From f7c243564f87d60df322ea9f62c1591920f8d32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 16 Apr 2014 21:49:29 +0200 Subject: Use git submodules for libs, fix compilation, remove library sourcecode --- libraries/spongycastle/core/build.gradle | 12 - .../src/main/j2me/java/io/FilterInputStream.java | 56 - .../src/main/j2me/java/io/FilterOutputStream.java | 39 - .../core/src/main/j2me/java/math/BigInteger.java | 3272 -- .../src/main/j2me/java/security/SecureRandom.java | 141 - .../main/j2me/java/util/AbstractCollection.java | 261 - .../core/src/main/j2me/java/util/AbstractList.java | 304 - .../core/src/main/j2me/java/util/AbstractMap.java | 173 - .../core/src/main/j2me/java/util/AbstractSet.java | 46 - .../core/src/main/j2me/java/util/ArrayList.java | 107 - .../core/src/main/j2me/java/util/Arrays.java | 118 - .../core/src/main/j2me/java/util/Collection.java | 21 - .../core/src/main/j2me/java/util/Collections.java | 365 - .../core/src/main/j2me/java/util/HashMap.java | 279 - .../core/src/main/j2me/java/util/HashSet.java | 71 - .../core/src/main/j2me/java/util/Iterator.java | 9 - .../core/src/main/j2me/java/util/List.java | 32 - .../core/src/main/j2me/java/util/ListIterator.java | 20 - .../core/src/main/j2me/java/util/Map.java | 54 - .../core/src/main/j2me/java/util/Set.java | 38 - .../src/main/j2me/java/util/StringTokenizer.java | 115 - .../core/src/main/j2me/java/util/Sublist.java | 142 - .../org/spongycastle/asn1/ASN1GeneralizedTime.java | 27 - .../j2me/org/spongycastle/asn1/ASN1UTCTime.java | 22 - .../j2me/org/spongycastle/asn1/DERFactory.java | 31 - .../org/spongycastle/asn1/DERGeneralizedTime.java | 260 - .../j2me/org/spongycastle/asn1/DERUTCTime.java | 259 - .../j2me/org/spongycastle/asn1/DateFormatter.java | 272 - .../j2me/org/spongycastle/asn1/StreamUtil.java | 88 - .../main/j2me/org/spongycastle/asn1/cms/Time.java | 122 - .../j2me/org/spongycastle/asn1/eac/PackedDate.java | 70 - .../main/j2me/org/spongycastle/asn1/x509/Time.java | 122 - .../crypto/encodings/PKCS1Encoding.java | 238 - .../org/spongycastle/crypto/examples/MIDPTest.java | 177 - .../org/spongycastle/crypto/examples/midp_test.jad | 6 - .../org/spongycastle/crypto/examples/midp_test.mf | 7 - .../crypto/params/SkeinParameters.java | 258 - .../spongycastle/crypto/tls/OCSPStatusRequest.java | 131 - .../spongycastle/crypto/tls/ServerNameList.java | 86 - .../org/spongycastle/crypto/tls/UDPTransport.java | 107 - .../j2me/org/spongycastle/math/ec/LongArray.java | 1997 - .../main/j2me/org/spongycastle/util/Integers.java | 9 - .../main/j2me/org/spongycastle/util/Selector.java | 8 - .../main/j2me/org/spongycastle/util/Shorts.java | 9 - .../org/spongycastle/util/test/SimpleTest.java | 84 - .../src/main/java/org/spongycastle/LICENSE.java | 63 - .../asn1/ASN1ApplicationSpecificParser.java | 10 - .../java/org/spongycastle/asn1/ASN1Boolean.java | 15 - .../java/org/spongycastle/asn1/ASN1Choice.java | 14 - .../java/org/spongycastle/asn1/ASN1Encodable.java | 6 - .../org/spongycastle/asn1/ASN1EncodableVector.java | 36 - .../java/org/spongycastle/asn1/ASN1Encoding.java | 8 - .../java/org/spongycastle/asn1/ASN1Enumerated.java | 22 - .../java/org/spongycastle/asn1/ASN1Exception.java | 25 - .../org/spongycastle/asn1/ASN1GeneralizedTime.java | 22 - .../java/org/spongycastle/asn1/ASN1Generator.java | 15 - .../org/spongycastle/asn1/ASN1InputStream.java | 466 - .../java/org/spongycastle/asn1/ASN1Integer.java | 22 - .../main/java/org/spongycastle/asn1/ASN1Null.java | 67 - .../java/org/spongycastle/asn1/ASN1Object.java | 97 - .../spongycastle/asn1/ASN1ObjectIdentifier.java | 42 - .../org/spongycastle/asn1/ASN1OctetString.java | 146 - .../spongycastle/asn1/ASN1OctetStringParser.java | 9 - .../org/spongycastle/asn1/ASN1OutputStream.java | 194 - .../spongycastle/asn1/ASN1ParsingException.java | 23 - .../java/org/spongycastle/asn1/ASN1Primitive.java | 69 - .../java/org/spongycastle/asn1/ASN1Sequence.java | 323 - .../org/spongycastle/asn1/ASN1SequenceParser.java | 10 - .../main/java/org/spongycastle/asn1/ASN1Set.java | 460 - .../java/org/spongycastle/asn1/ASN1SetParser.java | 10 - .../org/spongycastle/asn1/ASN1StreamParser.java | 247 - .../java/org/spongycastle/asn1/ASN1String.java | 6 - .../org/spongycastle/asn1/ASN1TaggedObject.java | 236 - .../spongycastle/asn1/ASN1TaggedObjectParser.java | 12 - .../java/org/spongycastle/asn1/ASN1UTCTime.java | 22 - .../spongycastle/asn1/BERApplicationSpecific.java | 10 - .../asn1/BERApplicationSpecificParser.java | 41 - .../asn1/BERConstructedOctetString.java | 144 - .../java/org/spongycastle/asn1/BERFactory.java | 17 - .../java/org/spongycastle/asn1/BERGenerator.java | 100 - .../java/org/spongycastle/asn1/BEROctetString.java | 168 - .../spongycastle/asn1/BEROctetStringGenerator.java | 102 - .../spongycastle/asn1/BEROctetStringParser.java | 41 - .../org/spongycastle/asn1/BEROutputStream.java | 36 - .../java/org/spongycastle/asn1/BERSequence.java | 73 - .../spongycastle/asn1/BERSequenceGenerator.java | 41 - .../org/spongycastle/asn1/BERSequenceParser.java | 38 - .../main/java/org/spongycastle/asn1/BERSet.java | 73 - .../java/org/spongycastle/asn1/BERSetParser.java | 38 - .../org/spongycastle/asn1/BERTaggedObject.java | 147 - .../spongycastle/asn1/BERTaggedObjectParser.java | 66 - .../main/java/org/spongycastle/asn1/BERTags.java | 36 - .../spongycastle/asn1/ConstructedOctetStream.java | 111 - .../spongycastle/asn1/DERApplicationSpecific.java | 276 - .../java/org/spongycastle/asn1/DERBMPString.java | 153 - .../java/org/spongycastle/asn1/DERBitString.java | 313 - .../java/org/spongycastle/asn1/DERBoolean.java | 179 - .../org/spongycastle/asn1/DEREncodableVector.java | 18 - .../java/org/spongycastle/asn1/DEREnumerated.java | 170 - .../java/org/spongycastle/asn1/DERExternal.java | 294 - .../org/spongycastle/asn1/DERExternalParser.java | 52 - .../java/org/spongycastle/asn1/DERFactory.java | 17 - .../org/spongycastle/asn1/DERGeneralString.java | 110 - .../org/spongycastle/asn1/DERGeneralizedTime.java | 350 - .../java/org/spongycastle/asn1/DERGenerator.java | 119 - .../java/org/spongycastle/asn1/DERIA5String.java | 183 - .../java/org/spongycastle/asn1/DERInteger.java | 160 - .../main/java/org/spongycastle/asn1/DERNull.java | 38 - .../org/spongycastle/asn1/DERNumericString.java | 186 - .../org/spongycastle/asn1/DERObjectIdentifier.java | 446 - .../java/org/spongycastle/asn1/DEROctetString.java | 48 - .../spongycastle/asn1/DEROctetStringParser.java | 39 - .../org/spongycastle/asn1/DEROutputStream.java | 41 - .../org/spongycastle/asn1/DERPrintableString.java | 213 - .../java/org/spongycastle/asn1/DERSequence.java | 98 - .../spongycastle/asn1/DERSequenceGenerator.java | 45 - .../org/spongycastle/asn1/DERSequenceParser.java | 38 - .../main/java/org/spongycastle/asn1/DERSet.java | 108 - .../java/org/spongycastle/asn1/DERSetParser.java | 38 - .../java/org/spongycastle/asn1/DERT61String.java | 144 - .../org/spongycastle/asn1/DERT61UTF8String.java | 151 - .../org/spongycastle/asn1/DERTaggedObject.java | 118 - .../main/java/org/spongycastle/asn1/DERTags.java | 9 - .../java/org/spongycastle/asn1/DERUTCTime.java | 278 - .../java/org/spongycastle/asn1/DERUTF8String.java | 132 - .../org/spongycastle/asn1/DERUniversalString.java | 148 - .../org/spongycastle/asn1/DERVisibleString.java | 135 - .../java/org/spongycastle/asn1/DLOutputStream.java | 31 - .../java/org/spongycastle/asn1/DLSequence.java | 101 - .../src/main/java/org/spongycastle/asn1/DLSet.java | 146 - .../java/org/spongycastle/asn1/DLTaggedObject.java | 112 - .../asn1/DefiniteLengthInputStream.java | 105 - .../spongycastle/asn1/InMemoryRepresentable.java | 9 - .../asn1/IndefiniteLengthInputStream.java | 111 - .../asn1/LazyConstructionEnumeration.java | 43 - .../org/spongycastle/asn1/LazyEncodedSequence.java | 109 - .../org/spongycastle/asn1/LimitedInputStream.java | 32 - .../java/org/spongycastle/asn1/OIDTokenizer.java | 48 - .../java/org/spongycastle/asn1/StreamUtil.java | 114 - .../spongycastle/asn1/bc/BCObjectIdentifiers.java | 71 - .../spongycastle/asn1/cmp/CAKeyUpdAnnContent.java | 80 - .../org/spongycastle/asn1/cmp/CMPCertificate.java | 92 - .../asn1/cmp/CMPObjectIdentifiers.java | 141 - .../org/spongycastle/asn1/cmp/CRLAnnContent.java | 61 - .../spongycastle/asn1/cmp/CertConfirmContent.java | 54 - .../org/spongycastle/asn1/cmp/CertOrEncCert.java | 96 - .../org/spongycastle/asn1/cmp/CertRepMessage.java | 123 - .../org/spongycastle/asn1/cmp/CertResponse.java | 139 - .../java/org/spongycastle/asn1/cmp/CertStatus.java | 102 - .../spongycastle/asn1/cmp/CertifiedKeyPair.java | 127 - .../java/org/spongycastle/asn1/cmp/Challenge.java | 120 - .../org/spongycastle/asn1/cmp/ErrorMsgContent.java | 121 - .../org/spongycastle/asn1/cmp/GenMsgContent.java | 71 - .../org/spongycastle/asn1/cmp/GenRepContent.java | 71 - .../spongycastle/asn1/cmp/InfoTypeAndValue.java | 132 - .../spongycastle/asn1/cmp/KeyRecRepContent.java | 142 - .../org/spongycastle/asn1/cmp/OOBCertHash.java | 117 - .../org/spongycastle/asn1/cmp/PBMParameter.java | 117 - .../java/org/spongycastle/asn1/cmp/PKIBody.java | 194 - .../spongycastle/asn1/cmp/PKIConfirmContent.java | 48 - .../org/spongycastle/asn1/cmp/PKIFailureInfo.java | 126 - .../org/spongycastle/asn1/cmp/PKIFreeText.java | 115 - .../java/org/spongycastle/asn1/cmp/PKIHeader.java | 260 - .../spongycastle/asn1/cmp/PKIHeaderBuilder.java | 254 - .../java/org/spongycastle/asn1/cmp/PKIMessage.java | 166 - .../org/spongycastle/asn1/cmp/PKIMessages.java | 71 - .../java/org/spongycastle/asn1/cmp/PKIStatus.java | 64 - .../org/spongycastle/asn1/cmp/PKIStatusInfo.java | 165 - .../asn1/cmp/POPODecKeyChallContent.java | 54 - .../asn1/cmp/POPODecKeyRespContent.java | 55 - .../org/spongycastle/asn1/cmp/PollRepContent.java | 119 - .../org/spongycastle/asn1/cmp/PollReqContent.java | 80 - .../org/spongycastle/asn1/cmp/ProtectedPart.java | 70 - .../org/spongycastle/asn1/cmp/RevAnnContent.java | 103 - .../java/org/spongycastle/asn1/cmp/RevDetails.java | 100 - .../org/spongycastle/asn1/cmp/RevRepContent.java | 137 - .../asn1/cmp/RevRepContentBuilder.java | 59 - .../org/spongycastle/asn1/cmp/RevReqContent.java | 73 - .../java/org/spongycastle/asn1/cms/Attribute.java | 122 - .../org/spongycastle/asn1/cms/AttributeTable.java | 257 - .../java/org/spongycastle/asn1/cms/Attributes.java | 85 - .../spongycastle/asn1/cms/AuthEnvelopedData.java | 248 - .../asn1/cms/AuthEnvelopedDataParser.java | 157 - .../spongycastle/asn1/cms/AuthenticatedData.java | 312 - .../asn1/cms/AuthenticatedDataParser.java | 206 - .../org/spongycastle/asn1/cms/CCMParameters.java | 102 - .../org/spongycastle/asn1/cms/CMSAttributes.java | 30 - .../asn1/cms/CMSObjectIdentifiers.java | 43 - .../org/spongycastle/asn1/cms/CompressedData.java | 117 - .../asn1/cms/CompressedDataParser.java | 49 - .../org/spongycastle/asn1/cms/ContentInfo.java | 130 - .../spongycastle/asn1/cms/ContentInfoParser.java | 48 - .../org/spongycastle/asn1/cms/DigestedData.java | 128 - .../asn1/cms/EncryptedContentInfo.java | 120 - .../asn1/cms/EncryptedContentInfoParser.java | 53 - .../org/spongycastle/asn1/cms/EncryptedData.java | 111 - .../org/spongycastle/asn1/cms/EnvelopedData.java | 215 - .../spongycastle/asn1/cms/EnvelopedDataParser.java | 120 - .../java/org/spongycastle/asn1/cms/Evidence.java | 80 - .../org/spongycastle/asn1/cms/GCMParameters.java | 102 - .../asn1/cms/IssuerAndSerialNumber.java | 138 - .../org/spongycastle/asn1/cms/KEKIdentifier.java | 151 - .../spongycastle/asn1/cms/KEKRecipientInfo.java | 133 - .../asn1/cms/KeyAgreeRecipientIdentifier.java | 116 - .../asn1/cms/KeyAgreeRecipientInfo.java | 166 - .../asn1/cms/KeyTransRecipientInfo.java | 127 - .../java/org/spongycastle/asn1/cms/MetaData.java | 135 - .../asn1/cms/OriginatorIdentifierOrKey.java | 179 - .../org/spongycastle/asn1/cms/OriginatorInfo.java | 159 - .../spongycastle/asn1/cms/OriginatorPublicKey.java | 114 - .../spongycastle/asn1/cms/OtherKeyAttribute.java | 96 - .../spongycastle/asn1/cms/OtherRecipientInfo.java | 112 - .../asn1/cms/OtherRevocationInfoFormat.java | 109 - .../asn1/cms/PasswordRecipientInfo.java | 157 - .../asn1/cms/RecipientEncryptedKey.java | 109 - .../spongycastle/asn1/cms/RecipientIdentifier.java | 111 - .../org/spongycastle/asn1/cms/RecipientInfo.java | 173 - .../asn1/cms/RecipientKeyIdentifier.java | 171 - .../java/org/spongycastle/asn1/cms/SCVPReqRes.java | 108 - .../java/org/spongycastle/asn1/cms/SignedData.java | 330 - .../spongycastle/asn1/cms/SignedDataParser.java | 141 - .../spongycastle/asn1/cms/SignerIdentifier.java | 114 - .../java/org/spongycastle/asn1/cms/SignerInfo.java | 282 - .../main/java/org/spongycastle/asn1/cms/Time.java | 162 - .../org/spongycastle/asn1/cms/TimeStampAndCRL.java | 96 - .../asn1/cms/TimeStampTokenEvidence.java | 98 - .../org/spongycastle/asn1/cms/TimeStampedData.java | 131 - .../asn1/cms/TimeStampedDataParser.java | 141 - .../asn1/cms/ecc/MQVuserKeyingMaterial.java | 122 - .../asn1/crmf/AttributeTypeAndValue.java | 80 - .../asn1/crmf/CRMFObjectIdentifiers.java | 29 - .../java/org/spongycastle/asn1/crmf/CertId.java | 84 - .../spongycastle/asn1/crmf/CertReqMessages.java | 74 - .../org/spongycastle/asn1/crmf/CertReqMsg.java | 145 - .../org/spongycastle/asn1/crmf/CertRequest.java | 97 - .../org/spongycastle/asn1/crmf/CertTemplate.java | 163 - .../asn1/crmf/CertTemplateBuilder.java | 152 - .../java/org/spongycastle/asn1/crmf/Controls.java | 72 - .../org/spongycastle/asn1/crmf/EncKeyWithID.java | 117 - .../org/spongycastle/asn1/crmf/EncryptedKey.java | 81 - .../org/spongycastle/asn1/crmf/EncryptedValue.java | 164 - .../spongycastle/asn1/crmf/OptionalValidity.java | 98 - .../spongycastle/asn1/crmf/PKIArchiveOptions.java | 116 - .../spongycastle/asn1/crmf/PKIPublicationInfo.java | 81 - .../org/spongycastle/asn1/crmf/PKMACValue.java | 104 - .../org/spongycastle/asn1/crmf/POPOPrivKey.java | 104 - .../org/spongycastle/asn1/crmf/POPOSigningKey.java | 127 - .../asn1/crmf/POPOSigningKeyInput.java | 134 - .../spongycastle/asn1/crmf/ProofOfPossession.java | 108 - .../org/spongycastle/asn1/crmf/SinglePubInfo.java | 72 - .../spongycastle/asn1/crmf/SubsequentMessage.java | 29 - .../asn1/cryptopro/CryptoProObjectIdentifiers.java | 101 - .../asn1/cryptopro/ECGOST3410NamedCurves.java | 167 - .../cryptopro/ECGOST3410ParamSetParameters.java | 99 - .../asn1/cryptopro/GOST28147Parameters.java | 98 - .../asn1/cryptopro/GOST3410NamedParameters.java | 116 - .../asn1/cryptopro/GOST3410ParamSetParameters.java | 105 - .../cryptopro/GOST3410PublicKeyAlgParameters.java | 104 - .../org/spongycastle/asn1/dvcs/CertEtcToken.java | 171 - .../org/spongycastle/asn1/dvcs/DVCSCertInfo.java | 302 - .../asn1/dvcs/DVCSCertInfoBuilder.java | 151 - .../spongycastle/asn1/dvcs/DVCSErrorNotice.java | 96 - .../asn1/dvcs/DVCSObjectIdentifiers.java | 29 - .../org/spongycastle/asn1/dvcs/DVCSRequest.java | 107 - .../asn1/dvcs/DVCSRequestInformation.java | 271 - .../asn1/dvcs/DVCSRequestInformationBuilder.java | 224 - .../org/spongycastle/asn1/dvcs/DVCSResponse.java | 117 - .../java/org/spongycastle/asn1/dvcs/DVCSTime.java | 111 - .../main/java/org/spongycastle/asn1/dvcs/Data.java | 149 - .../org/spongycastle/asn1/dvcs/PathProcInput.java | 180 - .../org/spongycastle/asn1/dvcs/ServiceType.java | 92 - .../org/spongycastle/asn1/dvcs/TargetEtcChain.java | 191 - .../spongycastle/asn1/eac/BidirectionalMap.java | 23 - .../org/spongycastle/asn1/eac/CVCertificate.java | 317 - .../asn1/eac/CVCertificateRequest.java | 170 - .../org/spongycastle/asn1/eac/CertificateBody.java | 475 - .../asn1/eac/CertificateHolderAuthorization.java | 185 - .../asn1/eac/CertificateHolderReference.java | 66 - .../asn1/eac/CertificationAuthorityReference.java | 15 - .../asn1/eac/EACObjectIdentifiers.java | 110 - .../java/org/spongycastle/asn1/eac/EACTags.java | 209 - .../org/spongycastle/asn1/eac/ECDSAPublicKey.java | 341 - .../main/java/org/spongycastle/asn1/eac/Flags.java | 96 - .../java/org/spongycastle/asn1/eac/PackedDate.java | 103 - .../spongycastle/asn1/eac/PublicKeyDataObject.java | 35 - .../org/spongycastle/asn1/eac/RSAPublicKey.java | 121 - .../org/spongycastle/asn1/eac/UnsignedInteger.java | 74 - .../asn1/esf/CommitmentTypeIdentifier.java | 14 - .../asn1/esf/CommitmentTypeIndication.java | 83 - .../asn1/esf/CommitmentTypeQualifier.java | 108 - .../asn1/esf/CompleteRevocationRefs.java | 65 - .../org/spongycastle/asn1/esf/CrlIdentifier.java | 106 - .../java/org/spongycastle/asn1/esf/CrlListID.java | 66 - .../java/org/spongycastle/asn1/esf/CrlOcspRef.java | 106 - .../org/spongycastle/asn1/esf/CrlValidatedID.java | 82 - .../org/spongycastle/asn1/esf/ESFAttributes.java | 22 - .../org/spongycastle/asn1/esf/OcspIdentifier.java | 73 - .../java/org/spongycastle/asn1/esf/OcspListID.java | 72 - .../org/spongycastle/asn1/esf/OcspResponsesID.java | 83 - .../java/org/spongycastle/asn1/esf/OtherHash.java | 81 - .../asn1/esf/OtherHashAlgAndValue.java | 81 - .../org/spongycastle/asn1/esf/OtherRevRefs.java | 87 - .../org/spongycastle/asn1/esf/OtherRevVals.java | 89 - .../spongycastle/asn1/esf/RevocationValues.java | 151 - .../org/spongycastle/asn1/esf/SPUserNotice.java | 99 - .../main/java/org/spongycastle/asn1/esf/SPuri.java | 45 - .../asn1/esf/SigPolicyQualifierInfo.java | 75 - .../spongycastle/asn1/esf/SigPolicyQualifiers.java | 77 - .../spongycastle/asn1/esf/SignaturePolicyId.java | 103 - .../asn1/esf/SignaturePolicyIdentifier.java | 76 - .../org/spongycastle/asn1/esf/SignerAttribute.java | 123 - .../org/spongycastle/asn1/esf/SignerLocation.java | 162 - .../org/spongycastle/asn1/ess/ContentHints.java | 114 - .../spongycastle/asn1/ess/ContentIdentifier.java | 63 - .../java/org/spongycastle/asn1/ess/ESSCertID.java | 95 - .../org/spongycastle/asn1/ess/ESSCertIDv2.java | 155 - .../org/spongycastle/asn1/ess/OtherCertID.java | 137 - .../asn1/ess/OtherSigningCertificate.java | 109 - .../spongycastle/asn1/ess/SigningCertificate.java | 109 - .../asn1/ess/SigningCertificateV2.java | 136 - .../asn1/gnu/GNUObjectIdentifiers.java | 58 - .../asn1/iana/IANAObjectIdentifiers.java | 60 - .../org/spongycastle/asn1/icao/CscaMasterList.java | 114 - .../org/spongycastle/asn1/icao/DataGroupHash.java | 97 - .../asn1/icao/ICAOObjectIdentifiers.java | 49 - .../spongycastle/asn1/icao/LDSSecurityObject.java | 159 - .../org/spongycastle/asn1/icao/LDSVersionInfo.java | 75 - .../asn1/isismtt/ISISMTTObjectIdentifiers.java | 210 - .../spongycastle/asn1/isismtt/ocsp/CertHash.java | 124 - .../asn1/isismtt/ocsp/RequestedCertificate.java | 183 - .../isismtt/x509/AdditionalInformationSyntax.java | 70 - .../asn1/isismtt/x509/AdmissionSyntax.java | 280 - .../spongycastle/asn1/isismtt/x509/Admissions.java | 189 - .../asn1/isismtt/x509/DeclarationOfMajority.java | 164 - .../asn1/isismtt/x509/MonetaryLimit.java | 131 - .../asn1/isismtt/x509/NamingAuthority.java | 244 - .../asn1/isismtt/x509/ProcurationSyntax.java | 240 - .../asn1/isismtt/x509/ProfessionInfo.java | 408 - .../asn1/isismtt/x509/Restriction.java | 81 - .../asn1/kisa/KISAObjectIdentifiers.java | 31 - .../asn1/microsoft/MicrosoftObjectIdentifiers.java | 28 - .../spongycastle/asn1/misc/CAST5CBCParameters.java | 78 - .../org/spongycastle/asn1/misc/IDEACBCPar.java | 81 - .../asn1/misc/MiscObjectIdentifiers.java | 59 - .../spongycastle/asn1/misc/NetscapeCertType.java | 54 - .../asn1/misc/NetscapeRevocationURL.java | 18 - .../asn1/misc/VerisignCzagExtension.java | 18 - .../asn1/mozilla/PublicKeyAndChallenge.java | 63 - .../spongycastle/asn1/nist/NISTNamedCurves.java | 99 - .../asn1/nist/NISTObjectIdentifiers.java | 96 - .../asn1/ntt/NTTObjectIdentifiers.java | 25 - .../spongycastle/asn1/ocsp/BasicOCSPResponse.java | 112 - .../java/org/spongycastle/asn1/ocsp/CertID.java | 105 - .../org/spongycastle/asn1/ocsp/CertStatus.java | 105 - .../java/org/spongycastle/asn1/ocsp/CrlID.java | 111 - .../asn1/ocsp/OCSPObjectIdentifiers.java | 29 - .../org/spongycastle/asn1/ocsp/OCSPRequest.java | 90 - .../org/spongycastle/asn1/ocsp/OCSPResponse.java | 90 - .../spongycastle/asn1/ocsp/OCSPResponseStatus.java | 71 - .../java/org/spongycastle/asn1/ocsp/Request.java | 91 - .../org/spongycastle/asn1/ocsp/ResponderID.java | 104 - .../org/spongycastle/asn1/ocsp/ResponseBytes.java | 82 - .../org/spongycastle/asn1/ocsp/ResponseData.java | 182 - .../org/spongycastle/asn1/ocsp/RevokedInfo.java | 92 - .../org/spongycastle/asn1/ocsp/ServiceLocator.java | 36 - .../java/org/spongycastle/asn1/ocsp/Signature.java | 111 - .../org/spongycastle/asn1/ocsp/SingleResponse.java | 181 - .../org/spongycastle/asn1/ocsp/TBSRequest.java | 172 - .../spongycastle/asn1/oiw/ElGamalParameter.java | 54 - .../asn1/oiw/OIWObjectIdentifiers.java | 50 - .../java/org/spongycastle/asn1/pkcs/Attribute.java | 88 - .../spongycastle/asn1/pkcs/AuthenticatedSafe.java | 74 - .../java/org/spongycastle/asn1/pkcs/CRLBag.java | 82 - .../java/org/spongycastle/asn1/pkcs/CertBag.java | 66 - .../asn1/pkcs/CertificationRequest.java | 91 - .../asn1/pkcs/CertificationRequestInfo.java | 164 - .../org/spongycastle/asn1/pkcs/ContentInfo.java | 102 - .../org/spongycastle/asn1/pkcs/DHParameter.java | 104 - .../org/spongycastle/asn1/pkcs/EncryptedData.java | 115 - .../asn1/pkcs/EncryptedPrivateKeyInfo.java | 86 - .../spongycastle/asn1/pkcs/EncryptionScheme.java | 56 - .../asn1/pkcs/IssuerAndSerialNumber.java | 85 - .../spongycastle/asn1/pkcs/KeyDerivationFunc.java | 56 - .../java/org/spongycastle/asn1/pkcs/MacData.java | 106 - .../org/spongycastle/asn1/pkcs/PBEParameter.java | 73 - .../spongycastle/asn1/pkcs/PBES2Algorithms.java | 77 - .../spongycastle/asn1/pkcs/PBES2Parameters.java | 77 - .../org/spongycastle/asn1/pkcs/PBKDF2Params.java | 248 - .../spongycastle/asn1/pkcs/PKCS12PBEParams.java | 69 - .../asn1/pkcs/PKCSObjectIdentifiers.java | 390 - .../main/java/org/spongycastle/asn1/pkcs/Pfx.java | 87 - .../org/spongycastle/asn1/pkcs/PrivateKeyInfo.java | 164 - .../spongycastle/asn1/pkcs/RC2CBCParameter.java | 93 - .../spongycastle/asn1/pkcs/RSAESOAEPparams.java | 155 - .../org/spongycastle/asn1/pkcs/RSAPrivateKey.java | 187 - .../asn1/pkcs/RSAPrivateKeyStructure.java | 189 - .../org/spongycastle/asn1/pkcs/RSAPublicKey.java | 95 - .../spongycastle/asn1/pkcs/RSASSAPSSparams.java | 172 - .../java/org/spongycastle/asn1/pkcs/SafeBag.java | 96 - .../org/spongycastle/asn1/pkcs/SignedData.java | 167 - .../org/spongycastle/asn1/pkcs/SignerInfo.java | 178 - .../org/spongycastle/asn1/sec/ECPrivateKey.java | 143 - .../asn1/sec/ECPrivateKeyStructure.java | 128 - .../org/spongycastle/asn1/sec/SECNamedCurves.java | 1045 - .../asn1/sec/SECObjectIdentifiers.java | 87 - .../spongycastle/asn1/smime/SMIMEAttributes.java | 10 - .../spongycastle/asn1/smime/SMIMECapabilities.java | 115 - .../asn1/smime/SMIMECapabilitiesAttribute.java | 16 - .../spongycastle/asn1/smime/SMIMECapability.java | 103 - .../asn1/smime/SMIMECapabilityVector.java | 50 - .../SMIMEEncryptionKeyPreferenceAttribute.java | 48 - .../asn1/teletrust/TeleTrusTNamedCurves.java | 356 - .../asn1/teletrust/TeleTrusTObjectIdentifiers.java | 75 - .../java/org/spongycastle/asn1/tsp/Accuracy.java | 173 - .../org/spongycastle/asn1/tsp/MessageImprint.java | 78 - .../java/org/spongycastle/asn1/tsp/TSTInfo.java | 233 - .../org/spongycastle/asn1/tsp/TimeStampReq.java | 179 - .../org/spongycastle/asn1/tsp/TimeStampResp.java | 84 - .../spongycastle/asn1/ua/DSTU4145BinaryField.java | 119 - .../org/spongycastle/asn1/ua/DSTU4145ECBinary.java | 144 - .../spongycastle/asn1/ua/DSTU4145NamedCurves.java | 94 - .../org/spongycastle/asn1/ua/DSTU4145Params.java | 121 - .../spongycastle/asn1/ua/DSTU4145PointEncoder.java | 156 - .../spongycastle/asn1/ua/DSTU4145PublicKey.java | 46 - .../spongycastle/asn1/ua/UAObjectIdentifiers.java | 23 - .../java/org/spongycastle/asn1/util/ASN1Dump.java | 404 - .../java/org/spongycastle/asn1/util/DERDump.java | 41 - .../main/java/org/spongycastle/asn1/util/Dump.java | 22 - .../asn1/x500/AttributeTypeAndValue.java | 72 - .../spongycastle/asn1/x500/DirectoryString.java | 125 - .../main/java/org/spongycastle/asn1/x500/RDN.java | 119 - .../java/org/spongycastle/asn1/x500/X500Name.java | 326 - .../spongycastle/asn1/x500/X500NameBuilder.java | 87 - .../org/spongycastle/asn1/x500/X500NameStyle.java | 79 - .../asn1/x500/style/BCStrictStyle.java | 36 - .../org/spongycastle/asn1/x500/style/BCStyle.java | 481 - .../spongycastle/asn1/x500/style/IETFUtils.java | 572 - .../spongycastle/asn1/x500/style/RFC4519Style.java | 380 - .../asn1/x500/style/X500NameTokenizer.java | 90 - .../spongycastle/asn1/x509/AccessDescription.java | 98 - .../asn1/x509/AlgorithmIdentifier.java | 173 - .../org/spongycastle/asn1/x509/AttCertIssuer.java | 91 - .../asn1/x509/AttCertValidityPeriod.java | 84 - .../java/org/spongycastle/asn1/x509/Attribute.java | 93 - .../asn1/x509/AttributeCertificate.java | 97 - .../asn1/x509/AttributeCertificateInfo.java | 180 - .../asn1/x509/AuthorityInformationAccess.java | 101 - .../asn1/x509/AuthorityKeyIdentifier.java | 232 - .../spongycastle/asn1/x509/BasicConstraints.java | 164 - .../org/spongycastle/asn1/x509/CRLDistPoint.java | 100 - .../java/org/spongycastle/asn1/x509/CRLNumber.java | 54 - .../java/org/spongycastle/asn1/x509/CRLReason.java | 151 - .../org/spongycastle/asn1/x509/CertPolicyId.java | 57 - .../org/spongycastle/asn1/x509/Certificate.java | 131 - .../spongycastle/asn1/x509/CertificateList.java | 144 - .../spongycastle/asn1/x509/CertificatePair.java | 169 - .../asn1/x509/CertificatePolicies.java | 124 - .../org/spongycastle/asn1/x509/DSAParameter.java | 92 - .../org/spongycastle/asn1/x509/DigestInfo.java | 86 - .../org/spongycastle/asn1/x509/DisplayText.java | 165 - .../spongycastle/asn1/x509/DistributionPoint.java | 158 - .../asn1/x509/DistributionPointName.java | 138 - .../spongycastle/asn1/x509/ExtendedKeyUsage.java | 192 - .../java/org/spongycastle/asn1/x509/Extension.java | 321 - .../org/spongycastle/asn1/x509/Extensions.java | 221 - .../asn1/x509/ExtensionsGenerator.java | 94 - .../org/spongycastle/asn1/x509/GeneralName.java | 439 - .../org/spongycastle/asn1/x509/GeneralNames.java | 108 - .../asn1/x509/GeneralNamesBuilder.java | 39 - .../org/spongycastle/asn1/x509/GeneralSubtree.java | 218 - .../java/org/spongycastle/asn1/x509/Holder.java | 245 - .../org/spongycastle/asn1/x509/IetfAttrSyntax.java | 189 - .../org/spongycastle/asn1/x509/IssuerSerial.java | 123 - .../asn1/x509/IssuingDistributionPoint.java | 274 - .../org/spongycastle/asn1/x509/KeyPurposeId.java | 157 - .../java/org/spongycastle/asn1/x509/KeyUsage.java | 113 - .../spongycastle/asn1/x509/NameConstraints.java | 118 - .../spongycastle/asn1/x509/NoticeReference.java | 170 - .../spongycastle/asn1/x509/ObjectDigestInfo.java | 190 - .../spongycastle/asn1/x509/PolicyConstraints.java | 106 - .../spongycastle/asn1/x509/PolicyInformation.java | 87 - .../org/spongycastle/asn1/x509/PolicyMappings.java | 107 - .../spongycastle/asn1/x509/PolicyQualifierId.java | 31 - .../asn1/x509/PolicyQualifierInfo.java | 115 - .../asn1/x509/PrivateKeyUsagePeriod.java | 84 - .../asn1/x509/RSAPublicKeyStructure.java | 98 - .../org/spongycastle/asn1/x509/ReasonFlags.java | 85 - .../org/spongycastle/asn1/x509/RoleSyntax.java | 237 - .../asn1/x509/SubjectDirectoryAttributes.java | 144 - .../asn1/x509/SubjectKeyIdentifier.java | 135 - .../asn1/x509/SubjectPublicKeyInfo.java | 156 - .../org/spongycastle/asn1/x509/TBSCertList.java | 309 - .../org/spongycastle/asn1/x509/TBSCertificate.java | 192 - .../asn1/x509/TBSCertificateStructure.java | 194 - .../java/org/spongycastle/asn1/x509/Target.java | 138 - .../spongycastle/asn1/x509/TargetInformation.java | 120 - .../java/org/spongycastle/asn1/x509/Targets.java | 121 - .../main/java/org/spongycastle/asn1/x509/Time.java | 133 - .../org/spongycastle/asn1/x509/UserNotice.java | 132 - .../asn1/x509/V1TBSCertificateGenerator.java | 144 - .../x509/V2AttributeCertificateInfoGenerator.java | 158 - .../java/org/spongycastle/asn1/x509/V2Form.java | 157 - .../asn1/x509/V2TBSCertListGenerator.java | 281 - .../asn1/x509/V3TBSCertificateGenerator.java | 212 - .../asn1/x509/X509AttributeIdentifiers.java | 29 - .../asn1/x509/X509CertificateStructure.java | 129 - .../asn1/x509/X509DefaultEntryConverter.java | 65 - .../org/spongycastle/asn1/x509/X509Extension.java | 249 - .../org/spongycastle/asn1/x509/X509Extensions.java | 489 - .../asn1/x509/X509ExtensionsGenerator.java | 117 - .../java/org/spongycastle/asn1/x509/X509Name.java | 1379 - .../asn1/x509/X509NameEntryConverter.java | 113 - .../spongycastle/asn1/x509/X509NameTokenizer.java | 91 - .../asn1/x509/X509ObjectIdentifiers.java | 81 - .../asn1/x509/qualified/BiometricData.java | 122 - .../x509/qualified/ETSIQCObjectIdentifiers.java | 11 - .../asn1/x509/qualified/Iso4217CurrencyCode.java | 93 - .../asn1/x509/qualified/MonetaryValue.java | 92 - .../asn1/x509/qualified/QCStatement.java | 95 - .../x509/qualified/RFC3739QCObjectIdentifiers.java | 11 - .../asn1/x509/qualified/SemanticsInformation.java | 131 - .../asn1/x509/qualified/TypeOfBiometricData.java | 90 - .../asn1/x509/sigi/NameOrPseudonym.java | 191 - .../spongycastle/asn1/x509/sigi/PersonalData.java | 214 - .../asn1/x509/sigi/SigIObjectIdentifiers.java | 60 - .../spongycastle/asn1/x9/DHDomainParameters.java | 139 - .../java/org/spongycastle/asn1/x9/DHPublicKey.java | 52 - .../spongycastle/asn1/x9/DHValidationParms.java | 80 - .../spongycastle/asn1/x9/ECNamedCurveTable.java | 99 - .../org/spongycastle/asn1/x9/KeySpecificInfo.java | 68 - .../java/org/spongycastle/asn1/x9/OtherInfo.java | 96 - .../org/spongycastle/asn1/x9/X962NamedCurves.java | 621 - .../org/spongycastle/asn1/x9/X962Parameters.java | 86 - .../java/org/spongycastle/asn1/x9/X9Curve.java | 161 - .../org/spongycastle/asn1/x9/X9ECParameters.java | 186 - .../spongycastle/asn1/x9/X9ECParametersHolder.java | 18 - .../java/org/spongycastle/asn1/x9/X9ECPoint.java | 48 - .../org/spongycastle/asn1/x9/X9FieldElement.java | 64 - .../java/org/spongycastle/asn1/x9/X9FieldID.java | 124 - .../spongycastle/asn1/x9/X9IntegerConverter.java | 47 - .../spongycastle/asn1/x9/X9ObjectIdentifiers.java | 207 - .../spongycastle/crypto/AsymmetricBlockCipher.java | 45 - .../crypto/AsymmetricCipherKeyPair.java | 61 - .../crypto/AsymmetricCipherKeyPairGenerator.java | 22 - .../org/spongycastle/crypto/BasicAgreement.java | 26 - .../java/org/spongycastle/crypto/BlockCipher.java | 56 - .../crypto/BufferedAsymmetricBlockCipher.java | 171 - .../spongycastle/crypto/BufferedBlockCipher.java | 313 - .../spongycastle/crypto/CipherKeyGenerator.java | 38 - .../org/spongycastle/crypto/CipherParameters.java | 8 - .../java/org/spongycastle/crypto/Commitment.java | 42 - .../java/org/spongycastle/crypto/Committer.java | 24 - .../org/spongycastle/crypto/CryptoException.java | 48 - .../src/main/java/org/spongycastle/crypto/DSA.java | 36 - .../spongycastle/crypto/DataLengthException.java | 29 - .../spongycastle/crypto/DerivationFunction.java | 12 - .../spongycastle/crypto/DerivationParameters.java | 8 - .../main/java/org/spongycastle/crypto/Digest.java | 51 - .../crypto/DigestDerivationFunction.java | 13 - .../org/spongycastle/crypto/EphemeralKeyPair.java | 23 - .../org/spongycastle/crypto/ExtendedDigest.java | 13 - .../crypto/InvalidCipherTextException.java | 40 - .../org/spongycastle/crypto/KeyEncapsulation.java | 22 - .../java/org/spongycastle/crypto/KeyEncoder.java | 8 - .../crypto/KeyGenerationParameters.java | 48 - .../java/org/spongycastle/crypto/KeyParser.java | 12 - .../src/main/java/org/spongycastle/crypto/Mac.java | 71 - .../spongycastle/crypto/MacDerivationFunction.java | 13 - .../crypto/MaxBytesExceededException.java | 27 - .../spongycastle/crypto/OutputLengthException.java | 10 - .../crypto/PBEParametersGenerator.java | 171 - .../crypto/RuntimeCryptoException.java | 26 - .../main/java/org/spongycastle/crypto/Signer.java | 43 - .../spongycastle/crypto/SignerWithRecovery.java | 34 - .../org/spongycastle/crypto/StreamBlockCipher.java | 108 - .../java/org/spongycastle/crypto/StreamCipher.java | 53 - .../main/java/org/spongycastle/crypto/Wrapper.java | 18 - .../spongycastle/crypto/agreement/DHAgreement.java | 94 - .../crypto/agreement/DHBasicAgreement.java | 71 - .../crypto/agreement/DHStandardGroups.java | 206 - .../crypto/agreement/ECDHBasicAgreement.java | 54 - .../crypto/agreement/ECDHCBasicAgreement.java | 64 - .../crypto/agreement/ECMQVBasicAgreement.java | 91 - .../crypto/agreement/jpake/JPAKEParticipant.java | 573 - .../agreement/jpake/JPAKEPrimeOrderGroup.java | 122 - .../agreement/jpake/JPAKEPrimeOrderGroups.java | 113 - .../crypto/agreement/jpake/JPAKERound1Payload.java | 99 - .../crypto/agreement/jpake/JPAKERound2Payload.java | 71 - .../crypto/agreement/jpake/JPAKERound3Payload.java | 52 - .../crypto/agreement/jpake/JPAKEUtil.java | 508 - .../crypto/agreement/kdf/DHKDFParameters.java | 54 - .../crypto/agreement/kdf/DHKEKGenerator.java | 131 - .../crypto/agreement/kdf/ECDHKEKGenerator.java | 74 - .../crypto/agreement/srp/SRP6Client.java | 93 - .../crypto/agreement/srp/SRP6Server.java | 90 - .../crypto/agreement/srp/SRP6Util.java | 91 - .../agreement/srp/SRP6VerifierGenerator.java | 47 - .../crypto/commitments/GeneralHashCommitter.java | 93 - .../crypto/commitments/HashCommitter.java | 89 - .../crypto/digests/GOST3411Digest.java | 362 - .../spongycastle/crypto/digests/GeneralDigest.java | 142 - .../spongycastle/crypto/digests/LongDigest.java | 361 - .../org/spongycastle/crypto/digests/MD2Digest.java | 258 - .../org/spongycastle/crypto/digests/MD4Digest.java | 291 - .../org/spongycastle/crypto/digests/MD5Digest.java | 323 - .../crypto/digests/NonMemoableDigest.java | 64 - .../spongycastle/crypto/digests/NullDigest.java | 48 - .../crypto/digests/RIPEMD128Digest.java | 482 - .../crypto/digests/RIPEMD160Digest.java | 443 - .../crypto/digests/RIPEMD256Digest.java | 497 - .../crypto/digests/RIPEMD320Digest.java | 481 - .../spongycastle/crypto/digests/SHA1Digest.java | 309 - .../spongycastle/crypto/digests/SHA224Digest.java | 311 - .../spongycastle/crypto/digests/SHA256Digest.java | 314 - .../spongycastle/crypto/digests/SHA384Digest.java | 99 - .../spongycastle/crypto/digests/SHA3Digest.java | 547 - .../spongycastle/crypto/digests/SHA512Digest.java | 102 - .../spongycastle/crypto/digests/SHA512tDigest.java | 205 - .../org/spongycastle/crypto/digests/SM3Digest.java | 333 - .../crypto/digests/ShortenedDigest.java | 80 - .../spongycastle/crypto/digests/SkeinDigest.java | 116 - .../spongycastle/crypto/digests/SkeinEngine.java | 817 - .../spongycastle/crypto/digests/TigerDigest.java | 879 - .../crypto/digests/WhirlpoolDigest.java | 409 - .../org/spongycastle/crypto/ec/ECDecryptor.java | 11 - .../spongycastle/crypto/ec/ECElGamalDecryptor.java | 48 - .../spongycastle/crypto/ec/ECElGamalEncryptor.java | 73 - .../org/spongycastle/crypto/ec/ECEncryptor.java | 11 - .../spongycastle/crypto/ec/ECFixedTransform.java | 71 - .../crypto/ec/ECNewPublicKeyTransform.java | 74 - .../crypto/ec/ECNewRandomnessTransform.java | 90 - .../java/org/spongycastle/crypto/ec/ECPair.java | 40 - .../crypto/ec/ECPairFactorTransform.java | 14 - .../spongycastle/crypto/ec/ECPairTransform.java | 10 - .../java/org/spongycastle/crypto/ec/ECUtil.java | 22 - .../crypto/encodings/ISO9796d1Encoding.java | 287 - .../crypto/encodings/OAEPEncoding.java | 357 - .../crypto/encodings/PKCS1Encoding.java | 257 - .../org/spongycastle/crypto/engines/AESEngine.java | 546 - .../spongycastle/crypto/engines/AESFastEngine.java | 875 - .../crypto/engines/AESLightEngine.java | 439 - .../spongycastle/crypto/engines/AESWrapEngine.java | 16 - .../crypto/engines/BlowfishEngine.java | 577 - .../spongycastle/crypto/engines/CAST5Engine.java | 831 - .../spongycastle/crypto/engines/CAST6Engine.java | 296 - .../crypto/engines/CamelliaEngine.java | 684 - .../crypto/engines/CamelliaLightEngine.java | 592 - .../crypto/engines/CamelliaWrapEngine.java | 15 - .../spongycastle/crypto/engines/ChaChaEngine.java | 186 - .../org/spongycastle/crypto/engines/DESEngine.java | 495 - .../spongycastle/crypto/engines/DESedeEngine.java | 127 - .../crypto/engines/DESedeWrapEngine.java | 348 - .../spongycastle/crypto/engines/ElGamalEngine.java | 217 - .../crypto/engines/GOST28147Engine.java | 372 - .../crypto/engines/Grain128Engine.java | 302 - .../spongycastle/crypto/engines/Grainv1Engine.java | 288 - .../spongycastle/crypto/engines/HC128Engine.java | 257 - .../spongycastle/crypto/engines/HC256Engine.java | 244 - .../spongycastle/crypto/engines/IDEAEngine.java | 367 - .../org/spongycastle/crypto/engines/IESEngine.java | 398 - .../spongycastle/crypto/engines/ISAACEngine.java | 219 - .../crypto/engines/NaccacheSternEngine.java | 437 - .../spongycastle/crypto/engines/NoekeonEngine.java | 263 - .../spongycastle/crypto/engines/NullEngine.java | 96 - .../org/spongycastle/crypto/engines/RC2Engine.java | 317 - .../spongycastle/crypto/engines/RC2WrapEngine.java | 383 - .../org/spongycastle/crypto/engines/RC4Engine.java | 144 - .../spongycastle/crypto/engines/RC532Engine.java | 287 - .../spongycastle/crypto/engines/RC564Engine.java | 288 - .../org/spongycastle/crypto/engines/RC6Engine.java | 363 - .../crypto/engines/RFC3211WrapEngine.java | 175 - .../crypto/engines/RFC3394WrapEngine.java | 177 - .../crypto/engines/RSABlindedEngine.java | 126 - .../crypto/engines/RSABlindingEngine.java | 137 - .../spongycastle/crypto/engines/RSACoreEngine.java | 203 - .../org/spongycastle/crypto/engines/RSAEngine.java | 78 - .../crypto/engines/RijndaelEngine.java | 725 - .../spongycastle/crypto/engines/SEEDEngine.java | 346 - .../crypto/engines/SEEDWrapEngine.java | 15 - .../spongycastle/crypto/engines/Salsa20Engine.java | 392 - .../spongycastle/crypto/engines/SerpentEngine.java | 783 - .../spongycastle/crypto/engines/Shacal2Engine.java | 201 - .../crypto/engines/SkipjackEngine.java | 260 - .../org/spongycastle/crypto/engines/TEAEngine.java | 184 - .../crypto/engines/ThreefishEngine.java | 1494 - .../spongycastle/crypto/engines/TwofishEngine.java | 680 - .../spongycastle/crypto/engines/VMPCEngine.java | 140 - .../crypto/engines/VMPCKSA3Engine.java | 45 - .../crypto/engines/XSalsa20Engine.java | 65 - .../spongycastle/crypto/engines/XTEAEngine.java | 188 - .../spongycastle/crypto/examples/DESExample.java | 419 - .../spongycastle/crypto/examples/JPAKEExample.java | 214 - .../crypto/generators/BaseKDFBytesGenerator.java | 143 - .../crypto/generators/DESKeyGenerator.java | 48 - .../crypto/generators/DESedeKeyGenerator.java | 56 - .../crypto/generators/DHBasicKeyPairGenerator.java | 42 - .../crypto/generators/DHKeyGeneratorHelper.java | 51 - .../crypto/generators/DHKeyPairGenerator.java | 42 - .../crypto/generators/DHParametersGenerator.java | 52 - .../crypto/generators/DHParametersHelper.java | 73 - .../crypto/generators/DSAKeyPairGenerator.java | 61 - .../crypto/generators/DSAParametersGenerator.java | 387 - .../generators/DSTU4145KeyPairGenerator.java | 21 - .../crypto/generators/ECKeyPairGenerator.java | 58 - .../crypto/generators/ElGamalKeyPairGenerator.java | 44 - .../generators/ElGamalParametersGenerator.java | 43 - .../generators/EphemeralKeyPairGenerator.java | 26 - .../generators/GOST3410KeyPairGenerator.java | 57 - .../generators/GOST3410ParametersGenerator.java | 541 - .../crypto/generators/HKDFBytesGenerator.java | 161 - .../crypto/generators/KDF1BytesGenerator.java | 23 - .../crypto/generators/KDF2BytesGenerator.java | 24 - .../generators/KDFCounterBytesGenerator.java | 152 - .../KDFDoublePipelineIterationBytesGenerator.java | 181 - .../generators/KDFFeedbackBytesGenerator.java | 175 - .../crypto/generators/MGF1BytesGenerator.java | 114 - .../generators/NaccacheSternKeyPairGenerator.java | 365 - .../generators/OpenSSLPBEParametersGenerator.java | 131 - .../generators/PKCS12ParametersGenerator.java | 220 - .../generators/PKCS5S1ParametersGenerator.java | 119 - .../generators/PKCS5S2ParametersGenerator.java | 153 - .../crypto/generators/Poly1305KeyGenerator.java | 117 - .../generators/RSABlindingFactorGenerator.java | 77 - .../crypto/generators/RSAKeyPairGenerator.java | 147 - .../org/spongycastle/crypto/generators/SCrypt.java | 147 - .../spongycastle/crypto/io/CipherInputStream.java | 301 - .../spongycastle/crypto/io/CipherOutputStream.java | 266 - .../spongycastle/crypto/io/DigestInputStream.java | 52 - .../spongycastle/crypto/io/DigestOutputStream.java | 42 - .../crypto/io/InvalidCipherTextIOException.java | 28 - .../org/spongycastle/crypto/io/MacInputStream.java | 52 - .../spongycastle/crypto/io/MacOutputStream.java | 42 - .../spongycastle/crypto/io/SignerInputStream.java | 52 - .../spongycastle/crypto/io/SignerOutputStream.java | 38 - .../crypto/kems/ECIESKeyEncapsulation.java | 255 - .../crypto/kems/RSAKeyEncapsulation.java | 164 - .../spongycastle/crypto/macs/BlockCipherMac.java | 174 - .../crypto/macs/CBCBlockCipherMac.java | 229 - .../crypto/macs/CFBBlockCipherMac.java | 388 - .../java/org/spongycastle/crypto/macs/CMac.java | 254 - .../java/org/spongycastle/crypto/macs/GMac.java | 114 - .../org/spongycastle/crypto/macs/GOST28147Mac.java | 298 - .../java/org/spongycastle/crypto/macs/HMac.java | 231 - .../spongycastle/crypto/macs/ISO9797Alg3Mac.java | 305 - .../java/org/spongycastle/crypto/macs/OldHMac.java | 138 - .../org/spongycastle/crypto/macs/Poly1305.java | 279 - .../java/org/spongycastle/crypto/macs/SipHash.java | 192 - .../org/spongycastle/crypto/macs/SkeinMac.java | 119 - .../java/org/spongycastle/crypto/macs/VMPCMac.java | 186 - .../spongycastle/crypto/modes/AEADBlockCipher.java | 126 - .../spongycastle/crypto/modes/CBCBlockCipher.java | 253 - .../spongycastle/crypto/modes/CCMBlockCipher.java | 452 - .../spongycastle/crypto/modes/CFBBlockCipher.java | 269 - .../spongycastle/crypto/modes/CTSBlockCipher.java | 287 - .../spongycastle/crypto/modes/EAXBlockCipher.java | 370 - .../spongycastle/crypto/modes/GCFBBlockCipher.java | 109 - .../spongycastle/crypto/modes/GCMBlockCipher.java | 574 - .../spongycastle/crypto/modes/GOFBBlockCipher.java | 237 - .../spongycastle/crypto/modes/OCBBlockCipher.java | 565 - .../spongycastle/crypto/modes/OFBBlockCipher.java | 187 - .../crypto/modes/OldCTSBlockCipher.java | 269 - .../crypto/modes/OpenPGPCFBBlockCipher.java | 312 - .../crypto/modes/PGPCFBBlockCipher.java | 455 - .../crypto/modes/PaddedBlockCipher.java | 253 - .../spongycastle/crypto/modes/SICBlockCipher.java | 113 - .../crypto/modes/gcm/BasicGCMExponentiator.java | 36 - .../crypto/modes/gcm/BasicGCMMultiplier.java | 18 - .../crypto/modes/gcm/GCMExponentiator.java | 7 - .../crypto/modes/gcm/GCMMultiplier.java | 7 - .../org/spongycastle/crypto/modes/gcm/GCMUtil.java | 457 - .../crypto/modes/gcm/Tables1kGCMExponentiator.java | 58 - .../crypto/modes/gcm/Tables64kGCMMultiplier.java | 73 - .../crypto/modes/gcm/Tables8kGCMMultiplier.java | 90 - .../crypto/paddings/BlockCipherPadding.java | 48 - .../crypto/paddings/ISO10126d2Padding.java | 79 - .../crypto/paddings/ISO7816d4Padding.java | 77 - .../spongycastle/crypto/paddings/PKCS7Padding.java | 76 - .../crypto/paddings/PaddedBufferedBlockCipher.java | 299 - .../spongycastle/crypto/paddings/TBCPadding.java | 89 - .../spongycastle/crypto/paddings/X923Padding.java | 80 - .../crypto/paddings/ZeroBytePadding.java | 73 - .../spongycastle/crypto/params/AEADParameters.java | 60 - .../crypto/params/AsymmetricKeyParameter.java | 20 - .../spongycastle/crypto/params/CCMParameters.java | 21 - .../spongycastle/crypto/params/DESParameters.java | 107 - .../crypto/params/DESedeParameters.java | 57 - .../crypto/params/DHKeyGenerationParameters.java | 30 - .../crypto/params/DHKeyParameters.java | 54 - .../spongycastle/crypto/params/DHParameters.java | 189 - .../crypto/params/DHPrivateKeyParameters.java | 41 - .../crypto/params/DHPublicKeyParameters.java | 41 - .../crypto/params/DHValidationParameters.java | 50 - .../crypto/params/DSAKeyGenerationParameters.java | 25 - .../crypto/params/DSAKeyParameters.java | 21 - .../params/DSAParameterGenerationParameters.java | 80 - .../spongycastle/crypto/params/DSAParameters.java | 74 - .../crypto/params/DSAPrivateKeyParameters.java | 23 - .../crypto/params/DSAPublicKeyParameters.java | 23 - .../crypto/params/DSAValidationParameters.java | 65 - .../crypto/params/ECDomainParameters.java | 74 - .../crypto/params/ECKeyGenerationParameters.java | 25 - .../crypto/params/ECKeyParameters.java | 21 - .../crypto/params/ECPrivateKeyParameters.java | 22 - .../crypto/params/ECPublicKeyParameters.java | 22 - .../params/ElGamalKeyGenerationParameters.java | 30 - .../crypto/params/ElGamalKeyParameters.java | 47 - .../crypto/params/ElGamalParameters.java | 69 - .../crypto/params/ElGamalPrivateKeyParameters.java | 46 - .../crypto/params/ElGamalPublicKeyParameters.java | 41 - .../params/GOST3410KeyGenerationParameters.java | 25 - .../crypto/params/GOST3410KeyParameters.java | 21 - .../crypto/params/GOST3410Parameters.java | 74 - .../params/GOST3410PrivateKeyParameters.java | 23 - .../crypto/params/GOST3410PublicKeyParameters.java | 23 - .../params/GOST3410ValidationParameters.java | 84 - .../spongycastle/crypto/params/HKDFParameters.java | 123 - .../spongycastle/crypto/params/IESParameters.java | 44 - .../crypto/params/IESWithCipherParameters.java | 30 - .../crypto/params/ISO18033KDFParameters.java | 23 - .../crypto/params/KDFCounterParameters.java | 52 - .../KDFDoublePipelineIterationParameters.java | 80 - .../crypto/params/KDFFeedbackParameters.java | 96 - .../spongycastle/crypto/params/KDFParameters.java | 31 - .../spongycastle/crypto/params/KeyParameter.java | 30 - .../spongycastle/crypto/params/MGFParameters.java | 32 - .../crypto/params/MQVPrivateParameters.java | 43 - .../crypto/params/MQVPublicParameters.java | 28 - .../NaccacheSternKeyGenerationParameters.java | 97 - .../crypto/params/NaccacheSternKeyParameters.java | 53 - .../params/NaccacheSternPrivateKeyParameters.java | 50 - .../crypto/params/ParametersWithIV.java | 39 - .../crypto/params/ParametersWithRandom.java | 36 - .../crypto/params/ParametersWithSBox.java | 28 - .../crypto/params/ParametersWithSalt.java | 42 - .../spongycastle/crypto/params/RC2Parameters.java | 36 - .../spongycastle/crypto/params/RC5Parameters.java | 35 - .../crypto/params/RSABlindingParameters.java | 35 - .../crypto/params/RSAKeyGenerationParameters.java | 48 - .../crypto/params/RSAKeyParameters.java | 31 - .../crypto/params/RSAPrivateCrtKeyParameters.java | 67 - .../crypto/params/SkeinParameters.java | 293 - .../params/TweakableBlockCipherParameters.java | 40 - .../crypto/parsers/DHIESPublicKeyParser.java | 31 - .../crypto/parsers/ECIESPublicKeyParser.java | 53 - .../crypto/prng/BasicEntropySourceProvider.java | 53 - .../org/spongycastle/crypto/prng/DRBGProvider.java | 8 - .../crypto/prng/DigestRandomGenerator.java | 123 - .../spongycastle/crypto/prng/EntropySource.java | 25 - .../crypto/prng/EntropySourceProvider.java | 6 - .../crypto/prng/FixedSecureRandom.java | 147 - .../spongycastle/crypto/prng/RandomGenerator.java | 38 - .../crypto/prng/ReversedWindowGenerator.java | 111 - .../crypto/prng/SP800SecureRandom.java | 74 - .../crypto/prng/SP800SecureRandomBuilder.java | 290 - .../crypto/prng/ThreadedSeedGenerator.java | 95 - .../crypto/prng/VMPCRandomGenerator.java | 127 - .../crypto/prng/drbg/CTRSP800DRBG.java | 468 - .../crypto/prng/drbg/DualECPoints.java | 82 - .../crypto/prng/drbg/DualECSP800DRBG.java | 307 - .../crypto/prng/drbg/HMacSP800DRBG.java | 171 - .../crypto/prng/drbg/HashSP800DRBG.java | 269 - .../spongycastle/crypto/prng/drbg/SP80090DRBG.java | 25 - .../org/spongycastle/crypto/prng/drbg/Utils.java | 103 - .../crypto/signers/DSADigestSigner.java | 163 - .../crypto/signers/DSAKCalculator.java | 41 - .../org/spongycastle/crypto/signers/DSASigner.java | 160 - .../crypto/signers/DSTU4145Signer.java | 175 - .../spongycastle/crypto/signers/ECDSASigner.java | 186 - .../crypto/signers/ECGOST3410Signer.java | 158 - .../spongycastle/crypto/signers/ECNRSigner.java | 188 - .../crypto/signers/GOST3410Signer.java | 127 - .../spongycastle/crypto/signers/GenericSigner.java | 136 - .../crypto/signers/HMacDSAKCalculator.java | 161 - .../crypto/signers/ISO9796d2PSSSigner.java | 668 - .../crypto/signers/ISO9796d2Signer.java | 618 - .../org/spongycastle/crypto/signers/PSSSigner.java | 348 - .../crypto/signers/RSADigestSigner.java | 238 - .../crypto/signers/RandomDSAKCalculator.java | 43 - .../tls/AbstractTlsAgreementCredentials.java | 7 - .../crypto/tls/AbstractTlsCipherFactory.java | 13 - .../spongycastle/crypto/tls/AbstractTlsClient.java | 235 - .../crypto/tls/AbstractTlsContext.java | 110 - .../crypto/tls/AbstractTlsCredentials.java | 6 - .../tls/AbstractTlsEncryptionCredentials.java | 7 - .../crypto/tls/AbstractTlsKeyExchange.java | 166 - .../spongycastle/crypto/tls/AbstractTlsPeer.java | 31 - .../spongycastle/crypto/tls/AbstractTlsServer.java | 314 - .../spongycastle/crypto/tls/AbstractTlsSigner.java | 38 - .../crypto/tls/AbstractTlsSignerCredentials.java | 11 - .../spongycastle/crypto/tls/AlertDescription.java | 216 - .../org/spongycastle/crypto/tls/AlertLevel.java | 10 - .../crypto/tls/AlwaysValidVerifyer.java | 24 - .../crypto/tls/BulkCipherAlgorithm.java | 24 - .../org/spongycastle/crypto/tls/ByteQueue.java | 153 - .../org/spongycastle/crypto/tls/CertChainType.java | 15 - .../org/spongycastle/crypto/tls/Certificate.java | 149 - .../crypto/tls/CertificateRequest.java | 164 - .../spongycastle/crypto/tls/CertificateStatus.java | 105 - .../crypto/tls/CertificateStatusRequest.java | 98 - .../crypto/tls/CertificateStatusType.java | 9 - .../spongycastle/crypto/tls/CertificateURL.java | 133 - .../crypto/tls/CertificateVerifyer.java | 16 - .../spongycastle/crypto/tls/ChangeCipherSpec.java | 6 - .../org/spongycastle/crypto/tls/CipherSuite.java | 297 - .../org/spongycastle/crypto/tls/CipherType.java | 19 - .../crypto/tls/ClientAuthenticationType.java | 12 - .../crypto/tls/ClientCertificateType.java | 23 - .../org/spongycastle/crypto/tls/CombinedHash.java | 135 - .../spongycastle/crypto/tls/CompressionMethod.java | 24 - .../org/spongycastle/crypto/tls/ConnectionEnd.java | 14 - .../org/spongycastle/crypto/tls/ContentType.java | 13 - .../crypto/tls/DTLSClientProtocol.java | 814 - .../org/spongycastle/crypto/tls/DTLSEpoch.java | 53 - .../crypto/tls/DTLSHandshakeRetransmit.java | 9 - .../org/spongycastle/crypto/tls/DTLSProtocol.java | 90 - .../spongycastle/crypto/tls/DTLSReassembler.java | 136 - .../spongycastle/crypto/tls/DTLSRecordLayer.java | 520 - .../crypto/tls/DTLSReliableHandshake.java | 456 - .../spongycastle/crypto/tls/DTLSReplayWindow.java | 91 - .../crypto/tls/DTLSServerProtocol.java | 649 - .../org/spongycastle/crypto/tls/DTLSTransport.java | 81 - .../spongycastle/crypto/tls/DatagramTransport.java | 22 - .../crypto/tls/DefaultTlsAgreementCredentials.java | 78 - .../crypto/tls/DefaultTlsCipherFactory.java | 218 - .../spongycastle/crypto/tls/DefaultTlsClient.java | 378 - .../tls/DefaultTlsEncryptionCredentials.java | 75 - .../spongycastle/crypto/tls/DefaultTlsServer.java | 455 - .../crypto/tls/DefaultTlsSignerCredentials.java | 104 - .../org/spongycastle/crypto/tls/DeferredHash.java | 207 - .../spongycastle/crypto/tls/DigestAlgorithm.java | 23 - .../spongycastle/crypto/tls/DigestInputBuffer.java | 13 - .../spongycastle/crypto/tls/DigitallySigned.java | 72 - .../org/spongycastle/crypto/tls/ECBasisType.java | 11 - .../org/spongycastle/crypto/tls/ECCurveType.java | 28 - .../org/spongycastle/crypto/tls/ECPointFormat.java | 15 - .../crypto/tls/EncryptionAlgorithm.java | 57 - .../org/spongycastle/crypto/tls/ExporterLabel.java | 31 - .../org/spongycastle/crypto/tls/ExtensionType.java | 55 - .../org/spongycastle/crypto/tls/HandshakeType.java | 39 - .../org/spongycastle/crypto/tls/HashAlgorithm.java | 15 - .../crypto/tls/HeartbeatExtension.java | 56 - .../spongycastle/crypto/tls/HeartbeatMessage.java | 108 - .../crypto/tls/HeartbeatMessageType.java | 15 - .../org/spongycastle/crypto/tls/HeartbeatMode.java | 15 - .../crypto/tls/KeyExchangeAlgorithm.java | 52 - .../crypto/tls/LegacyTlsAuthentication.java | 28 - .../spongycastle/crypto/tls/LegacyTlsClient.java | 33 - .../org/spongycastle/crypto/tls/MACAlgorithm.java | 28 - .../spongycastle/crypto/tls/MaxFragmentLength.java | 17 - .../java/org/spongycastle/crypto/tls/NameType.java | 9 - .../org/spongycastle/crypto/tls/NamedCurve.java | 66 - .../spongycastle/crypto/tls/NewSessionTicket.java | 55 - .../spongycastle/crypto/tls/OCSPStatusRequest.java | 131 - .../org/spongycastle/crypto/tls/PRFAlgorithm.java | 23 - .../org/spongycastle/crypto/tls/PSKTlsClient.java | 240 - .../spongycastle/crypto/tls/ProtocolVersion.java | 125 - .../org/spongycastle/crypto/tls/RecordStream.java | 361 - .../org/spongycastle/crypto/tls/SRPTlsClient.java | 121 - .../crypto/tls/SRTPProtectionProfile.java | 12 - .../java/org/spongycastle/crypto/tls/SSL3Mac.java | 114 - .../crypto/tls/SecurityParameters.java | 90 - .../spongycastle/crypto/tls/ServerDHParams.java | 63 - .../org/spongycastle/crypto/tls/ServerName.java | 112 - .../spongycastle/crypto/tls/ServerNameList.java | 86 - .../crypto/tls/ServerOnlyTlsAuthentication.java | 10 - .../spongycastle/crypto/tls/SessionParameters.java | 142 - .../crypto/tls/SignatureAlgorithm.java | 13 - .../crypto/tls/SignatureAndHashAlgorithm.java | 96 - .../spongycastle/crypto/tls/SignerInputBuffer.java | 13 - .../crypto/tls/SupplementalDataEntry.java | 23 - .../crypto/tls/SupplementalDataType.java | 12 - .../org/spongycastle/crypto/tls/TlsAEADCipher.java | 193 - .../crypto/tls/TlsAgreementCredentials.java | 13 - .../spongycastle/crypto/tls/TlsAuthentication.java | 26 - .../spongycastle/crypto/tls/TlsBlockCipher.java | 386 - .../org/spongycastle/crypto/tls/TlsCipher.java | 14 - .../spongycastle/crypto/tls/TlsCipherFactory.java | 13 - .../org/spongycastle/crypto/tls/TlsClient.java | 79 - .../spongycastle/crypto/tls/TlsClientContext.java | 6 - .../crypto/tls/TlsClientContextImpl.java | 18 - .../spongycastle/crypto/tls/TlsClientProtocol.java | 884 - .../spongycastle/crypto/tls/TlsCompression.java | 10 - .../org/spongycastle/crypto/tls/TlsContext.java | 41 - .../spongycastle/crypto/tls/TlsCredentials.java | 6 - .../spongycastle/crypto/tls/TlsDHEKeyExchange.java | 115 - .../spongycastle/crypto/tls/TlsDHKeyExchange.java | 208 - .../org/spongycastle/crypto/tls/TlsDHUtils.java | 105 - .../org/spongycastle/crypto/tls/TlsDSASigner.java | 85 - .../org/spongycastle/crypto/tls/TlsDSSSigner.java | 25 - .../org/spongycastle/crypto/tls/TlsECCUtils.java | 627 - .../crypto/tls/TlsECDHEKeyExchange.java | 221 - .../crypto/tls/TlsECDHKeyExchange.java | 219 - .../spongycastle/crypto/tls/TlsECDSASigner.java | 25 - .../crypto/tls/TlsEncryptionCredentials.java | 10 - .../crypto/tls/TlsExtensionsUtils.java | 240 - .../org/spongycastle/crypto/tls/TlsFatalAlert.java | 21 - .../spongycastle/crypto/tls/TlsHandshakeHash.java | 21 - .../spongycastle/crypto/tls/TlsInputStream.java | 41 - .../spongycastle/crypto/tls/TlsKeyExchange.java | 55 - .../java/org/spongycastle/crypto/tls/TlsMac.java | 181 - .../org/spongycastle/crypto/tls/TlsNullCipher.java | 123 - .../crypto/tls/TlsNullCompression.java | 17 - .../spongycastle/crypto/tls/TlsOutputStream.java | 44 - .../spongycastle/crypto/tls/TlsPSKIdentity.java | 12 - .../spongycastle/crypto/tls/TlsPSKKeyExchange.java | 285 - .../java/org/spongycastle/crypto/tls/TlsPeer.java | 35 - .../org/spongycastle/crypto/tls/TlsProtocol.java | 1117 - .../crypto/tls/TlsProtocolHandler.java | 23 - .../spongycastle/crypto/tls/TlsRSAKeyExchange.java | 191 - .../org/spongycastle/crypto/tls/TlsRSASigner.java | 112 - .../org/spongycastle/crypto/tls/TlsRSAUtils.java | 116 - .../crypto/tls/TlsRuntimeException.java | 26 - .../spongycastle/crypto/tls/TlsSRPKeyExchange.java | 205 - .../org/spongycastle/crypto/tls/TlsSRPUtils.java | 49 - .../org/spongycastle/crypto/tls/TlsSRTPUtils.java | 74 - .../org/spongycastle/crypto/tls/TlsServer.java | 90 - .../spongycastle/crypto/tls/TlsServerContext.java | 6 - .../crypto/tls/TlsServerContextImpl.java | 18 - .../spongycastle/crypto/tls/TlsServerProtocol.java | 760 - .../org/spongycastle/crypto/tls/TlsSession.java | 12 - .../spongycastle/crypto/tls/TlsSessionImpl.java | 48 - .../org/spongycastle/crypto/tls/TlsSigner.java | 34 - .../crypto/tls/TlsSignerCredentials.java | 12 - .../spongycastle/crypto/tls/TlsStreamCipher.java | 163 - .../java/org/spongycastle/crypto/tls/TlsUtils.java | 1261 - .../org/spongycastle/crypto/tls/UDPTransport.java | 75 - .../org/spongycastle/crypto/tls/URLAndHash.java | 104 - .../org/spongycastle/crypto/tls/UseSRTPData.java | 54 - .../spongycastle/crypto/tls/UserMappingType.java | 12 - .../java/org/spongycastle/crypto/util/Pack.java | 192 - .../crypto/util/PrivateKeyFactory.java | 152 - .../crypto/util/PrivateKeyInfoFactory.java | 82 - .../spongycastle/crypto/util/PublicKeyFactory.java | 188 - .../crypto/util/SubjectPublicKeyInfoFactory.java | 81 - .../java/org/spongycastle/i18n/ErrorBundle.java | 120 - .../java/org/spongycastle/i18n/LocaleString.java | 30 - .../org/spongycastle/i18n/LocalizedException.java | 49 - .../org/spongycastle/i18n/LocalizedMessage.java | 476 - .../java/org/spongycastle/i18n/MessageBundle.java | 92 - .../spongycastle/i18n/MissingEntryException.java | 73 - .../java/org/spongycastle/i18n/TextBundle.java | 92 - .../java/org/spongycastle/i18n/filter/Filter.java | 21 - .../org/spongycastle/i18n/filter/HTMLFilter.java | 68 - .../org/spongycastle/i18n/filter/SQLFilter.java | 69 - .../org/spongycastle/i18n/filter/TrustedInput.java | 23 - .../spongycastle/i18n/filter/UntrustedInput.java | 44 - .../i18n/filter/UntrustedUrlInput.java | 14 - .../spongycastle/math/ec/AbstractECMultiplier.java | 20 - .../spongycastle/math/ec/DoubleAddMultiplier.java | 24 - .../org/spongycastle/math/ec/ECAlgorithms.java | 129 - .../java/org/spongycastle/math/ec/ECConstants.java | 12 - .../java/org/spongycastle/math/ec/ECCurve.java | 972 - .../org/spongycastle/math/ec/ECFieldElement.java | 1305 - .../org/spongycastle/math/ec/ECMultiplier.java | 19 - .../java/org/spongycastle/math/ec/ECPoint.java | 1733 - .../java/org/spongycastle/math/ec/IntArray.java | 860 - .../java/org/spongycastle/math/ec/LongArray.java | 1995 - .../math/ec/MixedNafR2LMultiplier.java | 77 - .../math/ec/MontgomeryLadderMultiplier.java | 25 - .../org/spongycastle/math/ec/NafL2RMultiplier.java | 30 - .../org/spongycastle/math/ec/NafR2LMultiplier.java | 31 - .../java/org/spongycastle/math/ec/PreCompInfo.java | 10 - .../spongycastle/math/ec/ReferenceMultiplier.java | 37 - .../org/spongycastle/math/ec/SimpleBigDecimal.java | 253 - .../main/java/org/spongycastle/math/ec/Tnaf.java | 832 - .../spongycastle/math/ec/WNafL2RMultiplier.java | 101 - .../org/spongycastle/math/ec/WNafPreCompInfo.java | 56 - .../java/org/spongycastle/math/ec/WNafUtil.java | 393 - .../spongycastle/math/ec/WTauNafMultiplier.java | 118 - .../spongycastle/math/ec/WTauNafPreCompInfo.java | 39 - .../math/ec/ZSignedDigitL2RMultiplier.java | 29 - .../math/ec/ZSignedDigitR2LMultiplier.java | 30 - .../java/org/spongycastle/math/ec/ZTauElement.java | 37 - .../org/spongycastle/pqc/asn1/GMSSPrivateKey.java | 1312 - .../org/spongycastle/pqc/asn1/GMSSPublicKey.java | 75 - .../pqc/asn1/McElieceCCA2PrivateKey.java | 173 - .../pqc/asn1/McElieceCCA2PublicKey.java | 96 - .../spongycastle/pqc/asn1/McEliecePrivateKey.java | 197 - .../spongycastle/pqc/asn1/McEliecePublicKey.java | 97 - .../pqc/asn1/PQCObjectIdentifiers.java | 46 - .../java/org/spongycastle/pqc/asn1/ParSet.java | 140 - .../spongycastle/pqc/asn1/RainbowPrivateKey.java | 350 - .../spongycastle/pqc/asn1/RainbowPublicKey.java | 175 - .../pqc/crypto/DigestingMessageSigner.java | 117 - .../spongycastle/pqc/crypto/MessageEncryptor.java | 30 - .../org/spongycastle/pqc/crypto/MessageSigner.java | 32 - .../pqc/crypto/gmss/GMSSDigestProvider.java | 8 - .../crypto/gmss/GMSSKeyGenerationParameters.java | 26 - .../pqc/crypto/gmss/GMSSKeyPairGenerator.java | 477 - .../pqc/crypto/gmss/GMSSKeyParameters.java | 22 - .../org/spongycastle/pqc/crypto/gmss/GMSSLeaf.java | 376 - .../pqc/crypto/gmss/GMSSParameters.java | 156 - .../pqc/crypto/gmss/GMSSPrivateKeyParameters.java | 1041 - .../pqc/crypto/gmss/GMSSPublicKeyParameters.java | 33 - .../spongycastle/pqc/crypto/gmss/GMSSRootCalc.java | 596 - .../spongycastle/pqc/crypto/gmss/GMSSRootSig.java | 666 - .../spongycastle/pqc/crypto/gmss/GMSSSigner.java | 404 - .../spongycastle/pqc/crypto/gmss/GMSSUtils.java | 145 - .../org/spongycastle/pqc/crypto/gmss/Treehash.java | 525 - .../pqc/crypto/gmss/util/GMSSRandom.java | 78 - .../pqc/crypto/gmss/util/GMSSUtil.java | 151 - .../pqc/crypto/gmss/util/WinternitzOTSVerify.java | 345 - .../crypto/gmss/util/WinternitzOTSignature.java | 405 - .../pqc/crypto/mceliece/Conversions.java | 236 - .../McElieceCCA2KeyGenerationParameters.java | 25 - .../mceliece/McElieceCCA2KeyPairGenerator.java | 119 - .../crypto/mceliece/McElieceCCA2KeyParameters.java | 25 - .../crypto/mceliece/McElieceCCA2Parameters.java | 51 - .../crypto/mceliece/McElieceCCA2Primitives.java | 86 - .../mceliece/McElieceCCA2PrivateKeyParameters.java | 172 - .../mceliece/McElieceCCA2PublicKeyParameters.java | 97 - .../crypto/mceliece/McElieceFujisakiCipher.java | 218 - .../mceliece/McElieceFujisakiDigestCipher.java | 128 - .../mceliece/McElieceKeyGenerationParameters.java | 25 - .../crypto/mceliece/McElieceKeyPairGenerator.java | 151 - .../pqc/crypto/mceliece/McElieceKeyParameters.java | 25 - .../crypto/mceliece/McElieceKobaraImaiCipher.java | 319 - .../mceliece/McElieceKobaraImaiDigestCipher.java | 128 - .../pqc/crypto/mceliece/McEliecePKCSCipher.java | 224 - .../crypto/mceliece/McEliecePKCSDigestCipher.java | 128 - .../pqc/crypto/mceliece/McElieceParameters.java | 181 - .../crypto/mceliece/McEliecePointchevalCipher.java | 241 - .../mceliece/McEliecePointchevalDigestCipher.java | 128 - .../mceliece/McEliecePrivateKeyParameters.java | 197 - .../mceliece/McEliecePublicKeyParameters.java | 96 - .../pqc/crypto/ntru/IndexGenerator.java | 239 - .../NTRUEncryptionKeyGenerationParameters.java | 463 - .../ntru/NTRUEncryptionKeyPairGenerator.java | 113 - .../crypto/ntru/NTRUEncryptionKeyParameters.java | 20 - .../pqc/crypto/ntru/NTRUEncryptionParameters.java | 410 - .../ntru/NTRUEncryptionPrivateKeyParameters.java | 199 - .../ntru/NTRUEncryptionPublicKeyParameters.java | 131 - .../spongycastle/pqc/crypto/ntru/NTRUEngine.java | 495 - .../pqc/crypto/ntru/NTRUParameters.java | 7 - .../spongycastle/pqc/crypto/ntru/NTRUSigner.java | 259 - .../pqc/crypto/ntru/NTRUSignerPrng.java | 64 - .../ntru/NTRUSigningKeyGenerationParameters.java | 407 - .../crypto/ntru/NTRUSigningKeyPairGenerator.java | 357 - .../pqc/crypto/ntru/NTRUSigningParameters.java | 269 - .../ntru/NTRUSigningPrivateKeyParameters.java | 385 - .../ntru/NTRUSigningPublicKeyParameters.java | 132 - .../org/spongycastle/pqc/crypto/rainbow/Layer.java | 322 - .../rainbow/RainbowKeyGenerationParameters.java | 26 - .../crypto/rainbow/RainbowKeyPairGenerator.java | 414 - .../pqc/crypto/rainbow/RainbowKeyParameters.java | 25 - .../pqc/crypto/rainbow/RainbowParameters.java | 111 - .../rainbow/RainbowPrivateKeyParameters.java | 117 - .../crypto/rainbow/RainbowPublicKeyParameters.java | 53 - .../pqc/crypto/rainbow/RainbowSigner.java | 301 - .../pqc/crypto/rainbow/util/ComputeInField.java | 490 - .../pqc/crypto/rainbow/util/GF2Field.java | 139 - .../pqc/crypto/rainbow/util/RainbowUtil.java | 230 - .../math/linearalgebra/BigEndianConversions.java | 306 - .../pqc/math/linearalgebra/BigIntUtils.java | 138 - .../pqc/math/linearalgebra/ByteUtils.java | 414 - .../pqc/math/linearalgebra/CharUtils.java | 98 - .../pqc/math/linearalgebra/GF2Matrix.java | 1323 - .../pqc/math/linearalgebra/GF2Polynomial.java | 2039 - .../pqc/math/linearalgebra/GF2Vector.java | 539 - .../pqc/math/linearalgebra/GF2mField.java | 366 - .../pqc/math/linearalgebra/GF2mMatrix.java | 377 - .../pqc/math/linearalgebra/GF2mVector.java | 256 - .../pqc/math/linearalgebra/GF2nElement.java | 186 - .../pqc/math/linearalgebra/GF2nField.java | 292 - .../pqc/math/linearalgebra/GF2nONBElement.java | 1154 - .../pqc/math/linearalgebra/GF2nONBField.java | 546 - .../pqc/math/linearalgebra/GF2nPolynomial.java | 587 - .../math/linearalgebra/GF2nPolynomialElement.java | 1021 - .../math/linearalgebra/GF2nPolynomialField.java | 553 - .../pqc/math/linearalgebra/GFElement.java | 158 - .../pqc/math/linearalgebra/GoppaCode.java | 310 - .../pqc/math/linearalgebra/IntUtils.java | 203 - .../pqc/math/linearalgebra/IntegerFunctions.java | 1424 - .../linearalgebra/LittleEndianConversions.java | 230 - .../pqc/math/linearalgebra/Matrix.java | 131 - .../pqc/math/linearalgebra/Permutation.java | 247 - .../math/linearalgebra/PolynomialGF2mSmallM.java | 1125 - .../pqc/math/linearalgebra/PolynomialRingGF2.java | 278 - .../pqc/math/linearalgebra/PolynomialRingGF2m.java | 175 - .../pqc/math/linearalgebra/RandUtils.java | 25 - .../pqc/math/linearalgebra/Vector.java | 69 - .../pqc/math/ntru/euclid/BigIntEuclidean.java | 54 - .../pqc/math/ntru/euclid/IntEuclidean.java | 51 - .../math/ntru/polynomial/BigDecimalPolynomial.java | 258 - .../pqc/math/ntru/polynomial/BigIntPolynomial.java | 394 - .../pqc/math/ntru/polynomial/Constants.java | 12 - .../ntru/polynomial/DenseTernaryPolynomial.java | 142 - .../math/ntru/polynomial/IntegerPolynomial.java | 1358 - .../pqc/math/ntru/polynomial/LongPolynomial2.java | 255 - .../pqc/math/ntru/polynomial/LongPolynomial5.java | 149 - .../pqc/math/ntru/polynomial/ModularResultant.java | 46 - .../pqc/math/ntru/polynomial/Polynomial.java | 42 - .../ntru/polynomial/ProductFormPolynomial.java | 153 - .../pqc/math/ntru/polynomial/Resultant.java | 28 - .../ntru/polynomial/SparseTernaryPolynomial.java | 320 - .../math/ntru/polynomial/TernaryPolynomial.java | 25 - .../pqc/math/ntru/util/ArrayEncoder.java | 292 - .../org/spongycastle/pqc/math/ntru/util/Util.java | 158 - .../main/java/org/spongycastle/util/Arrays.java | 856 - .../java/org/spongycastle/util/BigIntegers.java | 121 - .../org/spongycastle/util/CollectionStore.java | 57 - .../main/java/org/spongycastle/util/IPAddress.java | 188 - .../main/java/org/spongycastle/util/Integers.java | 9 - .../main/java/org/spongycastle/util/Memoable.java | 23 - .../spongycastle/util/MemoableResetException.java | 22 - .../main/java/org/spongycastle/util/Selector.java | 9 - .../main/java/org/spongycastle/util/Shorts.java | 9 - .../src/main/java/org/spongycastle/util/Store.java | 9 - .../java/org/spongycastle/util/StoreException.java | 18 - .../java/org/spongycastle/util/StreamParser.java | 10 - .../spongycastle/util/StreamParsingException.java | 18 - .../main/java/org/spongycastle/util/Strings.java | 303 - .../org/spongycastle/util/encoders/Base64.java | 151 - .../spongycastle/util/encoders/Base64Encoder.java | 328 - .../util/encoders/BufferedDecoder.java | 96 - .../util/encoders/BufferedEncoder.java | 96 - .../util/encoders/DecoderException.java | 19 - .../org/spongycastle/util/encoders/Encoder.java | 17 - .../util/encoders/EncoderException.java | 19 - .../java/org/spongycastle/util/encoders/Hex.java | 148 - .../org/spongycastle/util/encoders/HexEncoder.java | 187 - .../spongycastle/util/encoders/HexTranslator.java | 87 - .../org/spongycastle/util/encoders/Translator.java | 23 - .../org/spongycastle/util/encoders/UrlBase64.java | 129 - .../util/encoders/UrlBase64Encoder.java | 25 - .../util/io/BufferingOutputStream.java | 108 - .../util/io/StreamOverflowException.java | 12 - .../java/org/spongycastle/util/io/Streams.java | 87 - .../org/spongycastle/util/io/TeeInputStream.java | 62 - .../org/spongycastle/util/io/TeeOutputStream.java | 52 - .../util/io/pem/PemGenerationException.java | 25 - .../org/spongycastle/util/io/pem/PemHeader.java | 66 - .../org/spongycastle/util/io/pem/PemObject.java | 61 - .../util/io/pem/PemObjectGenerator.java | 7 - .../spongycastle/util/io/pem/PemObjectParser.java | 9 - .../org/spongycastle/util/io/pem/PemReader.java | 84 - .../org/spongycastle/util/io/pem/PemWriter.java | 137 - .../spongycastle/util/test/FixedSecureRandom.java | 135 - .../org/spongycastle/util/test/NumberParsing.java | 34 - .../org/spongycastle/util/test/SimpleTest.java | 84 - .../spongycastle/util/test/SimpleTestResult.java | 80 - .../main/java/org/spongycastle/util/test/Test.java | 8 - .../util/test/TestFailedException.java | 18 - .../org/spongycastle/util/test/TestResult.java | 10 - .../util/test/UncloseableOutputStream.java | 23 - .../javadoc/org/spongycastle/asn1/cmp/package.html | 5 - .../javadoc/org/spongycastle/asn1/cms/package.html | 5 - .../org/spongycastle/asn1/cryptopro/package.html | 5 - .../org/spongycastle/asn1/dvcs/package.html | 5 - .../javadoc/org/spongycastle/asn1/esf/package.html | 6 - .../javadoc/org/spongycastle/asn1/ess/package.html | 5 - .../org/spongycastle/asn1/icao/package.html | 5 - .../org/spongycastle/asn1/misc/package.html | 5 - .../org/spongycastle/asn1/mozilla/package.html | 5 - .../org/spongycastle/asn1/nist/package.html | 5 - .../org/spongycastle/asn1/ocsp/package.html | 5 - .../javadoc/org/spongycastle/asn1/oiw/package.html | 5 - .../javadoc/org/spongycastle/asn1/package.html | 5 - .../org/spongycastle/asn1/pkcs/package.html | 5 - .../javadoc/org/spongycastle/asn1/sec/package.html | 5 - .../org/spongycastle/asn1/smime/package.html | 5 - .../org/spongycastle/asn1/teletrust/package.html | 5 - .../javadoc/org/spongycastle/asn1/tsp/package.html | 5 - .../org/spongycastle/asn1/util/package.html | 5 - .../org/spongycastle/asn1/x509/package.html | 5 - .../spongycastle/asn1/x509/qualified/package.html | 5 - .../javadoc/org/spongycastle/asn1/x9/package.html | 5 - .../org/spongycastle/crypto/agreement/package.html | 5 - .../org/spongycastle/crypto/digests/package.html | 5 - .../org/spongycastle/crypto/encodings/package.html | 5 - .../org/spongycastle/crypto/engines/package.html | 5 - .../org/spongycastle/crypto/examples/package.html | 5 - .../spongycastle/crypto/generators/package.html | 5 - .../org/spongycastle/crypto/io/package.html | 5 - .../org/spongycastle/crypto/macs/package.html | 5 - .../org/spongycastle/crypto/modes/package.html | 5 - .../javadoc/org/spongycastle/crypto/package.html | 5 - .../org/spongycastle/crypto/paddings/package.html | 5 - .../org/spongycastle/crypto/params/package.html | 5 - .../org/spongycastle/crypto/prng/drbg/package.html | 5 - .../org/spongycastle/crypto/prng/package.html | 5 - .../org/spongycastle/crypto/signers/package.html | 5 - .../org/spongycastle/crypto/tls/package.html | 5 - .../org/spongycastle/crypto/util/package.html | 5 - .../javadoc/org/spongycastle/math/ec/package.html | 5 - .../org/spongycastle/util/encoders/package.html | 5 - .../org/spongycastle/util/test/package.html | 5 - .../java/lang/UnsupportedOperationException.java | 14 - .../java/security/AlgorithmParameterGenerator.java | 96 - .../security/AlgorithmParameterGeneratorSpi.java | 16 - .../jdk1.1/java/security/AlgorithmParameters.java | 103 - .../java/security/AlgorithmParametersSpi.java | 27 - .../java/security/GeneralSecurityException.java | 14 - .../InvalidAlgorithmParameterException.java | 13 - .../src/main/jdk1.1/java/security/KeyFactory.java | 89 - .../main/jdk1.1/java/security/KeyFactorySpi.java | 24 - .../src/main/jdk1.1/java/security/KeyStore.java | 225 - .../jdk1.1/java/security/KeyStoreException.java | 14 - .../src/main/jdk1.1/java/security/KeyStoreSpi.java | 59 - .../main/jdk1.1/java/security/SecurityUtil.java | 114 - .../java/security/UnrecoverableKeyException.java | 14 - .../src/main/jdk1.1/java/security/cert/CRL.java | 20 - .../jdk1.1/java/security/cert/CRLException.java | 16 - .../jdk1.1/java/security/cert/CRLSelector.java | 39 - .../main/jdk1.1/java/security/cert/CertPath.java | 283 - .../jdk1.1/java/security/cert/CertPathBuilder.java | 243 - .../security/cert/CertPathBuilderException.java | 182 - .../java/security/cert/CertPathBuilderResult.java | 38 - .../java/security/cert/CertPathBuilderSpi.java | 50 - .../java/security/cert/CertPathParameters.java | 18 - .../java/security/cert/CertPathValidator.java | 250 - .../security/cert/CertPathValidatorException.java | 248 - .../security/cert/CertPathValidatorResult.java | 22 - .../java/security/cert/CertPathValidatorSpi.java | 59 - .../jdk1.1/java/security/cert/CertSelector.java | 39 - .../main/jdk1.1/java/security/cert/CertStore.java | 352 - .../java/security/cert/CertStoreException.java | 172 - .../java/security/cert/CertStoreParameters.java | 52 - .../jdk1.1/java/security/cert/CertStoreSpi.java | 104 - .../main/jdk1.1/java/security/cert/CertUtil.java | 556 - .../jdk1.1/java/security/cert/Certificate.java | 80 - .../cert/CertificateEncodingException.java | 14 - .../java/security/cert/CertificateException.java | 16 - .../security/cert/CertificateExpiredException.java | 14 - .../java/security/cert/CertificateFactory.java | 183 - .../java/security/cert/CertificateFactorySpi.java | 111 - .../cert/CertificateNotYetValidException.java | 14 - .../security/cert/CertificateParsingException.java | 14 - .../cert/CollectionCertStoreParameters.java | 117 - .../security/cert/LDAPCertStoreParameters.java | 130 - .../java/security/cert/PKIXBuilderParameters.java | 179 - .../security/cert/PKIXCertPathBuilderResult.java | 93 - .../java/security/cert/PKIXCertPathChecker.java | 155 - .../security/cert/PKIXCertPathValidatorResult.java | 136 - .../jdk1.1/java/security/cert/PKIXParameters.java | 770 - .../main/jdk1.1/java/security/cert/PolicyNode.java | 107 - .../java/security/cert/PolicyQualifierInfo.java | 196 - .../jdk1.1/java/security/cert/TrustAnchor.java | 293 - .../main/jdk1.1/java/security/cert/X509CRL.java | 77 - .../jdk1.1/java/security/cert/X509CRLEntry.java | 56 - .../jdk1.1/java/security/cert/X509CRLSelector.java | 717 - .../java/security/cert/X509CertSelector.java | 2461 -- .../jdk1.1/java/security/cert/X509Certificate.java | 33 - .../jdk1.1/java/security/cert/X509Extension.java | 12 - .../interfaces/RSAMultiPrimePrivateCrtKey.java | 67 - .../java/security/interfaces/RSAPrivateCrtKey.java | 16 - .../java/security/interfaces/RSAPrivateKey.java | 13 - .../java/security/interfaces/RSAPublicKey.java | 13 - .../java/security/spec/AlgorithmParameterSpec.java | 6 - .../java/security/spec/DSAParameterSpec.java | 34 - .../java/security/spec/DSAPrivateKeySpec.java | 40 - .../java/security/spec/DSAPublicKeySpec.java | 40 - .../jdk1.1/java/security/spec/EncodedKeySpec.java | 19 - .../security/spec/InvalidKeySpecException.java | 16 - .../spec/InvalidParameterSpecException.java | 16 - .../main/jdk1.1/java/security/spec/KeySpec.java | 6 - .../java/security/spec/PKCS8EncodedKeySpec.java | 20 - .../java/security/spec/PSSParameterSpec.java | 45 - .../java/security/spec/RSAKeyGenParameterSpec.java | 35 - .../spec/RSAMultiPrimePrivateCrtKeySpec.java | 159 - .../java/security/spec/RSAOtherPrimeInfo.java | 80 - .../java/security/spec/RSAPrivateCrtKeySpec.java | 64 - .../java/security/spec/RSAPrivateKeySpec.java | 28 - .../java/security/spec/RSAPublicKeySpec.java | 28 - .../java/security/spec/X509EncodedKeySpec.java | 20 - .../main/jdk1.1/java/util/AbstractCollection.java | 242 - .../src/main/jdk1.1/java/util/AbstractList.java | 281 - .../src/main/jdk1.1/java/util/AbstractMap.java | 164 - .../src/main/jdk1.1/java/util/AbstractSet.java | 42 - .../core/src/main/jdk1.1/java/util/ArrayList.java | 107 - .../core/src/main/jdk1.1/java/util/Arrays.java | 90 - .../core/src/main/jdk1.1/java/util/Collection.java | 21 - .../src/main/jdk1.1/java/util/Collections.java | 376 - .../core/src/main/jdk1.1/java/util/HashMap.java | 285 - .../core/src/main/jdk1.1/java/util/HashSet.java | 83 - .../core/src/main/jdk1.1/java/util/Iterator.java | 9 - .../core/src/main/jdk1.1/java/util/List.java | 15 - .../src/main/jdk1.1/java/util/ListIterator.java | 19 - .../core/src/main/jdk1.1/java/util/Map.java | 37 - .../core/src/main/jdk1.1/java/util/Set.java | 26 - .../core/src/main/jdk1.1/java/util/Sublist.java | 125 - .../org/spongycastle/asn1/ASN1InputStream.java | 466 - .../org/spongycastle/asn1/ASN1StreamParser.java | 247 - .../spongycastle/asn1/DERApplicationSpecific.java | 276 - .../org/spongycastle/asn1/x500/style/BCStyle.java | 481 - .../spongycastle/asn1/x500/style/RFC4519Style.java | 380 - .../crypto/agreement/jpake/JPAKEParticipant.java | 573 - .../agreement/jpake/JPAKEPrimeOrderGroup.java | 122 - .../spongycastle/crypto/digests/SkeinEngine.java | 817 - .../crypto/encodings/PKCS1Encoding.java | 238 - .../spongycastle/crypto/engines/NullEngine.java | 96 - .../params/DSAParameterGenerationParameters.java | 80 - .../spongycastle/crypto/params/HKDFParameters.java | 123 - .../crypto/prng/BasicEntropySourceProvider.java | 57 - .../crypto/prng/SP800SecureRandomBuilder.java | 289 - .../crypto/signers/RSADigestSigner.java | 238 - .../spongycastle/crypto/tls/DTLSReassembler.java | 136 - .../crypto/tls/DTLSReliableHandshake.java | 457 - .../org/spongycastle/crypto/tls/UDPTransport.java | 106 - .../org/spongycastle/i18n/LocalizedMessage.java | 464 - .../spongycastle/i18n/MissingEntryException.java | 63 - .../interfaces/RSAMultiPrimePrivateCrtKey.java | 67 - .../java/security/spec/PSSParameterSpec.java | 45 - .../java/security/spec/RSAKeyGenParameterSpec.java | 35 - .../spec/RSAMultiPrimePrivateCrtKeySpec.java | 159 - .../java/security/spec/RSAOtherPrimeInfo.java | 80 - .../org/spongycastle/i18n/LocalizedMessage.java | 464 - .../spongycastle/i18n/MissingEntryException.java | 63 - .../jdk1.3/org/spongycastle/asn1/StreamUtil.java | 89 - .../org/spongycastle/crypto/tls/UDPTransport.java | 78 - .../org/spongycastle/i18n/LocalizedMessage.java | 464 - .../spongycastle/i18n/MissingEntryException.java | 81 - .../main/jdk1.3/org/spongycastle/util/Shorts.java | 9 - .../jdk1.4/org/spongycastle/util/Integers.java | 9 - .../main/jdk1.4/org/spongycastle/util/Shorts.java | 9 - .../spongycastle/core/src/test/data/PKITS/README | 3 - .../certs/AllCertificatesNoPoliciesTest2EE.crt | Bin 627 -> 0 bytes .../certs/AllCertificatesSamePoliciesTest10EE.crt | Bin 670 -> 0 bytes .../certs/AllCertificatesSamePoliciesTest13EE.crt | Bin 687 -> 0 bytes .../certs/AllCertificatesanyPolicyTest11EE.crt | Bin 643 -> 0 bytes .../test/data/PKITS/certs/AnyPolicyTest14EE.crt | Bin 632 -> 0 bytes .../data/PKITS/certs/BadCRLIssuerNameCACert.crt | Bin 640 -> 0 bytes .../data/PKITS/certs/BadCRLSignatureCACert.crt | Bin 638 -> 0 bytes .../src/test/data/PKITS/certs/BadSignedCACert.crt | Bin 631 -> 0 bytes .../data/PKITS/certs/BadnotAfterDateCACert.crt | Bin 638 -> 0 bytes .../data/PKITS/certs/BadnotBeforeDateCACert.crt | Bin 639 -> 0 bytes .../certs/BasicSelfIssuedCRLSigningKeyCACert.crt | Bin 654 -> 0 bytes .../certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt | Bin 797 -> 0 bytes .../PKITS/certs/BasicSelfIssuedNewKeyCACert.crt | Bin 646 -> 0 bytes .../BasicSelfIssuedNewKeyOldWithNewCACert.crt | Bin 662 -> 0 bytes .../PKITS/certs/BasicSelfIssuedOldKeyCACert.crt | Bin 646 -> 0 bytes .../BasicSelfIssuedOldKeyNewWithOldCACert.crt | Bin 789 -> 0 bytes .../PKITS/certs/CPSPointerQualifierTest20EE.crt | Bin 701 -> 0 bytes .../core/src/test/data/PKITS/certs/DSACACert.crt | Bin 906 -> 0 bytes .../PKITS/certs/DSAParametersInheritedCACert.crt | Bin 536 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest12EE.crt | Bin 643 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest3EE.crt | Bin 645 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest4EE.crt | Bin 638 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest5EE.crt | Bin 646 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest7EE.crt | Bin 672 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest8EE.crt | Bin 670 -> 0 bytes .../data/PKITS/certs/DifferentPoliciesTest9EE.crt | Bin 660 -> 0 bytes .../certs/GeneralizedTimeCRLnextUpdateCACert.crt | Bin 649 -> 0 bytes .../core/src/test/data/PKITS/certs/GoodCACert.crt | Bin 625 -> 0 bytes .../src/test/data/PKITS/certs/GoodsubCACert.crt | Bin 639 -> 0 bytes .../certs/GoodsubCAPanyPolicyMapping1to2CACert.crt | Bin 697 -> 0 bytes .../PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt | Bin 659 -> 0 bytes .../PKITS/certs/InvalidBadCRLSignatureTest4EE.crt | Bin 655 -> 0 bytes .../InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt | Bin 687 -> 0 bytes .../InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt | Bin 687 -> 0 bytes .../InvalidBasicSelfIssuedNewWithOldTest5EE.crt | Bin 676 -> 0 bytes .../InvalidBasicSelfIssuedOldWithNewTest2EE.crt | Bin 676 -> 0 bytes .../data/PKITS/certs/InvalidCASignatureTest2EE.crt | Bin 628 -> 0 bytes .../PKITS/certs/InvalidCAnotAfterDateTest5EE.crt | Bin 654 -> 0 bytes .../PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt | Bin 656 -> 0 bytes .../certs/InvalidDNSnameConstraintsTest31EE.crt | Bin 710 -> 0 bytes .../certs/InvalidDNSnameConstraintsTest33EE.crt | Bin 699 -> 0 bytes .../certs/InvalidDNSnameConstraintsTest38EE.crt | Bin 698 -> 0 bytes .../InvalidDNandRFC822nameConstraintsTest28EE.crt | Bin 778 -> 0 bytes .../InvalidDNandRFC822nameConstraintsTest29EE.crt | Bin 780 -> 0 bytes .../certs/InvalidDNnameConstraintsTest10EE.crt | Bin 715 -> 0 bytes .../certs/InvalidDNnameConstraintsTest12EE.crt | Bin 720 -> 0 bytes .../certs/InvalidDNnameConstraintsTest13EE.crt | Bin 720 -> 0 bytes .../certs/InvalidDNnameConstraintsTest15EE.crt | Bin 690 -> 0 bytes .../certs/InvalidDNnameConstraintsTest16EE.crt | Bin 690 -> 0 bytes .../certs/InvalidDNnameConstraintsTest17EE.crt | Bin 690 -> 0 bytes .../certs/InvalidDNnameConstraintsTest20EE.crt | Bin 633 -> 0 bytes .../certs/InvalidDNnameConstraintsTest2EE.crt | Bin 685 -> 0 bytes .../certs/InvalidDNnameConstraintsTest3EE.crt | Bin 833 -> 0 bytes .../certs/InvalidDNnameConstraintsTest7EE.crt | Bin 685 -> 0 bytes .../certs/InvalidDNnameConstraintsTest8EE.crt | Bin 685 -> 0 bytes .../certs/InvalidDNnameConstraintsTest9EE.crt | Bin 685 -> 0 bytes .../PKITS/certs/InvalidDSASignatureTest6EE.crt | Bin 827 -> 0 bytes .../data/PKITS/certs/InvalidEESignatureTest3EE.crt | Bin 622 -> 0 bytes .../PKITS/certs/InvalidEEnotAfterDateTest6EE.crt | Bin 641 -> 0 bytes .../PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt | Bin 642 -> 0 bytes .../certs/InvalidIDPwithindirectCRLTest23EE.crt | Bin 654 -> 0 bytes .../certs/InvalidIDPwithindirectCRLTest26EE.crt | Bin 743 -> 0 bytes .../certs/InvalidLongSerialNumberTest18EE.crt | Bin 677 -> 0 bytes .../certs/InvalidMappingFromanyPolicyTest7EE.crt | Bin 665 -> 0 bytes .../certs/InvalidMappingToanyPolicyTest8EE.crt | Bin 655 -> 0 bytes .../data/PKITS/certs/InvalidMissingCRLTest1EE.crt | Bin 638 -> 0 bytes .../InvalidMissingbasicConstraintsTest1EE.crt | Bin 669 -> 0 bytes .../certs/InvalidNameChainingOrderTest2EE.crt | Bin 728 -> 0 bytes .../PKITS/certs/InvalidNameChainingTest1EE.crt | Bin 643 -> 0 bytes .../certs/InvalidNegativeSerialNumberTest15EE.crt | Bin 666 -> 0 bytes .../certs/InvalidOldCRLnextUpdateTest11EE.crt | Bin 658 -> 0 bytes .../PKITS/certs/InvalidPolicyMappingTest10EE.crt | Bin 667 -> 0 bytes .../PKITS/certs/InvalidPolicyMappingTest2EE.crt | Bin 647 -> 0 bytes .../PKITS/certs/InvalidPolicyMappingTest4EE.crt | Bin 657 -> 0 bytes .../certs/InvalidRFC822nameConstraintsTest22EE.crt | Bin 711 -> 0 bytes .../certs/InvalidRFC822nameConstraintsTest24EE.crt | Bin 722 -> 0 bytes .../certs/InvalidRFC822nameConstraintsTest26EE.crt | Bin 711 -> 0 bytes .../data/PKITS/certs/InvalidRevokedCATest2EE.crt | Bin 638 -> 0 bytes .../data/PKITS/certs/InvalidRevokedEETest3EE.crt | Bin 632 -> 0 bytes .../InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt | Bin 648 -> 0 bytes .../InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt | Bin 673 -> 0 bytes ...validSelfIssuedinhibitPolicyMappingTest10EE.crt | Bin 681 -> 0 bytes ...validSelfIssuedinhibitPolicyMappingTest11EE.crt | Bin 681 -> 0 bytes ...nvalidSelfIssuedinhibitPolicyMappingTest8EE.crt | Bin 683 -> 0 bytes ...nvalidSelfIssuedinhibitPolicyMappingTest9EE.crt | Bin 683 -> 0 bytes .../InvalidSelfIssuedpathLenConstraintTest16EE.crt | Bin 673 -> 0 bytes ...validSelfIssuedrequireExplicitPolicyTest7EE.crt | Bin 654 -> 0 bytes ...validSelfIssuedrequireExplicitPolicyTest8EE.crt | Bin 654 -> 0 bytes ...nvalidSeparateCertificateandCRLKeysTest20EE.crt | Bin 689 -> 0 bytes ...nvalidSeparateCertificateandCRLKeysTest21EE.crt | Bin 689 -> 0 bytes .../certs/InvalidURInameConstraintsTest35EE.crt | Bin 716 -> 0 bytes .../certs/InvalidURInameConstraintsTest37EE.crt | Bin 716 -> 0 bytes .../InvalidUnknownCRLEntryExtensionTest8EE.crt | Bin 675 -> 0 bytes .../certs/InvalidUnknownCRLExtensionTest10EE.crt | Bin 664 -> 0 bytes .../certs/InvalidUnknownCRLExtensionTest9EE.crt | Bin 663 -> 0 bytes ...dUnknownCriticalCertificateExtensionTest2EE.crt | Bin 683 -> 0 bytes .../data/PKITS/certs/InvalidWrongCRLTest6EE.crt | Bin 639 -> 0 bytes .../data/PKITS/certs/InvalidcAFalseTest2EE.crt | Bin 663 -> 0 bytes .../data/PKITS/certs/InvalidcAFalseTest3EE.crt | Bin 667 -> 0 bytes .../data/PKITS/certs/InvalidcRLIssuerTest27EE.crt | Bin 723 -> 0 bytes .../data/PKITS/certs/InvalidcRLIssuerTest31EE.crt | Bin 855 -> 0 bytes .../data/PKITS/certs/InvalidcRLIssuerTest32EE.crt | Bin 855 -> 0 bytes .../data/PKITS/certs/InvalidcRLIssuerTest34EE.crt | Bin 768 -> 0 bytes .../data/PKITS/certs/InvalidcRLIssuerTest35EE.crt | Bin 847 -> 0 bytes .../InvaliddeltaCRLIndicatorNoBaseTest1EE.crt | Bin 671 -> 0 bytes .../data/PKITS/certs/InvaliddeltaCRLTest10EE.crt | Bin 813 -> 0 bytes .../data/PKITS/certs/InvaliddeltaCRLTest3EE.crt | Bin 812 -> 0 bytes .../data/PKITS/certs/InvaliddeltaCRLTest4EE.crt | Bin 812 -> 0 bytes .../data/PKITS/certs/InvaliddeltaCRLTest6EE.crt | Bin 812 -> 0 bytes .../data/PKITS/certs/InvaliddeltaCRLTest9EE.crt | Bin 812 -> 0 bytes .../certs/InvaliddistributionPointTest2EE.crt | Bin 793 -> 0 bytes .../certs/InvaliddistributionPointTest3EE.crt | Bin 793 -> 0 bytes .../certs/InvaliddistributionPointTest6EE.crt | Bin 713 -> 0 bytes .../certs/InvaliddistributionPointTest8EE.crt | Bin 752 -> 0 bytes .../certs/InvaliddistributionPointTest9EE.crt | Bin 656 -> 0 bytes .../PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt | Bin 648 -> 0 bytes .../PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt | Bin 652 -> 0 bytes .../PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt | Bin 654 -> 0 bytes .../PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt | Bin 655 -> 0 bytes .../certs/InvalidinhibitPolicyMappingTest1EE.crt | Bin 679 -> 0 bytes .../certs/InvalidinhibitPolicyMappingTest3EE.crt | Bin 672 -> 0 bytes .../certs/InvalidinhibitPolicyMappingTest5EE.crt | Bin 671 -> 0 bytes .../certs/InvalidinhibitPolicyMappingTest6EE.crt | Bin 676 -> 0 bytes .../InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt | Bin 683 -> 0 bytes ...alidkeyUsageCriticalkeyCertSignFalseTest1EE.crt | Bin 691 -> 0 bytes ...validkeyUsageNotCriticalcRLSignFalseTest5EE.crt | Bin 691 -> 0 bytes ...dkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt | Bin 692 -> 0 bytes .../InvalidonlyContainsAttributeCertsTest14EE.crt | Bin 674 -> 0 bytes .../certs/InvalidonlyContainsCACertsTest12EE.crt | Bin 660 -> 0 bytes .../certs/InvalidonlyContainsUserCertsTest11EE.crt | Bin 681 -> 0 bytes .../PKITS/certs/InvalidonlySomeReasonsTest15EE.crt | Bin 653 -> 0 bytes .../PKITS/certs/InvalidonlySomeReasonsTest16EE.crt | Bin 653 -> 0 bytes .../PKITS/certs/InvalidonlySomeReasonsTest17EE.crt | Bin 653 -> 0 bytes .../PKITS/certs/InvalidonlySomeReasonsTest20EE.crt | Bin 872 -> 0 bytes .../PKITS/certs/InvalidonlySomeReasonsTest21EE.crt | Bin 872 -> 0 bytes .../certs/InvalidpathLenConstraintTest10EE.crt | Bin 682 -> 0 bytes .../certs/InvalidpathLenConstraintTest11EE.crt | Bin 669 -> 0 bytes .../certs/InvalidpathLenConstraintTest12EE.crt | Bin 686 -> 0 bytes .../certs/InvalidpathLenConstraintTest5EE.crt | Bin 659 -> 0 bytes .../certs/InvalidpathLenConstraintTest6EE.crt | Bin 676 -> 0 bytes .../certs/InvalidpathLenConstraintTest9EE.crt | Bin 664 -> 0 bytes .../certs/Invalidpre2000CRLnextUpdateTest12EE.crt | Bin 666 -> 0 bytes .../Invalidpre2000UTCEEnotAfterDateTest7EE.crt | Bin 655 -> 0 bytes .../certs/InvalidrequireExplicitPolicyTest3EE.crt | Bin 648 -> 0 bytes .../certs/InvalidrequireExplicitPolicyTest5EE.crt | Bin 654 -> 0 bytes .../data/PKITS/certs/LongSerialNumberCACert.crt | Bin 639 -> 0 bytes .../test/data/PKITS/certs/Mapping1to2CACert.crt | Bin 689 -> 0 bytes .../PKITS/certs/MappingFromanyPolicyCACert.crt | Bin 690 -> 0 bytes .../data/PKITS/certs/MappingToanyPolicyCACert.crt | Bin 694 -> 0 bytes .../PKITS/certs/MissingbasicConstraintsCACert.crt | Bin 628 -> 0 bytes .../test/data/PKITS/certs/NameOrderingCACert.crt | Bin 709 -> 0 bytes .../PKITS/certs/NegativeSerialNumberCACert.crt | Bin 643 -> 0 bytes .../core/src/test/data/PKITS/certs/NoCRLCACert.crt | Bin 627 -> 0 bytes .../src/test/data/PKITS/certs/NoPoliciesCACert.crt | Bin 607 -> 0 bytes .../certs/NoissuingDistributionPointCACert.crt | Bin 648 -> 0 bytes .../data/PKITS/certs/OldCRLnextUpdateCACert.crt | Bin 639 -> 0 bytes .../PKITS/certs/OverlappingPoliciesTest6EE.crt | Bin 677 -> 0 bytes .../test/data/PKITS/certs/P12Mapping1to3CACert.crt | Bin 707 -> 0 bytes .../data/PKITS/certs/P12Mapping1to3subCACert.crt | Bin 729 -> 0 bytes .../PKITS/certs/P12Mapping1to3subsubCACert.crt | Bin 709 -> 0 bytes .../data/PKITS/certs/P1Mapping1to234CACert.crt | Bin 746 -> 0 bytes .../data/PKITS/certs/P1Mapping1to234subCACert.crt | Bin 731 -> 0 bytes .../PKITS/certs/P1anyPolicyMapping1to2CACert.crt | Bin 1058 -> 0 bytes .../PKITS/certs/PanyPolicyMapping1to2CACert.crt | Bin 694 -> 0 bytes .../test/data/PKITS/certs/PoliciesP1234CACert.crt | Bin 693 -> 0 bytes .../PKITS/certs/PoliciesP1234subCAP123Cert.crt | Bin 677 -> 0 bytes .../certs/PoliciesP1234subsubCAP123P12Cert.crt | Bin 676 -> 0 bytes .../test/data/PKITS/certs/PoliciesP123CACert.crt | Bin 678 -> 0 bytes .../data/PKITS/certs/PoliciesP123subCAP12Cert.crt | Bin 660 -> 0 bytes .../PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt | Bin 655 -> 0 bytes .../PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt | Bin 655 -> 0 bytes .../certs/PoliciesP123subsubsubCAP12P2P1Cert.crt | Bin 665 -> 0 bytes .../test/data/PKITS/certs/PoliciesP12CACert.crt | Bin 663 -> 0 bytes .../data/PKITS/certs/PoliciesP12subCAP1Cert.crt | Bin 641 -> 0 bytes .../PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt | Bin 651 -> 0 bytes .../test/data/PKITS/certs/PoliciesP2subCA2Cert.crt | Bin 647 -> 0 bytes .../test/data/PKITS/certs/PoliciesP2subCACert.crt | Bin 630 -> 0 bytes .../src/test/data/PKITS/certs/PoliciesP3CACert.crt | Bin 648 -> 0 bytes .../certs/RFC3280MandatoryAttributeTypesCACert.crt | Bin 709 -> 0 bytes .../certs/RFC3280OptionalAttributeTypesCACert.crt | Bin 721 -> 0 bytes .../src/test/data/PKITS/certs/RevokedsubCACert.crt | Bin 626 -> 0 bytes ...lloverfromPrintableStringtoUTF8StringCACert.crt | Bin 664 -> 0 bytes ...arateCertificateandCRLKeysCA2CRLSigningCert.crt | Bin 638 -> 0 bytes ...ficateandCRLKeysCA2CertificateSigningCACert.crt | Bin 655 -> 0 bytes ...SeparateCertificateandCRLKeysCRLSigningCert.crt | Bin 638 -> 0 bytes ...rtificateandCRLKeysCertificateSigningCACert.crt | Bin 655 -> 0 bytes .../PKITS/certs/TrustAnchorRootCertificate.crt | Bin 572 -> 0 bytes .../src/test/data/PKITS/certs/TwoCRLsCACert.crt | Bin 629 -> 0 bytes .../core/src/test/data/PKITS/certs/UIDCACert.crt | Bin 629 -> 0 bytes .../certs/UTF8StringCaseInsensitiveMatchCACert.crt | Bin 654 -> 0 bytes .../PKITS/certs/UTF8StringEncodedNamesCACert.crt | Bin 631 -> 0 bytes .../PKITS/certs/UnknownCRLEntryExtensionCACert.crt | Bin 648 -> 0 bytes .../data/PKITS/certs/UnknownCRLExtensionCACert.crt | Bin 642 -> 0 bytes .../PKITS/certs/UserNoticeQualifierTest15EE.crt | Bin 755 -> 0 bytes .../PKITS/certs/UserNoticeQualifierTest16EE.crt | Bin 874 -> 0 bytes .../PKITS/certs/UserNoticeQualifierTest17EE.crt | Bin 743 -> 0 bytes .../PKITS/certs/UserNoticeQualifierTest18EE.crt | Bin 969 -> 0 bytes .../PKITS/certs/UserNoticeQualifierTest19EE.crt | Bin 992 -> 0 bytes .../ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt | Bin 685 -> 0 bytes .../ValidBasicSelfIssuedNewWithOldTest3EE.crt | Bin 674 -> 0 bytes .../ValidBasicSelfIssuedNewWithOldTest4EE.crt | Bin 674 -> 0 bytes .../ValidBasicSelfIssuedOldWithNewTest1EE.crt | Bin 674 -> 0 bytes .../PKITS/certs/ValidCertificatePathTest1EE.crt | Bin 622 -> 0 bytes .../certs/ValidDNSnameConstraintsTest30EE.crt | Bin 705 -> 0 bytes .../certs/ValidDNSnameConstraintsTest32EE.crt | Bin 705 -> 0 bytes .../ValidDNandRFC822nameConstraintsTest27EE.crt | Bin 773 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest11EE.crt | Bin 714 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest14EE.crt | Bin 660 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest18EE.crt | Bin 661 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest19EE.crt | Bin 685 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest1EE.crt | Bin 684 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest4EE.crt | Bin 744 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest5EE.crt | Bin 829 -> 0 bytes .../PKITS/certs/ValidDNnameConstraintsTest6EE.crt | Bin 684 -> 0 bytes .../certs/ValidDSAParameterInheritanceTest5EE.crt | Bin 566 -> 0 bytes .../data/PKITS/certs/ValidDSASignaturesTest4EE.crt | Bin 826 -> 0 bytes .../ValidGeneralizedTimeCRLnextUpdateTest13EE.crt | Bin 678 -> 0 bytes .../ValidGeneralizedTimenotAfterDateTest8EE.crt | Bin 654 -> 0 bytes .../ValidGeneralizedTimenotBeforeDateTest4EE.crt | Bin 655 -> 0 bytes .../certs/ValidIDPwithindirectCRLTest22EE.crt | Bin 652 -> 0 bytes .../certs/ValidIDPwithindirectCRLTest24EE.crt | Bin 740 -> 0 bytes .../certs/ValidIDPwithindirectCRLTest25EE.crt | Bin 740 -> 0 bytes .../PKITS/certs/ValidLongSerialNumberTest16EE.crt | Bin 675 -> 0 bytes .../PKITS/certs/ValidLongSerialNumberTest17EE.crt | Bin 675 -> 0 bytes .../ValidNameChainingCapitalizationTest5EE.crt | Bin 651 -> 0 bytes .../certs/ValidNameChainingWhitespaceTest3EE.crt | Bin 652 -> 0 bytes .../certs/ValidNameChainingWhitespaceTest4EE.crt | Bin 653 -> 0 bytes .../test/data/PKITS/certs/ValidNameUIDsTest6EE.crt | Bin 630 -> 0 bytes .../certs/ValidNegativeSerialNumberTest14EE.crt | Bin 665 -> 0 bytes .../ValidNoissuingDistributionPointTest10EE.crt | Bin 793 -> 0 bytes .../PKITS/certs/ValidPolicyMappingTest11EE.crt | Bin 665 -> 0 bytes .../PKITS/certs/ValidPolicyMappingTest12EE.crt | Bin 1068 -> 0 bytes .../PKITS/certs/ValidPolicyMappingTest13EE.crt | Bin 658 -> 0 bytes .../PKITS/certs/ValidPolicyMappingTest14EE.crt | Bin 658 -> 0 bytes .../data/PKITS/certs/ValidPolicyMappingTest1EE.crt | Bin 645 -> 0 bytes .../data/PKITS/certs/ValidPolicyMappingTest3EE.crt | Bin 655 -> 0 bytes .../data/PKITS/certs/ValidPolicyMappingTest5EE.crt | Bin 653 -> 0 bytes .../data/PKITS/certs/ValidPolicyMappingTest6EE.crt | Bin 653 -> 0 bytes .../data/PKITS/certs/ValidPolicyMappingTest9EE.crt | Bin 656 -> 0 bytes .../ValidRFC3280MandatoryAttributeTypesTest7EE.crt | Bin 740 -> 0 bytes .../ValidRFC3280OptionalAttributeTypesTest8EE.crt | Bin 751 -> 0 bytes .../certs/ValidRFC822nameConstraintsTest21EE.crt | Bin 720 -> 0 bytes .../certs/ValidRFC822nameConstraintsTest23EE.crt | Bin 709 -> 0 bytes .../certs/ValidRFC822nameConstraintsTest25EE.crt | Bin 720 -> 0 bytes ...overfromPrintableStringtoUTF8StringTest10EE.crt | Bin 694 -> 0 bytes .../ValidSelfIssuedinhibitAnyPolicyTest7EE.crt | Bin 668 -> 0 bytes .../ValidSelfIssuedinhibitAnyPolicyTest9EE.crt | Bin 668 -> 0 bytes .../ValidSelfIssuedinhibitPolicyMappingTest7EE.crt | Bin 678 -> 0 bytes .../ValidSelfIssuedpathLenConstraintTest15EE.crt | Bin 667 -> 0 bytes .../ValidSelfIssuedpathLenConstraintTest17EE.crt | Bin 670 -> 0 bytes ...ValidSelfIssuedrequireExplicitPolicyTest6EE.crt | Bin 649 -> 0 bytes .../ValidSeparateCertificateandCRLKeysTest19EE.crt | Bin 687 -> 0 bytes .../test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt | Bin 635 -> 0 bytes .../certs/ValidURInameConstraintsTest34EE.crt | Bin 723 -> 0 bytes .../certs/ValidURInameConstraintsTest36EE.crt | Bin 726 -> 0 bytes ...ValidUTF8StringCaseInsensitiveMatchTest11EE.crt | Bin 691 -> 0 bytes .../certs/ValidUTF8StringEncodedNamesTest9EE.crt | Bin 653 -> 0 bytes ...knownNotCriticalCertificateExtensionTest1EE.crt | Bin 681 -> 0 bytes .../ValidbasicConstraintsNotCriticalTest4EE.crt | Bin 677 -> 0 bytes .../data/PKITS/certs/ValidcRLIssuerTest28EE.crt | Bin 873 -> 0 bytes .../data/PKITS/certs/ValidcRLIssuerTest29EE.crt | Bin 788 -> 0 bytes .../data/PKITS/certs/ValidcRLIssuerTest30EE.crt | Bin 873 -> 0 bytes .../data/PKITS/certs/ValidcRLIssuerTest33EE.crt | Bin 853 -> 0 bytes .../test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt | Bin 810 -> 0 bytes .../test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt | Bin 810 -> 0 bytes .../test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt | Bin 810 -> 0 bytes .../test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt | Bin 810 -> 0 bytes .../PKITS/certs/ValiddistributionPointTest1EE.crt | Bin 791 -> 0 bytes .../PKITS/certs/ValiddistributionPointTest4EE.crt | Bin 711 -> 0 bytes .../PKITS/certs/ValiddistributionPointTest5EE.crt | Bin 711 -> 0 bytes .../PKITS/certs/ValiddistributionPointTest7EE.crt | Bin 791 -> 0 bytes .../PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt | Bin 660 -> 0 bytes .../certs/ValidinhibitPolicyMappingTest2EE.crt | Bin 667 -> 0 bytes .../certs/ValidinhibitPolicyMappingTest4EE.crt | Bin 670 -> 0 bytes .../certs/ValidkeyUsageNotCriticalTest3EE.crt | Bin 661 -> 0 bytes .../certs/ValidonlyContainsCACertsTest13EE.crt | Bin 675 -> 0 bytes .../PKITS/certs/ValidonlySomeReasonsTest18EE.crt | Bin 759 -> 0 bytes .../PKITS/certs/ValidonlySomeReasonsTest19EE.crt | Bin 870 -> 0 bytes .../PKITS/certs/ValidpathLenConstraintTest13EE.crt | Bin 667 -> 0 bytes .../PKITS/certs/ValidpathLenConstraintTest14EE.crt | Bin 684 -> 0 bytes .../PKITS/certs/ValidpathLenConstraintTest7EE.crt | Bin 654 -> 0 bytes .../PKITS/certs/ValidpathLenConstraintTest8EE.crt | Bin 671 -> 0 bytes .../certs/Validpre2000UTCnotBeforeDateTest3EE.crt | Bin 649 -> 0 bytes .../certs/ValidrequireExplicitPolicyTest1EE.crt | Bin 647 -> 0 bytes .../certs/ValidrequireExplicitPolicyTest2EE.crt | Bin 646 -> 0 bytes .../certs/ValidrequireExplicitPolicyTest4EE.crt | Bin 671 -> 0 bytes .../src/test/data/PKITS/certs/WrongCRLCACert.crt | Bin 630 -> 0 bytes .../src/test/data/PKITS/certs/anyPolicyCACert.crt | Bin 640 -> 0 bytes .../basicConstraintsCriticalcAFalseCACert.crt | Bin 652 -> 0 bytes .../certs/basicConstraintsNotCriticalCACert.crt | Bin 647 -> 0 bytes .../basicConstraintsNotCriticalcAFalseCACert.crt | Bin 653 -> 0 bytes .../src/test/data/PKITS/certs/deltaCRLCA1Cert.crt | Bin 630 -> 0 bytes .../src/test/data/PKITS/certs/deltaCRLCA2Cert.crt | Bin 630 -> 0 bytes .../src/test/data/PKITS/certs/deltaCRLCA3Cert.crt | Bin 630 -> 0 bytes .../PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt | Bin 646 -> 0 bytes .../data/PKITS/certs/distributionPoint1CACert.crt | Bin 639 -> 0 bytes .../data/PKITS/certs/distributionPoint2CACert.crt | Bin 639 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA1Cert.crt | Bin 633 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA2Cert.crt | Bin 633 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA3Cert.crt | Bin 633 -> 0 bytes .../PKITS/certs/indirectCRLCA3cRLIssuerCert.crt | Bin 734 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA4Cert.crt | Bin 633 -> 0 bytes .../PKITS/certs/indirectCRLCA4cRLIssuerCert.crt | Bin 861 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA5Cert.crt | Bin 633 -> 0 bytes .../test/data/PKITS/certs/indirectCRLCA6Cert.crt | Bin 633 -> 0 bytes .../data/PKITS/certs/inhibitAnyPolicy0CACert.crt | Bin 669 -> 0 bytes .../data/PKITS/certs/inhibitAnyPolicy1CACert.crt | Bin 669 -> 0 bytes .../certs/inhibitAnyPolicy1SelfIssuedCACert.crt | Bin 646 -> 0 bytes .../inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt | Bin 648 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt | Bin 644 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt | Bin 644 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt | Bin 670 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt | Bin 651 -> 0 bytes .../data/PKITS/certs/inhibitAnyPolicy5CACert.crt | Bin 669 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy5subCACert.crt | Bin 666 -> 0 bytes .../PKITS/certs/inhibitAnyPolicy5subsubCACert.crt | Bin 655 -> 0 bytes .../data/PKITS/certs/inhibitAnyPolicyTest3EE.crt | Bin 650 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping0CACert.crt | Bin 664 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping0subCACert.crt | Bin 699 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping1P12CACert.crt | Bin 682 -> 0 bytes .../certs/inhibitPolicyMapping1P12subCACert.crt | Bin 747 -> 0 bytes .../inhibitPolicyMapping1P12subCAIPM5Cert.crt | Bin 702 -> 0 bytes .../certs/inhibitPolicyMapping1P12subsubCACert.crt | Bin 727 -> 0 bytes .../inhibitPolicyMapping1P12subsubCAIPM5Cert.crt | Bin 735 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping1P1CACert.crt | Bin 667 -> 0 bytes .../inhibitPolicyMapping1P1SelfIssuedCACert.crt | Bin 660 -> 0 bytes .../inhibitPolicyMapping1P1SelfIssuedsubCACert.crt | Bin 708 -> 0 bytes .../certs/inhibitPolicyMapping1P1subCACert.crt | Bin 705 -> 0 bytes .../certs/inhibitPolicyMapping1P1subsubCACert.crt | Bin 711 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping5CACert.crt | Bin 664 -> 0 bytes .../PKITS/certs/inhibitPolicyMapping5subCACert.crt | Bin 676 -> 0 bytes .../certs/inhibitPolicyMapping5subsubCACert.crt | Bin 663 -> 0 bytes .../certs/inhibitPolicyMapping5subsubsubCACert.crt | Bin 711 -> 0 bytes .../certs/keyUsageCriticalcRLSignFalseCACert.crt | Bin 652 -> 0 bytes .../keyUsageCriticalkeyCertSignFalseCACert.crt | Bin 656 -> 0 bytes .../data/PKITS/certs/keyUsageNotCriticalCACert.crt | Bin 639 -> 0 bytes .../keyUsageNotCriticalcRLSignFalseCACert.crt | Bin 653 -> 0 bytes .../keyUsageNotCriticalkeyCertSignFalseCACert.crt | Bin 657 -> 0 bytes .../data/PKITS/certs/nameConstraintsDN1CACert.crt | Bin 733 -> 0 bytes .../certs/nameConstraintsDN1SelfIssuedCACert.crt | Bin 650 -> 0 bytes .../PKITS/certs/nameConstraintsDN1subCA1Cert.crt | Bin 803 -> 0 bytes .../PKITS/certs/nameConstraintsDN1subCA2Cert.crt | Bin 775 -> 0 bytes .../PKITS/certs/nameConstraintsDN1subCA3Cert.crt | Bin 724 -> 0 bytes .../data/PKITS/certs/nameConstraintsDN2CACert.crt | Bin 814 -> 0 bytes .../data/PKITS/certs/nameConstraintsDN3CACert.crt | Bin 732 -> 0 bytes .../PKITS/certs/nameConstraintsDN3subCA1Cert.crt | Bin 746 -> 0 bytes .../PKITS/certs/nameConstraintsDN3subCA2Cert.crt | Bin 719 -> 0 bytes .../data/PKITS/certs/nameConstraintsDN4CACert.crt | Bin 812 -> 0 bytes .../data/PKITS/certs/nameConstraintsDN5CACert.crt | Bin 842 -> 0 bytes .../data/PKITS/certs/nameConstraintsDNS1CACert.crt | Bin 683 -> 0 bytes .../data/PKITS/certs/nameConstraintsDNS2CACert.crt | Bin 686 -> 0 bytes .../PKITS/certs/nameConstraintsRFC822CA1Cert.crt | Bin 687 -> 0 bytes .../PKITS/certs/nameConstraintsRFC822CA2Cert.crt | Bin 686 -> 0 bytes .../PKITS/certs/nameConstraintsRFC822CA3Cert.crt | Bin 686 -> 0 bytes .../data/PKITS/certs/nameConstraintsURI1CACert.crt | Bin 684 -> 0 bytes .../data/PKITS/certs/nameConstraintsURI2CACert.crt | Bin 686 -> 0 bytes .../certs/onlyContainsAttributeCertsCACert.crt | Bin 647 -> 0 bytes .../data/PKITS/certs/onlyContainsCACertsCACert.crt | Bin 640 -> 0 bytes .../PKITS/certs/onlyContainsUserCertsCACert.crt | Bin 642 -> 0 bytes .../data/PKITS/certs/onlySomeReasonsCA1Cert.crt | Bin 637 -> 0 bytes .../data/PKITS/certs/onlySomeReasonsCA2Cert.crt | Bin 637 -> 0 bytes .../data/PKITS/certs/onlySomeReasonsCA3Cert.crt | Bin 637 -> 0 bytes .../data/PKITS/certs/onlySomeReasonsCA4Cert.crt | Bin 637 -> 0 bytes .../data/PKITS/certs/pathLenConstraint0CACert.crt | Bin 642 -> 0 bytes .../certs/pathLenConstraint0SelfIssuedCACert.crt | Bin 648 -> 0 bytes .../PKITS/certs/pathLenConstraint0subCA2Cert.crt | Bin 652 -> 0 bytes .../PKITS/certs/pathLenConstraint0subCACert.crt | Bin 651 -> 0 bytes .../data/PKITS/certs/pathLenConstraint1CACert.crt | Bin 642 -> 0 bytes .../certs/pathLenConstraint1SelfIssuedCACert.crt | Bin 648 -> 0 bytes .../pathLenConstraint1SelfIssuedsubCACert.crt | Bin 654 -> 0 bytes .../PKITS/certs/pathLenConstraint1subCACert.crt | Bin 651 -> 0 bytes .../data/PKITS/certs/pathLenConstraint6CACert.crt | Bin 642 -> 0 bytes .../PKITS/certs/pathLenConstraint6subCA0Cert.crt | Bin 655 -> 0 bytes .../PKITS/certs/pathLenConstraint6subCA1Cert.crt | Bin 655 -> 0 bytes .../PKITS/certs/pathLenConstraint6subCA4Cert.crt | Bin 655 -> 0 bytes .../certs/pathLenConstraint6subsubCA00Cert.crt | Bin 663 -> 0 bytes .../certs/pathLenConstraint6subsubCA11Cert.crt | Bin 663 -> 0 bytes .../certs/pathLenConstraint6subsubCA41Cert.crt | Bin 663 -> 0 bytes .../certs/pathLenConstraint6subsubsubCA11XCert.crt | Bin 668 -> 0 bytes .../certs/pathLenConstraint6subsubsubCA41XCert.crt | Bin 668 -> 0 bytes .../PKITS/certs/pre2000CRLnextUpdateCACert.crt | Bin 643 -> 0 bytes .../PKITS/certs/requireExplicitPolicy0CACert.crt | Bin 662 -> 0 bytes .../certs/requireExplicitPolicy0subCACert.crt | Bin 659 -> 0 bytes .../certs/requireExplicitPolicy0subsubCACert.crt | Bin 665 -> 0 bytes .../requireExplicitPolicy0subsubsubCACert.crt | Bin 671 -> 0 bytes .../PKITS/certs/requireExplicitPolicy10CACert.crt | Bin 663 -> 0 bytes .../certs/requireExplicitPolicy10subCACert.crt | Bin 661 -> 0 bytes .../certs/requireExplicitPolicy10subsubCACert.crt | Bin 667 -> 0 bytes .../requireExplicitPolicy10subsubsubCACert.crt | Bin 673 -> 0 bytes .../PKITS/certs/requireExplicitPolicy2CACert.crt | Bin 662 -> 0 bytes .../requireExplicitPolicy2SelfIssuedCACert.crt | Bin 656 -> 0 bytes .../requireExplicitPolicy2SelfIssuedsubCACert.crt | Bin 662 -> 0 bytes .../certs/requireExplicitPolicy2subCACert.crt | Bin 659 -> 0 bytes .../PKITS/certs/requireExplicitPolicy4CACert.crt | Bin 662 -> 0 bytes .../certs/requireExplicitPolicy4subCACert.crt | Bin 659 -> 0 bytes .../certs/requireExplicitPolicy4subsubCACert.crt | Bin 665 -> 0 bytes .../requireExplicitPolicy4subsubsubCACert.crt | Bin 671 -> 0 bytes .../PKITS/certs/requireExplicitPolicy5CACert.crt | Bin 662 -> 0 bytes .../certs/requireExplicitPolicy5subCACert.crt | Bin 659 -> 0 bytes .../certs/requireExplicitPolicy5subsubCACert.crt | Bin 665 -> 0 bytes .../requireExplicitPolicy5subsubsubCACert.crt | Bin 671 -> 0 bytes .../PKITS/certs/requireExplicitPolicy7CACert.crt | Bin 662 -> 0 bytes .../certs/requireExplicitPolicy7subCARE2Cert.crt | Bin 681 -> 0 bytes .../requireExplicitPolicy7subsubCARE2RE4Cert.crt | Bin 693 -> 0 bytes ...requireExplicitPolicy7subsubsubCARE2RE4Cert.crt | Bin 683 -> 0 bytes .../test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl | Bin 330 -> 0 bytes .../test/data/PKITS/crls/BadCRLSignatureCACRL.crl | Bin 325 -> 0 bytes .../src/test/data/PKITS/crls/BadSignedCACRL.crl | Bin 318 -> 0 bytes .../test/data/PKITS/crls/BadnotAfterDateCACRL.crl | Bin 325 -> 0 bytes .../test/data/PKITS/crls/BadnotBeforeDateCACRL.crl | Bin 326 -> 0 bytes .../crls/BasicSelfIssuedCRLSigningKeyCACRL.crl | Bin 377 -> 0 bytes .../BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl | Bin 479 -> 0 bytes .../data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl | Bin 369 -> 0 bytes .../data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl | Bin 369 -> 0 bytes .../BasicSelfIssuedOldKeySelfIssuedCertCRL.crl | Bin 462 -> 0 bytes .../core/src/test/data/PKITS/crls/DSACACRL.crl | Bin 219 -> 0 bytes .../PKITS/crls/DSAParametersInheritedCACRL.crl | Bin 241 -> 0 bytes .../crls/GeneralizedTimeCRLnextUpdateCACRL.crl | Bin 338 -> 0 bytes .../core/src/test/data/PKITS/crls/GoodCACRL.crl | Bin 382 -> 0 bytes .../core/src/test/data/PKITS/crls/GoodsubCACRL.crl | Bin 315 -> 0 bytes .../crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl | Bin 339 -> 0 bytes .../test/data/PKITS/crls/LongSerialNumberCACRL.crl | Bin 381 -> 0 bytes .../src/test/data/PKITS/crls/Mapping1to2CACRL.crl | Bin 320 -> 0 bytes .../data/PKITS/crls/MappingFromanyPolicyCACRL.crl | Bin 330 -> 0 bytes .../data/PKITS/crls/MappingToanyPolicyCACRL.crl | Bin 328 -> 0 bytes .../PKITS/crls/MissingbasicConstraintsCACRL.crl | Bin 332 -> 0 bytes .../src/test/data/PKITS/crls/NameOrderCACRL.crl | Bin 396 -> 0 bytes .../data/PKITS/crls/NegativeSerialNumberCACRL.crl | Bin 366 -> 0 bytes .../src/test/data/PKITS/crls/NoPoliciesCACRL.crl | Bin 319 -> 0 bytes .../PKITS/crls/NoissuingDistributionPointCACRL.crl | Bin 335 -> 0 bytes .../test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl | Bin 326 -> 0 bytes .../test/data/PKITS/crls/P12Mapping1to3CACRL.crl | Bin 324 -> 0 bytes .../data/PKITS/crls/P12Mapping1to3subCACRL.crl | Bin 327 -> 0 bytes .../data/PKITS/crls/P12Mapping1to3subsubCACRL.crl | Bin 330 -> 0 bytes .../test/data/PKITS/crls/P1Mapping1to234CACRL.crl | Bin 325 -> 0 bytes .../data/PKITS/crls/P1Mapping1to234subCACRL.crl | Bin 328 -> 0 bytes .../PKITS/crls/P1anyPolicyMapping1to2CACRL.crl | Bin 332 -> 0 bytes .../data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl | Bin 331 -> 0 bytes .../test/data/PKITS/crls/PoliciesP1234CACRL.crl | Bin 322 -> 0 bytes .../data/PKITS/crls/PoliciesP1234subCAP123CRL.crl | Bin 329 -> 0 bytes .../PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl | Bin 335 -> 0 bytes .../src/test/data/PKITS/crls/PoliciesP123CACRL.crl | Bin 321 -> 0 bytes .../data/PKITS/crls/PoliciesP123subCAP12CRL.crl | Bin 327 -> 0 bytes .../PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl | Bin 332 -> 0 bytes .../PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl | Bin 332 -> 0 bytes .../crls/PoliciesP123subsubsubCAP12P2P1CRL.crl | Bin 337 -> 0 bytes .../src/test/data/PKITS/crls/PoliciesP12CACRL.crl | Bin 320 -> 0 bytes .../test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl | Bin 325 -> 0 bytes .../data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl | Bin 330 -> 0 bytes .../test/data/PKITS/crls/PoliciesP2subCA2CRL.crl | Bin 323 -> 0 bytes .../test/data/PKITS/crls/PoliciesP2subCACRL.crl | Bin 322 -> 0 bytes .../src/test/data/PKITS/crls/PoliciesP3CACRL.crl | Bin 319 -> 0 bytes .../crls/RFC3280MandatoryAttributeTypesCACRL.crl | Bin 396 -> 0 bytes .../crls/RFC3280OptionalAttributeTypesCACRL.crl | Bin 408 -> 0 bytes .../src/test/data/PKITS/crls/RevokedsubCACRL.crl | Bin 318 -> 0 bytes ...olloverfromPrintableStringtoUTF8StringCACRL.crl | Bin 351 -> 0 bytes .../crls/SeparateCertificateandCRLKeysCA2CRL.crl | Bin 342 -> 0 bytes .../crls/SeparateCertificateandCRLKeysCRL.crl | Bin 378 -> 0 bytes .../test/data/PKITS/crls/TrustAnchorRootCRL.crl | Bin 353 -> 0 bytes .../src/test/data/PKITS/crls/TwoCRLsCABadCRL.crl | Bin 364 -> 0 bytes .../src/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl | Bin 316 -> 0 bytes .../core/src/test/data/PKITS/crls/UIDCACRL.crl | Bin 311 -> 0 bytes .../crls/UTF8StringCaseInsensitiveMatchCACRL.crl | Bin 341 -> 0 bytes .../PKITS/crls/UTF8StringEncodedNamesCACRL.crl | Bin 318 -> 0 bytes .../PKITS/crls/UnknownCRLEntryExtensionCACRL.crl | Bin 392 -> 0 bytes .../data/PKITS/crls/UnknownCRLExtensionCACRL.crl | Bin 386 -> 0 bytes .../src/test/data/PKITS/crls/WrongCRLCACRL.crl | Bin 353 -> 0 bytes .../src/test/data/PKITS/crls/anyPolicyCACRL.crl | Bin 317 -> 0 bytes .../crls/basicConstraintsCriticalcAFalseCACRL.crl | Bin 342 -> 0 bytes .../crls/basicConstraintsNotCriticalCACRL.crl | Bin 337 -> 0 bytes .../basicConstraintsNotCriticalcAFalseCACRL.crl | Bin 346 -> 0 bytes .../src/test/data/PKITS/crls/deltaCRLCA1CRL.crl | Bin 509 -> 0 bytes .../test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl | Bin 472 -> 0 bytes .../src/test/data/PKITS/crls/deltaCRLCA2CRL.crl | Bin 441 -> 0 bytes .../test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl | Bin 368 -> 0 bytes .../src/test/data/PKITS/crls/deltaCRLCA3CRL.crl | Bin 404 -> 0 bytes .../test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl | Bin 332 -> 0 bytes .../PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl | Bin 348 -> 0 bytes .../data/PKITS/crls/distributionPoint1CACRL.crl | Bin 501 -> 0 bytes .../data/PKITS/crls/distributionPoint2CACRL.crl | Bin 419 -> 0 bytes .../src/test/data/PKITS/crls/indirectCRLCA1CRL.crl | Bin 373 -> 0 bytes .../src/test/data/PKITS/crls/indirectCRLCA3CRL.crl | Bin 427 -> 0 bytes .../data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl | Bin 481 -> 0 bytes .../data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl | Bin 481 -> 0 bytes .../src/test/data/PKITS/crls/indirectCRLCA5CRL.crl | Bin 1408 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy0CACRL.crl | Bin 325 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy1CACRL.crl | Bin 325 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl | Bin 329 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl | Bin 329 -> 0 bytes .../PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl | Bin 332 -> 0 bytes .../PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl | Bin 332 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy5CACRL.crl | Bin 325 -> 0 bytes .../data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl | Bin 328 -> 0 bytes .../PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl | Bin 331 -> 0 bytes .../data/PKITS/crls/inhibitPolicyMapping0CACRL.crl | Bin 329 -> 0 bytes .../PKITS/crls/inhibitPolicyMapping0subCACRL.crl | Bin 332 -> 0 bytes .../PKITS/crls/inhibitPolicyMapping1P12CACRL.crl | Bin 333 -> 0 bytes .../crls/inhibitPolicyMapping1P12subCACRL.crl | Bin 336 -> 0 bytes .../crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl | Bin 340 -> 0 bytes .../crls/inhibitPolicyMapping1P12subsubCACRL.crl | Bin 339 -> 0 bytes .../inhibitPolicyMapping1P12subsubCAIPM5CRL.crl | Bin 343 -> 0 bytes .../PKITS/crls/inhibitPolicyMapping1P1CACRL.crl | Bin 332 -> 0 bytes .../PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl | Bin 335 -> 0 bytes .../crls/inhibitPolicyMapping1P1subsubCACRL.crl | Bin 338 -> 0 bytes .../data/PKITS/crls/inhibitPolicyMapping5CACRL.crl | Bin 329 -> 0 bytes .../PKITS/crls/inhibitPolicyMapping5subCACRL.crl | Bin 332 -> 0 bytes .../crls/inhibitPolicyMapping5subsubCACRL.crl | Bin 335 -> 0 bytes .../crls/inhibitPolicyMapping5subsubsubCACRL.crl | Bin 338 -> 0 bytes .../crls/keyUsageCriticalcRLSignFalseCACRL.crl | Bin 339 -> 0 bytes .../crls/keyUsageCriticalkeyCertSignFalseCACRL.crl | Bin 343 -> 0 bytes .../data/PKITS/crls/keyUsageNotCriticalCACRL.crl | Bin 329 -> 0 bytes .../crls/keyUsageNotCriticalcRLSignFalseCACRL.crl | Bin 343 -> 0 bytes .../keyUsageNotCriticalkeyCertSignFalseCACRL.crl | Bin 347 -> 0 bytes .../data/PKITS/crls/nameConstraintsDN1CACRL.crl | Bin 327 -> 0 bytes .../PKITS/crls/nameConstraintsDN1subCA1CRL.crl | Bin 359 -> 0 bytes .../PKITS/crls/nameConstraintsDN1subCA2CRL.crl | Bin 359 -> 0 bytes .../PKITS/crls/nameConstraintsDN1subCA3CRL.crl | Bin 359 -> 0 bytes .../data/PKITS/crls/nameConstraintsDN2CACRL.crl | Bin 327 -> 0 bytes .../data/PKITS/crls/nameConstraintsDN3CACRL.crl | Bin 327 -> 0 bytes .../PKITS/crls/nameConstraintsDN3subCA1CRL.crl | Bin 331 -> 0 bytes .../PKITS/crls/nameConstraintsDN3subCA2CRL.crl | Bin 331 -> 0 bytes .../data/PKITS/crls/nameConstraintsDN4CACRL.crl | Bin 327 -> 0 bytes .../data/PKITS/crls/nameConstraintsDN5CACRL.crl | Bin 327 -> 0 bytes .../data/PKITS/crls/nameConstraintsDNS1CACRL.crl | Bin 328 -> 0 bytes .../data/PKITS/crls/nameConstraintsDNS2CACRL.crl | Bin 328 -> 0 bytes .../PKITS/crls/nameConstraintsRFC822CA1CRL.crl | Bin 331 -> 0 bytes .../PKITS/crls/nameConstraintsRFC822CA2CRL.crl | Bin 331 -> 0 bytes .../PKITS/crls/nameConstraintsRFC822CA3CRL.crl | Bin 331 -> 0 bytes .../data/PKITS/crls/nameConstraintsURI1CACRL.crl | Bin 328 -> 0 bytes .../data/PKITS/crls/nameConstraintsURI2CACRL.crl | Bin 328 -> 0 bytes .../PKITS/crls/onlyContainsAttributeCertsCACRL.crl | Bin 351 -> 0 bytes .../data/PKITS/crls/onlyContainsCACertsCACRL.crl | Bin 344 -> 0 bytes .../data/PKITS/crls/onlyContainsUserCertsCACRL.crl | Bin 346 -> 0 bytes .../PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl | Bin 378 -> 0 bytes .../crls/onlySomeReasonsCA1otherreasonsCRL.crl | Bin 379 -> 0 bytes .../data/PKITS/crls/onlySomeReasonsCA2CRL1.crl | Bin 342 -> 0 bytes .../data/PKITS/crls/onlySomeReasonsCA2CRL2.crl | Bin 342 -> 0 bytes .../PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl | Bin 438 -> 0 bytes .../crls/onlySomeReasonsCA3otherreasonsCRL.crl | Bin 439 -> 0 bytes .../PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl | Bin 475 -> 0 bytes .../crls/onlySomeReasonsCA4otherreasonsCRL.crl | Bin 476 -> 0 bytes .../data/PKITS/crls/pathLenConstraint0CACRL.crl | Bin 326 -> 0 bytes .../PKITS/crls/pathLenConstraint0subCA2CRL.crl | Bin 330 -> 0 bytes .../data/PKITS/crls/pathLenConstraint0subCACRL.crl | Bin 329 -> 0 bytes .../data/PKITS/crls/pathLenConstraint1CACRL.crl | Bin 326 -> 0 bytes .../data/PKITS/crls/pathLenConstraint1subCACRL.crl | Bin 329 -> 0 bytes .../data/PKITS/crls/pathLenConstraint6CACRL.crl | Bin 326 -> 0 bytes .../PKITS/crls/pathLenConstraint6subCA0CRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/pathLenConstraint6subCA1CRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/pathLenConstraint6subCA4CRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/pathLenConstraint6subsubCA00CRL.crl | Bin 334 -> 0 bytes .../PKITS/crls/pathLenConstraint6subsubCA11CRL.crl | Bin 334 -> 0 bytes .../PKITS/crls/pathLenConstraint6subsubCA41CRL.crl | Bin 334 -> 0 bytes .../crls/pathLenConstraint6subsubsubCA11XCRL.crl | Bin 338 -> 0 bytes .../crls/pathLenConstraint6subsubsubCA41XCRL.crl | Bin 338 -> 0 bytes .../data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/requireExplicitPolicy0CACRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/requireExplicitPolicy0subCACRL.crl | Bin 333 -> 0 bytes .../crls/requireExplicitPolicy0subsubCACRL.crl | Bin 336 -> 0 bytes .../crls/requireExplicitPolicy0subsubsubCACRL.crl | Bin 339 -> 0 bytes .../PKITS/crls/requireExplicitPolicy10CACRL.crl | Bin 331 -> 0 bytes .../PKITS/crls/requireExplicitPolicy10subCACRL.crl | Bin 334 -> 0 bytes .../crls/requireExplicitPolicy10subsubCACRL.crl | Bin 337 -> 0 bytes .../crls/requireExplicitPolicy10subsubsubCACRL.crl | Bin 340 -> 0 bytes .../PKITS/crls/requireExplicitPolicy2CACRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/requireExplicitPolicy2subCACRL.crl | Bin 333 -> 0 bytes .../PKITS/crls/requireExplicitPolicy4CACRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/requireExplicitPolicy4subCACRL.crl | Bin 333 -> 0 bytes .../crls/requireExplicitPolicy4subsubCACRL.crl | Bin 336 -> 0 bytes .../crls/requireExplicitPolicy4subsubsubCACRL.crl | Bin 339 -> 0 bytes .../PKITS/crls/requireExplicitPolicy5CACRL.crl | Bin 330 -> 0 bytes .../PKITS/crls/requireExplicitPolicy5subCACRL.crl | Bin 333 -> 0 bytes .../crls/requireExplicitPolicy5subsubCACRL.crl | Bin 336 -> 0 bytes .../crls/requireExplicitPolicy5subsubsubCACRL.crl | Bin 339 -> 0 bytes .../PKITS/crls/requireExplicitPolicy7CACRL.crl | Bin 330 -> 0 bytes .../crls/requireExplicitPolicy7subCARE2CRL.crl | Bin 336 -> 0 bytes .../requireExplicitPolicy7subsubCARE2RE4CRL.crl | Bin 342 -> 0 bytes .../requireExplicitPolicy7subsubsubCARE2RE4CRL.crl | Bin 345 -> 0 bytes .../core/src/test/data/cmp/sample_cr.der | Bin 489 -> 0 bytes .../core/src/test/data/openpgp/dsa/README.txt | 36 - .../test/data/openpgp/dsa/keys/DSA-1024-160.pub | Bin 534 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-1024-160.sec | Bin 597 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-15360-512.pub | Bin 6043 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-15360-512.sec | Bin 6150 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-2048-224.pub | Bin 941 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-2048-224.sec | Bin 1012 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-3072-256.pub | Bin 1337 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-3072-256.sec | Bin 1412 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-7680-384.pub | Bin 3113 -> 0 bytes .../test/data/openpgp/dsa/keys/DSA-7680-384.sec | Bin 3204 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg | 1 - .../data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg | Bin 121 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg | Bin 123 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg | Bin 122 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg | Bin 122 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg | Bin 216 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg | Bin 141 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg | Bin 150 -> 0 bytes .../data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg | Bin 184 -> 0 bytes .../test/data/openpgp/unicode/passphrase_cyr.txt | 1 - .../data/openpgp/unicode/passphrase_for_test.txt | 1 - .../core/src/test/data/openpgp/unicode/secring.gpg | Bin 3955 -> 0 bytes .../core/src/test/data/openpgp/unicode/test.asc | 33 - .../spongycastle/mail/smime/test/attachonly.eml | 374 - .../spongycastle/mail/smime/test/basicAS2.message | Bin 3599 -> 0 bytes .../spongycastle/mail/smime/test/brokenEnv.message | 33 - .../data/org/spongycastle/mail/smime/test/cert.pem | 73 - .../spongycastle/mail/smime/test/certpath_end1.crt | 18 - .../spongycastle/mail/smime/test/certpath_end2.crt | 18 - .../mail/smime/test/certpath_inter1.crt | 19 - .../mail/smime/test/certpath_inter2.crt | 19 - .../spongycastle/mail/smime/test/certpath_root.crt | 18 - .../org/spongycastle/mail/smime/test/circular.eml | 109 - .../mail/smime/test/dotnet_enc_cert.pem | 33 - .../mail/smime/test/dotnet_encrypted_mail.eml | 16932 ------- .../mail/smime/test/embeddedmulti.message | 130 - .../org/spongycastle/mail/smime/test/extra-nl.eml | 70 - .../org/spongycastle/mail/smime/test/johndoe.p12 | Bin 2390 -> 0 bytes .../data/org/spongycastle/mail/smime/test/key.pem | 15 - .../mail/smime/test/multi-alternative.eml | 189 - .../mail/smime/test/outlook_2010_beta_sime_msg.eml | 25 - .../spongycastle/mail/smime/test/qp-soft-break.eml | 104 - .../spongycastle/mail/smime/test/quotable.message | 64 - .../spongycastle/mail/smime/test/rawAS2.message | Bin 3082 -> 0 bytes .../spongycastle/mail/smime/test/test128.message | 21 - .../spongycastle/mail/smime/test/test192.message | 21 - .../spongycastle/mail/smime/test/test256.message | 21 - .../mail/smime/test/validator.expired.eml | 52 - .../mail/smime/test/validator.extKeyUsage.eml | 53 - .../mail/smime/test/validator.fakeRoot.crt | 16 - .../mail/smime/test/validator.keyUsage.eml | 52 - .../mail/smime/test/validator.longValidity.eml | 53 - .../mail/smime/test/validator.noEmail.eml | 52 - .../mail/smime/test/validator.notYetValid.eml | 52 - .../mail/smime/test/validator.revoked.crl | Bin 276 -> 0 bytes .../mail/smime/test/validator.revoked.eml | 52 - .../mail/smime/test/validator.root.crt | 16 - .../mail/smime/test/validator.shortKey.eml | 50 - .../mail/smime/test/validator.validMail.eml | 53 - .../core/src/test/data/rfc4134/3.1.bin | Bin 55 -> 0 bytes .../core/src/test/data/rfc4134/3.2.bin | 1 - .../core/src/test/data/rfc4134/4.1.bin | Bin 923 -> 0 bytes .../core/src/test/data/rfc4134/4.10.bin | Bin 2051 -> 0 bytes .../core/src/test/data/rfc4134/4.11.bin | Bin 1676 -> 0 bytes .../core/src/test/data/rfc4134/4.2.bin | Bin 854 -> 0 bytes .../core/src/test/data/rfc4134/4.3.bin | Bin 891 -> 0 bytes .../core/src/test/data/rfc4134/4.4.bin | Bin 2833 -> 0 bytes .../core/src/test/data/rfc4134/4.5.bin | Bin 1359 -> 0 bytes .../core/src/test/data/rfc4134/4.6.bin | Bin 1467 -> 0 bytes .../core/src/test/data/rfc4134/4.7.bin | Bin 920 -> 0 bytes .../core/src/test/data/rfc4134/4.8.eml | 39 - .../core/src/test/data/rfc4134/4.9.eml | 28 - .../core/src/test/data/rfc4134/5.1.bin | Bin 290 -> 0 bytes .../core/src/test/data/rfc4134/5.2.bin | Bin 361 -> 0 bytes .../core/src/test/data/rfc4134/5.3.eml | 19 - .../core/src/test/data/rfc4134/6.0.bin | Bin 96 -> 0 bytes .../core/src/test/data/rfc4134/7.1.bin | Bin 89 -> 0 bytes .../core/src/test/data/rfc4134/7.2.bin | Bin 152 -> 0 bytes .../data/rfc4134/AliceDSSSignByCarlNoInherit.cer | Bin 736 -> 0 bytes .../src/test/data/rfc4134/AlicePrivDSSSign.pri | Bin 335 -> 0 bytes .../src/test/data/rfc4134/AlicePrivRSASign.pri | Bin 634 -> 0 bytes .../src/test/data/rfc4134/AliceRSASignByCarl.cer | Bin 560 -> 0 bytes .../src/test/data/rfc4134/BobPrivRSAEncrypt.pri | Bin 649 -> 0 bytes .../src/test/data/rfc4134/BobRSASignByCarl.cer | Bin 555 -> 0 bytes .../core/src/test/data/rfc4134/CarlDSSCRLEmpty.crl | Bin 111 -> 0 bytes .../src/test/data/rfc4134/CarlDSSCRLForAll.crl | Bin 219 -> 0 bytes .../src/test/data/rfc4134/CarlDSSCRLForCarl.crl | Bin 134 -> 0 bytes .../core/src/test/data/rfc4134/CarlDSSSelf.cer | Bin 671 -> 0 bytes .../core/src/test/data/rfc4134/CarlPrivDSSSign.pri | Bin 334 -> 0 bytes .../core/src/test/data/rfc4134/CarlPrivRSASign.pri | Bin 634 -> 0 bytes .../core/src/test/data/rfc4134/CarlRSACRLEmpty.crl | Bin 202 -> 0 bytes .../src/test/data/rfc4134/CarlRSACRLForAll.crl | Bin 311 -> 0 bytes .../src/test/data/rfc4134/CarlRSACRLForCarl.crl | Bin 239 -> 0 bytes .../core/src/test/data/rfc4134/CarlRSASelf.cer | Bin 495 -> 0 bytes .../data/rfc4134/DianeDSSSignByCarlInherit.cer | Bin 444 -> 0 bytes .../src/test/data/rfc4134/DianePrivDSSSign.pri | Bin 335 -> 0 bytes .../test/data/rfc4134/DianePrivRSASignEncrypt.pri | Bin 635 -> 0 bytes .../src/test/data/rfc4134/DianeRSASignByCarl.cer | Bin 560 -> 0 bytes .../core/src/test/data/rfc4134/ExContent.bin | 1 - .../core/src/test/data/rfc4134/rfc4134.txt | 7619 ---- .../src/test/data/tls/keystores/client_store.dsa | Bin 2035 -> 0 bytes .../src/test/data/tls/keystores/client_store.rsa | Bin 1947 -> 0 bytes .../src/test/data/tls/keystores/server_store.dsa | Bin 2035 -> 0 bytes .../src/test/data/tls/keystores/server_store.rsa | Bin 1947 -> 0 bytes .../test/j2me/java/math/test/BigIntegerTest.java | 461 - .../test/j2me/java/math/test/RegressionTest.java | 21 - .../asn1/test/GeneralizedTimeTest.java | 189 - .../org/spongycastle/asn1/test/RegressionTest.java | 63 - .../org/spongycastle/asn1/test/UTCTimeTest.java | 98 - .../spongycastle/crypto/test/BigIntegerTest.java | 32 - .../crypto/test/CryptoRegressionTest.java | 64 - .../j2me/org/spongycastle/crypto/test/RSATest.java | 480 - .../spongycastle/crypto/test/RegressionTest.java | 68 - .../asn1/test/ASN1SequenceParserTest.java | 372 - .../org/spongycastle/asn1/test/ASN1UnitTest.java | 89 - .../test/AdditionalInformationSyntaxUnitTest.java | 69 - .../asn1/test/AdmissionSyntaxUnitTest.java | 97 - .../spongycastle/asn1/test/AdmissionsUnitTest.java | 86 - .../java/org/spongycastle/asn1/test/AllTests.java | 43 - .../asn1/test/AttributeTableUnitTest.java | 144 - .../asn1/test/BiometricDataUnitTest.java | 133 - .../asn1/test/BitStringConstantTester.java | 22 - .../org/spongycastle/asn1/test/BitStringTest.java | 73 - .../java/org/spongycastle/asn1/test/CMSTest.java | 358 - .../spongycastle/asn1/test/CertHashUnitTest.java | 84 - .../spongycastle/asn1/test/CertificateTest.java | 574 - .../test/CommitmentTypeIndicationUnitTest.java | 103 - .../asn1/test/CommitmentTypeQualifierUnitTest.java | 102 - .../asn1/test/ContentHintsUnitTest.java | 87 - .../spongycastle/asn1/test/CscaMasterListTest.java | 49 - .../asn1/test/DERApplicationSpecificTest.java | 77 - .../spongycastle/asn1/test/DERUTF8StringTest.java | 101 - .../asn1/test/DataGroupHashUnitTest.java | 106 - .../asn1/test/DeclarationOfMajorityUnitTest.java | 91 - .../asn1/test/ESSCertIDv2UnitTest.java | 33 - .../asn1/test/EncryptedPrivateKeyInfoTest.java | 135 - .../org/spongycastle/asn1/test/EnumeratedTest.java | 115 - .../asn1/test/EqualsAndHashCodeTest.java | 127 - .../spongycastle/asn1/test/GeneralNameTest.java | 143 - .../asn1/test/GeneralizedTimeTest.java | 201 - .../org/spongycastle/asn1/test/GenerationTest.java | 428 - .../spongycastle/asn1/test/GetInstanceTest.java | 888 - .../spongycastle/asn1/test/InputStreamTest.java | 75 - .../asn1/test/Iso4217CurrencyCodeUnitTest.java | 142 - .../test/IssuingDistributionPointUnitTest.java | 122 - .../org/spongycastle/asn1/test/KeyUsageTest.java | 55 - .../asn1/test/LDSSecurityObjectUnitTest.java | 214 - .../java/org/spongycastle/asn1/test/MiscTest.java | 113 - .../asn1/test/MonetaryLimitUnitTest.java | 85 - .../asn1/test/MonetaryValueUnitTest.java | 88 - .../asn1/test/NameOrPseudonymUnitTest.java | 108 - .../asn1/test/NamingAuthorityUnitTest.java | 99 - .../asn1/test/NetscapeCertTypeTest.java | 34 - .../java/org/spongycastle/asn1/test/OCSPTest.java | 193 - .../java/org/spongycastle/asn1/test/OIDTest.java | 166 - .../asn1/test/ObjectIdentifierTest.java | 38 - .../spongycastle/asn1/test/OctetStringTest.java | 203 - .../asn1/test/OtherCertIDUnitTest.java | 97 - .../asn1/test/OtherSigningCertificateUnitTest.java | 86 - .../org/spongycastle/asn1/test/PKCS10Test.java | 101 - .../org/spongycastle/asn1/test/PKCS12Test.java | 227 - .../spongycastle/asn1/test/PKIFailureInfoTest.java | 68 - .../java/org/spongycastle/asn1/test/ParseTest.java | 308 - .../org/spongycastle/asn1/test/ParsingTest.java | 99 - .../asn1/test/PersonalDataUnitTest.java | 122 - .../asn1/test/ProcurationSyntaxUnitTest.java | 107 - .../asn1/test/ProfessionInfoUnitTest.java | 118 - .../asn1/test/QCStatementUnitTest.java | 105 - .../org/spongycastle/asn1/test/RFC4519Test.java | 149 - .../spongycastle/asn1/test/ReasonFlagsTest.java | 35 - .../org/spongycastle/asn1/test/RegressionTest.java | 92 - .../asn1/test/RequestedCertificateUnitTest.java | 108 - .../asn1/test/RestrictionUnitTest.java | 70 - .../java/org/spongycastle/asn1/test/SMIMETest.java | 109 - .../asn1/test/SemanticsInformationUnitTest.java | 136 - .../java/org/spongycastle/asn1/test/SetTest.java | 115 - .../asn1/test/SignerLocationUnitTest.java | 197 - .../org/spongycastle/asn1/test/StringTest.java | 161 - .../asn1/test/SubjectKeyIdentifierTest.java | 52 - .../java/org/spongycastle/asn1/test/TagTest.java | 113 - .../asn1/test/TargetInformationTest.java | 48 - .../asn1/test/TypeOfBiometricDataUnitTest.java | 145 - .../org/spongycastle/asn1/test/UTCTimeTest.java | 108 - .../org/spongycastle/asn1/test/X500NameTest.java | 771 - .../spongycastle/asn1/test/X509ExtensionsTest.java | 105 - .../org/spongycastle/asn1/test/X509NameTest.java | 694 - .../java/org/spongycastle/asn1/test/X9Test.java | 182 - .../crypto/agreement/test/AllTests.java | 25 - .../agreement/test/JPAKEParticipantTest.java | 561 - .../agreement/test/JPAKEPrimeOrderGroupTest.java | 85 - .../crypto/agreement/test/JPAKEUtilTest.java | 267 - .../org/spongycastle/crypto/ec/test/AllTests.java | 39 - .../spongycastle/crypto/ec/test/ECElGamalTest.java | 84 - .../crypto/ec/test/ECTransformationTest.java | 145 - .../spongycastle/crypto/prng/test/AllTests.java | 39 - .../spongycastle/crypto/prng/test/CTRDRBGTest.java | 513 - .../crypto/prng/test/DRBGTestVector.java | 131 - .../crypto/prng/test/DualECDRBGTest.java | 415 - .../crypto/prng/test/FixedSecureRandomTest.java | 68 - .../crypto/prng/test/HMacDRBGTest.java | 508 - .../crypto/prng/test/HashDRBGTest.java | 481 - .../crypto/prng/test/RegressionTest.java | 33 - .../crypto/prng/test/SP800RandomTest.java | 319 - .../prng/test/TestEntropySourceProvider.java | 46 - .../org/spongycastle/crypto/test/AEADTestUtil.java | 192 - .../org/spongycastle/crypto/test/AESFastTest.java | 150 - .../org/spongycastle/crypto/test/AESLightTest.java | 150 - .../java/org/spongycastle/crypto/test/AESTest.java | 295 - .../crypto/test/AESVectorFileTest.java | 258 - .../org/spongycastle/crypto/test/AESWrapTest.java | 238 - .../org/spongycastle/crypto/test/AllTests.java | 41 - .../crypto/test/BlockCipherMonteCarloTest.java | 82 - .../crypto/test/BlockCipherResetTest.java | 206 - .../crypto/test/BlockCipherVectorTest.java | 71 - .../org/spongycastle/crypto/test/BlowfishTest.java | 57 - .../org/spongycastle/crypto/test/CAST5Test.java | 44 - .../org/spongycastle/crypto/test/CAST6Test.java | 44 - .../java/org/spongycastle/crypto/test/CCMTest.java | 301 - .../org/spongycastle/crypto/test/CMacTest.java | 279 - .../java/org/spongycastle/crypto/test/CTSTest.java | 212 - .../crypto/test/CamelliaLightTest.java | 66 - .../org/spongycastle/crypto/test/CamelliaTest.java | 70 - .../org/spongycastle/crypto/test/ChaChaTest.java | 273 - .../spongycastle/crypto/test/CipherStreamTest.java | 542 - .../org/spongycastle/crypto/test/CipherTest.java | 117 - .../java/org/spongycastle/crypto/test/DESTest.java | 206 - .../org/spongycastle/crypto/test/DESedeTest.java | 177 - .../crypto/test/DHKEKGeneratorTest.java | 70 - .../java/org/spongycastle/crypto/test/DHTest.java | 414 - .../java/org/spongycastle/crypto/test/DSATest.java | 602 - .../org/spongycastle/crypto/test/DSTU4145Test.java | 278 - .../crypto/test/DeterministicDSATest.java | 513 - .../crypto/test/DigestRandomNumberTest.java | 152 - .../org/spongycastle/crypto/test/DigestTest.java | 178 - .../java/org/spongycastle/crypto/test/EAXTest.java | 351 - .../crypto/test/ECDHKEKGeneratorTest.java | 71 - .../spongycastle/crypto/test/ECGOST3410Test.java | 317 - .../crypto/test/ECIESKeyEncapsulationTest.java | 138 - .../org/spongycastle/crypto/test/ECIESTest.java | 349 - .../org/spongycastle/crypto/test/ECNRTest.java | 95 - .../java/org/spongycastle/crypto/test/ECTest.java | 901 - .../org/spongycastle/crypto/test/ElGamalTest.java | 260 - .../crypto/test/EqualsHashCodeTest.java | 261 - .../spongycastle/crypto/test/GCMReorderTest.java | 348 - .../java/org/spongycastle/crypto/test/GCMTest.java | 675 - .../org/spongycastle/crypto/test/GMacTest.java | 171 - .../spongycastle/crypto/test/GOST28147MacTest.java | 89 - .../spongycastle/crypto/test/GOST28147Test.java | 328 - .../org/spongycastle/crypto/test/GOST3410Test.java | 1570 - .../crypto/test/GOST3411DigestTest.java | 74 - .../org/spongycastle/crypto/test/Grain128Test.java | 117 - .../org/spongycastle/crypto/test/Grainv1Test.java | 140 - .../org/spongycastle/crypto/test/HCFamilyTest.java | 192 - .../spongycastle/crypto/test/HCFamilyVecTest.java | 199 - .../crypto/test/HKDFGeneratorTest.java | 304 - .../crypto/test/HashCommitmentTest.java | 152 - .../org/spongycastle/crypto/test/IDEATest.java | 38 - .../org/spongycastle/crypto/test/ISAACTest.java | 180 - .../org/spongycastle/crypto/test/ISO9796Test.java | 972 - .../crypto/test/ISO9797Alg3MacTest.java | 126 - .../crypto/test/KDF1GeneratorTest.java | 93 - .../crypto/test/KDF2GeneratorTest.java | 105 - .../crypto/test/KDFCounterGeneratorTest.java | 51 - .../KDFDoublePipelineIteratorGeneratorTest.java | 72 - .../crypto/test/KDFFeedbackGeneratorTest.java | 71 - .../spongycastle/crypto/test/MD2DigestTest.java | 52 - .../spongycastle/crypto/test/MD4DigestTest.java | 43 - .../spongycastle/crypto/test/MD5DigestTest.java | 43 - .../org/spongycastle/crypto/test/MD5HMacTest.java | 98 - .../crypto/test/MGF1GeneratorTest.java | 88 - .../java/org/spongycastle/crypto/test/MacTest.java | 181 - .../org/spongycastle/crypto/test/ModeTest.java | 115 - .../crypto/test/NaccacheSternTest.java | 354 - .../org/spongycastle/crypto/test/NoekeonTest.java | 45 - .../crypto/test/NonMemoableDigestTest.java | 112 - .../org/spongycastle/crypto/test/NullTest.java | 77 - .../org/spongycastle/crypto/test/OAEPTest.java | 830 - .../java/org/spongycastle/crypto/test/OCBTest.java | 296 - .../org/spongycastle/crypto/test/PKCS12Test.java | 206 - .../org/spongycastle/crypto/test/PKCS5Test.java | 265 - .../org/spongycastle/crypto/test/PSSBlindTest.java | 398 - .../java/org/spongycastle/crypto/test/PSSTest.java | 332 - .../org/spongycastle/crypto/test/PaddingTest.java | 167 - .../org/spongycastle/crypto/test/Poly1305Test.java | 388 - .../java/org/spongycastle/crypto/test/RC2Test.java | 66 - .../org/spongycastle/crypto/test/RC2WrapTest.java | 111 - .../java/org/spongycastle/crypto/test/RC4Test.java | 45 - .../java/org/spongycastle/crypto/test/RC5Test.java | 188 - .../java/org/spongycastle/crypto/test/RC6Test.java | 64 - .../spongycastle/crypto/test/RFC3211WrapTest.java | 220 - .../crypto/test/RIPEMD128DigestTest.java | 58 - .../crypto/test/RIPEMD128HMacTest.java | 86 - .../crypto/test/RIPEMD160DigestTest.java | 58 - .../crypto/test/RIPEMD160HMacTest.java | 86 - .../crypto/test/RIPEMD256DigestTest.java | 58 - .../crypto/test/RIPEMD320DigestTest.java | 58 - .../spongycastle/crypto/test/RSABlindedTest.java | 437 - .../crypto/test/RSADigestSignerTest.java | 55 - .../crypto/test/RSAKeyEncapsulationTest.java | 61 - .../java/org/spongycastle/crypto/test/RSATest.java | 498 - .../spongycastle/crypto/test/RegressionTest.java | 155 - .../org/spongycastle/crypto/test/ResetTest.java | 99 - .../org/spongycastle/crypto/test/RijndaelTest.java | 116 - .../org/spongycastle/crypto/test/SCryptTest.java | 96 - .../org/spongycastle/crypto/test/SEEDTest.java | 53 - .../spongycastle/crypto/test/SHA1DigestTest.java | 43 - .../org/spongycastle/crypto/test/SHA1HMacTest.java | 111 - .../spongycastle/crypto/test/SHA224DigestTest.java | 54 - .../spongycastle/crypto/test/SHA224HMacTest.java | 108 - .../spongycastle/crypto/test/SHA256DigestTest.java | 55 - .../spongycastle/crypto/test/SHA256HMacTest.java | 108 - .../spongycastle/crypto/test/SHA384DigestTest.java | 54 - .../spongycastle/crypto/test/SHA384HMacTest.java | 108 - .../spongycastle/crypto/test/SHA3DigestTest.java | 363 - .../spongycastle/crypto/test/SHA512DigestTest.java | 55 - .../spongycastle/crypto/test/SHA512HMacTest.java | 108 - .../crypto/test/SHA512t224DigestTest.java | 55 - .../crypto/test/SHA512t256DigestTest.java | 55 - .../spongycastle/crypto/test/SM3DigestTest.java | 57 - .../org/spongycastle/crypto/test/SRP6Test.java | 276 - .../org/spongycastle/crypto/test/Salsa20Test.java | 270 - .../org/spongycastle/crypto/test/SerpentTest.java | 103 - .../org/spongycastle/crypto/test/Shacal2Test.java | 200 - .../crypto/test/ShortenedDigestTest.java | 89 - .../org/spongycastle/crypto/test/SipHashTest.java | 62 - .../spongycastle/crypto/test/SkeinDigestTest.java | 294 - .../org/spongycastle/crypto/test/SkeinMacTest.java | 162 - .../org/spongycastle/crypto/test/SkipjackTest.java | 35 - .../crypto/test/StreamCipherResetTest.java | 133 - .../crypto/test/StreamCipherVectorTest.java | 62 - .../java/org/spongycastle/crypto/test/TEATest.java | 48 - .../crypto/test/Threefish1024Test.java | 60 - .../spongycastle/crypto/test/Threefish256Test.java | 45 - .../spongycastle/crypto/test/Threefish512Test.java | 50 - .../spongycastle/crypto/test/TigerDigestTest.java | 59 - .../org/spongycastle/crypto/test/TwofishTest.java | 45 - .../org/spongycastle/crypto/test/VMPCKSA3Test.java | 97 - .../org/spongycastle/crypto/test/VMPCMacTest.java | 51 - .../org/spongycastle/crypto/test/VMPCTest.java | 97 - .../crypto/test/WhirlpoolDigestTest.java | 105 - .../org/spongycastle/crypto/test/XSalsa20Test.java | 166 - .../org/spongycastle/crypto/test/XTEATest.java | 48 - .../crypto/test/cavp/CAVPListener.java | 18 - .../spongycastle/crypto/test/cavp/CAVPReader.java | 152 - .../crypto/test/cavp/KDFCounterTests.java | 102 - .../test/cavp/KDFDoublePipelineCounterTests.java | 107 - .../KDFDoublePipelineIterationNoCounterTests.java | 88 - .../crypto/test/cavp/KDFFeedbackCounterTests.java | 108 - .../test/cavp/KDFFeedbackNoCounterTests.java | 89 - .../crypto/test/speedy/MacThroughputTest.java | 156 - .../crypto/test/speedy/Poly1305Reference.java | 292 - .../test/speedy/ThreefishReferenceEngine.java | 395 - .../crypto/test/speedy/ThroughputTest.java | 203 - .../org/spongycastle/crypto/tls/test/AllTests.java | 23 - .../spongycastle/crypto/tls/test/BasicTlsTest.java | 200 - .../crypto/tls/test/DTLSClientTest.java | 80 - .../crypto/tls/test/DTLSProtocolTest.java | 104 - .../spongycastle/crypto/tls/test/GnuTLSSetup.txt | 18 - .../crypto/tls/test/HTTPSServerThread.java | 113 - .../spongycastle/crypto/tls/test/KeyStores.java | 113 - .../crypto/tls/test/LoggingDatagramTransport.java | 91 - .../crypto/tls/test/MockDTLSClient.java | 169 - .../crypto/tls/test/MockDTLSServer.java | 142 - .../crypto/tls/test/MockDatagramAssociation.java | 113 - .../spongycastle/crypto/tls/test/OpenSSLSetup.txt | 16 - .../crypto/tls/test/TestTlsClient.java | 23 - .../crypto/tls/test/TlsClientTest.java | 222 - .../crypto/tls/test/TlsProtocolTest.java | 294 - .../spongycastle/crypto/tls/test/TlsTestUtils.java | 157 - .../tls/test/UnreliableDatagramTransport.java | 93 - .../i18n/filter/test/HTMLFilterTest.java | 29 - .../i18n/filter/test/SQLFilterTest.java | 20 - .../java/org/spongycastle/i18n/test/AllTests.java | 28 - .../i18n/test/LocalizedMessageTest.java | 185 - .../org/spongycastle/math/ec/test/AllTests.java | 23 - .../math/ec/test/ECPointPerformanceTest.java | 172 - .../org/spongycastle/math/ec/test/ECPointTest.java | 455 - .../org/spongycastle/math/ec/test/F2mProofer.java | 203 - .../org/spongycastle/math/ec/test/TnafTest.java | 152 - .../org/spongycastle/pqc/crypto/test/AllTests.java | 47 - .../pqc/crypto/test/BitStringTest.java | 88 - .../pqc/crypto/test/EncryptionKeyTest.java | 51 - .../pqc/crypto/test/GMSSSignerTest.java | 88 - .../crypto/test/McElieceFujisakiCipherTest.java | 102 - .../crypto/test/McElieceKobaraImaiCipherTest.java | 102 - .../pqc/crypto/test/McEliecePKCSCipherTest.java | 102 - .../crypto/test/McEliecePointchevalCipherTest.java | 102 - .../pqc/crypto/test/NTRUEncryptTest.java | 298 - .../crypto/test/NTRUEncryptionParametersTest.java | 48 - .../pqc/crypto/test/NTRUSignatureKeyTest.java | 58 - .../crypto/test/NTRUSignatureParametersTest.java | 64 - .../pqc/crypto/test/NTRUSignerTest.java | 303 - .../pqc/crypto/test/NTRUSigningParametersTest.java | 65 - .../pqc/crypto/test/RainbowSignerTest.java | 67 - .../pqc/crypto/test/RegressionTest.java | 33 - .../pqc/math/ntru/euclid/test/AllTests.java | 24 - .../math/ntru/euclid/test/BigIntEuclideanTest.java | 23 - .../math/ntru/euclid/test/IntEuclideanTest.java | 43 - .../pqc/math/ntru/polynomial/test/AllTests.java | 29 - .../polynomial/test/BigDecimalPolynomialTest.java | 47 - .../ntru/polynomial/test/BigIntPolynomialTest.java | 26 - .../polynomial/test/IntegerPolynomialTest.java | 230 - .../ntru/polynomial/test/LongPolynomial2Test.java | 60 - .../ntru/polynomial/test/LongPolynomial5Test.java | 62 - .../ntru/polynomial/test/PolynomialGenerator.java | 27 - .../polynomial/test/ProductFormPolynomialTest.java | 47 - .../test/SparseTernaryPolynomialTest.java | 45 - .../pqc/math/ntru/util/test/AllTests.java | 23 - .../pqc/math/ntru/util/test/ArrayEncoderTest.java | 42 - .../util/encoders/test/AbstractCoderTest.java | 211 - .../spongycastle/util/encoders/test/AllTests.java | 20 - .../util/encoders/test/Base64Test.java | 121 - .../util/encoders/test/EncoderTest.java | 250 - .../spongycastle/util/encoders/test/HexTest.java | 92 - .../util/encoders/test/UrlBase64Test.java | 119 - .../spongycastle/util/io/pem/test/AllTests.java | 71 - .../util/io/test/BufferingOutputStreamTest.java | 68 - .../org/spongycastle/util/utiltest/AllTests.java | 20 - .../util/utiltest/BigIntegersTest.java | 90 - .../org/spongycastle/util/utiltest/IPTest.java | 55 - .../org/spongycastle/asn1/test/package.html | 5 - .../javadoc/org/spongycastle/cms/test/package.html | 7 - .../org/spongycastle/crypto/test/package.html | 5 - .../org/spongycastle/crypto/tls/package.html | 5 - .../org/spongycastle/mail/smime/test/package.html | 7 - .../org/spongycastle/mozilla/test/package.html | 5 - .../org/spongycastle/ocsp/test/package.html | 5 - .../org/spongycastle/openpgp/test/package.html | 7 - .../org/spongycastle/openssl/test/package.html | 5 - .../org/spongycastle/asn1/test/RegressionTest.java | 91 - .../org/spongycastle/asn1/test/RegressionTest.java | 91 - .../org/spongycastle/crypto/test/DSATest.java | 602 - .../org/spongycastle/i18n/test/AllTests.java | 27 - .../org/spongycastle/asn1/test/AllTests.java | 42 - .../spongycastle/crypto/test/RegressionTest.java | 150 - .../org/spongycastle/pqc/crypto/test/AllTests.java | 39 - .../spongycastle/asn1/test/masterlist-content.data | Bin 1748 -> 0 bytes .../spongycastle/crypto/test/SCryptTestVectors.txt | 20 - .../spongycastle/crypto/test/cavp/KDFCTR_gen.rsp | 22887 ---------- .../crypto/test/cavp/KDFDblPipelineCounter_gen.rsp | 34088 --------------- .../test/cavp/KDFDblPipelineNoCounter_gen.rsp | 2817 -- .../crypto/test/cavp/KDFFeedbackCounter_gen.rsp | 43688 ------------------ .../crypto/test/cavp/KDFFeedbackNoCounter_gen.rsp | 3617 -- .../crypto/test/cavp/KDFFeedbackNoIV_gen.rsp | 43689 ------------------- .../org/spongycastle/crypto/test/ecrypt_HC-128.txt | 2337 - .../crypto/test/ecrypt_HC-256_128K_128IV.txt | 2337 - .../crypto/test/ecrypt_HC-256_128K_256IV.txt | 2783 -- .../crypto/test/ecrypt_HC-256_256K_128IV.txt | 2783 -- .../crypto/test/ecrypt_HC-256_256K_256IV.txt | 3257 -- .../spongycastle/crypto/tls/test/x509-ca-key.pem | 165 - .../org/spongycastle/crypto/tls/test/x509-ca.pem | 20 - .../crypto/tls/test/x509-server-key.pem | 165 - .../spongycastle/crypto/tls/test/x509-server.pem | 22 - .../i18n/test/I18nTestMessages_de.properties | 8 - .../i18n/test/I18nTestMessages_en.properties | 12 - .../i18n/test/I18nUTF8TestMessages_de.properties | 2 - 2452 files changed, 462166 deletions(-) delete mode 100644 libraries/spongycastle/core/build.gradle delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/io/FilterInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/io/FilterOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/math/BigInteger.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/security/SecureRandom.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/AbstractCollection.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/AbstractList.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/AbstractMap.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/AbstractSet.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/ArrayList.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Arrays.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Collection.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Collections.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/HashMap.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/HashSet.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Iterator.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/List.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/ListIterator.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Map.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Set.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/StringTokenizer.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/java/util/Sublist.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1GeneralizedTime.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1UTCTime.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERFactory.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERGeneralizedTime.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERUTCTime.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DateFormatter.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/StreamUtil.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/cms/Time.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/eac/PackedDate.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/x509/Time.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/encodings/PKCS1Encoding.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.jad delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.mf delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/params/SkeinParameters.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/OCSPStatusRequest.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/ServerNameList.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/UDPTransport.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/math/ec/LongArray.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Integers.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Selector.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Shorts.java delete mode 100644 libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/test/SimpleTest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/LICENSE.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ApplicationSpecificParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Boolean.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encodable.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1EncodableVector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encoding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Enumerated.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Exception.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1GeneralizedTime.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Generator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1InputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Integer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Null.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Object.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ObjectIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetStringParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ParsingException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Primitive.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Sequence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SequenceParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Set.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SetParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1StreamParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1String.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObjectParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1UTCTime.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecific.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecificParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERConstructedOctetString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSet.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSetParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObjectParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTags.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ConstructedOctetStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERApplicationSpecific.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBMPString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBitString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBoolean.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREncodableVector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREnumerated.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternal.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternalParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralizedTime.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERIA5String.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERInteger.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNull.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNumericString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERObjectIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetStringParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERPrintableString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSet.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSetParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61String.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61UTF8String.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTaggedObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTags.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTCTime.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTF8String.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUniversalString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERVisibleString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSequence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSet.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLTaggedObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DefiniteLengthInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/InMemoryRepresentable.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/IndefiniteLengthInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyConstructionEnumeration.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyEncodedSequence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LimitedInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/OIDTokenizer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/StreamUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/bc/BCObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CAKeyUpdAnnContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CRLAnnContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertConfirmContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertOrEncCert.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertRepMessage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertResponse.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertStatus.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertifiedKeyPair.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/Challenge.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ErrorMsgContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenMsgContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenRepContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/InfoTypeAndValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/KeyRecRepContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/OOBCertHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PBMParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIBody.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIConfirmContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFailureInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFreeText.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeader.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeaderBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessages.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatus.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatusInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyChallContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyRespContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollRepContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollReqContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ProtectedPart.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevAnnContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevDetails.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContentBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevReqContent.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AttributeTable.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attributes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CCMParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSAttributes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfoParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/DigestedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfoParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Evidence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/IssuerAndSerialNumber.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKRecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyTransRecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/MetaData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorIdentifierOrKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherKeyAttribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRevocationInfoFormat.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/PasswordRecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientEncryptedKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientKeyIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SCVPReqRes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Time.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampAndCRL.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampTokenEvidence.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedDataParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ecc/MQVuserKeyingMaterial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/AttributeTypeAndValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CRMFObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertId.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMessages.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMsg.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplateBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/Controls.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncKeyWithID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/OptionalValidity.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIArchiveOptions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIPublicationInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKMACValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOPrivKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKeyInput.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/ProofOfPossession.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SinglePubInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SubsequentMessage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410NamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410ParamSetParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST28147Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410NamedParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410ParamSetParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/CertEtcToken.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfoBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSErrorNotice.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformationBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSResponse.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSTime.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/Data.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/PathProcInput.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/ServiceType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/TargetEtcChain.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/BidirectionalMap.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificateRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateBody.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderAuthorization.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderReference.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificationAuthorityReference.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACTags.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/ECDSAPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/Flags.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PackedDate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/UnsignedInteger.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIndication.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeQualifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CompleteRevocationRefs.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlListID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlOcspRef.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlValidatedID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/ESFAttributes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspListID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspResponsesID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHashAlgAndValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevRefs.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevVals.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/RevocationValues.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPUserNotice.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPuri.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifierInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyId.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerAttribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerLocation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentHints.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertIDv2.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherCertID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherSigningCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificateV2.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/gnu/GNUObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/iana/IANAObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/CscaMasterList.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/DataGroupHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/ICAOObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSSecurityObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSVersionInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/CertHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/RequestedCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdditionalInformationSyntax.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdmissionSyntax.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Admissions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/DeclarationOfMajority.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/MonetaryLimit.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/NamingAuthority.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProcurationSyntax.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProfessionInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/kisa/KISAObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/microsoft/MicrosoftObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/CAST5CBCParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/IDEACBCPar.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/MiscObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeCertType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeRevocationURL.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/VerisignCzagExtension.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/mozilla/PublicKeyAndChallenge.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTNamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ntt/NTTObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/BasicOCSPResponse.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertStatus.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CrlID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponse.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponseStatus.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Request.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponderID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseBytes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/RevokedInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ServiceLocator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Signature.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/SingleResponse.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/TBSRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/ElGamalParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/OIWObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Attribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/AuthenticatedSafe.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CRLBag.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertBag.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequestInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/ContentInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/DHParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptionScheme.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/IssuerAndSerialNumber.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/KeyDerivationFunc.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/MacData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBEParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Algorithms.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBKDF2Params.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCS12PBEParams.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCSObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Pfx.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PrivateKeyInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RC2CBCParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAESOAEPparams.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKeyStructure.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSASSAPSSparams.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SafeBag.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignedData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignerInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKeyStructure.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECNamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEAttributes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilities.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilitiesAttribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapability.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilityVector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTNamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/Accuracy.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/MessageImprint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TSTInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampReq.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampResp.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145BinaryField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145ECBinary.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145NamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145Params.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PointEncoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/UAObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/ASN1Dump.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/DERDump.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/Dump.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/AttributeTypeAndValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/DirectoryString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/RDN.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500Name.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameStyle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStrictStyle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStyle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/IETFUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/RFC4519Style.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/X500NameTokenizer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AccessDescription.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AlgorithmIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertIssuer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertValidityPeriod.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Attribute.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificateInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityInformationAccess.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityKeyIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/BasicConstraints.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLDistPoint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLNumber.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLReason.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertPolicyId.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Certificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificateList.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePair.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePolicies.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DSAParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DigestInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DisplayText.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPoint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPointName.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtendedKeyUsage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extension.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extensions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtensionsGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralName.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNames.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNamesBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralSubtree.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Holder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IetfAttrSyntax.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuerSerial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuingDistributionPoint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyPurposeId.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyUsage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NameConstraints.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NoticeReference.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ObjectDigestInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyConstraints.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyInformation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyMappings.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierId.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PrivateKeyUsagePeriod.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RSAPublicKeyStructure.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ReasonFlags.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RoleSyntax.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectDirectoryAttributes.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectKeyIdentifier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectPublicKeyInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertList.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificateStructure.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Target.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TargetInformation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Targets.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Time.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/UserNotice.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V1TBSCertificateGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2Form.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2TBSCertListGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V3TBSCertificateGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509AttributeIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509CertificateStructure.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509DefaultEntryConverter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extension.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extensions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ExtensionsGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Name.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameEntryConverter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameTokenizer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/BiometricData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/Iso4217CurrencyCode.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/MonetaryValue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/QCStatement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/SemanticsInformation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/TypeOfBiometricData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/NameOrPseudonym.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/PersonalData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/SigIObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHDomainParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHValidationParms.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/ECNamedCurveTable.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/KeySpecificInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/OtherInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962NamedCurves.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9Curve.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParametersHolder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECPoint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldID.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9IntegerConverter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPair.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BasicAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedAsymmetricBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherKeyGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Commitment.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Committer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CryptoException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DataLengthException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationFunction.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DigestDerivationFunction.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/EphemeralKeyPair.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ExtendedDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/InvalidCipherTextException.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncapsulation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Mac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MacDerivationFunction.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MaxBytesExceededException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/OutputLengthException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/PBEParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/RuntimeCryptoException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Signer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/SignerWithRecovery.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Wrapper.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHStandardGroups.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHBasicAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHCBasicAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECMQVBasicAgreement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroups.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound1Payload.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound2Payload.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound3Payload.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKDFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKEKGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/ECDHKEKGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Client.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Server.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Util.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6VerifierGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/GeneralHashCommitter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/HashCommitter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GOST3411Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GeneralDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/LongDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD2Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD4Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD5Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NonMemoableDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NullDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD128Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD160Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD256Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD320Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA1Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA224Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA256Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA384Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA3Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512tDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SM3Digest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/ShortenedDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/TigerDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/WhirlpoolDigest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECDecryptor.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalDecryptor.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalEncryptor.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECEncryptor.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECFixedTransform.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewPublicKeyTransform.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewRandomnessTransform.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPair.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairFactorTransform.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairTransform.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/ISO9796d1Encoding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/OAEPEncoding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/PKCS1Encoding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESFastEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESLightEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESWrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/BlowfishEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST5Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST6Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaLightEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaWrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ChaChaEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeWrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ElGamalEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/GOST28147Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grain128Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grainv1Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC128Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC256Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IDEAEngine.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IESEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ISAACEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NaccacheSternEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NoekeonEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NullEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2WrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC4Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC532Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC564Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC6Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3211WrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3394WrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindedEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindingEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSACoreEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSAEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RijndaelEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDWrapEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Salsa20Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SerpentEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Shacal2Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SkipjackEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TEAEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ThreefishEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TwofishEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCKSA3Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XSalsa20Engine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XTEAEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/DESExample.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/JPAKEExample.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/BaseKDFBytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESKeyGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESedeKeyGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHBasicKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyGeneratorHelper.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersHelper.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSTU4145KeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/EphemeralKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410KeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410ParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/HKDFBytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF1BytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF2BytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFCounterBytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFDoublePipelineIterationBytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFFeedbackBytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/MGF1BytesGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/NaccacheSternKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/OpenSSLPBEParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS12ParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S1ParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S2ParametersGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/Poly1305KeyGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSABlindingFactorGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSAKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/SCrypt.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/InvalidCipherTextIOException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerOutputStream.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/ECIESKeyEncapsulation.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/RSAKeyEncapsulation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/BlockCipherMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CBCBlockCipherMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CFBBlockCipherMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GOST28147Mac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/HMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/ISO9797Alg3Mac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/OldHMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/Poly1305.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SipHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SkeinMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/VMPCMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/AEADBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CBCBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CCMBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CTSBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/EAXBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCMBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GOFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OCBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OldCTSBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OpenPGPCFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PGPCFBBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PaddedBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/SICBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMExponentiator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMExponentiator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables1kGCMExponentiator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables64kGCMMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/BlockCipherPadding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO10126d2Padding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO7816d4Padding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PKCS7Padding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PaddedBufferedBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/TBCPadding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/X923Padding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ZeroBytePadding.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AEADParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AsymmetricKeyParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/CCMParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESedeParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHValidationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAValidationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECDomainParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410ValidationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/HKDFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESWithCipherParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ISO18033KDFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFCounterParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFDoublePipelineIterationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFFeedbackParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KeyParameter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MGFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPrivateParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPublicParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithIV.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithRandom.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSBox.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSalt.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC2Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC5Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSABlindingParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAPrivateCrtKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/SkeinParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/TweakableBlockCipherParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/DHIESPublicKeyParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/ECIESPublicKeyParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DRBGProvider.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DigestRandomGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySource.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySourceProvider.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/FixedSecureRandom.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/RandomGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ReversedWindowGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandom.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ThreadedSeedGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/VMPCRandomGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/CTRSP800DRBG.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECPoints.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECSP800DRBG.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HMacSP800DRBG.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HashSP800DRBG.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/SP80090DRBG.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/Utils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSADigestSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSAKCalculator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSASigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSTU4145Signer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECDSASigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECGOST3410Signer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECNRSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GOST3410Signer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GenericSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/HMacDSAKCalculator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2PSSSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2Signer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/PSSSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RSADigestSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RandomDSAKCalculator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsAgreementCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCipherFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsContext.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsEncryptionCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsPeer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsServer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSignerCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertDescription.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertLevel.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlwaysValidVerifyer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/BulkCipherAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ByteQueue.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertChainType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/Certificate.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatus.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateURL.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateVerifyer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ChangeCipherSpec.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherSuite.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientAuthenticationType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientCertificateType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CombinedHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CompressionMethod.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ConnectionEnd.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ContentType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSClientProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSEpoch.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSHandshakeRetransmit.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReassembler.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSRecordLayer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReliableHandshake.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReplayWindow.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSServerProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSTransport.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DatagramTransport.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsAgreementCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsCipherFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsEncryptionCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsServer.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsSignerCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DeferredHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestInputBuffer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigitallySigned.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECBasisType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECCurveType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECPointFormat.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/EncryptionAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExporterLabel.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExtensionType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HandshakeType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HashAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatExtension.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessageType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMode.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/KeyExchangeAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsAuthentication.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MACAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MaxFragmentLength.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NameType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NamedCurve.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NewSessionTicket.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/OCSPStatusRequest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PRFAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PSKTlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ProtocolVersion.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/RecordStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRPTlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRTPProtectionProfile.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SSL3Mac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SecurityParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerDHParams.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerName.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerNameList.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerOnlyTlsAuthentication.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SessionParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAndHashAlgorithm.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignerInputBuffer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataEntry.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAEADCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAgreementCredentials.java delete mode 100755 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAuthentication.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsBlockCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipherFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClient.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContext.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContextImpl.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCompression.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHEKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSASigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECCUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHEKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsEncryptionCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsExtensionsUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsFatalAlert.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsHandshakeHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsMac.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCompression.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKIdentity.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPeer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocolHandler.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSASigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRuntimeException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPKeyExchange.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRTPUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContext.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContextImpl.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerProtocol.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSession.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSessionImpl.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSignerCredentials.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsStreamCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UDPTransport.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/URLAndHash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UseSRTPData.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UserMappingType.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/Pack.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyInfoFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PublicKeyFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/SubjectPublicKeyInfoFactory.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/ErrorBundle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocaleString.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedMessage.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MessageBundle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MissingEntryException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/TextBundle.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/Filter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/HTMLFilter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/SQLFilter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/TrustedInput.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedInput.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedUrlInput.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/AbstractECMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/DoubleAddMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECAlgorithms.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECConstants.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECCurve.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECFieldElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECPoint.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/IntArray.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/LongArray.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MixedNafR2LMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MontgomeryLadderMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafL2RMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafR2LMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/PreCompInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ReferenceMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/SimpleBigDecimal.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/Tnaf.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafL2RMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafPreCompInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafPreCompInfo.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitL2RMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitR2LMultiplier.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZTauElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/PQCObjectIdentifiers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/ParSet.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/DigestingMessageSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageEncryptor.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSDigestProvider.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSLeaf.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootCalc.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootSig.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/Treehash.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSRandom.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSVerify.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSignature.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/Conversions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Parameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Primitives.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiDigestCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiDigestCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSDigestCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalDigestCipher.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/IndexGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEngine.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSignerPrng.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/Layer.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyPairGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPrivateKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPublicKeyParameters.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowSigner.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/ComputeInField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/GF2Field.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/RainbowUtil.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigEndianConversions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigIntUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/ByteUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/CharUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Matrix.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Polynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Vector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mMatrix.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mVector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialField.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GFElement.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GoppaCode.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntegerFunctions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/LittleEndianConversions.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Matrix.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Permutation.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialGF2mSmallM.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2m.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/RandUtils.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Vector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/BigIntEuclidean.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/IntEuclidean.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigDecimalPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigIntPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Constants.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/DenseTernaryPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/IntegerPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial2.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial5.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ModularResultant.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Polynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ProductFormPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Resultant.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/SparseTernaryPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/TernaryPolynomial.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/ArrayEncoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/Util.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Arrays.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/BigIntegers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/CollectionStore.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/IPAddress.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Integers.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Memoable.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/MemoableResetException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Selector.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Shorts.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Store.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/StoreException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParsingException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/Strings.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64Encoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedDecoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedEncoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/DecoderException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Encoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/EncoderException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Hex.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexEncoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexTranslator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Translator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64Encoder.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/BufferingOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/StreamOverflowException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/Streams.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeInputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemHeader.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObject.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectParser.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemReader.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemWriter.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/NumberParsing.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTest.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTestResult.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/Test.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestFailedException.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestResult.java delete mode 100644 libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/UncloseableOutputStream.java delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cmp/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cms/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cryptopro/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/dvcs/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/esf/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ess/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/icao/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/misc/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/mozilla/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/nist/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ocsp/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/oiw/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/pkcs/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/sec/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/smime/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/teletrust/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/tsp/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/util/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/qualified/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x9/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/agreement/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/digests/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/encodings/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/engines/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/examples/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/generators/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/io/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/macs/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/modes/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/paddings/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/params/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/drbg/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/signers/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/tls/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/util/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/math/ec/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/encoders/package.html delete mode 100644 libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/test/package.html delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/lang/UnsupportedOperationException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGenerator.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGeneratorSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParametersSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/GeneralSecurityException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/InvalidAlgorithmParameterException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactory.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactorySpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/SecurityUtil.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/UnrecoverableKeyException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRL.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLSelector.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPath.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderResult.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidator.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorResult.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertSelector.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStore.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreSpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertUtil.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/Certificate.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateEncodingException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateExpiredException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactory.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactorySpi.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateNotYetValidException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateParsingException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CollectionCertStoreParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/LDAPCertStoreParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXBuilderParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathBuilderResult.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathChecker.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathValidatorResult.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyNode.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyQualifierInfo.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/TrustAnchor.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRL.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLEntry.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLSelector.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CertSelector.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Certificate.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Extension.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateCrtKey.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateKey.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPublicKey.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/AlgorithmParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPrivateKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPublicKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/EncodedKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidKeySpecException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidParameterSpecException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/KeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PKCS8EncodedKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PSSParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAKeyGenParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAOtherPrimeInfo.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateCrtKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPublicKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/X509EncodedKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractCollection.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractList.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractMap.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractSet.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/ArrayList.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Arrays.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Collection.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Collections.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/HashMap.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/HashSet.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Iterator.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/List.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/ListIterator.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Map.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Set.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1InputStream.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1StreamParser.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/DERApplicationSpecific.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/BCStyle.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/RFC4519Style.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/digests/SkeinEngine.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/encodings/PKCS1Encoding.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/engines/NullEngine.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/HKDFParameters.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/signers/RSADigestSigner.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReassembler.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReliableHandshake.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/UDPTransport.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/LocalizedMessage.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/MissingEntryException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/PSSParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAKeyGenParameterSpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAOtherPrimeInfo.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/LocalizedMessage.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/MissingEntryException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/asn1/StreamUtil.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/crypto/tls/UDPTransport.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/LocalizedMessage.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/MissingEntryException.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/util/Shorts.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Integers.java delete mode 100644 libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Shorts.java delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/README delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/AnyPolicyTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLSignatureCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BadSignedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotAfterDateCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotBeforeDateCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DSACACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DSAParametersInheritedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/GoodCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/LongSerialNumberCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/Mapping1to2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/MappingToanyPolicyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/NameOrderingCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/NegativeSerialNumberCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/NoCRLCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/NoPoliciesCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP3CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/RevokedsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/TrustAnchorRootCertificate.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/TwoCRLsCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UIDCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/WrongCRLCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/anyPolicyCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA3Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA5Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA6Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN4CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN5CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsCACertsCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLSignatureCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BadSignedCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotAfterDateCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/DSACACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/GoodCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/LongSerialNumberCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/Mapping1to2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/NameOrderCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/NoPoliciesCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP3CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/RevokedsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/TrustAnchorRootCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCABadCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/UIDCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/WrongCRLCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/anyPolicyCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA5CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl delete mode 100644 libraries/spongycastle/core/src/test/data/cmp/sample_cr.der delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/README.txt delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.pub delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.sec delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.pub delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.sec delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.pub delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.sec delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.pub delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.sec delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.pub delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.sec delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_cyr.txt delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_for_test.txt delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/unicode/secring.gpg delete mode 100644 libraries/spongycastle/core/src/test/data/openpgp/unicode/test.asc delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/attachonly.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/basicAS2.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/brokenEnv.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/cert.pem delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end1.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end2.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter1.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter2.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_root.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/circular.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_enc_cert.pem delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_encrypted_mail.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/embeddedmulti.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/extra-nl.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/johndoe.p12 delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/key.pem delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/multi-alternative.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/outlook_2010_beta_sime_msg.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/qp-soft-break.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/quotable.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/rawAS2.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test128.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test192.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test256.message delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.expired.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.extKeyUsage.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.fakeRoot.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.keyUsage.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.longValidity.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.noEmail.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.notYetValid.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.crl delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.root.crt delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.shortKey.eml delete mode 100644 libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.validMail.eml delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/3.1.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/3.2.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.1.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.10.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.11.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.2.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.3.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.4.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.5.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.6.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.7.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.8.eml delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/4.9.eml delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/5.1.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/5.2.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/5.3.eml delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/6.0.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/7.1.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/7.2.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivDSSSign.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivRSASign.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/AliceRSASignByCarl.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/BobPrivRSAEncrypt.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/BobRSASignByCarl.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLEmpty.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForAll.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForCarl.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSSelf.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivDSSSign.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivRSASign.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLEmpty.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForAll.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForCarl.crl delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/CarlRSASelf.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/DianeDSSSignByCarlInherit.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/DianePrivDSSSign.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/DianePrivRSASignEncrypt.pri delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/DianeRSASignByCarl.cer delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/ExContent.bin delete mode 100644 libraries/spongycastle/core/src/test/data/rfc4134/rfc4134.txt delete mode 100644 libraries/spongycastle/core/src/test/data/tls/keystores/client_store.dsa delete mode 100644 libraries/spongycastle/core/src/test/data/tls/keystores/client_store.rsa delete mode 100644 libraries/spongycastle/core/src/test/data/tls/keystores/server_store.dsa delete mode 100644 libraries/spongycastle/core/src/test/data/tls/keystores/server_store.rsa delete mode 100644 libraries/spongycastle/core/src/test/j2me/java/math/test/BigIntegerTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/java/math/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/GeneralizedTimeTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/UTCTimeTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/BigIntegerTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/CryptoRegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RSATest.java delete mode 100644 libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1SequenceParserTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1UnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionSyntaxUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionsUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AttributeTableUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BiometricDataUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringConstantTester.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CMSTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertHashUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertificateTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeIndicationUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeQualifierUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ContentHintsUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CscaMasterListTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERApplicationSpecificTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERUTF8StringTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DataGroupHashUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DeclarationOfMajorityUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ESSCertIDv2UnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EncryptedPrivateKeyInfoTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EnumeratedTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EqualsAndHashCodeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralNameTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralizedTimeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GenerationTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GetInstanceTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/InputStreamTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/IssuingDistributionPointUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/KeyUsageTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/LDSSecurityObjectUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MiscTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryValueUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NameOrPseudonymUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NamingAuthorityUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NetscapeCertTypeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OCSPTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OIDTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ObjectIdentifierTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OctetStringTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherCertIDUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherSigningCertificateUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS10Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS12Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParseTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParsingTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PersonalDataUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProcurationSyntaxUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProfessionInfoUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/QCStatementUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RFC4519Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ReasonFlagsTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RequestedCertificateUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RestrictionUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SMIMETest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SemanticsInformationUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SetTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SignerLocationUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/StringTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TagTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TargetInformationTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TypeOfBiometricDataUnitTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/UTCTimeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X500NameTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509ExtensionsTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509NameTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X9Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEParticipantTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEPrimeOrderGroupTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEUtilTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECElGamalTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECTransformationTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/CTRDRBGTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DRBGTestVector.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DualECDRBGTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/FixedSecureRandomTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HMacDRBGTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HashDRBGTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/SP800RandomTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AEADTestUtil.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESFastTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESLightTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESVectorFileTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESWrapTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherMonteCarloTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherResetTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherVectorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlowfishTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST5Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST6Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CCMTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CTSTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaLightTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ChaChaTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherStreamTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESedeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHKEKGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSTU4145Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DeterministicDSATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestRandomNumberTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EAXTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECDHKEKGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECGOST3410Test.java delete mode 100755 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESKeyEncapsulationTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECNRTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ElGamalTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EqualsHashCodeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMReorderTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147MacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3410Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3411DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grain128Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grainv1Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyVecTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HKDFGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HashCommitmentTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/IDEATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISAACTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9796Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9797Alg3MacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF1GeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF2GeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFCounterGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFDoublePipelineIteratorGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFFeedbackGeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD2DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD4DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MGF1GeneratorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ModeTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NaccacheSternTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NoekeonTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NonMemoableDigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NullTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OAEPTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OCBTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS12Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS5Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSBlindTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PaddingTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Poly1305Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2WrapTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC4Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC5Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC6Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RFC3211WrapTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD256DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD320DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSABlindedTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSADigestSignerTest.java delete mode 100755 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSAKeyEncapsulationTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ResetTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RijndaelTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SCryptTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SEEDTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA3DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512HMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t224DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t256DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SM3DigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SRP6Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Salsa20Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SerpentTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Shacal2Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SipHashTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinDigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkipjackTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherResetTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherVectorTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TEATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish1024Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish256Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish512Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TigerDigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TwofishTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCKSA3Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCMacTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/WhirlpoolDigestTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XSalsa20Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XTEATest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPListener.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPReader.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFCounterTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineCounterTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineIterationNoCounterTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackCounterTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounterTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/MacThroughputTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/Poly1305Reference.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThreefishReferenceEngine.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThroughputTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/BasicTlsTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSClientTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSProtocolTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/GnuTLSSetup.txt delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/HTTPSServerThread.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/KeyStores.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/LoggingDatagramTransport.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSClient.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSServer.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDatagramAssociation.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/OpenSSLSetup.txt delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TestTlsClient.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsClientTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsProtocolTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/UnreliableDatagramTransport.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/HTMLFilterTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/SQLFilterTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/LocalizedMessageTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointPerformanceTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/F2mProofer.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/TnafTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/BitStringTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/EncryptionKeyTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/GMSSSignerTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceFujisakiCipherTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceKobaraImaiCipherTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePKCSCipherTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePointchevalCipherTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptionParametersTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureKeyTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignerTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSigningParametersTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RainbowSignerTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigDecimalPolynomialTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigIntPolynomialTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/IntegerPolynomialTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial5Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/PolynomialGenerator.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/ProductFormPolynomialTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/SparseTernaryPolynomialTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/ArrayEncoderTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AbstractCoderTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/Base64Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/HexTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/UrlBase64Test.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/pem/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/test/BufferingOutputStreamTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java delete mode 100644 libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/IPTest.java delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/asn1/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/cms/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/tls/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mail/smime/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mozilla/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/ocsp/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openpgp/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openssl/test/package.html delete mode 100644 libraries/spongycastle/core/src/test/jdk1.1/org/spongycastle/asn1/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.2/org/spongycastle/asn1/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/crypto/test/DSATest.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/i18n/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/asn1/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/crypto/test/RegressionTest.java delete mode 100644 libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/pqc/crypto/test/AllTests.java delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/asn1/test/masterlist-content.data delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/SCryptTestVectors.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFCTR_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineCounter_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineNoCounter_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackCounter_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounter_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoIV_gen.rsp delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-128.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_128IV.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_256IV.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_128IV.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_256IV.txt delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca-key.pem delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca.pem delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server-key.pem delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server.pem delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_de.properties delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_en.properties delete mode 100644 libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nUTF8TestMessages_de.properties (limited to 'libraries/spongycastle/core') diff --git a/libraries/spongycastle/core/build.gradle b/libraries/spongycastle/core/build.gradle deleted file mode 100644 index e8e5678cf..000000000 --- a/libraries/spongycastle/core/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'java' - -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.11' -} - -sourceCompatibility = 1.5 -targetCompatibility = 1.5 -version = '1.50.0.0' - -// skip tests -build.dependsOn.remove("check") \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/j2me/java/io/FilterInputStream.java b/libraries/spongycastle/core/src/main/j2me/java/io/FilterInputStream.java deleted file mode 100644 index be11e9fb6..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/io/FilterInputStream.java +++ /dev/null @@ -1,56 +0,0 @@ -package java.io; - -public class FilterInputStream extends InputStream -{ - protected InputStream in; - - protected FilterInputStream(InputStream underlying) - { - in = underlying; - } - - public int read() throws IOException - { - return in.read(); - } - - public int read(byte[] b) throws IOException - { - return read(b, 0, b.length); - } - - public int read(byte[] b, int offset, int length) throws IOException - { - return in.read(b, offset, length); - } - - public long skip(long n) throws IOException - { - return in.skip(n); - } - - public int available() throws IOException - { - return in.available(); - } - - public void close() throws IOException - { - in.close(); - } - - public void mark(int readlimit) - { - in.mark(readlimit); - } - - public void reset() throws IOException - { - in.reset(); - } - - public boolean markSupported() - { - return in.markSupported(); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/io/FilterOutputStream.java b/libraries/spongycastle/core/src/main/j2me/java/io/FilterOutputStream.java deleted file mode 100644 index 52cfb74b1..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/io/FilterOutputStream.java +++ /dev/null @@ -1,39 +0,0 @@ -package java.io; - -public class FilterOutputStream extends OutputStream -{ - protected OutputStream out; - - protected FilterOutputStream(OutputStream underlying) - { - out = underlying; - } - - public void write(int b) throws IOException - { - out.write(b); - } - - public void write(byte[] b) throws IOException - { - write(b, 0, b.length); - } - - public void write(byte[] b, int offset, int length) throws IOException - { - for (int i = 0; i < length; i++) - { - write(b[offset + i]); - } - } - - public void flush() throws IOException - { - out.flush(); - } - - public void close() throws IOException - { - out.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/math/BigInteger.java b/libraries/spongycastle/core/src/main/j2me/java/math/BigInteger.java deleted file mode 100644 index 9017caa01..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/math/BigInteger.java +++ /dev/null @@ -1,3272 +0,0 @@ -package java.math; - -import java.util.Random; -import java.util.Stack; - -import org.spongycastle.util.Arrays; - -public class BigInteger -{ - // The first few odd primes - /* - 3 5 7 11 13 17 19 23 29 - 31 37 41 43 47 53 59 61 67 71 - 73 79 83 89 97 101 103 107 109 113 - 127 131 137 139 149 151 157 163 167 173 - 179 181 191 193 197 199 211 223 227 229 - 233 239 241 251 257 263 269 271 277 281 - 283 293 307 311 313 317 331 337 347 349 - 353 359 367 373 379 383 389 397 401 409 - 419 421 431 433 439 443 449 457 461 463 - 467 479 487 491 499 503 509 521 523 541 - 547 557 563 569 571 577 587 593 599 601 - 607 613 617 619 631 641 643 647 653 659 - 661 673 677 683 691 701 709 719 727 733 - 739 743 751 757 761 769 773 787 797 809 - 811 821 823 827 829 839 853 857 859 863 - 877 881 883 887 907 911 919 929 937 941 - 947 953 967 971 977 983 991 997 1009 - 1013 1019 1021 1031 1033 1039 1049 1051 - 1061 1063 1069 1087 1091 1093 1097 1103 - 1109 1117 1123 1129 1151 1153 1163 1171 - 1181 1187 1193 1201 1213 1217 1223 1229 - 1231 1237 1249 1259 1277 1279 1283 1289 - */ - - // Each list has a product < 2^31 - private static final int[][] primeLists = new int[][] - { - new int[]{ 3, 5, 7, 11, 13, 17, 19, 23 }, - new int[]{ 29, 31, 37, 41, 43 }, - new int[]{ 47, 53, 59, 61, 67 }, - new int[]{ 71, 73, 79, 83 }, - new int[]{ 89, 97, 101, 103 }, - - new int[]{ 107, 109, 113, 127 }, - new int[]{ 131, 137, 139, 149 }, - new int[]{ 151, 157, 163, 167 }, - new int[]{ 173, 179, 181, 191 }, - new int[]{ 193, 197, 199, 211 }, - - new int[]{ 223, 227, 229 }, - new int[]{ 233, 239, 241 }, - new int[]{ 251, 257, 263 }, - new int[]{ 269, 271, 277 }, - new int[]{ 281, 283, 293 }, - - new int[]{ 307, 311, 313 }, - new int[]{ 317, 331, 337 }, - new int[]{ 347, 349, 353 }, - new int[]{ 359, 367, 373 }, - new int[]{ 379, 383, 389 }, - - new int[]{ 397, 401, 409 }, - new int[]{ 419, 421, 431 }, - new int[]{ 433, 439, 443 }, - new int[]{ 449, 457, 461 }, - new int[]{ 463, 467, 479 }, - - new int[]{ 487, 491, 499 }, - new int[]{ 503, 509, 521 }, - new int[]{ 523, 541, 547 }, - new int[]{ 557, 563, 569 }, - new int[]{ 571, 577, 587 }, - - new int[]{ 593, 599, 601 }, - new int[]{ 607, 613, 617 }, - new int[]{ 619, 631, 641 }, - new int[]{ 643, 647, 653 }, - new int[]{ 659, 661, 673 }, - - new int[]{ 677, 683, 691 }, - new int[]{ 701, 709, 719 }, - new int[]{ 727, 733, 739 }, - new int[]{ 743, 751, 757 }, - new int[]{ 761, 769, 773 }, - - new int[]{ 787, 797, 809 }, - new int[]{ 811, 821, 823 }, - new int[]{ 827, 829, 839 }, - new int[]{ 853, 857, 859 }, - new int[]{ 863, 877, 881 }, - - new int[]{ 883, 887, 907 }, - new int[]{ 911, 919, 929 }, - new int[]{ 937, 941, 947 }, - new int[]{ 953, 967, 971 }, - new int[]{ 977, 983, 991 }, - - new int[]{ 997, 1009, 1013 }, - new int[]{ 1019, 1021, 1031 }, - new int[]{ 1033, 1039, 1049 }, - new int[]{ 1051, 1061, 1063 }, - new int[]{ 1069, 1087, 1091 }, - - new int[]{ 1093, 1097, 1103 }, - new int[]{ 1109, 1117, 1123 }, - new int[]{ 1129, 1151, 1153 }, - new int[]{ 1163, 1171, 1181 }, - new int[]{ 1187, 1193, 1201 }, - - new int[]{ 1213, 1217, 1223 }, - new int[]{ 1229, 1231, 1237 }, - new int[]{ 1249, 1259, 1277 }, - new int[]{ 1279, 1283, 1289 }, - }; - - private static int[] primeProducts; - - private static final long IMASK = 0xffffffffL; - - private static final int[] ZERO_MAGNITUDE = new int[0]; - - private static final BigInteger[] SMALL_CONSTANTS = new BigInteger[17]; - public static final BigInteger ZERO; - public static final BigInteger ONE; - public static final BigInteger TWO; - public static final BigInteger THREE; - public static final BigInteger TEN; - - private final static byte[] bitCounts = - { - 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 - }; - - private final static byte[] bitLengths = - { - 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 - }; - - /* - * These are the threshold bit-lengths (of an exponent) where we increase the window size. - * These were calculated according to the expected savings in multiplications. - * Some squares will also be saved on average, but we offset these against the extra storage costs. - */ - private static final int[] EXP_WINDOW_THRESHOLDS = { 7, 25, 81, 241, 673, 1793, 4609, Integer.MAX_VALUE }; - - static - { - /* - * Avoid using large windows in VMs with little memory. - * Window size limited to 2 below 256kB, then increased by one for every doubling, - * i.e. at 512kB, 1MB, 2MB, etc... - */ - long totalMemory = Runtime.getRuntime().totalMemory(); - if (totalMemory <= Integer.MAX_VALUE) - { - int mem = (int)totalMemory; - int maxExpThreshold = 1 + bitLen(mem >> 18); - if (maxExpThreshold < EXP_WINDOW_THRESHOLDS.length) - { - EXP_WINDOW_THRESHOLDS[maxExpThreshold] = Integer.MAX_VALUE; - } - } - - ZERO = new BigInteger(0, ZERO_MAGNITUDE); - ZERO.nBits = 0; ZERO.nBitLength = 0; - - SMALL_CONSTANTS[0] = ZERO; - int numBits = 0; - for (int i = 1; i < SMALL_CONSTANTS.length; ++i) - { - SMALL_CONSTANTS[i] = createValueOf(i); - - // Check for a power of two - if ((i & -i) == i) - { - SMALL_CONSTANTS[i].nBits = 1; - ++numBits; - } - - SMALL_CONSTANTS[i].nBitLength = numBits; - } - - ONE = SMALL_CONSTANTS[1]; - TWO = SMALL_CONSTANTS[2]; - THREE = SMALL_CONSTANTS[3]; - TEN = SMALL_CONSTANTS[10]; - - primeProducts = new int[primeLists.length]; - - for (int i = 0; i < primeLists.length; ++i) - { - int[] primeList = primeLists[i]; - int product = 1; - for (int j = 0; j < primeList.length; ++j) - { - product *= primeList[j]; - } - primeProducts[i] = product; - } - } - - private int sign; // -1 means -ve; +1 means +ve; 0 means 0; - private int[] magnitude; // array of ints with [0] being the most significant - private int nBits = -1; // cache bitCount() value - private int nBitLength = -1; // cache bitLength() value - private int mQuote = 0; // -m^(-1) mod b, b = 2^32 (see Montgomery mult.), 0 when uninitialised - - private BigInteger() - { - } - - private BigInteger(int signum, int[] mag) - { - if (mag.length > 0) - { - sign = signum; - - int i = 0; - while (i < mag.length && mag[i] == 0) - { - i++; - } - if (i == 0) - { - magnitude = mag; - } - else - { - // strip leading 0 bytes - int[] newMag = new int[mag.length - i]; - System.arraycopy(mag, i, newMag, 0, newMag.length); - magnitude = newMag; - if (newMag.length == 0) - sign = 0; - } - } - else - { - magnitude = mag; - sign = 0; - } - } - - public BigInteger(String sval) throws NumberFormatException - { - this(sval, 10); - } - - public BigInteger(String sval, int rdx) throws NumberFormatException - { - if (sval.length() == 0) - { - throw new NumberFormatException("Zero length BigInteger"); - } - - if (rdx < Character.MIN_RADIX || rdx > Character.MAX_RADIX) - { - throw new NumberFormatException("Radix out of range"); - } - - int index = 0; - sign = 1; - - if (sval.charAt(0) == '-') - { - if (sval.length() == 1) - { - throw new NumberFormatException("Zero length BigInteger"); - } - - sign = -1; - index = 1; - } - - // strip leading zeros from the string value - while (index < sval.length() && Character.digit(sval.charAt(index), rdx) == 0) - { - index++; - } - - if (index >= sval.length()) - { - // zero value - we're done - sign = 0; - magnitude = new int[0]; - return; - } - - ////// - // could we work out the max number of ints required to store - // sval.length digits in the given base, then allocate that - // storage in one hit?, then generate the magnitude in one hit too? - ////// - - BigInteger b = ZERO; - BigInteger r = valueOf(rdx); - while (index < sval.length()) - { - // (optimise this by taking chunks of digits instead?) - b = b.multiply(r).add(valueOf(Character.digit(sval.charAt(index), rdx))); - index++; - } - - magnitude = b.magnitude; - return; - } - - public BigInteger(byte[] bval) throws NumberFormatException - { - if (bval.length == 0) - { - throw new NumberFormatException("Zero length BigInteger"); - } - - sign = 1; - if (bval[0] < 0) - { - sign = -1; - } - magnitude = makeMagnitude(bval, sign); - if (magnitude.length == 0) { - sign = 0; - } - } - - /** - * If sign >= 0, packs bytes into an array of ints, most significant first - * If sign < 0, packs 2's complement of bytes into - * an array of ints, most significant first, - * adding an extra most significant byte in case bval = {0x80, 0x00, ..., 0x00} - * - * @param bval - * @param sign - * @return - */ - private int[] makeMagnitude(byte[] bval, int sign) - { - if (sign >= 0) { - int i; - int[] mag; - int firstSignificant; - - // strip leading zeros - for (firstSignificant = 0; firstSignificant < bval.length - && bval[firstSignificant] == 0; firstSignificant++); - - if (firstSignificant >= bval.length) - { - return new int[0]; - } - - int nInts = (bval.length - firstSignificant + 3) / 4; - int bCount = (bval.length - firstSignificant) % 4; - if (bCount == 0) - bCount = 4; - // n = k * (n / k) + n % k - // bval.length - firstSignificant + 3 = 4 * nInts + bCount - 1 - // bval.length - firstSignificant + 4 - bCount = 4 * nInts - - mag = new int[nInts]; - int v = 0; - int magnitudeIndex = 0; - for (i = firstSignificant; i < bval.length; i++) - { - // bval.length + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - // 1 <= bCount <= 4 - v <<= 8; - v |= bval[i] & 0xff; - bCount--; - if (bCount <= 0) - { - mag[magnitudeIndex] = v; - magnitudeIndex++; - bCount = 4; - v = 0; - } - } - // 4 - bCount + 4 * magnitudeIndex = 4 * nInts - // bCount = 4 * (1 + magnitudeIndex - nInts) - // 1 <= bCount <= 4 - // So bCount = 4 and magnitudeIndex = nInts = mag.length - -// if (magnitudeIndex < mag.length) -// { -// mag[magnitudeIndex] = v; -// } - return mag; - } - else { - int i; - int[] mag; - int firstSignificant; - - - // strip leading -1's - for (firstSignificant = 0; firstSignificant < bval.length - 1 - && bval[firstSignificant] == 0xff; firstSignificant++); - - int nBytes = bval.length; - boolean leadingByte = false; - - // check for -2^(n-1) - if (bval[firstSignificant] == 0x80) { - for (i = firstSignificant + 1; i < bval.length; i++) { - if (bval[i] != 0) { - break; - } - } - if (i == bval.length) { - nBytes++; - leadingByte = true; - } - } - - int nInts = (nBytes - firstSignificant + 3) / 4; - int bCount = (nBytes - firstSignificant) % 4; - if (bCount == 0) - bCount = 4; - - // n = k * (n / k) + n % k - // nBytes - firstSignificant + 3 = 4 * nInts + bCount - 1 - // nBytes - firstSignificant + 4 - bCount = 4 * nInts - // 1 <= bCount <= 4 - - mag = new int[nInts]; - int v = 0; - int magnitudeIndex = 0; - // nBytes + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - // 1 <= bCount <= 4 - if (leadingByte) { - // bval.length + 1 + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - bCount--; - // bval.length + 1 + 4 - (bCount + 1) - i + 4 * magnitudeIndex = 4 * nInts - // bval.length + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - if (bCount <= 0) - { - magnitudeIndex++; - bCount = 4; - } - // bval.length + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - // 1 <= bCount <= 4 - } - for (i = firstSignificant; i < bval.length; i++) - { - // bval.length + 4 - bCount - i + 4 * magnitudeIndex = 4 * nInts - // 1 <= bCount <= 4 - v <<= 8; - v |= ~bval[i] & 0xff; - bCount--; - if (bCount <= 0) - { - mag[magnitudeIndex] = v; - magnitudeIndex++; - bCount = 4; - v = 0; - } - } - // 4 - bCount + 4 * magnitudeIndex = 4 * nInts - // 1 <= bCount <= 4 - // bCount = 4 * (1 + magnitudeIndex - nInts) - // 1 <= bCount <= 4 - // So bCount = 4 and magnitudeIndex = nInts = mag.length - -// if (magnitudeIndex < mag.length) -// { -// mag[magnitudeIndex] = v; -// } - mag = inc(mag); - - // TODO Fix above so that this is not necessary? - if (mag[0] == 0) - { - int[] tmp = new int[mag.length - 1]; - System.arraycopy(mag, 1, tmp, 0, tmp.length); - mag = tmp; - } - - return mag; - } - } - - - - public BigInteger(int sign, byte[] mag) throws NumberFormatException - { - if (sign < -1 || sign > 1) - { - throw new NumberFormatException("Invalid sign value"); - } - - if (sign == 0) - { - this.sign = 0; - this.magnitude = new int[0]; - return; - } - - // copy bytes - this.magnitude = makeMagnitude(mag, 1); - this.sign = sign; - } - - public BigInteger(int numBits, Random rnd) throws IllegalArgumentException - { - if (numBits < 0) - { - throw new IllegalArgumentException("numBits must be non-negative"); - } - - this.nBits = -1; - this.nBitLength = -1; - - if (numBits == 0) - { -// this.sign = 0; - this.magnitude = ZERO_MAGNITUDE; - return; - } - - int nBytes = (numBits + 7) / 8; - - byte[] b = new byte[nBytes]; - nextRndBytes(rnd, b); - - // strip off any excess bits in the MSB - int xBits = BITS_PER_BYTE * nBytes - numBits; - b[0] &= (byte)(255 >>> xBits); - - this.magnitude = makeMagnitude(b, 1); - this.sign = this.magnitude.length < 1 ? 0 : 1; - } - - private static final int BITS_PER_BYTE = 8; - private static final int BYTES_PER_INT = 4; - - /** - * strictly speaking this is a little dodgey from a compliance - * point of view as it forces people to be using SecureRandom as - * well, that being said - this implementation is for a crypto - * library and you do have the source! - */ - private void nextRndBytes(Random rnd, byte[] bytes) - { - int numRequested = bytes.length; - int numGot = 0, - r = 0; - - if (rnd instanceof java.security.SecureRandom) - { - ((java.security.SecureRandom)rnd).nextBytes(bytes); - } - else - { - for (; ; ) - { - for (int i = 0; i < BYTES_PER_INT; i++) - { - if (numGot == numRequested) - { - return; - } - - r = (i == 0 ? rnd.nextInt() : r >> BITS_PER_BYTE); - bytes[numGot++] = (byte)r; - } - } - } - } - - public BigInteger(int bitLength, int certainty, Random rnd) throws ArithmeticException - { - if (bitLength < 2) - { - throw new ArithmeticException("bitLength < 2"); - } - - this.sign = 1; - this.nBitLength = bitLength; - - if (bitLength == 2) - { - this.magnitude = rnd.nextInt() < 0 - ? TWO.magnitude - : THREE.magnitude; - return; - } - - int nBytes = (bitLength + 7) / BITS_PER_BYTE; - int xBits = BITS_PER_BYTE * nBytes - bitLength; - byte mask = (byte)(255 >>> xBits); - - byte[] b = new byte[nBytes]; - - for (;;) - { - nextRndBytes(rnd, b); - - // strip off any excess bits in the MSB - b[0] &= mask; - - // ensure the leading bit is 1 (to meet the strength requirement) - b[0] |= (byte)(1 << (7 - xBits)); - - // ensure the trailing bit is 1 (i.e. must be odd) - b[nBytes - 1] |= (byte)1; - - this.magnitude = makeMagnitude(b, 1); - this.nBits = -1; - this.mQuote = 0; - - if (certainty < 1) - break; - - if (this.isProbablePrime(certainty)) - break; - - if (bitLength > 32) - { - for (int rep = 0; rep < 10000; ++rep) - { - int n = 33 + (rnd.nextInt() >>> 1) % (bitLength - 2); - this.magnitude[this.magnitude.length - (n >>> 5)] ^= (1 << (n & 31)); - this.magnitude[this.magnitude.length - 1] ^= (rnd.nextInt() << 1); - this.mQuote = 0; - - if (this.isProbablePrime(certainty)) - return; - } - } - } - } - - public BigInteger abs() - { - return (sign >= 0) ? this : this.negate(); - } - - /** - * return a = a + b - b preserved. - */ - private int[] add(int[] a, int[] b) - { - int tI = a.length - 1; - int vI = b.length - 1; - long m = 0; - - while (vI >= 0) - { - m += (((long)a[tI]) & IMASK) + (((long)b[vI--]) & IMASK); - a[tI--] = (int)m; - m >>>= 32; - } - - while (tI >= 0 && m != 0) - { - m += (((long)a[tI]) & IMASK); - a[tI--] = (int)m; - m >>>= 32; - } - - return a; - } - - /** - * return a = a + 1. - */ - private int[] inc(int[] a) - { - int tI = a.length - 1; - long m = 0; - - m = (((long)a[tI]) & IMASK) + 1L; - a[tI--] = (int)m; - m >>>= 32; - - while (tI >= 0 && m != 0) - { - m += (((long)a[tI]) & IMASK); - a[tI--] = (int)m; - m >>>= 32; - } - - return a; - } - - public BigInteger add(BigInteger val) throws ArithmeticException - { - if (val.sign == 0 || val.magnitude.length == 0) - return this; - if (this.sign == 0 || this.magnitude.length == 0) - return val; - - if (val.sign < 0) - { - if (this.sign > 0) - return this.subtract(val.negate()); - } - else - { - if (this.sign < 0) - return val.subtract(this.negate()); - } - - return addToMagnitude(val.magnitude); - } - - private BigInteger addToMagnitude( - int[] magToAdd) - { - int[] big, small; - if (this.magnitude.length < magToAdd.length) - { - big = magToAdd; - small = this.magnitude; - } - else - { - big = this.magnitude; - small = magToAdd; - } - - // Conservatively avoid over-allocation when no overflow possible - int limit = Integer.MAX_VALUE; - if (big.length == small.length) - limit -= small[0]; - - boolean possibleOverflow = (big[0] ^ (1 << 31)) >= limit; - int extra = possibleOverflow ? 1 : 0; - - int[] bigCopy = new int[big.length + extra]; - System.arraycopy(big, 0, bigCopy, extra, big.length); - - bigCopy = add(bigCopy, small); - - return new BigInteger(this.sign, bigCopy); - } - - public BigInteger and( - BigInteger value) - { - if (this.sign == 0 || value.sign == 0) - { - return ZERO; - } - - int[] aMag = this.sign > 0 - ? this.magnitude - : add(ONE).magnitude; - - int[] bMag = value.sign > 0 - ? value.magnitude - : value.add(ONE).magnitude; - - boolean resultNeg = sign < 0 && value.sign < 0; - int resultLength = Math.max(aMag.length, bMag.length); - int[] resultMag = new int[resultLength]; - - int aStart = resultMag.length - aMag.length; - int bStart = resultMag.length - bMag.length; - - for (int i = 0; i < resultMag.length; ++i) - { - int aWord = i >= aStart ? aMag[i - aStart] : 0; - int bWord = i >= bStart ? bMag[i - bStart] : 0; - - if (this.sign < 0) - { - aWord = ~aWord; - } - - if (value.sign < 0) - { - bWord = ~bWord; - } - - resultMag[i] = aWord & bWord; - - if (resultNeg) - { - resultMag[i] = ~resultMag[i]; - } - } - - BigInteger result = new BigInteger(1, resultMag); - - // TODO Optimise this case - if (resultNeg) - { - result = result.not(); - } - - return result; - } - - public BigInteger andNot( - BigInteger value) - { - return and(value.not()); - } - - public int bitCount() - { - if (nBits == -1) - { - if (sign < 0) - { - // TODO Optimise this case - nBits = not().bitCount(); - } - else - { - int sum = 0; - for (int i = 0; i < magnitude.length; i++) - { - sum += bitCounts[magnitude[i] & 0xff]; - sum += bitCounts[(magnitude[i] >> 8) & 0xff]; - sum += bitCounts[(magnitude[i] >> 16) & 0xff]; - sum += bitCounts[(magnitude[i] >> 24) & 0xff]; - } - nBits = sum; - } - } - - return nBits; - } - - private static int calcBitLength(int sign, int indx, int[] mag) - { - if (mag.length == 0) - { - return 0; - } - - while (indx != mag.length && mag[indx] == 0) - { - indx++; - } - - if (indx == mag.length) - { - return 0; - } - - // bit length for everything after the first int - int bitLength = 32 * ((mag.length - indx) - 1); - - // and determine bitlength of first int - bitLength += bitLen(mag[indx]); - - if (sign < 0) - { - // Check if magnitude is a power of two - boolean pow2 = ((bitCounts[mag[indx] & 0xff]) - + (bitCounts[(mag[indx] >> 8) & 0xff]) - + (bitCounts[(mag[indx] >> 16) & 0xff]) - + (bitCounts[(mag[indx] >> 24) & 0xff])) == 1; - - for (int i = indx + 1; i < mag.length && pow2; i++) - { - pow2 = (mag[i] == 0); - } - - bitLength -= (pow2 ? 1 : 0); - } - - return bitLength; - } - - public int bitLength() - { - if (nBitLength == -1) - { - if (sign == 0) - { - nBitLength = 0; - } - else - { - nBitLength = calcBitLength(sign, 0, magnitude); - } - } - - return nBitLength; - } - - // - // bitLen(value) is the number of bits in value. - // - private static int bitLen(int w) - { - int t = w >>> 24; - if (t != 0) - { - return 24 + bitLengths[t]; - } - t = w >>> 16; - if (t != 0) - { - return 16 + bitLengths[t]; - } - t = w >>> 8; - if (t != 0) - { - return 8 + bitLengths[t]; - } - return bitLengths[w]; - } - - private boolean quickPow2Check() - { - return sign > 0 && nBits == 1; - } - - public int compareTo(Object o) - { - return compareTo((BigInteger)o); - } - - /** - * unsigned comparison on two arrays - note the arrays may - * start with leading zeros. - */ - private static int compareTo(int xIndx, int[] x, int yIndx, int[] y) - { - while (xIndx != x.length && x[xIndx] == 0) - { - xIndx++; - } - - while (yIndx != y.length && y[yIndx] == 0) - { - yIndx++; - } - - return compareNoLeadingZeroes(xIndx, x, yIndx, y); - } - - private static int compareNoLeadingZeroes(int xIndx, int[] x, int yIndx, int[] y) - { - int diff = (x.length - y.length) - (xIndx - yIndx); - - if (diff != 0) - { - return diff < 0 ? -1 : 1; - } - - // lengths of magnitudes the same, test the magnitude values - - while (xIndx < x.length) - { - int v1 = x[xIndx++]; - int v2 = y[yIndx++]; - - if (v1 != v2) - { - return (v1 ^ Integer.MIN_VALUE) < (v2 ^ Integer.MIN_VALUE) ? -1 : 1; - } - } - - return 0; - } - - public int compareTo(BigInteger val) - { - if (sign < val.sign) - return -1; - if (sign > val.sign) - return 1; - if (sign == 0) - return 0; - - return sign * compareTo(0, magnitude, 0, val.magnitude); - } - - /** - * return z = x / y - done in place (z value preserved, x contains the - * remainder) - */ - private int[] divide(int[] x, int[] y) - { - int xyCmp = compareTo(0, x, 0, y); - int[] count; - - if (xyCmp > 0) - { - int[] c; - - int shift = calcBitLength(1, 0, x) - calcBitLength(1, 0, y); - - if (shift > 1) - { - c = shiftLeft(y, shift - 1); - count = shiftLeft(ONE.magnitude, shift - 1); - if (shift % 32 == 0) - { - // Special case where the shift is the size of an int. - int countSpecial[] = new int[shift / 32 + 1]; - System.arraycopy(count, 0, countSpecial, 1, countSpecial.length - 1); - countSpecial[0] = 0; - count = countSpecial; - } - } - else - { - c = new int[x.length]; - count = new int[1]; - - System.arraycopy(y, 0, c, c.length - y.length, y.length); - count[0] = 1; - } - - int[] iCount = new int[count.length]; - - subtract(0, x, 0, c); - System.arraycopy(count, 0, iCount, 0, count.length); - - int xStart = 0; - int cStart = 0; - int iCountStart = 0; - - for (; ; ) - { - int cmp = compareTo(xStart, x, cStart, c); - - while (cmp >= 0) - { - subtract(xStart, x, cStart, c); - add(count, iCount); - cmp = compareTo(xStart, x, cStart, c); - } - - xyCmp = compareTo(xStart, x, 0, y); - - if (xyCmp > 0) - { - if (x[xStart] == 0) - { - xStart++; - } - - shift = calcBitLength(1, cStart, c) - calcBitLength(1, xStart, x); - - if (shift == 0) - { - shiftRightOneInPlace(cStart, c); - shiftRightOneInPlace(iCountStart, iCount); - } - else - { - shiftRightInPlace(cStart, c, shift); - shiftRightInPlace(iCountStart, iCount, shift); - } - - if (c[cStart] == 0) - { - cStart++; - } - - if (iCount[iCountStart] == 0) - { - iCountStart++; - } - } - else if (xyCmp == 0) - { - add(count, ONE.magnitude); - for (int i = xStart; i != x.length; i++) - { - x[i] = 0; - } - break; - } - else - { - break; - } - } - } - else if (xyCmp == 0) - { - count = new int[1]; - count[0] = 1; - Arrays.fill(x, 0); - } - else - { - count = new int[1]; - count[0] = 0; - } - - return count; - } - - public BigInteger divide(BigInteger val) throws ArithmeticException - { - if (val.sign == 0) - { - throw new ArithmeticException("Divide by zero"); - } - - if (sign == 0) - { - return BigInteger.ZERO; - } - - if (val.compareTo(BigInteger.ONE) == 0) - { - return this; - } - - int[] mag = new int[this.magnitude.length]; - System.arraycopy(this.magnitude, 0, mag, 0, mag.length); - - return new BigInteger(this.sign * val.sign, divide(mag, val.magnitude)); - } - - public BigInteger[] divideAndRemainder(BigInteger val) throws ArithmeticException - { - if (val.sign == 0) - { - throw new ArithmeticException("Divide by zero"); - } - - BigInteger biggies[] = new BigInteger[2]; - - if (sign == 0) - { - biggies[0] = biggies[1] = BigInteger.ZERO; - - return biggies; - } - - if (val.compareTo(BigInteger.ONE) == 0) - { - biggies[0] = this; - biggies[1] = BigInteger.ZERO; - - return biggies; - } - - int[] remainder = new int[this.magnitude.length]; - System.arraycopy(this.magnitude, 0, remainder, 0, remainder.length); - - int[] quotient = divide(remainder, val.magnitude); - - biggies[0] = new BigInteger(this.sign * val.sign, quotient); - biggies[1] = new BigInteger(this.sign, remainder); - - return biggies; - } - - public boolean equals(Object val) - { - if (val == this) - return true; - - if (!(val instanceof BigInteger)) - return false; - BigInteger biggie = (BigInteger)val; - - return sign == biggie.sign && isEqualMagnitude(biggie); - } - - private boolean isEqualMagnitude(BigInteger x) - { - if (magnitude.length != x.magnitude.length) - { - return false; - } - for (int i = 0; i < magnitude.length; i++) - { - if (magnitude[i] != x.magnitude[i]) - { - return false; - } - } - return true; - } - - public BigInteger gcd(BigInteger val) - { - if (val.sign == 0) - return this.abs(); - else if (sign == 0) - return val.abs(); - - BigInteger r; - BigInteger u = this; - BigInteger v = val; - - while (v.sign != 0) - { - r = u.mod(v); - u = v; - v = r; - } - - return u; - } - - public int hashCode() - { - int hc = magnitude.length; - - if (magnitude.length > 0) - { - hc ^= magnitude[0]; - - if (magnitude.length > 1) - { - hc ^= magnitude[magnitude.length - 1]; - } - } - - return sign < 0 ? ~hc : hc; - } - - public int intValue() - { - if (sign == 0) - { - return 0; - } - - int n = magnitude.length; - - int val = magnitude[n - 1]; - - return sign < 0 ? -val : val; - } - - public byte byteValue() - { - return (byte)intValue(); - } - - /** - * return whether or not a BigInteger is probably prime with a - * probability of 1 - (1/2)**certainty. - *

- * From Knuth Vol 2, pg 395. - */ - public boolean isProbablePrime(int certainty) - { - if (certainty <= 0) - return true; - - if (sign == 0) - return false; - - BigInteger n = this.abs(); - - if (!n.testBit(0)) - return n.equals(TWO); - - if (n.equals(ONE)) - return false; - - // Try to reduce the penalty for really small numbers - int numLists = Math.min(n.bitLength() - 1, primeLists.length); - - for (int i = 0; i < numLists; ++i) - { - int test = n.remainder(primeProducts[i]); - - int[] primeList = primeLists[i]; - for (int j = 0; j < primeList.length; ++j) - { - int prime = primeList[j]; - int qRem = test % prime; - if (qRem == 0) - { - // We may find small numbers in the list - return n.bitLength() < 16 && n.intValue() == prime; - } - } - } - - // - // let n = 1 + 2^kq - // - int s = n.getLowestSetBitMaskFirst(-1 << 1); - BigInteger r = n.shiftRight(s); - - Random random = new Random(); - - // NOTE: Avoid conversion to/from Montgomery form and check for R/-R as result instead - - BigInteger montRadix = ONE.shiftLeft(32 * n.magnitude.length).remainder(n); - BigInteger minusMontRadix = n.subtract(montRadix); - - do - { - BigInteger a; - - do - { - a = new BigInteger(n.bitLength(), random); - } - while (a.sign == 0 || a.compareTo(n) >= 0 - || a.isEqualMagnitude(montRadix) || a.isEqualMagnitude(minusMontRadix)); - - BigInteger y = modPowMonty(a, r, n, false); - - if (!y.equals(montRadix)) - { - int j = 0; - while (!y.equals(minusMontRadix)) - { - if (++j == s) - { - return false; - } - - y = modPowMonty(y, TWO, n, false); - - if (y.equals(montRadix)) - { - return false; - } - } - } - - certainty -= 2; // composites pass for only 1/4 possible 'a' - } - while (certainty > 0); - - return true; - } - - public long longValue() - { - if (sign == 0) - { - return 0; - } - - int n = magnitude.length; - - long val = magnitude[n - 1] & IMASK; - if (n > 1) - { - val |= (magnitude[n - 2] & IMASK) << 32; - } - - return sign < 0 ? -val : val; - } - - public BigInteger max(BigInteger val) - { - return (compareTo(val) > 0) ? this : val; - } - - public BigInteger min(BigInteger val) - { - return (compareTo(val) < 0) ? this : val; - } - - public BigInteger mod(BigInteger m) throws ArithmeticException - { - if (m.sign <= 0) - { - throw new ArithmeticException("BigInteger: modulus is not positive"); - } - - BigInteger biggie = this.remainder(m); - - return (biggie.sign >= 0 ? biggie : biggie.add(m)); - } - - public BigInteger modInverse(BigInteger m) throws ArithmeticException - { - if (m.sign < 1) - { - throw new ArithmeticException("Modulus must be positive"); - } - - if (m.quickPow2Check()) - { - return modInversePow2(m); - } - - BigInteger d = this.remainder(m); - BigInteger x = new BigInteger(); - BigInteger gcd = BigInteger.extEuclid(d, m, x, null); - - if (!gcd.equals(BigInteger.ONE)) - { - throw new ArithmeticException("Numbers not relatively prime."); - } - - if (x.compareTo(BigInteger.ZERO) < 0) - { - x = x.add(m); - } - - return x; - } - - private BigInteger modInversePow2(BigInteger m) - { -// assert m.signum() > 0; -// assert m.bitCount() == 1; - - if (!testBit(0)) - { - throw new ArithmeticException("Numbers not relatively prime."); - } - - int pow = m.bitLength() - 1; - - long inv64 = modInverse64(longValue()); - if (pow < 64) - { - inv64 &= ((1L << pow) - 1); - } - - BigInteger x = BigInteger.valueOf(inv64); - - if (pow > 64) - { - BigInteger d = this.remainder(m); - int bitsCorrect = 64; - - do - { - BigInteger t = x.multiply(d).remainder(m); - x = x.multiply(TWO.subtract(t)).remainder(m); - bitsCorrect <<= 1; - } - while (bitsCorrect < pow); - - if (x.sign < 0) - { - x = x.add(m); - } - } - - return x; - } - - private static int modInverse32(int d) - { - // Newton-Raphson division (roughly) - int x = d; // d.x == 1 mod 2**3 - x *= 2 - d * x; // d.x == 1 mod 2**6 - x *= 2 - d * x; // d.x == 1 mod 2**12 - x *= 2 - d * x; // d.x == 1 mod 2**24 - x *= 2 - d * x; // d.x == 1 mod 2**48 -// assert d * x == 1; - return x; - } - - private static long modInverse64(long d) - { - // Newton's method with initial estimate "correct to 4 bits" - long x = d + (((d + 1L) & 4L) << 1); // d.x == 1 mod 2**4 - x *= 2 - d * x; // d.x == 1 mod 2**8 - x *= 2 - d * x; // d.x == 1 mod 2**16 - x *= 2 - d * x; // d.x == 1 mod 2**32 - x *= 2 - d * x; // d.x == 1 mod 2**64 -// assert d * x == 1L; - return x; - } - - /** - * Calculate the numbers u1, u2, and u3 such that: - * - * u1 * a + u2 * b = u3 - * - * where u3 is the greatest common divider of a and b. - * a and b using the extended Euclid algorithm (refer p. 323 - * of The Art of Computer Programming vol 2, 2nd ed). - * This also seems to have the side effect of calculating - * some form of multiplicative inverse. - * - * @param a First number to calculate gcd for - * @param b Second number to calculate gcd for - * @param u1Out the return object for the u1 value - * @param u2Out the return object for the u2 value - * @return The greatest common divisor of a and b - */ - private static BigInteger extEuclid(BigInteger a, BigInteger b, BigInteger u1Out, - BigInteger u2Out) - { - BigInteger u1 = BigInteger.ONE; - BigInteger u3 = a; - BigInteger v1 = BigInteger.ZERO; - BigInteger v3 = b; - - while (v3.sign > 0) - { - BigInteger[] q = u3.divideAndRemainder(v3); - - BigInteger tn = u1.subtract(v1.multiply(q[0])); - u1 = v1; - v1 = tn; - - u3 = v3; - v3 = q[1]; - } - - if (u1Out != null) - { - u1Out.sign = u1.sign; - u1Out.magnitude = u1.magnitude; - } - - if (u2Out != null) - { - BigInteger res = u3.subtract(u1.multiply(a)).divide(b); - u2Out.sign = res.sign; - u2Out.magnitude = res.magnitude; - } - - return u3; - } - - /** - * zero out the array x - */ - private static void zero(int[] x) - { - for (int i = 0; i != x.length; i++) - { - x[i] = 0; - } - } - - public BigInteger modPow(BigInteger e, BigInteger m) - { - if (m.sign < 1) - { - throw new ArithmeticException("Modulus must be positive"); - } - - if (m.equals(ONE)) - { - return ZERO; - } - - if (e.sign == 0) - { - return ONE; - } - - if (sign == 0) - { - return ZERO; - } - - boolean negExp = e.sign < 0; - if (negExp) - { - e = e.negate(); - } - - BigInteger result = this.mod(m); - if (!e.equals(ONE)) - { - if ((m.magnitude[m.magnitude.length - 1] & 1) == 0) - { - result = modPowBarrett(result, e, m); - } - else - { - result = modPowMonty(result, e, m, true); - } - } - - if (negExp) - { - result = result.modInverse(m); - } - - return result; - } - - private static BigInteger modPowBarrett(BigInteger b, BigInteger e, BigInteger m) - { - int k = m.magnitude.length; - BigInteger mr = ONE.shiftLeft((k + 1) << 5); - BigInteger yu = ONE.shiftLeft(k << 6).divide(m); - - // Sliding window from MSW to LSW - int extraBits = 0, expLength = e.bitLength(); - while (expLength > EXP_WINDOW_THRESHOLDS[extraBits]) - { - ++extraBits; - } - - int numPowers = 1 << extraBits; - BigInteger[] oddPowers = new BigInteger[numPowers]; - oddPowers[0] = b; - - BigInteger b2 = reduceBarrett(b.square(), m, mr, yu); - - for (int i = 1; i < numPowers; ++i) - { - oddPowers[i] = reduceBarrett(oddPowers[i - 1].multiply(b2), m, mr, yu); - } - - int[] windowList = getWindowList(e.magnitude, extraBits); -// assert windowList.size() > 0; - - int window = windowList[0]; - int mult = window & 0xFF, lastZeroes = window >>> 8; - - BigInteger y; - if (mult == 1) - { - y = b2; - --lastZeroes; - } - else - { - y = oddPowers[mult >>> 1]; - } - - int windowPos = 1; - while ((window = windowList[windowPos++]) != -1) - { - mult = window & 0xFF; - - int bits = lastZeroes + bitLengths[mult]; - for (int j = 0; j < bits; ++j) - { - y = reduceBarrett(y.square(), m, mr, yu); - } - - y = reduceBarrett(y.multiply(oddPowers[mult >>> 1]), m, mr, yu); - - lastZeroes = window >>> 8; - } - - for (int i = 0; i < lastZeroes; ++i) - { - y = reduceBarrett(y.square(), m, mr, yu); - } - - return y; - } - - private static BigInteger reduceBarrett(BigInteger x, BigInteger m, BigInteger mr, BigInteger yu) - { - int xLen = x.bitLength(), mLen = m.bitLength(); - if (xLen < mLen) - { - return x; - } - - if (xLen - mLen > 1) - { - int k = m.magnitude.length; - - BigInteger q1 = x.divideWords(k - 1); - BigInteger q2 = q1.multiply(yu); // TODO Only need partial multiplication here - BigInteger q3 = q2.divideWords(k + 1); - - BigInteger r1 = x.remainderWords(k + 1); - BigInteger r2 = q3.multiply(m); // TODO Only need partial multiplication here - BigInteger r3 = r2.remainderWords(k + 1); - - x = r1.subtract(r3); - if (x.sign < 0) - { - x = x.add(mr); - } - } - - while (x.compareTo(m) >= 0) - { - x = x.subtract(m); - } - - return x; - } - - private static BigInteger modPowMonty(BigInteger b, BigInteger e, BigInteger m, boolean convert) - { - int n = m.magnitude.length; - int powR = 32 * n; - boolean smallMontyModulus = m.bitLength() + 2 <= powR; - int mDash = m.getMQuote(); - - // tmp = this * R mod m - if (convert) - { - b = b.shiftLeft(powR).remainder(m); - } - - int[] yAccum = new int[n + 1]; - - int[] zVal = b.magnitude; -// assert zVal.length <= n; - if (zVal.length < n) - { - int[] tmp = new int[n]; - System.arraycopy(zVal, 0, tmp, n - zVal.length, zVal.length); - zVal = tmp; - } - - // Sliding window from MSW to LSW - - int extraBits = 0; - - // Filter the common case of small RSA exponents with few bits set - if (e.magnitude.length > 1 || e.bitCount() > 2) - { - int expLength = e.bitLength(); - while (expLength > EXP_WINDOW_THRESHOLDS[extraBits]) - { - ++extraBits; - } - } - - int numPowers = 1 << extraBits; - int[][] oddPowers = new int[numPowers][]; - oddPowers[0] = zVal; - - int[] zSquared = Arrays.clone(zVal); - squareMonty(yAccum, zSquared, m.magnitude, mDash, smallMontyModulus); - - for (int i = 1; i < numPowers; ++i) - { - oddPowers[i] = Arrays.clone(oddPowers[i - 1]); - multiplyMonty(yAccum, oddPowers[i], zSquared, m.magnitude, mDash, smallMontyModulus); - } - - int[] windowList = getWindowList(e.magnitude, extraBits); -// assert windowList.size() > 0; - - int window = windowList[0]; - int mult = window & 0xFF, lastZeroes = window >>> 8; - - int[] yVal; - if (mult == 1) - { - yVal = zSquared; - --lastZeroes; - } - else - { - yVal = Arrays.clone(oddPowers[mult >>> 1]); - } - - int windowPos = 1; - while ((window = windowList[windowPos++]) != -1) - { - mult = window & 0xFF; - - int bits = lastZeroes + bitLengths[mult]; - for (int j = 0; j < bits; ++j) - { - squareMonty(yAccum, yVal, m.magnitude, mDash, smallMontyModulus); - } - - multiplyMonty(yAccum, yVal, oddPowers[mult >>> 1], m.magnitude, mDash, smallMontyModulus); - - lastZeroes = window >>> 8; - } - - for (int i = 0; i < lastZeroes; ++i) - { - squareMonty(yAccum, yVal, m.magnitude, mDash, smallMontyModulus); - } - - if (convert) - { - // Return y * R^(-1) mod m - reduceMonty(yVal, m.magnitude, mDash); - } - else if (smallMontyModulus && compareTo(0, yVal, 0, m.magnitude) >= 0) - { - subtract(0, yVal, 0, m.magnitude); - } - - return new BigInteger(1, yVal); - } - - private static int[] getWindowList(int[] mag, int extraBits) - { - int v = mag[0]; -// assert v != 0; - int leadingBits = bitLen(v); - - int resultSize = (((mag.length - 1) << 5) + leadingBits) / (1 + extraBits) + 2; - int[] result = new int[resultSize]; - int resultPos = 0; - - int bitPos = 33 - leadingBits; - v <<= bitPos; - - int mult = 1, multLimit = 1 << extraBits; - int zeroes = 0; - - int i = 0; - for (; ; ) - { - for (; bitPos < 32; ++bitPos) - { - if (mult < multLimit) - { - mult = (mult << 1) | (v >>> 31); - } - else if (v < 0) - { - result[resultPos++] = createWindowEntry(mult, zeroes); - mult = 1; - zeroes = 0; - } - else - { - ++zeroes; - } - - v <<= 1; - } - - if (++i == mag.length) - { - result[resultPos++] = createWindowEntry(mult, zeroes); - break; - } - - v = mag[i]; - bitPos = 0; - } - - result[resultPos] = -1; - return result; - } - - private static int createWindowEntry(int mult, int zeroes) - { - while ((mult & 1) == 0) - { - mult >>>= 1; - ++zeroes; - } - - return mult | (zeroes << 8); - } - - /** - * return w with w = x * x - w is assumed to have enough space. - */ - private static int[] square(int[] w, int[] x) - { - // Note: this method allows w to be only (2 * x.Length - 1) words if result will fit -// if (w.length != 2 * x.length) -// { -// throw new IllegalArgumentException("no I don't think so..."); -// } - - long c; - - int wBase = w.length - 1; - - for (int i = x.length - 1; i != 0; --i) - { - long v = x[i] & IMASK; - - c = v * v + (w[wBase] & IMASK); - w[wBase] = (int)c; - c >>>= 32; - - for (int j = i - 1; j >= 0; --j) - { - long prod = v * (x[j] & IMASK); - - c += (w[--wBase] & IMASK) + ((prod << 1) & IMASK); - w[wBase] = (int)c; - c = (c >>> 32) + (prod >>> 31); - } - - c += w[--wBase] & IMASK; - w[wBase] = (int)c; - - if (--wBase >= 0) - { - w[wBase] = (int)(c >> 32); - } - wBase += i; - } - - c = x[0] & IMASK; - - c = c * c + (w[wBase] & IMASK); - w[wBase] = (int)c; - - if (--wBase >= 0) - { - w[wBase] += (int)(c >> 32); - } - - return w; - } - - /** - * return x with x = y * z - x is assumed to have enough space. - */ - private static int[] multiply(int[] x, int[] y, int[] z) - { - int i = z.length; - - if (i < 1) - { - return x; - } - - int xBase = x.length - y.length; - - for (;;) - { - long a = z[--i] & IMASK; - long val = 0; - - for (int j = y.length - 1; j >= 0; j--) - { - val += a * (y[j] & IMASK) + (x[xBase + j] & IMASK); - - x[xBase + j] = (int)val; - - val >>>= 32; - } - - --xBase; - - if (i < 1) - { - if (xBase >= 0) - { - x[xBase] = (int)val; - } - break; - } - - x[xBase] = (int)val; - } - - return x; - } - - /** - * Calculate mQuote = -m^(-1) mod b with b = 2^32 (32 = word size) - */ - private int getMQuote() - { - if (mQuote != 0) - { - return mQuote; // already calculated - } - -// assert this.sign > 0; - - int d = -magnitude[magnitude.length - 1]; - -// assert (d & 1) != 0; - - return mQuote = modInverse32(d); - } - - private static void reduceMonty(int[] x, int[] m, int mDash) // mDash = -m^(-1) mod b - { - // NOTE: Not a general purpose reduction (which would allow x up to twice the bitlength of m) -// assert x.length == m.length; - - int n = m.length; - - for (int i = n - 1; i >= 0; --i) - { - int x0 = x[n - 1]; - - long t = (x0 * mDash) & IMASK; - - long carry = t * (m[n - 1] & IMASK) + (x0 & IMASK); -// assert (int)carry == 0; - carry >>>= 32; - - for (int j = n - 2; j >= 0; --j) - { - carry += t * (m[j] & IMASK) + (x[j] & IMASK); - x[j + 1] = (int)carry; - carry >>>= 32; - } - - x[0] = (int)carry; -// assert carry >>> 32 == 0; - } - - if (compareTo(0, x, 0, m) >= 0) - { - subtract(0, x, 0, m); - } - } - - /** - * Montgomery multiplication: a = x * y * R^(-1) mod m - *
- * Based algorithm 14.36 of Handbook of Applied Cryptography. - *
- *

  • m, x, y should have length n
  • - *
  • a should have length (n + 1)
  • - *
  • b = 2^32, R = b^n
  • - *
    - * The result is put in x - *
    - * NOTE: the indices of x, y, m, a different in HAC and in Java - */ - private static void multiplyMonty(int[] a, int[] x, int[] y, int[] m, int mDash, boolean smallMontyModulus) - // mDash = -m^(-1) mod b - { - int n = m.length; - long y_0 = y[n - 1] & IMASK; - - // 1. a = 0 (Notation: a = (a_{n} a_{n-1} ... a_{0})_{b} ) - for (int i = 0; i <= n; i++) - { - a[i] = 0; - } - - // 2. for i from 0 to (n - 1) do the following: - for (int i = n; i > 0; i--) - { - long a0 = a[n] & IMASK; - long x_i = x[i - 1] & IMASK; - - long prod1 = x_i * y_0; - long carry = (prod1 & IMASK) + a0; - - // 2.1 u = ((a[0] + (x[i] * y[0]) * mDash) mod b - long u = ((int)carry * mDash) & IMASK; - - // 2.2 a = (a + x_i * y + u * m) / b - long prod2 = u * (m[n - 1] & IMASK); - carry += (prod2 & IMASK); -// assert (int)carry == 0; - carry = (carry >>> 32) + (prod1 >>> 32) + (prod2 >>> 32); - - for (int j = n - 2; j >= 0; j--) - { - prod1 = x_i * (y[j] & IMASK); - prod2 = u * (m[j] & IMASK); - - carry += (prod1 & IMASK) + (prod2 & IMASK) + (a[j + 1] & IMASK); - a[j + 2] = (int)carry; - carry = (carry >>> 32) + (prod1 >>> 32) + (prod2 >>> 32); - } - - carry += (a[0] & IMASK); - a[1] = (int)carry; - a[0] = (int)(carry >>> 32); - } - - // 3. if x >= m the x = x - m - if (!smallMontyModulus && compareTo(0, a, 0, m) >= 0) - { - subtract(0, a, 0, m); - } - - // put the result in x - System.arraycopy(a, 1, x, 0, n); - } - - private static void squareMonty(int[] a, int[] x, int[] m, int mDash, boolean smallMontyModulus) // mDash = -m^(-1) mod b - { - int n = m.length; - - long x0 = x[n - 1] & IMASK; - - { - long carry = x0 * x0; - long u = ((int)carry * mDash) & IMASK; - - long prod1, prod2 = u * (m[n - 1] & IMASK); - carry += (prod2 & IMASK); -// assert (int)carry == 0; - carry = (carry >>> 32) + (prod2 >>> 32); -// assert carry <= (IMASK << 1); - - for (int j = n - 2; j >= 0; --j) - { - prod1 = x0 * (x[j] & IMASK); - prod2 = u * (m[j] & IMASK); - - carry += ((prod1 << 1) & IMASK) + (prod2 & IMASK); - a[j + 2] = (int)carry; - carry = (carry >>> 32) + (prod1 >>> 31) + (prod2 >>> 32); - } - - a[1] = (int)carry; - a[0] = (int)(carry >>> 32); - } - - for (int i = n - 2; i >= 0; --i) - { - int a0 = a[n]; - long u = (a0 * mDash) & IMASK; - - long carry = u * (m[n - 1] & IMASK) + (a0 & IMASK); -// assert (int)carry == 0; - carry >>>= 32; - - for (int j = n - 2; j > i; --j) - { - carry += u * (m[j] & IMASK) + (a[j + 1] & IMASK); - a[j + 2] = (int)carry; - carry >>>= 32; - } - - long xi = x[i] & IMASK; - - { - long prod1 = xi * xi; - long prod2 = u * (m[i] & IMASK); - - carry += (prod1 & IMASK) + (prod2 & IMASK) + (a[i + 1] & IMASK); - a[i + 2] = (int)carry; - carry = (carry >>> 32) + (prod1 >>> 32) + (prod2 >>> 32); - } - - for (int j = i - 1; j >= 0; --j) - { - long prod1 = xi * (x[j] & IMASK); - long prod2 = u * (m[j] & IMASK); - - carry += ((prod1 << 1) & IMASK) + (prod2 & IMASK) + (a[j + 1] & IMASK); - a[j + 2] = (int)carry; - carry = (carry >>> 32) + (prod1 >>> 31) + (prod2 >>> 32); - } - - carry += (a[0] & IMASK); - a[1] = (int)carry; - a[0] = (int)(carry >>> 32); - } - - if (!smallMontyModulus && compareTo(0, a, 0, m) >= 0) - { - subtract(0, a, 0, m); - } - - System.arraycopy(a, 1, x, 0, n); - } - - public BigInteger multiply(BigInteger val) - { - if (val == this) - return square(); - - if ((sign & val.sign) == 0) - return ZERO; - - if (val.quickPow2Check()) // val is power of two - { - BigInteger result = this.shiftLeft(val.abs().bitLength() - 1); - return val.sign > 0 ? result : result.negate(); - } - - if (this.quickPow2Check()) // this is power of two - { - BigInteger result = val.shiftLeft(this.abs().bitLength() - 1); - return this.sign > 0 ? result : result.negate(); - } - - int resLength = magnitude.length + val.magnitude.length; - int[] res = new int[resLength]; - - multiply(res, this.magnitude, val.magnitude); - - int resSign = sign ^ val.sign ^ 1; - return new BigInteger(resSign, res); - } - - public BigInteger square() - { - if (sign == 0) - { - return ZERO; - } - if (this.quickPow2Check()) - { - return shiftLeft(abs().bitLength() - 1); - } - int resLength = magnitude.length << 1; - if ((magnitude[0] >>> 16) == 0) - { - --resLength; - } - int[] res = new int[resLength]; - square(res, magnitude); - return new BigInteger(1, res); - } - - public BigInteger negate() - { - if (sign == 0) - { - return this; - } - - return new BigInteger(-sign, magnitude); - } - - public BigInteger not() - { - return add(ONE).negate(); - } - - public BigInteger pow(int exp) throws ArithmeticException - { - if (exp <= 0) - { - if (exp < 0) - throw new ArithmeticException("Negative exponent"); - - return ONE; - } - - if (sign == 0) - { - return this; - } - - if (quickPow2Check()) - { - long powOf2 = (long)exp * (bitLength() - 1); - if (powOf2 > Integer.MAX_VALUE) - { - throw new ArithmeticException("Result too large"); - } - return ONE.shiftLeft((int)powOf2); - } - - BigInteger y = BigInteger.ONE, z = this; - - while (exp != 0) - { - if ((exp & 0x1) == 1) - { - y = y.multiply(z); - } - exp >>= 1; - if (exp != 0) - { - z = z.multiply(z); - } - } - - return y; - } - - public static BigInteger probablePrime( - int bitLength, - Random random) - { - return new BigInteger(bitLength, 100, random); - } - - private int remainder(int m) - { - long acc = 0; - for (int pos = 0; pos < magnitude.length; ++pos) - { - acc = (acc << 32 | ((long)magnitude[pos] & 0xffffffffL)) % m; - } - - return (int) acc; - } - - /** - * return x = x % y - done in place (y value preserved) - */ - private static int[] remainder(int[] x, int[] y) - { - int xStart = 0; - while (xStart < x.length && x[xStart] == 0) - { - ++xStart; - } - - int yStart = 0; - while (yStart < y.length && y[yStart] == 0) - { - ++yStart; - } - - int xyCmp = compareNoLeadingZeroes(xStart, x, yStart, y); - - if (xyCmp > 0) - { - int yBitLength = calcBitLength(1, yStart, y); - int xBitLength = calcBitLength(1, xStart, x); - int shift = xBitLength - yBitLength; - - int[] c; - int cStart = 0; - int cBitLength = yBitLength; - if (shift > 0) - { - c = shiftLeft(y, shift); - cBitLength += shift; - } - else - { - int len = y.length - yStart; - c = new int[len]; - System.arraycopy(y, yStart, c, 0, len); - } - - for (;;) - { - if (cBitLength < xBitLength - || compareNoLeadingZeroes(xStart, x, cStart, c) >= 0) - { - subtract(xStart, x, cStart, c); - - while (x[xStart] == 0) - { - if (++xStart == x.length) - { - return x; - } - } - - xyCmp = compareNoLeadingZeroes(xStart, x, yStart, y); - - if (xyCmp <= 0) - { - break; - } - - //xBitLength = bitLength(xStart, x); - xBitLength = 32 * (x.length - xStart - 1) + bitLen(x[xStart]); - } - - shift = cBitLength - xBitLength; - - if (shift < 2) - { - shiftRightOneInPlace(cStart, c); - --cBitLength; - } - else - { - shiftRightInPlace(cStart, c, shift); - cBitLength -= shift; - } - -// cStart = c.length - ((cBitLength + 31) / 32); - while (c[cStart] == 0) - { - ++cStart; - } - } - } - - if (xyCmp == 0) - { - for (int i = xStart; i < x.length; ++i) - { - x[i] = 0; - } - } - - return x; - } - - public BigInteger remainder(BigInteger n) throws ArithmeticException - { - if (n.sign == 0) - { - throw new ArithmeticException("BigInteger: Divide by zero"); - } - - if (sign == 0) - { - return BigInteger.ZERO; - } - - // For small values, use fast remainder method - if (n.magnitude.length == 1) - { - int val = n.magnitude[0]; - - if (val > 0) - { - if (val == 1) - return ZERO; - - int rem = remainder(val); - - return rem == 0 - ? ZERO - : new BigInteger(sign, new int[]{ rem }); - } - } - - if (compareTo(0, magnitude, 0, n.magnitude) < 0) - return this; - - int[] res; - if (n.quickPow2Check()) // n is power of two - { - // TODO Move before small values branch above? - res = lastNBits(n.abs().bitLength() - 1); - } - else - { - res = new int[this.magnitude.length]; - System.arraycopy(this.magnitude, 0, res, 0, res.length); - res = remainder(res, n.magnitude); - } - - return new BigInteger(sign, res); - } - - private int[] lastNBits( - int n) - { - if (n < 1) - { - return ZERO_MAGNITUDE; - } - - int numWords = (n + 31) / 32; - numWords = Math.min(numWords, this.magnitude.length); - int[] result = new int[numWords]; - - System.arraycopy(this.magnitude, this.magnitude.length - numWords, result, 0, numWords); - - int excessBits = (numWords << 5) - n; - if (excessBits > 0) - { - result[0] &= (-1 >>> excessBits); - } - - return result; - } - - private BigInteger divideWords(int w) - { -// assert w >= 0; - int n = magnitude.length; - if (w >= n) - { - return ZERO; - } - int[] mag = new int[n - w]; - System.arraycopy(magnitude, 0, mag, 0, n - w); - return new BigInteger(sign, mag); - } - - private BigInteger remainderWords(int w) - { -// assert w >= 0; - int n = magnitude.length; - if (w >= n) - { - return this; - } - int[] mag = new int[w]; - System.arraycopy(magnitude, n - w, mag, 0, w); - return new BigInteger(sign, mag); - } - - /** - * do a left shift - this returns a new array. - */ - private static int[] shiftLeft(int[] mag, int n) - { - int nInts = n >>> 5; - int nBits = n & 0x1f; - int magLen = mag.length; - int newMag[] = null; - - if (nBits == 0) - { - newMag = new int[magLen + nInts]; - System.arraycopy(mag, 0, newMag, 0, magLen); - } - else - { - int i = 0; - int nBits2 = 32 - nBits; - int highBits = mag[0] >>> nBits2; - - if (highBits != 0) - { - newMag = new int[magLen + nInts + 1]; - newMag[i++] = highBits; - } - else - { - newMag = new int[magLen + nInts]; - } - - int m = mag[0]; - for (int j = 0; j < magLen - 1; j++) - { - int next = mag[j + 1]; - - newMag[i++] = (m << nBits) | (next >>> nBits2); - m = next; - } - - newMag[i] = mag[magLen - 1] << nBits; - } - - return newMag; - } - - private static int shiftLeftOneInPlace(int[] x, int carry) - { -// assert carry == 0 || carry == 1; - int pos = x.length; - while (--pos >= 0) - { - int val = x[pos]; - x[pos] = (val << 1) | carry; - carry = val >>> 31; - } - return carry; - } - - public BigInteger shiftLeft(int n) - { - if (sign == 0 || magnitude.length == 0) - { - return ZERO; - } - - if (n == 0) - { - return this; - } - - if (n < 0) - { - return shiftRight( -n); - } - - BigInteger result = new BigInteger(sign, shiftLeft(magnitude, n)); - - if (this.nBits != -1) - { - result.nBits = sign > 0 - ? this.nBits - : this.nBits + n; - } - - if (this.nBitLength != -1) - { - result.nBitLength = this.nBitLength + n; - } - - return result; - } - - /** - * do a right shift - this does it in place. - */ - private static void shiftRightInPlace(int start, int[] mag, int n) - { - int nInts = (n >>> 5) + start; - int nBits = n & 0x1f; - int magEnd = mag.length - 1; - - if (nInts != start) - { - int delta = (nInts - start); - - for (int i = magEnd; i >= nInts; i--) - { - mag[i] = mag[i - delta]; - } - for (int i = nInts - 1; i >= start; i--) - { - mag[i] = 0; - } - } - - if (nBits != 0) - { - int nBits2 = 32 - nBits; - int m = mag[magEnd]; - - for (int i = magEnd; i >= nInts + 1; i--) - { - int next = mag[i - 1]; - - mag[i] = (m >>> nBits) | (next << nBits2); - m = next; - } - - mag[nInts] >>>= nBits; - } - } - - /** - * do a right shift by one - this does it in place. - */ - private static void shiftRightOneInPlace(int start, int[] mag) - { - int magEnd = mag.length - 1; - - int m = mag[magEnd]; - - for (int i = magEnd; i > start; i--) - { - int next = mag[i - 1]; - - mag[i] = (m >>> 1) | (next << 31); - m = next; - } - - mag[start] >>>= 1; - } - - public BigInteger shiftRight(int n) - { - if (n == 0) - { - return this; - } - - if (n < 0) - { - return shiftLeft( -n); - } - - if (n >= bitLength()) - { - return (this.sign < 0 ? valueOf( -1) : BigInteger.ZERO); - } - - int[] res = new int[this.magnitude.length]; - System.arraycopy(this.magnitude, 0, res, 0, res.length); - shiftRightInPlace(0, res, n); - - return new BigInteger(this.sign, res); - - // TODO Port C# version's optimisations... - } - - public int signum() - { - return sign; - } - - /** - * returns x = x - y - we assume x is >= y - */ - private static int[] subtract(int xStart, int[] x, int yStart, int[] y) - { - int iT = x.length; - int iV = y.length; - long m; - int borrow = 0; - - do - { - m = ((long)x[--iT] & IMASK) - ((long)y[--iV] & IMASK) + borrow; - x[iT] = (int)m; - -// borrow = (m < 0) ? -1 : 0; - borrow = (int)(m >> 63); - } - while (iV > yStart); - - if (borrow != 0) - { - while (--x[--iT] == -1) - { - } - } - - return x; - } - - public BigInteger subtract(BigInteger val) - { - if (val.sign == 0 || val.magnitude.length == 0) - { - return this; - } - if (sign == 0 || magnitude.length == 0) - { - return val.negate(); - } - if (this.sign != val.sign) - { - return this.add(val.negate()); - } - - int compare = compareTo(0, magnitude, 0, val.magnitude); - if (compare == 0) - { - return ZERO; - } - - BigInteger bigun, littlun; - if (compare < 0) - { - bigun = val; - littlun = this; - } - else - { - bigun = this; - littlun = val; - } - - int res[] = new int[bigun.magnitude.length]; - - System.arraycopy(bigun.magnitude, 0, res, 0, res.length); - - return new BigInteger(this.sign * compare, subtract(0, res, 0, littlun.magnitude)); - } - - public byte[] toByteArray() - { - if (sign == 0) - { - return new byte[1]; - } - - int bitLength = bitLength(); - byte[] bytes = new byte[bitLength / 8 + 1]; - - int magIndex = magnitude.length; - int bytesIndex = bytes.length; - - if (sign > 0) - { - while (magIndex > 1) - { - int mag = magnitude[--magIndex]; - bytes[--bytesIndex] = (byte) mag; - bytes[--bytesIndex] = (byte)(mag >>> 8); - bytes[--bytesIndex] = (byte)(mag >>> 16); - bytes[--bytesIndex] = (byte)(mag >>> 24); - } - - int lastMag = magnitude[0]; - while ((lastMag & 0xFFFFFF00) != 0) - { - bytes[--bytesIndex] = (byte) lastMag; - lastMag >>>= 8; - } - - bytes[--bytesIndex] = (byte) lastMag; - } - else - { - boolean carry = true; - - while (magIndex > 1) - { - int mag = ~magnitude[--magIndex]; - - if (carry) - { - carry = (++mag == 0); - } - - bytes[--bytesIndex] = (byte) mag; - bytes[--bytesIndex] = (byte)(mag >>> 8); - bytes[--bytesIndex] = (byte)(mag >>> 16); - bytes[--bytesIndex] = (byte)(mag >>> 24); - } - - int lastMag = magnitude[0]; - - if (carry) - { - // Never wraps because magnitude[0] != 0 - --lastMag; - } - - while ((lastMag & 0xFFFFFF00) != 0) - { - bytes[--bytesIndex] = (byte) ~lastMag; - lastMag >>>= 8; - } - - bytes[--bytesIndex] = (byte) ~lastMag; - - if (bytesIndex > 0) - { - bytes[--bytesIndex] = (byte)0xFF; - } - } - - return bytes; - } - - public BigInteger xor(BigInteger val) - { - if (this.sign == 0) - { - return val; - } - - if (val.sign == 0) - { - return this; - } - - int[] aMag = this.sign > 0 - ? this.magnitude - : this.add(ONE).magnitude; - - int[] bMag = val.sign > 0 - ? val.magnitude - : val.add(ONE).magnitude; - - boolean resultNeg = (sign < 0 && val.sign >= 0) || (sign >= 0 && val.sign < 0); - int resultLength = Math.max(aMag.length, bMag.length); - int[] resultMag = new int[resultLength]; - - int aStart = resultMag.length - aMag.length; - int bStart = resultMag.length - bMag.length; - - for (int i = 0; i < resultMag.length; ++i) - { - int aWord = i >= aStart ? aMag[i - aStart] : 0; - int bWord = i >= bStart ? bMag[i - bStart] : 0; - - if (this.sign < 0) - { - aWord = ~aWord; - } - - if (val.sign < 0) - { - bWord = ~bWord; - } - - resultMag[i] = aWord ^ bWord; - - if (resultNeg) - { - resultMag[i] = ~resultMag[i]; - } - } - - BigInteger result = new BigInteger(1, resultMag); - - if (resultNeg) - { - result = result.not(); - } - - return result; - } - - public BigInteger or( - BigInteger value) - { - if (this.sign == 0) - { - return value; - } - - if (value.sign == 0) - { - return this; - } - - int[] aMag = this.sign > 0 - ? this.magnitude - : this.add(ONE).magnitude; - - int[] bMag = value.sign > 0 - ? value.magnitude - : value.add(ONE).magnitude; - - boolean resultNeg = sign < 0 || value.sign < 0; - int resultLength = Math.max(aMag.length, bMag.length); - int[] resultMag = new int[resultLength]; - - int aStart = resultMag.length - aMag.length; - int bStart = resultMag.length - bMag.length; - - for (int i = 0; i < resultMag.length; ++i) - { - int aWord = i >= aStart ? aMag[i - aStart] : 0; - int bWord = i >= bStart ? bMag[i - bStart] : 0; - - if (this.sign < 0) - { - aWord = ~aWord; - } - - if (value.sign < 0) - { - bWord = ~bWord; - } - - resultMag[i] = aWord | bWord; - - if (resultNeg) - { - resultMag[i] = ~resultMag[i]; - } - } - - BigInteger result = new BigInteger(1, resultMag); - - if (resultNeg) - { - result = result.not(); - } - - return result; - } - - public BigInteger setBit(int n) - throws ArithmeticException - { - if (n < 0) - { - throw new ArithmeticException("Bit address less than zero"); - } - - if (testBit(n)) - { - return this; - } - - // TODO Handle negative values and zero - if (sign > 0 && n < (bitLength() - 1)) - { - return flipExistingBit(n); - } - - return or(ONE.shiftLeft(n)); - } - - public BigInteger clearBit(int n) - throws ArithmeticException - { - if (n < 0) - { - throw new ArithmeticException("Bit address less than zero"); - } - - if (!testBit(n)) - { - return this; - } - - // TODO Handle negative values - if (sign > 0 && n < (bitLength() - 1)) - { - return flipExistingBit(n); - } - - return andNot(ONE.shiftLeft(n)); - } - - public BigInteger flipBit(int n) - throws ArithmeticException - { - if (n < 0) - { - throw new ArithmeticException("Bit address less than zero"); - } - - // TODO Handle negative values and zero - if (sign > 0 && n < (bitLength() - 1)) - { - return flipExistingBit(n); - } - - return xor(ONE.shiftLeft(n)); - } - - private BigInteger flipExistingBit(int n) - { - int[] mag = new int[this.magnitude.length]; - System.arraycopy(this.magnitude, 0, mag, 0, mag.length); - mag[mag.length - 1 - (n >>> 5)] ^= (1 << (n & 31)); // Flip 0 bit to 1 - //mag[mag.Length - 1 - (n / 32)] |= (1 << (n % 32)); - return new BigInteger(this.sign, mag); - } - - public String toString() - { - return toString(10); - } - - public String toString(int rdx) - { - if (magnitude == null) - { - return "null"; - } - if (sign == 0) - { - return "0"; - } - if (rdx < Character.MIN_RADIX || rdx > Character.MAX_RADIX) - { - rdx = 10; - } - - - // NOTE: This *should* be unnecessary, since the magnitude *should* never have leading zero digits - int firstNonZero = 0; - while (firstNonZero < magnitude.length) - { - if (magnitude[firstNonZero] != 0) - { - break; - } - ++firstNonZero; - } - - if (firstNonZero == magnitude.length) - { - return "0"; - } - - - StringBuffer sb = new StringBuffer(); - if (sign == -1) - { - sb.append('-'); - } - - switch (rdx) - { - case 2: - { - int pos = firstNonZero; - sb.append(Integer.toBinaryString(magnitude[pos])); - while (++pos < magnitude.length) - { - appendZeroExtendedString(sb, Integer.toBinaryString(magnitude[pos]), 32); - } - break; - } - case 4: - { - int pos = firstNonZero; - int mag = magnitude[pos]; - if (mag < 0) - { - sb.append(Integer.toString(mag >>> 30, 4)); - mag &= (1 << 30) - 1; - appendZeroExtendedString(sb, Integer.toString(mag, 4), 15); - } - else - { - sb.append(Integer.toString(mag, 4)); - } - int mask = (1 << 16) - 1; - while (++pos < magnitude.length) - { - mag = magnitude[pos]; - appendZeroExtendedString(sb, Integer.toString(mag >>> 16, 4), 8); - appendZeroExtendedString(sb, Integer.toString(mag & mask, 4), 8); - } - break; - } - case 8: - { - long mask = (1L << 63) - 1; - BigInteger u = this.abs(); - int bits = u.bitLength(); - Stack S = new Stack(); - while (bits > 63) - { - S.push(Long.toString((u.longValue() & mask),8)); - u = u.shiftRight(63); - bits -= 63; - } - sb.append(Long.toString(u.longValue(), 8)); - while (!S.empty()) - { - appendZeroExtendedString(sb, (String)S.pop(), 21); - } - break; - } - case 16: - { - int pos = firstNonZero; - sb.append(Integer.toHexString(magnitude[pos])); - while (++pos < magnitude.length) - { - appendZeroExtendedString(sb, Integer.toHexString(magnitude[pos]), 8); - } - break; - } - default: - { - BigInteger q = this.abs(); - if (q.bitLength() < 64) - { - sb.append(Long.toString(q.longValue(), rdx)); - break; - } - - // Based on algorithm 1a from chapter 4.4 in Seminumerical Algorithms (Knuth) - - // Work out the largest power of 'rdx' that is a positive 64-bit integer - // TODO possibly cache power/exponent against radix? - long limit = Long.MAX_VALUE / rdx; - long power = rdx; - int exponent = 1; - while (power <= limit) - { - power *= rdx; - ++exponent; - } - - BigInteger bigPower = BigInteger.valueOf(power); - - Stack S = new Stack(); - while (q.compareTo(bigPower) >= 0) - { - BigInteger[] qr = q.divideAndRemainder(bigPower); - S.push(Long.toString(qr[1].longValue(), rdx)); - q = qr[0]; - } - - sb.append(Long.toString(q.longValue(), rdx)); - while (!S.empty()) - { - appendZeroExtendedString(sb, (String)S.pop(), exponent); - } - break; - } - } - - return sb.toString(); - } - - private static void appendZeroExtendedString(StringBuffer sb, String s, int minLength) - { - for (int len = s.length(); len < minLength; ++len) - { - sb.append('0'); - } - sb.append(s); - } - - public static BigInteger valueOf(long val) - { - if (val >= 0 && val < SMALL_CONSTANTS.length) - { - return SMALL_CONSTANTS[(int)val]; - } - - return createValueOf(val); - } - - private static BigInteger createValueOf(long val) - { - if (val < 0) - { - if (val == Long.MIN_VALUE) - { - return valueOf(~val).not(); - } - - return valueOf(-val).negate(); - } - - // store val into a byte array - byte[] b = new byte[8]; - for (int i = 0; i < 8; i++) - { - b[7 - i] = (byte)val; - val >>= 8; - } - - return new BigInteger(b); - } - - public int getLowestSetBit() - { - if (this.sign == 0) - { - return -1; - } - - return getLowestSetBitMaskFirst(-1); - } - - private int getLowestSetBitMaskFirst(int firstWordMask) - { - int w = magnitude.length, offset = 0; - - int word = magnitude[--w] & firstWordMask; -// assert magnitude[0] != 0; - - while (word == 0) - { - word = magnitude[--w]; - offset += 32; - } - - while ((word & 0xFF) == 0) - { - word >>>= 8; - offset += 8; - } - - while ((word & 1) == 0) - { - word >>>= 1; - ++offset; - } - - return offset; - } - - public boolean testBit(int n) - throws ArithmeticException - { - if (n < 0) - { - throw new ArithmeticException("Bit position must not be negative"); - } - - if (sign < 0) - { - return !not().testBit(n); - } - - int wordNum = n / 32; - if (wordNum >= magnitude.length) - return false; - - int word = magnitude[magnitude.length - 1 - wordNum]; - return ((word >> (n % 32)) & 1) > 0; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/security/SecureRandom.java b/libraries/spongycastle/core/src/main/j2me/java/security/SecureRandom.java deleted file mode 100644 index a6a562a4d..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/security/SecureRandom.java +++ /dev/null @@ -1,141 +0,0 @@ -package java.security; - -import java.util.Random; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.prng.RandomGenerator; -import org.spongycastle.crypto.prng.DigestRandomGenerator; - -/** - * An implementation of SecureRandom specifically for the light-weight API, JDK - * 1.0, and the J2ME. Random generation is based on the traditional SHA1 with - * counter. Calling setSeed will always increase the entropy of the hash. - *

    - * Do not use this class without calling setSeed at least once! There - * are some example seed generators in the org.spongycastle.prng package. - */ -public class SecureRandom extends java.util.Random -{ - // Note: all objects of this class should be deriving their random data from - // a single generator appropriate to the digest being used. - private static final RandomGenerator sha1Generator = new DigestRandomGenerator(new SHA1Digest()); - private static final RandomGenerator sha256Generator = new DigestRandomGenerator(new SHA256Digest()); - - protected RandomGenerator generator; - - // public constructors - public SecureRandom() - { - this(sha1Generator); - setSeed(System.currentTimeMillis()); - } - - public SecureRandom(byte[] inSeed) - { - this(sha1Generator); - setSeed(inSeed); - } - - protected SecureRandom( - RandomGenerator generator) - { - super(0); - this.generator = generator; - } - - // protected constructors - // protected SecureRandom(SecureRandomSpi srs, Provider provider); - - // public class methods - public static SecureRandom getInstance(String algorithm) - { - if (algorithm.equals("SHA1PRNG")) - { - return new SecureRandom(sha1Generator); - } - if (algorithm.equals("SHA256PRNG")) - { - return new SecureRandom(sha256Generator); - } - return new SecureRandom(); // follow old behaviour - } - - public static SecureRandom getInstance(String algorithm, String provider) - { - return getInstance(algorithm); - } - - public static byte[] getSeed(int numBytes) - { - byte[] rv = new byte[numBytes]; - - sha1Generator.addSeedMaterial(System.currentTimeMillis()); - sha1Generator.nextBytes(rv); - - return rv; - } - - // public instance methods - public byte[] generateSeed(int numBytes) - { - byte[] rv = new byte[numBytes]; - - nextBytes(rv); - - return rv; - } - - // public final Provider getProvider(); - public void setSeed(byte[] inSeed) - { - generator.addSeedMaterial(inSeed); - } - - // public methods overriding random - public void nextBytes(byte[] bytes) - { - generator.nextBytes(bytes); - } - - public void setSeed(long rSeed) - { - if (rSeed != 0) // to avoid problems with Random calling setSeed in construction - { - generator.addSeedMaterial(rSeed); - } - } - - public int nextInt() - { - byte[] intBytes = new byte[4]; - - nextBytes(intBytes); - - int result = 0; - - for (int i = 0; i < 4; i++) - { - result = (result << 8) + (intBytes[i] & 0xff); - } - - return result; - } - - protected final int next(int numBits) - { - int size = (numBits + 7) / 8; - byte[] bytes = new byte[size]; - - nextBytes(bytes); - - int result = 0; - - for (int i = 0; i < size; i++) - { - result = (result << 8) + (bytes[i] & 0xff); - } - - return result & ((1 << numBits) - 1); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractCollection.java b/libraries/spongycastle/core/src/main/j2me/java/util/AbstractCollection.java deleted file mode 100644 index 44c85ee05..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractCollection.java +++ /dev/null @@ -1,261 +0,0 @@ -package java.util; - -public abstract class AbstractCollection - implements Collection -{ - protected AbstractCollection() - { - } - - public abstract Iterator iterator(); - - public abstract int size(); - - public boolean isEmpty() - { - return size() == 0; - } - - public boolean contains(Object o) - { - Iterator it = iterator(); - while (it.hasNext()) - { - Object e = it.next(); - if (o == null) - { - if (e == null) - { - return true; - } - } - else - { - if (o.equals(e)) - { - return true; - } - } - } - return false; - } - - public Object[] toArray() - { - Object[] arObjects = new Object[size()]; - Iterator it = iterator(); - int i = 0; - while (it.hasNext()) - { - arObjects[i++] = it.next(); - } - return arObjects; - } - - public Object[] toArray(Object[] a) - throws NullPointerException, ArrayStoreException - //TODO: Check if this is realy compatible to SUN!!! - { - if (a == null) - { - throw new NullPointerException(); - } - - if (isEmpty()) - { - return a; - } - Object[] arObjects = null; - int size = size(); - if (a.length < size) - { - Iterator it = iterator(); - Object o = it.next(); - if (o == null) //no object or object is null - { - throw new ArrayStoreException(); //correct ? - } - throw new ArrayStoreException("please pass array of correct size"); - } - else - { - arObjects = a; - if (a.length > size) - { - arObjects[size] = null; - } - - } - - Iterator it = iterator(); - int i = 0; - while (it.hasNext()) - { - Object o = it.next(); - arObjects[i++] = o; - } - return arObjects; - } - - public boolean add(Object o) - throws RuntimeException, NullPointerException, ClassCastException, IllegalArgumentException - { - throw new RuntimeException(); - } - - public boolean remove(Object o) - throws RuntimeException - { - Iterator it = iterator(); - while (it.hasNext()) - { - Object e = it.next(); - if (o == null) - { - if (e == null) - { - try - { - it.remove(); - } - catch (RuntimeException ue) - { - throw ue; - } - return true; - } - } - else - { - if (o.equals(e)) - { - try - { - it.remove(); - } - catch (RuntimeException ue) - { - throw ue; - } - return true; - } - } - } - return false; - } - - public boolean containsAll(Collection c) - { - Iterator it = c.iterator(); - while (it.hasNext()) - { - if (!contains(it.next())) - { - return false; - } - } - return true; - } - - public boolean addAll(Collection c) - throws RuntimeException - { - Iterator it = c.iterator(); - boolean ret = false; - while (it.hasNext()) - { - try - { - ret |= add(it.next()); - } - catch (RuntimeException ue) - { - throw ue; - } - } - return ret; - } - - public boolean removeAll(Collection c) - throws RuntimeException - { - Iterator it = iterator(); - boolean ret = false; - while (it.hasNext()) - { - if (c.contains(it.next())) - { - try - { - it.remove(); - ret = true; - } - catch (RuntimeException ue) - { - throw ue; - } - } - } - return ret; - } - - public boolean retainAll(Collection c) - throws RuntimeException - { - Iterator it = iterator(); - boolean ret = false; - while (it.hasNext()) - { - if (!c.contains(it.next())) - { - try - { - it.remove(); - ret = true; - } - catch (RuntimeException ue) - { - throw ue; - } - } - } - return ret; - } - - public void clear() - throws RuntimeException - { - Iterator it = iterator(); - while (it.hasNext()) - { - try - { - it.next(); - it.remove(); - } - catch (RuntimeException ue) - { - throw ue; - } - } - } - - public String toString() - { - StringBuffer ret = new StringBuffer("["); - Iterator it = iterator(); - if (it.hasNext()) - { - ret.append(String.valueOf(it.next())); - } - while (it.hasNext()) - { - ret.append(", "); - ret.append(String.valueOf(it.next())); - - } - ret.append("]"); - return ret.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractList.java b/libraries/spongycastle/core/src/main/j2me/java/util/AbstractList.java deleted file mode 100644 index dbb1dffc4..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractList.java +++ /dev/null @@ -1,304 +0,0 @@ -package java.util; - -public abstract class AbstractList - extends AbstractCollection - implements List -{ - protected AbstractList al = this; - - - protected AbstractList() - { - } - - public boolean add(Object o) - throws RuntimeException, ClassCastException, IllegalArgumentException - { - try - { - add(size(), o); - return true; - } - catch (RuntimeException ue) - { - throw ue; - } - } - - public abstract Object get(int index) - throws IndexOutOfBoundsException; - - public Object set(int index, Object element) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - throw new RuntimeException(); - } - - public void add(int index, Object element) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - throw new RuntimeException(); - } - - public Object remove(int index) - throws RuntimeException, IndexOutOfBoundsException - { - Object o = get(index); - - removeRange(index, index + 1); - return o; - } - - public int indexOf(Object o) - { - ListIterator li = listIterator(); - Object e; - while (li.hasNext()) - { - int index = li.nextIndex(); - e = li.next(); - - if (o == null) - { - if (e == null) - { - return index; - } - } - else - { - if (o.equals(e)) - { - return index; - } - } - } - return -1; - } - - public int lastIndexOf(Object o) - { - ListIterator li = listIterator(size()); - while (li.hasPrevious()) - { - int index = li.previousIndex(); - Object e = li.previous(); - if (o == null) - { - if (e == null) - { - return index; - } - } - else - { - if (o.equals(e)) - { - return index; - } - } - } - return -1; - } - - public void clear() - throws RuntimeException - { - try - { - removeRange(0, size()); - } - catch (RuntimeException ue) - { - throw ue; - } - } - - public boolean addAll(int index, Collection c) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - Iterator it = c.iterator(); - boolean ret = false; - while (it.hasNext()) - { - try - { - add(index++, it.next()); - ret = true; - } - catch (RuntimeException ue) - { - throw ue; - } - } - return ret; - } - - public Iterator iterator() - { - return new AbstractListIterator(this, 0); - } - - public ListIterator listIterator() - { - return listIterator(0); - } - - public ListIterator listIterator(int index) - throws IndexOutOfBoundsException - { - if (index < 0 || index > size()) - { - throw new IndexOutOfBoundsException(); - } - return new AbstractListListIterator(this, index); - } - - public List subList(int fromIndex, int toIndex) - throws IndexOutOfBoundsException, IllegalArgumentException - { - if (fromIndex < 0 || toIndex > size()) - { - throw new IndexOutOfBoundsException(); - } - if (fromIndex > toIndex) - { - throw new IllegalArgumentException(); - } - return (List)new Sublist(this, fromIndex, toIndex); - } - - public boolean equals(Object o) - { - if (o == this) - { - return true; - } - if (!(o instanceof List)) - { - return false; - } - Iterator it1 = iterator(); - Iterator it2 = ((List)o).iterator(); - while (it1.hasNext()) - { - if (!it2.hasNext()) - { - return false; - } - Object e1 = it1.next(); - Object e2 = it2.next(); - if (e1 == null) - { - if (e2 != null) - { - return false; - } - } - if (!e1.equals(e2)) - { - return false; - } - } - return true; - } - - public int hashCode() - { - int hashCode = 1; - Iterator it = iterator(); - while (it.hasNext()) - { - Object o = it.next(); - hashCode = 31 * hashCode + (o == null ? 0 : o.hashCode()); - } - return hashCode; - } - - protected void removeRange(int fromIndex, int toIndex) - { - if (fromIndex == toIndex) - { - return; - } - - ListIterator li = listIterator(fromIndex); - - int i = fromIndex; - do - { - li.next(); - li.remove(); - i++; - } - while (li.hasNext() && i < toIndex); - } - - private class AbstractListIterator - implements Iterator - { - AbstractList m_al = null; - int m_nextIndex = 0; - - public AbstractListIterator(AbstractList al, int index) - { - m_al = al; - m_nextIndex = index; - } - - public boolean hasNext() - { - return m_nextIndex < m_al.size(); - } - - public Object next() - { - return m_al.get(m_nextIndex++); - } - - public void remove() - { - m_al.remove(m_nextIndex - 1); - } - } - - private class AbstractListListIterator - extends AbstractListIterator - implements ListIterator - { - public AbstractListListIterator(AbstractList al, int index) - { - super(al, index); - } - - public boolean hasPrevious() - { - return m_nextIndex > 0; - } - - public Object previous()// throws NoSuchElementException; - { - return m_al.get(--m_nextIndex); - } - - public int nextIndex() - { - return m_nextIndex; - } - - public int previousIndex() - { - return m_nextIndex - 1; - } - - public void set(Object o) //throws RuntimeException, ClassCastException, IllegalArgumentException,IllegalStateException; - { - m_al.set(m_nextIndex - 1, o); - } - - public void add(Object o)// throws RuntimeException, ClassCastException, IllegalArgumentException; - { - m_al.add(m_nextIndex - 1, o); - } - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractMap.java b/libraries/spongycastle/core/src/main/j2me/java/util/AbstractMap.java deleted file mode 100644 index 13c61ecfa..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractMap.java +++ /dev/null @@ -1,173 +0,0 @@ -package java.util; - -public abstract class AbstractMap - implements Map -{ - - protected AbstractMap() - { - } - - public int size() - { - return entrySet().size(); - } - - public boolean isEmpty() - { - return size() == 0; - } - - public boolean containsValue(Object value) - { - Iterator it = entrySet().iterator(); - while (it.hasNext()) - { - Map.Entry v = (Map.Entry)it.next(); - if (value == null) - { - if (v.getValue() == null) - { - return true; - } - } - else - { - if (value.equals(v.getValue())) - { - return true; - } - } - } - return false; - } - - public boolean containsKey(Object key) - throws ClassCastException, NullPointerException - { - Iterator it = entrySet().iterator(); - while (it.hasNext()) - { - Map.Entry v = (Map.Entry)it.next(); - if (key == null) - { - if (v.getKey() == null) - { - return true; - } - } - else - { - if (key.equals(v.getKey())) - { - return true; - } - } - } - return false; - } - - public Object get(Object key) - throws ClassCastException, NullPointerException - { - Iterator it = entrySet().iterator(); - while (it.hasNext()) - { - Map.Entry v = (Map.Entry)it.next(); - if (key == null) - { - if (v.getKey() == null) - { - return v.getValue(); - } - } - else - { - if (key.equals(v.getKey())) - { - return v.getValue(); - } - } - } - return null; - } - - public Object put(Object key, Object value) - throws RuntimeException - { - throw new RuntimeException(); - } - - public Object remove(Object key) - { - Iterator it = entrySet().iterator(); - Object o = null; - while (it.hasNext()) - { - Map.Entry v = (Map.Entry)it.next(); - if (key == null) - { - if (v.getKey() == null) - { - o = v.getValue(); - it.remove(); - return o; - } - } - else - { - if (key.equals(v.getKey())) - { - o = v.getValue(); - it.remove(); - return o; - } - } - } - return null; - } - - public void putAll(Map t) - { - Iterator it = t.entrySet().iterator(); - while (it.hasNext()) - { - Map.Entry v = (Map.Entry)it.next(); - put(v.getKey(), v.getValue()); - } - } - - public void clear() - { - entrySet().clear(); - } - - public Set keySet() - { - throw new RuntimeException("no keySet in AbstractMap()"); - } - - public Collection values() - { - throw new RuntimeException("no values in AbstractMap()"); - } - - public abstract Set entrySet(); - - public boolean equals(Object o) - { - throw new RuntimeException("no equals in AbstractMap()"); - } - - public int hashCode() - { - throw new RuntimeException("no hashCode in AbstractMap()"); - } - - public String toString() - { - throw new RuntimeException("no toString in AbstractMap()"); - } - - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractSet.java b/libraries/spongycastle/core/src/main/j2me/java/util/AbstractSet.java deleted file mode 100644 index 2a91c4766..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/AbstractSet.java +++ /dev/null @@ -1,46 +0,0 @@ -package java.util; - -public abstract class AbstractSet - extends AbstractCollection - implements Set -{ - protected AbstractSet() - { - } - - public boolean equals(Object o) - { - if (this == o) - { - return true; - } - if (o == null) - { - return false; - } - if (!(o instanceof Set)) - { - return false; - } - if (((Set)o).size() != size()) - { - return false; - } - return containsAll((Collection)o); - } - - public int hashCode() - { - int hashCode = 0; - Iterator it = iterator(); - while (it.hasNext()) - { - Object o = it.next(); - if (o != null) - { - hashCode += o.hashCode(); - } - } - return hashCode; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/ArrayList.java b/libraries/spongycastle/core/src/main/j2me/java/util/ArrayList.java deleted file mode 100644 index 80adf4785..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/ArrayList.java +++ /dev/null @@ -1,107 +0,0 @@ -package java.util; - -public class ArrayList extends AbstractList - implements List - { - Vector m_Vector=null; - - public ArrayList() - { - m_Vector=new Vector(); - } - - public ArrayList(Collection c) - { - m_Vector=new Vector((int)(c.size()*1.1)); - addAll(c); - } - - public ArrayList(int initialCapacity) - { - m_Vector=new Vector(initialCapacity); - } - - public void trimToSize() - { - m_Vector.trimToSize(); - } - - public void ensureCapacity(int minCapacity) - { - m_Vector.ensureCapacity(minCapacity); - } - - public int size() - { - return m_Vector.size(); - } - - public boolean contains(Object elem) - { - return m_Vector.contains(elem); - } - - public int indexOf(Object elem) - { - return m_Vector.indexOf(elem); - } - - public int lastIndexOf(Object elem) - { - return m_Vector.lastIndexOf(elem); - } - - public Object clone() - { - ArrayList al=new ArrayList(this); - - return al; - } - - public Object[] toArray() - { - Object[] o=new Object[m_Vector.size()]; - m_Vector.copyInto(o); - return o; - } - - public Object get(int index) - { - return m_Vector.elementAt(index); - } - - public Object set(int index,Object elem) - { - Object o=m_Vector.elementAt(index); - m_Vector.setElementAt(elem,index); - return o; - } - - public boolean add(Object o) - { - m_Vector.addElement(o); - return true; - } - - public void add(int index,Object elem) - { - m_Vector.insertElementAt(elem,index); - } - - public Object remove(int index) - { - Object o=m_Vector.elementAt(index); - m_Vector.removeElementAt(index); - return o; - } - - public void clear() - { - m_Vector.removeAllElements(); - } - - - - - - } diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Arrays.java b/libraries/spongycastle/core/src/main/j2me/java/util/Arrays.java deleted file mode 100644 index 8cd74daae..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Arrays.java +++ /dev/null @@ -1,118 +0,0 @@ -package java.util; - -public class Arrays -{ - - private Arrays() - { - } - - public static void fill(byte[] ret, byte v) - { - for (int i = 0; i != ret.length; i++) - { - ret[i] = v; - } - } - - public static boolean equals(byte[] a, byte[] a2) - { - if (a == a2) - { - return true; - } - if (a == null || a2 == null) - { - return false; - } - - int length = a.length; - if (a2.length != length) - { - return false; - } - - for (int i = 0; i < length; i++) - { - if (a[i] != a2[i]) - { - return false; - } - } - - return true; - } - - public static List asList(Object[] a) - { - return new ArrayList(a); - } - - private static class ArrayList - extends AbstractList - { - private Object[] a; - - ArrayList(Object[] array) - { - a = array; - } - - public int size() - { - return a.length; - } - - public Object[] toArray() - { - Object[] tmp = new Object[a.length]; - - System.arraycopy(a, 0, tmp, 0, tmp.length); - - return tmp; - } - - public Object get(int index) - { - return a[index]; - } - - public Object set(int index, Object element) - { - Object oldValue = a[index]; - a[index] = element; - return oldValue; - } - - public int indexOf(Object o) - { - if (o == null) - { - for (int i = 0; i < a.length; i++) - { - if (a[i] == null) - { - return i; - } - } - } - else - { - for (int i = 0; i < a.length; i++) - { - if (o.equals(a[i])) - { - return i; - } - } - } - return -1; - } - - public boolean contains(Object o) - { - return indexOf(o) != -1; - } - } - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Collection.java b/libraries/spongycastle/core/src/main/j2me/java/util/Collection.java deleted file mode 100644 index a911dcd63..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Collection.java +++ /dev/null @@ -1,21 +0,0 @@ - -package java.util; - -public interface Collection - { - public boolean add(Object o) throws RuntimeException,ClassCastException,IllegalArgumentException; - public boolean addAll(Collection c) throws RuntimeException,ClassCastException,IllegalArgumentException; - public void clear() throws RuntimeException; - public boolean contains(Object o); - public boolean containsAll(Collection c); - public boolean equals(Object o); - public int hashCode(); - public boolean isEmpty(); - public Iterator iterator(); - public /*SK13*/boolean remove(Object o) throws RuntimeException; - public boolean removeAll(Collection c) throws RuntimeException; - public boolean retainAll(Collection c) throws RuntimeException; - public int size(); - public Object[] toArray(); - public Object[] toArray(Object[] a) throws ArrayStoreException; - } diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Collections.java b/libraries/spongycastle/core/src/main/j2me/java/util/Collections.java deleted file mode 100644 index d611e5e3e..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Collections.java +++ /dev/null @@ -1,365 +0,0 @@ -package java.util; - -public class Collections -{ - public static List EMPTY_LIST = new ArrayList(); - - private Collections() - { - } - - public static Collection unmodifiableCollection(Collection c) - { - return new UnmodifiableCollection(c); - } - - static class UnmodifiableCollection - implements Collection - { - Collection c; - - UnmodifiableCollection(Collection c) - { - this.c = c; - } - - public int size() - { - return c.size(); - } - - public boolean isEmpty() - { - return c.isEmpty(); - } - - public boolean contains(Object o) - { - return c.contains(o); - } - - public Object[] toArray() - { - return c.toArray(); - } - - public Object[] toArray(Object[] a) - { - return c.toArray(a); - } - - public Iterator iterator() - { - return new Iterator() - { - Iterator i = c.iterator(); - - public boolean hasNext() - { - return i.hasNext(); - } - - public Object next() - { - return i.next(); - } - - public void remove() - { - throw new RuntimeException(); - } - }; - } - - public boolean add(Object o) - { - throw new RuntimeException(); - } - - public boolean remove(Object o) - { - throw new RuntimeException(); - } - - public boolean containsAll(Collection coll) - { - return c.containsAll(coll); - } - - public boolean addAll(Collection coll) - { - throw new RuntimeException(); - } - - public boolean removeAll(Collection coll) - { - throw new RuntimeException(); - } - - public boolean retainAll(Collection coll) - { - throw new RuntimeException(); - } - - public void clear() - { - throw new RuntimeException(); - } - - public String toString() - { - return c.toString(); - } - } - - public static Set unmodifiableSet(Set s) - { - return new UnmodifiableSet(s); - } - - static class UnmodifiableSet - extends UnmodifiableCollection - implements Set - { - UnmodifiableSet(Set s) - { - super(s); - } - - public boolean equals(Object o) - { - return c.equals(o); - } - - public int hashCode() - { - return c.hashCode(); - } - } - - public static Map unmodifiableMap(Map map) - { - return new UnmodifiableMap(map); - } - - static class UnmodifiableMap - implements Map - { - private Map map; - - UnmodifiableMap(Map map) - { - this.map = map; - } - - public int size() - { - return map.size(); - } - - public boolean isEmpty() - { - return map.isEmpty(); - } - - public boolean containsKey(Object key) - throws ClassCastException, NullPointerException - { - return map.containsKey(key); - } - - public boolean containsValue(Object value) - { - return map.containsValue(value); - } - - public Object get(Object key) - throws ClassCastException, NullPointerException - { - return map.get(key); - } - - public Object put(Object key, Object value) - throws RuntimeException, ClassCastException, IllegalArgumentException, NullPointerException - { - throw new RuntimeException("unsupported operation - map unmodifiable"); - } - - public Object remove(Object key) - throws RuntimeException - { - throw new RuntimeException("unsupported operation - map unmodifiable"); - } - - public void putAll(Map t) - throws RuntimeException, ClassCastException, IllegalArgumentException, NullPointerException - { - throw new RuntimeException("unsupported operation - map unmodifiable"); - } - - public void clear() - throws RuntimeException - { - throw new RuntimeException("unsupported operation - map unmodifiable"); - } - - public Set keySet() - { - return map.keySet(); - } - - public Collection values() - { - return map.values(); - } - - public Set entrySet() - { - return map.entrySet(); - } - } - - public static List unmodifiableList(List list) - { - return new UnmodifiableList(list); - } - - static class UnmodifiableList - extends UnmodifiableCollection - implements List - { - private List list; - - UnmodifiableList(List list) - { - super(list); - this.list = list; - } - - public boolean equals(Object o) - { - return list.equals(o); - } - - public int hashCode() - { - return list.hashCode(); - } - - public Object get(int index) - { - return list.get(index); - } - - public Object set(int index, Object element) - { - throw new RuntimeException(); - } - - public void add(int index, Object element) - { - throw new RuntimeException(); - } - - public Object remove(int index) - { - throw new RuntimeException(); - } - - public int indexOf(Object o) - { - return list.indexOf(o); - } - - public int lastIndexOf(Object o) - { - return list.lastIndexOf(o); - } - - public boolean addAll(int index, Collection c) - { - throw new RuntimeException(); - } - - public ListIterator listIterator() - { - return listIterator(0); - } - - public ListIterator listIterator(final int index) - { - return new ListIterator() - { - ListIterator i = list.listIterator(index); - - public boolean hasNext() - { - return i.hasNext(); - } - - public Object next() - { - return i.next(); - } - - public boolean hasPrevious() - { - return i.hasPrevious(); - } - - public Object previous() - { - return i.previous(); - } - - public int nextIndex() - { - return i.nextIndex(); - } - - public int previousIndex() - { - return i.previousIndex(); - } - - public void remove() - { - throw new RuntimeException(); - } - - public void set(Object o) - { - throw new RuntimeException(); - } - - public void add(Object o) - { - throw new RuntimeException(); - } - }; - } - - public List subList(int fromIndex, int toIndex) - { - return new UnmodifiableList(list.subList(fromIndex, toIndex)); - } - } - - public static Enumeration enumeration(final Collection c) - { - return new Enumeration() - { - Iterator i = c.iterator(); - - public boolean hasMoreElements() - { - return i.hasNext(); - } - - public Object nextElement() - { - return i.next(); - } - }; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/HashMap.java b/libraries/spongycastle/core/src/main/j2me/java/util/HashMap.java deleted file mode 100644 index 0bcd75ddd..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/HashMap.java +++ /dev/null @@ -1,279 +0,0 @@ -package java.util; - - -public class HashMap extends AbstractMap{ - - ////////////////////////////////////////////////////////////// - ///// innere Klasse Null //////////////////////////////////// - ////////////////////////////////////////////////////////////// -public class Null extends Object - { - public Null() - { - - } - - public String toString() - { - return "Nullobject"; - } - } - - - ////////////////////////////////////////////////////////////// - ///// innere Klasse innerSet //////////////////////////////////// - ////////////////////////////////////////////////////////////// - - class ISet extends AbstractSet implements java.util.Set - { - - Vector vec = null; - - public ISet() - { - - vec = new Vector(); - - } - - public boolean add(Object o) - { - vec.addElement(o); - return true; - } - - public int size() - { - return vec.size(); - } - - public Iterator iterator() - { - return new IIterator(vec); - } - } - - ////////////////////////////////////////////////////////////// - ///// innere Klasse Iterator //////////////////////////////////// - ////////////////////////////////////////////////////////////// - class IIterator implements java.util.Iterator - { - int index = 0; - Vector vec = null; - public IIterator(Vector ve) - { - vec = ve; - } - - public boolean hasNext() - { - if (vec.size() > index) return true; - return false; - } - - public Object next() - { - Object o = vec.elementAt(index); - if (o==Nullobject) o=null; - index++; - return o; - - } - - public void remove() - { - index--; - vec.removeElementAt(index); - } - - } - - ////////////////////////////////////////////////////////////// - ///// innere Klasse Entry //////////////////////////////////// - ////////////////////////////////////////////////////////////// - - - class Entry implements Map.Entry - { - public Object key=null; - public Object value=null; - - public Entry(Object ke,Object valu) - { - key = ke; - value = valu; - } - public boolean equals(Object o) - { - if (value == ((Entry)o).value && key == ((Entry)o).key ) return true; - else return false; - - } - - public Object getValue() - { - return value; - } - - public Object getKey() - { - return (Object)key; - } - - public int hashCode() - { - return value.hashCode() + key.hashCode(); - - } - - public Object setValue(Object valu) - { - value = (String)valu; - return this; - } - } - - //////////////////////////////////////////////////////////////////// - - private Hashtable m_HashTable=null; - private Null Nullobject = null; - - public HashMap() - { - Nullobject = new Null(); - m_HashTable=new Hashtable(); - } - - public HashMap(int initialCapacity) - { - Nullobject = new Null(); - m_HashTable=new Hashtable(initialCapacity); - } - - public HashMap(Map t) - { - Nullobject = new Null(); - m_HashTable=new Hashtable(); - this.putAll(t); - } - - public void clear() - { - m_HashTable.clear(); - } - - public Object clone() - { - HashMap hm=new HashMap(this); - - return hm; - } - - public boolean containsKey(Object key) - { - if (key == null) key = Nullobject; - boolean b = m_HashTable.containsKey(key); - return b; - - } - - public boolean containsValue(Object value) - { - if (value == null ) value = Nullobject; - boolean b = m_HashTable.contains(value); - return b; - } - - public Set entrySet() - { - - Object Key = null; - ISet s = new ISet(); - Enumeration en = m_HashTable.keys(); - while (en.hasMoreElements()) - { - Key = en.nextElement(); - s.add(new Entry(Key,m_HashTable.get(Key))); - } - return s; - } - - public Object get(Object key) - { - - if (key==null) key= Nullobject; - - Object o = m_HashTable.get(key); - - if (o == Nullobject) o=null; - - return o; - } - - public boolean isEmpty() - { - return m_HashTable.isEmpty(); - } - - public Set keySet() - { - ISet s=new ISet(); - Enumeration en = m_HashTable.keys(); - - while (en.hasMoreElements()) - { - s.add(en.nextElement()); - } - - return s; - } - - public Object put(Object key, Object value) - { - if (key==null) key=Nullobject; - if (value==null) value = Nullobject; - return m_HashTable.put(key,value); - } - - public void putAll(Map m) - { - Iterator it = m.entrySet().iterator(); - Object key=null; - Object value=null; - - while (it.hasNext()) - { - Map.Entry me = (Map.Entry)it.next(); - if (me.getKey() == null) key = Nullobject; - else key= me.getKey(); - if (me.getValue()==null) value = Nullobject; - else value = me.getValue(); - m_HashTable.put(key,value); - } - } - - public Object remove(Object key) - { - return m_HashTable.remove(key); - } - - public int size() - { - return m_HashTable.size(); - } - - public Collection values() - { - - ISet s=new ISet(); - Enumeration en = m_HashTable.keys(); - - while (en.hasMoreElements()) - { - Object Key = en.nextElement(); - //s.add(((Map.Entry)m_HashTable.get(Key)).getValue()); - s.add(m_HashTable.get(Key)); - } - return s; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/HashSet.java b/libraries/spongycastle/core/src/main/j2me/java/util/HashSet.java deleted file mode 100644 index e37cb7c8d..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/HashSet.java +++ /dev/null @@ -1,71 +0,0 @@ -package java.util; - -public class HashSet - extends AbstractSet -{ - private HashMap m_HashMap = null; - - public HashSet() - { - m_HashMap = new HashMap(); - } - - public HashSet(Collection c) - { - m_HashMap = new HashMap(Math.max(11, c.size() * 2)); - addAll(c); - } - - public HashSet(int initialCapacity) - { - m_HashMap = new HashMap(initialCapacity); - - } - - public Iterator iterator() - { - return (m_HashMap.keySet()).iterator(); - } - - public int size() - { - return m_HashMap.size(); - } - - public boolean contains(Object o) - { - return m_HashMap.containsKey(o); - } - - public boolean add(Object o) - { - if (!m_HashMap.containsValue(o)) - { - m_HashMap.put((Object)o, (Object)o); - - return true; - - } - - return false; - } - - public boolean remove(Object o) - { - return (m_HashMap.remove(o) != null); - } - - public void clear() - { - m_HashMap.clear(); - } - - - public Object clone() - { - HashSet hs = new HashSet(); - hs.m_HashMap = (HashMap)m_HashMap.clone(); - return hs; - } - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Iterator.java b/libraries/spongycastle/core/src/main/j2me/java/util/Iterator.java deleted file mode 100644 index f1b9c05fc..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Iterator.java +++ /dev/null @@ -1,9 +0,0 @@ - -package java.util; - -public interface Iterator -{ - public abstract boolean hasNext(); - public abstract Object next() throws NoSuchElementException; - public abstract void remove() throws RuntimeException,IllegalStateException; -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/List.java b/libraries/spongycastle/core/src/main/j2me/java/util/List.java deleted file mode 100644 index d9df616fd..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/List.java +++ /dev/null @@ -1,32 +0,0 @@ -package java.util; - -public interface List - extends Collection -{ - void add(int index, Object element) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException; - - boolean addAll(int index, Collection c) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException; - - Object get(int index) - throws IndexOutOfBoundsException; - - int indexOf(Object o); - - int lastIndexOf(Object o); - - ListIterator listIterator(); - - ListIterator listIterator(int index) - throws IndexOutOfBoundsException; - - Object remove(int index) - throws RuntimeException, IndexOutOfBoundsException; - - Object set(int index, Object element) - throws RuntimeException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException; - - List subList(int fromIndex, int toIndex) - throws IndexOutOfBoundsException; -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/ListIterator.java b/libraries/spongycastle/core/src/main/j2me/java/util/ListIterator.java deleted file mode 100644 index 3e08d959c..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/ListIterator.java +++ /dev/null @@ -1,20 +0,0 @@ -package java.util; - -public interface ListIterator - extends Iterator -{ - public boolean hasPrevious(); - - public Object previous() - throws NoSuchElementException; - - public int nextIndex(); - - public int previousIndex(); - - public void set(Object o) - throws RuntimeException, ClassCastException, IllegalArgumentException, IllegalStateException; - - public void add(Object o) - throws RuntimeException, ClassCastException, IllegalArgumentException; -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Map.java b/libraries/spongycastle/core/src/main/j2me/java/util/Map.java deleted file mode 100644 index cf496f89d..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Map.java +++ /dev/null @@ -1,54 +0,0 @@ -package java.util; - -public interface Map -{ - - public static interface Entry - { - public Object getKey(); - - public Object getValue(); - - public Object setValue(Object value) - throws RuntimeException, ClassCastException, IllegalArgumentException, NullPointerException; - - public boolean equals(Object o); - - public int hashCode(); - } - - public int size(); - - public boolean isEmpty(); - - public boolean containsKey(Object Key) - throws ClassCastException, NullPointerException; - - public boolean containsValue(Object value); - - public Object get(Object key) - throws ClassCastException, NullPointerException; - - public Object put(Object key, Object value) - throws RuntimeException, ClassCastException, IllegalArgumentException, NullPointerException; - - public Object remove(Object key) - throws RuntimeException; - - public void putAll(Map t) - throws RuntimeException, ClassCastException, IllegalArgumentException, NullPointerException; - - public void clear() - throws RuntimeException; - - public Set keySet(); - - public Collection values(); - - public Set entrySet(); - - public boolean equals(Object o); - - public int hashCode(); - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Set.java b/libraries/spongycastle/core/src/main/j2me/java/util/Set.java deleted file mode 100644 index 6ec45c748..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Set.java +++ /dev/null @@ -1,38 +0,0 @@ -package java.util; - -public interface Set - extends Collection -{ - - public int size(); - - public boolean isEmpty(); - - public boolean contains(Object o); - - public Iterator iterator(); - - public Object[] toArray(); - - public Object[] toArray(Object[] a); - - public boolean add(Object o); - - public boolean remove(Object o); - - public boolean containsAll(Collection c); - - public boolean addAll(Collection c); - - public boolean retainAll(Collection c); - - public boolean removeAll(Collection c); - - public void clear(); - - public boolean equals(Object o); - - public int hashCode(); - - -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/StringTokenizer.java b/libraries/spongycastle/core/src/main/j2me/java/util/StringTokenizer.java deleted file mode 100644 index 5ff7c7060..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/StringTokenizer.java +++ /dev/null @@ -1,115 +0,0 @@ -package java.util; - -import java.util.Enumeration; -import java.util.NoSuchElementException; - -public class StringTokenizer - implements Enumeration -{ - private String s; - private String delims; - private boolean retDelims; - private int maxPos; - - private int pos; - - public StringTokenizer(String s, String delims) - { - this(s, delims, false); - } - - public StringTokenizer(String s, String delims, boolean retDelims) - { - this.s = s; - this.delims = delims; - this.retDelims = retDelims; - this.maxPos = s.length(); - } - - public boolean hasMoreTokens() - { - if (retDelims) - { - return pos < maxPos; - } - else - { - int next = pos; - while (next < maxPos && isDelim(next)) - { - next++; - } - - return next < maxPos; - } - } - - public String nextToken() - { - String tok; - - if (pos == maxPos) - { - throw new NoSuchElementException("no more tokens"); - } - - if (retDelims) - { - if (isDelim(pos)) - { - tok = s.substring(pos, pos + 1); - pos++; - - return tok; - } - } - - while (pos < maxPos && isDelim(pos)) - { - pos++; - } - - int start = pos; - - while (pos < maxPos && !isDelim(pos)) - { - pos++; - } - - if (pos < maxPos) - { - tok = s.substring(start, pos); - } - else - { - tok = s.substring(start); - } - - return tok; - } - - public boolean hasMoreElements() - { - return hasMoreTokens(); - } - - public Object nextElement() - { - return nextToken(); - } - - private boolean isDelim(int index) - { - char c = s.charAt(index); - - for (int i = 0; i != delims.length(); i++) - { - if (delims.charAt(i) == c) - { - return true; - } - } - - return false; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/java/util/Sublist.java b/libraries/spongycastle/core/src/main/j2me/java/util/Sublist.java deleted file mode 100644 index 48d8d8e89..000000000 --- a/libraries/spongycastle/core/src/main/j2me/java/util/Sublist.java +++ /dev/null @@ -1,142 +0,0 @@ -package java.util; - -public class Sublist - extends AbstractList -{ - AbstractList m_al = null; - int m_fromIndex = 0; - int m_toIndex = 0; - int size = 0; - - public Sublist(AbstractList ali, int fromIndex, int toIndex) - { - m_al = ali; - m_toIndex = toIndex; - m_fromIndex = fromIndex; - size = size(); - } - - public Object set(int index, Object o) - { - if (index < size) - { - o = m_al.set(index + m_fromIndex, o); - if (o != null) - { - size++; - m_toIndex++; - } - return o; - } - else - { - throw new IndexOutOfBoundsException(); - } - } - - public Object get(int index) - throws IndexOutOfBoundsException - { - if (index < size) - { - return m_al.get(index + m_fromIndex); - } - else - { - throw new IndexOutOfBoundsException(); - } - } - - public void add(int index, Object o) - { - - if (index <= size) - { - m_al.add(index + m_fromIndex, o); - m_toIndex++; - size++; - - } - else - { - throw new IndexOutOfBoundsException(); - } - - } - - public Object remove(int index, Object o) - { - if (index < size) - { - Object ob = m_al.remove(index + m_fromIndex); - if (ob != null) - { - m_toIndex--; - size--; - } - return ob; - } - else - { - throw new IndexOutOfBoundsException(); - } - } - - public boolean addAll(int index, Collection c) - { - if (index < size) - { - boolean bool = m_al.addAll(index + m_fromIndex, c); - if (bool) - { - int lange = c.size(); - m_toIndex = m_toIndex + lange; - size = size + lange; - } - return bool; - } - else - { - throw new IndexOutOfBoundsException(); - } - } - - public boolean addAll(Collection c) - { - boolean bool = m_al.addAll(m_toIndex, c); - if (bool) - { - int lange = c.size(); - m_toIndex = m_toIndex + lange; - size = size + lange; - } - return bool; - } - - public void removeRange(int from, int to) - { - if ((from <= to) && (from <= size) && (to <= size)) - { - m_al.removeRange(from, to); - int lange = to - from; - m_toIndex = m_toIndex - lange; - size = size - lange; - } - else - { - if (from > to) - { - throw new IllegalArgumentException(); - } - else - { - throw new IndexOutOfBoundsException(); - } - } - } - - public int size() - { - return (m_toIndex - m_fromIndex); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1GeneralizedTime.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1GeneralizedTime.java deleted file mode 100644 index 0fa3440a7..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1GeneralizedTime.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Date; - -public class ASN1GeneralizedTime - extends DERGeneralizedTime -{ - ASN1GeneralizedTime(byte[] bytes) - { - super(bytes); - } - - public ASN1GeneralizedTime(Date date) - { - super(date); - } - - public ASN1GeneralizedTime(Date date, boolean includeMillis) - { - super(date, includeMillis); - } - - public ASN1GeneralizedTime(String time) - { - super(time); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1UTCTime.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1UTCTime.java deleted file mode 100644 index d682a182f..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/ASN1UTCTime.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Date; - -public class ASN1UTCTime - extends DERUTCTime -{ - ASN1UTCTime(byte[] bytes) - { - super(bytes); - } - - public ASN1UTCTime(Date date) - { - super(date); - } - - public ASN1UTCTime(String time) - { - super(time); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERFactory.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERFactory.java deleted file mode 100644 index c002ef6dd..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERFactory.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.asn1; - -class DERFactory -{ - static final ASN1Sequence EMPTY_SEQUENCE = new DERSequence(); - static final ASN1Set EMPTY_SET = new DERSet(); - - static ASN1Sequence createSequence(ASN1EncodableVector v) - { - if (v.size() < 1) - { - return EMPTY_SEQUENCE; - } - else - { - return new DLSequence(v); - } - } - - static ASN1Set createSet(ASN1EncodableVector v) - { - if (v.size() < 1) - { - return EMPTY_SET; - } - else - { - return new DLSet(v); - } - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERGeneralizedTime.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERGeneralizedTime.java deleted file mode 100644 index 82b780375..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERGeneralizedTime.java +++ /dev/null @@ -1,260 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Date; -import java.util.TimeZone; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * Generalized time object. - */ -public class DERGeneralizedTime - extends ASN1Primitive -{ - private byte[] time; - - /** - * return a generalized time from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1GeneralizedTime getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1GeneralizedTime) - { - return (ASN1GeneralizedTime)obj; - } - - if (obj instanceof DERGeneralizedTime) - { - return new ASN1GeneralizedTime(((DERGeneralizedTime)obj).time); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Generalized Time object from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1GeneralizedTime getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERGeneralizedTime) - { - return getInstance(o); - } - else - { - return new ASN1GeneralizedTime(((ASN1OctetString)o).getOctets()); - } - } - - /** - * The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z - * for local time, or Z|[+|-]HHMM on the end, for difference between local - * time and UTC time. The fractional second amount f must consist of at - * least one number with trailing zeroes removed. - * - * @param time the time string. - * @exception IllegalArgumentException if String is an illegal format. - */ - public DERGeneralizedTime( - String time) - { - char last = time.charAt(time.length() - 1); - if (last != 'Z' && !(last >= 0 && last <= '9')) - { - if (time.indexOf('-') < 0 && time.indexOf('+') < 0) - { - throw new IllegalArgumentException("time needs to be in format YYYYMMDDHHMMSS[.f]Z or YYYYMMDDHHMMSS[.f][+-]HHMM"); - } - } - - this.time = Strings.toByteArray(time); - } - - /** - * base constructer from a java.util.date object - */ - public DERGeneralizedTime( - Date time) - { - this.time = Strings.toByteArray(DateFormatter.getGeneralizedTimeDateString(time, false)); - } - - protected DERGeneralizedTime(Date date, boolean includeMillis) - { - this.time = Strings.toByteArray(DateFormatter.getGeneralizedTimeDateString(date, true)); - } - - DERGeneralizedTime( - byte[] bytes) - { - this.time = bytes; - } - - /** - * Return the time. - * @return The time string as it appeared in the encoded object. - */ - public String getTimeString() - { - return Strings.fromByteArray(time); - } - - /** - * return the time - always in the form of - * YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm). - *

    - * Normally in a certificate we would expect "Z" rather than "GMT", - * however adding the "GMT" means we can just use: - *

    -     *     dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
    -     * 
    - * To read in the time and get a date which is compatible with our local - * time zone. - */ - public String getTime() - { - String stime = Strings.fromByteArray(time); - - // - // standardise the format. - // - if (stime.charAt(stime.length() - 1) == 'Z') - { - return stime.substring(0, stime.length() - 1) + "GMT+00:00"; - } - else - { - int signPos = stime.length() - 5; - char sign = stime.charAt(signPos); - if (sign == '-' || sign == '+') - { - return stime.substring(0, signPos) - + "GMT" - + stime.substring(signPos, signPos + 3) - + ":" - + stime.substring(signPos + 3); - } - else - { - signPos = stime.length() - 3; - sign = stime.charAt(signPos); - if (sign == '-' || sign == '+') - { - return stime.substring(0, signPos) - + "GMT" - + stime.substring(signPos) - + ":00"; - } - } - } - return stime + calculateGMTOffset(); - } - - private String calculateGMTOffset() - { - String sign = "+"; - TimeZone timeZone = TimeZone.getDefault(); - int offset = timeZone.getRawOffset(); - if (offset < 0) - { - sign = "-"; - offset = -offset; - } - int hours = offset / (60 * 60 * 1000); - int minutes = (offset - (hours * 60 * 60 * 1000)) / (60 * 1000); - -// try -// { -// if (timeZone.useDaylightTime() && timeZone.inDaylightTime(this.getDate())) -// { -// hours += sign.equals("+") ? 1 : -1; -// } -// } -// catch (ParseException e) -// { -// // we'll do our best and ignore daylight savings -// } - - return "GMT" + sign + convert(hours) + ":" + convert(minutes); - } - - private String convert(int time) - { - if (time < 10) - { - return "0" + time; - } - - return Integer.toString(time); - } - - public Date getDate() - { - return DateFormatter.fromGeneralizedTimeString(time); - } - - private boolean hasFractionalSeconds() - { - for (int i = 0; i != time.length; i++) - { - if (time[i] == '.') - { - if (i == 14) - { - return true; - } - } - } - return false; - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - int length = time.length; - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.GENERALIZED_TIME, time); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERGeneralizedTime)) - { - return false; - } - - return Arrays.areEqual(time, ((DERGeneralizedTime)o).time); - } - - public int hashCode() - { - return Arrays.hashCode(time); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERUTCTime.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERUTCTime.java deleted file mode 100644 index bc0411f76..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DERUTCTime.java +++ /dev/null @@ -1,259 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Date; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * UTC time object. - */ -public class DERUTCTime - extends ASN1Primitive -{ - private byte[] time; - - /** - * return an UTC Time from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1UTCTime getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1UTCTime) - { - return (ASN1UTCTime)obj; - } - - if (obj instanceof DERUTCTime) - { - return new ASN1UTCTime(((DERUTCTime)obj).time); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an UTC Time from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1UTCTime getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Object o = obj.getObject(); - - if (explicit || o instanceof ASN1UTCTime) - { - return getInstance(o); - } - else - { - return new ASN1UTCTime(((ASN1OctetString)o).getOctets()); - } - } - - /** - * The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were - * never encoded. When you're creating one of these objects from scratch, that's - * what you want to use, otherwise we'll try to deal with whatever gets read from - * the input stream... (this is why the input format is different from the getTime() - * method output). - *

    - * - * @param time the time string. - */ - public DERUTCTime( - String time) - { - if (time.charAt(time.length() - 1) != 'Z') - { - // we accept this as a variation - if (time.indexOf('-') < 0 && time.indexOf('+') < 0) - { - throw new IllegalArgumentException("time needs to be in format YYMMDDHHMMSSZ"); - } - } - - this.time = Strings.toByteArray(time); - } - - /** - * base constructor from a java.util.date object - */ - public DERUTCTime( - Date time) - { - this.time = Strings.toByteArray(DateFormatter.toUTCDateString(time)); - } - - DERUTCTime( - byte[] time) - { - this.time = time; - } - - /** - * return the time as a date based on whatever a 2 digit year will return. For - * standardised processing use getAdjustedDate(). - * - * @return the resulting date - */ - public Date getDate() - { - return DateFormatter.adjustedFromUTCDateString(time); - } - - /** - * return the time as an adjusted date - * in the range of 1950 - 2049. - * - * @return a date in the range of 1950 to 2049. - */ - public Date getAdjustedDate() - { - return DateFormatter.adjustedFromUTCDateString(time); - } - - /** - * return the time - always in the form of - * YYMMDDhhmmssGMT(+hh:mm|-hh:mm). - *

    - * Normally in a certificate we would expect "Z" rather than "GMT", - * however adding the "GMT" means we can just use: - *

    -     *     dateF = new SimpleDateFormat("yyMMddHHmmssz");
    -     * 
    - * To read in the time and get a date which is compatible with our local - * time zone. - *

    - * Note: In some cases, due to the local date processing, this - * may lead to unexpected results. If you want to stick the normal - * convention of 1950 to 2049 use the getAdjustedTime() method. - */ - public String getTime() - { - String stime = Strings.fromByteArray(time); - - // - // standardise the format. - // - if (stime.indexOf('-') < 0 && stime.indexOf('+') < 0) - { - if (stime.length() == 11) - { - return stime.substring(0, 10) + "00GMT+00:00"; - } - else - { - return stime.substring(0, 12) + "GMT+00:00"; - } - } - else - { - int index = stime.indexOf('-'); - if (index < 0) - { - index = stime.indexOf('+'); - } - String d = stime; - - if (index == stime.length() - 3) - { - d += "00"; - } - - if (index == 10) - { - return d.substring(0, 10) + "00GMT" + d.substring(10, 13) + ":" + d.substring(13, 15); - } - else - { - return d.substring(0, 12) + "GMT" + d.substring(12, 15) + ":" + d.substring(15, 17); - } - } - } - - /** - * return a time string as an adjusted date with a 4 digit year. This goes - * in the range of 1950 - 2049. - */ - public String getAdjustedTime() - { - String d = this.getTime(); - - if (d.charAt(0) < '5') - { - return "20" + d; - } - else - { - return "19" + d; - } - } - - /** - * Return the time. - * @return The time string as it appeared in the encoded object. - */ - public String getTimeString() - { - return Strings.fromByteArray(time); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - int length = time.length; - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.UTC_TIME); - - int length = time.length; - - out.writeLength(length); - - for (int i = 0; i != length; i++) - { - out.write((byte)time[i]); - } - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERUTCTime)) - { - return false; - } - - return Arrays.areEqual(time, ((DERUTCTime)o).time); - } - - public int hashCode() - { - return Arrays.hashCode(time); - } - - public String toString() - { - return Strings.fromByteArray(time); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DateFormatter.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DateFormatter.java deleted file mode 100644 index 7201a2a4c..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/DateFormatter.java +++ /dev/null @@ -1,272 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Calendar; -import java.util.Date; -import java.util.TimeZone; - -class DateFormatter -{ - // YYMMDDHHMMSSZ - static String toUTCDateString(Date date) - { - Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - - calendar.setTime(date); - - return format2Year(calendar.get(Calendar.YEAR)) + format2(calendar.get(Calendar.MONTH) + 1) + format2(calendar.get(Calendar.DAY_OF_MONTH)) - + format2(calendar.get(Calendar.HOUR_OF_DAY)) + format2(calendar.get(Calendar.MINUTE)) + format2(calendar.get(Calendar.SECOND)) + "Z"; - } - - static Date adjustedFromUTCDateString(byte[] date) - { - Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - - int year = toInt2(date, 0); - - if (year < 50) - { - year += 2000; - } - else - { - year += 1900; - } - - calendar.setTimeZone(TimeZone.getTimeZone("GMT")); - - calendar.set(Calendar.YEAR, year); - calendar.set(Calendar.MONTH, toInt2(date, 2) - 1); - calendar.set(Calendar.DAY_OF_MONTH, toInt2(date, 4)); - calendar.set(Calendar.HOUR_OF_DAY, toInt2(date, 6)); - calendar.set(Calendar.MINUTE, toInt2(date, 8)); - - int tzChar = 10; - - if (isNumber(date, tzChar)) - { - calendar.set(Calendar.SECOND, toInt2(date, 10)); - tzChar = 12; - } - else - { - calendar.set(Calendar.SECOND, 0); - } - - calendar.set(Calendar.MILLISECOND, 0); - - if (date[tzChar] != 'Z') - { - int hoursOff = 0; - int minutesOff = 0; - - hoursOff = toInt2(date, tzChar + 1) * 60 * 60 * 1000; - - if (date.length > tzChar + 3) - { - minutesOff = toInt2(date, tzChar + 3) * 60 * 1000; - } - - if (date[tzChar] == '-') - { - return new Date(calendar.getTime().getTime() + hoursOff + minutesOff); - } - else - { - return new Date(calendar.getTime().getTime() - (hoursOff + minutesOff)); - } - } - - return calendar.getTime(); - } - - static String getGeneralizedTimeDateString(Date date, boolean includeMillis) - { - Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - - calendar.setTime(date); - - String time = format4Year(calendar.get(Calendar.YEAR)) + format2(calendar.get(Calendar.MONTH) + 1) + format2(calendar.get(Calendar.DAY_OF_MONTH)) - + format2(calendar.get(Calendar.HOUR_OF_DAY)) + format2(calendar.get(Calendar.MINUTE)) + format2(calendar.get(Calendar.SECOND)); - - if (includeMillis) - { - time += "." + format3(calendar.get(Calendar.MILLISECOND)); - } - - return time + "Z"; - } - - static Date fromGeneralizedTimeString(byte[] date) - { - Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - - int year = toInt4(date, 0); - - if (isLocalTime(date)) - { - calendar.setTimeZone(TimeZone.getTimeZone("GMT")); - } - - calendar.set(Calendar.YEAR, year); - calendar.set(Calendar.MONTH, toInt2(date, 4) - 1); - calendar.set(Calendar.DAY_OF_MONTH, toInt2(date, 6)); - calendar.set(Calendar.HOUR_OF_DAY, toInt2(date, 8)); - calendar.set(Calendar.MINUTE, toInt2(date, 10)); - - int tzChar = 12; - - if (isNumber(date, tzChar)) - { - calendar.set(Calendar.SECOND, toInt2(date, 12)); - tzChar = 14; - } - else - { - calendar.set(Calendar.SECOND, 0); - } - - if (tzChar != date.length && date[tzChar] == '.') - { - int millis = 0; - tzChar++; - if (isNumber(date, tzChar)) - { - millis = (date[tzChar] - '0') * 100; - tzChar++; - } - if (tzChar != date.length && isNumber(date, tzChar)) - { - millis += (date[tzChar] - '0') * 10; - tzChar++; - } - if (tzChar != date.length && isNumber(date, tzChar)) - { - millis += (date[tzChar] - '0'); - tzChar++; - } - calendar.set(Calendar.MILLISECOND, millis); - } - else - { - calendar.set(Calendar.MILLISECOND, 0); - } - - // skip nano-seconds - while (tzChar != date.length && isNumber(date, tzChar)) - { - tzChar++; - } - - if (tzChar != date.length && date[tzChar] != 'Z') - { - int hoursOff = 0; - int minutesOff = 0; - - hoursOff = toInt2(date, tzChar + 1) * 60 * 60 * 1000; - - if (date.length > tzChar + 3) - { - minutesOff = toInt2(date, tzChar + 3) * 60 * 1000; - } - - if (date[tzChar] == '-') - { - return new Date(calendar.getTime().getTime() + hoursOff + minutesOff); - } - else - { - return new Date(calendar.getTime().getTime() - (hoursOff + minutesOff)); - } - } - - return calendar.getTime(); - } - - private static String format2(int v) - { - if (v < 10) - { - return "0" + v; - } - - return Integer.toString(v); - } - - private static String format2Year(int v) - { - if (v > 2000) - { - v = v - 2000; - } - else - { - v = v - 1900; - } - - return format2(v); - } - - private static String format3(int v) - { - if (v < 10) - { - return "00" + v; - } - - if (v < 100) - { - return "0" + v; - } - - return Integer.toString(v); - } - - private static String format4Year(int v) - { - if (v < 10) - { - return "000" + v; - } - - if (v < 100) - { - return "00" + v; - } - - if (v < 1000) - { - return "0" + v; - } - - return Integer.toString(v); - } - - private static boolean isNumber(byte[] input, int off) - { - byte b = input[off]; - return (b >= '0') && (b <= '9'); - } - - private static boolean isLocalTime(byte[] date) - { - for (int i = date.length - 1; i > date.length - 6; i--) - { - if (date[i] == 'Z' || date[i] == '-' || date[i] == '+') - { - return false; - } - } - - return true; - } - - private static int toInt2(byte[] input, int off) - { - return (input[off] - '0') * 10 + (input[off + 1] - '0'); - } - - private static int toInt4(byte[] input, int off) - { - return toInt2(input, off) * 100 + toInt2(input, off + 2) ; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/StreamUtil.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/StreamUtil.java deleted file mode 100644 index 4f798ffa5..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/StreamUtil.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -class StreamUtil -{ - /** - * Find out possible longest length... - * - * @param in input stream of interest - * @return length calculation or MAX_VALUE. - */ - static int findLimit(InputStream in) - { - if (in instanceof LimitedInputStream) - { - return ((LimitedInputStream)in).getRemaining(); - } - else if (in instanceof ASN1InputStream) - { - return ((ASN1InputStream)in).getLimit(); - } - else if (in instanceof ByteArrayInputStream) - { - return ((ByteArrayInputStream)in).available(); - } - - return Integer.MAX_VALUE; - } - - static int calculateBodyLength( - int length) - { - int count = 1; - - if (length > 127) - { - int size = 1; - int val = length; - - while ((val >>>= 8) != 0) - { - size++; - } - - for (int i = (size - 1) * 8; i >= 0; i -= 8) - { - count++; - } - } - - return count; - } - - static int calculateTagLength(int tagNo) - throws IOException - { - int length = 1; - - if (tagNo >= 31) - { - if (tagNo < 128) - { - length++; - } - else - { - byte[] stack = new byte[5]; - int pos = stack.length; - - stack[--pos] = (byte)(tagNo & 0x7F); - - do - { - tagNo >>= 7; - stack[--pos] = (byte)(tagNo & 0x7F | 0x80); - } - while (tagNo > 127); - - length += stack.length - pos; - } - } - - return length; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/cms/Time.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/cms/Time.java deleted file mode 100644 index f9ddfc2ed..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/cms/Time.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Calendar; -import java.util.Date; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERUTCTime; - -public class Time - extends ASN1Object - implements ASN1Choice -{ - ASN1Primitive time; - - public static Time getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public Time( - ASN1Primitive time) - { - if (!(time instanceof DERUTCTime) - && !(time instanceof DERGeneralizedTime)) - { - throw new IllegalArgumentException("unknown object passed to Time"); - } - - this.time = time; - } - - /** - * creates a time object from a given date - if the date is between 1950 - * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime - * is used. - */ - public Time( - Date date) - { - Calendar calendar = Calendar.getInstance(); - - calendar.setTime(date); - - int year = calendar.get(Calendar.YEAR); - - if (year < 1950 || year > 2049) - { - time = new DERGeneralizedTime(date); - } - else - { - time = new DERUTCTime(date); - } - } - - public static Time getInstance( - Object obj) - { - if (obj == null || obj instanceof Time) - { - return (Time)obj; - } - else if (obj instanceof DERUTCTime) - { - return new Time((DERUTCTime)obj); - } - else if (obj instanceof DERGeneralizedTime) - { - return new Time((DERGeneralizedTime)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public String getTime() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedTime(); - } - else - { - return ((DERGeneralizedTime)time).getTime(); - } - } - - public Date getDate() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedDate(); - } - else - { - return ((DERGeneralizedTime)time).getDate(); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    -     * Time ::= CHOICE {
    -     *             utcTime        UTCTime,
    -     *             generalTime    GeneralizedTime }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return time; - } - - public String toString() - { - return getTime(); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/eac/PackedDate.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/eac/PackedDate.java deleted file mode 100644 index e2472251c..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/eac/PackedDate.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.asn1.eac; - -import org.spongycastle.util.Arrays; - -/** - * EAC encoding date object - */ -public class PackedDate -{ - private byte[] time; - - public PackedDate( - String time) - { - this.time = convert(time); - } - - private byte[] convert(String sTime) - { - char[] digs = sTime.toCharArray(); - byte[] date = new byte[6]; - - for (int i = 0; i != 6; i++) - { - date[i] = (byte)(digs[i] - '0'); - } - - return date; - } - - PackedDate( - byte[] bytes) - { - this.time = bytes; - } - - public int hashCode() - { - return Arrays.hashCode(time); - } - - public boolean equals(Object o) - { - if (!(o instanceof PackedDate)) - { - return false; - } - - PackedDate other = (PackedDate)o; - - return Arrays.areEqual(time, other.time); - } - - public String toString() - { - char[] dateC = new char[time.length]; - - for (int i = 0; i != dateC.length; i++) - { - dateC[i] = (char)((time[i] & 0xff) + '0'); - } - - return new String(dateC); - } - - public byte[] getEncoding() - { - return time; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/x509/Time.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/x509/Time.java deleted file mode 100644 index 0fe22ddc7..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/asn1/x509/Time.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Calendar; -import java.util.Date; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERUTCTime; - -public class Time - extends ASN1Object - implements ASN1Choice -{ - ASN1Primitive time; - - public static Time getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public Time( - ASN1Primitive time) - { - if (!(time instanceof DERUTCTime) - && !(time instanceof DERGeneralizedTime)) - { - throw new IllegalArgumentException("unknown object passed to Time"); - } - - this.time = time; - } - - /** - * creates a time object from a given date - if the date is between 1950 - * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime - * is used. - */ - public Time( - Date date) - { - Calendar calendar = Calendar.getInstance(); - - calendar.setTime(date); - - int year = calendar.get(Calendar.YEAR); - - if (year < 1950 || year > 2049) - { - time = new DERGeneralizedTime(date); - } - else - { - time = new DERUTCTime(date); - } - } - - public static Time getInstance( - Object obj) - { - if (obj == null || obj instanceof Time) - { - return (Time)obj; - } - else if (obj instanceof DERUTCTime) - { - return new Time((DERUTCTime)obj); - } - else if (obj instanceof DERGeneralizedTime) - { - return new Time((DERGeneralizedTime)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public String getTime() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedTime(); - } - else - { - return ((DERGeneralizedTime)time).getTime(); - } - } - - public Date getDate() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedDate(); - } - else - { - return ((DERGeneralizedTime)time).getDate(); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Time ::= CHOICE {
    -     *             utcTime        UTCTime,
    -     *             generalTime    GeneralizedTime }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return time; - } - - public String toString() - { - return getTime(); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/encodings/PKCS1Encoding.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/encodings/PKCS1Encoding.java deleted file mode 100644 index 3149a1f37..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/encodings/PKCS1Encoding.java +++ /dev/null @@ -1,238 +0,0 @@ -package org.spongycastle.crypto.encodings; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - -import java.security.SecureRandom; - -/** - * this does your basic PKCS 1 v1.5 padding - whether or not you should be using this - * depends on your application - see PKCS1 Version 2 for details. - */ -public class PKCS1Encoding - implements AsymmetricBlockCipher -{ - /** - * some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to - * work with one of these set the system property org.spongycastle.pkcs1.strict to false. - *

    - * The system property is checked during construction of the encoding object, it is set to - * true by default. - *

    - */ - public static final String STRICT_LENGTH_ENABLED_PROPERTY = "org.spongycastle.pkcs1.strict"; - - private static final int HEADER_LENGTH = 10; - - private SecureRandom random; - private AsymmetricBlockCipher engine; - private boolean forEncryption; - private boolean forPrivateKey; - private boolean useStrictLength; - - /** - * Basic constructor. - * @param cipher - */ - public PKCS1Encoding( - AsymmetricBlockCipher cipher) - { - this.engine = cipher; - this.useStrictLength = useStrict(); - } - - // - // for J2ME compatibility - // - private boolean useStrict() - { - String strict = System.getProperty(STRICT_LENGTH_ENABLED_PROPERTY); - - return strict == null || strict.equals("true"); - } - - public AsymmetricBlockCipher getUnderlyingCipher() - { - return engine; - } - - public void init( - boolean forEncryption, - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - kParam = (AsymmetricKeyParameter)param; - } - - engine.init(forEncryption, param); - - this.forPrivateKey = kParam.isPrivate(); - this.forEncryption = forEncryption; - } - - public int getInputBlockSize() - { - int baseBlockSize = engine.getInputBlockSize(); - - if (forEncryption) - { - return baseBlockSize - HEADER_LENGTH; - } - else - { - return baseBlockSize; - } - } - - public int getOutputBlockSize() - { - int baseBlockSize = engine.getOutputBlockSize(); - - if (forEncryption) - { - return baseBlockSize; - } - else - { - return baseBlockSize - HEADER_LENGTH; - } - } - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - return encodeBlock(in, inOff, inLen); - } - else - { - return decodeBlock(in, inOff, inLen); - } - } - - private byte[] encodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (inLen > getInputBlockSize()) - { - throw new IllegalArgumentException("input data too large"); - } - - byte[] block = new byte[engine.getInputBlockSize()]; - - if (forPrivateKey) - { - block[0] = 0x01; // type code 1 - - for (int i = 1; i != block.length - inLen - 1; i++) - { - block[i] = (byte)0xFF; - } - } - else - { - random.nextBytes(block); // random fill - - block[0] = 0x02; // type code 2 - - // - // a zero byte marks the end of the padding, so all - // the pad bytes must be non-zero. - // - for (int i = 1; i != block.length - inLen - 1; i++) - { - while (block[i] == 0) - { - block[i] = (byte)random.nextInt(); - } - } - } - - block[block.length - inLen - 1] = 0x00; // mark the end of the padding - System.arraycopy(in, inOff, block, block.length - inLen, inLen); - - return engine.processBlock(block, 0, block.length); - } - - /** - * @exception InvalidCipherTextException if the decrypted block is not in PKCS1 format. - */ - private byte[] decodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = engine.processBlock(in, inOff, inLen); - - if (block.length < getOutputBlockSize()) - { - throw new InvalidCipherTextException("block truncated"); - } - - byte type = block[0]; - - if (type != 1 && type != 2) - { - throw new InvalidCipherTextException("unknown block type"); - } - - if (useStrictLength && block.length != engine.getOutputBlockSize()) - { - throw new InvalidCipherTextException("block incorrect size"); - } - - // - // find and extract the message block. - // - int start; - - for (start = 1; start != block.length; start++) - { - byte pad = block[start]; - - if (pad == 0) - { - break; - } - if (type == 1 && pad != (byte)0xff) - { - throw new InvalidCipherTextException("block padding incorrect"); - } - } - - start++; // data should start at the next byte - - if (start > block.length || start < HEADER_LENGTH) - { - throw new InvalidCipherTextException("no data in block"); - } - - byte[] result = new byte[block.length - start]; - - System.arraycopy(block, start, result, 0, result.length); - - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java deleted file mode 100644 index 32908a67e..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java +++ /dev/null @@ -1,177 +0,0 @@ -package org.spongycastle.crypto.examples; - -import java.io.*; -import java.lang.*; - -import javax.microedition.midlet.MIDlet; -import javax.microedition.lcdui.*; - -import org.spongycastle.util.test.*; -import org.spongycastle.util.encoders.*; - -import org.spongycastle.crypto.*; -import org.spongycastle.crypto.paddings.*; -import org.spongycastle.crypto.engines.*; -import org.spongycastle.crypto.modes.*; -import org.spongycastle.crypto.params.*; - -/** - * MIDP is a simple graphics application for the J2ME CLDC/MIDP. - * - * It has hardcoded values for the key and plain text. It also performs the - * standard testing for the chosen cipher, and displays the results. - * - * This example shows how to use the light-weight API and a symmetric cipher. - * - */ -public class MIDPTest extends MIDlet -{ - private Display d = null; - - private boolean doneEncrypt = false; - - private String key = "0123456789abcdef0123456789abcdef"; - private String plainText = "www.bouncycastle.org"; - private byte[] keyBytes = null; - private byte[] cipherText = null; - private BufferedBlockCipher cipher = null; - - private String[] cipherNames = {"DES", "DESede", "IDEA", "Rijndael", "Twofish"}; - - private Form output = null; - - public void startApp() - { - Display.getDisplay(this).setCurrent(output); - } - - public void pauseApp() - { - - } - - public void destroyApp(boolean unconditional) - { - - } - - public MIDPTest() - { - output = new Form("BouncyCastle"); - output.append("Key: " + key.substring(0, 7) + "...\n"); - output.append("In : " + plainText.substring(0, 7) + "...\n"); - - cipherText = performEncrypt(Hex.decode(key.getBytes()), plainText); - String ctS = new String(Hex.encode(cipherText)); - - output.append("\nCT : " + ctS.substring(0, 7) + "...\n"); - - String decryptText = performDecrypt(Hex.decode(key.getBytes()), cipherText); - - output.append("PT : " + decryptText.substring(0, 7) + "...\n"); - - if (decryptText.compareTo(plainText) == 0) - { - output.append("Success"); - } - else - { - output.append("Failure"); - message("[" + plainText + "]"); - message("[" + decryptText + "]"); - } - - } - - private byte[] performEncrypt(byte[] key, String plainText) - { - byte[] ptBytes = plainText.getBytes(); - - cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(getEngineInstance())); - - String name = cipher.getUnderlyingCipher().getAlgorithmName(); - message("Using " + name); - - cipher.init(true, new KeyParameter(key)); - - byte[] rv = new byte[cipher.getOutputSize(ptBytes.length)]; - - int oLen = cipher.processBytes(ptBytes, 0, ptBytes.length, rv, 0); - try - { - cipher.doFinal(rv, oLen); - } - catch (CryptoException ce) - { - message("Ooops, encrypt exception"); - status(ce.toString()); - } - return rv; - } - - private String performDecrypt(byte[] key, byte[] cipherText) - { - cipher.init(false, new KeyParameter(key)); - - byte[] rv = new byte[cipher.getOutputSize(cipherText.length)]; - - int oLen = cipher.processBytes(cipherText, 0, cipherText.length, rv, 0); - try - { - cipher.doFinal(rv, oLen); - } - catch (CryptoException ce) - { - message("Ooops, decrypt exception"); - status(ce.toString()); - } - return new String(rv).trim(); - } - - private int whichCipher() - { - return 4; // DES - } - - private BlockCipher getEngineInstance() - { - // returns a block cipher according to the current - // state of the radio button lists. This is only - // done prior to encryption. - BlockCipher rv = null; - - switch (whichCipher()) - { - case 0 : - rv = new DESEngine(); - break; - case 1 : - rv = new DESedeEngine(); - break; - case 2 : - rv = new IDEAEngine(); - break; - case 3 : - rv = new RijndaelEngine(); - break; - case 4 : - rv = new TwofishEngine(); - break; - default : - rv = new DESEngine(); - break; - } - return rv; - } - - public void message(String s) - { - System.out.println("M:" + s); - } - - public void status(String s) - { - System.out.println("S:" + s); - } - -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.jad b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.jad deleted file mode 100644 index 584f3156c..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.jad +++ /dev/null @@ -1,6 +0,0 @@ -MIDlet-1: MIDPTest, , org.spongycastle.crypto.examples.MIDPTest -MIDlet-Name: MIDPTest -MIDlet-Jar-Size: 300000 -MIDlet-Jar-URL: midp_test.jar -MIDlet-Vendor: The Legion of the Bouncy Castle -MIDlet-Version: 1.0.0 diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.mf b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.mf deleted file mode 100644 index 273521093..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/midp_test.mf +++ /dev/null @@ -1,7 +0,0 @@ -MIDlet-1: MIDPTTest, , org.spongycastle.crypto.examples.MIDPTest -MIDlet-Name: MIDPTest -MIDlet-Version: 1.0.0 -MIDlet-Vendor: Jon Eaves -Created-By: 1.3.1 (Sun Microsystems Inc.) -MicroEdition-Configuration: CLDC-1.0 -MicroEdition-Profile: MIDP-1.0 diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/params/SkeinParameters.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/params/SkeinParameters.java deleted file mode 100644 index b29cd4418..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/params/SkeinParameters.java +++ /dev/null @@ -1,258 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.util.Date; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.digests.SkeinDigest; -import org.spongycastle.crypto.digests.SkeinEngine; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.util.Integers; - -/** - * Parameters for the Skein hash function - a series of byte[] strings identified by integer tags. - *

    - * Parameterised Skein can be used for: - *

    - * - * @see SkeinEngine - * @see SkeinDigest - * @see SkeinMac - */ -public class SkeinParameters - implements CipherParameters -{ - /** - * The parameter type for a secret key, supporting MAC or KDF functions: {@value - * #PARAM_TYPE_KEY}. - */ - public static final int PARAM_TYPE_KEY = 0; - - /** - * The parameter type for the Skein configuration block: {@value #PARAM_TYPE_CONFIG}. - */ - public static final int PARAM_TYPE_CONFIG = 4; - - /** - * The parameter type for a personalisation string: {@value #PARAM_TYPE_PERSONALISATION}. - */ - public static final int PARAM_TYPE_PERSONALISATION = 8; - - /** - * The parameter type for a public key: {@value #PARAM_TYPE_PUBLIC_KEY}. - */ - public static final int PARAM_TYPE_PUBLIC_KEY = 12; - - /** - * The parameter type for a key identifier string: {@value #PARAM_TYPE_KEY_IDENTIFIER}. - */ - public static final int PARAM_TYPE_KEY_IDENTIFIER = 16; - - /** - * The parameter type for a nonce: {@value #PARAM_TYPE_NONCE}. - */ - public static final int PARAM_TYPE_NONCE = 20; - - /** - * The parameter type for the message: {@value #PARAM_TYPE_MESSAGE}. - */ - public static final int PARAM_TYPE_MESSAGE = 48; - - /** - * The parameter type for the output transformation: {@value #PARAM_TYPE_OUTPUT}. - */ - public static final int PARAM_TYPE_OUTPUT = 63; - - private Hashtable parameters; - - public SkeinParameters() - { - this(new Hashtable()); - } - - private SkeinParameters(final Hashtable parameters) - { - this.parameters = parameters; - } - - /** - * Obtains a map of type (Integer) to value (byte[]) for the parameters tracked in this object. - */ - public Hashtable getParameters() - { - return parameters; - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_KEY key parameter}, or null if not - * set. - */ - public byte[] getKey() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_KEY)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_PERSONALISATION personalisation parameter}, or - * null if not set. - */ - public byte[] getPersonalisation() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_PERSONALISATION)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_PUBLIC_KEY public key parameter}, or - * null if not set. - */ - public byte[] getPublicKey() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_PUBLIC_KEY)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_KEY_IDENTIFIER key identifier parameter}, or - * null if not set. - */ - public byte[] getKeyIdentifier() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_KEY_IDENTIFIER)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_NONCE nonce parameter}, or null if - * not set. - */ - public byte[] getNonce() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_NONCE)); - } - - /** - * A builder for {@link SkeinParameters}. - */ - public static class Builder - { - private Hashtable parameters = new Hashtable(); - - public Builder() - { - } - - public Builder(Hashtable paramsMap) - { - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Integer key = (Integer)keys.nextElement(); - parameters.put(key, paramsMap.get(key)); - } - } - - public Builder(SkeinParameters params) - { - Enumeration keys = params.parameters.keys(); - while (keys.hasMoreElements()) - { - Integer key = (Integer)keys.nextElement(); - parameters.put(key, params.parameters.get(key)); - } - } - - /** - * Sets a parameters to apply to the Skein hash function.
    - * Parameter types must be in the range 0,5..62, and cannot use the value {@value - * SkeinParameters#PARAM_TYPE_MESSAGE} (reserved for message body). - *

    - * Parameters with type < {@value SkeinParameters#PARAM_TYPE_MESSAGE} are processed before - * the message content, parameters with type > {@value SkeinParameters#PARAM_TYPE_MESSAGE} - * are processed after the message and prior to output. - * - * @param type the type of the parameter, in the range 5..62. - * @param value the byte sequence of the parameter. - * @return - */ - public Builder set(int type, byte[] value) - { - if (value == null) - { - throw new IllegalArgumentException("Parameter value must not be null."); - } - if ((type != PARAM_TYPE_KEY) - && (type <= PARAM_TYPE_CONFIG || type >= PARAM_TYPE_OUTPUT || type == PARAM_TYPE_MESSAGE)) - { - throw new IllegalArgumentException("Parameter types must be in the range 0,5..47,49..62."); - } - if (type == PARAM_TYPE_CONFIG) - { - throw new IllegalArgumentException("Parameter type " + PARAM_TYPE_CONFIG - + " is reserved for internal use."); - } - this.parameters.put(Integers.valueOf(type), value); - return this; - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY} parameter. - */ - public Builder setKey(byte[] key) - { - return set(PARAM_TYPE_KEY, key); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_PERSONALISATION} parameter. - */ - public Builder setPersonalisation(byte[] personalisation) - { - return set(PARAM_TYPE_PERSONALISATION, personalisation); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY_IDENTIFIER} parameter. - */ - public Builder setPublicKey(byte[] publicKey) - { - return set(PARAM_TYPE_PUBLIC_KEY, publicKey); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY_IDENTIFIER} parameter. - */ - public Builder setKeyIdentifier(byte[] keyIdentifier) - { - return set(PARAM_TYPE_KEY_IDENTIFIER, keyIdentifier); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_NONCE} parameter. - */ - public Builder setNonce(byte[] nonce) - { - return set(PARAM_TYPE_NONCE, nonce); - } - - /** - * Constructs a new {@link SkeinParameters} instance with the parameters provided to this - * builder. - */ - public SkeinParameters build() - { - return new SkeinParameters(parameters); - } - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/OCSPStatusRequest.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/OCSPStatusRequest.java deleted file mode 100644 index c66d76dc7..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/OCSPStatusRequest.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ocsp.ResponderID; -import org.spongycastle.asn1.x509.Extensions; - -/** - * RFC 3546 3.6 - */ -public class OCSPStatusRequest -{ - protected Vector responderIDList; - protected Extensions requestExtensions; - - /** - * @param responderIDList - * a {@link Vector} of {@link ResponderID}, specifying the list of trusted OCSP - * responders. An empty list has the special meaning that the responders are - * implicitly known to the server - e.g., by prior arrangement. - * @param requestExtensions - * OCSP request extensions. A null value means that there are no extensions. - */ - public OCSPStatusRequest(Vector responderIDList, Extensions requestExtensions) - { - this.responderIDList = responderIDList; - this.requestExtensions = requestExtensions; - } - - /** - * @return a {@link Vector} of {@link ResponderID} - */ - public Vector getResponderIDList() - { - return responderIDList; - } - - /** - * @return OCSP request extensions - */ - public Extensions getRequestExtensions() - { - return requestExtensions; - } - - /** - * Encode this {@link OCSPStatusRequest} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - if (responderIDList == null || responderIDList.isEmpty()) - { - TlsUtils.writeUint16(0, output); - } - else - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - for (int i = 0; i < responderIDList.size(); ++i) - { - ResponderID responderID = (ResponderID) responderIDList.elementAt(i); - byte[] derEncoding = responderID.getEncoded(ASN1Encoding.DER); - TlsUtils.writeOpaque16(derEncoding, buf); - } - TlsUtils.checkUint16(buf.size()); - TlsUtils.writeUint16(buf.size(), output); - output.write(buf.toByteArray()); - } - - if (requestExtensions == null) - { - TlsUtils.writeUint16(0, output); - } - else - { - byte[] derEncoding = requestExtensions.getEncoded(ASN1Encoding.DER); - TlsUtils.checkUint16(derEncoding.length); - TlsUtils.writeUint16(derEncoding.length, output); - output.write(derEncoding); - } - } - - /** - * Parse a {@link OCSPStatusRequest} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link OCSPStatusRequest} object. - * @throws IOException - */ - public static OCSPStatusRequest parse(InputStream input) throws IOException - { - Vector responderIDList = new Vector(); - { - int length = TlsUtils.readUint16(input); - if (length > 0) - { - byte[] data = TlsUtils.readFully(length, input); - ByteArrayInputStream buf = new ByteArrayInputStream(data); - do - { - byte[] derEncoding = TlsUtils.readOpaque16(buf); - ResponderID responderID = ResponderID.getInstance(TlsUtils.readDERObject(derEncoding)); - responderIDList.addElement(responderID); - } - while (buf.available() > 0); - } - } - - Extensions requestExtensions = null; - { - int length = TlsUtils.readUint16(input); - if (length > 0) - { - byte[] derEncoding = TlsUtils.readFully(length, input); - requestExtensions = Extensions.getInstance(TlsUtils.readDERObject(derEncoding)); - } - } - - return new OCSPStatusRequest(responderIDList, requestExtensions); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/ServerNameList.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/ServerNameList.java deleted file mode 100644 index 09817e6be..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/ServerNameList.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -public class ServerNameList -{ - protected Vector serverNameList; - - /** - * @param serverNameList a {@link Vector} of {@link ServerName}. - */ - public ServerNameList(Vector serverNameList) - { - if (serverNameList == null || serverNameList.isEmpty()) - { - throw new IllegalArgumentException("'serverNameList' must not be null or empty"); - } - - this.serverNameList = serverNameList; - } - - /** - * @return a {@link Vector} of {@link ServerName}. - */ - public Vector getServerNameList() - { - return serverNameList; - } - - /** - * Encode this {@link ServerNameList} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - for (int i = 0; i < serverNameList.size(); ++i) - { - ServerName entry = (ServerName)serverNameList.elementAt(i); - entry.encode(buf); - } - - TlsUtils.checkUint16(buf.size()); - TlsUtils.writeUint16(buf.size(), output); - output.write(buf.toByteArray()); - } - - /** - * Parse a {@link ServerNameList} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link ServerNameList} object. - * @throws IOException - */ - public static ServerNameList parse(InputStream input) throws IOException - { - int length = TlsUtils.readUint16(input); - if (length < 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - byte[] data = TlsUtils.readFully(length, input); - - ByteArrayInputStream buf = new ByteArrayInputStream(data); - - Vector server_name_list = new Vector(); - while (buf.available() > 0) - { - ServerName entry = ServerName.parse(buf); - server_name_list.addElement(entry); - } - - return new ServerNameList(server_name_list); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/UDPTransport.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/UDPTransport.java deleted file mode 100644 index ea287144b..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/tls/UDPTransport.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import javax.microedition.io.DatagramConnection; -import javax.microedition.io.Datagram; - -public class UDPTransport - implements DatagramTransport -{ - - protected final static int MIN_IP_OVERHEAD = 20; - protected final static int MAX_IP_OVERHEAD = MIN_IP_OVERHEAD + 64; - protected final static int UDP_OVERHEAD = 8; - - protected final DatagramConnection socket; - protected final int receiveLimit, sendLimit; - - public UDPTransport(DatagramConnection socket, int mtu) - throws IOException - { - // - // In 1.3 and earlier sockets were bound and connected during creation - // - //if (!socket.isBound() || !socket.isConnected()) - //{ - // throw new IllegalArgumentException("'socket' must be bound and connected"); - //} - - this.socket = socket; - - // NOTE: As of JDK 1.6, can use NetworkInterface.getMTU - - this.receiveLimit = mtu - MIN_IP_OVERHEAD - UDP_OVERHEAD; - this.sendLimit = mtu - MAX_IP_OVERHEAD - UDP_OVERHEAD; - } - - public int getReceiveLimit() - { - return receiveLimit; - } - - public int getSendLimit() - { - // TODO[DTLS] Implement Path-MTU discovery? - return sendLimit; - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - //socket.setSoTimeout(waitMillis); -- not applicable - - if (off == 0) - { - Datagram packet = socket.newDatagram(buf, len); - socket.receive(packet); - - return packet.getLength(); - } - else - { - byte[] rv = new byte[len]; - - Datagram packet = socket.newDatagram(rv, len); - socket.receive(packet); - - System.arraycopy(rv, 0, buf, off, packet.getLength()); - - return packet.getLength(); - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (len > getSendLimit()) - { - /* - * RFC 4347 4.1.1. "If the application attempts to send a record larger than the MTU, - * the DTLS implementation SHOULD generate an error, thus avoiding sending a packet - * which will be fragmented." - */ - // TODO Exception - } - - if (off == 0) - { - Datagram packet = socket.newDatagram(buf, len); - socket.send(packet); - } - else - { - byte[] data = new byte[len]; - - System.arraycopy(buf, off, data, 0, len); - - Datagram packet = socket.newDatagram(data, len); - socket.send(packet); - } - } - - public void close() - throws IOException - { - socket.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/math/ec/LongArray.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/math/ec/LongArray.java deleted file mode 100644 index 70117db78..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/math/ec/LongArray.java +++ /dev/null @@ -1,1997 +0,0 @@ -package org.spongycastle.math.ec; - -import org.spongycastle.util.Arrays; - -import java.math.BigInteger; - -class LongArray -{ -// private static long DEINTERLEAVE_MASK = 0x5555555555555555L; - - /* - * This expands 8 bit indices into 16 bit contents (high bit 14), by inserting 0s between bits. - * In a binary field, this operation is the same as squaring an 8 bit number. - */ - private static final int[] INTERLEAVE2_TABLE = new int[] - { - 0x0000, 0x0001, 0x0004, 0x0005, 0x0010, 0x0011, 0x0014, 0x0015, - 0x0040, 0x0041, 0x0044, 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, - 0x0100, 0x0101, 0x0104, 0x0105, 0x0110, 0x0111, 0x0114, 0x0115, - 0x0140, 0x0141, 0x0144, 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, - 0x0400, 0x0401, 0x0404, 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, - 0x0440, 0x0441, 0x0444, 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, - 0x0500, 0x0501, 0x0504, 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, - 0x0540, 0x0541, 0x0544, 0x0545, 0x0550, 0x0551, 0x0554, 0x0555, - 0x1000, 0x1001, 0x1004, 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, - 0x1040, 0x1041, 0x1044, 0x1045, 0x1050, 0x1051, 0x1054, 0x1055, - 0x1100, 0x1101, 0x1104, 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, - 0x1140, 0x1141, 0x1144, 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, - 0x1400, 0x1401, 0x1404, 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, - 0x1440, 0x1441, 0x1444, 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, - 0x1500, 0x1501, 0x1504, 0x1505, 0x1510, 0x1511, 0x1514, 0x1515, - 0x1540, 0x1541, 0x1544, 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, - 0x4000, 0x4001, 0x4004, 0x4005, 0x4010, 0x4011, 0x4014, 0x4015, - 0x4040, 0x4041, 0x4044, 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, - 0x4100, 0x4101, 0x4104, 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, - 0x4140, 0x4141, 0x4144, 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, - 0x4400, 0x4401, 0x4404, 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, - 0x4440, 0x4441, 0x4444, 0x4445, 0x4450, 0x4451, 0x4454, 0x4455, - 0x4500, 0x4501, 0x4504, 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, - 0x4540, 0x4541, 0x4544, 0x4545, 0x4550, 0x4551, 0x4554, 0x4555, - 0x5000, 0x5001, 0x5004, 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, - 0x5040, 0x5041, 0x5044, 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, - 0x5100, 0x5101, 0x5104, 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, - 0x5140, 0x5141, 0x5144, 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, - 0x5400, 0x5401, 0x5404, 0x5405, 0x5410, 0x5411, 0x5414, 0x5415, - 0x5440, 0x5441, 0x5444, 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, - 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, 0x5511, 0x5514, 0x5515, - 0x5540, 0x5541, 0x5544, 0x5545, 0x5550, 0x5551, 0x5554, 0x5555 - }; - - /* - * This expands 7 bit indices into 21 bit contents (high bit 18), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE3_TABLE = new int[] - { - 0x00000, 0x00001, 0x00008, 0x00009, 0x00040, 0x00041, 0x00048, 0x00049, - 0x00200, 0x00201, 0x00208, 0x00209, 0x00240, 0x00241, 0x00248, 0x00249, - 0x01000, 0x01001, 0x01008, 0x01009, 0x01040, 0x01041, 0x01048, 0x01049, - 0x01200, 0x01201, 0x01208, 0x01209, 0x01240, 0x01241, 0x01248, 0x01249, - 0x08000, 0x08001, 0x08008, 0x08009, 0x08040, 0x08041, 0x08048, 0x08049, - 0x08200, 0x08201, 0x08208, 0x08209, 0x08240, 0x08241, 0x08248, 0x08249, - 0x09000, 0x09001, 0x09008, 0x09009, 0x09040, 0x09041, 0x09048, 0x09049, - 0x09200, 0x09201, 0x09208, 0x09209, 0x09240, 0x09241, 0x09248, 0x09249, - 0x40000, 0x40001, 0x40008, 0x40009, 0x40040, 0x40041, 0x40048, 0x40049, - 0x40200, 0x40201, 0x40208, 0x40209, 0x40240, 0x40241, 0x40248, 0x40249, - 0x41000, 0x41001, 0x41008, 0x41009, 0x41040, 0x41041, 0x41048, 0x41049, - 0x41200, 0x41201, 0x41208, 0x41209, 0x41240, 0x41241, 0x41248, 0x41249, - 0x48000, 0x48001, 0x48008, 0x48009, 0x48040, 0x48041, 0x48048, 0x48049, - 0x48200, 0x48201, 0x48208, 0x48209, 0x48240, 0x48241, 0x48248, 0x48249, - 0x49000, 0x49001, 0x49008, 0x49009, 0x49040, 0x49041, 0x49048, 0x49049, - 0x49200, 0x49201, 0x49208, 0x49209, 0x49240, 0x49241, 0x49248, 0x49249 - }; - - /* - * This expands 8 bit indices into 32 bit contents (high bit 28), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE4_TABLE = new int[] - { - 0x00000000, 0x00000001, 0x00000010, 0x00000011, 0x00000100, 0x00000101, 0x00000110, 0x00000111, - 0x00001000, 0x00001001, 0x00001010, 0x00001011, 0x00001100, 0x00001101, 0x00001110, 0x00001111, - 0x00010000, 0x00010001, 0x00010010, 0x00010011, 0x00010100, 0x00010101, 0x00010110, 0x00010111, - 0x00011000, 0x00011001, 0x00011010, 0x00011011, 0x00011100, 0x00011101, 0x00011110, 0x00011111, - 0x00100000, 0x00100001, 0x00100010, 0x00100011, 0x00100100, 0x00100101, 0x00100110, 0x00100111, - 0x00101000, 0x00101001, 0x00101010, 0x00101011, 0x00101100, 0x00101101, 0x00101110, 0x00101111, - 0x00110000, 0x00110001, 0x00110010, 0x00110011, 0x00110100, 0x00110101, 0x00110110, 0x00110111, - 0x00111000, 0x00111001, 0x00111010, 0x00111011, 0x00111100, 0x00111101, 0x00111110, 0x00111111, - 0x01000000, 0x01000001, 0x01000010, 0x01000011, 0x01000100, 0x01000101, 0x01000110, 0x01000111, - 0x01001000, 0x01001001, 0x01001010, 0x01001011, 0x01001100, 0x01001101, 0x01001110, 0x01001111, - 0x01010000, 0x01010001, 0x01010010, 0x01010011, 0x01010100, 0x01010101, 0x01010110, 0x01010111, - 0x01011000, 0x01011001, 0x01011010, 0x01011011, 0x01011100, 0x01011101, 0x01011110, 0x01011111, - 0x01100000, 0x01100001, 0x01100010, 0x01100011, 0x01100100, 0x01100101, 0x01100110, 0x01100111, - 0x01101000, 0x01101001, 0x01101010, 0x01101011, 0x01101100, 0x01101101, 0x01101110, 0x01101111, - 0x01110000, 0x01110001, 0x01110010, 0x01110011, 0x01110100, 0x01110101, 0x01110110, 0x01110111, - 0x01111000, 0x01111001, 0x01111010, 0x01111011, 0x01111100, 0x01111101, 0x01111110, 0x01111111, - 0x10000000, 0x10000001, 0x10000010, 0x10000011, 0x10000100, 0x10000101, 0x10000110, 0x10000111, - 0x10001000, 0x10001001, 0x10001010, 0x10001011, 0x10001100, 0x10001101, 0x10001110, 0x10001111, - 0x10010000, 0x10010001, 0x10010010, 0x10010011, 0x10010100, 0x10010101, 0x10010110, 0x10010111, - 0x10011000, 0x10011001, 0x10011010, 0x10011011, 0x10011100, 0x10011101, 0x10011110, 0x10011111, - 0x10100000, 0x10100001, 0x10100010, 0x10100011, 0x10100100, 0x10100101, 0x10100110, 0x10100111, - 0x10101000, 0x10101001, 0x10101010, 0x10101011, 0x10101100, 0x10101101, 0x10101110, 0x10101111, - 0x10110000, 0x10110001, 0x10110010, 0x10110011, 0x10110100, 0x10110101, 0x10110110, 0x10110111, - 0x10111000, 0x10111001, 0x10111010, 0x10111011, 0x10111100, 0x10111101, 0x10111110, 0x10111111, - 0x11000000, 0x11000001, 0x11000010, 0x11000011, 0x11000100, 0x11000101, 0x11000110, 0x11000111, - 0x11001000, 0x11001001, 0x11001010, 0x11001011, 0x11001100, 0x11001101, 0x11001110, 0x11001111, - 0x11010000, 0x11010001, 0x11010010, 0x11010011, 0x11010100, 0x11010101, 0x11010110, 0x11010111, - 0x11011000, 0x11011001, 0x11011010, 0x11011011, 0x11011100, 0x11011101, 0x11011110, 0x11011111, - 0x11100000, 0x11100001, 0x11100010, 0x11100011, 0x11100100, 0x11100101, 0x11100110, 0x11100111, - 0x11101000, 0x11101001, 0x11101010, 0x11101011, 0x11101100, 0x11101101, 0x11101110, 0x11101111, - 0x11110000, 0x11110001, 0x11110010, 0x11110011, 0x11110100, 0x11110101, 0x11110110, 0x11110111, - 0x11111000, 0x11111001, 0x11111010, 0x11111011, 0x11111100, 0x11111101, 0x11111110, 0x11111111 - }; - - /* - * This expands 7 bit indices into 35 bit contents (high bit 30), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE5_TABLE = new int[] { - 0x00000000, 0x00000001, 0x00000020, 0x00000021, 0x00000400, 0x00000401, 0x00000420, 0x00000421, - 0x00008000, 0x00008001, 0x00008020, 0x00008021, 0x00008400, 0x00008401, 0x00008420, 0x00008421, - 0x00100000, 0x00100001, 0x00100020, 0x00100021, 0x00100400, 0x00100401, 0x00100420, 0x00100421, - 0x00108000, 0x00108001, 0x00108020, 0x00108021, 0x00108400, 0x00108401, 0x00108420, 0x00108421, - 0x02000000, 0x02000001, 0x02000020, 0x02000021, 0x02000400, 0x02000401, 0x02000420, 0x02000421, - 0x02008000, 0x02008001, 0x02008020, 0x02008021, 0x02008400, 0x02008401, 0x02008420, 0x02008421, - 0x02100000, 0x02100001, 0x02100020, 0x02100021, 0x02100400, 0x02100401, 0x02100420, 0x02100421, - 0x02108000, 0x02108001, 0x02108020, 0x02108021, 0x02108400, 0x02108401, 0x02108420, 0x02108421, - 0x40000000, 0x40000001, 0x40000020, 0x40000021, 0x40000400, 0x40000401, 0x40000420, 0x40000421, - 0x40008000, 0x40008001, 0x40008020, 0x40008021, 0x40008400, 0x40008401, 0x40008420, 0x40008421, - 0x40100000, 0x40100001, 0x40100020, 0x40100021, 0x40100400, 0x40100401, 0x40100420, 0x40100421, - 0x40108000, 0x40108001, 0x40108020, 0x40108021, 0x40108400, 0x40108401, 0x40108420, 0x40108421, - 0x42000000, 0x42000001, 0x42000020, 0x42000021, 0x42000400, 0x42000401, 0x42000420, 0x42000421, - 0x42008000, 0x42008001, 0x42008020, 0x42008021, 0x42008400, 0x42008401, 0x42008420, 0x42008421, - 0x42100000, 0x42100001, 0x42100020, 0x42100021, 0x42100400, 0x42100401, 0x42100420, 0x42100421, - 0x42108000, 0x42108001, 0x42108020, 0x42108021, 0x42108400, 0x42108401, 0x42108420, 0x42108421 - }; - - /* - * This expands 9 bit indices into 63 bit (long) contents (high bit 56), by inserting 0s between bits. - */ - private static final long[] INTERLEAVE7_TABLE = new long[] - { - 0x0000000000000000L, 0x0000000000000001L, 0x0000000000000080L, 0x0000000000000081L, - 0x0000000000004000L, 0x0000000000004001L, 0x0000000000004080L, 0x0000000000004081L, - 0x0000000000200000L, 0x0000000000200001L, 0x0000000000200080L, 0x0000000000200081L, - 0x0000000000204000L, 0x0000000000204001L, 0x0000000000204080L, 0x0000000000204081L, - 0x0000000010000000L, 0x0000000010000001L, 0x0000000010000080L, 0x0000000010000081L, - 0x0000000010004000L, 0x0000000010004001L, 0x0000000010004080L, 0x0000000010004081L, - 0x0000000010200000L, 0x0000000010200001L, 0x0000000010200080L, 0x0000000010200081L, - 0x0000000010204000L, 0x0000000010204001L, 0x0000000010204080L, 0x0000000010204081L, - 0x0000000800000000L, 0x0000000800000001L, 0x0000000800000080L, 0x0000000800000081L, - 0x0000000800004000L, 0x0000000800004001L, 0x0000000800004080L, 0x0000000800004081L, - 0x0000000800200000L, 0x0000000800200001L, 0x0000000800200080L, 0x0000000800200081L, - 0x0000000800204000L, 0x0000000800204001L, 0x0000000800204080L, 0x0000000800204081L, - 0x0000000810000000L, 0x0000000810000001L, 0x0000000810000080L, 0x0000000810000081L, - 0x0000000810004000L, 0x0000000810004001L, 0x0000000810004080L, 0x0000000810004081L, - 0x0000000810200000L, 0x0000000810200001L, 0x0000000810200080L, 0x0000000810200081L, - 0x0000000810204000L, 0x0000000810204001L, 0x0000000810204080L, 0x0000000810204081L, - 0x0000040000000000L, 0x0000040000000001L, 0x0000040000000080L, 0x0000040000000081L, - 0x0000040000004000L, 0x0000040000004001L, 0x0000040000004080L, 0x0000040000004081L, - 0x0000040000200000L, 0x0000040000200001L, 0x0000040000200080L, 0x0000040000200081L, - 0x0000040000204000L, 0x0000040000204001L, 0x0000040000204080L, 0x0000040000204081L, - 0x0000040010000000L, 0x0000040010000001L, 0x0000040010000080L, 0x0000040010000081L, - 0x0000040010004000L, 0x0000040010004001L, 0x0000040010004080L, 0x0000040010004081L, - 0x0000040010200000L, 0x0000040010200001L, 0x0000040010200080L, 0x0000040010200081L, - 0x0000040010204000L, 0x0000040010204001L, 0x0000040010204080L, 0x0000040010204081L, - 0x0000040800000000L, 0x0000040800000001L, 0x0000040800000080L, 0x0000040800000081L, - 0x0000040800004000L, 0x0000040800004001L, 0x0000040800004080L, 0x0000040800004081L, - 0x0000040800200000L, 0x0000040800200001L, 0x0000040800200080L, 0x0000040800200081L, - 0x0000040800204000L, 0x0000040800204001L, 0x0000040800204080L, 0x0000040800204081L, - 0x0000040810000000L, 0x0000040810000001L, 0x0000040810000080L, 0x0000040810000081L, - 0x0000040810004000L, 0x0000040810004001L, 0x0000040810004080L, 0x0000040810004081L, - 0x0000040810200000L, 0x0000040810200001L, 0x0000040810200080L, 0x0000040810200081L, - 0x0000040810204000L, 0x0000040810204001L, 0x0000040810204080L, 0x0000040810204081L, - 0x0002000000000000L, 0x0002000000000001L, 0x0002000000000080L, 0x0002000000000081L, - 0x0002000000004000L, 0x0002000000004001L, 0x0002000000004080L, 0x0002000000004081L, - 0x0002000000200000L, 0x0002000000200001L, 0x0002000000200080L, 0x0002000000200081L, - 0x0002000000204000L, 0x0002000000204001L, 0x0002000000204080L, 0x0002000000204081L, - 0x0002000010000000L, 0x0002000010000001L, 0x0002000010000080L, 0x0002000010000081L, - 0x0002000010004000L, 0x0002000010004001L, 0x0002000010004080L, 0x0002000010004081L, - 0x0002000010200000L, 0x0002000010200001L, 0x0002000010200080L, 0x0002000010200081L, - 0x0002000010204000L, 0x0002000010204001L, 0x0002000010204080L, 0x0002000010204081L, - 0x0002000800000000L, 0x0002000800000001L, 0x0002000800000080L, 0x0002000800000081L, - 0x0002000800004000L, 0x0002000800004001L, 0x0002000800004080L, 0x0002000800004081L, - 0x0002000800200000L, 0x0002000800200001L, 0x0002000800200080L, 0x0002000800200081L, - 0x0002000800204000L, 0x0002000800204001L, 0x0002000800204080L, 0x0002000800204081L, - 0x0002000810000000L, 0x0002000810000001L, 0x0002000810000080L, 0x0002000810000081L, - 0x0002000810004000L, 0x0002000810004001L, 0x0002000810004080L, 0x0002000810004081L, - 0x0002000810200000L, 0x0002000810200001L, 0x0002000810200080L, 0x0002000810200081L, - 0x0002000810204000L, 0x0002000810204001L, 0x0002000810204080L, 0x0002000810204081L, - 0x0002040000000000L, 0x0002040000000001L, 0x0002040000000080L, 0x0002040000000081L, - 0x0002040000004000L, 0x0002040000004001L, 0x0002040000004080L, 0x0002040000004081L, - 0x0002040000200000L, 0x0002040000200001L, 0x0002040000200080L, 0x0002040000200081L, - 0x0002040000204000L, 0x0002040000204001L, 0x0002040000204080L, 0x0002040000204081L, - 0x0002040010000000L, 0x0002040010000001L, 0x0002040010000080L, 0x0002040010000081L, - 0x0002040010004000L, 0x0002040010004001L, 0x0002040010004080L, 0x0002040010004081L, - 0x0002040010200000L, 0x0002040010200001L, 0x0002040010200080L, 0x0002040010200081L, - 0x0002040010204000L, 0x0002040010204001L, 0x0002040010204080L, 0x0002040010204081L, - 0x0002040800000000L, 0x0002040800000001L, 0x0002040800000080L, 0x0002040800000081L, - 0x0002040800004000L, 0x0002040800004001L, 0x0002040800004080L, 0x0002040800004081L, - 0x0002040800200000L, 0x0002040800200001L, 0x0002040800200080L, 0x0002040800200081L, - 0x0002040800204000L, 0x0002040800204001L, 0x0002040800204080L, 0x0002040800204081L, - 0x0002040810000000L, 0x0002040810000001L, 0x0002040810000080L, 0x0002040810000081L, - 0x0002040810004000L, 0x0002040810004001L, 0x0002040810004080L, 0x0002040810004081L, - 0x0002040810200000L, 0x0002040810200001L, 0x0002040810200080L, 0x0002040810200081L, - 0x0002040810204000L, 0x0002040810204001L, 0x0002040810204080L, 0x0002040810204081L, - 0x0100000000000000L, 0x0100000000000001L, 0x0100000000000080L, 0x0100000000000081L, - 0x0100000000004000L, 0x0100000000004001L, 0x0100000000004080L, 0x0100000000004081L, - 0x0100000000200000L, 0x0100000000200001L, 0x0100000000200080L, 0x0100000000200081L, - 0x0100000000204000L, 0x0100000000204001L, 0x0100000000204080L, 0x0100000000204081L, - 0x0100000010000000L, 0x0100000010000001L, 0x0100000010000080L, 0x0100000010000081L, - 0x0100000010004000L, 0x0100000010004001L, 0x0100000010004080L, 0x0100000010004081L, - 0x0100000010200000L, 0x0100000010200001L, 0x0100000010200080L, 0x0100000010200081L, - 0x0100000010204000L, 0x0100000010204001L, 0x0100000010204080L, 0x0100000010204081L, - 0x0100000800000000L, 0x0100000800000001L, 0x0100000800000080L, 0x0100000800000081L, - 0x0100000800004000L, 0x0100000800004001L, 0x0100000800004080L, 0x0100000800004081L, - 0x0100000800200000L, 0x0100000800200001L, 0x0100000800200080L, 0x0100000800200081L, - 0x0100000800204000L, 0x0100000800204001L, 0x0100000800204080L, 0x0100000800204081L, - 0x0100000810000000L, 0x0100000810000001L, 0x0100000810000080L, 0x0100000810000081L, - 0x0100000810004000L, 0x0100000810004001L, 0x0100000810004080L, 0x0100000810004081L, - 0x0100000810200000L, 0x0100000810200001L, 0x0100000810200080L, 0x0100000810200081L, - 0x0100000810204000L, 0x0100000810204001L, 0x0100000810204080L, 0x0100000810204081L, - 0x0100040000000000L, 0x0100040000000001L, 0x0100040000000080L, 0x0100040000000081L, - 0x0100040000004000L, 0x0100040000004001L, 0x0100040000004080L, 0x0100040000004081L, - 0x0100040000200000L, 0x0100040000200001L, 0x0100040000200080L, 0x0100040000200081L, - 0x0100040000204000L, 0x0100040000204001L, 0x0100040000204080L, 0x0100040000204081L, - 0x0100040010000000L, 0x0100040010000001L, 0x0100040010000080L, 0x0100040010000081L, - 0x0100040010004000L, 0x0100040010004001L, 0x0100040010004080L, 0x0100040010004081L, - 0x0100040010200000L, 0x0100040010200001L, 0x0100040010200080L, 0x0100040010200081L, - 0x0100040010204000L, 0x0100040010204001L, 0x0100040010204080L, 0x0100040010204081L, - 0x0100040800000000L, 0x0100040800000001L, 0x0100040800000080L, 0x0100040800000081L, - 0x0100040800004000L, 0x0100040800004001L, 0x0100040800004080L, 0x0100040800004081L, - 0x0100040800200000L, 0x0100040800200001L, 0x0100040800200080L, 0x0100040800200081L, - 0x0100040800204000L, 0x0100040800204001L, 0x0100040800204080L, 0x0100040800204081L, - 0x0100040810000000L, 0x0100040810000001L, 0x0100040810000080L, 0x0100040810000081L, - 0x0100040810004000L, 0x0100040810004001L, 0x0100040810004080L, 0x0100040810004081L, - 0x0100040810200000L, 0x0100040810200001L, 0x0100040810200080L, 0x0100040810200081L, - 0x0100040810204000L, 0x0100040810204001L, 0x0100040810204080L, 0x0100040810204081L, - 0x0102000000000000L, 0x0102000000000001L, 0x0102000000000080L, 0x0102000000000081L, - 0x0102000000004000L, 0x0102000000004001L, 0x0102000000004080L, 0x0102000000004081L, - 0x0102000000200000L, 0x0102000000200001L, 0x0102000000200080L, 0x0102000000200081L, - 0x0102000000204000L, 0x0102000000204001L, 0x0102000000204080L, 0x0102000000204081L, - 0x0102000010000000L, 0x0102000010000001L, 0x0102000010000080L, 0x0102000010000081L, - 0x0102000010004000L, 0x0102000010004001L, 0x0102000010004080L, 0x0102000010004081L, - 0x0102000010200000L, 0x0102000010200001L, 0x0102000010200080L, 0x0102000010200081L, - 0x0102000010204000L, 0x0102000010204001L, 0x0102000010204080L, 0x0102000010204081L, - 0x0102000800000000L, 0x0102000800000001L, 0x0102000800000080L, 0x0102000800000081L, - 0x0102000800004000L, 0x0102000800004001L, 0x0102000800004080L, 0x0102000800004081L, - 0x0102000800200000L, 0x0102000800200001L, 0x0102000800200080L, 0x0102000800200081L, - 0x0102000800204000L, 0x0102000800204001L, 0x0102000800204080L, 0x0102000800204081L, - 0x0102000810000000L, 0x0102000810000001L, 0x0102000810000080L, 0x0102000810000081L, - 0x0102000810004000L, 0x0102000810004001L, 0x0102000810004080L, 0x0102000810004081L, - 0x0102000810200000L, 0x0102000810200001L, 0x0102000810200080L, 0x0102000810200081L, - 0x0102000810204000L, 0x0102000810204001L, 0x0102000810204080L, 0x0102000810204081L, - 0x0102040000000000L, 0x0102040000000001L, 0x0102040000000080L, 0x0102040000000081L, - 0x0102040000004000L, 0x0102040000004001L, 0x0102040000004080L, 0x0102040000004081L, - 0x0102040000200000L, 0x0102040000200001L, 0x0102040000200080L, 0x0102040000200081L, - 0x0102040000204000L, 0x0102040000204001L, 0x0102040000204080L, 0x0102040000204081L, - 0x0102040010000000L, 0x0102040010000001L, 0x0102040010000080L, 0x0102040010000081L, - 0x0102040010004000L, 0x0102040010004001L, 0x0102040010004080L, 0x0102040010004081L, - 0x0102040010200000L, 0x0102040010200001L, 0x0102040010200080L, 0x0102040010200081L, - 0x0102040010204000L, 0x0102040010204001L, 0x0102040010204080L, 0x0102040010204081L, - 0x0102040800000000L, 0x0102040800000001L, 0x0102040800000080L, 0x0102040800000081L, - 0x0102040800004000L, 0x0102040800004001L, 0x0102040800004080L, 0x0102040800004081L, - 0x0102040800200000L, 0x0102040800200001L, 0x0102040800200080L, 0x0102040800200081L, - 0x0102040800204000L, 0x0102040800204001L, 0x0102040800204080L, 0x0102040800204081L, - 0x0102040810000000L, 0x0102040810000001L, 0x0102040810000080L, 0x0102040810000081L, - 0x0102040810004000L, 0x0102040810004001L, 0x0102040810004080L, 0x0102040810004081L, - 0x0102040810200000L, 0x0102040810200001L, 0x0102040810200080L, 0x0102040810200081L, - 0x0102040810204000L, 0x0102040810204001L, 0x0102040810204080L, 0x0102040810204081L - }; - - // For toString(); must have length 64 - private static final String ZEROES = "0000000000000000000000000000000000000000000000000000000000000000"; - - final static byte[] bitLengths = - { - 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 - }; - - // TODO make m fixed for the LongArray, and hence compute T once and for all - - private long[] m_ints; - - public LongArray(int intLen) - { - m_ints = new long[intLen]; - } - - public LongArray(long[] ints) - { - m_ints = ints; - } - - public LongArray(long[] ints, int off, int len) - { - if (off == 0 && len == ints.length) - { - m_ints = ints; - } - else - { - m_ints = new long[len]; - System.arraycopy(ints, off, m_ints, 0, len); - } - } - - public LongArray(BigInteger bigInt) - { - if (bigInt == null || bigInt.signum() < 0) - { - throw new IllegalArgumentException("invalid F2m field value"); - } - - if (bigInt.signum() == 0) - { - m_ints = new long[] { 0L }; - return; - } - - byte[] barr = bigInt.toByteArray(); - int barrLen = barr.length; - int barrStart = 0; - if (barr[0] == 0) - { - // First byte is 0 to enforce highest (=sign) bit is zero. - // In this case ignore barr[0]. - barrLen--; - barrStart = 1; - } - int intLen = (barrLen + 7) / 8; - m_ints = new long[intLen]; - - int iarrJ = intLen - 1; - int rem = barrLen % 8 + barrStart; - long temp = 0; - int barrI = barrStart; - if (barrStart < rem) - { - for (; barrI < rem; barrI++) - { - temp <<= 8; - int barrBarrI = barr[barrI] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ--] = temp; - } - - for (; iarrJ >= 0; iarrJ--) - { - temp = 0; - for (int i = 0; i < 8; i++) - { - temp <<= 8; - int barrBarrI = barr[barrI++] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ] = temp; - } - } - - public boolean isZero() - { - long[] a = m_ints; - for (int i = 0; i < a.length; ++i) - { - if (a[i] != 0L) - { - return false; - } - } - return true; - } - - public int getUsedLength() - { - return getUsedLengthFrom(m_ints.length); - } - - public int getUsedLengthFrom(int from) - { - long[] a = m_ints; - from = Math.min(from, a.length); - - if (from < 1) - { - return 0; - } - - // Check if first element will act as sentinel - if (a[0] != 0) - { - while (a[--from] == 0) - { - } - return from + 1; - } - - do - { - if (a[--from] != 0) - { - return from + 1; - } - } - while (from > 0); - - return 0; - } - - public int degree() - { - int i = m_ints.length; - long w; - do - { - if (i == 0) - { - return 0; - } - w = m_ints[--i]; - } - while (w == 0); - - return (i << 6) + bitLength(w); - } - - private int degreeFrom(int limit) - { - int i = (limit + 62) >>> 6; - long w; - do - { - if (i == 0) - { - return 0; - } - w = m_ints[--i]; - } - while (w == 0); - - return (i << 6) + bitLength(w); - } - -// private int lowestCoefficient() -// { -// for (int i = 0; i < m_ints.length; ++i) -// { -// long mi = m_ints[i]; -// if (mi != 0) -// { -// int j = 0; -// while ((mi & 0xFFL) == 0) -// { -// j += 8; -// mi >>>= 8; -// } -// while ((mi & 1L) == 0) -// { -// ++j; -// mi >>>= 1; -// } -// return (i << 6) + j; -// } -// } -// return -1; -// } - - private static int bitLength(long w) - { - int u = (int)(w >>> 32), b; - if (u == 0) - { - u = (int)w; - b = 0; - } - else - { - b = 32; - } - - int t = u >>> 16, k; - if (t == 0) - { - t = u >>> 8; - k = (t == 0) ? bitLengths[u] : 8 + bitLengths[t]; - } - else - { - int v = t >>> 8; - k = (v == 0) ? 16 + bitLengths[t] : 24 + bitLengths[v]; - } - - return b + k; - } - - private long[] resizedInts(int newLen) - { - long[] newInts = new long[newLen]; - System.arraycopy(m_ints, 0, newInts, 0, Math.min(m_ints.length, newLen)); - return newInts; - } - - public BigInteger toBigInteger() - { - int usedLen = getUsedLength(); - if (usedLen == 0) - { - return ECConstants.ZERO; - } - - long highestInt = m_ints[usedLen - 1]; - byte[] temp = new byte[8]; - int barrI = 0; - boolean trailingZeroBytesDone = false; - for (int j = 7; j >= 0; j--) - { - byte thisByte = (byte)(highestInt >>> (8 * j)); - if (trailingZeroBytesDone || (thisByte != 0)) - { - trailingZeroBytesDone = true; - temp[barrI++] = thisByte; - } - } - - int barrLen = 8 * (usedLen - 1) + barrI; - byte[] barr = new byte[barrLen]; - for (int j = 0; j < barrI; j++) - { - barr[j] = temp[j]; - } - // Highest value int is done now - - for (int iarrJ = usedLen - 2; iarrJ >= 0; iarrJ--) - { - long mi = m_ints[iarrJ]; - for (int j = 7; j >= 0; j--) - { - barr[barrI++] = (byte)(mi >>> (8 * j)); - } - } - return new BigInteger(1, barr); - } - -// private static long shiftUp(long[] x, int xOff, int count) -// { -// long prev = 0; -// for (int i = 0; i < count; ++i) -// { -// long next = x[xOff + i]; -// x[xOff + i] = (next << 1) | prev; -// prev = next >>> 63; -// } -// return prev; -// } - - private static long shiftUp(long[] x, int xOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = x[xOff + i]; - x[xOff + i] = (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - private static long shiftUp(long[] x, int xOff, long[] z, int zOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = x[xOff + i]; - z[zOff + i] = (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - public LongArray addOne() - { - if (m_ints.length == 0) - { - return new LongArray(new long[]{ 1L }); - } - - int resultLen = Math.max(1, getUsedLength()); - long[] ints = resizedInts(resultLen); - ints[0] ^= 1L; - return new LongArray(ints); - } - -// private void addShiftedByBits(LongArray other, int bits) -// { -// int words = bits >>> 6; -// int shift = bits & 0x3F; -// -// if (shift == 0) -// { -// addShiftedByWords(other, words); -// return; -// } -// -// int otherUsedLen = other.getUsedLength(); -// if (otherUsedLen == 0) -// { -// return; -// } -// -// int minLen = otherUsedLen + words + 1; -// if (minLen > m_ints.length) -// { -// m_ints = resizedInts(minLen); -// } -// -// long carry = addShiftedByBits(m_ints, words, other.m_ints, 0, otherUsedLen, shift); -// m_ints[otherUsedLen + words] ^= carry; -// } - - private void addShiftedByBitsSafe(LongArray other, int otherDegree, int bits) - { - int otherLen = (otherDegree + 63) >>> 6; - - int words = bits >>> 6; - int shift = bits & 0x3F; - - if (shift == 0) - { - add(m_ints, words, other.m_ints, 0, otherLen); - return; - } - - long carry = addShiftedUp(m_ints, words, other.m_ints, 0, otherLen, shift); - if (carry != 0L) - { - m_ints[otherLen + words] ^= carry; - } - } - - private static long addShiftedUp(long[] x, int xOff, long[] y, int yOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = y[yOff + i]; - x[xOff + i] ^= (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - private static long addShiftedDown(long[] x, int xOff, long[] y, int yOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - int i = count; - while (--i >= 0) - { - long next = y[yOff + i]; - x[xOff + i] ^= (next >>> shift) | prev; - prev = next << shiftInv; - } - return prev; - } - - public void addShiftedByWords(LongArray other, int words) - { - int otherUsedLen = other.getUsedLength(); - if (otherUsedLen == 0) - { - return; - } - - int minLen = otherUsedLen + words; - if (minLen > m_ints.length) - { - m_ints = resizedInts(minLen); - } - - add(m_ints, words, other.m_ints, 0, otherUsedLen); - } - - private static void add(long[] x, int xOff, long[] y, int yOff, int count) - { - for (int i = 0; i < count; ++i) - { - x[xOff + i] ^= y[yOff + i]; - } - } - - private static void add(long[] x, int xOff, long[] y, int yOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = x[xOff + i] ^ y[yOff + i]; - } - } - - private static void addBoth(long[] x, int xOff, long[] y1, int y1Off, long[] y2, int y2Off, int count) - { - for (int i = 0; i < count; ++i) - { - x[xOff + i] ^= y1[y1Off + i] ^ y2[y2Off + i]; - } - } - - private static void distribute(long[] x, int src, int dst1, int dst2, int count) - { - for (int i = 0; i < count; ++i) - { - long v = x[src + i]; - x[dst1 + i] ^= v; - x[dst2 + i] ^= v; - } - } - - public int getLength() - { - return m_ints.length; - } - - private static void flipWord(long[] buf, int off, int bit, long word) - { - int n = off + (bit >>> 6); - int shift = bit & 0x3F; - if (shift == 0) - { - buf[n] ^= word; - } - else - { - buf[n] ^= word << shift; - word >>>= (64 - shift); - if (word != 0) - { - buf[++n] ^= word; - } - } - } - -// private static long getWord(long[] buf, int off, int len, int bit) -// { -// int n = off + (bit >>> 6); -// int shift = bit & 0x3F; -// if (shift == 0) -// { -// return buf[n]; -// } -// long result = buf[n] >>> shift; -// if (++n < len) -// { -// result |= buf[n] << (64 - shift); -// } -// return result; -// } - - public boolean testBitZero() - { - return m_ints.length > 0 && (m_ints[0] & 1L) != 0; - } - - private static boolean testBit(long[] buf, int off, int n) - { - // theInt = n / 64 - int theInt = n >>> 6; - // theBit = n % 64 - int theBit = n & 0x3F; - long tester = 1L << theBit; - return (buf[off + theInt] & tester) != 0; - } - - private static void flipBit(long[] buf, int off, int n) - { - // theInt = n / 64 - int theInt = n >>> 6; - // theBit = n % 64 - int theBit = n & 0x3F; - long flipper = 1L << theBit; - buf[off + theInt] ^= flipper; - } - -// private static void setBit(long[] buf, int off, int n) -// { -// // theInt = n / 64 -// int theInt = n >>> 6; -// // theBit = n % 64 -// int theBit = n & 0x3F; -// long setter = 1L << theBit; -// buf[off + theInt] |= setter; -// } -// -// private static void clearBit(long[] buf, int off, int n) -// { -// // theInt = n / 64 -// int theInt = n >>> 6; -// // theBit = n % 64 -// int theBit = n & 0x3F; -// long setter = 1L << theBit; -// buf[off + theInt] &= ~setter; -// } - - private static void multiplyWord(long a, long[] b, int bLen, long[] c, int cOff) - { - if ((a & 1L) != 0L) - { - add(c, cOff, b, 0, bLen); - } - int k = 1; - while ((a >>>= 1) != 0) - { - if ((a & 1L) != 0L) - { - long carry = addShiftedUp(c, cOff, b, 0, bLen, k); - if (carry != 0) - { - c[cOff + bLen] ^= carry; - } - } - ++k; - } - } - - public LongArray modMultiplyLD(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - /* - * Determine if B will get bigger during shifting - */ - int bMax = (bDeg + 7 + 63) >>> 6; - - /* - * Lookup table for the offset of each B in the tables - */ - int[] ti = new int[16]; - - /* - * Precompute table of all 4-bit products of B - */ - long[] T0 = new long[bMax << 4]; - int tOff = bMax; - ti[1] = tOff; - System.arraycopy(B.m_ints, 0, T0, tOff, bLen); - for (int i = 2; i < 16; ++i) - { - ti[i] = (tOff += bMax); - if ((i & 1) == 0) - { - shiftUp(T0, tOff >>> 1, T0, tOff, bMax, 1); - } - else - { - add(T0, bMax, T0, tOff - bMax, T0, tOff, bMax); - } - } - - /* - * Second table with all 4-bit products of B shifted 4 bits - */ - long[] T1 = new long[T0.length]; - shiftUp(T0, 0, T1, 0, T0.length, 4); -// shiftUp(T0, bMax, T1, bMax, tOff, 4); - - long[] a = A.m_ints; - long[] c = new long[cLen]; - - int MASK = 0xF; - - /* - * Lopez-Dahab algorithm - */ - - for (int k = 56; k >= 0; k -= 8) - { - for (int j = 1; j < aLen; j += 2) - { - int aVal = (int)(a[j] >>> k); - int u = aVal & MASK; - int v = (aVal >>> 4) & MASK; - addBoth(c, j - 1, T0, ti[u], T1, ti[v], bMax); - } - shiftUp(c, 0, cLen, 8); - } - - for (int k = 56; k >= 0; k -= 8) - { - for (int j = 0; j < aLen; j += 2) - { - int aVal = (int)(a[j] >>> k); - int u = aVal & MASK; - int v = (aVal >>> 4) & MASK; - addBoth(c, j, T0, ti[u], T1, ti[v], bMax); - } - if (k > 0) - { - shiftUp(c, 0, cLen, 8); - } - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - public LongArray modMultiply(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - /* - * Determine if B will get bigger during shifting - */ - int bMax = (bDeg + 7 + 63) >>> 6; - - /* - * Lookup table for the offset of each B in the tables - */ - int[] ti = new int[16]; - - /* - * Precompute table of all 4-bit products of B - */ - long[] T0 = new long[bMax << 4]; - int tOff = bMax; - ti[1] = tOff; - System.arraycopy(B.m_ints, 0, T0, tOff, bLen); - for (int i = 2; i < 16; ++i) - { - ti[i] = (tOff += bMax); - if ((i & 1) == 0) - { - shiftUp(T0, tOff >>> 1, T0, tOff, bMax, 1); - } - else - { - add(T0, bMax, T0, tOff - bMax, T0, tOff, bMax); - } - } - - /* - * Second table with all 4-bit products of B shifted 4 bits - */ - long[] T1 = new long[T0.length]; - shiftUp(T0, 0, T1, 0, T0.length, 4); -// shiftUp(T0, bMax, T1, bMax, tOff, 4); - - long[] a = A.m_ints; - long[] c = new long[cLen << 3]; - - int MASK = 0xF; - - /* - * Lopez-Dahab (Modified) algorithm - */ - - for (int aPos = 0; aPos < aLen; ++aPos) - { - long aVal = a[aPos]; - int cOff = aPos; - for (;;) - { - int u = (int)aVal & MASK; - aVal >>>= 4; - int v = (int)aVal & MASK; - addBoth(c, cOff, T0, ti[u], T1, ti[v], bMax); - if ((aVal >>>= 4) == 0L) - { - break; - } - cOff += cLen; - } - } - - int cOff = c.length; - while ((cOff -= cLen) != 0) - { - addShiftedUp(c, cOff - cLen, c, cOff, cLen, 8); - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - public LongArray modMultiplyAlt(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - // NOTE: This works, but is slower than width 4 processing -// if (aLen == 2) -// { -// /* -// * Use common-multiplicand optimization to save ~1/4 of the adds -// */ -// long a1 = A.m_ints[0], a2 = A.m_ints[1]; -// long aa = a1 & a2; a1 ^= aa; a2 ^= aa; -// -// long[] b = B.m_ints; -// long[] c = new long[cLen]; -// multiplyWord(aa, b, bLen, c, 1); -// add(c, 0, c, 1, cLen - 1); -// multiplyWord(a1, b, bLen, c, 0); -// multiplyWord(a2, b, bLen, c, 1); -// -// /* -// * Reduce the raw answer against the reduction coefficients -// */ -// return reduceResult(c, 0, cLen, m, ks); -// } - - /* - * Determine the parameters of the interleaved window algorithm: the 'width' in bits to - * process together, the number of evaluation 'positions' implied by that width, and the - * 'top' position at which the regular window algorithm stops. - */ - int width, positions, top, banks; - - // NOTE: width 4 is the fastest over the entire range of sizes used in current crypto -// width = 1; positions = 64; top = 64; banks = 4; -// width = 2; positions = 32; top = 64; banks = 4; -// width = 3; positions = 21; top = 63; banks = 3; - width = 4; positions = 16; top = 64; banks = 8; -// width = 5; positions = 13; top = 65; banks = 7; -// width = 7; positions = 9; top = 63; banks = 9; -// width = 8; positions = 8; top = 64; banks = 8; - - /* - * Determine if B will get bigger during shifting - */ - int shifts = top < 64 ? positions : positions - 1; - int bMax = (bDeg + shifts + 63) >>> 6; - - int bTotal = bMax * banks, stride = width * banks; - - /* - * Create a single temporary buffer, with an offset table to find the positions of things in it - */ - int[] ci = new int[1 << width]; - int cTotal = aLen; - { - ci[0] = cTotal; - cTotal += bTotal; - ci[1] = cTotal; - for (int i = 2; i < ci.length; ++i) - { - cTotal += cLen; - ci[i] = cTotal; - } - cTotal += cLen; - } - // NOTE: Provide a safe dump for "high zeroes" since we are adding 'bMax' and not 'bLen' - ++cTotal; - - long[] c = new long[cTotal]; - - // Prepare A in interleaved form, according to the chosen width - interleave(A.m_ints, 0, c, 0, aLen, width); - - // Make a working copy of B, since we will be shifting it - { - int bOff = aLen; - System.arraycopy(B.m_ints, 0, c, bOff, bLen); - for (int bank = 1; bank < banks; ++bank) - { - shiftUp(c, aLen, c, bOff += bMax, bMax, bank); - } - } - - /* - * The main loop analyzes the interleaved windows in A, and for each non-zero window - * a single word-array XOR is performed to a carefully selected slice of 'c'. The loop is - * breadth-first, checking the lowest window in each word, then looping again for the - * next higher window position. - */ - int MASK = (1 << width) - 1; - - int k = 0; - for (;;) - { - int aPos = 0; - do - { - long aVal = c[aPos] >>> k; - int bank = 0, bOff = aLen; - for (;;) - { - int index = (int)(aVal) & MASK; - if (index != 0) - { - /* - * Add to a 'c' buffer based on the bit-pattern of 'index'. Since A is in - * interleaved form, the bits represent the current B shifted by 0, 'positions', - * 'positions' * 2, ..., 'positions' * ('width' - 1) - */ - add(c, aPos + ci[index], c, bOff, bMax); - } - if (++bank == banks) - { - break; - } - bOff += bMax; - aVal >>>= width; - } - } - while (++aPos < aLen); - - if ((k += stride) >= top) - { - if (k >= 64) - { - break; - } - - /* - * Adjustment for window setups with top == 63, the final bit (if any) is processed - * as the top-bit of a window - */ - k = 64 - width; - MASK &= MASK << (top - k); - } - - /* - * After each position has been checked for all words of A, B is shifted up 1 place - */ - shiftUp(c, aLen, bTotal, banks); - } - - int ciPos = ci.length; - while (--ciPos > 1) - { - if ((ciPos & 1L) == 0L) - { - /* - * For even numbers, shift contents and add to the half-position - */ - addShiftedUp(c, ci[ciPos >>> 1], c, ci[ciPos], cLen, positions); - } - else - { - /* - * For odd numbers, 'distribute' contents to the result and the next-lowest position - */ - distribute(c, ci[ciPos], ci[ciPos - 1], ci[1], cLen); - } - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, ci[1], cLen, m, ks); - } - - private static LongArray reduceResult(long[] buf, int off, int len, int m, int[] ks) - { - int rLen = reduceInPlace(buf, off, len, m, ks); - return new LongArray(buf, off, rLen); - } - -// private static void deInterleave(long[] x, int xOff, long[] z, int zOff, int count, int rounds) -// { -// for (int i = 0; i < count; ++i) -// { -// z[zOff + i] = deInterleave(x[zOff + i], rounds); -// } -// } -// -// private static long deInterleave(long x, int rounds) -// { -// while (--rounds >= 0) -// { -// x = deInterleave32(x & DEINTERLEAVE_MASK) | (deInterleave32((x >>> 1) & DEINTERLEAVE_MASK) << 32); -// } -// return x; -// } -// -// private static long deInterleave32(long x) -// { -// x = (x | (x >>> 1)) & 0x3333333333333333L; -// x = (x | (x >>> 2)) & 0x0F0F0F0F0F0F0F0FL; -// x = (x | (x >>> 4)) & 0x00FF00FF00FF00FFL; -// x = (x | (x >>> 8)) & 0x0000FFFF0000FFFFL; -// x = (x | (x >>> 16)) & 0x00000000FFFFFFFFL; -// return x; -// } - - private static int reduceInPlace(long[] buf, int off, int len, int m, int[] ks) - { - int mLen = (m + 63) >>> 6; - if (len < mLen) - { - return len; - } - - int numBits = Math.min(len << 6, (m << 1) - 1); // TODO use actual degree? - int excessBits = (len << 6) - numBits; - while (excessBits >= 64) - { - --len; - excessBits -= 64; - } - - int kLen = ks.length, kMax = ks[kLen - 1], kNext = kLen > 1 ? ks[kLen - 2] : 0; - int wordWiseLimit = Math.max(m, kMax + 64); - int vectorableWords = (excessBits + Math.min(numBits - wordWiseLimit, m - kNext)) >> 6; - if (vectorableWords > 1) - { - int vectorWiseWords = len - vectorableWords; - reduceVectorWise(buf, off, len, vectorWiseWords, m, ks); - while (len > vectorWiseWords) - { - buf[off + --len] = 0L; - } - numBits = vectorWiseWords << 6; - } - - if (numBits > wordWiseLimit) - { - reduceWordWise(buf, off, len, wordWiseLimit, m, ks); - numBits = wordWiseLimit; - } - - if (numBits > m) - { - reduceBitWise(buf, off, numBits, m, ks); - } - - return mLen; - } - - private static void reduceBitWise(long[] buf, int off, int bitlength, int m, int[] ks) - { - while (--bitlength >= m) - { - if (testBit(buf, off, bitlength)) - { - reduceBit(buf, off, bitlength, m, ks); - } - } - } - - private static void reduceBit(long[] buf, int off, int bit, int m, int[] ks) - { - flipBit(buf, off, bit); - int base = bit - m; - int j = ks.length; - while (--j >= 0) - { - flipBit(buf, off, ks[j] + base); - } - flipBit(buf, off, base); - } - - private static void reduceWordWise(long[] buf, int off, int len, int toBit, int m, int[] ks) - { - int toPos = toBit >>> 6; - - while (--len > toPos) - { - long word = buf[off + len]; - if (word != 0) - { - buf[off + len] = 0; - reduceWord(buf, off, (len << 6), word, m, ks); - } - } - - int partial = toBit & 0x3F; - long word = buf[off + toPos] >>> partial; - if (word != 0) - { - buf[off + toPos] ^= word << partial; - reduceWord(buf, off, toBit, word, m, ks); - } - } - - private static void reduceWord(long[] buf, int off, int bit, long word, int m, int[] ks) - { - int offset = bit - m; - int j = ks.length; - while (--j >= 0) - { - flipWord(buf, off, offset + ks[j], word); - } - flipWord(buf, off, offset, word); - } - - private static void reduceVectorWise(long[] buf, int off, int len, int words, int m, int[] ks) - { - /* - * NOTE: It's important we go from highest coefficient to lowest, because for the highest - * one (only) we allow the ranges to partially overlap, and therefore any changes must take - * effect for the subsequent lower coefficients. - */ - int baseBit = (words << 6) - m; - int j = ks.length; - while (--j >= 0) - { - flipVector(buf, off, buf, off + words, len - words, baseBit + ks[j]); - } - flipVector(buf, off, buf, off + words, len - words, baseBit); - } - - private static void flipVector(long[] x, int xOff, long[] y, int yOff, int yLen, int bits) - { - xOff += bits >>> 6; - bits &= 0x3F; - - if (bits == 0) - { - add(x, xOff, y, yOff, yLen); - } - else - { - long carry = addShiftedDown(x, xOff + 1, y, yOff, yLen, 64 - bits); - x[xOff] ^= carry; - } - } - - public LongArray modSquare(int m, int[] ks) - { - int len = getUsedLength(); - if (len == 0) - { - return this; - } - - int _2len = len << 1; - long[] r = new long[_2len]; - - int pos = 0; - while (pos < _2len) - { - long mi = m_ints[pos >>> 1]; - r[pos++] = interleave2_32to64((int)mi); - r[pos++] = interleave2_32to64((int)(mi >>> 32)); - } - - return new LongArray(r, 0, reduceInPlace(r, 0, r.length, m, ks)); - } - -// private LongArray modSquareN(int n, int m, int[] ks) -// { -// int len = getUsedLength(); -// if (len == 0) -// { -// return this; -// } -// -// int mLen = (m + 63) >>> 6; -// long[] r = new long[mLen << 1]; -// System.arraycopy(m_ints, 0, r, 0, len); -// -// while (--n >= 0) -// { -// squareInPlace(r, len, m, ks); -// len = reduceInPlace(r, 0, r.length, m, ks); -// } -// -// return new LongArray(r, 0, len); -// } -// -// private static void squareInPlace(long[] x, int xLen, int m, int[] ks) -// { -// int pos = xLen << 1; -// while (--xLen >= 0) -// { -// long xVal = x[xLen]; -// x[--pos] = interleave2_32to64((int)(xVal >>> 32)); -// x[--pos] = interleave2_32to64((int)xVal); -// } -// } - - private static void interleave(long[] x, int xOff, long[] z, int zOff, int count, int width) - { - switch (width) - { - case 3: - interleave3(x, xOff, z, zOff, count); - break; - case 5: - interleave5(x, xOff, z, zOff, count); - break; - case 7: - interleave7(x, xOff, z, zOff, count); - break; - default: - interleave2_n(x, xOff, z, zOff, count, bitLengths[width] - 1); - break; - } - } - - private static void interleave3(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave3(x[xOff + i]); - } - } - - private static long interleave3(long x) - { - long z = x & (1L << 63); - return z - | interleave3_21to63((int)x & 0x1FFFFF) - | interleave3_21to63((int)(x >>> 21) & 0x1FFFFF) << 1 - | interleave3_21to63((int)(x >>> 42) & 0x1FFFFF) << 2; - -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 63) -// { -// String sz2 = Long.toBinaryString(z); -// return z; -// } -// if ((xPos += 21) >= 63) -// { -// xPos = ++wPos; -// } -// } - } - - private static long interleave3_21to63(int x) - { - int r00 = INTERLEAVE3_TABLE[x & 0x7F]; - int r21 = INTERLEAVE3_TABLE[(x >>> 7) & 0x7F]; - int r42 = INTERLEAVE3_TABLE[x >>> 14]; - return (r42 & 0xFFFFFFFFL) << 42 | (r21 & 0xFFFFFFFFL) << 21 | (r00 & 0xFFFFFFFFL); - } - - private static void interleave5(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave5(x[xOff + i]); - } - } - - private static long interleave5(long x) - { - return interleave3_13to65((int)x & 0x1FFF) - | interleave3_13to65((int)(x >>> 13) & 0x1FFF) << 1 - | interleave3_13to65((int)(x >>> 26) & 0x1FFF) << 2 - | interleave3_13to65((int)(x >>> 39) & 0x1FFF) << 3 - | interleave3_13to65((int)(x >>> 52) & 0x1FFF) << 4; - -// long z = 0; -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 64) -// { -// return z; -// } -// if ((xPos += 13) >= 64) -// { -// xPos = ++wPos; -// } -// } - } - - private static long interleave3_13to65(int x) - { - int r00 = INTERLEAVE5_TABLE[x & 0x7F]; - int r35 = INTERLEAVE5_TABLE[x >>> 7]; - return (r35 & 0xFFFFFFFFL) << 35 | (r00 & 0xFFFFFFFFL); - } - - private static void interleave7(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave7(x[xOff + i]); - } - } - - private static long interleave7(long x) - { - long z = x & (1L << 63); - return z - | INTERLEAVE7_TABLE[(int)x & 0x1FF] - | INTERLEAVE7_TABLE[(int)(x >>> 9) & 0x1FF] << 1 - | INTERLEAVE7_TABLE[(int)(x >>> 18) & 0x1FF] << 2 - | INTERLEAVE7_TABLE[(int)(x >>> 27) & 0x1FF] << 3 - | INTERLEAVE7_TABLE[(int)(x >>> 36) & 0x1FF] << 4 - | INTERLEAVE7_TABLE[(int)(x >>> 45) & 0x1FF] << 5 - | INTERLEAVE7_TABLE[(int)(x >>> 54) & 0x1FF] << 6; - -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 63) -// { -// return z; -// } -// if ((xPos += 9) >= 63) -// { -// xPos = ++wPos; -// } -// } - } - - private static void interleave2_n(long[] x, int xOff, long[] z, int zOff, int count, int rounds) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave2_n(x[xOff + i], rounds); - } - } - - private static long interleave2_n(long x, int rounds) - { - while (rounds > 1) - { - rounds -= 2; - x = interleave4_16to64((int)x & 0xFFFF) - | interleave4_16to64((int)(x >>> 16) & 0xFFFF) << 1 - | interleave4_16to64((int)(x >>> 32) & 0xFFFF) << 2 - | interleave4_16to64((int)(x >>> 48) & 0xFFFF) << 3; - } - if (rounds > 0) - { - x = interleave2_32to64((int)x) | interleave2_32to64((int)(x >>> 32)) << 1; - } - return x; - } - - private static long interleave4_16to64(int x) - { - int r00 = INTERLEAVE4_TABLE[x & 0xFF]; - int r32 = INTERLEAVE4_TABLE[x >>> 8]; - return (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } - - private static long interleave2_32to64(int x) - { - int r00 = INTERLEAVE2_TABLE[x & 0xFF] | INTERLEAVE2_TABLE[(x >>> 8) & 0xFF] << 16; - int r32 = INTERLEAVE2_TABLE[(x >>> 16) & 0xFF] | INTERLEAVE2_TABLE[x >>> 24] << 16; - return (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } - -// private static LongArray expItohTsujii2(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t3 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// if ((numTerms & 1) != 0) -// { -// t3 = t3.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms >>>= 1; scale <<= 1; -// } -// -// return t3.modMultiply(t1, m, ks); -// } -// -// private static LongArray expItohTsujii23(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t3 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// boolean m03 = numTerms % 3 == 0; -// boolean m14 = !m03 && (numTerms & 1) != 0; -// -// if (m14) -// { -// t3 = t3.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// if (m03) -// { -// t2 = t2.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms /= 3; scale *= 3; -// } -// else -// { -// numTerms >>>= 1; scale <<= 1; -// } -// } -// -// return t3.modMultiply(t1, m, ks); -// } -// -// private static LongArray expItohTsujii235(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t4 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// if (numTerms % 5 == 0) -// { -//// t1 = expItohTsujii23(t1, 5, m, ks); -// -// LongArray t3 = t1; -// t1 = t1.modSquareN(scale, m, ks); -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// t2 = t1.modSquareN(scale << 1, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// t1 = t1.modMultiply(t3, m, ks); -// -// numTerms /= 5; scale *= 5; -// continue; -// } -// -// boolean m03 = numTerms % 3 == 0; -// boolean m14 = !m03 && (numTerms & 1) != 0; -// -// if (m14) -// { -// t4 = t4.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// if (m03) -// { -// t2 = t2.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms /= 3; scale *= 3; -// } -// else -// { -// numTerms >>>= 1; scale <<= 1; -// } -// } -// -// return t4.modMultiply(t1, m, ks); -// } - - public LongArray modInverse(int m, int[] ks) - { - /* - * Fermat's Little Theorem - */ -// LongArray A = this; -// LongArray B = A.modSquare(m, ks); -// LongArray R0 = B, R1 = B; -// for (int i = 2; i < m; ++i) -// { -// R1 = R1.modSquare(m, ks); -// R0 = R0.modMultiply(R1, m, ks); -// } -// -// return R0; - - /* - * Itoh-Tsujii - */ -// LongArray B = modSquare(m, ks); -// switch (m) -// { -// case 409: -// return expItohTsujii23(B, m - 1, m, ks); -// case 571: -// return expItohTsujii235(B, m - 1, m, ks); -// case 163: -// case 233: -// case 283: -// default: -// return expItohTsujii2(B, m - 1, m, ks); -// } - - /* - * Inversion in F2m using the extended Euclidean algorithm - * - * Input: A nonzero polynomial a(z) of degree at most m-1 - * Output: a(z)^(-1) mod f(z) - */ - int uzDegree = degree(); - if (uzDegree == 1) - { - return this; - } - - // u(z) := a(z) - LongArray uz = (LongArray)clone(); - - int t = (m + 63) >>> 6; - - // v(z) := f(z) - LongArray vz = new LongArray(t); - reduceBit(vz.m_ints, 0, m, m, ks); - - // g1(z) := 1, g2(z) := 0 - LongArray g1z = new LongArray(t); - g1z.m_ints[0] = 1L; - LongArray g2z = new LongArray(t); - - int[] uvDeg = new int[]{ uzDegree, m + 1 }; - LongArray[] uv = new LongArray[]{ uz, vz }; - - int[] ggDeg = new int[]{ 1, 0 }; - LongArray[] gg = new LongArray[]{ g1z, g2z }; - - int b = 1; - int duv1 = uvDeg[b]; - int dgg1 = ggDeg[b]; - int j = duv1 - uvDeg[1 - b]; - - for (;;) - { - if (j < 0) - { - j = -j; - uvDeg[b] = duv1; - ggDeg[b] = dgg1; - b = 1 - b; - duv1 = uvDeg[b]; - dgg1 = ggDeg[b]; - } - - uv[b].addShiftedByBitsSafe(uv[1 - b], uvDeg[1 - b], j); - - int duv2 = uv[b].degreeFrom(duv1); - if (duv2 == 0) - { - return gg[1 - b]; - } - - { - int dgg2 = ggDeg[1 - b]; - gg[b].addShiftedByBitsSafe(gg[1 - b], dgg2, j); - dgg2 += j; - - if (dgg2 > dgg1) - { - dgg1 = dgg2; - } - else if (dgg2 == dgg1) - { - dgg1 = gg[b].degreeFrom(dgg1); - } - } - - j += (duv2 - duv1); - duv1 = duv2; - } - } - - public boolean equals(Object o) - { - if (!(o instanceof LongArray)) - { - return false; - } - LongArray other = (LongArray) o; - int usedLen = getUsedLength(); - if (other.getUsedLength() != usedLen) - { - return false; - } - for (int i = 0; i < usedLen; i++) - { - if (m_ints[i] != other.m_ints[i]) - { - return false; - } - } - return true; - } - - public int hashCode() - { - int usedLen = getUsedLength(); - int hash = 1; - for (int i = 0; i < usedLen; i++) - { - long mi = m_ints[i]; - hash *= 31; - hash ^= (int)mi; - hash *= 31; - hash ^= (int)(mi >>> 32); - } - return hash; - } - - public Object clone() - { - return new LongArray(Arrays.clone(m_ints)); - } - - public String toString() - { - int i = getUsedLength(); - if (i == 0) - { - return "0"; - } -/* - StringBuffer sb = new StringBuffer(Long.toBinaryString(m_ints[--i])); - while (--i >= 0) - { - String s = Long.toBinaryString(m_ints[i]); - - // Add leading zeroes, except for highest significant word - int len = s.length(); - if (len < 64) - { - sb.append(ZEROES.substring(len)); - } - - sb.append(s); - } - return sb.toString(); -*/ - return "not supported"; - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Integers.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Integers.java deleted file mode 100644 index 3ac592d3c..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Integers.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Integers -{ - public static Integer valueOf(int value) - { - return new Integer(value); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Selector.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Selector.java deleted file mode 100644 index a72cdaa20..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Selector.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.util; - -public interface Selector -{ - boolean match(Object obj); - - Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Shorts.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Shorts.java deleted file mode 100644 index 66a992f77..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/Shorts.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Shorts -{ - public static Short valueOf(short value) - { - return new Short(value); - } -} diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/test/SimpleTest.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/test/SimpleTest.java deleted file mode 100644 index a61e3bdd8..000000000 --- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/util/test/SimpleTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.util.test; - -import java.io.PrintStream; - -import org.spongycastle.util.Arrays; - -public abstract class SimpleTest - implements Test -{ - public abstract String getName(); - - private TestResult success() - { - return SimpleTestResult.successful(this, "Okay"); - } - - protected void fail( - String message) - { - throw new TestFailedException(SimpleTestResult.failed(this, message)); - } - - protected void fail( - String message, - Throwable throwable) - { - throw new TestFailedException(SimpleTestResult.failed(this, message, throwable)); - } - - protected void fail( - String message, - Object expected, - Object found) - { - throw new TestFailedException(SimpleTestResult.failed(this, message, expected, found)); - } - - protected boolean areEqual( - byte[] a, - byte[] b) - { - return Arrays.areEqual(a, b); - } - - public TestResult perform() - { - try - { - performTest(); - - return success(); - } - catch (TestFailedException e) - { - return e.getResult(); - } - catch (Exception e) - { - return SimpleTestResult.failed(this, "Exception: " + e, e); - } - } - - protected static void runTest( - Test test) - { - runTest(test, System.out); - } - - protected static void runTest( - Test test, - PrintStream out) - { - TestResult result = test.perform(); - - out.println(result.toString()); - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - } - - public abstract void performTest() - throws Exception; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/LICENSE.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/LICENSE.java deleted file mode 100644 index 835294251..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/LICENSE.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle; - -/** - * The Bouncy Castle License - * - * Copyright (c) 2000-2013 The Legion Of The Bouncy Castle (http://www.bouncycastle.org) - *

    - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software - * and associated documentation files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - *

    - * The above copyright notice and this permission notice shall be included in all copies or substantial - * portions of the Software. - *

    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -public class LICENSE -{ - public static String licenseText = - "Copyright (c) 2000-2013 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) " - + System.getProperty("line.separator") - + System.getProperty("line.separator") - + "Permission is hereby granted, free of charge, to any person obtaining a copy of this software " - + System.getProperty("line.separator") - + "and associated documentation files (the \"Software\"), to deal in the Software without restriction, " - + System.getProperty("line.separator") - + "including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, " - + System.getProperty("line.separator") - + "and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so," - + System.getProperty("line.separator") - + "subject to the following conditions:" - + System.getProperty("line.separator") - + System.getProperty("line.separator") - + "The above copyright notice and this permission notice shall be included in all copies or substantial" - + System.getProperty("line.separator") - + "portions of the Software." - + System.getProperty("line.separator") - + System.getProperty("line.separator") - + "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED," - + System.getProperty("line.separator") - + "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR" - + System.getProperty("line.separator") - + "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE" - + System.getProperty("line.separator") - + "LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR" - + System.getProperty("line.separator") - + "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER" - + System.getProperty("line.separator") - + "DEALINGS IN THE SOFTWARE."; - - public static void main( - String[] args) - { - System.out.println(licenseText); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ApplicationSpecificParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ApplicationSpecificParser.java deleted file mode 100644 index 5a48fbf5a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ApplicationSpecificParser.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public interface ASN1ApplicationSpecificParser - extends ASN1Encodable, InMemoryRepresentable -{ - ASN1Encodable readObject() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Boolean.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Boolean.java deleted file mode 100644 index 9a9c3a084..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Boolean.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.asn1; - -public class ASN1Boolean - extends DERBoolean -{ - public ASN1Boolean(boolean value) - { - super(value); - } - - ASN1Boolean(byte[] value) - { - super(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java deleted file mode 100644 index 92e15c08e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.asn1; - -/** - * Marker interface for CHOICE objects - if you implement this in a role your - * own object any attempt to tag the object implicitly will convert the tag to - * an explicit one as the encoding rules require. - *

    - * If you use this interface your class should also implement the getInstance - * pattern which takes a tag object and the tagging mode used. - */ -public interface ASN1Choice -{ - // marker interface -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encodable.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encodable.java deleted file mode 100644 index ec7607d5e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encodable.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.asn1; - -public interface ASN1Encodable -{ - ASN1Primitive toASN1Primitive(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1EncodableVector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1EncodableVector.java deleted file mode 100644 index 0ef3af173..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1EncodableVector.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Enumeration; -import java.util.Vector; - -public class ASN1EncodableVector -{ - Vector v = new Vector(); - - public ASN1EncodableVector() - { - } - - public void add(ASN1Encodable obj) - { - v.addElement(obj); - } - - public void addAll(ASN1EncodableVector other) - { - for (Enumeration en = other.v.elements(); en.hasMoreElements();) - { - v.addElement(en.nextElement()); - } - } - - public ASN1Encodable get(int i) - { - return (ASN1Encodable)v.elementAt(i); - } - - public int size() - { - return v.size(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encoding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encoding.java deleted file mode 100644 index 7f7178d4c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Encoding.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.asn1; - -public interface ASN1Encoding -{ - static final String DER = "DER"; - static final String DL = "DL"; - static final String BER = "BER"; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Enumerated.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Enumerated.java deleted file mode 100644 index 02d1a308c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Enumerated.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1; - -import java.math.BigInteger; - -public class ASN1Enumerated - extends DEREnumerated -{ - ASN1Enumerated(byte[] bytes) - { - super(bytes); - } - - public ASN1Enumerated(BigInteger value) - { - super(value); - } - - public ASN1Enumerated(int value) - { - super(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Exception.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Exception.java deleted file mode 100644 index 20c8a934c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Exception.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class ASN1Exception - extends IOException -{ - private Throwable cause; - - ASN1Exception(String message) - { - super(message); - } - - ASN1Exception(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1GeneralizedTime.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1GeneralizedTime.java deleted file mode 100644 index d507decd9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1GeneralizedTime.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Date; - -public class ASN1GeneralizedTime - extends DERGeneralizedTime -{ - ASN1GeneralizedTime(byte[] bytes) - { - super(bytes); - } - - public ASN1GeneralizedTime(Date time) - { - super(time); - } - - public ASN1GeneralizedTime(String time) - { - super(time); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Generator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Generator.java deleted file mode 100644 index c5c087f61..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Generator.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.OutputStream; - -public abstract class ASN1Generator -{ - protected OutputStream _out; - - public ASN1Generator(OutputStream out) - { - _out = out; - } - - public abstract OutputStream getRawOutputStream(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1InputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1InputStream.java deleted file mode 100644 index 19166659c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1InputStream.java +++ /dev/null @@ -1,466 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.EOFException; -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.io.Streams; - -/** - * a general purpose ASN.1 decoder - note: this class differs from the - * others in that it returns null after it has read the last object in - * the stream. If an ASN.1 NULL is encountered a DER/BER Null object is - * returned. - */ -public class ASN1InputStream - extends FilterInputStream - implements BERTags -{ - private final int limit; - private final boolean lazyEvaluate; - - private final byte[][] tmpBuffers; - - public ASN1InputStream( - InputStream is) - { - this(is, StreamUtil.findLimit(is)); - } - - /** - * Create an ASN1InputStream based on the input byte array. The length of DER objects in - * the stream is automatically limited to the length of the input array. - * - * @param input array containing ASN.1 encoded data. - */ - public ASN1InputStream( - byte[] input) - { - this(new ByteArrayInputStream(input), input.length); - } - - /** - * Create an ASN1InputStream based on the input byte array. The length of DER objects in - * the stream is automatically limited to the length of the input array. - * - * @param input array containing ASN.1 encoded data. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - byte[] input, - boolean lazyEvaluate) - { - this(new ByteArrayInputStream(input), input.length, lazyEvaluate); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit. - * - * @param input stream containing ASN.1 encoded data. - * @param limit maximum size of a DER encoded object. - */ - public ASN1InputStream( - InputStream input, - int limit) - { - this(input, limit, false); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit, and constructed - * objects such as sequences will be parsed lazily. - * - * @param input stream containing ASN.1 encoded data. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - InputStream input, - boolean lazyEvaluate) - { - this(input, StreamUtil.findLimit(input), lazyEvaluate); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit, and constructed - * objects such as sequences will be parsed lazily. - * - * @param input stream containing ASN.1 encoded data. - * @param limit maximum size of a DER encoded object. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - InputStream input, - int limit, - boolean lazyEvaluate) - { - super(input); - this.limit = limit; - this.lazyEvaluate = lazyEvaluate; - this.tmpBuffers = new byte[11][]; - } - - int getLimit() - { - return limit; - } - - protected int readLength() - throws IOException - { - return readLength(this, limit); - } - - protected void readFully( - byte[] bytes) - throws IOException - { - if (Streams.readFully(this, bytes) != bytes.length) - { - throw new EOFException("EOF encountered in middle of object"); - } - } - - /** - * build an object given its tag and the number of bytes to construct it from. - */ - protected ASN1Primitive buildObject( - int tag, - int tagNo, - int length) - throws IOException - { - boolean isConstructed = (tag & CONSTRUCTED) != 0; - - DefiniteLengthInputStream defIn = new DefiniteLengthInputStream(this, length); - - if ((tag & APPLICATION) != 0) - { - return new DERApplicationSpecific(isConstructed, tagNo, defIn.toByteArray()); - } - - if ((tag & TAGGED) != 0) - { - return new ASN1StreamParser(defIn).readTaggedObject(isConstructed, tagNo); - } - - if (isConstructed) - { - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case OCTET_STRING: - // - // yes, people actually do this... - // - ASN1EncodableVector v = buildDEREncodableVector(defIn); - ASN1OctetString[] strings = new ASN1OctetString[v.size()]; - - for (int i = 0; i != strings.length; i++) - { - strings[i] = (ASN1OctetString)v.get(i); - } - - return new BEROctetString(strings); - case SEQUENCE: - if (lazyEvaluate) - { - return new LazyEncodedSequence(defIn.toByteArray()); - } - else - { - return DERFactory.createSequence(buildDEREncodableVector(defIn)); - } - case SET: - return DERFactory.createSet(buildDEREncodableVector(defIn)); - case EXTERNAL: - return new DERExternal(buildDEREncodableVector(defIn)); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } - - return createPrimitiveDERObject(tagNo, defIn, tmpBuffers); - } - - ASN1EncodableVector buildEncodableVector() - throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - ASN1Primitive o; - - while ((o = readObject()) != null) - { - v.add(o); - } - - return v; - } - - ASN1EncodableVector buildDEREncodableVector( - DefiniteLengthInputStream dIn) throws IOException - { - return new ASN1InputStream(dIn).buildEncodableVector(); - } - - public ASN1Primitive readObject() - throws IOException - { - int tag = read(); - if (tag <= 0) - { - if (tag == 0) - { - throw new IOException("unexpected end-of-contents marker"); - } - - return null; - } - - // - // calculate tag number - // - int tagNo = readTagNumber(this, tag); - - boolean isConstructed = (tag & CONSTRUCTED) != 0; - - // - // calculate length - // - int length = readLength(); - - if (length < 0) // indefinite length method - { - if (!isConstructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - IndefiniteLengthInputStream indIn = new IndefiniteLengthInputStream(this, limit); - ASN1StreamParser sp = new ASN1StreamParser(indIn, limit); - - if ((tag & APPLICATION) != 0) - { - return new BERApplicationSpecificParser(tagNo, sp).getLoadedObject(); - } - - if ((tag & TAGGED) != 0) - { - return new BERTaggedObjectParser(true, tagNo, sp).getLoadedObject(); - } - - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case OCTET_STRING: - return new BEROctetStringParser(sp).getLoadedObject(); - case SEQUENCE: - return new BERSequenceParser(sp).getLoadedObject(); - case SET: - return new BERSetParser(sp).getLoadedObject(); - case EXTERNAL: - return new DERExternalParser(sp).getLoadedObject(); - default: - throw new IOException("unknown BER object encountered"); - } - } - else - { - try - { - return buildObject(tag, tagNo, length); - } - catch (IllegalArgumentException e) - { - throw new ASN1Exception("corrupted stream detected", e); - } - } - } - - static int readTagNumber(InputStream s, int tag) - throws IOException - { - int tagNo = tag & 0x1f; - - // - // with tagged object tag number is bottom 5 bits, or stored at the start of the content - // - if (tagNo == 0x1f) - { - tagNo = 0; - - int b = s.read(); - - // X.690-0207 8.1.2.4.2 - // "c) bits 7 to 1 of the first subsequent octet shall not all be zero." - if ((b & 0x7f) == 0) // Note: -1 will pass - { - throw new IOException("corrupted stream - invalid high tag number found"); - } - - while ((b >= 0) && ((b & 0x80) != 0)) - { - tagNo |= (b & 0x7f); - tagNo <<= 7; - b = s.read(); - } - - if (b < 0) - { - throw new EOFException("EOF found inside tag value."); - } - - tagNo |= (b & 0x7f); - } - - return tagNo; - } - - static int readLength(InputStream s, int limit) - throws IOException - { - int length = s.read(); - if (length < 0) - { - throw new EOFException("EOF found when length expected"); - } - - if (length == 0x80) - { - return -1; // indefinite-length encoding - } - - if (length > 127) - { - int size = length & 0x7f; - - // Note: The invalid long form "0xff" (see X.690 8.1.3.5c) will be caught here - if (size > 4) - { - throw new IOException("DER length more than 4 bytes: " + size); - } - - length = 0; - for (int i = 0; i < size; i++) - { - int next = s.read(); - - if (next < 0) - { - throw new EOFException("EOF found reading length"); - } - - length = (length << 8) + next; - } - - if (length < 0) - { - throw new IOException("corrupted stream - negative length found"); - } - - if (length >= limit) // after all we must have read at least 1 byte - { - throw new IOException("corrupted stream - out of bounds length found"); - } - } - - return length; - } - - private static byte[] getBuffer(DefiniteLengthInputStream defIn, byte[][] tmpBuffers) - throws IOException - { - int len = defIn.getRemaining(); - if (defIn.getRemaining() < tmpBuffers.length) - { - byte[] buf = tmpBuffers[len]; - - if (buf == null) - { - buf = tmpBuffers[len] = new byte[len]; - } - - Streams.readFully(defIn, buf); - - return buf; - } - else - { - return defIn.toByteArray(); - } - } - - private static char[] getBMPCharBuffer(DefiniteLengthInputStream defIn) - throws IOException - { - int len = defIn.getRemaining() / 2; - char[] buf = new char[len]; - int totalRead = 0; - while (totalRead < len) - { - int ch1 = defIn.read(); - if (ch1 < 0) - { - break; - } - int ch2 = defIn.read(); - if (ch2 < 0) - { - break; - } - buf[totalRead++] = (char)((ch1 << 8) | (ch2 & 0xff)); - } - - return buf; - } - - static ASN1Primitive createPrimitiveDERObject( - int tagNo, - DefiniteLengthInputStream defIn, - byte[][] tmpBuffers) - throws IOException - { - switch (tagNo) - { - case BIT_STRING: - return DERBitString.fromInputStream(defIn.getRemaining(), defIn); - case BMP_STRING: - return new DERBMPString(getBMPCharBuffer(defIn)); - case BOOLEAN: - return ASN1Boolean.fromOctetString(getBuffer(defIn, tmpBuffers)); - case ENUMERATED: - return ASN1Enumerated.fromOctetString(getBuffer(defIn, tmpBuffers)); - case GENERALIZED_TIME: - return new ASN1GeneralizedTime(defIn.toByteArray()); - case GENERAL_STRING: - return new DERGeneralString(defIn.toByteArray()); - case IA5_STRING: - return new DERIA5String(defIn.toByteArray()); - case INTEGER: - return new ASN1Integer(defIn.toByteArray()); - case NULL: - return DERNull.INSTANCE; // actual content is ignored (enforce 0 length?) - case NUMERIC_STRING: - return new DERNumericString(defIn.toByteArray()); - case OBJECT_IDENTIFIER: - return ASN1ObjectIdentifier.fromOctetString(getBuffer(defIn, tmpBuffers)); - case OCTET_STRING: - return new DEROctetString(defIn.toByteArray()); - case PRINTABLE_STRING: - return new DERPrintableString(defIn.toByteArray()); - case T61_STRING: - return new DERT61String(defIn.toByteArray()); - case UNIVERSAL_STRING: - return new DERUniversalString(defIn.toByteArray()); - case UTC_TIME: - return new ASN1UTCTime(defIn.toByteArray()); - case UTF8_STRING: - return new DERUTF8String(defIn.toByteArray()); - case VISIBLE_STRING: - return new DERVisibleString(defIn.toByteArray()); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Integer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Integer.java deleted file mode 100644 index d6820c345..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Integer.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1; - -import java.math.BigInteger; - -public class ASN1Integer - extends DERInteger -{ - ASN1Integer(byte[] bytes) - { - super(bytes); - } - - public ASN1Integer(BigInteger value) - { - super(value); - } - - public ASN1Integer(long value) - { - super(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Null.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Null.java deleted file mode 100644 index 647060c1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Null.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -/** - * A NULL object. - */ -public abstract class ASN1Null - extends ASN1Primitive -{ - /** - * @deprecated use DERNull.INSTANCE - */ - public ASN1Null() - { - } - - public static ASN1Null getInstance(Object o) - { - if (o instanceof ASN1Null) - { - return (ASN1Null)o; - } - - if (o != null) - { - try - { - return ASN1Null.getInstance(ASN1Primitive.fromByteArray((byte[])o)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct NULL from byte[]: " + e.getMessage()); - } - catch (ClassCastException e) - { - throw new IllegalArgumentException("unknown object in getInstance(): " + o.getClass().getName()); - } - } - - return null; - } - - public int hashCode() - { - return -1; - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof ASN1Null)) - { - return false; - } - - return true; - } - - abstract void encode(ASN1OutputStream out) - throws IOException; - - public String toString() - { - return "NULL"; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Object.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Object.java deleted file mode 100644 index fdf0970a0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Object.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -public abstract class ASN1Object - implements ASN1Encodable -{ - /** - * Return the default BER or DER encoding for this object. - * - * @return BER/DER byte encoded object. - * @throws java.io.IOException on encoding error. - */ - public byte[] getEncoded() - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(this); - - return bOut.toByteArray(); - } - - /** - * Return either the default for "BER" or a DER encoding if "DER" is specified. - * - * @param encoding name of encoding to use. - * @return byte encoded object. - * @throws IOException on encoding error. - */ - public byte[] getEncoded( - String encoding) - throws IOException - { - if (encoding.equals(ASN1Encoding.DER)) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - - dOut.writeObject(this); - - return bOut.toByteArray(); - } - else if (encoding.equals(ASN1Encoding.DL)) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DLOutputStream dOut = new DLOutputStream(bOut); - - dOut.writeObject(this); - - return bOut.toByteArray(); - } - - return this.getEncoded(); - } - - public int hashCode() - { - return this.toASN1Primitive().hashCode(); - } - - public boolean equals( - Object o) - { - if (this == o) - { - return true; - } - - if (!(o instanceof ASN1Encodable)) - { - return false; - } - - ASN1Encodable other = (ASN1Encodable)o; - - return this.toASN1Primitive().equals(other.toASN1Primitive()); - } - - /** - * @deprecated use toASN1Primitive() - * @return the underlying primitive type. - */ - public ASN1Primitive toASN1Object() - { - return this.toASN1Primitive(); - } - - protected static boolean hasEncodedTagValue(Object obj, int tagValue) - { - return (obj instanceof byte[]) && ((byte[])obj)[0] == tagValue; - } - - public abstract ASN1Primitive toASN1Primitive(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ObjectIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ObjectIdentifier.java deleted file mode 100644 index d9c0fa9bc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ObjectIdentifier.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.asn1; - -public class ASN1ObjectIdentifier - extends DERObjectIdentifier -{ - public ASN1ObjectIdentifier(String identifier) - { - super(identifier); - } - - ASN1ObjectIdentifier(byte[] bytes) - { - super(bytes); - } - - ASN1ObjectIdentifier(ASN1ObjectIdentifier oid, String branch) - { - super(oid, branch); - } - - /** - * Return an OID that creates a branch under the current one. - * - * @param branchID node numbers for the new branch. - * @return the OID for the new created branch. - */ - public ASN1ObjectIdentifier branch(String branchID) - { - return new ASN1ObjectIdentifier(this, branchID); - } - - /** - * Return true if this oid is an extension of the passed in branch, stem. - * @param stem the arc or branch that is a possible parent. - * @return true if the branch is on the passed in stem, false otherwise. - */ - public boolean on(ASN1ObjectIdentifier stem) - { - String id = getId(), stemId = stem.getId(); - return id.length() > stemId.length() && id.charAt(stemId.length()) == '.' && id.startsWith(stemId); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetString.java deleted file mode 100644 index 1e67ad8fd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetString.java +++ /dev/null @@ -1,146 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -public abstract class ASN1OctetString - extends ASN1Primitive - implements ASN1OctetStringParser -{ - byte[] string; - - /** - * return an Octet String from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1OctetString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof ASN1OctetString) - { - return getInstance(o); - } - else - { - return BEROctetString.fromSequence(ASN1Sequence.getInstance(o)); - } - } - - /** - * return an Octet String from the given object. - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1OctetString getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1OctetString) - { - return (ASN1OctetString)obj; - } - else if (obj instanceof byte[]) - { - try - { - return ASN1OctetString.getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct OCTET STRING from byte[]: " + e.getMessage()); - } - } - else if (obj instanceof ASN1Encodable) - { - ASN1Primitive primitive = ((ASN1Encodable)obj).toASN1Primitive(); - - if (primitive instanceof ASN1OctetString) - { - return (ASN1OctetString)primitive; - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * @param string the octets making up the octet string. - */ - public ASN1OctetString( - byte[] string) - { - if (string == null) - { - throw new NullPointerException("string cannot be null"); - } - this.string = string; - } - - public InputStream getOctetStream() - { - return new ByteArrayInputStream(string); - } - - public ASN1OctetStringParser parser() - { - return this; - } - - public byte[] getOctets() - { - return string; - } - - public int hashCode() - { - return Arrays.hashCode(this.getOctets()); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof ASN1OctetString)) - { - return false; - } - - ASN1OctetString other = (ASN1OctetString)o; - - return Arrays.areEqual(string, other.string); - } - - public ASN1Primitive getLoadedObject() - { - return this.toASN1Primitive(); - } - - ASN1Primitive toDERObject() - { - return new DEROctetString(string); - } - - ASN1Primitive toDLObject() - { - return new DEROctetString(string); - } - - abstract void encode(ASN1OutputStream out) - throws IOException; - - public String toString() - { - return "#"+new String(Hex.encode(string)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetStringParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetStringParser.java deleted file mode 100644 index 6b51608ec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OctetStringParser.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.InputStream; - -public interface ASN1OctetStringParser - extends ASN1Encodable, InMemoryRepresentable -{ - public InputStream getOctetStream(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OutputStream.java deleted file mode 100644 index 8e663ac1b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1OutputStream.java +++ /dev/null @@ -1,194 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Stream that produces output based on the default encoding for the passed in objects. - */ -public class ASN1OutputStream -{ - private OutputStream os; - - public ASN1OutputStream( - OutputStream os) - { - this.os = os; - } - - void writeLength( - int length) - throws IOException - { - if (length > 127) - { - int size = 1; - int val = length; - - while ((val >>>= 8) != 0) - { - size++; - } - - write((byte)(size | 0x80)); - - for (int i = (size - 1) * 8; i >= 0; i -= 8) - { - write((byte)(length >> i)); - } - } - else - { - write((byte)length); - } - } - - void write(int b) - throws IOException - { - os.write(b); - } - - void write(byte[] bytes) - throws IOException - { - os.write(bytes); - } - - void write(byte[] bytes, int off, int len) - throws IOException - { - os.write(bytes, off, len); - } - - void writeEncoded( - int tag, - byte[] bytes) - throws IOException - { - write(tag); - writeLength(bytes.length); - write(bytes); - } - - void writeTag(int flags, int tagNo) - throws IOException - { - if (tagNo < 31) - { - write(flags | tagNo); - } - else - { - write(flags | 0x1f); - if (tagNo < 128) - { - write(tagNo); - } - else - { - byte[] stack = new byte[5]; - int pos = stack.length; - - stack[--pos] = (byte)(tagNo & 0x7F); - - do - { - tagNo >>= 7; - stack[--pos] = (byte)(tagNo & 0x7F | 0x80); - } - while (tagNo > 127); - - write(stack, pos, stack.length - pos); - } - } - } - - void writeEncoded(int flags, int tagNo, byte[] bytes) - throws IOException - { - writeTag(flags, tagNo); - writeLength(bytes.length); - write(bytes); - } - - protected void writeNull() - throws IOException - { - os.write(BERTags.NULL); - os.write(0x00); - } - - public void writeObject( - ASN1Encodable obj) - throws IOException - { - if (obj != null) - { - obj.toASN1Primitive().encode(this); - } - else - { - throw new IOException("null object detected"); - } - } - - void writeImplicitObject(ASN1Primitive obj) - throws IOException - { - if (obj != null) - { - obj.encode(new ImplicitOutputStream(os)); - } - else - { - throw new IOException("null object detected"); - } - } - - public void close() - throws IOException - { - os.close(); - } - - public void flush() - throws IOException - { - os.flush(); - } - - ASN1OutputStream getDERSubStream() - { - return new DEROutputStream(os); - } - - ASN1OutputStream getDLSubStream() - { - return new DLOutputStream(os); - } - - private class ImplicitOutputStream - extends ASN1OutputStream - { - private boolean first = true; - - public ImplicitOutputStream(OutputStream os) - { - super(os); - } - - public void write(int b) - throws IOException - { - if (first) - { - first = false; - } - else - { - super.write(b); - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ParsingException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ParsingException.java deleted file mode 100644 index 77e5cf21f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1ParsingException.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.asn1; - -public class ASN1ParsingException - extends IllegalStateException -{ - private Throwable cause; - - public ASN1ParsingException(String message) - { - super(message); - } - - public ASN1ParsingException(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Primitive.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Primitive.java deleted file mode 100644 index 230bc059b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Primitive.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public abstract class ASN1Primitive - extends ASN1Object -{ - ASN1Primitive() - { - - } - - /** - * Create a base ASN.1 object from a byte stream. - * - * @param data the byte stream to parse. - * @return the base ASN.1 object represented by the byte stream. - * @exception IOException if there is a problem parsing the data. - */ - public static ASN1Primitive fromByteArray(byte[] data) - throws IOException - { - ASN1InputStream aIn = new ASN1InputStream(data); - - try - { - return aIn.readObject(); - } - catch (ClassCastException e) - { - throw new IOException("cannot recognise object in stream"); - } - } - - public final boolean equals(Object o) - { - if (this == o) - { - return true; - } - - return (o instanceof ASN1Encodable) && asn1Equals(((ASN1Encodable)o).toASN1Primitive()); - } - - public ASN1Primitive toASN1Primitive() - { - return this; - } - - ASN1Primitive toDERObject() - { - return this; - } - - ASN1Primitive toDLObject() - { - return this; - } - - public abstract int hashCode(); - - abstract boolean isConstructed(); - - abstract int encodedLength() throws IOException; - - abstract void encode(ASN1OutputStream out) throws IOException; - - abstract boolean asn1Equals(ASN1Primitive o); -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Sequence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Sequence.java deleted file mode 100644 index b2942fb1b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Sequence.java +++ /dev/null @@ -1,323 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -public abstract class ASN1Sequence - extends ASN1Primitive -{ - protected Vector seq = new Vector(); - - /** - * return an ASN1Sequence from the given object. - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1Sequence getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1Sequence) - { - return (ASN1Sequence)obj; - } - else if (obj instanceof ASN1SequenceParser) - { - return ASN1Sequence.getInstance(((ASN1SequenceParser)obj).toASN1Primitive()); - } - else if (obj instanceof byte[]) - { - try - { - return ASN1Sequence.getInstance(fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct sequence from byte[]: " + e.getMessage()); - } - } - else if (obj instanceof ASN1Encodable) - { - ASN1Primitive primitive = ((ASN1Encodable)obj).toASN1Primitive(); - - if (primitive instanceof ASN1Sequence) - { - return (ASN1Sequence)primitive; - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - /** - * Return an ASN1 sequence from a tagged object. There is a special - * case here, if an object appears to have been explicitly tagged on - * reading but we were expecting it to be implicitly tagged in the - * normal course of events it indicates that we lost the surrounding - * sequence - so we need to add it back (this will happen if the tagged - * object is a sequence that contains other sequences). If you are - * dealing with implicitly tagged sequences you really should - * be using this method. - * - * @param obj the tagged object. - * @param explicit true if the object is meant to be explicitly tagged, - * false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1Sequence getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - if (explicit) - { - if (!obj.isExplicit()) - { - throw new IllegalArgumentException("object implicit - explicit expected."); - } - - return ASN1Sequence.getInstance(obj.getObject().toASN1Primitive()); - } - else - { - // - // constructed object which appears to be explicitly tagged - // when it should be implicit means we have to add the - // surrounding sequence. - // - if (obj.isExplicit()) - { - if (obj instanceof BERTaggedObject) - { - return new BERSequence(obj.getObject()); - } - else - { - return new DLSequence(obj.getObject()); - } - } - else - { - if (obj.getObject() instanceof ASN1Sequence) - { - return (ASN1Sequence)obj.getObject(); - } - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - /** - * create an empty sequence - */ - protected ASN1Sequence() - { - } - - /** - * create a sequence containing one object - */ - protected ASN1Sequence( - ASN1Encodable obj) - { - seq.addElement(obj); - } - - /** - * create a sequence containing a vector of objects. - */ - protected ASN1Sequence( - ASN1EncodableVector v) - { - for (int i = 0; i != v.size(); i++) - { - seq.addElement(v.get(i)); - } - } - - /** - * create a sequence containing a vector of objects. - */ - protected ASN1Sequence( - ASN1Encodable[] array) - { - for (int i = 0; i != array.length; i++) - { - seq.addElement(array[i]); - } - } - - public ASN1Encodable[] toArray() - { - ASN1Encodable[] values = new ASN1Encodable[this.size()]; - - for (int i = 0; i != this.size(); i++) - { - values[i] = this.getObjectAt(i); - } - - return values; - } - - public Enumeration getObjects() - { - return seq.elements(); - } - - public ASN1SequenceParser parser() - { - final ASN1Sequence outer = this; - - return new ASN1SequenceParser() - { - private final int max = size(); - - private int index; - - public ASN1Encodable readObject() throws IOException - { - if (index == max) - { - return null; - } - - ASN1Encodable obj = getObjectAt(index++); - if (obj instanceof ASN1Sequence) - { - return ((ASN1Sequence)obj).parser(); - } - if (obj instanceof ASN1Set) - { - return ((ASN1Set)obj).parser(); - } - - return obj; - } - - public ASN1Primitive getLoadedObject() - { - return outer; - } - - public ASN1Primitive toASN1Primitive() - { - return outer; - } - }; - } - - /** - * return the object at the sequence position indicated by index. - * - * @param index the sequence number (starting at zero) of the object - * @return the object at the sequence position indicated by index. - */ - public ASN1Encodable getObjectAt( - int index) - { - return (ASN1Encodable)seq.elementAt(index); - } - - /** - * return the number of objects in this sequence. - * - * @return the number of objects in this sequence. - */ - public int size() - { - return seq.size(); - } - - public int hashCode() - { - Enumeration e = this.getObjects(); - int hashCode = size(); - - while (e.hasMoreElements()) - { - Object o = getNext(e); - hashCode *= 17; - - hashCode ^= o.hashCode(); - } - - return hashCode; - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof ASN1Sequence)) - { - return false; - } - - ASN1Sequence other = (ASN1Sequence)o; - - if (this.size() != other.size()) - { - return false; - } - - Enumeration s1 = this.getObjects(); - Enumeration s2 = other.getObjects(); - - while (s1.hasMoreElements()) - { - ASN1Encodable obj1 = getNext(s1); - ASN1Encodable obj2 = getNext(s2); - - ASN1Primitive o1 = obj1.toASN1Primitive(); - ASN1Primitive o2 = obj2.toASN1Primitive(); - - if (o1 == o2 || o1.equals(o2)) - { - continue; - } - - return false; - } - - return true; - } - - private ASN1Encodable getNext(Enumeration e) - { - ASN1Encodable encObj = (ASN1Encodable)e.nextElement(); - - return encObj; - } - - ASN1Primitive toDERObject() - { - ASN1Sequence derSeq = new DERSequence(); - - derSeq.seq = this.seq; - - return derSeq; - } - - ASN1Primitive toDLObject() - { - ASN1Sequence dlSeq = new DLSequence(); - - dlSeq.seq = this.seq; - - return dlSeq; - } - - boolean isConstructed() - { - return true; - } - - abstract void encode(ASN1OutputStream out) - throws IOException; - - public String toString() - { - return seq.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SequenceParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SequenceParser.java deleted file mode 100644 index c2904a32b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SequenceParser.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public interface ASN1SequenceParser - extends ASN1Encodable, InMemoryRepresentable -{ - ASN1Encodable readObject() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Set.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Set.java deleted file mode 100644 index 5cc1163bc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1Set.java +++ /dev/null @@ -1,460 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -abstract public class ASN1Set - extends ASN1Primitive -{ - private Vector set = new Vector(); - private boolean isSorted = false; - - /** - * return an ASN1Set from the given object. - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1Set getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1Set) - { - return (ASN1Set)obj; - } - else if (obj instanceof ASN1SetParser) - { - return ASN1Set.getInstance(((ASN1SetParser)obj).toASN1Primitive()); - } - else if (obj instanceof byte[]) - { - try - { - return ASN1Set.getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct set from byte[]: " + e.getMessage()); - } - } - else if (obj instanceof ASN1Encodable) - { - ASN1Primitive primitive = ((ASN1Encodable)obj).toASN1Primitive(); - - if (primitive instanceof ASN1Set) - { - return (ASN1Set)primitive; - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - /** - * Return an ASN1 set from a tagged object. There is a special - * case here, if an object appears to have been explicitly tagged on - * reading but we were expecting it to be implicitly tagged in the - * normal course of events it indicates that we lost the surrounding - * set - so we need to add it back (this will happen if the tagged - * object is a sequence that contains other sequences). If you are - * dealing with implicitly tagged sets you really should - * be using this method. - * - * @param obj the tagged object. - * @param explicit true if the object is meant to be explicitly tagged - * false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1Set getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - if (explicit) - { - if (!obj.isExplicit()) - { - throw new IllegalArgumentException("object implicit - explicit expected."); - } - - return (ASN1Set)obj.getObject(); - } - else - { - // - // constructed object which appears to be explicitly tagged - // and it's really implicit means we have to add the - // surrounding set. - // - if (obj.isExplicit()) - { - if (obj instanceof BERTaggedObject) - { - return new BERSet(obj.getObject()); - } - else - { - return new DLSet(obj.getObject()); - } - } - else - { - if (obj.getObject() instanceof ASN1Set) - { - return (ASN1Set)obj.getObject(); - } - - // - // in this case the parser returns a sequence, convert it - // into a set. - // - if (obj.getObject() instanceof ASN1Sequence) - { - ASN1Sequence s = (ASN1Sequence)obj.getObject(); - - if (obj instanceof BERTaggedObject) - { - return new BERSet(s.toArray()); - } - else - { - return new DLSet(s.toArray()); - } - } - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - protected ASN1Set() - { - } - - /** - * create a sequence containing one object - */ - protected ASN1Set( - ASN1Encodable obj) - { - set.addElement(obj); - } - - /** - * create a sequence containing a vector of objects. - */ - protected ASN1Set( - ASN1EncodableVector v, - boolean doSort) - { - for (int i = 0; i != v.size(); i++) - { - set.addElement(v.get(i)); - } - - if (doSort) - { - this.sort(); - } - } - - /** - * create a sequence containing a vector of objects. - */ - protected ASN1Set( - ASN1Encodable[] array, - boolean doSort) - { - for (int i = 0; i != array.length; i++) - { - set.addElement(array[i]); - } - - if (doSort) - { - this.sort(); - } - } - - public Enumeration getObjects() - { - return set.elements(); - } - - /** - * return the object at the set position indicated by index. - * - * @param index the set number (starting at zero) of the object - * @return the object at the set position indicated by index. - */ - public ASN1Encodable getObjectAt( - int index) - { - return (ASN1Encodable)set.elementAt(index); - } - - /** - * return the number of objects in this set. - * - * @return the number of objects in this set. - */ - public int size() - { - return set.size(); - } - - public ASN1Encodable[] toArray() - { - ASN1Encodable[] values = new ASN1Encodable[this.size()]; - - for (int i = 0; i != this.size(); i++) - { - values[i] = this.getObjectAt(i); - } - - return values; - } - - public ASN1SetParser parser() - { - final ASN1Set outer = this; - - return new ASN1SetParser() - { - private final int max = size(); - - private int index; - - public ASN1Encodable readObject() throws IOException - { - if (index == max) - { - return null; - } - - ASN1Encodable obj = getObjectAt(index++); - if (obj instanceof ASN1Sequence) - { - return ((ASN1Sequence)obj).parser(); - } - if (obj instanceof ASN1Set) - { - return ((ASN1Set)obj).parser(); - } - - return obj; - } - - public ASN1Primitive getLoadedObject() - { - return outer; - } - - public ASN1Primitive toASN1Primitive() - { - return outer; - } - }; - } - - public int hashCode() - { - Enumeration e = this.getObjects(); - int hashCode = size(); - - while (e.hasMoreElements()) - { - Object o = getNext(e); - hashCode *= 17; - - hashCode ^= o.hashCode(); - } - - return hashCode; - } - - ASN1Primitive toDERObject() - { - if (isSorted) - { - ASN1Set derSet = new DERSet(); - - derSet.set = this.set; - - return derSet; - } - else - { - Vector v = new Vector(); - - for (int i = 0; i != set.size(); i++) - { - v.addElement(set.elementAt(i)); - } - - ASN1Set derSet = new DERSet(); - - derSet.set = v; - - derSet.sort(); - - return derSet; - } - } - - ASN1Primitive toDLObject() - { - ASN1Set derSet = new DLSet(); - - derSet.set = this.set; - - return derSet; - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof ASN1Set)) - { - return false; - } - - ASN1Set other = (ASN1Set)o; - - if (this.size() != other.size()) - { - return false; - } - - Enumeration s1 = this.getObjects(); - Enumeration s2 = other.getObjects(); - - while (s1.hasMoreElements()) - { - ASN1Encodable obj1 = getNext(s1); - ASN1Encodable obj2 = getNext(s2); - - ASN1Primitive o1 = obj1.toASN1Primitive(); - ASN1Primitive o2 = obj2.toASN1Primitive(); - - if (o1 == o2 || o1.equals(o2)) - { - continue; - } - - return false; - } - - return true; - } - - private ASN1Encodable getNext(Enumeration e) - { - ASN1Encodable encObj = (ASN1Encodable)e.nextElement(); - - // unfortunately null was allowed as a substitute for DER null - if (encObj == null) - { - return DERNull.INSTANCE; - } - - return encObj; - } - - /** - * return true if a <= b (arrays are assumed padded with zeros). - */ - private boolean lessThanOrEqual( - byte[] a, - byte[] b) - { - int len = Math.min(a.length, b.length); - for (int i = 0; i != len; ++i) - { - if (a[i] != b[i]) - { - return (a[i] & 0xff) < (b[i] & 0xff); - } - } - return len == a.length; - } - - private byte[] getEncoded( - ASN1Encodable obj) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - try - { - aOut.writeObject(obj); - } - catch (IOException e) - { - throw new IllegalArgumentException("cannot encode object added to SET"); - } - - return bOut.toByteArray(); - } - - protected void sort() - { - if (!isSorted) - { - isSorted = true; - if (set.size() > 1) - { - boolean swapped = true; - int lastSwap = set.size() - 1; - - while (swapped) - { - int index = 0; - int swapIndex = 0; - byte[] a = getEncoded((ASN1Encodable)set.elementAt(0)); - - swapped = false; - - while (index != lastSwap) - { - byte[] b = getEncoded((ASN1Encodable)set.elementAt(index + 1)); - - if (lessThanOrEqual(a, b)) - { - a = b; - } - else - { - Object o = set.elementAt(index); - - set.setElementAt(set.elementAt(index + 1), index); - set.setElementAt(o, index + 1); - - swapped = true; - swapIndex = index; - } - - index++; - } - - lastSwap = swapIndex; - } - } - } - } - - boolean isConstructed() - { - return true; - } - - abstract void encode(ASN1OutputStream out) - throws IOException; - - public String toString() - { - return set.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SetParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SetParser.java deleted file mode 100644 index adbe42069..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1SetParser.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public interface ASN1SetParser - extends ASN1Encodable, InMemoryRepresentable -{ - public ASN1Encodable readObject() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1StreamParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1StreamParser.java deleted file mode 100644 index 0b7de8f81..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1StreamParser.java +++ /dev/null @@ -1,247 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -public class ASN1StreamParser -{ - private final InputStream _in; - private final int _limit; - private final byte[][] tmpBuffers; - - public ASN1StreamParser( - InputStream in) - { - this(in, StreamUtil.findLimit(in)); - } - - public ASN1StreamParser( - InputStream in, - int limit) - { - this._in = in; - this._limit = limit; - - this.tmpBuffers = new byte[11][]; - } - - public ASN1StreamParser( - byte[] encoding) - { - this(new ByteArrayInputStream(encoding), encoding.length); - } - - ASN1Encodable readIndef(int tagValue) throws IOException - { - // Note: INDEF => CONSTRUCTED - - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagValue) - { - case BERTags.EXTERNAL: - return new DERExternalParser(this); - case BERTags.OCTET_STRING: - return new BEROctetStringParser(this); - case BERTags.SEQUENCE: - return new BERSequenceParser(this); - case BERTags.SET: - return new BERSetParser(this); - default: - throw new ASN1Exception("unknown BER object encountered: 0x" + Integer.toHexString(tagValue)); - } - } - - ASN1Encodable readImplicit(boolean constructed, int tag) throws IOException - { - if (_in instanceof IndefiniteLengthInputStream) - { - if (!constructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - return readIndef(tag); - } - - if (constructed) - { - switch (tag) - { - case BERTags.SET: - return new DERSetParser(this); - case BERTags.SEQUENCE: - return new DERSequenceParser(this); - case BERTags.OCTET_STRING: - return new BEROctetStringParser(this); - } - } - else - { - switch (tag) - { - case BERTags.SET: - throw new ASN1Exception("sequences must use constructed encoding (see X.690 8.9.1/8.10.1)"); - case BERTags.SEQUENCE: - throw new ASN1Exception("sets must use constructed encoding (see X.690 8.11.1/8.12.1)"); - case BERTags.OCTET_STRING: - return new DEROctetStringParser((DefiniteLengthInputStream)_in); - } - } - - // TODO ASN1Exception - throw new RuntimeException("implicit tagging not implemented"); - } - - ASN1Primitive readTaggedObject(boolean constructed, int tag) throws IOException - { - if (!constructed) - { - // Note: !CONSTRUCTED => IMPLICIT - DefiniteLengthInputStream defIn = (DefiniteLengthInputStream)_in; - return new DERTaggedObject(false, tag, new DEROctetString(defIn.toByteArray())); - } - - ASN1EncodableVector v = readVector(); - - if (_in instanceof IndefiniteLengthInputStream) - { - return v.size() == 1 - ? new BERTaggedObject(true, tag, v.get(0)) - : new BERTaggedObject(false, tag, BERFactory.createSequence(v)); - } - - return v.size() == 1 - ? new DERTaggedObject(true, tag, v.get(0)) - : new DERTaggedObject(false, tag, DERFactory.createSequence(v)); - } - - public ASN1Encodable readObject() - throws IOException - { - int tag = _in.read(); - if (tag == -1) - { - return null; - } - - // - // turn of looking for "00" while we resolve the tag - // - set00Check(false); - - // - // calculate tag number - // - int tagNo = ASN1InputStream.readTagNumber(_in, tag); - - boolean isConstructed = (tag & BERTags.CONSTRUCTED) != 0; - - // - // calculate length - // - int length = ASN1InputStream.readLength(_in, _limit); - - if (length < 0) // indefinite length method - { - if (!isConstructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - IndefiniteLengthInputStream indIn = new IndefiniteLengthInputStream(_in, _limit); - ASN1StreamParser sp = new ASN1StreamParser(indIn, _limit); - - if ((tag & BERTags.APPLICATION) != 0) - { - return new BERApplicationSpecificParser(tagNo, sp); - } - - if ((tag & BERTags.TAGGED) != 0) - { - return new BERTaggedObjectParser(true, tagNo, sp); - } - - return sp.readIndef(tagNo); - } - else - { - DefiniteLengthInputStream defIn = new DefiniteLengthInputStream(_in, length); - - if ((tag & BERTags.APPLICATION) != 0) - { - return new DERApplicationSpecific(isConstructed, tagNo, defIn.toByteArray()); - } - - if ((tag & BERTags.TAGGED) != 0) - { - return new BERTaggedObjectParser(isConstructed, tagNo, new ASN1StreamParser(defIn)); - } - - if (isConstructed) - { - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case BERTags.OCTET_STRING: - // - // yes, people actually do this... - // - return new BEROctetStringParser(new ASN1StreamParser(defIn)); - case BERTags.SEQUENCE: - return new DERSequenceParser(new ASN1StreamParser(defIn)); - case BERTags.SET: - return new DERSetParser(new ASN1StreamParser(defIn)); - case BERTags.EXTERNAL: - return new DERExternalParser(new ASN1StreamParser(defIn)); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } - - // Some primitive encodings can be handled by parsers too... - switch (tagNo) - { - case BERTags.OCTET_STRING: - return new DEROctetStringParser(defIn); - } - - try - { - return ASN1InputStream.createPrimitiveDERObject(tagNo, defIn, tmpBuffers); - } - catch (IllegalArgumentException e) - { - throw new ASN1Exception("corrupted stream detected", e); - } - } - } - - private void set00Check(boolean enabled) - { - if (_in instanceof IndefiniteLengthInputStream) - { - ((IndefiniteLengthInputStream)_in).setEofOn00(enabled); - } - } - - ASN1EncodableVector readVector() throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - ASN1Encodable obj; - while ((obj = readObject()) != null) - { - if (obj instanceof InMemoryRepresentable) - { - v.add(((InMemoryRepresentable)obj).getLoadedObject()); - } - else - { - v.add(obj.toASN1Primitive()); - } - } - - return v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1String.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1String.java deleted file mode 100644 index 84166d40c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1String.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.asn1; - -public interface ASN1String -{ - public String getString(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObject.java deleted file mode 100644 index af7788162..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObject.java +++ /dev/null @@ -1,236 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -/** - * ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by - * a [n] where n is some number - these are assumed to follow the construction - * rules (as with sequences). - */ -public abstract class ASN1TaggedObject - extends ASN1Primitive - implements ASN1TaggedObjectParser -{ - int tagNo; - boolean empty = false; - boolean explicit = true; - ASN1Encodable obj = null; - - static public ASN1TaggedObject getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - if (explicit) - { - return (ASN1TaggedObject)obj.getObject(); - } - - throw new IllegalArgumentException("implicitly tagged tagged object"); - } - - static public ASN1TaggedObject getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1TaggedObject) - { - return (ASN1TaggedObject)obj; - } - else if (obj instanceof byte[]) - { - try - { - return ASN1TaggedObject.getInstance(fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct tagged object from byte[]: " + e.getMessage()); - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - /** - * Create a tagged object with the style given by the value of explicit. - *

    - * If the object implements ASN1Choice the tag style will always be changed - * to explicit in accordance with the ASN.1 encoding rules. - *

    - * @param explicit true if the object is explicitly tagged. - * @param tagNo the tag number for this object. - * @param obj the tagged object. - */ - public ASN1TaggedObject( - boolean explicit, - int tagNo, - ASN1Encodable obj) - { - if (obj instanceof ASN1Choice) - { - this.explicit = true; - } - else - { - this.explicit = explicit; - } - - this.tagNo = tagNo; - - if (this.explicit) - { - this.obj = obj; - } - else - { - ASN1Primitive prim = obj.toASN1Primitive(); - - if (prim instanceof ASN1Set) - { - ASN1Set s = null; - } - - this.obj = obj; - } - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof ASN1TaggedObject)) - { - return false; - } - - ASN1TaggedObject other = (ASN1TaggedObject)o; - - if (tagNo != other.tagNo || empty != other.empty || explicit != other.explicit) - { - return false; - } - - if(obj == null) - { - if (other.obj != null) - { - return false; - } - } - else - { - if (!(obj.toASN1Primitive().equals(other.obj.toASN1Primitive()))) - { - return false; - } - } - - return true; - } - - public int hashCode() - { - int code = tagNo; - - // TODO: actually this is wrong - the problem is that a re-encoded - // object may end up with a different hashCode due to implicit - // tagging. As implicit tagging is ambiguous if a sequence is involved - // it seems the only correct method for both equals and hashCode is to - // compare the encodings... - if (obj != null) - { - code ^= obj.hashCode(); - } - - return code; - } - - public int getTagNo() - { - return tagNo; - } - - /** - * return whether or not the object may be explicitly tagged. - *

    - * Note: if the object has been read from an input stream, the only - * time you can be sure if isExplicit is returning the true state of - * affairs is if it returns false. An implicitly tagged object may appear - * to be explicitly tagged, so you need to understand the context under - * which the reading was done as well, see getObject below. - */ - public boolean isExplicit() - { - return explicit; - } - - public boolean isEmpty() - { - return empty; - } - - /** - * return whatever was following the tag. - *

    - * Note: tagged objects are generally context dependent if you're - * trying to extract a tagged object you should be going via the - * appropriate getInstance method. - */ - public ASN1Primitive getObject() - { - if (obj != null) - { - return obj.toASN1Primitive(); - } - - return null; - } - - /** - * Return the object held in this tagged object as a parser assuming it has - * the type of the passed in tag. If the object doesn't have a parser - * associated with it, the base object is returned. - */ - public ASN1Encodable getObjectParser( - int tag, - boolean isExplicit) - { - switch (tag) - { - case BERTags.SET: - return ASN1Set.getInstance(this, isExplicit).parser(); - case BERTags.SEQUENCE: - return ASN1Sequence.getInstance(this, isExplicit).parser(); - case BERTags.OCTET_STRING: - return ASN1OctetString.getInstance(this, isExplicit).parser(); - } - - if (isExplicit) - { - return getObject(); - } - - throw new RuntimeException("implicit tagging not implemented for tag: " + tag); - } - - public ASN1Primitive getLoadedObject() - { - return this.toASN1Primitive(); - } - - ASN1Primitive toDERObject() - { - return new DERTaggedObject(explicit, tagNo, obj); - } - - ASN1Primitive toDLObject() - { - return new DLTaggedObject(explicit, tagNo, obj); - } - - abstract void encode(ASN1OutputStream out) - throws IOException; - - public String toString() - { - return "[" + tagNo + "]" + obj; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObjectParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObjectParser.java deleted file mode 100644 index 2710954e0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1TaggedObjectParser.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public interface ASN1TaggedObjectParser - extends ASN1Encodable, InMemoryRepresentable -{ - public int getTagNo(); - - public ASN1Encodable getObjectParser(int tag, boolean isExplicit) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1UTCTime.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1UTCTime.java deleted file mode 100644 index d011b7d92..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ASN1UTCTime.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1; - -import java.util.Date; - -public class ASN1UTCTime - extends DERUTCTime -{ - ASN1UTCTime(byte[] bytes) - { - super(bytes); - } - - public ASN1UTCTime(Date time) - { - super(time); - } - - public ASN1UTCTime(String time) - { - super(time); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecific.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecific.java deleted file mode 100644 index 743b22003..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecific.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.asn1; - -public class BERApplicationSpecific - extends DERApplicationSpecific -{ - public BERApplicationSpecific(int tagNo, ASN1EncodableVector vec) - { - super(tagNo, vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecificParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecificParser.java deleted file mode 100644 index b77f81d06..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERApplicationSpecificParser.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class BERApplicationSpecificParser - implements ASN1ApplicationSpecificParser -{ - private final int tag; - private final ASN1StreamParser parser; - - BERApplicationSpecificParser(int tag, ASN1StreamParser parser) - { - this.tag = tag; - this.parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new BERApplicationSpecific(tag, parser.readVector()); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException(e.getMessage(), e); - } - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERConstructedOctetString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERConstructedOctetString.java deleted file mode 100644 index cd9289f26..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERConstructedOctetString.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -/** - * @deprecated use BEROctetString - */ -public class BERConstructedOctetString - extends BEROctetString -{ - private static final int MAX_LENGTH = 1000; - - /** - * convert a vector of octet strings into a single byte string - */ - static private byte[] toBytes( - Vector octs) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != octs.size(); i++) - { - try - { - DEROctetString o = (DEROctetString)octs.elementAt(i); - - bOut.write(o.getOctets()); - } - catch (ClassCastException e) - { - throw new IllegalArgumentException(octs.elementAt(i).getClass().getName() + " found in input should only contain DEROctetString"); - } - catch (IOException e) - { - throw new IllegalArgumentException("exception converting octets " + e.toString()); - } - } - - return bOut.toByteArray(); - } - - private Vector octs; - - /** - * @param string the octets making up the octet string. - */ - public BERConstructedOctetString( - byte[] string) - { - super(string); - } - - public BERConstructedOctetString( - Vector octs) - { - super(toBytes(octs)); - - this.octs = octs; - } - - public BERConstructedOctetString( - ASN1Primitive obj) - { - super(toByteArray(obj)); - } - - private static byte[] toByteArray(ASN1Primitive obj) - { - try - { - return obj.getEncoded(); - } - catch (IOException e) - { - throw new IllegalArgumentException("Unable to encode object"); - } - } - - public BERConstructedOctetString( - ASN1Encodable obj) - { - this(obj.toASN1Primitive()); - } - - public byte[] getOctets() - { - return string; - } - - /** - * return the DER octets that make up this string. - */ - public Enumeration getObjects() - { - if (octs == null) - { - return generateOcts().elements(); - } - - return octs.elements(); - } - - private Vector generateOcts() - { - Vector vec = new Vector(); - for (int i = 0; i < string.length; i += MAX_LENGTH) - { - int end; - - if (i + MAX_LENGTH > string.length) - { - end = string.length; - } - else - { - end = i + MAX_LENGTH; - } - - byte[] nStr = new byte[end - i]; - - System.arraycopy(string, i, nStr, 0, nStr.length); - - vec.addElement(new DEROctetString(nStr)); - } - - return vec; - } - - public static BEROctetString fromSequence(ASN1Sequence seq) - { - Vector v = new Vector(); - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - v.addElement(e.nextElement()); - } - - return new BERConstructedOctetString(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERFactory.java deleted file mode 100644 index a444eac6e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERFactory.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.spongycastle.asn1; - -class BERFactory -{ - static final BERSequence EMPTY_SEQUENCE = new BERSequence(); - static final BERSet EMPTY_SET = new BERSet(); - - static BERSequence createSequence(ASN1EncodableVector v) - { - return v.size() < 1 ? EMPTY_SEQUENCE : new BERSequence(v); - } - - static BERSet createSet(ASN1EncodableVector v) - { - return v.size() < 1 ? EMPTY_SET : new BERSet(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERGenerator.java deleted file mode 100644 index 0cca35c37..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERGenerator.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class BERGenerator - extends ASN1Generator -{ - private boolean _tagged = false; - private boolean _isExplicit; - private int _tagNo; - - protected BERGenerator( - OutputStream out) - { - super(out); - } - - public BERGenerator( - OutputStream out, - int tagNo, - boolean isExplicit) - { - super(out); - - _tagged = true; - _isExplicit = isExplicit; - _tagNo = tagNo; - } - - public OutputStream getRawOutputStream() - { - return _out; - } - - private void writeHdr( - int tag) - throws IOException - { - _out.write(tag); - _out.write(0x80); - } - - protected void writeBERHeader( - int tag) - throws IOException - { - if (_tagged) - { - int tagNum = _tagNo | BERTags.TAGGED; - - if (_isExplicit) - { - writeHdr(tagNum | BERTags.CONSTRUCTED); - writeHdr(tag); - } - else - { - if ((tag & BERTags.CONSTRUCTED) != 0) - { - writeHdr(tagNum | BERTags.CONSTRUCTED); - } - else - { - writeHdr(tagNum); - } - } - } - else - { - writeHdr(tag); - } - } - - protected void writeBERBody( - InputStream contentStream) - throws IOException - { - int ch; - - while ((ch = contentStream.read()) >= 0) - { - _out.write(ch); - } - } - - protected void writeBEREnd() - throws IOException - { - _out.write(0x00); - _out.write(0x00); - - if (_tagged && _isExplicit) // write extra end for tag header - { - _out.write(0x00); - _out.write(0x00); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetString.java deleted file mode 100644 index b32f5c535..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetString.java +++ /dev/null @@ -1,168 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -public class BEROctetString - extends ASN1OctetString -{ - private static final int MAX_LENGTH = 1000; - - private ASN1OctetString[] octs; - - /** - * convert a vector of octet strings into a single byte string - */ - static private byte[] toBytes( - ASN1OctetString[] octs) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != octs.length; i++) - { - try - { - DEROctetString o = (DEROctetString)octs[i]; - - bOut.write(o.getOctets()); - } - catch (ClassCastException e) - { - throw new IllegalArgumentException(octs[i].getClass().getName() + " found in input should only contain DEROctetString"); - } - catch (IOException e) - { - throw new IllegalArgumentException("exception converting octets " + e.toString()); - } - } - - return bOut.toByteArray(); - } - - /** - * @param string the octets making up the octet string. - */ - public BEROctetString( - byte[] string) - { - super(string); - } - - public BEROctetString( - ASN1OctetString[] octs) - { - super(toBytes(octs)); - - this.octs = octs; - } - - public byte[] getOctets() - { - return string; - } - - /** - * return the DER octets that make up this string. - */ - public Enumeration getObjects() - { - if (octs == null) - { - return generateOcts().elements(); - } - - return new Enumeration() - { - int counter = 0; - - public boolean hasMoreElements() - { - return counter < octs.length; - } - - public Object nextElement() - { - return octs[counter++]; - } - }; - } - - private Vector generateOcts() - { - Vector vec = new Vector(); - for (int i = 0; i < string.length; i += MAX_LENGTH) - { - int end; - - if (i + MAX_LENGTH > string.length) - { - end = string.length; - } - else - { - end = i + MAX_LENGTH; - } - - byte[] nStr = new byte[end - i]; - - System.arraycopy(string, i, nStr, 0, nStr.length); - - vec.addElement(new DEROctetString(nStr)); - } - - return vec; - } - - boolean isConstructed() - { - return true; - } - - int encodedLength() - throws IOException - { - int length = 0; - for (Enumeration e = getObjects(); e.hasMoreElements();) - { - length += ((ASN1Encodable)e.nextElement()).toASN1Primitive().encodedLength(); - } - - return 2 + length + 2; - } - - public void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.CONSTRUCTED | BERTags.OCTET_STRING); - - out.write(0x80); - - // - // write out the octet array - // - for (Enumeration e = getObjects(); e.hasMoreElements();) - { - out.writeObject((ASN1Encodable)e.nextElement()); - } - - out.write(0x00); - out.write(0x00); - } - - static BEROctetString fromSequence(ASN1Sequence seq) - { - ASN1OctetString[] v = new ASN1OctetString[seq.size()]; - Enumeration e = seq.getObjects(); - int index = 0; - - while (e.hasMoreElements()) - { - v[index++] = (ASN1OctetString)e.nextElement(); - } - - return new BEROctetString(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringGenerator.java deleted file mode 100644 index 47d1a0ebf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringGenerator.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -public class BEROctetStringGenerator - extends BERGenerator -{ - public BEROctetStringGenerator(OutputStream out) - throws IOException - { - super(out); - - writeBERHeader(BERTags.CONSTRUCTED | BERTags.OCTET_STRING); - } - - public BEROctetStringGenerator( - OutputStream out, - int tagNo, - boolean isExplicit) - throws IOException - { - super(out, tagNo, isExplicit); - - writeBERHeader(BERTags.CONSTRUCTED | BERTags.OCTET_STRING); - } - - public OutputStream getOctetOutputStream() - { - return getOctetOutputStream(new byte[1000]); // limit for CER encoding. - } - - public OutputStream getOctetOutputStream( - byte[] buf) - { - return new BufferedBEROctetStream(buf); - } - - private class BufferedBEROctetStream - extends OutputStream - { - private byte[] _buf; - private int _off; - private DEROutputStream _derOut; - - BufferedBEROctetStream( - byte[] buf) - { - _buf = buf; - _off = 0; - _derOut = new DEROutputStream(_out); - } - - public void write( - int b) - throws IOException - { - _buf[_off++] = (byte)b; - - if (_off == _buf.length) - { - DEROctetString.encode(_derOut, _buf); - _off = 0; - } - } - - public void write(byte[] b, int off, int len) throws IOException - { - while (len > 0) - { - int numToCopy = Math.min(len, _buf.length - _off); - System.arraycopy(b, off, _buf, _off, numToCopy); - - _off += numToCopy; - if (_off < _buf.length) - { - break; - } - - DEROctetString.encode(_derOut, _buf); - _off = 0; - - off += numToCopy; - len -= numToCopy; - } - } - - public void close() - throws IOException - { - if (_off != 0) - { - byte[] bytes = new byte[_off]; - System.arraycopy(_buf, 0, bytes, 0, _off); - - DEROctetString.encode(_derOut, bytes); - } - - writeBEREnd(); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringParser.java deleted file mode 100644 index 6cf20fcfe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROctetStringParser.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.io.Streams; - -public class BEROctetStringParser - implements ASN1OctetStringParser -{ - private ASN1StreamParser _parser; - - BEROctetStringParser( - ASN1StreamParser parser) - { - _parser = parser; - } - - public InputStream getOctetStream() - { - return new ConstructedOctetStream(_parser); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new BEROctetString(Streams.readAll(getOctetStream())); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROutputStream.java deleted file mode 100644 index 13b20d523..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BEROutputStream.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -public class BEROutputStream - extends DEROutputStream -{ - public BEROutputStream( - OutputStream os) - { - super(os); - } - - public void writeObject( - Object obj) - throws IOException - { - if (obj == null) - { - writeNull(); - } - else if (obj instanceof ASN1Primitive) - { - ((ASN1Primitive)obj).encode(this); - } - else if (obj instanceof ASN1Encodable) - { - ((ASN1Encodable)obj).toASN1Primitive().encode(this); - } - else - { - throw new IOException("object not BEREncodable"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequence.java deleted file mode 100644 index d034af1a0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequence.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -public class BERSequence - extends ASN1Sequence -{ - /** - * create an empty sequence - */ - public BERSequence() - { - } - - /** - * create a sequence containing one object - */ - public BERSequence( - ASN1Encodable obj) - { - super(obj); - } - - /** - * create a sequence containing a vector of objects. - */ - public BERSequence( - ASN1EncodableVector v) - { - super(v); - } - - /** - * create a sequence containing an array of objects. - */ - public BERSequence( - ASN1Encodable[] array) - { - super(array); - } - - int encodedLength() - throws IOException - { - int length = 0; - for (Enumeration e = getObjects(); e.hasMoreElements();) - { - length += ((ASN1Encodable)e.nextElement()).toASN1Primitive().encodedLength(); - } - - return 2 + length + 2; - } - - /* - */ - void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.SEQUENCE | BERTags.CONSTRUCTED); - out.write(0x80); - - Enumeration e = getObjects(); - while (e.hasMoreElements()) - { - out.writeObject((ASN1Encodable)e.nextElement()); - } - - out.write(0x00); - out.write(0x00); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceGenerator.java deleted file mode 100644 index 5d759ddde..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceGenerator.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -public class BERSequenceGenerator - extends BERGenerator -{ - public BERSequenceGenerator( - OutputStream out) - throws IOException - { - super(out); - - writeBERHeader(BERTags.CONSTRUCTED | BERTags.SEQUENCE); - } - - public BERSequenceGenerator( - OutputStream out, - int tagNo, - boolean isExplicit) - throws IOException - { - super(out, tagNo, isExplicit); - - writeBERHeader(BERTags.CONSTRUCTED | BERTags.SEQUENCE); - } - - public void addObject( - ASN1Encodable object) - throws IOException - { - object.toASN1Primitive().encode(new BEROutputStream(_out)); - } - - public void close() - throws IOException - { - writeBEREnd(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceParser.java deleted file mode 100644 index 3bfadff51..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSequenceParser.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class BERSequenceParser - implements ASN1SequenceParser -{ - private ASN1StreamParser _parser; - - BERSequenceParser(ASN1StreamParser parser) - { - this._parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return _parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new BERSequence(_parser.readVector()); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new IllegalStateException(e.getMessage()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSet.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSet.java deleted file mode 100644 index ed0c3f521..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSet.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -public class BERSet - extends ASN1Set -{ - /** - * create an empty sequence - */ - public BERSet() - { - } - - /** - * @param obj - a single object that makes up the set. - */ - public BERSet( - ASN1Encodable obj) - { - super(obj); - } - - /** - * @param v - a vector of objects making up the set. - */ - public BERSet( - ASN1EncodableVector v) - { - super(v, false); - } - - /** - * create a set from an array of objects. - */ - public BERSet( - ASN1Encodable[] a) - { - super(a, false); - } - - int encodedLength() - throws IOException - { - int length = 0; - for (Enumeration e = getObjects(); e.hasMoreElements();) - { - length += ((ASN1Encodable)e.nextElement()).toASN1Primitive().encodedLength(); - } - - return 2 + length + 2; - } - - /* - */ - void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.SET | BERTags.CONSTRUCTED); - out.write(0x80); - - Enumeration e = getObjects(); - while (e.hasMoreElements()) - { - out.writeObject((ASN1Encodable)e.nextElement()); - } - - out.write(0x00); - out.write(0x00); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSetParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSetParser.java deleted file mode 100644 index 0b649f29b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERSetParser.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class BERSetParser - implements ASN1SetParser -{ - private ASN1StreamParser _parser; - - BERSetParser(ASN1StreamParser parser) - { - this._parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return _parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new BERSet(_parser.readVector()); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException(e.getMessage(), e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObject.java deleted file mode 100644 index bd55e5970..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObject.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -/** - * BER TaggedObject - in ASN.1 notation this is any object preceded by - * a [n] where n is some number - these are assumed to follow the construction - * rules (as with sequences). - */ -public class BERTaggedObject - extends ASN1TaggedObject -{ - /** - * @param tagNo the tag number for this object. - * @param obj the tagged object. - */ - public BERTaggedObject( - int tagNo, - ASN1Encodable obj) - { - super(true, tagNo, obj); - } - - /** - * @param explicit true if an explicitly tagged object. - * @param tagNo the tag number for this object. - * @param obj the tagged object. - */ - public BERTaggedObject( - boolean explicit, - int tagNo, - ASN1Encodable obj) - { - super(explicit, tagNo, obj); - } - - /** - * create an implicitly tagged object that contains a zero - * length sequence. - */ - public BERTaggedObject( - int tagNo) - { - super(false, tagNo, new BERSequence()); - } - - boolean isConstructed() - { - if (!empty) - { - if (explicit) - { - return true; - } - else - { - ASN1Primitive primitive = obj.toASN1Primitive().toDERObject(); - - return primitive.isConstructed(); - } - } - else - { - return true; - } - } - - int encodedLength() - throws IOException - { - if (!empty) - { - ASN1Primitive primitive = obj.toASN1Primitive(); - int length = primitive.encodedLength(); - - if (explicit) - { - return StreamUtil.calculateTagLength(tagNo) + StreamUtil.calculateBodyLength(length) + length; - } - else - { - // header length already in calculation - length = length - 1; - - return StreamUtil.calculateTagLength(tagNo) + length; - } - } - else - { - return StreamUtil.calculateTagLength(tagNo) + 1; - } - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeTag(BERTags.CONSTRUCTED | BERTags.TAGGED, tagNo); - out.write(0x80); - - if (!empty) - { - if (!explicit) - { - Enumeration e; - if (obj instanceof ASN1OctetString) - { - if (obj instanceof BEROctetString) - { - e = ((BEROctetString)obj).getObjects(); - } - else - { - ASN1OctetString octs = (ASN1OctetString)obj; - BEROctetString berO = new BEROctetString(octs.getOctets()); - e = berO.getObjects(); - } - } - else if (obj instanceof ASN1Sequence) - { - e = ((ASN1Sequence)obj).getObjects(); - } - else if (obj instanceof ASN1Set) - { - e = ((ASN1Set)obj).getObjects(); - } - else - { - throw new RuntimeException("not implemented: " + obj.getClass().getName()); - } - - while (e.hasMoreElements()) - { - out.writeObject((ASN1Encodable)e.nextElement()); - } - } - else - { - out.writeObject(obj); - } - } - - out.write(0x00); - out.write(0x00); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObjectParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObjectParser.java deleted file mode 100644 index cb7f13ffa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTaggedObjectParser.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class BERTaggedObjectParser - implements ASN1TaggedObjectParser -{ - private boolean _constructed; - private int _tagNumber; - private ASN1StreamParser _parser; - - BERTaggedObjectParser( - boolean constructed, - int tagNumber, - ASN1StreamParser parser) - { - _constructed = constructed; - _tagNumber = tagNumber; - _parser = parser; - } - - public boolean isConstructed() - { - return _constructed; - } - - public int getTagNo() - { - return _tagNumber; - } - - public ASN1Encodable getObjectParser( - int tag, - boolean isExplicit) - throws IOException - { - if (isExplicit) - { - if (!_constructed) - { - throw new IOException("Explicit tags must be constructed (see X.690 8.14.2)"); - } - return _parser.readObject(); - } - - return _parser.readImplicit(_constructed, tag); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return _parser.readTaggedObject(_constructed, _tagNumber); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return this.getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException(e.getMessage()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTags.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTags.java deleted file mode 100644 index 4b25e7162..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/BERTags.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.asn1; - -public interface BERTags -{ - public static final int BOOLEAN = 0x01; - public static final int INTEGER = 0x02; - public static final int BIT_STRING = 0x03; - public static final int OCTET_STRING = 0x04; - public static final int NULL = 0x05; - public static final int OBJECT_IDENTIFIER = 0x06; - public static final int EXTERNAL = 0x08; - public static final int ENUMERATED = 0x0a; - public static final int SEQUENCE = 0x10; - public static final int SEQUENCE_OF = 0x10; // for completeness - used to model a SEQUENCE of the same type. - public static final int SET = 0x11; - public static final int SET_OF = 0x11; // for completeness - used to model a SET of the same type. - - - public static final int NUMERIC_STRING = 0x12; - public static final int PRINTABLE_STRING = 0x13; - public static final int T61_STRING = 0x14; - public static final int VIDEOTEX_STRING = 0x15; - public static final int IA5_STRING = 0x16; - public static final int UTC_TIME = 0x17; - public static final int GENERALIZED_TIME = 0x18; - public static final int GRAPHIC_STRING = 0x19; - public static final int VISIBLE_STRING = 0x1a; - public static final int GENERAL_STRING = 0x1b; - public static final int UNIVERSAL_STRING = 0x1c; - public static final int BMP_STRING = 0x1e; - public static final int UTF8_STRING = 0x0c; - - public static final int CONSTRUCTED = 0x20; - public static final int APPLICATION = 0x40; - public static final int TAGGED = 0x80; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ConstructedOctetStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ConstructedOctetStream.java deleted file mode 100644 index 21c3ac361..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ConstructedOctetStream.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.InputStream; - -class ConstructedOctetStream - extends InputStream -{ - private final ASN1StreamParser _parser; - - private boolean _first = true; - private InputStream _currentStream; - - ConstructedOctetStream( - ASN1StreamParser parser) - { - _parser = parser; - } - - public int read(byte[] b, int off, int len) throws IOException - { - if (_currentStream == null) - { - if (!_first) - { - return -1; - } - - ASN1OctetStringParser s = (ASN1OctetStringParser)_parser.readObject(); - - if (s == null) - { - return -1; - } - - _first = false; - _currentStream = s.getOctetStream(); - } - - int totalRead = 0; - - for (;;) - { - int numRead = _currentStream.read(b, off + totalRead, len - totalRead); - - if (numRead >= 0) - { - totalRead += numRead; - - if (totalRead == len) - { - return totalRead; - } - } - else - { - ASN1OctetStringParser aos = (ASN1OctetStringParser)_parser.readObject(); - - if (aos == null) - { - _currentStream = null; - return totalRead < 1 ? -1 : totalRead; - } - - _currentStream = aos.getOctetStream(); - } - } - } - - public int read() - throws IOException - { - if (_currentStream == null) - { - if (!_first) - { - return -1; - } - - ASN1OctetStringParser s = (ASN1OctetStringParser)_parser.readObject(); - - if (s == null) - { - return -1; - } - - _first = false; - _currentStream = s.getOctetStream(); - } - - for (;;) - { - int b = _currentStream.read(); - - if (b >= 0) - { - return b; - } - - ASN1OctetStringParser s = (ASN1OctetStringParser)_parser.readObject(); - - if (s == null) - { - _currentStream = null; - return -1; - } - - _currentStream = s.getOctetStream(); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERApplicationSpecific.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERApplicationSpecific.java deleted file mode 100644 index 63f99a34c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERApplicationSpecific.java +++ /dev/null @@ -1,276 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.util.Arrays; - -/** - * Base class for an application specific object - */ -public class DERApplicationSpecific - extends ASN1Primitive -{ - private final boolean isConstructed; - private final int tag; - private final byte[] octets; - - DERApplicationSpecific( - boolean isConstructed, - int tag, - byte[] octets) - { - this.isConstructed = isConstructed; - this.tag = tag; - this.octets = octets; - } - - public DERApplicationSpecific( - int tag, - byte[] octets) - { - this(false, tag, octets); - } - - public DERApplicationSpecific( - int tag, - ASN1Encodable object) - throws IOException - { - this(true, tag, object); - } - - public DERApplicationSpecific( - boolean explicit, - int tag, - ASN1Encodable object) - throws IOException - { - ASN1Primitive primitive = object.toASN1Primitive(); - - byte[] data = primitive.getEncoded(ASN1Encoding.DER); - - this.isConstructed = explicit || (primitive instanceof ASN1Set || primitive instanceof ASN1Sequence); - this.tag = tag; - - if (explicit) - { - this.octets = data; - } - else - { - int lenBytes = getLengthOfHeader(data); - byte[] tmp = new byte[data.length - lenBytes]; - System.arraycopy(data, lenBytes, tmp, 0, tmp.length); - this.octets = tmp; - } - } - - public DERApplicationSpecific(int tagNo, ASN1EncodableVector vec) - { - this.tag = tagNo; - this.isConstructed = true; - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != vec.size(); i++) - { - try - { - bOut.write(((ASN1Object)vec.get(i)).getEncoded(ASN1Encoding.DER)); - } - catch (IOException e) - { - throw new ASN1ParsingException("malformed object: " + e, e); - } - } - this.octets = bOut.toByteArray(); - } - - public static DERApplicationSpecific getInstance(Object obj) - { - if (obj == null || obj instanceof DERApplicationSpecific) - { - return (DERApplicationSpecific)obj; - } - else if (obj instanceof byte[]) - { - try - { - return DERApplicationSpecific.getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct object from byte[]: " + e.getMessage()); - } - } - else if (obj instanceof ASN1Encodable) - { - ASN1Primitive primitive = ((ASN1Encodable)obj).toASN1Primitive(); - - if (primitive instanceof ASN1Sequence) - { - return (DERApplicationSpecific)primitive; - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - private int getLengthOfHeader(byte[] data) - { - int length = data[1] & 0xff; // TODO: assumes 1 byte tag - - if (length == 0x80) - { - return 2; // indefinite-length encoding - } - - if (length > 127) - { - int size = length & 0x7f; - - // Note: The invalid long form "0xff" (see X.690 8.1.3.5c) will be caught here - if (size > 4) - { - throw new IllegalStateException("DER length more than 4 bytes: " + size); - } - - return size + 2; - } - - return 2; - } - - public boolean isConstructed() - { - return isConstructed; - } - - public byte[] getContents() - { - return octets; - } - - public int getApplicationTag() - { - return tag; - } - - /** - * Return the enclosed object assuming explicit tagging. - * - * @return the resulting object - * @throws IOException if reconstruction fails. - */ - public ASN1Primitive getObject() - throws IOException - { - return new ASN1InputStream(getContents()).readObject(); - } - - /** - * Return the enclosed object assuming implicit tagging. - * - * @param derTagNo the type tag that should be applied to the object's contents. - * @return the resulting object - * @throws IOException if reconstruction fails. - */ - public ASN1Primitive getObject(int derTagNo) - throws IOException - { - if (derTagNo >= 0x1f) - { - throw new IOException("unsupported tag number"); - } - - byte[] orig = this.getEncoded(); - byte[] tmp = replaceTagNumber(derTagNo, orig); - - if ((orig[0] & BERTags.CONSTRUCTED) != 0) - { - tmp[0] |= BERTags.CONSTRUCTED; - } - - return new ASN1InputStream(tmp).readObject(); - } - - int encodedLength() - throws IOException - { - return StreamUtil.calculateTagLength(tag) + StreamUtil.calculateBodyLength(octets.length) + octets.length; - } - - /* (non-Javadoc) - * @see org.spongycastle.asn1.ASN1Primitive#encode(org.spongycastle.asn1.DEROutputStream) - */ - void encode(ASN1OutputStream out) throws IOException - { - int classBits = BERTags.APPLICATION; - if (isConstructed) - { - classBits |= BERTags.CONSTRUCTED; - } - - out.writeEncoded(classBits, tag, octets); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERApplicationSpecific)) - { - return false; - } - - DERApplicationSpecific other = (DERApplicationSpecific)o; - - return isConstructed == other.isConstructed - && tag == other.tag - && Arrays.areEqual(octets, other.octets); - } - - public int hashCode() - { - return (isConstructed ? 1 : 0) ^ tag ^ Arrays.hashCode(octets); - } - - private byte[] replaceTagNumber(int newTag, byte[] input) - throws IOException - { - int tagNo = input[0] & 0x1f; - int index = 1; - // - // with tagged object tag number is bottom 5 bits, or stored at the start of the content - // - if (tagNo == 0x1f) - { - tagNo = 0; - - int b = input[index++] & 0xff; - - // X.690-0207 8.1.2.4.2 - // "c) bits 7 to 1 of the first subsequent octet shall not all be zero." - if ((b & 0x7f) == 0) // Note: -1 will pass - { - throw new ASN1ParsingException("corrupted stream - invalid high tag number found"); - } - - while ((b >= 0) && ((b & 0x80) != 0)) - { - tagNo |= (b & 0x7f); - tagNo <<= 7; - b = input[index++] & 0xff; - } - - tagNo |= (b & 0x7f); - } - - byte[] tmp = new byte[input.length - index + 1]; - - System.arraycopy(input, index, tmp, 1, tmp.length - 1); - - tmp[0] = (byte)newTag; - - return tmp; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBMPString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBMPString.java deleted file mode 100644 index 58dbb36a5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBMPString.java +++ /dev/null @@ -1,153 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; - -/** - * DER BMPString object. - */ -public class DERBMPString - extends ASN1Primitive - implements ASN1String -{ - private char[] string; - - /** - * return a BMP String from the given object. - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERBMPString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERBMPString) - { - return (DERBMPString)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERBMPString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a BMP String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERBMPString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERBMPString) - { - return getInstance(o); - } - else - { - return new DERBMPString(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - byte encoded string. - */ - DERBMPString( - byte[] string) - { - char[] cs = new char[string.length / 2]; - - for (int i = 0; i != cs.length; i++) - { - cs[i] = (char)((string[2 * i] << 8) | (string[2 * i + 1] & 0xff)); - } - - this.string = cs; - } - - DERBMPString(char[] string) - { - this.string = string; - } - - /** - * basic constructor - */ - public DERBMPString( - String string) - { - this.string = string.toCharArray(); - } - - public String getString() - { - return new String(string); - } - - public String toString() - { - return getString(); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - protected boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERBMPString)) - { - return false; - } - - DERBMPString s = (DERBMPString)o; - - return Arrays.areEqual(string, s.string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length * 2) + (string.length * 2); - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.BMP_STRING); - out.writeLength(string.length * 2); - - for (int i = 0; i != string.length; i++) - { - char c = string[i]; - - out.write((byte)(c >> 8)); - out.write((byte)c); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBitString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBitString.java deleted file mode 100644 index 6fbc2db95..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBitString.java +++ /dev/null @@ -1,313 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.io.Streams; - -public class DERBitString - extends ASN1Primitive - implements ASN1String -{ - private static final char[] table = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - - protected byte[] data; - protected int padBits; - - /** - * return the correct number of pad bits for a bit string defined in - * a 32 bit constant - */ - static protected int getPadBits( - int bitString) - { - int val = 0; - for (int i = 3; i >= 0; i--) - { - // - // this may look a little odd, but if it isn't done like this pre jdk1.2 - // JVM's break! - // - if (i != 0) - { - if ((bitString >> (i * 8)) != 0) - { - val = (bitString >> (i * 8)) & 0xFF; - break; - } - } - else - { - if (bitString != 0) - { - val = bitString & 0xFF; - break; - } - } - } - - if (val == 0) - { - return 7; - } - - - int bits = 1; - - while (((val <<= 1) & 0xFF) != 0) - { - bits++; - } - - return 8 - bits; - } - - /** - * return the correct number of bytes for a bit string defined in - * a 32 bit constant - */ - static protected byte[] getBytes(int bitString) - { - int bytes = 4; - for (int i = 3; i >= 1; i--) - { - if ((bitString & (0xFF << (i * 8))) != 0) - { - break; - } - bytes--; - } - - byte[] result = new byte[bytes]; - for (int i = 0; i < bytes; i++) - { - result[i] = (byte) ((bitString >> (i * 8)) & 0xFF); - } - - return result; - } - - /** - * return a Bit String from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERBitString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERBitString) - { - return (DERBitString)obj; - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Bit String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERBitString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERBitString) - { - return getInstance(o); - } - else - { - return fromOctetString(((ASN1OctetString)o).getOctets()); - } - } - - protected DERBitString( - byte data, - int padBits) - { - this.data = new byte[1]; - this.data[0] = data; - this.padBits = padBits; - } - - /** - * @param data the octets making up the bit string. - * @param padBits the number of extra bits at the end of the string. - */ - public DERBitString( - byte[] data, - int padBits) - { - this.data = data; - this.padBits = padBits; - } - - public DERBitString( - byte[] data) - { - this(data, 0); - } - - public DERBitString( - int value) - { - this.data = getBytes(value); - this.padBits = getPadBits(value); - } - - public DERBitString( - ASN1Encodable obj) - throws IOException - { - this.data = obj.toASN1Primitive().getEncoded(ASN1Encoding.DER); - this.padBits = 0; - } - - public byte[] getBytes() - { - return data; - } - - public int getPadBits() - { - return padBits; - } - - - /** - * @return the value of the bit string as an int (truncating if necessary) - */ - public int intValue() - { - int value = 0; - - for (int i = 0; i != data.length && i != 4; i++) - { - value |= (data[i] & 0xff) << (8 * i); - } - - return value; - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(data.length + 1) + data.length + 1; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - byte[] bytes = new byte[getBytes().length + 1]; - - bytes[0] = (byte)getPadBits(); - System.arraycopy(getBytes(), 0, bytes, 1, bytes.length - 1); - - out.writeEncoded(BERTags.BIT_STRING, bytes); - } - - public int hashCode() - { - return padBits ^ Arrays.hashCode(data); - } - - protected boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERBitString)) - { - return false; - } - - DERBitString other = (DERBitString)o; - - return this.padBits == other.padBits - && Arrays.areEqual(this.data, other.data); - } - - public String getString() - { - StringBuffer buf = new StringBuffer("#"); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - try - { - aOut.writeObject(this); - } - catch (IOException e) - { - throw new RuntimeException("internal error encoding BitString"); - } - - byte[] string = bOut.toByteArray(); - - for (int i = 0; i != string.length; i++) - { - buf.append(table[(string[i] >>> 4) & 0xf]); - buf.append(table[string[i] & 0xf]); - } - - return buf.toString(); - } - - public String toString() - { - return getString(); - } - - static DERBitString fromOctetString(byte[] bytes) - { - if (bytes.length < 1) - { - throw new IllegalArgumentException("truncated BIT STRING detected"); - } - - int padBits = bytes[0]; - byte[] data = new byte[bytes.length - 1]; - - if (data.length != 0) - { - System.arraycopy(bytes, 1, data, 0, bytes.length - 1); - } - - return new DERBitString(data, padBits); - } - - static DERBitString fromInputStream(int length, InputStream stream) - throws IOException - { - if (length < 1) - { - throw new IllegalArgumentException("truncated BIT STRING detected"); - } - - int padBits = stream.read(); - byte[] data = new byte[length - 1]; - - if (data.length != 0) - { - if (Streams.readFully(stream, data) != data.length) - { - throw new EOFException("EOF encountered in middle of BIT STRING"); - } - } - - return new DERBitString(data, padBits); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBoolean.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBoolean.java deleted file mode 100644 index c176bfb73..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERBoolean.java +++ /dev/null @@ -1,179 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; - -public class DERBoolean - extends ASN1Primitive -{ - private static final byte[] TRUE_VALUE = new byte[] { (byte)0xff }; - private static final byte[] FALSE_VALUE = new byte[] { 0 }; - - private byte[] value; - - public static final ASN1Boolean FALSE = new ASN1Boolean(false); - public static final ASN1Boolean TRUE = new ASN1Boolean(true); - - - /** - * return a boolean from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1Boolean getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1Boolean) - { - return (ASN1Boolean)obj; - } - - if (obj instanceof DERBoolean) - { - return ((DERBoolean)obj).isTrue() ? DERBoolean.TRUE : DERBoolean.FALSE; - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a ASN1Boolean from the passed in boolean. - */ - public static ASN1Boolean getInstance( - boolean value) - { - return (value ? TRUE : FALSE); - } - - /** - * return a ASN1Boolean from the passed in boolean. - */ - public static ASN1Boolean getInstance( - int value) - { - return (value != 0 ? TRUE : FALSE); - } - - /** - * return a Boolean from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1Boolean getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERBoolean) - { - return getInstance(o); - } - else - { - return ASN1Boolean.fromOctetString(((ASN1OctetString)o).getOctets()); - } - } - - DERBoolean( - byte[] value) - { - if (value.length != 1) - { - throw new IllegalArgumentException("byte value should have 1 byte in it"); - } - - if (value[0] == 0) - { - this.value = FALSE_VALUE; - } - else if (value[0] == 0xff) - { - this.value = TRUE_VALUE; - } - else - { - this.value = Arrays.clone(value); - } - } - - /** - * @deprecated use getInstance(boolean) method. - * @param value - */ - public DERBoolean( - boolean value) - { - this.value = (value) ? TRUE_VALUE : FALSE_VALUE; - } - - public boolean isTrue() - { - return (value[0] != 0); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 3; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.BOOLEAN, value); - } - - protected boolean asn1Equals( - ASN1Primitive o) - { - if ((o == null) || !(o instanceof DERBoolean)) - { - return false; - } - - return (value[0] == ((DERBoolean)o).value[0]); - } - - public int hashCode() - { - return value[0]; - } - - - public String toString() - { - return (value[0] != 0) ? "TRUE" : "FALSE"; - } - - static ASN1Boolean fromOctetString(byte[] value) - { - if (value.length != 1) - { - throw new IllegalArgumentException("BOOLEAN value should have 1 byte in it"); - } - - if (value[0] == 0) - { - return FALSE; - } - else if (value[0] == 0xff) - { - return TRUE; - } - else - { - return new ASN1Boolean(value); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREncodableVector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREncodableVector.java deleted file mode 100644 index f381a6c12..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREncodableVector.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.asn1; - -/** - * a general class for building up a vector of DER encodable objects - - * this will eventually be superceded by ASN1EncodableVector so you should - * use that class in preference. - */ -public class DEREncodableVector - extends ASN1EncodableVector -{ - /** - * @deprecated use ASN1EncodableVector instead. - */ - public DEREncodableVector() - { - - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREnumerated.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREnumerated.java deleted file mode 100644 index 7503c8992..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEREnumerated.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * Use ASN1Enumerated instead of this. - */ -public class DEREnumerated - extends ASN1Primitive -{ - byte[] bytes; - - /** - * return an integer from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1Enumerated getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1Enumerated) - { - return (ASN1Enumerated)obj; - } - - if (obj instanceof DEREnumerated) - { - return new ASN1Enumerated(((DEREnumerated)obj).getValue()); - } - - if (obj instanceof byte[]) - { - try - { - return (ASN1Enumerated)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an Enumerated from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1Enumerated getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DEREnumerated) - { - return getInstance(o); - } - else - { - return fromOctetString(((ASN1OctetString)o).getOctets()); - } - } - - /** - * @deprecated use ASN1Enumerated - */ - public DEREnumerated( - int value) - { - bytes = BigInteger.valueOf(value).toByteArray(); - } - - /** - * @deprecated use ASN1Enumerated - */ - public DEREnumerated( - BigInteger value) - { - bytes = value.toByteArray(); - } - - /** - * @deprecated use ASN1Enumerated - */ - public DEREnumerated( - byte[] bytes) - { - this.bytes = bytes; - } - - public BigInteger getValue() - { - return new BigInteger(bytes); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(bytes.length) + bytes.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.ENUMERATED, bytes); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DEREnumerated)) - { - return false; - } - - DEREnumerated other = (DEREnumerated)o; - - return Arrays.areEqual(this.bytes, other.bytes); - } - - public int hashCode() - { - return Arrays.hashCode(bytes); - } - - private static ASN1Enumerated[] cache = new ASN1Enumerated[12]; - - static ASN1Enumerated fromOctetString(byte[] enc) - { - if (enc.length > 1) - { - return new ASN1Enumerated(Arrays.clone(enc)); - } - - if (enc.length == 0) - { - throw new IllegalArgumentException("ENUMERATED has zero length"); - } - int value = enc[0] & 0xff; - - if (value >= cache.length) - { - return new ASN1Enumerated(Arrays.clone(enc)); - } - - ASN1Enumerated possibleMatch = cache[value]; - - if (possibleMatch == null) - { - possibleMatch = cache[value] = new ASN1Enumerated(Arrays.clone(enc)); - } - - return possibleMatch; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternal.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternal.java deleted file mode 100644 index 5cf48f0ff..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternal.java +++ /dev/null @@ -1,294 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -/** - * Class representing the DER-type External - */ -public class DERExternal - extends ASN1Primitive -{ - private ASN1ObjectIdentifier directReference; - private ASN1Integer indirectReference; - private ASN1Primitive dataValueDescriptor; - private int encoding; - private ASN1Primitive externalContent; - - public DERExternal(ASN1EncodableVector vector) - { - int offset = 0; - - ASN1Primitive enc = getObjFromVector(vector, offset); - if (enc instanceof ASN1ObjectIdentifier) - { - directReference = (ASN1ObjectIdentifier)enc; - offset++; - enc = getObjFromVector(vector, offset); - } - if (enc instanceof ASN1Integer) - { - indirectReference = (ASN1Integer) enc; - offset++; - enc = getObjFromVector(vector, offset); - } - if (!(enc instanceof DERTaggedObject)) - { - dataValueDescriptor = (ASN1Primitive) enc; - offset++; - enc = getObjFromVector(vector, offset); - } - - if (vector.size() != offset + 1) - { - throw new IllegalArgumentException("input vector too large"); - } - - if (!(enc instanceof DERTaggedObject)) - { - throw new IllegalArgumentException("No tagged object found in vector. Structure doesn't seem to be of type External"); - } - DERTaggedObject obj = (DERTaggedObject)enc; - setEncoding(obj.getTagNo()); - externalContent = obj.getObject(); - } - - private ASN1Primitive getObjFromVector(ASN1EncodableVector v, int index) - { - if (v.size() <= index) - { - throw new IllegalArgumentException("too few objects in input vector"); - } - - return v.get(index).toASN1Primitive(); - } - /** - * Creates a new instance of DERExternal - * See X.690 for more informations about the meaning of these parameters - * @param directReference The direct reference or null if not set. - * @param indirectReference The indirect reference or null if not set. - * @param dataValueDescriptor The data value descriptor or null if not set. - * @param externalData The external data in its encoded form. - */ - public DERExternal(ASN1ObjectIdentifier directReference, ASN1Integer indirectReference, ASN1Primitive dataValueDescriptor, DERTaggedObject externalData) - { - this(directReference, indirectReference, dataValueDescriptor, externalData.getTagNo(), externalData.toASN1Primitive()); - } - - /** - * Creates a new instance of DERExternal. - * See X.690 for more informations about the meaning of these parameters - * @param directReference The direct reference or null if not set. - * @param indirectReference The indirect reference or null if not set. - * @param dataValueDescriptor The data value descriptor or null if not set. - * @param encoding The encoding to be used for the external data - * @param externalData The external data - */ - public DERExternal(ASN1ObjectIdentifier directReference, ASN1Integer indirectReference, ASN1Primitive dataValueDescriptor, int encoding, ASN1Primitive externalData) - { - setDirectReference(directReference); - setIndirectReference(indirectReference); - setDataValueDescriptor(dataValueDescriptor); - setEncoding(encoding); - setExternalContent(externalData.toASN1Primitive()); - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - public int hashCode() - { - int ret = 0; - if (directReference != null) - { - ret = directReference.hashCode(); - } - if (indirectReference != null) - { - ret ^= indirectReference.hashCode(); - } - if (dataValueDescriptor != null) - { - ret ^= dataValueDescriptor.hashCode(); - } - ret ^= externalContent.hashCode(); - return ret; - } - - boolean isConstructed() - { - return true; - } - - int encodedLength() - throws IOException - { - return this.getEncoded().length; - } - - /* (non-Javadoc) - * @see org.spongycastle.asn1.ASN1Primitive#encode(org.spongycastle.asn1.DEROutputStream) - */ - void encode(ASN1OutputStream out) - throws IOException - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - if (directReference != null) - { - baos.write(directReference.getEncoded(ASN1Encoding.DER)); - } - if (indirectReference != null) - { - baos.write(indirectReference.getEncoded(ASN1Encoding.DER)); - } - if (dataValueDescriptor != null) - { - baos.write(dataValueDescriptor.getEncoded(ASN1Encoding.DER)); - } - DERTaggedObject obj = new DERTaggedObject(true, encoding, externalContent); - baos.write(obj.getEncoded(ASN1Encoding.DER)); - out.writeEncoded(BERTags.CONSTRUCTED, BERTags.EXTERNAL, baos.toByteArray()); - } - - /* (non-Javadoc) - * @see org.spongycastle.asn1.ASN1Primitive#asn1Equals(org.spongycastle.asn1.ASN1Primitive) - */ - boolean asn1Equals(ASN1Primitive o) - { - if (!(o instanceof DERExternal)) - { - return false; - } - if (this == o) - { - return true; - } - DERExternal other = (DERExternal)o; - if (directReference != null) - { - if (other.directReference == null || !other.directReference.equals(directReference)) - { - return false; - } - } - if (indirectReference != null) - { - if (other.indirectReference == null || !other.indirectReference.equals(indirectReference)) - { - return false; - } - } - if (dataValueDescriptor != null) - { - if (other.dataValueDescriptor == null || !other.dataValueDescriptor.equals(dataValueDescriptor)) - { - return false; - } - } - return externalContent.equals(other.externalContent); - } - - /** - * Returns the data value descriptor - * @return The descriptor - */ - public ASN1Primitive getDataValueDescriptor() - { - return dataValueDescriptor; - } - - /** - * Returns the direct reference of the external element - * @return The reference - */ - public ASN1ObjectIdentifier getDirectReference() - { - return directReference; - } - - /** - * Returns the encoding of the content. Valid values are - *

    - * @return The encoding - */ - public int getEncoding() - { - return encoding; - } - - /** - * Returns the content of this element - * @return The content - */ - public ASN1Primitive getExternalContent() - { - return externalContent; - } - - /** - * Returns the indirect reference of this element - * @return The reference - */ - public ASN1Integer getIndirectReference() - { - return indirectReference; - } - - /** - * Sets the data value descriptor - * @param dataValueDescriptor The descriptor - */ - private void setDataValueDescriptor(ASN1Primitive dataValueDescriptor) - { - this.dataValueDescriptor = dataValueDescriptor; - } - - /** - * Sets the direct reference of the external element - * @param directReferemce The reference - */ - private void setDirectReference(ASN1ObjectIdentifier directReferemce) - { - this.directReference = directReferemce; - } - - /** - * Sets the encoding of the content. Valid values are - * - * @param encoding The encoding - */ - private void setEncoding(int encoding) - { - if (encoding < 0 || encoding > 2) - { - throw new IllegalArgumentException("invalid encoding value: " + encoding); - } - this.encoding = encoding; - } - - /** - * Sets the content of this element - * @param externalContent The content - */ - private void setExternalContent(ASN1Primitive externalContent) - { - this.externalContent = externalContent; - } - - /** - * Sets the indirect reference of this element - * @param indirectReference The reference - */ - private void setIndirectReference(ASN1Integer indirectReference) - { - this.indirectReference = indirectReference; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternalParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternalParser.java deleted file mode 100644 index 39f46b522..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERExternalParser.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class DERExternalParser - implements ASN1Encodable, InMemoryRepresentable -{ - private ASN1StreamParser _parser; - - /** - * - */ - public DERExternalParser(ASN1StreamParser parser) - { - this._parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return _parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - try - { - return new DERExternal(_parser.readVector()); - } - catch (IllegalArgumentException e) - { - throw new ASN1Exception(e.getMessage(), e); - } - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException ioe) - { - throw new ASN1ParsingException("unable to get DER object", ioe); - } - catch (IllegalArgumentException ioe) - { - throw new ASN1ParsingException("unable to get DER object", ioe); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERFactory.java deleted file mode 100644 index 2900ddb9b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERFactory.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.spongycastle.asn1; - -class DERFactory -{ - static final ASN1Sequence EMPTY_SEQUENCE = new DERSequence(); - static final ASN1Set EMPTY_SET = new DERSet(); - - static ASN1Sequence createSequence(ASN1EncodableVector v) - { - return v.size() < 1 ? EMPTY_SEQUENCE : new DLSequence(v); - } - - static ASN1Set createSet(ASN1EncodableVector v) - { - return v.size() < 1 ? EMPTY_SET : new DLSet(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralString.java deleted file mode 100644 index 1c8435c77..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralString.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -public class DERGeneralString - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - public static DERGeneralString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERGeneralString) - { - return (DERGeneralString) obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERGeneralString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - public static DERGeneralString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERGeneralString) - { - return getInstance(o); - } - else - { - return new DERGeneralString(((ASN1OctetString)o).getOctets()); - } - } - - DERGeneralString(byte[] string) - { - this.string = string; - } - - public DERGeneralString(String string) - { - this.string = Strings.toByteArray(string); - } - - public String getString() - { - return Strings.fromByteArray(string); - } - - public String toString() - { - return getString(); - } - - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode(ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.GENERAL_STRING, string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - boolean asn1Equals(ASN1Primitive o) - { - if (!(o instanceof DERGeneralString)) - { - return false; - } - DERGeneralString s = (DERGeneralString)o; - - return Arrays.areEqual(string, s.string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralizedTime.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralizedTime.java deleted file mode 100644 index e740769d1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGeneralizedTime.java +++ /dev/null @@ -1,350 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; -import java.util.TimeZone; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * Generalized time object. - */ -public class DERGeneralizedTime - extends ASN1Primitive -{ - private byte[] time; - - /** - * return a generalized time from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1GeneralizedTime getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1GeneralizedTime) - { - return (ASN1GeneralizedTime)obj; - } - - if (obj instanceof DERGeneralizedTime) - { - return new ASN1GeneralizedTime(((DERGeneralizedTime)obj).time); - } - - if (obj instanceof byte[]) - { - try - { - return (ASN1GeneralizedTime)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Generalized Time object from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1GeneralizedTime getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERGeneralizedTime) - { - return getInstance(o); - } - else - { - return new ASN1GeneralizedTime(((ASN1OctetString)o).getOctets()); - } - } - - /** - * The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z - * for local time, or Z+-HHMM on the end, for difference between local - * time and UTC time. The fractional second amount f must consist of at - * least one number with trailing zeroes removed. - * - * @param time the time string. - * @exception IllegalArgumentException if String is an illegal format. - */ - public DERGeneralizedTime( - String time) - { - this.time = Strings.toByteArray(time); - try - { - this.getDate(); - } - catch (ParseException e) - { - throw new IllegalArgumentException("invalid date string: " + e.getMessage()); - } - } - - /** - * base constructor from a java.util.date object - */ - public DERGeneralizedTime( - Date time) - { - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); - - dateF.setTimeZone(new SimpleTimeZone(0,"Z")); - - this.time = Strings.toByteArray(dateF.format(time)); - } - - DERGeneralizedTime( - byte[] bytes) - { - this.time = bytes; - } - - /** - * Return the time. - * @return The time string as it appeared in the encoded object. - */ - public String getTimeString() - { - return Strings.fromByteArray(time); - } - - /** - * return the time - always in the form of - * YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm). - *

    - * Normally in a certificate we would expect "Z" rather than "GMT", - * however adding the "GMT" means we can just use: - *

    -     *     dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
    -     * 
    - * To read in the time and get a date which is compatible with our local - * time zone. - */ - public String getTime() - { - String stime = Strings.fromByteArray(time); - - // - // standardise the format. - // - if (stime.charAt(stime.length() - 1) == 'Z') - { - return stime.substring(0, stime.length() - 1) + "GMT+00:00"; - } - else - { - int signPos = stime.length() - 5; - char sign = stime.charAt(signPos); - if (sign == '-' || sign == '+') - { - return stime.substring(0, signPos) - + "GMT" - + stime.substring(signPos, signPos + 3) - + ":" - + stime.substring(signPos + 3); - } - else - { - signPos = stime.length() - 3; - sign = stime.charAt(signPos); - if (sign == '-' || sign == '+') - { - return stime.substring(0, signPos) - + "GMT" - + stime.substring(signPos) - + ":00"; - } - } - } - return stime + calculateGMTOffset(); - } - - private String calculateGMTOffset() - { - String sign = "+"; - TimeZone timeZone = TimeZone.getDefault(); - int offset = timeZone.getRawOffset(); - if (offset < 0) - { - sign = "-"; - offset = -offset; - } - int hours = offset / (60 * 60 * 1000); - int minutes = (offset - (hours * 60 * 60 * 1000)) / (60 * 1000); - - try - { - if (timeZone.useDaylightTime() && timeZone.inDaylightTime(this.getDate())) - { - hours += sign.equals("+") ? 1 : -1; - } - } - catch (ParseException e) - { - // we'll do our best and ignore daylight savings - } - - return "GMT" + sign + convert(hours) + ":" + convert(minutes); - } - - private String convert(int time) - { - if (time < 10) - { - return "0" + time; - } - - return Integer.toString(time); - } - - public Date getDate() - throws ParseException - { - SimpleDateFormat dateF; - String stime = Strings.fromByteArray(time); - String d = stime; - - if (stime.endsWith("Z")) - { - if (hasFractionalSeconds()) - { - dateF = new SimpleDateFormat("yyyyMMddHHmmss.SSS'Z'"); - } - else - { - dateF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); - } - - dateF.setTimeZone(new SimpleTimeZone(0, "Z")); - } - else if (stime.indexOf('-') > 0 || stime.indexOf('+') > 0) - { - d = this.getTime(); - if (hasFractionalSeconds()) - { - dateF = new SimpleDateFormat("yyyyMMddHHmmss.SSSz"); - } - else - { - dateF = new SimpleDateFormat("yyyyMMddHHmmssz"); - } - - dateF.setTimeZone(new SimpleTimeZone(0, "Z")); - } - else - { - if (hasFractionalSeconds()) - { - dateF = new SimpleDateFormat("yyyyMMddHHmmss.SSS"); - } - else - { - dateF = new SimpleDateFormat("yyyyMMddHHmmss"); - } - - dateF.setTimeZone(new SimpleTimeZone(0, TimeZone.getDefault().getID())); - } - - if (hasFractionalSeconds()) - { - // java misinterprets extra digits as being milliseconds... - String frac = d.substring(14); - int index; - for (index = 1; index < frac.length(); index++) - { - char ch = frac.charAt(index); - if (!('0' <= ch && ch <= '9')) - { - break; - } - } - - if (index - 1 > 3) - { - frac = frac.substring(0, 4) + frac.substring(index); - d = d.substring(0, 14) + frac; - } - else if (index - 1 == 1) - { - frac = frac.substring(0, index) + "00" + frac.substring(index); - d = d.substring(0, 14) + frac; - } - else if (index - 1 == 2) - { - frac = frac.substring(0, index) + "0" + frac.substring(index); - d = d.substring(0, 14) + frac; - } - } - - return dateF.parse(d); - } - - private boolean hasFractionalSeconds() - { - for (int i = 0; i != time.length; i++) - { - if (time[i] == '.') - { - if (i == 14) - { - return true; - } - } - } - return false; - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - int length = time.length; - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.GENERALIZED_TIME, time); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERGeneralizedTime)) - { - return false; - } - - return Arrays.areEqual(time, ((DERGeneralizedTime)o).time); - } - - public int hashCode() - { - return Arrays.hashCode(time); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGenerator.java deleted file mode 100644 index da6d65450..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERGenerator.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.util.io.Streams; - -public abstract class DERGenerator - extends ASN1Generator -{ - private boolean _tagged = false; - private boolean _isExplicit; - private int _tagNo; - - protected DERGenerator( - OutputStream out) - { - super(out); - } - - public DERGenerator( - OutputStream out, - int tagNo, - boolean isExplicit) - { - super(out); - - _tagged = true; - _isExplicit = isExplicit; - _tagNo = tagNo; - } - - private void writeLength( - OutputStream out, - int length) - throws IOException - { - if (length > 127) - { - int size = 1; - int val = length; - - while ((val >>>= 8) != 0) - { - size++; - } - - out.write((byte)(size | 0x80)); - - for (int i = (size - 1) * 8; i >= 0; i -= 8) - { - out.write((byte)(length >> i)); - } - } - else - { - out.write((byte)length); - } - } - - void writeDEREncoded( - OutputStream out, - int tag, - byte[] bytes) - throws IOException - { - out.write(tag); - writeLength(out, bytes.length); - out.write(bytes); - } - - void writeDEREncoded( - int tag, - byte[] bytes) - throws IOException - { - if (_tagged) - { - int tagNum = _tagNo | BERTags.TAGGED; - - if (_isExplicit) - { - int newTag = _tagNo | BERTags.CONSTRUCTED | BERTags.TAGGED; - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - writeDEREncoded(bOut, tag, bytes); - - writeDEREncoded(_out, newTag, bOut.toByteArray()); - } - else - { - if ((tag & BERTags.CONSTRUCTED) != 0) - { - writeDEREncoded(_out, tagNum | BERTags.CONSTRUCTED, bytes); - } - else - { - writeDEREncoded(_out, tagNum, bytes); - } - } - } - else - { - writeDEREncoded(_out, tag, bytes); - } - } - - void writeDEREncoded( - OutputStream out, - int tag, - InputStream in) - throws IOException - { - writeDEREncoded(out, tag, Streams.readAll(in)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERIA5String.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERIA5String.java deleted file mode 100644 index f4a5905fe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERIA5String.java +++ /dev/null @@ -1,183 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER IA5String object - this is an ascii string. - */ -public class DERIA5String - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a IA5 string from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERIA5String getInstance( - Object obj) - { - if (obj == null || obj instanceof DERIA5String) - { - return (DERIA5String)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERIA5String)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an IA5 String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERIA5String getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERIA5String) - { - return getInstance(o); - } - else - { - return new DERIA5String(((ASN1OctetString)o).getOctets()); - } - } - - /** - * basic constructor - with bytes. - */ - DERIA5String( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - without validation. - */ - public DERIA5String( - String string) - { - this(string, false); - } - - /** - * Constructor with optional validation. - * - * @param string the base string to wrap. - * @param validate whether or not to check the string. - * @throws IllegalArgumentException if validate is true and the string - * contains characters that should not be in an IA5String. - */ - public DERIA5String( - String string, - boolean validate) - { - if (string == null) - { - throw new NullPointerException("string cannot be null"); - } - if (validate && !isIA5String(string)) - { - throw new IllegalArgumentException("string contains illegal characters"); - } - - this.string = Strings.toByteArray(string); - } - - public String getString() - { - return Strings.fromByteArray(string); - } - - public String toString() - { - return getString(); - } - - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.IA5_STRING, string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERIA5String)) - { - return false; - } - - DERIA5String s = (DERIA5String)o; - - return Arrays.areEqual(string, s.string); - } - - /** - * return true if the passed in String can be represented without - * loss as an IA5String, false otherwise. - * - * @return true if in printable set, false otherwise. - */ - public static boolean isIA5String( - String str) - { - for (int i = str.length() - 1; i >= 0; i--) - { - char ch = str.charAt(i); - - if (ch > 0x007f) - { - return false; - } - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERInteger.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERInteger.java deleted file mode 100644 index 77051cfbe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERInteger.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * Use ASN1Integer instead of this, - */ -public class DERInteger - extends ASN1Primitive -{ - byte[] bytes; - - /** - * return an integer from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1Integer getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1Integer) - { - return (ASN1Integer)obj; - } - if (obj instanceof DERInteger) - { - return new ASN1Integer((((DERInteger)obj).getValue())); - } - - if (obj instanceof byte[]) - { - try - { - return (ASN1Integer)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an Integer from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1Integer getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERInteger) - { - return getInstance(o); - } - else - { - return new ASN1Integer(ASN1OctetString.getInstance(obj.getObject()).getOctets()); - } - } - - /** - * @deprecated use ASN1Integer constructor - */ - public DERInteger( - long value) - { - bytes = BigInteger.valueOf(value).toByteArray(); - } - - /** - * @deprecated use ASN1Integer constructor - */ - public DERInteger( - BigInteger value) - { - bytes = value.toByteArray(); - } - - /** - * @deprecated use ASN1Integer constructor - */ - public DERInteger( - byte[] bytes) - { - this.bytes = bytes; - } - - public BigInteger getValue() - { - return new BigInteger(bytes); - } - - /** - * in some cases positive values get crammed into a space, - * that's not quite big enough... - */ - public BigInteger getPositiveValue() - { - return new BigInteger(1, bytes); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(bytes.length) + bytes.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.INTEGER, bytes); - } - - public int hashCode() - { - int value = 0; - - for (int i = 0; i != bytes.length; i++) - { - value ^= (bytes[i] & 0xff) << (i % 4); - } - - return value; - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERInteger)) - { - return false; - } - - DERInteger other = (DERInteger)o; - - return Arrays.areEqual(bytes, other.bytes); - } - - public String toString() - { - return getValue().toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNull.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNull.java deleted file mode 100644 index f093cd272..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNull.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -/** - * A NULL object. - */ -public class DERNull - extends ASN1Null -{ - public static final DERNull INSTANCE = new DERNull(); - - private static final byte[] zeroBytes = new byte[0]; - - /** - * @deprecated use DERNull.INSTANCE - */ - public DERNull() - { - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 2; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.NULL, zeroBytes); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNumericString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNumericString.java deleted file mode 100644 index d092fce0b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERNumericString.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }. - */ -public class DERNumericString - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a Numeric string from the passed in object - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERNumericString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERNumericString) - { - return (DERNumericString)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERNumericString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an Numeric String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERNumericString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERNumericString) - { - return getInstance(o); - } - else - { - return new DERNumericString(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - with bytes. - */ - DERNumericString( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - without validation.. - */ - public DERNumericString( - String string) - { - this(string, false); - } - - /** - * Constructor with optional validation. - * - * @param string the base string to wrap. - * @param validate whether or not to check the string. - * @throws IllegalArgumentException if validate is true and the string - * contains characters that should not be in a NumericString. - */ - public DERNumericString( - String string, - boolean validate) - { - if (validate && !isNumericString(string)) - { - throw new IllegalArgumentException("string contains illegal characters"); - } - - this.string = Strings.toByteArray(string); - } - - public String getString() - { - return Strings.fromByteArray(string); - } - - public String toString() - { - return getString(); - } - - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.NUMERIC_STRING, string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERNumericString)) - { - return false; - } - - DERNumericString s = (DERNumericString)o; - - return Arrays.areEqual(string, s.string); - } - - /** - * Return true if the string can be represented as a NumericString ('0'..'9', ' ') - * - * @param str string to validate. - * @return true if numeric, fale otherwise. - */ - public static boolean isNumericString( - String str) - { - for (int i = str.length() - 1; i >= 0; i--) - { - char ch = str.charAt(i); - - if (ch > 0x007f) - { - return false; - } - - if (('0' <= ch && ch <= '9') || ch == ' ') - { - continue; - } - - return false; - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERObjectIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERObjectIdentifier.java deleted file mode 100644 index dd0106560..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERObjectIdentifier.java +++ /dev/null @@ -1,446 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * Use ASN1ObjectIdentifier instead of this, - */ -public class DERObjectIdentifier - extends ASN1Primitive -{ - String identifier; - - private byte[] body; - - /** - * return an OID from the passed in object - * - * @throws IllegalArgumentException if the object cannot be converted. - */ - public static ASN1ObjectIdentifier getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1ObjectIdentifier) - { - return (ASN1ObjectIdentifier)obj; - } - - if (obj instanceof DERObjectIdentifier) - { - return new ASN1ObjectIdentifier(((DERObjectIdentifier)obj).getId()); - } - - if (obj instanceof ASN1Encodable && ((ASN1Encodable)obj).toASN1Primitive() instanceof ASN1ObjectIdentifier) - { - return (ASN1ObjectIdentifier)((ASN1Encodable)obj).toASN1Primitive(); - } - - if (obj instanceof byte[]) - { - byte[] enc = (byte[])obj; - if (enc[0] == BERTags.OBJECT_IDENTIFIER) - { - try - { - return (ASN1ObjectIdentifier)fromByteArray(enc); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct sequence from byte[]: " + e.getMessage()); - } - } - else - { // TODO: this really shouldn't be supported here... - return ASN1ObjectIdentifier.fromOctetString((byte[])obj); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an Object Identifier from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @throws IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1ObjectIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERObjectIdentifier) - { - return getInstance(o); - } - else - { - return ASN1ObjectIdentifier.fromOctetString(ASN1OctetString.getInstance(obj.getObject()).getOctets()); - } - } - - private static final long LONG_LIMIT = (Long.MAX_VALUE >> 7) - 0x7f; - - DERObjectIdentifier( - byte[] bytes) - { - StringBuffer objId = new StringBuffer(); - long value = 0; - BigInteger bigValue = null; - boolean first = true; - - for (int i = 0; i != bytes.length; i++) - { - int b = bytes[i] & 0xff; - - if (value <= LONG_LIMIT) - { - value += (b & 0x7f); - if ((b & 0x80) == 0) // end of number reached - { - if (first) - { - if (value < 40) - { - objId.append('0'); - } - else if (value < 80) - { - objId.append('1'); - value -= 40; - } - else - { - objId.append('2'); - value -= 80; - } - first = false; - } - - objId.append('.'); - objId.append(value); - value = 0; - } - else - { - value <<= 7; - } - } - else - { - if (bigValue == null) - { - bigValue = BigInteger.valueOf(value); - } - bigValue = bigValue.or(BigInteger.valueOf(b & 0x7f)); - if ((b & 0x80) == 0) - { - if (first) - { - objId.append('2'); - bigValue = bigValue.subtract(BigInteger.valueOf(80)); - first = false; - } - - objId.append('.'); - objId.append(bigValue); - bigValue = null; - value = 0; - } - else - { - bigValue = bigValue.shiftLeft(7); - } - } - } - - this.identifier = objId.toString(); - this.body = Arrays.clone(bytes); - } - - /** - * @deprecated use ASN1ObjectIdentifier constructor. - */ - public DERObjectIdentifier( - String identifier) - { - if (identifier == null) - { - throw new IllegalArgumentException("'identifier' cannot be null"); - } - if (!isValidIdentifier(identifier)) - { - throw new IllegalArgumentException("string " + identifier + " not an OID"); - } - - this.identifier = identifier; - } - - DERObjectIdentifier(DERObjectIdentifier oid, String branchID) - { - if (!isValidBranchID(branchID, 0)) - { - throw new IllegalArgumentException("string " + branchID + " not a valid OID branch"); - } - - this.identifier = oid.getId() + "." + branchID; - } - - public String getId() - { - return identifier; - } - - private void writeField( - ByteArrayOutputStream out, - long fieldValue) - { - byte[] result = new byte[9]; - int pos = 8; - result[pos] = (byte)((int)fieldValue & 0x7f); - while (fieldValue >= (1L << 7)) - { - fieldValue >>= 7; - result[--pos] = (byte)((int)fieldValue & 0x7f | 0x80); - } - out.write(result, pos, 9 - pos); - } - - private void writeField( - ByteArrayOutputStream out, - BigInteger fieldValue) - { - int byteCount = (fieldValue.bitLength() + 6) / 7; - if (byteCount == 0) - { - out.write(0); - } - else - { - BigInteger tmpValue = fieldValue; - byte[] tmp = new byte[byteCount]; - for (int i = byteCount - 1; i >= 0; i--) - { - tmp[i] = (byte)((tmpValue.intValue() & 0x7f) | 0x80); - tmpValue = tmpValue.shiftRight(7); - } - tmp[byteCount - 1] &= 0x7f; - out.write(tmp, 0, tmp.length); - } - } - - private void doOutput(ByteArrayOutputStream aOut) - { - OIDTokenizer tok = new OIDTokenizer(identifier); - int first = Integer.parseInt(tok.nextToken()) * 40; - - String secondToken = tok.nextToken(); - if (secondToken.length() <= 18) - { - writeField(aOut, first + Long.parseLong(secondToken)); - } - else - { - writeField(aOut, new BigInteger(secondToken).add(BigInteger.valueOf(first))); - } - - while (tok.hasMoreTokens()) - { - String token = tok.nextToken(); - if (token.length() <= 18) - { - writeField(aOut, Long.parseLong(token)); - } - else - { - writeField(aOut, new BigInteger(token)); - } - } - } - - protected synchronized byte[] getBody() - { - if (body == null) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - doOutput(bOut); - - body = bOut.toByteArray(); - } - - return body; - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - throws IOException - { - int length = getBody().length; - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - byte[] enc = getBody(); - - out.write(BERTags.OBJECT_IDENTIFIER); - out.writeLength(enc.length); - out.write(enc); - } - - public int hashCode() - { - return identifier.hashCode(); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERObjectIdentifier)) - { - return false; - } - - return identifier.equals(((DERObjectIdentifier)o).identifier); - } - - public String toString() - { - return getId(); - } - - private static boolean isValidBranchID( - String branchID, int start) - { - boolean periodAllowed = false; - - int pos = branchID.length(); - while (--pos >= start) - { - char ch = branchID.charAt(pos); - - // TODO Leading zeroes? - if ('0' <= ch && ch <= '9') - { - periodAllowed = true; - continue; - } - - if (ch == '.') - { - if (!periodAllowed) - { - return false; - } - - periodAllowed = false; - continue; - } - - return false; - } - - return periodAllowed; - } - - private static boolean isValidIdentifier( - String identifier) - { - if (identifier.length() < 3 || identifier.charAt(1) != '.') - { - return false; - } - - char first = identifier.charAt(0); - if (first < '0' || first > '2') - { - return false; - } - - return isValidBranchID(identifier, 2); - } - - private static ASN1ObjectIdentifier[][] cache = new ASN1ObjectIdentifier[256][]; - - static ASN1ObjectIdentifier fromOctetString(byte[] enc) - { - if (enc.length < 3) - { - return new ASN1ObjectIdentifier(enc); - } - - int idx1 = enc[enc.length - 2] & 0xff; - // in this case top bit is always zero - int idx2 = enc[enc.length - 1] & 0x7f; - - ASN1ObjectIdentifier possibleMatch; - - synchronized (cache) - { - ASN1ObjectIdentifier[] first = cache[idx1]; - if (first == null) - { - first = cache[idx1] = new ASN1ObjectIdentifier[128]; - } - - possibleMatch = first[idx2]; - if (possibleMatch == null) - { - return first[idx2] = new ASN1ObjectIdentifier(enc); - } - - if (Arrays.areEqual(enc, possibleMatch.getBody())) - { - return possibleMatch; - } - - idx1 = (idx1 + 1) & 0xff; - first = cache[idx1]; - if (first == null) - { - first = cache[idx1] = new ASN1ObjectIdentifier[128]; - } - - possibleMatch = first[idx2]; - if (possibleMatch == null) - { - return first[idx2] = new ASN1ObjectIdentifier(enc); - } - - if (Arrays.areEqual(enc, possibleMatch.getBody())) - { - return possibleMatch; - } - - idx2 = (idx2 + 1) & 0x7f; - possibleMatch = first[idx2]; - if (possibleMatch == null) - { - return first[idx2] = new ASN1ObjectIdentifier(enc); - } - } - - if (Arrays.areEqual(enc, possibleMatch.getBody())) - { - return possibleMatch; - } - - return new ASN1ObjectIdentifier(enc); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetString.java deleted file mode 100644 index 68ae920a6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetString.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class DEROctetString - extends ASN1OctetString -{ - /** - * @param string the octets making up the octet string. - */ - public DEROctetString( - byte[] string) - { - super(string); - } - - public DEROctetString( - ASN1Encodable obj) - throws IOException - { - super(obj.toASN1Primitive().getEncoded(ASN1Encoding.DER)); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.OCTET_STRING, string); - } - - static void encode( - DEROutputStream derOut, - byte[] bytes) - throws IOException - { - derOut.writeEncoded(BERTags.OCTET_STRING, bytes); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetStringParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetStringParser.java deleted file mode 100644 index 59a82cd8b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROctetStringParser.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.InputStream; - -public class DEROctetStringParser - implements ASN1OctetStringParser -{ - private DefiniteLengthInputStream stream; - - DEROctetStringParser( - DefiniteLengthInputStream stream) - { - this.stream = stream; - } - - public InputStream getOctetStream() - { - return stream; - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new DEROctetString(stream.toByteArray()); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROutputStream.java deleted file mode 100644 index b94fc7b08..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DEROutputStream.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Stream that outputs encoding based on distinguished encoding rules. - */ -public class DEROutputStream - extends ASN1OutputStream -{ - public DEROutputStream( - OutputStream os) - { - super(os); - } - - public void writeObject( - ASN1Encodable obj) - throws IOException - { - if (obj != null) - { - obj.toASN1Primitive().toDERObject().encode(this); - } - else - { - throw new IOException("null object detected"); - } - } - - ASN1OutputStream getDERSubStream() - { - return this; - } - - ASN1OutputStream getDLSubStream() - { - return this; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERPrintableString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERPrintableString.java deleted file mode 100644 index 08130759c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERPrintableString.java +++ /dev/null @@ -1,213 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER PrintableString object. - */ -public class DERPrintableString - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a printable string from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERPrintableString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERPrintableString) - { - return (DERPrintableString)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERPrintableString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Printable String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERPrintableString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERPrintableString) - { - return getInstance(o); - } - else - { - return new DERPrintableString(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - byte encoded string. - */ - DERPrintableString( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - this does not validate the string - */ - public DERPrintableString( - String string) - { - this(string, false); - } - - /** - * Constructor with optional validation. - * - * @param string the base string to wrap. - * @param validate whether or not to check the string. - * @throws IllegalArgumentException if validate is true and the string - * contains characters that should not be in a PrintableString. - */ - public DERPrintableString( - String string, - boolean validate) - { - if (validate && !isPrintableString(string)) - { - throw new IllegalArgumentException("string contains illegal characters"); - } - - this.string = Strings.toByteArray(string); - } - - public String getString() - { - return Strings.fromByteArray(string); - } - - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.PRINTABLE_STRING, string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERPrintableString)) - { - return false; - } - - DERPrintableString s = (DERPrintableString)o; - - return Arrays.areEqual(string, s.string); - } - - public String toString() - { - return getString(); - } - - /** - * return true if the passed in String can be represented without - * loss as a PrintableString, false otherwise. - * - * @return true if in printable set, false otherwise. - */ - public static boolean isPrintableString( - String str) - { - for (int i = str.length() - 1; i >= 0; i--) - { - char ch = str.charAt(i); - - if (ch > 0x007f) - { - return false; - } - - if ('a' <= ch && ch <= 'z') - { - continue; - } - - if ('A' <= ch && ch <= 'Z') - { - continue; - } - - if ('0' <= ch && ch <= '9') - { - continue; - } - - switch (ch) - { - case ' ': - case '\'': - case '(': - case ')': - case '+': - case '-': - case '.': - case ':': - case '=': - case '?': - case '/': - case ',': - continue; - } - - return false; - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequence.java deleted file mode 100644 index df171ca50..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequence.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -public class DERSequence - extends ASN1Sequence -{ - private int bodyLength = -1; - - /** - * create an empty sequence - */ - public DERSequence() - { - } - - /** - * create a sequence containing one object - */ - public DERSequence( - ASN1Encodable obj) - { - super(obj); - } - - /** - * create a sequence containing a vector of objects. - */ - public DERSequence( - ASN1EncodableVector v) - { - super(v); - } - - /** - * create a sequence containing an array of objects. - */ - public DERSequence( - ASN1Encodable[] array) - { - super(array); - } - - private int getBodyLength() - throws IOException - { - if (bodyLength < 0) - { - int length = 0; - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - length += ((ASN1Encodable)obj).toASN1Primitive().toDERObject().encodedLength(); - } - - bodyLength = length; - } - - return bodyLength; - } - - int encodedLength() - throws IOException - { - int length = getBodyLength(); - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - /* - * A note on the implementation: - *

    - * As DER requires the constructed, definite-length model to - * be used for structured types, this varies slightly from the - * ASN.1 descriptions given. Rather than just outputting SEQUENCE, - * we also have to specify CONSTRUCTED, and the objects length. - */ - void encode( - ASN1OutputStream out) - throws IOException - { - ASN1OutputStream dOut = out.getDERSubStream(); - int length = getBodyLength(); - - out.write(BERTags.SEQUENCE | BERTags.CONSTRUCTED); - out.writeLength(length); - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - dOut.writeObject((ASN1Encodable)obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceGenerator.java deleted file mode 100644 index 39c430328..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceGenerator.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -public class DERSequenceGenerator - extends DERGenerator -{ - private final ByteArrayOutputStream _bOut = new ByteArrayOutputStream(); - - public DERSequenceGenerator( - OutputStream out) - throws IOException - { - super(out); - } - - public DERSequenceGenerator( - OutputStream out, - int tagNo, - boolean isExplicit) - throws IOException - { - super(out, tagNo, isExplicit); - } - - public void addObject( - ASN1Encodable object) - throws IOException - { - object.toASN1Primitive().encode(new DEROutputStream(_bOut)); - } - - public OutputStream getRawOutputStream() - { - return _bOut; - } - - public void close() - throws IOException - { - writeDEREncoded(BERTags.CONSTRUCTED | BERTags.SEQUENCE, _bOut.toByteArray()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceParser.java deleted file mode 100644 index 95f66e6f7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSequenceParser.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class DERSequenceParser - implements ASN1SequenceParser -{ - private ASN1StreamParser _parser; - - DERSequenceParser(ASN1StreamParser parser) - { - this._parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return _parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new DERSequence(_parser.readVector()); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new IllegalStateException(e.getMessage()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSet.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSet.java deleted file mode 100644 index b504a8fd0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSet.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -/** - * A DER encoded set object - */ -public class DERSet - extends ASN1Set -{ - private int bodyLength = -1; - - /** - * create an empty set - */ - public DERSet() - { - } - - /** - * @param obj - a single object that makes up the set. - */ - public DERSet( - ASN1Encodable obj) - { - super(obj); - } - - /** - * @param v - a vector of objects making up the set. - */ - public DERSet( - ASN1EncodableVector v) - { - super(v, true); - } - - /** - * create a set from an array of objects. - */ - public DERSet( - ASN1Encodable[] a) - { - super(a, true); - } - - DERSet( - ASN1EncodableVector v, - boolean doSort) - { - super(v, doSort); - } - - private int getBodyLength() - throws IOException - { - if (bodyLength < 0) - { - int length = 0; - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - length += ((ASN1Encodable)obj).toASN1Primitive().toDERObject().encodedLength(); - } - - bodyLength = length; - } - - return bodyLength; - } - - int encodedLength() - throws IOException - { - int length = getBodyLength(); - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - /* - * A note on the implementation: - *

    - * As DER requires the constructed, definite-length model to - * be used for structured types, this varies slightly from the - * ASN.1 descriptions given. Rather than just outputting SET, - * we also have to specify CONSTRUCTED, and the objects length. - */ - void encode( - ASN1OutputStream out) - throws IOException - { - ASN1OutputStream dOut = out.getDERSubStream(); - int length = getBodyLength(); - - out.write(BERTags.SET | BERTags.CONSTRUCTED); - out.writeLength(length); - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - dOut.writeObject((ASN1Encodable)obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSetParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSetParser.java deleted file mode 100644 index adae30412..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERSetParser.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public class DERSetParser - implements ASN1SetParser -{ - private ASN1StreamParser _parser; - - DERSetParser(ASN1StreamParser parser) - { - this._parser = parser; - } - - public ASN1Encodable readObject() - throws IOException - { - return _parser.readObject(); - } - - public ASN1Primitive getLoadedObject() - throws IOException - { - return new DERSet(_parser.readVector(), false); - } - - public ASN1Primitive toASN1Primitive() - { - try - { - return getLoadedObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException(e.getMessage(), e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61String.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61String.java deleted file mode 100644 index f931c8b8b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61String.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER T61String (also the teletex string), try not to use this if you don't need to. The standard support the encoding for - * this has been withdrawn. - */ -public class DERT61String - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a T61 string from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERT61String getInstance( - Object obj) - { - if (obj == null || obj instanceof DERT61String) - { - return (DERT61String)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERT61String)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an T61 String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERT61String getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERT61String) - { - return getInstance(o); - } - else - { - return new DERT61String(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - string encoded as a sequence of bytes. - */ - public DERT61String( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - with string 8 bit assumed. - */ - public DERT61String( - String string) - { - this(Strings.toByteArray(string)); - } - - /** - * Decode the encoded string and return it, 8 bit encoding assumed. - * @return the decoded String - */ - public String getString() - { - return Strings.fromByteArray(string); - } - - public String toString() - { - return getString(); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.T61_STRING, string); - } - - /** - * Return the encoded string as a byte array. - * @return the actual bytes making up the encoded body of the T61 string. - */ - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERT61String)) - { - return false; - } - - return Arrays.areEqual(string, ((DERT61String)o).string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61UTF8String.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61UTF8String.java deleted file mode 100644 index 4a240920b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERT61UTF8String.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER T61String (also the teletex string) - a "modern" encapsulation that uses UTF-8. If at all possible, avoid this one! It's only for emergencies. - * Use UTF8String instead. - */ -public class DERT61UTF8String - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a T61 string from the passed in object. UTF-8 Encoding is assumed in this case. - * - * @throws IllegalArgumentException if the object cannot be converted. - */ - public static DERT61UTF8String getInstance( - Object obj) - { - if (obj instanceof DERT61String) - { - return new DERT61UTF8String(((DERT61String)obj).getOctets()); - } - - if (obj == null || obj instanceof DERT61UTF8String) - { - return (DERT61UTF8String)obj; - } - - if (obj instanceof byte[]) - { - try - { - return new DERT61UTF8String(((DERT61String)fromByteArray((byte[])obj)).getOctets()); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an T61 String from a tagged object. UTF-8 encoding is assumed in this case. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @throws IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERT61UTF8String getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERT61String || o instanceof DERT61UTF8String) - { - return getInstance(o); - } - else - { - return new DERT61UTF8String(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - string encoded as a sequence of bytes. - */ - public DERT61UTF8String( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - with string UTF8 conversion assumed. - */ - public DERT61UTF8String( - String string) - { - this(Strings.toUTF8ByteArray(string)); - } - - /** - * Decode the encoded string and return it, UTF8 assumed. - * - * @return the decoded String - */ - public String getString() - { - return Strings.fromUTF8ByteArray(string); - } - - public String toString() - { - return getString(); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.T61_STRING, string); - } - - /** - * Return the encoded string as a byte array. - * - * @return the actual bytes making up the encoded body of the T61 string. - */ - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERT61UTF8String)) - { - return false; - } - - return Arrays.areEqual(string, ((DERT61UTF8String)o).string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTaggedObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTaggedObject.java deleted file mode 100644 index 3ea7d984a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTaggedObject.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -/** - * DER TaggedObject - in ASN.1 notation this is any object preceded by - * a [n] where n is some number - these are assumed to follow the construction - * rules (as with sequences). - */ -public class DERTaggedObject - extends ASN1TaggedObject -{ - private static final byte[] ZERO_BYTES = new byte[0]; - - /** - * @param explicit true if an explicitly tagged object. - * @param tagNo the tag number for this object. - * @param obj the tagged object. - */ - public DERTaggedObject( - boolean explicit, - int tagNo, - ASN1Encodable obj) - { - super(explicit, tagNo, obj); - } - - public DERTaggedObject(int tagNo, ASN1Encodable encodable) - { - super(true, tagNo, encodable); - } - - boolean isConstructed() - { - if (!empty) - { - if (explicit) - { - return true; - } - else - { - ASN1Primitive primitive = obj.toASN1Primitive().toDERObject(); - - return primitive.isConstructed(); - } - } - else - { - return true; - } - } - - int encodedLength() - throws IOException - { - if (!empty) - { - ASN1Primitive primitive = obj.toASN1Primitive().toDERObject(); - int length = primitive.encodedLength(); - - if (explicit) - { - return StreamUtil.calculateTagLength(tagNo) + StreamUtil.calculateBodyLength(length) + length; - } - else - { - // header length already in calculation - length = length - 1; - - return StreamUtil.calculateTagLength(tagNo) + length; - } - } - else - { - return StreamUtil.calculateTagLength(tagNo) + 1; - } - } - - void encode( - ASN1OutputStream out) - throws IOException - { - if (!empty) - { - ASN1Primitive primitive = obj.toASN1Primitive().toDERObject(); - - if (explicit) - { - out.writeTag(BERTags.CONSTRUCTED | BERTags.TAGGED, tagNo); - out.writeLength(primitive.encodedLength()); - out.writeObject(primitive); - } - else - { - // - // need to mark constructed types... - // - int flags; - if (primitive.isConstructed()) - { - flags = BERTags.CONSTRUCTED | BERTags.TAGGED; - } - else - { - flags = BERTags.TAGGED; - } - - out.writeTag(flags, tagNo); - out.writeImplicitObject(primitive); - } - } - else - { - out.writeEncoded(BERTags.CONSTRUCTED | BERTags.TAGGED, tagNo, ZERO_BYTES); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTags.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTags.java deleted file mode 100644 index 4a5dd6641..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERTags.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.asn1; - -/** - * @deprecated use BERTags - */ -public interface DERTags - extends BERTags -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTCTime.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTCTime.java deleted file mode 100644 index 3f8aa31d4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTCTime.java +++ /dev/null @@ -1,278 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * UTC time object. - */ -public class DERUTCTime - extends ASN1Primitive -{ - private byte[] time; - - /** - * return an UTC Time from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ASN1UTCTime getInstance( - Object obj) - { - if (obj == null || obj instanceof ASN1UTCTime) - { - return (ASN1UTCTime)obj; - } - - if (obj instanceof DERUTCTime) - { - return new ASN1UTCTime(((DERUTCTime)obj).time); - } - - if (obj instanceof byte[]) - { - try - { - return (ASN1UTCTime)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return an UTC Time from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static ASN1UTCTime getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Object o = obj.getObject(); - - if (explicit || o instanceof ASN1UTCTime) - { - return getInstance(o); - } - else - { - return new ASN1UTCTime(((ASN1OctetString)o).getOctets()); - } - } - - /** - * The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were - * never encoded. When you're creating one of these objects from scratch, that's - * what you want to use, otherwise we'll try to deal with whatever gets read from - * the input stream... (this is why the input format is different from the getTime() - * method output). - *

    - * - * @param time the time string. - */ - public DERUTCTime( - String time) - { - this.time = Strings.toByteArray(time); - try - { - this.getDate(); - } - catch (ParseException e) - { - throw new IllegalArgumentException("invalid date string: " + e.getMessage()); - } - } - - /** - * base constructer from a java.util.date object - */ - public DERUTCTime( - Date time) - { - SimpleDateFormat dateF = new SimpleDateFormat("yyMMddHHmmss'Z'"); - - dateF.setTimeZone(new SimpleTimeZone(0,"Z")); - - this.time = Strings.toByteArray(dateF.format(time)); - } - - DERUTCTime( - byte[] time) - { - this.time = time; - } - - /** - * return the time as a date based on whatever a 2 digit year will return. For - * standardised processing use getAdjustedDate(). - * - * @return the resulting date - * @exception ParseException if the date string cannot be parsed. - */ - public Date getDate() - throws ParseException - { - SimpleDateFormat dateF = new SimpleDateFormat("yyMMddHHmmssz"); - - return dateF.parse(getTime()); - } - - /** - * return the time as an adjusted date - * in the range of 1950 - 2049. - * - * @return a date in the range of 1950 to 2049. - * @exception ParseException if the date string cannot be parsed. - */ - public Date getAdjustedDate() - throws ParseException - { - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmssz"); - - dateF.setTimeZone(new SimpleTimeZone(0, "Z")); - - return dateF.parse(getAdjustedTime()); - } - - /** - * return the time - always in the form of - * YYMMDDhhmmssGMT(+hh:mm|-hh:mm). - *

    - * Normally in a certificate we would expect "Z" rather than "GMT", - * however adding the "GMT" means we can just use: - *

    -     *     dateF = new SimpleDateFormat("yyMMddHHmmssz");
    -     * 
    - * To read in the time and get a date which is compatible with our local - * time zone. - *

    - * Note: In some cases, due to the local date processing, this - * may lead to unexpected results. If you want to stick the normal - * convention of 1950 to 2049 use the getAdjustedTime() method. - */ - public String getTime() - { - String stime = Strings.fromByteArray(time); - - // - // standardise the format. - // - if (stime.indexOf('-') < 0 && stime.indexOf('+') < 0) - { - if (stime.length() == 11) - { - return stime.substring(0, 10) + "00GMT+00:00"; - } - else - { - return stime.substring(0, 12) + "GMT+00:00"; - } - } - else - { - int index = stime.indexOf('-'); - if (index < 0) - { - index = stime.indexOf('+'); - } - String d = stime; - - if (index == stime.length() - 3) - { - d += "00"; - } - - if (index == 10) - { - return d.substring(0, 10) + "00GMT" + d.substring(10, 13) + ":" + d.substring(13, 15); - } - else - { - return d.substring(0, 12) + "GMT" + d.substring(12, 15) + ":" + d.substring(15, 17); - } - } - } - - /** - * return a time string as an adjusted date with a 4 digit year. This goes - * in the range of 1950 - 2049. - */ - public String getAdjustedTime() - { - String d = this.getTime(); - - if (d.charAt(0) < '5') - { - return "20" + d; - } - else - { - return "19" + d; - } - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - int length = time.length; - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.write(BERTags.UTC_TIME); - - int length = time.length; - - out.writeLength(length); - - for (int i = 0; i != length; i++) - { - out.write((byte)time[i]); - } - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERUTCTime)) - { - return false; - } - - return Arrays.areEqual(time, ((DERUTCTime)o).time); - } - - public int hashCode() - { - return Arrays.hashCode(time); - } - - public String toString() - { - return Strings.fromByteArray(time); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTF8String.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTF8String.java deleted file mode 100644 index ca22d16ba..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUTF8String.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER UTF8String object. - */ -public class DERUTF8String - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return an UTF8 string from the passed in object. - * - * @exception IllegalArgumentException - * if the object cannot be converted. - */ - public static DERUTF8String getInstance(Object obj) - { - if (obj == null || obj instanceof DERUTF8String) - { - return (DERUTF8String)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERUTF8String)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * return an UTF8 String from a tagged object. - * - * @param obj - * the tagged object holding the object we want - * @param explicit - * true if the object is meant to be explicitly tagged false - * otherwise. - * @exception IllegalArgumentException - * if the tagged object cannot be converted. - */ - public static DERUTF8String getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERUTF8String) - { - return getInstance(o); - } - else - { - return new DERUTF8String(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - byte encoded string. - */ - DERUTF8String(byte[] string) - { - this.string = string; - } - - /** - * basic constructor - */ - public DERUTF8String(String string) - { - this.string = Strings.toUTF8ByteArray(string); - } - - public String getString() - { - return Strings.fromUTF8ByteArray(string); - } - - public String toString() - { - return getString(); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } - - boolean asn1Equals(ASN1Primitive o) - { - if (!(o instanceof DERUTF8String)) - { - return false; - } - - DERUTF8String s = (DERUTF8String)o; - - return Arrays.areEqual(string, s.string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - throws IOException - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode(ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.UTF8_STRING, string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUniversalString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUniversalString.java deleted file mode 100644 index d7bd6bd57..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERUniversalString.java +++ /dev/null @@ -1,148 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.util.Arrays; - -/** - * DER UniversalString object. - */ -public class DERUniversalString - extends ASN1Primitive - implements ASN1String -{ - private static final char[] table = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - private byte[] string; - - /** - * return a Universal String from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERUniversalString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERUniversalString) - { - return (DERUniversalString)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERUniversalString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Universal String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERUniversalString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERUniversalString) - { - return getInstance(o); - } - else - { - return new DERUniversalString(((ASN1OctetString)o).getOctets()); - } - } - - /** - * basic constructor - byte encoded string. - */ - public DERUniversalString( - byte[] string) - { - this.string = string; - } - - public String getString() - { - StringBuffer buf = new StringBuffer("#"); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - try - { - aOut.writeObject(this); - } - catch (IOException e) - { - throw new RuntimeException("internal error encoding BitString"); - } - - byte[] string = bOut.toByteArray(); - - for (int i = 0; i != string.length; i++) - { - buf.append(table[(string[i] >>> 4) & 0xf]); - buf.append(table[string[i] & 0xf]); - } - - return buf.toString(); - } - - public String toString() - { - return getString(); - } - - public byte[] getOctets() - { - return string; - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.UNIVERSAL_STRING, this.getOctets()); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERUniversalString)) - { - return false; - } - - return Arrays.areEqual(string, ((DERUniversalString)o).string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERVisibleString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERVisibleString.java deleted file mode 100644 index bf88ec969..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DERVisibleString.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * DER VisibleString object. - */ -public class DERVisibleString - extends ASN1Primitive - implements ASN1String -{ - private byte[] string; - - /** - * return a Visible String from the passed in object. - * - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DERVisibleString getInstance( - Object obj) - { - if (obj == null || obj instanceof DERVisibleString) - { - return (DERVisibleString)obj; - } - - if (obj instanceof byte[]) - { - try - { - return (DERVisibleString)fromByteArray((byte[])obj); - } - catch (Exception e) - { - throw new IllegalArgumentException("encoding error in getInstance: " + e.toString()); - } - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * return a Visible String from a tagged object. - * - * @param obj the tagged object holding the object we want - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the tagged object cannot - * be converted. - */ - public static DERVisibleString getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - ASN1Primitive o = obj.getObject(); - - if (explicit || o instanceof DERVisibleString) - { - return getInstance(o); - } - else - { - return new DERVisibleString(ASN1OctetString.getInstance(o).getOctets()); - } - } - - /** - * basic constructor - byte encoded string. - */ - DERVisibleString( - byte[] string) - { - this.string = string; - } - - /** - * basic constructor - */ - public DERVisibleString( - String string) - { - this.string = Strings.toByteArray(string); - } - - public String getString() - { - return Strings.fromByteArray(string); - } - - public String toString() - { - return getString(); - } - - public byte[] getOctets() - { - return Arrays.clone(string); - } - - boolean isConstructed() - { - return false; - } - - int encodedLength() - { - return 1 + StreamUtil.calculateBodyLength(string.length) + string.length; - } - - void encode( - ASN1OutputStream out) - throws IOException - { - out.writeEncoded(BERTags.VISIBLE_STRING, this.string); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERVisibleString)) - { - return false; - } - - return Arrays.areEqual(string, ((DERVisibleString)o).string); - } - - public int hashCode() - { - return Arrays.hashCode(string); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLOutputStream.java deleted file mode 100644 index cb401e830..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLOutputStream.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Stream that outputs encoding based on definite length. - */ -public class DLOutputStream - extends ASN1OutputStream -{ - public DLOutputStream( - OutputStream os) - { - super(os); - } - - public void writeObject( - ASN1Encodable obj) - throws IOException - { - if (obj != null) - { - obj.toASN1Primitive().toDLObject().encode(this); - } - else - { - throw new IOException("null object detected"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSequence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSequence.java deleted file mode 100644 index 1c621cba8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSequence.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -/** - * The DLSequence encodes a SEQUENCE using definite length form. - */ -public class DLSequence - extends ASN1Sequence -{ - private int bodyLength = -1; - - /** - * Create an empty sequence - */ - public DLSequence() - { - } - - /** - * Create a sequence containing one object - */ - public DLSequence( - ASN1Encodable obj) - { - super(obj); - } - - /** - * Create a sequence containing a vector of objects. - */ - public DLSequence( - ASN1EncodableVector v) - { - super(v); - } - - /** - * Create a sequence containing an array of objects. - */ - public DLSequence( - ASN1Encodable[] array) - { - super(array); - } - - private int getBodyLength() - throws IOException - { - if (bodyLength < 0) - { - int length = 0; - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - length += ((ASN1Encodable)obj).toASN1Primitive().toDLObject().encodedLength(); - } - - bodyLength = length; - } - - return bodyLength; - } - - int encodedLength() - throws IOException - { - int length = getBodyLength(); - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - /** - * A note on the implementation: - *

    - * As DL requires the constructed, definite-length model to - * be used for structured types, this varies slightly from the - * ASN.1 descriptions given. Rather than just outputting SEQUENCE, - * we also have to specify CONSTRUCTED, and the objects length. - */ - void encode( - ASN1OutputStream out) - throws IOException - { - ASN1OutputStream dOut = out.getDLSubStream(); - int length = getBodyLength(); - - out.write(BERTags.SEQUENCE | BERTags.CONSTRUCTED); - out.writeLength(length); - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - dOut.writeObject((ASN1Encodable)obj); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSet.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSet.java deleted file mode 100644 index 9c9ed8b85..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLSet.java +++ /dev/null @@ -1,146 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -/** - * The DLSet encodes ASN.1 SET value without element ordering, - * and always using definite length form. - *


    - *

    X.690

    - *

    8: Basic encoding rules

    - *

    8.11 Encoding of a set value

    - * 8.11.1 The encoding of a set value shall be constructed - *

    - * 8.11.2 The contents octets shall consist of the complete - * encoding of a data value from each of the types listed in the - * ASN.1 definition of the set type, in an order chosen by the sender, - * unless the type was referenced with the keyword - * OPTIONAL or the keyword DEFAULT. - *

    - * 8.11.3 The encoding of a data value may, but need not, - * be present for a type which was referenced with the keyword - * OPTIONAL or the keyword DEFAULT. - *

    - * NOTE — The order of data values in a set value is not significant, - * and places no constraints on the order during transfer - *
    - *

    9: Canonical encoding rules

    - *

    9.3 Set components

    - * The encodings of the component values of a set value shall - * appear in an order determined by their tags as specified - * in 8.6 of ITU-T Rec. X.680 | ISO/IEC 8824-1. - * Additionally, for the purposes of determining the order in which - * components are encoded when one or more component is an untagged - * choice type, each untagged choice type is ordered as though it - * has a tag equal to that of the smallest tag in that choice type - * or any untagged choice types nested within. - *

    10: Distinguished encoding rules

    - *

    10.3 Set components

    - * The encodings of the component values of a set value shall appear - * in an order determined by their tags as specified - * in 8.6 of ITU-T Rec. X.680 | ISO/IEC 8824-1. - *
    - * NOTE — Where a component of the set is an untagged choice type, - * the location of that component in the ordering will depend on - * the tag of the choice component being encoded. - *
    - *

    11: Restrictions on BER employed by both CER and DER

    - *

    11.5 Set and sequence components with default value

    - * The encoding of a set value or sequence value shall not include - * an encoding for any component value which is equal to - * its default value. - */ -public class DLSet - extends ASN1Set -{ - private int bodyLength = -1; - - /** - * create an empty set - */ - public DLSet() - { - } - - /** - * @param obj - a single object that makes up the set. - */ - public DLSet( - ASN1Encodable obj) - { - super(obj); - } - - /** - * @param v - a vector of objects making up the set. - */ - public DLSet( - ASN1EncodableVector v) - { - super(v, false); - } - - /** - * create a set from an array of objects. - */ - public DLSet( - ASN1Encodable[] a) - { - super(a, false); - } - - private int getBodyLength() - throws IOException - { - if (bodyLength < 0) - { - int length = 0; - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - length += ((ASN1Encodable)obj).toASN1Primitive().toDLObject().encodedLength(); - } - - bodyLength = length; - } - - return bodyLength; - } - - int encodedLength() - throws IOException - { - int length = getBodyLength(); - - return 1 + StreamUtil.calculateBodyLength(length) + length; - } - - /** - * A note on the implementation: - *

    - * As DL requires the constructed, definite-length model to - * be used for structured types, this varies slightly from the - * ASN.1 descriptions given. Rather than just outputting SET, - * we also have to specify CONSTRUCTED, and the objects length. - */ - void encode( - ASN1OutputStream out) - throws IOException - { - ASN1OutputStream dOut = out.getDLSubStream(); - int length = getBodyLength(); - - out.write(BERTags.SET | BERTags.CONSTRUCTED); - out.writeLength(length); - - for (Enumeration e = this.getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - dOut.writeObject((ASN1Encodable)obj); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLTaggedObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLTaggedObject.java deleted file mode 100644 index 505c8ccad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DLTaggedObject.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -/** - * Definite Length TaggedObject - in ASN.1 notation this is any object preceded by - * a [n] where n is some number - these are assumed to follow the construction - * rules (as with sequences). - */ -public class DLTaggedObject - extends ASN1TaggedObject -{ - private static final byte[] ZERO_BYTES = new byte[0]; - - /** - * @param explicit true if an explicitly tagged object. - * @param tagNo the tag number for this object. - * @param obj the tagged object. - */ - public DLTaggedObject( - boolean explicit, - int tagNo, - ASN1Encodable obj) - { - super(explicit, tagNo, obj); - } - - boolean isConstructed() - { - if (!empty) - { - if (explicit) - { - return true; - } - else - { - ASN1Primitive primitive = obj.toASN1Primitive().toDLObject(); - - return primitive.isConstructed(); - } - } - else - { - return true; - } - } - - int encodedLength() - throws IOException - { - if (!empty) - { - int length = obj.toASN1Primitive().toDLObject().encodedLength(); - - if (explicit) - { - return StreamUtil.calculateTagLength(tagNo) + StreamUtil.calculateBodyLength(length) + length; - } - else - { - // header length already in calculation - length = length - 1; - - return StreamUtil.calculateTagLength(tagNo) + length; - } - } - else - { - return StreamUtil.calculateTagLength(tagNo) + 1; - } - } - - void encode( - ASN1OutputStream out) - throws IOException - { - if (!empty) - { - ASN1Primitive primitive = obj.toASN1Primitive().toDLObject(); - - if (explicit) - { - out.writeTag(BERTags.CONSTRUCTED | BERTags.TAGGED, tagNo); - out.writeLength(primitive.encodedLength()); - out.writeObject(primitive); - } - else - { - // - // need to mark constructed types... - // - int flags; - if (primitive.isConstructed()) - { - flags = BERTags.CONSTRUCTED | BERTags.TAGGED; - } - else - { - flags = BERTags.TAGGED; - } - - out.writeTag(flags, tagNo); - out.writeImplicitObject(primitive); - } - } - else - { - out.writeEncoded(BERTags.CONSTRUCTED | BERTags.TAGGED, tagNo, ZERO_BYTES); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DefiniteLengthInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DefiniteLengthInputStream.java deleted file mode 100644 index 711f173df..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/DefiniteLengthInputStream.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.io.Streams; - -class DefiniteLengthInputStream - extends LimitedInputStream -{ - private static final byte[] EMPTY_BYTES = new byte[0]; - - private final int _originalLength; - private int _remaining; - - DefiniteLengthInputStream( - InputStream in, - int length) - { - super(in, length); - - if (length < 0) - { - throw new IllegalArgumentException("negative lengths not allowed"); - } - - this._originalLength = length; - this._remaining = length; - - if (length == 0) - { - setParentEofDetect(true); - } - } - - int getRemaining() - { - return _remaining; - } - - public int read() - throws IOException - { - if (_remaining == 0) - { - return -1; - } - - int b = _in.read(); - - if (b < 0) - { - throw new EOFException("DEF length " + _originalLength + " object truncated by " + _remaining); - } - - if (--_remaining == 0) - { - setParentEofDetect(true); - } - - return b; - } - - public int read(byte[] buf, int off, int len) - throws IOException - { - if (_remaining == 0) - { - return -1; - } - - int toRead = Math.min(len, _remaining); - int numRead = _in.read(buf, off, toRead); - - if (numRead < 0) - { - throw new EOFException("DEF length " + _originalLength + " object truncated by " + _remaining); - } - - if ((_remaining -= numRead) == 0) - { - setParentEofDetect(true); - } - - return numRead; - } - - byte[] toByteArray() - throws IOException - { - if (_remaining == 0) - { - return EMPTY_BYTES; - } - - byte[] bytes = new byte[_remaining]; - if ((_remaining -= Streams.readFully(_in, bytes)) != 0) - { - throw new EOFException("DEF length " + _originalLength + " object truncated by " + _remaining); - } - setParentEofDetect(true); - return bytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/InMemoryRepresentable.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/InMemoryRepresentable.java deleted file mode 100644 index 0472e8893..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/InMemoryRepresentable.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; - -public interface InMemoryRepresentable -{ - ASN1Primitive getLoadedObject() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/IndefiniteLengthInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/IndefiniteLengthInputStream.java deleted file mode 100644 index 39e003a41..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/IndefiniteLengthInputStream.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; - -class IndefiniteLengthInputStream - extends LimitedInputStream -{ - private int _b1; - private int _b2; - private boolean _eofReached = false; - private boolean _eofOn00 = true; - - IndefiniteLengthInputStream( - InputStream in, - int limit) - throws IOException - { - super(in, limit); - - _b1 = in.read(); - _b2 = in.read(); - - if (_b2 < 0) - { - // Corrupted stream - throw new EOFException(); - } - - checkForEof(); - } - - void setEofOn00( - boolean eofOn00) - { - _eofOn00 = eofOn00; - checkForEof(); - } - - private boolean checkForEof() - { - if (!_eofReached && _eofOn00 && (_b1 == 0x00 && _b2 == 0x00)) - { - _eofReached = true; - setParentEofDetect(true); - } - return _eofReached; - } - - public int read(byte[] b, int off, int len) - throws IOException - { - // Only use this optimisation if we aren't checking for 00 - if (_eofOn00 || len < 3) - { - return super.read(b, off, len); - } - - if (_eofReached) - { - return -1; - } - - int numRead = _in.read(b, off + 2, len - 2); - - if (numRead < 0) - { - // Corrupted stream - throw new EOFException(); - } - - b[off] = (byte)_b1; - b[off + 1] = (byte)_b2; - - _b1 = _in.read(); - _b2 = _in.read(); - - if (_b2 < 0) - { - // Corrupted stream - throw new EOFException(); - } - - return numRead + 2; - } - - public int read() - throws IOException - { - if (checkForEof()) - { - return -1; - } - - int b = _in.read(); - - if (b < 0) - { - // Corrupted stream - throw new EOFException(); - } - - int v = _b1; - - _b1 = _b2; - _b2 = b; - - return v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyConstructionEnumeration.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyConstructionEnumeration.java deleted file mode 100644 index 036dbc21f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyConstructionEnumeration.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -class LazyConstructionEnumeration - implements Enumeration -{ - private ASN1InputStream aIn; - private Object nextObj; - - public LazyConstructionEnumeration(byte[] encoded) - { - aIn = new ASN1InputStream(encoded, true); - nextObj = readObject(); - } - - public boolean hasMoreElements() - { - return nextObj != null; - } - - public Object nextElement() - { - Object o = nextObj; - - nextObj = readObject(); - - return o; - } - - private Object readObject() - { - try - { - return aIn.readObject(); - } - catch (IOException e) - { - throw new ASN1ParsingException("malformed DER construction: " + e, e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyEncodedSequence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyEncodedSequence.java deleted file mode 100644 index 70f13853f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LazyEncodedSequence.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.IOException; -import java.util.Enumeration; - -/** - * Note: this class is for processing DER/DL encoded sequences only. - */ -class LazyEncodedSequence - extends ASN1Sequence -{ - private byte[] encoded; - - LazyEncodedSequence( - byte[] encoded) - throws IOException - { - this.encoded = encoded; - } - - private void parse() - { - Enumeration en = new LazyConstructionEnumeration(encoded); - - while (en.hasMoreElements()) - { - seq.addElement(en.nextElement()); - } - - encoded = null; - } - - public synchronized ASN1Encodable getObjectAt(int index) - { - if (encoded != null) - { - parse(); - } - - return super.getObjectAt(index); - } - - public synchronized Enumeration getObjects() - { - if (encoded == null) - { - return super.getObjects(); - } - - return new LazyConstructionEnumeration(encoded); - } - - public synchronized int size() - { - if (encoded != null) - { - parse(); - } - - return super.size(); - } - - ASN1Primitive toDERObject() - { - if (encoded != null) - { - parse(); - } - - return super.toDERObject(); - } - - ASN1Primitive toDLObject() - { - if (encoded != null) - { - parse(); - } - - return super.toDLObject(); - } - - int encodedLength() - throws IOException - { - if (encoded != null) - { - return 1 + StreamUtil.calculateBodyLength(encoded.length) + encoded.length; - } - else - { - return super.toDLObject().encodedLength(); - } - } - - void encode( - ASN1OutputStream out) - throws IOException - { - if (encoded != null) - { - out.writeEncoded(BERTags.SEQUENCE | BERTags.CONSTRUCTED, encoded); - } - else - { - super.toDLObject().encode(out); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LimitedInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LimitedInputStream.java deleted file mode 100644 index cc3273bf5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/LimitedInputStream.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.InputStream; - -abstract class LimitedInputStream - extends InputStream -{ - protected final InputStream _in; - private int _limit; - - LimitedInputStream( - InputStream in, - int limit) - { - this._in = in; - this._limit = limit; - } - - int getRemaining() - { - // TODO: maybe one day this can become more accurate - return _limit; - } - - protected void setParentEofDetect(boolean on) - { - if (_in instanceof IndefiniteLengthInputStream) - { - ((IndefiniteLengthInputStream)_in).setEofOn00(on); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/OIDTokenizer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/OIDTokenizer.java deleted file mode 100644 index e618f4b9c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/OIDTokenizer.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1; - -/** - * class for breaking up an OID into it's component tokens, ala - * java.util.StringTokenizer. We need this class as some of the - * lightweight Java environment don't support classes like - * StringTokenizer. - */ -public class OIDTokenizer -{ - private String oid; - private int index; - - public OIDTokenizer( - String oid) - { - this.oid = oid; - this.index = 0; - } - - public boolean hasMoreTokens() - { - return (index != -1); - } - - public String nextToken() - { - if (index == -1) - { - return null; - } - - String token; - int end = oid.indexOf('.', index); - - if (end == -1) - { - token = oid.substring(index); - index = -1; - return token; - } - - token = oid.substring(index, end); - - index = end + 1; - return token; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/StreamUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/StreamUtil.java deleted file mode 100644 index cf92c511e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/StreamUtil.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.channels.FileChannel; - -class StreamUtil -{ - private static final long MAX_MEMORY = Runtime.getRuntime().maxMemory(); - - /** - * Find out possible longest length... - * - * @param in input stream of interest - * @return length calculation or MAX_VALUE. - */ - static int findLimit(InputStream in) - { - if (in instanceof LimitedInputStream) - { - return ((LimitedInputStream)in).getRemaining(); - } - else if (in instanceof ASN1InputStream) - { - return ((ASN1InputStream)in).getLimit(); - } - else if (in instanceof ByteArrayInputStream) - { - return ((ByteArrayInputStream)in).available(); - } - else if (in instanceof FileInputStream) - { - try - { - FileChannel channel = ((FileInputStream)in).getChannel(); - long size = (channel != null) ? channel.size() : Integer.MAX_VALUE; - - if (size < Integer.MAX_VALUE) - { - return (int)size; - } - } - catch (IOException e) - { - // ignore - they'll find out soon enough! - } - } - - if (MAX_MEMORY > Integer.MAX_VALUE) - { - return Integer.MAX_VALUE; - } - - return (int)MAX_MEMORY; - } - - static int calculateBodyLength( - int length) - { - int count = 1; - - if (length > 127) - { - int size = 1; - int val = length; - - while ((val >>>= 8) != 0) - { - size++; - } - - for (int i = (size - 1) * 8; i >= 0; i -= 8) - { - count++; - } - } - - return count; - } - - static int calculateTagLength(int tagNo) - throws IOException - { - int length = 1; - - if (tagNo >= 31) - { - if (tagNo < 128) - { - length++; - } - else - { - byte[] stack = new byte[5]; - int pos = stack.length; - - stack[--pos] = (byte)(tagNo & 0x7F); - - do - { - tagNo >>= 7; - stack[--pos] = (byte)(tagNo & 0x7F | 0x80); - } - while (tagNo > 127); - - length += stack.length - pos; - } - } - - return length; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/bc/BCObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/bc/BCObjectIdentifiers.java deleted file mode 100644 index 9e0b2848d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/bc/BCObjectIdentifiers.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.asn1.bc; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * iso.org.dod.internet.private.enterprise.legion-of-the-bouncy-castle - *

    - * 1.3.6.1.4.1.22554 - */ -public interface BCObjectIdentifiers -{ - /** - * iso.org.dod.internet.private.enterprise.legion-of-the-bouncy-castle - *

    - * 1.3.6.1.4.1.22554 - */ - public static final ASN1ObjectIdentifier bc = new ASN1ObjectIdentifier("1.3.6.1.4.1.22554"); - - /** - * pbe(1) algorithms - *

    - * 1.3.6.1.4.1.22554.1 - */ - public static final ASN1ObjectIdentifier bc_pbe = bc.branch("1"); - - /** - * SHA-1(1) - *

    - * 1.3.6.1.4.1.22554.1.1 - */ - public static final ASN1ObjectIdentifier bc_pbe_sha1 = bc_pbe.branch("1"); - - /** SHA-2.SHA-256; 1.3.6.1.4.1.22554.1.2.1 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256 = bc_pbe.branch("2.1"); - /** SHA-2.SHA-384; 1.3.6.1.4.1.22554.1.2.2 */ - public static final ASN1ObjectIdentifier bc_pbe_sha384 = bc_pbe.branch("2.2"); - /** SHA-2.SHA-512; 1.3.6.1.4.1.22554.1.2.3 */ - public static final ASN1ObjectIdentifier bc_pbe_sha512 = bc_pbe.branch("2.3"); - /** SHA-2.SHA-224; 1.3.6.1.4.1.22554.1.2.4 */ - public static final ASN1ObjectIdentifier bc_pbe_sha224 = bc_pbe.branch("2.4"); - - /** - * PKCS-5(1)|PKCS-12(2) - */ - /** SHA-1.PKCS5; 1.3.6.1.4.1.22554.1.1.1 */ - public static final ASN1ObjectIdentifier bc_pbe_sha1_pkcs5 = bc_pbe_sha1.branch("1"); - /** SHA-1.PKCS12; 1.3.6.1.4.1.22554.1.1.2 */ - public static final ASN1ObjectIdentifier bc_pbe_sha1_pkcs12 = bc_pbe_sha1.branch("2"); - - /** SHA-256.PKCS12; 1.3.6.1.4.1.22554.1.2.1.1 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256_pkcs5 = bc_pbe_sha256.branch("1"); - /** SHA-256.PKCS12; 1.3.6.1.4.1.22554.1.2.1.2 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256_pkcs12 = bc_pbe_sha256.branch("2"); - - /** - * AES(1) . (CBC-128(2)|CBC-192(22)|CBC-256(42)) - */ - /** 1.3.6.1.4.1.22554.1.1.2.1.2 */ - public static final ASN1ObjectIdentifier bc_pbe_sha1_pkcs12_aes128_cbc = bc_pbe_sha1_pkcs12.branch("1.2"); - /** 1.3.6.1.4.1.22554.1.1.2.1.22 */ - public static final ASN1ObjectIdentifier bc_pbe_sha1_pkcs12_aes192_cbc = bc_pbe_sha1_pkcs12.branch("1.22"); - /** 1.3.6.1.4.1.22554.1.1.2.1.42 */ - public static final ASN1ObjectIdentifier bc_pbe_sha1_pkcs12_aes256_cbc = bc_pbe_sha1_pkcs12.branch("1.42"); - - /** 1.3.6.1.4.1.22554.1.1.2.2.2 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256_pkcs12_aes128_cbc = bc_pbe_sha256_pkcs12.branch("1.2"); - /** 1.3.6.1.4.1.22554.1.1.2.2.22 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256_pkcs12_aes192_cbc = bc_pbe_sha256_pkcs12.branch("1.22"); - /** 1.3.6.1.4.1.22554.1.1.2.2.42 */ - public static final ASN1ObjectIdentifier bc_pbe_sha256_pkcs12_aes256_cbc = bc_pbe_sha256_pkcs12.branch("1.42"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CAKeyUpdAnnContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CAKeyUpdAnnContent.java deleted file mode 100644 index ddc4c2521..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CAKeyUpdAnnContent.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class CAKeyUpdAnnContent - extends ASN1Object -{ - private CMPCertificate oldWithNew; - private CMPCertificate newWithOld; - private CMPCertificate newWithNew; - - private CAKeyUpdAnnContent(ASN1Sequence seq) - { - oldWithNew = CMPCertificate.getInstance(seq.getObjectAt(0)); - newWithOld = CMPCertificate.getInstance(seq.getObjectAt(1)); - newWithNew = CMPCertificate.getInstance(seq.getObjectAt(2)); - } - - public static CAKeyUpdAnnContent getInstance(Object o) - { - if (o instanceof CAKeyUpdAnnContent) - { - return (CAKeyUpdAnnContent)o; - } - - if (o != null) - { - return new CAKeyUpdAnnContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CAKeyUpdAnnContent(CMPCertificate oldWithNew, CMPCertificate newWithOld, CMPCertificate newWithNew) - { - this.oldWithNew = oldWithNew; - this.newWithOld = newWithOld; - this.newWithNew = newWithNew; - } - - public CMPCertificate getOldWithNew() - { - return oldWithNew; - } - - public CMPCertificate getNewWithOld() - { - return newWithOld; - } - - public CMPCertificate getNewWithNew() - { - return newWithNew; - } - - /** - *

    -     * CAKeyUpdAnnContent ::= SEQUENCE {
    -     *                             oldWithNew   CMPCertificate, -- old pub signed with new priv
    -     *                             newWithOld   CMPCertificate, -- new pub signed with old priv
    -     *                             newWithNew   CMPCertificate  -- new pub signed with new priv
    -     *  }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(oldWithNew); - v.add(newWithOld); - v.add(newWithNew); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPCertificate.java deleted file mode 100644 index 22dcb3b82..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPCertificate.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AttributeCertificate; -import org.spongycastle.asn1.x509.Certificate; - -public class CMPCertificate - extends ASN1Object - implements ASN1Choice -{ - private Certificate x509v3PKCert; - private AttributeCertificate x509v2AttrCert; - - /** - * Note: the addition of attribute certificates is a BC extension. - */ - public CMPCertificate(AttributeCertificate x509v2AttrCert) - { - this.x509v2AttrCert = x509v2AttrCert; - } - - public CMPCertificate(Certificate x509v3PKCert) - { - if (x509v3PKCert.getVersionNumber() != 3) - { - throw new IllegalArgumentException("only version 3 certificates allowed"); - } - - this.x509v3PKCert = x509v3PKCert; - } - - public static CMPCertificate getInstance(Object o) - { - if (o == null || o instanceof CMPCertificate) - { - return (CMPCertificate)o; - } - - if (o instanceof ASN1Sequence || o instanceof byte[]) - { - return new CMPCertificate(Certificate.getInstance(o)); - } - - if (o instanceof ASN1TaggedObject) - { - return new CMPCertificate(AttributeCertificate.getInstance(((ASN1TaggedObject)o).getObject())); - } - - throw new IllegalArgumentException("Invalid object: " + o.getClass().getName()); - } - - public boolean isX509v3PKCert() - { - return x509v3PKCert != null; - } - - public Certificate getX509v3PKCert() - { - return x509v3PKCert; - } - - public AttributeCertificate getX509v2AttrCert() - { - return x509v2AttrCert; - } - - /** - *
    -     * CMPCertificate ::= CHOICE {
    -     *            x509v3PKCert        Certificate
    -     *            x509v2AttrCert      [1] AttributeCertificate
    -     *  }
    -     * 
    - * Note: the addition of attribute certificates is a BC extension. - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - if (x509v2AttrCert != null) - { // explicit following CMP conventions - return new DERTaggedObject(true, 1, x509v2AttrCert); - } - - return x509v3PKCert.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPObjectIdentifiers.java deleted file mode 100644 index c7cbc5a55..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CMPObjectIdentifiers.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -public interface CMPObjectIdentifiers -{ - // RFC 4210 - - /** id-PasswordBasedMac OBJECT IDENTIFIER ::= {1 2 840 113533 7 66 13} */ - static final ASN1ObjectIdentifier passwordBasedMac = new ASN1ObjectIdentifier("1.2.840.113533.7.66.13"); - - /** id-DHBasedMac OBJECT IDENTIFIER ::= {1 2 840 113533 7 66 30} */ - static final ASN1ObjectIdentifier dhBasedMac = new ASN1ObjectIdentifier("1.2.840.113533.7.66.30"); - - // Example InfoTypeAndValue contents include, but are not limited - // to, the following (un-comment in this ASN.1 module and use as - // appropriate for a given environment): - // - // id-it-caProtEncCert OBJECT IDENTIFIER ::= {id-it 1} - // CAProtEncCertValue ::= CMPCertificate - // id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2} - // SignKeyPairTypesValue ::= SEQUENCE OF AlgorithmIdentifier - // id-it-encKeyPairTypes OBJECT IDENTIFIER ::= {id-it 3} - // EncKeyPairTypesValue ::= SEQUENCE OF AlgorithmIdentifier - // id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4} - // PreferredSymmAlgValue ::= AlgorithmIdentifier - // id-it-caKeyUpdateInfo OBJECT IDENTIFIER ::= {id-it 5} - // CAKeyUpdateInfoValue ::= CAKeyUpdAnnContent - // id-it-currentCRL OBJECT IDENTIFIER ::= {id-it 6} - // CurrentCRLValue ::= CertificateList - // id-it-unsupportedOIDs OBJECT IDENTIFIER ::= {id-it 7} - // UnsupportedOIDsValue ::= SEQUENCE OF OBJECT IDENTIFIER - // id-it-keyPairParamReq OBJECT IDENTIFIER ::= {id-it 10} - // KeyPairParamReqValue ::= OBJECT IDENTIFIER - // id-it-keyPairParamRep OBJECT IDENTIFIER ::= {id-it 11} - // KeyPairParamRepValue ::= AlgorithmIdentifer - // id-it-revPassphrase OBJECT IDENTIFIER ::= {id-it 12} - // RevPassphraseValue ::= EncryptedValue - // id-it-implicitConfirm OBJECT IDENTIFIER ::= {id-it 13} - // ImplicitConfirmValue ::= NULL - // id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14} - // ConfirmWaitTimeValue ::= GeneralizedTime - // id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15} - // OrigPKIMessageValue ::= PKIMessages - // id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16} - // SuppLangTagsValue ::= SEQUENCE OF UTF8String - // - // where - // - // id-pkix OBJECT IDENTIFIER ::= { - // iso(1) identified-organization(3) - // dod(6) internet(1) security(5) mechanisms(5) pkix(7)} - // and - // id-it OBJECT IDENTIFIER ::= {id-pkix 4} - - /** RFC 4120: it-id: PKIX.4 = 1.3.6.1.5.5.7.4 */ - - /** RFC 4120: 1.3.6.1.5.5.7.4.1 */ - static final ASN1ObjectIdentifier it_caProtEncCert = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.1"); - /** RFC 4120: 1.3.6.1.5.5.7.4.2 */ - static final ASN1ObjectIdentifier it_signKeyPairTypes = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.2"); - /** RFC 4120: 1.3.6.1.5.5.7.4.3 */ - static final ASN1ObjectIdentifier it_encKeyPairTypes = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.3"); - /** RFC 4120: 1.3.6.1.5.5.7.4.4 */ - static final ASN1ObjectIdentifier it_preferredSymAlg = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.4"); - /** RFC 4120: 1.3.6.1.5.5.7.4.5 */ - static final ASN1ObjectIdentifier it_caKeyUpdateInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.5"); - /** RFC 4120: 1.3.6.1.5.5.7.4.6 */ - static final ASN1ObjectIdentifier it_currentCRL = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.6"); - /** RFC 4120: 1.3.6.1.5.5.7.4.7 */ - static final ASN1ObjectIdentifier it_unsupportedOIDs = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.7"); - /** RFC 4120: 1.3.6.1.5.5.7.4.10 */ - static final ASN1ObjectIdentifier it_keyPairParamReq = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.10"); - /** RFC 4120: 1.3.6.1.5.5.7.4.11 */ - static final ASN1ObjectIdentifier it_keyPairParamRep = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.11"); - /** RFC 4120: 1.3.6.1.5.5.7.4.12 */ - static final ASN1ObjectIdentifier it_revPassphrase = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.12"); - /** RFC 4120: 1.3.6.1.5.5.7.4.13 */ - static final ASN1ObjectIdentifier it_implicitConfirm = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.13"); - /** RFC 4120: 1.3.6.1.5.5.7.4.14 */ - static final ASN1ObjectIdentifier it_confirmWaitTime = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.14"); - /** RFC 4120: 1.3.6.1.5.5.7.4.15 */ - static final ASN1ObjectIdentifier it_origPKIMessage = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.15"); - /** RFC 4120: 1.3.6.1.5.5.7.4.16 */ - static final ASN1ObjectIdentifier it_suppLangTags = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.4.16"); - - // RFC 4211 - - // id-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) - // dod(6) internet(1) security(5) mechanisms(5) pkix(7) } - // - // arc for Internet X.509 PKI protocols and their components - // id-pkip OBJECT IDENTIFIER :: { id-pkix pkip(5) } - // - // arc for Registration Controls in CRMF - // id-regCtrl OBJECT IDENTIFIER ::= { id-pkip regCtrl(1) } - // - // arc for Registration Info in CRMF - // id-regInfo OBJECT IDENTIFIER ::= { id-pkip id-regInfo(2) } - - /** RFC 4211: it-pkip: PKIX.5 = 1.3.6.1.5.5.7.5 */ - static final ASN1ObjectIdentifier id_pkip = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5"); - - /** RFC 4211: it-regCtrl: 1.3.6.1.5.5.7.5.1 */ - static final ASN1ObjectIdentifier id_regCtrl = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1"); - /** RFC 4211: it-regInfo: 1.3.6.1.5.5.7.5.2 */ - static final ASN1ObjectIdentifier id_regInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.2"); - - - /** 1.3.6.1.5.5.7.5.1.1 */ - static final ASN1ObjectIdentifier regCtrl_regToken = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.1"); - /** 1.3.6.1.5.5.7.5.1.2 */ - static final ASN1ObjectIdentifier regCtrl_authenticator = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.2"); - /** 1.3.6.1.5.5.7.5.1.3 */ - static final ASN1ObjectIdentifier regCtrl_pkiPublicationInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.3"); - /** 1.3.6.1.5.5.7.5.1.4 */ - static final ASN1ObjectIdentifier regCtrl_pkiArchiveOptions = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.4"); - /** 1.3.6.1.5.5.7.5.1.5 */ - static final ASN1ObjectIdentifier regCtrl_oldCertID = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.5"); - /** 1.3.6.1.5.5.7.5.1.6 */ - static final ASN1ObjectIdentifier regCtrl_protocolEncrKey = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.6"); - - /** From RFC4210: - * id-regCtrl-altCertTemplate OBJECT IDENTIFIER ::= {id-regCtrl 7}; 1.3.6.1.5.5.7.1.7 */ - static final ASN1ObjectIdentifier regCtrl_altCertTemplate = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.1.7"); - - /** RFC 4211: it-regInfo-utf8Pairs: 1.3.6.1.5.5.7.5.2.1 */ - static final ASN1ObjectIdentifier regInfo_utf8Pairs = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.2.1"); - /** RFC 4211: it-regInfo-certReq: 1.3.6.1.5.5.7.5.2.1 */ - static final ASN1ObjectIdentifier regInfo_certReq = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.5.2.2"); - - /** - * 1.2.840.113549.1.9.16.1.21 - *

    - * id-ct OBJECT IDENTIFIER ::= { id-smime 1 } -- content types - *

    - * id-ct-encKeyWithID OBJECT IDENTIFIER ::= {id-ct 21} - */ - static final ASN1ObjectIdentifier ct_encKeyWithID = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.1.21"); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CRLAnnContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CRLAnnContent.java deleted file mode 100644 index 513baeb95..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CRLAnnContent.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.CertificateList; - -public class CRLAnnContent - extends ASN1Object -{ - private ASN1Sequence content; - - private CRLAnnContent(ASN1Sequence seq) - { - content = seq; - } - - public static CRLAnnContent getInstance(Object o) - { - if (o instanceof CRLAnnContent) - { - return (CRLAnnContent)o; - } - - if (o != null) - { - return new CRLAnnContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CRLAnnContent(CertificateList crl) - { - this.content = new DERSequence(crl); - } - - public CertificateList[] getCertificateLists() - { - CertificateList[] result = new CertificateList[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = CertificateList.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *

    -     * CRLAnnContent ::= SEQUENCE OF CertificateList
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertConfirmContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertConfirmContent.java deleted file mode 100644 index 974eb757d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertConfirmContent.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; - -public class CertConfirmContent - extends ASN1Object -{ - private ASN1Sequence content; - - private CertConfirmContent(ASN1Sequence seq) - { - content = seq; - } - - public static CertConfirmContent getInstance(Object o) - { - if (o instanceof CertConfirmContent) - { - return (CertConfirmContent)o; - } - - if (o != null) - { - return new CertConfirmContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertStatus[] toCertStatusArray() - { - CertStatus[] result = new CertStatus[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = CertStatus.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * CertConfirmContent ::= SEQUENCE OF CertStatus
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertOrEncCert.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertOrEncCert.java deleted file mode 100644 index ed16a6502..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertOrEncCert.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.EncryptedValue; - -public class CertOrEncCert - extends ASN1Object - implements ASN1Choice -{ - private CMPCertificate certificate; - private EncryptedValue encryptedCert; - - private CertOrEncCert(ASN1TaggedObject tagged) - { - if (tagged.getTagNo() == 0) - { - certificate = CMPCertificate.getInstance(tagged.getObject()); - } - else if (tagged.getTagNo() == 1) - { - encryptedCert = EncryptedValue.getInstance(tagged.getObject()); - } - else - { - throw new IllegalArgumentException("unknown tag: " + tagged.getTagNo()); - } - } - - public static CertOrEncCert getInstance(Object o) - { - if (o instanceof CertOrEncCert) - { - return (CertOrEncCert)o; - } - - if (o instanceof ASN1TaggedObject) - { - return new CertOrEncCert((ASN1TaggedObject)o); - } - - return null; - } - - public CertOrEncCert(CMPCertificate certificate) - { - if (certificate == null) - { - throw new IllegalArgumentException("'certificate' cannot be null"); - } - - this.certificate = certificate; - } - - public CertOrEncCert(EncryptedValue encryptedCert) - { - if (encryptedCert == null) - { - throw new IllegalArgumentException("'encryptedCert' cannot be null"); - } - - this.encryptedCert = encryptedCert; - } - - public CMPCertificate getCertificate() - { - return certificate; - } - - public EncryptedValue getEncryptedCert() - { - return encryptedCert; - } - - /** - *
    -     * CertOrEncCert ::= CHOICE {
    -     *                      certificate     [0] CMPCertificate,
    -     *                      encryptedCert   [1] EncryptedValue
    -     *           }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - if (certificate != null) - { - return new DERTaggedObject(true, 0, certificate); - } - - return new DERTaggedObject(true, 1, encryptedCert); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertRepMessage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertRepMessage.java deleted file mode 100644 index 3f63a4ac3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertRepMessage.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class CertRepMessage - extends ASN1Object -{ - private ASN1Sequence caPubs; - private ASN1Sequence response; - - private CertRepMessage(ASN1Sequence seq) - { - int index = 0; - - if (seq.size() > 1) - { - caPubs = ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(index++), true); - } - - response = ASN1Sequence.getInstance(seq.getObjectAt(index)); - } - - public static CertRepMessage getInstance(Object o) - { - if (o instanceof CertRepMessage) - { - return (CertRepMessage)o; - } - - if (o != null) - { - return new CertRepMessage(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertRepMessage(CMPCertificate[] caPubs, CertResponse[] response) - { - if (response == null) - { - throw new IllegalArgumentException("'response' cannot be null"); - } - - if (caPubs != null) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < caPubs.length; i++) - { - v.add(caPubs[i]); - } - this.caPubs = new DERSequence(v); - } - - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < response.length; i++) - { - v.add(response[i]); - } - this.response = new DERSequence(v); - } - } - - public CMPCertificate[] getCaPubs() - { - if (caPubs == null) - { - return null; - } - - CMPCertificate[] results = new CMPCertificate[caPubs.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CMPCertificate.getInstance(caPubs.getObjectAt(i)); - } - - return results; - } - - public CertResponse[] getResponse() - { - CertResponse[] results = new CertResponse[response.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CertResponse.getInstance(response.getObjectAt(i)); - } - - return results; - } - - /** - *
    -     * CertRepMessage ::= SEQUENCE {
    -     *                          caPubs       [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
    -     *                                                                             OPTIONAL,
    -     *                          response         SEQUENCE OF CertResponse
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (caPubs != null) - { - v.add(new DERTaggedObject(true, 1, caPubs)); - } - - v.add(response); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertResponse.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertResponse.java deleted file mode 100644 index 9efcff681..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertResponse.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class CertResponse - extends ASN1Object -{ - private ASN1Integer certReqId; - private PKIStatusInfo status; - private CertifiedKeyPair certifiedKeyPair; - private ASN1OctetString rspInfo; - - private CertResponse(ASN1Sequence seq) - { - certReqId = ASN1Integer.getInstance(seq.getObjectAt(0)); - status = PKIStatusInfo.getInstance(seq.getObjectAt(1)); - - if (seq.size() >= 3) - { - if (seq.size() == 3) - { - ASN1Encodable o = seq.getObjectAt(2); - if (o instanceof ASN1OctetString) - { - rspInfo = ASN1OctetString.getInstance(o); - } - else - { - certifiedKeyPair = CertifiedKeyPair.getInstance(o); - } - } - else - { - certifiedKeyPair = CertifiedKeyPair.getInstance(seq.getObjectAt(2)); - rspInfo = ASN1OctetString.getInstance(seq.getObjectAt(3)); - } - } - } - - public static CertResponse getInstance(Object o) - { - if (o instanceof CertResponse) - { - return (CertResponse)o; - } - - if (o != null) - { - return new CertResponse(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertResponse( - ASN1Integer certReqId, - PKIStatusInfo status) - { - this(certReqId, status, null, null); - } - - public CertResponse( - ASN1Integer certReqId, - PKIStatusInfo status, - CertifiedKeyPair certifiedKeyPair, - ASN1OctetString rspInfo) - { - if (certReqId == null) - { - throw new IllegalArgumentException("'certReqId' cannot be null"); - } - if (status == null) - { - throw new IllegalArgumentException("'status' cannot be null"); - } - this.certReqId = certReqId; - this.status = status; - this.certifiedKeyPair = certifiedKeyPair; - this.rspInfo = rspInfo; - } - - public ASN1Integer getCertReqId() - { - return certReqId; - } - - public PKIStatusInfo getStatus() - { - return status; - } - - public CertifiedKeyPair getCertifiedKeyPair() - { - return certifiedKeyPair; - } - - /** - *
    -     * CertResponse ::= SEQUENCE {
    -     *                            certReqId           INTEGER,
    -     *                            -- to match this response with corresponding request (a value
    -     *                            -- of -1 is to be used if certReqId is not specified in the
    -     *                            -- corresponding request)
    -     *                            status              PKIStatusInfo,
    -     *                            certifiedKeyPair    CertifiedKeyPair    OPTIONAL,
    -     *                            rspInfo             OCTET STRING        OPTIONAL
    -     *                            -- analogous to the id-regInfo-utf8Pairs string defined
    -     *                            -- for regInfo in CertReqMsg [CRMF]
    -     *             }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certReqId); - v.add(status); - - if (certifiedKeyPair != null) - { - v.add(certifiedKeyPair); - } - - if (rspInfo != null) - { - v.add(rspInfo); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertStatus.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertStatus.java deleted file mode 100644 index 86664eed9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertStatus.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class CertStatus - extends ASN1Object -{ - private ASN1OctetString certHash; - private ASN1Integer certReqId; - private PKIStatusInfo statusInfo; - - private CertStatus(ASN1Sequence seq) - { - certHash = ASN1OctetString.getInstance(seq.getObjectAt(0)); - certReqId = ASN1Integer.getInstance(seq.getObjectAt(1)); - - if (seq.size() > 2) - { - statusInfo = PKIStatusInfo.getInstance(seq.getObjectAt(2)); - } - } - - public CertStatus(byte[] certHash, BigInteger certReqId) - { - this.certHash = new DEROctetString(certHash); - this.certReqId = new ASN1Integer(certReqId); - } - - public CertStatus(byte[] certHash, BigInteger certReqId, PKIStatusInfo statusInfo) - { - this.certHash = new DEROctetString(certHash); - this.certReqId = new ASN1Integer(certReqId); - this.statusInfo = statusInfo; - } - - public static CertStatus getInstance(Object o) - { - if (o instanceof CertStatus) - { - return (CertStatus)o; - } - - if (o != null) - { - return new CertStatus(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1OctetString getCertHash() - { - return certHash; - } - - public ASN1Integer getCertReqId() - { - return certReqId; - } - - public PKIStatusInfo getStatusInfo() - { - return statusInfo; - } - - /** - *
    -     * CertStatus ::= SEQUENCE {
    -     *                   certHash    OCTET STRING,
    -     *                   -- the hash of the certificate, using the same hash algorithm
    -     *                   -- as is used to create and verify the certificate signature
    -     *                   certReqId   INTEGER,
    -     *                   -- to match this confirmation with the corresponding req/rep
    -     *                   statusInfo  PKIStatusInfo OPTIONAL
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certHash); - v.add(certReqId); - - if (statusInfo != null) - { - v.add(statusInfo); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertifiedKeyPair.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertifiedKeyPair.java deleted file mode 100644 index 500c9d034..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/CertifiedKeyPair.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.EncryptedValue; -import org.spongycastle.asn1.crmf.PKIPublicationInfo; - -public class CertifiedKeyPair - extends ASN1Object -{ - private CertOrEncCert certOrEncCert; - private EncryptedValue privateKey; - private PKIPublicationInfo publicationInfo; - - private CertifiedKeyPair(ASN1Sequence seq) - { - certOrEncCert = CertOrEncCert.getInstance(seq.getObjectAt(0)); - - if (seq.size() >= 2) - { - if (seq.size() == 2) - { - ASN1TaggedObject tagged = ASN1TaggedObject.getInstance(seq.getObjectAt(1)); - if (tagged.getTagNo() == 0) - { - privateKey = EncryptedValue.getInstance(tagged.getObject()); - } - else - { - publicationInfo = PKIPublicationInfo.getInstance(tagged.getObject()); - } - } - else - { - privateKey = EncryptedValue.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(1))); - publicationInfo = PKIPublicationInfo.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(2))); - } - } - } - - public static CertifiedKeyPair getInstance(Object o) - { - if (o instanceof CertifiedKeyPair) - { - return (CertifiedKeyPair)o; - } - - if (o != null) - { - return new CertifiedKeyPair(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertifiedKeyPair( - CertOrEncCert certOrEncCert) - { - this(certOrEncCert, null, null); - } - - public CertifiedKeyPair( - CertOrEncCert certOrEncCert, - EncryptedValue privateKey, - PKIPublicationInfo publicationInfo - ) - { - if (certOrEncCert == null) - { - throw new IllegalArgumentException("'certOrEncCert' cannot be null"); - } - - this.certOrEncCert = certOrEncCert; - this.privateKey = privateKey; - this.publicationInfo = publicationInfo; - } - - public CertOrEncCert getCertOrEncCert() - { - return certOrEncCert; - } - - public EncryptedValue getPrivateKey() - { - return privateKey; - } - - public PKIPublicationInfo getPublicationInfo() - { - return publicationInfo; - } - - /** - *
    -     * CertifiedKeyPair ::= SEQUENCE {
    -     *                                  certOrEncCert       CertOrEncCert,
    -     *                                  privateKey      [0] EncryptedValue      OPTIONAL,
    -     *                                  -- see [CRMF] for comment on encoding
    -     *                                  publicationInfo [1] PKIPublicationInfo  OPTIONAL
    -     *       }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certOrEncCert); - - if (privateKey != null) - { - v.add(new DERTaggedObject(true, 0, privateKey)); - } - - if (publicationInfo != null) - { - v.add(new DERTaggedObject(true, 1, publicationInfo)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/Challenge.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/Challenge.java deleted file mode 100644 index ef02b28bc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/Challenge.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class Challenge - extends ASN1Object -{ - private AlgorithmIdentifier owf; - private ASN1OctetString witness; - private ASN1OctetString challenge; - - private Challenge(ASN1Sequence seq) - { - int index = 0; - - if (seq.size() == 3) - { - owf = AlgorithmIdentifier.getInstance(seq.getObjectAt(index++)); - } - - witness = ASN1OctetString.getInstance(seq.getObjectAt(index++)); - challenge = ASN1OctetString.getInstance(seq.getObjectAt(index)); - } - - public static Challenge getInstance(Object o) - { - if (o instanceof Challenge) - { - return (Challenge)o; - } - - if (o != null) - { - return new Challenge(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public Challenge(byte[] witness, byte[] challenge) - { - this(null, witness, challenge); - } - - public Challenge(AlgorithmIdentifier owf, byte[] witness, byte[] challenge) - { - this.owf = owf; - this.witness = new DEROctetString(witness); - this.challenge = new DEROctetString(challenge); - } - - public AlgorithmIdentifier getOwf() - { - return owf; - } - - public byte[] getWitness() - { - return witness.getOctets(); - } - - public byte[] getChallenge() - { - return challenge.getOctets(); - } - - /** - *
    -     * Challenge ::= SEQUENCE {
    -     *                 owf                 AlgorithmIdentifier  OPTIONAL,
    -     *
    -     *                 -- MUST be present in the first Challenge; MAY be omitted in
    -     *                 -- any subsequent Challenge in POPODecKeyChallContent (if
    -     *                 -- omitted, then the owf used in the immediately preceding
    -     *                 -- Challenge is to be used).
    -     *
    -     *                 witness             OCTET STRING,
    -     *                 -- the result of applying the one-way function (owf) to a
    -     *                 -- randomly-generated INTEGER, A.  [Note that a different
    -     *                 -- INTEGER MUST be used for each Challenge.]
    -     *                 challenge           OCTET STRING
    -     *                 -- the encryption (under the public key for which the cert.
    -     *                 -- request is being made) of Rand, where Rand is specified as
    -     *                 --   Rand ::= SEQUENCE {
    -     *                 --      int      INTEGER,
    -     *                 --       - the randomly-generated INTEGER A (above)
    -     *                 --      sender   GeneralName
    -     *                 --       - the sender's name (as included in PKIHeader)
    -     *                 --   }
    -     *      }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - addOptional(v, owf); - v.add(witness); - v.add(challenge); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, ASN1Encodable obj) - { - if (obj != null) - { - v.add(obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ErrorMsgContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ErrorMsgContent.java deleted file mode 100644 index e7ef57163..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ErrorMsgContent.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class ErrorMsgContent - extends ASN1Object -{ - private PKIStatusInfo pkiStatusInfo; - private ASN1Integer errorCode; - private PKIFreeText errorDetails; - - private ErrorMsgContent(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - pkiStatusInfo = PKIStatusInfo.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - Object o = en.nextElement(); - - if (o instanceof ASN1Integer) - { - errorCode = ASN1Integer.getInstance(o); - } - else - { - errorDetails = PKIFreeText.getInstance(o); - } - } - } - - public static ErrorMsgContent getInstance(Object o) - { - if (o instanceof ErrorMsgContent) - { - return (ErrorMsgContent)o; - } - - if (o != null) - { - return new ErrorMsgContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ErrorMsgContent(PKIStatusInfo pkiStatusInfo) - { - this(pkiStatusInfo, null, null); - } - - public ErrorMsgContent( - PKIStatusInfo pkiStatusInfo, - ASN1Integer errorCode, - PKIFreeText errorDetails) - { - if (pkiStatusInfo == null) - { - throw new IllegalArgumentException("'pkiStatusInfo' cannot be null"); - } - - this.pkiStatusInfo = pkiStatusInfo; - this.errorCode = errorCode; - this.errorDetails = errorDetails; - } - - public PKIStatusInfo getPKIStatusInfo() - { - return pkiStatusInfo; - } - - public ASN1Integer getErrorCode() - { - return errorCode; - } - - public PKIFreeText getErrorDetails() - { - return errorDetails; - } - - /** - *
    -     * ErrorMsgContent ::= SEQUENCE {
    -     *                        pKIStatusInfo          PKIStatusInfo,
    -     *                        errorCode              INTEGER           OPTIONAL,
    -     *                        -- implementation-specific error codes
    -     *                        errorDetails           PKIFreeText       OPTIONAL
    -     *                        -- implementation-specific error details
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(pkiStatusInfo); - addOptional(v, errorCode); - addOptional(v, errorDetails); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, ASN1Encodable obj) - { - if (obj != null) - { - v.add(obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenMsgContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenMsgContent.java deleted file mode 100644 index 5d65e0d14..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenMsgContent.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class GenMsgContent - extends ASN1Object -{ - private ASN1Sequence content; - - private GenMsgContent(ASN1Sequence seq) - { - content = seq; - } - - public static GenMsgContent getInstance(Object o) - { - if (o instanceof GenMsgContent) - { - return (GenMsgContent)o; - } - - if (o != null) - { - return new GenMsgContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public GenMsgContent(InfoTypeAndValue itv) - { - content = new DERSequence(itv); - } - - public GenMsgContent(InfoTypeAndValue[] itv) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < itv.length; i++) - { - v.add(itv[i]); - } - content = new DERSequence(v); - } - - public InfoTypeAndValue[] toInfoTypeAndValueArray() - { - InfoTypeAndValue[] result = new InfoTypeAndValue[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = InfoTypeAndValue.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenRepContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenRepContent.java deleted file mode 100644 index a6a2f4dbb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/GenRepContent.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class GenRepContent - extends ASN1Object -{ - private ASN1Sequence content; - - private GenRepContent(ASN1Sequence seq) - { - content = seq; - } - - public static GenRepContent getInstance(Object o) - { - if (o instanceof GenRepContent) - { - return (GenRepContent)o; - } - - if (o != null) - { - return new GenRepContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public GenRepContent(InfoTypeAndValue itv) - { - content = new DERSequence(itv); - } - - public GenRepContent(InfoTypeAndValue[] itv) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < itv.length; i++) - { - v.add(itv[i]); - } - content = new DERSequence(v); - } - - public InfoTypeAndValue[] toInfoTypeAndValueArray() - { - InfoTypeAndValue[] result = new InfoTypeAndValue[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = InfoTypeAndValue.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * GenRepContent ::= SEQUENCE OF InfoTypeAndValue
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/InfoTypeAndValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/InfoTypeAndValue.java deleted file mode 100644 index 3f99d1e17..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/InfoTypeAndValue.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * Example InfoTypeAndValue contents include, but are not limited - * to, the following (un-comment in this ASN.1 module and use as - * appropriate for a given environment): - *
    - *   id-it-caProtEncCert    OBJECT IDENTIFIER ::= {id-it 1}
    - *      CAProtEncCertValue      ::= CMPCertificate
    - *   id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2}
    - *     SignKeyPairTypesValue   ::= SEQUENCE OF AlgorithmIdentifier
    - *   id-it-encKeyPairTypes  OBJECT IDENTIFIER ::= {id-it 3}
    - *     EncKeyPairTypesValue    ::= SEQUENCE OF AlgorithmIdentifier
    - *   id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4}
    - *      PreferredSymmAlgValue   ::= AlgorithmIdentifier
    - *   id-it-caKeyUpdateInfo  OBJECT IDENTIFIER ::= {id-it 5}
    - *      CAKeyUpdateInfoValue    ::= CAKeyUpdAnnContent
    - *   id-it-currentCRL       OBJECT IDENTIFIER ::= {id-it 6}
    - *      CurrentCRLValue         ::= CertificateList
    - *   id-it-unsupportedOIDs  OBJECT IDENTIFIER ::= {id-it 7}
    - *      UnsupportedOIDsValue    ::= SEQUENCE OF OBJECT IDENTIFIER
    - *   id-it-keyPairParamReq  OBJECT IDENTIFIER ::= {id-it 10}
    - *      KeyPairParamReqValue    ::= OBJECT IDENTIFIER
    - *   id-it-keyPairParamRep  OBJECT IDENTIFIER ::= {id-it 11}
    - *      KeyPairParamRepValue    ::= AlgorithmIdentifer
    - *   id-it-revPassphrase    OBJECT IDENTIFIER ::= {id-it 12}
    - *      RevPassphraseValue      ::= EncryptedValue
    - *   id-it-implicitConfirm  OBJECT IDENTIFIER ::= {id-it 13}
    - *      ImplicitConfirmValue    ::= NULL
    - *   id-it-confirmWaitTime  OBJECT IDENTIFIER ::= {id-it 14}
    - *      ConfirmWaitTimeValue    ::= GeneralizedTime
    - *   id-it-origPKIMessage   OBJECT IDENTIFIER ::= {id-it 15}
    - *      OrigPKIMessageValue     ::= PKIMessages
    - *   id-it-suppLangTags     OBJECT IDENTIFIER ::= {id-it 16}
    - *      SuppLangTagsValue       ::= SEQUENCE OF UTF8String
    - *
    - * where
    - *
    - *   id-pkix OBJECT IDENTIFIER ::= {
    - *      iso(1) identified-organization(3)
    - *      dod(6) internet(1) security(5) mechanisms(5) pkix(7)}
    - * and
    - *      id-it   OBJECT IDENTIFIER ::= {id-pkix 4}
    - * 
    - */ -public class InfoTypeAndValue - extends ASN1Object -{ - private ASN1ObjectIdentifier infoType; - private ASN1Encodable infoValue; - - private InfoTypeAndValue(ASN1Sequence seq) - { - infoType = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - infoValue = (ASN1Encodable)seq.getObjectAt(1); - } - } - - public static InfoTypeAndValue getInstance(Object o) - { - if (o instanceof InfoTypeAndValue) - { - return (InfoTypeAndValue)o; - } - - if (o != null) - { - return new InfoTypeAndValue(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public InfoTypeAndValue( - ASN1ObjectIdentifier infoType) - { - this.infoType = infoType; - this.infoValue = null; - } - - public InfoTypeAndValue( - ASN1ObjectIdentifier infoType, - ASN1Encodable optionalValue) - { - this.infoType = infoType; - this.infoValue = optionalValue; - } - - public ASN1ObjectIdentifier getInfoType() - { - return infoType; - } - - public ASN1Encodable getInfoValue() - { - return infoValue; - } - - /** - *
    -     * InfoTypeAndValue ::= SEQUENCE {
    -     *                         infoType               OBJECT IDENTIFIER,
    -     *                         infoValue              ANY DEFINED BY infoType  OPTIONAL
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(infoType); - - if (infoValue != null) - { - v.add(infoValue); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/KeyRecRepContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/KeyRecRepContent.java deleted file mode 100644 index 903352e55..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/KeyRecRepContent.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class KeyRecRepContent - extends ASN1Object -{ - private PKIStatusInfo status; - private CMPCertificate newSigCert; - private ASN1Sequence caCerts; - private ASN1Sequence keyPairHist; - - private KeyRecRepContent(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - status = PKIStatusInfo.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(en.nextElement()); - - switch (tObj.getTagNo()) - { - case 0: - newSigCert = CMPCertificate.getInstance(tObj.getObject()); - break; - case 1: - caCerts = ASN1Sequence.getInstance(tObj.getObject()); - break; - case 2: - keyPairHist = ASN1Sequence.getInstance(tObj.getObject()); - break; - default: - throw new IllegalArgumentException("unknown tag number: " + tObj.getTagNo()); - } - } - } - - public static KeyRecRepContent getInstance(Object o) - { - if (o instanceof KeyRecRepContent) - { - return (KeyRecRepContent)o; - } - - if (o != null) - { - return new KeyRecRepContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - - public PKIStatusInfo getStatus() - { - return status; - } - - public CMPCertificate getNewSigCert() - { - return newSigCert; - } - - public CMPCertificate[] getCaCerts() - { - if (caCerts == null) - { - return null; - } - - CMPCertificate[] results = new CMPCertificate[caCerts.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CMPCertificate.getInstance(caCerts.getObjectAt(i)); - } - - return results; - } - - public CertifiedKeyPair[] getKeyPairHist() - { - if (keyPairHist == null) - { - return null; - } - - CertifiedKeyPair[] results = new CertifiedKeyPair[keyPairHist.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CertifiedKeyPair.getInstance(keyPairHist.getObjectAt(i)); - } - - return results; - } - - /** - *
    -     * KeyRecRepContent ::= SEQUENCE {
    -     *                         status                  PKIStatusInfo,
    -     *                         newSigCert          [0] CMPCertificate OPTIONAL,
    -     *                         caCerts             [1] SEQUENCE SIZE (1..MAX) OF
    -     *                                                           CMPCertificate OPTIONAL,
    -     *                         keyPairHist         [2] SEQUENCE SIZE (1..MAX) OF
    -     *                                                           CertifiedKeyPair OPTIONAL
    -     *              }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(status); - - addOptional(v, 0, newSigCert); - addOptional(v, 1, caCerts); - addOptional(v, 2, keyPairHist); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/OOBCertHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/OOBCertHash.java deleted file mode 100644 index dc81e7ec1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/OOBCertHash.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.CertId; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class OOBCertHash - extends ASN1Object -{ - private AlgorithmIdentifier hashAlg; - private CertId certId; - private DERBitString hashVal; - - private OOBCertHash(ASN1Sequence seq) - { - int index = seq.size() - 1; - - hashVal = DERBitString.getInstance(seq.getObjectAt(index--)); - - for (int i = index; i >= 0; i--) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)seq.getObjectAt(i); - - if (tObj.getTagNo() == 0) - { - hashAlg = AlgorithmIdentifier.getInstance(tObj, true); - } - else - { - certId = CertId.getInstance(tObj, true); - } - } - - } - - public static OOBCertHash getInstance(Object o) - { - if (o instanceof OOBCertHash) - { - return (OOBCertHash)o; - } - - if (o != null) - { - return new OOBCertHash(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public OOBCertHash(AlgorithmIdentifier hashAlg, CertId certId, byte[] hashVal) - { - this(hashAlg, certId, new DERBitString(hashVal)); - } - - public OOBCertHash(AlgorithmIdentifier hashAlg, CertId certId, DERBitString hashVal) - { - this.hashAlg = hashAlg; - this.certId = certId; - this.hashVal = hashVal; - } - - public AlgorithmIdentifier getHashAlg() - { - return hashAlg; - } - - public CertId getCertId() - { - return certId; - } - - public DERBitString getHashVal() - { - return hashVal; - } - - /** - *
    -     * OOBCertHash ::= SEQUENCE {
    -     *                      hashAlg     [0] AlgorithmIdentifier     OPTIONAL,
    -     *                      certId      [1] CertId                  OPTIONAL,
    -     *                      hashVal         BIT STRING
    -     *                      -- hashVal is calculated over the DER encoding of the
    -     *                      -- self-signed certificate with the identifier certID.
    -     *       }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - addOptional(v, 0, hashAlg); - addOptional(v, 1, certId); - - v.add(hashVal); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PBMParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PBMParameter.java deleted file mode 100644 index 83c443cf7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PBMParameter.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class PBMParameter - extends ASN1Object -{ - private ASN1OctetString salt; - private AlgorithmIdentifier owf; - private ASN1Integer iterationCount; - private AlgorithmIdentifier mac; - - private PBMParameter(ASN1Sequence seq) - { - salt = ASN1OctetString.getInstance(seq.getObjectAt(0)); - owf = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - iterationCount = ASN1Integer.getInstance(seq.getObjectAt(2)); - mac = AlgorithmIdentifier.getInstance(seq.getObjectAt(3)); - } - - public static PBMParameter getInstance(Object o) - { - if (o instanceof PBMParameter) - { - return (PBMParameter)o; - } - - if (o != null) - { - return new PBMParameter(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PBMParameter( - byte[] salt, - AlgorithmIdentifier owf, - int iterationCount, - AlgorithmIdentifier mac) - { - this(new DEROctetString(salt), owf, - new ASN1Integer(iterationCount), mac); - } - - public PBMParameter( - ASN1OctetString salt, - AlgorithmIdentifier owf, - ASN1Integer iterationCount, - AlgorithmIdentifier mac) - { - this.salt = salt; - this.owf = owf; - this.iterationCount = iterationCount; - this.mac = mac; - } - - public ASN1OctetString getSalt() - { - return salt; - } - - public AlgorithmIdentifier getOwf() - { - return owf; - } - - public ASN1Integer getIterationCount() - { - return iterationCount; - } - - public AlgorithmIdentifier getMac() - { - return mac; - } - - /** - *
    -     *  PBMParameter ::= SEQUENCE {
    -     *                        salt                OCTET STRING,
    -     *                        -- note:  implementations MAY wish to limit acceptable sizes
    -     *                        -- of this string to values appropriate for their environment
    -     *                        -- in order to reduce the risk of denial-of-service attacks
    -     *                        owf                 AlgorithmIdentifier,
    -     *                        -- AlgId for a One-Way Function (SHA-1 recommended)
    -     *                        iterationCount      INTEGER,
    -     *                        -- number of times the OWF is applied
    -     *                        -- note:  implementations MAY wish to limit acceptable sizes
    -     *                        -- of this integer to values appropriate for their environment
    -     *                        -- in order to reduce the risk of denial-of-service attacks
    -     *                        mac                 AlgorithmIdentifier
    -     *                        -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
    -     *    }   -- or HMAC [RFC2104, RFC2202])
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(salt); - v.add(owf); - v.add(iterationCount); - v.add(mac); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIBody.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIBody.java deleted file mode 100644 index 95b6a11c5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIBody.java +++ /dev/null @@ -1,194 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.CertReqMessages; -import org.spongycastle.asn1.pkcs.CertificationRequest; - -public class PKIBody - extends ASN1Object - implements ASN1Choice -{ - public static final int TYPE_INIT_REQ = 0; - public static final int TYPE_INIT_REP = 1; - public static final int TYPE_CERT_REQ = 2; - public static final int TYPE_CERT_REP = 3; - public static final int TYPE_P10_CERT_REQ = 4; - public static final int TYPE_POPO_CHALL = 5; - public static final int TYPE_POPO_REP = 6; - public static final int TYPE_KEY_UPDATE_REQ = 7; - public static final int TYPE_KEY_UPDATE_REP = 8; - public static final int TYPE_KEY_RECOVERY_REQ = 9; - public static final int TYPE_KEY_RECOVERY_REP = 10; - public static final int TYPE_REVOCATION_REQ = 11; - public static final int TYPE_REVOCATION_REP = 12; - public static final int TYPE_CROSS_CERT_REQ = 13; - public static final int TYPE_CROSS_CERT_REP = 14; - public static final int TYPE_CA_KEY_UPDATE_ANN = 15; - public static final int TYPE_CERT_ANN = 16; - public static final int TYPE_REVOCATION_ANN = 17; - public static final int TYPE_CRL_ANN = 18; - public static final int TYPE_CONFIRM = 19; - public static final int TYPE_NESTED = 20; - public static final int TYPE_GEN_MSG = 21; - public static final int TYPE_GEN_REP = 22; - public static final int TYPE_ERROR = 23; - public static final int TYPE_CERT_CONFIRM = 24; - public static final int TYPE_POLL_REQ = 25; - public static final int TYPE_POLL_REP = 26; - - private int tagNo; - private ASN1Encodable body; - - public static PKIBody getInstance(Object o) - { - if (o == null || o instanceof PKIBody) - { - return (PKIBody)o; - } - - if (o instanceof ASN1TaggedObject) - { - return new PKIBody((ASN1TaggedObject)o); - } - - throw new IllegalArgumentException("Invalid object: " + o.getClass().getName()); - } - - private PKIBody(ASN1TaggedObject tagged) - { - tagNo = tagged.getTagNo(); - body = getBodyForType(tagNo, tagged.getObject()); - } - - /** - * Creates a new PKIBody. - * @param type one of the TYPE_* constants - * @param content message content - */ - public PKIBody( - int type, - ASN1Encodable content) - { - tagNo = type; - body = getBodyForType(type, content); - } - - private static ASN1Encodable getBodyForType( - int type, - ASN1Encodable o) - { - switch (type) - { - case TYPE_INIT_REQ: - return CertReqMessages.getInstance(o); - case TYPE_INIT_REP: - return CertRepMessage.getInstance(o); - case TYPE_CERT_REQ: - return CertReqMessages.getInstance(o); - case TYPE_CERT_REP: - return CertRepMessage.getInstance(o); - case TYPE_P10_CERT_REQ: - return CertificationRequest.getInstance(o); - case TYPE_POPO_CHALL: - return POPODecKeyChallContent.getInstance(o); - case TYPE_POPO_REP: - return POPODecKeyRespContent.getInstance(o); - case TYPE_KEY_UPDATE_REQ: - return CertReqMessages.getInstance(o); - case TYPE_KEY_UPDATE_REP: - return CertRepMessage.getInstance(o); - case TYPE_KEY_RECOVERY_REQ: - return CertReqMessages.getInstance(o); - case TYPE_KEY_RECOVERY_REP: - return KeyRecRepContent.getInstance(o); - case TYPE_REVOCATION_REQ: - return RevReqContent.getInstance(o); - case TYPE_REVOCATION_REP: - return RevRepContent.getInstance(o); - case TYPE_CROSS_CERT_REQ: - return CertReqMessages.getInstance(o); - case TYPE_CROSS_CERT_REP: - return CertRepMessage.getInstance(o); - case TYPE_CA_KEY_UPDATE_ANN: - return CAKeyUpdAnnContent.getInstance(o); - case TYPE_CERT_ANN: - return CMPCertificate.getInstance(o); - case TYPE_REVOCATION_ANN: - return RevAnnContent.getInstance(o); - case TYPE_CRL_ANN: - return CRLAnnContent.getInstance(o); - case TYPE_CONFIRM: - return PKIConfirmContent.getInstance(o); - case TYPE_NESTED: - return PKIMessages.getInstance(o); - case TYPE_GEN_MSG: - return GenMsgContent.getInstance(o); - case TYPE_GEN_REP: - return GenRepContent.getInstance(o); - case TYPE_ERROR: - return ErrorMsgContent.getInstance(o); - case TYPE_CERT_CONFIRM: - return CertConfirmContent.getInstance(o); - case TYPE_POLL_REQ: - return PollReqContent.getInstance(o); - case TYPE_POLL_REP: - return PollRepContent.getInstance(o); - default: - throw new IllegalArgumentException("unknown tag number: " + type); - } - } - - public int getType() - { - return tagNo; - } - - public ASN1Encodable getContent() - { - return body; - } - - /** - *
    -     * PKIBody ::= CHOICE {       -- message-specific body elements
    -     *        ir       [0]  CertReqMessages,        --Initialization Request
    -     *        ip       [1]  CertRepMessage,         --Initialization Response
    -     *        cr       [2]  CertReqMessages,        --Certification Request
    -     *        cp       [3]  CertRepMessage,         --Certification Response
    -     *        p10cr    [4]  CertificationRequest,   --imported from [PKCS10]
    -     *        popdecc  [5]  POPODecKeyChallContent, --pop Challenge
    -     *        popdecr  [6]  POPODecKeyRespContent,  --pop Response
    -     *        kur      [7]  CertReqMessages,        --Key Update Request
    -     *        kup      [8]  CertRepMessage,         --Key Update Response
    -     *        krr      [9]  CertReqMessages,        --Key Recovery Request
    -     *        krp      [10] KeyRecRepContent,       --Key Recovery Response
    -     *        rr       [11] RevReqContent,          --Revocation Request
    -     *        rp       [12] RevRepContent,          --Revocation Response
    -     *        ccr      [13] CertReqMessages,        --Cross-Cert. Request
    -     *        ccp      [14] CertRepMessage,         --Cross-Cert. Response
    -     *        ckuann   [15] CAKeyUpdAnnContent,     --CA Key Update Ann.
    -     *        cann     [16] CertAnnContent,         --Certificate Ann.
    -     *        rann     [17] RevAnnContent,          --Revocation Ann.
    -     *        crlann   [18] CRLAnnContent,          --CRL Announcement
    -     *        pkiconf  [19] PKIConfirmContent,      --Confirmation
    -     *        nested   [20] NestedMessageContent,   --Nested Message
    -     *        genm     [21] GenMsgContent,          --General Message
    -     *        genp     [22] GenRepContent,          --General Response
    -     *        error    [23] ErrorMsgContent,        --Error Message
    -     *        certConf [24] CertConfirmContent,     --Certificate confirm
    -     *        pollReq  [25] PollReqContent,         --Polling request
    -     *        pollRep  [26] PollRepContent          --Polling response
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(true, tagNo, body); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIConfirmContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIConfirmContent.java deleted file mode 100644 index 4019779f7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIConfirmContent.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Null; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERNull; - -public class PKIConfirmContent - extends ASN1Object -{ - private ASN1Null val; - - private PKIConfirmContent(ASN1Null val) - { - this.val = val; - } - - public static PKIConfirmContent getInstance(Object o) - { - if (o == null || o instanceof PKIConfirmContent) - { - return (PKIConfirmContent)o; - } - - if (o instanceof ASN1Null) - { - return new PKIConfirmContent((ASN1Null)o); - } - - throw new IllegalArgumentException("Invalid object: " + o.getClass().getName()); - } - - public PKIConfirmContent() - { - val = DERNull.INSTANCE; - } - - /** - *
    -     * PKIConfirmContent ::= NULL
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return val; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFailureInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFailureInfo.java deleted file mode 100644 index 03dd5574e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFailureInfo.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.DERBitString; - -/** - *
    - * PKIFailureInfo ::= BIT STRING {
    - * badAlg               (0),
    - *   -- unrecognized or unsupported Algorithm Identifier
    - * badMessageCheck      (1), -- integrity check failed (e.g., signature did not verify)
    - * badRequest           (2),
    - *   -- transaction not permitted or supported
    - * badTime              (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
    - * badCertId            (4), -- no certificate could be found matching the provided criteria
    - * badDataFormat        (5),
    - *   -- the data submitted has the wrong format
    - * wrongAuthority       (6), -- the authority indicated in the request is different from the one creating the response token
    - * incorrectData        (7), -- the requester's data is incorrect (for notary services)
    - * missingTimeStamp     (8), -- when the timestamp is missing but should be there (by policy)
    - * badPOP               (9)  -- the proof-of-possession failed
    - * certRevoked         (10),
    - * certConfirmed       (11),
    - * wrongIntegrity      (12),
    - * badRecipientNonce   (13), 
    - * timeNotAvailable    (14),
    - *   -- the TSA's time source is not available
    - * unacceptedPolicy    (15),
    - *   -- the requested TSA policy is not supported by the TSA
    - * unacceptedExtension (16),
    - *   -- the requested extension is not supported by the TSA
    - * addInfoNotAvailable (17)
    - *   -- the additional information requested could not be understood
    - *   -- or is not available
    - * badSenderNonce      (18),
    - * badCertTemplate     (19),
    - * signerNotTrusted    (20),
    - * transactionIdInUse  (21),
    - * unsupportedVersion  (22),
    - * notAuthorized       (23),
    - * systemUnavail       (24),    
    - * systemFailure       (25),
    - *   -- the request cannot be handled due to system failure
    - * duplicateCertReq    (26) 
    - * 
    - */ -public class PKIFailureInfo - extends DERBitString -{ - public static final int badAlg = (1 << 7); // unrecognized or unsupported Algorithm Identifier - public static final int badMessageCheck = (1 << 6); // integrity check failed (e.g., signature did not verify) - public static final int badRequest = (1 << 5); - public static final int badTime = (1 << 4); // -- messageTime was not sufficiently close to the system time, as defined by local policy - public static final int badCertId = (1 << 3); // no certificate could be found matching the provided criteria - public static final int badDataFormat = (1 << 2); - public static final int wrongAuthority = (1 << 1); // the authority indicated in the request is different from the one creating the response token - public static final int incorrectData = 1; // the requester's data is incorrect (for notary services) - public static final int missingTimeStamp = (1 << 15); // when the timestamp is missing but should be there (by policy) - public static final int badPOP = (1 << 14); // the proof-of-possession failed - public static final int certRevoked = (1 << 13); - public static final int certConfirmed = (1 << 12); - public static final int wrongIntegrity = (1 << 11); - public static final int badRecipientNonce = (1 << 10); - public static final int timeNotAvailable = (1 << 9); // the TSA's time source is not available - public static final int unacceptedPolicy = (1 << 8); // the requested TSA policy is not supported by the TSA - public static final int unacceptedExtension = (1 << 23); //the requested extension is not supported by the TSA - public static final int addInfoNotAvailable = (1 << 22); //the additional information requested could not be understood or is not available - public static final int badSenderNonce = (1 << 21); - public static final int badCertTemplate = (1 << 20); - public static final int signerNotTrusted = (1 << 19); - public static final int transactionIdInUse = (1 << 18); - public static final int unsupportedVersion = (1 << 17); - public static final int notAuthorized = (1 << 16); - public static final int systemUnavail = (1 << 31); - public static final int systemFailure = (1 << 30); //the request cannot be handled due to system failure - public static final int duplicateCertReq = (1 << 29); - - /** @deprecated use lower case version */ - public static final int BAD_ALG = badAlg; // unrecognized or unsupported Algorithm Identifier - /** @deprecated use lower case version */ - public static final int BAD_MESSAGE_CHECK = badMessageCheck; - /** @deprecated use lower case version */ - public static final int BAD_REQUEST = badRequest; // transaction not permitted or supported - /** @deprecated use lower case version */ - public static final int BAD_TIME = badTime; - /** @deprecated use lower case version */ - public static final int BAD_CERT_ID = badCertId; - /** @deprecated use lower case version */ - public static final int BAD_DATA_FORMAT = badDataFormat; // the data submitted has the wrong format - /** @deprecated use lower case version */ - public static final int WRONG_AUTHORITY = wrongAuthority; - /** @deprecated use lower case version */ - public static final int INCORRECT_DATA = incorrectData; - /** @deprecated use lower case version */ - public static final int MISSING_TIME_STAMP = missingTimeStamp; - /** @deprecated use lower case version */ - public static final int BAD_POP = badPOP; - /** @deprecated use lower case version */ - public static final int TIME_NOT_AVAILABLE = timeNotAvailable; - /** @deprecated use lower case version */ - public static final int UNACCEPTED_POLICY = unacceptedPolicy; - /** @deprecated use lower case version */ - public static final int UNACCEPTED_EXTENSION = unacceptedExtension; - /** @deprecated use lower case version */ - public static final int ADD_INFO_NOT_AVAILABLE = addInfoNotAvailable; - /** @deprecated use lower case version */ - public static final int SYSTEM_FAILURE = systemFailure; - /** - * Basic constructor. - */ - public PKIFailureInfo( - int info) - { - super(getBytes(info), getPadBits(info)); - } - - public PKIFailureInfo( - DERBitString info) - { - super(info.getBytes(), info.getPadBits()); - } - - public String toString() - { - return "PKIFailureInfo: 0x" + Integer.toHexString(this.intValue()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFreeText.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFreeText.java deleted file mode 100644 index 8a10714fb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIFreeText.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERUTF8String; - -public class PKIFreeText - extends ASN1Object -{ - ASN1Sequence strings; - - public static PKIFreeText getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static PKIFreeText getInstance( - Object obj) - { - if (obj instanceof PKIFreeText) - { - return (PKIFreeText)obj; - } - else if (obj != null) - { - return new PKIFreeText(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private PKIFreeText( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - while (e.hasMoreElements()) - { - if (!(e.nextElement() instanceof DERUTF8String)) - { - throw new IllegalArgumentException("attempt to insert non UTF8 STRING into PKIFreeText"); - } - } - - strings = seq; - } - - public PKIFreeText( - DERUTF8String p) - { - strings = new DERSequence(p); - } - - public PKIFreeText( - String p) - { - this(new DERUTF8String(p)); - } - - public PKIFreeText( - DERUTF8String[] strs) - { - strings = new DERSequence(strs); - } - - public PKIFreeText( - String[] strs) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < strs.length; i++) - { - v.add(new DERUTF8String(strs[i])); - } - strings = new DERSequence(v); - } - - /** - * Return the number of string elements present. - * - * @return number of elements present. - */ - public int size() - { - return strings.size(); - } - - /** - * Return the UTF8STRING at index i. - * - * @param i index of the string of interest - * @return the string at index i. - */ - public DERUTF8String getStringAt( - int i) - { - return (DERUTF8String)strings.getObjectAt(i); - } - - /** - *
    -     * PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return strings; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeader.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeader.java deleted file mode 100644 index 69687e4f1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeader.java +++ /dev/null @@ -1,260 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.GeneralName; - -public class PKIHeader - extends ASN1Object -{ - /** - * Value for a "null" recipient or sender. - */ - public static final GeneralName NULL_NAME = new GeneralName(X500Name.getInstance(new DERSequence())); - - public static final int CMP_1999 = 1; - public static final int CMP_2000 = 2; - - private ASN1Integer pvno; - private GeneralName sender; - private GeneralName recipient; - private DERGeneralizedTime messageTime; - private AlgorithmIdentifier protectionAlg; - private ASN1OctetString senderKID; // KeyIdentifier - private ASN1OctetString recipKID; // KeyIdentifier - private ASN1OctetString transactionID; - private ASN1OctetString senderNonce; - private ASN1OctetString recipNonce; - private PKIFreeText freeText; - private ASN1Sequence generalInfo; - - private PKIHeader(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - pvno = ASN1Integer.getInstance(en.nextElement()); - sender = GeneralName.getInstance(en.nextElement()); - recipient = GeneralName.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); - - switch (tObj.getTagNo()) - { - case 0: - messageTime = DERGeneralizedTime.getInstance(tObj, true); - break; - case 1: - protectionAlg = AlgorithmIdentifier.getInstance(tObj, true); - break; - case 2: - senderKID = ASN1OctetString.getInstance(tObj, true); - break; - case 3: - recipKID = ASN1OctetString.getInstance(tObj, true); - break; - case 4: - transactionID = ASN1OctetString.getInstance(tObj, true); - break; - case 5: - senderNonce = ASN1OctetString.getInstance(tObj, true); - break; - case 6: - recipNonce = ASN1OctetString.getInstance(tObj, true); - break; - case 7: - freeText = PKIFreeText.getInstance(tObj, true); - break; - case 8: - generalInfo = ASN1Sequence.getInstance(tObj, true); - break; - default: - throw new IllegalArgumentException("unknown tag number: " + tObj.getTagNo()); - } - } - } - - public static PKIHeader getInstance(Object o) - { - if (o instanceof PKIHeader) - { - return (PKIHeader)o; - } - - if (o != null) - { - return new PKIHeader(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PKIHeader( - int pvno, - GeneralName sender, - GeneralName recipient) - { - this(new ASN1Integer(pvno), sender, recipient); - } - - private PKIHeader( - ASN1Integer pvno, - GeneralName sender, - GeneralName recipient) - { - this.pvno = pvno; - this.sender = sender; - this.recipient = recipient; - } - - public ASN1Integer getPvno() - { - return pvno; - } - - public GeneralName getSender() - { - return sender; - } - - public GeneralName getRecipient() - { - return recipient; - } - - public DERGeneralizedTime getMessageTime() - { - return messageTime; - } - - public AlgorithmIdentifier getProtectionAlg() - { - return protectionAlg; - } - - public ASN1OctetString getSenderKID() - { - return senderKID; - } - - public ASN1OctetString getRecipKID() - { - return recipKID; - } - - public ASN1OctetString getTransactionID() - { - return transactionID; - } - - public ASN1OctetString getSenderNonce() - { - return senderNonce; - } - - public ASN1OctetString getRecipNonce() - { - return recipNonce; - } - - public PKIFreeText getFreeText() - { - return freeText; - } - - public InfoTypeAndValue[] getGeneralInfo() - { - if (generalInfo == null) - { - return null; - } - InfoTypeAndValue[] results = new InfoTypeAndValue[generalInfo.size()]; - for (int i = 0; i < results.length; i++) - { - results[i] - = InfoTypeAndValue.getInstance(generalInfo.getObjectAt(i)); - } - return results; - } - - /** - *
    -     *  PKIHeader ::= SEQUENCE {
    -     *            pvno                INTEGER     { cmp1999(1), cmp2000(2) },
    -     *            sender              GeneralName,
    -     *            -- identifies the sender
    -     *            recipient           GeneralName,
    -     *            -- identifies the intended recipient
    -     *            messageTime     [0] GeneralizedTime         OPTIONAL,
    -     *            -- time of production of this message (used when sender
    -     *            -- believes that the transport will be "suitable"; i.e.,
    -     *            -- that the time will still be meaningful upon receipt)
    -     *            protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
    -     *            -- algorithm used for calculation of protection bits
    -     *            senderKID       [2] KeyIdentifier           OPTIONAL,
    -     *            recipKID        [3] KeyIdentifier           OPTIONAL,
    -     *            -- to identify specific keys used for protection
    -     *            transactionID   [4] OCTET STRING            OPTIONAL,
    -     *            -- identifies the transaction; i.e., this will be the same in
    -     *            -- corresponding request, response, certConf, and PKIConf
    -     *            -- messages
    -     *            senderNonce     [5] OCTET STRING            OPTIONAL,
    -     *            recipNonce      [6] OCTET STRING            OPTIONAL,
    -     *            -- nonces used to provide replay protection, senderNonce
    -     *            -- is inserted by the creator of this message; recipNonce
    -     *            -- is a nonce previously inserted in a related message by
    -     *            -- the intended recipient of this message
    -     *            freeText        [7] PKIFreeText             OPTIONAL,
    -     *            -- this may be used to indicate context-specific instructions
    -     *            -- (this field is intended for human consumption)
    -     *            generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
    -     *                                 InfoTypeAndValue     OPTIONAL
    -     *            -- this may be used to convey context-specific information
    -     *            -- (this field not primarily intended for human consumption)
    -     * }
    -     * 
    - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(pvno); - v.add(sender); - v.add(recipient); - addOptional(v, 0, messageTime); - addOptional(v, 1, protectionAlg); - addOptional(v, 2, senderKID); - addOptional(v, 3, recipKID); - addOptional(v, 4, transactionID); - addOptional(v, 5, senderNonce); - addOptional(v, 6, recipNonce); - addOptional(v, 7, freeText); - addOptional(v, 8, generalInfo); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeaderBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeaderBuilder.java deleted file mode 100644 index 6532d91f8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIHeaderBuilder.java +++ /dev/null @@ -1,254 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.GeneralName; - -public class PKIHeaderBuilder -{ - private ASN1Integer pvno; - private GeneralName sender; - private GeneralName recipient; - private ASN1GeneralizedTime messageTime; - private AlgorithmIdentifier protectionAlg; - private ASN1OctetString senderKID; // KeyIdentifier - private ASN1OctetString recipKID; // KeyIdentifier - private ASN1OctetString transactionID; - private ASN1OctetString senderNonce; - private ASN1OctetString recipNonce; - private PKIFreeText freeText; - private ASN1Sequence generalInfo; - - public PKIHeaderBuilder( - int pvno, - GeneralName sender, - GeneralName recipient) - { - this(new ASN1Integer(pvno), sender, recipient); - } - - private PKIHeaderBuilder( - ASN1Integer pvno, - GeneralName sender, - GeneralName recipient) - { - this.pvno = pvno; - this.sender = sender; - this.recipient = recipient; - } - - /** - * @deprecated use ASN1GeneralizedTime - */ - public PKIHeaderBuilder setMessageTime(DERGeneralizedTime time) - { - messageTime = ASN1GeneralizedTime.getInstance(time); - - return this; - } - - public PKIHeaderBuilder setMessageTime(ASN1GeneralizedTime time) - { - messageTime = time; - - return this; - } - - public PKIHeaderBuilder setProtectionAlg(AlgorithmIdentifier aid) - { - protectionAlg = aid; - - return this; - } - - public PKIHeaderBuilder setSenderKID(byte[] kid) - { - return setSenderKID(kid == null ? null : new DEROctetString(kid)); - } - - public PKIHeaderBuilder setSenderKID(ASN1OctetString kid) - { - senderKID = kid; - - return this; - } - - public PKIHeaderBuilder setRecipKID(byte[] kid) - { - return setRecipKID(kid == null ? null : new DEROctetString(kid)); - } - - public PKIHeaderBuilder setRecipKID(DEROctetString kid) - { - recipKID = kid; - - return this; - } - - public PKIHeaderBuilder setTransactionID(byte[] tid) - { - return setTransactionID(tid == null ? null : new DEROctetString(tid)); - } - - public PKIHeaderBuilder setTransactionID(ASN1OctetString tid) - { - transactionID = tid; - - return this; - } - - public PKIHeaderBuilder setSenderNonce(byte[] nonce) - { - return setSenderNonce(nonce == null ? null : new DEROctetString(nonce)); - } - - public PKIHeaderBuilder setSenderNonce(ASN1OctetString nonce) - { - senderNonce = nonce; - - return this; - } - - public PKIHeaderBuilder setRecipNonce(byte[] nonce) - { - return setRecipNonce(nonce == null ? null : new DEROctetString(nonce)); - } - - public PKIHeaderBuilder setRecipNonce(ASN1OctetString nonce) - { - recipNonce = nonce; - - return this; - } - - public PKIHeaderBuilder setFreeText(PKIFreeText text) - { - freeText = text; - - return this; - } - - public PKIHeaderBuilder setGeneralInfo(InfoTypeAndValue genInfo) - { - return setGeneralInfo(makeGeneralInfoSeq(genInfo)); - } - - public PKIHeaderBuilder setGeneralInfo(InfoTypeAndValue[] genInfos) - { - return setGeneralInfo(makeGeneralInfoSeq(genInfos)); - } - - public PKIHeaderBuilder setGeneralInfo(ASN1Sequence seqOfInfoTypeAndValue) - { - generalInfo = seqOfInfoTypeAndValue; - - return this; - } - - private static ASN1Sequence makeGeneralInfoSeq( - InfoTypeAndValue generalInfo) - { - return new DERSequence(generalInfo); - } - - private static ASN1Sequence makeGeneralInfoSeq( - InfoTypeAndValue[] generalInfos) - { - ASN1Sequence genInfoSeq = null; - if (generalInfos != null) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < generalInfos.length; i++) - { - v.add(generalInfos[i]); - } - genInfoSeq = new DERSequence(v); - } - return genInfoSeq; - } - - /** - *
    -     *  PKIHeader ::= SEQUENCE {
    -     *            pvno                INTEGER     { cmp1999(1), cmp2000(2) },
    -     *            sender              GeneralName,
    -     *            -- identifies the sender
    -     *            recipient           GeneralName,
    -     *            -- identifies the intended recipient
    -     *            messageTime     [0] GeneralizedTime         OPTIONAL,
    -     *            -- time of production of this message (used when sender
    -     *            -- believes that the transport will be "suitable"; i.e.,
    -     *            -- that the time will still be meaningful upon receipt)
    -     *            protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
    -     *            -- algorithm used for calculation of protection bits
    -     *            senderKID       [2] KeyIdentifier           OPTIONAL,
    -     *            recipKID        [3] KeyIdentifier           OPTIONAL,
    -     *            -- to identify specific keys used for protection
    -     *            transactionID   [4] OCTET STRING            OPTIONAL,
    -     *            -- identifies the transaction; i.e., this will be the same in
    -     *            -- corresponding request, response, certConf, and PKIConf
    -     *            -- messages
    -     *            senderNonce     [5] OCTET STRING            OPTIONAL,
    -     *            recipNonce      [6] OCTET STRING            OPTIONAL,
    -     *            -- nonces used to provide replay protection, senderNonce
    -     *            -- is inserted by the creator of this message; recipNonce
    -     *            -- is a nonce previously inserted in a related message by
    -     *            -- the intended recipient of this message
    -     *            freeText        [7] PKIFreeText             OPTIONAL,
    -     *            -- this may be used to indicate context-specific instructions
    -     *            -- (this field is intended for human consumption)
    -     *            generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
    -     *                                 InfoTypeAndValue     OPTIONAL
    -     *            -- this may be used to convey context-specific information
    -     *            -- (this field not primarily intended for human consumption)
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public PKIHeader build() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(pvno); - v.add(sender); - v.add(recipient); - addOptional(v, 0, messageTime); - addOptional(v, 1, protectionAlg); - addOptional(v, 2, senderKID); - addOptional(v, 3, recipKID); - addOptional(v, 4, transactionID); - addOptional(v, 5, senderNonce); - addOptional(v, 6, recipNonce); - addOptional(v, 7, freeText); - addOptional(v, 8, generalInfo); - - messageTime = null; - protectionAlg = null; - senderKID = null; - recipKID = null; - transactionID = null; - senderNonce = null; - recipNonce = null; - freeText = null; - generalInfo = null; - - return PKIHeader.getInstance(new DERSequence(v)); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessage.java deleted file mode 100644 index fbb4dfe7f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessage.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class PKIMessage - extends ASN1Object -{ - private PKIHeader header; - private PKIBody body; - private DERBitString protection; - private ASN1Sequence extraCerts; - - private PKIMessage(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - header = PKIHeader.getInstance(en.nextElement()); - body = PKIBody.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); - - if (tObj.getTagNo() == 0) - { - protection = DERBitString.getInstance(tObj, true); - } - else - { - extraCerts = ASN1Sequence.getInstance(tObj, true); - } - } - } - - public static PKIMessage getInstance(Object o) - { - if (o instanceof PKIMessage) - { - return (PKIMessage)o; - } - else if (o != null) - { - return new PKIMessage(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * Creates a new PKIMessage. - * - * @param header message header - * @param body message body - * @param protection message protection (may be null) - * @param extraCerts extra certificates (may be null) - */ - public PKIMessage( - PKIHeader header, - PKIBody body, - DERBitString protection, - CMPCertificate[] extraCerts) - { - this.header = header; - this.body = body; - this.protection = protection; - if (extraCerts != null) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < extraCerts.length; i++) - { - v.add(extraCerts[i]); - } - this.extraCerts = new DERSequence(v); - } - } - - public PKIMessage( - PKIHeader header, - PKIBody body, - DERBitString protection) - { - this(header, body, protection, null); - } - - public PKIMessage( - PKIHeader header, - PKIBody body) - { - this(header, body, null, null); - } - - public PKIHeader getHeader() - { - return header; - } - - public PKIBody getBody() - { - return body; - } - - public DERBitString getProtection() - { - return protection; - } - - public CMPCertificate[] getExtraCerts() - { - if (extraCerts == null) - { - return null; - } - - CMPCertificate[] results = new CMPCertificate[extraCerts.size()]; - - for (int i = 0; i < results.length; i++) - { - results[i] = CMPCertificate.getInstance(extraCerts.getObjectAt(i)); - } - return results; - } - - /** - *
    -     * PKIMessage ::= SEQUENCE {
    -     *                  header           PKIHeader,
    -     *                  body             PKIBody,
    -     *                  protection   [0] PKIProtection OPTIONAL,
    -     *                  extraCerts   [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
    -     *                                                                     OPTIONAL
    -     * }
    -     * 
    - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(header); - v.add(body); - - addOptional(v, 0, protection); - addOptional(v, 1, extraCerts); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessages.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessages.java deleted file mode 100644 index 33b47323c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIMessages.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PKIMessages - extends ASN1Object -{ - private ASN1Sequence content; - - private PKIMessages(ASN1Sequence seq) - { - content = seq; - } - - public static PKIMessages getInstance(Object o) - { - if (o instanceof PKIMessages) - { - return (PKIMessages)o; - } - - if (o != null) - { - return new PKIMessages(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PKIMessages(PKIMessage msg) - { - content = new DERSequence(msg); - } - - public PKIMessages(PKIMessage[] msgs) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < msgs.length; i++) - { - v.add(msgs[i]); - } - content = new DERSequence(v); - } - - public PKIMessage[] toPKIMessageArray() - { - PKIMessage[] result = new PKIMessage[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = PKIMessage.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatus.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatus.java deleted file mode 100644 index af4235f1a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatus.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; - -public class PKIStatus - extends ASN1Object -{ - public static final int GRANTED = 0; - public static final int GRANTED_WITH_MODS = 1; - public static final int REJECTION = 2; - public static final int WAITING = 3; - public static final int REVOCATION_WARNING = 4; - public static final int REVOCATION_NOTIFICATION = 5; - public static final int KEY_UPDATE_WARNING = 6; - - public static final PKIStatus granted = new PKIStatus(GRANTED); - public static final PKIStatus grantedWithMods = new PKIStatus(GRANTED_WITH_MODS); - public static final PKIStatus rejection = new PKIStatus(REJECTION); - public static final PKIStatus waiting = new PKIStatus(WAITING); - public static final PKIStatus revocationWarning = new PKIStatus(REVOCATION_WARNING); - public static final PKIStatus revocationNotification = new PKIStatus(REVOCATION_NOTIFICATION); - public static final PKIStatus keyUpdateWaiting = new PKIStatus(KEY_UPDATE_WARNING); - - private ASN1Integer value; - - private PKIStatus(int value) - { - this(new ASN1Integer(value)); - } - - private PKIStatus(ASN1Integer value) - { - this.value = value; - } - - public static PKIStatus getInstance(Object o) - { - if (o instanceof PKIStatus) - { - return (PKIStatus)o; - } - - if (o != null) - { - return new PKIStatus(ASN1Integer.getInstance(o)); - } - - return null; - } - - public BigInteger getValue() - { - return value.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - return value; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatusInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatusInfo.java deleted file mode 100644 index 5deae95f4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PKIStatusInfo.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -public class PKIStatusInfo - extends ASN1Object -{ - ASN1Integer status; - PKIFreeText statusString; - DERBitString failInfo; - - public static PKIStatusInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static PKIStatusInfo getInstance( - Object obj) - { - if (obj instanceof PKIStatusInfo) - { - return (PKIStatusInfo)obj; - } - else if (obj != null) - { - return new PKIStatusInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private PKIStatusInfo( - ASN1Sequence seq) - { - this.status = ASN1Integer.getInstance(seq.getObjectAt(0)); - - this.statusString = null; - this.failInfo = null; - - if (seq.size() > 2) - { - this.statusString = PKIFreeText.getInstance(seq.getObjectAt(1)); - this.failInfo = DERBitString.getInstance(seq.getObjectAt(2)); - } - else if (seq.size() > 1) - { - Object obj = seq.getObjectAt(1); - if (obj instanceof DERBitString) - { - this.failInfo = DERBitString.getInstance(obj); - } - else - { - this.statusString = PKIFreeText.getInstance(obj); - } - } - } - - /** - * @param status - */ - public PKIStatusInfo(PKIStatus status) - { - this.status = ASN1Integer.getInstance(status.toASN1Primitive()); - } - - /** - * - * @param status - * @param statusString - */ - public PKIStatusInfo( - PKIStatus status, - PKIFreeText statusString) - { - this.status = ASN1Integer.getInstance(status.toASN1Primitive()); - this.statusString = statusString; - } - - public PKIStatusInfo( - PKIStatus status, - PKIFreeText statusString, - PKIFailureInfo failInfo) - { - this.status = ASN1Integer.getInstance(status.toASN1Primitive()); - this.statusString = statusString; - this.failInfo = failInfo; - } - - public BigInteger getStatus() - { - return status.getValue(); - } - - public PKIFreeText getStatusString() - { - return statusString; - } - - public DERBitString getFailInfo() - { - return failInfo; - } - - /** - *
    -     * PKIStatusInfo ::= SEQUENCE {
    -     *     status        PKIStatus,                (INTEGER)
    -     *     statusString  PKIFreeText     OPTIONAL,
    -     *     failInfo      PKIFailureInfo  OPTIONAL  (BIT STRING)
    -     * }
    -     *
    -     * PKIStatus:
    -     *   granted                (0), -- you got exactly what you asked for
    -     *   grantedWithMods        (1), -- you got something like what you asked for
    -     *   rejection              (2), -- you don't get it, more information elsewhere in the message
    -     *   waiting                (3), -- the request body part has not yet been processed, expect to hear more later
    -     *   revocationWarning      (4), -- this message contains a warning that a revocation is imminent
    -     *   revocationNotification (5), -- notification that a revocation has occurred
    -     *   keyUpdateWarning       (6)  -- update already done for the oldCertId specified in CertReqMsg
    -     *
    -     * PKIFailureInfo:
    -     *   badAlg           (0), -- unrecognized or unsupported Algorithm Identifier
    -     *   badMessageCheck  (1), -- integrity check failed (e.g., signature did not verify)
    -     *   badRequest       (2), -- transaction not permitted or supported
    -     *   badTime          (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
    -     *   badCertId        (4), -- no certificate could be found matching the provided criteria
    -     *   badDataFormat    (5), -- the data submitted has the wrong format
    -     *   wrongAuthority   (6), -- the authority indicated in the request is different from the one creating the response token
    -     *   incorrectData    (7), -- the requester's data is incorrect (for notary services)
    -     *   missingTimeStamp (8), -- when the timestamp is missing but should be there (by policy)
    -     *   badPOP           (9)  -- the proof-of-possession failed
    -     *
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(status); - - if (statusString != null) - { - v.add(statusString); - } - - if (failInfo!= null) - { - v.add(failInfo); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyChallContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyChallContent.java deleted file mode 100644 index 2c6361431..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyChallContent.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; - -public class POPODecKeyChallContent - extends ASN1Object -{ - private ASN1Sequence content; - - private POPODecKeyChallContent(ASN1Sequence seq) - { - content = seq; - } - - public static POPODecKeyChallContent getInstance(Object o) - { - if (o instanceof POPODecKeyChallContent) - { - return (POPODecKeyChallContent)o; - } - - if (o != null) - { - return new POPODecKeyChallContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public Challenge[] toChallengeArray() - { - Challenge[] result = new Challenge[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = Challenge.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * POPODecKeyChallContent ::= SEQUENCE OF Challenge
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyRespContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyRespContent.java deleted file mode 100644 index 48466b893..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/POPODecKeyRespContent.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; - -public class POPODecKeyRespContent - extends ASN1Object -{ - private ASN1Sequence content; - - private POPODecKeyRespContent(ASN1Sequence seq) - { - content = seq; - } - - public static POPODecKeyRespContent getInstance(Object o) - { - if (o instanceof POPODecKeyRespContent) - { - return (POPODecKeyRespContent)o; - } - - if (o != null) - { - return new POPODecKeyRespContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer[] toASN1IntegerArray() - { - ASN1Integer[] result = new ASN1Integer[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = ASN1Integer.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * POPODecKeyRespContent ::= SEQUENCE OF INTEGER
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollRepContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollRepContent.java deleted file mode 100644 index d2116b9a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollRepContent.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PollRepContent - extends ASN1Object -{ - private ASN1Integer[] certReqId; - private ASN1Integer[] checkAfter; - private PKIFreeText[] reason; - - private PollRepContent(ASN1Sequence seq) - { - certReqId = new ASN1Integer[seq.size()]; - checkAfter = new ASN1Integer[seq.size()]; - reason = new PKIFreeText[seq.size()]; - - for (int i = 0; i != seq.size(); i++) - { - ASN1Sequence s = ASN1Sequence.getInstance(seq.getObjectAt(i)); - - certReqId[i] = ASN1Integer.getInstance(s.getObjectAt(0)); - checkAfter[i] = ASN1Integer.getInstance(s.getObjectAt(1)); - - if (s.size() > 2) - { - reason[i] = PKIFreeText.getInstance(s.getObjectAt(2)); - } - } - } - - public static PollRepContent getInstance(Object o) - { - if (o instanceof PollRepContent) - { - return (PollRepContent)o; - } - - if (o != null) - { - return new PollRepContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PollRepContent(ASN1Integer certReqId, ASN1Integer checkAfter) - { - this(certReqId, checkAfter, null); - } - - public PollRepContent(ASN1Integer certReqId, ASN1Integer checkAfter, PKIFreeText reason) - { - this.certReqId = new ASN1Integer[1]; - this.checkAfter = new ASN1Integer[1]; - this.reason = new PKIFreeText[1]; - - this.certReqId[0] = certReqId; - this.checkAfter[0] = checkAfter; - this.reason[0] = reason; - } - - public int size() - { - return certReqId.length; - } - - public ASN1Integer getCertReqId(int index) - { - return certReqId[index]; - } - - public ASN1Integer getCheckAfter(int index) - { - return checkAfter[index]; - } - - public PKIFreeText getReason(int index) - { - return reason[index]; - } - - /** - *
    -     * PollRepContent ::= SEQUENCE OF SEQUENCE {
    -     *         certReqId              INTEGER,
    -     *         checkAfter             INTEGER,  -- time in seconds
    -     *         reason                 PKIFreeText OPTIONAL
    -     *     }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector outer = new ASN1EncodableVector(); - - for (int i = 0; i != certReqId.length; i++) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certReqId[i]); - v.add(checkAfter[i]); - - if (reason[i] != null) - { - v.add(reason[i]); - } - - outer.add(new DERSequence(v)); - } - - return new DERSequence(outer); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollReqContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollReqContent.java deleted file mode 100644 index 58bfbd08d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/PollReqContent.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PollReqContent - extends ASN1Object -{ - private ASN1Sequence content; - - private PollReqContent(ASN1Sequence seq) - { - content = seq; - } - - public static PollReqContent getInstance(Object o) - { - if (o instanceof PollReqContent) - { - return (PollReqContent)o; - } - - if (o != null) - { - return new PollReqContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * Create a pollReqContent for a single certReqId. - * - * @param certReqId the certificate request ID. - */ - public PollReqContent(ASN1Integer certReqId) - { - this(new DERSequence(new DERSequence(certReqId))); - } - - public ASN1Integer[][] getCertReqIds() - { - ASN1Integer[][] result = new ASN1Integer[content.size()][]; - - for (int i = 0; i != result.length; i++) - { - result[i] = sequenceToASN1IntegerArray((ASN1Sequence)content.getObjectAt(i)); - } - - return result; - } - - private static ASN1Integer[] sequenceToASN1IntegerArray(ASN1Sequence seq) - { - ASN1Integer[] result = new ASN1Integer[seq.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = ASN1Integer.getInstance(seq.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * PollReqContent ::= SEQUENCE OF SEQUENCE {
    -     *                        certReqId              INTEGER
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ProtectedPart.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ProtectedPart.java deleted file mode 100644 index 7594e8ecd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/ProtectedPart.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class ProtectedPart - extends ASN1Object -{ - private PKIHeader header; - private PKIBody body; - - private ProtectedPart(ASN1Sequence seq) - { - header = PKIHeader.getInstance(seq.getObjectAt(0)); - body = PKIBody.getInstance(seq.getObjectAt(1)); - } - - public static ProtectedPart getInstance(Object o) - { - if (o instanceof ProtectedPart) - { - return (ProtectedPart)o; - } - - if (o != null) - { - return new ProtectedPart(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ProtectedPart(PKIHeader header, PKIBody body) - { - this.header = header; - this.body = body; - } - - public PKIHeader getHeader() - { - return header; - } - - public PKIBody getBody() - { - return body; - } - - /** - *
    -     * ProtectedPart ::= SEQUENCE {
    -     *                    header    PKIHeader,
    -     *                    body      PKIBody
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(header); - v.add(body); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevAnnContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevAnnContent.java deleted file mode 100644 index 39d4de9ed..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevAnnContent.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.crmf.CertId; -import org.spongycastle.asn1.x509.Extensions; - -public class RevAnnContent - extends ASN1Object -{ - private PKIStatus status; - private CertId certId; - private ASN1GeneralizedTime willBeRevokedAt; - private ASN1GeneralizedTime badSinceDate; - private Extensions crlDetails; - - private RevAnnContent(ASN1Sequence seq) - { - status = PKIStatus.getInstance(seq.getObjectAt(0)); - certId = CertId.getInstance(seq.getObjectAt(1)); - willBeRevokedAt = ASN1GeneralizedTime.getInstance(seq.getObjectAt(2)); - badSinceDate = ASN1GeneralizedTime.getInstance(seq.getObjectAt(3)); - - if (seq.size() > 4) - { - crlDetails = Extensions.getInstance(seq.getObjectAt(4)); - } - } - - public static RevAnnContent getInstance(Object o) - { - if (o instanceof RevAnnContent) - { - return (RevAnnContent)o; - } - - if (o != null) - { - return new RevAnnContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PKIStatus getStatus() - { - return status; - } - - public CertId getCertId() - { - return certId; - } - - public ASN1GeneralizedTime getWillBeRevokedAt() - { - return willBeRevokedAt; - } - - public ASN1GeneralizedTime getBadSinceDate() - { - return badSinceDate; - } - - public Extensions getCrlDetails() - { - return crlDetails; - } - - /** - *
    -     * RevAnnContent ::= SEQUENCE {
    -     *       status              PKIStatus,
    -     *       certId              CertId,
    -     *       willBeRevokedAt     GeneralizedTime,
    -     *       badSinceDate        GeneralizedTime,
    -     *       crlDetails          Extensions  OPTIONAL
    -     *        -- extra CRL details (e.g., crl number, reason, location, etc.)
    -     * }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(status); - v.add(certId); - v.add(willBeRevokedAt); - v.add(badSinceDate); - - if (crlDetails != null) - { - v.add(crlDetails); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevDetails.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevDetails.java deleted file mode 100644 index 6009a3bef..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevDetails.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.crmf.CertTemplate; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.X509Extensions; - -public class RevDetails - extends ASN1Object -{ - private CertTemplate certDetails; - private Extensions crlEntryDetails; - - private RevDetails(ASN1Sequence seq) - { - certDetails = CertTemplate.getInstance(seq.getObjectAt(0)); - if (seq.size() > 1) - { - crlEntryDetails = Extensions.getInstance(seq.getObjectAt(1)); - } - } - - public static RevDetails getInstance(Object o) - { - if (o instanceof RevDetails) - { - return (RevDetails)o; - } - - if (o != null) - { - return new RevDetails(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public RevDetails(CertTemplate certDetails) - { - this.certDetails = certDetails; - } - - /** - * @deprecated use method taking Extensions - * @param certDetails - * @param crlEntryDetails - */ - public RevDetails(CertTemplate certDetails, X509Extensions crlEntryDetails) - { - this.certDetails = certDetails; - this.crlEntryDetails = Extensions.getInstance(crlEntryDetails.toASN1Primitive()); - } - - public RevDetails(CertTemplate certDetails, Extensions crlEntryDetails) - { - this.certDetails = certDetails; - this.crlEntryDetails = crlEntryDetails; - } - - public CertTemplate getCertDetails() - { - return certDetails; - } - - public Extensions getCrlEntryDetails() - { - return crlEntryDetails; - } - - /** - *
    -     * RevDetails ::= SEQUENCE {
    -     *                  certDetails         CertTemplate,
    -     *                   -- allows requester to specify as much as they can about
    -     *                   -- the cert. for which revocation is requested
    -     *                   -- (e.g., for cases in which serialNumber is not available)
    -     *                   crlEntryDetails     Extensions       OPTIONAL
    -     *                   -- requested crlEntryExtensions
    -     *             }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certDetails); - - if (crlEntryDetails != null) - { - v.add(crlEntryDetails); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContent.java deleted file mode 100644 index b67741937..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContent.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.CertId; -import org.spongycastle.asn1.x509.CertificateList; - -public class RevRepContent - extends ASN1Object -{ - private ASN1Sequence status; - private ASN1Sequence revCerts; - private ASN1Sequence crls; - - private RevRepContent(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - status = ASN1Sequence.getInstance(en.nextElement()); - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(en.nextElement()); - - if (tObj.getTagNo() == 0) - { - revCerts = ASN1Sequence.getInstance(tObj, true); - } - else - { - crls = ASN1Sequence.getInstance(tObj, true); - } - } - } - - public static RevRepContent getInstance(Object o) - { - if (o instanceof RevRepContent) - { - return (RevRepContent)o; - } - - if (o != null) - { - return new RevRepContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public PKIStatusInfo[] getStatus() - { - PKIStatusInfo[] results = new PKIStatusInfo[status.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = PKIStatusInfo.getInstance(status.getObjectAt(i)); - } - - return results; - } - - public CertId[] getRevCerts() - { - if (revCerts == null) - { - return null; - } - - CertId[] results = new CertId[revCerts.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CertId.getInstance(revCerts.getObjectAt(i)); - } - - return results; - } - - public CertificateList[] getCrls() - { - if (crls == null) - { - return null; - } - - CertificateList[] results = new CertificateList[crls.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = CertificateList.getInstance(crls.getObjectAt(i)); - } - - return results; - } - - /** - *
    -     * RevRepContent ::= SEQUENCE {
    -     *        status       SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
    -     *        -- in same order as was sent in RevReqContent
    -     *        revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId OPTIONAL,
    -     *        -- IDs for which revocation was requested
    -     *        -- (same order as status)
    -     *        crls     [1] SEQUENCE SIZE (1..MAX) OF CertificateList OPTIONAL
    -     *        -- the resulting CRLs (there may be more than one)
    -     *   }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(status); - - addOptional(v, 0, revCerts); - addOptional(v, 1, crls); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(true, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContentBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContentBuilder.java deleted file mode 100644 index d154f17c2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevRepContentBuilder.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.crmf.CertId; -import org.spongycastle.asn1.x509.CertificateList; - -public class RevRepContentBuilder -{ - private ASN1EncodableVector status = new ASN1EncodableVector(); - private ASN1EncodableVector revCerts = new ASN1EncodableVector(); - private ASN1EncodableVector crls = new ASN1EncodableVector(); - - public RevRepContentBuilder add(PKIStatusInfo status) - { - this.status.add(status); - - return this; - } - - public RevRepContentBuilder add(PKIStatusInfo status, CertId certId) - { - if (this.status.size() != this.revCerts.size()) - { - throw new IllegalStateException("status and revCerts sequence must be in common order"); - } - this.status.add(status); - this.revCerts.add(certId); - - return this; - } - - public RevRepContentBuilder addCrl(CertificateList crl) - { - this.crls.add(crl); - - return this; - } - - public RevRepContent build() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DERSequence(status)); - - if (revCerts.size() != 0) - { - v.add(new DERTaggedObject(true, 0, new DERSequence(revCerts))); - } - - if (crls.size() != 0) - { - v.add(new DERTaggedObject(true, 1, new DERSequence(crls))); - } - - return RevRepContent.getInstance(new DERSequence(v)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevReqContent.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevReqContent.java deleted file mode 100644 index e232417b7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cmp/RevReqContent.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1.cmp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class RevReqContent - extends ASN1Object -{ - private ASN1Sequence content; - - private RevReqContent(ASN1Sequence seq) - { - content = seq; - } - - public static RevReqContent getInstance(Object o) - { - if (o instanceof RevReqContent) - { - return (RevReqContent)o; - } - - if (o != null) - { - return new RevReqContent(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public RevReqContent(RevDetails revDetails) - { - this.content = new DERSequence(revDetails); - } - - public RevReqContent(RevDetails[] revDetailsArray) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != revDetailsArray.length; i++) - { - v.add(revDetailsArray[i]); - } - - this.content = new DERSequence(v); - } - - public RevDetails[] toRevDetailsArray() - { - RevDetails[] result = new RevDetails[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = RevDetails.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * RevReqContent ::= SEQUENCE OF RevDetails
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attribute.java deleted file mode 100644 index 292303a03..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attribute.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: - * Attribute is a pair of OID (as type identifier) + set of values. - *

    - *

    - * Attribute ::= SEQUENCE {
    - *     attrType OBJECT IDENTIFIER,
    - *     attrValues SET OF AttributeValue
    - * }
    - * 
    - * AttributeValue ::= ANY
    - * 
    - *

    - * General rule on values is that same AttributeValue must not be included - * multiple times into the set. That is, if the value is a SET OF INTEGERs, - * then having same value repeated is wrong: (1, 1), but different values is OK: (1, 2). - * Normally the AttributeValue syntaxes are more complicated than that. - *

    - * General rule of Attribute usage is that the {@link Attributes} containers - * must not have multiple Attribute:s with same attrType (OID) there. - */ -public class Attribute - extends ASN1Object -{ - private ASN1ObjectIdentifier attrType; - private ASN1Set attrValues; - - /** - * Return an Attribute object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Attribute getInstance( - Object o) - { - if (o instanceof Attribute) - { - return (Attribute)o; - } - - if (o != null) - { - return new Attribute(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private Attribute( - ASN1Sequence seq) - { - attrType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - attrValues = (ASN1Set)seq.getObjectAt(1); - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public Attribute( - DERObjectIdentifier attrType, - ASN1Set attrValues) - { - this.attrType = new ASN1ObjectIdentifier(attrType.getId()); - this.attrValues = attrValues; - } - - public Attribute( - ASN1ObjectIdentifier attrType, - ASN1Set attrValues) - { - this.attrType = attrType; - this.attrValues = attrValues; - } - - public ASN1ObjectIdentifier getAttrType() - { - return attrType; - } - - public ASN1Set getAttrValues() - { - return attrValues; - } - - public ASN1Encodable[] getAttributeValues() - { - return attrValues.toArray(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(attrType); - v.add(attrValues); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AttributeTable.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AttributeTable.java deleted file mode 100644 index 80e71e233..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AttributeTable.java +++ /dev/null @@ -1,257 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSet; - -/** - * This is helper tool to construct {@link Attributes} sets. - */ -public class AttributeTable -{ - private Hashtable attributes = new Hashtable(); - - public AttributeTable( - Hashtable attrs) - { - attributes = copyTable(attrs); - } - - public AttributeTable( - ASN1EncodableVector v) - { - for (int i = 0; i != v.size(); i++) - { - Attribute a = Attribute.getInstance(v.get(i)); - - addAttribute(a.getAttrType(), a); - } - } - - public AttributeTable( - ASN1Set s) - { - for (int i = 0; i != s.size(); i++) - { - Attribute a = Attribute.getInstance(s.getObjectAt(i)); - - addAttribute(a.getAttrType(), a); - } - } - - public AttributeTable( - Attribute attr) - { - addAttribute(attr.getAttrType(), attr); - } - - public AttributeTable( - Attributes attrs) - { - this(ASN1Set.getInstance(attrs.toASN1Primitive())); - } - - private void addAttribute( - ASN1ObjectIdentifier oid, - Attribute a) - { - Object value = attributes.get(oid); - - if (value == null) - { - attributes.put(oid, a); - } - else - { - Vector v; - - if (value instanceof Attribute) - { - v = new Vector(); - - v.addElement(value); - v.addElement(a); - } - else - { - v = (Vector)value; - - v.addElement(a); - } - - attributes.put(oid, v); - } - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public Attribute get(DERObjectIdentifier oid) - { - return get(new ASN1ObjectIdentifier(oid.getId())); - } - - /** - * Return the first attribute matching the OBJECT IDENTIFIER oid. - * - * @param oid type of attribute required. - * @return first attribute found of type oid. - */ - public Attribute get( - ASN1ObjectIdentifier oid) - { - Object value = attributes.get(oid); - - if (value instanceof Vector) - { - return (Attribute)((Vector)value).elementAt(0); - } - - return (Attribute)value; - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public ASN1EncodableVector getAll(DERObjectIdentifier oid) - { - return getAll(new ASN1ObjectIdentifier(oid.getId())); - } - - /** - * Return all the attributes matching the OBJECT IDENTIFIER oid. The vector will be - * empty if there are no attributes of the required type present. - * - * @param oid type of attribute required. - * @return a vector of all the attributes found of type oid. - */ - public ASN1EncodableVector getAll( - ASN1ObjectIdentifier oid) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - Object value = attributes.get(oid); - - if (value instanceof Vector) - { - Enumeration e = ((Vector)value).elements(); - - while (e.hasMoreElements()) - { - v.add((Attribute)e.nextElement()); - } - } - else if (value != null) - { - v.add((Attribute)value); - } - - return v; - } - - public int size() - { - int size = 0; - - for (Enumeration en = attributes.elements(); en.hasMoreElements();) - { - Object o = en.nextElement(); - - if (o instanceof Vector) - { - size += ((Vector)o).size(); - } - else - { - size++; - } - } - - return size; - } - - public Hashtable toHashtable() - { - return copyTable(attributes); - } - - public ASN1EncodableVector toASN1EncodableVector() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - Enumeration e = attributes.elements(); - - while (e.hasMoreElements()) - { - Object value = e.nextElement(); - - if (value instanceof Vector) - { - Enumeration en = ((Vector)value).elements(); - - while (en.hasMoreElements()) - { - v.add(Attribute.getInstance(en.nextElement())); - } - } - else - { - v.add(Attribute.getInstance(value)); - } - } - - return v; - } - - public Attributes toASN1Structure() - { - return new Attributes(this.toASN1EncodableVector()); - } - - private Hashtable copyTable( - Hashtable in) - { - Hashtable out = new Hashtable(); - Enumeration e = in.keys(); - - while (e.hasMoreElements()) - { - Object key = e.nextElement(); - - out.put(key, in.get(key)); - } - - return out; - } - - /** - * Return a new table with the passed in attribute added. - * - * @param attrType - * @param attrValue - * @return - */ - public AttributeTable add(ASN1ObjectIdentifier attrType, ASN1Encodable attrValue) - { - AttributeTable newTable = new AttributeTable(attributes); - - newTable.addAttribute(attrType, new Attribute(attrType, new DERSet(attrValue))); - - return newTable; - } - - public AttributeTable remove(ASN1ObjectIdentifier attrType) - { - AttributeTable newTable = new AttributeTable(attributes); - - newTable.attributes.remove(attrType); - - return newTable; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attributes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attributes.java deleted file mode 100644 index 55ac61e92..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Attributes.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DLSet; - -/** - * RFC 5652 defines - * 5 "SET OF Attribute" entities with 5 different names. - * This is common implementation for them all: - *
    - *   SignedAttributes      ::= SET SIZE (1..MAX) OF Attribute
    - *   UnsignedAttributes    ::= SET SIZE (1..MAX) OF Attribute
    - *   UnprotectedAttributes ::= SET SIZE (1..MAX) OF Attribute
    - *   AuthAttributes        ::= SET SIZE (1..MAX) OF Attribute
    - *   UnauthAttributes      ::= SET SIZE (1..MAX) OF Attribute
    - *
    - * Attributes ::=
    - *   SET SIZE(1..MAX) OF Attribute
    - * 
    - */ -public class Attributes - extends ASN1Object -{ - private ASN1Set attributes; - - private Attributes(ASN1Set set) - { - attributes = set; - } - - public Attributes(ASN1EncodableVector v) - { - attributes = new DLSet(v); - } - - /** - * Return an Attribute set object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Attributes getInstance(Object obj) - { - if (obj instanceof Attributes) - { - return (Attributes)obj; - } - else if (obj != null) - { - return new Attributes(ASN1Set.getInstance(obj)); - } - - return null; - } - - public Attribute[] getAttributes() - { - Attribute[] rv = new Attribute[attributes.size()]; - - for (int i = 0; i != rv.length; i++) - { - rv[i] = Attribute.getInstance(attributes.getObjectAt(i)); - } - - return rv; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return attributes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedData.java deleted file mode 100644 index df6911331..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedData.java +++ /dev/null @@ -1,248 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5083: - * - * CMS AuthEnveloped Data object. - *

    - * ASN.1: - *

    - * id-ct-authEnvelopedData OBJECT IDENTIFIER ::= { iso(1)
    - *       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
    - *       smime(16) ct(1) 23 }
    - *
    - * AuthEnvelopedData ::= SEQUENCE {
    - *       version CMSVersion,
    - *       originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *       recipientInfos RecipientInfos,
    - *       authEncryptedContentInfo EncryptedContentInfo,
    - *       authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
    - *       mac MessageAuthenticationCode,
    - *       unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
    - * 
    - */ -public class AuthEnvelopedData - extends ASN1Object -{ - private ASN1Integer version; - private OriginatorInfo originatorInfo; - private ASN1Set recipientInfos; - private EncryptedContentInfo authEncryptedContentInfo; - private ASN1Set authAttrs; - private ASN1OctetString mac; - private ASN1Set unauthAttrs; - - public AuthEnvelopedData( - OriginatorInfo originatorInfo, - ASN1Set recipientInfos, - EncryptedContentInfo authEncryptedContentInfo, - ASN1Set authAttrs, - ASN1OctetString mac, - ASN1Set unauthAttrs) - { - // "It MUST be set to 0." - this.version = new ASN1Integer(0); - - this.originatorInfo = originatorInfo; - - // TODO - // "There MUST be at least one element in the collection." - this.recipientInfos = recipientInfos; - - this.authEncryptedContentInfo = authEncryptedContentInfo; - - // TODO - // "The authAttrs MUST be present if the content type carried in - // EncryptedContentInfo is not id-data." - this.authAttrs = authAttrs; - - this.mac = mac; - - this.unauthAttrs = unauthAttrs; - } - - /** - * Constructs AuthEnvelopedData by parsing supplied ASN1Sequence - *

    - * @param seq An ASN1Sequence with AuthEnvelopedData - * @deprecated use getInstance(). - */ - public AuthEnvelopedData( - ASN1Sequence seq) - { - int index = 0; - - // TODO - // "It MUST be set to 0." - ASN1Primitive tmp = seq.getObjectAt(index++).toASN1Primitive(); - version = (ASN1Integer)tmp; - - tmp = seq.getObjectAt(index++).toASN1Primitive(); - if (tmp instanceof ASN1TaggedObject) - { - originatorInfo = OriginatorInfo.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++).toASN1Primitive(); - } - - // TODO - // "There MUST be at least one element in the collection." - recipientInfos = ASN1Set.getInstance(tmp); - - tmp = seq.getObjectAt(index++).toASN1Primitive(); - authEncryptedContentInfo = EncryptedContentInfo.getInstance(tmp); - - tmp = seq.getObjectAt(index++).toASN1Primitive(); - if (tmp instanceof ASN1TaggedObject) - { - authAttrs = ASN1Set.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++).toASN1Primitive(); - } - else - { - // TODO - // "The authAttrs MUST be present if the content type carried in - // EncryptedContentInfo is not id-data." - } - - mac = ASN1OctetString.getInstance(tmp); - - if (seq.size() > index) - { - tmp = seq.getObjectAt(index++).toASN1Primitive(); - unauthAttrs = ASN1Set.getInstance((ASN1TaggedObject)tmp, false); - } - } - - /** - * Return an AuthEnvelopedData object from a tagged object. - *

    - * Accepted inputs: - *

    - * - - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @throws IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static AuthEnvelopedData getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an AuthEnvelopedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj The object we want converted. - * @throws IllegalArgumentException if the object cannot be converted, or was null. - */ - public static AuthEnvelopedData getInstance( - Object obj) - { - if (obj == null || obj instanceof AuthEnvelopedData) - { - return (AuthEnvelopedData)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new AuthEnvelopedData((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid AuthEnvelopedData: " + obj.getClass().getName()); - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorInfo getOriginatorInfo() - { - return originatorInfo; - } - - public ASN1Set getRecipientInfos() - { - return recipientInfos; - } - - public EncryptedContentInfo getAuthEncryptedContentInfo() - { - return authEncryptedContentInfo; - } - - public ASN1Set getAuthAttrs() - { - return authAttrs; - } - - public ASN1OctetString getMac() - { - return mac; - } - - public ASN1Set getUnauthAttrs() - { - return unauthAttrs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (originatorInfo != null) - { - v.add(new DERTaggedObject(false, 0, originatorInfo)); - } - - v.add(recipientInfos); - v.add(authEncryptedContentInfo); - - // "authAttrs optionally contains the authenticated attributes." - if (authAttrs != null) - { - // "AuthAttributes MUST be DER encoded, even if the rest of the - // AuthEnvelopedData structure is BER encoded." - v.add(new DERTaggedObject(false, 1, authAttrs)); - } - - v.add(mac); - - // "unauthAttrs optionally contains the unauthenticated attributes." - if (unauthAttrs != null) - { - v.add(new DERTaggedObject(false, 2, unauthAttrs)); - } - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedDataParser.java deleted file mode 100644 index 99b238c0f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthEnvelopedDataParser.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1SetParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.BERTags; - -/** - * Parse {@link AuthEnvelopedData} input stream. - * - *
    - * AuthEnvelopedData ::= SEQUENCE {
    - *   version CMSVersion,
    - *   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *   recipientInfos RecipientInfos,
    - *   authEncryptedContentInfo EncryptedContentInfo,
    - *   authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
    - *   mac MessageAuthenticationCode,
    - *   unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
    - * 
    - */ -public class AuthEnvelopedDataParser -{ - private ASN1SequenceParser seq; - private ASN1Integer version; - private ASN1Encodable nextObject; - private boolean originatorInfoCalled; - - public AuthEnvelopedDataParser(ASN1SequenceParser seq) throws IOException - { - this.seq = seq; - - // TODO - // "It MUST be set to 0." - this.version = ASN1Integer.getInstance(seq.readObject()); - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorInfo getOriginatorInfo() - throws IOException - { - originatorInfoCalled = true; - - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)nextObject).getTagNo() == 0) - { - ASN1SequenceParser originatorInfo = (ASN1SequenceParser) ((ASN1TaggedObjectParser)nextObject).getObjectParser(BERTags.SEQUENCE, false); - nextObject = null; - return OriginatorInfo.getInstance(originatorInfo.toASN1Primitive()); - } - - return null; - } - - public ASN1SetParser getRecipientInfos() - throws IOException - { - if (!originatorInfoCalled) - { - getOriginatorInfo(); - } - - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - ASN1SetParser recipientInfos = (ASN1SetParser)nextObject; - nextObject = null; - return recipientInfos; - } - - public EncryptedContentInfoParser getAuthEncryptedContentInfo() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject != null) - { - ASN1SequenceParser o = (ASN1SequenceParser) nextObject; - nextObject = null; - return new EncryptedContentInfoParser(o); - } - - return null; - } - - public ASN1SetParser getAuthAttrs() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject instanceof ASN1TaggedObjectParser) - { - ASN1Encodable o = nextObject; - nextObject = null; - return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); - } - - // TODO - // "The authAttrs MUST be present if the content type carried in - // EncryptedContentInfo is not id-data." - - return null; - } - - public ASN1OctetString getMac() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - ASN1Encodable o = nextObject; - nextObject = null; - - return ASN1OctetString.getInstance(o.toASN1Primitive()); - } - - public ASN1SetParser getUnauthAttrs() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject != null) - { - ASN1Encodable o = nextObject; - nextObject = null; - return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedData.java deleted file mode 100644 index 474e5216f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedData.java +++ /dev/null @@ -1,312 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652 section 9.1: - * The AuthenticatedData carries AuthAttributes and other data - * which define what really is being signed. - *

    - *

    - * AuthenticatedData ::= SEQUENCE {
    - *       version CMSVersion,
    - *       originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *       recipientInfos RecipientInfos,
    - *       macAlgorithm MessageAuthenticationCodeAlgorithm,
    - *       digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
    - *       encapContentInfo EncapsulatedContentInfo,
    - *       authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
    - *       mac MessageAuthenticationCode,
    - *       unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
    - *
    - * AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
    - *
    - * UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
    - *
    - * MessageAuthenticationCode ::= OCTET STRING
    - * 
    - */ -public class AuthenticatedData - extends ASN1Object -{ - private ASN1Integer version; - private OriginatorInfo originatorInfo; - private ASN1Set recipientInfos; - private AlgorithmIdentifier macAlgorithm; - private AlgorithmIdentifier digestAlgorithm; - private ContentInfo encapsulatedContentInfo; - private ASN1Set authAttrs; - private ASN1OctetString mac; - private ASN1Set unauthAttrs; - - public AuthenticatedData( - OriginatorInfo originatorInfo, - ASN1Set recipientInfos, - AlgorithmIdentifier macAlgorithm, - AlgorithmIdentifier digestAlgorithm, - ContentInfo encapsulatedContent, - ASN1Set authAttrs, - ASN1OctetString mac, - ASN1Set unauthAttrs) - { - if (digestAlgorithm != null || authAttrs != null) - { - if (digestAlgorithm == null || authAttrs == null) - { - throw new IllegalArgumentException("digestAlgorithm and authAttrs must be set together"); - } - } - - version = new ASN1Integer(calculateVersion(originatorInfo)); - - this.originatorInfo = originatorInfo; - this.macAlgorithm = macAlgorithm; - this.digestAlgorithm = digestAlgorithm; - this.recipientInfos = recipientInfos; - this.encapsulatedContentInfo = encapsulatedContent; - this.authAttrs = authAttrs; - this.mac = mac; - this.unauthAttrs = unauthAttrs; - } - - /** - * @deprecated use getInstance() - */ - public AuthenticatedData( - ASN1Sequence seq) - { - int index = 0; - - version = (ASN1Integer)seq.getObjectAt(index++); - - Object tmp = seq.getObjectAt(index++); - - if (tmp instanceof ASN1TaggedObject) - { - originatorInfo = OriginatorInfo.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++); - } - - recipientInfos = ASN1Set.getInstance(tmp); - macAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(index++)); - - tmp = seq.getObjectAt(index++); - - if (tmp instanceof ASN1TaggedObject) - { - digestAlgorithm = AlgorithmIdentifier.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++); - } - - encapsulatedContentInfo = ContentInfo.getInstance(tmp); - - tmp = seq.getObjectAt(index++); - - if (tmp instanceof ASN1TaggedObject) - { - authAttrs = ASN1Set.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++); - } - - mac = ASN1OctetString.getInstance(tmp); - - if (seq.size() > index) - { - unauthAttrs = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(index), false); - } - } - - /** - * Return an AuthenticatedData object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @throws IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static AuthenticatedData getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an AuthenticatedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @throws IllegalArgumentException if the object cannot be converted. - */ - public static AuthenticatedData getInstance( - Object obj) - { - if (obj == null || obj instanceof AuthenticatedData) - { - return (AuthenticatedData)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new AuthenticatedData((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid AuthenticatedData: " + obj.getClass().getName()); - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorInfo getOriginatorInfo() - { - return originatorInfo; - } - - public ASN1Set getRecipientInfos() - { - return recipientInfos; - } - - public AlgorithmIdentifier getMacAlgorithm() - { - return macAlgorithm; - } - - public AlgorithmIdentifier getDigestAlgorithm() - { - return digestAlgorithm; - } - - public ContentInfo getEncapsulatedContentInfo() - { - return encapsulatedContentInfo; - } - - public ASN1Set getAuthAttrs() - { - return authAttrs; - } - - public ASN1OctetString getMac() - { - return mac; - } - - public ASN1Set getUnauthAttrs() - { - return unauthAttrs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (originatorInfo != null) - { - v.add(new DERTaggedObject(false, 0, originatorInfo)); - } - - v.add(recipientInfos); - v.add(macAlgorithm); - - if (digestAlgorithm != null) - { - v.add(new DERTaggedObject(false, 1, digestAlgorithm)); - } - - v.add(encapsulatedContentInfo); - - if (authAttrs != null) - { - v.add(new DERTaggedObject(false, 2, authAttrs)); - } - - v.add(mac); - - if (unauthAttrs != null) - { - v.add(new DERTaggedObject(false, 3, unauthAttrs)); - } - - return new BERSequence(v); - } - - public static int calculateVersion(OriginatorInfo origInfo) - { - if (origInfo == null) - { - return 0; - } - else - { - int ver = 0; - - for (Enumeration e = origInfo.getCertificates().getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tag = (ASN1TaggedObject)obj; - - if (tag.getTagNo() == 2) - { - ver = 1; - } - else if (tag.getTagNo() == 3) - { - ver = 3; - break; - } - } - } - - if (origInfo.getCRLs() != null) - { - for (Enumeration e = origInfo.getCRLs().getObjects(); e.hasMoreElements();) - { - Object obj = e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tag = (ASN1TaggedObject)obj; - - if (tag.getTagNo() == 1) - { - ver = 3; - break; - } - } - } - } - - return ver; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedDataParser.java deleted file mode 100644 index ea1d40287..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/AuthenticatedDataParser.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1SetParser; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * Parse {@link AuthenticatedData} stream. - *
    - * AuthenticatedData ::= SEQUENCE {
    - *       version CMSVersion,
    - *       originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *       recipientInfos RecipientInfos,
    - *       macAlgorithm MessageAuthenticationCodeAlgorithm,
    - *       digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
    - *       encapContentInfo EncapsulatedContentInfo,
    - *       authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
    - *       mac MessageAuthenticationCode,
    - *       unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
    - *
    - * AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
    - *
    - * UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
    - *
    - * MessageAuthenticationCode ::= OCTET STRING
    - * 
    - */ -public class AuthenticatedDataParser -{ - private ASN1SequenceParser seq; - private ASN1Integer version; - private ASN1Encodable nextObject; - private boolean originatorInfoCalled; - - public AuthenticatedDataParser( - ASN1SequenceParser seq) - throws IOException - { - this.seq = seq; - this.version = ASN1Integer.getInstance(seq.readObject()); - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorInfo getOriginatorInfo() - throws IOException - { - originatorInfoCalled = true; - - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)nextObject).getTagNo() == 0) - { - ASN1SequenceParser originatorInfo = (ASN1SequenceParser) ((ASN1TaggedObjectParser)nextObject).getObjectParser(BERTags.SEQUENCE, false); - nextObject = null; - return OriginatorInfo.getInstance(originatorInfo.toASN1Primitive()); - } - - return null; - } - - public ASN1SetParser getRecipientInfos() - throws IOException - { - if (!originatorInfoCalled) - { - getOriginatorInfo(); - } - - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - ASN1SetParser recipientInfos = (ASN1SetParser)nextObject; - nextObject = null; - return recipientInfos; - } - - public AlgorithmIdentifier getMacAlgorithm() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject != null) - { - ASN1SequenceParser o = (ASN1SequenceParser)nextObject; - nextObject = null; - return AlgorithmIdentifier.getInstance(o.toASN1Primitive()); - } - - return null; - } - - public AlgorithmIdentifier getDigestAlgorithm() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject instanceof ASN1TaggedObjectParser) - { - AlgorithmIdentifier obj = AlgorithmIdentifier.getInstance((ASN1TaggedObject)nextObject.toASN1Primitive(), false); - nextObject = null; - return obj; - } - - return null; - } - - /** - * @deprecated use getEncapsulatedContentInfo() - */ - public ContentInfoParser getEnapsulatedContentInfo() - throws IOException - { - return getEncapsulatedContentInfo(); - } - - public ContentInfoParser getEncapsulatedContentInfo() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject != null) - { - ASN1SequenceParser o = (ASN1SequenceParser)nextObject; - nextObject = null; - return new ContentInfoParser(o); - } - - return null; - } - - public ASN1SetParser getAuthAttrs() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject instanceof ASN1TaggedObjectParser) - { - ASN1Encodable o = nextObject; - nextObject = null; - return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); - } - - return null; - } - - public ASN1OctetString getMac() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - ASN1Encodable o = nextObject; - nextObject = null; - - return ASN1OctetString.getInstance(o.toASN1Primitive()); - } - - public ASN1SetParser getUnauthAttrs() - throws IOException - { - if (nextObject == null) - { - nextObject = seq.readObject(); - } - - if (nextObject != null) - { - ASN1Encodable o = nextObject; - nextObject = null; - return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CCMParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CCMParameters.java deleted file mode 100644 index 1c5054494..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CCMParameters.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.util.Arrays; - -/** - * RFC 5084: CCMParameters object. - *

    - *

    - CCMParameters ::= SEQUENCE {
    -   aes-nonce        OCTET STRING, -- recommended size is 12 octets
    -   aes-ICVlen       AES-CCM-ICVlen DEFAULT 12 }
    - * 
    - */ -public class CCMParameters - extends ASN1Object -{ - private byte[] nonce; - private int icvLen; - - /** - * Return an CCMParameters object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static CCMParameters getInstance( - Object obj) - { - if (obj instanceof CCMParameters) - { - return (CCMParameters)obj; - } - else if (obj != null) - { - return new CCMParameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CCMParameters( - ASN1Sequence seq) - { - this.nonce = ASN1OctetString.getInstance(seq.getObjectAt(0)).getOctets(); - - if (seq.size() == 2) - { - this.icvLen = ASN1Integer.getInstance(seq.getObjectAt(1)).getValue().intValue(); - } - else - { - this.icvLen = 12; - } - } - - public CCMParameters( - byte[] nonce, - int icvLen) - { - this.nonce = Arrays.clone(nonce); - this.icvLen = icvLen; - } - - public byte[] getNonce() - { - return Arrays.clone(nonce); - } - - public int getIcvLen() - { - return icvLen; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DEROctetString(nonce)); - - if (icvLen != 12) - { - v.add(new ASN1Integer(icvLen)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSAttributes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSAttributes.java deleted file mode 100644 index f1b85b59b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSAttributes.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -/** - * RFC 5652 CMS attribute OID constants. - *
    - * contentType      ::= 1.2.840.113549.1.9.3
    - * messageDigest    ::= 1.2.840.113549.1.9.4
    - * signingTime      ::= 1.2.840.113549.1.9.5
    - * counterSignature ::= 1.2.840.113549.1.9.6
    - *
    - * contentHint      ::= 1.2.840.113549.1.9.16.2.4 
    - * 
    - */ - -public interface CMSAttributes -{ - /** PKCS#9: 1.2.840.113549.1.9.3 */ - public static final ASN1ObjectIdentifier contentType = PKCSObjectIdentifiers.pkcs_9_at_contentType; - /** PKCS#9: 1.2.840.113549.1.9.4 */ - public static final ASN1ObjectIdentifier messageDigest = PKCSObjectIdentifiers.pkcs_9_at_messageDigest; - /** PKCS#9: 1.2.840.113549.1.9.5 */ - public static final ASN1ObjectIdentifier signingTime = PKCSObjectIdentifiers.pkcs_9_at_signingTime; - /** PKCS#9: 1.2.840.113549.1.9.6 */ - public static final ASN1ObjectIdentifier counterSignature = PKCSObjectIdentifiers.pkcs_9_at_counterSignature; - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.4 - See RFC 2634 */ - public static final ASN1ObjectIdentifier contentHint = PKCSObjectIdentifiers.id_aa_contentHint; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSObjectIdentifiers.java deleted file mode 100644 index 9e38740fb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CMSObjectIdentifiers.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public interface CMSObjectIdentifiers -{ - /** PKCS#7: 1.2.840.113549.1.7.1 */ - static final ASN1ObjectIdentifier data = PKCSObjectIdentifiers.data; - /** PKCS#7: 1.2.840.113549.1.7.2 */ - static final ASN1ObjectIdentifier signedData = PKCSObjectIdentifiers.signedData; - /** PKCS#7: 1.2.840.113549.1.7.3 */ - static final ASN1ObjectIdentifier envelopedData = PKCSObjectIdentifiers.envelopedData; - /** PKCS#7: 1.2.840.113549.1.7.4 */ - static final ASN1ObjectIdentifier signedAndEnvelopedData = PKCSObjectIdentifiers.signedAndEnvelopedData; - /** PKCS#7: 1.2.840.113549.1.7.5 */ - static final ASN1ObjectIdentifier digestedData = PKCSObjectIdentifiers.digestedData; - /** PKCS#7: 1.2.840.113549.1.7.6 */ - static final ASN1ObjectIdentifier encryptedData = PKCSObjectIdentifiers.encryptedData; - /** PKCS#9: 1.2.840.113549.1.9.16.1.2 -- smime ct authData */ - static final ASN1ObjectIdentifier authenticatedData = PKCSObjectIdentifiers.id_ct_authData; - /** PKCS#9: 1.2.840.113549.1.9.16.1.9 -- smime ct compressedData */ - static final ASN1ObjectIdentifier compressedData = PKCSObjectIdentifiers.id_ct_compressedData; - /** PKCS#9: 1.2.840.113549.1.9.16.1.23 -- smime ct authEnvelopedData */ - static final ASN1ObjectIdentifier authEnvelopedData = PKCSObjectIdentifiers.id_ct_authEnvelopedData; - /** PKCS#9: 1.2.840.113549.1.9.16.1.31 -- smime ct timestampedData*/ - static final ASN1ObjectIdentifier timestampedData = PKCSObjectIdentifiers.id_ct_timestampedData; - - /** - * The other Revocation Info arc - *

    - *

    -     * id-ri OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
    -     *        dod(6) internet(1) security(5) mechanisms(5) pkix(7) ri(16) }
    -     * 
    - */ - static final ASN1ObjectIdentifier id_ri = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.16"); - - /** 1.3.6.1.5.5.7.16.2 */ - static final ASN1ObjectIdentifier id_ri_ocsp_response = id_ri.branch("2"); - /** 1.3.6.1.5.5.7.16.4 */ - static final ASN1ObjectIdentifier id_ri_scvp = id_ri.branch("4"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedData.java deleted file mode 100644 index 88d3c458c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedData.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 3274: CMS Compressed Data. - * - *
    - * CompressedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     compressionAlgorithm CompressionAlgorithmIdentifier,
    - *     encapContentInfo EncapsulatedContentInfo
    - * }
    - * 
    - */ -public class CompressedData - extends ASN1Object -{ - private ASN1Integer version; - private AlgorithmIdentifier compressionAlgorithm; - private ContentInfo encapContentInfo; - - public CompressedData( - AlgorithmIdentifier compressionAlgorithm, - ContentInfo encapContentInfo) - { - this.version = new ASN1Integer(0); - this.compressionAlgorithm = compressionAlgorithm; - this.encapContentInfo = encapContentInfo; - } - - private CompressedData( - ASN1Sequence seq) - { - this.version = (ASN1Integer)seq.getObjectAt(0); - this.compressionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - this.encapContentInfo = ContentInfo.getInstance(seq.getObjectAt(2)); - } - - /** - * Return a CompressedData object from a tagged object. - * - * @param ato the tagged object holding the object we want. - * @param isExplicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static CompressedData getInstance( - ASN1TaggedObject ato, - boolean isExplicit) - { - return getInstance(ASN1Sequence.getInstance(ato, isExplicit)); - } - - /** - * Return a CompressedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static CompressedData getInstance( - Object obj) - { - if (obj instanceof CompressedData) - { - return (CompressedData)obj; - } - - if (obj != null) - { - return new CompressedData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public AlgorithmIdentifier getCompressionAlgorithmIdentifier() - { - return compressionAlgorithm; - } - - public ContentInfo getEncapContentInfo() - { - return encapContentInfo; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(compressionAlgorithm); - v.add(encapContentInfo); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedDataParser.java deleted file mode 100644 index 913cecb8b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/CompressedDataParser.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * Parser of RFC 3274 {@link CompressedData} object. - *

    - *

    - * CompressedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     compressionAlgorithm CompressionAlgorithmIdentifier,
    - *     encapContentInfo EncapsulatedContentInfo
    - * }
    - * 
    - */ -public class CompressedDataParser -{ - private ASN1Integer _version; - private AlgorithmIdentifier _compressionAlgorithm; - private ContentInfoParser _encapContentInfo; - - public CompressedDataParser( - ASN1SequenceParser seq) - throws IOException - { - this._version = (ASN1Integer)seq.readObject(); - this._compressionAlgorithm = AlgorithmIdentifier.getInstance(seq.readObject().toASN1Primitive()); - this._encapContentInfo = new ContentInfoParser((ASN1SequenceParser)seq.readObject()); - } - - public ASN1Integer getVersion() - { - return _version; - } - - public AlgorithmIdentifier getCompressionAlgorithmIdentifier() - { - return _compressionAlgorithm; - } - - public ContentInfoParser getEncapContentInfo() - { - return _encapContentInfo; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfo.java deleted file mode 100644 index 7616a7e58..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfo.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERTaggedObject; - -/** - * RFC 5652 ContentInfo, and - * RFC 5652 EncapsulatedContentInfo objects. - * - *
    - * ContentInfo ::= SEQUENCE {
    - *     contentType ContentType,
    - *     content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
    - * }
    - *
    - * EncapsulatedContentInfo ::= SEQUENCE {
    - *     eContentType ContentType,
    - *     eContent [0] EXPLICIT OCTET STRING OPTIONAL
    - * }
    - * 
    - */ -public class ContentInfo - extends ASN1Object - implements CMSObjectIdentifiers -{ - private ASN1ObjectIdentifier contentType; - private ASN1Encodable content; - - /** - * Return an ContentInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static ContentInfo getInstance( - Object obj) - { - if (obj instanceof ContentInfo) - { - return (ContentInfo)obj; - } - else if (obj != null) - { - return new ContentInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static ContentInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * @deprecated use getInstance() - */ - public ContentInfo( - ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - contentType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - - if (seq.size() > 1) - { - ASN1TaggedObject tagged = (ASN1TaggedObject)seq.getObjectAt(1); - if (!tagged.isExplicit() || tagged.getTagNo() != 0) - { - throw new IllegalArgumentException("Bad tag for 'content'"); - } - - content = tagged.getObject(); - } - } - - public ContentInfo( - ASN1ObjectIdentifier contentType, - ASN1Encodable content) - { - this.contentType = contentType; - this.content = content; - } - - public ASN1ObjectIdentifier getContentType() - { - return contentType; - } - - public ASN1Encodable getContent() - { - return content; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(contentType); - - if (content != null) - { - v.add(new BERTaggedObject(0, content)); - } - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfoParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfoParser.java deleted file mode 100644 index 3951a4ed4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ContentInfoParser.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; - -/** - * RFC 5652 {@link ContentInfo} object parser. - * - *
    - * ContentInfo ::= SEQUENCE {
    - *     contentType ContentType,
    - *     content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
    - * 
    - */ -public class ContentInfoParser -{ - private ASN1ObjectIdentifier contentType; - private ASN1TaggedObjectParser content; - - public ContentInfoParser( - ASN1SequenceParser seq) - throws IOException - { - contentType = (ASN1ObjectIdentifier)seq.readObject(); - content = (ASN1TaggedObjectParser)seq.readObject(); - } - - public ASN1ObjectIdentifier getContentType() - { - return contentType; - } - - public ASN1Encodable getContent( - int tag) - throws IOException - { - if (content != null) - { - return content.getObjectParser(tag, true); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/DigestedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/DigestedData.java deleted file mode 100644 index e20a4178c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/DigestedData.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652 DigestedData object. - *
    - * DigestedData ::= SEQUENCE {
    - *       version CMSVersion,
    - *       digestAlgorithm DigestAlgorithmIdentifier,
    - *       encapContentInfo EncapsulatedContentInfo,
    - *       digest Digest }
    - * 
    - */ -public class DigestedData - extends ASN1Object -{ - private ASN1Integer version; - private AlgorithmIdentifier digestAlgorithm; - private ContentInfo encapContentInfo; - private ASN1OctetString digest; - - public DigestedData( - AlgorithmIdentifier digestAlgorithm, - ContentInfo encapContentInfo, - byte[] digest) - { - this.version = new ASN1Integer(0); - this.digestAlgorithm = digestAlgorithm; - this.encapContentInfo = encapContentInfo; - this.digest = new DEROctetString(digest); - } - - private DigestedData( - ASN1Sequence seq) - { - this.version = (ASN1Integer)seq.getObjectAt(0); - this.digestAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - this.encapContentInfo = ContentInfo.getInstance(seq.getObjectAt(2)); - this.digest = ASN1OctetString.getInstance(seq.getObjectAt(3)); - } - - /** - * Return a DigestedData object from a tagged object. - * - * @param ato the tagged object holding the object we want. - * @param isExplicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static DigestedData getInstance( - ASN1TaggedObject ato, - boolean isExplicit) - { - return getInstance(ASN1Sequence.getInstance(ato, isExplicit)); - } - - /** - * Return a DigestedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static DigestedData getInstance( - Object obj) - { - if (obj instanceof DigestedData) - { - return (DigestedData)obj; - } - - if (obj != null) - { - return new DigestedData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public AlgorithmIdentifier getDigestAlgorithm() - { - return digestAlgorithm; - } - - public ContentInfo getEncapContentInfo() - { - return encapContentInfo; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(digestAlgorithm); - v.add(encapContentInfo); - v.add(digest); - - return new BERSequence(v); - } - - public byte[] getDigest() - { - return digest.getOctets(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfo.java deleted file mode 100644 index 9fcd591c5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfo.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652 EncryptedContentInfo object. - * - *
    - * EncryptedContentInfo ::= SEQUENCE {
    - *     contentType ContentType,
    - *     contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
    - *     encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL 
    - * }
    - * 
    - */ -public class EncryptedContentInfo - extends ASN1Object -{ - private ASN1ObjectIdentifier contentType; - private AlgorithmIdentifier contentEncryptionAlgorithm; - private ASN1OctetString encryptedContent; - - public EncryptedContentInfo( - ASN1ObjectIdentifier contentType, - AlgorithmIdentifier contentEncryptionAlgorithm, - ASN1OctetString encryptedContent) - { - this.contentType = contentType; - this.contentEncryptionAlgorithm = contentEncryptionAlgorithm; - this.encryptedContent = encryptedContent; - } - - private EncryptedContentInfo( - ASN1Sequence seq) - { - if (seq.size() < 2) - { - throw new IllegalArgumentException("Truncated Sequence Found"); - } - - contentType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - contentEncryptionAlgorithm = AlgorithmIdentifier.getInstance( - seq.getObjectAt(1)); - if (seq.size() > 2) - { - encryptedContent = ASN1OctetString.getInstance( - (ASN1TaggedObject)seq.getObjectAt(2), false); - } - } - - /** - * Return an EncryptedContentInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static EncryptedContentInfo getInstance( - Object obj) - { - if (obj instanceof EncryptedContentInfo) - { - return (EncryptedContentInfo)obj; - } - if (obj != null) - { - return new EncryptedContentInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getContentType() - { - return contentType; - } - - public AlgorithmIdentifier getContentEncryptionAlgorithm() - { - return contentEncryptionAlgorithm; - } - - public ASN1OctetString getEncryptedContent() - { - return encryptedContent; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(contentType); - v.add(contentEncryptionAlgorithm); - - if (encryptedContent != null) - { - v.add(new BERTaggedObject(false, 0, encryptedContent)); - } - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfoParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfoParser.java deleted file mode 100644 index 9c5f38d26..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedContentInfoParser.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * Parser for RFC 5652 EncryptedContentInfo object. - *

    - *

    - * EncryptedContentInfo ::= SEQUENCE {
    - *     contentType ContentType,
    - *     contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
    - *     encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL 
    - * }
    - * 
    - */ -public class EncryptedContentInfoParser -{ - private ASN1ObjectIdentifier _contentType; - private AlgorithmIdentifier _contentEncryptionAlgorithm; - private ASN1TaggedObjectParser _encryptedContent; - - public EncryptedContentInfoParser( - ASN1SequenceParser seq) - throws IOException - { - _contentType = (ASN1ObjectIdentifier)seq.readObject(); - _contentEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.readObject().toASN1Primitive()); - _encryptedContent = (ASN1TaggedObjectParser)seq.readObject(); - } - - public ASN1ObjectIdentifier getContentType() - { - return _contentType; - } - - public AlgorithmIdentifier getContentEncryptionAlgorithm() - { - return _contentEncryptionAlgorithm; - } - - public ASN1Encodable getEncryptedContent( - int tag) - throws IOException - { - return _encryptedContent.getObjectParser(tag, false); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedData.java deleted file mode 100644 index 69b86781d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EncryptedData.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERTaggedObject; - -/** - * RFC 5652 EncryptedData object. - *

    - *

    - * EncryptedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     encryptedContentInfo EncryptedContentInfo,
    - *     unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
    - * 
    - */ -public class EncryptedData - extends ASN1Object -{ - private ASN1Integer version; - private EncryptedContentInfo encryptedContentInfo; - private ASN1Set unprotectedAttrs; - - /** - * Return an EncryptedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static EncryptedData getInstance(Object o) - { - if (o instanceof EncryptedData) - { - return (EncryptedData)o; - } - - if (o != null) - { - return new EncryptedData(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public EncryptedData(EncryptedContentInfo encInfo) - { - this(encInfo, null); - } - - public EncryptedData(EncryptedContentInfo encInfo, ASN1Set unprotectedAttrs) - { - this.version = new ASN1Integer((unprotectedAttrs == null) ? 0 : 2); - this.encryptedContentInfo = encInfo; - this.unprotectedAttrs = unprotectedAttrs; - } - - private EncryptedData(ASN1Sequence seq) - { - this.version = ASN1Integer.getInstance(seq.getObjectAt(0)); - this.encryptedContentInfo = EncryptedContentInfo.getInstance(seq.getObjectAt(1)); - - if (seq.size() == 3) - { - this.unprotectedAttrs = ASN1Set.getInstance(seq.getObjectAt(2)); - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public EncryptedContentInfo getEncryptedContentInfo() - { - return encryptedContentInfo; - } - - public ASN1Set getUnprotectedAttrs() - { - return unprotectedAttrs; - } - - /** - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(encryptedContentInfo); - if (unprotectedAttrs != null) - { - v.add(new BERTaggedObject(false, 1, unprotectedAttrs)); - } - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedData.java deleted file mode 100644 index ac9b483f6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedData.java +++ /dev/null @@ -1,215 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652 EnvelopedData object. - *
    - * EnvelopedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *     recipientInfos RecipientInfos,
    - *     encryptedContentInfo EncryptedContentInfo,
    - *     unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL 
    - * }
    - * 
    - */ -public class EnvelopedData - extends ASN1Object -{ - private ASN1Integer version; - private OriginatorInfo originatorInfo; - private ASN1Set recipientInfos; - private EncryptedContentInfo encryptedContentInfo; - private ASN1Set unprotectedAttrs; - - public EnvelopedData( - OriginatorInfo originatorInfo, - ASN1Set recipientInfos, - EncryptedContentInfo encryptedContentInfo, - ASN1Set unprotectedAttrs) - { - version = new ASN1Integer(calculateVersion(originatorInfo, recipientInfos, unprotectedAttrs)); - - this.originatorInfo = originatorInfo; - this.recipientInfos = recipientInfos; - this.encryptedContentInfo = encryptedContentInfo; - this.unprotectedAttrs = unprotectedAttrs; - } - - public EnvelopedData( - OriginatorInfo originatorInfo, - ASN1Set recipientInfos, - EncryptedContentInfo encryptedContentInfo, - Attributes unprotectedAttrs) - { - version = new ASN1Integer(calculateVersion(originatorInfo, recipientInfos, ASN1Set.getInstance(unprotectedAttrs))); - - this.originatorInfo = originatorInfo; - this.recipientInfos = recipientInfos; - this.encryptedContentInfo = encryptedContentInfo; - this.unprotectedAttrs = ASN1Set.getInstance(unprotectedAttrs); - } - - /** - * @deprecated use getInstance() - */ - public EnvelopedData( - ASN1Sequence seq) - { - int index = 0; - - version = (ASN1Integer)seq.getObjectAt(index++); - - Object tmp = seq.getObjectAt(index++); - - if (tmp instanceof ASN1TaggedObject) - { - originatorInfo = OriginatorInfo.getInstance((ASN1TaggedObject)tmp, false); - tmp = seq.getObjectAt(index++); - } - - recipientInfos = ASN1Set.getInstance(tmp); - - encryptedContentInfo = EncryptedContentInfo.getInstance(seq.getObjectAt(index++)); - - if(seq.size() > index) - { - unprotectedAttrs = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(index), false); - } - } - - /** - * Return an EnvelopedData object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static EnvelopedData getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an EnvelopedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static EnvelopedData getInstance( - Object obj) - { - if (obj instanceof EnvelopedData) - { - return (EnvelopedData)obj; - } - - if (obj != null) - { - return new EnvelopedData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorInfo getOriginatorInfo() - { - return originatorInfo; - } - - public ASN1Set getRecipientInfos() - { - return recipientInfos; - } - - public EncryptedContentInfo getEncryptedContentInfo() - { - return encryptedContentInfo; - } - - public ASN1Set getUnprotectedAttrs() - { - return unprotectedAttrs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (originatorInfo != null) - { - v.add(new DERTaggedObject(false, 0, originatorInfo)); - } - - v.add(recipientInfos); - v.add(encryptedContentInfo); - - if (unprotectedAttrs != null) - { - v.add(new DERTaggedObject(false, 1, unprotectedAttrs)); - } - - return new BERSequence(v); - } - - public static int calculateVersion(OriginatorInfo originatorInfo, ASN1Set recipientInfos, ASN1Set unprotectedAttrs) - { - int version; - - if (originatorInfo != null || unprotectedAttrs != null) - { - version = 2; - } - else - { - version = 0; - - Enumeration e = recipientInfos.getObjects(); - - while (e.hasMoreElements()) - { - RecipientInfo ri = RecipientInfo.getInstance(e.nextElement()); - - if (ri.getVersion().getValue().intValue() != version) - { - version = 2; - break; - } - } - } - - return version; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedDataParser.java deleted file mode 100644 index 534a27c09..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/EnvelopedDataParser.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1SetParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.BERTags; - -/** - * Parser of RFC 5652 {@link EnvelopedData} object. - *

    - *

    - * EnvelopedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
    - *     recipientInfos RecipientInfos,
    - *     encryptedContentInfo EncryptedContentInfo,
    - *     unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL 
    - * }
    - * 
    - */ -public class EnvelopedDataParser -{ - private ASN1SequenceParser _seq; - private ASN1Integer _version; - private ASN1Encodable _nextObject; - private boolean _originatorInfoCalled; - - public EnvelopedDataParser( - ASN1SequenceParser seq) - throws IOException - { - this._seq = seq; - this._version = ASN1Integer.getInstance(seq.readObject()); - } - - public ASN1Integer getVersion() - { - return _version; - } - - public OriginatorInfo getOriginatorInfo() - throws IOException - { - _originatorInfoCalled = true; - - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 0) - { - ASN1SequenceParser originatorInfo = (ASN1SequenceParser) ((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SEQUENCE, false); - _nextObject = null; - return OriginatorInfo.getInstance(originatorInfo.toASN1Primitive()); - } - - return null; - } - - public ASN1SetParser getRecipientInfos() - throws IOException - { - if (!_originatorInfoCalled) - { - getOriginatorInfo(); - } - - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - ASN1SetParser recipientInfos = (ASN1SetParser)_nextObject; - _nextObject = null; - return recipientInfos; - } - - public EncryptedContentInfoParser getEncryptedContentInfo() - throws IOException - { - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - - if (_nextObject != null) - { - ASN1SequenceParser o = (ASN1SequenceParser) _nextObject; - _nextObject = null; - return new EncryptedContentInfoParser(o); - } - - return null; - } - - public ASN1SetParser getUnprotectedAttrs() - throws IOException - { - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - - if (_nextObject != null) - { - ASN1Encodable o = _nextObject; - _nextObject = null; - return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Evidence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Evidence.java deleted file mode 100644 index a8b173f90..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Evidence.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5544: - * Binding Documents with Time-Stamps; Evidence object. - *

    - *

    - * Evidence ::= CHOICE {
    - *     tstEvidence    [0] TimeStampTokenEvidence,   -- see RFC 3161
    - *     ersEvidence    [1] EvidenceRecord,           -- see RFC 4998
    - *     otherEvidence  [2] OtherEvidence
    - * }
    - * 
    - */ -public class Evidence - extends ASN1Object - implements ASN1Choice -{ - private TimeStampTokenEvidence tstEvidence; - - public Evidence(TimeStampTokenEvidence tstEvidence) - { - this.tstEvidence = tstEvidence; - } - - private Evidence(ASN1TaggedObject tagged) - { - if (tagged.getTagNo() == 0) - { - this.tstEvidence = TimeStampTokenEvidence.getInstance(tagged, false); - } - } - - /** - * Return an Evidence object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Evidence getInstance(Object obj) - { - if (obj == null || obj instanceof Evidence) - { - return (Evidence)obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new Evidence(ASN1TaggedObject.getInstance(obj)); - } - - throw new IllegalArgumentException("unknown object in getInstance"); - } - - public TimeStampTokenEvidence getTstEvidence() - { - return tstEvidence; - } - - public ASN1Primitive toASN1Primitive() - { - if (tstEvidence != null) - { - return new DERTaggedObject(false, 0, tstEvidence); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java deleted file mode 100644 index 131b1899f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.util.Arrays; - -/** - * RFC 5084: GCMParameters object. - *

    - *

    - GCMParameters ::= SEQUENCE {
    -   aes-nonce        OCTET STRING, -- recommended size is 12 octets
    -   aes-ICVlen       AES-GCM-ICVlen DEFAULT 12 }
    - * 
    - */ -public class GCMParameters - extends ASN1Object -{ - private byte[] nonce; - private int icvLen; - - /** - * Return an GCMParameters object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static GCMParameters getInstance( - Object obj) - { - if (obj instanceof GCMParameters) - { - return (GCMParameters)obj; - } - else if (obj != null) - { - return new GCMParameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private GCMParameters( - ASN1Sequence seq) - { - this.nonce = ASN1OctetString.getInstance(seq.getObjectAt(0)).getOctets(); - - if (seq.size() == 2) - { - this.icvLen = ASN1Integer.getInstance(seq.getObjectAt(1)).getValue().intValue(); - } - else - { - this.icvLen = 12; - } - } - - public GCMParameters( - byte[] nonce, - int icvLen) - { - this.nonce = Arrays.clone(nonce); - this.icvLen = icvLen; - } - - public byte[] getNonce() - { - return Arrays.clone(nonce); - } - - public int getIcvLen() - { - return icvLen; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DEROctetString(nonce)); - - if (icvLen != 12) - { - v.add(new ASN1Integer(icvLen)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/IssuerAndSerialNumber.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/IssuerAndSerialNumber.java deleted file mode 100644 index 2b32efbed..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/IssuerAndSerialNumber.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.asn1.x509.X509CertificateStructure; -import org.spongycastle.asn1.x509.X509Name; - -/** - * RFC 5652: IssuerAndSerialNumber object. - *

    - *

    - * IssuerAndSerialNumber ::= SEQUENCE {
    - *     issuer Name,
    - *     serialNumber CertificateSerialNumber
    - * }
    - *
    - * CertificateSerialNumber ::= INTEGER  -- See RFC 5280
    - * 
    - */ -public class IssuerAndSerialNumber - extends ASN1Object -{ - private X500Name name; - private ASN1Integer serialNumber; - - /** - * Return an IssuerAndSerialNumber object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static IssuerAndSerialNumber getInstance( - Object obj) - { - if (obj instanceof IssuerAndSerialNumber) - { - return (IssuerAndSerialNumber)obj; - } - else if (obj != null) - { - return new IssuerAndSerialNumber(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * @deprecated use getInstance() method. - */ - public IssuerAndSerialNumber( - ASN1Sequence seq) - { - this.name = X500Name.getInstance(seq.getObjectAt(0)); - this.serialNumber = (ASN1Integer)seq.getObjectAt(1); - } - - public IssuerAndSerialNumber( - Certificate certificate) - { - this.name = certificate.getIssuer(); - this.serialNumber = certificate.getSerialNumber(); - } - - /** - * @deprecated use constructor taking Certificate - */ - public IssuerAndSerialNumber( - X509CertificateStructure certificate) - { - this.name = certificate.getIssuer(); - this.serialNumber = certificate.getSerialNumber(); - } - - public IssuerAndSerialNumber( - X500Name name, - BigInteger serialNumber) - { - this.name = name; - this.serialNumber = new ASN1Integer(serialNumber); - } - - /** - * @deprecated use X500Name constructor - */ - public IssuerAndSerialNumber( - X509Name name, - BigInteger serialNumber) - { - this.name = X500Name.getInstance(name); - this.serialNumber = new ASN1Integer(serialNumber); - } - - /** - * @deprecated use X500Name constructor - */ - public IssuerAndSerialNumber( - X509Name name, - ASN1Integer serialNumber) - { - this.name = X500Name.getInstance(name); - this.serialNumber = serialNumber; - } - - public X500Name getName() - { - return name; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(name); - v.add(serialNumber); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKIdentifier.java deleted file mode 100644 index 951c3ce7f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKIdentifier.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * KEKIdentifier ::= SEQUENCE {
    - *     keyIdentifier OCTET STRING,
    - *     date GeneralizedTime OPTIONAL,
    - *     other OtherKeyAttribute OPTIONAL 
    - * }
    - * 
    - */ -public class KEKIdentifier - extends ASN1Object -{ - private ASN1OctetString keyIdentifier; - private ASN1GeneralizedTime date; - private OtherKeyAttribute other; - - public KEKIdentifier( - byte[] keyIdentifier, - ASN1GeneralizedTime date, - OtherKeyAttribute other) - { - this.keyIdentifier = new DEROctetString(keyIdentifier); - this.date = date; - this.other = other; - } - - private KEKIdentifier( - ASN1Sequence seq) - { - keyIdentifier = (ASN1OctetString)seq.getObjectAt(0); - - switch (seq.size()) - { - case 1: - break; - case 2: - if (seq.getObjectAt(1) instanceof ASN1GeneralizedTime) - { - date = (ASN1GeneralizedTime)seq.getObjectAt(1); - } - else - { - other = OtherKeyAttribute.getInstance(seq.getObjectAt(1)); - } - break; - case 3: - date = (ASN1GeneralizedTime)seq.getObjectAt(1); - other = OtherKeyAttribute.getInstance(seq.getObjectAt(2)); - break; - default: - throw new IllegalArgumentException("Invalid KEKIdentifier"); - } - } - - /** - * Return a KEKIdentifier object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static KEKIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a KEKIdentifier object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static KEKIdentifier getInstance( - Object obj) - { - if (obj == null || obj instanceof KEKIdentifier) - { - return (KEKIdentifier)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new KEKIdentifier((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid KEKIdentifier: " + obj.getClass().getName()); - } - - public ASN1OctetString getKeyIdentifier() - { - return keyIdentifier; - } - - public ASN1GeneralizedTime getDate() - { - return date; - } - - public OtherKeyAttribute getOther() - { - return other; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(keyIdentifier); - - if (date != null) - { - v.add(date); - } - - if (other != null) - { - v.add(other); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKRecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKRecipientInfo.java deleted file mode 100644 index 42151ce44..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KEKRecipientInfo.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * KEKRecipientInfo ::= SEQUENCE {
    - *     version CMSVersion,  -- always set to 4
    - *     kekid KEKIdentifier,
    - *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
    - *     encryptedKey EncryptedKey 
    - * }
    - * 
    - */ -public class KEKRecipientInfo - extends ASN1Object -{ - private ASN1Integer version; - private KEKIdentifier kekid; - private AlgorithmIdentifier keyEncryptionAlgorithm; - private ASN1OctetString encryptedKey; - - public KEKRecipientInfo( - KEKIdentifier kekid, - AlgorithmIdentifier keyEncryptionAlgorithm, - ASN1OctetString encryptedKey) - { - this.version = new ASN1Integer(4); - this.kekid = kekid; - this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; - this.encryptedKey = encryptedKey; - } - - public KEKRecipientInfo( - ASN1Sequence seq) - { - version = (ASN1Integer)seq.getObjectAt(0); - kekid = KEKIdentifier.getInstance(seq.getObjectAt(1)); - keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(2)); - encryptedKey = (ASN1OctetString)seq.getObjectAt(3); - } - - /** - * Return a KEKRecipientInfo object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static KEKRecipientInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a KEKRecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static KEKRecipientInfo getInstance( - Object obj) - { - if (obj instanceof KEKRecipientInfo) - { - return (KEKRecipientInfo)obj; - } - - if (obj != null) - { - return new KEKRecipientInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public KEKIdentifier getKekid() - { - return kekid; - } - - public AlgorithmIdentifier getKeyEncryptionAlgorithm() - { - return keyEncryptionAlgorithm; - } - - public ASN1OctetString getEncryptedKey() - { - return encryptedKey; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(kekid); - v.add(keyEncryptionAlgorithm); - v.add(encryptedKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientIdentifier.java deleted file mode 100644 index f3de2bc1a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientIdentifier.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * KeyAgreeRecipientIdentifier ::= CHOICE {
    - *     issuerAndSerialNumber IssuerAndSerialNumber,
    - *     rKeyId [0] IMPLICIT RecipientKeyIdentifier }
    - * 
    - */ -public class KeyAgreeRecipientIdentifier - extends ASN1Object - implements ASN1Choice -{ - private IssuerAndSerialNumber issuerSerial; - private RecipientKeyIdentifier rKeyID; - - /** - * Return an KeyAgreeRecipientIdentifier object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static KeyAgreeRecipientIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an KeyAgreeRecipientIdentifier object from the given object. - *

    - * Accepted inputs: - *

    - *

    - * Note: no byte[] input! - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static KeyAgreeRecipientIdentifier getInstance( - Object obj) - { - if (obj == null || obj instanceof KeyAgreeRecipientIdentifier) - { - return (KeyAgreeRecipientIdentifier)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new KeyAgreeRecipientIdentifier(IssuerAndSerialNumber.getInstance(obj)); - } - - if (obj instanceof ASN1TaggedObject && ((ASN1TaggedObject)obj).getTagNo() == 0) - { - return new KeyAgreeRecipientIdentifier(RecipientKeyIdentifier.getInstance( - (ASN1TaggedObject)obj, false)); - } - - throw new IllegalArgumentException("Invalid KeyAgreeRecipientIdentifier: " + obj.getClass().getName()); - } - - public KeyAgreeRecipientIdentifier( - IssuerAndSerialNumber issuerSerial) - { - this.issuerSerial = issuerSerial; - this.rKeyID = null; - } - - public KeyAgreeRecipientIdentifier( - RecipientKeyIdentifier rKeyID) - { - this.issuerSerial = null; - this.rKeyID = rKeyID; - } - - public IssuerAndSerialNumber getIssuerAndSerialNumber() - { - return issuerSerial; - } - - public RecipientKeyIdentifier getRKeyID() - { - return rKeyID; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - if (issuerSerial != null) - { - return issuerSerial.toASN1Primitive(); - } - - return new DERTaggedObject(false, 0, rKeyID); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientInfo.java deleted file mode 100644 index 28a1edc24..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyAgreeRecipientInfo.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * KeyAgreeRecipientInfo ::= SEQUENCE {
    - *     version CMSVersion,  -- always set to 3
    - *     originator [0] EXPLICIT OriginatorIdentifierOrKey,
    - *     ukm [1] EXPLICIT UserKeyingMaterial OPTIONAL,
    - *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
    - *     recipientEncryptedKeys RecipientEncryptedKeys 
    - * }
    - *
    - * UserKeyingMaterial ::= OCTET STRING
    - * 
    - */ -public class KeyAgreeRecipientInfo - extends ASN1Object -{ - private ASN1Integer version; - private OriginatorIdentifierOrKey originator; - private ASN1OctetString ukm; - private AlgorithmIdentifier keyEncryptionAlgorithm; - private ASN1Sequence recipientEncryptedKeys; - - public KeyAgreeRecipientInfo( - OriginatorIdentifierOrKey originator, - ASN1OctetString ukm, - AlgorithmIdentifier keyEncryptionAlgorithm, - ASN1Sequence recipientEncryptedKeys) - { - this.version = new ASN1Integer(3); - this.originator = originator; - this.ukm = ukm; - this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; - this.recipientEncryptedKeys = recipientEncryptedKeys; - } - - /** - * @deprecated use getInstance() - */ - public KeyAgreeRecipientInfo( - ASN1Sequence seq) - { - int index = 0; - - version = (ASN1Integer)seq.getObjectAt(index++); - originator = OriginatorIdentifierOrKey.getInstance( - (ASN1TaggedObject)seq.getObjectAt(index++), true); - - if (seq.getObjectAt(index) instanceof ASN1TaggedObject) - { - ukm = ASN1OctetString.getInstance( - (ASN1TaggedObject)seq.getObjectAt(index++), true); - } - - keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance( - seq.getObjectAt(index++)); - - recipientEncryptedKeys = (ASN1Sequence)seq.getObjectAt(index++); - } - - /** - * Return a KeyAgreeRecipientInfo object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static KeyAgreeRecipientInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a KeyAgreeRecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static KeyAgreeRecipientInfo getInstance( - Object obj) - { - if (obj instanceof KeyAgreeRecipientInfo) - { - return (KeyAgreeRecipientInfo)obj; - } - - if (obj != null) - { - return new KeyAgreeRecipientInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public OriginatorIdentifierOrKey getOriginator() - { - return originator; - } - - public ASN1OctetString getUserKeyingMaterial() - { - return ukm; - } - - public AlgorithmIdentifier getKeyEncryptionAlgorithm() - { - return keyEncryptionAlgorithm; - } - - public ASN1Sequence getRecipientEncryptedKeys() - { - return recipientEncryptedKeys; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(new DERTaggedObject(true, 0, originator)); - - if (ukm != null) - { - v.add(new DERTaggedObject(true, 1, ukm)); - } - - v.add(keyEncryptionAlgorithm); - v.add(recipientEncryptedKeys); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyTransRecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyTransRecipientInfo.java deleted file mode 100644 index e031dce5f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/KeyTransRecipientInfo.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * KeyTransRecipientInfo ::= SEQUENCE {
    - *     version CMSVersion,  -- always set to 0 or 2
    - *     rid RecipientIdentifier,
    - *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
    - *     encryptedKey EncryptedKey 
    - * }
    - * 
    - */ -public class KeyTransRecipientInfo - extends ASN1Object -{ - private ASN1Integer version; - private RecipientIdentifier rid; - private AlgorithmIdentifier keyEncryptionAlgorithm; - private ASN1OctetString encryptedKey; - - public KeyTransRecipientInfo( - RecipientIdentifier rid, - AlgorithmIdentifier keyEncryptionAlgorithm, - ASN1OctetString encryptedKey) - { - if (rid.toASN1Primitive() instanceof ASN1TaggedObject) - { - this.version = new ASN1Integer(2); - } - else - { - this.version = new ASN1Integer(0); - } - - this.rid = rid; - this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; - this.encryptedKey = encryptedKey; - } - - /** - * @deprecated use getInstance() - */ - public KeyTransRecipientInfo( - ASN1Sequence seq) - { - this.version = (ASN1Integer)seq.getObjectAt(0); - this.rid = RecipientIdentifier.getInstance(seq.getObjectAt(1)); - this.keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(2)); - this.encryptedKey = (ASN1OctetString)seq.getObjectAt(3); - } - - /** - * Return a KeyTransRecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static KeyTransRecipientInfo getInstance( - Object obj) - { - if (obj instanceof KeyTransRecipientInfo) - { - return (KeyTransRecipientInfo)obj; - } - - if(obj != null) - { - return new KeyTransRecipientInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public RecipientIdentifier getRecipientIdentifier() - { - return rid; - } - - public AlgorithmIdentifier getKeyEncryptionAlgorithm() - { - return keyEncryptionAlgorithm; - } - - public ASN1OctetString getEncryptedKey() - { - return encryptedKey; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(rid); - v.add(keyEncryptionAlgorithm); - v.add(encryptedKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/MetaData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/MetaData.java deleted file mode 100644 index 92cf468d7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/MetaData.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERUTF8String; - -/** - * RFC 5544: - * Binding Documents with Time-Stamps; MetaData object. - *

    - *

    - * MetaData ::= SEQUENCE {
    - *   hashProtected        BOOLEAN,
    - *   fileName             UTF8String OPTIONAL,
    - *   mediaType            IA5String OPTIONAL,
    - *   otherMetaData        Attributes OPTIONAL
    - * }
    - * 
    - */ -public class MetaData - extends ASN1Object -{ - private ASN1Boolean hashProtected; - private DERUTF8String fileName; - private DERIA5String mediaType; - private Attributes otherMetaData; - - public MetaData( - ASN1Boolean hashProtected, - DERUTF8String fileName, - DERIA5String mediaType, - Attributes otherMetaData) - { - this.hashProtected = hashProtected; - this.fileName = fileName; - this.mediaType = mediaType; - this.otherMetaData = otherMetaData; - } - - private MetaData(ASN1Sequence seq) - { - this.hashProtected = ASN1Boolean.getInstance(seq.getObjectAt(0)); - - int index = 1; - - if (index < seq.size() && seq.getObjectAt(index) instanceof DERUTF8String) - { - this.fileName = DERUTF8String.getInstance(seq.getObjectAt(index++)); - } - if (index < seq.size() && seq.getObjectAt(index) instanceof DERIA5String) - { - this.mediaType = DERIA5String.getInstance(seq.getObjectAt(index++)); - } - if (index < seq.size()) - { - this.otherMetaData = Attributes.getInstance(seq.getObjectAt(index++)); - } - } - - /** - * Return a MetaData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static MetaData getInstance(Object obj) - { - if (obj instanceof MetaData) - { - return (MetaData)obj; - } - else if (obj != null) - { - return new MetaData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(hashProtected); - - if (fileName != null) - { - v.add(fileName); - } - - if (mediaType != null) - { - v.add(mediaType); - } - - if (otherMetaData != null) - { - v.add(otherMetaData); - } - - return new DERSequence(v); - } - - public boolean isHashProtected() - { - return hashProtected.isTrue(); - } - - public DERUTF8String getFileName() - { - return this.fileName; - } - - public DERIA5String getMediaType() - { - return this.mediaType; - } - - public Attributes getOtherMetaData() - { - return otherMetaData; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorIdentifierOrKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorIdentifierOrKey.java deleted file mode 100644 index 042daff83..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorIdentifierOrKey.java +++ /dev/null @@ -1,179 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.SubjectKeyIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * OriginatorIdentifierOrKey ::= CHOICE {
    - *     issuerAndSerialNumber IssuerAndSerialNumber,
    - *     subjectKeyIdentifier [0] SubjectKeyIdentifier,
    - *     originatorKey [1] OriginatorPublicKey 
    - * }
    - *
    - * SubjectKeyIdentifier ::= OCTET STRING
    - * 
    - */ -public class OriginatorIdentifierOrKey - extends ASN1Object - implements ASN1Choice -{ - private ASN1Encodable id; - - public OriginatorIdentifierOrKey( - IssuerAndSerialNumber id) - { - this.id = id; - } - - /** - * @deprecated use version taking a SubjectKeyIdentifier - */ - public OriginatorIdentifierOrKey( - ASN1OctetString id) - { - this(new SubjectKeyIdentifier(id.getOctets())); - } - - public OriginatorIdentifierOrKey( - SubjectKeyIdentifier id) - { - this.id = new DERTaggedObject(false, 0, id); - } - - public OriginatorIdentifierOrKey( - OriginatorPublicKey id) - { - this.id = new DERTaggedObject(false, 1, id); - } - - /** - * @deprecated use more specific version - */ - public OriginatorIdentifierOrKey( - ASN1Primitive id) - { - this.id = id; - } - - /** - * Return an OriginatorIdentifierOrKey object from a tagged object. - * - * @param o the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static OriginatorIdentifierOrKey getInstance( - ASN1TaggedObject o, - boolean explicit) - { - if (!explicit) - { - throw new IllegalArgumentException( - "Can't implicitly tag OriginatorIdentifierOrKey"); - } - - return getInstance(o.getObject()); - } - - /** - * Return an OriginatorIdentifierOrKey object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OriginatorIdentifierOrKey getInstance( - Object o) - { - if (o == null || o instanceof OriginatorIdentifierOrKey) - { - return (OriginatorIdentifierOrKey)o; - } - - if (o instanceof IssuerAndSerialNumber) - { - return new OriginatorIdentifierOrKey((IssuerAndSerialNumber)o); - } - - if (o instanceof SubjectKeyIdentifier) - { - return new OriginatorIdentifierOrKey((SubjectKeyIdentifier)o); - } - - if (o instanceof OriginatorPublicKey) - { - return new OriginatorIdentifierOrKey((OriginatorPublicKey)o); - } - - if (o instanceof ASN1TaggedObject) - { - // TODO Add validation - return new OriginatorIdentifierOrKey((ASN1TaggedObject)o); - } - - throw new IllegalArgumentException("Invalid OriginatorIdentifierOrKey: " + o.getClass().getName()); - } - - public ASN1Encodable getId() - { - return id; - } - - public IssuerAndSerialNumber getIssuerAndSerialNumber() - { - if (id instanceof IssuerAndSerialNumber) - { - return (IssuerAndSerialNumber)id; - } - - return null; - } - - public SubjectKeyIdentifier getSubjectKeyIdentifier() - { - if (id instanceof ASN1TaggedObject && ((ASN1TaggedObject)id).getTagNo() == 0) - { - return SubjectKeyIdentifier.getInstance((ASN1TaggedObject)id, false); - } - - return null; - } - - public OriginatorPublicKey getOriginatorKey() - { - if (id instanceof ASN1TaggedObject && ((ASN1TaggedObject)id).getTagNo() == 1) - { - return OriginatorPublicKey.getInstance((ASN1TaggedObject)id, false); - } - - return null; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return id.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorInfo.java deleted file mode 100644 index 88d2e6304..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorInfo.java +++ /dev/null @@ -1,159 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: OriginatorInfo object. - *
    - * RFC 3369:
    - *
    - * OriginatorInfo ::= SEQUENCE {
    - *     certs [0] IMPLICIT CertificateSet OPTIONAL,
    - *     crls  [1] IMPLICIT CertificateRevocationLists OPTIONAL 
    - * }
    - * CertificateRevocationLists ::= SET OF CertificateList (from X.509)
    - *
    - * RFC 3582 / 5652:
    - *
    - * OriginatorInfo ::= SEQUENCE {
    - *     certs [0] IMPLICIT CertificateSet OPTIONAL,
    - *     crls  [1] IMPLICIT RevocationInfoChoices OPTIONAL
    - * }
    - * RevocationInfoChoices ::= SET OF RevocationInfoChoice
    - * RevocationInfoChoice ::= CHOICE {
    - *     crl CertificateList,
    - *     other [1] IMPLICIT OtherRevocationInfoFormat }
    - *
    - * OtherRevocationInfoFormat ::= SEQUENCE {
    - *     otherRevInfoFormat OBJECT IDENTIFIER,
    - *     otherRevInfo ANY DEFINED BY otherRevInfoFormat }
    - * 
    - *

    - * TODO: RevocationInfoChoices / RevocationInfoChoice. - * Constructor using CertificateSet, CertificationInfoChoices - */ -public class OriginatorInfo - extends ASN1Object -{ - private ASN1Set certs; - private ASN1Set crls; - - public OriginatorInfo( - ASN1Set certs, - ASN1Set crls) - { - this.certs = certs; - this.crls = crls; - } - - private OriginatorInfo( - ASN1Sequence seq) - { - switch (seq.size()) - { - case 0: // empty - break; - case 1: - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); - switch (o.getTagNo()) - { - case 0 : - certs = ASN1Set.getInstance(o, false); - break; - case 1 : - crls = ASN1Set.getInstance(o, false); - break; - default: - throw new IllegalArgumentException("Bad tag in OriginatorInfo: " + o.getTagNo()); - } - break; - case 2: - certs = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(0), false); - crls = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(1), false); - break; - default: - throw new IllegalArgumentException("OriginatorInfo too big"); - } - } - - /** - * Return an OriginatorInfo object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static OriginatorInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an OriginatorInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OriginatorInfo getInstance( - Object obj) - { - if (obj instanceof OriginatorInfo) - { - return (OriginatorInfo)obj; - } - else if (obj != null) - { - return new OriginatorInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Set getCertificates() - { - return certs; - } - - public ASN1Set getCRLs() - { - return crls; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (certs != null) - { - v.add(new DERTaggedObject(false, 0, certs)); - } - - if (crls != null) - { - v.add(new DERTaggedObject(false, 1, crls)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorPublicKey.java deleted file mode 100644 index e5edcf3ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OriginatorPublicKey.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * OriginatorPublicKey ::= SEQUENCE {
    - *     algorithm AlgorithmIdentifier,
    - *     publicKey BIT STRING 
    - * }
    - * 
    - */ -public class OriginatorPublicKey - extends ASN1Object -{ - private AlgorithmIdentifier algorithm; - private DERBitString publicKey; - - public OriginatorPublicKey( - AlgorithmIdentifier algorithm, - byte[] publicKey) - { - this.algorithm = algorithm; - this.publicKey = new DERBitString(publicKey); - } - - /** - * @deprecated use getInstance() - */ - public OriginatorPublicKey( - ASN1Sequence seq) - { - algorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - publicKey = (DERBitString)seq.getObjectAt(1); - } - - /** - * Return an OriginatorPublicKey object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static OriginatorPublicKey getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an OriginatorPublicKey object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OriginatorPublicKey getInstance( - Object obj) - { - if (obj instanceof OriginatorPublicKey) - { - return (OriginatorPublicKey)obj; - } - - if (obj != null) - { - return new OriginatorPublicKey(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public AlgorithmIdentifier getAlgorithm() - { - return algorithm; - } - - public DERBitString getPublicKey() - { - return publicKey; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algorithm); - v.add(publicKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherKeyAttribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherKeyAttribute.java deleted file mode 100644 index cc9db1c7e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherKeyAttribute.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: OtherKeyAttribute object. - *

    - *

    - * OtherKeyAttribute ::= SEQUENCE {
    - *     keyAttrId OBJECT IDENTIFIER,
    - *     keyAttr ANY DEFINED BY keyAttrId OPTIONAL
    - * }
    - * 
    - */ -public class OtherKeyAttribute - extends ASN1Object -{ - private ASN1ObjectIdentifier keyAttrId; - private ASN1Encodable keyAttr; - - /** - * Return an OtherKeyAttribute object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OtherKeyAttribute getInstance( - Object o) - { - if (o instanceof OtherKeyAttribute) - { - return (OtherKeyAttribute)o; - } - - if (o != null) - { - return new OtherKeyAttribute(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * @deprecated use getInstance() - */ - public OtherKeyAttribute( - ASN1Sequence seq) - { - keyAttrId = (ASN1ObjectIdentifier)seq.getObjectAt(0); - keyAttr = seq.getObjectAt(1); - } - - public OtherKeyAttribute( - ASN1ObjectIdentifier keyAttrId, - ASN1Encodable keyAttr) - { - this.keyAttrId = keyAttrId; - this.keyAttr = keyAttr; - } - - public ASN1ObjectIdentifier getKeyAttrId() - { - return keyAttrId; - } - - public ASN1Encodable getKeyAttr() - { - return keyAttr; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(keyAttrId); - v.add(keyAttr); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRecipientInfo.java deleted file mode 100644 index 2f95e85c9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRecipientInfo.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * OtherRecipientInfo ::= SEQUENCE {
    - *    oriType OBJECT IDENTIFIER,
    - *    oriValue ANY DEFINED BY oriType }
    - * 
    - */ -public class OtherRecipientInfo - extends ASN1Object -{ - private ASN1ObjectIdentifier oriType; - private ASN1Encodable oriValue; - - public OtherRecipientInfo( - ASN1ObjectIdentifier oriType, - ASN1Encodable oriValue) - { - this.oriType = oriType; - this.oriValue = oriValue; - } - - /** - * @deprecated use getInstance(). - */ - public OtherRecipientInfo( - ASN1Sequence seq) - { - oriType = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - oriValue = seq.getObjectAt(1); - } - - /** - * Return a OtherRecipientInfo object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static OtherRecipientInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a OtherRecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OtherRecipientInfo getInstance( - Object obj) - { - if (obj instanceof OtherRecipientInfo) - { - return (OtherRecipientInfo)obj; - } - - if (obj != null) - { - return new OtherRecipientInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getType() - { - return oriType; - } - - public ASN1Encodable getValue() - { - return oriValue; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(oriType); - v.add(oriValue); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRevocationInfoFormat.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRevocationInfoFormat.java deleted file mode 100644 index 178fd9919..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/OtherRevocationInfoFormat.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: OtherRevocationInfoFormat object. - *

    - *

    - * OtherRevocationInfoFormat ::= SEQUENCE {
    - *      otherRevInfoFormat OBJECT IDENTIFIER,
    - *      otherRevInfo ANY DEFINED BY otherRevInfoFormat }
    - * 
    - */ -public class OtherRevocationInfoFormat - extends ASN1Object -{ - private ASN1ObjectIdentifier otherRevInfoFormat; - private ASN1Encodable otherRevInfo; - - public OtherRevocationInfoFormat( - ASN1ObjectIdentifier otherRevInfoFormat, - ASN1Encodable otherRevInfo) - { - this.otherRevInfoFormat = otherRevInfoFormat; - this.otherRevInfo = otherRevInfo; - } - - private OtherRevocationInfoFormat( - ASN1Sequence seq) - { - otherRevInfoFormat = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - otherRevInfo = seq.getObjectAt(1); - } - - /** - * Return a OtherRevocationInfoFormat object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static OtherRevocationInfoFormat getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a OtherRevocationInfoFormat object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static OtherRevocationInfoFormat getInstance( - Object obj) - { - if (obj instanceof OtherRevocationInfoFormat) - { - return (OtherRevocationInfoFormat)obj; - } - - if (obj != null) - { - return new OtherRevocationInfoFormat(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getInfoFormat() - { - return otherRevInfoFormat; - } - - public ASN1Encodable getInfo() - { - return otherRevInfo; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(otherRevInfoFormat); - v.add(otherRevInfo); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/PasswordRecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/PasswordRecipientInfo.java deleted file mode 100644 index 26dd78f58..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/PasswordRecipientInfo.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * PasswordRecipientInfo ::= SEQUENCE {
    - *     version       CMSVersion,   -- Always set to 0
    - *     keyDerivationAlgorithm [0] KeyDerivationAlgorithmIdentifier
    - *                             OPTIONAL,
    - *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
    - *     encryptedKey  EncryptedKey }
    - * 
    - */ -public class PasswordRecipientInfo - extends ASN1Object -{ - private ASN1Integer version; - private AlgorithmIdentifier keyDerivationAlgorithm; - private AlgorithmIdentifier keyEncryptionAlgorithm; - private ASN1OctetString encryptedKey; - - public PasswordRecipientInfo( - AlgorithmIdentifier keyEncryptionAlgorithm, - ASN1OctetString encryptedKey) - { - this.version = new ASN1Integer(0); - this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; - this.encryptedKey = encryptedKey; - } - - public PasswordRecipientInfo( - AlgorithmIdentifier keyDerivationAlgorithm, - AlgorithmIdentifier keyEncryptionAlgorithm, - ASN1OctetString encryptedKey) - { - this.version = new ASN1Integer(0); - this.keyDerivationAlgorithm = keyDerivationAlgorithm; - this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; - this.encryptedKey = encryptedKey; - } - - /** - * @deprecated use getInstance() method. - */ - public PasswordRecipientInfo( - ASN1Sequence seq) - { - version = (ASN1Integer)seq.getObjectAt(0); - if (seq.getObjectAt(1) instanceof ASN1TaggedObject) - { - keyDerivationAlgorithm = AlgorithmIdentifier.getInstance((ASN1TaggedObject)seq.getObjectAt(1), false); - keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(2)); - encryptedKey = (ASN1OctetString)seq.getObjectAt(3); - } - else - { - keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - encryptedKey = (ASN1OctetString)seq.getObjectAt(2); - } - } - - /** - * Return a PasswordRecipientInfo object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static PasswordRecipientInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a PasswordRecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static PasswordRecipientInfo getInstance( - Object obj) - { - if (obj instanceof PasswordRecipientInfo) - { - return (PasswordRecipientInfo)obj; - } - - if (obj != null) - { - return new PasswordRecipientInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public AlgorithmIdentifier getKeyDerivationAlgorithm() - { - return keyDerivationAlgorithm; - } - - public AlgorithmIdentifier getKeyEncryptionAlgorithm() - { - return keyEncryptionAlgorithm; - } - - public ASN1OctetString getEncryptedKey() - { - return encryptedKey; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (keyDerivationAlgorithm != null) - { - v.add(new DERTaggedObject(false, 0, keyDerivationAlgorithm)); - } - v.add(keyEncryptionAlgorithm); - v.add(encryptedKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientEncryptedKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientEncryptedKey.java deleted file mode 100644 index a51a13a5f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientEncryptedKey.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * RecipientEncryptedKey ::= SEQUENCE {
    - *     rid KeyAgreeRecipientIdentifier,
    - *     encryptedKey EncryptedKey
    - * }
    - * 
    - */ -public class RecipientEncryptedKey - extends ASN1Object -{ - private KeyAgreeRecipientIdentifier identifier; - private ASN1OctetString encryptedKey; - - private RecipientEncryptedKey( - ASN1Sequence seq) - { - identifier = KeyAgreeRecipientIdentifier.getInstance(seq.getObjectAt(0)); - encryptedKey = (ASN1OctetString)seq.getObjectAt(1); - } - - /** - * Return an RecipientEncryptedKey object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static RecipientEncryptedKey getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return a RecipientEncryptedKey object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static RecipientEncryptedKey getInstance( - Object obj) - { - if (obj instanceof RecipientEncryptedKey) - { - return (RecipientEncryptedKey)obj; - } - - if (obj != null) - { - return new RecipientEncryptedKey(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public RecipientEncryptedKey( - KeyAgreeRecipientIdentifier id, - ASN1OctetString encryptedKey) - { - this.identifier = id; - this.encryptedKey = encryptedKey; - } - - public KeyAgreeRecipientIdentifier getIdentifier() - { - return identifier; - } - - public ASN1OctetString getEncryptedKey() - { - return encryptedKey; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(identifier); - v.add(encryptedKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientIdentifier.java deleted file mode 100644 index cbf52625b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientIdentifier.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *
    - * RecipientIdentifier ::= CHOICE {
    - *     issuerAndSerialNumber IssuerAndSerialNumber,
    - *     subjectKeyIdentifier [0] SubjectKeyIdentifier 
    - * }
    - *
    - * SubjectKeyIdentifier ::= OCTET STRING
    - * 
    - */ -public class RecipientIdentifier - extends ASN1Object - implements ASN1Choice -{ - private ASN1Encodable id; - - public RecipientIdentifier( - IssuerAndSerialNumber id) - { - this.id = id; - } - - public RecipientIdentifier( - ASN1OctetString id) - { - this.id = new DERTaggedObject(false, 0, id); - } - - public RecipientIdentifier( - ASN1Primitive id) - { - this.id = id; - } - - /** - * Return a RecipientIdentifier object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static RecipientIdentifier getInstance( - Object o) - { - if (o == null || o instanceof RecipientIdentifier) - { - return (RecipientIdentifier)o; - } - - if (o instanceof IssuerAndSerialNumber) - { - return new RecipientIdentifier((IssuerAndSerialNumber)o); - } - - if (o instanceof ASN1OctetString) - { - return new RecipientIdentifier((ASN1OctetString)o); - } - - if (o instanceof ASN1Primitive) - { - return new RecipientIdentifier((ASN1Primitive)o); - } - - throw new IllegalArgumentException( - "Illegal object in RecipientIdentifier: " + o.getClass().getName()); - } - - public boolean isTagged() - { - return (id instanceof ASN1TaggedObject); - } - - public ASN1Encodable getId() - { - if (id instanceof ASN1TaggedObject) - { - return ASN1OctetString.getInstance((ASN1TaggedObject)id, false); - } - - return IssuerAndSerialNumber.getInstance(id); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return id.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientInfo.java deleted file mode 100644 index d6b5c8020..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientInfo.java +++ /dev/null @@ -1,173 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * RecipientInfo ::= CHOICE {
    - *     ktri      KeyTransRecipientInfo,
    - *     kari  [1] KeyAgreeRecipientInfo,
    - *     kekri [2] KEKRecipientInfo,
    - *     pwri  [3] PasswordRecipientInfo,
    - *     ori   [4] OtherRecipientInfo }
    - * 
    - */ -public class RecipientInfo - extends ASN1Object - implements ASN1Choice -{ - ASN1Encodable info; - - public RecipientInfo( - KeyTransRecipientInfo info) - { - this.info = info; - } - - public RecipientInfo( - KeyAgreeRecipientInfo info) - { - this.info = new DERTaggedObject(false, 1, info); - } - - public RecipientInfo( - KEKRecipientInfo info) - { - this.info = new DERTaggedObject(false, 2, info); - } - - public RecipientInfo( - PasswordRecipientInfo info) - { - this.info = new DERTaggedObject(false, 3, info); - } - - public RecipientInfo( - OtherRecipientInfo info) - { - this.info = new DERTaggedObject(false, 4, info); - } - - public RecipientInfo( - ASN1Primitive info) - { - this.info = info; - } - - /** - * Return a RecipientInfo object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static RecipientInfo getInstance( - Object o) - { - if (o == null || o instanceof RecipientInfo) - { - return (RecipientInfo)o; - } - else if (o instanceof ASN1Sequence) - { - return new RecipientInfo((ASN1Sequence)o); - } - else if (o instanceof ASN1TaggedObject) - { - return new RecipientInfo((ASN1TaggedObject)o); - } - - throw new IllegalArgumentException("unknown object in factory: " - + o.getClass().getName()); - } - - public ASN1Integer getVersion() - { - if (info instanceof ASN1TaggedObject) - { - ASN1TaggedObject o = (ASN1TaggedObject)info; - - switch (o.getTagNo()) - { - case 1: - return KeyAgreeRecipientInfo.getInstance(o, false).getVersion(); - case 2: - return getKEKInfo(o).getVersion(); - case 3: - return PasswordRecipientInfo.getInstance(o, false).getVersion(); - case 4: - return new ASN1Integer(0); // no syntax version for OtherRecipientInfo - default: - throw new IllegalStateException("unknown tag"); - } - } - - return KeyTransRecipientInfo.getInstance(info).getVersion(); - } - - public boolean isTagged() - { - return (info instanceof ASN1TaggedObject); - } - - public ASN1Encodable getInfo() - { - if (info instanceof ASN1TaggedObject) - { - ASN1TaggedObject o = (ASN1TaggedObject)info; - - switch (o.getTagNo()) - { - case 1: - return KeyAgreeRecipientInfo.getInstance(o, false); - case 2: - return getKEKInfo(o); - case 3: - return PasswordRecipientInfo.getInstance(o, false); - case 4: - return OtherRecipientInfo.getInstance(o, false); - default: - throw new IllegalStateException("unknown tag"); - } - } - - return KeyTransRecipientInfo.getInstance(info); - } - - private KEKRecipientInfo getKEKInfo(ASN1TaggedObject o) - { - if (o.isExplicit()) - { // compatibilty with erroneous version - return KEKRecipientInfo.getInstance(o, true); - } - else - { - return KEKRecipientInfo.getInstance(o, false); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return info.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientKeyIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientKeyIdentifier.java deleted file mode 100644 index 92377c41b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/RecipientKeyIdentifier.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5652: - * Content encryption key delivery mechanisms. - *

    - *

    - * RecipientKeyIdentifier ::= SEQUENCE {
    - *     subjectKeyIdentifier SubjectKeyIdentifier,
    - *     date GeneralizedTime OPTIONAL,
    - *     other OtherKeyAttribute OPTIONAL 
    - * }
    - *
    - * SubjectKeyIdentifier ::= OCTET STRING
    - * 
    - */ -public class RecipientKeyIdentifier - extends ASN1Object -{ - private ASN1OctetString subjectKeyIdentifier; - private DERGeneralizedTime date; - private OtherKeyAttribute other; - - public RecipientKeyIdentifier( - ASN1OctetString subjectKeyIdentifier, - DERGeneralizedTime date, - OtherKeyAttribute other) - { - this.subjectKeyIdentifier = subjectKeyIdentifier; - this.date = date; - this.other = other; - } - - public RecipientKeyIdentifier( - byte[] subjectKeyIdentifier, - DERGeneralizedTime date, - OtherKeyAttribute other) - { - this.subjectKeyIdentifier = new DEROctetString(subjectKeyIdentifier); - this.date = date; - this.other = other; - } - - public RecipientKeyIdentifier( - byte[] subjectKeyIdentifier) - { - this(subjectKeyIdentifier, null, null); - } - - /** - * @deprecated use getInstance() - */ - public RecipientKeyIdentifier( - ASN1Sequence seq) - { - subjectKeyIdentifier = ASN1OctetString.getInstance( - seq.getObjectAt(0)); - - switch(seq.size()) - { - case 1: - break; - case 2: - if (seq.getObjectAt(1) instanceof DERGeneralizedTime) - { - date = (DERGeneralizedTime)seq.getObjectAt(1); - } - else - { - other = OtherKeyAttribute.getInstance(seq.getObjectAt(2)); - } - break; - case 3: - date = (DERGeneralizedTime)seq.getObjectAt(1); - other = OtherKeyAttribute.getInstance(seq.getObjectAt(2)); - break; - default: - throw new IllegalArgumentException("Invalid RecipientKeyIdentifier"); - } - } - - /** - * Return a RecipientKeyIdentifier object from a tagged object. - * - * @param ato the tagged object holding the object we want. - * @param isExplicit true if the object is meant to be explicitly - * tagged false otherwise. - * @exception IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static RecipientKeyIdentifier getInstance(ASN1TaggedObject ato, boolean isExplicit) - { - return getInstance(ASN1Sequence.getInstance(ato, isExplicit)); - } - - /** - * Return a RecipientKeyIdentifier object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static RecipientKeyIdentifier getInstance(Object obj) - { - if (obj instanceof RecipientKeyIdentifier) - { - return (RecipientKeyIdentifier)obj; - } - - if(obj != null) - { - return new RecipientKeyIdentifier(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1OctetString getSubjectKeyIdentifier() - { - return subjectKeyIdentifier; - } - - public DERGeneralizedTime getDate() - { - return date; - } - - public OtherKeyAttribute getOtherKeyAttribute() - { - return other; - } - - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(subjectKeyIdentifier); - - if (date != null) - { - v.add(date); - } - - if (other != null) - { - v.add(other); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SCVPReqRes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SCVPReqRes.java deleted file mode 100644 index 0b702e8c8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SCVPReqRes.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5940: - * Additional Cryptographic Message Syntax (CMS) Revocation Information Choices. - *

    - *

    - * SCVPReqRes ::= SEQUENCE {
    - *     request  [0] EXPLICIT ContentInfo OPTIONAL,
    - *     response     ContentInfo }
    - * 
    - */ -public class SCVPReqRes - extends ASN1Object -{ - private final ContentInfo request; - private final ContentInfo response; - - /** - * Return a SCVPReqRes object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static SCVPReqRes getInstance( - Object obj) - { - if (obj instanceof SCVPReqRes) - { - return (SCVPReqRes)obj; - } - else if (obj != null) - { - return new SCVPReqRes(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SCVPReqRes( - ASN1Sequence seq) - { - if (seq.getObjectAt(0) instanceof ASN1TaggedObject) - { - this.request = ContentInfo.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(0)), true); - this.response = ContentInfo.getInstance(seq.getObjectAt(1)); - } - else - { - this.request = null; - this.response = ContentInfo.getInstance(seq.getObjectAt(0)); - } - } - - public SCVPReqRes(ContentInfo response) - { - this.request = null; // use of this confuses earlier JDKs - this.response = response; - } - - public SCVPReqRes(ContentInfo request, ContentInfo response) - { - this.request = request; - this.response = response; - } - - public ContentInfo getRequest() - { - return request; - } - - public ContentInfo getResponse() - { - return response; - } - - /** - * @return the ASN.1 primitive representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (request != null) - { - v.add(new DERTaggedObject(true, 0, request)); - } - - v.add(response); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedData.java deleted file mode 100644 index c564b3917..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedData.java +++ /dev/null @@ -1,330 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERSet; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: - *

    - * A signed data object containing multitude of {@link SignerInfo}s. - *

    - * SignedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     digestAlgorithms DigestAlgorithmIdentifiers,
    - *     encapContentInfo EncapsulatedContentInfo,
    - *     certificates [0] IMPLICIT CertificateSet OPTIONAL,
    - *     crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
    - *     signerInfos SignerInfos
    - *   }
    - * 
    - * DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
    - * 
    - * SignerInfos ::= SET OF SignerInfo
    - * 
    - *

    - * The version calculation uses following ruleset from RFC 3852 section 5.1: - *

    - * IF ((certificates is present) AND
    - *    (any certificates with a type of other are present)) OR
    - *    ((crls is present) AND
    - *    (any crls with a type of other are present))
    - * THEN version MUST be 5
    - * ELSE
    - *    IF (certificates is present) AND
    - *       (any version 2 attribute certificates are present)
    - *    THEN version MUST be 4
    - *    ELSE
    - *       IF ((certificates is present) AND
    - *          (any version 1 attribute certificates are present)) OR
    - *          (any SignerInfo structures are version 3) OR
    - *          (encapContentInfo eContentType is other than id-data)
    - *       THEN version MUST be 3
    - *       ELSE version MUST be 1
    - * 
    - *

    - * @todo Check possible update for this to RFC 5652 level - */ -public class SignedData - extends ASN1Object -{ - private static final ASN1Integer VERSION_1 = new ASN1Integer(1); - private static final ASN1Integer VERSION_3 = new ASN1Integer(3); - private static final ASN1Integer VERSION_4 = new ASN1Integer(4); - private static final ASN1Integer VERSION_5 = new ASN1Integer(5); - - private ASN1Integer version; - private ASN1Set digestAlgorithms; - private ContentInfo contentInfo; - private ASN1Set certificates; - private ASN1Set crls; - private ASN1Set signerInfos; - private boolean certsBer; - private boolean crlsBer; - - /** - * Return a SignedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static SignedData getInstance( - Object o) - { - if (o instanceof SignedData) - { - return (SignedData)o; - } - else if (o != null) - { - return new SignedData(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public SignedData( - ASN1Set digestAlgorithms, - ContentInfo contentInfo, - ASN1Set certificates, - ASN1Set crls, - ASN1Set signerInfos) - { - this.version = calculateVersion(contentInfo.getContentType(), certificates, crls, signerInfos); - this.digestAlgorithms = digestAlgorithms; - this.contentInfo = contentInfo; - this.certificates = certificates; - this.crls = crls; - this.signerInfos = signerInfos; - this.crlsBer = crls instanceof BERSet; - this.certsBer = certificates instanceof BERSet; - } - - - private ASN1Integer calculateVersion( - ASN1ObjectIdentifier contentOid, - ASN1Set certs, - ASN1Set crls, - ASN1Set signerInfs) - { - boolean otherCert = false; - boolean otherCrl = false; - boolean attrCertV1Found = false; - boolean attrCertV2Found = false; - - if (certs != null) - { - for (Enumeration en = certs.getObjects(); en.hasMoreElements();) - { - Object obj = en.nextElement(); - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagged = ASN1TaggedObject.getInstance(obj); - - if (tagged.getTagNo() == 1) - { - attrCertV1Found = true; - } - else if (tagged.getTagNo() == 2) - { - attrCertV2Found = true; - } - else if (tagged.getTagNo() == 3) - { - otherCert = true; - } - } - } - } - - if (otherCert) - { - return new ASN1Integer(5); - } - - if (crls != null) // no need to check if otherCert is true - { - for (Enumeration en = crls.getObjects(); en.hasMoreElements();) - { - Object obj = en.nextElement(); - if (obj instanceof ASN1TaggedObject) - { - otherCrl = true; - } - } - } - - if (otherCrl) - { - return VERSION_5; - } - - if (attrCertV2Found) - { - return VERSION_4; - } - - if (attrCertV1Found) - { - return VERSION_3; - } - - if (checkForVersion3(signerInfs)) - { - return VERSION_3; - } - - if (!CMSObjectIdentifiers.data.equals(contentOid)) - { - return VERSION_3; - } - - return VERSION_1; - } - - private boolean checkForVersion3(ASN1Set signerInfs) - { - for (Enumeration e = signerInfs.getObjects(); e.hasMoreElements();) - { - SignerInfo s = SignerInfo.getInstance(e.nextElement()); - - if (s.getVersion().getValue().intValue() == 3) - { - return true; - } - } - - return false; - } - - private SignedData( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - version = ASN1Integer.getInstance(e.nextElement()); - digestAlgorithms = ((ASN1Set)e.nextElement()); - contentInfo = ContentInfo.getInstance(e.nextElement()); - - while (e.hasMoreElements()) - { - ASN1Primitive o = (ASN1Primitive)e.nextElement(); - - // - // an interesting feature of SignedData is that there appear - // to be varying implementations... - // for the moment we ignore anything which doesn't fit. - // - if (o instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagged = (ASN1TaggedObject)o; - - switch (tagged.getTagNo()) - { - case 0: - certsBer = tagged instanceof BERTaggedObject; - certificates = ASN1Set.getInstance(tagged, false); - break; - case 1: - crlsBer = tagged instanceof BERTaggedObject; - crls = ASN1Set.getInstance(tagged, false); - break; - default: - throw new IllegalArgumentException("unknown tag value " + tagged.getTagNo()); - } - } - else - { - signerInfos = (ASN1Set)o; - } - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public ASN1Set getDigestAlgorithms() - { - return digestAlgorithms; - } - - public ContentInfo getEncapContentInfo() - { - return contentInfo; - } - - public ASN1Set getCertificates() - { - return certificates; - } - - public ASN1Set getCRLs() - { - return crls; - } - - public ASN1Set getSignerInfos() - { - return signerInfos; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(digestAlgorithms); - v.add(contentInfo); - - if (certificates != null) - { - if (certsBer) - { - v.add(new BERTaggedObject(false, 0, certificates)); - } - else - { - v.add(new DERTaggedObject(false, 0, certificates)); - } - } - - if (crls != null) - { - if (crlsBer) - { - v.add(new BERTaggedObject(false, 1, crls)); - } - else - { - v.add(new DERTaggedObject(false, 1, crls)); - } - } - - v.add(signerInfos); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedDataParser.java deleted file mode 100644 index 7e79a7bf5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignedDataParser.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1SetParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.BERTags; - -/** - * Parser for RFC 5652: {@link SignedData} object. - *

    - *

    - * SignedData ::= SEQUENCE {
    - *     version CMSVersion,
    - *     digestAlgorithms DigestAlgorithmIdentifiers,
    - *     encapContentInfo EncapsulatedContentInfo,
    - *     certificates [0] IMPLICIT CertificateSet OPTIONAL,
    - *     crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
    - *     signerInfos SignerInfos
    - *   }
    - * 
    - */ -public class SignedDataParser -{ - private ASN1SequenceParser _seq; - private ASN1Integer _version; - private Object _nextObject; - private boolean _certsCalled; - private boolean _crlsCalled; - - public static SignedDataParser getInstance( - Object o) - throws IOException - { - if (o instanceof ASN1Sequence) - { - return new SignedDataParser(((ASN1Sequence)o).parser()); - } - if (o instanceof ASN1SequenceParser) - { - return new SignedDataParser((ASN1SequenceParser)o); - } - - throw new IOException("unknown object encountered: " + o.getClass().getName()); - } - - private SignedDataParser( - ASN1SequenceParser seq) - throws IOException - { - this._seq = seq; - this._version = (ASN1Integer)seq.readObject(); - } - - public ASN1Integer getVersion() - { - return _version; - } - - public ASN1SetParser getDigestAlgorithms() - throws IOException - { - Object o = _seq.readObject(); - - if (o instanceof ASN1Set) - { - return ((ASN1Set)o).parser(); - } - - return (ASN1SetParser)o; - } - - public ContentInfoParser getEncapContentInfo() - throws IOException - { - return new ContentInfoParser((ASN1SequenceParser)_seq.readObject()); - } - - public ASN1SetParser getCertificates() - throws IOException - { - _certsCalled = true; - _nextObject = _seq.readObject(); - - if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 0) - { - ASN1SetParser certs = (ASN1SetParser)((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SET, false); - _nextObject = null; - - return certs; - } - - return null; - } - - public ASN1SetParser getCrls() - throws IOException - { - if (!_certsCalled) - { - throw new IOException("getCerts() has not been called."); - } - - _crlsCalled = true; - - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 1) - { - ASN1SetParser crls = (ASN1SetParser)((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SET, false); - _nextObject = null; - - return crls; - } - - return null; - } - - public ASN1SetParser getSignerInfos() - throws IOException - { - if (!_certsCalled || !_crlsCalled) - { - throw new IOException("getCerts() and/or getCrls() has not been called."); - } - - if (_nextObject == null) - { - _nextObject = _seq.readObject(); - } - - return (ASN1SetParser)_nextObject; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerIdentifier.java deleted file mode 100644 index a2ab088b1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerIdentifier.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * RFC 5652: - * Identify who signed the containing {@link SignerInfo} object. - *

    - * The certificates referred to by this are at containing {@link SignedData} structure. - *

    - *

    - * SignerIdentifier ::= CHOICE {
    - *     issuerAndSerialNumber IssuerAndSerialNumber,
    - *     subjectKeyIdentifier [0] SubjectKeyIdentifier 
    - * }
    - *
    - * SubjectKeyIdentifier ::= OCTET STRING
    - * 
    - */ -public class SignerIdentifier - extends ASN1Object - implements ASN1Choice -{ - private ASN1Encodable id; - - public SignerIdentifier( - IssuerAndSerialNumber id) - { - this.id = id; - } - - public SignerIdentifier( - ASN1OctetString id) - { - this.id = new DERTaggedObject(false, 0, id); - } - - public SignerIdentifier( - ASN1Primitive id) - { - this.id = id; - } - - /** - * Return a SignerIdentifier object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static SignerIdentifier getInstance( - Object o) - { - if (o == null || o instanceof SignerIdentifier) - { - return (SignerIdentifier)o; - } - - if (o instanceof IssuerAndSerialNumber) - { - return new SignerIdentifier((IssuerAndSerialNumber)o); - } - - if (o instanceof ASN1OctetString) - { - return new SignerIdentifier((ASN1OctetString)o); - } - - if (o instanceof ASN1Primitive) - { - return new SignerIdentifier((ASN1Primitive)o); - } - - throw new IllegalArgumentException( - "Illegal object in SignerIdentifier: " + o.getClass().getName()); - } - - public boolean isTagged() - { - return (id instanceof ASN1TaggedObject); - } - - public ASN1Encodable getId() - { - if (id instanceof ASN1TaggedObject) - { - return ASN1OctetString.getInstance((ASN1TaggedObject)id, false); - } - - return id; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return id.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerInfo.java deleted file mode 100644 index 301f26e31..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/SignerInfo.java +++ /dev/null @@ -1,282 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * RFC 5652: - * Signature container per Signer, see {@link SignerIdentifier}. - *
    - * PKCS#7:
    - *
    - * SignerInfo ::= SEQUENCE {
    - *     version                   Version,
    - *     sid                       SignerIdentifier,
    - *     digestAlgorithm           DigestAlgorithmIdentifier,
    - *     authenticatedAttributes   [0] IMPLICIT Attributes OPTIONAL,
    - *     digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
    - *     encryptedDigest           EncryptedDigest,
    - *     unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
    - * }
    - *
    - * EncryptedDigest ::= OCTET STRING
    - *
    - * DigestAlgorithmIdentifier ::= AlgorithmIdentifier
    - *
    - * DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
    - *
    - * -----------------------------------------
    - *
    - * RFC 5256:
    - *
    - * SignerInfo ::= SEQUENCE {
    - *     version            CMSVersion,
    - *     sid                SignerIdentifier,
    - *     digestAlgorithm    DigestAlgorithmIdentifier,
    - *     signedAttrs        [0] IMPLICIT SignedAttributes OPTIONAL,
    - *     signatureAlgorithm SignatureAlgorithmIdentifier,
    - *     signature          SignatureValue,
    - *     unsignedAttrs      [1] IMPLICIT UnsignedAttributes OPTIONAL
    - * }
    - *
    - * -- {@link SignerIdentifier} referenced certificates are at containing
    - * -- {@link SignedData} certificates element.
    - *
    - * SignerIdentifier ::= CHOICE {
    - *     issuerAndSerialNumber {@link IssuerAndSerialNumber},
    - *     subjectKeyIdentifier  [0] SubjectKeyIdentifier }
    - *
    - * -- See {@link Attributes} for generalized SET OF {@link Attribute}
    - *
    - * SignedAttributes   ::= SET SIZE (1..MAX) OF Attribute
    - * UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute
    - * 
    - * {@link Attribute} ::= SEQUENCE {
    - *     attrType   OBJECT IDENTIFIER,
    - *     attrValues SET OF AttributeValue }
    - *
    - * AttributeValue ::= ANY
    - * 
    - * SignatureValue ::= OCTET STRING
    - * 
    - */ -public class SignerInfo - extends ASN1Object -{ - private ASN1Integer version; - private SignerIdentifier sid; - private AlgorithmIdentifier digAlgorithm; - private ASN1Set authenticatedAttributes; - private AlgorithmIdentifier digEncryptionAlgorithm; - private ASN1OctetString encryptedDigest; - private ASN1Set unauthenticatedAttributes; - - /** - * Return a SignerInfo object from the given input - *

    - * Accepted inputs: - *

    - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static SignerInfo getInstance( - Object o) - throws IllegalArgumentException - { - if (o instanceof SignerInfo) - { - return (SignerInfo)o; - } - else if (o != null) - { - return new SignerInfo(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * - * @param sid - * @param digAlgorithm CMS knows as 'digestAlgorithm' - * @param authenticatedAttributes CMS knows as 'signedAttrs' - * @param digEncryptionAlgorithm CMS knows as 'signatureAlgorithm' - * @param encryptedDigest CMS knows as 'signature' - * @param unauthenticatedAttributes CMS knows as 'unsignedAttrs' - */ - public SignerInfo( - SignerIdentifier sid, - AlgorithmIdentifier digAlgorithm, - ASN1Set authenticatedAttributes, - AlgorithmIdentifier digEncryptionAlgorithm, - ASN1OctetString encryptedDigest, - ASN1Set unauthenticatedAttributes) - { - if (sid.isTagged()) - { - this.version = new ASN1Integer(3); - } - else - { - this.version = new ASN1Integer(1); - } - - this.sid = sid; - this.digAlgorithm = digAlgorithm; - this.authenticatedAttributes = authenticatedAttributes; - this.digEncryptionAlgorithm = digEncryptionAlgorithm; - this.encryptedDigest = encryptedDigest; - this.unauthenticatedAttributes = unauthenticatedAttributes; - } - - /** - * - * @param sid - * @param digAlgorithm CMS knows as 'digestAlgorithm' - * @param authenticatedAttributes CMS knows as 'signedAttrs' - * @param digEncryptionAlgorithm CMS knows as 'signatureAlgorithm' - * @param encryptedDigest CMS knows as 'signature' - * @param unauthenticatedAttributes CMS knows as 'unsignedAttrs' - */ - public SignerInfo( - SignerIdentifier sid, - AlgorithmIdentifier digAlgorithm, - Attributes authenticatedAttributes, - AlgorithmIdentifier digEncryptionAlgorithm, - ASN1OctetString encryptedDigest, - Attributes unauthenticatedAttributes) - { - if (sid.isTagged()) - { - this.version = new ASN1Integer(3); - } - else - { - this.version = new ASN1Integer(1); - } - - this.sid = sid; - this.digAlgorithm = digAlgorithm; - this.authenticatedAttributes = ASN1Set.getInstance(authenticatedAttributes); - this.digEncryptionAlgorithm = digEncryptionAlgorithm; - this.encryptedDigest = encryptedDigest; - this.unauthenticatedAttributes = ASN1Set.getInstance(unauthenticatedAttributes); - } - - /** - * @deprecated use getInstance() method. - */ - public SignerInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - version = (ASN1Integer)e.nextElement(); - sid = SignerIdentifier.getInstance(e.nextElement()); - digAlgorithm = AlgorithmIdentifier.getInstance(e.nextElement()); - - Object obj = e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - authenticatedAttributes = ASN1Set.getInstance((ASN1TaggedObject)obj, false); - - digEncryptionAlgorithm = AlgorithmIdentifier.getInstance(e.nextElement()); - } - else - { - authenticatedAttributes = null; - digEncryptionAlgorithm = AlgorithmIdentifier.getInstance(obj); - } - - encryptedDigest = DEROctetString.getInstance(e.nextElement()); - - if (e.hasMoreElements()) - { - unauthenticatedAttributes = ASN1Set.getInstance((ASN1TaggedObject)e.nextElement(), false); - } - else - { - unauthenticatedAttributes = null; - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public SignerIdentifier getSID() - { - return sid; - } - - public ASN1Set getAuthenticatedAttributes() - { - return authenticatedAttributes; - } - - public AlgorithmIdentifier getDigestAlgorithm() - { - return digAlgorithm; - } - - public ASN1OctetString getEncryptedDigest() - { - return encryptedDigest; - } - - public AlgorithmIdentifier getDigestEncryptionAlgorithm() - { - return digEncryptionAlgorithm; - } - - public ASN1Set getUnauthenticatedAttributes() - { - return unauthenticatedAttributes; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(sid); - v.add(digAlgorithm); - - if (authenticatedAttributes != null) - { - v.add(new DERTaggedObject(false, 0, authenticatedAttributes)); - } - - v.add(digEncryptionAlgorithm); - v.add(encryptedDigest); - - if (unauthenticatedAttributes != null) - { - v.add(new DERTaggedObject(false, 1, unauthenticatedAttributes)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Time.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Time.java deleted file mode 100644 index 44ce16c26..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/Time.java +++ /dev/null @@ -1,162 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERUTCTime; - -/** - * RFC 5652: - * Dual-mode timestamp format producing either UTCTIme or GeneralizedTime. - *

    - *

    - * Time ::= CHOICE {
    - *     utcTime        UTCTime,
    - *     generalTime    GeneralizedTime }
    - * 
    - *

    - * This has a constructor using java.util.Date for input which generates - * a {@link org.spongycastle.asn1.DERUTCTime DERUTCTime} object if the - * supplied datetime is in range 1950-01-01-00:00:00 UTC until 2049-12-31-23:59:60 UTC. - * If the datetime value is outside that range, the generated object will be - * {@link org.spongycastle.asn1.DERGeneralizedTime DERGeneralizedTime}. - */ -public class Time - extends ASN1Object - implements ASN1Choice -{ - ASN1Primitive time; - - public static Time getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); - } - - /** - * @deprecated use getInstance() - */ - public Time( - ASN1Primitive time) - { - if (!(time instanceof DERUTCTime) - && !(time instanceof DERGeneralizedTime)) - { - throw new IllegalArgumentException("unknown object passed to Time"); - } - - this.time = time; - } - - /** - * Create a time object from a given date - if the year is in between 1950 - * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime - * is used. - */ - public Time( - Date date) - { - SimpleTimeZone tz = new SimpleTimeZone(0, "Z"); - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss"); - - dateF.setTimeZone(tz); - - String d = dateF.format(date) + "Z"; - int year = Integer.parseInt(d.substring(0, 4)); - - if (year < 1950 || year > 2049) - { - time = new DERGeneralizedTime(d); - } - else - { - time = new DERUTCTime(d.substring(2)); - } - } - - /** - * Return a Time object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Time getInstance( - Object obj) - { - if (obj == null || obj instanceof Time) - { - return (Time)obj; - } - else if (obj instanceof DERUTCTime) - { - return new Time((DERUTCTime)obj); - } - else if (obj instanceof DERGeneralizedTime) - { - return new Time((DERGeneralizedTime)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - /** - * Get the date+tine as a String in full form century format. - */ - public String getTime() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedTime(); - } - else - { - return ((DERGeneralizedTime)time).getTime(); - } - } - - /** - * Get java.util.Date version of date+time. - */ - public Date getDate() - { - try - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedDate(); - } - else - { - return ((DERGeneralizedTime)time).getDate(); - } - } - catch (ParseException e) - { // this should never happen - throw new IllegalStateException("invalid date string: " + e.getMessage()); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - return time; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampAndCRL.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampAndCRL.java deleted file mode 100644 index af5d3bef8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampAndCRL.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.CertificateList; - -/** - * RFC 5544 - * Binding Documents with Time-Stamps; TimeStampAndCRL object. - *
    - * TimeStampAndCRL ::= SEQUENCE {
    - *     timeStamp   TimeStampToken,          -- according to RFC 3161
    - *     crl         CertificateList OPTIONAL -- according to RFC 5280
    - *  }
    - * 
    - */ -public class TimeStampAndCRL - extends ASN1Object -{ - private ContentInfo timeStamp; - private CertificateList crl; - - public TimeStampAndCRL(ContentInfo timeStamp) - { - this.timeStamp = timeStamp; - } - - private TimeStampAndCRL(ASN1Sequence seq) - { - this.timeStamp = ContentInfo.getInstance(seq.getObjectAt(0)); - if (seq.size() == 2) - { - this.crl = CertificateList.getInstance(seq.getObjectAt(1)); - } - } - - /** - * Return a TimeStampAndCRL object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static TimeStampAndCRL getInstance(Object obj) - { - if (obj instanceof TimeStampAndCRL) - { - return (TimeStampAndCRL)obj; - } - else if (obj != null) - { - return new TimeStampAndCRL(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ContentInfo getTimeStampToken() - { - return this.timeStamp; - } - - /** @deprecated use getCRL() */ - public CertificateList getCertificateList() - { - return this.crl; - } - - public CertificateList getCRL() - { - return this.crl; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(timeStamp); - - if (crl != null) - { - v.add(crl); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampTokenEvidence.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampTokenEvidence.java deleted file mode 100644 index 1a2e622df..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampTokenEvidence.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * RFC 5544 - * Binding Documents with Time-Stamps; TimeStampTokenEvidence object. - *
    - * TimeStampTokenEvidence ::=
    - *    SEQUENCE SIZE(1..MAX) OF TimeStampAndCRL
    - * 
    - */ -public class TimeStampTokenEvidence - extends ASN1Object -{ - private TimeStampAndCRL[] timeStampAndCRLs; - - public TimeStampTokenEvidence(TimeStampAndCRL[] timeStampAndCRLs) - { - this.timeStampAndCRLs = timeStampAndCRLs; - } - - public TimeStampTokenEvidence(TimeStampAndCRL timeStampAndCRL) - { - this.timeStampAndCRLs = new TimeStampAndCRL[1]; - - timeStampAndCRLs[0] = timeStampAndCRL; - } - - private TimeStampTokenEvidence(ASN1Sequence seq) - { - this.timeStampAndCRLs = new TimeStampAndCRL[seq.size()]; - - int count = 0; - - for (Enumeration en = seq.getObjects(); en.hasMoreElements();) - { - timeStampAndCRLs[count++] = TimeStampAndCRL.getInstance(en.nextElement()); - } - } - - public static TimeStampTokenEvidence getInstance(ASN1TaggedObject tagged, boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(tagged, explicit)); - } - - /** - * Return a TimeStampTokenEvidence object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static TimeStampTokenEvidence getInstance(Object obj) - { - if (obj instanceof TimeStampTokenEvidence) - { - return (TimeStampTokenEvidence)obj; - } - else if (obj != null) - { - return new TimeStampTokenEvidence(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public TimeStampAndCRL[] toTimeStampAndCRLArray() - { - return timeStampAndCRLs; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != timeStampAndCRLs.length; i++) - { - v.add(timeStampAndCRLs[i]); - } - - return new DERSequence(v); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedData.java deleted file mode 100644 index ab201dca6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedData.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERIA5String; - -/** - * RFC 5544: - * Binding Documents with Time-Stamps; TimeStampedData object. - *

    - *

    - * TimeStampedData ::= SEQUENCE {
    - *   version              INTEGER { v1(1) },
    - *   dataUri              IA5String OPTIONAL,
    - *   metaData             MetaData OPTIONAL,
    - *   content              OCTET STRING OPTIONAL,
    - *   temporalEvidence     Evidence
    - * }
    - * 
    - */ -public class TimeStampedData - extends ASN1Object -{ - private ASN1Integer version; - private DERIA5String dataUri; - private MetaData metaData; - private ASN1OctetString content; - private Evidence temporalEvidence; - - public TimeStampedData(DERIA5String dataUri, MetaData metaData, ASN1OctetString content, Evidence temporalEvidence) - { - this.version = new ASN1Integer(1); - this.dataUri = dataUri; - this.metaData = metaData; - this.content = content; - this.temporalEvidence = temporalEvidence; - } - - private TimeStampedData(ASN1Sequence seq) - { - this.version = ASN1Integer.getInstance(seq.getObjectAt(0)); - - int index = 1; - if (seq.getObjectAt(index) instanceof DERIA5String) - { - this.dataUri = DERIA5String.getInstance(seq.getObjectAt(index++)); - } - if (seq.getObjectAt(index) instanceof MetaData || seq.getObjectAt(index) instanceof ASN1Sequence) - { - this.metaData = MetaData.getInstance(seq.getObjectAt(index++)); - } - if (seq.getObjectAt(index) instanceof ASN1OctetString) - { - this.content = ASN1OctetString.getInstance(seq.getObjectAt(index++)); - } - this.temporalEvidence = Evidence.getInstance(seq.getObjectAt(index)); - } - - /** - * Return a TimeStampedData object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static TimeStampedData getInstance(Object obj) - { - if (obj == null || obj instanceof TimeStampedData) - { - return (TimeStampedData)obj; - } - return new TimeStampedData(ASN1Sequence.getInstance(obj)); - } - - public DERIA5String getDataUri() - { - return dataUri; - } - - public MetaData getMetaData() - { - return metaData; - } - - public ASN1OctetString getContent() - { - return content; - } - - public Evidence getTemporalEvidence() - { - return temporalEvidence; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (dataUri != null) - { - v.add(dataUri); - } - - if (metaData != null) - { - v.add(metaData); - } - - if (content != null) - { - v.add(content); - } - - v.add(temporalEvidence); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedDataParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedDataParser.java deleted file mode 100644 index bf5d288a1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/TimeStampedDataParser.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.spongycastle.asn1.cms; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OctetStringParser; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERIA5String; - -/** - * Parser for RFC 5544: - * {@link TimeStampedData} object. - *

    - *

    - * TimeStampedData ::= SEQUENCE {
    - *   version              INTEGER { v1(1) },
    - *   dataUri              IA5String OPTIONAL,
    - *   metaData             MetaData OPTIONAL,
    - *   content              OCTET STRING OPTIONAL,
    - *   temporalEvidence     Evidence
    - * }
    - * 
    - */ -public class TimeStampedDataParser -{ - private ASN1Integer version; - private DERIA5String dataUri; - private MetaData metaData; - private ASN1OctetStringParser content; - private Evidence temporalEvidence; - private ASN1SequenceParser parser; - - private TimeStampedDataParser(ASN1SequenceParser parser) - throws IOException - { - this.parser = parser; - this.version = ASN1Integer.getInstance(parser.readObject()); - - ASN1Encodable obj = parser.readObject(); - - if (obj instanceof DERIA5String) - { - this.dataUri = DERIA5String.getInstance(obj); - obj = parser.readObject(); - } - if (obj instanceof MetaData || obj instanceof ASN1SequenceParser) - { - this.metaData = MetaData.getInstance(obj.toASN1Primitive()); - obj = parser.readObject(); - } - if (obj instanceof ASN1OctetStringParser) - { - this.content = (ASN1OctetStringParser)obj; - } - } - - public static TimeStampedDataParser getInstance(Object obj) - throws IOException - { - if (obj instanceof ASN1Sequence) - { - return new TimeStampedDataParser(((ASN1Sequence)obj).parser()); - } - if (obj instanceof ASN1SequenceParser) - { - return new TimeStampedDataParser((ASN1SequenceParser)obj); - } - - return null; - } - - public DERIA5String getDataUri() - { - return dataUri; - } - - public MetaData getMetaData() - { - return metaData; - } - - public ASN1OctetStringParser getContent() - { - return content; - } - - public Evidence getTemporalEvidence() - throws IOException - { - if (temporalEvidence == null) - { - temporalEvidence = Evidence.getInstance(parser.readObject().toASN1Primitive()); - } - - return temporalEvidence; - } - - /** - *
    -     * TimeStampedData ::= SEQUENCE {
    -     *   version              INTEGER { v1(1) },
    -     *   dataUri              IA5String OPTIONAL,
    -     *   metaData             MetaData OPTIONAL,
    -     *   content              OCTET STRING OPTIONAL,
    -     *   temporalEvidence     Evidence
    -     * }
    -     * 
    - * @return - * @deprecated will be removed - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - - if (dataUri != null) - { - v.add(dataUri); - } - - if (metaData != null) - { - v.add(metaData); - } - - if (content != null) - { - v.add(content); - } - - v.add(temporalEvidence); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ecc/MQVuserKeyingMaterial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ecc/MQVuserKeyingMaterial.java deleted file mode 100644 index ae95a3d94..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/ecc/MQVuserKeyingMaterial.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.cms.ecc; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cms.OriginatorPublicKey; - -/** - * RFC 5753/3278: MQVuserKeyingMaterial object. - *
    - * MQVuserKeyingMaterial ::= SEQUENCE {
    - *   ephemeralPublicKey OriginatorPublicKey,
    - *   addedukm [0] EXPLICIT UserKeyingMaterial OPTIONAL  }
    - * 
    - */ -public class MQVuserKeyingMaterial - extends ASN1Object -{ - private OriginatorPublicKey ephemeralPublicKey; - private ASN1OctetString addedukm; - - public MQVuserKeyingMaterial( - OriginatorPublicKey ephemeralPublicKey, - ASN1OctetString addedukm) - { - // TODO Check ephemeralPublicKey not null - - this.ephemeralPublicKey = ephemeralPublicKey; - this.addedukm = addedukm; - } - - private MQVuserKeyingMaterial( - ASN1Sequence seq) - { - // TODO Check seq has either 1 or 2 elements - - this.ephemeralPublicKey = OriginatorPublicKey.getInstance( - seq.getObjectAt(0)); - - if (seq.size() > 1) - { - this.addedukm = ASN1OctetString.getInstance( - (ASN1TaggedObject)seq.getObjectAt(1), true); - } - } - - /** - * Return an MQVuserKeyingMaterial object from a tagged object. - * - * @param obj the tagged object holding the object we want. - * @param explicit true if the object is meant to be explicitly - * tagged false otherwise. - * @throws IllegalArgumentException if the object held by the - * tagged object cannot be converted. - */ - public static MQVuserKeyingMaterial getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an MQVuserKeyingMaterial object from the given object. - *

    - * Accepted inputs: - *

    - * - * @param obj the object we want converted. - * @throws IllegalArgumentException if the object cannot be converted. - */ - public static MQVuserKeyingMaterial getInstance( - Object obj) - { - if (obj == null || obj instanceof MQVuserKeyingMaterial) - { - return (MQVuserKeyingMaterial)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new MQVuserKeyingMaterial((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid MQVuserKeyingMaterial: " + obj.getClass().getName()); - } - - public OriginatorPublicKey getEphemeralPublicKey() - { - return ephemeralPublicKey; - } - - public ASN1OctetString getAddedukm() - { - return addedukm; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(ephemeralPublicKey); - - if (addedukm != null) - { - v.add(new DERTaggedObject(true, 0, addedukm)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/AttributeTypeAndValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/AttributeTypeAndValue.java deleted file mode 100644 index 1120e7f7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/AttributeTypeAndValue.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class AttributeTypeAndValue - extends ASN1Object -{ - private ASN1ObjectIdentifier type; - private ASN1Encodable value; - - private AttributeTypeAndValue(ASN1Sequence seq) - { - type = (ASN1ObjectIdentifier)seq.getObjectAt(0); - value = (ASN1Encodable)seq.getObjectAt(1); - } - - public static AttributeTypeAndValue getInstance(Object o) - { - if (o instanceof AttributeTypeAndValue) - { - return (AttributeTypeAndValue)o; - } - - if (o != null) - { - return new AttributeTypeAndValue(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public AttributeTypeAndValue( - String oid, - ASN1Encodable value) - { - this(new ASN1ObjectIdentifier(oid), value); - } - - public AttributeTypeAndValue( - ASN1ObjectIdentifier type, - ASN1Encodable value) - { - this.type = type; - this.value = value; - } - - public ASN1ObjectIdentifier getType() - { - return type; - } - - public ASN1Encodable getValue() - { - return value; - } - - /** - *
    -     * AttributeTypeAndValue ::= SEQUENCE {
    -     *           type         OBJECT IDENTIFIER,
    -     *           value        ANY DEFINED BY type }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(type); - v.add(value); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CRMFObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CRMFObjectIdentifiers.java deleted file mode 100644 index 3911ad4ad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CRMFObjectIdentifiers.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public interface CRMFObjectIdentifiers -{ - /** 1.3.6.1.5.5.7 */ - static final ASN1ObjectIdentifier id_pkix = new ASN1ObjectIdentifier("1.3.6.1.5.5.7"); - - // arc for Internet X.509 PKI protocols and their components - - /** 1.3.6.1.5.5.7.5 */ - static final ASN1ObjectIdentifier id_pkip = id_pkix.branch("5"); - - /** 1.3.6.1.5.5.7.1 */ - static final ASN1ObjectIdentifier id_regCtrl = id_pkip.branch("1"); - /** 1.3.6.1.5.5.7.1.1 */ - static final ASN1ObjectIdentifier id_regCtrl_regToken = id_regCtrl.branch("1"); - /** 1.3.6.1.5.5.7.1.2 */ - static final ASN1ObjectIdentifier id_regCtrl_authenticator = id_regCtrl.branch("2"); - /** 1.3.6.1.5.5.7.1.3 */ - static final ASN1ObjectIdentifier id_regCtrl_pkiPublicationInfo = id_regCtrl.branch("3"); - /** 1.3.6.1.5.5.7.1.4 */ - static final ASN1ObjectIdentifier id_regCtrl_pkiArchiveOptions = id_regCtrl.branch("4"); - - /** 1.2.840.113549.1.9.16.1,21 */ - static final ASN1ObjectIdentifier id_ct_encKeyWithID = PKCSObjectIdentifiers.id_ct.branch("21"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertId.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertId.java deleted file mode 100644 index 7a29236eb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertId.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; - -public class CertId - extends ASN1Object -{ - private GeneralName issuer; - private ASN1Integer serialNumber; - - private CertId(ASN1Sequence seq) - { - issuer = GeneralName.getInstance(seq.getObjectAt(0)); - serialNumber = ASN1Integer.getInstance(seq.getObjectAt(1)); - } - - public static CertId getInstance(Object o) - { - if (o instanceof CertId) - { - return (CertId)o; - } - - if (o != null) - { - return new CertId(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public static CertId getInstance(ASN1TaggedObject obj, boolean isExplicit) - { - return getInstance(ASN1Sequence.getInstance(obj, isExplicit)); - } - - public CertId(GeneralName issuer, BigInteger serialNumber) - { - this(issuer, new ASN1Integer(serialNumber)); - } - - public CertId(GeneralName issuer, ASN1Integer serialNumber) - { - this.issuer = issuer; - this.serialNumber = serialNumber; - } - - public GeneralName getIssuer() - { - return issuer; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - /** - *
    -     * CertId ::= SEQUENCE {
    -     *                 issuer           GeneralName,
    -     *                 serialNumber     INTEGER }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(issuer); - v.add(serialNumber); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMessages.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMessages.java deleted file mode 100644 index 1be5fd86b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMessages.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class CertReqMessages - extends ASN1Object -{ - private ASN1Sequence content; - - private CertReqMessages(ASN1Sequence seq) - { - content = seq; - } - - public static CertReqMessages getInstance(Object o) - { - if (o instanceof CertReqMessages) - { - return (CertReqMessages)o; - } - - if (o != null) - { - return new CertReqMessages(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertReqMessages( - CertReqMsg msg) - { - content = new DERSequence(msg); - } - - public CertReqMessages( - CertReqMsg[] msgs) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < msgs.length; i++) - { - v.add(msgs[i]); - } - content = new DERSequence(v); - } - - public CertReqMsg[] toCertReqMsgArray() - { - CertReqMsg[] result = new CertReqMsg[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = CertReqMsg.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg
    -     * 
    - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMsg.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMsg.java deleted file mode 100644 index 9e563c8b1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertReqMsg.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class CertReqMsg - extends ASN1Object -{ - private CertRequest certReq; - private ProofOfPossession pop; - private ASN1Sequence regInfo; - - private CertReqMsg(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - certReq = CertRequest.getInstance(en.nextElement()); - while (en.hasMoreElements()) - { - Object o = en.nextElement(); - - if (o instanceof ASN1TaggedObject || o instanceof ProofOfPossession) - { - pop = ProofOfPossession.getInstance(o); - } - else - { - regInfo = ASN1Sequence.getInstance(o); - } - } - } - - public static CertReqMsg getInstance(Object o) - { - if (o instanceof CertReqMsg) - { - return (CertReqMsg)o; - } - else if (o != null) - { - return new CertReqMsg(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * Creates a new CertReqMsg. - * @param certReq CertRequest - * @param pop may be null - * @param regInfo may be null - */ - public CertReqMsg( - CertRequest certReq, - ProofOfPossession pop, - AttributeTypeAndValue[] regInfo) - { - if (certReq == null) - { - throw new IllegalArgumentException("'certReq' cannot be null"); - } - - this.certReq = certReq; - this.pop = pop; - - if (regInfo != null) - { - this.regInfo = new DERSequence(regInfo); - } - } - - public CertRequest getCertReq() - { - return certReq; - } - - - /** - * @deprecated use getPopo - */ - public ProofOfPossession getPop() - { - return pop; - } - - - public ProofOfPossession getPopo() - { - return pop; - } - - public AttributeTypeAndValue[] getRegInfo() - { - if (regInfo == null) - { - return null; - } - - AttributeTypeAndValue[] results = new AttributeTypeAndValue[regInfo.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = AttributeTypeAndValue.getInstance(regInfo.getObjectAt(i)); - } - - return results; - } - - /** - *
    -     * CertReqMsg ::= SEQUENCE {
    -     *                    certReq   CertRequest,
    -     *                    popo       ProofOfPossession  OPTIONAL,
    -     *                    -- content depends upon key type
    -     *                    regInfo   SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue OPTIONAL }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certReq); - - addOptional(v, pop); - addOptional(v, regInfo); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, ASN1Encodable obj) - { - if (obj != null) - { - v.add(obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertRequest.java deleted file mode 100644 index 7497aa654..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertRequest.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class CertRequest - extends ASN1Object -{ - private ASN1Integer certReqId; - private CertTemplate certTemplate; - private Controls controls; - - private CertRequest(ASN1Sequence seq) - { - certReqId = new ASN1Integer(ASN1Integer.getInstance(seq.getObjectAt(0)).getValue()); - certTemplate = CertTemplate.getInstance(seq.getObjectAt(1)); - if (seq.size() > 2) - { - controls = Controls.getInstance(seq.getObjectAt(2)); - } - } - - public static CertRequest getInstance(Object o) - { - if (o instanceof CertRequest) - { - return (CertRequest)o; - } - else if (o != null) - { - return new CertRequest(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertRequest( - int certReqId, - CertTemplate certTemplate, - Controls controls) - { - this(new ASN1Integer(certReqId), certTemplate, controls); - } - - public CertRequest( - ASN1Integer certReqId, - CertTemplate certTemplate, - Controls controls) - { - this.certReqId = certReqId; - this.certTemplate = certTemplate; - this.controls = controls; - } - - public ASN1Integer getCertReqId() - { - return certReqId; - } - - public CertTemplate getCertTemplate() - { - return certTemplate; - } - - public Controls getControls() - { - return controls; - } - - /** - *
    -     * CertRequest ::= SEQUENCE {
    -     *                      certReqId     INTEGER,          -- ID for matching request and reply
    -     *                      certTemplate  CertTemplate,  -- Selected fields of cert to be issued
    -     *                      controls      Controls OPTIONAL }   -- Attributes affecting issuance
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certReqId); - v.add(certTemplate); - - if (controls != null) - { - v.add(controls); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplate.java deleted file mode 100644 index cb32d3f50..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplate.java +++ /dev/null @@ -1,163 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; - -public class CertTemplate - extends ASN1Object -{ - private ASN1Sequence seq; - - private ASN1Integer version; - private ASN1Integer serialNumber; - private AlgorithmIdentifier signingAlg; - private X500Name issuer; - private OptionalValidity validity; - private X500Name subject; - private SubjectPublicKeyInfo publicKey; - private DERBitString issuerUID; - private DERBitString subjectUID; - private Extensions extensions; - - private CertTemplate(ASN1Sequence seq) - { - this.seq = seq; - - Enumeration en = seq.getObjects(); - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); - - switch (tObj.getTagNo()) - { - case 0: - version = ASN1Integer.getInstance(tObj, false); - break; - case 1: - serialNumber = ASN1Integer.getInstance(tObj, false); - break; - case 2: - signingAlg = AlgorithmIdentifier.getInstance(tObj, false); - break; - case 3: - issuer = X500Name.getInstance(tObj, true); // CHOICE - break; - case 4: - validity = OptionalValidity.getInstance(ASN1Sequence.getInstance(tObj, false)); - break; - case 5: - subject = X500Name.getInstance(tObj, true); // CHOICE - break; - case 6: - publicKey = SubjectPublicKeyInfo.getInstance(tObj, false); - break; - case 7: - issuerUID = DERBitString.getInstance(tObj, false); - break; - case 8: - subjectUID = DERBitString.getInstance(tObj, false); - break; - case 9: - extensions = Extensions.getInstance(tObj, false); - break; - default: - throw new IllegalArgumentException("unknown tag: " + tObj.getTagNo()); - } - } - } - - public static CertTemplate getInstance(Object o) - { - if (o instanceof CertTemplate) - { - return (CertTemplate)o; - } - else if (o != null) - { - return new CertTemplate(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public int getVersion() - { - return version.getValue().intValue(); - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public AlgorithmIdentifier getSigningAlg() - { - return signingAlg; - } - - public X500Name getIssuer() - { - return issuer; - } - - public OptionalValidity getValidity() - { - return validity; - } - - public X500Name getSubject() - { - return subject; - } - - public SubjectPublicKeyInfo getPublicKey() - { - return publicKey; - } - - public DERBitString getIssuerUID() - { - return issuerUID; - } - - public DERBitString getSubjectUID() - { - return subjectUID; - } - - public Extensions getExtensions() - { - return extensions; - } - - /** - *
    -     *  CertTemplate ::= SEQUENCE {
    -     *      version      [0] Version               OPTIONAL,
    -     *      serialNumber [1] INTEGER               OPTIONAL,
    -     *      signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
    -     *      issuer       [3] Name                  OPTIONAL,
    -     *      validity     [4] OptionalValidity      OPTIONAL,
    -     *      subject      [5] Name                  OPTIONAL,
    -     *      publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
    -     *      issuerUID    [7] UniqueIdentifier      OPTIONAL,
    -     *      subjectUID   [8] UniqueIdentifier      OPTIONAL,
    -     *      extensions   [9] Extensions            OPTIONAL }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplateBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplateBuilder.java deleted file mode 100644 index 4d5957757..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/CertTemplateBuilder.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.X509Extensions; - -public class CertTemplateBuilder -{ - private ASN1Integer version; - private ASN1Integer serialNumber; - private AlgorithmIdentifier signingAlg; - private X500Name issuer; - private OptionalValidity validity; - private X500Name subject; - private SubjectPublicKeyInfo publicKey; - private DERBitString issuerUID; - private DERBitString subjectUID; - private Extensions extensions; - - /** Sets the X.509 version. Note: for X509v3, use 2 here. */ - public CertTemplateBuilder setVersion(int ver) - { - version = new ASN1Integer(ver); - - return this; - } - - public CertTemplateBuilder setSerialNumber(ASN1Integer ser) - { - serialNumber = ser; - - return this; - } - - public CertTemplateBuilder setSigningAlg(AlgorithmIdentifier aid) - { - signingAlg = aid; - - return this; - } - - public CertTemplateBuilder setIssuer(X500Name name) - { - issuer = name; - - return this; - } - - public CertTemplateBuilder setValidity(OptionalValidity v) - { - validity = v; - - return this; - } - - public CertTemplateBuilder setSubject(X500Name name) - { - subject = name; - - return this; - } - - public CertTemplateBuilder setPublicKey(SubjectPublicKeyInfo spki) - { - publicKey = spki; - - return this; - } - - /** Sets the issuer unique ID (deprecated in X.509v3) */ - public CertTemplateBuilder setIssuerUID(DERBitString uid) - { - issuerUID = uid; - - return this; - } - - /** Sets the subject unique ID (deprecated in X.509v3) */ - public CertTemplateBuilder setSubjectUID(DERBitString uid) - { - subjectUID = uid; - - return this; - } - - /** - * @deprecated use method taking Extensions - * @param extens - * @return - */ - public CertTemplateBuilder setExtensions(X509Extensions extens) - { - return setExtensions(Extensions.getInstance(extens)); - } - - public CertTemplateBuilder setExtensions(Extensions extens) - { - extensions = extens; - - return this; - } - - /** - *
    -     *  CertTemplate ::= SEQUENCE {
    -     *      version      [0] Version               OPTIONAL,
    -     *      serialNumber [1] INTEGER               OPTIONAL,
    -     *      signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
    -     *      issuer       [3] Name                  OPTIONAL,
    -     *      validity     [4] OptionalValidity      OPTIONAL,
    -     *      subject      [5] Name                  OPTIONAL,
    -     *      publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
    -     *      issuerUID    [7] UniqueIdentifier      OPTIONAL,
    -     *      subjectUID   [8] UniqueIdentifier      OPTIONAL,
    -     *      extensions   [9] Extensions            OPTIONAL }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public CertTemplate build() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - addOptional(v, 0, false, version); - addOptional(v, 1, false, serialNumber); - addOptional(v, 2, false, signingAlg); - addOptional(v, 3, true, issuer); // CHOICE - addOptional(v, 4, false, validity); - addOptional(v, 5, true, subject); // CHOICE - addOptional(v, 6, false, publicKey); - addOptional(v, 7, false, issuerUID); - addOptional(v, 8, false, subjectUID); - addOptional(v, 9, false, extensions); - - return CertTemplate.getInstance(new DERSequence(v)); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, boolean isExplicit, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(isExplicit, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/Controls.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/Controls.java deleted file mode 100644 index 89b1f2dac..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/Controls.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class Controls - extends ASN1Object -{ - private ASN1Sequence content; - - private Controls(ASN1Sequence seq) - { - content = seq; - } - - public static Controls getInstance(Object o) - { - if (o instanceof Controls) - { - return (Controls)o; - } - - if (o != null) - { - return new Controls(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public Controls(AttributeTypeAndValue atv) - { - content = new DERSequence(atv); - } - - public Controls(AttributeTypeAndValue[] atvs) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i < atvs.length; i++) - { - v.add(atvs[i]); - } - content = new DERSequence(v); - } - - public AttributeTypeAndValue[] toAttributeTypeAndValueArray() - { - AttributeTypeAndValue[] result = new AttributeTypeAndValue[content.size()]; - - for (int i = 0; i != result.length; i++) - { - result[i] = AttributeTypeAndValue.getInstance(content.getObjectAt(i)); - } - - return result; - } - - /** - *
    -     * Controls  ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
    -     * 
    - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return content; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncKeyWithID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncKeyWithID.java deleted file mode 100644 index a89aa6b51..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncKeyWithID.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.x509.GeneralName; - -public class EncKeyWithID - extends ASN1Object -{ - private final PrivateKeyInfo privKeyInfo; - private final ASN1Encodable identifier; - - public static EncKeyWithID getInstance(Object o) - { - if (o instanceof EncKeyWithID) - { - return (EncKeyWithID)o; - } - else if (o != null) - { - return new EncKeyWithID(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private EncKeyWithID(ASN1Sequence seq) - { - this.privKeyInfo = PrivateKeyInfo.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - if (!(seq.getObjectAt(1) instanceof DERUTF8String)) - { - this.identifier = GeneralName.getInstance(seq.getObjectAt(1)); - } - else - { - this.identifier = (ASN1Encodable)seq.getObjectAt(1); - } - } - else - { - this.identifier = null; - } - } - - public EncKeyWithID(PrivateKeyInfo privKeyInfo) - { - this.privKeyInfo = privKeyInfo; - this.identifier = null; - } - - public EncKeyWithID(PrivateKeyInfo privKeyInfo, DERUTF8String str) - { - this.privKeyInfo = privKeyInfo; - this.identifier = str; - } - - public EncKeyWithID(PrivateKeyInfo privKeyInfo, GeneralName generalName) - { - this.privKeyInfo = privKeyInfo; - this.identifier = generalName; - } - - public PrivateKeyInfo getPrivateKey() - { - return privKeyInfo; - } - - public boolean hasIdentifier() - { - return identifier != null; - } - - public boolean isIdentifierUTF8String() - { - return identifier instanceof DERUTF8String; - } - - public ASN1Encodable getIdentifier() - { - return identifier; - } - - /** - *
    -     * EncKeyWithID ::= SEQUENCE {
    -     *      privateKey           PrivateKeyInfo,
    -     *      identifier CHOICE {
    -     *         string               UTF8String,
    -     *         generalName          GeneralName
    -     *     } OPTIONAL
    -     * }
    -     * 
    - * @return - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(privKeyInfo); - - if (identifier != null) - { - v.add(identifier); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedKey.java deleted file mode 100644 index d62aee760..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedKey.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cms.EnvelopedData; - -public class EncryptedKey - extends ASN1Object - implements ASN1Choice -{ - private EnvelopedData envelopedData; - private EncryptedValue encryptedValue; - - public static EncryptedKey getInstance(Object o) - { - if (o instanceof EncryptedKey) - { - return (EncryptedKey)o; - } - else if (o instanceof ASN1TaggedObject) - { - return new EncryptedKey(EnvelopedData.getInstance((ASN1TaggedObject)o, false)); - } - else if (o instanceof EncryptedValue) - { - return new EncryptedKey((EncryptedValue)o); - } - else - { - return new EncryptedKey(EncryptedValue.getInstance(o)); - } - } - - public EncryptedKey(EnvelopedData envelopedData) - { - this.envelopedData = envelopedData; - } - - public EncryptedKey(EncryptedValue encryptedValue) - { - this.encryptedValue = encryptedValue; - } - - public boolean isEncryptedValue() - { - return encryptedValue != null; - } - - public ASN1Encodable getValue() - { - if (encryptedValue != null) - { - return encryptedValue; - } - - return envelopedData; - } - - /** - *
    -     *    EncryptedKey ::= CHOICE {
    -     *        encryptedValue        EncryptedValue, -- deprecated
    -     *        envelopedData     [0] EnvelopedData }
    -     *        -- The encrypted private key MUST be placed in the envelopedData
    -     *        -- encryptedContentInfo encryptedContent OCTET STRING.
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - if (encryptedValue != null) - { - return encryptedValue.toASN1Primitive(); - } - - return new DERTaggedObject(false, 0, envelopedData); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedValue.java deleted file mode 100644 index 6191e3dcc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/EncryptedValue.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class EncryptedValue - extends ASN1Object -{ - private AlgorithmIdentifier intendedAlg; - private AlgorithmIdentifier symmAlg; - private DERBitString encSymmKey; - private AlgorithmIdentifier keyAlg; - private ASN1OctetString valueHint; - private DERBitString encValue; - - private EncryptedValue(ASN1Sequence seq) - { - int index = 0; - while (seq.getObjectAt(index) instanceof ASN1TaggedObject) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)seq.getObjectAt(index); - - switch (tObj.getTagNo()) - { - case 0: - intendedAlg = AlgorithmIdentifier.getInstance(tObj, false); - break; - case 1: - symmAlg = AlgorithmIdentifier.getInstance(tObj, false); - break; - case 2: - encSymmKey = DERBitString.getInstance(tObj, false); - break; - case 3: - keyAlg = AlgorithmIdentifier.getInstance(tObj, false); - break; - case 4: - valueHint = ASN1OctetString.getInstance(tObj, false); - break; - } - index++; - } - - encValue = DERBitString.getInstance(seq.getObjectAt(index)); - } - - public static EncryptedValue getInstance(Object o) - { - if (o instanceof EncryptedValue) - { - return (EncryptedValue)o; - } - else if (o != null) - { - return new EncryptedValue(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public EncryptedValue( - AlgorithmIdentifier intendedAlg, - AlgorithmIdentifier symmAlg, - DERBitString encSymmKey, - AlgorithmIdentifier keyAlg, - ASN1OctetString valueHint, - DERBitString encValue) - { - if (encValue == null) - { - throw new IllegalArgumentException("'encValue' cannot be null"); - } - - this.intendedAlg = intendedAlg; - this.symmAlg = symmAlg; - this.encSymmKey = encSymmKey; - this.keyAlg = keyAlg; - this.valueHint = valueHint; - this.encValue = encValue; - } - - public AlgorithmIdentifier getIntendedAlg() - { - return intendedAlg; - } - - public AlgorithmIdentifier getSymmAlg() - { - return symmAlg; - } - - public DERBitString getEncSymmKey() - { - return encSymmKey; - } - - public AlgorithmIdentifier getKeyAlg() - { - return keyAlg; - } - - public ASN1OctetString getValueHint() - { - return valueHint; - } - - public DERBitString getEncValue() - { - return encValue; - } - - /** - *
    -     * EncryptedValue ::= SEQUENCE {
    -     *                     intendedAlg   [0] AlgorithmIdentifier  OPTIONAL,
    -     *                     -- the intended algorithm for which the value will be used
    -     *                     symmAlg       [1] AlgorithmIdentifier  OPTIONAL,
    -     *                     -- the symmetric algorithm used to encrypt the value
    -     *                     encSymmKey    [2] BIT STRING           OPTIONAL,
    -     *                     -- the (encrypted) symmetric key used to encrypt the value
    -     *                     keyAlg        [3] AlgorithmIdentifier  OPTIONAL,
    -     *                     -- algorithm used to encrypt the symmetric key
    -     *                     valueHint     [4] OCTET STRING         OPTIONAL,
    -     *                     -- a brief description or identifier of the encValue content
    -     *                     -- (may be meaningful only to the sending entity, and used only
    -     *                     -- if EncryptedValue might be re-examined by the sending entity
    -     *                     -- in the future)
    -     *                     encValue       BIT STRING }
    -     *                     -- the encrypted value itself
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - addOptional(v, 0, intendedAlg); - addOptional(v, 1, symmAlg); - addOptional(v, 2, encSymmKey); - addOptional(v, 3, keyAlg); - addOptional(v, 4, valueHint); - - v.add(encValue); - - return new DERSequence(v); - } - - private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) - { - if (obj != null) - { - v.add(new DERTaggedObject(false, tagNo, obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/OptionalValidity.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/OptionalValidity.java deleted file mode 100644 index 240d03b36..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/OptionalValidity.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Time; - -public class OptionalValidity - extends ASN1Object -{ - private Time notBefore; - private Time notAfter; - - private OptionalValidity(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); - - if (tObj.getTagNo() == 0) - { - notBefore = Time.getInstance(tObj, true); - } - else - { - notAfter = Time.getInstance(tObj, true); - } - } - } - - public static OptionalValidity getInstance(Object o) - { - if (o instanceof OptionalValidity) - { - return (OptionalValidity)o; - } - - if (o != null) - { - return new OptionalValidity(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public OptionalValidity(Time notBefore, Time notAfter) - { - if (notBefore == null && notAfter == null) - { - throw new IllegalArgumentException("at least one of notBefore/notAfter must not be null."); - } - - this.notBefore = notBefore; - this.notAfter = notAfter; - } - - public Time getNotBefore() - { - return notBefore; - } - - public Time getNotAfter() - { - return notAfter; - } - - /** - *
    -     * OptionalValidity ::= SEQUENCE {
    -     *                        notBefore  [0] Time OPTIONAL,
    -     *                        notAfter   [1] Time OPTIONAL } --at least one MUST be present
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (notBefore != null) - { - v.add(new DERTaggedObject(true, 0, notBefore)); - } - - if (notAfter != null) - { - v.add(new DERTaggedObject(true, 1, notAfter)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIArchiveOptions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIArchiveOptions.java deleted file mode 100644 index 3c374fb0b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIArchiveOptions.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -public class PKIArchiveOptions - extends ASN1Object - implements ASN1Choice -{ - public static final int encryptedPrivKey = 0; - public static final int keyGenParameters = 1; - public static final int archiveRemGenPrivKey = 2; - - private ASN1Encodable value; - - public static PKIArchiveOptions getInstance(Object o) - { - if (o == null || o instanceof PKIArchiveOptions) - { - return (PKIArchiveOptions)o; - } - else if (o instanceof ASN1TaggedObject) - { - return new PKIArchiveOptions((ASN1TaggedObject)o); - } - - throw new IllegalArgumentException("unknown object: " + o); - } - - private PKIArchiveOptions(ASN1TaggedObject tagged) - { - switch (tagged.getTagNo()) - { - case encryptedPrivKey: - value = EncryptedKey.getInstance(tagged.getObject()); - break; - case keyGenParameters: - value = ASN1OctetString.getInstance(tagged, false); - break; - case archiveRemGenPrivKey: - value = ASN1Boolean.getInstance(tagged, false); - break; - default: - throw new IllegalArgumentException("unknown tag number: " + tagged.getTagNo()); - } - } - - public PKIArchiveOptions(EncryptedKey encKey) - { - this.value = encKey; - } - - public PKIArchiveOptions(ASN1OctetString keyGenParameters) - { - this.value = keyGenParameters; - } - - public PKIArchiveOptions(boolean archiveRemGenPrivKey) - { - this.value = ASN1Boolean.getInstance(archiveRemGenPrivKey); - } - - public int getType() - { - if (value instanceof EncryptedKey) - { - return encryptedPrivKey; - } - - if (value instanceof ASN1OctetString) - { - return keyGenParameters; - } - - return archiveRemGenPrivKey; - } - - public ASN1Encodable getValue() - { - return value; - } - - /** - *
    -     *  PKIArchiveOptions ::= CHOICE {
    -     *      encryptedPrivKey     [0] EncryptedKey,
    -     *      -- the actual value of the private key
    -     *      keyGenParameters     [1] KeyGenParameters,
    -     *      -- parameters which allow the private key to be re-generated
    -     *      archiveRemGenPrivKey [2] BOOLEAN }
    -     *      -- set to TRUE if sender wishes receiver to archive the private
    -     *      -- key of a key pair that the receiver generates in response to
    -     *      -- this request; set to FALSE if no archival is desired.
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - if (value instanceof EncryptedKey) - { - return new DERTaggedObject(true, encryptedPrivKey, value); // choice - } - - if (value instanceof ASN1OctetString) - { - return new DERTaggedObject(false, keyGenParameters, value); - } - - return new DERTaggedObject(false, archiveRemGenPrivKey, value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIPublicationInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIPublicationInfo.java deleted file mode 100644 index d19d3f64a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKIPublicationInfo.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PKIPublicationInfo - extends ASN1Object -{ - private ASN1Integer action; - private ASN1Sequence pubInfos; - - private PKIPublicationInfo(ASN1Sequence seq) - { - action = ASN1Integer.getInstance(seq.getObjectAt(0)); - pubInfos = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - - public static PKIPublicationInfo getInstance(Object o) - { - if (o instanceof PKIPublicationInfo) - { - return (PKIPublicationInfo)o; - } - - if (o != null) - { - return new PKIPublicationInfo(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer getAction() - { - return action; - } - - public SinglePubInfo[] getPubInfos() - { - if (pubInfos == null) - { - return null; - } - - SinglePubInfo[] results = new SinglePubInfo[pubInfos.size()]; - - for (int i = 0; i != results.length; i++) - { - results[i] = SinglePubInfo.getInstance(pubInfos.getObjectAt(i)); - } - - return results; - } - - /** - *
    -     * PKIPublicationInfo ::= SEQUENCE {
    -     *                  action     INTEGER {
    -     *                                 dontPublish (0),
    -     *                                 pleasePublish (1) },
    -     *                  pubInfos  SEQUENCE SIZE (1..MAX) OF SinglePubInfo OPTIONAL }
    -     * -- pubInfos MUST NOT be present if action is "dontPublish"
    -     * -- (if action is "pleasePublish" and pubInfos is omitted,
    -     * -- "dontCare" is assumed)
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(action); - v.add(pubInfos); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKMACValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKMACValue.java deleted file mode 100644 index c3481df02..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/PKMACValue.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.cmp.CMPObjectIdentifiers; -import org.spongycastle.asn1.cmp.PBMParameter; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * Password-based MAC value for use with POPOSigningKeyInput. - */ -public class PKMACValue - extends ASN1Object -{ - private AlgorithmIdentifier algId; - private DERBitString value; - - private PKMACValue(ASN1Sequence seq) - { - algId = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - value = DERBitString.getInstance(seq.getObjectAt(1)); - } - - public static PKMACValue getInstance(Object o) - { - if (o instanceof PKMACValue) - { - return (PKMACValue)o; - } - - if (o != null) - { - return new PKMACValue(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public static PKMACValue getInstance(ASN1TaggedObject obj, boolean isExplicit) - { - return getInstance(ASN1Sequence.getInstance(obj, isExplicit)); - } - - /** - * Creates a new PKMACValue. - * @param params parameters for password-based MAC - * @param value MAC of the DER-encoded SubjectPublicKeyInfo - */ - public PKMACValue( - PBMParameter params, - DERBitString value) - { - this(new AlgorithmIdentifier( - CMPObjectIdentifiers.passwordBasedMac, params), value); - } - - /** - * Creates a new PKMACValue. - * @param aid CMPObjectIdentifiers.passwordBasedMAC, with PBMParameter - * @param value MAC of the DER-encoded SubjectPublicKeyInfo - */ - public PKMACValue( - AlgorithmIdentifier aid, - DERBitString value) - { - this.algId = aid; - this.value = value; - } - - public AlgorithmIdentifier getAlgId() - { - return algId; - } - - public DERBitString getValue() - { - return value; - } - - /** - *
    -     * PKMACValue ::= SEQUENCE {
    -     *      algId  AlgorithmIdentifier,
    -     *      -- algorithm value shall be PasswordBasedMac 1.2.840.113533.7.66.13
    -     *      -- parameter value is PBMParameter
    -     *      value  BIT STRING }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algId); - v.add(value); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOPrivKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOPrivKey.java deleted file mode 100644 index 4b32bceb3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOPrivKey.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cms.EnvelopedData; - -public class POPOPrivKey - extends ASN1Object - implements ASN1Choice -{ - public static final int thisMessage = 0; - public static final int subsequentMessage = 1; - public static final int dhMAC = 2; - public static final int agreeMAC = 3; - public static final int encryptedKey = 4; - - private int tagNo; - private ASN1Encodable obj; - - private POPOPrivKey(ASN1TaggedObject obj) - { - this.tagNo = obj.getTagNo(); - - switch (tagNo) - { - case thisMessage: - this.obj = DERBitString.getInstance(obj, false); - break; - case subsequentMessage: - this.obj = SubsequentMessage.valueOf(ASN1Integer.getInstance(obj, false).getValue().intValue()); - break; - case dhMAC: - this.obj = DERBitString.getInstance(obj, false); - break; - case agreeMAC: - this.obj = PKMACValue.getInstance(obj, false); - break; - case encryptedKey: - this.obj = EnvelopedData.getInstance(obj, false); - break; - default: - throw new IllegalArgumentException("unknown tag in POPOPrivKey"); - } - } - - public static POPOPrivKey getInstance(Object obj) - { - if (obj instanceof POPOPrivKey) - { - return (POPOPrivKey)obj; - } - if (obj != null) - { - return new POPOPrivKey(ASN1TaggedObject.getInstance(obj)); - } - - return null; - } - - public static POPOPrivKey getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1TaggedObject.getInstance(obj, explicit)); - } - - public POPOPrivKey(SubsequentMessage msg) - { - this.tagNo = subsequentMessage; - this.obj = msg; - } - - public int getType() - { - return tagNo; - } - - public ASN1Encodable getValue() - { - return obj; - } - - /** - *
    -     * POPOPrivKey ::= CHOICE {
    -     *        thisMessage       [0] BIT STRING,         -- Deprecated
    -     *         -- possession is proven in this message (which contains the private
    -     *         -- key itself (encrypted for the CA))
    -     *        subsequentMessage [1] SubsequentMessage,
    -     *         -- possession will be proven in a subsequent message
    -     *        dhMAC             [2] BIT STRING,         -- Deprecated
    -     *        agreeMAC          [3] PKMACValue,
    -     *        encryptedKey      [4] EnvelopedData }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(false, tagNo, obj); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKey.java deleted file mode 100644 index 9f300c0dd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKey.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class POPOSigningKey - extends ASN1Object -{ - private POPOSigningKeyInput poposkInput; - private AlgorithmIdentifier algorithmIdentifier; - private DERBitString signature; - - private POPOSigningKey(ASN1Sequence seq) - { - int index = 0; - - if (seq.getObjectAt(index) instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagObj - = (ASN1TaggedObject)seq.getObjectAt(index++); - if (tagObj.getTagNo() != 0) - { - throw new IllegalArgumentException( - "Unknown POPOSigningKeyInput tag: " + tagObj.getTagNo()); - } - poposkInput = POPOSigningKeyInput.getInstance(tagObj.getObject()); - } - algorithmIdentifier = AlgorithmIdentifier.getInstance(seq.getObjectAt(index++)); - signature = DERBitString.getInstance(seq.getObjectAt(index)); - } - - public static POPOSigningKey getInstance(Object o) - { - if (o instanceof POPOSigningKey) - { - return (POPOSigningKey)o; - } - - if (o != null) - { - return new POPOSigningKey(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public static POPOSigningKey getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Creates a new Proof of Possession object for a signing key. - * - * @param poposkIn the POPOSigningKeyInput structure, or null if the - * CertTemplate includes both subject and publicKey values. - * @param aid the AlgorithmIdentifier used to sign the proof of possession. - * @param signature a signature over the DER-encoded value of poposkIn, - * or the DER-encoded value of certReq if poposkIn is null. - */ - public POPOSigningKey( - POPOSigningKeyInput poposkIn, - AlgorithmIdentifier aid, - DERBitString signature) - { - this.poposkInput = poposkIn; - this.algorithmIdentifier = aid; - this.signature = signature; - } - - public POPOSigningKeyInput getPoposkInput() - { - return poposkInput; - } - - public AlgorithmIdentifier getAlgorithmIdentifier() - { - return algorithmIdentifier; - } - - public DERBitString getSignature() - { - return signature; - } - - /** - *
    -     * POPOSigningKey ::= SEQUENCE {
    -     *                      poposkInput           [0] POPOSigningKeyInput OPTIONAL,
    -     *                      algorithmIdentifier   AlgorithmIdentifier,
    -     *                      signature             BIT STRING }
    -     *  -- The signature (using "algorithmIdentifier") is on the
    -     *  -- DER-encoded value of poposkInput.  NOTE: If the CertReqMsg
    -     *  -- certReq CertTemplate contains the subject and publicKey values,
    -     *  -- then poposkInput MUST be omitted and the signature MUST be
    -     *  -- computed on the DER-encoded value of CertReqMsg certReq.  If
    -     *  -- the CertReqMsg certReq CertTemplate does not contain the public
    -     *  -- key and subject values, then poposkInput MUST be present and
    -     *  -- MUST be signed.  This strategy ensures that the public key is
    -     *  -- not present in both the poposkInput and CertReqMsg certReq
    -     *  -- CertTemplate fields.
    -     * 
    - * - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (poposkInput != null) - { - v.add(new DERTaggedObject(false, 0, poposkInput)); - } - - v.add(algorithmIdentifier); - v.add(signature); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKeyInput.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKeyInput.java deleted file mode 100644 index 5b0c90f3a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/POPOSigningKeyInput.java +++ /dev/null @@ -1,134 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; - -public class POPOSigningKeyInput - extends ASN1Object -{ - private GeneralName sender; - private PKMACValue publicKeyMAC; - private SubjectPublicKeyInfo publicKey; - - private POPOSigningKeyInput(ASN1Sequence seq) - { - ASN1Encodable authInfo = (ASN1Encodable)seq.getObjectAt(0); - - if (authInfo instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagObj = (ASN1TaggedObject)authInfo; - if (tagObj.getTagNo() != 0) - { - throw new IllegalArgumentException( - "Unknown authInfo tag: " + tagObj.getTagNo()); - } - sender = GeneralName.getInstance(tagObj.getObject()); - } - else - { - publicKeyMAC = PKMACValue.getInstance(authInfo); - } - - publicKey = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(1)); - } - - public static POPOSigningKeyInput getInstance(Object o) - { - if (o instanceof POPOSigningKeyInput) - { - return (POPOSigningKeyInput)o; - } - - if (o != null) - { - return new POPOSigningKeyInput(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * Creates a new POPOSigningKeyInput with sender name as authInfo. - */ - public POPOSigningKeyInput( - GeneralName sender, - SubjectPublicKeyInfo spki) - { - this.sender = sender; - this.publicKey = spki; - } - - /** - * Creates a new POPOSigningKeyInput using password-based MAC. - */ - public POPOSigningKeyInput( - PKMACValue pkmac, - SubjectPublicKeyInfo spki) - { - this.publicKeyMAC = pkmac; - this.publicKey = spki; - } - - /** - * Returns the sender field, or null if authInfo is publicKeyMAC - */ - public GeneralName getSender() - { - return sender; - } - - /** - * Returns the publicKeyMAC field, or null if authInfo is sender - */ - public PKMACValue getPublicKeyMAC() - { - return publicKeyMAC; - } - - public SubjectPublicKeyInfo getPublicKey() - { - return publicKey; - } - - /** - *
    -     * POPOSigningKeyInput ::= SEQUENCE {
    -     *        authInfo             CHOICE {
    -     *                                 sender              [0] GeneralName,
    -     *                                 -- used only if an authenticated identity has been
    -     *                                 -- established for the sender (e.g., a DN from a
    -     *                                 -- previously-issued and currently-valid certificate
    -     *                                 publicKeyMAC        PKMACValue },
    -     *                                 -- used if no authenticated GeneralName currently exists for
    -     *                                 -- the sender; publicKeyMAC contains a password-based MAC
    -     *                                 -- on the DER-encoded value of publicKey
    -     *        publicKey           SubjectPublicKeyInfo }  -- from CertTemplate
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (sender != null) - { - v.add(new DERTaggedObject(false, 0, sender)); - } - else - { - v.add(publicKeyMAC); - } - - v.add(publicKey); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/ProofOfPossession.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/ProofOfPossession.java deleted file mode 100644 index e1ace1168..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/ProofOfPossession.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERTaggedObject; - -public class ProofOfPossession - extends ASN1Object - implements ASN1Choice -{ - public static final int TYPE_RA_VERIFIED = 0; - public static final int TYPE_SIGNING_KEY = 1; - public static final int TYPE_KEY_ENCIPHERMENT = 2; - public static final int TYPE_KEY_AGREEMENT = 3; - - private int tagNo; - private ASN1Encodable obj; - - private ProofOfPossession(ASN1TaggedObject tagged) - { - tagNo = tagged.getTagNo(); - switch (tagNo) - { - case 0: - obj = DERNull.INSTANCE; - break; - case 1: - obj = POPOSigningKey.getInstance(tagged, false); - break; - case 2: - case 3: - obj = POPOPrivKey.getInstance(tagged, true); - break; - default: - throw new IllegalArgumentException("unknown tag: " + tagNo); - } - } - - public static ProofOfPossession getInstance(Object o) - { - if (o == null || o instanceof ProofOfPossession) - { - return (ProofOfPossession)o; - } - - if (o instanceof ASN1TaggedObject) - { - return new ProofOfPossession((ASN1TaggedObject)o); - } - - throw new IllegalArgumentException("Invalid object: " + o.getClass().getName()); - } - - /** Creates a ProofOfPossession with type raVerified. */ - public ProofOfPossession() - { - tagNo = TYPE_RA_VERIFIED; - obj = DERNull.INSTANCE; - } - - /** Creates a ProofOfPossession for a signing key. */ - public ProofOfPossession(POPOSigningKey poposk) - { - tagNo = TYPE_SIGNING_KEY; - obj = poposk; - } - - /** - * Creates a ProofOfPossession for key encipherment or agreement. - * @param type one of TYPE_KEY_ENCIPHERMENT or TYPE_KEY_AGREEMENT - */ - public ProofOfPossession(int type, POPOPrivKey privkey) - { - tagNo = type; - obj = privkey; - } - - public int getType() - { - return tagNo; - } - - public ASN1Encodable getObject() - { - return obj; - } - - /** - *
    -     * ProofOfPossession ::= CHOICE {
    -     *                           raVerified        [0] NULL,
    -     *                           -- used if the RA has already verified that the requester is in
    -     *                           -- possession of the private key
    -     *                           signature         [1] POPOSigningKey,
    -     *                           keyEncipherment   [2] POPOPrivKey,
    -     *                           keyAgreement      [3] POPOPrivKey }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(false, tagNo, obj); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SinglePubInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SinglePubInfo.java deleted file mode 100644 index 52f21c991..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SinglePubInfo.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; - -public class SinglePubInfo - extends ASN1Object -{ - private ASN1Integer pubMethod; - private GeneralName pubLocation; - - private SinglePubInfo(ASN1Sequence seq) - { - pubMethod = ASN1Integer.getInstance(seq.getObjectAt(0)); - - if (seq.size() == 2) - { - pubLocation = GeneralName.getInstance(seq.getObjectAt(1)); - } - } - - public static SinglePubInfo getInstance(Object o) - { - if (o instanceof SinglePubInfo) - { - return (SinglePubInfo)o; - } - - if (o != null) - { - return new SinglePubInfo(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public GeneralName getPubLocation() - { - return pubLocation; - } - - /** - *
    -     * SinglePubInfo ::= SEQUENCE {
    -     *        pubMethod    INTEGER {
    -     *           dontCare    (0),
    -     *           x500        (1),
    -     *           web         (2),
    -     *           ldap        (3) },
    -     *       pubLocation  GeneralName OPTIONAL }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(pubMethod); - - if (pubLocation != null) - { - v.add(pubLocation); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SubsequentMessage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SubsequentMessage.java deleted file mode 100644 index c646faf54..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/crmf/SubsequentMessage.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.asn1.crmf; - -import org.spongycastle.asn1.ASN1Integer; - -public class SubsequentMessage - extends ASN1Integer -{ - public static final SubsequentMessage encrCert = new SubsequentMessage(0); - public static final SubsequentMessage challengeResp = new SubsequentMessage(1); - - private SubsequentMessage(int value) - { - super(value); - } - - public static SubsequentMessage valueOf(int value) - { - if (value == 0) - { - return encrCert; - } - if (value == 1) - { - return challengeResp; - } - - throw new IllegalArgumentException("unknown value: " + value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java deleted file mode 100644 index bdcf9284a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - *
    - * GOST Algorithms OBJECT IDENTIFIERS :
    - *    { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)}
    - * 
    - */ -public interface CryptoProObjectIdentifiers -{ - /** Base OID: 1.2.643.2.2 */ - static final ASN1ObjectIdentifier GOST_id = new ASN1ObjectIdentifier("1.2.643.2.2"); - - /** Gost R3411 OID: 1.2.643.2.2.9 */ - static final ASN1ObjectIdentifier gostR3411 = GOST_id.branch("9"); - /** Gost R3411 HMAC OID: 1.2.643.2.2.10 */ - static final ASN1ObjectIdentifier gostR3411Hmac = GOST_id.branch("10"); - - /** Gost R28147 OID: 1.2.643.2.2.21 */ - static final ASN1ObjectIdentifier gostR28147_gcfb = GOST_id.branch("21"); - - /** Gost R28147-89-CryotoPro-A-ParamSet OID: 1.2.643.2.2.31.1 */ - static final ASN1ObjectIdentifier id_Gost28147_89_CryptoPro_A_ParamSet = GOST_id.branch("31.1"); - - /** Gost R28147-89-CryotoPro-B-ParamSet OID: 1.2.643.2.2.31.2 */ - static final ASN1ObjectIdentifier id_Gost28147_89_CryptoPro_B_ParamSet = GOST_id.branch("31.2"); - - /** Gost R28147-89-CryotoPro-C-ParamSet OID: 1.2.643.2.2.31.3 */ - static final ASN1ObjectIdentifier id_Gost28147_89_CryptoPro_C_ParamSet = GOST_id.branch("31.3"); - - /** Gost R28147-89-CryotoPro-D-ParamSet OID: 1.2.643.2.2.31.4 */ - static final ASN1ObjectIdentifier id_Gost28147_89_CryptoPro_D_ParamSet = GOST_id.branch("31.4"); - - /** Gost R3410-94 OID: 1.2.643.2.2.20 */ - static final ASN1ObjectIdentifier gostR3410_94 = GOST_id.branch("20"); - /** Gost R3410-2001 OID: 1.2.643.2.2.19 */ - static final ASN1ObjectIdentifier gostR3410_2001 = GOST_id.branch("19"); - - /** Gost R3411-94-with-R3410-94 OID: 1.2.643.2.2.4 */ - static final ASN1ObjectIdentifier gostR3411_94_with_gostR3410_94 = GOST_id.branch("4"); - /** Gost R3411-94-with-R3410-2001 OID: 1.2.643.2.2.3 */ - static final ASN1ObjectIdentifier gostR3411_94_with_gostR3410_2001 = GOST_id.branch("3"); - - /** - * { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) hashes(30) } - *

    - * Gost R3411-94-CryptoProParamSet OID: 1.2.643.2.2.30.1 - */ - static final ASN1ObjectIdentifier gostR3411_94_CryptoProParamSet = GOST_id.branch("30.1"); - - /** - * { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) signs(32) } - *

    - * Gost R3410-94-CryptoPro-A OID: 1.2.643.2.2.32.2 - */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_A = GOST_id.branch("32.2"); - /** Gost R3410-94-CryptoPro-B OID: 1.2.643.2.2.32.3 */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_B = GOST_id.branch("32.3"); - /** Gost R3410-94-CryptoPro-C OID: 1.2.643.2.2.32.4 */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_C = GOST_id.branch("32.4"); - /** Gost R3410-94-CryptoPro-D OID: 1.2.643.2.2.32.5 */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_D = GOST_id.branch("32.5"); - - /** - * { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) exchanges(33) } - *

    - * Gost R3410-94-CryptoPro-XchA OID: 1.2.643.2.2.33.1 - */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_XchA = GOST_id.branch("33.1"); - /** Gost R3410-94-CryptoPro-XchB OID: 1.2.643.2.2.33.2 */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_XchB = GOST_id.branch("33.2"); - /** Gost R3410-94-CryptoPro-XchC OID: 1.2.643.2.2.33.3 */ - static final ASN1ObjectIdentifier gostR3410_94_CryptoPro_XchC = GOST_id.branch("33.3"); - - /** - * { iso(1) member-body(2)ru(643) rans(2) cryptopro(2) ecc-signs(35) } - *

    - * Gost R3410-2001-CryptoPro-A OID: 1.2.643.2.2.35.1 - */ - static final ASN1ObjectIdentifier gostR3410_2001_CryptoPro_A = GOST_id.branch("35.1"); - /** Gost R3410-2001-CryptoPro-B OID: 1.2.643.2.2.35.2 */ - static final ASN1ObjectIdentifier gostR3410_2001_CryptoPro_B = GOST_id.branch("35.2"); - /** Gost R3410-2001-CryptoPro-C OID: 1.2.643.2.2.35.3 */ - static final ASN1ObjectIdentifier gostR3410_2001_CryptoPro_C = GOST_id.branch("35.3"); - - /** - * { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) ecc-exchanges(36) } - *

    - * Gost R3410-2001-CryptoPro-XchA OID: 1.2.643.2.2.36.0 - */ - static final ASN1ObjectIdentifier gostR3410_2001_CryptoPro_XchA = GOST_id.branch("36.0"); - /** Gost R3410-2001-CryptoPro-XchA OID: 1.2.643.2.2.36.1 */ - static final ASN1ObjectIdentifier gostR3410_2001_CryptoPro_XchB = GOST_id.branch("36.1"); - - /** Gost R3410-ElSqDH3410-default OID: 1.2.643.2.2.36.0 */ - static final ASN1ObjectIdentifier gost_ElSgDH3410_default = GOST_id.branch("36.0"); - /** Gost R3410-ElSqDH3410-1 OID: 1.2.643.2.2.36.1 */ - static final ASN1ObjectIdentifier gost_ElSgDH3410_1 = GOST_id.branch("36.1"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410NamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410NamedCurves.java deleted file mode 100644 index 5260675e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410NamedCurves.java +++ /dev/null @@ -1,167 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -/** - * table of the available named parameters for GOST 3410-2001. - */ -public class ECGOST3410NamedCurves -{ - static final Hashtable objIds = new Hashtable(); - static final Hashtable params = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static - { - BigInteger mod_p = new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639319"); - BigInteger mod_q = new BigInteger("115792089237316195423570985008687907853073762908499243225378155805079068850323"); - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639316"), // a - new BigInteger("166")); // b - - ECDomainParameters ecParams = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("1"), // x - new BigInteger("64033881142927202683649881450433473985931760268884941288852745803908878638612")), // y - mod_q); - - params.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_A, ecParams); - - mod_p = new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639319"); - mod_q = new BigInteger("115792089237316195423570985008687907853073762908499243225378155805079068850323"); - - curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639316"), - new BigInteger("166")); - - ecParams = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("1"), // x - new BigInteger("64033881142927202683649881450433473985931760268884941288852745803908878638612")), // y - mod_q); - - params.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchA, ecParams); - - mod_p = new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823193"); //p - mod_q = new BigInteger("57896044618658097711785492504343953927102133160255826820068844496087732066703"); //q - - curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823190"), // a - new BigInteger("28091019353058090096996979000309560759124368558014865957655842872397301267595")); // b - - ecParams = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("1"), // x - new BigInteger("28792665814854611296992347458380284135028636778229113005756334730996303888124")), // y - mod_q); // q - - params.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_B, ecParams); - - mod_p = new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502619"); - mod_q = new BigInteger("70390085352083305199547718019018437840920882647164081035322601458352298396601"); - - curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502616"), - new BigInteger("32858")); - - ecParams = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("0"), - new BigInteger("29818893917731240733471273240314769927240550812383695689146495261604565990247")), - mod_q); - - params.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchB, ecParams); - - mod_p = new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502619"); //p - mod_q = new BigInteger("70390085352083305199547718019018437840920882647164081035322601458352298396601"); //q - curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502616"), // a - new BigInteger("32858")); // b - - ecParams = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("0"), // x - new BigInteger("29818893917731240733471273240314769927240550812383695689146495261604565990247")), // y - mod_q); // q - - params.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_C, ecParams); - - objIds.put("GostR3410-2001-CryptoPro-A", CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_A); - objIds.put("GostR3410-2001-CryptoPro-B", CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_B); - objIds.put("GostR3410-2001-CryptoPro-C", CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_C); - objIds.put("GostR3410-2001-CryptoPro-XchA", CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchA); - objIds.put("GostR3410-2001-CryptoPro-XchB", CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchB); - - names.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_A, "GostR3410-2001-CryptoPro-A"); - names.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_B, "GostR3410-2001-CryptoPro-B"); - names.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_C, "GostR3410-2001-CryptoPro-C"); - names.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchA, "GostR3410-2001-CryptoPro-XchA"); - names.put(CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchB, "GostR3410-2001-CryptoPro-XchB"); - } - - /** - * return the ECDomainParameters object for the given OID, null if it - * isn't present. - * - * @param oid an object identifier representing a named parameters, if present. - */ - public static ECDomainParameters getByOID( - ASN1ObjectIdentifier oid) - { - return (ECDomainParameters)params.get(oid); - } - - /** - * returns an enumeration containing the name strings for parameters - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } - - public static ECDomainParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(name); - - if (oid != null) - { - return (ECDomainParameters)params.get(oid); - } - - return null; - } - - /** - * return the named curve name represented by the given object identifier. - */ - public static String getName( - ASN1ObjectIdentifier oid) - { - return (String)names.get(oid); - } - - public static ASN1ObjectIdentifier getOID(String name) - { - return (ASN1ObjectIdentifier)objIds.get(name); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410ParamSetParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410ParamSetParameters.java deleted file mode 100644 index 3cd676c1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/ECGOST3410ParamSetParameters.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class ECGOST3410ParamSetParameters - extends ASN1Object -{ - ASN1Integer p, q, a, b, x, y; - - public static ECGOST3410ParamSetParameters getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static ECGOST3410ParamSetParameters getInstance( - Object obj) - { - if(obj == null || obj instanceof ECGOST3410ParamSetParameters) - { - return (ECGOST3410ParamSetParameters)obj; - } - - if(obj instanceof ASN1Sequence) - { - return new ECGOST3410ParamSetParameters((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid GOST3410Parameter: " + obj.getClass().getName()); - } - - public ECGOST3410ParamSetParameters( - BigInteger a, - BigInteger b, - BigInteger p, - BigInteger q, - int x, - BigInteger y) - { - this.a = new ASN1Integer(a); - this.b = new ASN1Integer(b); - this.p = new ASN1Integer(p); - this.q = new ASN1Integer(q); - this.x = new ASN1Integer(x); - this.y = new ASN1Integer(y); - } - - public ECGOST3410ParamSetParameters( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - a = (ASN1Integer)e.nextElement(); - b = (ASN1Integer)e.nextElement(); - p = (ASN1Integer)e.nextElement(); - q = (ASN1Integer)e.nextElement(); - x = (ASN1Integer)e.nextElement(); - y = (ASN1Integer)e.nextElement(); - } - - public BigInteger getP() - { - return p.getPositiveValue(); - } - - public BigInteger getQ() - { - return q.getPositiveValue(); - } - - public BigInteger getA() - { - return a.getPositiveValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(a); - v.add(b); - v.add(p); - v.add(q); - v.add(x); - v.add(y); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST28147Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST28147Parameters.java deleted file mode 100644 index 7db9e235e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST28147Parameters.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * ASN.1 algorithm identifier parameters for GOST-28147 - */ -public class GOST28147Parameters - extends ASN1Object -{ - private ASN1OctetString iv; - private ASN1ObjectIdentifier paramSet; - - public static GOST28147Parameters getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static GOST28147Parameters getInstance( - Object obj) - { - if (obj instanceof GOST28147Parameters) - { - return (GOST28147Parameters)obj; - } - - if (obj != null) - { - return new GOST28147Parameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * @deprecated use the getInstance() method. This constructor will vanish! - */ - public GOST28147Parameters( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - iv = (ASN1OctetString)e.nextElement(); - paramSet = (ASN1ObjectIdentifier)e.nextElement(); - } - - /** - *

    -     * Gost28147-89-Parameters ::=
    -     *               SEQUENCE {
    -     *                       iv                   Gost28147-89-IV,
    -     *                       encryptionParamSet   OBJECT IDENTIFIER
    -     *                }
    -     *
    -     *   Gost28147-89-IV ::= OCTET STRING (SIZE (8))
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(iv); - v.add(paramSet); - - return new DERSequence(v); - } - - /** - * Return the OID representing the sBox to use. - * - * @return the sBox OID. - */ - public ASN1ObjectIdentifier getEncryptionParamSet() - { - return paramSet; - } - - /** - * Return the initialisation vector to use. - * - * @return the IV. - */ - public byte[] getIV() - { - return iv.getOctets(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410NamedParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410NamedParameters.java deleted file mode 100644 index f6c6f3cac..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410NamedParameters.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * table of the available named parameters for GOST 3410-94. - */ -public class GOST3410NamedParameters -{ - static final Hashtable objIds = new Hashtable(); - static final Hashtable params = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static private GOST3410ParamSetParameters cryptoProA = new GOST3410ParamSetParameters( - 1024, - new BigInteger("127021248288932417465907042777176443525787653508916535812817507265705031260985098497423188333483401180925999995120988934130659205614996724254121049274349357074920312769561451689224110579311248812610229678534638401693520013288995000362260684222750813532307004517341633685004541062586971416883686778842537820383"), - new BigInteger("68363196144955700784444165611827252895102170888761442055095051287550314083023"), - new BigInteger("100997906755055304772081815535925224869841082572053457874823515875577147990529272777244152852699298796483356699682842027972896052747173175480590485607134746852141928680912561502802222185647539190902656116367847270145019066794290930185446216399730872221732889830323194097355403213400972588322876850946740663962") -// validationAlgorithm { -// algorithm -// id-GostR3410-94-bBis, -// parameters -// GostR3410-94-ValidationBisParameters: { -// x0 1376285941, -// c 3996757427 -// } -// } - - ); - - static private GOST3410ParamSetParameters cryptoProB = new GOST3410ParamSetParameters( - 1024, - new BigInteger("139454871199115825601409655107690713107041707059928031797758001454375765357722984094124368522288239833039114681648076688236921220737322672160740747771700911134550432053804647694904686120113087816240740184800477047157336662926249423571248823968542221753660143391485680840520336859458494803187341288580489525163"), - new BigInteger("79885141663410976897627118935756323747307951916507639758300472692338873533959"), - new BigInteger("42941826148615804143873447737955502392672345968607143066798112994089471231420027060385216699563848719957657284814898909770759462613437669456364882730370838934791080835932647976778601915343474400961034231316672578686920482194932878633360203384797092684342247621055760235016132614780652761028509445403338652341") -// validationAlgorithm { -// algorithm -// id-GostR3410-94-bBis, -// parameters -// GostR3410-94-ValidationBisParameters: { -// x0 1536654555, -// c 1855361757, -// d 14408629386140014567655 -//4902939282056547857802241461782996702017713059974755104394739915140 -//6115284791024439062735788342744854120601660303926203867703556828005 -//8957203818114895398976594425537561271800850306 -// } -// } -//} - ); - - static private GOST3410ParamSetParameters cryptoProXchA = new GOST3410ParamSetParameters( - 1024, - new BigInteger("142011741597563481196368286022318089743276138395243738762872573441927459393512718973631166078467600360848946623567625795282774719212241929071046134208380636394084512691828894000571524625445295769349356752728956831541775441763139384457191755096847107846595662547942312293338483924514339614727760681880609734239"), - new BigInteger("91771529896554605945588149018382750217296858393520724172743325725474374979801"), - new BigInteger("133531813272720673433859519948319001217942375967847486899482359599369642528734712461590403327731821410328012529253871914788598993103310567744136196364803064721377826656898686468463277710150809401182608770201615324990468332931294920912776241137878030224355746606283971659376426832674269780880061631528163475887") - ); - - static - { - params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_A, cryptoProA); - params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_B, cryptoProB); -// params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_C, cryptoProC); -// params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_D, cryptoProD); - params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_XchA, cryptoProXchA); -// params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_XchB, cryptoProXchA); -// params.put(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_XchC, cryptoProXchA); - - objIds.put("GostR3410-94-CryptoPro-A", CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_A); - objIds.put("GostR3410-94-CryptoPro-B", CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_B); - objIds.put("GostR3410-94-CryptoPro-XchA", CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_XchA); - } - - /** - * return the GOST3410ParamSetParameters object for the given OID, null if it - * isn't present. - * - * @param oid an object identifier representing a named parameters, if present. - */ - public static GOST3410ParamSetParameters getByOID( - ASN1ObjectIdentifier oid) - { - return (GOST3410ParamSetParameters)params.get(oid); - } - - /** - * returns an enumeration containing the name strings for parameters - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } - - public static GOST3410ParamSetParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(name); - - if (oid != null) - { - return (GOST3410ParamSetParameters)params.get(oid); - } - - return null; - } - - public static ASN1ObjectIdentifier getOID(String name) - { - return (ASN1ObjectIdentifier)objIds.get(name); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410ParamSetParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410ParamSetParameters.java deleted file mode 100644 index 783bb6873..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410ParamSetParameters.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class GOST3410ParamSetParameters - extends ASN1Object -{ - int keySize; - ASN1Integer p, q, a; - - public static GOST3410ParamSetParameters getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static GOST3410ParamSetParameters getInstance( - Object obj) - { - if(obj == null || obj instanceof GOST3410ParamSetParameters) - { - return (GOST3410ParamSetParameters)obj; - } - - if(obj instanceof ASN1Sequence) - { - return new GOST3410ParamSetParameters((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid GOST3410Parameter: " + obj.getClass().getName()); - } - - public GOST3410ParamSetParameters( - int keySize, - BigInteger p, - BigInteger q, - BigInteger a) - { - this.keySize = keySize; - this.p = new ASN1Integer(p); - this.q = new ASN1Integer(q); - this.a = new ASN1Integer(a); - } - - public GOST3410ParamSetParameters( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - keySize = ((ASN1Integer)e.nextElement()).getValue().intValue(); - p = (ASN1Integer)e.nextElement(); - q = (ASN1Integer)e.nextElement(); - a = (ASN1Integer)e.nextElement(); - } - - /** - * @deprecated use getKeySize - */ - public int getLKeySize() - { - return keySize; - } - - public int getKeySize() - { - return keySize; - } - - public BigInteger getP() - { - return p.getPositiveValue(); - } - - public BigInteger getQ() - { - return q.getPositiveValue(); - } - - public BigInteger getA() - { - return a.getPositiveValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(keySize)); - v.add(p); - v.add(q); - v.add(a); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.java deleted file mode 100644 index d17ac1e2f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cryptopro/GOST3410PublicKeyAlgParameters.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.asn1.cryptopro; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class GOST3410PublicKeyAlgParameters - extends ASN1Object -{ - private ASN1ObjectIdentifier publicKeyParamSet; - private ASN1ObjectIdentifier digestParamSet; - private ASN1ObjectIdentifier encryptionParamSet; - - public static GOST3410PublicKeyAlgParameters getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static GOST3410PublicKeyAlgParameters getInstance( - Object obj) - { - if (obj instanceof GOST3410PublicKeyAlgParameters) - { - return (GOST3410PublicKeyAlgParameters)obj; - } - - if(obj != null) - { - return new GOST3410PublicKeyAlgParameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public GOST3410PublicKeyAlgParameters( - ASN1ObjectIdentifier publicKeyParamSet, - ASN1ObjectIdentifier digestParamSet) - { - this.publicKeyParamSet = publicKeyParamSet; - this.digestParamSet = digestParamSet; - this.encryptionParamSet = null; - } - - public GOST3410PublicKeyAlgParameters( - ASN1ObjectIdentifier publicKeyParamSet, - ASN1ObjectIdentifier digestParamSet, - ASN1ObjectIdentifier encryptionParamSet) - { - this.publicKeyParamSet = publicKeyParamSet; - this.digestParamSet = digestParamSet; - this.encryptionParamSet = encryptionParamSet; - } - - /** - * @deprecated use getInstance() - */ - public GOST3410PublicKeyAlgParameters( - ASN1Sequence seq) - { - this.publicKeyParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(0); - this.digestParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(1); - - if (seq.size() > 2) - { - this.encryptionParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(2); - } - } - - public ASN1ObjectIdentifier getPublicKeyParamSet() - { - return publicKeyParamSet; - } - - public ASN1ObjectIdentifier getDigestParamSet() - { - return digestParamSet; - } - - public ASN1ObjectIdentifier getEncryptionParamSet() - { - return encryptionParamSet; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(publicKeyParamSet); - v.add(digestParamSet); - - if (encryptionParamSet != null) - { - v.add(encryptionParamSet); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/CertEtcToken.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/CertEtcToken.java deleted file mode 100644 index 7774ade8c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/CertEtcToken.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.cms.ContentInfo; -import org.spongycastle.asn1.ess.ESSCertID; -import org.spongycastle.asn1.ocsp.CertID; -import org.spongycastle.asn1.ocsp.CertStatus; -import org.spongycastle.asn1.ocsp.OCSPResponse; -import org.spongycastle.asn1.smime.SMIMECapabilities; -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.asn1.x509.CertificateList; -import org.spongycastle.asn1.x509.Extension; - -/** - *
    - * CertEtcToken ::= CHOICE {
    - *         certificate                  [0] IMPLICIT Certificate ,
    - *         esscertid                    [1] ESSCertId ,
    - *         pkistatus                    [2] IMPLICIT PKIStatusInfo ,
    - *         assertion                    [3] ContentInfo ,
    - *         crl                          [4] IMPLICIT CertificateList,
    - *         ocspcertstatus               [5] CertStatus,
    - *         oscpcertid                   [6] IMPLICIT CertId ,
    - *         oscpresponse                 [7] IMPLICIT OCSPResponse,
    - *         capabilities                 [8] SMIMECapabilities,
    - *         extension                    Extension
    - * }
    - * 
    - */ -public class CertEtcToken - extends ASN1Object - implements ASN1Choice -{ - public static final int TAG_CERTIFICATE = 0; - public static final int TAG_ESSCERTID = 1; - public static final int TAG_PKISTATUS = 2; - public static final int TAG_ASSERTION = 3; - public static final int TAG_CRL = 4; - public static final int TAG_OCSPCERTSTATUS = 5; - public static final int TAG_OCSPCERTID = 6; - public static final int TAG_OCSPRESPONSE = 7; - public static final int TAG_CAPABILITIES = 8; - - private static final boolean[] explicit = new boolean[] - { - false, true, false, true, false, true, false, false, true - }; - - private int tagNo; - private ASN1Encodable value; - private Extension extension; - - public CertEtcToken(int tagNo, ASN1Encodable value) - { - this.tagNo = tagNo; - this.value = value; - } - - public CertEtcToken(Extension extension) - { - this.tagNo = -1; - this.extension = extension; - } - - private CertEtcToken(ASN1TaggedObject choice) - { - this.tagNo = choice.getTagNo(); - - switch (tagNo) - { - case TAG_CERTIFICATE: - value = Certificate.getInstance(choice, false); - break; - case TAG_ESSCERTID: - value = ESSCertID.getInstance(choice.getObject()); - break; - case TAG_PKISTATUS: - value = PKIStatusInfo.getInstance(choice, false); - break; - case TAG_ASSERTION: - value = ContentInfo.getInstance(choice.getObject()); - break; - case TAG_CRL: - value = CertificateList.getInstance(choice, false); - break; - case TAG_OCSPCERTSTATUS: - value = CertStatus.getInstance(choice.getObject()); - break; - case TAG_OCSPCERTID: - value = CertID.getInstance(choice, false); - break; - case TAG_OCSPRESPONSE: - value = OCSPResponse.getInstance(choice, false); - break; - case TAG_CAPABILITIES: - value = SMIMECapabilities.getInstance(choice.getObject()); - break; - default: - throw new IllegalArgumentException("Unknown tag: " + tagNo); - } - } - - public static CertEtcToken getInstance(Object obj) - { - if (obj instanceof CertEtcToken) - { - return (CertEtcToken)obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new CertEtcToken((ASN1TaggedObject)obj); - } - else if (obj != null) - { - return new CertEtcToken(Extension.getInstance(obj)); - } - - return null; - } - - public ASN1Primitive toASN1Primitive() - { - if (extension == null) - { - return new DERTaggedObject(explicit[tagNo], tagNo, value); - } - else - { - return extension.toASN1Primitive(); - } - } - - public int getTagNo() - { - return tagNo; - } - - public ASN1Encodable getValue() - { - return value; - } - - public Extension getExtension() - { - return extension; - } - - public String toString() - { - return "CertEtcToken {\n" + value + "}\n"; - } - - public static CertEtcToken[] arrayFromSequence(ASN1Sequence seq) - { - CertEtcToken[] tmp = new CertEtcToken[seq.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = CertEtcToken.getInstance(seq.getObjectAt(i)); - } - - return tmp; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfo.java deleted file mode 100644 index 3c231b44f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfo.java +++ /dev/null @@ -1,302 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.PolicyInformation; - -/** - *
    - *     DVCSCertInfo::= SEQUENCE  {
    - *         version             Integer DEFAULT 1 ,
    - *         dvReqInfo           DVCSRequestInformation,
    - *         messageImprint      DigestInfo,
    - *         serialNumber        Integer,
    - *         responseTime        DVCSTime,
    - *         dvStatus            [0] PKIStatusInfo OPTIONAL,
    - *         policy              [1] PolicyInformation OPTIONAL,
    - *         reqSignature        [2] SignerInfos  OPTIONAL,
    - *         certs               [3] SEQUENCE SIZE (1..MAX) OF
    - *                                 TargetEtcChain OPTIONAL,
    - *         extensions          Extensions OPTIONAL
    - *     }
    - * 
    - */ - -public class DVCSCertInfo - extends ASN1Object -{ - - private int version = DEFAULT_VERSION; - private DVCSRequestInformation dvReqInfo; - private DigestInfo messageImprint; - private ASN1Integer serialNumber; - private DVCSTime responseTime; - private PKIStatusInfo dvStatus; - private PolicyInformation policy; - private ASN1Set reqSignature; - private ASN1Sequence certs; - private Extensions extensions; - - private static final int DEFAULT_VERSION = 1; - private static final int TAG_DV_STATUS = 0; - private static final int TAG_POLICY = 1; - private static final int TAG_REQ_SIGNATURE = 2; - private static final int TAG_CERTS = 3; - - public DVCSCertInfo( - DVCSRequestInformation dvReqInfo, - DigestInfo messageImprint, - ASN1Integer serialNumber, - DVCSTime responseTime) - { - this.dvReqInfo = dvReqInfo; - this.messageImprint = messageImprint; - this.serialNumber = serialNumber; - this.responseTime = responseTime; - } - - private DVCSCertInfo(ASN1Sequence seq) - { - int i = 0; - ASN1Encodable x = seq.getObjectAt(i++); - try - { - ASN1Integer encVersion = ASN1Integer.getInstance(x); - this.version = encVersion.getValue().intValue(); - x = seq.getObjectAt(i++); - } - catch (IllegalArgumentException e) - { - } - - this.dvReqInfo = DVCSRequestInformation.getInstance(x); - x = seq.getObjectAt(i++); - this.messageImprint = DigestInfo.getInstance(x); - x = seq.getObjectAt(i++); - this.serialNumber = ASN1Integer.getInstance(x); - x = seq.getObjectAt(i++); - this.responseTime = DVCSTime.getInstance(x); - - while (i < seq.size()) - { - - x = seq.getObjectAt(i++); - - try - { - ASN1TaggedObject t = ASN1TaggedObject.getInstance(x); - int tagNo = t.getTagNo(); - - switch (tagNo) - { - case TAG_DV_STATUS: - this.dvStatus = PKIStatusInfo.getInstance(t, false); - break; - case TAG_POLICY: - this.policy = PolicyInformation.getInstance(ASN1Sequence.getInstance(t, false)); - break; - case TAG_REQ_SIGNATURE: - this.reqSignature = ASN1Set.getInstance(t, false); - break; - case TAG_CERTS: - this.certs = ASN1Sequence.getInstance(t, false); - break; - } - - continue; - - } - catch (IllegalArgumentException e) - { - } - - try - { - this.extensions = Extensions.getInstance(x); - } - catch (IllegalArgumentException e) - { - } - - } - - } - - public static DVCSCertInfo getInstance(Object obj) - { - if (obj instanceof DVCSCertInfo) - { - return (DVCSCertInfo)obj; - } - else if (obj != null) - { - return new DVCSCertInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static DVCSCertInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != DEFAULT_VERSION) - { - v.add(new ASN1Integer(version)); - } - v.add(dvReqInfo); - v.add(messageImprint); - v.add(serialNumber); - v.add(responseTime); - if (dvStatus != null) - { - v.add(new DERTaggedObject(false, TAG_DV_STATUS, dvStatus)); - } - if (policy != null) - { - v.add(new DERTaggedObject(false, TAG_POLICY, policy)); - } - if (reqSignature != null) - { - v.add(new DERTaggedObject(false, TAG_REQ_SIGNATURE, reqSignature)); - } - if (certs != null) - { - v.add(new DERTaggedObject(false, TAG_CERTS, certs)); - } - if (extensions != null) - { - v.add(extensions); - } - - return new DERSequence(v); - } - - public String toString() - { - StringBuffer s = new StringBuffer(); - - s.append("DVCSCertInfo {\n"); - - if (version != DEFAULT_VERSION) - { - s.append("version: " + version + "\n"); - } - s.append("dvReqInfo: " + dvReqInfo + "\n"); - s.append("messageImprint: " + messageImprint + "\n"); - s.append("serialNumber: " + serialNumber + "\n"); - s.append("responseTime: " + responseTime + "\n"); - if (dvStatus != null) - { - s.append("dvStatus: " + dvStatus + "\n"); - } - if (policy != null) - { - s.append("policy: " + policy + "\n"); - } - if (reqSignature != null) - { - s.append("reqSignature: " + reqSignature + "\n"); - } - if (certs != null) - { - s.append("certs: " + certs + "\n"); - } - if (extensions != null) - { - s.append("extensions: " + extensions + "\n"); - } - - s.append("}\n"); - return s.toString(); - } - - public int getVersion() - { - return version; - } - - private void setVersion(int version) - { - this.version = version; - } - - public DVCSRequestInformation getDvReqInfo() - { - return dvReqInfo; - } - - private void setDvReqInfo(DVCSRequestInformation dvReqInfo) - { - this.dvReqInfo = dvReqInfo; - } - - public DigestInfo getMessageImprint() - { - return messageImprint; - } - - private void setMessageImprint(DigestInfo messageImprint) - { - this.messageImprint = messageImprint; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public DVCSTime getResponseTime() - { - return responseTime; - } - - public PKIStatusInfo getDvStatus() - { - return dvStatus; - } - - public PolicyInformation getPolicy() - { - return policy; - } - - public ASN1Set getReqSignature() - { - return reqSignature; - } - - public TargetEtcChain[] getCerts() - { - if (certs != null) - { - return TargetEtcChain.arrayFromSequence(certs); - } - - return null; - } - - public Extensions getExtensions() - { - return extensions; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfoBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfoBuilder.java deleted file mode 100644 index 47ba84e4e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSCertInfoBuilder.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.PolicyInformation; - -/** - *
    - *     DVCSCertInfo::= SEQUENCE  {
    - *         version             Integer DEFAULT 1 ,
    - *         dvReqInfo           DVCSRequestInformation,
    - *         messageImprint      DigestInfo,
    - *         serialNumber        Integer,
    - *         responseTime        DVCSTime,
    - *         dvStatus            [0] PKIStatusInfo OPTIONAL,
    - *         policy              [1] PolicyInformation OPTIONAL,
    - *         reqSignature        [2] SignerInfos  OPTIONAL,
    - *         certs               [3] SEQUENCE SIZE (1..MAX) OF
    - *                                 TargetEtcChain OPTIONAL,
    - *         extensions          Extensions OPTIONAL
    - *     }
    - * 
    - */ - -public class DVCSCertInfoBuilder -{ - - private int version = DEFAULT_VERSION; - private DVCSRequestInformation dvReqInfo; - private DigestInfo messageImprint; - private ASN1Integer serialNumber; - private DVCSTime responseTime; - private PKIStatusInfo dvStatus; - private PolicyInformation policy; - private ASN1Set reqSignature; - private ASN1Sequence certs; - private Extensions extensions; - - private static final int DEFAULT_VERSION = 1; - private static final int TAG_DV_STATUS = 0; - private static final int TAG_POLICY = 1; - private static final int TAG_REQ_SIGNATURE = 2; - private static final int TAG_CERTS = 3; - - public DVCSCertInfoBuilder( - DVCSRequestInformation dvReqInfo, - DigestInfo messageImprint, - ASN1Integer serialNumber, - DVCSTime responseTime) - { - this.dvReqInfo = dvReqInfo; - this.messageImprint = messageImprint; - this.serialNumber = serialNumber; - this.responseTime = responseTime; - } - - public DVCSCertInfo build() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != DEFAULT_VERSION) - { - v.add(new ASN1Integer(version)); - } - v.add(dvReqInfo); - v.add(messageImprint); - v.add(serialNumber); - v.add(responseTime); - if (dvStatus != null) - { - v.add(new DERTaggedObject(false, TAG_DV_STATUS, dvStatus)); - } - if (policy != null) - { - v.add(new DERTaggedObject(false, TAG_POLICY, policy)); - } - if (reqSignature != null) - { - v.add(new DERTaggedObject(false, TAG_REQ_SIGNATURE, reqSignature)); - } - if (certs != null) - { - v.add(new DERTaggedObject(false, TAG_CERTS, certs)); - } - if (extensions != null) - { - v.add(extensions); - } - - return DVCSCertInfo.getInstance(new DERSequence(v)); - } - - public void setVersion(int version) - { - this.version = version; - } - - public void setDvReqInfo(DVCSRequestInformation dvReqInfo) - { - this.dvReqInfo = dvReqInfo; - } - - public void setMessageImprint(DigestInfo messageImprint) - { - this.messageImprint = messageImprint; - } - - public void setSerialNumber(ASN1Integer serialNumber) - { - this.serialNumber = serialNumber; - } - - public void setResponseTime(DVCSTime responseTime) - { - this.responseTime = responseTime; - } - - public void setDvStatus(PKIStatusInfo dvStatus) - { - this.dvStatus = dvStatus; - } - - public void setPolicy(PolicyInformation policy) - { - this.policy = policy; - } - - public void setReqSignature(ASN1Set reqSignature) - { - this.reqSignature = reqSignature; - } - - public void setCerts(TargetEtcChain[] certs) - { - this.certs = new DERSequence(certs); - } - - public void setExtensions(Extensions extensions) - { - this.extensions = extensions; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSErrorNotice.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSErrorNotice.java deleted file mode 100644 index 2bd13ea92..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSErrorNotice.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.x509.GeneralName; - -/** - *
    - *     DVCSErrorNotice ::= SEQUENCE {
    - *         transactionStatus           PKIStatusInfo ,
    - *         transactionIdentifier       GeneralName OPTIONAL
    - *     }
    - * 
    - */ -public class DVCSErrorNotice - extends ASN1Object -{ - private PKIStatusInfo transactionStatus; - private GeneralName transactionIdentifier; - - public DVCSErrorNotice(PKIStatusInfo status) - { - this(status, null); - } - - public DVCSErrorNotice(PKIStatusInfo status, GeneralName transactionIdentifier) - { - this.transactionStatus = status; - this.transactionIdentifier = transactionIdentifier; - } - - private DVCSErrorNotice(ASN1Sequence seq) - { - this.transactionStatus = PKIStatusInfo.getInstance(seq.getObjectAt(0)); - if (seq.size() > 1) - { - this.transactionIdentifier = GeneralName.getInstance(seq.getObjectAt(1)); - } - } - - public static DVCSErrorNotice getInstance(Object obj) - { - if (obj instanceof DVCSErrorNotice) - { - return (DVCSErrorNotice)obj; - } - else if (obj != null) - { - return new DVCSErrorNotice(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static DVCSErrorNotice getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(transactionStatus); - if (transactionIdentifier != null) - { - v.add(transactionIdentifier); - } - return new DERSequence(v); - } - - public String toString() - { - return "DVCSErrorNotice {\n" + - "transactionStatus: " + transactionStatus + "\n" + - (transactionIdentifier != null ? "transactionIdentifier: " + transactionIdentifier + "\n" : "") + - "}\n"; - } - - - public PKIStatusInfo getTransactionStatus() - { - return transactionStatus; - } - - public GeneralName getTransactionIdentifier() - { - return transactionIdentifier; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSObjectIdentifiers.java deleted file mode 100644 index 029150898..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSObjectIdentifiers.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * OIDs for RFC 3029 - * Data Validation and Certification Server Protocols - */ -public interface DVCSObjectIdentifiers -{ - /** Base OID id-pkix: 1.3.6.1.5.5.7 */ - static final ASN1ObjectIdentifier id_pkix = new ASN1ObjectIdentifier("1.3.6.1.5.5.7"); - /** Base OID id-smime: 1.2.840.113549.1.9.16 */ - static final ASN1ObjectIdentifier id_smime = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16"); - - /** Authority Information Access for DVCS; id-ad-dcvs; OID: 1.3.6.1.5.5.7.48.4 */ - static final ASN1ObjectIdentifier id_ad_dvcs = id_pkix.branch("48.4"); - - /** Key Purpose for DVCS; id-kp-dvcs; OID: 1.3.6.1.5.5.7.3.10 */ - static final ASN1ObjectIdentifier id_kp_dvcs = id_pkix.branch("3.10"); - - /** SMIME eContentType id-ct-DVCSRequestData; OID: 1.2.840.113549.1.9.16.1.7 */ - static final ASN1ObjectIdentifier id_ct_DVCSRequestData = id_smime.branch("1.7"); - /** SMIME eContentType id-ct-DVCSResponseData; OID: 1.2.840.113549.1.9.16.1.8 */ - static final ASN1ObjectIdentifier id_ct_DVCSResponseData = id_smime.branch("1.8"); - - /** SMIME DataValidation certificate attribute id-aa-dvcs-dvc; OID: 1.2.840.113549.1.9.16.2,29 */ - static final ASN1ObjectIdentifier id_aa_dvcs_dvc = id_smime.branch("2.29"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequest.java deleted file mode 100644 index 7be8221cd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequest.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; - -/** - *
    - *     DVCSRequest ::= SEQUENCE  {
    - *         requestInformation         DVCSRequestInformation,
    - *         data                       Data,
    - *         transactionIdentifier      GeneralName OPTIONAL
    - *     }
    - * 
    - */ - -public class DVCSRequest - extends ASN1Object -{ - - private DVCSRequestInformation requestInformation; - private Data data; - private GeneralName transactionIdentifier; - - public DVCSRequest(DVCSRequestInformation requestInformation, Data data) - { - this(requestInformation, data, null); - } - - public DVCSRequest(DVCSRequestInformation requestInformation, Data data, GeneralName transactionIdentifier) - { - this.requestInformation = requestInformation; - this.data = data; - this.transactionIdentifier = transactionIdentifier; - } - - private DVCSRequest(ASN1Sequence seq) - { - requestInformation = DVCSRequestInformation.getInstance(seq.getObjectAt(0)); - data = Data.getInstance(seq.getObjectAt(1)); - if (seq.size() > 2) - { - transactionIdentifier = GeneralName.getInstance(seq.getObjectAt(2)); - } - } - - public static DVCSRequest getInstance(Object obj) - { - if (obj instanceof DVCSRequest) - { - return (DVCSRequest)obj; - } - else if (obj != null) - { - return new DVCSRequest(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static DVCSRequest getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(requestInformation); - v.add(data); - if (transactionIdentifier != null) - { - v.add(transactionIdentifier); - } - return new DERSequence(v); - } - - public String toString() - { - return "DVCSRequest {\n" + - "requestInformation: " + requestInformation + "\n" + - "data: " + data + "\n" + - (transactionIdentifier != null ? "transactionIdentifier: " + transactionIdentifier + "\n" : "") + - "}\n"; - } - - public Data getData() - { - return data; - } - - public DVCSRequestInformation getRequestInformation() - { - return requestInformation; - } - - public GeneralName getTransactionIdentifier() - { - return transactionIdentifier; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformation.java deleted file mode 100644 index 374df9dbb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformation.java +++ /dev/null @@ -1,271 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.PolicyInformation; - -/** - *
    - *     DVCSRequestInformation ::= SEQUENCE  {
    - *         version                      INTEGER DEFAULT 1 ,
    - *         service                      ServiceType,
    - *         nonce                        Nonce OPTIONAL,
    - *         requestTime                  DVCSTime OPTIONAL,
    - *         requester                    [0] GeneralNames OPTIONAL,
    - *         requestPolicy                [1] PolicyInformation OPTIONAL,
    - *         dvcs                         [2] GeneralNames OPTIONAL,
    - *         dataLocations                [3] GeneralNames OPTIONAL,
    - *         extensions                   [4] IMPLICIT Extensions OPTIONAL
    - *     }
    - * 
    - */ - -public class DVCSRequestInformation - extends ASN1Object -{ - private int version = DEFAULT_VERSION; - private ServiceType service; - private BigInteger nonce; - private DVCSTime requestTime; - private GeneralNames requester; - private PolicyInformation requestPolicy; - private GeneralNames dvcs; - private GeneralNames dataLocations; - private Extensions extensions; - - private static final int DEFAULT_VERSION = 1; - private static final int TAG_REQUESTER = 0; - private static final int TAG_REQUEST_POLICY = 1; - private static final int TAG_DVCS = 2; - private static final int TAG_DATA_LOCATIONS = 3; - private static final int TAG_EXTENSIONS = 4; - - private DVCSRequestInformation(ASN1Sequence seq) - { - int i = 0; - - if (seq.getObjectAt(0) instanceof ASN1Integer) - { - ASN1Integer encVersion = ASN1Integer.getInstance(seq.getObjectAt(i++)); - this.version = encVersion.getValue().intValue(); - } - else - { - this.version = 1; - } - - this.service = ServiceType.getInstance(seq.getObjectAt(i++)); - - while (i < seq.size()) - { - ASN1Encodable x = seq.getObjectAt(i); - - if (x instanceof ASN1Integer) - { - this.nonce = ASN1Integer.getInstance(x).getValue(); - } - else if (x instanceof ASN1GeneralizedTime) - { - this.requestTime = DVCSTime.getInstance(x); - } - else if (x instanceof ASN1TaggedObject) - { - ASN1TaggedObject t = ASN1TaggedObject.getInstance(x); - int tagNo = t.getTagNo(); - - switch (tagNo) - { - case TAG_REQUESTER: - this.requester = GeneralNames.getInstance(t, false); - break; - case TAG_REQUEST_POLICY: - this.requestPolicy = PolicyInformation.getInstance(ASN1Sequence.getInstance(t, false)); - break; - case TAG_DVCS: - this.dvcs = GeneralNames.getInstance(t, false); - break; - case TAG_DATA_LOCATIONS: - this.dataLocations = GeneralNames.getInstance(t, false); - break; - case TAG_EXTENSIONS: - this.extensions = Extensions.getInstance(t, false); - break; - } - } - else - { - this.requestTime = DVCSTime.getInstance(x); - } - - i++; - } - } - - public static DVCSRequestInformation getInstance(Object obj) - { - if (obj instanceof DVCSRequestInformation) - { - return (DVCSRequestInformation)obj; - } - else if (obj != null) - { - return new DVCSRequestInformation(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static DVCSRequestInformation getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != DEFAULT_VERSION) - { - v.add(new ASN1Integer(version)); - } - v.add(service); - if (nonce != null) - { - v.add(new ASN1Integer(nonce)); - } - if (requestTime != null) - { - v.add(requestTime); - } - - int[] tags = new int[]{ - TAG_REQUESTER, - TAG_REQUEST_POLICY, - TAG_DVCS, - TAG_DATA_LOCATIONS, - TAG_EXTENSIONS - }; - ASN1Encodable[] taggedObjects = new ASN1Encodable[]{ - requester, - requestPolicy, - dvcs, - dataLocations, - extensions - }; - for (int i = 0; i < tags.length; i++) - { - int tag = tags[i]; - ASN1Encodable taggedObject = taggedObjects[i]; - if (taggedObject != null) - { - v.add(new DERTaggedObject(false, tag, taggedObject)); - } - } - - return new DERSequence(v); - } - - public String toString() - { - - StringBuffer s = new StringBuffer(); - - s.append("DVCSRequestInformation {\n"); - - if (version != DEFAULT_VERSION) - { - s.append("version: " + version + "\n"); - } - s.append("service: " + service + "\n"); - if (nonce != null) - { - s.append("nonce: " + nonce + "\n"); - } - if (requestTime != null) - { - s.append("requestTime: " + requestTime + "\n"); - } - if (requester != null) - { - s.append("requester: " + requester + "\n"); - } - if (requestPolicy != null) - { - s.append("requestPolicy: " + requestPolicy + "\n"); - } - if (dvcs != null) - { - s.append("dvcs: " + dvcs + "\n"); - } - if (dataLocations != null) - { - s.append("dataLocations: " + dataLocations + "\n"); - } - if (extensions != null) - { - s.append("extensions: " + extensions + "\n"); - } - - s.append("}\n"); - return s.toString(); - } - - public int getVersion() - { - return version; - } - - public ServiceType getService() - { - return service; - } - - public BigInteger getNonce() - { - return nonce; - } - - public DVCSTime getRequestTime() - { - return requestTime; - } - - public GeneralNames getRequester() - { - return requester; - } - - public PolicyInformation getRequestPolicy() - { - return requestPolicy; - } - - public GeneralNames getDVCS() - { - return dvcs; - } - - public GeneralNames getDataLocations() - { - return dataLocations; - } - - public Extensions getExtensions() - { - return extensions; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformationBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformationBuilder.java deleted file mode 100644 index 8815fe37d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSRequestInformationBuilder.java +++ /dev/null @@ -1,224 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.PolicyInformation; -import org.spongycastle.util.BigIntegers; - -/** - *
    - *     DVCSRequestInformation ::= SEQUENCE  {
    - *         version                      INTEGER DEFAULT 1 ,
    - *         service                      ServiceType,
    - *         nonce                        Nonce OPTIONAL,
    - *         requestTime                  DVCSTime OPTIONAL,
    - *         requester                    [0] GeneralNames OPTIONAL,
    - *         requestPolicy                [1] PolicyInformation OPTIONAL,
    - *         dvcs                         [2] GeneralNames OPTIONAL,
    - *         dataLocations                [3] GeneralNames OPTIONAL,
    - *         extensions                   [4] IMPLICIT Extensions OPTIONAL
    - *     }
    - * 
    - */ -public class DVCSRequestInformationBuilder -{ - private int version = DEFAULT_VERSION; - - private final ServiceType service; - private DVCSRequestInformation initialInfo; - - private BigInteger nonce; - private DVCSTime requestTime; - private GeneralNames requester; - private PolicyInformation requestPolicy; - private GeneralNames dvcs; - private GeneralNames dataLocations; - private Extensions extensions; - - private static final int DEFAULT_VERSION = 1; - private static final int TAG_REQUESTER = 0; - private static final int TAG_REQUEST_POLICY = 1; - private static final int TAG_DVCS = 2; - private static final int TAG_DATA_LOCATIONS = 3; - private static final int TAG_EXTENSIONS = 4; - - public DVCSRequestInformationBuilder(ServiceType service) - { - this.service = service; - } - - public DVCSRequestInformationBuilder(DVCSRequestInformation initialInfo) - { - this.initialInfo = initialInfo; - this.service = initialInfo.getService(); - this.version = initialInfo.getVersion(); - this.nonce = initialInfo.getNonce(); - this.requestTime = initialInfo.getRequestTime(); - this.requestPolicy = initialInfo.getRequestPolicy(); - this.dvcs = initialInfo.getDVCS(); - this.dataLocations = initialInfo.getDataLocations(); - } - - public DVCSRequestInformation build() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != DEFAULT_VERSION) - { - v.add(new ASN1Integer(version)); - } - v.add(service); - if (nonce != null) - { - v.add(new ASN1Integer(nonce)); - } - if (requestTime != null) - { - v.add(requestTime); - } - - int[] tags = new int[]{ - TAG_REQUESTER, - TAG_REQUEST_POLICY, - TAG_DVCS, - TAG_DATA_LOCATIONS, - TAG_EXTENSIONS - }; - ASN1Encodable[] taggedObjects = new ASN1Encodable[]{ - requester, - requestPolicy, - dvcs, - dataLocations, - extensions - }; - for (int i = 0; i < tags.length; i++) - { - int tag = tags[i]; - ASN1Encodable taggedObject = taggedObjects[i]; - if (taggedObject != null) - { - v.add(new DERTaggedObject(false, tag, taggedObject)); - } - } - - return DVCSRequestInformation.getInstance(new DERSequence(v)); - } - - public void setVersion(int version) - { - if (initialInfo != null) - { - throw new IllegalStateException("cannot change version in existing DVCSRequestInformation"); - } - - this.version = version; - } - - public void setNonce(BigInteger nonce) - { - // RFC 3029, 9.1: The DVCS MAY modify the fields - // 'dvcs', 'requester', 'dataLocations', and 'nonce' of the ReqInfo structure - - // RFC 3029, 9.1: The only modification - // allowed to a 'nonce' is the inclusion of a new field if it was not - // present, or to concatenate other data to the end (right) of an - // existing value. - if (initialInfo != null) - { - if (initialInfo.getNonce() == null) - { - this.nonce = nonce; - } - else - { - byte[] initialBytes = initialInfo.getNonce().toByteArray(); - byte[] newBytes = BigIntegers.asUnsignedByteArray(nonce); - byte[] nonceBytes = new byte[initialBytes.length + newBytes.length]; - - System.arraycopy(initialBytes, 0, nonceBytes, 0, initialBytes.length); - System.arraycopy(newBytes, 0, nonceBytes, initialBytes.length, newBytes.length); - - this.nonce = new BigInteger(nonceBytes); - } - } - - this.nonce = nonce; - } - - public void setRequestTime(DVCSTime requestTime) - { - if (initialInfo != null) - { - throw new IllegalStateException("cannot change request time in existing DVCSRequestInformation"); - } - - this.requestTime = requestTime; - } - - public void setRequester(GeneralName requester) - { - this.setRequester(new GeneralNames(requester)); - } - - public void setRequester(GeneralNames requester) - { - // RFC 3029, 9.1: The DVCS MAY modify the fields - // 'dvcs', 'requester', 'dataLocations', and 'nonce' of the ReqInfo structure - - this.requester = requester; - } - - public void setRequestPolicy(PolicyInformation requestPolicy) - { - if (initialInfo != null) - { - throw new IllegalStateException("cannot change request policy in existing DVCSRequestInformation"); - } - - this.requestPolicy = requestPolicy; - } - - public void setDVCS(GeneralName dvcs) - { - this.setDVCS(new GeneralNames(dvcs)); - } - - public void setDVCS(GeneralNames dvcs) - { - // RFC 3029, 9.1: The DVCS MAY modify the fields - // 'dvcs', 'requester', 'dataLocations', and 'nonce' of the ReqInfo structure - - this.dvcs = dvcs; - } - - public void setDataLocations(GeneralName dataLocation) - { - this.setDataLocations(new GeneralNames(dataLocation)); - } - - public void setDataLocations(GeneralNames dataLocations) - { - // RFC 3029, 9.1: The DVCS MAY modify the fields - // 'dvcs', 'requester', 'dataLocations', and 'nonce' of the ReqInfo structure - - this.dataLocations = dataLocations; - } - - public void setExtensions(Extensions extensions) - { - if (initialInfo != null) - { - throw new IllegalStateException("cannot change extensions in existing DVCSRequestInformation"); - } - - this.extensions = extensions; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSResponse.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSResponse.java deleted file mode 100644 index 6100bd307..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSResponse.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - *
    - *     DVCSResponse ::= CHOICE
    - *     {
    - *         dvCertInfo         DVCSCertInfo ,
    - *         dvErrorNote        [0] DVCSErrorNotice
    - *     }
    - * 
    - */ - -public class DVCSResponse - extends ASN1Object - implements ASN1Choice -{ - private DVCSCertInfo dvCertInfo; - private DVCSErrorNotice dvErrorNote; - - public DVCSResponse(DVCSCertInfo dvCertInfo) - { - this.dvCertInfo = dvCertInfo; - } - - public DVCSResponse(DVCSErrorNotice dvErrorNote) - { - this.dvErrorNote = dvErrorNote; - } - - public static DVCSResponse getInstance(Object obj) - { - if (obj == null || obj instanceof DVCSResponse) - { - return (DVCSResponse)obj; - } - else - { - if (obj instanceof byte[]) - { - try - { - return getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct sequence from byte[]: " + e.getMessage()); - } - } - if (obj instanceof ASN1Sequence) - { - DVCSCertInfo dvCertInfo = DVCSCertInfo.getInstance(obj); - - return new DVCSResponse(dvCertInfo); - } - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject t = ASN1TaggedObject.getInstance(obj); - DVCSErrorNotice dvErrorNote = DVCSErrorNotice.getInstance(t, false); - - return new DVCSResponse(dvErrorNote); - } - } - - throw new IllegalArgumentException("Couldn't convert from object to DVCSResponse: " + obj.getClass().getName()); - } - - public static DVCSResponse getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public DVCSCertInfo getCertInfo() - { - return dvCertInfo; - } - - public DVCSErrorNotice getErrorNotice() - { - return dvErrorNote; - } - - public ASN1Primitive toASN1Primitive() - { - if (dvCertInfo != null) - { - return dvCertInfo.toASN1Primitive(); - } - else - { - return new DERTaggedObject(0, dvErrorNote); - } - } - - public String toString() - { - if (dvCertInfo != null) - { - return "DVCSResponse {\ndvCertInfo: " + dvCertInfo.toString() + "}\n"; - } - if (dvErrorNote != null) - { - return "DVCSResponse {\ndvErrorNote: " + dvErrorNote.toString() + "}\n"; - } - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSTime.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSTime.java deleted file mode 100644 index f8bf2f90d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/DVCSTime.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import java.util.Date; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.cms.ContentInfo; - -/** - *
    - *     DVCSTime ::= CHOICE  {
    - *         genTime                      GeneralizedTime,
    - *         timeStampToken               ContentInfo
    - *     }
    - * 
    - */ -public class DVCSTime - extends ASN1Object - implements ASN1Choice -{ - private ASN1GeneralizedTime genTime; - private ContentInfo timeStampToken; - private Date time; - - // constructors: - - public DVCSTime(Date time) - { - this(new ASN1GeneralizedTime(time)); - } - - public DVCSTime(ASN1GeneralizedTime genTime) - { - this.genTime = genTime; - } - - public DVCSTime(ContentInfo timeStampToken) - { - this.timeStampToken = timeStampToken; - } - - public static DVCSTime getInstance(Object obj) - { - if (obj instanceof DVCSTime) - { - return (DVCSTime)obj; - } - else if (obj instanceof ASN1GeneralizedTime) - { - return new DVCSTime(ASN1GeneralizedTime.getInstance(obj)); - } - else if (obj != null) - { - return new DVCSTime(ContentInfo.getInstance(obj)); - } - - return null; - } - - public static DVCSTime getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - - // selectors: - - public ASN1GeneralizedTime getGenTime() - { - return genTime; - } - - public ContentInfo getTimeStampToken() - { - return timeStampToken; - } - - public ASN1Primitive toASN1Primitive() - { - - if (genTime != null) - { - return genTime; - } - - if (timeStampToken != null) - { - return timeStampToken.toASN1Primitive(); - } - - return null; - } - - public String toString() - { - if (genTime != null) - { - return genTime.toString(); - } - if (timeStampToken != null) - { - return timeStampToken.toString(); - } - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/Data.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/Data.java deleted file mode 100644 index 8d00f33fa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/Data.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.DigestInfo; - -/** - *
    - * Data ::= CHOICE {
    - *   message           OCTET STRING ,
    - *   messageImprint    DigestInfo,
    - *   certs             [0] SEQUENCE SIZE (1..MAX) OF
    - *                         TargetEtcChain
    - * }
    - * 
    - */ - -public class Data - extends ASN1Object - implements ASN1Choice -{ - private ASN1OctetString message; - private DigestInfo messageImprint; - private ASN1Sequence certs; - - public Data(byte[] messageBytes) - { - this.message = new DEROctetString(messageBytes); - } - - public Data(ASN1OctetString message) - { - this.message = message; - } - - public Data(DigestInfo messageImprint) - { - this.messageImprint = messageImprint; - } - - public Data(TargetEtcChain cert) - { - this.certs = new DERSequence(cert); - } - - public Data(TargetEtcChain[] certs) - { - this.certs = new DERSequence(certs); - } - - private Data(ASN1Sequence certs) - { - this.certs = certs; - } - - public static Data getInstance(Object obj) - { - if (obj instanceof Data) - { - return (Data)obj; - } - else if (obj instanceof ASN1OctetString) - { - return new Data((ASN1OctetString)obj); - } - else if (obj instanceof ASN1Sequence) - { - return new Data(DigestInfo.getInstance(obj)); - } - else if (obj instanceof ASN1TaggedObject) - { - return new Data(ASN1Sequence.getInstance((ASN1TaggedObject)obj, false)); - } - throw new IllegalArgumentException("Unknown object submitted to getInstance: " + obj.getClass().getName()); - } - - public static Data getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); - } - - public ASN1Primitive toASN1Primitive() - { - if (message != null) - { - return message.toASN1Primitive(); - } - if (messageImprint != null) - { - return messageImprint.toASN1Primitive(); - } - else - { - return new DERTaggedObject(false, 0, certs); - } - } - - public String toString() - { - if (message != null) - { - return "Data {\n" + message + "}\n"; - } - if (messageImprint != null) - { - return "Data {\n" + messageImprint + "}\n"; - } - else - { - return "Data {\n" + certs + "}\n"; - } - } - - public ASN1OctetString getMessage() - { - return message; - } - - public DigestInfo getMessageImprint() - { - return messageImprint; - } - - public TargetEtcChain[] getCerts() - { - if (certs == null) - { - return null; - } - - TargetEtcChain[] tmp = new TargetEtcChain[certs.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = TargetEtcChain.getInstance(certs.getObjectAt(i)); - } - - return tmp; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/PathProcInput.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/PathProcInput.java deleted file mode 100644 index 2c5b8875c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/PathProcInput.java +++ /dev/null @@ -1,180 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.PolicyInformation; - -/** - *
    - *     PathProcInput ::= SEQUENCE {
    - *         acceptablePolicySet          SEQUENCE SIZE (1..MAX) OF
    - *                                         PolicyInformation,
    - *         inhibitPolicyMapping         BOOLEAN DEFAULT FALSE,
    - *         explicitPolicyReqd           [0] BOOLEAN DEFAULT FALSE ,
    - *         inhibitAnyPolicy             [1] BOOLEAN DEFAULT FALSE
    - *     }
    - * 
    - */ -public class PathProcInput - extends ASN1Object -{ - - private PolicyInformation[] acceptablePolicySet; - private boolean inhibitPolicyMapping = false; - private boolean explicitPolicyReqd = false; - private boolean inhibitAnyPolicy = false; - - public PathProcInput(PolicyInformation[] acceptablePolicySet) - { - this.acceptablePolicySet = acceptablePolicySet; - } - - public PathProcInput(PolicyInformation[] acceptablePolicySet, boolean inhibitPolicyMapping, boolean explicitPolicyReqd, boolean inhibitAnyPolicy) - { - this.acceptablePolicySet = acceptablePolicySet; - this.inhibitPolicyMapping = inhibitPolicyMapping; - this.explicitPolicyReqd = explicitPolicyReqd; - this.inhibitAnyPolicy = inhibitAnyPolicy; - } - - private static PolicyInformation[] fromSequence(ASN1Sequence seq) - { - PolicyInformation[] tmp = new PolicyInformation[seq.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = PolicyInformation.getInstance(seq.getObjectAt(i)); - } - - return tmp; - } - - public static PathProcInput getInstance(Object obj) - { - if (obj instanceof PathProcInput) - { - return (PathProcInput)obj; - } - else if (obj != null) - { - ASN1Sequence seq = ASN1Sequence.getInstance(obj); - ASN1Sequence policies = ASN1Sequence.getInstance(seq.getObjectAt(0)); - PathProcInput result = new PathProcInput(fromSequence(policies)); - - for (int i = 1; i < seq.size(); i++) - { - Object o = seq.getObjectAt(i); - - if (o instanceof ASN1Boolean) - { - ASN1Boolean x = ASN1Boolean.getInstance(o); - result.setInhibitPolicyMapping(x.isTrue()); - } - else if (o instanceof ASN1TaggedObject) - { - ASN1TaggedObject t = ASN1TaggedObject.getInstance(o); - ASN1Boolean x; - switch (t.getTagNo()) - { - case 0: - x = ASN1Boolean.getInstance(t, false); - result.setExplicitPolicyReqd(x.isTrue()); - break; - case 1: - x = ASN1Boolean.getInstance(t, false); - result.setInhibitAnyPolicy(x.isTrue()); - } - } - } - return result; - } - - return null; - } - - public static PathProcInput getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - ASN1EncodableVector pV = new ASN1EncodableVector(); - - for (int i = 0; i != acceptablePolicySet.length; i++) - { - pV.add(acceptablePolicySet[i]); - } - - v.add(new DERSequence(pV)); - - if (inhibitPolicyMapping) - { - v.add(new ASN1Boolean(inhibitPolicyMapping)); - } - if (explicitPolicyReqd) - { - v.add(new DERTaggedObject(false, 0, new ASN1Boolean(explicitPolicyReqd))); - } - if (inhibitAnyPolicy) - { - v.add(new DERTaggedObject(false, 1, new ASN1Boolean(inhibitAnyPolicy))); - } - - return new DERSequence(v); - } - - public String toString() - { - return "PathProcInput: {\n" + - "acceptablePolicySet: " + acceptablePolicySet + "\n" + - "inhibitPolicyMapping: " + inhibitPolicyMapping + "\n" + - "explicitPolicyReqd: " + explicitPolicyReqd + "\n" + - "inhibitAnyPolicy: " + inhibitAnyPolicy + "\n" + - "}\n"; - } - - public PolicyInformation[] getAcceptablePolicySet() - { - return acceptablePolicySet; - } - - public boolean isInhibitPolicyMapping() - { - return inhibitPolicyMapping; - } - - private void setInhibitPolicyMapping(boolean inhibitPolicyMapping) - { - this.inhibitPolicyMapping = inhibitPolicyMapping; - } - - public boolean isExplicitPolicyReqd() - { - return explicitPolicyReqd; - } - - private void setExplicitPolicyReqd(boolean explicitPolicyReqd) - { - this.explicitPolicyReqd = explicitPolicyReqd; - } - - public boolean isInhibitAnyPolicy() - { - return inhibitAnyPolicy; - } - - private void setInhibitAnyPolicy(boolean inhibitAnyPolicy) - { - this.inhibitAnyPolicy = inhibitAnyPolicy; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/ServiceType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/ServiceType.java deleted file mode 100644 index 0cc4acc1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/ServiceType.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; - - -/** - * ServiceType ::= ENUMERATED { cpd(1), vsd(2), cpkc(3), ccpd(4) } - */ - -public class ServiceType - extends ASN1Object -{ - /** - * Identifier of CPD service (Certify Possession of Data). - */ - public static final ServiceType CPD = new ServiceType(1); - - /** - * Identifier of VSD service (Verify Signed Document). - */ - public static final ServiceType VSD = new ServiceType(2); - - /** - * Identifier of VPKC service (Verify Public Key Certificates (also referred to as CPKC)). - */ - public static final ServiceType VPKC = new ServiceType(3); - - /** - * Identifier of CCPD service (Certify Claim of Possession of Data). - */ - public static final ServiceType CCPD = new ServiceType(4); - - private ASN1Enumerated value; - - public ServiceType(int value) - { - this.value = new ASN1Enumerated(value); - } - - private ServiceType(ASN1Enumerated value) - { - this.value = value; - } - - public static ServiceType getInstance(Object obj) - { - if (obj instanceof ServiceType) - { - return (ServiceType)obj; - } - else if (obj != null) - { - return new ServiceType(ASN1Enumerated.getInstance(obj)); - } - - return null; - } - - public static ServiceType getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Enumerated.getInstance(obj, explicit)); - } - - public BigInteger getValue() - { - return value.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - return value; - } - - public String toString() - { - int num = value.getValue().intValue(); - return "" + num + ( - num == CPD.getValue().intValue() ? "(CPD)" : - num == VSD.getValue().intValue() ? "(VSD)" : - num == VPKC.getValue().intValue() ? "(VPKC)" : - num == CCPD.getValue().intValue() ? "(CCPD)" : - "?"); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/TargetEtcChain.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/TargetEtcChain.java deleted file mode 100644 index 264a6c262..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/dvcs/TargetEtcChain.java +++ /dev/null @@ -1,191 +0,0 @@ -package org.spongycastle.asn1.dvcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - *
    - *     TargetEtcChain ::= SEQUENCE {
    - *         target                       CertEtcToken,
    - *         chain                        SEQUENCE SIZE (1..MAX) OF
    - *                                         CertEtcToken OPTIONAL,
    - *         pathProcInput                [0] PathProcInput OPTIONAL
    - *     }
    - * 
    - */ - -public class TargetEtcChain - extends ASN1Object -{ - private CertEtcToken target; - private ASN1Sequence chain; - private PathProcInput pathProcInput; - - public TargetEtcChain(CertEtcToken target) - { - this(target, null, null); - } - - public TargetEtcChain(CertEtcToken target, CertEtcToken[] chain) - { - this(target, chain, null); - } - - public TargetEtcChain(CertEtcToken target, PathProcInput pathProcInput) - { - this(target, null, pathProcInput); - } - - public TargetEtcChain(CertEtcToken target, CertEtcToken[] chain, PathProcInput pathProcInput) - { - this.target = target; - - if (chain != null) - { - this.chain = new DERSequence(chain); - } - - this.pathProcInput = pathProcInput; - } - - private TargetEtcChain(ASN1Sequence seq) - { - int i = 0; - ASN1Encodable obj = seq.getObjectAt(i++); - this.target = CertEtcToken.getInstance(obj); - - try - { - obj = seq.getObjectAt(i++); - this.chain = ASN1Sequence.getInstance(obj); - } - catch (IllegalArgumentException e) - { - } - catch (IndexOutOfBoundsException e) - { - return; - } - - try - { - obj = seq.getObjectAt(i++); - ASN1TaggedObject tagged = ASN1TaggedObject.getInstance(obj); - switch (tagged.getTagNo()) - { - case 0: - this.pathProcInput = PathProcInput.getInstance(tagged, false); - break; - } - } - catch (IllegalArgumentException e) - { - } - catch (IndexOutOfBoundsException e) - { - } - } - - public static TargetEtcChain getInstance(Object obj) - { - if (obj instanceof TargetEtcChain) - { - return (TargetEtcChain)obj; - } - else if (obj != null) - { - return new TargetEtcChain(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static TargetEtcChain getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(target); - if (chain != null) - { - v.add(chain); - } - if (pathProcInput != null) - { - v.add(new DERTaggedObject(false, 0, pathProcInput)); - } - - return new DERSequence(v); - } - - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append("TargetEtcChain {\n"); - s.append("target: " + target + "\n"); - if (chain != null) - { - s.append("chain: " + chain + "\n"); - } - if (pathProcInput != null) - { - s.append("pathProcInput: " + pathProcInput + "\n"); - } - s.append("}\n"); - return s.toString(); - } - - - public CertEtcToken getTarget() - { - return target; - } - - public CertEtcToken[] getChain() - { - if (chain != null) - { - return CertEtcToken.arrayFromSequence(chain); - } - - return null; - } - - private void setChain(ASN1Sequence chain) - { - this.chain = chain; - } - - public PathProcInput getPathProcInput() - { - return pathProcInput; - } - - private void setPathProcInput(PathProcInput pathProcInput) - { - this.pathProcInput = pathProcInput; - } - - public static TargetEtcChain[] arrayFromSequence(ASN1Sequence seq) - { - TargetEtcChain[] tmp = new TargetEtcChain[seq.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = TargetEtcChain.getInstance(seq.getObjectAt(i)); - } - - return tmp; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/BidirectionalMap.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/BidirectionalMap.java deleted file mode 100644 index 479677c09..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/BidirectionalMap.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.util.Hashtable; - -public class BidirectionalMap - extends Hashtable -{ - private static final long serialVersionUID = -7457289971962812909L; - - Hashtable reverseMap = new Hashtable(); - - public Object getReverse(Object o) - { - return reverseMap.get(o); - } - - public Object put(Object key, Object o) - { - reverseMap.put(o, key); - return super.put(key, o); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificate.java deleted file mode 100644 index 1c6f5b80b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificate.java +++ /dev/null @@ -1,317 +0,0 @@ -package org.spongycastle.asn1.eac; - - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1ParsingException; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DEROctetString; - - -/** - * an iso7816Certificate structure. - *

    - *

    - *  Certificate ::= SEQUENCE {
    - *      CertificateBody         Iso7816CertificateBody,
    - *      signature               DER Application specific
    - *  }
    - * 
    - */ -public class CVCertificate - extends ASN1Object -{ - private CertificateBody certificateBody; - private byte[] signature; - private int valid; - private static int bodyValid = 0x01; - private static int signValid = 0x02; - public static final byte version_1 = 0x0; - - public static String ReferenceEncoding = "ISO-8859-1"; - - /** - * Sets the values of the certificate (body and signature). - * - * @param appSpe is a DERApplicationSpecific object containing body and signature. - * @throws IOException if tags or value are incorrect. - */ - private void setPrivateData(DERApplicationSpecific appSpe) - throws IOException - { - valid = 0; - if (appSpe.getApplicationTag() == EACTags.CARDHOLDER_CERTIFICATE) - { - ASN1InputStream content = new ASN1InputStream(appSpe.getContents()); - ASN1Primitive tmpObj; - while ((tmpObj = content.readObject()) != null) - { - DERApplicationSpecific aSpe; - if (tmpObj instanceof DERApplicationSpecific) - { - aSpe = (DERApplicationSpecific)tmpObj; - switch (aSpe.getApplicationTag()) - { - case EACTags.CERTIFICATE_CONTENT_TEMPLATE: - certificateBody = CertificateBody.getInstance(aSpe); - valid |= bodyValid; - break; - case EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP: - signature = aSpe.getContents(); - valid |= signValid; - break; - default: - throw new IOException("Invalid tag, not an Iso7816CertificateStructure :" + aSpe.getApplicationTag()); - } - } - else - { - throw new IOException("Invalid Object, not an Iso7816CertificateStructure"); - } - } - } - else - { - throw new IOException("not a CARDHOLDER_CERTIFICATE :" + appSpe.getApplicationTag()); - } - } - - /** - * Create an iso7816Certificate structure from an ASN1InputStream. - * - * @param aIS the byte stream to parse. - * @return the Iso7816CertificateStructure represented by the byte stream. - * @throws IOException if there is a problem parsing the data. - */ - public CVCertificate(ASN1InputStream aIS) - throws IOException - { - initFrom(aIS); - } - - private void initFrom(ASN1InputStream aIS) - throws IOException - { - ASN1Primitive obj; - while ((obj = aIS.readObject()) != null) - { - if (obj instanceof DERApplicationSpecific) - { - setPrivateData((DERApplicationSpecific)obj); - } - else - { - throw new IOException("Invalid Input Stream for creating an Iso7816CertificateStructure"); - } - } - } - - /** - * Create an iso7816Certificate structure from a DERApplicationSpecific. - * - * @param appSpe the DERApplicationSpecific object. - * @return the Iso7816CertificateStructure represented by the DERApplicationSpecific object. - * @throws IOException if there is a problem parsing the data. - */ - private CVCertificate(DERApplicationSpecific appSpe) - throws IOException - { - setPrivateData(appSpe); - } - - /** - * Create an iso7816Certificate structure from a body and its signature. - * - * @param body the Iso7816CertificateBody object containing the body. - * @param signature the byte array containing the signature - * @return the Iso7816CertificateStructure - * @throws IOException if there is a problem parsing the data. - */ - public CVCertificate(CertificateBody body, byte[] signature) - throws IOException - { - certificateBody = body; - this.signature = signature; - // patch remi - valid |= bodyValid; - valid |= signValid; - } - - /** - * Create an iso7816Certificate structure from an object. - * - * @param obj the Object to extract the certificate from. - * @return the Iso7816CertificateStructure represented by the byte stream. - * @throws IOException if there is a problem parsing the data. - */ - public static CVCertificate getInstance(Object obj) - { - if (obj instanceof CVCertificate) - { - return (CVCertificate)obj; - } - else if (obj != null) - { - try - { - return new CVCertificate(DERApplicationSpecific.getInstance(obj)); - } - catch (IOException e) - { - throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); - } - } - - return null; - } - - /** - * Gives the signature of the whole body. Type of signature is given in - * the Iso7816CertificateBody.Iso7816PublicKey.ASN1ObjectIdentifier - * - * @return the signature of the body. - */ - public byte[] getSignature() - { - return signature; - } - - /** - * Gives the body of the certificate. - * - * @return the body. - */ - public CertificateBody getBody() - { - return certificateBody; - } - - /** - * @see org.spongycastle.asn1.ASN1Object#toASN1Primitive() - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (valid != (signValid | bodyValid)) - { - return null; - } - v.add(certificateBody); - - try - { - v.add(new DERApplicationSpecific(false, EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP, new DEROctetString(signature))); - } - catch (IOException e) - { - throw new IllegalStateException("unable to convert signature!"); - } - - return new DERApplicationSpecific(EACTags.CARDHOLDER_CERTIFICATE, v); - } - - /** - * @return the Holder authorization and role (CVCA, DV, IS). - */ - public ASN1ObjectIdentifier getHolderAuthorization() - throws IOException - { - CertificateHolderAuthorization cha = certificateBody.getCertificateHolderAuthorization(); - return cha.getOid(); - } - - /** - * @return the date of the certificate generation - */ - public PackedDate getEffectiveDate() - throws IOException - { - return certificateBody.getCertificateEffectiveDate(); - } - - - /** - * @return the type of certificate (request or profile) - * value is either Iso7816CertificateBody.profileType - * or Iso7816CertificateBody.requestType. Any other value - * is not valid. - */ - public int getCertificateType() - { - return this.certificateBody.getCertificateType(); - } - - /** - * @return the date of the certificate generation - */ - public PackedDate getExpirationDate() - throws IOException - { - return certificateBody.getCertificateExpirationDate(); - } - - - /** - * return a bits field coded on one byte. For signification of the - * several bit see Iso7816CertificateHolderAuthorization - * - * @return role and access rigth - * @throws IOException - * @see CertificateHolderAuthorization - */ - public int getRole() - throws IOException - { - CertificateHolderAuthorization cha = certificateBody.getCertificateHolderAuthorization(); - return cha.getAccessRights(); - } - - /** - * @return the Authority Reference field of the certificate - * @throws IOException - */ - public CertificationAuthorityReference getAuthorityReference() - throws IOException - { - return certificateBody.getCertificationAuthorityReference(); - } - - /** - * @return the Holder Reference Field of the certificate - * @throws IOException - */ - public CertificateHolderReference getHolderReference() - throws IOException - { - return certificateBody.getCertificateHolderReference(); - } - - /** - * @return the bits corresponding to the role intented for the certificate - * See Iso7816CertificateHolderAuthorization static int for values - * @throws IOException - */ - public int getHolderAuthorizationRole() - throws IOException - { - int rights = certificateBody.getCertificateHolderAuthorization().getAccessRights(); - return rights & 0xC0; - } - - /** - * @return the bits corresponding the authorizations contained in the certificate - * See Iso7816CertificateHolderAuthorization static int for values - * @throws IOException - */ - public Flags getHolderAuthorizationRights() - throws IOException - { - return new Flags(certificateBody.getCertificateHolderAuthorization().getAccessRights() & 0x1F); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificateRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificateRequest.java deleted file mode 100644 index 4170d6e40..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CVCertificateRequest.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.io.IOException; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1ParsingException; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DEROctetString; - -//import java.math.BigInteger; - - -public class CVCertificateRequest - extends ASN1Object -{ - private CertificateBody certificateBody; - - private byte[] innerSignature = null; - private byte[] outerSignature = null; - - private int valid; - - private static int bodyValid = 0x01; - private static int signValid = 0x02; - - private CVCertificateRequest(DERApplicationSpecific request) - throws IOException - { - if (request.getApplicationTag() == EACTags.AUTHENTIFICATION_DATA) - { - ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE)); - - initCertBody(DERApplicationSpecific.getInstance(seq.getObjectAt(0))); - - outerSignature = DERApplicationSpecific.getInstance(seq.getObjectAt(seq.size() - 1)).getContents(); - } - else - { - initCertBody(request); - } - } - - private void initCertBody(DERApplicationSpecific request) - throws IOException - { - if (request.getApplicationTag() == EACTags.CARDHOLDER_CERTIFICATE) - { - ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE)); - for (Enumeration en = seq.getObjects(); en.hasMoreElements();) - { - DERApplicationSpecific obj = DERApplicationSpecific.getInstance(en.nextElement()); - switch (obj.getApplicationTag()) - { - case EACTags.CERTIFICATE_CONTENT_TEMPLATE: - certificateBody = CertificateBody.getInstance(obj); - valid |= bodyValid; - break; - case EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP: - innerSignature = obj.getContents(); - valid |= signValid; - break; - default: - throw new IOException("Invalid tag, not an CV Certificate Request element:" + obj.getApplicationTag()); - } - } - } - else - { - throw new IOException("not a CARDHOLDER_CERTIFICATE in request:" + request.getApplicationTag()); - } - } - - public static CVCertificateRequest getInstance(Object obj) - { - if (obj instanceof CVCertificateRequest) - { - return (CVCertificateRequest)obj; - } - else if (obj != null) - { - try - { - return new CVCertificateRequest(DERApplicationSpecific.getInstance(obj)); - } - catch (IOException e) - { - throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); - } - } - - return null; - } - - ASN1ObjectIdentifier signOid = null; - ASN1ObjectIdentifier keyOid = null; - - public static byte[] ZeroArray = new byte[]{0}; - - - String strCertificateHolderReference; - - byte[] encodedAuthorityReference; - - int ProfileId; - - /** - * Returns the body of the certificate template - * - * @return the body. - */ - public CertificateBody getCertificateBody() - { - return certificateBody; - } - - /** - * Return the public key data object carried in the request - * @return the public key - */ - public PublicKeyDataObject getPublicKey() - { - return certificateBody.getPublicKey(); - } - - public byte[] getInnerSignature() - { - return innerSignature; - } - - public byte[] getOuterSignature() - { - return outerSignature; - } - - byte[] certificate = null; - protected String overSignerReference = null; - - public boolean hasOuterSignature() - { - return outerSignature != null; - } - - byte[] encoded; - - PublicKeyDataObject iso7816PubKey = null; - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certificateBody); - - try - { - v.add(new DERApplicationSpecific(false, EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP, new DEROctetString(innerSignature))); - } - catch (IOException e) - { - throw new IllegalStateException("unable to convert signature!"); - } - - return new DERApplicationSpecific(EACTags.CARDHOLDER_CERTIFICATE, v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateBody.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateBody.java deleted file mode 100644 index 3c834fdc0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateBody.java +++ /dev/null @@ -1,475 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DEROctetString; - - -/** - * an Iso7816CertificateBody structure. - *

    - *

    - *  CertificateBody ::= SEQUENCE {
    - *      // version of the certificate format. Must be 0 (version 1)
    - *      CertificateProfileIdentifer         DERApplicationSpecific,
    - *      //uniquely identifies the issuinng CA's signature key pair
    - *      // contains the iso3166-1 alpha2 encoded country code, the
    - *      // name of issuer and the sequence number of the key pair.
    - *      CertificationAuthorityReference        DERApplicationSpecific,
    - *      // stores the encoded public key
    - *      PublicKey                            Iso7816PublicKey,
    - *      //associates the public key contained in the certificate with a unique name
    - *      // contains the iso3166-1 alpha2 encoded country code, the
    - *      // name of the holder and the sequence number of the key pair.
    - *      certificateHolderReference            DERApplicationSpecific,
    - *      // Encodes the role of the holder (i.e. CVCA, DV, IS) and assigns read/write
    - *      // access rights to data groups storing sensitive data
    - *      certificateHolderAuthorization        Iso7816CertificateHolderAuthorization,
    - *      // the date of the certificate generation
    - *      CertificateEffectiveDate            DERApplicationSpecific,
    - *      // the date after wich the certificate expires
    - *      certificateExpirationDate            DERApplicationSpecific
    - *  }
    - * 
    - */ -public class CertificateBody - extends ASN1Object -{ - ASN1InputStream seq; - private DERApplicationSpecific certificateProfileIdentifier;// version of the certificate format. Must be 0 (version 1) - private DERApplicationSpecific certificationAuthorityReference;//uniquely identifies the issuinng CA's signature key pair - private PublicKeyDataObject publicKey;// stores the encoded public key - private DERApplicationSpecific certificateHolderReference;//associates the public key contained in the certificate with a unique name - private CertificateHolderAuthorization certificateHolderAuthorization;// Encodes the role of the holder (i.e. CVCA, DV, IS) and assigns read/write access rights to data groups storing sensitive data - private DERApplicationSpecific certificateEffectiveDate;// the date of the certificate generation - private DERApplicationSpecific certificateExpirationDate;// the date after wich the certificate expires - private int certificateType = 0;// bit field of initialized data. This will tell us if the data are valid. - private static final int CPI = 0x01;//certificate Profile Identifier - private static final int CAR = 0x02;//certification Authority Reference - private static final int PK = 0x04;//public Key - private static final int CHR = 0x08;//certificate Holder Reference - private static final int CHA = 0x10;//certificate Holder Authorization - private static final int CEfD = 0x20;//certificate Effective Date - private static final int CExD = 0x40;//certificate Expiration Date - - public static final int profileType = 0x7f;//Profile type Certificate - public static final int requestType = 0x0D;// Request type Certificate - - private void setIso7816CertificateBody(DERApplicationSpecific appSpe) - throws IOException - { - byte[] content; - if (appSpe.getApplicationTag() == EACTags.CERTIFICATE_CONTENT_TEMPLATE) - { - content = appSpe.getContents(); - } - else - { - throw new IOException("Bad tag : not an iso7816 CERTIFICATE_CONTENT_TEMPLATE"); - } - ASN1InputStream aIS = new ASN1InputStream(content); - ASN1Primitive obj; - while ((obj = aIS.readObject()) != null) - { - DERApplicationSpecific aSpe; - - if (obj instanceof DERApplicationSpecific) - { - aSpe = (DERApplicationSpecific)obj; - } - else - { - throw new IOException("Not a valid iso7816 content : not a DERApplicationSpecific Object :" + EACTags.encodeTag(appSpe) + obj.getClass()); - } - switch (aSpe.getApplicationTag()) - { - case EACTags.INTERCHANGE_PROFILE: - setCertificateProfileIdentifier(aSpe); - break; - case EACTags.ISSUER_IDENTIFICATION_NUMBER: - setCertificationAuthorityReference(aSpe); - break; - case EACTags.CARDHOLDER_PUBLIC_KEY_TEMPLATE: - setPublicKey(PublicKeyDataObject.getInstance(aSpe.getObject(BERTags.SEQUENCE))); - break; - case EACTags.CARDHOLDER_NAME: - setCertificateHolderReference(aSpe); - break; - case EACTags.CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE: - setCertificateHolderAuthorization(new CertificateHolderAuthorization(aSpe)); - break; - case EACTags.APPLICATION_EFFECTIVE_DATE: - setCertificateEffectiveDate(aSpe); - break; - case EACTags.APPLICATION_EXPIRATION_DATE: - setCertificateExpirationDate(aSpe); - break; - default: - certificateType = 0; - throw new IOException("Not a valid iso7816 DERApplicationSpecific tag " + aSpe.getApplicationTag()); - } - } - } - - /** - * builds an Iso7816CertificateBody by settings each parameters. - * - * @param certificateProfileIdentifier - * @param certificationAuthorityReference - * - * @param publicKey - * @param certificateHolderReference - * @param certificateHolderAuthorization - * @param certificateEffectiveDate - * @param certificateExpirationDate - * @throws IOException - */ - public CertificateBody( - DERApplicationSpecific certificateProfileIdentifier, - CertificationAuthorityReference certificationAuthorityReference, - PublicKeyDataObject publicKey, - CertificateHolderReference certificateHolderReference, - CertificateHolderAuthorization certificateHolderAuthorization, - PackedDate certificateEffectiveDate, - PackedDate certificateExpirationDate - ) - { - setCertificateProfileIdentifier(certificateProfileIdentifier); - setCertificationAuthorityReference(new DERApplicationSpecific( - EACTags.ISSUER_IDENTIFICATION_NUMBER, certificationAuthorityReference.getEncoded())); - setPublicKey(publicKey); - setCertificateHolderReference(new DERApplicationSpecific( - EACTags.CARDHOLDER_NAME, certificateHolderReference.getEncoded())); - setCertificateHolderAuthorization(certificateHolderAuthorization); - try - { - setCertificateEffectiveDate(new DERApplicationSpecific( - false, EACTags.APPLICATION_EFFECTIVE_DATE, new DEROctetString(certificateEffectiveDate.getEncoding()))); - setCertificateExpirationDate(new DERApplicationSpecific( - false, EACTags.APPLICATION_EXPIRATION_DATE, new DEROctetString(certificateExpirationDate.getEncoding()))); - } - catch (IOException e) - { - throw new IllegalArgumentException("unable to encode dates: " + e.getMessage()); - } - } - - /** - * builds an Iso7816CertificateBody with an ASN1InputStream. - * - * @param obj DERApplicationSpecific containing the whole body. - * @throws IOException if the body is not valid. - */ - private CertificateBody(DERApplicationSpecific obj) - throws IOException - { - setIso7816CertificateBody(obj); - } - - /** - * create a profile type Iso7816CertificateBody. - * - * @return return the "profile" type certificate body. - * @throws IOException if the DERApplicationSpecific cannot be created. - */ - private ASN1Primitive profileToASN1Object() - throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certificateProfileIdentifier); - v.add(certificationAuthorityReference); - v.add(new DERApplicationSpecific(false, EACTags.CARDHOLDER_PUBLIC_KEY_TEMPLATE, publicKey)); - v.add(certificateHolderReference); - v.add(certificateHolderAuthorization); - v.add(certificateEffectiveDate); - v.add(certificateExpirationDate); - return new DERApplicationSpecific(EACTags.CERTIFICATE_CONTENT_TEMPLATE, v); - } - - private void setCertificateProfileIdentifier(DERApplicationSpecific certificateProfileIdentifier) - throws IllegalArgumentException - { - if (certificateProfileIdentifier.getApplicationTag() == EACTags.INTERCHANGE_PROFILE) - { - this.certificateProfileIdentifier = certificateProfileIdentifier; - certificateType |= CPI; - } - else - { - throw new IllegalArgumentException("Not an Iso7816Tags.INTERCHANGE_PROFILE tag :" + EACTags.encodeTag(certificateProfileIdentifier)); - } - } - - private void setCertificateHolderReference(DERApplicationSpecific certificateHolderReference) - throws IllegalArgumentException - { - if (certificateHolderReference.getApplicationTag() == EACTags.CARDHOLDER_NAME) - { - this.certificateHolderReference = certificateHolderReference; - certificateType |= CHR; - } - else - { - throw new IllegalArgumentException("Not an Iso7816Tags.CARDHOLDER_NAME tag"); - } - } - - /** - * set the CertificationAuthorityReference. - * - * @param certificationAuthorityReference - * the DERApplicationSpecific containing the CertificationAuthorityReference. - * @throws IllegalArgumentException if the DERApplicationSpecific is not valid. - */ - private void setCertificationAuthorityReference( - DERApplicationSpecific certificationAuthorityReference) - throws IllegalArgumentException - { - if (certificationAuthorityReference.getApplicationTag() == EACTags.ISSUER_IDENTIFICATION_NUMBER) - { - this.certificationAuthorityReference = certificationAuthorityReference; - certificateType |= CAR; - } - else - { - throw new IllegalArgumentException("Not an Iso7816Tags.ISSUER_IDENTIFICATION_NUMBER tag"); - } - } - - /** - * set the public Key - * - * @param publicKey : the DERApplicationSpecific containing the public key - * @throws java.io.IOException - */ - private void setPublicKey(PublicKeyDataObject publicKey) - { - this.publicKey = PublicKeyDataObject.getInstance(publicKey); - this.certificateType |= PK; - } - - /** - * create a request type Iso7816CertificateBody. - * - * @return return the "request" type certificate body. - * @throws IOException if the DERApplicationSpecific cannot be created. - */ - private ASN1Primitive requestToASN1Object() - throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certificateProfileIdentifier); - v.add(new DERApplicationSpecific(false, EACTags.CARDHOLDER_PUBLIC_KEY_TEMPLATE, publicKey)); - v.add(certificateHolderReference); - return new DERApplicationSpecific(EACTags.CERTIFICATE_CONTENT_TEMPLATE, v); - } - - /** - * create a "request" or "profile" type Iso7816CertificateBody according to the variables sets. - * - * @return return the ASN1Primitive representing the "request" or "profile" type certificate body. - * @throws IOException if the DERApplicationSpecific cannot be created or if data are missings to create a valid certificate. - */ - public ASN1Primitive toASN1Primitive() - { - try - { - if (certificateType == profileType) - { - return profileToASN1Object(); - } - if (certificateType == requestType) - { - return requestToASN1Object(); - } - } - catch (IOException e) - { - return null; - } - return null; - } - - /** - * gives the type of the certificate (value should be profileType or requestType if all data are set). - * - * @return the int representing the data already set. - */ - public int getCertificateType() - { - return certificateType; - } - - /** - * Gives an instance of Iso7816CertificateBody taken from Object obj - * - * @param obj is the Object to extract the certificate body from. - * @return the Iso7816CertificateBody taken from Object obj. - * @throws IOException if object is not valid. - */ - public static CertificateBody getInstance(Object obj) - throws IOException - { - if (obj instanceof CertificateBody) - { - return (CertificateBody)obj; - } - else if (obj != null) - { - return new CertificateBody(DERApplicationSpecific.getInstance(obj)); - } - - return null; - } - - /** - * @return the date of the certificate generation - */ - public PackedDate getCertificateEffectiveDate() - { - if ((this.certificateType & CertificateBody.CEfD) == - CertificateBody.CEfD) - { - return new PackedDate(certificateEffectiveDate.getContents()); - } - return null; - } - - /** - * set the date of the certificate generation - * - * @param ced DERApplicationSpecific containing the date of the certificate generation - * @throws IllegalArgumentException if the tag is not Iso7816Tags.APPLICATION_EFFECTIVE_DATE - */ - private void setCertificateEffectiveDate(DERApplicationSpecific ced) - throws IllegalArgumentException - { - if (ced.getApplicationTag() == EACTags.APPLICATION_EFFECTIVE_DATE) - { - this.certificateEffectiveDate = ced; - certificateType |= CEfD; - } - else - { - throw new IllegalArgumentException("Not an Iso7816Tags.APPLICATION_EFFECTIVE_DATE tag :" + EACTags.encodeTag(ced)); - } - } - - /** - * @return the date after wich the certificate expires - */ - public PackedDate getCertificateExpirationDate() - throws IOException - { - if ((this.certificateType & CertificateBody.CExD) == - CertificateBody.CExD) - { - return new PackedDate(certificateExpirationDate.getContents()); - } - throw new IOException("certificate Expiration Date not set"); - } - - /** - * set the date after wich the certificate expires - * - * @param ced DERApplicationSpecific containing the date after wich the certificate expires - * @throws IllegalArgumentException if the tag is not Iso7816Tags.APPLICATION_EXPIRATION_DATE - */ - private void setCertificateExpirationDate(DERApplicationSpecific ced) - throws IllegalArgumentException - { - if (ced.getApplicationTag() == EACTags.APPLICATION_EXPIRATION_DATE) - { - this.certificateExpirationDate = ced; - certificateType |= CExD; - } - else - { - throw new IllegalArgumentException("Not an Iso7816Tags.APPLICATION_EXPIRATION_DATE tag"); - } - } - - /** - * the Iso7816CertificateHolderAuthorization encodes the role of the holder - * (i.e. CVCA, DV, IS) and assigns read/write access rights to data groups - * storing sensitive data. This functions returns the Certificate Holder - * Authorization - * - * @return the Iso7816CertificateHolderAuthorization - */ - public CertificateHolderAuthorization getCertificateHolderAuthorization() - throws IOException - { - if ((this.certificateType & CertificateBody.CHA) == - CertificateBody.CHA) - { - return certificateHolderAuthorization; - } - throw new IOException("Certificate Holder Authorisation not set"); - } - - /** - * set the CertificateHolderAuthorization - * - * @param cha the Certificate Holder Authorization - */ - private void setCertificateHolderAuthorization( - CertificateHolderAuthorization cha) - { - this.certificateHolderAuthorization = cha; - certificateType |= CHA; - } - - /** - * certificateHolderReference : associates the public key contained in the certificate with a unique name - * - * @return the certificateHolderReference. - */ - public CertificateHolderReference getCertificateHolderReference() - { - return new CertificateHolderReference(certificateHolderReference.getContents()); - } - - /** - * CertificateProfileIdentifier : version of the certificate format. Must be 0 (version 1) - * - * @return the CertificateProfileIdentifier - */ - public DERApplicationSpecific getCertificateProfileIdentifier() - { - return certificateProfileIdentifier; - } - - /** - * get the certificationAuthorityReference - * certificationAuthorityReference : uniquely identifies the issuinng CA's signature key pair - * - * @return the certificationAuthorityReference - */ - public CertificationAuthorityReference getCertificationAuthorityReference() - throws IOException - { - if ((this.certificateType & CertificateBody.CAR) == - CertificateBody.CAR) - { - return new CertificationAuthorityReference(certificationAuthorityReference.getContents()); - } - throw new IOException("Certification authority reference not set"); - } - - /** - * @return the PublicKey - */ - public PublicKeyDataObject getPublicKey() - { - return publicKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderAuthorization.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderAuthorization.java deleted file mode 100644 index 5f23f973f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderAuthorization.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.util.Integers; - -/** - * an Iso7816CertificateHolderAuthorization structure. - *

    - *

    - *  Certificate Holder Authorization ::= SEQUENCE {
    - *      // specifies the format and the rules for the evaluation of the authorization
    - *      // level
    - *      ASN1ObjectIdentifier        oid,
    - *      // access rights
    - *      DERApplicationSpecific    accessRights,
    - *  }
    - * 
    - */ -public class CertificateHolderAuthorization - extends ASN1Object -{ - ASN1ObjectIdentifier oid; - DERApplicationSpecific accessRights; - public static final ASN1ObjectIdentifier id_role_EAC = EACObjectIdentifiers.bsi_de.branch("3.1.2.1"); - public static final int CVCA = 0xC0; - public static final int DV_DOMESTIC = 0x80; - public static final int DV_FOREIGN = 0x40; - public static final int IS = 0; - public static final int RADG4 = 0x02;//Read Access to DG4 (Iris) - public static final int RADG3 = 0x01;//Read Access to DG3 (fingerprint) - - static Hashtable RightsDecodeMap = new Hashtable(); - static BidirectionalMap AuthorizationRole = new BidirectionalMap(); - static Hashtable ReverseMap = new Hashtable(); - - static - { - RightsDecodeMap.put(Integers.valueOf(RADG4), "RADG4"); - RightsDecodeMap.put(Integers.valueOf(RADG3), "RADG3"); - - AuthorizationRole.put(Integers.valueOf(CVCA), "CVCA"); - AuthorizationRole.put(Integers.valueOf(DV_DOMESTIC), "DV_DOMESTIC"); - AuthorizationRole.put(Integers.valueOf(DV_FOREIGN), "DV_FOREIGN"); - AuthorizationRole.put(Integers.valueOf(IS), "IS"); - - /* - for (int i : RightsDecodeMap.keySet()) - ReverseMap.put(RightsDecodeMap.get(i), i); - - for (int i : AuthorizationRole.keySet()) - ReverseMap.put(AuthorizationRole.get(i), i); - */ - } - - public static String GetRoleDescription(int i) - { - return (String)AuthorizationRole.get(Integers.valueOf(i)); - } - - public static int GetFlag(String description) - { - Integer i = (Integer)AuthorizationRole.getReverse(description); - if (i == null) - { - throw new IllegalArgumentException("Unknown value " + description); - } - - return i.intValue(); - } - - private void setPrivateData(ASN1InputStream cha) - throws IOException - { - ASN1Primitive obj; - obj = cha.readObject(); - if (obj instanceof ASN1ObjectIdentifier) - { - this.oid = (ASN1ObjectIdentifier)obj; - } - else - { - throw new IllegalArgumentException("no Oid in CerticateHolderAuthorization"); - } - obj = cha.readObject(); - if (obj instanceof DERApplicationSpecific) - { - this.accessRights = (DERApplicationSpecific)obj; - } - else - { - throw new IllegalArgumentException("No access rights in CerticateHolderAuthorization"); - } - } - - - /** - * create an Iso7816CertificateHolderAuthorization according to the parameters - * - * @param oid Object Identifier : specifies the format and the rules for the - * evaluatioin of the authorization level. - * @param rights specifies the access rights - * @throws IOException - */ - public CertificateHolderAuthorization(ASN1ObjectIdentifier oid, int rights) - throws IOException - { - setOid(oid); - setAccessRights((byte)rights); - } - - /** - * create an Iso7816CertificateHolderAuthorization according to the {@link DERApplicationSpecific} - * - * @param aSpe the DERApplicationSpecific containing the data - * @throws IOException - */ - public CertificateHolderAuthorization(DERApplicationSpecific aSpe) - throws IOException - { - if (aSpe.getApplicationTag() == EACTags.CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE) - { - setPrivateData(new ASN1InputStream(aSpe.getContents())); - } - } - - /** - * @return containing the access rights - */ - public int getAccessRights() - { - return accessRights.getContents()[0] & 0xff; - } - - /** - * create a DERApplicationSpecific and set the access rights to "rights" - * - * @param rights byte containing the rights. - */ - private void setAccessRights(byte rights) - { - byte[] accessRights = new byte[1]; - accessRights[0] = rights; - this.accessRights = new DERApplicationSpecific( - EACTags.getTag(EACTags.DISCRETIONARY_DATA), accessRights); - } - - /** - * @return the Object identifier - */ - public ASN1ObjectIdentifier getOid() - { - return oid; - } - - /** - * set the Object Identifier - * - * @param oid {@link ASN1ObjectIdentifier} containing the Object Identifier - */ - private void setOid(ASN1ObjectIdentifier oid) - { - this.oid = oid; - } - - /** - * return the Certificate Holder Authorization as a DERApplicationSpecific Object - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(oid); - v.add(accessRights); - - return new DERApplicationSpecific(EACTags.CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE, v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderReference.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderReference.java deleted file mode 100644 index 01651ff77..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificateHolderReference.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.io.UnsupportedEncodingException; - -public class CertificateHolderReference -{ - private static final String ReferenceEncoding = "ISO-8859-1"; - - private String countryCode; - private String holderMnemonic; - private String sequenceNumber; - - public CertificateHolderReference(String countryCode, String holderMnemonic, String sequenceNumber) - { - this.countryCode = countryCode; - this.holderMnemonic = holderMnemonic; - this.sequenceNumber = sequenceNumber; - } - - CertificateHolderReference(byte[] contents) - { - try - { - String concat = new String(contents, ReferenceEncoding); - - this.countryCode = concat.substring(0, 2); - this.holderMnemonic = concat.substring(2, concat.length() - 5); - - this.sequenceNumber = concat.substring(concat.length() - 5); - } - catch (UnsupportedEncodingException e) - { - throw new IllegalStateException(e.toString()); - } - } - - public String getCountryCode() - { - return countryCode; - } - - public String getHolderMnemonic() - { - return holderMnemonic; - } - - public String getSequenceNumber() - { - return sequenceNumber; - } - - - public byte[] getEncoded() - { - String ref = countryCode + holderMnemonic + sequenceNumber; - - try - { - return ref.getBytes(ReferenceEncoding); - } - catch (UnsupportedEncodingException e) - { - throw new IllegalStateException(e.toString()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificationAuthorityReference.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificationAuthorityReference.java deleted file mode 100644 index 993cf7295..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/CertificationAuthorityReference.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.asn1.eac; - -public class CertificationAuthorityReference - extends CertificateHolderReference -{ - public CertificationAuthorityReference(String countryCode, String holderMnemonic, String sequenceNumber) - { - super(countryCode, holderMnemonic, sequenceNumber); - } - - CertificationAuthorityReference(byte[] contents) - { - super(contents); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACObjectIdentifiers.java deleted file mode 100644 index 2c76e1ecd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACObjectIdentifiers.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.spongycastle.asn1.eac; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * German Federal Office for Information Security - * (Bundesamt für Sicherheit in der Informationstechnik) - * http://www.bsi.bund.de/ - *

    - * BSI TR-03110 - * Technical Guideline Advanced Security Mechanisms for Machine Readable Travel Documents - *

    - * Technical Guideline TR-03110-3 - * Advanced Security Mechanisms for Machine Readable Travel Documents; - * Part 3: Common Specifications. - */ - -public interface EACObjectIdentifiers -{ - /** - *

    -     * bsi-de OBJECT IDENTIFIER ::= {
    -     *     itu-t(0) identified-organization(4) etsi(0)
    -     *     reserved(127) etsi-identified-organization(0) 7
    -     * }
    -     * 
    - * OID: 0.4.0.127.0.7 - */ - static final ASN1ObjectIdentifier bsi_de = new ASN1ObjectIdentifier("0.4.0.127.0.7"); - - /** - *
    -     * id-PK OBJECT IDENTIFIER ::= {
    -     *     bsi-de protocols(2) smartcard(2) 1
    -     * }
    -     * 
    - * OID: 0.4.0.127.0.7.2.2.1 - */ - static final ASN1ObjectIdentifier id_PK = bsi_de.branch("2.2.1"); - - /** OID: 0.4.0.127.0.7.2.2.1.1 */ - static final ASN1ObjectIdentifier id_PK_DH = id_PK.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.1.2 */ - static final ASN1ObjectIdentifier id_PK_ECDH = id_PK.branch("2"); - - /** - *
    -     * id-CA OBJECT IDENTIFIER ::= {
    -     *     bsi-de protocols(2) smartcard(2) 3
    -     * }
    -     * 
    - * OID: 0.4.0.127.0.7.2.2.3 - */ - static final ASN1ObjectIdentifier id_CA = bsi_de.branch("2.2.3"); - /** OID: 0.4.0.127.0.7.2.2.3.1 */ - static final ASN1ObjectIdentifier id_CA_DH = id_CA.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.3.1.1 */ - static final ASN1ObjectIdentifier id_CA_DH_3DES_CBC_CBC = id_CA_DH.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.3.2 */ - static final ASN1ObjectIdentifier id_CA_ECDH = id_CA.branch("2"); - /** OID: 0.4.0.127.0.7.2.2.3.2.1 */ - static final ASN1ObjectIdentifier id_CA_ECDH_3DES_CBC_CBC = id_CA_ECDH.branch("1"); - - /** - *
    -     * id-TA OBJECT IDENTIFIER ::= {
    -     *     bsi-de protocols(2) smartcard(2) 2
    -     * }
    -     * 
    - * OID: 0.4.0.127.0.7.2.2.2 - */ - static final ASN1ObjectIdentifier id_TA = bsi_de.branch("2.2.2"); - - /** OID: 0.4.0.127.0.7.2.2.2.1 */ - static final ASN1ObjectIdentifier id_TA_RSA = id_TA.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.2.1.1 */ - static final ASN1ObjectIdentifier id_TA_RSA_v1_5_SHA_1 = id_TA_RSA.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.2.1.2 */ - static final ASN1ObjectIdentifier id_TA_RSA_v1_5_SHA_256 = id_TA_RSA.branch("2"); - /** OID: 0.4.0.127.0.7.2.2.2.1.3 */ - static final ASN1ObjectIdentifier id_TA_RSA_PSS_SHA_1 = id_TA_RSA.branch("3"); - /** OID: 0.4.0.127.0.7.2.2.2.1.4 */ - static final ASN1ObjectIdentifier id_TA_RSA_PSS_SHA_256 = id_TA_RSA.branch("4"); - /** OID: 0.4.0.127.0.7.2.2.2.1.5 */ - static final ASN1ObjectIdentifier id_TA_RSA_v1_5_SHA_512 = id_TA_RSA.branch("5"); - /** OID: 0.4.0.127.0.7.2.2.2.1.6 */ - static final ASN1ObjectIdentifier id_TA_RSA_PSS_SHA_512 = id_TA_RSA.branch("6"); - /** OID: 0.4.0.127.0.7.2.2.2.2 */ - static final ASN1ObjectIdentifier id_TA_ECDSA = id_TA.branch("2"); - /** OID: 0.4.0.127.0.7.2.2.2.2.1 */ - static final ASN1ObjectIdentifier id_TA_ECDSA_SHA_1 = id_TA_ECDSA.branch("1"); - /** OID: 0.4.0.127.0.7.2.2.2.2.2 */ - static final ASN1ObjectIdentifier id_TA_ECDSA_SHA_224 = id_TA_ECDSA.branch("2"); - /** OID: 0.4.0.127.0.7.2.2.2.2.3 */ - static final ASN1ObjectIdentifier id_TA_ECDSA_SHA_256 = id_TA_ECDSA.branch("3"); - /** OID: 0.4.0.127.0.7.2.2.2.2.4 */ - static final ASN1ObjectIdentifier id_TA_ECDSA_SHA_384 = id_TA_ECDSA.branch("4"); - /** OID: 0.4.0.127.0.7.2.2.2.2.5 */ - static final ASN1ObjectIdentifier id_TA_ECDSA_SHA_512 = id_TA_ECDSA.branch("5"); - - /** - *
    -     * id-EAC-ePassport OBJECT IDENTIFIER ::= {
    -     *     bsi-de applications(3) mrtd(1) roles(2) 1
    -     * }
    -     * 
    - * OID: 0.4.0.127.0.7.3.1.2.1 - */ - static final ASN1ObjectIdentifier id_EAC_ePassport = bsi_de.branch("3.1.2.1"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACTags.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACTags.java deleted file mode 100644 index f061ebe65..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/EACTags.java +++ /dev/null @@ -1,209 +0,0 @@ -package org.spongycastle.asn1.eac; - -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERApplicationSpecific; - -public class EACTags -{ - public static final int OBJECT_IDENTIFIER = 0x06; - public static final int COUNTRY_CODE_NATIONAL_DATA = 0x41; - public static final int ISSUER_IDENTIFICATION_NUMBER = 0x02; //0x42; - public static final int CARD_SERVICE_DATA = 0x43; - public static final int INITIAL_ACCESS_DATA = 0x44; - public static final int CARD_ISSUER_DATA = 0x45; - public static final int PRE_ISSUING_DATA = 0x46; - public static final int CARD_CAPABILITIES = 0x47; - public static final int STATUS_INFORMATION = 0x48; - public static final int EXTENDED_HEADER_LIST = 0x4D; - public static final int APPLICATION_IDENTIFIER = 0x4F; - public static final int APPLICATION_LABEL = 0x50; - public static final int FILE_REFERENCE = 0x51; - public static final int COMMAND_TO_PERFORM = 0x52; - public static final int DISCRETIONARY_DATA = 0x53; - public static final int OFFSET_DATA_OBJECT = 0x54; - public static final int TRACK1_APPLICATION = 0x56; - public static final int TRACK2_APPLICATION = 0x57; - public static final int TRACK3_APPLICATION = 0x58; - public static final int CARD_EXPIRATION_DATA = 0x59; - public static final int PRIMARY_ACCOUNT_NUMBER = 0x5A;// PAN - public static final int NAME = 0x5B; - public static final int TAG_LIST = 0x5C; - public static final int HEADER_LIST = 0x5D; - public static final int LOGIN_DATA = 0x5E; - public static final int CARDHOLDER_NAME = 0x20; // 0x5F20; - public static final int TRACK1_CARD = 0x5F21; - public static final int TRACK2_CARD = 0x5F22; - public static final int TRACK3_CARD = 0x5F23; - public static final int APPLICATION_EXPIRATION_DATE = 0x24; // 0x5F24; - public static final int APPLICATION_EFFECTIVE_DATE = 0x25; // 0x5F25; - public static final int CARD_EFFECTIVE_DATE = 0x5F26; - public static final int INTERCHANGE_CONTROL = 0x5F27; - public static final int COUNTRY_CODE = 0x5F28; - public static final int INTERCHANGE_PROFILE = 0x29; // 0x5F29; - public static final int CURRENCY_CODE = 0x5F2A; - public static final int DATE_OF_BIRTH = 0x5F2B; - public static final int CARDHOLDER_NATIONALITY = 0x5F2C; - public static final int LANGUAGE_PREFERENCES = 0x5F2D; - public static final int CARDHOLDER_BIOMETRIC_DATA = 0x5F2E; - public static final int PIN_USAGE_POLICY = 0x5F2F; - public static final int SERVICE_CODE = 0x5F30; - public static final int TRANSACTION_COUNTER = 0x5F32; - public static final int TRANSACTION_DATE = 0x5F33; - public static final int CARD_SEQUENCE_NUMBER = 0x5F34; - public static final int SEX = 0x5F35; - public static final int CURRENCY_EXPONENT = 0x5F36; - public static final int STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP = 0x37; // 0x5F37; - public static final int SIGNATURE = 0x5F37; - public static final int STATIC_INTERNAL_AUTHENTIFICATION_FIRST_DATA = 0x5F38; - public static final int STATIC_INTERNAL_AUTHENTIFICATION_SECOND_DATA = 0x5F39; - public static final int DYNAMIC_INTERNAL_AUTHENTIFICATION = 0x5F3A; - public static final int DYNAMIC_EXTERNAL_AUTHENTIFICATION = 0x5F3B; - public static final int DYNAMIC_MUTUAL_AUTHENTIFICATION = 0x5F3C; - public static final int CARDHOLDER_PORTRAIT_IMAGE = 0x5F40; - public static final int ELEMENT_LIST = 0x5F41; - public static final int ADDRESS = 0x5F42; - public static final int CARDHOLDER_HANDWRITTEN_SIGNATURE = 0x5F43; - public static final int APPLICATION_IMAGE = 0x5F44; - public static final int DISPLAY_IMAGE = 0x5F45; - public static final int TIMER = 0x5F46; - public static final int MESSAGE_REFERENCE = 0x5F47; - public static final int CARDHOLDER_PRIVATE_KEY = 0x5F48; - public static final int CARDHOLDER_PUBLIC_KEY = 0x5F49; - public static final int CERTIFICATION_AUTHORITY_PUBLIC_KEY = 0x5F4A; - public static final int DEPRECATED = 0x5F4B; - public static final int CERTIFICATE_HOLDER_AUTHORIZATION = 0x5F4C;// Not yet defined in iso7816. The allocation is requested - public static final int INTEGRATED_CIRCUIT_MANUFACTURER_ID = 0x5F4D; - public static final int CERTIFICATE_CONTENT = 0x5F4E; - public static final int UNIFORM_RESOURCE_LOCATOR = 0x5F50; - public static final int ANSWER_TO_RESET = 0x5F51; - public static final int HISTORICAL_BYTES = 0x5F52; - public static final int DIGITAL_SIGNATURE = 0x5F3D; - public static final int APPLICATION_TEMPLATE = 0x61; - public static final int FCP_TEMPLATE = 0x62; - public static final int WRAPPER = 0x63; - public static final int FMD_TEMPLATE = 0x64; - public static final int CARDHOLDER_RELATIVE_DATA = 0x65; - public static final int CARD_DATA = 0x66; - public static final int AUTHENTIFICATION_DATA = 0x67; - public static final int SPECIAL_USER_REQUIREMENTS = 0x68; - public static final int LOGIN_TEMPLATE = 0x6A; - public static final int QUALIFIED_NAME = 0x6B; - public static final int CARDHOLDER_IMAGE_TEMPLATE = 0x6C; - public static final int APPLICATION_IMAGE_TEMPLATE = 0x6D; - public static final int APPLICATION_RELATED_DATA = 0x6E; - public static final int FCI_TEMPLATE = 0x6F; - public static final int DISCRETIONARY_DATA_OBJECTS = 0x73; - public static final int COMPATIBLE_TAG_ALLOCATION_AUTHORITY = 0x78; - public static final int COEXISTANT_TAG_ALLOCATION_AUTHORITY = 0x79; - public static final int SECURITY_SUPPORT_TEMPLATE = 0x7A; - public static final int SECURITY_ENVIRONMENT_TEMPLATE = 0x7B; - public static final int DYNAMIC_AUTHENTIFICATION_TEMPLATE = 0x7C; - public static final int SECURE_MESSAGING_TEMPLATE = 0x7D; - public static final int NON_INTERINDUSTRY_DATA_OBJECT_NESTING_TEMPLATE = 0x7E; - public static final int DISPLAY_CONTROL = 0x7F20; - public static final int CARDHOLDER_CERTIFICATE = 0x21; // 0x7F21; - public static final int CV_CERTIFICATE = 0x7F21; - public static final int CARDHOLER_REQUIREMENTS_INCLUDED_FEATURES = 0x7F22; - public static final int CARDHOLER_REQUIREMENTS_EXCLUDED_FEATURES = 0x7F23; - public static final int BIOMETRIC_DATA_TEMPLATE = 0x7F2E; - public static final int DIGITAL_SIGNATURE_BLOCK = 0x7F3D; - public static final int CARDHOLDER_PRIVATE_KEY_TEMPLATE = 0x7F48; - public static final int CARDHOLDER_PUBLIC_KEY_TEMPLATE = 0x49; // 0x7F49; - public static final int CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE = 0x4C; // 0x7F4C; - public static final int CERTIFICATE_CONTENT_TEMPLATE = 0x4E; // 0x7F4E; - public static final int CERTIFICATE_BODY = 0x4E; // 0x7F4E; - public static final int BIOMETRIC_INFORMATION_TEMPLATE = 0x7F60; - public static final int BIOMETRIC_INFORMATION_GROUP_TEMPLATE = 0x7F61; - - public static int getTag(int encodedTag) - { - /* - int i; - for (i = 24; i>=0; i-=8) { - if (((0xFF<> i); - } - return 0; - */ - return decodeTag(encodedTag); - } - - public static int getTagNo(int tag) - { - int i; - for (i = 24; i >= 0; i -= 8) - { - if (((0xFF << i) & tag) != 0) - { - return ((~(0xFF << i)) & tag); - } - } - return 0; - } - - public static int encodeTag(DERApplicationSpecific spec) - { - int retValue = BERTags.APPLICATION; - boolean constructed = spec.isConstructed(); - if (constructed) - { - retValue |= BERTags.CONSTRUCTED; - } - - int tag = spec.getApplicationTag(); - - if (tag > 31) - { - retValue |= 0x1F; - retValue <<= 8; - - int currentByte = tag & 0x7F; - retValue |= currentByte; - tag >>= 7; - - while (tag > 0) - { - retValue |= 0x80; - retValue <<= 8; - - currentByte = tag & 0x7F; - tag >>= 7; - } - } - else - { - retValue |= tag; - } - - return retValue; - } - - public static int decodeTag(int tag) - { - int retValue = 0; - boolean multiBytes = false; - for (int i = 24; i >= 0; i -= 8) - { - int currentByte = tag >> i & 0xFF; - if (currentByte == 0) - { - continue; - } - - if (multiBytes) - { - retValue <<= 7; - retValue |= currentByte & 0x7F; - } - else if ((currentByte & 0x1F) == 0x1F) - { - multiBytes = true; - } - else - { - return currentByte & 0x1F; // higher order bit are for DER.Constructed and type - } - } - return retValue; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/ECDSAPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/ECDSAPublicKey.java deleted file mode 100644 index 376dcfa89..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/ECDSAPublicKey.java +++ /dev/null @@ -1,341 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * an Iso7816ECDSAPublicKeyStructure structure. - *

    - *

    - *  Certificate Holder Authorization ::= SEQUENCE {
    - *      ASN1TaggedObject primeModulusP;        // OPTIONAL
    - *      ASN1TaggedObject firstCoefA;            // OPTIONAL
    - *      ASN1TaggedObject secondCoefB;        // OPTIONAL
    - *      ASN1TaggedObject basePointG;            // OPTIONAL
    - *      ASN1TaggedObject orderOfBasePointR;    // OPTIONAL
    - *      ASN1TaggedObject publicPointY;        //REQUIRED
    - *      ASN1TaggedObject    cofactorF;            // OPTIONAL
    - *  }
    - * 
    - */ -public class ECDSAPublicKey - extends PublicKeyDataObject -{ - private ASN1ObjectIdentifier usage; - private BigInteger primeModulusP; // OPTIONAL - private BigInteger firstCoefA; // OPTIONAL - private BigInteger secondCoefB; // OPTIONAL - private byte[] basePointG; // OPTIONAL - private BigInteger orderOfBasePointR; // OPTIONAL - private byte[] publicPointY; //REQUIRED - private BigInteger cofactorF; // OPTIONAL - private int options; - private static final int P = 0x01; - private static final int A = 0x02; - private static final int B = 0x04; - private static final int G = 0x08; - private static final int R = 0x10; - private static final int Y = 0x20; - private static final int F = 0x40; - - ECDSAPublicKey(ASN1Sequence seq) - throws IllegalArgumentException - { - Enumeration en = seq.getObjects(); - - this.usage = ASN1ObjectIdentifier.getInstance(en.nextElement()); - - options = 0; - while (en.hasMoreElements()) - { - Object obj = en.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject to = (ASN1TaggedObject)obj; - switch (to.getTagNo()) - { - case 0x1: - setPrimeModulusP(UnsignedInteger.getInstance(to).getValue()); - break; - case 0x2: - setFirstCoefA(UnsignedInteger.getInstance(to).getValue()); - break; - case 0x3: - setSecondCoefB(UnsignedInteger.getInstance(to).getValue()); - break; - case 0x4: - setBasePointG(ASN1OctetString.getInstance(to, false)); - break; - case 0x5: - setOrderOfBasePointR(UnsignedInteger.getInstance(to).getValue()); - break; - case 0x6: - setPublicPointY(ASN1OctetString.getInstance(to, false)); - break; - case 0x7: - setCofactorF(UnsignedInteger.getInstance(to).getValue()); - break; - default: - options = 0; - throw new IllegalArgumentException("Unknown Object Identifier!"); - } - } - else - { - throw new IllegalArgumentException("Unknown Object Identifier!"); - } - } - if (options != 0x20 && options != 0x7F) - { - throw new IllegalArgumentException("All options must be either present or absent!"); - } - } - - public ECDSAPublicKey(ASN1ObjectIdentifier usage, byte[] ppY) - throws IllegalArgumentException - { - this.usage = usage; - setPublicPointY(new DEROctetString(ppY)); - } - - public ECDSAPublicKey(ASN1ObjectIdentifier usage, BigInteger p, BigInteger a, BigInteger b, byte[] basePoint, BigInteger order, byte[] publicPoint, int cofactor) - { - this.usage = usage; - setPrimeModulusP(p); - setFirstCoefA(a); - setSecondCoefB(b); - setBasePointG(new DEROctetString(basePoint)); - setOrderOfBasePointR(order); - setPublicPointY(new DEROctetString(publicPoint)); - setCofactorF(BigInteger.valueOf(cofactor)); - } - - public ASN1ObjectIdentifier getUsage() - { - return usage; - } - - public byte[] getBasePointG() - { - if ((options & G) != 0) - { - return basePointG; - } - else - { - return null; - } - } - - private void setBasePointG(ASN1OctetString basePointG) - throws IllegalArgumentException - { - if ((options & G) == 0) - { - options |= G; - this.basePointG = basePointG.getOctets(); - } - else - { - throw new IllegalArgumentException("Base Point G already set"); - } - } - - public BigInteger getCofactorF() - { - if ((options & F) != 0) - { - return cofactorF; - } - else - { - return null; - } - } - - private void setCofactorF(BigInteger cofactorF) - throws IllegalArgumentException - { - if ((options & F) == 0) - { - options |= F; - this.cofactorF = cofactorF; - } - else - { - throw new IllegalArgumentException("Cofactor F already set"); - } - } - - public BigInteger getFirstCoefA() - { - if ((options & A) != 0) - { - return firstCoefA; - } - else - { - return null; - } - } - - private void setFirstCoefA(BigInteger firstCoefA) - throws IllegalArgumentException - { - if ((options & A) == 0) - { - options |= A; - this.firstCoefA = firstCoefA; - } - else - { - throw new IllegalArgumentException("First Coef A already set"); - } - } - - public BigInteger getOrderOfBasePointR() - { - if ((options & R) != 0) - { - return orderOfBasePointR; - } - else - { - return null; - } - } - - private void setOrderOfBasePointR(BigInteger orderOfBasePointR) - throws IllegalArgumentException - { - if ((options & R) == 0) - { - options |= R; - this.orderOfBasePointR = orderOfBasePointR; - } - else - { - throw new IllegalArgumentException("Order of base point R already set"); - } - } - - public BigInteger getPrimeModulusP() - { - if ((options & P) != 0) - { - return primeModulusP; - } - else - { - return null; - } - } - - private void setPrimeModulusP(BigInteger primeModulusP) - { - if ((options & P) == 0) - { - options |= P; - this.primeModulusP = primeModulusP; - } - else - { - throw new IllegalArgumentException("Prime Modulus P already set"); - } - } - - public byte[] getPublicPointY() - { - if ((options & Y) != 0) - { - return publicPointY; - } - else - { - return null; - } - } - - private void setPublicPointY(ASN1OctetString publicPointY) - throws IllegalArgumentException - { - if ((options & Y) == 0) - { - options |= Y; - this.publicPointY = publicPointY.getOctets(); - } - else - { - throw new IllegalArgumentException("Public Point Y already set"); - } - } - - public BigInteger getSecondCoefB() - { - if ((options & B) != 0) - { - return secondCoefB; - } - else - { - return null; - } - } - - private void setSecondCoefB(BigInteger secondCoefB) - throws IllegalArgumentException - { - if ((options & B) == 0) - { - options |= B; - this.secondCoefB = secondCoefB; - } - else - { - throw new IllegalArgumentException("Second Coef B already set"); - } - } - - public boolean hasParameters() - { - return primeModulusP != null; - } - - public ASN1EncodableVector getASN1EncodableVector(ASN1ObjectIdentifier oid, boolean publicPointOnly) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(oid); - - if (!publicPointOnly) - { - v.add(new UnsignedInteger(0x01, getPrimeModulusP())); - v.add(new UnsignedInteger(0x02, getFirstCoefA())); - v.add(new UnsignedInteger(0x03, getSecondCoefB())); - v.add(new DERTaggedObject(false, 0x04, new DEROctetString(getBasePointG()))); - v.add(new UnsignedInteger(0x05, getOrderOfBasePointR())); - } - v.add(new DERTaggedObject(false, 0x06, new DEROctetString(getPublicPointY()))); - if (!publicPointOnly) - { - v.add(new UnsignedInteger(0x07, getCofactorF())); - } - - return v; - } - - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(getASN1EncodableVector(usage, false)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/Flags.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/Flags.java deleted file mode 100644 index 13b56a935..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/Flags.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.util.Enumeration; -import java.util.Hashtable; - - -public class Flags -{ - - int value = 0; - - public Flags() - { - - } - - public Flags(int v) - { - value = v; - } - - public void set(int flag) - { - value |= flag; - } - - public boolean isSet(int flag) - { - return (value & flag) != 0; - } - - public int getFlags() - { - return value; - } - - /* Java 1.5 - String decode(Map decodeMap) - { - StringJoiner joiner = new StringJoiner(" "); - for (int i : decodeMap.keySet()) - { - if (isSet(i)) - joiner.add(decodeMap.get(i)); - } - return joiner.toString(); - } - */ - - String decode(Hashtable decodeMap) - { - StringJoiner joiner = new StringJoiner(" "); - Enumeration e = decodeMap.keys(); - while (e.hasMoreElements()) - { - Integer i = (Integer)e.nextElement(); - if (isSet(i.intValue())) - { - joiner.add((String)decodeMap.get(i)); - } - } - return joiner.toString(); - } - - private class StringJoiner - { - - String mSeparator; - boolean First = true; - StringBuffer b = new StringBuffer(); - - public StringJoiner(String separator) - { - mSeparator = separator; - } - - public void add(String str) - { - if (First) - { - First = false; - } - else - { - b.append(mSeparator); - } - - b.append(str); - } - - public String toString() - { - return b.toString(); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PackedDate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PackedDate.java deleted file mode 100644 index 0726a72e0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PackedDate.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; - -import org.spongycastle.util.Arrays; - -/** - * EAC encoding date object - */ -public class PackedDate -{ - private byte[] time; - - public PackedDate( - String time) - { - this.time = convert(time); - } - - /** - * base constructer from a java.util.date object - */ - public PackedDate( - Date time) - { - SimpleDateFormat dateF = new SimpleDateFormat("yyMMdd'Z'"); - - dateF.setTimeZone(new SimpleTimeZone(0,"Z")); - - this.time = convert(dateF.format(time)); - } - - private byte[] convert(String sTime) - { - char[] digs = sTime.toCharArray(); - byte[] date = new byte[6]; - - for (int i = 0; i != 6; i++) - { - date[i] = (byte)(digs[i] - '0'); - } - - return date; - } - - PackedDate( - byte[] bytes) - { - this.time = bytes; - } - - /** - * return the time as a date based on whatever a 2 digit year will return. For - * standardised processing use getAdjustedDate(). - * - * @return the resulting date - * @exception java.text.ParseException if the date string cannot be parsed. - */ - public Date getDate() - throws ParseException - { - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMdd"); - - return dateF.parse("20" + toString()); - } - - public int hashCode() - { - return Arrays.hashCode(time); - } - - public boolean equals(Object o) - { - if (!(o instanceof PackedDate)) - { - return false; - } - - PackedDate other = (PackedDate)o; - - return Arrays.areEqual(time, other.time); - } - - public String toString() - { - char[] dateC = new char[time.length]; - - for (int i = 0; i != dateC.length; i++) - { - dateC[i] = (char)((time[i] & 0xff) + '0'); - } - - return new String(dateC); - } - - public byte[] getEncoding() - { - return time; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java deleted file mode 100644 index 88c6c56c3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.asn1.eac; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; - -public abstract class PublicKeyDataObject - extends ASN1Object -{ - public static PublicKeyDataObject getInstance(Object obj) - { - if (obj instanceof PublicKeyDataObject) - { - return (PublicKeyDataObject)obj; - } - if (obj != null) - { - ASN1Sequence seq = ASN1Sequence.getInstance(obj); - ASN1ObjectIdentifier usage = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - - if (usage.on(EACObjectIdentifiers.id_TA_ECDSA)) - { - return new ECDSAPublicKey(seq); - } - else - { - return new RSAPublicKey(seq); - } - } - - return null; - } - - public abstract ASN1ObjectIdentifier getUsage(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java deleted file mode 100644 index 2061a188c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/RSAPublicKey.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - - -/** - * an Iso7816RSAPublicKeyStructure structure. - *

    - *

    - *  Certificate Holder Authorization ::= SEQUENCE {
    - *      // modulus should be at least 1024bit and a multiple of 512.
    - *      DERTaggedObject        modulus,
    - *      // access rights    exponent
    - *      DERTaggedObject    accessRights,
    - *  }
    - * 
    - */ -public class RSAPublicKey - extends PublicKeyDataObject -{ - private ASN1ObjectIdentifier usage; - private BigInteger modulus; - private BigInteger exponent; - private int valid = 0; - private static int modulusValid = 0x01; - private static int exponentValid = 0x02; - - RSAPublicKey(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - - this.usage = ASN1ObjectIdentifier.getInstance(en.nextElement()); - - while (en.hasMoreElements()) - { - UnsignedInteger val = UnsignedInteger.getInstance(en.nextElement()); - - switch (val.getTagNo()) - { - case 0x1: - setModulus(val); - break; - case 0x2: - setExponent(val); - break; - default: - throw new IllegalArgumentException("Unknown DERTaggedObject :" + val.getTagNo() + "-> not an Iso7816RSAPublicKeyStructure"); - } - } - if (valid != 0x3) - { - throw new IllegalArgumentException("missing argument -> not an Iso7816RSAPublicKeyStructure"); - } - } - - public RSAPublicKey(ASN1ObjectIdentifier usage, BigInteger modulus, BigInteger exponent) - { - this.usage = usage; - this.modulus = modulus; - this.exponent = exponent; - } - - public ASN1ObjectIdentifier getUsage() - { - return usage; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return exponent; - } - - private void setModulus(UnsignedInteger modulus) - { - if ((valid & modulusValid) == 0) - { - valid |= modulusValid; - this.modulus = modulus.getValue(); - } - else - { - throw new IllegalArgumentException("Modulus already set"); - } - } - - private void setExponent(UnsignedInteger exponent) - { - if ((valid & exponentValid) == 0) - { - valid |= exponentValid; - this.exponent = exponent.getValue(); - } - else - { - throw new IllegalArgumentException("Exponent already set"); - } - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(usage); - v.add(new UnsignedInteger(0x01, getModulus())); - v.add(new UnsignedInteger(0x02, getPublicExponent())); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/UnsignedInteger.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/UnsignedInteger.java deleted file mode 100644 index 96fc739a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/eac/UnsignedInteger.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.asn1.eac; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERTaggedObject; - -public class UnsignedInteger - extends ASN1Object -{ - private int tagNo; - private BigInteger value; - - public UnsignedInteger(int tagNo, BigInteger value) - { - this.tagNo = tagNo; - this.value = value; - } - - private UnsignedInteger(ASN1TaggedObject obj) - { - this.tagNo = obj.getTagNo(); - this.value = new BigInteger(1, ASN1OctetString.getInstance(obj, false).getOctets()); - } - - public static UnsignedInteger getInstance(Object obj) - { - if (obj instanceof UnsignedInteger) - { - return (UnsignedInteger)obj; - } - if (obj != null) - { - return new UnsignedInteger(ASN1TaggedObject.getInstance(obj)); - } - - return null; - } - - private byte[] convertValue() - { - byte[] v = value.toByteArray(); - - if (v[0] == 0) - { - byte[] tmp = new byte[v.length - 1]; - - System.arraycopy(v, 1, tmp, 0, tmp.length); - - return tmp; - } - - return v; - } - - public int getTagNo() - { - return tagNo; - } - - public BigInteger getValue() - { - return value; - } - - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(false, tagNo, new DEROctetString(convertValue())); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIdentifier.java deleted file mode 100644 index 7941bcd0c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIdentifier.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public interface CommitmentTypeIdentifier -{ - public static final ASN1ObjectIdentifier proofOfOrigin = PKCSObjectIdentifiers.id_cti_ets_proofOfOrigin; - public static final ASN1ObjectIdentifier proofOfReceipt = PKCSObjectIdentifiers.id_cti_ets_proofOfReceipt; - public static final ASN1ObjectIdentifier proofOfDelivery = PKCSObjectIdentifiers.id_cti_ets_proofOfDelivery; - public static final ASN1ObjectIdentifier proofOfSender = PKCSObjectIdentifiers.id_cti_ets_proofOfSender; - public static final ASN1ObjectIdentifier proofOfApproval = PKCSObjectIdentifiers.id_cti_ets_proofOfApproval; - public static final ASN1ObjectIdentifier proofOfCreation = PKCSObjectIdentifiers.id_cti_ets_proofOfCreation; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIndication.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIndication.java deleted file mode 100644 index 1caec133e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeIndication.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class CommitmentTypeIndication - extends ASN1Object -{ - private ASN1ObjectIdentifier commitmentTypeId; - private ASN1Sequence commitmentTypeQualifier; - - private CommitmentTypeIndication( - ASN1Sequence seq) - { - commitmentTypeId = (ASN1ObjectIdentifier)seq.getObjectAt(0); - - if (seq.size() > 1) - { - commitmentTypeQualifier = (ASN1Sequence)seq.getObjectAt(1); - } - } - - public CommitmentTypeIndication( - ASN1ObjectIdentifier commitmentTypeId) - { - this.commitmentTypeId = commitmentTypeId; - } - - public CommitmentTypeIndication( - ASN1ObjectIdentifier commitmentTypeId, - ASN1Sequence commitmentTypeQualifier) - { - this.commitmentTypeId = commitmentTypeId; - this.commitmentTypeQualifier = commitmentTypeQualifier; - } - - public static CommitmentTypeIndication getInstance( - Object obj) - { - if (obj == null || obj instanceof CommitmentTypeIndication) - { - return (CommitmentTypeIndication)obj; - } - - return new CommitmentTypeIndication(ASN1Sequence.getInstance(obj)); - } - - public ASN1ObjectIdentifier getCommitmentTypeId() - { - return commitmentTypeId; - } - - public ASN1Sequence getCommitmentTypeQualifier() - { - return commitmentTypeQualifier; - } - - /** - *
    -     * CommitmentTypeIndication ::= SEQUENCE {
    -     *      commitmentTypeId   CommitmentTypeIdentifier,
    -     *      commitmentTypeQualifier   SEQUENCE SIZE (1..MAX) OF
    -     *              CommitmentTypeQualifier OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(commitmentTypeId); - - if (commitmentTypeQualifier != null) - { - v.add(commitmentTypeQualifier); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeQualifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeQualifier.java deleted file mode 100644 index d4b909c25..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CommitmentTypeQualifier.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * Commitment type qualifiers, used in the Commitment-Type-Indication attribute (RFC3126). - * - *
    - *   CommitmentTypeQualifier ::= SEQUENCE {
    - *       commitmentTypeIdentifier  CommitmentTypeIdentifier,
    - *       qualifier          ANY DEFINED BY commitmentTypeIdentifier OPTIONAL }
    - * 
    - */ -public class CommitmentTypeQualifier - extends ASN1Object -{ - private ASN1ObjectIdentifier commitmentTypeIdentifier; - private ASN1Encodable qualifier; - - /** - * Creates a new CommitmentTypeQualifier instance. - * - * @param commitmentTypeIdentifier a CommitmentTypeIdentifier value - */ - public CommitmentTypeQualifier( - ASN1ObjectIdentifier commitmentTypeIdentifier) - { - this(commitmentTypeIdentifier, null); - } - - /** - * Creates a new CommitmentTypeQualifier instance. - * - * @param commitmentTypeIdentifier a CommitmentTypeIdentifier value - * @param qualifier the qualifier, defined by the above field. - */ - public CommitmentTypeQualifier( - ASN1ObjectIdentifier commitmentTypeIdentifier, - ASN1Encodable qualifier) - { - this.commitmentTypeIdentifier = commitmentTypeIdentifier; - this.qualifier = qualifier; - } - - /** - * Creates a new CommitmentTypeQualifier instance. - * - * @param as CommitmentTypeQualifier structure - * encoded as an ASN1Sequence. - */ - private CommitmentTypeQualifier( - ASN1Sequence as) - { - commitmentTypeIdentifier = (ASN1ObjectIdentifier)as.getObjectAt(0); - - if (as.size() > 1) - { - qualifier = as.getObjectAt(1); - } - } - - public static CommitmentTypeQualifier getInstance(Object as) - { - if (as instanceof CommitmentTypeQualifier) - { - return (CommitmentTypeQualifier)as; - } - else if (as != null) - { - return new CommitmentTypeQualifier(ASN1Sequence.getInstance(as)); - } - - return null; - } - - public ASN1ObjectIdentifier getCommitmentTypeIdentifier() - { - return commitmentTypeIdentifier; - } - - public ASN1Encodable getQualifier() - { - return qualifier; - } - - /** - * Returns a DER-encodable representation of this instance. - * - * @return a ASN1Primitive value - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector dev = new ASN1EncodableVector(); - dev.add(commitmentTypeIdentifier); - if (qualifier != null) - { - dev.add(qualifier); - } - - return new DERSequence(dev); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CompleteRevocationRefs.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CompleteRevocationRefs.java deleted file mode 100644 index 1fb4771ba..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CompleteRevocationRefs.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef
    - * 
    - */ -public class CompleteRevocationRefs - extends ASN1Object -{ - - private ASN1Sequence crlOcspRefs; - - public static CompleteRevocationRefs getInstance(Object obj) - { - if (obj instanceof CompleteRevocationRefs) - { - return (CompleteRevocationRefs)obj; - } - else if (obj != null) - { - return new CompleteRevocationRefs(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CompleteRevocationRefs(ASN1Sequence seq) - { - Enumeration seqEnum = seq.getObjects(); - while (seqEnum.hasMoreElements()) - { - CrlOcspRef.getInstance(seqEnum.nextElement()); - } - this.crlOcspRefs = seq; - } - - public CompleteRevocationRefs(CrlOcspRef[] crlOcspRefs) - { - this.crlOcspRefs = new DERSequence(crlOcspRefs); - } - - public CrlOcspRef[] getCrlOcspRefs() - { - CrlOcspRef[] result = new CrlOcspRef[this.crlOcspRefs.size()]; - for (int idx = 0; idx < result.length; idx++) - { - result[idx] = CrlOcspRef.getInstance(this.crlOcspRefs - .getObjectAt(idx)); - } - return result; - } - - public ASN1Primitive toASN1Primitive() - { - return this.crlOcspRefs; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlIdentifier.java deleted file mode 100644 index 10968b97f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlIdentifier.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1UTCTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; - -/** - *
    - *  CrlIdentifier ::= SEQUENCE 
    - * {
    - *   crlissuer    Name,
    - *   crlIssuedTime  UTCTime,
    - *   crlNumber    INTEGER OPTIONAL
    - * }
    - * 
    - */ -public class CrlIdentifier - extends ASN1Object -{ - private X500Name crlIssuer; - private ASN1UTCTime crlIssuedTime; - private ASN1Integer crlNumber; - - public static CrlIdentifier getInstance(Object obj) - { - if (obj instanceof CrlIdentifier) - { - return (CrlIdentifier)obj; - } - else if (obj != null) - { - return new CrlIdentifier(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CrlIdentifier(ASN1Sequence seq) - { - if (seq.size() < 2 || seq.size() > 3) - { - throw new IllegalArgumentException(); - } - this.crlIssuer = X500Name.getInstance(seq.getObjectAt(0)); - this.crlIssuedTime = ASN1UTCTime.getInstance(seq.getObjectAt(1)); - if (seq.size() > 2) - { - this.crlNumber = ASN1Integer.getInstance(seq.getObjectAt(2)); - } - } - - public CrlIdentifier(X500Name crlIssuer, ASN1UTCTime crlIssuedTime) - { - this(crlIssuer, crlIssuedTime, null); - } - - public CrlIdentifier(X500Name crlIssuer, ASN1UTCTime crlIssuedTime, - BigInteger crlNumber) - { - this.crlIssuer = crlIssuer; - this.crlIssuedTime = crlIssuedTime; - if (null != crlNumber) - { - this.crlNumber = new ASN1Integer(crlNumber); - } - } - - public X500Name getCrlIssuer() - { - return this.crlIssuer; - } - - public ASN1UTCTime getCrlIssuedTime() - { - return this.crlIssuedTime; - } - - public BigInteger getCrlNumber() - { - if (null == this.crlNumber) - { - return null; - } - return this.crlNumber.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.crlIssuer.toASN1Primitive()); - v.add(this.crlIssuedTime); - if (null != this.crlNumber) - { - v.add(this.crlNumber); - } - return new DERSequence(v); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlListID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlListID.java deleted file mode 100644 index f474d8339..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlListID.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * CRLListID ::= SEQUENCE {
    - *     crls SEQUENCE OF CrlValidatedID }
    - * 
    - */ -public class CrlListID - extends ASN1Object -{ - - private ASN1Sequence crls; - - public static CrlListID getInstance(Object obj) - { - if (obj instanceof CrlListID) - { - return (CrlListID)obj; - } - else if (obj != null) - { - return new CrlListID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CrlListID(ASN1Sequence seq) - { - this.crls = (ASN1Sequence)seq.getObjectAt(0); - Enumeration e = this.crls.getObjects(); - while (e.hasMoreElements()) - { - CrlValidatedID.getInstance(e.nextElement()); - } - } - - public CrlListID(CrlValidatedID[] crls) - { - this.crls = new DERSequence(crls); - } - - public CrlValidatedID[] getCrls() - { - CrlValidatedID[] result = new CrlValidatedID[this.crls.size()]; - for (int idx = 0; idx < result.length; idx++) - { - result[idx] = CrlValidatedID - .getInstance(this.crls.getObjectAt(idx)); - } - return result; - } - - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(this.crls); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlOcspRef.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlOcspRef.java deleted file mode 100644 index 6d57769fb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlOcspRef.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - *
    - * CrlOcspRef ::= SEQUENCE {
    - *     crlids [0] CRLListID OPTIONAL,
    - *     ocspids [1] OcspListID OPTIONAL,
    - *     otherRev [2] OtherRevRefs OPTIONAL
    - * }
    - * 
    - */ -public class CrlOcspRef - extends ASN1Object -{ - - private CrlListID crlids; - private OcspListID ocspids; - private OtherRevRefs otherRev; - - public static CrlOcspRef getInstance(Object obj) - { - if (obj instanceof CrlOcspRef) - { - return (CrlOcspRef)obj; - } - else if (obj != null) - { - return new CrlOcspRef(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CrlOcspRef(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - while (e.hasMoreElements()) - { - DERTaggedObject o = (DERTaggedObject)e.nextElement(); - switch (o.getTagNo()) - { - case 0: - this.crlids = CrlListID.getInstance(o.getObject()); - break; - case 1: - this.ocspids = OcspListID.getInstance(o.getObject()); - break; - case 2: - this.otherRev = OtherRevRefs.getInstance(o.getObject()); - break; - default: - throw new IllegalArgumentException("illegal tag"); - } - } - } - - public CrlOcspRef(CrlListID crlids, OcspListID ocspids, - OtherRevRefs otherRev) - { - this.crlids = crlids; - this.ocspids = ocspids; - this.otherRev = otherRev; - } - - public CrlListID getCrlids() - { - return this.crlids; - } - - public OcspListID getOcspids() - { - return this.ocspids; - } - - public OtherRevRefs getOtherRev() - { - return this.otherRev; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - if (null != this.crlids) - { - v.add(new DERTaggedObject(true, 0, this.crlids.toASN1Primitive())); - } - if (null != this.ocspids) - { - v.add(new DERTaggedObject(true, 1, this.ocspids.toASN1Primitive())); - } - if (null != this.otherRev) - { - v.add(new DERTaggedObject(true, 2, this.otherRev.toASN1Primitive())); - } - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlValidatedID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlValidatedID.java deleted file mode 100644 index 32f12284f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/CrlValidatedID.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * CrlValidatedID ::= SEQUENCE {
    - *   crlHash OtherHash,
    - *   crlIdentifier CrlIdentifier OPTIONAL }
    - * 
    - */ -public class CrlValidatedID - extends ASN1Object -{ - - private OtherHash crlHash; - private CrlIdentifier crlIdentifier; - - public static CrlValidatedID getInstance(Object obj) - { - if (obj instanceof CrlValidatedID) - { - return (CrlValidatedID)obj; - } - else if (obj != null) - { - return new CrlValidatedID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CrlValidatedID(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.crlHash = OtherHash.getInstance(seq.getObjectAt(0)); - if (seq.size() > 1) - { - this.crlIdentifier = CrlIdentifier.getInstance(seq.getObjectAt(1)); - } - } - - public CrlValidatedID(OtherHash crlHash) - { - this(crlHash, null); - } - - public CrlValidatedID(OtherHash crlHash, CrlIdentifier crlIdentifier) - { - this.crlHash = crlHash; - this.crlIdentifier = crlIdentifier; - } - - public OtherHash getCrlHash() - { - return this.crlHash; - } - - public CrlIdentifier getCrlIdentifier() - { - return this.crlIdentifier; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.crlHash.toASN1Primitive()); - if (null != this.crlIdentifier) - { - v.add(this.crlIdentifier.toASN1Primitive()); - } - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/ESFAttributes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/ESFAttributes.java deleted file mode 100644 index 2d7d2e87a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/ESFAttributes.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public interface ESFAttributes -{ - public static final ASN1ObjectIdentifier sigPolicyId = PKCSObjectIdentifiers.id_aa_ets_sigPolicyId; - public static final ASN1ObjectIdentifier commitmentType = PKCSObjectIdentifiers.id_aa_ets_commitmentType; - public static final ASN1ObjectIdentifier signerLocation = PKCSObjectIdentifiers.id_aa_ets_signerLocation; - public static final ASN1ObjectIdentifier signerAttr = PKCSObjectIdentifiers.id_aa_ets_signerAttr; - public static final ASN1ObjectIdentifier otherSigCert = PKCSObjectIdentifiers.id_aa_ets_otherSigCert; - public static final ASN1ObjectIdentifier contentTimestamp = PKCSObjectIdentifiers.id_aa_ets_contentTimestamp; - public static final ASN1ObjectIdentifier certificateRefs = PKCSObjectIdentifiers.id_aa_ets_certificateRefs; - public static final ASN1ObjectIdentifier revocationRefs = PKCSObjectIdentifiers.id_aa_ets_revocationRefs; - public static final ASN1ObjectIdentifier certValues = PKCSObjectIdentifiers.id_aa_ets_certValues; - public static final ASN1ObjectIdentifier revocationValues = PKCSObjectIdentifiers.id_aa_ets_revocationValues; - public static final ASN1ObjectIdentifier escTimeStamp = PKCSObjectIdentifiers.id_aa_ets_escTimeStamp; - public static final ASN1ObjectIdentifier certCRLTimestamp = PKCSObjectIdentifiers.id_aa_ets_certCRLTimestamp; - public static final ASN1ObjectIdentifier archiveTimestamp = PKCSObjectIdentifiers.id_aa_ets_archiveTimestamp; - public static final ASN1ObjectIdentifier archiveTimestampV2 = PKCSObjectIdentifiers.id_aa.branch("48"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java deleted file mode 100644 index 809892494..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.ocsp.ResponderID; - -/** - *
    - * OcspIdentifier ::= SEQUENCE {
    - *     ocspResponderID ResponderID, -- As in OCSP response data
    - *     producedAt GeneralizedTime -- As in OCSP response data
    - * }
    - * 
    - */ -public class OcspIdentifier - extends ASN1Object -{ - private ResponderID ocspResponderID; - private ASN1GeneralizedTime producedAt; - - public static OcspIdentifier getInstance(Object obj) - { - if (obj instanceof OcspIdentifier) - { - return (OcspIdentifier)obj; - } - else if (obj != null) - { - return new OcspIdentifier(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OcspIdentifier(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.ocspResponderID = ResponderID.getInstance(seq.getObjectAt(0)); - this.producedAt = (ASN1GeneralizedTime)seq.getObjectAt(1); - } - - public OcspIdentifier(ResponderID ocspResponderID, ASN1GeneralizedTime producedAt) - { - this.ocspResponderID = ocspResponderID; - this.producedAt = producedAt; - } - - public ResponderID getOcspResponderID() - { - return this.ocspResponderID; - } - - public ASN1GeneralizedTime getProducedAt() - { - return this.producedAt; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.ocspResponderID); - v.add(this.producedAt); - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspListID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspListID.java deleted file mode 100644 index d0e2a5bad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspListID.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * OcspListID ::=  SEQUENCE {
    - *    ocspResponses  SEQUENCE OF OcspResponsesID
    - * }
    - * 
    - */ -public class OcspListID - extends ASN1Object -{ - private ASN1Sequence ocspResponses; - - public static OcspListID getInstance(Object obj) - { - if (obj instanceof OcspListID) - { - return (OcspListID)obj; - } - else if (obj != null) - { - return new OcspListID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OcspListID(ASN1Sequence seq) - { - if (seq.size() != 1) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.ocspResponses = (ASN1Sequence)seq.getObjectAt(0); - Enumeration e = this.ocspResponses.getObjects(); - while (e.hasMoreElements()) - { - OcspResponsesID.getInstance(e.nextElement()); - } - } - - public OcspListID(OcspResponsesID[] ocspResponses) - { - this.ocspResponses = new DERSequence(ocspResponses); - } - - public OcspResponsesID[] getOcspResponses() - { - OcspResponsesID[] result = new OcspResponsesID[this.ocspResponses - .size()]; - for (int idx = 0; idx < result.length; idx++) - { - result[idx] = OcspResponsesID.getInstance(this.ocspResponses - .getObjectAt(idx)); - } - return result; - } - - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(this.ocspResponses); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspResponsesID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspResponsesID.java deleted file mode 100644 index 4dc0be1e0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OcspResponsesID.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * OcspResponsesID ::= SEQUENCE {
    - *    ocspIdentifier OcspIdentifier,
    - *    ocspRepHash OtherHash OPTIONAL
    - * }
    - * 
    - */ -public class OcspResponsesID - extends ASN1Object -{ - - private OcspIdentifier ocspIdentifier; - private OtherHash ocspRepHash; - - public static OcspResponsesID getInstance(Object obj) - { - if (obj instanceof OcspResponsesID) - { - return (OcspResponsesID)obj; - } - else if (obj != null) - { - return new OcspResponsesID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OcspResponsesID(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.ocspIdentifier = OcspIdentifier.getInstance(seq.getObjectAt(0)); - if (seq.size() > 1) - { - this.ocspRepHash = OtherHash.getInstance(seq.getObjectAt(1)); - } - } - - public OcspResponsesID(OcspIdentifier ocspIdentifier) - { - this(ocspIdentifier, null); - } - - public OcspResponsesID(OcspIdentifier ocspIdentifier, OtherHash ocspRepHash) - { - this.ocspIdentifier = ocspIdentifier; - this.ocspRepHash = ocspRepHash; - } - - public OcspIdentifier getOcspIdentifier() - { - return this.ocspIdentifier; - } - - public OtherHash getOcspRepHash() - { - return this.ocspRepHash; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.ocspIdentifier); - if (null != this.ocspRepHash) - { - v.add(this.ocspRepHash); - } - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHash.java deleted file mode 100644 index 2b8a355e6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHash.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - *
    - * OtherHash ::= CHOICE {
    - *    sha1Hash  OtherHashValue, -- This contains a SHA-1 hash
    - *   otherHash  OtherHashAlgAndValue
    - *  }
    - * 
    - */ -public class OtherHash - extends ASN1Object - implements ASN1Choice -{ - - private ASN1OctetString sha1Hash; - private OtherHashAlgAndValue otherHash; - - public static OtherHash getInstance(Object obj) - { - if (obj instanceof OtherHash) - { - return (OtherHash)obj; - } - if (obj instanceof ASN1OctetString) - { - return new OtherHash((ASN1OctetString)obj); - } - return new OtherHash(OtherHashAlgAndValue.getInstance(obj)); - } - - private OtherHash(ASN1OctetString sha1Hash) - { - this.sha1Hash = sha1Hash; - } - - public OtherHash(OtherHashAlgAndValue otherHash) - { - this.otherHash = otherHash; - } - - public OtherHash(byte[] sha1Hash) - { - this.sha1Hash = new DEROctetString(sha1Hash); - } - - public AlgorithmIdentifier getHashAlgorithm() - { - if (null == this.otherHash) - { - return new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1); - } - return this.otherHash.getHashAlgorithm(); - } - - public byte[] getHashValue() - { - if (null == this.otherHash) - { - return this.sha1Hash.getOctets(); - } - return this.otherHash.getHashValue().getOctets(); - } - - public ASN1Primitive toASN1Primitive() - { - if (null == this.otherHash) - { - return this.sha1Hash; - } - return this.otherHash.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHashAlgAndValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHashAlgAndValue.java deleted file mode 100644 index 6c445bf48..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherHashAlgAndValue.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class OtherHashAlgAndValue - extends ASN1Object -{ - private AlgorithmIdentifier hashAlgorithm; - private ASN1OctetString hashValue; - - - public static OtherHashAlgAndValue getInstance( - Object obj) - { - if (obj instanceof OtherHashAlgAndValue) - { - return (OtherHashAlgAndValue) obj; - } - else if (obj != null) - { - return new OtherHashAlgAndValue(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OtherHashAlgAndValue( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - hashValue = ASN1OctetString.getInstance(seq.getObjectAt(1)); - } - - public OtherHashAlgAndValue( - AlgorithmIdentifier hashAlgorithm, - ASN1OctetString hashValue) - { - this.hashAlgorithm = hashAlgorithm; - this.hashValue = hashValue; - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public ASN1OctetString getHashValue() - { - return hashValue; - } - - /** - *
    -     * OtherHashAlgAndValue ::= SEQUENCE {
    -     *     hashAlgorithm AlgorithmIdentifier,
    -     *     hashValue OtherHashValue }
    -     *
    -     * OtherHashValue ::= OCTET STRING
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(hashAlgorithm); - v.add(hashValue); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevRefs.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevRefs.java deleted file mode 100644 index 82d449d08..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevRefs.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * OtherRevRefs ::= SEQUENCE {
    - *   otherRevRefType OtherRevRefType,
    - *   otherRevRefs ANY DEFINED BY otherRevRefType
    - * }
    - *
    - * OtherRevRefType ::= OBJECT IDENTIFIER
    - * 
    - */ -public class OtherRevRefs - extends ASN1Object -{ - - private ASN1ObjectIdentifier otherRevRefType; - private ASN1Encodable otherRevRefs; - - public static OtherRevRefs getInstance(Object obj) - { - if (obj instanceof OtherRevRefs) - { - return (OtherRevRefs)obj; - } - else if (obj != null) - { - return new OtherRevRefs(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OtherRevRefs(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.otherRevRefType = new ASN1ObjectIdentifier(((ASN1ObjectIdentifier)seq.getObjectAt(0)).getId()); - try - { - this.otherRevRefs = ASN1Primitive.fromByteArray(seq.getObjectAt(1) - .toASN1Primitive().getEncoded(ASN1Encoding.DER)); - } - catch (IOException e) - { - throw new IllegalStateException(); - } - } - - public OtherRevRefs(ASN1ObjectIdentifier otherRevRefType, ASN1Encodable otherRevRefs) - { - this.otherRevRefType = otherRevRefType; - this.otherRevRefs = otherRevRefs; - } - - public ASN1ObjectIdentifier getOtherRevRefType() - { - return this.otherRevRefType; - } - - public ASN1Encodable getOtherRevRefs() - { - return this.otherRevRefs; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.otherRevRefType); - v.add(this.otherRevRefs); - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevVals.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevVals.java deleted file mode 100644 index bd26799e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/OtherRevVals.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - *
    - * OtherRevVals ::= SEQUENCE {
    - *    otherRevValType OtherRevValType,
    - *    otherRevVals ANY DEFINED BY OtherRevValType
    - * }
    - *
    - * OtherRevValType ::= OBJECT IDENTIFIER
    - * 
    - */ -public class OtherRevVals - extends ASN1Object -{ - - private ASN1ObjectIdentifier otherRevValType; - - private ASN1Encodable otherRevVals; - - public static OtherRevVals getInstance(Object obj) - { - if (obj instanceof OtherRevVals) - { - return (OtherRevVals)obj; - } - if (obj != null) - { - return new OtherRevVals(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private OtherRevVals(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.otherRevValType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - try - { - this.otherRevVals = ASN1Primitive.fromByteArray(seq.getObjectAt(1) - .toASN1Primitive().getEncoded(ASN1Encoding.DER)); - } - catch (IOException e) - { - throw new IllegalStateException(); - } - } - - public OtherRevVals(ASN1ObjectIdentifier otherRevValType, - ASN1Encodable otherRevVals) - { - this.otherRevValType = otherRevValType; - this.otherRevVals = otherRevVals; - } - - public ASN1ObjectIdentifier getOtherRevValType() - { - return this.otherRevValType; - } - - public ASN1Encodable getOtherRevVals() - { - return this.otherRevVals; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.otherRevValType); - v.add(this.otherRevVals); - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/RevocationValues.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/RevocationValues.java deleted file mode 100644 index 87e0217df..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/RevocationValues.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.ocsp.BasicOCSPResponse; -import org.spongycastle.asn1.x509.CertificateList; - -/** - *
    - * RevocationValues ::= SEQUENCE {
    - *    crlVals [0] SEQUENCE OF CertificateList OPTIONAL,
    - *    ocspVals [1] SEQUENCE OF BasicOCSPResponse OPTIONAL,
    - *    otherRevVals [2] OtherRevVals OPTIONAL}
    - * 
    - */ -public class RevocationValues - extends ASN1Object -{ - - private ASN1Sequence crlVals; - private ASN1Sequence ocspVals; - private OtherRevVals otherRevVals; - - public static RevocationValues getInstance(Object obj) - { - if (obj instanceof RevocationValues) - { - return (RevocationValues)obj; - } - else if (obj != null) - { - return new RevocationValues(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private RevocationValues(ASN1Sequence seq) - { - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - Enumeration e = seq.getObjects(); - while (e.hasMoreElements()) - { - DERTaggedObject o = (DERTaggedObject)e.nextElement(); - switch (o.getTagNo()) - { - case 0: - ASN1Sequence crlValsSeq = (ASN1Sequence)o.getObject(); - Enumeration crlValsEnum = crlValsSeq.getObjects(); - while (crlValsEnum.hasMoreElements()) - { - CertificateList.getInstance(crlValsEnum.nextElement()); - } - this.crlVals = crlValsSeq; - break; - case 1: - ASN1Sequence ocspValsSeq = (ASN1Sequence)o.getObject(); - Enumeration ocspValsEnum = ocspValsSeq.getObjects(); - while (ocspValsEnum.hasMoreElements()) - { - BasicOCSPResponse.getInstance(ocspValsEnum.nextElement()); - } - this.ocspVals = ocspValsSeq; - break; - case 2: - this.otherRevVals = OtherRevVals.getInstance(o.getObject()); - break; - default: - throw new IllegalArgumentException("invalid tag: " - + o.getTagNo()); - } - } - } - - public RevocationValues(CertificateList[] crlVals, - BasicOCSPResponse[] ocspVals, OtherRevVals otherRevVals) - { - if (null != crlVals) - { - this.crlVals = new DERSequence(crlVals); - } - if (null != ocspVals) - { - this.ocspVals = new DERSequence(ocspVals); - } - this.otherRevVals = otherRevVals; - } - - public CertificateList[] getCrlVals() - { - if (null == this.crlVals) - { - return new CertificateList[0]; - } - CertificateList[] result = new CertificateList[this.crlVals.size()]; - for (int idx = 0; idx < result.length; idx++) - { - result[idx] = CertificateList.getInstance(this.crlVals - .getObjectAt(idx)); - } - return result; - } - - public BasicOCSPResponse[] getOcspVals() - { - if (null == this.ocspVals) - { - return new BasicOCSPResponse[0]; - } - BasicOCSPResponse[] result = new BasicOCSPResponse[this.ocspVals.size()]; - for (int idx = 0; idx < result.length; idx++) - { - result[idx] = BasicOCSPResponse.getInstance(this.ocspVals - .getObjectAt(idx)); - } - return result; - } - - public OtherRevVals getOtherRevVals() - { - return this.otherRevVals; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - if (null != this.crlVals) - { - v.add(new DERTaggedObject(true, 0, this.crlVals)); - } - if (null != this.ocspVals) - { - v.add(new DERTaggedObject(true, 1, this.ocspVals)); - } - if (null != this.otherRevVals) - { - v.add(new DERTaggedObject(true, 2, this.otherRevVals.toASN1Primitive())); - } - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPUserNotice.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPUserNotice.java deleted file mode 100644 index 759227fde..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPUserNotice.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.DisplayText; -import org.spongycastle.asn1.x509.NoticeReference; - -public class SPUserNotice - extends ASN1Object -{ - private NoticeReference noticeRef; - private DisplayText explicitText; - - public static SPUserNotice getInstance( - Object obj) - { - if (obj instanceof SPUserNotice) - { - return (SPUserNotice)obj; - } - else if (obj != null) - { - return new SPUserNotice(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SPUserNotice( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - while (e.hasMoreElements()) - { - ASN1Encodable object = (ASN1Encodable)e.nextElement(); - if (object instanceof DisplayText || object instanceof ASN1String) - { - explicitText = DisplayText.getInstance(object); - } - else if (object instanceof NoticeReference || object instanceof ASN1Sequence) - { - noticeRef = NoticeReference.getInstance(object); - } - else - { - throw new IllegalArgumentException("Invalid element in 'SPUserNotice': " + object.getClass().getName()); - } - } - } - - public SPUserNotice( - NoticeReference noticeRef, - DisplayText explicitText) - { - this.noticeRef = noticeRef; - this.explicitText = explicitText; - } - - public NoticeReference getNoticeRef() - { - return noticeRef; - } - - public DisplayText getExplicitText() - { - return explicitText; - } - - /** - *
    -     * SPUserNotice ::= SEQUENCE {
    -     *     noticeRef NoticeReference OPTIONAL,
    -     *     explicitText DisplayText OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (noticeRef != null) - { - v.add(noticeRef); - } - - if (explicitText != null) - { - v.add(explicitText); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPuri.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPuri.java deleted file mode 100644 index 1de952275..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SPuri.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERIA5String; - -public class SPuri -{ - private DERIA5String uri; - - public static SPuri getInstance( - Object obj) - { - if (obj instanceof SPuri) - { - return (SPuri) obj; - } - else if (obj instanceof DERIA5String) - { - return new SPuri(DERIA5String.getInstance(obj)); - } - - return null; - } - - public SPuri( - DERIA5String uri) - { - this.uri = uri; - } - - public DERIA5String getUri() - { - return uri; - } - - /** - *
    -     * SPuri ::= IA5String
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return uri.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifierInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifierInfo.java deleted file mode 100644 index 3e88ab4ac..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifierInfo.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class SigPolicyQualifierInfo - extends ASN1Object -{ - private ASN1ObjectIdentifier sigPolicyQualifierId; - private ASN1Encodable sigQualifier; - - public SigPolicyQualifierInfo( - ASN1ObjectIdentifier sigPolicyQualifierId, - ASN1Encodable sigQualifier) - { - this.sigPolicyQualifierId = sigPolicyQualifierId; - this.sigQualifier = sigQualifier; - } - - private SigPolicyQualifierInfo( - ASN1Sequence seq) - { - sigPolicyQualifierId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - sigQualifier = seq.getObjectAt(1); - } - - public static SigPolicyQualifierInfo getInstance( - Object obj) - { - if (obj instanceof SigPolicyQualifierInfo) - { - return (SigPolicyQualifierInfo) obj; - } - else if (obj != null) - { - return new SigPolicyQualifierInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getSigPolicyQualifierId() - { - return new ASN1ObjectIdentifier(sigPolicyQualifierId.getId()); - } - - public ASN1Encodable getSigQualifier() - { - return sigQualifier; - } - - /** - *
    -     * SigPolicyQualifierInfo ::= SEQUENCE {
    -     *    sigPolicyQualifierId SigPolicyQualifierId,
    -     *    sigQualifier ANY DEFINED BY sigPolicyQualifierId }
    -     *
    -     * SigPolicyQualifierId ::= OBJECT IDENTIFIER
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(sigPolicyQualifierId); - v.add(sigQualifier); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifiers.java deleted file mode 100644 index dd53b0aa1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SigPolicyQualifiers.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class SigPolicyQualifiers - extends ASN1Object -{ - ASN1Sequence qualifiers; - - public static SigPolicyQualifiers getInstance( - Object obj) - { - if (obj instanceof SigPolicyQualifiers) - { - return (SigPolicyQualifiers) obj; - } - else if (obj instanceof ASN1Sequence) - { - return new SigPolicyQualifiers(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SigPolicyQualifiers( - ASN1Sequence seq) - { - qualifiers = seq; - } - - public SigPolicyQualifiers( - SigPolicyQualifierInfo[] qualifierInfos) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i=0; i < qualifierInfos.length; i++) - { - v.add(qualifierInfos[i]); - } - qualifiers = new DERSequence(v); - } - - /** - * Return the number of qualifier info elements present. - * - * @return number of elements present. - */ - public int size() - { - return qualifiers.size(); - } - - /** - * Return the SigPolicyQualifierInfo at index i. - * - * @param i index of the info of interest - * @return the info at index i. - */ - public SigPolicyQualifierInfo getInfoAt( - int i) - { - return SigPolicyQualifierInfo.getInstance(qualifiers.getObjectAt(i)); - } - - /** - *
    -     * SigPolicyQualifiers ::= SEQUENCE SIZE (1..MAX) OF SigPolicyQualifierInfo
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return qualifiers; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyId.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyId.java deleted file mode 100644 index 9df4f3ed1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyId.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class SignaturePolicyId - extends ASN1Object -{ - private ASN1ObjectIdentifier sigPolicyId; - private OtherHashAlgAndValue sigPolicyHash; - private SigPolicyQualifiers sigPolicyQualifiers; - - - public static SignaturePolicyId getInstance( - Object obj) - { - if (obj instanceof SignaturePolicyId) - { - return (SignaturePolicyId)obj; - } - else if (obj != null) - { - return new SignaturePolicyId(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SignaturePolicyId( - ASN1Sequence seq) - { - if (seq.size() != 2 && seq.size() != 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - sigPolicyId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - sigPolicyHash = OtherHashAlgAndValue.getInstance(seq.getObjectAt(1)); - - if (seq.size() == 3) - { - sigPolicyQualifiers = SigPolicyQualifiers.getInstance(seq.getObjectAt(2)); - } - } - - public SignaturePolicyId( - ASN1ObjectIdentifier sigPolicyIdentifier, - OtherHashAlgAndValue sigPolicyHash) - { - this(sigPolicyIdentifier, sigPolicyHash, null); - } - - public SignaturePolicyId( - ASN1ObjectIdentifier sigPolicyId, - OtherHashAlgAndValue sigPolicyHash, - SigPolicyQualifiers sigPolicyQualifiers) - { - this.sigPolicyId = sigPolicyId; - this.sigPolicyHash = sigPolicyHash; - this.sigPolicyQualifiers = sigPolicyQualifiers; - } - - public ASN1ObjectIdentifier getSigPolicyId() - { - return new ASN1ObjectIdentifier(sigPolicyId.getId()); - } - - public OtherHashAlgAndValue getSigPolicyHash() - { - return sigPolicyHash; - } - - public SigPolicyQualifiers getSigPolicyQualifiers() - { - return sigPolicyQualifiers; - } - - /** - *
    -     * SignaturePolicyId ::= SEQUENCE {
    -     *     sigPolicyId SigPolicyId,
    -     *     sigPolicyHash SigPolicyHash,
    -     *     sigPolicyQualifiers SEQUENCE SIZE (1..MAX) OF SigPolicyQualifierInfo OPTIONAL}
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(sigPolicyId); - v.add(sigPolicyHash); - if (sigPolicyQualifiers != null) - { - v.add(sigPolicyQualifiers); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyIdentifier.java deleted file mode 100644 index ace0860ce..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignaturePolicyIdentifier.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.spongycastle.asn1.esf; - -import org.spongycastle.asn1.ASN1Null; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERNull; - -public class SignaturePolicyIdentifier - extends ASN1Object -{ - private SignaturePolicyId signaturePolicyId; - private boolean isSignaturePolicyImplied; - - public static SignaturePolicyIdentifier getInstance( - Object obj) - { - if (obj instanceof SignaturePolicyIdentifier) - { - return (SignaturePolicyIdentifier)obj; - } - else if (obj instanceof ASN1Null || hasEncodedTagValue(obj, BERTags.NULL)) - { - return new SignaturePolicyIdentifier(); - } - else if (obj != null) - { - return new SignaturePolicyIdentifier(SignaturePolicyId.getInstance(obj)); - } - - return null; - } - - public SignaturePolicyIdentifier() - { - this.isSignaturePolicyImplied = true; - } - - public SignaturePolicyIdentifier( - SignaturePolicyId signaturePolicyId) - { - this.signaturePolicyId = signaturePolicyId; - this.isSignaturePolicyImplied = false; - } - - public SignaturePolicyId getSignaturePolicyId() - { - return signaturePolicyId; - } - - public boolean isSignaturePolicyImplied() - { - return isSignaturePolicyImplied; - } - - /** - *
    -     * SignaturePolicyIdentifier ::= CHOICE{
    -     *     SignaturePolicyId         SignaturePolicyId,
    -     *     SignaturePolicyImplied    SignaturePolicyImplied }
    -     *
    -     * SignaturePolicyImplied ::= NULL
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - if (isSignaturePolicyImplied) - { - return DERNull.INSTANCE; - } - else - { - return signaturePolicyId.toASN1Primitive(); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerAttribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerAttribute.java deleted file mode 100644 index 664db344a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerAttribute.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Attribute; -import org.spongycastle.asn1.x509.AttributeCertificate; - - -public class SignerAttribute - extends ASN1Object -{ - private Object[] values; - - public static SignerAttribute getInstance( - Object o) - { - if (o instanceof SignerAttribute) - { - return (SignerAttribute) o; - } - else if (o != null) - { - return new SignerAttribute(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private SignerAttribute( - ASN1Sequence seq) - { - int index = 0; - values = new Object[seq.size()]; - - for (Enumeration e = seq.getObjects(); e.hasMoreElements();) - { - ASN1TaggedObject taggedObject = ASN1TaggedObject.getInstance(e.nextElement()); - - if (taggedObject.getTagNo() == 0) - { - ASN1Sequence attrs = ASN1Sequence.getInstance(taggedObject, true); - Attribute[] attributes = new Attribute[attrs.size()]; - - for (int i = 0; i != attributes.length; i++) - { - attributes[i] = Attribute.getInstance(attrs.getObjectAt(i)); - } - values[index] = attributes; - } - else if (taggedObject.getTagNo() == 1) - { - values[index] = AttributeCertificate.getInstance(ASN1Sequence.getInstance(taggedObject, true)); - } - else - { - throw new IllegalArgumentException("illegal tag: " + taggedObject.getTagNo()); - } - index++; - } - } - - public SignerAttribute( - Attribute[] claimedAttributes) - { - this.values = new Object[1]; - this.values[0] = claimedAttributes; - } - - public SignerAttribute( - AttributeCertificate certifiedAttributes) - { - this.values = new Object[1]; - this.values[0] = certifiedAttributes; - } - - /** - * Return the sequence of choices - the array elements will either be of - * type Attribute[] or AttributeCertificate depending on what tag was used. - * - * @return array of choices. - */ - public Object[] getValues() - { - return values; - } - - /** - * - *
    -     *  SignerAttribute ::= SEQUENCE OF CHOICE {
    -     *      claimedAttributes   [0] ClaimedAttributes,
    -     *      certifiedAttributes [1] CertifiedAttributes }
    -     *
    -     *  ClaimedAttributes ::= SEQUENCE OF Attribute
    -     *  CertifiedAttributes ::= AttributeCertificate -- as defined in RFC 3281: see clause 4.1.
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != values.length; i++) - { - if (values[i] instanceof Attribute[]) - { - v.add(new DERTaggedObject(0, new DERSequence((Attribute[])values[i]))); - } - else - { - v.add(new DERTaggedObject(1, (AttributeCertificate)values[i])); - } - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerLocation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerLocation.java deleted file mode 100644 index ebf693e0d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/esf/SignerLocation.java +++ /dev/null @@ -1,162 +0,0 @@ -package org.spongycastle.asn1.esf; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Signer-Location attribute (RFC3126). - * - *
    - *   SignerLocation ::= SEQUENCE {
    - *       countryName        [0] DirectoryString OPTIONAL,
    - *       localityName       [1] DirectoryString OPTIONAL,
    - *       postalAddress      [2] PostalAddress OPTIONAL }
    - *
    - *   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
    - * 
    - */ -public class SignerLocation - extends ASN1Object -{ - private DERUTF8String countryName; - private DERUTF8String localityName; - private ASN1Sequence postalAddress; - - private SignerLocation( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - DERTaggedObject o = (DERTaggedObject)e.nextElement(); - - switch (o.getTagNo()) - { - case 0: - DirectoryString countryNameDirectoryString = DirectoryString.getInstance(o, true); - this.countryName = new DERUTF8String(countryNameDirectoryString.getString()); - break; - case 1: - DirectoryString localityNameDirectoryString = DirectoryString.getInstance(o, true); - this.localityName = new DERUTF8String(localityNameDirectoryString.getString()); - break; - case 2: - if (o.isExplicit()) - { - this.postalAddress = ASN1Sequence.getInstance(o, true); - } - else // handle erroneous implicitly tagged sequences - { - this.postalAddress = ASN1Sequence.getInstance(o, false); - } - if (postalAddress != null && postalAddress.size() > 6) - { - throw new IllegalArgumentException("postal address must contain less than 6 strings"); - } - break; - default: - throw new IllegalArgumentException("illegal tag"); - } - } - } - - public SignerLocation( - DERUTF8String countryName, - DERUTF8String localityName, - ASN1Sequence postalAddress) - { - if (postalAddress != null && postalAddress.size() > 6) - { - throw new IllegalArgumentException("postal address must contain less than 6 strings"); - } - - if (countryName != null) - { - this.countryName = DERUTF8String.getInstance(countryName.toASN1Primitive()); - } - - if (localityName != null) - { - this.localityName = DERUTF8String.getInstance(localityName.toASN1Primitive()); - } - - if (postalAddress != null) - { - this.postalAddress = ASN1Sequence.getInstance(postalAddress.toASN1Primitive()); - } - } - - public static SignerLocation getInstance( - Object obj) - { - if (obj == null || obj instanceof SignerLocation) - { - return (SignerLocation)obj; - } - - return new SignerLocation(ASN1Sequence.getInstance(obj)); - } - - public DERUTF8String getCountryName() - { - return countryName; - } - - public DERUTF8String getLocalityName() - { - return localityName; - } - - public ASN1Sequence getPostalAddress() - { - return postalAddress; - } - - /** - *
    -     *   SignerLocation ::= SEQUENCE {
    -     *       countryName        [0] DirectoryString OPTIONAL,
    -     *       localityName       [1] DirectoryString OPTIONAL,
    -     *       postalAddress      [2] PostalAddress OPTIONAL }
    -     *
    -     *   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
    -     *   
    -     *   DirectoryString ::= CHOICE {
    -     *         teletexString           TeletexString (SIZE (1..MAX)),
    -     *         printableString         PrintableString (SIZE (1..MAX)),
    -     *         universalString         UniversalString (SIZE (1..MAX)),
    -     *         utf8String              UTF8String (SIZE (1.. MAX)),
    -     *         bmpString               BMPString (SIZE (1..MAX)) }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (countryName != null) - { - v.add(new DERTaggedObject(true, 0, countryName)); - } - - if (localityName != null) - { - v.add(new DERTaggedObject(true, 1, localityName)); - } - - if (postalAddress != null) - { - v.add(new DERTaggedObject(true, 2, postalAddress)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentHints.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentHints.java deleted file mode 100644 index d544c937b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentHints.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERUTF8String; - -public class ContentHints - extends ASN1Object -{ - private DERUTF8String contentDescription; - private ASN1ObjectIdentifier contentType; - - public static ContentHints getInstance(Object o) - { - if (o instanceof ContentHints) - { - return (ContentHints)o; - } - else if (o != null) - { - return new ContentHints(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * constructor - */ - private ContentHints(ASN1Sequence seq) - { - ASN1Encodable field = seq.getObjectAt(0); - if (field.toASN1Primitive() instanceof DERUTF8String) - { - contentDescription = DERUTF8String.getInstance(field); - contentType = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(1)); - } - else - { - contentType = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - } - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public ContentHints( - DERObjectIdentifier contentType) - { - this(new ASN1ObjectIdentifier(contentType.getId())); - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public ContentHints( - DERObjectIdentifier contentType, - DERUTF8String contentDescription) - { - this(new ASN1ObjectIdentifier(contentType.getId()), contentDescription); - } - - public ContentHints( - ASN1ObjectIdentifier contentType) - { - this.contentType = contentType; - this.contentDescription = null; - } - - public ContentHints( - ASN1ObjectIdentifier contentType, - DERUTF8String contentDescription) - { - this.contentType = contentType; - this.contentDescription = contentDescription; - } - - public ASN1ObjectIdentifier getContentType() - { - return contentType; - } - - public DERUTF8String getContentDescription() - { - return contentDescription; - } - - /** - *
    -     * ContentHints ::= SEQUENCE {
    -     *   contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,
    -     *   contentType ContentType }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (contentDescription != null) - { - v.add(contentDescription); - } - - v.add(contentType); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentIdentifier.java deleted file mode 100644 index 7082a43a1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ContentIdentifier.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; - -public class ContentIdentifier - extends ASN1Object -{ - ASN1OctetString value; - - public static ContentIdentifier getInstance(Object o) - { - if (o instanceof ContentIdentifier) - { - return (ContentIdentifier) o; - } - else if (o != null) - { - return new ContentIdentifier(ASN1OctetString.getInstance(o)); - } - - return null; - } - - /** - * Create from OCTET STRING whose octets represent the identifier. - */ - private ContentIdentifier( - ASN1OctetString value) - { - this.value = value; - } - - /** - * Create from byte array representing the identifier. - */ - public ContentIdentifier( - byte[] value) - { - this(new DEROctetString(value)); - } - - public ASN1OctetString getValue() - { - return value; - } - - /** - * The definition of ContentIdentifier is - *
    -     * ContentIdentifier ::=  OCTET STRING
    -     * 
    - * id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1) - * member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) - * smime(16) id-aa(2) 7 } - */ - public ASN1Primitive toASN1Primitive() - { - return value; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertID.java deleted file mode 100644 index e63b69639..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertID.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.IssuerSerial; - -public class ESSCertID - extends ASN1Object -{ - private ASN1OctetString certHash; - - private IssuerSerial issuerSerial; - - public static ESSCertID getInstance(Object o) - { - if (o instanceof ESSCertID) - { - return (ESSCertID)o; - } - else if (o != null) - { - return new ESSCertID(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * constructor - */ - private ESSCertID(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - certHash = ASN1OctetString.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - issuerSerial = IssuerSerial.getInstance(seq.getObjectAt(1)); - } - } - - public ESSCertID( - byte[] hash) - { - certHash = new DEROctetString(hash); - } - - public ESSCertID( - byte[] hash, - IssuerSerial issuerSerial) - { - this.certHash = new DEROctetString(hash); - this.issuerSerial = issuerSerial; - } - - public byte[] getCertHash() - { - return certHash.getOctets(); - } - - public IssuerSerial getIssuerSerial() - { - return issuerSerial; - } - - /** - *
    -     * ESSCertID ::= SEQUENCE {
    -     *     certHash Hash, 
    -     *     issuerSerial IssuerSerial OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certHash); - - if (issuerSerial != null) - { - v.add(issuerSerial); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertIDv2.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertIDv2.java deleted file mode 100644 index dbafd904e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/ESSCertIDv2.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.IssuerSerial; - -public class ESSCertIDv2 - extends ASN1Object -{ - private AlgorithmIdentifier hashAlgorithm; - private byte[] certHash; - private IssuerSerial issuerSerial; - private static final AlgorithmIdentifier DEFAULT_ALG_ID = new AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256); - - public static ESSCertIDv2 getInstance( - Object o) - { - if (o instanceof ESSCertIDv2) - { - return (ESSCertIDv2) o; - } - else if (o != null) - { - return new ESSCertIDv2(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private ESSCertIDv2( - ASN1Sequence seq) - { - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - int count = 0; - - if (seq.getObjectAt(0) instanceof ASN1OctetString) - { - // Default value - this.hashAlgorithm = DEFAULT_ALG_ID; - } - else - { - this.hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(count++).toASN1Primitive()); - } - - this.certHash = ASN1OctetString.getInstance(seq.getObjectAt(count++).toASN1Primitive()).getOctets(); - - if (seq.size() > count) - { - this.issuerSerial = IssuerSerial.getInstance(seq.getObjectAt(count)); - } - } - - public ESSCertIDv2( - byte[] certHash) - { - this(null, certHash, null); - } - - public ESSCertIDv2( - AlgorithmIdentifier algId, - byte[] certHash) - { - this(algId, certHash, null); - } - - public ESSCertIDv2( - byte[] certHash, - IssuerSerial issuerSerial) - { - this(null, certHash, issuerSerial); - } - - public ESSCertIDv2( - AlgorithmIdentifier algId, - byte[] certHash, - IssuerSerial issuerSerial) - { - if (algId == null) - { - // Default value - this.hashAlgorithm = DEFAULT_ALG_ID; - } - else - { - this.hashAlgorithm = algId; - } - - this.certHash = certHash; - this.issuerSerial = issuerSerial; - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return this.hashAlgorithm; - } - - public byte[] getCertHash() - { - return certHash; - } - - public IssuerSerial getIssuerSerial() - { - return issuerSerial; - } - - /** - *
    -     * ESSCertIDv2 ::=  SEQUENCE {
    -     *     hashAlgorithm     AlgorithmIdentifier
    -     *              DEFAULT {algorithm id-sha256},
    -     *     certHash          Hash,
    -     *     issuerSerial      IssuerSerial OPTIONAL
    -     * }
    -     *
    -     * Hash ::= OCTET STRING
    -     *
    -     * IssuerSerial ::= SEQUENCE {
    -     *     issuer         GeneralNames,
    -     *     serialNumber   CertificateSerialNumber
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (!hashAlgorithm.equals(DEFAULT_ALG_ID)) - { - v.add(hashAlgorithm); - } - - v.add(new DEROctetString(certHash).toASN1Primitive()); - - if (issuerSerial != null) - { - v.add(issuerSerial); - } - - return new DERSequence(v); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherCertID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherCertID.java deleted file mode 100644 index 530491f76..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherCertID.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.IssuerSerial; - -public class OtherCertID - extends ASN1Object -{ - private ASN1Encodable otherCertHash; - private IssuerSerial issuerSerial; - - public static OtherCertID getInstance(Object o) - { - if (o instanceof OtherCertID) - { - return (OtherCertID) o; - } - else if (o != null) - { - return new OtherCertID(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * constructor - */ - private OtherCertID(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - if (seq.getObjectAt(0).toASN1Primitive() instanceof ASN1OctetString) - { - otherCertHash = ASN1OctetString.getInstance(seq.getObjectAt(0)); - } - else - { - otherCertHash = DigestInfo.getInstance(seq.getObjectAt(0)); - - } - - if (seq.size() > 1) - { - issuerSerial = IssuerSerial.getInstance(seq.getObjectAt(1)); - } - } - - public OtherCertID( - AlgorithmIdentifier algId, - byte[] digest) - { - this.otherCertHash = new DigestInfo(algId, digest); - } - - public OtherCertID( - AlgorithmIdentifier algId, - byte[] digest, - IssuerSerial issuerSerial) - { - this.otherCertHash = new DigestInfo(algId, digest); - this.issuerSerial = issuerSerial; - } - - public AlgorithmIdentifier getAlgorithmHash() - { - if (otherCertHash.toASN1Primitive() instanceof ASN1OctetString) - { - // SHA-1 - return new AlgorithmIdentifier("1.3.14.3.2.26"); - } - else - { - return DigestInfo.getInstance(otherCertHash).getAlgorithmId(); - } - } - - public byte[] getCertHash() - { - if (otherCertHash.toASN1Primitive() instanceof ASN1OctetString) - { - // SHA-1 - return ((ASN1OctetString)otherCertHash.toASN1Primitive()).getOctets(); - } - else - { - return DigestInfo.getInstance(otherCertHash).getDigest(); - } - } - - public IssuerSerial getIssuerSerial() - { - return issuerSerial; - } - - /** - *
    -     * OtherCertID ::= SEQUENCE {
    -     *     otherCertHash    OtherHash,
    -     *     issuerSerial     IssuerSerial OPTIONAL }
    -     *
    -     * OtherHash ::= CHOICE {
    -     *     sha1Hash     OCTET STRING,
    -     *     otherHash    OtherHashAlgAndValue }
    -     *
    -     * OtherHashAlgAndValue ::= SEQUENCE {
    -     *     hashAlgorithm    AlgorithmIdentifier,
    -     *     hashValue        OCTET STRING }
    -     *
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(otherCertHash); - - if (issuerSerial != null) - { - v.add(issuerSerial); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherSigningCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherSigningCertificate.java deleted file mode 100644 index 2198d1a02..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/OtherSigningCertificate.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.PolicyInformation; - -public class OtherSigningCertificate - extends ASN1Object -{ - ASN1Sequence certs; - ASN1Sequence policies; - - public static OtherSigningCertificate getInstance(Object o) - { - if (o instanceof OtherSigningCertificate) - { - return (OtherSigningCertificate) o; - } - else if (o != null) - { - return new OtherSigningCertificate(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * constructeurs - */ - private OtherSigningCertificate(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - this.certs = ASN1Sequence.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - this.policies = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - } - - public OtherSigningCertificate( - OtherCertID otherCertID) - { - certs = new DERSequence(otherCertID); - } - - public OtherCertID[] getCerts() - { - OtherCertID[] cs = new OtherCertID[certs.size()]; - - for (int i = 0; i != certs.size(); i++) - { - cs[i] = OtherCertID.getInstance(certs.getObjectAt(i)); - } - - return cs; - } - - public PolicyInformation[] getPolicies() - { - if (policies == null) - { - return null; - } - - PolicyInformation[] ps = new PolicyInformation[policies.size()]; - - for (int i = 0; i != policies.size(); i++) - { - ps[i] = PolicyInformation.getInstance(policies.getObjectAt(i)); - } - - return ps; - } - - /** - * The definition of OtherSigningCertificate is - *
    -     * OtherSigningCertificate ::=  SEQUENCE {
    -     *      certs        SEQUENCE OF OtherCertID,
    -     *      policies     SEQUENCE OF PolicyInformation OPTIONAL
    -     * }
    -     * 
    - * id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1) - * member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) - * smime(16) id-aa(2) 19 } - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certs); - - if (policies != null) - { - v.add(policies); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificate.java deleted file mode 100644 index 87a9881bd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificate.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.PolicyInformation; - - -public class SigningCertificate - extends ASN1Object -{ - ASN1Sequence certs; - ASN1Sequence policies; - - public static SigningCertificate getInstance(Object o) - { - if (o instanceof SigningCertificate) - { - return (SigningCertificate) o; - } - else if (o != null) - { - return new SigningCertificate(ASN1Sequence.getInstance(o)); - } - - return null; - } - - /** - * constructeurs - */ - private SigningCertificate(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - this.certs = ASN1Sequence.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - this.policies = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - } - - public SigningCertificate( - ESSCertID essCertID) - { - certs = new DERSequence(essCertID); - } - - public ESSCertID[] getCerts() - { - ESSCertID[] cs = new ESSCertID[certs.size()]; - - for (int i = 0; i != certs.size(); i++) - { - cs[i] = ESSCertID.getInstance(certs.getObjectAt(i)); - } - - return cs; - } - - public PolicyInformation[] getPolicies() - { - if (policies == null) - { - return null; - } - - PolicyInformation[] ps = new PolicyInformation[policies.size()]; - - for (int i = 0; i != policies.size(); i++) - { - ps[i] = PolicyInformation.getInstance(policies.getObjectAt(i)); - } - - return ps; - } - - /** - * The definition of SigningCertificate is - *
    -     * SigningCertificate ::=  SEQUENCE {
    -     *      certs        SEQUENCE OF ESSCertID,
    -     *      policies     SEQUENCE OF PolicyInformation OPTIONAL
    -     * }
    -     * 
    - * id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1) - * member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) - * smime(16) id-aa(2) 12 } - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certs); - - if (policies != null) - { - v.add(policies); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificateV2.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificateV2.java deleted file mode 100644 index 3af8c7318..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ess/SigningCertificateV2.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.spongycastle.asn1.ess; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.PolicyInformation; - -public class SigningCertificateV2 - extends ASN1Object -{ - ASN1Sequence certs; - ASN1Sequence policies; - - public static SigningCertificateV2 getInstance( - Object o) - { - if (o == null || o instanceof SigningCertificateV2) - { - return (SigningCertificateV2) o; - } - else if (o instanceof ASN1Sequence) - { - return new SigningCertificateV2((ASN1Sequence) o); - } - - return null; - } - - private SigningCertificateV2( - ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - this.certs = ASN1Sequence.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - this.policies = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - } - - public SigningCertificateV2( - ESSCertIDv2 cert) - { - this.certs = new DERSequence(cert); - } - - public SigningCertificateV2( - ESSCertIDv2[] certs) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i=0; i < certs.length; i++) - { - v.add(certs[i]); - } - this.certs = new DERSequence(v); - } - - public SigningCertificateV2( - ESSCertIDv2[] certs, - PolicyInformation[] policies) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i=0; i < certs.length; i++) - { - v.add(certs[i]); - } - this.certs = new DERSequence(v); - - if (policies != null) - { - v = new ASN1EncodableVector(); - for (int i=0; i < policies.length; i++) - { - v.add(policies[i]); - } - this.policies = new DERSequence(v); - } - } - - public ESSCertIDv2[] getCerts() - { - ESSCertIDv2[] certIds = new ESSCertIDv2[certs.size()]; - for (int i = 0; i != certs.size(); i++) - { - certIds[i] = ESSCertIDv2.getInstance(certs.getObjectAt(i)); - } - return certIds; - } - - public PolicyInformation[] getPolicies() - { - if (policies == null) - { - return null; - } - - PolicyInformation[] policyInformations = new PolicyInformation[policies.size()]; - for (int i = 0; i != policies.size(); i++) - { - policyInformations[i] = PolicyInformation.getInstance(policies.getObjectAt(i)); - } - return policyInformations; - } - - /** - * The definition of SigningCertificateV2 is - *
    -     * SigningCertificateV2 ::=  SEQUENCE {
    -     *      certs        SEQUENCE OF ESSCertIDv2,
    -     *      policies     SEQUENCE OF PolicyInformation OPTIONAL
    -     * }
    -     * 
    - * id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1) - * member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) - * smime(16) id-aa(2) 47 } - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certs); - - if (policies != null) - { - v.add(policies); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/gnu/GNUObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/gnu/GNUObjectIdentifiers.java deleted file mode 100644 index fd3cf2407..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/gnu/GNUObjectIdentifiers.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.asn1.gnu; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * GNU project OID collection

    - * { iso(1) identifier-organization(3) dod(6) internet(1) private(4) } == IETF defined things - */ -public interface GNUObjectIdentifiers -{ - /** 1.3.6.1.4.1.11591.1 -- used by GNU Radius */ - public static final ASN1ObjectIdentifier GNU = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.1"); // GNU Radius - /** 1.3.6.1.4.1.11591.2 -- used by GNU PG */ - public static final ASN1ObjectIdentifier GnuPG = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.2"); // GnuPG (Ägypten) - /** 1.3.6.1.4.1.11591.2.1 -- notation */ - public static final ASN1ObjectIdentifier notation = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.2.1"); // notation - /** 1.3.6.1.4.1.11591.2.1.1 -- pkaAddress */ - public static final ASN1ObjectIdentifier pkaAddress = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.2.1.1"); // pkaAddress - /** 1.3.6.1.4.1.11591.3 -- GNU Radar */ - public static final ASN1ObjectIdentifier GnuRadar = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.3"); // GNU Radar - /** 1.3.6.1.4.1.11591.12 -- digestAlgorithm */ - public static final ASN1ObjectIdentifier digestAlgorithm = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.12"); // digestAlgorithm - /** 1.3.6.1.4.1.11591.12.2 -- TIGER/192 */ - public static final ASN1ObjectIdentifier Tiger_192 = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.12.2"); // TIGER/192 - /** 1.3.6.1.4.1.11591.13 -- encryptionAlgorithm */ - public static final ASN1ObjectIdentifier encryptionAlgorithm = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13"); // encryptionAlgorithm - /** 1.3.6.1.4.1.11591.13.2 -- Serpent */ - public static final ASN1ObjectIdentifier Serpent = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2"); // Serpent - /** 1.3.6.1.4.1.11591.13.2.1 -- Serpent-128-ECB */ - public static final ASN1ObjectIdentifier Serpent_128_ECB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.1"); // Serpent-128-ECB - /** 1.3.6.1.4.1.11591.13.2.2 -- Serpent-128-CBC */ - public static final ASN1ObjectIdentifier Serpent_128_CBC = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.2"); // Serpent-128-CBC - /** 1.3.6.1.4.1.11591.13.2.3 -- Serpent-128-OFB */ - public static final ASN1ObjectIdentifier Serpent_128_OFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.3"); // Serpent-128-OFB - /** 1.3.6.1.4.1.11591.13.2.4 -- Serpent-128-CFB */ - public static final ASN1ObjectIdentifier Serpent_128_CFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.4"); // Serpent-128-CFB - /** 1.3.6.1.4.1.11591.13.2.21 -- Serpent-192-ECB */ - public static final ASN1ObjectIdentifier Serpent_192_ECB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.21"); // Serpent-192-ECB - /** 1.3.6.1.4.1.11591.13.2.22 -- Serpent-192-CCB */ - public static final ASN1ObjectIdentifier Serpent_192_CBC = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.22"); // Serpent-192-CBC - /** 1.3.6.1.4.1.11591.13.2.23 -- Serpent-192-OFB */ - public static final ASN1ObjectIdentifier Serpent_192_OFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.23"); // Serpent-192-OFB - /** 1.3.6.1.4.1.11591.13.2.24 -- Serpent-192-CFB */ - public static final ASN1ObjectIdentifier Serpent_192_CFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.24"); // Serpent-192-CFB - /** 1.3.6.1.4.1.11591.13.2.41 -- Serpent-256-ECB */ - public static final ASN1ObjectIdentifier Serpent_256_ECB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.41"); // Serpent-256-ECB - /** 1.3.6.1.4.1.11591.13.2.42 -- Serpent-256-CBC */ - public static final ASN1ObjectIdentifier Serpent_256_CBC = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.42"); // Serpent-256-CBC - /** 1.3.6.1.4.1.11591.13.2.43 -- Serpent-256-OFB */ - public static final ASN1ObjectIdentifier Serpent_256_OFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.43"); // Serpent-256-OFB - /** 1.3.6.1.4.1.11591.13.2.44 -- Serpent-256-CFB */ - public static final ASN1ObjectIdentifier Serpent_256_CFB = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.13.2.44"); // Serpent-256-CFB - - /** 1.3.6.1.4.1.11591.14 -- CRC algorithms */ - public static final ASN1ObjectIdentifier CRC = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.14"); // CRC algorithms - /** 1.3.6.1.4.1.11591.14,1 -- CRC32 */ - public static final ASN1ObjectIdentifier CRC32 = new ASN1ObjectIdentifier("1.3.6.1.4.1.11591.14.1"); // CRC 32 -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/iana/IANAObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/iana/IANAObjectIdentifiers.java deleted file mode 100644 index 731fdfb4c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/iana/IANAObjectIdentifiers.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.spongycastle.asn1.iana; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * IANA: - * { iso(1) identifier-organization(3) dod(6) internet(1) } == IETF defined things - */ -public interface IANAObjectIdentifiers -{ - - /** { iso(1) identifier-organization(3) dod(6) internet(1) } == IETF defined things */ - static final ASN1ObjectIdentifier internet = new ASN1ObjectIdentifier("1.3.6.1"); - /** 1.3.6.1.1: Internet directory: X.500 */ - static final ASN1ObjectIdentifier directory = internet.branch("1"); - /** 1.3.6.1.2: Internet management */ - static final ASN1ObjectIdentifier mgmt = internet.branch("2"); - /** 1.3.6.1.3: */ - static final ASN1ObjectIdentifier experimental = internet.branch("3"); - /** 1.3.6.1.4: */ - static final ASN1ObjectIdentifier _private = internet.branch("4"); - /** 1.3.6.1.5: Security services */ - static final ASN1ObjectIdentifier security = internet.branch("5"); - /** 1.3.6.1.6: SNMPv2 -- never really used */ - static final ASN1ObjectIdentifier SNMPv2 = internet.branch("6"); - /** 1.3.6.1.7: mail -- never really used */ - static final ASN1ObjectIdentifier mail = internet.branch("7"); - - - // id-SHA1 OBJECT IDENTIFIER ::= - // {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) ipsec(8) isakmpOakley(1)} - // - - - /** IANA security mechanisms; 1.3.6.1.5.5 */ - static final ASN1ObjectIdentifier security_mechanisms = security.branch("5"); - /** IANA security nametypes; 1.3.6.1.5.6 */ - static final ASN1ObjectIdentifier security_nametypes = security.branch("6"); - - /** PKIX base OID: 1.3.6.1.5.6.6 */ - static final ASN1ObjectIdentifier pkix = security_mechanisms.branch("6"); - - - /** IPSEC base OID: 1.3.6.1.5.5.8 */ - static final ASN1ObjectIdentifier ipsec = security_mechanisms.branch("8"); - /** IPSEC ISAKMP-Oakley OID: 1.3.6.1.5.5.8.1 */ - static final ASN1ObjectIdentifier isakmpOakley = ipsec.branch("1"); - - /** IPSEC ISAKMP-Oakley hmacMD5 OID: 1.3.6.1.5.5.8.1.1 */ - static final ASN1ObjectIdentifier hmacMD5 = isakmpOakley.branch("1"); - /** IPSEC ISAKMP-Oakley hmacSHA1 OID: 1.3.6.1.5.5.8.1.2 */ - static final ASN1ObjectIdentifier hmacSHA1 = isakmpOakley.branch("2"); - - /** IPSEC ISAKMP-Oakley hmacTIGER OID: 1.3.6.1.5.5.8.1.3 */ - static final ASN1ObjectIdentifier hmacTIGER = isakmpOakley.branch("3"); - - /** IPSEC ISAKMP-Oakley hmacRIPEMD160 OID: 1.3.6.1.5.5.8.1.4 */ - static final ASN1ObjectIdentifier hmacRIPEMD160 = isakmpOakley.branch("4"); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/CscaMasterList.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/CscaMasterList.java deleted file mode 100644 index cb0fa3b03..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/CscaMasterList.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.asn1.icao; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.x509.Certificate; - -/** - * The CscaMasterList object. This object can be wrapped in a - * CMSSignedData to be published in LDAP. - *

    - *

    - * CscaMasterList ::= SEQUENCE {
    - *   version                CscaMasterListVersion,
    - *   certList               SET OF Certificate }
    - *
    - * CscaMasterListVersion :: INTEGER {v0(0)}
    - * 
    - */ - -public class CscaMasterList - extends ASN1Object -{ - private ASN1Integer version = new ASN1Integer(0); - private Certificate[] certList; - - public static CscaMasterList getInstance( - Object obj) - { - if (obj instanceof CscaMasterList) - { - return (CscaMasterList)obj; - } - else if (obj != null) - { - return new CscaMasterList(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CscaMasterList( - ASN1Sequence seq) - { - if (seq == null || seq.size() == 0) - { - throw new IllegalArgumentException( - "null or empty sequence passed."); - } - if (seq.size() != 2) - { - throw new IllegalArgumentException( - "Incorrect sequence size: " + seq.size()); - } - - version = ASN1Integer.getInstance(seq.getObjectAt(0)); - ASN1Set certSet = ASN1Set.getInstance(seq.getObjectAt(1)); - certList = new Certificate[certSet.size()]; - for (int i = 0; i < certList.length; i++) - { - certList[i] - = Certificate.getInstance(certSet.getObjectAt(i)); - } - } - - public CscaMasterList( - Certificate[] certStructs) - { - certList = copyCertList(certStructs); - } - - public int getVersion() - { - return version.getValue().intValue(); - } - - public Certificate[] getCertStructs() - { - return copyCertList(certList); - } - - private Certificate[] copyCertList(Certificate[] orig) - { - Certificate[] certs = new Certificate[orig.length]; - - for (int i = 0; i != certs.length; i++) - { - certs[i] = orig[i]; - } - - return certs; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - - seq.add(version); - - ASN1EncodableVector certSet = new ASN1EncodableVector(); - for (int i = 0; i < certList.length; i++) - { - certSet.add(certList[i]); - } - seq.add(new DERSet(certSet)); - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/DataGroupHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/DataGroupHash.java deleted file mode 100644 index 51a1ce2e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/DataGroupHash.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1.icao; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * The DataGroupHash object. - *
    - * DataGroupHash  ::=  SEQUENCE {
    - *      dataGroupNumber         DataGroupNumber,
    - *      dataGroupHashValue     OCTET STRING }
    - * 
    - * DataGroupNumber ::= INTEGER {
    - *         dataGroup1    (1),
    - *         dataGroup1    (2),
    - *         dataGroup1    (3),
    - *         dataGroup1    (4),
    - *         dataGroup1    (5),
    - *         dataGroup1    (6),
    - *         dataGroup1    (7),
    - *         dataGroup1    (8),
    - *         dataGroup1    (9),
    - *         dataGroup1    (10),
    - *         dataGroup1    (11),
    - *         dataGroup1    (12),
    - *         dataGroup1    (13),
    - *         dataGroup1    (14),
    - *         dataGroup1    (15),
    - *         dataGroup1    (16) }
    - * 
    - * 
    - */ -public class DataGroupHash - extends ASN1Object -{ - ASN1Integer dataGroupNumber; - ASN1OctetString dataGroupHashValue; - - public static DataGroupHash getInstance( - Object obj) - { - if (obj instanceof DataGroupHash) - { - return (DataGroupHash)obj; - } - else if (obj != null) - { - return new DataGroupHash(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private DataGroupHash(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - // dataGroupNumber - dataGroupNumber = ASN1Integer.getInstance(e.nextElement()); - // dataGroupHashValue - dataGroupHashValue = ASN1OctetString.getInstance(e.nextElement()); - } - - public DataGroupHash( - int dataGroupNumber, - ASN1OctetString dataGroupHashValue) - { - this.dataGroupNumber = new ASN1Integer(dataGroupNumber); - this.dataGroupHashValue = dataGroupHashValue; - } - - public int getDataGroupNumber() - { - return dataGroupNumber.getValue().intValue(); - } - - public ASN1OctetString getDataGroupHashValue() - { - return dataGroupHashValue; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(dataGroupNumber); - seq.add(dataGroupHashValue); - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/ICAOObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/ICAOObjectIdentifiers.java deleted file mode 100644 index ffa293076..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/ICAOObjectIdentifiers.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.spongycastle.asn1.icao; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * - * { ISOITU(2) intorgs(23) icao(136) } - */ -public interface ICAOObjectIdentifiers -{ - // - // base id - // - /** 2.23.136 */ - static final ASN1ObjectIdentifier id_icao = new ASN1ObjectIdentifier("2.23.136"); - - /** 2.23.136.1 */ - static final ASN1ObjectIdentifier id_icao_mrtd = id_icao.branch("1"); - /** 2.23.136.1.1 */ - static final ASN1ObjectIdentifier id_icao_mrtd_security = id_icao_mrtd.branch("1"); - - /** LDS security object, see ICAO Doc 9303-Volume 2-Section IV-A3.2

    - * 2.23.136.1.1.1 */ - static final ASN1ObjectIdentifier id_icao_ldsSecurityObject = id_icao_mrtd_security.branch("1"); - - /** CSCA master list, see TR CSCA Countersigning and Master List issuance

    - * 2.23.136.1.1.2 - */ - static final ASN1ObjectIdentifier id_icao_cscaMasterList = id_icao_mrtd_security.branch("2"); - /** 2.23.136.1.1.3 */ - static final ASN1ObjectIdentifier id_icao_cscaMasterListSigningKey = id_icao_mrtd_security.branch("3"); - - /** document type list, see draft TR LDS and PKI Maintenance, par. 3.2.1

    - * 2.23.136.1.1.4 - */ - static final ASN1ObjectIdentifier id_icao_documentTypeList = id_icao_mrtd_security.branch("4"); - - /** Active Authentication protocol, see draft TR LDS and PKI Maintenance, par. 5.2.2

    - * 2.23.136.1.1.5 - */ - static final ASN1ObjectIdentifier id_icao_aaProtocolObject = id_icao_mrtd_security.branch("5"); - - /** CSCA name change and key reoll-over, see draft TR LDS and PKI Maintenance, par. 3.2.1

    - * 2.23.136.1.1.6 - */ - static final ASN1ObjectIdentifier id_icao_extensions = id_icao_mrtd_security.branch("6"); - /** 2.23.136.1.1.6.1 */ - static final ASN1ObjectIdentifier id_icao_extensions_namechangekeyrollover = id_icao_extensions.branch("1"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSSecurityObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSSecurityObject.java deleted file mode 100644 index f09f2923b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSSecurityObject.java +++ /dev/null @@ -1,159 +0,0 @@ -package org.spongycastle.asn1.icao; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * The LDSSecurityObject object (V1.8). - *

    - * LDSSecurityObject ::= SEQUENCE {
    - *   version                LDSSecurityObjectVersion,
    - *   hashAlgorithm          DigestAlgorithmIdentifier,
    - *   dataGroupHashValues    SEQUENCE SIZE (2..ub-DataGroups) OF DataHashGroup,
    - *   ldsVersionInfo         LDSVersionInfo OPTIONAL
    - *   -- if present, version MUST be v1 }
    - *   
    - * DigestAlgorithmIdentifier ::= AlgorithmIdentifier,
    - * 
    - * LDSSecurityObjectVersion :: INTEGER {V0(0)}
    - * 
    - */ - -public class LDSSecurityObject - extends ASN1Object - implements ICAOObjectIdentifiers -{ - public static final int ub_DataGroups = 16; - - private ASN1Integer version = new ASN1Integer(0); - private AlgorithmIdentifier digestAlgorithmIdentifier; - private DataGroupHash[] datagroupHash; - private LDSVersionInfo versionInfo; - - public static LDSSecurityObject getInstance( - Object obj) - { - if (obj instanceof LDSSecurityObject) - { - return (LDSSecurityObject)obj; - } - else if (obj != null) - { - return new LDSSecurityObject(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private LDSSecurityObject( - ASN1Sequence seq) - { - if (seq == null || seq.size() == 0) - { - throw new IllegalArgumentException("null or empty sequence passed."); - } - - Enumeration e = seq.getObjects(); - - // version - version = ASN1Integer.getInstance(e.nextElement()); - // digestAlgorithmIdentifier - digestAlgorithmIdentifier = AlgorithmIdentifier.getInstance(e.nextElement()); - - ASN1Sequence datagroupHashSeq = ASN1Sequence.getInstance(e.nextElement()); - - if (version.getValue().intValue() == 1) - { - versionInfo = LDSVersionInfo.getInstance(e.nextElement()); - } - - checkDatagroupHashSeqSize(datagroupHashSeq.size()); - - datagroupHash = new DataGroupHash[datagroupHashSeq.size()]; - for (int i= 0; i< datagroupHashSeq.size();i++) - { - datagroupHash[i] = DataGroupHash.getInstance(datagroupHashSeq.getObjectAt(i)); - } - } - - public LDSSecurityObject( - AlgorithmIdentifier digestAlgorithmIdentifier, - DataGroupHash[] datagroupHash) - { - this.version = new ASN1Integer(0); - this.digestAlgorithmIdentifier = digestAlgorithmIdentifier; - this.datagroupHash = datagroupHash; - - checkDatagroupHashSeqSize(datagroupHash.length); - } - - public LDSSecurityObject( - AlgorithmIdentifier digestAlgorithmIdentifier, - DataGroupHash[] datagroupHash, - LDSVersionInfo versionInfo) - { - this.version = new ASN1Integer(1); - this.digestAlgorithmIdentifier = digestAlgorithmIdentifier; - this.datagroupHash = datagroupHash; - this.versionInfo = versionInfo; - - checkDatagroupHashSeqSize(datagroupHash.length); - } - - private void checkDatagroupHashSeqSize(int size) - { - if ((size < 2) || (size > ub_DataGroups)) - { - throw new IllegalArgumentException("wrong size in DataGroupHashValues : not in (2.."+ ub_DataGroups +")"); - } - } - - public int getVersion() - { - return version.getValue().intValue(); - } - - public AlgorithmIdentifier getDigestAlgorithmIdentifier() - { - return digestAlgorithmIdentifier; - } - - public DataGroupHash[] getDatagroupHash() - { - return datagroupHash; - } - - public LDSVersionInfo getVersionInfo() - { - return versionInfo; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - - seq.add(version); - seq.add(digestAlgorithmIdentifier); - - ASN1EncodableVector seqname = new ASN1EncodableVector(); - for (int i = 0; i < datagroupHash.length; i++) - { - seqname.add(datagroupHash[i]); - } - seq.add(new DERSequence(seqname)); - - if (versionInfo != null) - { - seq.add(versionInfo); - } - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSVersionInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSVersionInfo.java deleted file mode 100644 index e4cafc29b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/icao/LDSVersionInfo.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.asn1.icao; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; - -public class LDSVersionInfo - extends ASN1Object -{ - private DERPrintableString ldsVersion; - private DERPrintableString unicodeVersion; - - public LDSVersionInfo(String ldsVersion, String unicodeVersion) - { - this.ldsVersion = new DERPrintableString(ldsVersion); - this.unicodeVersion = new DERPrintableString(unicodeVersion); - } - - private LDSVersionInfo(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("sequence wrong size for LDSVersionInfo"); - } - - this.ldsVersion = DERPrintableString.getInstance(seq.getObjectAt(0)); - this.unicodeVersion = DERPrintableString.getInstance(seq.getObjectAt(1)); - } - - public static LDSVersionInfo getInstance(Object obj) - { - if (obj instanceof LDSVersionInfo) - { - return (LDSVersionInfo)obj; - } - else if (obj != null) - { - return new LDSVersionInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public String getLdsVersion() - { - return ldsVersion.getString(); - } - - public String getUnicodeVersion() - { - return unicodeVersion.getString(); - } - - /** - *
    -     * LDSVersionInfo ::= SEQUENCE {
    -     *    ldsVersion PRINTABLE STRING
    -     *    unicodeVersion PRINTABLE STRING
    -     *  }
    -     * 
    - * @return - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(ldsVersion); - v.add(unicodeVersion); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java deleted file mode 100644 index 3add7dc9a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java +++ /dev/null @@ -1,210 +0,0 @@ -package org.spongycastle.asn1.isismtt; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * ISISMT -- Industrial Signature Interoperability Specification - */ -public interface ISISMTTObjectIdentifiers -{ - - /** 1.3.36.8 */ - static final ASN1ObjectIdentifier id_isismtt = new ASN1ObjectIdentifier("1.3.36.8"); - - /** 1.3.36.8.1 */ - static final ASN1ObjectIdentifier id_isismtt_cp = id_isismtt.branch("1"); - - /** - * The id-isismtt-cp-accredited OID indicates that the certificate is a - * qualified certificate according to Directive 1999/93/EC of the European - * Parliament and of the Council of 13 December 1999 on a Community - * Framework for Electronic Signatures, which additionally conforms the - * special requirements of the SigG and has been issued by an accredited CA. - *

    - * 1.3.36.8.1.1 - */ - - static final ASN1ObjectIdentifier id_isismtt_cp_accredited = id_isismtt_cp.branch("1"); - - /** 1.3.36.8.3 */ - static final ASN1ObjectIdentifier id_isismtt_at = id_isismtt.branch("3"); - - /** - * Certificate extensionDate of certificate generation - *

    -     *     DateOfCertGenSyntax ::= GeneralizedTime
    -     * 
    - * OID: 1.3.36.8.3.1 - */ - static final ASN1ObjectIdentifier id_isismtt_at_dateOfCertGen = id_isismtt_at.branch("1"); - - /** - * Attribute to indicate that the certificate holder may sign in the name of - * a third person. May also be used as extension in a certificate. - *

    - * OID: 1.3.36.8.3.2 - */ - static final ASN1ObjectIdentifier id_isismtt_at_procuration = id_isismtt_at.branch("2"); - - /** - * Attribute to indicate admissions to certain professions. May be used as - * attribute in attribute certificate or as extension in a certificate - *

    - * OID: 1.3.36.8.3.3 - */ - static final ASN1ObjectIdentifier id_isismtt_at_admission = id_isismtt_at.branch("3"); - - /** - * Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST - * be used in new certificates in place of the extension/attribute - * MonetaryLimit since January 1, 2004. For the sake of backward - * compatibility with certificates already in use, SigG conforming - * components MUST support MonetaryLimit (as well as QcEuLimitValue). - *

    - * OID: 1.3.36.8.3.4 - */ - static final ASN1ObjectIdentifier id_isismtt_at_monetaryLimit = id_isismtt_at.branch("4"); - - /** - * A declaration of majority. May be used as attribute in attribute - * certificate or as extension in a certificate - *

    - * OID: 1.3.36.8.3.5 - */ - static final ASN1ObjectIdentifier id_isismtt_at_declarationOfMajority = id_isismtt_at.branch("5"); - - /** - * Serial number of the smart card containing the corresponding private key - *

    -     *    ICCSNSyntax ::= OCTET STRING (SIZE(8..20))
    -     * 
    - *

    - * OID: 1.3.36.8.3.6 - */ - static final ASN1ObjectIdentifier id_isismtt_at_iCCSN = id_isismtt_at.branch("6"); - - /** - * Reference for a file of a smartcard that stores the public key of this - * certificate and that is used as "security anchor". - *

    -     *    PKReferenceSyntax ::= OCTET STRING (SIZE(20))
    -     * 
    - *

    - * OID: 1.3.36.8.3.7 - */ - static final ASN1ObjectIdentifier id_isismtt_at_PKReference = id_isismtt_at.branch("7"); - - /** - * Some other restriction regarding the usage of this certificate. May be - * used as attribute in attribute certificate or as extension in a - * certificate. - *

    -     *    RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
    -     * 
    - *

    - * OID: 1.3.36.8.3.8 - * - * @see org.spongycastle.asn1.isismtt.x509.Restriction - */ - static final ASN1ObjectIdentifier id_isismtt_at_restriction = id_isismtt_at.branch("8"); - - /** - * (Single)Request extension: Clients may include this extension in a - * (single) Request to request the responder to send the certificate in the - * response message along with the status information. Besides the LDAP - * service, this extension provides another mechanism for the distribution - * of certificates, which MAY optionally be provided by certificate - * repositories. - *

    -     *    RetrieveIfAllowed ::= BOOLEAN
    -     * 
    - *

    - * OID: 1.3.36.8.3.9 - */ - static final ASN1ObjectIdentifier id_isismtt_at_retrieveIfAllowed = id_isismtt_at.branch("9"); - - /** - * SingleOCSPResponse extension: The certificate requested by the client by - * inserting the RetrieveIfAllowed extension in the request, will be - * returned in this extension. - *

    - * OID: 1.3.36.8.3.10 - * - * @see org.spongycastle.asn1.isismtt.ocsp.RequestedCertificate - */ - static final ASN1ObjectIdentifier id_isismtt_at_requestedCertificate = id_isismtt_at.branch("10"); - - /** - * Base ObjectIdentifier for naming authorities - *

    - * OID: 1.3.36.8.3.11 - */ - static final ASN1ObjectIdentifier id_isismtt_at_namingAuthorities = id_isismtt_at.branch("11"); - - /** - * SingleOCSPResponse extension: Date, when certificate has been published - * in the directory and status information has become available. Currently, - * accrediting authorities enforce that SigG-conforming OCSP servers include - * this extension in the responses. - * - *

    -     *    CertInDirSince ::= GeneralizedTime
    -     * 
    - *

    - * OID: 1.3.36.8.3.12 - */ - static final ASN1ObjectIdentifier id_isismtt_at_certInDirSince = id_isismtt_at.branch("12"); - - /** - * Hash of a certificate in OCSP. - *

    - * OID: 1.3.36.8.3.13 - * - * @see org.spongycastle.asn1.isismtt.ocsp.CertHash - */ - static final ASN1ObjectIdentifier id_isismtt_at_certHash = id_isismtt_at.branch("13"); - - /** - *

    -     *    NameAtBirth ::= DirectoryString(SIZE(1..64)
    -     * 
    - * - * Used in - * {@link org.spongycastle.asn1.x509.SubjectDirectoryAttributes SubjectDirectoryAttributes} - *

    - * OID: 1.3.36.8.3.14 - */ - static final ASN1ObjectIdentifier id_isismtt_at_nameAtBirth = id_isismtt_at.branch("14"); - - /** - * Some other information of non-restrictive nature regarding the usage of - * this certificate. May be used as attribute in atribute certificate or as - * extension in a certificate. - * - *

    -     *    AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
    -     * 
    - *

    - * OID: 1.3.36.8.3.15 - * - * @see org.spongycastle.asn1.isismtt.x509.AdditionalInformationSyntax - */ - static final ASN1ObjectIdentifier id_isismtt_at_additionalInformation = id_isismtt_at.branch("15"); - - /** - * Indicates that an attribute certificate exists, which limits the - * usability of this public key certificate. Whenever verifying a signature - * with the help of this certificate, the content of the corresponding - * attribute certificate should be concerned. This extension MUST be - * included in a PKC, if a corresponding attribute certificate (having the - * PKC as base certificate) contains some attribute that restricts the - * usability of the PKC too. Attribute certificates with restricting content - * MUST always be included in the signed document. - *

    -     *    LiabilityLimitationFlagSyntax ::= BOOLEAN
    -     * 
    - *

    - * OID: 0.2.262.1.10.12.0 - */ - static final ASN1ObjectIdentifier id_isismtt_at_liabilityLimitationFlag = new ASN1ObjectIdentifier("0.2.262.1.10.12.0"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/CertHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/CertHash.java deleted file mode 100644 index 85dc7f329..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/CertHash.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.spongycastle.asn1.isismtt.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * ISIS-MTT PROFILE: The responder may include this extension in a response to - * send the hash of the requested certificate to the responder. This hash is - * cryptographically bound to the certificate and serves as evidence that the - * certificate is known to the responder (i.e. it has been issued and is present - * in the directory). Hence, this extension is a means to provide a positive - * statement of availability as described in T8.[8]. As explained in T13.[1], - * clients may rely on this information to be able to validate signatures after - * the expiry of the corresponding certificate. Hence, clients MUST support this - * extension. If a positive statement of availability is to be delivered, this - * extension syntax and OID MUST be used. - *

    - *

    - *

    - *     CertHash ::= SEQUENCE {
    - *       hashAlgorithm AlgorithmIdentifier,
    - *       certificateHash OCTET STRING
    - *     }
    - * 
    - */ -public class CertHash - extends ASN1Object -{ - - private AlgorithmIdentifier hashAlgorithm; - private byte[] certificateHash; - - public static CertHash getInstance(Object obj) - { - if (obj == null || obj instanceof CertHash) - { - return (CertHash)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new CertHash((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type CertHash: - *

    - *

    -     *     CertHash ::= SEQUENCE {
    -     *       hashAlgorithm AlgorithmIdentifier,
    -     *       certificateHash OCTET STRING
    -     *     }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private CertHash(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - certificateHash = DEROctetString.getInstance(seq.getObjectAt(1)).getOctets(); - } - - /** - * Constructor from a given details. - * - * @param hashAlgorithm The hash algorithm identifier. - * @param certificateHash The hash of the whole DER encoding of the certificate. - */ - public CertHash(AlgorithmIdentifier hashAlgorithm, byte[] certificateHash) - { - this.hashAlgorithm = hashAlgorithm; - this.certificateHash = new byte[certificateHash.length]; - System.arraycopy(certificateHash, 0, this.certificateHash, 0, - certificateHash.length); - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public byte[] getCertificateHash() - { - return certificateHash; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *     CertHash ::= SEQUENCE {
    -     *       hashAlgorithm AlgorithmIdentifier,
    -     *       certificateHash OCTET STRING
    -     *     }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - vec.add(hashAlgorithm); - vec.add(new DEROctetString(certificateHash)); - return new DERSequence(vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/RequestedCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/RequestedCertificate.java deleted file mode 100644 index 395c37439..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/ocsp/RequestedCertificate.java +++ /dev/null @@ -1,183 +0,0 @@ -package org.spongycastle.asn1.isismtt.ocsp; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Certificate; - -/** - * ISIS-MTT-Optional: The certificate requested by the client by inserting the - * RetrieveIfAllowed extension in the request, will be returned in this - * extension. - *

    - * ISIS-MTT-SigG: The signature act allows publishing certificates only then, - * when the certificate owner gives his explicit permission. Accordingly, there - * may be �nondownloadable� certificates, about which the responder must provide - * status information, but MUST NOT include them in the response. Clients may - * get therefore the following three kind of answers on a single request - * including the RetrieveIfAllowed extension: - *

      - *
    • a) the responder supports the extension and is allowed to publish the - * certificate: RequestedCertificate returned including the requested - * certificate - *
    • b) the responder supports the extension but is NOT allowed to publish - * the certificate: RequestedCertificate returned including an empty OCTET - * STRING - *
    • c) the responder does not support the extension: RequestedCertificate is - * not included in the response - *
    - * Clients requesting RetrieveIfAllowed MUST be able to handle these cases. If - * any of the OCTET STRING options is used, it MUST contain the DER encoding of - * the requested certificate. - *

    - *

    - *            RequestedCertificate ::= CHOICE {
    - *              Certificate Certificate,
    - *              publicKeyCertificate [0] EXPLICIT OCTET STRING,
    - *              attributeCertificate [1] EXPLICIT OCTET STRING
    - *            }
    - * 
    - */ -public class RequestedCertificate - extends ASN1Object - implements ASN1Choice -{ - public static final int certificate = -1; - public static final int publicKeyCertificate = 0; - public static final int attributeCertificate = 1; - - private Certificate cert; - private byte[] publicKeyCert; - private byte[] attributeCert; - - public static RequestedCertificate getInstance(Object obj) - { - if (obj == null || obj instanceof RequestedCertificate) - { - return (RequestedCertificate)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new RequestedCertificate(Certificate.getInstance(obj)); - } - if (obj instanceof ASN1TaggedObject) - { - return new RequestedCertificate((ASN1TaggedObject)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - public static RequestedCertificate getInstance(ASN1TaggedObject obj, boolean explicit) - { - if (!explicit) - { - throw new IllegalArgumentException("choice item must be explicitly tagged"); - } - - return getInstance(obj.getObject()); - } - - private RequestedCertificate(ASN1TaggedObject tagged) - { - if (tagged.getTagNo() == publicKeyCertificate) - { - publicKeyCert = ASN1OctetString.getInstance(tagged, true).getOctets(); - } - else if (tagged.getTagNo() == attributeCertificate) - { - attributeCert = ASN1OctetString.getInstance(tagged, true).getOctets(); - } - else - { - throw new IllegalArgumentException("unknown tag number: " + tagged.getTagNo()); - } - } - - /** - * Constructor from a given details. - *

    - * Only one parameter can be given. All other must be null. - * - * @param certificate Given as Certificate - */ - public RequestedCertificate(Certificate certificate) - { - this.cert = certificate; - } - - public RequestedCertificate(int type, byte[] certificateOctets) - { - this(new DERTaggedObject(type, new DEROctetString(certificateOctets))); - } - - public int getType() - { - if (cert != null) - { - return certificate; - } - if (publicKeyCert != null) - { - return publicKeyCertificate; - } - return attributeCertificate; - } - - public byte[] getCertificateBytes() - { - if (cert != null) - { - try - { - return cert.getEncoded(); - } - catch (IOException e) - { - throw new IllegalStateException("can't decode certificate: " + e); - } - } - if (publicKeyCert != null) - { - return publicKeyCert; - } - return attributeCert; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *            RequestedCertificate ::= CHOICE {
    -     *              Certificate Certificate,
    -     *              publicKeyCertificate [0] EXPLICIT OCTET STRING,
    -     *              attributeCertificate [1] EXPLICIT OCTET STRING
    -     *            }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - if (publicKeyCert != null) - { - return new DERTaggedObject(0, new DEROctetString(publicKeyCert)); - } - if (attributeCert != null) - { - return new DERTaggedObject(1, new DEROctetString(attributeCert)); - } - return cert.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdditionalInformationSyntax.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdditionalInformationSyntax.java deleted file mode 100644 index 8436b9d2f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdditionalInformationSyntax.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Some other information of non-restrictive nature regarding the usage of this - * certificate. - * - *
    - *    AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
    - * 
    - */ -public class AdditionalInformationSyntax - extends ASN1Object -{ - private DirectoryString information; - - public static AdditionalInformationSyntax getInstance(Object obj) - { - if (obj instanceof AdditionalInformationSyntax) - { - return (AdditionalInformationSyntax)obj; - } - - if (obj != null) - { - return new AdditionalInformationSyntax(DirectoryString.getInstance(obj)); - } - - return null; - } - - private AdditionalInformationSyntax(DirectoryString information) - { - this.information = information; - } - - /** - * Constructor from a given details. - * - * @param information The describtion of the information. - */ - public AdditionalInformationSyntax(String information) - { - this(new DirectoryString(information)); - } - - public DirectoryString getInformation() - { - return information; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *   AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - return information.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdmissionSyntax.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdmissionSyntax.java deleted file mode 100644 index 1cc5f4071..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/AdmissionSyntax.java +++ /dev/null @@ -1,280 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; - -/** - * Attribute to indicate admissions to certain professions. - *

    - *

    - *     AdmissionSyntax ::= SEQUENCE
    - *     {
    - *       admissionAuthority GeneralName OPTIONAL,
    - *       contentsOfAdmissions SEQUENCE OF Admissions
    - *     }
    - * 

    - * Admissions ::= SEQUENCE - * { - * admissionAuthority [0] EXPLICIT GeneralName OPTIONAL - * namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL - * professionInfos SEQUENCE OF ProfessionInfo - * } - *

    - * NamingAuthority ::= SEQUENCE - * { - * namingAuthorityId OBJECT IDENTIFIER OPTIONAL, - * namingAuthorityUrl IA5String OPTIONAL, - * namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL - * } - *

    - * ProfessionInfo ::= SEQUENCE - * { - * namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, - * professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), - * professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, - * registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, - * addProfessionInfo OCTET STRING OPTIONAL - * } - *

    - *

    - *

    - * ISIS-MTT PROFILE: The relatively complex structure of AdmissionSyntax - * supports the following concepts and requirements: - *

      - *
    • External institutions (e.g. professional associations, chambers, unions, - * administrative bodies, companies, etc.), which are responsible for granting - * and verifying professional admissions, are indicated by means of the data - * field admissionAuthority. An admission authority is indicated by a - * GeneralName object. Here an X.501 directory name (distinguished name) can be - * indicated in the field directoryName, a URL address can be indicated in the - * field uniformResourceIdentifier, and an object identifier can be indicated in - * the field registeredId. - *
    • The names of authorities which are responsible for the administration of - * title registers are indicated in the data field namingAuthority. The name of - * the authority can be identified by an object identifier in the field - * namingAuthorityId, by means of a text string in the field - * namingAuthorityText, by means of a URL address in the field - * namingAuthorityUrl, or by a combination of them. For example, the text string - * can contain the name of the authority, the country and the name of the title - * register. The URL-option refers to a web page which contains lists with - * �officially� registered professions (text and possibly OID) as well as - * further information on these professions. Object identifiers for the - * component namingAuthorityId are grouped under the OID-branch - * id-isis-at-namingAuthorities and must be applied for. - *
    • See - * http://www.teletrust.de/anwend.asp?Id=30200&Sprache=E_&HomePG=0 for - * an application form and http://www.teletrust.de/links.asp?id=30220,11 - * for an overview of registered naming authorities. - *
    • By means of the data type ProfessionInfo certain professions, - * specializations, disciplines, fields of activity, etc. are identified. A - * profession is represented by one or more text strings, resp. profession OIDs - * in the fields professionItems and professionOIDs and by a registration number - * in the field registrationNumber. An indication in text form must always be - * present, whereas the other indications are optional. The component - * addProfessionInfo may contain additional applicationspecific information in - * DER-encoded form. - *
    - *

    - * By means of different namingAuthority-OIDs or profession OIDs hierarchies of - * professions, specializations, disciplines, fields of activity, etc. can be - * expressed. The issuing admission authority should always be indicated (field - * admissionAuthority), whenever a registration number is presented. Still, - * information on admissions can be given without indicating an admission or a - * naming authority by the exclusive use of the component professionItems. In - * this case the certification authority is responsible for the verification of - * the admission information. - *

    - *

    - *

    - * This attribute is single-valued. Still, several admissions can be captured in - * the sequence structure of the component contentsOfAdmissions of - * AdmissionSyntax or in the component professionInfos of Admissions. The - * component admissionAuthority of AdmissionSyntax serves as default value for - * the component admissionAuthority of Admissions. Within the latter component - * the default value can be overwritten, in case that another authority is - * responsible. The component namingAuthority of Admissions serves as a default - * value for the component namingAuthority of ProfessionInfo. Within the latter - * component the default value can be overwritten, in case that another naming - * authority needs to be recorded. - *

    - * The length of the string objects is limited to 128 characters. It is - * recommended to indicate a namingAuthorityURL in all issued attribute - * certificates. If a namingAuthorityURL is indicated, the field professionItems - * of ProfessionInfo should contain only registered titles. If the field - * professionOIDs exists, it has to contain the OIDs of the professions listed - * in professionItems in the same order. In general, the field professionInfos - * should contain only one entry, unless the admissions that are to be listed - * are logically connected (e.g. they have been issued under the same admission - * number). - * - * @see org.spongycastle.asn1.isismtt.x509.Admissions - * @see org.spongycastle.asn1.isismtt.x509.ProfessionInfo - * @see org.spongycastle.asn1.isismtt.x509.NamingAuthority - */ -public class AdmissionSyntax - extends ASN1Object -{ - - private GeneralName admissionAuthority; - - private ASN1Sequence contentsOfAdmissions; - - public static AdmissionSyntax getInstance(Object obj) - { - if (obj == null || obj instanceof AdmissionSyntax) - { - return (AdmissionSyntax)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new AdmissionSyntax((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type ProcurationSyntax: - *

    - *

    -     *     AdmissionSyntax ::= SEQUENCE
    -     *     {
    -     *       admissionAuthority GeneralName OPTIONAL,
    -     *       contentsOfAdmissions SEQUENCE OF Admissions
    -     *     }
    -     * 

    - * Admissions ::= SEQUENCE - * { - * admissionAuthority [0] EXPLICIT GeneralName OPTIONAL - * namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL - * professionInfos SEQUENCE OF ProfessionInfo - * } - *

    - * NamingAuthority ::= SEQUENCE - * { - * namingAuthorityId OBJECT IDENTIFIER OPTIONAL, - * namingAuthorityUrl IA5String OPTIONAL, - * namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL - * } - *

    - * ProfessionInfo ::= SEQUENCE - * { - * namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, - * professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), - * professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, - * registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, - * addProfessionInfo OCTET STRING OPTIONAL - * } - *

    - * - * @param seq The ASN.1 sequence. - */ - private AdmissionSyntax(ASN1Sequence seq) - { - switch (seq.size()) - { - case 1: - contentsOfAdmissions = DERSequence.getInstance(seq.getObjectAt(0)); - break; - case 2: - admissionAuthority = GeneralName.getInstance(seq.getObjectAt(0)); - contentsOfAdmissions = DERSequence.getInstance(seq.getObjectAt(1)); - break; - default: - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - } - - /** - * Constructor from given details. - * - * @param admissionAuthority The admission authority. - * @param contentsOfAdmissions The admissions. - */ - public AdmissionSyntax(GeneralName admissionAuthority, ASN1Sequence contentsOfAdmissions) - { - this.admissionAuthority = admissionAuthority; - this.contentsOfAdmissions = contentsOfAdmissions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *     AdmissionSyntax ::= SEQUENCE
    -     *     {
    -     *       admissionAuthority GeneralName OPTIONAL,
    -     *       contentsOfAdmissions SEQUENCE OF Admissions
    -     *     }
    -     * 

    - * Admissions ::= SEQUENCE - * { - * admissionAuthority [0] EXPLICIT GeneralName OPTIONAL - * namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL - * professionInfos SEQUENCE OF ProfessionInfo - * } - *

    - * NamingAuthority ::= SEQUENCE - * { - * namingAuthorityId OBJECT IDENTIFIER OPTIONAL, - * namingAuthorityUrl IA5String OPTIONAL, - * namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL - * } - *

    - * ProfessionInfo ::= SEQUENCE - * { - * namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, - * professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), - * professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, - * registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, - * addProfessionInfo OCTET STRING OPTIONAL - * } - *

    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - if (admissionAuthority != null) - { - vec.add(admissionAuthority); - } - vec.add(contentsOfAdmissions); - return new DERSequence(vec); - } - - /** - * @return Returns the admissionAuthority if present, null otherwise. - */ - public GeneralName getAdmissionAuthority() - { - return admissionAuthority; - } - - /** - * @return Returns the contentsOfAdmissions. - */ - public Admissions[] getContentsOfAdmissions() - { - Admissions[] admissions = new Admissions[contentsOfAdmissions.size()]; - int count = 0; - for (Enumeration e = contentsOfAdmissions.getObjects(); e.hasMoreElements();) - { - admissions[count++] = Admissions.getInstance(e.nextElement()); - } - return admissions; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Admissions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Admissions.java deleted file mode 100644 index 9b140c966..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Admissions.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.GeneralName; - -/** - * An Admissions structure. - *

    - *

    - *            Admissions ::= SEQUENCE
    - *            {
    - *              admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
    - *              namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
    - *              professionInfos SEQUENCE OF ProfessionInfo
    - *            }
    - * 

    - *

    - * - * @see org.spongycastle.asn1.isismtt.x509.AdmissionSyntax - * @see org.spongycastle.asn1.isismtt.x509.ProfessionInfo - * @see org.spongycastle.asn1.isismtt.x509.NamingAuthority - */ -public class Admissions - extends ASN1Object -{ - - private GeneralName admissionAuthority; - - private NamingAuthority namingAuthority; - - private ASN1Sequence professionInfos; - - public static Admissions getInstance(Object obj) - { - if (obj == null || obj instanceof Admissions) - { - return (Admissions)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new Admissions((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type ProcurationSyntax: - *

    - *

    -     *            Admissions ::= SEQUENCE
    -     *            {
    -     *              admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
    -     *              namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
    -     *              professionInfos SEQUENCE OF ProfessionInfo
    -     *            }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private Admissions(ASN1Sequence seq) - { - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - Enumeration e = seq.getObjects(); - - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - if (o instanceof ASN1TaggedObject) - { - switch (((ASN1TaggedObject)o).getTagNo()) - { - case 0: - admissionAuthority = GeneralName.getInstance((ASN1TaggedObject)o, true); - break; - case 1: - namingAuthority = NamingAuthority.getInstance((ASN1TaggedObject)o, true); - break; - default: - throw new IllegalArgumentException("Bad tag number: " + ((ASN1TaggedObject)o).getTagNo()); - } - o = (ASN1Encodable)e.nextElement(); - } - if (o instanceof ASN1TaggedObject) - { - switch (((ASN1TaggedObject)o).getTagNo()) - { - case 1: - namingAuthority = NamingAuthority.getInstance((ASN1TaggedObject)o, true); - break; - default: - throw new IllegalArgumentException("Bad tag number: " + ((ASN1TaggedObject)o).getTagNo()); - } - o = (ASN1Encodable)e.nextElement(); - } - professionInfos = ASN1Sequence.getInstance(o); - if (e.hasMoreElements()) - { - throw new IllegalArgumentException("Bad object encountered: " - + e.nextElement().getClass()); - } - } - - /** - * Constructor from a given details. - *

    - * Parameter professionInfos is mandatory. - * - * @param admissionAuthority The admission authority. - * @param namingAuthority The naming authority. - * @param professionInfos The profession infos. - */ - public Admissions(GeneralName admissionAuthority, - NamingAuthority namingAuthority, ProfessionInfo[] professionInfos) - { - this.admissionAuthority = admissionAuthority; - this.namingAuthority = namingAuthority; - this.professionInfos = new DERSequence(professionInfos); - } - - public GeneralName getAdmissionAuthority() - { - return admissionAuthority; - } - - public NamingAuthority getNamingAuthority() - { - return namingAuthority; - } - - public ProfessionInfo[] getProfessionInfos() - { - ProfessionInfo[] infos = new ProfessionInfo[professionInfos.size()]; - int count = 0; - for (Enumeration e = professionInfos.getObjects(); e.hasMoreElements();) - { - infos[count++] = ProfessionInfo.getInstance(e.nextElement()); - } - return infos; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *       Admissions ::= SEQUENCE
    -     *       {
    -     *         admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
    -     *         namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
    -     *         professionInfos SEQUENCE OF ProfessionInfo
    -     *       }
    -     * 

    - *

    - * - * @return an ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - - if (admissionAuthority != null) - { - vec.add(new DERTaggedObject(true, 0, admissionAuthority)); - } - if (namingAuthority != null) - { - vec.add(new DERTaggedObject(true, 1, namingAuthority)); - } - vec.add(professionInfos); - - return new DERSequence(vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/DeclarationOfMajority.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/DeclarationOfMajority.java deleted file mode 100644 index fa8851d76..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/DeclarationOfMajority.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * A declaration of majority. - *

    - *

    - *           DeclarationOfMajoritySyntax ::= CHOICE
    - *           {
    - *             notYoungerThan [0] IMPLICIT INTEGER,
    - *             fullAgeAtCountry [1] IMPLICIT SEQUENCE
    - *             {
    - *               fullAge BOOLEAN DEFAULT TRUE,
    - *               country PrintableString (SIZE(2))
    - *             }
    - *             dateOfBirth [2] IMPLICIT GeneralizedTime
    - *           }
    - * 
    - *

    - * fullAgeAtCountry indicates the majority of the owner with respect to the laws - * of a specific country. - */ -public class DeclarationOfMajority - extends ASN1Object - implements ASN1Choice -{ - public static final int notYoungerThan = 0; - public static final int fullAgeAtCountry = 1; - public static final int dateOfBirth = 2; - - private ASN1TaggedObject declaration; - - public DeclarationOfMajority(int notYoungerThan) - { - declaration = new DERTaggedObject(false, 0, new ASN1Integer(notYoungerThan)); - } - - public DeclarationOfMajority(boolean fullAge, String country) - { - if (country.length() > 2) - { - throw new IllegalArgumentException("country can only be 2 characters"); - } - - if (fullAge) - { - declaration = new DERTaggedObject(false, 1, new DERSequence(new DERPrintableString(country, true))); - } - else - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(ASN1Boolean.FALSE); - v.add(new DERPrintableString(country, true)); - - declaration = new DERTaggedObject(false, 1, new DERSequence(v)); - } - } - - public DeclarationOfMajority(ASN1GeneralizedTime dateOfBirth) - { - declaration = new DERTaggedObject(false, 2, dateOfBirth); - } - - public static DeclarationOfMajority getInstance(Object obj) - { - if (obj == null || obj instanceof DeclarationOfMajority) - { - return (DeclarationOfMajority)obj; - } - - if (obj instanceof ASN1TaggedObject) - { - return new DeclarationOfMajority((ASN1TaggedObject)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - private DeclarationOfMajority(ASN1TaggedObject o) - { - if (o.getTagNo() > 2) - { - throw new IllegalArgumentException("Bad tag number: " + o.getTagNo()); - } - declaration = o; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *           DeclarationOfMajoritySyntax ::= CHOICE
    -     *           {
    -     *             notYoungerThan [0] IMPLICIT INTEGER,
    -     *             fullAgeAtCountry [1] IMPLICIT SEQUENCE
    -     *             {
    -     *               fullAge BOOLEAN DEFAULT TRUE,
    -     *               country PrintableString (SIZE(2))
    -     *             }
    -     *             dateOfBirth [2] IMPLICIT GeneralizedTime
    -     *           }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - return declaration; - } - - public int getType() - { - return declaration.getTagNo(); - } - - /** - * @return notYoungerThan if that's what we are, -1 otherwise - */ - public int notYoungerThan() - { - if (declaration.getTagNo() != 0) - { - return -1; - } - - return ASN1Integer.getInstance(declaration, false).getValue().intValue(); - } - - public ASN1Sequence fullAgeAtCountry() - { - if (declaration.getTagNo() != 1) - { - return null; - } - - return ASN1Sequence.getInstance(declaration, false); - } - - public ASN1GeneralizedTime getDateOfBirth() - { - if (declaration.getTagNo() != 2) - { - return null; - } - - return ASN1GeneralizedTime.getInstance(declaration, false); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/MonetaryLimit.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/MonetaryLimit.java deleted file mode 100644 index f7f646d20..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/MonetaryLimit.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; - -/** - * Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST be - * used in new certificates in place of the extension/attribute MonetaryLimit - * since January 1, 2004. For the sake of backward compatibility with - * certificates already in use, components SHOULD support MonetaryLimit (as well - * as QcEuLimitValue). - *

    - * Indicates a monetary limit within which the certificate holder is authorized - * to act. (This value DOES NOT express a limit on the liability of the - * certification authority). - *

    - *

    - *    MonetaryLimitSyntax ::= SEQUENCE
    - *    {
    - *      currency PrintableString (SIZE(3)),
    - *      amount INTEGER,
    - *      exponent INTEGER
    - *    }
    - * 
    - *

    - * currency must be the ISO code. - *

    - * value = amount�10*exponent - */ -public class MonetaryLimit - extends ASN1Object -{ - DERPrintableString currency; - ASN1Integer amount; - ASN1Integer exponent; - - public static MonetaryLimit getInstance(Object obj) - { - if (obj == null || obj instanceof MonetaryLimit) - { - return (MonetaryLimit)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new MonetaryLimit(ASN1Sequence.getInstance(obj)); - } - - throw new IllegalArgumentException("unknown object in getInstance"); - } - - private MonetaryLimit(ASN1Sequence seq) - { - if (seq.size() != 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - Enumeration e = seq.getObjects(); - currency = DERPrintableString.getInstance(e.nextElement()); - amount = ASN1Integer.getInstance(e.nextElement()); - exponent = ASN1Integer.getInstance(e.nextElement()); - } - - /** - * Constructor from a given details. - *

    - *

    - * value = amount�10^exponent - * - * @param currency The currency. Must be the ISO code. - * @param amount The amount - * @param exponent The exponent - */ - public MonetaryLimit(String currency, int amount, int exponent) - { - this.currency = new DERPrintableString(currency, true); - this.amount = new ASN1Integer(amount); - this.exponent = new ASN1Integer(exponent); - } - - public String getCurrency() - { - return currency.getString(); - } - - public BigInteger getAmount() - { - return amount.getValue(); - } - - public BigInteger getExponent() - { - return exponent.getValue(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *    MonetaryLimitSyntax ::= SEQUENCE
    -     *    {
    -     *      currency PrintableString (SIZE(3)),
    -     *      amount INTEGER,
    -     *      exponent INTEGER
    -     *    }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(currency); - seq.add(amount); - seq.add(exponent); - - return new DERSequence(seq); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/NamingAuthority.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/NamingAuthority.java deleted file mode 100644 index 920d2e0d1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/NamingAuthority.java +++ /dev/null @@ -1,244 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.isismtt.ISISMTTObjectIdentifiers; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Names of authorities which are responsible for the administration of title - * registers. - * - *
    - *             NamingAuthority ::= SEQUENCE 
    - *             {
    - *               namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
    - *               namingAuthorityUrl IA5String OPTIONAL,
    - *               namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
    - *             }
    - * 
    - * @see org.spongycastle.asn1.isismtt.x509.AdmissionSyntax - * - */ -public class NamingAuthority - extends ASN1Object -{ - - /** - * Profession OIDs should always be defined under the OID branch of the - * responsible naming authority. At the time of this writing, the work group - * �Recht, Wirtschaft, Steuern� (�Law, Economy, Taxes�) is registered as the - * first naming authority under the OID id-isismtt-at-namingAuthorities. - */ - public static final ASN1ObjectIdentifier id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern = - new ASN1ObjectIdentifier(ISISMTTObjectIdentifiers.id_isismtt_at_namingAuthorities + ".1"); - - private ASN1ObjectIdentifier namingAuthorityId; - private String namingAuthorityUrl; - private DirectoryString namingAuthorityText; - - public static NamingAuthority getInstance(Object obj) - { - if (obj == null || obj instanceof NamingAuthority) - { - return (NamingAuthority)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new NamingAuthority((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - public static NamingAuthority getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Constructor from ASN1Sequence. - *

    - *

    - *

    -     *             NamingAuthority ::= SEQUENCE
    -     *             {
    -     *               namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
    -     *               namingAuthorityUrl IA5String OPTIONAL,
    -     *               namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
    -     *             }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private NamingAuthority(ASN1Sequence seq) - { - - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - if (e.hasMoreElements()) - { - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - if (o instanceof ASN1ObjectIdentifier) - { - namingAuthorityId = (ASN1ObjectIdentifier)o; - } - else if (o instanceof DERIA5String) - { - namingAuthorityUrl = DERIA5String.getInstance(o).getString(); - } - else if (o instanceof ASN1String) - { - namingAuthorityText = DirectoryString.getInstance(o); - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - } - if (e.hasMoreElements()) - { - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - if (o instanceof DERIA5String) - { - namingAuthorityUrl = DERIA5String.getInstance(o).getString(); - } - else if (o instanceof ASN1String) - { - namingAuthorityText = DirectoryString.getInstance(o); - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - } - if (e.hasMoreElements()) - { - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - if (o instanceof ASN1String) - { - namingAuthorityText = DirectoryString.getInstance(o); - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - - } - } - - /** - * @return Returns the namingAuthorityId. - */ - public ASN1ObjectIdentifier getNamingAuthorityId() - { - return namingAuthorityId; - } - - /** - * @return Returns the namingAuthorityText. - */ - public DirectoryString getNamingAuthorityText() - { - return namingAuthorityText; - } - - /** - * @return Returns the namingAuthorityUrl. - */ - public String getNamingAuthorityUrl() - { - return namingAuthorityUrl; - } - - /** - * Constructor from given details. - *

    - * All parameters can be combined. - * - * @param namingAuthorityId ObjectIdentifier for naming authority. - * @param namingAuthorityUrl URL for naming authority. - * @param namingAuthorityText Textual representation of naming authority. - * @deprecated use ASN1ObjectIdentifier method - */ - public NamingAuthority(DERObjectIdentifier namingAuthorityId, - String namingAuthorityUrl, DirectoryString namingAuthorityText) - { - this.namingAuthorityId = new ASN1ObjectIdentifier(namingAuthorityId.getId()); - this.namingAuthorityUrl = namingAuthorityUrl; - this.namingAuthorityText = namingAuthorityText; - } - - /** - * Constructor from given details. - *

    - * All parameters can be combined. - * - * @param namingAuthorityId ObjectIdentifier for naming authority. - * @param namingAuthorityUrl URL for naming authority. - * @param namingAuthorityText Textual representation of naming authority. - */ - public NamingAuthority(ASN1ObjectIdentifier namingAuthorityId, - String namingAuthorityUrl, DirectoryString namingAuthorityText) - { - this.namingAuthorityId = namingAuthorityId; - this.namingAuthorityUrl = namingAuthorityUrl; - this.namingAuthorityText = namingAuthorityText; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *             NamingAuthority ::= SEQUENCE
    -     *             {
    -     *               namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
    -     *               namingAuthorityUrl IA5String OPTIONAL,
    -     *               namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
    -     *             }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - if (namingAuthorityId != null) - { - vec.add(namingAuthorityId); - } - if (namingAuthorityUrl != null) - { - vec.add(new DERIA5String(namingAuthorityUrl, true)); - } - if (namingAuthorityText != null) - { - vec.add(namingAuthorityText); - } - return new DERSequence(vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProcurationSyntax.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProcurationSyntax.java deleted file mode 100644 index 5838fee30..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProcurationSyntax.java +++ /dev/null @@ -1,240 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.IssuerSerial; - -/** - * Attribute to indicate that the certificate holder may sign in the name of a - * third person. - *

    - * ISIS-MTT PROFILE: The corresponding ProcurationSyntax contains either the - * name of the person who is represented (subcomponent thirdPerson) or a - * reference to his/her base certificate (in the component signingFor, - * subcomponent certRef), furthermore the optional components country and - * typeSubstitution to indicate the country whose laws apply, and respectively - * the type of procuration (e.g. manager, procuration, custody). - *

    - * ISIS-MTT PROFILE: The GeneralName MUST be of type directoryName and MAY only - * contain: - RFC3039 attributes, except pseudonym (countryName, commonName, - * surname, givenName, serialNumber, organizationName, organizationalUnitName, - * stateOrProvincename, localityName, postalAddress) and - SubjectDirectoryName - * attributes (title, dateOfBirth, placeOfBirth, gender, countryOfCitizenship, - * countryOfResidence and NameAtBirth). - * - *

    - *               ProcurationSyntax ::= SEQUENCE {
    - *                 country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
    - *                 typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
    - *                 signingFor [3] EXPLICIT SigningFor 
    - *               }
    - *               
    - *               SigningFor ::= CHOICE 
    - *               { 
    - *                 thirdPerson GeneralName,
    - *                 certRef IssuerSerial 
    - *               }
    - * 
    - * - */ -public class ProcurationSyntax - extends ASN1Object -{ - private String country; - private DirectoryString typeOfSubstitution; - - private GeneralName thirdPerson; - private IssuerSerial certRef; - - public static ProcurationSyntax getInstance(Object obj) - { - if (obj == null || obj instanceof ProcurationSyntax) - { - return (ProcurationSyntax)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new ProcurationSyntax((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type ProcurationSyntax: - *

    - *

    -     *               ProcurationSyntax ::= SEQUENCE {
    -     *                 country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
    -     *                 typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
    -     *                 signingFor [3] EXPLICIT SigningFor
    -     *               }
    -     * 

    - * SigningFor ::= CHOICE - * { - * thirdPerson GeneralName, - * certRef IssuerSerial - * } - *

    - * - * @param seq The ASN.1 sequence. - */ - private ProcurationSyntax(ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(e.nextElement()); - switch (o.getTagNo()) - { - case 1: - country = DERPrintableString.getInstance(o, true).getString(); - break; - case 2: - typeOfSubstitution = DirectoryString.getInstance(o, true); - break; - case 3: - ASN1Encodable signingFor = o.getObject(); - if (signingFor instanceof ASN1TaggedObject) - { - thirdPerson = GeneralName.getInstance(signingFor); - } - else - { - certRef = IssuerSerial.getInstance(signingFor); - } - break; - default: - throw new IllegalArgumentException("Bad tag number: " + o.getTagNo()); - } - } - } - - /** - * Constructor from a given details. - *

    - *

    - * Either generalName or certRef MUST be - * null. - * - * @param country The country code whose laws apply. - * @param typeOfSubstitution The type of procuration. - * @param certRef Reference to certificate of the person who is represented. - */ - public ProcurationSyntax( - String country, - DirectoryString typeOfSubstitution, - IssuerSerial certRef) - { - this.country = country; - this.typeOfSubstitution = typeOfSubstitution; - this.thirdPerson = null; - this.certRef = certRef; - } - - /** - * Constructor from a given details. - *

    - *

    - * Either generalName or certRef MUST be - * null. - * - * @param country The country code whose laws apply. - * @param typeOfSubstitution The type of procuration. - * @param thirdPerson The GeneralName of the person who is represented. - */ - public ProcurationSyntax( - String country, - DirectoryString typeOfSubstitution, - GeneralName thirdPerson) - { - this.country = country; - this.typeOfSubstitution = typeOfSubstitution; - this.thirdPerson = thirdPerson; - this.certRef = null; - } - - public String getCountry() - { - return country; - } - - public DirectoryString getTypeOfSubstitution() - { - return typeOfSubstitution; - } - - public GeneralName getThirdPerson() - { - return thirdPerson; - } - - public IssuerSerial getCertRef() - { - return certRef; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *               ProcurationSyntax ::= SEQUENCE {
    -     *                 country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
    -     *                 typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
    -     *                 signingFor [3] EXPLICIT SigningFor
    -     *               }
    -     * 

    - * SigningFor ::= CHOICE - * { - * thirdPerson GeneralName, - * certRef IssuerSerial - * } - *

    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - if (country != null) - { - vec.add(new DERTaggedObject(true, 1, new DERPrintableString(country, true))); - } - if (typeOfSubstitution != null) - { - vec.add(new DERTaggedObject(true, 2, typeOfSubstitution)); - } - if (thirdPerson != null) - { - vec.add(new DERTaggedObject(true, 3, thirdPerson)); - } - else - { - vec.add(new DERTaggedObject(true, 3, certRef)); - } - - return new DERSequence(vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProfessionInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProfessionInfo.java deleted file mode 100644 index cf91505ed..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/ProfessionInfo.java +++ /dev/null @@ -1,408 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Professions, specializations, disciplines, fields of activity, etc. - * - *
    - *               ProfessionInfo ::= SEQUENCE 
    - *               {
    - *                 namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
    - *                 professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
    - *                 professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
    - *                 registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
    - *                 addProfessionInfo OCTET STRING OPTIONAL 
    - *               }
    - * 
    - * - * @see org.spongycastle.asn1.isismtt.x509.AdmissionSyntax - */ -public class ProfessionInfo - extends ASN1Object -{ - - /** - * Rechtsanw�ltin - */ - public static final ASN1ObjectIdentifier Rechtsanwltin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".1"); - - /** - * Rechtsanwalt - */ - public static final ASN1ObjectIdentifier Rechtsanwalt = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".2"); - - /** - * Rechtsbeistand - */ - public static final ASN1ObjectIdentifier Rechtsbeistand = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".3"); - - /** - * Steuerberaterin - */ - public static final ASN1ObjectIdentifier Steuerberaterin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".4"); - - /** - * Steuerberater - */ - public static final ASN1ObjectIdentifier Steuerberater = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".5"); - - /** - * Steuerbevollm�chtigte - */ - public static final ASN1ObjectIdentifier Steuerbevollmchtigte = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".6"); - - /** - * Steuerbevollm�chtigter - */ - public static final ASN1ObjectIdentifier Steuerbevollmchtigter = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".7"); - - /** - * Notarin - */ - public static final ASN1ObjectIdentifier Notarin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".8"); - - /** - * Notar - */ - public static final ASN1ObjectIdentifier Notar = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".9"); - - /** - * Notarvertreterin - */ - public static final ASN1ObjectIdentifier Notarvertreterin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".10"); - - /** - * Notarvertreter - */ - public static final ASN1ObjectIdentifier Notarvertreter = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".11"); - - /** - * Notariatsverwalterin - */ - public static final ASN1ObjectIdentifier Notariatsverwalterin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".12"); - - /** - * Notariatsverwalter - */ - public static final ASN1ObjectIdentifier Notariatsverwalter = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".13"); - - /** - * Wirtschaftspr�ferin - */ - public static final ASN1ObjectIdentifier Wirtschaftsprferin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".14"); - - /** - * Wirtschaftspr�fer - */ - public static final ASN1ObjectIdentifier Wirtschaftsprfer = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".15"); - - /** - * Vereidigte Buchpr�ferin - */ - public static final ASN1ObjectIdentifier VereidigteBuchprferin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".16"); - - /** - * Vereidigter Buchpr�fer - */ - public static final ASN1ObjectIdentifier VereidigterBuchprfer = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".17"); - - /** - * Patentanw�ltin - */ - public static final ASN1ObjectIdentifier Patentanwltin = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".18"); - - /** - * Patentanwalt - */ - public static final ASN1ObjectIdentifier Patentanwalt = new ASN1ObjectIdentifier( - NamingAuthority.id_isismtt_at_namingAuthorities_RechtWirtschaftSteuern + ".19"); - - private NamingAuthority namingAuthority; - - private ASN1Sequence professionItems; - - private ASN1Sequence professionOIDs; - - private String registrationNumber; - - private ASN1OctetString addProfessionInfo; - - public static ProfessionInfo getInstance(Object obj) - { - if (obj == null || obj instanceof ProfessionInfo) - { - return (ProfessionInfo)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new ProfessionInfo((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - *

    - *

    -     *               ProfessionInfo ::= SEQUENCE
    -     *               {
    -     *                 namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
    -     *                 professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
    -     *                 professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
    -     *                 registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
    -     *                 addProfessionInfo OCTET STRING OPTIONAL
    -     *               }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private ProfessionInfo(ASN1Sequence seq) - { - if (seq.size() > 5) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - - if (o instanceof ASN1TaggedObject) - { - if (((ASN1TaggedObject)o).getTagNo() != 0) - { - throw new IllegalArgumentException("Bad tag number: " - + ((ASN1TaggedObject)o).getTagNo()); - } - namingAuthority = NamingAuthority.getInstance((ASN1TaggedObject)o, true); - o = (ASN1Encodable)e.nextElement(); - } - - professionItems = ASN1Sequence.getInstance(o); - - if (e.hasMoreElements()) - { - o = (ASN1Encodable)e.nextElement(); - if (o instanceof ASN1Sequence) - { - professionOIDs = ASN1Sequence.getInstance(o); - } - else if (o instanceof DERPrintableString) - { - registrationNumber = DERPrintableString.getInstance(o).getString(); - } - else if (o instanceof ASN1OctetString) - { - addProfessionInfo = ASN1OctetString.getInstance(o); - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - } - if (e.hasMoreElements()) - { - o = (ASN1Encodable)e.nextElement(); - if (o instanceof DERPrintableString) - { - registrationNumber = DERPrintableString.getInstance(o).getString(); - } - else if (o instanceof DEROctetString) - { - addProfessionInfo = (DEROctetString)o; - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - } - if (e.hasMoreElements()) - { - o = (ASN1Encodable)e.nextElement(); - if (o instanceof DEROctetString) - { - addProfessionInfo = (DEROctetString)o; - } - else - { - throw new IllegalArgumentException("Bad object encountered: " - + o.getClass()); - } - } - - } - - /** - * Constructor from given details. - *

    - * professionItems is mandatory, all other parameters are - * optional. - * - * @param namingAuthority The naming authority. - * @param professionItems Directory strings of the profession. - * @param professionOIDs DERObjectIdentfier objects for the - * profession. - * @param registrationNumber Registration number. - * @param addProfessionInfo Additional infos in encoded form. - */ - public ProfessionInfo(NamingAuthority namingAuthority, - DirectoryString[] professionItems, ASN1ObjectIdentifier[] professionOIDs, - String registrationNumber, ASN1OctetString addProfessionInfo) - { - this.namingAuthority = namingAuthority; - ASN1EncodableVector v = new ASN1EncodableVector(); - for (int i = 0; i != professionItems.length; i++) - { - v.add(professionItems[i]); - } - this.professionItems = new DERSequence(v); - if (professionOIDs != null) - { - v = new ASN1EncodableVector(); - for (int i = 0; i != professionOIDs.length; i++) - { - v.add(professionOIDs[i]); - } - this.professionOIDs = new DERSequence(v); - } - this.registrationNumber = registrationNumber; - this.addProfessionInfo = addProfessionInfo; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *               ProfessionInfo ::= SEQUENCE
    -     *               {
    -     *                 namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
    -     *                 professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
    -     *                 professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
    -     *                 registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
    -     *                 addProfessionInfo OCTET STRING OPTIONAL
    -     *               }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - if (namingAuthority != null) - { - vec.add(new DERTaggedObject(true, 0, namingAuthority)); - } - vec.add(professionItems); - if (professionOIDs != null) - { - vec.add(professionOIDs); - } - if (registrationNumber != null) - { - vec.add(new DERPrintableString(registrationNumber, true)); - } - if (addProfessionInfo != null) - { - vec.add(addProfessionInfo); - } - return new DERSequence(vec); - } - - /** - * @return Returns the addProfessionInfo. - */ - public ASN1OctetString getAddProfessionInfo() - { - return addProfessionInfo; - } - - /** - * @return Returns the namingAuthority. - */ - public NamingAuthority getNamingAuthority() - { - return namingAuthority; - } - - /** - * @return Returns the professionItems. - */ - public DirectoryString[] getProfessionItems() - { - DirectoryString[] items = new DirectoryString[professionItems.size()]; - int count = 0; - for (Enumeration e = professionItems.getObjects(); e.hasMoreElements();) - { - items[count++] = DirectoryString.getInstance(e.nextElement()); - } - return items; - } - - /** - * @return Returns the professionOIDs. - */ - public ASN1ObjectIdentifier[] getProfessionOIDs() - { - if (professionOIDs == null) - { - return new ASN1ObjectIdentifier[0]; - } - ASN1ObjectIdentifier[] oids = new ASN1ObjectIdentifier[professionOIDs.size()]; - int count = 0; - for (Enumeration e = professionOIDs.getObjects(); e.hasMoreElements();) - { - oids[count++] = ASN1ObjectIdentifier.getInstance(e.nextElement()); - } - return oids; - } - - /** - * @return Returns the registrationNumber. - */ - public String getRegistrationNumber() - { - return registrationNumber; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java deleted file mode 100644 index 4f296ecf5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.isismtt.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Some other restriction regarding the usage of this certificate. - *

    - *

    - *  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
    - * 
    - */ -public class Restriction - extends ASN1Object -{ - private DirectoryString restriction; - - public static Restriction getInstance(Object obj) - { - if (obj instanceof Restriction) - { - return (Restriction)obj; - } - - if (obj != null) - { - return new Restriction(DirectoryString.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from DirectoryString. - *

    - * The DirectoryString is of type RestrictionSyntax: - *

    - *

    -     *      RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
    -     * 
    - * - * @param restriction A DirectoryString. - */ - private Restriction(DirectoryString restriction) - { - this.restriction = restriction; - } - - /** - * Constructor from a given details. - * - * @param restriction The describtion of the restriction. - */ - public Restriction(String restriction) - { - this.restriction = new DirectoryString(restriction); - } - - public DirectoryString getRestriction() - { - return restriction; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *      RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
    -     * 

    - *

    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - return restriction.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/kisa/KISAObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/kisa/KISAObjectIdentifiers.java deleted file mode 100644 index 986b2a0a1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/kisa/KISAObjectIdentifiers.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.asn1.kisa; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * Korea Information Security Agency (KISA) - * ({iso(1) member-body(2) kr(410) kisa(200004)}) - *

    - * See RFC 4010 - * Use of the SEED Encryption Algorithm - * in Cryptographic Message Syntax (CMS), - * and RFC 4269 - * The SEED Encryption Algorithm - */ -public interface KISAObjectIdentifiers -{ - /** RFC 4010, 4269: id-seedCBC; OID 1.2.410.200004.1.4 */ - static final ASN1ObjectIdentifier id_seedCBC = new ASN1ObjectIdentifier("1.2.410.200004.1.4"); - - /** RFC 4269: id-seedMAC; OID 1.2.410.200004.1.7 */ - static final ASN1ObjectIdentifier id_seedMAC = new ASN1ObjectIdentifier("1.2.410.200004.1.7"); - - /** RFC 4269: pbeWithSHA1AndSEED-CBC; OID 1.2.410.200004.1.15 */ - static final ASN1ObjectIdentifier pbeWithSHA1AndSEED_CBC = new ASN1ObjectIdentifier("1.2.410.200004.1.15"); - - /** RFC 4010: id-npki-app-cmsSeed-wrap; OID 1.2.410.200004.7.1.1.1 */ - static final ASN1ObjectIdentifier id_npki_app_cmsSeed_wrap = new ASN1ObjectIdentifier("1.2.410.200004.7.1.1.1"); - - /** RFC 4010: SeedEncryptionAlgorithmInCMS; OID 1.2.840.113549.1.9.16.0.24 */ - static final ASN1ObjectIdentifier id_mod_cms_seed = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.0.24"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/microsoft/MicrosoftObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/microsoft/MicrosoftObjectIdentifiers.java deleted file mode 100644 index 44b5653e4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/microsoft/MicrosoftObjectIdentifiers.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.asn1.microsoft; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * Microsoft - *

    - * Object identifier base: - *

    - *    iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) microsoft(311)
    - * 
    - * 1.3.6.1.4.1.311 - */ -public interface MicrosoftObjectIdentifiers -{ - /** Base OID: 1.3.6.1.4.1.311 */ - static final ASN1ObjectIdentifier microsoft = new ASN1ObjectIdentifier("1.3.6.1.4.1.311"); - /** OID: 1.3.6.1.4.1.311.20.2 */ - static final ASN1ObjectIdentifier microsoftCertTemplateV1 = microsoft.branch("20.2"); - /** OID: 1.3.6.1.4.1.311.21.1 */ - static final ASN1ObjectIdentifier microsoftCaVersion = microsoft.branch("21.1"); - /** OID: 1.3.6.1.4.1.311.21.2 */ - static final ASN1ObjectIdentifier microsoftPrevCaCertHash = microsoft.branch("21.2"); - /** OID: 1.3.6.1.4.1.311.21.7 */ - static final ASN1ObjectIdentifier microsoftCertTemplateV2 = microsoft.branch("21.7"); - /** OID: 1.3.6.1.4.1.311.21.10 */ - static final ASN1ObjectIdentifier microsoftAppPolicies = microsoft.branch("21.10"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/CAST5CBCParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/CAST5CBCParameters.java deleted file mode 100644 index b611ccd6b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/CAST5CBCParameters.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class CAST5CBCParameters - extends ASN1Object -{ - ASN1Integer keyLength; - ASN1OctetString iv; - - public static CAST5CBCParameters getInstance( - Object o) - { - if (o instanceof CAST5CBCParameters) - { - return (CAST5CBCParameters)o; - } - else if (o != null) - { - return new CAST5CBCParameters(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CAST5CBCParameters( - byte[] iv, - int keyLength) - { - this.iv = new DEROctetString(iv); - this.keyLength = new ASN1Integer(keyLength); - } - - public CAST5CBCParameters( - ASN1Sequence seq) - { - iv = (ASN1OctetString)seq.getObjectAt(0); - keyLength = (ASN1Integer)seq.getObjectAt(1); - } - - public byte[] getIV() - { - return iv.getOctets(); - } - - public int getKeyLength() - { - return keyLength.getValue().intValue(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * cast5CBCParameters ::= SEQUENCE {
    -     *                           iv         OCTET STRING DEFAULT 0,
    -     *                                  -- Initialization vector
    -     *                           keyLength  INTEGER
    -     *                                  -- Key length, in bits
    -     *                      }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(iv); - v.add(keyLength); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/IDEACBCPar.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/IDEACBCPar.java deleted file mode 100644 index cb6ab3c0b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/IDEACBCPar.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class IDEACBCPar - extends ASN1Object -{ - ASN1OctetString iv; - - public static IDEACBCPar getInstance( - Object o) - { - if (o instanceof IDEACBCPar) - { - return (IDEACBCPar)o; - } - else if (o != null) - { - return new IDEACBCPar(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public IDEACBCPar( - byte[] iv) - { - this.iv = new DEROctetString(iv); - } - - public IDEACBCPar( - ASN1Sequence seq) - { - if (seq.size() == 1) - { - iv = (ASN1OctetString)seq.getObjectAt(0); - } - else - { - iv = null; - } - } - - public byte[] getIV() - { - if (iv != null) - { - return iv.getOctets(); - } - else - { - return null; - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * IDEA-CBCPar ::= SEQUENCE {
    -     *                      iv    OCTET STRING OPTIONAL -- exactly 8 octets
    -     *                  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (iv != null) - { - v.add(iv); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/MiscObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/MiscObjectIdentifiers.java deleted file mode 100644 index 318da9a3d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/MiscObjectIdentifiers.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -public interface MiscObjectIdentifiers -{ - // - // Netscape - // iso/itu(2) joint-assign(16) us(840) uscompany(1) netscape(113730) cert-extensions(1) } - // - /** Netscape cert extensions OID base: 2.16.840.1.113730.1 */ - static final ASN1ObjectIdentifier netscape = new ASN1ObjectIdentifier("2.16.840.1.113730.1"); - /** Netscape cert CertType OID: 2.16.840.1.113730.1.1 */ - static final ASN1ObjectIdentifier netscapeCertType = netscape.branch("1"); - /** Netscape cert BaseURL OID: 2.16.840.1.113730.1.2 */ - static final ASN1ObjectIdentifier netscapeBaseURL = netscape.branch("2"); - /** Netscape cert RevocationURL OID: 2.16.840.1.113730.1.3 */ - static final ASN1ObjectIdentifier netscapeRevocationURL = netscape.branch("3"); - /** Netscape cert CARevocationURL OID: 2.16.840.1.113730.1.4 */ - static final ASN1ObjectIdentifier netscapeCARevocationURL = netscape.branch("4"); - /** Netscape cert RenewalURL OID: 2.16.840.1.113730.1.7 */ - static final ASN1ObjectIdentifier netscapeRenewalURL = netscape.branch("7"); - /** Netscape cert CApolicyURL OID: 2.16.840.1.113730.1.8 */ - static final ASN1ObjectIdentifier netscapeCApolicyURL = netscape.branch("8"); - /** Netscape cert SSLServerName OID: 2.16.840.1.113730.1.12 */ - static final ASN1ObjectIdentifier netscapeSSLServerName = netscape.branch("12"); - /** Netscape cert CertComment OID: 2.16.840.1.113730.1.13 */ - static final ASN1ObjectIdentifier netscapeCertComment = netscape.branch("13"); - - // - // Verisign - // iso/itu(2) joint-assign(16) us(840) uscompany(1) verisign(113733) cert-extensions(1) } - // - /** Verisign OID base: 2.16.840.1.113733.1 */ - static final ASN1ObjectIdentifier verisign = new ASN1ObjectIdentifier("2.16.840.1.113733.1"); - - /** Verisign CZAG (Country,Zip,Age,Gender) Extension OID: 2.16.840.1.113733.1.6.3 */ - static final ASN1ObjectIdentifier verisignCzagExtension = verisign.branch("6.3"); - /** Verisign D&B D-U-N-S number Extension OID: 2.16.840.1.113733.1.6.15 */ - static final ASN1ObjectIdentifier verisignDnbDunsNumber = verisign.branch("6.15"); - - // - // Novell - // iso/itu(2) country(16) us(840) organization(1) novell(113719) - // - /** Novell OID base: 2.16.840.1.113719 */ - static final ASN1ObjectIdentifier novell = new ASN1ObjectIdentifier("2.16.840.1.113719"); - /** Novell SecurityAttribs OID: 2.16.840.1.113719.1.9.4.1 */ - static final ASN1ObjectIdentifier novellSecurityAttribs = novell.branch("1.9.4.1"); - - // - // Entrust - // iso(1) member-body(16) us(840) nortelnetworks(113533) entrust(7) - // - /** NortelNetworks Entrust OID base: 1.2.840.113533.7 */ - static final ASN1ObjectIdentifier entrust = new ASN1ObjectIdentifier("1.2.840.113533.7"); - /** NortelNetworks Entrust VersionExtension OID: 1.2.840.113533.7.65.0 */ - static final ASN1ObjectIdentifier entrustVersionExtension = entrust.branch("65.0"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeCertType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeCertType.java deleted file mode 100644 index 03fdf2317..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeCertType.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.DERBitString; - -/** - * The NetscapeCertType object. - *
    - *    NetscapeCertType ::= BIT STRING {
    - *         SSLClient               (0),
    - *         SSLServer               (1),
    - *         S/MIME                  (2),
    - *         Object Signing          (3),
    - *         Reserved                (4),
    - *         SSL CA                  (5),
    - *         S/MIME CA               (6),
    - *         Object Signing CA       (7) }
    - * 
    - */ -public class NetscapeCertType - extends DERBitString -{ - public static final int sslClient = (1 << 7); - public static final int sslServer = (1 << 6); - public static final int smime = (1 << 5); - public static final int objectSigning = (1 << 4); - public static final int reserved = (1 << 3); - public static final int sslCA = (1 << 2); - public static final int smimeCA = (1 << 1); - public static final int objectSigningCA = (1 << 0); - - /** - * Basic constructor. - * - * @param usage - the bitwise OR of the Key Usage flags giving the - * allowed uses for the key. - * e.g. (X509NetscapeCertType.sslCA | X509NetscapeCertType.smimeCA) - */ - public NetscapeCertType( - int usage) - { - super(getBytes(usage), getPadBits(usage)); - } - - public NetscapeCertType( - DERBitString usage) - { - super(usage.getBytes(), usage.getPadBits()); - } - - public String toString() - { - return "NetscapeCertType: 0x" + Integer.toHexString(data[0] & 0xff); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeRevocationURL.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeRevocationURL.java deleted file mode 100644 index 2ae83774c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/NetscapeRevocationURL.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.DERIA5String; - -public class NetscapeRevocationURL - extends DERIA5String -{ - public NetscapeRevocationURL( - DERIA5String str) - { - super(str.getString()); - } - - public String toString() - { - return "NetscapeRevocationURL: " + this.getString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/VerisignCzagExtension.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/VerisignCzagExtension.java deleted file mode 100644 index 810b16088..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/misc/VerisignCzagExtension.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.asn1.misc; - -import org.spongycastle.asn1.DERIA5String; - -public class VerisignCzagExtension - extends DERIA5String -{ - public VerisignCzagExtension( - DERIA5String str) - { - super(str.getString()); - } - - public String toString() - { - return "VerisignCzagExtension: " + this.getString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/mozilla/PublicKeyAndChallenge.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/mozilla/PublicKeyAndChallenge.java deleted file mode 100644 index 93902fa85..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/mozilla/PublicKeyAndChallenge.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.asn1.mozilla; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; - -/** - * This is designed to parse - * the PublicKeyAndChallenge created by the KEYGEN tag included by - * Mozilla based browsers. - *
    - *  PublicKeyAndChallenge ::= SEQUENCE {
    - *    spki SubjectPublicKeyInfo,
    - *    challenge IA5STRING
    - *  }
    - *
    - *  
    - */ -public class PublicKeyAndChallenge - extends ASN1Object -{ - private ASN1Sequence pkacSeq; - private SubjectPublicKeyInfo spki; - private DERIA5String challenge; - - public static PublicKeyAndChallenge getInstance(Object obj) - { - if (obj instanceof PublicKeyAndChallenge) - { - return (PublicKeyAndChallenge)obj; - } - else if (obj != null) - { - return new PublicKeyAndChallenge(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private PublicKeyAndChallenge(ASN1Sequence seq) - { - pkacSeq = seq; - spki = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(0)); - challenge = DERIA5String.getInstance(seq.getObjectAt(1)); - } - - public ASN1Primitive toASN1Primitive() - { - return pkacSeq; - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return spki; - } - - public DERIA5String getChallenge() - { - return challenge; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTNamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTNamedCurves.java deleted file mode 100644 index 9ddc6a3ad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTNamedCurves.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.nist; - -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.sec.SECObjectIdentifiers; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.util.Strings; - -/** - * Utility class for fetching curves using their NIST names as published in FIPS-PUB 186-3 - */ -public class NISTNamedCurves -{ - static final Hashtable objIds = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static void defineCurve(String name, ASN1ObjectIdentifier oid) - { - objIds.put(name, oid); - names.put(oid, name); - } - - static - { - defineCurve("B-571", SECObjectIdentifiers.sect571r1); - defineCurve("B-409", SECObjectIdentifiers.sect409r1); - defineCurve("B-283", SECObjectIdentifiers.sect283r1); - defineCurve("B-233", SECObjectIdentifiers.sect233r1); - defineCurve("B-163", SECObjectIdentifiers.sect163r2); - defineCurve("K-571", SECObjectIdentifiers.sect571k1); - defineCurve("K-409", SECObjectIdentifiers.sect409k1); - defineCurve("K-283", SECObjectIdentifiers.sect283k1); - defineCurve("K-233", SECObjectIdentifiers.sect233k1); - defineCurve("K-163", SECObjectIdentifiers.sect163k1); - defineCurve("P-521", SECObjectIdentifiers.secp521r1); - defineCurve("P-384", SECObjectIdentifiers.secp384r1); - defineCurve("P-256", SECObjectIdentifiers.secp256r1); - defineCurve("P-224", SECObjectIdentifiers.secp224r1); - defineCurve("P-192", SECObjectIdentifiers.secp192r1); - } - - public static X9ECParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(Strings.toUpperCase(name)); - - if (oid != null) - { - return getByOID(oid); - } - - return null; - } - - /** - * return the X9ECParameters object for the named curve represented by - * the passed in object identifier. Null if the curve isn't present. - * - * @param oid an object identifier representing a named curve, if present. - */ - public static X9ECParameters getByOID( - ASN1ObjectIdentifier oid) - { - return SECNamedCurves.getByOID(oid); - } - - /** - * return the object identifier signified by the passed in name. Null - * if there is no object identifier associated with name. - * - * @return the object identifier associated with name, if present. - */ - public static ASN1ObjectIdentifier getOID( - String name) - { - return (ASN1ObjectIdentifier)objIds.get(Strings.toUpperCase(name)); - } - - /** - * return the named curve name represented by the given object identifier. - */ - public static String getName( - ASN1ObjectIdentifier oid) - { - return (String)names.get(oid); - } - - /** - * returns an enumeration containing the name strings for curves - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTObjectIdentifiers.java deleted file mode 100644 index a488008d7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/nist/NISTObjectIdentifiers.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.nist; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * - * NIST: - * iso/itu(2) joint-assign(16) us(840) organization(1) gov(101) csor(3) - */ -public interface NISTObjectIdentifiers -{ - // - // nistalgorithms(4) - // - /** 2.16.840.1.101.3.4 -- algorithms */ - static final ASN1ObjectIdentifier nistAlgorithm = new ASN1ObjectIdentifier("2.16.840.1.101.3.4"); - - /** 2.16.840.1.101.3.4.2 */ - static final ASN1ObjectIdentifier hashAlgs = nistAlgorithm.branch("2"); - - /** 2.16.840.1.101.3.4.2.1 */ - static final ASN1ObjectIdentifier id_sha256 = hashAlgs.branch("1"); - /** 2.16.840.1.101.3.4.2.2 */ - static final ASN1ObjectIdentifier id_sha384 = hashAlgs.branch("2"); - /** 2.16.840.1.101.3.4.2.3 */ - static final ASN1ObjectIdentifier id_sha512 = hashAlgs.branch("3"); - /** 2.16.840.1.101.3.4.2.4 */ - static final ASN1ObjectIdentifier id_sha224 = hashAlgs.branch("4"); - /** 2.16.840.1.101.3.4.2.5 */ - static final ASN1ObjectIdentifier id_sha512_224 = hashAlgs.branch("5"); - /** 2.16.840.1.101.3.4.2.6 */ - static final ASN1ObjectIdentifier id_sha512_256 = hashAlgs.branch("6"); - - /** 2.16.840.1.101.3.4.1 */ - static final ASN1ObjectIdentifier aes = nistAlgorithm.branch("1"); - - /** 2.16.840.1.101.3.4.1.1 */ - static final ASN1ObjectIdentifier id_aes128_ECB = aes.branch("1"); - /** 2.16.840.1.101.3.4.1.2 */ - static final ASN1ObjectIdentifier id_aes128_CBC = aes.branch("2"); - /** 2.16.840.1.101.3.4.1.3 */ - static final ASN1ObjectIdentifier id_aes128_OFB = aes.branch("3"); - /** 2.16.840.1.101.3.4.1.4 */ - static final ASN1ObjectIdentifier id_aes128_CFB = aes.branch("4"); - /** 2.16.840.1.101.3.4.1.5 */ - static final ASN1ObjectIdentifier id_aes128_wrap = aes.branch("5"); - /** 2.16.840.1.101.3.4.1.6 */ - static final ASN1ObjectIdentifier id_aes128_GCM = aes.branch("6"); - /** 2.16.840.1.101.3.4.1.7 */ - static final ASN1ObjectIdentifier id_aes128_CCM = aes.branch("7"); - - /** 2.16.840.1.101.3.4.1.21 */ - static final ASN1ObjectIdentifier id_aes192_ECB = aes.branch("21"); - /** 2.16.840.1.101.3.4.1.22 */ - static final ASN1ObjectIdentifier id_aes192_CBC = aes.branch("22"); - /** 2.16.840.1.101.3.4.1.23 */ - static final ASN1ObjectIdentifier id_aes192_OFB = aes.branch("23"); - /** 2.16.840.1.101.3.4.1.24 */ - static final ASN1ObjectIdentifier id_aes192_CFB = aes.branch("24"); - /** 2.16.840.1.101.3.4.1.25 */ - static final ASN1ObjectIdentifier id_aes192_wrap = aes.branch("25"); - /** 2.16.840.1.101.3.4.1.26 */ - static final ASN1ObjectIdentifier id_aes192_GCM = aes.branch("26"); - /** 2.16.840.1.101.3.4.1.27 */ - static final ASN1ObjectIdentifier id_aes192_CCM = aes.branch("27"); - - /** 2.16.840.1.101.3.4.1.41 */ - static final ASN1ObjectIdentifier id_aes256_ECB = aes.branch("41"); - /** 2.16.840.1.101.3.4.1.42 */ - static final ASN1ObjectIdentifier id_aes256_CBC = aes.branch("42"); - /** 2.16.840.1.101.3.4.1.43 */ - static final ASN1ObjectIdentifier id_aes256_OFB = aes.branch("43"); - /** 2.16.840.1.101.3.4.1.44 */ - static final ASN1ObjectIdentifier id_aes256_CFB = aes.branch("44"); - /** 2.16.840.1.101.3.4.1.45 */ - static final ASN1ObjectIdentifier id_aes256_wrap = aes.branch("45"); - /** 2.16.840.1.101.3.4.1.46 */ - static final ASN1ObjectIdentifier id_aes256_GCM = aes.branch("46"); - /** 2.16.840.1.101.3.4.1.47 */ - static final ASN1ObjectIdentifier id_aes256_CCM = aes.branch("47"); - - // - // signatures - // - /** 2.16.840.1.101.3.4.3 */ - static final ASN1ObjectIdentifier id_dsa_with_sha2 = nistAlgorithm.branch("3"); - - /** 2.16.840.1.101.3.4.3.1 */ - static final ASN1ObjectIdentifier dsa_with_sha224 = id_dsa_with_sha2.branch("1"); - /** 2.16.840.1.101.3.4.3.2 */ - static final ASN1ObjectIdentifier dsa_with_sha256 = id_dsa_with_sha2.branch("2"); - /** 2.16.840.1.101.3.4.3.3 */ - static final ASN1ObjectIdentifier dsa_with_sha384 = id_dsa_with_sha2.branch("3"); - /** 2.16.840.1.101.3.4.3.4 */ - static final ASN1ObjectIdentifier dsa_with_sha512 = id_dsa_with_sha2.branch("4"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ntt/NTTObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ntt/NTTObjectIdentifiers.java deleted file mode 100644 index 3eced4233..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ntt/NTTObjectIdentifiers.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.asn1.ntt; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * From RFC 3657 - * Use of the Camellia Encryption Algorithm - * in Cryptographic Message Syntax (CMS) - */ -public interface NTTObjectIdentifiers -{ - /** id-camellia128-cbc; OID 1.2.392.200011.61.1.1.1.2 */ - static final ASN1ObjectIdentifier id_camellia128_cbc = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.1.2"); - /** id-camellia192-cbc; OID 1.2.392.200011.61.1.1.1.3 */ - static final ASN1ObjectIdentifier id_camellia192_cbc = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.1.3"); - /** id-camellia256-cbc; OID 1.2.392.200011.61.1.1.1.4 */ - static final ASN1ObjectIdentifier id_camellia256_cbc = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.1.4"); - - /** id-camellia128-wrap; OID 1.2.392.200011.61.1.1.3.2 */ - static final ASN1ObjectIdentifier id_camellia128_wrap = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.3.2"); - /** id-camellia192-wrap; OID 1.2.392.200011.61.1.1.3.3 */ - static final ASN1ObjectIdentifier id_camellia192_wrap = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.3.3"); - /** id-camellia256-wrap; OID 1.2.392.200011.61.1.1.3.4 */ - static final ASN1ObjectIdentifier id_camellia256_wrap = new ASN1ObjectIdentifier("1.2.392.200011.61.1.1.3.4"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/BasicOCSPResponse.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/BasicOCSPResponse.java deleted file mode 100644 index 9fa235e9f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/BasicOCSPResponse.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class BasicOCSPResponse - extends ASN1Object -{ - private ResponseData tbsResponseData; - private AlgorithmIdentifier signatureAlgorithm; - private DERBitString signature; - private ASN1Sequence certs; - - public BasicOCSPResponse( - ResponseData tbsResponseData, - AlgorithmIdentifier signatureAlgorithm, - DERBitString signature, - ASN1Sequence certs) - { - this.tbsResponseData = tbsResponseData; - this.signatureAlgorithm = signatureAlgorithm; - this.signature = signature; - this.certs = certs; - } - - private BasicOCSPResponse( - ASN1Sequence seq) - { - this.tbsResponseData = ResponseData.getInstance(seq.getObjectAt(0)); - this.signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - this.signature = (DERBitString)seq.getObjectAt(2); - - if (seq.size() > 3) - { - this.certs = ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(3), true); - } - } - - public static BasicOCSPResponse getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static BasicOCSPResponse getInstance( - Object obj) - { - if (obj instanceof BasicOCSPResponse) - { - return (BasicOCSPResponse)obj; - } - else if (obj != null) - { - return new BasicOCSPResponse(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ResponseData getTbsResponseData() - { - return tbsResponseData; - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return signatureAlgorithm; - } - - public DERBitString getSignature() - { - return signature; - } - - public ASN1Sequence getCerts() - { - return certs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * BasicOCSPResponse       ::= SEQUENCE {
    -     *      tbsResponseData      ResponseData,
    -     *      signatureAlgorithm   AlgorithmIdentifier,
    -     *      signature            BIT STRING,
    -     *      certs                [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(tbsResponseData); - v.add(signatureAlgorithm); - v.add(signature); - if (certs != null) - { - v.add(new DERTaggedObject(true, 0, certs)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertID.java deleted file mode 100644 index 35a13b07c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertID.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class CertID - extends ASN1Object -{ - AlgorithmIdentifier hashAlgorithm; - ASN1OctetString issuerNameHash; - ASN1OctetString issuerKeyHash; - ASN1Integer serialNumber; - - public CertID( - AlgorithmIdentifier hashAlgorithm, - ASN1OctetString issuerNameHash, - ASN1OctetString issuerKeyHash, - ASN1Integer serialNumber) - { - this.hashAlgorithm = hashAlgorithm; - this.issuerNameHash = issuerNameHash; - this.issuerKeyHash = issuerKeyHash; - this.serialNumber = serialNumber; - } - - private CertID( - ASN1Sequence seq) - { - hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - issuerNameHash = (ASN1OctetString)seq.getObjectAt(1); - issuerKeyHash = (ASN1OctetString)seq.getObjectAt(2); - serialNumber = (ASN1Integer)seq.getObjectAt(3); - } - - public static CertID getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static CertID getInstance( - Object obj) - { - if (obj instanceof CertID) - { - return (CertID)obj; - } - else if (obj != null) - { - return new CertID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public ASN1OctetString getIssuerNameHash() - { - return issuerNameHash; - } - - public ASN1OctetString getIssuerKeyHash() - { - return issuerKeyHash; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * CertID          ::=     SEQUENCE {
    -     *     hashAlgorithm       AlgorithmIdentifier,
    -     *     issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
    -     *     issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
    -     *     serialNumber        CertificateSerialNumber }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(hashAlgorithm); - v.add(issuerNameHash); - v.add(issuerKeyHash); - v.add(serialNumber); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertStatus.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertStatus.java deleted file mode 100644 index d0f508c4d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CertStatus.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERTaggedObject; - -public class CertStatus - extends ASN1Object - implements ASN1Choice -{ - private int tagNo; - private ASN1Encodable value; - - /** - * create a CertStatus object with a tag of zero. - */ - public CertStatus() - { - tagNo = 0; - value = DERNull.INSTANCE; - } - - public CertStatus( - RevokedInfo info) - { - tagNo = 1; - value = info; - } - - public CertStatus( - int tagNo, - ASN1Encodable value) - { - this.tagNo = tagNo; - this.value = value; - } - - public CertStatus( - ASN1TaggedObject choice) - { - this.tagNo = choice.getTagNo(); - - switch (choice.getTagNo()) - { - case 0: - value = DERNull.INSTANCE; - break; - case 1: - value = RevokedInfo.getInstance(choice, false); - break; - case 2: - value = DERNull.INSTANCE; - } - } - - public static CertStatus getInstance( - Object obj) - { - if (obj == null || obj instanceof CertStatus) - { - return (CertStatus)obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new CertStatus((ASN1TaggedObject)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public static CertStatus getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public int getTagNo() - { - return tagNo; - } - - public ASN1Encodable getStatus() - { - return value; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  CertStatus ::= CHOICE {
    -     *                  good        [0]     IMPLICIT NULL,
    -     *                  revoked     [1]     IMPLICIT RevokedInfo,
    -     *                  unknown     [2]     IMPLICIT UnknownInfo }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(false, tagNo, value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CrlID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CrlID.java deleted file mode 100644 index 5dead09e3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/CrlID.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class CrlID - extends ASN1Object -{ - private DERIA5String crlUrl; - private ASN1Integer crlNum; - private ASN1GeneralizedTime crlTime; - - private CrlID( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1TaggedObject o = (ASN1TaggedObject)e.nextElement(); - - switch (o.getTagNo()) - { - case 0: - crlUrl = DERIA5String.getInstance(o, true); - break; - case 1: - crlNum = ASN1Integer.getInstance(o, true); - break; - case 2: - crlTime = DERGeneralizedTime.getInstance(o, true); - break; - default: - throw new IllegalArgumentException( - "unknown tag number: " + o.getTagNo()); - } - } - } - - public static CrlID getInstance( - Object obj) - { - if (obj instanceof CrlID) - { - return (CrlID)obj; - } - else if (obj != null) - { - return new CrlID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public DERIA5String getCrlUrl() - { - return crlUrl; - } - - public ASN1Integer getCrlNum() - { - return crlNum; - } - - public ASN1GeneralizedTime getCrlTime() - { - return crlTime; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * CrlID ::= SEQUENCE {
    -     *     crlUrl               [0]     EXPLICIT IA5String OPTIONAL,
    -     *     crlNum               [1]     EXPLICIT INTEGER OPTIONAL,
    -     *     crlTime              [2]     EXPLICIT GeneralizedTime OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (crlUrl != null) - { - v.add(new DERTaggedObject(true, 0, crlUrl)); - } - - if (crlNum != null) - { - v.add(new DERTaggedObject(true, 1, crlNum)); - } - - if (crlTime != null) - { - v.add(new DERTaggedObject(true, 2, crlTime)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPObjectIdentifiers.java deleted file mode 100644 index 6e306c687..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPObjectIdentifiers.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * OIDs for RFC 2560 - * Online Certificate Status Protocol - OCSP. - */ -public interface OCSPObjectIdentifiers -{ - /** OID: 1.3.6.1.5.5.7.48.1 */ - static final ASN1ObjectIdentifier id_pkix_ocsp = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1"); - /** OID: 1.3.6.1.5.5.7.48.1.1 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_basic = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.1"); - - /** OID: 1.3.6.1.5.5.7.48.1.2 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_nonce = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.2"); - /** OID: 1.3.6.1.5.5.7.48.1.3 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_crl = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.3"); - - /** OID: 1.3.6.1.5.5.7.48.1.4 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_response = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.4"); - /** OID: 1.3.6.1.5.5.7.48.1.5 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_nocheck = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.5"); - /** OID: 1.3.6.1.5.5.7.48.1.6 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_archive_cutoff = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.6"); - /** OID: 1.3.6.1.5.5.7.48.1.7 */ - static final ASN1ObjectIdentifier id_pkix_ocsp_service_locator = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1.7"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPRequest.java deleted file mode 100644 index ba8d8c46e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPRequest.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class OCSPRequest - extends ASN1Object -{ - TBSRequest tbsRequest; - Signature optionalSignature; - - public OCSPRequest( - TBSRequest tbsRequest, - Signature optionalSignature) - { - this.tbsRequest = tbsRequest; - this.optionalSignature = optionalSignature; - } - - private OCSPRequest( - ASN1Sequence seq) - { - tbsRequest = TBSRequest.getInstance(seq.getObjectAt(0)); - - if (seq.size() == 2) - { - optionalSignature = Signature.getInstance( - (ASN1TaggedObject)seq.getObjectAt(1), true); - } - } - - public static OCSPRequest getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static OCSPRequest getInstance( - Object obj) - { - if (obj instanceof OCSPRequest) - { - return (OCSPRequest)obj; - } - else if (obj != null) - { - return new OCSPRequest(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public TBSRequest getTbsRequest() - { - return tbsRequest; - } - - public Signature getOptionalSignature() - { - return optionalSignature; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * OCSPRequest     ::=     SEQUENCE {
    -     *     tbsRequest                  TBSRequest,
    -     *     optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(tbsRequest); - - if (optionalSignature != null) - { - v.add(new DERTaggedObject(true, 0, optionalSignature)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponse.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponse.java deleted file mode 100644 index c3bf5813a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponse.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class OCSPResponse - extends ASN1Object -{ - OCSPResponseStatus responseStatus; - ResponseBytes responseBytes; - - public OCSPResponse( - OCSPResponseStatus responseStatus, - ResponseBytes responseBytes) - { - this.responseStatus = responseStatus; - this.responseBytes = responseBytes; - } - - private OCSPResponse( - ASN1Sequence seq) - { - responseStatus = OCSPResponseStatus.getInstance(seq.getObjectAt(0)); - - if (seq.size() == 2) - { - responseBytes = ResponseBytes.getInstance( - (ASN1TaggedObject)seq.getObjectAt(1), true); - } - } - - public static OCSPResponse getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static OCSPResponse getInstance( - Object obj) - { - if (obj instanceof OCSPResponse) - { - return (OCSPResponse)obj; - } - else if (obj != null) - { - return new OCSPResponse(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public OCSPResponseStatus getResponseStatus() - { - return responseStatus; - } - - public ResponseBytes getResponseBytes() - { - return responseBytes; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * OCSPResponse ::= SEQUENCE {
    -     *     responseStatus         OCSPResponseStatus,
    -     *     responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(responseStatus); - - if (responseBytes != null) - { - v.add(new DERTaggedObject(true, 0, responseBytes)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponseStatus.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponseStatus.java deleted file mode 100644 index b9729ce34..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/OCSPResponseStatus.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; - -public class OCSPResponseStatus - extends ASN1Object -{ - public static final int SUCCESSFUL = 0; - public static final int MALFORMED_REQUEST = 1; - public static final int INTERNAL_ERROR = 2; - public static final int TRY_LATER = 3; - public static final int SIG_REQUIRED = 5; - public static final int UNAUTHORIZED = 6; - - private ASN1Enumerated value; - - /** - * The OCSPResponseStatus enumeration. - *
    -     * OCSPResponseStatus ::= ENUMERATED {
    -     *     successful            (0),  --Response has valid confirmations
    -     *     malformedRequest      (1),  --Illegal confirmation request
    -     *     internalError         (2),  --Internal error in issuer
    -     *     tryLater              (3),  --Try again later
    -     *                                 --(4) is not used
    -     *     sigRequired           (5),  --Must sign the request
    -     *     unauthorized          (6)   --Request unauthorized
    -     * }
    -     * 
    - */ - public OCSPResponseStatus( - int value) - { - this(new ASN1Enumerated(value)); - } - - private OCSPResponseStatus( - ASN1Enumerated value) - { - this.value = value; - } - - public static OCSPResponseStatus getInstance( - Object obj) - { - if (obj instanceof OCSPResponseStatus) - { - return (OCSPResponseStatus)obj; - } - else if (obj != null) - { - return new OCSPResponseStatus(ASN1Enumerated.getInstance(obj)); - } - - return null; - } - - public BigInteger getValue() - { - return value.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - return value; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Request.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Request.java deleted file mode 100644 index 62e7fb229..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Request.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; - -public class Request - extends ASN1Object -{ - CertID reqCert; - Extensions singleRequestExtensions; - - public Request( - CertID reqCert, - Extensions singleRequestExtensions) - { - this.reqCert = reqCert; - this.singleRequestExtensions = singleRequestExtensions; - } - - private Request( - ASN1Sequence seq) - { - reqCert = CertID.getInstance(seq.getObjectAt(0)); - - if (seq.size() == 2) - { - singleRequestExtensions = Extensions.getInstance( - (ASN1TaggedObject)seq.getObjectAt(1), true); - } - } - - public static Request getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static Request getInstance( - Object obj) - { - if (obj instanceof Request) - { - return (Request)obj; - } - else if (obj != null) - { - return new Request(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public CertID getReqCert() - { - return reqCert; - } - - public Extensions getSingleRequestExtensions() - { - return singleRequestExtensions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Request         ::=     SEQUENCE {
    -     *     reqCert                     CertID,
    -     *     singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(reqCert); - - if (singleRequestExtensions != null) - { - v.add(new DERTaggedObject(true, 0, singleRequestExtensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponderID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponderID.java deleted file mode 100644 index d53eb7a32..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponderID.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; - -public class ResponderID - extends ASN1Object - implements ASN1Choice -{ - private ASN1Encodable value; - - public ResponderID( - ASN1OctetString value) - { - this.value = value; - } - - public ResponderID( - X500Name value) - { - this.value = value; - } - - public static ResponderID getInstance( - Object obj) - { - if (obj instanceof ResponderID) - { - return (ResponderID)obj; - } - else if (obj instanceof DEROctetString) - { - return new ResponderID((DEROctetString)obj); - } - else if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject o = (ASN1TaggedObject)obj; - - if (o.getTagNo() == 1) - { - return new ResponderID(X500Name.getInstance(o, true)); - } - else - { - return new ResponderID(ASN1OctetString.getInstance(o, true)); - } - } - - return new ResponderID(X500Name.getInstance(obj)); - } - - public static ResponderID getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public byte[] getKeyHash() - { - if (this.value instanceof ASN1OctetString) - { - ASN1OctetString octetString = (ASN1OctetString)this.value; - return octetString.getOctets(); - } - - return null; - } - - public X500Name getName() - { - if (this.value instanceof ASN1OctetString) - { - return null; - } - - return X500Name.getInstance(value); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * ResponderID ::= CHOICE {
    -     *      byName          [1] Name,
    -     *      byKey           [2] KeyHash }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - if (value instanceof ASN1OctetString) - { - return new DERTaggedObject(true, 2, value); - } - - return new DERTaggedObject(true, 1, value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseBytes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseBytes.java deleted file mode 100644 index 790ebee82..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseBytes.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class ResponseBytes - extends ASN1Object -{ - ASN1ObjectIdentifier responseType; - ASN1OctetString response; - - public ResponseBytes( - ASN1ObjectIdentifier responseType, - ASN1OctetString response) - { - this.responseType = responseType; - this.response = response; - } - - public ResponseBytes( - ASN1Sequence seq) - { - responseType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - response = (ASN1OctetString)seq.getObjectAt(1); - } - - public static ResponseBytes getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static ResponseBytes getInstance( - Object obj) - { - if (obj == null || obj instanceof ResponseBytes) - { - return (ResponseBytes)obj; - } - else if (obj instanceof ASN1Sequence) - { - return new ResponseBytes((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public ASN1ObjectIdentifier getResponseType() - { - return responseType; - } - - public ASN1OctetString getResponse() - { - return response; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * ResponseBytes ::=       SEQUENCE {
    -     *     responseType   OBJECT IDENTIFIER,
    -     *     response       OCTET STRING }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(responseType); - v.add(response); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseData.java deleted file mode 100644 index 522e1d7ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ResponseData.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.X509Extensions; - -public class ResponseData - extends ASN1Object -{ - private static final ASN1Integer V1 = new ASN1Integer(0); - - private boolean versionPresent; - - private ASN1Integer version; - private ResponderID responderID; - private ASN1GeneralizedTime producedAt; - private ASN1Sequence responses; - private Extensions responseExtensions; - - public ResponseData( - ASN1Integer version, - ResponderID responderID, - ASN1GeneralizedTime producedAt, - ASN1Sequence responses, - Extensions responseExtensions) - { - this.version = version; - this.responderID = responderID; - this.producedAt = producedAt; - this.responses = responses; - this.responseExtensions = responseExtensions; - } - - /** - * @deprecated use method taking Extensions - * @param responderID - * @param producedAt - * @param responses - * @param responseExtensions - */ - public ResponseData( - ResponderID responderID, - DERGeneralizedTime producedAt, - ASN1Sequence responses, - X509Extensions responseExtensions) - { - this(V1, responderID, ASN1GeneralizedTime.getInstance(producedAt), responses, Extensions.getInstance(responseExtensions)); - } - - public ResponseData( - ResponderID responderID, - ASN1GeneralizedTime producedAt, - ASN1Sequence responses, - Extensions responseExtensions) - { - this(V1, responderID, producedAt, responses, responseExtensions); - } - - private ResponseData( - ASN1Sequence seq) - { - int index = 0; - - if (seq.getObjectAt(0) instanceof ASN1TaggedObject) - { - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); - - if (o.getTagNo() == 0) - { - this.versionPresent = true; - this.version = ASN1Integer.getInstance( - (ASN1TaggedObject)seq.getObjectAt(0), true); - index++; - } - else - { - this.version = V1; - } - } - else - { - this.version = V1; - } - - this.responderID = ResponderID.getInstance(seq.getObjectAt(index++)); - this.producedAt = ASN1GeneralizedTime.getInstance(seq.getObjectAt(index++)); - this.responses = (ASN1Sequence)seq.getObjectAt(index++); - - if (seq.size() > index) - { - this.responseExtensions = Extensions.getInstance( - (ASN1TaggedObject)seq.getObjectAt(index), true); - } - } - - public static ResponseData getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static ResponseData getInstance( - Object obj) - { - if (obj instanceof ResponseData) - { - return (ResponseData)obj; - } - else if (obj != null) - { - return new ResponseData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public ResponderID getResponderID() - { - return responderID; - } - - public ASN1GeneralizedTime getProducedAt() - { - return producedAt; - } - - public ASN1Sequence getResponses() - { - return responses; - } - - public Extensions getResponseExtensions() - { - return responseExtensions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * ResponseData ::= SEQUENCE {
    -     *     version              [0] EXPLICIT Version DEFAULT v1,
    -     *     responderID              ResponderID,
    -     *     producedAt               GeneralizedTime,
    -     *     responses                SEQUENCE OF SingleResponse,
    -     *     responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (versionPresent || !version.equals(V1)) - { - v.add(new DERTaggedObject(true, 0, version)); - } - - v.add(responderID); - v.add(producedAt); - v.add(responses); - if (responseExtensions != null) - { - v.add(new DERTaggedObject(true, 1, responseExtensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/RevokedInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/RevokedInfo.java deleted file mode 100644 index bf9eca77a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/RevokedInfo.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.CRLReason; - -public class RevokedInfo - extends ASN1Object -{ - private ASN1GeneralizedTime revocationTime; - private CRLReason revocationReason; - - public RevokedInfo( - ASN1GeneralizedTime revocationTime, - CRLReason revocationReason) - { - this.revocationTime = revocationTime; - this.revocationReason = revocationReason; - } - - private RevokedInfo( - ASN1Sequence seq) - { - this.revocationTime = ASN1GeneralizedTime.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - this.revocationReason = CRLReason.getInstance(ASN1Enumerated.getInstance( - (ASN1TaggedObject)seq.getObjectAt(1), true)); - } - } - - public static RevokedInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static RevokedInfo getInstance( - Object obj) - { - if (obj instanceof RevokedInfo) - { - return (RevokedInfo)obj; - } - else if (obj != null) - { - return new RevokedInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1GeneralizedTime getRevocationTime() - { - return revocationTime; - } - - public CRLReason getRevocationReason() - { - return revocationReason; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * RevokedInfo ::= SEQUENCE {
    -     *      revocationTime              GeneralizedTime,
    -     *      revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(revocationTime); - if (revocationReason != null) - { - v.add(new DERTaggedObject(true, 0, revocationReason)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ServiceLocator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ServiceLocator.java deleted file mode 100644 index 32aa9b7ee..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/ServiceLocator.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; - -public class ServiceLocator - extends ASN1Object -{ - X500Name issuer; - ASN1Primitive locator; - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * ServiceLocator ::= SEQUENCE {
    -     *     issuer    Name,
    -     *     locator   AuthorityInfoAccessSyntax OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(issuer); - - if (locator != null) - { - v.add(locator); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Signature.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Signature.java deleted file mode 100644 index 776f7066a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/Signature.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class Signature - extends ASN1Object -{ - AlgorithmIdentifier signatureAlgorithm; - DERBitString signature; - ASN1Sequence certs; - - public Signature( - AlgorithmIdentifier signatureAlgorithm, - DERBitString signature) - { - this.signatureAlgorithm = signatureAlgorithm; - this.signature = signature; - } - - public Signature( - AlgorithmIdentifier signatureAlgorithm, - DERBitString signature, - ASN1Sequence certs) - { - this.signatureAlgorithm = signatureAlgorithm; - this.signature = signature; - this.certs = certs; - } - - private Signature( - ASN1Sequence seq) - { - signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - signature = (DERBitString)seq.getObjectAt(1); - - if (seq.size() == 3) - { - certs = ASN1Sequence.getInstance( - (ASN1TaggedObject)seq.getObjectAt(2), true); - } - } - - public static Signature getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static Signature getInstance( - Object obj) - { - if (obj instanceof Signature) - { - return (Signature)obj; - } - else if (obj != null) - { - return new Signature(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return signatureAlgorithm; - } - - public DERBitString getSignature() - { - return signature; - } - - public ASN1Sequence getCerts() - { - return certs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Signature       ::=     SEQUENCE {
    -     *     signatureAlgorithm      AlgorithmIdentifier,
    -     *     signature               BIT STRING,
    -     *     certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL}
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(signatureAlgorithm); - v.add(signature); - - if (certs != null) - { - v.add(new DERTaggedObject(true, 0, certs)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/SingleResponse.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/SingleResponse.java deleted file mode 100644 index f3b29c99e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/SingleResponse.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.X509Extensions; - -public class SingleResponse - extends ASN1Object -{ - private CertID certID; - private CertStatus certStatus; - private ASN1GeneralizedTime thisUpdate; - private ASN1GeneralizedTime nextUpdate; - private Extensions singleExtensions; - - /** - * @deprecated use method taking ASN1GeneralizedTime and Extensions - * @param certID - * @param certStatus - * @param thisUpdate - * @param nextUpdate - * @param singleExtensions - */ - public SingleResponse( - CertID certID, - CertStatus certStatus, - DERGeneralizedTime thisUpdate, - DERGeneralizedTime nextUpdate, - X509Extensions singleExtensions) - { - this(certID, certStatus, thisUpdate, nextUpdate, Extensions.getInstance(singleExtensions)); - } - - /** - * @deprecated use method taking ASN1GeneralizedTime and Extensions - * @param certID - * @param certStatus - * @param thisUpdate - * @param nextUpdate - * @param singleExtensions - */ - public SingleResponse( - CertID certID, - CertStatus certStatus, - DERGeneralizedTime thisUpdate, - DERGeneralizedTime nextUpdate, - Extensions singleExtensions) - { - this(certID, certStatus, ASN1GeneralizedTime.getInstance(thisUpdate), ASN1GeneralizedTime.getInstance(nextUpdate), Extensions.getInstance(singleExtensions)); - } - - public SingleResponse( - CertID certID, - CertStatus certStatus, - ASN1GeneralizedTime thisUpdate, - ASN1GeneralizedTime nextUpdate, - Extensions singleExtensions) - { - this.certID = certID; - this.certStatus = certStatus; - this.thisUpdate = thisUpdate; - this.nextUpdate = nextUpdate; - this.singleExtensions = singleExtensions; - } - - private SingleResponse( - ASN1Sequence seq) - { - this.certID = CertID.getInstance(seq.getObjectAt(0)); - this.certStatus = CertStatus.getInstance(seq.getObjectAt(1)); - this.thisUpdate = ASN1GeneralizedTime.getInstance(seq.getObjectAt(2)); - - if (seq.size() > 4) - { - this.nextUpdate = ASN1GeneralizedTime.getInstance( - (ASN1TaggedObject)seq.getObjectAt(3), true); - this.singleExtensions = Extensions.getInstance( - (ASN1TaggedObject)seq.getObjectAt(4), true); - } - else if (seq.size() > 3) - { - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(3); - - if (o.getTagNo() == 0) - { - this.nextUpdate = ASN1GeneralizedTime.getInstance(o, true); - } - else - { - this.singleExtensions = Extensions.getInstance(o, true); - } - } - } - - public static SingleResponse getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static SingleResponse getInstance( - Object obj) - { - if (obj instanceof SingleResponse) - { - return (SingleResponse)obj; - } - else if (obj != null) - { - return new SingleResponse(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public CertID getCertID() - { - return certID; - } - - public CertStatus getCertStatus() - { - return certStatus; - } - - public ASN1GeneralizedTime getThisUpdate() - { - return thisUpdate; - } - - public ASN1GeneralizedTime getNextUpdate() - { - return nextUpdate; - } - - public Extensions getSingleExtensions() - { - return singleExtensions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  SingleResponse ::= SEQUENCE {
    -     *          certID                       CertID,
    -     *          certStatus                   CertStatus,
    -     *          thisUpdate                   GeneralizedTime,
    -     *          nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
    -     *          singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certID); - v.add(certStatus); - v.add(thisUpdate); - - if (nextUpdate != null) - { - v.add(new DERTaggedObject(true, 0, nextUpdate)); - } - - if (singleExtensions != null) - { - v.add(new DERTaggedObject(true, 1, singleExtensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/TBSRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/TBSRequest.java deleted file mode 100644 index 6c4220bb2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ocsp/TBSRequest.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.spongycastle.asn1.ocsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.X509Extensions; - -public class TBSRequest - extends ASN1Object -{ - private static final ASN1Integer V1 = new ASN1Integer(0); - - ASN1Integer version; - GeneralName requestorName; - ASN1Sequence requestList; - Extensions requestExtensions; - - boolean versionSet; - - /** - * @deprecated use method taking Extensions - * @param requestorName - * @param requestList - * @param requestExtensions - */ - public TBSRequest( - GeneralName requestorName, - ASN1Sequence requestList, - X509Extensions requestExtensions) - { - this.version = V1; - this.requestorName = requestorName; - this.requestList = requestList; - this.requestExtensions = Extensions.getInstance(requestExtensions); - } - - public TBSRequest( - GeneralName requestorName, - ASN1Sequence requestList, - Extensions requestExtensions) - { - this.version = V1; - this.requestorName = requestorName; - this.requestList = requestList; - this.requestExtensions = requestExtensions; - } - - private TBSRequest( - ASN1Sequence seq) - { - int index = 0; - - if (seq.getObjectAt(0) instanceof ASN1TaggedObject) - { - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); - - if (o.getTagNo() == 0) - { - versionSet = true; - version = ASN1Integer.getInstance((ASN1TaggedObject)seq.getObjectAt(0), true); - index++; - } - else - { - version = V1; - } - } - else - { - version = V1; - } - - if (seq.getObjectAt(index) instanceof ASN1TaggedObject) - { - requestorName = GeneralName.getInstance((ASN1TaggedObject)seq.getObjectAt(index++), true); - } - - requestList = (ASN1Sequence)seq.getObjectAt(index++); - - if (seq.size() == (index + 1)) - { - requestExtensions = Extensions.getInstance((ASN1TaggedObject)seq.getObjectAt(index), true); - } - } - - public static TBSRequest getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static TBSRequest getInstance( - Object obj) - { - if (obj instanceof TBSRequest) - { - return (TBSRequest)obj; - } - else if (obj != null) - { - return new TBSRequest(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - public GeneralName getRequestorName() - { - return requestorName; - } - - public ASN1Sequence getRequestList() - { - return requestList; - } - - public Extensions getRequestExtensions() - { - return requestExtensions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * TBSRequest      ::=     SEQUENCE {
    -     *     version             [0]     EXPLICIT Version DEFAULT v1,
    -     *     requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
    -     *     requestList                 SEQUENCE OF Request,
    -     *     requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - // - // if default don't include - unless explicitly provided. Not strictly correct - // but required for some requests - // - if (!version.equals(V1) || versionSet) - { - v.add(new DERTaggedObject(true, 0, version)); - } - - if (requestorName != null) - { - v.add(new DERTaggedObject(true, 1, requestorName)); - } - - v.add(requestList); - - if (requestExtensions != null) - { - v.add(new DERTaggedObject(true, 2, requestExtensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/ElGamalParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/ElGamalParameter.java deleted file mode 100644 index 28ed26326..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/ElGamalParameter.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.asn1.oiw; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class ElGamalParameter - extends ASN1Object -{ - ASN1Integer p, g; - - public ElGamalParameter( - BigInteger p, - BigInteger g) - { - this.p = new ASN1Integer(p); - this.g = new ASN1Integer(g); - } - - public ElGamalParameter( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - p = (ASN1Integer)e.nextElement(); - g = (ASN1Integer)e.nextElement(); - } - - public BigInteger getP() - { - return p.getPositiveValue(); - } - - public BigInteger getG() - { - return g.getPositiveValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(p); - v.add(g); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/OIWObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/OIWObjectIdentifiers.java deleted file mode 100644 index 18bf44b28..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/oiw/OIWObjectIdentifiers.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.spongycastle.asn1.oiw; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * OIW organization's OIDs: - *

    - * id-SHA1 OBJECT IDENTIFIER ::= - * {iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 26 } - */ -public interface OIWObjectIdentifiers -{ - /** OID: 1.3.14.3.2.2 */ - static final ASN1ObjectIdentifier md4WithRSA = new ASN1ObjectIdentifier("1.3.14.3.2.2"); - /** OID: 1.3.14.3.2.3 */ - static final ASN1ObjectIdentifier md5WithRSA = new ASN1ObjectIdentifier("1.3.14.3.2.3"); - /** OID: 1.3.14.3.2.4 */ - static final ASN1ObjectIdentifier md4WithRSAEncryption = new ASN1ObjectIdentifier("1.3.14.3.2.4"); - - /** OID: 1.3.14.3.2.6 */ - static final ASN1ObjectIdentifier desECB = new ASN1ObjectIdentifier("1.3.14.3.2.6"); - /** OID: 1.3.14.3.2.7 */ - static final ASN1ObjectIdentifier desCBC = new ASN1ObjectIdentifier("1.3.14.3.2.7"); - /** OID: 1.3.14.3.2.8 */ - static final ASN1ObjectIdentifier desOFB = new ASN1ObjectIdentifier("1.3.14.3.2.8"); - /** OID: 1.3.14.3.2.9 */ - static final ASN1ObjectIdentifier desCFB = new ASN1ObjectIdentifier("1.3.14.3.2.9"); - - /** OID: 1.3.14.3.2.17 */ - static final ASN1ObjectIdentifier desEDE = new ASN1ObjectIdentifier("1.3.14.3.2.17"); - - /** OID: 1.3.14.3.2.26 */ - static final ASN1ObjectIdentifier idSHA1 = new ASN1ObjectIdentifier("1.3.14.3.2.26"); - - /** OID: 1.3.14.3.2.27 */ - static final ASN1ObjectIdentifier dsaWithSHA1 = new ASN1ObjectIdentifier("1.3.14.3.2.27"); - - /** OID: 1.3.14.3.2.29 */ - static final ASN1ObjectIdentifier sha1WithRSA = new ASN1ObjectIdentifier("1.3.14.3.2.29"); - - /** - *

    -     * ElGamal Algorithm OBJECT IDENTIFIER ::=    
    -     *   {iso(1) identified-organization(3) oiw(14) dirservsig(7) algorithm(2) encryption(1) 1 }
    -     * 
    - * OID: 1.3.14.7.2.1.1 - */ - static final ASN1ObjectIdentifier elGamalAlgorithm = new ASN1ObjectIdentifier("1.3.14.7.2.1.1"); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Attribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Attribute.java deleted file mode 100644 index ea010e74c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Attribute.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; - -public class Attribute - extends ASN1Object -{ - private ASN1ObjectIdentifier attrType; - private ASN1Set attrValues; - - /** - * return an Attribute object from the given object. - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Attribute getInstance( - Object o) - { - if (o == null || o instanceof Attribute) - { - return (Attribute)o; - } - - if (o instanceof ASN1Sequence) - { - return new Attribute((ASN1Sequence)o); - } - - throw new IllegalArgumentException("unknown object in factory: " + o.getClass().getName()); - } - - public Attribute( - ASN1Sequence seq) - { - attrType = (ASN1ObjectIdentifier)seq.getObjectAt(0); - attrValues = (ASN1Set)seq.getObjectAt(1); - } - - public Attribute( - ASN1ObjectIdentifier attrType, - ASN1Set attrValues) - { - this.attrType = attrType; - this.attrValues = attrValues; - } - - public ASN1ObjectIdentifier getAttrType() - { - return attrType; - } - - public ASN1Set getAttrValues() - { - return attrValues; - } - - public ASN1Encodable[] getAttributeValues() - { - return attrValues.toArray(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Attribute ::= SEQUENCE {
    -     *     attrType OBJECT IDENTIFIER,
    -     *     attrValues SET OF AttributeValue
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(attrType); - v.add(attrValues); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/AuthenticatedSafe.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/AuthenticatedSafe.java deleted file mode 100644 index c4a824aea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/AuthenticatedSafe.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DLSequence; - -public class AuthenticatedSafe - extends ASN1Object -{ - private ContentInfo[] info; - private boolean isBer = true; - - private AuthenticatedSafe( - ASN1Sequence seq) - { - info = new ContentInfo[seq.size()]; - - for (int i = 0; i != info.length; i++) - { - info[i] = ContentInfo.getInstance(seq.getObjectAt(i)); - } - - isBer = seq instanceof BERSequence; - } - - public static AuthenticatedSafe getInstance( - Object o) - { - if (o instanceof AuthenticatedSafe) - { - return (AuthenticatedSafe)o; - } - - if (o != null) - { - return new AuthenticatedSafe(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public AuthenticatedSafe( - ContentInfo[] info) - { - this.info = info; - } - - public ContentInfo[] getContentInfo() - { - return info; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != info.length; i++) - { - v.add(info[i]); - } - - if (isBer) - { - return new BERSequence(v); - } - else - { - return new DLSequence(v); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CRLBag.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CRLBag.java deleted file mode 100644 index 9a5268375..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CRLBag.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class CRLBag - extends ASN1Object -{ - private ASN1ObjectIdentifier crlId; - private ASN1Encodable crlValue; - - private CRLBag( - ASN1Sequence seq) - { - this.crlId = (ASN1ObjectIdentifier)seq.getObjectAt(0); - this.crlValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); - } - - public static CRLBag getInstance(Object o) - { - if (o instanceof CRLBag) - { - return (CRLBag)o; - } - else if (o != null) - { - return new CRLBag(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CRLBag( - ASN1ObjectIdentifier crlId, - ASN1Encodable crlValue) - { - this.crlId = crlId; - this.crlValue = crlValue; - } - - public ASN1ObjectIdentifier getcrlId() - { - return crlId; - } - - public ASN1Encodable getCRLValue() - { - return crlValue; - } - - /** - *
    -     CRLBag ::= SEQUENCE {
    -     crlId  BAG-TYPE.&id ({CRLTypes}),
    -     crlValue  [0] EXPLICIT BAG-TYPE.&Type ({CRLTypes}{@crlId})
    -     }
    -
    -     x509CRL BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1}
    -     -- DER-encoded X.509 CRL stored in OCTET STRING
    -
    -     CRLTypes BAG-TYPE ::= {
    -     x509CRL,
    -     ... -- For future extensions
    -     }
    -       
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(crlId); - v.add(new DERTaggedObject(0, crlValue)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertBag.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertBag.java deleted file mode 100644 index 40dd02ed9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertBag.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class CertBag - extends ASN1Object -{ - private ASN1ObjectIdentifier certId; - private ASN1Encodable certValue; - - private CertBag( - ASN1Sequence seq) - { - this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); - this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); - } - - public static CertBag getInstance(Object o) - { - if (o instanceof CertBag) - { - return (CertBag)o; - } - else if (o != null) - { - return new CertBag(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public CertBag( - ASN1ObjectIdentifier certId, - ASN1Encodable certValue) - { - this.certId = certId; - this.certValue = certValue; - } - - public ASN1ObjectIdentifier getCertId() - { - return certId; - } - - public ASN1Encodable getCertValue() - { - return certValue; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(certId); - v.add(new DERTaggedObject(0, certValue)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequest.java deleted file mode 100644 index 68d1d265c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequest.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * PKCS10 Certification request object. - *
    - * CertificationRequest ::= SEQUENCE {
    - *   certificationRequestInfo  CertificationRequestInfo,
    - *   signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
    - *   signature                 BIT STRING
    - * }
    - * 
    - */ -public class CertificationRequest - extends ASN1Object -{ - protected CertificationRequestInfo reqInfo = null; - protected AlgorithmIdentifier sigAlgId = null; - protected DERBitString sigBits = null; - - public static CertificationRequest getInstance(Object o) - { - if (o instanceof CertificationRequest) - { - return (CertificationRequest)o; - } - - if (o != null) - { - return new CertificationRequest(ASN1Sequence.getInstance(o)); - } - - return null; - } - - protected CertificationRequest() - { - } - - public CertificationRequest( - CertificationRequestInfo requestInfo, - AlgorithmIdentifier algorithm, - DERBitString signature) - { - this.reqInfo = requestInfo; - this.sigAlgId = algorithm; - this.sigBits = signature; - } - - public CertificationRequest( - ASN1Sequence seq) - { - reqInfo = CertificationRequestInfo.getInstance(seq.getObjectAt(0)); - sigAlgId = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - sigBits = (DERBitString)seq.getObjectAt(2); - } - - public CertificationRequestInfo getCertificationRequestInfo() - { - return reqInfo; - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return sigAlgId; - } - - public DERBitString getSignature() - { - return sigBits; - } - - public ASN1Primitive toASN1Primitive() - { - // Construct the CertificateRequest - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(reqInfo); - v.add(sigAlgId); - v.add(sigBits); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequestInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequestInfo.java deleted file mode 100644 index e63811030..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/CertificationRequestInfo.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.X509Name; - -/** - * PKCS10 CertificationRequestInfo object. - *
    - *  CertificationRequestInfo ::= SEQUENCE {
    - *   version             INTEGER { v1(0) } (v1,...),
    - *   subject             Name,
    - *   subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
    - *   attributes          [0] Attributes{{ CRIAttributes }}
    - *  }
    - *
    - *  Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
    - *
    - *  Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
    - *    type    ATTRIBUTE.&id({IOSet}),
    - *    values  SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{\@type})
    - *  }
    - * 
    - */ -public class CertificationRequestInfo - extends ASN1Object -{ - ASN1Integer version = new ASN1Integer(0); - X500Name subject; - SubjectPublicKeyInfo subjectPKInfo; - ASN1Set attributes = null; - - public static CertificationRequestInfo getInstance( - Object obj) - { - if (obj instanceof CertificationRequestInfo) - { - return (CertificationRequestInfo)obj; - } - else if (obj != null) - { - return new CertificationRequestInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Basic constructor. - *

    - * Note: Early on a lot of CAs would only accept messages with attributes missing. As the ASN.1 def shows - * the attributes field is not optional so should always at least contain an empty set. If a fully compliant - * request is required, pass in an empty set, the class will otherwise interpret a null as it should - * encode the request with the field missing. - *

    - * - * @param subject subject to be associated with the public key - * @param pkInfo public key to be associated with subject - * @param attributes any attributes to be associated with the request. - */ - public CertificationRequestInfo( - X500Name subject, - SubjectPublicKeyInfo pkInfo, - ASN1Set attributes) - { - this.subject = subject; - this.subjectPKInfo = pkInfo; - this.attributes = attributes; - - if ((subject == null) || (version == null) || (subjectPKInfo == null)) - { - throw new IllegalArgumentException("Not all mandatory fields set in CertificationRequestInfo generator."); - } - } - - /** - * @deprecated use X500Name method. - */ - public CertificationRequestInfo( - X509Name subject, - SubjectPublicKeyInfo pkInfo, - ASN1Set attributes) - { - this.subject = X500Name.getInstance(subject.toASN1Primitive()); - this.subjectPKInfo = pkInfo; - this.attributes = attributes; - - if ((subject == null) || (version == null) || (subjectPKInfo == null)) - { - throw new IllegalArgumentException("Not all mandatory fields set in CertificationRequestInfo generator."); - } - } - - /** - * @deprecated use getInstance(). - */ - public CertificationRequestInfo( - ASN1Sequence seq) - { - version = (ASN1Integer)seq.getObjectAt(0); - - subject = X500Name.getInstance(seq.getObjectAt(1)); - subjectPKInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(2)); - - // - // some CertificationRequestInfo objects seem to treat this field - // as optional. - // - if (seq.size() > 3) - { - DERTaggedObject tagobj = (DERTaggedObject)seq.getObjectAt(3); - attributes = ASN1Set.getInstance(tagobj, false); - } - - if ((subject == null) || (version == null) || (subjectPKInfo == null)) - { - throw new IllegalArgumentException("Not all mandatory fields set in CertificationRequestInfo generator."); - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public X500Name getSubject() - { - return subject; - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return subjectPKInfo; - } - - public ASN1Set getAttributes() - { - return attributes; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(subject); - v.add(subjectPKInfo); - - if (attributes != null) - { - v.add(new DERTaggedObject(false, 0, attributes)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/ContentInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/ContentInfo.java deleted file mode 100644 index a325f0fdc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/ContentInfo.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.DLSequence; - -public class ContentInfo - extends ASN1Object - implements PKCSObjectIdentifiers -{ - private ASN1ObjectIdentifier contentType; - private ASN1Encodable content; - private boolean isBer = true; - - public static ContentInfo getInstance( - Object obj) - { - if (obj instanceof ContentInfo) - { - return (ContentInfo)obj; - } - - if (obj != null) - { - return new ContentInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private ContentInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - contentType = (ASN1ObjectIdentifier)e.nextElement(); - - if (e.hasMoreElements()) - { - content = ((ASN1TaggedObject)e.nextElement()).getObject(); - } - - isBer = seq instanceof BERSequence; - } - - public ContentInfo( - ASN1ObjectIdentifier contentType, - ASN1Encodable content) - { - this.contentType = contentType; - this.content = content; - } - - public ASN1ObjectIdentifier getContentType() - { - return contentType; - } - - public ASN1Encodable getContent() - { - return content; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * ContentInfo ::= SEQUENCE {
    -     *          contentType ContentType,
    -     *          content
    -     *          [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(contentType); - - if (content != null) - { - v.add(new BERTaggedObject(true, 0, content)); - } - - if (isBer) - { - return new BERSequence(v); - } - else - { - return new DLSequence(v); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/DHParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/DHParameter.java deleted file mode 100644 index a427ca212..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/DHParameter.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class DHParameter - extends ASN1Object -{ - ASN1Integer p, g, l; - - public DHParameter( - BigInteger p, - BigInteger g, - int l) - { - this.p = new ASN1Integer(p); - this.g = new ASN1Integer(g); - - if (l != 0) - { - this.l = new ASN1Integer(l); - } - else - { - this.l = null; - } - } - - public static DHParameter getInstance( - Object obj) - { - if (obj instanceof DHParameter) - { - return (DHParameter)obj; - } - - if (obj != null) - { - return new DHParameter(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private DHParameter( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - p = ASN1Integer.getInstance(e.nextElement()); - g = ASN1Integer.getInstance(e.nextElement()); - - if (e.hasMoreElements()) - { - l = (ASN1Integer)e.nextElement(); - } - else - { - l = null; - } - } - - public BigInteger getP() - { - return p.getPositiveValue(); - } - - public BigInteger getG() - { - return g.getPositiveValue(); - } - - public BigInteger getL() - { - if (l == null) - { - return null; - } - - return l.getPositiveValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(p); - v.add(g); - - if (this.getL() != null) - { - v.add(l); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedData.java deleted file mode 100644 index 397758a8f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedData.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * The EncryptedData object. - *
    - *      EncryptedData ::= SEQUENCE {
    - *           version Version,
    - *           encryptedContentInfo EncryptedContentInfo
    - *      }
    - *
    - *
    - *      EncryptedContentInfo ::= SEQUENCE {
    - *          contentType ContentType,
    - *          contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
    - *          encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
    - *    }
    - *
    - *    EncryptedContent ::= OCTET STRING
    - * 
    - */ -public class EncryptedData - extends ASN1Object -{ - ASN1Sequence data; - ASN1ObjectIdentifier bagId; - ASN1Primitive bagValue; - - public static EncryptedData getInstance( - Object obj) - { - if (obj instanceof EncryptedData) - { - return (EncryptedData)obj; - } - - if (obj != null) - { - return new EncryptedData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private EncryptedData( - ASN1Sequence seq) - { - int version = ((ASN1Integer)seq.getObjectAt(0)).getValue().intValue(); - - if (version != 0) - { - throw new IllegalArgumentException("sequence not version 0"); - } - - this.data = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - - public EncryptedData( - ASN1ObjectIdentifier contentType, - AlgorithmIdentifier encryptionAlgorithm, - ASN1Encodable content) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(contentType); - v.add(encryptionAlgorithm.toASN1Primitive()); - v.add(new BERTaggedObject(false, 0, content)); - - data = new BERSequence(v); - } - - public ASN1ObjectIdentifier getContentType() - { - return ASN1ObjectIdentifier.getInstance(data.getObjectAt(0)); - } - - public AlgorithmIdentifier getEncryptionAlgorithm() - { - return AlgorithmIdentifier.getInstance(data.getObjectAt(1)); - } - - public ASN1OctetString getContent() - { - if (data.size() == 3) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(data.getObjectAt(2)); - - return ASN1OctetString.getInstance(o, false); - } - - return null; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(0)); - v.add(data); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java deleted file mode 100644 index 1e48a6218..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class EncryptedPrivateKeyInfo - extends ASN1Object -{ - private AlgorithmIdentifier algId; - private ASN1OctetString data; - - private EncryptedPrivateKeyInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - algId = AlgorithmIdentifier.getInstance(e.nextElement()); - data = ASN1OctetString.getInstance(e.nextElement()); - } - - public EncryptedPrivateKeyInfo( - AlgorithmIdentifier algId, - byte[] encoding) - { - this.algId = algId; - this.data = new DEROctetString(encoding); - } - - public static EncryptedPrivateKeyInfo getInstance( - Object obj) - { - if (obj instanceof EncryptedPrivateKeyInfo) - { - return (EncryptedPrivateKeyInfo)obj; - } - else if (obj != null) - { - return new EncryptedPrivateKeyInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public AlgorithmIdentifier getEncryptionAlgorithm() - { - return algId; - } - - public byte[] getEncryptedData() - { - return data.getOctets(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * EncryptedPrivateKeyInfo ::= SEQUENCE {
    -     *      encryptionAlgorithm AlgorithmIdentifier {{KeyEncryptionAlgorithms}},
    -     *      encryptedData EncryptedData
    -     * }
    -     *
    -     * EncryptedData ::= OCTET STRING
    -     *
    -     * KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
    -     *          ... -- For local profiles
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algId); - v.add(data); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptionScheme.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptionScheme.java deleted file mode 100644 index caaa7b326..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/EncryptionScheme.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class EncryptionScheme - extends ASN1Object -{ - private AlgorithmIdentifier algId; - - public EncryptionScheme( - ASN1ObjectIdentifier objectId, - ASN1Encodable parameters) - { - this.algId = new AlgorithmIdentifier(objectId, parameters); - } - - private EncryptionScheme( - ASN1Sequence seq) - { - this.algId = AlgorithmIdentifier.getInstance(seq); - } - - public static final EncryptionScheme getInstance(Object obj) - { - if (obj instanceof EncryptionScheme) - { - return (EncryptionScheme)obj; - } - else if (obj != null) - { - return new EncryptionScheme(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getAlgorithm() - { - return algId.getAlgorithm(); - } - - public ASN1Encodable getParameters() - { - return algId.getParameters(); - } - - public ASN1Primitive toASN1Primitive() - { - return algId.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/IssuerAndSerialNumber.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/IssuerAndSerialNumber.java deleted file mode 100644 index 1764694bb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/IssuerAndSerialNumber.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.X509Name; - -public class IssuerAndSerialNumber - extends ASN1Object -{ - X500Name name; - ASN1Integer certSerialNumber; - - public static IssuerAndSerialNumber getInstance( - Object obj) - { - if (obj instanceof IssuerAndSerialNumber) - { - return (IssuerAndSerialNumber)obj; - } - else if (obj != null) - { - return new IssuerAndSerialNumber(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private IssuerAndSerialNumber( - ASN1Sequence seq) - { - this.name = X500Name.getInstance(seq.getObjectAt(0)); - this.certSerialNumber = (ASN1Integer)seq.getObjectAt(1); - } - - public IssuerAndSerialNumber( - X509Name name, - BigInteger certSerialNumber) - { - this.name = X500Name.getInstance(name.toASN1Primitive()); - this.certSerialNumber = new ASN1Integer(certSerialNumber); - } - - public IssuerAndSerialNumber( - X509Name name, - ASN1Integer certSerialNumber) - { - this.name = X500Name.getInstance(name.toASN1Primitive()); - this.certSerialNumber = certSerialNumber; - } - - public IssuerAndSerialNumber( - X500Name name, - BigInteger certSerialNumber) - { - this.name = name; - this.certSerialNumber = new ASN1Integer(certSerialNumber); - } - - public X500Name getName() - { - return name; - } - - public ASN1Integer getCertificateSerialNumber() - { - return certSerialNumber; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(name); - v.add(certSerialNumber); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/KeyDerivationFunc.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/KeyDerivationFunc.java deleted file mode 100644 index c6240bd01..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/KeyDerivationFunc.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class KeyDerivationFunc - extends ASN1Object -{ - private AlgorithmIdentifier algId; - - public KeyDerivationFunc( - ASN1ObjectIdentifier objectId, - ASN1Encodable parameters) - { - this.algId = new AlgorithmIdentifier(objectId, parameters); - } - - private KeyDerivationFunc( - ASN1Sequence seq) - { - this.algId = AlgorithmIdentifier.getInstance(seq); - } - - public static final KeyDerivationFunc getInstance(Object obj) - { - if (obj instanceof KeyDerivationFunc) - { - return (KeyDerivationFunc)obj; - } - else if (obj != null) - { - return new KeyDerivationFunc(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getAlgorithm() - { - return algId.getAlgorithm(); - } - - public ASN1Encodable getParameters() - { - return algId.getParameters(); - } - - public ASN1Primitive toASN1Primitive() - { - return algId.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/MacData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/MacData.java deleted file mode 100644 index e1dda07b5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/MacData.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.DigestInfo; - -public class MacData - extends ASN1Object -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - DigestInfo digInfo; - byte[] salt; - BigInteger iterationCount; - - public static MacData getInstance( - Object obj) - { - if (obj instanceof MacData) - { - return (MacData)obj; - } - else if (obj != null) - { - return new MacData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private MacData( - ASN1Sequence seq) - { - this.digInfo = DigestInfo.getInstance(seq.getObjectAt(0)); - - this.salt = ((ASN1OctetString)seq.getObjectAt(1)).getOctets(); - - if (seq.size() == 3) - { - this.iterationCount = ((ASN1Integer)seq.getObjectAt(2)).getValue(); - } - else - { - this.iterationCount = ONE; - } - } - - public MacData( - DigestInfo digInfo, - byte[] salt, - int iterationCount) - { - this.digInfo = digInfo; - this.salt = salt; - this.iterationCount = BigInteger.valueOf(iterationCount); - } - - public DigestInfo getMac() - { - return digInfo; - } - - public byte[] getSalt() - { - return salt; - } - - public BigInteger getIterationCount() - { - return iterationCount; - } - - /** - *
    -     * MacData ::= SEQUENCE {
    -     *     mac      DigestInfo,
    -     *     macSalt  OCTET STRING,
    -     *     iterations INTEGER DEFAULT 1
    -     *     -- Note: The default is for historic reasons and its use is deprecated. A
    -     *     -- higher value, like 1024 is recommended.
    -     * 
    - * @return the basic ASN1Primitive construction. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(digInfo); - v.add(new DEROctetString(salt)); - - if (!iterationCount.equals(ONE)) - { - v.add(new ASN1Integer(iterationCount)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBEParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBEParameter.java deleted file mode 100644 index c70c06549..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBEParameter.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class PBEParameter - extends ASN1Object -{ - ASN1Integer iterations; - ASN1OctetString salt; - - public PBEParameter( - byte[] salt, - int iterations) - { - if (salt.length != 8) - { - throw new IllegalArgumentException("salt length must be 8"); - } - this.salt = new DEROctetString(salt); - this.iterations = new ASN1Integer(iterations); - } - - private PBEParameter( - ASN1Sequence seq) - { - salt = (ASN1OctetString)seq.getObjectAt(0); - iterations = (ASN1Integer)seq.getObjectAt(1); - } - - public static PBEParameter getInstance( - Object obj) - { - if (obj instanceof PBEParameter) - { - return (PBEParameter)obj; - } - else if (obj != null) - { - return new PBEParameter(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public BigInteger getIterationCount() - { - return iterations.getValue(); - } - - public byte[] getSalt() - { - return salt.getOctets(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(salt); - v.add(iterations); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Algorithms.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Algorithms.java deleted file mode 100644 index 1a8d9773a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Algorithms.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * @deprecated - use AlgorithmIdentifier and PBES2Parameters - */ -public class PBES2Algorithms - extends AlgorithmIdentifier implements PKCSObjectIdentifiers -{ - private ASN1ObjectIdentifier objectId; - private KeyDerivationFunc func; - private EncryptionScheme scheme; - - public PBES2Algorithms( - ASN1Sequence obj) - { - super(obj); - - Enumeration e = obj.getObjects(); - - objectId = (ASN1ObjectIdentifier)e.nextElement(); - - ASN1Sequence seq = (ASN1Sequence)e.nextElement(); - - e = seq.getObjects(); - - ASN1Sequence funcSeq = (ASN1Sequence)e.nextElement(); - - if (funcSeq.getObjectAt(0).equals(id_PBKDF2)) - { - func = new KeyDerivationFunc(id_PBKDF2, PBKDF2Params.getInstance(funcSeq.getObjectAt(1))); - } - else - { - func = KeyDerivationFunc.getInstance(funcSeq); - } - - scheme = EncryptionScheme.getInstance(e.nextElement()); - } - - public ASN1ObjectIdentifier getObjectId() - { - return objectId; - } - - public KeyDerivationFunc getKeyDerivationFunc() - { - return func; - } - - public EncryptionScheme getEncryptionScheme() - { - return scheme; - } - - public ASN1Primitive getASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - ASN1EncodableVector subV = new ASN1EncodableVector(); - - v.add(objectId); - - subV.add(func); - subV.add(scheme); - v.add(new DERSequence(subV)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Parameters.java deleted file mode 100644 index 97c1a8dea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBES2Parameters.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PBES2Parameters - extends ASN1Object - implements PKCSObjectIdentifiers -{ - private KeyDerivationFunc func; - private EncryptionScheme scheme; - - public static PBES2Parameters getInstance( - Object obj) - { - if (obj instanceof PBES2Parameters) - { - return (PBES2Parameters)obj; - } - if (obj != null) - { - return new PBES2Parameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public PBES2Parameters(KeyDerivationFunc keyDevFunc, EncryptionScheme encScheme) - { - this.func = keyDevFunc; - this.scheme = encScheme; - } - - private PBES2Parameters( - ASN1Sequence obj) - { - Enumeration e = obj.getObjects(); - ASN1Sequence funcSeq = ASN1Sequence.getInstance(((ASN1Encodable)e.nextElement()).toASN1Primitive()); - - if (funcSeq.getObjectAt(0).equals(id_PBKDF2)) - { - func = new KeyDerivationFunc(id_PBKDF2, PBKDF2Params.getInstance(funcSeq.getObjectAt(1))); - } - else - { - func = KeyDerivationFunc.getInstance(funcSeq); - } - - scheme = EncryptionScheme.getInstance(e.nextElement()); - } - - public KeyDerivationFunc getKeyDerivationFunc() - { - return func; - } - - public EncryptionScheme getEncryptionScheme() - { - return scheme; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(func); - v.add(scheme); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBKDF2Params.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBKDF2Params.java deleted file mode 100644 index e825888d4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PBKDF2Params.java +++ /dev/null @@ -1,248 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - *
    - *     PBKDF2-params ::= SEQUENCE {
    - *               salt CHOICE {
    - *                      specified OCTET STRING,
    - *                      otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}}
    - *               },
    - *              iterationCount INTEGER (1..MAX),
    - *              keyLength INTEGER (1..MAX) OPTIONAL,
    - *              prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1 }
    - * 
    - */ -public class PBKDF2Params - extends ASN1Object -{ - private static final AlgorithmIdentifier algid_hmacWithSHA1 = new AlgorithmIdentifier(PKCSObjectIdentifiers.id_hmacWithSHA1, DERNull.INSTANCE); - - private ASN1OctetString octStr; - private ASN1Integer iterationCount; - private ASN1Integer keyLength; - private AlgorithmIdentifier prf; - - /** - * Create PBKDF2Params from the passed in object, - * - * @param obj either PBKDF2Params or an ASN2Sequence. - * @return a PBKDF2Params instance. - */ - public static PBKDF2Params getInstance( - Object obj) - { - if (obj instanceof PBKDF2Params) - { - return (PBKDF2Params)obj; - } - - if (obj != null) - { - return new PBKDF2Params(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Create a PBKDF2Params with the specified salt, iteration count, and algid-hmacWithSHA1 for the prf. - * - * @param salt input salt. - * @param iterationCount input iteration count. - */ - public PBKDF2Params( - byte[] salt, - int iterationCount) - { - this.octStr = new DEROctetString(salt); - this.iterationCount = new ASN1Integer(iterationCount); - } - - /** - * Create a PBKDF2Params with the specified salt, iteration count, keyLength, and algid-hmacWithSHA1 for the prf. - * - * @param salt input salt. - * @param iterationCount input iteration count. - * @param keyLength intended key length to be produced. - */ - public PBKDF2Params( - byte[] salt, - int iterationCount, - int keyLength) - { - this(salt, iterationCount); - - this.keyLength = new ASN1Integer(keyLength); - } - - /** - * Create a PBKDF2Params with the specified salt, iteration count, keyLength, and a defined prf. - * - * @param salt input salt. - * @param iterationCount input iteration count. - * @param keyLength intended key length to be produced. - * @param prf the pseudo-random function to use. - */ - public PBKDF2Params( - byte[] salt, - int iterationCount, - int keyLength, - AlgorithmIdentifier prf) - { - this(salt, iterationCount); - - this.keyLength = new ASN1Integer(keyLength); - this.prf = prf; - } - - /** - * Create a PBKDF2Params with the specified salt, iteration count, and a defined prf. - * - * @param salt input salt. - * @param iterationCount input iteration count. - * @param prf the pseudo-random function to use. - */ - public PBKDF2Params( - byte[] salt, - int iterationCount, - AlgorithmIdentifier prf) - { - this(salt, iterationCount); - this.prf = prf; - } - - private PBKDF2Params( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - octStr = (ASN1OctetString)e.nextElement(); - iterationCount = (ASN1Integer)e.nextElement(); - - if (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o instanceof ASN1Integer) - { - keyLength = ASN1Integer.getInstance(o); - if (e.hasMoreElements()) - { - o = e.nextElement(); - } - else - { - o = null; - } - } - else - { - keyLength = null; - } - - if (o != null) - { - prf = AlgorithmIdentifier.getInstance(o); - } - } - } - - /** - * Return the salt to use. - * - * @return the input salt. - */ - public byte[] getSalt() - { - return octStr.getOctets(); - } - - /** - * Return the iteration count to use. - * - * @return the input iteration count. - */ - public BigInteger getIterationCount() - { - return iterationCount.getValue(); - } - - /** - * Return the intended length in octets of the derived key. - * - * @return length in octets for derived key, if specified. - */ - public BigInteger getKeyLength() - { - if (keyLength != null) - { - return keyLength.getValue(); - } - - return null; - } - - /** - * Return true if the PRF is the default (hmacWithSHA1) - * - * @return true if PRF is default, false otherwise. - */ - public boolean isDefaultPrf() - { - return prf == null || prf.equals(algid_hmacWithSHA1); - } - - /** - * Return the algId of the underlying pseudo random function to use. - * - * @return the prf algorithm identifier. - */ - public AlgorithmIdentifier getPrf() - { - if (prf != null) - { - return prf; - } - - return algid_hmacWithSHA1; - } - - /** - * Return an ASN.1 structure suitable for encoding. - * - * @return the object as an ASN.1 encodable structure. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(octStr); - v.add(iterationCount); - - if (keyLength != null) - { - v.add(keyLength); - } - - if (prf != null && !prf.equals(algid_hmacWithSHA1)) - { - v.add(prf); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCS12PBEParams.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCS12PBEParams.java deleted file mode 100644 index dd6400e2d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCS12PBEParams.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class PKCS12PBEParams - extends ASN1Object -{ - ASN1Integer iterations; - ASN1OctetString iv; - - public PKCS12PBEParams( - byte[] salt, - int iterations) - { - this.iv = new DEROctetString(salt); - this.iterations = new ASN1Integer(iterations); - } - - private PKCS12PBEParams( - ASN1Sequence seq) - { - iv = (ASN1OctetString)seq.getObjectAt(0); - iterations = ASN1Integer.getInstance(seq.getObjectAt(1)); - } - - public static PKCS12PBEParams getInstance( - Object obj) - { - if (obj instanceof PKCS12PBEParams) - { - return (PKCS12PBEParams)obj; - } - else if (obj != null) - { - return new PKCS12PBEParams(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public BigInteger getIterations() - { - return iterations.getValue(); - } - - public byte[] getIV() - { - return iv.getOctets(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(iv); - v.add(iterations); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCSObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCSObjectIdentifiers.java deleted file mode 100644 index f9acf0813..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PKCSObjectIdentifiers.java +++ /dev/null @@ -1,390 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * pkcs-1 OBJECT IDENTIFIER ::=

    - * { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 } - * - */ -public interface PKCSObjectIdentifiers -{ - /** PKCS#1: 1.2.840.113549.1.1 */ - static final ASN1ObjectIdentifier pkcs_1 = new ASN1ObjectIdentifier("1.2.840.113549.1.1"); - /** PKCS#1: 1.2.840.113549.1.1.1 */ - static final ASN1ObjectIdentifier rsaEncryption = pkcs_1.branch("1"); - /** PKCS#1: 1.2.840.113549.1.1.2 */ - static final ASN1ObjectIdentifier md2WithRSAEncryption = pkcs_1.branch("2"); - /** PKCS#1: 1.2.840.113549.1.1.3 */ - static final ASN1ObjectIdentifier md4WithRSAEncryption = pkcs_1.branch("3"); - /** PKCS#1: 1.2.840.113549.1.1.4 */ - static final ASN1ObjectIdentifier md5WithRSAEncryption = pkcs_1.branch("4"); - /** PKCS#1: 1.2.840.113549.1.1.5 */ - static final ASN1ObjectIdentifier sha1WithRSAEncryption = pkcs_1.branch("5"); - /** PKCS#1: 1.2.840.113549.1.1.6 */ - static final ASN1ObjectIdentifier srsaOAEPEncryptionSET = pkcs_1.branch("6"); - /** PKCS#1: 1.2.840.113549.1.1.7 */ - static final ASN1ObjectIdentifier id_RSAES_OAEP = pkcs_1.branch("7"); - /** PKCS#1: 1.2.840.113549.1.1.8 */ - static final ASN1ObjectIdentifier id_mgf1 = pkcs_1.branch("8"); - /** PKCS#1: 1.2.840.113549.1.1.9 */ - static final ASN1ObjectIdentifier id_pSpecified = pkcs_1.branch("9"); - /** PKCS#1: 1.2.840.113549.1.1.10 */ - static final ASN1ObjectIdentifier id_RSASSA_PSS = pkcs_1.branch("10"); - /** PKCS#1: 1.2.840.113549.1.1.11 */ - static final ASN1ObjectIdentifier sha256WithRSAEncryption = pkcs_1.branch("11"); - /** PKCS#1: 1.2.840.113549.1.1.12 */ - static final ASN1ObjectIdentifier sha384WithRSAEncryption = pkcs_1.branch("12"); - /** PKCS#1: 1.2.840.113549.1.1.13 */ - static final ASN1ObjectIdentifier sha512WithRSAEncryption = pkcs_1.branch("13"); - /** PKCS#1: 1.2.840.113549.1.1.14 */ - static final ASN1ObjectIdentifier sha224WithRSAEncryption = pkcs_1.branch("14"); - - // - // pkcs-3 OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 3 } - // - /** PKCS#3: 1.2.840.113549.1.3 */ - static final ASN1ObjectIdentifier pkcs_3 = new ASN1ObjectIdentifier("1.2.840.113549.1.3"); - /** PKCS#3: 1.2.840.113549.1.3.1 */ - static final ASN1ObjectIdentifier dhKeyAgreement = pkcs_3.branch("1"); - - // - // pkcs-5 OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 5 } - // - /** PKCS#5: 1.2.840.113549.1.5 */ - static final ASN1ObjectIdentifier pkcs_5 = new ASN1ObjectIdentifier("1.2.840.113549.1.5"); - - /** PKCS#5: 1.2.840.113549.1.5.1 */ - static final ASN1ObjectIdentifier pbeWithMD2AndDES_CBC = pkcs_5.branch("1"); - /** PKCS#5: 1.2.840.113549.1.5.4 */ - static final ASN1ObjectIdentifier pbeWithMD2AndRC2_CBC = pkcs_5.branch("4"); - /** PKCS#5: 1.2.840.113549.1.5.3 */ - static final ASN1ObjectIdentifier pbeWithMD5AndDES_CBC = pkcs_5.branch("3"); - /** PKCS#5: 1.2.840.113549.1.5.6 */ - static final ASN1ObjectIdentifier pbeWithMD5AndRC2_CBC = pkcs_5.branch("6"); - /** PKCS#5: 1.2.840.113549.1.5.10 */ - static final ASN1ObjectIdentifier pbeWithSHA1AndDES_CBC = pkcs_5.branch("10"); - /** PKCS#5: 1.2.840.113549.1.5.11 */ - static final ASN1ObjectIdentifier pbeWithSHA1AndRC2_CBC = pkcs_5.branch("11"); - /** PKCS#5: 1.2.840.113549.1.5.13 */ - static final ASN1ObjectIdentifier id_PBES2 = pkcs_5.branch("13"); - /** PKCS#5: 1.2.840.113549.1.5.12 */ - static final ASN1ObjectIdentifier id_PBKDF2 = pkcs_5.branch("12"); - - // - // encryptionAlgorithm OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) 3 } - // - /** 1.2.840.113549.3 */ - static final ASN1ObjectIdentifier encryptionAlgorithm = new ASN1ObjectIdentifier("1.2.840.113549.3"); - - /** 1.2.840.113549.3.7 */ - static final ASN1ObjectIdentifier des_EDE3_CBC = encryptionAlgorithm.branch("7"); - /** 1.2.840.113549.3.2 */ - static final ASN1ObjectIdentifier RC2_CBC = encryptionAlgorithm.branch("2"); - /** 1.2.840.113549.3.4 */ - static final ASN1ObjectIdentifier rc4 = encryptionAlgorithm.branch("4"); - - // - // object identifiers for digests - // - /** 1.2.840.113549.2 */ - static final ASN1ObjectIdentifier digestAlgorithm = new ASN1ObjectIdentifier("1.2.840.113549.2"); - // - // md2 OBJECT IDENTIFIER ::= - // {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 2} - // - /** 1.2.840.113549.2.2 */ - static final ASN1ObjectIdentifier md2 = digestAlgorithm.branch("2"); - - // - // md4 OBJECT IDENTIFIER ::= - // {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 4} - // - /** 1.2.840.113549.2.4 */ - static final ASN1ObjectIdentifier md4 = digestAlgorithm.branch("4"); - - // - // md5 OBJECT IDENTIFIER ::= - // {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5} - // - /** 1.2.840.113549.2.5 */ - static final ASN1ObjectIdentifier md5 = digestAlgorithm.branch("5"); - - /** 1.2.840.113549.2.7 */ - static final ASN1ObjectIdentifier id_hmacWithSHA1 = digestAlgorithm.branch("7"); - /** 1.2.840.113549.2.8 */ - static final ASN1ObjectIdentifier id_hmacWithSHA224 = digestAlgorithm.branch("8"); - /** 1.2.840.113549.2.9 */ - static final ASN1ObjectIdentifier id_hmacWithSHA256 = digestAlgorithm.branch("9"); - /** 1.2.840.113549.2.10 */ - static final ASN1ObjectIdentifier id_hmacWithSHA384 = digestAlgorithm.branch("10"); - /** 1.2.840.113549.2.11 */ - static final ASN1ObjectIdentifier id_hmacWithSHA512 = digestAlgorithm.branch("11"); - - // - // pkcs-7 OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 7 } - // - /** pkcs#7: 1.2.840.113549.1.7 */ - static final ASN1ObjectIdentifier pkcs_7 = new ASN1ObjectIdentifier("1.2.840.113549.1.7"); - /** PKCS#7: 1.2.840.113549.1.7.1 */ - static final ASN1ObjectIdentifier data = new ASN1ObjectIdentifier("1.2.840.113549.1.7.1"); - /** PKCS#7: 1.2.840.113549.1.7.2 */ - static final ASN1ObjectIdentifier signedData = new ASN1ObjectIdentifier("1.2.840.113549.1.7.2"); - /** PKCS#7: 1.2.840.113549.1.7.3 */ - static final ASN1ObjectIdentifier envelopedData = new ASN1ObjectIdentifier("1.2.840.113549.1.7.3"); - /** PKCS#7: 1.2.840.113549.1.7.4 */ - static final ASN1ObjectIdentifier signedAndEnvelopedData = new ASN1ObjectIdentifier("1.2.840.113549.1.7.4"); - /** PKCS#7: 1.2.840.113549.1.7.5 */ - static final ASN1ObjectIdentifier digestedData = new ASN1ObjectIdentifier("1.2.840.113549.1.7.5"); - /** PKCS#7: 1.2.840.113549.1.7.76 */ - static final ASN1ObjectIdentifier encryptedData = new ASN1ObjectIdentifier("1.2.840.113549.1.7.6"); - - // - // pkcs-9 OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 } - // - /** PKCS#9: 1.2.840.113549.1.9 */ - static final ASN1ObjectIdentifier pkcs_9 = new ASN1ObjectIdentifier("1.2.840.113549.1.9"); - - /** PKCS#9: 1.2.840.113549.1.9.1 */ - static final ASN1ObjectIdentifier pkcs_9_at_emailAddress = pkcs_9.branch("1"); - /** PKCS#9: 1.2.840.113549.1.9.2 */ - static final ASN1ObjectIdentifier pkcs_9_at_unstructuredName = pkcs_9.branch("2"); - /** PKCS#9: 1.2.840.113549.1.9.3 */ - static final ASN1ObjectIdentifier pkcs_9_at_contentType = pkcs_9.branch("3"); - /** PKCS#9: 1.2.840.113549.1.9.4 */ - static final ASN1ObjectIdentifier pkcs_9_at_messageDigest = pkcs_9.branch("4"); - /** PKCS#9: 1.2.840.113549.1.9.5 */ - static final ASN1ObjectIdentifier pkcs_9_at_signingTime = pkcs_9.branch("5"); - /** PKCS#9: 1.2.840.113549.1.9.6 */ - static final ASN1ObjectIdentifier pkcs_9_at_counterSignature = pkcs_9.branch("6"); - /** PKCS#9: 1.2.840.113549.1.9.7 */ - static final ASN1ObjectIdentifier pkcs_9_at_challengePassword = pkcs_9.branch("7"); - /** PKCS#9: 1.2.840.113549.1.9.8 */ - static final ASN1ObjectIdentifier pkcs_9_at_unstructuredAddress = pkcs_9.branch("8"); - /** PKCS#9: 1.2.840.113549.1.9.9 */ - static final ASN1ObjectIdentifier pkcs_9_at_extendedCertificateAttributes = pkcs_9.branch("9"); - - /** PKCS#9: 1.2.840.113549.1.9.13 */ - static final ASN1ObjectIdentifier pkcs_9_at_signingDescription = pkcs_9.branch("13"); - /** PKCS#9: 1.2.840.113549.1.9.14 */ - static final ASN1ObjectIdentifier pkcs_9_at_extensionRequest = pkcs_9.branch("14"); - /** PKCS#9: 1.2.840.113549.1.9.15 */ - static final ASN1ObjectIdentifier pkcs_9_at_smimeCapabilities = pkcs_9.branch("15"); - /** PKCS#9: 1.2.840.113549.1.9.16 */ - static final ASN1ObjectIdentifier id_smime = pkcs_9.branch("16"); - - /** PKCS#9: 1.2.840.113549.1.9.20 */ - static final ASN1ObjectIdentifier pkcs_9_at_friendlyName = pkcs_9.branch("20"); - /** PKCS#9: 1.2.840.113549.1.9.21 */ - static final ASN1ObjectIdentifier pkcs_9_at_localKeyId = pkcs_9.branch("21"); - - /** PKCS#9: 1.2.840.113549.1.9.22.1 - * @deprecated use x509Certificate instead */ - static final ASN1ObjectIdentifier x509certType = pkcs_9.branch("22.1"); - - /** PKCS#9: 1.2.840.113549.1.9.22 */ - static final ASN1ObjectIdentifier certTypes = pkcs_9.branch("22"); - /** PKCS#9: 1.2.840.113549.1.9.22.1 */ - static final ASN1ObjectIdentifier x509Certificate = certTypes.branch("1"); - /** PKCS#9: 1.2.840.113549.1.9.22.2 */ - static final ASN1ObjectIdentifier sdsiCertificate = certTypes.branch("2"); - - /** PKCS#9: 1.2.840.113549.1.9.23 */ - static final ASN1ObjectIdentifier crlTypes = pkcs_9.branch("23"); - /** PKCS#9: 1.2.840.113549.1.9.23.1 */ - static final ASN1ObjectIdentifier x509Crl = crlTypes.branch("1"); - - // - // SMIME capability sub oids. - // - /** PKCS#9: 1.2.840.113549.1.9.15.1 -- smime capability */ - static final ASN1ObjectIdentifier preferSignedData = pkcs_9.branch("15.1"); - /** PKCS#9: 1.2.840.113549.1.9.15.2 -- smime capability */ - static final ASN1ObjectIdentifier canNotDecryptAny = pkcs_9.branch("15.2"); - /** PKCS#9: 1.2.840.113549.1.9.15.3 -- smime capability */ - static final ASN1ObjectIdentifier sMIMECapabilitiesVersions = pkcs_9.branch("15.3"); - - // - // id-ct OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840) - // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1)} - // - /** PKCS#9: 1.2.840.113549.1.9.16.1 -- smime ct */ - static final ASN1ObjectIdentifier id_ct = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.1"); - - /** PKCS#9: 1.2.840.113549.1.9.16.1.2 -- smime ct authData */ - static final ASN1ObjectIdentifier id_ct_authData = id_ct.branch("2"); - /** PKCS#9: 1.2.840.113549.1.9.16.1.4 -- smime ct TSTInfo*/ - static final ASN1ObjectIdentifier id_ct_TSTInfo = id_ct.branch("4"); - /** PKCS#9: 1.2.840.113549.1.9.16.1.9 -- smime ct compressedData */ - static final ASN1ObjectIdentifier id_ct_compressedData = id_ct.branch("9"); - /** PKCS#9: 1.2.840.113549.1.9.16.1.23 -- smime ct authEnvelopedData */ - static final ASN1ObjectIdentifier id_ct_authEnvelopedData = id_ct.branch("23"); - /** PKCS#9: 1.2.840.113549.1.9.16.1.31 -- smime ct timestampedData*/ - static final ASN1ObjectIdentifier id_ct_timestampedData = id_ct.branch("31"); - - - /** S/MIME: Algorithm Identifiers ; 1.2.840.113549.1.9.16.3 */ - static final ASN1ObjectIdentifier id_alg = id_smime.branch("3"); - /** PKCS#9: 1.2.840.113549.1.9.16.3.9 */ - static final ASN1ObjectIdentifier id_alg_PWRI_KEK = id_alg.branch("9"); - - // - // id-cti OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840) - // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) cti(6)} - // - /** PKCS#9: 1.2.840.113549.1.9.16.6 -- smime cti */ - static final ASN1ObjectIdentifier id_cti = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.6"); - - /** PKCS#9: 1.2.840.113549.1.9.16.6.1 -- smime cti proofOfOrigin */ - static final ASN1ObjectIdentifier id_cti_ets_proofOfOrigin = id_cti.branch("1"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2 -- smime cti proofOfReceipt*/ - static final ASN1ObjectIdentifier id_cti_ets_proofOfReceipt = id_cti.branch("2"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.3 -- smime cti proofOfDelivery */ - static final ASN1ObjectIdentifier id_cti_ets_proofOfDelivery = id_cti.branch("3"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.4 -- smime cti proofOfSender */ - static final ASN1ObjectIdentifier id_cti_ets_proofOfSender = id_cti.branch("4"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.5 -- smime cti proofOfApproval */ - static final ASN1ObjectIdentifier id_cti_ets_proofOfApproval = id_cti.branch("5"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.6 -- smime cti proofOfCreation */ - static final ASN1ObjectIdentifier id_cti_ets_proofOfCreation = id_cti.branch("6"); - - // - // id-aa OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840) - // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) attributes(2)} - // - /** PKCS#9: 1.2.840.113549.1.9.16.6.2 - smime attributes */ - static final ASN1ObjectIdentifier id_aa = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.2"); - - - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.1 -- smime attribute receiptRequest */ - static final ASN1ObjectIdentifier id_aa_receiptRequest = id_aa.branch("1"); - - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.4 - See RFC 2634 */ - static final ASN1ObjectIdentifier id_aa_contentHint = id_aa.branch("4"); // See RFC 2634 - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.5 */ - static final ASN1ObjectIdentifier id_aa_msgSigDigest = id_aa.branch("5"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.10 */ - static final ASN1ObjectIdentifier id_aa_contentReference = id_aa.branch("10"); - /* - * id-aa-encrypKeyPref OBJECT IDENTIFIER ::= {id-aa 11} - * - */ - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.11 */ - static final ASN1ObjectIdentifier id_aa_encrypKeyPref = id_aa.branch("11"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.12 */ - static final ASN1ObjectIdentifier id_aa_signingCertificate = id_aa.branch("12"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.47 */ - static final ASN1ObjectIdentifier id_aa_signingCertificateV2 = id_aa.branch("47"); - - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.7 - See RFC 2634 */ - static final ASN1ObjectIdentifier id_aa_contentIdentifier = id_aa.branch("7"); // See RFC 2634 - - /* - * RFC 3126 - */ - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.14 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_signatureTimeStampToken = id_aa.branch("14"); - - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.15 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_sigPolicyId = id_aa.branch("15"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.16 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_commitmentType = id_aa.branch("16"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.17 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_signerLocation = id_aa.branch("17"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.18 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_signerAttr = id_aa.branch("18"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.19 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_otherSigCert = id_aa.branch("19"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.20 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_contentTimestamp = id_aa.branch("20"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.21 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_certificateRefs = id_aa.branch("21"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.22 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_revocationRefs = id_aa.branch("22"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.23 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_certValues = id_aa.branch("23"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.24 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_revocationValues = id_aa.branch("24"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.25 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_escTimeStamp = id_aa.branch("25"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.26 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_certCRLTimestamp = id_aa.branch("26"); - /** PKCS#9: 1.2.840.113549.1.9.16.6.2.27 - RFC 3126 */ - static final ASN1ObjectIdentifier id_aa_ets_archiveTimestamp = id_aa.branch("27"); - - /** @deprecated use id_aa_ets_sigPolicyId instead */ - static final ASN1ObjectIdentifier id_aa_sigPolicyId = id_aa_ets_sigPolicyId; - /** @deprecated use id_aa_ets_commitmentType instead */ - static final ASN1ObjectIdentifier id_aa_commitmentType = id_aa_ets_commitmentType; - /** @deprecated use id_aa_ets_signerLocation instead */ - static final ASN1ObjectIdentifier id_aa_signerLocation = id_aa_ets_signerLocation; - /** @deprecated use id_aa_ets_otherSigCert instead */ - static final ASN1ObjectIdentifier id_aa_otherSigCert = id_aa_ets_otherSigCert; - - /** - * id-spq OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840) - * rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-spq(5)};

    - * 1.2.840.113549.1.9.16.5 - */ - final String id_spq = "1.2.840.113549.1.9.16.5"; - - /** SMIME SPQ URI: 1.2.840.113549.1.9.16.5.1 */ - static final ASN1ObjectIdentifier id_spq_ets_uri = new ASN1ObjectIdentifier(id_spq + ".1"); - /** SMIME SPQ UNOTICE: 1.2.840.113549.1.9.16.5.2 */ - static final ASN1ObjectIdentifier id_spq_ets_unotice = new ASN1ObjectIdentifier(id_spq + ".2"); - - // - // pkcs-12 OBJECT IDENTIFIER ::= { - // iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 12 } - // - /** PKCS#12: 1.2.840.113549.1.12 */ - static final ASN1ObjectIdentifier pkcs_12 = new ASN1ObjectIdentifier("1.2.840.113549.1.12"); - /** PKCS#12: 1.2.840.113549.1.12.10.1 */ - static final ASN1ObjectIdentifier bagtypes = pkcs_12.branch("10.1"); - - /** PKCS#12: 1.2.840.113549.1.12.10.1.1 */ - static final ASN1ObjectIdentifier keyBag = bagtypes.branch("1"); - /** PKCS#12: 1.2.840.113549.1.12.10.1.2 */ - static final ASN1ObjectIdentifier pkcs8ShroudedKeyBag = bagtypes.branch("2"); - /** PKCS#12: 1.2.840.113549.1.12.10.1.3 */ - static final ASN1ObjectIdentifier certBag = bagtypes.branch("3"); - /** PKCS#12: 1.2.840.113549.1.12.10.1.4 */ - static final ASN1ObjectIdentifier crlBag = bagtypes.branch("4"); - /** PKCS#12: 1.2.840.113549.1.12.10.1.5 */ - static final ASN1ObjectIdentifier secretBag = bagtypes.branch("5"); - /** PKCS#12: 1.2.840.113549.1.12.10.1.6 */ - static final ASN1ObjectIdentifier safeContentsBag = bagtypes.branch("6"); - - /** PKCS#12: 1.2.840.113549.1.12.1 */ - static final ASN1ObjectIdentifier pkcs_12PbeIds = pkcs_12.branch("1"); - - /** PKCS#12: 1.2.840.113549.1.12.1.1 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd128BitRC4 = pkcs_12PbeIds.branch("1"); - /** PKCS#12: 1.2.840.113549.1.12.1.2 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd40BitRC4 = pkcs_12PbeIds.branch("2"); - /** PKCS#12: 1.2.840.113549.1.12.1.3 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd3_KeyTripleDES_CBC = pkcs_12PbeIds.branch("3"); - /** PKCS#12: 1.2.840.113549.1.12.1.4 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd2_KeyTripleDES_CBC = pkcs_12PbeIds.branch("4"); - /** PKCS#12: 1.2.840.113549.1.12.1.5 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd128BitRC2_CBC = pkcs_12PbeIds.branch("5"); - /** PKCS#12: 1.2.840.113549.1.12.1.6 */ - static final ASN1ObjectIdentifier pbeWithSHAAnd40BitRC2_CBC = pkcs_12PbeIds.branch("6"); - - /** - * PKCS#12: 1.2.840.113549.1.12.1.6 - * @deprecated use pbeWithSHAAnd40BitRC2_CBC - */ - static final ASN1ObjectIdentifier pbewithSHAAnd40BitRC2_CBC = pkcs_12PbeIds.branch("6"); - - /** PKCS#9: 1.2.840.113549.1.9.16.3.6 */ - static final ASN1ObjectIdentifier id_alg_CMS3DESwrap = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.6"); - /** PKCS#9: 1.2.840.113549.1.9.16.3.7 */ - static final ASN1ObjectIdentifier id_alg_CMSRC2wrap = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.7"); -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Pfx.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Pfx.java deleted file mode 100644 index 77a8f405e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/Pfx.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.BERSequence; - -/** - * the infamous Pfx from PKCS12 - */ -public class Pfx - extends ASN1Object - implements PKCSObjectIdentifiers -{ - private ContentInfo contentInfo; - private MacData macData = null; - - private Pfx( - ASN1Sequence seq) - { - BigInteger version = ((ASN1Integer)seq.getObjectAt(0)).getValue(); - if (version.intValue() != 3) - { - throw new IllegalArgumentException("wrong version for PFX PDU"); - } - - contentInfo = ContentInfo.getInstance(seq.getObjectAt(1)); - - if (seq.size() == 3) - { - macData = MacData.getInstance(seq.getObjectAt(2)); - } - } - - public static Pfx getInstance( - Object obj) - { - if (obj instanceof Pfx) - { - return (Pfx)obj; - } - - if (obj != null) - { - return new Pfx(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public Pfx( - ContentInfo contentInfo, - MacData macData) - { - this.contentInfo = contentInfo; - this.macData = macData; - } - - public ContentInfo getAuthSafe() - { - return contentInfo; - } - - public MacData getMacData() - { - return macData; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(3)); - v.add(contentInfo); - - if (macData != null) - { - v.add(macData); - } - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PrivateKeyInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PrivateKeyInfo.java deleted file mode 100644 index 40dd191fc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/PrivateKeyInfo.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class PrivateKeyInfo - extends ASN1Object -{ - private ASN1OctetString privKey; - private AlgorithmIdentifier algId; - private ASN1Set attributes; - - public static PrivateKeyInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static PrivateKeyInfo getInstance( - Object obj) - { - if (obj instanceof PrivateKeyInfo) - { - return (PrivateKeyInfo)obj; - } - else if (obj != null) - { - return new PrivateKeyInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public PrivateKeyInfo( - AlgorithmIdentifier algId, - ASN1Encodable privateKey) - throws IOException - { - this(algId, privateKey, null); - } - - public PrivateKeyInfo( - AlgorithmIdentifier algId, - ASN1Encodable privateKey, - ASN1Set attributes) - throws IOException - { - this.privKey = new DEROctetString(privateKey.toASN1Primitive().getEncoded(ASN1Encoding.DER)); - this.algId = algId; - this.attributes = attributes; - } - - /** - * @deprectaed use PrivateKeyInfo.getInstance() - * @param seq - */ - public PrivateKeyInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - BigInteger version = ((ASN1Integer)e.nextElement()).getValue(); - if (version.intValue() != 0) - { - throw new IllegalArgumentException("wrong version for private key info"); - } - - algId = AlgorithmIdentifier.getInstance(e.nextElement()); - privKey = ASN1OctetString.getInstance(e.nextElement()); - - if (e.hasMoreElements()) - { - attributes = ASN1Set.getInstance((ASN1TaggedObject)e.nextElement(), false); - } - } - - public AlgorithmIdentifier getPrivateKeyAlgorithm() - { - return algId; - } - /** - * @deprecated use getPrivateKeyAlgorithm() - */ - public AlgorithmIdentifier getAlgorithmId() - { - return algId; - } - - public ASN1Encodable parsePrivateKey() - throws IOException - { - return ASN1Primitive.fromByteArray(privKey.getOctets()); - } - - /** - * @deprecated use parsePrivateKey() - */ - public ASN1Primitive getPrivateKey() - { - try - { - return parsePrivateKey().toASN1Primitive(); - } - catch (IOException e) - { - throw new IllegalStateException("unable to parse private key"); - } - } - - public ASN1Set getAttributes() - { - return attributes; - } - - /** - * write out an RSA private key with its associated information - * as described in PKCS8. - *

    -     *      PrivateKeyInfo ::= SEQUENCE {
    -     *                              version Version,
    -     *                              privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
    -     *                              privateKey PrivateKey,
    -     *                              attributes [0] IMPLICIT Attributes OPTIONAL 
    -     *                          }
    -     *      Version ::= INTEGER {v1(0)} (v1,...)
    -     *
    -     *      PrivateKey ::= OCTET STRING
    -     *
    -     *      Attributes ::= SET OF Attribute
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(0)); - v.add(algId); - v.add(privKey); - - if (attributes != null) - { - v.add(new DERTaggedObject(false, 0, attributes)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RC2CBCParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RC2CBCParameter.java deleted file mode 100644 index c054c56ef..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RC2CBCParameter.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class RC2CBCParameter - extends ASN1Object -{ - ASN1Integer version; - ASN1OctetString iv; - - public static RC2CBCParameter getInstance( - Object o) - { - if (o instanceof RC2CBCParameter) - { - return (RC2CBCParameter)o; - } - if (o != null) - { - return new RC2CBCParameter(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public RC2CBCParameter( - byte[] iv) - { - this.version = null; - this.iv = new DEROctetString(iv); - } - - public RC2CBCParameter( - int parameterVersion, - byte[] iv) - { - this.version = new ASN1Integer(parameterVersion); - this.iv = new DEROctetString(iv); - } - - private RC2CBCParameter( - ASN1Sequence seq) - { - if (seq.size() == 1) - { - version = null; - iv = (ASN1OctetString)seq.getObjectAt(0); - } - else - { - version = (ASN1Integer)seq.getObjectAt(0); - iv = (ASN1OctetString)seq.getObjectAt(1); - } - } - - public BigInteger getRC2ParameterVersion() - { - if (version == null) - { - return null; - } - - return version.getValue(); - } - - public byte[] getIV() - { - return iv.getOctets(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != null) - { - v.add(version); - } - - v.add(iv); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAESOAEPparams.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAESOAEPparams.java deleted file mode 100644 index 3b735f198..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAESOAEPparams.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class RSAESOAEPparams - extends ASN1Object -{ - private AlgorithmIdentifier hashAlgorithm; - private AlgorithmIdentifier maskGenAlgorithm; - private AlgorithmIdentifier pSourceAlgorithm; - - public final static AlgorithmIdentifier DEFAULT_HASH_ALGORITHM = new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE); - public final static AlgorithmIdentifier DEFAULT_MASK_GEN_FUNCTION = new AlgorithmIdentifier(PKCSObjectIdentifiers.id_mgf1, DEFAULT_HASH_ALGORITHM); - public final static AlgorithmIdentifier DEFAULT_P_SOURCE_ALGORITHM = new AlgorithmIdentifier(PKCSObjectIdentifiers.id_pSpecified, new DEROctetString(new byte[0])); - - public static RSAESOAEPparams getInstance( - Object obj) - { - if (obj instanceof RSAESOAEPparams) - { - return (RSAESOAEPparams)obj; - } - else if (obj != null) - { - return new RSAESOAEPparams(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * The default version - */ - public RSAESOAEPparams() - { - hashAlgorithm = DEFAULT_HASH_ALGORITHM; - maskGenAlgorithm = DEFAULT_MASK_GEN_FUNCTION; - pSourceAlgorithm = DEFAULT_P_SOURCE_ALGORITHM; - } - - public RSAESOAEPparams( - AlgorithmIdentifier hashAlgorithm, - AlgorithmIdentifier maskGenAlgorithm, - AlgorithmIdentifier pSourceAlgorithm) - { - this.hashAlgorithm = hashAlgorithm; - this.maskGenAlgorithm = maskGenAlgorithm; - this.pSourceAlgorithm = pSourceAlgorithm; - } - - /** - * @deprecated use getInstance() - * @param seq - */ - public RSAESOAEPparams( - ASN1Sequence seq) - { - hashAlgorithm = DEFAULT_HASH_ALGORITHM; - maskGenAlgorithm = DEFAULT_MASK_GEN_FUNCTION; - pSourceAlgorithm = DEFAULT_P_SOURCE_ALGORITHM; - - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(i); - - switch (o.getTagNo()) - { - case 0: - hashAlgorithm = AlgorithmIdentifier.getInstance(o, true); - break; - case 1: - maskGenAlgorithm = AlgorithmIdentifier.getInstance(o, true); - break; - case 2: - pSourceAlgorithm = AlgorithmIdentifier.getInstance(o, true); - break; - default: - throw new IllegalArgumentException("unknown tag"); - } - } - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public AlgorithmIdentifier getMaskGenAlgorithm() - { - return maskGenAlgorithm; - } - - public AlgorithmIdentifier getPSourceAlgorithm() - { - return pSourceAlgorithm; - } - - /** - *
    -     *  RSAES-OAEP-params ::= SEQUENCE {
    -     *     hashAlgorithm      [0] OAEP-PSSDigestAlgorithms     DEFAULT sha1,
    -     *     maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
    -     *     pSourceAlgorithm   [2] PKCS1PSourceAlgorithms  DEFAULT pSpecifiedEmpty
    -     *   }
    -     *  
    -     *   OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
    -     *     { OID id-sha1 PARAMETERS NULL   }|
    -     *     { OID id-sha256 PARAMETERS NULL }|
    -     *     { OID id-sha384 PARAMETERS NULL }|
    -     *     { OID id-sha512 PARAMETERS NULL },
    -     *     ...  -- Allows for future expansion --
    -     *   }
    -     *   PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
    -     *     { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
    -     *    ...  -- Allows for future expansion --
    -     *   }
    -     *   PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
    -     *     { OID id-pSpecified PARAMETERS OCTET STRING },
    -     *     ...  -- Allows for future expansion --
    -     *  }
    -     * 
    - * @return the asn1 primitive representing the parameters. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (!hashAlgorithm.equals(DEFAULT_HASH_ALGORITHM)) - { - v.add(new DERTaggedObject(true, 0, hashAlgorithm)); - } - - if (!maskGenAlgorithm.equals(DEFAULT_MASK_GEN_FUNCTION)) - { - v.add(new DERTaggedObject(true, 1, maskGenAlgorithm)); - } - - if (!pSourceAlgorithm.equals(DEFAULT_P_SOURCE_ALGORITHM)) - { - v.add(new DERTaggedObject(true, 2, pSourceAlgorithm)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKey.java deleted file mode 100644 index 28d7b9457..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKey.java +++ /dev/null @@ -1,187 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class RSAPrivateKey - extends ASN1Object -{ - private BigInteger version; - private BigInteger modulus; - private BigInteger publicExponent; - private BigInteger privateExponent; - private BigInteger prime1; - private BigInteger prime2; - private BigInteger exponent1; - private BigInteger exponent2; - private BigInteger coefficient; - private ASN1Sequence otherPrimeInfos = null; - - public static RSAPrivateKey getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static RSAPrivateKey getInstance( - Object obj) - { - if (obj instanceof RSAPrivateKey) - { - return (RSAPrivateKey)obj; - } - - if (obj != null) - { - return new RSAPrivateKey(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public RSAPrivateKey( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger prime1, - BigInteger prime2, - BigInteger exponent1, - BigInteger exponent2, - BigInteger coefficient) - { - this.version = BigInteger.valueOf(0); - this.modulus = modulus; - this.publicExponent = publicExponent; - this.privateExponent = privateExponent; - this.prime1 = prime1; - this.prime2 = prime2; - this.exponent1 = exponent1; - this.exponent2 = exponent2; - this.coefficient = coefficient; - } - - private RSAPrivateKey( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - BigInteger v = ((ASN1Integer)e.nextElement()).getValue(); - if (v.intValue() != 0 && v.intValue() != 1) - { - throw new IllegalArgumentException("wrong version for RSA private key"); - } - - version = v; - modulus = ((ASN1Integer)e.nextElement()).getValue(); - publicExponent = ((ASN1Integer)e.nextElement()).getValue(); - privateExponent = ((ASN1Integer)e.nextElement()).getValue(); - prime1 = ((ASN1Integer)e.nextElement()).getValue(); - prime2 = ((ASN1Integer)e.nextElement()).getValue(); - exponent1 = ((ASN1Integer)e.nextElement()).getValue(); - exponent2 = ((ASN1Integer)e.nextElement()).getValue(); - coefficient = ((ASN1Integer)e.nextElement()).getValue(); - - if (e.hasMoreElements()) - { - otherPrimeInfos = (ASN1Sequence)e.nextElement(); - } - } - - public BigInteger getVersion() - { - return version; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } - - public BigInteger getPrivateExponent() - { - return privateExponent; - } - - public BigInteger getPrime1() - { - return prime1; - } - - public BigInteger getPrime2() - { - return prime2; - } - - public BigInteger getExponent1() - { - return exponent1; - } - - public BigInteger getExponent2() - { - return exponent2; - } - - public BigInteger getCoefficient() - { - return coefficient; - } - - /** - * This outputs the key in PKCS1v2 format. - *
    -     *      RSAPrivateKey ::= SEQUENCE {
    -     *                          version Version,
    -     *                          modulus INTEGER, -- n
    -     *                          publicExponent INTEGER, -- e
    -     *                          privateExponent INTEGER, -- d
    -     *                          prime1 INTEGER, -- p
    -     *                          prime2 INTEGER, -- q
    -     *                          exponent1 INTEGER, -- d mod (p-1)
    -     *                          exponent2 INTEGER, -- d mod (q-1)
    -     *                          coefficient INTEGER, -- (inverse of q) mod p
    -     *                          otherPrimeInfos OtherPrimeInfos OPTIONAL
    -     *                      }
    -     *
    -     *      Version ::= INTEGER { two-prime(0), multi(1) }
    -     *        (CONSTRAINED BY {-- version must be multi if otherPrimeInfos present --})
    -     * 
    - *

    - * This routine is written to output PKCS1 version 2.1, private keys. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(version)); // version - v.add(new ASN1Integer(getModulus())); - v.add(new ASN1Integer(getPublicExponent())); - v.add(new ASN1Integer(getPrivateExponent())); - v.add(new ASN1Integer(getPrime1())); - v.add(new ASN1Integer(getPrime2())); - v.add(new ASN1Integer(getExponent1())); - v.add(new ASN1Integer(getExponent2())); - v.add(new ASN1Integer(getCoefficient())); - - if (otherPrimeInfos != null) - { - v.add(otherPrimeInfos); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKeyStructure.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKeyStructure.java deleted file mode 100644 index 7671a518d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPrivateKeyStructure.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * @deprecated use RSAPrivateKey - */ -public class RSAPrivateKeyStructure - extends ASN1Object -{ - private int version; - private BigInteger modulus; - private BigInteger publicExponent; - private BigInteger privateExponent; - private BigInteger prime1; - private BigInteger prime2; - private BigInteger exponent1; - private BigInteger exponent2; - private BigInteger coefficient; - private ASN1Sequence otherPrimeInfos = null; - - public static RSAPrivateKeyStructure getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static RSAPrivateKeyStructure getInstance( - Object obj) - { - if (obj instanceof RSAPrivateKeyStructure) - { - return (RSAPrivateKeyStructure)obj; - } - else if (obj instanceof ASN1Sequence) - { - return new RSAPrivateKeyStructure((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public RSAPrivateKeyStructure( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger prime1, - BigInteger prime2, - BigInteger exponent1, - BigInteger exponent2, - BigInteger coefficient) - { - this.version = 0; - this.modulus = modulus; - this.publicExponent = publicExponent; - this.privateExponent = privateExponent; - this.prime1 = prime1; - this.prime2 = prime2; - this.exponent1 = exponent1; - this.exponent2 = exponent2; - this.coefficient = coefficient; - } - - public RSAPrivateKeyStructure( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - BigInteger v = ((ASN1Integer)e.nextElement()).getValue(); - if (v.intValue() != 0 && v.intValue() != 1) - { - throw new IllegalArgumentException("wrong version for RSA private key"); - } - - version = v.intValue(); - modulus = ((ASN1Integer)e.nextElement()).getValue(); - publicExponent = ((ASN1Integer)e.nextElement()).getValue(); - privateExponent = ((ASN1Integer)e.nextElement()).getValue(); - prime1 = ((ASN1Integer)e.nextElement()).getValue(); - prime2 = ((ASN1Integer)e.nextElement()).getValue(); - exponent1 = ((ASN1Integer)e.nextElement()).getValue(); - exponent2 = ((ASN1Integer)e.nextElement()).getValue(); - coefficient = ((ASN1Integer)e.nextElement()).getValue(); - - if (e.hasMoreElements()) - { - otherPrimeInfos = (ASN1Sequence)e.nextElement(); - } - } - - public int getVersion() - { - return version; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } - - public BigInteger getPrivateExponent() - { - return privateExponent; - } - - public BigInteger getPrime1() - { - return prime1; - } - - public BigInteger getPrime2() - { - return prime2; - } - - public BigInteger getExponent1() - { - return exponent1; - } - - public BigInteger getExponent2() - { - return exponent2; - } - - public BigInteger getCoefficient() - { - return coefficient; - } - - /** - * This outputs the key in PKCS1v2 format. - *

    -     *      RSAPrivateKey ::= SEQUENCE {
    -     *                          version Version,
    -     *                          modulus INTEGER, -- n
    -     *                          publicExponent INTEGER, -- e
    -     *                          privateExponent INTEGER, -- d
    -     *                          prime1 INTEGER, -- p
    -     *                          prime2 INTEGER, -- q
    -     *                          exponent1 INTEGER, -- d mod (p-1)
    -     *                          exponent2 INTEGER, -- d mod (q-1)
    -     *                          coefficient INTEGER, -- (inverse of q) mod p
    -     *                          otherPrimeInfos OtherPrimeInfos OPTIONAL
    -     *                      }
    -     *
    -     *      Version ::= INTEGER { two-prime(0), multi(1) }
    -     *        (CONSTRAINED BY {-- version must be multi if otherPrimeInfos present --})
    -     * 
    - *

    - * This routine is written to output PKCS1 version 2.1, private keys. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(version)); // version - v.add(new ASN1Integer(getModulus())); - v.add(new ASN1Integer(getPublicExponent())); - v.add(new ASN1Integer(getPrivateExponent())); - v.add(new ASN1Integer(getPrime1())); - v.add(new ASN1Integer(getPrime2())); - v.add(new ASN1Integer(getExponent1())); - v.add(new ASN1Integer(getExponent2())); - v.add(new ASN1Integer(getCoefficient())); - - if (otherPrimeInfos != null) - { - v.add(otherPrimeInfos); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPublicKey.java deleted file mode 100644 index 5ea0172a7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSAPublicKey.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class RSAPublicKey - extends ASN1Object -{ - private BigInteger modulus; - private BigInteger publicExponent; - - public static RSAPublicKey getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static RSAPublicKey getInstance( - Object obj) - { - if (obj instanceof RSAPublicKey) - { - return (RSAPublicKey)obj; - } - - if (obj != null) - { - return new RSAPublicKey(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public RSAPublicKey( - BigInteger modulus, - BigInteger publicExponent) - { - this.modulus = modulus; - this.publicExponent = publicExponent; - } - - private RSAPublicKey( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); - publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } - - /** - * This outputs the key in PKCS1v2 format. - *

    -     *      RSAPublicKey ::= SEQUENCE {
    -     *                          modulus INTEGER, -- n
    -     *                          publicExponent INTEGER, -- e
    -     *                      }
    -     * 
    - *

    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(getModulus())); - v.add(new ASN1Integer(getPublicExponent())); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSASSAPSSparams.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSASSAPSSparams.java deleted file mode 100644 index bca4e8c05..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/RSASSAPSSparams.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class RSASSAPSSparams - extends ASN1Object -{ - private AlgorithmIdentifier hashAlgorithm; - private AlgorithmIdentifier maskGenAlgorithm; - private ASN1Integer saltLength; - private ASN1Integer trailerField; - - public final static AlgorithmIdentifier DEFAULT_HASH_ALGORITHM = new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE); - public final static AlgorithmIdentifier DEFAULT_MASK_GEN_FUNCTION = new AlgorithmIdentifier(PKCSObjectIdentifiers.id_mgf1, DEFAULT_HASH_ALGORITHM); - public final static ASN1Integer DEFAULT_SALT_LENGTH = new ASN1Integer(20); - public final static ASN1Integer DEFAULT_TRAILER_FIELD = new ASN1Integer(1); - - public static RSASSAPSSparams getInstance( - Object obj) - { - if (obj instanceof RSASSAPSSparams) - { - return (RSASSAPSSparams)obj; - } - else if (obj != null) - { - return new RSASSAPSSparams(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * The default version - */ - public RSASSAPSSparams() - { - hashAlgorithm = DEFAULT_HASH_ALGORITHM; - maskGenAlgorithm = DEFAULT_MASK_GEN_FUNCTION; - saltLength = DEFAULT_SALT_LENGTH; - trailerField = DEFAULT_TRAILER_FIELD; - } - - public RSASSAPSSparams( - AlgorithmIdentifier hashAlgorithm, - AlgorithmIdentifier maskGenAlgorithm, - ASN1Integer saltLength, - ASN1Integer trailerField) - { - this.hashAlgorithm = hashAlgorithm; - this.maskGenAlgorithm = maskGenAlgorithm; - this.saltLength = saltLength; - this.trailerField = trailerField; - } - - private RSASSAPSSparams( - ASN1Sequence seq) - { - hashAlgorithm = DEFAULT_HASH_ALGORITHM; - maskGenAlgorithm = DEFAULT_MASK_GEN_FUNCTION; - saltLength = DEFAULT_SALT_LENGTH; - trailerField = DEFAULT_TRAILER_FIELD; - - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(i); - - switch (o.getTagNo()) - { - case 0: - hashAlgorithm = AlgorithmIdentifier.getInstance(o, true); - break; - case 1: - maskGenAlgorithm = AlgorithmIdentifier.getInstance(o, true); - break; - case 2: - saltLength = ASN1Integer.getInstance(o, true); - break; - case 3: - trailerField = ASN1Integer.getInstance(o, true); - break; - default: - throw new IllegalArgumentException("unknown tag"); - } - } - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public AlgorithmIdentifier getMaskGenAlgorithm() - { - return maskGenAlgorithm; - } - - public BigInteger getSaltLength() - { - return saltLength.getValue(); - } - - public BigInteger getTrailerField() - { - return trailerField.getValue(); - } - - /** - *

    -     * RSASSA-PSS-params ::= SEQUENCE {
    -     *   hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
    -     *    maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
    -     *    saltLength         [2] INTEGER  DEFAULT 20,
    -     *    trailerField       [3] TrailerField  DEFAULT trailerFieldBC
    -     *  }
    -     *
    -     * OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
    -     *    { OID id-sha1 PARAMETERS NULL   }|
    -     *    { OID id-sha256 PARAMETERS NULL }|
    -     *    { OID id-sha384 PARAMETERS NULL }|
    -     *    { OID id-sha512 PARAMETERS NULL },
    -     *    ...  -- Allows for future expansion --
    -     * }
    -     *
    -     * PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
    -     *   { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
    -     *    ...  -- Allows for future expansion --
    -     * }
    -     * 
    -     * TrailerField ::= INTEGER { trailerFieldBC(1) }
    -     * 
    - * @return the asn1 primitive representing the parameters. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (!hashAlgorithm.equals(DEFAULT_HASH_ALGORITHM)) - { - v.add(new DERTaggedObject(true, 0, hashAlgorithm)); - } - - if (!maskGenAlgorithm.equals(DEFAULT_MASK_GEN_FUNCTION)) - { - v.add(new DERTaggedObject(true, 1, maskGenAlgorithm)); - } - - if (!saltLength.equals(DEFAULT_SALT_LENGTH)) - { - v.add(new DERTaggedObject(true, 2, saltLength)); - } - - if (!trailerField.equals(DEFAULT_TRAILER_FIELD)) - { - v.add(new DERTaggedObject(true, 3, trailerField)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SafeBag.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SafeBag.java deleted file mode 100644 index b2201413c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SafeBag.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DLSequence; -import org.spongycastle.asn1.DLTaggedObject; - -public class SafeBag - extends ASN1Object -{ - private ASN1ObjectIdentifier bagId; - private ASN1Encodable bagValue; - private ASN1Set bagAttributes; - - public SafeBag( - ASN1ObjectIdentifier oid, - ASN1Encodable obj) - { - this.bagId = oid; - this.bagValue = obj; - this.bagAttributes = null; - } - - public SafeBag( - ASN1ObjectIdentifier oid, - ASN1Encodable obj, - ASN1Set bagAttributes) - { - this.bagId = oid; - this.bagValue = obj; - this.bagAttributes = bagAttributes; - } - - public static SafeBag getInstance( - Object obj) - { - if (obj instanceof SafeBag) - { - return (SafeBag)obj; - } - - if (obj != null) - { - return new SafeBag(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SafeBag( - ASN1Sequence seq) - { - this.bagId = (ASN1ObjectIdentifier)seq.getObjectAt(0); - this.bagValue = ((ASN1TaggedObject)seq.getObjectAt(1)).getObject(); - if (seq.size() == 3) - { - this.bagAttributes = (ASN1Set)seq.getObjectAt(2); - } - } - - public ASN1ObjectIdentifier getBagId() - { - return bagId; - } - - public ASN1Encodable getBagValue() - { - return bagValue; - } - - public ASN1Set getBagAttributes() - { - return bagAttributes; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(bagId); - v.add(new DLTaggedObject(true, 0, bagValue)); - - if (bagAttributes != null) - { - v.add(bagAttributes); - } - - return new DLSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignedData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignedData.java deleted file mode 100644 index c99fe6929..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignedData.java +++ /dev/null @@ -1,167 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * a PKCS#7 signed data object. - */ -public class SignedData - extends ASN1Object - implements PKCSObjectIdentifiers -{ - private ASN1Integer version; - private ASN1Set digestAlgorithms; - private ContentInfo contentInfo; - private ASN1Set certificates; - private ASN1Set crls; - private ASN1Set signerInfos; - - public static SignedData getInstance( - Object o) - { - if (o instanceof SignedData) - { - return (SignedData)o; - } - else if (o != null) - { - return new SignedData(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public SignedData( - ASN1Integer _version, - ASN1Set _digestAlgorithms, - ContentInfo _contentInfo, - ASN1Set _certificates, - ASN1Set _crls, - ASN1Set _signerInfos) - { - version = _version; - digestAlgorithms = _digestAlgorithms; - contentInfo = _contentInfo; - certificates = _certificates; - crls = _crls; - signerInfos = _signerInfos; - } - - public SignedData( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - version = (ASN1Integer)e.nextElement(); - digestAlgorithms = ((ASN1Set)e.nextElement()); - contentInfo = ContentInfo.getInstance(e.nextElement()); - - while (e.hasMoreElements()) - { - ASN1Primitive o = (ASN1Primitive)e.nextElement(); - - // - // an interesting feature of SignedData is that there appear to be varying implementations... - // for the moment we ignore anything which doesn't fit. - // - if (o instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagged = (ASN1TaggedObject)o; - - switch (tagged.getTagNo()) - { - case 0: - certificates = ASN1Set.getInstance(tagged, false); - break; - case 1: - crls = ASN1Set.getInstance(tagged, false); - break; - default: - throw new IllegalArgumentException("unknown tag value " + tagged.getTagNo()); - } - } - else - { - signerInfos = (ASN1Set)o; - } - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public ASN1Set getDigestAlgorithms() - { - return digestAlgorithms; - } - - public ContentInfo getContentInfo() - { - return contentInfo; - } - - public ASN1Set getCertificates() - { - return certificates; - } - - public ASN1Set getCRLs() - { - return crls; - } - - public ASN1Set getSignerInfos() - { - return signerInfos; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  SignedData ::= SEQUENCE {
    -     *      version Version,
    -     *      digestAlgorithms DigestAlgorithmIdentifiers,
    -     *      contentInfo ContentInfo,
    -     *      certificates
    -     *          [0] IMPLICIT ExtendedCertificatesAndCertificates
    -     *                   OPTIONAL,
    -     *      crls
    -     *          [1] IMPLICIT CertificateRevocationLists OPTIONAL,
    -     *      signerInfos SignerInfos }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(digestAlgorithms); - v.add(contentInfo); - - if (certificates != null) - { - v.add(new DERTaggedObject(false, 0, certificates)); - } - - if (crls != null) - { - v.add(new DERTaggedObject(false, 1, crls)); - } - - v.add(signerInfos); - - return new BERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignerInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignerInfo.java deleted file mode 100644 index 9285d0b39..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/pkcs/SignerInfo.java +++ /dev/null @@ -1,178 +0,0 @@ -package org.spongycastle.asn1.pkcs; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * a PKCS#7 signer info object. - */ -public class SignerInfo - extends ASN1Object -{ - private ASN1Integer version; - private IssuerAndSerialNumber issuerAndSerialNumber; - private AlgorithmIdentifier digAlgorithm; - private ASN1Set authenticatedAttributes; - private AlgorithmIdentifier digEncryptionAlgorithm; - private ASN1OctetString encryptedDigest; - private ASN1Set unauthenticatedAttributes; - - public static SignerInfo getInstance( - Object o) - { - if (o instanceof SignerInfo) - { - return (SignerInfo)o; - } - else if (o instanceof ASN1Sequence) - { - return new SignerInfo((ASN1Sequence)o); - } - - throw new IllegalArgumentException("unknown object in factory: " + o.getClass().getName()); - } - - public SignerInfo( - ASN1Integer version, - IssuerAndSerialNumber issuerAndSerialNumber, - AlgorithmIdentifier digAlgorithm, - ASN1Set authenticatedAttributes, - AlgorithmIdentifier digEncryptionAlgorithm, - ASN1OctetString encryptedDigest, - ASN1Set unauthenticatedAttributes) - { - this.version = version; - this.issuerAndSerialNumber = issuerAndSerialNumber; - this.digAlgorithm = digAlgorithm; - this.authenticatedAttributes = authenticatedAttributes; - this.digEncryptionAlgorithm = digEncryptionAlgorithm; - this.encryptedDigest = encryptedDigest; - this.unauthenticatedAttributes = unauthenticatedAttributes; - } - - public SignerInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - version = (ASN1Integer)e.nextElement(); - issuerAndSerialNumber = IssuerAndSerialNumber.getInstance(e.nextElement()); - digAlgorithm = AlgorithmIdentifier.getInstance(e.nextElement()); - - Object obj = e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - authenticatedAttributes = ASN1Set.getInstance((ASN1TaggedObject)obj, false); - - digEncryptionAlgorithm = AlgorithmIdentifier.getInstance(e.nextElement()); - } - else - { - authenticatedAttributes = null; - digEncryptionAlgorithm = AlgorithmIdentifier.getInstance(obj); - } - - encryptedDigest = DEROctetString.getInstance(e.nextElement()); - - if (e.hasMoreElements()) - { - unauthenticatedAttributes = ASN1Set.getInstance((ASN1TaggedObject)e.nextElement(), false); - } - else - { - unauthenticatedAttributes = null; - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public IssuerAndSerialNumber getIssuerAndSerialNumber() - { - return issuerAndSerialNumber; - } - - public ASN1Set getAuthenticatedAttributes() - { - return authenticatedAttributes; - } - - public AlgorithmIdentifier getDigestAlgorithm() - { - return digAlgorithm; - } - - public ASN1OctetString getEncryptedDigest() - { - return encryptedDigest; - } - - public AlgorithmIdentifier getDigestEncryptionAlgorithm() - { - return digEncryptionAlgorithm; - } - - public ASN1Set getUnauthenticatedAttributes() - { - return unauthenticatedAttributes; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  SignerInfo ::= SEQUENCE {
    -     *      version Version,
    -     *      issuerAndSerialNumber IssuerAndSerialNumber,
    -     *      digestAlgorithm DigestAlgorithmIdentifier,
    -     *      authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
    -     *      digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
    -     *      encryptedDigest EncryptedDigest,
    -     *      unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
    -     *  }
    -     *
    -     *  EncryptedDigest ::= OCTET STRING
    -     *
    -     *  DigestAlgorithmIdentifier ::= AlgorithmIdentifier
    -     *
    -     *  DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(issuerAndSerialNumber); - v.add(digAlgorithm); - - if (authenticatedAttributes != null) - { - v.add(new DERTaggedObject(false, 0, authenticatedAttributes)); - } - - v.add(digEncryptionAlgorithm); - v.add(encryptedDigest); - - if (unauthenticatedAttributes != null) - { - v.add(new DERTaggedObject(false, 1, unauthenticatedAttributes)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKey.java deleted file mode 100644 index 288ec9d0b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKey.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.spongycastle.asn1.sec; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.util.BigIntegers; - -/** - * the elliptic curve private key object from SEC 1 - */ -public class ECPrivateKey - extends ASN1Object -{ - private ASN1Sequence seq; - - private ECPrivateKey( - ASN1Sequence seq) - { - this.seq = seq; - } - - public static ECPrivateKey getInstance( - Object obj) - { - if (obj instanceof ECPrivateKey) - { - return (ECPrivateKey)obj; - } - - if (obj != null) - { - return new ECPrivateKey(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ECPrivateKey( - BigInteger key) - { - byte[] bytes = BigIntegers.asUnsignedByteArray(key); - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(1)); - v.add(new DEROctetString(bytes)); - - seq = new DERSequence(v); - } - - public ECPrivateKey( - BigInteger key, - ASN1Encodable parameters) - { - this(key, null, parameters); - } - - public ECPrivateKey( - BigInteger key, - DERBitString publicKey, - ASN1Encodable parameters) - { - byte[] bytes = BigIntegers.asUnsignedByteArray(key); - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(1)); - v.add(new DEROctetString(bytes)); - - if (parameters != null) - { - v.add(new DERTaggedObject(true, 0, parameters)); - } - - if (publicKey != null) - { - v.add(new DERTaggedObject(true, 1, publicKey)); - } - - seq = new DERSequence(v); - } - - public BigInteger getKey() - { - ASN1OctetString octs = (ASN1OctetString)seq.getObjectAt(1); - - return new BigInteger(1, octs.getOctets()); - } - - public DERBitString getPublicKey() - { - return (DERBitString)getObjectInTag(1); - } - - public ASN1Primitive getParameters() - { - return getObjectInTag(0); - } - - private ASN1Primitive getObjectInTag(int tagNo) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Encodable obj = (ASN1Encodable)e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tag = (ASN1TaggedObject)obj; - if (tag.getTagNo() == tagNo) - { - return tag.getObject().toASN1Primitive(); - } - } - } - return null; - } - - /** - * ECPrivateKey ::= SEQUENCE { - * version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), - * privateKey OCTET STRING, - * parameters [0] Parameters OPTIONAL, - * publicKey [1] BIT STRING OPTIONAL } - */ - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKeyStructure.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKeyStructure.java deleted file mode 100644 index a1f637c72..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/ECPrivateKeyStructure.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.asn1.sec; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.util.BigIntegers; - -/** - * the elliptic curve private key object from SEC 1 - * @deprecated use ECPrivateKey - */ -public class ECPrivateKeyStructure - extends ASN1Object -{ - private ASN1Sequence seq; - - public ECPrivateKeyStructure( - ASN1Sequence seq) - { - this.seq = seq; - } - - public ECPrivateKeyStructure( - BigInteger key) - { - byte[] bytes = BigIntegers.asUnsignedByteArray(key); - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(1)); - v.add(new DEROctetString(bytes)); - - seq = new DERSequence(v); - } - - public ECPrivateKeyStructure( - BigInteger key, - ASN1Encodable parameters) - { - this(key, null, parameters); - } - - public ECPrivateKeyStructure( - BigInteger key, - DERBitString publicKey, - ASN1Encodable parameters) - { - byte[] bytes = BigIntegers.asUnsignedByteArray(key); - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(1)); - v.add(new DEROctetString(bytes)); - - if (parameters != null) - { - v.add(new DERTaggedObject(true, 0, parameters)); - } - - if (publicKey != null) - { - v.add(new DERTaggedObject(true, 1, publicKey)); - } - - seq = new DERSequence(v); - } - - public BigInteger getKey() - { - ASN1OctetString octs = (ASN1OctetString)seq.getObjectAt(1); - - return new BigInteger(1, octs.getOctets()); - } - - public DERBitString getPublicKey() - { - return (DERBitString)getObjectInTag(1); - } - - public ASN1Primitive getParameters() - { - return getObjectInTag(0); - } - - private ASN1Primitive getObjectInTag(int tagNo) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Encodable obj = (ASN1Encodable)e.nextElement(); - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tag = (ASN1TaggedObject)obj; - if (tag.getTagNo() == tagNo) - { - return (ASN1Primitive)((ASN1Encodable)tag.getObject()).toASN1Primitive(); - } - } - } - return null; - } - - /** - * ECPrivateKey ::= SEQUENCE { - * version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), - * privateKey OCTET STRING, - * parameters [0] Parameters OPTIONAL, - * publicKey [1] BIT STRING OPTIONAL } - */ - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECNamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECNamedCurves.java deleted file mode 100644 index 1114d8c12..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECNamedCurves.java +++ /dev/null @@ -1,1045 +0,0 @@ -package org.spongycastle.asn1.sec; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ECParametersHolder; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; - -public class SECNamedCurves -{ - private static ECCurve configureCurve(ECCurve curve) - { -// int coord = ECCurve.COORD_JACOBIAN_MODIFIED; -// -// if (curve.getCoordinateSystem() != coord && curve.supportsCoordinateSystem(coord)) -// { -// return curve.configure() -// .setCoordinateSystem(coord) -//// .setMultiplier(new WNafL2RMultiplier()) -// .create(); -// } - - return curve; - } - - private static BigInteger fromHex( - String hex) - { - return new BigInteger(1, Hex.decode(hex)); - } - - /* - * secp112r1 - */ - static X9ECParametersHolder secp112r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = (2^128 - 3) / 76439 - BigInteger p = fromHex("DB7C2ABF62E35E668076BEAD208B"); - BigInteger a = fromHex("DB7C2ABF62E35E668076BEAD2088"); - BigInteger b = fromHex("659EF8BA043916EEDE8911702B22"); - byte[] S = Hex.decode("00F50B028E4D696E676875615175290472783FB1"); - BigInteger n = fromHex("DB7C2ABF62E35E7628DFAC6561C5"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "09487239995A5EE76B55F9C2F098")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "09487239995A5EE76B55F9C2F098" - + "A89CE5AF8724C0A23E0E0FF77500")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp112r2 - */ - static X9ECParametersHolder secp112r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = (2^128 - 3) / 76439 - BigInteger p = fromHex("DB7C2ABF62E35E668076BEAD208B"); - BigInteger a = fromHex("6127C24C05F38A0AAAF65C0EF02C"); - BigInteger b = fromHex("51DEF1815DB5ED74FCC34C85D709"); - byte[] S = Hex.decode("002757A1114D696E6768756151755316C05E0BD4"); - BigInteger n = fromHex("36DF0AAFD8B8D7597CA10520D04B"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "4BA30AB5E892B4E1649DD0928643")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "4BA30AB5E892B4E1649DD0928643" - + "ADCD46F5882E3747DEF36E956E97")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp128r1 - */ - static X9ECParametersHolder secp128r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^128 - 2^97 - 1 - BigInteger p = fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"); - BigInteger a = fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC"); - BigInteger b = fromHex("E87579C11079F43DD824993C2CEE5ED3"); - byte[] S = Hex.decode("000E0D4D696E6768756151750CC03A4473D03679"); - BigInteger n = fromHex("FFFFFFFE0000000075A30D1B9038A115"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "161FF7528B899B2D0C28607CA52C5B86")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "161FF7528B899B2D0C28607CA52C5B86" - + "CF5AC8395BAFEB13C02DA292DDED7A83")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp128r2 - */ - static X9ECParametersHolder secp128r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^128 - 2^97 - 1 - BigInteger p = fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"); - BigInteger a = fromHex("D6031998D1B3BBFEBF59CC9BBFF9AEE1"); - BigInteger b = fromHex("5EEEFCA380D02919DC2C6558BB6D8A5D"); - byte[] S = Hex.decode("004D696E67687561517512D8F03431FCE63B88F4"); - BigInteger n = fromHex("3FFFFFFF7FFFFFFFBE0024720613B5A3"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "7B6AA5D85E572983E6FB32A7CDEBC140")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "7B6AA5D85E572983E6FB32A7CDEBC140" - + "27B6916A894D3AEE7106FE805FC34B44")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp160k1 - */ - static X9ECParametersHolder secp160k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^160 - 2^32 - 2^14 - 2^12 - 2^9 - 2^8 - 2^7 - 2^3 - 2^2 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"); - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(7); - byte[] S = null; - BigInteger n = fromHex("0100000000000000000001B8FA16DFAB9ACA16B6B3"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); -// ECPoint G = curve.decodePoint(Hex.decode("02" -// + "3B4C382CE37AA192A4019E763036F4F5DD4D7EBB")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "3B4C382CE37AA192A4019E763036F4F5DD4D7EBB" - + "938CF935318FDCED6BC28286531733C3F03C4FEE")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp160r1 - */ - static X9ECParametersHolder secp160r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^160 - 2^31 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF"); - BigInteger a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC"); - BigInteger b = fromHex("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45"); - byte[] S = Hex.decode("1053CDE42C14D696E67687561517533BF3F83345"); - BigInteger n = fromHex("0100000000000000000001F4C8F927AED3CA752257"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "4A96B5688EF573284664698968C38BB913CBFC82")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "4A96B5688EF573284664698968C38BB913CBFC82" - + "23A628553168947D59DCC912042351377AC5FB32")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp160r2 - */ - static X9ECParametersHolder secp160r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^160 - 2^32 - 2^14 - 2^12 - 2^9 - 2^8 - 2^7 - 2^3 - 2^2 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"); - BigInteger a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70"); - BigInteger b = fromHex("B4E134D3FB59EB8BAB57274904664D5AF50388BA"); - byte[] S = Hex.decode("B99B99B099B323E02709A4D696E6768756151751"); - BigInteger n = fromHex("0100000000000000000000351EE786A818F3A1A16B"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "52DCB034293A117E1F4FF11B30F7199D3144CE6D")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "52DCB034293A117E1F4FF11B30F7199D3144CE6D" - + "FEAFFEF2E331F296E071FA0DF9982CFEA7D43F2E")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp192k1 - */ - static X9ECParametersHolder secp192k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^192 - 2^32 - 2^12 - 2^8 - 2^7 - 2^6 - 2^3 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37"); - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(3); - byte[] S = null; - BigInteger n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D" - + "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp192r1 - */ - static X9ECParametersHolder secp192r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^192 - 2^64 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"); - BigInteger a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC"); - BigInteger b = fromHex("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"); - byte[] S = Hex.decode("3045AE6FC8422F64ED579528D38120EAE12196D5"); - BigInteger n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012" - + "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp224k1 - */ - static X9ECParametersHolder secp224k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^224 - 2^32 - 2^12 - 2^11 - 2^9 - 2^7 - 2^4 - 2 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D"); - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(5); - byte[] S = null; - BigInteger n = fromHex("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C" - + "7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp224r1 - */ - static X9ECParametersHolder secp224r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^224 - 2^96 + 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001"); - BigInteger a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE"); - BigInteger b = fromHex("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4"); - byte[] S = Hex.decode("BD71344799D5C7FCDC45B59FA3B9AB8F6A948BC5"); - BigInteger n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21" - + "BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp256k1 - */ - static X9ECParametersHolder secp256k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^256 - 2^32 - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F"); - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(7); - byte[] S = null; - BigInteger n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798" - + "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp256r1 - */ - static X9ECParametersHolder secp256r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^224 (2^32 - 1) + 2^192 + 2^96 - 1 - BigInteger p = fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"); - BigInteger a = fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"); - BigInteger b = fromHex("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"); - byte[] S = Hex.decode("C49D360886E704936A6678E1139D26B7819F7E90"); - BigInteger n = fromHex("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296" - + "4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp384r1 - */ - static X9ECParametersHolder secp384r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^384 - 2^128 - 2^96 + 2^32 - 1 - BigInteger p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF"); - BigInteger a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC"); - BigInteger b = fromHex("B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF"); - byte[] S = Hex.decode("A335926AA319A27A1D00896A6773A4827ACDAC73"); - BigInteger n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7" - + "3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * secp521r1 - */ - static X9ECParametersHolder secp521r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - // p = 2^521 - 1 - BigInteger p = fromHex("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"); - BigInteger a = fromHex("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC"); - BigInteger b = fromHex("0051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00"); - byte[] S = Hex.decode("D09E8800291CB85396CC6717393284AAA0DA64BA"); - BigInteger n = fromHex("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409"); - BigInteger h = BigInteger.valueOf(1); - - ECCurve curve = configureCurve(new ECCurve.Fp(p, a, b)); - - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66" - + "011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect113r1 - */ - static X9ECParametersHolder sect113r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 113; - int k = 9; - - BigInteger a = fromHex("003088250CA6E7C7FE649CE85820F7"); - BigInteger b = fromHex("00E8BEE4D3E2260744188BE0E9C723"); - byte[] S = Hex.decode("10E723AB14D696E6768756151756FEBF8FCB49A9"); - BigInteger n = fromHex("0100000000000000D9CCEC8A39E56F"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "009D73616F35F4AB1407D73562C10F")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "009D73616F35F4AB1407D73562C10F" - + "00A52830277958EE84D1315ED31886")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect113r2 - */ - static X9ECParametersHolder sect113r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 113; - int k = 9; - - BigInteger a = fromHex("00689918DBEC7E5A0DD6DFC0AA55C7"); - BigInteger b = fromHex("0095E9A9EC9B297BD4BF36E059184F"); - byte[] S = Hex.decode("10C0FB15760860DEF1EEF4D696E676875615175D"); - BigInteger n = fromHex("010000000000000108789B2496AF93"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "01A57A6A7B26CA5EF52FCDB8164797")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "01A57A6A7B26CA5EF52FCDB8164797" - + "00B3ADC94ED1FE674C06E695BABA1D")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect131r1 - */ - static X9ECParametersHolder sect131r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 131; - int k1 = 2; - int k2 = 3; - int k3 = 8; - - BigInteger a = fromHex("07A11B09A76B562144418FF3FF8C2570B8"); - BigInteger b = fromHex("0217C05610884B63B9C6C7291678F9D341"); - byte[] S = Hex.decode("4D696E676875615175985BD3ADBADA21B43A97E2"); - BigInteger n = fromHex("0400000000000000023123953A9464B54D"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "0081BAF91FDF9833C40F9C181343638399")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0081BAF91FDF9833C40F9C181343638399" - + "078C6E7EA38C001F73C8134B1B4EF9E150")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect131r2 - */ - static X9ECParametersHolder sect131r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 131; - int k1 = 2; - int k2 = 3; - int k3 = 8; - - BigInteger a = fromHex("03E5A88919D7CAFCBF415F07C2176573B2"); - BigInteger b = fromHex("04B8266A46C55657AC734CE38F018F2192"); - byte[] S = Hex.decode("985BD3ADBAD4D696E676875615175A21B43A97E3"); - BigInteger n = fromHex("0400000000000000016954A233049BA98F"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "0356DCD8F2F95031AD652D23951BB366A8")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0356DCD8F2F95031AD652D23951BB366A8" - + "0648F06D867940A5366D9E265DE9EB240F")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect163k1 - */ - static X9ECParametersHolder sect163k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 163; - int k1 = 3; - int k2 = 6; - int k3 = 7; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("04000000000000000000020108A2E0CC0D99F8A5EF"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "02FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE8")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "02FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE8" - + "0289070FB05D38FF58321F2E800536D538CCDAA3D9")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect163r1 - */ - static X9ECParametersHolder sect163r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 163; - int k1 = 3; - int k2 = 6; - int k3 = 7; - - BigInteger a = fromHex("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2"); - BigInteger b = fromHex("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9"); - byte[] S = Hex.decode("24B7B137C8A14D696E6768756151756FD0DA2E5C"); - BigInteger n = fromHex("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "0369979697AB43897789566789567F787A7876A654")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0369979697AB43897789566789567F787A7876A654" - + "00435EDB42EFAFB2989D51FEFCE3C80988F41FF883")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect163r2 - */ - static X9ECParametersHolder sect163r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 163; - int k1 = 3; - int k2 = 6; - int k3 = 7; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = fromHex("020A601907B8C953CA1481EB10512F78744A3205FD"); - byte[] S = Hex.decode("85E25BFE5C86226CDB12016F7553F9D0E693A268"); - BigInteger n = fromHex("040000000000000000000292FE77E70C12A4234C33"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "03F0EBA16286A2D57EA0991168D4994637E8343E36")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "03F0EBA16286A2D57EA0991168D4994637E8343E36" - + "00D51FBC6C71A0094FA2CDD545B11C5C0C797324F1")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect193r1 - */ - static X9ECParametersHolder sect193r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 193; - int k = 15; - - BigInteger a = fromHex("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01"); - BigInteger b = fromHex("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814"); - byte[] S = Hex.decode("103FAEC74D696E676875615175777FC5B191EF30"); - BigInteger n = fromHex("01000000000000000000000000C7F34A778F443ACC920EBA49"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "01F481BC5F0FF84A74AD6CDF6FDEF4BF6179625372D8C0C5E1")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "01F481BC5F0FF84A74AD6CDF6FDEF4BF6179625372D8C0C5E1" - + "0025E399F2903712CCF3EA9E3A1AD17FB0B3201B6AF7CE1B05")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect193r2 - */ - static X9ECParametersHolder sect193r2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 193; - int k = 15; - - BigInteger a = fromHex("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B"); - BigInteger b = fromHex("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE"); - byte[] S = Hex.decode("10B7B4D696E676875615175137C8A16FD0DA2211"); - BigInteger n = fromHex("010000000000000000000000015AAB561B005413CCD4EE99D5"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "00D9B67D192E0367C803F39E1A7E82CA14A651350AAE617E8F")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "00D9B67D192E0367C803F39E1A7E82CA14A651350AAE617E8F" - + "01CE94335607C304AC29E7DEFBD9CA01F596F927224CDECF6C")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect233k1 - */ - static X9ECParametersHolder sect233k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 233; - int k = 74; - - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "017232BA853A7E731AF129F22FF4149563A419C26BF50A4C9D6EEFAD6126")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "017232BA853A7E731AF129F22FF4149563A419C26BF50A4C9D6EEFAD6126" - + "01DB537DECE819B7F70F555A67C427A8CD9BF18AEB9B56E0C11056FAE6A3")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect233r1 - */ - static X9ECParametersHolder sect233r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 233; - int k = 74; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = fromHex("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD"); - byte[] S = Hex.decode("74D59FF07F6B413D0EA14B344B20A2DB049B50C3"); - BigInteger n = fromHex("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B" - + "01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect239k1 - */ - static X9ECParametersHolder sect239k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 239; - int k = 158; - - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC" - + "76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect283k1 - */ - static X9ECParametersHolder sect283k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 283; - int k1 = 5; - int k2 = 7; - int k3 = 12; - - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836" - + "01CCDA380F1C9E318D90F95D07E5426FE87E45C0E8184698E45962364E34116177DD2259")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect283r1 - */ - static X9ECParametersHolder sect283r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 283; - int k1 = 5; - int k2 = 7; - int k3 = 12; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = fromHex("027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5"); - byte[] S = Hex.decode("77E2B07370EB0F832A6DD5B62DFC88CD06BB84BE"); - BigInteger n = fromHex("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053" - + "03676854FE24141CB98FE6D4B20D02B4516FF702350EDDB0826779C813F0DF45BE8112F4")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect409k1 - */ - static X9ECParametersHolder sect409k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 409; - int k = 87; - - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746" - + "01E369050B7C4E42ACBA1DACBF04299C3460782F918EA427E6325165E9EA10E3DA5F6C42E9C55215AA9CA27A5863EC48D8E0286B")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect409r1 - */ - static X9ECParametersHolder sect409r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 409; - int k = 87; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = fromHex("0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F"); - byte[] S = Hex.decode("4099B5A457F9D69F79213D094C4BCD4D4262210B"); - BigInteger n = fromHex("010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7" - + "0061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect571k1 - */ - static X9ECParametersHolder sect571k1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 571; - int k1 = 2; - int k2 = 5; - int k3 = 10; - - BigInteger a = ECConstants.ZERO; - BigInteger b = BigInteger.valueOf(1); - byte[] S = null; - BigInteger n = fromHex("020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001"); - BigInteger h = BigInteger.valueOf(4); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("02" - //+ "026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972" - + "0349DC807F4FBF374F4AEADE3BCA95314DD58CEC9F307A54FFC61EFC006D8A2C9D4979C0AC44AEA74FBEBBB9F772AEDCB620B01A7BA7AF1B320430C8591984F601CD4C143EF1C7A3")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - /* - * sect571r1 - */ - static X9ECParametersHolder sect571r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - int m = 571; - int k1 = 2; - int k2 = 5; - int k3 = 10; - - BigInteger a = BigInteger.valueOf(1); - BigInteger b = fromHex("02F40E7E2221F295DE297117B7F3D62F5C6A97FFCB8CEFF1CD6BA8CE4A9A18AD84FFABBD8EFA59332BE7AD6756A66E294AFD185A78FF12AA520E4DE739BACA0C7FFEFF7F2955727A"); - byte[] S = Hex.decode("2AA058F73A0E33AB486B0F610410C53A7F132310"); - BigInteger n = fromHex("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47"); - BigInteger h = BigInteger.valueOf(2); - - ECCurve curve = configureCurve(new ECCurve.F2m(m, k1, k2, k3, a, b, n, h)); - //ECPoint G = curve.decodePoint(Hex.decode("03" - //+ "0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19")); - ECPoint G = curve.decodePoint(Hex.decode("04" - + "0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19" - + "037BF27342DA639B6DCCFFFEB73D69D78C6C27A6009CBBCA1980F8533921E8A684423E43BAB08A576291AF8F461BB2A8B3531D2F0485C19B16E2F1516E23DD3C1A4827AF1B8AC15B")); - - return new X9ECParameters(curve, G, n, h, S); - } - }; - - - static final Hashtable objIds = new Hashtable(); - static final Hashtable curves = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static void defineCurve(String name, ASN1ObjectIdentifier oid, X9ECParametersHolder holder) - { - objIds.put(name, oid); - names.put(oid, name); - curves.put(oid, holder); - } - - static - { - defineCurve("secp112r1", SECObjectIdentifiers.secp112r1, secp112r1); - defineCurve("secp112r2", SECObjectIdentifiers.secp112r2, secp112r2); - defineCurve("secp128r1", SECObjectIdentifiers.secp128r1, secp128r1); - defineCurve("secp128r2", SECObjectIdentifiers.secp128r2, secp128r2); - defineCurve("secp160k1", SECObjectIdentifiers.secp160k1, secp160k1); - defineCurve("secp160r1", SECObjectIdentifiers.secp160r1, secp160r1); - defineCurve("secp160r2", SECObjectIdentifiers.secp160r2, secp160r2); - defineCurve("secp192k1", SECObjectIdentifiers.secp192k1, secp192k1); - defineCurve("secp192r1", SECObjectIdentifiers.secp192r1, secp192r1); - defineCurve("secp224k1", SECObjectIdentifiers.secp224k1, secp224k1); - defineCurve("secp224r1", SECObjectIdentifiers.secp224r1, secp224r1); - defineCurve("secp256k1", SECObjectIdentifiers.secp256k1, secp256k1); - defineCurve("secp256r1", SECObjectIdentifiers.secp256r1, secp256r1); - defineCurve("secp384r1", SECObjectIdentifiers.secp384r1, secp384r1); - defineCurve("secp521r1", SECObjectIdentifiers.secp521r1, secp521r1); - - defineCurve("sect113r1", SECObjectIdentifiers.sect113r1, sect113r1); - defineCurve("sect113r2", SECObjectIdentifiers.sect113r2, sect113r2); - defineCurve("sect131r1", SECObjectIdentifiers.sect131r1, sect131r1); - defineCurve("sect131r2", SECObjectIdentifiers.sect131r2, sect131r2); - defineCurve("sect163k1", SECObjectIdentifiers.sect163k1, sect163k1); - defineCurve("sect163r1", SECObjectIdentifiers.sect163r1, sect163r1); - defineCurve("sect163r2", SECObjectIdentifiers.sect163r2, sect163r2); - defineCurve("sect193r1", SECObjectIdentifiers.sect193r1, sect193r1); - defineCurve("sect193r2", SECObjectIdentifiers.sect193r2, sect193r2); - defineCurve("sect233k1", SECObjectIdentifiers.sect233k1, sect233k1); - defineCurve("sect233r1", SECObjectIdentifiers.sect233r1, sect233r1); - defineCurve("sect239k1", SECObjectIdentifiers.sect239k1, sect239k1); - defineCurve("sect283k1", SECObjectIdentifiers.sect283k1, sect283k1); - defineCurve("sect283r1", SECObjectIdentifiers.sect283r1, sect283r1); - defineCurve("sect409k1", SECObjectIdentifiers.sect409k1, sect409k1); - defineCurve("sect409r1", SECObjectIdentifiers.sect409r1, sect409r1); - defineCurve("sect571k1", SECObjectIdentifiers.sect571k1, sect571k1); - defineCurve("sect571r1", SECObjectIdentifiers.sect571r1, sect571r1); - } - - public static X9ECParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - - if (oid != null) - { - return getByOID(oid); - } - - return null; - } - - /** - * return the X9ECParameters object for the named curve represented by - * the passed in object identifier. Null if the curve isn't present. - * - * @param oid an object identifier representing a named curve, if present. - */ - public static X9ECParameters getByOID( - ASN1ObjectIdentifier oid) - { - X9ECParametersHolder holder = (X9ECParametersHolder)curves.get(oid); - - if (holder != null) - { - return holder.getParameters(); - } - - return null; - } - - /** - * return the object identifier signified by the passed in name. Null - * if there is no object identifier associated with name. - * - * @return the object identifier associated with name, if present. - */ - public static ASN1ObjectIdentifier getOID( - String name) - { - return (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - } - - /** - * return the named curve name represented by the given object identifier. - */ - public static String getName( - ASN1ObjectIdentifier oid) - { - return (String)names.get(oid); - } - - /** - * returns an enumeration containing the name strings for curves - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECObjectIdentifiers.java deleted file mode 100644 index b5c48b942..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/sec/SECObjectIdentifiers.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.sec; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; - -/** - * Certicom object identifiers - *
    - *  ellipticCurve OBJECT IDENTIFIER ::= {
    - *        iso(1) identified-organization(3) certicom(132) curve(0)
    - *  }
    - * 
    - */ -public interface SECObjectIdentifiers -{ - /** Base OID: 1.3.132.0 */ - static final ASN1ObjectIdentifier ellipticCurve = new ASN1ObjectIdentifier("1.3.132.0"); - - /** sect163k1 OID: 1.3.132.0.1 */ - static final ASN1ObjectIdentifier sect163k1 = ellipticCurve.branch("1"); - /** sect163r1 OID: 1.3.132.0.2 */ - static final ASN1ObjectIdentifier sect163r1 = ellipticCurve.branch("2"); - /** sect239k1 OID: 1.3.132.0.3 */ - static final ASN1ObjectIdentifier sect239k1 = ellipticCurve.branch("3"); - /** sect113r1 OID: 1.3.132.0.4 */ - static final ASN1ObjectIdentifier sect113r1 = ellipticCurve.branch("4"); - /** sect113r2 OID: 1.3.132.0.5 */ - static final ASN1ObjectIdentifier sect113r2 = ellipticCurve.branch("5"); - /** secp112r1 OID: 1.3.132.0.6 */ - static final ASN1ObjectIdentifier secp112r1 = ellipticCurve.branch("6"); - /** secp112r2 OID: 1.3.132.0.7 */ - static final ASN1ObjectIdentifier secp112r2 = ellipticCurve.branch("7"); - /** secp160r1 OID: 1.3.132.0.8 */ - static final ASN1ObjectIdentifier secp160r1 = ellipticCurve.branch("8"); - /** secp160k1 OID: 1.3.132.0.9 */ - static final ASN1ObjectIdentifier secp160k1 = ellipticCurve.branch("9"); - /** secp256k1 OID: 1.3.132.0.10 */ - static final ASN1ObjectIdentifier secp256k1 = ellipticCurve.branch("10"); - /** sect163r2 OID: 1.3.132.0.15 */ - static final ASN1ObjectIdentifier sect163r2 = ellipticCurve.branch("15"); - /** sect283k1 OID: 1.3.132.0.16 */ - static final ASN1ObjectIdentifier sect283k1 = ellipticCurve.branch("16"); - /** sect283r1 OID: 1.3.132.0.17 */ - static final ASN1ObjectIdentifier sect283r1 = ellipticCurve.branch("17"); - /** sect131r1 OID: 1.3.132.0.22 */ - static final ASN1ObjectIdentifier sect131r1 = ellipticCurve.branch("22"); - /** sect131r2 OID: 1.3.132.0.23 */ - static final ASN1ObjectIdentifier sect131r2 = ellipticCurve.branch("23"); - /** sect193r1 OID: 1.3.132.0.24 */ - static final ASN1ObjectIdentifier sect193r1 = ellipticCurve.branch("24"); - /** sect193r2 OID: 1.3.132.0.25 */ - static final ASN1ObjectIdentifier sect193r2 = ellipticCurve.branch("25"); - /** sect233k1 OID: 1.3.132.0.26 */ - static final ASN1ObjectIdentifier sect233k1 = ellipticCurve.branch("26"); - /** sect233r1 OID: 1.3.132.0.27 */ - static final ASN1ObjectIdentifier sect233r1 = ellipticCurve.branch("27"); - /** secp128r1 OID: 1.3.132.0.28 */ - static final ASN1ObjectIdentifier secp128r1 = ellipticCurve.branch("28"); - /** secp128r2 OID: 1.3.132.0.29 */ - static final ASN1ObjectIdentifier secp128r2 = ellipticCurve.branch("29"); - /** secp160r2 OID: 1.3.132.0.30 */ - static final ASN1ObjectIdentifier secp160r2 = ellipticCurve.branch("30"); - /** secp192k1 OID: 1.3.132.0.31 */ - static final ASN1ObjectIdentifier secp192k1 = ellipticCurve.branch("31"); - /** secp224k1 OID: 1.3.132.0.32 */ - static final ASN1ObjectIdentifier secp224k1 = ellipticCurve.branch("32"); - /** secp224r1 OID: 1.3.132.0.33 */ - static final ASN1ObjectIdentifier secp224r1 = ellipticCurve.branch("33"); - /** secp384r1 OID: 1.3.132.0.34 */ - static final ASN1ObjectIdentifier secp384r1 = ellipticCurve.branch("34"); - /** secp521r1 OID: 1.3.132.0.35 */ - static final ASN1ObjectIdentifier secp521r1 = ellipticCurve.branch("35"); - /** sect409k1 OID: 1.3.132.0.36 */ - static final ASN1ObjectIdentifier sect409k1 = ellipticCurve.branch("36"); - /** sect409r1 OID: 1.3.132.0.37 */ - static final ASN1ObjectIdentifier sect409r1 = ellipticCurve.branch("37"); - /** sect571k1 OID: 1.3.132.0.38 */ - static final ASN1ObjectIdentifier sect571k1 = ellipticCurve.branch("38"); - /** sect571r1 OID: 1.3.132.0.39 */ - static final ASN1ObjectIdentifier sect571r1 = ellipticCurve.branch("39"); - - /** secp192r1 OID: 1.3.132.0.prime192v1 */ - static final ASN1ObjectIdentifier secp192r1 = X9ObjectIdentifiers.prime192v1; - /** secp256r1 OID: 1.3.132.0.prime256v1 */ - static final ASN1ObjectIdentifier secp256r1 = X9ObjectIdentifiers.prime256v1; - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEAttributes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEAttributes.java deleted file mode 100644 index cf3f57e3f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEAttributes.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.asn1.smime; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public interface SMIMEAttributes -{ - public static final ASN1ObjectIdentifier smimeCapabilities = PKCSObjectIdentifiers.pkcs_9_at_smimeCapabilities; - public static final ASN1ObjectIdentifier encrypKeyPref = PKCSObjectIdentifiers.id_aa_encrypKeyPref; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilities.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilities.java deleted file mode 100644 index e25f5eb38..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilities.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.smime; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.cms.Attribute; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -/** - * Handler class for dealing with S/MIME Capabilities - */ -public class SMIMECapabilities - extends ASN1Object -{ - /** - * general preferences - */ - public static final ASN1ObjectIdentifier preferSignedData = PKCSObjectIdentifiers.preferSignedData; - public static final ASN1ObjectIdentifier canNotDecryptAny = PKCSObjectIdentifiers.canNotDecryptAny; - public static final ASN1ObjectIdentifier sMIMECapabilitesVersions = PKCSObjectIdentifiers.sMIMECapabilitiesVersions; - - /** - * encryption algorithms preferences - */ - public static final ASN1ObjectIdentifier dES_CBC = new ASN1ObjectIdentifier("1.3.14.3.2.7"); - public static final ASN1ObjectIdentifier dES_EDE3_CBC = PKCSObjectIdentifiers.des_EDE3_CBC; - public static final ASN1ObjectIdentifier rC2_CBC = PKCSObjectIdentifiers.RC2_CBC; - - private ASN1Sequence capabilities; - - /** - * return an Attribute object from the given object. - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static SMIMECapabilities getInstance( - Object o) - { - if (o == null || o instanceof SMIMECapabilities) - { - return (SMIMECapabilities)o; - } - - if (o instanceof ASN1Sequence) - { - return new SMIMECapabilities((ASN1Sequence)o); - } - - if (o instanceof Attribute) - { - return new SMIMECapabilities( - (ASN1Sequence)(((Attribute)o).getAttrValues().getObjectAt(0))); - } - - throw new IllegalArgumentException("unknown object in factory: " + o.getClass().getName()); - } - - public SMIMECapabilities( - ASN1Sequence seq) - { - capabilities = seq; - } - - /** - * returns a vector with 0 or more objects of all the capabilities - * matching the passed in capability OID. If the OID passed is null the - * entire set is returned. - */ - public Vector getCapabilities( - ASN1ObjectIdentifier capability) - { - Enumeration e = capabilities.getObjects(); - Vector list = new Vector(); - - if (capability == null) - { - while (e.hasMoreElements()) - { - SMIMECapability cap = SMIMECapability.getInstance(e.nextElement()); - - list.addElement(cap); - } - } - else - { - while (e.hasMoreElements()) - { - SMIMECapability cap = SMIMECapability.getInstance(e.nextElement()); - - if (capability.equals(cap.getCapabilityID())) - { - list.addElement(cap); - } - } - } - - return list; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * SMIMECapabilities ::= SEQUENCE OF SMIMECapability
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return capabilities; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilitiesAttribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilitiesAttribute.java deleted file mode 100644 index 53e749aa1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilitiesAttribute.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.spongycastle.asn1.smime; - -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.cms.Attribute; - -public class SMIMECapabilitiesAttribute - extends Attribute -{ - public SMIMECapabilitiesAttribute( - SMIMECapabilityVector capabilities) - { - super(SMIMEAttributes.smimeCapabilities, - new DERSet(new DERSequence(capabilities.toASN1EncodableVector()))); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapability.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapability.java deleted file mode 100644 index c3c4a9996..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapability.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.asn1.smime; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; - -public class SMIMECapability - extends ASN1Object -{ - /** - * general preferences - */ - public static final ASN1ObjectIdentifier preferSignedData = PKCSObjectIdentifiers.preferSignedData; - public static final ASN1ObjectIdentifier canNotDecryptAny = PKCSObjectIdentifiers.canNotDecryptAny; - public static final ASN1ObjectIdentifier sMIMECapabilitiesVersions = PKCSObjectIdentifiers.sMIMECapabilitiesVersions; - - /** - * encryption algorithms preferences - */ - public static final ASN1ObjectIdentifier dES_CBC = new ASN1ObjectIdentifier("1.3.14.3.2.7"); - public static final ASN1ObjectIdentifier dES_EDE3_CBC = PKCSObjectIdentifiers.des_EDE3_CBC; - public static final ASN1ObjectIdentifier rC2_CBC = PKCSObjectIdentifiers.RC2_CBC; - public static final ASN1ObjectIdentifier aES128_CBC = NISTObjectIdentifiers.id_aes128_CBC; - public static final ASN1ObjectIdentifier aES192_CBC = NISTObjectIdentifiers.id_aes192_CBC; - public static final ASN1ObjectIdentifier aES256_CBC = NISTObjectIdentifiers.id_aes256_CBC; - - private ASN1ObjectIdentifier capabilityID; - private ASN1Encodable parameters; - - public SMIMECapability( - ASN1Sequence seq) - { - capabilityID = (ASN1ObjectIdentifier)seq.getObjectAt(0); - - if (seq.size() > 1) - { - parameters = (ASN1Primitive)seq.getObjectAt(1); - } - } - - public SMIMECapability( - ASN1ObjectIdentifier capabilityID, - ASN1Encodable parameters) - { - this.capabilityID = capabilityID; - this.parameters = parameters; - } - - public static SMIMECapability getInstance( - Object obj) - { - if (obj == null || obj instanceof SMIMECapability) - { - return (SMIMECapability)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new SMIMECapability((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid SMIMECapability"); - } - - public ASN1ObjectIdentifier getCapabilityID() - { - return capabilityID; - } - - public ASN1Encodable getParameters() - { - return parameters; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
     
    -     * SMIMECapability ::= SEQUENCE {
    -     *     capabilityID OBJECT IDENTIFIER,
    -     *     parameters ANY DEFINED BY capabilityID OPTIONAL 
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(capabilityID); - - if (parameters != null) - { - v.add(parameters); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilityVector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilityVector.java deleted file mode 100644 index 91834e388..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMECapabilityVector.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.spongycastle.asn1.smime; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERSequence; - -/** - * Handler for creating a vector S/MIME Capabilities - */ -public class SMIMECapabilityVector -{ - private ASN1EncodableVector capabilities = new ASN1EncodableVector(); - - public void addCapability( - ASN1ObjectIdentifier capability) - { - capabilities.add(new DERSequence(capability)); - } - - public void addCapability( - ASN1ObjectIdentifier capability, - int value) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(capability); - v.add(new ASN1Integer(value)); - - capabilities.add(new DERSequence(v)); - } - - public void addCapability( - ASN1ObjectIdentifier capability, - ASN1Encodable params) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(capability); - v.add(params); - - capabilities.add(new DERSequence(v)); - } - - public ASN1EncodableVector toASN1EncodableVector() - { - return capabilities; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.java deleted file mode 100644 index 2eacdee98..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1.smime; - -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.cms.Attribute; -import org.spongycastle.asn1.cms.IssuerAndSerialNumber; -import org.spongycastle.asn1.cms.RecipientKeyIdentifier; - -/** - * The SMIMEEncryptionKeyPreference object. - *
    - * SMIMEEncryptionKeyPreference ::= CHOICE {
    - *     issuerAndSerialNumber   [0] IssuerAndSerialNumber,
    - *     receipentKeyId          [1] RecipientKeyIdentifier,
    - *     subjectAltKeyIdentifier [2] SubjectKeyIdentifier
    - * }
    - * 
    - */ -public class SMIMEEncryptionKeyPreferenceAttribute - extends Attribute -{ - public SMIMEEncryptionKeyPreferenceAttribute( - IssuerAndSerialNumber issAndSer) - { - super(SMIMEAttributes.encrypKeyPref, - new DERSet(new DERTaggedObject(false, 0, issAndSer))); - } - - public SMIMEEncryptionKeyPreferenceAttribute( - RecipientKeyIdentifier rKeyId) - { - - super(SMIMEAttributes.encrypKeyPref, - new DERSet(new DERTaggedObject(false, 1, rKeyId))); - } - - /** - * @param sKeyId the subjectKeyIdentifier value (normally the X.509 one) - */ - public SMIMEEncryptionKeyPreferenceAttribute( - ASN1OctetString sKeyId) - { - - super(SMIMEAttributes.encrypKeyPref, - new DERSet(new DERTaggedObject(false, 2, sKeyId))); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTNamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTNamedCurves.java deleted file mode 100644 index 7ea7c6e53..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTNamedCurves.java +++ /dev/null @@ -1,356 +0,0 @@ -package org.spongycastle.asn1.teletrust; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ECParametersHolder; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; - -/** - * elliptic curves defined in "ECC Brainpool Standard Curves and Curve Generation" - * http://www.ecc-brainpool.org/download/draft_pkix_additional_ecc_dp.txt - */ -public class TeleTrusTNamedCurves -{ - private static ECCurve configureCurve(ECCurve curve) - { - return curve; - } - - static X9ECParametersHolder brainpoolP160r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620F", 16), // q - new BigInteger("340E7BE2A280EB74E2BE61BADA745D97E8F7C300", 16), // a - new BigInteger("1E589A8595423412134FAA2DBDEC95C8D8675E58", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04BED5AF16EA3F6A4F62938C4631EB5AF7BDBCDBC31667CB477A1A8EC338F94741669C976316DA6321")), // G - new BigInteger("E95E4A5F737059DC60DF5991D45029409E60FC09", 16), //n - new BigInteger("01", 16)); // h - } - }; - - static X9ECParametersHolder brainpoolP160t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - // new BigInteger("24DBFF5DEC9B986BBFE5295A29BFBAE45E0F5D0B", 16), // Z - new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620F", 16), // q - new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620C", 16), // a' - new BigInteger("7A556B6DAE535B7B51ED2C4D7DAA7A0B5C55F380", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04B199B13B9B34EFC1397E64BAEB05ACC265FF2378ADD6718B7C7C1961F0991B842443772152C9E0AD")), // G - new BigInteger("E95E4A5F737059DC60DF5991D45029409E60FC09", 16), //n - new BigInteger("01", 16)); // h - } - }; - - static X9ECParametersHolder brainpoolP192r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), // q - new BigInteger("6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF", 16), // a - new BigInteger("469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04C0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD614B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F")), // G - new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16), //n - new BigInteger("01", 16)); // h - } - }; - - static X9ECParametersHolder brainpoolP192t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("1B6F5CC8DB4DC7AF19458A9CB80DC2295E5EB9C3732104CB") //Z - new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), // q - new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86294", 16), // a' - new BigInteger("13D56FFAEC78681E68F9DEB43B35BEC2FB68542E27897B79", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("043AE9E58C82F63C30282E1FE7BBF43FA72C446AF6F4618129097E2C5667C2223A902AB5CA449D0084B7E5B3DE7CCC01C9")), // G' - new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16), //n - new BigInteger("01", 16)); // h - } - }; - - static X9ECParametersHolder brainpoolP224r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF", 16), // q - new BigInteger("68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43", 16), // a - new BigInteger("2580F63CCFE44138870713B1A92369E33E2135D266DBB372386C400B", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("040D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C1E6EFDEE12C07D58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D3761402CD")), // G - new BigInteger("D7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F", 16), //n - new BigInteger("01", 16)); // n - } - }; - static X9ECParametersHolder brainpoolP224t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("2DF271E14427A346910CF7A2E6CFA7B3F484E5C2CCE1C8B730E28B3F") //Z - new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF", 16), // q - new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FC", 16), // a' - new BigInteger("4B337D934104CD7BEF271BF60CED1ED20DA14C08B3BB64F18A60888D", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("046AB1E344CE25FF3896424E7FFE14762ECB49F8928AC0C76029B4D5800374E9F5143E568CD23F3F4D7C0D4B1E41C8CC0D1C6ABD5F1A46DB4C")), // G' - new BigInteger("D7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP256r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", 16), // q - new BigInteger("7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9", 16), // a - new BigInteger("26DC5C6CE94A4B44F330B5D9BBD77CBF958416295CF7E1CE6BCCDC18FF8C07B6", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("048BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997")), // G - new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP256t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("3E2D4BD9597B58639AE7AA669CAB9837CF5CF20A2C852D10F655668DFC150EF0") //Z - new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", 16), // q - new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5374", 16), // a' - new BigInteger("662C61C430D84EA4FE66A7733D0B76B7BF93EBC4AF2F49256AE58101FEE92B04", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04A3E8EB3CC1CFE7B7732213B23A656149AFA142C47AAFBC2B79A191562E1305F42D996C823439C56D7F7B22E14644417E69BCB6DE39D027001DABE8F35B25C9BE")), // G' - new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP320r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E27", 16), // q - new BigInteger("3EE30B568FBAB0F883CCEBD46D3F3BB8A2A73513F5EB79DA66190EB085FFA9F492F375A97D860EB4", 16), // a - new BigInteger("520883949DFDBC42D3AD198640688A6FE13F41349554B49ACC31DCCD884539816F5EB4AC8FB1F1A6", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("0443BD7E9AFB53D8B85289BCC48EE5BFE6F20137D10A087EB6E7871E2A10A599C710AF8D0D39E2061114FDD05545EC1CC8AB4093247F77275E0743FFED117182EAA9C77877AAAC6AC7D35245D1692E8EE1")), // G - new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA5B68F12A32D482EC7EE8658E98691555B44C59311", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP320t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("15F75CAF668077F7E85B42EB01F0A81FF56ECD6191D55CB82B7D861458A18FEFC3E5AB7496F3C7B1") //Z - new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E27", 16), // q - new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E24", 16), // a' - new BigInteger("A7F561E038EB1ED560B3D147DB782013064C19F27ED27C6780AAF77FB8A547CEB5B4FEF422340353", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04925BE9FB01AFC6FB4D3E7D4990010F813408AB106C4F09CB7EE07868CC136FFF3357F624A21BED5263BA3A7A27483EBF6671DBEF7ABB30EBEE084E58A0B077AD42A5A0989D1EE71B1B9BC0455FB0D2C3")), // G' - new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA5B68F12A32D482EC7EE8658E98691555B44C59311", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP384r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC53", 16), // q - new BigInteger("7BC382C63D8C150C3C72080ACE05AFA0C2BEA28E4FB22787139165EFBA91F90F8AA5814A503AD4EB04A8C7DD22CE2826", 16), // a - new BigInteger("4A8C7DD22CE28268B39B55416F0447C2FB77DE107DCD2A62E880EA53EEB62D57CB4390295DBC9943AB78696FA504C11", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("041D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315")), // G - new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7CF3AB6AF6B7FC3103B883202E9046565", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP384t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("41DFE8DD399331F7166A66076734A89CD0D2BCDB7D068E44E1F378F41ECBAE97D2D63DBC87BCCDDCCC5DA39E8589291C") //Z - new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC53", 16), // q - new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC50", 16), // a' - new BigInteger("7F519EADA7BDA81BD826DBA647910F8C4B9346ED8CCDC64E4B1ABD11756DCE1D2074AA263B88805CED70355A33B471EE", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("0418DE98B02DB9A306F2AFCD7235F72A819B80AB12EBD653172476FECD462AABFFC4FF191B946A5F54D8D0AA2F418808CC25AB056962D30651A114AFD2755AD336747F93475B7A1FCA3B88F2B6A208CCFE469408584DC2B2912675BF5B9E582928")), // G' - new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7CF3AB6AF6B7FC3103B883202E9046565", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP512r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3", 16), // q - new BigInteger("7830A3318B603B89E2327145AC234CC594CBDD8D3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CA", 16), // a - new BigInteger("3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CADC083E67984050B75EBAE5DD2809BD638016F723", 16))); // b - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("0481AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F8227DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892")), // G - new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330870553E5C414CA92619418661197FAC10471DB1D381085DDADDB58796829CA90069", 16), //n - new BigInteger("01", 16)); // h - } - }; - static X9ECParametersHolder brainpoolP512t1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve curve = configureCurve(new ECCurve.Fp( - //new BigInteger("12EE58E6764838B69782136F0F2D3BA06E27695716054092E60A80BEDB212B64E585D90BCE13761F85C3F1D2A64E3BE8FEA2220F01EBA5EEB0F35DBD29D922AB") //Z - new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3", 16), // q - new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F0", 16), // a' - new BigInteger("7CBBBCF9441CFAB76E1890E46884EAE321F70C0BCB4981527897504BEC3E36A62BCDFA2304976540F6450085F2DAE145C22553B465763689180EA2571867423E", 16))); // b' - - return new X9ECParameters( - curve, - curve.decodePoint(Hex.decode("04640ECE5C12788717B9C1BA06CBC2A6FEBA85842458C56DDE9DB1758D39C0313D82BA51735CDB3EA499AA77A7D6943A64F7A3F25FE26F06B51BAA2696FA9035DA5B534BD595F5AF0FA2C892376C84ACE1BB4E3019B71634C01131159CAE03CEE9D9932184BEEF216BD71DF2DADF86A627306ECFF96DBB8BACE198B61E00F8B332")), // G' - new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330870553E5C414CA92619418661197FAC10471DB1D381085DDADDB58796829CA90069", 16), //n - new BigInteger("01", 16)); // h - } - }; - - static final Hashtable objIds = new Hashtable(); - static final Hashtable curves = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static void defineCurve(String name, ASN1ObjectIdentifier oid, X9ECParametersHolder holder) - { - objIds.put(name, oid); - names.put(oid, name); - curves.put(oid, holder); - } - - static - { - defineCurve("brainpoolp160r1", TeleTrusTObjectIdentifiers.brainpoolP160r1, brainpoolP160r1); - defineCurve("brainpoolp160t1", TeleTrusTObjectIdentifiers.brainpoolP160t1, brainpoolP160t1); - defineCurve("brainpoolp192r1", TeleTrusTObjectIdentifiers.brainpoolP192r1, brainpoolP192r1); - defineCurve("brainpoolp192t1", TeleTrusTObjectIdentifiers.brainpoolP192t1, brainpoolP192t1); - defineCurve("brainpoolp224r1", TeleTrusTObjectIdentifiers.brainpoolP224r1, brainpoolP224r1); - defineCurve("brainpoolp224t1", TeleTrusTObjectIdentifiers.brainpoolP224t1, brainpoolP224t1); - defineCurve("brainpoolp256r1", TeleTrusTObjectIdentifiers.brainpoolP256r1, brainpoolP256r1); - defineCurve("brainpoolp256t1", TeleTrusTObjectIdentifiers.brainpoolP256t1, brainpoolP256t1); - defineCurve("brainpoolp320r1", TeleTrusTObjectIdentifiers.brainpoolP320r1, brainpoolP320r1); - defineCurve("brainpoolp320t1", TeleTrusTObjectIdentifiers.brainpoolP320t1, brainpoolP320t1); - defineCurve("brainpoolp384r1", TeleTrusTObjectIdentifiers.brainpoolP384r1, brainpoolP384r1); - defineCurve("brainpoolp384t1", TeleTrusTObjectIdentifiers.brainpoolP384t1, brainpoolP384t1); - defineCurve("brainpoolp512r1", TeleTrusTObjectIdentifiers.brainpoolP512r1, brainpoolP512r1); - defineCurve("brainpoolp512t1", TeleTrusTObjectIdentifiers.brainpoolP512t1, brainpoolP512t1); - } - - public static X9ECParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - - if (oid != null) - { - return getByOID(oid); - } - - return null; - } - - /** - * return the X9ECParameters object for the named curve represented by - * the passed in object identifier. Null if the curve isn't present. - * - * @param oid an object identifier representing a named curve, if present. - */ - public static X9ECParameters getByOID( - ASN1ObjectIdentifier oid) - { - X9ECParametersHolder holder = (X9ECParametersHolder)curves.get(oid); - - if (holder != null) - { - return holder.getParameters(); - } - - return null; - } - - /** - * return the object identifier signified by the passed in name. Null - * if there is no object identifier associated with name. - * - * @return the object identifier associated with name, if present. - */ - public static ASN1ObjectIdentifier getOID( - String name) - { - return (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - } - - /** - * return the named curve name represented by the given object identifier. - */ - public static String getName( - ASN1ObjectIdentifier oid) - { - return (String)names.get(oid); - } - - /** - * returns an enumeration containing the name strings for curves - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } - - public static ASN1ObjectIdentifier getOID(short curvesize, boolean twisted) - { - return getOID("brainpoolP" + curvesize + (twisted ? "t" : "r") + "1"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java deleted file mode 100644 index 32433a153..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.asn1.teletrust; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * TeleTrusT: - * { iso(1) identifier-organization(3) teleTrust(36) algorithm(3) - * - */ -public interface TeleTrusTObjectIdentifiers -{ - /** 1.3.36.3 */ - static final ASN1ObjectIdentifier teleTrusTAlgorithm = new ASN1ObjectIdentifier("1.3.36.3"); - - /** 1.3.36.3.2.1 */ - static final ASN1ObjectIdentifier ripemd160 = teleTrusTAlgorithm.branch("2.1"); - /** 1.3.36.3.2.2 */ - static final ASN1ObjectIdentifier ripemd128 = teleTrusTAlgorithm.branch("2.2"); - /** 1.3.36.3.2.3 */ - static final ASN1ObjectIdentifier ripemd256 = teleTrusTAlgorithm.branch("2.3"); - - /** 1.3.36.3.3.1 */ - static final ASN1ObjectIdentifier teleTrusTRSAsignatureAlgorithm = teleTrusTAlgorithm.branch("3.1"); - - /** 1.3.36.3.3.1.2 */ - static final ASN1ObjectIdentifier rsaSignatureWithripemd160 = teleTrusTRSAsignatureAlgorithm.branch("2"); - /** 1.3.36.3.3.1.3 */ - static final ASN1ObjectIdentifier rsaSignatureWithripemd128 = teleTrusTRSAsignatureAlgorithm.branch("3"); - /** 1.3.36.3.3.1.4 */ - static final ASN1ObjectIdentifier rsaSignatureWithripemd256 = teleTrusTRSAsignatureAlgorithm.branch("4"); - - /** 1.3.36.3.3.2 */ - static final ASN1ObjectIdentifier ecSign = teleTrusTAlgorithm.branch("3.2"); - - /** 1.3.36.3.3.2,1 */ - static final ASN1ObjectIdentifier ecSignWithSha1 = ecSign.branch("1"); - /** 1.3.36.3.3.2.2 */ - static final ASN1ObjectIdentifier ecSignWithRipemd160 = ecSign.branch("2"); - - /** 1.3.36.3.3.2.8 */ - static final ASN1ObjectIdentifier ecc_brainpool = teleTrusTAlgorithm.branch("3.2.8"); - /** 1.3.36.3.3.2.8.1 */ - static final ASN1ObjectIdentifier ellipticCurve = ecc_brainpool.branch("1"); - /** 1.3.36.3.3.2.8.1 */ - static final ASN1ObjectIdentifier versionOne = ellipticCurve.branch("1"); - - /** 1.3.36.3.3.2.8.1.1 */ - static final ASN1ObjectIdentifier brainpoolP160r1 = versionOne.branch("1"); - /** 1.3.36.3.3.2.8.1.2 */ - static final ASN1ObjectIdentifier brainpoolP160t1 = versionOne.branch("2"); - /** 1.3.36.3.3.2.8.1.3 */ - static final ASN1ObjectIdentifier brainpoolP192r1 = versionOne.branch("3"); - /** 1.3.36.3.3.2.8.1.4 */ - static final ASN1ObjectIdentifier brainpoolP192t1 = versionOne.branch("4"); - /** 1.3.36.3.3.2.8.1.5 */ - static final ASN1ObjectIdentifier brainpoolP224r1 = versionOne.branch("5"); - /** 1.3.36.3.3.2.8.1.6 */ - static final ASN1ObjectIdentifier brainpoolP224t1 = versionOne.branch("6"); - /** 1.3.36.3.3.2.8.1.7 */ - static final ASN1ObjectIdentifier brainpoolP256r1 = versionOne.branch("7"); - /** 1.3.36.3.3.2.8.1.8 */ - static final ASN1ObjectIdentifier brainpoolP256t1 = versionOne.branch("8"); - /** 1.3.36.3.3.2.8.1.9 */ - static final ASN1ObjectIdentifier brainpoolP320r1 = versionOne.branch("9"); - /** 1.3.36.3.3.2.8.1.10 */ - static final ASN1ObjectIdentifier brainpoolP320t1 = versionOne.branch("10"); - /** 1.3.36.3.3.2.8.1.11 */ - static final ASN1ObjectIdentifier brainpoolP384r1 = versionOne.branch("11"); - /** 1.3.36.3.3.2.8.1.12 */ - static final ASN1ObjectIdentifier brainpoolP384t1 = versionOne.branch("12"); - /** 1.3.36.3.3.2.8.1.13 */ - static final ASN1ObjectIdentifier brainpoolP512r1 = versionOne.branch("13"); - /** 1.3.36.3.3.2.8.1.14 */ - static final ASN1ObjectIdentifier brainpoolP512t1 = versionOne.branch("14"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/Accuracy.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/Accuracy.java deleted file mode 100644 index 910d22c1c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/Accuracy.java +++ /dev/null @@ -1,173 +0,0 @@ -package org.spongycastle.asn1.tsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - - -public class Accuracy - extends ASN1Object -{ - ASN1Integer seconds; - - ASN1Integer millis; - - ASN1Integer micros; - - // constantes - protected static final int MIN_MILLIS = 1; - - protected static final int MAX_MILLIS = 999; - - protected static final int MIN_MICROS = 1; - - protected static final int MAX_MICROS = 999; - - protected Accuracy() - { - } - - public Accuracy( - ASN1Integer seconds, - ASN1Integer millis, - ASN1Integer micros) - { - this.seconds = seconds; - - //Verifications - if (millis != null - && (millis.getValue().intValue() < MIN_MILLIS || millis - .getValue().intValue() > MAX_MILLIS)) - { - throw new IllegalArgumentException( - "Invalid millis field : not in (1..999)"); - } - else - { - this.millis = millis; - } - - if (micros != null - && (micros.getValue().intValue() < MIN_MICROS || micros - .getValue().intValue() > MAX_MICROS)) - { - throw new IllegalArgumentException( - "Invalid micros field : not in (1..999)"); - } - else - { - this.micros = micros; - } - - } - - private Accuracy(ASN1Sequence seq) - { - seconds = null; - millis = null; - micros = null; - - for (int i = 0; i < seq.size(); i++) - { - // seconds - if (seq.getObjectAt(i) instanceof ASN1Integer) - { - seconds = (ASN1Integer) seq.getObjectAt(i); - } - else if (seq.getObjectAt(i) instanceof DERTaggedObject) - { - DERTaggedObject extra = (DERTaggedObject) seq.getObjectAt(i); - - switch (extra.getTagNo()) - { - case 0: - millis = ASN1Integer.getInstance(extra, false); - if (millis.getValue().intValue() < MIN_MILLIS - || millis.getValue().intValue() > MAX_MILLIS) - { - throw new IllegalArgumentException( - "Invalid millis field : not in (1..999)."); - } - break; - case 1: - micros = ASN1Integer.getInstance(extra, false); - if (micros.getValue().intValue() < MIN_MICROS - || micros.getValue().intValue() > MAX_MICROS) - { - throw new IllegalArgumentException( - "Invalid micros field : not in (1..999)."); - } - break; - default: - throw new IllegalArgumentException("Invalig tag number"); - } - } - } - } - - public static Accuracy getInstance(Object o) - { - if (o instanceof Accuracy) - { - return (Accuracy) o; - } - - if (o != null) - { - return new Accuracy(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer getSeconds() - { - return seconds; - } - - public ASN1Integer getMillis() - { - return millis; - } - - public ASN1Integer getMicros() - { - return micros; - } - - /** - *
    -     * Accuracy ::= SEQUENCE {
    -     *             seconds        INTEGER              OPTIONAL,
    -     *             millis     [0] INTEGER  (1..999)    OPTIONAL,
    -     *             micros     [1] INTEGER  (1..999)    OPTIONAL
    -     *             }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (seconds != null) - { - v.add(seconds); - } - - if (millis != null) - { - v.add(new DERTaggedObject(false, 0, millis)); - } - - if (micros != null) - { - v.add(new DERTaggedObject(false, 1, micros)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/MessageImprint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/MessageImprint.java deleted file mode 100644 index 05830447f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/MessageImprint.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.asn1.tsp; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class MessageImprint - extends ASN1Object -{ - AlgorithmIdentifier hashAlgorithm; - byte[] hashedMessage; - - /** - * @param o - * @return a MessageImprint object. - */ - public static MessageImprint getInstance(Object o) - { - if (o instanceof MessageImprint) - { - return (MessageImprint)o; - } - - if (o != null) - { - return new MessageImprint(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private MessageImprint( - ASN1Sequence seq) - { - this.hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); - this.hashedMessage = ASN1OctetString.getInstance(seq.getObjectAt(1)).getOctets(); - } - - public MessageImprint( - AlgorithmIdentifier hashAlgorithm, - byte[] hashedMessage) - { - this.hashAlgorithm = hashAlgorithm; - this.hashedMessage = hashedMessage; - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public byte[] getHashedMessage() - { - return hashedMessage; - } - - /** - *
    -     *    MessageImprint ::= SEQUENCE  {
    -     *       hashAlgorithm                AlgorithmIdentifier,
    -     *       hashedMessage                OCTET STRING  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(hashAlgorithm); - v.add(new DEROctetString(hashedMessage)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TSTInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TSTInfo.java deleted file mode 100644 index 71587414c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TSTInfo.java +++ /dev/null @@ -1,233 +0,0 @@ -package org.spongycastle.asn1.tsp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralName; - -public class TSTInfo - extends ASN1Object -{ - private ASN1Integer version; - private ASN1ObjectIdentifier tsaPolicyId; - private MessageImprint messageImprint; - private ASN1Integer serialNumber; - private ASN1GeneralizedTime genTime; - private Accuracy accuracy; - private ASN1Boolean ordering; - private ASN1Integer nonce; - private GeneralName tsa; - private Extensions extensions; - - public static TSTInfo getInstance(Object o) - { - if (o instanceof TSTInfo) - { - return (TSTInfo)o; - } - else if (o != null) - { - return new TSTInfo(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private TSTInfo(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - // version - version = ASN1Integer.getInstance(e.nextElement()); - - // tsaPolicy - tsaPolicyId = ASN1ObjectIdentifier.getInstance(e.nextElement()); - - // messageImprint - messageImprint = MessageImprint.getInstance(e.nextElement()); - - // serialNumber - serialNumber = ASN1Integer.getInstance(e.nextElement()); - - // genTime - genTime = ASN1GeneralizedTime.getInstance(e.nextElement()); - - // default for ordering - ordering = ASN1Boolean.getInstance(false); - - while (e.hasMoreElements()) - { - ASN1Object o = (ASN1Object) e.nextElement(); - - if (o instanceof ASN1TaggedObject) - { - DERTaggedObject tagged = (DERTaggedObject) o; - - switch (tagged.getTagNo()) - { - case 0: - tsa = GeneralName.getInstance(tagged, true); - break; - case 1: - extensions = Extensions.getInstance(tagged, false); - break; - default: - throw new IllegalArgumentException("Unknown tag value " + tagged.getTagNo()); - } - } - else if (o instanceof ASN1Sequence || o instanceof Accuracy) - { - accuracy = Accuracy.getInstance(o); - } - else if (o instanceof ASN1Boolean) - { - ordering = ASN1Boolean.getInstance(o); - } - else if (o instanceof ASN1Integer) - { - nonce = ASN1Integer.getInstance(o); - } - - } - } - - public TSTInfo(ASN1ObjectIdentifier tsaPolicyId, MessageImprint messageImprint, - ASN1Integer serialNumber, ASN1GeneralizedTime genTime, - Accuracy accuracy, ASN1Boolean ordering, ASN1Integer nonce, - GeneralName tsa, Extensions extensions) - { - version = new ASN1Integer(1); - this.tsaPolicyId = tsaPolicyId; - this.messageImprint = messageImprint; - this.serialNumber = serialNumber; - this.genTime = genTime; - - this.accuracy = accuracy; - this.ordering = ordering; - this.nonce = nonce; - this.tsa = tsa; - this.extensions = extensions; - } - - public ASN1Integer getVersion() - { - return version; - } - - public MessageImprint getMessageImprint() - { - return messageImprint; - } - - public ASN1ObjectIdentifier getPolicy() - { - return tsaPolicyId; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public Accuracy getAccuracy() - { - return accuracy; - } - - public ASN1GeneralizedTime getGenTime() - { - return genTime; - } - - public ASN1Boolean getOrdering() - { - return ordering; - } - - public ASN1Integer getNonce() - { - return nonce; - } - - public GeneralName getTsa() - { - return tsa; - } - - public Extensions getExtensions() - { - return extensions; - } - - /** - *
    -     * 
    -     *     TSTInfo ::= SEQUENCE  {
    -     *        version                      INTEGER  { v1(1) },
    -     *        policy                       TSAPolicyId,
    -     *        messageImprint               MessageImprint,
    -     *          -- MUST have the same value as the similar field in
    -     *          -- TimeStampReq
    -     *        serialNumber                 INTEGER,
    -     *         -- Time-Stamping users MUST be ready to accommodate integers
    -     *         -- up to 160 bits.
    -     *        genTime                      GeneralizedTime,
    -     *        accuracy                     Accuracy                 OPTIONAL,
    -     *        ordering                     BOOLEAN             DEFAULT FALSE,
    -     *        nonce                        INTEGER                  OPTIONAL,
    -     *          -- MUST be present if the similar field was present
    -     *          -- in TimeStampReq.  In that case it MUST have the same value.
    -     *        tsa                          [0] GeneralName          OPTIONAL,
    -     *        extensions                   [1] IMPLICIT Extensions   OPTIONAL  }
    -     * 
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(version); - - seq.add(tsaPolicyId); - seq.add(messageImprint); - seq.add(serialNumber); - seq.add(genTime); - - if (accuracy != null) - { - seq.add(accuracy); - } - - if (ordering != null && ordering.isTrue()) - { - seq.add(ordering); - } - - if (nonce != null) - { - seq.add(nonce); - } - - if (tsa != null) - { - seq.add(new DERTaggedObject(true, 0, tsa)); - } - - if (extensions != null) - { - seq.add(new DERTaggedObject(false, 1, extensions)); - } - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampReq.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampReq.java deleted file mode 100644 index f88ed2b7d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampReq.java +++ /dev/null @@ -1,179 +0,0 @@ -package org.spongycastle.asn1.tsp; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.Extensions; - -public class TimeStampReq - extends ASN1Object -{ - ASN1Integer version; - - MessageImprint messageImprint; - - ASN1ObjectIdentifier tsaPolicy; - - ASN1Integer nonce; - - ASN1Boolean certReq; - - Extensions extensions; - - public static TimeStampReq getInstance(Object o) - { - if (o instanceof TimeStampReq) - { - return (TimeStampReq) o; - } - else if (o != null) - { - return new TimeStampReq(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private TimeStampReq(ASN1Sequence seq) - { - int nbObjects = seq.size(); - - int seqStart = 0; - - // version - version = ASN1Integer.getInstance(seq.getObjectAt(seqStart)); - - seqStart++; - - // messageImprint - messageImprint = MessageImprint.getInstance(seq.getObjectAt(seqStart)); - - seqStart++; - - for (int opt = seqStart; opt < nbObjects; opt++) - { - // tsaPolicy - if (seq.getObjectAt(opt) instanceof ASN1ObjectIdentifier) - { - tsaPolicy = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(opt)); - } - // nonce - else if (seq.getObjectAt(opt) instanceof ASN1Integer) - { - nonce = ASN1Integer.getInstance(seq.getObjectAt(opt)); - } - // certReq - else if (seq.getObjectAt(opt) instanceof ASN1Boolean) - { - certReq = ASN1Boolean.getInstance(seq.getObjectAt(opt)); - } - // extensions - else if (seq.getObjectAt(opt) instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagged = (ASN1TaggedObject)seq.getObjectAt(opt); - if (tagged.getTagNo() == 0) - { - extensions = Extensions.getInstance(tagged, false); - } - } - } - } - - public TimeStampReq( - MessageImprint messageImprint, - ASN1ObjectIdentifier tsaPolicy, - ASN1Integer nonce, - ASN1Boolean certReq, - Extensions extensions) - { - // default - version = new ASN1Integer(1); - - this.messageImprint = messageImprint; - this.tsaPolicy = tsaPolicy; - this.nonce = nonce; - this.certReq = certReq; - this.extensions = extensions; - } - - public ASN1Integer getVersion() - { - return version; - } - - public MessageImprint getMessageImprint() - { - return messageImprint; - } - - public ASN1ObjectIdentifier getReqPolicy() - { - return tsaPolicy; - } - - public ASN1Integer getNonce() - { - return nonce; - } - - public ASN1Boolean getCertReq() - { - return certReq; - } - - public Extensions getExtensions() - { - return extensions; - } - - /** - *
    -     * TimeStampReq ::= SEQUENCE  {
    -     *  version                      INTEGER  { v1(1) },
    -     *  messageImprint               MessageImprint,
    -     *    --a hash algorithm OID and the hash value of the data to be
    -     *    --time-stamped
    -     *  reqPolicy             TSAPolicyId              OPTIONAL,
    -     *  nonce                 INTEGER                  OPTIONAL,
    -     *  certReq               BOOLEAN                  DEFAULT FALSE,
    -     *  extensions            [0] IMPLICIT Extensions  OPTIONAL
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(messageImprint); - - if (tsaPolicy != null) - { - v.add(tsaPolicy); - } - - if (nonce != null) - { - v.add(nonce); - } - - if (certReq != null && certReq.isTrue()) - { - v.add(certReq); - } - - if (extensions != null) - { - v.add(new DERTaggedObject(false, 0, extensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampResp.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampResp.java deleted file mode 100644 index eb73e0685..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/tsp/TimeStampResp.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.asn1.tsp; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.cms.ContentInfo; - - -public class TimeStampResp - extends ASN1Object -{ - PKIStatusInfo pkiStatusInfo; - - ContentInfo timeStampToken; - - public static TimeStampResp getInstance(Object o) - { - if (o instanceof TimeStampResp) - { - return (TimeStampResp) o; - } - else if (o != null) - { - return new TimeStampResp(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private TimeStampResp(ASN1Sequence seq) - { - - Enumeration e = seq.getObjects(); - - // status - pkiStatusInfo = PKIStatusInfo.getInstance(e.nextElement()); - - if (e.hasMoreElements()) - { - timeStampToken = ContentInfo.getInstance(e.nextElement()); - } - } - - public TimeStampResp(PKIStatusInfo pkiStatusInfo, ContentInfo timeStampToken) - { - this.pkiStatusInfo = pkiStatusInfo; - this.timeStampToken = timeStampToken; - } - - public PKIStatusInfo getStatus() - { - return pkiStatusInfo; - } - - public ContentInfo getTimeStampToken() - { - return timeStampToken; - } - - /** - *
    -     * TimeStampResp ::= SEQUENCE  {
    -     *   status                  PKIStatusInfo,
    -     *   timeStampToken          TimeStampToken     OPTIONAL  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(pkiStatusInfo); - if (timeStampToken != null) - { - v.add(timeStampToken); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145BinaryField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145BinaryField.java deleted file mode 100644 index 4cd538700..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145BinaryField.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.asn1.ua; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class DSTU4145BinaryField - extends ASN1Object -{ - - private int m, k, j, l; - - private DSTU4145BinaryField(ASN1Sequence seq) - { - m = ASN1Integer.getInstance(seq.getObjectAt(0)).getPositiveValue().intValue(); - - if (seq.getObjectAt(1) instanceof ASN1Integer) - { - k = ((ASN1Integer)seq.getObjectAt(1)).getPositiveValue().intValue(); - } - else if (seq.getObjectAt(1) instanceof ASN1Sequence) - { - ASN1Sequence coefs = ASN1Sequence.getInstance(seq.getObjectAt(1)); - - k = ASN1Integer.getInstance(coefs.getObjectAt(0)).getPositiveValue().intValue(); - j = ASN1Integer.getInstance(coefs.getObjectAt(1)).getPositiveValue().intValue(); - l = ASN1Integer.getInstance(coefs.getObjectAt(2)).getPositiveValue().intValue(); - } - else - { - throw new IllegalArgumentException("object parse error"); - } - } - - public static DSTU4145BinaryField getInstance(Object obj) - { - if (obj instanceof DSTU4145BinaryField) - { - return (DSTU4145BinaryField)obj; - } - - if (obj != null) - { - return new DSTU4145BinaryField(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public DSTU4145BinaryField(int m, int k1, int k2, int k3) - { - this.m = m; - this.k = k1; - this.j = k2; - this.l = k3; - } - - public int getM() - { - return m; - } - - public int getK1() - { - return k; - } - - public int getK2() - { - return j; - } - - public int getK3() - { - return l; - } - - public DSTU4145BinaryField(int m, int k) - { - this(m, k, 0, 0); - } - - /** - * BinaryField ::= SEQUENCE { - * M INTEGER, - * CHOICE {Trinomial, Pentanomial} - * Trinomial::= INTEGER - * Pentanomial::= SEQUENCE { - * k INTEGER, - * j INTEGER, - * l INTEGER} - */ - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(m)); - if (j == 0) //Trinomial - { - v.add(new ASN1Integer(k)); - } - else - { - ASN1EncodableVector coefs = new ASN1EncodableVector(); - coefs.add(new ASN1Integer(k)); - coefs.add(new ASN1Integer(j)); - coefs.add(new ASN1Integer(l)); - - v.add(new DERSequence(coefs)); - } - - return new DERSequence(v); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145ECBinary.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145ECBinary.java deleted file mode 100644 index 945984745..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145ECBinary.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1.ua; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x9.X9IntegerConverter; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.util.Arrays; - -public class DSTU4145ECBinary - extends ASN1Object -{ - - BigInteger version = BigInteger.valueOf(0); - - DSTU4145BinaryField f; - ASN1Integer a; - ASN1OctetString b; - ASN1Integer n; - ASN1OctetString bp; - - public DSTU4145ECBinary(ECDomainParameters params) - { - if (!(params.getCurve() instanceof ECCurve.F2m)) - { - throw new IllegalArgumentException("only binary domain is possible"); - } - - // We always use big-endian in parameter encoding - ECCurve.F2m curve = (ECCurve.F2m)params.getCurve(); - f = new DSTU4145BinaryField(curve.getM(), curve.getK1(), curve.getK2(), curve.getK3()); - a = new ASN1Integer(curve.getA().toBigInteger()); - X9IntegerConverter converter = new X9IntegerConverter(); - b = new DEROctetString(converter.integerToBytes(curve.getB().toBigInteger(), converter.getByteLength(curve))); - n = new ASN1Integer(params.getN()); - bp = new DEROctetString(DSTU4145PointEncoder.encodePoint(params.getG())); - } - - private DSTU4145ECBinary(ASN1Sequence seq) - { - int index = 0; - - if (seq.getObjectAt(index) instanceof ASN1TaggedObject) - { - ASN1TaggedObject taggedVersion = (ASN1TaggedObject)seq.getObjectAt(index); - if (taggedVersion.isExplicit() && 0 == taggedVersion.getTagNo()) - { - version = ASN1Integer.getInstance(taggedVersion.getLoadedObject()).getValue(); - index++; - } - else - { - throw new IllegalArgumentException("object parse error"); - } - } - f = DSTU4145BinaryField.getInstance(seq.getObjectAt(index)); - index++; - a = ASN1Integer.getInstance(seq.getObjectAt(index)); - index++; - b = ASN1OctetString.getInstance(seq.getObjectAt(index)); - index++; - n = ASN1Integer.getInstance(seq.getObjectAt(index)); - index++; - bp = ASN1OctetString.getInstance(seq.getObjectAt(index)); - } - - public static DSTU4145ECBinary getInstance(Object obj) - { - if (obj instanceof DSTU4145ECBinary) - { - return (DSTU4145ECBinary)obj; - } - - if (obj != null) - { - return new DSTU4145ECBinary(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public DSTU4145BinaryField getField() - { - return f; - } - - public BigInteger getA() - { - return a.getValue(); - } - - public byte[] getB() - { - return Arrays.clone(b.getOctets()); - } - - public BigInteger getN() - { - return n.getValue(); - } - - public byte[] getG() - { - return Arrays.clone(bp.getOctets()); - } - - /** - * ECBinary ::= SEQUENCE { - * version [0] EXPLICIT INTEGER DEFAULT 0, - * f BinaryField, - * a INTEGER (0..1), - * b OCTET STRING, - * n INTEGER, - * bp OCTET STRING} - */ - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (0 != version.compareTo(BigInteger.valueOf(0))) - { - v.add(new DERTaggedObject(true, 0, new ASN1Integer(version))); - } - v.add(f); - v.add(a); - v.add(b); - v.add(n); - v.add(bp); - - return new DERSequence(v); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145NamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145NamedCurves.java deleted file mode 100644 index dcde92d4a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145NamedCurves.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.spongycastle.asn1.ua; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -public class DSTU4145NamedCurves -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - - public static final ECDomainParameters[] params = new ECDomainParameters[10]; - static final ASN1ObjectIdentifier[] oids = new ASN1ObjectIdentifier[10]; - - //All named curves have the following oid format: 1.2.804.2.1.1.1.1.3.1.1.2.X - //where X is the curve number 0-9 - static final String oidBase = UAObjectIdentifiers.dstu4145le.getId() + ".2."; - - static - { - ECCurve.F2m[] curves = new ECCurve.F2m[10]; - curves[0] = new ECCurve.F2m(163, 3, 6, 7, ONE, new BigInteger("5FF6108462A2DC8210AB403925E638A19C1455D21", 16)); - curves[1] = new ECCurve.F2m(167, 6, ONE, new BigInteger("6EE3CEEB230811759F20518A0930F1A4315A827DAC", 16)); - curves[2] = new ECCurve.F2m(173, 1, 2, 10, ZERO, new BigInteger("108576C80499DB2FC16EDDF6853BBB278F6B6FB437D9", 16)); - curves[3] = new ECCurve.F2m(179, 1, 2, 4, ONE, new BigInteger("4A6E0856526436F2F88DD07A341E32D04184572BEB710", 16)); - curves[4] = new ECCurve.F2m(191, 9, ONE, new BigInteger("7BC86E2102902EC4D5890E8B6B4981ff27E0482750FEFC03", 16)); - curves[5] = new ECCurve.F2m(233, 1, 4, 9, ONE, new BigInteger("06973B15095675534C7CF7E64A21BD54EF5DD3B8A0326AA936ECE454D2C", 16)); - curves[6] = new ECCurve.F2m(257, 12, ZERO, new BigInteger("1CEF494720115657E18F938D7A7942394FF9425C1458C57861F9EEA6ADBE3BE10", 16)); - curves[7] = new ECCurve.F2m(307, 2, 4, 8, ONE, new BigInteger("393C7F7D53666B5054B5E6C6D3DE94F4296C0C599E2E2E241050DF18B6090BDC90186904968BB", 16)); - curves[8] = new ECCurve.F2m(367, 21, ONE, new BigInteger("43FC8AD242B0B7A6F3D1627AD5654447556B47BF6AA4A64B0C2AFE42CADAB8F93D92394C79A79755437B56995136", 16)); - curves[9] = new ECCurve.F2m(431, 1, 3, 5, ONE, new BigInteger("03CE10490F6A708FC26DFE8C3D27C4F94E690134D5BFF988D8D28AAEAEDE975936C66BAC536B18AE2DC312CA493117DAA469C640CAF3", 16)); - - ECPoint[] points = new ECPoint[10]; - points[0] = curves[0].createPoint(new BigInteger("2E2F85F5DD74CE983A5C4237229DAF8A3F35823BE", 16), new BigInteger("3826F008A8C51D7B95284D9D03FF0E00CE2CD723A", 16)); - points[1] = curves[1].createPoint(new BigInteger("7A1F6653786A68192803910A3D30B2A2018B21CD54", 16), new BigInteger("5F49EB26781C0EC6B8909156D98ED435E45FD59918", 16)); - points[2] = curves[2].createPoint(new BigInteger("4D41A619BCC6EADF0448FA22FAD567A9181D37389CA", 16), new BigInteger("10B51CC12849B234C75E6DD2028BF7FF5C1CE0D991A1", 16)); - points[3] = curves[3].createPoint(new BigInteger("6BA06FE51464B2BD26DC57F48819BA9954667022C7D03", 16), new BigInteger("25FBC363582DCEC065080CA8287AAFF09788A66DC3A9E", 16)); - points[4] = curves[4].createPoint(new BigInteger("714114B762F2FF4A7912A6D2AC58B9B5C2FCFE76DAEB7129", 16), new BigInteger("29C41E568B77C617EFE5902F11DB96FA9613CD8D03DB08DA", 16)); - points[5] = curves[5].createPoint(new BigInteger("3FCDA526B6CDF83BA1118DF35B3C31761D3545F32728D003EEB25EFE96", 16), new BigInteger("9CA8B57A934C54DEEDA9E54A7BBAD95E3B2E91C54D32BE0B9DF96D8D35", 16)); - points[6] = curves[6].createPoint(new BigInteger("02A29EF207D0E9B6C55CD260B306C7E007AC491CA1B10C62334A9E8DCD8D20FB7", 16), new BigInteger("10686D41FF744D4449FCCF6D8EEA03102E6812C93A9D60B978B702CF156D814EF", 16)); - points[7] = curves[7].createPoint(new BigInteger("216EE8B189D291A0224984C1E92F1D16BF75CCD825A087A239B276D3167743C52C02D6E7232AA", 16), new BigInteger("5D9306BACD22B7FAEB09D2E049C6E2866C5D1677762A8F2F2DC9A11C7F7BE8340AB2237C7F2A0", 16)); - points[8] = curves[8].createPoint(new BigInteger("324A6EDDD512F08C49A99AE0D3F961197A76413E7BE81A400CA681E09639B5FE12E59A109F78BF4A373541B3B9A1", 16), new BigInteger("1AB597A5B4477F59E39539007C7F977D1A567B92B043A49C6B61984C3FE3481AAF454CD41BA1F051626442B3C10", 16)); - points[9] = curves[9].createPoint(new BigInteger("1A62BA79D98133A16BBAE7ED9A8E03C32E0824D57AEF72F88986874E5AAE49C27BED49A2A95058068426C2171E99FD3B43C5947C857D", 16), new BigInteger("70B5E1E14031C1F70BBEFE96BDDE66F451754B4CA5F48DA241F331AA396B8D1839A855C1769B1EA14BA53308B5E2723724E090E02DB9", 16)); - - BigInteger[] n_s = new BigInteger[10]; - n_s[0] = new BigInteger("400000000000000000002BEC12BE2262D39BCF14D", 16); - n_s[1] = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFB12EBCC7D7F29FF7701F", 16); - n_s[2] = new BigInteger("800000000000000000000189B4E67606E3825BB2831", 16); - n_s[3] = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFFB981960435FE5AB64236EF", 16); - n_s[4] = new BigInteger("40000000000000000000000069A779CAC1DABC6788F7474F", 16); - n_s[5] = new BigInteger("1000000000000000000000000000013E974E72F8A6922031D2603CFE0D7", 16); - n_s[6] = new BigInteger("800000000000000000000000000000006759213AF182E987D3E17714907D470D", 16); - n_s[7] = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC079C2F3825DA70D390FBBA588D4604022B7B7", 16); - n_s[8] = new BigInteger("40000000000000000000000000000000000000000000009C300B75A3FA824F22428FD28CE8812245EF44049B2D49", 16); - n_s[9] = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA3175458009A8C0A724F02F81AA8A1FCBAF80D90C7A95110504CF", 16); - - for (int i = 0; i < params.length; i++) - { - params[i] = new ECDomainParameters(curves[i], points[i], n_s[i]); - } - - for (int i = 0; i < oids.length; i++) - { - oids[i] = new ASN1ObjectIdentifier(oidBase + i); - } - } - - /** - * All named curves have the following oid format: 1.2.804.2.1.1.1.1.3.1.1.2.X - * where X is the curve number 0-9 - */ - public static ASN1ObjectIdentifier[] getOIDs() - { - return oids; - } - - /** - * All named curves have the following oid format: 1.2.804.2.1.1.1.1.3.1.1.2.X - * where X is the curve number 0-9 - */ - public static ECDomainParameters getByOID(ASN1ObjectIdentifier oid) - { - String oidStr = oid.getId(); - if (oidStr.startsWith(oidBase)) - { - int index = Integer.parseInt(oidStr.substring(oidStr.length() - 1)); - return params[index]; - } - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145Params.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145Params.java deleted file mode 100644 index d6c60f8be..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145Params.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.asn1.ua; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -public class DSTU4145Params - extends ASN1Object -{ - private static final byte DEFAULT_DKE[] = { - (byte)0xa9, (byte)0xd6, (byte)0xeb, 0x45, (byte)0xf1, 0x3c, 0x70, (byte)0x82, - (byte)0x80, (byte)0xc4, (byte)0x96, 0x7b, 0x23, 0x1f, 0x5e, (byte)0xad, - (byte)0xf6, 0x58, (byte)0xeb, (byte)0xa4, (byte)0xc0, 0x37, 0x29, 0x1d, - 0x38, (byte)0xd9, 0x6b, (byte)0xf0, 0x25, (byte)0xca, 0x4e, 0x17, - (byte)0xf8, (byte)0xe9, 0x72, 0x0d, (byte)0xc6, 0x15, (byte)0xb4, 0x3a, - 0x28, (byte)0x97, 0x5f, 0x0b, (byte)0xc1, (byte)0xde, (byte)0xa3, 0x64, - 0x38, (byte)0xb5, 0x64, (byte)0xea, 0x2c, 0x17, (byte)0x9f, (byte)0xd0, - 0x12, 0x3e, 0x6d, (byte)0xb8, (byte)0xfa, (byte)0xc5, 0x79, 0x04}; - - - private ASN1ObjectIdentifier namedCurve; - private DSTU4145ECBinary ecbinary; - private byte[] dke = DEFAULT_DKE; - - public DSTU4145Params(ASN1ObjectIdentifier namedCurve) - { - this.namedCurve = namedCurve; - } - - public DSTU4145Params(DSTU4145ECBinary ecbinary) - { - this.ecbinary = ecbinary; - } - - public boolean isNamedCurve() - { - return namedCurve != null; - } - - public DSTU4145ECBinary getECBinary() - { - return ecbinary; - } - - public byte[] getDKE() - { - return dke; - } - - public static byte[] getDefaultDKE() - { - return DEFAULT_DKE; - } - - public ASN1ObjectIdentifier getNamedCurve() - { - return namedCurve; - } - - public static DSTU4145Params getInstance(Object obj) - { - if (obj instanceof DSTU4145Params) - { - return (DSTU4145Params)obj; - } - - if (obj != null) - { - ASN1Sequence seq = ASN1Sequence.getInstance(obj); - DSTU4145Params params; - - if (seq.getObjectAt(0) instanceof ASN1ObjectIdentifier) - { - params = new DSTU4145Params(ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0))); - } - else - { - params = new DSTU4145Params(DSTU4145ECBinary.getInstance(seq.getObjectAt(0))); - } - - if (seq.size() == 2) - { - params.dke = ASN1OctetString.getInstance(seq.getObjectAt(1)).getOctets(); - if (params.dke.length != DSTU4145Params.DEFAULT_DKE.length) - { - throw new IllegalArgumentException("object parse error"); - } - } - - return params; - } - - throw new IllegalArgumentException("object parse error"); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (namedCurve != null) - { - v.add(namedCurve); - } - else - { - v.add(ecbinary); - } - - if (!org.spongycastle.util.Arrays.areEqual(dke, DEFAULT_DKE)) - { - v.add(new DEROctetString(dke)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PointEncoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PointEncoder.java deleted file mode 100644 index 06e2ef86d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PointEncoder.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.spongycastle.asn1.ua; - -import java.math.BigInteger; -import java.util.Random; - -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECFieldElement; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; - -/** - * DSTU4145 encodes points somewhat differently than X9.62 - * It compresses the point to the size of the field element - */ -public abstract class DSTU4145PointEncoder -{ - private static BigInteger trace(ECFieldElement fe) - { - ECFieldElement t = fe; - for (int i = 0; i < fe.getFieldSize() - 1; i++) - { - t = t.square().add(fe); - } - return t.toBigInteger(); - } - - /** - * Solves a quadratic equation z2 + z = beta(X9.62 - * D.1.6) The other solution is z + 1. - * - * @param beta The value to solve the qradratic equation for. - * @return the solution for z2 + z = beta or - * null if no solution exists. - */ - private static ECFieldElement solveQuadraticEquation(ECCurve curve, ECFieldElement beta) - { - if (beta.isZero()) - { - return beta; - } - - ECFieldElement zeroElement = curve.fromBigInteger(ECConstants.ZERO); - - ECFieldElement z = null; - ECFieldElement gamma = null; - - Random rand = new Random(); - int m = beta.getFieldSize(); - do - { - ECFieldElement t = curve.fromBigInteger(new BigInteger(m, rand)); - z = zeroElement; - ECFieldElement w = beta; - for (int i = 1; i <= m - 1; i++) - { - ECFieldElement w2 = w.square(); - z = z.square().add(w2.multiply(t)); - w = w2.add(beta); - } - if (!w.isZero()) - { - return null; - } - gamma = z.square().add(z); - } - while (gamma.isZero()); - - return z; - } - - public static byte[] encodePoint(ECPoint Q) - { - /*if (!Q.isCompressed()) - Q=new ECPoint.F2m(Q.getCurve(),Q.getX(),Q.getY(),true); - - byte[] bytes=Q.getEncoded(); - - if (bytes[0]==0x02) - bytes[bytes.length-1]&=0xFE; - else if (bytes[0]==0x02) - bytes[bytes.length-1]|=0x01; - - return Arrays.copyOfRange(bytes, 1, bytes.length);*/ - - Q = Q.normalize(); - - ECFieldElement x = Q.getAffineXCoord(); - - byte[] bytes = x.getEncoded(); - - if (!x.isZero()) - { - ECFieldElement y = Q.getAffineYCoord().divide(x); - if (trace(y).equals(ECConstants.ONE)) - { - bytes[bytes.length - 1] |= 0x01; - } - else - { - bytes[bytes.length - 1] &= 0xFE; - } - } - - return bytes; - } - - public static ECPoint decodePoint(ECCurve curve, byte[] bytes) - { - /*byte[] bp_enc=new byte[bytes.length+1]; - if (0==(bytes[bytes.length-1]&0x1)) - bp_enc[0]=0x02; - else - bp_enc[0]=0x03; - System.arraycopy(bytes, 0, bp_enc, 1, bytes.length); - if (!trace(curve.fromBigInteger(new BigInteger(1, bytes))).equals(curve.getA().toBigInteger())) - bp_enc[bp_enc.length-1]^=0x01; - - return curve.decodePoint(bp_enc);*/ - - BigInteger k = BigInteger.valueOf(bytes[bytes.length - 1] & 0x1); - if (!trace(curve.fromBigInteger(new BigInteger(1, bytes))).equals(curve.getA().toBigInteger())) - { - bytes = Arrays.clone(bytes); - bytes[bytes.length - 1] ^= 0x01; - } - ECFieldElement xp = curve.fromBigInteger(new BigInteger(1, bytes)); - ECFieldElement yp = null; - if (xp.isZero()) - { - yp = (ECFieldElement.F2m)curve.getB(); - for (int i = 0; i < curve.getFieldSize() - 1; i++) - { - yp = yp.square(); - } - } - else - { - ECFieldElement beta = xp.add(curve.getA()).add( - curve.getB().multiply(xp.square().invert())); - ECFieldElement z = solveQuadraticEquation(curve, beta); - if (z == null) - { - throw new RuntimeException("Invalid point compression"); - } - if (!trace(z).equals(k)) - { - z = z.addOne(); - } - yp = xp.multiply(z); - } - - return new ECPoint.F2m(curve, xp, yp); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PublicKey.java deleted file mode 100644 index d543df039..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/DSTU4145PublicKey.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.spongycastle.asn1.ua; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.math.ec.ECPoint; - -public class DSTU4145PublicKey - extends ASN1Object -{ - - private ASN1OctetString pubKey; - - public DSTU4145PublicKey(ECPoint pubKey) - { - // We always use big-endian in parameter encoding - this.pubKey = new DEROctetString(DSTU4145PointEncoder.encodePoint(pubKey)); - } - - private DSTU4145PublicKey(ASN1OctetString ocStr) - { - pubKey = ocStr; - } - - public static DSTU4145PublicKey getInstance(Object obj) - { - if (obj instanceof DSTU4145PublicKey) - { - return (DSTU4145PublicKey)obj; - } - - if (obj != null) - { - return new DSTU4145PublicKey(ASN1OctetString.getInstance(obj)); - } - - return null; - } - - public ASN1Primitive toASN1Primitive() - { - return pubKey; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/UAObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/UAObjectIdentifiers.java deleted file mode 100644 index 8794143f6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/ua/UAObjectIdentifiers.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.asn1.ua; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * Ukrainian object identifiers - *

    - * {iso(1) member-body(2) Ukraine(804) root(2) security(1) cryptography(1) pki(1)} - *

    - * { ... pki-alg(1) pki-alg-sym(3) Dstu4145WithGost34311(1) PB(1)} - *

    - * DSTU4145 in polynomial basis has 2 oids, one for little-endian representation and one for big-endian - */ -public interface UAObjectIdentifiers -{ - /** Base OID: 1.2.804.2.1.1.1 */ - static final ASN1ObjectIdentifier UaOid = new ASN1ObjectIdentifier("1.2.804.2.1.1.1"); - - /** DSTU4145 Little Endian presentation. OID: 1.2.804.2.1.1.1.1.3.1.1 */ - static final ASN1ObjectIdentifier dstu4145le = UaOid.branch("1.3.1.1"); - /** DSTU4145 Big Endian presentation. OID: 1.2.804.2.1.1.1.1.3.1.1.1 */ - static final ASN1ObjectIdentifier dstu4145be = UaOid.branch("1.3.1.1.1.1"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/ASN1Dump.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/ASN1Dump.java deleted file mode 100644 index 7241b622d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/ASN1Dump.java +++ /dev/null @@ -1,404 +0,0 @@ -package org.spongycastle.asn1.util; - -import java.io.IOException; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERApplicationSpecific; -import org.spongycastle.asn1.BERConstructedOctetString; -import org.spongycastle.asn1.BEROctetString; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERSet; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERBoolean; -import org.spongycastle.asn1.DEREnumerated; -import org.spongycastle.asn1.DERExternal; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERT61String; -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERVisibleString; -import org.spongycastle.util.encoders.Hex; - -public class ASN1Dump -{ - private static final String TAB = " "; - private static final int SAMPLE_SIZE = 32; - - /** - * dump a DER object as a formatted string with indentation - * - * @param obj the ASN1Primitive to be dumped out. - */ - static void _dumpAsString( - String indent, - boolean verbose, - ASN1Primitive obj, - StringBuffer buf) - { - String nl = System.getProperty("line.separator"); - if (obj instanceof ASN1Sequence) - { - Enumeration e = ((ASN1Sequence)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - if (obj instanceof BERSequence) - { - buf.append("BER Sequence"); - } - else if (obj instanceof DERSequence) - { - buf.append("DER Sequence"); - } - else - { - buf.append("Sequence"); - } - - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null || o.equals(DERNull.INSTANCE)) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof ASN1Primitive) - { - _dumpAsString(tab, verbose, (ASN1Primitive)o, buf); - } - else - { - _dumpAsString(tab, verbose, ((ASN1Encodable)o).toASN1Primitive(), buf); - } - } - } - else if (obj instanceof ASN1TaggedObject) - { - String tab = indent + TAB; - - buf.append(indent); - if (obj instanceof BERTaggedObject) - { - buf.append("BER Tagged ["); - } - else - { - buf.append("Tagged ["); - } - - ASN1TaggedObject o = (ASN1TaggedObject)obj; - - buf.append(Integer.toString(o.getTagNo())); - buf.append(']'); - - if (!o.isExplicit()) - { - buf.append(" IMPLICIT "); - } - - buf.append(nl); - - if (o.isEmpty()) - { - buf.append(tab); - buf.append("EMPTY"); - buf.append(nl); - } - else - { - _dumpAsString(tab, verbose, o.getObject(), buf); - } - } - else if (obj instanceof ASN1Set) - { - Enumeration e = ((ASN1Set)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - - if (obj instanceof BERSet) - { - buf.append("BER Set"); - } - else - { - buf.append("DER Set"); - } - - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof ASN1Primitive) - { - _dumpAsString(tab, verbose, (ASN1Primitive)o, buf); - } - else - { - _dumpAsString(tab, verbose, ((ASN1Encodable)o).toASN1Primitive(), buf); - } - } - } - else if (obj instanceof ASN1OctetString) - { - ASN1OctetString oct = (ASN1OctetString)obj; - - if (obj instanceof BEROctetString || obj instanceof BERConstructedOctetString) - { - buf.append(indent + "BER Constructed Octet String" + "[" + oct.getOctets().length + "] "); - } - else - { - buf.append(indent + "DER Octet String" + "[" + oct.getOctets().length + "] "); - } - if (verbose) - { - buf.append(dumpBinaryDataAsString(indent, oct.getOctets())); - } - else - { - buf.append(nl); - } - } - else if (obj instanceof ASN1ObjectIdentifier) - { - buf.append(indent + "ObjectIdentifier(" + ((ASN1ObjectIdentifier)obj).getId() + ")" + nl); - } - else if (obj instanceof DERBoolean) - { - buf.append(indent + "Boolean(" + ((DERBoolean)obj).isTrue() + ")" + nl); - } - else if (obj instanceof ASN1Integer) - { - buf.append(indent + "Integer(" + ((ASN1Integer)obj).getValue() + ")" + nl); - } - else if (obj instanceof DERBitString) - { - DERBitString bt = (DERBitString)obj; - buf.append(indent + "DER Bit String" + "[" + bt.getBytes().length + ", " + bt.getPadBits() + "] "); - if (verbose) - { - buf.append(dumpBinaryDataAsString(indent, bt.getBytes())); - } - else - { - buf.append(nl); - } - } - else if (obj instanceof DERIA5String) - { - buf.append(indent + "IA5String(" + ((DERIA5String)obj).getString() + ") " + nl); - } - else if (obj instanceof DERUTF8String) - { - buf.append(indent + "UTF8String(" + ((DERUTF8String)obj).getString() + ") " + nl); - } - else if (obj instanceof DERPrintableString) - { - buf.append(indent + "PrintableString(" + ((DERPrintableString)obj).getString() + ") " + nl); - } - else if (obj instanceof DERVisibleString) - { - buf.append(indent + "VisibleString(" + ((DERVisibleString)obj).getString() + ") " + nl); - } - else if (obj instanceof DERBMPString) - { - buf.append(indent + "BMPString(" + ((DERBMPString)obj).getString() + ") " + nl); - } - else if (obj instanceof DERT61String) - { - buf.append(indent + "T61String(" + ((DERT61String)obj).getString() + ") " + nl); - } - else if (obj instanceof DERUTCTime) - { - buf.append(indent + "UTCTime(" + ((DERUTCTime)obj).getTime() + ") " + nl); - } - else if (obj instanceof DERGeneralizedTime) - { - buf.append(indent + "GeneralizedTime(" + ((DERGeneralizedTime)obj).getTime() + ") " + nl); - } - else if (obj instanceof BERApplicationSpecific) - { - buf.append(outputApplicationSpecific("BER", indent, verbose, obj, nl)); - } - else if (obj instanceof DERApplicationSpecific) - { - buf.append(outputApplicationSpecific("DER", indent, verbose, obj, nl)); - } - else if (obj instanceof DEREnumerated) - { - DEREnumerated en = (DEREnumerated) obj; - buf.append(indent + "DER Enumerated(" + en.getValue() + ")" + nl); - } - else if (obj instanceof DERExternal) - { - DERExternal ext = (DERExternal) obj; - buf.append(indent + "External " + nl); - String tab = indent + TAB; - if (ext.getDirectReference() != null) - { - buf.append(tab + "Direct Reference: " + ext.getDirectReference().getId() + nl); - } - if (ext.getIndirectReference() != null) - { - buf.append(tab + "Indirect Reference: " + ext.getIndirectReference().toString() + nl); - } - if (ext.getDataValueDescriptor() != null) - { - _dumpAsString(tab, verbose, ext.getDataValueDescriptor(), buf); - } - buf.append(tab + "Encoding: " + ext.getEncoding() + nl); - _dumpAsString(tab, verbose, ext.getExternalContent(), buf); - } - else - { - buf.append(indent + obj.toString() + nl); - } - } - - private static String outputApplicationSpecific(String type, String indent, boolean verbose, ASN1Primitive obj, String nl) - { - DERApplicationSpecific app = (DERApplicationSpecific)obj; - StringBuffer buf = new StringBuffer(); - - if (app.isConstructed()) - { - try - { - ASN1Sequence s = ASN1Sequence.getInstance(app.getObject(BERTags.SEQUENCE)); - buf.append(indent + type + " ApplicationSpecific[" + app.getApplicationTag() + "]" + nl); - for (Enumeration e = s.getObjects(); e.hasMoreElements();) - { - _dumpAsString(indent + TAB, verbose, (ASN1Primitive)e.nextElement(), buf); - } - } - catch (IOException e) - { - buf.append(e); - } - return buf.toString(); - } - - return indent + type + " ApplicationSpecific[" + app.getApplicationTag() + "] (" + new String(Hex.encode(app.getContents())) + ")" + nl; - } - - /** - * dump out a DER object as a formatted string, in non-verbose mode. - * - * @param obj the ASN1Primitive to be dumped out. - * @return the resulting string. - */ - public static String dumpAsString( - Object obj) - { - return dumpAsString(obj, false); - } - - /** - * Dump out the object as a string. - * - * @param obj the object to be dumped - * @param verbose if true, dump out the contents of octet and bit strings. - * @return the resulting string. - */ - public static String dumpAsString( - Object obj, - boolean verbose) - { - StringBuffer buf = new StringBuffer(); - - if (obj instanceof ASN1Primitive) - { - _dumpAsString("", verbose, (ASN1Primitive)obj, buf); - } - else if (obj instanceof ASN1Encodable) - { - _dumpAsString("", verbose, ((ASN1Encodable)obj).toASN1Primitive(), buf); - } - else - { - return "unknown object type " + obj.toString(); - } - - return buf.toString(); - } - - private static String dumpBinaryDataAsString(String indent, byte[] bytes) - { - String nl = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); - - indent += TAB; - - buf.append(nl); - for (int i = 0; i < bytes.length; i += SAMPLE_SIZE) - { - if (bytes.length - i > SAMPLE_SIZE) - { - buf.append(indent); - buf.append(new String(Hex.encode(bytes, i, SAMPLE_SIZE))); - buf.append(TAB); - buf.append(calculateAscString(bytes, i, SAMPLE_SIZE)); - buf.append(nl); - } - else - { - buf.append(indent); - buf.append(new String(Hex.encode(bytes, i, bytes.length - i))); - for (int j = bytes.length - i; j != SAMPLE_SIZE; j++) - { - buf.append(" "); - } - buf.append(TAB); - buf.append(calculateAscString(bytes, i, bytes.length - i)); - buf.append(nl); - } - } - - return buf.toString(); - } - - private static String calculateAscString(byte[] bytes, int off, int len) - { - StringBuffer buf = new StringBuffer(); - - for (int i = off; i != off + len; i++) - { - if (bytes[i] >= ' ' && bytes[i] <= '~') - { - buf.append((char)bytes[i]); - } - } - - return buf.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/DERDump.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/DERDump.java deleted file mode 100644 index c434abc25..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/DERDump.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.asn1.util; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Primitive; - -/** - * @deprecated use ASN1Dump. - */ -public class DERDump - extends ASN1Dump -{ - /** - * dump out a DER object as a formatted string - * - * @param obj the ASN1Primitive to be dumped out. - */ - public static String dumpAsString( - ASN1Primitive obj) - { - StringBuffer buf = new StringBuffer(); - - _dumpAsString("", false, obj, buf); - - return buf.toString(); - } - - /** - * dump out a DER object as a formatted string - * - * @param obj the ASN1Primitive to be dumped out. - */ - public static String dumpAsString( - ASN1Encodable obj) - { - StringBuffer buf = new StringBuffer(); - - _dumpAsString("", false, obj.toASN1Primitive(), buf); - - return buf.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/Dump.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/Dump.java deleted file mode 100644 index 6293e7b3f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/util/Dump.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1.util; - -import java.io.FileInputStream; - -import org.spongycastle.asn1.ASN1InputStream; - -public class Dump -{ - public static void main( - String args[]) - throws Exception - { - FileInputStream fIn = new FileInputStream(args[0]); - ASN1InputStream bIn = new ASN1InputStream(fIn); - Object obj = null; - - while ((obj = bIn.readObject()) != null) - { - System.out.println(ASN1Dump.dumpAsString(obj)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/AttributeTypeAndValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/AttributeTypeAndValue.java deleted file mode 100644 index 57fa4c25d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/AttributeTypeAndValue.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.asn1.x500; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class AttributeTypeAndValue - extends ASN1Object -{ - private ASN1ObjectIdentifier type; - private ASN1Encodable value; - - private AttributeTypeAndValue(ASN1Sequence seq) - { - type = (ASN1ObjectIdentifier)seq.getObjectAt(0); - value = (ASN1Encodable)seq.getObjectAt(1); - } - - public static AttributeTypeAndValue getInstance(Object o) - { - if (o instanceof AttributeTypeAndValue) - { - return (AttributeTypeAndValue)o; - } - else if (o != null) - { - return new AttributeTypeAndValue(ASN1Sequence.getInstance(o)); - } - - throw new IllegalArgumentException("null value in getInstance()"); - } - - public AttributeTypeAndValue( - ASN1ObjectIdentifier type, - ASN1Encodable value) - { - this.type = type; - this.value = value; - } - - public ASN1ObjectIdentifier getType() - { - return type; - } - - public ASN1Encodable getValue() - { - return value; - } - - /** - *

    -     * AttributeTypeAndValue ::= SEQUENCE {
    -     *           type         OBJECT IDENTIFIER,
    -     *           value        ANY DEFINED BY type }
    -     * 
    - * @return a basic ASN.1 object representation. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(type); - v.add(value); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/DirectoryString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/DirectoryString.java deleted file mode 100644 index 8e61383b6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/DirectoryString.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.spongycastle.asn1.x500; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERT61String; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERUniversalString; - -public class DirectoryString - extends ASN1Object - implements ASN1Choice, ASN1String -{ - private ASN1String string; - - public static DirectoryString getInstance(Object o) - { - if (o == null || o instanceof DirectoryString) - { - return (DirectoryString)o; - } - - if (o instanceof DERT61String) - { - return new DirectoryString((DERT61String)o); - } - - if (o instanceof DERPrintableString) - { - return new DirectoryString((DERPrintableString)o); - } - - if (o instanceof DERUniversalString) - { - return new DirectoryString((DERUniversalString)o); - } - - if (o instanceof DERUTF8String) - { - return new DirectoryString((DERUTF8String)o); - } - - if (o instanceof DERBMPString) - { - return new DirectoryString((DERBMPString)o); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + o.getClass().getName()); - } - - public static DirectoryString getInstance(ASN1TaggedObject o, boolean explicit) - { - if (!explicit) - { - throw new IllegalArgumentException("choice item must be explicitly tagged"); - } - - return getInstance(o.getObject()); - } - - private DirectoryString( - DERT61String string) - { - this.string = string; - } - - private DirectoryString( - DERPrintableString string) - { - this.string = string; - } - - private DirectoryString( - DERUniversalString string) - { - this.string = string; - } - - private DirectoryString( - DERUTF8String string) - { - this.string = string; - } - - private DirectoryString( - DERBMPString string) - { - this.string = string; - } - - public DirectoryString(String string) - { - this.string = new DERUTF8String(string); - } - - public String getString() - { - return string.getString(); - } - - public String toString() - { - return string.getString(); - } - - /** - *
    -     *  DirectoryString ::= CHOICE {
    -     *    teletexString               TeletexString (SIZE (1..MAX)),
    -     *    printableString             PrintableString (SIZE (1..MAX)),
    -     *    universalString             UniversalString (SIZE (1..MAX)),
    -     *    utf8String                  UTF8String (SIZE (1..MAX)),
    -     *    bmpString                   BMPString (SIZE (1..MAX))  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return ((ASN1Encodable)string).toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/RDN.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/RDN.java deleted file mode 100644 index 5e70cfb32..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/RDN.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.asn1.x500; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; - -public class RDN - extends ASN1Object -{ - private ASN1Set values; - - private RDN(ASN1Set values) - { - this.values = values; - } - - public static RDN getInstance(Object obj) - { - if (obj instanceof RDN) - { - return (RDN)obj; - } - else if (obj != null) - { - return new RDN(ASN1Set.getInstance(obj)); - } - - return null; - } - - /** - * Create a single valued RDN. - * - * @param oid RDN type. - * @param value RDN value. - */ - public RDN(ASN1ObjectIdentifier oid, ASN1Encodable value) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(oid); - v.add(value); - - this.values = new DERSet(new DERSequence(v)); - } - - public RDN(AttributeTypeAndValue attrTAndV) - { - this.values = new DERSet(attrTAndV); - } - - /** - * Create a multi-valued RDN. - * - * @param aAndVs attribute type/value pairs making up the RDN - */ - public RDN(AttributeTypeAndValue[] aAndVs) - { - this.values = new DERSet(aAndVs); - } - - public boolean isMultiValued() - { - return this.values.size() > 1; - } - - /** - * Return the number of AttributeTypeAndValue objects in this RDN, - * - * @return size of RDN, greater than 1 if multi-valued. - */ - public int size() - { - return this.values.size(); - } - - public AttributeTypeAndValue getFirst() - { - if (this.values.size() == 0) - { - return null; - } - - return AttributeTypeAndValue.getInstance(this.values.getObjectAt(0)); - } - - public AttributeTypeAndValue[] getTypesAndValues() - { - AttributeTypeAndValue[] tmp = new AttributeTypeAndValue[values.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = AttributeTypeAndValue.getInstance(values.getObjectAt(i)); - } - - return tmp; - } - - /** - *
    -     * RelativeDistinguishedName ::=
    -     *                     SET OF AttributeTypeAndValue
    -
    -     * AttributeTypeAndValue ::= SEQUENCE {
    -     *        type     AttributeType,
    -     *        value    AttributeValue }
    -     * 
    - * @return this object as an ASN1Primitive type - */ - public ASN1Primitive toASN1Primitive() - { - return values; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500Name.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500Name.java deleted file mode 100644 index a5e01b312..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500Name.java +++ /dev/null @@ -1,326 +0,0 @@ -package org.spongycastle.asn1.x500; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.style.BCStyle; - -/** - *
    - *     Name ::= CHOICE {
    - *                       RDNSequence }
    - *
    - *     RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
    - *
    - *     RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
    - *
    - *     AttributeTypeAndValue ::= SEQUENCE {
    - *                                   type  OBJECT IDENTIFIER,
    - *                                   value ANY }
    - * 
    - */ -public class X500Name - extends ASN1Object - implements ASN1Choice -{ - private static X500NameStyle defaultStyle = BCStyle.INSTANCE; - - private boolean isHashCodeCalculated; - private int hashCodeValue; - - private X500NameStyle style; - private RDN[] rdns; - - public X500Name(X500NameStyle style, X500Name name) - { - this.rdns = name.rdns; - this.style = style; - } - - /** - * Return a X500Name based on the passed in tagged object. - * - * @param obj tag object holding name. - * @param explicit true if explicitly tagged false otherwise. - * @return the X500Name - */ - public static X500Name getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - // must be true as choice item - return getInstance(ASN1Sequence.getInstance(obj, true)); - } - - public static X500Name getInstance( - Object obj) - { - if (obj instanceof X500Name) - { - return (X500Name)obj; - } - else if (obj != null) - { - return new X500Name(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static X500Name getInstance( - X500NameStyle style, - Object obj) - { - if (obj instanceof X500Name) - { - return getInstance(style, ((X500Name)obj).toASN1Primitive()); - } - else if (obj != null) - { - return new X500Name(style, ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from ASN1Sequence - * - * the principal will be a list of constructed sets, each containing an (OID, String) pair. - */ - private X500Name( - ASN1Sequence seq) - { - this(defaultStyle, seq); - } - - private X500Name( - X500NameStyle style, - ASN1Sequence seq) - { - this.style = style; - this.rdns = new RDN[seq.size()]; - - int index = 0; - - for (Enumeration e = seq.getObjects(); e.hasMoreElements();) - { - rdns[index++] = RDN.getInstance(e.nextElement()); - } - } - - public X500Name( - RDN[] rDNs) - { - this(defaultStyle, rDNs); - } - - public X500Name( - X500NameStyle style, - RDN[] rDNs) - { - this.rdns = rDNs; - this.style = style; - } - - public X500Name( - String dirName) - { - this(defaultStyle, dirName); - } - - public X500Name( - X500NameStyle style, - String dirName) - { - this(style.fromString(dirName)); - - this.style = style; - } - - /** - * return an array of RDNs in structure order. - * - * @return an array of RDN objects. - */ - public RDN[] getRDNs() - { - RDN[] tmp = new RDN[this.rdns.length]; - - System.arraycopy(rdns, 0, tmp, 0, tmp.length); - - return tmp; - } - - /** - * return an array of OIDs contained in the attribute type of each RDN in structure order. - * - * @return an array, possibly zero length, of ASN1ObjectIdentifiers objects. - */ - public ASN1ObjectIdentifier[] getAttributeTypes() - { - int count = 0; - - for (int i = 0; i != rdns.length; i++) - { - RDN rdn = rdns[i]; - - count += rdn.size(); - } - - ASN1ObjectIdentifier[] res = new ASN1ObjectIdentifier[count]; - - count = 0; - - for (int i = 0; i != rdns.length; i++) - { - RDN rdn = rdns[i]; - - if (rdn.isMultiValued()) - { - AttributeTypeAndValue[] attr = rdn.getTypesAndValues(); - for (int j = 0; j != attr.length; j++) - { - res[count++] = attr[j].getType(); - } - } - else if (rdn.size() != 0) - { - res[count++] = rdn.getFirst().getType(); - } - } - - return res; - } - - /** - * return an array of RDNs containing the attribute type given by OID in structure order. - * - * @param attributeType the type OID we are looking for. - * @return an array, possibly zero length, of RDN objects. - */ - public RDN[] getRDNs(ASN1ObjectIdentifier attributeType) - { - RDN[] res = new RDN[rdns.length]; - int count = 0; - - for (int i = 0; i != rdns.length; i++) - { - RDN rdn = rdns[i]; - - if (rdn.isMultiValued()) - { - AttributeTypeAndValue[] attr = rdn.getTypesAndValues(); - for (int j = 0; j != attr.length; j++) - { - if (attr[j].getType().equals(attributeType)) - { - res[count++] = rdn; - break; - } - } - } - else - { - if (rdn.getFirst().getType().equals(attributeType)) - { - res[count++] = rdn; - } - } - } - - RDN[] tmp = new RDN[count]; - - System.arraycopy(res, 0, tmp, 0, tmp.length); - - return tmp; - } - - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(rdns); - } - - public int hashCode() - { - if (isHashCodeCalculated) - { - return hashCodeValue; - } - - isHashCodeCalculated = true; - - hashCodeValue = style.calculateHashCode(this); - - return hashCodeValue; - } - - /** - * test for equality - note: case is ignored. - */ - public boolean equals(Object obj) - { - if (obj == this) - { - return true; - } - - if (!(obj instanceof X500Name || obj instanceof ASN1Sequence)) - { - return false; - } - - ASN1Primitive derO = ((ASN1Encodable)obj).toASN1Primitive(); - - if (this.toASN1Primitive().equals(derO)) - { - return true; - } - - try - { - return style.areEqual(this, new X500Name(ASN1Sequence.getInstance(((ASN1Encodable)obj).toASN1Primitive()))); - } - catch (Exception e) - { - return false; - } - } - - public String toString() - { - return style.toString(this); - } - - /** - * Set the default style for X500Name construction. - * - * @param style an X500NameStyle - */ - public static void setDefaultStyle(X500NameStyle style) - { - if (style == null) - { - throw new NullPointerException("cannot set style to null"); - } - - defaultStyle = style; - } - - /** - * Return the current default style. - * - * @return default style for X500Name construction. - */ - public static X500NameStyle getDefaultStyle() - { - return defaultStyle; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameBuilder.java deleted file mode 100644 index 6640eff95..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameBuilder.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.x500; - -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x500.style.BCStyle; - -public class X500NameBuilder -{ - private X500NameStyle template; - private Vector rdns = new Vector(); - - public X500NameBuilder() - { - this(BCStyle.INSTANCE); - } - - public X500NameBuilder(X500NameStyle template) - { - this.template = template; - } - - public X500NameBuilder addRDN(ASN1ObjectIdentifier oid, String value) - { - this.addRDN(oid, template.stringToValue(oid, value)); - - return this; - } - - public X500NameBuilder addRDN(ASN1ObjectIdentifier oid, ASN1Encodable value) - { - rdns.addElement(new RDN(oid, value)); - - return this; - } - - public X500NameBuilder addRDN(AttributeTypeAndValue attrTAndV) - { - rdns.addElement(new RDN(attrTAndV)); - - return this; - } - - public X500NameBuilder addMultiValuedRDN(ASN1ObjectIdentifier[] oids, String[] values) - { - ASN1Encodable[] vals = new ASN1Encodable[values.length]; - - for (int i = 0; i != vals.length; i++) - { - vals[i] = template.stringToValue(oids[i], values[i]); - } - - return addMultiValuedRDN(oids, vals); - } - - public X500NameBuilder addMultiValuedRDN(ASN1ObjectIdentifier[] oids, ASN1Encodable[] values) - { - AttributeTypeAndValue[] avs = new AttributeTypeAndValue[oids.length]; - - for (int i = 0; i != oids.length; i++) - { - avs[i] = new AttributeTypeAndValue(oids[i], values[i]); - } - - return addMultiValuedRDN(avs); - } - - public X500NameBuilder addMultiValuedRDN(AttributeTypeAndValue[] attrTAndVs) - { - rdns.addElement(new RDN(attrTAndVs)); - - return this; - } - - public X500Name build() - { - RDN[] vals = new RDN[rdns.size()]; - - for (int i = 0; i != vals.length; i++) - { - vals[i] = (RDN)rdns.elementAt(i); - } - - return new X500Name(template, vals); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameStyle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameStyle.java deleted file mode 100644 index 8c7161705..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/X500NameStyle.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.spongycastle.asn1.x500; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * It turns out that the number of standard ways the fields in a DN should be - * encoded into their ASN.1 counterparts is rapidly approaching the - * number of machines on the internet. By default the X500Name class - * will produce UTF8Strings in line with the current recommendations (RFC 3280). - *

    - */ -public interface X500NameStyle -{ - /** - * Convert the passed in String value into the appropriate ASN.1 - * encoded object. - * - * @param oid the OID associated with the value in the DN. - * @param value the value of the particular DN component. - * @return the ASN.1 equivalent for the value. - */ - ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value); - - /** - * Return the OID associated with the passed in name. - * - * @param attrName the string to match. - * @return an OID - */ - ASN1ObjectIdentifier attrNameToOID(String attrName); - - /** - * Return an array of RDN generated from the passed in String. - * @param dirName the String representation. - * @return an array of corresponding RDNs. - */ - RDN[] fromString(String dirName); - - /** - * Return true if the two names are equal. - * - * @param name1 first name for comparison. - * @param name2 second name for comparison. - * @return true if name1 = name 2, false otherwise. - */ - boolean areEqual(X500Name name1, X500Name name2); - - /** - * Calculate a hashCode for the passed in name. - * - * @param name the name the hashCode is required for. - * @return the calculated hashCode. - */ - int calculateHashCode(X500Name name); - - /** - * Convert the passed in X500Name to a String. - * @param name the name to convert. - * @return a String representation. - */ - String toString(X500Name name); - - /** - * Return the display name for toString() associated with the OID. - * - * @param oid the OID of interest. - * @return the name displayed in toString(), null if no mapping provided. - */ - String oidToDisplayName(ASN1ObjectIdentifier oid); - - /** - * Return the acceptable names in a String DN that map to OID. - * - * @param oid the OID of interest. - * @return an array of String aliases for the OID, zero length if there are none. - */ - String[] oidToAttrNames(ASN1ObjectIdentifier oid); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStrictStyle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStrictStyle.java deleted file mode 100644 index 23609e726..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStrictStyle.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; - -/** - * Variation of BCStyle that insists on strict ordering for equality - * and hashCode comparisons - */ -public class BCStrictStyle - extends BCStyle -{ - public static final X500NameStyle INSTANCE = new BCStrictStyle(); - - public boolean areEqual(X500Name name1, X500Name name2) - { - RDN[] rdns1 = name1.getRDNs(); - RDN[] rdns2 = name2.getRDNs(); - - if (rdns1.length != rdns2.length) - { - return false; - } - - for (int i = 0; i != rdns1.length; i++) - { - if (!rdnAreEqual(rdns1[i], rdns2[i])) - { - return false; - } - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStyle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStyle.java deleted file mode 100644 index b4d01f44f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/BCStyle.java +++ /dev/null @@ -1,481 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.AttributeTypeAndValue; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; - -public class BCStyle - implements X500NameStyle -{ - /** - * country code - StringType(SIZE(2)) - */ - public static final ASN1ObjectIdentifier C = new ASN1ObjectIdentifier("2.5.4.6"); - - /** - * organization - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier O = new ASN1ObjectIdentifier("2.5.4.10"); - - /** - * organizational unit name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier OU = new ASN1ObjectIdentifier("2.5.4.11"); - - /** - * Title - */ - public static final ASN1ObjectIdentifier T = new ASN1ObjectIdentifier("2.5.4.12"); - - /** - * common name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier CN = new ASN1ObjectIdentifier("2.5.4.3"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SN = new ASN1ObjectIdentifier("2.5.4.5"); - - /** - * street - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier STREET = new ASN1ObjectIdentifier("2.5.4.9"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SERIALNUMBER = SN; - - /** - * locality name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier L = new ASN1ObjectIdentifier("2.5.4.7"); - - /** - * state, or province name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier ST = new ASN1ObjectIdentifier("2.5.4.8"); - - /** - * Naming attributes of type X520name - */ - public static final ASN1ObjectIdentifier SURNAME = new ASN1ObjectIdentifier("2.5.4.4"); - public static final ASN1ObjectIdentifier GIVENNAME = new ASN1ObjectIdentifier("2.5.4.42"); - public static final ASN1ObjectIdentifier INITIALS = new ASN1ObjectIdentifier("2.5.4.43"); - public static final ASN1ObjectIdentifier GENERATION = new ASN1ObjectIdentifier("2.5.4.44"); - public static final ASN1ObjectIdentifier UNIQUE_IDENTIFIER = new ASN1ObjectIdentifier("2.5.4.45"); - - /** - * businessCategory - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier BUSINESS_CATEGORY = new ASN1ObjectIdentifier( - "2.5.4.15"); - - /** - * postalCode - DirectoryString(SIZE(1..40) - */ - public static final ASN1ObjectIdentifier POSTAL_CODE = new ASN1ObjectIdentifier( - "2.5.4.17"); - - /** - * dnQualifier - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier DN_QUALIFIER = new ASN1ObjectIdentifier( - "2.5.4.46"); - - /** - * RFC 3039 Pseudonym - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier PSEUDONYM = new ASN1ObjectIdentifier( - "2.5.4.65"); - - - /** - * RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z - */ - public static final ASN1ObjectIdentifier DATE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.1"); - - /** - * RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier PLACE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.2"); - - /** - * RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f" - */ - public static final ASN1ObjectIdentifier GENDER = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.3"); - - /** - * RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_CITIZENSHIP = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.4"); - - /** - * RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_RESIDENCE = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.5"); - - - /** - * ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier NAME_AT_BIRTH = new ASN1ObjectIdentifier("1.3.36.8.3.14"); - - /** - * RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF - * DirectoryString(SIZE(1..30)) - */ - public static final ASN1ObjectIdentifier POSTAL_ADDRESS = new ASN1ObjectIdentifier("2.5.4.16"); - - /** - * RFC 2256 dmdName - */ - public static final ASN1ObjectIdentifier DMD_NAME = new ASN1ObjectIdentifier("2.5.4.54"); - - /** - * id-at-telephoneNumber - */ - public static final ASN1ObjectIdentifier TELEPHONE_NUMBER = X509ObjectIdentifiers.id_at_telephoneNumber; - - /** - * id-at-name - */ - public static final ASN1ObjectIdentifier NAME = X509ObjectIdentifiers.id_at_name; - - /** - * Email address (RSA PKCS#9 extension) - IA5String. - *

    Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here. - */ - public static final ASN1ObjectIdentifier EmailAddress = PKCSObjectIdentifiers.pkcs_9_at_emailAddress; - - /** - * more from PKCS#9 - */ - public static final ASN1ObjectIdentifier UnstructuredName = PKCSObjectIdentifiers.pkcs_9_at_unstructuredName; - public static final ASN1ObjectIdentifier UnstructuredAddress = PKCSObjectIdentifiers.pkcs_9_at_unstructuredAddress; - - /** - * email address in Verisign certificates - */ - public static final ASN1ObjectIdentifier E = EmailAddress; - - /* - * others... - */ - public static final ASN1ObjectIdentifier DC = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"); - - /** - * LDAP User id. - */ - public static final ASN1ObjectIdentifier UID = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"); - - /** - * default look up table translating OID values into their common symbols following - * the convention in RFC 2253 with a few extras - */ - private static final Hashtable DefaultSymbols = new Hashtable(); - - /** - * look up table translating common symbols into their OIDS. - */ - private static final Hashtable DefaultLookUp = new Hashtable(); - - static - { - DefaultSymbols.put(C, "C"); - DefaultSymbols.put(O, "O"); - DefaultSymbols.put(T, "T"); - DefaultSymbols.put(OU, "OU"); - DefaultSymbols.put(CN, "CN"); - DefaultSymbols.put(L, "L"); - DefaultSymbols.put(ST, "ST"); - DefaultSymbols.put(SN, "SERIALNUMBER"); - DefaultSymbols.put(EmailAddress, "E"); - DefaultSymbols.put(DC, "DC"); - DefaultSymbols.put(UID, "UID"); - DefaultSymbols.put(STREET, "STREET"); - DefaultSymbols.put(SURNAME, "SURNAME"); - DefaultSymbols.put(GIVENNAME, "GIVENNAME"); - DefaultSymbols.put(INITIALS, "INITIALS"); - DefaultSymbols.put(GENERATION, "GENERATION"); - DefaultSymbols.put(UnstructuredAddress, "unstructuredAddress"); - DefaultSymbols.put(UnstructuredName, "unstructuredName"); - DefaultSymbols.put(UNIQUE_IDENTIFIER, "UniqueIdentifier"); - DefaultSymbols.put(DN_QUALIFIER, "DN"); - DefaultSymbols.put(PSEUDONYM, "Pseudonym"); - DefaultSymbols.put(POSTAL_ADDRESS, "PostalAddress"); - DefaultSymbols.put(NAME_AT_BIRTH, "NameAtBirth"); - DefaultSymbols.put(COUNTRY_OF_CITIZENSHIP, "CountryOfCitizenship"); - DefaultSymbols.put(COUNTRY_OF_RESIDENCE, "CountryOfResidence"); - DefaultSymbols.put(GENDER, "Gender"); - DefaultSymbols.put(PLACE_OF_BIRTH, "PlaceOfBirth"); - DefaultSymbols.put(DATE_OF_BIRTH, "DateOfBirth"); - DefaultSymbols.put(POSTAL_CODE, "PostalCode"); - DefaultSymbols.put(BUSINESS_CATEGORY, "BusinessCategory"); - DefaultSymbols.put(TELEPHONE_NUMBER, "TelephoneNumber"); - DefaultSymbols.put(NAME, "Name"); - - DefaultLookUp.put("c", C); - DefaultLookUp.put("o", O); - DefaultLookUp.put("t", T); - DefaultLookUp.put("ou", OU); - DefaultLookUp.put("cn", CN); - DefaultLookUp.put("l", L); - DefaultLookUp.put("st", ST); - DefaultLookUp.put("sn", SN); - DefaultLookUp.put("serialnumber", SN); - DefaultLookUp.put("street", STREET); - DefaultLookUp.put("emailaddress", E); - DefaultLookUp.put("dc", DC); - DefaultLookUp.put("e", E); - DefaultLookUp.put("uid", UID); - DefaultLookUp.put("surname", SURNAME); - DefaultLookUp.put("givenname", GIVENNAME); - DefaultLookUp.put("initials", INITIALS); - DefaultLookUp.put("generation", GENERATION); - DefaultLookUp.put("unstructuredaddress", UnstructuredAddress); - DefaultLookUp.put("unstructuredname", UnstructuredName); - DefaultLookUp.put("uniqueidentifier", UNIQUE_IDENTIFIER); - DefaultLookUp.put("dn", DN_QUALIFIER); - DefaultLookUp.put("pseudonym", PSEUDONYM); - DefaultLookUp.put("postaladdress", POSTAL_ADDRESS); - DefaultLookUp.put("nameofbirth", NAME_AT_BIRTH); - DefaultLookUp.put("countryofcitizenship", COUNTRY_OF_CITIZENSHIP); - DefaultLookUp.put("countryofresidence", COUNTRY_OF_RESIDENCE); - DefaultLookUp.put("gender", GENDER); - DefaultLookUp.put("placeofbirth", PLACE_OF_BIRTH); - DefaultLookUp.put("dateofbirth", DATE_OF_BIRTH); - DefaultLookUp.put("postalcode", POSTAL_CODE); - DefaultLookUp.put("businesscategory", BUSINESS_CATEGORY); - DefaultLookUp.put("telephonenumber", TELEPHONE_NUMBER); - DefaultLookUp.put("name", NAME); - } - - /** - * Singleton instance. - */ - public static final X500NameStyle INSTANCE = new BCStyle(); - - protected final Hashtable defaultLookUp; - protected final Hashtable defaultSymbols; - - protected BCStyle() - { - defaultSymbols = copyHashTable(DefaultSymbols); - defaultLookUp = copyHashTable(DefaultLookUp); - } - - public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value) - { - if (value.length() != 0 && value.charAt(0) == '#') - { - try - { - return IETFUtils.valueFromHexString(value, 1); - } - catch (IOException e) - { - throw new RuntimeException("can't recode value for oid " + oid.getId()); - } - } - else - { - if (value.length() != 0 && value.charAt(0) == '\\') - { - value = value.substring(1); - } - if (oid.equals(EmailAddress) || oid.equals(DC)) - { - return new DERIA5String(value); - } - else if (oid.equals(DATE_OF_BIRTH)) // accept time string as well as # (for compatibility) - { - return new ASN1GeneralizedTime(value); - } - else if (oid.equals(C) || oid.equals(SN) || oid.equals(DN_QUALIFIER) - || oid.equals(TELEPHONE_NUMBER)) - { - return new DERPrintableString(value); - } - } - - return new DERUTF8String(value); - } - - public String oidToDisplayName(ASN1ObjectIdentifier oid) - { - return (String)DefaultSymbols.get(oid); - } - - public String[] oidToAttrNames(ASN1ObjectIdentifier oid) - { - return IETFUtils.findAttrNamesForOID(oid, defaultLookUp); - } - - public ASN1ObjectIdentifier attrNameToOID(String attrName) - { - return IETFUtils.decodeAttrName(attrName, defaultLookUp); - } - - public boolean areEqual(X500Name name1, X500Name name2) - { - RDN[] rdns1 = name1.getRDNs(); - RDN[] rdns2 = name2.getRDNs(); - - if (rdns1.length != rdns2.length) - { - return false; - } - - boolean reverse = false; - - if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null) - { - reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType()); // guess forward - } - - for (int i = 0; i != rdns1.length; i++) - { - if (!foundMatch(reverse, rdns1[i], rdns2)) - { - return false; - } - } - - return true; - } - - private boolean foundMatch(boolean reverse, RDN rdn, RDN[] possRDNs) - { - if (reverse) - { - for (int i = possRDNs.length - 1; i >= 0; i--) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - else - { - for (int i = 0; i != possRDNs.length; i++) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - - return false; - } - - protected boolean rdnAreEqual(RDN rdn1, RDN rdn2) - { - return IETFUtils.rDNAreEqual(rdn1, rdn2); - } - - public RDN[] fromString(String dirName) - { - return IETFUtils.rDNsFromString(dirName, this); - } - - public int calculateHashCode(X500Name name) - { - int hashCodeValue = 0; - RDN[] rdns = name.getRDNs(); - - // this needs to be order independent, like equals - for (int i = 0; i != rdns.length; i++) - { - if (rdns[i].isMultiValued()) - { - AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues(); - - for (int j = 0; j != atv.length; j++) - { - hashCodeValue ^= atv[j].getType().hashCode(); - hashCodeValue ^= calcHashCode(atv[j].getValue()); - } - } - else - { - hashCodeValue ^= rdns[i].getFirst().getType().hashCode(); - hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue()); - } - } - - return hashCodeValue; - } - - private int calcHashCode(ASN1Encodable enc) - { - String value = IETFUtils.valueToString(enc); - - value = IETFUtils.canonicalize(value); - - return value.hashCode(); - } - - public String toString(X500Name name) - { - StringBuffer buf = new StringBuffer(); - boolean first = true; - - RDN[] rdns = name.getRDNs(); - - for (int i = 0; i < rdns.length; i++) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - IETFUtils.appendRDN(buf, rdns[i], defaultSymbols); - } - - return buf.toString(); - } - - private static Hashtable copyHashTable(Hashtable paramsMap) - { - Hashtable newTable = new Hashtable(); - - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Object key = keys.nextElement(); - newTable.put(key, paramsMap.get(key)); - } - - return newTable; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/IETFUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/IETFUtils.java deleted file mode 100644 index 14961e4c9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/IETFUtils.java +++ /dev/null @@ -1,572 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.DERUniversalString; -import org.spongycastle.asn1.x500.AttributeTypeAndValue; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500NameBuilder; -import org.spongycastle.asn1.x500.X500NameStyle; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; - -public class IETFUtils -{ - private static String unescape(String elt) - { - if (elt.length() == 0 || (elt.indexOf('\\') < 0 && elt.indexOf('"') < 0)) - { - return elt.trim(); - } - - char[] elts = elt.toCharArray(); - boolean escaped = false; - boolean quoted = false; - StringBuffer buf = new StringBuffer(elt.length()); - int start = 0; - - // if it's an escaped hash string and not an actual encoding in string form - // we need to leave it escaped. - if (elts[0] == '\\') - { - if (elts[1] == '#') - { - start = 2; - buf.append("\\#"); - } - } - - boolean nonWhiteSpaceEncountered = false; - int lastEscaped = 0; - char hex1 = 0; - - for (int i = start; i != elts.length; i++) - { - char c = elts[i]; - - if (c != ' ') - { - nonWhiteSpaceEncountered = true; - } - - if (c == '"') - { - if (!escaped) - { - quoted = !quoted; - } - else - { - buf.append(c); - } - escaped = false; - } - else if (c == '\\' && !(escaped || quoted)) - { - escaped = true; - lastEscaped = buf.length(); - } - else - { - if (c == ' ' && !escaped && !nonWhiteSpaceEncountered) - { - continue; - } - if (escaped && isHexDigit(c)) - { - if (hex1 != 0) - { - buf.append((char)(convertHex(hex1) * 16 + convertHex(c))); - escaped = false; - hex1 = 0; - continue; - } - hex1 = c; - continue; - } - buf.append(c); - escaped = false; - } - } - - if (buf.length() > 0) - { - while (buf.charAt(buf.length() - 1) == ' ' && lastEscaped != (buf.length() - 1)) - { - buf.setLength(buf.length() - 1); - } - } - - return buf.toString(); - } - - private static boolean isHexDigit(char c) - { - return ('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || ('A' <= c && c <= 'F'); - } - - private static int convertHex(char c) - { - if ('0' <= c && c <= '9') - { - return c - '0'; - } - if ('a' <= c && c <= 'f') - { - return c - 'a' + 10; - } - return c - 'A' + 10; - } - - public static RDN[] rDNsFromString(String name, X500NameStyle x500Style) - { - X500NameTokenizer nTok = new X500NameTokenizer(name); - X500NameBuilder builder = new X500NameBuilder(x500Style); - - while (nTok.hasMoreTokens()) - { - String token = nTok.nextToken(); - - if (token.indexOf('+') > 0) - { - X500NameTokenizer pTok = new X500NameTokenizer(token, '+'); - X500NameTokenizer vTok = new X500NameTokenizer(pTok.nextToken(), '='); - - String attr = vTok.nextToken(); - - if (!vTok.hasMoreTokens()) - { - throw new IllegalArgumentException("badly formatted directory string"); - } - - String value = vTok.nextToken(); - ASN1ObjectIdentifier oid = x500Style.attrNameToOID(attr.trim()); - - if (pTok.hasMoreTokens()) - { - Vector oids = new Vector(); - Vector values = new Vector(); - - oids.addElement(oid); - values.addElement(unescape(value)); - - while (pTok.hasMoreTokens()) - { - vTok = new X500NameTokenizer(pTok.nextToken(), '='); - - attr = vTok.nextToken(); - - if (!vTok.hasMoreTokens()) - { - throw new IllegalArgumentException("badly formatted directory string"); - } - - value = vTok.nextToken(); - oid = x500Style.attrNameToOID(attr.trim()); - - - oids.addElement(oid); - values.addElement(unescape(value)); - } - - builder.addMultiValuedRDN(toOIDArray(oids), toValueArray(values)); - } - else - { - builder.addRDN(oid, unescape(value)); - } - } - else - { - X500NameTokenizer vTok = new X500NameTokenizer(token, '='); - - String attr = vTok.nextToken(); - - if (!vTok.hasMoreTokens()) - { - throw new IllegalArgumentException("badly formatted directory string"); - } - - String value = vTok.nextToken(); - ASN1ObjectIdentifier oid = x500Style.attrNameToOID(attr.trim()); - - builder.addRDN(oid, unescape(value)); - } - } - - return builder.build().getRDNs(); - } - - private static String[] toValueArray(Vector values) - { - String[] tmp = new String[values.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (String)values.elementAt(i); - } - - return tmp; - } - - private static ASN1ObjectIdentifier[] toOIDArray(Vector oids) - { - ASN1ObjectIdentifier[] tmp = new ASN1ObjectIdentifier[oids.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (ASN1ObjectIdentifier)oids.elementAt(i); - } - - return tmp; - } - - public static String[] findAttrNamesForOID( - ASN1ObjectIdentifier oid, - Hashtable lookup) - { - int count = 0; - for (Enumeration en = lookup.elements(); en.hasMoreElements();) - { - if (oid.equals(en.nextElement())) - { - count++; - } - } - - String[] aliases = new String[count]; - count = 0; - - for (Enumeration en = lookup.keys(); en.hasMoreElements();) - { - String key = (String)en.nextElement(); - if (oid.equals(lookup.get(key))) - { - aliases[count++] = key; - } - } - - return aliases; - } - - public static ASN1ObjectIdentifier decodeAttrName( - String name, - Hashtable lookUp) - { - if (Strings.toUpperCase(name).startsWith("OID.")) - { - return new ASN1ObjectIdentifier(name.substring(4)); - } - else if (name.charAt(0) >= '0' && name.charAt(0) <= '9') - { - return new ASN1ObjectIdentifier(name); - } - - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)lookUp.get(Strings.toLowerCase(name)); - if (oid == null) - { - throw new IllegalArgumentException("Unknown object id - " + name + " - passed to distinguished name"); - } - - return oid; - } - - public static ASN1Encodable valueFromHexString( - String str, - int off) - throws IOException - { - byte[] data = new byte[(str.length() - off) / 2]; - for (int index = 0; index != data.length; index++) - { - char left = str.charAt((index * 2) + off); - char right = str.charAt((index * 2) + off + 1); - - data[index] = (byte)((convertHex(left) << 4) | convertHex(right)); - } - - return ASN1Primitive.fromByteArray(data); - } - - public static void appendRDN( - StringBuffer buf, - RDN rdn, - Hashtable oidSymbols) - { - if (rdn.isMultiValued()) - { - AttributeTypeAndValue[] atv = rdn.getTypesAndValues(); - boolean firstAtv = true; - - for (int j = 0; j != atv.length; j++) - { - if (firstAtv) - { - firstAtv = false; - } - else - { - buf.append('+'); - } - - IETFUtils.appendTypeAndValue(buf, atv[j], oidSymbols); - } - } - else - { - IETFUtils.appendTypeAndValue(buf, rdn.getFirst(), oidSymbols); - } - } - - public static void appendTypeAndValue( - StringBuffer buf, - AttributeTypeAndValue typeAndValue, - Hashtable oidSymbols) - { - String sym = (String)oidSymbols.get(typeAndValue.getType()); - - if (sym != null) - { - buf.append(sym); - } - else - { - buf.append(typeAndValue.getType().getId()); - } - - buf.append('='); - - buf.append(valueToString(typeAndValue.getValue())); - } - - public static String valueToString(ASN1Encodable value) - { - StringBuffer vBuf = new StringBuffer(); - - if (value instanceof ASN1String && !(value instanceof DERUniversalString)) - { - String v = ((ASN1String)value).getString(); - if (v.length() > 0 && v.charAt(0) == '#') - { - vBuf.append("\\" + v); - } - else - { - vBuf.append(v); - } - } - else - { - try - { - vBuf.append("#" + bytesToString(Hex.encode(value.toASN1Primitive().getEncoded(ASN1Encoding.DER)))); - } - catch (IOException e) - { - throw new IllegalArgumentException("Other value has no encoded form"); - } - } - - int end = vBuf.length(); - int index = 0; - - if (vBuf.length() >= 2 && vBuf.charAt(0) == '\\' && vBuf.charAt(1) == '#') - { - index += 2; - } - - while (index != end) - { - if ((vBuf.charAt(index) == ',') - || (vBuf.charAt(index) == '"') - || (vBuf.charAt(index) == '\\') - || (vBuf.charAt(index) == '+') - || (vBuf.charAt(index) == '=') - || (vBuf.charAt(index) == '<') - || (vBuf.charAt(index) == '>') - || (vBuf.charAt(index) == ';')) - { - vBuf.insert(index, "\\"); - index++; - end++; - } - - index++; - } - - int start = 0; - if (vBuf.length() > 0) - { - while (vBuf.length() > start && vBuf.charAt(start) == ' ') - { - vBuf.insert(start, "\\"); - start += 2; - } - } - - int endBuf = vBuf.length() - 1; - - while (endBuf >= 0 && vBuf.charAt(endBuf) == ' ') - { - vBuf.insert(endBuf, '\\'); - endBuf--; - } - - return vBuf.toString(); - } - - private static String bytesToString( - byte[] data) - { - char[] cs = new char[data.length]; - - for (int i = 0; i != cs.length; i++) - { - cs[i] = (char)(data[i] & 0xff); - } - - return new String(cs); - } - - public static String canonicalize(String s) - { - String value = Strings.toLowerCase(s.trim()); - - if (value.length() > 0 && value.charAt(0) == '#') - { - ASN1Primitive obj = decodeObject(value); - - if (obj instanceof ASN1String) - { - value = Strings.toLowerCase(((ASN1String)obj).getString().trim()); - } - } - - value = stripInternalSpaces(value); - - return value; - } - - private static ASN1Primitive decodeObject(String oValue) - { - try - { - return ASN1Primitive.fromByteArray(Hex.decode(oValue.substring(1))); - } - catch (IOException e) - { - throw new IllegalStateException("unknown encoding in name: " + e); - } - } - - public static String stripInternalSpaces( - String str) - { - StringBuffer res = new StringBuffer(); - - if (str.length() != 0) - { - char c1 = str.charAt(0); - - res.append(c1); - - for (int k = 1; k < str.length(); k++) - { - char c2 = str.charAt(k); - if (!(c1 == ' ' && c2 == ' ')) - { - res.append(c2); - } - c1 = c2; - } - } - - return res.toString(); - } - - public static boolean rDNAreEqual(RDN rdn1, RDN rdn2) - { - if (rdn1.isMultiValued()) - { - if (rdn2.isMultiValued()) - { - AttributeTypeAndValue[] atvs1 = rdn1.getTypesAndValues(); - AttributeTypeAndValue[] atvs2 = rdn2.getTypesAndValues(); - - if (atvs1.length != atvs2.length) - { - return false; - } - - for (int i = 0; i != atvs1.length; i++) - { - if (!atvAreEqual(atvs1[i], atvs2[i])) - { - return false; - } - } - } - else - { - return false; - } - } - else - { - if (!rdn2.isMultiValued()) - { - return atvAreEqual(rdn1.getFirst(), rdn2.getFirst()); - } - else - { - return false; - } - } - - return true; - } - - private static boolean atvAreEqual(AttributeTypeAndValue atv1, AttributeTypeAndValue atv2) - { - if (atv1 == atv2) - { - return true; - } - - if (atv1 == null) - { - return false; - } - - if (atv2 == null) - { - return false; - } - - ASN1ObjectIdentifier o1 = atv1.getType(); - ASN1ObjectIdentifier o2 = atv2.getType(); - - if (!o1.equals(o2)) - { - return false; - } - - String v1 = IETFUtils.canonicalize(IETFUtils.valueToString(atv1.getValue())); - String v2 = IETFUtils.canonicalize(IETFUtils.valueToString(atv2.getValue())); - - if (!v1.equals(v2)) - { - return false; - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/RFC4519Style.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/RFC4519Style.java deleted file mode 100644 index ce2cbea08..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/RFC4519Style.java +++ /dev/null @@ -1,380 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.x500.AttributeTypeAndValue; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; - -public class RFC4519Style - implements X500NameStyle -{ - public static final ASN1ObjectIdentifier businessCategory = new ASN1ObjectIdentifier("2.5.4.15"); - public static final ASN1ObjectIdentifier c = new ASN1ObjectIdentifier("2.5.4.6"); - public static final ASN1ObjectIdentifier cn = new ASN1ObjectIdentifier("2.5.4.3"); - public static final ASN1ObjectIdentifier dc = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"); - public static final ASN1ObjectIdentifier description = new ASN1ObjectIdentifier("2.5.4.13"); - public static final ASN1ObjectIdentifier destinationIndicator = new ASN1ObjectIdentifier("2.5.4.27"); - public static final ASN1ObjectIdentifier distinguishedName = new ASN1ObjectIdentifier("2.5.4.49"); - public static final ASN1ObjectIdentifier dnQualifier = new ASN1ObjectIdentifier("2.5.4.46"); - public static final ASN1ObjectIdentifier enhancedSearchGuide = new ASN1ObjectIdentifier("2.5.4.47"); - public static final ASN1ObjectIdentifier facsimileTelephoneNumber = new ASN1ObjectIdentifier("2.5.4.23"); - public static final ASN1ObjectIdentifier generationQualifier = new ASN1ObjectIdentifier("2.5.4.44"); - public static final ASN1ObjectIdentifier givenName = new ASN1ObjectIdentifier("2.5.4.42"); - public static final ASN1ObjectIdentifier houseIdentifier = new ASN1ObjectIdentifier("2.5.4.51"); - public static final ASN1ObjectIdentifier initials = new ASN1ObjectIdentifier("2.5.4.43"); - public static final ASN1ObjectIdentifier internationalISDNNumber = new ASN1ObjectIdentifier("2.5.4.25"); - public static final ASN1ObjectIdentifier l = new ASN1ObjectIdentifier("2.5.4.7"); - public static final ASN1ObjectIdentifier member = new ASN1ObjectIdentifier("2.5.4.31"); - public static final ASN1ObjectIdentifier name = new ASN1ObjectIdentifier("2.5.4.41"); - public static final ASN1ObjectIdentifier o = new ASN1ObjectIdentifier("2.5.4.10"); - public static final ASN1ObjectIdentifier ou = new ASN1ObjectIdentifier("2.5.4.11"); - public static final ASN1ObjectIdentifier owner = new ASN1ObjectIdentifier("2.5.4.32"); - public static final ASN1ObjectIdentifier physicalDeliveryOfficeName = new ASN1ObjectIdentifier("2.5.4.19"); - public static final ASN1ObjectIdentifier postalAddress = new ASN1ObjectIdentifier("2.5.4.16"); - public static final ASN1ObjectIdentifier postalCode = new ASN1ObjectIdentifier("2.5.4.17"); - public static final ASN1ObjectIdentifier postOfficeBox = new ASN1ObjectIdentifier("2.5.4.18"); - public static final ASN1ObjectIdentifier preferredDeliveryMethod = new ASN1ObjectIdentifier("2.5.4.28"); - public static final ASN1ObjectIdentifier registeredAddress = new ASN1ObjectIdentifier("2.5.4.26"); - public static final ASN1ObjectIdentifier roleOccupant = new ASN1ObjectIdentifier("2.5.4.33"); - public static final ASN1ObjectIdentifier searchGuide = new ASN1ObjectIdentifier("2.5.4.14"); - public static final ASN1ObjectIdentifier seeAlso = new ASN1ObjectIdentifier("2.5.4.34"); - public static final ASN1ObjectIdentifier serialNumber = new ASN1ObjectIdentifier("2.5.4.5"); - public static final ASN1ObjectIdentifier sn = new ASN1ObjectIdentifier("2.5.4.4"); - public static final ASN1ObjectIdentifier st = new ASN1ObjectIdentifier("2.5.4.8"); - public static final ASN1ObjectIdentifier street = new ASN1ObjectIdentifier("2.5.4.9"); - public static final ASN1ObjectIdentifier telephoneNumber = new ASN1ObjectIdentifier("2.5.4.20"); - public static final ASN1ObjectIdentifier teletexTerminalIdentifier = new ASN1ObjectIdentifier("2.5.4.22"); - public static final ASN1ObjectIdentifier telexNumber = new ASN1ObjectIdentifier("2.5.4.21"); - public static final ASN1ObjectIdentifier title = new ASN1ObjectIdentifier("2.5.4.12"); - public static final ASN1ObjectIdentifier uid = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"); - public static final ASN1ObjectIdentifier uniqueMember = new ASN1ObjectIdentifier("2.5.4.50"); - public static final ASN1ObjectIdentifier userPassword = new ASN1ObjectIdentifier("2.5.4.35"); - public static final ASN1ObjectIdentifier x121Address = new ASN1ObjectIdentifier("2.5.4.24"); - public static final ASN1ObjectIdentifier x500UniqueIdentifier = new ASN1ObjectIdentifier("2.5.4.45"); - - /** - * default look up table translating OID values into their common symbols following - * the convention in RFC 2253 with a few extras - */ - private static final Hashtable DefaultSymbols = new Hashtable(); - - /** - * look up table translating common symbols into their OIDS. - */ - private static final Hashtable DefaultLookUp = new Hashtable(); - - static - { - DefaultSymbols.put(businessCategory, "businessCategory"); - DefaultSymbols.put(c, "c"); - DefaultSymbols.put(cn, "cn"); - DefaultSymbols.put(dc, "dc"); - DefaultSymbols.put(description, "description"); - DefaultSymbols.put(destinationIndicator, "destinationIndicator"); - DefaultSymbols.put(distinguishedName, "distinguishedName"); - DefaultSymbols.put(dnQualifier, "dnQualifier"); - DefaultSymbols.put(enhancedSearchGuide, "enhancedSearchGuide"); - DefaultSymbols.put(facsimileTelephoneNumber, "facsimileTelephoneNumber"); - DefaultSymbols.put(generationQualifier, "generationQualifier"); - DefaultSymbols.put(givenName, "givenName"); - DefaultSymbols.put(houseIdentifier, "houseIdentifier"); - DefaultSymbols.put(initials, "initials"); - DefaultSymbols.put(internationalISDNNumber, "internationalISDNNumber"); - DefaultSymbols.put(l, "l"); - DefaultSymbols.put(member, "member"); - DefaultSymbols.put(name, "name"); - DefaultSymbols.put(o, "o"); - DefaultSymbols.put(ou, "ou"); - DefaultSymbols.put(owner, "owner"); - DefaultSymbols.put(physicalDeliveryOfficeName, "physicalDeliveryOfficeName"); - DefaultSymbols.put(postalAddress, "postalAddress"); - DefaultSymbols.put(postalCode, "postalCode"); - DefaultSymbols.put(postOfficeBox, "postOfficeBox"); - DefaultSymbols.put(preferredDeliveryMethod, "preferredDeliveryMethod"); - DefaultSymbols.put(registeredAddress, "registeredAddress"); - DefaultSymbols.put(roleOccupant, "roleOccupant"); - DefaultSymbols.put(searchGuide, "searchGuide"); - DefaultSymbols.put(seeAlso, "seeAlso"); - DefaultSymbols.put(serialNumber, "serialNumber"); - DefaultSymbols.put(sn, "sn"); - DefaultSymbols.put(st, "st"); - DefaultSymbols.put(street, "street"); - DefaultSymbols.put(telephoneNumber, "telephoneNumber"); - DefaultSymbols.put(teletexTerminalIdentifier, "teletexTerminalIdentifier"); - DefaultSymbols.put(telexNumber, "telexNumber"); - DefaultSymbols.put(title, "title"); - DefaultSymbols.put(uid, "uid"); - DefaultSymbols.put(uniqueMember, "uniqueMember"); - DefaultSymbols.put(userPassword, "userPassword"); - DefaultSymbols.put(x121Address, "x121Address"); - DefaultSymbols.put(x500UniqueIdentifier, "x500UniqueIdentifier"); - - DefaultLookUp.put("businesscategory", businessCategory); - DefaultLookUp.put("c", c); - DefaultLookUp.put("cn", cn); - DefaultLookUp.put("dc", dc); - DefaultLookUp.put("description", description); - DefaultLookUp.put("destinationindicator", destinationIndicator); - DefaultLookUp.put("distinguishedname", distinguishedName); - DefaultLookUp.put("dnqualifier", dnQualifier); - DefaultLookUp.put("enhancedsearchguide", enhancedSearchGuide); - DefaultLookUp.put("facsimiletelephonenumber", facsimileTelephoneNumber); - DefaultLookUp.put("generationqualifier", generationQualifier); - DefaultLookUp.put("givenname", givenName); - DefaultLookUp.put("houseidentifier", houseIdentifier); - DefaultLookUp.put("initials", initials); - DefaultLookUp.put("internationalisdnnumber", internationalISDNNumber); - DefaultLookUp.put("l", l); - DefaultLookUp.put("member", member); - DefaultLookUp.put("name", name); - DefaultLookUp.put("o", o); - DefaultLookUp.put("ou", ou); - DefaultLookUp.put("owner", owner); - DefaultLookUp.put("physicaldeliveryofficename", physicalDeliveryOfficeName); - DefaultLookUp.put("postaladdress", postalAddress); - DefaultLookUp.put("postalcode", postalCode); - DefaultLookUp.put("postofficebox", postOfficeBox); - DefaultLookUp.put("preferreddeliverymethod", preferredDeliveryMethod); - DefaultLookUp.put("registeredaddress", registeredAddress); - DefaultLookUp.put("roleoccupant", roleOccupant); - DefaultLookUp.put("searchguide", searchGuide); - DefaultLookUp.put("seealso", seeAlso); - DefaultLookUp.put("serialnumber", serialNumber); - DefaultLookUp.put("sn", sn); - DefaultLookUp.put("st", st); - DefaultLookUp.put("street", street); - DefaultLookUp.put("telephonenumber", telephoneNumber); - DefaultLookUp.put("teletexterminalidentifier", teletexTerminalIdentifier); - DefaultLookUp.put("telexnumber", telexNumber); - DefaultLookUp.put("title", title); - DefaultLookUp.put("uid", uid); - DefaultLookUp.put("uniquemember", uniqueMember); - DefaultLookUp.put("userpassword", userPassword); - DefaultLookUp.put("x121address", x121Address); - DefaultLookUp.put("x500uniqueidentifier", x500UniqueIdentifier); - - // TODO: need to add correct matching for equality comparisons. - } - - /** - * Singleton instance. - */ - public static final X500NameStyle INSTANCE = new RFC4519Style(); - - protected final Hashtable defaultLookUp; - protected final Hashtable defaultSymbols; - - protected RFC4519Style() - { - defaultSymbols = copyHashTable(DefaultSymbols); - defaultLookUp = copyHashTable(DefaultLookUp); - } - - public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value) - { - if (value.length() != 0 && value.charAt(0) == '#') - { - try - { - return IETFUtils.valueFromHexString(value, 1); - } - catch (IOException e) - { - throw new RuntimeException("can't recode value for oid " + oid.getId()); - } - } - else - { - if (value.length() != 0 && value.charAt(0) == '\\') - { - value = value.substring(1); - } - if (oid.equals(dc)) - { - return new DERIA5String(value); - } - else if (oid.equals(c) || oid.equals(serialNumber) || oid.equals(dnQualifier) - || oid.equals(telephoneNumber)) - { - return new DERPrintableString(value); - } - } - - return new DERUTF8String(value); - } - - public String oidToDisplayName(ASN1ObjectIdentifier oid) - { - return (String)DefaultSymbols.get(oid); - } - - public String[] oidToAttrNames(ASN1ObjectIdentifier oid) - { - return IETFUtils.findAttrNamesForOID(oid, defaultLookUp); - } - - public ASN1ObjectIdentifier attrNameToOID(String attrName) - { - return IETFUtils.decodeAttrName(attrName, defaultLookUp); - } - - public boolean areEqual(X500Name name1, X500Name name2) - { - RDN[] rdns1 = name1.getRDNs(); - RDN[] rdns2 = name2.getRDNs(); - - if (rdns1.length != rdns2.length) - { - return false; - } - - boolean reverse = false; - - if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null) - { - reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType()); // guess forward - } - - for (int i = 0; i != rdns1.length; i++) - { - if (!foundMatch(reverse, rdns1[i], rdns2)) - { - return false; - } - } - - return true; - } - - private boolean foundMatch(boolean reverse, RDN rdn, RDN[] possRDNs) - { - if (reverse) - { - for (int i = possRDNs.length - 1; i >= 0; i--) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - else - { - for (int i = 0; i != possRDNs.length; i++) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - - return false; - } - - protected boolean rdnAreEqual(RDN rdn1, RDN rdn2) - { - return IETFUtils.rDNAreEqual(rdn1, rdn2); - } - - // parse backwards - public RDN[] fromString(String dirName) - { - RDN[] tmp = IETFUtils.rDNsFromString(dirName, this); - RDN[] res = new RDN[tmp.length]; - - for (int i = 0; i != tmp.length; i++) - { - res[res.length - i - 1] = tmp[i]; - } - - return res; - } - - public int calculateHashCode(X500Name name) - { - int hashCodeValue = 0; - RDN[] rdns = name.getRDNs(); - - // this needs to be order independent, like equals - for (int i = 0; i != rdns.length; i++) - { - if (rdns[i].isMultiValued()) - { - AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues(); - - for (int j = 0; j != atv.length; j++) - { - hashCodeValue ^= atv[j].getType().hashCode(); - hashCodeValue ^= calcHashCode(atv[j].getValue()); - } - } - else - { - hashCodeValue ^= rdns[i].getFirst().getType().hashCode(); - hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue()); - } - } - - return hashCodeValue; - } - - private int calcHashCode(ASN1Encodable enc) - { - String value = IETFUtils.valueToString(enc); - - value = IETFUtils.canonicalize(value); - - return value.hashCode(); - } - - // convert in reverse - public String toString(X500Name name) - { - StringBuffer buf = new StringBuffer(); - boolean first = true; - - RDN[] rdns = name.getRDNs(); - - for (int i = rdns.length - 1; i >= 0; i--) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - IETFUtils.appendRDN(buf, rdns[i], defaultSymbols); - } - - return buf.toString(); - } - - private static Hashtable copyHashTable(Hashtable paramsMap) - { - Hashtable newTable = new Hashtable(); - - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Object key = keys.nextElement(); - newTable.put(key, paramsMap.get(key)); - } - - return newTable; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/X500NameTokenizer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/X500NameTokenizer.java deleted file mode 100644 index d880c63f5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x500/style/X500NameTokenizer.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -/** - * class for breaking up an X500 Name into it's component tokens, ala - * java.util.StringTokenizer. We need this class as some of the - * lightweight Java environment don't support classes like - * StringTokenizer. - */ -class X500NameTokenizer -{ - private String value; - private int index; - private char separator; - private StringBuffer buf = new StringBuffer(); - - public X500NameTokenizer( - String oid) - { - this(oid, ','); - } - - public X500NameTokenizer( - String oid, - char separator) - { - this.value = oid; - this.index = -1; - this.separator = separator; - } - - public boolean hasMoreTokens() - { - return (index != value.length()); - } - - public String nextToken() - { - if (index == value.length()) - { - return null; - } - - int end = index + 1; - boolean quoted = false; - boolean escaped = false; - - buf.setLength(0); - - while (end != value.length()) - { - char c = value.charAt(end); - - if (c == '"') - { - if (!escaped) - { - quoted = !quoted; - } - buf.append(c); - escaped = false; - } - else - { - if (escaped || quoted) - { - buf.append(c); - escaped = false; - } - else if (c == '\\') - { - buf.append(c); - escaped = true; - } - else if (c == separator) - { - break; - } - else - { - buf.append(c); - } - } - end++; - } - - index = end; - - return buf.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AccessDescription.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AccessDescription.java deleted file mode 100644 index 29a57949b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AccessDescription.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * The AccessDescription object. - *

    - * AccessDescription  ::=  SEQUENCE {
    - *       accessMethod          OBJECT IDENTIFIER,
    - *       accessLocation        GeneralName  }
    - * 
    - */ -public class AccessDescription - extends ASN1Object -{ - public final static ASN1ObjectIdentifier id_ad_caIssuers = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.2"); - - public final static ASN1ObjectIdentifier id_ad_ocsp = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.48.1"); - - ASN1ObjectIdentifier accessMethod = null; - GeneralName accessLocation = null; - - public static AccessDescription getInstance( - Object obj) - { - if (obj instanceof AccessDescription) - { - return (AccessDescription)obj; - } - else if (obj != null) - { - return new AccessDescription(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private AccessDescription( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("wrong number of elements in sequence"); - } - - accessMethod = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - accessLocation = GeneralName.getInstance(seq.getObjectAt(1)); - } - - /** - * create an AccessDescription with the oid and location provided. - */ - public AccessDescription( - ASN1ObjectIdentifier oid, - GeneralName location) - { - accessMethod = oid; - accessLocation = location; - } - - /** - * - * @return the access method. - */ - public ASN1ObjectIdentifier getAccessMethod() - { - return accessMethod; - } - - /** - * - * @return the access location - */ - public GeneralName getAccessLocation() - { - return accessLocation; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector accessDescription = new ASN1EncodableVector(); - - accessDescription.add(accessMethod); - accessDescription.add(accessLocation); - - return new DERSequence(accessDescription); - } - - public String toString() - { - return ("AccessDescription: Oid(" + this.accessMethod.getId() + ")"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AlgorithmIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AlgorithmIdentifier.java deleted file mode 100644 index 0c07c49b9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AlgorithmIdentifier.java +++ /dev/null @@ -1,173 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; - -public class AlgorithmIdentifier - extends ASN1Object -{ - private ASN1ObjectIdentifier objectId; - private ASN1Encodable parameters; - private boolean parametersDefined = false; - - public static AlgorithmIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static AlgorithmIdentifier getInstance( - Object obj) - { - if (obj== null || obj instanceof AlgorithmIdentifier) - { - return (AlgorithmIdentifier)obj; - } - - // TODO: delete - if (obj instanceof ASN1ObjectIdentifier) - { - return new AlgorithmIdentifier((ASN1ObjectIdentifier)obj); - } - - // TODO: delete - if (obj instanceof String) - { - return new AlgorithmIdentifier((String)obj); - } - - return new AlgorithmIdentifier(ASN1Sequence.getInstance(obj)); - } - - public AlgorithmIdentifier( - ASN1ObjectIdentifier objectId) - { - this.objectId = objectId; - } - - /** - * @deprecated use ASN1ObjectIdentifier - * @param objectId - */ - public AlgorithmIdentifier( - String objectId) - { - this.objectId = new ASN1ObjectIdentifier(objectId); - } - - /** - * @deprecated use ASN1ObjectIdentifier - * @param objectId - */ - public AlgorithmIdentifier( - DERObjectIdentifier objectId) - { - this.objectId = new ASN1ObjectIdentifier(objectId.getId()); - } - - /** - * @deprecated use ASN1ObjectIdentifier - * @param objectId - * @param parameters - */ - public AlgorithmIdentifier( - DERObjectIdentifier objectId, - ASN1Encodable parameters) - { - parametersDefined = true; - this.objectId = new ASN1ObjectIdentifier(objectId.getId()); - this.parameters = parameters; - } - - public AlgorithmIdentifier( - ASN1ObjectIdentifier objectId, - ASN1Encodable parameters) - { - parametersDefined = true; - this.objectId = objectId; - this.parameters = parameters; - } - - /** - * @deprecated use AlgorithmIdentifier.getInstance() - * @param seq - */ - public AlgorithmIdentifier( - ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - objectId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - - if (seq.size() == 2) - { - parametersDefined = true; - parameters = seq.getObjectAt(1); - } - else - { - parameters = null; - } - } - - public ASN1ObjectIdentifier getAlgorithm() - { - return new ASN1ObjectIdentifier(objectId.getId()); - } - - /** - * @deprecated use getAlgorithm - * @return - */ - public ASN1ObjectIdentifier getObjectId() - { - return objectId; - } - - public ASN1Encodable getParameters() - { - return parameters; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *      AlgorithmIdentifier ::= SEQUENCE {
    -     *                            algorithm OBJECT IDENTIFIER,
    -     *                            parameters ANY DEFINED BY algorithm OPTIONAL }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(objectId); - - if (parametersDefined) - { - if (parameters != null) - { - v.add(parameters); - } - else - { - v.add(DERNull.INSTANCE); - } - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertIssuer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertIssuer.java deleted file mode 100644 index cb027fd12..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertIssuer.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -public class AttCertIssuer - extends ASN1Object - implements ASN1Choice -{ - ASN1Encodable obj; - ASN1Primitive choiceObj; - - public static AttCertIssuer getInstance( - Object obj) - { - if (obj == null || obj instanceof AttCertIssuer) - { - return (AttCertIssuer)obj; - } - else if (obj instanceof V2Form) - { - return new AttCertIssuer(V2Form.getInstance(obj)); - } - else if (obj instanceof GeneralNames) - { - return new AttCertIssuer((GeneralNames)obj); - } - else if (obj instanceof ASN1TaggedObject) - { - return new AttCertIssuer(V2Form.getInstance((ASN1TaggedObject)obj, false)); - } - else if (obj instanceof ASN1Sequence) - { - return new AttCertIssuer(GeneralNames.getInstance(obj)); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public static AttCertIssuer getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - /** - * Don't use this one if you are trying to be RFC 3281 compliant. - * Use it for v1 attribute certificates only. - * - * @param names our GeneralNames structure - */ - public AttCertIssuer( - GeneralNames names) - { - obj = names; - choiceObj = obj.toASN1Primitive(); - } - - public AttCertIssuer( - V2Form v2Form) - { - obj = v2Form; - choiceObj = new DERTaggedObject(false, 0, obj); - } - - public ASN1Encodable getIssuer() - { - return obj; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  AttCertIssuer ::= CHOICE {
    -     *       v1Form   GeneralNames,  -- MUST NOT be used in this
    -     *                               -- profile
    -     *       v2Form   [0] V2Form     -- v2 only
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return choiceObj; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertValidityPeriod.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertValidityPeriod.java deleted file mode 100644 index eec4d6340..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttCertValidityPeriod.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class AttCertValidityPeriod - extends ASN1Object -{ - ASN1GeneralizedTime notBeforeTime; - ASN1GeneralizedTime notAfterTime; - - public static AttCertValidityPeriod getInstance( - Object obj) - { - if (obj instanceof AttCertValidityPeriod) - { - return (AttCertValidityPeriod)obj; - } - else if (obj != null) - { - return new AttCertValidityPeriod(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private AttCertValidityPeriod( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - notBeforeTime = ASN1GeneralizedTime.getInstance(seq.getObjectAt(0)); - notAfterTime = ASN1GeneralizedTime.getInstance(seq.getObjectAt(1)); - } - - /** - * @param notBeforeTime - * @param notAfterTime - */ - public AttCertValidityPeriod( - ASN1GeneralizedTime notBeforeTime, - ASN1GeneralizedTime notAfterTime) - { - this.notBeforeTime = notBeforeTime; - this.notAfterTime = notAfterTime; - } - - public ASN1GeneralizedTime getNotBeforeTime() - { - return notBeforeTime; - } - - public ASN1GeneralizedTime getNotAfterTime() - { - return notAfterTime; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  AttCertValidityPeriod  ::= SEQUENCE {
    -     *       notBeforeTime  GeneralizedTime,
    -     *       notAfterTime   GeneralizedTime
    -     *  } 
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(notBeforeTime); - v.add(notAfterTime); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Attribute.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Attribute.java deleted file mode 100644 index 5a501e1f5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Attribute.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERSequence; - -public class Attribute - extends ASN1Object -{ - private ASN1ObjectIdentifier attrType; - private ASN1Set attrValues; - - /** - * return an Attribute object from the given object. - * - * @param o the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static Attribute getInstance( - Object o) - { - if (o instanceof Attribute) - { - return (Attribute)o; - } - - if (o != null) - { - return new Attribute(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private Attribute( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - attrType = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - attrValues = ASN1Set.getInstance(seq.getObjectAt(1)); - } - - public Attribute( - ASN1ObjectIdentifier attrType, - ASN1Set attrValues) - { - this.attrType = attrType; - this.attrValues = attrValues; - } - - public ASN1ObjectIdentifier getAttrType() - { - return new ASN1ObjectIdentifier(attrType.getId()); - } - - public ASN1Encodable[] getAttributeValues() - { - return attrValues.toArray(); - } - - public ASN1Set getAttrValues() - { - return attrValues; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Attribute ::= SEQUENCE {
    -     *     attrType OBJECT IDENTIFIER,
    -     *     attrValues SET OF AttributeValue
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(attrType); - v.add(attrValues); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificate.java deleted file mode 100644 index 7af85919b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificate.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -public class AttributeCertificate - extends ASN1Object -{ - AttributeCertificateInfo acinfo; - AlgorithmIdentifier signatureAlgorithm; - DERBitString signatureValue; - - /** - * @param obj - * @return an AttributeCertificate object - */ - public static AttributeCertificate getInstance(Object obj) - { - if (obj instanceof AttributeCertificate) - { - return (AttributeCertificate)obj; - } - else if (obj != null) - { - return new AttributeCertificate(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public AttributeCertificate( - AttributeCertificateInfo acinfo, - AlgorithmIdentifier signatureAlgorithm, - DERBitString signatureValue) - { - this.acinfo = acinfo; - this.signatureAlgorithm = signatureAlgorithm; - this.signatureValue = signatureValue; - } - - /** - * @deprecated use getInstance() method. - */ - public AttributeCertificate( - ASN1Sequence seq) - { - if (seq.size() != 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - this.acinfo = AttributeCertificateInfo.getInstance(seq.getObjectAt(0)); - this.signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - this.signatureValue = DERBitString.getInstance(seq.getObjectAt(2)); - } - - public AttributeCertificateInfo getAcinfo() - { - return acinfo; - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return signatureAlgorithm; - } - - public DERBitString getSignatureValue() - { - return signatureValue; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  AttributeCertificate ::= SEQUENCE {
    -     *       acinfo               AttributeCertificateInfo,
    -     *       signatureAlgorithm   AlgorithmIdentifier,
    -     *       signatureValue       BIT STRING
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(acinfo); - v.add(signatureAlgorithm); - v.add(signatureValue); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificateInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificateInfo.java deleted file mode 100644 index 33e3e86ff..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AttributeCertificateInfo.java +++ /dev/null @@ -1,180 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -public class AttributeCertificateInfo - extends ASN1Object -{ - private ASN1Integer version; - private Holder holder; - private AttCertIssuer issuer; - private AlgorithmIdentifier signature; - private ASN1Integer serialNumber; - private AttCertValidityPeriod attrCertValidityPeriod; - private ASN1Sequence attributes; - private DERBitString issuerUniqueID; - private Extensions extensions; - - public static AttributeCertificateInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static AttributeCertificateInfo getInstance( - Object obj) - { - if (obj instanceof AttributeCertificateInfo) - { - return (AttributeCertificateInfo)obj; - } - else if (obj != null) - { - return new AttributeCertificateInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private AttributeCertificateInfo( - ASN1Sequence seq) - { - if (seq.size() < 6 || seq.size() > 9) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - int start; - if (seq.getObjectAt(0) instanceof ASN1Integer) // in version 1 certs version is DEFAULT v1(0) - { - this.version = ASN1Integer.getInstance(seq.getObjectAt(0)); - start = 1; - } - else - { - this.version = new ASN1Integer(0); - start = 0; - } - - this.holder = Holder.getInstance(seq.getObjectAt(start)); - this.issuer = AttCertIssuer.getInstance(seq.getObjectAt(start + 1)); - this.signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(start + 2)); - this.serialNumber = ASN1Integer.getInstance(seq.getObjectAt(start + 3)); - this.attrCertValidityPeriod = AttCertValidityPeriod.getInstance(seq.getObjectAt(start + 4)); - this.attributes = ASN1Sequence.getInstance(seq.getObjectAt(start + 5)); - - for (int i = start + 6; i < seq.size(); i++) - { - ASN1Encodable obj = seq.getObjectAt(i); - - if (obj instanceof DERBitString) - { - this.issuerUniqueID = DERBitString.getInstance(seq.getObjectAt(i)); - } - else if (obj instanceof ASN1Sequence || obj instanceof Extensions) - { - this.extensions = Extensions.getInstance(seq.getObjectAt(i)); - } - } - } - - public ASN1Integer getVersion() - { - return version; - } - - public Holder getHolder() - { - return holder; - } - - public AttCertIssuer getIssuer() - { - return issuer; - } - - public AlgorithmIdentifier getSignature() - { - return signature; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public AttCertValidityPeriod getAttrCertValidityPeriod() - { - return attrCertValidityPeriod; - } - - public ASN1Sequence getAttributes() - { - return attributes; - } - - public DERBitString getIssuerUniqueID() - { - return issuerUniqueID; - } - - public Extensions getExtensions() - { - return extensions; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  AttributeCertificateInfo ::= SEQUENCE {
    -     *       version              AttCertVersion -- version is v2,
    -     *       holder               Holder,
    -     *       issuer               AttCertIssuer,
    -     *       signature            AlgorithmIdentifier,
    -     *       serialNumber         CertificateSerialNumber,
    -     *       attrCertValidityPeriod   AttCertValidityPeriod,
    -     *       attributes           SEQUENCE OF Attribute,
    -     *       issuerUniqueID       UniqueIdentifier OPTIONAL,
    -     *       extensions           Extensions OPTIONAL
    -     *  }
    -     *
    -     *  AttCertVersion ::= INTEGER { v2(1) }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version.getValue().intValue() != 0) - { - v.add(version); - } - v.add(holder); - v.add(issuer); - v.add(signature); - v.add(serialNumber); - v.add(attrCertValidityPeriod); - v.add(attributes); - - if (issuerUniqueID != null) - { - v.add(issuerUniqueID); - } - - if (extensions != null) - { - v.add(extensions); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityInformationAccess.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityInformationAccess.java deleted file mode 100644 index a6c8ae7ab..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityInformationAccess.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * The AuthorityInformationAccess object. - *
    - * id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
    - *
    - * AuthorityInfoAccessSyntax  ::=
    - *      SEQUENCE SIZE (1..MAX) OF AccessDescription
    - * AccessDescription  ::=  SEQUENCE {
    - *       accessMethod          OBJECT IDENTIFIER,
    - *       accessLocation        GeneralName  }
    - *
    - * id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
    - * id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
    - * id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
    - * 
    - */ -public class AuthorityInformationAccess - extends ASN1Object -{ - private AccessDescription[] descriptions; - - public static AuthorityInformationAccess getInstance( - Object obj) - { - if (obj instanceof AuthorityInformationAccess) - { - return (AuthorityInformationAccess)obj; - } - - if (obj != null) - { - return new AuthorityInformationAccess(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private AuthorityInformationAccess( - ASN1Sequence seq) - { - if (seq.size() < 1) - { - throw new IllegalArgumentException("sequence may not be empty"); - } - - descriptions = new AccessDescription[seq.size()]; - - for (int i = 0; i != seq.size(); i++) - { - descriptions[i] = AccessDescription.getInstance(seq.getObjectAt(i)); - } - } - - /** - * create an AuthorityInformationAccess with the oid and location provided. - */ - public AuthorityInformationAccess( - ASN1ObjectIdentifier oid, - GeneralName location) - { - descriptions = new AccessDescription[1]; - - descriptions[0] = new AccessDescription(oid, location); - } - - - /** - * - * @return the access descriptions contained in this object. - */ - public AccessDescription[] getAccessDescriptions() - { - return descriptions; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - - for (int i = 0; i != descriptions.length; i++) - { - vec.add(descriptions[i]); - } - - return new DERSequence(vec); - } - - public String toString() - { - return ("AuthorityInformationAccess: Oid(" + this.descriptions[0].getAccessMethod().getId() + ")"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityKeyIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityKeyIdentifier.java deleted file mode 100644 index 10401fcb8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/AuthorityKeyIdentifier.java +++ /dev/null @@ -1,232 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; - -/** - * The AuthorityKeyIdentifier object. - *
    - * id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
    - *
    - *   AuthorityKeyIdentifier ::= SEQUENCE {
    - *      keyIdentifier             [0] IMPLICIT KeyIdentifier           OPTIONAL,
    - *      authorityCertIssuer       [1] IMPLICIT GeneralNames            OPTIONAL,
    - *      authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber OPTIONAL  }
    - *
    - *   KeyIdentifier ::= OCTET STRING
    - * 
    - * - */ -public class AuthorityKeyIdentifier - extends ASN1Object -{ - ASN1OctetString keyidentifier=null; - GeneralNames certissuer=null; - ASN1Integer certserno=null; - - public static AuthorityKeyIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static AuthorityKeyIdentifier getInstance( - Object obj) - { - if (obj instanceof AuthorityKeyIdentifier) - { - return (AuthorityKeyIdentifier)obj; - } - if (obj != null) - { - return new AuthorityKeyIdentifier(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static AuthorityKeyIdentifier fromExtensions(Extensions extensions) - { - return AuthorityKeyIdentifier.getInstance(extensions.getExtensionParsedValue(Extension.authorityKeyIdentifier)); - } - - protected AuthorityKeyIdentifier( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1TaggedObject o = DERTaggedObject.getInstance(e.nextElement()); - - switch (o.getTagNo()) - { - case 0: - this.keyidentifier = ASN1OctetString.getInstance(o, false); - break; - case 1: - this.certissuer = GeneralNames.getInstance(o, false); - break; - case 2: - this.certserno = ASN1Integer.getInstance(o, false); - break; - default: - throw new IllegalArgumentException("illegal tag"); - } - } - } - - /** - * - * Calulates the keyidentifier using a SHA1 hash over the BIT STRING - * from SubjectPublicKeyInfo as defined in RFC2459. - * - * Example of making a AuthorityKeyIdentifier: - *
    -     *   SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence)new ASN1InputStream(
    -     *       publicKey.getEncoded()).readObject());
    -     *   AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(apki);
    -     * 
    - * - **/ - public AuthorityKeyIdentifier( - SubjectPublicKeyInfo spki) - { - Digest digest = new SHA1Digest(); - byte[] resBuf = new byte[digest.getDigestSize()]; - - byte[] bytes = spki.getPublicKeyData().getBytes(); - digest.update(bytes, 0, bytes.length); - digest.doFinal(resBuf, 0); - this.keyidentifier = new DEROctetString(resBuf); - } - - /** - * create an AuthorityKeyIdentifier with the GeneralNames tag and - * the serial number provided as well. - */ - public AuthorityKeyIdentifier( - SubjectPublicKeyInfo spki, - GeneralNames name, - BigInteger serialNumber) - { - Digest digest = new SHA1Digest(); - byte[] resBuf = new byte[digest.getDigestSize()]; - - byte[] bytes = spki.getPublicKeyData().getBytes(); - digest.update(bytes, 0, bytes.length); - digest.doFinal(resBuf, 0); - - this.keyidentifier = new DEROctetString(resBuf); - this.certissuer = GeneralNames.getInstance(name.toASN1Primitive()); - this.certserno = new ASN1Integer(serialNumber); - } - - /** - * create an AuthorityKeyIdentifier with the GeneralNames tag and - * the serial number provided. - */ - public AuthorityKeyIdentifier( - GeneralNames name, - BigInteger serialNumber) - { - this.keyidentifier = null; - this.certissuer = GeneralNames.getInstance(name.toASN1Primitive()); - this.certserno = new ASN1Integer(serialNumber); - } - - /** - * create an AuthorityKeyIdentifier with a precomputed key identifier - */ - public AuthorityKeyIdentifier( - byte[] keyIdentifier) - { - this.keyidentifier = new DEROctetString(keyIdentifier); - this.certissuer = null; - this.certserno = null; - } - - /** - * create an AuthorityKeyIdentifier with a precomputed key identifier - * and the GeneralNames tag and the serial number provided as well. - */ - public AuthorityKeyIdentifier( - byte[] keyIdentifier, - GeneralNames name, - BigInteger serialNumber) - { - this.keyidentifier = new DEROctetString(keyIdentifier); - this.certissuer = GeneralNames.getInstance(name.toASN1Primitive()); - this.certserno = new ASN1Integer(serialNumber); - } - - public byte[] getKeyIdentifier() - { - if (keyidentifier != null) - { - return keyidentifier.getOctets(); - } - - return null; - } - - public GeneralNames getAuthorityCertIssuer() - { - return certissuer; - } - - public BigInteger getAuthorityCertSerialNumber() - { - if (certserno != null) - { - return certserno.getValue(); - } - - return null; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (keyidentifier != null) - { - v.add(new DERTaggedObject(false, 0, keyidentifier)); - } - - if (certissuer != null) - { - v.add(new DERTaggedObject(false, 1, certissuer)); - } - - if (certserno != null) - { - v.add(new DERTaggedObject(false, 2, certserno)); - } - - - return new DERSequence(v); - } - - public String toString() - { - return ("AuthorityKeyIdentifier: KeyID(" + this.keyidentifier.getOctets() + ")"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/BasicConstraints.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/BasicConstraints.java deleted file mode 100644 index f7ad39be4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/BasicConstraints.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBoolean; -import org.spongycastle.asn1.DERSequence; - -public class BasicConstraints - extends ASN1Object -{ - ASN1Boolean cA = ASN1Boolean.getInstance(false); - ASN1Integer pathLenConstraint = null; - - public static BasicConstraints getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static BasicConstraints getInstance( - Object obj) - { - if (obj instanceof BasicConstraints) - { - return (BasicConstraints)obj; - } - if (obj instanceof X509Extension) - { - return getInstance(X509Extension.convertValueToObject((X509Extension)obj)); - } - if (obj != null) - { - return new BasicConstraints(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static BasicConstraints fromExtensions(Extensions extensions) - { - return BasicConstraints.getInstance(extensions.getExtensionParsedValue(Extension.basicConstraints)); - } - - private BasicConstraints( - ASN1Sequence seq) - { - if (seq.size() == 0) - { - this.cA = null; - this.pathLenConstraint = null; - } - else - { - if (seq.getObjectAt(0) instanceof DERBoolean) - { - this.cA = DERBoolean.getInstance(seq.getObjectAt(0)); - } - else - { - this.cA = null; - this.pathLenConstraint = ASN1Integer.getInstance(seq.getObjectAt(0)); - } - if (seq.size() > 1) - { - if (this.cA != null) - { - this.pathLenConstraint = ASN1Integer.getInstance(seq.getObjectAt(1)); - } - else - { - throw new IllegalArgumentException("wrong sequence in constructor"); - } - } - } - } - - public BasicConstraints( - boolean cA) - { - if (cA) - { - this.cA = ASN1Boolean.getInstance(true); - } - else - { - this.cA = null; - } - this.pathLenConstraint = null; - } - - /** - * create a cA=true object for the given path length constraint. - * - * @param pathLenConstraint - */ - public BasicConstraints( - int pathLenConstraint) - { - this.cA = ASN1Boolean.getInstance(true); - this.pathLenConstraint = new ASN1Integer(pathLenConstraint); - } - - public boolean isCA() - { - return (cA != null) && cA.isTrue(); - } - - public BigInteger getPathLenConstraint() - { - if (pathLenConstraint != null) - { - return pathLenConstraint.getValue(); - } - - return null; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * BasicConstraints := SEQUENCE {
    -     *    cA                  BOOLEAN DEFAULT FALSE,
    -     *    pathLenConstraint   INTEGER (0..MAX) OPTIONAL
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (cA != null) - { - v.add(cA); - } - - if (pathLenConstraint != null) // yes some people actually do this when cA is false... - { - v.add(pathLenConstraint); - } - - return new DERSequence(v); - } - - public String toString() - { - if (pathLenConstraint == null) - { - if (cA == null) - { - return "BasicConstraints: isCa(false)"; - } - return "BasicConstraints: isCa(" + this.isCA() + ")"; - } - return "BasicConstraints: isCa(" + this.isCA() + "), pathLenConstraint = " + pathLenConstraint.getValue(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLDistPoint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLDistPoint.java deleted file mode 100644 index 739e98b5d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLDistPoint.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class CRLDistPoint - extends ASN1Object -{ - ASN1Sequence seq = null; - - public static CRLDistPoint getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static CRLDistPoint getInstance( - Object obj) - { - if (obj instanceof CRLDistPoint) - { - return (CRLDistPoint)obj; - } - else if (obj != null) - { - return new CRLDistPoint(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private CRLDistPoint( - ASN1Sequence seq) - { - this.seq = seq; - } - - public CRLDistPoint( - DistributionPoint[] points) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != points.length; i++) - { - v.add(points[i]); - } - - seq = new DERSequence(v); - } - - /** - * Return the distribution points making up the sequence. - * - * @return DistributionPoint[] - */ - public DistributionPoint[] getDistributionPoints() - { - DistributionPoint[] dp = new DistributionPoint[seq.size()]; - - for (int i = 0; i != seq.size(); i++) - { - dp[i] = DistributionPoint.getInstance(seq.getObjectAt(i)); - } - - return dp; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * CRLDistPoint ::= SEQUENCE SIZE {1..MAX} OF DistributionPoint
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return seq; - } - - public String toString() - { - StringBuffer buf = new StringBuffer(); - String sep = System.getProperty("line.separator"); - - buf.append("CRLDistPoint:"); - buf.append(sep); - DistributionPoint dp[] = getDistributionPoints(); - for (int i = 0; i != dp.length; i++) - { - buf.append(" "); - buf.append(dp[i]); - buf.append(sep); - } - return buf.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLNumber.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLNumber.java deleted file mode 100644 index 7699fde5b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLNumber.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; - -/** - * The CRLNumber object. - *
    - * CRLNumber::= INTEGER(0..MAX)
    - * 
    - */ -public class CRLNumber - extends ASN1Object -{ - private BigInteger number; - - public CRLNumber( - BigInteger number) - { - this.number = number; - } - - public BigInteger getCRLNumber() - { - return number; - } - - public String toString() - { - return "CRLNumber: " + getCRLNumber(); - } - - public ASN1Primitive toASN1Primitive() - { - return new ASN1Integer(number); - } - - public static CRLNumber getInstance(Object o) - { - if (o instanceof CRLNumber) - { - return (CRLNumber)o; - } - else if (o != null) - { - return new CRLNumber(ASN1Integer.getInstance(o).getValue()); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLReason.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLReason.java deleted file mode 100644 index c1071699f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CRLReason.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.util.Integers; - -/** - * The CRLReason enumeration. - *
    - * CRLReason ::= ENUMERATED {
    - *  unspecified             (0),
    - *  keyCompromise           (1),
    - *  cACompromise            (2),
    - *  affiliationChanged      (3),
    - *  superseded              (4),
    - *  cessationOfOperation    (5),
    - *  certificateHold         (6),
    - *  removeFromCRL           (8),
    - *  privilegeWithdrawn      (9),
    - *  aACompromise           (10)
    - * }
    - * 
    - */ -public class CRLReason - extends ASN1Object -{ - /** - * @deprecated use lower case version - */ - public static final int UNSPECIFIED = 0; - /** - * @deprecated use lower case version - */ - public static final int KEY_COMPROMISE = 1; - /** - * @deprecated use lower case version - */ - public static final int CA_COMPROMISE = 2; - /** - * @deprecated use lower case version - */ - public static final int AFFILIATION_CHANGED = 3; - /** - * @deprecated use lower case version - */ - public static final int SUPERSEDED = 4; - /** - * @deprecated use lower case version - */ - public static final int CESSATION_OF_OPERATION = 5; - /** - * @deprecated use lower case version - */ - public static final int CERTIFICATE_HOLD = 6; - /** - * @deprecated use lower case version - */ - public static final int REMOVE_FROM_CRL = 8; - /** - * @deprecated use lower case version - */ - public static final int PRIVILEGE_WITHDRAWN = 9; - /** - * @deprecated use lower case version - */ - public static final int AA_COMPROMISE = 10; - - public static final int unspecified = 0; - public static final int keyCompromise = 1; - public static final int cACompromise = 2; - public static final int affiliationChanged = 3; - public static final int superseded = 4; - public static final int cessationOfOperation = 5; - public static final int certificateHold = 6; - // 7 -> unknown - public static final int removeFromCRL = 8; - public static final int privilegeWithdrawn = 9; - public static final int aACompromise = 10; - - private static final String[] reasonString = - { - "unspecified", "keyCompromise", "cACompromise", "affiliationChanged", - "superseded", "cessationOfOperation", "certificateHold", "unknown", - "removeFromCRL", "privilegeWithdrawn", "aACompromise" - }; - - private static final Hashtable table = new Hashtable(); - - private ASN1Enumerated value; - - public static CRLReason getInstance(Object o) - { - if (o instanceof CRLReason) - { - return (CRLReason)o; - } - else if (o != null) - { - return lookup(ASN1Enumerated.getInstance(o).getValue().intValue()); - } - - return null; - } - - private CRLReason( - int reason) - { - value = new ASN1Enumerated(reason); - } - - public String toString() - { - String str; - int reason = getValue().intValue(); - if (reason < 0 || reason > 10) - { - str = "invalid"; - } - else - { - str = reasonString[reason]; - } - return "CRLReason: " + str; - } - - public BigInteger getValue() - { - return value.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - return value; - } - - public static CRLReason lookup(int value) - { - Integer idx = Integers.valueOf(value); - - if (!table.containsKey(idx)) - { - table.put(idx, new CRLReason(value)); - } - - return (CRLReason)table.get(idx); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertPolicyId.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertPolicyId.java deleted file mode 100644 index 142b83e70..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertPolicyId.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; - - -/** - * CertPolicyId, used in the CertificatePolicies and PolicyMappings - * X509V3 Extensions. - * - *
    - *     CertPolicyId ::= OBJECT IDENTIFIER
    - * 
    - */ -/** - * CertPolicyId, used in the CertificatePolicies and PolicyMappings - * X509V3 Extensions. - * - *
    - *     CertPolicyId ::= OBJECT IDENTIFIER
    - * 
    - */ -public class CertPolicyId - extends ASN1Object -{ - private ASN1ObjectIdentifier id; - - private CertPolicyId(ASN1ObjectIdentifier id) - { - this.id = id; - } - - public static CertPolicyId getInstance(Object o) - { - if (o instanceof CertPolicyId) - { - return (CertPolicyId)o; - } - else if (o != null) - { - return new CertPolicyId(ASN1ObjectIdentifier.getInstance(o)); - } - - return null; - } - - public String getId() - { - return id.getId(); - } - - public ASN1Primitive toASN1Primitive() - { - return id; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Certificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Certificate.java deleted file mode 100644 index 8d1b69f29..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Certificate.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.x500.X500Name; - -/** - * an X509Certificate structure. - *
    - *  Certificate ::= SEQUENCE {
    - *      tbsCertificate          TBSCertificate,
    - *      signatureAlgorithm      AlgorithmIdentifier,
    - *      signature               BIT STRING
    - *  }
    - * 
    - */ -public class Certificate - extends ASN1Object -{ - ASN1Sequence seq; - TBSCertificate tbsCert; - AlgorithmIdentifier sigAlgId; - DERBitString sig; - - public static Certificate getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static Certificate getInstance( - Object obj) - { - if (obj instanceof Certificate) - { - return (Certificate)obj; - } - else if (obj != null) - { - return new Certificate(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private Certificate( - ASN1Sequence seq) - { - this.seq = seq; - - // - // correct x509 certficate - // - if (seq.size() == 3) - { - tbsCert = TBSCertificate.getInstance(seq.getObjectAt(0)); - sigAlgId = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - - sig = DERBitString.getInstance(seq.getObjectAt(2)); - } - else - { - throw new IllegalArgumentException("sequence wrong size for a certificate"); - } - } - - public TBSCertificate getTBSCertificate() - { - return tbsCert; - } - - public ASN1Integer getVersion() - { - return tbsCert.getVersion(); - } - - public int getVersionNumber() - { - return tbsCert.getVersionNumber(); - } - - public ASN1Integer getSerialNumber() - { - return tbsCert.getSerialNumber(); - } - - public X500Name getIssuer() - { - return tbsCert.getIssuer(); - } - - public Time getStartDate() - { - return tbsCert.getStartDate(); - } - - public Time getEndDate() - { - return tbsCert.getEndDate(); - } - - public X500Name getSubject() - { - return tbsCert.getSubject(); - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return tbsCert.getSubjectPublicKeyInfo(); - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return sigAlgId; - } - - public DERBitString getSignature() - { - return sig; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificateList.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificateList.java deleted file mode 100644 index 5d0681983..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificateList.java +++ /dev/null @@ -1,144 +0,0 @@ - -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; - -/** - * PKIX RFC-2459 - * - * The X.509 v2 CRL syntax is as follows. For signature calculation, - * the data that is to be signed is ASN.1 DER encoded. - * - *
    - * CertificateList  ::=  SEQUENCE  {
    - *      tbsCertList          TBSCertList,
    - *      signatureAlgorithm   AlgorithmIdentifier,
    - *      signatureValue       BIT STRING  }
    - * 
    - */ -public class CertificateList - extends ASN1Object -{ - TBSCertList tbsCertList; - AlgorithmIdentifier sigAlgId; - DERBitString sig; - boolean isHashCodeSet = false; - int hashCodeValue; - - public static CertificateList getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static CertificateList getInstance( - Object obj) - { - if (obj instanceof CertificateList) - { - return (CertificateList)obj; - } - else if (obj != null) - { - return new CertificateList(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * @deprecated use getInstance() method. - * @param seq - */ - public CertificateList( - ASN1Sequence seq) - { - if (seq.size() == 3) - { - tbsCertList = TBSCertList.getInstance(seq.getObjectAt(0)); - sigAlgId = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - sig = DERBitString.getInstance(seq.getObjectAt(2)); - } - else - { - throw new IllegalArgumentException("sequence wrong size for CertificateList"); - } - } - - public TBSCertList getTBSCertList() - { - return tbsCertList; - } - - public TBSCertList.CRLEntry[] getRevokedCertificates() - { - return tbsCertList.getRevokedCertificates(); - } - - public Enumeration getRevokedCertificateEnumeration() - { - return tbsCertList.getRevokedCertificateEnumeration(); - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return sigAlgId; - } - - public DERBitString getSignature() - { - return sig; - } - - public int getVersionNumber() - { - return tbsCertList.getVersionNumber(); - } - - public X500Name getIssuer() - { - return tbsCertList.getIssuer(); - } - - public Time getThisUpdate() - { - return tbsCertList.getThisUpdate(); - } - - public Time getNextUpdate() - { - return tbsCertList.getNextUpdate(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(tbsCertList); - v.add(sigAlgId); - v.add(sig); - - return new DERSequence(v); - } - - public int hashCode() - { - if (!isHashCodeSet) - { - hashCodeValue = super.hashCode(); - isHashCodeSet = true; - } - - return hashCodeValue; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePair.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePair.java deleted file mode 100644 index 91465bb5d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePair.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * This class helps to support crossCerfificatePairs in a LDAP directory - * according RFC 2587 - * - *
    - *     crossCertificatePairATTRIBUTE::={
    - *       WITH SYNTAX   CertificatePair
    - *       EQUALITY MATCHING RULE certificatePairExactMatch
    - *       ID joint-iso-ccitt(2) ds(5) attributeType(4) crossCertificatePair(40)}
    - * 
    - * - *
    The forward elements of the crossCertificatePair attribute of a - * CA's directory entry shall be used to store all, except self-issued - * certificates issued to this CA. Optionally, the reverse elements of the - * crossCertificatePair attribute, of a CA's directory entry may contain a - * subset of certificates issued by this CA to other CAs. When both the forward - * and the reverse elements are present in a single attribute value, issuer name - * in one certificate shall match the subject name in the other and vice versa, - * and the subject public key in one certificate shall be capable of verifying - * the digital signature on the other certificate and vice versa. - * - * When a reverse element is present, the forward element value and the reverse - * element value need not be stored in the same attribute value; in other words, - * they can be stored in either a single attribute value or two attribute - * values.
    - * - *
    - *       CertificatePair ::= SEQUENCE {
    - *         forward        [0]    Certificate OPTIONAL,
    - *         reverse        [1]    Certificate OPTIONAL,
    - *         -- at least one of the pair shall be present -- } 
    - * 
    - */ -public class CertificatePair - extends ASN1Object -{ - private Certificate forward; - - private Certificate reverse; - - public static CertificatePair getInstance(Object obj) - { - if (obj == null || obj instanceof CertificatePair) - { - return (CertificatePair)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new CertificatePair((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type CertificatePair: - *

    - *

    -     *       CertificatePair ::= SEQUENCE {
    -     *         forward        [0]    Certificate OPTIONAL,
    -     *         reverse        [1]    Certificate OPTIONAL,
    -     *         -- at least one of the pair shall be present -- }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private CertificatePair(ASN1Sequence seq) - { - if (seq.size() != 1 && seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(e.nextElement()); - if (o.getTagNo() == 0) - { - forward = Certificate.getInstance(o, true); - } - else if (o.getTagNo() == 1) - { - reverse = Certificate.getInstance(o, true); - } - else - { - throw new IllegalArgumentException("Bad tag number: " - + o.getTagNo()); - } - } - } - - /** - * Constructor from a given details. - * - * @param forward Certificates issued to this CA. - * @param reverse Certificates issued by this CA to other CAs. - */ - public CertificatePair(Certificate forward, Certificate reverse) - { - this.forward = forward; - this.reverse = reverse; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *       CertificatePair ::= SEQUENCE {
    -     *         forward        [0]    Certificate OPTIONAL,
    -     *         reverse        [1]    Certificate OPTIONAL,
    -     *         -- at least one of the pair shall be present -- }
    -     * 
    - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - - if (forward != null) - { - vec.add(new DERTaggedObject(0, forward)); - } - if (reverse != null) - { - vec.add(new DERTaggedObject(1, reverse)); - } - - return new DERSequence(vec); - } - - /** - * @return Returns the forward. - */ - public Certificate getForward() - { - return forward; - } - - /** - * @return Returns the reverse. - */ - public Certificate getReverse() - { - return reverse; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePolicies.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePolicies.java deleted file mode 100644 index d8710ae7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/CertificatePolicies.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class CertificatePolicies - extends ASN1Object -{ - private final PolicyInformation[] policyInformation; - - public static CertificatePolicies getInstance( - Object obj) - { - if (obj instanceof CertificatePolicies) - { - return (CertificatePolicies)obj; - } - - if (obj != null) - { - return new CertificatePolicies(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static CertificatePolicies getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Retrieve a CertificatePolicies for a passed in Extensions object, if present. - * - * @param extensions the extensions object to be examined. - * @return the CertificatePolicies, null if the extension is not present. - */ - public static CertificatePolicies fromExtensions(Extensions extensions) - { - return CertificatePolicies.getInstance(extensions.getExtensionParsedValue(Extension.certificatePolicies)); - } - - /** - * Construct a CertificatePolicies object containing one PolicyInformation. - * - * @param name the name to be contained. - */ - public CertificatePolicies( - PolicyInformation name) - { - this.policyInformation = new PolicyInformation[] { name }; - } - - public CertificatePolicies( - PolicyInformation[] policyInformation) - { - this.policyInformation = policyInformation; - } - - private CertificatePolicies( - ASN1Sequence seq) - { - this.policyInformation = new PolicyInformation[seq.size()]; - - for (int i = 0; i != seq.size(); i++) - { - policyInformation[i] = PolicyInformation.getInstance(seq.getObjectAt(i)); - } - } - - public PolicyInformation[] getPolicyInformation() - { - PolicyInformation[] tmp = new PolicyInformation[policyInformation.length]; - - System.arraycopy(policyInformation, 0, tmp, 0, policyInformation.length); - - return tmp; - } - - public PolicyInformation getPolicyInformation(ASN1ObjectIdentifier policyIdentifier) - { - for (int i = 0; i != policyInformation.length; i++) - { - if (policyIdentifier.equals(policyInformation[i].getPolicyIdentifier())) - { - return policyInformation[i]; - } - } - - return null; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * CertificatePolicies ::= SEQUENCE SIZE {1..MAX} OF PolicyInformation
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(policyInformation); - } - - public String toString() - { - String p = null; - for (int i = 0; i < policyInformation.length; i++) - { - if (p != null) - { - p += ", "; - } - p += policyInformation[i]; - } - - return "CertificatePolicies: " + p; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DSAParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DSAParameter.java deleted file mode 100644 index 1b6b24059..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DSAParameter.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class DSAParameter - extends ASN1Object -{ - ASN1Integer p, q, g; - - public static DSAParameter getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static DSAParameter getInstance( - Object obj) - { - if (obj instanceof DSAParameter) - { - return (DSAParameter)obj; - } - - if(obj != null) - { - return new DSAParameter(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public DSAParameter( - BigInteger p, - BigInteger q, - BigInteger g) - { - this.p = new ASN1Integer(p); - this.q = new ASN1Integer(q); - this.g = new ASN1Integer(g); - } - - private DSAParameter( - ASN1Sequence seq) - { - if (seq.size() != 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - Enumeration e = seq.getObjects(); - - p = ASN1Integer.getInstance(e.nextElement()); - q = ASN1Integer.getInstance(e.nextElement()); - g = ASN1Integer.getInstance(e.nextElement()); - } - - public BigInteger getP() - { - return p.getPositiveValue(); - } - - public BigInteger getQ() - { - return q.getPositiveValue(); - } - - public BigInteger getG() - { - return g.getPositiveValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(p); - v.add(q); - v.add(g); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DigestInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DigestInfo.java deleted file mode 100644 index b5f5cf61d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DigestInfo.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -/** - * The DigestInfo object. - *
    - * DigestInfo::=SEQUENCE{
    - *          digestAlgorithm  AlgorithmIdentifier,
    - *          digest OCTET STRING }
    - * 
    - */ -public class DigestInfo - extends ASN1Object -{ - private byte[] digest; - private AlgorithmIdentifier algId; - - public static DigestInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static DigestInfo getInstance( - Object obj) - { - if (obj instanceof DigestInfo) - { - return (DigestInfo)obj; - } - else if (obj != null) - { - return new DigestInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public DigestInfo( - AlgorithmIdentifier algId, - byte[] digest) - { - this.digest = digest; - this.algId = algId; - } - - public DigestInfo( - ASN1Sequence obj) - { - Enumeration e = obj.getObjects(); - - algId = AlgorithmIdentifier.getInstance(e.nextElement()); - digest = ASN1OctetString.getInstance(e.nextElement()).getOctets(); - } - - public AlgorithmIdentifier getAlgorithmId() - { - return algId; - } - - public byte[] getDigest() - { - return digest; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algId); - v.add(new DEROctetString(digest)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DisplayText.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DisplayText.java deleted file mode 100644 index ad273cf84..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DisplayText.java +++ /dev/null @@ -1,165 +0,0 @@ - -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERVisibleString; - -/** - * DisplayText class, used in - * CertificatePolicies X509 V3 extensions (in policy qualifiers). - * - *

    It stores a string in a chosen encoding. - *

    - * DisplayText ::= CHOICE {
    - *      ia5String        IA5String      (SIZE (1..200)),
    - *      visibleString    VisibleString  (SIZE (1..200)),
    - *      bmpString        BMPString      (SIZE (1..200)),
    - *      utf8String       UTF8String     (SIZE (1..200)) }
    - * 
    - * @see PolicyQualifierInfo - * @see PolicyInformation - */ -public class DisplayText - extends ASN1Object - implements ASN1Choice -{ - /** - * Constant corresponding to ia5String encoding. - * - */ - public static final int CONTENT_TYPE_IA5STRING = 0; - /** - * Constant corresponding to bmpString encoding. - * - */ - public static final int CONTENT_TYPE_BMPSTRING = 1; - /** - * Constant corresponding to utf8String encoding. - * - */ - public static final int CONTENT_TYPE_UTF8STRING = 2; - /** - * Constant corresponding to visibleString encoding. - * - */ - public static final int CONTENT_TYPE_VISIBLESTRING = 3; - - /** - * Describe constant DISPLAY_TEXT_MAXIMUM_SIZE here. - * - */ - public static final int DISPLAY_TEXT_MAXIMUM_SIZE = 200; - - int contentType; - ASN1String contents; - - /** - * Creates a new DisplayText instance. - * - * @param type the desired encoding type for the text. - * @param text the text to store. Strings longer than 200 - * characters are truncated. - */ - public DisplayText(int type, String text) - { - if (text.length() > DISPLAY_TEXT_MAXIMUM_SIZE) - { - // RFC3280 limits these strings to 200 chars - // truncate the string - text = text.substring (0, DISPLAY_TEXT_MAXIMUM_SIZE); - } - - contentType = type; - switch (type) - { - case CONTENT_TYPE_IA5STRING: - contents = new DERIA5String(text); - break; - case CONTENT_TYPE_UTF8STRING: - contents = new DERUTF8String(text); - break; - case CONTENT_TYPE_VISIBLESTRING: - contents = new DERVisibleString(text); - break; - case CONTENT_TYPE_BMPSTRING: - contents = new DERBMPString(text); - break; - default: - contents = new DERUTF8String(text); - break; - } - } - - /** - * Creates a new DisplayText instance. - * - * @param text the text to encapsulate. Strings longer than 200 - * characters are truncated. - */ - public DisplayText(String text) - { - // by default use UTF8String - if (text.length() > DISPLAY_TEXT_MAXIMUM_SIZE) - { - text = text.substring(0, DISPLAY_TEXT_MAXIMUM_SIZE); - } - - contentType = CONTENT_TYPE_UTF8STRING; - contents = new DERUTF8String(text); - } - - /** - * Creates a new DisplayText instance. - *

    Useful when reading back a DisplayText class - * from it's ASN1Encodable/DEREncodable form. - * - * @param de a DEREncodable instance. - */ - private DisplayText(ASN1String de) - { - contents = de; - } - - public static DisplayText getInstance(Object obj) - { - if (obj instanceof ASN1String) - { - return new DisplayText((ASN1String)obj); - } - else if (obj == null || obj instanceof DisplayText) - { - return (DisplayText)obj; - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - public static DisplayText getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public ASN1Primitive toASN1Primitive() - { - return (ASN1Primitive)contents; - } - - /** - * Returns the stored String object. - * - * @return the stored text as a String. - */ - public String getString() - { - return contents.getString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPoint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPoint.java deleted file mode 100644 index d854e8541..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPoint.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * The DistributionPoint object. - *

    - * DistributionPoint ::= SEQUENCE {
    - *      distributionPoint [0] DistributionPointName OPTIONAL,
    - *      reasons           [1] ReasonFlags OPTIONAL,
    - *      cRLIssuer         [2] GeneralNames OPTIONAL
    - * }
    - * 
    - */ -public class DistributionPoint - extends ASN1Object -{ - DistributionPointName distributionPoint; - ReasonFlags reasons; - GeneralNames cRLIssuer; - - public static DistributionPoint getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static DistributionPoint getInstance( - Object obj) - { - if(obj == null || obj instanceof DistributionPoint) - { - return (DistributionPoint)obj; - } - - if(obj instanceof ASN1Sequence) - { - return new DistributionPoint((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid DistributionPoint: " + obj.getClass().getName()); - } - - public DistributionPoint( - ASN1Sequence seq) - { - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject t = ASN1TaggedObject.getInstance(seq.getObjectAt(i)); - switch (t.getTagNo()) - { - case 0: - distributionPoint = DistributionPointName.getInstance(t, true); - break; - case 1: - reasons = new ReasonFlags(DERBitString.getInstance(t, false)); - break; - case 2: - cRLIssuer = GeneralNames.getInstance(t, false); - } - } - } - - public DistributionPoint( - DistributionPointName distributionPoint, - ReasonFlags reasons, - GeneralNames cRLIssuer) - { - this.distributionPoint = distributionPoint; - this.reasons = reasons; - this.cRLIssuer = cRLIssuer; - } - - public DistributionPointName getDistributionPoint() - { - return distributionPoint; - } - - public ReasonFlags getReasons() - { - return reasons; - } - - public GeneralNames getCRLIssuer() - { - return cRLIssuer; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (distributionPoint != null) - { - // - // as this is a CHOICE it must be explicitly tagged - // - v.add(new DERTaggedObject(0, distributionPoint)); - } - - if (reasons != null) - { - v.add(new DERTaggedObject(false, 1, reasons)); - } - - if (cRLIssuer != null) - { - v.add(new DERTaggedObject(false, 2, cRLIssuer)); - } - - return new DERSequence(v); - } - - public String toString() - { - String sep = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); - buf.append("DistributionPoint: ["); - buf.append(sep); - if (distributionPoint != null) - { - appendObject(buf, sep, "distributionPoint", distributionPoint.toString()); - } - if (reasons != null) - { - appendObject(buf, sep, "reasons", reasons.toString()); - } - if (cRLIssuer != null) - { - appendObject(buf, sep, "cRLIssuer", cRLIssuer.toString()); - } - buf.append("]"); - buf.append(sep); - return buf.toString(); - } - - private void appendObject(StringBuffer buf, String sep, String name, String value) - { - String indent = " "; - - buf.append(indent); - buf.append(name); - buf.append(":"); - buf.append(sep); - buf.append(indent); - buf.append(indent); - buf.append(value); - buf.append(sep); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPointName.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPointName.java deleted file mode 100644 index f0033fb87..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/DistributionPointName.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * The DistributionPointName object. - *
    - * DistributionPointName ::= CHOICE {
    - *     fullName                 [0] GeneralNames,
    - *     nameRelativeToCRLIssuer  [1] RDN
    - * }
    - * 
    - */ -public class DistributionPointName - extends ASN1Object - implements ASN1Choice -{ - ASN1Encodable name; - int type; - - public static final int FULL_NAME = 0; - public static final int NAME_RELATIVE_TO_CRL_ISSUER = 1; - - public static DistributionPointName getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1TaggedObject.getInstance(obj, true)); - } - - public static DistributionPointName getInstance( - Object obj) - { - if (obj == null || obj instanceof DistributionPointName) - { - return (DistributionPointName)obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new DistributionPointName((ASN1TaggedObject)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public DistributionPointName( - int type, - ASN1Encodable name) - { - this.type = type; - this.name = name; - } - - public DistributionPointName( - GeneralNames name) - { - this(FULL_NAME, name); - } - - /** - * Return the tag number applying to the underlying choice. - * - * @return the tag number for this point name. - */ - public int getType() - { - return this.type; - } - - /** - * Return the tagged object inside the distribution point name. - * - * @return the underlying choice item. - */ - public ASN1Encodable getName() - { - return (ASN1Encodable)name; - } - - public DistributionPointName( - ASN1TaggedObject obj) - { - this.type = obj.getTagNo(); - - if (type == 0) - { - this.name = GeneralNames.getInstance(obj, false); - } - else - { - this.name = ASN1Set.getInstance(obj, false); - } - } - - public ASN1Primitive toASN1Primitive() - { - return new DERTaggedObject(false, type, name); - } - - public String toString() - { - String sep = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); - buf.append("DistributionPointName: ["); - buf.append(sep); - if (type == FULL_NAME) - { - appendObject(buf, sep, "fullName", name.toString()); - } - else - { - appendObject(buf, sep, "nameRelativeToCRLIssuer", name.toString()); - } - buf.append("]"); - buf.append(sep); - return buf.toString(); - } - - private void appendObject(StringBuffer buf, String sep, String name, String value) - { - String indent = " "; - - buf.append(indent); - buf.append(name); - buf.append(":"); - buf.append(sep); - buf.append(indent); - buf.append(indent); - buf.append(value); - buf.append(sep); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtendedKeyUsage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtendedKeyUsage.java deleted file mode 100644 index c430210f9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtendedKeyUsage.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * The extendedKeyUsage object. - *
    - *      extendedKeyUsage ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
    - * 
    - */ -public class ExtendedKeyUsage - extends ASN1Object -{ - Hashtable usageTable = new Hashtable(); - ASN1Sequence seq; - - /** - * Return an ExtendedKeyUsage from the passed in tagged object. - * - * @param obj the tagged object containing the ExtendedKeyUsage - * @param explicit true if the tagged object should be interpreted as explicitly tagged, false if implicit. - * @return the ExtendedKeyUsage contained. - */ - public static ExtendedKeyUsage getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Return an ExtendedKeyUsage from the passed in object. - * - * @param obj an ExtendedKeyUsage, some form or encoding of one, or null. - * @return an ExtendedKeyUsage object, or null if null is passed in. - */ - public static ExtendedKeyUsage getInstance( - Object obj) - { - if (obj instanceof ExtendedKeyUsage) - { - return (ExtendedKeyUsage)obj; - } - else if (obj != null) - { - return new ExtendedKeyUsage(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Retrieve an ExtendedKeyUsage for a passed in Extensions object, if present. - * - * @param extensions the extensions object to be examined. - * @return the ExtendedKeyUsage, null if the extension is not present. - */ - public static ExtendedKeyUsage fromExtensions(Extensions extensions) - { - return ExtendedKeyUsage.getInstance(extensions.getExtensionParsedValue(Extension.extendedKeyUsage)); - } - - /** - * Base constructor, from a single KeyPurposeId. - * - * @param usage the keyPurposeId to be included. - */ - public ExtendedKeyUsage( - KeyPurposeId usage) - { - this.seq = new DERSequence(usage); - - this.usageTable.put(usage, usage); - } - - private ExtendedKeyUsage( - ASN1Sequence seq) - { - this.seq = seq; - - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Encodable o = (ASN1Encodable)e.nextElement(); - if (!(o.toASN1Primitive() instanceof ASN1ObjectIdentifier)) - { - throw new IllegalArgumentException("Only ASN1ObjectIdentifiers allowed in ExtendedKeyUsage."); - } - this.usageTable.put(o, o); - } - } - - /** - * Base constructor, from multiple KeyPurposeIds. - * - * @param usages an array of KeyPurposeIds. - */ - public ExtendedKeyUsage( - KeyPurposeId[] usages) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - for (int i = 0; i != usages.length; i++) - { - v.add(usages[i]); - this.usageTable.put(usages[i], usages[i]); - } - - this.seq = new DERSequence(v); - } - - /** - * @deprecated use KeyPurposeId[] constructor. - */ - public ExtendedKeyUsage( - Vector usages) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - Enumeration e = usages.elements(); - - while (e.hasMoreElements()) - { - KeyPurposeId o = KeyPurposeId.getInstance(e.nextElement()); - - v.add(o); - this.usageTable.put(o, o); - } - - this.seq = new DERSequence(v); - } - - /** - * Return true if this ExtendedKeyUsage object contains the passed in keyPurposeId. - * - * @param keyPurposeId the KeyPurposeId of interest. - * @return true if the keyPurposeId is present, false otherwise. - */ - public boolean hasKeyPurposeId( - KeyPurposeId keyPurposeId) - { - return (usageTable.get(keyPurposeId) != null); - } - - /** - * Returns all extended key usages. - * - * @return An array with all key purposes. - */ - public KeyPurposeId[] getUsages() - { - KeyPurposeId[] temp = new KeyPurposeId[seq.size()]; - - int i = 0; - for (Enumeration it = seq.getObjects(); it.hasMoreElements();) - { - temp[i++] = KeyPurposeId.getInstance(it.nextElement()); - } - return temp; - } - - /** - * Return the number of KeyPurposeIds present in this ExtendedKeyUsage. - * - * @return the number of KeyPurposeIds - */ - public int size() - { - return usageTable.size(); - } - - /** - * Return the ASN.1 primitive form of this object. - * - * @return an ASN1Sequence. - */ - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extension.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extension.java deleted file mode 100644 index b34f191e6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extension.java +++ /dev/null @@ -1,321 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -/** - * an object for the elements in the X.509 V3 extension block. - */ -public class Extension - extends ASN1Object -{ - /** - * Subject Directory Attributes - */ - public static final ASN1ObjectIdentifier subjectDirectoryAttributes = new ASN1ObjectIdentifier("2.5.29.9"); - - /** - * Subject Key Identifier - */ - public static final ASN1ObjectIdentifier subjectKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.14"); - - /** - * Key Usage - */ - public static final ASN1ObjectIdentifier keyUsage = new ASN1ObjectIdentifier("2.5.29.15"); - - /** - * Private Key Usage Period - */ - public static final ASN1ObjectIdentifier privateKeyUsagePeriod = new ASN1ObjectIdentifier("2.5.29.16"); - - /** - * Subject Alternative Name - */ - public static final ASN1ObjectIdentifier subjectAlternativeName = new ASN1ObjectIdentifier("2.5.29.17"); - - /** - * Issuer Alternative Name - */ - public static final ASN1ObjectIdentifier issuerAlternativeName = new ASN1ObjectIdentifier("2.5.29.18"); - - /** - * Basic Constraints - */ - public static final ASN1ObjectIdentifier basicConstraints = new ASN1ObjectIdentifier("2.5.29.19"); - - /** - * CRL Number - */ - public static final ASN1ObjectIdentifier cRLNumber = new ASN1ObjectIdentifier("2.5.29.20"); - - /** - * Reason code - */ - public static final ASN1ObjectIdentifier reasonCode = new ASN1ObjectIdentifier("2.5.29.21"); - - /** - * Hold Instruction Code - */ - public static final ASN1ObjectIdentifier instructionCode = new ASN1ObjectIdentifier("2.5.29.23"); - - /** - * Invalidity Date - */ - public static final ASN1ObjectIdentifier invalidityDate = new ASN1ObjectIdentifier("2.5.29.24"); - - /** - * Delta CRL indicator - */ - public static final ASN1ObjectIdentifier deltaCRLIndicator = new ASN1ObjectIdentifier("2.5.29.27"); - - /** - * Issuing Distribution Point - */ - public static final ASN1ObjectIdentifier issuingDistributionPoint = new ASN1ObjectIdentifier("2.5.29.28"); - - /** - * Certificate Issuer - */ - public static final ASN1ObjectIdentifier certificateIssuer = new ASN1ObjectIdentifier("2.5.29.29"); - - /** - * Name Constraints - */ - public static final ASN1ObjectIdentifier nameConstraints = new ASN1ObjectIdentifier("2.5.29.30"); - - /** - * CRL Distribution Points - */ - public static final ASN1ObjectIdentifier cRLDistributionPoints = new ASN1ObjectIdentifier("2.5.29.31"); - - /** - * Certificate Policies - */ - public static final ASN1ObjectIdentifier certificatePolicies = new ASN1ObjectIdentifier("2.5.29.32"); - - /** - * Policy Mappings - */ - public static final ASN1ObjectIdentifier policyMappings = new ASN1ObjectIdentifier("2.5.29.33"); - - /** - * Authority Key Identifier - */ - public static final ASN1ObjectIdentifier authorityKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.35"); - - /** - * Policy Constraints - */ - public static final ASN1ObjectIdentifier policyConstraints = new ASN1ObjectIdentifier("2.5.29.36"); - - /** - * Extended Key Usage - */ - public static final ASN1ObjectIdentifier extendedKeyUsage = new ASN1ObjectIdentifier("2.5.29.37"); - - /** - * Freshest CRL - */ - public static final ASN1ObjectIdentifier freshestCRL = new ASN1ObjectIdentifier("2.5.29.46"); - - /** - * Inhibit Any Policy - */ - public static final ASN1ObjectIdentifier inhibitAnyPolicy = new ASN1ObjectIdentifier("2.5.29.54"); - - /** - * Authority Info Access - */ - public static final ASN1ObjectIdentifier authorityInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.1"); - - /** - * Subject Info Access - */ - public static final ASN1ObjectIdentifier subjectInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.11"); - - /** - * Logo Type - */ - public static final ASN1ObjectIdentifier logoType = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.12"); - - /** - * BiometricInfo - */ - public static final ASN1ObjectIdentifier biometricInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.2"); - - /** - * QCStatements - */ - public static final ASN1ObjectIdentifier qCStatements = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.3"); - - /** - * Audit identity extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier auditIdentity = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.4"); - - /** - * NoRevAvail extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier noRevAvail = new ASN1ObjectIdentifier("2.5.29.56"); - - /** - * TargetInformation extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier targetInformation = new ASN1ObjectIdentifier("2.5.29.55"); - - private ASN1ObjectIdentifier extnId; - private boolean critical; - private ASN1OctetString value; - - public Extension( - ASN1ObjectIdentifier extnId, - ASN1Boolean critical, - ASN1OctetString value) - { - this(extnId, critical.isTrue(), value); - } - - public Extension( - ASN1ObjectIdentifier extnId, - boolean critical, - byte[] value) - { - this(extnId, critical, new DEROctetString(value)); - } - - public Extension( - ASN1ObjectIdentifier extnId, - boolean critical, - ASN1OctetString value) - { - this.extnId = extnId; - this.critical = critical; - this.value = value; - } - - private Extension(ASN1Sequence seq) - { - if (seq.size() == 2) - { - this.extnId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - this.critical = false; - this.value = ASN1OctetString.getInstance(seq.getObjectAt(1)); - } - else if (seq.size() == 3) - { - this.extnId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - this.critical = ASN1Boolean.getInstance(seq.getObjectAt(1)).isTrue(); - this.value = ASN1OctetString.getInstance(seq.getObjectAt(2)); - } - else - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - } - - public static Extension getInstance(Object obj) - { - if (obj instanceof Extension) - { - return (Extension)obj; - } - else if (obj != null) - { - return new Extension(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getExtnId() - { - return extnId; - } - - public boolean isCritical() - { - return critical; - } - - public ASN1OctetString getExtnValue() - { - return value; - } - - public ASN1Encodable getParsedValue() - { - return convertValueToObject(this); - } - - public int hashCode() - { - if (this.isCritical()) - { - return this.getExtnValue().hashCode() ^ this.getExtnId().hashCode(); - } - - return ~(this.getExtnValue().hashCode() ^ this.getExtnId().hashCode()); - } - - public boolean equals( - Object o) - { - if (!(o instanceof Extension)) - { - return false; - } - - Extension other = (Extension)o; - - return other.getExtnId().equals(this.getExtnId()) - && other.getExtnValue().equals(this.getExtnValue()) - && (other.isCritical() == this.isCritical()); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(extnId); - - if (critical) - { - v.add(ASN1Boolean.getInstance(true)); - } - - v.add(value); - - return new DERSequence(v); - } - - /** - * Convert the value of the passed in extension to an object - * @param ext the extension to parse - * @return the object the value string contains - * @exception IllegalArgumentException if conversion is not possible - */ - private static ASN1Primitive convertValueToObject( - Extension ext) - throws IllegalArgumentException - { - try - { - return ASN1Primitive.fromByteArray(ext.getExtnValue().getOctets()); - } - catch (IOException e) - { - throw new IllegalArgumentException("can't convert extension: " + e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extensions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extensions.java deleted file mode 100644 index 9678240a4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Extensions.java +++ /dev/null @@ -1,221 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class Extensions - extends ASN1Object -{ - private Hashtable extensions = new Hashtable(); - private Vector ordering = new Vector(); - - public static Extensions getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static Extensions getInstance( - Object obj) - { - if (obj instanceof Extensions) - { - return (Extensions)obj; - } - else if (obj != null) - { - return new Extensions(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from ASN1Sequence. - *

    - * the extensions are a list of constructed sequences, either with (OID, OctetString) or (OID, Boolean, OctetString) - */ - private Extensions( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - Extension ext = Extension.getInstance(e.nextElement()); - - extensions.put(ext.getExtnId(), ext); - ordering.addElement(ext.getExtnId()); - } - } - - /** - * Base Constructor - * - * @param extension a single extension. - */ - public Extensions( - Extension extension) - { - this.ordering.addElement(extension.getExtnId()); - this.extensions.put(extension.getExtnId(), extension); - } - - /** - * Base Constructor - * - * @param extensions an array of extensions. - */ - public Extensions( - Extension[] extensions) - { - for (int i = 0; i != extensions.length; i++) - { - Extension ext = extensions[i]; - - this.ordering.addElement(ext.getExtnId()); - this.extensions.put(ext.getExtnId(), ext); - } - } - - /** - * return an Enumeration of the extension field's object ids. - */ - public Enumeration oids() - { - return ordering.elements(); - } - - /** - * return the extension represented by the object identifier - * passed in. - * - * @return the extension if it's present, null otherwise. - */ - public Extension getExtension( - ASN1ObjectIdentifier oid) - { - return (Extension)extensions.get(oid); - } - - /** - * return the parsed value of the extension represented by the object identifier - * passed in. - * - * @return the parsed value of the extension if it's present, null otherwise. - */ - public ASN1Encodable getExtensionParsedValue(ASN1ObjectIdentifier oid) - { - Extension ext = this.getExtension(oid); - - if (ext != null) - { - return ext.getParsedValue(); - } - - return null; - } - - /** - *

    -     *     Extensions        ::=   SEQUENCE SIZE (1..MAX) OF Extension
    -     *
    -     *     Extension         ::=   SEQUENCE {
    -     *        extnId            EXTENSION.&id ({ExtensionSet}),
    -     *        critical          BOOLEAN DEFAULT FALSE,
    -     *        extnValue         OCTET STRING }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - Enumeration e = ordering.elements(); - - while (e.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)e.nextElement(); - Extension ext = (Extension)extensions.get(oid); - - vec.add(ext); - } - - return new DERSequence(vec); - } - - public boolean equivalent( - Extensions other) - { - if (extensions.size() != other.extensions.size()) - { - return false; - } - - Enumeration e1 = extensions.keys(); - - while (e1.hasMoreElements()) - { - Object key = e1.nextElement(); - - if (!extensions.get(key).equals(other.extensions.get(key))) - { - return false; - } - } - - return true; - } - - public ASN1ObjectIdentifier[] getExtensionOIDs() - { - return toOidArray(ordering); - } - - public ASN1ObjectIdentifier[] getNonCriticalExtensionOIDs() - { - return getExtensionOIDs(false); - } - - public ASN1ObjectIdentifier[] getCriticalExtensionOIDs() - { - return getExtensionOIDs(true); - } - - private ASN1ObjectIdentifier[] getExtensionOIDs(boolean isCritical) - { - Vector oidVec = new Vector(); - - for (int i = 0; i != ordering.size(); i++) - { - Object oid = ordering.elementAt(i); - - if (((Extension)extensions.get(oid)).isCritical() == isCritical) - { - oidVec.addElement(oid); - } - } - - return toOidArray(oidVec); - } - - private ASN1ObjectIdentifier[] toOidArray(Vector oidVec) - { - ASN1ObjectIdentifier[] oids = new ASN1ObjectIdentifier[oidVec.size()]; - - for (int i = 0; i != oids.length; i++) - { - oids[i] = (ASN1ObjectIdentifier)oidVec.elementAt(i); - } - return oids; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtensionsGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtensionsGenerator.java deleted file mode 100644 index 1f2f571db..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ExtensionsGenerator.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DEROctetString; - -/** - * Generator for X.509 extensions - */ -public class ExtensionsGenerator -{ - private Hashtable extensions = new Hashtable(); - private Vector extOrdering = new Vector(); - - /** - * Reset the generator - */ - public void reset() - { - extensions = new Hashtable(); - extOrdering = new Vector(); - } - - /** - * Add an extension with the given oid and the passed in value to be included - * in the OCTET STRING associated with the extension. - * - * @param oid OID for the extension. - * @param critical true if critical, false otherwise. - * @param value the ASN.1 object to be included in the extension. - */ - public void addExtension( - ASN1ObjectIdentifier oid, - boolean critical, - ASN1Encodable value) - throws IOException - { - this.addExtension(oid, critical, value.toASN1Primitive().getEncoded(ASN1Encoding.DER)); - } - - /** - * Add an extension with the given oid and the passed in byte array to be wrapped in the - * OCTET STRING associated with the extension. - * - * @param oid OID for the extension. - * @param critical true if critical, false otherwise. - * @param value the byte array to be wrapped. - */ - public void addExtension( - ASN1ObjectIdentifier oid, - boolean critical, - byte[] value) - { - if (extensions.containsKey(oid)) - { - throw new IllegalArgumentException("extension " + oid + " already added"); - } - - extOrdering.addElement(oid); - extensions.put(oid, new Extension(oid, critical, new DEROctetString(value))); - } - - /** - * Return true if there are no extension present in this generator. - * - * @return true if empty, false otherwise - */ - public boolean isEmpty() - { - return extOrdering.isEmpty(); - } - - /** - * Generate an Extensions object based on the current state of the generator. - * - * @return an X09Extensions object. - */ - public Extensions generate() - { - Extension[] exts = new Extension[extOrdering.size()]; - - for (int i = 0; i != extOrdering.size(); i++) - { - exts[i] = (Extension)extensions.get(extOrdering.elementAt(i)); - } - - return new Extensions(exts); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralName.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralName.java deleted file mode 100644 index 86ad11e5e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralName.java +++ /dev/null @@ -1,439 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; -import java.util.StringTokenizer; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.util.IPAddress; - -/** - * The GeneralName object. - *
    - * GeneralName ::= CHOICE {
    - *      otherName                       [0]     OtherName,
    - *      rfc822Name                      [1]     IA5String,
    - *      dNSName                         [2]     IA5String,
    - *      x400Address                     [3]     ORAddress,
    - *      directoryName                   [4]     Name,
    - *      ediPartyName                    [5]     EDIPartyName,
    - *      uniformResourceIdentifier       [6]     IA5String,
    - *      iPAddress                       [7]     OCTET STRING,
    - *      registeredID                    [8]     OBJECT IDENTIFIER}
    - *
    - * OtherName ::= SEQUENCE {
    - *      type-id    OBJECT IDENTIFIER,
    - *      value      [0] EXPLICIT ANY DEFINED BY type-id }
    - *
    - * EDIPartyName ::= SEQUENCE {
    - *      nameAssigner            [0]     DirectoryString OPTIONAL,
    - *      partyName               [1]     DirectoryString }
    - * 
    - * Name ::= CHOICE { RDNSequence }
    - * 
    - */ -public class GeneralName - extends ASN1Object - implements ASN1Choice -{ - public static final int otherName = 0; - public static final int rfc822Name = 1; - public static final int dNSName = 2; - public static final int x400Address = 3; - public static final int directoryName = 4; - public static final int ediPartyName = 5; - public static final int uniformResourceIdentifier = 6; - public static final int iPAddress = 7; - public static final int registeredID = 8; - - private ASN1Encodable obj; - private int tag; - - /** - * @deprecated use X500Name constructor. - * @param dirName - */ - public GeneralName( - X509Name dirName) - { - this.obj = X500Name.getInstance(dirName); - this.tag = 4; - } - - public GeneralName( - X500Name dirName) - { - this.obj = dirName; - this.tag = 4; - } - - /** - * When the subjectAltName extension contains an Internet mail address, - * the address MUST be included as an rfc822Name. The format of an - * rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822]. - * - * When the subjectAltName extension contains a domain name service - * label, the domain name MUST be stored in the dNSName (an IA5String). - * The name MUST be in the "preferred name syntax," as specified by RFC - * 1034 [RFC 1034]. - * - * When the subjectAltName extension contains a URI, the name MUST be - * stored in the uniformResourceIdentifier (an IA5String). The name MUST - * be a non-relative URL, and MUST follow the URL syntax and encoding - * rules specified in [RFC 1738]. The name must include both a scheme - * (e.g., "http" or "ftp") and a scheme-specific-part. The scheme- - * specific-part must include a fully qualified domain name or IP - * address as the host. - * - * When the subjectAltName extension contains a iPAddress, the address - * MUST be stored in the octet string in "network byte order," as - * specified in RFC 791 [RFC 791]. The least significant bit (LSB) of - * each octet is the LSB of the corresponding byte in the network - * address. For IP Version 4, as specified in RFC 791, the octet string - * MUST contain exactly four octets. For IP Version 6, as specified in - * RFC 1883, the octet string MUST contain exactly sixteen octets [RFC - * 1883]. - */ - public GeneralName( - int tag, - ASN1Encodable name) - { - this.obj = name; - this.tag = tag; - } - - /** - * Create a GeneralName for the given tag from the passed in String. - *

    - * This constructor can handle: - *

      - *
    • rfc822Name - *
    • iPAddress - *
    • directoryName - *
    • dNSName - *
    • uniformResourceIdentifier - *
    • registeredID - *
    - * For x400Address, otherName and ediPartyName there is no common string - * format defined. - *

    - * Note: A directory name can be encoded in different ways into a byte - * representation. Be aware of this if the byte representation is used for - * comparing results. - * - * @param tag tag number - * @param name string representation of name - * @throws IllegalArgumentException if the string encoding is not correct or * not supported. - */ - public GeneralName( - int tag, - String name) - { - this.tag = tag; - - if (tag == rfc822Name || tag == dNSName || tag == uniformResourceIdentifier) - { - this.obj = new DERIA5String(name); - } - else if (tag == registeredID) - { - this.obj = new ASN1ObjectIdentifier(name); - } - else if (tag == directoryName) - { - this.obj = new X500Name(name); - } - else if (tag == iPAddress) - { - byte[] enc = toGeneralNameEncoding(name); - if (enc != null) - { - this.obj = new DEROctetString(enc); - } - else - { - throw new IllegalArgumentException("IP Address is invalid"); - } - } - else - { - throw new IllegalArgumentException("can't process String for tag: " + tag); - } - } - - public static GeneralName getInstance( - Object obj) - { - if (obj == null || obj instanceof GeneralName) - { - return (GeneralName)obj; - } - - if (obj instanceof ASN1TaggedObject) - { - ASN1TaggedObject tagObj = (ASN1TaggedObject)obj; - int tag = tagObj.getTagNo(); - - switch (tag) - { - case otherName: - return new GeneralName(tag, ASN1Sequence.getInstance(tagObj, false)); - case rfc822Name: - return new GeneralName(tag, DERIA5String.getInstance(tagObj, false)); - case dNSName: - return new GeneralName(tag, DERIA5String.getInstance(tagObj, false)); - case x400Address: - throw new IllegalArgumentException("unknown tag: " + tag); - case directoryName: - return new GeneralName(tag, X500Name.getInstance(tagObj, true)); - case ediPartyName: - return new GeneralName(tag, ASN1Sequence.getInstance(tagObj, false)); - case uniformResourceIdentifier: - return new GeneralName(tag, DERIA5String.getInstance(tagObj, false)); - case iPAddress: - return new GeneralName(tag, ASN1OctetString.getInstance(tagObj, false)); - case registeredID: - return new GeneralName(tag, ASN1ObjectIdentifier.getInstance(tagObj, false)); - } - } - - if (obj instanceof byte[]) - { - try - { - return getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("unable to parse encoded general name"); - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - public static GeneralName getInstance( - ASN1TaggedObject tagObj, - boolean explicit) - { - return GeneralName.getInstance(ASN1TaggedObject.getInstance(tagObj, true)); - } - - public int getTagNo() - { - return tag; - } - - public ASN1Encodable getName() - { - return obj; - } - - public String toString() - { - StringBuffer buf = new StringBuffer(); - - buf.append(tag); - buf.append(": "); - switch (tag) - { - case rfc822Name: - case dNSName: - case uniformResourceIdentifier: - buf.append(DERIA5String.getInstance(obj).getString()); - break; - case directoryName: - buf.append(X500Name.getInstance(obj).toString()); - break; - default: - buf.append(obj.toString()); - } - return buf.toString(); - } - - private byte[] toGeneralNameEncoding(String ip) - { - if (IPAddress.isValidIPv6WithNetmask(ip) || IPAddress.isValidIPv6(ip)) - { - int slashIndex = ip.indexOf('/'); - - if (slashIndex < 0) - { - byte[] addr = new byte[16]; - int[] parsedIp = parseIPv6(ip); - copyInts(parsedIp, addr, 0); - - return addr; - } - else - { - byte[] addr = new byte[32]; - int[] parsedIp = parseIPv6(ip.substring(0, slashIndex)); - copyInts(parsedIp, addr, 0); - String mask = ip.substring(slashIndex + 1); - if (mask.indexOf(':') > 0) - { - parsedIp = parseIPv6(mask); - } - else - { - parsedIp = parseMask(mask); - } - copyInts(parsedIp, addr, 16); - - return addr; - } - } - else if (IPAddress.isValidIPv4WithNetmask(ip) || IPAddress.isValidIPv4(ip)) - { - int slashIndex = ip.indexOf('/'); - - if (slashIndex < 0) - { - byte[] addr = new byte[4]; - - parseIPv4(ip, addr, 0); - - return addr; - } - else - { - byte[] addr = new byte[8]; - - parseIPv4(ip.substring(0, slashIndex), addr, 0); - - String mask = ip.substring(slashIndex + 1); - if (mask.indexOf('.') > 0) - { - parseIPv4(mask, addr, 4); - } - else - { - parseIPv4Mask(mask, addr, 4); - } - - return addr; - } - } - - return null; - } - - private void parseIPv4Mask(String mask, byte[] addr, int offset) - { - int maskVal = Integer.parseInt(mask); - - for (int i = 0; i != maskVal; i++) - { - addr[(i / 8) + offset] |= 1 << (7 - (i % 8)); - } - } - - private void parseIPv4(String ip, byte[] addr, int offset) - { - StringTokenizer sTok = new StringTokenizer(ip, "./"); - int index = 0; - - while (sTok.hasMoreTokens()) - { - addr[offset + index++] = (byte)Integer.parseInt(sTok.nextToken()); - } - } - - private int[] parseMask(String mask) - { - int[] res = new int[8]; - int maskVal = Integer.parseInt(mask); - - for (int i = 0; i != maskVal; i++) - { - res[i / 16] |= 1 << (15 - (i % 16)); - } - return res; - } - - private void copyInts(int[] parsedIp, byte[] addr, int offSet) - { - for (int i = 0; i != parsedIp.length; i++) - { - addr[(i * 2) + offSet] = (byte)(parsedIp[i] >> 8); - addr[(i * 2 + 1) + offSet] = (byte)parsedIp[i]; - } - } - - private int[] parseIPv6(String ip) - { - StringTokenizer sTok = new StringTokenizer(ip, ":", true); - int index = 0; - int[] val = new int[8]; - - if (ip.charAt(0) == ':' && ip.charAt(1) == ':') - { - sTok.nextToken(); // skip the first one - } - - int doubleColon = -1; - - while (sTok.hasMoreTokens()) - { - String e = sTok.nextToken(); - - if (e.equals(":")) - { - doubleColon = index; - val[index++] = 0; - } - else - { - if (e.indexOf('.') < 0) - { - val[index++] = Integer.parseInt(e, 16); - if (sTok.hasMoreTokens()) - { - sTok.nextToken(); - } - } - else - { - StringTokenizer eTok = new StringTokenizer(e, "."); - - val[index++] = (Integer.parseInt(eTok.nextToken()) << 8) | Integer.parseInt(eTok.nextToken()); - val[index++] = (Integer.parseInt(eTok.nextToken()) << 8) | Integer.parseInt(eTok.nextToken()); - } - } - } - - if (index != val.length) - { - System.arraycopy(val, doubleColon, val, val.length - (index - doubleColon), index - doubleColon); - for (int i = doubleColon; i != val.length - (index - doubleColon); i++) - { - val[i] = 0; - } - } - - return val; - } - - public ASN1Primitive toASN1Primitive() - { - if (tag == directoryName) // directoryName is explicitly tagged as it is a CHOICE - { - return new DERTaggedObject(true, tag, obj); - } - else - { - return new DERTaggedObject(false, tag, obj); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNames.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNames.java deleted file mode 100644 index bf8c21fa8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNames.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class GeneralNames - extends ASN1Object -{ - private final GeneralName[] names; - - public static GeneralNames getInstance( - Object obj) - { - if (obj instanceof GeneralNames) - { - return (GeneralNames)obj; - } - - if (obj != null) - { - return new GeneralNames(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static GeneralNames getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static GeneralNames fromExtensions(Extensions extensions, ASN1ObjectIdentifier extOID) - { - return GeneralNames.getInstance(extensions.getExtensionParsedValue(extOID)); - } - - /** - * Construct a GeneralNames object containing one GeneralName. - * - * @param name the name to be contained. - */ - public GeneralNames( - GeneralName name) - { - this.names = new GeneralName[] { name }; - } - - - public GeneralNames( - GeneralName[] names) - { - this.names = names; - } - - private GeneralNames( - ASN1Sequence seq) - { - this.names = new GeneralName[seq.size()]; - - for (int i = 0; i != seq.size(); i++) - { - names[i] = GeneralName.getInstance(seq.getObjectAt(i)); - } - } - - public GeneralName[] getNames() - { - GeneralName[] tmp = new GeneralName[names.length]; - - System.arraycopy(names, 0, tmp, 0, names.length); - - return tmp; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    -     * GeneralNames ::= SEQUENCE SIZE {1..MAX} OF GeneralName
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return new DERSequence(names); - } - - public String toString() - { - StringBuffer buf = new StringBuffer(); - String sep = System.getProperty("line.separator"); - - buf.append("GeneralNames:"); - buf.append(sep); - - for (int i = 0; i != names.length; i++) - { - buf.append(" "); - buf.append(names[i]); - buf.append(sep); - } - return buf.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNamesBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNamesBuilder.java deleted file mode 100644 index 2d4b94a82..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralNamesBuilder.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Vector; - -public class GeneralNamesBuilder -{ - private Vector names = new Vector(); - - public GeneralNamesBuilder addNames(GeneralNames names) - { - GeneralName[] n = names.getNames(); - - for (int i = 0; i != n.length; i++) - { - this.names.addElement(n[i]); - } - - return this; - } - - public GeneralNamesBuilder addName(GeneralName name) - { - names.addElement(name); - - return this; - } - - public GeneralNames build() - { - GeneralName[] tmp = new GeneralName[names.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (GeneralName)names.elementAt(i); - } - - return new GeneralNames(tmp); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralSubtree.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralSubtree.java deleted file mode 100644 index 82084e556..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/GeneralSubtree.java +++ /dev/null @@ -1,218 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * Class for containing a restriction object subtrees in NameConstraints. See - * RFC 3280. - * - *
    - *       
    - *       GeneralSubtree ::= SEQUENCE 
    - *       {
    - *         base                    GeneralName,
    - *         minimum         [0]     BaseDistance DEFAULT 0,
    - *         maximum         [1]     BaseDistance OPTIONAL 
    - *       }
    - * 
    - * - * @see org.spongycastle.asn1.x509.NameConstraints - * - */ -public class GeneralSubtree - extends ASN1Object -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private GeneralName base; - - private ASN1Integer minimum; - - private ASN1Integer maximum; - - private GeneralSubtree( - ASN1Sequence seq) - { - base = GeneralName.getInstance(seq.getObjectAt(0)); - - switch (seq.size()) - { - case 1: - break; - case 2: - ASN1TaggedObject o = ASN1TaggedObject.getInstance(seq.getObjectAt(1)); - switch (o.getTagNo()) - { - case 0: - minimum = ASN1Integer.getInstance(o, false); - break; - case 1: - maximum = ASN1Integer.getInstance(o, false); - break; - default: - throw new IllegalArgumentException("Bad tag number: " - + o.getTagNo()); - } - break; - case 3: - { - { - ASN1TaggedObject oMin = ASN1TaggedObject.getInstance(seq.getObjectAt(1)); - if (oMin.getTagNo() != 0) - { - throw new IllegalArgumentException("Bad tag number for 'minimum': " + oMin.getTagNo()); - } - minimum = ASN1Integer.getInstance(oMin, false); - } - - { - ASN1TaggedObject oMax = ASN1TaggedObject.getInstance(seq.getObjectAt(2)); - if (oMax.getTagNo() != 1) - { - throw new IllegalArgumentException("Bad tag number for 'maximum': " + oMax.getTagNo()); - } - maximum = ASN1Integer.getInstance(oMax, false); - } - - break; - } - default: - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - } - - /** - * Constructor from a given details. - * - * According RFC 3280, the minimum and maximum fields are not used with any - * name forms, thus minimum MUST be zero, and maximum MUST be absent. - *

    - * If minimum is null, zero is assumed, if - * maximum is null, maximum is absent. - * - * @param base - * A restriction. - * @param minimum - * Minimum - * - * @param maximum - * Maximum - */ - public GeneralSubtree( - GeneralName base, - BigInteger minimum, - BigInteger maximum) - { - this.base = base; - if (maximum != null) - { - this.maximum = new ASN1Integer(maximum); - } - if (minimum == null) - { - this.minimum = null; - } - else - { - this.minimum = new ASN1Integer(minimum); - } - } - - public GeneralSubtree(GeneralName base) - { - this(base, null, null); - } - - public static GeneralSubtree getInstance( - ASN1TaggedObject o, - boolean explicit) - { - return new GeneralSubtree(ASN1Sequence.getInstance(o, explicit)); - } - - public static GeneralSubtree getInstance( - Object obj) - { - if (obj == null) - { - return null; - } - - if (obj instanceof GeneralSubtree) - { - return (GeneralSubtree) obj; - } - - return new GeneralSubtree(ASN1Sequence.getInstance(obj)); - } - - public GeneralName getBase() - { - return base; - } - - public BigInteger getMinimum() - { - if (minimum == null) - { - return ZERO; - } - - return minimum.getValue(); - } - - public BigInteger getMaximum() - { - if (maximum == null) - { - return null; - } - - return maximum.getValue(); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - * Returns: - * - *

    -     *       GeneralSubtree ::= SEQUENCE 
    -     *       {
    -     *         base                    GeneralName,
    -     *         minimum         [0]     BaseDistance DEFAULT 0,
    -     *         maximum         [1]     BaseDistance OPTIONAL 
    -     *       }
    -     * 
    - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(base); - - if (minimum != null && !minimum.getValue().equals(ZERO)) - { - v.add(new DERTaggedObject(false, 0, minimum)); - } - - if (maximum != null) - { - v.add(new DERTaggedObject(false, 1, maximum)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Holder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Holder.java deleted file mode 100644 index e3d89cbda..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Holder.java +++ /dev/null @@ -1,245 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * The Holder object. - *

    - * For an v2 attribute certificate this is: - * - *

    - *            Holder ::= SEQUENCE {
    - *                  baseCertificateID   [0] IssuerSerial OPTIONAL,
    - *                           -- the issuer and serial number of
    - *                           -- the holder's Public Key Certificate
    - *                  entityName          [1] GeneralNames OPTIONAL,
    - *                           -- the name of the claimant or role
    - *                  objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
    - *                           -- used to directly authenticate the holder,
    - *                           -- for example, an executable
    - *            }
    - * 
    - * - *

    - * For an v1 attribute certificate this is: - * - *

    - *         subject CHOICE {
    - *          baseCertificateID [0] EXPLICIT IssuerSerial,
    - *          -- associated with a Public Key Certificate
    - *          subjectName [1] EXPLICIT GeneralNames },
    - *          -- associated with a name
    - * 
    - */ -public class Holder - extends ASN1Object -{ - public static final int V1_CERTIFICATE_HOLDER = 0; - public static final int V2_CERTIFICATE_HOLDER = 1; - - IssuerSerial baseCertificateID; - - GeneralNames entityName; - - ObjectDigestInfo objectDigestInfo; - - private int version = V2_CERTIFICATE_HOLDER; - - public static Holder getInstance(Object obj) - { - if (obj instanceof Holder) - { - return (Holder)obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new Holder(ASN1TaggedObject.getInstance(obj)); - } - else if (obj != null) - { - return new Holder(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor for a holder for an V1 attribute certificate. - * - * @param tagObj The ASN.1 tagged holder object. - */ - private Holder(ASN1TaggedObject tagObj) - { - switch (tagObj.getTagNo()) - { - case 0: - baseCertificateID = IssuerSerial.getInstance(tagObj, true); - break; - case 1: - entityName = GeneralNames.getInstance(tagObj, true); - break; - default: - throw new IllegalArgumentException("unknown tag in Holder"); - } - version = 0; - } - - /** - * Constructor for a holder for an V2 attribute certificate. - * - * @param seq The ASN.1 sequence. - */ - private Holder(ASN1Sequence seq) - { - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(seq - .getObjectAt(i)); - - switch (tObj.getTagNo()) - { - case 0: - baseCertificateID = IssuerSerial.getInstance(tObj, false); - break; - case 1: - entityName = GeneralNames.getInstance(tObj, false); - break; - case 2: - objectDigestInfo = ObjectDigestInfo.getInstance(tObj, false); - break; - default: - throw new IllegalArgumentException("unknown tag in Holder"); - } - } - version = 1; - } - - public Holder(IssuerSerial baseCertificateID) - { - this(baseCertificateID, V2_CERTIFICATE_HOLDER); - } - - /** - * Constructs a holder from a IssuerSerial for a V1 or V2 certificate. - * . - * @param baseCertificateID The IssuerSerial. - * @param version The version of the attribute certificate. - */ - public Holder(IssuerSerial baseCertificateID, int version) - { - this.baseCertificateID = baseCertificateID; - this.version = version; - } - - /** - * Returns 1 for V2 attribute certificates or 0 for V1 attribute - * certificates. - * @return The version of the attribute certificate. - */ - public int getVersion() - { - return version; - } - - /** - * Constructs a holder with an entityName for V2 attribute certificates. - * - * @param entityName The entity or subject name. - */ - public Holder(GeneralNames entityName) - { - this(entityName, V2_CERTIFICATE_HOLDER); - } - - /** - * Constructs a holder with an entityName for V2 attribute certificates or - * with a subjectName for V1 attribute certificates. - * - * @param entityName The entity or subject name. - * @param version The version of the attribute certificate. - */ - public Holder(GeneralNames entityName, int version) - { - this.entityName = entityName; - this.version = version; - } - - /** - * Constructs a holder from an object digest info. - * - * @param objectDigestInfo The object digest info object. - */ - public Holder(ObjectDigestInfo objectDigestInfo) - { - this.objectDigestInfo = objectDigestInfo; - } - - public IssuerSerial getBaseCertificateID() - { - return baseCertificateID; - } - - /** - * Returns the entityName for an V2 attribute certificate or the subjectName - * for an V1 attribute certificate. - * - * @return The entityname or subjectname. - */ - public GeneralNames getEntityName() - { - return entityName; - } - - public ObjectDigestInfo getObjectDigestInfo() - { - return objectDigestInfo; - } - - public ASN1Primitive toASN1Primitive() - { - if (version == 1) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (baseCertificateID != null) - { - v.add(new DERTaggedObject(false, 0, baseCertificateID)); - } - - if (entityName != null) - { - v.add(new DERTaggedObject(false, 1, entityName)); - } - - if (objectDigestInfo != null) - { - v.add(new DERTaggedObject(false, 2, objectDigestInfo)); - } - - return new DERSequence(v); - } - else - { - if (entityName != null) - { - return new DERTaggedObject(true, 1, entityName); - } - else - { - return new DERTaggedObject(true, 0, baseCertificateID); - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IetfAttrSyntax.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IetfAttrSyntax.java deleted file mode 100644 index c8eca193c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IetfAttrSyntax.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTF8String; - -/** - * Implementation of IetfAttrSyntax as specified by RFC3281. - */ -public class IetfAttrSyntax - extends ASN1Object -{ - public static final int VALUE_OCTETS = 1; - public static final int VALUE_OID = 2; - public static final int VALUE_UTF8 = 3; - GeneralNames policyAuthority = null; - Vector values = new Vector(); - int valueChoice = -1; - - public static IetfAttrSyntax getInstance(Object obj) - { - if (obj instanceof IetfAttrSyntax) - { - return (IetfAttrSyntax)obj; - } - if (obj != null) - { - return new IetfAttrSyntax(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * - */ - private IetfAttrSyntax(ASN1Sequence seq) - { - int i = 0; - - if (seq.getObjectAt(0) instanceof ASN1TaggedObject) - { - policyAuthority = GeneralNames.getInstance(((ASN1TaggedObject)seq.getObjectAt(0)), false); - i++; - } - else if (seq.size() == 2) - { // VOMS fix - policyAuthority = GeneralNames.getInstance(seq.getObjectAt(0)); - i++; - } - - if (!(seq.getObjectAt(i) instanceof ASN1Sequence)) - { - throw new IllegalArgumentException("Non-IetfAttrSyntax encoding"); - } - - seq = (ASN1Sequence)seq.getObjectAt(i); - - for (Enumeration e = seq.getObjects(); e.hasMoreElements();) - { - ASN1Primitive obj = (ASN1Primitive)e.nextElement(); - int type; - - if (obj instanceof ASN1ObjectIdentifier) - { - type = VALUE_OID; - } - else if (obj instanceof DERUTF8String) - { - type = VALUE_UTF8; - } - else if (obj instanceof DEROctetString) - { - type = VALUE_OCTETS; - } - else - { - throw new IllegalArgumentException("Bad value type encoding IetfAttrSyntax"); - } - - if (valueChoice < 0) - { - valueChoice = type; - } - - if (type != valueChoice) - { - throw new IllegalArgumentException("Mix of value types in IetfAttrSyntax"); - } - - values.addElement(obj); - } - } - - public GeneralNames getPolicyAuthority() - { - return policyAuthority; - } - - public int getValueType() - { - return valueChoice; - } - - public Object[] getValues() - { - if (this.getValueType() == VALUE_OCTETS) - { - ASN1OctetString[] tmp = new ASN1OctetString[values.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (ASN1OctetString)values.elementAt(i); - } - - return tmp; - } - else if (this.getValueType() == VALUE_OID) - { - ASN1ObjectIdentifier[] tmp = new ASN1ObjectIdentifier[values.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (ASN1ObjectIdentifier)values.elementAt(i); - } - - return tmp; - } - else - { - DERUTF8String[] tmp = new DERUTF8String[values.size()]; - - for (int i = 0; i != tmp.length; i++) - { - tmp[i] = (DERUTF8String)values.elementAt(i); - } - - return tmp; - } - } - - /** - * - *
    -     * 
    -     *  IetfAttrSyntax ::= SEQUENCE {
    -     *    policyAuthority [0] GeneralNames OPTIONAL,
    -     *    values SEQUENCE OF CHOICE {
    -     *      octets OCTET STRING,
    -     *      oid OBJECT IDENTIFIER,
    -     *      string UTF8String
    -     *    }
    -     *  }
    -     *  
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (policyAuthority != null) - { - v.add(new DERTaggedObject(0, policyAuthority)); - } - - ASN1EncodableVector v2 = new ASN1EncodableVector(); - - for (Enumeration i = values.elements(); i.hasMoreElements();) - { - v2.add((ASN1Encodable)i.nextElement()); - } - - v.add(new DERSequence(v2)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuerSerial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuerSerial.java deleted file mode 100644 index 0ef8674a7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuerSerial.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.X500Name; - -public class IssuerSerial - extends ASN1Object -{ - GeneralNames issuer; - ASN1Integer serial; - DERBitString issuerUID; - - public static IssuerSerial getInstance( - Object obj) - { - if (obj instanceof IssuerSerial) - { - return (IssuerSerial)obj; - } - - if (obj != null) - { - return new IssuerSerial(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static IssuerSerial getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - private IssuerSerial( - ASN1Sequence seq) - { - if (seq.size() != 2 && seq.size() != 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - issuer = GeneralNames.getInstance(seq.getObjectAt(0)); - serial = ASN1Integer.getInstance(seq.getObjectAt(1)); - - if (seq.size() == 3) - { - issuerUID = DERBitString.getInstance(seq.getObjectAt(2)); - } - } - - public IssuerSerial( - X500Name issuer, - BigInteger serial) - { - this(new GeneralNames(new GeneralName(issuer)), new ASN1Integer(serial)); - } - - public IssuerSerial( - GeneralNames issuer, - BigInteger serial) - { - this(issuer, new ASN1Integer(serial)); - } - - public IssuerSerial( - GeneralNames issuer, - ASN1Integer serial) - { - this.issuer = issuer; - this.serial = serial; - } - - public GeneralNames getIssuer() - { - return issuer; - } - - public ASN1Integer getSerial() - { - return serial; - } - - public DERBitString getIssuerUID() - { - return issuerUID; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  IssuerSerial  ::=  SEQUENCE {
    -     *       issuer         GeneralNames,
    -     *       serial         CertificateSerialNumber,
    -     *       issuerUID      UniqueIdentifier OPTIONAL
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(issuer); - v.add(serial); - - if (issuerUID != null) - { - v.add(issuerUID); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuingDistributionPoint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuingDistributionPoint.java deleted file mode 100644 index dd0358fea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/IssuingDistributionPoint.java +++ /dev/null @@ -1,274 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - *
    - * IssuingDistributionPoint ::= SEQUENCE { 
    - *   distributionPoint          [0] DistributionPointName OPTIONAL, 
    - *   onlyContainsUserCerts      [1] BOOLEAN DEFAULT FALSE, 
    - *   onlyContainsCACerts        [2] BOOLEAN DEFAULT FALSE, 
    - *   onlySomeReasons            [3] ReasonFlags OPTIONAL, 
    - *   indirectCRL                [4] BOOLEAN DEFAULT FALSE,
    - *   onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
    - * 
    - */ -public class IssuingDistributionPoint - extends ASN1Object -{ - private DistributionPointName distributionPoint; - - private boolean onlyContainsUserCerts; - - private boolean onlyContainsCACerts; - - private ReasonFlags onlySomeReasons; - - private boolean indirectCRL; - - private boolean onlyContainsAttributeCerts; - - private ASN1Sequence seq; - - public static IssuingDistributionPoint getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static IssuingDistributionPoint getInstance( - Object obj) - { - if (obj instanceof IssuingDistributionPoint) - { - return (IssuingDistributionPoint)obj; - } - else if (obj != null) - { - return new IssuingDistributionPoint(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from given details. - * - * @param distributionPoint - * May contain an URI as pointer to most current CRL. - * @param onlyContainsUserCerts Covers revocation information for end certificates. - * @param onlyContainsCACerts Covers revocation information for CA certificates. - * - * @param onlySomeReasons - * Which revocation reasons does this point cover. - * @param indirectCRL - * If true then the CRL contains revocation - * information about certificates ssued by other CAs. - * @param onlyContainsAttributeCerts Covers revocation information for attribute certificates. - */ - public IssuingDistributionPoint( - DistributionPointName distributionPoint, - boolean onlyContainsUserCerts, - boolean onlyContainsCACerts, - ReasonFlags onlySomeReasons, - boolean indirectCRL, - boolean onlyContainsAttributeCerts) - { - this.distributionPoint = distributionPoint; - this.indirectCRL = indirectCRL; - this.onlyContainsAttributeCerts = onlyContainsAttributeCerts; - this.onlyContainsCACerts = onlyContainsCACerts; - this.onlyContainsUserCerts = onlyContainsUserCerts; - this.onlySomeReasons = onlySomeReasons; - - ASN1EncodableVector vec = new ASN1EncodableVector(); - if (distributionPoint != null) - { // CHOICE item so explicitly tagged - vec.add(new DERTaggedObject(true, 0, distributionPoint)); - } - if (onlyContainsUserCerts) - { - vec.add(new DERTaggedObject(false, 1, ASN1Boolean.getInstance(true))); - } - if (onlyContainsCACerts) - { - vec.add(new DERTaggedObject(false, 2, ASN1Boolean.getInstance(true))); - } - if (onlySomeReasons != null) - { - vec.add(new DERTaggedObject(false, 3, onlySomeReasons)); - } - if (indirectCRL) - { - vec.add(new DERTaggedObject(false, 4, ASN1Boolean.getInstance(true))); - } - if (onlyContainsAttributeCerts) - { - vec.add(new DERTaggedObject(false, 5, ASN1Boolean.getInstance(true))); - } - - seq = new DERSequence(vec); - } - - /** - * Shorthand Constructor from given details. - * - * @param distributionPoint - * May contain an URI as pointer to most current CRL. - * @param indirectCRL - * If true then the CRL contains revocation - * information about certificates ssued by other CAs. - * @param onlyContainsAttributeCerts Covers revocation information for attribute certificates. - */ - public IssuingDistributionPoint( - DistributionPointName distributionPoint, - boolean indirectCRL, - boolean onlyContainsAttributeCerts) - { - this(distributionPoint, false, false, null, indirectCRL, onlyContainsAttributeCerts); - } - - /** - * Constructor from ASN1Sequence - */ - private IssuingDistributionPoint( - ASN1Sequence seq) - { - this.seq = seq; - - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(seq.getObjectAt(i)); - - switch (o.getTagNo()) - { - case 0: - // CHOICE so explicit - distributionPoint = DistributionPointName.getInstance(o, true); - break; - case 1: - onlyContainsUserCerts = ASN1Boolean.getInstance(o, false).isTrue(); - break; - case 2: - onlyContainsCACerts = ASN1Boolean.getInstance(o, false).isTrue(); - break; - case 3: - onlySomeReasons = new ReasonFlags(ReasonFlags.getInstance(o, false)); - break; - case 4: - indirectCRL = ASN1Boolean.getInstance(o, false).isTrue(); - break; - case 5: - onlyContainsAttributeCerts = ASN1Boolean.getInstance(o, false).isTrue(); - break; - default: - throw new IllegalArgumentException( - "unknown tag in IssuingDistributionPoint"); - } - } - } - - public boolean onlyContainsUserCerts() - { - return onlyContainsUserCerts; - } - - public boolean onlyContainsCACerts() - { - return onlyContainsCACerts; - } - - public boolean isIndirectCRL() - { - return indirectCRL; - } - - public boolean onlyContainsAttributeCerts() - { - return onlyContainsAttributeCerts; - } - - /** - * @return Returns the distributionPoint. - */ - public DistributionPointName getDistributionPoint() - { - return distributionPoint; - } - - /** - * @return Returns the onlySomeReasons. - */ - public ReasonFlags getOnlySomeReasons() - { - return onlySomeReasons; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } - - public String toString() - { - String sep = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); - - buf.append("IssuingDistributionPoint: ["); - buf.append(sep); - if (distributionPoint != null) - { - appendObject(buf, sep, "distributionPoint", distributionPoint.toString()); - } - if (onlyContainsUserCerts) - { - appendObject(buf, sep, "onlyContainsUserCerts", booleanToString(onlyContainsUserCerts)); - } - if (onlyContainsCACerts) - { - appendObject(buf, sep, "onlyContainsCACerts", booleanToString(onlyContainsCACerts)); - } - if (onlySomeReasons != null) - { - appendObject(buf, sep, "onlySomeReasons", onlySomeReasons.toString()); - } - if (onlyContainsAttributeCerts) - { - appendObject(buf, sep, "onlyContainsAttributeCerts", booleanToString(onlyContainsAttributeCerts)); - } - if (indirectCRL) - { - appendObject(buf, sep, "indirectCRL", booleanToString(indirectCRL)); - } - buf.append("]"); - buf.append(sep); - return buf.toString(); - } - - private void appendObject(StringBuffer buf, String sep, String name, String value) - { - String indent = " "; - - buf.append(indent); - buf.append(name); - buf.append(":"); - buf.append(sep); - buf.append(indent); - buf.append(indent); - buf.append(value); - buf.append(sep); - } - - private String booleanToString(boolean value) - { - return value ? "true" : "false"; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyPurposeId.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyPurposeId.java deleted file mode 100644 index 9308a48ac..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyPurposeId.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; - -/** - * The KeyPurposeId object. - *
    - *     KeyPurposeId ::= OBJECT IDENTIFIER
    - *
    - *     id-kp ::= OBJECT IDENTIFIER { iso(1) identified-organization(3) 
    - *          dod(6) internet(1) security(5) mechanisms(5) pkix(7) 3}
    - *
    - * 
    - * To create a new KeyPurposeId where none of the below suit, use - *
    - *     ASN1ObjectIdentifier newKeyPurposeIdOID = new ASN1ObjectIdentifier("1.3.6.1...");
    - *
    - *     KeyPurposeId newKeyPurposeId = KeyPurposeId.getInstance(newKeyPurposeIdOID);
    - * 
    - */ -public class KeyPurposeId - extends ASN1Object -{ - private static final ASN1ObjectIdentifier id_kp = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.3"); - - /** - * { 2 5 29 37 0 } - */ - public static final KeyPurposeId anyExtendedKeyUsage = new KeyPurposeId(Extension.extendedKeyUsage.branch("0")); - - /** - * { id-kp 1 } - */ - public static final KeyPurposeId id_kp_serverAuth = new KeyPurposeId(id_kp.branch("1")); - /** - * { id-kp 2 } - */ - public static final KeyPurposeId id_kp_clientAuth = new KeyPurposeId(id_kp.branch("2")); - /** - * { id-kp 3 } - */ - public static final KeyPurposeId id_kp_codeSigning = new KeyPurposeId(id_kp.branch("3")); - /** - * { id-kp 4 } - */ - public static final KeyPurposeId id_kp_emailProtection = new KeyPurposeId(id_kp.branch("4")); - /** - * Usage deprecated by RFC4945 - was { id-kp 5 } - */ - public static final KeyPurposeId id_kp_ipsecEndSystem = new KeyPurposeId(id_kp.branch("5")); - /** - * Usage deprecated by RFC4945 - was { id-kp 6 } - */ - public static final KeyPurposeId id_kp_ipsecTunnel = new KeyPurposeId(id_kp.branch("6")); - /** - * Usage deprecated by RFC4945 - was { idkp 7 } - */ - public static final KeyPurposeId id_kp_ipsecUser = new KeyPurposeId(id_kp.branch("7")); - /** - * { id-kp 8 } - */ - public static final KeyPurposeId id_kp_timeStamping = new KeyPurposeId(id_kp.branch("8")); - /** - * { id-kp 9 } - */ - public static final KeyPurposeId id_kp_OCSPSigning = new KeyPurposeId(id_kp.branch("9")); - /** - * { id-kp 10 } - */ - public static final KeyPurposeId id_kp_dvcs = new KeyPurposeId(id_kp.branch("10")); - /** - * { id-kp 11 } - */ - public static final KeyPurposeId id_kp_sbgpCertAAServerAuth = new KeyPurposeId(id_kp.branch("11")); - /** - * { id-kp 12 } - */ - public static final KeyPurposeId id_kp_scvp_responder = new KeyPurposeId(id_kp.branch("12")); - /** - * { id-kp 13 } - */ - public static final KeyPurposeId id_kp_eapOverPPP = new KeyPurposeId(id_kp.branch("13")); - /** - * { id-kp 14 } - */ - public static final KeyPurposeId id_kp_eapOverLAN = new KeyPurposeId(id_kp.branch("14")); - /** - * { id-kp 15 } - */ - public static final KeyPurposeId id_kp_scvpServer = new KeyPurposeId(id_kp.branch("15")); - /** - * { id-kp 16 } - */ - public static final KeyPurposeId id_kp_scvpClient = new KeyPurposeId(id_kp.branch("16")); - /** - * { id-kp 17 } - */ - public static final KeyPurposeId id_kp_ipsecIKE = new KeyPurposeId(id_kp.branch("17")); - /** - * { id-kp 18 } - */ - public static final KeyPurposeId id_kp_capwapAC = new KeyPurposeId(id_kp.branch("18")); - /** - * { id-kp 19 } - */ - public static final KeyPurposeId id_kp_capwapWTP = new KeyPurposeId(id_kp.branch("19")); - - // - // microsoft key purpose ids - // - /** - * { 1 3 6 1 4 1 311 20 2 2 } - */ - public static final KeyPurposeId id_kp_smartcardlogon = new KeyPurposeId(new ASN1ObjectIdentifier("1.3.6.1.4.1.311.20.2.2")); - - private ASN1ObjectIdentifier id; - - private KeyPurposeId(ASN1ObjectIdentifier id) - { - this.id = id; - } - - /** - * @deprecated use getInstance and an OID or one of the constants above. - * @param id string representation of an OID. - */ - public KeyPurposeId(String id) - { - this(new ASN1ObjectIdentifier(id)); - } - - public static KeyPurposeId getInstance(Object o) - { - if (o instanceof KeyPurposeId) - { - return (KeyPurposeId)o; - } - else if (o != null) - { - return new KeyPurposeId(ASN1ObjectIdentifier.getInstance(o)); - } - - return null; - } - - public ASN1Primitive toASN1Primitive() - { - return id; - } - - public String getId() - { - return id.getId(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyUsage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyUsage.java deleted file mode 100644 index afff05543..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/KeyUsage.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERBitString; - -/** - * The KeyUsage object. - *
    - *    id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
    - *
    - *    KeyUsage ::= BIT STRING {
    - *         digitalSignature        (0),
    - *         nonRepudiation          (1),
    - *         keyEncipherment         (2),
    - *         dataEncipherment        (3),
    - *         keyAgreement            (4),
    - *         keyCertSign             (5),
    - *         cRLSign                 (6),
    - *         encipherOnly            (7),
    - *         decipherOnly            (8) }
    - * 
    - */ -public class KeyUsage - extends ASN1Object -{ - public static final int digitalSignature = (1 << 7); - public static final int nonRepudiation = (1 << 6); - public static final int keyEncipherment = (1 << 5); - public static final int dataEncipherment = (1 << 4); - public static final int keyAgreement = (1 << 3); - public static final int keyCertSign = (1 << 2); - public static final int cRLSign = (1 << 1); - public static final int encipherOnly = (1 << 0); - public static final int decipherOnly = (1 << 15); - - private DERBitString bitString; - - public static KeyUsage getInstance(Object obj) // needs to be DERBitString for other VMs - { - if (obj instanceof KeyUsage) - { - return (KeyUsage)obj; - } - else if (obj != null) - { - return new KeyUsage(DERBitString.getInstance(obj)); - } - - return null; - } - - public static KeyUsage fromExtensions(Extensions extensions) - { - return KeyUsage.getInstance(extensions.getExtensionParsedValue(Extension.keyUsage)); - } - - /** - * Basic constructor. - * - * @param usage - the bitwise OR of the Key Usage flags giving the - * allowed uses for the key. - * e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment) - */ - public KeyUsage( - int usage) - { - this.bitString = new DERBitString(usage); - } - - private KeyUsage( - DERBitString bitString) - { - this.bitString = bitString; - } - - /** - * Return true if a given usage bit is set, false otherwise. - * - * @param usages combination of usage flags. - * @return true if all bits are set, false otherwise. - */ - public boolean hasUsages(int usages) - { - return (bitString.intValue() & usages) == usages; - } - - public byte[] getBytes() - { - return bitString.getBytes(); - } - - public int getPadBits() - { - return bitString.getPadBits(); - } - - public String toString() - { - byte[] data = bitString.getBytes(); - - if (data.length == 1) - { - return "KeyUsage: 0x" + Integer.toHexString(data[0] & 0xff); - } - return "KeyUsage: 0x" + Integer.toHexString((data[1] & 0xff) << 8 | (data[0] & 0xff)); - } - - public ASN1Primitive toASN1Primitive() - { - return bitString; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NameConstraints.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NameConstraints.java deleted file mode 100644 index 17611bb4b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NameConstraints.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class NameConstraints - extends ASN1Object -{ - private GeneralSubtree[] permitted, excluded; - - public static NameConstraints getInstance(Object obj) - { - if (obj instanceof NameConstraints) - { - return (NameConstraints)obj; - } - if (obj != null) - { - return new NameConstraints(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private NameConstraints(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - while (e.hasMoreElements()) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(e.nextElement()); - switch (o.getTagNo()) - { - case 0: - permitted = createArray(ASN1Sequence.getInstance(o, false)); - break; - case 1: - excluded = createArray(ASN1Sequence.getInstance(o, false)); - break; - } - } - } - - /** - * Constructor from a given details. - * - *

    - * permitted and excluded are arrays of GeneralSubtree objects. - * - * @param permitted - * Permitted subtrees - * @param excluded - * Excludes subtrees - */ - public NameConstraints( - GeneralSubtree[] permitted, - GeneralSubtree[] excluded) - { - if (permitted != null) - { - this.permitted = permitted; - } - - if (excluded != null) - { - this.excluded = excluded; - } - } - - private GeneralSubtree[] createArray(ASN1Sequence subtree) - { - GeneralSubtree[] ar = new GeneralSubtree[subtree.size()]; - - for (int i = 0; i != ar.length; i++) - { - ar[i] = GeneralSubtree.getInstance(subtree.getObjectAt(i)); - } - - return ar; - } - - public GeneralSubtree[] getPermittedSubtrees() - { - return permitted; - } - - public GeneralSubtree[] getExcludedSubtrees() - { - return excluded; - } - - /* - * NameConstraints ::= SEQUENCE { permittedSubtrees [0] GeneralSubtrees - * OPTIONAL, excludedSubtrees [1] GeneralSubtrees OPTIONAL } - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (permitted != null) - { - v.add(new DERTaggedObject(false, 0, new DERSequence(permitted))); - } - - if (excluded != null) - { - v.add(new DERTaggedObject(false, 1, new DERSequence(excluded))); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NoticeReference.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NoticeReference.java deleted file mode 100644 index 5c9a78836..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/NoticeReference.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * NoticeReference class, used in - * CertificatePolicies X509 V3 extensions - * (in policy qualifiers). - * - *

    - *  NoticeReference ::= SEQUENCE {
    - *      organization     DisplayText,
    - *      noticeNumbers    SEQUENCE OF INTEGER }
    - *
    - * 
    - * - * @see PolicyQualifierInfo - * @see PolicyInformation - */ -public class NoticeReference - extends ASN1Object -{ - private DisplayText organization; - private ASN1Sequence noticeNumbers; - - private static ASN1EncodableVector convertVector(Vector numbers) - { - ASN1EncodableVector av = new ASN1EncodableVector(); - - Enumeration it = numbers.elements(); - - while (it.hasMoreElements()) - { - Object o = it.nextElement(); - ASN1Integer di; - - if (o instanceof BigInteger) - { - di = new ASN1Integer((BigInteger)o); - } - else if (o instanceof Integer) - { - di = new ASN1Integer(((Integer)o).intValue()); - } - else - { - throw new IllegalArgumentException(); - } - - av.add(di); - } - return av; - } - - /** - * Creates a new NoticeReference instance. - * - * @param organization a String value - * @param numbers a Vector value - */ - public NoticeReference( - String organization, - Vector numbers) - { - this(organization, convertVector(numbers)); - } - - /** - * Creates a new NoticeReference instance. - * - * @param organization a String value - * @param noticeNumbers an ASN1EncodableVector value - */ - public NoticeReference( - String organization, - ASN1EncodableVector noticeNumbers) - { - this(new DisplayText(organization), noticeNumbers); - } - - /** - * Creates a new NoticeReference instance. - * - * @param organization displayText - * @param noticeNumbers an ASN1EncodableVector value - */ - public NoticeReference( - DisplayText organization, - ASN1EncodableVector noticeNumbers) - { - this.organization = organization; - this.noticeNumbers = new DERSequence(noticeNumbers); - } - - /** - * Creates a new NoticeReference instance. - *

    Useful for reconstructing a NoticeReference - * instance from its encodable/encoded form. - * - * @param as an ASN1Sequence value obtained from either - * calling @{link toASN1Primitive()} for a NoticeReference - * instance or from parsing it from a DER-encoded stream. - */ - private NoticeReference( - ASN1Sequence as) - { - if (as.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + as.size()); - } - - organization = DisplayText.getInstance(as.getObjectAt(0)); - noticeNumbers = ASN1Sequence.getInstance(as.getObjectAt(1)); - } - - public static NoticeReference getInstance( - Object as) - { - if (as instanceof NoticeReference) - { - return (NoticeReference)as; - } - else if (as != null) - { - return new NoticeReference(ASN1Sequence.getInstance(as)); - } - - return null; - } - - public DisplayText getOrganization() - { - return organization; - } - - public ASN1Integer[] getNoticeNumbers() - { - ASN1Integer[] tmp = new ASN1Integer[noticeNumbers.size()]; - - for (int i = 0; i != noticeNumbers.size(); i++) - { - tmp[i] = ASN1Integer.getInstance(noticeNumbers.getObjectAt(i)); - } - - return tmp; - } - - /** - * Describe toASN1Object method here. - * - * @return a ASN1Primitive value - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector av = new ASN1EncodableVector(); - av.add (organization); - av.add (noticeNumbers); - return new DERSequence (av); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ObjectDigestInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ObjectDigestInfo.java deleted file mode 100644 index 1d714cdf1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ObjectDigestInfo.java +++ /dev/null @@ -1,190 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -/** - * ObjectDigestInfo ASN.1 structure used in v2 attribute certificates. - * - *

    - *  
    - *    ObjectDigestInfo ::= SEQUENCE {
    - *         digestedObjectType  ENUMERATED {
    - *                 publicKey            (0),
    - *                 publicKeyCert        (1),
    - *                 otherObjectTypes     (2) },
    - *                         -- otherObjectTypes MUST NOT
    - *                         -- be used in this profile
    - *         otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
    - *         digestAlgorithm     AlgorithmIdentifier,
    - *         objectDigest        BIT STRING
    - *    }
    - *   
    - * 
    - * - */ -public class ObjectDigestInfo - extends ASN1Object -{ - /** - * The public key is hashed. - */ - public final static int publicKey = 0; - - /** - * The public key certificate is hashed. - */ - public final static int publicKeyCert = 1; - - /** - * An other object is hashed. - */ - public final static int otherObjectDigest = 2; - - ASN1Enumerated digestedObjectType; - - ASN1ObjectIdentifier otherObjectTypeID; - - AlgorithmIdentifier digestAlgorithm; - - DERBitString objectDigest; - - public static ObjectDigestInfo getInstance( - Object obj) - { - if (obj instanceof ObjectDigestInfo) - { - return (ObjectDigestInfo)obj; - } - - if (obj != null) - { - return new ObjectDigestInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static ObjectDigestInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - /** - * Constructor from given details. - *

    - * If digestedObjectType is not {@link #publicKeyCert} or - * {@link #publicKey} otherObjectTypeID must be given, - * otherwise it is ignored. - * - * @param digestedObjectType The digest object type. - * @param otherObjectTypeID The object type ID for - * otherObjectDigest. - * @param digestAlgorithm The algorithm identifier for the hash. - * @param objectDigest The hash value. - */ - public ObjectDigestInfo( - int digestedObjectType, - ASN1ObjectIdentifier otherObjectTypeID, - AlgorithmIdentifier digestAlgorithm, - byte[] objectDigest) - { - this.digestedObjectType = new ASN1Enumerated(digestedObjectType); - if (digestedObjectType == otherObjectDigest) - { - this.otherObjectTypeID = otherObjectTypeID; - } - - this.digestAlgorithm = digestAlgorithm; - this.objectDigest = new DERBitString(objectDigest); - } - - private ObjectDigestInfo( - ASN1Sequence seq) - { - if (seq.size() > 4 || seq.size() < 3) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - digestedObjectType = ASN1Enumerated.getInstance(seq.getObjectAt(0)); - - int offset = 0; - - if (seq.size() == 4) - { - otherObjectTypeID = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(1)); - offset++; - } - - digestAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1 + offset)); - - objectDigest = DERBitString.getInstance(seq.getObjectAt(2 + offset)); - } - - public ASN1Enumerated getDigestedObjectType() - { - return digestedObjectType; - } - - public ASN1ObjectIdentifier getOtherObjectTypeID() - { - return otherObjectTypeID; - } - - public AlgorithmIdentifier getDigestAlgorithm() - { - return digestAlgorithm; - } - - public DERBitString getObjectDigest() - { - return objectDigest; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - *

    -     *  
    -     *    ObjectDigestInfo ::= SEQUENCE {
    -     *         digestedObjectType  ENUMERATED {
    -     *                 publicKey            (0),
    -     *                 publicKeyCert        (1),
    -     *                 otherObjectTypes     (2) },
    -     *                         -- otherObjectTypes MUST NOT
    -     *                         -- be used in this profile
    -     *         otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
    -     *         digestAlgorithm     AlgorithmIdentifier,
    -     *         objectDigest        BIT STRING
    -     *    }
    -     *   
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(digestedObjectType); - - if (otherObjectTypeID != null) - { - v.add(otherObjectTypeID); - } - - v.add(digestAlgorithm); - v.add(objectDigest); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyConstraints.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyConstraints.java deleted file mode 100644 index 540fd0b2c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyConstraints.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * PKIX RFC 5280 - *
    - * id-ce-policyConstraints OBJECT IDENTIFIER ::=  { id-ce 36 }
    - *
    - * PolicyConstraints ::= SEQUENCE {
    - *      requireExplicitPolicy           [0] SkipCerts OPTIONAL,
    - *      inhibitPolicyMapping            [1] SkipCerts OPTIONAL }
    - *
    - * SkipCerts ::= INTEGER (0..MAX)
    - * 
    - */ -public class PolicyConstraints - extends ASN1Object -{ - private BigInteger requireExplicitPolicyMapping; - private BigInteger inhibitPolicyMapping; - - public PolicyConstraints(BigInteger requireExplicitPolicyMapping, BigInteger inhibitPolicyMapping) - { - this.requireExplicitPolicyMapping = requireExplicitPolicyMapping; - this.inhibitPolicyMapping = inhibitPolicyMapping; - } - - private PolicyConstraints(ASN1Sequence seq) - { - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject to = ASN1TaggedObject.getInstance(seq.getObjectAt(i)); - - if (to.getTagNo() == 0) - { - requireExplicitPolicyMapping = ASN1Integer.getInstance(to, false).getValue(); - } - else if (to.getTagNo() == 1) - { - inhibitPolicyMapping = ASN1Integer.getInstance(to, false).getValue(); - } - else - { - throw new IllegalArgumentException("Unknown tag encountered."); - } - } - } - - public static PolicyConstraints getInstance( - Object obj) - { - if (obj instanceof PolicyConstraints) - { - return (PolicyConstraints)obj; - } - - if (obj != null) - { - return new PolicyConstraints(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public static PolicyConstraints fromExtensions(Extensions extensions) - { - return PolicyConstraints.getInstance(extensions.getExtensionParsedValue(Extension.policyConstraints)); - } - - public BigInteger getRequireExplicitPolicyMapping() - { - return requireExplicitPolicyMapping; - } - - public BigInteger getInhibitPolicyMapping() - { - return inhibitPolicyMapping; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (requireExplicitPolicyMapping != null) - { - v.add(new DERTaggedObject(0, new ASN1Integer(requireExplicitPolicyMapping))); - } - - if (inhibitPolicyMapping != null) - { - v.add(new DERTaggedObject(1, new ASN1Integer(inhibitPolicyMapping))); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyInformation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyInformation.java deleted file mode 100644 index 0b5ee0c83..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyInformation.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -public class PolicyInformation - extends ASN1Object -{ - private ASN1ObjectIdentifier policyIdentifier; - private ASN1Sequence policyQualifiers; - - private PolicyInformation( - ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - policyIdentifier = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - - if (seq.size() > 1) - { - policyQualifiers = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - } - - public PolicyInformation( - ASN1ObjectIdentifier policyIdentifier) - { - this.policyIdentifier = policyIdentifier; - } - - public PolicyInformation( - ASN1ObjectIdentifier policyIdentifier, - ASN1Sequence policyQualifiers) - { - this.policyIdentifier = policyIdentifier; - this.policyQualifiers = policyQualifiers; - } - - public static PolicyInformation getInstance( - Object obj) - { - if (obj == null || obj instanceof PolicyInformation) - { - return (PolicyInformation)obj; - } - - return new PolicyInformation(ASN1Sequence.getInstance(obj)); - } - - public ASN1ObjectIdentifier getPolicyIdentifier() - { - return policyIdentifier; - } - - public ASN1Sequence getPolicyQualifiers() - { - return policyQualifiers; - } - - /* - * PolicyInformation ::= SEQUENCE { - * policyIdentifier CertPolicyId, - * policyQualifiers SEQUENCE SIZE (1..MAX) OF - * PolicyQualifierInfo OPTIONAL } - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(policyIdentifier); - - if (policyQualifiers != null) - { - v.add(policyQualifiers); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyMappings.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyMappings.java deleted file mode 100644 index 4b01b0d6b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyMappings.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * PolicyMappings V3 extension, described in RFC3280. - *
    - *    PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
    - *      issuerDomainPolicy      CertPolicyId,
    - *      subjectDomainPolicy     CertPolicyId }
    - * 
    - * - * @see RFC 3280, section 4.2.1.6 - */ -public class PolicyMappings - extends ASN1Object -{ - ASN1Sequence seq = null; - - public static PolicyMappings getInstance(Object obj) - { - if (obj instanceof PolicyMappings) - { - return (PolicyMappings)obj; - } - if (obj != null) - { - return new PolicyMappings(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Creates a new PolicyMappings instance. - * - * @param seq an ASN1Sequence constructed as specified - * in RFC 3280 - */ - private PolicyMappings(ASN1Sequence seq) - { - this.seq = seq; - } - - /** - * Creates a new PolicyMappings instance. - * - * @param mappings a HashMap value that maps - * String oids - * to other String oids. - * @deprecated use CertPolicyId constructors. - */ - public PolicyMappings(Hashtable mappings) - { - ASN1EncodableVector dev = new ASN1EncodableVector(); - Enumeration it = mappings.keys(); - - while (it.hasMoreElements()) - { - String idp = (String)it.nextElement(); - String sdp = (String)mappings.get(idp); - ASN1EncodableVector dv = new ASN1EncodableVector(); - dv.add(new ASN1ObjectIdentifier(idp)); - dv.add(new ASN1ObjectIdentifier(sdp)); - dev.add(new DERSequence(dv)); - } - - seq = new DERSequence(dev); - } - - public PolicyMappings(CertPolicyId issuerDomainPolicy, CertPolicyId subjectDomainPolicy) - { - ASN1EncodableVector dv = new ASN1EncodableVector(); - dv.add(issuerDomainPolicy); - dv.add(subjectDomainPolicy); - - seq = new DERSequence(new DERSequence(dv)); - } - - public PolicyMappings(CertPolicyId[] issuerDomainPolicy, CertPolicyId[] subjectDomainPolicy) - { - ASN1EncodableVector dev = new ASN1EncodableVector(); - - for (int i = 0; i != issuerDomainPolicy.length; i++) - { - ASN1EncodableVector dv = new ASN1EncodableVector(); - dv.add(issuerDomainPolicy[i]); - dv.add(subjectDomainPolicy[i]); - dev.add(new DERSequence(dv)); - } - - seq = new DERSequence(dev); - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierId.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierId.java deleted file mode 100644 index 011e52cdb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierId.java +++ /dev/null @@ -1,31 +0,0 @@ - -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * PolicyQualifierId, used in the CertificatePolicies - * X509V3 extension. - * - *
    - *    id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
    - *    id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
    - *    id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
    - *  PolicyQualifierId ::=
    - *       OBJECT IDENTIFIER (id-qt-cps | id-qt-unotice)
    - * 
    - */ -public class PolicyQualifierId extends ASN1ObjectIdentifier -{ - private static final String id_qt = "1.3.6.1.5.5.7.2"; - - private PolicyQualifierId(String id) - { - super(id); - } - - public static final PolicyQualifierId id_qt_cps = - new PolicyQualifierId(id_qt + ".1"); - public static final PolicyQualifierId id_qt_unotice = - new PolicyQualifierId(id_qt + ".2"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierInfo.java deleted file mode 100644 index d7c5a343b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PolicyQualifierInfo.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERSequence; - -/** - * Policy qualifiers, used in the X509V3 CertificatePolicies - * extension. - * - *
    - *   PolicyQualifierInfo ::= SEQUENCE {
    - *       policyQualifierId  PolicyQualifierId,
    - *       qualifier          ANY DEFINED BY policyQualifierId }
    - * 
    - */ -public class PolicyQualifierInfo - extends ASN1Object -{ - private ASN1ObjectIdentifier policyQualifierId; - private ASN1Encodable qualifier; - - /** - * Creates a new PolicyQualifierInfo instance. - * - * @param policyQualifierId a PolicyQualifierId value - * @param qualifier the qualifier, defined by the above field. - */ - public PolicyQualifierInfo( - ASN1ObjectIdentifier policyQualifierId, - ASN1Encodable qualifier) - { - this.policyQualifierId = policyQualifierId; - this.qualifier = qualifier; - } - - /** - * Creates a new PolicyQualifierInfo containing a - * cPSuri qualifier. - * - * @param cps the CPS (certification practice statement) uri as a - * String. - */ - public PolicyQualifierInfo( - String cps) - { - policyQualifierId = PolicyQualifierId.id_qt_cps; - qualifier = new DERIA5String (cps); - } - - /** - * Creates a new PolicyQualifierInfo instance. - * - * @param as PolicyQualifierInfo X509 structure - * encoded as an ASN1Sequence. - * @deprecated use PolicyQualifierInfo.getInstance() - */ - public PolicyQualifierInfo( - ASN1Sequence as) - { - if (as.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + as.size()); - } - - policyQualifierId = ASN1ObjectIdentifier.getInstance(as.getObjectAt(0)); - qualifier = as.getObjectAt(1); - } - - public static PolicyQualifierInfo getInstance( - Object obj) - { - if (obj instanceof PolicyQualifierInfo) - { - return (PolicyQualifierInfo)obj; - } - else if (obj != null) - { - return new PolicyQualifierInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - - public ASN1ObjectIdentifier getPolicyQualifierId() - { - return policyQualifierId; - } - - public ASN1Encodable getQualifier() - { - return qualifier; - } - - /** - * Returns a DER-encodable representation of this instance. - * - * @return a ASN1Primitive value - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector dev = new ASN1EncodableVector(); - dev.add(policyQualifierId); - dev.add(qualifier); - - return new DERSequence(dev); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PrivateKeyUsagePeriod.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PrivateKeyUsagePeriod.java deleted file mode 100644 index f47041469..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/PrivateKeyUsagePeriod.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - *
    - *    PrivateKeyUsagePeriod ::= SEQUENCE {
    - *      notBefore       [0]     GeneralizedTime OPTIONAL,
    - *      notAfter        [1]     GeneralizedTime OPTIONAL }
    - * 
    - */ -public class PrivateKeyUsagePeriod - extends ASN1Object -{ - public static PrivateKeyUsagePeriod getInstance(Object obj) - { - if (obj instanceof PrivateKeyUsagePeriod) - { - return (PrivateKeyUsagePeriod)obj; - } - - if (obj != null) - { - return new PrivateKeyUsagePeriod(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private DERGeneralizedTime _notBefore, _notAfter; - - private PrivateKeyUsagePeriod(ASN1Sequence seq) - { - Enumeration en = seq.getObjects(); - while (en.hasMoreElements()) - { - ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement(); - - if (tObj.getTagNo() == 0) - { - _notBefore = DERGeneralizedTime.getInstance(tObj, false); - } - else if (tObj.getTagNo() == 1) - { - _notAfter = DERGeneralizedTime.getInstance(tObj, false); - } - } - } - - public DERGeneralizedTime getNotBefore() - { - return _notBefore; - } - - public DERGeneralizedTime getNotAfter() - { - return _notAfter; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (_notBefore != null) - { - v.add(new DERTaggedObject(false, 0, _notBefore)); - } - if (_notAfter != null) - { - v.add(new DERTaggedObject(false, 1, _notAfter)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RSAPublicKeyStructure.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RSAPublicKeyStructure.java deleted file mode 100644 index 174511646..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RSAPublicKeyStructure.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -/** - * @deprecated use org.spongycastle.asn1.pkcs.RSAPublicKey - */ -public class RSAPublicKeyStructure - extends ASN1Object -{ - private BigInteger modulus; - private BigInteger publicExponent; - - public static RSAPublicKeyStructure getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static RSAPublicKeyStructure getInstance( - Object obj) - { - if(obj == null || obj instanceof RSAPublicKeyStructure) - { - return (RSAPublicKeyStructure)obj; - } - - if(obj instanceof ASN1Sequence) - { - return new RSAPublicKeyStructure((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid RSAPublicKeyStructure: " + obj.getClass().getName()); - } - - public RSAPublicKeyStructure( - BigInteger modulus, - BigInteger publicExponent) - { - this.modulus = modulus; - this.publicExponent = publicExponent; - } - - public RSAPublicKeyStructure( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); - publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } - - /** - * This outputs the key in PKCS1v2 format. - *
    -     *      RSAPublicKey ::= SEQUENCE {
    -     *                          modulus INTEGER, -- n
    -     *                          publicExponent INTEGER, -- e
    -     *                      }
    -     * 
    - *

    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(getModulus())); - v.add(new ASN1Integer(getPublicExponent())); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ReasonFlags.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ReasonFlags.java deleted file mode 100644 index 3df0821bf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/ReasonFlags.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.DERBitString; - -/** - * The ReasonFlags object. - *

    - * ReasonFlags ::= BIT STRING {
    - *      unused                  (0),
    - *      keyCompromise           (1),
    - *      cACompromise            (2),
    - *      affiliationChanged      (3),
    - *      superseded              (4),
    - *      cessationOfOperation    (5),
    - *      certificateHold         (6),
    - *      privilegeWithdrawn      (7),
    - *      aACompromise            (8) }
    - * 
    - */ -public class ReasonFlags - extends DERBitString -{ - /** - * @deprecated use lower case version - */ - public static final int UNUSED = (1 << 7); - /** - * @deprecated use lower case version - */ - public static final int KEY_COMPROMISE = (1 << 6); - /** - * @deprecated use lower case version - */ - public static final int CA_COMPROMISE = (1 << 5); - /** - * @deprecated use lower case version - */ - public static final int AFFILIATION_CHANGED = (1 << 4); - /** - * @deprecated use lower case version - */ - public static final int SUPERSEDED = (1 << 3); - /** - * @deprecated use lower case version - */ - public static final int CESSATION_OF_OPERATION = (1 << 2); - /** - * @deprecated use lower case version - */ - public static final int CERTIFICATE_HOLD = (1 << 1); - /** - * @deprecated use lower case version - */ - public static final int PRIVILEGE_WITHDRAWN = (1 << 0); - /** - * @deprecated use lower case version - */ - public static final int AA_COMPROMISE = (1 << 15); - - public static final int unused = (1 << 7); - public static final int keyCompromise = (1 << 6); - public static final int cACompromise = (1 << 5); - public static final int affiliationChanged = (1 << 4); - public static final int superseded = (1 << 3); - public static final int cessationOfOperation = (1 << 2); - public static final int certificateHold = (1 << 1); - public static final int privilegeWithdrawn = (1 << 0); - public static final int aACompromise = (1 << 15); - - /** - * @param reasons - the bitwise OR of the Key Reason flags giving the - * allowed uses for the key. - */ - public ReasonFlags( - int reasons) - { - super(getBytes(reasons), getPadBits(reasons)); - } - - public ReasonFlags( - DERBitString reasons) - { - super(reasons.getBytes(), reasons.getPadBits()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RoleSyntax.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RoleSyntax.java deleted file mode 100644 index 0a0b3d2b7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/RoleSyntax.java +++ /dev/null @@ -1,237 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * Implementation of the RoleSyntax object as specified by the RFC3281. - * - *
    - * RoleSyntax ::= SEQUENCE {
    - *                 roleAuthority  [0] GeneralNames OPTIONAL,
    - *                 roleName       [1] GeneralName
    - *           } 
    - * 
    - */ -public class RoleSyntax - extends ASN1Object -{ - private GeneralNames roleAuthority; - private GeneralName roleName; - - /** - * RoleSyntax factory method. - * @param obj the object used to construct an instance of - * RoleSyntax. It must be an instance of RoleSyntax - * or ASN1Sequence. - * @return the instance of RoleSyntax built from the - * supplied object. - * @throws java.lang.IllegalArgumentException if the object passed - * to the factory is not an instance of RoleSyntax or - * ASN1Sequence. - */ - public static RoleSyntax getInstance( - Object obj) - { - - if (obj instanceof RoleSyntax) - { - return (RoleSyntax)obj; - } - else if (obj != null) - { - return new RoleSyntax(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor. - * @param roleAuthority the role authority of this RoleSyntax. - * @param roleName the role name of this RoleSyntax. - */ - public RoleSyntax( - GeneralNames roleAuthority, - GeneralName roleName) - { - if(roleName == null || - roleName.getTagNo() != GeneralName.uniformResourceIdentifier || - ((ASN1String)roleName.getName()).getString().equals("")) - { - throw new IllegalArgumentException("the role name MUST be non empty and MUST " + - "use the URI option of GeneralName"); - } - this.roleAuthority = roleAuthority; - this.roleName = roleName; - } - - /** - * Constructor. Invoking this constructor is the same as invoking - * new RoleSyntax(null, roleName). - * @param roleName the role name of this RoleSyntax. - */ - public RoleSyntax( - GeneralName roleName) - { - this(null, roleName); - } - - /** - * Utility constructor. Takes a String argument representing - * the role name, builds a GeneralName to hold the role name - * and calls the constructor that takes a GeneralName. - * @param roleName - */ - public RoleSyntax( - String roleName) - { - this(new GeneralName(GeneralName.uniformResourceIdentifier, - (roleName == null)? "": roleName)); - } - - /** - * Constructor that builds an instance of RoleSyntax by - * extracting the encoded elements from the ASN1Sequence - * object supplied. - * @param seq an instance of ASN1Sequence that holds - * the encoded elements used to build this RoleSyntax. - */ - private RoleSyntax( - ASN1Sequence seq) - { - if (seq.size() < 1 || seq.size() > 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - for (int i = 0; i != seq.size(); i++) - { - ASN1TaggedObject taggedObject = ASN1TaggedObject.getInstance(seq.getObjectAt(i)); - switch (taggedObject.getTagNo()) - { - case 0: - roleAuthority = GeneralNames.getInstance(taggedObject, false); - break; - case 1: - roleName = GeneralName.getInstance(taggedObject, true); - break; - default: - throw new IllegalArgumentException("Unknown tag in RoleSyntax"); - } - } - } - - /** - * Gets the role authority of this RoleSyntax. - * @return an instance of GeneralNames holding the - * role authority of this RoleSyntax. - */ - public GeneralNames getRoleAuthority() - { - return this.roleAuthority; - } - - /** - * Gets the role name of this RoleSyntax. - * @return an instance of GeneralName holding the - * role name of this RoleSyntax. - */ - public GeneralName getRoleName() - { - return this.roleName; - } - - /** - * Gets the role name as a java.lang.String object. - * @return the role name of this RoleSyntax represented as a - * java.lang.String object. - */ - public String getRoleNameAsString() - { - ASN1String str = (ASN1String)this.roleName.getName(); - - return str.getString(); - } - - /** - * Gets the role authority as a String[] object. - * @return the role authority of this RoleSyntax represented as a - * String[] array. - */ - public String[] getRoleAuthorityAsString() - { - if(roleAuthority == null) - { - return new String[0]; - } - - GeneralName[] names = roleAuthority.getNames(); - String[] namesString = new String[names.length]; - for(int i = 0; i < names.length; i++) - { - ASN1Encodable value = names[i].getName(); - if(value instanceof ASN1String) - { - namesString[i] = ((ASN1String)value).getString(); - } - else - { - namesString[i] = value.toString(); - } - } - return namesString; - } - - /** - * Implementation of the method toASN1Object as - * required by the superclass ASN1Encodable. - * - *
    -     * RoleSyntax ::= SEQUENCE {
    -     *                 roleAuthority  [0] GeneralNames OPTIONAL,
    -     *                 roleName       [1] GeneralName
    -     *           } 
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - if(this.roleAuthority != null) - { - v.add(new DERTaggedObject(false, 0, roleAuthority)); - } - v.add(new DERTaggedObject(true, 1, roleName)); - - return new DERSequence(v); - } - - public String toString() - { - StringBuffer buff = new StringBuffer("Name: " + this.getRoleNameAsString() + - " - Auth: "); - if(this.roleAuthority == null || roleAuthority.getNames().length == 0) - { - buff.append("N/A"); - } - else - { - String[] names = this.getRoleAuthorityAsString(); - buff.append('[').append(names[0]); - for(int i = 1; i < names.length; i++) - { - buff.append(", ").append(names[i]); - } - buff.append(']'); - } - return buff.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectDirectoryAttributes.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectDirectoryAttributes.java deleted file mode 100644 index 13d4d284a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectDirectoryAttributes.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * This extension may contain further X.500 attributes of the subject. See also - * RFC 3039. - * - *
    - *     SubjectDirectoryAttributes ::= Attributes
    - *     Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
    - *     Attribute ::= SEQUENCE 
    - *     {
    - *       type AttributeType 
    - *       values SET OF AttributeValue 
    - *     }
    - *     
    - *     AttributeType ::= OBJECT IDENTIFIER
    - *     AttributeValue ::= ANY DEFINED BY AttributeType
    - * 
    - * - * @see org.spongycastle.asn1.x500.style.BCStyle for AttributeType ObjectIdentifiers. - */ -public class SubjectDirectoryAttributes - extends ASN1Object -{ - private Vector attributes = new Vector(); - - public static SubjectDirectoryAttributes getInstance( - Object obj) - { - if (obj instanceof SubjectDirectoryAttributes) - { - return (SubjectDirectoryAttributes)obj; - } - - if (obj != null) - { - return new SubjectDirectoryAttributes(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from ASN1Sequence. - * - * The sequence is of type SubjectDirectoryAttributes: - * - *
    -     *      SubjectDirectoryAttributes ::= Attributes
    -     *      Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
    -     *      Attribute ::= SEQUENCE 
    -     *      {
    -     *        type AttributeType 
    -     *        values SET OF AttributeValue 
    -     *      }
    -     *      
    -     *      AttributeType ::= OBJECT IDENTIFIER
    -     *      AttributeValue ::= ANY DEFINED BY AttributeType
    -     * 
    - * - * @param seq - * The ASN.1 sequence. - */ - private SubjectDirectoryAttributes(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Sequence s = ASN1Sequence.getInstance(e.nextElement()); - attributes.addElement(Attribute.getInstance(s)); - } - } - - /** - * Constructor from a vector of attributes. - * - * The vector consists of attributes of type {@link Attribute Attribute} - * - * @param attributes - * The attributes. - * - */ - public SubjectDirectoryAttributes(Vector attributes) - { - Enumeration e = attributes.elements(); - - while (e.hasMoreElements()) - { - this.attributes.addElement(e.nextElement()); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - * Returns: - * - *
    -     *      SubjectDirectoryAttributes ::= Attributes
    -     *      Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
    -     *      Attribute ::= SEQUENCE 
    -     *      {
    -     *        type AttributeType 
    -     *        values SET OF AttributeValue 
    -     *      }
    -     *      
    -     *      AttributeType ::= OBJECT IDENTIFIER
    -     *      AttributeValue ::= ANY DEFINED BY AttributeType
    -     * 
    - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - Enumeration e = attributes.elements(); - - while (e.hasMoreElements()) - { - - vec.add((Attribute)e.nextElement()); - } - - return new DERSequence(vec); - } - - /** - * @return Returns the attributes. - */ - public Vector getAttributes() - { - return attributes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectKeyIdentifier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectKeyIdentifier.java deleted file mode 100644 index 96ff98e3e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectKeyIdentifier.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; - -/** - * The SubjectKeyIdentifier object. - *
    - * SubjectKeyIdentifier::= OCTET STRING
    - * 
    - */ -public class SubjectKeyIdentifier - extends ASN1Object -{ - private byte[] keyidentifier; - - public static SubjectKeyIdentifier getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1OctetString.getInstance(obj, explicit)); - } - - public static SubjectKeyIdentifier getInstance( - Object obj) - { - if (obj instanceof SubjectKeyIdentifier) - { - return (SubjectKeyIdentifier)obj; - } - else if (obj != null) - { - return new SubjectKeyIdentifier(ASN1OctetString.getInstance(obj)); - } - - return null; - } - - public static SubjectKeyIdentifier fromExtensions(Extensions extensions) - { - return SubjectKeyIdentifier.getInstance(extensions.getExtensionParsedValue(Extension.subjectKeyIdentifier)); - } - - public SubjectKeyIdentifier( - byte[] keyid) - { - this.keyidentifier = keyid; - } - - protected SubjectKeyIdentifier( - ASN1OctetString keyid) - { - this.keyidentifier = keyid.getOctets(); - } - - public byte[] getKeyIdentifier() - { - return keyidentifier; - } - - public ASN1Primitive toASN1Primitive() - { - return new DEROctetString(keyidentifier); - } - - - /** - * Calculates the keyidentifier using a SHA1 hash over the BIT STRING - * from SubjectPublicKeyInfo as defined in RFC3280. - * - * @param spki the subject public key info. - * @deprecated - */ - public SubjectKeyIdentifier( - SubjectPublicKeyInfo spki) - { - this.keyidentifier = getDigest(spki); - } - - /** - * Return a RFC 3280 type 1 key identifier. As in: - *
    -     * (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the
    -     * value of the BIT STRING subjectPublicKey (excluding the tag,
    -     * length, and number of unused bits).
    -     * 
    - * @param keyInfo the key info object containing the subjectPublicKey field. - * @return the key identifier. - * @deprecated use org.spongycastle.cert.X509ExtensionUtils.createSubjectKeyIdentifier - */ - public static SubjectKeyIdentifier createSHA1KeyIdentifier(SubjectPublicKeyInfo keyInfo) - { - return new SubjectKeyIdentifier(keyInfo); - } - - /** - * Return a RFC 3280 type 2 key identifier. As in: - *
    -     * (2) The keyIdentifier is composed of a four bit type field with
    -     * the value 0100 followed by the least significant 60 bits of the
    -     * SHA-1 hash of the value of the BIT STRING subjectPublicKey.
    -     * 
    - * @param keyInfo the key info object containing the subjectPublicKey field. - * @return the key identifier. - * @deprecated use org.spongycastle.cert.X509ExtensionUtils.createTruncatedSubjectKeyIdentifier - */ - public static SubjectKeyIdentifier createTruncatedSHA1KeyIdentifier(SubjectPublicKeyInfo keyInfo) - { - byte[] dig = getDigest(keyInfo); - byte[] id = new byte[8]; - - System.arraycopy(dig, dig.length - 8, id, 0, id.length); - - id[0] &= 0x0f; - id[0] |= 0x40; - - return new SubjectKeyIdentifier(id); - } - - private static byte[] getDigest(SubjectPublicKeyInfo spki) - { - Digest digest = new SHA1Digest(); - byte[] resBuf = new byte[digest.getDigestSize()]; - - byte[] bytes = spki.getPublicKeyData().getBytes(); - digest.update(bytes, 0, bytes.length); - digest.doFinal(resBuf, 0); - return resBuf; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectPublicKeyInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectPublicKeyInfo.java deleted file mode 100644 index 68a4c85e8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/SubjectPublicKeyInfo.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -/** - * The object that contains the public key stored in a certficate. - *

    - * The getEncoded() method in the public keys in the JCE produces a DER - * encoded one of these. - */ -public class SubjectPublicKeyInfo - extends ASN1Object -{ - private AlgorithmIdentifier algId; - private DERBitString keyData; - - public static SubjectPublicKeyInfo getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static SubjectPublicKeyInfo getInstance( - Object obj) - { - if (obj instanceof SubjectPublicKeyInfo) - { - return (SubjectPublicKeyInfo)obj; - } - else if (obj != null) - { - return new SubjectPublicKeyInfo(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public SubjectPublicKeyInfo( - AlgorithmIdentifier algId, - ASN1Encodable publicKey) - throws IOException - { - this.keyData = new DERBitString(publicKey); - this.algId = algId; - } - - public SubjectPublicKeyInfo( - AlgorithmIdentifier algId, - byte[] publicKey) - { - this.keyData = new DERBitString(publicKey); - this.algId = algId; - } - - public SubjectPublicKeyInfo( - ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - this.algId = AlgorithmIdentifier.getInstance(e.nextElement()); - this.keyData = DERBitString.getInstance(e.nextElement()); - } - - public AlgorithmIdentifier getAlgorithm() - { - return algId; - } - - /** - * @deprecated use getAlgorithm() - * @return alg ID. - */ - public AlgorithmIdentifier getAlgorithmId() - { - return algId; - } - - /** - * for when the public key is an encoded object - if the bitstring - * can't be decoded this routine throws an IOException. - * - * @exception IOException - if the bit string doesn't represent a DER - * encoded object. - * @return the public key as an ASN.1 primitive. - */ - public ASN1Primitive parsePublicKey() - throws IOException - { - ASN1InputStream aIn = new ASN1InputStream(keyData.getBytes()); - - return aIn.readObject(); - } - - /** - * for when the public key is an encoded object - if the bitstring - * can't be decoded this routine throws an IOException. - * - * @exception IOException - if the bit string doesn't represent a DER - * encoded object. - * @deprecated use parsePublicKey - * @return the public key as an ASN.1 primitive. - */ - public ASN1Primitive getPublicKey() - throws IOException - { - ASN1InputStream aIn = new ASN1InputStream(keyData.getBytes()); - - return aIn.readObject(); - } - - /** - * for when the public key is raw bits. - * - * @return the public key as the raw bit string... - */ - public DERBitString getPublicKeyData() - { - return keyData; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    -     * SubjectPublicKeyInfo ::= SEQUENCE {
    -     *                          algorithm AlgorithmIdentifier,
    -     *                          publicKey BIT STRING }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algId); - v.add(keyData); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertList.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertList.java deleted file mode 100644 index e21c0bd94..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertList.java +++ /dev/null @@ -1,309 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.asn1.x500.X500Name; - -/** - * PKIX RFC-2459 - TBSCertList object. - *
    - * TBSCertList  ::=  SEQUENCE  {
    - *      version                 Version OPTIONAL,
    - *                                   -- if present, shall be v2
    - *      signature               AlgorithmIdentifier,
    - *      issuer                  Name,
    - *      thisUpdate              Time,
    - *      nextUpdate              Time OPTIONAL,
    - *      revokedCertificates     SEQUENCE OF SEQUENCE  {
    - *           userCertificate         CertificateSerialNumber,
    - *           revocationDate          Time,
    - *           crlEntryExtensions      Extensions OPTIONAL
    - *                                         -- if present, shall be v2
    - *                                }  OPTIONAL,
    - *      crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
    - *                                         -- if present, shall be v2
    - *                                }
    - * 
    - */ -public class TBSCertList - extends ASN1Object -{ - public static class CRLEntry - extends ASN1Object - { - ASN1Sequence seq; - - Extensions crlEntryExtensions; - - private CRLEntry( - ASN1Sequence seq) - { - if (seq.size() < 2 || seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - this.seq = seq; - } - - public static CRLEntry getInstance(Object o) - { - if (o instanceof CRLEntry) - { - return ((CRLEntry)o); - } - else if (o != null) - { - return new CRLEntry(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer getUserCertificate() - { - return ASN1Integer.getInstance(seq.getObjectAt(0)); - } - - public Time getRevocationDate() - { - return Time.getInstance(seq.getObjectAt(1)); - } - - public Extensions getExtensions() - { - if (crlEntryExtensions == null && seq.size() == 3) - { - crlEntryExtensions = Extensions.getInstance(seq.getObjectAt(2)); - } - - return crlEntryExtensions; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } - - public boolean hasExtensions() - { - return seq.size() == 3; - } - } - - private class RevokedCertificatesEnumeration - implements Enumeration - { - private final Enumeration en; - - RevokedCertificatesEnumeration(Enumeration en) - { - this.en = en; - } - - public boolean hasMoreElements() - { - return en.hasMoreElements(); - } - - public Object nextElement() - { - return CRLEntry.getInstance(en.nextElement()); - } - } - - private class EmptyEnumeration - implements Enumeration - { - public boolean hasMoreElements() - { - return false; - } - - public Object nextElement() - { - return null; // TODO: check exception handling - } - } - - ASN1Integer version; - AlgorithmIdentifier signature; - X500Name issuer; - Time thisUpdate; - Time nextUpdate; - ASN1Sequence revokedCertificates; - Extensions crlExtensions; - - public static TBSCertList getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static TBSCertList getInstance( - Object obj) - { - if (obj instanceof TBSCertList) - { - return (TBSCertList)obj; - } - else if (obj != null) - { - return new TBSCertList(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public TBSCertList( - ASN1Sequence seq) - { - if (seq.size() < 3 || seq.size() > 7) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - int seqPos = 0; - - if (seq.getObjectAt(seqPos) instanceof ASN1Integer) - { - version = ASN1Integer.getInstance(seq.getObjectAt(seqPos++)); - } - else - { - version = null; // version is optional - } - - signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqPos++)); - issuer = X500Name.getInstance(seq.getObjectAt(seqPos++)); - thisUpdate = Time.getInstance(seq.getObjectAt(seqPos++)); - - if (seqPos < seq.size() - && (seq.getObjectAt(seqPos) instanceof DERUTCTime - || seq.getObjectAt(seqPos) instanceof DERGeneralizedTime - || seq.getObjectAt(seqPos) instanceof Time)) - { - nextUpdate = Time.getInstance(seq.getObjectAt(seqPos++)); - } - - if (seqPos < seq.size() - && !(seq.getObjectAt(seqPos) instanceof DERTaggedObject)) - { - revokedCertificates = ASN1Sequence.getInstance(seq.getObjectAt(seqPos++)); - } - - if (seqPos < seq.size() - && seq.getObjectAt(seqPos) instanceof DERTaggedObject) - { - crlExtensions = Extensions.getInstance(ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(seqPos), true)); - } - } - - public int getVersionNumber() - { - if (version == null) - { - return 1; - } - return version.getValue().intValue() + 1; - } - - public ASN1Integer getVersion() - { - return version; - } - - public AlgorithmIdentifier getSignature() - { - return signature; - } - - public X500Name getIssuer() - { - return issuer; - } - - public Time getThisUpdate() - { - return thisUpdate; - } - - public Time getNextUpdate() - { - return nextUpdate; - } - - public CRLEntry[] getRevokedCertificates() - { - if (revokedCertificates == null) - { - return new CRLEntry[0]; - } - - CRLEntry[] entries = new CRLEntry[revokedCertificates.size()]; - - for (int i = 0; i < entries.length; i++) - { - entries[i] = CRLEntry.getInstance(revokedCertificates.getObjectAt(i)); - } - - return entries; - } - - public Enumeration getRevokedCertificateEnumeration() - { - if (revokedCertificates == null) - { - return new EmptyEnumeration(); - } - - return new RevokedCertificatesEnumeration(revokedCertificates.getObjects()); - } - - public Extensions getExtensions() - { - return crlExtensions; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (version != null) - { - v.add(version); - } - v.add(signature); - v.add(issuer); - - v.add(thisUpdate); - if (nextUpdate != null) - { - v.add(nextUpdate); - } - - // Add CRLEntries if they exist - if (revokedCertificates != null) - { - v.add(revokedCertificates); - } - - if (crlExtensions != null) - { - v.add(new DERTaggedObject(0, crlExtensions)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificate.java deleted file mode 100644 index b2ab6f1e4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificate.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; - -/** - * The TBSCertificate object. - *
    - * TBSCertificate ::= SEQUENCE {
    - *      version          [ 0 ]  Version DEFAULT v1(0),
    - *      serialNumber            CertificateSerialNumber,
    - *      signature               AlgorithmIdentifier,
    - *      issuer                  Name,
    - *      validity                Validity,
    - *      subject                 Name,
    - *      subjectPublicKeyInfo    SubjectPublicKeyInfo,
    - *      issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      extensions        [ 3 ] Extensions OPTIONAL
    - *      }
    - * 
    - *

    - * Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class - * will parse them, but you really shouldn't be creating new ones. - */ -public class TBSCertificate - extends ASN1Object -{ - ASN1Sequence seq; - - ASN1Integer version; - ASN1Integer serialNumber; - AlgorithmIdentifier signature; - X500Name issuer; - Time startDate, endDate; - X500Name subject; - SubjectPublicKeyInfo subjectPublicKeyInfo; - DERBitString issuerUniqueId; - DERBitString subjectUniqueId; - Extensions extensions; - - public static TBSCertificate getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static TBSCertificate getInstance( - Object obj) - { - if (obj instanceof TBSCertificate) - { - return (TBSCertificate)obj; - } - else if (obj != null) - { - return new TBSCertificate(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private TBSCertificate( - ASN1Sequence seq) - { - int seqStart = 0; - - this.seq = seq; - - // - // some certficates don't include a version number - we assume v1 - // - if (seq.getObjectAt(0) instanceof DERTaggedObject) - { - version = ASN1Integer.getInstance((ASN1TaggedObject)seq.getObjectAt(0), true); - } - else - { - seqStart = -1; // field 0 is missing! - version = new ASN1Integer(0); - } - - serialNumber = ASN1Integer.getInstance(seq.getObjectAt(seqStart + 1)); - - signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqStart + 2)); - issuer = X500Name.getInstance(seq.getObjectAt(seqStart + 3)); - - // - // before and after dates - // - ASN1Sequence dates = (ASN1Sequence)seq.getObjectAt(seqStart + 4); - - startDate = Time.getInstance(dates.getObjectAt(0)); - endDate = Time.getInstance(dates.getObjectAt(1)); - - subject = X500Name.getInstance(seq.getObjectAt(seqStart + 5)); - - // - // public key info. - // - subjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(seqStart + 6)); - - for (int extras = seq.size() - (seqStart + 6) - 1; extras > 0; extras--) - { - DERTaggedObject extra = (DERTaggedObject)seq.getObjectAt(seqStart + 6 + extras); - - switch (extra.getTagNo()) - { - case 1: - issuerUniqueId = DERBitString.getInstance(extra, false); - break; - case 2: - subjectUniqueId = DERBitString.getInstance(extra, false); - break; - case 3: - extensions = Extensions.getInstance(ASN1Sequence.getInstance(extra, true)); - } - } - } - - public int getVersionNumber() - { - return version.getValue().intValue() + 1; - } - - public ASN1Integer getVersion() - { - return version; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public AlgorithmIdentifier getSignature() - { - return signature; - } - - public X500Name getIssuer() - { - return issuer; - } - - public Time getStartDate() - { - return startDate; - } - - public Time getEndDate() - { - return endDate; - } - - public X500Name getSubject() - { - return subject; - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return subjectPublicKeyInfo; - } - - public DERBitString getIssuerUniqueId() - { - return issuerUniqueId; - } - - public DERBitString getSubjectUniqueId() - { - return subjectUniqueId; - } - - public Extensions getExtensions() - { - return extensions; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificateStructure.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificateStructure.java deleted file mode 100644 index d138b47e6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TBSCertificateStructure.java +++ /dev/null @@ -1,194 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.X500Name; - -/** - * The TBSCertificate object. - *

    - * TBSCertificate ::= SEQUENCE {
    - *      version          [ 0 ]  Version DEFAULT v1(0),
    - *      serialNumber            CertificateSerialNumber,
    - *      signature               AlgorithmIdentifier,
    - *      issuer                  Name,
    - *      validity                Validity,
    - *      subject                 Name,
    - *      subjectPublicKeyInfo    SubjectPublicKeyInfo,
    - *      issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      extensions        [ 3 ] Extensions OPTIONAL
    - *      }
    - * 
    - *

    - * Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class - * will parse them, but you really shouldn't be creating new ones. - */ -public class TBSCertificateStructure - extends ASN1Object - implements X509ObjectIdentifiers, PKCSObjectIdentifiers -{ - ASN1Sequence seq; - - ASN1Integer version; - ASN1Integer serialNumber; - AlgorithmIdentifier signature; - X500Name issuer; - Time startDate, endDate; - X500Name subject; - SubjectPublicKeyInfo subjectPublicKeyInfo; - DERBitString issuerUniqueId; - DERBitString subjectUniqueId; - X509Extensions extensions; - - public static TBSCertificateStructure getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static TBSCertificateStructure getInstance( - Object obj) - { - if (obj instanceof TBSCertificateStructure) - { - return (TBSCertificateStructure)obj; - } - else if (obj != null) - { - return new TBSCertificateStructure(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public TBSCertificateStructure( - ASN1Sequence seq) - { - int seqStart = 0; - - this.seq = seq; - - // - // some certficates don't include a version number - we assume v1 - // - if (seq.getObjectAt(0) instanceof DERTaggedObject) - { - version = ASN1Integer.getInstance((ASN1TaggedObject)seq.getObjectAt(0), true); - } - else - { - seqStart = -1; // field 0 is missing! - version = new ASN1Integer(0); - } - - serialNumber = ASN1Integer.getInstance(seq.getObjectAt(seqStart + 1)); - - signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqStart + 2)); - issuer = X500Name.getInstance(seq.getObjectAt(seqStart + 3)); - - // - // before and after dates - // - ASN1Sequence dates = (ASN1Sequence)seq.getObjectAt(seqStart + 4); - - startDate = Time.getInstance(dates.getObjectAt(0)); - endDate = Time.getInstance(dates.getObjectAt(1)); - - subject = X500Name.getInstance(seq.getObjectAt(seqStart + 5)); - - // - // public key info. - // - subjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(seqStart + 6)); - - for (int extras = seq.size() - (seqStart + 6) - 1; extras > 0; extras--) - { - DERTaggedObject extra = (DERTaggedObject)seq.getObjectAt(seqStart + 6 + extras); - - switch (extra.getTagNo()) - { - case 1: - issuerUniqueId = DERBitString.getInstance(extra, false); - break; - case 2: - subjectUniqueId = DERBitString.getInstance(extra, false); - break; - case 3: - extensions = X509Extensions.getInstance(extra); - } - } - } - - public int getVersion() - { - return version.getValue().intValue() + 1; - } - - public ASN1Integer getVersionNumber() - { - return version; - } - - public ASN1Integer getSerialNumber() - { - return serialNumber; - } - - public AlgorithmIdentifier getSignature() - { - return signature; - } - - public X500Name getIssuer() - { - return issuer; - } - - public Time getStartDate() - { - return startDate; - } - - public Time getEndDate() - { - return endDate; - } - - public X500Name getSubject() - { - return subject; - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return subjectPublicKeyInfo; - } - - public DERBitString getIssuerUniqueId() - { - return issuerUniqueId; - } - - public DERBitString getSubjectUniqueId() - { - return subjectUniqueId; - } - - public X509Extensions getExtensions() - { - return extensions; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Target.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Target.java deleted file mode 100644 index c153c260c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Target.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * Target structure used in target information extension for attribute - * certificates from RFC 3281. - * - *

    - *     Target  ::= CHOICE {
    - *       targetName          [0] GeneralName,
    - *       targetGroup         [1] GeneralName,
    - *       targetCert          [2] TargetCert
    - *     }
    - * 
    - * - *

    - * The targetCert field is currently not supported and must not be used - * according to RFC 3281. - */ -public class Target - extends ASN1Object - implements ASN1Choice -{ - public static final int targetName = 0; - public static final int targetGroup = 1; - - private GeneralName targName; - private GeneralName targGroup; - - /** - * Creates an instance of a Target from the given object. - *

    - * obj can be a Target or a {@link ASN1TaggedObject} - * - * @param obj The object. - * @return A Target instance. - * @throws IllegalArgumentException if the given object cannot be - * interpreted as Target. - */ - public static Target getInstance(Object obj) - { - if (obj == null || obj instanceof Target) - { - return (Target) obj; - } - else if (obj instanceof ASN1TaggedObject) - { - return new Target((ASN1TaggedObject)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " - + obj.getClass()); - } - - /** - * Constructor from ASN1TaggedObject. - * - * @param tagObj The tagged object. - * @throws IllegalArgumentException if the encoding is wrong. - */ - private Target(ASN1TaggedObject tagObj) - { - switch (tagObj.getTagNo()) - { - case targetName: // GeneralName is already a choice so explicit - targName = GeneralName.getInstance(tagObj, true); - break; - case targetGroup: - targGroup = GeneralName.getInstance(tagObj, true); - break; - default: - throw new IllegalArgumentException("unknown tag: " + tagObj.getTagNo()); - } - } - - /** - * Constructor from given details. - *

    - * Exactly one of the parameters must be not null. - * - * @param type the choice type to apply to the name. - * @param name the general name. - * @throws IllegalArgumentException if type is invalid. - */ - public Target(int type, GeneralName name) - { - this(new DERTaggedObject(type, name)); - } - - /** - * @return Returns the targetGroup. - */ - public GeneralName getTargetGroup() - { - return targGroup; - } - - /** - * @return Returns the targetName. - */ - public GeneralName getTargetName() - { - return targName; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - * Returns: - * - *

    -     *     Target  ::= CHOICE {
    -     *       targetName          [0] GeneralName,
    -     *       targetGroup         [1] GeneralName,
    -     *       targetCert          [2] TargetCert
    -     *     }
    -     * 
    - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - // GeneralName is a choice already so most be explicitly tagged - if (targName != null) - { - return new DERTaggedObject(true, 0, targName); - } - else - { - return new DERTaggedObject(true, 1, targGroup); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TargetInformation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TargetInformation.java deleted file mode 100644 index 0b8c49a56..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/TargetInformation.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * Target information extension for attributes certificates according to RFC - * 3281. - * - *
    - *           SEQUENCE OF Targets
    - * 
    - * - */ -public class TargetInformation - extends ASN1Object -{ - private ASN1Sequence targets; - - /** - * Creates an instance of a TargetInformation from the given object. - *

    - * obj can be a TargetInformation or a {@link ASN1Sequence} - * - * @param obj The object. - * @return A TargetInformation instance. - * @throws IllegalArgumentException if the given object cannot be - * interpreted as TargetInformation. - */ - public static TargetInformation getInstance(Object obj) - { - if (obj instanceof TargetInformation) - { - return (TargetInformation)obj; - } - else if (obj != null) - { - return new TargetInformation(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from a ASN1Sequence. - * - * @param seq The ASN1Sequence. - * @throws IllegalArgumentException if the sequence does not contain - * correctly encoded Targets elements. - */ - private TargetInformation(ASN1Sequence seq) - { - targets = seq; - } - - /** - * Returns the targets in this target information extension. - * - * @return Returns the targets. - */ - public Targets[] getTargetsObjects() - { - Targets[] copy = new Targets[targets.size()]; - int count = 0; - for (Enumeration e = targets.getObjects(); e.hasMoreElements();) - { - copy[count++] = Targets.getInstance(e.nextElement()); - } - return copy; - } - - /** - * Constructs a target information from a single targets element. - * According to RFC 3281 only one targets element must be produced. - * - * @param targets A Targets instance. - */ - public TargetInformation(Targets targets) - { - this.targets = new DERSequence(targets); - } - - /** - * According to RFC 3281 only one targets element must be produced. If - * multiple targets are given they must be merged in - * into one targets element. - * - * @param targets An array with {@link Targets}. - */ - public TargetInformation(Target[] targets) - { - this(new Targets(targets)); - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - * Returns: - * - *

    -     *          SEQUENCE OF Targets
    -     * 
    - * - *

    - * According to RFC 3281 only one targets element must be produced. If - * multiple targets are given in the constructor they are merged into one - * targets element. If this was produced from a - * {@link org.spongycastle.asn1.ASN1Sequence} the encoding is kept. - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - return targets; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Targets.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Targets.java deleted file mode 100644 index a67b69840..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Targets.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * Targets structure used in target information extension for attribute - * certificates from RFC 3281. - * - *

    - *            Targets ::= SEQUENCE OF Target
    - *           
    - *            Target  ::= CHOICE {
    - *              targetName          [0] GeneralName,
    - *              targetGroup         [1] GeneralName,
    - *              targetCert          [2] TargetCert
    - *            }
    - *           
    - *            TargetCert  ::= SEQUENCE {
    - *              targetCertificate    IssuerSerial,
    - *              targetName           GeneralName OPTIONAL,
    - *              certDigestInfo       ObjectDigestInfo OPTIONAL
    - *            }
    - * 
    - * - * @see org.spongycastle.asn1.x509.Target - * @see org.spongycastle.asn1.x509.TargetInformation - */ -public class Targets - extends ASN1Object -{ - private ASN1Sequence targets; - - /** - * Creates an instance of a Targets from the given object. - *

    - * obj can be a Targets or a {@link ASN1Sequence} - * - * @param obj The object. - * @return A Targets instance. - * @throws IllegalArgumentException if the given object cannot be - * interpreted as Target. - */ - public static Targets getInstance(Object obj) - { - if (obj instanceof Targets) - { - return (Targets)obj; - } - else if (obj != null) - { - return new Targets(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - /** - * Constructor from ASN1Sequence. - * - * @param targets The ASN.1 SEQUENCE. - * @throws IllegalArgumentException if the contents of the sequence are - * invalid. - */ - private Targets(ASN1Sequence targets) - { - this.targets = targets; - } - - /** - * Constructor from given targets. - *

    - * The vector is copied. - * - * @param targets A Vector of {@link Target}s. - * @see Target - * @throws IllegalArgumentException if the vector contains not only Targets. - */ - public Targets(Target[] targets) - { - this.targets = new DERSequence(targets); - } - - /** - * Returns the targets in a Vector. - *

    - * The vector is cloned before it is returned. - * - * @return Returns the targets. - */ - public Target[] getTargets() - { - Target[] targs = new Target[targets.size()]; - int count = 0; - for (Enumeration e = targets.getObjects(); e.hasMoreElements();) - { - targs[count++] = Target.getInstance(e.nextElement()); - } - return targs; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - * - * Returns: - * - *

    -     *            Targets ::= SEQUENCE OF Target
    -     * 
    - * - * @return a ASN1Primitive - */ - public ASN1Primitive toASN1Primitive() - { - return targets; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Time.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Time.java deleted file mode 100644 index e42d837cc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/Time.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERUTCTime; - -public class Time - extends ASN1Object - implements ASN1Choice -{ - ASN1Primitive time; - - public static Time getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public Time( - ASN1Primitive time) - { - if (!(time instanceof DERUTCTime) - && !(time instanceof DERGeneralizedTime)) - { - throw new IllegalArgumentException("unknown object passed to Time"); - } - - this.time = time; - } - - /** - * creates a time object from a given date - if the date is between 1950 - * and 2049 a UTCTime object is generated, otherwise a GeneralizedTime - * is used. - */ - public Time( - Date date) - { - SimpleTimeZone tz = new SimpleTimeZone(0, "Z"); - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss"); - - dateF.setTimeZone(tz); - - String d = dateF.format(date) + "Z"; - int year = Integer.parseInt(d.substring(0, 4)); - - if (year < 1950 || year > 2049) - { - time = new DERGeneralizedTime(d); - } - else - { - time = new DERUTCTime(d.substring(2)); - } - } - - public static Time getInstance( - Object obj) - { - if (obj == null || obj instanceof Time) - { - return (Time)obj; - } - else if (obj instanceof DERUTCTime) - { - return new Time((DERUTCTime)obj); - } - else if (obj instanceof DERGeneralizedTime) - { - return new Time((DERGeneralizedTime)obj); - } - - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); - } - - public String getTime() - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedTime(); - } - else - { - return ((DERGeneralizedTime)time).getTime(); - } - } - - public Date getDate() - { - try - { - if (time instanceof DERUTCTime) - { - return ((DERUTCTime)time).getAdjustedDate(); - } - else - { - return ((DERGeneralizedTime)time).getDate(); - } - } - catch (ParseException e) - { // this should never happen - throw new IllegalStateException("invalid date string: " + e.getMessage()); - } - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Time ::= CHOICE {
    -     *             utcTime        UTCTime,
    -     *             generalTime    GeneralizedTime }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return time; - } - - public String toString() - { - return getTime(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/UserNotice.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/UserNotice.java deleted file mode 100644 index 22c512c7e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/UserNotice.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * UserNotice class, used in - * CertificatePolicies X509 extensions (in policy - * qualifiers). - *
    - * UserNotice ::= SEQUENCE {
    - *      noticeRef        NoticeReference OPTIONAL,
    - *      explicitText     DisplayText OPTIONAL}
    - *
    - * 
    - * - * @see PolicyQualifierId - * @see PolicyInformation - */ -public class UserNotice - extends ASN1Object -{ - private NoticeReference noticeRef; - private DisplayText explicitText; - - /** - * Creates a new UserNotice instance. - * - * @param noticeRef a NoticeReference value - * @param explicitText a DisplayText value - */ - public UserNotice( - NoticeReference noticeRef, - DisplayText explicitText) - { - this.noticeRef = noticeRef; - this.explicitText = explicitText; - } - - /** - * Creates a new UserNotice instance. - * - * @param noticeRef a NoticeReference value - * @param str the explicitText field as a String. - */ - public UserNotice( - NoticeReference noticeRef, - String str) - { - this(noticeRef, new DisplayText(str)); - } - - /** - * Creates a new UserNotice instance. - *

    Useful from reconstructing a UserNotice instance - * from its encodable/encoded form. - * - * @param as an ASN1Sequence value obtained from either - * calling @{link toASN1Primitive()} for a UserNotice - * instance or from parsing it from a DER-encoded stream. - */ - private UserNotice( - ASN1Sequence as) - { - if (as.size() == 2) - { - noticeRef = NoticeReference.getInstance(as.getObjectAt(0)); - explicitText = DisplayText.getInstance(as.getObjectAt(1)); - } - else if (as.size() == 1) - { - if (as.getObjectAt(0).toASN1Primitive() instanceof ASN1Sequence) - { - noticeRef = NoticeReference.getInstance(as.getObjectAt(0)); - } - else - { - explicitText = DisplayText.getInstance(as.getObjectAt(0)); - } - } - else - { - throw new IllegalArgumentException("Bad sequence size: " + as.size()); - } - } - - public static UserNotice getInstance( - Object obj) - { - if (obj instanceof UserNotice) - { - return (UserNotice)obj; - } - - if (obj != null) - { - return new UserNotice(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public NoticeReference getNoticeRef() - { - return noticeRef; - } - - public DisplayText getExplicitText() - { - return explicitText; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector av = new ASN1EncodableVector(); - - if (noticeRef != null) - { - av.add(noticeRef); - } - - if (explicitText != null) - { - av.add(explicitText); - } - - return new DERSequence(av); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V1TBSCertificateGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V1TBSCertificateGenerator.java deleted file mode 100644 index 415cabc1d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V1TBSCertificateGenerator.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1UTCTime; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; - -/** - * Generator for Version 1 TBSCertificateStructures. - *

    - * TBSCertificate ::= SEQUENCE {
    - *      version          [ 0 ]  Version DEFAULT v1(0),
    - *      serialNumber            CertificateSerialNumber,
    - *      signature               AlgorithmIdentifier,
    - *      issuer                  Name,
    - *      validity                Validity,
    - *      subject                 Name,
    - *      subjectPublicKeyInfo    SubjectPublicKeyInfo,
    - *      }
    - * 
    - * - */ -public class V1TBSCertificateGenerator -{ - DERTaggedObject version = new DERTaggedObject(true, 0, new ASN1Integer(0)); - - ASN1Integer serialNumber; - AlgorithmIdentifier signature; - X500Name issuer; - Time startDate, endDate; - X500Name subject; - SubjectPublicKeyInfo subjectPublicKeyInfo; - - public V1TBSCertificateGenerator() - { - } - - public void setSerialNumber( - ASN1Integer serialNumber) - { - this.serialNumber = serialNumber; - } - - public void setSignature( - AlgorithmIdentifier signature) - { - this.signature = signature; - } - - /** - * @deprecated use X500Name method - */ - public void setIssuer( - X509Name issuer) - { - this.issuer = X500Name.getInstance(issuer.toASN1Primitive()); - } - - public void setIssuer( - X500Name issuer) - { - this.issuer = issuer; - } - - public void setStartDate( - Time startDate) - { - this.startDate = startDate; - } - - public void setStartDate( - ASN1UTCTime startDate) - { - this.startDate = new Time(startDate); - } - - public void setEndDate( - Time endDate) - { - this.endDate = endDate; - } - - public void setEndDate( - ASN1UTCTime endDate) - { - this.endDate = new Time(endDate); - } - - /** - * @deprecated use X500Name method - */ - public void setSubject( - X509Name subject) - { - this.subject = X500Name.getInstance(subject.toASN1Primitive()); - } - - public void setSubject( - X500Name subject) - { - this.subject = subject; - } - - public void setSubjectPublicKeyInfo( - SubjectPublicKeyInfo pubKeyInfo) - { - this.subjectPublicKeyInfo = pubKeyInfo; - } - - public TBSCertificate generateTBSCertificate() - { - if ((serialNumber == null) || (signature == null) - || (issuer == null) || (startDate == null) || (endDate == null) - || (subject == null) || (subjectPublicKeyInfo == null)) - { - throw new IllegalStateException("not all mandatory fields set in V1 TBScertificate generator"); - } - - ASN1EncodableVector seq = new ASN1EncodableVector(); - - // seq.add(version); - not required as default value. - seq.add(serialNumber); - seq.add(signature); - seq.add(issuer); - - // - // before and after dates - // - ASN1EncodableVector validity = new ASN1EncodableVector(); - - validity.add(startDate); - validity.add(endDate); - - seq.add(new DERSequence(validity)); - - seq.add(subject); - - seq.add(subjectPublicKeyInfo); - - return TBSCertificate.getInstance(new DERSequence(seq)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java deleted file mode 100644 index 934e1c882..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; - -/** - * Generator for Version 2 AttributeCertificateInfo - *
    - * AttributeCertificateInfo ::= SEQUENCE {
    - *       version              AttCertVersion -- version is v2,
    - *       holder               Holder,
    - *       issuer               AttCertIssuer,
    - *       signature            AlgorithmIdentifier,
    - *       serialNumber         CertificateSerialNumber,
    - *       attrCertValidityPeriod   AttCertValidityPeriod,
    - *       attributes           SEQUENCE OF Attribute,
    - *       issuerUniqueID       UniqueIdentifier OPTIONAL,
    - *       extensions           Extensions OPTIONAL
    - * }
    - * 
    - * - */ -public class V2AttributeCertificateInfoGenerator -{ - private ASN1Integer version; - private Holder holder; - private AttCertIssuer issuer; - private AlgorithmIdentifier signature; - private ASN1Integer serialNumber; - private ASN1EncodableVector attributes; - private DERBitString issuerUniqueID; - private Extensions extensions; - - // Note: validity period start/end dates stored directly - //private AttCertValidityPeriod attrCertValidityPeriod; - private ASN1GeneralizedTime startDate, endDate; - - public V2AttributeCertificateInfoGenerator() - { - this.version = new ASN1Integer(1); - attributes = new ASN1EncodableVector(); - } - - public void setHolder(Holder holder) - { - this.holder = holder; - } - - public void addAttribute(String oid, ASN1Encodable value) - { - attributes.add(new Attribute(new ASN1ObjectIdentifier(oid), new DERSet(value))); - } - - /** - * @param attribute - */ - public void addAttribute(Attribute attribute) - { - attributes.add(attribute); - } - - public void setSerialNumber( - ASN1Integer serialNumber) - { - this.serialNumber = serialNumber; - } - - public void setSignature( - AlgorithmIdentifier signature) - { - this.signature = signature; - } - - public void setIssuer( - AttCertIssuer issuer) - { - this.issuer = issuer; - } - - public void setStartDate( - ASN1GeneralizedTime startDate) - { - this.startDate = startDate; - } - - public void setEndDate( - ASN1GeneralizedTime endDate) - { - this.endDate = endDate; - } - - public void setIssuerUniqueID( - DERBitString issuerUniqueID) - { - this.issuerUniqueID = issuerUniqueID; - } - - /** - * @deprecated use method taking Extensions - * @param extensions - */ - public void setExtensions( - X509Extensions extensions) - { - this.extensions = Extensions.getInstance(extensions.toASN1Primitive()); - } - - public void setExtensions( - Extensions extensions) - { - this.extensions = extensions; - } - - public AttributeCertificateInfo generateAttributeCertificateInfo() - { - if ((serialNumber == null) || (signature == null) - || (issuer == null) || (startDate == null) || (endDate == null) - || (holder == null) || (attributes == null)) - { - throw new IllegalStateException("not all mandatory fields set in V2 AttributeCertificateInfo generator"); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(holder); - v.add(issuer); - v.add(signature); - v.add(serialNumber); - - // - // before and after dates => AttCertValidityPeriod - // - AttCertValidityPeriod validity = new AttCertValidityPeriod(startDate, endDate); - v.add(validity); - - // Attributes - v.add(new DERSequence(attributes)); - - if (issuerUniqueID != null) - { - v.add(issuerUniqueID); - } - - if (extensions != null) - { - v.add(extensions); - } - - return AttributeCertificateInfo.getInstance(new DERSequence(v)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2Form.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2Form.java deleted file mode 100644 index a94c4a54e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2Form.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -public class V2Form - extends ASN1Object -{ - GeneralNames issuerName; - IssuerSerial baseCertificateID; - ObjectDigestInfo objectDigestInfo; - - public static V2Form getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static V2Form getInstance( - Object obj) - { - if (obj instanceof V2Form) - { - return (V2Form)obj; - } - else if (obj != null) - { - return new V2Form(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public V2Form( - GeneralNames issuerName) - { - this(issuerName, null, null); - } - - public V2Form( - GeneralNames issuerName, - IssuerSerial baseCertificateID) - { - this(issuerName, baseCertificateID, null); - } - - public V2Form( - GeneralNames issuerName, - ObjectDigestInfo objectDigestInfo) - { - this(issuerName, null, objectDigestInfo); - } - - public V2Form( - GeneralNames issuerName, - IssuerSerial baseCertificateID, - ObjectDigestInfo objectDigestInfo) - { - this.issuerName = issuerName; - this.baseCertificateID = baseCertificateID; - this.objectDigestInfo = objectDigestInfo; - } - - /** - * @deprecated use getInstance(). - */ - public V2Form( - ASN1Sequence seq) - { - if (seq.size() > 3) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - int index = 0; - - if (!(seq.getObjectAt(0) instanceof ASN1TaggedObject)) - { - index++; - this.issuerName = GeneralNames.getInstance(seq.getObjectAt(0)); - } - - for (int i = index; i != seq.size(); i++) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(seq.getObjectAt(i)); - if (o.getTagNo() == 0) - { - baseCertificateID = IssuerSerial.getInstance(o, false); - } - else if (o.getTagNo() == 1) - { - objectDigestInfo = ObjectDigestInfo.getInstance(o, false); - } - else - { - throw new IllegalArgumentException("Bad tag number: " - + o.getTagNo()); - } - } - } - - public GeneralNames getIssuerName() - { - return issuerName; - } - - public IssuerSerial getBaseCertificateID() - { - return baseCertificateID; - } - - public ObjectDigestInfo getObjectDigestInfo() - { - return objectDigestInfo; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  V2Form ::= SEQUENCE {
    -     *       issuerName            GeneralNames  OPTIONAL,
    -     *       baseCertificateID     [0] IssuerSerial  OPTIONAL,
    -     *       objectDigestInfo      [1] ObjectDigestInfo  OPTIONAL
    -     *         -- issuerName MUST be present in this profile
    -     *         -- baseCertificateID and objectDigestInfo MUST NOT
    -     *         -- be present in this profile
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (issuerName != null) - { - v.add(issuerName); - } - - if (baseCertificateID != null) - { - v.add(new DERTaggedObject(false, 0, baseCertificateID)); - } - - if (objectDigestInfo != null) - { - v.add(new DERTaggedObject(false, 1, objectDigestInfo)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2TBSCertListGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2TBSCertListGenerator.java deleted file mode 100644 index 8419470aa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V2TBSCertListGenerator.java +++ /dev/null @@ -1,281 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1UTCTime; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.X500Name; - -/** - * Generator for Version 2 TBSCertList structures. - *
    - *  TBSCertList  ::=  SEQUENCE  {
    - *       version                 Version OPTIONAL,
    - *                                    -- if present, shall be v2
    - *       signature               AlgorithmIdentifier,
    - *       issuer                  Name,
    - *       thisUpdate              Time,
    - *       nextUpdate              Time OPTIONAL,
    - *       revokedCertificates     SEQUENCE OF SEQUENCE  {
    - *            userCertificate         CertificateSerialNumber,
    - *            revocationDate          Time,
    - *            crlEntryExtensions      Extensions OPTIONAL
    - *                                          -- if present, shall be v2
    - *                                 }  OPTIONAL,
    - *       crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
    - *                                          -- if present, shall be v2
    - *                                 }
    - * 
    - * - * Note: This class may be subject to change - */ -public class V2TBSCertListGenerator -{ - private ASN1Integer version = new ASN1Integer(1); - private AlgorithmIdentifier signature; - private X500Name issuer; - private Time thisUpdate, nextUpdate=null; - private Extensions extensions = null; - private ASN1EncodableVector crlentries = new ASN1EncodableVector(); - - private final static ASN1Sequence[] reasons; - - static - { - reasons = new ASN1Sequence[11]; - - reasons[0] = createReasonExtension(CRLReason.unspecified); - reasons[1] = createReasonExtension(CRLReason.keyCompromise); - reasons[2] = createReasonExtension(CRLReason.cACompromise); - reasons[3] = createReasonExtension(CRLReason.affiliationChanged); - reasons[4] = createReasonExtension(CRLReason.superseded); - reasons[5] = createReasonExtension(CRLReason.cessationOfOperation); - reasons[6] = createReasonExtension(CRLReason.certificateHold); - reasons[7] = createReasonExtension(7); // 7 -> unknown - reasons[8] = createReasonExtension(CRLReason.removeFromCRL); - reasons[9] = createReasonExtension(CRLReason.privilegeWithdrawn); - reasons[10] = createReasonExtension(CRLReason.aACompromise); - } - - public V2TBSCertListGenerator() - { - } - - - public void setSignature( - AlgorithmIdentifier signature) - { - this.signature = signature; - } - - /** - * @deprecated use X500Name method - */ - public void setIssuer( - X509Name issuer) - { - this.issuer = X500Name.getInstance(issuer.toASN1Primitive()); - } - - public void setIssuer(X500Name issuer) - { - this.issuer = issuer; - } - - public void setThisUpdate( - ASN1UTCTime thisUpdate) - { - this.thisUpdate = new Time(thisUpdate); - } - - public void setNextUpdate( - ASN1UTCTime nextUpdate) - { - this.nextUpdate = new Time(nextUpdate); - } - - public void setThisUpdate( - Time thisUpdate) - { - this.thisUpdate = thisUpdate; - } - - public void setNextUpdate( - Time nextUpdate) - { - this.nextUpdate = nextUpdate; - } - - public void addCRLEntry( - ASN1Sequence crlEntry) - { - crlentries.add(crlEntry); - } - - public void addCRLEntry(ASN1Integer userCertificate, ASN1UTCTime revocationDate, int reason) - { - addCRLEntry(userCertificate, new Time(revocationDate), reason); - } - - public void addCRLEntry(ASN1Integer userCertificate, Time revocationDate, int reason) - { - addCRLEntry(userCertificate, revocationDate, reason, null); - } - - public void addCRLEntry(ASN1Integer userCertificate, Time revocationDate, int reason, ASN1GeneralizedTime invalidityDate) - { - if (reason != 0) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (reason < reasons.length) - { - if (reason < 0) - { - throw new IllegalArgumentException("invalid reason value: " + reason); - } - v.add(reasons[reason]); - } - else - { - v.add(createReasonExtension(reason)); - } - - if (invalidityDate != null) - { - v.add(createInvalidityDateExtension(invalidityDate)); - } - - internalAddCRLEntry(userCertificate, revocationDate, new DERSequence(v)); - } - else if (invalidityDate != null) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(createInvalidityDateExtension(invalidityDate)); - - internalAddCRLEntry(userCertificate, revocationDate, new DERSequence(v)); - } - else - { - addCRLEntry(userCertificate, revocationDate, null); - } - } - - private void internalAddCRLEntry(ASN1Integer userCertificate, Time revocationDate, ASN1Sequence extensions) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(userCertificate); - v.add(revocationDate); - - if (extensions != null) - { - v.add(extensions); - } - - addCRLEntry(new DERSequence(v)); - } - - public void addCRLEntry(ASN1Integer userCertificate, Time revocationDate, Extensions extensions) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(userCertificate); - v.add(revocationDate); - - if (extensions != null) - { - v.add(extensions); - } - - addCRLEntry(new DERSequence(v)); - } - - public void setExtensions( - X509Extensions extensions) - { - setExtensions(Extensions.getInstance(extensions)); - } - - public void setExtensions( - Extensions extensions) - { - this.extensions = extensions; - } - - public TBSCertList generateTBSCertList() - { - if ((signature == null) || (issuer == null) || (thisUpdate == null)) - { - throw new IllegalStateException("Not all mandatory fields set in V2 TBSCertList generator."); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(signature); - v.add(issuer); - - v.add(thisUpdate); - if (nextUpdate != null) - { - v.add(nextUpdate); - } - - // Add CRLEntries if they exist - if (crlentries.size() != 0) - { - v.add(new DERSequence(crlentries)); - } - - if (extensions != null) - { - v.add(new DERTaggedObject(0, extensions)); - } - - return new TBSCertList(new DERSequence(v)); - } - - private static ASN1Sequence createReasonExtension(int reasonCode) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - CRLReason crlReason = CRLReason.lookup(reasonCode); - - try - { - v.add(Extension.reasonCode); - v.add(new DEROctetString(crlReason.getEncoded())); - } - catch (IOException e) - { - throw new IllegalArgumentException("error encoding reason: " + e); - } - - return new DERSequence(v); - } - - private static ASN1Sequence createInvalidityDateExtension(ASN1GeneralizedTime invalidityDate) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - try - { - v.add(Extension.invalidityDate); - v.add(new DEROctetString(invalidityDate.getEncoded())); - } - catch (IOException e) - { - throw new IllegalArgumentException("error encoding reason: " + e); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V3TBSCertificateGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V3TBSCertificateGenerator.java deleted file mode 100644 index b6a3ee73d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/V3TBSCertificateGenerator.java +++ /dev/null @@ -1,212 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.asn1.x500.X500Name; - -/** - * Generator for Version 3 TBSCertificateStructures. - *
    - * TBSCertificate ::= SEQUENCE {
    - *      version          [ 0 ]  Version DEFAULT v1(0),
    - *      serialNumber            CertificateSerialNumber,
    - *      signature               AlgorithmIdentifier,
    - *      issuer                  Name,
    - *      validity                Validity,
    - *      subject                 Name,
    - *      subjectPublicKeyInfo    SubjectPublicKeyInfo,
    - *      issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
    - *      extensions        [ 3 ] Extensions OPTIONAL
    - *      }
    - * 
    - * - */ -public class V3TBSCertificateGenerator -{ - DERTaggedObject version = new DERTaggedObject(true, 0, new ASN1Integer(2)); - - ASN1Integer serialNumber; - AlgorithmIdentifier signature; - X500Name issuer; - Time startDate, endDate; - X500Name subject; - SubjectPublicKeyInfo subjectPublicKeyInfo; - Extensions extensions; - - private boolean altNamePresentAndCritical; - private DERBitString issuerUniqueID; - private DERBitString subjectUniqueID; - - public V3TBSCertificateGenerator() - { - } - - public void setSerialNumber( - ASN1Integer serialNumber) - { - this.serialNumber = serialNumber; - } - - public void setSignature( - AlgorithmIdentifier signature) - { - this.signature = signature; - } - - /** - * @deprecated use X500Name method - */ - public void setIssuer( - X509Name issuer) - { - this.issuer = X500Name.getInstance(issuer); - } - - public void setIssuer( - X500Name issuer) - { - this.issuer = issuer; - } - - public void setStartDate( - DERUTCTime startDate) - { - this.startDate = new Time(startDate); - } - - public void setStartDate( - Time startDate) - { - this.startDate = startDate; - } - - public void setEndDate( - DERUTCTime endDate) - { - this.endDate = new Time(endDate); - } - - public void setEndDate( - Time endDate) - { - this.endDate = endDate; - } - - /** - * @deprecated use X500Name method - */ - public void setSubject( - X509Name subject) - { - this.subject = X500Name.getInstance(subject.toASN1Primitive()); - } - - public void setSubject( - X500Name subject) - { - this.subject = subject; - } - - public void setIssuerUniqueID( - DERBitString uniqueID) - { - this.issuerUniqueID = uniqueID; - } - - public void setSubjectUniqueID( - DERBitString uniqueID) - { - this.subjectUniqueID = uniqueID; - } - - public void setSubjectPublicKeyInfo( - SubjectPublicKeyInfo pubKeyInfo) - { - this.subjectPublicKeyInfo = pubKeyInfo; - } - - /** - * @deprecated use method taking Extensions - * @param extensions - */ - public void setExtensions( - X509Extensions extensions) - { - setExtensions(Extensions.getInstance(extensions)); - } - - public void setExtensions( - Extensions extensions) - { - this.extensions = extensions; - if (extensions != null) - { - Extension altName = extensions.getExtension(Extension.subjectAlternativeName); - - if (altName != null && altName.isCritical()) - { - altNamePresentAndCritical = true; - } - } - } - - public TBSCertificate generateTBSCertificate() - { - if ((serialNumber == null) || (signature == null) - || (issuer == null) || (startDate == null) || (endDate == null) - || (subject == null && !altNamePresentAndCritical) || (subjectPublicKeyInfo == null)) - { - throw new IllegalStateException("not all mandatory fields set in V3 TBScertificate generator"); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(serialNumber); - v.add(signature); - v.add(issuer); - - // - // before and after dates - // - ASN1EncodableVector validity = new ASN1EncodableVector(); - - validity.add(startDate); - validity.add(endDate); - - v.add(new DERSequence(validity)); - - if (subject != null) - { - v.add(subject); - } - else - { - v.add(new DERSequence()); - } - - v.add(subjectPublicKeyInfo); - - if (issuerUniqueID != null) - { - v.add(new DERTaggedObject(false, 1, issuerUniqueID)); - } - - if (subjectUniqueID != null) - { - v.add(new DERTaggedObject(false, 2, subjectUniqueID)); - } - - if (extensions != null) - { - v.add(new DERTaggedObject(true, 3, extensions)); - } - - return TBSCertificate.getInstance(new DERSequence(v)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509AttributeIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509AttributeIdentifiers.java deleted file mode 100644 index 28669a711..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509AttributeIdentifiers.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -public interface X509AttributeIdentifiers -{ - /** - * @deprecated use id_at_role - */ - static final ASN1ObjectIdentifier RoleSyntax = new ASN1ObjectIdentifier("2.5.4.72"); - - static final ASN1ObjectIdentifier id_pe_ac_auditIdentity = X509ObjectIdentifiers.id_pe.branch("4"); - static final ASN1ObjectIdentifier id_pe_aaControls = X509ObjectIdentifiers.id_pe.branch("6"); - static final ASN1ObjectIdentifier id_pe_ac_proxying = X509ObjectIdentifiers.id_pe.branch("10"); - - static final ASN1ObjectIdentifier id_ce_targetInformation= X509ObjectIdentifiers.id_ce.branch("55"); - - static final ASN1ObjectIdentifier id_aca = X509ObjectIdentifiers.id_pkix.branch("10"); - - static final ASN1ObjectIdentifier id_aca_authenticationInfo = id_aca.branch("1"); - static final ASN1ObjectIdentifier id_aca_accessIdentity = id_aca.branch("2"); - static final ASN1ObjectIdentifier id_aca_chargingIdentity = id_aca.branch("3"); - static final ASN1ObjectIdentifier id_aca_group = id_aca.branch("4"); - // { id-aca 5 } is reserved - static final ASN1ObjectIdentifier id_aca_encAttrs = id_aca.branch("6"); - - static final ASN1ObjectIdentifier id_at_role = new ASN1ObjectIdentifier("2.5.4.72"); - static final ASN1ObjectIdentifier id_at_clearance = new ASN1ObjectIdentifier("2.5.1.5.55"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509CertificateStructure.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509CertificateStructure.java deleted file mode 100644 index b75117927..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509CertificateStructure.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.spongycastle.asn1.x509; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.X500Name; - -/** - * an X509Certificate structure. - *
    - *  Certificate ::= SEQUENCE {
    - *      tbsCertificate          TBSCertificate,
    - *      signatureAlgorithm      AlgorithmIdentifier,
    - *      signature               BIT STRING
    - *  }
    - * 
    - * @deprecated use org.spongycastle.asn1.x509.Certificate - */ -public class X509CertificateStructure - extends ASN1Object - implements X509ObjectIdentifiers, PKCSObjectIdentifiers -{ - ASN1Sequence seq; - TBSCertificateStructure tbsCert; - AlgorithmIdentifier sigAlgId; - DERBitString sig; - - public static X509CertificateStructure getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static X509CertificateStructure getInstance( - Object obj) - { - if (obj instanceof X509CertificateStructure) - { - return (X509CertificateStructure)obj; - } - else if (obj != null) - { - return new X509CertificateStructure(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public X509CertificateStructure( - ASN1Sequence seq) - { - this.seq = seq; - - // - // correct x509 certficate - // - if (seq.size() == 3) - { - tbsCert = TBSCertificateStructure.getInstance(seq.getObjectAt(0)); - sigAlgId = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); - - sig = DERBitString.getInstance(seq.getObjectAt(2)); - } - else - { - throw new IllegalArgumentException("sequence wrong size for a certificate"); - } - } - - public TBSCertificateStructure getTBSCertificate() - { - return tbsCert; - } - - public int getVersion() - { - return tbsCert.getVersion(); - } - - public ASN1Integer getSerialNumber() - { - return tbsCert.getSerialNumber(); - } - - public X500Name getIssuer() - { - return tbsCert.getIssuer(); - } - - public Time getStartDate() - { - return tbsCert.getStartDate(); - } - - public Time getEndDate() - { - return tbsCert.getEndDate(); - } - - public X500Name getSubject() - { - return tbsCert.getSubject(); - } - - public SubjectPublicKeyInfo getSubjectPublicKeyInfo() - { - return tbsCert.getSubjectPublicKeyInfo(); - } - - public AlgorithmIdentifier getSignatureAlgorithm() - { - return sigAlgId; - } - - public DERBitString getSignature() - { - return sig; - } - - public ASN1Primitive toASN1Primitive() - { - return seq; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509DefaultEntryConverter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509DefaultEntryConverter.java deleted file mode 100644 index 38685b413..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509DefaultEntryConverter.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERUTF8String; - -/** - * The default converter for X509 DN entries when going from their - * string value to ASN.1 strings. - */ -public class X509DefaultEntryConverter - extends X509NameEntryConverter -{ - /** - * Apply default coversion for the given value depending on the oid - * and the character range of the value. - * - * @param oid the object identifier for the DN entry - * @param value the value associated with it - * @return the ASN.1 equivalent for the string value. - */ - public ASN1Primitive getConvertedValue( - ASN1ObjectIdentifier oid, - String value) - { - if (value.length() != 0 && value.charAt(0) == '#') - { - try - { - return convertHexEncoded(value, 1); - } - catch (IOException e) - { - throw new RuntimeException("can't recode value for oid " + oid.getId()); - } - } - else - { - if (value.length() != 0 && value.charAt(0) == '\\') - { - value = value.substring(1); - } - if (oid.equals(X509Name.EmailAddress) || oid.equals(X509Name.DC)) - { - return new DERIA5String(value); - } - else if (oid.equals(X509Name.DATE_OF_BIRTH)) // accept time string as well as # (for compatibility) - { - return new DERGeneralizedTime(value); - } - else if (oid.equals(X509Name.C) || oid.equals(X509Name.SN) || oid.equals(X509Name.DN_QUALIFIER) - || oid.equals(X509Name.TELEPHONE_NUMBER)) - { - return new DERPrintableString(value); - } - } - - return new DERUTF8String(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extension.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extension.java deleted file mode 100644 index 8a7defa95..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extension.java +++ /dev/null @@ -1,249 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERBoolean; - -/** - * an object for the elements in the X.509 V3 extension block. - * @deprecated use Extension - */ -public class X509Extension -{ - /** - * Subject Directory Attributes - */ - public static final ASN1ObjectIdentifier subjectDirectoryAttributes = new ASN1ObjectIdentifier("2.5.29.9"); - - /** - * Subject Key Identifier - */ - public static final ASN1ObjectIdentifier subjectKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.14"); - - /** - * Key Usage - */ - public static final ASN1ObjectIdentifier keyUsage = new ASN1ObjectIdentifier("2.5.29.15"); - - /** - * Private Key Usage Period - */ - public static final ASN1ObjectIdentifier privateKeyUsagePeriod = new ASN1ObjectIdentifier("2.5.29.16"); - - /** - * Subject Alternative Name - */ - public static final ASN1ObjectIdentifier subjectAlternativeName = new ASN1ObjectIdentifier("2.5.29.17"); - - /** - * Issuer Alternative Name - */ - public static final ASN1ObjectIdentifier issuerAlternativeName = new ASN1ObjectIdentifier("2.5.29.18"); - - /** - * Basic Constraints - */ - public static final ASN1ObjectIdentifier basicConstraints = new ASN1ObjectIdentifier("2.5.29.19"); - - /** - * CRL Number - */ - public static final ASN1ObjectIdentifier cRLNumber = new ASN1ObjectIdentifier("2.5.29.20"); - - /** - * Reason code - */ - public static final ASN1ObjectIdentifier reasonCode = new ASN1ObjectIdentifier("2.5.29.21"); - - /** - * Hold Instruction Code - */ - public static final ASN1ObjectIdentifier instructionCode = new ASN1ObjectIdentifier("2.5.29.23"); - - /** - * Invalidity Date - */ - public static final ASN1ObjectIdentifier invalidityDate = new ASN1ObjectIdentifier("2.5.29.24"); - - /** - * Delta CRL indicator - */ - public static final ASN1ObjectIdentifier deltaCRLIndicator = new ASN1ObjectIdentifier("2.5.29.27"); - - /** - * Issuing Distribution Point - */ - public static final ASN1ObjectIdentifier issuingDistributionPoint = new ASN1ObjectIdentifier("2.5.29.28"); - - /** - * Certificate Issuer - */ - public static final ASN1ObjectIdentifier certificateIssuer = new ASN1ObjectIdentifier("2.5.29.29"); - - /** - * Name Constraints - */ - public static final ASN1ObjectIdentifier nameConstraints = new ASN1ObjectIdentifier("2.5.29.30"); - - /** - * CRL Distribution Points - */ - public static final ASN1ObjectIdentifier cRLDistributionPoints = new ASN1ObjectIdentifier("2.5.29.31"); - - /** - * Certificate Policies - */ - public static final ASN1ObjectIdentifier certificatePolicies = new ASN1ObjectIdentifier("2.5.29.32"); - - /** - * Policy Mappings - */ - public static final ASN1ObjectIdentifier policyMappings = new ASN1ObjectIdentifier("2.5.29.33"); - - /** - * Authority Key Identifier - */ - public static final ASN1ObjectIdentifier authorityKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.35"); - - /** - * Policy Constraints - */ - public static final ASN1ObjectIdentifier policyConstraints = new ASN1ObjectIdentifier("2.5.29.36"); - - /** - * Extended Key Usage - */ - public static final ASN1ObjectIdentifier extendedKeyUsage = new ASN1ObjectIdentifier("2.5.29.37"); - - /** - * Freshest CRL - */ - public static final ASN1ObjectIdentifier freshestCRL = new ASN1ObjectIdentifier("2.5.29.46"); - - /** - * Inhibit Any Policy - */ - public static final ASN1ObjectIdentifier inhibitAnyPolicy = new ASN1ObjectIdentifier("2.5.29.54"); - - /** - * Authority Info Access - */ - public static final ASN1ObjectIdentifier authorityInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.1"); - - /** - * Subject Info Access - */ - public static final ASN1ObjectIdentifier subjectInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.11"); - - /** - * Logo Type - */ - public static final ASN1ObjectIdentifier logoType = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.12"); - - /** - * BiometricInfo - */ - public static final ASN1ObjectIdentifier biometricInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.2"); - - /** - * QCStatements - */ - public static final ASN1ObjectIdentifier qCStatements = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.3"); - - /** - * Audit identity extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier auditIdentity = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.4"); - - /** - * NoRevAvail extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier noRevAvail = new ASN1ObjectIdentifier("2.5.29.56"); - - /** - * TargetInformation extension in attribute certificates. - */ - public static final ASN1ObjectIdentifier targetInformation = new ASN1ObjectIdentifier("2.5.29.55"); - - boolean critical; - ASN1OctetString value; - - public X509Extension( - DERBoolean critical, - ASN1OctetString value) - { - this.critical = critical.isTrue(); - this.value = value; - } - - public X509Extension( - boolean critical, - ASN1OctetString value) - { - this.critical = critical; - this.value = value; - } - - public boolean isCritical() - { - return critical; - } - - public ASN1OctetString getValue() - { - return value; - } - - public ASN1Encodable getParsedValue() - { - return convertValueToObject(this); - } - - public int hashCode() - { - if (this.isCritical()) - { - return this.getValue().hashCode(); - } - - return ~this.getValue().hashCode(); - } - - public boolean equals( - Object o) - { - if (!(o instanceof X509Extension)) - { - return false; - } - - X509Extension other = (X509Extension)o; - - return other.getValue().equals(this.getValue()) - && (other.isCritical() == this.isCritical()); - } - - /** - * Convert the value of the passed in extension to an object - * @param ext the extension to parse - * @return the object the value string contains - * @exception IllegalArgumentException if conversion is not possible - */ - public static ASN1Primitive convertValueToObject( - X509Extension ext) - throws IllegalArgumentException - { - try - { - return ASN1Primitive.fromByteArray(ext.getValue().getOctets()); - } - catch (IOException e) - { - throw new IllegalArgumentException("can't convert extension: " + e); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extensions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extensions.java deleted file mode 100644 index edf116014..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Extensions.java +++ /dev/null @@ -1,489 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBoolean; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; - -/** - * @deprecated use Extensions - */ -public class X509Extensions - extends ASN1Object -{ - /** - * Subject Directory Attributes - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier SubjectDirectoryAttributes = new ASN1ObjectIdentifier("2.5.29.9"); - - /** - * Subject Key Identifier - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier SubjectKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.14"); - - /** - * Key Usage - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier KeyUsage = new ASN1ObjectIdentifier("2.5.29.15"); - - /** - * Private Key Usage Period - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier PrivateKeyUsagePeriod = new ASN1ObjectIdentifier("2.5.29.16"); - - /** - * Subject Alternative Name - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier SubjectAlternativeName = new ASN1ObjectIdentifier("2.5.29.17"); - - /** - * Issuer Alternative Name - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier IssuerAlternativeName = new ASN1ObjectIdentifier("2.5.29.18"); - - /** - * Basic Constraints - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier BasicConstraints = new ASN1ObjectIdentifier("2.5.29.19"); - - /** - * CRL Number - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier CRLNumber = new ASN1ObjectIdentifier("2.5.29.20"); - - /** - * Reason code - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier ReasonCode = new ASN1ObjectIdentifier("2.5.29.21"); - - /** - * Hold Instruction Code - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier InstructionCode = new ASN1ObjectIdentifier("2.5.29.23"); - - /** - * Invalidity Date - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier InvalidityDate = new ASN1ObjectIdentifier("2.5.29.24"); - - /** - * Delta CRL indicator - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier DeltaCRLIndicator = new ASN1ObjectIdentifier("2.5.29.27"); - - /** - * Issuing Distribution Point - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier IssuingDistributionPoint = new ASN1ObjectIdentifier("2.5.29.28"); - - /** - * Certificate Issuer - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier CertificateIssuer = new ASN1ObjectIdentifier("2.5.29.29"); - - /** - * Name Constraints - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier NameConstraints = new ASN1ObjectIdentifier("2.5.29.30"); - - /** - * CRL Distribution Points - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier CRLDistributionPoints = new ASN1ObjectIdentifier("2.5.29.31"); - - /** - * Certificate Policies - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier CertificatePolicies = new ASN1ObjectIdentifier("2.5.29.32"); - - /** - * Policy Mappings - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier PolicyMappings = new ASN1ObjectIdentifier("2.5.29.33"); - - /** - * Authority Key Identifier - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier AuthorityKeyIdentifier = new ASN1ObjectIdentifier("2.5.29.35"); - - /** - * Policy Constraints - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier PolicyConstraints = new ASN1ObjectIdentifier("2.5.29.36"); - - /** - * Extended Key Usage - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier ExtendedKeyUsage = new ASN1ObjectIdentifier("2.5.29.37"); - - /** - * Freshest CRL - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier FreshestCRL = new ASN1ObjectIdentifier("2.5.29.46"); - - /** - * Inhibit Any Policy - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier InhibitAnyPolicy = new ASN1ObjectIdentifier("2.5.29.54"); - - /** - * Authority Info Access - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier AuthorityInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.1"); - - /** - * Subject Info Access - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier SubjectInfoAccess = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.11"); - - /** - * Logo Type - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier LogoType = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.12"); - - /** - * BiometricInfo - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier BiometricInfo = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.2"); - - /** - * QCStatements - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier QCStatements = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.3"); - - /** - * Audit identity extension in attribute certificates. - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier AuditIdentity = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.1.4"); - - /** - * NoRevAvail extension in attribute certificates. - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier NoRevAvail = new ASN1ObjectIdentifier("2.5.29.56"); - - /** - * TargetInformation extension in attribute certificates. - * @deprecated use X509Extension value. - */ - public static final ASN1ObjectIdentifier TargetInformation = new ASN1ObjectIdentifier("2.5.29.55"); - - private Hashtable extensions = new Hashtable(); - private Vector ordering = new Vector(); - - public static X509Extensions getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static X509Extensions getInstance( - Object obj) - { - if (obj == null || obj instanceof X509Extensions) - { - return (X509Extensions)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new X509Extensions((ASN1Sequence)obj); - } - - if (obj instanceof Extensions) - { - return new X509Extensions((ASN1Sequence)((Extensions)obj).toASN1Primitive()); - } - - if (obj instanceof ASN1TaggedObject) - { - return getInstance(((ASN1TaggedObject)obj).getObject()); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - * - * the extensions are a list of constructed sequences, either with (OID, OctetString) or (OID, Boolean, OctetString) - */ - public X509Extensions( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Sequence s = ASN1Sequence.getInstance(e.nextElement()); - - if (s.size() == 3) - { - extensions.put(s.getObjectAt(0), new X509Extension(DERBoolean.getInstance(s.getObjectAt(1)), ASN1OctetString.getInstance(s.getObjectAt(2)))); - } - else if (s.size() == 2) - { - extensions.put(s.getObjectAt(0), new X509Extension(false, ASN1OctetString.getInstance(s.getObjectAt(1)))); - } - else - { - throw new IllegalArgumentException("Bad sequence size: " + s.size()); - } - - ordering.addElement(s.getObjectAt(0)); - } - } - - /** - * constructor from a table of extensions. - *

    - * it's is assumed the table contains OID/String pairs. - */ - public X509Extensions( - Hashtable extensions) - { - this(null, extensions); - } - - /** - * Constructor from a table of extensions with ordering. - *

    - * It's is assumed the table contains OID/String pairs. - * @deprecated use Extensions - */ - public X509Extensions( - Vector ordering, - Hashtable extensions) - { - Enumeration e; - - if (ordering == null) - { - e = extensions.keys(); - } - else - { - e = ordering.elements(); - } - - while (e.hasMoreElements()) - { - this.ordering.addElement(ASN1ObjectIdentifier.getInstance(e.nextElement())); - } - - e = this.ordering.elements(); - - while (e.hasMoreElements()) - { - ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(e.nextElement()); - X509Extension ext = (X509Extension)extensions.get(oid); - - this.extensions.put(oid, ext); - } - } - - /** - * Constructor from two vectors - * - * @param objectIDs a vector of the object identifiers. - * @param values a vector of the extension values. - * @deprecated use Extensions - */ - public X509Extensions( - Vector objectIDs, - Vector values) - { - Enumeration e = objectIDs.elements(); - - while (e.hasMoreElements()) - { - this.ordering.addElement(e.nextElement()); - } - - int count = 0; - - e = this.ordering.elements(); - - while (e.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)e.nextElement(); - X509Extension ext = (X509Extension)values.elementAt(count); - - this.extensions.put(oid, ext); - count++; - } - } - - /** - * return an Enumeration of the extension field's object ids. - */ - public Enumeration oids() - { - return ordering.elements(); - } - - /** - * return the extension represented by the object identifier - * passed in. - * - * @return the extension if it's present, null otherwise. - */ - public X509Extension getExtension( - DERObjectIdentifier oid) - { - return (X509Extension)extensions.get(oid); - } - - /** - * @deprecated - * @param oid - * @return - */ - public X509Extension getExtension( - ASN1ObjectIdentifier oid) - { - return (X509Extension)extensions.get(oid); - } - - /** - *

    -     *     Extensions        ::=   SEQUENCE SIZE (1..MAX) OF Extension
    -     *
    -     *     Extension         ::=   SEQUENCE {
    -     *        extnId            EXTENSION.&id ({ExtensionSet}),
    -     *        critical          BOOLEAN DEFAULT FALSE,
    -     *        extnValue         OCTET STRING }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - Enumeration e = ordering.elements(); - - while (e.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)e.nextElement(); - X509Extension ext = (X509Extension)extensions.get(oid); - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(oid); - - if (ext.isCritical()) - { - v.add(DERBoolean.TRUE); - } - - v.add(ext.getValue()); - - vec.add(new DERSequence(v)); - } - - return new DERSequence(vec); - } - - public boolean equivalent( - X509Extensions other) - { - if (extensions.size() != other.extensions.size()) - { - return false; - } - - Enumeration e1 = extensions.keys(); - - while (e1.hasMoreElements()) - { - Object key = e1.nextElement(); - - if (!extensions.get(key).equals(other.extensions.get(key))) - { - return false; - } - } - - return true; - } - - public ASN1ObjectIdentifier[] getExtensionOIDs() - { - return toOidArray(ordering); - } - - public ASN1ObjectIdentifier[] getNonCriticalExtensionOIDs() - { - return getExtensionOIDs(false); - } - - public ASN1ObjectIdentifier[] getCriticalExtensionOIDs() - { - return getExtensionOIDs(true); - } - - private ASN1ObjectIdentifier[] getExtensionOIDs(boolean isCritical) - { - Vector oidVec = new Vector(); - - for (int i = 0; i != ordering.size(); i++) - { - Object oid = ordering.elementAt(i); - - if (((X509Extension)extensions.get(oid)).isCritical() == isCritical) - { - oidVec.addElement(oid); - } - } - - return toOidArray(oidVec); - } - - private ASN1ObjectIdentifier[] toOidArray(Vector oidVec) - { - ASN1ObjectIdentifier[] oids = new ASN1ObjectIdentifier[oidVec.size()]; - - for (int i = 0; i != oids.length; i++) - { - oids[i] = (ASN1ObjectIdentifier)oidVec.elementAt(i); - } - return oids; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ExtensionsGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ExtensionsGenerator.java deleted file mode 100644 index 16c075274..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ExtensionsGenerator.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DEROctetString; - -/** - * Generator for X.509 extensions - * @deprecated use org.spongycastle.asn1.x509.ExtensionsGenerator - */ -public class X509ExtensionsGenerator -{ - private Hashtable extensions = new Hashtable(); - private Vector extOrdering = new Vector(); - - /** - * Reset the generator - */ - public void reset() - { - extensions = new Hashtable(); - extOrdering = new Vector(); - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public void addExtension( - DERObjectIdentifier oid, - boolean critical, - ASN1Encodable value) - { - addExtension(new ASN1ObjectIdentifier(oid.getId()), critical, value); - } - - /** - * @deprecated use ASN1ObjectIdentifier - */ - public void addExtension( - DERObjectIdentifier oid, - boolean critical, - byte[] value) - { - addExtension(new ASN1ObjectIdentifier(oid.getId()), critical, value); - } - - /** - * Add an extension with the given oid and the passed in value to be included - * in the OCTET STRING associated with the extension. - * - * @param oid OID for the extension. - * @param critical true if critical, false otherwise. - * @param value the ASN.1 object to be included in the extension. - */ - public void addExtension( - ASN1ObjectIdentifier oid, - boolean critical, - ASN1Encodable value) - { - try - { - this.addExtension(oid, critical, value.toASN1Primitive().getEncoded(ASN1Encoding.DER)); - } - catch (IOException e) - { - throw new IllegalArgumentException("error encoding value: " + e); - } - } - - /** - * Add an extension with the given oid and the passed in byte array to be wrapped in the - * OCTET STRING associated with the extension. - * - * @param oid OID for the extension. - * @param critical true if critical, false otherwise. - * @param value the byte array to be wrapped. - */ - public void addExtension( - ASN1ObjectIdentifier oid, - boolean critical, - byte[] value) - { - if (extensions.containsKey(oid)) - { - throw new IllegalArgumentException("extension " + oid + " already added"); - } - - extOrdering.addElement(oid); - extensions.put(oid, new X509Extension(critical, new DEROctetString(value))); - } - - /** - * Return true if there are no extension present in this generator. - * - * @return true if empty, false otherwise - */ - public boolean isEmpty() - { - return extOrdering.isEmpty(); - } - - /** - * Generate an X509Extensions object based on the current state of the generator. - * - * @return an X09Extensions object. - */ - public X509Extensions generate() - { - return new X509Extensions(extOrdering, extensions); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Name.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Name.java deleted file mode 100644 index 7d2fedf88..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509Name.java +++ /dev/null @@ -1,1379 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERUniversalString; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; - -/** - *
    - *     RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
    - *
    - *     RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
    - *
    - *     AttributeTypeAndValue ::= SEQUENCE {
    - *                                   type  OBJECT IDENTIFIER,
    - *                                   value ANY }
    - * 
    - * @deprecated use org.spongycastle.asn1.x500.X500Name. - */ -public class X509Name - extends ASN1Object -{ - /** - * country code - StringType(SIZE(2)) - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier C = new ASN1ObjectIdentifier("2.5.4.6"); - - /** - * organization - StringType(SIZE(1..64)) - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier O = new ASN1ObjectIdentifier("2.5.4.10"); - - /** - * organizational unit name - StringType(SIZE(1..64)) - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier OU = new ASN1ObjectIdentifier("2.5.4.11"); - - /** - * Title - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier T = new ASN1ObjectIdentifier("2.5.4.12"); - - /** - * common name - StringType(SIZE(1..64)) - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier CN = new ASN1ObjectIdentifier("2.5.4.3"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SN = new ASN1ObjectIdentifier("2.5.4.5"); - - /** - * street - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier STREET = new ASN1ObjectIdentifier("2.5.4.9"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SERIALNUMBER = SN; - - /** - * locality name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier L = new ASN1ObjectIdentifier("2.5.4.7"); - - /** - * state, or province name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier ST = new ASN1ObjectIdentifier("2.5.4.8"); - - /** - * Naming attributes of type X520name - */ - public static final ASN1ObjectIdentifier SURNAME = new ASN1ObjectIdentifier("2.5.4.4"); - public static final ASN1ObjectIdentifier GIVENNAME = new ASN1ObjectIdentifier("2.5.4.42"); - public static final ASN1ObjectIdentifier INITIALS = new ASN1ObjectIdentifier("2.5.4.43"); - public static final ASN1ObjectIdentifier GENERATION = new ASN1ObjectIdentifier("2.5.4.44"); - public static final ASN1ObjectIdentifier UNIQUE_IDENTIFIER = new ASN1ObjectIdentifier("2.5.4.45"); - - /** - * businessCategory - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier BUSINESS_CATEGORY = new ASN1ObjectIdentifier( - "2.5.4.15"); - - /** - * postalCode - DirectoryString(SIZE(1..40) - */ - public static final ASN1ObjectIdentifier POSTAL_CODE = new ASN1ObjectIdentifier( - "2.5.4.17"); - - /** - * dnQualifier - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier DN_QUALIFIER = new ASN1ObjectIdentifier( - "2.5.4.46"); - - /** - * RFC 3039 Pseudonym - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier PSEUDONYM = new ASN1ObjectIdentifier( - "2.5.4.65"); - - - /** - * RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z - */ - public static final ASN1ObjectIdentifier DATE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.1"); - - /** - * RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier PLACE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.2"); - - /** - * RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f" - */ - public static final ASN1ObjectIdentifier GENDER = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.3"); - - /** - * RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_CITIZENSHIP = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.4"); - - /** - * RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_RESIDENCE = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.5"); - - - /** - * ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier NAME_AT_BIRTH = new ASN1ObjectIdentifier("1.3.36.8.3.14"); - - /** - * RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF - * DirectoryString(SIZE(1..30)) - */ - public static final ASN1ObjectIdentifier POSTAL_ADDRESS = new ASN1ObjectIdentifier("2.5.4.16"); - - /** - * RFC 2256 dmdName - */ - public static final ASN1ObjectIdentifier DMD_NAME = new ASN1ObjectIdentifier("2.5.4.54"); - - /** - * id-at-telephoneNumber - */ - public static final ASN1ObjectIdentifier TELEPHONE_NUMBER = X509ObjectIdentifiers.id_at_telephoneNumber; - - /** - * id-at-name - */ - public static final ASN1ObjectIdentifier NAME = X509ObjectIdentifiers.id_at_name; - - /** - * Email address (RSA PKCS#9 extension) - IA5String. - *

    Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here. - * @deprecated use a X500NameStyle - */ - public static final ASN1ObjectIdentifier EmailAddress = PKCSObjectIdentifiers.pkcs_9_at_emailAddress; - - /** - * more from PKCS#9 - */ - public static final ASN1ObjectIdentifier UnstructuredName = PKCSObjectIdentifiers.pkcs_9_at_unstructuredName; - public static final ASN1ObjectIdentifier UnstructuredAddress = PKCSObjectIdentifiers.pkcs_9_at_unstructuredAddress; - - /** - * email address in Verisign certificates - */ - public static final ASN1ObjectIdentifier E = EmailAddress; - - /* - * others... - */ - public static final ASN1ObjectIdentifier DC = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"); - - /** - * LDAP User id. - */ - public static final ASN1ObjectIdentifier UID = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"); - - /** - * determines whether or not strings should be processed and printed - * from back to front. - */ - public static boolean DefaultReverse = false; - - /** - * default look up table translating OID values into their common symbols following - * the convention in RFC 2253 with a few extras - */ - public static final Hashtable DefaultSymbols = new Hashtable(); - - /** - * look up table translating OID values into their common symbols following the convention in RFC 2253 - * - */ - public static final Hashtable RFC2253Symbols = new Hashtable(); - - /** - * look up table translating OID values into their common symbols following the convention in RFC 1779 - * - */ - public static final Hashtable RFC1779Symbols = new Hashtable(); - - /** - * look up table translating common symbols into their OIDS. - */ - public static final Hashtable DefaultLookUp = new Hashtable(); - - /** - * look up table translating OID values into their common symbols - * @deprecated use DefaultSymbols - */ - public static final Hashtable OIDLookUp = DefaultSymbols; - - /** - * look up table translating string values into their OIDS - - * @deprecated use DefaultLookUp - */ - public static final Hashtable SymbolLookUp = DefaultLookUp; - - private static final Boolean TRUE = new Boolean(true); // for J2ME compatibility - private static final Boolean FALSE = new Boolean(false); - - static - { - DefaultSymbols.put(C, "C"); - DefaultSymbols.put(O, "O"); - DefaultSymbols.put(T, "T"); - DefaultSymbols.put(OU, "OU"); - DefaultSymbols.put(CN, "CN"); - DefaultSymbols.put(L, "L"); - DefaultSymbols.put(ST, "ST"); - DefaultSymbols.put(SN, "SERIALNUMBER"); - DefaultSymbols.put(EmailAddress, "E"); - DefaultSymbols.put(DC, "DC"); - DefaultSymbols.put(UID, "UID"); - DefaultSymbols.put(STREET, "STREET"); - DefaultSymbols.put(SURNAME, "SURNAME"); - DefaultSymbols.put(GIVENNAME, "GIVENNAME"); - DefaultSymbols.put(INITIALS, "INITIALS"); - DefaultSymbols.put(GENERATION, "GENERATION"); - DefaultSymbols.put(UnstructuredAddress, "unstructuredAddress"); - DefaultSymbols.put(UnstructuredName, "unstructuredName"); - DefaultSymbols.put(UNIQUE_IDENTIFIER, "UniqueIdentifier"); - DefaultSymbols.put(DN_QUALIFIER, "DN"); - DefaultSymbols.put(PSEUDONYM, "Pseudonym"); - DefaultSymbols.put(POSTAL_ADDRESS, "PostalAddress"); - DefaultSymbols.put(NAME_AT_BIRTH, "NameAtBirth"); - DefaultSymbols.put(COUNTRY_OF_CITIZENSHIP, "CountryOfCitizenship"); - DefaultSymbols.put(COUNTRY_OF_RESIDENCE, "CountryOfResidence"); - DefaultSymbols.put(GENDER, "Gender"); - DefaultSymbols.put(PLACE_OF_BIRTH, "PlaceOfBirth"); - DefaultSymbols.put(DATE_OF_BIRTH, "DateOfBirth"); - DefaultSymbols.put(POSTAL_CODE, "PostalCode"); - DefaultSymbols.put(BUSINESS_CATEGORY, "BusinessCategory"); - DefaultSymbols.put(TELEPHONE_NUMBER, "TelephoneNumber"); - DefaultSymbols.put(NAME, "Name"); - - RFC2253Symbols.put(C, "C"); - RFC2253Symbols.put(O, "O"); - RFC2253Symbols.put(OU, "OU"); - RFC2253Symbols.put(CN, "CN"); - RFC2253Symbols.put(L, "L"); - RFC2253Symbols.put(ST, "ST"); - RFC2253Symbols.put(STREET, "STREET"); - RFC2253Symbols.put(DC, "DC"); - RFC2253Symbols.put(UID, "UID"); - - RFC1779Symbols.put(C, "C"); - RFC1779Symbols.put(O, "O"); - RFC1779Symbols.put(OU, "OU"); - RFC1779Symbols.put(CN, "CN"); - RFC1779Symbols.put(L, "L"); - RFC1779Symbols.put(ST, "ST"); - RFC1779Symbols.put(STREET, "STREET"); - - DefaultLookUp.put("c", C); - DefaultLookUp.put("o", O); - DefaultLookUp.put("t", T); - DefaultLookUp.put("ou", OU); - DefaultLookUp.put("cn", CN); - DefaultLookUp.put("l", L); - DefaultLookUp.put("st", ST); - DefaultLookUp.put("sn", SN); - DefaultLookUp.put("serialnumber", SN); - DefaultLookUp.put("street", STREET); - DefaultLookUp.put("emailaddress", E); - DefaultLookUp.put("dc", DC); - DefaultLookUp.put("e", E); - DefaultLookUp.put("uid", UID); - DefaultLookUp.put("surname", SURNAME); - DefaultLookUp.put("givenname", GIVENNAME); - DefaultLookUp.put("initials", INITIALS); - DefaultLookUp.put("generation", GENERATION); - DefaultLookUp.put("unstructuredaddress", UnstructuredAddress); - DefaultLookUp.put("unstructuredname", UnstructuredName); - DefaultLookUp.put("uniqueidentifier", UNIQUE_IDENTIFIER); - DefaultLookUp.put("dn", DN_QUALIFIER); - DefaultLookUp.put("pseudonym", PSEUDONYM); - DefaultLookUp.put("postaladdress", POSTAL_ADDRESS); - DefaultLookUp.put("nameofbirth", NAME_AT_BIRTH); - DefaultLookUp.put("countryofcitizenship", COUNTRY_OF_CITIZENSHIP); - DefaultLookUp.put("countryofresidence", COUNTRY_OF_RESIDENCE); - DefaultLookUp.put("gender", GENDER); - DefaultLookUp.put("placeofbirth", PLACE_OF_BIRTH); - DefaultLookUp.put("dateofbirth", DATE_OF_BIRTH); - DefaultLookUp.put("postalcode", POSTAL_CODE); - DefaultLookUp.put("businesscategory", BUSINESS_CATEGORY); - DefaultLookUp.put("telephonenumber", TELEPHONE_NUMBER); - DefaultLookUp.put("name", NAME); - } - - private X509NameEntryConverter converter = null; - private Vector ordering = new Vector(); - private Vector values = new Vector(); - private Vector added = new Vector(); - - private ASN1Sequence seq; - - private boolean isHashCodeCalculated; - private int hashCodeValue; - - /** - * Return a X509Name based on the passed in tagged object. - * - * @param obj tag object holding name. - * @param explicit true if explicitly tagged false otherwise. - * @return the X509Name - */ - public static X509Name getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static X509Name getInstance( - Object obj) - { - if (obj == null || obj instanceof X509Name) - { - return (X509Name)obj; - } - else if (obj instanceof X500Name) - { - return new X509Name(ASN1Sequence.getInstance(((X500Name)obj).toASN1Primitive())); - } - else if (obj != null) - { - return new X509Name(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - protected X509Name() - { - // constructure use by new X500 Name class - } - /** - * Constructor from ASN1Sequence - * - * the principal will be a list of constructed sets, each containing an (OID, String) pair. - * @deprecated use X500Name.getInstance() - */ - public X509Name( - ASN1Sequence seq) - { - this.seq = seq; - - Enumeration e = seq.getObjects(); - - while (e.hasMoreElements()) - { - ASN1Set set = ASN1Set.getInstance(((ASN1Encodable)e.nextElement()).toASN1Primitive()); - - for (int i = 0; i < set.size(); i++) - { - ASN1Sequence s = ASN1Sequence.getInstance(set.getObjectAt(i).toASN1Primitive()); - - if (s.size() != 2) - { - throw new IllegalArgumentException("badly sized pair"); - } - - ordering.addElement(ASN1ObjectIdentifier.getInstance(s.getObjectAt(0))); - - ASN1Encodable value = s.getObjectAt(1); - if (value instanceof ASN1String && !(value instanceof DERUniversalString)) - { - String v = ((ASN1String)value).getString(); - if (v.length() > 0 && v.charAt(0) == '#') - { - values.addElement("\\" + v); - } - else - { - values.addElement(v); - } - } - else - { - try - { - values.addElement("#" + bytesToString(Hex.encode(value.toASN1Primitive().getEncoded(ASN1Encoding.DER)))); - } - catch (IOException e1) - { - throw new IllegalArgumentException("cannot encode value"); - } - } - added.addElement((i != 0) ? TRUE : FALSE); // to allow earlier JDK compatibility - } - } - } - - /** - * constructor from a table of attributes. - *

    - * it's is assumed the table contains OID/String pairs, and the contents - * of the table are copied into an internal table as part of the - * construction process. - *

    - * Note: if the name you are trying to generate should be - * following a specific ordering, you should use the constructor - * with the ordering specified below. - * @deprecated use an ordered constructor! The hashtable ordering is rarely correct - */ - public X509Name( - Hashtable attributes) - { - this(null, attributes); - } - - /** - * Constructor from a table of attributes with ordering. - *

    - * it's is assumed the table contains OID/String pairs, and the contents - * of the table are copied into an internal table as part of the - * construction process. The ordering vector should contain the OIDs - * in the order they are meant to be encoded or printed in toString. - */ - public X509Name( - Vector ordering, - Hashtable attributes) - { - this(ordering, attributes, new X509DefaultEntryConverter()); - } - - /** - * Constructor from a table of attributes with ordering. - *

    - * it's is assumed the table contains OID/String pairs, and the contents - * of the table are copied into an internal table as part of the - * construction process. The ordering vector should contain the OIDs - * in the order they are meant to be encoded or printed in toString. - *

    - * The passed in converter will be used to convert the strings into their - * ASN.1 counterparts. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - Vector ordering, - Hashtable attributes, - X509NameEntryConverter converter) - { - this.converter = converter; - - if (ordering != null) - { - for (int i = 0; i != ordering.size(); i++) - { - this.ordering.addElement(ordering.elementAt(i)); - this.added.addElement(FALSE); - } - } - else - { - Enumeration e = attributes.keys(); - - while (e.hasMoreElements()) - { - this.ordering.addElement(e.nextElement()); - this.added.addElement(FALSE); - } - } - - for (int i = 0; i != this.ordering.size(); i++) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)this.ordering.elementAt(i); - - if (attributes.get(oid) == null) - { - throw new IllegalArgumentException("No attribute for object id - " + oid.getId() + " - passed to distinguished name"); - } - - this.values.addElement(attributes.get(oid)); // copy the hash table - } - } - - /** - * Takes two vectors one of the oids and the other of the values. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - Vector oids, - Vector values) - { - this(oids, values, new X509DefaultEntryConverter()); - } - - /** - * Takes two vectors one of the oids and the other of the values. - *

    - * The passed in converter will be used to convert the strings into their - * ASN.1 counterparts. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - Vector oids, - Vector values, - X509NameEntryConverter converter) - { - this.converter = converter; - - if (oids.size() != values.size()) - { - throw new IllegalArgumentException("oids vector must be same length as values."); - } - - for (int i = 0; i < oids.size(); i++) - { - this.ordering.addElement(oids.elementAt(i)); - this.values.addElement(values.elementAt(i)); - this.added.addElement(FALSE); - } - } - -// private Boolean isEncoded(String s) -// { -// if (s.charAt(0) == '#') -// { -// return TRUE; -// } -// -// return FALSE; -// } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - String dirName) - { - this(DefaultReverse, DefaultLookUp, dirName); - } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes with each - * string value being converted to its associated ASN.1 type using the passed - * in converter. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - String dirName, - X509NameEntryConverter converter) - { - this(DefaultReverse, DefaultLookUp, dirName, converter); - } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes. If reverse - * is true, create the encoded version of the sequence starting from the - * last element in the string. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - boolean reverse, - String dirName) - { - this(reverse, DefaultLookUp, dirName); - } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes with each - * string value being converted to its associated ASN.1 type using the passed - * in converter. If reverse is true the ASN.1 sequence representing the DN will - * be built by starting at the end of the string, rather than the start. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - boolean reverse, - String dirName, - X509NameEntryConverter converter) - { - this(reverse, DefaultLookUp, dirName, converter); - } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes. lookUp - * should provide a table of lookups, indexed by lowercase only strings and - * yielding a ASN1ObjectIdentifier, other than that OID. and numeric oids - * will be processed automatically. - *
    - * If reverse is true, create the encoded version of the sequence - * starting from the last element in the string. - * @param reverse true if we should start scanning from the end (RFC 2553). - * @param lookUp table of names and their oids. - * @param dirName the X.500 string to be parsed. - * @deprecated use X500Name, X500NameBuilder - */ - public X509Name( - boolean reverse, - Hashtable lookUp, - String dirName) - { - this(reverse, lookUp, dirName, new X509DefaultEntryConverter()); - } - - private ASN1ObjectIdentifier decodeOID( - String name, - Hashtable lookUp) - { - name = name.trim(); - if (Strings.toUpperCase(name).startsWith("OID.")) - { - return new ASN1ObjectIdentifier(name.substring(4)); - } - else if (name.charAt(0) >= '0' && name.charAt(0) <= '9') - { - return new ASN1ObjectIdentifier(name); - } - - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)lookUp.get(Strings.toLowerCase(name)); - if (oid == null) - { - throw new IllegalArgumentException("Unknown object id - " + name + " - passed to distinguished name"); - } - - return oid; - } - - private String unescape(String elt) - { - if (elt.length() == 0 || (elt.indexOf('\\') < 0 && elt.indexOf('"') < 0)) - { - return elt.trim(); - } - - char[] elts = elt.toCharArray(); - boolean escaped = false; - boolean quoted = false; - StringBuffer buf = new StringBuffer(elt.length()); - int start = 0; - - // if it's an escaped hash string and not an actual encoding in string form - // we need to leave it escaped. - if (elts[0] == '\\') - { - if (elts[1] == '#') - { - start = 2; - buf.append("\\#"); - } - } - - boolean nonWhiteSpaceEncountered = false; - int lastEscaped = 0; - - for (int i = start; i != elts.length; i++) - { - char c = elts[i]; - - if (c != ' ') - { - nonWhiteSpaceEncountered = true; - } - - if (c == '"') - { - if (!escaped) - { - quoted = !quoted; - } - else - { - buf.append(c); - } - escaped = false; - } - else if (c == '\\' && !(escaped || quoted)) - { - escaped = true; - lastEscaped = buf.length(); - } - else - { - if (c == ' ' && !escaped && !nonWhiteSpaceEncountered) - { - continue; - } - buf.append(c); - escaped = false; - } - } - - if (buf.length() > 0) - { - while (buf.charAt(buf.length() - 1) == ' ' && lastEscaped != (buf.length() - 1)) - { - buf.setLength(buf.length() - 1); - } - } - - return buf.toString(); - } - - /** - * Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or - * some such, converting it into an ordered set of name attributes. lookUp - * should provide a table of lookups, indexed by lowercase only strings and - * yielding a ASN1ObjectIdentifier, other than that OID. and numeric oids - * will be processed automatically. The passed in converter is used to convert the - * string values to the right of each equals sign to their ASN.1 counterparts. - *
    - * @param reverse true if we should start scanning from the end, false otherwise. - * @param lookUp table of names and oids. - * @param dirName the string dirName - * @param converter the converter to convert string values into their ASN.1 equivalents - */ - public X509Name( - boolean reverse, - Hashtable lookUp, - String dirName, - X509NameEntryConverter converter) - { - this.converter = converter; - X509NameTokenizer nTok = new X509NameTokenizer(dirName); - - while (nTok.hasMoreTokens()) - { - String token = nTok.nextToken(); - - if (token.indexOf('+') > 0) - { - X509NameTokenizer pTok = new X509NameTokenizer(token, '+'); - - addEntry(lookUp, pTok.nextToken(), FALSE); - - while (pTok.hasMoreTokens()) - { - addEntry(lookUp, pTok.nextToken(), TRUE); - } - } - else - { - addEntry(lookUp, token, FALSE); - } - } - - if (reverse) - { - Vector o = new Vector(); - Vector v = new Vector(); - Vector a = new Vector(); - - int count = 1; - - for (int i = 0; i < this.ordering.size(); i++) - { - if (((Boolean)this.added.elementAt(i)).booleanValue()) - { - o.insertElementAt(this.ordering.elementAt(i), count); - v.insertElementAt(this.values.elementAt(i), count); - a.insertElementAt(this.added.elementAt(i), count); - count++; - } - else - { - o.insertElementAt(this.ordering.elementAt(i), 0); - v.insertElementAt(this.values.elementAt(i), 0); - a.insertElementAt(this.added.elementAt(i), 0); - count = 1; - } - } - - this.ordering = o; - this.values = v; - this.added = a; - } - } - - private void addEntry(Hashtable lookUp, String token, Boolean isAdded) - { - X509NameTokenizer vTok; - String name; - String value;ASN1ObjectIdentifier oid; - vTok = new X509NameTokenizer(token, '='); - - name = vTok.nextToken(); - - if (!vTok.hasMoreTokens()) - { - throw new IllegalArgumentException("badly formatted directory string"); - } - - value = vTok.nextToken(); - - oid = decodeOID(name, lookUp); - - this.ordering.addElement(oid); - this.values.addElement(unescape(value)); - this.added.addElement(isAdded); - } - - /** - * return a vector of the oids in the name, in the order they were found. - */ - public Vector getOIDs() - { - Vector v = new Vector(); - - for (int i = 0; i != ordering.size(); i++) - { - v.addElement(ordering.elementAt(i)); - } - - return v; - } - - /** - * return a vector of the values found in the name, in the order they - * were found. - */ - public Vector getValues() - { - Vector v = new Vector(); - - for (int i = 0; i != values.size(); i++) - { - v.addElement(values.elementAt(i)); - } - - return v; - } - - /** - * return a vector of the values found in the name, in the order they - * were found, with the DN label corresponding to passed in oid. - */ - public Vector getValues( - ASN1ObjectIdentifier oid) - { - Vector v = new Vector(); - - for (int i = 0; i != values.size(); i++) - { - if (ordering.elementAt(i).equals(oid)) - { - String val = (String)values.elementAt(i); - - if (val.length() > 2 && val.charAt(0) == '\\' && val.charAt(1) == '#') - { - v.addElement(val.substring(1)); - } - else - { - v.addElement(val); - } - } - } - - return v; - } - - public ASN1Primitive toASN1Primitive() - { - if (seq == null) - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - ASN1EncodableVector sVec = new ASN1EncodableVector(); - ASN1ObjectIdentifier lstOid = null; - - for (int i = 0; i != ordering.size(); i++) - { - ASN1EncodableVector v = new ASN1EncodableVector(); - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)ordering.elementAt(i); - - v.add(oid); - - String str = (String)values.elementAt(i); - - v.add(converter.getConvertedValue(oid, str)); - - if (lstOid == null - || ((Boolean)this.added.elementAt(i)).booleanValue()) - { - sVec.add(new DERSequence(v)); - } - else - { - vec.add(new DERSet(sVec)); - sVec = new ASN1EncodableVector(); - - sVec.add(new DERSequence(v)); - } - - lstOid = oid; - } - - vec.add(new DERSet(sVec)); - - seq = new DERSequence(vec); - } - - return seq; - } - - /** - * @param inOrder if true the order of both X509 names must be the same, - * as well as the values associated with each element. - */ - public boolean equals(Object obj, boolean inOrder) - { - if (!inOrder) - { - return this.equals(obj); - } - - if (obj == this) - { - return true; - } - - if (!(obj instanceof X509Name || obj instanceof ASN1Sequence)) - { - return false; - } - - ASN1Primitive derO = ((ASN1Encodable)obj).toASN1Primitive(); - - if (this.toASN1Primitive().equals(derO)) - { - return true; - } - - X509Name other; - - try - { - other = X509Name.getInstance(obj); - } - catch (IllegalArgumentException e) - { - return false; - } - - int orderingSize = ordering.size(); - - if (orderingSize != other.ordering.size()) - { - return false; - } - - for (int i = 0; i < orderingSize; i++) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)ordering.elementAt(i); - ASN1ObjectIdentifier oOid = (ASN1ObjectIdentifier)other.ordering.elementAt(i); - - if (oid.equals(oOid)) - { - String value = (String)values.elementAt(i); - String oValue = (String)other.values.elementAt(i); - - if (!equivalentStrings(value, oValue)) - { - return false; - } - } - else - { - return false; - } - } - - return true; - } - - public int hashCode() - { - if (isHashCodeCalculated) - { - return hashCodeValue; - } - - isHashCodeCalculated = true; - - // this needs to be order independent, like equals - for (int i = 0; i != ordering.size(); i += 1) - { - String value = (String)values.elementAt(i); - - value = canonicalize(value); - value = stripInternalSpaces(value); - - hashCodeValue ^= ordering.elementAt(i).hashCode(); - hashCodeValue ^= value.hashCode(); - } - - return hashCodeValue; - } - - /** - * test for equality - note: case is ignored. - */ - public boolean equals(Object obj) - { - if (obj == this) - { - return true; - } - - if (!(obj instanceof X509Name || obj instanceof ASN1Sequence)) - { - return false; - } - - ASN1Primitive derO = ((ASN1Encodable)obj).toASN1Primitive(); - - if (this.toASN1Primitive().equals(derO)) - { - return true; - } - - X509Name other; - - try - { - other = X509Name.getInstance(obj); - } - catch (IllegalArgumentException e) - { - return false; - } - - int orderingSize = ordering.size(); - - if (orderingSize != other.ordering.size()) - { - return false; - } - - boolean[] indexes = new boolean[orderingSize]; - int start, end, delta; - - if (ordering.elementAt(0).equals(other.ordering.elementAt(0))) // guess forward - { - start = 0; - end = orderingSize; - delta = 1; - } - else // guess reversed - most common problem - { - start = orderingSize - 1; - end = -1; - delta = -1; - } - - for (int i = start; i != end; i += delta) - { - boolean found = false; - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)ordering.elementAt(i); - String value = (String)values.elementAt(i); - - for (int j = 0; j < orderingSize; j++) - { - if (indexes[j]) - { - continue; - } - - ASN1ObjectIdentifier oOid = (ASN1ObjectIdentifier)other.ordering.elementAt(j); - - if (oid.equals(oOid)) - { - String oValue = (String)other.values.elementAt(j); - - if (equivalentStrings(value, oValue)) - { - indexes[j] = true; - found = true; - break; - } - } - } - - if (!found) - { - return false; - } - } - - return true; - } - - private boolean equivalentStrings(String s1, String s2) - { - String value = canonicalize(s1); - String oValue = canonicalize(s2); - - if (!value.equals(oValue)) - { - value = stripInternalSpaces(value); - oValue = stripInternalSpaces(oValue); - - if (!value.equals(oValue)) - { - return false; - } - } - - return true; - } - - private String canonicalize(String s) - { - String value = Strings.toLowerCase(s.trim()); - - if (value.length() > 0 && value.charAt(0) == '#') - { - ASN1Primitive obj = decodeObject(value); - - if (obj instanceof ASN1String) - { - value = Strings.toLowerCase(((ASN1String)obj).getString().trim()); - } - } - - return value; - } - - private ASN1Primitive decodeObject(String oValue) - { - try - { - return ASN1Primitive.fromByteArray(Hex.decode(oValue.substring(1))); - } - catch (IOException e) - { - throw new IllegalStateException("unknown encoding in name: " + e); - } - } - - private String stripInternalSpaces( - String str) - { - StringBuffer res = new StringBuffer(); - - if (str.length() != 0) - { - char c1 = str.charAt(0); - - res.append(c1); - - for (int k = 1; k < str.length(); k++) - { - char c2 = str.charAt(k); - if (!(c1 == ' ' && c2 == ' ')) - { - res.append(c2); - } - c1 = c2; - } - } - - return res.toString(); - } - - private void appendValue( - StringBuffer buf, - Hashtable oidSymbols, - ASN1ObjectIdentifier oid, - String value) - { - String sym = (String)oidSymbols.get(oid); - - if (sym != null) - { - buf.append(sym); - } - else - { - buf.append(oid.getId()); - } - - buf.append('='); - - int start = buf.length(); - buf.append(value); - int end = buf.length(); - - if (value.length() >= 2 && value.charAt(0) == '\\' && value.charAt(1) == '#') - { - start += 2; - } - - while (start < end && buf.charAt(start) == ' ') - { - buf.insert(start, "\\"); - start += 2; - ++end; - } - - while (--end > start && buf.charAt(end) == ' ') - { - buf.insert(end, '\\'); - } - - while (start <= end) - { - switch (buf.charAt(start)) - { - case ',': - case '"': - case '\\': - case '+': - case '=': - case '<': - case '>': - case ';': - buf.insert(start, "\\"); - start += 2; - ++end; - break; - default: - ++start; - break; - } - } - } - - /** - * convert the structure to a string - if reverse is true the - * oids and values are listed out starting with the last element - * in the sequence (ala RFC 2253), otherwise the string will begin - * with the first element of the structure. If no string definition - * for the oid is found in oidSymbols the string value of the oid is - * added. Two standard symbol tables are provided DefaultSymbols, and - * RFC2253Symbols as part of this class. - * - * @param reverse if true start at the end of the sequence and work back. - * @param oidSymbols look up table strings for oids. - */ - public String toString( - boolean reverse, - Hashtable oidSymbols) - { - StringBuffer buf = new StringBuffer(); - Vector components = new Vector(); - boolean first = true; - - StringBuffer ava = null; - - for (int i = 0; i < ordering.size(); i++) - { - if (((Boolean)added.elementAt(i)).booleanValue()) - { - ava.append('+'); - appendValue(ava, oidSymbols, - (ASN1ObjectIdentifier)ordering.elementAt(i), - (String)values.elementAt(i)); - } - else - { - ava = new StringBuffer(); - appendValue(ava, oidSymbols, - (ASN1ObjectIdentifier)ordering.elementAt(i), - (String)values.elementAt(i)); - components.addElement(ava); - } - } - - if (reverse) - { - for (int i = components.size() - 1; i >= 0; i--) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - buf.append(components.elementAt(i).toString()); - } - } - else - { - for (int i = 0; i < components.size(); i++) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - buf.append(components.elementAt(i).toString()); - } - } - - return buf.toString(); - } - - private String bytesToString( - byte[] data) - { - char[] cs = new char[data.length]; - - for (int i = 0; i != cs.length; i++) - { - cs[i] = (char)(data[i] & 0xff); - } - - return new String(cs); - } - - public String toString() - { - return toString(DefaultReverse, DefaultSymbols); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameEntryConverter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameEntryConverter.java deleted file mode 100644 index f831582d2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameEntryConverter.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.asn1.x509; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.util.Strings; - -/** - * It turns out that the number of standard ways the fields in a DN should be - * encoded into their ASN.1 counterparts is rapidly approaching the - * number of machines on the internet. By default the X509Name class - * will produce UTF8Strings in line with the current recommendations (RFC 3280). - *

    - * An example of an encoder look like below: - *

    - * public class X509DirEntryConverter
    - *     extends X509NameEntryConverter
    - * {
    - *     public ASN1Primitive getConvertedValue(
    - *         ASN1ObjectIdentifier  oid,
    - *         String               value)
    - *     {
    - *         if (str.length() != 0 && str.charAt(0) == '#')
    - *         {
    - *             return convertHexEncoded(str, 1);
    - *         }
    - *         if (oid.equals(EmailAddress))
    - *         {
    - *             return new DERIA5String(str);
    - *         }
    - *         else if (canBePrintable(str))
    - *         {
    - *             return new DERPrintableString(str);
    - *         }
    - *         else if (canBeUTF8(str))
    - *         {
    - *             return new DERUTF8String(str);
    - *         }
    - *         else
    - *         {
    - *             return new DERBMPString(str);
    - *         }
    - *     }
    - * }
    - */
    -public abstract class X509NameEntryConverter
    -{
    -    /**
    -     * Convert an inline encoded hex string rendition of an ASN.1
    -     * object back into its corresponding ASN.1 object.
    -     * 
    -     * @param str the hex encoded object
    -     * @param off the index at which the encoding starts
    -     * @return the decoded object
    -     */
    -    protected ASN1Primitive convertHexEncoded(
    -        String  str,
    -        int     off)
    -        throws IOException
    -    {
    -        str = Strings.toLowerCase(str);
    -        byte[] data = new byte[(str.length() - off) / 2];
    -        for (int index = 0; index != data.length; index++)
    -        {
    -            char left = str.charAt((index * 2) + off);
    -            char right = str.charAt((index * 2) + off + 1);
    -            
    -            if (left < 'a')
    -            {
    -                data[index] = (byte)((left - '0') << 4);
    -            }
    -            else
    -            {
    -                data[index] = (byte)((left - 'a' + 10) << 4);
    -            }
    -            if (right < 'a')
    -            {
    -                data[index] |= (byte)(right - '0');
    -            }
    -            else
    -            {
    -                data[index] |= (byte)(right - 'a' + 10);
    -            }
    -        }
    -
    -        ASN1InputStream aIn = new ASN1InputStream(data);
    -                                            
    -        return aIn.readObject();
    -    }
    -    
    -    /**
    -     * return true if the passed in String can be represented without
    -     * loss as a PrintableString, false otherwise.
    -     */
    -    protected boolean canBePrintable(
    -        String  str)
    -    {
    -        return DERPrintableString.isPrintableString(str);
    -    }
    -    
    -    /**
    -     * Convert the passed in String value into the appropriate ASN.1
    -     * encoded object.
    -     * 
    -     * @param oid the oid associated with the value in the DN.
    -     * @param value the value of the particular DN component.
    -     * @return the ASN.1 equivalent for the value.
    -     */
    -    public abstract ASN1Primitive getConvertedValue(ASN1ObjectIdentifier oid, String value);
    -}
    diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameTokenizer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameTokenizer.java
    deleted file mode 100644
    index 864f0e81c..000000000
    --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509NameTokenizer.java
    +++ /dev/null
    @@ -1,91 +0,0 @@
    -package org.spongycastle.asn1.x509;
    -
    -/**
    - * class for breaking up an X500 Name into it's component tokens, ala
    - * java.util.StringTokenizer. We need this class as some of the
    - * lightweight Java environment don't support classes like
    - * StringTokenizer.
    - * @deprecated use X500NameTokenizer
    - */
    -public class X509NameTokenizer
    -{
    -    private String          value;
    -    private int             index;
    -    private char separator;
    -    private StringBuffer    buf = new StringBuffer();
    -
    -    public X509NameTokenizer(
    -        String  oid)
    -    {
    -        this(oid, ',');
    -    }
    -    
    -    public X509NameTokenizer(
    -        String  oid,
    -        char separator)
    -    {
    -        this.value = oid;
    -        this.index = -1;
    -        this.separator = separator;
    -    }
    -
    -    public boolean hasMoreTokens()
    -    {
    -        return (index != value.length());
    -    }
    -
    -    public String nextToken()
    -    {
    -        if (index == value.length())
    -        {
    -            return null;
    -        }
    -
    -        int     end = index + 1;
    -        boolean quoted = false;
    -        boolean escaped = false;
    -
    -        buf.setLength(0);
    -
    -        while (end != value.length())
    -        {
    -            char    c = value.charAt(end);
    -
    -            if (c == '"')
    -            {
    -                if (!escaped)
    -                {
    -                    quoted = !quoted;
    -                }
    -                buf.append(c);
    -                escaped = false;
    -            }
    -            else
    -            {
    -                if (escaped || quoted)
    -                {
    -                    buf.append(c);
    -                    escaped = false;
    -                }
    -                else if (c == '\\')
    -                {
    -                    buf.append(c);
    -                    escaped = true;
    -                }
    -                else if (c == separator)
    -                {
    -                    break;
    -                }
    -                else
    -                {
    -                    buf.append(c);
    -                }
    -            }
    -            end++;
    -        }
    -
    -        index = end;
    -
    -        return buf.toString();
    -    }
    -}
    diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ObjectIdentifiers.java
    deleted file mode 100644
    index a760411bd..000000000
    --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/X509ObjectIdentifiers.java
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -package org.spongycastle.asn1.x509;
    -
    -import org.spongycastle.asn1.ASN1ObjectIdentifier;
    -
    -public interface X509ObjectIdentifiers
    -{
    -    
    -    /** Subject RDN components: commonName = 2.5.4.3 */
    -    static final ASN1ObjectIdentifier    commonName              = new ASN1ObjectIdentifier("2.5.4.3");
    -    /** Subject RDN components: countryName = 2.5.4.6 */
    -    static final ASN1ObjectIdentifier    countryName             = new ASN1ObjectIdentifier("2.5.4.6");
    -    /** Subject RDN components: localityName = 2.5.4.7 */
    -    static final ASN1ObjectIdentifier    localityName            = new ASN1ObjectIdentifier("2.5.4.7");
    -    /** Subject RDN components: stateOrProvinceName = 2.5.4.8 */
    -    static final ASN1ObjectIdentifier    stateOrProvinceName     = new ASN1ObjectIdentifier("2.5.4.8");
    -    /** Subject RDN components: organization = 2.5.4.10 */
    -    static final ASN1ObjectIdentifier    organization            = new ASN1ObjectIdentifier("2.5.4.10");
    -    /** Subject RDN components: organizationalUnitName = 2.5.4.11 */
    -    static final ASN1ObjectIdentifier    organizationalUnitName  = new ASN1ObjectIdentifier("2.5.4.11");
    -
    -    /** Subject RDN components: telephone_number = 2.5.4.20 */
    -    static final ASN1ObjectIdentifier    id_at_telephoneNumber   = new ASN1ObjectIdentifier("2.5.4.20");
    -    /** Subject RDN components: name = 2.5.4.41 */
    -    static final ASN1ObjectIdentifier    id_at_name              = new ASN1ObjectIdentifier("2.5.4.41");
    -
    -    /**
    -     * id-SHA1 OBJECT IDENTIFIER ::=    
    -     *   {iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 26 }
    -     * 

    - * OID: 1.3.14.3.2.27 - */ - static final ASN1ObjectIdentifier id_SHA1 = new ASN1ObjectIdentifier("1.3.14.3.2.26"); - - /** - * ripemd160 OBJECT IDENTIFIER ::= - * {iso(1) identified-organization(3) TeleTrust(36) algorithm(3) hashAlgorithm(2) RIPEMD-160(1)} - *

    - * OID: 1.3.36.3.2.1 - */ - static final ASN1ObjectIdentifier ripemd160 = new ASN1ObjectIdentifier("1.3.36.3.2.1"); - - /** - * ripemd160WithRSAEncryption OBJECT IDENTIFIER ::= - * {iso(1) identified-organization(3) TeleTrust(36) algorithm(3) signatureAlgorithm(3) rsaSignature(1) rsaSignatureWithripemd160(2) } - *

    - * OID: 1.3.36.3.3.1.2 - */ - static final ASN1ObjectIdentifier ripemd160WithRSAEncryption = new ASN1ObjectIdentifier("1.3.36.3.3.1.2"); - - - /** OID: 2.5.8.1.1 */ - static final ASN1ObjectIdentifier id_ea_rsa = new ASN1ObjectIdentifier("2.5.8.1.1"); - - /** id-pkix OID: 1.3.6.1.5.5.7 - */ - static final ASN1ObjectIdentifier id_pkix = new ASN1ObjectIdentifier("1.3.6.1.5.5.7"); - - /** - * private internet extensions; OID = 1.3.6.1.5.5.7.1 - */ - static final ASN1ObjectIdentifier id_pe = id_pkix.branch("1"); - - /** - * ISO ARC for standard certificate and CRL extensions - *

    - * OID: 2.5.29 - */ - static final ASN1ObjectIdentifier id_ce = new ASN1ObjectIdentifier("2.5.29"); - - /** id-pkix OID: 1.3.6.1.5.5.7.48 */ - static final ASN1ObjectIdentifier id_ad = id_pkix.branch("48"); - /** id-ad-caIssuers OID: 1.3.6.1.5.5.7.48.2 */ - static final ASN1ObjectIdentifier id_ad_caIssuers = id_ad.branch("2"); - /** id-ad-ocsp OID: 1.3.6.1.5.5.7.48.1 */ - static final ASN1ObjectIdentifier id_ad_ocsp = id_ad.branch("1"); - - /** OID for ocsp uri in AuthorityInformationAccess extension */ - static final ASN1ObjectIdentifier ocspAccessMethod = id_ad_ocsp; - /** OID for crl uri in AuthorityInformationAccess extension */ - static final ASN1ObjectIdentifier crlAccessMethod = id_ad_caIssuers; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/BiometricData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/BiometricData.java deleted file mode 100644 index 6175572cd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/BiometricData.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -/** - * The BiometricData object. - *

    - * BiometricData  ::=  SEQUENCE {
    - *       typeOfBiometricData  TypeOfBiometricData,
    - *       hashAlgorithm        AlgorithmIdentifier,
    - *       biometricDataHash    OCTET STRING,
    - *       sourceDataUri        IA5String OPTIONAL  }
    - * 
    - */ -public class BiometricData - extends ASN1Object -{ - private TypeOfBiometricData typeOfBiometricData; - private AlgorithmIdentifier hashAlgorithm; - private ASN1OctetString biometricDataHash; - private DERIA5String sourceDataUri; - - public static BiometricData getInstance( - Object obj) - { - if (obj instanceof BiometricData) - { - return (BiometricData)obj; - } - - if (obj != null) - { - return new BiometricData(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private BiometricData(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - // typeOfBiometricData - typeOfBiometricData = TypeOfBiometricData.getInstance(e.nextElement()); - // hashAlgorithm - hashAlgorithm = AlgorithmIdentifier.getInstance(e.nextElement()); - // biometricDataHash - biometricDataHash = ASN1OctetString.getInstance(e.nextElement()); - // sourceDataUri - if (e.hasMoreElements()) - { - sourceDataUri = DERIA5String.getInstance(e.nextElement()); - } - } - - public BiometricData( - TypeOfBiometricData typeOfBiometricData, - AlgorithmIdentifier hashAlgorithm, - ASN1OctetString biometricDataHash, - DERIA5String sourceDataUri) - { - this.typeOfBiometricData = typeOfBiometricData; - this.hashAlgorithm = hashAlgorithm; - this.biometricDataHash = biometricDataHash; - this.sourceDataUri = sourceDataUri; - } - - public BiometricData( - TypeOfBiometricData typeOfBiometricData, - AlgorithmIdentifier hashAlgorithm, - ASN1OctetString biometricDataHash) - { - this.typeOfBiometricData = typeOfBiometricData; - this.hashAlgorithm = hashAlgorithm; - this.biometricDataHash = biometricDataHash; - this.sourceDataUri = null; - } - - public TypeOfBiometricData getTypeOfBiometricData() - { - return typeOfBiometricData; - } - - public AlgorithmIdentifier getHashAlgorithm() - { - return hashAlgorithm; - } - - public ASN1OctetString getBiometricDataHash() - { - return biometricDataHash; - } - - public DERIA5String getSourceDataUri() - { - return sourceDataUri; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(typeOfBiometricData); - seq.add(hashAlgorithm); - seq.add(biometricDataHash); - - if (sourceDataUri != null) - { - seq.add(sourceDataUri); - } - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java deleted file mode 100644 index 501456699..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -public interface ETSIQCObjectIdentifiers -{ - static final ASN1ObjectIdentifier id_etsi_qcs_QcCompliance = new ASN1ObjectIdentifier("0.4.0.1862.1.1"); - static final ASN1ObjectIdentifier id_etsi_qcs_LimiteValue = new ASN1ObjectIdentifier("0.4.0.1862.1.2"); - static final ASN1ObjectIdentifier id_etsi_qcs_RetentionPeriod = new ASN1ObjectIdentifier("0.4.0.1862.1.3"); - static final ASN1ObjectIdentifier id_etsi_qcs_QcSSCD = new ASN1ObjectIdentifier("0.4.0.1862.1.4"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/Iso4217CurrencyCode.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/Iso4217CurrencyCode.java deleted file mode 100644 index 3e791b47a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/Iso4217CurrencyCode.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERPrintableString; - -/** - * The Iso4217CurrencyCode object. - *
    - * Iso4217CurrencyCode  ::=  CHOICE {
    - *       alphabetic              PrintableString (SIZE 3), --Recommended
    - *       numeric              INTEGER (1..999) }
    - * -- Alphabetic or numeric currency code as defined in ISO 4217
    - * -- It is recommended that the Alphabetic form is used
    - * 
    - */ -public class Iso4217CurrencyCode - extends ASN1Object - implements ASN1Choice -{ - final int ALPHABETIC_MAXSIZE = 3; - final int NUMERIC_MINSIZE = 1; - final int NUMERIC_MAXSIZE = 999; - - ASN1Encodable obj; - int numeric; - - public static Iso4217CurrencyCode getInstance( - Object obj) - { - if (obj == null || obj instanceof Iso4217CurrencyCode) - { - return (Iso4217CurrencyCode)obj; - } - - if (obj instanceof ASN1Integer) - { - ASN1Integer numericobj = ASN1Integer.getInstance(obj); - int numeric = numericobj.getValue().intValue(); - return new Iso4217CurrencyCode(numeric); - } - else - if (obj instanceof DERPrintableString) - { - DERPrintableString alphabetic = DERPrintableString.getInstance(obj); - return new Iso4217CurrencyCode(alphabetic.getString()); - } - throw new IllegalArgumentException("unknown object in getInstance"); - } - - public Iso4217CurrencyCode( - int numeric) - { - if (numeric > NUMERIC_MAXSIZE || numeric < NUMERIC_MINSIZE) - { - throw new IllegalArgumentException("wrong size in numeric code : not in (" +NUMERIC_MINSIZE +".."+ NUMERIC_MAXSIZE +")"); - } - obj = new ASN1Integer(numeric); - } - - public Iso4217CurrencyCode( - String alphabetic) - { - if (alphabetic.length() > ALPHABETIC_MAXSIZE) - { - throw new IllegalArgumentException("wrong size in alphabetic code : max size is " + ALPHABETIC_MAXSIZE); - } - obj = new DERPrintableString(alphabetic); - } - - public boolean isAlphabetic() - { - return obj instanceof DERPrintableString; - } - - public String getAlphabetic() - { - return ((DERPrintableString)obj).getString(); - } - - public int getNumeric() - { - return ((ASN1Integer)obj).getValue().intValue(); - } - - public ASN1Primitive toASN1Primitive() - { - return obj.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/MonetaryValue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/MonetaryValue.java deleted file mode 100644 index edf1897a1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/MonetaryValue.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * The MonetaryValue object. - *
    - * MonetaryValue  ::=  SEQUENCE {
    - *       currency              Iso4217CurrencyCode,
    - *       amount               INTEGER, 
    - *       exponent             INTEGER }
    - * -- value = amount * 10^exponent
    - * 
    - */ -public class MonetaryValue - extends ASN1Object -{ - private Iso4217CurrencyCode currency; - private ASN1Integer amount; - private ASN1Integer exponent; - - public static MonetaryValue getInstance( - Object obj) - { - if (obj instanceof MonetaryValue) - { - return (MonetaryValue)obj; - } - - if (obj != null) - { - return new MonetaryValue(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private MonetaryValue( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - // currency - currency = Iso4217CurrencyCode.getInstance(e.nextElement()); - // hashAlgorithm - amount = ASN1Integer.getInstance(e.nextElement()); - // exponent - exponent = ASN1Integer.getInstance(e.nextElement()); - } - - public MonetaryValue( - Iso4217CurrencyCode currency, - int amount, - int exponent) - { - this.currency = currency; - this.amount = new ASN1Integer(amount); - this.exponent = new ASN1Integer(exponent); - } - - public Iso4217CurrencyCode getCurrency() - { - return currency; - } - - public BigInteger getAmount() - { - return amount.getValue(); - } - - public BigInteger getExponent() - { - return exponent.getValue(); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(currency); - seq.add(amount); - seq.add(exponent); - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/QCStatement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/QCStatement.java deleted file mode 100644 index f66f5113d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/QCStatement.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * The QCStatement object. - *
    - * QCStatement ::= SEQUENCE {
    - *   statementId        OBJECT IDENTIFIER,
    - *   statementInfo      ANY DEFINED BY statementId OPTIONAL} 
    - * 
    - */ - -public class QCStatement - extends ASN1Object - implements ETSIQCObjectIdentifiers, RFC3739QCObjectIdentifiers -{ - ASN1ObjectIdentifier qcStatementId; - ASN1Encodable qcStatementInfo; - - public static QCStatement getInstance( - Object obj) - { - if (obj instanceof QCStatement) - { - return (QCStatement)obj; - } - if (obj != null) - { - return new QCStatement(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private QCStatement( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - // qcStatementId - qcStatementId = ASN1ObjectIdentifier.getInstance(e.nextElement()); - // qcstatementInfo - if (e.hasMoreElements()) - { - qcStatementInfo = (ASN1Encodable) e.nextElement(); - } - } - - public QCStatement( - ASN1ObjectIdentifier qcStatementId) - { - this.qcStatementId = qcStatementId; - this.qcStatementInfo = null; - } - - public QCStatement( - ASN1ObjectIdentifier qcStatementId, - ASN1Encodable qcStatementInfo) - { - this.qcStatementId = qcStatementId; - this.qcStatementInfo = qcStatementInfo; - } - - public ASN1ObjectIdentifier getStatementId() - { - return qcStatementId; - } - - public ASN1Encodable getStatementInfo() - { - return qcStatementInfo; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - seq.add(qcStatementId); - - if (qcStatementInfo != null) - { - seq.add(qcStatementInfo); - } - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java deleted file mode 100644 index d3663b0e9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -public interface RFC3739QCObjectIdentifiers -{ - /** OID: 1.3.6.1.5.5.7.11.1 */ - static final ASN1ObjectIdentifier id_qcs_pkixQCSyntax_v1 = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.11.1"); - /** OID: 1.3.6.1.5.5.7.11.2 */ - static final ASN1ObjectIdentifier id_qcs_pkixQCSyntax_v2 = new ASN1ObjectIdentifier("1.3.6.1.5.5.7.11.2"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/SemanticsInformation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/SemanticsInformation.java deleted file mode 100644 index 2a52a7d9e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/SemanticsInformation.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; - -/** - * The SemanticsInformation object. - *
    - *       SemanticsInformation ::= SEQUENCE {
    - *         semanticsIdentifier        OBJECT IDENTIFIER   OPTIONAL,
    - *         nameRegistrationAuthorities NameRegistrationAuthorities
    - *                                                         OPTIONAL }
    - *         (WITH COMPONENTS {..., semanticsIdentifier PRESENT}|
    - *          WITH COMPONENTS {..., nameRegistrationAuthorities PRESENT})
    - *
    - *     NameRegistrationAuthorities ::=  SEQUENCE SIZE (1..MAX) OF
    - *         GeneralName
    - * 
    - */ -public class SemanticsInformation - extends ASN1Object -{ - private ASN1ObjectIdentifier semanticsIdentifier; - private GeneralName[] nameRegistrationAuthorities; - - public static SemanticsInformation getInstance(Object obj) - { - if (obj instanceof SemanticsInformation) - { - return (SemanticsInformation)obj; - } - - if (obj != null) - { - return new SemanticsInformation(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private SemanticsInformation(ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - if (seq.size() < 1) - { - throw new IllegalArgumentException("no objects in SemanticsInformation"); - } - - Object object = e.nextElement(); - if (object instanceof ASN1ObjectIdentifier) - { - semanticsIdentifier = ASN1ObjectIdentifier.getInstance(object); - if (e.hasMoreElements()) - { - object = e.nextElement(); - } - else - { - object = null; - } - } - - if (object != null) - { - ASN1Sequence generalNameSeq = ASN1Sequence.getInstance(object); - nameRegistrationAuthorities = new GeneralName[generalNameSeq.size()]; - for (int i= 0; i < generalNameSeq.size(); i++) - { - nameRegistrationAuthorities[i] = GeneralName.getInstance(generalNameSeq.getObjectAt(i)); - } - } - } - - public SemanticsInformation( - ASN1ObjectIdentifier semanticsIdentifier, - GeneralName[] generalNames) - { - this.semanticsIdentifier = semanticsIdentifier; - this.nameRegistrationAuthorities = generalNames; - } - - public SemanticsInformation(ASN1ObjectIdentifier semanticsIdentifier) - { - this.semanticsIdentifier = semanticsIdentifier; - this.nameRegistrationAuthorities = null; - } - - public SemanticsInformation(GeneralName[] generalNames) - { - this.semanticsIdentifier = null; - this.nameRegistrationAuthorities = generalNames; - } - - public ASN1ObjectIdentifier getSemanticsIdentifier() - { - return semanticsIdentifier; - } - - public GeneralName[] getNameRegistrationAuthorities() - { - return nameRegistrationAuthorities; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seq = new ASN1EncodableVector(); - - if (this.semanticsIdentifier != null) - { - seq.add(semanticsIdentifier); - } - if (this.nameRegistrationAuthorities != null) - { - ASN1EncodableVector seqname = new ASN1EncodableVector(); - for (int i = 0; i < nameRegistrationAuthorities.length; i++) - { - seqname.add(nameRegistrationAuthorities[i]); - } - seq.add(new DERSequence(seqname)); - } - - return new DERSequence(seq); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/TypeOfBiometricData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/TypeOfBiometricData.java deleted file mode 100644 index e7285d260..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/qualified/TypeOfBiometricData.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.asn1.x509.qualified; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; - -/** - * The TypeOfBiometricData object. - *
    - * TypeOfBiometricData ::= CHOICE {
    - *   predefinedBiometricType   PredefinedBiometricType,
    - *   biometricDataOid          OBJECT IDENTIFIER }
    - *
    - * PredefinedBiometricType ::= INTEGER {
    - *   picture(0),handwritten-signature(1)}
    - *   (picture|handwritten-signature)
    - * 
    - */ -public class TypeOfBiometricData - extends ASN1Object - implements ASN1Choice -{ - public static final int PICTURE = 0; - public static final int HANDWRITTEN_SIGNATURE = 1; - - ASN1Encodable obj; - - public static TypeOfBiometricData getInstance(Object obj) - { - if (obj == null || obj instanceof TypeOfBiometricData) - { - return (TypeOfBiometricData)obj; - } - - if (obj instanceof ASN1Integer) - { - ASN1Integer predefinedBiometricTypeObj = ASN1Integer.getInstance(obj); - int predefinedBiometricType = predefinedBiometricTypeObj.getValue().intValue(); - - return new TypeOfBiometricData(predefinedBiometricType); - } - else if (obj instanceof ASN1ObjectIdentifier) - { - ASN1ObjectIdentifier BiometricDataID = ASN1ObjectIdentifier.getInstance(obj); - return new TypeOfBiometricData(BiometricDataID); - } - - throw new IllegalArgumentException("unknown object in getInstance"); - } - - public TypeOfBiometricData(int predefinedBiometricType) - { - if (predefinedBiometricType == PICTURE || predefinedBiometricType == HANDWRITTEN_SIGNATURE) - { - obj = new ASN1Integer(predefinedBiometricType); - } - else - { - throw new IllegalArgumentException("unknow PredefinedBiometricType : " + predefinedBiometricType); - } - } - - public TypeOfBiometricData(ASN1ObjectIdentifier BiometricDataID) - { - obj = BiometricDataID; - } - - public boolean isPredefined() - { - return obj instanceof ASN1Integer; - } - - public int getPredefinedBiometricType() - { - return ((ASN1Integer)obj).getValue().intValue(); - } - - public ASN1ObjectIdentifier getBiometricDataOid() - { - return (ASN1ObjectIdentifier)obj; - } - - public ASN1Primitive toASN1Primitive() - { - return obj.toASN1Primitive(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/NameOrPseudonym.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/NameOrPseudonym.java deleted file mode 100644 index f5fbc4aa7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/NameOrPseudonym.java +++ /dev/null @@ -1,191 +0,0 @@ -package org.spongycastle.asn1.x509.sigi; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Structure for a name or pseudonym. - * - *
    - *       NameOrPseudonym ::= CHOICE {
    - *            surAndGivenName SEQUENCE {
    - *              surName DirectoryString,
    - *              givenName SEQUENCE OF DirectoryString 
    - *         },
    - *            pseudonym DirectoryString 
    - *       }
    - * 
    - * - * @see org.spongycastle.asn1.x509.sigi.PersonalData - * - */ -public class NameOrPseudonym - extends ASN1Object - implements ASN1Choice -{ - private DirectoryString pseudonym; - - private DirectoryString surname; - - private ASN1Sequence givenName; - - public static NameOrPseudonym getInstance(Object obj) - { - if (obj == null || obj instanceof NameOrPseudonym) - { - return (NameOrPseudonym)obj; - } - - if (obj instanceof ASN1String) - { - return new NameOrPseudonym(DirectoryString.getInstance(obj)); - } - - if (obj instanceof ASN1Sequence) - { - return new NameOrPseudonym((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " - + obj.getClass().getName()); - } - - /** - * Constructor from DirectoryString. - *

    - * The sequence is of type NameOrPseudonym: - *

    - *

    -     *       NameOrPseudonym ::= CHOICE {
    -     *            surAndGivenName SEQUENCE {
    -     *              surName DirectoryString,
    -     *              givenName SEQUENCE OF DirectoryString
    -     *         },
    -     *            pseudonym DirectoryString
    -     *       }
    -     * 
    - * @param pseudonym pseudonym value to use. - */ - public NameOrPseudonym(DirectoryString pseudonym) - { - this.pseudonym = pseudonym; - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type NameOrPseudonym: - *

    - *

    -     *       NameOrPseudonym ::= CHOICE {
    -     *            surAndGivenName SEQUENCE {
    -     *              surName DirectoryString,
    -     *              givenName SEQUENCE OF DirectoryString
    -     *         },
    -     *            pseudonym DirectoryString
    -     *       }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private NameOrPseudonym(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - if (!(seq.getObjectAt(0) instanceof ASN1String)) - { - throw new IllegalArgumentException("Bad object encountered: " - + seq.getObjectAt(0).getClass()); - } - - surname = DirectoryString.getInstance(seq.getObjectAt(0)); - givenName = ASN1Sequence.getInstance(seq.getObjectAt(1)); - } - - /** - * Constructor from a given details. - * - * @param pseudonym The pseudonym. - */ - public NameOrPseudonym(String pseudonym) - { - this(new DirectoryString(pseudonym)); - } - - /** - * Constructor from a given details. - * - * @param surname The surname. - * @param givenName A sequence of directory strings making up the givenName - */ - public NameOrPseudonym(DirectoryString surname, ASN1Sequence givenName) - { - this.surname = surname; - this.givenName = givenName; - } - - public DirectoryString getPseudonym() - { - return pseudonym; - } - - public DirectoryString getSurname() - { - return surname; - } - - public DirectoryString[] getGivenName() - { - DirectoryString[] items = new DirectoryString[givenName.size()]; - int count = 0; - for (Enumeration e = givenName.getObjects(); e.hasMoreElements();) - { - items[count++] = DirectoryString.getInstance(e.nextElement()); - } - return items; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *       NameOrPseudonym ::= CHOICE {
    -     *            surAndGivenName SEQUENCE {
    -     *              surName DirectoryString,
    -     *              givenName SEQUENCE OF DirectoryString
    -     *         },
    -     *            pseudonym DirectoryString
    -     *       }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - if (pseudonym != null) - { - return pseudonym.toASN1Primitive(); - } - else - { - ASN1EncodableVector vec1 = new ASN1EncodableVector(); - vec1.add(surname); - vec1.add(givenName); - return new DERSequence(vec1); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/PersonalData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/PersonalData.java deleted file mode 100644 index ca34b4f57..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/PersonalData.java +++ /dev/null @@ -1,214 +0,0 @@ -package org.spongycastle.asn1.x509.sigi; - -import java.math.BigInteger; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x500.DirectoryString; - -/** - * Contains personal data for the otherName field in the subjectAltNames - * extension. - *

    - *

    - *     PersonalData ::= SEQUENCE {
    - *       nameOrPseudonym NameOrPseudonym,
    - *       nameDistinguisher [0] INTEGER OPTIONAL,
    - *       dateOfBirth [1] GeneralizedTime OPTIONAL,
    - *       placeOfBirth [2] DirectoryString OPTIONAL,
    - *       gender [3] PrintableString OPTIONAL,
    - *       postalAddress [4] DirectoryString OPTIONAL
    - *       }
    - * 
    - * - * @see org.spongycastle.asn1.x509.sigi.NameOrPseudonym - * @see org.spongycastle.asn1.x509.sigi.SigIObjectIdentifiers - */ -public class PersonalData - extends ASN1Object -{ - private NameOrPseudonym nameOrPseudonym; - private BigInteger nameDistinguisher; - private ASN1GeneralizedTime dateOfBirth; - private DirectoryString placeOfBirth; - private String gender; - private DirectoryString postalAddress; - - public static PersonalData getInstance(Object obj) - { - if (obj == null || obj instanceof PersonalData) - { - return (PersonalData)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new PersonalData((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName()); - } - - /** - * Constructor from ASN1Sequence. - *

    - * The sequence is of type NameOrPseudonym: - *

    - *

    -     *     PersonalData ::= SEQUENCE {
    -     *       nameOrPseudonym NameOrPseudonym,
    -     *       nameDistinguisher [0] INTEGER OPTIONAL,
    -     *       dateOfBirth [1] GeneralizedTime OPTIONAL,
    -     *       placeOfBirth [2] DirectoryString OPTIONAL,
    -     *       gender [3] PrintableString OPTIONAL,
    -     *       postalAddress [4] DirectoryString OPTIONAL
    -     *       }
    -     * 
    - * - * @param seq The ASN.1 sequence. - */ - private PersonalData(ASN1Sequence seq) - { - if (seq.size() < 1) - { - throw new IllegalArgumentException("Bad sequence size: " - + seq.size()); - } - - Enumeration e = seq.getObjects(); - - nameOrPseudonym = NameOrPseudonym.getInstance(e.nextElement()); - - while (e.hasMoreElements()) - { - ASN1TaggedObject o = ASN1TaggedObject.getInstance(e.nextElement()); - int tag = o.getTagNo(); - switch (tag) - { - case 0: - nameDistinguisher = ASN1Integer.getInstance(o, false).getValue(); - break; - case 1: - dateOfBirth = ASN1GeneralizedTime.getInstance(o, false); - break; - case 2: - placeOfBirth = DirectoryString.getInstance(o, true); - break; - case 3: - gender = DERPrintableString.getInstance(o, false).getString(); - break; - case 4: - postalAddress = DirectoryString.getInstance(o, true); - break; - default: - throw new IllegalArgumentException("Bad tag number: " + o.getTagNo()); - } - } - } - - /** - * Constructor from a given details. - * - * @param nameOrPseudonym Name or pseudonym. - * @param nameDistinguisher Name distinguisher. - * @param dateOfBirth Date of birth. - * @param placeOfBirth Place of birth. - * @param gender Gender. - * @param postalAddress Postal Address. - */ - public PersonalData(NameOrPseudonym nameOrPseudonym, - BigInteger nameDistinguisher, ASN1GeneralizedTime dateOfBirth, - DirectoryString placeOfBirth, String gender, DirectoryString postalAddress) - { - this.nameOrPseudonym = nameOrPseudonym; - this.dateOfBirth = dateOfBirth; - this.gender = gender; - this.nameDistinguisher = nameDistinguisher; - this.postalAddress = postalAddress; - this.placeOfBirth = placeOfBirth; - } - - public NameOrPseudonym getNameOrPseudonym() - { - return nameOrPseudonym; - } - - public BigInteger getNameDistinguisher() - { - return nameDistinguisher; - } - - public ASN1GeneralizedTime getDateOfBirth() - { - return dateOfBirth; - } - - public DirectoryString getPlaceOfBirth() - { - return placeOfBirth; - } - - public String getGender() - { - return gender; - } - - public DirectoryString getPostalAddress() - { - return postalAddress; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    - * Returns: - *

    - *

    -     *     PersonalData ::= SEQUENCE {
    -     *       nameOrPseudonym NameOrPseudonym,
    -     *       nameDistinguisher [0] INTEGER OPTIONAL,
    -     *       dateOfBirth [1] GeneralizedTime OPTIONAL,
    -     *       placeOfBirth [2] DirectoryString OPTIONAL,
    -     *       gender [3] PrintableString OPTIONAL,
    -     *       postalAddress [4] DirectoryString OPTIONAL
    -     *       }
    -     * 
    - * - * @return a DERObject - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector vec = new ASN1EncodableVector(); - vec.add(nameOrPseudonym); - if (nameDistinguisher != null) - { - vec.add(new DERTaggedObject(false, 0, new ASN1Integer(nameDistinguisher))); - } - if (dateOfBirth != null) - { - vec.add(new DERTaggedObject(false, 1, dateOfBirth)); - } - if (placeOfBirth != null) - { - vec.add(new DERTaggedObject(true, 2, placeOfBirth)); - } - if (gender != null) - { - vec.add(new DERTaggedObject(false, 3, new DERPrintableString(gender, true))); - } - if (postalAddress != null) - { - vec.add(new DERTaggedObject(true, 4, postalAddress)); - } - return new DERSequence(vec); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/SigIObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/SigIObjectIdentifiers.java deleted file mode 100644 index 5d9b25b3e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x509/sigi/SigIObjectIdentifiers.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.spongycastle.asn1.x509.sigi; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * Object Identifiers of SigI specifciation (German Signature Law - * Interoperability specification). - */ -public interface SigIObjectIdentifiers -{ - /** - * OID: 1.3.36.8 - */ - public final static ASN1ObjectIdentifier id_sigi = new ASN1ObjectIdentifier("1.3.36.8"); - - /** - * Key purpose IDs for German SigI (Signature Interoperability - * Specification) - *

    - * OID: 1.3.36.8.2 - */ - public final static ASN1ObjectIdentifier id_sigi_kp = new ASN1ObjectIdentifier("1.3.36.8.2"); - - /** - * Certificate policy IDs for German SigI (Signature Interoperability - * Specification) - *

    - * OID: 1.3.36.8.1 - */ - public final static ASN1ObjectIdentifier id_sigi_cp = new ASN1ObjectIdentifier("1.3.36.8.1"); - - /** - * Other Name IDs for German SigI (Signature Interoperability Specification) - *

    - * OID: 1.3.36.8.4 - */ - public final static ASN1ObjectIdentifier id_sigi_on = new ASN1ObjectIdentifier("1.3.36.8.4"); - - /** - * To be used for for the generation of directory service certificates. - *

    - * OID: 1.3.36.8.2.1 - */ - public static final ASN1ObjectIdentifier id_sigi_kp_directoryService = new ASN1ObjectIdentifier("1.3.36.8.2.1"); - - /** - * ID for PersonalData - *

    - * OID: 1.3.36.8.4.1 - */ - public static final ASN1ObjectIdentifier id_sigi_on_personalData = new ASN1ObjectIdentifier("1.3.36.8.4.1"); - - /** - * Certificate is conformant to german signature law. - *

    - * OID: 1.3.36.8.1.1 - */ - public static final ASN1ObjectIdentifier id_sigi_cp_sigconform = new ASN1ObjectIdentifier("1.3.36.8.1.1"); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHDomainParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHDomainParameters.java deleted file mode 100644 index 2d63bf4c7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHDomainParameters.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERSequence; - -public class DHDomainParameters - extends ASN1Object -{ - private ASN1Integer p, g, q, j; - private DHValidationParms validationParms; - - public static DHDomainParameters getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static DHDomainParameters getInstance(Object obj) - { - if (obj == null || obj instanceof DHDomainParameters) - { - return (DHDomainParameters)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new DHDomainParameters((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid DHDomainParameters: " - + obj.getClass().getName()); - } - - public DHDomainParameters(ASN1Integer p, ASN1Integer g, ASN1Integer q, ASN1Integer j, - DHValidationParms validationParms) - { - if (p == null) - { - throw new IllegalArgumentException("'p' cannot be null"); - } - if (g == null) - { - throw new IllegalArgumentException("'g' cannot be null"); - } - if (q == null) - { - throw new IllegalArgumentException("'q' cannot be null"); - } - - this.p = p; - this.g = g; - this.q = q; - this.j = j; - this.validationParms = validationParms; - } - - private DHDomainParameters(ASN1Sequence seq) - { - if (seq.size() < 3 || seq.size() > 5) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - Enumeration e = seq.getObjects(); - this.p = ASN1Integer.getInstance(e.nextElement()); - this.g = ASN1Integer.getInstance(e.nextElement()); - this.q = ASN1Integer.getInstance(e.nextElement()); - - ASN1Encodable next = getNext(e); - - if (next != null && next instanceof ASN1Integer) - { - this.j = ASN1Integer.getInstance(next); - next = getNext(e); - } - - if (next != null) - { - this.validationParms = DHValidationParms.getInstance(next.toASN1Primitive()); - } - } - - private static ASN1Encodable getNext(Enumeration e) - { - return e.hasMoreElements() ? (ASN1Encodable)e.nextElement() : null; - } - - public ASN1Integer getP() - { - return this.p; - } - - public ASN1Integer getG() - { - return this.g; - } - - public ASN1Integer getQ() - { - return this.q; - } - - public ASN1Integer getJ() - { - return this.j; - } - - public DHValidationParms getValidationParms() - { - return this.validationParms; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.p); - v.add(this.g); - v.add(this.q); - - if (this.j != null) - { - v.add(this.j); - } - - if (this.validationParms != null) - { - v.add(this.validationParms); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHPublicKey.java deleted file mode 100644 index b84a42b48..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHPublicKey.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.asn1.x9; - -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; - -public class DHPublicKey - extends ASN1Object -{ - private ASN1Integer y; - - public static DHPublicKey getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1Integer.getInstance(obj, explicit)); - } - - public static DHPublicKey getInstance(Object obj) - { - if (obj == null || obj instanceof DHPublicKey) - { - return (DHPublicKey)obj; - } - - if (obj instanceof ASN1Integer) - { - return new DHPublicKey((ASN1Integer)obj); - } - - throw new IllegalArgumentException("Invalid DHPublicKey: " + obj.getClass().getName()); - } - - public DHPublicKey(ASN1Integer y) - { - if (y == null) - { - throw new IllegalArgumentException("'y' cannot be null"); - } - - this.y = y; - } - - public ASN1Integer getY() - { - return this.y; - } - - public ASN1Primitive toASN1Primitive() - { - return this.y; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHValidationParms.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHValidationParms.java deleted file mode 100644 index 8f5ece200..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/DHValidationParms.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.asn1.x9; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; - -public class DHValidationParms extends ASN1Object -{ - private DERBitString seed; - private ASN1Integer pgenCounter; - - public static DHValidationParms getInstance(ASN1TaggedObject obj, boolean explicit) - { - return getInstance(ASN1Sequence.getInstance(obj, explicit)); - } - - public static DHValidationParms getInstance(Object obj) - { - if (obj == null || obj instanceof DHDomainParameters) - { - return (DHValidationParms)obj; - } - - if (obj instanceof ASN1Sequence) - { - return new DHValidationParms((ASN1Sequence)obj); - } - - throw new IllegalArgumentException("Invalid DHValidationParms: " + obj.getClass().getName()); - } - - public DHValidationParms(DERBitString seed, ASN1Integer pgenCounter) - { - if (seed == null) - { - throw new IllegalArgumentException("'seed' cannot be null"); - } - if (pgenCounter == null) - { - throw new IllegalArgumentException("'pgenCounter' cannot be null"); - } - - this.seed = seed; - this.pgenCounter = pgenCounter; - } - - private DHValidationParms(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("Bad sequence size: " + seq.size()); - } - - this.seed = DERBitString.getInstance(seq.getObjectAt(0)); - this.pgenCounter = ASN1Integer.getInstance(seq.getObjectAt(1)); - } - - public DERBitString getSeed() - { - return this.seed; - } - - public ASN1Integer getPgenCounter() - { - return this.pgenCounter; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(this.seed); - v.add(this.pgenCounter); - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/ECNamedCurveTable.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/ECNamedCurveTable.java deleted file mode 100644 index e60629d9d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/ECNamedCurveTable.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.nist.NISTNamedCurves; -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.teletrust.TeleTrusTNamedCurves; - -/** - * A general class that reads all X9.62 style EC curve tables. - */ -public class ECNamedCurveTable -{ - /** - * return a X9ECParameters object representing the passed in named - * curve. The routine returns null if the curve is not present. - * - * @param name the name of the curve requested - * @return an X9ECParameters object or null if the curve is not available. - */ - public static X9ECParameters getByName( - String name) - { - X9ECParameters ecP = X962NamedCurves.getByName(name); - - if (ecP == null) - { - ecP = SECNamedCurves.getByName(name); - } - - if (ecP == null) - { - ecP = TeleTrusTNamedCurves.getByName(name); - } - - if (ecP == null) - { - ecP = NISTNamedCurves.getByName(name); - } - - return ecP; - } - - /** - * return a X9ECParameters object representing the passed in named - * curve. - * - * @param oid the object id of the curve requested - * @return an X9ECParameters object or null if the curve is not available. - */ - public static X9ECParameters getByOID( - ASN1ObjectIdentifier oid) - { - X9ECParameters ecP = X962NamedCurves.getByOID(oid); - - if (ecP == null) - { - ecP = SECNamedCurves.getByOID(oid); - } - - if (ecP == null) - { - ecP = TeleTrusTNamedCurves.getByOID(oid); - } - - // NOTE: All the NIST curves are currently from SEC, so no point in redundant OID lookup - - return ecP; - } - - /** - * return an enumeration of the names of the available curves. - * - * @return an enumeration of the names of the available curves. - */ - public static Enumeration getNames() - { - Vector v = new Vector(); - - addEnumeration(v, X962NamedCurves.getNames()); - addEnumeration(v, SECNamedCurves.getNames()); - addEnumeration(v, NISTNamedCurves.getNames()); - addEnumeration(v, TeleTrusTNamedCurves.getNames()); - - return v.elements(); - } - - private static void addEnumeration( - Vector v, - Enumeration e) - { - while (e.hasMoreElements()) - { - v.addElement(e.nextElement()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/KeySpecificInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/KeySpecificInfo.java deleted file mode 100644 index 3a7f95173..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/KeySpecificInfo.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * ASN.1 def for Diffie-Hellman key exchange KeySpecificInfo structure. See - * RFC 2631, or X9.42, for further details. - */ -public class KeySpecificInfo - extends ASN1Object -{ - private ASN1ObjectIdentifier algorithm; - private ASN1OctetString counter; - - public KeySpecificInfo( - ASN1ObjectIdentifier algorithm, - ASN1OctetString counter) - { - this.algorithm = algorithm; - this.counter = counter; - } - - public KeySpecificInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - algorithm = (ASN1ObjectIdentifier)e.nextElement(); - counter = (ASN1OctetString)e.nextElement(); - } - - public ASN1ObjectIdentifier getAlgorithm() - { - return algorithm; - } - - public ASN1OctetString getCounter() - { - return counter; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    -     *  KeySpecificInfo ::= SEQUENCE {
    -     *      algorithm OBJECT IDENTIFIER,
    -     *      counter OCTET STRING SIZE (4..4)
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(algorithm); - v.add(counter); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/OtherInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/OtherInfo.java deleted file mode 100644 index 3506c8686..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/OtherInfo.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; - -/** - * ANS.1 def for Diffie-Hellman key exchange OtherInfo structure. See - * RFC 2631, or X9.42, for further details. - */ -public class OtherInfo - extends ASN1Object -{ - private KeySpecificInfo keyInfo; - private ASN1OctetString partyAInfo; - private ASN1OctetString suppPubInfo; - - public OtherInfo( - KeySpecificInfo keyInfo, - ASN1OctetString partyAInfo, - ASN1OctetString suppPubInfo) - { - this.keyInfo = keyInfo; - this.partyAInfo = partyAInfo; - this.suppPubInfo = suppPubInfo; - } - - public OtherInfo( - ASN1Sequence seq) - { - Enumeration e = seq.getObjects(); - - keyInfo = new KeySpecificInfo((ASN1Sequence)e.nextElement()); - - while (e.hasMoreElements()) - { - DERTaggedObject o = (DERTaggedObject)e.nextElement(); - - if (o.getTagNo() == 0) - { - partyAInfo = (ASN1OctetString)o.getObject(); - } - else if (o.getTagNo() == 2) - { - suppPubInfo = (ASN1OctetString)o.getObject(); - } - } - } - - public KeySpecificInfo getKeyInfo() - { - return keyInfo; - } - - public ASN1OctetString getPartyAInfo() - { - return partyAInfo; - } - - public ASN1OctetString getSuppPubInfo() - { - return suppPubInfo; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  OtherInfo ::= SEQUENCE {
    -     *      keyInfo KeySpecificInfo,
    -     *      partyAInfo [0] OCTET STRING OPTIONAL,
    -     *      suppPubInfo [2] OCTET STRING
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(keyInfo); - - if (partyAInfo != null) - { - v.add(new DERTaggedObject(0, partyAInfo)); - } - - v.add(new DERTaggedObject(2, suppPubInfo)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962NamedCurves.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962NamedCurves.java deleted file mode 100644 index aea4c032a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962NamedCurves.java +++ /dev/null @@ -1,621 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; - - -/** - * table of the current named curves defined in X.962 EC-DSA. - */ -public class X962NamedCurves -{ - static X9ECParametersHolder prime192v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp192v1 = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); - - return new X9ECParameters( - cFp192v1, - cFp192v1.decodePoint( - Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), - new BigInteger("ffffffffffffffffffffffff99def836146bc9b1b4d22831", 16), - BigInteger.valueOf(1), - Hex.decode("3045AE6FC8422f64ED579528D38120EAE12196D5")); - } - }; - - static X9ECParametersHolder prime192v2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp192v2 = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), - new BigInteger("cc22d6dfb95c6b25e49c0d6364a4e5980c393aa21668d953", 16)); - - return new X9ECParameters( - cFp192v2, - cFp192v2.decodePoint( - Hex.decode("03eea2bae7e1497842f2de7769cfe9c989c072ad696f48034a")), - new BigInteger("fffffffffffffffffffffffe5fb1a724dc80418648d8dd31", 16), - BigInteger.valueOf(1), - Hex.decode("31a92ee2029fd10d901b113e990710f0d21ac6b6")); - } - }; - - static X9ECParametersHolder prime192v3 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp192v3 = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), - new BigInteger("22123dc2395a05caa7423daeccc94760a7d462256bd56916", 16)); - - return new X9ECParameters( - cFp192v3, - cFp192v3.decodePoint( - Hex.decode("027d29778100c65a1da1783716588dce2b8b4aee8e228f1896")), - new BigInteger("ffffffffffffffffffffffff7a62d031c83f4294f640ec13", 16), - BigInteger.valueOf(1), - Hex.decode("c469684435deb378c4b65ca9591e2a5763059a2e")); - } - }; - - static X9ECParametersHolder prime239v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp239v1 = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); - - return new X9ECParameters( - cFp239v1, - cFp239v1.decodePoint( - Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), - new BigInteger("7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b", 16), - BigInteger.valueOf(1), - Hex.decode("e43bb460f0b80cc0c0b075798e948060f8321b7d")); - } - }; - - static X9ECParametersHolder prime239v2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp239v2 = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), - new BigInteger("617fab6832576cbbfed50d99f0249c3fee58b94ba0038c7ae84c8c832f2c", 16)); - - return new X9ECParameters( - cFp239v2, - cFp239v2.decodePoint( - Hex.decode("0238af09d98727705120c921bb5e9e26296a3cdcf2f35757a0eafd87b830e7")), - new BigInteger("7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063", 16), - BigInteger.valueOf(1), - Hex.decode("e8b4011604095303ca3b8099982be09fcb9ae616")); - } - }; - - static X9ECParametersHolder prime239v3 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp239v3 = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), - new BigInteger("255705fa2a306654b1f4cb03d6a750a30c250102d4988717d9ba15ab6d3e", 16)); - - return new X9ECParameters( - cFp239v3, - cFp239v3.decodePoint( - Hex.decode("036768ae8e18bb92cfcf005c949aa2c6d94853d0e660bbf854b1c9505fe95a")), - new BigInteger("7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551", 16), - BigInteger.valueOf(1), - Hex.decode("7d7374168ffe3471b60a857686a19475d3bfa2ff")); - } - }; - - static X9ECParametersHolder prime256v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - ECCurve cFp256v1 = new ECCurve.Fp( - new BigInteger("115792089210356248762697446949407573530086143415290314195533631308867097853951"), - new BigInteger("ffffffff00000001000000000000000000000000fffffffffffffffffffffffc", 16), - new BigInteger("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16)); - - return new X9ECParameters( - cFp256v1, - cFp256v1.decodePoint( - Hex.decode("036b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296")), - new BigInteger("ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", 16), - BigInteger.valueOf(1), - Hex.decode("c49d360886e704936a6678e1139d26b7819f7e90")); - } - }; - - /* - * F2m Curves - */ - static X9ECParametersHolder c2pnb163v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m163v1n = new BigInteger("0400000000000000000001E60FC8821CC74DAEAFC1", 16); - BigInteger c2m163v1h = BigInteger.valueOf(2); - - ECCurve c2m163v1 = new ECCurve.F2m( - 163, - 1, 2, 8, - new BigInteger("072546B5435234A422E0789675F432C89435DE5242", 16), - new BigInteger("00C9517D06D5240D3CFF38C74B20B6CD4D6F9DD4D9", 16), - c2m163v1n, c2m163v1h); - - return new X9ECParameters( - c2m163v1, - c2m163v1.decodePoint( - Hex.decode("0307AF69989546103D79329FCC3D74880F33BBE803CB")), - c2m163v1n, c2m163v1h, - Hex.decode("D2C0FB15760860DEF1EEF4D696E6768756151754")); - } - }; - - static X9ECParametersHolder c2pnb163v2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m163v2n = new BigInteger("03FFFFFFFFFFFFFFFFFFFDF64DE1151ADBB78F10A7", 16); - BigInteger c2m163v2h = BigInteger.valueOf(2); - - ECCurve c2m163v2 = new ECCurve.F2m( - 163, - 1, 2, 8, - new BigInteger("0108B39E77C4B108BED981ED0E890E117C511CF072", 16), - new BigInteger("0667ACEB38AF4E488C407433FFAE4F1C811638DF20", 16), - c2m163v2n, c2m163v2h); - - return new X9ECParameters( - c2m163v2, - c2m163v2.decodePoint( - Hex.decode("030024266E4EB5106D0A964D92C4860E2671DB9B6CC5")), - c2m163v2n, c2m163v2h, - null); - } - }; - - static X9ECParametersHolder c2pnb163v3 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m163v3n = new BigInteger("03FFFFFFFFFFFFFFFFFFFE1AEE140F110AFF961309", 16); - BigInteger c2m163v3h = BigInteger.valueOf(2); - - ECCurve c2m163v3 = new ECCurve.F2m( - 163, - 1, 2, 8, - new BigInteger("07A526C63D3E25A256A007699F5447E32AE456B50E", 16), - new BigInteger("03F7061798EB99E238FD6F1BF95B48FEEB4854252B", 16), - c2m163v3n, c2m163v3h); - - return new X9ECParameters( - c2m163v3, - c2m163v3.decodePoint( - Hex.decode("0202F9F87B7C574D0BDECF8A22E6524775F98CDEBDCB")), - c2m163v3n, c2m163v3h, - null); - } - }; - - static X9ECParametersHolder c2pnb176w1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m176w1n = new BigInteger("010092537397ECA4F6145799D62B0A19CE06FE26AD", 16); - BigInteger c2m176w1h = BigInteger.valueOf(0xFF6E); - - ECCurve c2m176w1 = new ECCurve.F2m( - 176, - 1, 2, 43, - new BigInteger("00E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B", 16), - new BigInteger("005DDA470ABE6414DE8EC133AE28E9BBD7FCEC0AE0FFF2", 16), - c2m176w1n, c2m176w1h); - - return new X9ECParameters( - c2m176w1, - c2m176w1.decodePoint( - Hex.decode("038D16C2866798B600F9F08BB4A8E860F3298CE04A5798")), - c2m176w1n, c2m176w1h, - null); - } - }; - - static X9ECParametersHolder c2tnb191v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m191v1n = new BigInteger("40000000000000000000000004A20E90C39067C893BBB9A5", 16); - BigInteger c2m191v1h = BigInteger.valueOf(2); - - ECCurve c2m191v1 = new ECCurve.F2m( - 191, - 9, - new BigInteger("2866537B676752636A68F56554E12640276B649EF7526267", 16), - new BigInteger("2E45EF571F00786F67B0081B9495A3D95462F5DE0AA185EC", 16), - c2m191v1n, c2m191v1h); - - return new X9ECParameters( - c2m191v1, - c2m191v1.decodePoint( - Hex.decode("0236B3DAF8A23206F9C4F299D7B21A9C369137F2C84AE1AA0D")), - c2m191v1n, c2m191v1h, - Hex.decode("4E13CA542744D696E67687561517552F279A8C84")); - } - }; - - static X9ECParametersHolder c2tnb191v2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m191v2n = new BigInteger("20000000000000000000000050508CB89F652824E06B8173", 16); - BigInteger c2m191v2h = BigInteger.valueOf(4); - - ECCurve c2m191v2 = new ECCurve.F2m( - 191, - 9, - new BigInteger("401028774D7777C7B7666D1366EA432071274F89FF01E718", 16), - new BigInteger("0620048D28BCBD03B6249C99182B7C8CD19700C362C46A01", 16), - c2m191v2n, c2m191v2h); - - return new X9ECParameters( - c2m191v2, - c2m191v2.decodePoint( - Hex.decode("023809B2B7CC1B28CC5A87926AAD83FD28789E81E2C9E3BF10")), - c2m191v2n, c2m191v2h, - null); - } - }; - - static X9ECParametersHolder c2tnb191v3 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m191v3n = new BigInteger("155555555555555555555555610C0B196812BFB6288A3EA3", 16); - BigInteger c2m191v3h = BigInteger.valueOf(6); - - ECCurve c2m191v3 = new ECCurve.F2m( - 191, - 9, - new BigInteger("6C01074756099122221056911C77D77E77A777E7E7E77FCB", 16), - new BigInteger("71FE1AF926CF847989EFEF8DB459F66394D90F32AD3F15E8", 16), - c2m191v3n, c2m191v3h); - - return new X9ECParameters( - c2m191v3, - c2m191v3.decodePoint( - Hex.decode("03375D4CE24FDE434489DE8746E71786015009E66E38A926DD")), - c2m191v3n, c2m191v3h, - null); - } - }; - - static X9ECParametersHolder c2pnb208w1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m208w1n = new BigInteger("0101BAF95C9723C57B6C21DA2EFF2D5ED588BDD5717E212F9D", 16); - BigInteger c2m208w1h = BigInteger.valueOf(0xFE48); - - ECCurve c2m208w1 = new ECCurve.F2m( - 208, - 1, 2, 83, - new BigInteger("0", 16), - new BigInteger("00C8619ED45A62E6212E1160349E2BFA844439FAFC2A3FD1638F9E", 16), - c2m208w1n, c2m208w1h); - - return new X9ECParameters( - c2m208w1, - c2m208w1.decodePoint( - Hex.decode("0289FDFBE4ABE193DF9559ECF07AC0CE78554E2784EB8C1ED1A57A")), - c2m208w1n, c2m208w1h, - null); - } - }; - - static X9ECParametersHolder c2tnb239v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m239v1n = new BigInteger("2000000000000000000000000000000F4D42FFE1492A4993F1CAD666E447", 16); - BigInteger c2m239v1h = BigInteger.valueOf(4); - - ECCurve c2m239v1 = new ECCurve.F2m( - 239, - 36, - new BigInteger("32010857077C5431123A46B808906756F543423E8D27877578125778AC76", 16), - new BigInteger("790408F2EEDAF392B012EDEFB3392F30F4327C0CA3F31FC383C422AA8C16", 16), - c2m239v1n, c2m239v1h); - - return new X9ECParameters( - c2m239v1, - c2m239v1.decodePoint( - Hex.decode("0257927098FA932E7C0A96D3FD5B706EF7E5F5C156E16B7E7C86038552E91D")), - c2m239v1n, c2m239v1h, - null); - } - }; - - static X9ECParametersHolder c2tnb239v2 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m239v2n = new BigInteger("1555555555555555555555555555553C6F2885259C31E3FCDF154624522D", 16); - BigInteger c2m239v2h = BigInteger.valueOf(6); - - ECCurve c2m239v2 = new ECCurve.F2m( - 239, - 36, - new BigInteger("4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F", 16), - new BigInteger("5037EA654196CFF0CD82B2C14A2FCF2E3FF8775285B545722F03EACDB74B", 16), - c2m239v2n, c2m239v2h); - - return new X9ECParameters( - c2m239v2, - c2m239v2.decodePoint( - Hex.decode("0228F9D04E900069C8DC47A08534FE76D2B900B7D7EF31F5709F200C4CA205")), - c2m239v2n, c2m239v2h, - null); - } - }; - - static X9ECParametersHolder c2tnb239v3 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m239v3n = new BigInteger("0CCCCCCCCCCCCCCCCCCCCCCCCCCCCCAC4912D2D9DF903EF9888B8A0E4CFF", 16); - BigInteger c2m239v3h = BigInteger.valueOf(10); - - ECCurve c2m239v3 = new ECCurve.F2m( - 239, - 36, - new BigInteger("01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F", 16), - new BigInteger("6A941977BA9F6A435199ACFC51067ED587F519C5ECB541B8E44111DE1D40", 16), - c2m239v3n, c2m239v3h); - - return new X9ECParameters( - c2m239v3, - c2m239v3.decodePoint( - Hex.decode("0370F6E9D04D289C4E89913CE3530BFDE903977D42B146D539BF1BDE4E9C92")), - c2m239v3n, c2m239v3h, - null); - } - }; - - static X9ECParametersHolder c2pnb272w1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m272w1n = new BigInteger("0100FAF51354E0E39E4892DF6E319C72C8161603FA45AA7B998A167B8F1E629521", 16); - BigInteger c2m272w1h = BigInteger.valueOf(0xFF06); - - ECCurve c2m272w1 = new ECCurve.F2m( - 272, - 1, 3, 56, - new BigInteger("0091A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586FB20", 16), - new BigInteger("7167EFC92BB2E3CE7C8AAAFF34E12A9C557003D7C73A6FAF003F99F6CC8482E540F7", 16), - c2m272w1n, c2m272w1h); - - return new X9ECParameters( - c2m272w1, - c2m272w1.decodePoint( - Hex.decode("026108BABB2CEEBCF787058A056CBE0CFE622D7723A289E08A07AE13EF0D10D171DD8D")), - c2m272w1n, c2m272w1h, - null); - } - }; - - static X9ECParametersHolder c2pnb304w1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m304w1n = new BigInteger("0101D556572AABAC800101D556572AABAC8001022D5C91DD173F8FB561DA6899164443051D", 16); - BigInteger c2m304w1h = BigInteger.valueOf(0xFE2E); - - ECCurve c2m304w1 = new ECCurve.F2m( - 304, - 1, 2, 11, - new BigInteger("00FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C1288078365A0396C8E681", 16), - new BigInteger("00BDDB97E555A50A908E43B01C798EA5DAA6788F1EA2794EFCF57166B8C14039601E55827340BE", 16), - c2m304w1n, c2m304w1h); - - return new X9ECParameters( - c2m304w1, - c2m304w1.decodePoint( - Hex.decode("02197B07845E9BE2D96ADB0F5F3C7F2CFFBD7A3EB8B6FEC35C7FD67F26DDF6285A644F740A2614")), - c2m304w1n, c2m304w1h, - null); - } - }; - - static X9ECParametersHolder c2tnb359v1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m359v1n = new BigInteger("01AF286BCA1AF286BCA1AF286BCA1AF286BCA1AF286BC9FB8F6B85C556892C20A7EB964FE7719E74F490758D3B", 16); - BigInteger c2m359v1h = BigInteger.valueOf(0x4C); - - ECCurve c2m359v1 = new ECCurve.F2m( - 359, - 68, - new BigInteger("5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223A5E05656FB549016A96656A557", 16), - new BigInteger("2472E2D0197C49363F1FE7F5B6DB075D52B6947D135D8CA445805D39BC345626089687742B6329E70680231988", 16), - c2m359v1n, c2m359v1h); - - return new X9ECParameters( - c2m359v1, - c2m359v1.decodePoint( - Hex.decode("033C258EF3047767E7EDE0F1FDAA79DAEE3841366A132E163ACED4ED2401DF9C6BDCDE98E8E707C07A2239B1B097")), - c2m359v1n, c2m359v1h, - null); - } - }; - - static X9ECParametersHolder c2pnb368w1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m368w1n = new BigInteger("010090512DA9AF72B08349D98A5DD4C7B0532ECA51CE03E2D10F3B7AC579BD87E909AE40A6F131E9CFCE5BD967", 16); - BigInteger c2m368w1h = BigInteger.valueOf(0xFF70); - - ECCurve c2m368w1 = new ECCurve.F2m( - 368, - 1, 2, 85, - new BigInteger("00E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C576D62F0AB7519CCD2A1A906AE30D", 16), - new BigInteger("00FC1217D4320A90452C760A58EDCD30C8DD069B3C34453837A34ED50CB54917E1C2112D84D164F444F8F74786046A", 16), - c2m368w1n, c2m368w1h); - - return new X9ECParameters( - c2m368w1, - c2m368w1.decodePoint( - Hex.decode("021085E2755381DCCCE3C1557AFA10C2F0C0C2825646C5B34A394CBCFA8BC16B22E7E789E927BE216F02E1FB136A5F")), - c2m368w1n, c2m368w1h, - null); - } - }; - - static X9ECParametersHolder c2tnb431r1 = new X9ECParametersHolder() - { - protected X9ECParameters createParameters() - { - BigInteger c2m431r1n = new BigInteger("0340340340340340340340340340340340340340340340340340340323C313FAB50589703B5EC68D3587FEC60D161CC149C1AD4A91", 16); - BigInteger c2m431r1h = BigInteger.valueOf(0x2760); - - ECCurve c2m431r1 = new ECCurve.F2m( - 431, - 120, - new BigInteger("1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF620B0EB9906D0957F6C6FEACD615468DF104DE296CD8F", 16), - new BigInteger("10D9B4A3D9047D8B154359ABFB1B7F5485B04CEB868237DDC9DEDA982A679A5A919B626D4E50A8DD731B107A9962381FB5D807BF2618", 16), - c2m431r1n, c2m431r1h); - - return new X9ECParameters( - c2m431r1, - c2m431r1.decodePoint( - Hex.decode("02120FC05D3C67A99DE161D2F4092622FECA701BE4F50F4758714E8A87BBF2A658EF8C21E7C5EFE965361F6C2999C0C247B0DBD70CE6B7")), - c2m431r1n, c2m431r1h, - null); - } - }; - - static final Hashtable objIds = new Hashtable(); - static final Hashtable curves = new Hashtable(); - static final Hashtable names = new Hashtable(); - - static void defineCurve(String name, ASN1ObjectIdentifier oid, X9ECParametersHolder holder) - { - objIds.put(name, oid); - names.put(oid, name); - curves.put(oid, holder); - } - - static - { - defineCurve("prime192v1", X9ObjectIdentifiers.prime192v1, prime192v1); - defineCurve("prime192v2", X9ObjectIdentifiers.prime192v2, prime192v2); - defineCurve("prime192v3", X9ObjectIdentifiers.prime192v3, prime192v3); - defineCurve("prime239v1", X9ObjectIdentifiers.prime239v1, prime239v1); - defineCurve("prime239v2", X9ObjectIdentifiers.prime239v2, prime239v2); - defineCurve("prime239v3", X9ObjectIdentifiers.prime239v3, prime239v3); - defineCurve("prime256v1", X9ObjectIdentifiers.prime256v1, prime256v1); - defineCurve("c2pnb163v1", X9ObjectIdentifiers.c2pnb163v1, c2pnb163v1); - defineCurve("c2pnb163v2", X9ObjectIdentifiers.c2pnb163v2, c2pnb163v2); - defineCurve("c2pnb163v3", X9ObjectIdentifiers.c2pnb163v3, c2pnb163v3); - defineCurve("c2pnb176w1", X9ObjectIdentifiers.c2pnb176w1, c2pnb176w1); - defineCurve("c2tnb191v1", X9ObjectIdentifiers.c2tnb191v1, c2tnb191v1); - defineCurve("c2tnb191v2", X9ObjectIdentifiers.c2tnb191v2, c2tnb191v2); - defineCurve("c2tnb191v3", X9ObjectIdentifiers.c2tnb191v3, c2tnb191v3); - defineCurve("c2pnb208w1", X9ObjectIdentifiers.c2pnb208w1, c2pnb208w1); - defineCurve("c2tnb239v1", X9ObjectIdentifiers.c2tnb239v1, c2tnb239v1); - defineCurve("c2tnb239v2", X9ObjectIdentifiers.c2tnb239v2, c2tnb239v2); - defineCurve("c2tnb239v3", X9ObjectIdentifiers.c2tnb239v3, c2tnb239v3); - defineCurve("c2pnb272w1", X9ObjectIdentifiers.c2pnb272w1, c2pnb272w1); - defineCurve("c2pnb304w1", X9ObjectIdentifiers.c2pnb304w1, c2pnb304w1); - defineCurve("c2tnb359v1", X9ObjectIdentifiers.c2tnb359v1, c2tnb359v1); - defineCurve("c2pnb368w1", X9ObjectIdentifiers.c2pnb368w1, c2pnb368w1); - defineCurve("c2tnb431r1", X9ObjectIdentifiers.c2tnb431r1, c2tnb431r1); - } - - public static X9ECParameters getByName( - String name) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - - if (oid != null) - { - return getByOID(oid); - } - - return null; - } - - /** - * return the X9ECParameters object for the named curve represented by - * the passed in object identifier. Null if the curve isn't present. - * - * @param oid an object identifier representing a named curve, if present. - */ - public static X9ECParameters getByOID( - ASN1ObjectIdentifier oid) - { - X9ECParametersHolder holder = (X9ECParametersHolder)curves.get(oid); - - if (holder != null) - { - return holder.getParameters(); - } - - return null; - } - - /** - * return the object identifier signified by the passed in name. Null - * if there is no object identifier associated with name. - * - * @return the object identifier associated with name, if present. - */ - public static ASN1ObjectIdentifier getOID( - String name) - { - return (ASN1ObjectIdentifier)objIds.get(Strings.toLowerCase(name)); - } - - /** - * return the named curve name represented by the given object identifier. - */ - public static String getName( - ASN1ObjectIdentifier oid) - { - return (String)names.get(oid); - } - - /** - * returns an enumeration containing the name strings for curves - * contained in this structure. - */ - public static Enumeration getNames() - { - return objIds.keys(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962Parameters.java deleted file mode 100644 index 49e73a160..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X962Parameters.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.asn1.x9; - -import org.spongycastle.asn1.ASN1Choice; -import org.spongycastle.asn1.ASN1Null; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; - -public class X962Parameters - extends ASN1Object - implements ASN1Choice -{ - private ASN1Primitive params = null; - - public static X962Parameters getInstance( - Object obj) - { - if (obj == null || obj instanceof X962Parameters) - { - return (X962Parameters)obj; - } - - if (obj instanceof ASN1Primitive) - { - return new X962Parameters((ASN1Primitive)obj); - } - - throw new IllegalArgumentException("unknown object in getInstance()"); - } - - public static X962Parameters getInstance( - ASN1TaggedObject obj, - boolean explicit) - { - return getInstance(obj.getObject()); // must be explicitly tagged - } - - public X962Parameters( - X9ECParameters ecParameters) - { - this.params = ecParameters.toASN1Primitive(); - } - - public X962Parameters( - ASN1ObjectIdentifier namedCurve) - { - this.params = namedCurve; - } - - public X962Parameters( - ASN1Primitive obj) - { - this.params = obj; - } - - public boolean isNamedCurve() - { - return (params instanceof ASN1ObjectIdentifier); - } - - public boolean isImplicitlyCA() - { - return (params instanceof ASN1Null); - } - - public ASN1Primitive getParameters() - { - return params; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     * Parameters ::= CHOICE {
    -     *    ecParameters ECParameters,
    -     *    namedCurve   CURVES.&id({CurveNames}),
    -     *    implicitlyCA NULL
    -     * }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - return (ASN1Primitive)params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9Curve.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9Curve.java deleted file mode 100644 index f9673c2f3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9Curve.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.math.ec.ECCurve; - -/** - * ASN.1 def for Elliptic-Curve Curve structure. See - * X9.62, for further details. - */ -public class X9Curve - extends ASN1Object - implements X9ObjectIdentifiers -{ - private ECCurve curve; - private byte[] seed; - private ASN1ObjectIdentifier fieldIdentifier = null; - - public X9Curve( - ECCurve curve) - { - this.curve = curve; - this.seed = null; - setFieldIdentifier(); - } - - public X9Curve( - ECCurve curve, - byte[] seed) - { - this.curve = curve; - this.seed = seed; - setFieldIdentifier(); - } - - public X9Curve( - X9FieldID fieldID, - ASN1Sequence seq) - { - fieldIdentifier = fieldID.getIdentifier(); - if (fieldIdentifier.equals(prime_field)) - { - BigInteger p = ((ASN1Integer)fieldID.getParameters()).getValue(); - X9FieldElement x9A = new X9FieldElement(p, (ASN1OctetString)seq.getObjectAt(0)); - X9FieldElement x9B = new X9FieldElement(p, (ASN1OctetString)seq.getObjectAt(1)); - curve = new ECCurve.Fp(p, x9A.getValue().toBigInteger(), x9B.getValue().toBigInteger()); - } - else if (fieldIdentifier.equals(characteristic_two_field)) - { - // Characteristic two field - ASN1Sequence parameters = ASN1Sequence.getInstance(fieldID.getParameters()); - int m = ((ASN1Integer)parameters.getObjectAt(0)).getValue(). - intValue(); - ASN1ObjectIdentifier representation - = (ASN1ObjectIdentifier)parameters.getObjectAt(1); - - int k1 = 0; - int k2 = 0; - int k3 = 0; - - if (representation.equals(tpBasis)) - { - // Trinomial basis representation - k1 = ASN1Integer.getInstance(parameters.getObjectAt(2)).getValue().intValue(); - } - else if (representation.equals(ppBasis)) - { - // Pentanomial basis representation - ASN1Sequence pentanomial = ASN1Sequence.getInstance(parameters.getObjectAt(2)); - k1 = ASN1Integer.getInstance(pentanomial.getObjectAt(0)).getValue().intValue(); - k2 = ASN1Integer.getInstance(pentanomial.getObjectAt(1)).getValue().intValue(); - k3 = ASN1Integer.getInstance(pentanomial.getObjectAt(2)).getValue().intValue(); - } - else - { - throw new IllegalArgumentException("This type of EC basis is not implemented"); - } - X9FieldElement x9A = new X9FieldElement(m, k1, k2, k3, (ASN1OctetString)seq.getObjectAt(0)); - X9FieldElement x9B = new X9FieldElement(m, k1, k2, k3, (ASN1OctetString)seq.getObjectAt(1)); - // TODO Is it possible to get the order (n) and cofactor(h) too? - curve = new ECCurve.F2m(m, k1, k2, k3, x9A.getValue().toBigInteger(), x9B.getValue().toBigInteger()); - } - else - { - throw new IllegalArgumentException("This type of ECCurve is not implemented"); - } - - if (seq.size() == 3) - { - seed = ((DERBitString)seq.getObjectAt(2)).getBytes(); - } - } - - private void setFieldIdentifier() - { - if (curve instanceof ECCurve.Fp) - { - fieldIdentifier = prime_field; - } - else if (curve instanceof ECCurve.F2m) - { - fieldIdentifier = characteristic_two_field; - } - else - { - throw new IllegalArgumentException("This type of ECCurve is not implemented"); - } - } - - public ECCurve getCurve() - { - return curve; - } - - public byte[] getSeed() - { - return seed; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  Curve ::= SEQUENCE {
    -     *      a               FieldElement,
    -     *      b               FieldElement,
    -     *      seed            BIT STRING      OPTIONAL
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - if (fieldIdentifier.equals(prime_field)) - { - v.add(new X9FieldElement(curve.getA()).toASN1Primitive()); - v.add(new X9FieldElement(curve.getB()).toASN1Primitive()); - } - else if (fieldIdentifier.equals(characteristic_two_field)) - { - v.add(new X9FieldElement(curve.getA()).toASN1Primitive()); - v.add(new X9FieldElement(curve.getB()).toASN1Primitive()); - } - - if (seed != null) - { - v.add(new DERBitString(seed)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParameters.java deleted file mode 100644 index 80eb35fe2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParameters.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -/** - * ASN.1 def for Elliptic-Curve ECParameters structure. See - * X9.62, for further details. - */ -public class X9ECParameters - extends ASN1Object - implements X9ObjectIdentifiers -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private X9FieldID fieldID; - private ECCurve curve; - private ECPoint g; - private BigInteger n; - private BigInteger h; - private byte[] seed; - - private X9ECParameters( - ASN1Sequence seq) - { - if (!(seq.getObjectAt(0) instanceof ASN1Integer) - || !((ASN1Integer)seq.getObjectAt(0)).getValue().equals(ONE)) - { - throw new IllegalArgumentException("bad version in X9ECParameters"); - } - - X9Curve x9c = new X9Curve( - X9FieldID.getInstance(seq.getObjectAt(1)), - ASN1Sequence.getInstance(seq.getObjectAt(2))); - - this.curve = x9c.getCurve(); - Object p = seq.getObjectAt(3); - - if (p instanceof X9ECPoint) - { - this.g = ((X9ECPoint)p).getPoint(); - } - else - { - this.g = new X9ECPoint(curve, (ASN1OctetString)p).getPoint(); - } - - this.n = ((ASN1Integer)seq.getObjectAt(4)).getValue(); - this.seed = x9c.getSeed(); - - if (seq.size() == 6) - { - this.h = ((ASN1Integer)seq.getObjectAt(5)).getValue(); - } - } - - public static X9ECParameters getInstance(Object obj) - { - if (obj instanceof X9ECParameters) - { - return (X9ECParameters)obj; - } - - if (obj != null) - { - return new X9ECParameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public X9ECParameters( - ECCurve curve, - ECPoint g, - BigInteger n) - { - this(curve, g, n, ONE, null); - } - - public X9ECParameters( - ECCurve curve, - ECPoint g, - BigInteger n, - BigInteger h) - { - this(curve, g, n, h, null); - } - - public X9ECParameters( - ECCurve curve, - ECPoint g, - BigInteger n, - BigInteger h, - byte[] seed) - { - this.curve = curve; - this.g = g.normalize(); - this.n = n; - this.h = h; - this.seed = seed; - - if (curve instanceof ECCurve.Fp) - { - this.fieldID = new X9FieldID(((ECCurve.Fp)curve).getQ()); - } - else - { - if (curve instanceof ECCurve.F2m) - { - ECCurve.F2m curveF2m = (ECCurve.F2m)curve; - this.fieldID = new X9FieldID(curveF2m.getM(), curveF2m.getK1(), - curveF2m.getK2(), curveF2m.getK3()); - } - } - } - - public ECCurve getCurve() - { - return curve; - } - - public ECPoint getG() - { - return g; - } - - public BigInteger getN() - { - return n; - } - - public BigInteger getH() - { - if (h == null) - { - return ONE; // TODO - this should be calculated, it will cause issues with custom curves. - } - - return h; - } - - public byte[] getSeed() - { - return seed; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  ECParameters ::= SEQUENCE {
    -     *      version         INTEGER { ecpVer1(1) } (ecpVer1),
    -     *      fieldID         FieldID {{FieldTypes}},
    -     *      curve           X9Curve,
    -     *      base            X9ECPoint,
    -     *      order           INTEGER,
    -     *      cofactor        INTEGER OPTIONAL
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(1)); - v.add(fieldID); - v.add(new X9Curve(curve, seed)); - v.add(new X9ECPoint(g)); - v.add(new ASN1Integer(n)); - - if (h != null) - { - v.add(new ASN1Integer(h)); - } - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParametersHolder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParametersHolder.java deleted file mode 100644 index 50e4f1e1e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECParametersHolder.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.asn1.x9; - -public abstract class X9ECParametersHolder -{ - private X9ECParameters params; - - public X9ECParameters getParameters() - { - if (params == null) - { - params = createParameters(); - } - - return params; - } - - protected abstract X9ECParameters createParameters(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECPoint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECPoint.java deleted file mode 100644 index d984bcd43..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ECPoint.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1.x9; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -/** - * class for describing an ECPoint as a DER object. - */ -public class X9ECPoint - extends ASN1Object -{ - ECPoint p; - - public X9ECPoint( - ECPoint p) - { - this.p = p.normalize(); - } - - public X9ECPoint( - ECCurve c, - ASN1OctetString s) - { - this.p = c.decodePoint(s.getOctets()); - } - - public ECPoint getPoint() - { - return p; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *
    -     *  ECPoint ::= OCTET STRING
    -     * 
    - *

    - * Octet string produced using ECPoint.getEncoded(). - */ - public ASN1Primitive toASN1Primitive() - { - return new DEROctetString(p.getEncoded()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldElement.java deleted file mode 100644 index dd5b4dffe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldElement.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.math.ec.ECFieldElement; - -/** - * class for processing an FieldElement as a DER object. - */ -public class X9FieldElement - extends ASN1Object -{ - protected ECFieldElement f; - - private static X9IntegerConverter converter = new X9IntegerConverter(); - - public X9FieldElement(ECFieldElement f) - { - this.f = f; - } - - public X9FieldElement(BigInteger p, ASN1OctetString s) - { - this(new ECFieldElement.Fp(p, new BigInteger(1, s.getOctets()))); - } - - public X9FieldElement(int m, int k1, int k2, int k3, ASN1OctetString s) - { - this(new ECFieldElement.F2m(m, k1, k2, k3, new BigInteger(1, s.getOctets()))); - } - - public ECFieldElement getValue() - { - return f; - } - - /** - * Produce an object suitable for an ASN1OutputStream. - *

    -     *  FieldElement ::= OCTET STRING
    -     * 
    - *

    - *

      - *
    1. if q is an odd prime then the field element is - * processed as an Integer and converted to an octet string - * according to x 9.62 4.3.1.
    2. - *
    3. if q is 2m then the bit string - * contained in the field element is converted into an octet - * string with the same ordering padded at the front if necessary. - *
    4. - *
    - */ - public ASN1Primitive toASN1Primitive() - { - int byteCount = converter.getByteLength(f); - byte[] paddedBigInteger = converter.integerToBytes(f.toBigInteger(), byteCount); - - return new DEROctetString(paddedBigInteger); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldID.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldID.java deleted file mode 100644 index e73fad726..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9FieldID.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; - -/** - * ASN.1 def for Elliptic-Curve Field ID structure. See - * X9.62, for further details. - */ -public class X9FieldID - extends ASN1Object - implements X9ObjectIdentifiers -{ - private ASN1ObjectIdentifier id; - private ASN1Primitive parameters; - - /** - * Constructor for elliptic curves over prime fields - * F2. - * @param primeP The prime p defining the prime field. - */ - public X9FieldID(BigInteger primeP) - { - this.id = prime_field; - this.parameters = new ASN1Integer(primeP); - } - - /** - * Constructor for elliptic curves over binary fields - * F2m. - * @param m The exponent m of - * F2m. - * @param k1 The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k2 The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k3 The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).. - */ - public X9FieldID(int m, int k1, int k2, int k3) - { - this.id = characteristic_two_field; - ASN1EncodableVector fieldIdParams = new ASN1EncodableVector(); - fieldIdParams.add(new ASN1Integer(m)); - - if (k2 == 0) - { - fieldIdParams.add(tpBasis); - fieldIdParams.add(new ASN1Integer(k1)); - } - else - { - fieldIdParams.add(ppBasis); - ASN1EncodableVector pentanomialParams = new ASN1EncodableVector(); - pentanomialParams.add(new ASN1Integer(k1)); - pentanomialParams.add(new ASN1Integer(k2)); - pentanomialParams.add(new ASN1Integer(k3)); - fieldIdParams.add(new DERSequence(pentanomialParams)); - } - - this.parameters = new DERSequence(fieldIdParams); - } - - private X9FieldID( - ASN1Sequence seq) - { - this.id = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - this.parameters = seq.getObjectAt(1).toASN1Primitive(); - } - - public static X9FieldID getInstance(Object obj) - { - if (obj instanceof X9FieldID) - { - return (X9FieldID)obj; - } - - if (obj != null) - { - return new X9FieldID(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - public ASN1ObjectIdentifier getIdentifier() - { - return id; - } - - public ASN1Primitive getParameters() - { - return parameters; - } - - /** - * Produce a DER encoding of the following structure. - *
    -     *  FieldID ::= SEQUENCE {
    -     *      fieldType       FIELD-ID.&id({IOSet}),
    -     *      parameters      FIELD-ID.&Type({IOSet}{@fieldType})
    -     *  }
    -     * 
    - */ - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(this.id); - v.add(this.parameters); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9IntegerConverter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9IntegerConverter.java deleted file mode 100644 index 66dcc59b1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9IntegerConverter.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.asn1.x9; - -import java.math.BigInteger; - -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECFieldElement; - -public class X9IntegerConverter -{ - public int getByteLength( - ECCurve c) - { - return (c.getFieldSize() + 7) / 8; - } - - public int getByteLength( - ECFieldElement fe) - { - return (fe.getFieldSize() + 7) / 8; - } - - public byte[] integerToBytes( - BigInteger s, - int qLength) - { - byte[] bytes = s.toByteArray(); - - if (qLength < bytes.length) - { - byte[] tmp = new byte[qLength]; - - System.arraycopy(bytes, bytes.length - tmp.length, tmp, 0, tmp.length); - - return tmp; - } - else if (qLength > bytes.length) - { - byte[] tmp = new byte[qLength]; - - System.arraycopy(bytes, 0, tmp, tmp.length - bytes.length, bytes.length); - - return tmp; - } - - return bytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ObjectIdentifiers.java deleted file mode 100644 index 1b67cb711..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/x9/X9ObjectIdentifiers.java +++ /dev/null @@ -1,207 +0,0 @@ -package org.spongycastle.asn1.x9; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * - * X9.62 - *
    - * ansi-X9-62 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    - *                                    us(840) ansi-x962(10045) }
    - * 
    - */ -public interface X9ObjectIdentifiers -{ - /** Base OID: 1.2.840.10045 */ - static final ASN1ObjectIdentifier ansi_X9_62 = new ASN1ObjectIdentifier("1.2.840.10045"); - - /** OID: 1.2.840.10045.1 */ - static final ASN1ObjectIdentifier id_fieldType = ansi_X9_62.branch("1"); - - /** OID: 1.2.840.10045.1.1 */ - static final ASN1ObjectIdentifier prime_field = id_fieldType.branch("1"); - - /** OID: 1.2.840.10045.1.2 */ - static final ASN1ObjectIdentifier characteristic_two_field = id_fieldType.branch("2"); - - /** OID: 1.2.840.10045.1.2.3.1 */ - static final ASN1ObjectIdentifier gnBasis = characteristic_two_field.branch("3.1"); - - /** OID: 1.2.840.10045.1.2.3.2 */ - static final ASN1ObjectIdentifier tpBasis = characteristic_two_field.branch("3.2"); - - /** OID: 1.2.840.10045.1.2.3.3 */ - static final ASN1ObjectIdentifier ppBasis = characteristic_two_field.branch("3.3"); - - /** OID: 1.2.840.10045.4 */ - static final ASN1ObjectIdentifier id_ecSigType = ansi_X9_62.branch("4"); - - /** OID: 1.2.840.10045.4.1 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA1 = id_ecSigType.branch("1"); - - /** OID: 1.2.840.10045.2 */ - static final ASN1ObjectIdentifier id_publicKeyType = ansi_X9_62.branch("2"); - - /** OID: 1.2.840.10045.2.1 */ - static final ASN1ObjectIdentifier id_ecPublicKey = id_publicKeyType.branch("1"); - - /** OID: 1.2.840.10045.4.3 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA2 = id_ecSigType.branch("3"); - - /** OID: 1.2.840.10045.4.3.1 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA224 = ecdsa_with_SHA2.branch("1"); - - /** OID: 1.2.840.10045.4.3.2 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA256 = ecdsa_with_SHA2.branch("2"); - - /** OID: 1.2.840.10045.4.3.3 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA384 = ecdsa_with_SHA2.branch("3"); - - /** OID: 1.2.840.10045.4.3.4 */ - static final ASN1ObjectIdentifier ecdsa_with_SHA512 = ecdsa_with_SHA2.branch("4"); - - /** - * Named curves base - *

    - * OID: 1.2.840.10045.1 - */ - static final ASN1ObjectIdentifier ellipticCurve = ansi_X9_62.branch("3"); - - /** - * Two Curves - *

    - * OID: 1.2.840.10045.1.0 - */ - static final ASN1ObjectIdentifier cTwoCurve = ellipticCurve.branch("0"); - - /** Two Curve c2pnb163v1, OID: 1.2.840.10045.1.0.1 */ - static final ASN1ObjectIdentifier c2pnb163v1 = cTwoCurve.branch("1"); - /** Two Curve c2pnb163v2, OID: 1.2.840.10045.1.0.2 */ - static final ASN1ObjectIdentifier c2pnb163v2 = cTwoCurve.branch("2"); - /** Two Curve c2pnb163v3, OID: 1.2.840.10045.1.0.3 */ - static final ASN1ObjectIdentifier c2pnb163v3 = cTwoCurve.branch("3"); - /** Two Curve c2pnb176w1, OID: 1.2.840.10045.1.0.4 */ - static final ASN1ObjectIdentifier c2pnb176w1 = cTwoCurve.branch("4"); - /** Two Curve c2tnb191v1, OID: 1.2.840.10045.1.0.5 */ - static final ASN1ObjectIdentifier c2tnb191v1 = cTwoCurve.branch("5"); - /** Two Curve c2tnb191v2, OID: 1.2.840.10045.1.0.6 */ - static final ASN1ObjectIdentifier c2tnb191v2 = cTwoCurve.branch("6"); - /** Two Curve c2tnb191v3, OID: 1.2.840.10045.1.0.7 */ - static final ASN1ObjectIdentifier c2tnb191v3 = cTwoCurve.branch("7"); - /** Two Curve c2onb191v4, OID: 1.2.840.10045.1.0.8 */ - static final ASN1ObjectIdentifier c2onb191v4 = cTwoCurve.branch("8"); - /** Two Curve c2onb191v5, OID: 1.2.840.10045.1.0.9 */ - static final ASN1ObjectIdentifier c2onb191v5 = cTwoCurve.branch("9"); - /** Two Curve c2pnb208w1, OID: 1.2.840.10045.1.0.10 */ - static final ASN1ObjectIdentifier c2pnb208w1 = cTwoCurve.branch("10"); - /** Two Curve c2tnb239v1, OID: 1.2.840.10045.1.0.11 */ - static final ASN1ObjectIdentifier c2tnb239v1 = cTwoCurve.branch("11"); - /** Two Curve c2tnb239v2, OID: 1.2.840.10045.1.0.12 */ - static final ASN1ObjectIdentifier c2tnb239v2 = cTwoCurve.branch("12"); - /** Two Curve c2tnb239v3, OID: 1.2.840.10045.1.0.13 */ - static final ASN1ObjectIdentifier c2tnb239v3 = cTwoCurve.branch("13"); - /** Two Curve c2onb239v4, OID: 1.2.840.10045.1.0.14 */ - static final ASN1ObjectIdentifier c2onb239v4 = cTwoCurve.branch("14"); - /** Two Curve c2onb239v5, OID: 1.2.840.10045.1.0.15 */ - static final ASN1ObjectIdentifier c2onb239v5 = cTwoCurve.branch("15"); - /** Two Curve c2pnb272w1, OID: 1.2.840.10045.1.0.16 */ - static final ASN1ObjectIdentifier c2pnb272w1 = cTwoCurve.branch("16"); - /** Two Curve c2pnb304w1, OID: 1.2.840.10045.1.0.17 */ - static final ASN1ObjectIdentifier c2pnb304w1 = cTwoCurve.branch("17"); - /** Two Curve c2tnb359v1, OID: 1.2.840.10045.1.0.18 */ - static final ASN1ObjectIdentifier c2tnb359v1 = cTwoCurve.branch("18"); - /** Two Curve c2pnb368w1, OID: 1.2.840.10045.1.0.19 */ - static final ASN1ObjectIdentifier c2pnb368w1 = cTwoCurve.branch("19"); - /** Two Curve c2tnb431r1, OID: 1.2.840.10045.1.0.20 */ - static final ASN1ObjectIdentifier c2tnb431r1 = cTwoCurve.branch("20"); - - /** - * Prime Curves - *

    - * OID: 1.2.840.10045.1.1 - */ - static final ASN1ObjectIdentifier primeCurve = ellipticCurve.branch("1"); - - /** Prime Curve prime192v1, OID: 1.2.840.10045.1.1.1 */ - static final ASN1ObjectIdentifier prime192v1 = primeCurve.branch("1"); - /** Prime Curve prime192v2, OID: 1.2.840.10045.1.1.2 */ - static final ASN1ObjectIdentifier prime192v2 = primeCurve.branch("2"); - /** Prime Curve prime192v3, OID: 1.2.840.10045.1.1.3 */ - static final ASN1ObjectIdentifier prime192v3 = primeCurve.branch("3"); - /** Prime Curve prime239v1, OID: 1.2.840.10045.1.1.4 */ - static final ASN1ObjectIdentifier prime239v1 = primeCurve.branch("4"); - /** Prime Curve prime239v2, OID: 1.2.840.10045.1.1.5 */ - static final ASN1ObjectIdentifier prime239v2 = primeCurve.branch("5"); - /** Prime Curve prime239v3, OID: 1.2.840.10045.1.1.6 */ - static final ASN1ObjectIdentifier prime239v3 = primeCurve.branch("6"); - /** Prime Curve prime256v1, OID: 1.2.840.10045.1.1.7 */ - static final ASN1ObjectIdentifier prime256v1 = primeCurve.branch("7"); - - /** - * DSA - *

    -     * dsapublicnumber OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    -     *                                         us(840) ansi-x957(10040) number-type(4) 1 }
    -     * 
    - * Base OID: 1.2.840.10040.4.1 - */ - static final ASN1ObjectIdentifier id_dsa = new ASN1ObjectIdentifier("1.2.840.10040.4.1"); - - /** - *
    -     * id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
    -     *     iso(1) member-body(2) us(840) x9-57(10040) x9cm(4) 3 }
    -     * 
    - * OID: 1.2.840.10040.4.3 - */ - static final ASN1ObjectIdentifier id_dsa_with_sha1 = new ASN1ObjectIdentifier("1.2.840.10040.4.3"); - - /** - * X9.63 - Signature Specification - *

    - * Base OID: 1.3.133.16.840.63.0 - */ - static final ASN1ObjectIdentifier x9_63_scheme = new ASN1ObjectIdentifier("1.3.133.16.840.63.0"); - /** OID: 1.3.133.16.840.63.0.2 */ - static final ASN1ObjectIdentifier dhSinglePass_stdDH_sha1kdf_scheme = x9_63_scheme.branch("2"); - /** OID: 1.3.133.16.840.63.0.3 */ - static final ASN1ObjectIdentifier dhSinglePass_cofactorDH_sha1kdf_scheme = x9_63_scheme.branch("3"); - /** OID: 1.3.133.16.840.63.0.16 */ - static final ASN1ObjectIdentifier mqvSinglePass_sha1kdf_scheme = x9_63_scheme.branch("16"); - - /** - * X9.42 - */ - - static final ASN1ObjectIdentifier ansi_X9_42 = new ASN1ObjectIdentifier("1.2.840.10046"); - - /** - * Diffie-Hellman - *

    -     * dhpublicnumber OBJECT IDENTIFIER ::= {
    -     *    iso(1) member-body(2)  us(840) ansi-x942(10046) number-type(2) 1
    -     * }
    -     * 
    - * OID: 1.2.840.10046.2.1 - */ - static final ASN1ObjectIdentifier dhpublicnumber = ansi_X9_42.branch("2.1"); - - /** X9.42 schemas base OID: 1.2.840.10046.3 */ - static final ASN1ObjectIdentifier x9_42_schemes = ansi_X9_42.branch("3"); - /** X9.42 dhStatic OID: 1.2.840.10046.3.1 */ - static final ASN1ObjectIdentifier dhStatic = x9_42_schemes.branch("1"); - /** X9.42 dhEphem OID: 1.2.840.10046.3.2 */ - static final ASN1ObjectIdentifier dhEphem = x9_42_schemes.branch("2"); - /** X9.42 dhOneFlow OID: 1.2.840.10046.3.3 */ - static final ASN1ObjectIdentifier dhOneFlow = x9_42_schemes.branch("3"); - /** X9.42 dhHybrid1 OID: 1.2.840.10046.3.4 */ - static final ASN1ObjectIdentifier dhHybrid1 = x9_42_schemes.branch("4"); - /** X9.42 dhHybrid2 OID: 1.2.840.10046.3.5 */ - static final ASN1ObjectIdentifier dhHybrid2 = x9_42_schemes.branch("5"); - /** X9.42 dhHybridOneFlow OID: 1.2.840.10046.3.6 */ - static final ASN1ObjectIdentifier dhHybridOneFlow = x9_42_schemes.branch("6"); - /** X9.42 MQV2 OID: 1.2.840.10046.3.7 */ - static final ASN1ObjectIdentifier mqv2 = x9_42_schemes.branch("7"); - /** X9.42 MQV1 OID: 1.2.840.10046.3.8 */ - static final ASN1ObjectIdentifier mqv1 = x9_42_schemes.branch("8"); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricBlockCipher.java deleted file mode 100644 index a026a69a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricBlockCipher.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto; - - -/** - * base interface that a public/private key block cipher needs - * to conform to. - */ -public interface AsymmetricBlockCipher -{ - /** - * initialise the cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param param the key and other data required by the cipher. - */ - public void init(boolean forEncryption, CipherParameters param); - - /** - * returns the largest size an input block can be. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize(); - - /** - * returns the maximum size of the block produced by this cipher. - * - * @return maximum size of the output block produced by the cipher. - */ - public int getOutputBlockSize(); - - /** - * process the block of len bytes stored in in from offset inOff. - * - * @param in the input data - * @param inOff offset into the in array where the data starts - * @param len the length of the block to be processed. - * @return the resulting byte array of the encryption/decryption process. - * @exception InvalidCipherTextException data decrypts improperly. - * @exception DataLengthException the input data is too large for the cipher. - */ - public byte[] processBlock(byte[] in, int inOff, int len) - throws InvalidCipherTextException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPair.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPair.java deleted file mode 100644 index cc8fa1a53..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPair.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.spongycastle.crypto; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -/** - * a holding class for public/private parameter pairs. - */ -public class AsymmetricCipherKeyPair -{ - private AsymmetricKeyParameter publicParam; - private AsymmetricKeyParameter privateParam; - - /** - * basic constructor. - * - * @param publicParam a public key parameters object. - * @param privateParam the corresponding private key parameters. - */ - public AsymmetricCipherKeyPair( - AsymmetricKeyParameter publicParam, - AsymmetricKeyParameter privateParam) - { - this.publicParam = publicParam; - this.privateParam = privateParam; - } - - /** - * basic constructor. - * - * @param publicParam a public key parameters object. - * @param privateParam the corresponding private key parameters. - * @deprecated use AsymmetricKeyParameter - */ - public AsymmetricCipherKeyPair( - CipherParameters publicParam, - CipherParameters privateParam) - { - this.publicParam = (AsymmetricKeyParameter)publicParam; - this.privateParam = (AsymmetricKeyParameter)privateParam; - } - - /** - * return the public key parameters. - * - * @return the public key parameters. - */ - public AsymmetricKeyParameter getPublic() - { - return publicParam; - } - - /** - * return the private key parameters. - * - * @return the private key parameters. - */ - public AsymmetricKeyParameter getPrivate() - { - return privateParam; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPairGenerator.java deleted file mode 100644 index 7dad90fd7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/AsymmetricCipherKeyPairGenerator.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto; - -/** - * interface that a public/private key pair generator should conform to. - */ -public interface AsymmetricCipherKeyPairGenerator -{ - /** - * intialise the key pair generator. - * - * @param param the parameters the key pair is to be initialised with. - */ - public void init(KeyGenerationParameters param); - - /** - * return an AsymmetricCipherKeyPair containing the generated keys. - * - * @return an AsymmetricCipherKeyPair containing the generated keys. - */ - public AsymmetricCipherKeyPair generateKeyPair(); -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BasicAgreement.java deleted file mode 100644 index e6e003c63..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BasicAgreement.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.crypto; - -import java.math.BigInteger; - -/** - * The basic interface that basic Diffie-Hellman implementations - * conforms to. - */ -public interface BasicAgreement -{ - /** - * initialise the agreement engine. - */ - void init(CipherParameters param); - - /** - * return the field size for the agreement algorithm in bytes. - */ - int getFieldSize(); - - /** - * given a public key from a given party calculate the next - * message in the agreement sequence. - */ - BigInteger calculateAgreement(CipherParameters pubKey); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BlockCipher.java deleted file mode 100644 index a7d0573a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BlockCipher.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.crypto; - - -/** - * Block cipher engines are expected to conform to this interface. - */ -public interface BlockCipher -{ - /** - * Initialise the cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException; - - /** - * Return the name of the algorithm the cipher implements. - * - * @return the name of the algorithm the cipher implements. - */ - public String getAlgorithmName(); - - /** - * Return the block size for this cipher (in bytes). - * - * @return the block size for this cipher in bytes. - */ - public int getBlockSize(); - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException; - - /** - * Reset the cipher. After resetting the cipher is in the same state - * as it was after the last init (if there was one). - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedAsymmetricBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedAsymmetricBlockCipher.java deleted file mode 100644 index 9cefae149..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedAsymmetricBlockCipher.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.crypto; - -/** - * a buffer wrapper for an asymmetric block cipher, allowing input - * to be accumulated in a piecemeal fashion until final processing. - */ -public class BufferedAsymmetricBlockCipher -{ - protected byte[] buf; - protected int bufOff; - - private final AsymmetricBlockCipher cipher; - - /** - * base constructor. - * - * @param cipher the cipher this buffering object wraps. - */ - public BufferedAsymmetricBlockCipher( - AsymmetricBlockCipher cipher) - { - this.cipher = cipher; - } - - /** - * return the underlying cipher for the buffer. - * - * @return the underlying cipher for the buffer. - */ - public AsymmetricBlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * return the amount of data sitting in the buffer. - * - * @return the amount of data sitting in the buffer. - */ - public int getBufferPosition() - { - return bufOff; - } - - /** - * initialise the buffer and the underlying cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - reset(); - - cipher.init(forEncryption, params); - - // - // we allow for an extra byte where people are using their own padding - // mechanisms on a raw cipher. - // - buf = new byte[cipher.getInputBlockSize() + (forEncryption ? 1 : 0)]; - bufOff = 0; - } - - /** - * returns the largest size an input block can be. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - return cipher.getInputBlockSize(); - } - - /** - * returns the maximum size of the block produced by this cipher. - * - * @return maximum size of the output block produced by the cipher. - */ - public int getOutputBlockSize() - { - return cipher.getOutputBlockSize(); - } - - /** - * add another byte for processing. - * - * @param in the input byte. - */ - public void processByte( - byte in) - { - if (bufOff >= buf.length) - { - throw new DataLengthException("attempt to process message too long for cipher"); - } - - buf[bufOff++] = in; - } - - /** - * add len bytes to the buffer for processing. - * - * @param in the input data - * @param inOff offset into the in array where the data starts - * @param len the length of the block to be processed. - */ - public void processBytes( - byte[] in, - int inOff, - int len) - { - if (len == 0) - { - return; - } - - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - if (bufOff + len > buf.length) - { - throw new DataLengthException("attempt to process message too long for cipher"); - } - - System.arraycopy(in, inOff, buf, bufOff, len); - bufOff += len; - } - - /** - * process the contents of the buffer using the underlying - * cipher. - * - * @return the result of the encryption/decryption process on the - * buffer. - * @exception InvalidCipherTextException if we are given a garbage block. - */ - public byte[] doFinal() - throws InvalidCipherTextException - { - byte[] out = cipher.processBlock(buf, 0, bufOff); - - reset(); - - return out; - } - - /** - * Reset the buffer and the underlying cipher. - */ - public void reset() - { - /* - * clean the buffer. - */ - if (buf != null) - { - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - } - - bufOff = 0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedBlockCipher.java deleted file mode 100644 index 941943322..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/BufferedBlockCipher.java +++ /dev/null @@ -1,313 +0,0 @@ -package org.spongycastle.crypto; - - -/** - * A wrapper class that allows block ciphers to be used to process data in - * a piecemeal fashion. The BufferedBlockCipher outputs a block only when the - * buffer is full and more data is being added, or on a doFinal. - *

    - * Note: in the case where the underlying cipher is either a CFB cipher or an - * OFB one the last block may not be a multiple of the block size. - */ -public class BufferedBlockCipher -{ - protected byte[] buf; - protected int bufOff; - - protected boolean forEncryption; - protected BlockCipher cipher; - - protected boolean partialBlockOkay; - protected boolean pgpCFB; - - /** - * constructor for subclasses - */ - protected BufferedBlockCipher() - { - } - - /** - * Create a buffered block cipher without padding. - * - * @param cipher the underlying block cipher this buffering object wraps. - */ - public BufferedBlockCipher( - BlockCipher cipher) - { - this.cipher = cipher; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - - // - // check if we can handle partial blocks on doFinal. - // - String name = cipher.getAlgorithmName(); - int idx = name.indexOf('/') + 1; - - pgpCFB = (idx > 0 && name.startsWith("PGP", idx)); - - if (pgpCFB) - { - partialBlockOkay = true; - } - else - { - partialBlockOkay = (idx > 0 && (name.startsWith("CFB", idx) || name.startsWith("GCFB", idx) ||name.startsWith("OFB", idx) || name.startsWith("OpenPGP", idx) || name.startsWith("SIC", idx) || name.startsWith("GCTR", idx))); - } - } - - /** - * return the cipher this object wraps. - * - * @return the cipher this object wraps. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * initialise the cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - reset(); - - cipher.init(forEncryption, params); - } - - /** - * return the blocksize for the underlying cipher. - * - * @return the blocksize for the underlying cipher. - */ - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - /** - * return the size of the output buffer required for an update - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update - * with len bytes of input. - */ - public int getUpdateOutputSize( - int len) - { - int total = len + bufOff; - int leftOver; - - if (pgpCFB) - { - leftOver = total % buf.length - (cipher.getBlockSize() + 2); - } - else - { - leftOver = total % buf.length; - } - - return total - leftOver; - } - - /** - * return the size of the output buffer required for an update plus a - * doFinal with an input of 'length' bytes. - * - * @param length the length of the input. - * @return the space required to accommodate a call to update and doFinal - * with 'length' bytes of input. - */ - public int getOutputSize( - int length) - { - // Note: Can assume partialBlockOkay is true for purposes of this calculation - return length + bufOff; - } - - /** - * process a single byte, producing an output block if neccessary. - * - * @param in the input byte. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processByte( - byte in, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - int resultLen = 0; - - buf[bufOff++] = in; - - if (bufOff == buf.length) - { - resultLen = cipher.processBlock(buf, 0, out, outOff); - bufOff = 0; - } - - return resultLen; - } - - /** - * process an array of bytes, producing output if necessary. - * - * @param in the input byte array. - * @param inOff the offset at which the input data starts. - * @param len the number of bytes to be copied out of the input array. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = getBlockSize(); - int length = getUpdateOutputSize(len); - - if (length > 0) - { - if ((outOff + length) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, out, outOff); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > buf.length) - { - resultLen += cipher.processBlock(in, inOff, out, outOff + resultLen); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - - if (bufOff == buf.length) - { - resultLen += cipher.processBlock(buf, 0, out, outOff + resultLen); - bufOff = 0; - } - - return resultLen; - } - - /** - * Process the last block in the buffer. - * - * @param out the array the block currently being held is copied into. - * @param outOff the offset at which the copying starts. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there is insufficient space in out for - * the output, or the input is not block size aligned and should be. - * @exception IllegalStateException if the underlying cipher is not - * initialised. - * @exception InvalidCipherTextException if padding is expected and not found. - * @exception DataLengthException if the input is not block size - * aligned. - */ - public int doFinal( - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException, InvalidCipherTextException - { - try - { - int resultLen = 0; - - if (outOff + bufOff > out.length) - { - throw new OutputLengthException("output buffer too short for doFinal()"); - } - - if (bufOff != 0) - { - if (!partialBlockOkay) - { - throw new DataLengthException("data not block size aligned"); - } - - cipher.processBlock(buf, 0, buf, 0); - resultLen = bufOff; - bufOff = 0; - System.arraycopy(buf, 0, out, outOff, resultLen); - } - - return resultLen; - } - finally - { - reset(); - } - } - - /** - * Reset the buffer and cipher. After resetting the object is in the same - * state as it was after the last init (if there was one). - */ - public void reset() - { - // - // clean the buffer. - // - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - // - // reset the underlying cipher. - // - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherKeyGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherKeyGenerator.java deleted file mode 100644 index 5377e739c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherKeyGenerator.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.crypto; - -import java.security.SecureRandom; - -/** - * The base class for symmetric, or secret, cipher key generators. - */ -public class CipherKeyGenerator -{ - protected SecureRandom random; - protected int strength; - - /** - * initialise the key generator. - * - * @param param the parameters to be used for key generation - */ - public void init( - KeyGenerationParameters param) - { - this.random = param.getRandom(); - this.strength = (param.getStrength() + 7) / 8; - } - - /** - * generate a secret key. - * - * @return a byte array containing the key value. - */ - public byte[] generateKey() - { - byte[] key = new byte[strength]; - - random.nextBytes(key); - - return key; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherParameters.java deleted file mode 100644 index 5a9576bf1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CipherParameters.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.crypto; - -/** - * all parameter classes implement this. - */ -public interface CipherParameters -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Commitment.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Commitment.java deleted file mode 100644 index 9f5bcdf92..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Commitment.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto; - -/** - * General holding class for a commitment. - */ -public class Commitment -{ - private final byte[] secret; - private final byte[] commitment; - - /** - * Base constructor. - * - * @param secret an encoding of the secret required to reveal the commitment. - * @param commitment an encoding of the sealed commitment. - */ - public Commitment(byte[] secret, byte[] commitment) - { - this.secret = secret; - this.commitment = commitment; - } - - /** - * The secret required to reveal the commitment. - * - * @return an encoding of the secret associated with the commitment. - */ - public byte[] getSecret() - { - return secret; - } - - /** - * The sealed commitment. - * - * @return an encoding of the sealed commitment. - */ - public byte[] getCommitment() - { - return commitment; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Committer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Committer.java deleted file mode 100644 index 777486645..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Committer.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.crypto; - -/** - * General interface fdr classes that produce and validate commitments. - */ -public interface Committer -{ - /** - * Generate a commitment for the passed in message. - * - * @param message the message to be committed to, - * @return a Commitment - */ - Commitment commit(byte[] message); - - /** - * Return true if the passed in commitment represents a commitment to the passed in maessage. - * - * @param commitment a commitment previously generated. - * @param message the message that was expected to have been committed to. - * @return true if commitment matches message, false otherwise. - */ - boolean isRevealed(Commitment commitment, byte[] message); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CryptoException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CryptoException.java deleted file mode 100644 index a33adf95b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/CryptoException.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto; - -/** - * the foundation class for the hard exceptions thrown by the crypto packages. - */ -public class CryptoException - extends Exception -{ - private Throwable cause; - - /** - * base constructor. - */ - public CryptoException() - { - } - - /** - * create a CryptoException with the given message. - * - * @param message the message to be carried with the exception. - */ - public CryptoException( - String message) - { - super(message); - } - - /** - * Create a CryptoException with the given message and underlying cause. - * - * @param message message describing exception. - * @param cause the throwable that was the underlying cause. - */ - public CryptoException( - String message, - Throwable cause) - { - super(message); - - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java deleted file mode 100644 index 7243ddd94..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.crypto; - -import java.math.BigInteger; - -/** - * interface for classes implementing algorithms modeled similar to the Digital Signature Alorithm. - */ -public interface DSA -{ - /** - * initialise the signer for signature generation or signature - * verification. - * - * @param forSigning true if we are generating a signature, false - * otherwise. - * @param param key parameters for signature generation. - */ - public void init(boolean forSigning, CipherParameters param); - - /** - * sign the passed in message (usually the output of a hash function). - * - * @param message the message to be signed. - * @return two big integers representing the r and s values respectively. - */ - public BigInteger[] generateSignature(byte[] message); - - /** - * verify the message message against the signature values r and s. - * - * @param message the message that was supposed to have been signed. - * @param r the r signature value. - * @param s the s signature value. - */ - public boolean verifySignature(byte[] message, BigInteger r, BigInteger s); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DataLengthException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DataLengthException.java deleted file mode 100644 index c89e8bf1b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DataLengthException.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.crypto; - -/** - * this exception is thrown if a buffer that is meant to have output - * copied into it turns out to be too short, or if we've been given - * insufficient input. In general this exception will get thrown rather - * than an ArrayOutOfBounds exception. - */ -public class DataLengthException - extends RuntimeCryptoException -{ - /** - * base constructor. - */ - public DataLengthException() - { - } - - /** - * create a DataLengthException with the given message. - * - * @param message the message to be carried with the exception. - */ - public DataLengthException( - String message) - { - super(message); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationFunction.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationFunction.java deleted file mode 100644 index b8e913fd2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationFunction.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto; - -/** - * base interface for general purpose byte derivation functions. - */ -public interface DerivationFunction -{ - public void init(DerivationParameters param); - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationParameters.java deleted file mode 100644 index 19b23ec66..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DerivationParameters.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.crypto; - -/** - * Parameters for key/byte stream derivation classes - */ -public interface DerivationParameters -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Digest.java deleted file mode 100644 index 33103b26a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Digest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.crypto; - -/** - * interface that a message digest conforms to. - */ -public interface Digest -{ - /** - * return the algorithm name - * - * @return the algorithm name - */ - public String getAlgorithmName(); - - /** - * return the size, in bytes, of the digest produced by this message digest. - * - * @return the size, in bytes, of the digest produced by this message digest. - */ - public int getDigestSize(); - - /** - * update the message digest with a single byte. - * - * @param in the input byte to be entered. - */ - public void update(byte in); - - /** - * update the message digest with a block of bytes. - * - * @param in the byte array containing the data. - * @param inOff the offset into the byte array where the data starts. - * @param len the length of the data. - */ - public void update(byte[] in, int inOff, int len); - - /** - * close the digest, producing the final digest value. The doFinal - * call leaves the digest reset. - * - * @param out the array the digest is to be copied into. - * @param outOff the offset into the out array the digest is to start at. - */ - public int doFinal(byte[] out, int outOff); - - /** - * reset the digest back to it's initial state. - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DigestDerivationFunction.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DigestDerivationFunction.java deleted file mode 100644 index 7ed0fe15d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DigestDerivationFunction.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto; - -/** - * base interface for general purpose Digest based byte derivation functions. - */ -public interface DigestDerivationFunction - extends DerivationFunction -{ - /** - * return the message digest used as the basis for the function - */ - public Digest getDigest(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/EphemeralKeyPair.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/EphemeralKeyPair.java deleted file mode 100644 index 042850c34..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/EphemeralKeyPair.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto; - -public class EphemeralKeyPair -{ - private AsymmetricCipherKeyPair keyPair; - private KeyEncoder publicKeyEncoder; - - public EphemeralKeyPair(AsymmetricCipherKeyPair keyPair, KeyEncoder publicKeyEncoder) - { - this.keyPair = keyPair; - this.publicKeyEncoder = publicKeyEncoder; - } - - public AsymmetricCipherKeyPair getKeyPair() - { - return keyPair; - } - - public byte[] getEncodedPublicKey() - { - return publicKeyEncoder.getEncoded(keyPair.getPublic()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ExtendedDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ExtendedDigest.java deleted file mode 100644 index 7cc339f27..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ExtendedDigest.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto; - -public interface ExtendedDigest - extends Digest -{ - /** - * Return the size in bytes of the internal buffer the digest applies it's compression - * function to. - * - * @return byte length of the digests internal buffer. - */ - public int getByteLength(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/InvalidCipherTextException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/InvalidCipherTextException.java deleted file mode 100644 index 802683fc3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/InvalidCipherTextException.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.spongycastle.crypto; - -/** - * this exception is thrown whenever we find something we don't expect in a - * message. - */ -public class InvalidCipherTextException - extends CryptoException -{ - /** - * base constructor. - */ - public InvalidCipherTextException() - { - } - - /** - * create a InvalidCipherTextException with the given message. - * - * @param message the message to be carried with the exception. - */ - public InvalidCipherTextException( - String message) - { - super(message); - } - - /** - * create a InvalidCipherTextException with the given message. - * - * @param message the message to be carried with the exception. - * @param cause the root cause of the exception. - */ - public InvalidCipherTextException( - String message, - Throwable cause) - { - super(message, cause); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncapsulation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncapsulation.java deleted file mode 100755 index 1a53e7908..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncapsulation.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto; - -/** - * The basic interface for key encapsulation mechanisms. - */ -public interface KeyEncapsulation -{ - /** - * Initialise the key encapsulation mechanism. - */ - public void init(CipherParameters param); - - /** - * Encapsulate a randomly generated session key. - */ - public CipherParameters encrypt(byte[] out, int outOff, int keyLen); - - /** - * Decapsulate an encapsulated session key. - */ - public CipherParameters decrypt(byte[] in, int inOff, int inLen, int keyLen); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncoder.java deleted file mode 100644 index b3cc17985..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyEncoder.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.crypto; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public interface KeyEncoder -{ - byte[] getEncoded(AsymmetricKeyParameter keyParameter); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyGenerationParameters.java deleted file mode 100644 index 853f9c139..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyGenerationParameters.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto; - -import java.security.SecureRandom; - -/** - * The base class for parameters to key generators. - */ -public class KeyGenerationParameters -{ - private SecureRandom random; - private int strength; - - /** - * initialise the generator with a source of randomness - * and a strength (in bits). - * - * @param random the random byte source. - * @param strength the size, in bits, of the keys we want to produce. - */ - public KeyGenerationParameters( - SecureRandom random, - int strength) - { - this.random = random; - this.strength = strength; - } - - /** - * return the random source associated with this - * generator. - * - * @return the generators random source. - */ - public SecureRandom getRandom() - { - return random; - } - - /** - * return the bit strength for keys produced by this generator, - * - * @return the strength of the keys this generator produces (in bits). - */ - public int getStrength() - { - return strength; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyParser.java deleted file mode 100644 index 7992ff865..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/KeyParser.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto; - -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public interface KeyParser -{ - AsymmetricKeyParameter readKey(InputStream stream) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Mac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Mac.java deleted file mode 100644 index 8be61143a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Mac.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto; - - -/** - * The base interface for implementations of message authentication codes (MACs). - */ -public interface Mac -{ - /** - * Initialise the MAC. - * - * @param params the key and other data required by the MAC. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init(CipherParameters params) - throws IllegalArgumentException; - - /** - * Return the name of the algorithm the MAC implements. - * - * @return the name of the algorithm the MAC implements. - */ - public String getAlgorithmName(); - - /** - * Return the block size for this MAC (in bytes). - * - * @return the block size for this MAC in bytes. - */ - public int getMacSize(); - - /** - * add a single byte to the mac for processing. - * - * @param in the byte to be processed. - * @exception IllegalStateException if the MAC is not initialised. - */ - public void update(byte in) - throws IllegalStateException; - - /** - * @param in the array containing the input. - * @param inOff the index in the array the data begins at. - * @param len the length of the input starting at inOff. - * @exception IllegalStateException if the MAC is not initialised. - * @exception DataLengthException if there isn't enough data in in. - */ - public void update(byte[] in, int inOff, int len) - throws DataLengthException, IllegalStateException; - - /** - * Compute the final stage of the MAC writing the output to the out - * parameter. - *

    - * doFinal leaves the MAC in the same state it was after the last init. - * - * @param out the array the MAC is to be output to. - * @param outOff the offset into the out buffer the output is to start at. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the MAC is not initialised. - */ - public int doFinal(byte[] out, int outOff) - throws DataLengthException, IllegalStateException; - - /** - * Reset the MAC. At the end of resetting the MAC should be in the - * in the same state it was after the last init (if there was one). - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MacDerivationFunction.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MacDerivationFunction.java deleted file mode 100644 index 0478e9a62..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MacDerivationFunction.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto; - -/** - * base interface for general purpose Mac based byte derivation functions. - */ -public interface MacDerivationFunction - extends DerivationFunction -{ - /** - * return the MAC used as the basis for the function - */ - public Mac getMac(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MaxBytesExceededException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MaxBytesExceededException.java deleted file mode 100644 index b49f2661f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/MaxBytesExceededException.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.spongycastle.crypto; - -/** - * this exception is thrown whenever a cipher requires a change of key, iv - * or similar after x amount of bytes enciphered - */ -public class MaxBytesExceededException - extends RuntimeCryptoException -{ - /** - * base constructor. - */ - public MaxBytesExceededException() - { - } - - /** - * create an with the given message. - * - * @param message the message to be carried with the exception. - */ - public MaxBytesExceededException( - String message) - { - super(message); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/OutputLengthException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/OutputLengthException.java deleted file mode 100644 index e1f23f316..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/OutputLengthException.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto; - -public class OutputLengthException - extends DataLengthException -{ - public OutputLengthException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/PBEParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/PBEParametersGenerator.java deleted file mode 100644 index 6788d14eb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/PBEParametersGenerator.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.crypto; - -import org.spongycastle.util.Strings; - -/** - * super class for all Password Based Encryption (PBE) parameter generator classes. - */ -public abstract class PBEParametersGenerator -{ - protected byte[] password; - protected byte[] salt; - protected int iterationCount; - - /** - * base constructor. - */ - protected PBEParametersGenerator() - { - } - - /** - * initialise the PBE generator. - * - * @param password the password converted into bytes (see below). - * @param salt the salt to be mixed with the password. - * @param iterationCount the number of iterations the "mixing" function - * is to be applied for. - */ - public void init( - byte[] password, - byte[] salt, - int iterationCount) - { - this.password = password; - this.salt = salt; - this.iterationCount = iterationCount; - } - - /** - * return the password byte array. - * - * @return the password byte array. - */ - public byte[] getPassword() - { - return password; - } - - /** - * return the salt byte array. - * - * @return the salt byte array. - */ - public byte[] getSalt() - { - return salt; - } - - /** - * return the iteration count. - * - * @return the iteration count. - */ - public int getIterationCount() - { - return iterationCount; - } - - /** - * generate derived parameters for a key of length keySize. - * - * @param keySize the length, in bits, of the key required. - * @return a parameters object representing a key. - */ - public abstract CipherParameters generateDerivedParameters(int keySize); - - /** - * generate derived parameters for a key of length keySize, and - * an initialisation vector (IV) of length ivSize. - * - * @param keySize the length, in bits, of the key required. - * @param ivSize the length, in bits, of the iv required. - * @return a parameters object representing a key and an IV. - */ - public abstract CipherParameters generateDerivedParameters(int keySize, int ivSize); - - /** - * generate derived parameters for a key of length keySize, specifically - * for use with a MAC. - * - * @param keySize the length, in bits, of the key required. - * @return a parameters object representing a key. - */ - public abstract CipherParameters generateDerivedMacParameters(int keySize); - - /** - * converts a password to a byte array according to the scheme in - * PKCS5 (ascii, no padding) - * - * @param password a character array representing the password. - * @return a byte array representing the password. - */ - public static byte[] PKCS5PasswordToBytes( - char[] password) - { - if (password != null) - { - byte[] bytes = new byte[password.length]; - - for (int i = 0; i != bytes.length; i++) - { - bytes[i] = (byte)password[i]; - } - - return bytes; - } - else - { - return new byte[0]; - } - } - - /** - * converts a password to a byte array according to the scheme in - * PKCS5 (UTF-8, no padding) - * - * @param password a character array representing the password. - * @return a byte array representing the password. - */ - public static byte[] PKCS5PasswordToUTF8Bytes( - char[] password) - { - if (password != null) - { - return Strings.toUTF8ByteArray(password); - } - else - { - return new byte[0]; - } - } - - /** - * converts a password to a byte array according to the scheme in - * PKCS12 (unicode, big endian, 2 zero pad bytes at the end). - * - * @param password a character array representing the password. - * @return a byte array representing the password. - */ - public static byte[] PKCS12PasswordToBytes( - char[] password) - { - if (password != null && password.length > 0) - { - // +1 for extra 2 pad bytes. - byte[] bytes = new byte[(password.length + 1) * 2]; - - for (int i = 0; i != password.length; i ++) - { - bytes[i * 2] = (byte)(password[i] >>> 8); - bytes[i * 2 + 1] = (byte)password[i]; - } - - return bytes; - } - else - { - return new byte[0]; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/RuntimeCryptoException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/RuntimeCryptoException.java deleted file mode 100644 index 4eeb18f41..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/RuntimeCryptoException.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.crypto; - -/** - * the foundation class for the exceptions thrown by the crypto packages. - */ -public class RuntimeCryptoException - extends RuntimeException -{ - /** - * base constructor. - */ - public RuntimeCryptoException() - { - } - - /** - * create a RuntimeCryptoException with the given message. - * - * @param message the message to be carried with the exception. - */ - public RuntimeCryptoException( - String message) - { - super(message); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Signer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Signer.java deleted file mode 100644 index 503e12009..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Signer.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto; - -/** - * Generic signer interface for hash based and message recovery signers. - */ -public interface Signer -{ - /** - * Initialise the signer for signing or verification. - * - * @param forSigning true if for signing, false otherwise - * @param param necessary parameters. - */ - public void init(boolean forSigning, CipherParameters param); - - /** - * update the internal digest with the byte b - */ - public void update(byte b); - - /** - * update the internal digest with the byte array in - */ - public void update(byte[] in, int off, int len); - - /** - * generate a signature for the message we've been loaded with using - * the key we were initialised with. - */ - public byte[] generateSignature() - throws CryptoException, DataLengthException; - - /** - * return true if the internal state represents the signature described - * in the passed in array. - */ - public boolean verifySignature(byte[] signature); - - /** - * reset the internal state - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/SignerWithRecovery.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/SignerWithRecovery.java deleted file mode 100644 index e7a39a660..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/SignerWithRecovery.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.spongycastle.crypto; - -/** - * Signer with message recovery. - */ -public interface SignerWithRecovery - extends Signer -{ - /** - * Returns true if the signer has recovered the full message as - * part of signature verification. - * - * @return true if full message recovered. - */ - public boolean hasFullMessage(); - - /** - * Returns a reference to what message was recovered (if any). - * - * @return full/partial message, null if nothing. - */ - public byte[] getRecoveredMessage(); - - /** - * Perform an update with the recovered message before adding any other data. This must - * be the first update method called, and calling it will result in the signer assuming - * that further calls to update will include message content past what is recoverable. - * - * @param signature the signature that we are in the process of verifying. - * @throws IllegalStateException - */ - public void updateWithRecoveredMessage(byte[] signature) - throws InvalidCipherTextException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamBlockCipher.java deleted file mode 100644 index d1fa86e0a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamBlockCipher.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto; - -/** - * a wrapper for block ciphers with a single byte block size, so that they - * can be treated like stream ciphers. - */ -public class StreamBlockCipher - implements StreamCipher -{ - private BlockCipher cipher; - - private byte[] oneByte = new byte[1]; - - /** - * basic constructor. - * - * @param cipher the block cipher to be wrapped. - * @exception IllegalArgumentException if the cipher has a block size other than - * one. - */ - public StreamBlockCipher( - BlockCipher cipher) - { - if (cipher.getBlockSize() != 1) - { - throw new IllegalArgumentException("block cipher block size != 1."); - } - - this.cipher = cipher; - } - - /** - * initialise the underlying cipher. - * - * @param forEncryption true if we are setting up for encryption, false otherwise. - * @param params the necessary parameters for the underlying cipher to be initialised. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - cipher.init(forEncryption, params); - } - - /** - * return the name of the algorithm we are wrapping. - * - * @return the name of the algorithm we are wrapping. - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - /** - * encrypt/decrypt a single byte returning the result. - * - * @param in the byte to be processed. - * @return the result of processing the input byte. - */ - public byte returnByte( - byte in) - { - oneByte[0] = in; - - cipher.processBlock(oneByte, 0, oneByte, 0); - - return oneByte[0]; - } - - /** - * process a block of bytes from in putting the result into out. - * - * @param in the input byte array. - * @param inOff the offset into the in array where the data to be processed starts. - * @param len the number of bytes to be processed. - * @param out the output buffer the processed bytes go into. - * @param outOff the offset into the output byte array the processed data stars at. - * @exception DataLengthException if the output buffer is too small. - */ - public void processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException - { - if (outOff + len > out.length) - { - throw new DataLengthException("output buffer too small in processBytes()"); - } - - for (int i = 0; i != len; i++) - { - cipher.processBlock(in, inOff + i, out, outOff + i); - } - } - - /** - * reset the underlying cipher. This leaves it in the same state - * it was at after the last init (if there was one). - */ - public void reset() - { - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamCipher.java deleted file mode 100644 index 1ca9a8799..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/StreamCipher.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto; - -/** - * the interface stream ciphers conform to. - */ -public interface StreamCipher -{ - /** - * Initialise the cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException; - - /** - * Return the name of the algorithm the cipher implements. - * - * @return the name of the algorithm the cipher implements. - */ - public String getAlgorithmName(); - - /** - * encrypt/decrypt a single byte returning the result. - * - * @param in the byte to be processed. - * @return the result of processing the input byte. - */ - public byte returnByte(byte in); - - /** - * process a block of bytes from in putting the result into out. - * - * @param in the input byte array. - * @param inOff the offset into the in array where the data to be processed starts. - * @param len the number of bytes to be processed. - * @param out the output buffer the processed bytes go into. - * @param outOff the offset into the output byte array the processed data starts at. - * @exception DataLengthException if the output buffer is too small. - */ - public void processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) - throws DataLengthException; - - /** - * reset the cipher. This leaves it in the same state - * it was at after the last init (if there was one). - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Wrapper.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Wrapper.java deleted file mode 100644 index f517c1271..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/Wrapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.crypto; - -public interface Wrapper -{ - public void init(boolean forWrapping, CipherParameters param); - - /** - * Return the name of the algorithm the wrapper implements. - * - * @return the name of the algorithm the wrapper implements. - */ - public String getAlgorithmName(); - - public byte[] wrap(byte[] in, int inOff, int inLen); - - public byte[] unwrap(byte[] in, int inOff, int inLen) - throws InvalidCipherTextException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHAgreement.java deleted file mode 100644 index 9dd5d0400..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHAgreement.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.generators.DHKeyPairGenerator; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * a Diffie-Hellman key exchange engine. - *

    - * note: This uses MTI/A0 key agreement in order to make the key agreement - * secure against passive attacks. If you're doing Diffie-Hellman and both - * parties have long term public keys you should look at using this. For - * further information have a look at RFC 2631. - *

    - * It's possible to extend this to more than two parties as well, for the moment - * that is left as an exercise for the reader. - */ -public class DHAgreement -{ - private DHPrivateKeyParameters key; - private DHParameters dhParams; - private BigInteger privateValue; - private SecureRandom random; - - public void init( - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - kParam = (AsymmetricKeyParameter)param; - } - - - if (!(kParam instanceof DHPrivateKeyParameters)) - { - throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters"); - } - - this.key = (DHPrivateKeyParameters)kParam; - this.dhParams = key.getParameters(); - } - - /** - * calculate our initial message. - */ - public BigInteger calculateMessage() - { - DHKeyPairGenerator dhGen = new DHKeyPairGenerator(); - dhGen.init(new DHKeyGenerationParameters(random, dhParams)); - AsymmetricCipherKeyPair dhPair = dhGen.generateKeyPair(); - - this.privateValue = ((DHPrivateKeyParameters)dhPair.getPrivate()).getX(); - - return ((DHPublicKeyParameters)dhPair.getPublic()).getY(); - } - - /** - * given a message from a given party and the corresponding public key, - * calculate the next message in the agreement sequence. In this case - * this will represent the shared secret. - */ - public BigInteger calculateAgreement( - DHPublicKeyParameters pub, - BigInteger message) - { - if (!pub.getParameters().equals(dhParams)) - { - throw new IllegalArgumentException("Diffie-Hellman public key has wrong parameters."); - } - - BigInteger p = dhParams.getP(); - - return message.modPow(key.getX(), p).multiply(pub.getY().modPow(privateValue, p)).mod(p); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java deleted file mode 100644 index 6359ecdbd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * a Diffie-Hellman key agreement class. - *

    - * note: This is only the basic algorithm, it doesn't take advantage of - * long term public keys if they are available. See the DHAgreement class - * for a "better" implementation. - */ -public class DHBasicAgreement - implements BasicAgreement -{ - private DHPrivateKeyParameters key; - private DHParameters dhParams; - - public void init( - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - kParam = (AsymmetricKeyParameter)param; - } - - if (!(kParam instanceof DHPrivateKeyParameters)) - { - throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters"); - } - - this.key = (DHPrivateKeyParameters)kParam; - this.dhParams = key.getParameters(); - } - - public int getFieldSize() - { - return (key.getParameters().getP().bitLength() + 7) / 8; - } - - /** - * given a short term public key from a given party calculate the next - * message in the agreement sequence. - */ - public BigInteger calculateAgreement( - CipherParameters pubKey) - { - DHPublicKeyParameters pub = (DHPublicKeyParameters)pubKey; - - if (!pub.getParameters().equals(dhParams)) - { - throw new IllegalArgumentException("Diffie-Hellman public key has wrong parameters."); - } - - return pub.getY().modPow(key.getX(), dhParams.getP()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHStandardGroups.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHStandardGroups.java deleted file mode 100644 index e506d509d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHStandardGroups.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.util.encoders.Hex; - -/** - * Standard Diffie-Hellman groups from various IETF specifications. - */ -public class DHStandardGroups -{ - - private static DHParameters fromPG(String hexP, String hexG) - { - BigInteger p = new BigInteger(1, Hex.decode(hexP)); - BigInteger g = new BigInteger(1, Hex.decode(hexG)); - return new DHParameters(p, g); - } - - private static DHParameters fromPGQ(String hexP, String hexG, String hexQ) - { - BigInteger p = new BigInteger(1, Hex.decode(hexP)); - BigInteger g = new BigInteger(1, Hex.decode(hexG)); - BigInteger q = new BigInteger(1, Hex.decode(hexQ)); - return new DHParameters(p, g, q); - } - - /* - * RFC 2409 - */ - private static final String rfc2409_768_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF"; - private static final String rfc2409_768_g = "02"; - public static final DHParameters rfc2409_768 = fromPG(rfc2409_768_p, rfc2409_768_g); - - private static final String rfc2409_1024_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381" - + "FFFFFFFFFFFFFFFF"; - private static final String rfc2409_1024_g = "02"; - public static final DHParameters rfc2409_1024 = fromPG(rfc2409_1024_p, rfc2409_1024_g); - - /* - * RFC 3526 - */ - private static final String rfc3526_1536_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" - + "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" + "83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF"; - private static final String rfc3526_1536_g = "02"; - public static final DHParameters rfc3526_1536 = fromPG(rfc3526_1536_p, rfc3526_1536_g); - - private static final String rfc3526_2048_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" - + "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" + "83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B" + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9" - + "DE2BCBF6955817183995497CEA956AE515D2261898FA0510" + "15728E5A8AACAA68FFFFFFFFFFFFFFFF"; - private static final String rfc3526_2048_g = "02"; - public static final DHParameters rfc3526_2048 = fromPG(rfc3526_2048_p, rfc3526_2048_g); - - private static final String rfc3526_3072_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" - + "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" + "83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B" + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9" - + "DE2BCBF6955817183995497CEA956AE515D2261898FA0510" + "15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64" - + "ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7" + "ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B" - + "F12FFA06D98A0864D87602733EC86A64521F2B18177B200C" + "BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31" - + "43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF"; - private static final String rfc3526_3072_g = "02"; - public static final DHParameters rfc3526_3072 = fromPG(rfc3526_3072_p, rfc3526_3072_g); - - private static final String rfc3526_4096_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" - + "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" + "83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B" + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9" - + "DE2BCBF6955817183995497CEA956AE515D2261898FA0510" + "15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64" - + "ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7" + "ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B" - + "F12FFA06D98A0864D87602733EC86A64521F2B18177B200C" + "BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31" - + "43DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D7" + "88719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA" - + "2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6" + "287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED" - + "1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA9" + "93B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199" - + "FFFFFFFFFFFFFFFF"; - private static final String rfc3526_4096_g = "02"; - public static final DHParameters rfc3526_4096 = fromPG(rfc3526_4096_p, rfc3526_4096_g); - - private static final String rfc3526_6144_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08" - + "8A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B" - + "302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9" - + "A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE6" - + "49286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8" - + "FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C" - + "180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF695581718" - + "3995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D" - + "04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7D" - + "B3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D226" - + "1AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200C" - + "BBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFC" - + "E0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B26" - + "99C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB" - + "04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2" - + "233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127" - + "D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934028492" - + "36C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406" - + "AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918" - + "DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B33205151" - + "2BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03" - + "F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97F" - + "BEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AA" - + "CC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58B" - + "B7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632" - + "387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E" + "6DCC4024FFFFFFFFFFFFFFFF"; - private static final String rfc3526_6144_g = "02"; - public static final DHParameters rfc3526_6144 = fromPG(rfc3526_6144_p, rfc3526_6144_g); - - private static final String rfc3526_8192_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" - + "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" + "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" - + "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" - + "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" + "83655D23DCA3AD961C62F356208552BB9ED529077096966D" - + "670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B" + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9" - + "DE2BCBF6955817183995497CEA956AE515D2261898FA0510" + "15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64" - + "ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7" + "ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B" - + "F12FFA06D98A0864D87602733EC86A64521F2B18177B200C" + "BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31" - + "43DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D7" + "88719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA" - + "2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6" + "287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED" - + "1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA9" + "93B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934028492" - + "36C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BD" + "F8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831" - + "179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1B" + "DB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF" - + "5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6" + "D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F3" - + "23A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AA" + "CC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE328" - + "06A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55C" + "DA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE" - + "12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E4" + "38777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300" - + "741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F568" + "3423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD9" - + "22222E04A4037C0713EB57A81A23F0C73473FC646CEA306B" + "4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A" - + "062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A36" + "4597E899A0255DC164F31CC50846851DF9AB48195DED7EA1" - + "B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F92" + "4009438B481C6CD7889A002ED5EE382BC9190DA6FC026E47" - + "9558E4475677E9AA9E3050E2765694DFC81F56E880B96E71" + "60C980DD98EDD3DFFFFFFFFFFFFFFFFF"; - private static final String rfc3526_8192_g = "02"; - public static final DHParameters rfc3526_8192 = fromPG(rfc3526_8192_p, rfc3526_8192_g); - - /* - * RFC 4306 - */ - public static final DHParameters rfc4306_768 = rfc2409_768; - public static final DHParameters rfc4306_1024 = rfc2409_1024; - - /* - * RFC 5114 - */ - private static final String rfc5114_1024_160_p = "B10B8F96A080E01DDE92DE5EAE5D54EC52C99FBCFB06A3C6" - + "9A6A9DCA52D23B616073E28675A23D189838EF1E2EE652C0" + "13ECB4AEA906112324975C3CD49B83BFACCBDD7D90C4BD70" - + "98488E9C219A73724EFFD6FAE5644738FAA31A4FF55BCCC0" + "A151AF5F0DC8B4BD45BF37DF365C1A65E68CFDA76D4DA708" - + "DF1FB2BC2E4A4371"; - private static final String rfc5114_1024_160_g = "A4D1CBD5C3FD34126765A442EFB99905F8104DD258AC507F" - + "D6406CFF14266D31266FEA1E5C41564B777E690F5504F213" + "160217B4B01B886A5E91547F9E2749F4D7FBD7D3B9A92EE1" - + "909D0D2263F80A76A6A24C087A091F531DBF0A0169B6A28A" + "D662A4D18E73AFA32D779D5918D08BC8858F4DCEF97C2A24" - + "855E6EEB22B3B2E5"; - private static final String rfc5114_1024_160_q = "F518AA8781A8DF278ABA4E7D64B7CB9D49462353"; - public static final DHParameters rfc5114_1024_160 = fromPGQ(rfc5114_1024_160_p, rfc5114_1024_160_g, - rfc5114_1024_160_q); - - private static final String rfc5114_2048_224_p = "AD107E1E9123A9D0D660FAA79559C51FA20D64E5683B9FD1" - + "B54B1597B61D0A75E6FA141DF95A56DBAF9A3C407BA1DF15" + "EB3D688A309C180E1DE6B85A1274A0A66D3F8152AD6AC212" - + "9037C9EDEFDA4DF8D91E8FEF55B7394B7AD5B7D0B6C12207" + "C9F98D11ED34DBF6C6BA0B2C8BBC27BE6A00E0A0B9C49708" - + "B3BF8A317091883681286130BC8985DB1602E714415D9330" + "278273C7DE31EFDC7310F7121FD5A07415987D9ADC0A486D" - + "CDF93ACC44328387315D75E198C641A480CD86A1B9E587E8" + "BE60E69CC928B2B9C52172E413042E9B23F10B0E16E79763" - + "C9B53DCF4BA80A29E3FB73C16B8E75B97EF363E2FFA31F71" + "CF9DE5384E71B81C0AC4DFFE0C10E64F"; - private static final String rfc5114_2048_224_g = "AC4032EF4F2D9AE39DF30B5C8FFDAC506CDEBE7B89998CAF" - + "74866A08CFE4FFE3A6824A4E10B9A6F0DD921F01A70C4AFA" + "AB739D7700C29F52C57DB17C620A8652BE5E9001A8D66AD7" - + "C17669101999024AF4D027275AC1348BB8A762D0521BC98A" + "E247150422EA1ED409939D54DA7460CDB5F6C6B250717CBE" - + "F180EB34118E98D119529A45D6F834566E3025E316A330EF" + "BB77A86F0C1AB15B051AE3D428C8F8ACB70A8137150B8EEB" - + "10E183EDD19963DDD9E263E4770589EF6AA21E7F5F2FF381" + "B539CCE3409D13CD566AFBB48D6C019181E1BCFE94B30269" - + "EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC0179" + "81BC087F2A7065B384B890D3191F2BFA"; - private static final String rfc5114_2048_224_q = "801C0D34C58D93FE997177101F80535A4738CEBCBF389A99B36371EB"; - public static final DHParameters rfc5114_2048_224 = fromPGQ(rfc5114_2048_224_p, rfc5114_2048_224_g, - rfc5114_2048_224_q); - - private static final String rfc5114_2048_256_p = "87A8E61DB4B6663CFFBBD19C651959998CEEF608660DD0F2" - + "5D2CEED4435E3B00E00DF8F1D61957D4FAF7DF4561B2AA30" + "16C3D91134096FAA3BF4296D830E9A7C209E0C6497517ABD" - + "5A8A9D306BCF67ED91F9E6725B4758C022E0B1EF4275BF7B" + "6C5BFC11D45F9088B941F54EB1E59BB8BC39A0BF12307F5C" - + "4FDB70C581B23F76B63ACAE1CAA6B7902D52526735488A0E" + "F13C6D9A51BFA4AB3AD8347796524D8EF6A167B5A41825D9" - + "67E144E5140564251CCACB83E6B486F6B3CA3F7971506026" + "C0B857F689962856DED4010ABD0BE621C3A3960A54E710C3" - + "75F26375D7014103A4B54330C198AF126116D2276E11715F" + "693877FAD7EF09CADB094AE91E1A1597"; - private static final String rfc5114_2048_256_g = "3FB32C9B73134D0B2E77506660EDBD484CA7B18F21EF2054" - + "07F4793A1A0BA12510DBC15077BE463FFF4FED4AAC0BB555" + "BE3A6C1B0C6B47B1BC3773BF7E8C6F62901228F8C28CBB18" - + "A55AE31341000A650196F931C77A57F2DDF463E5E9EC144B" + "777DE62AAAB8A8628AC376D282D6ED3864E67982428EBC83" - + "1D14348F6F2F9193B5045AF2767164E1DFC967C1FB3F2E55" + "A4BD1BFFE83B9C80D052B985D182EA0ADB2A3B7313D3FE14" - + "C8484B1E052588B9B7D2BBD2DF016199ECD06E1557CD0915" + "B3353BBB64E0EC377FD028370DF92B52C7891428CDC67EB6" - + "184B523D1DB246C32F63078490F00EF8D647D148D4795451" + "5E2327CFEF98C582664B4C0F6CC41659"; - private static final String rfc5114_2048_256_q = "8CF83642A709A097B447997640129DA299B1A47D1EB3750B" - + "A308B0FE64F5FBD3"; - public static final DHParameters rfc5114_2048_256 = fromPGQ(rfc5114_2048_256_p, rfc5114_2048_256_g, - rfc5114_2048_256_q); - - /* - * RFC 5996 - */ - public static final DHParameters rfc5996_768 = rfc4306_768; - public static final DHParameters rfc5996_1024 = rfc4306_1024; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHBasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHBasicAgreement.java deleted file mode 100644 index 535597603..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHBasicAgreement.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECPoint; - -/** - * P1363 7.2.1 ECSVDP-DH - * - * ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive, - * Diffie-Hellman version. It is based on the work of [DH76], [Mil86], - * and [Kob87]. This primitive derives a shared secret value from one - * party's private key and another party's public key, where both have - * the same set of EC domain parameters. If two parties correctly - * execute this primitive, they will produce the same output. This - * primitive can be invoked by a scheme to derive a shared secret key; - * specifically, it may be used with the schemes ECKAS-DH1 and - * DL/ECKAS-DH2. It assumes that the input keys are valid (see also - * Section 7.2.2). - */ -public class ECDHBasicAgreement - implements BasicAgreement -{ - private ECPrivateKeyParameters key; - - public void init( - CipherParameters key) - { - this.key = (ECPrivateKeyParameters)key; - } - - public int getFieldSize() - { - return (key.getParameters().getCurve().getFieldSize() + 7) / 8; - } - - public BigInteger calculateAgreement( - CipherParameters pubKey) - { - ECPublicKeyParameters pub = (ECPublicKeyParameters)pubKey; - ECPoint P = pub.getQ().multiply(key.getD()).normalize(); - - if (P.isInfinity()) - { - throw new IllegalStateException("Infinity is not a valid agreement value for ECDH"); - } - - return P.getAffineXCoord().toBigInteger(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHCBasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHCBasicAgreement.java deleted file mode 100644 index 49677805d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECDHCBasicAgreement.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECPoint; - -/** - * P1363 7.2.2 ECSVDP-DHC - * - * ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive, - * Diffie-Hellman version with cofactor multiplication. It is based on - * the work of [DH76], [Mil86], [Kob87], [LMQ98] and [Kal98a]. This - * primitive derives a shared secret value from one party's private key - * and another party's public key, where both have the same set of EC - * domain parameters. If two parties correctly execute this primitive, - * they will produce the same output. This primitive can be invoked by a - * scheme to derive a shared secret key; specifically, it may be used - * with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It does not assume the - * validity of the input public key (see also Section 7.2.1). - *

    - * Note: As stated P1363 compatibility mode with ECDH can be preset, and - * in this case the implementation doesn't have a ECDH compatibility mode - * (if you want that just use ECDHBasicAgreement and note they both implement - * BasicAgreement!). - */ -public class ECDHCBasicAgreement - implements BasicAgreement -{ - ECPrivateKeyParameters key; - - public void init( - CipherParameters key) - { - this.key = (ECPrivateKeyParameters)key; - } - - public int getFieldSize() - { - return (key.getParameters().getCurve().getFieldSize() + 7) / 8; - } - - public BigInteger calculateAgreement( - CipherParameters pubKey) - { - ECPublicKeyParameters pub = (ECPublicKeyParameters)pubKey; - ECDomainParameters params = pub.getParameters(); - - BigInteger hd = params.getH().multiply(key.getD()).mod(params.getN()); - - ECPoint P = pub.getQ().multiply(hd).normalize(); - - if (P.isInfinity()) - { - throw new IllegalStateException("Infinity is not a valid agreement value for ECDHC"); - } - - return P.getAffineXCoord().toBigInteger(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECMQVBasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECMQVBasicAgreement.java deleted file mode 100644 index 9faa50068..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/ECMQVBasicAgreement.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.MQVPrivateParameters; -import org.spongycastle.crypto.params.MQVPublicParameters; -import org.spongycastle.math.ec.ECAlgorithms; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -public class ECMQVBasicAgreement - implements BasicAgreement -{ - MQVPrivateParameters privParams; - - public void init( - CipherParameters key) - { - this.privParams = (MQVPrivateParameters)key; - } - - public int getFieldSize() - { - return (privParams.getStaticPrivateKey().getParameters().getCurve().getFieldSize() + 7) / 8; - } - - public BigInteger calculateAgreement(CipherParameters pubKey) - { - MQVPublicParameters pubParams = (MQVPublicParameters)pubKey; - - ECPrivateKeyParameters staticPrivateKey = privParams.getStaticPrivateKey(); - - ECPoint agreement = calculateMqvAgreement(staticPrivateKey.getParameters(), staticPrivateKey, - privParams.getEphemeralPrivateKey(), privParams.getEphemeralPublicKey(), - pubParams.getStaticPublicKey(), pubParams.getEphemeralPublicKey()).normalize(); - - if (agreement.isInfinity()) - { - throw new IllegalStateException("Infinity is not a valid agreement value for MQV"); - } - - return agreement.getAffineXCoord().toBigInteger(); - } - - // The ECMQV Primitive as described in SEC-1, 3.4 - private ECPoint calculateMqvAgreement( - ECDomainParameters parameters, - ECPrivateKeyParameters d1U, - ECPrivateKeyParameters d2U, - ECPublicKeyParameters Q2U, - ECPublicKeyParameters Q1V, - ECPublicKeyParameters Q2V) - { - BigInteger n = parameters.getN(); - int e = (n.bitLength() + 1) / 2; - BigInteger powE = ECConstants.ONE.shiftLeft(e); - - ECCurve curve = parameters.getCurve(); - - ECPoint[] points = new ECPoint[]{ - // The Q2U public key is optional - ECAlgorithms.importPoint(curve, Q2U == null ? parameters.getG().multiply(d2U.getD()) : Q2U.getQ()), - ECAlgorithms.importPoint(curve, Q1V.getQ()), - ECAlgorithms.importPoint(curve, Q2V.getQ()) - }; - - curve.normalizeAll(points); - - ECPoint q2u = points[0], q1v = points[1], q2v = points[2]; - - BigInteger x = q2u.getAffineXCoord().toBigInteger(); - BigInteger xBar = x.mod(powE); - BigInteger Q2UBar = xBar.setBit(e); - BigInteger s = d1U.getD().multiply(Q2UBar).add(d2U.getD()).mod(n); - - BigInteger xPrime = q2v.getAffineXCoord().toBigInteger(); - BigInteger xPrimeBar = xPrime.mod(powE); - BigInteger Q2VBar = xPrimeBar.setBit(e); - - BigInteger hs = parameters.getH().multiply(s).mod(n); - - return ECAlgorithms.sumOfTwoMultiplies( - q1v, Q2VBar.multiply(hs).mod(n), q2v, hs); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java deleted file mode 100644 index 7cf2c4faf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java +++ /dev/null @@ -1,573 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.util.Arrays; - -/** - * A participant in a Password Authenticated Key Exchange by Juggling (J-PAKE) exchange. - *

    - *

    - * The J-PAKE exchange is defined by Feng Hao and Peter Ryan in the paper - * - * "Password Authenticated Key Exchange by Juggling, 2008." - *

    - *

    - * The J-PAKE protocol is symmetric. - * There is no notion of a client or server, but rather just two participants. - * An instance of {@link JPAKEParticipant} represents one participant, and - * is the primary interface for executing the exchange. - *

    - *

    - * To execute an exchange, construct a {@link JPAKEParticipant} on each end, - * and call the following 7 methods - * (once and only once, in the given order, for each participant, sending messages between them as described): - *

      - *
    1. {@link #createRound1PayloadToSend()} - and send the payload to the other participant
    2. - *
    3. {@link #validateRound1PayloadReceived(JPAKERound1Payload)} - use the payload received from the other participant
    4. - *
    5. {@link #createRound2PayloadToSend()} - and send the payload to the other participant
    6. - *
    7. {@link #validateRound2PayloadReceived(JPAKERound2Payload)} - use the payload received from the other participant
    8. - *
    9. {@link #calculateKeyingMaterial()}
    10. - *
    11. {@link #createRound3PayloadToSend(BigInteger)} - and send the payload to the other participant
    12. - *
    13. {@link #validateRound3PayloadReceived(JPAKERound3Payload, BigInteger)} - use the payload received from the other participant
    14. - *
    - *

    - *

    - * Each side should derive a session key from the keying material returned by {@link #calculateKeyingMaterial()}. - * The caller is responsible for deriving the session key using a secure key derivation function (KDF). - *

    - *

    - * Round 3 is an optional key confirmation process. - * If you do not execute round 3, then there is no assurance that both participants are using the same key. - * (i.e. if the participants used different passwords, then their session keys will differ.) - *

    - *

    - * If the round 3 validation succeeds, then the keys are guaranteed to be the same on both sides. - *

    - *

    - * The symmetric design can easily support the asymmetric cases when one party initiates the communication. - * e.g. Sometimes the round1 payload and round2 payload may be sent in one pass. - * Also, in some cases, the key confirmation payload can be sent together with the round2 payload. - * These are the trivial techniques to optimize the communication. - *

    - *

    - * The key confirmation process is implemented as specified in - * NIST SP 800-56A Revision 1, - * Section 8.2 Unilateral Key Confirmation for Key Agreement Schemes. - *

    - *

    - * This class is stateful and NOT threadsafe. - * Each instance should only be used for ONE complete J-PAKE exchange - * (i.e. a new {@link JPAKEParticipant} should be constructed for each new J-PAKE exchange). - *

    - *

    - * See {@link JPAKEExample} for example usage. - */ -public class JPAKEParticipant -{ - /* - * Possible internal states. Used for state checking. - */ - - public static final int STATE_INITIALIZED = 0; - public static final int STATE_ROUND_1_CREATED = 10; - public static final int STATE_ROUND_1_VALIDATED = 20; - public static final int STATE_ROUND_2_CREATED = 30; - public static final int STATE_ROUND_2_VALIDATED = 40; - public static final int STATE_KEY_CALCULATED = 50; - public static final int STATE_ROUND_3_CREATED = 60; - public static final int STATE_ROUND_3_VALIDATED = 70; - - /** - * Unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - */ - private final String participantId; - - /** - * Shared secret. This only contains the secret between construction - * and the call to {@link #calculateKeyingMaterial()}. - *

    - * i.e. When {@link #calculateKeyingMaterial()} is called, this buffer overwritten with 0's, - * and the field is set to null. - */ - private char[] password; - - /** - * Digest to use during calculations. - */ - private final Digest digest; - - /** - * Source of secure random data. - */ - private final SecureRandom random; - - private final BigInteger p; - private final BigInteger q; - private final BigInteger g; - - /** - * The participantId of the other participant in this exchange. - */ - private String partnerParticipantId; - - /** - * Alice's x1 or Bob's x3. - */ - private BigInteger x1; - /** - * Alice's x2 or Bob's x4. - */ - private BigInteger x2; - /** - * Alice's g^x1 or Bob's g^x3. - */ - private BigInteger gx1; - /** - * Alice's g^x2 or Bob's g^x4. - */ - private BigInteger gx2; - /** - * Alice's g^x3 or Bob's g^x1. - */ - private BigInteger gx3; - /** - * Alice's g^x4 or Bob's g^x2. - */ - private BigInteger gx4; - /** - * Alice's B or Bob's A. - */ - private BigInteger b; - - /** - * The current state. - * See the STATE_* constants for possible values. - */ - private int state; - - /** - * Convenience constructor for a new {@link JPAKEParticipant} that uses - * the {@link JPAKEPrimeOrderGroups#NIST_3072} prime order group, - * a SHA-256 digest, and a default {@link SecureRandom} implementation. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password) - { - this( - participantId, - password, - JPAKEPrimeOrderGroups.NIST_3072); - } - - - /** - * Convenience constructor for a new {@link JPAKEParticipant} that uses - * a SHA-256 digest and a default {@link SecureRandom} implementation. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @param group prime order group. - * See {@link JPAKEPrimeOrderGroups} for standard groups - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password, - JPAKEPrimeOrderGroup group) - { - this( - participantId, - password, - group, - new SHA256Digest(), - new SecureRandom()); - } - - - /** - * Construct a new {@link JPAKEParticipant}. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @param group prime order group. - * See {@link JPAKEPrimeOrderGroups} for standard groups - * @param digest digest to use during zero knowledge proofs and key confirmation (SHA-256 or stronger preferred) - * @param random source of secure random data for x1 and x2, and for the zero knowledge proofs - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password, - JPAKEPrimeOrderGroup group, - Digest digest, - SecureRandom random) - { - JPAKEUtil.validateNotNull(participantId, "participantId"); - JPAKEUtil.validateNotNull(password, "password"); - JPAKEUtil.validateNotNull(group, "p"); - JPAKEUtil.validateNotNull(digest, "digest"); - JPAKEUtil.validateNotNull(random, "random"); - if (password.length == 0) - { - throw new IllegalArgumentException("Password must not be empty."); - } - - this.participantId = participantId; - - /* - * Create a defensive copy so as to fully encapsulate the password. - * - * This array will contain the password for the lifetime of this - * participant BEFORE {@link #calculateKeyingMaterial()} is called. - * - * i.e. When {@link #calculateKeyingMaterial()} is called, the array will be cleared - * in order to remove the password from memory. - * - * The caller is responsible for clearing the original password array - * given as input to this constructor. - */ - this.password = Arrays.copyOf(password, password.length); - - this.p = group.getP(); - this.q = group.getQ(); - this.g = group.getG(); - - this.digest = digest; - this.random = random; - - this.state = STATE_INITIALIZED; - } - - /** - * Gets the current state of this participant. - * See the STATE_* constants for possible values. - */ - public int getState() - { - return this.state; - } - - /** - * Creates and returns the payload to send to the other participant during round 1. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_1_CREATED}. - */ - public JPAKERound1Payload createRound1PayloadToSend() - { - if (this.state >= STATE_ROUND_1_CREATED) - { - throw new IllegalStateException("Round1 payload already created for " + participantId); - } - - this.x1 = JPAKEUtil.generateX1(q, random); - this.x2 = JPAKEUtil.generateX2(q, random); - - this.gx1 = JPAKEUtil.calculateGx(p, g, x1); - this.gx2 = JPAKEUtil.calculateGx(p, g, x2); - BigInteger[] knowledgeProofForX1 = JPAKEUtil.calculateZeroKnowledgeProof(p, q, g, gx1, x1, participantId, digest, random); - BigInteger[] knowledgeProofForX2 = JPAKEUtil.calculateZeroKnowledgeProof(p, q, g, gx2, x2, participantId, digest, random); - - this.state = STATE_ROUND_1_CREATED; - - return new JPAKERound1Payload(participantId, gx1, gx2, knowledgeProofForX1, knowledgeProofForX2); - } - - /** - * Validates the payload received from the other participant during round 1. - *

    - *

    - * Must be called prior to {@link #createRound2PayloadToSend()}. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_1_VALIDATED}. - * - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called multiple times. - */ - public void validateRound1PayloadReceived(JPAKERound1Payload round1PayloadReceived) - throws CryptoException - { - if (this.state >= STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round1 payload for" + participantId); - } - this.partnerParticipantId = round1PayloadReceived.getParticipantId(); - this.gx3 = round1PayloadReceived.getGx1(); - this.gx4 = round1PayloadReceived.getGx2(); - - BigInteger[] knowledgeProofForX3 = round1PayloadReceived.getKnowledgeProofForX1(); - BigInteger[] knowledgeProofForX4 = round1PayloadReceived.getKnowledgeProofForX2(); - - JPAKEUtil.validateParticipantIdsDiffer(participantId, round1PayloadReceived.getParticipantId()); - JPAKEUtil.validateGx4(gx4); - JPAKEUtil.validateZeroKnowledgeProof(p, q, g, gx3, knowledgeProofForX3, round1PayloadReceived.getParticipantId(), digest); - JPAKEUtil.validateZeroKnowledgeProof(p, q, g, gx4, knowledgeProofForX4, round1PayloadReceived.getParticipantId(), digest); - - this.state = STATE_ROUND_1_VALIDATED; - } - - /** - * Creates and returns the payload to send to the other participant during round 2. - *

    - *

    - * {@link #validateRound1PayloadReceived(JPAKERound1Payload)} must be called prior to this method. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_2_CREATED}. - * - * @throws IllegalStateException if called prior to {@link #validateRound1PayloadReceived(JPAKERound1Payload)}, or multiple times - */ - public JPAKERound2Payload createRound2PayloadToSend() - { - if (this.state >= STATE_ROUND_2_CREATED) - { - throw new IllegalStateException("Round2 payload already created for " + this.participantId); - } - if (this.state < STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Round1 payload must be validated prior to creating Round2 payload for " + this.participantId); - } - BigInteger gA = JPAKEUtil.calculateGA(p, gx1, gx3, gx4); - BigInteger s = JPAKEUtil.calculateS(password); - BigInteger x2s = JPAKEUtil.calculateX2s(q, x2, s); - BigInteger A = JPAKEUtil.calculateA(p, q, gA, x2s); - BigInteger[] knowledgeProofForX2s = JPAKEUtil.calculateZeroKnowledgeProof(p, q, gA, A, x2s, participantId, digest, random); - - this.state = STATE_ROUND_2_CREATED; - - return new JPAKERound2Payload(participantId, A, knowledgeProofForX2s); - } - - /** - * Validates the payload received from the other participant during round 2. - *

    - *

    - * Note that this DOES NOT detect a non-common password. - * The only indication of a non-common password is through derivation - * of different keys (which can be detected explicitly by executing round 3 and round 4) - *

    - *

    - * Must be called prior to {@link #calculateKeyingMaterial()}. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_2_VALIDATED}. - * - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called prior to {@link #validateRound1PayloadReceived(JPAKERound1Payload)}, or multiple times - */ - public void validateRound2PayloadReceived(JPAKERound2Payload round2PayloadReceived) - throws CryptoException - { - if (this.state >= STATE_ROUND_2_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round2 payload for" + participantId); - } - if (this.state < STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Round1 payload must be validated prior to validating Round2 payload for " + this.participantId); - } - BigInteger gB = JPAKEUtil.calculateGA(p, gx3, gx1, gx2); - this.b = round2PayloadReceived.getA(); - BigInteger[] knowledgeProofForX4s = round2PayloadReceived.getKnowledgeProofForX2s(); - - JPAKEUtil.validateParticipantIdsDiffer(participantId, round2PayloadReceived.getParticipantId()); - JPAKEUtil.validateParticipantIdsEqual(this.partnerParticipantId, round2PayloadReceived.getParticipantId()); - JPAKEUtil.validateGa(gB); - JPAKEUtil.validateZeroKnowledgeProof(p, q, gB, b, knowledgeProofForX4s, round2PayloadReceived.getParticipantId(), digest); - - this.state = STATE_ROUND_2_VALIDATED; - } - - /** - * Calculates and returns the key material. - * A session key must be derived from this key material using a secure key derivation function (KDF). - * The KDF used to derive the key is handled externally (i.e. not by {@link JPAKEParticipant}). - *

    - *

    - * The keying material will be identical for each participant if and only if - * each participant's password is the same. i.e. If the participants do not - * share the same password, then each participant will derive a different key. - * Therefore, if you immediately start using a key derived from - * the keying material, then you must handle detection of incorrect keys. - * If you want to handle this detection explicitly, you can optionally perform - * rounds 3 and 4. See {@link JPAKEParticipant} for details on how to execute - * rounds 3 and 4. - *

    - *

    - * The keying material will be in the range [0, p-1]. - *

    - *

    - * {@link #validateRound2PayloadReceived(JPAKERound2Payload)} must be called prior to this method. - *

    - *

    - * As a side effect, the internal {@link #password} array is cleared, since it is no longer needed. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_KEY_CALCULATED}. - * - * @throws IllegalStateException if called prior to {@link #validateRound2PayloadReceived(JPAKERound2Payload)}, - * or if called multiple times. - */ - public BigInteger calculateKeyingMaterial() - { - if (this.state >= STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Key already calculated for " + participantId); - } - if (this.state < STATE_ROUND_2_VALIDATED) - { - throw new IllegalStateException("Round2 payload must be validated prior to creating key for " + participantId); - } - BigInteger s = JPAKEUtil.calculateS(password); - - /* - * Clear the password array from memory, since we don't need it anymore. - * - * Also set the field to null as a flag to indicate that the key has already been calculated. - */ - Arrays.fill(password, (char)0); - this.password = null; - - BigInteger keyingMaterial = JPAKEUtil.calculateKeyingMaterial(p, q, gx4, x2, s, b); - - /* - * Clear the ephemeral private key fields as well. - * Note that we're relying on the garbage collector to do its job to clean these up. - * The old objects will hang around in memory until the garbage collector destroys them. - * - * If the ephemeral private keys x1 and x2 are leaked, - * the attacker might be able to brute-force the password. - */ - this.x1 = null; - this.x2 = null; - this.b = null; - - /* - * Do not clear gx* yet, since those are needed by round 3. - */ - - this.state = STATE_KEY_CALCULATED; - - return keyingMaterial; - } - - - /** - * Creates and returns the payload to send to the other participant during round 3. - *

    - *

    - * See {@link JPAKEParticipant} for more details on round 3. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_3_CREATED}. - * - * @param keyingMaterial The keying material as returned from {@link #calculateKeyingMaterial()}. - * @throws IllegalStateException if called prior to {@link #calculateKeyingMaterial()}, or multiple times - */ - public JPAKERound3Payload createRound3PayloadToSend(BigInteger keyingMaterial) - { - if (this.state >= STATE_ROUND_3_CREATED) - { - throw new IllegalStateException("Round3 payload already created for " + this.participantId); - } - if (this.state < STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Keying material must be calculated prior to creating Round3 payload for " + this.participantId); - } - - BigInteger macTag = JPAKEUtil.calculateMacTag( - this.participantId, - this.partnerParticipantId, - this.gx1, - this.gx2, - this.gx3, - this.gx4, - keyingMaterial, - this.digest); - - this.state = STATE_ROUND_3_CREATED; - - return new JPAKERound3Payload(participantId, macTag); - } - - /** - * Validates the payload received from the other participant during round 3. - *

    - *

    - * See {@link JPAKEParticipant} for more details on round 3. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_3_VALIDATED}. - * - * @param keyingMaterial The keying material as returned from {@link #calculateKeyingMaterial()}. - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called prior to {@link #calculateKeyingMaterial()}, or multiple times - */ - public void validateRound3PayloadReceived(JPAKERound3Payload round3PayloadReceived, BigInteger keyingMaterial) - throws CryptoException - { - if (this.state >= STATE_ROUND_3_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round3 payload for" + participantId); - } - if (this.state < STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Keying material must be calculated validated prior to validating Round3 payload for " + this.participantId); - } - JPAKEUtil.validateParticipantIdsDiffer(participantId, round3PayloadReceived.getParticipantId()); - JPAKEUtil.validateParticipantIdsEqual(this.partnerParticipantId, round3PayloadReceived.getParticipantId()); - - JPAKEUtil.validateMacTag( - this.participantId, - this.partnerParticipantId, - this.gx1, - this.gx2, - this.gx3, - this.gx4, - keyingMaterial, - this.digest, - round3PayloadReceived.getMacTag()); - - - /* - * Clear the rest of the fields. - */ - this.gx1 = null; - this.gx2 = null; - this.gx3 = null; - this.gx4 = null; - - this.state = STATE_ROUND_3_VALIDATED; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java deleted file mode 100644 index 01f82e68c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -/** - * A pre-computed prime order group for use during a J-PAKE exchange. - *

    - *

    - * Typically a Schnorr group is used. In general, J-PAKE can use any prime order group - * that is suitable for public key cryptography, including elliptic curve cryptography. - *

    - *

    - * See {@link JPAKEPrimeOrderGroups} for convenient standard groups. - *

    - *

    - * NIST publishes - * many groups that can be used for the desired level of security. - */ -public class JPAKEPrimeOrderGroup -{ - private final BigInteger p; - private final BigInteger q; - private final BigInteger g; - - /** - * Constructs a new {@link JPAKEPrimeOrderGroup}. - *

    - *

    - * In general, you should use one of the pre-approved groups from - * {@link JPAKEPrimeOrderGroups}, rather than manually constructing one. - *

    - *

    - * The following basic checks are performed: - *

      - *
    • p-1 must be evenly divisible by q
    • - *
    • g must be in [2, p-1]
    • - *
    • g^q mod p must equal 1
    • - *
    • p must be prime (within reasonably certainty)
    • - *
    • q must be prime (within reasonably certainty)
    • - *
    - *

    - *

    - * The prime checks are performed using {@link BigInteger#isProbablePrime(int)}, - * and are therefore subject to the same probability guarantees. - *

    - *

    - * These checks prevent trivial mistakes. - * However, due to the small uncertainties if p and q are not prime, - * advanced attacks are not prevented. - * Use it at your own risk. - * - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if any of the above validations fail - */ - public JPAKEPrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g) - { - /* - * Don't skip the checks on user-specified groups. - */ - this(p, q, g, false); - } - - /** - * Internal package-private constructor used by the pre-approved - * groups in {@link JPAKEPrimeOrderGroups}. - * These pre-approved groups can avoid the expensive checks. - */ - JPAKEPrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g, boolean skipChecks) - { - JPAKEUtil.validateNotNull(p, "p"); - JPAKEUtil.validateNotNull(q, "q"); - JPAKEUtil.validateNotNull(g, "g"); - - if (!skipChecks) - { - if (!p.subtract(JPAKEUtil.ONE).mod(q).equals(JPAKEUtil.ZERO)) - { - throw new IllegalArgumentException("p-1 must be evenly divisible by q"); - } - if (g.compareTo(BigInteger.valueOf(2)) == -1 || g.compareTo(p.subtract(JPAKEUtil.ONE)) == 1) - { - throw new IllegalArgumentException("g must be in [2, p-1]"); - } - if (!g.modPow(q, p).equals(JPAKEUtil.ONE)) - { - throw new IllegalArgumentException("g^q mod p must equal 1"); - } - /* - * Note that these checks do not guarantee that p and q are prime. - * We just have reasonable certainty that they are prime. - */ - if (!p.isProbablePrime(20)) - { - throw new IllegalArgumentException("p must be prime"); - } - if (!q.isProbablePrime(20)) - { - throw new IllegalArgumentException("q must be prime"); - } - } - - this.p = p; - this.q = q; - this.g = g; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getG() - { - return g; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroups.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroups.java deleted file mode 100644 index 4cda6f2d4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroups.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -/** - * Standard pre-computed prime order groups for use by J-PAKE. - * (J-PAKE can use pre-computed prime order groups, same as DSA and Diffie-Hellman.) - *

    - *

    - * This class contains some convenient constants for use as input for - * constructing {@link JPAKEParticipant}s. - *

    - *

    - * The prime order groups below are taken from Sun's JDK JavaDoc (docs/guide/security/CryptoSpec.html#AppB), - * and from the prime order groups - * published by NIST. - */ -public class JPAKEPrimeOrderGroups -{ - /** - * From Sun's JDK JavaDoc (docs/guide/security/CryptoSpec.html#AppB) - * 1024-bit p, 160-bit q and 1024-bit g for 80-bit security. - */ - public static final JPAKEPrimeOrderGroup SUN_JCE_1024 = new JPAKEPrimeOrderGroup( - // p - new BigInteger( - "fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669" + - "455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b7" + - "6b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb" + - "83f6d3c51ec3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16), - // q - new BigInteger( - "9760508f15230bccb292b982a2eb840bf0581cf5", 16), - // g - new BigInteger( - "f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d078267" + - "5159578ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e1" + - "3c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243b" + - "cca4f1bea8519089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16), - true - ); - - /** - * From NIST. - * 2048-bit p, 224-bit q and 2048-bit g for 112-bit security. - */ - public static final JPAKEPrimeOrderGroup NIST_2048 = new JPAKEPrimeOrderGroup( - // p - new BigInteger( - "C196BA05AC29E1F9C3C72D56DFFC6154A033F1477AC88EC37F09BE6C5BB95F51" + - "C296DD20D1A28A067CCC4D4316A4BD1DCA55ED1066D438C35AEBAABF57E7DAE4" + - "28782A95ECA1C143DB701FD48533A3C18F0FE23557EA7AE619ECACC7E0B51652" + - "A8776D02A425567DED36EABD90CA33A1E8D988F0BBB92D02D1D20290113BB562" + - "CE1FC856EEB7CDD92D33EEA6F410859B179E7E789A8F75F645FAE2E136D252BF" + - "FAFF89528945C1ABE705A38DBC2D364AADE99BE0D0AAD82E5320121496DC65B3" + - "930E38047294FF877831A16D5228418DE8AB275D7D75651CEFED65F78AFC3EA7" + - "FE4D79B35F62A0402A1117599ADAC7B269A59F353CF450E6982D3B1702D9CA83", 16), - // q - new BigInteger( - "90EAF4D1AF0708B1B612FF35E0A2997EB9E9D263C9CE659528945C0D", 16), - // g - new BigInteger( - "A59A749A11242C58C894E9E5A91804E8FA0AC64B56288F8D47D51B1EDC4D6544" + - "4FECA0111D78F35FC9FDD4CB1F1B79A3BA9CBEE83A3F811012503C8117F98E50" + - "48B089E387AF6949BF8784EBD9EF45876F2E6A5A495BE64B6E770409494B7FEE" + - "1DBB1E4B2BC2A53D4F893D418B7159592E4FFFDF6969E91D770DAEBD0B5CB14C" + - "00AD68EC7DC1E5745EA55C706C4A1C5C88964E34D09DEB753AD418C1AD0F4FDF" + - "D049A955E5D78491C0B7A2F1575A008CCD727AB376DB6E695515B05BD412F5B8" + - "C2F4C77EE10DA48ABD53F5DD498927EE7B692BBBCDA2FB23A516C5B4533D7398" + - "0B2A3B60E384ED200AE21B40D273651AD6060C13D97FD69AA13C5611A51B9085", 16), - true - ); - - /** - * From NIST. - * 3072-bit p, 256-bit q and 3072-bit g for 128-bit security. - */ - public static final JPAKEPrimeOrderGroup NIST_3072 = new JPAKEPrimeOrderGroup( - // p - new BigInteger( - "90066455B5CFC38F9CAA4A48B4281F292C260FEEF01FD61037E56258A7795A1C" + - "7AD46076982CE6BB956936C6AB4DCFE05E6784586940CA544B9B2140E1EB523F" + - "009D20A7E7880E4E5BFA690F1B9004A27811CD9904AF70420EEFD6EA11EF7DA1" + - "29F58835FF56B89FAA637BC9AC2EFAAB903402229F491D8D3485261CD068699B" + - "6BA58A1DDBBEF6DB51E8FE34E8A78E542D7BA351C21EA8D8F1D29F5D5D159394" + - "87E27F4416B0CA632C59EFD1B1EB66511A5A0FBF615B766C5862D0BD8A3FE7A0" + - "E0DA0FB2FE1FCB19E8F9996A8EA0FCCDE538175238FC8B0EE6F29AF7F642773E" + - "BE8CD5402415A01451A840476B2FCEB0E388D30D4B376C37FE401C2A2C2F941D" + - "AD179C540C1C8CE030D460C4D983BE9AB0B20F69144C1AE13F9383EA1C08504F" + - "B0BF321503EFE43488310DD8DC77EC5B8349B8BFE97C2C560EA878DE87C11E3D" + - "597F1FEA742D73EEC7F37BE43949EF1A0D15C3F3E3FC0A8335617055AC91328E" + - "C22B50FC15B941D3D1624CD88BC25F3E941FDDC6200689581BFEC416B4B2CB73", 16), - // q - new BigInteger( - "CFA0478A54717B08CE64805B76E5B14249A77A4838469DF7F7DC987EFCCFB11D", 16), - // g - new BigInteger( - "5E5CBA992E0A680D885EB903AEA78E4A45A469103D448EDE3B7ACCC54D521E37" + - "F84A4BDD5B06B0970CC2D2BBB715F7B82846F9A0C393914C792E6A923E2117AB" + - "805276A975AADB5261D91673EA9AAFFEECBFA6183DFCB5D3B7332AA19275AFA1" + - "F8EC0B60FB6F66CC23AE4870791D5982AAD1AA9485FD8F4A60126FEB2CF05DB8" + - "A7F0F09B3397F3937F2E90B9E5B9C9B6EFEF642BC48351C46FB171B9BFA9EF17" + - "A961CE96C7E7A7CC3D3D03DFAD1078BA21DA425198F07D2481622BCE45969D9C" + - "4D6063D72AB7A0F08B2F49A7CC6AF335E08C4720E31476B67299E231F8BD90B3" + - "9AC3AE3BE0C6B6CACEF8289A2E2873D58E51E029CAFBD55E6841489AB66B5B4B" + - "9BA6E2F784660896AFF387D92844CCB8B69475496DE19DA2E58259B090489AC8" + - "E62363CDF82CFD8EF2A427ABCD65750B506F56DDE3B988567A88126B914D7828" + - "E2B63A6D7ED0747EC59E0E0A23CE7D8A74C1D2C2A7AFB6A29799620F00E11C33" + - "787F7DED3B30E1A22D09F1FBDA1ABBBFBF25CAE05A13F812E34563F99410E73B", 16), - true - ); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound1Payload.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound1Payload.java deleted file mode 100644 index c5eda2417..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound1Payload.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * The payload sent/received during the first round of a J-PAKE exchange. - *

    - *

    - * Each {@link JPAKEParticipant} creates and sends an instance - * of this payload to the other {@link JPAKEParticipant}. - * The payload to send should be created via - * {@link JPAKEParticipant#createRound1PayloadToSend()}. - *

    - *

    - * Each {@link JPAKEParticipant} must also validate the payload - * received from the other {@link JPAKEParticipant}. - * The received payload should be validated via - * {@link JPAKEParticipant#validateRound1PayloadReceived(JPAKERound1Payload)}. - *

    - */ -public class JPAKERound1Payload -{ - /** - * The id of the {@link JPAKEParticipant} who created/sent this payload. - */ - private final String participantId; - - /** - * The value of g^x1 - */ - private final BigInteger gx1; - - /** - * The value of g^x2 - */ - private final BigInteger gx2; - - /** - * The zero knowledge proof for x1. - *

    - * This is a two element array, containing {g^v, r} for x1. - */ - private final BigInteger[] knowledgeProofForX1; - - /** - * The zero knowledge proof for x2. - *

    - * This is a two element array, containing {g^v, r} for x2. - */ - private final BigInteger[] knowledgeProofForX2; - - public JPAKERound1Payload( - String participantId, - BigInteger gx1, - BigInteger gx2, - BigInteger[] knowledgeProofForX1, - BigInteger[] knowledgeProofForX2) - { - JPAKEUtil.validateNotNull(participantId, "participantId"); - JPAKEUtil.validateNotNull(gx1, "gx1"); - JPAKEUtil.validateNotNull(gx2, "gx2"); - JPAKEUtil.validateNotNull(knowledgeProofForX1, "knowledgeProofForX1"); - JPAKEUtil.validateNotNull(knowledgeProofForX2, "knowledgeProofForX2"); - - this.participantId = participantId; - this.gx1 = gx1; - this.gx2 = gx2; - this.knowledgeProofForX1 = Arrays.copyOf(knowledgeProofForX1, knowledgeProofForX1.length); - this.knowledgeProofForX2 = Arrays.copyOf(knowledgeProofForX2, knowledgeProofForX2.length); - } - - public String getParticipantId() - { - return participantId; - } - - public BigInteger getGx1() - { - return gx1; - } - - public BigInteger getGx2() - { - return gx2; - } - - public BigInteger[] getKnowledgeProofForX1() - { - return Arrays.copyOf(knowledgeProofForX1, knowledgeProofForX1.length); - } - - public BigInteger[] getKnowledgeProofForX2() - { - return Arrays.copyOf(knowledgeProofForX2, knowledgeProofForX2.length); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound2Payload.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound2Payload.java deleted file mode 100644 index 684d6ccc8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound2Payload.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * The payload sent/received during the second round of a J-PAKE exchange. - *

    - *

    - * Each {@link JPAKEParticipant} creates and sends an instance - * of this payload to the other {@link JPAKEParticipant}. - * The payload to send should be created via - * {@link JPAKEParticipant#createRound2PayloadToSend()} - *

    - *

    - * Each {@link JPAKEParticipant} must also validate the payload - * received from the other {@link JPAKEParticipant}. - * The received payload should be validated via - * {@link JPAKEParticipant#validateRound2PayloadReceived(JPAKERound2Payload)} - *

    - */ -public class JPAKERound2Payload -{ - /** - * The id of the {@link JPAKEParticipant} who created/sent this payload. - */ - private final String participantId; - - /** - * The value of A, as computed during round 2. - */ - private final BigInteger a; - - /** - * The zero knowledge proof for x2 * s. - *

    - * This is a two element array, containing {g^v, r} for x2 * s. - */ - private final BigInteger[] knowledgeProofForX2s; - - public JPAKERound2Payload( - String participantId, - BigInteger a, - BigInteger[] knowledgeProofForX2s) - { - JPAKEUtil.validateNotNull(participantId, "participantId"); - JPAKEUtil.validateNotNull(a, "a"); - JPAKEUtil.validateNotNull(knowledgeProofForX2s, "knowledgeProofForX2s"); - - this.participantId = participantId; - this.a = a; - this.knowledgeProofForX2s = Arrays.copyOf(knowledgeProofForX2s, knowledgeProofForX2s.length); - } - - public String getParticipantId() - { - return participantId; - } - - public BigInteger getA() - { - return a; - } - - public BigInteger[] getKnowledgeProofForX2s() - { - return Arrays.copyOf(knowledgeProofForX2s, knowledgeProofForX2s.length); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound3Payload.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound3Payload.java deleted file mode 100644 index d8ebf9c46..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKERound3Payload.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -/** - * The payload sent/received during the optional third round of a J-PAKE exchange, - * which is for explicit key confirmation. - *

    - *

    - * Each {@link JPAKEParticipant} creates and sends an instance - * of this payload to the other {@link JPAKEParticipant}. - * The payload to send should be created via - * {@link JPAKEParticipant#createRound3PayloadToSend(BigInteger)} - *

    - *

    - * Each {@link JPAKEParticipant} must also validate the payload - * received from the other {@link JPAKEParticipant}. - * The received payload should be validated via - * {@link JPAKEParticipant#validateRound3PayloadReceived(JPAKERound3Payload, BigInteger)} - *

    - */ -public class JPAKERound3Payload -{ - /** - * The id of the {@link JPAKEParticipant} who created/sent this payload. - */ - private final String participantId; - - /** - * The value of MacTag, as computed by round 3. - * - * @see JPAKEUtil#calculateMacTag(String, String, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, org.spongycastle.crypto.Digest) - */ - private final BigInteger macTag; - - public JPAKERound3Payload(String participantId, BigInteger magTag) - { - this.participantId = participantId; - this.macTag = magTag; - } - - public String getParticipantId() - { - return participantId; - } - - public BigInteger getMacTag() - { - return macTag; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEUtil.java deleted file mode 100644 index aa65ef8ec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/jpake/JPAKEUtil.java +++ /dev/null @@ -1,508 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.Strings; - -/** - * Primitives needed for a J-PAKE exchange. - *

    - *

    - * The recommended way to perform a J-PAKE exchange is by using - * two {@link JPAKEParticipant}s. Internally, those participants - * call these primitive operations in {@link JPAKEUtil}. - *

    - *

    - * The primitives, however, can be used without a {@link JPAKEParticipant} - * if needed. - */ -public class JPAKEUtil -{ - static final BigInteger ZERO = BigInteger.valueOf(0); - static final BigInteger ONE = BigInteger.valueOf(1); - - /** - * Return a value that can be used as x1 or x3 during round 1. - *

    - *

    - * The returned value is a random value in the range [0, q-1]. - */ - public static BigInteger generateX1( - BigInteger q, - SecureRandom random) - { - BigInteger min = ZERO; - BigInteger max = q.subtract(ONE); - return BigIntegers.createRandomInRange(min, max, random); - } - - /** - * Return a value that can be used as x2 or x4 during round 1. - *

    - *

    - * The returned value is a random value in the range [1, q-1]. - */ - public static BigInteger generateX2( - BigInteger q, - SecureRandom random) - { - BigInteger min = ONE; - BigInteger max = q.subtract(ONE); - return BigIntegers.createRandomInRange(min, max, random); - } - - /** - * Converts the given password to a {@link BigInteger} - * for use in arithmetic calculations. - */ - public static BigInteger calculateS(char[] password) - { - return new BigInteger(Strings.toUTF8ByteArray(password)); - } - - /** - * Calculate g^x mod p as done in round 1. - */ - public static BigInteger calculateGx( - BigInteger p, - BigInteger g, - BigInteger x) - { - return g.modPow(x, p); - } - - - /** - * Calculate ga as done in round 2. - */ - public static BigInteger calculateGA( - BigInteger p, - BigInteger gx1, - BigInteger gx3, - BigInteger gx4) - { - // ga = g^(x1+x3+x4) = g^x1 * g^x3 * g^x4 - return gx1.multiply(gx3).multiply(gx4).mod(p); - } - - - /** - * Calculate x2 * s as done in round 2. - */ - public static BigInteger calculateX2s( - BigInteger q, - BigInteger x2, - BigInteger s) - { - return x2.multiply(s).mod(q); - } - - - /** - * Calculate A as done in round 2. - */ - public static BigInteger calculateA( - BigInteger p, - BigInteger q, - BigInteger gA, - BigInteger x2s) - { - // A = ga^(x*s) - return gA.modPow(x2s, p); - } - - /** - * Calculate a zero knowledge proof of x using Schnorr's signature. - * The returned array has two elements {g^v, r = v-x*h} for x. - */ - public static BigInteger[] calculateZeroKnowledgeProof( - BigInteger p, - BigInteger q, - BigInteger g, - BigInteger gx, - BigInteger x, - String participantId, - Digest digest, - SecureRandom random) - { - BigInteger[] zeroKnowledgeProof = new BigInteger[2]; - - /* Generate a random v, and compute g^v */ - BigInteger vMin = ZERO; - BigInteger vMax = q.subtract(ONE); - BigInteger v = BigIntegers.createRandomInRange(vMin, vMax, random); - - BigInteger gv = g.modPow(v, p); - BigInteger h = calculateHashForZeroKnowledgeProof(g, gv, gx, participantId, digest); // h - - zeroKnowledgeProof[0] = gv; - zeroKnowledgeProof[1] = v.subtract(x.multiply(h)).mod(q); // r = v-x*h - - return zeroKnowledgeProof; - } - - private static BigInteger calculateHashForZeroKnowledgeProof( - BigInteger g, - BigInteger gr, - BigInteger gx, - String participantId, - Digest digest) - { - digest.reset(); - - updateDigestIncludingSize(digest, g); - - updateDigestIncludingSize(digest, gr); - - updateDigestIncludingSize(digest, gx); - - updateDigestIncludingSize(digest, participantId); - - byte[] output = new byte[digest.getDigestSize()]; - digest.doFinal(output, 0); - - return new BigInteger(output); - } - - /** - * Validates that g^x4 is not 1. - * - * @throws CryptoException if g^x4 is 1 - */ - public static void validateGx4(BigInteger gx4) - throws CryptoException - { - if (gx4.equals(ONE)) - { - throw new CryptoException("g^x validation failed. g^x should not be 1."); - } - } - - /** - * Validates that ga is not 1. - *

    - *

    - * As described by Feng Hao... - *

    - *

    - * Alice could simply check ga != 1 to ensure it is a generator. - * In fact, as we will explain in Section 3, (x1 + x3 + x4 ) is random over Zq even in the face of active attacks. - * Hence, the probability for ga = 1 is extremely small - on the order of 2^160 for 160-bit q. - *
    - * - * @throws CryptoException if ga is 1 - */ - public static void validateGa(BigInteger ga) - throws CryptoException - { - if (ga.equals(ONE)) - { - throw new CryptoException("ga is equal to 1. It should not be. The chances of this happening are on the order of 2^160 for a 160-bit q. Try again."); - } - } - - /** - * Validates the zero knowledge proof (generated by - * {@link #calculateZeroKnowledgeProof(BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, String, Digest, SecureRandom)}) - * is correct. - * - * @throws CryptoException if the zero knowledge proof is not correct - */ - public static void validateZeroKnowledgeProof( - BigInteger p, - BigInteger q, - BigInteger g, - BigInteger gx, - BigInteger[] zeroKnowledgeProof, - String participantId, - Digest digest) - throws CryptoException - { - - /* sig={g^v,r} */ - BigInteger gv = zeroKnowledgeProof[0]; - BigInteger r = zeroKnowledgeProof[1]; - - BigInteger h = calculateHashForZeroKnowledgeProof(g, gv, gx, participantId, digest); - if (!(gx.compareTo(ZERO) == 1 && // g^x > 0 - gx.compareTo(p) == -1 && // g^x < p - gx.modPow(q, p).compareTo(ONE) == 0 && // g^x^q mod q = 1 - /* - * Below, I took an straightforward way to compute g^r * g^x^h, - * which needs 2 exp. Using a simultaneous computation technique - * would only need 1 exp. - */ - g.modPow(r, p).multiply(gx.modPow(h, p)).mod(p).compareTo(gv) == 0)) // g^v=g^r * g^x^h - { - throw new CryptoException("Zero-knowledge proof validation failed"); - } - } - - /** - * Calculates the keying material, which can be done after round 2 has completed. - * A session key must be derived from this key material using a secure key derivation function (KDF). - * The KDF used to derive the key is handled externally (i.e. not by {@link JPAKEParticipant}). - *

    - *

    - *

    -     * KeyingMaterial = (B/g^{x2*x4*s})^x2
    -     * 
    - */ - public static BigInteger calculateKeyingMaterial( - BigInteger p, - BigInteger q, - BigInteger gx4, - BigInteger x2, - BigInteger s, - BigInteger B) - { - return gx4.modPow(x2.multiply(s).negate().mod(q), p).multiply(B).modPow(x2, p); - } - - /** - * Validates that the given participant ids are not equal. - * (For the J-PAKE exchange, each participant must use a unique id.) - * - * @throws CryptoException if the participantId strings are equal. - */ - public static void validateParticipantIdsDiffer(String participantId1, String participantId2) - throws CryptoException - { - if (participantId1.equals(participantId2)) - { - throw new CryptoException( - "Both participants are using the same participantId (" - + participantId1 - + "). This is not allowed. " - + "Each participant must use a unique participantId."); - } - } - - /** - * Validates that the given participant ids are equal. - * This is used to ensure that the payloads received from - * each round all come from the same participant. - * - * @throws CryptoException if the participantId strings are equal. - */ - public static void validateParticipantIdsEqual(String expectedParticipantId, String actualParticipantId) - throws CryptoException - { - if (!expectedParticipantId.equals(actualParticipantId)) - { - throw new CryptoException( - "Received payload from incorrect partner (" - + actualParticipantId - + "). Expected to receive payload from " - + expectedParticipantId - + "."); - } - } - - /** - * Validates that the given object is not null. - * - * @param object object in question - * @param description name of the object (to be used in exception message) - * @throws NullPointerException if the object is null. - */ - public static void validateNotNull(Object object, String description) - { - if (object == null) - { - throw new NullPointerException(description + " must not be null"); - } - } - - /** - * Calculates the MacTag (to be used for key confirmation), as defined by - * NIST SP 800-56A Revision 1, - * Section 8.2 Unilateral Key Confirmation for Key Agreement Schemes. - *

    - *

    - *

    -     * MacTag = HMAC(MacKey, MacLen, MacData)
    -     *
    -     * MacKey = H(K || "JPAKE_KC")
    -     *
    -     * MacData = "KC_1_U" || participantId || partnerParticipantId || gx1 || gx2 || gx3 || gx4
    -     *
    -     * Note that both participants use "KC_1_U" because the sender of the round 3 message
    -     * is always the initiator for key confirmation.
    -     *
    -     * HMAC = {@link HMac} used with the given {@link Digest}
    -     * H = The given {@link Digest}
    -     * MacLen = length of MacTag
    -     * 
    - *

    - */ - public static BigInteger calculateMacTag( - String participantId, - String partnerParticipantId, - BigInteger gx1, - BigInteger gx2, - BigInteger gx3, - BigInteger gx4, - BigInteger keyingMaterial, - Digest digest) - { - byte[] macKey = calculateMacKey( - keyingMaterial, - digest); - - HMac mac = new HMac(digest); - byte[] macOutput = new byte[mac.getMacSize()]; - mac.init(new KeyParameter(macKey)); - - /* - * MacData = "KC_1_U" || participantId_Alice || participantId_Bob || gx1 || gx2 || gx3 || gx4. - */ - updateMac(mac, "KC_1_U"); - updateMac(mac, participantId); - updateMac(mac, partnerParticipantId); - updateMac(mac, gx1); - updateMac(mac, gx2); - updateMac(mac, gx3); - updateMac(mac, gx4); - - mac.doFinal(macOutput, 0); - - Arrays.fill(macKey, (byte)0); - - return new BigInteger(macOutput); - - } - - /** - * Calculates the MacKey (i.e. the key to use when calculating the MagTag for key confirmation). - *

    - *

    - *

    -     * MacKey = H(K || "JPAKE_KC")
    -     * 
    - */ - private static byte[] calculateMacKey(BigInteger keyingMaterial, Digest digest) - { - digest.reset(); - - updateDigest(digest, keyingMaterial); - /* - * This constant is used to ensure that the macKey is NOT the same as the derived key. - */ - updateDigest(digest, "JPAKE_KC"); - - byte[] output = new byte[digest.getDigestSize()]; - digest.doFinal(output, 0); - - return output; - } - - /** - * Validates the MacTag received from the partner participant. - *

    - * - * @param partnerMacTag the MacTag received from the partner. - * @throws CryptoException if the participantId strings are equal. - */ - public static void validateMacTag( - String participantId, - String partnerParticipantId, - BigInteger gx1, - BigInteger gx2, - BigInteger gx3, - BigInteger gx4, - BigInteger keyingMaterial, - Digest digest, - BigInteger partnerMacTag) - throws CryptoException - { - /* - * Calculate the expected MacTag using the parameters as the partner - * would have used when the partner called calculateMacTag. - * - * i.e. basically all the parameters are reversed. - * participantId <-> partnerParticipantId - * x1 <-> x3 - * x2 <-> x4 - */ - BigInteger expectedMacTag = calculateMacTag( - partnerParticipantId, - participantId, - gx3, - gx4, - gx1, - gx2, - keyingMaterial, - digest); - - if (!expectedMacTag.equals(partnerMacTag)) - { - throw new CryptoException( - "Partner MacTag validation failed. " - + "Therefore, the password, MAC, or digest algorithm of each participant does not match."); - } - } - - private static void updateDigest(Digest digest, BigInteger bigInteger) - { - byte[] byteArray = BigIntegers.asUnsignedByteArray(bigInteger); - digest.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static void updateDigestIncludingSize(Digest digest, BigInteger bigInteger) - { - byte[] byteArray = BigIntegers.asUnsignedByteArray(bigInteger); - digest.update(intToByteArray(byteArray.length), 0, 4); - digest.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static void updateDigest(Digest digest, String string) - { - byte[] byteArray = Strings.toUTF8ByteArray(string); - digest.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static void updateDigestIncludingSize(Digest digest, String string) - { - byte[] byteArray = Strings.toUTF8ByteArray(string); - digest.update(intToByteArray(byteArray.length), 0, 4); - digest.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static void updateMac(Mac mac, BigInteger bigInteger) - { - byte[] byteArray = BigIntegers.asUnsignedByteArray(bigInteger); - mac.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static void updateMac(Mac mac, String string) - { - byte[] byteArray = Strings.toUTF8ByteArray(string); - mac.update(byteArray, 0, byteArray.length); - Arrays.fill(byteArray, (byte)0); - } - - private static byte[] intToByteArray(int value) - { - return new byte[]{ - (byte)(value >>> 24), - (byte)(value >>> 16), - (byte)(value >>> 8), - (byte)value - }; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKDFParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKDFParameters.java deleted file mode 100644 index 96656cedf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKDFParameters.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.agreement.kdf; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.crypto.DerivationParameters; - -public class DHKDFParameters - implements DerivationParameters -{ - private ASN1ObjectIdentifier algorithm; - private int keySize; - private byte[] z; - private byte[] extraInfo; - - public DHKDFParameters( - DERObjectIdentifier algorithm, - int keySize, - byte[] z) - { - this(algorithm, keySize, z, null); - } - - public DHKDFParameters( - DERObjectIdentifier algorithm, - int keySize, - byte[] z, - byte[] extraInfo) - { - this.algorithm = new ASN1ObjectIdentifier(algorithm.getId()); - this.keySize = keySize; - this.z = z; - this.extraInfo = extraInfo; - } - - public ASN1ObjectIdentifier getAlgorithm() - { - return algorithm; - } - - public int getKeySize() - { - return keySize; - } - - public byte[] getZ() - { - return z; - } - - public byte[] getExtraInfo() - { - return extraInfo; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKEKGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKEKGenerator.java deleted file mode 100644 index 6d27a9db7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/DHKEKGenerator.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.crypto.agreement.kdf; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.util.Pack; - -/** - * RFC 2631 Diffie-hellman KEK derivation function. - */ -public class DHKEKGenerator - implements DerivationFunction -{ - private final Digest digest; - - private DERObjectIdentifier algorithm; - private int keySize; - private byte[] z; - private byte[] partyAInfo; - - public DHKEKGenerator( - Digest digest) - { - this.digest = digest; - } - - public void init(DerivationParameters param) - { - DHKDFParameters params = (DHKDFParameters)param; - - this.algorithm = params.getAlgorithm(); - this.keySize = params.getKeySize(); - this.z = params.getZ(); - this.partyAInfo = params.getExtraInfo(); - } - - public Digest getDigest() - { - return digest; - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - if ((out.length - len) < outOff) - { - throw new DataLengthException("output buffer too small"); - } - - long oBytes = len; - int outLen = digest.getDigestSize(); - - // - // this is at odds with the standard implementation, the - // maximum value should be hBits * (2^32 - 1) where hBits - // is the digest output size in bits. We can't have an - // array with a long index at the moment... - // - if (oBytes > ((2L << 32) - 1)) - { - throw new IllegalArgumentException("Output length too large"); - } - - int cThreshold = (int)((oBytes + outLen - 1) / outLen); - - byte[] dig = new byte[digest.getDigestSize()]; - - int counter = 1; - - for (int i = 0; i < cThreshold; i++) - { - digest.update(z, 0, z.length); - - // OtherInfo - ASN1EncodableVector v1 = new ASN1EncodableVector(); - // KeySpecificInfo - ASN1EncodableVector v2 = new ASN1EncodableVector(); - - v2.add(algorithm); - v2.add(new DEROctetString(Pack.intToBigEndian(counter))); - - v1.add(new DERSequence(v2)); - - if (partyAInfo != null) - { - v1.add(new DERTaggedObject(true, 0, new DEROctetString(partyAInfo))); - } - - v1.add(new DERTaggedObject(true, 2, new DEROctetString(Pack.intToBigEndian(keySize)))); - - try - { - byte[] other = new DERSequence(v1).getEncoded(ASN1Encoding.DER); - - digest.update(other, 0, other.length); - } - catch (IOException e) - { - throw new IllegalArgumentException("unable to encode parameter info: " + e.getMessage()); - } - - digest.doFinal(dig, 0); - - if (len > outLen) - { - System.arraycopy(dig, 0, out, outOff, outLen); - outOff += outLen; - len -= outLen; - } - else - { - System.arraycopy(dig, 0, out, outOff, len); - } - - counter++; - } - - digest.reset(); - - return (int)oBytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/ECDHKEKGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/ECDHKEKGenerator.java deleted file mode 100644 index d427f9895..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/kdf/ECDHKEKGenerator.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.agreement.kdf; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.DigestDerivationFunction; -import org.spongycastle.crypto.generators.KDF2BytesGenerator; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.crypto.util.Pack; - -/** - * X9.63 based key derivation function for ECDH CMS. - */ -public class ECDHKEKGenerator - implements DigestDerivationFunction -{ - private DigestDerivationFunction kdf; - - private ASN1ObjectIdentifier algorithm; - private int keySize; - private byte[] z; - - public ECDHKEKGenerator( - Digest digest) - { - this.kdf = new KDF2BytesGenerator(digest); - } - - public void init(DerivationParameters param) - { - DHKDFParameters params = (DHKDFParameters)param; - - this.algorithm = params.getAlgorithm(); - this.keySize = params.getKeySize(); - this.z = params.getZ(); - } - - public Digest getDigest() - { - return kdf.getDigest(); - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - // TODO Create an ASN.1 class for this (RFC3278) - // ECC-CMS-SharedInfo - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new AlgorithmIdentifier(algorithm, DERNull.INSTANCE)); - v.add(new DERTaggedObject(true, 2, new DEROctetString(Pack.intToBigEndian(keySize)))); - - try - { - kdf.init(new KDFParameters(z, new DERSequence(v).getEncoded(ASN1Encoding.DER))); - } - catch (IOException e) - { - throw new IllegalArgumentException("unable to initialise kdf: " + e.getMessage()); - } - - return kdf.generateBytes(out, outOff, len); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Client.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Client.java deleted file mode 100644 index d47ad39ec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Client.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.crypto.agreement.srp; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; - -/** - * Implements the client side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. - * This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper - * "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002" - */ -public class SRP6Client -{ - protected BigInteger N; - protected BigInteger g; - - protected BigInteger a; - protected BigInteger A; - - protected BigInteger B; - - protected BigInteger x; - protected BigInteger u; - protected BigInteger S; - - protected Digest digest; - protected SecureRandom random; - - public SRP6Client() - { - } - - /** - * Initialises the client to begin new authentication attempt - * @param N The safe prime associated with the client's verifier - * @param g The group parameter associated with the client's verifier - * @param digest The digest algorithm associated with the client's verifier - * @param random For key generation - */ - public void init(BigInteger N, BigInteger g, Digest digest, SecureRandom random) - { - this.N = N; - this.g = g; - this.digest = digest; - this.random = random; - } - - /** - * Generates client's credentials given the client's salt, identity and password - * @param salt The salt used in the client's verifier. - * @param identity The user's identity (eg. username) - * @param password The user's password - * @return Client's public value to send to server - */ - public BigInteger generateClientCredentials(byte[] salt, byte[] identity, byte[] password) - { - this.x = SRP6Util.calculateX(digest, N, salt, identity, password); - this.a = selectPrivateValue(); - this.A = g.modPow(a, N); - - return A; - } - - /** - * Generates client's verification message given the server's credentials - * @param serverB The server's credentials - * @return Client's verification message for the server - * @throws CryptoException If server's credentials are invalid - */ - public BigInteger calculateSecret(BigInteger serverB) throws CryptoException - { - this.B = SRP6Util.validatePublicValue(N, serverB); - this.u = SRP6Util.calculateU(digest, N, A, B); - this.S = calculateS(); - - return S; - } - - protected BigInteger selectPrivateValue() - { - return SRP6Util.generatePrivateValue(digest, N, g, random); - } - - private BigInteger calculateS() - { - BigInteger k = SRP6Util.calculateK(digest, N, g); - BigInteger exp = u.multiply(x).add(a); - BigInteger tmp = g.modPow(x, N).multiply(k).mod(N); - return B.subtract(tmp).mod(N).modPow(exp, N); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Server.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Server.java deleted file mode 100644 index 50f6f7cea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Server.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.agreement.srp; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; - -/** - * Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. - * This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper - * "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002" - */ -public class SRP6Server -{ - protected BigInteger N; - protected BigInteger g; - protected BigInteger v; - - protected SecureRandom random; - protected Digest digest; - - protected BigInteger A; - - protected BigInteger b; - protected BigInteger B; - - protected BigInteger u; - protected BigInteger S; - - public SRP6Server() - { - } - - /** - * Initialises the server to accept a new client authentication attempt - * @param N The safe prime associated with the client's verifier - * @param g The group parameter associated with the client's verifier - * @param v The client's verifier - * @param digest The digest algorithm associated with the client's verifier - * @param random For key generation - */ - public void init(BigInteger N, BigInteger g, BigInteger v, Digest digest, SecureRandom random) - { - this.N = N; - this.g = g; - this.v = v; - - this.random = random; - this.digest = digest; - } - - /** - * Generates the server's credentials that are to be sent to the client. - * @return The server's public value to the client - */ - public BigInteger generateServerCredentials() - { - BigInteger k = SRP6Util.calculateK(digest, N, g); - this.b = selectPrivateValue(); - this.B = k.multiply(v).mod(N).add(g.modPow(b, N)).mod(N); - - return B; - } - - /** - * Processes the client's credentials. If valid the shared secret is generated and returned. - * @param clientA The client's credentials - * @return A shared secret BigInteger - * @throws CryptoException If client's credentials are invalid - */ - public BigInteger calculateSecret(BigInteger clientA) throws CryptoException - { - this.A = SRP6Util.validatePublicValue(N, clientA); - this.u = SRP6Util.calculateU(digest, N, A, B); - this.S = calculateS(); - - return S; - } - - protected BigInteger selectPrivateValue() - { - return SRP6Util.generatePrivateValue(digest, N, g, random); - } - - private BigInteger calculateS() - { - return v.modPow(u, N).multiply(A).mod(N).modPow(b, N); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Util.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Util.java deleted file mode 100644 index 40ec01c0f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6Util.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.crypto.agreement.srp; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.BigIntegers; - -public class SRP6Util -{ - private static BigInteger ZERO = BigInteger.valueOf(0); - private static BigInteger ONE = BigInteger.valueOf(1); - - public static BigInteger calculateK(Digest digest, BigInteger N, BigInteger g) - { - return hashPaddedPair(digest, N, N, g); - } - - public static BigInteger calculateU(Digest digest, BigInteger N, BigInteger A, BigInteger B) - { - return hashPaddedPair(digest, N, A, B); - } - - public static BigInteger calculateX(Digest digest, BigInteger N, byte[] salt, byte[] identity, byte[] password) - { - byte[] output = new byte[digest.getDigestSize()]; - - digest.update(identity, 0, identity.length); - digest.update((byte)':'); - digest.update(password, 0, password.length); - digest.doFinal(output, 0); - - digest.update(salt, 0, salt.length); - digest.update(output, 0, output.length); - digest.doFinal(output, 0); - - return new BigInteger(1, output); - } - - public static BigInteger generatePrivateValue(Digest digest, BigInteger N, BigInteger g, SecureRandom random) - { - int minBits = Math.min(256, N.bitLength() / 2); - BigInteger min = ONE.shiftLeft(minBits - 1); - BigInteger max = N.subtract(ONE); - - return BigIntegers.createRandomInRange(min, max, random); - } - - public static BigInteger validatePublicValue(BigInteger N, BigInteger val) - throws CryptoException - { - val = val.mod(N); - - // Check that val % N != 0 - if (val.equals(ZERO)) - { - throw new CryptoException("Invalid public value: 0"); - } - - return val; - } - - private static BigInteger hashPaddedPair(Digest digest, BigInteger N, BigInteger n1, BigInteger n2) - { - int padLength = (N.bitLength() + 7) / 8; - - byte[] n1_bytes = getPadded(n1, padLength); - byte[] n2_bytes = getPadded(n2, padLength); - - digest.update(n1_bytes, 0, n1_bytes.length); - digest.update(n2_bytes, 0, n2_bytes.length); - - byte[] output = new byte[digest.getDigestSize()]; - digest.doFinal(output, 0); - - return new BigInteger(1, output); - } - - private static byte[] getPadded(BigInteger n, int length) - { - byte[] bs = BigIntegers.asUnsignedByteArray(n); - if (bs.length < length) - { - byte[] tmp = new byte[length]; - System.arraycopy(bs, 0, tmp, length - bs.length, bs.length); - bs = tmp; - } - return bs; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6VerifierGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6VerifierGenerator.java deleted file mode 100644 index 0324af187..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/srp/SRP6VerifierGenerator.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.crypto.agreement.srp; - -import java.math.BigInteger; - -import org.spongycastle.crypto.Digest; - -/** - * Generates new SRP verifier for user - */ -public class SRP6VerifierGenerator -{ - protected BigInteger N; - protected BigInteger g; - protected Digest digest; - - public SRP6VerifierGenerator() - { - } - - /** - * Initialises generator to create new verifiers - * @param N The safe prime to use (see DHParametersGenerator) - * @param g The group parameter to use (see DHParametersGenerator) - * @param digest The digest to use. The same digest type will need to be used later for the actual authentication - * attempt. Also note that the final session key size is dependent on the chosen digest. - */ - public void init(BigInteger N, BigInteger g, Digest digest) - { - this.N = N; - this.g = g; - this.digest = digest; - } - - /** - * Creates a new SRP verifier - * @param salt The salt to use, generally should be large and random - * @param identity The user's identifying information (eg. username) - * @param password The user's password - * @return A new verifier for use in future SRP authentication - */ - public BigInteger generateVerifier(byte[] salt, byte[] identity, byte[] password) - { - BigInteger x = SRP6Util.calculateX(digest, N, salt, identity, password); - - return g.modPow(x, N); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/GeneralHashCommitter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/GeneralHashCommitter.java deleted file mode 100644 index e37c534e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/GeneralHashCommitter.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.crypto.commitments; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.Commitment; -import org.spongycastle.crypto.Committer; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Arrays; - -/** - * A basic hash-committer based on the one described in "Making Mix Nets Robust for Electronic Voting by Randomized Partial Checking", - * by Jakobsson, Juels, and Rivest (11th Usenix Security Symposium, 2002). - *

    - * The algorithm used by this class differs from the one given in that it includes the length of the message in the hash calculation. - *

    - */ -public class GeneralHashCommitter - implements Committer -{ - private final Digest digest; - private final int byteLength; - private final SecureRandom random; - - /** - * Base Constructor. The maximum message length that can be committed to is half the length of the internal - * block size for the digest (ExtendedDigest.getBlockLength()). - * - * @param digest digest to use for creating commitments. - * @param random source of randomness for generating secrets. - */ - public GeneralHashCommitter(ExtendedDigest digest, SecureRandom random) - { - this.digest = digest; - this.byteLength = digest.getByteLength(); - this.random = random; - } - - /** - * Generate a commitment for the passed in message. - * - * @param message the message to be committed to, - * @return a Commitment - */ - public Commitment commit(byte[] message) - { - if (message.length > byteLength / 2) - { - throw new DataLengthException("Message to be committed to too large for digest."); - } - - byte[] w = new byte[byteLength - message.length]; - - random.nextBytes(w); - - return new Commitment(w, calculateCommitment(w, message)); - } - - /** - * Return true if the passed in commitment represents a commitment to the passed in message. - * - * @param commitment a commitment previously generated. - * @param message the message that was expected to have been committed to. - * @return true if commitment matches message, false otherwise. - */ - public boolean isRevealed(Commitment commitment, byte[] message) - { - if (message.length + commitment.getSecret().length != byteLength) - { - throw new DataLengthException("Message and witness secret lengths do not match."); - } - - byte[] calcCommitment = calculateCommitment(commitment.getSecret(), message); - - return Arrays.constantTimeAreEqual(commitment.getCommitment(), calcCommitment); - } - - private byte[] calculateCommitment(byte[] w, byte[] message) - { - byte[] commitment = new byte[digest.getDigestSize()]; - - digest.update(w, 0, w.length); - digest.update(message, 0, message.length); - - digest.update((byte)((message.length >>> 8))); - digest.update((byte)(message.length)); - - digest.doFinal(commitment, 0); - - return commitment; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/HashCommitter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/HashCommitter.java deleted file mode 100644 index 4320d86d3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/commitments/HashCommitter.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.crypto.commitments; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.Commitment; -import org.spongycastle.crypto.Committer; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Arrays; - -/** - * A basic hash-committer as described in "Making Mix Nets Robust for Electronic Voting by Randomized Partial Checking", - * by Jakobsson, Juels, and Rivest (11th Usenix Security Symposium, 2002). - *

    - * Use this class if you can enforce fixed length for messages. If you need something more general, use the GeneralHashCommitter. - *

    - */ -public class HashCommitter - implements Committer -{ - private final Digest digest; - private final int byteLength; - private final SecureRandom random; - - /** - * Base Constructor. The maximum message length that can be committed to is half the length of the internal - * block size for the digest (ExtendedDigest.getBlockLength()). - * - * @param digest digest to use for creating commitments. - * @param random source of randomness for generating secrets. - */ - public HashCommitter(ExtendedDigest digest, SecureRandom random) - { - this.digest = digest; - this.byteLength = digest.getByteLength(); - this.random = random; - } - - /** - * Generate a commitment for the passed in message. - * - * @param message the message to be committed to, - * @return a Commitment - */ - public Commitment commit(byte[] message) - { - if (message.length > byteLength / 2) - { - throw new DataLengthException("Message to be committed to too large for digest."); - } - - byte[] w = new byte[byteLength - message.length]; - - random.nextBytes(w); - - return new Commitment(w, calculateCommitment(w, message)); - } - - /** - * Return true if the passed in commitment represents a commitment to the passed in message. - * - * @param commitment a commitment previously generated. - * @param message the message that was expected to have been committed to. - * @return true if commitment matches message, false otherwise. - */ - public boolean isRevealed(Commitment commitment, byte[] message) - { - if (message.length + commitment.getSecret().length != byteLength) - { - throw new DataLengthException("Message and witness secret lengths do not match."); - } - - byte[] calcCommitment = calculateCommitment(commitment.getSecret(), message); - - return Arrays.constantTimeAreEqual(commitment.getCommitment(), calcCommitment); - } - - private byte[] calculateCommitment(byte[] w, byte[] message) - { - byte[] commitment = new byte[digest.getDigestSize()]; - - digest.update(w, 0, w.length); - digest.update(message, 0, message.length); - digest.doFinal(commitment, 0); - - return commitment; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GOST3411Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GOST3411Digest.java deleted file mode 100644 index a540c99f2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GOST3411Digest.java +++ /dev/null @@ -1,362 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.engines.GOST28147Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithSBox; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Memoable; - -/** - * implementation of GOST R 34.11-94 - */ -public class GOST3411Digest - implements ExtendedDigest, Memoable -{ - private static final int DIGEST_LENGTH = 32; - - private byte[] H = new byte[32], L = new byte[32], - M = new byte[32], Sum = new byte[32]; - private byte[][] C = new byte[4][32]; - - private byte[] xBuf = new byte[32]; - private int xBufOff; - private long byteCount; - - private BlockCipher cipher = new GOST28147Engine(); - private byte[] sBox; - - /** - * Standard constructor - */ - public GOST3411Digest() - { - sBox = GOST28147Engine.getSBox("D-A"); - cipher.init(true, new ParametersWithSBox(null, sBox)); - - reset(); - } - - /** - * Constructor to allow use of a particular sbox with GOST28147 - * @see GOST28147Engine#getSBox(String) - */ - public GOST3411Digest(byte[] sBoxParam) - { - sBox = Arrays.clone(sBoxParam); - cipher.init(true, new ParametersWithSBox(null, sBox)); - - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public GOST3411Digest(GOST3411Digest t) - { - reset(t); - } - - public String getAlgorithmName() - { - return "GOST3411"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - public void update(byte in) - { - xBuf[xBufOff++] = in; - if (xBufOff == xBuf.length) - { - sumByteArray(xBuf); // calc sum M - processBlock(xBuf, 0); - xBufOff = 0; - } - byteCount++; - } - - public void update(byte[] in, int inOff, int len) - { - while ((xBufOff != 0) && (len > 0)) - { - update(in[inOff]); - inOff++; - len--; - } - - while (len > xBuf.length) - { - System.arraycopy(in, inOff, xBuf, 0, xBuf.length); - - sumByteArray(xBuf); // calc sum M - processBlock(xBuf, 0); - inOff += xBuf.length; - len -= xBuf.length; - byteCount += xBuf.length; - } - - // load in the remainder. - while (len > 0) - { - update(in[inOff]); - inOff++; - len--; - } - } - - // (i + 1 + 4(k - 1)) = 8i + k i = 0-3, k = 1-8 - private byte[] K = new byte[32]; - - private byte[] P(byte[] in) - { - for(int k = 0; k < 8; k++) - { - K[4*k] = in[k]; - K[1 + 4*k] = in[ 8 + k]; - K[2 + 4*k] = in[16 + k]; - K[3 + 4*k] = in[24 + k]; - } - - return K; - } - - //A (x) = (x0 ^ x1) || x3 || x2 || x1 - byte[] a = new byte[8]; - private byte[] A(byte[] in) - { - for(int j=0; j<8; j++) - { - a[j]=(byte)(in[j] ^ in[j+8]); - } - - System.arraycopy(in, 8, in, 0, 24); - System.arraycopy(a, 0, in, 24, 8); - - return in; - } - - //Encrypt function, ECB mode - private void E(byte[] key, byte[] s, int sOff, byte[] in, int inOff) - { - cipher.init(true, new KeyParameter(key)); - - cipher.processBlock(in, inOff, s, sOff); - } - - // (in:) n16||..||n1 ==> (out:) n1^n2^n3^n4^n13^n16||n16||..||n2 - short[] wS = new short[16], w_S = new short[16]; - - private void fw(byte[] in) - { - cpyBytesToShort(in, wS); - w_S[15] = (short)(wS[0] ^ wS[1] ^ wS[2] ^ wS[3] ^ wS[12] ^ wS[15]); - System.arraycopy(wS, 1, w_S, 0, 15); - cpyShortToBytes(w_S, in); - } - - // block processing - byte[] S = new byte[32]; - byte[] U = new byte[32], V = new byte[32], W = new byte[32]; - - protected void processBlock(byte[] in, int inOff) - { - System.arraycopy(in, inOff, M, 0, 32); - - //key step 1 - - // H = h3 || h2 || h1 || h0 - // S = s3 || s2 || s1 || s0 - System.arraycopy(H, 0, U, 0, 32); - System.arraycopy(M, 0, V, 0, 32); - for (int j=0; j<32; j++) - { - W[j] = (byte)(U[j]^V[j]); - } - // Encrypt gost28147-ECB - E(P(W), S, 0, H, 0); // s0 = EK0 [h0] - - //keys step 2,3,4 - for (int i=1; i<4; i++) - { - byte[] tmpA = A(U); - for (int j=0; j<32; j++) - { - U[j] = (byte)(tmpA[j] ^ C[i][j]); - } - V = A(A(V)); - for (int j=0; j<32; j++) - { - W[j] = (byte)(U[j]^V[j]); - } - // Encrypt gost28147-ECB - E(P(W), S, i * 8, H, i * 8); // si = EKi [hi] - } - - // x(M, H) = y61(H^y(M^y12(S))) - for(int n = 0; n < 12; n++) - { - fw(S); - } - for(int n = 0; n < 32; n++) - { - S[n] = (byte)(S[n] ^ M[n]); - } - - fw(S); - - for(int n = 0; n < 32; n++) - { - S[n] = (byte)(H[n] ^ S[n]); - } - for(int n = 0; n < 61; n++) - { - fw(S); - } - System.arraycopy(S, 0, H, 0, H.length); - } - - private void finish() - { - Pack.longToLittleEndian(byteCount * 8, L, 0); // get length into L (byteCount * 8 = bitCount) - - while (xBufOff != 0) - { - update((byte)0); - } - - processBlock(L, 0); - processBlock(Sum, 0); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - System.arraycopy(H, 0, out, outOff, H.length); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - private static final byte[] C2 = { - 0x00,(byte)0xFF,0x00,(byte)0xFF,0x00,(byte)0xFF,0x00,(byte)0xFF, - (byte)0xFF,0x00,(byte)0xFF,0x00,(byte)0xFF,0x00,(byte)0xFF,0x00, - 0x00,(byte)0xFF,(byte)0xFF,0x00,(byte)0xFF,0x00,0x00,(byte)0xFF, - (byte)0xFF,0x00,0x00,0x00,(byte)0xFF,(byte)0xFF,0x00,(byte)0xFF}; - - public void reset() - { - byteCount = 0; - xBufOff = 0; - - for(int i=0; i (Sum + a mod (2^256)) - private void sumByteArray(byte[] in) - { - int carry = 0; - - for (int i = 0; i != Sum.length; i++) - { - int sum = (Sum[i] & 0xff) + (in[i] & 0xff) + carry; - - Sum[i] = (byte)sum; - - carry = sum >>> 8; - } - } - - private void cpyBytesToShort(byte[] S, short[] wS) - { - for(int i=0; i> 8); - S[i*2] = (byte)wS[i]; - } - } - - public int getByteLength() - { - return 32; - } - - public Memoable copy() - { - return new GOST3411Digest(this); - } - - public void reset(Memoable other) - { - GOST3411Digest t = (GOST3411Digest)other; - - this.sBox = t.sBox; - cipher.init(true, new ParametersWithSBox(null, sBox)); - - reset(); - - System.arraycopy(t.H, 0, this.H, 0, t.H.length); - System.arraycopy(t.L, 0, this.L, 0, t.L.length); - System.arraycopy(t.M, 0, this.M, 0, t.M.length); - System.arraycopy(t.Sum, 0, this.Sum, 0, t.Sum.length); - System.arraycopy(t.C[1], 0, this.C[1], 0, t.C[1].length); - System.arraycopy(t.C[2], 0, this.C[2], 0, t.C[2].length); - System.arraycopy(t.C[3], 0, this.C[3], 0, t.C[3].length); - System.arraycopy(t.xBuf, 0, this.xBuf, 0, t.xBuf.length); - - this.xBufOff = t.xBufOff; - this.byteCount = t.byteCount; - } -} - - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GeneralDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GeneralDigest.java deleted file mode 100644 index b7c53336d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/GeneralDigest.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Memoable; - -/** - * base implementation of MD4 family style digest as outlined in - * "Handbook of Applied Cryptography", pages 344 - 347. - */ -public abstract class GeneralDigest - implements ExtendedDigest, Memoable -{ - private static final int BYTE_LENGTH = 64; - private byte[] xBuf; - private int xBufOff; - - private long byteCount; - - /** - * Standard constructor - */ - protected GeneralDigest() - { - xBuf = new byte[4]; - xBufOff = 0; - } - - /** - * Copy constructor. We are using copy constructors in place - * of the Object.clone() interface as this interface is not - * supported by J2ME. - */ - protected GeneralDigest(GeneralDigest t) - { - xBuf = new byte[t.xBuf.length]; - - copyIn(t); - } - - protected void copyIn(GeneralDigest t) - { - System.arraycopy(t.xBuf, 0, xBuf, 0, t.xBuf.length); - - xBufOff = t.xBufOff; - byteCount = t.byteCount; - } - - public void update( - byte in) - { - xBuf[xBufOff++] = in; - - if (xBufOff == xBuf.length) - { - processWord(xBuf, 0); - xBufOff = 0; - } - - byteCount++; - } - - public void update( - byte[] in, - int inOff, - int len) - { - // - // fill the current word - // - while ((xBufOff != 0) && (len > 0)) - { - update(in[inOff]); - - inOff++; - len--; - } - - // - // process whole words. - // - while (len > xBuf.length) - { - processWord(in, inOff); - - inOff += xBuf.length; - len -= xBuf.length; - byteCount += xBuf.length; - } - - // - // load in the remainder. - // - while (len > 0) - { - update(in[inOff]); - - inOff++; - len--; - } - } - - public void finish() - { - long bitLength = (byteCount << 3); - - // - // add the pad bytes. - // - update((byte)128); - - while (xBufOff != 0) - { - update((byte)0); - } - - processLength(bitLength); - - processBlock(); - } - - public void reset() - { - byteCount = 0; - - xBufOff = 0; - for (int i = 0; i < xBuf.length; i++) - { - xBuf[i] = 0; - } - } - - public int getByteLength() - { - return BYTE_LENGTH; - } - - protected abstract void processWord(byte[] in, int inOff); - - protected abstract void processLength(long bitLength); - - protected abstract void processBlock(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/LongDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/LongDigest.java deleted file mode 100644 index 0e4040add..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/LongDigest.java +++ /dev/null @@ -1,361 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - -/** - * Base class for SHA-384 and SHA-512. - */ -public abstract class LongDigest - implements ExtendedDigest, Memoable -{ - private static final int BYTE_LENGTH = 128; - - private byte[] xBuf; - private int xBufOff; - - private long byteCount1; - private long byteCount2; - - protected long H1, H2, H3, H4, H5, H6, H7, H8; - - private long[] W = new long[80]; - private int wOff; - - /** - * Constructor for variable length word - */ - protected LongDigest() - { - xBuf = new byte[8]; - xBufOff = 0; - - reset(); - } - - /** - * Copy constructor. We are using copy constructors in place - * of the Object.clone() interface as this interface is not - * supported by J2ME. - */ - protected LongDigest(LongDigest t) - { - xBuf = new byte[t.xBuf.length]; - - copyIn(t); - } - - protected void copyIn(LongDigest t) - { - System.arraycopy(t.xBuf, 0, xBuf, 0, t.xBuf.length); - - xBufOff = t.xBufOff; - byteCount1 = t.byteCount1; - byteCount2 = t.byteCount2; - - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - H6 = t.H6; - H7 = t.H7; - H8 = t.H8; - - System.arraycopy(t.W, 0, W, 0, t.W.length); - wOff = t.wOff; - } - - public void update( - byte in) - { - xBuf[xBufOff++] = in; - - if (xBufOff == xBuf.length) - { - processWord(xBuf, 0); - xBufOff = 0; - } - - byteCount1++; - } - - public void update( - byte[] in, - int inOff, - int len) - { - // - // fill the current word - // - while ((xBufOff != 0) && (len > 0)) - { - update(in[inOff]); - - inOff++; - len--; - } - - // - // process whole words. - // - while (len > xBuf.length) - { - processWord(in, inOff); - - inOff += xBuf.length; - len -= xBuf.length; - byteCount1 += xBuf.length; - } - - // - // load in the remainder. - // - while (len > 0) - { - update(in[inOff]); - - inOff++; - len--; - } - } - - public void finish() - { - adjustByteCounts(); - - long lowBitLength = byteCount1 << 3; - long hiBitLength = byteCount2; - - // - // add the pad bytes. - // - update((byte)128); - - while (xBufOff != 0) - { - update((byte)0); - } - - processLength(lowBitLength, hiBitLength); - - processBlock(); - } - - public void reset() - { - byteCount1 = 0; - byteCount2 = 0; - - xBufOff = 0; - for (int i = 0; i < xBuf.length; i++) - { - xBuf[i] = 0; - } - - wOff = 0; - for (int i = 0; i != W.length; i++) - { - W[i] = 0; - } - } - - public int getByteLength() - { - return BYTE_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - W[wOff] = Pack.bigEndianToLong(in, inOff); - - if (++wOff == 16) - { - processBlock(); - } - } - - /** - * adjust the byte counts so that byteCount2 represents the - * upper long (less 3 bits) word of the byte count. - */ - private void adjustByteCounts() - { - if (byteCount1 > 0x1fffffffffffffffL) - { - byteCount2 += (byteCount1 >>> 61); - byteCount1 &= 0x1fffffffffffffffL; - } - } - - protected void processLength( - long lowW, - long hiW) - { - if (wOff > 14) - { - processBlock(); - } - - W[14] = hiW; - W[15] = lowW; - } - - protected void processBlock() - { - adjustByteCounts(); - - // - // expand 16 word block into 80 word blocks. - // - for (int t = 16; t <= 79; t++) - { - W[t] = Sigma1(W[t - 2]) + W[t - 7] + Sigma0(W[t - 15]) + W[t - 16]; - } - - // - // set up working variables. - // - long a = H1; - long b = H2; - long c = H3; - long d = H4; - long e = H5; - long f = H6; - long g = H7; - long h = H8; - - int t = 0; - for(int i = 0; i < 10; i ++) - { - // t = 8 * i - h += Sum1(e) + Ch(e, f, g) + K[t] + W[t++]; - d += h; - h += Sum0(a) + Maj(a, b, c); - - // t = 8 * i + 1 - g += Sum1(d) + Ch(d, e, f) + K[t] + W[t++]; - c += g; - g += Sum0(h) + Maj(h, a, b); - - // t = 8 * i + 2 - f += Sum1(c) + Ch(c, d, e) + K[t] + W[t++]; - b += f; - f += Sum0(g) + Maj(g, h, a); - - // t = 8 * i + 3 - e += Sum1(b) + Ch(b, c, d) + K[t] + W[t++]; - a += e; - e += Sum0(f) + Maj(f, g, h); - - // t = 8 * i + 4 - d += Sum1(a) + Ch(a, b, c) + K[t] + W[t++]; - h += d; - d += Sum0(e) + Maj(e, f, g); - - // t = 8 * i + 5 - c += Sum1(h) + Ch(h, a, b) + K[t] + W[t++]; - g += c; - c += Sum0(d) + Maj(d, e, f); - - // t = 8 * i + 6 - b += Sum1(g) + Ch(g, h, a) + K[t] + W[t++]; - f += b; - b += Sum0(c) + Maj(c, d, e); - - // t = 8 * i + 7 - a += Sum1(f) + Ch(f, g, h) + K[t] + W[t++]; - e += a; - a += Sum0(b) + Maj(b, c, d); - } - - H1 += a; - H2 += b; - H3 += c; - H4 += d; - H5 += e; - H6 += f; - H7 += g; - H8 += h; - - // - // reset the offset and clean out the word buffer. - // - wOff = 0; - for (int i = 0; i < 16; i++) - { - W[i] = 0; - } - } - - /* SHA-384 and SHA-512 functions (as for SHA-256 but for longs) */ - private long Ch( - long x, - long y, - long z) - { - return ((x & y) ^ ((~x) & z)); - } - - private long Maj( - long x, - long y, - long z) - { - return ((x & y) ^ (x & z) ^ (y & z)); - } - - private long Sum0( - long x) - { - return ((x << 36)|(x >>> 28)) ^ ((x << 30)|(x >>> 34)) ^ ((x << 25)|(x >>> 39)); - } - - private long Sum1( - long x) - { - return ((x << 50)|(x >>> 14)) ^ ((x << 46)|(x >>> 18)) ^ ((x << 23)|(x >>> 41)); - } - - private long Sigma0( - long x) - { - return ((x << 63)|(x >>> 1)) ^ ((x << 56)|(x >>> 8)) ^ (x >>> 7); - } - - private long Sigma1( - long x) - { - return ((x << 45)|(x >>> 19)) ^ ((x << 3)|(x >>> 61)) ^ (x >>> 6); - } - - /* SHA-384 and SHA-512 Constants - * (represent the first 64 bits of the fractional parts of the - * cube roots of the first sixty-four prime numbers) - */ - static final long K[] = { -0x428a2f98d728ae22L, 0x7137449123ef65cdL, 0xb5c0fbcfec4d3b2fL, 0xe9b5dba58189dbbcL, -0x3956c25bf348b538L, 0x59f111f1b605d019L, 0x923f82a4af194f9bL, 0xab1c5ed5da6d8118L, -0xd807aa98a3030242L, 0x12835b0145706fbeL, 0x243185be4ee4b28cL, 0x550c7dc3d5ffb4e2L, -0x72be5d74f27b896fL, 0x80deb1fe3b1696b1L, 0x9bdc06a725c71235L, 0xc19bf174cf692694L, -0xe49b69c19ef14ad2L, 0xefbe4786384f25e3L, 0x0fc19dc68b8cd5b5L, 0x240ca1cc77ac9c65L, -0x2de92c6f592b0275L, 0x4a7484aa6ea6e483L, 0x5cb0a9dcbd41fbd4L, 0x76f988da831153b5L, -0x983e5152ee66dfabL, 0xa831c66d2db43210L, 0xb00327c898fb213fL, 0xbf597fc7beef0ee4L, -0xc6e00bf33da88fc2L, 0xd5a79147930aa725L, 0x06ca6351e003826fL, 0x142929670a0e6e70L, -0x27b70a8546d22ffcL, 0x2e1b21385c26c926L, 0x4d2c6dfc5ac42aedL, 0x53380d139d95b3dfL, -0x650a73548baf63deL, 0x766a0abb3c77b2a8L, 0x81c2c92e47edaee6L, 0x92722c851482353bL, -0xa2bfe8a14cf10364L, 0xa81a664bbc423001L, 0xc24b8b70d0f89791L, 0xc76c51a30654be30L, -0xd192e819d6ef5218L, 0xd69906245565a910L, 0xf40e35855771202aL, 0x106aa07032bbd1b8L, -0x19a4c116b8d2d0c8L, 0x1e376c085141ab53L, 0x2748774cdf8eeb99L, 0x34b0bcb5e19b48a8L, -0x391c0cb3c5c95a63L, 0x4ed8aa4ae3418acbL, 0x5b9cca4f7763e373L, 0x682e6ff3d6b2b8a3L, -0x748f82ee5defb2fcL, 0x78a5636f43172f60L, 0x84c87814a1f0ab72L, 0x8cc702081a6439ecL, -0x90befffa23631e28L, 0xa4506cebde82bde9L, 0xbef9a3f7b2c67915L, 0xc67178f2e372532bL, -0xca273eceea26619cL, 0xd186b8c721c0c207L, 0xeada7dd6cde0eb1eL, 0xf57d4f7fee6ed178L, -0x06f067aa72176fbaL, 0x0a637dc5a2c898a6L, 0x113f9804bef90daeL, 0x1b710b35131c471bL, -0x28db77f523047d84L, 0x32caab7b40c72493L, 0x3c9ebe0a15c9bebcL, 0x431d67c49c100d4cL, -0x4cc5d4becb3e42b6L, 0x597f299cfc657e2aL, 0x5fcb6fab3ad6faecL, 0x6c44198c4a475817L - }; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD2Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD2Digest.java deleted file mode 100644 index b7fe6449f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD2Digest.java +++ /dev/null @@ -1,258 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.*; -import org.spongycastle.util.Memoable; - -/** - * implementation of MD2 - * as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992 - */ -public class MD2Digest - implements ExtendedDigest, Memoable -{ - private static final int DIGEST_LENGTH = 16; - - /* X buffer */ - private byte[] X = new byte[48]; - private int xOff; - /* M buffer */ - private byte[] M = new byte[16]; - private int mOff; - /* check sum */ - private byte[] C = new byte[16]; - private int COff; - - public MD2Digest() - { - reset(); - } - - public MD2Digest(MD2Digest t) - { - copyIn(t); - } - - private void copyIn(MD2Digest t) - { - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - System.arraycopy(t.M, 0, M, 0, t.M.length); - mOff = t.mOff; - System.arraycopy(t.C, 0, C, 0, t.C.length); - COff = t.COff; - } - - /** - * return the algorithm name - * - * @return the algorithm name - */ - public String getAlgorithmName() - { - return "MD2"; - } - /** - * return the size, in bytes, of the digest produced by this message digest. - * - * @return the size, in bytes, of the digest produced by this message digest. - */ - public int getDigestSize() - { - return DIGEST_LENGTH; - } - /** - * close the digest, producing the final digest value. The doFinal - * call leaves the digest reset. - * - * @param out the array the digest is to be copied into. - * @param outOff the offset into the out array the digest is to start at. - */ - public int doFinal(byte[] out, int outOff) - { - // add padding - byte paddingByte = (byte)(M.length-mOff); - for (int i=mOff;i 0)) - { - update(in[inOff]); - inOff++; - len--; - } - - // - // process whole words. - // - while (len > 16) - { - System.arraycopy(in,inOff,M,0,16); - processCheckSum(M); - processBlock(M); - len -= 16; - inOff += 16; - } - - // - // load in the remainder. - // - while (len > 0) - { - update(in[inOff]); - inOff++; - len--; - } - } - protected void processCheckSum(byte[] m) - { - int L = C[15]; - for (int i=0;i<16;i++) - { - C[i] ^= S[(m[i] ^ L) & 0xff]; - L = C[i]; - } - } - protected void processBlock(byte[] m) - { - for (int i=0;i<16;i++) - { - X[i+16] = m[i]; - X[i+32] = (byte)(m[i] ^ X[i]); - } - // encrypt block - int t = 0; - - for (int j=0;j<18;j++) - { - for (int k=0;k<48;k++) - { - t = X[k] ^= S[t]; - t = t & 0xff; - } - t = (t + j)%256; - } - } - // 256-byte random permutation constructed from the digits of PI - private static final byte[] S = { - (byte)41,(byte)46,(byte)67,(byte)201,(byte)162,(byte)216,(byte)124, - (byte)1,(byte)61,(byte)54,(byte)84,(byte)161,(byte)236,(byte)240, - (byte)6,(byte)19,(byte)98,(byte)167,(byte)5,(byte)243,(byte)192, - (byte)199,(byte)115,(byte)140,(byte)152,(byte)147,(byte)43,(byte)217, - (byte)188,(byte)76,(byte)130,(byte)202,(byte)30,(byte)155,(byte)87, - (byte)60,(byte)253,(byte)212,(byte)224,(byte)22,(byte)103,(byte)66, - (byte)111,(byte)24,(byte)138,(byte)23,(byte)229,(byte)18,(byte)190, - (byte)78,(byte)196,(byte)214,(byte)218,(byte)158,(byte)222,(byte)73, - (byte)160,(byte)251,(byte)245,(byte)142,(byte)187,(byte)47,(byte)238, - (byte)122,(byte)169,(byte)104,(byte)121,(byte)145,(byte)21,(byte)178, - (byte)7,(byte)63,(byte)148,(byte)194,(byte)16,(byte)137,(byte)11, - (byte)34,(byte)95,(byte)33,(byte)128,(byte)127,(byte)93,(byte)154, - (byte)90,(byte)144,(byte)50,(byte)39,(byte)53,(byte)62,(byte)204, - (byte)231,(byte)191,(byte)247,(byte)151,(byte)3,(byte)255,(byte)25, - (byte)48,(byte)179,(byte)72,(byte)165,(byte)181,(byte)209,(byte)215, - (byte)94,(byte)146,(byte)42,(byte)172,(byte)86,(byte)170,(byte)198, - (byte)79,(byte)184,(byte)56,(byte)210,(byte)150,(byte)164,(byte)125, - (byte)182,(byte)118,(byte)252,(byte)107,(byte)226,(byte)156,(byte)116, - (byte)4,(byte)241,(byte)69,(byte)157,(byte)112,(byte)89,(byte)100, - (byte)113,(byte)135,(byte)32,(byte)134,(byte)91,(byte)207,(byte)101, - (byte)230,(byte)45,(byte)168,(byte)2,(byte)27,(byte)96,(byte)37, - (byte)173,(byte)174,(byte)176,(byte)185,(byte)246,(byte)28,(byte)70, - (byte)97,(byte)105,(byte)52,(byte)64,(byte)126,(byte)15,(byte)85, - (byte)71,(byte)163,(byte)35,(byte)221,(byte)81,(byte)175,(byte)58, - (byte)195,(byte)92,(byte)249,(byte)206,(byte)186,(byte)197,(byte)234, - (byte)38,(byte)44,(byte)83,(byte)13,(byte)110,(byte)133,(byte)40, - (byte)132, 9,(byte)211,(byte)223,(byte)205,(byte)244,(byte)65, - (byte)129,(byte)77,(byte)82,(byte)106,(byte)220,(byte)55,(byte)200, - (byte)108,(byte)193,(byte)171,(byte)250,(byte)36,(byte)225,(byte)123, - (byte)8,(byte)12,(byte)189,(byte)177,(byte)74,(byte)120,(byte)136, - (byte)149,(byte)139,(byte)227,(byte)99,(byte)232,(byte)109,(byte)233, - (byte)203,(byte)213,(byte)254,(byte)59,(byte)0,(byte)29,(byte)57, - (byte)242,(byte)239,(byte)183,(byte)14,(byte)102,(byte)88,(byte)208, - (byte)228,(byte)166,(byte)119,(byte)114,(byte)248,(byte)235,(byte)117, - (byte)75,(byte)10,(byte)49,(byte)68,(byte)80,(byte)180,(byte)143, - (byte)237,(byte)31,(byte)26,(byte)219,(byte)153,(byte)141,(byte)51, - (byte)159,(byte)17,(byte)131,(byte)20 - }; - - public int getByteLength() - { - return 16; - } - - public Memoable copy() - { - return new MD2Digest(this); - } - - public void reset(Memoable other) - { - MD2Digest d = (MD2Digest)other; - - copyIn(d); - } -} - - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD4Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD4Digest.java deleted file mode 100644 index 9faf00257..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD4Digest.java +++ /dev/null @@ -1,291 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of MD4 as RFC 1320 by R. Rivest, MIT Laboratory for - * Computer Science and RSA Data Security, Inc. - *

    - * NOTE: This algorithm is only included for backwards compatability - * with legacy applications, it's not secure, don't use it for anything new! - */ -public class MD4Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 16; - - private int H1, H2, H3, H4; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public MD4Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public MD4Digest(MD4Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(MD4Digest t) - { - super.copyIn(t); - - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "MD4"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H1, out, outOff); - unpackWord(H2, out, outOff + 4); - unpackWord(H3, out, outOff + 8); - unpackWord(H4, out, outOff + 12); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H1 = 0x67452301; - H2 = 0xefcdab89; - H3 = 0x98badcfe; - H4 = 0x10325476; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - // - // round 1 left rotates - // - private static final int S11 = 3; - private static final int S12 = 7; - private static final int S13 = 11; - private static final int S14 = 19; - - // - // round 2 left rotates - // - private static final int S21 = 3; - private static final int S22 = 5; - private static final int S23 = 9; - private static final int S24 = 13; - - // - // round 3 left rotates - // - private static final int S31 = 3; - private static final int S32 = 9; - private static final int S33 = 11; - private static final int S34 = 15; - - /* - * rotate int x left n bits. - */ - private int rotateLeft( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * F, G, H and I are the basic MD4 functions. - */ - private int F( - int u, - int v, - int w) - { - return (u & v) | (~u & w); - } - - private int G( - int u, - int v, - int w) - { - return (u & v) | (u & w) | (v & w); - } - - private int H( - int u, - int v, - int w) - { - return u ^ v ^ w; - } - - protected void processBlock() - { - int a = H1; - int b = H2; - int c = H3; - int d = H4; - - // - // Round 1 - F cycle, 16 times. - // - a = rotateLeft(a + F(b, c, d) + X[ 0], S11); - d = rotateLeft(d + F(a, b, c) + X[ 1], S12); - c = rotateLeft(c + F(d, a, b) + X[ 2], S13); - b = rotateLeft(b + F(c, d, a) + X[ 3], S14); - a = rotateLeft(a + F(b, c, d) + X[ 4], S11); - d = rotateLeft(d + F(a, b, c) + X[ 5], S12); - c = rotateLeft(c + F(d, a, b) + X[ 6], S13); - b = rotateLeft(b + F(c, d, a) + X[ 7], S14); - a = rotateLeft(a + F(b, c, d) + X[ 8], S11); - d = rotateLeft(d + F(a, b, c) + X[ 9], S12); - c = rotateLeft(c + F(d, a, b) + X[10], S13); - b = rotateLeft(b + F(c, d, a) + X[11], S14); - a = rotateLeft(a + F(b, c, d) + X[12], S11); - d = rotateLeft(d + F(a, b, c) + X[13], S12); - c = rotateLeft(c + F(d, a, b) + X[14], S13); - b = rotateLeft(b + F(c, d, a) + X[15], S14); - - // - // Round 2 - G cycle, 16 times. - // - a = rotateLeft(a + G(b, c, d) + X[ 0] + 0x5a827999, S21); - d = rotateLeft(d + G(a, b, c) + X[ 4] + 0x5a827999, S22); - c = rotateLeft(c + G(d, a, b) + X[ 8] + 0x5a827999, S23); - b = rotateLeft(b + G(c, d, a) + X[12] + 0x5a827999, S24); - a = rotateLeft(a + G(b, c, d) + X[ 1] + 0x5a827999, S21); - d = rotateLeft(d + G(a, b, c) + X[ 5] + 0x5a827999, S22); - c = rotateLeft(c + G(d, a, b) + X[ 9] + 0x5a827999, S23); - b = rotateLeft(b + G(c, d, a) + X[13] + 0x5a827999, S24); - a = rotateLeft(a + G(b, c, d) + X[ 2] + 0x5a827999, S21); - d = rotateLeft(d + G(a, b, c) + X[ 6] + 0x5a827999, S22); - c = rotateLeft(c + G(d, a, b) + X[10] + 0x5a827999, S23); - b = rotateLeft(b + G(c, d, a) + X[14] + 0x5a827999, S24); - a = rotateLeft(a + G(b, c, d) + X[ 3] + 0x5a827999, S21); - d = rotateLeft(d + G(a, b, c) + X[ 7] + 0x5a827999, S22); - c = rotateLeft(c + G(d, a, b) + X[11] + 0x5a827999, S23); - b = rotateLeft(b + G(c, d, a) + X[15] + 0x5a827999, S24); - - // - // Round 3 - H cycle, 16 times. - // - a = rotateLeft(a + H(b, c, d) + X[ 0] + 0x6ed9eba1, S31); - d = rotateLeft(d + H(a, b, c) + X[ 8] + 0x6ed9eba1, S32); - c = rotateLeft(c + H(d, a, b) + X[ 4] + 0x6ed9eba1, S33); - b = rotateLeft(b + H(c, d, a) + X[12] + 0x6ed9eba1, S34); - a = rotateLeft(a + H(b, c, d) + X[ 2] + 0x6ed9eba1, S31); - d = rotateLeft(d + H(a, b, c) + X[10] + 0x6ed9eba1, S32); - c = rotateLeft(c + H(d, a, b) + X[ 6] + 0x6ed9eba1, S33); - b = rotateLeft(b + H(c, d, a) + X[14] + 0x6ed9eba1, S34); - a = rotateLeft(a + H(b, c, d) + X[ 1] + 0x6ed9eba1, S31); - d = rotateLeft(d + H(a, b, c) + X[ 9] + 0x6ed9eba1, S32); - c = rotateLeft(c + H(d, a, b) + X[ 5] + 0x6ed9eba1, S33); - b = rotateLeft(b + H(c, d, a) + X[13] + 0x6ed9eba1, S34); - a = rotateLeft(a + H(b, c, d) + X[ 3] + 0x6ed9eba1, S31); - d = rotateLeft(d + H(a, b, c) + X[11] + 0x6ed9eba1, S32); - c = rotateLeft(c + H(d, a, b) + X[ 7] + 0x6ed9eba1, S33); - b = rotateLeft(b + H(c, d, a) + X[15] + 0x6ed9eba1, S34); - - H1 += a; - H2 += b; - H3 += c; - H4 += d; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new MD4Digest(this); - } - - public void reset(Memoable other) - { - MD4Digest d = (MD4Digest)other; - - copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD5Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD5Digest.java deleted file mode 100644 index 61c83494c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/MD5Digest.java +++ /dev/null @@ -1,323 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347. - */ -public class MD5Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 16; - - private int H1, H2, H3, H4; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public MD5Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public MD5Digest(MD5Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(MD5Digest t) - { - super.copyIn(t); - - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "MD5"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H1, out, outOff); - unpackWord(H2, out, outOff + 4); - unpackWord(H3, out, outOff + 8); - unpackWord(H4, out, outOff + 12); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H1 = 0x67452301; - H2 = 0xefcdab89; - H3 = 0x98badcfe; - H4 = 0x10325476; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - // - // round 1 left rotates - // - private static final int S11 = 7; - private static final int S12 = 12; - private static final int S13 = 17; - private static final int S14 = 22; - - // - // round 2 left rotates - // - private static final int S21 = 5; - private static final int S22 = 9; - private static final int S23 = 14; - private static final int S24 = 20; - - // - // round 3 left rotates - // - private static final int S31 = 4; - private static final int S32 = 11; - private static final int S33 = 16; - private static final int S34 = 23; - - // - // round 4 left rotates - // - private static final int S41 = 6; - private static final int S42 = 10; - private static final int S43 = 15; - private static final int S44 = 21; - - /* - * rotate int x left n bits. - */ - private int rotateLeft( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * F, G, H and I are the basic MD5 functions. - */ - private int F( - int u, - int v, - int w) - { - return (u & v) | (~u & w); - } - - private int G( - int u, - int v, - int w) - { - return (u & w) | (v & ~w); - } - - private int H( - int u, - int v, - int w) - { - return u ^ v ^ w; - } - - private int K( - int u, - int v, - int w) - { - return v ^ (u | ~w); - } - - protected void processBlock() - { - int a = H1; - int b = H2; - int c = H3; - int d = H4; - - // - // Round 1 - F cycle, 16 times. - // - a = rotateLeft(a + F(b, c, d) + X[ 0] + 0xd76aa478, S11) + b; - d = rotateLeft(d + F(a, b, c) + X[ 1] + 0xe8c7b756, S12) + a; - c = rotateLeft(c + F(d, a, b) + X[ 2] + 0x242070db, S13) + d; - b = rotateLeft(b + F(c, d, a) + X[ 3] + 0xc1bdceee, S14) + c; - a = rotateLeft(a + F(b, c, d) + X[ 4] + 0xf57c0faf, S11) + b; - d = rotateLeft(d + F(a, b, c) + X[ 5] + 0x4787c62a, S12) + a; - c = rotateLeft(c + F(d, a, b) + X[ 6] + 0xa8304613, S13) + d; - b = rotateLeft(b + F(c, d, a) + X[ 7] + 0xfd469501, S14) + c; - a = rotateLeft(a + F(b, c, d) + X[ 8] + 0x698098d8, S11) + b; - d = rotateLeft(d + F(a, b, c) + X[ 9] + 0x8b44f7af, S12) + a; - c = rotateLeft(c + F(d, a, b) + X[10] + 0xffff5bb1, S13) + d; - b = rotateLeft(b + F(c, d, a) + X[11] + 0x895cd7be, S14) + c; - a = rotateLeft(a + F(b, c, d) + X[12] + 0x6b901122, S11) + b; - d = rotateLeft(d + F(a, b, c) + X[13] + 0xfd987193, S12) + a; - c = rotateLeft(c + F(d, a, b) + X[14] + 0xa679438e, S13) + d; - b = rotateLeft(b + F(c, d, a) + X[15] + 0x49b40821, S14) + c; - - // - // Round 2 - G cycle, 16 times. - // - a = rotateLeft(a + G(b, c, d) + X[ 1] + 0xf61e2562, S21) + b; - d = rotateLeft(d + G(a, b, c) + X[ 6] + 0xc040b340, S22) + a; - c = rotateLeft(c + G(d, a, b) + X[11] + 0x265e5a51, S23) + d; - b = rotateLeft(b + G(c, d, a) + X[ 0] + 0xe9b6c7aa, S24) + c; - a = rotateLeft(a + G(b, c, d) + X[ 5] + 0xd62f105d, S21) + b; - d = rotateLeft(d + G(a, b, c) + X[10] + 0x02441453, S22) + a; - c = rotateLeft(c + G(d, a, b) + X[15] + 0xd8a1e681, S23) + d; - b = rotateLeft(b + G(c, d, a) + X[ 4] + 0xe7d3fbc8, S24) + c; - a = rotateLeft(a + G(b, c, d) + X[ 9] + 0x21e1cde6, S21) + b; - d = rotateLeft(d + G(a, b, c) + X[14] + 0xc33707d6, S22) + a; - c = rotateLeft(c + G(d, a, b) + X[ 3] + 0xf4d50d87, S23) + d; - b = rotateLeft(b + G(c, d, a) + X[ 8] + 0x455a14ed, S24) + c; - a = rotateLeft(a + G(b, c, d) + X[13] + 0xa9e3e905, S21) + b; - d = rotateLeft(d + G(a, b, c) + X[ 2] + 0xfcefa3f8, S22) + a; - c = rotateLeft(c + G(d, a, b) + X[ 7] + 0x676f02d9, S23) + d; - b = rotateLeft(b + G(c, d, a) + X[12] + 0x8d2a4c8a, S24) + c; - - // - // Round 3 - H cycle, 16 times. - // - a = rotateLeft(a + H(b, c, d) + X[ 5] + 0xfffa3942, S31) + b; - d = rotateLeft(d + H(a, b, c) + X[ 8] + 0x8771f681, S32) + a; - c = rotateLeft(c + H(d, a, b) + X[11] + 0x6d9d6122, S33) + d; - b = rotateLeft(b + H(c, d, a) + X[14] + 0xfde5380c, S34) + c; - a = rotateLeft(a + H(b, c, d) + X[ 1] + 0xa4beea44, S31) + b; - d = rotateLeft(d + H(a, b, c) + X[ 4] + 0x4bdecfa9, S32) + a; - c = rotateLeft(c + H(d, a, b) + X[ 7] + 0xf6bb4b60, S33) + d; - b = rotateLeft(b + H(c, d, a) + X[10] + 0xbebfbc70, S34) + c; - a = rotateLeft(a + H(b, c, d) + X[13] + 0x289b7ec6, S31) + b; - d = rotateLeft(d + H(a, b, c) + X[ 0] + 0xeaa127fa, S32) + a; - c = rotateLeft(c + H(d, a, b) + X[ 3] + 0xd4ef3085, S33) + d; - b = rotateLeft(b + H(c, d, a) + X[ 6] + 0x04881d05, S34) + c; - a = rotateLeft(a + H(b, c, d) + X[ 9] + 0xd9d4d039, S31) + b; - d = rotateLeft(d + H(a, b, c) + X[12] + 0xe6db99e5, S32) + a; - c = rotateLeft(c + H(d, a, b) + X[15] + 0x1fa27cf8, S33) + d; - b = rotateLeft(b + H(c, d, a) + X[ 2] + 0xc4ac5665, S34) + c; - - // - // Round 4 - K cycle, 16 times. - // - a = rotateLeft(a + K(b, c, d) + X[ 0] + 0xf4292244, S41) + b; - d = rotateLeft(d + K(a, b, c) + X[ 7] + 0x432aff97, S42) + a; - c = rotateLeft(c + K(d, a, b) + X[14] + 0xab9423a7, S43) + d; - b = rotateLeft(b + K(c, d, a) + X[ 5] + 0xfc93a039, S44) + c; - a = rotateLeft(a + K(b, c, d) + X[12] + 0x655b59c3, S41) + b; - d = rotateLeft(d + K(a, b, c) + X[ 3] + 0x8f0ccc92, S42) + a; - c = rotateLeft(c + K(d, a, b) + X[10] + 0xffeff47d, S43) + d; - b = rotateLeft(b + K(c, d, a) + X[ 1] + 0x85845dd1, S44) + c; - a = rotateLeft(a + K(b, c, d) + X[ 8] + 0x6fa87e4f, S41) + b; - d = rotateLeft(d + K(a, b, c) + X[15] + 0xfe2ce6e0, S42) + a; - c = rotateLeft(c + K(d, a, b) + X[ 6] + 0xa3014314, S43) + d; - b = rotateLeft(b + K(c, d, a) + X[13] + 0x4e0811a1, S44) + c; - a = rotateLeft(a + K(b, c, d) + X[ 4] + 0xf7537e82, S41) + b; - d = rotateLeft(d + K(a, b, c) + X[11] + 0xbd3af235, S42) + a; - c = rotateLeft(c + K(d, a, b) + X[ 2] + 0x2ad7d2bb, S43) + d; - b = rotateLeft(b + K(c, d, a) + X[ 9] + 0xeb86d391, S44) + c; - - H1 += a; - H2 += b; - H3 += c; - H4 += d; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new MD5Digest(this); - } - - public void reset(Memoable other) - { - MD5Digest d = (MD5Digest)other; - - copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NonMemoableDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NonMemoableDigest.java deleted file mode 100644 index 7ce89469c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NonMemoableDigest.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; - -/** - * Wrapper removes exposure to the Memoable interface on an ExtendedDigest implementation. - */ -public class NonMemoableDigest - implements ExtendedDigest -{ - private ExtendedDigest baseDigest; - - /** - * Base constructor. - * - * @param baseDigest underlying digest to use. - * @exception IllegalArgumentException if baseDigest is null - */ - public NonMemoableDigest( - ExtendedDigest baseDigest) - { - if (baseDigest == null) - { - throw new IllegalArgumentException("baseDigest must not be null"); - } - - this.baseDigest = baseDigest; - } - - public String getAlgorithmName() - { - return baseDigest.getAlgorithmName(); - } - - public int getDigestSize() - { - return baseDigest.getDigestSize(); - } - - public void update(byte in) - { - baseDigest.update(in); - } - - public void update(byte[] in, int inOff, int len) - { - baseDigest.update(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - return baseDigest.doFinal(out, outOff); - } - - public void reset() - { - baseDigest.reset(); - } - - public int getByteLength() - { - return baseDigest.getByteLength(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NullDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NullDigest.java deleted file mode 100644 index 6b3c8106f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/NullDigest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.digests; - -import java.io.ByteArrayOutputStream; - -import org.spongycastle.crypto.Digest; - - -public class NullDigest - implements Digest -{ - private ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - public String getAlgorithmName() - { - return "NULL"; - } - - public int getDigestSize() - { - return bOut.size(); - } - - public void update(byte in) - { - bOut.write(in); - } - - public void update(byte[] in, int inOff, int len) - { - bOut.write(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - byte[] res = bOut.toByteArray(); - - System.arraycopy(res, 0, out, outOff, res.length); - - reset(); - - return res.length; - } - - public void reset() - { - bOut.reset(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD128Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD128Digest.java deleted file mode 100644 index 26a8b702f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD128Digest.java +++ /dev/null @@ -1,482 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of RIPEMD128 - */ -public class RIPEMD128Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 16; - - private int H0, H1, H2, H3; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public RIPEMD128Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public RIPEMD128Digest(RIPEMD128Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(RIPEMD128Digest t) - { - super.copyIn(t); - - H0 = t.H0; - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "RIPEMD128"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H0, out, outOff); - unpackWord(H1, out, outOff + 4); - unpackWord(H2, out, outOff + 8); - unpackWord(H3, out, outOff + 12); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H0 = 0x67452301; - H1 = 0xefcdab89; - H2 = 0x98badcfe; - H3 = 0x10325476; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - /* - * rotate int x left n bits. - */ - private int RL( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * f1,f2,f3,f4 are the basic RIPEMD128 functions. - */ - - /* - * F - */ - private int f1( - int x, - int y, - int z) - { - return x ^ y ^ z; - } - - /* - * G - */ - private int f2( - int x, - int y, - int z) - { - return (x & y) | (~x & z); - } - - /* - * H - */ - private int f3( - int x, - int y, - int z) - { - return (x | ~y) ^ z; - } - - /* - * I - */ - private int f4( - int x, - int y, - int z) - { - return (x & z) | (y & ~z); - } - - private int F1( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f1(b, c, d) + x, s); - } - - private int F2( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f2(b, c, d) + x + 0x5a827999, s); - } - - private int F3( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f3(b, c, d) + x + 0x6ed9eba1, s); - } - - private int F4( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f4(b, c, d) + x + 0x8f1bbcdc, s); - } - - private int FF1( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f1(b, c, d) + x, s); - } - - private int FF2( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f2(b, c, d) + x + 0x6d703ef3, s); - } - - private int FF3( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f3(b, c, d) + x + 0x5c4dd124, s); - } - - private int FF4( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f4(b, c, d) + x + 0x50a28be6, s); - } - - protected void processBlock() - { - int a, aa; - int b, bb; - int c, cc; - int d, dd; - - a = aa = H0; - b = bb = H1; - c = cc = H2; - d = dd = H3; - - // - // Round 1 - // - a = F1(a, b, c, d, X[ 0], 11); - d = F1(d, a, b, c, X[ 1], 14); - c = F1(c, d, a, b, X[ 2], 15); - b = F1(b, c, d, a, X[ 3], 12); - a = F1(a, b, c, d, X[ 4], 5); - d = F1(d, a, b, c, X[ 5], 8); - c = F1(c, d, a, b, X[ 6], 7); - b = F1(b, c, d, a, X[ 7], 9); - a = F1(a, b, c, d, X[ 8], 11); - d = F1(d, a, b, c, X[ 9], 13); - c = F1(c, d, a, b, X[10], 14); - b = F1(b, c, d, a, X[11], 15); - a = F1(a, b, c, d, X[12], 6); - d = F1(d, a, b, c, X[13], 7); - c = F1(c, d, a, b, X[14], 9); - b = F1(b, c, d, a, X[15], 8); - - // - // Round 2 - // - a = F2(a, b, c, d, X[ 7], 7); - d = F2(d, a, b, c, X[ 4], 6); - c = F2(c, d, a, b, X[13], 8); - b = F2(b, c, d, a, X[ 1], 13); - a = F2(a, b, c, d, X[10], 11); - d = F2(d, a, b, c, X[ 6], 9); - c = F2(c, d, a, b, X[15], 7); - b = F2(b, c, d, a, X[ 3], 15); - a = F2(a, b, c, d, X[12], 7); - d = F2(d, a, b, c, X[ 0], 12); - c = F2(c, d, a, b, X[ 9], 15); - b = F2(b, c, d, a, X[ 5], 9); - a = F2(a, b, c, d, X[ 2], 11); - d = F2(d, a, b, c, X[14], 7); - c = F2(c, d, a, b, X[11], 13); - b = F2(b, c, d, a, X[ 8], 12); - - // - // Round 3 - // - a = F3(a, b, c, d, X[ 3], 11); - d = F3(d, a, b, c, X[10], 13); - c = F3(c, d, a, b, X[14], 6); - b = F3(b, c, d, a, X[ 4], 7); - a = F3(a, b, c, d, X[ 9], 14); - d = F3(d, a, b, c, X[15], 9); - c = F3(c, d, a, b, X[ 8], 13); - b = F3(b, c, d, a, X[ 1], 15); - a = F3(a, b, c, d, X[ 2], 14); - d = F3(d, a, b, c, X[ 7], 8); - c = F3(c, d, a, b, X[ 0], 13); - b = F3(b, c, d, a, X[ 6], 6); - a = F3(a, b, c, d, X[13], 5); - d = F3(d, a, b, c, X[11], 12); - c = F3(c, d, a, b, X[ 5], 7); - b = F3(b, c, d, a, X[12], 5); - - // - // Round 4 - // - a = F4(a, b, c, d, X[ 1], 11); - d = F4(d, a, b, c, X[ 9], 12); - c = F4(c, d, a, b, X[11], 14); - b = F4(b, c, d, a, X[10], 15); - a = F4(a, b, c, d, X[ 0], 14); - d = F4(d, a, b, c, X[ 8], 15); - c = F4(c, d, a, b, X[12], 9); - b = F4(b, c, d, a, X[ 4], 8); - a = F4(a, b, c, d, X[13], 9); - d = F4(d, a, b, c, X[ 3], 14); - c = F4(c, d, a, b, X[ 7], 5); - b = F4(b, c, d, a, X[15], 6); - a = F4(a, b, c, d, X[14], 8); - d = F4(d, a, b, c, X[ 5], 6); - c = F4(c, d, a, b, X[ 6], 5); - b = F4(b, c, d, a, X[ 2], 12); - - // - // Parallel round 1 - // - aa = FF4(aa, bb, cc, dd, X[ 5], 8); - dd = FF4(dd, aa, bb, cc, X[14], 9); - cc = FF4(cc, dd, aa, bb, X[ 7], 9); - bb = FF4(bb, cc, dd, aa, X[ 0], 11); - aa = FF4(aa, bb, cc, dd, X[ 9], 13); - dd = FF4(dd, aa, bb, cc, X[ 2], 15); - cc = FF4(cc, dd, aa, bb, X[11], 15); - bb = FF4(bb, cc, dd, aa, X[ 4], 5); - aa = FF4(aa, bb, cc, dd, X[13], 7); - dd = FF4(dd, aa, bb, cc, X[ 6], 7); - cc = FF4(cc, dd, aa, bb, X[15], 8); - bb = FF4(bb, cc, dd, aa, X[ 8], 11); - aa = FF4(aa, bb, cc, dd, X[ 1], 14); - dd = FF4(dd, aa, bb, cc, X[10], 14); - cc = FF4(cc, dd, aa, bb, X[ 3], 12); - bb = FF4(bb, cc, dd, aa, X[12], 6); - - // - // Parallel round 2 - // - aa = FF3(aa, bb, cc, dd, X[ 6], 9); - dd = FF3(dd, aa, bb, cc, X[11], 13); - cc = FF3(cc, dd, aa, bb, X[ 3], 15); - bb = FF3(bb, cc, dd, aa, X[ 7], 7); - aa = FF3(aa, bb, cc, dd, X[ 0], 12); - dd = FF3(dd, aa, bb, cc, X[13], 8); - cc = FF3(cc, dd, aa, bb, X[ 5], 9); - bb = FF3(bb, cc, dd, aa, X[10], 11); - aa = FF3(aa, bb, cc, dd, X[14], 7); - dd = FF3(dd, aa, bb, cc, X[15], 7); - cc = FF3(cc, dd, aa, bb, X[ 8], 12); - bb = FF3(bb, cc, dd, aa, X[12], 7); - aa = FF3(aa, bb, cc, dd, X[ 4], 6); - dd = FF3(dd, aa, bb, cc, X[ 9], 15); - cc = FF3(cc, dd, aa, bb, X[ 1], 13); - bb = FF3(bb, cc, dd, aa, X[ 2], 11); - - // - // Parallel round 3 - // - aa = FF2(aa, bb, cc, dd, X[15], 9); - dd = FF2(dd, aa, bb, cc, X[ 5], 7); - cc = FF2(cc, dd, aa, bb, X[ 1], 15); - bb = FF2(bb, cc, dd, aa, X[ 3], 11); - aa = FF2(aa, bb, cc, dd, X[ 7], 8); - dd = FF2(dd, aa, bb, cc, X[14], 6); - cc = FF2(cc, dd, aa, bb, X[ 6], 6); - bb = FF2(bb, cc, dd, aa, X[ 9], 14); - aa = FF2(aa, bb, cc, dd, X[11], 12); - dd = FF2(dd, aa, bb, cc, X[ 8], 13); - cc = FF2(cc, dd, aa, bb, X[12], 5); - bb = FF2(bb, cc, dd, aa, X[ 2], 14); - aa = FF2(aa, bb, cc, dd, X[10], 13); - dd = FF2(dd, aa, bb, cc, X[ 0], 13); - cc = FF2(cc, dd, aa, bb, X[ 4], 7); - bb = FF2(bb, cc, dd, aa, X[13], 5); - - // - // Parallel round 4 - // - aa = FF1(aa, bb, cc, dd, X[ 8], 15); - dd = FF1(dd, aa, bb, cc, X[ 6], 5); - cc = FF1(cc, dd, aa, bb, X[ 4], 8); - bb = FF1(bb, cc, dd, aa, X[ 1], 11); - aa = FF1(aa, bb, cc, dd, X[ 3], 14); - dd = FF1(dd, aa, bb, cc, X[11], 14); - cc = FF1(cc, dd, aa, bb, X[15], 6); - bb = FF1(bb, cc, dd, aa, X[ 0], 14); - aa = FF1(aa, bb, cc, dd, X[ 5], 6); - dd = FF1(dd, aa, bb, cc, X[12], 9); - cc = FF1(cc, dd, aa, bb, X[ 2], 12); - bb = FF1(bb, cc, dd, aa, X[13], 9); - aa = FF1(aa, bb, cc, dd, X[ 9], 12); - dd = FF1(dd, aa, bb, cc, X[ 7], 5); - cc = FF1(cc, dd, aa, bb, X[10], 15); - bb = FF1(bb, cc, dd, aa, X[14], 8); - - dd += c + H1; // final result for H0 - - // - // combine the results - // - H1 = H2 + d + aa; - H2 = H3 + a + bb; - H3 = H0 + b + cc; - H0 = dd; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new RIPEMD128Digest(this); - } - - public void reset(Memoable other) - { - RIPEMD128Digest d = (RIPEMD128Digest)other; - - copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD160Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD160Digest.java deleted file mode 100644 index c59ba7f7c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD160Digest.java +++ /dev/null @@ -1,443 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of RIPEMD see, - * http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html - */ -public class RIPEMD160Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 20; - - private int H0, H1, H2, H3, H4; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public RIPEMD160Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public RIPEMD160Digest(RIPEMD160Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(RIPEMD160Digest t) - { - super.copyIn(t); - - H0 = t.H0; - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "RIPEMD160"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H0, out, outOff); - unpackWord(H1, out, outOff + 4); - unpackWord(H2, out, outOff + 8); - unpackWord(H3, out, outOff + 12); - unpackWord(H4, out, outOff + 16); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H0 = 0x67452301; - H1 = 0xefcdab89; - H2 = 0x98badcfe; - H3 = 0x10325476; - H4 = 0xc3d2e1f0; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - /* - * rotate int x left n bits. - */ - private int RL( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * f1,f2,f3,f4,f5 are the basic RIPEMD160 functions. - */ - - /* - * rounds 0-15 - */ - private int f1( - int x, - int y, - int z) - { - return x ^ y ^ z; - } - - /* - * rounds 16-31 - */ - private int f2( - int x, - int y, - int z) - { - return (x & y) | (~x & z); - } - - /* - * rounds 32-47 - */ - private int f3( - int x, - int y, - int z) - { - return (x | ~y) ^ z; - } - - /* - * rounds 48-63 - */ - private int f4( - int x, - int y, - int z) - { - return (x & z) | (y & ~z); - } - - /* - * rounds 64-79 - */ - private int f5( - int x, - int y, - int z) - { - return x ^ (y | ~z); - } - - protected void processBlock() - { - int a, aa; - int b, bb; - int c, cc; - int d, dd; - int e, ee; - - a = aa = H0; - b = bb = H1; - c = cc = H2; - d = dd = H3; - e = ee = H4; - - // - // Rounds 1 - 16 - // - // left - a = RL(a + f1(b,c,d) + X[ 0], 11) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[ 1], 14) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[ 2], 15) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[ 3], 12) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[ 4], 5) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[ 5], 8) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[ 6], 7) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[ 7], 9) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[ 8], 11) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[ 9], 13) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[10], 14) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[11], 15) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[12], 6) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[13], 7) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[14], 9) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[15], 8) + e; c = RL(c, 10); - - // right - aa = RL(aa + f5(bb,cc,dd) + X[ 5] + 0x50a28be6, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[14] + 0x50a28be6, 9) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 7] + 0x50a28be6, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[ 0] + 0x50a28be6, 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 9] + 0x50a28be6, 13) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[ 2] + 0x50a28be6, 15) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[11] + 0x50a28be6, 15) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 4] + 0x50a28be6, 5) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[13] + 0x50a28be6, 7) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 6] + 0x50a28be6, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[15] + 0x50a28be6, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[ 8] + 0x50a28be6, 11) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 1] + 0x50a28be6, 14) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[10] + 0x50a28be6, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 3] + 0x50a28be6, 12) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[12] + 0x50a28be6, 6) + ee; cc = RL(cc, 10); - - // - // Rounds 16-31 - // - // left - e = RL(e + f2(a,b,c) + X[ 7] + 0x5a827999, 7) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[ 4] + 0x5a827999, 6) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[13] + 0x5a827999, 8) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[ 1] + 0x5a827999, 13) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[10] + 0x5a827999, 11) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 6] + 0x5a827999, 9) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[15] + 0x5a827999, 7) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[ 3] + 0x5a827999, 15) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[12] + 0x5a827999, 7) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[ 0] + 0x5a827999, 12) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 9] + 0x5a827999, 15) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[ 5] + 0x5a827999, 9) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[ 2] + 0x5a827999, 11) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[14] + 0x5a827999, 7) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[11] + 0x5a827999, 13) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 8] + 0x5a827999, 12) + d; b = RL(b, 10); - - // right - ee = RL(ee + f4(aa,bb,cc) + X[ 6] + 0x5c4dd124, 9) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[11] + 0x5c4dd124, 13) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[ 3] + 0x5c4dd124, 15) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[ 7] + 0x5c4dd124, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[ 0] + 0x5c4dd124, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[13] + 0x5c4dd124, 8) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[ 5] + 0x5c4dd124, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[10] + 0x5c4dd124, 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[14] + 0x5c4dd124, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[15] + 0x5c4dd124, 7) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[ 8] + 0x5c4dd124, 12) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[12] + 0x5c4dd124, 7) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[ 4] + 0x5c4dd124, 6) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[ 9] + 0x5c4dd124, 15) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[ 1] + 0x5c4dd124, 13) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[ 2] + 0x5c4dd124, 11) + dd; bb = RL(bb, 10); - - // - // Rounds 32-47 - // - // left - d = RL(d + f3(e,a,b) + X[ 3] + 0x6ed9eba1, 11) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[10] + 0x6ed9eba1, 13) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[14] + 0x6ed9eba1, 6) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[ 4] + 0x6ed9eba1, 7) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 9] + 0x6ed9eba1, 14) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[15] + 0x6ed9eba1, 9) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[ 8] + 0x6ed9eba1, 13) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[ 1] + 0x6ed9eba1, 15) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[ 2] + 0x6ed9eba1, 14) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 7] + 0x6ed9eba1, 8) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[ 0] + 0x6ed9eba1, 13) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[ 6] + 0x6ed9eba1, 6) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[13] + 0x6ed9eba1, 5) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[11] + 0x6ed9eba1, 12) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 5] + 0x6ed9eba1, 7) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[12] + 0x6ed9eba1, 5) + c; a = RL(a, 10); - - // right - dd = RL(dd + f3(ee,aa,bb) + X[15] + 0x6d703ef3, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 5] + 0x6d703ef3, 7) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[ 1] + 0x6d703ef3, 15) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[ 3] + 0x6d703ef3, 11) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 7] + 0x6d703ef3, 8) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[14] + 0x6d703ef3, 6) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 6] + 0x6d703ef3, 6) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[ 9] + 0x6d703ef3, 14) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[11] + 0x6d703ef3, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 8] + 0x6d703ef3, 13) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[12] + 0x6d703ef3, 5) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 2] + 0x6d703ef3, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[10] + 0x6d703ef3, 13) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[ 0] + 0x6d703ef3, 13) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 4] + 0x6d703ef3, 7) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[13] + 0x6d703ef3, 5) + cc; aa = RL(aa, 10); - - // - // Rounds 48-63 - // - // left - c = RL(c + f4(d,e,a) + X[ 1] + 0x8f1bbcdc, 11) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[ 9] + 0x8f1bbcdc, 12) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[11] + 0x8f1bbcdc, 14) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[10] + 0x8f1bbcdc, 15) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 0] + 0x8f1bbcdc, 14) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 8] + 0x8f1bbcdc, 15) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[12] + 0x8f1bbcdc, 9) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[ 4] + 0x8f1bbcdc, 8) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[13] + 0x8f1bbcdc, 9) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 3] + 0x8f1bbcdc, 14) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 7] + 0x8f1bbcdc, 5) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[15] + 0x8f1bbcdc, 6) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[14] + 0x8f1bbcdc, 8) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[ 5] + 0x8f1bbcdc, 6) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 6] + 0x8f1bbcdc, 5) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 2] + 0x8f1bbcdc, 12) + b; e = RL(e, 10); - - // right - cc = RL(cc + f2(dd,ee,aa) + X[ 8] + 0x7a6d76e9, 15) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[ 6] + 0x7a6d76e9, 5) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 4] + 0x7a6d76e9, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 1] + 0x7a6d76e9, 11) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[ 3] + 0x7a6d76e9, 14) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[11] + 0x7a6d76e9, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[15] + 0x7a6d76e9, 6) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 0] + 0x7a6d76e9, 14) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 5] + 0x7a6d76e9, 6) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[12] + 0x7a6d76e9, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[ 2] + 0x7a6d76e9, 12) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[13] + 0x7a6d76e9, 9) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 9] + 0x7a6d76e9, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 7] + 0x7a6d76e9, 5) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[10] + 0x7a6d76e9, 15) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[14] + 0x7a6d76e9, 8) + bb; ee = RL(ee, 10); - - // - // Rounds 64-79 - // - // left - b = RL(b + f5(c,d,e) + X[ 4] + 0xa953fd4e, 9) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 0] + 0xa953fd4e, 15) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[ 5] + 0xa953fd4e, 5) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[ 9] + 0xa953fd4e, 11) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[ 7] + 0xa953fd4e, 6) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[12] + 0xa953fd4e, 8) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 2] + 0xa953fd4e, 13) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[10] + 0xa953fd4e, 12) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[14] + 0xa953fd4e, 5) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[ 1] + 0xa953fd4e, 12) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[ 3] + 0xa953fd4e, 13) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 8] + 0xa953fd4e, 14) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[11] + 0xa953fd4e, 11) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[ 6] + 0xa953fd4e, 8) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[15] + 0xa953fd4e, 5) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[13] + 0xa953fd4e, 6) + a; d = RL(d, 10); - - // right - bb = RL(bb + f1(cc,dd,ee) + X[12], 8) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[15], 5) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[10], 12) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 4], 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 1], 12) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[ 5], 5) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[ 8], 14) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[ 7], 6) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 6], 8) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 2], 13) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[13], 6) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[14], 5) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[ 0], 15) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 3], 13) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 9], 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[11], 11) + aa; dd = RL(dd, 10); - - dd += c + H1; - H1 = H2 + d + ee; - H2 = H3 + e + aa; - H3 = H4 + a + bb; - H4 = H0 + b + cc; - H0 = dd; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new RIPEMD160Digest(this); - } - - public void reset(Memoable other) - { - RIPEMD160Digest d = (RIPEMD160Digest)other; - - copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD256Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD256Digest.java deleted file mode 100644 index 45d2bca85..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD256Digest.java +++ /dev/null @@ -1,497 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of RIPEMD256. - *

    - * note: this algorithm offers the same level of security as RIPEMD128. - */ -public class RIPEMD256Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 32; - - private int H0, H1, H2, H3, H4, H5, H6, H7; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public RIPEMD256Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public RIPEMD256Digest(RIPEMD256Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(RIPEMD256Digest t) - { - super.copyIn(t); - - H0 = t.H0; - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - H6 = t.H6; - H7 = t.H7; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "RIPEMD256"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H0, out, outOff); - unpackWord(H1, out, outOff + 4); - unpackWord(H2, out, outOff + 8); - unpackWord(H3, out, outOff + 12); - unpackWord(H4, out, outOff + 16); - unpackWord(H5, out, outOff + 20); - unpackWord(H6, out, outOff + 24); - unpackWord(H7, out, outOff + 28); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H0 = 0x67452301; - H1 = 0xefcdab89; - H2 = 0x98badcfe; - H3 = 0x10325476; - H4 = 0x76543210; - H5 = 0xFEDCBA98; - H6 = 0x89ABCDEF; - H7 = 0x01234567; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - /* - * rotate int x left n bits. - */ - private int RL( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * f1,f2,f3,f4 are the basic RIPEMD128 functions. - */ - - /* - * F - */ - private int f1( - int x, - int y, - int z) - { - return x ^ y ^ z; - } - - /* - * G - */ - private int f2( - int x, - int y, - int z) - { - return (x & y) | (~x & z); - } - - /* - * H - */ - private int f3( - int x, - int y, - int z) - { - return (x | ~y) ^ z; - } - - /* - * I - */ - private int f4( - int x, - int y, - int z) - { - return (x & z) | (y & ~z); - } - - private int F1( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f1(b, c, d) + x, s); - } - - private int F2( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f2(b, c, d) + x + 0x5a827999, s); - } - - private int F3( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f3(b, c, d) + x + 0x6ed9eba1, s); - } - - private int F4( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f4(b, c, d) + x + 0x8f1bbcdc, s); - } - - private int FF1( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f1(b, c, d) + x, s); - } - - private int FF2( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f2(b, c, d) + x + 0x6d703ef3, s); - } - - private int FF3( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f3(b, c, d) + x + 0x5c4dd124, s); - } - - private int FF4( - int a, - int b, - int c, - int d, - int x, - int s) - { - return RL(a + f4(b, c, d) + x + 0x50a28be6, s); - } - - protected void processBlock() - { - int a, aa; - int b, bb; - int c, cc; - int d, dd; - int t; - - a = H0; - b = H1; - c = H2; - d = H3; - aa = H4; - bb = H5; - cc = H6; - dd = H7; - - // - // Round 1 - // - - a = F1(a, b, c, d, X[ 0], 11); - d = F1(d, a, b, c, X[ 1], 14); - c = F1(c, d, a, b, X[ 2], 15); - b = F1(b, c, d, a, X[ 3], 12); - a = F1(a, b, c, d, X[ 4], 5); - d = F1(d, a, b, c, X[ 5], 8); - c = F1(c, d, a, b, X[ 6], 7); - b = F1(b, c, d, a, X[ 7], 9); - a = F1(a, b, c, d, X[ 8], 11); - d = F1(d, a, b, c, X[ 9], 13); - c = F1(c, d, a, b, X[10], 14); - b = F1(b, c, d, a, X[11], 15); - a = F1(a, b, c, d, X[12], 6); - d = F1(d, a, b, c, X[13], 7); - c = F1(c, d, a, b, X[14], 9); - b = F1(b, c, d, a, X[15], 8); - - aa = FF4(aa, bb, cc, dd, X[ 5], 8); - dd = FF4(dd, aa, bb, cc, X[14], 9); - cc = FF4(cc, dd, aa, bb, X[ 7], 9); - bb = FF4(bb, cc, dd, aa, X[ 0], 11); - aa = FF4(aa, bb, cc, dd, X[ 9], 13); - dd = FF4(dd, aa, bb, cc, X[ 2], 15); - cc = FF4(cc, dd, aa, bb, X[11], 15); - bb = FF4(bb, cc, dd, aa, X[ 4], 5); - aa = FF4(aa, bb, cc, dd, X[13], 7); - dd = FF4(dd, aa, bb, cc, X[ 6], 7); - cc = FF4(cc, dd, aa, bb, X[15], 8); - bb = FF4(bb, cc, dd, aa, X[ 8], 11); - aa = FF4(aa, bb, cc, dd, X[ 1], 14); - dd = FF4(dd, aa, bb, cc, X[10], 14); - cc = FF4(cc, dd, aa, bb, X[ 3], 12); - bb = FF4(bb, cc, dd, aa, X[12], 6); - - t = a; a = aa; aa = t; - - // - // Round 2 - // - a = F2(a, b, c, d, X[ 7], 7); - d = F2(d, a, b, c, X[ 4], 6); - c = F2(c, d, a, b, X[13], 8); - b = F2(b, c, d, a, X[ 1], 13); - a = F2(a, b, c, d, X[10], 11); - d = F2(d, a, b, c, X[ 6], 9); - c = F2(c, d, a, b, X[15], 7); - b = F2(b, c, d, a, X[ 3], 15); - a = F2(a, b, c, d, X[12], 7); - d = F2(d, a, b, c, X[ 0], 12); - c = F2(c, d, a, b, X[ 9], 15); - b = F2(b, c, d, a, X[ 5], 9); - a = F2(a, b, c, d, X[ 2], 11); - d = F2(d, a, b, c, X[14], 7); - c = F2(c, d, a, b, X[11], 13); - b = F2(b, c, d, a, X[ 8], 12); - - aa = FF3(aa, bb, cc, dd, X[ 6], 9); - dd = FF3(dd, aa, bb, cc, X[ 11], 13); - cc = FF3(cc, dd, aa, bb, X[3], 15); - bb = FF3(bb, cc, dd, aa, X[ 7], 7); - aa = FF3(aa, bb, cc, dd, X[0], 12); - dd = FF3(dd, aa, bb, cc, X[13], 8); - cc = FF3(cc, dd, aa, bb, X[5], 9); - bb = FF3(bb, cc, dd, aa, X[10], 11); - aa = FF3(aa, bb, cc, dd, X[14], 7); - dd = FF3(dd, aa, bb, cc, X[15], 7); - cc = FF3(cc, dd, aa, bb, X[ 8], 12); - bb = FF3(bb, cc, dd, aa, X[12], 7); - aa = FF3(aa, bb, cc, dd, X[ 4], 6); - dd = FF3(dd, aa, bb, cc, X[ 9], 15); - cc = FF3(cc, dd, aa, bb, X[ 1], 13); - bb = FF3(bb, cc, dd, aa, X[ 2], 11); - - t = b; b = bb; bb = t; - - // - // Round 3 - // - a = F3(a, b, c, d, X[ 3], 11); - d = F3(d, a, b, c, X[10], 13); - c = F3(c, d, a, b, X[14], 6); - b = F3(b, c, d, a, X[ 4], 7); - a = F3(a, b, c, d, X[ 9], 14); - d = F3(d, a, b, c, X[15], 9); - c = F3(c, d, a, b, X[ 8], 13); - b = F3(b, c, d, a, X[ 1], 15); - a = F3(a, b, c, d, X[ 2], 14); - d = F3(d, a, b, c, X[ 7], 8); - c = F3(c, d, a, b, X[ 0], 13); - b = F3(b, c, d, a, X[ 6], 6); - a = F3(a, b, c, d, X[13], 5); - d = F3(d, a, b, c, X[11], 12); - c = F3(c, d, a, b, X[ 5], 7); - b = F3(b, c, d, a, X[12], 5); - - aa = FF2(aa, bb, cc, dd, X[ 15], 9); - dd = FF2(dd, aa, bb, cc, X[5], 7); - cc = FF2(cc, dd, aa, bb, X[1], 15); - bb = FF2(bb, cc, dd, aa, X[ 3], 11); - aa = FF2(aa, bb, cc, dd, X[ 7], 8); - dd = FF2(dd, aa, bb, cc, X[14], 6); - cc = FF2(cc, dd, aa, bb, X[ 6], 6); - bb = FF2(bb, cc, dd, aa, X[ 9], 14); - aa = FF2(aa, bb, cc, dd, X[11], 12); - dd = FF2(dd, aa, bb, cc, X[ 8], 13); - cc = FF2(cc, dd, aa, bb, X[12], 5); - bb = FF2(bb, cc, dd, aa, X[ 2], 14); - aa = FF2(aa, bb, cc, dd, X[10], 13); - dd = FF2(dd, aa, bb, cc, X[ 0], 13); - cc = FF2(cc, dd, aa, bb, X[ 4], 7); - bb = FF2(bb, cc, dd, aa, X[13], 5); - - t = c; c = cc; cc = t; - - // - // Round 4 - // - a = F4(a, b, c, d, X[ 1], 11); - d = F4(d, a, b, c, X[ 9], 12); - c = F4(c, d, a, b, X[11], 14); - b = F4(b, c, d, a, X[10], 15); - a = F4(a, b, c, d, X[ 0], 14); - d = F4(d, a, b, c, X[ 8], 15); - c = F4(c, d, a, b, X[12], 9); - b = F4(b, c, d, a, X[ 4], 8); - a = F4(a, b, c, d, X[13], 9); - d = F4(d, a, b, c, X[ 3], 14); - c = F4(c, d, a, b, X[ 7], 5); - b = F4(b, c, d, a, X[15], 6); - a = F4(a, b, c, d, X[14], 8); - d = F4(d, a, b, c, X[ 5], 6); - c = F4(c, d, a, b, X[ 6], 5); - b = F4(b, c, d, a, X[ 2], 12); - - aa = FF1(aa, bb, cc, dd, X[ 8], 15); - dd = FF1(dd, aa, bb, cc, X[ 6], 5); - cc = FF1(cc, dd, aa, bb, X[ 4], 8); - bb = FF1(bb, cc, dd, aa, X[ 1], 11); - aa = FF1(aa, bb, cc, dd, X[ 3], 14); - dd = FF1(dd, aa, bb, cc, X[11], 14); - cc = FF1(cc, dd, aa, bb, X[15], 6); - bb = FF1(bb, cc, dd, aa, X[ 0], 14); - aa = FF1(aa, bb, cc, dd, X[ 5], 6); - dd = FF1(dd, aa, bb, cc, X[12], 9); - cc = FF1(cc, dd, aa, bb, X[ 2], 12); - bb = FF1(bb, cc, dd, aa, X[13], 9); - aa = FF1(aa, bb, cc, dd, X[ 9], 12); - dd = FF1(dd, aa, bb, cc, X[ 7], 5); - cc = FF1(cc, dd, aa, bb, X[10], 15); - bb = FF1(bb, cc, dd, aa, X[14], 8); - - t = d; d = dd; dd = t; - - H0 += a; - H1 += b; - H2 += c; - H3 += d; - H4 += aa; - H5 += bb; - H6 += cc; - H7 += dd; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new RIPEMD256Digest(this); - } - - public void reset(Memoable other) - { - RIPEMD256Digest d = (RIPEMD256Digest)other; - - copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD320Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD320Digest.java deleted file mode 100644 index e3d7286c7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/RIPEMD320Digest.java +++ /dev/null @@ -1,481 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.util.Memoable; - -/** - * implementation of RIPEMD 320. - *

    - * Note: this implementation offers the same level of security - * as RIPEMD 160. - */ -public class RIPEMD320Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 40; - - private int H0, H1, H2, H3, H4, H5, H6, H7, H8, H9; // IV's - - private int[] X = new int[16]; - private int xOff; - - /** - * Standard constructor - */ - public RIPEMD320Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public RIPEMD320Digest(RIPEMD320Digest t) - { - super(t); - - doCopy(t); - } - - private void doCopy(RIPEMD320Digest t) - { - super.copyIn(t); - H0 = t.H0; - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - H6 = t.H6; - H7 = t.H7; - H8 = t.H8; - H9 = t.H9; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "RIPEMD320"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - X[xOff++] = (in[inOff] & 0xff) | ((in[inOff + 1] & 0xff) << 8) - | ((in[inOff + 2] & 0xff) << 16) | ((in[inOff + 3] & 0xff) << 24); - - if (xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength & 0xffffffff); - X[15] = (int)(bitLength >>> 32); - } - - private void unpackWord( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)word; - out[outOff + 1] = (byte)(word >>> 8); - out[outOff + 2] = (byte)(word >>> 16); - out[outOff + 3] = (byte)(word >>> 24); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(H0, out, outOff); - unpackWord(H1, out, outOff + 4); - unpackWord(H2, out, outOff + 8); - unpackWord(H3, out, outOff + 12); - unpackWord(H4, out, outOff + 16); - unpackWord(H5, out, outOff + 20); - unpackWord(H6, out, outOff + 24); - unpackWord(H7, out, outOff + 28); - unpackWord(H8, out, outOff + 32); - unpackWord(H9, out, outOff + 36); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables to the IV values. - */ - public void reset() - { - super.reset(); - - H0 = 0x67452301; - H1 = 0xefcdab89; - H2 = 0x98badcfe; - H3 = 0x10325476; - H4 = 0xc3d2e1f0; - H5 = 0x76543210; - H6 = 0xFEDCBA98; - H7 = 0x89ABCDEF; - H8 = 0x01234567; - H9 = 0x3C2D1E0F; - - xOff = 0; - - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - /* - * rotate int x left n bits. - */ - private int RL( - int x, - int n) - { - return (x << n) | (x >>> (32 - n)); - } - - /* - * f1,f2,f3,f4,f5 are the basic RIPEMD160 functions. - */ - - /* - * rounds 0-15 - */ - private int f1( - int x, - int y, - int z) - { - return x ^ y ^ z; - } - - /* - * rounds 16-31 - */ - private int f2( - int x, - int y, - int z) - { - return (x & y) | (~x & z); - } - - /* - * rounds 32-47 - */ - private int f3( - int x, - int y, - int z) - { - return (x | ~y) ^ z; - } - - /* - * rounds 48-63 - */ - private int f4( - int x, - int y, - int z) - { - return (x & z) | (y & ~z); - } - - /* - * rounds 64-79 - */ - private int f5( - int x, - int y, - int z) - { - return x ^ (y | ~z); - } - - protected void processBlock() - { - int a, aa; - int b, bb; - int c, cc; - int d, dd; - int e, ee; - int t; - - a = H0; - b = H1; - c = H2; - d = H3; - e = H4; - aa = H5; - bb = H6; - cc = H7; - dd = H8; - ee = H9; - - // - // Rounds 1 - 16 - // - // left - a = RL(a + f1(b,c,d) + X[ 0], 11) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[ 1], 14) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[ 2], 15) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[ 3], 12) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[ 4], 5) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[ 5], 8) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[ 6], 7) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[ 7], 9) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[ 8], 11) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[ 9], 13) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[10], 14) + e; c = RL(c, 10); - e = RL(e + f1(a,b,c) + X[11], 15) + d; b = RL(b, 10); - d = RL(d + f1(e,a,b) + X[12], 6) + c; a = RL(a, 10); - c = RL(c + f1(d,e,a) + X[13], 7) + b; e = RL(e, 10); - b = RL(b + f1(c,d,e) + X[14], 9) + a; d = RL(d, 10); - a = RL(a + f1(b,c,d) + X[15], 8) + e; c = RL(c, 10); - - // right - aa = RL(aa + f5(bb,cc,dd) + X[ 5] + 0x50a28be6, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[14] + 0x50a28be6, 9) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 7] + 0x50a28be6, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[ 0] + 0x50a28be6, 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 9] + 0x50a28be6, 13) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[ 2] + 0x50a28be6, 15) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[11] + 0x50a28be6, 15) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 4] + 0x50a28be6, 5) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[13] + 0x50a28be6, 7) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 6] + 0x50a28be6, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[15] + 0x50a28be6, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f5(aa,bb,cc) + X[ 8] + 0x50a28be6, 11) + dd; bb = RL(bb, 10); - dd = RL(dd + f5(ee,aa,bb) + X[ 1] + 0x50a28be6, 14) + cc; aa = RL(aa, 10); - cc = RL(cc + f5(dd,ee,aa) + X[10] + 0x50a28be6, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f5(cc,dd,ee) + X[ 3] + 0x50a28be6, 12) + aa; dd = RL(dd, 10); - aa = RL(aa + f5(bb,cc,dd) + X[12] + 0x50a28be6, 6) + ee; cc = RL(cc, 10); - - t = a; a = aa; aa = t; - - // - // Rounds 16-31 - // - // left - e = RL(e + f2(a,b,c) + X[ 7] + 0x5a827999, 7) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[ 4] + 0x5a827999, 6) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[13] + 0x5a827999, 8) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[ 1] + 0x5a827999, 13) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[10] + 0x5a827999, 11) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 6] + 0x5a827999, 9) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[15] + 0x5a827999, 7) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[ 3] + 0x5a827999, 15) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[12] + 0x5a827999, 7) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[ 0] + 0x5a827999, 12) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 9] + 0x5a827999, 15) + d; b = RL(b, 10); - d = RL(d + f2(e,a,b) + X[ 5] + 0x5a827999, 9) + c; a = RL(a, 10); - c = RL(c + f2(d,e,a) + X[ 2] + 0x5a827999, 11) + b; e = RL(e, 10); - b = RL(b + f2(c,d,e) + X[14] + 0x5a827999, 7) + a; d = RL(d, 10); - a = RL(a + f2(b,c,d) + X[11] + 0x5a827999, 13) + e; c = RL(c, 10); - e = RL(e + f2(a,b,c) + X[ 8] + 0x5a827999, 12) + d; b = RL(b, 10); - - // right - ee = RL(ee + f4(aa,bb,cc) + X[ 6] + 0x5c4dd124, 9) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[11] + 0x5c4dd124, 13) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[ 3] + 0x5c4dd124, 15) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[ 7] + 0x5c4dd124, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[ 0] + 0x5c4dd124, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[13] + 0x5c4dd124, 8) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[ 5] + 0x5c4dd124, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[10] + 0x5c4dd124, 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[14] + 0x5c4dd124, 7) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[15] + 0x5c4dd124, 7) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[ 8] + 0x5c4dd124, 12) + dd; bb = RL(bb, 10); - dd = RL(dd + f4(ee,aa,bb) + X[12] + 0x5c4dd124, 7) + cc; aa = RL(aa, 10); - cc = RL(cc + f4(dd,ee,aa) + X[ 4] + 0x5c4dd124, 6) + bb; ee = RL(ee, 10); - bb = RL(bb + f4(cc,dd,ee) + X[ 9] + 0x5c4dd124, 15) + aa; dd = RL(dd, 10); - aa = RL(aa + f4(bb,cc,dd) + X[ 1] + 0x5c4dd124, 13) + ee; cc = RL(cc, 10); - ee = RL(ee + f4(aa,bb,cc) + X[ 2] + 0x5c4dd124, 11) + dd; bb = RL(bb, 10); - - t = b; b = bb; bb = t; - - // - // Rounds 32-47 - // - // left - d = RL(d + f3(e,a,b) + X[ 3] + 0x6ed9eba1, 11) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[10] + 0x6ed9eba1, 13) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[14] + 0x6ed9eba1, 6) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[ 4] + 0x6ed9eba1, 7) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 9] + 0x6ed9eba1, 14) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[15] + 0x6ed9eba1, 9) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[ 8] + 0x6ed9eba1, 13) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[ 1] + 0x6ed9eba1, 15) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[ 2] + 0x6ed9eba1, 14) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 7] + 0x6ed9eba1, 8) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[ 0] + 0x6ed9eba1, 13) + c; a = RL(a, 10); - c = RL(c + f3(d,e,a) + X[ 6] + 0x6ed9eba1, 6) + b; e = RL(e, 10); - b = RL(b + f3(c,d,e) + X[13] + 0x6ed9eba1, 5) + a; d = RL(d, 10); - a = RL(a + f3(b,c,d) + X[11] + 0x6ed9eba1, 12) + e; c = RL(c, 10); - e = RL(e + f3(a,b,c) + X[ 5] + 0x6ed9eba1, 7) + d; b = RL(b, 10); - d = RL(d + f3(e,a,b) + X[12] + 0x6ed9eba1, 5) + c; a = RL(a, 10); - - // right - dd = RL(dd + f3(ee,aa,bb) + X[15] + 0x6d703ef3, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 5] + 0x6d703ef3, 7) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[ 1] + 0x6d703ef3, 15) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[ 3] + 0x6d703ef3, 11) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 7] + 0x6d703ef3, 8) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[14] + 0x6d703ef3, 6) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 6] + 0x6d703ef3, 6) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[ 9] + 0x6d703ef3, 14) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[11] + 0x6d703ef3, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 8] + 0x6d703ef3, 13) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[12] + 0x6d703ef3, 5) + cc; aa = RL(aa, 10); - cc = RL(cc + f3(dd,ee,aa) + X[ 2] + 0x6d703ef3, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f3(cc,dd,ee) + X[10] + 0x6d703ef3, 13) + aa; dd = RL(dd, 10); - aa = RL(aa + f3(bb,cc,dd) + X[ 0] + 0x6d703ef3, 13) + ee; cc = RL(cc, 10); - ee = RL(ee + f3(aa,bb,cc) + X[ 4] + 0x6d703ef3, 7) + dd; bb = RL(bb, 10); - dd = RL(dd + f3(ee,aa,bb) + X[13] + 0x6d703ef3, 5) + cc; aa = RL(aa, 10); - - t = c; c = cc; cc = t; - - // - // Rounds 48-63 - // - // left - c = RL(c + f4(d,e,a) + X[ 1] + 0x8f1bbcdc, 11) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[ 9] + 0x8f1bbcdc, 12) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[11] + 0x8f1bbcdc, 14) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[10] + 0x8f1bbcdc, 15) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 0] + 0x8f1bbcdc, 14) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 8] + 0x8f1bbcdc, 15) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[12] + 0x8f1bbcdc, 9) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[ 4] + 0x8f1bbcdc, 8) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[13] + 0x8f1bbcdc, 9) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 3] + 0x8f1bbcdc, 14) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 7] + 0x8f1bbcdc, 5) + b; e = RL(e, 10); - b = RL(b + f4(c,d,e) + X[15] + 0x8f1bbcdc, 6) + a; d = RL(d, 10); - a = RL(a + f4(b,c,d) + X[14] + 0x8f1bbcdc, 8) + e; c = RL(c, 10); - e = RL(e + f4(a,b,c) + X[ 5] + 0x8f1bbcdc, 6) + d; b = RL(b, 10); - d = RL(d + f4(e,a,b) + X[ 6] + 0x8f1bbcdc, 5) + c; a = RL(a, 10); - c = RL(c + f4(d,e,a) + X[ 2] + 0x8f1bbcdc, 12) + b; e = RL(e, 10); - - // right - cc = RL(cc + f2(dd,ee,aa) + X[ 8] + 0x7a6d76e9, 15) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[ 6] + 0x7a6d76e9, 5) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 4] + 0x7a6d76e9, 8) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 1] + 0x7a6d76e9, 11) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[ 3] + 0x7a6d76e9, 14) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[11] + 0x7a6d76e9, 14) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[15] + 0x7a6d76e9, 6) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 0] + 0x7a6d76e9, 14) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 5] + 0x7a6d76e9, 6) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[12] + 0x7a6d76e9, 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[ 2] + 0x7a6d76e9, 12) + bb; ee = RL(ee, 10); - bb = RL(bb + f2(cc,dd,ee) + X[13] + 0x7a6d76e9, 9) + aa; dd = RL(dd, 10); - aa = RL(aa + f2(bb,cc,dd) + X[ 9] + 0x7a6d76e9, 12) + ee; cc = RL(cc, 10); - ee = RL(ee + f2(aa,bb,cc) + X[ 7] + 0x7a6d76e9, 5) + dd; bb = RL(bb, 10); - dd = RL(dd + f2(ee,aa,bb) + X[10] + 0x7a6d76e9, 15) + cc; aa = RL(aa, 10); - cc = RL(cc + f2(dd,ee,aa) + X[14] + 0x7a6d76e9, 8) + bb; ee = RL(ee, 10); - - t = d; d = dd; dd = t; - - // - // Rounds 64-79 - // - // left - b = RL(b + f5(c,d,e) + X[ 4] + 0xa953fd4e, 9) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 0] + 0xa953fd4e, 15) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[ 5] + 0xa953fd4e, 5) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[ 9] + 0xa953fd4e, 11) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[ 7] + 0xa953fd4e, 6) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[12] + 0xa953fd4e, 8) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 2] + 0xa953fd4e, 13) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[10] + 0xa953fd4e, 12) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[14] + 0xa953fd4e, 5) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[ 1] + 0xa953fd4e, 12) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[ 3] + 0xa953fd4e, 13) + a; d = RL(d, 10); - a = RL(a + f5(b,c,d) + X[ 8] + 0xa953fd4e, 14) + e; c = RL(c, 10); - e = RL(e + f5(a,b,c) + X[11] + 0xa953fd4e, 11) + d; b = RL(b, 10); - d = RL(d + f5(e,a,b) + X[ 6] + 0xa953fd4e, 8) + c; a = RL(a, 10); - c = RL(c + f5(d,e,a) + X[15] + 0xa953fd4e, 5) + b; e = RL(e, 10); - b = RL(b + f5(c,d,e) + X[13] + 0xa953fd4e, 6) + a; d = RL(d, 10); - - // right - bb = RL(bb + f1(cc,dd,ee) + X[12], 8) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[15], 5) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[10], 12) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 4], 9) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 1], 12) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[ 5], 5) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[ 8], 14) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[ 7], 6) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 6], 8) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 2], 13) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[13], 6) + aa; dd = RL(dd, 10); - aa = RL(aa + f1(bb,cc,dd) + X[14], 5) + ee; cc = RL(cc, 10); - ee = RL(ee + f1(aa,bb,cc) + X[ 0], 15) + dd; bb = RL(bb, 10); - dd = RL(dd + f1(ee,aa,bb) + X[ 3], 13) + cc; aa = RL(aa, 10); - cc = RL(cc + f1(dd,ee,aa) + X[ 9], 11) + bb; ee = RL(ee, 10); - bb = RL(bb + f1(cc,dd,ee) + X[11], 11) + aa; dd = RL(dd, 10); - - // - // do (e, ee) swap as part of assignment. - // - - H0 += a; - H1 += b; - H2 += c; - H3 += d; - H4 += ee; - H5 += aa; - H6 += bb; - H7 += cc; - H8 += dd; - H9 += e; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new RIPEMD320Digest(this); - } - - public void reset(Memoable other) - { - RIPEMD320Digest d = (RIPEMD320Digest)other; - - doCopy(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA1Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA1Digest.java deleted file mode 100644 index cc63dcdfa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA1Digest.java +++ /dev/null @@ -1,309 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - -/** - * implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349. - * - * It is interesting to ponder why the, apart from the extra IV, the other difference here from MD5 - * is the "endianness" of the word processing! - */ -public class SHA1Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 20; - - private int H1, H2, H3, H4, H5; - - private int[] X = new int[80]; - private int xOff; - - /** - * Standard constructor - */ - public SHA1Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA1Digest(SHA1Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(SHA1Digest t) - { - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "SHA-1"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - // Note: Inlined for performance -// X[xOff] = Pack.bigEndianToInt(in, inOff); - int n = in[ inOff] << 24; - n |= (in[++inOff] & 0xff) << 16; - n |= (in[++inOff] & 0xff) << 8; - n |= (in[++inOff] & 0xff); - X[xOff] = n; - - if (++xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength >>> 32); - X[15] = (int)(bitLength & 0xffffffff); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - Pack.intToBigEndian(H1, out, outOff); - Pack.intToBigEndian(H2, out, outOff + 4); - Pack.intToBigEndian(H3, out, outOff + 8); - Pack.intToBigEndian(H4, out, outOff + 12); - Pack.intToBigEndian(H5, out, outOff + 16); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - H1 = 0x67452301; - H2 = 0xefcdab89; - H3 = 0x98badcfe; - H4 = 0x10325476; - H5 = 0xc3d2e1f0; - - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - // - // Additive constants - // - private static final int Y1 = 0x5a827999; - private static final int Y2 = 0x6ed9eba1; - private static final int Y3 = 0x8f1bbcdc; - private static final int Y4 = 0xca62c1d6; - - private int f( - int u, - int v, - int w) - { - return ((u & v) | ((~u) & w)); - } - - private int h( - int u, - int v, - int w) - { - return (u ^ v ^ w); - } - - private int g( - int u, - int v, - int w) - { - return ((u & v) | (u & w) | (v & w)); - } - - protected void processBlock() - { - // - // expand 16 word block into 80 word block. - // - for (int i = 16; i < 80; i++) - { - int t = X[i - 3] ^ X[i - 8] ^ X[i - 14] ^ X[i - 16]; - X[i] = t << 1 | t >>> 31; - } - - // - // set up working variables. - // - int A = H1; - int B = H2; - int C = H3; - int D = H4; - int E = H5; - - // - // round 1 - // - int idx = 0; - - for (int j = 0; j < 4; j++) - { - // E = rotateLeft(A, 5) + f(B, C, D) + E + X[idx++] + Y1 - // B = rotateLeft(B, 30) - E += (A << 5 | A >>> 27) + f(B, C, D) + X[idx++] + Y1; - B = B << 30 | B >>> 2; - - D += (E << 5 | E >>> 27) + f(A, B, C) + X[idx++] + Y1; - A = A << 30 | A >>> 2; - - C += (D << 5 | D >>> 27) + f(E, A, B) + X[idx++] + Y1; - E = E << 30 | E >>> 2; - - B += (C << 5 | C >>> 27) + f(D, E, A) + X[idx++] + Y1; - D = D << 30 | D >>> 2; - - A += (B << 5 | B >>> 27) + f(C, D, E) + X[idx++] + Y1; - C = C << 30 | C >>> 2; - } - - // - // round 2 - // - for (int j = 0; j < 4; j++) - { - // E = rotateLeft(A, 5) + h(B, C, D) + E + X[idx++] + Y2 - // B = rotateLeft(B, 30) - E += (A << 5 | A >>> 27) + h(B, C, D) + X[idx++] + Y2; - B = B << 30 | B >>> 2; - - D += (E << 5 | E >>> 27) + h(A, B, C) + X[idx++] + Y2; - A = A << 30 | A >>> 2; - - C += (D << 5 | D >>> 27) + h(E, A, B) + X[idx++] + Y2; - E = E << 30 | E >>> 2; - - B += (C << 5 | C >>> 27) + h(D, E, A) + X[idx++] + Y2; - D = D << 30 | D >>> 2; - - A += (B << 5 | B >>> 27) + h(C, D, E) + X[idx++] + Y2; - C = C << 30 | C >>> 2; - } - - // - // round 3 - // - for (int j = 0; j < 4; j++) - { - // E = rotateLeft(A, 5) + g(B, C, D) + E + X[idx++] + Y3 - // B = rotateLeft(B, 30) - E += (A << 5 | A >>> 27) + g(B, C, D) + X[idx++] + Y3; - B = B << 30 | B >>> 2; - - D += (E << 5 | E >>> 27) + g(A, B, C) + X[idx++] + Y3; - A = A << 30 | A >>> 2; - - C += (D << 5 | D >>> 27) + g(E, A, B) + X[idx++] + Y3; - E = E << 30 | E >>> 2; - - B += (C << 5 | C >>> 27) + g(D, E, A) + X[idx++] + Y3; - D = D << 30 | D >>> 2; - - A += (B << 5 | B >>> 27) + g(C, D, E) + X[idx++] + Y3; - C = C << 30 | C >>> 2; - } - - // - // round 4 - // - for (int j = 0; j <= 3; j++) - { - // E = rotateLeft(A, 5) + h(B, C, D) + E + X[idx++] + Y4 - // B = rotateLeft(B, 30) - E += (A << 5 | A >>> 27) + h(B, C, D) + X[idx++] + Y4; - B = B << 30 | B >>> 2; - - D += (E << 5 | E >>> 27) + h(A, B, C) + X[idx++] + Y4; - A = A << 30 | A >>> 2; - - C += (D << 5 | D >>> 27) + h(E, A, B) + X[idx++] + Y4; - E = E << 30 | E >>> 2; - - B += (C << 5 | C >>> 27) + h(D, E, A) + X[idx++] + Y4; - D = D << 30 | D >>> 2; - - A += (B << 5 | B >>> 27) + h(C, D, E) + X[idx++] + Y4; - C = C << 30 | C >>> 2; - } - - - H1 += A; - H2 += B; - H3 += C; - H4 += D; - H5 += E; - - // - // reset start of the buffer. - // - xOff = 0; - for (int i = 0; i < 16; i++) - { - X[i] = 0; - } - } - - public Memoable copy() - { - return new SHA1Digest(this); - } - - public void reset(Memoable other) - { - SHA1Digest d = (SHA1Digest)other; - - super.copyIn(d); - copyIn(d); - } -} - - - - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA224Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA224Digest.java deleted file mode 100644 index 4a0063b42..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA224Digest.java +++ /dev/null @@ -1,311 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - - -/** - * SHA-224 as described in RFC 3874 - *

    - *         block  word  digest
    - * SHA-1   512    32    160
    - * SHA-224 512    32    224
    - * SHA-256 512    32    256
    - * SHA-384 1024   64    384
    - * SHA-512 1024   64    512
    - * 
    - */ -public class SHA224Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 28; - - private int H1, H2, H3, H4, H5, H6, H7, H8; - - private int[] X = new int[64]; - private int xOff; - - /** - * Standard constructor - */ - public SHA224Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA224Digest(SHA224Digest t) - { - super(t); - - doCopy(t); - } - - private void doCopy(SHA224Digest t) - { - super.copyIn(t); - - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - H6 = t.H6; - H7 = t.H7; - H8 = t.H8; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "SHA-224"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - // Note: Inlined for performance -// X[xOff] = Pack.bigEndianToInt(in, inOff); - int n = in[ inOff] << 24; - n |= (in[++inOff] & 0xff) << 16; - n |= (in[++inOff] & 0xff) << 8; - n |= (in[++inOff] & 0xff); - X[xOff] = n; - - if (++xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength >>> 32); - X[15] = (int)(bitLength & 0xffffffff); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - Pack.intToBigEndian(H1, out, outOff); - Pack.intToBigEndian(H2, out, outOff + 4); - Pack.intToBigEndian(H3, out, outOff + 8); - Pack.intToBigEndian(H4, out, outOff + 12); - Pack.intToBigEndian(H5, out, outOff + 16); - Pack.intToBigEndian(H6, out, outOff + 20); - Pack.intToBigEndian(H7, out, outOff + 24); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - /* SHA-224 initial hash value - */ - - H1 = 0xc1059ed8; - H2 = 0x367cd507; - H3 = 0x3070dd17; - H4 = 0xf70e5939; - H5 = 0xffc00b31; - H6 = 0x68581511; - H7 = 0x64f98fa7; - H8 = 0xbefa4fa4; - - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - protected void processBlock() - { - // - // expand 16 word block into 64 word blocks. - // - for (int t = 16; t <= 63; t++) - { - X[t] = Theta1(X[t - 2]) + X[t - 7] + Theta0(X[t - 15]) + X[t - 16]; - } - - // - // set up working variables. - // - int a = H1; - int b = H2; - int c = H3; - int d = H4; - int e = H5; - int f = H6; - int g = H7; - int h = H8; - - - int t = 0; - for(int i = 0; i < 8; i ++) - { - // t = 8 * i - h += Sum1(e) + Ch(e, f, g) + K[t] + X[t]; - d += h; - h += Sum0(a) + Maj(a, b, c); - ++t; - - // t = 8 * i + 1 - g += Sum1(d) + Ch(d, e, f) + K[t] + X[t]; - c += g; - g += Sum0(h) + Maj(h, a, b); - ++t; - - // t = 8 * i + 2 - f += Sum1(c) + Ch(c, d, e) + K[t] + X[t]; - b += f; - f += Sum0(g) + Maj(g, h, a); - ++t; - - // t = 8 * i + 3 - e += Sum1(b) + Ch(b, c, d) + K[t] + X[t]; - a += e; - e += Sum0(f) + Maj(f, g, h); - ++t; - - // t = 8 * i + 4 - d += Sum1(a) + Ch(a, b, c) + K[t] + X[t]; - h += d; - d += Sum0(e) + Maj(e, f, g); - ++t; - - // t = 8 * i + 5 - c += Sum1(h) + Ch(h, a, b) + K[t] + X[t]; - g += c; - c += Sum0(d) + Maj(d, e, f); - ++t; - - // t = 8 * i + 6 - b += Sum1(g) + Ch(g, h, a) + K[t] + X[t]; - f += b; - b += Sum0(c) + Maj(c, d, e); - ++t; - - // t = 8 * i + 7 - a += Sum1(f) + Ch(f, g, h) + K[t] + X[t]; - e += a; - a += Sum0(b) + Maj(b, c, d); - ++t; - } - - H1 += a; - H2 += b; - H3 += c; - H4 += d; - H5 += e; - H6 += f; - H7 += g; - H8 += h; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i < 16; i++) - { - X[i] = 0; - } - } - - /* SHA-224 functions */ - private int Ch( - int x, - int y, - int z) - { - return ((x & y) ^ ((~x) & z)); - } - - private int Maj( - int x, - int y, - int z) - { - return ((x & y) ^ (x & z) ^ (y & z)); - } - - private int Sum0( - int x) - { - return ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^ ((x >>> 22) | (x << 10)); - } - - private int Sum1( - int x) - { - return ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^ ((x >>> 25) | (x << 7)); - } - - private int Theta0( - int x) - { - return ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3); - } - - private int Theta1( - int x) - { - return ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10); - } - - /* SHA-224 Constants - * (represent the first 32 bits of the fractional parts of the - * cube roots of the first sixty-four prime numbers) - */ - static final int K[] = { - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - }; - - public Memoable copy() - { - return new SHA224Digest(this); - } - - public void reset(Memoable other) - { - SHA224Digest d = (SHA224Digest)other; - - doCopy(d); - } -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA256Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA256Digest.java deleted file mode 100644 index f14c50ae6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA256Digest.java +++ /dev/null @@ -1,314 +0,0 @@ -package org.spongycastle.crypto.digests; - - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - - -/** - * FIPS 180-2 implementation of SHA-256. - * - *
    - *         block  word  digest
    - * SHA-1   512    32    160
    - * SHA-256 512    32    256
    - * SHA-384 1024   64    384
    - * SHA-512 1024   64    512
    - * 
    - */ -public class SHA256Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 32; - - private int H1, H2, H3, H4, H5, H6, H7, H8; - - private int[] X = new int[64]; - private int xOff; - - /** - * Standard constructor - */ - public SHA256Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA256Digest(SHA256Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(SHA256Digest t) - { - super.copyIn(t); - - H1 = t.H1; - H2 = t.H2; - H3 = t.H3; - H4 = t.H4; - H5 = t.H5; - H6 = t.H6; - H7 = t.H7; - H8 = t.H8; - - System.arraycopy(t.X, 0, X, 0, t.X.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "SHA-256"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - protected void processWord( - byte[] in, - int inOff) - { - // Note: Inlined for performance -// X[xOff] = Pack.bigEndianToInt(in, inOff); - int n = in[inOff] << 24; - n |= (in[++inOff] & 0xff) << 16; - n |= (in[++inOff] & 0xff) << 8; - n |= (in[++inOff] & 0xff); - X[xOff] = n; - - if (++xOff == 16) - { - processBlock(); - } - } - - protected void processLength( - long bitLength) - { - if (xOff > 14) - { - processBlock(); - } - - X[14] = (int)(bitLength >>> 32); - X[15] = (int)(bitLength & 0xffffffff); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - Pack.intToBigEndian(H1, out, outOff); - Pack.intToBigEndian(H2, out, outOff + 4); - Pack.intToBigEndian(H3, out, outOff + 8); - Pack.intToBigEndian(H4, out, outOff + 12); - Pack.intToBigEndian(H5, out, outOff + 16); - Pack.intToBigEndian(H6, out, outOff + 20); - Pack.intToBigEndian(H7, out, outOff + 24); - Pack.intToBigEndian(H8, out, outOff + 28); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - /* SHA-256 initial hash value - * The first 32 bits of the fractional parts of the square roots - * of the first eight prime numbers - */ - - H1 = 0x6a09e667; - H2 = 0xbb67ae85; - H3 = 0x3c6ef372; - H4 = 0xa54ff53a; - H5 = 0x510e527f; - H6 = 0x9b05688c; - H7 = 0x1f83d9ab; - H8 = 0x5be0cd19; - - xOff = 0; - for (int i = 0; i != X.length; i++) - { - X[i] = 0; - } - } - - protected void processBlock() - { - // - // expand 16 word block into 64 word blocks. - // - for (int t = 16; t <= 63; t++) - { - X[t] = Theta1(X[t - 2]) + X[t - 7] + Theta0(X[t - 15]) + X[t - 16]; - } - - // - // set up working variables. - // - int a = H1; - int b = H2; - int c = H3; - int d = H4; - int e = H5; - int f = H6; - int g = H7; - int h = H8; - - int t = 0; - for(int i = 0; i < 8; i ++) - { - // t = 8 * i - h += Sum1(e) + Ch(e, f, g) + K[t] + X[t]; - d += h; - h += Sum0(a) + Maj(a, b, c); - ++t; - - // t = 8 * i + 1 - g += Sum1(d) + Ch(d, e, f) + K[t] + X[t]; - c += g; - g += Sum0(h) + Maj(h, a, b); - ++t; - - // t = 8 * i + 2 - f += Sum1(c) + Ch(c, d, e) + K[t] + X[t]; - b += f; - f += Sum0(g) + Maj(g, h, a); - ++t; - - // t = 8 * i + 3 - e += Sum1(b) + Ch(b, c, d) + K[t] + X[t]; - a += e; - e += Sum0(f) + Maj(f, g, h); - ++t; - - // t = 8 * i + 4 - d += Sum1(a) + Ch(a, b, c) + K[t] + X[t]; - h += d; - d += Sum0(e) + Maj(e, f, g); - ++t; - - // t = 8 * i + 5 - c += Sum1(h) + Ch(h, a, b) + K[t] + X[t]; - g += c; - c += Sum0(d) + Maj(d, e, f); - ++t; - - // t = 8 * i + 6 - b += Sum1(g) + Ch(g, h, a) + K[t] + X[t]; - f += b; - b += Sum0(c) + Maj(c, d, e); - ++t; - - // t = 8 * i + 7 - a += Sum1(f) + Ch(f, g, h) + K[t] + X[t]; - e += a; - a += Sum0(b) + Maj(b, c, d); - ++t; - } - - H1 += a; - H2 += b; - H3 += c; - H4 += d; - H5 += e; - H6 += f; - H7 += g; - H8 += h; - - // - // reset the offset and clean out the word buffer. - // - xOff = 0; - for (int i = 0; i < 16; i++) - { - X[i] = 0; - } - } - - /* SHA-256 functions */ - private int Ch( - int x, - int y, - int z) - { - return (x & y) ^ ((~x) & z); - } - - private int Maj( - int x, - int y, - int z) - { - return (x & y) ^ (x & z) ^ (y & z); - } - - private int Sum0( - int x) - { - return ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^ ((x >>> 22) | (x << 10)); - } - - private int Sum1( - int x) - { - return ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^ ((x >>> 25) | (x << 7)); - } - - private int Theta0( - int x) - { - return ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3); - } - - private int Theta1( - int x) - { - return ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10); - } - - /* SHA-256 Constants - * (represent the first 32 bits of the fractional parts of the - * cube roots of the first sixty-four prime numbers) - */ - static final int K[] = { - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - }; - - public Memoable copy() - { - return new SHA256Digest(this); - } - - public void reset(Memoable other) - { - SHA256Digest d = (SHA256Digest)other; - - copyIn(d); - } -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA384Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA384Digest.java deleted file mode 100644 index f6a5ba0a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA384Digest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - - -/** - * FIPS 180-2 implementation of SHA-384. - * - *
    - *         block  word  digest
    - * SHA-1   512    32    160
    - * SHA-256 512    32    256
    - * SHA-384 1024   64    384
    - * SHA-512 1024   64    512
    - * 
    - */ -public class SHA384Digest - extends LongDigest -{ - private static final int DIGEST_LENGTH = 48; - - /** - * Standard constructor - */ - public SHA384Digest() - { - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA384Digest(SHA384Digest t) - { - super(t); - } - - public String getAlgorithmName() - { - return "SHA-384"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - Pack.longToBigEndian(H1, out, outOff); - Pack.longToBigEndian(H2, out, outOff + 8); - Pack.longToBigEndian(H3, out, outOff + 16); - Pack.longToBigEndian(H4, out, outOff + 24); - Pack.longToBigEndian(H5, out, outOff + 32); - Pack.longToBigEndian(H6, out, outOff + 40); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - /* SHA-384 initial hash value - * The first 64 bits of the fractional parts of the square roots - * of the 9th through 16th prime numbers - */ - H1 = 0xcbbb9d5dc1059ed8l; - H2 = 0x629a292a367cd507l; - H3 = 0x9159015a3070dd17l; - H4 = 0x152fecd8f70e5939l; - H5 = 0x67332667ffc00b31l; - H6 = 0x8eb44a8768581511l; - H7 = 0xdb0c2e0d64f98fa7l; - H8 = 0x47b5481dbefa4fa4l; - } - - public Memoable copy() - { - return new SHA384Digest(this); - } - - public void reset(Memoable other) - { - SHA384Digest d = (SHA384Digest)other; - - super.copyIn(d); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA3Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA3Digest.java deleted file mode 100644 index 3416b7139..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA3Digest.java +++ /dev/null @@ -1,547 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Arrays; - -/** - * implementation of SHA-3 based on following KeccakNISTInterface.c from http://keccak.noekeon.org/ - *

    - * Following the naming conventions used in the C source code to enable easy review of the implementation. - */ -public class SHA3Digest - implements ExtendedDigest -{ - private static long[] KeccakRoundConstants = keccakInitializeRoundConstants(); - - private static int[] KeccakRhoOffsets = keccakInitializeRhoOffsets(); - - private static long[] keccakInitializeRoundConstants() - { - long[] keccakRoundConstants = new long[24]; - byte[] LFSRstate = new byte[1]; - - LFSRstate[0] = 0x01; - int i, j, bitPosition; - - for (i = 0; i < 24; i++) - { - keccakRoundConstants[i] = 0; - for (j = 0; j < 7; j++) - { - bitPosition = (1 << j) - 1; - if (LFSR86540(LFSRstate)) - { - keccakRoundConstants[i] ^= 1L << bitPosition; - } - } - } - - return keccakRoundConstants; - } - - private static boolean LFSR86540(byte[] LFSR) - { - boolean result = (((LFSR[0]) & 0x01) != 0); - if (((LFSR[0]) & 0x80) != 0) - { - LFSR[0] = (byte)(((LFSR[0]) << 1) ^ 0x71); - } - else - { - LFSR[0] <<= 1; - } - - return result; - } - - private static int[] keccakInitializeRhoOffsets() - { - int[] keccakRhoOffsets = new int[25]; - int x, y, t, newX, newY; - - keccakRhoOffsets[(((0) % 5) + 5 * ((0) % 5))] = 0; - x = 1; - y = 0; - for (t = 0; t < 24; t++) - { - keccakRhoOffsets[(((x) % 5) + 5 * ((y) % 5))] = ((t + 1) * (t + 2) / 2) % 64; - newX = (0 * x + 1 * y) % 5; - newY = (2 * x + 3 * y) % 5; - x = newX; - y = newY; - } - - return keccakRhoOffsets; - } - - private byte[] state = new byte[(1600 / 8)]; - private byte[] dataQueue = new byte[(1536 / 8)]; - private int rate; - private int bitsInQueue; - private int fixedOutputLength; - private boolean squeezing; - private int bitsAvailableForSqueezing; - private byte[] chunk; - private byte[] oneByte; - - private void clearDataQueueSection(int off, int len) - { - for (int i = off; i != off + len; i++) - { - dataQueue[i] = 0; - } - } - - public SHA3Digest() - { - init(0); - } - - public SHA3Digest(int bitLength) - { - init(bitLength); - } - - public SHA3Digest(SHA3Digest source) { - System.arraycopy(source.state, 0, this.state, 0, source.state.length); - System.arraycopy(source.dataQueue, 0, this.dataQueue, 0, source.dataQueue.length); - this.rate = source.rate; - this.bitsInQueue = source.bitsInQueue; - this.fixedOutputLength = source.fixedOutputLength; - this.squeezing = source.squeezing; - this.bitsAvailableForSqueezing = source.bitsAvailableForSqueezing; - this.chunk = Arrays.clone(source.chunk); - this.oneByte = Arrays.clone(source.oneByte); - } - - public String getAlgorithmName() - { - return "SHA3-" + fixedOutputLength; - } - - public int getDigestSize() - { - return fixedOutputLength / 8; - } - - public void update(byte in) - { - oneByte[0] = in; - - doUpdate(oneByte, 0, 8L); - } - - public void update(byte[] in, int inOff, int len) - { - doUpdate(in, inOff, len * 8L); - } - - public int doFinal(byte[] out, int outOff) - { - squeeze(out, outOff, fixedOutputLength); - - reset(); - - return getDigestSize(); - } - - public void reset() - { - init(fixedOutputLength); - } - - /** - * Return the size of block that the compression function is applied to in bytes. - * - * @return internal byte length of a block. - */ - public int getByteLength() - { - return rate / 8; - } - - private void init(int bitLength) - { - switch (bitLength) - { - case 0: - case 288: - initSponge(1024, 576); - break; - case 224: - initSponge(1152, 448); - break; - case 256: - initSponge(1088, 512); - break; - case 384: - initSponge(832, 768); - break; - case 512: - initSponge(576, 1024); - break; - default: - throw new IllegalArgumentException("bitLength must be one of 224, 256, 384, or 512."); - } - } - - private void doUpdate(byte[] data, int off, long databitlen) - { - if ((databitlen % 8) == 0) - { - absorb(data, off, databitlen); - } - else - { - absorb(data, off, databitlen - (databitlen % 8)); - - byte[] lastByte = new byte[1]; - - lastByte[0] = (byte)(data[off + (int)(databitlen / 8)] >> (8 - (databitlen % 8))); - absorb(lastByte, off, databitlen % 8); - } - } - - private void initSponge(int rate, int capacity) - { - if (rate + capacity != 1600) - { - throw new IllegalStateException("rate + capacity != 1600"); - } - if ((rate <= 0) || (rate >= 1600) || ((rate % 64) != 0)) - { - throw new IllegalStateException("invalid rate value"); - } - - this.rate = rate; - // this is never read, need to check to see why we want to save it - // this.capacity = capacity; - this.fixedOutputLength = 0; - Arrays.fill(this.state, (byte)0); - Arrays.fill(this.dataQueue, (byte)0); - this.bitsInQueue = 0; - this.squeezing = false; - this.bitsAvailableForSqueezing = 0; - this.fixedOutputLength = capacity / 2; - this.chunk = new byte[rate / 8]; - this.oneByte = new byte[1]; - } - - private void absorbQueue() - { - KeccakAbsorb(state, dataQueue, rate / 8); - - bitsInQueue = 0; - } - - private void absorb(byte[] data, int off, long databitlen) - { - long i, j, wholeBlocks; - - if ((bitsInQueue % 8) != 0) - { - throw new IllegalStateException("attempt to absorb with odd length queue."); - } - if (squeezing) - { - throw new IllegalStateException("attempt to absorb while squeezing."); - } - - i = 0; - while (i < databitlen) - { - if ((bitsInQueue == 0) && (databitlen >= rate) && (i <= (databitlen - rate))) - { - wholeBlocks = (databitlen - i) / rate; - - for (j = 0; j < wholeBlocks; j++) - { - System.arraycopy(data, (int)(off + (i / 8) + (j * chunk.length)), chunk, 0, chunk.length); - -// displayIntermediateValues.displayBytes(1, "Block to be absorbed", curData, rate / 8); - - KeccakAbsorb(state, chunk, chunk.length); - } - - i += wholeBlocks * rate; - } - else - { - int partialBlock = (int)(databitlen - i); - if (partialBlock + bitsInQueue > rate) - { - partialBlock = rate - bitsInQueue; - } - int partialByte = partialBlock % 8; - partialBlock -= partialByte; - System.arraycopy(data, off + (int)(i / 8), dataQueue, bitsInQueue / 8, partialBlock / 8); - - bitsInQueue += partialBlock; - i += partialBlock; - if (bitsInQueue == rate) - { - absorbQueue(); - } - if (partialByte > 0) - { - int mask = (1 << partialByte) - 1; - dataQueue[bitsInQueue / 8] = (byte)(data[off + ((int)(i / 8))] & mask); - bitsInQueue += partialByte; - i += partialByte; - } - } - } - } - - private void padAndSwitchToSqueezingPhase() - { - if (bitsInQueue + 1 == rate) - { - dataQueue[bitsInQueue / 8] |= 1 << (bitsInQueue % 8); - absorbQueue(); - clearDataQueueSection(0, rate / 8); - } - else - { - clearDataQueueSection((bitsInQueue + 7) / 8, rate / 8 - (bitsInQueue + 7) / 8); - dataQueue[bitsInQueue / 8] |= 1 << (bitsInQueue % 8); - } - dataQueue[(rate - 1) / 8] |= 1 << ((rate - 1) % 8); - absorbQueue(); - - -// displayIntermediateValues.displayText(1, "--- Switching to squeezing phase ---"); - - - if (rate == 1024) - { - KeccakExtract1024bits(state, dataQueue); - bitsAvailableForSqueezing = 1024; - } - else - - { - KeccakExtract(state, dataQueue, rate / 64); - bitsAvailableForSqueezing = rate; - } - -// displayIntermediateValues.displayBytes(1, "Block available for squeezing", dataQueue, bitsAvailableForSqueezing / 8); - - squeezing = true; - } - - private void squeeze(byte[] output, int offset, long outputLength) - { - long i; - int partialBlock; - - if (!squeezing) - { - padAndSwitchToSqueezingPhase(); - } - if ((outputLength % 8) != 0) - { - throw new IllegalStateException("outputLength not a multiple of 8"); - } - - i = 0; - while (i < outputLength) - { - if (bitsAvailableForSqueezing == 0) - { - keccakPermutation(state); - - if (rate == 1024) - { - KeccakExtract1024bits(state, dataQueue); - bitsAvailableForSqueezing = 1024; - } - else - - { - KeccakExtract(state, dataQueue, rate / 64); - bitsAvailableForSqueezing = rate; - } - -// displayIntermediateValues.displayBytes(1, "Block available for squeezing", dataQueue, bitsAvailableForSqueezing / 8); - - } - partialBlock = bitsAvailableForSqueezing; - if ((long)partialBlock > outputLength - i) - { - partialBlock = (int)(outputLength - i); - } - - System.arraycopy(dataQueue, (rate - bitsAvailableForSqueezing) / 8, output, offset + (int)(i / 8), partialBlock / 8); - bitsAvailableForSqueezing -= partialBlock; - i += partialBlock; - } - } - - private void fromBytesToWords(long[] stateAsWords, byte[] state) - { - for (int i = 0; i < (1600 / 64); i++) - { - stateAsWords[i] = 0; - int index = i * (64 / 8); - for (int j = 0; j < (64 / 8); j++) - { - stateAsWords[i] |= ((long)state[index + j] & 0xff) << ((8 * j)); - } - } - } - - private void fromWordsToBytes(byte[] state, long[] stateAsWords) - { - for (int i = 0; i < (1600 / 64); i++) - { - int index = i * (64 / 8); - for (int j = 0; j < (64 / 8); j++) - { - state[index + j] = (byte)((stateAsWords[i] >>> ((8 * j))) & 0xFF); - } - } - } - - private void keccakPermutation(byte[] state) - { - long[] longState = new long[state.length / 8]; - - fromBytesToWords(longState, state); - -// displayIntermediateValues.displayStateAsBytes(1, "Input of permutation", longState); - - keccakPermutationOnWords(longState); - -// displayIntermediateValues.displayStateAsBytes(1, "State after permutation", longState); - - fromWordsToBytes(state, longState); - } - - private void keccakPermutationAfterXor(byte[] state, byte[] data, int dataLengthInBytes) - { - int i; - - for (i = 0; i < dataLengthInBytes; i++) - { - state[i] ^= data[i]; - } - - keccakPermutation(state); - } - - private void keccakPermutationOnWords(long[] state) - { - int i; - -// displayIntermediateValues.displayStateAs64bitWords(3, "Same, with lanes as 64-bit words", state); - - for (i = 0; i < 24; i++) - { -// displayIntermediateValues.displayRoundNumber(3, i); - - theta(state); -// displayIntermediateValues.displayStateAs64bitWords(3, "After theta", state); - - rho(state); -// displayIntermediateValues.displayStateAs64bitWords(3, "After rho", state); - - pi(state); -// displayIntermediateValues.displayStateAs64bitWords(3, "After pi", state); - - chi(state); -// displayIntermediateValues.displayStateAs64bitWords(3, "After chi", state); - - iota(state, i); -// displayIntermediateValues.displayStateAs64bitWords(3, "After iota", state); - } - } - - long[] C = new long[5]; - - private void theta(long[] A) - { - for (int x = 0; x < 5; x++) - { - C[x] = 0; - for (int y = 0; y < 5; y++) - { - C[x] ^= A[x + 5 * y]; - } - } - for (int x = 0; x < 5; x++) - { - long dX = ((((C[(x + 1) % 5]) << 1) ^ ((C[(x + 1) % 5]) >>> (64 - 1)))) ^ C[(x + 4) % 5]; - for (int y = 0; y < 5; y++) - { - A[x + 5 * y] ^= dX; - } - } - } - - private void rho(long[] A) - { - for (int x = 0; x < 5; x++) - { - for (int y = 0; y < 5; y++) - { - int index = x + 5 * y; - A[index] = ((KeccakRhoOffsets[index] != 0) ? (((A[index]) << KeccakRhoOffsets[index]) ^ ((A[index]) >>> (64 - KeccakRhoOffsets[index]))) : A[index]); - } - } - } - - long[] tempA = new long[25]; - - private void pi(long[] A) - { - System.arraycopy(A, 0, tempA, 0, tempA.length); - - for (int x = 0; x < 5; x++) - { - for (int y = 0; y < 5; y++) - { - A[y + 5 * ((2 * x + 3 * y) % 5)] = tempA[x + 5 * y]; - } - } - } - - long[] chiC = new long[5]; - - private void chi(long[] A) - { - for (int y = 0; y < 5; y++) - { - for (int x = 0; x < 5; x++) - { - chiC[x] = A[x + 5 * y] ^ ((~A[(((x + 1) % 5) + 5 * y)]) & A[(((x + 2) % 5) + 5 * y)]); - } - for (int x = 0; x < 5; x++) - { - A[x + 5 * y] = chiC[x]; - } - } - } - - private void iota(long[] A, int indexRound) - { - A[(((0) % 5) + 5 * ((0) % 5))] ^= KeccakRoundConstants[indexRound]; - } - - private void KeccakAbsorb(byte[] byteState, byte[] data, int dataInBytes) - { - keccakPermutationAfterXor(byteState, data, dataInBytes); - } - - - private void KeccakExtract1024bits(byte[] byteState, byte[] data) - { - System.arraycopy(byteState, 0, data, 0, 128); - } - - - private void KeccakExtract(byte[] byteState, byte[] data, int laneCount) - { - System.arraycopy(byteState, 0, data, 0, laneCount * 8); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512Digest.java deleted file mode 100644 index 2fd3711d5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512Digest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - - -/** - * FIPS 180-2 implementation of SHA-512. - * - *

    - *         block  word  digest
    - * SHA-1   512    32    160
    - * SHA-256 512    32    256
    - * SHA-384 1024   64    384
    - * SHA-512 1024   64    512
    - * 
    - */ -public class SHA512Digest - extends LongDigest -{ - private static final int DIGEST_LENGTH = 64; - - /** - * Standard constructor - */ - public SHA512Digest() - { - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA512Digest(SHA512Digest t) - { - super(t); - } - - public String getAlgorithmName() - { - return "SHA-512"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - Pack.longToBigEndian(H1, out, outOff); - Pack.longToBigEndian(H2, out, outOff + 8); - Pack.longToBigEndian(H3, out, outOff + 16); - Pack.longToBigEndian(H4, out, outOff + 24); - Pack.longToBigEndian(H5, out, outOff + 32); - Pack.longToBigEndian(H6, out, outOff + 40); - Pack.longToBigEndian(H7, out, outOff + 48); - Pack.longToBigEndian(H8, out, outOff + 56); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - /* SHA-512 initial hash value - * The first 64 bits of the fractional parts of the square roots - * of the first eight prime numbers - */ - H1 = 0x6a09e667f3bcc908L; - H2 = 0xbb67ae8584caa73bL; - H3 = 0x3c6ef372fe94f82bL; - H4 = 0xa54ff53a5f1d36f1L; - H5 = 0x510e527fade682d1L; - H6 = 0x9b05688c2b3e6c1fL; - H7 = 0x1f83d9abfb41bd6bL; - H8 = 0x5be0cd19137e2179L; - } - - public Memoable copy() - { - return new SHA512Digest(this); - } - - public void reset(Memoable other) - { - SHA512Digest d = (SHA512Digest)other; - - copyIn(d); - } -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512tDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512tDigest.java deleted file mode 100644 index c6d2dd767..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SHA512tDigest.java +++ /dev/null @@ -1,205 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.util.Memoable; -import org.spongycastle.util.MemoableResetException; - -/** - * FIPS 180-4 implementation of SHA-512/t - */ -public class SHA512tDigest - extends LongDigest -{ - private final int digestLength; - - private long H1t, H2t, H3t, H4t, H5t, H6t, H7t, H8t; - - /** - * Standard constructor - */ - public SHA512tDigest(int bitLength) - { - if (bitLength >= 512) - { - throw new IllegalArgumentException("bitLength cannot be >= 512"); - } - - if (bitLength % 8 != 0) - { - throw new IllegalArgumentException("bitLength needs to be a multiple of 8"); - } - - if (bitLength == 384) - { - throw new IllegalArgumentException("bitLength cannot be 384 use SHA384 instead"); - } - - this.digestLength = bitLength / 8; - - tIvGenerate(digestLength * 8); - - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SHA512tDigest(SHA512tDigest t) - { - super(t); - - this.digestLength = t.digestLength; - - reset(t); - } - - public String getAlgorithmName() - { - return "SHA-512/" + Integer.toString(digestLength * 8); - } - - public int getDigestSize() - { - return digestLength; - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - longToBigEndian(H1, out, outOff, digestLength); - longToBigEndian(H2, out, outOff + 8, digestLength - 8); - longToBigEndian(H3, out, outOff + 16, digestLength - 16); - longToBigEndian(H4, out, outOff + 24, digestLength - 24); - longToBigEndian(H5, out, outOff + 32, digestLength - 32); - longToBigEndian(H6, out, outOff + 40, digestLength - 40); - longToBigEndian(H7, out, outOff + 48, digestLength - 48); - longToBigEndian(H8, out, outOff + 56, digestLength - 56); - - reset(); - - return digestLength; - } - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - /* - * initial hash values use the iv generation algorithm for t. - */ - H1 = H1t; - H2 = H2t; - H3 = H3t; - H4 = H4t; - H5 = H5t; - H6 = H6t; - H7 = H7t; - H8 = H8t; - } - - private void tIvGenerate(int bitLength) - { - H1 = 0x6a09e667f3bcc908L ^ 0xa5a5a5a5a5a5a5a5L; - H2 = 0xbb67ae8584caa73bL ^ 0xa5a5a5a5a5a5a5a5L; - H3 = 0x3c6ef372fe94f82bL ^ 0xa5a5a5a5a5a5a5a5L; - H4 = 0xa54ff53a5f1d36f1L ^ 0xa5a5a5a5a5a5a5a5L; - H5 = 0x510e527fade682d1L ^ 0xa5a5a5a5a5a5a5a5L; - H6 = 0x9b05688c2b3e6c1fL ^ 0xa5a5a5a5a5a5a5a5L; - H7 = 0x1f83d9abfb41bd6bL ^ 0xa5a5a5a5a5a5a5a5L; - H8 = 0x5be0cd19137e2179L ^ 0xa5a5a5a5a5a5a5a5L; - - update((byte)0x53); - update((byte)0x48); - update((byte)0x41); - update((byte)0x2D); - update((byte)0x35); - update((byte)0x31); - update((byte)0x32); - update((byte)0x2F); - - if (bitLength > 100) - { - update((byte)(bitLength / 100 + 0x30)); - bitLength = bitLength % 100; - update((byte)(bitLength / 10 + 0x30)); - bitLength = bitLength % 10; - update((byte)(bitLength + 0x30)); - } - else if (bitLength > 10) - { - update((byte)(bitLength / 10 + 0x30)); - bitLength = bitLength % 10; - update((byte)(bitLength + 0x30)); - } - else - { - update((byte)(bitLength + 0x30)); - } - - finish(); - - H1t = H1; - H2t = H2; - H3t = H3; - H4t = H4; - H5t = H5; - H6t = H6; - H7t = H7; - H8t = H8; - } - - private static void longToBigEndian(long n, byte[] bs, int off, int max) - { - if (max > 0) - { - intToBigEndian((int)(n >>> 32), bs, off, max); - - if (max > 4) - { - intToBigEndian((int)(n & 0xffffffffL), bs, off + 4, max - 4); - } - } - } - - private static void intToBigEndian(int n, byte[] bs, int off, int max) - { - int num = Math.min(4, max); - while (--num >= 0) - { - int shift = 8 * (3 - num); - bs[off + num] = (byte)(n >>> shift); - } - } - - public Memoable copy() - { - return new SHA512tDigest(this); - } - - public void reset(Memoable other) - { - SHA512tDigest t = (SHA512tDigest)other; - - if (this.digestLength != t.digestLength) - { - throw new MemoableResetException("digestLength inappropriate in other"); - } - - super.copyIn(t); - - this.H1t = t.H1t; - this.H2t = t.H2t; - this.H3t = t.H3t; - this.H4t = t.H4t; - this.H5t = t.H5t; - this.H6t = t.H6t; - this.H7t = t.H7t; - this.H8t = t.H8t; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SM3Digest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SM3Digest.java deleted file mode 100644 index b7117a22d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SM3Digest.java +++ /dev/null @@ -1,333 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Memoable; - -/** - * Implementation of Chinese SM3 digest as described at - * http://tools.ietf.org/html/draft-shen-sm3-hash-00 - * and at .... ( Chinese PDF ) - *

    - * The specification says "process a bit stream", - * but this is written to process bytes in blocks of 4, - * meaning this will process 32-bit word groups. - * But so do also most other digest specifications, - * including the SHA-256 which was a origin for - * this specification. - */ -public class SM3Digest - extends GeneralDigest -{ - private static final int DIGEST_LENGTH = 32; // bytes - private static final int BLOCK_SIZE = 64 / 4; // of 32 bit ints (16 ints) - - private int[] V = new int[DIGEST_LENGTH / 4]; // in 32 bit ints (8 ints) - private int[] inwords = new int[BLOCK_SIZE]; - private int xOff; - - // Work-bufs used within processBlock() - private int[] W = new int[68]; - private int[] W1 = new int[64]; - - // Round constant T for processBlock() which is 32 bit integer rolled left up to (63 MOD 32) bit positions. - private static final int[] T = new int[64]; - - static - { - for (int i = 0; i < 16; ++i) - { - int t = 0x79CC4519; - T[i] = (t << i) | (t >>> (32 - i)); - } - for (int i = 16; i < 64; ++i) - { - int n = i % 32; - int t = 0x7A879D8A; - T[i] = (t << n) | (t >>> (32 - n)); - } - } - - - /** - * Standard constructor - */ - public SM3Digest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public SM3Digest(SM3Digest t) - { - super(t); - - copyIn(t); - } - - private void copyIn(SM3Digest t) - { - System.arraycopy(t.V, 0, this.V, 0, this.V.length); - System.arraycopy(t.inwords, 0, this.inwords, 0, this.inwords.length); - xOff = t.xOff; - } - - public String getAlgorithmName() - { - return "SM3"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - - public Memoable copy() - { - return new SM3Digest(this); - } - - public void reset(Memoable other) - { - SM3Digest d = (SM3Digest)other; - - super.copyIn(d); - copyIn(d); - } - - - /** - * reset the chaining variables - */ - public void reset() - { - super.reset(); - - this.V[0] = 0x7380166F; - this.V[1] = 0x4914B2B9; - this.V[2] = 0x172442D7; - this.V[3] = 0xDA8A0600; - this.V[4] = 0xA96F30BC; - this.V[5] = 0x163138AA; - this.V[6] = 0xE38DEE4D; - this.V[7] = 0xB0FB0E4E; - - this.xOff = 0; - } - - - public int doFinal(byte[] out, - int outOff) - { - finish(); - - Pack.intToBigEndian(this.V[0], out, outOff + 0); - Pack.intToBigEndian(this.V[1], out, outOff + 4); - Pack.intToBigEndian(this.V[2], out, outOff + 8); - Pack.intToBigEndian(this.V[3], out, outOff + 12); - Pack.intToBigEndian(this.V[4], out, outOff + 16); - Pack.intToBigEndian(this.V[5], out, outOff + 20); - Pack.intToBigEndian(this.V[6], out, outOff + 24); - Pack.intToBigEndian(this.V[7], out, outOff + 28); - - reset(); - - return DIGEST_LENGTH; - } - - - protected void processWord(byte[] in, - int inOff) - { - // Note: Inlined for performance - // this.inwords[xOff] = Pack.bigEndianToInt(in, inOff); - int n = (((in[inOff] & 0xff) << 24) | - ((in[++inOff] & 0xff) << 16) | - ((in[++inOff] & 0xff) << 8) | - ((in[++inOff] & 0xff))); - - this.inwords[this.xOff] = n; - ++this.xOff; - - if (this.xOff >= 16) - { - processBlock(); - } - } - - protected void processLength(long bitLength) - { - if (this.xOff > (BLOCK_SIZE - 2)) - { - // xOff == 15 --> can't fit the 64 bit length field at tail.. - this.inwords[this.xOff] = 0; // fill with zero - ++this.xOff; - - processBlock(); - } - // Fill with zero words, until reach 2nd to last slot - while (this.xOff < (BLOCK_SIZE - 2)) - { - this.inwords[this.xOff] = 0; - ++this.xOff; - } - - // Store input data length in BITS - this.inwords[this.xOff++] = (int)(bitLength >>> 32); - this.inwords[this.xOff++] = (int)(bitLength); - } - -/* - -3.4.2. Constants - - - Tj = 79cc4519 when 0 < = j < = 15 - Tj = 7a879d8a when 16 < = j < = 63 - -3.4.3. Boolean function - - - FFj(X;Y;Z) = X XOR Y XOR Z when 0 < = j < = 15 - = (X AND Y) OR (X AND Z) OR (Y AND Z) when 16 < = j < = 63 - - GGj(X;Y;Z) = X XOR Y XOR Z when 0 < = j < = 15 - = (X AND Y) OR (NOT X AND Z) when 16 < = j < = 63 - - The X, Y, Z in the fomular are words!GBP - -3.4.4. Permutation function - - - P0(X) = X XOR (X <<< 9) XOR (X <<< 17) ## ROLL, not SHIFT - P1(X) = X XOR (X <<< 15) XOR (X <<< 23) ## ROLL, not SHIFT - - The X in the fomular are a word. - ----------- - -Each ROLL converted to Java expression: - -ROLL 9 : ((x << 9) | (x >>> (32-9)))) -ROLL 17 : ((x << 17) | (x >>> (32-17))) -ROLL 15 : ((x << 15) | (x >>> (32-15))) -ROLL 23 : ((x << 23) | (x >>> (32-23))) - - */ - - private int P0(final int x) - { - final int r9 = ((x << 9) | (x >>> (32 - 9))); - final int r17 = ((x << 17) | (x >>> (32 - 17))); - return (x ^ r9 ^ r17); - } - - private int P1(final int x) - { - final int r15 = ((x << 15) | (x >>> (32 - 15))); - final int r23 = ((x << 23) | (x >>> (32 - 23))); - return (x ^ r15 ^ r23); - } - - private int FF0(final int x, final int y, final int z) - { - return (x ^ y ^ z); - } - - private int FF1(final int x, final int y, final int z) - { - return ((x & y) | (x & z) | (y & z)); - } - - private int GG0(final int x, final int y, final int z) - { - return (x ^ y ^ z); - } - - private int GG1(final int x, final int y, final int z) - { - return ((x & y) | ((~x) & z)); - } - - - protected void processBlock() - { - for (int j = 0; j < 16; ++j) - { - this.W[j] = this.inwords[j]; - } - for (int j = 16; j < 68; ++j) - { - int wj3 = this.W[j - 3]; - int r15 = ((wj3 << 15) | (wj3 >>> (32 - 15))); - int wj13 = this.W[j - 13]; - int r7 = ((wj13 << 7) | (wj13 >>> (32 - 7))); - this.W[j] = P1(this.W[j - 16] ^ this.W[j - 9] ^ r15) ^ r7 ^ this.W[j - 6]; - } - for (int j = 0; j < 64; ++j) - { - this.W1[j] = this.W[j] ^ this.W[j + 4]; - } - - int A = this.V[0]; - int B = this.V[1]; - int C = this.V[2]; - int D = this.V[3]; - int E = this.V[4]; - int F = this.V[5]; - int G = this.V[6]; - int H = this.V[7]; - - - for (int j = 0; j < 16; ++j) - { - int a12 = ((A << 12) | (A >>> (32 - 12))); - int s1_ = a12 + E + T[j]; - int SS1 = ((s1_ << 7) | (s1_ >>> (32 - 7))); - int SS2 = SS1 ^ a12; - int TT1 = FF0(A, B, C) + D + SS2 + this.W1[j]; - int TT2 = GG0(E, F, G) + H + SS1 + this.W[j]; - D = C; - C = ((B << 9) | (B >>> (32 - 9))); - B = A; - A = TT1; - H = G; - G = ((F << 19) | (F >>> (32 - 19))); - F = E; - E = P0(TT2); - } - - // Different FF,GG functions on rounds 16..63 - for (int j = 16; j < 64; ++j) - { - int a12 = ((A << 12) | (A >>> (32 - 12))); - int s1_ = a12 + E + T[j]; - int SS1 = ((s1_ << 7) | (s1_ >>> (32 - 7))); - int SS2 = SS1 ^ a12; - int TT1 = FF1(A, B, C) + D + SS2 + this.W1[j]; - int TT2 = GG1(E, F, G) + H + SS1 + this.W[j]; - D = C; - C = ((B << 9) | (B >>> (32 - 9))); - B = A; - A = TT1; - H = G; - G = ((F << 19) | (F >>> (32 - 19))); - F = E; - E = P0(TT2); - } - - this.V[0] ^= A; - this.V[1] ^= B; - this.V[2] ^= C; - this.V[3] ^= D; - this.V[4] ^= E; - this.V[5] ^= F; - this.V[6] ^= G; - this.V[7] ^= H; - - this.xOff = 0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/ShortenedDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/ShortenedDigest.java deleted file mode 100644 index 274959f56..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/ShortenedDigest.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; - -/** - * Wrapper class that reduces the output length of a particular digest to - * only the first n bytes of the digest function. - */ -public class ShortenedDigest - implements ExtendedDigest -{ - private ExtendedDigest baseDigest; - private int length; - - /** - * Base constructor. - * - * @param baseDigest underlying digest to use. - * @param length length in bytes of the output of doFinal. - * @exception IllegalArgumentException if baseDigest is null, or length is greater than baseDigest.getDigestSize(). - */ - public ShortenedDigest( - ExtendedDigest baseDigest, - int length) - { - if (baseDigest == null) - { - throw new IllegalArgumentException("baseDigest must not be null"); - } - - if (length > baseDigest.getDigestSize()) - { - throw new IllegalArgumentException("baseDigest output not large enough to support length"); - } - - this.baseDigest = baseDigest; - this.length = length; - } - - public String getAlgorithmName() - { - return baseDigest.getAlgorithmName() + "(" + length * 8 + ")"; - } - - public int getDigestSize() - { - return length; - } - - public void update(byte in) - { - baseDigest.update(in); - } - - public void update(byte[] in, int inOff, int len) - { - baseDigest.update(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - byte[] tmp = new byte[baseDigest.getDigestSize()]; - - baseDigest.doFinal(tmp, 0); - - System.arraycopy(tmp, 0, out, outOff, length); - - return length; - } - - public void reset() - { - baseDigest.reset(); - } - - public int getByteLength() - { - return baseDigest.getByteLength(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinDigest.java deleted file mode 100644 index 4da4d7189..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinDigest.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.SkeinParameters; -import org.spongycastle.util.Memoable; - -/** - * Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes, - * based on the {@link ThreefishEngine Threefish} tweakable block cipher. - *

    - * This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 - * competition in October 2010. - *

    - * Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir - * Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. - *

    - * - * @see SkeinEngine - * @see SkeinParameters - */ -public class SkeinDigest - implements ExtendedDigest, Memoable -{ - /** - * 256 bit block size - Skein-256 - */ - public static final int SKEIN_256 = SkeinEngine.SKEIN_256; - /** - * 512 bit block size - Skein-512 - */ - public static final int SKEIN_512 = SkeinEngine.SKEIN_512; - /** - * 1024 bit block size - Skein-1024 - */ - public static final int SKEIN_1024 = SkeinEngine.SKEIN_1024; - - private SkeinEngine engine; - - /** - * Constructs a Skein digest with an internal state size and output size. - * - * @param stateSizeBits the internal state size in bits - one of {@link #SKEIN_256}, {@link #SKEIN_512} or - * {@link #SKEIN_1024}. - * @param digestSizeBits the output/digest size to produce in bits, which must be an integral number of - * bytes. - */ - public SkeinDigest(int stateSizeBits, int digestSizeBits) - { - this.engine = new SkeinEngine(stateSizeBits, digestSizeBits); - init(null); - } - - public SkeinDigest(SkeinDigest digest) - { - this.engine = new SkeinEngine(digest.engine); - } - - public void reset(Memoable other) - { - SkeinDigest d = (SkeinDigest)other; - engine.reset(d.engine); - } - - public Memoable copy() - { - return new SkeinDigest(this); - } - - public String getAlgorithmName() - { - return "Skein-" + (engine.getBlockSize() * 8) + "-" + (engine.getOutputSize() * 8); - } - - public int getDigestSize() - { - return engine.getOutputSize(); - } - - public int getByteLength() - { - return engine.getBlockSize(); - } - - /** - * Optionally initialises the Skein digest with the provided parameters.
    - * See {@link SkeinParameters} for details on the parameterisation of the Skein hash function. - * - * @param params the parameters to apply to this engine, or null to use no parameters. - */ - public void init(SkeinParameters params) - { - engine.init(params); - } - - public void reset() - { - engine.reset(); - } - - public void update(byte in) - { - engine.update(in); - } - - public void update(byte[] in, int inOff, int len) - { - engine.update(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - return engine.doFinal(out, outOff); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinEngine.java deleted file mode 100644 index 001adcf26..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/SkeinEngine.java +++ /dev/null @@ -1,817 +0,0 @@ -package org.spongycastle.crypto.digests; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.crypto.params.SkeinParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Memoable; - -/** - * Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block - * sizes, based on the {@link ThreefishEngine Threefish} tweakable block cipher. - *

    - * This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 - * competition in October 2010. - *

    - * Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir - * Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. - *

    - * This implementation is the basis for {@link SkeinDigest} and {@link SkeinMac}, implementing the - * parameter based configuration system that allows Skein to be adapted to multiple applications.
    - * Initialising the engine with {@link SkeinParameters} allows standard and arbitrary parameters to - * be applied during the Skein hash function. - *

    - * Implemented: - *

      - *
    • 256, 512 and 1024 bit internal states.
    • - *
    • Full 96 bit input length.
    • - *
    • Parameters defined in the Skein specification, and arbitrary other pre and post message - * parameters.
    • - *
    • Arbitrary output size in 1 byte intervals.
    • - *
    - *

    - * Not implemented: - *

      - *
    • Sub-byte length input (bit padding).
    • - *
    • Tree hashing.
    • - *
    - * - * @see SkeinParameters - */ -public class SkeinEngine - implements Memoable -{ - /** - * 256 bit block size - Skein 256 - */ - public static final int SKEIN_256 = ThreefishEngine.BLOCKSIZE_256; - /** - * 512 bit block size - Skein 512 - */ - public static final int SKEIN_512 = ThreefishEngine.BLOCKSIZE_512; - /** - * 1024 bit block size - Skein 1024 - */ - public static final int SKEIN_1024 = ThreefishEngine.BLOCKSIZE_1024; - - // Minimal at present, but more complex when tree hashing is implemented - private static class Configuration - { - private byte[] bytes = new byte[32]; - - public Configuration(long outputSizeBits) - { - // 0..3 = ASCII SHA3 - bytes[0] = (byte)'S'; - bytes[1] = (byte)'H'; - bytes[2] = (byte)'A'; - bytes[3] = (byte)'3'; - - // 4..5 = version number in LSB order - bytes[4] = 1; - bytes[5] = 0; - - // 8..15 = output length - ThreefishEngine.wordToBytes(outputSizeBits, bytes, 8); - } - - public byte[] getBytes() - { - return bytes; - } - - } - - public static class Parameter - { - private int type; - private byte[] value; - - public Parameter(int type, byte[] value) - { - this.type = type; - this.value = value; - } - - public int getType() - { - return type; - } - - public byte[] getValue() - { - return value; - } - - } - - /** - * The parameter type for the Skein key. - */ - private static final int PARAM_TYPE_KEY = 0; - - /** - * The parameter type for the Skein configuration block. - */ - private static final int PARAM_TYPE_CONFIG = 4; - - /** - * The parameter type for the message. - */ - private static final int PARAM_TYPE_MESSAGE = 48; - - /** - * The parameter type for the output transformation. - */ - private static final int PARAM_TYPE_OUTPUT = 63; - - /** - * Precalculated UBI(CFG) states for common state/output combinations without key or other - * pre-message params. - */ - private static final Hashtable INITIAL_STATES = new Hashtable(); - - static - { - // From Appendix C of the Skein 1.3 NIST submission - initialState(SKEIN_256, 128, new long[]{ - 0xe1111906964d7260L, - 0x883daaa77c8d811cL, - 0x10080df491960f7aL, - 0xccf7dde5b45bc1c2L}); - - initialState(SKEIN_256, 160, new long[]{ - 0x1420231472825e98L, - 0x2ac4e9a25a77e590L, - 0xd47a58568838d63eL, - 0x2dd2e4968586ab7dL}); - - initialState(SKEIN_256, 224, new long[]{ - 0xc6098a8c9ae5ea0bL, - 0x876d568608c5191cL, - 0x99cb88d7d7f53884L, - 0x384bddb1aeddb5deL}); - - initialState(SKEIN_256, 256, new long[]{ - 0xfc9da860d048b449L, - 0x2fca66479fa7d833L, - 0xb33bc3896656840fL, - 0x6a54e920fde8da69L}); - - initialState(SKEIN_512, 128, new long[]{ - 0xa8bc7bf36fbf9f52L, - 0x1e9872cebd1af0aaL, - 0x309b1790b32190d3L, - 0xbcfbb8543f94805cL, - 0x0da61bcd6e31b11bL, - 0x1a18ebead46a32e3L, - 0xa2cc5b18ce84aa82L, - 0x6982ab289d46982dL}); - - initialState(SKEIN_512, 160, new long[]{ - 0x28b81a2ae013bd91L, - 0xc2f11668b5bdf78fL, - 0x1760d8f3f6a56f12L, - 0x4fb747588239904fL, - 0x21ede07f7eaf5056L, - 0xd908922e63ed70b8L, - 0xb8ec76ffeccb52faL, - 0x01a47bb8a3f27a6eL}); - - initialState(SKEIN_512, 224, new long[]{ - 0xccd0616248677224L, - 0xcba65cf3a92339efL, - 0x8ccd69d652ff4b64L, - 0x398aed7b3ab890b4L, - 0x0f59d1b1457d2bd0L, - 0x6776fe6575d4eb3dL, - 0x99fbc70e997413e9L, - 0x9e2cfccfe1c41ef7L}); - - initialState(SKEIN_512, 384, new long[]{ - 0xa3f6c6bf3a75ef5fL, - 0xb0fef9ccfd84faa4L, - 0x9d77dd663d770cfeL, - 0xd798cbf3b468fddaL, - 0x1bc4a6668a0e4465L, - 0x7ed7d434e5807407L, - 0x548fc1acd4ec44d6L, - 0x266e17546aa18ff8L}); - - initialState(SKEIN_512, 512, new long[]{ - 0x4903adff749c51ceL, - 0x0d95de399746df03L, - 0x8fd1934127c79bceL, - 0x9a255629ff352cb1L, - 0x5db62599df6ca7b0L, - 0xeabe394ca9d5c3f4L, - 0x991112c71a75b523L, - 0xae18a40b660fcc33L}); - } - - private static void initialState(int blockSize, int outputSize, long[] state) - { - INITIAL_STATES.put(variantIdentifier(blockSize / 8, outputSize / 8), state); - } - - private static Integer variantIdentifier(int blockSizeBytes, int outputSizeBytes) - { - return new Integer((outputSizeBytes << 16) | blockSizeBytes); - } - - private static class UbiTweak - { - /** - * Point at which position might overflow long, so switch to add with carry logic - */ - private static final long LOW_RANGE = Long.MAX_VALUE - Integer.MAX_VALUE; - - /** - * Bit 127 = final - */ - private static final long T1_FINAL = 1L << 63; - - /** - * Bit 126 = first - */ - private static final long T1_FIRST = 1L << 62; - - /** - * UBI uses a 128 bit tweak - */ - private long tweak[] = new long[2]; - - /** - * Whether 64 bit position exceeded - */ - private boolean extendedPosition; - - public UbiTweak() - { - reset(); - } - - public void reset(UbiTweak tweak) - { - this.tweak = Arrays.clone(tweak.tweak, this.tweak); - this.extendedPosition = tweak.extendedPosition; - } - - public void reset() - { - tweak[0] = 0; - tweak[1] = 0; - extendedPosition = false; - setFirst(true); - } - - public void setType(int type) - { - // Bits 120..125 = type - tweak[1] = (tweak[1] & 0xFFFFFFC000000000L) | ((type & 0x3FL) << 56); - } - - public int getType() - { - return (int)((tweak[1] >>> 56) & 0x3FL); - } - - public void setFirst(boolean first) - { - if (first) - { - tweak[1] |= T1_FIRST; - } - else - { - tweak[1] &= ~T1_FIRST; - } - } - - public boolean isFirst() - { - return ((tweak[1] & T1_FIRST) != 0); - } - - public void setFinal(boolean last) - { - if (last) - { - tweak[1] |= T1_FINAL; - } - else - { - tweak[1] &= ~T1_FINAL; - } - } - - public boolean isFinal() - { - return ((tweak[1] & T1_FINAL) != 0); - } - - /** - * Advances the position in the tweak by the specified value. - */ - public void advancePosition(int advance) - { - // Bits 0..95 = position - if (extendedPosition) - { - long[] parts = new long[3]; - parts[0] = tweak[0] & 0xFFFFFFFFL; - parts[1] = (tweak[0] >>> 32) & 0xFFFFFFFFL; - parts[2] = tweak[1] & 0xFFFFFFFFL; - - long carry = advance; - for (int i = 0; i < parts.length; i++) - { - carry += parts[i]; - parts[i] = carry; - carry >>>= 32; - } - tweak[0] = ((parts[1] & 0xFFFFFFFFL) << 32) | (parts[0] & 0xFFFFFFFFL); - tweak[1] = (tweak[1] & 0xFFFFFFFF00000000L) | (parts[2] & 0xFFFFFFFFL); - } - else - { - long position = tweak[0]; - position += advance; - tweak[0] = position; - if (position > LOW_RANGE) - { - extendedPosition = true; - } - } - } - - public long[] getWords() - { - return tweak; - } - - public String toString() - { - return getType() + " first: " + isFirst() + ", final: " + isFinal(); - } - - } - - /** - * The Unique Block Iteration chaining mode. - */ - // TODO: This might be better as methods... - private class UBI - { - private final UbiTweak tweak = new UbiTweak(); - - /** - * Buffer for the current block of message data - */ - private byte[] currentBlock; - - /** - * Offset into the current message block - */ - private int currentOffset; - - /** - * Buffer for message words for feedback into encrypted block - */ - private long[] message; - - public UBI(int blockSize) - { - currentBlock = new byte[blockSize]; - message = new long[currentBlock.length / 8]; - } - - public void reset(UBI ubi) - { - currentBlock = Arrays.clone(ubi.currentBlock, currentBlock); - currentOffset = ubi.currentOffset; - message = Arrays.clone(ubi.message, this.message); - tweak.reset(ubi.tweak); - } - - public void reset(int type) - { - tweak.reset(); - tweak.setType(type); - currentOffset = 0; - } - - public void update(byte[] value, int offset, int len, long[] output) - { - /* - * Buffer complete blocks for the underlying Threefish cipher, only flushing when there - * are subsequent bytes (last block must be processed in doFinal() with final=true set). - */ - int copied = 0; - while (len > copied) - { - if (currentOffset == currentBlock.length) - { - processBlock(output); - tweak.setFirst(false); - currentOffset = 0; - } - - int toCopy = Math.min((len - copied), currentBlock.length - currentOffset); - System.arraycopy(value, offset + copied, currentBlock, currentOffset, toCopy); - copied += toCopy; - currentOffset += toCopy; - tweak.advancePosition(toCopy); - } - } - - private void processBlock(long[] output) - { - threefish.init(true, chain, tweak.getWords()); - for (int i = 0; i < message.length; i++) - { - message[i] = ThreefishEngine.bytesToWord(currentBlock, i * 8); - } - - threefish.processBlock(message, output); - - for (int i = 0; i < output.length; i++) - { - output[i] ^= message[i]; - } - } - - public void doFinal(long[] output) - { - // Pad remainder of current block with zeroes - for (int i = currentOffset; i < currentBlock.length; i++) - { - currentBlock[i] = 0; - } - - tweak.setFinal(true); - processBlock(output); - } - - } - - /** - * Underlying Threefish tweakable block cipher - */ - final ThreefishEngine threefish; - - /** - * Size of the digest output, in bytes - */ - private final int outputSizeBytes; - - /** - * The current chaining/state value - */ - long[] chain; - - /** - * The initial state value - */ - private long[] initialState; - - /** - * The (optional) key parameter - */ - private byte[] key; - - /** - * Parameters to apply prior to the message - */ - private Parameter[] preMessageParameters; - - /** - * Parameters to apply after the message, but prior to output - */ - private Parameter[] postMessageParameters; - - /** - * The current UBI operation - */ - private final UBI ubi; - - /** - * Buffer for single byte update method - */ - private final byte[] singleByte = new byte[1]; - - /** - * Constructs a Skein engine. - * - * @param blockSizeBits the internal state size in bits - one of {@link #SKEIN_256}, {@link #SKEIN_512} or - * {@link #SKEIN_1024}. - * @param outputSizeBits the output/digest size to produce in bits, which must be an integral number of - * bytes. - */ - public SkeinEngine(int blockSizeBits, int outputSizeBits) - { - if (outputSizeBits % 8 != 0) - { - throw new IllegalArgumentException("Output size must be a multiple of 8 bits. :" + outputSizeBits); - } - // TODO: Prevent digest sizes > block size? - this.outputSizeBytes = outputSizeBits / 8; - - this.threefish = new ThreefishEngine(blockSizeBits); - this.ubi = new UBI(threefish.getBlockSize()); - } - - /** - * Creates a SkeinEngine as an exact copy of an existing instance. - */ - public SkeinEngine(SkeinEngine engine) - { - this(engine.getBlockSize() * 8, engine.getOutputSize() * 8); - copyIn(engine); - } - - private void copyIn(SkeinEngine engine) - { - this.ubi.reset(engine.ubi); - this.chain = Arrays.clone(engine.chain, this.chain); - this.initialState = Arrays.clone(engine.initialState, this.initialState); - this.key = Arrays.clone(engine.key, this.key); - this.preMessageParameters = clone(engine.preMessageParameters, this.preMessageParameters); - this.postMessageParameters = clone(engine.postMessageParameters, this.postMessageParameters); - } - - private static Parameter[] clone(Parameter[] data, Parameter[] existing) - { - if (data == null) - { - return null; - } - if ((existing == null) || (existing.length != data.length)) - { - existing = new Parameter[data.length]; - } - System.arraycopy(data, 0, existing, 0, existing.length); - return existing; - } - - public Memoable copy() - { - return new SkeinEngine(this); - } - - public void reset(Memoable other) - { - SkeinEngine s = (SkeinEngine)other; - if ((getBlockSize() != s.getBlockSize()) || (outputSizeBytes != s.outputSizeBytes)) - { - throw new IllegalArgumentException("Incompatible parameters in provided SkeinEngine."); - } - copyIn(s); - } - - public int getOutputSize() - { - return outputSizeBytes; - } - - public int getBlockSize() - { - return threefish.getBlockSize(); - } - - /** - * Initialises the Skein engine with the provided parameters. See {@link SkeinParameters} for - * details on the parameterisation of the Skein hash function. - * - * @param params the parameters to apply to this engine, or null to use no parameters. - */ - public void init(SkeinParameters params) - { - this.chain = null; - this.key = null; - this.preMessageParameters = null; - this.postMessageParameters = null; - - if (params != null) - { - byte[] key = params.getKey(); - if (key.length < 16) - { - throw new IllegalArgumentException("Skein key must be at least 128 bits."); - } - initParams(params.getParameters()); - } - createInitialState(); - - // Initialise message block - ubiInit(PARAM_TYPE_MESSAGE); - } - - private void initParams(Hashtable parameters) - { - Enumeration keys = parameters.keys(); - final Vector pre = new Vector(); - final Vector post = new Vector(); - - while (keys.hasMoreElements()) - { - Integer type = (Integer)keys.nextElement(); - byte[] value = (byte[])parameters.get(type); - - if (type.intValue() == PARAM_TYPE_KEY) - { - this.key = value; - } - else if (type.intValue() < PARAM_TYPE_MESSAGE) - { - pre.addElement(new Parameter(type.intValue(), value)); - } - else - { - post.addElement(new Parameter(type.intValue(), value)); - } - } - preMessageParameters = new Parameter[pre.size()]; - pre.copyInto(preMessageParameters); - sort(preMessageParameters); - - postMessageParameters = new Parameter[post.size()]; - post.copyInto(postMessageParameters); - sort(postMessageParameters); - } - - private static void sort(Parameter[] params) - { - if (params == null) - { - return; - } - // Insertion sort, for Java 1.1 compatibility - for (int i = 1; i < params.length; i++) - { - Parameter param = params[i]; - int hole = i; - while (hole > 0 && param.getType() < params[hole - 1].getType()) - { - params[hole] = params[hole - 1]; - hole = hole - 1; - } - params[hole] = param; - } - } - - /** - * Calculate the initial (pre message block) chaining state. - */ - private void createInitialState() - { - long[] precalc = (long[])INITIAL_STATES.get(variantIdentifier(getBlockSize(), getOutputSize())); - if ((key == null) && (precalc != null)) - { - // Precalculated UBI(CFG) - chain = Arrays.clone(precalc); - } - else - { - // Blank initial state - chain = new long[getBlockSize() / 8]; - - // Process key block - if (key != null) - { - ubiComplete(SkeinParameters.PARAM_TYPE_KEY, key); - } - - // Process configuration block - ubiComplete(PARAM_TYPE_CONFIG, new Configuration(outputSizeBytes * 8).getBytes()); - } - - // Process additional pre-message parameters - if (preMessageParameters != null) - { - for (int i = 0; i < preMessageParameters.length; i++) - { - Parameter param = preMessageParameters[i]; - ubiComplete(param.getType(), param.getValue()); - } - } - initialState = Arrays.clone(chain); - } - - /** - * Reset the engine to the initial state (with the key and any pre-message parameters , ready to - * accept message input. - */ - public void reset() - { - System.arraycopy(initialState, 0, chain, 0, chain.length); - - ubiInit(PARAM_TYPE_MESSAGE); - } - - private void ubiComplete(int type, byte[] value) - { - ubiInit(type); - this.ubi.update(value, 0, value.length, chain); - ubiFinal(); - } - - private void ubiInit(int type) - { - this.ubi.reset(type); - } - - private void ubiFinal() - { - ubi.doFinal(chain); - } - - private void checkInitialised() - { - if (this.ubi == null) - { - throw new IllegalArgumentException("Skein engine is not initialised."); - } - } - - public void update(byte in) - { - singleByte[0] = in; - update(singleByte, 0, 1); - } - - public void update(byte[] in, int inOff, int len) - { - checkInitialised(); - ubi.update(in, inOff, len, chain); - } - - public int doFinal(byte[] out, int outOff) - { - checkInitialised(); - if (out.length < (outOff + outputSizeBytes)) - { - throw new DataLengthException("Output buffer is too short to hold output of " + outputSizeBytes + " bytes"); - } - - // Finalise message block - ubiFinal(); - - // Process additional post-message parameters - if (postMessageParameters != null) - { - for (int i = 0; i < postMessageParameters.length; i++) - { - Parameter param = postMessageParameters[i]; - ubiComplete(param.getType(), param.getValue()); - } - } - - // Perform the output transform - final int blockSize = getBlockSize(); - final int blocksRequired = ((outputSizeBytes + blockSize - 1) / blockSize); - for (int i = 0; i < blocksRequired; i++) - { - final int toWrite = Math.min(blockSize, outputSizeBytes - (i * blockSize)); - output(i, out, outOff + (i * blockSize), toWrite); - } - - reset(); - - return outputSizeBytes; - } - - private void output(long outputSequence, byte[] out, int outOff, int outputBytes) - { - byte[] currentBytes = new byte[8]; - ThreefishEngine.wordToBytes(outputSequence, currentBytes, 0); - - // Output is a sequence of UBI invocations all of which use and preserve the pre-output - // state - long[] outputWords = new long[chain.length]; - ubiInit(PARAM_TYPE_OUTPUT); - this.ubi.update(currentBytes, 0, currentBytes.length, outputWords); - ubi.doFinal(outputWords); - - final int wordsRequired = ((outputBytes + 8 - 1) / 8); - for (int i = 0; i < wordsRequired; i++) - { - int toWrite = Math.min(8, outputBytes - (i * 8)); - if (toWrite == 8) - { - ThreefishEngine.wordToBytes(outputWords[i], out, outOff + (i * 8)); - } - else - { - ThreefishEngine.wordToBytes(outputWords[i], currentBytes, 0); - System.arraycopy(currentBytes, 0, out, outOff + (i * 8), toWrite); - } - } - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/TigerDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/TigerDigest.java deleted file mode 100644 index b9d0b83a3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/TigerDigest.java +++ /dev/null @@ -1,879 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Memoable; - -/** - * implementation of Tiger based on: - * - * http://www.cs.technion.ac.il/~biham/Reports/Tiger - */ -public class TigerDigest - implements ExtendedDigest, Memoable -{ - private static final int BYTE_LENGTH = 64; - - /* - * S-Boxes. - */ - private static final long[] t1 = { - 0x02AAB17CF7E90C5EL /* 0 */, 0xAC424B03E243A8ECL /* 1 */, - 0x72CD5BE30DD5FCD3L /* 2 */, 0x6D019B93F6F97F3AL /* 3 */, - 0xCD9978FFD21F9193L /* 4 */, 0x7573A1C9708029E2L /* 5 */, - 0xB164326B922A83C3L /* 6 */, 0x46883EEE04915870L /* 7 */, - 0xEAACE3057103ECE6L /* 8 */, 0xC54169B808A3535CL /* 9 */, - 0x4CE754918DDEC47CL /* 10 */, 0x0AA2F4DFDC0DF40CL /* 11 */, - 0x10B76F18A74DBEFAL /* 12 */, 0xC6CCB6235AD1AB6AL /* 13 */, - 0x13726121572FE2FFL /* 14 */, 0x1A488C6F199D921EL /* 15 */, - 0x4BC9F9F4DA0007CAL /* 16 */, 0x26F5E6F6E85241C7L /* 17 */, - 0x859079DBEA5947B6L /* 18 */, 0x4F1885C5C99E8C92L /* 19 */, - 0xD78E761EA96F864BL /* 20 */, 0x8E36428C52B5C17DL /* 21 */, - 0x69CF6827373063C1L /* 22 */, 0xB607C93D9BB4C56EL /* 23 */, - 0x7D820E760E76B5EAL /* 24 */, 0x645C9CC6F07FDC42L /* 25 */, - 0xBF38A078243342E0L /* 26 */, 0x5F6B343C9D2E7D04L /* 27 */, - 0xF2C28AEB600B0EC6L /* 28 */, 0x6C0ED85F7254BCACL /* 29 */, - 0x71592281A4DB4FE5L /* 30 */, 0x1967FA69CE0FED9FL /* 31 */, - 0xFD5293F8B96545DBL /* 32 */, 0xC879E9D7F2A7600BL /* 33 */, - 0x860248920193194EL /* 34 */, 0xA4F9533B2D9CC0B3L /* 35 */, - 0x9053836C15957613L /* 36 */, 0xDB6DCF8AFC357BF1L /* 37 */, - 0x18BEEA7A7A370F57L /* 38 */, 0x037117CA50B99066L /* 39 */, - 0x6AB30A9774424A35L /* 40 */, 0xF4E92F02E325249BL /* 41 */, - 0x7739DB07061CCAE1L /* 42 */, 0xD8F3B49CECA42A05L /* 43 */, - 0xBD56BE3F51382F73L /* 44 */, 0x45FAED5843B0BB28L /* 45 */, - 0x1C813D5C11BF1F83L /* 46 */, 0x8AF0E4B6D75FA169L /* 47 */, - 0x33EE18A487AD9999L /* 48 */, 0x3C26E8EAB1C94410L /* 49 */, - 0xB510102BC0A822F9L /* 50 */, 0x141EEF310CE6123BL /* 51 */, - 0xFC65B90059DDB154L /* 52 */, 0xE0158640C5E0E607L /* 53 */, - 0x884E079826C3A3CFL /* 54 */, 0x930D0D9523C535FDL /* 55 */, - 0x35638D754E9A2B00L /* 56 */, 0x4085FCCF40469DD5L /* 57 */, - 0xC4B17AD28BE23A4CL /* 58 */, 0xCAB2F0FC6A3E6A2EL /* 59 */, - 0x2860971A6B943FCDL /* 60 */, 0x3DDE6EE212E30446L /* 61 */, - 0x6222F32AE01765AEL /* 62 */, 0x5D550BB5478308FEL /* 63 */, - 0xA9EFA98DA0EDA22AL /* 64 */, 0xC351A71686C40DA7L /* 65 */, - 0x1105586D9C867C84L /* 66 */, 0xDCFFEE85FDA22853L /* 67 */, - 0xCCFBD0262C5EEF76L /* 68 */, 0xBAF294CB8990D201L /* 69 */, - 0xE69464F52AFAD975L /* 70 */, 0x94B013AFDF133E14L /* 71 */, - 0x06A7D1A32823C958L /* 72 */, 0x6F95FE5130F61119L /* 73 */, - 0xD92AB34E462C06C0L /* 74 */, 0xED7BDE33887C71D2L /* 75 */, - 0x79746D6E6518393EL /* 76 */, 0x5BA419385D713329L /* 77 */, - 0x7C1BA6B948A97564L /* 78 */, 0x31987C197BFDAC67L /* 79 */, - 0xDE6C23C44B053D02L /* 80 */, 0x581C49FED002D64DL /* 81 */, - 0xDD474D6338261571L /* 82 */, 0xAA4546C3E473D062L /* 83 */, - 0x928FCE349455F860L /* 84 */, 0x48161BBACAAB94D9L /* 85 */, - 0x63912430770E6F68L /* 86 */, 0x6EC8A5E602C6641CL /* 87 */, - 0x87282515337DDD2BL /* 88 */, 0x2CDA6B42034B701BL /* 89 */, - 0xB03D37C181CB096DL /* 90 */, 0xE108438266C71C6FL /* 91 */, - 0x2B3180C7EB51B255L /* 92 */, 0xDF92B82F96C08BBCL /* 93 */, - 0x5C68C8C0A632F3BAL /* 94 */, 0x5504CC861C3D0556L /* 95 */, - 0xABBFA4E55FB26B8FL /* 96 */, 0x41848B0AB3BACEB4L /* 97 */, - 0xB334A273AA445D32L /* 98 */, 0xBCA696F0A85AD881L /* 99 */, - 0x24F6EC65B528D56CL /* 100 */, 0x0CE1512E90F4524AL /* 101 */, - 0x4E9DD79D5506D35AL /* 102 */, 0x258905FAC6CE9779L /* 103 */, - 0x2019295B3E109B33L /* 104 */, 0xF8A9478B73A054CCL /* 105 */, - 0x2924F2F934417EB0L /* 106 */, 0x3993357D536D1BC4L /* 107 */, - 0x38A81AC21DB6FF8BL /* 108 */, 0x47C4FBF17D6016BFL /* 109 */, - 0x1E0FAADD7667E3F5L /* 110 */, 0x7ABCFF62938BEB96L /* 111 */, - 0xA78DAD948FC179C9L /* 112 */, 0x8F1F98B72911E50DL /* 113 */, - 0x61E48EAE27121A91L /* 114 */, 0x4D62F7AD31859808L /* 115 */, - 0xECEBA345EF5CEAEBL /* 116 */, 0xF5CEB25EBC9684CEL /* 117 */, - 0xF633E20CB7F76221L /* 118 */, 0xA32CDF06AB8293E4L /* 119 */, - 0x985A202CA5EE2CA4L /* 120 */, 0xCF0B8447CC8A8FB1L /* 121 */, - 0x9F765244979859A3L /* 122 */, 0xA8D516B1A1240017L /* 123 */, - 0x0BD7BA3EBB5DC726L /* 124 */, 0xE54BCA55B86ADB39L /* 125 */, - 0x1D7A3AFD6C478063L /* 126 */, 0x519EC608E7669EDDL /* 127 */, - 0x0E5715A2D149AA23L /* 128 */, 0x177D4571848FF194L /* 129 */, - 0xEEB55F3241014C22L /* 130 */, 0x0F5E5CA13A6E2EC2L /* 131 */, - 0x8029927B75F5C361L /* 132 */, 0xAD139FABC3D6E436L /* 133 */, - 0x0D5DF1A94CCF402FL /* 134 */, 0x3E8BD948BEA5DFC8L /* 135 */, - 0xA5A0D357BD3FF77EL /* 136 */, 0xA2D12E251F74F645L /* 137 */, - 0x66FD9E525E81A082L /* 138 */, 0x2E0C90CE7F687A49L /* 139 */, - 0xC2E8BCBEBA973BC5L /* 140 */, 0x000001BCE509745FL /* 141 */, - 0x423777BBE6DAB3D6L /* 142 */, 0xD1661C7EAEF06EB5L /* 143 */, - 0xA1781F354DAACFD8L /* 144 */, 0x2D11284A2B16AFFCL /* 145 */, - 0xF1FC4F67FA891D1FL /* 146 */, 0x73ECC25DCB920ADAL /* 147 */, - 0xAE610C22C2A12651L /* 148 */, 0x96E0A810D356B78AL /* 149 */, - 0x5A9A381F2FE7870FL /* 150 */, 0xD5AD62EDE94E5530L /* 151 */, - 0xD225E5E8368D1427L /* 152 */, 0x65977B70C7AF4631L /* 153 */, - 0x99F889B2DE39D74FL /* 154 */, 0x233F30BF54E1D143L /* 155 */, - 0x9A9675D3D9A63C97L /* 156 */, 0x5470554FF334F9A8L /* 157 */, - 0x166ACB744A4F5688L /* 158 */, 0x70C74CAAB2E4AEADL /* 159 */, - 0xF0D091646F294D12L /* 160 */, 0x57B82A89684031D1L /* 161 */, - 0xEFD95A5A61BE0B6BL /* 162 */, 0x2FBD12E969F2F29AL /* 163 */, - 0x9BD37013FEFF9FE8L /* 164 */, 0x3F9B0404D6085A06L /* 165 */, - 0x4940C1F3166CFE15L /* 166 */, 0x09542C4DCDF3DEFBL /* 167 */, - 0xB4C5218385CD5CE3L /* 168 */, 0xC935B7DC4462A641L /* 169 */, - 0x3417F8A68ED3B63FL /* 170 */, 0xB80959295B215B40L /* 171 */, - 0xF99CDAEF3B8C8572L /* 172 */, 0x018C0614F8FCB95DL /* 173 */, - 0x1B14ACCD1A3ACDF3L /* 174 */, 0x84D471F200BB732DL /* 175 */, - 0xC1A3110E95E8DA16L /* 176 */, 0x430A7220BF1A82B8L /* 177 */, - 0xB77E090D39DF210EL /* 178 */, 0x5EF4BD9F3CD05E9DL /* 179 */, - 0x9D4FF6DA7E57A444L /* 180 */, 0xDA1D60E183D4A5F8L /* 181 */, - 0xB287C38417998E47L /* 182 */, 0xFE3EDC121BB31886L /* 183 */, - 0xC7FE3CCC980CCBEFL /* 184 */, 0xE46FB590189BFD03L /* 185 */, - 0x3732FD469A4C57DCL /* 186 */, 0x7EF700A07CF1AD65L /* 187 */, - 0x59C64468A31D8859L /* 188 */, 0x762FB0B4D45B61F6L /* 189 */, - 0x155BAED099047718L /* 190 */, 0x68755E4C3D50BAA6L /* 191 */, - 0xE9214E7F22D8B4DFL /* 192 */, 0x2ADDBF532EAC95F4L /* 193 */, - 0x32AE3909B4BD0109L /* 194 */, 0x834DF537B08E3450L /* 195 */, - 0xFA209DA84220728DL /* 196 */, 0x9E691D9B9EFE23F7L /* 197 */, - 0x0446D288C4AE8D7FL /* 198 */, 0x7B4CC524E169785BL /* 199 */, - 0x21D87F0135CA1385L /* 200 */, 0xCEBB400F137B8AA5L /* 201 */, - 0x272E2B66580796BEL /* 202 */, 0x3612264125C2B0DEL /* 203 */, - 0x057702BDAD1EFBB2L /* 204 */, 0xD4BABB8EACF84BE9L /* 205 */, - 0x91583139641BC67BL /* 206 */, 0x8BDC2DE08036E024L /* 207 */, - 0x603C8156F49F68EDL /* 208 */, 0xF7D236F7DBEF5111L /* 209 */, - 0x9727C4598AD21E80L /* 210 */, 0xA08A0896670A5FD7L /* 211 */, - 0xCB4A8F4309EBA9CBL /* 212 */, 0x81AF564B0F7036A1L /* 213 */, - 0xC0B99AA778199ABDL /* 214 */, 0x959F1EC83FC8E952L /* 215 */, - 0x8C505077794A81B9L /* 216 */, 0x3ACAAF8F056338F0L /* 217 */, - 0x07B43F50627A6778L /* 218 */, 0x4A44AB49F5ECCC77L /* 219 */, - 0x3BC3D6E4B679EE98L /* 220 */, 0x9CC0D4D1CF14108CL /* 221 */, - 0x4406C00B206BC8A0L /* 222 */, 0x82A18854C8D72D89L /* 223 */, - 0x67E366B35C3C432CL /* 224 */, 0xB923DD61102B37F2L /* 225 */, - 0x56AB2779D884271DL /* 226 */, 0xBE83E1B0FF1525AFL /* 227 */, - 0xFB7C65D4217E49A9L /* 228 */, 0x6BDBE0E76D48E7D4L /* 229 */, - 0x08DF828745D9179EL /* 230 */, 0x22EA6A9ADD53BD34L /* 231 */, - 0xE36E141C5622200AL /* 232 */, 0x7F805D1B8CB750EEL /* 233 */, - 0xAFE5C7A59F58E837L /* 234 */, 0xE27F996A4FB1C23CL /* 235 */, - 0xD3867DFB0775F0D0L /* 236 */, 0xD0E673DE6E88891AL /* 237 */, - 0x123AEB9EAFB86C25L /* 238 */, 0x30F1D5D5C145B895L /* 239 */, - 0xBB434A2DEE7269E7L /* 240 */, 0x78CB67ECF931FA38L /* 241 */, - 0xF33B0372323BBF9CL /* 242 */, 0x52D66336FB279C74L /* 243 */, - 0x505F33AC0AFB4EAAL /* 244 */, 0xE8A5CD99A2CCE187L /* 245 */, - 0x534974801E2D30BBL /* 246 */, 0x8D2D5711D5876D90L /* 247 */, - 0x1F1A412891BC038EL /* 248 */, 0xD6E2E71D82E56648L /* 249 */, - 0x74036C3A497732B7L /* 250 */, 0x89B67ED96361F5ABL /* 251 */, - 0xFFED95D8F1EA02A2L /* 252 */, 0xE72B3BD61464D43DL /* 253 */, - 0xA6300F170BDC4820L /* 254 */, 0xEBC18760ED78A77AL /* 255 */, - }; - - private static final long[] t2 = { - 0xE6A6BE5A05A12138L /* 256 */, 0xB5A122A5B4F87C98L /* 257 */, - 0x563C6089140B6990L /* 258 */, 0x4C46CB2E391F5DD5L /* 259 */, - 0xD932ADDBC9B79434L /* 260 */, 0x08EA70E42015AFF5L /* 261 */, - 0xD765A6673E478CF1L /* 262 */, 0xC4FB757EAB278D99L /* 263 */, - 0xDF11C6862D6E0692L /* 264 */, 0xDDEB84F10D7F3B16L /* 265 */, - 0x6F2EF604A665EA04L /* 266 */, 0x4A8E0F0FF0E0DFB3L /* 267 */, - 0xA5EDEEF83DBCBA51L /* 268 */, 0xFC4F0A2A0EA4371EL /* 269 */, - 0xE83E1DA85CB38429L /* 270 */, 0xDC8FF882BA1B1CE2L /* 271 */, - 0xCD45505E8353E80DL /* 272 */, 0x18D19A00D4DB0717L /* 273 */, - 0x34A0CFEDA5F38101L /* 274 */, 0x0BE77E518887CAF2L /* 275 */, - 0x1E341438B3C45136L /* 276 */, 0xE05797F49089CCF9L /* 277 */, - 0xFFD23F9DF2591D14L /* 278 */, 0x543DDA228595C5CDL /* 279 */, - 0x661F81FD99052A33L /* 280 */, 0x8736E641DB0F7B76L /* 281 */, - 0x15227725418E5307L /* 282 */, 0xE25F7F46162EB2FAL /* 283 */, - 0x48A8B2126C13D9FEL /* 284 */, 0xAFDC541792E76EEAL /* 285 */, - 0x03D912BFC6D1898FL /* 286 */, 0x31B1AAFA1B83F51BL /* 287 */, - 0xF1AC2796E42AB7D9L /* 288 */, 0x40A3A7D7FCD2EBACL /* 289 */, - 0x1056136D0AFBBCC5L /* 290 */, 0x7889E1DD9A6D0C85L /* 291 */, - 0xD33525782A7974AAL /* 292 */, 0xA7E25D09078AC09BL /* 293 */, - 0xBD4138B3EAC6EDD0L /* 294 */, 0x920ABFBE71EB9E70L /* 295 */, - 0xA2A5D0F54FC2625CL /* 296 */, 0xC054E36B0B1290A3L /* 297 */, - 0xF6DD59FF62FE932BL /* 298 */, 0x3537354511A8AC7DL /* 299 */, - 0xCA845E9172FADCD4L /* 300 */, 0x84F82B60329D20DCL /* 301 */, - 0x79C62CE1CD672F18L /* 302 */, 0x8B09A2ADD124642CL /* 303 */, - 0xD0C1E96A19D9E726L /* 304 */, 0x5A786A9B4BA9500CL /* 305 */, - 0x0E020336634C43F3L /* 306 */, 0xC17B474AEB66D822L /* 307 */, - 0x6A731AE3EC9BAAC2L /* 308 */, 0x8226667AE0840258L /* 309 */, - 0x67D4567691CAECA5L /* 310 */, 0x1D94155C4875ADB5L /* 311 */, - 0x6D00FD985B813FDFL /* 312 */, 0x51286EFCB774CD06L /* 313 */, - 0x5E8834471FA744AFL /* 314 */, 0xF72CA0AEE761AE2EL /* 315 */, - 0xBE40E4CDAEE8E09AL /* 316 */, 0xE9970BBB5118F665L /* 317 */, - 0x726E4BEB33DF1964L /* 318 */, 0x703B000729199762L /* 319 */, - 0x4631D816F5EF30A7L /* 320 */, 0xB880B5B51504A6BEL /* 321 */, - 0x641793C37ED84B6CL /* 322 */, 0x7B21ED77F6E97D96L /* 323 */, - 0x776306312EF96B73L /* 324 */, 0xAE528948E86FF3F4L /* 325 */, - 0x53DBD7F286A3F8F8L /* 326 */, 0x16CADCE74CFC1063L /* 327 */, - 0x005C19BDFA52C6DDL /* 328 */, 0x68868F5D64D46AD3L /* 329 */, - 0x3A9D512CCF1E186AL /* 330 */, 0x367E62C2385660AEL /* 331 */, - 0xE359E7EA77DCB1D7L /* 332 */, 0x526C0773749ABE6EL /* 333 */, - 0x735AE5F9D09F734BL /* 334 */, 0x493FC7CC8A558BA8L /* 335 */, - 0xB0B9C1533041AB45L /* 336 */, 0x321958BA470A59BDL /* 337 */, - 0x852DB00B5F46C393L /* 338 */, 0x91209B2BD336B0E5L /* 339 */, - 0x6E604F7D659EF19FL /* 340 */, 0xB99A8AE2782CCB24L /* 341 */, - 0xCCF52AB6C814C4C7L /* 342 */, 0x4727D9AFBE11727BL /* 343 */, - 0x7E950D0C0121B34DL /* 344 */, 0x756F435670AD471FL /* 345 */, - 0xF5ADD442615A6849L /* 346 */, 0x4E87E09980B9957AL /* 347 */, - 0x2ACFA1DF50AEE355L /* 348 */, 0xD898263AFD2FD556L /* 349 */, - 0xC8F4924DD80C8FD6L /* 350 */, 0xCF99CA3D754A173AL /* 351 */, - 0xFE477BACAF91BF3CL /* 352 */, 0xED5371F6D690C12DL /* 353 */, - 0x831A5C285E687094L /* 354 */, 0xC5D3C90A3708A0A4L /* 355 */, - 0x0F7F903717D06580L /* 356 */, 0x19F9BB13B8FDF27FL /* 357 */, - 0xB1BD6F1B4D502843L /* 358 */, 0x1C761BA38FFF4012L /* 359 */, - 0x0D1530C4E2E21F3BL /* 360 */, 0x8943CE69A7372C8AL /* 361 */, - 0xE5184E11FEB5CE66L /* 362 */, 0x618BDB80BD736621L /* 363 */, - 0x7D29BAD68B574D0BL /* 364 */, 0x81BB613E25E6FE5BL /* 365 */, - 0x071C9C10BC07913FL /* 366 */, 0xC7BEEB7909AC2D97L /* 367 */, - 0xC3E58D353BC5D757L /* 368 */, 0xEB017892F38F61E8L /* 369 */, - 0xD4EFFB9C9B1CC21AL /* 370 */, 0x99727D26F494F7ABL /* 371 */, - 0xA3E063A2956B3E03L /* 372 */, 0x9D4A8B9A4AA09C30L /* 373 */, - 0x3F6AB7D500090FB4L /* 374 */, 0x9CC0F2A057268AC0L /* 375 */, - 0x3DEE9D2DEDBF42D1L /* 376 */, 0x330F49C87960A972L /* 377 */, - 0xC6B2720287421B41L /* 378 */, 0x0AC59EC07C00369CL /* 379 */, - 0xEF4EAC49CB353425L /* 380 */, 0xF450244EEF0129D8L /* 381 */, - 0x8ACC46E5CAF4DEB6L /* 382 */, 0x2FFEAB63989263F7L /* 383 */, - 0x8F7CB9FE5D7A4578L /* 384 */, 0x5BD8F7644E634635L /* 385 */, - 0x427A7315BF2DC900L /* 386 */, 0x17D0C4AA2125261CL /* 387 */, - 0x3992486C93518E50L /* 388 */, 0xB4CBFEE0A2D7D4C3L /* 389 */, - 0x7C75D6202C5DDD8DL /* 390 */, 0xDBC295D8E35B6C61L /* 391 */, - 0x60B369D302032B19L /* 392 */, 0xCE42685FDCE44132L /* 393 */, - 0x06F3DDB9DDF65610L /* 394 */, 0x8EA4D21DB5E148F0L /* 395 */, - 0x20B0FCE62FCD496FL /* 396 */, 0x2C1B912358B0EE31L /* 397 */, - 0xB28317B818F5A308L /* 398 */, 0xA89C1E189CA6D2CFL /* 399 */, - 0x0C6B18576AAADBC8L /* 400 */, 0xB65DEAA91299FAE3L /* 401 */, - 0xFB2B794B7F1027E7L /* 402 */, 0x04E4317F443B5BEBL /* 403 */, - 0x4B852D325939D0A6L /* 404 */, 0xD5AE6BEEFB207FFCL /* 405 */, - 0x309682B281C7D374L /* 406 */, 0xBAE309A194C3B475L /* 407 */, - 0x8CC3F97B13B49F05L /* 408 */, 0x98A9422FF8293967L /* 409 */, - 0x244B16B01076FF7CL /* 410 */, 0xF8BF571C663D67EEL /* 411 */, - 0x1F0D6758EEE30DA1L /* 412 */, 0xC9B611D97ADEB9B7L /* 413 */, - 0xB7AFD5887B6C57A2L /* 414 */, 0x6290AE846B984FE1L /* 415 */, - 0x94DF4CDEACC1A5FDL /* 416 */, 0x058A5BD1C5483AFFL /* 417 */, - 0x63166CC142BA3C37L /* 418 */, 0x8DB8526EB2F76F40L /* 419 */, - 0xE10880036F0D6D4EL /* 420 */, 0x9E0523C9971D311DL /* 421 */, - 0x45EC2824CC7CD691L /* 422 */, 0x575B8359E62382C9L /* 423 */, - 0xFA9E400DC4889995L /* 424 */, 0xD1823ECB45721568L /* 425 */, - 0xDAFD983B8206082FL /* 426 */, 0xAA7D29082386A8CBL /* 427 */, - 0x269FCD4403B87588L /* 428 */, 0x1B91F5F728BDD1E0L /* 429 */, - 0xE4669F39040201F6L /* 430 */, 0x7A1D7C218CF04ADEL /* 431 */, - 0x65623C29D79CE5CEL /* 432 */, 0x2368449096C00BB1L /* 433 */, - 0xAB9BF1879DA503BAL /* 434 */, 0xBC23ECB1A458058EL /* 435 */, - 0x9A58DF01BB401ECCL /* 436 */, 0xA070E868A85F143DL /* 437 */, - 0x4FF188307DF2239EL /* 438 */, 0x14D565B41A641183L /* 439 */, - 0xEE13337452701602L /* 440 */, 0x950E3DCF3F285E09L /* 441 */, - 0x59930254B9C80953L /* 442 */, 0x3BF299408930DA6DL /* 443 */, - 0xA955943F53691387L /* 444 */, 0xA15EDECAA9CB8784L /* 445 */, - 0x29142127352BE9A0L /* 446 */, 0x76F0371FFF4E7AFBL /* 447 */, - 0x0239F450274F2228L /* 448 */, 0xBB073AF01D5E868BL /* 449 */, - 0xBFC80571C10E96C1L /* 450 */, 0xD267088568222E23L /* 451 */, - 0x9671A3D48E80B5B0L /* 452 */, 0x55B5D38AE193BB81L /* 453 */, - 0x693AE2D0A18B04B8L /* 454 */, 0x5C48B4ECADD5335FL /* 455 */, - 0xFD743B194916A1CAL /* 456 */, 0x2577018134BE98C4L /* 457 */, - 0xE77987E83C54A4ADL /* 458 */, 0x28E11014DA33E1B9L /* 459 */, - 0x270CC59E226AA213L /* 460 */, 0x71495F756D1A5F60L /* 461 */, - 0x9BE853FB60AFEF77L /* 462 */, 0xADC786A7F7443DBFL /* 463 */, - 0x0904456173B29A82L /* 464 */, 0x58BC7A66C232BD5EL /* 465 */, - 0xF306558C673AC8B2L /* 466 */, 0x41F639C6B6C9772AL /* 467 */, - 0x216DEFE99FDA35DAL /* 468 */, 0x11640CC71C7BE615L /* 469 */, - 0x93C43694565C5527L /* 470 */, 0xEA038E6246777839L /* 471 */, - 0xF9ABF3CE5A3E2469L /* 472 */, 0x741E768D0FD312D2L /* 473 */, - 0x0144B883CED652C6L /* 474 */, 0xC20B5A5BA33F8552L /* 475 */, - 0x1AE69633C3435A9DL /* 476 */, 0x97A28CA4088CFDECL /* 477 */, - 0x8824A43C1E96F420L /* 478 */, 0x37612FA66EEEA746L /* 479 */, - 0x6B4CB165F9CF0E5AL /* 480 */, 0x43AA1C06A0ABFB4AL /* 481 */, - 0x7F4DC26FF162796BL /* 482 */, 0x6CBACC8E54ED9B0FL /* 483 */, - 0xA6B7FFEFD2BB253EL /* 484 */, 0x2E25BC95B0A29D4FL /* 485 */, - 0x86D6A58BDEF1388CL /* 486 */, 0xDED74AC576B6F054L /* 487 */, - 0x8030BDBC2B45805DL /* 488 */, 0x3C81AF70E94D9289L /* 489 */, - 0x3EFF6DDA9E3100DBL /* 490 */, 0xB38DC39FDFCC8847L /* 491 */, - 0x123885528D17B87EL /* 492 */, 0xF2DA0ED240B1B642L /* 493 */, - 0x44CEFADCD54BF9A9L /* 494 */, 0x1312200E433C7EE6L /* 495 */, - 0x9FFCC84F3A78C748L /* 496 */, 0xF0CD1F72248576BBL /* 497 */, - 0xEC6974053638CFE4L /* 498 */, 0x2BA7B67C0CEC4E4CL /* 499 */, - 0xAC2F4DF3E5CE32EDL /* 500 */, 0xCB33D14326EA4C11L /* 501 */, - 0xA4E9044CC77E58BCL /* 502 */, 0x5F513293D934FCEFL /* 503 */, - 0x5DC9645506E55444L /* 504 */, 0x50DE418F317DE40AL /* 505 */, - 0x388CB31A69DDE259L /* 506 */, 0x2DB4A83455820A86L /* 507 */, - 0x9010A91E84711AE9L /* 508 */, 0x4DF7F0B7B1498371L /* 509 */, - 0xD62A2EABC0977179L /* 510 */, 0x22FAC097AA8D5C0EL /* 511 */, - }; - - private static final long[] t3 = { - 0xF49FCC2FF1DAF39BL /* 512 */, 0x487FD5C66FF29281L /* 513 */, - 0xE8A30667FCDCA83FL /* 514 */, 0x2C9B4BE3D2FCCE63L /* 515 */, - 0xDA3FF74B93FBBBC2L /* 516 */, 0x2FA165D2FE70BA66L /* 517 */, - 0xA103E279970E93D4L /* 518 */, 0xBECDEC77B0E45E71L /* 519 */, - 0xCFB41E723985E497L /* 520 */, 0xB70AAA025EF75017L /* 521 */, - 0xD42309F03840B8E0L /* 522 */, 0x8EFC1AD035898579L /* 523 */, - 0x96C6920BE2B2ABC5L /* 524 */, 0x66AF4163375A9172L /* 525 */, - 0x2174ABDCCA7127FBL /* 526 */, 0xB33CCEA64A72FF41L /* 527 */, - 0xF04A4933083066A5L /* 528 */, 0x8D970ACDD7289AF5L /* 529 */, - 0x8F96E8E031C8C25EL /* 530 */, 0xF3FEC02276875D47L /* 531 */, - 0xEC7BF310056190DDL /* 532 */, 0xF5ADB0AEBB0F1491L /* 533 */, - 0x9B50F8850FD58892L /* 534 */, 0x4975488358B74DE8L /* 535 */, - 0xA3354FF691531C61L /* 536 */, 0x0702BBE481D2C6EEL /* 537 */, - 0x89FB24057DEDED98L /* 538 */, 0xAC3075138596E902L /* 539 */, - 0x1D2D3580172772EDL /* 540 */, 0xEB738FC28E6BC30DL /* 541 */, - 0x5854EF8F63044326L /* 542 */, 0x9E5C52325ADD3BBEL /* 543 */, - 0x90AA53CF325C4623L /* 544 */, 0xC1D24D51349DD067L /* 545 */, - 0x2051CFEEA69EA624L /* 546 */, 0x13220F0A862E7E4FL /* 547 */, - 0xCE39399404E04864L /* 548 */, 0xD9C42CA47086FCB7L /* 549 */, - 0x685AD2238A03E7CCL /* 550 */, 0x066484B2AB2FF1DBL /* 551 */, - 0xFE9D5D70EFBF79ECL /* 552 */, 0x5B13B9DD9C481854L /* 553 */, - 0x15F0D475ED1509ADL /* 554 */, 0x0BEBCD060EC79851L /* 555 */, - 0xD58C6791183AB7F8L /* 556 */, 0xD1187C5052F3EEE4L /* 557 */, - 0xC95D1192E54E82FFL /* 558 */, 0x86EEA14CB9AC6CA2L /* 559 */, - 0x3485BEB153677D5DL /* 560 */, 0xDD191D781F8C492AL /* 561 */, - 0xF60866BAA784EBF9L /* 562 */, 0x518F643BA2D08C74L /* 563 */, - 0x8852E956E1087C22L /* 564 */, 0xA768CB8DC410AE8DL /* 565 */, - 0x38047726BFEC8E1AL /* 566 */, 0xA67738B4CD3B45AAL /* 567 */, - 0xAD16691CEC0DDE19L /* 568 */, 0xC6D4319380462E07L /* 569 */, - 0xC5A5876D0BA61938L /* 570 */, 0x16B9FA1FA58FD840L /* 571 */, - 0x188AB1173CA74F18L /* 572 */, 0xABDA2F98C99C021FL /* 573 */, - 0x3E0580AB134AE816L /* 574 */, 0x5F3B05B773645ABBL /* 575 */, - 0x2501A2BE5575F2F6L /* 576 */, 0x1B2F74004E7E8BA9L /* 577 */, - 0x1CD7580371E8D953L /* 578 */, 0x7F6ED89562764E30L /* 579 */, - 0xB15926FF596F003DL /* 580 */, 0x9F65293DA8C5D6B9L /* 581 */, - 0x6ECEF04DD690F84CL /* 582 */, 0x4782275FFF33AF88L /* 583 */, - 0xE41433083F820801L /* 584 */, 0xFD0DFE409A1AF9B5L /* 585 */, - 0x4325A3342CDB396BL /* 586 */, 0x8AE77E62B301B252L /* 587 */, - 0xC36F9E9F6655615AL /* 588 */, 0x85455A2D92D32C09L /* 589 */, - 0xF2C7DEA949477485L /* 590 */, 0x63CFB4C133A39EBAL /* 591 */, - 0x83B040CC6EBC5462L /* 592 */, 0x3B9454C8FDB326B0L /* 593 */, - 0x56F56A9E87FFD78CL /* 594 */, 0x2DC2940D99F42BC6L /* 595 */, - 0x98F7DF096B096E2DL /* 596 */, 0x19A6E01E3AD852BFL /* 597 */, - 0x42A99CCBDBD4B40BL /* 598 */, 0xA59998AF45E9C559L /* 599 */, - 0x366295E807D93186L /* 600 */, 0x6B48181BFAA1F773L /* 601 */, - 0x1FEC57E2157A0A1DL /* 602 */, 0x4667446AF6201AD5L /* 603 */, - 0xE615EBCACFB0F075L /* 604 */, 0xB8F31F4F68290778L /* 605 */, - 0x22713ED6CE22D11EL /* 606 */, 0x3057C1A72EC3C93BL /* 607 */, - 0xCB46ACC37C3F1F2FL /* 608 */, 0xDBB893FD02AAF50EL /* 609 */, - 0x331FD92E600B9FCFL /* 610 */, 0xA498F96148EA3AD6L /* 611 */, - 0xA8D8426E8B6A83EAL /* 612 */, 0xA089B274B7735CDCL /* 613 */, - 0x87F6B3731E524A11L /* 614 */, 0x118808E5CBC96749L /* 615 */, - 0x9906E4C7B19BD394L /* 616 */, 0xAFED7F7E9B24A20CL /* 617 */, - 0x6509EADEEB3644A7L /* 618 */, 0x6C1EF1D3E8EF0EDEL /* 619 */, - 0xB9C97D43E9798FB4L /* 620 */, 0xA2F2D784740C28A3L /* 621 */, - 0x7B8496476197566FL /* 622 */, 0x7A5BE3E6B65F069DL /* 623 */, - 0xF96330ED78BE6F10L /* 624 */, 0xEEE60DE77A076A15L /* 625 */, - 0x2B4BEE4AA08B9BD0L /* 626 */, 0x6A56A63EC7B8894EL /* 627 */, - 0x02121359BA34FEF4L /* 628 */, 0x4CBF99F8283703FCL /* 629 */, - 0x398071350CAF30C8L /* 630 */, 0xD0A77A89F017687AL /* 631 */, - 0xF1C1A9EB9E423569L /* 632 */, 0x8C7976282DEE8199L /* 633 */, - 0x5D1737A5DD1F7ABDL /* 634 */, 0x4F53433C09A9FA80L /* 635 */, - 0xFA8B0C53DF7CA1D9L /* 636 */, 0x3FD9DCBC886CCB77L /* 637 */, - 0xC040917CA91B4720L /* 638 */, 0x7DD00142F9D1DCDFL /* 639 */, - 0x8476FC1D4F387B58L /* 640 */, 0x23F8E7C5F3316503L /* 641 */, - 0x032A2244E7E37339L /* 642 */, 0x5C87A5D750F5A74BL /* 643 */, - 0x082B4CC43698992EL /* 644 */, 0xDF917BECB858F63CL /* 645 */, - 0x3270B8FC5BF86DDAL /* 646 */, 0x10AE72BB29B5DD76L /* 647 */, - 0x576AC94E7700362BL /* 648 */, 0x1AD112DAC61EFB8FL /* 649 */, - 0x691BC30EC5FAA427L /* 650 */, 0xFF246311CC327143L /* 651 */, - 0x3142368E30E53206L /* 652 */, 0x71380E31E02CA396L /* 653 */, - 0x958D5C960AAD76F1L /* 654 */, 0xF8D6F430C16DA536L /* 655 */, - 0xC8FFD13F1BE7E1D2L /* 656 */, 0x7578AE66004DDBE1L /* 657 */, - 0x05833F01067BE646L /* 658 */, 0xBB34B5AD3BFE586DL /* 659 */, - 0x095F34C9A12B97F0L /* 660 */, 0x247AB64525D60CA8L /* 661 */, - 0xDCDBC6F3017477D1L /* 662 */, 0x4A2E14D4DECAD24DL /* 663 */, - 0xBDB5E6D9BE0A1EEBL /* 664 */, 0x2A7E70F7794301ABL /* 665 */, - 0xDEF42D8A270540FDL /* 666 */, 0x01078EC0A34C22C1L /* 667 */, - 0xE5DE511AF4C16387L /* 668 */, 0x7EBB3A52BD9A330AL /* 669 */, - 0x77697857AA7D6435L /* 670 */, 0x004E831603AE4C32L /* 671 */, - 0xE7A21020AD78E312L /* 672 */, 0x9D41A70C6AB420F2L /* 673 */, - 0x28E06C18EA1141E6L /* 674 */, 0xD2B28CBD984F6B28L /* 675 */, - 0x26B75F6C446E9D83L /* 676 */, 0xBA47568C4D418D7FL /* 677 */, - 0xD80BADBFE6183D8EL /* 678 */, 0x0E206D7F5F166044L /* 679 */, - 0xE258A43911CBCA3EL /* 680 */, 0x723A1746B21DC0BCL /* 681 */, - 0xC7CAA854F5D7CDD3L /* 682 */, 0x7CAC32883D261D9CL /* 683 */, - 0x7690C26423BA942CL /* 684 */, 0x17E55524478042B8L /* 685 */, - 0xE0BE477656A2389FL /* 686 */, 0x4D289B5E67AB2DA0L /* 687 */, - 0x44862B9C8FBBFD31L /* 688 */, 0xB47CC8049D141365L /* 689 */, - 0x822C1B362B91C793L /* 690 */, 0x4EB14655FB13DFD8L /* 691 */, - 0x1ECBBA0714E2A97BL /* 692 */, 0x6143459D5CDE5F14L /* 693 */, - 0x53A8FBF1D5F0AC89L /* 694 */, 0x97EA04D81C5E5B00L /* 695 */, - 0x622181A8D4FDB3F3L /* 696 */, 0xE9BCD341572A1208L /* 697 */, - 0x1411258643CCE58AL /* 698 */, 0x9144C5FEA4C6E0A4L /* 699 */, - 0x0D33D06565CF620FL /* 700 */, 0x54A48D489F219CA1L /* 701 */, - 0xC43E5EAC6D63C821L /* 702 */, 0xA9728B3A72770DAFL /* 703 */, - 0xD7934E7B20DF87EFL /* 704 */, 0xE35503B61A3E86E5L /* 705 */, - 0xCAE321FBC819D504L /* 706 */, 0x129A50B3AC60BFA6L /* 707 */, - 0xCD5E68EA7E9FB6C3L /* 708 */, 0xB01C90199483B1C7L /* 709 */, - 0x3DE93CD5C295376CL /* 710 */, 0xAED52EDF2AB9AD13L /* 711 */, - 0x2E60F512C0A07884L /* 712 */, 0xBC3D86A3E36210C9L /* 713 */, - 0x35269D9B163951CEL /* 714 */, 0x0C7D6E2AD0CDB5FAL /* 715 */, - 0x59E86297D87F5733L /* 716 */, 0x298EF221898DB0E7L /* 717 */, - 0x55000029D1A5AA7EL /* 718 */, 0x8BC08AE1B5061B45L /* 719 */, - 0xC2C31C2B6C92703AL /* 720 */, 0x94CC596BAF25EF42L /* 721 */, - 0x0A1D73DB22540456L /* 722 */, 0x04B6A0F9D9C4179AL /* 723 */, - 0xEFFDAFA2AE3D3C60L /* 724 */, 0xF7C8075BB49496C4L /* 725 */, - 0x9CC5C7141D1CD4E3L /* 726 */, 0x78BD1638218E5534L /* 727 */, - 0xB2F11568F850246AL /* 728 */, 0xEDFABCFA9502BC29L /* 729 */, - 0x796CE5F2DA23051BL /* 730 */, 0xAAE128B0DC93537CL /* 731 */, - 0x3A493DA0EE4B29AEL /* 732 */, 0xB5DF6B2C416895D7L /* 733 */, - 0xFCABBD25122D7F37L /* 734 */, 0x70810B58105DC4B1L /* 735 */, - 0xE10FDD37F7882A90L /* 736 */, 0x524DCAB5518A3F5CL /* 737 */, - 0x3C9E85878451255BL /* 738 */, 0x4029828119BD34E2L /* 739 */, - 0x74A05B6F5D3CECCBL /* 740 */, 0xB610021542E13ECAL /* 741 */, - 0x0FF979D12F59E2ACL /* 742 */, 0x6037DA27E4F9CC50L /* 743 */, - 0x5E92975A0DF1847DL /* 744 */, 0xD66DE190D3E623FEL /* 745 */, - 0x5032D6B87B568048L /* 746 */, 0x9A36B7CE8235216EL /* 747 */, - 0x80272A7A24F64B4AL /* 748 */, 0x93EFED8B8C6916F7L /* 749 */, - 0x37DDBFF44CCE1555L /* 750 */, 0x4B95DB5D4B99BD25L /* 751 */, - 0x92D3FDA169812FC0L /* 752 */, 0xFB1A4A9A90660BB6L /* 753 */, - 0x730C196946A4B9B2L /* 754 */, 0x81E289AA7F49DA68L /* 755 */, - 0x64669A0F83B1A05FL /* 756 */, 0x27B3FF7D9644F48BL /* 757 */, - 0xCC6B615C8DB675B3L /* 758 */, 0x674F20B9BCEBBE95L /* 759 */, - 0x6F31238275655982L /* 760 */, 0x5AE488713E45CF05L /* 761 */, - 0xBF619F9954C21157L /* 762 */, 0xEABAC46040A8EAE9L /* 763 */, - 0x454C6FE9F2C0C1CDL /* 764 */, 0x419CF6496412691CL /* 765 */, - 0xD3DC3BEF265B0F70L /* 766 */, 0x6D0E60F5C3578A9EL /* 767 */, - }; - - private static final long[] t4 = { - 0x5B0E608526323C55L /* 768 */, 0x1A46C1A9FA1B59F5L /* 769 */, - 0xA9E245A17C4C8FFAL /* 770 */, 0x65CA5159DB2955D7L /* 771 */, - 0x05DB0A76CE35AFC2L /* 772 */, 0x81EAC77EA9113D45L /* 773 */, - 0x528EF88AB6AC0A0DL /* 774 */, 0xA09EA253597BE3FFL /* 775 */, - 0x430DDFB3AC48CD56L /* 776 */, 0xC4B3A67AF45CE46FL /* 777 */, - 0x4ECECFD8FBE2D05EL /* 778 */, 0x3EF56F10B39935F0L /* 779 */, - 0x0B22D6829CD619C6L /* 780 */, 0x17FD460A74DF2069L /* 781 */, - 0x6CF8CC8E8510ED40L /* 782 */, 0xD6C824BF3A6ECAA7L /* 783 */, - 0x61243D581A817049L /* 784 */, 0x048BACB6BBC163A2L /* 785 */, - 0xD9A38AC27D44CC32L /* 786 */, 0x7FDDFF5BAAF410ABL /* 787 */, - 0xAD6D495AA804824BL /* 788 */, 0xE1A6A74F2D8C9F94L /* 789 */, - 0xD4F7851235DEE8E3L /* 790 */, 0xFD4B7F886540D893L /* 791 */, - 0x247C20042AA4BFDAL /* 792 */, 0x096EA1C517D1327CL /* 793 */, - 0xD56966B4361A6685L /* 794 */, 0x277DA5C31221057DL /* 795 */, - 0x94D59893A43ACFF7L /* 796 */, 0x64F0C51CCDC02281L /* 797 */, - 0x3D33BCC4FF6189DBL /* 798 */, 0xE005CB184CE66AF1L /* 799 */, - 0xFF5CCD1D1DB99BEAL /* 800 */, 0xB0B854A7FE42980FL /* 801 */, - 0x7BD46A6A718D4B9FL /* 802 */, 0xD10FA8CC22A5FD8CL /* 803 */, - 0xD31484952BE4BD31L /* 804 */, 0xC7FA975FCB243847L /* 805 */, - 0x4886ED1E5846C407L /* 806 */, 0x28CDDB791EB70B04L /* 807 */, - 0xC2B00BE2F573417FL /* 808 */, 0x5C9590452180F877L /* 809 */, - 0x7A6BDDFFF370EB00L /* 810 */, 0xCE509E38D6D9D6A4L /* 811 */, - 0xEBEB0F00647FA702L /* 812 */, 0x1DCC06CF76606F06L /* 813 */, - 0xE4D9F28BA286FF0AL /* 814 */, 0xD85A305DC918C262L /* 815 */, - 0x475B1D8732225F54L /* 816 */, 0x2D4FB51668CCB5FEL /* 817 */, - 0xA679B9D9D72BBA20L /* 818 */, 0x53841C0D912D43A5L /* 819 */, - 0x3B7EAA48BF12A4E8L /* 820 */, 0x781E0E47F22F1DDFL /* 821 */, - 0xEFF20CE60AB50973L /* 822 */, 0x20D261D19DFFB742L /* 823 */, - 0x16A12B03062A2E39L /* 824 */, 0x1960EB2239650495L /* 825 */, - 0x251C16FED50EB8B8L /* 826 */, 0x9AC0C330F826016EL /* 827 */, - 0xED152665953E7671L /* 828 */, 0x02D63194A6369570L /* 829 */, - 0x5074F08394B1C987L /* 830 */, 0x70BA598C90B25CE1L /* 831 */, - 0x794A15810B9742F6L /* 832 */, 0x0D5925E9FCAF8C6CL /* 833 */, - 0x3067716CD868744EL /* 834 */, 0x910AB077E8D7731BL /* 835 */, - 0x6A61BBDB5AC42F61L /* 836 */, 0x93513EFBF0851567L /* 837 */, - 0xF494724B9E83E9D5L /* 838 */, 0xE887E1985C09648DL /* 839 */, - 0x34B1D3C675370CFDL /* 840 */, 0xDC35E433BC0D255DL /* 841 */, - 0xD0AAB84234131BE0L /* 842 */, 0x08042A50B48B7EAFL /* 843 */, - 0x9997C4EE44A3AB35L /* 844 */, 0x829A7B49201799D0L /* 845 */, - 0x263B8307B7C54441L /* 846 */, 0x752F95F4FD6A6CA6L /* 847 */, - 0x927217402C08C6E5L /* 848 */, 0x2A8AB754A795D9EEL /* 849 */, - 0xA442F7552F72943DL /* 850 */, 0x2C31334E19781208L /* 851 */, - 0x4FA98D7CEAEE6291L /* 852 */, 0x55C3862F665DB309L /* 853 */, - 0xBD0610175D53B1F3L /* 854 */, 0x46FE6CB840413F27L /* 855 */, - 0x3FE03792DF0CFA59L /* 856 */, 0xCFE700372EB85E8FL /* 857 */, - 0xA7BE29E7ADBCE118L /* 858 */, 0xE544EE5CDE8431DDL /* 859 */, - 0x8A781B1B41F1873EL /* 860 */, 0xA5C94C78A0D2F0E7L /* 861 */, - 0x39412E2877B60728L /* 862 */, 0xA1265EF3AFC9A62CL /* 863 */, - 0xBCC2770C6A2506C5L /* 864 */, 0x3AB66DD5DCE1CE12L /* 865 */, - 0xE65499D04A675B37L /* 866 */, 0x7D8F523481BFD216L /* 867 */, - 0x0F6F64FCEC15F389L /* 868 */, 0x74EFBE618B5B13C8L /* 869 */, - 0xACDC82B714273E1DL /* 870 */, 0xDD40BFE003199D17L /* 871 */, - 0x37E99257E7E061F8L /* 872 */, 0xFA52626904775AAAL /* 873 */, - 0x8BBBF63A463D56F9L /* 874 */, 0xF0013F1543A26E64L /* 875 */, - 0xA8307E9F879EC898L /* 876 */, 0xCC4C27A4150177CCL /* 877 */, - 0x1B432F2CCA1D3348L /* 878 */, 0xDE1D1F8F9F6FA013L /* 879 */, - 0x606602A047A7DDD6L /* 880 */, 0xD237AB64CC1CB2C7L /* 881 */, - 0x9B938E7225FCD1D3L /* 882 */, 0xEC4E03708E0FF476L /* 883 */, - 0xFEB2FBDA3D03C12DL /* 884 */, 0xAE0BCED2EE43889AL /* 885 */, - 0x22CB8923EBFB4F43L /* 886 */, 0x69360D013CF7396DL /* 887 */, - 0x855E3602D2D4E022L /* 888 */, 0x073805BAD01F784CL /* 889 */, - 0x33E17A133852F546L /* 890 */, 0xDF4874058AC7B638L /* 891 */, - 0xBA92B29C678AA14AL /* 892 */, 0x0CE89FC76CFAADCDL /* 893 */, - 0x5F9D4E0908339E34L /* 894 */, 0xF1AFE9291F5923B9L /* 895 */, - 0x6E3480F60F4A265FL /* 896 */, 0xEEBF3A2AB29B841CL /* 897 */, - 0xE21938A88F91B4ADL /* 898 */, 0x57DFEFF845C6D3C3L /* 899 */, - 0x2F006B0BF62CAAF2L /* 900 */, 0x62F479EF6F75EE78L /* 901 */, - 0x11A55AD41C8916A9L /* 902 */, 0xF229D29084FED453L /* 903 */, - 0x42F1C27B16B000E6L /* 904 */, 0x2B1F76749823C074L /* 905 */, - 0x4B76ECA3C2745360L /* 906 */, 0x8C98F463B91691BDL /* 907 */, - 0x14BCC93CF1ADE66AL /* 908 */, 0x8885213E6D458397L /* 909 */, - 0x8E177DF0274D4711L /* 910 */, 0xB49B73B5503F2951L /* 911 */, - 0x10168168C3F96B6BL /* 912 */, 0x0E3D963B63CAB0AEL /* 913 */, - 0x8DFC4B5655A1DB14L /* 914 */, 0xF789F1356E14DE5CL /* 915 */, - 0x683E68AF4E51DAC1L /* 916 */, 0xC9A84F9D8D4B0FD9L /* 917 */, - 0x3691E03F52A0F9D1L /* 918 */, 0x5ED86E46E1878E80L /* 919 */, - 0x3C711A0E99D07150L /* 920 */, 0x5A0865B20C4E9310L /* 921 */, - 0x56FBFC1FE4F0682EL /* 922 */, 0xEA8D5DE3105EDF9BL /* 923 */, - 0x71ABFDB12379187AL /* 924 */, 0x2EB99DE1BEE77B9CL /* 925 */, - 0x21ECC0EA33CF4523L /* 926 */, 0x59A4D7521805C7A1L /* 927 */, - 0x3896F5EB56AE7C72L /* 928 */, 0xAA638F3DB18F75DCL /* 929 */, - 0x9F39358DABE9808EL /* 930 */, 0xB7DEFA91C00B72ACL /* 931 */, - 0x6B5541FD62492D92L /* 932 */, 0x6DC6DEE8F92E4D5BL /* 933 */, - 0x353F57ABC4BEEA7EL /* 934 */, 0x735769D6DA5690CEL /* 935 */, - 0x0A234AA642391484L /* 936 */, 0xF6F9508028F80D9DL /* 937 */, - 0xB8E319A27AB3F215L /* 938 */, 0x31AD9C1151341A4DL /* 939 */, - 0x773C22A57BEF5805L /* 940 */, 0x45C7561A07968633L /* 941 */, - 0xF913DA9E249DBE36L /* 942 */, 0xDA652D9B78A64C68L /* 943 */, - 0x4C27A97F3BC334EFL /* 944 */, 0x76621220E66B17F4L /* 945 */, - 0x967743899ACD7D0BL /* 946 */, 0xF3EE5BCAE0ED6782L /* 947 */, - 0x409F753600C879FCL /* 948 */, 0x06D09A39B5926DB6L /* 949 */, - 0x6F83AEB0317AC588L /* 950 */, 0x01E6CA4A86381F21L /* 951 */, - 0x66FF3462D19F3025L /* 952 */, 0x72207C24DDFD3BFBL /* 953 */, - 0x4AF6B6D3E2ECE2EBL /* 954 */, 0x9C994DBEC7EA08DEL /* 955 */, - 0x49ACE597B09A8BC4L /* 956 */, 0xB38C4766CF0797BAL /* 957 */, - 0x131B9373C57C2A75L /* 958 */, 0xB1822CCE61931E58L /* 959 */, - 0x9D7555B909BA1C0CL /* 960 */, 0x127FAFDD937D11D2L /* 961 */, - 0x29DA3BADC66D92E4L /* 962 */, 0xA2C1D57154C2ECBCL /* 963 */, - 0x58C5134D82F6FE24L /* 964 */, 0x1C3AE3515B62274FL /* 965 */, - 0xE907C82E01CB8126L /* 966 */, 0xF8ED091913E37FCBL /* 967 */, - 0x3249D8F9C80046C9L /* 968 */, 0x80CF9BEDE388FB63L /* 969 */, - 0x1881539A116CF19EL /* 970 */, 0x5103F3F76BD52457L /* 971 */, - 0x15B7E6F5AE47F7A8L /* 972 */, 0xDBD7C6DED47E9CCFL /* 973 */, - 0x44E55C410228BB1AL /* 974 */, 0xB647D4255EDB4E99L /* 975 */, - 0x5D11882BB8AAFC30L /* 976 */, 0xF5098BBB29D3212AL /* 977 */, - 0x8FB5EA14E90296B3L /* 978 */, 0x677B942157DD025AL /* 979 */, - 0xFB58E7C0A390ACB5L /* 980 */, 0x89D3674C83BD4A01L /* 981 */, - 0x9E2DA4DF4BF3B93BL /* 982 */, 0xFCC41E328CAB4829L /* 983 */, - 0x03F38C96BA582C52L /* 984 */, 0xCAD1BDBD7FD85DB2L /* 985 */, - 0xBBB442C16082AE83L /* 986 */, 0xB95FE86BA5DA9AB0L /* 987 */, - 0xB22E04673771A93FL /* 988 */, 0x845358C9493152D8L /* 989 */, - 0xBE2A488697B4541EL /* 990 */, 0x95A2DC2DD38E6966L /* 991 */, - 0xC02C11AC923C852BL /* 992 */, 0x2388B1990DF2A87BL /* 993 */, - 0x7C8008FA1B4F37BEL /* 994 */, 0x1F70D0C84D54E503L /* 995 */, - 0x5490ADEC7ECE57D4L /* 996 */, 0x002B3C27D9063A3AL /* 997 */, - 0x7EAEA3848030A2BFL /* 998 */, 0xC602326DED2003C0L /* 999 */, - 0x83A7287D69A94086L /* 1000 */, 0xC57A5FCB30F57A8AL /* 1001 */, - 0xB56844E479EBE779L /* 1002 */, 0xA373B40F05DCBCE9L /* 1003 */, - 0xD71A786E88570EE2L /* 1004 */, 0x879CBACDBDE8F6A0L /* 1005 */, - 0x976AD1BCC164A32FL /* 1006 */, 0xAB21E25E9666D78BL /* 1007 */, - 0x901063AAE5E5C33CL /* 1008 */, 0x9818B34448698D90L /* 1009 */, - 0xE36487AE3E1E8ABBL /* 1010 */, 0xAFBDF931893BDCB4L /* 1011 */, - 0x6345A0DC5FBBD519L /* 1012 */, 0x8628FE269B9465CAL /* 1013 */, - 0x1E5D01603F9C51ECL /* 1014 */, 0x4DE44006A15049B7L /* 1015 */, - 0xBF6C70E5F776CBB1L /* 1016 */, 0x411218F2EF552BEDL /* 1017 */, - 0xCB0C0708705A36A3L /* 1018 */, 0xE74D14754F986044L /* 1019 */, - 0xCD56D9430EA8280EL /* 1020 */, 0xC12591D7535F5065L /* 1021 */, - 0xC83223F1720AEF96L /* 1022 */, 0xC3A0396F7363A51FL /* 1023 */ - }; - - private static final int DIGEST_LENGTH = 24; - - // - // registers - // - private long a, b, c; - private long byteCount; - - // - // buffers - // - private byte[] buf = new byte[8]; - private int bOff = 0; - - private long[] x = new long[8]; - private int xOff = 0; - - /** - * Standard constructor - */ - public TigerDigest() - { - reset(); - } - - /** - * Copy constructor. This will copy the state of the provided - * message digest. - */ - public TigerDigest(TigerDigest t) - { - this.reset(t); - } - - public String getAlgorithmName() - { - return "Tiger"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH; - } - - private void processWord( - byte[] b, - int off) - { - x[xOff++] = ((long)(b[off + 7] & 0xff) << 56) - | ((long)(b[off + 6] & 0xff) << 48) - | ((long)(b[off + 5] & 0xff) << 40) - | ((long)(b[off + 4] & 0xff) << 32) - | ((long)(b[off + 3] & 0xff) << 24) - | ((long)(b[off + 2] & 0xff) << 16) - | ((long)(b[off + 1] & 0xff) << 8) - | ((b[off + 0] & 0xff)); - - if (xOff == x.length) - { - processBlock(); - } - - bOff = 0; - } - - public void update( - byte in) - { - buf[bOff++] = in; - - if (bOff == buf.length) - { - processWord(buf, 0); - } - - byteCount++; - } - - public void update( - byte[] in, - int inOff, - int len) - { - // - // fill the current word - // - while ((bOff != 0) && (len > 0)) - { - update(in[inOff]); - - inOff++; - len--; - } - - // - // process whole words. - // - while (len > 8) - { - processWord(in, inOff); - - inOff += 8; - len -= 8; - byteCount += 8; - } - - // - // load in the remainder. - // - while (len > 0) - { - update(in[inOff]); - - inOff++; - len--; - } - } - - private void roundABC( - long x, - long mul) - { - c ^= x ; - a -= t1[(int)c & 0xff] ^ t2[(int)(c >> 16) & 0xff] - ^ t3[(int)(c >> 32) & 0xff] ^ t4[(int)(c >> 48) & 0xff]; - b += t4[(int)(c >> 8) & 0xff] ^ t3[(int)(c >> 24) & 0xff] - ^ t2[(int)(c >> 40) & 0xff] ^ t1[(int)(c >> 56) & 0xff]; - b *= mul; - } - - private void roundBCA( - long x, - long mul) - { - a ^= x ; - b -= t1[(int)a & 0xff] ^ t2[(int)(a >> 16) & 0xff] - ^ t3[(int)(a >> 32) & 0xff] ^ t4[(int)(a >> 48) & 0xff]; - c += t4[(int)(a >> 8) & 0xff] ^ t3[(int)(a >> 24) & 0xff] - ^ t2[(int)(a >> 40) & 0xff] ^ t1[(int)(a >> 56) & 0xff]; - c *= mul; - } - - private void roundCAB( - long x, - long mul) - { - b ^= x ; - c -= t1[(int)b & 0xff] ^ t2[(int)(b >> 16) & 0xff] - ^ t3[(int)(b >> 32) & 0xff] ^ t4[(int)(b >> 48) & 0xff]; - a += t4[(int)(b >> 8) & 0xff] ^ t3[(int)(b >> 24) & 0xff] - ^ t2[(int)(b >> 40) & 0xff] ^ t1[(int)(b >> 56) & 0xff]; - a *= mul; - } - - private void keySchedule() - { - x[0] -= x[7] ^ 0xA5A5A5A5A5A5A5A5L; - x[1] ^= x[0]; - x[2] += x[1]; - x[3] -= x[2] ^ ((~x[1]) << 19); - x[4] ^= x[3]; - x[5] += x[4]; - x[6] -= x[5] ^ ((~x[4]) >>> 23); - x[7] ^= x[6]; - x[0] += x[7]; - x[1] -= x[0] ^ ((~x[7]) << 19); - x[2] ^= x[1]; - x[3] += x[2]; - x[4] -= x[3] ^ ((~x[2]) >>> 23); - x[5] ^= x[4]; - x[6] += x[5]; - x[7] -= x[6] ^ 0x0123456789ABCDEFL; - } - - private void processBlock() - { - // - // save abc - // - long aa = a; - long bb = b; - long cc = c; - - // - // rounds and schedule - // - roundABC(x[0], 5); - roundBCA(x[1], 5); - roundCAB(x[2], 5); - roundABC(x[3], 5); - roundBCA(x[4], 5); - roundCAB(x[5], 5); - roundABC(x[6], 5); - roundBCA(x[7], 5); - - keySchedule(); - - roundCAB(x[0], 7); - roundABC(x[1], 7); - roundBCA(x[2], 7); - roundCAB(x[3], 7); - roundABC(x[4], 7); - roundBCA(x[5], 7); - roundCAB(x[6], 7); - roundABC(x[7], 7); - - keySchedule(); - - roundBCA(x[0], 9); - roundCAB(x[1], 9); - roundABC(x[2], 9); - roundBCA(x[3], 9); - roundCAB(x[4], 9); - roundABC(x[5], 9); - roundBCA(x[6], 9); - roundCAB(x[7], 9); - - // - // feed forward - // - a ^= aa; - b -= bb; - c += cc; - - // - // clear the x buffer - // - xOff = 0; - for (int i = 0; i != x.length; i++) - { - x[i] = 0; - } - } - - public void unpackWord( - long r, - byte[] out, - int outOff) - { - out[outOff + 7] = (byte)(r >> 56); - out[outOff + 6] = (byte)(r >> 48); - out[outOff + 5] = (byte)(r >> 40); - out[outOff + 4] = (byte)(r >> 32); - out[outOff + 3] = (byte)(r >> 24); - out[outOff + 2] = (byte)(r >> 16); - out[outOff + 1] = (byte)(r >> 8); - out[outOff] = (byte)r; - } - - private void processLength( - long bitLength) - { - x[7] = bitLength; - } - - private void finish() - { - long bitLength = (byteCount << 3); - - update((byte)0x01); - - while (bOff != 0) - { - update((byte)0); - } - - processLength(bitLength); - - processBlock(); - } - - public int doFinal( - byte[] out, - int outOff) - { - finish(); - - unpackWord(a, out, outOff); - unpackWord(b, out, outOff + 8); - unpackWord(c, out, outOff + 16); - - reset(); - - return DIGEST_LENGTH; - } - - /** - * reset the chaining variables - */ - public void reset() - { - a = 0x0123456789ABCDEFL; - b = 0xFEDCBA9876543210L; - c = 0xF096A5B4C3B2E187L; - - xOff = 0; - for (int i = 0; i != x.length; i++) - { - x[i] = 0; - } - - bOff = 0; - for (int i = 0; i != buf.length; i++) - { - buf[i] = 0; - } - - byteCount = 0; - } - - public int getByteLength() - { - return BYTE_LENGTH; - } - - public Memoable copy() - { - return new TigerDigest(this); - } - - public void reset(Memoable other) - { - TigerDigest t = (TigerDigest)other; - - a = t.a; - b = t.b; - c = t.c; - - System.arraycopy(t.x, 0, x, 0, t.x.length); - xOff = t.xOff; - - System.arraycopy(t.buf, 0, buf, 0, t.buf.length); - bOff = t.bOff; - - byteCount = t.byteCount; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/WhirlpoolDigest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/WhirlpoolDigest.java deleted file mode 100644 index 8385f736c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/digests/WhirlpoolDigest.java +++ /dev/null @@ -1,409 +0,0 @@ -package org.spongycastle.crypto.digests; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Memoable; - - -/** - * Implementation of WhirlpoolDigest, based on Java source published by Barreto - * and Rijmen. - * - */ -public final class WhirlpoolDigest - implements ExtendedDigest, Memoable -{ - private static final int BYTE_LENGTH = 64; - - private static final int DIGEST_LENGTH_BYTES = 512 / 8; - private static final int ROUNDS = 10; - private static final int REDUCTION_POLYNOMIAL = 0x011d; // 2^8 + 2^4 + 2^3 + 2 + 1; - - private static final int[] SBOX = { - 0x18, 0x23, 0xc6, 0xe8, 0x87, 0xb8, 0x01, 0x4f, 0x36, 0xa6, 0xd2, 0xf5, 0x79, 0x6f, 0x91, 0x52, - 0x60, 0xbc, 0x9b, 0x8e, 0xa3, 0x0c, 0x7b, 0x35, 0x1d, 0xe0, 0xd7, 0xc2, 0x2e, 0x4b, 0xfe, 0x57, - 0x15, 0x77, 0x37, 0xe5, 0x9f, 0xf0, 0x4a, 0xda, 0x58, 0xc9, 0x29, 0x0a, 0xb1, 0xa0, 0x6b, 0x85, - 0xbd, 0x5d, 0x10, 0xf4, 0xcb, 0x3e, 0x05, 0x67, 0xe4, 0x27, 0x41, 0x8b, 0xa7, 0x7d, 0x95, 0xd8, - 0xfb, 0xee, 0x7c, 0x66, 0xdd, 0x17, 0x47, 0x9e, 0xca, 0x2d, 0xbf, 0x07, 0xad, 0x5a, 0x83, 0x33, - 0x63, 0x02, 0xaa, 0x71, 0xc8, 0x19, 0x49, 0xd9, 0xf2, 0xe3, 0x5b, 0x88, 0x9a, 0x26, 0x32, 0xb0, - 0xe9, 0x0f, 0xd5, 0x80, 0xbe, 0xcd, 0x34, 0x48, 0xff, 0x7a, 0x90, 0x5f, 0x20, 0x68, 0x1a, 0xae, - 0xb4, 0x54, 0x93, 0x22, 0x64, 0xf1, 0x73, 0x12, 0x40, 0x08, 0xc3, 0xec, 0xdb, 0xa1, 0x8d, 0x3d, - 0x97, 0x00, 0xcf, 0x2b, 0x76, 0x82, 0xd6, 0x1b, 0xb5, 0xaf, 0x6a, 0x50, 0x45, 0xf3, 0x30, 0xef, - 0x3f, 0x55, 0xa2, 0xea, 0x65, 0xba, 0x2f, 0xc0, 0xde, 0x1c, 0xfd, 0x4d, 0x92, 0x75, 0x06, 0x8a, - 0xb2, 0xe6, 0x0e, 0x1f, 0x62, 0xd4, 0xa8, 0x96, 0xf9, 0xc5, 0x25, 0x59, 0x84, 0x72, 0x39, 0x4c, - 0x5e, 0x78, 0x38, 0x8c, 0xd1, 0xa5, 0xe2, 0x61, 0xb3, 0x21, 0x9c, 0x1e, 0x43, 0xc7, 0xfc, 0x04, - 0x51, 0x99, 0x6d, 0x0d, 0xfa, 0xdf, 0x7e, 0x24, 0x3b, 0xab, 0xce, 0x11, 0x8f, 0x4e, 0xb7, 0xeb, - 0x3c, 0x81, 0x94, 0xf7, 0xb9, 0x13, 0x2c, 0xd3, 0xe7, 0x6e, 0xc4, 0x03, 0x56, 0x44, 0x7f, 0xa9, - 0x2a, 0xbb, 0xc1, 0x53, 0xdc, 0x0b, 0x9d, 0x6c, 0x31, 0x74, 0xf6, 0x46, 0xac, 0x89, 0x14, 0xe1, - 0x16, 0x3a, 0x69, 0x09, 0x70, 0xb6, 0xd0, 0xed, 0xcc, 0x42, 0x98, 0xa4, 0x28, 0x5c, 0xf8, 0x86 - }; - - private static final long[] C0 = new long[256]; - private static final long[] C1 = new long[256]; - private static final long[] C2 = new long[256]; - private static final long[] C3 = new long[256]; - private static final long[] C4 = new long[256]; - private static final long[] C5 = new long[256]; - private static final long[] C6 = new long[256]; - private static final long[] C7 = new long[256]; - - private final long[] _rc = new long[ROUNDS + 1]; - - public WhirlpoolDigest() - { - for (int i = 0; i < 256; i++) - { - int v1 = SBOX[i]; - int v2 = maskWithReductionPolynomial(v1 << 1); - int v4 = maskWithReductionPolynomial(v2 << 1); - int v5 = v4 ^ v1; - int v8 = maskWithReductionPolynomial(v4 << 1); - int v9 = v8 ^ v1; - - C0[i] = packIntoLong(v1, v1, v4, v1, v8, v5, v2, v9); - C1[i] = packIntoLong(v9, v1, v1, v4, v1, v8, v5, v2); - C2[i] = packIntoLong(v2, v9, v1, v1, v4, v1, v8, v5); - C3[i] = packIntoLong(v5, v2, v9, v1, v1, v4, v1, v8); - C4[i] = packIntoLong(v8, v5, v2, v9, v1, v1, v4, v1); - C5[i] = packIntoLong(v1, v8, v5, v2, v9, v1, v1, v4); - C6[i] = packIntoLong(v4, v1, v8, v5, v2, v9, v1, v1); - C7[i] = packIntoLong(v1, v4, v1, v8, v5, v2, v9, v1); - - } - - _rc[0] = 0L; - for (int r = 1; r <= ROUNDS; r++) - { - int i = 8 * (r - 1); - _rc[r] = (C0[i ] & 0xff00000000000000L) ^ - (C1[i + 1] & 0x00ff000000000000L) ^ - (C2[i + 2] & 0x0000ff0000000000L) ^ - (C3[i + 3] & 0x000000ff00000000L) ^ - (C4[i + 4] & 0x00000000ff000000L) ^ - (C5[i + 5] & 0x0000000000ff0000L) ^ - (C6[i + 6] & 0x000000000000ff00L) ^ - (C7[i + 7] & 0x00000000000000ffL); - } - - } - - private long packIntoLong(int b7, int b6, int b5, int b4, int b3, int b2, int b1, int b0) - { - return - ((long)b7 << 56) ^ - ((long)b6 << 48) ^ - ((long)b5 << 40) ^ - ((long)b4 << 32) ^ - ((long)b3 << 24) ^ - ((long)b2 << 16) ^ - ((long)b1 << 8) ^ - b0; - } - - /* - * int's are used to prevent sign extension. The values that are really being used are - * actually just 0..255 - */ - private int maskWithReductionPolynomial(int input) - { - int rv = input; - if (rv >= 0x100L) // high bit set - { - rv ^= REDUCTION_POLYNOMIAL; // reduced by the polynomial - } - return rv; - } - - // --------------------------------------------------------------------------------------// - - // -- buffer information -- - private static final int BITCOUNT_ARRAY_SIZE = 32; - private byte[] _buffer = new byte[64]; - private int _bufferPos = 0; - private short[] _bitCount = new short[BITCOUNT_ARRAY_SIZE]; - - // -- internal hash state -- - private long[] _hash = new long[8]; - private long[] _K = new long[8]; // the round key - private long[] _L = new long[8]; - private long[] _block = new long[8]; // mu (buffer) - private long[] _state = new long[8]; // the current "cipher" state - - - - /** - * Copy constructor. This will copy the state of the provided message - * digest. - */ - public WhirlpoolDigest(WhirlpoolDigest originalDigest) - { - reset(originalDigest); - } - - public String getAlgorithmName() - { - return "Whirlpool"; - } - - public int getDigestSize() - { - return DIGEST_LENGTH_BYTES; - } - - public int doFinal(byte[] out, int outOff) - { - // sets out[outOff] .. out[outOff+DIGEST_LENGTH_BYTES] - finish(); - - for (int i = 0; i < 8; i++) - { - convertLongToByteArray(_hash[i], out, outOff + (i * 8)); - } - - reset(); - return getDigestSize(); - } - - /** - * reset the chaining variables - */ - public void reset() - { - // set variables to null, blank, whatever - _bufferPos = 0; - Arrays.fill(_bitCount, (short)0); - Arrays.fill(_buffer, (byte)0); - Arrays.fill(_hash, 0); - Arrays.fill(_K, 0); - Arrays.fill(_L, 0); - Arrays.fill(_block, 0); - Arrays.fill(_state, 0); - } - - // this takes a buffer of information and fills the block - private void processFilledBuffer(byte[] in, int inOff) - { - // copies into the block... - for (int i = 0; i < _state.length; i++) - { - _block[i] = bytesToLongFromBuffer(_buffer, i * 8); - } - processBlock(); - _bufferPos = 0; - Arrays.fill(_buffer, (byte)0); - } - - private long bytesToLongFromBuffer(byte[] buffer, int startPos) - { - long rv = (((buffer[startPos + 0] & 0xffL) << 56) | - ((buffer[startPos + 1] & 0xffL) << 48) | - ((buffer[startPos + 2] & 0xffL) << 40) | - ((buffer[startPos + 3] & 0xffL) << 32) | - ((buffer[startPos + 4] & 0xffL) << 24) | - ((buffer[startPos + 5] & 0xffL) << 16) | - ((buffer[startPos + 6] & 0xffL) << 8) | - ((buffer[startPos + 7]) & 0xffL)); - - return rv; - } - - private void convertLongToByteArray(long inputLong, byte[] outputArray, int offSet) - { - for (int i = 0; i < 8; i++) - { - outputArray[offSet + i] = (byte)((inputLong >> (56 - (i * 8))) & 0xff); - } - } - - protected void processBlock() - { - // buffer contents have been transferred to the _block[] array via - // processFilledBuffer - - // compute and apply K^0 - for (int i = 0; i < 8; i++) - { - _state[i] = _block[i] ^ (_K[i] = _hash[i]); - } - - // iterate over the rounds - for (int round = 1; round <= ROUNDS; round++) - { - for (int i = 0; i < 8; i++) - { - _L[i] = 0; - _L[i] ^= C0[(int)(_K[(i - 0) & 7] >>> 56) & 0xff]; - _L[i] ^= C1[(int)(_K[(i - 1) & 7] >>> 48) & 0xff]; - _L[i] ^= C2[(int)(_K[(i - 2) & 7] >>> 40) & 0xff]; - _L[i] ^= C3[(int)(_K[(i - 3) & 7] >>> 32) & 0xff]; - _L[i] ^= C4[(int)(_K[(i - 4) & 7] >>> 24) & 0xff]; - _L[i] ^= C5[(int)(_K[(i - 5) & 7] >>> 16) & 0xff]; - _L[i] ^= C6[(int)(_K[(i - 6) & 7] >>> 8) & 0xff]; - _L[i] ^= C7[(int)(_K[(i - 7) & 7]) & 0xff]; - } - - System.arraycopy(_L, 0, _K, 0, _K.length); - - _K[0] ^= _rc[round]; - - // apply the round transformation - for (int i = 0; i < 8; i++) - { - _L[i] = _K[i]; - - _L[i] ^= C0[(int)(_state[(i - 0) & 7] >>> 56) & 0xff]; - _L[i] ^= C1[(int)(_state[(i - 1) & 7] >>> 48) & 0xff]; - _L[i] ^= C2[(int)(_state[(i - 2) & 7] >>> 40) & 0xff]; - _L[i] ^= C3[(int)(_state[(i - 3) & 7] >>> 32) & 0xff]; - _L[i] ^= C4[(int)(_state[(i - 4) & 7] >>> 24) & 0xff]; - _L[i] ^= C5[(int)(_state[(i - 5) & 7] >>> 16) & 0xff]; - _L[i] ^= C6[(int)(_state[(i - 6) & 7] >>> 8) & 0xff]; - _L[i] ^= C7[(int)(_state[(i - 7) & 7]) & 0xff]; - } - - // save the current state - System.arraycopy(_L, 0, _state, 0, _state.length); - } - - // apply Miuaguchi-Preneel compression - for (int i = 0; i < 8; i++) - { - _hash[i] ^= _state[i] ^ _block[i]; - } - - } - - public void update(byte in) - { - _buffer[_bufferPos] = in; - - //System.out.println("adding to buffer = "+_buffer[_bufferPos]); - - ++_bufferPos; - - if (_bufferPos == _buffer.length) - { - processFilledBuffer(_buffer, 0); - } - - increment(); - } - - /* - * increment() can be implemented in this way using 2 arrays or - * by having some temporary variables that are used to set the - * value provided by EIGHT[i] and carry within the loop. - * - * not having done any timing, this seems likely to be faster - * at the slight expense of 32*(sizeof short) bytes - */ - private static final short[] EIGHT = new short[BITCOUNT_ARRAY_SIZE]; - static - { - EIGHT[BITCOUNT_ARRAY_SIZE - 1] = 8; - } - - private void increment() - { - int carry = 0; - for (int i = _bitCount.length - 1; i >= 0; i--) - { - int sum = (_bitCount[i] & 0xff) + EIGHT[i] + carry; - - carry = sum >>> 8; - _bitCount[i] = (short)(sum & 0xff); - } - } - - public void update(byte[] in, int inOff, int len) - { - while (len > 0) - { - update(in[inOff]); - ++inOff; - --len; - } - - } - - private void finish() - { - /* - * this makes a copy of the current bit length. at the expense of an - * object creation of 32 bytes rather than providing a _stopCounting - * boolean which was the alternative I could think of. - */ - byte[] bitLength = copyBitLength(); - - _buffer[_bufferPos++] |= 0x80; - - if (_bufferPos == _buffer.length) - { - processFilledBuffer(_buffer, 0); - } - - /* - * Final block contains - * [ ... data .... ][0][0][0][ length ] - * - * if [ length ] cannot fit. Need to create a new block. - */ - if (_bufferPos > 32) - { - while (_bufferPos != 0) - { - update((byte)0); - } - } - - while (_bufferPos <= 32) - { - update((byte)0); - } - - // copy the length information to the final 32 bytes of the - // 64 byte block.... - System.arraycopy(bitLength, 0, _buffer, 32, bitLength.length); - - processFilledBuffer(_buffer, 0); - } - - private byte[] copyBitLength() - { - byte[] rv = new byte[BITCOUNT_ARRAY_SIZE]; - for (int i = 0; i < rv.length; i++) - { - rv[i] = (byte)(_bitCount[i] & 0xff); - } - return rv; - } - - public int getByteLength() - { - return BYTE_LENGTH; - } - - public Memoable copy() - { - return new WhirlpoolDigest(this); - } - - public void reset(Memoable other) - { - WhirlpoolDigest originalDigest = (WhirlpoolDigest)other; - - System.arraycopy(originalDigest._rc, 0, _rc, 0, _rc.length); - - System.arraycopy(originalDigest._buffer, 0, _buffer, 0, _buffer.length); - - this._bufferPos = originalDigest._bufferPos; - System.arraycopy(originalDigest._bitCount, 0, _bitCount, 0, _bitCount.length); - - // -- internal hash state -- - System.arraycopy(originalDigest._hash, 0, _hash, 0, _hash.length); - System.arraycopy(originalDigest._K, 0, _K, 0, _K.length); - System.arraycopy(originalDigest._L, 0, _L, 0, _L.length); - System.arraycopy(originalDigest._block, 0, _block, 0, _block.length); - System.arraycopy(originalDigest._state, 0, _state, 0, _state.length); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECDecryptor.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECDecryptor.java deleted file mode 100644 index 23bf6f802..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECDecryptor.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.crypto.ec; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.math.ec.ECPoint; - -public interface ECDecryptor -{ - void init(CipherParameters params); - - ECPoint decrypt(ECPair cipherText); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalDecryptor.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalDecryptor.java deleted file mode 100644 index 31bd6381c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalDecryptor.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.ec; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.math.ec.ECPoint; - -/** - * this does your basic decryption ElGamal style using EC - */ -public class ECElGamalDecryptor - implements ECDecryptor -{ - private ECPrivateKeyParameters key; - - /** - * initialise the decryptor. - * - * @param param the necessary EC key parameters. - */ - public void init( - CipherParameters param) - { - if (!(param instanceof ECPrivateKeyParameters)) - { - throw new IllegalArgumentException("ECPrivateKeyParameters are required for decryption."); - } - - this.key = (ECPrivateKeyParameters)param; - } - - /** - * Decrypt an EC pair producing the original EC point. - * - * @param pair the EC point pair to process. - * @return the result of the Elgamal process. - */ - public ECPoint decrypt(ECPair pair) - { - if (key == null) - { - throw new IllegalStateException("ECElGamalDecryptor not initialised"); - } - - ECPoint tmp = pair.getX().multiply(key.getD()); - - return pair.getY().add(tmp.negate()).normalize(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalEncryptor.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalEncryptor.java deleted file mode 100644 index c31a4308b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECElGamalEncryptor.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECPoint; - -/** - * this does your basic ElGamal encryption algorithm using EC - */ -public class ECElGamalEncryptor - implements ECEncryptor -{ - private ECPublicKeyParameters key; - private SecureRandom random; - - /** - * initialise the encryptor. - * - * @param param the necessary EC key parameters. - */ - public void init( - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - if (!(p.getParameters() instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption."); - } - this.key = (ECPublicKeyParameters)p.getParameters(); - this.random = p.getRandom(); - } - else - { - if (!(param instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption."); - } - - this.key = (ECPublicKeyParameters)param; - this.random = new SecureRandom(); - } - } - - /** - * Process a single EC point using the basic ElGamal algorithm. - * - * @param point the EC point to process. - * @return the result of the Elgamal process. - */ - public ECPair encrypt(ECPoint point) - { - if (key == null) - { - throw new IllegalStateException("ECElGamalEncryptor not initialised"); - } - - BigInteger n = key.getParameters().getN(); - BigInteger k = ECUtil.generateK(n, random); - - ECPoint g = key.getParameters().getG(); - ECPoint gamma = g.multiply(k); - ECPoint phi = key.getQ().multiply(k).add(point); - - return new ECPair(gamma.normalize(), phi.normalize()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECEncryptor.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECEncryptor.java deleted file mode 100644 index ee63720b2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECEncryptor.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.crypto.ec; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.math.ec.ECPoint; - -public interface ECEncryptor -{ - void init(CipherParameters params); - - ECPair encrypt(ECPoint point); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECFixedTransform.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECFixedTransform.java deleted file mode 100644 index 7b35f1a10..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECFixedTransform.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECPoint; - -/** - * this transforms the original randomness used for an ElGamal encryption by a fixed value. - */ -public class ECFixedTransform - implements ECPairFactorTransform -{ - private ECPublicKeyParameters key; - - private BigInteger k; - - public ECFixedTransform(BigInteger k) - { - this.k = k; - } - - /** - * initialise the underlying EC ElGamal engine. - * - * @param param the necessary EC key parameters. - */ - public void init( - CipherParameters param) - { - if (!(param instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for fixed transform."); - } - - this.key = (ECPublicKeyParameters)param; - } - - /** - * Transform an existing cipher test pair using the ElGamal algorithm. Note: it is assumed this - * transform has been initialised with the same public key that was used to create the original - * cipher text. - * - * @param cipherText the EC point to process. - * @return returns a new ECPair representing the result of the process. - */ - public ECPair transform(ECPair cipherText) - { - if (key == null) - { - throw new IllegalStateException("ECFixedTransform not initialised"); - } - - ECPoint g = key.getParameters().getG(); - ECPoint gamma = g.multiply(k); - ECPoint phi = key.getQ().multiply(k).add(cipherText.getY()); - - return new ECPair(cipherText.getX().add(gamma).normalize(), phi.normalize()); - } - - /** - * Return the last transform value used by the transform - * - * @return a BigInteger representing k value. - */ - public BigInteger getTransformValue() - { - return k; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewPublicKeyTransform.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewPublicKeyTransform.java deleted file mode 100644 index d8b1203b5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewPublicKeyTransform.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECPoint; - -/** - * this does your basic Elgamal encryption algorithm using EC - */ -public class ECNewPublicKeyTransform - implements ECPairTransform -{ - private ECPublicKeyParameters key; - private SecureRandom random; - - /** - * initialise the EC Elgamal engine. - * - * @param param the necessary EC key parameters. - */ - public void init( - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - if (!(p.getParameters() instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform."); - } - this.key = (ECPublicKeyParameters)p.getParameters(); - this.random = p.getRandom(); - } - else - { - if (!(param instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform."); - } - - this.key = (ECPublicKeyParameters)param; - this.random = new SecureRandom(); - } - } - - /** - * Transform an existing cipher test pair using the ElGamal algorithm. Note: the input cipherText will - * need to be preserved in order to complete the transformation to the new public key. - * - * @param cipherText the EC point to process. - * @return returns a new ECPair representing the result of the process. - */ - public ECPair transform(ECPair cipherText) - { - if (key == null) - { - throw new IllegalStateException("ECNewPublicKeyTransform not initialised"); - } - - BigInteger n = key.getParameters().getN(); - BigInteger k = ECUtil.generateK(n, random); - - ECPoint g = key.getParameters().getG(); - ECPoint gamma = g.multiply(k); - ECPoint phi = key.getQ().multiply(k).add(cipherText.getY()); - - return new ECPair(gamma.normalize(), phi.normalize()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewRandomnessTransform.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewRandomnessTransform.java deleted file mode 100644 index 9b70fc467..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECNewRandomnessTransform.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECPoint; - -/** - * this transforms the original randomness used for an ElGamal encryption. - */ -public class ECNewRandomnessTransform - implements ECPairFactorTransform -{ - private ECPublicKeyParameters key; - private SecureRandom random; - - private BigInteger lastK; - - /** - * initialise the underlying EC ElGamal engine. - * - * @param param the necessary EC key parameters. - */ - public void init( - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - if (!(p.getParameters() instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform."); - } - - this.key = (ECPublicKeyParameters)p.getParameters(); - this.random = p.getRandom(); - } - else - { - if (!(param instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform."); - } - - this.key = (ECPublicKeyParameters)param; - this.random = new SecureRandom(); - } - } - - /** - * Transform an existing cipher test pair using the ElGamal algorithm. Note: it is assumed this - * transform has been initialised with the same public key that was used to create the original - * cipher text. - * - * @param cipherText the EC point to process. - * @return returns a new ECPair representing the result of the process. - */ - public ECPair transform(ECPair cipherText) - { - if (key == null) - { - throw new IllegalStateException("ECNewRandomnessTransform not initialised"); - } - - BigInteger n = key.getParameters().getN(); - BigInteger k = ECUtil.generateK(n, random); - - ECPoint g = key.getParameters().getG(); - ECPoint gamma = g.multiply(k); - ECPoint phi = key.getQ().multiply(k).add(cipherText.getY()); - - lastK = k; - - return new ECPair(cipherText.getX().add(gamma).normalize(), phi.normalize()); - } - - /** - * Return the last random value generated for a transform - * - * @return a BigInteger representing the last random value. - */ - public BigInteger getTransformValue() - { - return lastK; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPair.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPair.java deleted file mode 100644 index 1b8d247db..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPair.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.spongycastle.crypto.ec; - -import org.spongycastle.math.ec.ECPoint; - -public class ECPair -{ - private final ECPoint x; - private final ECPoint y; - - public ECPair(ECPoint x, ECPoint y) - { - this.x = x; - this.y = y; - } - - public ECPoint getX() - { - return x; - } - - public ECPoint getY() - { - return y; - } - - public boolean equals(ECPair other) - { - return other.getX().equals(getX()) && other.getY().equals(getY()); - } - - public boolean equals(Object other) - { - return other instanceof ECPair ? equals((ECPair)other) : false; - } - - public int hashCode() - { - return x.hashCode() + 37 * y.hashCode(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairFactorTransform.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairFactorTransform.java deleted file mode 100644 index db1c8ce5a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairFactorTransform.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; - -public interface ECPairFactorTransform - extends ECPairTransform -{ - /** - * Return the last value used to calculated a transform. - * - * @return a BigInteger representing the last transform value used. - */ - BigInteger getTransformValue(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairTransform.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairTransform.java deleted file mode 100644 index 209937cd9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECPairTransform.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto.ec; - -import org.spongycastle.crypto.CipherParameters; - -public interface ECPairTransform -{ - void init(CipherParameters params); - - ECPair transform(ECPair cipherText); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECUtil.java deleted file mode 100644 index 00f9a2b79..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/ec/ECUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto.ec; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.math.ec.ECConstants; - -class ECUtil -{ - static BigInteger generateK(BigInteger n, SecureRandom random) - { - int nBitLength = n.bitLength(); - BigInteger k = new BigInteger(nBitLength, random); - - while (k.equals(ECConstants.ZERO) || (k.compareTo(n) >= 0)) - { - k = new BigInteger(nBitLength, random); - } - - return k; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/ISO9796d1Encoding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/ISO9796d1Encoding.java deleted file mode 100644 index 0fdc0593a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/ISO9796d1Encoding.java +++ /dev/null @@ -1,287 +0,0 @@ -package org.spongycastle.crypto.encodings; - -import java.math.BigInteger; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; - -/** - * ISO 9796-1 padding. Note in the light of recent results you should - * only use this with RSA (rather than the "simpler" Rabin keys) and you - * should never use it with anything other than a hash (ie. even if the - * message is small don't sign the message, sign it's hash) or some "random" - * value. See your favorite search engine for details. - */ -public class ISO9796d1Encoding - implements AsymmetricBlockCipher -{ - private static final BigInteger SIXTEEN = BigInteger.valueOf(16L); - private static final BigInteger SIX = BigInteger.valueOf(6L); - - private static byte[] shadows = { 0xe, 0x3, 0x5, 0x8, 0x9, 0x4, 0x2, 0xf, - 0x0, 0xd, 0xb, 0x6, 0x7, 0xa, 0xc, 0x1 }; - private static byte[] inverse = { 0x8, 0xf, 0x6, 0x1, 0x5, 0x2, 0xb, 0xc, - 0x3, 0x4, 0xd, 0xa, 0xe, 0x9, 0x0, 0x7 }; - - private AsymmetricBlockCipher engine; - private boolean forEncryption; - private int bitSize; - private int padBits = 0; - private BigInteger modulus; - - public ISO9796d1Encoding( - AsymmetricBlockCipher cipher) - { - this.engine = cipher; - } - - public AsymmetricBlockCipher getUnderlyingCipher() - { - return engine; - } - - public void init( - boolean forEncryption, - CipherParameters param) - { - RSAKeyParameters kParam = null; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - kParam = (RSAKeyParameters)rParam.getParameters(); - } - else - { - kParam = (RSAKeyParameters)param; - } - - engine.init(forEncryption, param); - - modulus = kParam.getModulus(); - bitSize = modulus.bitLength(); - - this.forEncryption = forEncryption; - } - - /** - * return the input block size. The largest message we can process - * is (key_size_in_bits + 3)/16, which in our world comes to - * key_size_in_bytes / 2. - */ - public int getInputBlockSize() - { - int baseBlockSize = engine.getInputBlockSize(); - - if (forEncryption) - { - return (baseBlockSize + 1) / 2; - } - else - { - return baseBlockSize; - } - } - - /** - * return the maximum possible size for the output. - */ - public int getOutputBlockSize() - { - int baseBlockSize = engine.getOutputBlockSize(); - - if (forEncryption) - { - return baseBlockSize; - } - else - { - return (baseBlockSize + 1) / 2; - } - } - - /** - * set the number of bits in the next message to be treated as - * pad bits. - */ - public void setPadBits( - int padBits) - { - if (padBits > 7) - { - throw new IllegalArgumentException("padBits > 7"); - } - - this.padBits = padBits; - } - - /** - * retrieve the number of pad bits in the last decoded message. - */ - public int getPadBits() - { - return padBits; - } - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - return encodeBlock(in, inOff, inLen); - } - else - { - return decodeBlock(in, inOff, inLen); - } - } - - private byte[] encodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = new byte[(bitSize + 7) / 8]; - int r = padBits + 1; - int z = inLen; - int t = (bitSize + 13) / 16; - - for (int i = 0; i < t; i += z) - { - if (i > t - z) - { - System.arraycopy(in, inOff + inLen - (t - i), - block, block.length - t, t - i); - } - else - { - System.arraycopy(in, inOff, block, block.length - (i + z), z); - } - } - - for (int i = block.length - 2 * t; i != block.length; i += 2) - { - byte val = block[block.length - t + i / 2]; - - block[i] = (byte)((shadows[(val & 0xff) >>> 4] << 4) - | shadows[val & 0x0f]); - block[i + 1] = val; - } - - block[block.length - 2 * z] ^= r; - block[block.length - 1] = (byte)((block[block.length - 1] << 4) | 0x06); - - int maxBit = (8 - (bitSize - 1) % 8); - int offSet = 0; - - if (maxBit != 8) - { - block[0] &= 0xff >>> maxBit; - block[0] |= 0x80 >>> maxBit; - } - else - { - block[0] = 0x00; - block[1] |= 0x80; - offSet = 1; - } - - return engine.processBlock(block, offSet, block.length - offSet); - } - - /** - * @exception InvalidCipherTextException if the decrypted block is not a valid ISO 9796 bit string - */ - private byte[] decodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = engine.processBlock(in, inOff, inLen); - int r = 1; - int t = (bitSize + 13) / 16; - - BigInteger iS = new BigInteger(1, block); - BigInteger iR; - if (iS.mod(SIXTEEN).equals(SIX)) - { - iR = iS; - } - else if ((modulus.subtract(iS)).mod(SIXTEEN).equals(SIX)) - { - iR = modulus.subtract(iS); - } - else - { - throw new InvalidCipherTextException("resulting integer iS or (modulus - iS) is not congruent to 6 mod 16"); - } - - block = convertOutputDecryptOnly(iR); - - if ((block[block.length - 1] & 0x0f) != 0x6 ) - { - throw new InvalidCipherTextException("invalid forcing byte in block"); - } - - block[block.length - 1] = (byte)(((block[block.length - 1] & 0xff) >>> 4) | ((inverse[(block[block.length - 2] & 0xff) >> 4]) << 4)); - block[0] = (byte)((shadows[(block[1] & 0xff) >>> 4] << 4) - | shadows[block[1] & 0x0f]); - - boolean boundaryFound = false; - int boundary = 0; - - for (int i = block.length - 1; i >= block.length - 2 * t; i -= 2) - { - int val = ((shadows[(block[i] & 0xff) >>> 4] << 4) - | shadows[block[i] & 0x0f]); - - if (((block[i - 1] ^ val) & 0xff) != 0) - { - if (!boundaryFound) - { - boundaryFound = true; - r = (block[i - 1] ^ val) & 0xff; - boundary = i - 1; - } - else - { - throw new InvalidCipherTextException("invalid tsums in block"); - } - } - } - - block[boundary] = 0; - - byte[] nblock = new byte[(block.length - boundary) / 2]; - - for (int i = 0; i < nblock.length; i++) - { - nblock[i] = block[2 * i + boundary + 1]; - } - - padBits = r - 1; - - return nblock; - } - - private static byte[] convertOutputDecryptOnly(BigInteger result) - { - byte[] output = result.toByteArray(); - if (output[0] == 0) // have ended up with an extra zero byte, copy down. - { - byte[] tmp = new byte[output.length - 1]; - System.arraycopy(output, 1, tmp, 0, tmp.length); - return tmp; - } - return output; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/OAEPEncoding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/OAEPEncoding.java deleted file mode 100644 index 11796fcec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/OAEPEncoding.java +++ /dev/null @@ -1,357 +0,0 @@ -package org.spongycastle.crypto.encodings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2. - */ -public class OAEPEncoding - implements AsymmetricBlockCipher -{ - private byte[] defHash; - private Digest mgf1Hash; - - private AsymmetricBlockCipher engine; - private SecureRandom random; - private boolean forEncryption; - - public OAEPEncoding( - AsymmetricBlockCipher cipher) - { - this(cipher, new SHA1Digest(), null); - } - - public OAEPEncoding( - AsymmetricBlockCipher cipher, - Digest hash) - { - this(cipher, hash, null); - } - - public OAEPEncoding( - AsymmetricBlockCipher cipher, - Digest hash, - byte[] encodingParams) - { - this(cipher, hash, hash, encodingParams); - } - - public OAEPEncoding( - AsymmetricBlockCipher cipher, - Digest hash, - Digest mgf1Hash, - byte[] encodingParams) - { - this.engine = cipher; - this.mgf1Hash = mgf1Hash; - this.defHash = new byte[hash.getDigestSize()]; - - hash.reset(); - - if (encodingParams != null) - { - hash.update(encodingParams, 0, encodingParams.length); - } - - hash.doFinal(defHash, 0); - } - - public AsymmetricBlockCipher getUnderlyingCipher() - { - return engine; - } - - public void init( - boolean forEncryption, - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - } - else - { - this.random = new SecureRandom(); - } - - engine.init(forEncryption, param); - - this.forEncryption = forEncryption; - } - - public int getInputBlockSize() - { - int baseBlockSize = engine.getInputBlockSize(); - - if (forEncryption) - { - return baseBlockSize - 1 - 2 * defHash.length; - } - else - { - return baseBlockSize; - } - } - - public int getOutputBlockSize() - { - int baseBlockSize = engine.getOutputBlockSize(); - - if (forEncryption) - { - return baseBlockSize; - } - else - { - return baseBlockSize - 1 - 2 * defHash.length; - } - } - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - return encodeBlock(in, inOff, inLen); - } - else - { - return decodeBlock(in, inOff, inLen); - } - } - - public byte[] encodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = new byte[getInputBlockSize() + 1 + 2 * defHash.length]; - - // - // copy in the message - // - System.arraycopy(in, inOff, block, block.length - inLen, inLen); - - // - // add sentinel - // - block[block.length - inLen - 1] = 0x01; - - // - // as the block is already zeroed - there's no need to add PS (the >= 0 pad of 0) - // - - // - // add the hash of the encoding params. - // - System.arraycopy(defHash, 0, block, defHash.length, defHash.length); - - // - // generate the seed. - // - byte[] seed = new byte[defHash.length]; - - random.nextBytes(seed); - - // - // mask the message block. - // - byte[] mask = maskGeneratorFunction1(seed, 0, seed.length, block.length - defHash.length); - - for (int i = defHash.length; i != block.length; i++) - { - block[i] ^= mask[i - defHash.length]; - } - - // - // add in the seed - // - System.arraycopy(seed, 0, block, 0, defHash.length); - - // - // mask the seed. - // - mask = maskGeneratorFunction1( - block, defHash.length, block.length - defHash.length, defHash.length); - - for (int i = 0; i != defHash.length; i++) - { - block[i] ^= mask[i]; - } - - return engine.processBlock(block, 0, block.length); - } - - /** - * @exception InvalidCipherTextException if the decrypted block turns out to - * be badly formatted. - */ - public byte[] decodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] data = engine.processBlock(in, inOff, inLen); - byte[] block; - - // - // as we may have zeros in our leading bytes for the block we produced - // on encryption, we need to make sure our decrypted block comes back - // the same size. - // - if (data.length < engine.getOutputBlockSize()) - { - block = new byte[engine.getOutputBlockSize()]; - - System.arraycopy(data, 0, block, block.length - data.length, data.length); - } - else - { - block = data; - } - - if (block.length < (2 * defHash.length) + 1) - { - throw new InvalidCipherTextException("data too short"); - } - - // - // unmask the seed. - // - byte[] mask = maskGeneratorFunction1( - block, defHash.length, block.length - defHash.length, defHash.length); - - for (int i = 0; i != defHash.length; i++) - { - block[i] ^= mask[i]; - } - - // - // unmask the message block. - // - mask = maskGeneratorFunction1(block, 0, defHash.length, block.length - defHash.length); - - for (int i = defHash.length; i != block.length; i++) - { - block[i] ^= mask[i - defHash.length]; - } - - // - // check the hash of the encoding params. - // long check to try to avoid this been a source of a timing attack. - // - boolean defHashWrong = false; - - for (int i = 0; i != defHash.length; i++) - { - if (defHash[i] != block[defHash.length + i]) - { - defHashWrong = true; - } - } - - if (defHashWrong) - { - throw new InvalidCipherTextException("data hash wrong"); - } - - // - // find the data block - // - int start; - - for (start = 2 * defHash.length; start != block.length; start++) - { - if (block[start] != 0) - { - break; - } - } - - if (start >= (block.length - 1) || block[start] != 1) - { - throw new InvalidCipherTextException("data start wrong " + start); - } - - start++; - - // - // extract the data block - // - byte[] output = new byte[block.length - start]; - - System.arraycopy(block, start, output, 0, output.length); - - return output; - } - - /** - * int to octet string. - */ - private void ItoOSP( - int i, - byte[] sp) - { - sp[0] = (byte)(i >>> 24); - sp[1] = (byte)(i >>> 16); - sp[2] = (byte)(i >>> 8); - sp[3] = (byte)(i >>> 0); - } - - /** - * mask generator function, as described in PKCS1v2. - */ - private byte[] maskGeneratorFunction1( - byte[] Z, - int zOff, - int zLen, - int length) - { - byte[] mask = new byte[length]; - byte[] hashBuf = new byte[mgf1Hash.getDigestSize()]; - byte[] C = new byte[4]; - int counter = 0; - - mgf1Hash.reset(); - - while (counter < (length / hashBuf.length)) - { - ItoOSP(counter, C); - - mgf1Hash.update(Z, zOff, zLen); - mgf1Hash.update(C, 0, C.length); - mgf1Hash.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * hashBuf.length, hashBuf.length); - - counter++; - } - - if ((counter * hashBuf.length) < length) - { - ItoOSP(counter, C); - - mgf1Hash.update(Z, zOff, zLen); - mgf1Hash.update(C, 0, C.length); - mgf1Hash.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * hashBuf.length, mask.length - (counter * hashBuf.length)); - } - - return mask; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/PKCS1Encoding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/PKCS1Encoding.java deleted file mode 100644 index eb79fc068..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/encodings/PKCS1Encoding.java +++ /dev/null @@ -1,257 +0,0 @@ -package org.spongycastle.crypto.encodings; - -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * this does your basic PKCS 1 v1.5 padding - whether or not you should be using this - * depends on your application - see PKCS1 Version 2 for details. - */ -public class PKCS1Encoding - implements AsymmetricBlockCipher -{ - /** - * some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to - * work with one of these set the system property org.spongycastle.pkcs1.strict to false. - *

    - * The system property is checked during construction of the encoding object, it is set to - * true by default. - *

    - */ - public static final String STRICT_LENGTH_ENABLED_PROPERTY = "org.spongycastle.pkcs1.strict"; - - private static final int HEADER_LENGTH = 10; - - private SecureRandom random; - private AsymmetricBlockCipher engine; - private boolean forEncryption; - private boolean forPrivateKey; - private boolean useStrictLength; - - /** - * Basic constructor. - * @param cipher - */ - public PKCS1Encoding( - AsymmetricBlockCipher cipher) - { - this.engine = cipher; - this.useStrictLength = useStrict(); - } - - // - // for J2ME compatibility - // - private boolean useStrict() - { - // required if security manager has been installed. - String strict = (String)AccessController.doPrivileged(new PrivilegedAction() - { - public Object run() - { - return System.getProperty(STRICT_LENGTH_ENABLED_PROPERTY); - } - }); - - return strict == null || strict.equals("true"); - } - - public AsymmetricBlockCipher getUnderlyingCipher() - { - return engine; - } - - public void init( - boolean forEncryption, - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - kParam = (AsymmetricKeyParameter)param; - } - - engine.init(forEncryption, param); - - this.forPrivateKey = kParam.isPrivate(); - this.forEncryption = forEncryption; - } - - public int getInputBlockSize() - { - int baseBlockSize = engine.getInputBlockSize(); - - if (forEncryption) - { - return baseBlockSize - HEADER_LENGTH; - } - else - { - return baseBlockSize; - } - } - - public int getOutputBlockSize() - { - int baseBlockSize = engine.getOutputBlockSize(); - - if (forEncryption) - { - return baseBlockSize; - } - else - { - return baseBlockSize - HEADER_LENGTH; - } - } - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - return encodeBlock(in, inOff, inLen); - } - else - { - return decodeBlock(in, inOff, inLen); - } - } - - private byte[] encodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (inLen > getInputBlockSize()) - { - throw new IllegalArgumentException("input data too large"); - } - - byte[] block = new byte[engine.getInputBlockSize()]; - - if (forPrivateKey) - { - block[0] = 0x01; // type code 1 - - for (int i = 1; i != block.length - inLen - 1; i++) - { - block[i] = (byte)0xFF; - } - } - else - { - random.nextBytes(block); // random fill - - block[0] = 0x02; // type code 2 - - // - // a zero byte marks the end of the padding, so all - // the pad bytes must be non-zero. - // - for (int i = 1; i != block.length - inLen - 1; i++) - { - while (block[i] == 0) - { - block[i] = (byte)random.nextInt(); - } - } - } - - block[block.length - inLen - 1] = 0x00; // mark the end of the padding - System.arraycopy(in, inOff, block, block.length - inLen, inLen); - - return engine.processBlock(block, 0, block.length); - } - - /** - * @exception InvalidCipherTextException if the decrypted block is not in PKCS1 format. - */ - private byte[] decodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = engine.processBlock(in, inOff, inLen); - - if (block.length < getOutputBlockSize()) - { - throw new InvalidCipherTextException("block truncated"); - } - - byte type = block[0]; - - if (forPrivateKey) - { - if (type != 2) - { - throw new InvalidCipherTextException("unknown block type"); - } - } - else - { - if (type != 1) - { - throw new InvalidCipherTextException("unknown block type"); - } - } - - if (useStrictLength && block.length != engine.getOutputBlockSize()) - { - throw new InvalidCipherTextException("block incorrect size"); - } - - // - // find and extract the message block. - // - int start; - - for (start = 1; start != block.length; start++) - { - byte pad = block[start]; - - if (pad == 0) - { - break; - } - if (type == 1 && pad != (byte)0xff) - { - throw new InvalidCipherTextException("block padding incorrect"); - } - } - - start++; // data should start at the next byte - - if (start > block.length || start < HEADER_LENGTH) - { - throw new InvalidCipherTextException("no data in block"); - } - - byte[] result = new byte[block.length - start]; - - System.arraycopy(block, start, result, 0, result.length); - - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESEngine.java deleted file mode 100644 index 9a7dbe84d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESEngine.java +++ /dev/null @@ -1,546 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * an implementation of the AES (Rijndael), from FIPS-197. - *

    - * For further details see: http://csrc.nist.gov/encryption/aes/. - * - * This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - * - * There are three levels of tradeoff of speed vs memory - * Because java has no preprocessor, they are written as three separate classes from which to choose - * - * The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption - * and 4 for decryption. - * - * The middle performance version uses only one 256 word table for each, for a total of 2Kbytes, - * adding 12 rotate operations per round to compute the values contained in the other tables from - * the contents of the first. - * - * The slowest version uses no static tables at all and computes the values in each round. - *

    - * This file contains the middle performance version with 2Kbytes of static tables for round precomputation. - * - */ -public class AESEngine - implements BlockCipher -{ - // The S box - private static final byte[] S = { - (byte)99, (byte)124, (byte)119, (byte)123, (byte)242, (byte)107, (byte)111, (byte)197, - (byte)48, (byte)1, (byte)103, (byte)43, (byte)254, (byte)215, (byte)171, (byte)118, - (byte)202, (byte)130, (byte)201, (byte)125, (byte)250, (byte)89, (byte)71, (byte)240, - (byte)173, (byte)212, (byte)162, (byte)175, (byte)156, (byte)164, (byte)114, (byte)192, - (byte)183, (byte)253, (byte)147, (byte)38, (byte)54, (byte)63, (byte)247, (byte)204, - (byte)52, (byte)165, (byte)229, (byte)241, (byte)113, (byte)216, (byte)49, (byte)21, - (byte)4, (byte)199, (byte)35, (byte)195, (byte)24, (byte)150, (byte)5, (byte)154, - (byte)7, (byte)18, (byte)128, (byte)226, (byte)235, (byte)39, (byte)178, (byte)117, - (byte)9, (byte)131, (byte)44, (byte)26, (byte)27, (byte)110, (byte)90, (byte)160, - (byte)82, (byte)59, (byte)214, (byte)179, (byte)41, (byte)227, (byte)47, (byte)132, - (byte)83, (byte)209, (byte)0, (byte)237, (byte)32, (byte)252, (byte)177, (byte)91, - (byte)106, (byte)203, (byte)190, (byte)57, (byte)74, (byte)76, (byte)88, (byte)207, - (byte)208, (byte)239, (byte)170, (byte)251, (byte)67, (byte)77, (byte)51, (byte)133, - (byte)69, (byte)249, (byte)2, (byte)127, (byte)80, (byte)60, (byte)159, (byte)168, - (byte)81, (byte)163, (byte)64, (byte)143, (byte)146, (byte)157, (byte)56, (byte)245, - (byte)188, (byte)182, (byte)218, (byte)33, (byte)16, (byte)255, (byte)243, (byte)210, - (byte)205, (byte)12, (byte)19, (byte)236, (byte)95, (byte)151, (byte)68, (byte)23, - (byte)196, (byte)167, (byte)126, (byte)61, (byte)100, (byte)93, (byte)25, (byte)115, - (byte)96, (byte)129, (byte)79, (byte)220, (byte)34, (byte)42, (byte)144, (byte)136, - (byte)70, (byte)238, (byte)184, (byte)20, (byte)222, (byte)94, (byte)11, (byte)219, - (byte)224, (byte)50, (byte)58, (byte)10, (byte)73, (byte)6, (byte)36, (byte)92, - (byte)194, (byte)211, (byte)172, (byte)98, (byte)145, (byte)149, (byte)228, (byte)121, - (byte)231, (byte)200, (byte)55, (byte)109, (byte)141, (byte)213, (byte)78, (byte)169, - (byte)108, (byte)86, (byte)244, (byte)234, (byte)101, (byte)122, (byte)174, (byte)8, - (byte)186, (byte)120, (byte)37, (byte)46, (byte)28, (byte)166, (byte)180, (byte)198, - (byte)232, (byte)221, (byte)116, (byte)31, (byte)75, (byte)189, (byte)139, (byte)138, - (byte)112, (byte)62, (byte)181, (byte)102, (byte)72, (byte)3, (byte)246, (byte)14, - (byte)97, (byte)53, (byte)87, (byte)185, (byte)134, (byte)193, (byte)29, (byte)158, - (byte)225, (byte)248, (byte)152, (byte)17, (byte)105, (byte)217, (byte)142, (byte)148, - (byte)155, (byte)30, (byte)135, (byte)233, (byte)206, (byte)85, (byte)40, (byte)223, - (byte)140, (byte)161, (byte)137, (byte)13, (byte)191, (byte)230, (byte)66, (byte)104, - (byte)65, (byte)153, (byte)45, (byte)15, (byte)176, (byte)84, (byte)187, (byte)22, - }; - - // The inverse S-box - private static final byte[] Si = { - (byte)82, (byte)9, (byte)106, (byte)213, (byte)48, (byte)54, (byte)165, (byte)56, - (byte)191, (byte)64, (byte)163, (byte)158, (byte)129, (byte)243, (byte)215, (byte)251, - (byte)124, (byte)227, (byte)57, (byte)130, (byte)155, (byte)47, (byte)255, (byte)135, - (byte)52, (byte)142, (byte)67, (byte)68, (byte)196, (byte)222, (byte)233, (byte)203, - (byte)84, (byte)123, (byte)148, (byte)50, (byte)166, (byte)194, (byte)35, (byte)61, - (byte)238, (byte)76, (byte)149, (byte)11, (byte)66, (byte)250, (byte)195, (byte)78, - (byte)8, (byte)46, (byte)161, (byte)102, (byte)40, (byte)217, (byte)36, (byte)178, - (byte)118, (byte)91, (byte)162, (byte)73, (byte)109, (byte)139, (byte)209, (byte)37, - (byte)114, (byte)248, (byte)246, (byte)100, (byte)134, (byte)104, (byte)152, (byte)22, - (byte)212, (byte)164, (byte)92, (byte)204, (byte)93, (byte)101, (byte)182, (byte)146, - (byte)108, (byte)112, (byte)72, (byte)80, (byte)253, (byte)237, (byte)185, (byte)218, - (byte)94, (byte)21, (byte)70, (byte)87, (byte)167, (byte)141, (byte)157, (byte)132, - (byte)144, (byte)216, (byte)171, (byte)0, (byte)140, (byte)188, (byte)211, (byte)10, - (byte)247, (byte)228, (byte)88, (byte)5, (byte)184, (byte)179, (byte)69, (byte)6, - (byte)208, (byte)44, (byte)30, (byte)143, (byte)202, (byte)63, (byte)15, (byte)2, - (byte)193, (byte)175, (byte)189, (byte)3, (byte)1, (byte)19, (byte)138, (byte)107, - (byte)58, (byte)145, (byte)17, (byte)65, (byte)79, (byte)103, (byte)220, (byte)234, - (byte)151, (byte)242, (byte)207, (byte)206, (byte)240, (byte)180, (byte)230, (byte)115, - (byte)150, (byte)172, (byte)116, (byte)34, (byte)231, (byte)173, (byte)53, (byte)133, - (byte)226, (byte)249, (byte)55, (byte)232, (byte)28, (byte)117, (byte)223, (byte)110, - (byte)71, (byte)241, (byte)26, (byte)113, (byte)29, (byte)41, (byte)197, (byte)137, - (byte)111, (byte)183, (byte)98, (byte)14, (byte)170, (byte)24, (byte)190, (byte)27, - (byte)252, (byte)86, (byte)62, (byte)75, (byte)198, (byte)210, (byte)121, (byte)32, - (byte)154, (byte)219, (byte)192, (byte)254, (byte)120, (byte)205, (byte)90, (byte)244, - (byte)31, (byte)221, (byte)168, (byte)51, (byte)136, (byte)7, (byte)199, (byte)49, - (byte)177, (byte)18, (byte)16, (byte)89, (byte)39, (byte)128, (byte)236, (byte)95, - (byte)96, (byte)81, (byte)127, (byte)169, (byte)25, (byte)181, (byte)74, (byte)13, - (byte)45, (byte)229, (byte)122, (byte)159, (byte)147, (byte)201, (byte)156, (byte)239, - (byte)160, (byte)224, (byte)59, (byte)77, (byte)174, (byte)42, (byte)245, (byte)176, - (byte)200, (byte)235, (byte)187, (byte)60, (byte)131, (byte)83, (byte)153, (byte)97, - (byte)23, (byte)43, (byte)4, (byte)126, (byte)186, (byte)119, (byte)214, (byte)38, - (byte)225, (byte)105, (byte)20, (byte)99, (byte)85, (byte)33, (byte)12, (byte)125, - }; - - // vector used in calculating key schedule (powers of x in GF(256)) - private static final int[] rcon = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, - 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 }; - - // precomputation tables of calculations for rounds - private static final int[] T0 = - { - 0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, 0x0df2f2ff, - 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, 0x50303060, 0x03010102, - 0xa96767ce, 0x7d2b2b56, 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, - 0x9a7676ec, 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, - 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, 0xecadad41, - 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, 0xbf9c9c23, 0xf7a4a453, - 0x967272e4, 0x5bc0c09b, 0xc2b7b775, 0x1cfdfde1, 0xae93933d, - 0x6a26264c, 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, - 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, 0x937171e2, - 0x73d8d8ab, 0x53313162, 0x3f15152a, 0x0c040408, 0x52c7c795, - 0x65232346, 0x5ec3c39d, 0x28181830, 0xa1969637, 0x0f05050a, - 0xb59a9a2f, 0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, - 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, 0x1b090912, - 0x9e83831d, 0x742c2c58, 0x2e1a1a34, 0x2d1b1b36, 0xb26e6edc, - 0xee5a5ab4, 0xfba0a05b, 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, - 0xceb3b37d, 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, - 0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, 0x60202040, - 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, 0xbe6a6ad4, 0x46cbcb8d, - 0xd9bebe67, 0x4b393972, 0xde4a4a94, 0xd44c4c98, 0xe85858b0, - 0x4acfcf85, 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, - 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, 0xcf45458a, - 0x10f9f9e9, 0x06020204, 0x817f7ffe, 0xf05050a0, 0x443c3c78, - 0xba9f9f25, 0xe3a8a84b, 0xf35151a2, 0xfea3a35d, 0xc0404080, - 0x8a8f8f05, 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, - 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, 0x30101020, - 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, 0x4ccdcd81, 0x140c0c18, - 0x35131326, 0x2fececc3, 0xe15f5fbe, 0xa2979735, 0xcc444488, - 0x3917172e, 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, - 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, 0xa06060c0, - 0x98818119, 0xd14f4f9e, 0x7fdcdca3, 0x66222244, 0x7e2a2a54, - 0xab90903b, 0x8388880b, 0xca46468c, 0x29eeeec7, 0xd3b8b86b, - 0x3c141428, 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, - 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, 0xdb494992, - 0x0a06060c, 0x6c242448, 0xe45c5cb8, 0x5dc2c29f, 0x6ed3d3bd, - 0xefacac43, 0xa66262c4, 0xa8919139, 0xa4959531, 0x37e4e4d3, - 0x8b7979f2, 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, - 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, 0xb46c6cd8, - 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, 0xaf6565ca, 0x8e7a7af4, - 0xe9aeae47, 0x18080810, 0xd5baba6f, 0x887878f0, 0x6f25254a, - 0x722e2e5c, 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, - 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, 0xdd4b4b96, - 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, 0x907070e0, 0x423e3e7c, - 0xc4b5b571, 0xaa6666cc, 0xd8484890, 0x05030306, 0x01f6f6f7, - 0x120e0e1c, 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, - 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, 0x38e1e1d9, - 0x13f8f8eb, 0xb398982b, 0x33111122, 0xbb6969d2, 0x70d9d9a9, - 0x898e8e07, 0xa7949433, 0xb69b9b2d, 0x221e1e3c, 0x92878715, - 0x20e9e9c9, 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, - 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, 0xdabfbf65, - 0x31e6e6d7, 0xc6424284, 0xb86868d0, 0xc3414182, 0xb0999929, - 0x772d2d5a, 0x110f0f1e, 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, - 0x3a16162c}; - -private static final int[] Tinv0 = - { - 0x50a7f451, 0x5365417e, 0xc3a4171a, 0x965e273a, 0xcb6bab3b, - 0xf1459d1f, 0xab58faac, 0x9303e34b, 0x55fa3020, 0xf66d76ad, - 0x9176cc88, 0x254c02f5, 0xfcd7e54f, 0xd7cb2ac5, 0x80443526, - 0x8fa362b5, 0x495ab1de, 0x671bba25, 0x980eea45, 0xe1c0fe5d, - 0x02752fc3, 0x12f04c81, 0xa397468d, 0xc6f9d36b, 0xe75f8f03, - 0x959c9215, 0xeb7a6dbf, 0xda595295, 0x2d83bed4, 0xd3217458, - 0x2969e049, 0x44c8c98e, 0x6a89c275, 0x78798ef4, 0x6b3e5899, - 0xdd71b927, 0xb64fe1be, 0x17ad88f0, 0x66ac20c9, 0xb43ace7d, - 0x184adf63, 0x82311ae5, 0x60335197, 0x457f5362, 0xe07764b1, - 0x84ae6bbb, 0x1ca081fe, 0x942b08f9, 0x58684870, 0x19fd458f, - 0x876cde94, 0xb7f87b52, 0x23d373ab, 0xe2024b72, 0x578f1fe3, - 0x2aab5566, 0x0728ebb2, 0x03c2b52f, 0x9a7bc586, 0xa50837d3, - 0xf2872830, 0xb2a5bf23, 0xba6a0302, 0x5c8216ed, 0x2b1ccf8a, - 0x92b479a7, 0xf0f207f3, 0xa1e2694e, 0xcdf4da65, 0xd5be0506, - 0x1f6234d1, 0x8afea6c4, 0x9d532e34, 0xa055f3a2, 0x32e18a05, - 0x75ebf6a4, 0x39ec830b, 0xaaef6040, 0x069f715e, 0x51106ebd, - 0xf98a213e, 0x3d06dd96, 0xae053edd, 0x46bde64d, 0xb58d5491, - 0x055dc471, 0x6fd40604, 0xff155060, 0x24fb9819, 0x97e9bdd6, - 0xcc434089, 0x779ed967, 0xbd42e8b0, 0x888b8907, 0x385b19e7, - 0xdbeec879, 0x470a7ca1, 0xe90f427c, 0xc91e84f8, 0x00000000, - 0x83868009, 0x48ed2b32, 0xac70111e, 0x4e725a6c, 0xfbff0efd, - 0x5638850f, 0x1ed5ae3d, 0x27392d36, 0x64d90f0a, 0x21a65c68, - 0xd1545b9b, 0x3a2e3624, 0xb1670a0c, 0x0fe75793, 0xd296eeb4, - 0x9e919b1b, 0x4fc5c080, 0xa220dc61, 0x694b775a, 0x161a121c, - 0x0aba93e2, 0xe52aa0c0, 0x43e0223c, 0x1d171b12, 0x0b0d090e, - 0xadc78bf2, 0xb9a8b62d, 0xc8a91e14, 0x8519f157, 0x4c0775af, - 0xbbdd99ee, 0xfd607fa3, 0x9f2601f7, 0xbcf5725c, 0xc53b6644, - 0x347efb5b, 0x7629438b, 0xdcc623cb, 0x68fcedb6, 0x63f1e4b8, - 0xcadc31d7, 0x10856342, 0x40229713, 0x2011c684, 0x7d244a85, - 0xf83dbbd2, 0x1132f9ae, 0x6da129c7, 0x4b2f9e1d, 0xf330b2dc, - 0xec52860d, 0xd0e3c177, 0x6c16b32b, 0x99b970a9, 0xfa489411, - 0x2264e947, 0xc48cfca8, 0x1a3ff0a0, 0xd82c7d56, 0xef903322, - 0xc74e4987, 0xc1d138d9, 0xfea2ca8c, 0x360bd498, 0xcf81f5a6, - 0x28de7aa5, 0x268eb7da, 0xa4bfad3f, 0xe49d3a2c, 0x0d927850, - 0x9bcc5f6a, 0x62467e54, 0xc2138df6, 0xe8b8d890, 0x5ef7392e, - 0xf5afc382, 0xbe805d9f, 0x7c93d069, 0xa92dd56f, 0xb31225cf, - 0x3b99acc8, 0xa77d1810, 0x6e639ce8, 0x7bbb3bdb, 0x097826cd, - 0xf418596e, 0x01b79aec, 0xa89a4f83, 0x656e95e6, 0x7ee6ffaa, - 0x08cfbc21, 0xe6e815ef, 0xd99be7ba, 0xce366f4a, 0xd4099fea, - 0xd67cb029, 0xafb2a431, 0x31233f2a, 0x3094a5c6, 0xc066a235, - 0x37bc4e74, 0xa6ca82fc, 0xb0d090e0, 0x15d8a733, 0x4a9804f1, - 0xf7daec41, 0x0e50cd7f, 0x2ff69117, 0x8dd64d76, 0x4db0ef43, - 0x544daacc, 0xdf0496e4, 0xe3b5d19e, 0x1b886a4c, 0xb81f2cc1, - 0x7f516546, 0x04ea5e9d, 0x5d358c01, 0x737487fa, 0x2e410bfb, - 0x5a1d67b3, 0x52d2db92, 0x335610e9, 0x1347d66d, 0x8c61d79a, - 0x7a0ca137, 0x8e14f859, 0x893c13eb, 0xee27a9ce, 0x35c961b7, - 0xede51ce1, 0x3cb1477a, 0x59dfd29c, 0x3f73f255, 0x79ce1418, - 0xbf37c773, 0xeacdf753, 0x5baafd5f, 0x146f3ddf, 0x86db4478, - 0x81f3afca, 0x3ec468b9, 0x2c342438, 0x5f40a3c2, 0x72c31d16, - 0x0c25e2bc, 0x8b493c28, 0x41950dff, 0x7101a839, 0xdeb30c08, - 0x9ce4b4d8, 0x90c15664, 0x6184cb7b, 0x70b632d5, 0x745c6c48, - 0x4257b8d0}; - - private static int shift(int r, int shift) - { - return (r >>> shift) | (r << -shift); - } - - /* multiply four bytes in GF(2^8) by 'x' {02} in parallel */ - - private static final int m1 = 0x80808080; - private static final int m2 = 0x7f7f7f7f; - private static final int m3 = 0x0000001b; - - private static int FFmulX(int x) - { - return (((x & m2) << 1) ^ (((x & m1) >>> 7) * m3)); - } - - /* - The following defines provide alternative definitions of FFmulX that might - give improved performance if a fast 32-bit multiply is not available. - - private int FFmulX(int x) { int u = x & m1; u |= (u >> 1); return ((x & m2) << 1) ^ ((u >>> 3) | (u >>> 6)); } - private static final int m4 = 0x1b1b1b1b; - private int FFmulX(int x) { int u = x & m1; return ((x & m2) << 1) ^ ((u - (u >>> 7)) & m4); } - - */ - - private static int inv_mcol(int x) - { - int f2 = FFmulX(x); - int f4 = FFmulX(f2); - int f8 = FFmulX(f4); - int f9 = x ^ f8; - - return f2 ^ f4 ^ f8 ^ shift(f2 ^ f9, 8) ^ shift(f4 ^ f9, 16) ^ shift(f9, 24); - } - - private static int subWord(int x) - { - return (S[x&255]&255 | ((S[(x>>8)&255]&255)<<8) | ((S[(x>>16)&255]&255)<<16) | S[(x>>24)&255]<<24); - } - - /** - * Calculate the necessary round keys - * The number of calculations depends on key size and block size - * AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits - * This code is written assuming those are the only possible values - */ - private int[][] generateWorkingKey( - byte[] key, - boolean forEncryption) - { - int KC = key.length / 4; // key length in words - int t; - - if (((KC != 4) && (KC != 6) && (KC != 8)) || ((KC * 4) != key.length)) - { - throw new IllegalArgumentException("Key length not 128/192/256 bits."); - } - - ROUNDS = KC + 6; // This is not always true for the generalized Rijndael that allows larger block sizes - int[][] W = new int[ROUNDS+1][4]; // 4 words in a block - - // - // copy the key into the round key array - // - - t = 0; - int i = 0; - while (i < key.length) - { - W[t >> 2][t & 3] = (key[i]&0xff) | ((key[i+1]&0xff) << 8) | ((key[i+2]&0xff) << 16) | (key[i+3] << 24); - i+=4; - t++; - } - - // - // while not enough round key material calculated - // calculate new values - // - int k = (ROUNDS + 1) << 2; - for (i = KC; (i < k); i++) - { - int temp = W[(i-1)>>2][(i-1)&3]; - if ((i % KC) == 0) - { - temp = subWord(shift(temp, 8)) ^ rcon[(i / KC)-1]; - } - else if ((KC > 6) && ((i % KC) == 4)) - { - temp = subWord(temp); - } - - W[i>>2][i&3] = W[(i - KC)>>2][(i-KC)&3] ^ temp; - } - - if (!forEncryption) - { - for (int j = 1; j < ROUNDS; j++) - { - for (i = 0; i < 4; i++) - { - W[j][i] = inv_mcol(W[j][i]); - } - } - } - - return W; - } - - private int ROUNDS; - private int[][] WorkingKey = null; - private int C0, C1, C2, C3; - private boolean forEncryption; - - private static final int BLOCK_SIZE = 16; - - /** - * default constructor - 128 bit block size. - */ - public AESEngine() - { - } - - /** - * initialise an AES cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - WorkingKey = generateWorkingKey(((KeyParameter)params).getKey(), forEncryption); - this.forEncryption = forEncryption; - return; - } - - throw new IllegalArgumentException("invalid parameter passed to AES init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "AES"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (WorkingKey == null) - { - throw new IllegalStateException("AES engine not initialised"); - } - - if ((inOff + (32 / 2)) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + (32 / 2)) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (forEncryption) - { - unpackBlock(in, inOff); - encryptBlock(WorkingKey); - packBlock(out, outOff); - } - else - { - unpackBlock(in, inOff); - decryptBlock(WorkingKey); - packBlock(out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private void unpackBlock( - byte[] bytes, - int off) - { - int index = off; - - C0 = (bytes[index++] & 0xff); - C0 |= (bytes[index++] & 0xff) << 8; - C0 |= (bytes[index++] & 0xff) << 16; - C0 |= bytes[index++] << 24; - - C1 = (bytes[index++] & 0xff); - C1 |= (bytes[index++] & 0xff) << 8; - C1 |= (bytes[index++] & 0xff) << 16; - C1 |= bytes[index++] << 24; - - C2 = (bytes[index++] & 0xff); - C2 |= (bytes[index++] & 0xff) << 8; - C2 |= (bytes[index++] & 0xff) << 16; - C2 |= bytes[index++] << 24; - - C3 = (bytes[index++] & 0xff); - C3 |= (bytes[index++] & 0xff) << 8; - C3 |= (bytes[index++] & 0xff) << 16; - C3 |= bytes[index++] << 24; - } - - private void packBlock( - byte[] bytes, - int off) - { - int index = off; - - bytes[index++] = (byte)C0; - bytes[index++] = (byte)(C0 >> 8); - bytes[index++] = (byte)(C0 >> 16); - bytes[index++] = (byte)(C0 >> 24); - - bytes[index++] = (byte)C1; - bytes[index++] = (byte)(C1 >> 8); - bytes[index++] = (byte)(C1 >> 16); - bytes[index++] = (byte)(C1 >> 24); - - bytes[index++] = (byte)C2; - bytes[index++] = (byte)(C2 >> 8); - bytes[index++] = (byte)(C2 >> 16); - bytes[index++] = (byte)(C2 >> 24); - - bytes[index++] = (byte)C3; - bytes[index++] = (byte)(C3 >> 8); - bytes[index++] = (byte)(C3 >> 16); - bytes[index++] = (byte)(C3 >> 24); - } - - - private void encryptBlock(int[][] KW) - { - int r, r0, r1, r2, r3; - - C0 ^= KW[0][0]; - C1 ^= KW[0][1]; - C2 ^= KW[0][2]; - C3 ^= KW[0][3]; - - r = 1; - - while (r < ROUNDS - 1) - { - r0 = T0[C0&255] ^ shift(T0[(C1>>8)&255], 24) ^ shift(T0[(C2>>16)&255],16) ^ shift(T0[(C3>>24)&255],8) ^ KW[r][0]; - r1 = T0[C1&255] ^ shift(T0[(C2>>8)&255], 24) ^ shift(T0[(C3>>16)&255], 16) ^ shift(T0[(C0>>24)&255], 8) ^ KW[r][1]; - r2 = T0[C2&255] ^ shift(T0[(C3>>8)&255], 24) ^ shift(T0[(C0>>16)&255], 16) ^ shift(T0[(C1>>24)&255], 8) ^ KW[r][2]; - r3 = T0[C3&255] ^ shift(T0[(C0>>8)&255], 24) ^ shift(T0[(C1>>16)&255], 16) ^ shift(T0[(C2>>24)&255], 8) ^ KW[r++][3]; - C0 = T0[r0&255] ^ shift(T0[(r1>>8)&255], 24) ^ shift(T0[(r2>>16)&255], 16) ^ shift(T0[(r3>>24)&255], 8) ^ KW[r][0]; - C1 = T0[r1&255] ^ shift(T0[(r2>>8)&255], 24) ^ shift(T0[(r3>>16)&255], 16) ^ shift(T0[(r0>>24)&255], 8) ^ KW[r][1]; - C2 = T0[r2&255] ^ shift(T0[(r3>>8)&255], 24) ^ shift(T0[(r0>>16)&255], 16) ^ shift(T0[(r1>>24)&255], 8) ^ KW[r][2]; - C3 = T0[r3&255] ^ shift(T0[(r0>>8)&255], 24) ^ shift(T0[(r1>>16)&255], 16) ^ shift(T0[(r2>>24)&255], 8) ^ KW[r++][3]; - } - - r0 = T0[C0&255] ^ shift(T0[(C1>>8)&255], 24) ^ shift(T0[(C2>>16)&255], 16) ^ shift(T0[(C3>>24)&255], 8) ^ KW[r][0]; - r1 = T0[C1&255] ^ shift(T0[(C2>>8)&255], 24) ^ shift(T0[(C3>>16)&255], 16) ^ shift(T0[(C0>>24)&255], 8) ^ KW[r][1]; - r2 = T0[C2&255] ^ shift(T0[(C3>>8)&255], 24) ^ shift(T0[(C0>>16)&255], 16) ^ shift(T0[(C1>>24)&255], 8) ^ KW[r][2]; - r3 = T0[C3&255] ^ shift(T0[(C0>>8)&255], 24) ^ shift(T0[(C1>>16)&255], 16) ^ shift(T0[(C2>>24)&255], 8) ^ KW[r++][3]; - - // the final round's table is a simple function of S so we don't use a whole other four tables for it - - C0 = (S[r0&255]&255) ^ ((S[(r1>>8)&255]&255)<<8) ^ ((S[(r2>>16)&255]&255)<<16) ^ (S[(r3>>24)&255]<<24) ^ KW[r][0]; - C1 = (S[r1&255]&255) ^ ((S[(r2>>8)&255]&255)<<8) ^ ((S[(r3>>16)&255]&255)<<16) ^ (S[(r0>>24)&255]<<24) ^ KW[r][1]; - C2 = (S[r2&255]&255) ^ ((S[(r3>>8)&255]&255)<<8) ^ ((S[(r0>>16)&255]&255)<<16) ^ (S[(r1>>24)&255]<<24) ^ KW[r][2]; - C3 = (S[r3&255]&255) ^ ((S[(r0>>8)&255]&255)<<8) ^ ((S[(r1>>16)&255]&255)<<16) ^ (S[(r2>>24)&255]<<24) ^ KW[r][3]; - - } - - private void decryptBlock(int[][] KW) - { - int r, r0, r1, r2, r3; - - C0 ^= KW[ROUNDS][0]; - C1 ^= KW[ROUNDS][1]; - C2 ^= KW[ROUNDS][2]; - C3 ^= KW[ROUNDS][3]; - - r = ROUNDS-1; - - while (r>1) - { - r0 = Tinv0[C0&255] ^ shift(Tinv0[(C3>>8)&255], 24) ^ shift(Tinv0[(C2>>16)&255], 16) ^ shift(Tinv0[(C1>>24)&255], 8) ^ KW[r][0]; - r1 = Tinv0[C1&255] ^ shift(Tinv0[(C0>>8)&255], 24) ^ shift(Tinv0[(C3>>16)&255], 16) ^ shift(Tinv0[(C2>>24)&255], 8) ^ KW[r][1]; - r2 = Tinv0[C2&255] ^ shift(Tinv0[(C1>>8)&255], 24) ^ shift(Tinv0[(C0>>16)&255], 16) ^ shift(Tinv0[(C3>>24)&255], 8) ^ KW[r][2]; - r3 = Tinv0[C3&255] ^ shift(Tinv0[(C2>>8)&255], 24) ^ shift(Tinv0[(C1>>16)&255], 16) ^ shift(Tinv0[(C0>>24)&255], 8) ^ KW[r--][3]; - C0 = Tinv0[r0&255] ^ shift(Tinv0[(r3>>8)&255], 24) ^ shift(Tinv0[(r2>>16)&255], 16) ^ shift(Tinv0[(r1>>24)&255], 8) ^ KW[r][0]; - C1 = Tinv0[r1&255] ^ shift(Tinv0[(r0>>8)&255], 24) ^ shift(Tinv0[(r3>>16)&255], 16) ^ shift(Tinv0[(r2>>24)&255], 8) ^ KW[r][1]; - C2 = Tinv0[r2&255] ^ shift(Tinv0[(r1>>8)&255], 24) ^ shift(Tinv0[(r0>>16)&255], 16) ^ shift(Tinv0[(r3>>24)&255], 8) ^ KW[r][2]; - C3 = Tinv0[r3&255] ^ shift(Tinv0[(r2>>8)&255], 24) ^ shift(Tinv0[(r1>>16)&255], 16) ^ shift(Tinv0[(r0>>24)&255], 8) ^ KW[r--][3]; - } - - r0 = Tinv0[C0&255] ^ shift(Tinv0[(C3>>8)&255], 24) ^ shift(Tinv0[(C2>>16)&255], 16) ^ shift(Tinv0[(C1>>24)&255], 8) ^ KW[r][0]; - r1 = Tinv0[C1&255] ^ shift(Tinv0[(C0>>8)&255], 24) ^ shift(Tinv0[(C3>>16)&255], 16) ^ shift(Tinv0[(C2>>24)&255], 8) ^ KW[r][1]; - r2 = Tinv0[C2&255] ^ shift(Tinv0[(C1>>8)&255], 24) ^ shift(Tinv0[(C0>>16)&255], 16) ^ shift(Tinv0[(C3>>24)&255], 8) ^ KW[r][2]; - r3 = Tinv0[C3&255] ^ shift(Tinv0[(C2>>8)&255], 24) ^ shift(Tinv0[(C1>>16)&255], 16) ^ shift(Tinv0[(C0>>24)&255], 8) ^ KW[r][3]; - - // the final round's table is a simple function of Si so we don't use a whole other four tables for it - - C0 = (Si[r0&255]&255) ^ ((Si[(r3>>8)&255]&255)<<8) ^ ((Si[(r2>>16)&255]&255)<<16) ^ (Si[(r1>>24)&255]<<24) ^ KW[0][0]; - C1 = (Si[r1&255]&255) ^ ((Si[(r0>>8)&255]&255)<<8) ^ ((Si[(r3>>16)&255]&255)<<16) ^ (Si[(r2>>24)&255]<<24) ^ KW[0][1]; - C2 = (Si[r2&255]&255) ^ ((Si[(r1>>8)&255]&255)<<8) ^ ((Si[(r0>>16)&255]&255)<<16) ^ (Si[(r3>>24)&255]<<24) ^ KW[0][2]; - C3 = (Si[r3&255]&255) ^ ((Si[(r2>>8)&255]&255)<<8) ^ ((Si[(r1>>16)&255]&255)<<16) ^ (Si[(r0>>24)&255]<<24) ^ KW[0][3]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESFastEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESFastEngine.java deleted file mode 100644 index 34f33fd67..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESFastEngine.java +++ /dev/null @@ -1,875 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * an implementation of the AES (Rijndael), from FIPS-197. - *

    - * For further details see: http://csrc.nist.gov/encryption/aes/. - * - * This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - * - * There are three levels of tradeoff of speed vs memory - * Because java has no preprocessor, they are written as three separate classes from which to choose - * - * The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption - * and 4 for decryption. - * - * The middle performance version uses only one 256 word table for each, for a total of 2Kbytes, - * adding 12 rotate operations per round to compute the values contained in the other tables from - * the contents of the first - * - * The slowest version uses no static tables at all and computes the values in each round - *

    - * This file contains the fast version with 8Kbytes of static tables for round precomputation - * - */ -public class AESFastEngine - implements BlockCipher -{ - // The S box - private static final byte[] S = { - (byte)99, (byte)124, (byte)119, (byte)123, (byte)242, (byte)107, (byte)111, (byte)197, - (byte)48, (byte)1, (byte)103, (byte)43, (byte)254, (byte)215, (byte)171, (byte)118, - (byte)202, (byte)130, (byte)201, (byte)125, (byte)250, (byte)89, (byte)71, (byte)240, - (byte)173, (byte)212, (byte)162, (byte)175, (byte)156, (byte)164, (byte)114, (byte)192, - (byte)183, (byte)253, (byte)147, (byte)38, (byte)54, (byte)63, (byte)247, (byte)204, - (byte)52, (byte)165, (byte)229, (byte)241, (byte)113, (byte)216, (byte)49, (byte)21, - (byte)4, (byte)199, (byte)35, (byte)195, (byte)24, (byte)150, (byte)5, (byte)154, - (byte)7, (byte)18, (byte)128, (byte)226, (byte)235, (byte)39, (byte)178, (byte)117, - (byte)9, (byte)131, (byte)44, (byte)26, (byte)27, (byte)110, (byte)90, (byte)160, - (byte)82, (byte)59, (byte)214, (byte)179, (byte)41, (byte)227, (byte)47, (byte)132, - (byte)83, (byte)209, (byte)0, (byte)237, (byte)32, (byte)252, (byte)177, (byte)91, - (byte)106, (byte)203, (byte)190, (byte)57, (byte)74, (byte)76, (byte)88, (byte)207, - (byte)208, (byte)239, (byte)170, (byte)251, (byte)67, (byte)77, (byte)51, (byte)133, - (byte)69, (byte)249, (byte)2, (byte)127, (byte)80, (byte)60, (byte)159, (byte)168, - (byte)81, (byte)163, (byte)64, (byte)143, (byte)146, (byte)157, (byte)56, (byte)245, - (byte)188, (byte)182, (byte)218, (byte)33, (byte)16, (byte)255, (byte)243, (byte)210, - (byte)205, (byte)12, (byte)19, (byte)236, (byte)95, (byte)151, (byte)68, (byte)23, - (byte)196, (byte)167, (byte)126, (byte)61, (byte)100, (byte)93, (byte)25, (byte)115, - (byte)96, (byte)129, (byte)79, (byte)220, (byte)34, (byte)42, (byte)144, (byte)136, - (byte)70, (byte)238, (byte)184, (byte)20, (byte)222, (byte)94, (byte)11, (byte)219, - (byte)224, (byte)50, (byte)58, (byte)10, (byte)73, (byte)6, (byte)36, (byte)92, - (byte)194, (byte)211, (byte)172, (byte)98, (byte)145, (byte)149, (byte)228, (byte)121, - (byte)231, (byte)200, (byte)55, (byte)109, (byte)141, (byte)213, (byte)78, (byte)169, - (byte)108, (byte)86, (byte)244, (byte)234, (byte)101, (byte)122, (byte)174, (byte)8, - (byte)186, (byte)120, (byte)37, (byte)46, (byte)28, (byte)166, (byte)180, (byte)198, - (byte)232, (byte)221, (byte)116, (byte)31, (byte)75, (byte)189, (byte)139, (byte)138, - (byte)112, (byte)62, (byte)181, (byte)102, (byte)72, (byte)3, (byte)246, (byte)14, - (byte)97, (byte)53, (byte)87, (byte)185, (byte)134, (byte)193, (byte)29, (byte)158, - (byte)225, (byte)248, (byte)152, (byte)17, (byte)105, (byte)217, (byte)142, (byte)148, - (byte)155, (byte)30, (byte)135, (byte)233, (byte)206, (byte)85, (byte)40, (byte)223, - (byte)140, (byte)161, (byte)137, (byte)13, (byte)191, (byte)230, (byte)66, (byte)104, - (byte)65, (byte)153, (byte)45, (byte)15, (byte)176, (byte)84, (byte)187, (byte)22, - }; - - // The inverse S-box - private static final byte[] Si = { - (byte)82, (byte)9, (byte)106, (byte)213, (byte)48, (byte)54, (byte)165, (byte)56, - (byte)191, (byte)64, (byte)163, (byte)158, (byte)129, (byte)243, (byte)215, (byte)251, - (byte)124, (byte)227, (byte)57, (byte)130, (byte)155, (byte)47, (byte)255, (byte)135, - (byte)52, (byte)142, (byte)67, (byte)68, (byte)196, (byte)222, (byte)233, (byte)203, - (byte)84, (byte)123, (byte)148, (byte)50, (byte)166, (byte)194, (byte)35, (byte)61, - (byte)238, (byte)76, (byte)149, (byte)11, (byte)66, (byte)250, (byte)195, (byte)78, - (byte)8, (byte)46, (byte)161, (byte)102, (byte)40, (byte)217, (byte)36, (byte)178, - (byte)118, (byte)91, (byte)162, (byte)73, (byte)109, (byte)139, (byte)209, (byte)37, - (byte)114, (byte)248, (byte)246, (byte)100, (byte)134, (byte)104, (byte)152, (byte)22, - (byte)212, (byte)164, (byte)92, (byte)204, (byte)93, (byte)101, (byte)182, (byte)146, - (byte)108, (byte)112, (byte)72, (byte)80, (byte)253, (byte)237, (byte)185, (byte)218, - (byte)94, (byte)21, (byte)70, (byte)87, (byte)167, (byte)141, (byte)157, (byte)132, - (byte)144, (byte)216, (byte)171, (byte)0, (byte)140, (byte)188, (byte)211, (byte)10, - (byte)247, (byte)228, (byte)88, (byte)5, (byte)184, (byte)179, (byte)69, (byte)6, - (byte)208, (byte)44, (byte)30, (byte)143, (byte)202, (byte)63, (byte)15, (byte)2, - (byte)193, (byte)175, (byte)189, (byte)3, (byte)1, (byte)19, (byte)138, (byte)107, - (byte)58, (byte)145, (byte)17, (byte)65, (byte)79, (byte)103, (byte)220, (byte)234, - (byte)151, (byte)242, (byte)207, (byte)206, (byte)240, (byte)180, (byte)230, (byte)115, - (byte)150, (byte)172, (byte)116, (byte)34, (byte)231, (byte)173, (byte)53, (byte)133, - (byte)226, (byte)249, (byte)55, (byte)232, (byte)28, (byte)117, (byte)223, (byte)110, - (byte)71, (byte)241, (byte)26, (byte)113, (byte)29, (byte)41, (byte)197, (byte)137, - (byte)111, (byte)183, (byte)98, (byte)14, (byte)170, (byte)24, (byte)190, (byte)27, - (byte)252, (byte)86, (byte)62, (byte)75, (byte)198, (byte)210, (byte)121, (byte)32, - (byte)154, (byte)219, (byte)192, (byte)254, (byte)120, (byte)205, (byte)90, (byte)244, - (byte)31, (byte)221, (byte)168, (byte)51, (byte)136, (byte)7, (byte)199, (byte)49, - (byte)177, (byte)18, (byte)16, (byte)89, (byte)39, (byte)128, (byte)236, (byte)95, - (byte)96, (byte)81, (byte)127, (byte)169, (byte)25, (byte)181, (byte)74, (byte)13, - (byte)45, (byte)229, (byte)122, (byte)159, (byte)147, (byte)201, (byte)156, (byte)239, - (byte)160, (byte)224, (byte)59, (byte)77, (byte)174, (byte)42, (byte)245, (byte)176, - (byte)200, (byte)235, (byte)187, (byte)60, (byte)131, (byte)83, (byte)153, (byte)97, - (byte)23, (byte)43, (byte)4, (byte)126, (byte)186, (byte)119, (byte)214, (byte)38, - (byte)225, (byte)105, (byte)20, (byte)99, (byte)85, (byte)33, (byte)12, (byte)125, - }; - - // vector used in calculating key schedule (powers of x in GF(256)) - private static final int[] rcon = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, - 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 }; - - // precomputation tables of calculations for rounds - private static final int[] T0 = - { - 0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, 0x0df2f2ff, - 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, 0x50303060, 0x03010102, - 0xa96767ce, 0x7d2b2b56, 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, - 0x9a7676ec, 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, - 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, 0xecadad41, - 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, 0xbf9c9c23, 0xf7a4a453, - 0x967272e4, 0x5bc0c09b, 0xc2b7b775, 0x1cfdfde1, 0xae93933d, - 0x6a26264c, 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, - 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, 0x937171e2, - 0x73d8d8ab, 0x53313162, 0x3f15152a, 0x0c040408, 0x52c7c795, - 0x65232346, 0x5ec3c39d, 0x28181830, 0xa1969637, 0x0f05050a, - 0xb59a9a2f, 0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, - 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, 0x1b090912, - 0x9e83831d, 0x742c2c58, 0x2e1a1a34, 0x2d1b1b36, 0xb26e6edc, - 0xee5a5ab4, 0xfba0a05b, 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, - 0xceb3b37d, 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, - 0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, 0x60202040, - 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, 0xbe6a6ad4, 0x46cbcb8d, - 0xd9bebe67, 0x4b393972, 0xde4a4a94, 0xd44c4c98, 0xe85858b0, - 0x4acfcf85, 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, - 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, 0xcf45458a, - 0x10f9f9e9, 0x06020204, 0x817f7ffe, 0xf05050a0, 0x443c3c78, - 0xba9f9f25, 0xe3a8a84b, 0xf35151a2, 0xfea3a35d, 0xc0404080, - 0x8a8f8f05, 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, - 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, 0x30101020, - 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, 0x4ccdcd81, 0x140c0c18, - 0x35131326, 0x2fececc3, 0xe15f5fbe, 0xa2979735, 0xcc444488, - 0x3917172e, 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, - 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, 0xa06060c0, - 0x98818119, 0xd14f4f9e, 0x7fdcdca3, 0x66222244, 0x7e2a2a54, - 0xab90903b, 0x8388880b, 0xca46468c, 0x29eeeec7, 0xd3b8b86b, - 0x3c141428, 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, - 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, 0xdb494992, - 0x0a06060c, 0x6c242448, 0xe45c5cb8, 0x5dc2c29f, 0x6ed3d3bd, - 0xefacac43, 0xa66262c4, 0xa8919139, 0xa4959531, 0x37e4e4d3, - 0x8b7979f2, 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, - 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, 0xb46c6cd8, - 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, 0xaf6565ca, 0x8e7a7af4, - 0xe9aeae47, 0x18080810, 0xd5baba6f, 0x887878f0, 0x6f25254a, - 0x722e2e5c, 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, - 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, 0xdd4b4b96, - 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, 0x907070e0, 0x423e3e7c, - 0xc4b5b571, 0xaa6666cc, 0xd8484890, 0x05030306, 0x01f6f6f7, - 0x120e0e1c, 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, - 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, 0x38e1e1d9, - 0x13f8f8eb, 0xb398982b, 0x33111122, 0xbb6969d2, 0x70d9d9a9, - 0x898e8e07, 0xa7949433, 0xb69b9b2d, 0x221e1e3c, 0x92878715, - 0x20e9e9c9, 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, - 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, 0xdabfbf65, - 0x31e6e6d7, 0xc6424284, 0xb86868d0, 0xc3414182, 0xb0999929, - 0x772d2d5a, 0x110f0f1e, 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, - 0x3a16162c}; - - private static final int[] T1 = - { - 0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d, 0xf2f2ff0d, - 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154, 0x30306050, 0x01010203, - 0x6767cea9, 0x2b2b567d, 0xfefee719, 0xd7d7b562, 0xabab4de6, - 0x7676ec9a, 0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87, - 0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b, 0xadad41ec, - 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea, 0x9c9c23bf, 0xa4a453f7, - 0x7272e496, 0xc0c09b5b, 0xb7b775c2, 0xfdfde11c, 0x93933dae, - 0x26264c6a, 0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f, - 0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908, 0x7171e293, - 0xd8d8ab73, 0x31316253, 0x15152a3f, 0x0404080c, 0xc7c79552, - 0x23234665, 0xc3c39d5e, 0x18183028, 0x969637a1, 0x05050a0f, - 0x9a9a2fb5, 0x07070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d, - 0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f, 0x0909121b, - 0x83831d9e, 0x2c2c5874, 0x1a1a342e, 0x1b1b362d, 0x6e6edcb2, - 0x5a5ab4ee, 0xa0a05bfb, 0x5252a4f6, 0x3b3b764d, 0xd6d6b761, - 0xb3b37dce, 0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397, - 0x5353a6f5, 0xd1d1b968, 0x00000000, 0xededc12c, 0x20204060, - 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed, 0x6a6ad4be, 0xcbcb8d46, - 0xbebe67d9, 0x3939724b, 0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, - 0xcfcf854a, 0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16, - 0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194, 0x45458acf, - 0xf9f9e910, 0x02020406, 0x7f7ffe81, 0x5050a0f0, 0x3c3c7844, - 0x9f9f25ba, 0xa8a84be3, 0x5151a2f3, 0xa3a35dfe, 0x404080c0, - 0x8f8f058a, 0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104, - 0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263, 0x10102030, - 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d, 0xcdcd814c, 0x0c0c1814, - 0x13132635, 0xececc32f, 0x5f5fbee1, 0x979735a2, 0x444488cc, - 0x17172e39, 0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47, - 0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695, 0x6060c0a0, - 0x81811998, 0x4f4f9ed1, 0xdcdca37f, 0x22224466, 0x2a2a547e, - 0x90903bab, 0x88880b83, 0x46468cca, 0xeeeec729, 0xb8b86bd3, - 0x1414283c, 0xdedea779, 0x5e5ebce2, 0x0b0b161d, 0xdbdbad76, - 0xe0e0db3b, 0x32326456, 0x3a3a744e, 0x0a0a141e, 0x494992db, - 0x06060c0a, 0x2424486c, 0x5c5cb8e4, 0xc2c29f5d, 0xd3d3bd6e, - 0xacac43ef, 0x6262c4a6, 0x919139a8, 0x959531a4, 0xe4e4d337, - 0x7979f28b, 0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7, - 0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0, 0x6c6cd8b4, - 0x5656acfa, 0xf4f4f307, 0xeaeacf25, 0x6565caaf, 0x7a7af48e, - 0xaeae47e9, 0x08081018, 0xbaba6fd5, 0x7878f088, 0x25254a6f, - 0x2e2e5c72, 0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751, - 0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21, 0x4b4b96dd, - 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85, 0x7070e090, 0x3e3e7c42, - 0xb5b571c4, 0x6666ccaa, 0x484890d8, 0x03030605, 0xf6f6f701, - 0x0e0e1c12, 0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0, - 0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9, 0xe1e1d938, - 0xf8f8eb13, 0x98982bb3, 0x11112233, 0x6969d2bb, 0xd9d9a970, - 0x8e8e0789, 0x949433a7, 0x9b9b2db6, 0x1e1e3c22, 0x87871592, - 0xe9e9c920, 0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a, - 0x8c8c038f, 0xa1a159f8, 0x89890980, 0x0d0d1a17, 0xbfbf65da, - 0xe6e6d731, 0x424284c6, 0x6868d0b8, 0x414182c3, 0x999929b0, - 0x2d2d5a77, 0x0f0f1e11, 0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, - 0x16162c3a}; - - private static final int[] T2 = - { - 0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b, 0xf2ff0df2, - 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5, 0x30605030, 0x01020301, - 0x67cea967, 0x2b567d2b, 0xfee719fe, 0xd7b562d7, 0xab4de6ab, - 0x76ec9a76, 0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d, - 0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0, 0xad41ecad, - 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf, 0x9c23bf9c, 0xa453f7a4, - 0x72e49672, 0xc09b5bc0, 0xb775c2b7, 0xfde11cfd, 0x933dae93, - 0x264c6a26, 0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc, - 0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1, 0x71e29371, - 0xd8ab73d8, 0x31625331, 0x152a3f15, 0x04080c04, 0xc79552c7, - 0x23466523, 0xc39d5ec3, 0x18302818, 0x9637a196, 0x050a0f05, - 0x9a2fb59a, 0x070e0907, 0x12243612, 0x801b9b80, 0xe2df3de2, - 0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75, 0x09121b09, - 0x831d9e83, 0x2c58742c, 0x1a342e1a, 0x1b362d1b, 0x6edcb26e, - 0x5ab4ee5a, 0xa05bfba0, 0x52a4f652, 0x3b764d3b, 0xd6b761d6, - 0xb37dceb3, 0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784, - 0x53a6f553, 0xd1b968d1, 0x00000000, 0xedc12ced, 0x20406020, - 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b, 0x6ad4be6a, 0xcb8d46cb, - 0xbe67d9be, 0x39724b39, 0x4a94de4a, 0x4c98d44c, 0x58b0e858, - 0xcf854acf, 0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb, - 0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485, 0x458acf45, - 0xf9e910f9, 0x02040602, 0x7ffe817f, 0x50a0f050, 0x3c78443c, - 0x9f25ba9f, 0xa84be3a8, 0x51a2f351, 0xa35dfea3, 0x4080c040, - 0x8f058a8f, 0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5, - 0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321, 0x10203010, - 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2, 0xcd814ccd, 0x0c18140c, - 0x13263513, 0xecc32fec, 0x5fbee15f, 0x9735a297, 0x4488cc44, - 0x172e3917, 0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d, - 0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573, 0x60c0a060, - 0x81199881, 0x4f9ed14f, 0xdca37fdc, 0x22446622, 0x2a547e2a, - 0x903bab90, 0x880b8388, 0x468cca46, 0xeec729ee, 0xb86bd3b8, - 0x14283c14, 0xdea779de, 0x5ebce25e, 0x0b161d0b, 0xdbad76db, - 0xe0db3be0, 0x32645632, 0x3a744e3a, 0x0a141e0a, 0x4992db49, - 0x060c0a06, 0x24486c24, 0x5cb8e45c, 0xc29f5dc2, 0xd3bd6ed3, - 0xac43efac, 0x62c4a662, 0x9139a891, 0x9531a495, 0xe4d337e4, - 0x79f28b79, 0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d, - 0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9, 0x6cd8b46c, - 0x56acfa56, 0xf4f307f4, 0xeacf25ea, 0x65caaf65, 0x7af48e7a, - 0xae47e9ae, 0x08101808, 0xba6fd5ba, 0x78f08878, 0x254a6f25, - 0x2e5c722e, 0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6, - 0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f, 0x4b96dd4b, - 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a, 0x70e09070, 0x3e7c423e, - 0xb571c4b5, 0x66ccaa66, 0x4890d848, 0x03060503, 0xf6f701f6, - 0x0e1c120e, 0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9, - 0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e, 0xe1d938e1, - 0xf8eb13f8, 0x982bb398, 0x11223311, 0x69d2bb69, 0xd9a970d9, - 0x8e07898e, 0x9433a794, 0x9b2db69b, 0x1e3c221e, 0x87159287, - 0xe9c920e9, 0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf, - 0x8c038f8c, 0xa159f8a1, 0x89098089, 0x0d1a170d, 0xbf65dabf, - 0xe6d731e6, 0x4284c642, 0x68d0b868, 0x4182c341, 0x9929b099, - 0x2d5a772d, 0x0f1e110f, 0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, - 0x162c3a16}; - - private static final int[] T3 = - { - 0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b, 0xff0df2f2, - 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5, 0x60503030, 0x02030101, - 0xcea96767, 0x567d2b2b, 0xe719fefe, 0xb562d7d7, 0x4de6abab, - 0xec9a7676, 0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d, - 0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0, 0x41ecadad, - 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf, 0x23bf9c9c, 0x53f7a4a4, - 0xe4967272, 0x9b5bc0c0, 0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, - 0x4c6a2626, 0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc, - 0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1, 0xe2937171, - 0xab73d8d8, 0x62533131, 0x2a3f1515, 0x080c0404, 0x9552c7c7, - 0x46652323, 0x9d5ec3c3, 0x30281818, 0x37a19696, 0x0a0f0505, - 0x2fb59a9a, 0x0e090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2, - 0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575, 0x121b0909, - 0x1d9e8383, 0x58742c2c, 0x342e1a1a, 0x362d1b1b, 0xdcb26e6e, - 0xb4ee5a5a, 0x5bfba0a0, 0xa4f65252, 0x764d3b3b, 0xb761d6d6, - 0x7dceb3b3, 0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484, - 0xa6f55353, 0xb968d1d1, 0x00000000, 0xc12ceded, 0x40602020, - 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b, 0xd4be6a6a, 0x8d46cbcb, - 0x67d9bebe, 0x724b3939, 0x94de4a4a, 0x98d44c4c, 0xb0e85858, - 0x854acfcf, 0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb, - 0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585, 0x8acf4545, - 0xe910f9f9, 0x04060202, 0xfe817f7f, 0xa0f05050, 0x78443c3c, - 0x25ba9f9f, 0x4be3a8a8, 0xa2f35151, 0x5dfea3a3, 0x80c04040, - 0x058a8f8f, 0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5, - 0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121, 0x20301010, - 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2, 0x814ccdcd, 0x18140c0c, - 0x26351313, 0xc32fecec, 0xbee15f5f, 0x35a29797, 0x88cc4444, - 0x2e391717, 0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d, - 0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373, 0xc0a06060, - 0x19988181, 0x9ed14f4f, 0xa37fdcdc, 0x44662222, 0x547e2a2a, - 0x3bab9090, 0x0b838888, 0x8cca4646, 0xc729eeee, 0x6bd3b8b8, - 0x283c1414, 0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb, - 0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a, 0x92db4949, - 0x0c0a0606, 0x486c2424, 0xb8e45c5c, 0x9f5dc2c2, 0xbd6ed3d3, - 0x43efacac, 0xc4a66262, 0x39a89191, 0x31a49595, 0xd337e4e4, - 0xf28b7979, 0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d, - 0x018c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9, 0xd8b46c6c, - 0xacfa5656, 0xf307f4f4, 0xcf25eaea, 0xcaaf6565, 0xf48e7a7a, - 0x47e9aeae, 0x10180808, 0x6fd5baba, 0xf0887878, 0x4a6f2525, - 0x5c722e2e, 0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6, - 0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f, 0x96dd4b4b, - 0x61dcbdbd, 0x0d868b8b, 0x0f858a8a, 0xe0907070, 0x7c423e3e, - 0x71c4b5b5, 0xccaa6666, 0x90d84848, 0x06050303, 0xf701f6f6, - 0x1c120e0e, 0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9, - 0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e, 0xd938e1e1, - 0xeb13f8f8, 0x2bb39898, 0x22331111, 0xd2bb6969, 0xa970d9d9, - 0x07898e8e, 0x33a79494, 0x2db69b9b, 0x3c221e1e, 0x15928787, - 0xc920e9e9, 0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf, - 0x038f8c8c, 0x59f8a1a1, 0x09808989, 0x1a170d0d, 0x65dabfbf, - 0xd731e6e6, 0x84c64242, 0xd0b86868, 0x82c34141, 0x29b09999, - 0x5a772d2d, 0x1e110f0f, 0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, - 0x2c3a1616}; - - private static final int[] Tinv0 = - { - 0x50a7f451, 0x5365417e, 0xc3a4171a, 0x965e273a, 0xcb6bab3b, - 0xf1459d1f, 0xab58faac, 0x9303e34b, 0x55fa3020, 0xf66d76ad, - 0x9176cc88, 0x254c02f5, 0xfcd7e54f, 0xd7cb2ac5, 0x80443526, - 0x8fa362b5, 0x495ab1de, 0x671bba25, 0x980eea45, 0xe1c0fe5d, - 0x02752fc3, 0x12f04c81, 0xa397468d, 0xc6f9d36b, 0xe75f8f03, - 0x959c9215, 0xeb7a6dbf, 0xda595295, 0x2d83bed4, 0xd3217458, - 0x2969e049, 0x44c8c98e, 0x6a89c275, 0x78798ef4, 0x6b3e5899, - 0xdd71b927, 0xb64fe1be, 0x17ad88f0, 0x66ac20c9, 0xb43ace7d, - 0x184adf63, 0x82311ae5, 0x60335197, 0x457f5362, 0xe07764b1, - 0x84ae6bbb, 0x1ca081fe, 0x942b08f9, 0x58684870, 0x19fd458f, - 0x876cde94, 0xb7f87b52, 0x23d373ab, 0xe2024b72, 0x578f1fe3, - 0x2aab5566, 0x0728ebb2, 0x03c2b52f, 0x9a7bc586, 0xa50837d3, - 0xf2872830, 0xb2a5bf23, 0xba6a0302, 0x5c8216ed, 0x2b1ccf8a, - 0x92b479a7, 0xf0f207f3, 0xa1e2694e, 0xcdf4da65, 0xd5be0506, - 0x1f6234d1, 0x8afea6c4, 0x9d532e34, 0xa055f3a2, 0x32e18a05, - 0x75ebf6a4, 0x39ec830b, 0xaaef6040, 0x069f715e, 0x51106ebd, - 0xf98a213e, 0x3d06dd96, 0xae053edd, 0x46bde64d, 0xb58d5491, - 0x055dc471, 0x6fd40604, 0xff155060, 0x24fb9819, 0x97e9bdd6, - 0xcc434089, 0x779ed967, 0xbd42e8b0, 0x888b8907, 0x385b19e7, - 0xdbeec879, 0x470a7ca1, 0xe90f427c, 0xc91e84f8, 0x00000000, - 0x83868009, 0x48ed2b32, 0xac70111e, 0x4e725a6c, 0xfbff0efd, - 0x5638850f, 0x1ed5ae3d, 0x27392d36, 0x64d90f0a, 0x21a65c68, - 0xd1545b9b, 0x3a2e3624, 0xb1670a0c, 0x0fe75793, 0xd296eeb4, - 0x9e919b1b, 0x4fc5c080, 0xa220dc61, 0x694b775a, 0x161a121c, - 0x0aba93e2, 0xe52aa0c0, 0x43e0223c, 0x1d171b12, 0x0b0d090e, - 0xadc78bf2, 0xb9a8b62d, 0xc8a91e14, 0x8519f157, 0x4c0775af, - 0xbbdd99ee, 0xfd607fa3, 0x9f2601f7, 0xbcf5725c, 0xc53b6644, - 0x347efb5b, 0x7629438b, 0xdcc623cb, 0x68fcedb6, 0x63f1e4b8, - 0xcadc31d7, 0x10856342, 0x40229713, 0x2011c684, 0x7d244a85, - 0xf83dbbd2, 0x1132f9ae, 0x6da129c7, 0x4b2f9e1d, 0xf330b2dc, - 0xec52860d, 0xd0e3c177, 0x6c16b32b, 0x99b970a9, 0xfa489411, - 0x2264e947, 0xc48cfca8, 0x1a3ff0a0, 0xd82c7d56, 0xef903322, - 0xc74e4987, 0xc1d138d9, 0xfea2ca8c, 0x360bd498, 0xcf81f5a6, - 0x28de7aa5, 0x268eb7da, 0xa4bfad3f, 0xe49d3a2c, 0x0d927850, - 0x9bcc5f6a, 0x62467e54, 0xc2138df6, 0xe8b8d890, 0x5ef7392e, - 0xf5afc382, 0xbe805d9f, 0x7c93d069, 0xa92dd56f, 0xb31225cf, - 0x3b99acc8, 0xa77d1810, 0x6e639ce8, 0x7bbb3bdb, 0x097826cd, - 0xf418596e, 0x01b79aec, 0xa89a4f83, 0x656e95e6, 0x7ee6ffaa, - 0x08cfbc21, 0xe6e815ef, 0xd99be7ba, 0xce366f4a, 0xd4099fea, - 0xd67cb029, 0xafb2a431, 0x31233f2a, 0x3094a5c6, 0xc066a235, - 0x37bc4e74, 0xa6ca82fc, 0xb0d090e0, 0x15d8a733, 0x4a9804f1, - 0xf7daec41, 0x0e50cd7f, 0x2ff69117, 0x8dd64d76, 0x4db0ef43, - 0x544daacc, 0xdf0496e4, 0xe3b5d19e, 0x1b886a4c, 0xb81f2cc1, - 0x7f516546, 0x04ea5e9d, 0x5d358c01, 0x737487fa, 0x2e410bfb, - 0x5a1d67b3, 0x52d2db92, 0x335610e9, 0x1347d66d, 0x8c61d79a, - 0x7a0ca137, 0x8e14f859, 0x893c13eb, 0xee27a9ce, 0x35c961b7, - 0xede51ce1, 0x3cb1477a, 0x59dfd29c, 0x3f73f255, 0x79ce1418, - 0xbf37c773, 0xeacdf753, 0x5baafd5f, 0x146f3ddf, 0x86db4478, - 0x81f3afca, 0x3ec468b9, 0x2c342438, 0x5f40a3c2, 0x72c31d16, - 0x0c25e2bc, 0x8b493c28, 0x41950dff, 0x7101a839, 0xdeb30c08, - 0x9ce4b4d8, 0x90c15664, 0x6184cb7b, 0x70b632d5, 0x745c6c48, - 0x4257b8d0}; - - private static final int[] Tinv1 = - { - 0xa7f45150, 0x65417e53, 0xa4171ac3, 0x5e273a96, 0x6bab3bcb, - 0x459d1ff1, 0x58faacab, 0x03e34b93, 0xfa302055, 0x6d76adf6, - 0x76cc8891, 0x4c02f525, 0xd7e54ffc, 0xcb2ac5d7, 0x44352680, - 0xa362b58f, 0x5ab1de49, 0x1bba2567, 0x0eea4598, 0xc0fe5de1, - 0x752fc302, 0xf04c8112, 0x97468da3, 0xf9d36bc6, 0x5f8f03e7, - 0x9c921595, 0x7a6dbfeb, 0x595295da, 0x83bed42d, 0x217458d3, - 0x69e04929, 0xc8c98e44, 0x89c2756a, 0x798ef478, 0x3e58996b, - 0x71b927dd, 0x4fe1beb6, 0xad88f017, 0xac20c966, 0x3ace7db4, - 0x4adf6318, 0x311ae582, 0x33519760, 0x7f536245, 0x7764b1e0, - 0xae6bbb84, 0xa081fe1c, 0x2b08f994, 0x68487058, 0xfd458f19, - 0x6cde9487, 0xf87b52b7, 0xd373ab23, 0x024b72e2, 0x8f1fe357, - 0xab55662a, 0x28ebb207, 0xc2b52f03, 0x7bc5869a, 0x0837d3a5, - 0x872830f2, 0xa5bf23b2, 0x6a0302ba, 0x8216ed5c, 0x1ccf8a2b, - 0xb479a792, 0xf207f3f0, 0xe2694ea1, 0xf4da65cd, 0xbe0506d5, - 0x6234d11f, 0xfea6c48a, 0x532e349d, 0x55f3a2a0, 0xe18a0532, - 0xebf6a475, 0xec830b39, 0xef6040aa, 0x9f715e06, 0x106ebd51, - 0x8a213ef9, 0x06dd963d, 0x053eddae, 0xbde64d46, 0x8d5491b5, - 0x5dc47105, 0xd406046f, 0x155060ff, 0xfb981924, 0xe9bdd697, - 0x434089cc, 0x9ed96777, 0x42e8b0bd, 0x8b890788, 0x5b19e738, - 0xeec879db, 0x0a7ca147, 0x0f427ce9, 0x1e84f8c9, 0x00000000, - 0x86800983, 0xed2b3248, 0x70111eac, 0x725a6c4e, 0xff0efdfb, - 0x38850f56, 0xd5ae3d1e, 0x392d3627, 0xd90f0a64, 0xa65c6821, - 0x545b9bd1, 0x2e36243a, 0x670a0cb1, 0xe757930f, 0x96eeb4d2, - 0x919b1b9e, 0xc5c0804f, 0x20dc61a2, 0x4b775a69, 0x1a121c16, - 0xba93e20a, 0x2aa0c0e5, 0xe0223c43, 0x171b121d, 0x0d090e0b, - 0xc78bf2ad, 0xa8b62db9, 0xa91e14c8, 0x19f15785, 0x0775af4c, - 0xdd99eebb, 0x607fa3fd, 0x2601f79f, 0xf5725cbc, 0x3b6644c5, - 0x7efb5b34, 0x29438b76, 0xc623cbdc, 0xfcedb668, 0xf1e4b863, - 0xdc31d7ca, 0x85634210, 0x22971340, 0x11c68420, 0x244a857d, - 0x3dbbd2f8, 0x32f9ae11, 0xa129c76d, 0x2f9e1d4b, 0x30b2dcf3, - 0x52860dec, 0xe3c177d0, 0x16b32b6c, 0xb970a999, 0x489411fa, - 0x64e94722, 0x8cfca8c4, 0x3ff0a01a, 0x2c7d56d8, 0x903322ef, - 0x4e4987c7, 0xd138d9c1, 0xa2ca8cfe, 0x0bd49836, 0x81f5a6cf, - 0xde7aa528, 0x8eb7da26, 0xbfad3fa4, 0x9d3a2ce4, 0x9278500d, - 0xcc5f6a9b, 0x467e5462, 0x138df6c2, 0xb8d890e8, 0xf7392e5e, - 0xafc382f5, 0x805d9fbe, 0x93d0697c, 0x2dd56fa9, 0x1225cfb3, - 0x99acc83b, 0x7d1810a7, 0x639ce86e, 0xbb3bdb7b, 0x7826cd09, - 0x18596ef4, 0xb79aec01, 0x9a4f83a8, 0x6e95e665, 0xe6ffaa7e, - 0xcfbc2108, 0xe815efe6, 0x9be7bad9, 0x366f4ace, 0x099fead4, - 0x7cb029d6, 0xb2a431af, 0x233f2a31, 0x94a5c630, 0x66a235c0, - 0xbc4e7437, 0xca82fca6, 0xd090e0b0, 0xd8a73315, 0x9804f14a, - 0xdaec41f7, 0x50cd7f0e, 0xf691172f, 0xd64d768d, 0xb0ef434d, - 0x4daacc54, 0x0496e4df, 0xb5d19ee3, 0x886a4c1b, 0x1f2cc1b8, - 0x5165467f, 0xea5e9d04, 0x358c015d, 0x7487fa73, 0x410bfb2e, - 0x1d67b35a, 0xd2db9252, 0x5610e933, 0x47d66d13, 0x61d79a8c, - 0x0ca1377a, 0x14f8598e, 0x3c13eb89, 0x27a9ceee, 0xc961b735, - 0xe51ce1ed, 0xb1477a3c, 0xdfd29c59, 0x73f2553f, 0xce141879, - 0x37c773bf, 0xcdf753ea, 0xaafd5f5b, 0x6f3ddf14, 0xdb447886, - 0xf3afca81, 0xc468b93e, 0x3424382c, 0x40a3c25f, 0xc31d1672, - 0x25e2bc0c, 0x493c288b, 0x950dff41, 0x01a83971, 0xb30c08de, - 0xe4b4d89c, 0xc1566490, 0x84cb7b61, 0xb632d570, 0x5c6c4874, - 0x57b8d042}; - - private static final int[] Tinv2 = - { - 0xf45150a7, 0x417e5365, 0x171ac3a4, 0x273a965e, 0xab3bcb6b, - 0x9d1ff145, 0xfaacab58, 0xe34b9303, 0x302055fa, 0x76adf66d, - 0xcc889176, 0x02f5254c, 0xe54ffcd7, 0x2ac5d7cb, 0x35268044, - 0x62b58fa3, 0xb1de495a, 0xba25671b, 0xea45980e, 0xfe5de1c0, - 0x2fc30275, 0x4c8112f0, 0x468da397, 0xd36bc6f9, 0x8f03e75f, - 0x9215959c, 0x6dbfeb7a, 0x5295da59, 0xbed42d83, 0x7458d321, - 0xe0492969, 0xc98e44c8, 0xc2756a89, 0x8ef47879, 0x58996b3e, - 0xb927dd71, 0xe1beb64f, 0x88f017ad, 0x20c966ac, 0xce7db43a, - 0xdf63184a, 0x1ae58231, 0x51976033, 0x5362457f, 0x64b1e077, - 0x6bbb84ae, 0x81fe1ca0, 0x08f9942b, 0x48705868, 0x458f19fd, - 0xde94876c, 0x7b52b7f8, 0x73ab23d3, 0x4b72e202, 0x1fe3578f, - 0x55662aab, 0xebb20728, 0xb52f03c2, 0xc5869a7b, 0x37d3a508, - 0x2830f287, 0xbf23b2a5, 0x0302ba6a, 0x16ed5c82, 0xcf8a2b1c, - 0x79a792b4, 0x07f3f0f2, 0x694ea1e2, 0xda65cdf4, 0x0506d5be, - 0x34d11f62, 0xa6c48afe, 0x2e349d53, 0xf3a2a055, 0x8a0532e1, - 0xf6a475eb, 0x830b39ec, 0x6040aaef, 0x715e069f, 0x6ebd5110, - 0x213ef98a, 0xdd963d06, 0x3eddae05, 0xe64d46bd, 0x5491b58d, - 0xc471055d, 0x06046fd4, 0x5060ff15, 0x981924fb, 0xbdd697e9, - 0x4089cc43, 0xd967779e, 0xe8b0bd42, 0x8907888b, 0x19e7385b, - 0xc879dbee, 0x7ca1470a, 0x427ce90f, 0x84f8c91e, 0x00000000, - 0x80098386, 0x2b3248ed, 0x111eac70, 0x5a6c4e72, 0x0efdfbff, - 0x850f5638, 0xae3d1ed5, 0x2d362739, 0x0f0a64d9, 0x5c6821a6, - 0x5b9bd154, 0x36243a2e, 0x0a0cb167, 0x57930fe7, 0xeeb4d296, - 0x9b1b9e91, 0xc0804fc5, 0xdc61a220, 0x775a694b, 0x121c161a, - 0x93e20aba, 0xa0c0e52a, 0x223c43e0, 0x1b121d17, 0x090e0b0d, - 0x8bf2adc7, 0xb62db9a8, 0x1e14c8a9, 0xf1578519, 0x75af4c07, - 0x99eebbdd, 0x7fa3fd60, 0x01f79f26, 0x725cbcf5, 0x6644c53b, - 0xfb5b347e, 0x438b7629, 0x23cbdcc6, 0xedb668fc, 0xe4b863f1, - 0x31d7cadc, 0x63421085, 0x97134022, 0xc6842011, 0x4a857d24, - 0xbbd2f83d, 0xf9ae1132, 0x29c76da1, 0x9e1d4b2f, 0xb2dcf330, - 0x860dec52, 0xc177d0e3, 0xb32b6c16, 0x70a999b9, 0x9411fa48, - 0xe9472264, 0xfca8c48c, 0xf0a01a3f, 0x7d56d82c, 0x3322ef90, - 0x4987c74e, 0x38d9c1d1, 0xca8cfea2, 0xd498360b, 0xf5a6cf81, - 0x7aa528de, 0xb7da268e, 0xad3fa4bf, 0x3a2ce49d, 0x78500d92, - 0x5f6a9bcc, 0x7e546246, 0x8df6c213, 0xd890e8b8, 0x392e5ef7, - 0xc382f5af, 0x5d9fbe80, 0xd0697c93, 0xd56fa92d, 0x25cfb312, - 0xacc83b99, 0x1810a77d, 0x9ce86e63, 0x3bdb7bbb, 0x26cd0978, - 0x596ef418, 0x9aec01b7, 0x4f83a89a, 0x95e6656e, 0xffaa7ee6, - 0xbc2108cf, 0x15efe6e8, 0xe7bad99b, 0x6f4ace36, 0x9fead409, - 0xb029d67c, 0xa431afb2, 0x3f2a3123, 0xa5c63094, 0xa235c066, - 0x4e7437bc, 0x82fca6ca, 0x90e0b0d0, 0xa73315d8, 0x04f14a98, - 0xec41f7da, 0xcd7f0e50, 0x91172ff6, 0x4d768dd6, 0xef434db0, - 0xaacc544d, 0x96e4df04, 0xd19ee3b5, 0x6a4c1b88, 0x2cc1b81f, - 0x65467f51, 0x5e9d04ea, 0x8c015d35, 0x87fa7374, 0x0bfb2e41, - 0x67b35a1d, 0xdb9252d2, 0x10e93356, 0xd66d1347, 0xd79a8c61, - 0xa1377a0c, 0xf8598e14, 0x13eb893c, 0xa9ceee27, 0x61b735c9, - 0x1ce1ede5, 0x477a3cb1, 0xd29c59df, 0xf2553f73, 0x141879ce, - 0xc773bf37, 0xf753eacd, 0xfd5f5baa, 0x3ddf146f, 0x447886db, - 0xafca81f3, 0x68b93ec4, 0x24382c34, 0xa3c25f40, 0x1d1672c3, - 0xe2bc0c25, 0x3c288b49, 0x0dff4195, 0xa8397101, 0x0c08deb3, - 0xb4d89ce4, 0x566490c1, 0xcb7b6184, 0x32d570b6, 0x6c48745c, - 0xb8d04257}; - - private static final int[] Tinv3 = - { - 0x5150a7f4, 0x7e536541, 0x1ac3a417, 0x3a965e27, 0x3bcb6bab, - 0x1ff1459d, 0xacab58fa, 0x4b9303e3, 0x2055fa30, 0xadf66d76, - 0x889176cc, 0xf5254c02, 0x4ffcd7e5, 0xc5d7cb2a, 0x26804435, - 0xb58fa362, 0xde495ab1, 0x25671bba, 0x45980eea, 0x5de1c0fe, - 0xc302752f, 0x8112f04c, 0x8da39746, 0x6bc6f9d3, 0x03e75f8f, - 0x15959c92, 0xbfeb7a6d, 0x95da5952, 0xd42d83be, 0x58d32174, - 0x492969e0, 0x8e44c8c9, 0x756a89c2, 0xf478798e, 0x996b3e58, - 0x27dd71b9, 0xbeb64fe1, 0xf017ad88, 0xc966ac20, 0x7db43ace, - 0x63184adf, 0xe582311a, 0x97603351, 0x62457f53, 0xb1e07764, - 0xbb84ae6b, 0xfe1ca081, 0xf9942b08, 0x70586848, 0x8f19fd45, - 0x94876cde, 0x52b7f87b, 0xab23d373, 0x72e2024b, 0xe3578f1f, - 0x662aab55, 0xb20728eb, 0x2f03c2b5, 0x869a7bc5, 0xd3a50837, - 0x30f28728, 0x23b2a5bf, 0x02ba6a03, 0xed5c8216, 0x8a2b1ccf, - 0xa792b479, 0xf3f0f207, 0x4ea1e269, 0x65cdf4da, 0x06d5be05, - 0xd11f6234, 0xc48afea6, 0x349d532e, 0xa2a055f3, 0x0532e18a, - 0xa475ebf6, 0x0b39ec83, 0x40aaef60, 0x5e069f71, 0xbd51106e, - 0x3ef98a21, 0x963d06dd, 0xddae053e, 0x4d46bde6, 0x91b58d54, - 0x71055dc4, 0x046fd406, 0x60ff1550, 0x1924fb98, 0xd697e9bd, - 0x89cc4340, 0x67779ed9, 0xb0bd42e8, 0x07888b89, 0xe7385b19, - 0x79dbeec8, 0xa1470a7c, 0x7ce90f42, 0xf8c91e84, 0x00000000, - 0x09838680, 0x3248ed2b, 0x1eac7011, 0x6c4e725a, 0xfdfbff0e, - 0x0f563885, 0x3d1ed5ae, 0x3627392d, 0x0a64d90f, 0x6821a65c, - 0x9bd1545b, 0x243a2e36, 0x0cb1670a, 0x930fe757, 0xb4d296ee, - 0x1b9e919b, 0x804fc5c0, 0x61a220dc, 0x5a694b77, 0x1c161a12, - 0xe20aba93, 0xc0e52aa0, 0x3c43e022, 0x121d171b, 0x0e0b0d09, - 0xf2adc78b, 0x2db9a8b6, 0x14c8a91e, 0x578519f1, 0xaf4c0775, - 0xeebbdd99, 0xa3fd607f, 0xf79f2601, 0x5cbcf572, 0x44c53b66, - 0x5b347efb, 0x8b762943, 0xcbdcc623, 0xb668fced, 0xb863f1e4, - 0xd7cadc31, 0x42108563, 0x13402297, 0x842011c6, 0x857d244a, - 0xd2f83dbb, 0xae1132f9, 0xc76da129, 0x1d4b2f9e, 0xdcf330b2, - 0x0dec5286, 0x77d0e3c1, 0x2b6c16b3, 0xa999b970, 0x11fa4894, - 0x472264e9, 0xa8c48cfc, 0xa01a3ff0, 0x56d82c7d, 0x22ef9033, - 0x87c74e49, 0xd9c1d138, 0x8cfea2ca, 0x98360bd4, 0xa6cf81f5, - 0xa528de7a, 0xda268eb7, 0x3fa4bfad, 0x2ce49d3a, 0x500d9278, - 0x6a9bcc5f, 0x5462467e, 0xf6c2138d, 0x90e8b8d8, 0x2e5ef739, - 0x82f5afc3, 0x9fbe805d, 0x697c93d0, 0x6fa92dd5, 0xcfb31225, - 0xc83b99ac, 0x10a77d18, 0xe86e639c, 0xdb7bbb3b, 0xcd097826, - 0x6ef41859, 0xec01b79a, 0x83a89a4f, 0xe6656e95, 0xaa7ee6ff, - 0x2108cfbc, 0xefe6e815, 0xbad99be7, 0x4ace366f, 0xead4099f, - 0x29d67cb0, 0x31afb2a4, 0x2a31233f, 0xc63094a5, 0x35c066a2, - 0x7437bc4e, 0xfca6ca82, 0xe0b0d090, 0x3315d8a7, 0xf14a9804, - 0x41f7daec, 0x7f0e50cd, 0x172ff691, 0x768dd64d, 0x434db0ef, - 0xcc544daa, 0xe4df0496, 0x9ee3b5d1, 0x4c1b886a, 0xc1b81f2c, - 0x467f5165, 0x9d04ea5e, 0x015d358c, 0xfa737487, 0xfb2e410b, - 0xb35a1d67, 0x9252d2db, 0xe9335610, 0x6d1347d6, 0x9a8c61d7, - 0x377a0ca1, 0x598e14f8, 0xeb893c13, 0xceee27a9, 0xb735c961, - 0xe1ede51c, 0x7a3cb147, 0x9c59dfd2, 0x553f73f2, 0x1879ce14, - 0x73bf37c7, 0x53eacdf7, 0x5f5baafd, 0xdf146f3d, 0x7886db44, - 0xca81f3af, 0xb93ec468, 0x382c3424, 0xc25f40a3, 0x1672c31d, - 0xbc0c25e2, 0x288b493c, 0xff41950d, 0x397101a8, 0x08deb30c, - 0xd89ce4b4, 0x6490c156, 0x7b6184cb, 0xd570b632, 0x48745c6c, - 0xd04257b8}; - - private static int shift(int r, int shift) - { - return (r >>> shift) | (r << -shift); - } - - /* multiply four bytes in GF(2^8) by 'x' {02} in parallel */ - - private static final int m1 = 0x80808080; - private static final int m2 = 0x7f7f7f7f; - private static final int m3 = 0x0000001b; - - private static int FFmulX(int x) - { - return (((x & m2) << 1) ^ (((x & m1) >>> 7) * m3)); - } - - /* - The following defines provide alternative definitions of FFmulX that might - give improved performance if a fast 32-bit multiply is not available. - - private int FFmulX(int x) { int u = x & m1; u |= (u >> 1); return ((x & m2) << 1) ^ ((u >>> 3) | (u >>> 6)); } - private static final int m4 = 0x1b1b1b1b; - private int FFmulX(int x) { int u = x & m1; return ((x & m2) << 1) ^ ((u - (u >>> 7)) & m4); } - - */ - - private static int inv_mcol(int x) - { - int f2 = FFmulX(x); - int f4 = FFmulX(f2); - int f8 = FFmulX(f4); - int f9 = x ^ f8; - - return f2 ^ f4 ^ f8 ^ shift(f2 ^ f9, 8) ^ shift(f4 ^ f9, 16) ^ shift(f9, 24); - } - - - private static int subWord(int x) - { - return (S[x&255]&255 | ((S[(x>>8)&255]&255)<<8) | ((S[(x>>16)&255]&255)<<16) | S[(x>>24)&255]<<24); - } - - /** - * Calculate the necessary round keys - * The number of calculations depends on key size and block size - * AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits - * This code is written assuming those are the only possible values - */ - private int[][] generateWorkingKey( - byte[] key, - boolean forEncryption) - { - int KC = key.length / 4; // key length in words - int t; - - if (((KC != 4) && (KC != 6) && (KC != 8)) || ((KC * 4) != key.length)) - { - throw new IllegalArgumentException("Key length not 128/192/256 bits."); - } - - ROUNDS = KC + 6; // This is not always true for the generalized Rijndael that allows larger block sizes - int[][] W = new int[ROUNDS+1][4]; // 4 words in a block - - // - // copy the key into the round key array - // - - t = 0; - int i = 0; - while (i < key.length) - { - W[t >> 2][t & 3] = (key[i]&0xff) | ((key[i+1]&0xff) << 8) | ((key[i+2]&0xff) << 16) | (key[i+3] << 24); - i+=4; - t++; - } - - // - // while not enough round key material calculated - // calculate new values - // - int k = (ROUNDS + 1) << 2; - for (i = KC; (i < k); i++) - { - int temp = W[(i - 1) >> 2][(i - 1) & 3]; - if ((i % KC) == 0) - { - temp = subWord(shift(temp, 8)) ^ rcon[(i / KC) - 1]; - } - else if ((KC > 6) && ((i % KC) == 4)) - { - temp = subWord(temp); - } - - W[i >> 2][i & 3] = W[(i - KC) >> 2][(i - KC) & 3] ^ temp; - } - - if (!forEncryption) - { - for (int j = 1; j < ROUNDS; j++) - { - for (i = 0; i < 4; i++) - { - W[j][i] = inv_mcol(W[j][i]); - } - } - } - - return W; - } - - private int ROUNDS; - private int[][] WorkingKey = null; - private int C0, C1, C2, C3; - private boolean forEncryption; - - private static final int BLOCK_SIZE = 16; - - /** - * default constructor - 128 bit block size. - */ - public AESFastEngine() - { - } - - /** - * initialise an AES cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - WorkingKey = generateWorkingKey(((KeyParameter)params).getKey(), forEncryption); - this.forEncryption = forEncryption; - return; - } - - throw new IllegalArgumentException("invalid parameter passed to AES init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "AES"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (WorkingKey == null) - { - throw new IllegalStateException("AES engine not initialised"); - } - - if ((inOff + (32 / 2)) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + (32 / 2)) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (forEncryption) - { - unpackBlock(in, inOff); - encryptBlock(WorkingKey); - packBlock(out, outOff); - } - else - { - unpackBlock(in, inOff); - decryptBlock(WorkingKey); - packBlock(out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private void unpackBlock( - byte[] bytes, - int off) - { - int index = off; - - C0 = (bytes[index++] & 0xff); - C0 |= (bytes[index++] & 0xff) << 8; - C0 |= (bytes[index++] & 0xff) << 16; - C0 |= bytes[index++] << 24; - - C1 = (bytes[index++] & 0xff); - C1 |= (bytes[index++] & 0xff) << 8; - C1 |= (bytes[index++] & 0xff) << 16; - C1 |= bytes[index++] << 24; - - C2 = (bytes[index++] & 0xff); - C2 |= (bytes[index++] & 0xff) << 8; - C2 |= (bytes[index++] & 0xff) << 16; - C2 |= bytes[index++] << 24; - - C3 = (bytes[index++] & 0xff); - C3 |= (bytes[index++] & 0xff) << 8; - C3 |= (bytes[index++] & 0xff) << 16; - C3 |= bytes[index++] << 24; - } - - private void packBlock( - byte[] bytes, - int off) - { - int index = off; - - bytes[index++] = (byte)C0; - bytes[index++] = (byte)(C0 >> 8); - bytes[index++] = (byte)(C0 >> 16); - bytes[index++] = (byte)(C0 >> 24); - - bytes[index++] = (byte)C1; - bytes[index++] = (byte)(C1 >> 8); - bytes[index++] = (byte)(C1 >> 16); - bytes[index++] = (byte)(C1 >> 24); - - bytes[index++] = (byte)C2; - bytes[index++] = (byte)(C2 >> 8); - bytes[index++] = (byte)(C2 >> 16); - bytes[index++] = (byte)(C2 >> 24); - - bytes[index++] = (byte)C3; - bytes[index++] = (byte)(C3 >> 8); - bytes[index++] = (byte)(C3 >> 16); - bytes[index++] = (byte)(C3 >> 24); - } - - private void encryptBlock(int[][] KW) - { - int r, r0, r1, r2, r3; - - C0 ^= KW[0][0]; - C1 ^= KW[0][1]; - C2 ^= KW[0][2]; - C3 ^= KW[0][3]; - - r = 1; - while (r < ROUNDS - 1) - { - r0 = T0[C0&255] ^ T1[(C1>>8)&255] ^ T2[(C2>>16)&255] ^ T3[(C3>>24)&255] ^ KW[r][0]; - r1 = T0[C1&255] ^ T1[(C2>>8)&255] ^ T2[(C3>>16)&255] ^ T3[(C0>>24)&255] ^ KW[r][1]; - r2 = T0[C2&255] ^ T1[(C3>>8)&255] ^ T2[(C0>>16)&255] ^ T3[(C1>>24)&255] ^ KW[r][2]; - r3 = T0[C3&255] ^ T1[(C0>>8)&255] ^ T2[(C1>>16)&255] ^ T3[(C2>>24)&255] ^ KW[r++][3]; - C0 = T0[r0&255] ^ T1[(r1>>8)&255] ^ T2[(r2>>16)&255] ^ T3[(r3>>24)&255] ^ KW[r][0]; - C1 = T0[r1&255] ^ T1[(r2>>8)&255] ^ T2[(r3>>16)&255] ^ T3[(r0>>24)&255] ^ KW[r][1]; - C2 = T0[r2&255] ^ T1[(r3>>8)&255] ^ T2[(r0>>16)&255] ^ T3[(r1>>24)&255] ^ KW[r][2]; - C3 = T0[r3&255] ^ T1[(r0>>8)&255] ^ T2[(r1>>16)&255] ^ T3[(r2>>24)&255] ^ KW[r++][3]; - } - - r0 = T0[C0&255] ^ T1[(C1>>8)&255] ^ T2[(C2>>16)&255] ^ T3[(C3>>24)&255] ^ KW[r][0]; - r1 = T0[C1&255] ^ T1[(C2>>8)&255] ^ T2[(C3>>16)&255] ^ T3[(C0>>24)&255] ^ KW[r][1]; - r2 = T0[C2&255] ^ T1[(C3>>8)&255] ^ T2[(C0>>16)&255] ^ T3[(C1>>24)&255] ^ KW[r][2]; - r3 = T0[C3&255] ^ T1[(C0>>8)&255] ^ T2[(C1>>16)&255] ^ T3[(C2>>24)&255] ^ KW[r++][3]; - - // the final round's table is a simple function of S so we don't use a whole other four tables for it - - C0 = (S[r0&255]&255) ^ ((S[(r1>>8)&255]&255)<<8) ^ ((S[(r2>>16)&255]&255)<<16) ^ (S[(r3>>24)&255]<<24) ^ KW[r][0]; - C1 = (S[r1&255]&255) ^ ((S[(r2>>8)&255]&255)<<8) ^ ((S[(r3>>16)&255]&255)<<16) ^ (S[(r0>>24)&255]<<24) ^ KW[r][1]; - C2 = (S[r2&255]&255) ^ ((S[(r3>>8)&255]&255)<<8) ^ ((S[(r0>>16)&255]&255)<<16) ^ (S[(r1>>24)&255]<<24) ^ KW[r][2]; - C3 = (S[r3&255]&255) ^ ((S[(r0>>8)&255]&255)<<8) ^ ((S[(r1>>16)&255]&255)<<16) ^ (S[(r2>>24)&255]<<24) ^ KW[r][3]; - - } - - private void decryptBlock(int[][] KW) - { - int r0, r1, r2, r3; - - C0 ^= KW[ROUNDS][0]; - C1 ^= KW[ROUNDS][1]; - C2 ^= KW[ROUNDS][2]; - C3 ^= KW[ROUNDS][3]; - - int r = ROUNDS-1; - - while (r>1) - { - r0 = Tinv0[C0&255] ^ Tinv1[(C3>>8)&255] ^ Tinv2[(C2>>16)&255] ^ Tinv3[(C1>>24)&255] ^ KW[r][0]; - r1 = Tinv0[C1&255] ^ Tinv1[(C0>>8)&255] ^ Tinv2[(C3>>16)&255] ^ Tinv3[(C2>>24)&255] ^ KW[r][1]; - r2 = Tinv0[C2&255] ^ Tinv1[(C1>>8)&255] ^ Tinv2[(C0>>16)&255] ^ Tinv3[(C3>>24)&255] ^ KW[r][2]; - r3 = Tinv0[C3&255] ^ Tinv1[(C2>>8)&255] ^ Tinv2[(C1>>16)&255] ^ Tinv3[(C0>>24)&255] ^ KW[r--][3]; - C0 = Tinv0[r0&255] ^ Tinv1[(r3>>8)&255] ^ Tinv2[(r2>>16)&255] ^ Tinv3[(r1>>24)&255] ^ KW[r][0]; - C1 = Tinv0[r1&255] ^ Tinv1[(r0>>8)&255] ^ Tinv2[(r3>>16)&255] ^ Tinv3[(r2>>24)&255] ^ KW[r][1]; - C2 = Tinv0[r2&255] ^ Tinv1[(r1>>8)&255] ^ Tinv2[(r0>>16)&255] ^ Tinv3[(r3>>24)&255] ^ KW[r][2]; - C3 = Tinv0[r3&255] ^ Tinv1[(r2>>8)&255] ^ Tinv2[(r1>>16)&255] ^ Tinv3[(r0>>24)&255] ^ KW[r--][3]; - } - - r0 = Tinv0[C0&255] ^ Tinv1[(C3>>8)&255] ^ Tinv2[(C2>>16)&255] ^ Tinv3[(C1>>24)&255] ^ KW[r][0]; - r1 = Tinv0[C1&255] ^ Tinv1[(C0>>8)&255] ^ Tinv2[(C3>>16)&255] ^ Tinv3[(C2>>24)&255] ^ KW[r][1]; - r2 = Tinv0[C2&255] ^ Tinv1[(C1>>8)&255] ^ Tinv2[(C0>>16)&255] ^ Tinv3[(C3>>24)&255] ^ KW[r][2]; - r3 = Tinv0[C3&255] ^ Tinv1[(C2>>8)&255] ^ Tinv2[(C1>>16)&255] ^ Tinv3[(C0>>24)&255] ^ KW[r][3]; - - // the final round's table is a simple function of Si so we don't use a whole other four tables for it - - C0 = (Si[r0&255]&255) ^ ((Si[(r3>>8)&255]&255)<<8) ^ ((Si[(r2>>16)&255]&255)<<16) ^ (Si[(r1>>24)&255]<<24) ^ KW[0][0]; - C1 = (Si[r1&255]&255) ^ ((Si[(r0>>8)&255]&255)<<8) ^ ((Si[(r3>>16)&255]&255)<<16) ^ (Si[(r2>>24)&255]<<24) ^ KW[0][1]; - C2 = (Si[r2&255]&255) ^ ((Si[(r1>>8)&255]&255)<<8) ^ ((Si[(r0>>16)&255]&255)<<16) ^ (Si[(r3>>24)&255]<<24) ^ KW[0][2]; - C3 = (Si[r3&255]&255) ^ ((Si[(r2>>8)&255]&255)<<8) ^ ((Si[(r1>>16)&255]&255)<<16) ^ (Si[(r0>>24)&255]<<24) ^ KW[0][3]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESLightEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESLightEngine.java deleted file mode 100644 index 4baa93a99..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESLightEngine.java +++ /dev/null @@ -1,439 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * an implementation of the AES (Rijndael), from FIPS-197. - *

    - * For further details see: http://csrc.nist.gov/encryption/aes/. - * - * This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - * - * There are three levels of tradeoff of speed vs memory - * Because java has no preprocessor, they are written as three separate classes from which to choose - * - * The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption - * and 4 for decryption. - * - * The middle performance version uses only one 256 word table for each, for a total of 2Kbytes, - * adding 12 rotate operations per round to compute the values contained in the other tables from - * the contents of the first - * - * The slowest version uses no static tables at all and computes the values - * in each round. - *

    - * This file contains the slowest performance version with no static tables - * for round precomputation, but it has the smallest foot print. - * - */ -public class AESLightEngine - implements BlockCipher -{ - // The S box - private static final byte[] S = { - (byte)99, (byte)124, (byte)119, (byte)123, (byte)242, (byte)107, (byte)111, (byte)197, - (byte)48, (byte)1, (byte)103, (byte)43, (byte)254, (byte)215, (byte)171, (byte)118, - (byte)202, (byte)130, (byte)201, (byte)125, (byte)250, (byte)89, (byte)71, (byte)240, - (byte)173, (byte)212, (byte)162, (byte)175, (byte)156, (byte)164, (byte)114, (byte)192, - (byte)183, (byte)253, (byte)147, (byte)38, (byte)54, (byte)63, (byte)247, (byte)204, - (byte)52, (byte)165, (byte)229, (byte)241, (byte)113, (byte)216, (byte)49, (byte)21, - (byte)4, (byte)199, (byte)35, (byte)195, (byte)24, (byte)150, (byte)5, (byte)154, - (byte)7, (byte)18, (byte)128, (byte)226, (byte)235, (byte)39, (byte)178, (byte)117, - (byte)9, (byte)131, (byte)44, (byte)26, (byte)27, (byte)110, (byte)90, (byte)160, - (byte)82, (byte)59, (byte)214, (byte)179, (byte)41, (byte)227, (byte)47, (byte)132, - (byte)83, (byte)209, (byte)0, (byte)237, (byte)32, (byte)252, (byte)177, (byte)91, - (byte)106, (byte)203, (byte)190, (byte)57, (byte)74, (byte)76, (byte)88, (byte)207, - (byte)208, (byte)239, (byte)170, (byte)251, (byte)67, (byte)77, (byte)51, (byte)133, - (byte)69, (byte)249, (byte)2, (byte)127, (byte)80, (byte)60, (byte)159, (byte)168, - (byte)81, (byte)163, (byte)64, (byte)143, (byte)146, (byte)157, (byte)56, (byte)245, - (byte)188, (byte)182, (byte)218, (byte)33, (byte)16, (byte)255, (byte)243, (byte)210, - (byte)205, (byte)12, (byte)19, (byte)236, (byte)95, (byte)151, (byte)68, (byte)23, - (byte)196, (byte)167, (byte)126, (byte)61, (byte)100, (byte)93, (byte)25, (byte)115, - (byte)96, (byte)129, (byte)79, (byte)220, (byte)34, (byte)42, (byte)144, (byte)136, - (byte)70, (byte)238, (byte)184, (byte)20, (byte)222, (byte)94, (byte)11, (byte)219, - (byte)224, (byte)50, (byte)58, (byte)10, (byte)73, (byte)6, (byte)36, (byte)92, - (byte)194, (byte)211, (byte)172, (byte)98, (byte)145, (byte)149, (byte)228, (byte)121, - (byte)231, (byte)200, (byte)55, (byte)109, (byte)141, (byte)213, (byte)78, (byte)169, - (byte)108, (byte)86, (byte)244, (byte)234, (byte)101, (byte)122, (byte)174, (byte)8, - (byte)186, (byte)120, (byte)37, (byte)46, (byte)28, (byte)166, (byte)180, (byte)198, - (byte)232, (byte)221, (byte)116, (byte)31, (byte)75, (byte)189, (byte)139, (byte)138, - (byte)112, (byte)62, (byte)181, (byte)102, (byte)72, (byte)3, (byte)246, (byte)14, - (byte)97, (byte)53, (byte)87, (byte)185, (byte)134, (byte)193, (byte)29, (byte)158, - (byte)225, (byte)248, (byte)152, (byte)17, (byte)105, (byte)217, (byte)142, (byte)148, - (byte)155, (byte)30, (byte)135, (byte)233, (byte)206, (byte)85, (byte)40, (byte)223, - (byte)140, (byte)161, (byte)137, (byte)13, (byte)191, (byte)230, (byte)66, (byte)104, - (byte)65, (byte)153, (byte)45, (byte)15, (byte)176, (byte)84, (byte)187, (byte)22, - }; - - // The inverse S-box - private static final byte[] Si = { - (byte)82, (byte)9, (byte)106, (byte)213, (byte)48, (byte)54, (byte)165, (byte)56, - (byte)191, (byte)64, (byte)163, (byte)158, (byte)129, (byte)243, (byte)215, (byte)251, - (byte)124, (byte)227, (byte)57, (byte)130, (byte)155, (byte)47, (byte)255, (byte)135, - (byte)52, (byte)142, (byte)67, (byte)68, (byte)196, (byte)222, (byte)233, (byte)203, - (byte)84, (byte)123, (byte)148, (byte)50, (byte)166, (byte)194, (byte)35, (byte)61, - (byte)238, (byte)76, (byte)149, (byte)11, (byte)66, (byte)250, (byte)195, (byte)78, - (byte)8, (byte)46, (byte)161, (byte)102, (byte)40, (byte)217, (byte)36, (byte)178, - (byte)118, (byte)91, (byte)162, (byte)73, (byte)109, (byte)139, (byte)209, (byte)37, - (byte)114, (byte)248, (byte)246, (byte)100, (byte)134, (byte)104, (byte)152, (byte)22, - (byte)212, (byte)164, (byte)92, (byte)204, (byte)93, (byte)101, (byte)182, (byte)146, - (byte)108, (byte)112, (byte)72, (byte)80, (byte)253, (byte)237, (byte)185, (byte)218, - (byte)94, (byte)21, (byte)70, (byte)87, (byte)167, (byte)141, (byte)157, (byte)132, - (byte)144, (byte)216, (byte)171, (byte)0, (byte)140, (byte)188, (byte)211, (byte)10, - (byte)247, (byte)228, (byte)88, (byte)5, (byte)184, (byte)179, (byte)69, (byte)6, - (byte)208, (byte)44, (byte)30, (byte)143, (byte)202, (byte)63, (byte)15, (byte)2, - (byte)193, (byte)175, (byte)189, (byte)3, (byte)1, (byte)19, (byte)138, (byte)107, - (byte)58, (byte)145, (byte)17, (byte)65, (byte)79, (byte)103, (byte)220, (byte)234, - (byte)151, (byte)242, (byte)207, (byte)206, (byte)240, (byte)180, (byte)230, (byte)115, - (byte)150, (byte)172, (byte)116, (byte)34, (byte)231, (byte)173, (byte)53, (byte)133, - (byte)226, (byte)249, (byte)55, (byte)232, (byte)28, (byte)117, (byte)223, (byte)110, - (byte)71, (byte)241, (byte)26, (byte)113, (byte)29, (byte)41, (byte)197, (byte)137, - (byte)111, (byte)183, (byte)98, (byte)14, (byte)170, (byte)24, (byte)190, (byte)27, - (byte)252, (byte)86, (byte)62, (byte)75, (byte)198, (byte)210, (byte)121, (byte)32, - (byte)154, (byte)219, (byte)192, (byte)254, (byte)120, (byte)205, (byte)90, (byte)244, - (byte)31, (byte)221, (byte)168, (byte)51, (byte)136, (byte)7, (byte)199, (byte)49, - (byte)177, (byte)18, (byte)16, (byte)89, (byte)39, (byte)128, (byte)236, (byte)95, - (byte)96, (byte)81, (byte)127, (byte)169, (byte)25, (byte)181, (byte)74, (byte)13, - (byte)45, (byte)229, (byte)122, (byte)159, (byte)147, (byte)201, (byte)156, (byte)239, - (byte)160, (byte)224, (byte)59, (byte)77, (byte)174, (byte)42, (byte)245, (byte)176, - (byte)200, (byte)235, (byte)187, (byte)60, (byte)131, (byte)83, (byte)153, (byte)97, - (byte)23, (byte)43, (byte)4, (byte)126, (byte)186, (byte)119, (byte)214, (byte)38, - (byte)225, (byte)105, (byte)20, (byte)99, (byte)85, (byte)33, (byte)12, (byte)125, - }; - - // vector used in calculating key schedule (powers of x in GF(256)) - private static final int[] rcon = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, - 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 }; - - private static int shift(int r, int shift) - { - return (r >>> shift) | (r << -shift); - } - - /* multiply four bytes in GF(2^8) by 'x' {02} in parallel */ - - private static final int m1 = 0x80808080; - private static final int m2 = 0x7f7f7f7f; - private static final int m3 = 0x0000001b; - - private static int FFmulX(int x) - { - return (((x & m2) << 1) ^ (((x & m1) >>> 7) * m3)); - } - - /* - The following defines provide alternative definitions of FFmulX that might - give improved performance if a fast 32-bit multiply is not available. - - private int FFmulX(int x) { int u = x & m1; u |= (u >> 1); return ((x & m2) << 1) ^ ((u >>> 3) | (u >>> 6)); } - private static final int m4 = 0x1b1b1b1b; - private int FFmulX(int x) { int u = x & m1; return ((x & m2) << 1) ^ ((u - (u >>> 7)) & m4); } - - */ - - private static int mcol(int x) - { - int f2 = FFmulX(x); - return f2 ^ shift(x ^ f2, 8) ^ shift(x, 16) ^ shift(x, 24); - } - - private static int inv_mcol(int x) - { - int f2 = FFmulX(x); - int f4 = FFmulX(f2); - int f8 = FFmulX(f4); - int f9 = x ^ f8; - - return f2 ^ f4 ^ f8 ^ shift(f2 ^ f9, 8) ^ shift(f4 ^ f9, 16) ^ shift(f9, 24); - } - - - private static int subWord(int x) - { - return (S[x&255]&255 | ((S[(x>>8)&255]&255)<<8) | ((S[(x>>16)&255]&255)<<16) | S[(x>>24)&255]<<24); - } - - /** - * Calculate the necessary round keys - * The number of calculations depends on key size and block size - * AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits - * This code is written assuming those are the only possible values - */ - private int[][] generateWorkingKey( - byte[] key, - boolean forEncryption) - { - int KC = key.length / 4; // key length in words - int t; - - if (((KC != 4) && (KC != 6) && (KC != 8)) || ((KC * 4) != key.length)) - { - throw new IllegalArgumentException("Key length not 128/192/256 bits."); - } - - ROUNDS = KC + 6; // This is not always true for the generalized Rijndael that allows larger block sizes - int[][] W = new int[ROUNDS+1][4]; // 4 words in a block - - // - // copy the key into the round key array - // - - t = 0; - int i = 0; - while (i < key.length) - { - W[t >> 2][t & 3] = (key[i]&0xff) | ((key[i+1]&0xff) << 8) | ((key[i+2]&0xff) << 16) | (key[i+3] << 24); - i+=4; - t++; - } - - // - // while not enough round key material calculated - // calculate new values - // - int k = (ROUNDS + 1) << 2; - for (i = KC; (i < k); i++) - { - int temp = W[(i-1)>>2][(i-1)&3]; - if ((i % KC) == 0) - { - temp = subWord(shift(temp, 8)) ^ rcon[(i / KC)-1]; - } - else if ((KC > 6) && ((i % KC) == 4)) - { - temp = subWord(temp); - } - - W[i>>2][i&3] = W[(i - KC)>>2][(i-KC)&3] ^ temp; - } - - if (!forEncryption) - { - for (int j = 1; j < ROUNDS; j++) - { - for (i = 0; i < 4; i++) - { - W[j][i] = inv_mcol(W[j][i]); - } - } - } - - return W; - } - - private int ROUNDS; - private int[][] WorkingKey = null; - private int C0, C1, C2, C3; - private boolean forEncryption; - - private static final int BLOCK_SIZE = 16; - - /** - * default constructor - 128 bit block size. - */ - public AESLightEngine() - { - } - - /** - * initialise an AES cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - WorkingKey = generateWorkingKey(((KeyParameter)params).getKey(), forEncryption); - this.forEncryption = forEncryption; - return; - } - - throw new IllegalArgumentException("invalid parameter passed to AES init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "AES"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (WorkingKey == null) - { - throw new IllegalStateException("AES engine not initialised"); - } - - if ((inOff + (32 / 2)) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + (32 / 2)) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (forEncryption) - { - unpackBlock(in, inOff); - encryptBlock(WorkingKey); - packBlock(out, outOff); - } - else - { - unpackBlock(in, inOff); - decryptBlock(WorkingKey); - packBlock(out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private void unpackBlock( - byte[] bytes, - int off) - { - int index = off; - - C0 = (bytes[index++] & 0xff); - C0 |= (bytes[index++] & 0xff) << 8; - C0 |= (bytes[index++] & 0xff) << 16; - C0 |= bytes[index++] << 24; - - C1 = (bytes[index++] & 0xff); - C1 |= (bytes[index++] & 0xff) << 8; - C1 |= (bytes[index++] & 0xff) << 16; - C1 |= bytes[index++] << 24; - - C2 = (bytes[index++] & 0xff); - C2 |= (bytes[index++] & 0xff) << 8; - C2 |= (bytes[index++] & 0xff) << 16; - C2 |= bytes[index++] << 24; - - C3 = (bytes[index++] & 0xff); - C3 |= (bytes[index++] & 0xff) << 8; - C3 |= (bytes[index++] & 0xff) << 16; - C3 |= bytes[index++] << 24; - } - - private void packBlock( - byte[] bytes, - int off) - { - int index = off; - - bytes[index++] = (byte)C0; - bytes[index++] = (byte)(C0 >> 8); - bytes[index++] = (byte)(C0 >> 16); - bytes[index++] = (byte)(C0 >> 24); - - bytes[index++] = (byte)C1; - bytes[index++] = (byte)(C1 >> 8); - bytes[index++] = (byte)(C1 >> 16); - bytes[index++] = (byte)(C1 >> 24); - - bytes[index++] = (byte)C2; - bytes[index++] = (byte)(C2 >> 8); - bytes[index++] = (byte)(C2 >> 16); - bytes[index++] = (byte)(C2 >> 24); - - bytes[index++] = (byte)C3; - bytes[index++] = (byte)(C3 >> 8); - bytes[index++] = (byte)(C3 >> 16); - bytes[index++] = (byte)(C3 >> 24); - } - - private void encryptBlock(int[][] KW) - { - int r, r0, r1, r2, r3; - - C0 ^= KW[0][0]; - C1 ^= KW[0][1]; - C2 ^= KW[0][2]; - C3 ^= KW[0][3]; - - for (r = 1; r < ROUNDS - 1;) - { - r0 = mcol((S[C0&255]&255) ^ ((S[(C1>>8)&255]&255)<<8) ^ ((S[(C2>>16)&255]&255)<<16) ^ (S[(C3>>24)&255]<<24)) ^ KW[r][0]; - r1 = mcol((S[C1&255]&255) ^ ((S[(C2>>8)&255]&255)<<8) ^ ((S[(C3>>16)&255]&255)<<16) ^ (S[(C0>>24)&255]<<24)) ^ KW[r][1]; - r2 = mcol((S[C2&255]&255) ^ ((S[(C3>>8)&255]&255)<<8) ^ ((S[(C0>>16)&255]&255)<<16) ^ (S[(C1>>24)&255]<<24)) ^ KW[r][2]; - r3 = mcol((S[C3&255]&255) ^ ((S[(C0>>8)&255]&255)<<8) ^ ((S[(C1>>16)&255]&255)<<16) ^ (S[(C2>>24)&255]<<24)) ^ KW[r++][3]; - C0 = mcol((S[r0&255]&255) ^ ((S[(r1>>8)&255]&255)<<8) ^ ((S[(r2>>16)&255]&255)<<16) ^ (S[(r3>>24)&255]<<24)) ^ KW[r][0]; - C1 = mcol((S[r1&255]&255) ^ ((S[(r2>>8)&255]&255)<<8) ^ ((S[(r3>>16)&255]&255)<<16) ^ (S[(r0>>24)&255]<<24)) ^ KW[r][1]; - C2 = mcol((S[r2&255]&255) ^ ((S[(r3>>8)&255]&255)<<8) ^ ((S[(r0>>16)&255]&255)<<16) ^ (S[(r1>>24)&255]<<24)) ^ KW[r][2]; - C3 = mcol((S[r3&255]&255) ^ ((S[(r0>>8)&255]&255)<<8) ^ ((S[(r1>>16)&255]&255)<<16) ^ (S[(r2>>24)&255]<<24)) ^ KW[r++][3]; - } - - r0 = mcol((S[C0&255]&255) ^ ((S[(C1>>8)&255]&255)<<8) ^ ((S[(C2>>16)&255]&255)<<16) ^ (S[(C3>>24)&255]<<24)) ^ KW[r][0]; - r1 = mcol((S[C1&255]&255) ^ ((S[(C2>>8)&255]&255)<<8) ^ ((S[(C3>>16)&255]&255)<<16) ^ (S[(C0>>24)&255]<<24)) ^ KW[r][1]; - r2 = mcol((S[C2&255]&255) ^ ((S[(C3>>8)&255]&255)<<8) ^ ((S[(C0>>16)&255]&255)<<16) ^ (S[(C1>>24)&255]<<24)) ^ KW[r][2]; - r3 = mcol((S[C3&255]&255) ^ ((S[(C0>>8)&255]&255)<<8) ^ ((S[(C1>>16)&255]&255)<<16) ^ (S[(C2>>24)&255]<<24)) ^ KW[r++][3]; - - // the final round is a simple function of S - - C0 = (S[r0&255]&255) ^ ((S[(r1>>8)&255]&255)<<8) ^ ((S[(r2>>16)&255]&255)<<16) ^ (S[(r3>>24)&255]<<24) ^ KW[r][0]; - C1 = (S[r1&255]&255) ^ ((S[(r2>>8)&255]&255)<<8) ^ ((S[(r3>>16)&255]&255)<<16) ^ (S[(r0>>24)&255]<<24) ^ KW[r][1]; - C2 = (S[r2&255]&255) ^ ((S[(r3>>8)&255]&255)<<8) ^ ((S[(r0>>16)&255]&255)<<16) ^ (S[(r1>>24)&255]<<24) ^ KW[r][2]; - C3 = (S[r3&255]&255) ^ ((S[(r0>>8)&255]&255)<<8) ^ ((S[(r1>>16)&255]&255)<<16) ^ (S[(r2>>24)&255]<<24) ^ KW[r][3]; - - } - - private void decryptBlock(int[][] KW) - { - int r, r0, r1, r2, r3; - - C0 ^= KW[ROUNDS][0]; - C1 ^= KW[ROUNDS][1]; - C2 ^= KW[ROUNDS][2]; - C3 ^= KW[ROUNDS][3]; - - for (r = ROUNDS-1; r>1;) - { - r0 = inv_mcol((Si[C0&255]&255) ^ ((Si[(C3>>8)&255]&255)<<8) ^ ((Si[(C2>>16)&255]&255)<<16) ^ (Si[(C1>>24)&255]<<24)) ^ KW[r][0]; - r1 = inv_mcol((Si[C1&255]&255) ^ ((Si[(C0>>8)&255]&255)<<8) ^ ((Si[(C3>>16)&255]&255)<<16) ^ (Si[(C2>>24)&255]<<24)) ^ KW[r][1]; - r2 = inv_mcol((Si[C2&255]&255) ^ ((Si[(C1>>8)&255]&255)<<8) ^ ((Si[(C0>>16)&255]&255)<<16) ^ (Si[(C3>>24)&255]<<24)) ^ KW[r][2]; - r3 = inv_mcol((Si[C3&255]&255) ^ ((Si[(C2>>8)&255]&255)<<8) ^ ((Si[(C1>>16)&255]&255)<<16) ^ (Si[(C0>>24)&255]<<24)) ^ KW[r--][3]; - C0 = inv_mcol((Si[r0&255]&255) ^ ((Si[(r3>>8)&255]&255)<<8) ^ ((Si[(r2>>16)&255]&255)<<16) ^ (Si[(r1>>24)&255]<<24)) ^ KW[r][0]; - C1 = inv_mcol((Si[r1&255]&255) ^ ((Si[(r0>>8)&255]&255)<<8) ^ ((Si[(r3>>16)&255]&255)<<16) ^ (Si[(r2>>24)&255]<<24)) ^ KW[r][1]; - C2 = inv_mcol((Si[r2&255]&255) ^ ((Si[(r1>>8)&255]&255)<<8) ^ ((Si[(r0>>16)&255]&255)<<16) ^ (Si[(r3>>24)&255]<<24)) ^ KW[r][2]; - C3 = inv_mcol((Si[r3&255]&255) ^ ((Si[(r2>>8)&255]&255)<<8) ^ ((Si[(r1>>16)&255]&255)<<16) ^ (Si[(r0>>24)&255]<<24)) ^ KW[r--][3]; - } - - r0 = inv_mcol((Si[C0&255]&255) ^ ((Si[(C3>>8)&255]&255)<<8) ^ ((Si[(C2>>16)&255]&255)<<16) ^ (Si[(C1>>24)&255]<<24)) ^ KW[r][0]; - r1 = inv_mcol((Si[C1&255]&255) ^ ((Si[(C0>>8)&255]&255)<<8) ^ ((Si[(C3>>16)&255]&255)<<16) ^ (Si[(C2>>24)&255]<<24)) ^ KW[r][1]; - r2 = inv_mcol((Si[C2&255]&255) ^ ((Si[(C1>>8)&255]&255)<<8) ^ ((Si[(C0>>16)&255]&255)<<16) ^ (Si[(C3>>24)&255]<<24)) ^ KW[r][2]; - r3 = inv_mcol((Si[C3&255]&255) ^ ((Si[(C2>>8)&255]&255)<<8) ^ ((Si[(C1>>16)&255]&255)<<16) ^ (Si[(C0>>24)&255]<<24)) ^ KW[r][3]; - - // the final round's table is a simple function of Si - - C0 = (Si[r0&255]&255) ^ ((Si[(r3>>8)&255]&255)<<8) ^ ((Si[(r2>>16)&255]&255)<<16) ^ (Si[(r1>>24)&255]<<24) ^ KW[0][0]; - C1 = (Si[r1&255]&255) ^ ((Si[(r0>>8)&255]&255)<<8) ^ ((Si[(r3>>16)&255]&255)<<16) ^ (Si[(r2>>24)&255]<<24) ^ KW[0][1]; - C2 = (Si[r2&255]&255) ^ ((Si[(r1>>8)&255]&255)<<8) ^ ((Si[(r0>>16)&255]&255)<<16) ^ (Si[(r3>>24)&255]<<24) ^ KW[0][2]; - C3 = (Si[r3&255]&255) ^ ((Si[(r2>>8)&255]&255)<<8) ^ ((Si[(r1>>16)&255]&255)<<16) ^ (Si[(r0>>24)&255]<<24) ^ KW[0][3]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESWrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESWrapEngine.java deleted file mode 100644 index d2977948b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/AESWrapEngine.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.spongycastle.crypto.engines; - -/** - * an implementation of the AES Key Wrapper from the NIST Key Wrap - * Specification. - *

    - * For further details see: http://csrc.nist.gov/encryption/kms/key-wrap.pdf. - */ -public class AESWrapEngine - extends RFC3394WrapEngine -{ - public AESWrapEngine() - { - super(new AESEngine()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/BlowfishEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/BlowfishEngine.java deleted file mode 100644 index e2f047796..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/BlowfishEngine.java +++ /dev/null @@ -1,577 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * A class that provides Blowfish key encryption operations, - * such as encoding data and generating keys. - * All the algorithms herein are from Applied Cryptography - * and implement a simplified cryptography interface. - */ -public final class BlowfishEngine -implements BlockCipher -{ - private final static int[] - KP = { - 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, - 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, - 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, - 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, - 0x9216D5D9, 0x8979FB1B - }, - - KS0 = { - 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, - 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, - 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, - 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, - 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, - 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, - 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, - 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, - 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, - 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, - 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, - 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, - 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, - 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, - 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, - 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, - 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, - 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, - 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, - 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, - 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, - 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, - 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, - 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, - 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, - 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, - 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, - 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, - 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, - 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, - 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, - 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, - 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, - 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, - 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, - 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, - 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, - 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, - 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, - 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, - 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, - 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, - 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, - 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, - 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, - 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, - 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, - 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, - 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, - 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, - 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, - 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, - 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, - 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, - 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, - 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, - 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, - 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, - 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, - 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, - 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, - 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, - 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, - 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A - }, - - KS1 = { - 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, - 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, - 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, - 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, - 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, - 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, - 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, - 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, - 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, - 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, - 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, - 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, - 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, - 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, - 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, - 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, - 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, - 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, - 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, - 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, - 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, - 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, - 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, - 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, - 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, - 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, - 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, - 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, - 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, - 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, - 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, - 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, - 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, - 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, - 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, - 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, - 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, - 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, - 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, - 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, - 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, - 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, - 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, - 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, - 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, - 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, - 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, - 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, - 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, - 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, - 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, - 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, - 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, - 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, - 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, - 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, - 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, - 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, - 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, - 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, - 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, - 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, - 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, - 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7 - }, - - KS2 = { - 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, - 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, - 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, - 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, - 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, - 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, - 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, - 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, - 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, - 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, - 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, - 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, - 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, - 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, - 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, - 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, - 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, - 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, - 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, - 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, - 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, - 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, - 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, - 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, - 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, - 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, - 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, - 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, - 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, - 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, - 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, - 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, - 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, - 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, - 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, - 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, - 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, - 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, - 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, - 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, - 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, - 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, - 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, - 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, - 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, - 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, - 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, - 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, - 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, - 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, - 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, - 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, - 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, - 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, - 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, - 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, - 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, - 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, - 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, - 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, - 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, - 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, - 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, - 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0 - }, - - KS3 = { - 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, - 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, - 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, - 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, - 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, - 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, - 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, - 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, - 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, - 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, - 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, - 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, - 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, - 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, - 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, - 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, - 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, - 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, - 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, - 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, - 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, - 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, - 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, - 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, - 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, - 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, - 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, - 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, - 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, - 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, - 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, - 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, - 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, - 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, - 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, - 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, - 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, - 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, - 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, - 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, - 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, - 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, - 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, - 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, - 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, - 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, - 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, - 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, - 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, - 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, - 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, - 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, - 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, - 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, - 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, - 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, - 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, - 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, - 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, - 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, - 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, - 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, - 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, - 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6 - }; - - //==================================== - // Useful constants - //==================================== - - private static final int ROUNDS = 16; - private static final int BLOCK_SIZE = 8; // bytes = 64 bits - private static final int SBOX_SK = 256; - private static final int P_SZ = ROUNDS+2; - - private final int[] S0, S1, S2, S3; // the s-boxes - private final int[] P; // the p-array - - private boolean encrypting = false; - - private byte[] workingKey = null; - - public BlowfishEngine() - { - S0 = new int[SBOX_SK]; - S1 = new int[SBOX_SK]; - S2 = new int[SBOX_SK]; - S3 = new int[SBOX_SK]; - P = new int[P_SZ]; - } - - /** - * initialise a Blowfish cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - this.encrypting = encrypting; - this.workingKey = ((KeyParameter)params).getKey(); - setKey(this.workingKey); - - return; - } - - throw new IllegalArgumentException("invalid parameter passed to Blowfish init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "Blowfish"; - } - - public final int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("Blowfish not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - //================================== - // Private Implementation - //================================== - - private int F(int x) - { - return (((S0[(x >>> 24)] + S1[(x >>> 16) & 0xff]) - ^ S2[(x >>> 8) & 0xff]) + S3[x & 0xff]); - } - - /** - * apply the encryption cycle to each value pair in the table. - */ - private void processTable( - int xl, - int xr, - int[] table) - { - int size = table.length; - - for (int s = 0; s < size; s += 2) - { - xl ^= P[0]; - - for (int i = 1; i < ROUNDS; i += 2) - { - xr ^= F(xl) ^ P[i]; - xl ^= F(xr) ^ P[i + 1]; - } - - xr ^= P[ROUNDS + 1]; - - table[s] = xr; - table[s + 1] = xl; - - xr = xl; // end of cycle swap - xl = table[s]; - } - } - - private void setKey(byte[] key) - { - /* - * - comments are from _Applied Crypto_, Schneier, p338 - * please be careful comparing the two, AC numbers the - * arrays from 1, the enclosed code from 0. - * - * (1) - * Initialise the S-boxes and the P-array, with a fixed string - * This string contains the hexadecimal digits of pi (3.141...) - */ - System.arraycopy(KS0, 0, S0, 0, SBOX_SK); - System.arraycopy(KS1, 0, S1, 0, SBOX_SK); - System.arraycopy(KS2, 0, S2, 0, SBOX_SK); - System.arraycopy(KS3, 0, S3, 0, SBOX_SK); - - System.arraycopy(KP, 0, P, 0, P_SZ); - - /* - * (2) - * Now, XOR P[0] with the first 32 bits of the key, XOR P[1] with the - * second 32-bits of the key, and so on for all bits of the key - * (up to P[17]). Repeatedly cycle through the key bits until the - * entire P-array has been XOR-ed with the key bits - */ - int keyLength = key.length; - int keyIndex = 0; - - for (int i=0; i < P_SZ; i++) - { - // get the 32 bits of the key, in 4 * 8 bit chunks - int data = 0x0000000; - for (int j=0; j < 4; j++) - { - // create a 32 bit block - data = (data << 8) | (key[keyIndex++] & 0xff); - - // wrap when we get to the end of the key - if (keyIndex >= keyLength) - { - keyIndex = 0; - } - } - // XOR the newly created 32 bit chunk onto the P-array - P[i] ^= data; - } - - /* - * (3) - * Encrypt the all-zero string with the Blowfish algorithm, using - * the subkeys described in (1) and (2) - * - * (4) - * Replace P1 and P2 with the output of step (3) - * - * (5) - * Encrypt the output of step(3) using the Blowfish algorithm, - * with the modified subkeys. - * - * (6) - * Replace P3 and P4 with the output of step (5) - * - * (7) - * Continue the process, replacing all elements of the P-array - * and then all four S-boxes in order, with the output of the - * continuously changing Blowfish algorithm - */ - - processTable(0, 0, P); - processTable(P[P_SZ - 2], P[P_SZ - 1], S0); - processTable(S0[SBOX_SK - 2], S0[SBOX_SK - 1], S1); - processTable(S1[SBOX_SK - 2], S1[SBOX_SK - 1], S2); - processTable(S2[SBOX_SK - 2], S2[SBOX_SK - 1], S3); - } - - /** - * Encrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * The input will be an exact multiple of our blocksize. - */ - private void encryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - int xl = BytesTo32bits(src, srcIndex); - int xr = BytesTo32bits(src, srcIndex+4); - - xl ^= P[0]; - - for (int i = 1; i < ROUNDS; i += 2) - { - xr ^= F(xl) ^ P[i]; - xl ^= F(xr) ^ P[i + 1]; - } - - xr ^= P[ROUNDS + 1]; - - Bits32ToBytes(xr, dst, dstIndex); - Bits32ToBytes(xl, dst, dstIndex + 4); - } - - /** - * Decrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * The input will be an exact multiple of our blocksize. - */ - private void decryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - int xl = BytesTo32bits(src, srcIndex); - int xr = BytesTo32bits(src, srcIndex + 4); - - xl ^= P[ROUNDS + 1]; - - for (int i = ROUNDS; i > 0 ; i -= 2) - { - xr ^= F(xl) ^ P[i]; - xl ^= F(xr) ^ P[i - 1]; - } - - xr ^= P[0]; - - Bits32ToBytes(xr, dst, dstIndex); - Bits32ToBytes(xl, dst, dstIndex+4); - } - - private int BytesTo32bits(byte[] b, int i) - { - return ((b[i] & 0xff) << 24) | - ((b[i+1] & 0xff) << 16) | - ((b[i+2] & 0xff) << 8) | - ((b[i+3] & 0xff)); - } - - private void Bits32ToBytes(int in, byte[] b, int offset) - { - b[offset + 3] = (byte)in; - b[offset + 2] = (byte)(in >> 8); - b[offset + 1] = (byte)(in >> 16); - b[offset] = (byte)(in >> 24); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST5Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST5Engine.java deleted file mode 100644 index 7b51fa48b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST5Engine.java +++ /dev/null @@ -1,831 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * A class that provides CAST key encryption operations, - * such as encoding data and generating keys. - * - * All the algorithms herein are from the Internet RFC's - * - * RFC2144 - CAST5 (64bit block, 40-128bit key) - * RFC2612 - CAST6 (128bit block, 128-256bit key) - * - * and implement a simplified cryptography interface. - */ -public class CAST5Engine - implements BlockCipher -{ - protected final static int M32 = 0xffffffff; - - protected final static int[] - S1 = { -0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f, 0x9c004dd3, 0x6003e540, 0xcf9fc949, -0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0, 0x15c361d2, 0xc2e7661d, 0x22d4ff8e, -0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3, 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d, -0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1, 0xaa54166b, 0x22568e3a, 0xa2d341d0, -0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac, 0x4a97c1d8, 0x527644b7, 0xb5f437a7, -0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0, 0x90ecf52e, 0x22b0c054, 0xbc8e5935, -0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290, 0xe93b159f, 0xb48ee411, 0x4bff345d, -0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad, 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50, -0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f, 0xc59c5319, 0xb949e354, 0xb04669fe, -0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5, 0x6a390493, 0xe63d37e0, 0x2a54f6b3, -0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5, 0xf61b1891, 0xbb72275e, 0xaa508167, -0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427, 0xa2d1936b, 0x2ad286af, 0xaa56d291, -0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d, 0x73e2bb14, 0xa0bebc3c, 0x54623779, -0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e, 0x89fe78e6, 0x3fab0950, 0x325ff6c2, -0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf, 0x380782d5, 0xc7fa5cf6, 0x8ac31511, -0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241, 0x051ef495, 0xaa573b04, 0x4a805d8d, -0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b, 0x50afd341, 0xa7c13275, 0x915a0bf5, -0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265, 0xab85c5f3, 0x1b55db94, 0xaad4e324, -0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3, 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c, -0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6, 0x22513f1e, 0xaa51a79b, 0x2ad344cc, -0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6, 0x032268d4, 0xc9600acc, 0xce387e6d, -0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da, 0x4736f464, 0x5ad328d8, 0xb347cc96, -0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc, 0xbfc5fe4a, 0xa70aec10, 0xac39570a, -0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f, 0x1cacd68d, 0x2ad37c96, 0x0175cb9d, -0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4, 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd, -0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af, 0x51c85f4d, 0x56907596, 0xa5bb15e6, -0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a, 0x3526ffa0, 0xc37b4d09, 0xbc306ed9, -0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf, 0x700b45e1, 0xd5ea50f1, 0x85a92872, -0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198, 0x0cd0ede7, 0x26470db8, 0xf881814c, -0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db, 0xab838653, 0x6e2f1e23, 0x83719c9e, -0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c, 0xe1e696ff, 0xb141ab08, 0x7cca89b9, -0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c, 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf - }, - S2 = { -0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a, 0xeec5207a, 0x55889c94, 0x72fc0651, -0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef, 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3, -0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086, 0xef944459, 0xba83ccb3, 0xe0c3cdfb, -0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb, 0xe4e7ef5b, 0x25a1ff41, 0xe180f806, -0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f, 0x77e83f4e, 0x79929269, 0x24fa9f7b, -0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154, 0x0d554b63, 0x5d681121, 0xc866c359, -0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181, 0x39f7627f, 0x361e3084, 0xe4eb573b, -0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c, 0x99847ab4, 0xa0e3df79, 0xba6cf38c, -0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a, 0x8f458c74, 0xd9e0a227, 0x4ec73a34, -0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c, 0x1d804366, 0x721d9bfd, 0xa58684bb, -0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1, 0x27e19ba5, 0xd5a6c252, 0xe49754bd, -0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9, 0xe0b56714, 0x21f043b7, 0xe5d05860, -0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf, 0x68561be6, 0x83ca6b94, 0x2d6ed23b, -0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c, 0x397bc8d6, 0x5ee22b95, 0x5f0e5304, -0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122, 0xb96726d1, 0x8049a7e8, 0x22b7da7b, -0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402, 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf, -0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53, 0xe3214517, 0xb4542835, 0x9f63293c, -0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6, 0x30a22c95, 0x31a70850, 0x60930f13, -0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6, 0xa02b1741, 0x7cbad9a2, 0x2180036f, -0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676, 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6, -0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb, 0x846a3bae, 0x8ff77888, 0xee5d60f6, -0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54, 0x157fd7fa, 0xef8579cc, 0xd152de58, -0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5, 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906, -0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8, 0xbec0c560, 0x61a3c9e8, 0xbca8f54d, -0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc, 0x301e16e6, 0x273be979, 0xb0ffeaa6, -0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a, 0xf7e19798, 0x7619b72f, 0x8f1c9ba4, -0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e, 0x1a513742, 0xef6828bc, 0x520365d6, -0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb, 0x5eea29cb, 0x145892f5, 0x91584f7f, -0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4, 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249, -0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3, 0x230eabb0, 0x6438bc87, 0xf0b5b1fa, -0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589, 0xa345415e, 0x5c038323, 0x3e5d3bb9, -0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539, 0x73bfbe70, 0x83877605, 0x4523ecf1 - }, - S3 = { -0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff, 0x369fe44b, 0x8c1fc644, 0xaececa90, -0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806, 0xf0ad0548, 0xe13c8d83, 0x927010d5, -0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820, 0xfade82e0, 0xa067268b, 0x8272792e, -0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee, 0x825b1bfd, 0x9255c5ed, 0x1257a240, -0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf, 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5, -0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1, 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b, -0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c, 0x4a012d6e, 0xc5884a28, 0xccc36f71, -0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850, 0xd7c07f7e, 0x02507fbf, 0x5afb9a04, -0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e, 0x727cc3c4, 0x0a0fb402, 0x0f7fef82, -0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0, 0x1eac5790, 0x796fb449, 0x8252dc15, -0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403, 0xe83ec305, 0x4f91751a, 0x925669c2, -0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574, 0x927985b2, 0x8276dbcb, 0x02778176, -0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83, 0x340ce5c8, 0x96bbb682, 0x93b4b148, -0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20, 0x8437aa88, 0x7d29dc96, 0x2756d3dc, -0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e, 0x3cf8209d, 0x6094d1e3, 0xcd9ca341, -0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9, 0xbda8229c, 0x127dadaa, 0x438a074e, -0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff, 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51, -0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a, 0x76a2e214, 0xb9a40368, 0x925d958f, -0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623, 0x193cbcfa, 0x27627545, 0x825cf47a, -0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7, 0x8272a972, 0x9270c4a8, 0x127de50b, -0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb, 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b, -0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11, 0x236a5cae, 0x12deca4d, 0x2c3f8cc5, -0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c, 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45, -0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40, 0x7c34671c, 0x02717ef6, 0x4feb5536, -0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1, 0x006e1888, 0xa2e53f55, 0xb9e6d4bc, -0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33, 0xabcc4f33, 0x7688c55d, 0x7b00a6b0, -0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff, 0x856302e0, 0x72dbd92b, 0xee971b69, -0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2, 0x61efc8c2, 0xf1ac2571, 0xcc8239c2, -0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38, 0x0ff0443d, 0x606e6dc6, 0x60543a49, -0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f, 0x68458425, 0x99833be5, 0x600d457d, -0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31, 0x9c305a00, 0x52bce688, 0x1b03588a, -0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636, 0xa133c501, 0xe9d3531c, 0xee353783 - }, - S4 = { -0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb, 0x64ad8c57, 0x85510443, 0xfa020ed1, -0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43, 0x6497b7b1, 0xf3641f63, 0x241e4adf, -0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30, 0xc0a5374f, 0x1d2d00d9, 0x24147b15, -0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f, 0x0c13fefe, 0x081b08ca, 0x05170121, -0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f, 0x06df4261, 0xbb9e9b8a, 0x7293ea25, -0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400, 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5, -0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061, 0x11b638e1, 0x72500e03, 0xf80eb2bb, -0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400, 0x6920318f, 0x081dbb99, 0xffc304a5, -0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea, 0x9f926f91, 0x9f46222f, 0x3991467d, -0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8, 0x3fb6180c, 0x18f8931e, 0x281658e6, -0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25, 0x79098b02, 0xe4eabb81, 0x28123b23, -0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9, 0x0014377b, 0x041e8ac8, 0x09114003, -0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de, 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6, -0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0, 0x56c8c391, 0x6b65811c, 0x5e146119, -0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d, 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24, -0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a, 0xeca1d7c7, 0x041afa32, 0x1d16625a, -0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb, 0xc70b8b46, 0xd9e66a48, 0x56e55a79, -0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3, 0xedda04eb, 0x17a9be04, 0x2c18f4df, -0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254, 0xe5b6a035, 0x213d42f6, 0x2c1c7c26, -0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2, 0x0418f2c8, 0x001a96a6, 0x0d1526ab, -0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86, 0x311170a7, 0x3e9b640c, 0xcc3e10d7, -0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1, 0x1f9af36e, 0xcfcbd12f, 0xc1de8417, -0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca, 0xb4be31cd, 0xd8782806, 0x12a3a4e2, -0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5, 0x9711aac5, 0x001d7b95, 0x82e5e7d2, -0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415, 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a, -0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7, 0x0ce454a9, 0xd60acd86, 0x015f1919, -0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe, 0x8b75e387, 0xb3c50651, 0xb8a5c3ef, -0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb, 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876, -0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8, 0x296b299e, 0x492fc295, 0x9266beab, -0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee, 0xf65324e6, 0x6afce36c, 0x0316cc04, -0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979, 0x932bcdf6, 0xb657c34d, 0x4edfd282, -0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0, 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2 - }, - S5 = { -0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff, 0x1dd358f5, 0x44dd9d44, 0x1731167f, -0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00, 0x2ab722d8, 0x386381cb, 0xacf6243a, 0x69befd7a, -0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180, 0x38851640, 0x15b0a848, 0xe68b18cb, 0x4caadeff, -0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2, 0x4e40b48d, 0x248eb6fb, 0x8dba1cfe, 0x41a99b02, -0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725, 0xc106ecd7, 0x97a5980a, 0xc539b9aa, 0x4d79fe6a, -0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b, 0xe1eb5a88, 0x8709e6b0, 0xd7e07156, 0x4e29fea7, -0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571, 0x0c05372a, 0x578535f2, 0x2261be02, 0xd642a0c9, -0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec, 0x53fb3ce8, 0xc8adedb3, 0x28a87fc9, 0x3d959981, -0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea, 0xaa2f4fb1, 0x4fb96976, 0x90c79505, 0xb0a8a774, -0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263, 0xdf65001f, 0x0ec50966, 0xdfdd55bc, 0x29de0655, -0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468, 0x0d01e980, 0x524755f4, 0x03b63cc9, 0x0cc844b2, -0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b, 0x1a9e7449, 0x64ee2d7e, 0xcddbb1da, 0x01c94910, -0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284, 0x636737b6, 0x50f5b616, 0xf24766e3, 0x8eca36c1, -0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4, 0xc7fb7dc9, 0x3063fcdf, 0xb6f589de, 0xec2941da, -0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7, 0x48925401, 0xc1bacb7f, 0xe5ff550f, 0xb6083049, -0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce, 0xc62bf3cd, 0x9e0885f9, 0x68cb3e47, 0x086c010f, -0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6, 0x407edac3, 0xcbb3d550, 0x1793084d, 0xb0d70eba, -0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4, 0x94ca0b56, 0x0f5755d1, 0xe0e1e56e, 0x6184b5be, -0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561, 0xc3dc0280, 0x05687715, 0x646c6bd7, 0x44904db3, -0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6, 0x309e374f, 0x2cb6356a, 0x85808573, 0x4991f840, -0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406, 0x736e4cb8, 0xc1092910, 0x8bc95fc6, 0x7d869cf4, -0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472, 0x3ca5d717, 0x7d161bba, 0x9cad9010, 0xaf462ba2, -0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487, 0xf3e4f94e, 0x176d486f, 0x097c13ea, 0x631da5c7, -0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288, 0xb3cdcf72, 0x6e5dd2f3, 0x20936079, 0x459b80a5, -0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2, 0x1c5c1572, 0xf6721b2c, 0x1ad2fff3, 0x8c25404e, -0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78, 0xdc0fd66e, 0x75922283, 0x784d6b17, 0x58ebb16e, -0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76, 0x8c2302bf, 0xaaf47556, 0x5f46b02a, 0x2b092801, -0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0, 0xdf3b0874, 0x95055110, 0x1b5ad7a8, 0xf61ed5ad, -0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58, 0x4a046826, 0x0ff6f8f3, 0xa09c7f70, 0x5346aba0, -0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2, 0x85360fa9, 0x17e3fe2a, 0x24b79767, 0xf5a96b20, -0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be, 0xf9e0659a, 0xeeb9491d, 0x34010718, 0xbb30cab8, -0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55, 0x5e76ffa8, 0xb1534546, 0x6d47de08, 0xefe9e7d4 - }, - S6 = { -0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c, 0x95db08e7, 0x016843b4, 0xeced5cbc, 0x325553ac, -0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9, 0x1ab6a6b8, 0xde5ebe39, 0xf38ff732, 0x8989b138, -0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e, 0xa308ea99, 0x4e23e33c, 0x79cbd7cc, 0x48a14367, -0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866, 0xa084db2d, 0x09a8486f, 0xa888614a, 0x2900af98, -0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c, 0xd0d51932, 0xcf0fec14, 0xf7ca07d2, 0xd0a82072, -0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd, 0x372da53c, 0x4c7f4448, 0xdab5d440, 0x6dba0ec3, -0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53, 0x5c3d9c01, 0x64bdb941, 0x2c0e636a, 0xba7dd9cd, -0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d, 0xf0d48d8c, 0xb88153e2, 0x08a19866, 0x1ae2eac8, -0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf, 0x16434be3, 0x9aea3906, 0xefe8c36e, 0xf890cdd9, -0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807, 0x5b7c5ecc, 0x221db3a6, 0x9a69a02f, 0x68818a54, -0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a, 0xb4628abc, 0xcf222ebf, 0x25ac6f48, 0xa9a99387, -0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563, 0x8e342bc1, 0xe8a11be9, 0x4980740d, 0xc8087dfc, -0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0, 0xe81f994f, 0x9528cd89, 0xfd339fed, 0xb87834bf, -0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be, 0x4f628daa, 0x57f55ec5, 0xe2220abe, 0xd2916ebf, -0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0, 0x7b6e27ff, 0xa8dc8af0, 0x7345c106, 0xf41e232f, -0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2, 0x372b74af, 0x692573e4, 0xe9a9d848, 0xf3160289, -0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853, 0x20951063, 0x4576698d, 0xb6fad407, 0x592af950, -0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa, 0xcb0396a8, 0xc50dfe5d, 0xfcd707ab, 0x0921c42f, -0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9, 0x2b05d08d, 0x48b9d585, 0xdc049441, 0xc8098f9b, -0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751, 0x0ef3c8a6, 0x890072d6, 0x28207682, 0xa9a9f7be, -0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358, 0x830f220a, 0x1f8fb214, 0xd372cf08, 0xcc3c4a13, -0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397, 0x47cf8e7a, 0xb6c85283, 0x3cc2acfb, 0x3fc06976, -0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459, 0xc10908f0, 0x513021a5, 0x6c5b68b7, 0x822f8aa0, -0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4, 0x7e432fd9, 0x0c5ec241, 0x8809286c, 0xf592d891, -0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f, 0x6fe4ac98, 0xb173ecc0, 0xbc60b42a, 0x953498da, -0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb, 0xe2969123, 0x257f0c3d, 0x9348af49, 0x361400bc, -0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2, 0xbc704f57, 0xda41e7f9, 0xc25ad33a, 0x54f4a084, -0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab, 0xba5ac7b5, 0xb6f6deaf, 0x3a479c3a, 0x5302da25, -0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b, 0xd7d25d88, 0x44136c76, 0x0404a8c8, 0xb8e5a121, -0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b, 0x29935913, 0x01fdb7f1, 0x088e8dfa, 0x9ab6f6f5, -0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855, 0xd36b4cf1, 0xf544edeb, 0xb0e93524, 0xbebb8fbd, -0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454, 0x48392905, 0xa65b1db8, 0x851c97bd, 0xd675cf2f - }, - S7 = { -0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693, 0x2a8d7f6f, 0xab9bc912, 0xde6008a1, 0x2028da1f, -0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82, 0x2cb2cb11, 0xb232e75c, 0x4b3695f2, 0xb28707de, -0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd, 0xb168c381, 0xfde4e789, 0x5c79b0d8, 0x1e8bfd43, -0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f, 0x089766be, 0xbaeeadf4, 0x1286becf, 0xb6eacb19, -0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9, 0xc3b3ad66, 0x28136086, 0x0bd8dfa8, 0x356d1cf2, -0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e, 0x166bf52a, 0xeb12ff82, 0xe3486911, 0xd34d7516, -0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83, 0x334266ce, 0x8c9341b7, 0xd0d854c0, 0xcb3a6c88, -0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e, 0x0c5cbafa, 0x4437f107, 0xb6e79962, 0x42d2d816, -0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a, 0xb1d139f7, 0xf9583745, 0xcf19df58, 0xbec3f756, -0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f, 0xbc8ec511, 0x38bc46e9, 0xc6e6fa14, 0xbae8584a, -0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b, 0x821dba9f, 0xaff60ff4, 0xea2c4e6d, 0x16e39264, -0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78, 0x06a5b79a, 0xb2856e6e, 0x1aec3ca9, 0xbe838688, -0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d, 0xf7debb85, 0x61fe033c, 0x16746233, 0x3c034c28, -0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802, 0x98f8f35a, 0x1626a49f, 0xeed82b29, 0x1d382fe3, -0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9, 0xcb658b5c, 0xd45230c7, 0x2bd1408b, 0x60c03eb7, -0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302, 0xb96d8c32, 0xebd4e7be, 0xbe8b9d2d, 0x7979fb06, -0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858, 0x8d6b786f, 0x5a6317a6, 0xfa5cf7a0, 0x5dda0033, -0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a, 0xa3d9d2b0, 0x79d34217, 0x021a718d, 0x9ac6336a, -0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4, 0x826d2bef, 0x4eeb8476, 0x488dcf25, 0x36c9d566, -0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df, 0xb65f8de6, 0x92aeaf64, 0x3ac7d5e6, 0x9ea80509, -0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9, 0x50b1b887, 0x2b9f4fd5, 0x625aba82, 0x6a017962, -0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c, 0x93d29a22, 0xe32dbf9a, 0x058745b9, 0x3453dc1e, -0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07, 0xb87242d1, 0x19de7eae, 0x053e561a, 0x15ad6f8c, -0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939, 0x17dcb0f0, 0x58d4f2ae, 0x9ea294fb, 0x52cf564c, -0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e, 0xd3a0c108, 0xa1e7160e, 0xe4f2dfa6, 0x693ed285, -0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378, 0xa132234f, 0x3d321c5d, 0xc3f5e194, 0x4b269301, -0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd, 0x76f7ad0e, 0x296693f4, 0x3d1fce6f, 0xc61e45be, -0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567, 0x5592a33d, 0xb5229301, 0xcfd2a87f, 0x60aeb767, -0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2, 0xc363519b, 0x589dd390, 0x5479f8e6, 0x1cb8d647, -0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf, 0xe84e63ad, 0x462e1b78, 0x6580f87e, 0xf3817914, -0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2, 0x3ffa50bc, 0x3d40f021, 0xc3c0bdae, 0x4958c24c, -0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada, 0xf2a279c7, 0x94e01be8, 0x90716f4b, 0x954b8aa3 - }, - S8 = { -0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095, 0x7789f8b7, 0xe6c1121b, 0x0e241600, 0x052ce8b5, -0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174, 0x2a42931c, 0x76e38111, 0xb12def3a, 0x37ddddfc, -0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940, 0xbb243a0f, 0xb4d137cf, 0xb44e79f0, 0x049eedfd, -0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42, 0xc7ece831, 0x3f8f95e7, 0x72df191b, 0x7580330d, -0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164, 0xb301d40a, 0x02e7d1ca, 0x53571dae, 0x7a3182a2, -0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4, 0x38129022, 0xce949ad4, 0xb84769ad, 0x965bd862, -0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0, 0x4cfde06f, 0xc28ec4b8, 0x57e8726e, 0x647a78fc, -0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6, 0x5d0b00a3, 0xae63aff2, 0x7e8bd632, 0x70108c0c, -0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491, 0x9e7edd53, 0x06918548, 0x58cb7e07, 0x3b74ef2e, -0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b, 0x3cf1d2e2, 0x19b47a38, 0x424f7618, 0x35856039, -0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8, 0x09c467cd, 0xc18910b1, 0xe11dbf7b, 0x06cd1af8, -0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006, 0xbcc0c62c, 0x3dd00db3, 0x708f8f34, 0x77d51b42, -0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564, 0xf8d7e54e, 0x3e378160, 0x7895cda5, 0x859c15a5, -0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab, 0x7f229b1e, 0x31842e7b, 0x24259fd7, 0xf8bef472, -0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc, 0xb0fe134c, 0xe2506d3d, 0x4f9b12ea, 0xf215f225, -0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8, 0xc4618187, 0xea7a6e98, 0x7cd16efc, 0x1436876c, -0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441, 0x3cf7c899, 0x92ecbae6, 0xdd67016d, 0x151682eb, -0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f, 0x24d8c29e, 0xe139673b, 0xefa63fb8, 0x71873054, -0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504, 0xf1e47d8d, 0x844a1be5, 0xbae7dfdc, 0x42cbda70, -0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c, 0xcea4d428, 0x79d130a4, 0x3486ebfb, 0x33d3cddc, -0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6, 0x4e68b8f4, 0xc5c8b37e, 0x0d809ea2, 0x398feb7c, -0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd, 0xdd06caa2, 0x37df932b, 0xc4248289, 0xacf3ebc3, -0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4, 0x9052815e, 0x5e410fab, 0xb48a2465, 0x2eda7fa4, -0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc, 0xdd07d35b, 0xdb485694, 0x38d7e5b2, 0x57720101, -0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba, 0x646f1282, 0x7523d24a, 0xe0779695, 0xf9c17a8f, -0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf, 0x81f47c9f, 0xad1163ed, 0xea7b5965, 0x1a00726e, -0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603, 0x605bdfb0, 0x9eedc364, 0x22ebe6a8, 0xcee7d28a, -0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37, 0x2de705ca, 0x8951570f, 0xdf09822b, 0xbd691a6c, -0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819, 0x4cf1764f, 0x0d771c2b, 0x67cdb156, 0x350d8384, -0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d, 0x4aa93e61, 0x8360d87b, 0x1fa98b0c, 0x1149382c, -0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347, 0x589e8d82, 0x0d2059d1, 0xa466bb1e, 0xf8da0a82, -0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d, 0x50b2ad80, 0xeaee6801, 0x8db2a283, 0xea8bf59e - }; - - //==================================== - // Useful constants - //==================================== - - protected static final int MAX_ROUNDS = 16; - protected static final int RED_ROUNDS = 12; - - protected static final int BLOCK_SIZE = 8; // bytes = 64 bits - - protected int _Kr[] = new int[17]; // the rotating round key - protected int _Km[] = new int[17]; // the masking round key - - private boolean _encrypting = false; - - private byte[] _workingKey = null; - private int _rounds = MAX_ROUNDS; - - public CAST5Engine() - { - } - - /** - * initialise a CAST cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - _encrypting = encrypting; - _workingKey = ((KeyParameter)params).getKey(); - - setKey(_workingKey); - - return; - } - - throw new IllegalArgumentException("Invalid parameter passed to "+getAlgorithmName()+" init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "CAST5"; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (_workingKey == null) - { - throw new IllegalStateException(getAlgorithmName()+" not initialised"); - } - - int blockSize = getBlockSize(); - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("Input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new OutputLengthException("Output buffer too short"); - } - - if (_encrypting) - { - return encryptBlock(in, inOff, out, outOff); - } - else - { - return decryptBlock(in, inOff, out, outOff); - } - } - - public void reset() - { - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - //================================== - // Private Implementation - //================================== - - /* - * Creates the subkeys using the same nomenclature - * as described in RFC2144. - * - * See section 2.4 - */ - protected void setKey(byte[] key) - { - /* - * Determine the key size here, if required - * - * if keysize <= 80bits, use 12 rounds instead of 16 - * if keysize < 128bits, pad with 0 - * - * Typical key sizes => 40, 64, 80, 128 - */ - - if (key.length < 11) - { - _rounds = RED_ROUNDS; - } - - int z[] = new int[16]; - int x[] = new int[16]; - - int z03, z47, z8B, zCF; - int x03, x47, x8B, xCF; - - /* copy the key into x */ - for (int i=0; i< key.length; i++) - { - x[i] = key[i] & 0xff; - } - - /* - * This will look different because the selection of - * bytes from the input key I've already chosen the - * correct int. - */ - x03 = IntsTo32bits(x, 0x0); - x47 = IntsTo32bits(x, 0x4); - x8B = IntsTo32bits(x, 0x8); - xCF = IntsTo32bits(x, 0xC); - - z03 = x03 ^S5[x[0xD]] ^S6[x[0xF]] ^S7[x[0xC]] ^S8[x[0xE]] ^S7[x[0x8]]; - - Bits32ToInts(z03, z, 0x0); - z47 = x8B ^S5[z[0x0]] ^S6[z[0x2]] ^S7[z[0x1]] ^S8[z[0x3]] ^S8[x[0xA]]; - Bits32ToInts(z47, z, 0x4); - z8B = xCF ^S5[z[0x7]] ^S6[z[0x6]] ^S7[z[0x5]] ^S8[z[0x4]] ^S5[x[0x9]]; - Bits32ToInts(z8B, z, 0x8); - zCF = x47 ^S5[z[0xA]] ^S6[z[0x9]] ^S7[z[0xB]] ^S8[z[0x8]] ^S6[x[0xB]]; - Bits32ToInts(zCF, z, 0xC); - _Km[ 1]= S5[z[0x8]] ^ S6[z[0x9]] ^ S7[z[0x7]] ^ S8[z[0x6]] ^ S5[z[0x2]]; - _Km[ 2]= S5[z[0xA]] ^ S6[z[0xB]] ^ S7[z[0x5]] ^ S8[z[0x4]] ^ S6[z[0x6]]; - _Km[ 3]= S5[z[0xC]] ^ S6[z[0xD]] ^ S7[z[0x3]] ^ S8[z[0x2]] ^ S7[z[0x9]]; - _Km[ 4]= S5[z[0xE]] ^ S6[z[0xF]] ^ S7[z[0x1]] ^ S8[z[0x0]] ^ S8[z[0xC]]; - - z03 = IntsTo32bits(z, 0x0); - z47 = IntsTo32bits(z, 0x4); - z8B = IntsTo32bits(z, 0x8); - zCF = IntsTo32bits(z, 0xC); - x03 = z8B ^S5[z[0x5]] ^S6[z[0x7]] ^S7[z[0x4]] ^S8[z[0x6]] ^S7[z[0x0]]; - Bits32ToInts(x03, x, 0x0); - x47 = z03 ^S5[x[0x0]] ^S6[x[0x2]] ^S7[x[0x1]] ^S8[x[0x3]] ^S8[z[0x2]]; - Bits32ToInts(x47, x, 0x4); - x8B = z47 ^S5[x[0x7]] ^S6[x[0x6]] ^S7[x[0x5]] ^S8[x[0x4]] ^S5[z[0x1]]; - Bits32ToInts(x8B, x, 0x8); - xCF = zCF ^S5[x[0xA]] ^S6[x[0x9]] ^S7[x[0xB]] ^S8[x[0x8]] ^S6[z[0x3]]; - Bits32ToInts(xCF, x, 0xC); - _Km[ 5]= S5[x[0x3]] ^ S6[x[0x2]] ^ S7[x[0xC]] ^ S8[x[0xD]] ^ S5[x[0x8]]; - _Km[ 6]= S5[x[0x1]] ^ S6[x[0x0]] ^ S7[x[0xE]] ^ S8[x[0xF]] ^ S6[x[0xD]]; - _Km[ 7]= S5[x[0x7]] ^ S6[x[0x6]] ^ S7[x[0x8]] ^ S8[x[0x9]] ^ S7[x[0x3]]; - _Km[ 8]= S5[x[0x5]] ^ S6[x[0x4]] ^ S7[x[0xA]] ^ S8[x[0xB]] ^ S8[x[0x7]]; - - x03 = IntsTo32bits(x, 0x0); - x47 = IntsTo32bits(x, 0x4); - x8B = IntsTo32bits(x, 0x8); - xCF = IntsTo32bits(x, 0xC); - z03 = x03 ^S5[x[0xD]] ^S6[x[0xF]] ^S7[x[0xC]] ^S8[x[0xE]] ^S7[x[0x8]]; - Bits32ToInts(z03, z, 0x0); - z47 = x8B ^S5[z[0x0]] ^S6[z[0x2]] ^S7[z[0x1]] ^S8[z[0x3]] ^S8[x[0xA]]; - Bits32ToInts(z47, z, 0x4); - z8B = xCF ^S5[z[0x7]] ^S6[z[0x6]] ^S7[z[0x5]] ^S8[z[0x4]] ^S5[x[0x9]]; - Bits32ToInts(z8B, z, 0x8); - zCF = x47 ^S5[z[0xA]] ^S6[z[0x9]] ^S7[z[0xB]] ^S8[z[0x8]] ^S6[x[0xB]]; - Bits32ToInts(zCF, z, 0xC); - _Km[ 9]= S5[z[0x3]] ^ S6[z[0x2]] ^ S7[z[0xC]] ^ S8[z[0xD]] ^ S5[z[0x9]]; - _Km[10]= S5[z[0x1]] ^ S6[z[0x0]] ^ S7[z[0xE]] ^ S8[z[0xF]] ^ S6[z[0xc]]; - _Km[11]= S5[z[0x7]] ^ S6[z[0x6]] ^ S7[z[0x8]] ^ S8[z[0x9]] ^ S7[z[0x2]]; - _Km[12]= S5[z[0x5]] ^ S6[z[0x4]] ^ S7[z[0xA]] ^ S8[z[0xB]] ^ S8[z[0x6]]; - - z03 = IntsTo32bits(z, 0x0); - z47 = IntsTo32bits(z, 0x4); - z8B = IntsTo32bits(z, 0x8); - zCF = IntsTo32bits(z, 0xC); - x03 = z8B ^S5[z[0x5]] ^S6[z[0x7]] ^S7[z[0x4]] ^S8[z[0x6]] ^S7[z[0x0]]; - Bits32ToInts(x03, x, 0x0); - x47 = z03 ^S5[x[0x0]] ^S6[x[0x2]] ^S7[x[0x1]] ^S8[x[0x3]] ^S8[z[0x2]]; - Bits32ToInts(x47, x, 0x4); - x8B = z47 ^S5[x[0x7]] ^S6[x[0x6]] ^S7[x[0x5]] ^S8[x[0x4]] ^S5[z[0x1]]; - Bits32ToInts(x8B, x, 0x8); - xCF = zCF ^S5[x[0xA]] ^S6[x[0x9]] ^S7[x[0xB]] ^S8[x[0x8]] ^S6[z[0x3]]; - Bits32ToInts(xCF, x, 0xC); - _Km[13]= S5[x[0x8]] ^ S6[x[0x9]] ^ S7[x[0x7]] ^ S8[x[0x6]] ^ S5[x[0x3]]; - _Km[14]= S5[x[0xA]] ^ S6[x[0xB]] ^ S7[x[0x5]] ^ S8[x[0x4]] ^ S6[x[0x7]]; - _Km[15]= S5[x[0xC]] ^ S6[x[0xD]] ^ S7[x[0x3]] ^ S8[x[0x2]] ^ S7[x[0x8]]; - _Km[16]= S5[x[0xE]] ^ S6[x[0xF]] ^ S7[x[0x1]] ^ S8[x[0x0]] ^ S8[x[0xD]]; - - x03 = IntsTo32bits(x, 0x0); - x47 = IntsTo32bits(x, 0x4); - x8B = IntsTo32bits(x, 0x8); - xCF = IntsTo32bits(x, 0xC); - z03 = x03 ^S5[x[0xD]] ^S6[x[0xF]] ^S7[x[0xC]] ^S8[x[0xE]] ^S7[x[0x8]]; - Bits32ToInts(z03, z, 0x0); - z47 = x8B ^S5[z[0x0]] ^S6[z[0x2]] ^S7[z[0x1]] ^S8[z[0x3]] ^S8[x[0xA]]; - Bits32ToInts(z47, z, 0x4); - z8B = xCF ^S5[z[0x7]] ^S6[z[0x6]] ^S7[z[0x5]] ^S8[z[0x4]] ^S5[x[0x9]]; - Bits32ToInts(z8B, z, 0x8); - zCF = x47 ^S5[z[0xA]] ^S6[z[0x9]] ^S7[z[0xB]] ^S8[z[0x8]] ^S6[x[0xB]]; - Bits32ToInts(zCF, z, 0xC); - _Kr[ 1]=(S5[z[0x8]]^S6[z[0x9]]^S7[z[0x7]]^S8[z[0x6]] ^ S5[z[0x2]])&0x1f; - _Kr[ 2]=(S5[z[0xA]]^S6[z[0xB]]^S7[z[0x5]]^S8[z[0x4]] ^ S6[z[0x6]])&0x1f; - _Kr[ 3]=(S5[z[0xC]]^S6[z[0xD]]^S7[z[0x3]]^S8[z[0x2]] ^ S7[z[0x9]])&0x1f; - _Kr[ 4]=(S5[z[0xE]]^S6[z[0xF]]^S7[z[0x1]]^S8[z[0x0]] ^ S8[z[0xC]])&0x1f; - - z03 = IntsTo32bits(z, 0x0); - z47 = IntsTo32bits(z, 0x4); - z8B = IntsTo32bits(z, 0x8); - zCF = IntsTo32bits(z, 0xC); - x03 = z8B ^S5[z[0x5]] ^S6[z[0x7]] ^S7[z[0x4]] ^S8[z[0x6]] ^S7[z[0x0]]; - Bits32ToInts(x03, x, 0x0); - x47 = z03 ^S5[x[0x0]] ^S6[x[0x2]] ^S7[x[0x1]] ^S8[x[0x3]] ^S8[z[0x2]]; - Bits32ToInts(x47, x, 0x4); - x8B = z47 ^S5[x[0x7]] ^S6[x[0x6]] ^S7[x[0x5]] ^S8[x[0x4]] ^S5[z[0x1]]; - Bits32ToInts(x8B, x, 0x8); - xCF = zCF ^S5[x[0xA]] ^S6[x[0x9]] ^S7[x[0xB]] ^S8[x[0x8]] ^S6[z[0x3]]; - Bits32ToInts(xCF, x, 0xC); - _Kr[ 5]=(S5[x[0x3]]^S6[x[0x2]]^S7[x[0xC]]^S8[x[0xD]]^S5[x[0x8]])&0x1f; - _Kr[ 6]=(S5[x[0x1]]^S6[x[0x0]]^S7[x[0xE]]^S8[x[0xF]]^S6[x[0xD]])&0x1f; - _Kr[ 7]=(S5[x[0x7]]^S6[x[0x6]]^S7[x[0x8]]^S8[x[0x9]]^S7[x[0x3]])&0x1f; - _Kr[ 8]=(S5[x[0x5]]^S6[x[0x4]]^S7[x[0xA]]^S8[x[0xB]]^S8[x[0x7]])&0x1f; - - x03 = IntsTo32bits(x, 0x0); - x47 = IntsTo32bits(x, 0x4); - x8B = IntsTo32bits(x, 0x8); - xCF = IntsTo32bits(x, 0xC); - z03 = x03 ^S5[x[0xD]] ^S6[x[0xF]] ^S7[x[0xC]] ^S8[x[0xE]] ^S7[x[0x8]]; - Bits32ToInts(z03, z, 0x0); - z47 = x8B ^S5[z[0x0]] ^S6[z[0x2]] ^S7[z[0x1]] ^S8[z[0x3]] ^S8[x[0xA]]; - Bits32ToInts(z47, z, 0x4); - z8B = xCF ^S5[z[0x7]] ^S6[z[0x6]] ^S7[z[0x5]] ^S8[z[0x4]] ^S5[x[0x9]]; - Bits32ToInts(z8B, z, 0x8); - zCF = x47 ^S5[z[0xA]] ^S6[z[0x9]] ^S7[z[0xB]] ^S8[z[0x8]] ^S6[x[0xB]]; - Bits32ToInts(zCF, z, 0xC); - _Kr[ 9]=(S5[z[0x3]]^S6[z[0x2]]^S7[z[0xC]]^S8[z[0xD]]^S5[z[0x9]])&0x1f; - _Kr[10]=(S5[z[0x1]]^S6[z[0x0]]^S7[z[0xE]]^S8[z[0xF]]^S6[z[0xc]])&0x1f; - _Kr[11]=(S5[z[0x7]]^S6[z[0x6]]^S7[z[0x8]]^S8[z[0x9]]^S7[z[0x2]])&0x1f; - _Kr[12]=(S5[z[0x5]]^S6[z[0x4]]^S7[z[0xA]]^S8[z[0xB]]^S8[z[0x6]])&0x1f; - - z03 = IntsTo32bits(z, 0x0); - z47 = IntsTo32bits(z, 0x4); - z8B = IntsTo32bits(z, 0x8); - zCF = IntsTo32bits(z, 0xC); - x03 = z8B ^S5[z[0x5]] ^S6[z[0x7]] ^S7[z[0x4]] ^S8[z[0x6]] ^S7[z[0x0]]; - Bits32ToInts(x03, x, 0x0); - x47 = z03 ^S5[x[0x0]] ^S6[x[0x2]] ^S7[x[0x1]] ^S8[x[0x3]] ^S8[z[0x2]]; - Bits32ToInts(x47, x, 0x4); - x8B = z47 ^S5[x[0x7]] ^S6[x[0x6]] ^S7[x[0x5]] ^S8[x[0x4]] ^S5[z[0x1]]; - Bits32ToInts(x8B, x, 0x8); - xCF = zCF ^S5[x[0xA]] ^S6[x[0x9]] ^S7[x[0xB]] ^S8[x[0x8]] ^S6[z[0x3]]; - Bits32ToInts(xCF, x, 0xC); - _Kr[13]=(S5[x[0x8]]^S6[x[0x9]]^S7[x[0x7]]^S8[x[0x6]]^S5[x[0x3]])&0x1f; - _Kr[14]=(S5[x[0xA]]^S6[x[0xB]]^S7[x[0x5]]^S8[x[0x4]]^S6[x[0x7]])&0x1f; - _Kr[15]=(S5[x[0xC]]^S6[x[0xD]]^S7[x[0x3]]^S8[x[0x2]]^S7[x[0x8]])&0x1f; - _Kr[16]=(S5[x[0xE]]^S6[x[0xF]]^S7[x[0x1]]^S8[x[0x0]]^S8[x[0xD]])&0x1f; - } - - /** - * Encrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * - * @param src The plaintext buffer - * @param srcIndex An offset into src - * @param dst The ciphertext buffer - * @param dstIndex An offset into dst - */ - protected int encryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - - int result[] = new int[2]; - - // process the input block - // batch the units up into a 32 bit chunk and go for it - // the array is in bytes, the increment is 8x8 bits = 64 - - int L0 = BytesTo32bits(src, srcIndex); - int R0 = BytesTo32bits(src, srcIndex + 4); - - CAST_Encipher(L0, R0, result); - - // now stuff them into the destination block - Bits32ToBytes(result[0], dst, dstIndex); - Bits32ToBytes(result[1], dst, dstIndex + 4); - - return BLOCK_SIZE; - } - - /** - * Decrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * - * @param src The plaintext buffer - * @param srcIndex An offset into src - * @param dst The ciphertext buffer - * @param dstIndex An offset into dst - */ - protected int decryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - int result[] = new int[2]; - - // process the input block - // batch the units up into a 32 bit chunk and go for it - // the array is in bytes, the increment is 8x8 bits = 64 - int L16 = BytesTo32bits(src, srcIndex); - int R16 = BytesTo32bits(src, srcIndex+4); - - CAST_Decipher(L16, R16, result); - - // now stuff them into the destination block - Bits32ToBytes(result[0], dst, dstIndex); - Bits32ToBytes(result[1], dst, dstIndex+4); - - return BLOCK_SIZE; - } - - /** - * The first of the three processing functions for the - * encryption and decryption. - * - * @param D the input to be processed - * @param Kmi the mask to be used from Km[n] - * @param Kri the rotation value to be used - * - */ - protected final int F1(int D, int Kmi, int Kri) - { - int I = Kmi + D; - I = I << Kri | I >>> (32-Kri); - return ((S1[(I>>>24)&0xff]^S2[(I>>>16)&0xff])-S3[(I>>> 8)&0xff])+ - S4[I & 0xff]; - } - - /** - * The second of the three processing functions for the - * encryption and decryption. - * - * @param D the input to be processed - * @param Kmi the mask to be used from Km[n] - * @param Kri the rotation value to be used - * - */ - protected final int F2(int D, int Kmi, int Kri) - { - int I = Kmi ^ D; - I = I << Kri | I >>> (32-Kri); - return ((S1[(I>>>24)&0xff]-S2[(I>>>16)&0xff])+S3[(I>>> 8)&0xff])^ - S4[I & 0xff]; - } - - /** - * The third of the three processing functions for the - * encryption and decryption. - * - * @param D the input to be processed - * @param Kmi the mask to be used from Km[n] - * @param Kri the rotation value to be used - * - */ - protected final int F3(int D, int Kmi, int Kri) - { - int I = Kmi - D; - I = I << Kri | I >>> (32-Kri); - return ((S1[(I>>>24)&0xff]+S2[(I>>>16)&0xff])^S3[(I>>> 8)&0xff])- - S4[I & 0xff]; - } - - /** - * Does the 16 rounds to encrypt the block. - * - * @param L0 the LH-32bits of the plaintext block - * @param R0 the RH-32bits of the plaintext block - */ - protected final void CAST_Encipher(int L0, int R0, int result[]) - { - int Lp = L0; // the previous value, equiv to L[i-1] - int Rp = R0; // equivalent to R[i-1] - - /* - * numbering consistent with paper to make - * checking and validating easier - */ - int Li = L0, Ri = R0; - - for (int i = 1; i<=_rounds ; i++) - { - Lp = Li; - Rp = Ri; - - Li = Rp; - switch (i) - { - case 1: - case 4: - case 7: - case 10: - case 13: - case 16: - Ri = Lp ^ F1(Rp, _Km[i], _Kr[i]); - break; - case 2: - case 5: - case 8: - case 11: - case 14: - Ri = Lp ^ F2(Rp, _Km[i], _Kr[i]); - break; - case 3: - case 6: - case 9: - case 12: - case 15: - Ri = Lp ^ F3(Rp, _Km[i], _Kr[i]); - break; - } - } - - result[0] = Ri; - result[1] = Li; - - return; - } - - protected final void CAST_Decipher(int L16, int R16, int result[]) - { - int Lp = L16; // the previous value, equiv to L[i-1] - int Rp = R16; // equivalent to R[i-1] - - /* - * numbering consistent with paper to make - * checking and validating easier - */ - int Li = L16, Ri = R16; - - for (int i = _rounds; i > 0; i--) - { - Lp = Li; - Rp = Ri; - - Li = Rp; - switch (i) - { - case 1: - case 4: - case 7: - case 10: - case 13: - case 16: - Ri = Lp ^ F1(Rp, _Km[i], _Kr[i]); - break; - case 2: - case 5: - case 8: - case 11: - case 14: - Ri = Lp ^ F2(Rp, _Km[i], _Kr[i]); - break; - case 3: - case 6: - case 9: - case 12: - case 15: - Ri = Lp ^ F3(Rp, _Km[i], _Kr[i]); - break; - } - } - - result[0] = Ri; - result[1] = Li; - - return; - } - - protected final void Bits32ToInts(int in, int[] b, int offset) - { - b[offset + 3] = (in & 0xff); - b[offset + 2] = ((in >>> 8) & 0xff); - b[offset + 1] = ((in >>> 16) & 0xff); - b[offset] = ((in >>> 24) & 0xff); - } - - protected final int IntsTo32bits(int[] b, int i) - { - int rv = 0; - - rv = ((b[i] & 0xff) << 24) | - ((b[i+1] & 0xff) << 16) | - ((b[i+2] & 0xff) << 8) | - ((b[i+3] & 0xff)); - - return rv; - } - - protected final void Bits32ToBytes(int in, byte[] b, int offset) - { - b[offset + 3] = (byte)in; - b[offset + 2] = (byte)(in >>> 8); - b[offset + 1] = (byte)(in >>> 16); - b[offset] = (byte)(in >>> 24); - } - - protected final int BytesTo32bits(byte[] b, int i) - { - return ((b[i] & 0xff) << 24) | - ((b[i+1] & 0xff) << 16) | - ((b[i+2] & 0xff) << 8) | - ((b[i+3] & 0xff)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST6Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST6Engine.java deleted file mode 100644 index 7a9907563..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CAST6Engine.java +++ /dev/null @@ -1,296 +0,0 @@ -package org.spongycastle.crypto.engines; - - -/** - * A class that provides CAST6 key encryption operations, - * such as encoding data and generating keys. - * - * All the algorithms herein are from the Internet RFC - * - * RFC2612 - CAST6 (128bit block, 128-256bit key) - * - * and implement a simplified cryptography interface. - */ -public final class CAST6Engine extends CAST5Engine -{ - //==================================== - // Useful constants - //==================================== - - protected static final int ROUNDS = 12; - - protected static final int BLOCK_SIZE = 16; // bytes = 128 bits - - /* - * Put the round and mask keys into an array. - * Kr0[i] => _Kr[i*4 + 0] - */ - protected int _Kr[] = new int[ROUNDS*4]; // the rotating round key(s) - protected int _Km[] = new int[ROUNDS*4]; // the masking round key(s) - - /* - * Key setup - */ - protected int _Tr[] = new int[24 * 8]; - protected int _Tm[] = new int[24 * 8]; - - private int[] _workingKey = new int[8]; - - public CAST6Engine() - { - } - - public String getAlgorithmName() - { - return "CAST6"; - } - - public void reset() - { - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - //================================== - // Private Implementation - //================================== - - /* - * Creates the subkeys using the same nomenclature - * as described in RFC2612. - * - * See section 2.4 - */ - protected void setKey(byte[] key) - { - int Cm = 0x5a827999; - int Mm = 0x6ed9eba1; - int Cr = 19; - int Mr = 17; - - /* - * Determine the key size here, if required - * - * if keysize < 256 bytes, pad with 0 - * - * Typical key sizes => 128, 160, 192, 224, 256 - */ - for (int i=0; i< 24; i++) - { - for (int j=0; j< 8; j++) - { - _Tm[i*8 + j] = Cm; - Cm = (Cm + Mm); // mod 2^32; - - _Tr[i*8 + j] = Cr; - Cr = (Cr + Mr) & 0x1f; // mod 32 - } - } - - byte[] tmpKey = new byte[64]; - int length = key.length; - System.arraycopy(key, 0, tmpKey, 0, length); - - // now create ABCDEFGH - for (int i=0; i< 8; i++) - { - _workingKey[i] = BytesTo32bits(tmpKey, i*4); - } - - // Generate the key schedule - for (int i=0; i< 12; i++) - { - // KAPPA <- W2i(KAPPA) - int i2 = i*2 *8; - _workingKey[6] ^= F1(_workingKey[7], _Tm[i2 ], _Tr[i2 ]); - _workingKey[5] ^= F2(_workingKey[6], _Tm[i2+1], _Tr[i2+1]); - _workingKey[4] ^= F3(_workingKey[5], _Tm[i2+2], _Tr[i2+2]); - _workingKey[3] ^= F1(_workingKey[4], _Tm[i2+3], _Tr[i2+3]); - _workingKey[2] ^= F2(_workingKey[3], _Tm[i2+4], _Tr[i2+4]); - _workingKey[1] ^= F3(_workingKey[2], _Tm[i2+5], _Tr[i2+5]); - _workingKey[0] ^= F1(_workingKey[1], _Tm[i2+6], _Tr[i2+6]); - _workingKey[7] ^= F2(_workingKey[0], _Tm[i2+7], _Tr[i2+7]); - - // KAPPA <- W2i+1(KAPPA) - i2 = (i*2 + 1)*8; - _workingKey[6] ^= F1(_workingKey[7], _Tm[i2 ], _Tr[i2 ]); - _workingKey[5] ^= F2(_workingKey[6], _Tm[i2+1], _Tr[i2+1]); - _workingKey[4] ^= F3(_workingKey[5], _Tm[i2+2], _Tr[i2+2]); - _workingKey[3] ^= F1(_workingKey[4], _Tm[i2+3], _Tr[i2+3]); - _workingKey[2] ^= F2(_workingKey[3], _Tm[i2+4], _Tr[i2+4]); - _workingKey[1] ^= F3(_workingKey[2], _Tm[i2+5], _Tr[i2+5]); - _workingKey[0] ^= F1(_workingKey[1], _Tm[i2+6], _Tr[i2+6]); - _workingKey[7] ^= F2(_workingKey[0], _Tm[i2+7], _Tr[i2+7]); - - // Kr_(i) <- KAPPA - _Kr[i*4 ] = _workingKey[0] & 0x1f; - _Kr[i*4 + 1] = _workingKey[2] & 0x1f; - _Kr[i*4 + 2] = _workingKey[4] & 0x1f; - _Kr[i*4 + 3] = _workingKey[6] & 0x1f; - - - // Km_(i) <- KAPPA - _Km[i*4 ] = _workingKey[7]; - _Km[i*4 + 1] = _workingKey[5]; - _Km[i*4 + 2] = _workingKey[3]; - _Km[i*4 + 3] = _workingKey[1]; - } - - } - - /** - * Encrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * - * @param src The plaintext buffer - * @param srcIndex An offset into src - * @param dst The ciphertext buffer - * @param dstIndex An offset into dst - */ - protected int encryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - - int result[] = new int[4]; - - // process the input block - // batch the units up into 4x32 bit chunks and go for it - - int A = BytesTo32bits(src, srcIndex); - int B = BytesTo32bits(src, srcIndex + 4); - int C = BytesTo32bits(src, srcIndex + 8); - int D = BytesTo32bits(src, srcIndex + 12); - - CAST_Encipher(A, B, C, D, result); - - // now stuff them into the destination block - Bits32ToBytes(result[0], dst, dstIndex); - Bits32ToBytes(result[1], dst, dstIndex + 4); - Bits32ToBytes(result[2], dst, dstIndex + 8); - Bits32ToBytes(result[3], dst, dstIndex + 12); - - return BLOCK_SIZE; - } - - /** - * Decrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * - * @param src The plaintext buffer - * @param srcIndex An offset into src - * @param dst The ciphertext buffer - * @param dstIndex An offset into dst - */ - protected int decryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - int result[] = new int[4]; - - // process the input block - // batch the units up into 4x32 bit chunks and go for it - int A = BytesTo32bits(src, srcIndex); - int B = BytesTo32bits(src, srcIndex + 4); - int C = BytesTo32bits(src, srcIndex + 8); - int D = BytesTo32bits(src, srcIndex + 12); - - CAST_Decipher(A, B, C, D, result); - - // now stuff them into the destination block - Bits32ToBytes(result[0], dst, dstIndex); - Bits32ToBytes(result[1], dst, dstIndex + 4); - Bits32ToBytes(result[2], dst, dstIndex + 8); - Bits32ToBytes(result[3], dst, dstIndex + 12); - - return BLOCK_SIZE; - } - - /** - * Does the 12 quad rounds rounds to encrypt the block. - * - * @param A the 00-31 bits of the plaintext block - * @param B the 32-63 bits of the plaintext block - * @param C the 64-95 bits of the plaintext block - * @param D the 96-127 bits of the plaintext block - * @param result the resulting ciphertext - */ - protected final void CAST_Encipher(int A, int B, int C, int D,int result[]) - { - int x; - for (int i=0; i< 6; i++) - { - x = i*4; - // BETA <- Qi(BETA) - C ^= F1(D, _Km[x], _Kr[x]); - B ^= F2(C, _Km[x + 1], _Kr[x + 1]); - A ^= F3(B, _Km[x + 2], _Kr[x + 2]); - D ^= F1(A, _Km[x + 3], _Kr[x + 3]); - - } - - for (int i=6; i<12; i++) - { - x = i*4; - // BETA <- QBARi(BETA) - D ^= F1(A, _Km[x + 3], _Kr[x + 3]); - A ^= F3(B, _Km[x + 2], _Kr[x + 2]); - B ^= F2(C, _Km[x + 1], _Kr[x + 1]); - C ^= F1(D, _Km[x], _Kr[x]); - - } - - result[0] = A; - result[1] = B; - result[2] = C; - result[3] = D; - } - - /** - * Does the 12 quad rounds rounds to decrypt the block. - * - * @param A the 00-31 bits of the ciphertext block - * @param B the 32-63 bits of the ciphertext block - * @param C the 64-95 bits of the ciphertext block - * @param D the 96-127 bits of the ciphertext block - * @param result the resulting plaintext - */ - protected final void CAST_Decipher(int A, int B, int C, int D,int result[]) - { - int x; - for (int i=0; i< 6; i++) - { - x = (11-i)*4; - // BETA <- Qi(BETA) - C ^= F1(D, _Km[x], _Kr[x]); - B ^= F2(C, _Km[x + 1], _Kr[x + 1]); - A ^= F3(B, _Km[x + 2], _Kr[x + 2]); - D ^= F1(A, _Km[x + 3], _Kr[x + 3]); - - } - - for (int i=6; i<12; i++) - { - x = (11-i)*4; - // BETA <- QBARi(BETA) - D ^= F1(A, _Km[x + 3], _Kr[x + 3]); - A ^= F3(B, _Km[x + 2], _Kr[x + 2]); - B ^= F2(C, _Km[x + 1], _Kr[x + 1]); - C ^= F1(D, _Km[x], _Kr[x]); - - } - - result[0] = A; - result[1] = B; - result[2] = C; - result[3] = D; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaEngine.java deleted file mode 100644 index b82af072c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaEngine.java +++ /dev/null @@ -1,684 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * Camellia - based on RFC 3713. - */ -public class CamelliaEngine - implements BlockCipher -{ - private boolean initialised = false; - private boolean _keyIs128; - - private static final int BLOCK_SIZE = 16; - private static final int MASK8 = 0xff; - - private int[] subkey = new int[24 * 4]; - private int[] kw = new int[4 * 2]; // for whitening - private int[] ke = new int[6 * 2]; // for FL and FL^(-1) - private int[] state = new int[4]; // for encryption and decryption - - private static final int SIGMA[] = { - 0xa09e667f, 0x3bcc908b, - 0xb67ae858, 0x4caa73b2, - 0xc6ef372f, 0xe94f82be, - 0x54ff53a5, 0xf1d36f1c, - 0x10e527fa, 0xde682d1d, - 0xb05688c2, 0xb3e6c1fd - }; - - /* - * - * S-box data - * - */ - private static final int SBOX1_1110[] = { - 0x70707000, 0x82828200, 0x2c2c2c00, 0xececec00, 0xb3b3b300, 0x27272700, - 0xc0c0c000, 0xe5e5e500, 0xe4e4e400, 0x85858500, 0x57575700, 0x35353500, - 0xeaeaea00, 0x0c0c0c00, 0xaeaeae00, 0x41414100, 0x23232300, 0xefefef00, - 0x6b6b6b00, 0x93939300, 0x45454500, 0x19191900, 0xa5a5a500, 0x21212100, - 0xededed00, 0x0e0e0e00, 0x4f4f4f00, 0x4e4e4e00, 0x1d1d1d00, 0x65656500, - 0x92929200, 0xbdbdbd00, 0x86868600, 0xb8b8b800, 0xafafaf00, 0x8f8f8f00, - 0x7c7c7c00, 0xebebeb00, 0x1f1f1f00, 0xcecece00, 0x3e3e3e00, 0x30303000, - 0xdcdcdc00, 0x5f5f5f00, 0x5e5e5e00, 0xc5c5c500, 0x0b0b0b00, 0x1a1a1a00, - 0xa6a6a600, 0xe1e1e100, 0x39393900, 0xcacaca00, 0xd5d5d500, 0x47474700, - 0x5d5d5d00, 0x3d3d3d00, 0xd9d9d900, 0x01010100, 0x5a5a5a00, 0xd6d6d600, - 0x51515100, 0x56565600, 0x6c6c6c00, 0x4d4d4d00, 0x8b8b8b00, 0x0d0d0d00, - 0x9a9a9a00, 0x66666600, 0xfbfbfb00, 0xcccccc00, 0xb0b0b000, 0x2d2d2d00, - 0x74747400, 0x12121200, 0x2b2b2b00, 0x20202000, 0xf0f0f000, 0xb1b1b100, - 0x84848400, 0x99999900, 0xdfdfdf00, 0x4c4c4c00, 0xcbcbcb00, 0xc2c2c200, - 0x34343400, 0x7e7e7e00, 0x76767600, 0x05050500, 0x6d6d6d00, 0xb7b7b700, - 0xa9a9a900, 0x31313100, 0xd1d1d100, 0x17171700, 0x04040400, 0xd7d7d700, - 0x14141400, 0x58585800, 0x3a3a3a00, 0x61616100, 0xdedede00, 0x1b1b1b00, - 0x11111100, 0x1c1c1c00, 0x32323200, 0x0f0f0f00, 0x9c9c9c00, 0x16161600, - 0x53535300, 0x18181800, 0xf2f2f200, 0x22222200, 0xfefefe00, 0x44444400, - 0xcfcfcf00, 0xb2b2b200, 0xc3c3c300, 0xb5b5b500, 0x7a7a7a00, 0x91919100, - 0x24242400, 0x08080800, 0xe8e8e800, 0xa8a8a800, 0x60606000, 0xfcfcfc00, - 0x69696900, 0x50505000, 0xaaaaaa00, 0xd0d0d000, 0xa0a0a000, 0x7d7d7d00, - 0xa1a1a100, 0x89898900, 0x62626200, 0x97979700, 0x54545400, 0x5b5b5b00, - 0x1e1e1e00, 0x95959500, 0xe0e0e000, 0xffffff00, 0x64646400, 0xd2d2d200, - 0x10101000, 0xc4c4c400, 0x00000000, 0x48484800, 0xa3a3a300, 0xf7f7f700, - 0x75757500, 0xdbdbdb00, 0x8a8a8a00, 0x03030300, 0xe6e6e600, 0xdadada00, - 0x09090900, 0x3f3f3f00, 0xdddddd00, 0x94949400, 0x87878700, 0x5c5c5c00, - 0x83838300, 0x02020200, 0xcdcdcd00, 0x4a4a4a00, 0x90909000, 0x33333300, - 0x73737300, 0x67676700, 0xf6f6f600, 0xf3f3f300, 0x9d9d9d00, 0x7f7f7f00, - 0xbfbfbf00, 0xe2e2e200, 0x52525200, 0x9b9b9b00, 0xd8d8d800, 0x26262600, - 0xc8c8c800, 0x37373700, 0xc6c6c600, 0x3b3b3b00, 0x81818100, 0x96969600, - 0x6f6f6f00, 0x4b4b4b00, 0x13131300, 0xbebebe00, 0x63636300, 0x2e2e2e00, - 0xe9e9e900, 0x79797900, 0xa7a7a700, 0x8c8c8c00, 0x9f9f9f00, 0x6e6e6e00, - 0xbcbcbc00, 0x8e8e8e00, 0x29292900, 0xf5f5f500, 0xf9f9f900, 0xb6b6b600, - 0x2f2f2f00, 0xfdfdfd00, 0xb4b4b400, 0x59595900, 0x78787800, 0x98989800, - 0x06060600, 0x6a6a6a00, 0xe7e7e700, 0x46464600, 0x71717100, 0xbababa00, - 0xd4d4d400, 0x25252500, 0xababab00, 0x42424200, 0x88888800, 0xa2a2a200, - 0x8d8d8d00, 0xfafafa00, 0x72727200, 0x07070700, 0xb9b9b900, 0x55555500, - 0xf8f8f800, 0xeeeeee00, 0xacacac00, 0x0a0a0a00, 0x36363600, 0x49494900, - 0x2a2a2a00, 0x68686800, 0x3c3c3c00, 0x38383800, 0xf1f1f100, 0xa4a4a400, - 0x40404000, 0x28282800, 0xd3d3d300, 0x7b7b7b00, 0xbbbbbb00, 0xc9c9c900, - 0x43434300, 0xc1c1c100, 0x15151500, 0xe3e3e300, 0xadadad00, 0xf4f4f400, - 0x77777700, 0xc7c7c700, 0x80808000, 0x9e9e9e00 - }; - - private static final int SBOX4_4404[] = { - 0x70700070, 0x2c2c002c, 0xb3b300b3, 0xc0c000c0, 0xe4e400e4, 0x57570057, - 0xeaea00ea, 0xaeae00ae, 0x23230023, 0x6b6b006b, 0x45450045, 0xa5a500a5, - 0xeded00ed, 0x4f4f004f, 0x1d1d001d, 0x92920092, 0x86860086, 0xafaf00af, - 0x7c7c007c, 0x1f1f001f, 0x3e3e003e, 0xdcdc00dc, 0x5e5e005e, 0x0b0b000b, - 0xa6a600a6, 0x39390039, 0xd5d500d5, 0x5d5d005d, 0xd9d900d9, 0x5a5a005a, - 0x51510051, 0x6c6c006c, 0x8b8b008b, 0x9a9a009a, 0xfbfb00fb, 0xb0b000b0, - 0x74740074, 0x2b2b002b, 0xf0f000f0, 0x84840084, 0xdfdf00df, 0xcbcb00cb, - 0x34340034, 0x76760076, 0x6d6d006d, 0xa9a900a9, 0xd1d100d1, 0x04040004, - 0x14140014, 0x3a3a003a, 0xdede00de, 0x11110011, 0x32320032, 0x9c9c009c, - 0x53530053, 0xf2f200f2, 0xfefe00fe, 0xcfcf00cf, 0xc3c300c3, 0x7a7a007a, - 0x24240024, 0xe8e800e8, 0x60600060, 0x69690069, 0xaaaa00aa, 0xa0a000a0, - 0xa1a100a1, 0x62620062, 0x54540054, 0x1e1e001e, 0xe0e000e0, 0x64640064, - 0x10100010, 0x00000000, 0xa3a300a3, 0x75750075, 0x8a8a008a, 0xe6e600e6, - 0x09090009, 0xdddd00dd, 0x87870087, 0x83830083, 0xcdcd00cd, 0x90900090, - 0x73730073, 0xf6f600f6, 0x9d9d009d, 0xbfbf00bf, 0x52520052, 0xd8d800d8, - 0xc8c800c8, 0xc6c600c6, 0x81810081, 0x6f6f006f, 0x13130013, 0x63630063, - 0xe9e900e9, 0xa7a700a7, 0x9f9f009f, 0xbcbc00bc, 0x29290029, 0xf9f900f9, - 0x2f2f002f, 0xb4b400b4, 0x78780078, 0x06060006, 0xe7e700e7, 0x71710071, - 0xd4d400d4, 0xabab00ab, 0x88880088, 0x8d8d008d, 0x72720072, 0xb9b900b9, - 0xf8f800f8, 0xacac00ac, 0x36360036, 0x2a2a002a, 0x3c3c003c, 0xf1f100f1, - 0x40400040, 0xd3d300d3, 0xbbbb00bb, 0x43430043, 0x15150015, 0xadad00ad, - 0x77770077, 0x80800080, 0x82820082, 0xecec00ec, 0x27270027, 0xe5e500e5, - 0x85850085, 0x35350035, 0x0c0c000c, 0x41410041, 0xefef00ef, 0x93930093, - 0x19190019, 0x21210021, 0x0e0e000e, 0x4e4e004e, 0x65650065, 0xbdbd00bd, - 0xb8b800b8, 0x8f8f008f, 0xebeb00eb, 0xcece00ce, 0x30300030, 0x5f5f005f, - 0xc5c500c5, 0x1a1a001a, 0xe1e100e1, 0xcaca00ca, 0x47470047, 0x3d3d003d, - 0x01010001, 0xd6d600d6, 0x56560056, 0x4d4d004d, 0x0d0d000d, 0x66660066, - 0xcccc00cc, 0x2d2d002d, 0x12120012, 0x20200020, 0xb1b100b1, 0x99990099, - 0x4c4c004c, 0xc2c200c2, 0x7e7e007e, 0x05050005, 0xb7b700b7, 0x31310031, - 0x17170017, 0xd7d700d7, 0x58580058, 0x61610061, 0x1b1b001b, 0x1c1c001c, - 0x0f0f000f, 0x16160016, 0x18180018, 0x22220022, 0x44440044, 0xb2b200b2, - 0xb5b500b5, 0x91910091, 0x08080008, 0xa8a800a8, 0xfcfc00fc, 0x50500050, - 0xd0d000d0, 0x7d7d007d, 0x89890089, 0x97970097, 0x5b5b005b, 0x95950095, - 0xffff00ff, 0xd2d200d2, 0xc4c400c4, 0x48480048, 0xf7f700f7, 0xdbdb00db, - 0x03030003, 0xdada00da, 0x3f3f003f, 0x94940094, 0x5c5c005c, 0x02020002, - 0x4a4a004a, 0x33330033, 0x67670067, 0xf3f300f3, 0x7f7f007f, 0xe2e200e2, - 0x9b9b009b, 0x26260026, 0x37370037, 0x3b3b003b, 0x96960096, 0x4b4b004b, - 0xbebe00be, 0x2e2e002e, 0x79790079, 0x8c8c008c, 0x6e6e006e, 0x8e8e008e, - 0xf5f500f5, 0xb6b600b6, 0xfdfd00fd, 0x59590059, 0x98980098, 0x6a6a006a, - 0x46460046, 0xbaba00ba, 0x25250025, 0x42420042, 0xa2a200a2, 0xfafa00fa, - 0x07070007, 0x55550055, 0xeeee00ee, 0x0a0a000a, 0x49490049, 0x68680068, - 0x38380038, 0xa4a400a4, 0x28280028, 0x7b7b007b, 0xc9c900c9, 0xc1c100c1, - 0xe3e300e3, 0xf4f400f4, 0xc7c700c7, 0x9e9e009e - }; - - private static final int SBOX2_0222[] = { - 0x00e0e0e0, 0x00050505, 0x00585858, 0x00d9d9d9, 0x00676767, 0x004e4e4e, - 0x00818181, 0x00cbcbcb, 0x00c9c9c9, 0x000b0b0b, 0x00aeaeae, 0x006a6a6a, - 0x00d5d5d5, 0x00181818, 0x005d5d5d, 0x00828282, 0x00464646, 0x00dfdfdf, - 0x00d6d6d6, 0x00272727, 0x008a8a8a, 0x00323232, 0x004b4b4b, 0x00424242, - 0x00dbdbdb, 0x001c1c1c, 0x009e9e9e, 0x009c9c9c, 0x003a3a3a, 0x00cacaca, - 0x00252525, 0x007b7b7b, 0x000d0d0d, 0x00717171, 0x005f5f5f, 0x001f1f1f, - 0x00f8f8f8, 0x00d7d7d7, 0x003e3e3e, 0x009d9d9d, 0x007c7c7c, 0x00606060, - 0x00b9b9b9, 0x00bebebe, 0x00bcbcbc, 0x008b8b8b, 0x00161616, 0x00343434, - 0x004d4d4d, 0x00c3c3c3, 0x00727272, 0x00959595, 0x00ababab, 0x008e8e8e, - 0x00bababa, 0x007a7a7a, 0x00b3b3b3, 0x00020202, 0x00b4b4b4, 0x00adadad, - 0x00a2a2a2, 0x00acacac, 0x00d8d8d8, 0x009a9a9a, 0x00171717, 0x001a1a1a, - 0x00353535, 0x00cccccc, 0x00f7f7f7, 0x00999999, 0x00616161, 0x005a5a5a, - 0x00e8e8e8, 0x00242424, 0x00565656, 0x00404040, 0x00e1e1e1, 0x00636363, - 0x00090909, 0x00333333, 0x00bfbfbf, 0x00989898, 0x00979797, 0x00858585, - 0x00686868, 0x00fcfcfc, 0x00ececec, 0x000a0a0a, 0x00dadada, 0x006f6f6f, - 0x00535353, 0x00626262, 0x00a3a3a3, 0x002e2e2e, 0x00080808, 0x00afafaf, - 0x00282828, 0x00b0b0b0, 0x00747474, 0x00c2c2c2, 0x00bdbdbd, 0x00363636, - 0x00222222, 0x00383838, 0x00646464, 0x001e1e1e, 0x00393939, 0x002c2c2c, - 0x00a6a6a6, 0x00303030, 0x00e5e5e5, 0x00444444, 0x00fdfdfd, 0x00888888, - 0x009f9f9f, 0x00656565, 0x00878787, 0x006b6b6b, 0x00f4f4f4, 0x00232323, - 0x00484848, 0x00101010, 0x00d1d1d1, 0x00515151, 0x00c0c0c0, 0x00f9f9f9, - 0x00d2d2d2, 0x00a0a0a0, 0x00555555, 0x00a1a1a1, 0x00414141, 0x00fafafa, - 0x00434343, 0x00131313, 0x00c4c4c4, 0x002f2f2f, 0x00a8a8a8, 0x00b6b6b6, - 0x003c3c3c, 0x002b2b2b, 0x00c1c1c1, 0x00ffffff, 0x00c8c8c8, 0x00a5a5a5, - 0x00202020, 0x00898989, 0x00000000, 0x00909090, 0x00474747, 0x00efefef, - 0x00eaeaea, 0x00b7b7b7, 0x00151515, 0x00060606, 0x00cdcdcd, 0x00b5b5b5, - 0x00121212, 0x007e7e7e, 0x00bbbbbb, 0x00292929, 0x000f0f0f, 0x00b8b8b8, - 0x00070707, 0x00040404, 0x009b9b9b, 0x00949494, 0x00212121, 0x00666666, - 0x00e6e6e6, 0x00cecece, 0x00ededed, 0x00e7e7e7, 0x003b3b3b, 0x00fefefe, - 0x007f7f7f, 0x00c5c5c5, 0x00a4a4a4, 0x00373737, 0x00b1b1b1, 0x004c4c4c, - 0x00919191, 0x006e6e6e, 0x008d8d8d, 0x00767676, 0x00030303, 0x002d2d2d, - 0x00dedede, 0x00969696, 0x00262626, 0x007d7d7d, 0x00c6c6c6, 0x005c5c5c, - 0x00d3d3d3, 0x00f2f2f2, 0x004f4f4f, 0x00191919, 0x003f3f3f, 0x00dcdcdc, - 0x00797979, 0x001d1d1d, 0x00525252, 0x00ebebeb, 0x00f3f3f3, 0x006d6d6d, - 0x005e5e5e, 0x00fbfbfb, 0x00696969, 0x00b2b2b2, 0x00f0f0f0, 0x00313131, - 0x000c0c0c, 0x00d4d4d4, 0x00cfcfcf, 0x008c8c8c, 0x00e2e2e2, 0x00757575, - 0x00a9a9a9, 0x004a4a4a, 0x00575757, 0x00848484, 0x00111111, 0x00454545, - 0x001b1b1b, 0x00f5f5f5, 0x00e4e4e4, 0x000e0e0e, 0x00737373, 0x00aaaaaa, - 0x00f1f1f1, 0x00dddddd, 0x00595959, 0x00141414, 0x006c6c6c, 0x00929292, - 0x00545454, 0x00d0d0d0, 0x00787878, 0x00707070, 0x00e3e3e3, 0x00494949, - 0x00808080, 0x00505050, 0x00a7a7a7, 0x00f6f6f6, 0x00777777, 0x00939393, - 0x00868686, 0x00838383, 0x002a2a2a, 0x00c7c7c7, 0x005b5b5b, 0x00e9e9e9, - 0x00eeeeee, 0x008f8f8f, 0x00010101, 0x003d3d3d - }; - - private static final int SBOX3_3033[] = { - 0x38003838, 0x41004141, 0x16001616, 0x76007676, 0xd900d9d9, 0x93009393, - 0x60006060, 0xf200f2f2, 0x72007272, 0xc200c2c2, 0xab00abab, 0x9a009a9a, - 0x75007575, 0x06000606, 0x57005757, 0xa000a0a0, 0x91009191, 0xf700f7f7, - 0xb500b5b5, 0xc900c9c9, 0xa200a2a2, 0x8c008c8c, 0xd200d2d2, 0x90009090, - 0xf600f6f6, 0x07000707, 0xa700a7a7, 0x27002727, 0x8e008e8e, 0xb200b2b2, - 0x49004949, 0xde00dede, 0x43004343, 0x5c005c5c, 0xd700d7d7, 0xc700c7c7, - 0x3e003e3e, 0xf500f5f5, 0x8f008f8f, 0x67006767, 0x1f001f1f, 0x18001818, - 0x6e006e6e, 0xaf00afaf, 0x2f002f2f, 0xe200e2e2, 0x85008585, 0x0d000d0d, - 0x53005353, 0xf000f0f0, 0x9c009c9c, 0x65006565, 0xea00eaea, 0xa300a3a3, - 0xae00aeae, 0x9e009e9e, 0xec00ecec, 0x80008080, 0x2d002d2d, 0x6b006b6b, - 0xa800a8a8, 0x2b002b2b, 0x36003636, 0xa600a6a6, 0xc500c5c5, 0x86008686, - 0x4d004d4d, 0x33003333, 0xfd00fdfd, 0x66006666, 0x58005858, 0x96009696, - 0x3a003a3a, 0x09000909, 0x95009595, 0x10001010, 0x78007878, 0xd800d8d8, - 0x42004242, 0xcc00cccc, 0xef00efef, 0x26002626, 0xe500e5e5, 0x61006161, - 0x1a001a1a, 0x3f003f3f, 0x3b003b3b, 0x82008282, 0xb600b6b6, 0xdb00dbdb, - 0xd400d4d4, 0x98009898, 0xe800e8e8, 0x8b008b8b, 0x02000202, 0xeb00ebeb, - 0x0a000a0a, 0x2c002c2c, 0x1d001d1d, 0xb000b0b0, 0x6f006f6f, 0x8d008d8d, - 0x88008888, 0x0e000e0e, 0x19001919, 0x87008787, 0x4e004e4e, 0x0b000b0b, - 0xa900a9a9, 0x0c000c0c, 0x79007979, 0x11001111, 0x7f007f7f, 0x22002222, - 0xe700e7e7, 0x59005959, 0xe100e1e1, 0xda00dada, 0x3d003d3d, 0xc800c8c8, - 0x12001212, 0x04000404, 0x74007474, 0x54005454, 0x30003030, 0x7e007e7e, - 0xb400b4b4, 0x28002828, 0x55005555, 0x68006868, 0x50005050, 0xbe00bebe, - 0xd000d0d0, 0xc400c4c4, 0x31003131, 0xcb00cbcb, 0x2a002a2a, 0xad00adad, - 0x0f000f0f, 0xca00caca, 0x70007070, 0xff00ffff, 0x32003232, 0x69006969, - 0x08000808, 0x62006262, 0x00000000, 0x24002424, 0xd100d1d1, 0xfb00fbfb, - 0xba00baba, 0xed00eded, 0x45004545, 0x81008181, 0x73007373, 0x6d006d6d, - 0x84008484, 0x9f009f9f, 0xee00eeee, 0x4a004a4a, 0xc300c3c3, 0x2e002e2e, - 0xc100c1c1, 0x01000101, 0xe600e6e6, 0x25002525, 0x48004848, 0x99009999, - 0xb900b9b9, 0xb300b3b3, 0x7b007b7b, 0xf900f9f9, 0xce00cece, 0xbf00bfbf, - 0xdf00dfdf, 0x71007171, 0x29002929, 0xcd00cdcd, 0x6c006c6c, 0x13001313, - 0x64006464, 0x9b009b9b, 0x63006363, 0x9d009d9d, 0xc000c0c0, 0x4b004b4b, - 0xb700b7b7, 0xa500a5a5, 0x89008989, 0x5f005f5f, 0xb100b1b1, 0x17001717, - 0xf400f4f4, 0xbc00bcbc, 0xd300d3d3, 0x46004646, 0xcf00cfcf, 0x37003737, - 0x5e005e5e, 0x47004747, 0x94009494, 0xfa00fafa, 0xfc00fcfc, 0x5b005b5b, - 0x97009797, 0xfe00fefe, 0x5a005a5a, 0xac00acac, 0x3c003c3c, 0x4c004c4c, - 0x03000303, 0x35003535, 0xf300f3f3, 0x23002323, 0xb800b8b8, 0x5d005d5d, - 0x6a006a6a, 0x92009292, 0xd500d5d5, 0x21002121, 0x44004444, 0x51005151, - 0xc600c6c6, 0x7d007d7d, 0x39003939, 0x83008383, 0xdc00dcdc, 0xaa00aaaa, - 0x7c007c7c, 0x77007777, 0x56005656, 0x05000505, 0x1b001b1b, 0xa400a4a4, - 0x15001515, 0x34003434, 0x1e001e1e, 0x1c001c1c, 0xf800f8f8, 0x52005252, - 0x20002020, 0x14001414, 0xe900e9e9, 0xbd00bdbd, 0xdd00dddd, 0xe400e4e4, - 0xa100a1a1, 0xe000e0e0, 0x8a008a8a, 0xf100f1f1, 0xd600d6d6, 0x7a007a7a, - 0xbb00bbbb, 0xe300e3e3, 0x40004040, 0x4f004f4f - }; - - private static int rightRotate(int x, int s) - { - return (((x) >>> (s)) + ((x) << (32 - s))); - } - - private static int leftRotate(int x, int s) - { - return ((x) << (s)) + ((x) >>> (32 - s)); - } - - private static void roldq(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[0 + ooff] = (ki[0 + ioff] << rot) | (ki[1 + ioff] >>> (32 - rot)); - ko[1 + ooff] = (ki[1 + ioff] << rot) | (ki[2 + ioff] >>> (32 - rot)); - ko[2 + ooff] = (ki[2 + ioff] << rot) | (ki[3 + ioff] >>> (32 - rot)); - ko[3 + ooff] = (ki[3 + ioff] << rot) | (ki[0 + ioff] >>> (32 - rot)); - ki[0 + ioff] = ko[0 + ooff]; - ki[1 + ioff] = ko[1 + ooff]; - ki[2 + ioff] = ko[2 + ooff]; - ki[3 + ioff] = ko[3 + ooff]; - } - - private static void decroldq(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[2 + ooff] = (ki[0 + ioff] << rot) | (ki[1 + ioff] >>> (32 - rot)); - ko[3 + ooff] = (ki[1 + ioff] << rot) | (ki[2 + ioff] >>> (32 - rot)); - ko[0 + ooff] = (ki[2 + ioff] << rot) | (ki[3 + ioff] >>> (32 - rot)); - ko[1 + ooff] = (ki[3 + ioff] << rot) | (ki[0 + ioff] >>> (32 - rot)); - ki[0 + ioff] = ko[2 + ooff]; - ki[1 + ioff] = ko[3 + ooff]; - ki[2 + ioff] = ko[0 + ooff]; - ki[3 + ioff] = ko[1 + ooff]; - } - - private static void roldqo32(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[0 + ooff] = (ki[1 + ioff] << (rot - 32)) | (ki[2 + ioff] >>> (64 - rot)); - ko[1 + ooff] = (ki[2 + ioff] << (rot - 32)) | (ki[3 + ioff] >>> (64 - rot)); - ko[2 + ooff] = (ki[3 + ioff] << (rot - 32)) | (ki[0 + ioff] >>> (64 - rot)); - ko[3 + ooff] = (ki[0 + ioff] << (rot - 32)) | (ki[1 + ioff] >>> (64 - rot)); - ki[0 + ioff] = ko[0 + ooff]; - ki[1 + ioff] = ko[1 + ooff]; - ki[2 + ioff] = ko[2 + ooff]; - ki[3 + ioff] = ko[3 + ooff]; - } - - private static void decroldqo32(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[2 + ooff] = (ki[1 + ioff] << (rot - 32)) | (ki[2 + ioff] >>> (64 - rot)); - ko[3 + ooff] = (ki[2 + ioff] << (rot - 32)) | (ki[3 + ioff] >>> (64 - rot)); - ko[0 + ooff] = (ki[3 + ioff] << (rot - 32)) | (ki[0 + ioff] >>> (64 - rot)); - ko[1 + ooff] = (ki[0 + ioff] << (rot - 32)) | (ki[1 + ioff] >>> (64 - rot)); - ki[0 + ioff] = ko[2 + ooff]; - ki[1 + ioff] = ko[3 + ooff]; - ki[2 + ioff] = ko[0 + ooff]; - ki[3 + ioff] = ko[1 + ooff]; - } - - private int bytes2int(byte[] src, int offset) - { - int word = 0; - - for (int i = 0; i < 4; i++) - { - word = (word << 8) + (src[i + offset] & MASK8); - } - return word; - } - - private void int2bytes(int word, byte[] dst, int offset) - { - for (int i = 0; i < 4; i++) - { - dst[(3 - i) + offset] = (byte)word; - word >>>= 8; - } - } - - private void camelliaF2(int[] s, int[] skey, int keyoff) - { - int t1, t2, u, v; - - t1 = s[0] ^ skey[0 + keyoff]; - u = SBOX4_4404[t1 & MASK8]; - u ^= SBOX3_3033[(t1 >>> 8) & MASK8]; - u ^= SBOX2_0222[(t1 >>> 16) & MASK8]; - u ^= SBOX1_1110[(t1 >>> 24) & MASK8]; - t2 = s[1] ^ skey[1 + keyoff]; - v = SBOX1_1110[t2 & MASK8]; - v ^= SBOX4_4404[(t2 >>> 8) & MASK8]; - v ^= SBOX3_3033[(t2 >>> 16) & MASK8]; - v ^= SBOX2_0222[(t2 >>> 24) & MASK8]; - - s[2] ^= u ^ v; - s[3] ^= u ^ v ^ rightRotate(u, 8); - - t1 = s[2] ^ skey[2 + keyoff]; - u = SBOX4_4404[t1 & MASK8]; - u ^= SBOX3_3033[(t1 >>> 8) & MASK8]; - u ^= SBOX2_0222[(t1 >>> 16) & MASK8]; - u ^= SBOX1_1110[(t1 >>> 24) & MASK8]; - t2 = s[3] ^ skey[3 + keyoff]; - v = SBOX1_1110[t2 & MASK8]; - v ^= SBOX4_4404[(t2 >>> 8) & MASK8]; - v ^= SBOX3_3033[(t2 >>> 16) & MASK8]; - v ^= SBOX2_0222[(t2 >>> 24) & MASK8]; - - s[0] ^= u ^ v; - s[1] ^= u ^ v ^ rightRotate(u, 8); - } - - private void camelliaFLs(int[] s, int[] fkey, int keyoff) - { - - s[1] ^= leftRotate(s[0] & fkey[0 + keyoff], 1); - s[0] ^= fkey[1 + keyoff] | s[1]; - - s[2] ^= fkey[3 + keyoff] | s[3]; - s[3] ^= leftRotate(fkey[2 + keyoff] & s[2], 1); - } - - private void setKey(boolean forEncryption, byte[] key) - { - int[] k = new int[8]; - int[] ka = new int[4]; - int[] kb = new int[4]; - int[] t = new int[4]; - - switch (key.length) - { - case 16: - _keyIs128 = true; - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = k[5] = k[6] = k[7] = 0; - break; - case 24: - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = bytes2int(key, 16); - k[5] = bytes2int(key, 20); - k[6] = ~k[4]; - k[7] = ~k[5]; - _keyIs128 = false; - break; - case 32: - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = bytes2int(key, 16); - k[5] = bytes2int(key, 20); - k[6] = bytes2int(key, 24); - k[7] = bytes2int(key, 28); - _keyIs128 = false; - break; - default: - throw new - IllegalArgumentException("key sizes are only 16/24/32 bytes."); - } - - for (int i = 0; i < 4; i++) - { - ka[i] = k[i] ^ k[i + 4]; - } - /* compute KA */ - camelliaF2(ka, SIGMA, 0); - for (int i = 0; i < 4; i++) - { - ka[i] ^= k[i]; - } - camelliaF2(ka, SIGMA, 4); - - if (_keyIs128) - { - if (forEncryption) - { - /* KL dependant keys */ - kw[0] = k[0]; - kw[1] = k[1]; - kw[2] = k[2]; - kw[3] = k[3]; - roldq(15, k, 0, subkey, 4); - roldq(30, k, 0, subkey, 12); - roldq(15, k, 0, t, 0); - subkey[18] = t[2]; - subkey[19] = t[3]; - roldq(17, k, 0, ke, 4); - roldq(17, k, 0, subkey, 24); - roldq(17, k, 0, subkey, 32); - /* KA dependant keys */ - subkey[0] = ka[0]; - subkey[1] = ka[1]; - subkey[2] = ka[2]; - subkey[3] = ka[3]; - roldq(15, ka, 0, subkey, 8); - roldq(15, ka, 0, ke, 0); - roldq(15, ka, 0, t, 0); - subkey[16] = t[0]; - subkey[17] = t[1]; - roldq(15, ka, 0, subkey, 20); - roldqo32(34, ka, 0, subkey, 28); - roldq(17, ka, 0, kw, 4); - - } - else - { // decryption - /* KL dependant keys */ - kw[4] = k[0]; - kw[5] = k[1]; - kw[6] = k[2]; - kw[7] = k[3]; - decroldq(15, k, 0, subkey, 28); - decroldq(30, k, 0, subkey, 20); - decroldq(15, k, 0, t, 0); - subkey[16] = t[0]; - subkey[17] = t[1]; - decroldq(17, k, 0, ke, 0); - decroldq(17, k, 0, subkey, 8); - decroldq(17, k, 0, subkey, 0); - /* KA dependant keys */ - subkey[34] = ka[0]; - subkey[35] = ka[1]; - subkey[32] = ka[2]; - subkey[33] = ka[3]; - decroldq(15, ka, 0, subkey, 24); - decroldq(15, ka, 0, ke, 4); - decroldq(15, ka, 0, t, 0); - subkey[18] = t[2]; - subkey[19] = t[3]; - decroldq(15, ka, 0, subkey, 12); - decroldqo32(34, ka, 0, subkey, 4); - roldq(17, ka, 0, kw, 0); - } - } - else - { // 192bit or 256bit - /* compute KB */ - for (int i = 0; i < 4; i++) - { - kb[i] = ka[i] ^ k[i + 4]; - } - camelliaF2(kb, SIGMA, 8); - - if (forEncryption) - { - /* KL dependant keys */ - kw[0] = k[0]; - kw[1] = k[1]; - kw[2] = k[2]; - kw[3] = k[3]; - roldqo32(45, k, 0, subkey, 16); - roldq(15, k, 0, ke, 4); - roldq(17, k, 0, subkey, 32); - roldqo32(34, k, 0, subkey, 44); - /* KR dependant keys */ - roldq(15, k, 4, subkey, 4); - roldq(15, k, 4, ke, 0); - roldq(30, k, 4, subkey, 24); - roldqo32(34, k, 4, subkey, 36); - /* KA dependant keys */ - roldq(15, ka, 0, subkey, 8); - roldq(30, ka, 0, subkey, 20); - /* 32bit rotation */ - ke[8] = ka[1]; - ke[9] = ka[2]; - ke[10] = ka[3]; - ke[11] = ka[0]; - roldqo32(49, ka, 0, subkey, 40); - - /* KB dependant keys */ - subkey[0] = kb[0]; - subkey[1] = kb[1]; - subkey[2] = kb[2]; - subkey[3] = kb[3]; - roldq(30, kb, 0, subkey, 12); - roldq(30, kb, 0, subkey, 28); - roldqo32(51, kb, 0, kw, 4); - - } - else - { // decryption - /* KL dependant keys */ - kw[4] = k[0]; - kw[5] = k[1]; - kw[6] = k[2]; - kw[7] = k[3]; - decroldqo32(45, k, 0, subkey, 28); - decroldq(15, k, 0, ke, 4); - decroldq(17, k, 0, subkey, 12); - decroldqo32(34, k, 0, subkey, 0); - /* KR dependant keys */ - decroldq(15, k, 4, subkey, 40); - decroldq(15, k, 4, ke, 8); - decroldq(30, k, 4, subkey, 20); - decroldqo32(34, k, 4, subkey, 8); - /* KA dependant keys */ - decroldq(15, ka, 0, subkey, 36); - decroldq(30, ka, 0, subkey, 24); - /* 32bit rotation */ - ke[2] = ka[1]; - ke[3] = ka[2]; - ke[0] = ka[3]; - ke[1] = ka[0]; - decroldqo32(49, ka, 0, subkey, 4); - - /* KB dependant keys */ - subkey[46] = kb[0]; - subkey[47] = kb[1]; - subkey[44] = kb[2]; - subkey[45] = kb[3]; - decroldq(30, kb, 0, subkey, 32); - decroldq(30, kb, 0, subkey, 16); - roldqo32(51, kb, 0, kw, 0); - } - } - } - - private int processBlock128(byte[] in, int inOff, - byte[] out, int outOff) - { - for (int i = 0; i < 4; i++) - { - state[i] = bytes2int(in, inOff + (i * 4)); - state[i] ^= kw[i]; - } - - camelliaF2(state, subkey, 0); - camelliaF2(state, subkey, 4); - camelliaF2(state, subkey, 8); - camelliaFLs(state, ke, 0); - camelliaF2(state, subkey, 12); - camelliaF2(state, subkey, 16); - camelliaF2(state, subkey, 20); - camelliaFLs(state, ke, 4); - camelliaF2(state, subkey, 24); - camelliaF2(state, subkey, 28); - camelliaF2(state, subkey, 32); - - state[2] ^= kw[4]; - state[3] ^= kw[5]; - state[0] ^= kw[6]; - state[1] ^= kw[7]; - - int2bytes(state[2], out, outOff); - int2bytes(state[3], out, outOff + 4); - int2bytes(state[0], out, outOff + 8); - int2bytes(state[1], out, outOff + 12); - - return BLOCK_SIZE; - } - - private int processBlock192or256(byte[] in, int inOff, - byte[] out, int outOff) - { - for (int i = 0; i < 4; i++) - { - state[i] = bytes2int(in, inOff + (i * 4)); - state[i] ^= kw[i]; - } - - camelliaF2(state, subkey, 0); - camelliaF2(state, subkey, 4); - camelliaF2(state, subkey, 8); - camelliaFLs(state, ke, 0); - camelliaF2(state, subkey, 12); - camelliaF2(state, subkey, 16); - camelliaF2(state, subkey, 20); - camelliaFLs(state, ke, 4); - camelliaF2(state, subkey, 24); - camelliaF2(state, subkey, 28); - camelliaF2(state, subkey, 32); - camelliaFLs(state, ke, 8); - camelliaF2(state, subkey, 36); - camelliaF2(state, subkey, 40); - camelliaF2(state, subkey, 44); - - state[2] ^= kw[4]; - state[3] ^= kw[5]; - state[0] ^= kw[6]; - state[1] ^= kw[7]; - - int2bytes(state[2], out, outOff); - int2bytes(state[3], out, outOff + 4); - int2bytes(state[0], out, outOff + 8); - int2bytes(state[1], out, outOff + 12); - return BLOCK_SIZE; - } - - public CamelliaEngine() - { - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("only simple KeyParameter expected."); - } - - setKey(forEncryption, ((KeyParameter)params).getKey()); - initialised = true; - } - - public String getAlgorithmName() - { - return "Camellia"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (!initialised) - { - throw new IllegalStateException("Camellia engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (_keyIs128) - { - return processBlock128(in, inOff, out, outOff); - } - else - { - return processBlock192or256(in, inOff, out, outOff); - } - } - - public void reset() - { - // nothing - - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaLightEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaLightEngine.java deleted file mode 100644 index bc8dea4a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaLightEngine.java +++ /dev/null @@ -1,592 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine. - */ - -public class CamelliaLightEngine - implements BlockCipher -{ - private static final int BLOCK_SIZE = 16; - private static final int MASK8 = 0xff; - private boolean initialized; - private boolean _keyis128; - - private int[] subkey = new int[24 * 4]; - private int[] kw = new int[4 * 2]; // for whitening - private int[] ke = new int[6 * 2]; // for FL and FL^(-1) - private int[] state = new int[4]; // for encryption and decryption - - private static final int SIGMA[] = { - 0xa09e667f, 0x3bcc908b, - 0xb67ae858, 0x4caa73b2, - 0xc6ef372f, 0xe94f82be, - 0x54ff53a5, 0xf1d36f1c, - 0x10e527fa, 0xde682d1d, - 0xb05688c2, 0xb3e6c1fd - }; - - /* - * - * S-box data - * - */ - private static final byte SBOX1[] = { - (byte)112, (byte)130, (byte)44, (byte)236, - (byte)179, (byte)39, (byte)192, (byte)229, - (byte)228, (byte)133, (byte)87, (byte)53, - (byte)234, (byte)12, (byte)174, (byte)65, - (byte)35, (byte)239, (byte)107, (byte)147, - (byte)69, (byte)25, (byte)165, (byte)33, - (byte)237, (byte)14, (byte)79, (byte)78, - (byte)29, (byte)101, (byte)146, (byte)189, - (byte)134, (byte)184, (byte)175, (byte)143, - (byte)124, (byte)235, (byte)31, (byte)206, - (byte)62, (byte)48, (byte)220, (byte)95, - (byte)94, (byte)197, (byte)11, (byte)26, - (byte)166, (byte)225, (byte)57, (byte)202, - (byte)213, (byte)71, (byte)93, (byte)61, - (byte)217, (byte)1, (byte)90, (byte)214, - (byte)81, (byte)86, (byte)108, (byte)77, - (byte)139, (byte)13, (byte)154, (byte)102, - (byte)251, (byte)204, (byte)176, (byte)45, - (byte)116, (byte)18, (byte)43, (byte)32, - (byte)240, (byte)177, (byte)132, (byte)153, - (byte)223, (byte)76, (byte)203, (byte)194, - (byte)52, (byte)126, (byte)118, (byte)5, - (byte)109, (byte)183, (byte)169, (byte)49, - (byte)209, (byte)23, (byte)4, (byte)215, - (byte)20, (byte)88, (byte)58, (byte)97, - (byte)222, (byte)27, (byte)17, (byte)28, - (byte)50, (byte)15, (byte)156, (byte)22, - (byte)83, (byte)24, (byte)242, (byte)34, - (byte)254, (byte)68, (byte)207, (byte)178, - (byte)195, (byte)181, (byte)122, (byte)145, - (byte)36, (byte)8, (byte)232, (byte)168, - (byte)96, (byte)252, (byte)105, (byte)80, - (byte)170, (byte)208, (byte)160, (byte)125, - (byte)161, (byte)137, (byte)98, (byte)151, - (byte)84, (byte)91, (byte)30, (byte)149, - (byte)224, (byte)255, (byte)100, (byte)210, - (byte)16, (byte)196, (byte)0, (byte)72, - (byte)163, (byte)247, (byte)117, (byte)219, - (byte)138, (byte)3, (byte)230, (byte)218, - (byte)9, (byte)63, (byte)221, (byte)148, - (byte)135, (byte)92, (byte)131, (byte)2, - (byte)205, (byte)74, (byte)144, (byte)51, - (byte)115, (byte)103, (byte)246, (byte)243, - (byte)157, (byte)127, (byte)191, (byte)226, - (byte)82, (byte)155, (byte)216, (byte)38, - (byte)200, (byte)55, (byte)198, (byte)59, - (byte)129, (byte)150, (byte)111, (byte)75, - (byte)19, (byte)190, (byte)99, (byte)46, - (byte)233, (byte)121, (byte)167, (byte)140, - (byte)159, (byte)110, (byte)188, (byte)142, - (byte)41, (byte)245, (byte)249, (byte)182, - (byte)47, (byte)253, (byte)180, (byte)89, - (byte)120, (byte)152, (byte)6, (byte)106, - (byte)231, (byte)70, (byte)113, (byte)186, - (byte)212, (byte)37, (byte)171, (byte)66, - (byte)136, (byte)162, (byte)141, (byte)250, - (byte)114, (byte)7, (byte)185, (byte)85, - (byte)248, (byte)238, (byte)172, (byte)10, - (byte)54, (byte)73, (byte)42, (byte)104, - (byte)60, (byte)56, (byte)241, (byte)164, - (byte)64, (byte)40, (byte)211, (byte)123, - (byte)187, (byte)201, (byte)67, (byte)193, - (byte)21, (byte)227, (byte)173, (byte)244, - (byte)119, (byte)199, (byte)128, (byte)158 - }; - - private static int rightRotate(int x, int s) - { - return (((x) >>> (s)) + ((x) << (32 - s))); - } - - private static int leftRotate(int x, int s) - { - return ((x) << (s)) + ((x) >>> (32 - s)); - } - - private static void roldq(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[0 + ooff] = (ki[0 + ioff] << rot) | (ki[1 + ioff] >>> (32 - rot)); - ko[1 + ooff] = (ki[1 + ioff] << rot) | (ki[2 + ioff] >>> (32 - rot)); - ko[2 + ooff] = (ki[2 + ioff] << rot) | (ki[3 + ioff] >>> (32 - rot)); - ko[3 + ooff] = (ki[3 + ioff] << rot) | (ki[0 + ioff] >>> (32 - rot)); - ki[0 + ioff] = ko[0 + ooff]; - ki[1 + ioff] = ko[1 + ooff]; - ki[2 + ioff] = ko[2 + ooff]; - ki[3 + ioff] = ko[3 + ooff]; - } - - private static void decroldq(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[2 + ooff] = (ki[0 + ioff] << rot) | (ki[1 + ioff] >>> (32 - rot)); - ko[3 + ooff] = (ki[1 + ioff] << rot) | (ki[2 + ioff] >>> (32 - rot)); - ko[0 + ooff] = (ki[2 + ioff] << rot) | (ki[3 + ioff] >>> (32 - rot)); - ko[1 + ooff] = (ki[3 + ioff] << rot) | (ki[0 + ioff] >>> (32 - rot)); - ki[0 + ioff] = ko[2 + ooff]; - ki[1 + ioff] = ko[3 + ooff]; - ki[2 + ioff] = ko[0 + ooff]; - ki[3 + ioff] = ko[1 + ooff]; - } - - private static void roldqo32(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[0 + ooff] = (ki[1 + ioff] << (rot - 32)) | (ki[2 + ioff] >>> (64 - rot)); - ko[1 + ooff] = (ki[2 + ioff] << (rot - 32)) | (ki[3 + ioff] >>> (64 - rot)); - ko[2 + ooff] = (ki[3 + ioff] << (rot - 32)) | (ki[0 + ioff] >>> (64 - rot)); - ko[3 + ooff] = (ki[0 + ioff] << (rot - 32)) | (ki[1 + ioff] >>> (64 - rot)); - ki[0 + ioff] = ko[0 + ooff]; - ki[1 + ioff] = ko[1 + ooff]; - ki[2 + ioff] = ko[2 + ooff]; - ki[3 + ioff] = ko[3 + ooff]; - } - - private static void decroldqo32(int rot, int[] ki, int ioff, - int[] ko, int ooff) - { - ko[2 + ooff] = (ki[1 + ioff] << (rot - 32)) | (ki[2 + ioff] >>> (64 - rot)); - ko[3 + ooff] = (ki[2 + ioff] << (rot - 32)) | (ki[3 + ioff] >>> (64 - rot)); - ko[0 + ooff] = (ki[3 + ioff] << (rot - 32)) | (ki[0 + ioff] >>> (64 - rot)); - ko[1 + ooff] = (ki[0 + ioff] << (rot - 32)) | (ki[1 + ioff] >>> (64 - rot)); - ki[0 + ioff] = ko[2 + ooff]; - ki[1 + ioff] = ko[3 + ooff]; - ki[2 + ioff] = ko[0 + ooff]; - ki[3 + ioff] = ko[1 + ooff]; - } - - private int bytes2int(byte[] src, int offset) - { - int word = 0; - - for (int i = 0; i < 4; i++) - { - word = (word << 8) + (src[i + offset] & MASK8); - } - return word; - } - - private void int2bytes(int word, byte[] dst, int offset) - { - for (int i = 0; i < 4; i++) - { - dst[(3 - i) + offset] = (byte)word; - word >>>= 8; - } - } - - private byte lRot8(byte v, int rot) - { - return (byte)((v << rot) | ((v & 0xff) >>> (8 - rot))); - } - - private int sbox2(int x) - { - return (lRot8(SBOX1[x], 1) & MASK8); - } - - private int sbox3(int x) - { - return (lRot8(SBOX1[x], 7) & MASK8); - } - - private int sbox4(int x) - { - return (SBOX1[((int)lRot8((byte)x, 1) & MASK8)] & MASK8); - } - - private void camelliaF2(int[] s, int[] skey, int keyoff) - { - int t1, t2, u, v; - - t1 = s[0] ^ skey[0 + keyoff]; - u = sbox4((t1 & MASK8)); - u |= (sbox3(((t1 >>> 8) & MASK8)) << 8); - u |= (sbox2(((t1 >>> 16) & MASK8)) << 16); - u |= ((int)(SBOX1[((t1 >>> 24) & MASK8)] & MASK8) << 24); - - t2 = s[1] ^ skey[1 + keyoff]; - v = (int)SBOX1[(t2 & MASK8)] & MASK8; - v |= (sbox4(((t2 >>> 8) & MASK8)) << 8); - v |= (sbox3(((t2 >>> 16) & MASK8)) << 16); - v |= (sbox2(((t2 >>> 24) & MASK8)) << 24); - - v = leftRotate(v, 8); - u ^= v; - v = leftRotate(v, 8) ^ u; - u = rightRotate(u, 8) ^ v; - s[2] ^= leftRotate(v, 16) ^ u; - s[3] ^= leftRotate(u, 8); - - t1 = s[2] ^ skey[2 + keyoff]; - u = sbox4((t1 & MASK8)); - u |= sbox3(((t1 >>> 8) & MASK8)) << 8; - u |= sbox2(((t1 >>> 16) & MASK8)) << 16; - u |= ((int)SBOX1[((t1 >>> 24) & MASK8)] & MASK8) << 24; - - t2 = s[3] ^ skey[3 + keyoff]; - v = ((int)SBOX1[(t2 & MASK8)] & MASK8); - v |= sbox4(((t2 >>> 8) & MASK8)) << 8; - v |= sbox3(((t2 >>> 16) & MASK8)) << 16; - v |= sbox2(((t2 >>> 24) & MASK8)) << 24; - - v = leftRotate(v, 8); - u ^= v; - v = leftRotate(v, 8) ^ u; - u = rightRotate(u, 8) ^ v; - s[0] ^= leftRotate(v, 16) ^ u; - s[1] ^= leftRotate(u, 8); - } - - private void camelliaFLs(int[] s, int[] fkey, int keyoff) - { - - s[1] ^= leftRotate(s[0] & fkey[0 + keyoff], 1); - s[0] ^= fkey[1 + keyoff] | s[1]; - - s[2] ^= fkey[3 + keyoff] | s[3]; - s[3] ^= leftRotate(fkey[2 + keyoff] & s[2], 1); - } - - private void setKey(boolean forEncryption, byte[] key) - { - int[] k = new int[8]; - int[] ka = new int[4]; - int[] kb = new int[4]; - int[] t = new int[4]; - - switch (key.length) - { - case 16: - _keyis128 = true; - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = k[5] = k[6] = k[7] = 0; - break; - case 24: - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = bytes2int(key, 16); - k[5] = bytes2int(key, 20); - k[6] = ~k[4]; - k[7] = ~k[5]; - _keyis128 = false; - break; - case 32: - k[0] = bytes2int(key, 0); - k[1] = bytes2int(key, 4); - k[2] = bytes2int(key, 8); - k[3] = bytes2int(key, 12); - k[4] = bytes2int(key, 16); - k[5] = bytes2int(key, 20); - k[6] = bytes2int(key, 24); - k[7] = bytes2int(key, 28); - _keyis128 = false; - break; - default: - throw new - IllegalArgumentException("key sizes are only 16/24/32 bytes."); - } - - for (int i = 0; i < 4; i++) - { - ka[i] = k[i] ^ k[i + 4]; - } - /* compute KA */ - camelliaF2(ka, SIGMA, 0); - for (int i = 0; i < 4; i++) - { - ka[i] ^= k[i]; - } - camelliaF2(ka, SIGMA, 4); - - if (_keyis128) - { - if (forEncryption) - { - /* KL dependant keys */ - kw[0] = k[0]; - kw[1] = k[1]; - kw[2] = k[2]; - kw[3] = k[3]; - roldq(15, k, 0, subkey, 4); - roldq(30, k, 0, subkey, 12); - roldq(15, k, 0, t, 0); - subkey[18] = t[2]; - subkey[19] = t[3]; - roldq(17, k, 0, ke, 4); - roldq(17, k, 0, subkey, 24); - roldq(17, k, 0, subkey, 32); - /* KA dependant keys */ - subkey[0] = ka[0]; - subkey[1] = ka[1]; - subkey[2] = ka[2]; - subkey[3] = ka[3]; - roldq(15, ka, 0, subkey, 8); - roldq(15, ka, 0, ke, 0); - roldq(15, ka, 0, t, 0); - subkey[16] = t[0]; - subkey[17] = t[1]; - roldq(15, ka, 0, subkey, 20); - roldqo32(34, ka, 0, subkey, 28); - roldq(17, ka, 0, kw, 4); - - } - else - { // decryption - /* KL dependant keys */ - kw[4] = k[0]; - kw[5] = k[1]; - kw[6] = k[2]; - kw[7] = k[3]; - decroldq(15, k, 0, subkey, 28); - decroldq(30, k, 0, subkey, 20); - decroldq(15, k, 0, t, 0); - subkey[16] = t[0]; - subkey[17] = t[1]; - decroldq(17, k, 0, ke, 0); - decroldq(17, k, 0, subkey, 8); - decroldq(17, k, 0, subkey, 0); - /* KA dependant keys */ - subkey[34] = ka[0]; - subkey[35] = ka[1]; - subkey[32] = ka[2]; - subkey[33] = ka[3]; - decroldq(15, ka, 0, subkey, 24); - decroldq(15, ka, 0, ke, 4); - decroldq(15, ka, 0, t, 0); - subkey[18] = t[2]; - subkey[19] = t[3]; - decroldq(15, ka, 0, subkey, 12); - decroldqo32(34, ka, 0, subkey, 4); - roldq(17, ka, 0, kw, 0); - } - } - else - { // 192bit or 256bit - /* compute KB */ - for (int i = 0; i < 4; i++) - { - kb[i] = ka[i] ^ k[i + 4]; - } - camelliaF2(kb, SIGMA, 8); - - if (forEncryption) - { - /* KL dependant keys */ - kw[0] = k[0]; - kw[1] = k[1]; - kw[2] = k[2]; - kw[3] = k[3]; - roldqo32(45, k, 0, subkey, 16); - roldq(15, k, 0, ke, 4); - roldq(17, k, 0, subkey, 32); - roldqo32(34, k, 0, subkey, 44); - /* KR dependant keys */ - roldq(15, k, 4, subkey, 4); - roldq(15, k, 4, ke, 0); - roldq(30, k, 4, subkey, 24); - roldqo32(34, k, 4, subkey, 36); - /* KA dependant keys */ - roldq(15, ka, 0, subkey, 8); - roldq(30, ka, 0, subkey, 20); - /* 32bit rotation */ - ke[8] = ka[1]; - ke[9] = ka[2]; - ke[10] = ka[3]; - ke[11] = ka[0]; - roldqo32(49, ka, 0, subkey, 40); - - /* KB dependant keys */ - subkey[0] = kb[0]; - subkey[1] = kb[1]; - subkey[2] = kb[2]; - subkey[3] = kb[3]; - roldq(30, kb, 0, subkey, 12); - roldq(30, kb, 0, subkey, 28); - roldqo32(51, kb, 0, kw, 4); - - } - else - { // decryption - /* KL dependant keys */ - kw[4] = k[0]; - kw[5] = k[1]; - kw[6] = k[2]; - kw[7] = k[3]; - decroldqo32(45, k, 0, subkey, 28); - decroldq(15, k, 0, ke, 4); - decroldq(17, k, 0, subkey, 12); - decroldqo32(34, k, 0, subkey, 0); - /* KR dependant keys */ - decroldq(15, k, 4, subkey, 40); - decroldq(15, k, 4, ke, 8); - decroldq(30, k, 4, subkey, 20); - decroldqo32(34, k, 4, subkey, 8); - /* KA dependant keys */ - decroldq(15, ka, 0, subkey, 36); - decroldq(30, ka, 0, subkey, 24); - /* 32bit rotation */ - ke[2] = ka[1]; - ke[3] = ka[2]; - ke[0] = ka[3]; - ke[1] = ka[0]; - decroldqo32(49, ka, 0, subkey, 4); - - /* KB dependant keys */ - subkey[46] = kb[0]; - subkey[47] = kb[1]; - subkey[44] = kb[2]; - subkey[45] = kb[3]; - decroldq(30, kb, 0, subkey, 32); - decroldq(30, kb, 0, subkey, 16); - roldqo32(51, kb, 0, kw, 0); - } - } - } - - private int processBlock128(byte[] in, int inOff, - byte[] out, int outOff) - { - for (int i = 0; i < 4; i++) - { - state[i] = bytes2int(in, inOff + (i * 4)); - state[i] ^= kw[i]; - } - - camelliaF2(state, subkey, 0); - camelliaF2(state, subkey, 4); - camelliaF2(state, subkey, 8); - camelliaFLs(state, ke, 0); - camelliaF2(state, subkey, 12); - camelliaF2(state, subkey, 16); - camelliaF2(state, subkey, 20); - camelliaFLs(state, ke, 4); - camelliaF2(state, subkey, 24); - camelliaF2(state, subkey, 28); - camelliaF2(state, subkey, 32); - - state[2] ^= kw[4]; - state[3] ^= kw[5]; - state[0] ^= kw[6]; - state[1] ^= kw[7]; - - int2bytes(state[2], out, outOff); - int2bytes(state[3], out, outOff + 4); - int2bytes(state[0], out, outOff + 8); - int2bytes(state[1], out, outOff + 12); - - return BLOCK_SIZE; - } - - private int processBlock192or256(byte[] in, int inOff, - byte[] out, int outOff) - { - for (int i = 0; i < 4; i++) - { - state[i] = bytes2int(in, inOff + (i * 4)); - state[i] ^= kw[i]; - } - - camelliaF2(state, subkey, 0); - camelliaF2(state, subkey, 4); - camelliaF2(state, subkey, 8); - camelliaFLs(state, ke, 0); - camelliaF2(state, subkey, 12); - camelliaF2(state, subkey, 16); - camelliaF2(state, subkey, 20); - camelliaFLs(state, ke, 4); - camelliaF2(state, subkey, 24); - camelliaF2(state, subkey, 28); - camelliaF2(state, subkey, 32); - camelliaFLs(state, ke, 8); - camelliaF2(state, subkey, 36); - camelliaF2(state, subkey, 40); - camelliaF2(state, subkey, 44); - - state[2] ^= kw[4]; - state[3] ^= kw[5]; - state[0] ^= kw[6]; - state[1] ^= kw[7]; - - int2bytes(state[2], out, outOff); - int2bytes(state[3], out, outOff + 4); - int2bytes(state[0], out, outOff + 8); - int2bytes(state[1], out, outOff + 12); - return BLOCK_SIZE; - } - - public CamelliaLightEngine() - { - } - - public String getAlgorithmName() - { - return "Camellia"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public void init(boolean forEncryption, CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("only simple KeyParameter expected."); - } - - setKey(forEncryption, ((KeyParameter)params).getKey()); - initialized = true; - } - - public int processBlock(byte[] in, int inOff, - byte[] out, int outOff) - throws IllegalStateException - { - - if (!initialized) - { - throw new IllegalStateException("Camellia is not initialized"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (_keyis128) - { - return processBlock128(in, inOff, out, outOff); - } - else - { - return processBlock192or256(in, inOff, out, outOff); - } - } - - public void reset() - { - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaWrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaWrapEngine.java deleted file mode 100644 index 04526eb16..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/CamelliaWrapEngine.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.engines; - -/** - * An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394. - *

    - * For further details see: http://www.ietf.org/rfc/rfc3657.txt. - */ -public class CamelliaWrapEngine - extends RFC3394WrapEngine -{ - public CamelliaWrapEngine() - { - super(new CamelliaEngine()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ChaChaEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ChaChaEngine.java deleted file mode 100644 index a6a0138b9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ChaChaEngine.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.util.Pack; - -/** - * Implementation of Daniel J. Bernstein's ChaCha stream cipher. - */ -public class ChaChaEngine extends Salsa20Engine -{ - - /** - * Creates a 20 rounds ChaCha engine. - */ - public ChaChaEngine() - { - super(); - } - - /** - * Creates a ChaCha engine with a specific number of rounds. - * @param rounds the number of rounds (must be an even number). - */ - public ChaChaEngine(int rounds) - { - super(rounds); - } - - public String getAlgorithmName() - { - return "ChaCha" + rounds; - } - - protected void advanceCounter() - { - if (++engineState[12] == 0) - { - ++engineState[13]; - } - } - - protected void resetCounter() - { - engineState[12] = engineState[13] = 0; - } - - protected void setKey(byte[] keyBytes, byte[] ivBytes) - { - if ((keyBytes.length != 16) && (keyBytes.length != 32)) - { - throw new IllegalArgumentException(getAlgorithmName() + " requires 128 bit or 256 bit key"); - } - - int offset = 0; - byte[] constants; - - // Key - engineState[4] = Pack.littleEndianToInt(keyBytes, 0); - engineState[5] = Pack.littleEndianToInt(keyBytes, 4); - engineState[6] = Pack.littleEndianToInt(keyBytes, 8); - engineState[7] = Pack.littleEndianToInt(keyBytes, 12); - - if (keyBytes.length == 32) - { - constants = sigma; - offset = 16; - } else - { - constants = tau; - } - - engineState[8] = Pack.littleEndianToInt(keyBytes, offset); - engineState[9] = Pack.littleEndianToInt(keyBytes, offset + 4); - engineState[10] = Pack.littleEndianToInt(keyBytes, offset + 8); - engineState[11] = Pack.littleEndianToInt(keyBytes, offset + 12); - - engineState[0] = Pack.littleEndianToInt(constants, 0); - engineState[1] = Pack.littleEndianToInt(constants, 4); - engineState[2] = Pack.littleEndianToInt(constants, 8); - engineState[3] = Pack.littleEndianToInt(constants, 12); - - // Counter - engineState[12] = engineState[13] = 0; - - // IV - engineState[14] = Pack.littleEndianToInt(ivBytes, 0); - engineState[15] = Pack.littleEndianToInt(ivBytes, 4); - } - - protected void generateKeyStream(byte[] output) - { - chachaCore(rounds, engineState, x); - Pack.intToLittleEndian(x, output, 0); - } - - /** - * ChacCha function - * - * @param input input data - * - * @return keystream - */ - public static void chachaCore(int rounds, int[] input, int[] x) - { - if (input.length != 16) { - throw new IllegalArgumentException(); - } - if (x.length != 16) { - throw new IllegalArgumentException(); - } - if (rounds % 2 != 0) { - throw new IllegalArgumentException("Number of rounds must be even"); - } - - int x00 = input[ 0]; - int x01 = input[ 1]; - int x02 = input[ 2]; - int x03 = input[ 3]; - int x04 = input[ 4]; - int x05 = input[ 5]; - int x06 = input[ 6]; - int x07 = input[ 7]; - int x08 = input[ 8]; - int x09 = input[ 9]; - int x10 = input[10]; - int x11 = input[11]; - int x12 = input[12]; - int x13 = input[13]; - int x14 = input[14]; - int x15 = input[15]; - - for (int i = rounds; i > 0; i -= 2) - { - x00 += x04; x12 = rotl(x12 ^ x00, 16); - x08 += x12; x04 = rotl(x04 ^ x08, 12); - x00 += x04; x12 = rotl(x12 ^ x00, 8); - x08 += x12; x04 = rotl(x04 ^ x08, 7); - x01 += x05; x13 = rotl(x13 ^ x01, 16); - x09 += x13; x05 = rotl(x05 ^ x09, 12); - x01 += x05; x13 = rotl(x13 ^ x01, 8); - x09 += x13; x05 = rotl(x05 ^ x09, 7); - x02 += x06; x14 = rotl(x14 ^ x02, 16); - x10 += x14; x06 = rotl(x06 ^ x10, 12); - x02 += x06; x14 = rotl(x14 ^ x02, 8); - x10 += x14; x06 = rotl(x06 ^ x10, 7); - x03 += x07; x15 = rotl(x15 ^ x03, 16); - x11 += x15; x07 = rotl(x07 ^ x11, 12); - x03 += x07; x15 = rotl(x15 ^ x03, 8); - x11 += x15; x07 = rotl(x07 ^ x11, 7); - x00 += x05; x15 = rotl(x15 ^ x00, 16); - x10 += x15; x05 = rotl(x05 ^ x10, 12); - x00 += x05; x15 = rotl(x15 ^ x00, 8); - x10 += x15; x05 = rotl(x05 ^ x10, 7); - x01 += x06; x12 = rotl(x12 ^ x01, 16); - x11 += x12; x06 = rotl(x06 ^ x11, 12); - x01 += x06; x12 = rotl(x12 ^ x01, 8); - x11 += x12; x06 = rotl(x06 ^ x11, 7); - x02 += x07; x13 = rotl(x13 ^ x02, 16); - x08 += x13; x07 = rotl(x07 ^ x08, 12); - x02 += x07; x13 = rotl(x13 ^ x02, 8); - x08 += x13; x07 = rotl(x07 ^ x08, 7); - x03 += x04; x14 = rotl(x14 ^ x03, 16); - x09 += x14; x04 = rotl(x04 ^ x09, 12); - x03 += x04; x14 = rotl(x14 ^ x03, 8); - x09 += x14; x04 = rotl(x04 ^ x09, 7); - - } - - x[ 0] = x00 + input[ 0]; - x[ 1] = x01 + input[ 1]; - x[ 2] = x02 + input[ 2]; - x[ 3] = x03 + input[ 3]; - x[ 4] = x04 + input[ 4]; - x[ 5] = x05 + input[ 5]; - x[ 6] = x06 + input[ 6]; - x[ 7] = x07 + input[ 7]; - x[ 8] = x08 + input[ 8]; - x[ 9] = x09 + input[ 9]; - x[10] = x10 + input[10]; - x[11] = x11 + input[11]; - x[12] = x12 + input[12]; - x[13] = x13 + input[13]; - x[14] = x14 + input[14]; - x[15] = x15 + input[15]; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESEngine.java deleted file mode 100644 index 68d7ea156..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESEngine.java +++ /dev/null @@ -1,495 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * a class that provides a basic DES engine. - */ -public class DESEngine - implements BlockCipher -{ - protected static final int BLOCK_SIZE = 8; - - private int[] workingKey = null; - - /** - * standard constructor. - */ - public DESEngine() - { - } - - /** - * initialise a DES cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - if (((KeyParameter)params).getKey().length > 8) - { - throw new IllegalArgumentException("DES key too long - should be 8 bytes"); - } - - workingKey = generateWorkingKey(encrypting, - ((KeyParameter)params).getKey()); - - return; - } - - throw new IllegalArgumentException("invalid parameter passed to DES init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "DES"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("DES engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - desFunc(workingKey, in, inOff, out, outOff); - - return BLOCK_SIZE; - } - - public void reset() - { - } - - /** - * what follows is mainly taken from "Applied Cryptography", by - * Bruce Schneier, however it also bears great resemblance to Richard - * Outerbridge's D3DES... - */ - -// private static final short[] Df_Key = -// { -// 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, -// 0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10, -// 0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67 -// }; - - private static final short[] bytebit = - { - 0200, 0100, 040, 020, 010, 04, 02, 01 - }; - - private static final int[] bigbyte = - { - 0x800000, 0x400000, 0x200000, 0x100000, - 0x80000, 0x40000, 0x20000, 0x10000, - 0x8000, 0x4000, 0x2000, 0x1000, - 0x800, 0x400, 0x200, 0x100, - 0x80, 0x40, 0x20, 0x10, - 0x8, 0x4, 0x2, 0x1 - }; - - /* - * Use the key schedule specified in the Standard (ANSI X3.92-1981). - */ - - private static final byte[] pc1 = - { - 56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, - 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, - 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, - 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3 - }; - - private static final byte[] totrot = - { - 1, 2, 4, 6, 8, 10, 12, 14, - 15, 17, 19, 21, 23, 25, 27, 28 - }; - - private static final byte[] pc2 = - { - 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, - 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, - 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, - 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 - }; - - private static final int[] SP1 = { - 0x01010400, 0x00000000, 0x00010000, 0x01010404, - 0x01010004, 0x00010404, 0x00000004, 0x00010000, - 0x00000400, 0x01010400, 0x01010404, 0x00000400, - 0x01000404, 0x01010004, 0x01000000, 0x00000004, - 0x00000404, 0x01000400, 0x01000400, 0x00010400, - 0x00010400, 0x01010000, 0x01010000, 0x01000404, - 0x00010004, 0x01000004, 0x01000004, 0x00010004, - 0x00000000, 0x00000404, 0x00010404, 0x01000000, - 0x00010000, 0x01010404, 0x00000004, 0x01010000, - 0x01010400, 0x01000000, 0x01000000, 0x00000400, - 0x01010004, 0x00010000, 0x00010400, 0x01000004, - 0x00000400, 0x00000004, 0x01000404, 0x00010404, - 0x01010404, 0x00010004, 0x01010000, 0x01000404, - 0x01000004, 0x00000404, 0x00010404, 0x01010400, - 0x00000404, 0x01000400, 0x01000400, 0x00000000, - 0x00010004, 0x00010400, 0x00000000, 0x01010004 - }; - - private static final int[] SP2 = { - 0x80108020, 0x80008000, 0x00008000, 0x00108020, - 0x00100000, 0x00000020, 0x80100020, 0x80008020, - 0x80000020, 0x80108020, 0x80108000, 0x80000000, - 0x80008000, 0x00100000, 0x00000020, 0x80100020, - 0x00108000, 0x00100020, 0x80008020, 0x00000000, - 0x80000000, 0x00008000, 0x00108020, 0x80100000, - 0x00100020, 0x80000020, 0x00000000, 0x00108000, - 0x00008020, 0x80108000, 0x80100000, 0x00008020, - 0x00000000, 0x00108020, 0x80100020, 0x00100000, - 0x80008020, 0x80100000, 0x80108000, 0x00008000, - 0x80100000, 0x80008000, 0x00000020, 0x80108020, - 0x00108020, 0x00000020, 0x00008000, 0x80000000, - 0x00008020, 0x80108000, 0x00100000, 0x80000020, - 0x00100020, 0x80008020, 0x80000020, 0x00100020, - 0x00108000, 0x00000000, 0x80008000, 0x00008020, - 0x80000000, 0x80100020, 0x80108020, 0x00108000 - }; - - private static final int[] SP3 = { - 0x00000208, 0x08020200, 0x00000000, 0x08020008, - 0x08000200, 0x00000000, 0x00020208, 0x08000200, - 0x00020008, 0x08000008, 0x08000008, 0x00020000, - 0x08020208, 0x00020008, 0x08020000, 0x00000208, - 0x08000000, 0x00000008, 0x08020200, 0x00000200, - 0x00020200, 0x08020000, 0x08020008, 0x00020208, - 0x08000208, 0x00020200, 0x00020000, 0x08000208, - 0x00000008, 0x08020208, 0x00000200, 0x08000000, - 0x08020200, 0x08000000, 0x00020008, 0x00000208, - 0x00020000, 0x08020200, 0x08000200, 0x00000000, - 0x00000200, 0x00020008, 0x08020208, 0x08000200, - 0x08000008, 0x00000200, 0x00000000, 0x08020008, - 0x08000208, 0x00020000, 0x08000000, 0x08020208, - 0x00000008, 0x00020208, 0x00020200, 0x08000008, - 0x08020000, 0x08000208, 0x00000208, 0x08020000, - 0x00020208, 0x00000008, 0x08020008, 0x00020200 - }; - - private static final int[] SP4 = { - 0x00802001, 0x00002081, 0x00002081, 0x00000080, - 0x00802080, 0x00800081, 0x00800001, 0x00002001, - 0x00000000, 0x00802000, 0x00802000, 0x00802081, - 0x00000081, 0x00000000, 0x00800080, 0x00800001, - 0x00000001, 0x00002000, 0x00800000, 0x00802001, - 0x00000080, 0x00800000, 0x00002001, 0x00002080, - 0x00800081, 0x00000001, 0x00002080, 0x00800080, - 0x00002000, 0x00802080, 0x00802081, 0x00000081, - 0x00800080, 0x00800001, 0x00802000, 0x00802081, - 0x00000081, 0x00000000, 0x00000000, 0x00802000, - 0x00002080, 0x00800080, 0x00800081, 0x00000001, - 0x00802001, 0x00002081, 0x00002081, 0x00000080, - 0x00802081, 0x00000081, 0x00000001, 0x00002000, - 0x00800001, 0x00002001, 0x00802080, 0x00800081, - 0x00002001, 0x00002080, 0x00800000, 0x00802001, - 0x00000080, 0x00800000, 0x00002000, 0x00802080 - }; - - private static final int[] SP5 = { - 0x00000100, 0x02080100, 0x02080000, 0x42000100, - 0x00080000, 0x00000100, 0x40000000, 0x02080000, - 0x40080100, 0x00080000, 0x02000100, 0x40080100, - 0x42000100, 0x42080000, 0x00080100, 0x40000000, - 0x02000000, 0x40080000, 0x40080000, 0x00000000, - 0x40000100, 0x42080100, 0x42080100, 0x02000100, - 0x42080000, 0x40000100, 0x00000000, 0x42000000, - 0x02080100, 0x02000000, 0x42000000, 0x00080100, - 0x00080000, 0x42000100, 0x00000100, 0x02000000, - 0x40000000, 0x02080000, 0x42000100, 0x40080100, - 0x02000100, 0x40000000, 0x42080000, 0x02080100, - 0x40080100, 0x00000100, 0x02000000, 0x42080000, - 0x42080100, 0x00080100, 0x42000000, 0x42080100, - 0x02080000, 0x00000000, 0x40080000, 0x42000000, - 0x00080100, 0x02000100, 0x40000100, 0x00080000, - 0x00000000, 0x40080000, 0x02080100, 0x40000100 - }; - - private static final int[] SP6 = { - 0x20000010, 0x20400000, 0x00004000, 0x20404010, - 0x20400000, 0x00000010, 0x20404010, 0x00400000, - 0x20004000, 0x00404010, 0x00400000, 0x20000010, - 0x00400010, 0x20004000, 0x20000000, 0x00004010, - 0x00000000, 0x00400010, 0x20004010, 0x00004000, - 0x00404000, 0x20004010, 0x00000010, 0x20400010, - 0x20400010, 0x00000000, 0x00404010, 0x20404000, - 0x00004010, 0x00404000, 0x20404000, 0x20000000, - 0x20004000, 0x00000010, 0x20400010, 0x00404000, - 0x20404010, 0x00400000, 0x00004010, 0x20000010, - 0x00400000, 0x20004000, 0x20000000, 0x00004010, - 0x20000010, 0x20404010, 0x00404000, 0x20400000, - 0x00404010, 0x20404000, 0x00000000, 0x20400010, - 0x00000010, 0x00004000, 0x20400000, 0x00404010, - 0x00004000, 0x00400010, 0x20004010, 0x00000000, - 0x20404000, 0x20000000, 0x00400010, 0x20004010 - }; - - private static final int[] SP7 = { - 0x00200000, 0x04200002, 0x04000802, 0x00000000, - 0x00000800, 0x04000802, 0x00200802, 0x04200800, - 0x04200802, 0x00200000, 0x00000000, 0x04000002, - 0x00000002, 0x04000000, 0x04200002, 0x00000802, - 0x04000800, 0x00200802, 0x00200002, 0x04000800, - 0x04000002, 0x04200000, 0x04200800, 0x00200002, - 0x04200000, 0x00000800, 0x00000802, 0x04200802, - 0x00200800, 0x00000002, 0x04000000, 0x00200800, - 0x04000000, 0x00200800, 0x00200000, 0x04000802, - 0x04000802, 0x04200002, 0x04200002, 0x00000002, - 0x00200002, 0x04000000, 0x04000800, 0x00200000, - 0x04200800, 0x00000802, 0x00200802, 0x04200800, - 0x00000802, 0x04000002, 0x04200802, 0x04200000, - 0x00200800, 0x00000000, 0x00000002, 0x04200802, - 0x00000000, 0x00200802, 0x04200000, 0x00000800, - 0x04000002, 0x04000800, 0x00000800, 0x00200002 - }; - - private static final int[] SP8 = { - 0x10001040, 0x00001000, 0x00040000, 0x10041040, - 0x10000000, 0x10001040, 0x00000040, 0x10000000, - 0x00040040, 0x10040000, 0x10041040, 0x00041000, - 0x10041000, 0x00041040, 0x00001000, 0x00000040, - 0x10040000, 0x10000040, 0x10001000, 0x00001040, - 0x00041000, 0x00040040, 0x10040040, 0x10041000, - 0x00001040, 0x00000000, 0x00000000, 0x10040040, - 0x10000040, 0x10001000, 0x00041040, 0x00040000, - 0x00041040, 0x00040000, 0x10041000, 0x00001000, - 0x00000040, 0x10040040, 0x00001000, 0x00041040, - 0x10001000, 0x00000040, 0x10000040, 0x10040000, - 0x10040040, 0x10000000, 0x00040000, 0x10001040, - 0x00000000, 0x10041040, 0x00040040, 0x10000040, - 0x10040000, 0x10001000, 0x10001040, 0x00000000, - 0x10041040, 0x00041000, 0x00041000, 0x00001040, - 0x00001040, 0x00040040, 0x10000000, 0x10041000 - }; - - /** - * generate an integer based working key based on our secret key - * and what we processing we are planning to do. - * - * Acknowledgements for this routine go to James Gillogly & Phil Karn. - * (whoever, and wherever they are!). - */ - protected int[] generateWorkingKey( - boolean encrypting, - byte[] key) - { - int[] newKey = new int[32]; - boolean[] pc1m = new boolean[56], - pcr = new boolean[56]; - - for (int j = 0; j < 56; j++) - { - int l = pc1[j]; - - pc1m[j] = ((key[l >>> 3] & bytebit[l & 07]) != 0); - } - - for (int i = 0; i < 16; i++) - { - int l, m, n; - - if (encrypting) - { - m = i << 1; - } - else - { - m = (15 - i) << 1; - } - - n = m + 1; - newKey[m] = newKey[n] = 0; - - for (int j = 0; j < 28; j++) - { - l = j + totrot[i]; - if (l < 28) - { - pcr[j] = pc1m[l]; - } - else - { - pcr[j] = pc1m[l - 28]; - } - } - - for (int j = 28; j < 56; j++) - { - l = j + totrot[i]; - if (l < 56) - { - pcr[j] = pc1m[l]; - } - else - { - pcr[j] = pc1m[l - 28]; - } - } - - for (int j = 0; j < 24; j++) - { - if (pcr[pc2[j]]) - { - newKey[m] |= bigbyte[j]; - } - - if (pcr[pc2[j + 24]]) - { - newKey[n] |= bigbyte[j]; - } - } - } - - // - // store the processed key - // - for (int i = 0; i != 32; i += 2) - { - int i1, i2; - - i1 = newKey[i]; - i2 = newKey[i + 1]; - - newKey[i] = ((i1 & 0x00fc0000) << 6) | ((i1 & 0x00000fc0) << 10) - | ((i2 & 0x00fc0000) >>> 10) | ((i2 & 0x00000fc0) >>> 6); - - newKey[i + 1] = ((i1 & 0x0003f000) << 12) | ((i1 & 0x0000003f) << 16) - | ((i2 & 0x0003f000) >>> 4) | (i2 & 0x0000003f); - } - - return newKey; - } - - /** - * the DES engine. - */ - protected void desFunc( - int[] wKey, - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int work, right, left; - - left = (in[inOff + 0] & 0xff) << 24; - left |= (in[inOff + 1] & 0xff) << 16; - left |= (in[inOff + 2] & 0xff) << 8; - left |= (in[inOff + 3] & 0xff); - - right = (in[inOff + 4] & 0xff) << 24; - right |= (in[inOff + 5] & 0xff) << 16; - right |= (in[inOff + 6] & 0xff) << 8; - right |= (in[inOff + 7] & 0xff); - - work = ((left >>> 4) ^ right) & 0x0f0f0f0f; - right ^= work; - left ^= (work << 4); - work = ((left >>> 16) ^ right) & 0x0000ffff; - right ^= work; - left ^= (work << 16); - work = ((right >>> 2) ^ left) & 0x33333333; - left ^= work; - right ^= (work << 2); - work = ((right >>> 8) ^ left) & 0x00ff00ff; - left ^= work; - right ^= (work << 8); - right = ((right << 1) | ((right >>> 31) & 1)) & 0xffffffff; - work = (left ^ right) & 0xaaaaaaaa; - left ^= work; - right ^= work; - left = ((left << 1) | ((left >>> 31) & 1)) & 0xffffffff; - - for (int round = 0; round < 8; round++) - { - int fval; - - work = (right << 28) | (right >>> 4); - work ^= wKey[round * 4 + 0]; - fval = SP7[ work & 0x3f]; - fval |= SP5[(work >>> 8) & 0x3f]; - fval |= SP3[(work >>> 16) & 0x3f]; - fval |= SP1[(work >>> 24) & 0x3f]; - work = right ^ wKey[round * 4 + 1]; - fval |= SP8[ work & 0x3f]; - fval |= SP6[(work >>> 8) & 0x3f]; - fval |= SP4[(work >>> 16) & 0x3f]; - fval |= SP2[(work >>> 24) & 0x3f]; - left ^= fval; - work = (left << 28) | (left >>> 4); - work ^= wKey[round * 4 + 2]; - fval = SP7[ work & 0x3f]; - fval |= SP5[(work >>> 8) & 0x3f]; - fval |= SP3[(work >>> 16) & 0x3f]; - fval |= SP1[(work >>> 24) & 0x3f]; - work = left ^ wKey[round * 4 + 3]; - fval |= SP8[ work & 0x3f]; - fval |= SP6[(work >>> 8) & 0x3f]; - fval |= SP4[(work >>> 16) & 0x3f]; - fval |= SP2[(work >>> 24) & 0x3f]; - right ^= fval; - } - - right = (right << 31) | (right >>> 1); - work = (left ^ right) & 0xaaaaaaaa; - left ^= work; - right ^= work; - left = (left << 31) | (left >>> 1); - work = ((left >>> 8) ^ right) & 0x00ff00ff; - right ^= work; - left ^= (work << 8); - work = ((left >>> 2) ^ right) & 0x33333333; - right ^= work; - left ^= (work << 2); - work = ((right >>> 16) ^ left) & 0x0000ffff; - left ^= work; - right ^= (work << 16); - work = ((right >>> 4) ^ left) & 0x0f0f0f0f; - left ^= work; - right ^= (work << 4); - - out[outOff + 0] = (byte)((right >>> 24) & 0xff); - out[outOff + 1] = (byte)((right >>> 16) & 0xff); - out[outOff + 2] = (byte)((right >>> 8) & 0xff); - out[outOff + 3] = (byte)(right & 0xff); - out[outOff + 4] = (byte)((left >>> 24) & 0xff); - out[outOff + 5] = (byte)((left >>> 16) & 0xff); - out[outOff + 6] = (byte)((left >>> 8) & 0xff); - out[outOff + 7] = (byte)(left & 0xff); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeEngine.java deleted file mode 100644 index e0c0fb85d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeEngine.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * a class that provides a basic DESede (or Triple DES) engine. - */ -public class DESedeEngine - extends DESEngine -{ - protected static final int BLOCK_SIZE = 8; - - private int[] workingKey1 = null; - private int[] workingKey2 = null; - private int[] workingKey3 = null; - - private boolean forEncryption; - - /** - * standard constructor. - */ - public DESedeEngine() - { - } - - /** - * initialise a DESede cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to DESede init - " + params.getClass().getName()); - } - - byte[] keyMaster = ((KeyParameter)params).getKey(); - - if (keyMaster.length != 24 && keyMaster.length != 16) - { - throw new IllegalArgumentException("key size must be 16 or 24 bytes."); - } - - this.forEncryption = encrypting; - - byte[] key1 = new byte[8]; - System.arraycopy(keyMaster, 0, key1, 0, key1.length); - workingKey1 = generateWorkingKey(encrypting, key1); - - byte[] key2 = new byte[8]; - System.arraycopy(keyMaster, 8, key2, 0, key2.length); - workingKey2 = generateWorkingKey(!encrypting, key2); - - if (keyMaster.length == 24) - { - byte[] key3 = new byte[8]; - System.arraycopy(keyMaster, 16, key3, 0, key3.length); - workingKey3 = generateWorkingKey(encrypting, key3); - } - else // 16 byte key - { - workingKey3 = workingKey1; - } - } - - public String getAlgorithmName() - { - return "DESede"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey1 == null) - { - throw new IllegalStateException("DESede engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - byte[] temp = new byte[BLOCK_SIZE]; - - if (forEncryption) - { - desFunc(workingKey1, in, inOff, temp, 0); - desFunc(workingKey2, temp, 0, temp, 0); - desFunc(workingKey3, temp, 0, out, outOff); - } - else - { - desFunc(workingKey3, in, inOff, temp, 0); - desFunc(workingKey2, temp, 0, temp, 0); - desFunc(workingKey1, temp, 0, out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeWrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeWrapEngine.java deleted file mode 100644 index e03c8cb36..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/DESedeWrapEngine.java +++ /dev/null @@ -1,348 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -/** - * Wrap keys according to - * - * draft-ietf-smime-key-wrap-01.txt. - *

    - * Note: - *

      - *
    • this is based on a draft, and as such is subject to change - don't use this class for anything requiring long term storage. - *
    • if you are using this to wrap triple-des keys you need to set the - * parity bits on the key and, if it's a two-key triple-des key, pad it - * yourself. - *
    - */ -public class DESedeWrapEngine - implements Wrapper -{ - /** Field engine */ - private CBCBlockCipher engine; - - /** Field param */ - private KeyParameter param; - - /** Field paramPlusIV */ - private ParametersWithIV paramPlusIV; - - /** Field iv */ - private byte[] iv; - - /** Field forWrapping */ - private boolean forWrapping; - - /** Field IV2 */ - private static final byte[] IV2 = { (byte) 0x4a, (byte) 0xdd, (byte) 0xa2, - (byte) 0x2c, (byte) 0x79, (byte) 0xe8, - (byte) 0x21, (byte) 0x05 }; - - // - // checksum digest - // - Digest sha1 = new SHA1Digest(); - byte[] digest = new byte[20]; - - /** - * Method init - * - * @param forWrapping - * @param param - */ - public void init(boolean forWrapping, CipherParameters param) - { - - this.forWrapping = forWrapping; - this.engine = new CBCBlockCipher(new DESedeEngine()); - - SecureRandom sr; - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom pr = (ParametersWithRandom) param; - param = pr.getParameters(); - sr = pr.getRandom(); - } - else - { - sr = new SecureRandom(); - } - - if (param instanceof KeyParameter) - { - this.param = (KeyParameter)param; - - if (this.forWrapping) - { - - // Hm, we have no IV but we want to wrap ?!? - // well, then we have to create our own IV. - this.iv = new byte[8]; - sr.nextBytes(iv); - - this.paramPlusIV = new ParametersWithIV(this.param, this.iv); - } - } - else if (param instanceof ParametersWithIV) - { - this.paramPlusIV = (ParametersWithIV)param; - this.iv = this.paramPlusIV.getIV(); - this.param = (KeyParameter)this.paramPlusIV.getParameters(); - - if (this.forWrapping) - { - if ((this.iv == null) || (this.iv.length != 8)) - { - throw new IllegalArgumentException("IV is not 8 octets"); - } - } - else - { - throw new IllegalArgumentException( - "You should not supply an IV for unwrapping"); - } - } - } - - /** - * Method getAlgorithmName - * - * @return the algorithm name "DESede". - */ - public String getAlgorithmName() - { - return "DESede"; - } - - /** - * Method wrap - * - * @param in - * @param inOff - * @param inLen - * @return the wrapped bytes. - */ - public byte[] wrap(byte[] in, int inOff, int inLen) - { - if (!forWrapping) - { - throw new IllegalStateException("Not initialized for wrapping"); - } - - byte keyToBeWrapped[] = new byte[inLen]; - - System.arraycopy(in, inOff, keyToBeWrapped, 0, inLen); - - // Compute the CMS Key Checksum, (section 5.6.1), call this CKS. - byte[] CKS = calculateCMSKeyChecksum(keyToBeWrapped); - - // Let WKCKS = WK || CKS where || is concatenation. - byte[] WKCKS = new byte[keyToBeWrapped.length + CKS.length]; - - System.arraycopy(keyToBeWrapped, 0, WKCKS, 0, keyToBeWrapped.length); - System.arraycopy(CKS, 0, WKCKS, keyToBeWrapped.length, CKS.length); - - // Encrypt WKCKS in CBC mode using KEK as the key and IV as the - // initialization vector. Call the results TEMP1. - - int blockSize = engine.getBlockSize(); - - if (WKCKS.length % blockSize != 0) - { - throw new IllegalStateException("Not multiple of block length"); - } - - engine.init(true, paramPlusIV); - - byte TEMP1[] = new byte[WKCKS.length]; - - for (int currentBytePos = 0; currentBytePos != WKCKS.length; currentBytePos += blockSize) - { - engine.processBlock(WKCKS, currentBytePos, TEMP1, currentBytePos); - } - - // Let TEMP2 = IV || TEMP1. - byte[] TEMP2 = new byte[this.iv.length + TEMP1.length]; - - System.arraycopy(this.iv, 0, TEMP2, 0, this.iv.length); - System.arraycopy(TEMP1, 0, TEMP2, this.iv.length, TEMP1.length); - - // Reverse the order of the octets in TEMP2 and call the result TEMP3. - byte[] TEMP3 = reverse(TEMP2); - - // Encrypt TEMP3 in CBC mode using the KEK and an initialization vector - // of 0x 4a dd a2 2c 79 e8 21 05. The resulting cipher text is the desired - // result. It is 40 octets long if a 168 bit key is being wrapped. - ParametersWithIV param2 = new ParametersWithIV(this.param, IV2); - - this.engine.init(true, param2); - - for (int currentBytePos = 0; currentBytePos != TEMP3.length; currentBytePos += blockSize) - { - engine.processBlock(TEMP3, currentBytePos, TEMP3, currentBytePos); - } - - return TEMP3; - } - - /** - * Method unwrap - * - * @param in - * @param inOff - * @param inLen - * @return the unwrapped bytes. - * @throws InvalidCipherTextException - */ - public byte[] unwrap(byte[] in, int inOff, int inLen) - throws InvalidCipherTextException - { - if (forWrapping) - { - throw new IllegalStateException("Not set for unwrapping"); - } - - if (in == null) - { - throw new InvalidCipherTextException("Null pointer as ciphertext"); - } - - final int blockSize = engine.getBlockSize(); - if (inLen % blockSize != 0) - { - throw new InvalidCipherTextException("Ciphertext not multiple of " + blockSize); - } - - /* - // Check if the length of the cipher text is reasonable given the key - // type. It must be 40 bytes for a 168 bit key and either 32, 40, or - // 48 bytes for a 128, 192, or 256 bit key. If the length is not supported - // or inconsistent with the algorithm for which the key is intended, - // return error. - // - // we do not accept 168 bit keys. it has to be 192 bit. - int lengthA = (estimatedKeyLengthInBit / 8) + 16; - int lengthB = estimatedKeyLengthInBit % 8; - - if ((lengthA != keyToBeUnwrapped.length) || (lengthB != 0)) { - throw new XMLSecurityException("empty"); - } - */ - - // Decrypt the cipher text with TRIPLedeS in CBC mode using the KEK - // and an initialization vector (IV) of 0x4adda22c79e82105. Call the output TEMP3. - ParametersWithIV param2 = new ParametersWithIV(this.param, IV2); - - this.engine.init(false, param2); - - byte TEMP3[] = new byte[inLen]; - - for (int currentBytePos = 0; currentBytePos != inLen; currentBytePos += blockSize) - { - engine.processBlock(in, inOff + currentBytePos, TEMP3, currentBytePos); - } - - // Reverse the order of the octets in TEMP3 and call the result TEMP2. - byte[] TEMP2 = reverse(TEMP3); - - // Decompose TEMP2 into IV, the first 8 octets, and TEMP1, the remaining octets. - this.iv = new byte[8]; - - byte[] TEMP1 = new byte[TEMP2.length - 8]; - - System.arraycopy(TEMP2, 0, this.iv, 0, 8); - System.arraycopy(TEMP2, 8, TEMP1, 0, TEMP2.length - 8); - - // Decrypt TEMP1 using TRIPLedeS in CBC mode using the KEK and the IV - // found in the previous step. Call the result WKCKS. - this.paramPlusIV = new ParametersWithIV(this.param, this.iv); - - this.engine.init(false, this.paramPlusIV); - - byte[] WKCKS = new byte[TEMP1.length]; - - for (int currentBytePos = 0; currentBytePos != WKCKS.length; currentBytePos += blockSize) - { - engine.processBlock(TEMP1, currentBytePos, WKCKS, currentBytePos); - } - - // Decompose WKCKS. CKS is the last 8 octets and WK, the wrapped key, are - // those octets before the CKS. - byte[] result = new byte[WKCKS.length - 8]; - byte[] CKStoBeVerified = new byte[8]; - - System.arraycopy(WKCKS, 0, result, 0, WKCKS.length - 8); - System.arraycopy(WKCKS, WKCKS.length - 8, CKStoBeVerified, 0, 8); - - // Calculate a CMS Key Checksum, (section 5.6.1), over the WK and compare - // with the CKS extracted in the above step. If they are not equal, return error. - if (!checkCMSKeyChecksum(result, CKStoBeVerified)) - { - throw new InvalidCipherTextException( - "Checksum inside ciphertext is corrupted"); - } - - // WK is the wrapped key, now extracted for use in data decryption. - return result; - } - - /** - * Some key wrap algorithms make use of the Key Checksum defined - * in CMS [CMS-Algorithms]. This is used to provide an integrity - * check value for the key being wrapped. The algorithm is - * - * - Compute the 20 octet SHA-1 hash on the key being wrapped. - * - Use the first 8 octets of this hash as the checksum value. - * - * @param key - * @return the CMS checksum. - * @throws RuntimeException - * @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum - */ - private byte[] calculateCMSKeyChecksum( - byte[] key) - { - byte[] result = new byte[8]; - - sha1.update(key, 0, key.length); - sha1.doFinal(digest, 0); - - System.arraycopy(digest, 0, result, 0, 8); - - return result; - } - - /** - * @param key - * @param checksum - * @return true if okay, false otherwise. - * @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum - */ - private boolean checkCMSKeyChecksum( - byte[] key, - byte[] checksum) - { - return Arrays.constantTimeAreEqual(calculateCMSKeyChecksum(key), checksum); - } - - private static byte[] reverse(byte[] bs) - { - byte[] result = new byte[bs.length]; - for (int i = 0; i < bs.length; i++) - { - result[i] = bs[bs.length - (i + 1)]; - } - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ElGamalEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ElGamalEngine.java deleted file mode 100644 index 3a2939bad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ElGamalEngine.java +++ /dev/null @@ -1,217 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ElGamalKeyParameters; -import org.spongycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.spongycastle.crypto.params.ElGamalPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.BigIntegers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * this does your basic ElGamal algorithm. - */ -public class ElGamalEngine - implements AsymmetricBlockCipher -{ - private ElGamalKeyParameters key; - private SecureRandom random; - private boolean forEncryption; - private int bitSize; - - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - private static final BigInteger TWO = BigInteger.valueOf(2); - - /** - * initialise the ElGamal engine. - * - * @param forEncryption true if we are encrypting, false otherwise. - * @param param the necessary ElGamal key parameters. - */ - public void init( - boolean forEncryption, - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - this.key = (ElGamalKeyParameters)p.getParameters(); - this.random = p.getRandom(); - } - else - { - this.key = (ElGamalKeyParameters)param; - this.random = new SecureRandom(); - } - - this.forEncryption = forEncryption; - - BigInteger p = key.getParameters().getP(); - - bitSize = p.bitLength(); - - if (forEncryption) - { - if (!(key instanceof ElGamalPublicKeyParameters)) - { - throw new IllegalArgumentException("ElGamalPublicKeyParameters are required for encryption."); - } - } - else - { - if (!(key instanceof ElGamalPrivateKeyParameters)) - { - throw new IllegalArgumentException("ElGamalPrivateKeyParameters are required for decryption."); - } - } - } - - /** - * Return the maximum size for an input block to this engine. - * For ElGamal this is always one byte less than the size of P on - * encryption, and twice the length as the size of P on decryption. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - if (forEncryption) - { - return (bitSize - 1) / 8; - } - - return 2 * ((bitSize + 7) / 8); - } - - /** - * Return the maximum size for an output block to this engine. - * For ElGamal this is always one byte less than the size of P on - * decryption, and twice the length as the size of P on encryption. - * - * @return maximum size for an output block. - */ - public int getOutputBlockSize() - { - if (forEncryption) - { - return 2 * ((bitSize + 7) / 8); - } - - return (bitSize - 1) / 8; - } - - /** - * Process a single block using the basic ElGamal algorithm. - * - * @param in the input array. - * @param inOff the offset into the input buffer where the data starts. - * @param inLen the length of the data to be processed. - * @return the result of the ElGamal process. - * @exception DataLengthException the input block is too large. - */ - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - { - if (key == null) - { - throw new IllegalStateException("ElGamal engine not initialised"); - } - - int maxLength = forEncryption - ? (bitSize - 1 + 7) / 8 - : getInputBlockSize(); - - if (inLen > maxLength) - { - throw new DataLengthException("input too large for ElGamal cipher.\n"); - } - - BigInteger p = key.getParameters().getP(); - - if (key instanceof ElGamalPrivateKeyParameters) // decryption - { - byte[] in1 = new byte[inLen / 2]; - byte[] in2 = new byte[inLen / 2]; - - System.arraycopy(in, inOff, in1, 0, in1.length); - System.arraycopy(in, inOff + in1.length, in2, 0, in2.length); - - BigInteger gamma = new BigInteger(1, in1); - BigInteger phi = new BigInteger(1, in2); - - ElGamalPrivateKeyParameters priv = (ElGamalPrivateKeyParameters)key; - // a shortcut, which generally relies on p being prime amongst other things. - // if a problem with this shows up, check the p and g values! - BigInteger m = gamma.modPow(p.subtract(ONE).subtract(priv.getX()), p).multiply(phi).mod(p); - - return BigIntegers.asUnsignedByteArray(m); - } - else // encryption - { - byte[] block; - if (inOff != 0 || inLen != in.length) - { - block = new byte[inLen]; - - System.arraycopy(in, inOff, block, 0, inLen); - } - else - { - block = in; - } - - BigInteger input = new BigInteger(1, block); - - if (input.bitLength() >= p.bitLength()) - { - throw new DataLengthException("input too large for ElGamal cipher.\n"); - } - - ElGamalPublicKeyParameters pub = (ElGamalPublicKeyParameters)key; - - int pBitLength = p.bitLength(); - BigInteger k = new BigInteger(pBitLength, random); - - while (k.equals(ZERO) || (k.compareTo(p.subtract(TWO)) > 0)) - { - k = new BigInteger(pBitLength, random); - } - - BigInteger g = key.getParameters().getG(); - BigInteger gamma = g.modPow(k, p); - BigInteger phi = input.multiply(pub.getY().modPow(k, p)).mod(p); - - byte[] out1 = gamma.toByteArray(); - byte[] out2 = phi.toByteArray(); - byte[] output = new byte[this.getOutputBlockSize()]; - - if (out1.length > output.length / 2) - { - System.arraycopy(out1, 1, output, output.length / 2 - (out1.length - 1), out1.length - 1); - } - else - { - System.arraycopy(out1, 0, output, output.length / 2 - out1.length, out1.length); - } - - if (out2.length > output.length / 2) - { - System.arraycopy(out2, 1, output, output.length - (out2.length - 1), out2.length - 1); - } - else - { - System.arraycopy(out2, 0, output, output.length - out2.length, out2.length); - } - - return output; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/GOST28147Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/GOST28147Engine.java deleted file mode 100644 index f6ecbc365..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/GOST28147Engine.java +++ /dev/null @@ -1,372 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.util.Hashtable; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithSBox; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; - -/** - * implementation of GOST 28147-89 - */ -public class GOST28147Engine - implements BlockCipher -{ - protected static final int BLOCK_SIZE = 8; - private int[] workingKey = null; - private boolean forEncryption; - - private byte[] S = Sbox_Default; - - // these are the S-boxes given in Applied Cryptography 2nd Ed., p. 333 - // This is default S-box! - private static byte Sbox_Default[] = { - 0x4,0xA,0x9,0x2,0xD,0x8,0x0,0xE,0x6,0xB,0x1,0xC,0x7,0xF,0x5,0x3, - 0xE,0xB,0x4,0xC,0x6,0xD,0xF,0xA,0x2,0x3,0x8,0x1,0x0,0x7,0x5,0x9, - 0x5,0x8,0x1,0xD,0xA,0x3,0x4,0x2,0xE,0xF,0xC,0x7,0x6,0x0,0x9,0xB, - 0x7,0xD,0xA,0x1,0x0,0x8,0x9,0xF,0xE,0x4,0x6,0xC,0xB,0x2,0x5,0x3, - 0x6,0xC,0x7,0x1,0x5,0xF,0xD,0x8,0x4,0xA,0x9,0xE,0x0,0x3,0xB,0x2, - 0x4,0xB,0xA,0x0,0x7,0x2,0x1,0xD,0x3,0x6,0x8,0x5,0x9,0xC,0xF,0xE, - 0xD,0xB,0x4,0x1,0x3,0xF,0x5,0x9,0x0,0xA,0xE,0x7,0x6,0x8,0x2,0xC, - 0x1,0xF,0xD,0x0,0x5,0x7,0xA,0x4,0x9,0x2,0x3,0xE,0x6,0xB,0x8,0xC - }; - - /* - * class content S-box parameters for encrypting - * getting from, see: http://tools.ietf.org/id/draft-popov-cryptopro-cpalgs-01.txt - * http://tools.ietf.org/id/draft-popov-cryptopro-cpalgs-02.txt - */ - private static byte[] ESbox_Test = { - 0x4,0x2,0xF,0x5,0x9,0x1,0x0,0x8,0xE,0x3,0xB,0xC,0xD,0x7,0xA,0x6, - 0xC,0x9,0xF,0xE,0x8,0x1,0x3,0xA,0x2,0x7,0x4,0xD,0x6,0x0,0xB,0x5, - 0xD,0x8,0xE,0xC,0x7,0x3,0x9,0xA,0x1,0x5,0x2,0x4,0x6,0xF,0x0,0xB, - 0xE,0x9,0xB,0x2,0x5,0xF,0x7,0x1,0x0,0xD,0xC,0x6,0xA,0x4,0x3,0x8, - 0x3,0xE,0x5,0x9,0x6,0x8,0x0,0xD,0xA,0xB,0x7,0xC,0x2,0x1,0xF,0x4, - 0x8,0xF,0x6,0xB,0x1,0x9,0xC,0x5,0xD,0x3,0x7,0xA,0x0,0xE,0x2,0x4, - 0x9,0xB,0xC,0x0,0x3,0x6,0x7,0x5,0x4,0x8,0xE,0xF,0x1,0xA,0x2,0xD, - 0xC,0x6,0x5,0x2,0xB,0x0,0x9,0xD,0x3,0xE,0x7,0xA,0xF,0x4,0x1,0x8 - }; - - private static byte[] ESbox_A = { - 0x9,0x6,0x3,0x2,0x8,0xB,0x1,0x7,0xA,0x4,0xE,0xF,0xC,0x0,0xD,0x5, - 0x3,0x7,0xE,0x9,0x8,0xA,0xF,0x0,0x5,0x2,0x6,0xC,0xB,0x4,0xD,0x1, - 0xE,0x4,0x6,0x2,0xB,0x3,0xD,0x8,0xC,0xF,0x5,0xA,0x0,0x7,0x1,0x9, - 0xE,0x7,0xA,0xC,0xD,0x1,0x3,0x9,0x0,0x2,0xB,0x4,0xF,0x8,0x5,0x6, - 0xB,0x5,0x1,0x9,0x8,0xD,0xF,0x0,0xE,0x4,0x2,0x3,0xC,0x7,0xA,0x6, - 0x3,0xA,0xD,0xC,0x1,0x2,0x0,0xB,0x7,0x5,0x9,0x4,0x8,0xF,0xE,0x6, - 0x1,0xD,0x2,0x9,0x7,0xA,0x6,0x0,0x8,0xC,0x4,0x5,0xF,0x3,0xB,0xE, - 0xB,0xA,0xF,0x5,0x0,0xC,0xE,0x8,0x6,0x2,0x3,0x9,0x1,0x7,0xD,0x4 - }; - - private static byte[] ESbox_B = { - 0x8,0x4,0xB,0x1,0x3,0x5,0x0,0x9,0x2,0xE,0xA,0xC,0xD,0x6,0x7,0xF, - 0x0,0x1,0x2,0xA,0x4,0xD,0x5,0xC,0x9,0x7,0x3,0xF,0xB,0x8,0x6,0xE, - 0xE,0xC,0x0,0xA,0x9,0x2,0xD,0xB,0x7,0x5,0x8,0xF,0x3,0x6,0x1,0x4, - 0x7,0x5,0x0,0xD,0xB,0x6,0x1,0x2,0x3,0xA,0xC,0xF,0x4,0xE,0x9,0x8, - 0x2,0x7,0xC,0xF,0x9,0x5,0xA,0xB,0x1,0x4,0x0,0xD,0x6,0x8,0xE,0x3, - 0x8,0x3,0x2,0x6,0x4,0xD,0xE,0xB,0xC,0x1,0x7,0xF,0xA,0x0,0x9,0x5, - 0x5,0x2,0xA,0xB,0x9,0x1,0xC,0x3,0x7,0x4,0xD,0x0,0x6,0xF,0x8,0xE, - 0x0,0x4,0xB,0xE,0x8,0x3,0x7,0x1,0xA,0x2,0x9,0x6,0xF,0xD,0x5,0xC - }; - - private static byte[] ESbox_C = { - 0x1,0xB,0xC,0x2,0x9,0xD,0x0,0xF,0x4,0x5,0x8,0xE,0xA,0x7,0x6,0x3, - 0x0,0x1,0x7,0xD,0xB,0x4,0x5,0x2,0x8,0xE,0xF,0xC,0x9,0xA,0x6,0x3, - 0x8,0x2,0x5,0x0,0x4,0x9,0xF,0xA,0x3,0x7,0xC,0xD,0x6,0xE,0x1,0xB, - 0x3,0x6,0x0,0x1,0x5,0xD,0xA,0x8,0xB,0x2,0x9,0x7,0xE,0xF,0xC,0x4, - 0x8,0xD,0xB,0x0,0x4,0x5,0x1,0x2,0x9,0x3,0xC,0xE,0x6,0xF,0xA,0x7, - 0xC,0x9,0xB,0x1,0x8,0xE,0x2,0x4,0x7,0x3,0x6,0x5,0xA,0x0,0xF,0xD, - 0xA,0x9,0x6,0x8,0xD,0xE,0x2,0x0,0xF,0x3,0x5,0xB,0x4,0x1,0xC,0x7, - 0x7,0x4,0x0,0x5,0xA,0x2,0xF,0xE,0xC,0x6,0x1,0xB,0xD,0x9,0x3,0x8 - }; - - private static byte[] ESbox_D = { - 0xF,0xC,0x2,0xA,0x6,0x4,0x5,0x0,0x7,0x9,0xE,0xD,0x1,0xB,0x8,0x3, - 0xB,0x6,0x3,0x4,0xC,0xF,0xE,0x2,0x7,0xD,0x8,0x0,0x5,0xA,0x9,0x1, - 0x1,0xC,0xB,0x0,0xF,0xE,0x6,0x5,0xA,0xD,0x4,0x8,0x9,0x3,0x7,0x2, - 0x1,0x5,0xE,0xC,0xA,0x7,0x0,0xD,0x6,0x2,0xB,0x4,0x9,0x3,0xF,0x8, - 0x0,0xC,0x8,0x9,0xD,0x2,0xA,0xB,0x7,0x3,0x6,0x5,0x4,0xE,0xF,0x1, - 0x8,0x0,0xF,0x3,0x2,0x5,0xE,0xB,0x1,0xA,0x4,0x7,0xC,0x9,0xD,0x6, - 0x3,0x0,0x6,0xF,0x1,0xE,0x9,0x2,0xD,0x8,0xC,0x4,0xB,0xA,0x5,0x7, - 0x1,0xA,0x6,0x8,0xF,0xB,0x0,0x4,0xC,0x3,0x5,0x9,0x7,0xD,0x2,0xE - }; - - //S-box for digest - private static byte DSbox_Test[] = { - 0x4,0xA,0x9,0x2,0xD,0x8,0x0,0xE,0x6,0xB,0x1,0xC,0x7,0xF,0x5,0x3, - 0xE,0xB,0x4,0xC,0x6,0xD,0xF,0xA,0x2,0x3,0x8,0x1,0x0,0x7,0x5,0x9, - 0x5,0x8,0x1,0xD,0xA,0x3,0x4,0x2,0xE,0xF,0xC,0x7,0x6,0x0,0x9,0xB, - 0x7,0xD,0xA,0x1,0x0,0x8,0x9,0xF,0xE,0x4,0x6,0xC,0xB,0x2,0x5,0x3, - 0x6,0xC,0x7,0x1,0x5,0xF,0xD,0x8,0x4,0xA,0x9,0xE,0x0,0x3,0xB,0x2, - 0x4,0xB,0xA,0x0,0x7,0x2,0x1,0xD,0x3,0x6,0x8,0x5,0x9,0xC,0xF,0xE, - 0xD,0xB,0x4,0x1,0x3,0xF,0x5,0x9,0x0,0xA,0xE,0x7,0x6,0x8,0x2,0xC, - 0x1,0xF,0xD,0x0,0x5,0x7,0xA,0x4,0x9,0x2,0x3,0xE,0x6,0xB,0x8,0xC - }; - - private static byte DSbox_A[] = { - 0xA,0x4,0x5,0x6,0x8,0x1,0x3,0x7,0xD,0xC,0xE,0x0,0x9,0x2,0xB,0xF, - 0x5,0xF,0x4,0x0,0x2,0xD,0xB,0x9,0x1,0x7,0x6,0x3,0xC,0xE,0xA,0x8, - 0x7,0xF,0xC,0xE,0x9,0x4,0x1,0x0,0x3,0xB,0x5,0x2,0x6,0xA,0x8,0xD, - 0x4,0xA,0x7,0xC,0x0,0xF,0x2,0x8,0xE,0x1,0x6,0x5,0xD,0xB,0x9,0x3, - 0x7,0x6,0x4,0xB,0x9,0xC,0x2,0xA,0x1,0x8,0x0,0xE,0xF,0xD,0x3,0x5, - 0x7,0x6,0x2,0x4,0xD,0x9,0xF,0x0,0xA,0x1,0x5,0xB,0x8,0xE,0xC,0x3, - 0xD,0xE,0x4,0x1,0x7,0x0,0x5,0xA,0x3,0xC,0x8,0xF,0x6,0x2,0x9,0xB, - 0x1,0x3,0xA,0x9,0x5,0xB,0x4,0xF,0x8,0x6,0x7,0xE,0xD,0x0,0x2,0xC - }; - - // - // pre-defined sbox table - // - private static Hashtable sBoxes = new Hashtable(); - - static - { - addSBox("Default", Sbox_Default); - addSBox("E-TEST", ESbox_Test); - addSBox("E-A", ESbox_A); - addSBox("E-B", ESbox_B); - addSBox("E-C", ESbox_C); - addSBox("E-D", ESbox_D); - addSBox("D-TEST", DSbox_Test); - addSBox("D-A", DSbox_A); - } - - private static void addSBox(String sBoxName, byte[] sBox) - { - sBoxes.put(Strings.toUpperCase(sBoxName), sBox); - } - - /** - * standard constructor. - */ - public GOST28147Engine() - { - } - - /** - * initialise an GOST28147 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof ParametersWithSBox) - { - ParametersWithSBox param = (ParametersWithSBox)params; - - // - // Set the S-Box - // - byte[] sBox = param.getSBox(); - if (sBox.length != Sbox_Default.length) - { - throw new IllegalArgumentException("invalid S-box passed to GOST28147 init"); - } - this.S = Arrays.clone(sBox); - - // - // set key if there is one - // - if (param.getParameters() != null) - { - workingKey = generateWorkingKey(forEncryption, - ((KeyParameter)param.getParameters()).getKey()); - } - } - else if (params instanceof KeyParameter) - { - workingKey = generateWorkingKey(forEncryption, - ((KeyParameter)params).getKey()); - } - else if (params != null) - { - throw new IllegalArgumentException("invalid parameter passed to GOST28147 init - " + params.getClass().getName()); - } - } - - public String getAlgorithmName() - { - return "GOST28147"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("GOST28147 engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - GOST28147Func(workingKey, in, inOff, out, outOff); - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private int[] generateWorkingKey( - boolean forEncryption, - byte[] userKey) - { - this.forEncryption = forEncryption; - - if (userKey.length != 32) - { - throw new IllegalArgumentException("Key length invalid. Key needs to be 32 byte - 256 bit!!!"); - } - - int key[] = new int[8]; - for(int i=0; i!=8; i++) - { - key[i] = bytesToint(userKey,i*4); - } - - return key; - } - - private int GOST28147_mainStep(int n1, int key) - { - int cm = (key + n1); // CM1 - - // S-box replacing - - int om = S[ 0 + ((cm >> (0 * 4)) & 0xF)] << (0 * 4); - om += S[ 16 + ((cm >> (1 * 4)) & 0xF)] << (1 * 4); - om += S[ 32 + ((cm >> (2 * 4)) & 0xF)] << (2 * 4); - om += S[ 48 + ((cm >> (3 * 4)) & 0xF)] << (3 * 4); - om += S[ 64 + ((cm >> (4 * 4)) & 0xF)] << (4 * 4); - om += S[ 80 + ((cm >> (5 * 4)) & 0xF)] << (5 * 4); - om += S[ 96 + ((cm >> (6 * 4)) & 0xF)] << (6 * 4); - om += S[112 + ((cm >> (7 * 4)) & 0xF)] << (7 * 4); - - return om << 11 | om >>> (32-11); // 11-leftshift - } - - private void GOST28147Func( - int[] workingKey, - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int N1, N2, tmp; //tmp -> for saving N1 - N1 = bytesToint(in, inOff); - N2 = bytesToint(in, inOff + 4); - - if (this.forEncryption) - { - for(int k = 0; k < 3; k++) // 1-24 steps - { - for(int j = 0; j < 8; j++) - { - tmp = N1; - N1 = N2 ^ GOST28147_mainStep(N1, workingKey[j]); // CM2 - N2 = tmp; - } - } - for(int j = 7; j > 0; j--) // 25-31 steps - { - tmp = N1; - N1 = N2 ^ GOST28147_mainStep(N1, workingKey[j]); // CM2 - N2 = tmp; - } - } - else //decrypt - { - for(int j = 0; j < 8; j++) // 1-8 steps - { - tmp = N1; - N1 = N2 ^ GOST28147_mainStep(N1, workingKey[j]); // CM2 - N2 = tmp; - } - for(int k = 0; k < 3; k++) //9-31 steps - { - for(int j = 7; j >= 0; j--) - { - if ((k == 2) && (j==0)) - { - break; // break 32 step - } - tmp = N1; - N1 = N2 ^ GOST28147_mainStep(N1, workingKey[j]); // CM2 - N2 = tmp; - } - } - } - - N2 = N2 ^ GOST28147_mainStep(N1, workingKey[0]); // 32 step (N1=N1) - - intTobytes(N1, out, outOff); - intTobytes(N2, out, outOff + 4); - } - - //array of bytes to type int - private int bytesToint( - byte[] in, - int inOff) - { - return ((in[inOff + 3] << 24) & 0xff000000) + ((in[inOff + 2] << 16) & 0xff0000) + - ((in[inOff + 1] << 8) & 0xff00) + (in[inOff] & 0xff); - } - - //int to array of bytes - private void intTobytes( - int num, - byte[] out, - int outOff) - { - out[outOff + 3] = (byte)(num >>> 24); - out[outOff + 2] = (byte)(num >>> 16); - out[outOff + 1] = (byte)(num >>> 8); - out[outOff] = (byte)num; - } - - /** - * Return the S-Box associated with SBoxName - * @param sBoxName name of the S-Box - * @return byte array representing the S-Box - */ - public static byte[] getSBox( - String sBoxName) - { - byte[] sBox = (byte[])sBoxes.get(Strings.toUpperCase(sBoxName)); - - if (sBox == null) - { - throw new IllegalArgumentException("Unknown S-Box - possible types: " - + "\"Default\", \"E-Test\", \"E-A\", \"E-B\", \"E-C\", \"E-D\", \"D-Test\", \"D-A\"."); - } - - return Arrays.clone(sBox); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grain128Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grain128Engine.java deleted file mode 100644 index c96ba5b91..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grain128Engine.java +++ /dev/null @@ -1,302 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream - * cipher, Grain-128. - */ -public class Grain128Engine - implements StreamCipher -{ - - /** - * Constants - */ - private static final int STATE_SIZE = 4; - - /** - * Variables to hold the state of the engine during encryption and - * decryption - */ - private byte[] workingKey; - private byte[] workingIV; - private byte[] out; - private int[] lfsr; - private int[] nfsr; - private int output; - private int index = 4; - - private boolean initialised = false; - - public String getAlgorithmName() - { - return "Grain-128"; - } - - /** - * Initialize a Grain-128 cipher. - * - * @param forEncryption Whether or not we are for encryption. - * @param params The parameters required to set up the cipher. - * @throws IllegalArgumentException If the params argument is inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - /** - * Grain encryption and decryption is completely symmetrical, so the - * 'forEncryption' is irrelevant. - */ - if (!(params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException( - "Grain-128 Init parameters must include an IV"); - } - - ParametersWithIV ivParams = (ParametersWithIV)params; - - byte[] iv = ivParams.getIV(); - - if (iv == null || iv.length != 12) - { - throw new IllegalArgumentException( - "Grain-128 requires exactly 12 bytes of IV"); - } - - if (!(ivParams.getParameters() instanceof KeyParameter)) - { - throw new IllegalArgumentException( - "Grain-128 Init parameters must include a key"); - } - - KeyParameter key = (KeyParameter)ivParams.getParameters(); - - /** - * Initialize variables. - */ - workingIV = new byte[key.getKey().length]; - workingKey = new byte[key.getKey().length]; - lfsr = new int[STATE_SIZE]; - nfsr = new int[STATE_SIZE]; - out = new byte[4]; - - System.arraycopy(iv, 0, workingIV, 0, iv.length); - System.arraycopy(key.getKey(), 0, workingKey, 0, key.getKey().length); - - reset(); - } - - /** - * 256 clocks initialization phase. - */ - private void initGrain() - { - for (int i = 0; i < 8; i++) - { - output = getOutput(); - nfsr = shift(nfsr, getOutputNFSR() ^ lfsr[0] ^ output); - lfsr = shift(lfsr, getOutputLFSR() ^ output); - } - initialised = true; - } - - /** - * Get output from non-linear function g(x). - * - * @return Output from NFSR. - */ - private int getOutputNFSR() - { - int b0 = nfsr[0]; - int b3 = nfsr[0] >>> 3 | nfsr[1] << 29; - int b11 = nfsr[0] >>> 11 | nfsr[1] << 21; - int b13 = nfsr[0] >>> 13 | nfsr[1] << 19; - int b17 = nfsr[0] >>> 17 | nfsr[1] << 15; - int b18 = nfsr[0] >>> 18 | nfsr[1] << 14; - int b26 = nfsr[0] >>> 26 | nfsr[1] << 6; - int b27 = nfsr[0] >>> 27 | nfsr[1] << 5; - int b40 = nfsr[1] >>> 8 | nfsr[2] << 24; - int b48 = nfsr[1] >>> 16 | nfsr[2] << 16; - int b56 = nfsr[1] >>> 24 | nfsr[2] << 8; - int b59 = nfsr[1] >>> 27 | nfsr[2] << 5; - int b61 = nfsr[1] >>> 29 | nfsr[2] << 3; - int b65 = nfsr[2] >>> 1 | nfsr[3] << 31; - int b67 = nfsr[2] >>> 3 | nfsr[3] << 29; - int b68 = nfsr[2] >>> 4 | nfsr[3] << 28; - int b84 = nfsr[2] >>> 20 | nfsr[3] << 12; - int b91 = nfsr[2] >>> 27 | nfsr[3] << 5; - int b96 = nfsr[3]; - - return b0 ^ b26 ^ b56 ^ b91 ^ b96 ^ b3 & b67 ^ b11 & b13 ^ b17 & b18 - ^ b27 & b59 ^ b40 & b48 ^ b61 & b65 ^ b68 & b84; - } - - /** - * Get output from linear function f(x). - * - * @return Output from LFSR. - */ - private int getOutputLFSR() - { - int s0 = lfsr[0]; - int s7 = lfsr[0] >>> 7 | lfsr[1] << 25; - int s38 = lfsr[1] >>> 6 | lfsr[2] << 26; - int s70 = lfsr[2] >>> 6 | lfsr[3] << 26; - int s81 = lfsr[2] >>> 17 | lfsr[3] << 15; - int s96 = lfsr[3]; - - return s0 ^ s7 ^ s38 ^ s70 ^ s81 ^ s96; - } - - /** - * Get output from output function h(x). - * - * @return Output from h(x). - */ - private int getOutput() - { - int b2 = nfsr[0] >>> 2 | nfsr[1] << 30; - int b12 = nfsr[0] >>> 12 | nfsr[1] << 20; - int b15 = nfsr[0] >>> 15 | nfsr[1] << 17; - int b36 = nfsr[1] >>> 4 | nfsr[2] << 28; - int b45 = nfsr[1] >>> 13 | nfsr[2] << 19; - int b64 = nfsr[2]; - int b73 = nfsr[2] >>> 9 | nfsr[3] << 23; - int b89 = nfsr[2] >>> 25 | nfsr[3] << 7; - int b95 = nfsr[2] >>> 31 | nfsr[3] << 1; - int s8 = lfsr[0] >>> 8 | lfsr[1] << 24; - int s13 = lfsr[0] >>> 13 | lfsr[1] << 19; - int s20 = lfsr[0] >>> 20 | lfsr[1] << 12; - int s42 = lfsr[1] >>> 10 | lfsr[2] << 22; - int s60 = lfsr[1] >>> 28 | lfsr[2] << 4; - int s79 = lfsr[2] >>> 15 | lfsr[3] << 17; - int s93 = lfsr[2] >>> 29 | lfsr[3] << 3; - int s95 = lfsr[2] >>> 31 | lfsr[3] << 1; - - return b12 & s8 ^ s13 & s20 ^ b95 & s42 ^ s60 & s79 ^ b12 & b95 & s95 ^ s93 - ^ b2 ^ b15 ^ b36 ^ b45 ^ b64 ^ b73 ^ b89; - } - - /** - * Shift array 32 bits and add val to index.length - 1. - * - * @param array The array to shift. - * @param val The value to shift in. - * @return The shifted array with val added to index.length - 1. - */ - private int[] shift(int[] array, int val) - { - array[0] = array[1]; - array[1] = array[2]; - array[2] = array[3]; - array[3] = val; - - return array; - } - - /** - * Set keys, reset cipher. - * - * @param keyBytes The key. - * @param ivBytes The IV. - */ - private void setKey(byte[] keyBytes, byte[] ivBytes) - { - ivBytes[12] = (byte)0xFF; - ivBytes[13] = (byte)0xFF; - ivBytes[14] = (byte)0xFF; - ivBytes[15] = (byte)0xFF; - workingKey = keyBytes; - workingIV = ivBytes; - - /** - * Load NFSR and LFSR - */ - int j = 0; - for (int i = 0; i < nfsr.length; i++) - { - nfsr[i] = ((workingKey[j + 3]) << 24) | ((workingKey[j + 2]) << 16) - & 0x00FF0000 | ((workingKey[j + 1]) << 8) & 0x0000FF00 - | ((workingKey[j]) & 0x000000FF); - - lfsr[i] = ((workingIV[j + 3]) << 24) | ((workingIV[j + 2]) << 16) - & 0x00FF0000 | ((workingIV[j + 1]) << 8) & 0x0000FF00 - | ((workingIV[j]) & 0x000000FF); - j += 4; - } - } - - public void processBytes(byte[] in, int inOff, int len, byte[] out, - int outOff) - throws DataLengthException - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - out[outOff + i] = (byte)(in[inOff + i] ^ getKeyStream()); - } - } - - public void reset() - { - index = 4; - setKey(workingKey, workingIV); - initGrain(); - } - - /** - * Run Grain one round(i.e. 32 bits). - */ - private void oneRound() - { - output = getOutput(); - out[0] = (byte)output; - out[1] = (byte)(output >> 8); - out[2] = (byte)(output >> 16); - out[3] = (byte)(output >> 24); - - nfsr = shift(nfsr, getOutputNFSR() ^ lfsr[0]); - lfsr = shift(lfsr, getOutputLFSR()); - } - - public byte returnByte(byte in) - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - return (byte)(in ^ getKeyStream()); - } - - private byte getKeyStream() - { - if (index > 3) - { - oneRound(); - index = 0; - } - return out[index++]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grainv1Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grainv1Engine.java deleted file mode 100644 index cd034bee1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Grainv1Engine.java +++ /dev/null @@ -1,288 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream - * cipher, Grain v1. - */ -public class Grainv1Engine - implements StreamCipher -{ - - /** - * Constants - */ - private static final int STATE_SIZE = 5; - - /** - * Variables to hold the state of the engine during encryption and - * decryption - */ - private byte[] workingKey; - private byte[] workingIV; - private byte[] out; - private int[] lfsr; - private int[] nfsr; - private int output; - private int index = 2; - - private boolean initialised = false; - - public String getAlgorithmName() - { - return "Grain v1"; - } - - /** - * Initialize a Grain v1 cipher. - * - * @param forEncryption Whether or not we are for encryption. - * @param params The parameters required to set up the cipher. - * @throws IllegalArgumentException If the params argument is inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - /** - * Grain encryption and decryption is completely symmetrical, so the - * 'forEncryption' is irrelevant. - */ - if (!(params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException( - "Grain v1 Init parameters must include an IV"); - } - - ParametersWithIV ivParams = (ParametersWithIV)params; - - byte[] iv = ivParams.getIV(); - - if (iv == null || iv.length != 8) - { - throw new IllegalArgumentException( - "Grain v1 requires exactly 8 bytes of IV"); - } - - if (!(ivParams.getParameters() instanceof KeyParameter)) - { - throw new IllegalArgumentException( - "Grain v1 Init parameters must include a key"); - } - - KeyParameter key = (KeyParameter)ivParams.getParameters(); - - /** - * Initialize variables. - */ - workingIV = new byte[key.getKey().length]; - workingKey = new byte[key.getKey().length]; - lfsr = new int[STATE_SIZE]; - nfsr = new int[STATE_SIZE]; - out = new byte[2]; - - System.arraycopy(iv, 0, workingIV, 0, iv.length); - System.arraycopy(key.getKey(), 0, workingKey, 0, key.getKey().length); - - reset(); - } - - /** - * 160 clocks initialization phase. - */ - private void initGrain() - { - for (int i = 0; i < 10; i++) - { - output = getOutput(); - nfsr = shift(nfsr, getOutputNFSR() ^ lfsr[0] ^ output); - lfsr = shift(lfsr, getOutputLFSR() ^ output); - } - initialised = true; - } - - /** - * Get output from non-linear function g(x). - * - * @return Output from NFSR. - */ - private int getOutputNFSR() - { - int b0 = nfsr[0]; - int b9 = nfsr[0] >>> 9 | nfsr[1] << 7; - int b14 = nfsr[0] >>> 14 | nfsr[1] << 2; - int b15 = nfsr[0] >>> 15 | nfsr[1] << 1; - int b21 = nfsr[1] >>> 5 | nfsr[2] << 11; - int b28 = nfsr[1] >>> 12 | nfsr[2] << 4; - int b33 = nfsr[2] >>> 1 | nfsr[3] << 15; - int b37 = nfsr[2] >>> 5 | nfsr[3] << 11; - int b45 = nfsr[2] >>> 13 | nfsr[3] << 3; - int b52 = nfsr[3] >>> 4 | nfsr[4] << 12; - int b60 = nfsr[3] >>> 12 | nfsr[4] << 4; - int b62 = nfsr[3] >>> 14 | nfsr[4] << 2; - int b63 = nfsr[3] >>> 15 | nfsr[4] << 1; - - return (b62 ^ b60 ^ b52 ^ b45 ^ b37 ^ b33 ^ b28 ^ b21 ^ b14 - ^ b9 ^ b0 ^ b63 & b60 ^ b37 & b33 ^ b15 & b9 ^ b60 & b52 & b45 - ^ b33 & b28 & b21 ^ b63 & b45 & b28 & b9 ^ b60 & b52 & b37 - & b33 ^ b63 & b60 & b21 & b15 ^ b63 & b60 & b52 & b45 & b37 - ^ b33 & b28 & b21 & b15 & b9 ^ b52 & b45 & b37 & b33 & b28 - & b21) & 0x0000FFFF; - } - - /** - * Get output from linear function f(x). - * - * @return Output from LFSR. - */ - private int getOutputLFSR() - { - int s0 = lfsr[0]; - int s13 = lfsr[0] >>> 13 | lfsr[1] << 3; - int s23 = lfsr[1] >>> 7 | lfsr[2] << 9; - int s38 = lfsr[2] >>> 6 | lfsr[3] << 10; - int s51 = lfsr[3] >>> 3 | lfsr[4] << 13; - int s62 = lfsr[3] >>> 14 | lfsr[4] << 2; - - return (s0 ^ s13 ^ s23 ^ s38 ^ s51 ^ s62) & 0x0000FFFF; - } - - /** - * Get output from output function h(x). - * - * @return Output from h(x). - */ - private int getOutput() - { - int b1 = nfsr[0] >>> 1 | nfsr[1] << 15; - int b2 = nfsr[0] >>> 2 | nfsr[1] << 14; - int b4 = nfsr[0] >>> 4 | nfsr[1] << 12; - int b10 = nfsr[0] >>> 10 | nfsr[1] << 6; - int b31 = nfsr[1] >>> 15 | nfsr[2] << 1; - int b43 = nfsr[2] >>> 11 | nfsr[3] << 5; - int b56 = nfsr[3] >>> 8 | nfsr[4] << 8; - int b63 = nfsr[3] >>> 15 | nfsr[4] << 1; - int s3 = lfsr[0] >>> 3 | lfsr[1] << 13; - int s25 = lfsr[1] >>> 9 | lfsr[2] << 7; - int s46 = lfsr[2] >>> 14 | lfsr[3] << 2; - int s64 = lfsr[4]; - - return (s25 ^ b63 ^ s3 & s64 ^ s46 & s64 ^ s64 & b63 ^ s3 - & s25 & s46 ^ s3 & s46 & s64 ^ s3 & s46 & b63 ^ s25 & s46 & b63 ^ s46 - & s64 & b63 ^ b1 ^ b2 ^ b4 ^ b10 ^ b31 ^ b43 ^ b56) & 0x0000FFFF; - } - - /** - * Shift array 16 bits and add val to index.length - 1. - * - * @param array The array to shift. - * @param val The value to shift in. - * @return The shifted array with val added to index.length - 1. - */ - private int[] shift(int[] array, int val) - { - array[0] = array[1]; - array[1] = array[2]; - array[2] = array[3]; - array[3] = array[4]; - array[4] = val; - - return array; - } - - /** - * Set keys, reset cipher. - * - * @param keyBytes The key. - * @param ivBytes The IV. - */ - private void setKey(byte[] keyBytes, byte[] ivBytes) - { - ivBytes[8] = (byte)0xFF; - ivBytes[9] = (byte)0xFF; - workingKey = keyBytes; - workingIV = ivBytes; - - /** - * Load NFSR and LFSR - */ - int j = 0; - for (int i = 0; i < nfsr.length; i++) - { - nfsr[i] = (workingKey[j + 1] << 8 | workingKey[j] & 0xFF) & 0x0000FFFF; - lfsr[i] = (workingIV[j + 1] << 8 | workingIV[j] & 0xFF) & 0x0000FFFF; - j += 2; - } - } - - public void processBytes(byte[] in, int inOff, int len, byte[] out, - int outOff) - throws DataLengthException - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - out[outOff + i] = (byte)(in[inOff + i] ^ getKeyStream()); - } - } - - public void reset() - { - index = 2; - setKey(workingKey, workingIV); - initGrain(); - } - - /** - * Run Grain one round(i.e. 16 bits). - */ - private void oneRound() - { - output = getOutput(); - out[0] = (byte)output; - out[1] = (byte)(output >> 8); - - nfsr = shift(nfsr, getOutputNFSR() ^ lfsr[0]); - lfsr = shift(lfsr, getOutputLFSR()); - } - - public byte returnByte(byte in) - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - return (byte)(in ^ getKeyStream()); - } - - private byte getKeyStream() - { - if (index > 1) - { - oneRound(); - index = 0; - } - return out[index++]; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC128Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC128Engine.java deleted file mode 100644 index bd935e601..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC128Engine.java +++ /dev/null @@ -1,257 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * HC-128 is a software-efficient stream cipher created by Hongjun Wu. It - * generates keystream from a 128-bit secret key and a 128-bit initialization - * vector. - *

    - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf - *

    - * It is a third phase candidate in the eStream contest, and is patent-free. - * No attacks are known as of today (April 2007). See - * - * http://www.ecrypt.eu.org/stream/hcp3.html - *

    - */ -public class HC128Engine - implements StreamCipher -{ - private int[] p = new int[512]; - private int[] q = new int[512]; - private int cnt = 0; - - private static int f1(int x) - { - return rotateRight(x, 7) ^ rotateRight(x, 18) - ^ (x >>> 3); - } - - private static int f2(int x) - { - return rotateRight(x, 17) ^ rotateRight(x, 19) - ^ (x >>> 10); - } - - private int g1(int x, int y, int z) - { - return (rotateRight(x, 10) ^ rotateRight(z, 23)) - + rotateRight(y, 8); - } - - private int g2(int x, int y, int z) - { - return (rotateLeft(x, 10) ^ rotateLeft(z, 23)) + rotateLeft(y, 8); - } - - private static int rotateLeft( - int x, - int bits) - { - return (x << bits) | (x >>> -bits); - } - - private static int rotateRight( - int x, - int bits) - { - return (x >>> bits) | (x << -bits); - } - - private int h1(int x) - { - return q[x & 0xFF] + q[((x >> 16) & 0xFF) + 256]; - } - - private int h2(int x) - { - return p[x & 0xFF] + p[((x >> 16) & 0xFF) + 256]; - } - - private static int mod1024(int x) - { - return x & 0x3FF; - } - - private static int mod512(int x) - { - return x & 0x1FF; - } - - private static int dim(int x, int y) - { - return mod512(x - y); - } - - private int step() - { - int j = mod512(cnt); - int ret; - if (cnt < 512) - { - p[j] += g1(p[dim(j, 3)], p[dim(j, 10)], p[dim(j, 511)]); - ret = h1(p[dim(j, 12)]) ^ p[j]; - } - else - { - q[j] += g2(q[dim(j, 3)], q[dim(j, 10)], q[dim(j, 511)]); - ret = h2(q[dim(j, 12)]) ^ q[j]; - } - cnt = mod1024(cnt + 1); - return ret; - } - - private byte[] key, iv; - private boolean initialised; - - private void init() - { - if (key.length != 16) - { - throw new java.lang.IllegalArgumentException( - "The key must be 128 bits long"); - } - - idx = 0; - cnt = 0; - - int[] w = new int[1280]; - - for (int i = 0; i < 16; i++) - { - w[i >> 2] |= (key[i] & 0xff) << (8 * (i & 0x3)); - } - System.arraycopy(w, 0, w, 4, 4); - - for (int i = 0; i < iv.length && i < 16; i++) - { - w[(i >> 2) + 8] |= (iv[i] & 0xff) << (8 * (i & 0x3)); - } - System.arraycopy(w, 8, w, 12, 4); - - for (int i = 16; i < 1280; i++) - { - w[i] = f2(w[i - 2]) + w[i - 7] + f1(w[i - 15]) + w[i - 16] + i; - } - - System.arraycopy(w, 256, p, 0, 512); - System.arraycopy(w, 768, q, 0, 512); - - for (int i = 0; i < 512; i++) - { - p[i] = step(); - } - for (int i = 0; i < 512; i++) - { - q[i] = step(); - } - - cnt = 0; - } - - public String getAlgorithmName() - { - return "HC-128"; - } - - /** - * Initialise a HC-128 cipher. - * - * @param forEncryption whether or not we are for encryption. Irrelevant, as - * encryption and decryption are the same. - * @param params the parameters required to set up the cipher. - * @throws IllegalArgumentException if the params argument is - * inappropriate (ie. the key is not 128 bit long). - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - CipherParameters keyParam = params; - - if (params instanceof ParametersWithIV) - { - iv = ((ParametersWithIV)params).getIV(); - keyParam = ((ParametersWithIV)params).getParameters(); - } - else - { - iv = new byte[0]; - } - - if (keyParam instanceof KeyParameter) - { - key = ((KeyParameter)keyParam).getKey(); - init(); - } - else - { - throw new IllegalArgumentException( - "Invalid parameter passed to HC128 init - " - + params.getClass().getName()); - } - - initialised = true; - } - - private byte[] buf = new byte[4]; - private int idx = 0; - - private byte getByte() - { - if (idx == 0) - { - int step = step(); - buf[0] = (byte)(step & 0xFF); - step >>= 8; - buf[1] = (byte)(step & 0xFF); - step >>= 8; - buf[2] = (byte)(step & 0xFF); - step >>= 8; - buf[3] = (byte)(step & 0xFF); - } - byte ret = buf[idx]; - idx = idx + 1 & 0x3; - return ret; - } - - public void processBytes(byte[] in, int inOff, int len, byte[] out, - int outOff) throws DataLengthException - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - out[outOff + i] = (byte)(in[inOff + i] ^ getByte()); - } - } - - public void reset() - { - init(); - } - - public byte returnByte(byte in) - { - return (byte)(in ^ getByte()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC256Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC256Engine.java deleted file mode 100644 index 2c2a45a0d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/HC256Engine.java +++ /dev/null @@ -1,244 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * HC-256 is a software-efficient stream cipher created by Hongjun Wu. It - * generates keystream from a 256-bit secret key and a 256-bit initialization - * vector. - *

    - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf - *

    - * Its brother, HC-128, is a third phase candidate in the eStream contest. - * The algorithm is patent-free. No attacks are known as of today (April 2007). - * See - * - * http://www.ecrypt.eu.org/stream/hcp3.html - *

    - */ -public class HC256Engine - implements StreamCipher -{ - private int[] p = new int[1024]; - private int[] q = new int[1024]; - private int cnt = 0; - - private int step() - { - int j = cnt & 0x3FF; - int ret; - if (cnt < 1024) - { - int x = p[(j - 3 & 0x3FF)]; - int y = p[(j - 1023 & 0x3FF)]; - p[j] += p[(j - 10 & 0x3FF)] - + (rotateRight(x, 10) ^ rotateRight(y, 23)) - + q[((x ^ y) & 0x3FF)]; - - x = p[(j - 12 & 0x3FF)]; - ret = (q[x & 0xFF] + q[((x >> 8) & 0xFF) + 256] - + q[((x >> 16) & 0xFF) + 512] + q[((x >> 24) & 0xFF) + 768]) - ^ p[j]; - } - else - { - int x = q[(j - 3 & 0x3FF)]; - int y = q[(j - 1023 & 0x3FF)]; - q[j] += q[(j - 10 & 0x3FF)] - + (rotateRight(x, 10) ^ rotateRight(y, 23)) - + p[((x ^ y) & 0x3FF)]; - - x = q[(j - 12 & 0x3FF)]; - ret = (p[x & 0xFF] + p[((x >> 8) & 0xFF) + 256] - + p[((x >> 16) & 0xFF) + 512] + p[((x >> 24) & 0xFF) + 768]) - ^ q[j]; - } - cnt = cnt + 1 & 0x7FF; - return ret; - } - - private byte[] key, iv; - private boolean initialised; - - private void init() - { - if (key.length != 32 && key.length != 16) - { - throw new IllegalArgumentException( - "The key must be 128/256 bits long"); - } - - if (iv.length < 16) - { - throw new IllegalArgumentException( - "The IV must be at least 128 bits long"); - } - - if (key.length != 32) - { - byte[] k = new byte[32]; - - System.arraycopy(key, 0, k, 0, key.length); - System.arraycopy(key, 0, k, 16, key.length); - - key = k; - } - - if (iv.length < 32) - { - byte[] newIV = new byte[32]; - - System.arraycopy(iv, 0, newIV, 0, iv.length); - System.arraycopy(iv, 0, newIV, iv.length, newIV.length - iv.length); - - iv = newIV; - } - - idx = 0; - cnt = 0; - - int[] w = new int[2560]; - - for (int i = 0; i < 32; i++) - { - w[i >> 2] |= (key[i] & 0xff) << (8 * (i & 0x3)); - } - - for (int i = 0; i < 32; i++) - { - w[(i >> 2) + 8] |= (iv[i] & 0xff) << (8 * (i & 0x3)); - } - - for (int i = 16; i < 2560; i++) - { - int x = w[i - 2]; - int y = w[i - 15]; - w[i] = (rotateRight(x, 17) ^ rotateRight(x, 19) ^ (x >>> 10)) - + w[i - 7] - + (rotateRight(y, 7) ^ rotateRight(y, 18) ^ (y >>> 3)) - + w[i - 16] + i; - } - - System.arraycopy(w, 512, p, 0, 1024); - System.arraycopy(w, 1536, q, 0, 1024); - - for (int i = 0; i < 4096; i++) - { - step(); - } - - cnt = 0; - } - - public String getAlgorithmName() - { - return "HC-256"; - } - - /** - * Initialise a HC-256 cipher. - * - * @param forEncryption whether or not we are for encryption. Irrelevant, as - * encryption and decryption are the same. - * @param params the parameters required to set up the cipher. - * @throws IllegalArgumentException if the params argument is - * inappropriate (ie. the key is not 256 bit long). - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - CipherParameters keyParam = params; - - if (params instanceof ParametersWithIV) - { - iv = ((ParametersWithIV)params).getIV(); - keyParam = ((ParametersWithIV)params).getParameters(); - } - else - { - iv = new byte[0]; - } - - if (keyParam instanceof KeyParameter) - { - key = ((KeyParameter)keyParam).getKey(); - init(); - } - else - { - throw new IllegalArgumentException( - "Invalid parameter passed to HC256 init - " - + params.getClass().getName()); - } - - initialised = true; - } - - private byte[] buf = new byte[4]; - private int idx = 0; - - private byte getByte() - { - if (idx == 0) - { - int step = step(); - buf[0] = (byte)(step & 0xFF); - step >>= 8; - buf[1] = (byte)(step & 0xFF); - step >>= 8; - buf[2] = (byte)(step & 0xFF); - step >>= 8; - buf[3] = (byte)(step & 0xFF); - } - byte ret = buf[idx]; - idx = idx + 1 & 0x3; - return ret; - } - - public void processBytes(byte[] in, int inOff, int len, byte[] out, - int outOff) throws DataLengthException - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() - + " not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - out[outOff + i] = (byte)(in[inOff + i] ^ getByte()); - } - } - - public void reset() - { - init(); - } - - public byte returnByte(byte in) - { - return (byte)(in ^ getByte()); - } - - private static int rotateRight( - int x, - int bits) - { - return (x >>> bits) | (x << -bits); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IDEAEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IDEAEngine.java deleted file mode 100644 index 11f9ef19c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IDEAEngine.java +++ /dev/null @@ -1,367 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * A class that provides a basic International Data Encryption Algorithm (IDEA) engine. - *

    - * This implementation is based on the "HOWTO: INTERNATIONAL DATA ENCRYPTION ALGORITHM" - * implementation summary by Fauzan Mirza (F.U.Mirza@sheffield.ac.uk). (baring 1 typo at the - * end of the mulinv function!). - *

    - * It can be found at ftp://ftp.funet.fi/pub/crypt/cryptography/symmetric/idea/ - *

    - * Note 1: This algorithm is patented in the USA, Japan, and Europe including - * at least Austria, France, Germany, Italy, Netherlands, Spain, Sweden, Switzerland - * and the United Kingdom. Non-commercial use is free, however any commercial - * products are liable for royalties. Please see - * www.mediacrypt.com for - * further details. This announcement has been included at the request of - * the patent holders. - *

    - * Note 2: Due to the requests concerning the above, this algorithm is now only - * included in the extended Bouncy Castle provider and JCE signed jars. It is - * not included in the default distributions. - */ -public class IDEAEngine - implements BlockCipher -{ - protected static final int BLOCK_SIZE = 8; - - private int[] workingKey = null; - - /** - * standard constructor. - */ - public IDEAEngine() - { - } - - /** - * initialise an IDEA cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - workingKey = generateWorkingKey(forEncryption, - ((KeyParameter)params).getKey()); - return; - } - - throw new IllegalArgumentException("invalid parameter passed to IDEA init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "IDEA"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("IDEA engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - ideaFunc(workingKey, in, inOff, out, outOff); - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private static final int MASK = 0xffff; - private static final int BASE = 0x10001; - - private int bytesToWord( - byte[] in, - int inOff) - { - return ((in[inOff] << 8) & 0xff00) + (in[inOff + 1] & 0xff); - } - - private void wordToBytes( - int word, - byte[] out, - int outOff) - { - out[outOff] = (byte)(word >>> 8); - out[outOff + 1] = (byte)word; - } - - /** - * return x = x * y where the multiplication is done modulo - * 65537 (0x10001) (as defined in the IDEA specification) and - * a zero input is taken to be 65536 (0x10000). - * - * @param x the x value - * @param y the y value - * @return x = x * y - */ - private int mul( - int x, - int y) - { - if (x == 0) - { - x = (BASE - y); - } - else if (y == 0) - { - x = (BASE - x); - } - else - { - int p = x * y; - - y = p & MASK; - x = p >>> 16; - x = y - x + ((y < x) ? 1 : 0); - } - - return x & MASK; - } - - private void ideaFunc( - int[] workingKey, - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int x0, x1, x2, x3, t0, t1; - int keyOff = 0; - - x0 = bytesToWord(in, inOff); - x1 = bytesToWord(in, inOff + 2); - x2 = bytesToWord(in, inOff + 4); - x3 = bytesToWord(in, inOff + 6); - - for (int round = 0; round < 8; round++) - { - x0 = mul(x0, workingKey[keyOff++]); - x1 += workingKey[keyOff++]; - x1 &= MASK; - x2 += workingKey[keyOff++]; - x2 &= MASK; - x3 = mul(x3, workingKey[keyOff++]); - - t0 = x1; - t1 = x2; - x2 ^= x0; - x1 ^= x3; - - x2 = mul(x2, workingKey[keyOff++]); - x1 += x2; - x1 &= MASK; - - x1 = mul(x1, workingKey[keyOff++]); - x2 += x1; - x2 &= MASK; - - x0 ^= x1; - x3 ^= x2; - x1 ^= t1; - x2 ^= t0; - } - - wordToBytes(mul(x0, workingKey[keyOff++]), out, outOff); - wordToBytes(x2 + workingKey[keyOff++], out, outOff + 2); /* NB: Order */ - wordToBytes(x1 + workingKey[keyOff++], out, outOff + 4); - wordToBytes(mul(x3, workingKey[keyOff]), out, outOff + 6); - } - - /** - * The following function is used to expand the user key to the encryption - * subkey. The first 16 bytes are the user key, and the rest of the subkey - * is calculated by rotating the previous 16 bytes by 25 bits to the left, - * and so on until the subkey is completed. - */ - private int[] expandKey( - byte[] uKey) - { - int[] key = new int[52]; - - if (uKey.length < 16) - { - byte[] tmp = new byte[16]; - - System.arraycopy(uKey, 0, tmp, tmp.length - uKey.length, uKey.length); - - uKey = tmp; - } - - for (int i = 0; i < 8; i++) - { - key[i] = bytesToWord(uKey, i * 2); - } - - for (int i = 8; i < 52; i++) - { - if ((i & 7) < 6) - { - key[i] = ((key[i - 7] & 127) << 9 | key[i - 6] >> 7) & MASK; - } - else if ((i & 7) == 6) - { - key[i] = ((key[i - 7] & 127) << 9 | key[i - 14] >> 7) & MASK; - } - else - { - key[i] = ((key[i - 15] & 127) << 9 | key[i - 14] >> 7) & MASK; - } - } - - return key; - } - - /** - * This function computes multiplicative inverse using Euclid's Greatest - * Common Divisor algorithm. Zero and one are self inverse. - *

    - * i.e. x * mulInv(x) == 1 (modulo BASE) - */ - private int mulInv( - int x) - { - int t0, t1, q, y; - - if (x < 2) - { - return x; - } - - t0 = 1; - t1 = BASE / x; - y = BASE % x; - - while (y != 1) - { - q = x / y; - x = x % y; - t0 = (t0 + (t1 * q)) & MASK; - if (x == 1) - { - return t0; - } - q = y / x; - y = y % x; - t1 = (t1 + (t0 * q)) & MASK; - } - - return (1 - t1) & MASK; - } - - /** - * Return the additive inverse of x. - *

    - * i.e. x + addInv(x) == 0 - */ - int addInv( - int x) - { - return (0 - x) & MASK; - } - - /** - * The function to invert the encryption subkey to the decryption subkey. - * It also involves the multiplicative inverse and the additive inverse functions. - */ - private int[] invertKey( - int[] inKey) - { - int t1, t2, t3, t4; - int p = 52; /* We work backwards */ - int[] key = new int[52]; - int inOff = 0; - - t1 = mulInv(inKey[inOff++]); - t2 = addInv(inKey[inOff++]); - t3 = addInv(inKey[inOff++]); - t4 = mulInv(inKey[inOff++]); - key[--p] = t4; - key[--p] = t3; - key[--p] = t2; - key[--p] = t1; - - for (int round = 1; round < 8; round++) - { - t1 = inKey[inOff++]; - t2 = inKey[inOff++]; - key[--p] = t2; - key[--p] = t1; - - t1 = mulInv(inKey[inOff++]); - t2 = addInv(inKey[inOff++]); - t3 = addInv(inKey[inOff++]); - t4 = mulInv(inKey[inOff++]); - key[--p] = t4; - key[--p] = t2; /* NB: Order */ - key[--p] = t3; - key[--p] = t1; - } - - t1 = inKey[inOff++]; - t2 = inKey[inOff++]; - key[--p] = t2; - key[--p] = t1; - - t1 = mulInv(inKey[inOff++]); - t2 = addInv(inKey[inOff++]); - t3 = addInv(inKey[inOff++]); - t4 = mulInv(inKey[inOff]); - key[--p] = t4; - key[--p] = t3; - key[--p] = t2; - key[--p] = t1; - - return key; - } - - private int[] generateWorkingKey( - boolean forEncryption, - byte[] userKey) - { - if (forEncryption) - { - return expandKey(userKey); - } - else - { - return invertKey(expandKey(userKey)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IESEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IESEngine.java deleted file mode 100755 index 892f25c74..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/IESEngine.java +++ /dev/null @@ -1,398 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.EphemeralKeyPair; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.KeyParser; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.EphemeralKeyPairGenerator; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.IESParameters; -import org.spongycastle.crypto.params.IESWithCipherParameters; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; - -/** - * Support class for constructing integrated encryption ciphers - * for doing basic message exchanges on top of key agreement ciphers. - * Follows the description given in IEEE Std 1363a. - */ -public class IESEngine -{ - BasicAgreement agree; - DerivationFunction kdf; - Mac mac; - BufferedBlockCipher cipher; - byte[] macBuf; - - boolean forEncryption; - CipherParameters privParam, pubParam; - IESParameters param; - - byte[] V; - private EphemeralKeyPairGenerator keyPairGenerator; - private KeyParser keyParser; - - - /** - * set up for use with stream mode, where the key derivation function - * is used to provide a stream of bytes to xor with the message. - * - * @param agree the key agreement used as the basis for the encryption - * @param kdf the key derivation function used for byte generation - * @param mac the message authentication code generator for the message - */ - public IESEngine( - BasicAgreement agree, - DerivationFunction kdf, - Mac mac) - { - this.agree = agree; - this.kdf = kdf; - this.mac = mac; - this.macBuf = new byte[mac.getMacSize()]; - this.cipher = null; - } - - - /** - * set up for use in conjunction with a block cipher to handle the - * message. - * - * @param agree the key agreement used as the basis for the encryption - * @param kdf the key derivation function used for byte generation - * @param mac the message authentication code generator for the message - * @param cipher the cipher to used for encrypting the message - */ - public IESEngine( - BasicAgreement agree, - DerivationFunction kdf, - Mac mac, - BufferedBlockCipher cipher) - { - this.agree = agree; - this.kdf = kdf; - this.mac = mac; - this.macBuf = new byte[mac.getMacSize()]; - this.cipher = cipher; - } - - - /** - * Initialise the encryptor. - * - * @param forEncryption whether or not this is encryption/decryption. - * @param privParam our private key parameters - * @param pubParam the recipient's/sender's public key parameters - * @param param encoding and derivation parameters. - */ - public void init( - boolean forEncryption, - CipherParameters privParam, - CipherParameters pubParam, - CipherParameters param) - { - this.forEncryption = forEncryption; - this.privParam = privParam; - this.pubParam = pubParam; - this.param = (IESParameters)param; - this.V = new byte[0]; - } - - - /** - * Initialise the encryptor. - * - * @param publicKey the recipient's/sender's public key parameters - * @param params encoding and derivation parameters. - * @param ephemeralKeyPairGenerator the ephemeral key pair generator to use. - */ - public void init(AsymmetricKeyParameter publicKey, CipherParameters params, EphemeralKeyPairGenerator ephemeralKeyPairGenerator) - { - this.forEncryption = true; - this.pubParam = publicKey; - this.param = (IESParameters)params; - this.keyPairGenerator = ephemeralKeyPairGenerator; - } - - /** - * Initialise the encryptor. - * - * @param privateKey the recipient's private key. - * @param params encoding and derivation parameters. - * @param publicKeyParser the parser for reading the ephemeral public key. - */ - public void init(AsymmetricKeyParameter privateKey, CipherParameters params, KeyParser publicKeyParser) - { - this.forEncryption = false; - this.privParam = privateKey; - this.param = (IESParameters)params; - this.keyParser = publicKeyParser; - } - - public BufferedBlockCipher getCipher() - { - return cipher; - } - - public Mac getMac() - { - return mac; - } - - private byte[] encryptBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] C = null, K = null, K1 = null, K2 = null; - int len; - - if (cipher == null) - { - // Streaming mode. - K1 = new byte[inLen]; - K2 = new byte[param.getMacKeySize() / 8]; - K = new byte[K1.length + K2.length]; - - kdf.generateBytes(K, 0, K.length); - - if (V.length != 0) - { - System.arraycopy(K, 0, K2, 0, K2.length); - System.arraycopy(K, K2.length, K1, 0, K1.length); - } - else - { - System.arraycopy(K, 0, K1, 0, K1.length); - System.arraycopy(K, inLen, K2, 0, K2.length); - } - - C = new byte[inLen]; - - for (int i = 0; i != inLen; i++) - { - C[i] = (byte)(in[inOff + i] ^ K1[i]); - } - len = inLen; - } - else - { - // Block cipher mode. - K1 = new byte[((IESWithCipherParameters)param).getCipherKeySize() / 8]; - K2 = new byte[param.getMacKeySize() / 8]; - K = new byte[K1.length + K2.length]; - - kdf.generateBytes(K, 0, K.length); - System.arraycopy(K, 0, K1, 0, K1.length); - System.arraycopy(K, K1.length, K2, 0, K2.length); - - cipher.init(true, new KeyParameter(K1)); - C = new byte[cipher.getOutputSize(inLen)]; - len = cipher.processBytes(in, inOff, inLen, C, 0); - len += cipher.doFinal(C, len); - } - - - // Convert the length of the encoding vector into a byte array. - byte[] P2 = param.getEncodingV(); - byte[] L2 = new byte[4]; - if (V.length != 0 && P2 != null) - { - Pack.intToBigEndian(P2.length * 8, L2, 0); - } - - - // Apply the MAC. - byte[] T = new byte[mac.getMacSize()]; - - mac.init(new KeyParameter(K2)); - mac.update(C, 0, C.length); - if (P2 != null) - { - mac.update(P2, 0, P2.length); - } - if (V.length != 0) - { - mac.update(L2, 0, L2.length); - } - mac.doFinal(T, 0); - - - // Output the triple (V,C,T). - byte[] Output = new byte[V.length + len + T.length]; - System.arraycopy(V, 0, Output, 0, V.length); - System.arraycopy(C, 0, Output, V.length, len); - System.arraycopy(T, 0, Output, V.length + len, T.length); - return Output; - } - - private byte[] decryptBlock( - byte[] in_enc, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] M = null, K = null, K1 = null, K2 = null; - int len; - - if (cipher == null) - { - // Streaming mode. - K1 = new byte[inLen - V.length - mac.getMacSize()]; - K2 = new byte[param.getMacKeySize() / 8]; - K = new byte[K1.length + K2.length]; - - kdf.generateBytes(K, 0, K.length); - - if (V.length != 0) - { - System.arraycopy(K, 0, K2, 0, K2.length); - System.arraycopy(K, K2.length, K1, 0, K1.length); - } - else - { - System.arraycopy(K, 0, K1, 0, K1.length); - System.arraycopy(K, K1.length, K2, 0, K2.length); - } - - M = new byte[K1.length]; - - for (int i = 0; i != K1.length; i++) - { - M[i] = (byte)(in_enc[inOff + V.length + i] ^ K1[i]); - } - - len = K1.length; - } - else - { - // Block cipher mode. - K1 = new byte[((IESWithCipherParameters)param).getCipherKeySize() / 8]; - K2 = new byte[param.getMacKeySize() / 8]; - K = new byte[K1.length + K2.length]; - - kdf.generateBytes(K, 0, K.length); - System.arraycopy(K, 0, K1, 0, K1.length); - System.arraycopy(K, K1.length, K2, 0, K2.length); - - cipher.init(false, new KeyParameter(K1)); - - M = new byte[cipher.getOutputSize(inLen - V.length - mac.getMacSize())]; - len = cipher.processBytes(in_enc, inOff + V.length, inLen - V.length - mac.getMacSize(), M, 0); - len += cipher.doFinal(M, len); - } - - - // Convert the length of the encoding vector into a byte array. - byte[] P2 = param.getEncodingV(); - byte[] L2 = new byte[4]; - if (V.length != 0 && P2 != null) - { - Pack.intToBigEndian(P2.length * 8, L2, 0); - } - - - // Verify the MAC. - int end = inOff + inLen; - byte[] T1 = Arrays.copyOfRange(in_enc, end - mac.getMacSize(), end); - - byte[] T2 = new byte[T1.length]; - mac.init(new KeyParameter(K2)); - mac.update(in_enc, inOff + V.length, inLen - V.length - T2.length); - - if (P2 != null) - { - mac.update(P2, 0, P2.length); - } - if (V.length != 0) - { - mac.update(L2, 0, L2.length); - } - mac.doFinal(T2, 0); - - if (!Arrays.constantTimeAreEqual(T1, T2)) - { - throw new InvalidCipherTextException("Invalid MAC."); - } - - - // Output the message. - return Arrays.copyOfRange(M, 0, len); - } - - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - if (keyPairGenerator != null) - { - EphemeralKeyPair ephKeyPair = keyPairGenerator.generate(); - - this.privParam = ephKeyPair.getKeyPair().getPrivate(); - this.V = ephKeyPair.getEncodedPublicKey(); - } - } - else - { - if (keyParser != null) - { - ByteArrayInputStream bIn = new ByteArrayInputStream(in, inOff, inLen); - - try - { - this.pubParam = keyParser.readKey(bIn); - } - catch (IOException e) - { - throw new InvalidCipherTextException("unable to recover ephemeral public key: " + e.getMessage(), e); - } - - int encLength = (inLen - bIn.available()); - this.V = Arrays.copyOfRange(in, inOff, inOff + encLength); - } - } - - // Compute the common value and convert to byte array. - agree.init(privParam); - BigInteger z = agree.calculateAgreement(pubParam); - byte[] Z = BigIntegers.asUnsignedByteArray(agree.getFieldSize(), z); - - // Create input to KDF. - byte[] VZ; - if (V.length != 0) - { - VZ = new byte[V.length + Z.length]; - System.arraycopy(V, 0, VZ, 0, V.length); - System.arraycopy(Z, 0, VZ, V.length, Z.length); - } - else - { - VZ = Z; - } - - // Initialise the KDF. - KDFParameters kdfParam = new KDFParameters(VZ, param.getDerivationV()); - kdf.init(kdfParam); - - return forEncryption - ? encryptBlock(in, inOff, inLen) - : decryptBlock(in, inOff, inLen); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ISAACEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ISAACEngine.java deleted file mode 100644 index 5c15db1d1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ISAACEngine.java +++ /dev/null @@ -1,219 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.util.Pack; - -/** - * Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count). - * see: http://www.burtleburtle.net/bob/rand/isaacafa.html -*/ -public class ISAACEngine - implements StreamCipher -{ - // Constants - private final int sizeL = 8, - stateArraySize = sizeL<<5; // 256 - - // Cipher's internal state - private int[] engineState = null, // mm - results = null; // randrsl - private int a = 0, b = 0, c = 0; - - // Engine state - private int index = 0; - private byte[] keyStream = new byte[stateArraySize<<2], // results expanded into bytes - workingKey = null; - private boolean initialised = false; - - /** - * initialise an ISAAC cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to ISAAC init - " + params.getClass().getName()); - } - /* - * ISAAC encryption and decryption is completely - * symmetrical, so the 'forEncryption' is - * irrelevant. - */ - KeyParameter p = (KeyParameter)params; - setKey(p.getKey()); - - return; - } - - public byte returnByte(byte in) - { - if (index == 0) - { - isaac(); - keyStream = Pack.intToBigEndian(results); - } - byte out = (byte)(keyStream[index]^in); - index = (index + 1) & 1023; - - return out; - } - - public void processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName()+" not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - if (index == 0) - { - isaac(); - keyStream = Pack.intToBigEndian(results); - } - out[i+outOff] = (byte)(keyStream[index]^in[i+inOff]); - index = (index + 1) & 1023; - } - } - - public String getAlgorithmName() - { - return "ISAAC"; - } - - public void reset() - { - setKey(workingKey); - } - - // Private implementation - private void setKey(byte[] keyBytes) - { - workingKey = keyBytes; - - if (engineState == null) - { - engineState = new int[stateArraySize]; - } - - if (results == null) - { - results = new int[stateArraySize]; - } - - int i, j, k; - - // Reset state - for (i = 0; i < stateArraySize; i++) - { - engineState[i] = results[i] = 0; - } - a = b = c = 0; - - // Reset index counter for output - index = 0; - - // Convert the key bytes to ints and put them into results[] for initialization - byte[] t = new byte[keyBytes.length + (keyBytes.length & 3)]; - System.arraycopy(keyBytes, 0, t, 0, keyBytes.length); - for (i = 0; i < t.length; i+=4) - { - results[i >>> 2] = Pack.littleEndianToInt(t, i); - } - - // It has begun? - int[] abcdefgh = new int[sizeL]; - - for (i = 0; i < sizeL; i++) - { - abcdefgh[i] = 0x9e3779b9; // Phi (golden ratio) - } - - for (i = 0; i < 4; i++) - { - mix(abcdefgh); - } - - for (i = 0; i < 2; i++) - { - for (j = 0; j < stateArraySize; j+=sizeL) - { - for (k = 0; k < sizeL; k++) - { - abcdefgh[k] += (i<1) ? results[j+k] : engineState[j+k]; - } - - mix(abcdefgh); - - for (k = 0; k < sizeL; k++) - { - engineState[j+k] = abcdefgh[k]; - } - } - } - - isaac(); - - initialised = true; - } - - private void isaac() - { - int i, x, y; - - b += ++c; - for (i = 0; i < stateArraySize; i++) - { - x = engineState[i]; - switch (i & 3) - { - case 0: a ^= (a << 13); break; - case 1: a ^= (a >>> 6); break; - case 2: a ^= (a << 2); break; - case 3: a ^= (a >>> 16); break; - } - a += engineState[(i+128) & 0xFF]; - engineState[i] = y = engineState[(x >>> 2) & 0xFF] + a + b; - results[i] = b = engineState[(y >>> 10) & 0xFF] + x; - } - } - - private void mix(int[] x) - { - x[0]^=x[1]<< 11; x[3]+=x[0]; x[1]+=x[2]; - x[1]^=x[2]>>> 2; x[4]+=x[1]; x[2]+=x[3]; - x[2]^=x[3]<< 8; x[5]+=x[2]; x[3]+=x[4]; - x[3]^=x[4]>>>16; x[6]+=x[3]; x[4]+=x[5]; - x[4]^=x[5]<< 10; x[7]+=x[4]; x[5]+=x[6]; - x[5]^=x[6]>>> 4; x[0]+=x[5]; x[6]+=x[7]; - x[6]^=x[7]<< 8; x[1]+=x[6]; x[7]+=x[0]; - x[7]^=x[0]>>> 9; x[2]+=x[7]; x[0]+=x[1]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NaccacheSternEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NaccacheSternEngine.java deleted file mode 100644 index a25b12f14..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NaccacheSternEngine.java +++ /dev/null @@ -1,437 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.math.BigInteger; -import java.util.Vector; -import org.spongycastle.util.Arrays; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.NaccacheSternKeyParameters; -import org.spongycastle.crypto.params.NaccacheSternPrivateKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * NaccacheStern Engine. For details on this cipher, please see - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - */ -public class NaccacheSternEngine - implements AsymmetricBlockCipher -{ - private boolean forEncryption; - - private NaccacheSternKeyParameters key; - - private Vector[] lookup = null; - - private boolean debug = false; - - private static BigInteger ZERO = BigInteger.valueOf(0); - private static BigInteger ONE = BigInteger.valueOf(1); - - /** - * Initializes this algorithm. Must be called before all other Functions. - * - * @see org.spongycastle.crypto.AsymmetricBlockCipher#init(boolean, - * org.spongycastle.crypto.CipherParameters) - */ - public void init(boolean forEncryption, CipherParameters param) - { - this.forEncryption = forEncryption; - - if (param instanceof ParametersWithRandom) - { - param = ((ParametersWithRandom) param).getParameters(); - } - - key = (NaccacheSternKeyParameters)param; - - // construct lookup table for faster decryption if necessary - if (!this.forEncryption) - { - if (debug) - { - System.out.println("Constructing lookup Array"); - } - NaccacheSternPrivateKeyParameters priv = (NaccacheSternPrivateKeyParameters)key; - Vector primes = priv.getSmallPrimes(); - lookup = new Vector[primes.size()]; - for (int i = 0; i < primes.size(); i++) - { - BigInteger actualPrime = (BigInteger)primes.elementAt(i); - int actualPrimeValue = actualPrime.intValue(); - - lookup[i] = new Vector(); - lookup[i].addElement(ONE); - - if (debug) - { - System.out.println("Constructing lookup ArrayList for " + actualPrimeValue); - } - - BigInteger accJ = ZERO; - - for (int j = 1; j < actualPrimeValue; j++) - { - accJ = accJ.add(priv.getPhi_n()); - BigInteger comp = accJ.divide(actualPrime); - lookup[i].addElement(priv.getG().modPow(comp, priv.getModulus())); - } - } - } - } - - public void setDebug(boolean debug) - { - this.debug = debug; - } - - /** - * Returns the input block size of this algorithm. - * - * @see org.spongycastle.crypto.AsymmetricBlockCipher#getInputBlockSize() - */ - public int getInputBlockSize() - { - if (forEncryption) - { - // We can only encrypt values up to lowerSigmaBound - return (key.getLowerSigmaBound() + 7) / 8 - 1; - } - else - { - // We pad to modulus-size bytes for easier decryption. - return key.getModulus().toByteArray().length; - } - } - - /** - * Returns the output block size of this algorithm. - * - * @see org.spongycastle.crypto.AsymmetricBlockCipher#getOutputBlockSize() - */ - public int getOutputBlockSize() - { - if (forEncryption) - { - // encrypted Data is always padded up to modulus size - return key.getModulus().toByteArray().length; - } - else - { - // decrypted Data has upper limit lowerSigmaBound - return (key.getLowerSigmaBound() + 7) / 8 - 1; - } - } - - /** - * Process a single Block using the Naccache-Stern algorithm. - * - * @see org.spongycastle.crypto.AsymmetricBlockCipher#processBlock(byte[], - * int, int) - */ - public byte[] processBlock(byte[] in, int inOff, int len) throws InvalidCipherTextException - { - if (key == null) - { - throw new IllegalStateException("NaccacheStern engine not initialised"); - } - if (len > (getInputBlockSize() + 1)) - { - throw new DataLengthException("input too large for Naccache-Stern cipher.\n"); - } - - if (!forEncryption) - { - // At decryption make sure that we receive padded data blocks - if (len < getInputBlockSize()) - { - throw new InvalidCipherTextException("BlockLength does not match modulus for Naccache-Stern cipher.\n"); - } - } - - byte[] block; - - if (inOff != 0 || len != in.length) - { - block = new byte[len]; - System.arraycopy(in, inOff, block, 0, len); - } - else - { - block = in; - } - - // transform input into BigInteger - BigInteger input = new BigInteger(1, block); - if (debug) - { - System.out.println("input as BigInteger: " + input); - } - byte[] output; - if (forEncryption) - { - output = encrypt(input); - } - else - { - Vector plain = new Vector(); - NaccacheSternPrivateKeyParameters priv = (NaccacheSternPrivateKeyParameters)key; - Vector primes = priv.getSmallPrimes(); - // Get Chinese Remainders of CipherText - for (int i = 0; i < primes.size(); i++) - { - BigInteger exp = input.modPow(priv.getPhi_n().divide((BigInteger)primes.elementAt(i)), priv.getModulus()); - Vector al = lookup[i]; - if (lookup[i].size() != ((BigInteger)primes.elementAt(i)).intValue()) - { - if (debug) - { - System.out.println("Prime is " + primes.elementAt(i) + ", lookup table has size " + al.size()); - } - throw new InvalidCipherTextException("Error in lookup Array for " - + ((BigInteger)primes.elementAt(i)).intValue() - + ": Size mismatch. Expected ArrayList with length " - + ((BigInteger)primes.elementAt(i)).intValue() + " but found ArrayList of length " - + lookup[i].size()); - } - int lookedup = al.indexOf(exp); - - if (lookedup == -1) - { - if (debug) - { - System.out.println("Actual prime is " + primes.elementAt(i)); - System.out.println("Decrypted value is " + exp); - - System.out.println("LookupList for " + primes.elementAt(i) + " with size " + lookup[i].size() - + " is: "); - for (int j = 0; j < lookup[i].size(); j++) - { - System.out.println(lookup[i].elementAt(j)); - } - } - throw new InvalidCipherTextException("Lookup failed"); - } - plain.addElement(BigInteger.valueOf(lookedup)); - } - BigInteger test = chineseRemainder(plain, primes); - - // Should not be used as an oracle, so reencrypt output to see - // if it corresponds to input - - // this breaks probabilisic encryption, so disable it. Anyway, we do - // use the first n primes for key generation, so it is pretty easy - // to guess them. But as stated in the paper, this is not a security - // breach. So we can just work with the correct sigma. - - // if (debug) { - // System.out.println("Decryption is " + test); - // } - // if ((key.getG().modPow(test, key.getModulus())).equals(input)) { - // output = test.toByteArray(); - // } else { - // if(debug){ - // System.out.println("Engine seems to be used as an oracle, - // returning null"); - // } - // output = null; - // } - - output = test.toByteArray(); - - } - - return output; - } - - /** - * Encrypts a BigInteger aka Plaintext with the public key. - * - * @param plain - * The BigInteger to encrypt - * @return The byte[] representation of the encrypted BigInteger (i.e. - * crypted.toByteArray()) - */ - public byte[] encrypt(BigInteger plain) - { - // Always return modulus size values 0-padded at the beginning - // 0-padding at the beginning is correctly parsed by BigInteger :) - byte[] output = key.getModulus().toByteArray(); - Arrays.fill(output, (byte)0); - byte[] tmp = key.getG().modPow(plain, key.getModulus()).toByteArray(); - System - .arraycopy(tmp, 0, output, output.length - tmp.length, - tmp.length); - if (debug) - { - System.out - .println("Encrypted value is: " + new BigInteger(output)); - } - return output; - } - - /** - * Adds the contents of two encrypted blocks mod sigma - * - * @param block1 - * the first encrypted block - * @param block2 - * the second encrypted block - * @return encrypt((block1 + block2) mod sigma) - * @throws InvalidCipherTextException - */ - public byte[] addCryptedBlocks(byte[] block1, byte[] block2) - throws InvalidCipherTextException - { - // check for correct blocksize - if (forEncryption) - { - if ((block1.length > getOutputBlockSize()) - || (block2.length > getOutputBlockSize())) - { - throw new InvalidCipherTextException( - "BlockLength too large for simple addition.\n"); - } - } - else - { - if ((block1.length > getInputBlockSize()) - || (block2.length > getInputBlockSize())) - { - throw new InvalidCipherTextException( - "BlockLength too large for simple addition.\n"); - } - } - - // calculate resulting block - BigInteger m1Crypt = new BigInteger(1, block1); - BigInteger m2Crypt = new BigInteger(1, block2); - BigInteger m1m2Crypt = m1Crypt.multiply(m2Crypt); - m1m2Crypt = m1m2Crypt.mod(key.getModulus()); - if (debug) - { - System.out.println("c(m1) as BigInteger:....... " + m1Crypt); - System.out.println("c(m2) as BigInteger:....... " + m2Crypt); - System.out.println("c(m1)*c(m2)%n = c(m1+m2)%n: " + m1m2Crypt); - } - - byte[] output = key.getModulus().toByteArray(); - Arrays.fill(output, (byte)0); - System.arraycopy(m1m2Crypt.toByteArray(), 0, output, output.length - - m1m2Crypt.toByteArray().length, - m1m2Crypt.toByteArray().length); - - return output; - } - - /** - * Convenience Method for data exchange with the cipher. - * - * Determines blocksize and splits data to blocksize. - * - * @param data the data to be processed - * @return the data after it went through the NaccacheSternEngine. - * @throws InvalidCipherTextException - */ - public byte[] processData(byte[] data) throws InvalidCipherTextException - { - if (debug) - { - System.out.println(); - } - if (data.length > getInputBlockSize()) - { - int inBlocksize = getInputBlockSize(); - int outBlocksize = getOutputBlockSize(); - if (debug) - { - System.out.println("Input blocksize is: " + inBlocksize + " bytes"); - System.out.println("Output blocksize is: " + outBlocksize + " bytes"); - System.out.println("Data has length:.... " + data.length + " bytes"); - } - int datapos = 0; - int retpos = 0; - byte[] retval = new byte[(data.length / inBlocksize + 1) * outBlocksize]; - while (datapos < data.length) - { - byte[] tmp; - if (datapos + inBlocksize < data.length) - { - tmp = processBlock(data, datapos, inBlocksize); - datapos += inBlocksize; - } - else - { - tmp = processBlock(data, datapos, data.length - datapos); - datapos += data.length - datapos; - } - if (debug) - { - System.out.println("new datapos is " + datapos); - } - if (tmp != null) - { - System.arraycopy(tmp, 0, retval, retpos, tmp.length); - - retpos += tmp.length; - } - else - { - if (debug) - { - System.out.println("cipher returned null"); - } - throw new InvalidCipherTextException("cipher returned null"); - } - } - byte[] ret = new byte[retpos]; - System.arraycopy(retval, 0, ret, 0, retpos); - if (debug) - { - System.out.println("returning " + ret.length + " bytes"); - } - return ret; - } - else - { - if (debug) - { - System.out.println("data size is less then input block size, processing directly"); - } - return processBlock(data, 0, data.length); - } - } - - /** - * Computes the integer x that is expressed through the given primes and the - * congruences with the chinese remainder theorem (CRT). - * - * @param congruences - * the congruences c_i - * @param primes - * the primes p_i - * @return an integer x for that x % p_i == c_i - */ - private static BigInteger chineseRemainder(Vector congruences, Vector primes) - { - BigInteger retval = ZERO; - BigInteger all = ONE; - for (int i = 0; i < primes.size(); i++) - { - all = all.multiply((BigInteger)primes.elementAt(i)); - } - for (int i = 0; i < primes.size(); i++) - { - BigInteger a = (BigInteger)primes.elementAt(i); - BigInteger b = all.divide(a); - BigInteger b_ = b.modInverse(a); - BigInteger tmp = b.multiply(b_); - tmp = tmp.multiply((BigInteger)congruences.elementAt(i)); - retval = retval.add(tmp); - } - - return retval.mod(all); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NoekeonEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NoekeonEngine.java deleted file mode 100644 index 3abaeedec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NoekeonEngine.java +++ /dev/null @@ -1,263 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * A Noekeon engine, using direct-key mode. - */ - -public class NoekeonEngine - implements BlockCipher -{ - private static final int genericSize = 16; // Block and key size, as well as the amount of rounds. - - private static final int[] nullVector = - { - 0x00, 0x00, 0x00, 0x00 // Used in decryption - }, - - roundConstants = - { - 0x80, 0x1b, 0x36, 0x6c, - 0xd8, 0xab, 0x4d, 0x9a, - 0x2f, 0x5e, 0xbc, 0x63, - 0xc6, 0x97, 0x35, 0x6a, - 0xd4 - }; - - private int[] state = new int[4], // a - subKeys = new int[4], // k - decryptKeys = new int[4]; - - private boolean _initialised, - _forEncryption; - - /** - * Create an instance of the Noekeon encryption algorithm - * and set some defaults - */ - public NoekeonEngine() - { - _initialised = false; - } - - public String getAlgorithmName() - { - return "Noekeon"; - } - - public int getBlockSize() - { - return genericSize; - } - - /** - * initialise - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to Noekeon init - " + params.getClass().getName()); - } - - _forEncryption = forEncryption; - _initialised = true; - - KeyParameter p = (KeyParameter)params; - - setKey(p.getKey()); - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (!_initialised) - { - throw new IllegalStateException(getAlgorithmName()+" not initialised"); - } - - if ((inOff + genericSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + genericSize) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - return (_forEncryption) ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - subKeys[0] = bytesToIntBig(key, 0); - subKeys[1] = bytesToIntBig(key, 4); - subKeys[2] = bytesToIntBig(key, 8); - subKeys[3] = bytesToIntBig(key, 12); - } - - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - state[0] = bytesToIntBig(in, inOff); - state[1] = bytesToIntBig(in, inOff+4); - state[2] = bytesToIntBig(in, inOff+8); - state[3] = bytesToIntBig(in, inOff+12); - - int i; - for (i = 0; i < genericSize; i++) - { - state[0] ^= roundConstants[i]; - theta(state, subKeys); - pi1(state); - gamma(state); - pi2(state); - } - - state[0] ^= roundConstants[i]; - theta(state, subKeys); - - intToBytesBig(state[0], out, outOff); - intToBytesBig(state[1], out, outOff+4); - intToBytesBig(state[2], out, outOff+8); - intToBytesBig(state[3], out, outOff+12); - - return genericSize; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - state[0] = bytesToIntBig(in, inOff); - state[1] = bytesToIntBig(in, inOff+4); - state[2] = bytesToIntBig(in, inOff+8); - state[3] = bytesToIntBig(in, inOff+12); - - System.arraycopy(subKeys, 0, decryptKeys, 0, subKeys.length); - theta(decryptKeys, nullVector); - - int i; - for (i = genericSize; i > 0; i--) - { - theta(state, decryptKeys); - state[0] ^= roundConstants[i]; - pi1(state); - gamma(state); - pi2(state); - } - - theta(state, decryptKeys); - state[0] ^= roundConstants[i]; - - intToBytesBig(state[0], out, outOff); - intToBytesBig(state[1], out, outOff+4); - intToBytesBig(state[2], out, outOff+8); - intToBytesBig(state[3], out, outOff+12); - - return genericSize; - } - - private void gamma(int[] a) - { - a[1] ^= ~a[3] & ~a[2]; - a[0] ^= a[2] & a[1]; - - int tmp = a[3]; - a[3] = a[0]; - a[0] = tmp; - a[2] ^= a[0]^a[1]^a[3]; - - a[1] ^= ~a[3] & ~a[2]; - a[0] ^= a[2] & a[1]; - } - - private void theta(int[] a, int[] k) - { - int tmp; - - tmp = a[0]^a[2]; - tmp ^= rotl(tmp,8)^rotl(tmp,24); - a[1] ^= tmp; - a[3] ^= tmp; - - for (int i = 0; i < 4; i++) - { - a[i] ^= k[i]; - } - - tmp = a[1]^a[3]; - tmp ^= rotl(tmp,8)^rotl(tmp,24); - a[0] ^= tmp; - a[2] ^= tmp; - } - - private void pi1(int[] a) - { - a[1] = rotl(a[1], 1); - a[2] = rotl(a[2], 5); - a[3] = rotl(a[3], 2); - } - - private void pi2(int[] a) - { - a[1] = rotl(a[1], 31); - a[2] = rotl(a[2], 27); - a[3] = rotl(a[3], 30); - } - - // Helpers - - private int bytesToIntBig(byte[] in, int off) - { - return ((in[off++]) << 24) | - ((in[off++] & 0xff) << 16) | - ((in[off++] & 0xff) << 8) | - (in[off ] & 0xff); - } - - private void intToBytesBig(int x, byte[] out, int off) - { - out[off++] = (byte)(x >>> 24); - out[off++] = (byte)(x >>> 16); - out[off++] = (byte)(x >>> 8); - out[off ] = (byte)x; - } - - private int rotl(int x, int y) - { - return (x << y) | (x >>> (32-y)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NullEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NullEngine.java deleted file mode 100644 index f8d284138..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/NullEngine.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; - -/** - * The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting. - * Provided for the sake of completeness. - */ -public class NullEngine implements BlockCipher -{ - private boolean initialised; - protected static final int DEFAULT_BLOCK_SIZE = 1; - private final int blockSize; - - /** - * Constructs a null engine with a block size of 1 byte. - */ - public NullEngine() - { - this(DEFAULT_BLOCK_SIZE); - } - - /** - * Constructs a null engine with a specific block size. - * - * @param blockSize the block size in bytes. - */ - public NullEngine(int blockSize) - { - this.blockSize = blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#init(boolean, org.spongycastle.crypto.CipherParameters) - */ - public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException - { - // we don't mind any parameters that may come in - this.initialised = true; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#getAlgorithmName() - */ - public String getAlgorithmName() - { - return "Null"; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#getBlockSize() - */ - public int getBlockSize() - { - return blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#processBlock(byte[], int, byte[], int) - */ - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - if (!initialised) - { - throw new IllegalStateException("Null engine not initialised"); - } - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < blockSize; ++i) - { - out[outOff + i] = in[inOff + i]; - } - - return blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#reset() - */ - public void reset() - { - // nothing needs to be done - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2Engine.java deleted file mode 100644 index 24bdab6a7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2Engine.java +++ /dev/null @@ -1,317 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RC2Parameters; - -/** - * an implementation of RC2 as described in RFC 2268 - * "A Description of the RC2(r) Encryption Algorithm" R. Rivest. - */ -public class RC2Engine - implements BlockCipher -{ - // - // the values we use for key expansion (based on the digits of PI) - // - private static byte[] piTable = - { - (byte)0xd9, (byte)0x78, (byte)0xf9, (byte)0xc4, (byte)0x19, (byte)0xdd, (byte)0xb5, (byte)0xed, - (byte)0x28, (byte)0xe9, (byte)0xfd, (byte)0x79, (byte)0x4a, (byte)0xa0, (byte)0xd8, (byte)0x9d, - (byte)0xc6, (byte)0x7e, (byte)0x37, (byte)0x83, (byte)0x2b, (byte)0x76, (byte)0x53, (byte)0x8e, - (byte)0x62, (byte)0x4c, (byte)0x64, (byte)0x88, (byte)0x44, (byte)0x8b, (byte)0xfb, (byte)0xa2, - (byte)0x17, (byte)0x9a, (byte)0x59, (byte)0xf5, (byte)0x87, (byte)0xb3, (byte)0x4f, (byte)0x13, - (byte)0x61, (byte)0x45, (byte)0x6d, (byte)0x8d, (byte)0x9, (byte)0x81, (byte)0x7d, (byte)0x32, - (byte)0xbd, (byte)0x8f, (byte)0x40, (byte)0xeb, (byte)0x86, (byte)0xb7, (byte)0x7b, (byte)0xb, - (byte)0xf0, (byte)0x95, (byte)0x21, (byte)0x22, (byte)0x5c, (byte)0x6b, (byte)0x4e, (byte)0x82, - (byte)0x54, (byte)0xd6, (byte)0x65, (byte)0x93, (byte)0xce, (byte)0x60, (byte)0xb2, (byte)0x1c, - (byte)0x73, (byte)0x56, (byte)0xc0, (byte)0x14, (byte)0xa7, (byte)0x8c, (byte)0xf1, (byte)0xdc, - (byte)0x12, (byte)0x75, (byte)0xca, (byte)0x1f, (byte)0x3b, (byte)0xbe, (byte)0xe4, (byte)0xd1, - (byte)0x42, (byte)0x3d, (byte)0xd4, (byte)0x30, (byte)0xa3, (byte)0x3c, (byte)0xb6, (byte)0x26, - (byte)0x6f, (byte)0xbf, (byte)0xe, (byte)0xda, (byte)0x46, (byte)0x69, (byte)0x7, (byte)0x57, - (byte)0x27, (byte)0xf2, (byte)0x1d, (byte)0x9b, (byte)0xbc, (byte)0x94, (byte)0x43, (byte)0x3, - (byte)0xf8, (byte)0x11, (byte)0xc7, (byte)0xf6, (byte)0x90, (byte)0xef, (byte)0x3e, (byte)0xe7, - (byte)0x6, (byte)0xc3, (byte)0xd5, (byte)0x2f, (byte)0xc8, (byte)0x66, (byte)0x1e, (byte)0xd7, - (byte)0x8, (byte)0xe8, (byte)0xea, (byte)0xde, (byte)0x80, (byte)0x52, (byte)0xee, (byte)0xf7, - (byte)0x84, (byte)0xaa, (byte)0x72, (byte)0xac, (byte)0x35, (byte)0x4d, (byte)0x6a, (byte)0x2a, - (byte)0x96, (byte)0x1a, (byte)0xd2, (byte)0x71, (byte)0x5a, (byte)0x15, (byte)0x49, (byte)0x74, - (byte)0x4b, (byte)0x9f, (byte)0xd0, (byte)0x5e, (byte)0x4, (byte)0x18, (byte)0xa4, (byte)0xec, - (byte)0xc2, (byte)0xe0, (byte)0x41, (byte)0x6e, (byte)0xf, (byte)0x51, (byte)0xcb, (byte)0xcc, - (byte)0x24, (byte)0x91, (byte)0xaf, (byte)0x50, (byte)0xa1, (byte)0xf4, (byte)0x70, (byte)0x39, - (byte)0x99, (byte)0x7c, (byte)0x3a, (byte)0x85, (byte)0x23, (byte)0xb8, (byte)0xb4, (byte)0x7a, - (byte)0xfc, (byte)0x2, (byte)0x36, (byte)0x5b, (byte)0x25, (byte)0x55, (byte)0x97, (byte)0x31, - (byte)0x2d, (byte)0x5d, (byte)0xfa, (byte)0x98, (byte)0xe3, (byte)0x8a, (byte)0x92, (byte)0xae, - (byte)0x5, (byte)0xdf, (byte)0x29, (byte)0x10, (byte)0x67, (byte)0x6c, (byte)0xba, (byte)0xc9, - (byte)0xd3, (byte)0x0, (byte)0xe6, (byte)0xcf, (byte)0xe1, (byte)0x9e, (byte)0xa8, (byte)0x2c, - (byte)0x63, (byte)0x16, (byte)0x1, (byte)0x3f, (byte)0x58, (byte)0xe2, (byte)0x89, (byte)0xa9, - (byte)0xd, (byte)0x38, (byte)0x34, (byte)0x1b, (byte)0xab, (byte)0x33, (byte)0xff, (byte)0xb0, - (byte)0xbb, (byte)0x48, (byte)0xc, (byte)0x5f, (byte)0xb9, (byte)0xb1, (byte)0xcd, (byte)0x2e, - (byte)0xc5, (byte)0xf3, (byte)0xdb, (byte)0x47, (byte)0xe5, (byte)0xa5, (byte)0x9c, (byte)0x77, - (byte)0xa, (byte)0xa6, (byte)0x20, (byte)0x68, (byte)0xfe, (byte)0x7f, (byte)0xc1, (byte)0xad - }; - - private static final int BLOCK_SIZE = 8; - - private int[] workingKey; - private boolean encrypting; - - private int[] generateWorkingKey( - byte[] key, - int bits) - { - int x; - int[] xKey = new int[128]; - - for (int i = 0; i != key.length; i++) - { - xKey[i] = key[i] & 0xff; - } - - // Phase 1: Expand input key to 128 bytes - int len = key.length; - - if (len < 128) - { - int index = 0; - - x = xKey[len - 1]; - - do - { - x = piTable[(x + xKey[index++]) & 255] & 0xff; - xKey[len++] = x; - } - while (len < 128); - } - - // Phase 2 - reduce effective key size to "bits" - len = (bits + 7) >> 3; - x = piTable[xKey[128 - len] & (255 >> (7 & -bits))] & 0xff; - xKey[128 - len] = x; - - for (int i = 128 - len - 1; i >= 0; i--) - { - x = piTable[x ^ xKey[i + len]] & 0xff; - xKey[i] = x; - } - - // Phase 3 - copy to newKey in little-endian order - int[] newKey = new int[64]; - - for (int i = 0; i != newKey.length; i++) - { - newKey[i] = (xKey[2 * i] + (xKey[2 * i + 1] << 8)); - } - - return newKey; - } - - /** - * initialise a RC2 cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - this.encrypting = encrypting; - - if (params instanceof RC2Parameters) - { - RC2Parameters param = (RC2Parameters)params; - - workingKey = generateWorkingKey(param.getKey(), - param.getEffectiveKeyBits()); - } - else if (params instanceof KeyParameter) - { - byte[] key = ((KeyParameter)params).getKey(); - - workingKey = generateWorkingKey(key, key.length * 8); - } - else - { - throw new IllegalArgumentException("invalid parameter passed to RC2 init - " + params.getClass().getName()); - } - - } - - public void reset() - { - } - - public String getAlgorithmName() - { - return "RC2"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public final int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("RC2 engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - - return BLOCK_SIZE; - } - - /** - * return the result rotating the 16 bit number in x left by y - */ - private int rotateWordLeft( - int x, - int y) - { - x &= 0xffff; - return (x << y) | (x >> (16 - y)); - } - - private void encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int x76, x54, x32, x10; - - x76 = ((in[inOff + 7] & 0xff) << 8) + (in[inOff + 6] & 0xff); - x54 = ((in[inOff + 5] & 0xff) << 8) + (in[inOff + 4] & 0xff); - x32 = ((in[inOff + 3] & 0xff) << 8) + (in[inOff + 2] & 0xff); - x10 = ((in[inOff + 1] & 0xff) << 8) + (in[inOff + 0] & 0xff); - - for (int i = 0; i <= 16; i += 4) - { - x10 = rotateWordLeft(x10 + (x32 & ~x76) + (x54 & x76) + workingKey[i ], 1); - x32 = rotateWordLeft(x32 + (x54 & ~x10) + (x76 & x10) + workingKey[i+1], 2); - x54 = rotateWordLeft(x54 + (x76 & ~x32) + (x10 & x32) + workingKey[i+2], 3); - x76 = rotateWordLeft(x76 + (x10 & ~x54) + (x32 & x54) + workingKey[i+3], 5); - } - - x10 += workingKey[x76 & 63]; - x32 += workingKey[x10 & 63]; - x54 += workingKey[x32 & 63]; - x76 += workingKey[x54 & 63]; - - for (int i = 20; i <= 40; i += 4) - { - x10 = rotateWordLeft(x10 + (x32 & ~x76) + (x54 & x76) + workingKey[i ], 1); - x32 = rotateWordLeft(x32 + (x54 & ~x10) + (x76 & x10) + workingKey[i+1], 2); - x54 = rotateWordLeft(x54 + (x76 & ~x32) + (x10 & x32) + workingKey[i+2], 3); - x76 = rotateWordLeft(x76 + (x10 & ~x54) + (x32 & x54) + workingKey[i+3], 5); - } - - x10 += workingKey[x76 & 63]; - x32 += workingKey[x10 & 63]; - x54 += workingKey[x32 & 63]; - x76 += workingKey[x54 & 63]; - - for (int i = 44; i < 64; i += 4) - { - x10 = rotateWordLeft(x10 + (x32 & ~x76) + (x54 & x76) + workingKey[i ], 1); - x32 = rotateWordLeft(x32 + (x54 & ~x10) + (x76 & x10) + workingKey[i+1], 2); - x54 = rotateWordLeft(x54 + (x76 & ~x32) + (x10 & x32) + workingKey[i+2], 3); - x76 = rotateWordLeft(x76 + (x10 & ~x54) + (x32 & x54) + workingKey[i+3], 5); - } - - out[outOff + 0] = (byte)x10; - out[outOff + 1] = (byte)(x10 >> 8); - out[outOff + 2] = (byte)x32; - out[outOff + 3] = (byte)(x32 >> 8); - out[outOff + 4] = (byte)x54; - out[outOff + 5] = (byte)(x54 >> 8); - out[outOff + 6] = (byte)x76; - out[outOff + 7] = (byte)(x76 >> 8); - } - - private void decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int x76, x54, x32, x10; - - x76 = ((in[inOff + 7] & 0xff) << 8) + (in[inOff + 6] & 0xff); - x54 = ((in[inOff + 5] & 0xff) << 8) + (in[inOff + 4] & 0xff); - x32 = ((in[inOff + 3] & 0xff) << 8) + (in[inOff + 2] & 0xff); - x10 = ((in[inOff + 1] & 0xff) << 8) + (in[inOff + 0] & 0xff); - - for (int i = 60; i >= 44; i -= 4) - { - x76 = rotateWordLeft(x76, 11) - ((x10 & ~x54) + (x32 & x54) + workingKey[i+3]); - x54 = rotateWordLeft(x54, 13) - ((x76 & ~x32) + (x10 & x32) + workingKey[i+2]); - x32 = rotateWordLeft(x32, 14) - ((x54 & ~x10) + (x76 & x10) + workingKey[i+1]); - x10 = rotateWordLeft(x10, 15) - ((x32 & ~x76) + (x54 & x76) + workingKey[i ]); - } - - x76 -= workingKey[x54 & 63]; - x54 -= workingKey[x32 & 63]; - x32 -= workingKey[x10 & 63]; - x10 -= workingKey[x76 & 63]; - - for (int i = 40; i >= 20; i -= 4) - { - x76 = rotateWordLeft(x76, 11) - ((x10 & ~x54) + (x32 & x54) + workingKey[i+3]); - x54 = rotateWordLeft(x54, 13) - ((x76 & ~x32) + (x10 & x32) + workingKey[i+2]); - x32 = rotateWordLeft(x32, 14) - ((x54 & ~x10) + (x76 & x10) + workingKey[i+1]); - x10 = rotateWordLeft(x10, 15) - ((x32 & ~x76) + (x54 & x76) + workingKey[i ]); - } - - x76 -= workingKey[x54 & 63]; - x54 -= workingKey[x32 & 63]; - x32 -= workingKey[x10 & 63]; - x10 -= workingKey[x76 & 63]; - - for (int i = 16; i >= 0; i -= 4) - { - x76 = rotateWordLeft(x76, 11) - ((x10 & ~x54) + (x32 & x54) + workingKey[i+3]); - x54 = rotateWordLeft(x54, 13) - ((x76 & ~x32) + (x10 & x32) + workingKey[i+2]); - x32 = rotateWordLeft(x32, 14) - ((x54 & ~x10) + (x76 & x10) + workingKey[i+1]); - x10 = rotateWordLeft(x10, 15) - ((x32 & ~x76) + (x54 & x76) + workingKey[i ]); - } - - out[outOff + 0] = (byte)x10; - out[outOff + 1] = (byte)(x10 >> 8); - out[outOff + 2] = (byte)x32; - out[outOff + 3] = (byte)(x32 >> 8); - out[outOff + 4] = (byte)x54; - out[outOff + 5] = (byte)(x54 >> 8); - out[outOff + 6] = (byte)x76; - out[outOff + 7] = (byte)(x76 >> 8); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2WrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2WrapEngine.java deleted file mode 100644 index 000d0228d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC2WrapEngine.java +++ /dev/null @@ -1,383 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -/** - * Wrap keys according to RFC 3217 - RC2 mechanism - */ -public class RC2WrapEngine - implements Wrapper -{ - /** Field engine */ - private CBCBlockCipher engine; - - /** Field param */ - private CipherParameters param; - - /** Field paramPlusIV */ - private ParametersWithIV paramPlusIV; - - /** Field iv */ - private byte[] iv; - - /** Field forWrapping */ - private boolean forWrapping; - - private SecureRandom sr; - - /** Field IV2 */ - private static final byte[] IV2 = { (byte) 0x4a, (byte) 0xdd, (byte) 0xa2, - (byte) 0x2c, (byte) 0x79, (byte) 0xe8, - (byte) 0x21, (byte) 0x05 }; - - // - // checksum digest - // - Digest sha1 = new SHA1Digest(); - byte[] digest = new byte[20]; - - /** - * Method init - * - * @param forWrapping - * @param param - */ - public void init(boolean forWrapping, CipherParameters param) - { - this.forWrapping = forWrapping; - this.engine = new CBCBlockCipher(new RC2Engine()); - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom pWithR = (ParametersWithRandom)param; - sr = pWithR.getRandom(); - param = pWithR.getParameters(); - } - else - { - sr = new SecureRandom(); - } - - if (param instanceof ParametersWithIV) - { - this.paramPlusIV = (ParametersWithIV)param; - this.iv = this.paramPlusIV.getIV(); - this.param = this.paramPlusIV.getParameters(); - - if (this.forWrapping) - { - if ((this.iv == null) || (this.iv.length != 8)) - { - throw new IllegalArgumentException("IV is not 8 octets"); - } - } - else - { - throw new IllegalArgumentException( - "You should not supply an IV for unwrapping"); - } - } - else - { - this.param = param; - - if (this.forWrapping) - { - - // Hm, we have no IV but we want to wrap ?!? - // well, then we have to create our own IV. - this.iv = new byte[8]; - - sr.nextBytes(iv); - - this.paramPlusIV = new ParametersWithIV(this.param, this.iv); - } - } - - } - - /** - * Method getAlgorithmName - * - * @return the algorithm name "RC2". - */ - public String getAlgorithmName() - { - return "RC2"; - } - - /** - * Method wrap - * - * @param in - * @param inOff - * @param inLen - * @return the wrapped bytes. - */ - public byte[] wrap(byte[] in, int inOff, int inLen) - { - - if (!forWrapping) - { - throw new IllegalStateException("Not initialized for wrapping"); - } - - int length = inLen + 1; - if ((length % 8) != 0) - { - length += 8 - (length % 8); - } - - byte keyToBeWrapped[] = new byte[length]; - - keyToBeWrapped[0] = (byte)inLen; - System.arraycopy(in, inOff, keyToBeWrapped, 1, inLen); - - byte[] pad = new byte[keyToBeWrapped.length - inLen - 1]; - - if (pad.length > 0) - { - sr.nextBytes(pad); - System.arraycopy(pad, 0, keyToBeWrapped, inLen + 1, pad.length); - } - - // Compute the CMS Key Checksum, (section 5.6.1), call this CKS. - byte[] CKS = calculateCMSKeyChecksum(keyToBeWrapped); - - // Let WKCKS = WK || CKS where || is concatenation. - byte[] WKCKS = new byte[keyToBeWrapped.length + CKS.length]; - - System.arraycopy(keyToBeWrapped, 0, WKCKS, 0, keyToBeWrapped.length); - System.arraycopy(CKS, 0, WKCKS, keyToBeWrapped.length, CKS.length); - - // Encrypt WKCKS in CBC mode using KEK as the key and IV as the - // initialization vector. Call the results TEMP1. - byte TEMP1[] = new byte[WKCKS.length]; - - System.arraycopy(WKCKS, 0, TEMP1, 0, WKCKS.length); - - int noOfBlocks = WKCKS.length / engine.getBlockSize(); - int extraBytes = WKCKS.length % engine.getBlockSize(); - - if (extraBytes != 0) - { - throw new IllegalStateException("Not multiple of block length"); - } - - engine.init(true, paramPlusIV); - - for (int i = 0; i < noOfBlocks; i++) - { - int currentBytePos = i * engine.getBlockSize(); - - engine.processBlock(TEMP1, currentBytePos, TEMP1, currentBytePos); - } - - // Left TEMP2 = IV || TEMP1. - byte[] TEMP2 = new byte[this.iv.length + TEMP1.length]; - - System.arraycopy(this.iv, 0, TEMP2, 0, this.iv.length); - System.arraycopy(TEMP1, 0, TEMP2, this.iv.length, TEMP1.length); - - // Reverse the order of the octets in TEMP2 and call the result TEMP3. - byte[] TEMP3 = new byte[TEMP2.length]; - - for (int i = 0; i < TEMP2.length; i++) - { - TEMP3[i] = TEMP2[TEMP2.length - (i + 1)]; - } - - // Encrypt TEMP3 in CBC mode using the KEK and an initialization vector - // of 0x 4a dd a2 2c 79 e8 21 05. The resulting cipher text is the - // desired - // result. It is 40 octets long if a 168 bit key is being wrapped. - ParametersWithIV param2 = new ParametersWithIV(this.param, IV2); - - this.engine.init(true, param2); - - for (int i = 0; i < noOfBlocks + 1; i++) - { - int currentBytePos = i * engine.getBlockSize(); - - engine.processBlock(TEMP3, currentBytePos, TEMP3, currentBytePos); - } - - return TEMP3; - } - - /** - * Method unwrap - * - * @param in - * @param inOff - * @param inLen - * @return the unwrapped bytes. - * @throws InvalidCipherTextException - */ - public byte[] unwrap(byte[] in, int inOff, int inLen) - throws InvalidCipherTextException - { - - if (forWrapping) - { - throw new IllegalStateException("Not set for unwrapping"); - } - - if (in == null) - { - throw new InvalidCipherTextException("Null pointer as ciphertext"); - } - - if (inLen % engine.getBlockSize() != 0) - { - throw new InvalidCipherTextException("Ciphertext not multiple of " - + engine.getBlockSize()); - } - - /* - * // Check if the length of the cipher text is reasonable given the key // - * type. It must be 40 bytes for a 168 bit key and either 32, 40, or // - * 48 bytes for a 128, 192, or 256 bit key. If the length is not - * supported // or inconsistent with the algorithm for which the key is - * intended, // return error. // // we do not accept 168 bit keys. it - * has to be 192 bit. int lengthA = (estimatedKeyLengthInBit / 8) + 16; - * int lengthB = estimatedKeyLengthInBit % 8; - * - * if ((lengthA != keyToBeUnwrapped.length) || (lengthB != 0)) { throw - * new XMLSecurityException("empty"); } - */ - - // Decrypt the cipher text with TRIPLedeS in CBC mode using the KEK - // and an initialization vector (IV) of 0x4adda22c79e82105. Call the - // output TEMP3. - ParametersWithIV param2 = new ParametersWithIV(this.param, IV2); - - this.engine.init(false, param2); - - byte TEMP3[] = new byte[inLen]; - - System.arraycopy(in, inOff, TEMP3, 0, inLen); - - for (int i = 0; i < (TEMP3.length / engine.getBlockSize()); i++) - { - int currentBytePos = i * engine.getBlockSize(); - - engine.processBlock(TEMP3, currentBytePos, TEMP3, currentBytePos); - } - - // Reverse the order of the octets in TEMP3 and call the result TEMP2. - byte[] TEMP2 = new byte[TEMP3.length]; - - for (int i = 0; i < TEMP3.length; i++) - { - TEMP2[i] = TEMP3[TEMP3.length - (i + 1)]; - } - - // Decompose TEMP2 into IV, the first 8 octets, and TEMP1, the remaining - // octets. - this.iv = new byte[8]; - - byte[] TEMP1 = new byte[TEMP2.length - 8]; - - System.arraycopy(TEMP2, 0, this.iv, 0, 8); - System.arraycopy(TEMP2, 8, TEMP1, 0, TEMP2.length - 8); - - // Decrypt TEMP1 using TRIPLedeS in CBC mode using the KEK and the IV - // found in the previous step. Call the result WKCKS. - this.paramPlusIV = new ParametersWithIV(this.param, this.iv); - - this.engine.init(false, this.paramPlusIV); - - byte[] LCEKPADICV = new byte[TEMP1.length]; - - System.arraycopy(TEMP1, 0, LCEKPADICV, 0, TEMP1.length); - - for (int i = 0; i < (LCEKPADICV.length / engine.getBlockSize()); i++) - { - int currentBytePos = i * engine.getBlockSize(); - - engine.processBlock(LCEKPADICV, currentBytePos, LCEKPADICV, - currentBytePos); - } - - // Decompose LCEKPADICV. CKS is the last 8 octets and WK, the wrapped - // key, are - // those octets before the CKS. - byte[] result = new byte[LCEKPADICV.length - 8]; - byte[] CKStoBeVerified = new byte[8]; - - System.arraycopy(LCEKPADICV, 0, result, 0, LCEKPADICV.length - 8); - System.arraycopy(LCEKPADICV, LCEKPADICV.length - 8, CKStoBeVerified, 0, - 8); - - // Calculate a CMS Key Checksum, (section 5.6.1), over the WK and - // compare - // with the CKS extracted in the above step. If they are not equal, - // return error. - if (!checkCMSKeyChecksum(result, CKStoBeVerified)) - { - throw new InvalidCipherTextException( - "Checksum inside ciphertext is corrupted"); - } - - if ((result.length - ((result[0] & 0xff) + 1)) > 7) - { - throw new InvalidCipherTextException("too many pad bytes (" - + (result.length - ((result[0] & 0xff) + 1)) + ")"); - } - - // CEK is the wrapped key, now extracted for use in data decryption. - byte[] CEK = new byte[result[0]]; - System.arraycopy(result, 1, CEK, 0, CEK.length); - return CEK; - } - - /** - * Some key wrap algorithms make use of the Key Checksum defined - * in CMS [CMS-Algorithms]. This is used to provide an integrity - * check value for the key being wrapped. The algorithm is - * - * - Compute the 20 octet SHA-1 hash on the key being wrapped. - * - Use the first 8 octets of this hash as the checksum value. - * - * @param key - * @return - * @throws RuntimeException - * @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum - */ - private byte[] calculateCMSKeyChecksum( - byte[] key) - { - byte[] result = new byte[8]; - - sha1.update(key, 0, key.length); - sha1.doFinal(digest, 0); - - System.arraycopy(digest, 0, result, 0, 8); - - return result; - } - - /** - * @param key - * @param checksum - * @return - * @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum - */ - private boolean checkCMSKeyChecksum( - byte[] key, - byte[] checksum) - { - return Arrays.constantTimeAreEqual(calculateCMSKeyChecksum(key), checksum); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC4Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC4Engine.java deleted file mode 100644 index 712426f1e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC4Engine.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; - -public class RC4Engine implements StreamCipher -{ - private final static int STATE_LENGTH = 256; - - /* - * variables to hold the state of the RC4 engine - * during encryption and decryption - */ - - private byte[] engineState = null; - private int x = 0; - private int y = 0; - private byte[] workingKey = null; - - /** - * initialise a RC4 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params - ) - { - if (params instanceof KeyParameter) - { - /* - * RC4 encryption and decryption is completely - * symmetrical, so the 'forEncryption' is - * irrelevant. - */ - workingKey = ((KeyParameter)params).getKey(); - setKey(workingKey); - - return; - } - - throw new IllegalArgumentException("invalid parameter passed to RC4 init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "RC4"; - } - - public byte returnByte(byte in) - { - x = (x + 1) & 0xff; - y = (engineState[x] + y) & 0xff; - - // swap - byte tmp = engineState[x]; - engineState[x] = engineState[y]; - engineState[y] = tmp; - - // xor - return (byte)(in ^ engineState[(engineState[x] + engineState[y]) & 0xff]); - } - - public void processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - { - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len ; i++) - { - x = (x + 1) & 0xff; - y = (engineState[x] + y) & 0xff; - - // swap - byte tmp = engineState[x]; - engineState[x] = engineState[y]; - engineState[y] = tmp; - - // xor - out[i+outOff] = (byte)(in[i + inOff] - ^ engineState[(engineState[x] + engineState[y]) & 0xff]); - } - } - - public void reset() - { - setKey(workingKey); - } - - // Private implementation - - private void setKey(byte[] keyBytes) - { - workingKey = keyBytes; - - // System.out.println("the key length is ; "+ workingKey.length); - - x = 0; - y = 0; - - if (engineState == null) - { - engineState = new byte[STATE_LENGTH]; - } - - // reset the state of the engine - for (int i=0; i < STATE_LENGTH; i++) - { - engineState[i] = (byte)i; - } - - int i1 = 0; - int i2 = 0; - - for (int i=0; i < STATE_LENGTH; i++) - { - i2 = ((keyBytes[i1] & 0xff) + engineState[i] + i2) & 0xff; - // do the byte-swap inline - byte tmp = engineState[i]; - engineState[i] = engineState[i2]; - engineState[i2] = tmp; - i1 = (i1+1) % keyBytes.length; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC532Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC532Engine.java deleted file mode 100644 index 24619716d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC532Engine.java +++ /dev/null @@ -1,287 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RC5Parameters; - -/** - * The specification for RC5 came from the RC5 Encryption Algorithm - * publication in RSA CryptoBytes, Spring of 1995. - * http://www.rsasecurity.com/rsalabs/cryptobytes. - *

    - * This implementation has a word size of 32 bits. - *

    - * Implementation courtesy of Tito Pena. - */ -public class RC532Engine - implements BlockCipher -{ - /* - * the number of rounds to perform - */ - private int _noRounds; - - /* - * the expanded key array of size 2*(rounds + 1) - */ - private int _S[]; - - /* - * our "magic constants" for 32 32 - * - * Pw = Odd((e-2) * 2^wordsize) - * Qw = Odd((o-2) * 2^wordsize) - * - * where e is the base of natural logarithms (2.718281828...) - * and o is the golden ratio (1.61803398...) - */ - private static final int P32 = 0xb7e15163; - private static final int Q32 = 0x9e3779b9; - - private boolean forEncryption; - - /** - * Create an instance of the RC5 encryption algorithm - * and set some defaults - */ - public RC532Engine() - { - _noRounds = 12; // the default - _S = null; - } - - public String getAlgorithmName() - { - return "RC5-32"; - } - - public int getBlockSize() - { - return 2 * 4; - } - - /** - * initialise a RC5-32 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof RC5Parameters) - { - RC5Parameters p = (RC5Parameters)params; - - _noRounds = p.getRounds(); - - setKey(p.getKey()); - } - else if (params instanceof KeyParameter) - { - KeyParameter p = (KeyParameter)params; - - setKey(p.getKey()); - } - else - { - throw new IllegalArgumentException("invalid parameter passed to RC532 init - " + params.getClass().getName()); - } - - this.forEncryption = forEncryption; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - return (forEncryption) ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - // - // KEY EXPANSION: - // - // There are 3 phases to the key expansion. - // - // Phase 1: - // Copy the secret key K[0...b-1] into an array L[0..c-1] of - // c = ceil(b/u), where u = 32/8 in little-endian order. - // In other words, we fill up L using u consecutive key bytes - // of K. Any unfilled byte positions in L are zeroed. In the - // case that b = c = 0, set c = 1 and L[0] = 0. - // - int[] L = new int[(key.length + (4 - 1)) / 4]; - - for (int i = 0; i != key.length; i++) - { - L[i / 4] += (key[i] & 0xff) << (8 * (i % 4)); - } - - // - // Phase 2: - // Initialize S to a particular fixed pseudo-random bit pattern - // using an arithmetic progression modulo 2^wordsize determined - // by the magic numbers, Pw & Qw. - // - _S = new int[2*(_noRounds + 1)]; - - _S[0] = P32; - for (int i=1; i < _S.length; i++) - { - _S[i] = (_S[i-1] + Q32); - } - - // - // Phase 3: - // Mix in the user's secret key in 3 passes over the arrays S & L. - // The max of the arrays sizes is used as the loop control - // - int iter; - - if (L.length > _S.length) - { - iter = 3 * L.length; - } - else - { - iter = 3 * _S.length; - } - - int A = 0, B = 0; - int i = 0, j = 0; - - for (int k = 0; k < iter; k++) - { - A = _S[i] = rotateLeft(_S[i] + A + B, 3); - B = L[j] = rotateLeft(L[j] + A + B, A+B); - i = (i+1) % _S.length; - j = (j+1) % L.length; - } - } - - /** - * Encrypt the given block starting at the given offset and place - * the result in the provided buffer starting at the given offset. - *

    - * @param in in byte buffer containing data to encrypt - * @param inOff offset into src buffer - * @param out out buffer where encrypted data is written - * @param outOff offset into out buffer - */ - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int A = bytesToWord(in, inOff) + _S[0]; - int B = bytesToWord(in, inOff + 4) + _S[1]; - - for (int i = 1; i <= _noRounds; i++) - { - A = rotateLeft(A ^ B, B) + _S[2*i]; - B = rotateLeft(B ^ A, A) + _S[2*i+1]; - } - - wordToBytes(A, out, outOff); - wordToBytes(B, out, outOff + 4); - - return 2 * 4; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int A = bytesToWord(in, inOff); - int B = bytesToWord(in, inOff + 4); - - for (int i = _noRounds; i >= 1; i--) - { - B = rotateRight(B - _S[2*i+1], A) ^ A; - A = rotateRight(A - _S[2*i], B) ^ B; - } - - wordToBytes(A - _S[0], out, outOff); - wordToBytes(B - _S[1], out, outOff + 4); - - return 2 * 4; - } - - - ////////////////////////////////////////////////////////////// - // - // PRIVATE Helper Methods - // - ////////////////////////////////////////////////////////////// - - /** - * Perform a left "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(32) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is a power of 2. - *

    - * @param x word to rotate - * @param y number of bits to rotate % 32 - */ - private int rotateLeft(int x, int y) - { - return ((x << (y & (32-1))) | (x >>> (32 - (y & (32-1))))); - } - - /** - * Perform a right "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(32) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is a power of 2. - *

    - * @param x word to rotate - * @param y number of bits to rotate % 32 - */ - private int rotateRight(int x, int y) - { - return ((x >>> (y & (32-1))) | (x << (32 - (y & (32-1))))); - } - - private int bytesToWord( - byte[] src, - int srcOff) - { - return (src[srcOff] & 0xff) | ((src[srcOff + 1] & 0xff) << 8) - | ((src[srcOff + 2] & 0xff) << 16) | ((src[srcOff + 3] & 0xff) << 24); - } - - private void wordToBytes( - int word, - byte[] dst, - int dstOff) - { - dst[dstOff] = (byte)word; - dst[dstOff + 1] = (byte)(word >> 8); - dst[dstOff + 2] = (byte)(word >> 16); - dst[dstOff + 3] = (byte)(word >> 24); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC564Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC564Engine.java deleted file mode 100644 index 06fcbf7c3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC564Engine.java +++ /dev/null @@ -1,288 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.RC5Parameters; - -/** - * The specification for RC5 came from the RC5 Encryption Algorithm - * publication in RSA CryptoBytes, Spring of 1995. - * http://www.rsasecurity.com/rsalabs/cryptobytes. - *

    - * This implementation is set to work with a 64 bit word size. - *

    - * Implementation courtesy of Tito Pena. - */ -public class RC564Engine - implements BlockCipher -{ - private static final int wordSize = 64; - private static final int bytesPerWord = wordSize / 8; - - /* - * the number of rounds to perform - */ - private int _noRounds; - - /* - * the expanded key array of size 2*(rounds + 1) - */ - private long _S[]; - - /* - * our "magic constants" for wordSize 62 - * - * Pw = Odd((e-2) * 2^wordsize) - * Qw = Odd((o-2) * 2^wordsize) - * - * where e is the base of natural logarithms (2.718281828...) - * and o is the golden ratio (1.61803398...) - */ - private static final long P64 = 0xb7e151628aed2a6bL; - private static final long Q64 = 0x9e3779b97f4a7c15L; - - private boolean forEncryption; - - /** - * Create an instance of the RC5 encryption algorithm - * and set some defaults - */ - public RC564Engine() - { - _noRounds = 12; - _S = null; - } - - public String getAlgorithmName() - { - return "RC5-64"; - } - - public int getBlockSize() - { - return 2 * bytesPerWord; - } - - /** - * initialise a RC5-64 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof RC5Parameters)) - { - throw new IllegalArgumentException("invalid parameter passed to RC564 init - " + params.getClass().getName()); - } - - RC5Parameters p = (RC5Parameters)params; - - this.forEncryption = forEncryption; - - _noRounds = p.getRounds(); - - setKey(p.getKey()); - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - return (forEncryption) ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - // - // KEY EXPANSION: - // - // There are 3 phases to the key expansion. - // - // Phase 1: - // Copy the secret key K[0...b-1] into an array L[0..c-1] of - // c = ceil(b/u), where u = wordSize/8 in little-endian order. - // In other words, we fill up L using u consecutive key bytes - // of K. Any unfilled byte positions in L are zeroed. In the - // case that b = c = 0, set c = 1 and L[0] = 0. - // - long[] L = new long[(key.length + (bytesPerWord - 1)) / bytesPerWord]; - - for (int i = 0; i != key.length; i++) - { - L[i / bytesPerWord] += (long)(key[i] & 0xff) << (8 * (i % bytesPerWord)); - } - - // - // Phase 2: - // Initialize S to a particular fixed pseudo-random bit pattern - // using an arithmetic progression modulo 2^wordsize determined - // by the magic numbers, Pw & Qw. - // - _S = new long[2*(_noRounds + 1)]; - - _S[0] = P64; - for (int i=1; i < _S.length; i++) - { - _S[i] = (_S[i-1] + Q64); - } - - // - // Phase 3: - // Mix in the user's secret key in 3 passes over the arrays S & L. - // The max of the arrays sizes is used as the loop control - // - int iter; - - if (L.length > _S.length) - { - iter = 3 * L.length; - } - else - { - iter = 3 * _S.length; - } - - long A = 0, B = 0; - int i = 0, j = 0; - - for (int k = 0; k < iter; k++) - { - A = _S[i] = rotateLeft(_S[i] + A + B, 3); - B = L[j] = rotateLeft(L[j] + A + B, A+B); - i = (i+1) % _S.length; - j = (j+1) % L.length; - } - } - - /** - * Encrypt the given block starting at the given offset and place - * the result in the provided buffer starting at the given offset. - *

    - * @param in in byte buffer containing data to encrypt - * @param inOff offset into src buffer - * @param out out buffer where encrypted data is written - * @param outOff offset into out buffer - */ - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - long A = bytesToWord(in, inOff) + _S[0]; - long B = bytesToWord(in, inOff + bytesPerWord) + _S[1]; - - for (int i = 1; i <= _noRounds; i++) - { - A = rotateLeft(A ^ B, B) + _S[2*i]; - B = rotateLeft(B ^ A, A) + _S[2*i+1]; - } - - wordToBytes(A, out, outOff); - wordToBytes(B, out, outOff + bytesPerWord); - - return 2 * bytesPerWord; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - long A = bytesToWord(in, inOff); - long B = bytesToWord(in, inOff + bytesPerWord); - - for (int i = _noRounds; i >= 1; i--) - { - B = rotateRight(B - _S[2*i+1], A) ^ A; - A = rotateRight(A - _S[2*i], B) ^ B; - } - - wordToBytes(A - _S[0], out, outOff); - wordToBytes(B - _S[1], out, outOff + bytesPerWord); - - return 2 * bytesPerWord; - } - - - ////////////////////////////////////////////////////////////// - // - // PRIVATE Helper Methods - // - ////////////////////////////////////////////////////////////// - - /** - * Perform a left "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(wordSize) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is a power of 2. - *

    - * @param x word to rotate - * @param y number of bits to rotate % wordSize - */ - private long rotateLeft(long x, long y) - { - return ((x << (y & (wordSize-1))) | (x >>> (wordSize - (y & (wordSize-1))))); - } - - /** - * Perform a right "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(wordSize) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is a power of 2. - *

    - * @param x word to rotate - * @param y number of bits to rotate % wordSize - */ - private long rotateRight(long x, long y) - { - return ((x >>> (y & (wordSize-1))) | (x << (wordSize - (y & (wordSize-1))))); - } - - private long bytesToWord( - byte[] src, - int srcOff) - { - long word = 0; - - for (int i = bytesPerWord - 1; i >= 0; i--) - { - word = (word << 8) + (src[i + srcOff] & 0xff); - } - - return word; - } - - private void wordToBytes( - long word, - byte[] dst, - int dstOff) - { - for (int i = 0; i < bytesPerWord; i++) - { - dst[i + dstOff] = (byte)word; - word >>>= 8; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC6Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC6Engine.java deleted file mode 100644 index e91e654e8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RC6Engine.java +++ /dev/null @@ -1,363 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * An RC6 engine. - */ -public class RC6Engine - implements BlockCipher -{ - private static final int wordSize = 32; - private static final int bytesPerWord = wordSize / 8; - - /* - * the number of rounds to perform - */ - private static final int _noRounds = 20; - - /* - * the expanded key array of size 2*(rounds + 1) - */ - private int _S[]; - - /* - * our "magic constants" for wordSize 32 - * - * Pw = Odd((e-2) * 2^wordsize) - * Qw = Odd((o-2) * 2^wordsize) - * - * where e is the base of natural logarithms (2.718281828...) - * and o is the golden ratio (1.61803398...) - */ - private static final int P32 = 0xb7e15163; - private static final int Q32 = 0x9e3779b9; - - private static final int LGW = 5; // log2(32) - - private boolean forEncryption; - - /** - * Create an instance of the RC6 encryption algorithm - * and set some defaults - */ - public RC6Engine() - { - _S = null; - } - - public String getAlgorithmName() - { - return "RC6"; - } - - public int getBlockSize() - { - return 4 * bytesPerWord; - } - - /** - * initialise a RC5-32 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to RC6 init - " + params.getClass().getName()); - } - - KeyParameter p = (KeyParameter)params; - this.forEncryption = forEncryption; - setKey(p.getKey()); - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int blockSize = getBlockSize(); - if (_S == null) - { - throw new IllegalStateException("RC6 engine not initialised"); - } - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - if ((outOff + blockSize) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - return (forEncryption) - ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - - // - // KEY EXPANSION: - // - // There are 3 phases to the key expansion. - // - // Phase 1: - // Copy the secret key K[0...b-1] into an array L[0..c-1] of - // c = ceil(b/u), where u = wordSize/8 in little-endian order. - // In other words, we fill up L using u consecutive key bytes - // of K. Any unfilled byte positions in L are zeroed. In the - // case that b = c = 0, set c = 1 and L[0] = 0. - // - // compute number of dwords - int c = (key.length + (bytesPerWord - 1)) / bytesPerWord; - if (c == 0) - { - c = 1; - } - int[] L = new int[(key.length + bytesPerWord - 1) / bytesPerWord]; - - // load all key bytes into array of key dwords - for (int i = key.length - 1; i >= 0; i--) - { - L[i / bytesPerWord] = (L[i / bytesPerWord] << 8) + (key[i] & 0xff); - } - - // - // Phase 2: - // Key schedule is placed in a array of 2+2*ROUNDS+2 = 44 dwords. - // Initialize S to a particular fixed pseudo-random bit pattern - // using an arithmetic progression modulo 2^wordsize determined - // by the magic numbers, Pw & Qw. - // - _S = new int[2+2*_noRounds+2]; - - _S[0] = P32; - for (int i=1; i < _S.length; i++) - { - _S[i] = (_S[i-1] + Q32); - } - - // - // Phase 3: - // Mix in the user's secret key in 3 passes over the arrays S & L. - // The max of the arrays sizes is used as the loop control - // - int iter; - - if (L.length > _S.length) - { - iter = 3 * L.length; - } - else - { - iter = 3 * _S.length; - } - - int A = 0; - int B = 0; - int i = 0, j = 0; - - for (int k = 0; k < iter; k++) - { - A = _S[i] = rotateLeft(_S[i] + A + B, 3); - B = L[j] = rotateLeft(L[j] + A + B, A+B); - i = (i+1) % _S.length; - j = (j+1) % L.length; - } - } - - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // load A,B,C and D registers from in. - int A = bytesToWord(in, inOff); - int B = bytesToWord(in, inOff + bytesPerWord); - int C = bytesToWord(in, inOff + bytesPerWord*2); - int D = bytesToWord(in, inOff + bytesPerWord*3); - - // Do pseudo-round #0: pre-whitening of B and D - B += _S[0]; - D += _S[1]; - - // perform round #1,#2 ... #ROUNDS of encryption - for (int i = 1; i <= _noRounds; i++) - { - int t = 0,u = 0; - - t = B*(2*B+1); - t = rotateLeft(t,5); - - u = D*(2*D+1); - u = rotateLeft(u,5); - - A ^= t; - A = rotateLeft(A,u); - A += _S[2*i]; - - C ^= u; - C = rotateLeft(C,t); - C += _S[2*i+1]; - - int temp = A; - A = B; - B = C; - C = D; - D = temp; - } - // do pseudo-round #(ROUNDS+1) : post-whitening of A and C - A += _S[2*_noRounds+2]; - C += _S[2*_noRounds+3]; - - // store A, B, C and D registers to out - wordToBytes(A, out, outOff); - wordToBytes(B, out, outOff + bytesPerWord); - wordToBytes(C, out, outOff + bytesPerWord*2); - wordToBytes(D, out, outOff + bytesPerWord*3); - - return 4 * bytesPerWord; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // load A,B,C and D registers from out. - int A = bytesToWord(in, inOff); - int B = bytesToWord(in, inOff + bytesPerWord); - int C = bytesToWord(in, inOff + bytesPerWord*2); - int D = bytesToWord(in, inOff + bytesPerWord*3); - - // Undo pseudo-round #(ROUNDS+1) : post whitening of A and C - C -= _S[2*_noRounds+3]; - A -= _S[2*_noRounds+2]; - - // Undo round #ROUNDS, .., #2,#1 of encryption - for (int i = _noRounds; i >= 1; i--) - { - int t=0,u = 0; - - int temp = D; - D = C; - C = B; - B = A; - A = temp; - - t = B*(2*B+1); - t = rotateLeft(t, LGW); - - u = D*(2*D+1); - u = rotateLeft(u, LGW); - - C -= _S[2*i+1]; - C = rotateRight(C,t); - C ^= u; - - A -= _S[2*i]; - A = rotateRight(A,u); - A ^= t; - - } - // Undo pseudo-round #0: pre-whitening of B and D - D -= _S[1]; - B -= _S[0]; - - wordToBytes(A, out, outOff); - wordToBytes(B, out, outOff + bytesPerWord); - wordToBytes(C, out, outOff + bytesPerWord*2); - wordToBytes(D, out, outOff + bytesPerWord*3); - - return 4 * bytesPerWord; - } - - - ////////////////////////////////////////////////////////////// - // - // PRIVATE Helper Methods - // - ////////////////////////////////////////////////////////////// - - /** - * Perform a left "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(wordSize) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is 32. - *

    - * @param x word to rotate - * @param y number of bits to rotate % wordSize - */ - private int rotateLeft(int x, int y) - { - return (x << y) | (x >>> -y); - } - - /** - * Perform a right "spin" of the word. The rotation of the given - * word x is rotated left by y bits. - * Only the lg(wordSize) low-order bits of y - * are used to determine the rotation amount. Here it is - * assumed that the wordsize used is a power of 2. - *

    - * @param x word to rotate - * @param y number of bits to rotate % wordSize - */ - private int rotateRight(int x, int y) - { - return (x >>> y) | (x << -y); - } - - private int bytesToWord( - byte[] src, - int srcOff) - { - int word = 0; - - for (int i = bytesPerWord - 1; i >= 0; i--) - { - word = (word << 8) + (src[i + srcOff] & 0xff); - } - - return word; - } - - private void wordToBytes( - int word, - byte[] dst, - int dstOff) - { - for (int i = 0; i < bytesPerWord; i++) - { - dst[i + dstOff] = (byte)word; - word >>>= 8; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3211WrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3211WrapEngine.java deleted file mode 100644 index f55a717a3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3211WrapEngine.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; - -import java.security.SecureRandom; - -/** - * an implementation of the RFC 3211 Key Wrap - * Specification. - */ -public class RFC3211WrapEngine - implements Wrapper -{ - private CBCBlockCipher engine; - private ParametersWithIV param; - private boolean forWrapping; - private SecureRandom rand; - - public RFC3211WrapEngine(BlockCipher engine) - { - this.engine = new CBCBlockCipher(engine); - } - - public void init( - boolean forWrapping, - CipherParameters param) - { - this.forWrapping = forWrapping; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - rand = p.getRandom(); - this.param = (ParametersWithIV)p.getParameters(); - } - else - { - if (forWrapping) - { - rand = new SecureRandom(); - } - - this.param = (ParametersWithIV)param; - } - } - - public String getAlgorithmName() - { - return engine.getUnderlyingCipher().getAlgorithmName() + "/RFC3211Wrap"; - } - - public byte[] wrap( - byte[] in, - int inOff, - int inLen) - { - if (!forWrapping) - { - throw new IllegalStateException("not set for wrapping"); - } - - engine.init(true, param); - - int blockSize = engine.getBlockSize(); - byte[] cekBlock; - - if (inLen + 4 < blockSize * 2) - { - cekBlock = new byte[blockSize * 2]; - } - else - { - cekBlock = new byte[(inLen + 4) % blockSize == 0 ? inLen + 4 : ((inLen + 4) / blockSize + 1) * blockSize]; - } - - cekBlock[0] = (byte)inLen; - cekBlock[1] = (byte)~in[inOff]; - cekBlock[2] = (byte)~in[inOff + 1]; - cekBlock[3] = (byte)~in[inOff + 2]; - - System.arraycopy(in, inOff, cekBlock, 4, inLen); - - for (int i = inLen + 4; i < cekBlock.length; i++) - { - cekBlock[i] = (byte)rand.nextInt(); - } - - for (int i = 0; i < cekBlock.length; i += blockSize) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - - for (int i = 0; i < cekBlock.length; i += blockSize) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - - return cekBlock; - } - - public byte[] unwrap( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forWrapping) - { - throw new IllegalStateException("not set for unwrapping"); - } - - int blockSize = engine.getBlockSize(); - - if (inLen < 2 * blockSize) - { - throw new InvalidCipherTextException("input too short"); - } - - byte[] cekBlock = new byte[inLen]; - byte[] iv = new byte[blockSize]; - - System.arraycopy(in, inOff, cekBlock, 0, inLen); - System.arraycopy(in, inOff, iv, 0, iv.length); - - engine.init(false, new ParametersWithIV(param.getParameters(), iv)); - - for (int i = blockSize; i < cekBlock.length; i += blockSize) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - - System.arraycopy(cekBlock, cekBlock.length - iv.length, iv, 0, iv.length); - - engine.init(false, new ParametersWithIV(param.getParameters(), iv)); - - engine.processBlock(cekBlock, 0, cekBlock, 0); - - engine.init(false, param); - - for (int i = 0; i < cekBlock.length; i += blockSize) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - - if ((cekBlock[0] & 0xff) > cekBlock.length - 4) - { - throw new InvalidCipherTextException("wrapped key corrupted"); - } - - byte[] key = new byte[cekBlock[0] & 0xff]; - - System.arraycopy(cekBlock, 4, key, 0, cekBlock[0]); - - // Note: Using constant time comparison - int nonEqual = 0; - for (int i = 0; i != 3; i++) - { - byte check = (byte)~cekBlock[1 + i]; - nonEqual |= (check ^ key[i]); - } - if (nonEqual != 0) - { - throw new InvalidCipherTextException("wrapped key fails checksum"); - } - - return key; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3394WrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3394WrapEngine.java deleted file mode 100644 index 67ee43a79..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RFC3394WrapEngine.java +++ /dev/null @@ -1,177 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -/** - * an implementation of the AES Key Wrapper from the NIST Key Wrap - * Specification as described in RFC 3394. - *

    - * For further details see: http://www.ietf.org/rfc/rfc3394.txt - * and http://csrc.nist.gov/encryption/kms/key-wrap.pdf. - */ -public class RFC3394WrapEngine - implements Wrapper -{ - private BlockCipher engine; - private KeyParameter param; - private boolean forWrapping; - - private byte[] iv = { - (byte)0xa6, (byte)0xa6, (byte)0xa6, (byte)0xa6, - (byte)0xa6, (byte)0xa6, (byte)0xa6, (byte)0xa6 }; - - public RFC3394WrapEngine(BlockCipher engine) - { - this.engine = engine; - } - - public void init( - boolean forWrapping, - CipherParameters param) - { - this.forWrapping = forWrapping; - - if (param instanceof ParametersWithRandom) - { - param = ((ParametersWithRandom) param).getParameters(); - } - - if (param instanceof KeyParameter) - { - this.param = (KeyParameter)param; - } - else if (param instanceof ParametersWithIV) - { - this.iv = ((ParametersWithIV)param).getIV(); - this.param = (KeyParameter)((ParametersWithIV) param).getParameters(); - if (this.iv.length != 8) - { - throw new IllegalArgumentException("IV not equal to 8"); - } - } - } - - public String getAlgorithmName() - { - return engine.getAlgorithmName(); - } - - public byte[] wrap( - byte[] in, - int inOff, - int inLen) - { - if (!forWrapping) - { - throw new IllegalStateException("not set for wrapping"); - } - - int n = inLen / 8; - - if ((n * 8) != inLen) - { - throw new DataLengthException("wrap data must be a multiple of 8 bytes"); - } - - byte[] block = new byte[inLen + iv.length]; - byte[] buf = new byte[8 + iv.length]; - - System.arraycopy(iv, 0, block, 0, iv.length); - System.arraycopy(in, inOff, block, iv.length, inLen); - - engine.init(true, param); - - for (int j = 0; j != 6; j++) - { - for (int i = 1; i <= n; i++) - { - System.arraycopy(block, 0, buf, 0, iv.length); - System.arraycopy(block, 8 * i, buf, iv.length, 8); - engine.processBlock(buf, 0, buf, 0); - - int t = n * j + i; - for (int k = 1; t != 0; k++) - { - byte v = (byte)t; - - buf[iv.length - k] ^= v; - - t >>>= 8; - } - - System.arraycopy(buf, 0, block, 0, 8); - System.arraycopy(buf, 8, block, 8 * i, 8); - } - } - - return block; - } - - public byte[] unwrap( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forWrapping) - { - throw new IllegalStateException("not set for unwrapping"); - } - - int n = inLen / 8; - - if ((n * 8) != inLen) - { - throw new InvalidCipherTextException("unwrap data must be a multiple of 8 bytes"); - } - - byte[] block = new byte[inLen - iv.length]; - byte[] a = new byte[iv.length]; - byte[] buf = new byte[8 + iv.length]; - - System.arraycopy(in, inOff, a, 0, iv.length); - System.arraycopy(in, inOff + iv.length, block, 0, inLen - iv.length); - - engine.init(false, param); - - n = n - 1; - - for (int j = 5; j >= 0; j--) - { - for (int i = n; i >= 1; i--) - { - System.arraycopy(a, 0, buf, 0, iv.length); - System.arraycopy(block, 8 * (i - 1), buf, iv.length, 8); - - int t = n * j + i; - for (int k = 1; t != 0; k++) - { - byte v = (byte)t; - - buf[iv.length - k] ^= v; - - t >>>= 8; - } - - engine.processBlock(buf, 0, buf, 0); - System.arraycopy(buf, 0, a, 0, 8); - System.arraycopy(buf, 8, block, 8 * (i - 1), 8); - } - } - - if (!Arrays.constantTimeAreEqual(a, iv)) - { - throw new InvalidCipherTextException("checksum failed"); - } - - return block; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindedEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindedEngine.java deleted file mode 100644 index d254f1c60..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindedEngine.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.spongycastle.crypto.engines; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.util.BigIntegers; - -/** - * this does your basic RSA algorithm with blinding - */ -public class RSABlindedEngine - implements AsymmetricBlockCipher -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private RSACoreEngine core = new RSACoreEngine(); - private RSAKeyParameters key; - private SecureRandom random; - - /** - * initialise the RSA engine. - * - * @param forEncryption true if we are encrypting, false otherwise. - * @param param the necessary RSA key parameters. - */ - public void init( - boolean forEncryption, - CipherParameters param) - { - core.init(forEncryption, param); - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - key = (RSAKeyParameters)rParam.getParameters(); - random = rParam.getRandom(); - } - else - { - key = (RSAKeyParameters)param; - random = new SecureRandom(); - } - } - - /** - * Return the maximum size for an input block to this engine. - * For RSA this is always one byte less than the key size on - * encryption, and the same length as the key size on decryption. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - return core.getInputBlockSize(); - } - - /** - * Return the maximum size for an output block to this engine. - * For RSA this is always one byte less than the key size on - * decryption, and the same length as the key size on encryption. - * - * @return maximum size for an output block. - */ - public int getOutputBlockSize() - { - return core.getOutputBlockSize(); - } - - /** - * Process a single block using the basic RSA algorithm. - * - * @param in the input array. - * @param inOff the offset into the input buffer where the data starts. - * @param inLen the length of the data to be processed. - * @return the result of the RSA process. - * @exception DataLengthException the input block is too large. - */ - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - { - if (key == null) - { - throw new IllegalStateException("RSA engine not initialised"); - } - - BigInteger input = core.convertInput(in, inOff, inLen); - - BigInteger result; - if (key instanceof RSAPrivateCrtKeyParameters) - { - RSAPrivateCrtKeyParameters k = (RSAPrivateCrtKeyParameters)key; - - BigInteger e = k.getPublicExponent(); - if (e != null) // can't do blinding without a public exponent - { - BigInteger m = k.getModulus(); - BigInteger r = BigIntegers.createRandomInRange(ONE, m.subtract(ONE), random); - - BigInteger blindedInput = r.modPow(e, m).multiply(input).mod(m); - BigInteger blindedResult = core.processBlock(blindedInput); - - BigInteger rInv = r.modInverse(m); - result = blindedResult.multiply(rInv).mod(m); - } - else - { - result = core.processBlock(input); - } - } - else - { - result = core.processBlock(input); - } - - return core.convertOutput(result); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindingEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindingEngine.java deleted file mode 100644 index 1888916e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSABlindingEngine.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSABlindingParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; - -import java.math.BigInteger; - -/** - * This does your basic RSA Chaum's blinding and unblinding as outlined in - * "Handbook of Applied Cryptography", page 475. You need to use this if you are - * trying to get another party to generate signatures without them being aware - * of the message they are signing. - */ -public class RSABlindingEngine - implements AsymmetricBlockCipher -{ - private RSACoreEngine core = new RSACoreEngine(); - - private RSAKeyParameters key; - private BigInteger blindingFactor; - - private boolean forEncryption; - - /** - * Initialise the blinding engine. - * - * @param forEncryption true if we are encrypting (blinding), false otherwise. - * @param param the necessary RSA key parameters. - */ - public void init( - boolean forEncryption, - CipherParameters param) - { - RSABlindingParameters p; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - p = (RSABlindingParameters)rParam.getParameters(); - } - else - { - p = (RSABlindingParameters)param; - } - - core.init(forEncryption, p.getPublicKey()); - - this.forEncryption = forEncryption; - this.key = p.getPublicKey(); - this.blindingFactor = p.getBlindingFactor(); - } - - /** - * Return the maximum size for an input block to this engine. - * For RSA this is always one byte less than the key size on - * encryption, and the same length as the key size on decryption. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - return core.getInputBlockSize(); - } - - /** - * Return the maximum size for an output block to this engine. - * For RSA this is always one byte less than the key size on - * decryption, and the same length as the key size on encryption. - * - * @return maximum size for an output block. - */ - public int getOutputBlockSize() - { - return core.getOutputBlockSize(); - } - - /** - * Process a single block using the RSA blinding algorithm. - * - * @param in the input array. - * @param inOff the offset into the input buffer where the data starts. - * @param inLen the length of the data to be processed. - * @return the result of the RSA process. - * @throws DataLengthException the input block is too large. - */ - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - { - BigInteger msg = core.convertInput(in, inOff, inLen); - - if (forEncryption) - { - msg = blindMessage(msg); - } - else - { - msg = unblindMessage(msg); - } - - return core.convertOutput(msg); - } - - /* - * Blind message with the blind factor. - */ - private BigInteger blindMessage( - BigInteger msg) - { - BigInteger blindMsg = blindingFactor; - blindMsg = msg.multiply(blindMsg.modPow(key.getExponent(), key.getModulus())); - blindMsg = blindMsg.mod(key.getModulus()); - - return blindMsg; - } - - /* - * Unblind the message blinded with the blind factor. - */ - private BigInteger unblindMessage( - BigInteger blindedMsg) - { - BigInteger m = key.getModulus(); - BigInteger msg = blindedMsg; - BigInteger blindFactorInverse = blindingFactor.modInverse(m); - msg = msg.multiply(blindFactorInverse); - msg = msg.mod(m); - - return msg; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSACoreEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSACoreEngine.java deleted file mode 100644 index 4a98bbdad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSACoreEngine.java +++ /dev/null @@ -1,203 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; - -import java.math.BigInteger; - -/** - * this does your basic RSA algorithm. - */ -class RSACoreEngine -{ - private RSAKeyParameters key; - private boolean forEncryption; - - /** - * initialise the RSA engine. - * - * @param forEncryption true if we are encrypting, false otherwise. - * @param param the necessary RSA key parameters. - */ - public void init( - boolean forEncryption, - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - key = (RSAKeyParameters)rParam.getParameters(); - } - else - { - key = (RSAKeyParameters)param; - } - - this.forEncryption = forEncryption; - } - - /** - * Return the maximum size for an input block to this engine. - * For RSA this is always one byte less than the key size on - * encryption, and the same length as the key size on decryption. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - int bitSize = key.getModulus().bitLength(); - - if (forEncryption) - { - return (bitSize + 7) / 8 - 1; - } - else - { - return (bitSize + 7) / 8; - } - } - - /** - * Return the maximum size for an output block to this engine. - * For RSA this is always one byte less than the key size on - * decryption, and the same length as the key size on encryption. - * - * @return maximum size for an output block. - */ - public int getOutputBlockSize() - { - int bitSize = key.getModulus().bitLength(); - - if (forEncryption) - { - return (bitSize + 7) / 8; - } - else - { - return (bitSize + 7) / 8 - 1; - } - } - - public BigInteger convertInput( - byte[] in, - int inOff, - int inLen) - { - if (inLen > (getInputBlockSize() + 1)) - { - throw new DataLengthException("input too large for RSA cipher."); - } - else if (inLen == (getInputBlockSize() + 1) && !forEncryption) - { - throw new DataLengthException("input too large for RSA cipher."); - } - - byte[] block; - - if (inOff != 0 || inLen != in.length) - { - block = new byte[inLen]; - - System.arraycopy(in, inOff, block, 0, inLen); - } - else - { - block = in; - } - - BigInteger res = new BigInteger(1, block); - if (res.compareTo(key.getModulus()) >= 0) - { - throw new DataLengthException("input too large for RSA cipher."); - } - - return res; - } - - public byte[] convertOutput( - BigInteger result) - { - byte[] output = result.toByteArray(); - - if (forEncryption) - { - if (output[0] == 0 && output.length > getOutputBlockSize()) // have ended up with an extra zero byte, copy down. - { - byte[] tmp = new byte[output.length - 1]; - - System.arraycopy(output, 1, tmp, 0, tmp.length); - - return tmp; - } - - if (output.length < getOutputBlockSize()) // have ended up with less bytes than normal, lengthen - { - byte[] tmp = new byte[getOutputBlockSize()]; - - System.arraycopy(output, 0, tmp, tmp.length - output.length, output.length); - - return tmp; - } - } - else - { - if (output[0] == 0) // have ended up with an extra zero byte, copy down. - { - byte[] tmp = new byte[output.length - 1]; - - System.arraycopy(output, 1, tmp, 0, tmp.length); - - return tmp; - } - } - - return output; - } - - public BigInteger processBlock(BigInteger input) - { - if (key instanceof RSAPrivateCrtKeyParameters) - { - // - // we have the extra factors, use the Chinese Remainder Theorem - the author - // wishes to express his thanks to Dirk Bonekaemper at rtsffm.com for - // advice regarding the expression of this. - // - RSAPrivateCrtKeyParameters crtKey = (RSAPrivateCrtKeyParameters)key; - - BigInteger p = crtKey.getP(); - BigInteger q = crtKey.getQ(); - BigInteger dP = crtKey.getDP(); - BigInteger dQ = crtKey.getDQ(); - BigInteger qInv = crtKey.getQInv(); - - BigInteger mP, mQ, h, m; - - // mP = ((input mod p) ^ dP)) mod p - mP = (input.remainder(p)).modPow(dP, p); - - // mQ = ((input mod q) ^ dQ)) mod q - mQ = (input.remainder(q)).modPow(dQ, q); - - // h = qInv * (mP - mQ) mod p - h = mP.subtract(mQ); - h = h.multiply(qInv); - h = h.mod(p); // mod (in Java) returns the positive residual - - // m = h * q + mQ - m = h.multiply(q); - m = m.add(mQ); - - return m; - } - else - { - return input.modPow( - key.getExponent(), key.getModulus()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSAEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSAEngine.java deleted file mode 100644 index 5ffe2ace3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RSAEngine.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; - -/** - * this does your basic RSA algorithm. - */ -public class RSAEngine - implements AsymmetricBlockCipher -{ - private RSACoreEngine core; - - /** - * initialise the RSA engine. - * - * @param forEncryption true if we are encrypting, false otherwise. - * @param param the necessary RSA key parameters. - */ - public void init( - boolean forEncryption, - CipherParameters param) - { - if (core == null) - { - core = new RSACoreEngine(); - } - - core.init(forEncryption, param); - } - - /** - * Return the maximum size for an input block to this engine. - * For RSA this is always one byte less than the key size on - * encryption, and the same length as the key size on decryption. - * - * @return maximum size for an input block. - */ - public int getInputBlockSize() - { - return core.getInputBlockSize(); - } - - /** - * Return the maximum size for an output block to this engine. - * For RSA this is always one byte less than the key size on - * decryption, and the same length as the key size on encryption. - * - * @return maximum size for an output block. - */ - public int getOutputBlockSize() - { - return core.getOutputBlockSize(); - } - - /** - * Process a single block using the basic RSA algorithm. - * - * @param in the input array. - * @param inOff the offset into the input buffer where the data starts. - * @param inLen the length of the data to be processed. - * @return the result of the RSA process. - * @exception DataLengthException the input block is too large. - */ - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - { - if (core == null) - { - throw new IllegalStateException("RSA engine not initialised"); - } - - return core.convertOutput(core.processBlock(core.convertInput(in, inOff, inLen))); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RijndaelEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RijndaelEngine.java deleted file mode 100644 index b38c71149..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/RijndaelEngine.java +++ /dev/null @@ -1,725 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * an implementation of Rijndael, based on the documentation and reference implementation - * by Paulo Barreto, Vincent Rijmen, for v2.0 August '99. - *

    - * Note: this implementation is based on information prior to final NIST publication. - */ -public class RijndaelEngine - implements BlockCipher -{ - private static final int MAXROUNDS = 14; - - private static final int MAXKC = (256/4); - - private static final byte[] logtable = { - (byte)0, (byte)0, (byte)25, (byte)1, (byte)50, (byte)2, (byte)26, (byte)198, - (byte)75, (byte)199, (byte)27, (byte)104, (byte)51, (byte)238, (byte)223, (byte)3, - (byte)100, (byte)4, (byte)224, (byte)14, (byte)52, (byte)141, (byte)129, (byte)239, - (byte)76, (byte)113, (byte)8, (byte)200, (byte)248, (byte)105, (byte)28, (byte)193, - (byte)125, (byte)194, (byte)29, (byte)181, (byte)249, (byte)185, (byte)39, (byte)106, - (byte)77, (byte)228, (byte)166, (byte)114, (byte)154, (byte)201, (byte)9, (byte)120, - (byte)101, (byte)47, (byte)138, (byte)5, (byte)33, (byte)15, (byte)225, (byte)36, - (byte)18, (byte)240, (byte)130, (byte)69, (byte)53, (byte)147, (byte)218, (byte)142, - (byte)150, (byte)143, (byte)219, (byte)189, (byte)54, (byte)208, (byte)206, (byte)148, - (byte)19, (byte)92, (byte)210, (byte)241, (byte)64, (byte)70, (byte)131, (byte)56, - (byte)102, (byte)221, (byte)253, (byte)48, (byte)191, (byte)6, (byte)139, (byte)98, - (byte)179, (byte)37, (byte)226, (byte)152, (byte)34, (byte)136, (byte)145, (byte)16, - (byte)126, (byte)110, (byte)72, (byte)195, (byte)163, (byte)182, (byte)30, (byte)66, - (byte)58, (byte)107, (byte)40, (byte)84, (byte)250, (byte)133, (byte)61, (byte)186, - (byte)43, (byte)121, (byte)10, (byte)21, (byte)155, (byte)159, (byte)94, (byte)202, - (byte)78, (byte)212, (byte)172, (byte)229, (byte)243, (byte)115, (byte)167, (byte)87, - (byte)175, (byte)88, (byte)168, (byte)80, (byte)244, (byte)234, (byte)214, (byte)116, - (byte)79, (byte)174, (byte)233, (byte)213, (byte)231, (byte)230, (byte)173, (byte)232, - (byte)44, (byte)215, (byte)117, (byte)122, (byte)235, (byte)22, (byte)11, (byte)245, - (byte)89, (byte)203, (byte)95, (byte)176, (byte)156, (byte)169, (byte)81, (byte)160, - (byte)127, (byte)12, (byte)246, (byte)111, (byte)23, (byte)196, (byte)73, (byte)236, - (byte)216, (byte)67, (byte)31, (byte)45, (byte)164, (byte)118, (byte)123, (byte)183, - (byte)204, (byte)187, (byte)62, (byte)90, (byte)251, (byte)96, (byte)177, (byte)134, - (byte)59, (byte)82, (byte)161, (byte)108, (byte)170, (byte)85, (byte)41, (byte)157, - (byte)151, (byte)178, (byte)135, (byte)144, (byte)97, (byte)190, (byte)220, (byte)252, - (byte)188, (byte)149, (byte)207, (byte)205, (byte)55, (byte)63, (byte)91, (byte)209, - (byte)83, (byte)57, (byte)132, (byte)60, (byte)65, (byte)162, (byte)109, (byte)71, - (byte)20, (byte)42, (byte)158, (byte)93, (byte)86, (byte)242, (byte)211, (byte)171, - (byte)68, (byte)17, (byte)146, (byte)217, (byte)35, (byte)32, (byte)46, (byte)137, - (byte)180, (byte)124, (byte)184, (byte)38, (byte)119, (byte)153, (byte)227, (byte)165, - (byte)103, (byte)74, (byte)237, (byte)222, (byte)197, (byte)49, (byte)254, (byte)24, - (byte)13, (byte)99, (byte)140, (byte)128, (byte)192, (byte)247, (byte)112, (byte)7 - }; - - private static final byte[] aLogtable = { - (byte)0, (byte)3, (byte)5, (byte)15, (byte)17, (byte)51, (byte)85, (byte)255, (byte)26, (byte)46, (byte)114, (byte)150, (byte)161, (byte)248, (byte)19, (byte)53, - (byte)95, (byte)225, (byte)56, (byte)72, (byte)216, (byte)115, (byte)149, (byte)164, (byte)247, (byte)2, (byte)6, (byte)10, (byte)30, (byte)34, (byte)102, (byte)170, - (byte)229, (byte)52, (byte)92, (byte)228, (byte)55, (byte)89, (byte)235, (byte)38, (byte)106, (byte)190, (byte)217, (byte)112, (byte)144, (byte)171, (byte)230, (byte)49, - (byte)83, (byte)245, (byte)4, (byte)12, (byte)20, (byte)60, (byte)68, (byte)204, (byte)79, (byte)209, (byte)104, (byte)184, (byte)211, (byte)110, (byte)178, (byte)205, - (byte)76, (byte)212, (byte)103, (byte)169, (byte)224, (byte)59, (byte)77, (byte)215, (byte)98, (byte)166, (byte)241, (byte)8, (byte)24, (byte)40, (byte)120, (byte)136, - (byte)131, (byte)158, (byte)185, (byte)208, (byte)107, (byte)189, (byte)220, (byte)127, (byte)129, (byte)152, (byte)179, (byte)206, (byte)73, (byte)219, (byte)118, (byte)154, - (byte)181, (byte)196, (byte)87, (byte)249, (byte)16, (byte)48, (byte)80, (byte)240, (byte)11, (byte)29, (byte)39, (byte)105, (byte)187, (byte)214, (byte)97, (byte)163, - (byte)254, (byte)25, (byte)43, (byte)125, (byte)135, (byte)146, (byte)173, (byte)236, (byte)47, (byte)113, (byte)147, (byte)174, (byte)233, (byte)32, (byte)96, (byte)160, - (byte)251, (byte)22, (byte)58, (byte)78, (byte)210, (byte)109, (byte)183, (byte)194, (byte)93, (byte)231, (byte)50, (byte)86, (byte)250, (byte)21, (byte)63, (byte)65, - (byte)195, (byte)94, (byte)226, (byte)61, (byte)71, (byte)201, (byte)64, (byte)192, (byte)91, (byte)237, (byte)44, (byte)116, (byte)156, (byte)191, (byte)218, (byte)117, - (byte)159, (byte)186, (byte)213, (byte)100, (byte)172, (byte)239, (byte)42, (byte)126, (byte)130, (byte)157, (byte)188, (byte)223, (byte)122, (byte)142, (byte)137, (byte)128, - (byte)155, (byte)182, (byte)193, (byte)88, (byte)232, (byte)35, (byte)101, (byte)175, (byte)234, (byte)37, (byte)111, (byte)177, (byte)200, (byte)67, (byte)197, (byte)84, - (byte)252, (byte)31, (byte)33, (byte)99, (byte)165, (byte)244, (byte)7, (byte)9, (byte)27, (byte)45, (byte)119, (byte)153, (byte)176, (byte)203, (byte)70, (byte)202, - (byte)69, (byte)207, (byte)74, (byte)222, (byte)121, (byte)139, (byte)134, (byte)145, (byte)168, (byte)227, (byte)62, (byte)66, (byte)198, (byte)81, (byte)243, (byte)14, - (byte)18, (byte)54, (byte)90, (byte)238, (byte)41, (byte)123, (byte)141, (byte)140, (byte)143, (byte)138, (byte)133, (byte)148, (byte)167, (byte)242, (byte)13, (byte)23, - (byte)57, (byte)75, (byte)221, (byte)124, (byte)132, (byte)151, (byte)162, (byte)253, (byte)28, (byte)36, (byte)108, (byte)180, (byte)199, (byte)82, (byte)246, (byte)1, - (byte)3, (byte)5, (byte)15, (byte)17, (byte)51, (byte)85, (byte)255, (byte)26, (byte)46, (byte)114, (byte)150, (byte)161, (byte)248, (byte)19, (byte)53, - (byte)95, (byte)225, (byte)56, (byte)72, (byte)216, (byte)115, (byte)149, (byte)164, (byte)247, (byte)2, (byte)6, (byte)10, (byte)30, (byte)34, (byte)102, (byte)170, - (byte)229, (byte)52, (byte)92, (byte)228, (byte)55, (byte)89, (byte)235, (byte)38, (byte)106, (byte)190, (byte)217, (byte)112, (byte)144, (byte)171, (byte)230, (byte)49, - (byte)83, (byte)245, (byte)4, (byte)12, (byte)20, (byte)60, (byte)68, (byte)204, (byte)79, (byte)209, (byte)104, (byte)184, (byte)211, (byte)110, (byte)178, (byte)205, - (byte)76, (byte)212, (byte)103, (byte)169, (byte)224, (byte)59, (byte)77, (byte)215, (byte)98, (byte)166, (byte)241, (byte)8, (byte)24, (byte)40, (byte)120, (byte)136, - (byte)131, (byte)158, (byte)185, (byte)208, (byte)107, (byte)189, (byte)220, (byte)127, (byte)129, (byte)152, (byte)179, (byte)206, (byte)73, (byte)219, (byte)118, (byte)154, - (byte)181, (byte)196, (byte)87, (byte)249, (byte)16, (byte)48, (byte)80, (byte)240, (byte)11, (byte)29, (byte)39, (byte)105, (byte)187, (byte)214, (byte)97, (byte)163, - (byte)254, (byte)25, (byte)43, (byte)125, (byte)135, (byte)146, (byte)173, (byte)236, (byte)47, (byte)113, (byte)147, (byte)174, (byte)233, (byte)32, (byte)96, (byte)160, - (byte)251, (byte)22, (byte)58, (byte)78, (byte)210, (byte)109, (byte)183, (byte)194, (byte)93, (byte)231, (byte)50, (byte)86, (byte)250, (byte)21, (byte)63, (byte)65, - (byte)195, (byte)94, (byte)226, (byte)61, (byte)71, (byte)201, (byte)64, (byte)192, (byte)91, (byte)237, (byte)44, (byte)116, (byte)156, (byte)191, (byte)218, (byte)117, - (byte)159, (byte)186, (byte)213, (byte)100, (byte)172, (byte)239, (byte)42, (byte)126, (byte)130, (byte)157, (byte)188, (byte)223, (byte)122, (byte)142, (byte)137, (byte)128, - (byte)155, (byte)182, (byte)193, (byte)88, (byte)232, (byte)35, (byte)101, (byte)175, (byte)234, (byte)37, (byte)111, (byte)177, (byte)200, (byte)67, (byte)197, (byte)84, - (byte)252, (byte)31, (byte)33, (byte)99, (byte)165, (byte)244, (byte)7, (byte)9, (byte)27, (byte)45, (byte)119, (byte)153, (byte)176, (byte)203, (byte)70, (byte)202, - (byte)69, (byte)207, (byte)74, (byte)222, (byte)121, (byte)139, (byte)134, (byte)145, (byte)168, (byte)227, (byte)62, (byte)66, (byte)198, (byte)81, (byte)243, (byte)14, - (byte)18, (byte)54, (byte)90, (byte)238, (byte)41, (byte)123, (byte)141, (byte)140, (byte)143, (byte)138, (byte)133, (byte)148, (byte)167, (byte)242, (byte)13, (byte)23, - (byte)57, (byte)75, (byte)221, (byte)124, (byte)132, (byte)151, (byte)162, (byte)253, (byte)28, (byte)36, (byte)108, (byte)180, (byte)199, (byte)82, (byte)246, (byte)1, - }; - - private static final byte[] S = { - (byte)99, (byte)124, (byte)119, (byte)123, (byte)242, (byte)107, (byte)111, (byte)197, (byte)48, (byte)1, (byte)103, (byte)43, (byte)254, (byte)215, (byte)171, (byte)118, - (byte)202, (byte)130, (byte)201, (byte)125, (byte)250, (byte)89, (byte)71, (byte)240, (byte)173, (byte)212, (byte)162, (byte)175, (byte)156, (byte)164, (byte)114, (byte)192, - (byte)183, (byte)253, (byte)147, (byte)38, (byte)54, (byte)63, (byte)247, (byte)204, (byte)52, (byte)165, (byte)229, (byte)241, (byte)113, (byte)216, (byte)49, (byte)21, - (byte)4, (byte)199, (byte)35, (byte)195, (byte)24, (byte)150, (byte)5, (byte)154, (byte)7, (byte)18, (byte)128, (byte)226, (byte)235, (byte)39, (byte)178, (byte)117, - (byte)9, (byte)131, (byte)44, (byte)26, (byte)27, (byte)110, (byte)90, (byte)160, (byte)82, (byte)59, (byte)214, (byte)179, (byte)41, (byte)227, (byte)47, (byte)132, - (byte)83, (byte)209, (byte)0, (byte)237, (byte)32, (byte)252, (byte)177, (byte)91, (byte)106, (byte)203, (byte)190, (byte)57, (byte)74, (byte)76, (byte)88, (byte)207, - (byte)208, (byte)239, (byte)170, (byte)251, (byte)67, (byte)77, (byte)51, (byte)133, (byte)69, (byte)249, (byte)2, (byte)127, (byte)80, (byte)60, (byte)159, (byte)168, - (byte)81, (byte)163, (byte)64, (byte)143, (byte)146, (byte)157, (byte)56, (byte)245, (byte)188, (byte)182, (byte)218, (byte)33, (byte)16, (byte)255, (byte)243, (byte)210, - (byte)205, (byte)12, (byte)19, (byte)236, (byte)95, (byte)151, (byte)68, (byte)23, (byte)196, (byte)167, (byte)126, (byte)61, (byte)100, (byte)93, (byte)25, (byte)115, - (byte)96, (byte)129, (byte)79, (byte)220, (byte)34, (byte)42, (byte)144, (byte)136, (byte)70, (byte)238, (byte)184, (byte)20, (byte)222, (byte)94, (byte)11, (byte)219, - (byte)224, (byte)50, (byte)58, (byte)10, (byte)73, (byte)6, (byte)36, (byte)92, (byte)194, (byte)211, (byte)172, (byte)98, (byte)145, (byte)149, (byte)228, (byte)121, - (byte)231, (byte)200, (byte)55, (byte)109, (byte)141, (byte)213, (byte)78, (byte)169, (byte)108, (byte)86, (byte)244, (byte)234, (byte)101, (byte)122, (byte)174, (byte)8, - (byte)186, (byte)120, (byte)37, (byte)46, (byte)28, (byte)166, (byte)180, (byte)198, (byte)232, (byte)221, (byte)116, (byte)31, (byte)75, (byte)189, (byte)139, (byte)138, - (byte)112, (byte)62, (byte)181, (byte)102, (byte)72, (byte)3, (byte)246, (byte)14, (byte)97, (byte)53, (byte)87, (byte)185, (byte)134, (byte)193, (byte)29, (byte)158, - (byte)225, (byte)248, (byte)152, (byte)17, (byte)105, (byte)217, (byte)142, (byte)148, (byte)155, (byte)30, (byte)135, (byte)233, (byte)206, (byte)85, (byte)40, (byte)223, - (byte)140, (byte)161, (byte)137, (byte)13, (byte)191, (byte)230, (byte)66, (byte)104, (byte)65, (byte)153, (byte)45, (byte)15, (byte)176, (byte)84, (byte)187, (byte)22, - }; - - private static final byte[] Si = { - (byte)82, (byte)9, (byte)106, (byte)213, (byte)48, (byte)54, (byte)165, (byte)56, (byte)191, (byte)64, (byte)163, (byte)158, (byte)129, (byte)243, (byte)215, (byte)251, - (byte)124, (byte)227, (byte)57, (byte)130, (byte)155, (byte)47, (byte)255, (byte)135, (byte)52, (byte)142, (byte)67, (byte)68, (byte)196, (byte)222, (byte)233, (byte)203, - (byte)84, (byte)123, (byte)148, (byte)50, (byte)166, (byte)194, (byte)35, (byte)61, (byte)238, (byte)76, (byte)149, (byte)11, (byte)66, (byte)250, (byte)195, (byte)78, - (byte)8, (byte)46, (byte)161, (byte)102, (byte)40, (byte)217, (byte)36, (byte)178, (byte)118, (byte)91, (byte)162, (byte)73, (byte)109, (byte)139, (byte)209, (byte)37, - (byte)114, (byte)248, (byte)246, (byte)100, (byte)134, (byte)104, (byte)152, (byte)22, (byte)212, (byte)164, (byte)92, (byte)204, (byte)93, (byte)101, (byte)182, (byte)146, - (byte)108, (byte)112, (byte)72, (byte)80, (byte)253, (byte)237, (byte)185, (byte)218, (byte)94, (byte)21, (byte)70, (byte)87, (byte)167, (byte)141, (byte)157, (byte)132, - (byte)144, (byte)216, (byte)171, (byte)0, (byte)140, (byte)188, (byte)211, (byte)10, (byte)247, (byte)228, (byte)88, (byte)5, (byte)184, (byte)179, (byte)69, (byte)6, - (byte)208, (byte)44, (byte)30, (byte)143, (byte)202, (byte)63, (byte)15, (byte)2, (byte)193, (byte)175, (byte)189, (byte)3, (byte)1, (byte)19, (byte)138, (byte)107, - (byte)58, (byte)145, (byte)17, (byte)65, (byte)79, (byte)103, (byte)220, (byte)234, (byte)151, (byte)242, (byte)207, (byte)206, (byte)240, (byte)180, (byte)230, (byte)115, - (byte)150, (byte)172, (byte)116, (byte)34, (byte)231, (byte)173, (byte)53, (byte)133, (byte)226, (byte)249, (byte)55, (byte)232, (byte)28, (byte)117, (byte)223, (byte)110, - (byte)71, (byte)241, (byte)26, (byte)113, (byte)29, (byte)41, (byte)197, (byte)137, (byte)111, (byte)183, (byte)98, (byte)14, (byte)170, (byte)24, (byte)190, (byte)27, - (byte)252, (byte)86, (byte)62, (byte)75, (byte)198, (byte)210, (byte)121, (byte)32, (byte)154, (byte)219, (byte)192, (byte)254, (byte)120, (byte)205, (byte)90, (byte)244, - (byte)31, (byte)221, (byte)168, (byte)51, (byte)136, (byte)7, (byte)199, (byte)49, (byte)177, (byte)18, (byte)16, (byte)89, (byte)39, (byte)128, (byte)236, (byte)95, - (byte)96, (byte)81, (byte)127, (byte)169, (byte)25, (byte)181, (byte)74, (byte)13, (byte)45, (byte)229, (byte)122, (byte)159, (byte)147, (byte)201, (byte)156, (byte)239, - (byte)160, (byte)224, (byte)59, (byte)77, (byte)174, (byte)42, (byte)245, (byte)176, (byte)200, (byte)235, (byte)187, (byte)60, (byte)131, (byte)83, (byte)153, (byte)97, - (byte)23, (byte)43, (byte)4, (byte)126, (byte)186, (byte)119, (byte)214, (byte)38, (byte)225, (byte)105, (byte)20, (byte)99, (byte)85, (byte)33, (byte)12, (byte)125, - }; - - private static final int[] rcon = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 }; - - static byte[][] shifts0 = - { - { 0, 8, 16, 24 }, - { 0, 8, 16, 24 }, - { 0, 8, 16, 24 }, - { 0, 8, 16, 32 }, - { 0, 8, 24, 32 } - }; - - static byte[][] shifts1 = - { - { 0, 24, 16, 8 }, - { 0, 32, 24, 16 }, - { 0, 40, 32, 24 }, - { 0, 48, 40, 24 }, - { 0, 56, 40, 32 } - }; - - /** - * multiply two elements of GF(2^m) - * needed for MixColumn and InvMixColumn - */ - private byte mul0x2( - int b) - { - if (b != 0) - { - return aLogtable[25 + (logtable[b] & 0xff)]; - } - else - { - return 0; - } - } - - private byte mul0x3( - int b) - { - if (b != 0) - { - return aLogtable[1 + (logtable[b] & 0xff)]; - } - else - { - return 0; - } - } - - private byte mul0x9( - int b) - { - if (b >= 0) - { - return aLogtable[199 + b]; - } - else - { - return 0; - } - } - - private byte mul0xb( - int b) - { - if (b >= 0) - { - return aLogtable[104 + b]; - } - else - { - return 0; - } - } - - private byte mul0xd( - int b) - { - if (b >= 0) - { - return aLogtable[238 + b]; - } - else - { - return 0; - } - } - - private byte mul0xe( - int b) - { - if (b >= 0) - { - return aLogtable[223 + b]; - } - else - { - return 0; - } - } - - /** - * xor corresponding text input and round key input bytes - */ - private void KeyAddition( - long[] rk) - { - A0 ^= rk[0]; - A1 ^= rk[1]; - A2 ^= rk[2]; - A3 ^= rk[3]; - } - - private long shift( - long r, - int shift) - { - return (((r >>> shift) | (r << (BC - shift)))) & BC_MASK; - } - - /** - * Row 0 remains unchanged - * The other three rows are shifted a variable amount - */ - private void ShiftRow( - byte[] shiftsSC) - { - A1 = shift(A1, shiftsSC[1]); - A2 = shift(A2, shiftsSC[2]); - A3 = shift(A3, shiftsSC[3]); - } - - private long applyS( - long r, - byte[] box) - { - long res = 0; - - for (int j = 0; j < BC; j += 8) - { - res |= (long)(box[(int)((r >> j) & 0xff)] & 0xff) << j; - } - - return res; - } - - /** - * Replace every byte of the input by the byte at that place - * in the nonlinear S-box - */ - private void Substitution( - byte[] box) - { - A0 = applyS(A0, box); - A1 = applyS(A1, box); - A2 = applyS(A2, box); - A3 = applyS(A3, box); - } - - /** - * Mix the bytes of every column in a linear way - */ - private void MixColumn() - { - long r0, r1, r2, r3; - - r0 = r1 = r2 = r3 = 0; - - for (int j = 0; j < BC; j += 8) - { - int a0 = (int)((A0 >> j) & 0xff); - int a1 = (int)((A1 >> j) & 0xff); - int a2 = (int)((A2 >> j) & 0xff); - int a3 = (int)((A3 >> j) & 0xff); - - r0 |= (long)((mul0x2(a0) ^ mul0x3(a1) ^ a2 ^ a3) & 0xff) << j; - - r1 |= (long)((mul0x2(a1) ^ mul0x3(a2) ^ a3 ^ a0) & 0xff) << j; - - r2 |= (long)((mul0x2(a2) ^ mul0x3(a3) ^ a0 ^ a1) & 0xff) << j; - - r3 |= (long)((mul0x2(a3) ^ mul0x3(a0) ^ a1 ^ a2) & 0xff) << j; - } - - A0 = r0; - A1 = r1; - A2 = r2; - A3 = r3; - } - - /** - * Mix the bytes of every column in a linear way - * This is the opposite operation of Mixcolumn - */ - private void InvMixColumn() - { - long r0, r1, r2, r3; - - r0 = r1 = r2 = r3 = 0; - for (int j = 0; j < BC; j += 8) - { - int a0 = (int)((A0 >> j) & 0xff); - int a1 = (int)((A1 >> j) & 0xff); - int a2 = (int)((A2 >> j) & 0xff); - int a3 = (int)((A3 >> j) & 0xff); - - // - // pre-lookup the log table - // - a0 = (a0 != 0) ? (logtable[a0 & 0xff] & 0xff) : -1; - a1 = (a1 != 0) ? (logtable[a1 & 0xff] & 0xff) : -1; - a2 = (a2 != 0) ? (logtable[a2 & 0xff] & 0xff) : -1; - a3 = (a3 != 0) ? (logtable[a3 & 0xff] & 0xff) : -1; - - r0 |= (long)((mul0xe(a0) ^ mul0xb(a1) ^ mul0xd(a2) ^ mul0x9(a3)) & 0xff) << j; - - r1 |= (long)((mul0xe(a1) ^ mul0xb(a2) ^ mul0xd(a3) ^ mul0x9(a0)) & 0xff) << j; - - r2 |= (long)((mul0xe(a2) ^ mul0xb(a3) ^ mul0xd(a0) ^ mul0x9(a1)) & 0xff) << j; - - r3 |= (long)((mul0xe(a3) ^ mul0xb(a0) ^ mul0xd(a1) ^ mul0x9(a2)) & 0xff) << j; - } - - A0 = r0; - A1 = r1; - A2 = r2; - A3 = r3; - } - - /** - * Calculate the necessary round keys - * The number of calculations depends on keyBits and blockBits - */ - private long[][] generateWorkingKey( - byte[] key) - { - int KC; - int t, rconpointer = 0; - int keyBits = key.length * 8; - byte[][] tk = new byte[4][MAXKC]; - long[][] W = new long[MAXROUNDS+1][4]; - - switch (keyBits) - { - case 128: - KC = 4; - break; - case 160: - KC = 5; - break; - case 192: - KC = 6; - break; - case 224: - KC = 7; - break; - case 256: - KC = 8; - break; - default : - throw new IllegalArgumentException("Key length not 128/160/192/224/256 bits."); - } - - if (keyBits >= blockBits) - { - ROUNDS = KC + 6; - } - else - { - ROUNDS = (BC / 8) + 6; - } - - // - // copy the key into the processing area - // - int index = 0; - - for (int i = 0; i < key.length; i++) - { - tk[i % 4][i / 4] = key[index++]; - } - - t = 0; - - // - // copy values into round key array - // - for (int j = 0; (j < KC) && (t < (ROUNDS+1)*(BC / 8)); j++, t++) - { - for (int i = 0; i < 4; i++) - { - W[t / (BC / 8)][i] |= (long)(tk[i][j] & 0xff) << ((t * 8) % BC); - } - } - - // - // while not enough round key material calculated - // calculate new values - // - while (t < (ROUNDS+1)*(BC/8)) - { - for (int i = 0; i < 4; i++) - { - tk[i][0] ^= S[tk[(i+1)%4][KC-1] & 0xff]; - } - tk[0][0] ^= rcon[rconpointer++]; - - if (KC <= 6) - { - for (int j = 1; j < KC; j++) - { - for (int i = 0; i < 4; i++) - { - tk[i][j] ^= tk[i][j-1]; - } - } - } - else - { - for (int j = 1; j < 4; j++) - { - for (int i = 0; i < 4; i++) - { - tk[i][j] ^= tk[i][j-1]; - } - } - for (int i = 0; i < 4; i++) - { - tk[i][4] ^= S[tk[i][3] & 0xff]; - } - for (int j = 5; j < KC; j++) - { - for (int i = 0; i < 4; i++) - { - tk[i][j] ^= tk[i][j-1]; - } - } - } - - // - // copy values into round key array - // - for (int j = 0; (j < KC) && (t < (ROUNDS+1)*(BC/8)); j++, t++) - { - for (int i = 0; i < 4; i++) - { - W[t / (BC/8)][i] |= (long)(tk[i][j] & 0xff) << ((t * 8) % (BC)); - } - } - } - - return W; - } - - private int BC; - private long BC_MASK; - private int ROUNDS; - private int blockBits; - private long[][] workingKey; - private long A0, A1, A2, A3; - private boolean forEncryption; - private byte[] shifts0SC; - private byte[] shifts1SC; - - /** - * default constructor - 128 bit block size. - */ - public RijndaelEngine() - { - this(128); - } - - /** - * basic constructor - set the cipher up for a given blocksize - * - * @param blockBits the blocksize in bits, must be 128, 192, or 256. - */ - public RijndaelEngine( - int blockBits) - { - switch (blockBits) - { - case 128: - BC = 32; - BC_MASK = 0xffffffffL; - shifts0SC = shifts0[0]; - shifts1SC = shifts1[0]; - break; - case 160: - BC = 40; - BC_MASK = 0xffffffffffL; - shifts0SC = shifts0[1]; - shifts1SC = shifts1[1]; - break; - case 192: - BC = 48; - BC_MASK = 0xffffffffffffL; - shifts0SC = shifts0[2]; - shifts1SC = shifts1[2]; - break; - case 224: - BC = 56; - BC_MASK = 0xffffffffffffffL; - shifts0SC = shifts0[3]; - shifts1SC = shifts1[3]; - break; - case 256: - BC = 64; - BC_MASK = 0xffffffffffffffffL; - shifts0SC = shifts0[4]; - shifts1SC = shifts1[4]; - break; - default: - throw new IllegalArgumentException("unknown blocksize to Rijndael"); - } - - this.blockBits = blockBits; - } - - /** - * initialise a Rijndael cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - workingKey = generateWorkingKey(((KeyParameter)params).getKey()); - this.forEncryption = forEncryption; - return; - } - - throw new IllegalArgumentException("invalid parameter passed to Rijndael init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "Rijndael"; - } - - public int getBlockSize() - { - return BC / 2; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("Rijndael engine not initialised"); - } - - if ((inOff + (BC / 2)) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + (BC / 2)) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (forEncryption) - { - unpackBlock(in, inOff); - encryptBlock(workingKey); - packBlock(out, outOff); - } - else - { - unpackBlock(in, inOff); - decryptBlock(workingKey); - packBlock(out, outOff); - } - - return BC / 2; - } - - public void reset() - { - } - - private void unpackBlock( - byte[] bytes, - int off) - { - int index = off; - - A0 = (bytes[index++] & 0xff); - A1 = (bytes[index++] & 0xff); - A2 = (bytes[index++] & 0xff); - A3 = (bytes[index++] & 0xff); - - for (int j = 8; j != BC; j += 8) - { - A0 |= (long)(bytes[index++] & 0xff) << j; - A1 |= (long)(bytes[index++] & 0xff) << j; - A2 |= (long)(bytes[index++] & 0xff) << j; - A3 |= (long)(bytes[index++] & 0xff) << j; - } - } - - private void packBlock( - byte[] bytes, - int off) - { - int index = off; - - for (int j = 0; j != BC; j += 8) - { - bytes[index++] = (byte)(A0 >> j); - bytes[index++] = (byte)(A1 >> j); - bytes[index++] = (byte)(A2 >> j); - bytes[index++] = (byte)(A3 >> j); - } - } - - private void encryptBlock( - long[][] rk) - { - int r; - - // - // begin with a key addition - // - KeyAddition(rk[0]); - - // - // ROUNDS-1 ordinary rounds - // - for (r = 1; r < ROUNDS; r++) - { - Substitution(S); - ShiftRow(shifts0SC); - MixColumn(); - KeyAddition(rk[r]); - } - - // - // Last round is special: there is no MixColumn - // - Substitution(S); - ShiftRow(shifts0SC); - KeyAddition(rk[ROUNDS]); - } - - private void decryptBlock( - long[][] rk) - { - int r; - - // To decrypt: apply the inverse operations of the encrypt routine, - // in opposite order - // - // (KeyAddition is an involution: it 's equal to its inverse) - // (the inverse of Substitution with table S is Substitution with the inverse table of S) - // (the inverse of Shiftrow is Shiftrow over a suitable distance) - // - - // First the special round: - // without InvMixColumn - // with extra KeyAddition - // - KeyAddition(rk[ROUNDS]); - Substitution(Si); - ShiftRow(shifts1SC); - - // - // ROUNDS-1 ordinary rounds - // - for (r = ROUNDS-1; r > 0; r--) - { - KeyAddition(rk[r]); - InvMixColumn(); - Substitution(Si); - ShiftRow(shifts1SC); - } - - // - // End with the extra key addition - // - KeyAddition(rk[0]); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDEngine.java deleted file mode 100644 index 1a376c914..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDEngine.java +++ /dev/null @@ -1,346 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * Implementation of the SEED algorithm as described in RFC 4009 - */ -public class SEEDEngine - implements BlockCipher -{ - private final int BLOCK_SIZE = 16; - - private static final int[] SS0 = - { - 0x2989a1a8, 0x05858184, 0x16c6d2d4, 0x13c3d3d0, 0x14445054, 0x1d0d111c, 0x2c8ca0ac, 0x25052124, - 0x1d4d515c, 0x03434340, 0x18081018, 0x1e0e121c, 0x11415150, 0x3cccf0fc, 0x0acac2c8, 0x23436360, - 0x28082028, 0x04444044, 0x20002020, 0x1d8d919c, 0x20c0e0e0, 0x22c2e2e0, 0x08c8c0c8, 0x17071314, - 0x2585a1a4, 0x0f8f838c, 0x03030300, 0x3b4b7378, 0x3b8bb3b8, 0x13031310, 0x12c2d2d0, 0x2ecee2ec, - 0x30407070, 0x0c8c808c, 0x3f0f333c, 0x2888a0a8, 0x32023230, 0x1dcdd1dc, 0x36c6f2f4, 0x34447074, - 0x2ccce0ec, 0x15859194, 0x0b0b0308, 0x17475354, 0x1c4c505c, 0x1b4b5358, 0x3d8db1bc, 0x01010100, - 0x24042024, 0x1c0c101c, 0x33437370, 0x18889098, 0x10001010, 0x0cccc0cc, 0x32c2f2f0, 0x19c9d1d8, - 0x2c0c202c, 0x27c7e3e4, 0x32427270, 0x03838380, 0x1b8b9398, 0x11c1d1d0, 0x06868284, 0x09c9c1c8, - 0x20406060, 0x10405050, 0x2383a3a0, 0x2bcbe3e8, 0x0d0d010c, 0x3686b2b4, 0x1e8e929c, 0x0f4f434c, - 0x3787b3b4, 0x1a4a5258, 0x06c6c2c4, 0x38487078, 0x2686a2a4, 0x12021210, 0x2f8fa3ac, 0x15c5d1d4, - 0x21416160, 0x03c3c3c0, 0x3484b0b4, 0x01414140, 0x12425250, 0x3d4d717c, 0x0d8d818c, 0x08080008, - 0x1f0f131c, 0x19899198, 0x00000000, 0x19091118, 0x04040004, 0x13435350, 0x37c7f3f4, 0x21c1e1e0, - 0x3dcdf1fc, 0x36467274, 0x2f0f232c, 0x27072324, 0x3080b0b0, 0x0b8b8388, 0x0e0e020c, 0x2b8ba3a8, - 0x2282a2a0, 0x2e4e626c, 0x13839390, 0x0d4d414c, 0x29496168, 0x3c4c707c, 0x09090108, 0x0a0a0208, - 0x3f8fb3bc, 0x2fcfe3ec, 0x33c3f3f0, 0x05c5c1c4, 0x07878384, 0x14041014, 0x3ecef2fc, 0x24446064, - 0x1eced2dc, 0x2e0e222c, 0x0b4b4348, 0x1a0a1218, 0x06060204, 0x21012120, 0x2b4b6368, 0x26466264, - 0x02020200, 0x35c5f1f4, 0x12829290, 0x0a8a8288, 0x0c0c000c, 0x3383b3b0, 0x3e4e727c, 0x10c0d0d0, - 0x3a4a7278, 0x07474344, 0x16869294, 0x25c5e1e4, 0x26062224, 0x00808080, 0x2d8da1ac, 0x1fcfd3dc, - 0x2181a1a0, 0x30003030, 0x37073334, 0x2e8ea2ac, 0x36063234, 0x15051114, 0x22022220, 0x38083038, - 0x34c4f0f4, 0x2787a3a4, 0x05454144, 0x0c4c404c, 0x01818180, 0x29c9e1e8, 0x04848084, 0x17879394, - 0x35053134, 0x0bcbc3c8, 0x0ecec2cc, 0x3c0c303c, 0x31417170, 0x11011110, 0x07c7c3c4, 0x09898188, - 0x35457174, 0x3bcbf3f8, 0x1acad2d8, 0x38c8f0f8, 0x14849094, 0x19495158, 0x02828280, 0x04c4c0c4, - 0x3fcff3fc, 0x09494148, 0x39093138, 0x27476364, 0x00c0c0c0, 0x0fcfc3cc, 0x17c7d3d4, 0x3888b0b8, - 0x0f0f030c, 0x0e8e828c, 0x02424240, 0x23032320, 0x11819190, 0x2c4c606c, 0x1bcbd3d8, 0x2484a0a4, - 0x34043034, 0x31c1f1f0, 0x08484048, 0x02c2c2c0, 0x2f4f636c, 0x3d0d313c, 0x2d0d212c, 0x00404040, - 0x3e8eb2bc, 0x3e0e323c, 0x3c8cb0bc, 0x01c1c1c0, 0x2a8aa2a8, 0x3a8ab2b8, 0x0e4e424c, 0x15455154, - 0x3b0b3338, 0x1cccd0dc, 0x28486068, 0x3f4f737c, 0x1c8c909c, 0x18c8d0d8, 0x0a4a4248, 0x16465254, - 0x37477374, 0x2080a0a0, 0x2dcde1ec, 0x06464244, 0x3585b1b4, 0x2b0b2328, 0x25456164, 0x3acaf2f8, - 0x23c3e3e0, 0x3989b1b8, 0x3181b1b0, 0x1f8f939c, 0x1e4e525c, 0x39c9f1f8, 0x26c6e2e4, 0x3282b2b0, - 0x31013130, 0x2acae2e8, 0x2d4d616c, 0x1f4f535c, 0x24c4e0e4, 0x30c0f0f0, 0x0dcdc1cc, 0x08888088, - 0x16061214, 0x3a0a3238, 0x18485058, 0x14c4d0d4, 0x22426260, 0x29092128, 0x07070304, 0x33033330, - 0x28c8e0e8, 0x1b0b1318, 0x05050104, 0x39497178, 0x10809090, 0x2a4a6268, 0x2a0a2228, 0x1a8a9298 - }; - - private static final int[] SS1 = - { - - 0x38380830, 0xe828c8e0, 0x2c2d0d21, 0xa42686a2, 0xcc0fcfc3, 0xdc1eced2, 0xb03383b3, 0xb83888b0, - 0xac2f8fa3, 0x60204060, 0x54154551, 0xc407c7c3, 0x44044440, 0x6c2f4f63, 0x682b4b63, 0x581b4b53, - 0xc003c3c3, 0x60224262, 0x30330333, 0xb43585b1, 0x28290921, 0xa02080a0, 0xe022c2e2, 0xa42787a3, - 0xd013c3d3, 0x90118191, 0x10110111, 0x04060602, 0x1c1c0c10, 0xbc3c8cb0, 0x34360632, 0x480b4b43, - 0xec2fcfe3, 0x88088880, 0x6c2c4c60, 0xa82888a0, 0x14170713, 0xc404c4c0, 0x14160612, 0xf434c4f0, - 0xc002c2c2, 0x44054541, 0xe021c1e1, 0xd416c6d2, 0x3c3f0f33, 0x3c3d0d31, 0x8c0e8e82, 0x98188890, - 0x28280820, 0x4c0e4e42, 0xf436c6f2, 0x3c3e0e32, 0xa42585a1, 0xf839c9f1, 0x0c0d0d01, 0xdc1fcfd3, - 0xd818c8d0, 0x282b0b23, 0x64264662, 0x783a4a72, 0x24270723, 0x2c2f0f23, 0xf031c1f1, 0x70324272, - 0x40024242, 0xd414c4d0, 0x40014141, 0xc000c0c0, 0x70334373, 0x64274763, 0xac2c8ca0, 0x880b8b83, - 0xf437c7f3, 0xac2d8da1, 0x80008080, 0x1c1f0f13, 0xc80acac2, 0x2c2c0c20, 0xa82a8aa2, 0x34340430, - 0xd012c2d2, 0x080b0b03, 0xec2ecee2, 0xe829c9e1, 0x5c1d4d51, 0x94148490, 0x18180810, 0xf838c8f0, - 0x54174753, 0xac2e8ea2, 0x08080800, 0xc405c5c1, 0x10130313, 0xcc0dcdc1, 0x84068682, 0xb83989b1, - 0xfc3fcff3, 0x7c3d4d71, 0xc001c1c1, 0x30310131, 0xf435c5f1, 0x880a8a82, 0x682a4a62, 0xb03181b1, - 0xd011c1d1, 0x20200020, 0xd417c7d3, 0x00020202, 0x20220222, 0x04040400, 0x68284860, 0x70314171, - 0x04070703, 0xd81bcbd3, 0x9c1d8d91, 0x98198991, 0x60214161, 0xbc3e8eb2, 0xe426c6e2, 0x58194951, - 0xdc1dcdd1, 0x50114151, 0x90108090, 0xdc1cccd0, 0x981a8a92, 0xa02383a3, 0xa82b8ba3, 0xd010c0d0, - 0x80018181, 0x0c0f0f03, 0x44074743, 0x181a0a12, 0xe023c3e3, 0xec2ccce0, 0x8c0d8d81, 0xbc3f8fb3, - 0x94168692, 0x783b4b73, 0x5c1c4c50, 0xa02282a2, 0xa02181a1, 0x60234363, 0x20230323, 0x4c0d4d41, - 0xc808c8c0, 0x9c1e8e92, 0x9c1c8c90, 0x383a0a32, 0x0c0c0c00, 0x2c2e0e22, 0xb83a8ab2, 0x6c2e4e62, - 0x9c1f8f93, 0x581a4a52, 0xf032c2f2, 0x90128292, 0xf033c3f3, 0x48094941, 0x78384870, 0xcc0cccc0, - 0x14150511, 0xf83bcbf3, 0x70304070, 0x74354571, 0x7c3f4f73, 0x34350531, 0x10100010, 0x00030303, - 0x64244460, 0x6c2d4d61, 0xc406c6c2, 0x74344470, 0xd415c5d1, 0xb43484b0, 0xe82acae2, 0x08090901, - 0x74364672, 0x18190911, 0xfc3ecef2, 0x40004040, 0x10120212, 0xe020c0e0, 0xbc3d8db1, 0x04050501, - 0xf83acaf2, 0x00010101, 0xf030c0f0, 0x282a0a22, 0x5c1e4e52, 0xa82989a1, 0x54164652, 0x40034343, - 0x84058581, 0x14140410, 0x88098981, 0x981b8b93, 0xb03080b0, 0xe425c5e1, 0x48084840, 0x78394971, - 0x94178793, 0xfc3cccf0, 0x1c1e0e12, 0x80028282, 0x20210121, 0x8c0c8c80, 0x181b0b13, 0x5c1f4f53, - 0x74374773, 0x54144450, 0xb03282b2, 0x1c1d0d11, 0x24250521, 0x4c0f4f43, 0x00000000, 0x44064642, - 0xec2dcde1, 0x58184850, 0x50124252, 0xe82bcbe3, 0x7c3e4e72, 0xd81acad2, 0xc809c9c1, 0xfc3dcdf1, - 0x30300030, 0x94158591, 0x64254561, 0x3c3c0c30, 0xb43686b2, 0xe424c4e0, 0xb83b8bb3, 0x7c3c4c70, - 0x0c0e0e02, 0x50104050, 0x38390931, 0x24260622, 0x30320232, 0x84048480, 0x68294961, 0x90138393, - 0x34370733, 0xe427c7e3, 0x24240420, 0xa42484a0, 0xc80bcbc3, 0x50134353, 0x080a0a02, 0x84078783, - 0xd819c9d1, 0x4c0c4c40, 0x80038383, 0x8c0f8f83, 0xcc0ecec2, 0x383b0b33, 0x480a4a42, 0xb43787b3 - }; - - private static final int[] SS2 = - { - - 0xa1a82989, 0x81840585, 0xd2d416c6, 0xd3d013c3, 0x50541444, 0x111c1d0d, 0xa0ac2c8c, 0x21242505, - 0x515c1d4d, 0x43400343, 0x10181808, 0x121c1e0e, 0x51501141, 0xf0fc3ccc, 0xc2c80aca, 0x63602343, - 0x20282808, 0x40440444, 0x20202000, 0x919c1d8d, 0xe0e020c0, 0xe2e022c2, 0xc0c808c8, 0x13141707, - 0xa1a42585, 0x838c0f8f, 0x03000303, 0x73783b4b, 0xb3b83b8b, 0x13101303, 0xd2d012c2, 0xe2ec2ece, - 0x70703040, 0x808c0c8c, 0x333c3f0f, 0xa0a82888, 0x32303202, 0xd1dc1dcd, 0xf2f436c6, 0x70743444, - 0xe0ec2ccc, 0x91941585, 0x03080b0b, 0x53541747, 0x505c1c4c, 0x53581b4b, 0xb1bc3d8d, 0x01000101, - 0x20242404, 0x101c1c0c, 0x73703343, 0x90981888, 0x10101000, 0xc0cc0ccc, 0xf2f032c2, 0xd1d819c9, - 0x202c2c0c, 0xe3e427c7, 0x72703242, 0x83800383, 0x93981b8b, 0xd1d011c1, 0x82840686, 0xc1c809c9, - 0x60602040, 0x50501040, 0xa3a02383, 0xe3e82bcb, 0x010c0d0d, 0xb2b43686, 0x929c1e8e, 0x434c0f4f, - 0xb3b43787, 0x52581a4a, 0xc2c406c6, 0x70783848, 0xa2a42686, 0x12101202, 0xa3ac2f8f, 0xd1d415c5, - 0x61602141, 0xc3c003c3, 0xb0b43484, 0x41400141, 0x52501242, 0x717c3d4d, 0x818c0d8d, 0x00080808, - 0x131c1f0f, 0x91981989, 0x00000000, 0x11181909, 0x00040404, 0x53501343, 0xf3f437c7, 0xe1e021c1, - 0xf1fc3dcd, 0x72743646, 0x232c2f0f, 0x23242707, 0xb0b03080, 0x83880b8b, 0x020c0e0e, 0xa3a82b8b, - 0xa2a02282, 0x626c2e4e, 0x93901383, 0x414c0d4d, 0x61682949, 0x707c3c4c, 0x01080909, 0x02080a0a, - 0xb3bc3f8f, 0xe3ec2fcf, 0xf3f033c3, 0xc1c405c5, 0x83840787, 0x10141404, 0xf2fc3ece, 0x60642444, - 0xd2dc1ece, 0x222c2e0e, 0x43480b4b, 0x12181a0a, 0x02040606, 0x21202101, 0x63682b4b, 0x62642646, - 0x02000202, 0xf1f435c5, 0x92901282, 0x82880a8a, 0x000c0c0c, 0xb3b03383, 0x727c3e4e, 0xd0d010c0, - 0x72783a4a, 0x43440747, 0x92941686, 0xe1e425c5, 0x22242606, 0x80800080, 0xa1ac2d8d, 0xd3dc1fcf, - 0xa1a02181, 0x30303000, 0x33343707, 0xa2ac2e8e, 0x32343606, 0x11141505, 0x22202202, 0x30383808, - 0xf0f434c4, 0xa3a42787, 0x41440545, 0x404c0c4c, 0x81800181, 0xe1e829c9, 0x80840484, 0x93941787, - 0x31343505, 0xc3c80bcb, 0xc2cc0ece, 0x303c3c0c, 0x71703141, 0x11101101, 0xc3c407c7, 0x81880989, - 0x71743545, 0xf3f83bcb, 0xd2d81aca, 0xf0f838c8, 0x90941484, 0x51581949, 0x82800282, 0xc0c404c4, - 0xf3fc3fcf, 0x41480949, 0x31383909, 0x63642747, 0xc0c000c0, 0xc3cc0fcf, 0xd3d417c7, 0xb0b83888, - 0x030c0f0f, 0x828c0e8e, 0x42400242, 0x23202303, 0x91901181, 0x606c2c4c, 0xd3d81bcb, 0xa0a42484, - 0x30343404, 0xf1f031c1, 0x40480848, 0xc2c002c2, 0x636c2f4f, 0x313c3d0d, 0x212c2d0d, 0x40400040, - 0xb2bc3e8e, 0x323c3e0e, 0xb0bc3c8c, 0xc1c001c1, 0xa2a82a8a, 0xb2b83a8a, 0x424c0e4e, 0x51541545, - 0x33383b0b, 0xd0dc1ccc, 0x60682848, 0x737c3f4f, 0x909c1c8c, 0xd0d818c8, 0x42480a4a, 0x52541646, - 0x73743747, 0xa0a02080, 0xe1ec2dcd, 0x42440646, 0xb1b43585, 0x23282b0b, 0x61642545, 0xf2f83aca, - 0xe3e023c3, 0xb1b83989, 0xb1b03181, 0x939c1f8f, 0x525c1e4e, 0xf1f839c9, 0xe2e426c6, 0xb2b03282, - 0x31303101, 0xe2e82aca, 0x616c2d4d, 0x535c1f4f, 0xe0e424c4, 0xf0f030c0, 0xc1cc0dcd, 0x80880888, - 0x12141606, 0x32383a0a, 0x50581848, 0xd0d414c4, 0x62602242, 0x21282909, 0x03040707, 0x33303303, - 0xe0e828c8, 0x13181b0b, 0x01040505, 0x71783949, 0x90901080, 0x62682a4a, 0x22282a0a, 0x92981a8a - }; - - - private static final int[] SS3 = - { - - 0x08303838, 0xc8e0e828, 0x0d212c2d, 0x86a2a426, 0xcfc3cc0f, 0xced2dc1e, 0x83b3b033, 0x88b0b838, - 0x8fa3ac2f, 0x40606020, 0x45515415, 0xc7c3c407, 0x44404404, 0x4f636c2f, 0x4b63682b, 0x4b53581b, - 0xc3c3c003, 0x42626022, 0x03333033, 0x85b1b435, 0x09212829, 0x80a0a020, 0xc2e2e022, 0x87a3a427, - 0xc3d3d013, 0x81919011, 0x01111011, 0x06020406, 0x0c101c1c, 0x8cb0bc3c, 0x06323436, 0x4b43480b, - 0xcfe3ec2f, 0x88808808, 0x4c606c2c, 0x88a0a828, 0x07131417, 0xc4c0c404, 0x06121416, 0xc4f0f434, - 0xc2c2c002, 0x45414405, 0xc1e1e021, 0xc6d2d416, 0x0f333c3f, 0x0d313c3d, 0x8e828c0e, 0x88909818, - 0x08202828, 0x4e424c0e, 0xc6f2f436, 0x0e323c3e, 0x85a1a425, 0xc9f1f839, 0x0d010c0d, 0xcfd3dc1f, - 0xc8d0d818, 0x0b23282b, 0x46626426, 0x4a72783a, 0x07232427, 0x0f232c2f, 0xc1f1f031, 0x42727032, - 0x42424002, 0xc4d0d414, 0x41414001, 0xc0c0c000, 0x43737033, 0x47636427, 0x8ca0ac2c, 0x8b83880b, - 0xc7f3f437, 0x8da1ac2d, 0x80808000, 0x0f131c1f, 0xcac2c80a, 0x0c202c2c, 0x8aa2a82a, 0x04303434, - 0xc2d2d012, 0x0b03080b, 0xcee2ec2e, 0xc9e1e829, 0x4d515c1d, 0x84909414, 0x08101818, 0xc8f0f838, - 0x47535417, 0x8ea2ac2e, 0x08000808, 0xc5c1c405, 0x03131013, 0xcdc1cc0d, 0x86828406, 0x89b1b839, - 0xcff3fc3f, 0x4d717c3d, 0xc1c1c001, 0x01313031, 0xc5f1f435, 0x8a82880a, 0x4a62682a, 0x81b1b031, - 0xc1d1d011, 0x00202020, 0xc7d3d417, 0x02020002, 0x02222022, 0x04000404, 0x48606828, 0x41717031, - 0x07030407, 0xcbd3d81b, 0x8d919c1d, 0x89919819, 0x41616021, 0x8eb2bc3e, 0xc6e2e426, 0x49515819, - 0xcdd1dc1d, 0x41515011, 0x80909010, 0xccd0dc1c, 0x8a92981a, 0x83a3a023, 0x8ba3a82b, 0xc0d0d010, - 0x81818001, 0x0f030c0f, 0x47434407, 0x0a12181a, 0xc3e3e023, 0xcce0ec2c, 0x8d818c0d, 0x8fb3bc3f, - 0x86929416, 0x4b73783b, 0x4c505c1c, 0x82a2a022, 0x81a1a021, 0x43636023, 0x03232023, 0x4d414c0d, - 0xc8c0c808, 0x8e929c1e, 0x8c909c1c, 0x0a32383a, 0x0c000c0c, 0x0e222c2e, 0x8ab2b83a, 0x4e626c2e, - 0x8f939c1f, 0x4a52581a, 0xc2f2f032, 0x82929012, 0xc3f3f033, 0x49414809, 0x48707838, 0xccc0cc0c, - 0x05111415, 0xcbf3f83b, 0x40707030, 0x45717435, 0x4f737c3f, 0x05313435, 0x00101010, 0x03030003, - 0x44606424, 0x4d616c2d, 0xc6c2c406, 0x44707434, 0xc5d1d415, 0x84b0b434, 0xcae2e82a, 0x09010809, - 0x46727436, 0x09111819, 0xcef2fc3e, 0x40404000, 0x02121012, 0xc0e0e020, 0x8db1bc3d, 0x05010405, - 0xcaf2f83a, 0x01010001, 0xc0f0f030, 0x0a22282a, 0x4e525c1e, 0x89a1a829, 0x46525416, 0x43434003, - 0x85818405, 0x04101414, 0x89818809, 0x8b93981b, 0x80b0b030, 0xc5e1e425, 0x48404808, 0x49717839, - 0x87939417, 0xccf0fc3c, 0x0e121c1e, 0x82828002, 0x01212021, 0x8c808c0c, 0x0b13181b, 0x4f535c1f, - 0x47737437, 0x44505414, 0x82b2b032, 0x0d111c1d, 0x05212425, 0x4f434c0f, 0x00000000, 0x46424406, - 0xcde1ec2d, 0x48505818, 0x42525012, 0xcbe3e82b, 0x4e727c3e, 0xcad2d81a, 0xc9c1c809, 0xcdf1fc3d, - 0x00303030, 0x85919415, 0x45616425, 0x0c303c3c, 0x86b2b436, 0xc4e0e424, 0x8bb3b83b, 0x4c707c3c, - 0x0e020c0e, 0x40505010, 0x09313839, 0x06222426, 0x02323032, 0x84808404, 0x49616829, 0x83939013, - 0x07333437, 0xc7e3e427, 0x04202424, 0x84a0a424, 0xcbc3c80b, 0x43535013, 0x0a02080a, 0x87838407, - 0xc9d1d819, 0x4c404c0c, 0x83838003, 0x8f838c0f, 0xcec2cc0e, 0x0b33383b, 0x4a42480a, 0x87b3b437 - }; - - - private static final int[] KC = - { - 0x9e3779b9, 0x3c6ef373, 0x78dde6e6, 0xf1bbcdcc, - 0xe3779b99, 0xc6ef3733, 0x8dde6e67, 0x1bbcdccf, - 0x3779b99e, 0x6ef3733c, 0xdde6e678, 0xbbcdccf1, - 0x779b99e3, 0xef3733c6, 0xde6e678d, 0xbcdccf1b - }; - - private int[] wKey; - private boolean forEncryption; - - public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException - { - this.forEncryption = forEncryption; - wKey = createWorkingKey(((KeyParameter)params).getKey()); - } - - public String getAlgorithmName() - { - return "SEED"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) throws DataLengthException, IllegalStateException - { - if (wKey == null) - { - throw new IllegalStateException("SEED engine not initialised"); - } - - if (inOff + BLOCK_SIZE > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if (outOff + BLOCK_SIZE > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - long l = bytesToLong(in, inOff + 0); - long r = bytesToLong(in, inOff + 8); - - if (forEncryption) - { - for (int i = 0; i < 16; i++) - { - long nl = r; - - r = l ^ F(wKey[2 * i], wKey[(2 * i) + 1], r); - l = nl; - } - } - else - { - for (int i = 15; i >= 0; i--) - { - long nl = r; - - r = l ^ F(wKey[2 * i], wKey[(2 * i) + 1], r); - l = nl; - } - } - - longToBytes(out, outOff + 0, r); - longToBytes(out, outOff + 8, l); - - return BLOCK_SIZE; - } - - public void reset() - { - } - - private int[] createWorkingKey(byte[] inKey) - { - int[] key = new int[32]; - long lower = bytesToLong(inKey, 0); - long upper = bytesToLong(inKey, 8); - - int key0 = extractW0(lower); - int key1 = extractW1(lower); - int key2 = extractW0(upper); - int key3 = extractW1(upper); - - for (int i = 0; i < 16; i++) - { - key[2 * i] = G(key0 + key2 - KC[i]); - key[2 * i + 1] = G(key1 - key3 + KC[i]); - - if (i % 2 == 0) - { - lower = rotateRight8(lower); - key0 = extractW0(lower); - key1 = extractW1(lower); - } - else - { - upper = rotateLeft8(upper); - key2 = extractW0(upper); - key3 = extractW1(upper); - } - } - - return key; - } - - private int extractW1(long lVal) - { - return (int)lVal; - } - - private int extractW0(long lVal) - { - return (int)(lVal >> 32); - } - - private long rotateLeft8(long x) - { - return (x << 8) | (x >>> 56); - } - - private long rotateRight8(long x) - { - return (x >>> 8) | (x << 56); - } - - private long bytesToLong( - byte[] src, - int srcOff) - { - long word = 0; - - for (int i = 0; i <= 7; i++) - { - word = (word << 8) + (src[i + srcOff] & 0xff); - } - - return word; - } - - private void longToBytes( - byte[] dest, - int destOff, - long value) - { - for (int i = 0; i < 8; i++) - { - dest[i + destOff] = (byte)(value >> ((7 - i) * 8)); - } - } - - private int G(int x) - { - return SS0[x & 0xff] ^ SS1[(x >> 8) & 0xff] ^ SS2[(x >> 16) & 0xff] ^ SS3[(x >> 24) & 0xff]; - } - - private long F(int ki0, int ki1, long r) - { - int r0 = (int)(r >> 32); - int r1 = (int)r; - int rd1 = phaseCalc2(r0, ki0, r1, ki1); - int rd0 = rd1 + phaseCalc1(r0, ki0, r1, ki1); - - return ((long)rd0 << 32) | (rd1 & 0xffffffffL); - } - - private int phaseCalc1(int r0, int ki0, int r1, int ki1) - { - return G(G((r0 ^ ki0) ^ (r1 ^ ki1)) + (r0 ^ ki0)); - } - - private int phaseCalc2(int r0, int ki0, int r1, int ki1) - { - return G(phaseCalc1(r0, ki0, r1, ki1) + G((r0 ^ ki0) ^ (r1 ^ ki1))); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDWrapEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDWrapEngine.java deleted file mode 100644 index 2b5213c2e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SEEDWrapEngine.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.engines; - -/** - * An implementation of the SEED key wrapper based on RFC 4010/RFC 3394. - *

    - * For further details see: http://www.ietf.org/rfc/rfc4010.txt. - */ -public class SEEDWrapEngine - extends RFC3394WrapEngine -{ - public SEEDWrapEngine() - { - super(new SEEDEngine()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Salsa20Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Salsa20Engine.java deleted file mode 100644 index 0036e1c23..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Salsa20Engine.java +++ /dev/null @@ -1,392 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.MaxBytesExceededException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Strings; - -/** - * Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005 - */ -public class Salsa20Engine - implements StreamCipher -{ - public final static int DEFAULT_ROUNDS = 20; - - /** Constants */ - private final static int STATE_SIZE = 16; // 16, 32 bit ints = 64 bytes - - protected final static byte[] - sigma = Strings.toByteArray("expand 32-byte k"), - tau = Strings.toByteArray("expand 16-byte k"); - - protected int rounds; - - /* - * variables to hold the state of the engine - * during encryption and decryption - */ - private int index = 0; - protected int[] engineState = new int[STATE_SIZE]; // state - protected int[] x = new int[STATE_SIZE] ; // internal buffer - private byte[] keyStream = new byte[STATE_SIZE * 4]; // expanded state, 64 bytes - private boolean initialised = false; - - /* - * internal counter - */ - private int cW0, cW1, cW2; - - /** - * Creates a 20 round Salsa20 engine. - */ - public Salsa20Engine() - { - this(DEFAULT_ROUNDS); - } - - /** - * Creates a Salsa20 engine with a specific number of rounds. - * @param rounds the number of rounds (must be an even number). - */ - public Salsa20Engine(int rounds) - { - if (rounds <= 0 || (rounds & 1) != 0) - { - throw new IllegalArgumentException("'rounds' must be a positive, even number"); - } - - this.rounds = rounds; - } - - /** - * initialise a Salsa20 cipher. - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - /* - * Salsa20 encryption and decryption is completely - * symmetrical, so the 'forEncryption' is - * irrelevant. (Like 90% of stream ciphers) - */ - - if (!(params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException(getAlgorithmName() + " Init parameters must include an IV"); - } - - ParametersWithIV ivParams = (ParametersWithIV) params; - - byte[] iv = ivParams.getIV(); - if (iv == null || iv.length != getNonceSize()) - { - throw new IllegalArgumentException(getAlgorithmName() + " requires exactly " + getNonceSize() - + " bytes of IV"); - } - - if (!(ivParams.getParameters() instanceof KeyParameter)) - { - throw new IllegalArgumentException(getAlgorithmName() + " Init parameters must include a key"); - } - - KeyParameter key = (KeyParameter) ivParams.getParameters(); - - setKey(key.getKey(), iv); - reset(); - initialised = true; - } - - protected int getNonceSize() - { - return 8; - } - - public String getAlgorithmName() - { - String name = "Salsa20"; - if (rounds != DEFAULT_ROUNDS) - { - name += "/" + rounds; - } - return name; - } - - public byte returnByte(byte in) - { - if (limitExceeded()) - { - throw new MaxBytesExceededException("2^70 byte limit per IV; Change IV"); - } - - if (index == 0) - { - generateKeyStream(keyStream); - advanceCounter(); - } - - byte out = (byte)(keyStream[index]^in); - index = (index + 1) & 63; - - return out; - } - - protected void advanceCounter() - { - if (++engineState[8] == 0) - { - ++engineState[9]; - } - } - - public void processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - { - if (!initialised) - { - throw new IllegalStateException(getAlgorithmName() + " not initialised"); - } - - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (limitExceeded(len)) - { - throw new MaxBytesExceededException("2^70 byte limit per IV would be exceeded; Change IV"); - } - - for (int i = 0; i < len; i++) - { - if (index == 0) - { - generateKeyStream(keyStream); - advanceCounter(); - } - - out[i+outOff] = (byte)(keyStream[index]^in[i+inOff]); - index = (index + 1) & 63; - } - } - - public void reset() - { - index = 0; - resetLimitCounter(); - resetCounter(); - } - - protected void resetCounter() - { - engineState[8] = engineState[9] = 0; - } - - protected void setKey(byte[] keyBytes, byte[] ivBytes) - { - if ((keyBytes.length != 16) && (keyBytes.length != 32)) { - throw new IllegalArgumentException(getAlgorithmName() + " requires 128 bit or 256 bit key"); - } - - int offset = 0; - byte[] constants; - - // Key - engineState[1] = Pack.littleEndianToInt(keyBytes, 0); - engineState[2] = Pack.littleEndianToInt(keyBytes, 4); - engineState[3] = Pack.littleEndianToInt(keyBytes, 8); - engineState[4] = Pack.littleEndianToInt(keyBytes, 12); - - if (keyBytes.length == 32) - { - constants = sigma; - offset = 16; - } - else - { - constants = tau; - } - - engineState[11] = Pack.littleEndianToInt(keyBytes, offset); - engineState[12] = Pack.littleEndianToInt(keyBytes, offset+4); - engineState[13] = Pack.littleEndianToInt(keyBytes, offset+8); - engineState[14] = Pack.littleEndianToInt(keyBytes, offset+12); - - engineState[0 ] = Pack.littleEndianToInt(constants, 0); - engineState[5 ] = Pack.littleEndianToInt(constants, 4); - engineState[10] = Pack.littleEndianToInt(constants, 8); - engineState[15] = Pack.littleEndianToInt(constants, 12); - - // IV - engineState[6] = Pack.littleEndianToInt(ivBytes, 0); - engineState[7] = Pack.littleEndianToInt(ivBytes, 4); - resetCounter(); - } - - protected void generateKeyStream(byte[] output) - { - salsaCore(rounds, engineState, x); - Pack.intToLittleEndian(x, output, 0); - } - - /** - * Salsa20 function - * - * @param input input data - * - * @return keystream - */ - public static void salsaCore(int rounds, int[] input, int[] x) - { - if (input.length != 16) { - throw new IllegalArgumentException(); - } - if (x.length != 16) { - throw new IllegalArgumentException(); - } - if (rounds % 2 != 0) { - throw new IllegalArgumentException("Number of rounds must be even"); - } - - int x00 = input[ 0]; - int x01 = input[ 1]; - int x02 = input[ 2]; - int x03 = input[ 3]; - int x04 = input[ 4]; - int x05 = input[ 5]; - int x06 = input[ 6]; - int x07 = input[ 7]; - int x08 = input[ 8]; - int x09 = input[ 9]; - int x10 = input[10]; - int x11 = input[11]; - int x12 = input[12]; - int x13 = input[13]; - int x14 = input[14]; - int x15 = input[15]; - - for (int i = rounds; i > 0; i -= 2) - { - x04 ^= rotl((x00+x12), 7); - x08 ^= rotl((x04+x00), 9); - x12 ^= rotl((x08+x04),13); - x00 ^= rotl((x12+x08),18); - x09 ^= rotl((x05+x01), 7); - x13 ^= rotl((x09+x05), 9); - x01 ^= rotl((x13+x09),13); - x05 ^= rotl((x01+x13),18); - x14 ^= rotl((x10+x06), 7); - x02 ^= rotl((x14+x10), 9); - x06 ^= rotl((x02+x14),13); - x10 ^= rotl((x06+x02),18); - x03 ^= rotl((x15+x11), 7); - x07 ^= rotl((x03+x15), 9); - x11 ^= rotl((x07+x03),13); - x15 ^= rotl((x11+x07),18); - - x01 ^= rotl((x00+x03), 7); - x02 ^= rotl((x01+x00), 9); - x03 ^= rotl((x02+x01),13); - x00 ^= rotl((x03+x02),18); - x06 ^= rotl((x05+x04), 7); - x07 ^= rotl((x06+x05), 9); - x04 ^= rotl((x07+x06),13); - x05 ^= rotl((x04+x07),18); - x11 ^= rotl((x10+x09), 7); - x08 ^= rotl((x11+x10), 9); - x09 ^= rotl((x08+x11),13); - x10 ^= rotl((x09+x08),18); - x12 ^= rotl((x15+x14), 7); - x13 ^= rotl((x12+x15), 9); - x14 ^= rotl((x13+x12),13); - x15 ^= rotl((x14+x13),18); - } - - x[ 0] = x00 + input[ 0]; - x[ 1] = x01 + input[ 1]; - x[ 2] = x02 + input[ 2]; - x[ 3] = x03 + input[ 3]; - x[ 4] = x04 + input[ 4]; - x[ 5] = x05 + input[ 5]; - x[ 6] = x06 + input[ 6]; - x[ 7] = x07 + input[ 7]; - x[ 8] = x08 + input[ 8]; - x[ 9] = x09 + input[ 9]; - x[10] = x10 + input[10]; - x[11] = x11 + input[11]; - x[12] = x12 + input[12]; - x[13] = x13 + input[13]; - x[14] = x14 + input[14]; - x[15] = x15 + input[15]; - } - - /** - * Rotate left - * - * @param x value to rotate - * @param y amount to rotate x - * - * @return rotated x - */ - protected static int rotl(int x, int y) - { - return (x << y) | (x >>> -y); - } - - private void resetLimitCounter() - { - cW0 = 0; - cW1 = 0; - cW2 = 0; - } - - private boolean limitExceeded() - { - if (++cW0 == 0) - { - if (++cW1 == 0) - { - return (++cW2 & 0x20) != 0; // 2^(32 + 32 + 6) - } - } - - return false; - } - - /* - * this relies on the fact len will always be positive. - */ - private boolean limitExceeded(int len) - { - cW0 += len; - if (cW0 < len && cW0 >= 0) - { - if (++cW1 == 0) - { - return (++cW2 & 0x20) != 0; // 2^(32 + 32 + 6) - } - } - - return false; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SerpentEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SerpentEngine.java deleted file mode 100644 index e96203b6b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SerpentEngine.java +++ /dev/null @@ -1,783 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * Serpent is a 128-bit 32-round block cipher with variable key lengths, - * including 128, 192 and 256 bit keys conjectured to be at least as - * secure as three-key triple-DES. - *

    - * Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a - * candidate algorithm for the NIST AES Quest.> - *

    - * For full details see the The Serpent home page - */ -public class SerpentEngine - implements BlockCipher -{ - private static final int BLOCK_SIZE = 16; - - static final int ROUNDS = 32; - static final int PHI = 0x9E3779B9; // (sqrt(5) - 1) * 2**31 - - private boolean encrypting; - private int[] wKey; - - private int X0, X1, X2, X3; // registers - - /** - * initialise a Serpent cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - this.encrypting = encrypting; - this.wKey = makeWorkingKey(((KeyParameter)params).getKey()); - return; - } - - throw new IllegalArgumentException("invalid parameter passed to Serpent init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "Serpent"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public final int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (wKey == null) - { - throw new IllegalStateException("Serpent not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - /** - * Expand a user-supplied key material into a session key. - * - * @param key The user-key bytes (multiples of 4) to use. - * @exception IllegalArgumentException - */ - private int[] makeWorkingKey( - byte[] key) - throws IllegalArgumentException - { - // - // pad key to 256 bits - // - int[] kPad = new int[16]; - int off = 0; - int length = 0; - - for (off = key.length - 4; off > 0; off -= 4) - { - kPad[length++] = bytesToWord(key, off); - } - - if (off == 0) - { - kPad[length++] = bytesToWord(key, 0); - if (length < 8) - { - kPad[length] = 1; - } - } - else - { - throw new IllegalArgumentException("key must be a multiple of 4 bytes"); - } - - // - // expand the padded key up to 33 x 128 bits of key material - // - int amount = (ROUNDS + 1) * 4; - int[] w = new int[amount]; - - // - // compute w0 to w7 from w-8 to w-1 - // - for (int i = 8; i < 16; i++) - { - kPad[i] = rotateLeft(kPad[i - 8] ^ kPad[i - 5] ^ kPad[i - 3] ^ kPad[i - 1] ^ PHI ^ (i - 8), 11); - } - - System.arraycopy(kPad, 8, w, 0, 8); - - // - // compute w8 to w136 - // - for (int i = 8; i < amount; i++) - { - w[i] = rotateLeft(w[i - 8] ^ w[i - 5] ^ w[i - 3] ^ w[i - 1] ^ PHI ^ i, 11); - } - - // - // create the working keys by processing w with the Sbox and IP - // - sb3(w[0], w[1], w[2], w[3]); - w[0] = X0; w[1] = X1; w[2] = X2; w[3] = X3; - sb2(w[4], w[5], w[6], w[7]); - w[4] = X0; w[5] = X1; w[6] = X2; w[7] = X3; - sb1(w[8], w[9], w[10], w[11]); - w[8] = X0; w[9] = X1; w[10] = X2; w[11] = X3; - sb0(w[12], w[13], w[14], w[15]); - w[12] = X0; w[13] = X1; w[14] = X2; w[15] = X3; - sb7(w[16], w[17], w[18], w[19]); - w[16] = X0; w[17] = X1; w[18] = X2; w[19] = X3; - sb6(w[20], w[21], w[22], w[23]); - w[20] = X0; w[21] = X1; w[22] = X2; w[23] = X3; - sb5(w[24], w[25], w[26], w[27]); - w[24] = X0; w[25] = X1; w[26] = X2; w[27] = X3; - sb4(w[28], w[29], w[30], w[31]); - w[28] = X0; w[29] = X1; w[30] = X2; w[31] = X3; - sb3(w[32], w[33], w[34], w[35]); - w[32] = X0; w[33] = X1; w[34] = X2; w[35] = X3; - sb2(w[36], w[37], w[38], w[39]); - w[36] = X0; w[37] = X1; w[38] = X2; w[39] = X3; - sb1(w[40], w[41], w[42], w[43]); - w[40] = X0; w[41] = X1; w[42] = X2; w[43] = X3; - sb0(w[44], w[45], w[46], w[47]); - w[44] = X0; w[45] = X1; w[46] = X2; w[47] = X3; - sb7(w[48], w[49], w[50], w[51]); - w[48] = X0; w[49] = X1; w[50] = X2; w[51] = X3; - sb6(w[52], w[53], w[54], w[55]); - w[52] = X0; w[53] = X1; w[54] = X2; w[55] = X3; - sb5(w[56], w[57], w[58], w[59]); - w[56] = X0; w[57] = X1; w[58] = X2; w[59] = X3; - sb4(w[60], w[61], w[62], w[63]); - w[60] = X0; w[61] = X1; w[62] = X2; w[63] = X3; - sb3(w[64], w[65], w[66], w[67]); - w[64] = X0; w[65] = X1; w[66] = X2; w[67] = X3; - sb2(w[68], w[69], w[70], w[71]); - w[68] = X0; w[69] = X1; w[70] = X2; w[71] = X3; - sb1(w[72], w[73], w[74], w[75]); - w[72] = X0; w[73] = X1; w[74] = X2; w[75] = X3; - sb0(w[76], w[77], w[78], w[79]); - w[76] = X0; w[77] = X1; w[78] = X2; w[79] = X3; - sb7(w[80], w[81], w[82], w[83]); - w[80] = X0; w[81] = X1; w[82] = X2; w[83] = X3; - sb6(w[84], w[85], w[86], w[87]); - w[84] = X0; w[85] = X1; w[86] = X2; w[87] = X3; - sb5(w[88], w[89], w[90], w[91]); - w[88] = X0; w[89] = X1; w[90] = X2; w[91] = X3; - sb4(w[92], w[93], w[94], w[95]); - w[92] = X0; w[93] = X1; w[94] = X2; w[95] = X3; - sb3(w[96], w[97], w[98], w[99]); - w[96] = X0; w[97] = X1; w[98] = X2; w[99] = X3; - sb2(w[100], w[101], w[102], w[103]); - w[100] = X0; w[101] = X1; w[102] = X2; w[103] = X3; - sb1(w[104], w[105], w[106], w[107]); - w[104] = X0; w[105] = X1; w[106] = X2; w[107] = X3; - sb0(w[108], w[109], w[110], w[111]); - w[108] = X0; w[109] = X1; w[110] = X2; w[111] = X3; - sb7(w[112], w[113], w[114], w[115]); - w[112] = X0; w[113] = X1; w[114] = X2; w[115] = X3; - sb6(w[116], w[117], w[118], w[119]); - w[116] = X0; w[117] = X1; w[118] = X2; w[119] = X3; - sb5(w[120], w[121], w[122], w[123]); - w[120] = X0; w[121] = X1; w[122] = X2; w[123] = X3; - sb4(w[124], w[125], w[126], w[127]); - w[124] = X0; w[125] = X1; w[126] = X2; w[127] = X3; - sb3(w[128], w[129], w[130], w[131]); - w[128] = X0; w[129] = X1; w[130] = X2; w[131] = X3; - - return w; - } - - private int rotateLeft( - int x, - int bits) - { - return (x << bits) | (x >>> -bits); - } - - private int rotateRight( - int x, - int bits) - { - return (x >>> bits) | (x << -bits); - } - - private int bytesToWord( - byte[] src, - int srcOff) - { - return (((src[srcOff] & 0xff) << 24) | ((src[srcOff + 1] & 0xff) << 16) | - ((src[srcOff + 2] & 0xff) << 8) | ((src[srcOff + 3] & 0xff))); - } - - private void wordToBytes( - int word, - byte[] dst, - int dstOff) - { - dst[dstOff + 3] = (byte)(word); - dst[dstOff + 2] = (byte)(word >>> 8); - dst[dstOff + 1] = (byte)(word >>> 16); - dst[dstOff] = (byte)(word >>> 24); - } - - /** - * Encrypt one block of plaintext. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - */ - private void encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - X3 = bytesToWord(in, inOff); - X2 = bytesToWord(in, inOff + 4); - X1 = bytesToWord(in, inOff + 8); - X0 = bytesToWord(in, inOff + 12); - - sb0(wKey[0] ^ X0, wKey[1] ^ X1, wKey[2] ^ X2, wKey[3] ^ X3); LT(); - sb1(wKey[4] ^ X0, wKey[5] ^ X1, wKey[6] ^ X2, wKey[7] ^ X3); LT(); - sb2(wKey[8] ^ X0, wKey[9] ^ X1, wKey[10] ^ X2, wKey[11] ^ X3); LT(); - sb3(wKey[12] ^ X0, wKey[13] ^ X1, wKey[14] ^ X2, wKey[15] ^ X3); LT(); - sb4(wKey[16] ^ X0, wKey[17] ^ X1, wKey[18] ^ X2, wKey[19] ^ X3); LT(); - sb5(wKey[20] ^ X0, wKey[21] ^ X1, wKey[22] ^ X2, wKey[23] ^ X3); LT(); - sb6(wKey[24] ^ X0, wKey[25] ^ X1, wKey[26] ^ X2, wKey[27] ^ X3); LT(); - sb7(wKey[28] ^ X0, wKey[29] ^ X1, wKey[30] ^ X2, wKey[31] ^ X3); LT(); - sb0(wKey[32] ^ X0, wKey[33] ^ X1, wKey[34] ^ X2, wKey[35] ^ X3); LT(); - sb1(wKey[36] ^ X0, wKey[37] ^ X1, wKey[38] ^ X2, wKey[39] ^ X3); LT(); - sb2(wKey[40] ^ X0, wKey[41] ^ X1, wKey[42] ^ X2, wKey[43] ^ X3); LT(); - sb3(wKey[44] ^ X0, wKey[45] ^ X1, wKey[46] ^ X2, wKey[47] ^ X3); LT(); - sb4(wKey[48] ^ X0, wKey[49] ^ X1, wKey[50] ^ X2, wKey[51] ^ X3); LT(); - sb5(wKey[52] ^ X0, wKey[53] ^ X1, wKey[54] ^ X2, wKey[55] ^ X3); LT(); - sb6(wKey[56] ^ X0, wKey[57] ^ X1, wKey[58] ^ X2, wKey[59] ^ X3); LT(); - sb7(wKey[60] ^ X0, wKey[61] ^ X1, wKey[62] ^ X2, wKey[63] ^ X3); LT(); - sb0(wKey[64] ^ X0, wKey[65] ^ X1, wKey[66] ^ X2, wKey[67] ^ X3); LT(); - sb1(wKey[68] ^ X0, wKey[69] ^ X1, wKey[70] ^ X2, wKey[71] ^ X3); LT(); - sb2(wKey[72] ^ X0, wKey[73] ^ X1, wKey[74] ^ X2, wKey[75] ^ X3); LT(); - sb3(wKey[76] ^ X0, wKey[77] ^ X1, wKey[78] ^ X2, wKey[79] ^ X3); LT(); - sb4(wKey[80] ^ X0, wKey[81] ^ X1, wKey[82] ^ X2, wKey[83] ^ X3); LT(); - sb5(wKey[84] ^ X0, wKey[85] ^ X1, wKey[86] ^ X2, wKey[87] ^ X3); LT(); - sb6(wKey[88] ^ X0, wKey[89] ^ X1, wKey[90] ^ X2, wKey[91] ^ X3); LT(); - sb7(wKey[92] ^ X0, wKey[93] ^ X1, wKey[94] ^ X2, wKey[95] ^ X3); LT(); - sb0(wKey[96] ^ X0, wKey[97] ^ X1, wKey[98] ^ X2, wKey[99] ^ X3); LT(); - sb1(wKey[100] ^ X0, wKey[101] ^ X1, wKey[102] ^ X2, wKey[103] ^ X3); LT(); - sb2(wKey[104] ^ X0, wKey[105] ^ X1, wKey[106] ^ X2, wKey[107] ^ X3); LT(); - sb3(wKey[108] ^ X0, wKey[109] ^ X1, wKey[110] ^ X2, wKey[111] ^ X3); LT(); - sb4(wKey[112] ^ X0, wKey[113] ^ X1, wKey[114] ^ X2, wKey[115] ^ X3); LT(); - sb5(wKey[116] ^ X0, wKey[117] ^ X1, wKey[118] ^ X2, wKey[119] ^ X3); LT(); - sb6(wKey[120] ^ X0, wKey[121] ^ X1, wKey[122] ^ X2, wKey[123] ^ X3); LT(); - sb7(wKey[124] ^ X0, wKey[125] ^ X1, wKey[126] ^ X2, wKey[127] ^ X3); - - wordToBytes(wKey[131] ^ X3, out, outOff); - wordToBytes(wKey[130] ^ X2, out, outOff + 4); - wordToBytes(wKey[129] ^ X1, out, outOff + 8); - wordToBytes(wKey[128] ^ X0, out, outOff + 12); - } - - /** - * Decrypt one block of ciphertext. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - */ - private void decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - X3 = wKey[131] ^ bytesToWord(in, inOff); - X2 = wKey[130] ^ bytesToWord(in, inOff + 4); - X1 = wKey[129] ^ bytesToWord(in, inOff + 8); - X0 = wKey[128] ^ bytesToWord(in, inOff + 12); - - ib7(X0, X1, X2, X3); - X0 ^= wKey[124]; X1 ^= wKey[125]; X2 ^= wKey[126]; X3 ^= wKey[127]; - inverseLT(); ib6(X0, X1, X2, X3); - X0 ^= wKey[120]; X1 ^= wKey[121]; X2 ^= wKey[122]; X3 ^= wKey[123]; - inverseLT(); ib5(X0, X1, X2, X3); - X0 ^= wKey[116]; X1 ^= wKey[117]; X2 ^= wKey[118]; X3 ^= wKey[119]; - inverseLT(); ib4(X0, X1, X2, X3); - X0 ^= wKey[112]; X1 ^= wKey[113]; X2 ^= wKey[114]; X3 ^= wKey[115]; - inverseLT(); ib3(X0, X1, X2, X3); - X0 ^= wKey[108]; X1 ^= wKey[109]; X2 ^= wKey[110]; X3 ^= wKey[111]; - inverseLT(); ib2(X0, X1, X2, X3); - X0 ^= wKey[104]; X1 ^= wKey[105]; X2 ^= wKey[106]; X3 ^= wKey[107]; - inverseLT(); ib1(X0, X1, X2, X3); - X0 ^= wKey[100]; X1 ^= wKey[101]; X2 ^= wKey[102]; X3 ^= wKey[103]; - inverseLT(); ib0(X0, X1, X2, X3); - X0 ^= wKey[96]; X1 ^= wKey[97]; X2 ^= wKey[98]; X3 ^= wKey[99]; - inverseLT(); ib7(X0, X1, X2, X3); - X0 ^= wKey[92]; X1 ^= wKey[93]; X2 ^= wKey[94]; X3 ^= wKey[95]; - inverseLT(); ib6(X0, X1, X2, X3); - X0 ^= wKey[88]; X1 ^= wKey[89]; X2 ^= wKey[90]; X3 ^= wKey[91]; - inverseLT(); ib5(X0, X1, X2, X3); - X0 ^= wKey[84]; X1 ^= wKey[85]; X2 ^= wKey[86]; X3 ^= wKey[87]; - inverseLT(); ib4(X0, X1, X2, X3); - X0 ^= wKey[80]; X1 ^= wKey[81]; X2 ^= wKey[82]; X3 ^= wKey[83]; - inverseLT(); ib3(X0, X1, X2, X3); - X0 ^= wKey[76]; X1 ^= wKey[77]; X2 ^= wKey[78]; X3 ^= wKey[79]; - inverseLT(); ib2(X0, X1, X2, X3); - X0 ^= wKey[72]; X1 ^= wKey[73]; X2 ^= wKey[74]; X3 ^= wKey[75]; - inverseLT(); ib1(X0, X1, X2, X3); - X0 ^= wKey[68]; X1 ^= wKey[69]; X2 ^= wKey[70]; X3 ^= wKey[71]; - inverseLT(); ib0(X0, X1, X2, X3); - X0 ^= wKey[64]; X1 ^= wKey[65]; X2 ^= wKey[66]; X3 ^= wKey[67]; - inverseLT(); ib7(X0, X1, X2, X3); - X0 ^= wKey[60]; X1 ^= wKey[61]; X2 ^= wKey[62]; X3 ^= wKey[63]; - inverseLT(); ib6(X0, X1, X2, X3); - X0 ^= wKey[56]; X1 ^= wKey[57]; X2 ^= wKey[58]; X3 ^= wKey[59]; - inverseLT(); ib5(X0, X1, X2, X3); - X0 ^= wKey[52]; X1 ^= wKey[53]; X2 ^= wKey[54]; X3 ^= wKey[55]; - inverseLT(); ib4(X0, X1, X2, X3); - X0 ^= wKey[48]; X1 ^= wKey[49]; X2 ^= wKey[50]; X3 ^= wKey[51]; - inverseLT(); ib3(X0, X1, X2, X3); - X0 ^= wKey[44]; X1 ^= wKey[45]; X2 ^= wKey[46]; X3 ^= wKey[47]; - inverseLT(); ib2(X0, X1, X2, X3); - X0 ^= wKey[40]; X1 ^= wKey[41]; X2 ^= wKey[42]; X3 ^= wKey[43]; - inverseLT(); ib1(X0, X1, X2, X3); - X0 ^= wKey[36]; X1 ^= wKey[37]; X2 ^= wKey[38]; X3 ^= wKey[39]; - inverseLT(); ib0(X0, X1, X2, X3); - X0 ^= wKey[32]; X1 ^= wKey[33]; X2 ^= wKey[34]; X3 ^= wKey[35]; - inverseLT(); ib7(X0, X1, X2, X3); - X0 ^= wKey[28]; X1 ^= wKey[29]; X2 ^= wKey[30]; X3 ^= wKey[31]; - inverseLT(); ib6(X0, X1, X2, X3); - X0 ^= wKey[24]; X1 ^= wKey[25]; X2 ^= wKey[26]; X3 ^= wKey[27]; - inverseLT(); ib5(X0, X1, X2, X3); - X0 ^= wKey[20]; X1 ^= wKey[21]; X2 ^= wKey[22]; X3 ^= wKey[23]; - inverseLT(); ib4(X0, X1, X2, X3); - X0 ^= wKey[16]; X1 ^= wKey[17]; X2 ^= wKey[18]; X3 ^= wKey[19]; - inverseLT(); ib3(X0, X1, X2, X3); - X0 ^= wKey[12]; X1 ^= wKey[13]; X2 ^= wKey[14]; X3 ^= wKey[15]; - inverseLT(); ib2(X0, X1, X2, X3); - X0 ^= wKey[8]; X1 ^= wKey[9]; X2 ^= wKey[10]; X3 ^= wKey[11]; - inverseLT(); ib1(X0, X1, X2, X3); - X0 ^= wKey[4]; X1 ^= wKey[5]; X2 ^= wKey[6]; X3 ^= wKey[7]; - inverseLT(); ib0(X0, X1, X2, X3); - - wordToBytes(X3 ^ wKey[3], out, outOff); - wordToBytes(X2 ^ wKey[2], out, outOff + 4); - wordToBytes(X1 ^ wKey[1], out, outOff + 8); - wordToBytes(X0 ^ wKey[0], out, outOff + 12); - } - - /** - * The sboxes below are based on the work of Brian Gladman and - * Sam Simpson, whose original notice appears below. - *

    - * For further details see: - * http://fp.gladman.plus.com/cryptography_technology/serpent/ - */ - - /* Partially optimised Serpent S Box boolean functions derived */ - /* using a recursive descent analyser but without a full search */ - /* of all subtrees. This set of S boxes is the result of work */ - /* by Sam Simpson and Brian Gladman using the spare time on a */ - /* cluster of high capacity servers to search for S boxes with */ - /* this customised search engine. There are now an average of */ - /* 15.375 terms per S box. */ - /* */ - /* Copyright: Dr B. R Gladman (gladman@seven77.demon.co.uk) */ - /* and Sam Simpson (s.simpson@mia.co.uk) */ - /* 17th December 1998 */ - /* */ - /* We hereby give permission for information in this file to be */ - /* used freely subject only to acknowledgement of its origin. */ - - /** - * S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms. - */ - private void sb0(int a, int b, int c, int d) - { - int t1 = a ^ d; - int t3 = c ^ t1; - int t4 = b ^ t3; - X3 = (a & d) ^ t4; - int t7 = a ^ (b & t1); - X2 = t4 ^ (c | t7); - int t12 = X3 & (t3 ^ t7); - X1 = (~t3) ^ t12; - X0 = t12 ^ (~t7); - } - - /** - * InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms. - */ - private void ib0(int a, int b, int c, int d) - { - int t1 = ~a; - int t2 = a ^ b; - int t4 = d ^ (t1 | t2); - int t5 = c ^ t4; - X2 = t2 ^ t5; - int t8 = t1 ^ (d & t2); - X1 = t4 ^ (X2 & t8); - X3 = (a & t4) ^ (t5 | X1); - X0 = X3 ^ (t5 ^ t8); - } - - /** - * S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms. - */ - private void sb1(int a, int b, int c, int d) - { - int t2 = b ^ (~a); - int t5 = c ^ (a | t2); - X2 = d ^ t5; - int t7 = b ^ (d | t2); - int t8 = t2 ^ X2; - X3 = t8 ^ (t5 & t7); - int t11 = t5 ^ t7; - X1 = X3 ^ t11; - X0 = t5 ^ (t8 & t11); - } - - /** - * InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps. - */ - private void ib1(int a, int b, int c, int d) - { - int t1 = b ^ d; - int t3 = a ^ (b & t1); - int t4 = t1 ^ t3; - X3 = c ^ t4; - int t7 = b ^ (t1 & t3); - int t8 = X3 | t7; - X1 = t3 ^ t8; - int t10 = ~X1; - int t11 = X3 ^ t7; - X0 = t10 ^ t11; - X2 = t4 ^ (t10 | t11); - } - - /** - * S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms. - */ - private void sb2(int a, int b, int c, int d) - { - int t1 = ~a; - int t2 = b ^ d; - int t3 = c & t1; - X0 = t2 ^ t3; - int t5 = c ^ t1; - int t6 = c ^ X0; - int t7 = b & t6; - X3 = t5 ^ t7; - X2 = a ^ ((d | t7) & (X0 | t5)); - X1 = (t2 ^ X3) ^ (X2 ^ (d | t1)); - } - - /** - * InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps. - */ - private void ib2(int a, int b, int c, int d) - { - int t1 = b ^ d; - int t2 = ~t1; - int t3 = a ^ c; - int t4 = c ^ t1; - int t5 = b & t4; - X0 = t3 ^ t5; - int t7 = a | t2; - int t8 = d ^ t7; - int t9 = t3 | t8; - X3 = t1 ^ t9; - int t11 = ~t4; - int t12 = X0 | X3; - X1 = t11 ^ t12; - X2 = (d & t11) ^ (t3 ^ t12); - } - - /** - * S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms. - */ - private void sb3(int a, int b, int c, int d) - { - int t1 = a ^ b; - int t2 = a & c; - int t3 = a | d; - int t4 = c ^ d; - int t5 = t1 & t3; - int t6 = t2 | t5; - X2 = t4 ^ t6; - int t8 = b ^ t3; - int t9 = t6 ^ t8; - int t10 = t4 & t9; - X0 = t1 ^ t10; - int t12 = X2 & X0; - X1 = t9 ^ t12; - X3 = (b | d) ^ (t4 ^ t12); - } - - /** - * InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms - */ - private void ib3(int a, int b, int c, int d) - { - int t1 = a | b; - int t2 = b ^ c; - int t3 = b & t2; - int t4 = a ^ t3; - int t5 = c ^ t4; - int t6 = d | t4; - X0 = t2 ^ t6; - int t8 = t2 | t6; - int t9 = d ^ t8; - X2 = t5 ^ t9; - int t11 = t1 ^ t9; - int t12 = X0 & t11; - X3 = t4 ^ t12; - X1 = X3 ^ (X0 ^ t11); - } - - /** - * S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms. - */ - private void sb4(int a, int b, int c, int d) - { - int t1 = a ^ d; - int t2 = d & t1; - int t3 = c ^ t2; - int t4 = b | t3; - X3 = t1 ^ t4; - int t6 = ~b; - int t7 = t1 | t6; - X0 = t3 ^ t7; - int t9 = a & X0; - int t10 = t1 ^ t6; - int t11 = t4 & t10; - X2 = t9 ^ t11; - X1 = (a ^ t3) ^ (t10 & X2); - } - - /** - * InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms. - */ - private void ib4(int a, int b, int c, int d) - { - int t1 = c | d; - int t2 = a & t1; - int t3 = b ^ t2; - int t4 = a & t3; - int t5 = c ^ t4; - X1 = d ^ t5; - int t7 = ~a; - int t8 = t5 & X1; - X3 = t3 ^ t8; - int t10 = X1 | t7; - int t11 = d ^ t10; - X0 = X3 ^ t11; - X2 = (t3 & t11) ^ (X1 ^ t7); - } - - /** - * S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms. - */ - private void sb5(int a, int b, int c, int d) - { - int t1 = ~a; - int t2 = a ^ b; - int t3 = a ^ d; - int t4 = c ^ t1; - int t5 = t2 | t3; - X0 = t4 ^ t5; - int t7 = d & X0; - int t8 = t2 ^ X0; - X1 = t7 ^ t8; - int t10 = t1 | X0; - int t11 = t2 | t7; - int t12 = t3 ^ t10; - X2 = t11 ^ t12; - X3 = (b ^ t7) ^ (X1 & t12); - } - - /** - * InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms. - */ - private void ib5(int a, int b, int c, int d) - { - int t1 = ~c; - int t2 = b & t1; - int t3 = d ^ t2; - int t4 = a & t3; - int t5 = b ^ t1; - X3 = t4 ^ t5; - int t7 = b | X3; - int t8 = a & t7; - X1 = t3 ^ t8; - int t10 = a | d; - int t11 = t1 ^ t7; - X0 = t10 ^ t11; - X2 = (b & t10) ^ (t4 | (a ^ c)); - } - - /** - * S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms. - */ - private void sb6(int a, int b, int c, int d) - { - int t1 = ~a; - int t2 = a ^ d; - int t3 = b ^ t2; - int t4 = t1 | t2; - int t5 = c ^ t4; - X1 = b ^ t5; - int t7 = t2 | X1; - int t8 = d ^ t7; - int t9 = t5 & t8; - X2 = t3 ^ t9; - int t11 = t5 ^ t8; - X0 = X2 ^ t11; - X3 = (~t5) ^ (t3 & t11); - } - - /** - * InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms. - */ - private void ib6(int a, int b, int c, int d) - { - int t1 = ~a; - int t2 = a ^ b; - int t3 = c ^ t2; - int t4 = c | t1; - int t5 = d ^ t4; - X1 = t3 ^ t5; - int t7 = t3 & t5; - int t8 = t2 ^ t7; - int t9 = b | t8; - X3 = t5 ^ t9; - int t11 = b | X3; - X0 = t8 ^ t11; - X2 = (d & t1) ^ (t3 ^ t11); - } - - /** - * S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms. - */ - private void sb7(int a, int b, int c, int d) - { - int t1 = b ^ c; - int t2 = c & t1; - int t3 = d ^ t2; - int t4 = a ^ t3; - int t5 = d | t1; - int t6 = t4 & t5; - X1 = b ^ t6; - int t8 = t3 | X1; - int t9 = a & t4; - X3 = t1 ^ t9; - int t11 = t4 ^ t8; - int t12 = X3 & t11; - X2 = t3 ^ t12; - X0 = (~t11) ^ (X3 & X2); - } - - /** - * InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms. - */ - private void ib7(int a, int b, int c, int d) - { - int t3 = c | (a & b); - int t4 = d & (a | b); - X3 = t3 ^ t4; - int t6 = ~d; - int t7 = b ^ t4; - int t9 = t7 | (X3 ^ t6); - X1 = a ^ t9; - X0 = (c ^ t7) ^ (d | X1); - X2 = (t3 ^ X1) ^ (X0 ^ (a & X3)); - } - - /** - * Apply the linear transformation to the register set. - */ - private void LT() - { - int x0 = rotateLeft(X0, 13); - int x2 = rotateLeft(X2, 3); - int x1 = X1 ^ x0 ^ x2 ; - int x3 = X3 ^ x2 ^ x0 << 3; - - X1 = rotateLeft(x1, 1); - X3 = rotateLeft(x3, 7); - X0 = rotateLeft(x0 ^ X1 ^ X3, 5); - X2 = rotateLeft(x2 ^ X3 ^ (X1 << 7), 22); - } - - /** - * Apply the inverse of the linear transformation to the register set. - */ - private void inverseLT() - { - int x2 = rotateRight(X2, 22) ^ X3 ^ (X1 << 7); - int x0 = rotateRight(X0, 5) ^ X1 ^ X3; - int x3 = rotateRight(X3, 7); - int x1 = rotateRight(X1, 1); - X3 = x3 ^ x2 ^ x0 << 3; - X1 = x1 ^ x0 ^ x2; - X2 = rotateRight(x2, 3); - X0 = rotateRight(x0, 13); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Shacal2Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Shacal2Engine.java deleted file mode 100644 index 8b461f86a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/Shacal2Engine.java +++ /dev/null @@ -1,201 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * Block cipher Shacal2, designed by Helena Handschuh and David Naccache, - * based on hash function SHA-256, - * using SHA-256-Initialization-Values as data and SHA-256-Data as key. - *

    - * A description of Shacal can be found at: - * http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.4066 - * Best known cryptanalytic (Wikipedia 11.2013): - * Related-key rectangle attack on 44-rounds (Jiqiang Lu, Jongsung Kim). - * Comments are related to SHA-256-Naming as described in FIPS PUB 180-2 - *

    - */ -public class Shacal2Engine - implements BlockCipher -{ - private final static int[] K = { // SHA-256-Constants - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - }; - - private static final int BLOCK_SIZE = 32; - private boolean forEncryption = false; - private static final int ROUNDS = 64; - - private int[] workingKey = null; // expanded key: corresponds to the message block W in FIPS PUB 180-2 - - public Shacal2Engine() - { - } - - public void reset() - { - } - - public String getAlgorithmName() - { - return "Shacal2"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public void init(boolean _forEncryption, CipherParameters params) - throws IllegalArgumentException - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("only simple KeyParameter expected."); - } - this.forEncryption = _forEncryption; - workingKey = new int[64]; - setKey( ((KeyParameter)params).getKey() ); - } - - public void setKey(byte[] kb) - { - if (kb.length == 0 || kb.length > 64 || kb.length < 16 || kb.length % 8 != 0) - { - throw new IllegalArgumentException("Shacal2-key must be 16 - 64 bytes and multiple of 8"); - } - - bytes2ints(kb, workingKey, 0, 0); - - for ( int i = 16; i < 64; i++) - { // Key-Expansion, implicitly Zero-Padding for 16 > i > kb.length/4 - workingKey[i] = - ( (workingKey[i-2] >>> 17 | workingKey[i-2] << -17) // corresponds to ROTL n(x) of FIPS PUB 180-2 - ^ (workingKey[i-2] >>> 19 | workingKey[i-2] << -19) - ^ (workingKey[i-2] >>> 10) ) // corresponds to sigma1(x)-Function of FIPS PUB 180-2 - + workingKey[i-7] - + ( (workingKey[i-15] >>> 7 | workingKey[i-15] << -7) - ^ (workingKey[i-15] >>> 18 | workingKey[i-15] << -18) - ^ (workingKey[i-15] >>> 3) ) // corresponds to sigma0(x)-Function of FIPS PUB 180-2 - + workingKey[i-16]; - } - } - - public void encryptBlock(byte[] in, int inOffset, byte[] out, int outOffset) - { - int[] block = new int[BLOCK_SIZE / 4];// corresponds to working variables a,b,c,d,e,f,g,h of FIPS PUB 180-2 - bytes2ints(in, block, inOffset, 0); - - for (int i = 0; i < ROUNDS; i++) - { - int tmp = - (((block[4] >>> 6) | (block[4] << -6)) - ^ ((block[4] >>> 11) | (block[4] << -11)) - ^ ((block[4] >>> 25) | (block[4] << -25))) - + ((block[4] & block[5]) ^ ((~block[4]) & block[6])) - + block[7] + K[i] + workingKey[i]; // corresponds to T1 of FIPS PUB 180-2 - block[7] = block[6]; - block[6] = block[5]; - block[5] = block[4]; - block[4] = block[3] + tmp; - block[3] = block[2]; - block[2] = block[1]; - block[1] = block[0]; - block[0] = tmp - + (((block[0] >>> 2) | (block[0] << -2)) - ^ ((block[0] >>> 13) | (block[0] << -13)) - ^ ((block[0] >>> 22) | (block[0] << -22))) - + ((block[0] & block[2]) ^ (block[0] & block[3]) ^ (block[2] & block[3])); - //corresponds to T2 of FIPS PUB 180-2, block[1] and block[2] replaced - } - ints2bytes(block, out, outOffset); - } - - public void decryptBlock(byte[] in, int inOffset, byte[] out, int outOffset) - { - int[] block = new int[BLOCK_SIZE / 4]; - bytes2ints(in, block, inOffset, 0); - for (int i = ROUNDS - 1; i >-1; i--) - { - int tmp = block[0] - (((block[1] >>> 2) | (block[1] << -2)) - ^ ((block[1] >>> 13) | (block[1] << -13)) - ^ ((block[1] >>> 22) | (block[1] << -22))) - - ((block[1] & block[2]) ^ (block[1] & block[3]) ^ (block[2] & block[3])); // T2 - block[0] = block[1]; - block[1] = block[2]; - block[2] = block[3]; - block[3] = block[4] - tmp; - block[4] = block[5]; - block[5] = block[6]; - block[6] = block[7]; - block[7] = tmp - K[i] - workingKey[i] - - (((block[4] >>> 6) | (block[4] << -6)) - ^ ((block[4] >>> 11) | (block[4] << -11)) - ^ ((block[4] >>> 25) | (block[4] << -25))) - - ((block[4] & block[5]) ^ ((~block[4]) & block[6])); // T1 - } - ints2bytes(block, out, outOffset); - } - - public int processBlock(byte[] in, int inOffset, byte[] out, int outOffset) - throws DataLengthException, IllegalStateException - { - if (workingKey == null) - { - throw new IllegalStateException("Shacal2 not initialised"); - } - - if ((inOffset + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOffset + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (forEncryption) - { - encryptBlock(in, inOffset, out, outOffset); - } - else - { - decryptBlock(in, inOffset, out, outOffset); - } - - return BLOCK_SIZE; - } - - private void bytes2ints(byte[] bytes, int[] block, int bytesPos, int blockPos) - { - for (int i = blockPos; i < bytes.length / 4; i++) - { - block[i] = ((bytes[bytesPos++] & 0xFF) << 24) - | ((bytes[bytesPos++] & 0xFF) << 16) - | ((bytes[bytesPos++] & 0xFF) << 8) - | (bytes[bytesPos++] & 0xFF); - } - } - - private void ints2bytes(int[] block, byte[] out, int pos) - { - for (int i = 0; i < block.length; i++) - { - out[pos++] = (byte)(block[i] >>> 24); - out[pos++] = (byte)(block[i] >>> 16); - out[pos++] = (byte)(block[i] >>> 8); - out[pos++] = (byte)block[i]; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SkipjackEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SkipjackEngine.java deleted file mode 100644 index 4f7a5f6b7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/SkipjackEngine.java +++ /dev/null @@ -1,260 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * a class that provides a basic SKIPJACK engine. - */ -public class SkipjackEngine - implements BlockCipher -{ - static final int BLOCK_SIZE = 8; - - static short ftable[] = - { - 0xa3, 0xd7, 0x09, 0x83, 0xf8, 0x48, 0xf6, 0xf4, 0xb3, 0x21, 0x15, 0x78, 0x99, 0xb1, 0xaf, 0xf9, - 0xe7, 0x2d, 0x4d, 0x8a, 0xce, 0x4c, 0xca, 0x2e, 0x52, 0x95, 0xd9, 0x1e, 0x4e, 0x38, 0x44, 0x28, - 0x0a, 0xdf, 0x02, 0xa0, 0x17, 0xf1, 0x60, 0x68, 0x12, 0xb7, 0x7a, 0xc3, 0xe9, 0xfa, 0x3d, 0x53, - 0x96, 0x84, 0x6b, 0xba, 0xf2, 0x63, 0x9a, 0x19, 0x7c, 0xae, 0xe5, 0xf5, 0xf7, 0x16, 0x6a, 0xa2, - 0x39, 0xb6, 0x7b, 0x0f, 0xc1, 0x93, 0x81, 0x1b, 0xee, 0xb4, 0x1a, 0xea, 0xd0, 0x91, 0x2f, 0xb8, - 0x55, 0xb9, 0xda, 0x85, 0x3f, 0x41, 0xbf, 0xe0, 0x5a, 0x58, 0x80, 0x5f, 0x66, 0x0b, 0xd8, 0x90, - 0x35, 0xd5, 0xc0, 0xa7, 0x33, 0x06, 0x65, 0x69, 0x45, 0x00, 0x94, 0x56, 0x6d, 0x98, 0x9b, 0x76, - 0x97, 0xfc, 0xb2, 0xc2, 0xb0, 0xfe, 0xdb, 0x20, 0xe1, 0xeb, 0xd6, 0xe4, 0xdd, 0x47, 0x4a, 0x1d, - 0x42, 0xed, 0x9e, 0x6e, 0x49, 0x3c, 0xcd, 0x43, 0x27, 0xd2, 0x07, 0xd4, 0xde, 0xc7, 0x67, 0x18, - 0x89, 0xcb, 0x30, 0x1f, 0x8d, 0xc6, 0x8f, 0xaa, 0xc8, 0x74, 0xdc, 0xc9, 0x5d, 0x5c, 0x31, 0xa4, - 0x70, 0x88, 0x61, 0x2c, 0x9f, 0x0d, 0x2b, 0x87, 0x50, 0x82, 0x54, 0x64, 0x26, 0x7d, 0x03, 0x40, - 0x34, 0x4b, 0x1c, 0x73, 0xd1, 0xc4, 0xfd, 0x3b, 0xcc, 0xfb, 0x7f, 0xab, 0xe6, 0x3e, 0x5b, 0xa5, - 0xad, 0x04, 0x23, 0x9c, 0x14, 0x51, 0x22, 0xf0, 0x29, 0x79, 0x71, 0x7e, 0xff, 0x8c, 0x0e, 0xe2, - 0x0c, 0xef, 0xbc, 0x72, 0x75, 0x6f, 0x37, 0xa1, 0xec, 0xd3, 0x8e, 0x62, 0x8b, 0x86, 0x10, 0xe8, - 0x08, 0x77, 0x11, 0xbe, 0x92, 0x4f, 0x24, 0xc5, 0x32, 0x36, 0x9d, 0xcf, 0xf3, 0xa6, 0xbb, 0xac, - 0x5e, 0x6c, 0xa9, 0x13, 0x57, 0x25, 0xb5, 0xe3, 0xbd, 0xa8, 0x3a, 0x01, 0x05, 0x59, 0x2a, 0x46 - }; - - private int[] key0, key1, key2, key3; - private boolean encrypting; - - /** - * initialise a SKIPJACK cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to SKIPJACK init - " + params.getClass().getName()); - } - - byte[] keyBytes = ((KeyParameter)params).getKey(); - - this.encrypting = encrypting; - this.key0 = new int[32]; - this.key1 = new int[32]; - this.key2 = new int[32]; - this.key3 = new int[32]; - - // - // expand the key to 128 bytes in 4 parts (saving us a modulo, multiply - // and an addition). - // - for (int i = 0; i < 32; i ++) - { - key0[i] = keyBytes[(i * 4) % 10] & 0xff; - key1[i] = keyBytes[(i * 4 + 1) % 10] & 0xff; - key2[i] = keyBytes[(i * 4 + 2) % 10] & 0xff; - key3[i] = keyBytes[(i * 4 + 3) % 10] & 0xff; - } - } - - public String getAlgorithmName() - { - return "SKIPJACK"; - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (key1 == null) - { - throw new IllegalStateException("SKIPJACK engine not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - } - - /** - * The G permutation - */ - private int g( - int k, - int w) - { - int g1, g2, g3, g4, g5, g6; - - g1 = (w >> 8) & 0xff; - g2 = w & 0xff; - - g3 = ftable[g2 ^ key0[k]] ^ g1; - g4 = ftable[g3 ^ key1[k]] ^ g2; - g5 = ftable[g4 ^ key2[k]] ^ g3; - g6 = ftable[g5 ^ key3[k]] ^ g4; - - return ((g5 << 8) + g6); - } - - public int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int w1 = (in[inOff + 0] << 8) + (in[inOff + 1] & 0xff); - int w2 = (in[inOff + 2] << 8) + (in[inOff + 3] & 0xff); - int w3 = (in[inOff + 4] << 8) + (in[inOff + 5] & 0xff); - int w4 = (in[inOff + 6] << 8) + (in[inOff + 7] & 0xff); - - int k = 0; - - for (int t = 0; t < 2; t++) - { - for(int i = 0; i < 8; i++) - { - int tmp = w4; - w4 = w3; - w3 = w2; - w2 = g(k, w1); - w1 = w2 ^ tmp ^ (k + 1); - k++; - } - - for(int i = 0; i < 8; i++) - { - int tmp = w4; - w4 = w3; - w3 = w1 ^ w2 ^ (k + 1); - w2 = g(k, w1); - w1 = tmp; - k++; - } - } - - out[outOff + 0] = (byte)((w1 >> 8)); - out[outOff + 1] = (byte)(w1); - out[outOff + 2] = (byte)((w2 >> 8)); - out[outOff + 3] = (byte)(w2); - out[outOff + 4] = (byte)((w3 >> 8)); - out[outOff + 5] = (byte)(w3); - out[outOff + 6] = (byte)((w4 >> 8)); - out[outOff + 7] = (byte)(w4); - - return BLOCK_SIZE; - } - - /** - * the inverse of the G permutation. - */ - private int h( - int k, - int w) - { - int h1, h2, h3, h4, h5, h6; - - h1 = w & 0xff; - h2 = (w >> 8) & 0xff; - - h3 = ftable[h2 ^ key3[k]] ^ h1; - h4 = ftable[h3 ^ key2[k]] ^ h2; - h5 = ftable[h4 ^ key1[k]] ^ h3; - h6 = ftable[h5 ^ key0[k]] ^ h4; - - return ((h6 << 8) + h5); - } - - public int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int w2 = (in[inOff + 0] << 8) + (in[inOff + 1] & 0xff); - int w1 = (in[inOff + 2] << 8) + (in[inOff + 3] & 0xff); - int w4 = (in[inOff + 4] << 8) + (in[inOff + 5] & 0xff); - int w3 = (in[inOff + 6] << 8) + (in[inOff + 7] & 0xff); - - int k = 31; - - for (int t = 0; t < 2; t++) - { - for(int i = 0; i < 8; i++) - { - int tmp = w4; - w4 = w3; - w3 = w2; - w2 = h(k, w1); - w1 = w2 ^ tmp ^ (k + 1); - k--; - } - - for(int i = 0; i < 8; i++) - { - int tmp = w4; - w4 = w3; - w3 = w1 ^ w2 ^ (k + 1); - w2 = h(k, w1); - w1 = tmp; - k--; - } - } - - out[outOff + 0] = (byte)((w2 >> 8)); - out[outOff + 1] = (byte)(w2); - out[outOff + 2] = (byte)((w1 >> 8)); - out[outOff + 3] = (byte)(w1); - out[outOff + 4] = (byte)((w4 >> 8)); - out[outOff + 5] = (byte)(w4); - out[outOff + 6] = (byte)((w3 >> 8)); - out[outOff + 7] = (byte)(w3); - - return BLOCK_SIZE; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TEAEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TEAEngine.java deleted file mode 100644 index a027edc91..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TEAEngine.java +++ /dev/null @@ -1,184 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * An TEA engine. - */ -public class TEAEngine - implements BlockCipher -{ - private static final int rounds = 32, - block_size = 8, -// key_size = 16, - delta = 0x9E3779B9, - d_sum = 0xC6EF3720; // sum on decrypt - /* - * the expanded key array of 4 subkeys - */ - private int _a, _b, _c, _d; - private boolean _initialised; - private boolean _forEncryption; - - /** - * Create an instance of the TEA encryption algorithm - * and set some defaults - */ - public TEAEngine() - { - _initialised = false; - } - - public String getAlgorithmName() - { - return "TEA"; - } - - public int getBlockSize() - { - return block_size; - } - - /** - * initialise - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to TEA init - " + params.getClass().getName()); - } - - _forEncryption = forEncryption; - _initialised = true; - - KeyParameter p = (KeyParameter)params; - - setKey(p.getKey()); - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (!_initialised) - { - throw new IllegalStateException(getAlgorithmName()+" not initialised"); - } - - if ((inOff + block_size) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + block_size) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - return (_forEncryption) ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - if (key.length != 16) - { - throw new IllegalArgumentException("Key size must be 128 bits."); - } - - _a = bytesToInt(key, 0); - _b = bytesToInt(key, 4); - _c = bytesToInt(key, 8); - _d = bytesToInt(key, 12); - } - - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // Pack bytes into integers - int v0 = bytesToInt(in, inOff); - int v1 = bytesToInt(in, inOff + 4); - - int sum = 0; - - for (int i = 0; i != rounds; i++) - { - sum += delta; - v0 += ((v1 << 4) + _a) ^ (v1 + sum) ^ ((v1 >>> 5) + _b); - v1 += ((v0 << 4) + _c) ^ (v0 + sum) ^ ((v0 >>> 5) + _d); - } - - unpackInt(v0, out, outOff); - unpackInt(v1, out, outOff + 4); - - return block_size; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // Pack bytes into integers - int v0 = bytesToInt(in, inOff); - int v1 = bytesToInt(in, inOff + 4); - - int sum = d_sum; - - for (int i = 0; i != rounds; i++) - { - v1 -= ((v0 << 4) + _c) ^ (v0 + sum) ^ ((v0 >>> 5) + _d); - v0 -= ((v1 << 4) + _a) ^ (v1 + sum) ^ ((v1 >>> 5) + _b); - sum -= delta; - } - - unpackInt(v0, out, outOff); - unpackInt(v1, out, outOff + 4); - - return block_size; - } - - private int bytesToInt(byte[] in, int inOff) - { - return ((in[inOff++]) << 24) | - ((in[inOff++] & 255) << 16) | - ((in[inOff++] & 255) << 8) | - ((in[inOff] & 255)); - } - - private void unpackInt(int v, byte[] out, int outOff) - { - out[outOff++] = (byte)(v >>> 24); - out[outOff++] = (byte)(v >>> 16); - out[outOff++] = (byte)(v >>> 8); - out[outOff ] = (byte)v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ThreefishEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ThreefishEngine.java deleted file mode 100644 index a5d59308b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/ThreefishEngine.java +++ /dev/null @@ -1,1494 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; - -/** - * Implementation of the Threefish tweakable large block cipher in 256, 512 and 1024 bit block - * sizes. - *

    - * This is the 1.3 version of Threefish defined in the Skein hash function submission to the NIST - * SHA-3 competition in October 2010. - *

    - * Threefish was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir - * Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. - *

    - * This implementation inlines all round functions, unrolls 8 rounds, and uses 1.2k of static tables - * to speed up key schedule injection.
    - * 2 x block size state is retained by each cipher instance. - */ -public class ThreefishEngine - implements BlockCipher -{ - /** - * 256 bit block size - Threefish-256 - */ - public static final int BLOCKSIZE_256 = 256; - /** - * 512 bit block size - Threefish-512 - */ - public static final int BLOCKSIZE_512 = 512; - /** - * 1024 bit block size - Threefish-1024 - */ - public static final int BLOCKSIZE_1024 = 1024; - - /** - * Size of the tweak in bytes (always 128 bit/16 bytes) - */ - private static final int TWEAK_SIZE_BYTES = 16; - private static final int TWEAK_SIZE_WORDS = TWEAK_SIZE_BYTES / 8; - - /** - * Rounds in Threefish-256 - */ - private static final int ROUNDS_256 = 72; - /** - * Rounds in Threefish-512 - */ - private static final int ROUNDS_512 = 72; - /** - * Rounds in Threefish-1024 - */ - private static final int ROUNDS_1024 = 80; - - /** - * Max rounds of any of the variants - */ - private static final int MAX_ROUNDS = ROUNDS_1024; - - /** - * Key schedule parity constant - */ - private static final long C_240 = 0x1BD11BDAA9FC1A22L; - - /* Pre-calculated modulo arithmetic tables for key schedule lookups */ - private static int[] MOD9 = new int[MAX_ROUNDS]; - private static int[] MOD17 = new int[MOD9.length]; - private static int[] MOD5 = new int[MOD9.length]; - private static int[] MOD3 = new int[MOD9.length]; - - static - { - for (int i = 0; i < MOD9.length; i++) - { - MOD17[i] = i % 17; - MOD9[i] = i % 9; - MOD5[i] = i % 5; - MOD3[i] = i % 3; - } - } - - /** - * Block size in bytes - */ - private int blocksizeBytes; - - /** - * Block size in 64 bit words - */ - private int blocksizeWords; - - /** - * Buffer for byte oriented processBytes to call internal word API - */ - private long[] currentBlock; - - /** - * Tweak bytes (2 byte t1,t2, calculated t3 and repeat of t1,t2 for modulo free lookup - */ - private long[] t = new long[5]; - - /** - * Key schedule words - */ - private long[] kw; - - /** - * The internal cipher implementation (varies by blocksize) - */ - private ThreefishCipher cipher; - - private boolean forEncryption; - - /** - * Constructs a new Threefish cipher, with a specified block size. - * - * @param blocksizeBits the block size in bits, one of {@link #BLOCKSIZE_256}, {@link #BLOCKSIZE_512}, - * {@link #BLOCKSIZE_1024}. - */ - public ThreefishEngine(final int blocksizeBits) - { - this.blocksizeBytes = (blocksizeBits / 8); - this.blocksizeWords = (this.blocksizeBytes / 8); - this.currentBlock = new long[blocksizeWords]; - - /* - * Provide room for original key words, extended key word and repeat of key words for modulo - * free lookup of key schedule words. - */ - this.kw = new long[2 * blocksizeWords + 1]; - - switch (blocksizeBits) - { - case BLOCKSIZE_256: - cipher = new Threefish256Cipher(kw, t); - break; - case BLOCKSIZE_512: - cipher = new Threefish512Cipher(kw, t); - break; - case BLOCKSIZE_1024: - cipher = new Threefish1024Cipher(kw, t); - break; - default: - throw new IllegalArgumentException( - "Invalid blocksize - Threefish is defined with block size of 256, 512, or 1024 bits"); - } - } - - /** - * Initialise the engine. - * - * @param params an instance of {@link TweakableBlockCipherParameters}, or {@link KeyParameter} (to - * use a 0 tweak) - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - final byte[] keyBytes; - final byte[] tweakBytes; - - if (params instanceof TweakableBlockCipherParameters) - { - TweakableBlockCipherParameters tParams = (TweakableBlockCipherParameters)params; - keyBytes = tParams.getKey().getKey(); - tweakBytes = tParams.getTweak(); - } - else if (params instanceof KeyParameter) - { - keyBytes = ((KeyParameter)params).getKey(); - tweakBytes = null; - } - else - { - throw new IllegalArgumentException("Invalid parameter passed to Threefish init - " - + params.getClass().getName()); - } - - long[] keyWords = null; - long[] tweakWords = null; - - if (keyBytes != null) - { - if (keyBytes.length != this.blocksizeBytes) - { - throw new IllegalArgumentException("Threefish key must be same size as block (" + blocksizeBytes - + " bytes)"); - } - keyWords = new long[blocksizeWords]; - for (int i = 0; i < keyWords.length; i++) - { - keyWords[i] = bytesToWord(keyBytes, i * 8); - } - } - if (tweakBytes != null) - { - if (tweakBytes.length != TWEAK_SIZE_BYTES) - { - throw new IllegalArgumentException("Threefish tweak must be " + TWEAK_SIZE_BYTES + " bytes"); - } - tweakWords = new long[]{bytesToWord(tweakBytes, 0), bytesToWord(tweakBytes, 8)}; - } - init(forEncryption, keyWords, tweakWords); - } - - /** - * Initialise the engine, specifying the key and tweak directly. - * - * @param forEncryption the cipher mode. - * @param key the words of the key, or null to use the current key. - * @param tweak the 2 word (128 bit) tweak, or null to use the current tweak. - */ - public void init(boolean forEncryption, final long[] key, final long[] tweak) - { - this.forEncryption = forEncryption; - if (key != null) - { - setKey(key); - } - if (tweak != null) - { - setTweak(tweak); - } - } - - private void setKey(long[] key) - { - if (key.length != this.blocksizeWords) - { - throw new IllegalArgumentException("Threefish key must be same size as block (" + blocksizeWords - + " words)"); - } - - /* - * Full subkey schedule is deferred to execution to avoid per cipher overhead (10k for 512, - * 20k for 1024). - * - * Key and tweak word sequences are repeated, and static MOD17/MOD9/MOD5/MOD3 calculations - * used, to avoid expensive mod computations during cipher operation. - */ - - long knw = C_240; - for (int i = 0; i < blocksizeWords; i++) - { - kw[i] = key[i]; - knw = knw ^ kw[i]; - } - kw[blocksizeWords] = knw; - System.arraycopy(kw, 0, kw, blocksizeWords + 1, blocksizeWords); - } - - private void setTweak(long[] tweak) - { - if (tweak.length != TWEAK_SIZE_WORDS) - { - throw new IllegalArgumentException("Tweak must be " + TWEAK_SIZE_WORDS + " words."); - } - - /* - * Tweak schedule partially repeated to avoid mod computations during cipher operation - */ - t[0] = tweak[0]; - t[1] = tweak[1]; - t[2] = t[0] ^ t[1]; - t[3] = t[0]; - t[4] = t[1]; - } - - public String getAlgorithmName() - { - return "Threefish-" + (blocksizeBytes * 8); - } - - public int getBlockSize() - { - return blocksizeBytes; - } - - public void reset() - { - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, - IllegalStateException - { - if ((outOff + blocksizeBytes) > out.length) - { - throw new DataLengthException("Output buffer too short"); - } - - if ((inOff + blocksizeBytes) > in.length) - { - throw new DataLengthException("Input buffer too short"); - } - - for (int i = 0; i < blocksizeBytes; i += 8) - { - currentBlock[i >> 3] = bytesToWord(in, inOff + i); - } - processBlock(this.currentBlock, this.currentBlock); - for (int i = 0; i < blocksizeBytes; i += 8) - { - wordToBytes(this.currentBlock[i >> 3], out, outOff + i); - } - - return blocksizeBytes; - } - - /** - * Process a block of data represented as 64 bit words. - * - * @param in a block sized buffer of words to process. - * @param out a block sized buffer of words to receive the output of the operation. - * @return the number of 8 byte words processed (which will be the same as the block size). - * @throws DataLengthException if either the input or output is not block sized. - * @throws IllegalStateException if this engine is not initialised. - */ - public int processBlock(long[] in, long[] out) - throws DataLengthException, IllegalStateException - { - if (kw[blocksizeWords] == 0) - { - throw new IllegalStateException("Threefish engine not initialised"); - } - - if (in.length != blocksizeWords) - { - throw new DataLengthException("Input buffer too short"); - } - if (out.length != blocksizeWords) - { - throw new DataLengthException("Output buffer too short"); - } - - if (forEncryption) - { - cipher.encryptBlock(in, out); - } - else - { - cipher.decryptBlock(in, out); - } - - return blocksizeWords; - } - - /** - * Read a single 64 bit word from input in LSB first order. - */ - // At least package protected for efficient access from inner class - public static long bytesToWord(final byte[] bytes, final int off) - { - if ((off + 8) > bytes.length) - { - // Help the JIT avoid index checks - throw new IllegalArgumentException(); - } - - long word = 0; - int index = off; - - word = (bytes[index++] & 0xffL); - word |= (bytes[index++] & 0xffL) << 8; - word |= (bytes[index++] & 0xffL) << 16; - word |= (bytes[index++] & 0xffL) << 24; - word |= (bytes[index++] & 0xffL) << 32; - word |= (bytes[index++] & 0xffL) << 40; - word |= (bytes[index++] & 0xffL) << 48; - word |= (bytes[index++] & 0xffL) << 56; - - return word; - } - - /** - * Write a 64 bit word to output in LSB first order. - */ - // At least package protected for efficient access from inner class - public static void wordToBytes(final long word, final byte[] bytes, final int off) - { - if ((off + 8) > bytes.length) - { - // Help the JIT avoid index checks - throw new IllegalArgumentException(); - } - int index = off; - - bytes[index++] = (byte)word; - bytes[index++] = (byte)(word >> 8); - bytes[index++] = (byte)(word >> 16); - bytes[index++] = (byte)(word >> 24); - bytes[index++] = (byte)(word >> 32); - bytes[index++] = (byte)(word >> 40); - bytes[index++] = (byte)(word >> 48); - bytes[index++] = (byte)(word >> 56); - } - - /** - * Rotate left + xor part of the mix operation. - */ - // Package protected for efficient access from inner class - static long rotlXor(long x, int n, long xor) - { - return ((x << n) | (x >>> -n)) ^ xor; - } - - /** - * Rotate xor + rotate right part of the unmix operation. - */ - // Package protected for efficient access from inner class - static long xorRotr(long x, int n, long xor) - { - long xored = x ^ xor; - return (xored >>> n) | (xored << -n); - } - - private static abstract class ThreefishCipher - { - /** - * The extended + repeated tweak words - */ - protected final long[] t; - /** - * The extended + repeated key words - */ - protected final long[] kw; - - protected ThreefishCipher(final long[] kw, final long[] t) - { - this.kw = kw; - this.t = t; - } - - abstract void encryptBlock(long[] block, long[] out); - - abstract void decryptBlock(long[] block, long[] out); - - } - - private static final class Threefish256Cipher - extends ThreefishCipher - { - /** - * Mix rotation constants defined in Skein 1.3 specification - */ - private static final int ROTATION_0_0 = 14, ROTATION_0_1 = 16; - private static final int ROTATION_1_0 = 52, ROTATION_1_1 = 57; - private static final int ROTATION_2_0 = 23, ROTATION_2_1 = 40; - private static final int ROTATION_3_0 = 5, ROTATION_3_1 = 37; - - private static final int ROTATION_4_0 = 25, ROTATION_4_1 = 33; - private static final int ROTATION_5_0 = 46, ROTATION_5_1 = 12; - private static final int ROTATION_6_0 = 58, ROTATION_6_1 = 22; - private static final int ROTATION_7_0 = 32, ROTATION_7_1 = 32; - - public Threefish256Cipher(long[] kw, long[] t) - { - super(kw, t); - } - - void encryptBlock(long[] block, long[] out) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod5 = MOD5; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 9) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - /* - * Read 4 words of plaintext data, not using arrays for cipher state - */ - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - - /* - * First subkey injection. - */ - b0 += kw[0]; - b1 += kw[1] + t[0]; - b2 += kw[2] + t[1]; - b3 += kw[3]; - - /* - * Rounds loop, unrolled to 8 rounds per iteration. - * - * Unrolling to multiples of 4 avoids the mod 4 check for key injection, and allows - * inlining of the permutations, which cycle every of 2 rounds (avoiding array - * index/lookup). - * - * Unrolling to multiples of 8 avoids the mod 8 rotation constant lookup, and allows - * inlining constant rotation values (avoiding array index/lookup). - */ - - for (int d = 1; d < (ROUNDS_256 / 4); d += 2) - { - final int dm5 = mod5[d]; - final int dm3 = mod3[d]; - - /* - * 4 rounds of mix and permute. - * - * Permute schedule has a 2 round cycle, so permutes are inlined in the mix - * operations in each 4 round block. - */ - b1 = rotlXor(b1, ROTATION_0_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_0_1, b2 += b3); - - b3 = rotlXor(b3, ROTATION_1_0, b0 += b3); - b1 = rotlXor(b1, ROTATION_1_1, b2 += b1); - - b1 = rotlXor(b1, ROTATION_2_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_2_1, b2 += b3); - - b3 = rotlXor(b3, ROTATION_3_0, b0 += b3); - b1 = rotlXor(b1, ROTATION_3_1, b2 += b1); - - /* - * Subkey injection for first 4 rounds. - */ - b0 += kw[dm5]; - b1 += kw[dm5 + 1] + t[dm3]; - b2 += kw[dm5 + 2] + t[dm3 + 1]; - b3 += kw[dm5 + 3] + d; - - /* - * 4 more rounds of mix/permute - */ - b1 = rotlXor(b1, ROTATION_4_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_4_1, b2 += b3); - - b3 = rotlXor(b3, ROTATION_5_0, b0 += b3); - b1 = rotlXor(b1, ROTATION_5_1, b2 += b1); - - b1 = rotlXor(b1, ROTATION_6_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_6_1, b2 += b3); - - b3 = rotlXor(b3, ROTATION_7_0, b0 += b3); - b1 = rotlXor(b1, ROTATION_7_1, b2 += b1); - - /* - * Subkey injection for next 4 rounds. - */ - b0 += kw[dm5 + 1]; - b1 += kw[dm5 + 2] + t[dm3 + 1]; - b2 += kw[dm5 + 3] + t[dm3 + 2]; - b3 += kw[dm5 + 4] + d + 1; - } - - /* - * Output cipher state. - */ - out[0] = b0; - out[1] = b1; - out[2] = b2; - out[3] = b3; - } - - void decryptBlock(long[] block, long[] state) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod5 = MOD5; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 9) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - - for (int d = (ROUNDS_256 / 4) - 1; d >= 1; d -= 2) - { - final int dm5 = mod5[d]; - final int dm3 = mod3[d]; - - /* Reverse key injection for second 4 rounds */ - b0 -= kw[dm5 + 1]; - b1 -= kw[dm5 + 2] + t[dm3 + 1]; - b2 -= kw[dm5 + 3] + t[dm3 + 2]; - b3 -= kw[dm5 + 4] + d + 1; - - /* Reverse second 4 mix/permute rounds */ - - b3 = xorRotr(b3, ROTATION_7_0, b0); - b0 -= b3; - b1 = xorRotr(b1, ROTATION_7_1, b2); - b2 -= b1; - - b1 = xorRotr(b1, ROTATION_6_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_6_1, b2); - b2 -= b3; - - b3 = xorRotr(b3, ROTATION_5_0, b0); - b0 -= b3; - b1 = xorRotr(b1, ROTATION_5_1, b2); - b2 -= b1; - - b1 = xorRotr(b1, ROTATION_4_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_4_1, b2); - b2 -= b3; - - /* Reverse key injection for first 4 rounds */ - b0 -= kw[dm5]; - b1 -= kw[dm5 + 1] + t[dm3]; - b2 -= kw[dm5 + 2] + t[dm3 + 1]; - b3 -= kw[dm5 + 3] + d; - - /* Reverse first 4 mix/permute rounds */ - b3 = xorRotr(b3, ROTATION_3_0, b0); - b0 -= b3; - b1 = xorRotr(b1, ROTATION_3_1, b2); - b2 -= b1; - - b1 = xorRotr(b1, ROTATION_2_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_2_1, b2); - b2 -= b3; - - b3 = xorRotr(b3, ROTATION_1_0, b0); - b0 -= b3; - b1 = xorRotr(b1, ROTATION_1_1, b2); - b2 -= b1; - - b1 = xorRotr(b1, ROTATION_0_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_0_1, b2); - b2 -= b3; - } - - /* - * First subkey uninjection. - */ - b0 -= kw[0]; - b1 -= kw[1] + t[0]; - b2 -= kw[2] + t[1]; - b3 -= kw[3]; - - /* - * Output cipher state. - */ - state[0] = b0; - state[1] = b1; - state[2] = b2; - state[3] = b3; - } - - } - - private static final class Threefish512Cipher - extends ThreefishCipher - { - /** - * Mix rotation constants defined in Skein 1.3 specification - */ - private static final int ROTATION_0_0 = 46, ROTATION_0_1 = 36, ROTATION_0_2 = 19, ROTATION_0_3 = 37; - private static final int ROTATION_1_0 = 33, ROTATION_1_1 = 27, ROTATION_1_2 = 14, ROTATION_1_3 = 42; - private static final int ROTATION_2_0 = 17, ROTATION_2_1 = 49, ROTATION_2_2 = 36, ROTATION_2_3 = 39; - private static final int ROTATION_3_0 = 44, ROTATION_3_1 = 9, ROTATION_3_2 = 54, ROTATION_3_3 = 56; - - private static final int ROTATION_4_0 = 39, ROTATION_4_1 = 30, ROTATION_4_2 = 34, ROTATION_4_3 = 24; - private static final int ROTATION_5_0 = 13, ROTATION_5_1 = 50, ROTATION_5_2 = 10, ROTATION_5_3 = 17; - private static final int ROTATION_6_0 = 25, ROTATION_6_1 = 29, ROTATION_6_2 = 39, ROTATION_6_3 = 43; - private static final int ROTATION_7_0 = 8, ROTATION_7_1 = 35, ROTATION_7_2 = 56, ROTATION_7_3 = 22; - - protected Threefish512Cipher(long[] kw, long[] t) - { - super(kw, t); - } - - public void encryptBlock(long[] block, long[] out) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod9 = MOD9; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 17) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - /* - * Read 8 words of plaintext data, not using arrays for cipher state - */ - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - long b4 = block[4]; - long b5 = block[5]; - long b6 = block[6]; - long b7 = block[7]; - - /* - * First subkey injection. - */ - b0 += kw[0]; - b1 += kw[1]; - b2 += kw[2]; - b3 += kw[3]; - b4 += kw[4]; - b5 += kw[5] + t[0]; - b6 += kw[6] + t[1]; - b7 += kw[7]; - - /* - * Rounds loop, unrolled to 8 rounds per iteration. - * - * Unrolling to multiples of 4 avoids the mod 4 check for key injection, and allows - * inlining of the permutations, which cycle every of 4 rounds (avoiding array - * index/lookup). - * - * Unrolling to multiples of 8 avoids the mod 8 rotation constant lookup, and allows - * inlining constant rotation values (avoiding array index/lookup). - */ - - for (int d = 1; d < (ROUNDS_512 / 4); d += 2) - { - final int dm9 = mod9[d]; - final int dm3 = mod3[d]; - - /* - * 4 rounds of mix and permute. - * - * Permute schedule has a 4 round cycle, so permutes are inlined in the mix - * operations in each 4 round block. - */ - b1 = rotlXor(b1, ROTATION_0_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_0_1, b2 += b3); - b5 = rotlXor(b5, ROTATION_0_2, b4 += b5); - b7 = rotlXor(b7, ROTATION_0_3, b6 += b7); - - b1 = rotlXor(b1, ROTATION_1_0, b2 += b1); - b7 = rotlXor(b7, ROTATION_1_1, b4 += b7); - b5 = rotlXor(b5, ROTATION_1_2, b6 += b5); - b3 = rotlXor(b3, ROTATION_1_3, b0 += b3); - - b1 = rotlXor(b1, ROTATION_2_0, b4 += b1); - b3 = rotlXor(b3, ROTATION_2_1, b6 += b3); - b5 = rotlXor(b5, ROTATION_2_2, b0 += b5); - b7 = rotlXor(b7, ROTATION_2_3, b2 += b7); - - b1 = rotlXor(b1, ROTATION_3_0, b6 += b1); - b7 = rotlXor(b7, ROTATION_3_1, b0 += b7); - b5 = rotlXor(b5, ROTATION_3_2, b2 += b5); - b3 = rotlXor(b3, ROTATION_3_3, b4 += b3); - - /* - * Subkey injection for first 4 rounds. - */ - b0 += kw[dm9]; - b1 += kw[dm9 + 1]; - b2 += kw[dm9 + 2]; - b3 += kw[dm9 + 3]; - b4 += kw[dm9 + 4]; - b5 += kw[dm9 + 5] + t[dm3]; - b6 += kw[dm9 + 6] + t[dm3 + 1]; - b7 += kw[dm9 + 7] + d; - - /* - * 4 more rounds of mix/permute - */ - b1 = rotlXor(b1, ROTATION_4_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_4_1, b2 += b3); - b5 = rotlXor(b5, ROTATION_4_2, b4 += b5); - b7 = rotlXor(b7, ROTATION_4_3, b6 += b7); - - b1 = rotlXor(b1, ROTATION_5_0, b2 += b1); - b7 = rotlXor(b7, ROTATION_5_1, b4 += b7); - b5 = rotlXor(b5, ROTATION_5_2, b6 += b5); - b3 = rotlXor(b3, ROTATION_5_3, b0 += b3); - - b1 = rotlXor(b1, ROTATION_6_0, b4 += b1); - b3 = rotlXor(b3, ROTATION_6_1, b6 += b3); - b5 = rotlXor(b5, ROTATION_6_2, b0 += b5); - b7 = rotlXor(b7, ROTATION_6_3, b2 += b7); - - b1 = rotlXor(b1, ROTATION_7_0, b6 += b1); - b7 = rotlXor(b7, ROTATION_7_1, b0 += b7); - b5 = rotlXor(b5, ROTATION_7_2, b2 += b5); - b3 = rotlXor(b3, ROTATION_7_3, b4 += b3); - - /* - * Subkey injection for next 4 rounds. - */ - b0 += kw[dm9 + 1]; - b1 += kw[dm9 + 2]; - b2 += kw[dm9 + 3]; - b3 += kw[dm9 + 4]; - b4 += kw[dm9 + 5]; - b5 += kw[dm9 + 6] + t[dm3 + 1]; - b6 += kw[dm9 + 7] + t[dm3 + 2]; - b7 += kw[dm9 + 8] + d + 1; - } - - /* - * Output cipher state. - */ - out[0] = b0; - out[1] = b1; - out[2] = b2; - out[3] = b3; - out[4] = b4; - out[5] = b5; - out[6] = b6; - out[7] = b7; - } - - public void decryptBlock(long[] block, long[] state) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod9 = MOD9; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 17) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - long b4 = block[4]; - long b5 = block[5]; - long b6 = block[6]; - long b7 = block[7]; - - for (int d = (ROUNDS_512 / 4) - 1; d >= 1; d -= 2) - { - final int dm9 = mod9[d]; - final int dm3 = mod3[d]; - - /* Reverse key injection for second 4 rounds */ - b0 -= kw[dm9 + 1]; - b1 -= kw[dm9 + 2]; - b2 -= kw[dm9 + 3]; - b3 -= kw[dm9 + 4]; - b4 -= kw[dm9 + 5]; - b5 -= kw[dm9 + 6] + t[dm3 + 1]; - b6 -= kw[dm9 + 7] + t[dm3 + 2]; - b7 -= kw[dm9 + 8] + d + 1; - - /* Reverse second 4 mix/permute rounds */ - - b1 = xorRotr(b1, ROTATION_7_0, b6); - b6 -= b1; - b7 = xorRotr(b7, ROTATION_7_1, b0); - b0 -= b7; - b5 = xorRotr(b5, ROTATION_7_2, b2); - b2 -= b5; - b3 = xorRotr(b3, ROTATION_7_3, b4); - b4 -= b3; - - b1 = xorRotr(b1, ROTATION_6_0, b4); - b4 -= b1; - b3 = xorRotr(b3, ROTATION_6_1, b6); - b6 -= b3; - b5 = xorRotr(b5, ROTATION_6_2, b0); - b0 -= b5; - b7 = xorRotr(b7, ROTATION_6_3, b2); - b2 -= b7; - - b1 = xorRotr(b1, ROTATION_5_0, b2); - b2 -= b1; - b7 = xorRotr(b7, ROTATION_5_1, b4); - b4 -= b7; - b5 = xorRotr(b5, ROTATION_5_2, b6); - b6 -= b5; - b3 = xorRotr(b3, ROTATION_5_3, b0); - b0 -= b3; - - b1 = xorRotr(b1, ROTATION_4_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_4_1, b2); - b2 -= b3; - b5 = xorRotr(b5, ROTATION_4_2, b4); - b4 -= b5; - b7 = xorRotr(b7, ROTATION_4_3, b6); - b6 -= b7; - - /* Reverse key injection for first 4 rounds */ - b0 -= kw[dm9]; - b1 -= kw[dm9 + 1]; - b2 -= kw[dm9 + 2]; - b3 -= kw[dm9 + 3]; - b4 -= kw[dm9 + 4]; - b5 -= kw[dm9 + 5] + t[dm3]; - b6 -= kw[dm9 + 6] + t[dm3 + 1]; - b7 -= kw[dm9 + 7] + d; - - /* Reverse first 4 mix/permute rounds */ - b1 = xorRotr(b1, ROTATION_3_0, b6); - b6 -= b1; - b7 = xorRotr(b7, ROTATION_3_1, b0); - b0 -= b7; - b5 = xorRotr(b5, ROTATION_3_2, b2); - b2 -= b5; - b3 = xorRotr(b3, ROTATION_3_3, b4); - b4 -= b3; - - b1 = xorRotr(b1, ROTATION_2_0, b4); - b4 -= b1; - b3 = xorRotr(b3, ROTATION_2_1, b6); - b6 -= b3; - b5 = xorRotr(b5, ROTATION_2_2, b0); - b0 -= b5; - b7 = xorRotr(b7, ROTATION_2_3, b2); - b2 -= b7; - - b1 = xorRotr(b1, ROTATION_1_0, b2); - b2 -= b1; - b7 = xorRotr(b7, ROTATION_1_1, b4); - b4 -= b7; - b5 = xorRotr(b5, ROTATION_1_2, b6); - b6 -= b5; - b3 = xorRotr(b3, ROTATION_1_3, b0); - b0 -= b3; - - b1 = xorRotr(b1, ROTATION_0_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_0_1, b2); - b2 -= b3; - b5 = xorRotr(b5, ROTATION_0_2, b4); - b4 -= b5; - b7 = xorRotr(b7, ROTATION_0_3, b6); - b6 -= b7; - } - - /* - * First subkey uninjection. - */ - b0 -= kw[0]; - b1 -= kw[1]; - b2 -= kw[2]; - b3 -= kw[3]; - b4 -= kw[4]; - b5 -= kw[5] + t[0]; - b6 -= kw[6] + t[1]; - b7 -= kw[7]; - - /* - * Output cipher state. - */ - state[0] = b0; - state[1] = b1; - state[2] = b2; - state[3] = b3; - state[4] = b4; - state[5] = b5; - state[6] = b6; - state[7] = b7; - } - } - - private static final class Threefish1024Cipher - extends ThreefishCipher - { - /** - * Mix rotation constants defined in Skein 1.3 specification - */ - private static final int ROTATION_0_0 = 24, ROTATION_0_1 = 13, ROTATION_0_2 = 8, ROTATION_0_3 = 47; - private static final int ROTATION_0_4 = 8, ROTATION_0_5 = 17, ROTATION_0_6 = 22, ROTATION_0_7 = 37; - private static final int ROTATION_1_0 = 38, ROTATION_1_1 = 19, ROTATION_1_2 = 10, ROTATION_1_3 = 55; - private static final int ROTATION_1_4 = 49, ROTATION_1_5 = 18, ROTATION_1_6 = 23, ROTATION_1_7 = 52; - private static final int ROTATION_2_0 = 33, ROTATION_2_1 = 4, ROTATION_2_2 = 51, ROTATION_2_3 = 13; - private static final int ROTATION_2_4 = 34, ROTATION_2_5 = 41, ROTATION_2_6 = 59, ROTATION_2_7 = 17; - private static final int ROTATION_3_0 = 5, ROTATION_3_1 = 20, ROTATION_3_2 = 48, ROTATION_3_3 = 41; - private static final int ROTATION_3_4 = 47, ROTATION_3_5 = 28, ROTATION_3_6 = 16, ROTATION_3_7 = 25; - - private static final int ROTATION_4_0 = 41, ROTATION_4_1 = 9, ROTATION_4_2 = 37, ROTATION_4_3 = 31; - private static final int ROTATION_4_4 = 12, ROTATION_4_5 = 47, ROTATION_4_6 = 44, ROTATION_4_7 = 30; - private static final int ROTATION_5_0 = 16, ROTATION_5_1 = 34, ROTATION_5_2 = 56, ROTATION_5_3 = 51; - private static final int ROTATION_5_4 = 4, ROTATION_5_5 = 53, ROTATION_5_6 = 42, ROTATION_5_7 = 41; - private static final int ROTATION_6_0 = 31, ROTATION_6_1 = 44, ROTATION_6_2 = 47, ROTATION_6_3 = 46; - private static final int ROTATION_6_4 = 19, ROTATION_6_5 = 42, ROTATION_6_6 = 44, ROTATION_6_7 = 25; - private static final int ROTATION_7_0 = 9, ROTATION_7_1 = 48, ROTATION_7_2 = 35, ROTATION_7_3 = 52; - private static final int ROTATION_7_4 = 23, ROTATION_7_5 = 31, ROTATION_7_6 = 37, ROTATION_7_7 = 20; - - public Threefish1024Cipher(long[] kw, long[] t) - { - super(kw, t); - } - - void encryptBlock(long[] block, long[] out) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod17 = MOD17; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 33) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - /* - * Read 16 words of plaintext data, not using arrays for cipher state - */ - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - long b4 = block[4]; - long b5 = block[5]; - long b6 = block[6]; - long b7 = block[7]; - long b8 = block[8]; - long b9 = block[9]; - long b10 = block[10]; - long b11 = block[11]; - long b12 = block[12]; - long b13 = block[13]; - long b14 = block[14]; - long b15 = block[15]; - - /* - * First subkey injection. - */ - b0 += kw[0]; - b1 += kw[1]; - b2 += kw[2]; - b3 += kw[3]; - b4 += kw[4]; - b5 += kw[5]; - b6 += kw[6]; - b7 += kw[7]; - b8 += kw[8]; - b9 += kw[9]; - b10 += kw[10]; - b11 += kw[11]; - b12 += kw[12]; - b13 += kw[13] + t[0]; - b14 += kw[14] + t[1]; - b15 += kw[15]; - - /* - * Rounds loop, unrolled to 8 rounds per iteration. - * - * Unrolling to multiples of 4 avoids the mod 4 check for key injection, and allows - * inlining of the permutations, which cycle every of 4 rounds (avoiding array - * index/lookup). - * - * Unrolling to multiples of 8 avoids the mod 8 rotation constant lookup, and allows - * inlining constant rotation values (avoiding array index/lookup). - */ - - for (int d = 1; d < (ROUNDS_1024 / 4); d += 2) - { - final int dm17 = mod17[d]; - final int dm3 = mod3[d]; - - /* - * 4 rounds of mix and permute. - * - * Permute schedule has a 4 round cycle, so permutes are inlined in the mix - * operations in each 4 round block. - */ - b1 = rotlXor(b1, ROTATION_0_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_0_1, b2 += b3); - b5 = rotlXor(b5, ROTATION_0_2, b4 += b5); - b7 = rotlXor(b7, ROTATION_0_3, b6 += b7); - b9 = rotlXor(b9, ROTATION_0_4, b8 += b9); - b11 = rotlXor(b11, ROTATION_0_5, b10 += b11); - b13 = rotlXor(b13, ROTATION_0_6, b12 += b13); - b15 = rotlXor(b15, ROTATION_0_7, b14 += b15); - - b9 = rotlXor(b9, ROTATION_1_0, b0 += b9); - b13 = rotlXor(b13, ROTATION_1_1, b2 += b13); - b11 = rotlXor(b11, ROTATION_1_2, b6 += b11); - b15 = rotlXor(b15, ROTATION_1_3, b4 += b15); - b7 = rotlXor(b7, ROTATION_1_4, b10 += b7); - b3 = rotlXor(b3, ROTATION_1_5, b12 += b3); - b5 = rotlXor(b5, ROTATION_1_6, b14 += b5); - b1 = rotlXor(b1, ROTATION_1_7, b8 += b1); - - b7 = rotlXor(b7, ROTATION_2_0, b0 += b7); - b5 = rotlXor(b5, ROTATION_2_1, b2 += b5); - b3 = rotlXor(b3, ROTATION_2_2, b4 += b3); - b1 = rotlXor(b1, ROTATION_2_3, b6 += b1); - b15 = rotlXor(b15, ROTATION_2_4, b12 += b15); - b13 = rotlXor(b13, ROTATION_2_5, b14 += b13); - b11 = rotlXor(b11, ROTATION_2_6, b8 += b11); - b9 = rotlXor(b9, ROTATION_2_7, b10 += b9); - - b15 = rotlXor(b15, ROTATION_3_0, b0 += b15); - b11 = rotlXor(b11, ROTATION_3_1, b2 += b11); - b13 = rotlXor(b13, ROTATION_3_2, b6 += b13); - b9 = rotlXor(b9, ROTATION_3_3, b4 += b9); - b1 = rotlXor(b1, ROTATION_3_4, b14 += b1); - b5 = rotlXor(b5, ROTATION_3_5, b8 += b5); - b3 = rotlXor(b3, ROTATION_3_6, b10 += b3); - b7 = rotlXor(b7, ROTATION_3_7, b12 += b7); - - /* - * Subkey injection for first 4 rounds. - */ - b0 += kw[dm17]; - b1 += kw[dm17 + 1]; - b2 += kw[dm17 + 2]; - b3 += kw[dm17 + 3]; - b4 += kw[dm17 + 4]; - b5 += kw[dm17 + 5]; - b6 += kw[dm17 + 6]; - b7 += kw[dm17 + 7]; - b8 += kw[dm17 + 8]; - b9 += kw[dm17 + 9]; - b10 += kw[dm17 + 10]; - b11 += kw[dm17 + 11]; - b12 += kw[dm17 + 12]; - b13 += kw[dm17 + 13] + t[dm3]; - b14 += kw[dm17 + 14] + t[dm3 + 1]; - b15 += kw[dm17 + 15] + d; - - /* - * 4 more rounds of mix/permute - */ - b1 = rotlXor(b1, ROTATION_4_0, b0 += b1); - b3 = rotlXor(b3, ROTATION_4_1, b2 += b3); - b5 = rotlXor(b5, ROTATION_4_2, b4 += b5); - b7 = rotlXor(b7, ROTATION_4_3, b6 += b7); - b9 = rotlXor(b9, ROTATION_4_4, b8 += b9); - b11 = rotlXor(b11, ROTATION_4_5, b10 += b11); - b13 = rotlXor(b13, ROTATION_4_6, b12 += b13); - b15 = rotlXor(b15, ROTATION_4_7, b14 += b15); - - b9 = rotlXor(b9, ROTATION_5_0, b0 += b9); - b13 = rotlXor(b13, ROTATION_5_1, b2 += b13); - b11 = rotlXor(b11, ROTATION_5_2, b6 += b11); - b15 = rotlXor(b15, ROTATION_5_3, b4 += b15); - b7 = rotlXor(b7, ROTATION_5_4, b10 += b7); - b3 = rotlXor(b3, ROTATION_5_5, b12 += b3); - b5 = rotlXor(b5, ROTATION_5_6, b14 += b5); - b1 = rotlXor(b1, ROTATION_5_7, b8 += b1); - - b7 = rotlXor(b7, ROTATION_6_0, b0 += b7); - b5 = rotlXor(b5, ROTATION_6_1, b2 += b5); - b3 = rotlXor(b3, ROTATION_6_2, b4 += b3); - b1 = rotlXor(b1, ROTATION_6_3, b6 += b1); - b15 = rotlXor(b15, ROTATION_6_4, b12 += b15); - b13 = rotlXor(b13, ROTATION_6_5, b14 += b13); - b11 = rotlXor(b11, ROTATION_6_6, b8 += b11); - b9 = rotlXor(b9, ROTATION_6_7, b10 += b9); - - b15 = rotlXor(b15, ROTATION_7_0, b0 += b15); - b11 = rotlXor(b11, ROTATION_7_1, b2 += b11); - b13 = rotlXor(b13, ROTATION_7_2, b6 += b13); - b9 = rotlXor(b9, ROTATION_7_3, b4 += b9); - b1 = rotlXor(b1, ROTATION_7_4, b14 += b1); - b5 = rotlXor(b5, ROTATION_7_5, b8 += b5); - b3 = rotlXor(b3, ROTATION_7_6, b10 += b3); - b7 = rotlXor(b7, ROTATION_7_7, b12 += b7); - - /* - * Subkey injection for next 4 rounds. - */ - b0 += kw[dm17 + 1]; - b1 += kw[dm17 + 2]; - b2 += kw[dm17 + 3]; - b3 += kw[dm17 + 4]; - b4 += kw[dm17 + 5]; - b5 += kw[dm17 + 6]; - b6 += kw[dm17 + 7]; - b7 += kw[dm17 + 8]; - b8 += kw[dm17 + 9]; - b9 += kw[dm17 + 10]; - b10 += kw[dm17 + 11]; - b11 += kw[dm17 + 12]; - b12 += kw[dm17 + 13]; - b13 += kw[dm17 + 14] + t[dm3 + 1]; - b14 += kw[dm17 + 15] + t[dm3 + 2]; - b15 += kw[dm17 + 16] + d + 1; - - } - - /* - * Output cipher state. - */ - out[0] = b0; - out[1] = b1; - out[2] = b2; - out[3] = b3; - out[4] = b4; - out[5] = b5; - out[6] = b6; - out[7] = b7; - out[8] = b8; - out[9] = b9; - out[10] = b10; - out[11] = b11; - out[12] = b12; - out[13] = b13; - out[14] = b14; - out[15] = b15; - } - - void decryptBlock(long[] block, long[] state) - { - final long[] kw = this.kw; - final long[] t = this.t; - final int[] mod17 = MOD17; - final int[] mod3 = MOD3; - - /* Help the JIT avoid index bounds checks */ - if (kw.length != 33) - { - throw new IllegalArgumentException(); - } - if (t.length != 5) - { - throw new IllegalArgumentException(); - } - - long b0 = block[0]; - long b1 = block[1]; - long b2 = block[2]; - long b3 = block[3]; - long b4 = block[4]; - long b5 = block[5]; - long b6 = block[6]; - long b7 = block[7]; - long b8 = block[8]; - long b9 = block[9]; - long b10 = block[10]; - long b11 = block[11]; - long b12 = block[12]; - long b13 = block[13]; - long b14 = block[14]; - long b15 = block[15]; - - for (int d = (ROUNDS_1024 / 4) - 1; d >= 1; d -= 2) - { - final int dm17 = mod17[d]; - final int dm3 = mod3[d]; - - /* Reverse key injection for second 4 rounds */ - b0 -= kw[dm17 + 1]; - b1 -= kw[dm17 + 2]; - b2 -= kw[dm17 + 3]; - b3 -= kw[dm17 + 4]; - b4 -= kw[dm17 + 5]; - b5 -= kw[dm17 + 6]; - b6 -= kw[dm17 + 7]; - b7 -= kw[dm17 + 8]; - b8 -= kw[dm17 + 9]; - b9 -= kw[dm17 + 10]; - b10 -= kw[dm17 + 11]; - b11 -= kw[dm17 + 12]; - b12 -= kw[dm17 + 13]; - b13 -= kw[dm17 + 14] + t[dm3 + 1]; - b14 -= kw[dm17 + 15] + t[dm3 + 2]; - b15 -= kw[dm17 + 16] + d + 1; - - /* Reverse second 4 mix/permute rounds */ - b15 = xorRotr(b15, ROTATION_7_0, b0); - b0 -= b15; - b11 = xorRotr(b11, ROTATION_7_1, b2); - b2 -= b11; - b13 = xorRotr(b13, ROTATION_7_2, b6); - b6 -= b13; - b9 = xorRotr(b9, ROTATION_7_3, b4); - b4 -= b9; - b1 = xorRotr(b1, ROTATION_7_4, b14); - b14 -= b1; - b5 = xorRotr(b5, ROTATION_7_5, b8); - b8 -= b5; - b3 = xorRotr(b3, ROTATION_7_6, b10); - b10 -= b3; - b7 = xorRotr(b7, ROTATION_7_7, b12); - b12 -= b7; - - b7 = xorRotr(b7, ROTATION_6_0, b0); - b0 -= b7; - b5 = xorRotr(b5, ROTATION_6_1, b2); - b2 -= b5; - b3 = xorRotr(b3, ROTATION_6_2, b4); - b4 -= b3; - b1 = xorRotr(b1, ROTATION_6_3, b6); - b6 -= b1; - b15 = xorRotr(b15, ROTATION_6_4, b12); - b12 -= b15; - b13 = xorRotr(b13, ROTATION_6_5, b14); - b14 -= b13; - b11 = xorRotr(b11, ROTATION_6_6, b8); - b8 -= b11; - b9 = xorRotr(b9, ROTATION_6_7, b10); - b10 -= b9; - - b9 = xorRotr(b9, ROTATION_5_0, b0); - b0 -= b9; - b13 = xorRotr(b13, ROTATION_5_1, b2); - b2 -= b13; - b11 = xorRotr(b11, ROTATION_5_2, b6); - b6 -= b11; - b15 = xorRotr(b15, ROTATION_5_3, b4); - b4 -= b15; - b7 = xorRotr(b7, ROTATION_5_4, b10); - b10 -= b7; - b3 = xorRotr(b3, ROTATION_5_5, b12); - b12 -= b3; - b5 = xorRotr(b5, ROTATION_5_6, b14); - b14 -= b5; - b1 = xorRotr(b1, ROTATION_5_7, b8); - b8 -= b1; - - b1 = xorRotr(b1, ROTATION_4_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_4_1, b2); - b2 -= b3; - b5 = xorRotr(b5, ROTATION_4_2, b4); - b4 -= b5; - b7 = xorRotr(b7, ROTATION_4_3, b6); - b6 -= b7; - b9 = xorRotr(b9, ROTATION_4_4, b8); - b8 -= b9; - b11 = xorRotr(b11, ROTATION_4_5, b10); - b10 -= b11; - b13 = xorRotr(b13, ROTATION_4_6, b12); - b12 -= b13; - b15 = xorRotr(b15, ROTATION_4_7, b14); - b14 -= b15; - - /* Reverse key injection for first 4 rounds */ - b0 -= kw[dm17]; - b1 -= kw[dm17 + 1]; - b2 -= kw[dm17 + 2]; - b3 -= kw[dm17 + 3]; - b4 -= kw[dm17 + 4]; - b5 -= kw[dm17 + 5]; - b6 -= kw[dm17 + 6]; - b7 -= kw[dm17 + 7]; - b8 -= kw[dm17 + 8]; - b9 -= kw[dm17 + 9]; - b10 -= kw[dm17 + 10]; - b11 -= kw[dm17 + 11]; - b12 -= kw[dm17 + 12]; - b13 -= kw[dm17 + 13] + t[dm3]; - b14 -= kw[dm17 + 14] + t[dm3 + 1]; - b15 -= kw[dm17 + 15] + d; - - /* Reverse first 4 mix/permute rounds */ - b15 = xorRotr(b15, ROTATION_3_0, b0); - b0 -= b15; - b11 = xorRotr(b11, ROTATION_3_1, b2); - b2 -= b11; - b13 = xorRotr(b13, ROTATION_3_2, b6); - b6 -= b13; - b9 = xorRotr(b9, ROTATION_3_3, b4); - b4 -= b9; - b1 = xorRotr(b1, ROTATION_3_4, b14); - b14 -= b1; - b5 = xorRotr(b5, ROTATION_3_5, b8); - b8 -= b5; - b3 = xorRotr(b3, ROTATION_3_6, b10); - b10 -= b3; - b7 = xorRotr(b7, ROTATION_3_7, b12); - b12 -= b7; - - b7 = xorRotr(b7, ROTATION_2_0, b0); - b0 -= b7; - b5 = xorRotr(b5, ROTATION_2_1, b2); - b2 -= b5; - b3 = xorRotr(b3, ROTATION_2_2, b4); - b4 -= b3; - b1 = xorRotr(b1, ROTATION_2_3, b6); - b6 -= b1; - b15 = xorRotr(b15, ROTATION_2_4, b12); - b12 -= b15; - b13 = xorRotr(b13, ROTATION_2_5, b14); - b14 -= b13; - b11 = xorRotr(b11, ROTATION_2_6, b8); - b8 -= b11; - b9 = xorRotr(b9, ROTATION_2_7, b10); - b10 -= b9; - - b9 = xorRotr(b9, ROTATION_1_0, b0); - b0 -= b9; - b13 = xorRotr(b13, ROTATION_1_1, b2); - b2 -= b13; - b11 = xorRotr(b11, ROTATION_1_2, b6); - b6 -= b11; - b15 = xorRotr(b15, ROTATION_1_3, b4); - b4 -= b15; - b7 = xorRotr(b7, ROTATION_1_4, b10); - b10 -= b7; - b3 = xorRotr(b3, ROTATION_1_5, b12); - b12 -= b3; - b5 = xorRotr(b5, ROTATION_1_6, b14); - b14 -= b5; - b1 = xorRotr(b1, ROTATION_1_7, b8); - b8 -= b1; - - b1 = xorRotr(b1, ROTATION_0_0, b0); - b0 -= b1; - b3 = xorRotr(b3, ROTATION_0_1, b2); - b2 -= b3; - b5 = xorRotr(b5, ROTATION_0_2, b4); - b4 -= b5; - b7 = xorRotr(b7, ROTATION_0_3, b6); - b6 -= b7; - b9 = xorRotr(b9, ROTATION_0_4, b8); - b8 -= b9; - b11 = xorRotr(b11, ROTATION_0_5, b10); - b10 -= b11; - b13 = xorRotr(b13, ROTATION_0_6, b12); - b12 -= b13; - b15 = xorRotr(b15, ROTATION_0_7, b14); - b14 -= b15; - } - - /* - * First subkey uninjection. - */ - b0 -= kw[0]; - b1 -= kw[1]; - b2 -= kw[2]; - b3 -= kw[3]; - b4 -= kw[4]; - b5 -= kw[5]; - b6 -= kw[6]; - b7 -= kw[7]; - b8 -= kw[8]; - b9 -= kw[9]; - b10 -= kw[10]; - b11 -= kw[11]; - b12 -= kw[12]; - b13 -= kw[13] + t[0]; - b14 -= kw[14] + t[1]; - b15 -= kw[15]; - - /* - * Output cipher state. - */ - state[0] = b0; - state[1] = b1; - state[2] = b2; - state[3] = b3; - state[4] = b4; - state[5] = b5; - state[6] = b6; - state[7] = b7; - state[8] = b8; - state[9] = b9; - state[10] = b10; - state[11] = b11; - state[12] = b12; - state[13] = b13; - state[14] = b14; - state[15] = b15; - } - - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TwofishEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TwofishEngine.java deleted file mode 100644 index c5b843850..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/TwofishEngine.java +++ /dev/null @@ -1,680 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * A class that provides Twofish encryption operations. - * - * This Java implementation is based on the Java reference - * implementation provided by Bruce Schneier and developed - * by Raif S. Naffah. - */ -public final class TwofishEngine - implements BlockCipher -{ - private static final byte[][] P = { - { // p0 - (byte) 0xA9, (byte) 0x67, (byte) 0xB3, (byte) 0xE8, - (byte) 0x04, (byte) 0xFD, (byte) 0xA3, (byte) 0x76, - (byte) 0x9A, (byte) 0x92, (byte) 0x80, (byte) 0x78, - (byte) 0xE4, (byte) 0xDD, (byte) 0xD1, (byte) 0x38, - (byte) 0x0D, (byte) 0xC6, (byte) 0x35, (byte) 0x98, - (byte) 0x18, (byte) 0xF7, (byte) 0xEC, (byte) 0x6C, - (byte) 0x43, (byte) 0x75, (byte) 0x37, (byte) 0x26, - (byte) 0xFA, (byte) 0x13, (byte) 0x94, (byte) 0x48, - (byte) 0xF2, (byte) 0xD0, (byte) 0x8B, (byte) 0x30, - (byte) 0x84, (byte) 0x54, (byte) 0xDF, (byte) 0x23, - (byte) 0x19, (byte) 0x5B, (byte) 0x3D, (byte) 0x59, - (byte) 0xF3, (byte) 0xAE, (byte) 0xA2, (byte) 0x82, - (byte) 0x63, (byte) 0x01, (byte) 0x83, (byte) 0x2E, - (byte) 0xD9, (byte) 0x51, (byte) 0x9B, (byte) 0x7C, - (byte) 0xA6, (byte) 0xEB, (byte) 0xA5, (byte) 0xBE, - (byte) 0x16, (byte) 0x0C, (byte) 0xE3, (byte) 0x61, - (byte) 0xC0, (byte) 0x8C, (byte) 0x3A, (byte) 0xF5, - (byte) 0x73, (byte) 0x2C, (byte) 0x25, (byte) 0x0B, - (byte) 0xBB, (byte) 0x4E, (byte) 0x89, (byte) 0x6B, - (byte) 0x53, (byte) 0x6A, (byte) 0xB4, (byte) 0xF1, - (byte) 0xE1, (byte) 0xE6, (byte) 0xBD, (byte) 0x45, - (byte) 0xE2, (byte) 0xF4, (byte) 0xB6, (byte) 0x66, - (byte) 0xCC, (byte) 0x95, (byte) 0x03, (byte) 0x56, - (byte) 0xD4, (byte) 0x1C, (byte) 0x1E, (byte) 0xD7, - (byte) 0xFB, (byte) 0xC3, (byte) 0x8E, (byte) 0xB5, - (byte) 0xE9, (byte) 0xCF, (byte) 0xBF, (byte) 0xBA, - (byte) 0xEA, (byte) 0x77, (byte) 0x39, (byte) 0xAF, - (byte) 0x33, (byte) 0xC9, (byte) 0x62, (byte) 0x71, - (byte) 0x81, (byte) 0x79, (byte) 0x09, (byte) 0xAD, - (byte) 0x24, (byte) 0xCD, (byte) 0xF9, (byte) 0xD8, - (byte) 0xE5, (byte) 0xC5, (byte) 0xB9, (byte) 0x4D, - (byte) 0x44, (byte) 0x08, (byte) 0x86, (byte) 0xE7, - (byte) 0xA1, (byte) 0x1D, (byte) 0xAA, (byte) 0xED, - (byte) 0x06, (byte) 0x70, (byte) 0xB2, (byte) 0xD2, - (byte) 0x41, (byte) 0x7B, (byte) 0xA0, (byte) 0x11, - (byte) 0x31, (byte) 0xC2, (byte) 0x27, (byte) 0x90, - (byte) 0x20, (byte) 0xF6, (byte) 0x60, (byte) 0xFF, - (byte) 0x96, (byte) 0x5C, (byte) 0xB1, (byte) 0xAB, - (byte) 0x9E, (byte) 0x9C, (byte) 0x52, (byte) 0x1B, - (byte) 0x5F, (byte) 0x93, (byte) 0x0A, (byte) 0xEF, - (byte) 0x91, (byte) 0x85, (byte) 0x49, (byte) 0xEE, - (byte) 0x2D, (byte) 0x4F, (byte) 0x8F, (byte) 0x3B, - (byte) 0x47, (byte) 0x87, (byte) 0x6D, (byte) 0x46, - (byte) 0xD6, (byte) 0x3E, (byte) 0x69, (byte) 0x64, - (byte) 0x2A, (byte) 0xCE, (byte) 0xCB, (byte) 0x2F, - (byte) 0xFC, (byte) 0x97, (byte) 0x05, (byte) 0x7A, - (byte) 0xAC, (byte) 0x7F, (byte) 0xD5, (byte) 0x1A, - (byte) 0x4B, (byte) 0x0E, (byte) 0xA7, (byte) 0x5A, - (byte) 0x28, (byte) 0x14, (byte) 0x3F, (byte) 0x29, - (byte) 0x88, (byte) 0x3C, (byte) 0x4C, (byte) 0x02, - (byte) 0xB8, (byte) 0xDA, (byte) 0xB0, (byte) 0x17, - (byte) 0x55, (byte) 0x1F, (byte) 0x8A, (byte) 0x7D, - (byte) 0x57, (byte) 0xC7, (byte) 0x8D, (byte) 0x74, - (byte) 0xB7, (byte) 0xC4, (byte) 0x9F, (byte) 0x72, - (byte) 0x7E, (byte) 0x15, (byte) 0x22, (byte) 0x12, - (byte) 0x58, (byte) 0x07, (byte) 0x99, (byte) 0x34, - (byte) 0x6E, (byte) 0x50, (byte) 0xDE, (byte) 0x68, - (byte) 0x65, (byte) 0xBC, (byte) 0xDB, (byte) 0xF8, - (byte) 0xC8, (byte) 0xA8, (byte) 0x2B, (byte) 0x40, - (byte) 0xDC, (byte) 0xFE, (byte) 0x32, (byte) 0xA4, - (byte) 0xCA, (byte) 0x10, (byte) 0x21, (byte) 0xF0, - (byte) 0xD3, (byte) 0x5D, (byte) 0x0F, (byte) 0x00, - (byte) 0x6F, (byte) 0x9D, (byte) 0x36, (byte) 0x42, - (byte) 0x4A, (byte) 0x5E, (byte) 0xC1, (byte) 0xE0 }, - { // p1 - (byte) 0x75, (byte) 0xF3, (byte) 0xC6, (byte) 0xF4, - (byte) 0xDB, (byte) 0x7B, (byte) 0xFB, (byte) 0xC8, - (byte) 0x4A, (byte) 0xD3, (byte) 0xE6, (byte) 0x6B, - (byte) 0x45, (byte) 0x7D, (byte) 0xE8, (byte) 0x4B, - (byte) 0xD6, (byte) 0x32, (byte) 0xD8, (byte) 0xFD, - (byte) 0x37, (byte) 0x71, (byte) 0xF1, (byte) 0xE1, - (byte) 0x30, (byte) 0x0F, (byte) 0xF8, (byte) 0x1B, - (byte) 0x87, (byte) 0xFA, (byte) 0x06, (byte) 0x3F, - (byte) 0x5E, (byte) 0xBA, (byte) 0xAE, (byte) 0x5B, - (byte) 0x8A, (byte) 0x00, (byte) 0xBC, (byte) 0x9D, - (byte) 0x6D, (byte) 0xC1, (byte) 0xB1, (byte) 0x0E, - (byte) 0x80, (byte) 0x5D, (byte) 0xD2, (byte) 0xD5, - (byte) 0xA0, (byte) 0x84, (byte) 0x07, (byte) 0x14, - (byte) 0xB5, (byte) 0x90, (byte) 0x2C, (byte) 0xA3, - (byte) 0xB2, (byte) 0x73, (byte) 0x4C, (byte) 0x54, - (byte) 0x92, (byte) 0x74, (byte) 0x36, (byte) 0x51, - (byte) 0x38, (byte) 0xB0, (byte) 0xBD, (byte) 0x5A, - (byte) 0xFC, (byte) 0x60, (byte) 0x62, (byte) 0x96, - (byte) 0x6C, (byte) 0x42, (byte) 0xF7, (byte) 0x10, - (byte) 0x7C, (byte) 0x28, (byte) 0x27, (byte) 0x8C, - (byte) 0x13, (byte) 0x95, (byte) 0x9C, (byte) 0xC7, - (byte) 0x24, (byte) 0x46, (byte) 0x3B, (byte) 0x70, - (byte) 0xCA, (byte) 0xE3, (byte) 0x85, (byte) 0xCB, - (byte) 0x11, (byte) 0xD0, (byte) 0x93, (byte) 0xB8, - (byte) 0xA6, (byte) 0x83, (byte) 0x20, (byte) 0xFF, - (byte) 0x9F, (byte) 0x77, (byte) 0xC3, (byte) 0xCC, - (byte) 0x03, (byte) 0x6F, (byte) 0x08, (byte) 0xBF, - (byte) 0x40, (byte) 0xE7, (byte) 0x2B, (byte) 0xE2, - (byte) 0x79, (byte) 0x0C, (byte) 0xAA, (byte) 0x82, - (byte) 0x41, (byte) 0x3A, (byte) 0xEA, (byte) 0xB9, - (byte) 0xE4, (byte) 0x9A, (byte) 0xA4, (byte) 0x97, - (byte) 0x7E, (byte) 0xDA, (byte) 0x7A, (byte) 0x17, - (byte) 0x66, (byte) 0x94, (byte) 0xA1, (byte) 0x1D, - (byte) 0x3D, (byte) 0xF0, (byte) 0xDE, (byte) 0xB3, - (byte) 0x0B, (byte) 0x72, (byte) 0xA7, (byte) 0x1C, - (byte) 0xEF, (byte) 0xD1, (byte) 0x53, (byte) 0x3E, - (byte) 0x8F, (byte) 0x33, (byte) 0x26, (byte) 0x5F, - (byte) 0xEC, (byte) 0x76, (byte) 0x2A, (byte) 0x49, - (byte) 0x81, (byte) 0x88, (byte) 0xEE, (byte) 0x21, - (byte) 0xC4, (byte) 0x1A, (byte) 0xEB, (byte) 0xD9, - (byte) 0xC5, (byte) 0x39, (byte) 0x99, (byte) 0xCD, - (byte) 0xAD, (byte) 0x31, (byte) 0x8B, (byte) 0x01, - (byte) 0x18, (byte) 0x23, (byte) 0xDD, (byte) 0x1F, - (byte) 0x4E, (byte) 0x2D, (byte) 0xF9, (byte) 0x48, - (byte) 0x4F, (byte) 0xF2, (byte) 0x65, (byte) 0x8E, - (byte) 0x78, (byte) 0x5C, (byte) 0x58, (byte) 0x19, - (byte) 0x8D, (byte) 0xE5, (byte) 0x98, (byte) 0x57, - (byte) 0x67, (byte) 0x7F, (byte) 0x05, (byte) 0x64, - (byte) 0xAF, (byte) 0x63, (byte) 0xB6, (byte) 0xFE, - (byte) 0xF5, (byte) 0xB7, (byte) 0x3C, (byte) 0xA5, - (byte) 0xCE, (byte) 0xE9, (byte) 0x68, (byte) 0x44, - (byte) 0xE0, (byte) 0x4D, (byte) 0x43, (byte) 0x69, - (byte) 0x29, (byte) 0x2E, (byte) 0xAC, (byte) 0x15, - (byte) 0x59, (byte) 0xA8, (byte) 0x0A, (byte) 0x9E, - (byte) 0x6E, (byte) 0x47, (byte) 0xDF, (byte) 0x34, - (byte) 0x35, (byte) 0x6A, (byte) 0xCF, (byte) 0xDC, - (byte) 0x22, (byte) 0xC9, (byte) 0xC0, (byte) 0x9B, - (byte) 0x89, (byte) 0xD4, (byte) 0xED, (byte) 0xAB, - (byte) 0x12, (byte) 0xA2, (byte) 0x0D, (byte) 0x52, - (byte) 0xBB, (byte) 0x02, (byte) 0x2F, (byte) 0xA9, - (byte) 0xD7, (byte) 0x61, (byte) 0x1E, (byte) 0xB4, - (byte) 0x50, (byte) 0x04, (byte) 0xF6, (byte) 0xC2, - (byte) 0x16, (byte) 0x25, (byte) 0x86, (byte) 0x56, - (byte) 0x55, (byte) 0x09, (byte) 0xBE, (byte) 0x91 } - }; - - /** - * Define the fixed p0/p1 permutations used in keyed S-box lookup. - * By changing the following constant definitions, the S-boxes will - * automatically get changed in the Twofish engine. - */ - private static final int P_00 = 1; - private static final int P_01 = 0; - private static final int P_02 = 0; - private static final int P_03 = P_01 ^ 1; - private static final int P_04 = 1; - - private static final int P_10 = 0; - private static final int P_11 = 0; - private static final int P_12 = 1; - private static final int P_13 = P_11 ^ 1; - private static final int P_14 = 0; - - private static final int P_20 = 1; - private static final int P_21 = 1; - private static final int P_22 = 0; - private static final int P_23 = P_21 ^ 1; - private static final int P_24 = 0; - - private static final int P_30 = 0; - private static final int P_31 = 1; - private static final int P_32 = 1; - private static final int P_33 = P_31 ^ 1; - private static final int P_34 = 1; - - /* Primitive polynomial for GF(256) */ - private static final int GF256_FDBK = 0x169; - private static final int GF256_FDBK_2 = GF256_FDBK / 2; - private static final int GF256_FDBK_4 = GF256_FDBK / 4; - - private static final int RS_GF_FDBK = 0x14D; // field generator - - //==================================== - // Useful constants - //==================================== - - private static final int ROUNDS = 16; - private static final int MAX_ROUNDS = 16; // bytes = 128 bits - private static final int BLOCK_SIZE = 16; // bytes = 128 bits - private static final int MAX_KEY_BITS = 256; - - private static final int INPUT_WHITEN=0; - private static final int OUTPUT_WHITEN=INPUT_WHITEN+BLOCK_SIZE/4; // 4 - private static final int ROUND_SUBKEYS=OUTPUT_WHITEN+BLOCK_SIZE/4;// 8 - - private static final int TOTAL_SUBKEYS=ROUND_SUBKEYS+2*MAX_ROUNDS;// 40 - - private static final int SK_STEP = 0x02020202; - private static final int SK_BUMP = 0x01010101; - private static final int SK_ROTL = 9; - - private boolean encrypting = false; - - private int[] gMDS0 = new int[MAX_KEY_BITS]; - private int[] gMDS1 = new int[MAX_KEY_BITS]; - private int[] gMDS2 = new int[MAX_KEY_BITS]; - private int[] gMDS3 = new int[MAX_KEY_BITS]; - - /** - * gSubKeys[] and gSBox[] are eventually used in the - * encryption and decryption methods. - */ - private int[] gSubKeys; - private int[] gSBox; - - private int k64Cnt = 0; - - private byte[] workingKey = null; - - public TwofishEngine() - { - // calculate the MDS matrix - int[] m1 = new int[2]; - int[] mX = new int[2]; - int[] mY = new int[2]; - int j; - - for (int i=0; i< MAX_KEY_BITS ; i++) - { - j = P[0][i] & 0xff; - m1[0] = j; - mX[0] = Mx_X(j) & 0xff; - mY[0] = Mx_Y(j) & 0xff; - - j = P[1][i] & 0xff; - m1[1] = j; - mX[1] = Mx_X(j) & 0xff; - mY[1] = Mx_Y(j) & 0xff; - - gMDS0[i] = m1[P_00] | mX[P_00] << 8 | - mY[P_00] << 16 | mY[P_00] << 24; - - gMDS1[i] = mY[P_10] | mY[P_10] << 8 | - mX[P_10] << 16 | m1[P_10] << 24; - - gMDS2[i] = mX[P_20] | mY[P_20] << 8 | - m1[P_20] << 16 | mY[P_20] << 24; - - gMDS3[i] = mX[P_30] | m1[P_30] << 8 | - mY[P_30] << 16 | mX[P_30] << 24; - } - } - - /** - * initialise a Twofish cipher. - * - * @param encrypting whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - { - if (params instanceof KeyParameter) - { - this.encrypting = encrypting; - this.workingKey = ((KeyParameter)params).getKey(); - this.k64Cnt = (this.workingKey.length / 8); // pre-padded ? - setKey(this.workingKey); - - return; - } - - throw new IllegalArgumentException("invalid parameter passed to Twofish init - " + params.getClass().getName()); - } - - public String getAlgorithmName() - { - return "Twofish"; - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (workingKey == null) - { - throw new IllegalStateException("Twofish not initialised"); - } - - if ((inOff + BLOCK_SIZE) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + BLOCK_SIZE) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - - return BLOCK_SIZE; - } - - public void reset() - { - if (this.workingKey != null) - { - setKey(this.workingKey); - } - } - - public int getBlockSize() - { - return BLOCK_SIZE; - } - - //================================== - // Private Implementation - //================================== - - private void setKey(byte[] key) - { - int[] k32e = new int[MAX_KEY_BITS/64]; // 4 - int[] k32o = new int[MAX_KEY_BITS/64]; // 4 - - int[] sBoxKeys = new int[MAX_KEY_BITS/64]; // 4 - gSubKeys = new int[TOTAL_SUBKEYS]; - - if (k64Cnt < 1) - { - throw new IllegalArgumentException("Key size less than 64 bits"); - } - - if (k64Cnt > 4) - { - throw new IllegalArgumentException("Key size larger than 256 bits"); - } - - /* - * k64Cnt is the number of 8 byte blocks (64 chunks) - * that are in the input key. The input key is a - * maximum of 32 bytes (256 bits), so the range - * for k64Cnt is 1..4 - */ - for (int i=0; i>> 24; - A += B; - gSubKeys[i*2] = A; - A += B; - gSubKeys[i*2 + 1] = A << SK_ROTL | A >>> (32-SK_ROTL); - } - - /* - * fully expand the table for speed - */ - int k0 = sBoxKeys[0]; - int k1 = sBoxKeys[1]; - int k2 = sBoxKeys[2]; - int k3 = sBoxKeys[3]; - int b0, b1, b2, b3; - gSBox = new int[4*MAX_KEY_BITS]; - for (int i=0; i>>1 | x2 << 31; - x3 = (x3 << 1 | x3 >>> 31) ^ (t0 + 2*t1 + gSubKeys[k++]); - - t0 = Fe32_0(x2); - t1 = Fe32_3(x3); - x0 ^= t0 + t1 + gSubKeys[k++]; - x0 = x0 >>>1 | x0 << 31; - x1 = (x1 << 1 | x1 >>> 31) ^ (t0 + 2*t1 + gSubKeys[k++]); - } - - Bits32ToBytes(x2 ^ gSubKeys[OUTPUT_WHITEN], dst, dstIndex); - Bits32ToBytes(x3 ^ gSubKeys[OUTPUT_WHITEN + 1], dst, dstIndex + 4); - Bits32ToBytes(x0 ^ gSubKeys[OUTPUT_WHITEN + 2], dst, dstIndex + 8); - Bits32ToBytes(x1 ^ gSubKeys[OUTPUT_WHITEN + 3], dst, dstIndex + 12); - } - - /** - * Decrypt the given input starting at the given offset and place - * the result in the provided buffer starting at the given offset. - * The input will be an exact multiple of our blocksize. - */ - private void decryptBlock( - byte[] src, - int srcIndex, - byte[] dst, - int dstIndex) - { - int x2 = BytesTo32Bits(src, srcIndex) ^ gSubKeys[OUTPUT_WHITEN]; - int x3 = BytesTo32Bits(src, srcIndex+4) ^ gSubKeys[OUTPUT_WHITEN + 1]; - int x0 = BytesTo32Bits(src, srcIndex+8) ^ gSubKeys[OUTPUT_WHITEN + 2]; - int x1 = BytesTo32Bits(src, srcIndex+12) ^ gSubKeys[OUTPUT_WHITEN + 3]; - - int k = ROUND_SUBKEYS + 2 * ROUNDS -1 ; - int t0, t1; - for (int r = 0; r< ROUNDS ; r +=2) - { - t0 = Fe32_0(x2); - t1 = Fe32_3(x3); - x1 ^= t0 + 2*t1 + gSubKeys[k--]; - x0 = (x0 << 1 | x0 >>> 31) ^ (t0 + t1 + gSubKeys[k--]); - x1 = x1 >>>1 | x1 << 31; - - t0 = Fe32_0(x0); - t1 = Fe32_3(x1); - x3 ^= t0 + 2*t1 + gSubKeys[k--]; - x2 = (x2 << 1 | x2 >>> 31) ^ (t0 + t1 + gSubKeys[k--]); - x3 = x3 >>>1 | x3 << 31; - } - - Bits32ToBytes(x0 ^ gSubKeys[INPUT_WHITEN], dst, dstIndex); - Bits32ToBytes(x1 ^ gSubKeys[INPUT_WHITEN + 1], dst, dstIndex + 4); - Bits32ToBytes(x2 ^ gSubKeys[INPUT_WHITEN + 2], dst, dstIndex + 8); - Bits32ToBytes(x3 ^ gSubKeys[INPUT_WHITEN + 3], dst, dstIndex + 12); - } - - /* - * TODO: This can be optimised and made cleaner by combining - * the functionality in this function and applying it appropriately - * to the creation of the subkeys during key setup. - */ - private int F32(int x, int[] k32) - { - int b0 = b0(x); - int b1 = b1(x); - int b2 = b2(x); - int b3 = b3(x); - int k0 = k32[0]; - int k1 = k32[1]; - int k2 = k32[2]; - int k3 = k32[3]; - - int result = 0; - switch (k64Cnt & 3) - { - case 1: - result = gMDS0[(P[P_01][b0] & 0xff) ^ b0(k0)] ^ - gMDS1[(P[P_11][b1] & 0xff) ^ b1(k0)] ^ - gMDS2[(P[P_21][b2] & 0xff) ^ b2(k0)] ^ - gMDS3[(P[P_31][b3] & 0xff) ^ b3(k0)]; - break; - case 0: /* 256 bits of key */ - b0 = (P[P_04][b0] & 0xff) ^ b0(k3); - b1 = (P[P_14][b1] & 0xff) ^ b1(k3); - b2 = (P[P_24][b2] & 0xff) ^ b2(k3); - b3 = (P[P_34][b3] & 0xff) ^ b3(k3); - case 3: - b0 = (P[P_03][b0] & 0xff) ^ b0(k2); - b1 = (P[P_13][b1] & 0xff) ^ b1(k2); - b2 = (P[P_23][b2] & 0xff) ^ b2(k2); - b3 = (P[P_33][b3] & 0xff) ^ b3(k2); - case 2: - result = - gMDS0[(P[P_01][(P[P_02][b0]&0xff)^b0(k1)]&0xff)^b0(k0)] ^ - gMDS1[(P[P_11][(P[P_12][b1]&0xff)^b1(k1)]&0xff)^b1(k0)] ^ - gMDS2[(P[P_21][(P[P_22][b2]&0xff)^b2(k1)]&0xff)^b2(k0)] ^ - gMDS3[(P[P_31][(P[P_32][b3]&0xff)^b3(k1)]&0xff)^b3(k0)]; - break; - } - return result; - } - - /** - * Use (12, 8) Reed-Solomon code over GF(256) to produce - * a key S-box 32-bit entity from 2 key material 32-bit - * entities. - * - * @param k0 first 32-bit entity - * @param k1 second 32-bit entity - * @return Remainder polynomial generated using RS code - */ - private int RS_MDS_Encode(int k0, int k1) - { - int r = k1; - for (int i = 0 ; i < 4 ; i++) // shift 1 byte at a time - { - r = RS_rem(r); - } - r ^= k0; - for (int i=0 ; i < 4 ; i++) - { - r = RS_rem(r); - } - - return r; - } - - /** - * Reed-Solomon code parameters: (12,8) reversible code:

    - *

    -     * g(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
    -     * 
    - * where a = primitive root of field generator 0x14D - */ - private int RS_rem(int x) - { - int b = (x >>> 24) & 0xff; - int g2 = ((b << 1) ^ - ((b & 0x80) != 0 ? RS_GF_FDBK : 0)) & 0xff; - int g3 = ((b >>> 1) ^ - ((b & 0x01) != 0 ? (RS_GF_FDBK >>> 1) : 0)) ^ g2 ; - return ((x << 8) ^ (g3 << 24) ^ (g2 << 16) ^ (g3 << 8) ^ b); - } - - private int LFSR1(int x) - { - return (x >> 1) ^ - (((x & 0x01) != 0) ? GF256_FDBK_2 : 0); - } - - private int LFSR2(int x) - { - return (x >> 2) ^ - (((x & 0x02) != 0) ? GF256_FDBK_2 : 0) ^ - (((x & 0x01) != 0) ? GF256_FDBK_4 : 0); - } - - private int Mx_X(int x) - { - return x ^ LFSR2(x); - } // 5B - - private int Mx_Y(int x) - { - return x ^ LFSR1(x) ^ LFSR2(x); - } // EF - - private int b0(int x) - { - return x & 0xff; - } - - private int b1(int x) - { - return (x >>> 8) & 0xff; - } - - private int b2(int x) - { - return (x >>> 16) & 0xff; - } - - private int b3(int x) - { - return (x >>> 24) & 0xff; - } - - private int Fe32_0(int x) - { - return gSBox[ 0x000 + 2*(x & 0xff) ] ^ - gSBox[ 0x001 + 2*((x >>> 8) & 0xff) ] ^ - gSBox[ 0x200 + 2*((x >>> 16) & 0xff) ] ^ - gSBox[ 0x201 + 2*((x >>> 24) & 0xff) ]; - } - - private int Fe32_3(int x) - { - return gSBox[ 0x000 + 2*((x >>> 24) & 0xff) ] ^ - gSBox[ 0x001 + 2*(x & 0xff) ] ^ - gSBox[ 0x200 + 2*((x >>> 8) & 0xff) ] ^ - gSBox[ 0x201 + 2*((x >>> 16) & 0xff) ]; - } - - private int BytesTo32Bits(byte[] b, int p) - { - return ((b[p] & 0xff)) | - ((b[p+1] & 0xff) << 8) | - ((b[p+2] & 0xff) << 16) | - ((b[p+3] & 0xff) << 24); - } - - private void Bits32ToBytes(int in, byte[] b, int offset) - { - b[offset] = (byte)in; - b[offset + 1] = (byte)(in >> 8); - b[offset + 2] = (byte)(in >> 16); - b[offset + 3] = (byte)(in >> 24); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCEngine.java deleted file mode 100644 index b4a3f23c3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCEngine.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -public class VMPCEngine implements StreamCipher -{ - /* - * variables to hold the state of the VMPC engine during encryption and - * decryption - */ - protected byte n = 0; - protected byte[] P = null; - protected byte s = 0; - - protected byte[] workingIV; - protected byte[] workingKey; - - public String getAlgorithmName() - { - return "VMPC"; - } - - /** - * initialise a VMPC cipher. - * - * @param forEncryption - * whether or not we are for encryption. - * @param params - * the parameters required to set up the cipher. - * @exception IllegalArgumentException - * if the params argument is inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - { - if (!(params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException( - "VMPC init parameters must include an IV"); - } - - ParametersWithIV ivParams = (ParametersWithIV) params; - - if (!(ivParams.getParameters() instanceof KeyParameter)) - { - throw new IllegalArgumentException( - "VMPC init parameters must include a key"); - } - - KeyParameter key = (KeyParameter) ivParams.getParameters(); - - this.workingIV = ivParams.getIV(); - - if (workingIV == null || workingIV.length < 1 || workingIV.length > 768) - { - throw new IllegalArgumentException("VMPC requires 1 to 768 bytes of IV"); - } - - this.workingKey = key.getKey(); - - initKey(this.workingKey, this.workingIV); - } - - protected void initKey(byte[] keyBytes, byte[] ivBytes) - { - s = 0; - P = new byte[256]; - for (int i = 0; i < 256; i++) - { - P[i] = (byte) i; - } - - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + keyBytes[m % keyBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + ivBytes[m % ivBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - n = 0; - } - - public void processBytes(byte[] in, int inOff, int len, byte[] out, - int outOff) - { - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + len) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < len; i++) - { - s = P[(s + P[n & 0xff]) & 0xff]; - byte z = P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]; - // encryption - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - - // xor - out[i + outOff] = (byte) (in[i + inOff] ^ z); - } - } - - public void reset() - { - initKey(this.workingKey, this.workingIV); - } - - public byte returnByte(byte in) - { - s = P[(s + P[n & 0xff]) & 0xff]; - byte z = P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]; - // encryption - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - - // xor - return (byte) (in ^ z); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCKSA3Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCKSA3Engine.java deleted file mode 100644 index 2e03fdbbb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/VMPCKSA3Engine.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto.engines; - -public class VMPCKSA3Engine extends VMPCEngine -{ - public String getAlgorithmName() - { - return "VMPC-KSA3"; - } - - protected void initKey(byte[] keyBytes, byte[] ivBytes) - { - s = 0; - P = new byte[256]; - for (int i = 0; i < 256; i++) - { - P[i] = (byte) i; - } - - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + keyBytes[m % keyBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + ivBytes[m % ivBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + keyBytes[m % keyBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - - n = 0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XSalsa20Engine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XSalsa20Engine.java deleted file mode 100644 index 0acbf101e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XSalsa20Engine.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.util.Pack; - -/** - * Implementation of Daniel J. Bernstein's XSalsa20 stream cipher - Salsa20 with an extended nonce. - *

    - * XSalsa20 requires a 256 bit key, and a 192 bit nonce. - */ -public class XSalsa20Engine extends Salsa20Engine -{ - - public String getAlgorithmName() - { - return "XSalsa20"; - } - - protected int getNonceSize() - { - return 24; - } - - /** - * XSalsa20 key generation: process 256 bit input key and 128 bits of the input nonce - * using a core Salsa20 function without input addition to produce 256 bit working key - * and use that with the remaining 64 bits of nonce to initialize a standard Salsa20 engine state. - */ - protected void setKey(byte[] keyBytes, byte[] ivBytes) - { - if (keyBytes.length != 32) - { - throw new IllegalArgumentException(getAlgorithmName() + " requires a 256 bit key"); - } - - // Set key for HSalsa20 - super.setKey(keyBytes, ivBytes); - - // Pack next 64 bits of IV into engine state instead of counter - engineState[8] = Pack.littleEndianToInt(ivBytes, 8); - engineState[9] = Pack.littleEndianToInt(ivBytes, 12); - - // Process engine state to generate Salsa20 key - int[] hsalsa20Out = new int[engineState.length]; - salsaCore(20, engineState, hsalsa20Out); - - // Set new key, removing addition in last round of salsaCore - engineState[1] = hsalsa20Out[0] - engineState[0]; - engineState[2] = hsalsa20Out[5] - engineState[5]; - engineState[3] = hsalsa20Out[10] - engineState[10]; - engineState[4] = hsalsa20Out[15] - engineState[15]; - - engineState[11] = hsalsa20Out[6] - engineState[6]; - engineState[12] = hsalsa20Out[7] - engineState[7]; - engineState[13] = hsalsa20Out[8] - engineState[8]; - engineState[14] = hsalsa20Out[9] - engineState[9]; - - // Last 64 bits of input IV - engineState[6] = Pack.littleEndianToInt(ivBytes, 16); - engineState[7] = Pack.littleEndianToInt(ivBytes, 20); - - // Counter reset - resetCounter(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XTEAEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XTEAEngine.java deleted file mode 100644 index 5dcb4ea1b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/engines/XTEAEngine.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * An XTEA engine. - */ -public class XTEAEngine - implements BlockCipher -{ - private static final int rounds = 32, - block_size = 8, -// key_size = 16, - delta = 0x9E3779B9; - - /* - * the expanded key array of 4 subkeys - */ - private int[] _S = new int[4], - _sum0 = new int[32], - _sum1 = new int[32]; - private boolean _initialised, - _forEncryption; - - /** - * Create an instance of the TEA encryption algorithm - * and set some defaults - */ - public XTEAEngine() - { - _initialised = false; - } - - public String getAlgorithmName() - { - return "XTEA"; - } - - public int getBlockSize() - { - return block_size; - } - - /** - * initialise - * - * @param forEncryption whether or not we are for encryption. - * @param params the parameters required to set up the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("invalid parameter passed to TEA init - " + params.getClass().getName()); - } - - _forEncryption = forEncryption; - _initialised = true; - - KeyParameter p = (KeyParameter)params; - - setKey(p.getKey()); - } - - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - if (!_initialised) - { - throw new IllegalStateException(getAlgorithmName()+" not initialised"); - } - - if ((inOff + block_size) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + block_size) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - return (_forEncryption) ? encryptBlock(in, inOff, out, outOff) - : decryptBlock(in, inOff, out, outOff); - } - - public void reset() - { - } - - /** - * Re-key the cipher. - *

    - * @param key the key to be used - */ - private void setKey( - byte[] key) - { - if (key.length != 16) - { - throw new IllegalArgumentException("Key size must be 128 bits."); - } - - int i, j; - for (i = j = 0; i < 4; i++,j+=4) - { - _S[i] = bytesToInt(key, j); - } - - for (i = j = 0; i < rounds; i++) - { - _sum0[i] = (j + _S[j & 3]); - j += delta; - _sum1[i] = (j + _S[j >>> 11 & 3]); - } - } - - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // Pack bytes into integers - int v0 = bytesToInt(in, inOff); - int v1 = bytesToInt(in, inOff + 4); - - for (int i = 0; i < rounds; i++) - { - v0 += ((v1 << 4 ^ v1 >>> 5) + v1) ^ _sum0[i]; - v1 += ((v0 << 4 ^ v0 >>> 5) + v0) ^ _sum1[i]; - } - - unpackInt(v0, out, outOff); - unpackInt(v1, out, outOff + 4); - - return block_size; - } - - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - { - // Pack bytes into integers - int v0 = bytesToInt(in, inOff); - int v1 = bytesToInt(in, inOff + 4); - - for (int i = rounds-1; i >= 0; i--) - { - v1 -= ((v0 << 4 ^ v0 >>> 5) + v0) ^ _sum1[i]; - v0 -= ((v1 << 4 ^ v1 >>> 5) + v1) ^ _sum0[i]; - } - - unpackInt(v0, out, outOff); - unpackInt(v1, out, outOff + 4); - - return block_size; - } - - private int bytesToInt(byte[] in, int inOff) - { - return ((in[inOff++]) << 24) | - ((in[inOff++] & 255) << 16) | - ((in[inOff++] & 255) << 8) | - ((in[inOff] & 255)); - } - - private void unpackInt(int v, byte[] out, int outOff) - { - out[outOff++] = (byte)(v >>> 24); - out[outOff++] = (byte)(v >>> 16); - out[outOff++] = (byte)(v >>> 8); - out[outOff ] = (byte)v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/DESExample.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/DESExample.java deleted file mode 100644 index d9e3a60da..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/DESExample.java +++ /dev/null @@ -1,419 +0,0 @@ -package org.spongycastle.crypto.examples; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.generators.DESedeKeyGenerator; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.spongycastle.crypto.params.DESedeParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; - -/** - * DESExample is a simple DES based encryptor/decryptor. - *

    - * The program is command line driven, with the input - * and output files specified on the command line. - *

    - * java org.spongycastle.crypto.examples.DESExample infile outfile [keyfile]
    - * 
    - * A new key is generated for each encryption, if key is not specified, - * then the example will assume encryption is required, and as output - * create deskey.dat in the current directory. This key is a hex - * encoded byte-stream that is used for the decryption. The output - * file is Hex encoded, 60 characters wide text file. - *

    - * When encrypting; - *

      - *
    • the infile is expected to be a byte stream (text or binary) - *
    • there is no keyfile specified on the input line - *
    - *

    - * When decrypting; - *

  • the infile is expected to be the 60 character wide base64 - * encoded file - *
  • the keyfile is expected to be a base64 encoded file - *

    - * This example shows how to use the light-weight API, DES and - * the filesystem for message encryption and decryption. - * - */ -public class DESExample extends Object -{ - // Encrypting or decrypting ? - private boolean encrypt = true; - - // To hold the initialised DESede cipher - private PaddedBufferedBlockCipher cipher = null; - - // The input stream of bytes to be processed for encryption - private BufferedInputStream in = null; - - // The output stream of bytes to be procssed - private BufferedOutputStream out = null; - - // The key - private byte[] key = null; - - /* - * start the application - */ - public static void main(String[] args) - { - boolean encrypt = true; - String infile = null; - String outfile = null; - String keyfile = null; - - if (args.length < 2) - { - DESExample de = new DESExample(); - System.err.println("Usage: java "+de.getClass().getName()+ - " infile outfile [keyfile]"); - System.exit(1); - } - - keyfile = "deskey.dat"; - infile = args[0]; - outfile = args[1]; - - if (args.length > 2) - { - encrypt = false; - keyfile = args[2]; - } - - DESExample de = new DESExample(infile, outfile, keyfile, encrypt); - de.process(); - } - - // Default constructor, used for the usage message - public DESExample() - { - } - - /* - * Constructor, that takes the arguments appropriate for - * processing the command line directives. - */ - public DESExample( - String infile, - String outfile, - String keyfile, - boolean encrypt) - { - /* - * First, determine that infile & keyfile exist as appropriate. - * - * This will also create the BufferedInputStream as required - * for reading the input file. All input files are treated - * as if they are binary, even if they contain text, it's the - * bytes that are encrypted. - */ - this.encrypt = encrypt; - try - { - in = new BufferedInputStream(new FileInputStream(infile)); - } - catch (FileNotFoundException fnf) - { - System.err.println("Input file not found ["+infile+"]"); - System.exit(1); - } - - try - { - out = new BufferedOutputStream(new FileOutputStream(outfile)); - } - catch (IOException fnf) - { - System.err.println("Output file not created ["+outfile+"]"); - System.exit(1); - } - - if (encrypt) - { - try - { - /* - * The process of creating a new key requires a - * number of steps. - * - * First, create the parameters for the key generator - * which are a secure random number generator, and - * the length of the key (in bits). - */ - SecureRandom sr = null; - try - { - sr = new SecureRandom(); - /* - * This following call to setSeed() makes the - * initialisation of the SecureRandom object - * _very_ fast, but not secure AT ALL. - * - * Remove the line, recreate the class file and - * then run DESExample again to see the difference. - * - * The initialisation of a SecureRandom object - * can take 5 or more seconds depending on the - * CPU that the program is running on. That can - * be annoying during unit testing. - * -- jon - */ - sr.setSeed("www.bouncycastle.org".getBytes()); - } - catch (Exception nsa) - { - System.err.println("Hmmm, no SHA1PRNG, you need the "+ - "Sun implementation"); - System.exit(1); - } - KeyGenerationParameters kgp = new KeyGenerationParameters( - sr, - DESedeParameters.DES_EDE_KEY_LENGTH*8); - - /* - * Second, initialise the key generator with the parameters - */ - DESedeKeyGenerator kg = new DESedeKeyGenerator(); - kg.init(kgp); - - /* - * Third, and finally, generate the key - */ - key = kg.generateKey(); - - /* - * We can now output the key to the file, but first - * hex encode the key so that we can have a look - * at it with a text editor if we so desire - */ - BufferedOutputStream keystream = - new BufferedOutputStream(new FileOutputStream(keyfile)); - byte[] keyhex = Hex.encode(key); - keystream.write(keyhex, 0, keyhex.length); - keystream.flush(); - keystream.close(); - } - catch (IOException createKey) - { - System.err.println("Could not decryption create key file "+ - "["+keyfile+"]"); - System.exit(1); - } - } - else - { - try - { - // read the key, and decode from hex encoding - BufferedInputStream keystream = - new BufferedInputStream(new FileInputStream(keyfile)); - int len = keystream.available(); - byte[] keyhex = new byte[len]; - keystream.read(keyhex, 0, len); - key = Hex.decode(keyhex); - } - catch (IOException ioe) - { - System.err.println("Decryption key file not found, "+ - "or not valid ["+keyfile+"]"); - System.exit(1); - } - } - } - - private void process() - { - /* - * Setup the DESede cipher engine, create a PaddedBufferedBlockCipher - * in CBC mode. - */ - cipher = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new DESedeEngine())); - - /* - * The input and output streams are currently set up - * appropriately, and the key bytes are ready to be - * used. - * - */ - - if (encrypt) - { - performEncrypt(key); - } - else - { - performDecrypt(key); - } - - // after processing clean up the files - try - { - in.close(); - out.flush(); - out.close(); - } - catch (IOException closing) - { - - } - } - - /* - * This method performs all the encryption and writes - * the cipher text to the buffered output stream created - * previously. - */ - private void performEncrypt(byte[] key) - { - // initialise the cipher with the key bytes, for encryption - cipher.init(true, new KeyParameter(key)); - - /* - * Create some temporary byte arrays for use in - * encryption, make them a reasonable size so that - * we don't spend forever reading small chunks from - * a file. - * - * There is no particular reason for using getBlockSize() - * to determine the size of the input chunk. It just - * was a convenient number for the example. - */ - // int inBlockSize = cipher.getBlockSize() * 5; - int inBlockSize = 47; - int outBlockSize = cipher.getOutputSize(inBlockSize); - - byte[] inblock = new byte[inBlockSize]; - byte[] outblock = new byte[outBlockSize]; - - /* - * now, read the file, and output the chunks - */ - try - { - int inL; - int outL; - byte[] rv = null; - while ((inL=in.read(inblock, 0, inBlockSize)) > 0) - { - outL = cipher.processBytes(inblock, 0, inL, outblock, 0); - /* - * Before we write anything out, we need to make sure - * that we've got something to write out. - */ - if (outL > 0) - { - rv = Hex.encode(outblock, 0, outL); - out.write(rv, 0, rv.length); - out.write('\n'); - } - } - - try - { - /* - * Now, process the bytes that are still buffered - * within the cipher. - */ - outL = cipher.doFinal(outblock, 0); - if (outL > 0) - { - rv = Hex.encode(outblock, 0, outL); - out.write(rv, 0, rv.length); - out.write('\n'); - } - } - catch (CryptoException ce) - { - - } - } - catch (IOException ioeread) - { - ioeread.printStackTrace(); - } - } - - /* - * This method performs all the decryption and writes - * the plain text to the buffered output stream created - * previously. - */ - private void performDecrypt(byte[] key) - { - // initialise the cipher for decryption - cipher.init(false, new KeyParameter(key)); - - /* - * As the decryption is from our preformatted file, - * and we know that it's a hex encoded format, then - * we wrap the InputStream with a BufferedReader - * so that we can read it easily. - */ - BufferedReader br = new BufferedReader(new InputStreamReader(in)); - - /* - * now, read the file, and output the chunks - */ - try - { - int outL; - byte[] inblock = null; - byte[] outblock = null; - String rv = null; - while ((rv = br.readLine()) != null) - { - inblock = Hex.decode(rv); - outblock = new byte[cipher.getOutputSize(inblock.length)]; - - outL = cipher.processBytes(inblock, 0, inblock.length, - outblock, 0); - /* - * Before we write anything out, we need to make sure - * that we've got something to write out. - */ - if (outL > 0) - { - out.write(outblock, 0, outL); - } - } - - try - { - /* - * Now, process the bytes that are still buffered - * within the cipher. - */ - outL = cipher.doFinal(outblock, 0); - if (outL > 0) - { - out.write(outblock, 0, outL); - } - } - catch (CryptoException ce) - { - - } - } - catch (IOException ioeread) - { - ioeread.printStackTrace(); - } - } - -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/JPAKEExample.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/JPAKEExample.java deleted file mode 100644 index 53654f516..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/examples/JPAKEExample.java +++ /dev/null @@ -1,214 +0,0 @@ -package org.spongycastle.crypto.examples; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroups; -import org.spongycastle.crypto.agreement.jpake.JPAKEParticipant; -import org.spongycastle.crypto.agreement.jpake.JPAKERound1Payload; -import org.spongycastle.crypto.agreement.jpake.JPAKERound2Payload; -import org.spongycastle.crypto.agreement.jpake.JPAKERound3Payload; -import org.spongycastle.crypto.digests.SHA256Digest; - -/** - * An example of a J-PAKE exchange. - *

    - * - * In this example, both Alice and Bob are on the same computer (in the same JVM, in fact). - * In reality, Alice and Bob would be in different locations, - * and would be sending their generated payloads to each other. - */ -public class JPAKEExample -{ - - public static void main(String args[]) throws CryptoException - { - /* - * Initialization - * - * Pick an appropriate prime order group to use throughout the exchange. - * Note that both participants must use the same group. - */ - JPAKEPrimeOrderGroup group = JPAKEPrimeOrderGroups.NIST_3072; - - BigInteger p = group.getP(); - BigInteger q = group.getQ(); - BigInteger g = group.getG(); - - String alicePassword = "password"; - String bobPassword = "password"; - - System.out.println("********* Initialization **********"); - System.out.println("Public parameters for the cyclic group:"); - System.out.println("p (" + p.bitLength() + " bits): " + p.toString(16)); - System.out.println("q (" + q.bitLength() + " bits): " + q.toString(16)); - System.out.println("g (" + p.bitLength() + " bits): " + g.toString(16)); - System.out.println("p mod q = " + p.mod(q).toString(16)); - System.out.println("g^{q} mod p = " + g.modPow(q, p).toString(16)); - System.out.println(""); - - System.out.println("(Secret passwords used by Alice and Bob: " + - "\"" + alicePassword + "\" and \"" + bobPassword + "\")\n"); - - /* - * Both participants must use the same hashing algorithm. - */ - Digest digest = new SHA256Digest(); - SecureRandom random = new SecureRandom(); - - JPAKEParticipant alice = new JPAKEParticipant("alice", alicePassword.toCharArray(), group, digest, random); - JPAKEParticipant bob = new JPAKEParticipant("bob", bobPassword.toCharArray(), group, digest, random); - - /* - * Round 1 - * - * Alice and Bob each generate a round 1 payload, and send it to each other. - */ - - JPAKERound1Payload aliceRound1Payload = alice.createRound1PayloadToSend(); - JPAKERound1Payload bobRound1Payload = bob.createRound1PayloadToSend(); - - System.out.println("************ Round 1 **************"); - System.out.println("Alice sends to Bob: "); - System.out.println("g^{x1}=" + aliceRound1Payload.getGx1().toString(16)); - System.out.println("g^{x2}=" + aliceRound1Payload.getGx2().toString(16)); - System.out.println("KP{x1}={" + aliceRound1Payload.getKnowledgeProofForX1()[0].toString(16) + "};{" + aliceRound1Payload.getKnowledgeProofForX1()[1].toString(16) + "}"); - System.out.println("KP{x2}={" + aliceRound1Payload.getKnowledgeProofForX2()[0].toString(16) + "};{" + aliceRound1Payload.getKnowledgeProofForX2()[1].toString(16) + "}"); - System.out.println(""); - - System.out.println("Bob sends to Alice: "); - System.out.println("g^{x3}=" + bobRound1Payload.getGx1().toString(16)); - System.out.println("g^{x4}=" + bobRound1Payload.getGx2().toString(16)); - System.out.println("KP{x3}={" + bobRound1Payload.getKnowledgeProofForX1()[0].toString(16) + "};{" + bobRound1Payload.getKnowledgeProofForX1()[1].toString(16) + "}"); - System.out.println("KP{x4}={" + bobRound1Payload.getKnowledgeProofForX2()[0].toString(16) + "};{" + bobRound1Payload.getKnowledgeProofForX2()[1].toString(16) + "}"); - System.out.println(""); - - /* - * Each participant must then validate the received payload for round 1 - */ - - alice.validateRound1PayloadReceived(bobRound1Payload); - System.out.println("Alice checks g^{x4}!=1: OK"); - System.out.println("Alice checks KP{x3}: OK"); - System.out.println("Alice checks KP{x4}: OK"); - System.out.println(""); - - bob.validateRound1PayloadReceived(aliceRound1Payload); - System.out.println("Bob checks g^{x2}!=1: OK"); - System.out.println("Bob checks KP{x1},: OK"); - System.out.println("Bob checks KP{x2},: OK"); - System.out.println(""); - - /* - * Round 2 - * - * Alice and Bob each generate a round 2 payload, and send it to each other. - */ - - JPAKERound2Payload aliceRound2Payload = alice.createRound2PayloadToSend(); - JPAKERound2Payload bobRound2Payload = bob.createRound2PayloadToSend(); - - System.out.println("************ Round 2 **************"); - System.out.println("Alice sends to Bob: "); - System.out.println("A=" + aliceRound2Payload.getA().toString(16)); - System.out.println("KP{x2*s}={" + aliceRound2Payload.getKnowledgeProofForX2s()[0].toString(16) + "},{" + aliceRound2Payload.getKnowledgeProofForX2s()[1].toString(16) + "}"); - System.out.println(""); - - System.out.println("Bob sends to Alice"); - System.out.println("B=" + bobRound2Payload.getA().toString(16)); - System.out.println("KP{x4*s}={" + bobRound2Payload.getKnowledgeProofForX2s()[0].toString(16) + "},{" + bobRound2Payload.getKnowledgeProofForX2s()[1].toString(16) + "}"); - System.out.println(""); - - /* - * Each participant must then validate the received payload for round 2 - */ - - alice.validateRound2PayloadReceived(bobRound2Payload); - System.out.println("Alice checks KP{x4*s}: OK\n"); - - bob.validateRound2PayloadReceived(aliceRound2Payload); - System.out.println("Bob checks KP{x2*s}: OK\n"); - - /* - * After round 2, each participant computes the keying material. - */ - - BigInteger aliceKeyingMaterial = alice.calculateKeyingMaterial(); - BigInteger bobKeyingMaterial = bob.calculateKeyingMaterial(); - - System.out.println("********* After round 2 ***********"); - System.out.println("Alice computes key material \t K=" + aliceKeyingMaterial.toString(16)); - System.out.println("Bob computes key material \t K=" + bobKeyingMaterial.toString(16)); - System.out.println(); - - - /* - * You must derive a session key from the keying material applicable - * to whatever encryption algorithm you want to use. - */ - - BigInteger aliceKey = deriveSessionKey(aliceKeyingMaterial); - BigInteger bobKey = deriveSessionKey(bobKeyingMaterial); - - /* - * At this point, you can stop and use the session keys if you want. - * This is implicit key confirmation. - * - * If you want to explicitly confirm that the key material matches, - * you can continue on and perform round 3. - */ - - /* - * Round 3 - * - * Alice and Bob each generate a round 3 payload, and send it to each other. - */ - - JPAKERound3Payload aliceRound3Payload = alice.createRound3PayloadToSend(aliceKeyingMaterial); - JPAKERound3Payload bobRound3Payload = bob.createRound3PayloadToSend(bobKeyingMaterial); - - System.out.println("************ Round 3 **************"); - System.out.println("Alice sends to Bob: "); - System.out.println("MacTag=" + aliceRound3Payload.getMacTag().toString(16)); - System.out.println(""); - System.out.println("Bob sends to Alice: "); - System.out.println("MacTag=" + bobRound3Payload.getMacTag().toString(16)); - System.out.println(""); - - /* - * Each participant must then validate the received payload for round 3 - */ - - alice.validateRound3PayloadReceived(bobRound3Payload, aliceKeyingMaterial); - System.out.println("Alice checks MacTag: OK\n"); - - bob.validateRound3PayloadReceived(aliceRound3Payload, bobKeyingMaterial); - System.out.println("Bob checks MacTag: OK\n"); - - System.out.println(); - System.out.println("MacTags validated, therefore the keying material matches."); - } - - private static BigInteger deriveSessionKey(BigInteger keyingMaterial) - { - /* - * You should use a secure key derivation function (KDF) to derive the session key. - * - * For the purposes of this example, I'm just going to use a hash of the keying material. - */ - SHA256Digest digest = new SHA256Digest(); - - byte[] keyByteArray = keyingMaterial.toByteArray(); - - byte[] output = new byte[digest.getDigestSize()]; - - digest.update(keyByteArray, 0, keyByteArray.length); - - digest.doFinal(output, 0); - - return new BigInteger(output); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/BaseKDFBytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/BaseKDFBytesGenerator.java deleted file mode 100644 index fc0faf50b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/BaseKDFBytesGenerator.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.DigestDerivationFunction; -import org.spongycastle.crypto.params.ISO18033KDFParameters; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.crypto.util.Pack; - -/** - * Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO - * 18033
    - * This implementation is based on ISO 18033/P1363a. - */ -public class BaseKDFBytesGenerator - implements DigestDerivationFunction -{ - private int counterStart; - private Digest digest; - private byte[] shared; - private byte[] iv; - - /** - * Construct a KDF Parameters generator. - *

    - * - * @param counterStart - * value of counter. - * @param digest - * the digest to be used as the source of derived keys. - */ - protected BaseKDFBytesGenerator(int counterStart, Digest digest) - { - this.counterStart = counterStart; - this.digest = digest; - } - - public void init(DerivationParameters param) - { - if (param instanceof KDFParameters) - { - KDFParameters p = (KDFParameters)param; - - shared = p.getSharedSecret(); - iv = p.getIV(); - } - else if (param instanceof ISO18033KDFParameters) - { - ISO18033KDFParameters p = (ISO18033KDFParameters)param; - - shared = p.getSeed(); - iv = null; - } - else - { - throw new IllegalArgumentException("KDF parameters required for KDF2Generator"); - } - } - - /** - * return the underlying digest. - */ - public Digest getDigest() - { - return digest; - } - - /** - * fill len bytes of the output buffer with bytes generated from the - * derivation function. - * - * @throws IllegalArgumentException - * if the size of the request will cause an overflow. - * @throws DataLengthException - * if the out buffer is too small. - */ - public int generateBytes(byte[] out, int outOff, int len) throws DataLengthException, - IllegalArgumentException - { - if ((out.length - len) < outOff) - { - throw new DataLengthException("output buffer too small"); - } - - long oBytes = len; - int outLen = digest.getDigestSize(); - - // - // this is at odds with the standard implementation, the - // maximum value should be hBits * (2^32 - 1) where hBits - // is the digest output size in bits. We can't have an - // array with a long index at the moment... - // - if (oBytes > ((2L << 32) - 1)) - { - throw new IllegalArgumentException("Output length too large"); - } - - int cThreshold = (int)((oBytes + outLen - 1) / outLen); - - byte[] dig = new byte[digest.getDigestSize()]; - - byte[] C = new byte[4]; - Pack.intToBigEndian(counterStart, C, 0); - - int counterBase = counterStart & ~0xFF; - - for (int i = 0; i < cThreshold; i++) - { - digest.update(shared, 0, shared.length); - digest.update(C, 0, C.length); - - if (iv != null) - { - digest.update(iv, 0, iv.length); - } - - digest.doFinal(dig, 0); - - if (len > outLen) - { - System.arraycopy(dig, 0, out, outOff, outLen); - outOff += outLen; - len -= outLen; - } - else - { - System.arraycopy(dig, 0, out, outOff, len); - } - - if (++C[3] == 0) - { - counterBase += 0x100; - Pack.intToBigEndian(counterBase, C, 0); - } - } - - digest.reset(); - - return (int)oBytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESKeyGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESKeyGenerator.java deleted file mode 100644 index ef6894f52..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESKeyGenerator.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherKeyGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DESParameters; - -public class DESKeyGenerator - extends CipherKeyGenerator -{ - /** - * initialise the key generator - if strength is set to zero - * the key generated will be 64 bits in size, otherwise - * strength can be 64 or 56 bits (if you don't count the parity bits). - * - * @param param the parameters to be used for key generation - */ - public void init( - KeyGenerationParameters param) - { - super.init(param); - - if (strength == 0 || strength == (56 / 8)) - { - strength = DESParameters.DES_KEY_LENGTH; - } - else if (strength != DESParameters.DES_KEY_LENGTH) - { - throw new IllegalArgumentException("DES key must be " - + (DESParameters.DES_KEY_LENGTH * 8) - + " bits long."); - } - } - - public byte[] generateKey() - { - byte[] newKey = new byte[DESParameters.DES_KEY_LENGTH]; - - do - { - random.nextBytes(newKey); - - DESParameters.setOddParity(newKey); - } - while (DESParameters.isWeakKey(newKey, 0)); - - return newKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESedeKeyGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESedeKeyGenerator.java deleted file mode 100644 index c22cc172d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DESedeKeyGenerator.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DESedeParameters; - -public class DESedeKeyGenerator - extends DESKeyGenerator -{ - /** - * initialise the key generator - if strength is set to zero - * the key generated will be 192 bits in size, otherwise - * strength can be 128 or 192 (or 112 or 168 if you don't count - * parity bits), depending on whether you wish to do 2-key or 3-key - * triple DES. - * - * @param param the parameters to be used for key generation - */ - public void init( - KeyGenerationParameters param) - { - this.random = param.getRandom(); - this.strength = (param.getStrength() + 7) / 8; - - if (strength == 0 || strength == (168 / 8)) - { - strength = DESedeParameters.DES_EDE_KEY_LENGTH; - } - else if (strength == (112 / 8)) - { - strength = 2 * DESedeParameters.DES_KEY_LENGTH; - } - else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH - && strength != (2 * DESedeParameters.DES_KEY_LENGTH)) - { - throw new IllegalArgumentException("DESede key must be " - + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or " - + (2 * 8 * DESedeParameters.DES_KEY_LENGTH) - + " bits long."); - } - } - - public byte[] generateKey() - { - byte[] newKey = new byte[strength]; - - do - { - random.nextBytes(newKey); - - DESedeParameters.setOddParity(newKey); - } - while (DESedeParameters.isWeakKey(newKey, 0, newKey.length)); - - return newKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHBasicKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHBasicKeyPairGenerator.java deleted file mode 100644 index be5e34f87..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHBasicKeyPairGenerator.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; - -import java.math.BigInteger; - -/** - * a basic Diffie-Hellman key pair generator. - * - * This generates keys consistent for use with the basic algorithm for - * Diffie-Hellman. - */ -public class DHBasicKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private DHKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (DHKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE; - DHParameters dhp = param.getParameters(); - - BigInteger x = helper.calculatePrivate(dhp, param.getRandom()); - BigInteger y = helper.calculatePublic(dhp, x); - - return new AsymmetricCipherKeyPair( - new DHPublicKeyParameters(y, dhp), - new DHPrivateKeyParameters(x, dhp)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyGeneratorHelper.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyGeneratorHelper.java deleted file mode 100644 index b987e5b1c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyGeneratorHelper.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.util.BigIntegers; - -class DHKeyGeneratorHelper -{ - static final DHKeyGeneratorHelper INSTANCE = new DHKeyGeneratorHelper(); - - private static final BigInteger ONE = BigInteger.valueOf(1); - private static final BigInteger TWO = BigInteger.valueOf(2); - - private DHKeyGeneratorHelper() - { - } - - BigInteger calculatePrivate(DHParameters dhParams, SecureRandom random) - { - BigInteger p = dhParams.getP(); - int limit = dhParams.getL(); - - if (limit != 0) - { - return new BigInteger(limit, random).setBit(limit - 1); - } - - BigInteger min = TWO; - int m = dhParams.getM(); - if (m != 0) - { - min = ONE.shiftLeft(m - 1); - } - - BigInteger max = p.subtract(TWO); - BigInteger q = dhParams.getQ(); - if (q != null) - { - max = q.subtract(TWO); - } - - return BigIntegers.createRandomInRange(min, max, random); - } - - BigInteger calculatePublic(DHParameters dhParams, BigInteger x) - { - return dhParams.getG().modPow(x, dhParams.getP()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyPairGenerator.java deleted file mode 100644 index f87b416fa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHKeyPairGenerator.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; - -import java.math.BigInteger; - -/** - * a Diffie-Hellman key pair generator. - * - * This generates keys consistent for use in the MTI/A0 key agreement protocol - * as described in "Handbook of Applied Cryptography", Pages 516-519. - */ -public class DHKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private DHKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (DHKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE; - DHParameters dhp = param.getParameters(); - - BigInteger x = helper.calculatePrivate(dhp, param.getRandom()); - BigInteger y = helper.calculatePublic(dhp, x); - - return new AsymmetricCipherKeyPair( - new DHPublicKeyParameters(y, dhp), - new DHPrivateKeyParameters(x, dhp)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersGenerator.java deleted file mode 100644 index 894c3804b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersGenerator.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.params.DHParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; - -public class DHParametersGenerator -{ - private int size; - private int certainty; - private SecureRandom random; - - private static final BigInteger TWO = BigInteger.valueOf(2); - - /** - * Initialise the parameters generator. - * - * @param size bit length for the prime p - * @param certainty level of certainty for the prime number tests - * @param random a source of randomness - */ - public void init( - int size, - int certainty, - SecureRandom random) - { - this.size = size; - this.certainty = certainty; - this.random = random; - } - - /** - * which generates the p and g values from the given parameters, - * returning the DHParameters object. - *

    - * Note: can take a while... - */ - public DHParameters generateParameters() - { - // - // find a safe prime p where p = 2*q + 1, where p and q are prime. - // - BigInteger[] safePrimes = DHParametersHelper.generateSafePrimes(size, certainty, random); - - BigInteger p = safePrimes[0]; - BigInteger q = safePrimes[1]; - BigInteger g = DHParametersHelper.selectGenerator(p, q, random); - - return new DHParameters(p, g, q, TWO, null); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersHelper.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersHelper.java deleted file mode 100644 index af6db5012..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DHParametersHelper.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.util.BigIntegers; - -class DHParametersHelper -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - private static final BigInteger TWO = BigInteger.valueOf(2); - - /* - * Finds a pair of prime BigInteger's {p, q: p = 2q + 1} - * - * (see: Handbook of Applied Cryptography 4.86) - */ - static BigInteger[] generateSafePrimes(int size, int certainty, SecureRandom random) - { - BigInteger p, q; - int qLength = size - 1; - - for (;;) - { - q = new BigInteger(qLength, 2, random); - - // p <- 2q + 1 - p = q.shiftLeft(1).add(ONE); - - if (p.isProbablePrime(certainty) && (certainty <= 2 || q.isProbablePrime(certainty))) - { - break; - } - } - - return new BigInteger[] { p, q }; - } - - /* - * Select a high order element of the multiplicative group Zp* - * - * p and q must be s.t. p = 2*q + 1, where p and q are prime (see generateSafePrimes) - */ - static BigInteger selectGenerator(BigInteger p, BigInteger q, SecureRandom random) - { - BigInteger pMinusTwo = p.subtract(TWO); - BigInteger g; - - /* - * (see: Handbook of Applied Cryptography 4.80) - */ -// do -// { -// g = BigIntegers.createRandomInRange(TWO, pMinusTwo, random); -// } -// while (g.modPow(TWO, p).equals(ONE) || g.modPow(q, p).equals(ONE)); - - - /* - * RFC 2631 2.2.1.2 (and see: Handbook of Applied Cryptography 4.81) - */ - do - { - BigInteger h = BigIntegers.createRandomInRange(TWO, pMinusTwo, random); - - g = h.modPow(TWO, p); - } - while (g.equals(ONE)); - - - return g; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAKeyPairGenerator.java deleted file mode 100644 index 609f2f3a1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAKeyPairGenerator.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DSAKeyGenerationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.util.BigIntegers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * a DSA key pair generator. - * - * This generates DSA keys in line with the method described - * in FIPS 186-3 B.1 FFC Key Pair Generation. - */ -public class DSAKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private DSAKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (DSAKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - DSAParameters dsaParams = param.getParameters(); - - BigInteger x = generatePrivateKey(dsaParams.getQ(), param.getRandom()); - BigInteger y = calculatePublicKey(dsaParams.getP(), dsaParams.getG(), x); - - return new AsymmetricCipherKeyPair( - new DSAPublicKeyParameters(y, dsaParams), - new DSAPrivateKeyParameters(x, dsaParams)); - } - - private static BigInteger generatePrivateKey(BigInteger q, SecureRandom random) - { - // TODO Prefer this method? (change test cases that used fixed random) - // B.1.1 Key Pair Generation Using Extra Random Bits -// BigInteger c = new BigInteger(q.bitLength() + 64, random); -// return c.mod(q.subtract(ONE)).add(ONE); - - // B.1.2 Key Pair Generation by Testing Candidates - return BigIntegers.createRandomInRange(ONE, q.subtract(ONE), random); - } - - private static BigInteger calculatePublicKey(BigInteger p, BigInteger g, BigInteger x) - { - return g.modPow(x, p); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAParametersGenerator.java deleted file mode 100644 index d89a776eb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSAParametersGenerator.java +++ /dev/null @@ -1,387 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.DSAParameterGenerationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAValidationParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; - -/** - * Generate suitable parameters for DSA, in line with FIPS 186-2, or FIPS 186-3. - */ -public class DSAParametersGenerator -{ - private Digest digest; - private int L, N; - private int certainty; - private SecureRandom random; - - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - private static final BigInteger TWO = BigInteger.valueOf(2); - - private boolean use186_3; - private int usageIndex; - - public DSAParametersGenerator() - { - this(new SHA1Digest()); - } - - public DSAParametersGenerator(Digest digest) - { - this.digest = digest; - } - - /** - * initialise the key generator. - * - * @param size size of the key (range 2^512 -> 2^1024 - 64 bit increments) - * @param certainty measure of robustness of prime (for FIPS 186-2 compliance this should be at least 80). - * @param random random byte source. - */ - public void init( - int size, - int certainty, - SecureRandom random) - { - this.use186_3 = false; - this.L = size; - this.N = getDefaultN(size); - this.certainty = certainty; - this.random = random; - } - - /** - * Initialise the key generator for DSA 2. - *

    - * Use this init method if you need to generate parameters for DSA 2 keys. - *

    - * - * @param params DSA 2 key generation parameters. - */ - public void init( - DSAParameterGenerationParameters params) - { - // TODO Should we enforce the minimum 'certainty' values as per C.3 Table C.1? - this.use186_3 = true; - this.L = params.getL(); - this.N = params.getN(); - this.certainty = params.getCertainty(); - this.random = params.getRandom(); - this.usageIndex = params.getUsageIndex(); - - if ((L < 1024 || L > 3072) || L % 1024 != 0) - { - throw new IllegalArgumentException("L values must be between 1024 and 3072 and a multiple of 1024"); - } - else if (L == 1024 && N != 160) - { - throw new IllegalArgumentException("N must be 160 for L = 1024"); - } - else if (L == 2048 && (N != 224 && N != 256)) - { - throw new IllegalArgumentException("N must be 224 or 256 for L = 2048"); - } - else if (L == 3072 && N != 256) - { - throw new IllegalArgumentException("N must be 256 for L = 3072"); - } - - if (digest.getDigestSize() * 8 < N) - { - throw new IllegalStateException("Digest output size too small for value of N"); - } - } - - /** - * which generates the p and g values from the given parameters, - * returning the DSAParameters object. - *

    - * Note: can take a while... - */ - public DSAParameters generateParameters() - { - return (use186_3) - ? generateParameters_FIPS186_3() - : generateParameters_FIPS186_2(); - } - - private DSAParameters generateParameters_FIPS186_2() - { - byte[] seed = new byte[20]; - byte[] part1 = new byte[20]; - byte[] part2 = new byte[20]; - byte[] u = new byte[20]; - int n = (L - 1) / 160; - byte[] w = new byte[L / 8]; - - if (!(digest instanceof SHA1Digest)) - { - throw new IllegalStateException("can only use SHA-1 for generating FIPS 186-2 parameters"); - } - - for (;;) - { - random.nextBytes(seed); - - hash(digest, seed, part1); - System.arraycopy(seed, 0, part2, 0, seed.length); - inc(part2); - hash(digest, part2, part2); - - for (int i = 0; i != u.length; i++) - { - u[i] = (byte)(part1[i] ^ part2[i]); - } - - u[0] |= (byte)0x80; - u[19] |= (byte)0x01; - - BigInteger q = new BigInteger(1, u); - - if (!q.isProbablePrime(certainty)) - { - continue; - } - - byte[] offset = Arrays.clone(seed); - inc(offset); - - for (int counter = 0; counter < 4096; ++counter) - { - for (int k = 0; k < n; k++) - { - inc(offset); - hash(digest, offset, part1); - System.arraycopy(part1, 0, w, w.length - (k + 1) * part1.length, part1.length); - } - - inc(offset); - hash(digest, offset, part1); - System.arraycopy(part1, part1.length - ((w.length - (n) * part1.length)), w, 0, w.length - n * part1.length); - - w[0] |= (byte)0x80; - - BigInteger x = new BigInteger(1, w); - - BigInteger c = x.mod(q.shiftLeft(1)); - - BigInteger p = x.subtract(c.subtract(ONE)); - - if (p.bitLength() != L) - { - continue; - } - - if (p.isProbablePrime(certainty)) - { - BigInteger g = calculateGenerator_FIPS186_2(p, q, random); - - return new DSAParameters(p, q, g, new DSAValidationParameters(seed, counter)); - } - } - } - } - - private static BigInteger calculateGenerator_FIPS186_2(BigInteger p, BigInteger q, SecureRandom r) - { - BigInteger e = p.subtract(ONE).divide(q); - BigInteger pSub2 = p.subtract(TWO); - - for (;;) - { - BigInteger h = BigIntegers.createRandomInRange(TWO, pSub2, r); - BigInteger g = h.modPow(e, p); - if (g.bitLength() > 1) - { - return g; - } - } - } - - /** - * generate suitable parameters for DSA, in line with - * FIPS 186-3 A.1 Generation of the FFC Primes p and q. - */ - private DSAParameters generateParameters_FIPS186_3() - { -// A.1.1.2 Generation of the Probable Primes p and q Using an Approved Hash Function - // FIXME This should be configurable (digest size in bits must be >= N) - Digest d = digest; - int outlen = d.getDigestSize() * 8; - -// 1. Check that the (L, N) pair is in the list of acceptable (L, N pairs) (see Section 4.2). If -// the pair is not in the list, then return INVALID. - // Note: checked at initialisation - -// 2. If (seedlen < N), then return INVALID. - // FIXME This should be configurable (must be >= N) - int seedlen = N; - byte[] seed = new byte[seedlen / 8]; - -// 3. n = ceiling(L / outlen) - 1. - int n = (L - 1) / outlen; - -// 4. b = L - 1 - (n * outlen). - int b = (L - 1) % outlen; - - byte[] output = new byte[d.getDigestSize()]; - for (;;) - { -// 5. Get an arbitrary sequence of seedlen bits as the domain_parameter_seed. - random.nextBytes(seed); - -// 6. U = Hash (domain_parameter_seed) mod 2^(N–1). - hash(d, seed, output); - - BigInteger U = new BigInteger(1, output).mod(ONE.shiftLeft(N - 1)); - -// 7. q = 2^(N–1) + U + 1 – ( U mod 2). - BigInteger q = ONE.shiftLeft(N - 1).add(U).add(ONE).subtract(U.mod(TWO)); - -// 8. Test whether or not q is prime as specified in Appendix C.3. - // TODO Review C.3 for primality checking - if (!q.isProbablePrime(certainty)) - { -// 9. If q is not a prime, then go to step 5. - continue; - } - -// 10. offset = 1. - // Note: 'offset' value managed incrementally - byte[] offset = Arrays.clone(seed); - -// 11. For counter = 0 to (4L – 1) do - int counterLimit = 4 * L; - for (int counter = 0; counter < counterLimit; ++counter) - { -// 11.1 For j = 0 to n do -// Vj = Hash ((domain_parameter_seed + offset + j) mod 2^seedlen). -// 11.2 W = V0 + (V1 ∗ 2^outlen) + ... + (V^(n–1) ∗ 2^((n–1) ∗ outlen)) + ((Vn mod 2^b) ∗ 2^(n ∗ outlen)). - // TODO Assemble w as a byte array - BigInteger W = ZERO; - for (int j = 0, exp = 0; j <= n; ++j, exp += outlen) - { - inc(offset); - hash(d, offset, output); - - BigInteger Vj = new BigInteger(1, output); - if (j == n) - { - Vj = Vj.mod(ONE.shiftLeft(b)); - } - - W = W.add(Vj.shiftLeft(exp)); - } - -// 11.3 X = W + 2^(L–1). Comment: 0 ≤ W < 2L–1; hence, 2L–1 ≤ X < 2L. - BigInteger X = W.add(ONE.shiftLeft(L - 1)); - -// 11.4 c = X mod 2q. - BigInteger c = X.mod(q.shiftLeft(1)); - -// 11.5 p = X - (c - 1). Comment: p ≡ 1 (mod 2q). - BigInteger p = X.subtract(c.subtract(ONE)); - -// 11.6 If (p < 2^(L - 1)), then go to step 11.9 - if (p.bitLength() != L) - { - continue; - } - -// 11.7 Test whether or not p is prime as specified in Appendix C.3. - // TODO Review C.3 for primality checking - if (p.isProbablePrime(certainty)) - { -// 11.8 If p is determined to be prime, then return VALID and the values of p, q and -// (optionally) the values of domain_parameter_seed and counter. - if (usageIndex >= 0) - { - BigInteger g = calculateGenerator_FIPS186_3_Verifiable(d, p, q, seed, usageIndex); - if (g != null) - { - return new DSAParameters(p, q, g, new DSAValidationParameters(seed, counter, usageIndex)); - } - } - - BigInteger g = calculateGenerator_FIPS186_3_Unverifiable(p, q, random); - - return new DSAParameters(p, q, g, new DSAValidationParameters(seed, counter)); - } - -// 11.9 offset = offset + n + 1. Comment: Increment offset; then, as part of -// the loop in step 11, increment counter; if -// counter < 4L, repeat steps 11.1 through 11.8. - // Note: 'offset' value already incremented in inner loop - } -// 12. Go to step 5. - } - } - - private static BigInteger calculateGenerator_FIPS186_3_Unverifiable(BigInteger p, BigInteger q, - SecureRandom r) - { - return calculateGenerator_FIPS186_2(p, q, r); - } - - private static BigInteger calculateGenerator_FIPS186_3_Verifiable(Digest d, BigInteger p, BigInteger q, - byte[] seed, int index) - { -// A.2.3 Verifiable Canonical Generation of the Generator g - BigInteger e = p.subtract(ONE).divide(q); - byte[] ggen = Hex.decode("6767656E"); - - // 7. U = domain_parameter_seed || "ggen" || index || count. - byte[] U = new byte[seed.length + ggen.length + 1 + 2]; - System.arraycopy(seed, 0, U, 0, seed.length); - System.arraycopy(ggen, 0, U, seed.length, ggen.length); - U[U.length - 3] = (byte)index; - - byte[] w = new byte[d.getDigestSize()]; - for (int count = 1; count < (1 << 16); ++count) - { - inc(U); - hash(d, U, w); - BigInteger W = new BigInteger(1, w); - BigInteger g = W.modPow(e, p); - if (g.compareTo(TWO) >= 0) - { - return g; - } - } - - return null; - } - - private static void hash(Digest d, byte[] input, byte[] output) - { - d.update(input, 0, input.length); - d.doFinal(output, 0); - } - - private static int getDefaultN(int L) - { - return L > 1024 ? 256 : 160; - } - - private static void inc(byte[] buf) - { - for (int i = buf.length - 1; i >= 0; --i) - { - byte b = (byte)((buf[i] + 1) & 0xff); - buf[i] = b; - - if (b != 0) - { - break; - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSTU4145KeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSTU4145KeyPairGenerator.java deleted file mode 100644 index 47740485d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/DSTU4145KeyPairGenerator.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; - -public class DSTU4145KeyPairGenerator - extends ECKeyPairGenerator -{ - public AsymmetricCipherKeyPair generateKeyPair() - { - AsymmetricCipherKeyPair pair = super.generateKeyPair(); - - ECPublicKeyParameters pub = (ECPublicKeyParameters)pair.getPublic(); - ECPrivateKeyParameters priv = (ECPrivateKeyParameters)pair.getPrivate(); - - pub = new ECPublicKeyParameters(pub.getQ().negate(), pub.getParameters()); - - return new AsymmetricCipherKeyPair(pub, priv); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java deleted file mode 100644 index 1b59a7b60..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECPoint; - -public class ECKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator, ECConstants -{ - ECDomainParameters params; - SecureRandom random; - - public void init( - KeyGenerationParameters param) - { - ECKeyGenerationParameters ecP = (ECKeyGenerationParameters)param; - - this.random = ecP.getRandom(); - this.params = ecP.getDomainParameters(); - - if (this.random == null) - { - this.random = new SecureRandom(); - } - } - - /** - * Given the domain parameters this routine generates an EC key - * pair in accordance with X9.62 section 5.2.1 pages 26, 27. - */ - public AsymmetricCipherKeyPair generateKeyPair() - { - BigInteger n = params.getN(); - int nBitLength = n.bitLength(); - BigInteger d; - - do - { - d = new BigInteger(nBitLength, random); - } - while (d.equals(ZERO) || (d.compareTo(n) >= 0)); - - ECPoint Q = params.getG().multiply(d); - - return new AsymmetricCipherKeyPair( - new ECPublicKeyParameters(Q, params), - new ECPrivateKeyParameters(d, params)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalKeyPairGenerator.java deleted file mode 100644 index cb0a9fcf5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalKeyPairGenerator.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.ElGamalKeyGenerationParameters; -import org.spongycastle.crypto.params.ElGamalParameters; -import org.spongycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.spongycastle.crypto.params.ElGamalPublicKeyParameters; - -/** - * a ElGamal key pair generator. - *

    - * This generates keys consistent for use with ElGamal as described in - * page 164 of "Handbook of Applied Cryptography". - */ -public class ElGamalKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private ElGamalKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (ElGamalKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE; - ElGamalParameters egp = param.getParameters(); - DHParameters dhp = new DHParameters(egp.getP(), egp.getG(), null, egp.getL()); - - BigInteger x = helper.calculatePrivate(dhp, param.getRandom()); - BigInteger y = helper.calculatePublic(dhp, x); - - return new AsymmetricCipherKeyPair( - new ElGamalPublicKeyParameters(y, egp), - new ElGamalPrivateKeyParameters(x, egp)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalParametersGenerator.java deleted file mode 100644 index 863a8f4a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ElGamalParametersGenerator.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.params.ElGamalParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; - -public class ElGamalParametersGenerator -{ - private int size; - private int certainty; - private SecureRandom random; - - public void init( - int size, - int certainty, - SecureRandom random) - { - this.size = size; - this.certainty = certainty; - this.random = random; - } - - /** - * which generates the p and g values from the given parameters, - * returning the ElGamalParameters object. - *

    - * Note: can take a while... - */ - public ElGamalParameters generateParameters() - { - // - // find a safe prime p where p = 2*q + 1, where p and q are prime. - // - BigInteger[] safePrimes = DHParametersHelper.generateSafePrimes(size, certainty, random); - - BigInteger p = safePrimes[0]; - BigInteger q = safePrimes[1]; - BigInteger g = DHParametersHelper.selectGenerator(p, q, random); - - return new ElGamalParameters(p, g); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/EphemeralKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/EphemeralKeyPairGenerator.java deleted file mode 100644 index d3048b3be..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/EphemeralKeyPairGenerator.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.EphemeralKeyPair; -import org.spongycastle.crypto.KeyEncoder; - -public class EphemeralKeyPairGenerator -{ - private AsymmetricCipherKeyPairGenerator gen; - private KeyEncoder keyEncoder; - - public EphemeralKeyPairGenerator(AsymmetricCipherKeyPairGenerator gen, KeyEncoder keyEncoder) - { - this.gen = gen; - this.keyEncoder = keyEncoder; - } - - public EphemeralKeyPair generate() - { - AsymmetricCipherKeyPair eph = gen.generateKeyPair(); - - // Encode the ephemeral public key - return new EphemeralKeyPair(eph, keyEncoder); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410KeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410KeyPairGenerator.java deleted file mode 100644 index 55bcdbca9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410KeyPairGenerator.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.GOST3410KeyGenerationParameters; -import org.spongycastle.crypto.params.GOST3410Parameters; -import org.spongycastle.crypto.params.GOST3410PrivateKeyParameters; -import org.spongycastle.crypto.params.GOST3410PublicKeyParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * a GOST3410 key pair generator. - * This generates GOST3410 keys in line with the method described - * in GOST R 34.10-94. - */ -public class GOST3410KeyPairGenerator - implements AsymmetricCipherKeyPairGenerator - { - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private GOST3410KeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (GOST3410KeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - BigInteger p, q, a, x, y; - GOST3410Parameters GOST3410Params = param.getParameters(); - SecureRandom random = param.getRandom(); - - q = GOST3410Params.getQ(); - p = GOST3410Params.getP(); - a = GOST3410Params.getA(); - - do - { - x = new BigInteger(256, random); - } - while (x.equals(ZERO) || x.compareTo(q) >= 0); - - // - // calculate the public key. - // - y = a.modPow(x, p); - - return new AsymmetricCipherKeyPair( - new GOST3410PublicKeyParameters(y, GOST3410Params), - new GOST3410PrivateKeyParameters(x, GOST3410Params)); - } - } diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410ParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410ParametersGenerator.java deleted file mode 100644 index c4e57127c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/GOST3410ParametersGenerator.java +++ /dev/null @@ -1,541 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.params.GOST3410Parameters; -import org.spongycastle.crypto.params.GOST3410ValidationParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * generate suitable parameters for GOST3410. - */ -public class GOST3410ParametersGenerator -{ - private int size; - private int typeproc; - private SecureRandom init_random; - - private static final BigInteger ONE = BigInteger.valueOf(1); - private static final BigInteger TWO = BigInteger.valueOf(2); - - /** - * initialise the key generator. - * - * @param size size of the key - * @param typeproc type procedure A,B = 1; A',B' - else - * @param random random byte source. - */ - public void init( - int size, - int typeproc, - SecureRandom random) - { - this.size = size; - this.typeproc = typeproc; - this.init_random = random; - } - - //Procedure A - private int procedure_A(int x0, int c, BigInteger[] pq, int size) - { - //Verify and perform condition: 065536) - { - x0 = init_random.nextInt()/32768; - } - - while((c<0 || c>65536) || (c/2==0)) - { - c = init_random.nextInt()/32768 + 1; - } - - BigInteger C = new BigInteger(Integer.toString(c)); - BigInteger constA16 = new BigInteger("19381"); - - //step1 - BigInteger[] y = new BigInteger[1]; // begin length = 1 - y[0] = new BigInteger(Integer.toString(x0)); - - //step 2 - int[] t = new int[1]; // t - orders; begin length = 1 - t[0] = size; - int s = 0; - for (int i=0; t[i]>=17; i++) - { - // extension array t - int tmp_t[] = new int[t.length + 1]; /////////////// - System.arraycopy(t,0,tmp_t,0,t.length); // extension - t = new int[tmp_t.length]; // array t - System.arraycopy(tmp_t, 0, t, 0, tmp_t.length); /////////////// - - t[i+1] = t[i]/2; - s = i+1; - } - - //step3 - BigInteger p[] = new BigInteger[s+1]; - p[s] = new BigInteger("8003",16); //set min prime number length 16 bit - - int m = s-1; //step4 - - for (int i=0; i=0) - { - break; //step 14 - } - else - { - pq[0] = p[0]; - pq[1] = p[1]; - return y[0].intValue(); //return for procedure B step 2 - } - } - } - return y[0].intValue(); - } - - //Procedure A' - private long procedure_Aa(long x0, long c, BigInteger[] pq, int size) - { - //Verify and perform condition: 04294967296L) - { - x0 = init_random.nextInt()*2; - } - - while((c<0 || c>4294967296L) || (c/2==0)) - { - c = init_random.nextInt()*2+1; - } - - BigInteger C = new BigInteger(Long.toString(c)); - BigInteger constA32 = new BigInteger("97781173"); - - //step1 - BigInteger[] y = new BigInteger[1]; // begin length = 1 - y[0] = new BigInteger(Long.toString(x0)); - - //step 2 - int[] t = new int[1]; // t - orders; begin length = 1 - t[0] = size; - int s = 0; - for (int i=0; t[i]>=33; i++) - { - // extension array t - int tmp_t[] = new int[t.length + 1]; /////////////// - System.arraycopy(t,0,tmp_t,0,t.length); // extension - t = new int[tmp_t.length]; // array t - System.arraycopy(tmp_t, 0, t, 0, tmp_t.length); /////////////// - - t[i+1] = t[i]/2; - s = i+1; - } - - //step3 - BigInteger p[] = new BigInteger[s+1]; - p[s] = new BigInteger("8000000B",16); //set min prime number length 32 bit - - int m = s-1; //step4 - - for (int i=0; i=0) - { - break; //step 14 - } - else - { - pq[0] = p[0]; - pq[1] = p[1]; - return y[0].longValue(); //return for procedure B' step 2 - } - } - } - return y[0].longValue(); - } - - //Procedure B - private void procedure_B(int x0, int c, BigInteger[] pq) - { - //Verify and perform condition: 065536) - { - x0 = init_random.nextInt()/32768; - } - - while((c<0 || c>65536) || (c/2==0)) - { - c = init_random.nextInt()/32768 + 1; - } - - BigInteger [] qp = new BigInteger[2]; - BigInteger q = null, Q = null, p = null; - BigInteger C = new BigInteger(Integer.toString(c)); - BigInteger constA16 = new BigInteger("19381"); - - //step1 - x0 = procedure_A(x0, c, qp, 256); - q = qp[0]; - - //step2 - x0 = procedure_A(x0, c, qp, 512); - Q = qp[0]; - - BigInteger[] y = new BigInteger[65]; - y[0] = new BigInteger(Integer.toString(x0)); - - int tp = 1024; - - step3: for(;;) - { - //step 3 - for (int j=0; j<64; j++) - { - y[j+1] = (y[j].multiply(constA16).add(C)).mod(TWO.pow(16)); - } - - //step 4 - BigInteger Y = new BigInteger("0"); - - for (int j=0; j<64; j++) - { - Y = Y.add(y[j].multiply(TWO.pow(16*j))); - } - - y[0] = y[64]; //step 5 - - //step 6 - BigInteger N = TWO.pow(tp-1).divide(q.multiply(Q)). - add((TWO.pow(tp-1).multiply(Y)). - divide(q.multiply(Q).multiply(TWO.pow(1024)))); - - if (N.mod(TWO).compareTo(ONE)==0) - { - N = N.add(ONE); - } - - int k = 0; //step 7 - - step8: for(;;) - { - //step 11 - p = q.multiply(Q).multiply(N.add(BigInteger.valueOf(k))).add(ONE); - - if (p.compareTo(TWO.pow(tp))==1) - { - continue step3; //step 9 - } - - //step10 - if ((TWO.modPow(q.multiply(Q).multiply(N.add(BigInteger.valueOf(k))),p).compareTo(ONE)==0) && - (TWO.modPow(q.multiply(N.add(BigInteger.valueOf(k))),p).compareTo(ONE)!=0)) - { - pq[0] = p; - pq[1] = q; - return; - } - else - { - k += 2; - continue step8; - } - } - } - } - - //Procedure B' - private void procedure_Bb(long x0, long c, BigInteger[] pq) - { - //Verify and perform condition: 04294967296L) - { - x0 = init_random.nextInt()*2; - } - - while((c<0 || c>4294967296L) || (c/2==0)) - { - c = init_random.nextInt()*2+1; - } - - BigInteger [] qp = new BigInteger[2]; - BigInteger q = null, Q = null, p = null; - BigInteger C = new BigInteger(Long.toString(c)); - BigInteger constA32 = new BigInteger("97781173"); - - //step1 - x0 = procedure_Aa(x0, c, qp, 256); - q = qp[0]; - - //step2 - x0 = procedure_Aa(x0, c, qp, 512); - Q = qp[0]; - - BigInteger[] y = new BigInteger[33]; - y[0] = new BigInteger(Long.toString(x0)); - - int tp = 1024; - - step3: for(;;) - { - //step 3 - for (int j=0; j<32; j++) - { - y[j+1] = (y[j].multiply(constA32).add(C)).mod(TWO.pow(32)); - } - - //step 4 - BigInteger Y = new BigInteger("0"); - for (int j=0; j<32; j++) - { - Y = Y.add(y[j].multiply(TWO.pow(32*j))); - } - - y[0] = y[32]; //step 5 - - //step 6 - BigInteger N = TWO.pow(tp-1).divide(q.multiply(Q)). - add((TWO.pow(tp-1).multiply(Y)). - divide(q.multiply(Q).multiply(TWO.pow(1024)))); - - if (N.mod(TWO).compareTo(ONE)==0) - { - N = N.add(ONE); - } - - int k = 0; //step 7 - - step8: for(;;) - { - //step 11 - p = q.multiply(Q).multiply(N.add(BigInteger.valueOf(k))).add(ONE); - - if (p.compareTo(TWO.pow(tp))==1) - { - continue step3; //step 9 - } - - //step10 - if ((TWO.modPow(q.multiply(Q).multiply(N.add(BigInteger.valueOf(k))),p).compareTo(ONE)==0) && - (TWO.modPow(q.multiply(N.add(BigInteger.valueOf(k))),p).compareTo(ONE)!=0)) - { - pq[0] = p; - pq[1] = q; - return; - } - else - { - k += 2; - continue step8; - } - } - } - } - - - /** - * Procedure C - * procedure generates the a value from the given p,q, - * returning the a value. - */ - private BigInteger procedure_C(BigInteger p, BigInteger q) - { - BigInteger pSub1 = p.subtract(ONE); - BigInteger pSub1DivQ = pSub1.divide(q); - int length = p.bitLength(); - - for(;;) - { - BigInteger d = new BigInteger(length, init_random); - - // 1 < d < p-1 - if (d.compareTo(ONE) > 0 && d.compareTo(pSub1) < 0) - { - BigInteger a = d.modPow(pSub1DivQ, p); - - if (a.compareTo(ONE) != 0) - { - return a; - } - } - } - } - - /** - * which generates the p , q and a values from the given parameters, - * returning the GOST3410Parameters object. - */ - public GOST3410Parameters generateParameters() - { - BigInteger [] pq = new BigInteger[2]; - BigInteger q = null, p = null, a = null; - - int x0, c; - long x0L, cL; - - if (typeproc==1) - { - x0 = init_random.nextInt(); - c = init_random.nextInt(); - - switch(size) - { - case 512: - procedure_A(x0, c, pq, 512); - break; - case 1024: - procedure_B(x0, c, pq); - break; - default: - throw new IllegalArgumentException("Ooops! key size 512 or 1024 bit."); - } - p = pq[0]; q = pq[1]; - a = procedure_C(p, q); - //System.out.println("p:"+p.toString(16)+"\n"+"q:"+q.toString(16)+"\n"+"a:"+a.toString(16)); - //System.out.println("p:"+p+"\n"+"q:"+q+"\n"+"a:"+a); - return new GOST3410Parameters(p, q, a, new GOST3410ValidationParameters(x0, c)); - } - else - { - x0L = init_random.nextLong(); - cL = init_random.nextLong(); - - switch(size) - { - case 512: - procedure_Aa(x0L, cL, pq, 512); - break; - case 1024: - procedure_Bb(x0L, cL, pq); - break; - default: - throw new IllegalStateException("Ooops! key size 512 or 1024 bit."); - } - p = pq[0]; q = pq[1]; - a = procedure_C(p, q); - //System.out.println("p:"+p.toString(16)+"\n"+"q:"+q.toString(16)+"\n"+"a:"+a.toString(16)); - //System.out.println("p:"+p+"\n"+"q:"+q+"\n"+"a:"+a); - return new GOST3410Parameters(p, q, a, new GOST3410ValidationParameters(x0L, cL)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/HKDFBytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/HKDFBytesGenerator.java deleted file mode 100644 index 9ec7987e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/HKDFBytesGenerator.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.HKDFParameters; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * HMAC-based Extract-and-Expand Key Derivation Function (HKDF) implemented - * according to IETF RFC 5869, May 2010 as specified by H. Krawczyk, IBM - * Research & P. Eronen, Nokia. It uses a HMac internally to compute de OKM - * (output keying material) and is likely to have better security properties - * than KDF's based on just a hash function. - */ -public class HKDFBytesGenerator - implements DerivationFunction -{ - - private HMac hMacHash; - private int hashLen; - - private byte[] info; - private byte[] currentT; - - private int generatedBytes; - - /** - * Creates a HKDFBytesGenerator based on the given hash function. - * - * @param hash the digest to be used as the source of generatedBytes bytes - */ - public HKDFBytesGenerator(Digest hash) - { - this.hMacHash = new HMac(hash); - this.hashLen = hash.getDigestSize(); - } - - public void init(DerivationParameters param) - { - if (!(param instanceof HKDFParameters)) - { - throw new IllegalArgumentException( - "HKDF parameters required for HKDFBytesGenerator"); - } - - HKDFParameters params = (HKDFParameters)param; - if (params.skipExtract()) - { - // use IKM directly as PRK - hMacHash.init(new KeyParameter(params.getIKM())); - } - else - { - hMacHash.init(extract(params.getSalt(), params.getIKM())); - } - - info = params.getInfo(); - - generatedBytes = 0; - currentT = new byte[hashLen]; - } - - /** - * Performs the extract part of the key derivation function. - * - * @param salt the salt to use - * @param ikm the input keying material - * @return the PRK as KeyParameter - */ - private KeyParameter extract(byte[] salt, byte[] ikm) - { - hMacHash.init(new KeyParameter(ikm)); - if (salt == null) - { - // TODO check if hashLen is indeed same as HMAC size - hMacHash.init(new KeyParameter(new byte[hashLen])); - } - else - { - hMacHash.init(new KeyParameter(salt)); - } - - hMacHash.update(ikm, 0, ikm.length); - - byte[] prk = new byte[hashLen]; - hMacHash.doFinal(prk, 0); - return new KeyParameter(prk); - } - - /** - * Performs the expand part of the key derivation function, using currentT - * as input and output buffer. - * - * @throws DataLengthException if the total number of bytes generated is larger than the one - * specified by RFC 5869 (255 * HashLen) - */ - private void expandNext() - throws DataLengthException - { - int n = generatedBytes / hashLen + 1; - if (n >= 256) - { - throw new DataLengthException( - "HKDF cannot generate more than 255 blocks of HashLen size"); - } - // special case for T(0): T(0) is empty, so no update - if (generatedBytes != 0) - { - hMacHash.update(currentT, 0, hashLen); - } - hMacHash.update(info, 0, info.length); - hMacHash.update((byte)n); - hMacHash.doFinal(currentT, 0); - } - - public Digest getDigest() - { - return hMacHash.getUnderlyingDigest(); - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - - if (generatedBytes + len > 255 * hashLen) - { - throw new DataLengthException( - "HKDF may only be used for 255 * HashLen bytes of output"); - } - - if (generatedBytes % hashLen == 0) - { - expandNext(); - } - - // copy what is left in the currentT (1..hash - int toGenerate = len; - int posInT = generatedBytes % hashLen; - int leftInT = hashLen - generatedBytes % hashLen; - int toCopy = Math.min(leftInT, toGenerate); - System.arraycopy(currentT, posInT, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - - while (toGenerate > 0) - { - expandNext(); - toCopy = Math.min(hashLen, toGenerate); - System.arraycopy(currentT, 0, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - } - - return len; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF1BytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF1BytesGenerator.java deleted file mode 100644 index 2d176a32b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF1BytesGenerator.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.Digest; - -/** - * KDF1 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 - *
    - * This implementation is based on ISO 18033/IEEE P1363a. - */ -public class KDF1BytesGenerator - extends BaseKDFBytesGenerator -{ - /** - * Construct a KDF1 byte generator. - *

    - * @param digest the digest to be used as the source of derived keys. - */ - public KDF1BytesGenerator( - Digest digest) - { - super(0, digest); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF2BytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF2BytesGenerator.java deleted file mode 100644 index bcdfc096f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDF2BytesGenerator.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.Digest; - -/** - * KDF2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 - *
    - * This implementation is based on IEEE P1363/ISO 18033. - */ -public class KDF2BytesGenerator - extends BaseKDFBytesGenerator -{ - /** - * Construct a KDF2 bytes generator. Generates key material - * according to IEEE P1363 or ISO 18033 depending on the initialisation. - *

    - * @param digest the digest to be used as the source of derived keys. - */ - public KDF2BytesGenerator( - Digest digest) - { - super(1, digest); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFCounterBytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFCounterBytesGenerator.java deleted file mode 100644 index 6341b16f9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFCounterBytesGenerator.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.MacDerivationFunction; -import org.spongycastle.crypto.params.KDFCounterParameters; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * This KDF has been defined by the publicly available NIST SP 800-108 specification. - */ -public class KDFCounterBytesGenerator - implements MacDerivationFunction -{ - - private static final BigInteger INTEGER_MAX = BigInteger.valueOf(Integer.MAX_VALUE); - private static final BigInteger TWO = BigInteger.valueOf(2); - - // please refer to the standard for the meaning of the variable names - // all field lengths are in bytes, not in bits as specified by the standard - - // fields set by the constructor - private final Mac prf; - private final int h; - - // fields set by init - private byte[] fixedInputData; - private int maxSizeExcl; - // ios is i defined as an octet string (the binary representation) - private byte[] ios; - - // operational - private int generatedBytes; - // k is used as buffer for all K(i) values - private byte[] k; - - - public KDFCounterBytesGenerator(Mac prf) - { - this.prf = prf; - this.h = prf.getMacSize(); - this.k = new byte[h]; - } - - - public void init(DerivationParameters param) - { - if (!(param instanceof KDFCounterParameters)) - { - throw new IllegalArgumentException("Wrong type of arguments given"); - } - - KDFCounterParameters kdfParams = (KDFCounterParameters)param; - - // --- init mac based PRF --- - - this.prf.init(new KeyParameter(kdfParams.getKI())); - - // --- set arguments --- - - this.fixedInputData = kdfParams.getFixedInputData(); - - int r = kdfParams.getR(); - this.ios = new byte[r / 8]; - - BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h)); - this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ? - Integer.MAX_VALUE : maxSize.intValue(); - - // --- set operational state --- - - generatedBytes = 0; - } - - - public Mac getMac() - { - return prf; - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - - int generatedBytesAfter = generatedBytes + len; - if (generatedBytesAfter < 0 || generatedBytesAfter >= maxSizeExcl) - { - throw new DataLengthException( - "Current KDFCTR may only be used for " + maxSizeExcl + " bytes"); - } - - if (generatedBytes % h == 0) - { - generateNext(); - } - - // copy what is left in the currentT (1..hash - int toGenerate = len; - int posInK = generatedBytes % h; - int leftInK = h - generatedBytes % h; - int toCopy = Math.min(leftInK, toGenerate); - System.arraycopy(k, posInK, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - - while (toGenerate > 0) - { - generateNext(); - toCopy = Math.min(h, toGenerate); - System.arraycopy(k, 0, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - } - - return len; - } - - private void generateNext() - { - int i = generatedBytes / h + 1; - - // encode i into counter buffer - switch (ios.length) - { - case 4: - ios[0] = (byte)(i >>> 24); - // fall through - case 3: - ios[ios.length - 3] = (byte)(i >>> 16); - // fall through - case 2: - ios[ios.length - 2] = (byte)(i >>> 8); - // fall through - case 1: - ios[ios.length - 1] = (byte)i; - break; - default: - throw new IllegalStateException("Unsupported size of counter i"); - } - - - // special case for K(0): K(0) is empty, so no update - prf.update(ios, 0, ios.length); - prf.update(fixedInputData, 0, fixedInputData.length); - prf.doFinal(k, 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFDoublePipelineIterationBytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFDoublePipelineIterationBytesGenerator.java deleted file mode 100644 index 1716dc087..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFDoublePipelineIterationBytesGenerator.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.MacDerivationFunction; -import org.spongycastle.crypto.params.KDFDoublePipelineIterationParameters; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * This KDF has been defined by the publicly available NIST SP 800-108 specification. - */ -public class KDFDoublePipelineIterationBytesGenerator - implements MacDerivationFunction -{ - - private static final BigInteger INTEGER_MAX = BigInteger.valueOf(Integer.MAX_VALUE); - private static final BigInteger TWO = BigInteger.valueOf(2); - - // please refer to the standard for the meaning of the variable names - // all field lengths are in bytes, not in bits as specified by the standard - - // fields set by the constructor - private final Mac prf; - private final int h; - - // fields set by init - private byte[] fixedInputData; - private int maxSizeExcl; - // ios is i defined as an octet string (the binary representation) - private byte[] ios; - private boolean useCounter; - - // operational - private int generatedBytes; - // k is used as buffer for all K(i) values - private byte[] a; - private byte[] k; - - - public KDFDoublePipelineIterationBytesGenerator(Mac prf) - { - this.prf = prf; - this.h = prf.getMacSize(); - this.a = new byte[h]; - this.k = new byte[h]; - } - - public void init(DerivationParameters params) - { - if (!(params instanceof KDFDoublePipelineIterationParameters)) - { - throw new IllegalArgumentException("Wrong type of arguments given"); - } - - KDFDoublePipelineIterationParameters dpiParams = (KDFDoublePipelineIterationParameters)params; - - // --- init mac based PRF --- - - this.prf.init(new KeyParameter(dpiParams.getKI())); - - // --- set arguments --- - - this.fixedInputData = dpiParams.getFixedInputData(); - - int r = dpiParams.getR(); - this.ios = new byte[r / 8]; - - if (dpiParams.useCounter()) - { - // this is more conservative than the spec - BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h)); - this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ? - Integer.MAX_VALUE : maxSize.intValue(); - } - else - { - this.maxSizeExcl = Integer.MAX_VALUE; - } - - this.useCounter = dpiParams.useCounter(); - - // --- set operational state --- - - generatedBytes = 0; - } - - public Mac getMac() - { - return prf; - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - - int generatedBytesAfter = generatedBytes + len; - if (generatedBytesAfter < 0 || generatedBytesAfter >= maxSizeExcl) - { - throw new DataLengthException( - "Current KDFCTR may only be used for " + maxSizeExcl + " bytes"); - } - - if (generatedBytes % h == 0) - { - generateNext(); - } - - // copy what is left in the currentT (1..hash - int toGenerate = len; - int posInK = generatedBytes % h; - int leftInK = h - generatedBytes % h; - int toCopy = Math.min(leftInK, toGenerate); - System.arraycopy(k, posInK, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - - while (toGenerate > 0) - { - generateNext(); - toCopy = Math.min(h, toGenerate); - System.arraycopy(k, 0, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - } - - return len; - } - - private void generateNext() - { - - if (generatedBytes == 0) - { - // --- step 4 --- - prf.update(fixedInputData, 0, fixedInputData.length); - prf.doFinal(a, 0); - } - else - { - // --- step 5a --- - prf.update(a, 0, a.length); - prf.doFinal(a, 0); - } - - // --- step 5b --- - prf.update(a, 0, a.length); - - if (useCounter) - { - int i = generatedBytes / h + 1; - - // encode i into counter buffer - switch (ios.length) - { - case 4: - ios[0] = (byte)(i >>> 24); - // fall through - case 3: - ios[ios.length - 3] = (byte)(i >>> 16); - // fall through - case 2: - ios[ios.length - 2] = (byte)(i >>> 8); - // fall through - case 1: - ios[ios.length - 1] = (byte)i; - break; - default: - throw new IllegalStateException("Unsupported size of counter i"); - } - prf.update(ios, 0, ios.length); - } - - prf.update(fixedInputData, 0, fixedInputData.length); - prf.doFinal(k, 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFFeedbackBytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFFeedbackBytesGenerator.java deleted file mode 100644 index 6410ec918..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/KDFFeedbackBytesGenerator.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.MacDerivationFunction; -import org.spongycastle.crypto.params.KDFFeedbackParameters; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * This KDF has been defined by the publicly available NIST SP 800-108 specification. - */ -public class KDFFeedbackBytesGenerator - implements MacDerivationFunction -{ - - private static final BigInteger INTEGER_MAX = BigInteger.valueOf(Integer.MAX_VALUE); - private static final BigInteger TWO = BigInteger.valueOf(2); - - // please refer to the standard for the meaning of the variable names - // all field lengths are in bytes, not in bits as specified by the standard - - // fields set by the constructor - private final Mac prf; - private final int h; - - // fields set by init - private byte[] fixedInputData; - private int maxSizeExcl; - // ios is i defined as an octet string (the binary representation) - private byte[] ios; - private byte[] iv; - private boolean useCounter; - - // operational - private int generatedBytes; - // k is used as buffer for all K(i) values - private byte[] k; - - - public KDFFeedbackBytesGenerator(Mac prf) - { - this.prf = prf; - this.h = prf.getMacSize(); - this.k = new byte[h]; - } - - public void init(DerivationParameters params) - { - if (!(params instanceof KDFFeedbackParameters)) - { - throw new IllegalArgumentException("Wrong type of arguments given"); - } - - KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params; - - // --- init mac based PRF --- - - this.prf.init(new KeyParameter(feedbackParams.getKI())); - - // --- set arguments --- - - this.fixedInputData = feedbackParams.getFixedInputData(); - - int r = feedbackParams.getR(); - this.ios = new byte[r / 8]; - - if (feedbackParams.useCounter()) - { - // this is more conservative than the spec - BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h)); - this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ? - Integer.MAX_VALUE : maxSize.intValue(); - } - else - { - this.maxSizeExcl = Integer.MAX_VALUE; - } - - this.iv = feedbackParams.getIV(); - this.useCounter = feedbackParams.useCounter(); - - // --- set operational state --- - - generatedBytes = 0; - } - - public Mac getMac() - { - return prf; - } - - public int generateBytes(byte[] out, int outOff, int len) - throws DataLengthException, IllegalArgumentException - { - - int generatedBytesAfter = generatedBytes + len; - if (generatedBytesAfter < 0 || generatedBytesAfter >= maxSizeExcl) - { - throw new DataLengthException( - "Current KDFCTR may only be used for " + maxSizeExcl + " bytes"); - } - - if (generatedBytes % h == 0) - { - generateNext(); - } - - // copy what is left in the currentT (1..hash - int toGenerate = len; - int posInK = generatedBytes % h; - int leftInK = h - generatedBytes % h; - int toCopy = Math.min(leftInK, toGenerate); - System.arraycopy(k, posInK, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - - while (toGenerate > 0) - { - generateNext(); - toCopy = Math.min(h, toGenerate); - System.arraycopy(k, 0, out, outOff, toCopy); - generatedBytes += toCopy; - toGenerate -= toCopy; - outOff += toCopy; - } - - return len; - } - - private void generateNext() - { - - // TODO enable IV - if (generatedBytes == 0) - { - prf.update(iv, 0, iv.length); - } - else - { - prf.update(k, 0, k.length); - } - - if (useCounter) - { - int i = generatedBytes / h + 1; - - // encode i into counter buffer - switch (ios.length) - { - case 4: - ios[0] = (byte)(i >>> 24); - // fall through - case 3: - ios[ios.length - 3] = (byte)(i >>> 16); - // fall through - case 2: - ios[ios.length - 2] = (byte)(i >>> 8); - // fall through - case 1: - ios[ios.length - 1] = (byte)i; - break; - default: - throw new IllegalStateException("Unsupported size of counter i"); - } - prf.update(ios, 0, ios.length); - } - - prf.update(fixedInputData, 0, fixedInputData.length); - prf.doFinal(k, 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/MGF1BytesGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/MGF1BytesGenerator.java deleted file mode 100644 index 03cb7ba50..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/MGF1BytesGenerator.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.MGFParameters; - -/** - * Generator for MGF1 as defined in PKCS 1v2 - */ -public class MGF1BytesGenerator - implements DerivationFunction -{ - private Digest digest; - private byte[] seed; - private int hLen; - - /** - * @param digest the digest to be used as the source of generated bytes - */ - public MGF1BytesGenerator( - Digest digest) - { - this.digest = digest; - this.hLen = digest.getDigestSize(); - } - - public void init( - DerivationParameters param) - { - if (!(param instanceof MGFParameters)) - { - throw new IllegalArgumentException("MGF parameters required for MGF1Generator"); - } - - MGFParameters p = (MGFParameters)param; - - seed = p.getSeed(); - } - - /** - * return the underlying digest. - */ - public Digest getDigest() - { - return digest; - } - - /** - * int to octet string. - */ - private void ItoOSP( - int i, - byte[] sp) - { - sp[0] = (byte)(i >>> 24); - sp[1] = (byte)(i >>> 16); - sp[2] = (byte)(i >>> 8); - sp[3] = (byte)(i >>> 0); - } - - /** - * fill len bytes of the output buffer with bytes generated from - * the derivation function. - * - * @throws DataLengthException if the out buffer is too small. - */ - public int generateBytes( - byte[] out, - int outOff, - int len) - throws DataLengthException, IllegalArgumentException - { - if ((out.length - len) < outOff) - { - throw new DataLengthException("output buffer too small"); - } - - byte[] hashBuf = new byte[hLen]; - byte[] C = new byte[4]; - int counter = 0; - - digest.reset(); - - if (len > hLen) - { - do - { - ItoOSP(counter, C); - - digest.update(seed, 0, seed.length); - digest.update(C, 0, C.length); - digest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, out, outOff + counter * hLen, hLen); - } - while (++counter < (len / hLen)); - } - - if ((counter * hLen) < len) - { - ItoOSP(counter, C); - - digest.update(seed, 0, seed.length); - digest.update(C, 0, C.length); - digest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, out, outOff + counter * hLen, len - (counter * hLen)); - } - - return len; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/NaccacheSternKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/NaccacheSternKeyPairGenerator.java deleted file mode 100644 index 5aa60026f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/NaccacheSternKeyPairGenerator.java +++ /dev/null @@ -1,365 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.NaccacheSternKeyGenerationParameters; -import org.spongycastle.crypto.params.NaccacheSternKeyParameters; -import org.spongycastle.crypto.params.NaccacheSternPrivateKeyParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.Vector; - -/** - * Key generation parameters for NaccacheStern cipher. For details on this cipher, please see - * - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - */ -public class NaccacheSternKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - - private static int[] smallPrimes = - { - 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, - 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, - 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, - 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, - 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, - 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, - 541, 547, 557 - }; - - private NaccacheSternKeyGenerationParameters param; - - private static final BigInteger ONE = BigInteger.valueOf(1); // JDK 1.1 compatibility - - /* - * (non-Javadoc) - * - * @see org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator#init(org.spongycastle.crypto.KeyGenerationParameters) - */ - public void init(KeyGenerationParameters param) - { - this.param = (NaccacheSternKeyGenerationParameters)param; - } - - /* - * (non-Javadoc) - * - * @see org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator#generateKeyPair() - */ - public AsymmetricCipherKeyPair generateKeyPair() - { - int strength = param.getStrength(); - SecureRandom rand = param.getRandom(); - int certainty = param.getCertainty(); - boolean debug = param.isDebug(); - - if (debug) - { - System.out.println("Fetching first " + param.getCntSmallPrimes() + " primes."); - } - - Vector smallPrimes = findFirstPrimes(param.getCntSmallPrimes()); - smallPrimes = permuteList(smallPrimes, rand); - - BigInteger u = ONE; - BigInteger v = ONE; - - for (int i = 0; i < smallPrimes.size() / 2; i++) - { - u = u.multiply((BigInteger)smallPrimes.elementAt(i)); - } - for (int i = smallPrimes.size() / 2; i < smallPrimes.size(); i++) - { - v = v.multiply((BigInteger)smallPrimes.elementAt(i)); - } - - BigInteger sigma = u.multiply(v); - - // n = (2 a u p_ + 1 ) ( 2 b v q_ + 1) - // -> |n| = strength - // |2| = 1 in bits - // -> |a| * |b| = |n| - |u| - |v| - |p_| - |q_| - |2| -|2| - // remainingStrength = strength - sigma.bitLength() - p_.bitLength() - - // q_.bitLength() - 1 -1 - int remainingStrength = strength - sigma.bitLength() - 48; - BigInteger a = generatePrime(remainingStrength / 2 + 1, certainty, rand); - BigInteger b = generatePrime(remainingStrength / 2 + 1, certainty, rand); - - BigInteger p_; - BigInteger q_; - BigInteger p; - BigInteger q; - long tries = 0; - if (debug) - { - System.out.println("generating p and q"); - } - - BigInteger _2au = a.multiply(u).shiftLeft(1); - BigInteger _2bv = b.multiply(v).shiftLeft(1); - - for (;;) - { - tries++; - - p_ = generatePrime(24, certainty, rand); - - p = p_.multiply(_2au).add(ONE); - - if (!p.isProbablePrime(certainty)) - { - continue; - } - - for (;;) - { - q_ = generatePrime(24, certainty, rand); - - if (p_.equals(q_)) - { - continue; - } - - q = q_.multiply(_2bv).add(ONE); - - if (q.isProbablePrime(certainty)) - { - break; - } - } - - if (!sigma.gcd(p_.multiply(q_)).equals(ONE)) - { - // System.out.println("sigma.gcd(p_.mult(q_)) != 1!\n p_: " + p_ - // +"\n q_: "+ q_ ); - continue; - } - - if (p.multiply(q).bitLength() < strength) - { - if (debug) - { - System.out.println("key size too small. Should be " + strength + " but is actually " - + p.multiply(q).bitLength()); - } - continue; - } - break; - } - - if (debug) - { - System.out.println("needed " + tries + " tries to generate p and q."); - } - - BigInteger n = p.multiply(q); - BigInteger phi_n = p.subtract(ONE).multiply(q.subtract(ONE)); - BigInteger g; - tries = 0; - if (debug) - { - System.out.println("generating g"); - } - for (;;) - { - - Vector gParts = new Vector(); - for (int ind = 0; ind != smallPrimes.size(); ind++) - { - BigInteger i = (BigInteger)smallPrimes.elementAt(ind); - BigInteger e = phi_n.divide(i); - - for (;;) - { - tries++; - g = new BigInteger(strength, certainty, rand); - if (g.modPow(e, n).equals(ONE)) - { - continue; - } - gParts.addElement(g); - break; - } - } - g = ONE; - for (int i = 0; i < smallPrimes.size(); i++) - { - g = g.multiply(((BigInteger)gParts.elementAt(i)).modPow(sigma.divide((BigInteger)smallPrimes.elementAt(i)), n)).mod(n); - } - - // make sure that g is not divisible by p_i or q_i - boolean divisible = false; - for (int i = 0; i < smallPrimes.size(); i++) - { - if (g.modPow(phi_n.divide((BigInteger)smallPrimes.elementAt(i)), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/" + smallPrimes.elementAt(i) + "\n g: " + g); - } - divisible = true; - break; - } - } - - if (divisible) - { - continue; - } - - // make sure that g has order > phi_n/4 - - if (g.modPow(phi_n.divide(BigInteger.valueOf(4)), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/4\n g:" + g); - } - continue; - } - - if (g.modPow(phi_n.divide(p_), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/p'\n g: " + g); - } - continue; - } - if (g.modPow(phi_n.divide(q_), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/q'\n g: " + g); - } - continue; - } - if (g.modPow(phi_n.divide(a), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/a\n g: " + g); - } - continue; - } - if (g.modPow(phi_n.divide(b), n).equals(ONE)) - { - if (debug) - { - System.out.println("g has order phi(n)/b\n g: " + g); - } - continue; - } - break; - } - if (debug) - { - System.out.println("needed " + tries + " tries to generate g"); - System.out.println(); - System.out.println("found new NaccacheStern cipher variables:"); - System.out.println("smallPrimes: " + smallPrimes); - System.out.println("sigma:...... " + sigma + " (" + sigma.bitLength() + " bits)"); - System.out.println("a:.......... " + a); - System.out.println("b:.......... " + b); - System.out.println("p':......... " + p_); - System.out.println("q':......... " + q_); - System.out.println("p:.......... " + p); - System.out.println("q:.......... " + q); - System.out.println("n:.......... " + n); - System.out.println("phi(n):..... " + phi_n); - System.out.println("g:.......... " + g); - System.out.println(); - } - - return new AsymmetricCipherKeyPair(new NaccacheSternKeyParameters(false, g, n, sigma.bitLength()), - new NaccacheSternPrivateKeyParameters(g, n, sigma.bitLength(), smallPrimes, phi_n)); - } - - private static BigInteger generatePrime( - int bitLength, - int certainty, - SecureRandom rand) - { - BigInteger p_ = new BigInteger(bitLength, certainty, rand); - while (p_.bitLength() != bitLength) - { - p_ = new BigInteger(bitLength, certainty, rand); - } - return p_; - } - - /** - * Generates a permuted ArrayList from the original one. The original List - * is not modified - * - * @param arr - * the ArrayList to be permuted - * @param rand - * the source of Randomness for permutation - * @return a new ArrayList with the permuted elements. - */ - private static Vector permuteList( - Vector arr, - SecureRandom rand) - { - Vector retval = new Vector(); - Vector tmp = new Vector(); - for (int i = 0; i < arr.size(); i++) - { - tmp.addElement(arr.elementAt(i)); - } - retval.addElement(tmp.elementAt(0)); - tmp.removeElementAt(0); - while (tmp.size() != 0) - { - retval.insertElementAt(tmp.elementAt(0), getInt(rand, retval.size() + 1)); - tmp.removeElementAt(0); - } - return retval; - } - - private static int getInt( - SecureRandom rand, - int n) - { - if ((n & -n) == n) - { - return (int)((n * (long)(rand.nextInt() & 0x7fffffff)) >> 31); - } - - int bits, val; - do - { - bits = rand.nextInt() & 0x7fffffff; - val = bits % n; - } - while (bits - val + (n-1) < 0); - - return val; - } - - /** - * Finds the first 'count' primes starting with 3 - * - * @param count - * the number of primes to find - * @return a vector containing the found primes as Integer - */ - private static Vector findFirstPrimes( - int count) - { - Vector primes = new Vector(count); - - for (int i = 0; i != count; i++) - { - primes.addElement(BigInteger.valueOf(smallPrimes[i])); - } - - return primes; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/OpenSSLPBEParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/OpenSSLPBEParametersGenerator.java deleted file mode 100644 index 70e35927d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/OpenSSLPBEParametersGenerator.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.digests.MD5Digest; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Generator for PBE derived keys and ivs as usd by OpenSSL. - *

    - * The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an - * iteration count of 1. - *

    - */ -public class OpenSSLPBEParametersGenerator - extends PBEParametersGenerator -{ - private Digest digest = new MD5Digest(); - - /** - * Construct a OpenSSL Parameters generator. - */ - public OpenSSLPBEParametersGenerator() - { - } - - /** - * Initialise - note the iteration count for this algorithm is fixed at 1. - * - * @param password password to use. - * @param salt salt to use. - */ - public void init( - byte[] password, - byte[] salt) - { - super.init(password, salt, 1); - } - - /** - * the derived key function, the ith hash of the password and the salt. - */ - private byte[] generateDerivedKey( - int bytesNeeded) - { - byte[] buf = new byte[digest.getDigestSize()]; - byte[] key = new byte[bytesNeeded]; - int offset = 0; - - for (;;) - { - digest.update(password, 0, password.length); - digest.update(salt, 0, salt.length); - - digest.doFinal(buf, 0); - - int len = (bytesNeeded > buf.length) ? buf.length : bytesNeeded; - System.arraycopy(buf, 0, key, offset, len); - offset += len; - - // check if we need any more - bytesNeeded -= len; - if (bytesNeeded == 0) - { - break; - } - - // do another round - digest.reset(); - digest.update(buf, 0, buf.length); - } - - return key; - } - - /** - * Generate a key parameter derived from the password, salt, and iteration - * count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - * @exception IllegalArgumentException if the key length larger than the base hash size. - */ - public CipherParameters generateDerivedParameters( - int keySize) - { - keySize = keySize / 8; - - byte[] dKey = generateDerivedKey(keySize); - - return new KeyParameter(dKey, 0, keySize); - } - - /** - * Generate a key with initialisation vector parameter derived from - * the password, salt, and iteration count we are currently initialised - * with. - * - * @param keySize the size of the key we want (in bits) - * @param ivSize the size of the iv we want (in bits) - * @return a ParametersWithIV object. - * @exception IllegalArgumentException if keySize + ivSize is larger than the base hash size. - */ - public CipherParameters generateDerivedParameters( - int keySize, - int ivSize) - { - keySize = keySize / 8; - ivSize = ivSize / 8; - - byte[] dKey = generateDerivedKey(keySize + ivSize); - - return new ParametersWithIV(new KeyParameter(dKey, 0, keySize), dKey, keySize, ivSize); - } - - /** - * Generate a key parameter for use with a MAC derived from the password, - * salt, and iteration count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - * @exception IllegalArgumentException if the key length larger than the base hash size. - */ - public CipherParameters generateDerivedMacParameters( - int keySize) - { - return generateDerivedParameters(keySize); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS12ParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS12ParametersGenerator.java deleted file mode 100644 index ee40465e9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS12ParametersGenerator.java +++ /dev/null @@ -1,220 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Generator for PBE derived keys and ivs as defined by PKCS 12 V1.0. - *

    - * The document this implementation is based on can be found at - * - * RSA's PKCS12 Page - */ -public class PKCS12ParametersGenerator - extends PBEParametersGenerator -{ - public static final int KEY_MATERIAL = 1; - public static final int IV_MATERIAL = 2; - public static final int MAC_MATERIAL = 3; - - private Digest digest; - - private int u; - private int v; - - /** - * Construct a PKCS 12 Parameters generator. This constructor will - * accept any digest which also implements ExtendedDigest. - * - * @param digest the digest to be used as the source of derived keys. - * @exception IllegalArgumentException if an unknown digest is passed in. - */ - public PKCS12ParametersGenerator( - Digest digest) - { - this.digest = digest; - if (digest instanceof ExtendedDigest) - { - u = digest.getDigestSize(); - v = ((ExtendedDigest)digest).getByteLength(); - } - else - { - throw new IllegalArgumentException("Digest " + digest.getAlgorithmName() + " unsupported"); - } - } - - /** - * add a + b + 1, returning the result in a. The a value is treated - * as a BigInteger of length (b.length * 8) bits. The result is - * modulo 2^b.length in case of overflow. - */ - private void adjust( - byte[] a, - int aOff, - byte[] b) - { - int x = (b[b.length - 1] & 0xff) + (a[aOff + b.length - 1] & 0xff) + 1; - - a[aOff + b.length - 1] = (byte)x; - x >>>= 8; - - for (int i = b.length - 2; i >= 0; i--) - { - x += (b[i] & 0xff) + (a[aOff + i] & 0xff); - a[aOff + i] = (byte)x; - x >>>= 8; - } - } - - /** - * generation of a derived key ala PKCS12 V1.0. - */ - private byte[] generateDerivedKey( - int idByte, - int n) - { - byte[] D = new byte[v]; - byte[] dKey = new byte[n]; - - for (int i = 0; i != D.length; i++) - { - D[i] = (byte)idByte; - } - - byte[] S; - - if ((salt != null) && (salt.length != 0)) - { - S = new byte[v * ((salt.length + v - 1) / v)]; - - for (int i = 0; i != S.length; i++) - { - S[i] = salt[i % salt.length]; - } - } - else - { - S = new byte[0]; - } - - byte[] P; - - if ((password != null) && (password.length != 0)) - { - P = new byte[v * ((password.length + v - 1) / v)]; - - for (int i = 0; i != P.length; i++) - { - P[i] = password[i % password.length]; - } - } - else - { - P = new byte[0]; - } - - byte[] I = new byte[S.length + P.length]; - - System.arraycopy(S, 0, I, 0, S.length); - System.arraycopy(P, 0, I, S.length, P.length); - - byte[] B = new byte[v]; - int c = (n + u - 1) / u; - byte[] A = new byte[u]; - - for (int i = 1; i <= c; i++) - { - digest.update(D, 0, D.length); - digest.update(I, 0, I.length); - digest.doFinal(A, 0); - for (int j = 1; j < iterationCount; j++) - { - digest.update(A, 0, A.length); - digest.doFinal(A, 0); - } - - for (int j = 0; j != B.length; j++) - { - B[j] = A[j % A.length]; - } - - for (int j = 0; j != I.length / v; j++) - { - adjust(I, j * v, B); - } - - if (i == c) - { - System.arraycopy(A, 0, dKey, (i - 1) * u, dKey.length - ((i - 1) * u)); - } - else - { - System.arraycopy(A, 0, dKey, (i - 1) * u, A.length); - } - } - - return dKey; - } - - /** - * Generate a key parameter derived from the password, salt, and iteration - * count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - */ - public CipherParameters generateDerivedParameters( - int keySize) - { - keySize = keySize / 8; - - byte[] dKey = generateDerivedKey(KEY_MATERIAL, keySize); - - return new KeyParameter(dKey, 0, keySize); - } - - /** - * Generate a key with initialisation vector parameter derived from - * the password, salt, and iteration count we are currently initialised - * with. - * - * @param keySize the size of the key we want (in bits) - * @param ivSize the size of the iv we want (in bits) - * @return a ParametersWithIV object. - */ - public CipherParameters generateDerivedParameters( - int keySize, - int ivSize) - { - keySize = keySize / 8; - ivSize = ivSize / 8; - - byte[] dKey = generateDerivedKey(KEY_MATERIAL, keySize); - - byte[] iv = generateDerivedKey(IV_MATERIAL, ivSize); - - return new ParametersWithIV(new KeyParameter(dKey, 0, keySize), iv, 0, ivSize); - } - - /** - * Generate a key parameter for use with a MAC derived from the password, - * salt, and iteration count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - */ - public CipherParameters generateDerivedMacParameters( - int keySize) - { - keySize = keySize / 8; - - byte[] dKey = generateDerivedKey(MAC_MATERIAL, keySize); - - return new KeyParameter(dKey, 0, keySize); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S1ParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S1ParametersGenerator.java deleted file mode 100644 index 3a6415f25..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S1ParametersGenerator.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 1. - * Note this generator is limited to the size of the hash produced by the - * digest used to drive it. - *

    - * The document this implementation is based on can be found at - * - * RSA's PKCS5 Page - */ -public class PKCS5S1ParametersGenerator - extends PBEParametersGenerator -{ - private Digest digest; - - /** - * Construct a PKCS 5 Scheme 1 Parameters generator. - * - * @param digest the digest to be used as the source of derived keys. - */ - public PKCS5S1ParametersGenerator( - Digest digest) - { - this.digest = digest; - } - - /** - * the derived key function, the ith hash of the password and the salt. - */ - private byte[] generateDerivedKey() - { - byte[] digestBytes = new byte[digest.getDigestSize()]; - - digest.update(password, 0, password.length); - digest.update(salt, 0, salt.length); - - digest.doFinal(digestBytes, 0); - for (int i = 1; i < iterationCount; i++) - { - digest.update(digestBytes, 0, digestBytes.length); - digest.doFinal(digestBytes, 0); - } - - return digestBytes; - } - - /** - * Generate a key parameter derived from the password, salt, and iteration - * count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - * @exception IllegalArgumentException if the key length larger than the base hash size. - */ - public CipherParameters generateDerivedParameters( - int keySize) - { - keySize = keySize / 8; - - if (keySize > digest.getDigestSize()) - { - throw new IllegalArgumentException( - "Can't generate a derived key " + keySize + " bytes long."); - } - - byte[] dKey = generateDerivedKey(); - - return new KeyParameter(dKey, 0, keySize); - } - - /** - * Generate a key with initialisation vector parameter derived from - * the password, salt, and iteration count we are currently initialised - * with. - * - * @param keySize the size of the key we want (in bits) - * @param ivSize the size of the iv we want (in bits) - * @return a ParametersWithIV object. - * @exception IllegalArgumentException if keySize + ivSize is larger than the base hash size. - */ - public CipherParameters generateDerivedParameters( - int keySize, - int ivSize) - { - keySize = keySize / 8; - ivSize = ivSize / 8; - - if ((keySize + ivSize) > digest.getDigestSize()) - { - throw new IllegalArgumentException( - "Can't generate a derived key " + (keySize + ivSize) + " bytes long."); - } - - byte[] dKey = generateDerivedKey(); - - return new ParametersWithIV(new KeyParameter(dKey, 0, keySize), dKey, keySize, ivSize); - } - - /** - * Generate a key parameter for use with a MAC derived from the password, - * salt, and iteration count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - * @exception IllegalArgumentException if the key length larger than the base hash size. - */ - public CipherParameters generateDerivedMacParameters( - int keySize) - { - return generateDerivedParameters(keySize); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S2ParametersGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S2ParametersGenerator.java deleted file mode 100644 index 59b5a187c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/PKCS5S2ParametersGenerator.java +++ /dev/null @@ -1,153 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 2. - * This generator uses a SHA-1 HMac as the calculation function. - *

    - * The document this implementation is based on can be found at - * - * RSA's PKCS5 Page - */ -public class PKCS5S2ParametersGenerator - extends PBEParametersGenerator -{ - private Mac hMac; - private byte[] state; - - /** - * construct a PKCS5 Scheme 2 Parameters generator. - */ - public PKCS5S2ParametersGenerator() - { - this(new SHA1Digest()); - } - - public PKCS5S2ParametersGenerator(Digest digest) - { - hMac = new HMac(digest); - state = new byte[hMac.getMacSize()]; - } - - private void F( - byte[] S, - int c, - byte[] iBuf, - byte[] out, - int outOff) - { - if (c == 0) - { - throw new IllegalArgumentException("iteration count must be at least 1."); - } - - if (S != null) - { - hMac.update(S, 0, S.length); - } - - hMac.update(iBuf, 0, iBuf.length); - hMac.doFinal(state, 0); - - System.arraycopy(state, 0, out, outOff, state.length); - - for (int count = 1; count < c; count++) - { - hMac.update(state, 0, state.length); - hMac.doFinal(state, 0); - - for (int j = 0; j != state.length; j++) - { - out[outOff + j] ^= state[j]; - } - } - } - - private byte[] generateDerivedKey( - int dkLen) - { - int hLen = hMac.getMacSize(); - int l = (dkLen + hLen - 1) / hLen; - byte[] iBuf = new byte[4]; - byte[] outBytes = new byte[l * hLen]; - int outPos = 0; - - CipherParameters param = new KeyParameter(password); - - hMac.init(param); - - for (int i = 1; i <= l; i++) - { - // Increment the value in 'iBuf' - int pos = 3; - while (++iBuf[pos] == 0) - { - --pos; - } - - F(salt, iterationCount, iBuf, outBytes, outPos); - outPos += hLen; - } - - return outBytes; - } - - /** - * Generate a key parameter derived from the password, salt, and iteration - * count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - */ - public CipherParameters generateDerivedParameters( - int keySize) - { - keySize = keySize / 8; - - byte[] dKey = generateDerivedKey(keySize); - - return new KeyParameter(dKey, 0, keySize); - } - - /** - * Generate a key with initialisation vector parameter derived from - * the password, salt, and iteration count we are currently initialised - * with. - * - * @param keySize the size of the key we want (in bits) - * @param ivSize the size of the iv we want (in bits) - * @return a ParametersWithIV object. - */ - public CipherParameters generateDerivedParameters( - int keySize, - int ivSize) - { - keySize = keySize / 8; - ivSize = ivSize / 8; - - byte[] dKey = generateDerivedKey(keySize + ivSize); - - return new ParametersWithIV(new KeyParameter(dKey, 0, keySize), dKey, keySize, ivSize); - } - - /** - * Generate a key parameter for use with a MAC derived from the password, - * salt, and iteration count we are currently initialised with. - * - * @param keySize the size of the key we want (in bits) - * @return a KeyParameter object. - */ - public CipherParameters generateDerivedMacParameters( - int keySize) - { - return generateDerivedParameters(keySize); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/Poly1305KeyGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/Poly1305KeyGenerator.java deleted file mode 100644 index 5eebc497f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/Poly1305KeyGenerator.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherKeyGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.macs.Poly1305; - -/** - * Generates keys for the Poly1305 MAC. - *

    - * Poly1305 keys are 256 bit keys consisting of a 128 bit secret key used for the underlying block - * cipher followed by a 128 bit {@code r} value used for the polynomial portion of the Mac.
    - * The {@code r} value has a specific format with some bits required to be cleared, resulting in an - * effective 106 bit key.
    - * A separately generated 256 bit key can be modified to fit the Poly1305 key format by using the - * {@link #clamp(byte[])} method to clear the required bits. - * - * @see Poly1305 - */ -public class Poly1305KeyGenerator - extends CipherKeyGenerator -{ - private static final byte R_MASK_LOW_2 = (byte)0xFC; - private static final byte R_MASK_HIGH_4 = (byte)0x0F; - - /** - * Initialises the key generator.
    - * Poly1305 keys are always 256 bits, so the key length in the provided parameters is ignored. - */ - public void init(KeyGenerationParameters param) - { - // Poly1305 keys are always 256 bits - super.init(new KeyGenerationParameters(param.getRandom(), 256)); - } - - /** - * Generates a 256 bit key in the format required for Poly1305 - e.g. - * k[0] ... k[15], r[0] ... r[15] with the required bits in r cleared - * as per {@link #clamp(byte[])}. - */ - public byte[] generateKey() - { - final byte[] key = super.generateKey(); - clamp(key); - return key; - } - - /** - * Modifies an existing 32 byte key value to comply with the requirements of the Poly1305 key by - * clearing required bits in the r (second 16 bytes) portion of the key.
    - * Specifically: - *

      - *
    • r[3], r[7], r[11], r[15] have top four bits clear (i.e., are {0, 1, . . . , 15})
    • - *
    • r[4], r[8], r[12] have bottom two bits clear (i.e., are in {0, 4, 8, . . . , 252})
    • - *
    - * - * @param a 32 byte key value k[0] ... k[15], r[0] ... r[15] - */ - public static void clamp(byte[] key) - { - /* - * Key is k[0] ... k[15], r[0] ... r[15] as per poly1305_aes_clamp in ref impl. - */ - if (key.length != 32) - { - throw new IllegalArgumentException("Poly1305 key must be 256 bits."); - } - - /* - * r[3], r[7], r[11], r[15] have top four bits clear (i.e., are {0, 1, . . . , 15}) - */ - key[19] &= R_MASK_HIGH_4; - key[23] &= R_MASK_HIGH_4; - key[27] &= R_MASK_HIGH_4; - key[31] &= R_MASK_HIGH_4; - - /* - * r[4], r[8], r[12] have bottom two bits clear (i.e., are in {0, 4, 8, . . . , 252}). - */ - key[20] &= R_MASK_LOW_2; - key[24] &= R_MASK_LOW_2; - key[28] &= R_MASK_LOW_2; - } - - /** - * Checks a 32 byte key for compliance with the Poly1305 key requirements, e.g. - * k[0] ... k[15], r[0] ... r[15] with the required bits in r cleared - * as per {@link #clamp(byte[])}. - * - * @throws IllegalArgumentException if the key is of the wrong length, or has invalid bits set - * in the r portion of the key. - */ - public static void checkKey(byte[] key) - { - if (key.length != 32) - { - throw new IllegalArgumentException("Poly1305 key must be 256 bits."); - } - - checkMask(key[19], R_MASK_HIGH_4); - checkMask(key[23], R_MASK_HIGH_4); - checkMask(key[27], R_MASK_HIGH_4); - checkMask(key[31], R_MASK_HIGH_4); - - checkMask(key[20], R_MASK_LOW_2); - checkMask(key[24], R_MASK_LOW_2); - checkMask(key[28], R_MASK_LOW_2); - } - - private static void checkMask(byte b, byte mask) - { - if ((b & (~mask)) != 0) - { - throw new IllegalArgumentException("Invalid format for r portion of Poly1305 key."); - } - } - -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSABlindingFactorGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSABlindingFactorGenerator.java deleted file mode 100644 index 50b7db5e3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSABlindingFactorGenerator.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * Generate a random factor suitable for use with RSA blind signatures - * as outlined in Chaum's blinding and unblinding as outlined in - * "Handbook of Applied Cryptography", page 475. - */ -public class RSABlindingFactorGenerator -{ - private static BigInteger ZERO = BigInteger.valueOf(0); - private static BigInteger ONE = BigInteger.valueOf(1); - - private RSAKeyParameters key; - private SecureRandom random; - - /** - * Initialise the factor generator - * - * @param param the necessary RSA key parameters. - */ - public void init( - CipherParameters param) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - key = (RSAKeyParameters)rParam.getParameters(); - random = rParam.getRandom(); - } - else - { - key = (RSAKeyParameters)param; - random = new SecureRandom(); - } - - if (key instanceof RSAPrivateCrtKeyParameters) - { - throw new IllegalArgumentException("generator requires RSA public key"); - } - } - - /** - * Generate a suitable blind factor for the public key the generator was initialised with. - * - * @return a random blind factor - */ - public BigInteger generateBlindingFactor() - { - if (key == null) - { - throw new IllegalStateException("generator not initialised"); - } - - BigInteger m = key.getModulus(); - int length = m.bitLength() - 1; // must be less than m.bitLength() - BigInteger factor; - BigInteger gcd; - - do - { - factor = new BigInteger(length, random); - gcd = factor.gcd(m); - } - while (factor.equals(ZERO) || factor.equals(ONE) || !gcd.equals(ONE)); - - return factor; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSAKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSAKeyPairGenerator.java deleted file mode 100644 index 0708ec729..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/RSAKeyPairGenerator.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; - -import java.math.BigInteger; - -/** - * an RSA key pair generator. - */ -public class RSAKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private RSAKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (RSAKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - BigInteger p, q, n, d, e, pSub1, qSub1, phi; - - // - // p and q values should have a length of half the strength in bits - // - int strength = param.getStrength(); - int pbitlength = (strength + 1) / 2; - int qbitlength = strength - pbitlength; - int mindiffbits = strength / 3; - - e = param.getPublicExponent(); - - // TODO Consider generating safe primes for p, q (see DHParametersHelper.generateSafePrimes) - // (then p-1 and q-1 will not consist of only small factors - see "Pollard's algorithm") - - // - // generate p, prime and (p-1) relatively prime to e - // - for (;;) - { - p = new BigInteger(pbitlength, 1, param.getRandom()); - - if (p.mod(e).equals(ONE)) - { - continue; - } - - if (!p.isProbablePrime(param.getCertainty())) - { - continue; - } - - if (e.gcd(p.subtract(ONE)).equals(ONE)) - { - break; - } - } - - // - // generate a modulus of the required length - // - for (;;) - { - // generate q, prime and (q-1) relatively prime to e, - // and not equal to p - // - for (;;) - { - q = new BigInteger(qbitlength, 1, param.getRandom()); - - if (q.subtract(p).abs().bitLength() < mindiffbits) - { - continue; - } - - if (q.mod(e).equals(ONE)) - { - continue; - } - - if (!q.isProbablePrime(param.getCertainty())) - { - continue; - } - - if (e.gcd(q.subtract(ONE)).equals(ONE)) - { - break; - } - } - - // - // calculate the modulus - // - n = p.multiply(q); - - if (n.bitLength() == param.getStrength()) - { - break; - } - - // - // if we get here our primes aren't big enough, make the largest - // of the two p and try again - // - p = p.max(q); - } - - if (p.compareTo(q) < 0) - { - phi = p; - p = q; - q = phi; - } - - pSub1 = p.subtract(ONE); - qSub1 = q.subtract(ONE); - phi = pSub1.multiply(qSub1); - - // - // calculate the private exponent - // - d = e.modInverse(phi); - - // - // calculate the CRT factors - // - BigInteger dP, dQ, qInv; - - dP = d.remainder(pSub1); - dQ = d.remainder(qSub1); - qInv = q.modInverse(p); - - return new AsymmetricCipherKeyPair( - new RSAKeyParameters(false, n, e), - new RSAPrivateCrtKeyParameters(n, e, d, p, q, dP, dQ, qInv)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/SCrypt.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/SCrypt.java deleted file mode 100644 index c199adbf2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/SCrypt.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.spongycastle.crypto.generators; - -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.engines.Salsa20Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -public class SCrypt -{ - // TODO Validate arguments - public static byte[] generate(byte[] P, byte[] S, int N, int r, int p, int dkLen) - { - return MFcrypt(P, S, N, r, p, dkLen); - } - - private static byte[] MFcrypt(byte[] P, byte[] S, int N, int r, int p, int dkLen) - { - int MFLenBytes = r * 128; - byte[] bytes = SingleIterationPBKDF2(P, S, p * MFLenBytes); - - int[] B = null; - - try - { - int BLen = bytes.length >>> 2; - B = new int[BLen]; - - Pack.littleEndianToInt(bytes, 0, B); - - int MFLenWords = MFLenBytes >>> 2; - for (int BOff = 0; BOff < BLen; BOff += MFLenWords) - { - // TODO These can be done in parallel threads - SMix(B, BOff, N, r); - } - - Pack.intToLittleEndian(B, bytes, 0); - - return SingleIterationPBKDF2(P, bytes, dkLen); - } - finally - { - Clear(bytes); - Clear(B); - } - } - - private static byte[] SingleIterationPBKDF2(byte[] P, byte[] S, int dkLen) - { - PBEParametersGenerator pGen = new PKCS5S2ParametersGenerator(new SHA256Digest()); - pGen.init(P, S, 1); - KeyParameter key = (KeyParameter) pGen.generateDerivedMacParameters(dkLen * 8); - return key.getKey(); - } - - private static void SMix(int[] B, int BOff, int N, int r) - { - int BCount = r * 32; - - int[] blockX1 = new int[16]; - int[] blockX2 = new int[16]; - int[] blockY = new int[BCount]; - - int[] X = new int[BCount]; - int[][] V = new int[N][]; - - try - { - System.arraycopy(B, BOff, X, 0, BCount); - - for (int i = 0; i < N; ++i) - { - V[i] = Arrays.clone(X); - BlockMix(X, blockX1, blockX2, blockY, r); - } - - int mask = N - 1; - for (int i = 0; i < N; ++i) - { - int j = X[BCount - 16] & mask; - Xor(X, V[j], 0, X); - BlockMix(X, blockX1, blockX2, blockY, r); - } - - System.arraycopy(X, 0, B, BOff, BCount); - } - finally - { - ClearAll(V); - ClearAll(new int[][]{ X, blockX1, blockX2, blockY }); - } - } - - private static void BlockMix(int[] B, int[] X1, int[] X2, int[] Y, int r) - { - System.arraycopy(B, B.length - 16, X1, 0, 16); - - int BOff = 0, YOff = 0, halfLen = B.length >>> 1; - - for (int i = 2 * r; i > 0; --i) - { - Xor(X1, B, BOff, X2); - - Salsa20Engine.salsaCore(8, X2, X1); - System.arraycopy(X1, 0, Y, YOff, 16); - - YOff = halfLen + BOff - YOff; - BOff += 16; - } - - System.arraycopy(Y, 0, B, 0, Y.length); - } - - private static void Xor(int[] a, int[] b, int bOff, int[] output) - { - for (int i = output.length - 1; i >= 0; --i) - { - output[i] = a[i] ^ b[bOff + i]; - } - } - - private static void Clear(byte[] array) - { - if (array != null) - { - Arrays.fill(array, (byte)0); - } - } - - private static void Clear(int[] array) - { - if (array != null) - { - Arrays.fill(array, 0); - } - } - - private static void ClearAll(int[][] arrays) - { - for (int i = 0; i < arrays.length; ++i) - { - Clear(arrays[i]); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherInputStream.java deleted file mode 100644 index 4b5b677ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherInputStream.java +++ /dev/null @@ -1,301 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.modes.AEADBlockCipher; - -/** - * A CipherInputStream is composed of an InputStream and a cipher so that read() methods return data - * that are read in from the underlying InputStream but have been additionally processed by the - * Cipher. The cipher must be fully initialized before being used by a CipherInputStream. - *

    - * For example, if the Cipher is initialized for decryption, the - * CipherInputStream will attempt to read in data and decrypt them, - * before returning the decrypted data. - */ -public class CipherInputStream - extends FilterInputStream -{ - private BufferedBlockCipher bufferedBlockCipher; - private StreamCipher streamCipher; - private AEADBlockCipher aeadBlockCipher; - - private final byte[] buf; - private final byte[] inBuf; - - private int bufOff; - private int maxBuf; - private boolean finalized; - - private static final int INPUT_BUF_SIZE = 2048; - - /** - * Constructs a CipherInputStream from an InputStream and a - * BufferedBlockCipher. - */ - public CipherInputStream( - InputStream is, - BufferedBlockCipher cipher) - { - super(is); - - this.bufferedBlockCipher = cipher; - - buf = new byte[cipher.getOutputSize(INPUT_BUF_SIZE)]; - inBuf = new byte[INPUT_BUF_SIZE]; - } - - public CipherInputStream( - InputStream is, - StreamCipher cipher) - { - super(is); - - this.streamCipher = cipher; - - buf = new byte[INPUT_BUF_SIZE]; - inBuf = new byte[INPUT_BUF_SIZE]; - } - - /** - * Constructs a CipherInputStream from an InputStream and an AEADBlockCipher. - */ - public CipherInputStream(InputStream is, AEADBlockCipher cipher) - { - super(is); - - this.aeadBlockCipher = cipher; - - buf = new byte[cipher.getOutputSize(INPUT_BUF_SIZE)]; - inBuf = new byte[INPUT_BUF_SIZE]; - } - - /** - * Read data from underlying stream and process with cipher until end of stream or some data is - * available after cipher processing. - * - * @return -1 to indicate end of stream, or the number of bytes (> 0) available. - */ - private int nextChunk() - throws IOException - { - if (finalized) - { - return -1; - } - - bufOff = 0; - maxBuf = 0; - - // Keep reading until EOF or cipher processing produces data - while (maxBuf == 0) - { - int read = in.read(inBuf); - if (read == -1) - { - finaliseCipher(); - if (maxBuf == 0) - { - return -1; - } - return maxBuf; - } - - try - { - if (bufferedBlockCipher != null) - { - maxBuf = bufferedBlockCipher.processBytes(inBuf, 0, read, buf, 0); - } - else if (aeadBlockCipher != null) - { - maxBuf = aeadBlockCipher.processBytes(inBuf, 0, read, buf, 0); - } - else - { - streamCipher.processBytes(inBuf, 0, read, buf, 0); - maxBuf = read; - } - } - catch (Exception e) - { - throw new IOException("Error processing stream " + e); - } - } - return maxBuf; - } - - private void finaliseCipher() - throws IOException - { - try - { - finalized = true; - if (bufferedBlockCipher != null) - { - maxBuf = bufferedBlockCipher.doFinal(buf, 0); - } - else if (aeadBlockCipher != null) - { - maxBuf = aeadBlockCipher.doFinal(buf, 0); - } - else - { - maxBuf = 0; // a stream cipher - } - } - catch (final InvalidCipherTextException e) - { - throw new InvalidCipherTextIOException("Error finalising cipher", e); - } - catch (Exception e) - { - throw new IOException("Error finalising cipher " + e); - } - } - - /** - * Reads data from the underlying stream and processes it with the cipher until the cipher - * outputs data, and returns the next available byte. - *

    - * If the underlying stream is exhausted by this call, the cipher will be finalised. - * - * @throws IOException if there was an error closing the input stream. - * @throws InvalidCipherTextIOException if the data read from the stream was invalid ciphertext - * (e.g. the cipher is an AEAD cipher and the ciphertext tag check fails). - */ - public int read() - throws IOException - { - if (bufOff >= maxBuf) - { - if (nextChunk() < 0) - { - return -1; - } - } - - return buf[bufOff++] & 0xff; - } - - /** - * Reads data from the underlying stream and processes it with the cipher until the cipher - * outputs data, and then returns up to b.length bytes in the provided array. - *

    - * If the underlying stream is exhausted by this call, the cipher will be finalised. - * - * @param b the buffer into which the data is read. - * @return the total number of bytes read into the buffer, or -1 if there is no - * more data because the end of the stream has been reached. - * @throws IOException if there was an error closing the input stream. - * @throws InvalidCipherTextIOException if the data read from the stream was invalid ciphertext - * (e.g. the cipher is an AEAD cipher and the ciphertext tag check fails). - */ - public int read( - byte[] b) - throws IOException - { - return read(b, 0, b.length); - } - - /** - * Reads data from the underlying stream and processes it with the cipher until the cipher - * outputs data, and then returns up to len bytes in the provided array. - *

    - * If the underlying stream is exhausted by this call, the cipher will be finalised. - * - * @param b the buffer into which the data is read. - * @param off the start offset in the destination array b - * @param len the maximum number of bytes read. - * @return the total number of bytes read into the buffer, or -1 if there is no - * more data because the end of the stream has been reached. - * @throws IOException if there was an error closing the input stream. - * @throws InvalidCipherTextIOException if the data read from the stream was invalid ciphertext - * (e.g. the cipher is an AEAD cipher and the ciphertext tag check fails). - */ - public int read( - byte[] b, - int off, - int len) - throws IOException - { - if (bufOff >= maxBuf) - { - if (nextChunk() < 0) - { - return -1; - } - } - - int toSupply = Math.min(len, available()); - System.arraycopy(buf, bufOff, b, off, toSupply); - bufOff += toSupply; - return toSupply; - } - - public long skip( - long n) - throws IOException - { - if (n <= 0) - { - return 0; - } - - int skip = (int)Math.min(n, available()); - bufOff += skip; - return skip; - } - - public int available() - throws IOException - { - return maxBuf - bufOff; - } - - /** - * Closes the underlying input stream and finalises the processing of the data by the cipher. - * - * @throws IOException if there was an error closing the input stream. - * @throws InvalidCipherTextIOException if the data read from the stream was invalid ciphertext - * (e.g. the cipher is an AEAD cipher and the ciphertext tag check fails). - */ - public void close() - throws IOException - { - try - { - in.close(); - } - finally - { - if (!finalized) - { - // Reset the cipher, discarding any data buffered in it - // Errors in cipher finalisation trump I/O error closing input - finaliseCipher(); - } - } - maxBuf = bufOff = 0; - } - - public void mark(int readlimit) - { - } - - public void reset() - throws IOException - { - } - - public boolean markSupported() - { - return false; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherOutputStream.java deleted file mode 100644 index 797e838be..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/CipherOutputStream.java +++ /dev/null @@ -1,266 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.modes.AEADBlockCipher; - -/** - * A CipherOutputStream is composed of an OutputStream and a cipher so that write() methods process - * the written data with the cipher, and the output of the cipher is in turn written to the - * underlying OutputStream. The cipher must be fully initialized before being used by a - * CipherInputStream. - *

    - * For example, if the cipher is initialized for encryption, the CipherOutputStream will encrypt the - * data before writing the encrypted data to the underlying stream. - */ -public class CipherOutputStream - extends FilterOutputStream -{ - private BufferedBlockCipher bufferedBlockCipher; - private StreamCipher streamCipher; - private AEADBlockCipher aeadBlockCipher; - - private final byte[] oneByte = new byte[1]; - private byte[] buf; - - /** - * Constructs a CipherOutputStream from an OutputStream and a - * BufferedBlockCipher. - */ - public CipherOutputStream( - OutputStream os, - BufferedBlockCipher cipher) - { - super(os); - this.bufferedBlockCipher = cipher; - } - - /** - * Constructs a CipherOutputStream from an OutputStream and a - * BufferedBlockCipher. - */ - public CipherOutputStream( - OutputStream os, - StreamCipher cipher) - { - super(os); - this.streamCipher = cipher; - } - - /** - * Constructs a CipherOutputStream from an OutputStream and a AEADBlockCipher. - */ - public CipherOutputStream(OutputStream os, AEADBlockCipher cipher) - { - super(os); - this.aeadBlockCipher = cipher; - } - - /** - * Writes the specified byte to this output stream. - * - * @param b the byte. - * @throws java.io.IOException if an I/O error occurs. - */ - public void write( - int b) - throws IOException - { - oneByte[0] = (byte)b; - - if (streamCipher != null) - { - out.write(streamCipher.returnByte((byte)b)); - } - else - { - write(oneByte, 0, 1); - } - } - - /** - * Writes b.length bytes from the specified byte array - * to this output stream. - *

    - * The write method of - * CipherOutputStream calls the write - * method of three arguments with the three arguments - * b, 0, and b.length. - * - * @param b the data. - * @throws java.io.IOException if an I/O error occurs. - * @see #write(byte[], int, int) - */ - public void write( - byte[] b) - throws IOException - { - write(b, 0, b.length); - } - - /** - * Writes len bytes from the specified byte array - * starting at offset off to this output stream. - * - * @param b the data. - * @param off the start offset in the data. - * @param len the number of bytes to write. - * @throws java.io.IOException if an I/O error occurs. - */ - public void write( - byte[] b, - int off, - int len) - throws IOException - { - ensureCapacity(len); - - if (bufferedBlockCipher != null) - { - int outLen = bufferedBlockCipher.processBytes(b, off, len, buf, 0); - - if (outLen != 0) - { - out.write(buf, 0, outLen); - } - } - else if (aeadBlockCipher != null) - { - int outLen = aeadBlockCipher.processBytes(b, off, len, buf, 0); - - if (outLen != 0) - { - out.write(buf, 0, outLen); - } - } - else - { - streamCipher.processBytes(b, off, len, buf, 0); - - out.write(buf, 0, len); - } - } - - /** - * Ensure the ciphertext buffer has space sufficient to accept an upcoming output. - * - * @param outputSize the size of the pending update. - */ - private void ensureCapacity(int outputSize) - { - // This overestimates buffer on updates for AEAD/padded, but keeps it simple. - int bufLen; - if (bufferedBlockCipher != null) - { - bufLen = bufferedBlockCipher.getOutputSize(outputSize); - } - else if (aeadBlockCipher != null) - { - bufLen = aeadBlockCipher.getOutputSize(outputSize); - } - else - { - bufLen = outputSize; - } - if ((buf == null) || (buf.length < bufLen)) - { - buf = new byte[bufLen]; - } - } - - /** - * Flushes this output stream by forcing any buffered output bytes - * that have already been processed by the encapsulated cipher object - * to be written out. - *

    - *

    - * Any bytes buffered by the encapsulated cipher - * and waiting to be processed by it will not be written out. For example, - * if the encapsulated cipher is a block cipher, and the total number of - * bytes written using one of the write methods is less than - * the cipher's block size, no bytes will be written out. - * - * @throws java.io.IOException if an I/O error occurs. - */ - public void flush() - throws IOException - { - out.flush(); - } - - /** - * Closes this output stream and releases any system resources - * associated with this stream. - *

    - * This method invokes the doFinal method of the encapsulated - * cipher object, which causes any bytes buffered by the encapsulated - * cipher to be processed. The result is written out by calling the - * flush method of this output stream. - *

    - * This method resets the encapsulated cipher object to its initial state - * and calls the close method of the underlying output - * stream. - * - * @throws java.io.IOException if an I/O error occurs. - * @throws InvalidCipherTextIOException if the data written to this stream was invalid ciphertext - * (e.g. the cipher is an AEAD cipher and the ciphertext tag check fails). - */ - public void close() - throws IOException - { - ensureCapacity(0); - IOException error = null; - try - { - if (bufferedBlockCipher != null) - { - int outLen = bufferedBlockCipher.doFinal(buf, 0); - - if (outLen != 0) - { - out.write(buf, 0, outLen); - } - } - else if (aeadBlockCipher != null) - { - int outLen = aeadBlockCipher.doFinal(buf, 0); - - if (outLen != 0) - { - out.write(buf, 0, outLen); - } - } - } - catch (final InvalidCipherTextException e) - { - error = new InvalidCipherTextIOException("Error finalising cipher data", e); - } - catch (Exception e) - { - error = new IOException("Error closing stream: " + e); - } - - try - { - flush(); - out.close(); - } - catch (IOException e) - { - // Invalid ciphertext takes precedence over close error - if (error == null) - { - error = e; - } - } - if (error != null) - { - throw error; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestInputStream.java deleted file mode 100644 index 23a719640..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestInputStream.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.Digest; - -public class DigestInputStream - extends FilterInputStream -{ - protected Digest digest; - - public DigestInputStream( - InputStream stream, - Digest digest) - { - super(stream); - this.digest = digest; - } - - public int read() - throws IOException - { - int b = in.read(); - - if (b >= 0) - { - digest.update((byte)b); - } - return b; - } - - public int read( - byte[] b, - int off, - int len) - throws IOException - { - int n = in.read(b, off, len); - if (n > 0) - { - digest.update(b, off, n); - } - return n; - } - - public Digest getDigest() - { - return digest; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestOutputStream.java deleted file mode 100644 index d280b514f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/DigestOutputStream.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.crypto.Digest; - -public class DigestOutputStream - extends OutputStream -{ - protected Digest digest; - - public DigestOutputStream( - Digest Digest) - { - this.digest = Digest; - } - - public void write(int b) - throws IOException - { - digest.update((byte)b); - } - - public void write( - byte[] b, - int off, - int len) - throws IOException - { - digest.update(b, off, len); - } - - public byte[] getDigest() - { - byte[] res = new byte[digest.getDigestSize()]; - - digest.doFinal(res, 0); - - return res; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/InvalidCipherTextIOException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/InvalidCipherTextIOException.java deleted file mode 100644 index 60f218347..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/InvalidCipherTextIOException.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.IOException; - -/** - * {@link IOException} wrapper around an exception indicating an invalid ciphertext, such as in - * authentication failure during finalisation of an AEAD cipher. For use in streams that need to - * expose invalid ciphertext errors. - */ -public class InvalidCipherTextIOException - extends IOException -{ - private static final long serialVersionUID = 1L; - - private final Throwable cause; - - public InvalidCipherTextIOException(String message, Throwable cause) - { - super(message); - - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacInputStream.java deleted file mode 100644 index 35e0e9c20..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacInputStream.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.Mac; - -public class MacInputStream - extends FilterInputStream -{ - protected Mac mac; - - public MacInputStream( - InputStream stream, - Mac mac) - { - super(stream); - this.mac = mac; - } - - public int read() - throws IOException - { - int b = in.read(); - - if (b >= 0) - { - mac.update((byte)b); - } - return b; - } - - public int read( - byte[] b, - int off, - int len) - throws IOException - { - int n = in.read(b, off, len); - if (n >= 0) - { - mac.update(b, off, n); - } - return n; - } - - public Mac getMac() - { - return mac; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java deleted file mode 100644 index 340b994eb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.crypto.Mac; - -public class MacOutputStream - extends OutputStream -{ - protected Mac mac; - - public MacOutputStream( - Mac mac) - { - this.mac = mac; - } - - public void write(int b) - throws IOException - { - mac.update((byte)b); - } - - public void write( - byte[] b, - int off, - int len) - throws IOException - { - mac.update(b, off, len); - } - - public byte[] getMac() - { - byte[] res = new byte[mac.getMacSize()]; - - mac.doFinal(res, 0); - - return res; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerInputStream.java deleted file mode 100644 index f7f6935fa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerInputStream.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.Signer; - -public class SignerInputStream - extends FilterInputStream -{ - protected Signer signer; - - public SignerInputStream( - InputStream stream, - Signer signer) - { - super(stream); - this.signer = signer; - } - - public int read() - throws IOException - { - int b = in.read(); - - if (b >= 0) - { - signer.update((byte)b); - } - return b; - } - - public int read( - byte[] b, - int off, - int len) - throws IOException - { - int n = in.read(b, off, len); - if (n > 0) - { - signer.update(b, off, n); - } - return n; - } - - public Signer getSigner() - { - return signer; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerOutputStream.java deleted file mode 100644 index 6e6c55b16..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/SignerOutputStream.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.crypto.io; - -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.crypto.Signer; - -public class SignerOutputStream - extends OutputStream -{ - protected Signer signer; - - public SignerOutputStream( - Signer Signer) - { - this.signer = Signer; - } - - public void write(int b) - throws IOException - { - signer.update((byte)b); - } - - public void write( - byte[] b, - int off, - int len) - throws IOException - { - signer.update(b, off, len); - } - - public Signer getSigner() - { - return signer; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/ECIESKeyEncapsulation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/ECIESKeyEncapsulation.java deleted file mode 100755 index bfe8c1077..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/ECIESKeyEncapsulation.java +++ /dev/null @@ -1,255 +0,0 @@ -package org.spongycastle.crypto.kems; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.KeyEncapsulation; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.BigIntegers; - -/** - * The ECIES Key Encapsulation Mechanism (ECIES-KEM) from ISO 18033-2. - */ -public class ECIESKeyEncapsulation - implements KeyEncapsulation -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private DerivationFunction kdf; - private SecureRandom rnd; - private ECKeyParameters key; - private boolean CofactorMode; - private boolean OldCofactorMode; - private boolean SingleHashMode; - - /** - * Set up the ECIES-KEM. - * - * @param kdf the key derivation function to be used. - * @param rnd the random source for the session key. - */ - public ECIESKeyEncapsulation( - DerivationFunction kdf, - SecureRandom rnd) - { - this.kdf = kdf; - this.rnd = rnd; - this.CofactorMode = false; - this.OldCofactorMode = false; - this.SingleHashMode = false; - } - - /** - * Set up the ECIES-KEM. - * - * @param kdf the key derivation function to be used. - * @param rnd the random source for the session key. - * @param cofactorMode true to use the new cofactor ECDH. - * @param oldCofactorMode true to use the old cofactor ECDH. - * @param singleHashMode true to use single hash mode. - */ - public ECIESKeyEncapsulation( - DerivationFunction kdf, - SecureRandom rnd, - boolean cofactorMode, - boolean oldCofactorMode, - boolean singleHashMode) - { - this.kdf = kdf; - this.rnd = rnd; - - // If both cofactorMode and oldCofactorMode are set to true - // then the implementation will use the new cofactor ECDH - this.CofactorMode = cofactorMode; - this.OldCofactorMode = oldCofactorMode; - this.SingleHashMode = singleHashMode; - } - - /** - * Initialise the ECIES-KEM. - * - * @param key the recipient's public (for encryption) or private (for decryption) key. - */ - public void init(CipherParameters key) - throws IllegalArgumentException - { - if (!(key instanceof ECKeyParameters)) - { - throw new IllegalArgumentException("EC key required"); - } - else - { - this.key = (ECKeyParameters)key; - } - } - - /** - * Generate and encapsulate a random session key. - * - * @param out the output buffer for the encapsulated key. - * @param outOff the offset for the output buffer. - * @param keyLen the length of the session key. - * @return the random session key. - */ - public CipherParameters encrypt(byte[] out, int outOff, int keyLen) - throws IllegalArgumentException - { - if (!(key instanceof ECPublicKeyParameters)) - { - throw new IllegalArgumentException("Public key required for encryption"); - } - - ECPublicKeyParameters ecPubKey = (ECPublicKeyParameters)key; - ECDomainParameters ecParams = ecPubKey.getParameters(); - ECCurve curve = ecParams.getCurve(); - BigInteger n = ecParams.getN(); - BigInteger h = ecParams.getH(); - - // Generate the ephemeral key pair - BigInteger r = BigIntegers.createRandomInRange(ONE, n, rnd); - - // Compute the static-ephemeral key agreement - BigInteger rPrime = CofactorMode ? r.multiply(h).mod(n) : r; - - ECPoint[] ghTilde = new ECPoint[]{ - ecParams.getG().multiply(r), - ecPubKey.getQ().multiply(rPrime) - }; - - // NOTE: More efficient than normalizing each individually - curve.normalizeAll(ghTilde); - - ECPoint gTilde = ghTilde[0], hTilde = ghTilde[1]; - - // Encode the ephemeral public key - byte[] C = gTilde.getEncoded(); - System.arraycopy(C, 0, out, outOff, C.length); - - // Encode the shared secret value - byte[] PEH = hTilde.getAffineXCoord().getEncoded(); - - // Initialise the KDF - byte[] kdfInput; - if (SingleHashMode) - { - kdfInput = new byte[C.length + PEH.length]; - System.arraycopy(C, 0, kdfInput, 0, C.length); - System.arraycopy(PEH, 0, kdfInput, C.length, PEH.length); - } - else - { - kdfInput = PEH; - } - - kdf.init(new KDFParameters(kdfInput, null)); - - // Generate the secret key - byte[] K = new byte[keyLen]; - kdf.generateBytes(K, 0, K.length); - - // Return the ciphertext - return new KeyParameter(K); - } - - /** - * Generate and encapsulate a random session key. - * - * @param out the output buffer for the encapsulated key. - * @param keyLen the length of the session key. - * @return the random session key. - */ - public CipherParameters encrypt(byte[] out, int keyLen) - { - return encrypt(out, 0, keyLen); - } - - /** - * Decrypt an encapsulated session key. - * - * @param in the input buffer for the encapsulated key. - * @param inOff the offset for the input buffer. - * @param inLen the length of the encapsulated key. - * @param keyLen the length of the session key. - * @return the session key. - */ - public CipherParameters decrypt(byte[] in, int inOff, int inLen, int keyLen) - throws IllegalArgumentException - { - if (!(key instanceof ECPrivateKeyParameters)) - { - throw new IllegalArgumentException("Private key required for encryption"); - } - - ECPrivateKeyParameters ecPrivKey = (ECPrivateKeyParameters)key; - ECDomainParameters ecParams = ecPrivKey.getParameters(); - ECCurve curve = ecParams.getCurve(); - BigInteger n = ecParams.getN(); - BigInteger h = ecParams.getH(); - - // Decode the ephemeral public key - byte[] C = new byte[inLen]; - System.arraycopy(in, inOff, C, 0, inLen); - - // NOTE: Decoded points are already normalized (i.e in affine form) - ECPoint gTilde = curve.decodePoint(C); - - // Compute the static-ephemeral key agreement - ECPoint gHat = gTilde; - if ((CofactorMode) || (OldCofactorMode)) - { - gHat = gHat.multiply(h); - } - - BigInteger xHat = ecPrivKey.getD(); - if (CofactorMode) - { - xHat = xHat.multiply(h.modInverse(n)).mod(n); - } - - ECPoint hTilde = gHat.multiply(xHat).normalize(); - - // Encode the shared secret value - byte[] PEH = hTilde.getAffineXCoord().getEncoded(); - - // Initialise the KDF - byte[] kdfInput; - if (SingleHashMode) - { - kdfInput = new byte[C.length + PEH.length]; - System.arraycopy(C, 0, kdfInput, 0, C.length); - System.arraycopy(PEH, 0, kdfInput, C.length, PEH.length); - } - else - { - kdfInput = PEH; - } - kdf.init(new KDFParameters(kdfInput, null)); - - // Generate the secret key - byte[] K = new byte[keyLen]; - kdf.generateBytes(K, 0, K.length); - - return new KeyParameter(K); - } - - /** - * Decrypt an encapsulated session key. - * - * @param in the input buffer for the encapsulated key. - * @param keyLen the length of the session key. - * @return the session key. - */ - public CipherParameters decrypt(byte[] in, int keyLen) - { - return decrypt(in, 0, in.length, keyLen); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/RSAKeyEncapsulation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/RSAKeyEncapsulation.java deleted file mode 100755 index 5f9a7f519..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/kems/RSAKeyEncapsulation.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.crypto.kems; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.KeyEncapsulation; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.util.BigIntegers; - -/** - * The RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2. - */ -public class RSAKeyEncapsulation - implements KeyEncapsulation -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - - private DerivationFunction kdf; - private SecureRandom rnd; - private RSAKeyParameters key; - - /** - * Set up the RSA-KEM. - * - * @param kdf the key derivation function to be used. - * @param rnd the random source for the session key. - */ - public RSAKeyEncapsulation( - DerivationFunction kdf, - SecureRandom rnd) - { - this.kdf = kdf; - this.rnd = rnd; - } - - - /** - * Initialise the RSA-KEM. - * - * @param key the recipient's public (for encryption) or private (for decryption) key. - */ - public void init(CipherParameters key) - throws IllegalArgumentException - { - if (!(key instanceof RSAKeyParameters)) - { - throw new IllegalArgumentException("RSA key required"); - } - else - { - this.key = (RSAKeyParameters)key; - } - } - - - /** - * Generate and encapsulate a random session key. - * - * @param out the output buffer for the encapsulated key. - * @param outOff the offset for the output buffer. - * @param keyLen the length of the random session key. - * @return the random session key. - */ - public CipherParameters encrypt(byte[] out, int outOff, int keyLen) - throws IllegalArgumentException - { - if (key.isPrivate()) - { - throw new IllegalArgumentException("Public key required for encryption"); - } - - BigInteger n = key.getModulus(); - BigInteger e = key.getExponent(); - - // Generate the ephemeral random and encode it - BigInteger r = BigIntegers.createRandomInRange(ZERO, n.subtract(ONE), rnd); - byte[] R = BigIntegers.asUnsignedByteArray((n.bitLength() + 7) / 8, r); - - // Encrypt the random and encode it - BigInteger c = r.modPow(e, n); - byte[] C = BigIntegers.asUnsignedByteArray((n.bitLength() + 7) / 8, c); - System.arraycopy(C, 0, out, outOff, C.length); - - - // Initialise the KDF - kdf.init(new KDFParameters(R, null)); - - // Generate the secret key - byte[] K = new byte[keyLen]; - kdf.generateBytes(K, 0, K.length); - - return new KeyParameter(K); - } - - - /** - * Generate and encapsulate a random session key. - * - * @param out the output buffer for the encapsulated key. - * @param keyLen the length of the random session key. - * @return the random session key. - */ - public CipherParameters encrypt(byte[] out, int keyLen) - { - return encrypt(out, 0, keyLen); - } - - - /** - * Decrypt an encapsulated session key. - * - * @param in the input buffer for the encapsulated key. - * @param inOff the offset for the input buffer. - * @param inLen the length of the encapsulated key. - * @param keyLen the length of the session key. - * @return the session key. - */ - public CipherParameters decrypt(byte[] in, int inOff, int inLen, int keyLen) - throws IllegalArgumentException - { - if (!key.isPrivate()) - { - throw new IllegalArgumentException("Private key required for decryption"); - } - - BigInteger n = key.getModulus(); - BigInteger d = key.getExponent(); - - // Decode the input - byte[] C = new byte[inLen]; - System.arraycopy(in, inOff, C, 0, C.length); - BigInteger c = new BigInteger(1, C); - - // Decrypt the ephemeral random and encode it - BigInteger r = c.modPow(d, n); - byte[] R = BigIntegers.asUnsignedByteArray((n.bitLength() + 7) / 8, r); - - // Initialise the KDF - kdf.init(new KDFParameters(R, null)); - - // Generate the secret key - byte[] K = new byte[keyLen]; - kdf.generateBytes(K, 0, K.length); - - return new KeyParameter(K); - } - - /** - * Decrypt an encapsulated session key. - * - * @param in the input buffer for the encapsulated key. - * @param keyLen the length of the session key. - * @return the session key. - */ - public CipherParameters decrypt(byte[] in, int keyLen) - { - return decrypt(in, 0, in.length, keyLen); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/BlockCipherMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/BlockCipherMac.java deleted file mode 100644 index 2446812cf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/BlockCipherMac.java +++ /dev/null @@ -1,174 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.modes.CBCBlockCipher; - -public class BlockCipherMac - implements Mac -{ - private byte[] mac; - - private byte[] buf; - private int bufOff; - private BlockCipher cipher; - - private int macSize; - - /** - * create a standard MAC based on a block cipher. This will produce an - * authentication code half the length of the block size of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @deprecated use CBCBlockCipherMac - */ - public BlockCipherMac( - BlockCipher cipher) - { - this(cipher, (cipher.getBlockSize() * 8) / 2); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. - *

    - * Note: the size of the MAC must be at least 16 bits (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - * @deprecated use CBCBlockCipherMac - */ - public BlockCipherMac( - BlockCipher cipher, - int macSizeInBits) - { - if ((macSizeInBits % 8) != 0) - { - throw new IllegalArgumentException("MAC size must be multiple of 8"); - } - - this.cipher = new CBCBlockCipher(cipher); - this.macSize = macSizeInBits / 8; - - mac = new byte[cipher.getBlockSize()]; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - public void init( - CipherParameters params) - { - reset(); - - cipher.init(true, params); - } - - public int getMacSize() - { - return macSize; - } - - public void update( - byte in) - { - if (bufOff == buf.length) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - public void update( - byte[] in, - int inOff, - int len) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = cipher.getBlockSize(); - int resultLen = 0; - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - resultLen += cipher.processBlock(in, inOff, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal( - byte[] out, - int outOff) - { - int blockSize = cipher.getBlockSize(); - - // - // pad with zeroes - // - while (bufOff < blockSize) - { - buf[bufOff] = 0; - bufOff++; - } - - cipher.processBlock(buf, 0, mac, 0); - - System.arraycopy(mac, 0, out, outOff, macSize); - - reset(); - - return macSize; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - /* - * reset the underlying cipher. - */ - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CBCBlockCipherMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CBCBlockCipherMac.java deleted file mode 100644 index fd8a4f143..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CBCBlockCipherMac.java +++ /dev/null @@ -1,229 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.BlockCipherPadding; - -/** - * standard CBC Block Cipher MAC - if no padding is specified the default of - * pad of zeroes is used. - */ -public class CBCBlockCipherMac - implements Mac -{ - private byte[] mac; - - private byte[] buf; - private int bufOff; - private BlockCipher cipher; - private BlockCipherPadding padding; - - private int macSize; - - /** - * create a standard MAC based on a CBC block cipher. This will produce an - * authentication code half the length of the block size of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - */ - public CBCBlockCipherMac( - BlockCipher cipher) - { - this(cipher, (cipher.getBlockSize() * 8) / 2, null); - } - - /** - * create a standard MAC based on a CBC block cipher. This will produce an - * authentication code half the length of the block size of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param padding the padding to be used to complete the last block. - */ - public CBCBlockCipherMac( - BlockCipher cipher, - BlockCipherPadding padding) - { - this(cipher, (cipher.getBlockSize() * 8) / 2, padding); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses CBC mode as the basis for the - * MAC generation. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - */ - public CBCBlockCipherMac( - BlockCipher cipher, - int macSizeInBits) - { - this(cipher, macSizeInBits, null); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses CBC mode as the basis for the - * MAC generation. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - * @param padding the padding to be used to complete the last block. - */ - public CBCBlockCipherMac( - BlockCipher cipher, - int macSizeInBits, - BlockCipherPadding padding) - { - if ((macSizeInBits % 8) != 0) - { - throw new IllegalArgumentException("MAC size must be multiple of 8"); - } - - this.cipher = new CBCBlockCipher(cipher); - this.padding = padding; - this.macSize = macSizeInBits / 8; - - mac = new byte[cipher.getBlockSize()]; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - public void init( - CipherParameters params) - { - reset(); - - cipher.init(true, params); - } - - public int getMacSize() - { - return macSize; - } - - public void update( - byte in) - { - if (bufOff == buf.length) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - public void update( - byte[] in, - int inOff, - int len) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = cipher.getBlockSize(); - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - cipher.processBlock(buf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - cipher.processBlock(in, inOff, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal( - byte[] out, - int outOff) - { - int blockSize = cipher.getBlockSize(); - - if (padding == null) - { - // - // pad with zeroes - // - while (bufOff < blockSize) - { - buf[bufOff] = 0; - bufOff++; - } - } - else - { - if (bufOff == blockSize) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - padding.addPadding(buf, bufOff); - } - - cipher.processBlock(buf, 0, mac, 0); - - System.arraycopy(mac, 0, out, outOff, macSize); - - reset(); - - return macSize; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - /* - * reset the underlying cipher. - */ - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CFBBlockCipherMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CFBBlockCipherMac.java deleted file mode 100644 index 920b1fa62..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CFBBlockCipherMac.java +++ /dev/null @@ -1,388 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.paddings.BlockCipherPadding; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * implements a Cipher-FeedBack (CFB) mode on top of a simple cipher. - */ -class MacCFBBlockCipher -{ - private byte[] IV; - private byte[] cfbV; - private byte[] cfbOutV; - - private int blockSize; - private BlockCipher cipher = null; - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * feedback mode. - * @param blockSize the block size in bits (note: a multiple of 8) - */ - public MacCFBBlockCipher( - BlockCipher cipher, - int bitBlockSize) - { - this.cipher = cipher; - this.blockSize = bitBlockSize / 8; - - this.IV = new byte[cipher.getBlockSize()]; - this.cfbV = new byte[cipher.getBlockSize()]; - this.cfbOutV = new byte[cipher.getBlockSize()]; - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param param the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - CipherParameters params) - throws IllegalArgumentException - { - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length < IV.length) - { - System.arraycopy(iv, 0, IV, IV.length - iv.length, iv.length); - } - else - { - System.arraycopy(iv, 0, IV, 0, IV.length); - } - - reset(); - - cipher.init(true, ivParam.getParameters()); - } - else - { - reset(); - - cipher.init(true, params); - } - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/CFB" - * and the block size in bits. - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/CFB" + (blockSize * 8); - } - - /** - * return the block size we are operating at. - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return blockSize; - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(cfbV, 0, cfbOutV, 0); - - // - // XOR the cfbV with the plaintext producing the cipher text - // - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] = (byte)(cfbOutV[i] ^ in[inOff + i]); - } - - // - // change over the input block. - // - System.arraycopy(cfbV, blockSize, cfbV, 0, cfbV.length - blockSize); - System.arraycopy(out, outOff, cfbV, cfbV.length - blockSize, blockSize); - - return blockSize; - } - - /** - * reset the chaining vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - System.arraycopy(IV, 0, cfbV, 0, IV.length); - - cipher.reset(); - } - - void getMacBlock( - byte[] mac) - { - cipher.processBlock(cfbV, 0, mac, 0); - } -} - -public class CFBBlockCipherMac - implements Mac -{ - private byte[] mac; - - private byte[] buf; - private int bufOff; - private MacCFBBlockCipher cipher; - private BlockCipherPadding padding = null; - - - private int macSize; - - /** - * create a standard MAC based on a CFB block cipher. This will produce an - * authentication code half the length of the block size of the cipher, with - * the CFB mode set to 8 bits. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - */ - public CFBBlockCipherMac( - BlockCipher cipher) - { - this(cipher, 8, (cipher.getBlockSize() * 8) / 2, null); - } - - /** - * create a standard MAC based on a CFB block cipher. This will produce an - * authentication code half the length of the block size of the cipher, with - * the CFB mode set to 8 bits. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param padding the padding to be used. - */ - public CFBBlockCipherMac( - BlockCipher cipher, - BlockCipherPadding padding) - { - this(cipher, 8, (cipher.getBlockSize() * 8) / 2, padding); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses CFB mode as the basis for the - * MAC generation. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param cfbBitSize the size of an output block produced by the CFB mode. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - */ - public CFBBlockCipherMac( - BlockCipher cipher, - int cfbBitSize, - int macSizeInBits) - { - this(cipher, cfbBitSize, macSizeInBits, null); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses CFB mode as the basis for the - * MAC generation. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param cfbBitSize the size of an output block produced by the CFB mode. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - * @param padding a padding to be used. - */ - public CFBBlockCipherMac( - BlockCipher cipher, - int cfbBitSize, - int macSizeInBits, - BlockCipherPadding padding) - { - if ((macSizeInBits % 8) != 0) - { - throw new IllegalArgumentException("MAC size must be multiple of 8"); - } - - mac = new byte[cipher.getBlockSize()]; - - this.cipher = new MacCFBBlockCipher(cipher, cfbBitSize); - this.padding = padding; - this.macSize = macSizeInBits / 8; - - buf = new byte[this.cipher.getBlockSize()]; - bufOff = 0; - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - public void init( - CipherParameters params) - { - reset(); - - cipher.init(params); - } - - public int getMacSize() - { - return macSize; - } - - public void update( - byte in) - { - if (bufOff == buf.length) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - public void update( - byte[] in, - int inOff, - int len) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = cipher.getBlockSize(); - int resultLen = 0; - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - resultLen += cipher.processBlock(in, inOff, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal( - byte[] out, - int outOff) - { - int blockSize = cipher.getBlockSize(); - - // - // pad with zeroes - // - if (this.padding == null) - { - while (bufOff < blockSize) - { - buf[bufOff] = 0; - bufOff++; - } - } - else - { - padding.addPadding(buf, bufOff); - } - - cipher.processBlock(buf, 0, mac, 0); - - cipher.getMacBlock(mac); - - System.arraycopy(mac, 0, out, outOff, macSize); - - reset(); - - return macSize; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - /* - * reset the underlying cipher. - */ - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CMac.java deleted file mode 100644 index c1947d063..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/CMac.java +++ /dev/null @@ -1,254 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.ISO7816d4Padding; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html - *

    - * CMAC is analogous to OMAC1 - see also en.wikipedia.org/wiki/CMAC - *

    - * CMAC is a NIST recomendation - see - * csrc.nist.gov/CryptoToolkit/modes/800-38_Series_Publications/SP800-38B.pdf - *

    - * CMAC/OMAC1 is a blockcipher-based message authentication code designed and - * analyzed by Tetsu Iwata and Kaoru Kurosawa. - *

    - * CMAC/OMAC1 is a simple variant of the CBC MAC (Cipher Block Chaining Message - * Authentication Code). OMAC stands for One-Key CBC MAC. - *

    - * It supports 128- or 64-bits block ciphers, with any key size, and returns - * a MAC with dimension less or equal to the block size of the underlying - * cipher. - *

    - */ -public class CMac implements Mac -{ - private static final byte CONSTANT_128 = (byte)0x87; - private static final byte CONSTANT_64 = (byte)0x1b; - - private byte[] ZEROES; - - private byte[] mac; - - private byte[] buf; - private int bufOff; - private BlockCipher cipher; - - private int macSize; - - private byte[] L, Lu, Lu2; - - /** - * create a standard MAC based on a CBC block cipher (64 or 128 bit block). - * This will produce an authentication code the length of the block size - * of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - */ - public CMac(BlockCipher cipher) - { - this(cipher, cipher.getBlockSize() * 8); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8 and <= 128. - */ - public CMac(BlockCipher cipher, int macSizeInBits) - { - if ((macSizeInBits % 8) != 0) - { - throw new IllegalArgumentException("MAC size must be multiple of 8"); - } - - if (macSizeInBits > (cipher.getBlockSize() * 8)) - { - throw new IllegalArgumentException( - "MAC size must be less or equal to " - + (cipher.getBlockSize() * 8)); - } - - if (cipher.getBlockSize() != 8 && cipher.getBlockSize() != 16) - { - throw new IllegalArgumentException( - "Block size must be either 64 or 128 bits"); - } - - this.cipher = new CBCBlockCipher(cipher); - this.macSize = macSizeInBits / 8; - - mac = new byte[cipher.getBlockSize()]; - - buf = new byte[cipher.getBlockSize()]; - - ZEROES = new byte[cipher.getBlockSize()]; - - bufOff = 0; - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - private static int shiftLeft(byte[] block, byte[] output) - { - int i = block.length; - int bit = 0; - while (--i >= 0) - { - int b = block[i] & 0xff; - output[i] = (byte)((b << 1) | bit); - bit = (b >>> 7) & 1; - } - return bit; - } - - private static byte[] doubleLu(byte[] in) - { - byte[] ret = new byte[in.length]; - int carry = shiftLeft(in, ret); - int xor = 0xff & (in.length == 16 ? CONSTANT_128 : CONSTANT_64); - - /* - * NOTE: This construction is an attempt at a constant-time implementation. - */ - ret[in.length - 1] ^= (xor >>> ((1 - carry) << 3)); - - return ret; - } - - public void init(CipherParameters params) - { - if (params instanceof KeyParameter) - { - cipher.init(true, params); - - //initializes the L, Lu, Lu2 numbers - L = new byte[ZEROES.length]; - cipher.processBlock(ZEROES, 0, L, 0); - Lu = doubleLu(L); - Lu2 = doubleLu(Lu); - } else if (params != null) - { - // CMAC mode does not permit IV to underlying CBC mode - throw new IllegalArgumentException("CMac mode only permits key to be set."); - } - - reset(); - } - - public int getMacSize() - { - return macSize; - } - - public void update(byte in) - { - if (bufOff == buf.length) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - public void update(byte[] in, int inOff, int len) - { - if (len < 0) - { - throw new IllegalArgumentException( - "Can't have a negative input length!"); - } - - int blockSize = cipher.getBlockSize(); - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - cipher.processBlock(buf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - cipher.processBlock(in, inOff, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal(byte[] out, int outOff) - { - int blockSize = cipher.getBlockSize(); - - byte[] lu; - if (bufOff == blockSize) - { - lu = Lu; - } - else - { - new ISO7816d4Padding().addPadding(buf, bufOff); - lu = Lu2; - } - - for (int i = 0; i < mac.length; i++) - { - buf[i] ^= lu[i]; - } - - cipher.processBlock(buf, 0, mac, 0); - - System.arraycopy(mac, 0, out, outOff, macSize); - - reset(); - - return macSize; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - /* - * reset the underlying cipher. - */ - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GMac.java deleted file mode 100644 index acaa819a4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GMac.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.modes.GCMBlockCipher; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * The GMAC specialisation of Galois/Counter mode (GCM) detailed in NIST Special Publication - * 800-38D. - *

    - * GMac is an invocation of the GCM mode where no data is encrypted (i.e. all input data to the Mac - * is processed as additional authenticated data with the underlying GCM block cipher). - */ -public class GMac implements Mac -{ - private final GCMBlockCipher cipher; - private final int macSizeBits; - - /** - * Creates a GMAC based on the operation of a block cipher in GCM mode. - *

    - * This will produce an authentication code the length of the block size of the cipher. - * - * @param cipher - * the cipher to be used in GCM mode to generate the MAC. - */ - public GMac(final GCMBlockCipher cipher) - { - // use of this confused flow analyser in some earlier JDKs - this.cipher = cipher; - this.macSizeBits = 128; - } - - /** - * Creates a GMAC based on the operation of a 128 bit block cipher in GCM mode. - * - * @param macSizeBits - * the mac size to generate, in bits. Must be a multiple of 8 and >= 96 and <= 128. - * @param cipher - * the cipher to be used in GCM mode to generate the MAC. - */ - public GMac(final GCMBlockCipher cipher, final int macSizeBits) - { - this.cipher = cipher; - this.macSizeBits = macSizeBits; - } - - /** - * Initialises the GMAC - requires a {@link ParametersWithIV} providing a {@link KeyParameter} - * and a nonce. - */ - public void init(final CipherParameters params) throws IllegalArgumentException - { - if (params instanceof ParametersWithIV) - { - final ParametersWithIV param = (ParametersWithIV)params; - - final byte[] iv = param.getIV(); - final KeyParameter keyParam = (KeyParameter)param.getParameters(); - - // GCM is always operated in encrypt mode to calculate MAC - cipher.init(true, new AEADParameters(keyParam, macSizeBits, iv)); - } - else - { - throw new IllegalArgumentException("GMAC requires ParametersWithIV"); - } - } - - public String getAlgorithmName() - { - return cipher.getUnderlyingCipher().getAlgorithmName() + "-GMAC"; - } - - public int getMacSize() - { - return macSizeBits / 8; - } - - public void update(byte in) throws IllegalStateException - { - cipher.processAADByte(in); - } - - public void update(byte[] in, int inOff, int len) - throws DataLengthException, IllegalStateException - { - cipher.processAADBytes(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - try - { - return cipher.doFinal(out, outOff); - } - catch (InvalidCipherTextException e) - { - // Impossible in encrypt mode - throw new IllegalStateException(e.toString()); - } - } - - public void reset() - { - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GOST28147Mac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GOST28147Mac.java deleted file mode 100644 index 4a245760f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/GOST28147Mac.java +++ /dev/null @@ -1,298 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithSBox; - -/** - * implementation of GOST 28147-89 MAC - */ -public class GOST28147Mac - implements Mac -{ - private int blockSize = 8; - private int macSize = 4; - private int bufOff; - private byte[] buf; - private byte[] mac; - private boolean firstStep = true; - private int[] workingKey = null; - - // - // This is default S-box - E_A. - private byte S[] = { - 0x9,0x6,0x3,0x2,0x8,0xB,0x1,0x7,0xA,0x4,0xE,0xF,0xC,0x0,0xD,0x5, - 0x3,0x7,0xE,0x9,0x8,0xA,0xF,0x0,0x5,0x2,0x6,0xC,0xB,0x4,0xD,0x1, - 0xE,0x4,0x6,0x2,0xB,0x3,0xD,0x8,0xC,0xF,0x5,0xA,0x0,0x7,0x1,0x9, - 0xE,0x7,0xA,0xC,0xD,0x1,0x3,0x9,0x0,0x2,0xB,0x4,0xF,0x8,0x5,0x6, - 0xB,0x5,0x1,0x9,0x8,0xD,0xF,0x0,0xE,0x4,0x2,0x3,0xC,0x7,0xA,0x6, - 0x3,0xA,0xD,0xC,0x1,0x2,0x0,0xB,0x7,0x5,0x9,0x4,0x8,0xF,0xE,0x6, - 0x1,0xD,0x2,0x9,0x7,0xA,0x6,0x0,0x8,0xC,0x4,0x5,0xF,0x3,0xB,0xE, - 0xB,0xA,0xF,0x5,0x0,0xC,0xE,0x8,0x6,0x2,0x3,0x9,0x1,0x7,0xD,0x4 - }; - - public GOST28147Mac() - { - mac = new byte[blockSize]; - - buf = new byte[blockSize]; - bufOff = 0; - } - - private int[] generateWorkingKey( - byte[] userKey) - { - if (userKey.length != 32) - { - throw new IllegalArgumentException("Key length invalid. Key needs to be 32 byte - 256 bit!!!"); - } - - int key[] = new int[8]; - for(int i=0; i!=8; i++) - { - key[i] = bytesToint(userKey,i*4); - } - - return key; - } - - public void init( - CipherParameters params) - throws IllegalArgumentException - { - reset(); - buf = new byte[blockSize]; - if (params instanceof ParametersWithSBox) - { - ParametersWithSBox param = (ParametersWithSBox)params; - - // - // Set the S-Box - // - System.arraycopy(param.getSBox(), 0, this.S, 0, param.getSBox().length); - - // - // set key if there is one - // - if (param.getParameters() != null) - { - workingKey = generateWorkingKey(((KeyParameter)param.getParameters()).getKey()); - } - } - else if (params instanceof KeyParameter) - { - workingKey = generateWorkingKey(((KeyParameter)params).getKey()); - } - else - { - throw new IllegalArgumentException("invalid parameter passed to GOST28147 init - " + params.getClass().getName()); - } - } - - public String getAlgorithmName() - { - return "GOST28147Mac"; - } - - public int getMacSize() - { - return macSize; - } - - private int gost28147_mainStep(int n1, int key) - { - int cm = (key + n1); // CM1 - - // S-box replacing - - int om = S[ 0 + ((cm >> (0 * 4)) & 0xF)] << (0 * 4); - om += S[ 16 + ((cm >> (1 * 4)) & 0xF)] << (1 * 4); - om += S[ 32 + ((cm >> (2 * 4)) & 0xF)] << (2 * 4); - om += S[ 48 + ((cm >> (3 * 4)) & 0xF)] << (3 * 4); - om += S[ 64 + ((cm >> (4 * 4)) & 0xF)] << (4 * 4); - om += S[ 80 + ((cm >> (5 * 4)) & 0xF)] << (5 * 4); - om += S[ 96 + ((cm >> (6 * 4)) & 0xF)] << (6 * 4); - om += S[112 + ((cm >> (7 * 4)) & 0xF)] << (7 * 4); - - return om << 11 | om >>> (32-11); // 11-leftshift - } - - private void gost28147MacFunc( - int[] workingKey, - byte[] in, - int inOff, - byte[] out, - int outOff) - { - int N1, N2, tmp; //tmp -> for saving N1 - N1 = bytesToint(in, inOff); - N2 = bytesToint(in, inOff + 4); - - for(int k = 0; k < 2; k++) // 1-16 steps - { - for(int j = 0; j < 8; j++) - { - tmp = N1; - N1 = N2 ^ gost28147_mainStep(N1, workingKey[j]); // CM2 - N2 = tmp; - } - } - - intTobytes(N1, out, outOff); - intTobytes(N2, out, outOff + 4); - } - - //array of bytes to type int - private int bytesToint( - byte[] in, - int inOff) - { - return ((in[inOff + 3] << 24) & 0xff000000) + ((in[inOff + 2] << 16) & 0xff0000) + - ((in[inOff + 1] << 8) & 0xff00) + (in[inOff] & 0xff); - } - - //int to array of bytes - private void intTobytes( - int num, - byte[] out, - int outOff) - { - out[outOff + 3] = (byte)(num >>> 24); - out[outOff + 2] = (byte)(num >>> 16); - out[outOff + 1] = (byte)(num >>> 8); - out[outOff] = (byte)num; - } - - private byte[] CM5func(byte[] buf, int bufOff, byte[] mac) - { - byte[] sum = new byte[buf.length - bufOff]; - - System.arraycopy(buf, bufOff, sum, 0, mac.length); - - for (int i = 0; i != mac.length; i++) - { - sum[i] = (byte)(sum[i] ^ mac[i]); - } - - return sum; - } - - public void update(byte in) - throws IllegalStateException - { - if (bufOff == buf.length) - { - byte[] sumbuf = new byte[buf.length]; - System.arraycopy(buf, 0, sumbuf, 0, mac.length); - - if (firstStep) - { - firstStep = false; - } - else - { - sumbuf = CM5func(buf, 0, mac); - } - - gost28147MacFunc(workingKey, sumbuf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - public void update(byte[] in, int inOff, int len) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - byte[] sumbuf = new byte[buf.length]; - System.arraycopy(buf, 0, sumbuf, 0, mac.length); - - if (firstStep) - { - firstStep = false; - } - else - { - sumbuf = CM5func(buf, 0, mac); - } - - gost28147MacFunc(workingKey, sumbuf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - sumbuf = CM5func(in, inOff, mac); - gost28147MacFunc(workingKey, sumbuf, 0, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal(byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - //padding with zero - while (bufOff < blockSize) - { - buf[bufOff] = 0; - bufOff++; - } - - byte[] sumbuf = new byte[buf.length]; - System.arraycopy(buf, 0, sumbuf, 0, mac.length); - - if (firstStep) - { - firstStep = false; - } - else - { - sumbuf = CM5func(buf, 0, mac); - } - - gost28147MacFunc(workingKey, sumbuf, 0, mac, 0); - - System.arraycopy(mac, (mac.length/2)-macSize, out, outOff, macSize); - - reset(); - - return macSize; - } - - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - firstStep = true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/HMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/HMac.java deleted file mode 100644 index e7c0fe568..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/HMac.java +++ /dev/null @@ -1,231 +0,0 @@ -package org.spongycastle.crypto.macs; - -import java.util.Hashtable; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Integers; -import org.spongycastle.util.Memoable; - -/** - * HMAC implementation based on RFC2104 - * - * H(K XOR opad, H(K XOR ipad, text)) - */ -public class HMac - implements Mac -{ - private final static byte IPAD = (byte)0x36; - private final static byte OPAD = (byte)0x5C; - - private Digest digest; - private int digestSize; - private int blockLength; - private Memoable ipadState; - private Memoable opadState; - - private byte[] inputPad; - private byte[] outputBuf; - - private static Hashtable blockLengths; - - static - { - blockLengths = new Hashtable(); - - blockLengths.put("GOST3411", Integers.valueOf(32)); - - blockLengths.put("MD2", Integers.valueOf(16)); - blockLengths.put("MD4", Integers.valueOf(64)); - blockLengths.put("MD5", Integers.valueOf(64)); - - blockLengths.put("RIPEMD128", Integers.valueOf(64)); - blockLengths.put("RIPEMD160", Integers.valueOf(64)); - - blockLengths.put("SHA-1", Integers.valueOf(64)); - blockLengths.put("SHA-224", Integers.valueOf(64)); - blockLengths.put("SHA-256", Integers.valueOf(64)); - blockLengths.put("SHA-384", Integers.valueOf(128)); - blockLengths.put("SHA-512", Integers.valueOf(128)); - - blockLengths.put("Tiger", Integers.valueOf(64)); - blockLengths.put("Whirlpool", Integers.valueOf(64)); - } - - private static int getByteLength( - Digest digest) - { - if (digest instanceof ExtendedDigest) - { - return ((ExtendedDigest)digest).getByteLength(); - } - - Integer b = (Integer)blockLengths.get(digest.getAlgorithmName()); - - if (b == null) - { - throw new IllegalArgumentException("unknown digest passed: " + digest.getAlgorithmName()); - } - - return b.intValue(); - } - - /** - * Base constructor for one of the standard digest algorithms that the - * byteLength of the algorithm is know for. - * - * @param digest the digest. - */ - public HMac( - Digest digest) - { - this(digest, getByteLength(digest)); - } - - private HMac( - Digest digest, - int byteLength) - { - this.digest = digest; - this.digestSize = digest.getDigestSize(); - this.blockLength = byteLength; - this.inputPad = new byte[blockLength]; - this.outputBuf = new byte[blockLength + digestSize]; - } - - public String getAlgorithmName() - { - return digest.getAlgorithmName() + "/HMAC"; - } - - public Digest getUnderlyingDigest() - { - return digest; - } - - public void init( - CipherParameters params) - { - digest.reset(); - - byte[] key = ((KeyParameter)params).getKey(); - int keyLength = key.length; - - if (keyLength > blockLength) - { - digest.update(key, 0, keyLength); - digest.doFinal(inputPad, 0); - - keyLength = digestSize; - } - else - { - System.arraycopy(key, 0, inputPad, 0, keyLength); - } - - for (int i = keyLength; i < inputPad.length; i++) - { - inputPad[i] = 0; - } - - System.arraycopy(inputPad, 0, outputBuf, 0, blockLength); - - xorPad(inputPad, blockLength, IPAD); - xorPad(outputBuf, blockLength, OPAD); - - if (digest instanceof Memoable) - { - opadState = ((Memoable)digest).copy(); - - ((Digest)opadState).update(outputBuf, 0, blockLength); - } - - digest.update(inputPad, 0, inputPad.length); - - if (digest instanceof Memoable) - { - ipadState = ((Memoable)digest).copy(); - } - } - - public int getMacSize() - { - return digestSize; - } - - public void update( - byte in) - { - digest.update(in); - } - - public void update( - byte[] in, - int inOff, - int len) - { - digest.update(in, inOff, len); - } - - public int doFinal( - byte[] out, - int outOff) - { - digest.doFinal(outputBuf, blockLength); - - if (opadState != null) - { - ((Memoable)digest).reset(opadState); - digest.update(outputBuf, blockLength, digest.getDigestSize()); - } - else - { - digest.update(outputBuf, 0, outputBuf.length); - } - - int len = digest.doFinal(out, outOff); - - for (int i = blockLength; i < outputBuf.length; i++) - { - outputBuf[i] = 0; - } - - if (ipadState != null) - { - ((Memoable)digest).reset(ipadState); - } - else - { - digest.update(inputPad, 0, inputPad.length); - } - - return len; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * reset the underlying digest. - */ - digest.reset(); - - /* - * reinitialize the digest. - */ - digest.update(inputPad, 0, inputPad.length); - } - - private static void xorPad(byte[] pad, int len, byte n) - { - for (int i = 0; i < len; ++i) - { - pad[i] ^= n; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/ISO9797Alg3Mac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/ISO9797Alg3Mac.java deleted file mode 100644 index 276c7e443..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/ISO9797Alg3Mac.java +++ /dev/null @@ -1,305 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.BlockCipherPadding; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * DES based CBC Block Cipher MAC according to ISO9797, algorithm 3 (ANSI X9.19 Retail MAC) - * - * This could as well be derived from CBCBlockCipherMac, but then the property mac in the base - * class must be changed to protected - */ - -public class ISO9797Alg3Mac - implements Mac -{ - private byte[] mac; - - private byte[] buf; - private int bufOff; - private BlockCipher cipher; - private BlockCipherPadding padding; - - private int macSize; - private KeyParameter lastKey2; - private KeyParameter lastKey3; - - /** - * create a Retail-MAC based on a CBC block cipher. This will produce an - * authentication code of the length of the block size of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. This must - * be DESEngine. - */ - public ISO9797Alg3Mac( - BlockCipher cipher) - { - this(cipher, cipher.getBlockSize() * 8, null); - } - - /** - * create a Retail-MAC based on a CBC block cipher. This will produce an - * authentication code of the length of the block size of the cipher. - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param padding the padding to be used to complete the last block. - */ - public ISO9797Alg3Mac( - BlockCipher cipher, - BlockCipherPadding padding) - { - this(cipher, cipher.getBlockSize() * 8, padding); - } - - /** - * create a Retail-MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses single DES CBC mode as the basis for the - * MAC generation. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - */ - public ISO9797Alg3Mac( - BlockCipher cipher, - int macSizeInBits) - { - this(cipher, macSizeInBits, null); - } - - /** - * create a standard MAC based on a block cipher with the size of the - * MAC been given in bits. This class uses single DES CBC mode as the basis for the - * MAC generation. The final block is decrypted and then encrypted using the - * middle and right part of the key. - *

    - * Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), - * or 16 bits if being used as a data authenticator (FIPS Publication 113), - * and in general should be less than the size of the block cipher as it reduces - * the chance of an exhaustive attack (see Handbook of Applied Cryptography). - * - * @param cipher the cipher to be used as the basis of the MAC generation. - * @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. - * @param padding the padding to be used to complete the last block. - */ - public ISO9797Alg3Mac( - BlockCipher cipher, - int macSizeInBits, - BlockCipherPadding padding) - { - if ((macSizeInBits % 8) != 0) - { - throw new IllegalArgumentException("MAC size must be multiple of 8"); - } - - if (!(cipher instanceof DESEngine)) - { - throw new IllegalArgumentException("cipher must be instance of DESEngine"); - } - - this.cipher = new CBCBlockCipher(cipher); - this.padding = padding; - this.macSize = macSizeInBits / 8; - - mac = new byte[cipher.getBlockSize()]; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - } - - public String getAlgorithmName() - { - return "ISO9797Alg3"; - } - - public void init(CipherParameters params) - { - reset(); - - if (!(params instanceof KeyParameter || params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException( - "params must be an instance of KeyParameter or ParametersWithIV"); - } - - // KeyParameter must contain a double or triple length DES key, - // however the underlying cipher is a single DES. The middle and - // right key are used only in the final step. - - KeyParameter kp; - - if (params instanceof KeyParameter) - { - kp = (KeyParameter)params; - } - else - { - kp = (KeyParameter)((ParametersWithIV)params).getParameters(); - } - - KeyParameter key1; - byte[] keyvalue = kp.getKey(); - - if (keyvalue.length == 16) - { // Double length DES key - key1 = new KeyParameter(keyvalue, 0, 8); - this.lastKey2 = new KeyParameter(keyvalue, 8, 8); - this.lastKey3 = key1; - } - else if (keyvalue.length == 24) - { // Triple length DES key - key1 = new KeyParameter(keyvalue, 0, 8); - this.lastKey2 = new KeyParameter(keyvalue, 8, 8); - this.lastKey3 = new KeyParameter(keyvalue, 16, 8); - } - else - { - throw new IllegalArgumentException( - "Key must be either 112 or 168 bit long"); - } - - if (params instanceof ParametersWithIV) - { - cipher.init(true, new ParametersWithIV(key1, ((ParametersWithIV)params).getIV())); - } - else - { - cipher.init(true, key1); - } - } - - public int getMacSize() - { - return macSize; - } - - public void update( - byte in) - { - if (bufOff == buf.length) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - buf[bufOff++] = in; - } - - - public void update( - byte[] in, - int inOff, - int len) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = cipher.getBlockSize(); - int resultLen = 0; - int gapLen = blockSize - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, mac, 0); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - resultLen += cipher.processBlock(in, inOff, mac, 0); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - public int doFinal( - byte[] out, - int outOff) - { - int blockSize = cipher.getBlockSize(); - - if (padding == null) - { - // - // pad with zeroes - // - while (bufOff < blockSize) - { - buf[bufOff] = 0; - bufOff++; - } - } - else - { - if (bufOff == blockSize) - { - cipher.processBlock(buf, 0, mac, 0); - bufOff = 0; - } - - padding.addPadding(buf, bufOff); - } - - cipher.processBlock(buf, 0, mac, 0); - - // Added to code from base class - DESEngine deseng = new DESEngine(); - - deseng.init(false, this.lastKey2); - deseng.processBlock(mac, 0, mac, 0); - - deseng.init(true, this.lastKey3); - deseng.processBlock(mac, 0, mac, 0); - // **** - - System.arraycopy(mac, 0, out, outOff, macSize); - - reset(); - - return macSize; - } - - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * clean the buffer. - */ - for (int i = 0; i < buf.length; i++) - { - buf[i] = 0; - } - - bufOff = 0; - - /* - * reset the underlying cipher. - */ - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/OldHMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/OldHMac.java deleted file mode 100644 index ff6808388..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/OldHMac.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; - -/** - * HMAC implementation based on RFC2104 - * - * H(K XOR opad, H(K XOR ipad, text)) - */ -public class OldHMac -implements Mac -{ - private final static int BLOCK_LENGTH = 64; - - private final static byte IPAD = (byte)0x36; - private final static byte OPAD = (byte)0x5C; - - private Digest digest; - private int digestSize; - private byte[] inputPad = new byte[BLOCK_LENGTH]; - private byte[] outputPad = new byte[BLOCK_LENGTH]; - - /** - * @deprecated uses incorrect pad for SHA-512 and SHA-384 use HMac. - */ - public OldHMac( - Digest digest) - { - this.digest = digest; - digestSize = digest.getDigestSize(); - } - - public String getAlgorithmName() - { - return digest.getAlgorithmName() + "/HMAC"; - } - - public Digest getUnderlyingDigest() - { - return digest; - } - - public void init( - CipherParameters params) - { - digest.reset(); - - byte[] key = ((KeyParameter)params).getKey(); - - if (key.length > BLOCK_LENGTH) - { - digest.update(key, 0, key.length); - digest.doFinal(inputPad, 0); - for (int i = digestSize; i < inputPad.length; i++) - { - inputPad[i] = 0; - } - } - else - { - System.arraycopy(key, 0, inputPad, 0, key.length); - for (int i = key.length; i < inputPad.length; i++) - { - inputPad[i] = 0; - } - } - - outputPad = new byte[inputPad.length]; - System.arraycopy(inputPad, 0, outputPad, 0, inputPad.length); - - for (int i = 0; i < inputPad.length; i++) - { - inputPad[i] ^= IPAD; - } - - for (int i = 0; i < outputPad.length; i++) - { - outputPad[i] ^= OPAD; - } - - digest.update(inputPad, 0, inputPad.length); - } - - public int getMacSize() - { - return digestSize; - } - - public void update( - byte in) - { - digest.update(in); - } - - public void update( - byte[] in, - int inOff, - int len) - { - digest.update(in, inOff, len); - } - - public int doFinal( - byte[] out, - int outOff) - { - byte[] tmp = new byte[digestSize]; - digest.doFinal(tmp, 0); - - digest.update(outputPad, 0, outputPad.length); - digest.update(tmp, 0, tmp.length); - - int len = digest.doFinal(out, outOff); - - reset(); - - return len; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - /* - * reset the underlying digest. - */ - digest.reset(); - - /* - * reinitialize the digest. - */ - digest.update(inputPad, 0, inputPad.length); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/Poly1305.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/Poly1305.java deleted file mode 100644 index ca1558d82..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/Poly1305.java +++ /dev/null @@ -1,279 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.Poly1305KeyGenerator; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.util.Pack; - -/** - * Poly1305 message authentication code, designed by D. J. Bernstein. - *

    - * Poly1305 computes a 128-bit (16 bytes) authenticator, using a 128 bit nonce and a 256 bit key - * consisting of a 128 bit key applied to an underlying cipher, and a 128 bit key (with 106 - * effective key bits) used in the authenticator. - *

    - * The polynomial calculation in this implementation is adapted from the public domain poly1305-donna-unrolled C implementation - * by Andrew M (@floodyberry). - * @see Poly1305KeyGenerator - */ -public class Poly1305 - implements Mac -{ - private static final int BLOCK_SIZE = 16; - - private final BlockCipher cipher; - - private final byte[] singleByte = new byte[1]; - - // Initialised state - - /** Polynomial key */ - private int r0, r1, r2, r3, r4; - - /** Precomputed 5 * r[1..4] */ - private int s1, s2, s3, s4; - - /** Encrypted nonce */ - private int k0, k1, k2, k3; - - // Accumulating state - - /** Current block of buffered input */ - private final byte[] currentBlock = new byte[BLOCK_SIZE]; - - /** Current offset in input buffer */ - private int currentBlockOffset = 0; - - /** Polynomial accumulator */ - private int h0, h1, h2, h3, h4; - - /** - * Constructs a Poly1305 MAC, using a 128 bit block cipher. - */ - public Poly1305(final BlockCipher cipher) - { - if (cipher.getBlockSize() != BLOCK_SIZE) - { - throw new IllegalArgumentException("Poly1305 requires a 128 bit block cipher."); - } - this.cipher = cipher; - } - - /** - * Initialises the Poly1305 MAC. - * - * @param a {@link ParametersWithIV} containing a 128 bit nonce and a {@link KeyParameter} with - * a 256 bit key complying to the {@link Poly1305KeyGenerator Poly1305 key format}. - */ - public void init(final CipherParameters params) - throws IllegalArgumentException - { - final byte[] nonce; - final byte[] key; - if ((params instanceof ParametersWithIV) && ((ParametersWithIV)params).getParameters() instanceof KeyParameter) - { - nonce = ((ParametersWithIV)params).getIV(); - key = ((KeyParameter)((ParametersWithIV)params).getParameters()).getKey(); - } - else - { - throw new IllegalArgumentException("Poly1305 requires a key and and IV."); - } - - setKey(key, nonce); - reset(); - } - - private void setKey(final byte[] key, final byte[] nonce) - { - if (nonce.length != BLOCK_SIZE) - { - throw new IllegalArgumentException("Poly1305 requires a 128 bit IV."); - } - Poly1305KeyGenerator.checkKey(key); - - // Extract r portion of key - int t0 = Pack.littleEndianToInt(key, BLOCK_SIZE + 0); - int t1 = Pack.littleEndianToInt(key, BLOCK_SIZE + 4); - int t2 = Pack.littleEndianToInt(key, BLOCK_SIZE + 8); - int t3 = Pack.littleEndianToInt(key, BLOCK_SIZE + 12); - - r0 = t0 & 0x3ffffff; t0 >>>= 26; t0 |= t1 << 6; - r1 = t0 & 0x3ffff03; t1 >>>= 20; t1 |= t2 << 12; - r2 = t1 & 0x3ffc0ff; t2 >>>= 14; t2 |= t3 << 18; - r3 = t2 & 0x3f03fff; t3 >>>= 8; - r4 = t3 & 0x00fffff; - - // Precompute multipliers - s1 = r1 * 5; - s2 = r2 * 5; - s3 = r3 * 5; - s4 = r4 * 5; - - // Compute encrypted nonce - final byte[] cipherKey = new byte[BLOCK_SIZE]; - System.arraycopy(key, 0, cipherKey, 0, cipherKey.length); - - cipher.init(true, new KeyParameter(cipherKey)); - cipher.processBlock(nonce, 0, cipherKey, 0); - - k0 = Pack.littleEndianToInt(cipherKey, 0); - k1 = Pack.littleEndianToInt(cipherKey, 4); - k2 = Pack.littleEndianToInt(cipherKey, 8); - k3 = Pack.littleEndianToInt(cipherKey, 12); - } - - public String getAlgorithmName() - { - return "Poly1305-" + cipher.getAlgorithmName(); - } - - public int getMacSize() - { - return BLOCK_SIZE; - } - - public void update(final byte in) - throws IllegalStateException - { - singleByte[0] = in; - update(singleByte, 0, 1); - } - - public void update(final byte[] in, final int inOff, final int len) - throws DataLengthException, - IllegalStateException - { - int copied = 0; - while (len > copied) - { - if (currentBlockOffset == BLOCK_SIZE) - { - processBlock(); - currentBlockOffset = 0; - } - - int toCopy = Math.min((len - copied), BLOCK_SIZE - currentBlockOffset); - System.arraycopy(in, copied + inOff, currentBlock, currentBlockOffset, toCopy); - copied += toCopy; - currentBlockOffset += toCopy; - } - - } - - private void processBlock() - { - if (currentBlockOffset < BLOCK_SIZE) - { - currentBlock[currentBlockOffset] = 1; - for (int i = currentBlockOffset + 1; i < BLOCK_SIZE; i++) - { - currentBlock[i] = 0; - } - } - - final long t0 = 0xffffffffL & Pack.littleEndianToInt(currentBlock, 0); - final long t1 = 0xffffffffL & Pack.littleEndianToInt(currentBlock, 4); - final long t2 = 0xffffffffL & Pack.littleEndianToInt(currentBlock, 8); - final long t3 = 0xffffffffL & Pack.littleEndianToInt(currentBlock, 12); - - h0 += t0 & 0x3ffffff; - h1 += (((t1 << 32) | t0) >>> 26) & 0x3ffffff; - h2 += (((t2 << 32) | t1) >>> 20) & 0x3ffffff; - h3 += (((t3 << 32) | t2) >>> 14) & 0x3ffffff; - h4 += (t3 >>> 8); - - if (currentBlockOffset == BLOCK_SIZE) - { - h4 += (1 << 24); - } - - long tp0 = mul32x32_64(h0,r0) + mul32x32_64(h1,s4) + mul32x32_64(h2,s3) + mul32x32_64(h3,s2) + mul32x32_64(h4,s1); - long tp1 = mul32x32_64(h0,r1) + mul32x32_64(h1,r0) + mul32x32_64(h2,s4) + mul32x32_64(h3,s3) + mul32x32_64(h4,s2); - long tp2 = mul32x32_64(h0,r2) + mul32x32_64(h1,r1) + mul32x32_64(h2,r0) + mul32x32_64(h3,s4) + mul32x32_64(h4,s3); - long tp3 = mul32x32_64(h0,r3) + mul32x32_64(h1,r2) + mul32x32_64(h2,r1) + mul32x32_64(h3,r0) + mul32x32_64(h4,s4); - long tp4 = mul32x32_64(h0,r4) + mul32x32_64(h1,r3) + mul32x32_64(h2,r2) + mul32x32_64(h3,r1) + mul32x32_64(h4,r0); - - long b; - h0 = (int)tp0 & 0x3ffffff; b = (tp0 >>> 26); - tp1 += b; h1 = (int)tp1 & 0x3ffffff; b = ((tp1 >>> 26) & 0xffffffff); - tp2 += b; h2 = (int)tp2 & 0x3ffffff; b = ((tp2 >>> 26) & 0xffffffff); - tp3 += b; h3 = (int)tp3 & 0x3ffffff; b = (tp3 >>> 26); - tp4 += b; h4 = (int)tp4 & 0x3ffffff; b = (tp4 >>> 26); - h0 += b * 5; - } - - public int doFinal(final byte[] out, final int outOff) - throws DataLengthException, - IllegalStateException - { - if (outOff + BLOCK_SIZE > out.length) - { - throw new DataLengthException("Output buffer is too short."); - } - - if (currentBlockOffset > 0) - { - // Process padded final block - processBlock(); - } - - long f0, f1, f2, f3; - - int b = h0 >>> 26; - h0 = h0 & 0x3ffffff; - h1 += b; b = h1 >>> 26; h1 = h1 & 0x3ffffff; - h2 += b; b = h2 >>> 26; h2 = h2 & 0x3ffffff; - h3 += b; b = h3 >>> 26; h3 = h3 & 0x3ffffff; - h4 += b; b = h4 >>> 26; h4 = h4 & 0x3ffffff; - h0 += b * 5; - - int g0, g1, g2, g3, g4; - g0 = h0 + 5; b = g0 >>> 26; g0 &= 0x3ffffff; - g1 = h1 + b; b = g1 >>> 26; g1 &= 0x3ffffff; - g2 = h2 + b; b = g2 >>> 26; g2 &= 0x3ffffff; - g3 = h3 + b; b = g3 >>> 26; g3 &= 0x3ffffff; - g4 = h4 + b - (1 << 26); - - b = (g4 >>> 31) - 1; - int nb = ~b; - h0 = (h0 & nb) | (g0 & b); - h1 = (h1 & nb) | (g1 & b); - h2 = (h2 & nb) | (g2 & b); - h3 = (h3 & nb) | (g3 & b); - h4 = (h4 & nb) | (g4 & b); - - f0 = (((h0 ) | (h1 << 26)) & 0xffffffffl) + (0xffffffffL & k0); - f1 = (((h1 >>> 6 ) | (h2 << 20)) & 0xffffffffl) + (0xffffffffL & k1); - f2 = (((h2 >>> 12) | (h3 << 14)) & 0xffffffffl) + (0xffffffffL & k2); - f3 = (((h3 >>> 18) | (h4 << 8 )) & 0xffffffffl) + (0xffffffffL & k3); - - Pack.intToLittleEndian((int)f0, out, outOff); - f1 += (f0 >>> 32); - Pack.intToLittleEndian((int)f1, out, outOff + 4); - f2 += (f1 >>> 32); - Pack.intToLittleEndian((int)f2, out, outOff + 8); - f3 += (f2 >>> 32); - Pack.intToLittleEndian((int)f3, out, outOff + 12); - - reset(); - return BLOCK_SIZE; - } - - public void reset() - { - currentBlockOffset = 0; - - h0 = h1 = h2 = h3 = h4 = 0; - } - - private static final long mul32x32_64(int i1, int i2) - { - return ((long)i1) * i2; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SipHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SipHash.java deleted file mode 100644 index 140576471..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SipHash.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -/** - * Implementation of SipHash as specified in "SipHash: a fast short-input PRF", by Jean-Philippe - * Aumasson and Daniel J. Bernstein (https://131002.net/siphash/siphash.pdf). - *

    - * "SipHash is a family of PRFs SipHash-c-d where the integer parameters c and d are the number of - * compression rounds and the number of finalization rounds. A compression round is identical to a - * finalization round and this round function is called SipRound. Given a 128-bit key k and a - * (possibly empty) byte string m, SipHash-c-d returns a 64-bit value..." - */ -public class SipHash - implements Mac -{ - - protected final int c, d; - - protected long k0, k1; - protected long v0, v1, v2, v3, v4; - - protected byte[] buf = new byte[8]; - protected int bufPos = 0; - protected int wordCount = 0; - - /** - * SipHash-2-4 - */ - public SipHash() - { - // use of this confuses flow analyser on earlier JDKs. - this.c = 2; - this.d = 4; - } - - /** - * SipHash-c-d - * - * @param c the number of compression rounds - * @param d the number of finalization rounds - */ - public SipHash(int c, int d) - { - this.c = c; - this.d = d; - } - - public String getAlgorithmName() - { - return "SipHash-" + c + "-" + d; - } - - public int getMacSize() - { - return 8; - } - - public void init(CipherParameters params) - throws IllegalArgumentException - { - if (!(params instanceof KeyParameter)) - { - throw new IllegalArgumentException("'params' must be an instance of KeyParameter"); - } - KeyParameter keyParameter = (KeyParameter)params; - byte[] key = keyParameter.getKey(); - if (key.length != 16) - { - throw new IllegalArgumentException("'params' must be a 128-bit key"); - } - - this.k0 = Pack.littleEndianToLong(key, 0); - this.k1 = Pack.littleEndianToLong(key, 8); - - reset(); - } - - public void update(byte input) - throws IllegalStateException - { - - buf[bufPos] = input; - if (++bufPos == buf.length) - { - processMessageWord(); - bufPos = 0; - } - } - - public void update(byte[] input, int offset, int length) - throws DataLengthException, - IllegalStateException - { - - for (int i = 0; i < length; ++i) - { - buf[bufPos] = input[offset + i]; - if (++bufPos == buf.length) - { - processMessageWord(); - bufPos = 0; - } - } - } - - public long doFinal() - throws DataLengthException, IllegalStateException - { - - buf[7] = (byte)(((wordCount << 3) + bufPos) & 0xff); - while (bufPos < 7) - { - buf[bufPos++] = 0; - } - - processMessageWord(); - - v2 ^= 0xffL; - - applySipRounds(d); - - long result = v0 ^ v1 ^ v2 ^ v3; - - reset(); - - return result; - } - - public int doFinal(byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - - long result = doFinal(); - Pack.longToLittleEndian(result, out, outOff); - return 8; - } - - public void reset() - { - - v0 = k0 ^ 0x736f6d6570736575L; - v1 = k1 ^ 0x646f72616e646f6dL; - v2 = k0 ^ 0x6c7967656e657261L; - v3 = k1 ^ 0x7465646279746573L; - - Arrays.fill(buf, (byte)0); - bufPos = 0; - wordCount = 0; - } - - protected void processMessageWord() - { - - ++wordCount; - long m = Pack.littleEndianToLong(buf, 0); - v3 ^= m; - applySipRounds(c); - v0 ^= m; - } - - protected void applySipRounds(int n) - { - for (int r = 0; r < n; ++r) - { - v0 += v1; - v2 += v3; - v1 = rotateLeft(v1, 13); - v3 = rotateLeft(v3, 16); - v1 ^= v0; - v3 ^= v2; - v0 = rotateLeft(v0, 32); - v2 += v1; - v0 += v3; - v1 = rotateLeft(v1, 17); - v3 = rotateLeft(v3, 21); - v1 ^= v2; - v3 ^= v0; - v2 = rotateLeft(v2, 32); - } - } - - protected static long rotateLeft(long x, int n) - { - return (x << n) | (x >>> (64 - n)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SkeinMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SkeinMac.java deleted file mode 100644 index 4d2ec47fe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/SkeinMac.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.digests.SkeinEngine; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.SkeinParameters; - -/** - * Implementation of the Skein parameterised MAC function in 256, 512 and 1024 bit block sizes, - * based on the {@link ThreefishEngine Threefish} tweakable block cipher. - *

    - * This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 - * competition in October 2010. - *

    - * Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir - * Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. - *

    - * - * @see SkeinEngine - * @see SkeinParameters - */ -public class SkeinMac - implements Mac -{ - /** - * 256 bit block size - Skein MAC-256 - */ - public static final int SKEIN_256 = SkeinEngine.SKEIN_256; - /** - * 512 bit block size - Skein MAC-512 - */ - public static final int SKEIN_512 = SkeinEngine.SKEIN_512; - /** - * 1024 bit block size - Skein MAC-1024 - */ - public static final int SKEIN_1024 = SkeinEngine.SKEIN_1024; - - private SkeinEngine engine; - - /** - * Constructs a Skein MAC with an internal state size and output size. - * - * @param stateSizeBits the internal state size in bits - one of {@link #SKEIN_256}, {@link #SKEIN_512} or - * {@link #SKEIN_1024}. - * @param digestSizeBits the output/MAC size to produce in bits, which must be an integral number of bytes. - */ - public SkeinMac(int stateSizeBits, int digestSizeBits) - { - this.engine = new SkeinEngine(stateSizeBits, digestSizeBits); - } - - public SkeinMac(SkeinMac mac) - { - this.engine = new SkeinEngine(mac.engine); - } - - public String getAlgorithmName() - { - return "Skein-MAC-" + (engine.getBlockSize() * 8) + "-" + (engine.getOutputSize() * 8); - } - - /** - * Initialises the Skein digest with the provided parameters.
    - * See {@link SkeinParameters} for details on the parameterisation of the Skein hash function. - * - * @param params an instance of {@link SkeinParameters} or {@link KeyParameter}. - */ - public void init(CipherParameters params) - throws IllegalArgumentException - { - SkeinParameters skeinParameters; - if (params instanceof SkeinParameters) - { - skeinParameters = (SkeinParameters)params; - } - else if (params instanceof KeyParameter) - { - skeinParameters = new SkeinParameters.Builder().setKey(((KeyParameter)params).getKey()).build(); - } - else - { - throw new IllegalArgumentException("Invalid parameter passed to Skein MAC init - " - + params.getClass().getName()); - } - if (skeinParameters.getKey() == null) - { - throw new IllegalArgumentException("Skein MAC requires a key parameter."); - } - engine.init(skeinParameters); - } - - public int getMacSize() - { - return engine.getOutputSize(); - } - - public void reset() - { - engine.reset(); - } - - public void update(byte in) - { - engine.update(in); - } - - public void update(byte[] in, int inOff, int len) - { - engine.update(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - return engine.doFinal(out, outOff); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/VMPCMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/VMPCMac.java deleted file mode 100644 index 56a38ba91..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/macs/VMPCMac.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.crypto.macs; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -public class VMPCMac implements Mac -{ - private byte g; - - private byte n = 0; - private byte[] P = null; - private byte s = 0; - - private byte[] T; - private byte[] workingIV; - - private byte[] workingKey; - - private byte x1, x2, x3, x4; - - public int doFinal(byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - // Execute the Post-Processing Phase - for (int r = 1; r < 25; r++) - { - s = P[(s + P[n & 0xff]) & 0xff]; - - x4 = P[(x4 + x3 + r) & 0xff]; - x3 = P[(x3 + x2 + r) & 0xff]; - x2 = P[(x2 + x1 + r) & 0xff]; - x1 = P[(x1 + s + r) & 0xff]; - T[g & 0x1f] = (byte) (T[g & 0x1f] ^ x1); - T[(g + 1) & 0x1f] = (byte) (T[(g + 1) & 0x1f] ^ x2); - T[(g + 2) & 0x1f] = (byte) (T[(g + 2) & 0x1f] ^ x3); - T[(g + 3) & 0x1f] = (byte) (T[(g + 3) & 0x1f] ^ x4); - g = (byte) ((g + 4) & 0x1f); - - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - } - - // Input T to the IV-phase of the VMPC KSA - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + T[m & 0x1f]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - - // Store 20 new outputs of the VMPC Stream Cipher in table M - byte[] M = new byte[20]; - for (int i = 0; i < 20; i++) - { - s = P[(s + P[i & 0xff]) & 0xff]; - M[i] = P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]; - - byte temp = P[i & 0xff]; - P[i & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - - System.arraycopy(M, 0, out, outOff, M.length); - reset(); - - return M.length; - } - - public String getAlgorithmName() - { - return "VMPC-MAC"; - } - - public int getMacSize() - { - return 20; - } - - public void init(CipherParameters params) throws IllegalArgumentException - { - if (!(params instanceof ParametersWithIV)) - { - throw new IllegalArgumentException( - "VMPC-MAC Init parameters must include an IV"); - } - - ParametersWithIV ivParams = (ParametersWithIV) params; - KeyParameter key = (KeyParameter) ivParams.getParameters(); - - if (!(ivParams.getParameters() instanceof KeyParameter)) - { - throw new IllegalArgumentException( - "VMPC-MAC Init parameters must include a key"); - } - - this.workingIV = ivParams.getIV(); - - if (workingIV == null || workingIV.length < 1 || workingIV.length > 768) - { - throw new IllegalArgumentException( - "VMPC-MAC requires 1 to 768 bytes of IV"); - } - - this.workingKey = key.getKey(); - - reset(); - - } - - private void initKey(byte[] keyBytes, byte[] ivBytes) - { - s = 0; - P = new byte[256]; - for (int i = 0; i < 256; i++) - { - P[i] = (byte) i; - } - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + keyBytes[m % keyBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - for (int m = 0; m < 768; m++) - { - s = P[(s + P[m & 0xff] + ivBytes[m % ivBytes.length]) & 0xff]; - byte temp = P[m & 0xff]; - P[m & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - } - n = 0; - } - - public void reset() - { - initKey(this.workingKey, this.workingIV); - g = x1 = x2 = x3 = x4 = n = 0; - T = new byte[32]; - for (int i = 0; i < 32; i++) - { - T[i] = 0; - } - } - - public void update(byte in) throws IllegalStateException - { - s = P[(s + P[n & 0xff]) & 0xff]; - byte c = (byte) (in ^ P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]); - - x4 = P[(x4 + x3) & 0xff]; - x3 = P[(x3 + x2) & 0xff]; - x2 = P[(x2 + x1) & 0xff]; - x1 = P[(x1 + s + c) & 0xff]; - T[g & 0x1f] = (byte) (T[g & 0x1f] ^ x1); - T[(g + 1) & 0x1f] = (byte) (T[(g + 1) & 0x1f] ^ x2); - T[(g + 2) & 0x1f] = (byte) (T[(g + 2) & 0x1f] ^ x3); - T[(g + 3) & 0x1f] = (byte) (T[(g + 3) & 0x1f] ^ x4); - g = (byte) ((g + 4) & 0x1f); - - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - } - - public void update(byte[] in, int inOff, int len) - throws DataLengthException, IllegalStateException - { - if ((inOff + len) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - for (int i = 0; i < len; i++) - { - update(in[i]); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/AEADBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/AEADBlockCipher.java deleted file mode 100644 index ab8233824..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/AEADBlockCipher.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A block cipher mode that includes authenticated encryption with a streaming mode and optional associated data. - * @see org.spongycastle.crypto.params.AEADParameters - */ -public interface AEADBlockCipher -{ - /** - * initialise the underlying cipher. Parameter can either be an AEADParameters or a ParametersWithIV object. - * - * @param forEncryption true if we are setting up for encryption, false otherwise. - * @param params the necessary parameters for the underlying cipher to be initialised. - * @exception IllegalArgumentException if the params argument is inappropriate. - */ - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException; - - /** - * Return the name of the algorithm. - * - * @return the algorithm name. - */ - public String getAlgorithmName(); - - /** - * return the cipher this object wraps. - * - * @return the cipher this object wraps. - */ - public BlockCipher getUnderlyingCipher(); - - /** - * Add a single byte to the associated data check. - *
    If the implementation supports it, this will be an online operation and will not retain the associated data. - * - * @param in the byte to be processed. - */ - public void processAADByte(byte in); - - /** - * Add a sequence of bytes to the associated data check. - *
    If the implementation supports it, this will be an online operation and will not retain the associated data. - * - * @param in the input byte array. - * @param inOff the offset into the in array where the data to be processed starts. - * @param len the number of bytes to be processed. - */ - public void processAADBytes(byte[] in, int inOff, int len); - - /** - * encrypt/decrypt a single byte. - * - * @param in the byte to be processed. - * @param out the output buffer the processed byte goes into. - * @param outOff the offset into the output byte array the processed data starts at. - * @return the number of bytes written to out. - * @exception DataLengthException if the output buffer is too small. - */ - public int processByte(byte in, byte[] out, int outOff) - throws DataLengthException; - - /** - * process a block of bytes from in putting the result into out. - * - * @param in the input byte array. - * @param inOff the offset into the in array where the data to be processed starts. - * @param len the number of bytes to be processed. - * @param out the output buffer the processed bytes go into. - * @param outOff the offset into the output byte array the processed data starts at. - * @return the number of bytes written to out. - * @exception DataLengthException if the output buffer is too small. - */ - public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) - throws DataLengthException; - - /** - * Finish the operation either appending or verifying the MAC at the end of the data. - * - * @param out space for any resulting output data. - * @param outOff offset into out to start copying the data at. - * @return number of bytes written into out. - * @throws IllegalStateException if the cipher is in an inappropriate state. - * @throws org.spongycastle.crypto.InvalidCipherTextException if the MAC fails to match. - */ - public int doFinal(byte[] out, int outOff) - throws IllegalStateException, InvalidCipherTextException; - - /** - * Return the value of the MAC associated with the last stream processed. - * - * @return MAC for plaintext data. - */ - public byte[] getMac(); - - /** - * return the size of the output buffer required for a processBytes - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to processBytes - * with len bytes of input. - */ - public int getUpdateOutputSize(int len); - - /** - * return the size of the output buffer required for a processBytes plus a - * doFinal with an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to processBytes and doFinal - * with len bytes of input. - */ - public int getOutputSize(int len); - - /** - * Reset the cipher. After resetting the cipher is in the same state - * as it was after the last init (if there was one). - */ - public void reset(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CBCBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CBCBlockCipher.java deleted file mode 100644 index 381eab8a0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CBCBlockCipher.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher. - */ -public class CBCBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] cbcV; - private byte[] cbcNextV; - - private int blockSize; - private BlockCipher cipher = null; - private boolean encrypting; - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of chaining. - */ - public CBCBlockCipher( - BlockCipher cipher) - { - this.cipher = cipher; - this.blockSize = cipher.getBlockSize(); - - this.IV = new byte[blockSize]; - this.cbcV = new byte[blockSize]; - this.cbcNextV = new byte[blockSize]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * - * @param encrypting if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - throws IllegalArgumentException - { - boolean oldEncrypting = this.encrypting; - - this.encrypting = encrypting; - - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length != blockSize) - { - throw new IllegalArgumentException("initialisation vector must be the same length as block size"); - } - - System.arraycopy(iv, 0, IV, 0, iv.length); - - reset(); - - // if null it's an IV changed only. - if (ivParam.getParameters() != null) - { - cipher.init(encrypting, ivParam.getParameters()); - } - else if (oldEncrypting != encrypting) - { - throw new IllegalArgumentException("cannot change encrypting state without providing key."); - } - } - else - { - reset(); - - // if it's null, key is to be reused. - if (params != null) - { - cipher.init(encrypting, params); - } - else if (oldEncrypting != encrypting) - { - throw new IllegalArgumentException("cannot change encrypting state without providing key."); - } - } - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/CBC". - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/CBC"; - } - - /** - * return the block size of the underlying cipher. - * - * @return the block size of the underlying cipher. - */ - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - return (encrypting) ? encryptBlock(in, inOff, out, outOff) : decryptBlock(in, inOff, out, outOff); - } - - /** - * reset the chaining vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - System.arraycopy(IV, 0, cbcV, 0, IV.length); - Arrays.fill(cbcNextV, (byte)0); - - cipher.reset(); - } - - /** - * Do the appropriate chaining step for CBC mode encryption. - * - * @param in the array containing the data to be encrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - /* - * XOR the cbcV and the input, - * then encrypt the cbcV - */ - for (int i = 0; i < blockSize; i++) - { - cbcV[i] ^= in[inOff + i]; - } - - int length = cipher.processBlock(cbcV, 0, out, outOff); - - /* - * copy ciphertext to cbcV - */ - System.arraycopy(out, outOff, cbcV, 0, cbcV.length); - - return length; - } - - /** - * Do the appropriate chaining step for CBC mode decryption. - * - * @param in the array containing the data to be decrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the decrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - System.arraycopy(in, inOff, cbcNextV, 0, blockSize); - - int length = cipher.processBlock(in, inOff, out, outOff); - - /* - * XOR the cbcV and the output - */ - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] ^= cbcV[i]; - } - - /* - * swap the back up buffer into next position - */ - byte[] tmp; - - tmp = cbcV; - cbcV = cbcNextV; - cbcNextV = tmp; - - return length; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CCMBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CCMBlockCipher.java deleted file mode 100644 index 289d611b5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CCMBlockCipher.java +++ /dev/null @@ -1,452 +0,0 @@ -package org.spongycastle.crypto.modes; - -import java.io.ByteArrayOutputStream; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.macs.CBCBlockCipherMac; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * Implements the Counter with Cipher Block Chaining mode (CCM) detailed in - * NIST Special Publication 800-38C. - *

    - * Note: this mode is a packet mode - it needs all the data up front. - */ -public class CCMBlockCipher - implements AEADBlockCipher -{ - private BlockCipher cipher; - private int blockSize; - private boolean forEncryption; - private byte[] nonce; - private byte[] initialAssociatedText; - private int macSize; - private CipherParameters keyParam; - private byte[] macBlock; - private ExposedByteArrayOutputStream associatedText = new ExposedByteArrayOutputStream(); - private ExposedByteArrayOutputStream data = new ExposedByteArrayOutputStream(); - - /** - * Basic constructor. - * - * @param c the block cipher to be used. - */ - public CCMBlockCipher(BlockCipher c) - { - this.cipher = c; - this.blockSize = c.getBlockSize(); - this.macBlock = new byte[blockSize]; - - if (blockSize != 16) - { - throw new IllegalArgumentException("cipher required with a block size of 16."); - } - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - CipherParameters cipherParameters; - if (params instanceof AEADParameters) - { - AEADParameters param = (AEADParameters)params; - - nonce = param.getNonce(); - initialAssociatedText = param.getAssociatedText(); - macSize = param.getMacSize() / 8; - cipherParameters = param.getKey(); - } - else if (params instanceof ParametersWithIV) - { - ParametersWithIV param = (ParametersWithIV)params; - - nonce = param.getIV(); - initialAssociatedText = null; - macSize = macBlock.length / 2; - cipherParameters = param.getParameters(); - } - else - { - throw new IllegalArgumentException("invalid parameters passed to CCM"); - } - - // NOTE: Very basic support for key re-use, but no performance gain from it - if (cipherParameters != null) - { - keyParam = cipherParameters; - } - - if (nonce == null || nonce.length < 7 || nonce.length > 13) - { - throw new IllegalArgumentException("nonce must have length from 7 to 13 octets"); - } - - reset(); - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/CCM"; - } - - public void processAADByte(byte in) - { - associatedText.write(in); - } - - public void processAADBytes(byte[] in, int inOff, int len) - { - // TODO: Process AAD online - associatedText.write(in, inOff, len); - } - - public int processByte(byte in, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - data.write(in); - - return 0; - } - - public int processBytes(byte[] in, int inOff, int inLen, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - data.write(in, inOff, inLen); - - return 0; - } - - public int doFinal(byte[] out, int outOff) - throws IllegalStateException, InvalidCipherTextException - { - int len = processPacket(data.getBuffer(), 0, data.size(), out, outOff); - - reset(); - - return len; - } - - public void reset() - { - cipher.reset(); - associatedText.reset(); - data.reset(); - } - - /** - * Returns a byte array containing the mac calculated as part of the - * last encrypt or decrypt operation. - * - * @return the last mac calculated. - */ - public byte[] getMac() - { - byte[] mac = new byte[macSize]; - - System.arraycopy(macBlock, 0, mac, 0, mac.length); - - return mac; - } - - public int getUpdateOutputSize(int len) - { - return 0; - } - - public int getOutputSize(int len) - { - int totalData = len + data.size(); - - if (forEncryption) - { - return totalData + macSize; - } - - return totalData < macSize ? 0 : totalData - macSize; - } - - /** - * Process a packet of data for either CCM decryption or encryption. - * - * @param in data for processing. - * @param inOff offset at which data starts in the input array. - * @param inLen length of the data in the input array. - * @return a byte array containing the processed input.. - * @throws IllegalStateException if the cipher is not appropriately set up. - * @throws InvalidCipherTextException if the input data is truncated or the mac check fails. - */ - public byte[] processPacket(byte[] in, int inOff, int inLen) - throws IllegalStateException, InvalidCipherTextException - { - byte[] output; - - if (forEncryption) - { - output = new byte[inLen + macSize]; - } - else - { - if (inLen < macSize) - { - throw new InvalidCipherTextException("data too short"); - } - output = new byte[inLen - macSize]; - } - - processPacket(in, inOff, inLen, output, 0); - - return output; - } - - /** - * Process a packet of data for either CCM decryption or encryption. - * - * @param in data for processing. - * @param inOff offset at which data starts in the input array. - * @param inLen length of the data in the input array. - * @param output output array. - * @param outOff offset into output array to start putting processed bytes. - * @return the number of bytes added to output. - * @throws IllegalStateException if the cipher is not appropriately set up. - * @throws InvalidCipherTextException if the input data is truncated or the mac check fails. - * @throws DataLengthException if output buffer too short. - */ - public int processPacket(byte[] in, int inOff, int inLen, byte[] output, int outOff) - throws IllegalStateException, InvalidCipherTextException, DataLengthException - { - // TODO: handle null keyParam (e.g. via RepeatedKeySpec) - // Need to keep the CTR and CBC Mac parts around and reset - if (keyParam == null) - { - throw new IllegalStateException("CCM cipher unitialized."); - } - - int n = nonce.length; - int q = 15 - n; - if (q < 4) - { - int limitLen = 1 << (8 * q); - if (inLen >= limitLen) - { - throw new IllegalStateException("CCM packet too large for choice of q."); - } - } - - byte[] iv = new byte[blockSize]; - iv[0] = (byte)((q - 1) & 0x7); - System.arraycopy(nonce, 0, iv, 1, nonce.length); - - BlockCipher ctrCipher = new SICBlockCipher(cipher); - ctrCipher.init(forEncryption, new ParametersWithIV(keyParam, iv)); - - int outputLen; - int inIndex = inOff; - int outIndex = outOff; - - if (forEncryption) - { - outputLen = inLen + macSize; - if (output.length < (outputLen + outOff)) - { - throw new DataLengthException("Output buffer too short."); - } - - calculateMac(in, inOff, inLen, macBlock); - - ctrCipher.processBlock(macBlock, 0, macBlock, 0); // S0 - - while (inIndex < (inOff + inLen - blockSize)) // S1... - { - ctrCipher.processBlock(in, inIndex, output, outIndex); - outIndex += blockSize; - inIndex += blockSize; - } - - byte[] block = new byte[blockSize]; - - System.arraycopy(in, inIndex, block, 0, inLen + inOff - inIndex); - - ctrCipher.processBlock(block, 0, block, 0); - - System.arraycopy(block, 0, output, outIndex, inLen + inOff - inIndex); - - System.arraycopy(macBlock, 0, output, outOff + inLen, macSize); - } - else - { - if (inLen < macSize) - { - throw new InvalidCipherTextException("data too short"); - } - outputLen = inLen - macSize; - if (output.length < (outputLen + outOff)) - { - throw new DataLengthException("Output buffer too short."); - } - - System.arraycopy(in, inOff + outputLen, macBlock, 0, macSize); - - ctrCipher.processBlock(macBlock, 0, macBlock, 0); - - for (int i = macSize; i != macBlock.length; i++) - { - macBlock[i] = 0; - } - - while (inIndex < (inOff + outputLen - blockSize)) - { - ctrCipher.processBlock(in, inIndex, output, outIndex); - outIndex += blockSize; - inIndex += blockSize; - } - - byte[] block = new byte[blockSize]; - - System.arraycopy(in, inIndex, block, 0, outputLen - (inIndex - inOff)); - - ctrCipher.processBlock(block, 0, block, 0); - - System.arraycopy(block, 0, output, outIndex, outputLen - (inIndex - inOff)); - - byte[] calculatedMacBlock = new byte[blockSize]; - - calculateMac(output, outOff, outputLen, calculatedMacBlock); - - if (!Arrays.constantTimeAreEqual(macBlock, calculatedMacBlock)) - { - throw new InvalidCipherTextException("mac check in CCM failed"); - } - } - - return outputLen; - } - - private int calculateMac(byte[] data, int dataOff, int dataLen, byte[] macBlock) - { - Mac cMac = new CBCBlockCipherMac(cipher, macSize * 8); - - cMac.init(keyParam); - - // - // build b0 - // - byte[] b0 = new byte[16]; - - if (hasAssociatedText()) - { - b0[0] |= 0x40; - } - - b0[0] |= (((cMac.getMacSize() - 2) / 2) & 0x7) << 3; - - b0[0] |= ((15 - nonce.length) - 1) & 0x7; - - System.arraycopy(nonce, 0, b0, 1, nonce.length); - - int q = dataLen; - int count = 1; - while (q > 0) - { - b0[b0.length - count] = (byte)(q & 0xff); - q >>>= 8; - count++; - } - - cMac.update(b0, 0, b0.length); - - // - // process associated text - // - if (hasAssociatedText()) - { - int extra; - - int textLength = getAssociatedTextLength(); - if (textLength < ((1 << 16) - (1 << 8))) - { - cMac.update((byte)(textLength >> 8)); - cMac.update((byte)textLength); - - extra = 2; - } - else // can't go any higher than 2^32 - { - cMac.update((byte)0xff); - cMac.update((byte)0xfe); - cMac.update((byte)(textLength >> 24)); - cMac.update((byte)(textLength >> 16)); - cMac.update((byte)(textLength >> 8)); - cMac.update((byte)textLength); - - extra = 6; - } - - if (initialAssociatedText != null) - { - cMac.update(initialAssociatedText, 0, initialAssociatedText.length); - } - if (associatedText.size() > 0) - { - cMac.update(associatedText.getBuffer(), 0, associatedText.size()); - } - - extra = (extra + textLength) % 16; - if (extra != 0) - { - for (int i = extra; i != 16; i++) - { - cMac.update((byte)0x00); - } - } - } - - // - // add the text - // - cMac.update(data, dataOff, dataLen); - - return cMac.doFinal(macBlock, 0); - } - - private int getAssociatedTextLength() - { - return associatedText.size() + ((initialAssociatedText == null) ? 0 : initialAssociatedText.length); - } - - private boolean hasAssociatedText() - { - return getAssociatedTextLength() > 0; - } - - private class ExposedByteArrayOutputStream - extends ByteArrayOutputStream - { - public ExposedByteArrayOutputStream() - { - } - - public byte[] getBuffer() - { - return this.buf; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CFBBlockCipher.java deleted file mode 100644 index c22e34876..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CFBBlockCipher.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * implements a Cipher-FeedBack (CFB) mode on top of a simple cipher. - */ -public class CFBBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] cfbV; - private byte[] cfbOutV; - - private int blockSize; - private BlockCipher cipher = null; - private boolean encrypting; - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * feedback mode. - * @param bitBlockSize the block size in bits (note: a multiple of 8) - */ - public CFBBlockCipher( - BlockCipher cipher, - int bitBlockSize) - { - this.cipher = cipher; - this.blockSize = bitBlockSize / 8; - - this.IV = new byte[cipher.getBlockSize()]; - this.cfbV = new byte[cipher.getBlockSize()]; - this.cfbOutV = new byte[cipher.getBlockSize()]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param encrypting if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, - CipherParameters params) - throws IllegalArgumentException - { - this.encrypting = encrypting; - - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length < IV.length) - { - // prepend the supplied IV with zeros (per FIPS PUB 81) - System.arraycopy(iv, 0, IV, IV.length - iv.length, iv.length); - for (int i = 0; i < IV.length - iv.length; i++) - { - IV[i] = 0; - } - } - else - { - System.arraycopy(iv, 0, IV, 0, IV.length); - } - - reset(); - - // if null it's an IV changed only. - if (ivParam.getParameters() != null) - { - cipher.init(true, ivParam.getParameters()); - } - } - else - { - reset(); - - // if it's null, key is to be reused. - if (params != null) - { - cipher.init(true, params); - } - } - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/CFB" - * and the block size in bits. - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/CFB" + (blockSize * 8); - } - - /** - * return the block size we are operating at. - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return blockSize; - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - return (encrypting) ? encryptBlock(in, inOff, out, outOff) : decryptBlock(in, inOff, out, outOff); - } - - /** - * Do the appropriate processing for CFB mode encryption. - * - * @param in the array containing the data to be encrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(cfbV, 0, cfbOutV, 0); - - // - // XOR the cfbV with the plaintext producing the ciphertext - // - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] = (byte)(cfbOutV[i] ^ in[inOff + i]); - } - - // - // change over the input block. - // - System.arraycopy(cfbV, blockSize, cfbV, 0, cfbV.length - blockSize); - System.arraycopy(out, outOff, cfbV, cfbV.length - blockSize, blockSize); - - return blockSize; - } - - /** - * Do the appropriate processing for CFB mode decryption. - * - * @param in the array containing the data to be decrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(cfbV, 0, cfbOutV, 0); - - // - // change over the input block. - // - System.arraycopy(cfbV, blockSize, cfbV, 0, cfbV.length - blockSize); - System.arraycopy(in, inOff, cfbV, cfbV.length - blockSize, blockSize); - - // - // XOR the cfbV with the ciphertext producing the plaintext - // - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] = (byte)(cfbOutV[i] ^ in[inOff + i]); - } - - return blockSize; - } - - /** - * Return the current state of the initialisation vector. - * - * @return current IV - */ - public byte[] getCurrentIV() - { - return Arrays.clone(cfbV); - } - - /** - * reset the chaining vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - System.arraycopy(IV, 0, cfbV, 0, IV.length); - - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CTSBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CTSBlockCipher.java deleted file mode 100644 index d56fd10bc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/CTSBlockCipher.java +++ /dev/null @@ -1,287 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A Cipher Text Stealing (CTS) mode cipher. CTS allows block ciphers to - * be used to produce cipher text which is the same length as the plain text. - */ -public class CTSBlockCipher - extends BufferedBlockCipher -{ - private int blockSize; - - /** - * Create a buffered block cipher that uses Cipher Text Stealing - * - * @param cipher the underlying block cipher this buffering object wraps. - */ - public CTSBlockCipher( - BlockCipher cipher) - { - if ((cipher instanceof OFBBlockCipher) || (cipher instanceof CFBBlockCipher) || (cipher instanceof SICBlockCipher)) - { - // TODO: This is broken - need to introduce marker interface to differentiate block cipher primitive from mode? - throw new IllegalArgumentException("CTSBlockCipher can only accept ECB, or CBC ciphers"); - } - - this.cipher = cipher; - - blockSize = cipher.getBlockSize(); - - buf = new byte[blockSize * 2]; - bufOff = 0; - } - - /** - * return the size of the output buffer required for an update - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update - * with len bytes of input. - */ - public int getUpdateOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - return total - buf.length; - } - - return total - leftOver; - } - - /** - * return the size of the output buffer required for an update plus a - * doFinal with an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update and doFinal - * with len bytes of input. - */ - public int getOutputSize( - int len) - { - return len + bufOff; - } - - /** - * process a single byte, producing an output block if necessary. - * - * @param in the input byte. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processByte( - byte in, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - int resultLen = 0; - - if (bufOff == buf.length) - { - resultLen = cipher.processBlock(buf, 0, out, outOff); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - bufOff = blockSize; - } - - buf[bufOff++] = in; - - return resultLen; - } - - /** - * process an array of bytes, producing output if necessary. - * - * @param in the input byte array. - * @param inOff the offset at which the input data starts. - * @param len the number of bytes to be copied out of the input array. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = getBlockSize(); - int length = getUpdateOutputSize(len); - - if (length > 0) - { - if ((outOff + length) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, out, outOff); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - bufOff = blockSize; - - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - System.arraycopy(in, inOff, buf, bufOff, blockSize); - resultLen += cipher.processBlock(buf, 0, out, outOff + resultLen); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - - return resultLen; - } - - /** - * Process the last block in the buffer. - * - * @param out the array the block currently being held is copied into. - * @param outOff the offset at which the copying starts. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there is insufficient space in out for - * the output. - * @exception IllegalStateException if the underlying cipher is not - * initialised. - * @exception InvalidCipherTextException if cipher text decrypts wrongly (in - * case the exception will never get thrown). - */ - public int doFinal( - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException, InvalidCipherTextException - { - if (bufOff + outOff > out.length) - { - throw new DataLengthException("output buffer to small in doFinal"); - } - - int blockSize = cipher.getBlockSize(); - int len = bufOff - blockSize; - byte[] block = new byte[blockSize]; - - if (forEncryption) - { - if (bufOff < blockSize) - { - throw new DataLengthException("need at least one block of input for CTS"); - } - - cipher.processBlock(buf, 0, block, 0); - - if (bufOff > blockSize) - { - for (int i = bufOff; i != buf.length; i++) - { - buf[i] = block[i - blockSize]; - } - - for (int i = blockSize; i != bufOff; i++) - { - buf[i] ^= block[i - blockSize]; - } - - if (cipher instanceof CBCBlockCipher) - { - BlockCipher c = ((CBCBlockCipher)cipher).getUnderlyingCipher(); - - c.processBlock(buf, blockSize, out, outOff); - } - else - { - cipher.processBlock(buf, blockSize, out, outOff); - } - - System.arraycopy(block, 0, out, outOff + blockSize, len); - } - else - { - System.arraycopy(block, 0, out, outOff, blockSize); - } - } - else - { - if (bufOff < blockSize) - { - throw new DataLengthException("need at least one block of input for CTS"); - } - - byte[] lastBlock = new byte[blockSize]; - - if (bufOff > blockSize) - { - if (cipher instanceof CBCBlockCipher) - { - BlockCipher c = ((CBCBlockCipher)cipher).getUnderlyingCipher(); - - c.processBlock(buf, 0, block, 0); - } - else - { - cipher.processBlock(buf, 0, block, 0); - } - - for (int i = blockSize; i != bufOff; i++) - { - lastBlock[i - blockSize] = (byte)(block[i - blockSize] ^ buf[i]); - } - - System.arraycopy(buf, blockSize, block, 0, len); - - cipher.processBlock(block, 0, out, outOff); - System.arraycopy(lastBlock, 0, out, outOff + blockSize, len); - } - else - { - cipher.processBlock(buf, 0, block, 0); - - System.arraycopy(block, 0, out, outOff, blockSize); - } - } - - int offset = bufOff; - - reset(); - - return offset; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/EAXBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/EAXBlockCipher.java deleted file mode 100644 index 93826a573..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/EAXBlockCipher.java +++ /dev/null @@ -1,370 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.macs.CMac; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and - * Efficiency - by M. Bellare, P. Rogaway, D. Wagner. - * - * http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf - * - * EAX is an AEAD scheme based on CTR and OMAC1/CMAC, that uses a single block - * cipher to encrypt and authenticate data. It's on-line (the length of a - * message isn't needed to begin processing it), has good performances, it's - * simple and provably secure (provided the underlying block cipher is secure). - * - * Of course, this implementations is NOT thread-safe. - */ -public class EAXBlockCipher - implements AEADBlockCipher -{ - private static final byte nTAG = 0x0; - - private static final byte hTAG = 0x1; - - private static final byte cTAG = 0x2; - - private SICBlockCipher cipher; - - private boolean forEncryption; - - private int blockSize; - - private Mac mac; - - private byte[] nonceMac; - private byte[] associatedTextMac; - private byte[] macBlock; - - private int macSize; - private byte[] bufBlock; - private int bufOff; - - private boolean cipherInitialized; - private byte[] initialAssociatedText; - - /** - * Constructor that accepts an instance of a block cipher engine. - * - * @param cipher the engine to use - */ - public EAXBlockCipher(BlockCipher cipher) - { - blockSize = cipher.getBlockSize(); - mac = new CMac(cipher); - macBlock = new byte[blockSize]; - bufBlock = new byte[blockSize * 2]; - associatedTextMac = new byte[mac.getMacSize()]; - nonceMac = new byte[mac.getMacSize()]; - this.cipher = new SICBlockCipher(cipher); - } - - public String getAlgorithmName() - { - return cipher.getUnderlyingCipher().getAlgorithmName() + "/EAX"; - } - - public BlockCipher getUnderlyingCipher() - { - return cipher.getUnderlyingCipher(); - } - - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - byte[] nonce; - CipherParameters keyParam; - - if (params instanceof AEADParameters) - { - AEADParameters param = (AEADParameters)params; - - nonce = param.getNonce(); - initialAssociatedText = param.getAssociatedText(); - macSize = param.getMacSize() / 8; - keyParam = param.getKey(); - } - else if (params instanceof ParametersWithIV) - { - ParametersWithIV param = (ParametersWithIV)params; - - nonce = param.getIV(); - initialAssociatedText = null; - macSize = mac.getMacSize() / 2; - keyParam = param.getParameters(); - } - else - { - throw new IllegalArgumentException("invalid parameters passed to EAX"); - } - - byte[] tag = new byte[blockSize]; - - // Key reuse implemented in CBC mode of underlying CMac - mac.init(keyParam); - - tag[blockSize - 1] = nTAG; - mac.update(tag, 0, blockSize); - mac.update(nonce, 0, nonce.length); - mac.doFinal(nonceMac, 0); - - // Same BlockCipher underlies this and the mac, so reuse last key on cipher - cipher.init(true, new ParametersWithIV(null, nonceMac)); - - reset(); - } - - private void initCipher() - { - if (cipherInitialized) - { - return; - } - - cipherInitialized = true; - - mac.doFinal(associatedTextMac, 0); - - byte[] tag = new byte[blockSize]; - tag[blockSize - 1] = cTAG; - mac.update(tag, 0, blockSize); - } - - private void calculateMac() - { - byte[] outC = new byte[blockSize]; - mac.doFinal(outC, 0); - - for (int i = 0; i < macBlock.length; i++) - { - macBlock[i] = (byte)(nonceMac[i] ^ associatedTextMac[i] ^ outC[i]); - } - } - - public void reset() - { - reset(true); - } - - private void reset( - boolean clearMac) - { - cipher.reset(); // TODO Redundant since the mac will reset it? - mac.reset(); - - bufOff = 0; - Arrays.fill(bufBlock, (byte)0); - - if (clearMac) - { - Arrays.fill(macBlock, (byte)0); - } - - byte[] tag = new byte[blockSize]; - tag[blockSize - 1] = hTAG; - mac.update(tag, 0, blockSize); - - cipherInitialized = false; - - if (initialAssociatedText != null) - { - processAADBytes(initialAssociatedText, 0, initialAssociatedText.length); - } - } - - public void processAADByte(byte in) - { - if (cipherInitialized) - { - throw new IllegalStateException("AAD data cannot be added after encryption/decription processing has begun."); - } - mac.update(in); - } - - public void processAADBytes(byte[] in, int inOff, int len) - { - if (cipherInitialized) - { - throw new IllegalStateException("AAD data cannot be added after encryption/decryption processing has begun."); - } - mac.update(in, inOff, len); - } - - public int processByte(byte in, byte[] out, int outOff) - throws DataLengthException - { - initCipher(); - - return process(in, out, outOff); - } - - public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) - throws DataLengthException - { - initCipher(); - - int resultLen = 0; - - for (int i = 0; i != len; i++) - { - resultLen += process(in[inOff + i], out, outOff + resultLen); - } - - return resultLen; - } - - public int doFinal(byte[] out, int outOff) - throws IllegalStateException, InvalidCipherTextException - { - initCipher(); - - int extra = bufOff; - byte[] tmp = new byte[bufBlock.length]; - - bufOff = 0; - - if (forEncryption) - { - if (out.length < (outOff + extra)) - { - throw new DataLengthException("Output buffer too short"); - } - cipher.processBlock(bufBlock, 0, tmp, 0); - cipher.processBlock(bufBlock, blockSize, tmp, blockSize); - - System.arraycopy(tmp, 0, out, outOff, extra); - - mac.update(tmp, 0, extra); - - calculateMac(); - - System.arraycopy(macBlock, 0, out, outOff + extra, macSize); - - reset(false); - - return extra + macSize; - } - else - { - if (extra < macSize) - { - throw new InvalidCipherTextException("data too short"); - } - if (extra > macSize) - { - mac.update(bufBlock, 0, extra - macSize); - - cipher.processBlock(bufBlock, 0, tmp, 0); - cipher.processBlock(bufBlock, blockSize, tmp, blockSize); - - System.arraycopy(tmp, 0, out, outOff, extra - macSize); - } - - calculateMac(); - - if (!verifyMac(bufBlock, extra - macSize)) - { - throw new InvalidCipherTextException("mac check in EAX failed"); - } - - reset(false); - - return extra - macSize; - } - } - - public byte[] getMac() - { - byte[] mac = new byte[macSize]; - - System.arraycopy(macBlock, 0, mac, 0, macSize); - - return mac; - } - - public int getUpdateOutputSize(int len) - { - int totalData = len + bufOff; - if (!forEncryption) - { - if (totalData < macSize) - { - return 0; - } - totalData -= macSize; - } - return totalData - totalData % blockSize; - } - - public int getOutputSize(int len) - { - int totalData = len + bufOff; - - if (forEncryption) - { - return totalData + macSize; - } - - return totalData < macSize ? 0 : totalData - macSize; - } - - private int process(byte b, byte[] out, int outOff) - { - bufBlock[bufOff++] = b; - - if (bufOff == bufBlock.length) - { - // TODO Could move the processByte(s) calls to here -// initCipher(); - - int size; - - if (forEncryption) - { - size = cipher.processBlock(bufBlock, 0, out, outOff); - - mac.update(out, outOff, blockSize); - } - else - { - mac.update(bufBlock, 0, blockSize); - - size = cipher.processBlock(bufBlock, 0, out, outOff); - } - - bufOff = blockSize; - System.arraycopy(bufBlock, blockSize, bufBlock, 0, blockSize); - - return size; - } - - return 0; - } - - private boolean verifyMac(byte[] mac, int off) - { - int nonEqual = 0; - - for (int i = 0; i < macSize; i++) - { - nonEqual |= (macBlock[i] ^ mac[off + i]); - } - - return nonEqual == 0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCFBBlockCipher.java deleted file mode 100644 index 41e26fc17..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCFBBlockCipher.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.ParametersWithSBox; - -/** - * An implementation of the GOST CFB mode with CryptoPro key meshing as described in RFC 4357. - */ -public class GCFBBlockCipher - implements BlockCipher -{ - private static final byte[] C = - { - 0x69, 0x00, 0x72, 0x22, 0x64, (byte)0xC9, 0x04, 0x23, - (byte)0x8D, 0x3A, (byte)0xDB, (byte)0x96, 0x46, (byte)0xE9, 0x2A, (byte)0xC4, - 0x18, (byte)0xFE, (byte)0xAC, (byte)0x94, 0x00, (byte)0xED, 0x07, 0x12, - (byte)0xC0, (byte)0x86, (byte)0xDC, (byte)0xC2, (byte)0xEF, 0x4C, (byte)0xA9, 0x2B - }; - - private final CFBBlockCipher cfbEngine; - - private KeyParameter key; - private long counter = 0; - private boolean forEncryption; - - public GCFBBlockCipher(BlockCipher engine) - { - this.cfbEngine = new CFBBlockCipher(engine, engine.getBlockSize() * 8); - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - counter = 0; - cfbEngine.init(forEncryption, params); - - this.forEncryption = forEncryption; - - if (params instanceof ParametersWithIV) - { - params = ((ParametersWithIV)params).getParameters(); - } - - if (params instanceof ParametersWithRandom) - { - params = ((ParametersWithRandom)params).getParameters(); - } - - if (params instanceof ParametersWithSBox) - { - params = ((ParametersWithSBox)params).getParameters(); - } - - key = (KeyParameter)params; - } - - public String getAlgorithmName() - { - return "G" + cfbEngine.getAlgorithmName(); - } - - public int getBlockSize() - { - return cfbEngine.getBlockSize(); - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - if (counter > 0 && counter % 1024 == 0) - { - BlockCipher base = cfbEngine.getUnderlyingCipher(); - - base.init(false, key); - - byte[] nextKey = new byte[32]; - - base.processBlock(C, 0, nextKey, 0); - base.processBlock(C, 8, nextKey, 8); - base.processBlock(C, 16, nextKey, 16); - base.processBlock(C, 24, nextKey, 24); - - key = new KeyParameter(nextKey); - - byte[] iv = new byte[8]; - - base.init(true, key); - - base.processBlock(cfbEngine.getCurrentIV(), 0, iv, 0); - - cfbEngine.init(forEncryption, new ParametersWithIV(key, iv)); - } - - counter += cfbEngine.getBlockSize(); - - return cfbEngine.processBlock(in, inOff, out, outOff); - } - - public void reset() - { - counter = 0; - cfbEngine.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCMBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCMBlockCipher.java deleted file mode 100644 index 419bb0325..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GCMBlockCipher.java +++ /dev/null @@ -1,574 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.modes.gcm.GCMExponentiator; -import org.spongycastle.crypto.modes.gcm.GCMMultiplier; -import org.spongycastle.crypto.modes.gcm.Tables1kGCMExponentiator; -import org.spongycastle.crypto.modes.gcm.Tables8kGCMMultiplier; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -/** - * Implements the Galois/Counter mode (GCM) detailed in - * NIST Special Publication 800-38D. - */ -public class GCMBlockCipher - implements AEADBlockCipher -{ - private static final int BLOCK_SIZE = 16; - - // not final due to a compiler bug - private BlockCipher cipher; - private GCMMultiplier multiplier; - private GCMExponentiator exp; - - // These fields are set by init and not modified by processing - private boolean forEncryption; - private int macSize; - private byte[] nonce; - private byte[] initialAssociatedText; - private byte[] H; - private byte[] J0; - - // These fields are modified during processing - private byte[] bufBlock; - private byte[] macBlock; - private byte[] S, S_at, S_atPre; - private byte[] counter; - private int bufOff; - private long totalLength; - private byte[] atBlock; - private int atBlockPos; - private long atLength; - private long atLengthPre; - - public GCMBlockCipher(BlockCipher c) - { - this(c, null); - } - - public GCMBlockCipher(BlockCipher c, GCMMultiplier m) - { - if (c.getBlockSize() != BLOCK_SIZE) - { - throw new IllegalArgumentException( - "cipher required with a block size of " + BLOCK_SIZE + "."); - } - - if (m == null) - { - // TODO Consider a static property specifying default multiplier - m = new Tables8kGCMMultiplier(); - } - - this.cipher = c; - this.multiplier = m; - } - - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/GCM"; - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - this.macBlock = null; - - KeyParameter keyParam; - - if (params instanceof AEADParameters) - { - AEADParameters param = (AEADParameters)params; - - nonce = param.getNonce(); - initialAssociatedText = param.getAssociatedText(); - - int macSizeBits = param.getMacSize(); - if (macSizeBits < 96 || macSizeBits > 128 || macSizeBits % 8 != 0) - { - throw new IllegalArgumentException("Invalid value for MAC size: " + macSizeBits); - } - - macSize = macSizeBits / 8; - keyParam = param.getKey(); - } - else if (params instanceof ParametersWithIV) - { - ParametersWithIV param = (ParametersWithIV)params; - - nonce = param.getIV(); - initialAssociatedText = null; - macSize = 16; - keyParam = (KeyParameter)param.getParameters(); - } - else - { - throw new IllegalArgumentException("invalid parameters passed to GCM"); - } - - int bufLength = forEncryption ? BLOCK_SIZE : (BLOCK_SIZE + macSize); - this.bufBlock = new byte[bufLength]; - - if (nonce == null || nonce.length < 1) - { - throw new IllegalArgumentException("IV must be at least 1 byte"); - } - - // TODO This should be configurable by init parameters - // (but must be 16 if nonce length not 12) (BLOCK_SIZE?) -// this.tagLength = 16; - - // Cipher always used in forward mode - // if keyParam is null we're reusing the last key. - if (keyParam != null) - { - cipher.init(true, keyParam); - - this.H = new byte[BLOCK_SIZE]; - cipher.processBlock(H, 0, H, 0); - - // GCMMultiplier tables don't change unless the key changes (and are expensive to init) - multiplier.init(H); - exp = null; - } - - this.J0 = new byte[BLOCK_SIZE]; - - if (nonce.length == 12) - { - System.arraycopy(nonce, 0, J0, 0, nonce.length); - this.J0[BLOCK_SIZE - 1] = 0x01; - } - else - { - gHASH(J0, nonce, nonce.length); - byte[] X = new byte[BLOCK_SIZE]; - Pack.longToBigEndian((long)nonce.length * 8, X, 8); - gHASHBlock(J0, X); - } - - this.S = new byte[BLOCK_SIZE]; - this.S_at = new byte[BLOCK_SIZE]; - this.S_atPre = new byte[BLOCK_SIZE]; - this.atBlock = new byte[BLOCK_SIZE]; - this.atBlockPos = 0; - this.atLength = 0; - this.atLengthPre = 0; - this.counter = Arrays.clone(J0); - this.bufOff = 0; - this.totalLength = 0; - - if (initialAssociatedText != null) - { - processAADBytes(initialAssociatedText, 0, initialAssociatedText.length); - } - } - - public byte[] getMac() - { - return Arrays.clone(macBlock); - } - - public int getOutputSize(int len) - { - int totalData = len + bufOff; - - if (forEncryption) - { - return totalData + macSize; - } - - return totalData < macSize ? 0 : totalData - macSize; - } - - public int getUpdateOutputSize(int len) - { - int totalData = len + bufOff; - if (!forEncryption) - { - if (totalData < macSize) - { - return 0; - } - totalData -= macSize; - } - return totalData - totalData % BLOCK_SIZE; - } - - public void processAADByte(byte in) - { - atBlock[atBlockPos] = in; - if (++atBlockPos == BLOCK_SIZE) - { - // Hash each block as it fills - gHASHBlock(S_at, atBlock); - atBlockPos = 0; - atLength += BLOCK_SIZE; - } - } - - public void processAADBytes(byte[] in, int inOff, int len) - { - for (int i = 0; i < len; ++i) - { - atBlock[atBlockPos] = in[inOff + i]; - if (++atBlockPos == BLOCK_SIZE) - { - // Hash each block as it fills - gHASHBlock(S_at, atBlock); - atBlockPos = 0; - atLength += BLOCK_SIZE; - } - } - } - - private void initCipher() - { - if (atLength > 0) - { - System.arraycopy(S_at, 0, S_atPre, 0, BLOCK_SIZE); - atLengthPre = atLength; - } - - // Finish hash for partial AAD block - if (atBlockPos > 0) - { - gHASHPartial(S_atPre, atBlock, 0, atBlockPos); - atLengthPre += atBlockPos; - } - - if (atLengthPre > 0) - { - System.arraycopy(S_atPre, 0, S, 0, BLOCK_SIZE); - } - } - - public int processByte(byte in, byte[] out, int outOff) - throws DataLengthException - { - bufBlock[bufOff] = in; - if (++bufOff == bufBlock.length) - { - outputBlock(out, outOff); - return BLOCK_SIZE; - } - return 0; - } - - public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) - throws DataLengthException - { - int resultLen = 0; - - for (int i = 0; i < len; ++i) - { - bufBlock[bufOff] = in[inOff + i]; - if (++bufOff == bufBlock.length) - { - outputBlock(out, outOff + resultLen); - resultLen += BLOCK_SIZE; - } - } - - return resultLen; - } - - private void outputBlock(byte[] output, int offset) - { - if (totalLength == 0) - { - initCipher(); - } - gCTRBlock(bufBlock, output, offset); - if (forEncryption) - { - bufOff = 0; - } - else - { - System.arraycopy(bufBlock, BLOCK_SIZE, bufBlock, 0, macSize); - bufOff = macSize; - } - } - - public int doFinal(byte[] out, int outOff) - throws IllegalStateException, InvalidCipherTextException - { - if (totalLength == 0) - { - initCipher(); - } - - int extra = bufOff; - if (!forEncryption) - { - if (extra < macSize) - { - throw new InvalidCipherTextException("data too short"); - } - extra -= macSize; - } - - if (extra > 0) - { - gCTRPartial(bufBlock, 0, extra, out, outOff); - } - - atLength += atBlockPos; - - if (atLength > atLengthPre) - { - /* - * Some AAD was sent after the cipher started. We determine the difference b/w the hash value - * we actually used when the cipher started (S_atPre) and the final hash value calculated (S_at). - * Then we carry this difference forward by multiplying by H^c, where c is the number of (full or - * partial) cipher-text blocks produced, and adjust the current hash. - */ - - // Finish hash for partial AAD block - if (atBlockPos > 0) - { - gHASHPartial(S_at, atBlock, 0, atBlockPos); - } - - // Find the difference between the AAD hashes - if (atLengthPre > 0) - { - xor(S_at, S_atPre); - } - - // Number of cipher-text blocks produced - long c = ((totalLength * 8) + 127) >>> 7; - - // Calculate the adjustment factor - byte[] H_c = new byte[16]; - if (exp == null) - { - exp = new Tables1kGCMExponentiator(); - exp.init(H); - } - exp.exponentiateX(c, H_c); - - // Carry the difference forward - multiply(S_at, H_c); - - // Adjust the current hash - xor(S, S_at); - } - - // Final gHASH - byte[] X = new byte[BLOCK_SIZE]; - Pack.longToBigEndian(atLength * 8, X, 0); - Pack.longToBigEndian(totalLength * 8, X, 8); - - gHASHBlock(S, X); - - // TODO Fix this if tagLength becomes configurable - // T = MSBt(GCTRk(J0,S)) - byte[] tag = new byte[BLOCK_SIZE]; - cipher.processBlock(J0, 0, tag, 0); - xor(tag, S); - - int resultLen = extra; - - // We place into macBlock our calculated value for T - this.macBlock = new byte[macSize]; - System.arraycopy(tag, 0, macBlock, 0, macSize); - - if (forEncryption) - { - // Append T to the message - System.arraycopy(macBlock, 0, out, outOff + bufOff, macSize); - resultLen += macSize; - } - else - { - // Retrieve the T value from the message and compare to calculated one - byte[] msgMac = new byte[macSize]; - System.arraycopy(bufBlock, extra, msgMac, 0, macSize); - if (!Arrays.constantTimeAreEqual(this.macBlock, msgMac)) - { - throw new InvalidCipherTextException("mac check in GCM failed"); - } - } - - reset(false); - - return resultLen; - } - - public void reset() - { - reset(true); - } - - private void reset( - boolean clearMac) - { - cipher.reset(); - - S = new byte[BLOCK_SIZE]; - S_at = new byte[BLOCK_SIZE]; - S_atPre = new byte[BLOCK_SIZE]; - atBlock = new byte[BLOCK_SIZE]; - atBlockPos = 0; - atLength = 0; - atLengthPre = 0; - counter = Arrays.clone(J0); - bufOff = 0; - totalLength = 0; - - if (bufBlock != null) - { - Arrays.fill(bufBlock, (byte)0); - } - - if (clearMac) - { - macBlock = null; - } - - if (initialAssociatedText != null) - { - processAADBytes(initialAssociatedText, 0, initialAssociatedText.length); - } - } - - private void gCTRBlock(byte[] block, byte[] out, int outOff) - { - byte[] tmp = getNextCounterBlock(); - - xor(tmp, block); - System.arraycopy(tmp, 0, out, outOff, BLOCK_SIZE); - - gHASHBlock(S, forEncryption ? tmp : block); - - totalLength += BLOCK_SIZE; - } - - private void gCTRPartial(byte[] buf, int off, int len, byte[] out, int outOff) - { - byte[] tmp = getNextCounterBlock(); - - xor(tmp, buf, off, len); - System.arraycopy(tmp, 0, out, outOff, len); - - gHASHPartial(S, forEncryption ? tmp : buf, 0, len); - - totalLength += len; - } - - private void gHASH(byte[] Y, byte[] b, int len) - { - for (int pos = 0; pos < len; pos += BLOCK_SIZE) - { - int num = Math.min(len - pos, BLOCK_SIZE); - gHASHPartial(Y, b, pos, num); - } - } - - private void gHASHBlock(byte[] Y, byte[] b) - { - xor(Y, b); - multiplier.multiplyH(Y); - } - - private void gHASHPartial(byte[] Y, byte[] b, int off, int len) - { - xor(Y, b, off, len); - multiplier.multiplyH(Y); - } - - private byte[] getNextCounterBlock() - { - for (int i = 15; i >= 12; --i) - { - byte b = (byte)((counter[i] + 1) & 0xff); - counter[i] = b; - - if (b != 0) - { - break; - } - } - - byte[] tmp = new byte[BLOCK_SIZE]; - // TODO Sure would be nice if ciphers could operate on int[] - cipher.processBlock(counter, 0, tmp, 0); - return tmp; - } - - private static void multiply(byte[] block, byte[] val) - { - byte[] tmp = Arrays.clone(block); - byte[] c = new byte[16]; - - for (int i = 0; i < 16; ++i) - { - byte bits = val[i]; - for (int j = 7; j >= 0; --j) - { - if ((bits & (1 << j)) != 0) - { - xor(c, tmp); - } - - boolean lsb = (tmp[15] & 1) != 0; - shiftRight(tmp); - if (lsb) - { - // R = new byte[]{ 0xe1, ... }; -// xor(v, R); - tmp[0] ^= (byte)0xe1; - } - } - } - - System.arraycopy(c, 0, block, 0, 16); - } - - private static void shiftRight(byte[] block) - { - int i = 0; - int bit = 0; - for (;;) - { - int b = block[i] & 0xff; - block[i] = (byte) ((b >>> 1) | bit); - if (++i == 16) - { - break; - } - bit = (b & 1) << 7; - } - } - - private static void xor(byte[] block, byte[] val) - { - for (int i = 15; i >= 0; --i) - { - block[i] ^= val[i]; - } - } - - private static void xor(byte[] block, byte[] val, int off, int len) - { - while (len-- > 0) - { - block[len] ^= val[off + len]; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GOFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GOFBBlockCipher.java deleted file mode 100644 index 41fe48609..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/GOFBBlockCipher.java +++ /dev/null @@ -1,237 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * implements the GOST 28147 OFB counter mode (GCTR). - */ -public class GOFBBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] ofbV; - private byte[] ofbOutV; - - private final int blockSize; - private final BlockCipher cipher; - - boolean firstStep = true; - int N3; - int N4; - static final int C1 = 16843012; //00000001000000010000000100000100 - static final int C2 = 16843009; //00000001000000010000000100000001 - - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * counter mode (must have a 64 bit block size). - */ - public GOFBBlockCipher( - BlockCipher cipher) - { - this.cipher = cipher; - this.blockSize = cipher.getBlockSize(); - - if (blockSize != 8) - { - throw new IllegalArgumentException("GCTR only for 64 bit block ciphers"); - } - - this.IV = new byte[cipher.getBlockSize()]; - this.ofbV = new byte[cipher.getBlockSize()]; - this.ofbOutV = new byte[cipher.getBlockSize()]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param encrypting if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, //ignored by this CTR mode - CipherParameters params) - throws IllegalArgumentException - { - firstStep = true; - N3 = 0; - N4 = 0; - - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length < IV.length) - { - // prepend the supplied IV with zeros (per FIPS PUB 81) - System.arraycopy(iv, 0, IV, IV.length - iv.length, iv.length); - for (int i = 0; i < IV.length - iv.length; i++) - { - IV[i] = 0; - } - } - else - { - System.arraycopy(iv, 0, IV, 0, IV.length); - } - - reset(); - - // if params is null we reuse the current working key. - if (ivParam.getParameters() != null) - { - cipher.init(true, ivParam.getParameters()); - } - } - else - { - reset(); - - // if params is null we reuse the current working key. - if (params != null) - { - cipher.init(true, params); - } - } - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/GCTR" - * and the block size in bits - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/GCTR"; - } - - - /** - * return the block size we are operating at (in bytes). - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return blockSize; - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - if (firstStep) - { - firstStep = false; - cipher.processBlock(ofbV, 0, ofbOutV, 0); - N3 = bytesToint(ofbOutV, 0); - N4 = bytesToint(ofbOutV, 4); - } - N3 += C2; - N4 += C1; - intTobytes(N3, ofbV, 0); - intTobytes(N4, ofbV, 4); - - cipher.processBlock(ofbV, 0, ofbOutV, 0); - - // - // XOR the ofbV with the plaintext producing the cipher text (and - // the next input block). - // - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] = (byte)(ofbOutV[i] ^ in[inOff + i]); - } - - // - // change over the input block. - // - System.arraycopy(ofbV, blockSize, ofbV, 0, ofbV.length - blockSize); - System.arraycopy(ofbOutV, 0, ofbV, ofbV.length - blockSize, blockSize); - - return blockSize; - } - - /** - * reset the feedback vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - firstStep = true; - N3 = 0; - N4 = 0; - System.arraycopy(IV, 0, ofbV, 0, IV.length); - - cipher.reset(); - } - - //array of bytes to type int - private int bytesToint( - byte[] in, - int inOff) - { - return ((in[inOff + 3] << 24) & 0xff000000) + ((in[inOff + 2] << 16) & 0xff0000) + - ((in[inOff + 1] << 8) & 0xff00) + (in[inOff] & 0xff); - } - - //int to array of bytes - private void intTobytes( - int num, - byte[] out, - int outOff) - { - out[outOff + 3] = (byte)(num >>> 24); - out[outOff + 2] = (byte)(num >>> 16); - out[outOff + 1] = (byte)(num >>> 8); - out[outOff] = (byte)num; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OCBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OCBBlockCipher.java deleted file mode 100644 index c0a4fcf0f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OCBBlockCipher.java +++ /dev/null @@ -1,565 +0,0 @@ -package org.spongycastle.crypto.modes; - -import java.util.Vector; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * An implementation of the "work in progress" Internet-Draft The OCB Authenticated-Encryption - * Algorithm, licensed per: - *

    - *

    License for - * Open-Source Software Implementations of OCB (Jan 9, 2013) — “License 1”
    - * Under this license, you are authorized to make, use, and distribute open-source software - * implementations of OCB. This license terminates for you if you sue someone over their open-source - * software implementation of OCB claiming that you have a patent covering their implementation. - *

    - * This is a non-binding summary of a legal document (the link above). The parameters of the license - * are specified in the license document and that document is controlling.

    - */ -public class OCBBlockCipher - implements AEADBlockCipher -{ - - private static final int BLOCK_SIZE = 16; - - private BlockCipher hashCipher; - private BlockCipher mainCipher; - - /* - * CONFIGURATION - */ - private boolean forEncryption; - private int macSize; - private byte[] initialAssociatedText; - - /* - * KEY-DEPENDENT - */ - // NOTE: elements are lazily calculated - private Vector L; - private byte[] L_Asterisk, L_Dollar; - - /* - * NONCE-DEPENDENT - */ - private byte[] OffsetMAIN_0; - - /* - * PER-ENCRYPTION/DECRYPTION - */ - private byte[] hashBlock, mainBlock; - private int hashBlockPos, mainBlockPos; - private long hashBlockCount, mainBlockCount; - private byte[] OffsetHASH; - private byte[] Sum; - private byte[] OffsetMAIN; - private byte[] Checksum; - - // NOTE: The MAC value is preserved after doFinal - private byte[] macBlock; - - public OCBBlockCipher(BlockCipher hashCipher, BlockCipher mainCipher) - { - if (hashCipher == null) - { - throw new IllegalArgumentException("'hashCipher' cannot be null"); - } - if (hashCipher.getBlockSize() != BLOCK_SIZE) - { - throw new IllegalArgumentException("'hashCipher' must have a block size of " - + BLOCK_SIZE); - } - if (mainCipher == null) - { - throw new IllegalArgumentException("'mainCipher' cannot be null"); - } - if (mainCipher.getBlockSize() != BLOCK_SIZE) - { - throw new IllegalArgumentException("'mainCipher' must have a block size of " - + BLOCK_SIZE); - } - - if (!hashCipher.getAlgorithmName().equals(mainCipher.getAlgorithmName())) - { - throw new IllegalArgumentException( - "'hashCipher' and 'mainCipher' must be the same algorithm"); - } - - this.hashCipher = hashCipher; - this.mainCipher = mainCipher; - } - - public BlockCipher getUnderlyingCipher() - { - return mainCipher; - } - - public String getAlgorithmName() - { - return mainCipher.getAlgorithmName() + "/OCB"; - } - - public void init(boolean forEncryption, CipherParameters parameters) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - this.macBlock = null; - - KeyParameter keyParameter; - - byte[] N; - if (parameters instanceof AEADParameters) - { - AEADParameters aeadParameters = (AEADParameters)parameters; - - N = aeadParameters.getNonce(); - initialAssociatedText = aeadParameters.getAssociatedText(); - - int macSizeBits = aeadParameters.getMacSize(); - if (macSizeBits < 64 || macSizeBits > 128 || macSizeBits % 8 != 0) - { - throw new IllegalArgumentException("Invalid value for MAC size: " + macSizeBits); - } - - macSize = macSizeBits / 8; - keyParameter = aeadParameters.getKey(); - } - else if (parameters instanceof ParametersWithIV) - { - ParametersWithIV parametersWithIV = (ParametersWithIV)parameters; - - N = parametersWithIV.getIV(); - initialAssociatedText = null; - macSize = 16; - keyParameter = (KeyParameter)parametersWithIV.getParameters(); - } - else - { - throw new IllegalArgumentException("invalid parameters passed to OCB"); - } - - this.hashBlock = new byte[16]; - this.mainBlock = new byte[forEncryption ? BLOCK_SIZE : (BLOCK_SIZE + macSize)]; - - if (N == null) - { - N = new byte[0]; - } - - if (N.length > 15) - { - throw new IllegalArgumentException("IV must be no more than 15 bytes"); - } - - /* - * KEY-DEPENDENT INITIALISATION - */ - - if (keyParameter == null) - { - // TODO If 'keyParameter' is null we're re-using the last key. - } - - // hashCipher always used in forward mode - hashCipher.init(true, keyParameter); - mainCipher.init(forEncryption, keyParameter); - - this.L_Asterisk = new byte[16]; - hashCipher.processBlock(L_Asterisk, 0, L_Asterisk, 0); - - this.L_Dollar = OCB_double(L_Asterisk); - - this.L = new Vector(); - this.L.addElement(OCB_double(L_Dollar)); - - /* - * NONCE-DEPENDENT AND PER-ENCRYPTION/DECRYPTION INITIALISATION - */ - - byte[] nonce = new byte[16]; - System.arraycopy(N, 0, nonce, nonce.length - N.length, N.length); - nonce[0] = (byte)(macSize << 4); - nonce[15 - N.length] |= 1; - - int bottom = nonce[15] & 0x3F; - - byte[] Ktop = new byte[16]; - nonce[15] &= 0xC0; - hashCipher.processBlock(nonce, 0, Ktop, 0); - - byte[] Stretch = new byte[24]; - System.arraycopy(Ktop, 0, Stretch, 0, 16); - for (int i = 0; i < 8; ++i) - { - Stretch[16 + i] = (byte)(Ktop[i] ^ Ktop[i + 1]); - } - - this.OffsetMAIN_0 = new byte[16]; - int bits = bottom % 8, bytes = bottom / 8; - if (bits == 0) - { - System.arraycopy(Stretch, bytes, OffsetMAIN_0, 0, 16); - } - else - { - for (int i = 0; i < 16; ++i) - { - int b1 = Stretch[bytes] & 0xff; - int b2 = Stretch[++bytes] & 0xff; - this.OffsetMAIN_0[i] = (byte)((b1 << bits) | (b2 >>> (8 - bits))); - } - } - - this.hashBlockPos = 0; - this.mainBlockPos = 0; - - this.hashBlockCount = 0; - this.mainBlockCount = 0; - - this.OffsetHASH = new byte[16]; - this.Sum = new byte[16]; - this.OffsetMAIN = Arrays.clone(this.OffsetMAIN_0); - this.Checksum = new byte[16]; - - if (initialAssociatedText != null) - { - processAADBytes(initialAssociatedText, 0, initialAssociatedText.length); - } - } - - public byte[] getMac() - { - return Arrays.clone(macBlock); - } - - public int getOutputSize(int len) - { - int totalData = len + mainBlockPos; - if (forEncryption) - { - return totalData + macSize; - } - return totalData < macSize ? 0 : totalData - macSize; - } - - public int getUpdateOutputSize(int len) - { - int totalData = len + mainBlockPos; - if (!forEncryption) - { - if (totalData < macSize) - { - return 0; - } - totalData -= macSize; - } - return totalData - totalData % BLOCK_SIZE; - } - - public void processAADByte(byte input) - { - hashBlock[hashBlockPos] = input; - if (++hashBlockPos == hashBlock.length) - { - processHashBlock(); - } - } - - public void processAADBytes(byte[] input, int off, int len) - { - for (int i = 0; i < len; ++i) - { - hashBlock[hashBlockPos] = input[off + i]; - if (++hashBlockPos == hashBlock.length) - { - processHashBlock(); - } - } - } - - public int processByte(byte input, byte[] output, int outOff) - throws DataLengthException - { - mainBlock[mainBlockPos] = input; - if (++mainBlockPos == mainBlock.length) - { - processMainBlock(output, outOff); - return BLOCK_SIZE; - } - return 0; - } - - public int processBytes(byte[] input, int inOff, int len, byte[] output, int outOff) - throws DataLengthException - { - int resultLen = 0; - - for (int i = 0; i < len; ++i) - { - mainBlock[mainBlockPos] = input[inOff + i]; - if (++mainBlockPos == mainBlock.length) - { - processMainBlock(output, outOff + resultLen); - resultLen += BLOCK_SIZE; - } - } - - return resultLen; - } - - public int doFinal(byte[] output, int outOff) - throws IllegalStateException, - InvalidCipherTextException - { - /* - * For decryption, get the tag from the end of the message - */ - byte[] tag = null; - if (!forEncryption) - { - if (mainBlockPos < macSize) - { - throw new InvalidCipherTextException("data too short"); - } - mainBlockPos -= macSize; - tag = new byte[macSize]; - System.arraycopy(mainBlock, mainBlockPos, tag, 0, macSize); - } - - /* - * HASH: Process any final partial block; compute final hash value - */ - if (hashBlockPos > 0) - { - OCB_extend(hashBlock, hashBlockPos); - updateHASH(L_Asterisk); - } - - /* - * OCB-ENCRYPT/OCB-DECRYPT: Process any final partial block - */ - if (mainBlockPos > 0) - { - if (forEncryption) - { - OCB_extend(mainBlock, mainBlockPos); - xor(Checksum, mainBlock); - } - - xor(OffsetMAIN, L_Asterisk); - - byte[] Pad = new byte[16]; - hashCipher.processBlock(OffsetMAIN, 0, Pad, 0); - - xor(mainBlock, Pad); - - System.arraycopy(mainBlock, 0, output, outOff, mainBlockPos); - - if (!forEncryption) - { - OCB_extend(mainBlock, mainBlockPos); - xor(Checksum, mainBlock); - } - } - - /* - * OCB-ENCRYPT/OCB-DECRYPT: Compute raw tag - */ - xor(Checksum, OffsetMAIN); - xor(Checksum, L_Dollar); - hashCipher.processBlock(Checksum, 0, Checksum, 0); - xor(Checksum, Sum); - - this.macBlock = new byte[macSize]; - System.arraycopy(Checksum, 0, macBlock, 0, macSize); - - /* - * Validate or append tag and reset this cipher for the next run - */ - int resultLen = mainBlockPos; - - if (forEncryption) - { - // Append tag to the message - System.arraycopy(macBlock, 0, output, outOff + resultLen, macSize); - resultLen += macSize; - } - else - { - // Compare the tag from the message with the calculated one - if (!Arrays.constantTimeAreEqual(macBlock, tag)) - { - throw new InvalidCipherTextException("mac check in OCB failed"); - } - } - - reset(false); - - return resultLen; - } - - public void reset() - { - reset(true); - } - - protected void clear(byte[] bs) - { - if (bs != null) - { - Arrays.fill(bs, (byte)0); - } - } - - protected byte[] getLSub(int n) - { - while (n >= L.size()) - { - L.addElement(OCB_double((byte[])L.lastElement())); - } - return (byte[])L.elementAt(n); - } - - protected void processHashBlock() - { - /* - * HASH: Process any whole blocks - */ - updateHASH(getLSub(OCB_ntz(++hashBlockCount))); - hashBlockPos = 0; - } - - protected void processMainBlock(byte[] output, int outOff) - { - /* - * OCB-ENCRYPT/OCB-DECRYPT: Process any whole blocks - */ - - if (forEncryption) - { - xor(Checksum, mainBlock); - mainBlockPos = 0; - } - - xor(OffsetMAIN, getLSub(OCB_ntz(++mainBlockCount))); - - xor(mainBlock, OffsetMAIN); - mainCipher.processBlock(mainBlock, 0, mainBlock, 0); - xor(mainBlock, OffsetMAIN); - - System.arraycopy(mainBlock, 0, output, outOff, 16); - - if (!forEncryption) - { - xor(Checksum, mainBlock); - System.arraycopy(mainBlock, BLOCK_SIZE, mainBlock, 0, macSize); - mainBlockPos = macSize; - } - } - - protected void reset(boolean clearMac) - { - hashCipher.reset(); - mainCipher.reset(); - - clear(hashBlock); - clear(mainBlock); - - hashBlockPos = 0; - mainBlockPos = 0; - - hashBlockCount = 0; - mainBlockCount = 0; - - clear(OffsetHASH); - clear(Sum); - System.arraycopy(OffsetMAIN_0, 0, OffsetMAIN, 0, 16); - clear(Checksum); - - if (clearMac) - { - macBlock = null; - } - - if (initialAssociatedText != null) - { - processAADBytes(initialAssociatedText, 0, initialAssociatedText.length); - } - } - - protected void updateHASH(byte[] LSub) - { - xor(OffsetHASH, LSub); - xor(hashBlock, OffsetHASH); - hashCipher.processBlock(hashBlock, 0, hashBlock, 0); - xor(Sum, hashBlock); - } - - protected static byte[] OCB_double(byte[] block) - { - byte[] result = new byte[16]; - int carry = shiftLeft(block, result); - - /* - * NOTE: This construction is an attempt at a constant-time implementation. - */ - result[15] ^= (0x87 >>> ((1 - carry) << 3)); - - return result; - } - - protected static void OCB_extend(byte[] block, int pos) - { - block[pos] = (byte)0x80; - while (++pos < 16) - { - block[pos] = 0; - } - } - - protected static int OCB_ntz(long x) - { - if (x == 0) - { - return 64; - } - - int n = 0; - while ((x & 1L) == 0L) - { - ++n; - x >>= 1; - } - return n; - } - - protected static int shiftLeft(byte[] block, byte[] output) - { - int i = 16; - int bit = 0; - while (--i >= 0) - { - int b = block[i] & 0xff; - output[i] = (byte)((b << 1) | bit); - bit = (b >>> 7) & 1; - } - return bit; - } - - protected static void xor(byte[] block, byte[] val) - { - for (int i = 15; i >= 0; --i) - { - block[i] ^= val[i]; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OFBBlockCipher.java deleted file mode 100644 index 3756c7f13..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OFBBlockCipher.java +++ /dev/null @@ -1,187 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * implements a Output-FeedBack (OFB) mode on top of a simple cipher. - */ -public class OFBBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] ofbV; - private byte[] ofbOutV; - - private final int blockSize; - private final BlockCipher cipher; - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * feedback mode. - * @param blockSize the block size in bits (note: a multiple of 8) - */ - public OFBBlockCipher( - BlockCipher cipher, - int blockSize) - { - this.cipher = cipher; - this.blockSize = blockSize / 8; - - this.IV = new byte[cipher.getBlockSize()]; - this.ofbV = new byte[cipher.getBlockSize()]; - this.ofbOutV = new byte[cipher.getBlockSize()]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param encrypting if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean encrypting, //ignored by this OFB mode - CipherParameters params) - throws IllegalArgumentException - { - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length < IV.length) - { - // prepend the supplied IV with zeros (per FIPS PUB 81) - System.arraycopy(iv, 0, IV, IV.length - iv.length, iv.length); - for (int i = 0; i < IV.length - iv.length; i++) - { - IV[i] = 0; - } - } - else - { - System.arraycopy(iv, 0, IV, 0, IV.length); - } - - reset(); - - // if null it's an IV changed only. - if (ivParam.getParameters() != null) - { - cipher.init(true, ivParam.getParameters()); - } - } - else - { - reset(); - - // if it's null, key is to be reused. - if (params != null) - { - cipher.init(true, params); - } - } - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/OFB" - * and the block size in bits - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/OFB" + (blockSize * 8); - } - - - /** - * return the block size we are operating at (in bytes). - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return blockSize; - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(ofbV, 0, ofbOutV, 0); - - // - // XOR the ofbV with the plaintext producing the cipher text (and - // the next input block). - // - for (int i = 0; i < blockSize; i++) - { - out[outOff + i] = (byte)(ofbOutV[i] ^ in[inOff + i]); - } - - // - // change over the input block. - // - System.arraycopy(ofbV, blockSize, ofbV, 0, ofbV.length - blockSize); - System.arraycopy(ofbOutV, 0, ofbV, ofbV.length - blockSize, blockSize); - - return blockSize; - } - - /** - * reset the feedback vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - System.arraycopy(IV, 0, ofbV, 0, IV.length); - - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OldCTSBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OldCTSBlockCipher.java deleted file mode 100644 index 30402b55f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OldCTSBlockCipher.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A Cipher Text Stealing (CTS) mode cipher. CTS allows block ciphers to - * be used to produce cipher text which is the same length as the plain text. - *

    - * This version applies the CTS algorithm from one block up, rather than following the errata update issued in 2004, where CTS mode is applied - * from greater than 1 block up and the first block is processed using CBC mode. - *

    - */ -public class OldCTSBlockCipher - extends BufferedBlockCipher -{ - private int blockSize; - - /** - * Create a buffered block cipher that uses Cipher Text Stealing - * - * @param cipher the underlying block cipher this buffering object wraps. - */ - public OldCTSBlockCipher( - BlockCipher cipher) - { - if ((cipher instanceof OFBBlockCipher) || (cipher instanceof CFBBlockCipher)) - { - throw new IllegalArgumentException("CTSBlockCipher can only accept ECB, or CBC ciphers"); - } - - this.cipher = cipher; - - blockSize = cipher.getBlockSize(); - - buf = new byte[blockSize * 2]; - bufOff = 0; - } - - /** - * return the size of the output buffer required for an update - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update - * with len bytes of input. - */ - public int getUpdateOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - return total - buf.length; - } - - return total - leftOver; - } - - /** - * return the size of the output buffer required for an update plus a - * doFinal with an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update and doFinal - * with len bytes of input. - */ - public int getOutputSize( - int len) - { - return len + bufOff; - } - - /** - * process a single byte, producing an output block if necessary. - * - * @param in the input byte. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception org.spongycastle.crypto.DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processByte( - byte in, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - int resultLen = 0; - - if (bufOff == buf.length) - { - resultLen = cipher.processBlock(buf, 0, out, outOff); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - bufOff = blockSize; - } - - buf[bufOff++] = in; - - return resultLen; - } - - /** - * process an array of bytes, producing output if necessary. - * - * @param in the input byte array. - * @param inOff the offset at which the input data starts. - * @param len the number of bytes to be copied out of the input array. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception org.spongycastle.crypto.DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = getBlockSize(); - int length = getUpdateOutputSize(len); - - if (length > 0) - { - if ((outOff + length) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, out, outOff); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - bufOff = blockSize; - - len -= gapLen; - inOff += gapLen; - - while (len > blockSize) - { - System.arraycopy(in, inOff, buf, bufOff, blockSize); - resultLen += cipher.processBlock(buf, 0, out, outOff + resultLen); - System.arraycopy(buf, blockSize, buf, 0, blockSize); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - - return resultLen; - } - - /** - * Process the last block in the buffer. - * - * @param out the array the block currently being held is copied into. - * @param outOff the offset at which the copying starts. - * @return the number of output bytes copied to out. - * @exception org.spongycastle.crypto.DataLengthException if there is insufficient space in out for - * the output. - * @exception IllegalStateException if the underlying cipher is not - * initialised. - * @exception org.spongycastle.crypto.InvalidCipherTextException if cipher text decrypts wrongly (in - * case the exception will never get thrown). - */ - public int doFinal( - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException, InvalidCipherTextException - { - if (bufOff + outOff > out.length) - { - throw new DataLengthException("output buffer to small in doFinal"); - } - - int blockSize = cipher.getBlockSize(); - int len = bufOff - blockSize; - byte[] block = new byte[blockSize]; - - if (forEncryption) - { - cipher.processBlock(buf, 0, block, 0); - - if (bufOff < blockSize) - { - throw new DataLengthException("need at least one block of input for CTS"); - } - - for (int i = bufOff; i != buf.length; i++) - { - buf[i] = block[i - blockSize]; - } - - for (int i = blockSize; i != bufOff; i++) - { - buf[i] ^= block[i - blockSize]; - } - - if (cipher instanceof CBCBlockCipher) - { - BlockCipher c = ((CBCBlockCipher)cipher).getUnderlyingCipher(); - - c.processBlock(buf, blockSize, out, outOff); - } - else - { - cipher.processBlock(buf, blockSize, out, outOff); - } - - System.arraycopy(block, 0, out, outOff + blockSize, len); - } - else - { - byte[] lastBlock = new byte[blockSize]; - - if (cipher instanceof CBCBlockCipher) - { - BlockCipher c = ((CBCBlockCipher)cipher).getUnderlyingCipher(); - - c.processBlock(buf, 0, block, 0); - } - else - { - cipher.processBlock(buf, 0, block, 0); - } - - for (int i = blockSize; i != bufOff; i++) - { - lastBlock[i - blockSize] = (byte)(block[i - blockSize] ^ buf[i]); - } - - System.arraycopy(buf, blockSize, block, 0, len); - - cipher.processBlock(block, 0, out, outOff); - System.arraycopy(lastBlock, 0, out, outOff + blockSize, len); - } - - int offset = bufOff; - - reset(); - - return offset; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OpenPGPCFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OpenPGPCFBBlockCipher.java deleted file mode 100644 index 0be996be7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/OpenPGPCFBBlockCipher.java +++ /dev/null @@ -1,312 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; - -/** - * Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode - * on top of a simple cipher. This class assumes the IV has been prepended - * to the data stream already, and just accomodates the reset after - * (blockSize + 2) bytes have been read. - *

    - * For further info see RFC 2440. - */ -public class OpenPGPCFBBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] FR; - private byte[] FRE; - - private BlockCipher cipher; - - private int count; - private int blockSize; - private boolean forEncryption; - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * feedback mode. - */ - public OpenPGPCFBBlockCipher( - BlockCipher cipher) - { - this.cipher = cipher; - - this.blockSize = cipher.getBlockSize(); - this.IV = new byte[blockSize]; - this.FR = new byte[blockSize]; - this.FRE = new byte[blockSize]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/PGPCFB" - * and the block size in bits. - */ - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/OpenPGPCFB"; - } - - /** - * return the block size we are operating at. - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - return (forEncryption) ? encryptBlock(in, inOff, out, outOff) : decryptBlock(in, inOff, out, outOff); - } - - /** - * reset the chaining vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - count = 0; - - System.arraycopy(IV, 0, FR, 0, FR.length); - - cipher.reset(); - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - reset(); - - cipher.init(true, params); - } - - /** - * Encrypt one byte of data according to CFB mode. - * @param data the byte to encrypt - * @param blockOff offset in the current block - * @return the encrypted byte - */ - private byte encryptByte(byte data, int blockOff) - { - return (byte)(FRE[blockOff] ^ data); - } - - /** - * Do the appropriate processing for CFB IV mode encryption. - * - * @param in the array containing the data to be encrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - if (count > blockSize) - { - FR[blockSize - 2] = out[outOff] = encryptByte(in[inOff], blockSize - 2); - FR[blockSize - 1] = out[outOff + 1] = encryptByte(in[inOff + 1], blockSize - 1); - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 2; n < blockSize; n++) - { - FR[n - 2] = out[outOff + n] = encryptByte(in[inOff + n], n - 2); - } - } - else if (count == 0) - { - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize; n++) - { - FR[n] = out[outOff + n] = encryptByte(in[inOff + n], n); - } - - count += blockSize; - } - else if (count == blockSize) - { - cipher.processBlock(FR, 0, FRE, 0); - - out[outOff] = encryptByte(in[inOff], 0); - out[outOff + 1] = encryptByte(in[inOff + 1], 1); - - // - // do reset - // - System.arraycopy(FR, 2, FR, 0, blockSize - 2); - System.arraycopy(out, outOff, FR, blockSize - 2, 2); - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 2; n < blockSize; n++) - { - FR[n - 2] = out[outOff + n] = encryptByte(in[inOff + n], n - 2); - } - - count += blockSize; - } - - return blockSize; - } - - /** - * Do the appropriate processing for CFB IV mode decryption. - * - * @param in the array containing the data to be decrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - if (count > blockSize) - { - byte inVal = in[inOff]; - FR[blockSize - 2] = inVal; - out[outOff] = encryptByte(inVal, blockSize - 2); - - inVal = in[inOff + 1]; - FR[blockSize - 1] = inVal; - out[outOff + 1] = encryptByte(inVal, blockSize - 1); - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 2; n < blockSize; n++) - { - inVal = in[inOff + n]; - FR[n - 2] = inVal; - out[outOff + n] = encryptByte(inVal, n - 2); - } - } - else if (count == 0) - { - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize; n++) - { - FR[n] = in[inOff + n]; - out[n] = encryptByte(in[inOff + n], n); - } - - count += blockSize; - } - else if (count == blockSize) - { - cipher.processBlock(FR, 0, FRE, 0); - - byte inVal1 = in[inOff]; - byte inVal2 = in[inOff + 1]; - out[outOff ] = encryptByte(inVal1, 0); - out[outOff + 1] = encryptByte(inVal2, 1); - - System.arraycopy(FR, 2, FR, 0, blockSize - 2); - - FR[blockSize - 2] = inVal1; - FR[blockSize - 1] = inVal2; - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 2; n < blockSize; n++) - { - byte inVal = in[inOff + n]; - FR[n - 2] = inVal; - out[outOff + n] = encryptByte(inVal, n - 2); - } - - count += blockSize; - } - - return blockSize; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PGPCFBBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PGPCFBBlockCipher.java deleted file mode 100644 index 370ce40d9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PGPCFBBlockCipher.java +++ /dev/null @@ -1,455 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode on top of a simple cipher. For further info see RFC 2440. - */ -public class PGPCFBBlockCipher - implements BlockCipher -{ - private byte[] IV; - private byte[] FR; - private byte[] FRE; - private byte[] tmp; - - private BlockCipher cipher; - - private int count; - private int blockSize; - private boolean forEncryption; - - private boolean inlineIv; // if false we don't need to prepend an IV - - /** - * Basic constructor. - * - * @param cipher the block cipher to be used as the basis of the - * feedback mode. - * @param inlineIv if true this is for PGP CFB with a prepended iv. - */ - public PGPCFBBlockCipher( - BlockCipher cipher, - boolean inlineIv) - { - this.cipher = cipher; - this.inlineIv = inlineIv; - - this.blockSize = cipher.getBlockSize(); - this.IV = new byte[blockSize]; - this.FR = new byte[blockSize]; - this.FRE = new byte[blockSize]; - this.tmp = new byte[blockSize]; - } - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - /** - * return the algorithm name and mode. - * - * @return the name of the underlying algorithm followed by "/PGPCFB" - * and the block size in bits. - */ - public String getAlgorithmName() - { - if (inlineIv) - { - return cipher.getAlgorithmName() + "/PGPCFBwithIV"; - } - else - { - return cipher.getAlgorithmName() + "/PGPCFB"; - } - } - - /** - * return the block size we are operating at. - * - * @return the block size we are operating at (in bytes). - */ - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - /** - * Process one block of input from the array in and write it to - * the out array. - * - * @param in the array containing the input data. - * @param inOff offset into the in array the data starts at. - * @param out the array the output data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - public int processBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (inlineIv) - { - return (forEncryption) ? encryptBlockWithIV(in, inOff, out, outOff) : decryptBlockWithIV(in, inOff, out, outOff); - } - else - { - return (forEncryption) ? encryptBlock(in, inOff, out, outOff) : decryptBlock(in, inOff, out, outOff); - } - } - - /** - * reset the chaining vector back to the IV and reset the underlying - * cipher. - */ - public void reset() - { - count = 0; - - for (int i = 0; i != FR.length; i++) - { - if (inlineIv) - { - FR[i] = 0; - } - else - { - FR[i] = IV[i]; // if simple mode, key is IV (even if this is zero) - } - } - - cipher.reset(); - } - - /** - * Initialise the cipher and, possibly, the initialisation vector (IV). - * If an IV isn't passed as part of the parameter, the IV will be all zeros. - * An IV which is too short is handled in FIPS compliant fashion. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - - if (iv.length < IV.length) - { - // prepend the supplied IV with zeros (per FIPS PUB 81) - System.arraycopy(iv, 0, IV, IV.length - iv.length, iv.length); - for (int i = 0; i < IV.length - iv.length; i++) - { - IV[i] = 0; - } - } - else - { - System.arraycopy(iv, 0, IV, 0, IV.length); - } - - reset(); - - cipher.init(true, ivParam.getParameters()); - } - else - { - reset(); - - cipher.init(true, params); - } - } - - /** - * Encrypt one byte of data according to CFB mode. - * @param data the byte to encrypt - * @param blockOff where am i in the current block, determines when to resync the block - * @returns the encrypted byte - */ - private byte encryptByte(byte data, int blockOff) - { - return (byte)(FRE[blockOff] ^ data); - } - - /** - * Do the appropriate processing for CFB IV mode encryption. - * - * @param in the array containing the data to be encrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int encryptBlockWithIV( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if (count == 0) - { - if ((outOff + 2 * blockSize + 2) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize; n++) - { - out[outOff + n] = encryptByte(IV[n], n); - } - - System.arraycopy(out, outOff, FR, 0, blockSize); - - cipher.processBlock(FR, 0, FRE, 0); - - out[outOff + blockSize] = encryptByte(IV[blockSize - 2], 0); - out[outOff + blockSize + 1] = encryptByte(IV[blockSize - 1], 1); - - System.arraycopy(out, outOff + 2, FR, 0, blockSize); - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize; n++) - { - out[outOff + blockSize + 2 + n] = encryptByte(in[inOff + n], n); - } - - System.arraycopy(out, outOff + blockSize + 2, FR, 0, blockSize); - - count += 2 * blockSize + 2; - - return 2 * blockSize + 2; - } - else if (count >= blockSize + 2) - { - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize; n++) - { - out[outOff + n] = encryptByte(in[inOff + n], n); - } - - System.arraycopy(out, outOff, FR, 0, blockSize); - } - - return blockSize; - } - - /** - * Do the appropriate processing for CFB IV mode decryption. - * - * @param in the array containing the data to be decrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int decryptBlockWithIV( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - if (count == 0) - { - for (int n = 0; n < blockSize; n++) - { - FR[n] = in[inOff + n]; - } - - cipher.processBlock(FR, 0, FRE, 0); - - count += blockSize; - - return 0; - } - else if (count == blockSize) - { - // copy in buffer so that this mode works if in and out are the same - System.arraycopy(in, inOff, tmp, 0, blockSize); - - System.arraycopy(FR, 2, FR, 0, blockSize - 2); - - FR[blockSize - 2] = tmp[0]; - FR[blockSize - 1] = tmp[1]; - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize - 2; n++) - { - out[outOff + n] = encryptByte(tmp[n + 2], n); - } - - System.arraycopy(tmp, 2, FR, 0, blockSize - 2); - - count += 2; - - return blockSize - 2; - } - else if (count >= blockSize + 2) - { - // copy in buffer so that this mode works if in and out are the same - System.arraycopy(in, inOff, tmp, 0, blockSize); - - out[outOff + 0] = encryptByte(tmp[0], blockSize - 2); - out[outOff + 1] = encryptByte(tmp[1], blockSize - 1); - - System.arraycopy(tmp, 0, FR, blockSize - 2, 2); - - cipher.processBlock(FR, 0, FRE, 0); - - for (int n = 0; n < blockSize - 2; n++) - { - out[outOff + n + 2] = encryptByte(tmp[n + 2], n); - } - - System.arraycopy(tmp, 2, FR, 0, blockSize - 2); - - } - - return blockSize; - } - - /** - * Do the appropriate processing for CFB mode encryption. - * - * @param in the array containing the data to be encrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int encryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(FR, 0, FRE, 0); - for (int n = 0; n < blockSize; n++) - { - out[outOff + n] = encryptByte(in[inOff + n], n); - } - - for (int n = 0; n < blockSize; n++) - { - FR[n] = out[outOff + n]; - } - - return blockSize; - - } - - /** - * Do the appropriate processing for CFB mode decryption. - * - * @param in the array containing the data to be decrypted. - * @param inOff offset into the in array the data starts at. - * @param out the array the encrypted data will be copied into. - * @param outOff the offset into the out array the output will start at. - * @exception DataLengthException if there isn't enough data in in, or - * space in out. - * @exception IllegalStateException if the cipher isn't initialised. - * @return the number of bytes processed and produced. - */ - private int decryptBlock( - byte[] in, - int inOff, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - cipher.processBlock(FR, 0, FRE, 0); - for (int n = 0; n < blockSize; n++) - { - out[outOff + n] = encryptByte(in[inOff + n], n); - } - - for (int n = 0; n < blockSize; n++) - { - FR[n] = in[inOff + n]; - } - - return blockSize; - - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PaddedBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PaddedBlockCipher.java deleted file mode 100644 index 23d6de745..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/PaddedBlockCipher.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A wrapper class that allows block ciphers to be used to process data in - * a piecemeal fashion with PKCS5/PKCS7 padding. The PaddedBlockCipher - * outputs a block only when the buffer is full and more data is being added, - * or on a doFinal (unless the current block in the buffer is a pad block). - * The padding mechanism used is the one outlined in PKCS5/PKCS7. - * - * @deprecated use org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher instead. - */ -public class PaddedBlockCipher - extends BufferedBlockCipher -{ - /** - * Create a buffered block cipher with, or without, padding. - * - * @param cipher the underlying block cipher this buffering object wraps. - */ - public PaddedBlockCipher( - BlockCipher cipher) - { - this.cipher = cipher; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - } - - /** - * return the size of the output buffer required for an update plus a - * doFinal with an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update and doFinal - * with len bytes of input. - */ - public int getOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - if (forEncryption) - { - return total + buf.length; - } - - return total; - } - - return total - leftOver + buf.length; - } - - /** - * return the size of the output buffer required for an update - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update - * with len bytes of input. - */ - public int getUpdateOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - return total - buf.length; - } - - return total - leftOver; - } - - /** - * process a single byte, producing an output block if neccessary. - * - * @param in the input byte. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processByte( - byte in, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - int resultLen = 0; - - if (bufOff == buf.length) - { - resultLen = cipher.processBlock(buf, 0, out, outOff); - bufOff = 0; - } - - buf[bufOff++] = in; - - return resultLen; - } - - /** - * process an array of bytes, producing output if necessary. - * - * @param in the input byte array. - * @param inOff the offset at which the input data starts. - * @param len the number of bytes to be copied out of the input array. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = getBlockSize(); - int length = getUpdateOutputSize(len); - - if (length > 0) - { - if ((outOff + length) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, out, outOff); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > buf.length) - { - resultLen += cipher.processBlock(in, inOff, out, outOff + resultLen); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - - return resultLen; - } - - /** - * Process the last block in the buffer. If the buffer is currently - * full and padding needs to be added a call to doFinal will produce - * 2 * getBlockSize() bytes. - * - * @param out the array the block currently being held is copied into. - * @param outOff the offset at which the copying starts. - * @exception DataLengthException if there is insufficient space in out for - * the output or we are decrypting and the input is not block size aligned. - * @exception IllegalStateException if the underlying cipher is not - * initialised. - * @exception InvalidCipherTextException if padding is expected and not found. - */ - public int doFinal( - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException, InvalidCipherTextException - { - int blockSize = cipher.getBlockSize(); - int resultLen = 0; - - if (forEncryption) - { - if (bufOff == blockSize) - { - if ((outOff + 2 * blockSize) > out.length) - { - throw new DataLengthException("output buffer too short"); - } - - resultLen = cipher.processBlock(buf, 0, out, outOff); - bufOff = 0; - } - - // - // add PKCS7 padding - // - byte code = (byte)(blockSize - bufOff); - - while (bufOff < blockSize) - { - buf[bufOff] = code; - bufOff++; - } - - resultLen += cipher.processBlock(buf, 0, out, outOff + resultLen); - } - else - { - if (bufOff == blockSize) - { - resultLen = cipher.processBlock(buf, 0, buf, 0); - bufOff = 0; - } - else - { - throw new DataLengthException("last block incomplete in decryption"); - } - - // - // remove PKCS7 padding - // - int count = buf[blockSize - 1] & 0xff; - - if ((count < 0) || (count > blockSize)) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - - resultLen -= count; - - System.arraycopy(buf, 0, out, outOff, resultLen); - } - - reset(); - - return resultLen; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/SICBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/SICBlockCipher.java deleted file mode 100644 index f228baf35..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/SICBlockCipher.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.crypto.modes; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Implements the Segmented Integer Counter (SIC) mode on top of a simple - * block cipher. This mode is also known as CTR mode. - */ -public class SICBlockCipher - implements BlockCipher -{ - private final BlockCipher cipher; - private final int blockSize; - - private byte[] IV; - private byte[] counter; - private byte[] counterOut; - - - /** - * Basic constructor. - * - * @param c the block cipher to be used. - */ - public SICBlockCipher(BlockCipher c) - { - this.cipher = c; - this.blockSize = cipher.getBlockSize(); - this.IV = new byte[blockSize]; - this.counter = new byte[blockSize]; - this.counterOut = new byte[blockSize]; - } - - - /** - * return the underlying block cipher that we are wrapping. - * - * @return the underlying block cipher that we are wrapping. - */ - public BlockCipher getUnderlyingCipher() - { - return cipher; - } - - - public void init( - boolean forEncryption, //ignored by this CTR mode - CipherParameters params) - throws IllegalArgumentException - { - if (params instanceof ParametersWithIV) - { - ParametersWithIV ivParam = (ParametersWithIV)params; - byte[] iv = ivParam.getIV(); - System.arraycopy(iv, 0, IV, 0, IV.length); - - reset(); - - // if null it's an IV changed only. - if (ivParam.getParameters() != null) - { - cipher.init(true, ivParam.getParameters()); - } - } - else - { - throw new IllegalArgumentException("SIC mode requires ParametersWithIV"); - } - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName() + "/SIC"; - } - - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - cipher.processBlock(counter, 0, counterOut, 0); - - // - // XOR the counterOut with the plaintext producing the cipher text - // - for (int i = 0; i < counterOut.length; i++) - { - out[outOff + i] = (byte)(counterOut[i] ^ in[inOff + i]); - } - - // increment counter by 1. - for (int i = counter.length - 1; i >= 0 && ++counter[i] == 0; i--) - { - ; // do nothing - pre-increment and test for 0 in counter does the job. - } - - return counter.length; - } - - - public void reset() - { - System.arraycopy(IV, 0, counter, 0, counter.length); - cipher.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMExponentiator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMExponentiator.java deleted file mode 100644 index b84fe6f0f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMExponentiator.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import org.spongycastle.util.Arrays; - -public class BasicGCMExponentiator implements GCMExponentiator -{ - private int[] x; - - public void init(byte[] x) - { - this.x = GCMUtil.asInts(x); - } - - public void exponentiateX(long pow, byte[] output) - { - // Initial value is little-endian 1 - int[] y = GCMUtil.oneAsInts(); - - if (pow > 0) - { - int[] powX = Arrays.clone(x); - do - { - if ((pow & 1L) != 0) - { - GCMUtil.multiply(y, powX); - } - GCMUtil.multiply(powX, powX); - pow >>>= 1; - } - while (pow > 0); - } - - GCMUtil.asBytes(y, output); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMMultiplier.java deleted file mode 100644 index 33866a9a4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/BasicGCMMultiplier.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import org.spongycastle.util.Arrays; - -public class BasicGCMMultiplier implements GCMMultiplier -{ - private byte[] H; - - public void init(byte[] H) - { - this.H = Arrays.clone(H); - } - - public void multiplyH(byte[] x) - { - GCMUtil.multiply(x, H); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMExponentiator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMExponentiator.java deleted file mode 100644 index 1ed19fbdc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMExponentiator.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -public interface GCMExponentiator -{ - void init(byte[] x); - void exponentiateX(long pow, byte[] output); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMMultiplier.java deleted file mode 100644 index 74afee2f6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMMultiplier.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -public interface GCMMultiplier -{ - void init(byte[] H); - void multiplyH(byte[] x); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMUtil.java deleted file mode 100644 index ffb21997c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/GCMUtil.java +++ /dev/null @@ -1,457 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -abstract class GCMUtil -{ - private static final int E1 = 0xe1000000; - private static final byte E1B = (byte)0xe1; - private static final long E1L = (E1 & 0xFFFFFFFFL) << 24; - - private static int[] generateLookup() - { - int[] lookup = new int[256]; - - for (int c = 0; c < 256; ++c) - { - int v = 0; - for (int i = 7; i >= 0; --i) - { - if ((c & (1 << i)) != 0) - { - v ^= (E1 >>> (7 - i)); - } - } - lookup[c] = v; - } - - return lookup; - } - - private static final int[] LOOKUP = generateLookup(); - - static byte[] oneAsBytes() - { - byte[] tmp = new byte[16]; - tmp[0] = (byte)0x80; - return tmp; - } - - static int[] oneAsInts() - { - int[] tmp = new int[4]; - tmp[0] = 1 << 31; - return tmp; - } - - static long[] oneAsLongs() - { - long[] tmp = new long[2]; - tmp[0] = 1L << 63; - return tmp; - } - - static byte[] asBytes(int[] x) - { - byte[] z = new byte[16]; - Pack.intToBigEndian(x, z, 0); - return z; - } - - static void asBytes(int[] x, byte[] z) - { - Pack.intToBigEndian(x, z, 0); - } - - static byte[] asBytes(long[] x) - { - byte[] z = new byte[16]; - Pack.longToBigEndian(x, z, 0); - return z; - } - - static void asBytes(long[] x, byte[] z) - { - Pack.longToBigEndian(x, z, 0); - } - - static int[] asInts(byte[] x) - { - int[] z = new int[4]; - Pack.bigEndianToInt(x, 0, z); - return z; - } - - static void asInts(byte[] x, int[] z) - { - Pack.bigEndianToInt(x, 0, z); - } - - static long[] asLongs(byte[] x) - { - long[] z = new long[2]; - Pack.bigEndianToLong(x, 0, z); - return z; - } - - static void asLongs(byte[] x, long[] z) - { - Pack.bigEndianToLong(x, 0, z); - } - - static void multiply(byte[] x, byte[] y) - { - byte[] r0 = Arrays.clone(x); - byte[] r1 = new byte[16]; - - for (int i = 0; i < 16; ++i) - { - byte bits = y[i]; - for (int j = 7; j >= 0; --j) - { - if ((bits & (1 << j)) != 0) - { - xor(r1, r0); - } - - if (shiftRight(r0) != 0) - { - r0[0] ^= E1B; - } - } - } - - System.arraycopy(r1, 0, x, 0, 16); - } - - static void multiply(int[] x, int[] y) - { - int[] r0 = Arrays.clone(x); - int[] r1 = new int[4]; - - for (int i = 0; i < 4; ++i) - { - int bits = y[i]; - for (int j = 31; j >= 0; --j) - { - if ((bits & (1 << j)) != 0) - { - xor(r1, r0); - } - - if (shiftRight(r0) != 0) - { - r0[0] ^= E1; - } - } - } - - System.arraycopy(r1, 0, x, 0, 4); - } - - static void multiply(long[] x, long[] y) - { - long[] r0 = new long[]{ x[0], x[1] }; - long[] r1 = new long[2]; - - for (int i = 0; i < 2; ++i) - { - long bits = y[i]; - for (int j = 63; j >= 0; --j) - { - if ((bits & (1L << j)) != 0) - { - xor(r1, r0); - } - - if (shiftRight(r0) != 0) - { - r0[0] ^= E1L; - } - } - } - - x[0] = r1[0]; - x[1] = r1[1]; - } - - // P is the value with only bit i=1 set - static void multiplyP(int[] x) - { - if (shiftRight(x) != 0) - { - x[0] ^= E1; - } - } - - static void multiplyP(int[] x, int[] y) - { - if (shiftRight(x, y) != 0) - { - y[0] ^= E1; - } - } - - // P is the value with only bit i=1 set - static void multiplyP8(int[] x) - { -// for (int i = 8; i != 0; --i) -// { -// multiplyP(x); -// } - - int c = shiftRightN(x, 8); - x[0] ^= LOOKUP[c >>> 24]; - } - - static void multiplyP8(int[] x, int[] y) - { - int c = shiftRightN(x, 8, y); - y[0] ^= LOOKUP[c >>> 24]; - } - - static byte shiftRight(byte[] x) - { -// int c = 0; -// for (int i = 0; i < 16; ++i) -// { -// int b = x[i] & 0xff; -// x[i] = (byte)((b >>> 1) | c); -// c = (b & 1) << 7; -// } -// return (byte)c; - - int i = 0, c = 0; - do - { - int b = x[i] & 0xff; - x[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - x[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - x[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - x[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - } - while (i < 16); - return (byte)c; - } - - static byte shiftRight(byte[] x, byte[] z) - { -// int c = 0; -// for (int i = 0; i < 16; ++i) -// { -// int b = x[i] & 0xff; -// z[i] = (byte) ((b >>> 1) | c); -// c = (b & 1) << 7; -// } -// return (byte) c; - - int i = 0, c = 0; - do - { - int b = x[i] & 0xff; - z[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - z[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - z[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - b = x[i] & 0xff; - z[i++] = (byte)((b >>> 1) | c); - c = (b & 1) << 7; - } - while (i < 16); - return (byte)c; - } - - static int shiftRight(int[] x) - { -// int c = 0; -// for (int i = 0; i < 4; ++i) -// { -// int b = x[i]; -// x[i] = (b >>> 1) | c; -// c = b << 31; -// } -// return c; - - int b = x[0]; - x[0] = b >>> 1; - int c = b << 31; - b = x[1]; - x[1] = (b >>> 1) | c; - c = b << 31; - b = x[2]; - x[2] = (b >>> 1) | c; - c = b << 31; - b = x[3]; - x[3] = (b >>> 1) | c; - return b << 31; - } - - static int shiftRight(int[] x, int[] z) - { -// int c = 0; -// for (int i = 0; i < 4; ++i) -// { -// int b = x[i]; -// z[i] = (b >>> 1) | c; -// c = b << 31; -// } -// return c; - - int b = x[0]; - z[0] = b >>> 1; - int c = b << 31; - b = x[1]; - z[1] = (b >>> 1) | c; - c = b << 31; - b = x[2]; - z[2] = (b >>> 1) | c; - c = b << 31; - b = x[3]; - z[3] = (b >>> 1) | c; - return b << 31; - } - - static long shiftRight(long[] x) - { - long b = x[0]; - x[0] = b >>> 1; - long c = b << 63; - b = x[1]; - x[1] = (b >>> 1) | c; - return b << 63; - } - - static long shiftRight(long[] x, long[] z) - { - long b = x[0]; - z[0] = b >>> 1; - long c = b << 63; - b = x[1]; - z[1] = (b >>> 1) | c; - return b << 63; - } - - static int shiftRightN(int[] x, int n) - { -// int c = 0, nInv = 32 - n; -// for (int i = 0; i < 4; ++i) -// { -// int b = x[i]; -// x[i] = (b >>> n) | c; -// c = b << nInv; -// } -// return c; - - int b = x[0], nInv = 32 - n; - x[0] = b >>> n; - int c = b << nInv; - b = x[1]; - x[1] = (b >>> n) | c; - c = b << nInv; - b = x[2]; - x[2] = (b >>> n) | c; - c = b << nInv; - b = x[3]; - x[3] = (b >>> n) | c; - return b << nInv; - } - - static int shiftRightN(int[] x, int n, int[] z) - { -// int c = 0, nInv = 32 - n; -// for (int i = 0; i < 4; ++i) -// { -// int b = x[i]; -// z[i] = (b >>> n) | c; -// c = b << nInv; -// } -// return c; - - int b = x[0], nInv = 32 - n; - z[0] = b >>> n; - int c = b << nInv; - b = x[1]; - z[1] = (b >>> n) | c; - c = b << nInv; - b = x[2]; - z[2] = (b >>> n) | c; - c = b << nInv; - b = x[3]; - z[3] = (b >>> n) | c; - return b << nInv; - } - - static void xor(byte[] x, byte[] y) - { - int i = 0; - do - { - x[i] ^= y[i]; ++i; - x[i] ^= y[i]; ++i; - x[i] ^= y[i]; ++i; - x[i] ^= y[i]; ++i; - } - while (i < 16); - } - - static void xor(byte[] x, byte[] y, int yOff, int yLen) - { - while (yLen-- > 0) - { - x[yLen] ^= y[yOff + yLen]; - } - } - - static void xor(byte[] x, byte[] y, byte[] z) - { - int i = 0; - do - { - z[i] = (byte)(x[i] ^ y[i]); ++i; - z[i] = (byte)(x[i] ^ y[i]); ++i; - z[i] = (byte)(x[i] ^ y[i]); ++i; - z[i] = (byte)(x[i] ^ y[i]); ++i; - } - while (i < 16); - } - - static void xor(int[] x, int[] y) - { - x[0] ^= y[0]; - x[1] ^= y[1]; - x[2] ^= y[2]; - x[3] ^= y[3]; - } - - static void xor(int[] x, int[] y, int[] z) - { - z[0] = x[0] ^ y[0]; - z[1] = x[1] ^ y[1]; - z[2] = x[2] ^ y[2]; - z[3] = x[3] ^ y[3]; - } - - static void xor(long[] x, long[] y) - { - x[0] ^= y[0]; - x[1] ^= y[1]; - } - - static void xor(long[] x, long[] y, long[] z) - { - z[0] = x[0] ^ y[0]; - z[1] = x[1] ^ y[1]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables1kGCMExponentiator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables1kGCMExponentiator.java deleted file mode 100644 index f78188988..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables1kGCMExponentiator.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import java.util.Vector; - -import org.spongycastle.util.Arrays; - -public class Tables1kGCMExponentiator implements GCMExponentiator -{ - // A lookup table of the power-of-two powers of 'x' - // - lookupPowX2[i] = x^(2^i) - private Vector lookupPowX2; - - public void init(byte[] x) - { - int[] y = GCMUtil.asInts(x); - if (lookupPowX2 != null && Arrays.areEqual(y, (int[])lookupPowX2.elementAt(0))) - { - return; - } - - lookupPowX2 = new Vector(8); - lookupPowX2.addElement(y); - } - - public void exponentiateX(long pow, byte[] output) - { - int[] y = GCMUtil.oneAsInts(); - int bit = 0; - while (pow > 0) - { - if ((pow & 1L) != 0) - { - ensureAvailable(bit); - GCMUtil.multiply(y, (int[])lookupPowX2.elementAt(bit)); - } - ++bit; - pow >>>= 1; - } - - GCMUtil.asBytes(y, output); - } - - private void ensureAvailable(int bit) - { - int count = lookupPowX2.size(); - if (count <= bit) - { - int[] tmp = (int[])lookupPowX2.elementAt(count - 1); - do - { - tmp = Arrays.clone(tmp); - GCMUtil.multiply(tmp, tmp); - lookupPowX2.addElement(tmp); - } - while (++count <= bit); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables64kGCMMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables64kGCMMultiplier.java deleted file mode 100644 index 3c26ea9a7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables64kGCMMultiplier.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -public class Tables64kGCMMultiplier implements GCMMultiplier -{ - private byte[] H; - private int[][][] M; - - public void init(byte[] H) - { - if (M == null) - { - M = new int[16][256][4]; - } - else if (Arrays.areEqual(this.H, H)) - { - return; - } - - this.H = Arrays.clone(H); - - // M[0][0] is ZEROES; - GCMUtil.asInts(H, M[0][128]); - - for (int j = 64; j >= 1; j >>= 1) - { - GCMUtil.multiplyP(M[0][j + j], M[0][j]); - } - - int i = 0; - for (;;) - { - for (int j = 2; j < 256; j += j) - { - for (int k = 1; k < j; ++k) - { - GCMUtil.xor(M[i][j], M[i][k], M[i][j + k]); - } - } - - if (++i == 16) - { - return; - } - - // M[i][0] is ZEROES; - for (int j = 128; j > 0; j >>= 1) - { - GCMUtil.multiplyP8(M[i - 1][j], M[i][j]); - } - } - } - - public void multiplyH(byte[] x) - { -// assert x.Length == 16; - - int[] z = new int[4]; - for (int i = 15; i >= 0; --i) - { -// GCMUtil.xor(z, M[i][x[i] & 0xff]); - int[] m = M[i][x[i] & 0xff]; - z[0] ^= m[0]; - z[1] ^= m[1]; - z[2] ^= m[2]; - z[3] ^= m[3]; - } - - Pack.intToBigEndian(z, x, 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java deleted file mode 100644 index 220370c05..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.modes.gcm; - -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; - -public class Tables8kGCMMultiplier implements GCMMultiplier -{ - private byte[] H; - private int[][][] M; - - public void init(byte[] H) - { - if (M == null) - { - M = new int[32][16][4]; - } - else if (Arrays.areEqual(this.H, H)) - { - return; - } - - this.H = Arrays.clone(H); - - // M[0][0] is ZEROES; - // M[1][0] is ZEROES; - GCMUtil.asInts(H, M[1][8]); - - for (int j = 4; j >= 1; j >>= 1) - { - GCMUtil.multiplyP(M[1][j + j], M[1][j]); - } - - GCMUtil.multiplyP(M[1][1], M[0][8]); - - for (int j = 4; j >= 1; j >>= 1) - { - GCMUtil.multiplyP(M[0][j + j], M[0][j]); - } - - int i = 0; - for (;;) - { - for (int j = 2; j < 16; j += j) - { - for (int k = 1; k < j; ++k) - { - GCMUtil.xor(M[i][j], M[i][k], M[i][j + k]); - } - } - - if (++i == 32) - { - return; - } - - if (i > 1) - { - // M[i][0] is ZEROES; - for(int j = 8; j > 0; j >>= 1) - { - GCMUtil.multiplyP8(M[i - 2][j], M[i][j]); - } - } - } - } - - public void multiplyH(byte[] x) - { -// assert x.Length == 16; - - int[] z = new int[4]; - for (int i = 15; i >= 0; --i) - { -// GCMUtil.xor(z, M[i + i][x[i] & 0x0f]); - int[] m = M[i + i][x[i] & 0x0f]; - z[0] ^= m[0]; - z[1] ^= m[1]; - z[2] ^= m[2]; - z[3] ^= m[3]; -// GCMUtil.xor(z, M[i + i + 1][(x[i] & 0xf0) >>> 4]); - m = M[i + i + 1][(x[i] & 0xf0) >>> 4]; - z[0] ^= m[0]; - z[1] ^= m[1]; - z[2] ^= m[2]; - z[3] ^= m[3]; - } - - Pack.intToBigEndian(z, x, 0); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/BlockCipherPadding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/BlockCipherPadding.java deleted file mode 100644 index f68915d18..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/BlockCipherPadding.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * Block cipher padders are expected to conform to this interface - */ -public interface BlockCipherPadding -{ - /** - * Initialise the padder. - * - * @param random the source of randomness for the padding, if required. - */ - public void init(SecureRandom random) - throws IllegalArgumentException; - - /** - * Return the name of the algorithm the cipher implements. - * - * @return the name of the algorithm the cipher implements. - */ - public String getPaddingName(); - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - *

    - * Note: this assumes that the last block of plain text is always - * passed to it inside in. i.e. if inOff is zero, indicating the - * entire block is to be overwritten with padding the value of in - * should be the same as the last block of plain text. The reason - * for this is that some modes such as "trailing bit compliment" - * base the padding on the last byte of plain text. - *

    - */ - public int addPadding(byte[] in, int inOff); - - /** - * return the number of pad bytes present in the block. - * @exception InvalidCipherTextException if the padding is badly formed - * or invalid. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO10126d2Padding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO10126d2Padding.java deleted file mode 100644 index 16e32f276..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO10126d2Padding.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds ISO10126-2 padding to a block. - */ -public class ISO10126d2Padding - implements BlockCipherPadding -{ - SecureRandom random; - - /** - * Initialise the padder. - * - * @param random a SecureRandom if available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - if (random != null) - { - this.random = random; - } - else - { - this.random = new SecureRandom(); - } - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "ISO10126-2"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - */ - public int addPadding( - byte[] in, - int inOff) - { - byte code = (byte)(in.length - inOff); - - while (inOff < (in.length - 1)) - { - in[inOff] = (byte)random.nextInt(); - inOff++; - } - - in[inOff] = code; - - return code; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - int count = in[in.length - 1] & 0xff; - - if (count > in.length) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - - return count; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO7816d4Padding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO7816d4Padding.java deleted file mode 100644 index d187e4450..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ISO7816d4Padding.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds the padding according to the scheme referenced in - * ISO 7814-4 - scheme 2 from ISO 9797-1. The first byte is 0x80, rest is 0x00 - */ -public class ISO7816d4Padding - implements BlockCipherPadding -{ - /** - * Initialise the padder. - * - * @param random - a SecureRandom if available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - // nothing to do. - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "ISO7816-4"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - */ - public int addPadding( - byte[] in, - int inOff) - { - int added = (in.length - inOff); - - in [inOff]= (byte) 0x80; - inOff ++; - - while (inOff < in.length) - { - in[inOff] = (byte) 0; - inOff++; - } - - return added; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - int count = in.length - 1; - - while (count > 0 && in[count] == 0) - { - count--; - } - - if (in[count] != (byte)0x80) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - - return in.length - count; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PKCS7Padding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PKCS7Padding.java deleted file mode 100644 index 889736496..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PKCS7Padding.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds PKCS7/PKCS5 padding to a block. - */ -public class PKCS7Padding - implements BlockCipherPadding -{ - /** - * Initialise the padder. - * - * @param random - a SecureRandom if available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - // nothing to do. - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "PKCS7"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - */ - public int addPadding( - byte[] in, - int inOff) - { - byte code = (byte)(in.length - inOff); - - while (inOff < in.length) - { - in[inOff] = code; - inOff++; - } - - return code; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - int count = in[in.length - 1] & 0xff; - - if (count > in.length || count == 0) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - - for (int i = 1; i <= count; i++) - { - if (in[in.length - i] != count) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - } - - return count; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PaddedBufferedBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PaddedBufferedBlockCipher.java deleted file mode 100644 index 7165a82a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/PaddedBufferedBlockCipher.java +++ /dev/null @@ -1,299 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.OutputLengthException; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * A wrapper class that allows block ciphers to be used to process data in - * a piecemeal fashion with padding. The PaddedBufferedBlockCipher - * outputs a block only when the buffer is full and more data is being added, - * or on a doFinal (unless the current block in the buffer is a pad block). - * The default padding mechanism used is the one outlined in PKCS5/PKCS7. - */ -public class PaddedBufferedBlockCipher - extends BufferedBlockCipher -{ - BlockCipherPadding padding; - - /** - * Create a buffered block cipher with the desired padding. - * - * @param cipher the underlying block cipher this buffering object wraps. - * @param padding the padding type. - */ - public PaddedBufferedBlockCipher( - BlockCipher cipher, - BlockCipherPadding padding) - { - this.cipher = cipher; - this.padding = padding; - - buf = new byte[cipher.getBlockSize()]; - bufOff = 0; - } - - /** - * Create a buffered block cipher PKCS7 padding - * - * @param cipher the underlying block cipher this buffering object wraps. - */ - public PaddedBufferedBlockCipher( - BlockCipher cipher) - { - this(cipher, new PKCS7Padding()); - } - - /** - * initialise the cipher. - * - * @param forEncryption if true the cipher is initialised for - * encryption, if false for decryption. - * @param params the key and other data required by the cipher. - * @exception IllegalArgumentException if the params argument is - * inappropriate. - */ - public void init( - boolean forEncryption, - CipherParameters params) - throws IllegalArgumentException - { - this.forEncryption = forEncryption; - - reset(); - - if (params instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)params; - - padding.init(p.getRandom()); - - cipher.init(forEncryption, p.getParameters()); - } - else - { - padding.init(null); - - cipher.init(forEncryption, params); - } - } - - /** - * return the minimum size of the output buffer required for an update - * plus a doFinal with an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update and doFinal - * with len bytes of input. - */ - public int getOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - if (forEncryption) - { - return total + buf.length; - } - - return total; - } - - return total - leftOver + buf.length; - } - - /** - * return the size of the output buffer required for an update - * an input of len bytes. - * - * @param len the length of the input. - * @return the space required to accommodate a call to update - * with len bytes of input. - */ - public int getUpdateOutputSize( - int len) - { - int total = len + bufOff; - int leftOver = total % buf.length; - - if (leftOver == 0) - { - return total - buf.length; - } - - return total - leftOver; - } - - /** - * process a single byte, producing an output block if neccessary. - * - * @param in the input byte. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processByte( - byte in, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - int resultLen = 0; - - if (bufOff == buf.length) - { - resultLen = cipher.processBlock(buf, 0, out, outOff); - bufOff = 0; - } - - buf[bufOff++] = in; - - return resultLen; - } - - /** - * process an array of bytes, producing output if necessary. - * - * @param in the input byte array. - * @param inOff the offset at which the input data starts. - * @param len the number of bytes to be copied out of the input array. - * @param out the space for any output that might be produced. - * @param outOff the offset from which the output will be copied. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there isn't enough space in out. - * @exception IllegalStateException if the cipher isn't initialised. - */ - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int blockSize = getBlockSize(); - int length = getUpdateOutputSize(len); - - if (length > 0) - { - if ((outOff + length) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += cipher.processBlock(buf, 0, out, outOff); - - bufOff = 0; - len -= gapLen; - inOff += gapLen; - - while (len > buf.length) - { - resultLen += cipher.processBlock(in, inOff, out, outOff + resultLen); - - len -= blockSize; - inOff += blockSize; - } - } - - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - - return resultLen; - } - - /** - * Process the last block in the buffer. If the buffer is currently - * full and padding needs to be added a call to doFinal will produce - * 2 * getBlockSize() bytes. - * - * @param out the array the block currently being held is copied into. - * @param outOff the offset at which the copying starts. - * @return the number of output bytes copied to out. - * @exception DataLengthException if there is insufficient space in out for - * the output or we are decrypting and the input is not block size aligned. - * @exception IllegalStateException if the underlying cipher is not - * initialised. - * @exception InvalidCipherTextException if padding is expected and not found. - */ - public int doFinal( - byte[] out, - int outOff) - throws DataLengthException, IllegalStateException, InvalidCipherTextException - { - int blockSize = cipher.getBlockSize(); - int resultLen = 0; - - if (forEncryption) - { - if (bufOff == blockSize) - { - if ((outOff + 2 * blockSize) > out.length) - { - reset(); - - throw new OutputLengthException("output buffer too short"); - } - - resultLen = cipher.processBlock(buf, 0, out, outOff); - bufOff = 0; - } - - padding.addPadding(buf, bufOff); - - resultLen += cipher.processBlock(buf, 0, out, outOff + resultLen); - - reset(); - } - else - { - if (bufOff == blockSize) - { - resultLen = cipher.processBlock(buf, 0, buf, 0); - bufOff = 0; - } - else - { - reset(); - - throw new DataLengthException("last block incomplete in decryption"); - } - - try - { - resultLen -= padding.padCount(buf); - - System.arraycopy(buf, 0, out, outOff, resultLen); - } - finally - { - reset(); - } - } - - return resultLen; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/TBCPadding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/TBCPadding.java deleted file mode 100644 index 4b8190df1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/TBCPadding.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds Trailing-Bit-Compliment padding to a block. - *

    - * This padding pads the block out with the compliment of the last bit - * of the plain text. - *

    - */ -public class TBCPadding - implements BlockCipherPadding -{ - /** - * Initialise the padder. - * - * @param random - a SecureRandom if available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - // nothing to do. - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "TBC"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - *

    - * Note: this assumes that the last block of plain text is always - * passed to it inside in. i.e. if inOff is zero, indicating the - * entire block is to be overwritten with padding the value of in - * should be the same as the last block of plain text. - *

    - */ - public int addPadding( - byte[] in, - int inOff) - { - int count = in.length - inOff; - byte code; - - if (inOff > 0) - { - code = (byte)((in[inOff - 1] & 0x01) == 0 ? 0xff : 0x00); - } - else - { - code = (byte)((in[in.length - 1] & 0x01) == 0 ? 0xff : 0x00); - } - - while (inOff < in.length) - { - in[inOff] = code; - inOff++; - } - - return count; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - byte code = in[in.length - 1]; - - int index = in.length - 1; - while (index > 0 && in[index - 1] == code) - { - index--; - } - - return in.length - index; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/X923Padding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/X923Padding.java deleted file mode 100644 index e5b8992f1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/X923Padding.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds X9.23 padding to a block - if a SecureRandom is - * passed in random padding is assumed, otherwise padding with zeros is used. - */ -public class X923Padding - implements BlockCipherPadding -{ - SecureRandom random = null; - - /** - * Initialise the padder. - * - * @param random a SecureRandom if one is available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - this.random = random; - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "X9.23"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - */ - public int addPadding( - byte[] in, - int inOff) - { - byte code = (byte)(in.length - inOff); - - while (inOff < in.length - 1) - { - if (random == null) - { - in[inOff] = 0; - } - else - { - in[inOff] = (byte)random.nextInt(); - } - inOff++; - } - - in[inOff] = code; - - return code; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - int count = in[in.length - 1] & 0xff; - - if (count > in.length) - { - throw new InvalidCipherTextException("pad block corrupted"); - } - - return count; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ZeroBytePadding.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ZeroBytePadding.java deleted file mode 100644 index 53c805999..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/paddings/ZeroBytePadding.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.crypto.paddings; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; - -/** - * A padder that adds NULL byte padding to a block. - */ -public class ZeroBytePadding - implements BlockCipherPadding -{ - /** - * Initialise the padder. - * - * @param random - a SecureRandom if available. - */ - public void init(SecureRandom random) - throws IllegalArgumentException - { - // nothing to do. - } - - /** - * Return the name of the algorithm the padder implements. - * - * @return the name of the algorithm the padder implements. - */ - public String getPaddingName() - { - return "ZeroByte"; - } - - /** - * add the pad bytes to the passed in block, returning the - * number of bytes added. - */ - public int addPadding( - byte[] in, - int inOff) - { - int added = (in.length - inOff); - - while (inOff < in.length) - { - in[inOff] = (byte) 0; - inOff++; - } - - return added; - } - - /** - * return the number of pad bytes present in the block. - */ - public int padCount(byte[] in) - throws InvalidCipherTextException - { - int count = in.length; - - while (count > 0) - { - if (in[count - 1] != 0) - { - break; - } - - count--; - } - - return in.length - count; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AEADParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AEADParameters.java deleted file mode 100644 index b3ee4fca9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AEADParameters.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class AEADParameters - implements CipherParameters -{ - private byte[] associatedText; - private byte[] nonce; - private KeyParameter key; - private int macSize; - - /** - * Base constructor. - * - * @param key key to be used by underlying cipher - * @param macSize macSize in bits - * @param nonce nonce to be used - */ - public AEADParameters(KeyParameter key, int macSize, byte[] nonce) - { - this(key, macSize, nonce, null); - } - - /** - * Base constructor. - * - * @param key key to be used by underlying cipher - * @param macSize macSize in bits - * @param nonce nonce to be used - * @param associatedText initial associated text, if any - */ - public AEADParameters(KeyParameter key, int macSize, byte[] nonce, byte[] associatedText) - { - this.key = key; - this.nonce = nonce; - this.macSize = macSize; - this.associatedText = associatedText; - } - - public KeyParameter getKey() - { - return key; - } - - public int getMacSize() - { - return macSize; - } - - public byte[] getAssociatedText() - { - return associatedText; - } - - public byte[] getNonce() - { - return nonce; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AsymmetricKeyParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AsymmetricKeyParameter.java deleted file mode 100644 index 9ac1c48b9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/AsymmetricKeyParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class AsymmetricKeyParameter - implements CipherParameters -{ - boolean privateKey; - - public AsymmetricKeyParameter( - boolean privateKey) - { - this.privateKey = privateKey; - } - - public boolean isPrivate() - { - return privateKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/CCMParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/CCMParameters.java deleted file mode 100644 index a1198645d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/CCMParameters.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.params; - -/** - * @deprecated use AEADParameters - */ -public class CCMParameters - extends AEADParameters -{ - /** - * Base constructor. - * - * @param key key to be used by underlying cipher - * @param macSize macSize in bits - * @param nonce nonce to be used - * @param associatedText associated text, if any - */ - public CCMParameters(KeyParameter key, int macSize, byte[] nonce, byte[] associatedText) - { - super(key, macSize, nonce, associatedText); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESParameters.java deleted file mode 100644 index 6c9c3985d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESParameters.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.crypto.params; - -public class DESParameters - extends KeyParameter -{ - public DESParameters( - byte[] key) - { - super(key); - - if (isWeakKey(key, 0)) - { - throw new IllegalArgumentException("attempt to create weak DES key"); - } - } - - /* - * DES Key length in bytes. - */ - static public final int DES_KEY_LENGTH = 8; - - /* - * Table of weak and semi-weak keys taken from Schneier pp281 - */ - static private final int N_DES_WEAK_KEYS = 16; - - static private byte[] DES_weak_keys = - { - /* weak keys */ - (byte)0x01,(byte)0x01,(byte)0x01,(byte)0x01, (byte)0x01,(byte)0x01,(byte)0x01,(byte)0x01, - (byte)0x1f,(byte)0x1f,(byte)0x1f,(byte)0x1f, (byte)0x0e,(byte)0x0e,(byte)0x0e,(byte)0x0e, - (byte)0xe0,(byte)0xe0,(byte)0xe0,(byte)0xe0, (byte)0xf1,(byte)0xf1,(byte)0xf1,(byte)0xf1, - (byte)0xfe,(byte)0xfe,(byte)0xfe,(byte)0xfe, (byte)0xfe,(byte)0xfe,(byte)0xfe,(byte)0xfe, - - /* semi-weak keys */ - (byte)0x01,(byte)0xfe,(byte)0x01,(byte)0xfe, (byte)0x01,(byte)0xfe,(byte)0x01,(byte)0xfe, - (byte)0x1f,(byte)0xe0,(byte)0x1f,(byte)0xe0, (byte)0x0e,(byte)0xf1,(byte)0x0e,(byte)0xf1, - (byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xe0, (byte)0x01,(byte)0xf1,(byte)0x01,(byte)0xf1, - (byte)0x1f,(byte)0xfe,(byte)0x1f,(byte)0xfe, (byte)0x0e,(byte)0xfe,(byte)0x0e,(byte)0xfe, - (byte)0x01,(byte)0x1f,(byte)0x01,(byte)0x1f, (byte)0x01,(byte)0x0e,(byte)0x01,(byte)0x0e, - (byte)0xe0,(byte)0xfe,(byte)0xe0,(byte)0xfe, (byte)0xf1,(byte)0xfe,(byte)0xf1,(byte)0xfe, - (byte)0xfe,(byte)0x01,(byte)0xfe,(byte)0x01, (byte)0xfe,(byte)0x01,(byte)0xfe,(byte)0x01, - (byte)0xe0,(byte)0x1f,(byte)0xe0,(byte)0x1f, (byte)0xf1,(byte)0x0e,(byte)0xf1,(byte)0x0e, - (byte)0xe0,(byte)0x01,(byte)0xe0,(byte)0x01, (byte)0xf1,(byte)0x01,(byte)0xf1,(byte)0x01, - (byte)0xfe,(byte)0x1f,(byte)0xfe,(byte)0x1f, (byte)0xfe,(byte)0x0e,(byte)0xfe,(byte)0x0e, - (byte)0x1f,(byte)0x01,(byte)0x1f,(byte)0x01, (byte)0x0e,(byte)0x01,(byte)0x0e,(byte)0x01, - (byte)0xfe,(byte)0xe0,(byte)0xfe,(byte)0xe0, (byte)0xfe,(byte)0xf1,(byte)0xfe,(byte)0xf1 - }; - - /** - * DES has 16 weak keys. This method will check - * if the given DES key material is weak or semi-weak. - * Key material that is too short is regarded as weak. - *

    - * See "Applied - * Cryptography" by Bruce Schneier for more information. - * - * @return true if the given DES key material is weak or semi-weak, - * false otherwise. - */ - public static boolean isWeakKey( - byte[] key, - int offset) - { - if (key.length - offset < DES_KEY_LENGTH) - { - throw new IllegalArgumentException("key material too short."); - } - - nextkey: for (int i = 0; i < N_DES_WEAK_KEYS; i++) - { - for (int j = 0; j < DES_KEY_LENGTH; j++) - { - if (key[j + offset] != DES_weak_keys[i * DES_KEY_LENGTH + j]) - { - continue nextkey; - } - } - - return true; - } - return false; - } - - /** - * DES Keys use the LSB as the odd parity bit. This can - * be used to check for corrupt keys. - * - * @param bytes the byte array to set the parity on. - */ - public static void setOddParity( - byte[] bytes) - { - for (int i = 0; i < bytes.length; i++) - { - int b = bytes[i]; - bytes[i] = (byte)((b & 0xfe) | - ((((b >> 1) ^ - (b >> 2) ^ - (b >> 3) ^ - (b >> 4) ^ - (b >> 5) ^ - (b >> 6) ^ - (b >> 7)) ^ 0x01) & 0x01)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESedeParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESedeParameters.java deleted file mode 100644 index 498371ad4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DESedeParameters.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.params; - -public class DESedeParameters - extends DESParameters -{ - /* - * DES-EDE Key length in bytes. - */ - static public final int DES_EDE_KEY_LENGTH = 24; - - public DESedeParameters( - byte[] key) - { - super(key); - - if (isWeakKey(key, 0, key.length)) - { - throw new IllegalArgumentException("attempt to create weak DESede key"); - } - } - - /** - * return true if the passed in key is a DES-EDE weak key. - * - * @param key bytes making up the key - * @param offset offset into the byte array the key starts at - * @param length number of bytes making up the key - */ - public static boolean isWeakKey( - byte[] key, - int offset, - int length) - { - for (int i = offset; i < length; i += DES_KEY_LENGTH) - { - if (DESParameters.isWeakKey(key, i)) - { - return true; - } - } - - return false; - } - - /** - * return true if the passed in key is a DES-EDE weak key. - * - * @param key bytes making up the key - * @param offset offset into the byte array the key starts at - */ - public static boolean isWeakKey( - byte[] key, - int offset) - { - return isWeakKey(key, offset, key.length - offset); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyGenerationParameters.java deleted file mode 100644 index 246a195ec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyGenerationParameters.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class DHKeyGenerationParameters - extends KeyGenerationParameters -{ - private DHParameters params; - - public DHKeyGenerationParameters( - SecureRandom random, - DHParameters params) - { - super(random, getStrength(params)); - - this.params = params; - } - - public DHParameters getParameters() - { - return params; - } - - static int getStrength(DHParameters params) - { - return params.getL() != 0 ? params.getL() : params.getP().bitLength(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyParameters.java deleted file mode 100644 index f2ac392e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHKeyParameters.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.params; - - -public class DHKeyParameters - extends AsymmetricKeyParameter -{ - private DHParameters params; - - protected DHKeyParameters( - boolean isPrivate, - DHParameters params) - { - super(isPrivate); - - this.params = params; - } - - public DHParameters getParameters() - { - return params; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof DHKeyParameters)) - { - return false; - } - - DHKeyParameters dhKey = (DHKeyParameters)obj; - - if (params == null) - { - return dhKey.getParameters() == null; - } - else - { - return params.equals(dhKey.getParameters()); - } - } - - public int hashCode() - { - int code = isPrivate() ? 0 : 1; - - if (params != null) - { - code ^= params.hashCode(); - } - - return code; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHParameters.java deleted file mode 100644 index d4f03ff34..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHParameters.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -import org.spongycastle.crypto.CipherParameters; - -public class DHParameters - implements CipherParameters -{ - private static final int DEFAULT_MINIMUM_LENGTH = 160; - - // not final due to compiler bug in "simpler" JDKs - private BigInteger g; - private BigInteger p; - private BigInteger q; - private BigInteger j; - private int m; - private int l; - private DHValidationParameters validation; - - private static int getDefaultMParam( - int lParam) - { - if (lParam == 0) - { - return DEFAULT_MINIMUM_LENGTH; - } - - return lParam < DEFAULT_MINIMUM_LENGTH ? lParam : DEFAULT_MINIMUM_LENGTH; - } - - public DHParameters( - BigInteger p, - BigInteger g) - { - this(p, g, null, 0); - } - - public DHParameters( - BigInteger p, - BigInteger g, - BigInteger q) - { - this(p, g, q, 0); - } - - public DHParameters( - BigInteger p, - BigInteger g, - BigInteger q, - int l) - { - this(p, g, q, getDefaultMParam(l), l, null, null); - } - - public DHParameters( - BigInteger p, - BigInteger g, - BigInteger q, - int m, - int l) - { - this(p, g, q, m, l, null, null); - } - - public DHParameters( - BigInteger p, - BigInteger g, - BigInteger q, - BigInteger j, - DHValidationParameters validation) - { - this(p, g, q, DEFAULT_MINIMUM_LENGTH, 0, j, validation); - } - - public DHParameters( - BigInteger p, - BigInteger g, - BigInteger q, - int m, - int l, - BigInteger j, - DHValidationParameters validation) - { - if (l != 0) - { - BigInteger bigL = BigInteger.valueOf(2L ^ (l - 1)); - if (bigL.compareTo(p) == 1) - { - throw new IllegalArgumentException("when l value specified, it must satisfy 2^(l-1) <= p"); - } - if (l < m) - { - throw new IllegalArgumentException("when l value specified, it may not be less than m value"); - } - } - - this.g = g; - this.p = p; - this.q = q; - this.m = m; - this.l = l; - this.j = j; - this.validation = validation; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getG() - { - return g; - } - - public BigInteger getQ() - { - return q; - } - - /** - * Return the subgroup factor J. - * - * @return subgroup factor - */ - public BigInteger getJ() - { - return j; - } - - /** - * Return the minimum length of the private value. - * - * @return the minimum length of the private value in bits. - */ - public int getM() - { - return m; - } - - /** - * Return the private value length in bits - if set, zero otherwise - * - * @return the private value length in bits, zero otherwise. - */ - public int getL() - { - return l; - } - - public DHValidationParameters getValidationParameters() - { - return validation; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof DHParameters)) - { - return false; - } - - DHParameters pm = (DHParameters)obj; - - if (this.getQ() != null) - { - if (!this.getQ().equals(pm.getQ())) - { - return false; - } - } - else - { - if (pm.getQ() != null) - { - return false; - } - } - - return pm.getP().equals(p) && pm.getG().equals(g); - } - - public int hashCode() - { - return getP().hashCode() ^ getG().hashCode() ^ (getQ() != null ? getQ().hashCode() : 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPrivateKeyParameters.java deleted file mode 100644 index 6f192b36a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPrivateKeyParameters.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class DHPrivateKeyParameters - extends DHKeyParameters -{ - private BigInteger x; - - public DHPrivateKeyParameters( - BigInteger x, - DHParameters params) - { - super(true, params); - - this.x = x; - } - - public BigInteger getX() - { - return x; - } - - public int hashCode() - { - return x.hashCode() ^ super.hashCode(); - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof DHPrivateKeyParameters)) - { - return false; - } - - DHPrivateKeyParameters other = (DHPrivateKeyParameters)obj; - - return other.getX().equals(this.x) && super.equals(obj); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPublicKeyParameters.java deleted file mode 100644 index 3fbdd58ee..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHPublicKeyParameters.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class DHPublicKeyParameters - extends DHKeyParameters -{ - private BigInteger y; - - public DHPublicKeyParameters( - BigInteger y, - DHParameters params) - { - super(false, params); - - this.y = y; - } - - public BigInteger getY() - { - return y; - } - - public int hashCode() - { - return y.hashCode() ^ super.hashCode(); - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof DHPublicKeyParameters)) - { - return false; - } - - DHPublicKeyParameters other = (DHPublicKeyParameters)obj; - - return other.getY().equals(y) && super.equals(obj); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHValidationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHValidationParameters.java deleted file mode 100644 index cf385d0c6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DHValidationParameters.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.util.Arrays; - -public class DHValidationParameters -{ - private byte[] seed; - private int counter; - - public DHValidationParameters( - byte[] seed, - int counter) - { - this.seed = seed; - this.counter = counter; - } - - public int getCounter() - { - return counter; - } - - public byte[] getSeed() - { - return seed; - } - - public boolean equals( - Object o) - { - if (!(o instanceof DHValidationParameters)) - { - return false; - } - - DHValidationParameters other = (DHValidationParameters)o; - - if (other.counter != this.counter) - { - return false; - } - - return Arrays.areEqual(this.seed, other.seed); - } - - public int hashCode() - { - return counter ^ Arrays.hashCode(seed); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyGenerationParameters.java deleted file mode 100644 index eaa8f80dc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyGenerationParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class DSAKeyGenerationParameters - extends KeyGenerationParameters -{ - private DSAParameters params; - - public DSAKeyGenerationParameters( - SecureRandom random, - DSAParameters params) - { - super(random, params.getP().bitLength() - 1); - - this.params = params; - } - - public DSAParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyParameters.java deleted file mode 100644 index 8417a4e92..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAKeyParameters.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.params; - -public class DSAKeyParameters - extends AsymmetricKeyParameter -{ - private DSAParameters params; - - public DSAKeyParameters( - boolean isPrivate, - DSAParameters params) - { - super(isPrivate); - - this.params = params; - } - - public DSAParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java deleted file mode 100644 index 8822209c5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -public class DSAParameterGenerationParameters -{ - public static final int DIGITAL_SIGNATURE_USAGE = 1; - public static final int KEY_ESTABLISHMENT_USAGE = 2; - - private final int l; - private final int n; - private final int usageIndex; - private final int certainty; - private final SecureRandom random; - - /** - * Construct without a usage index, this will do a random construction of G. - * - * @param L desired length of prime P in bits (the effective key size). - * @param N desired length of prime Q in bits. - * @param certainty certainty level for prime number generation. - * @param random the source of randomness to use. - */ - public DSAParameterGenerationParameters( - int L, - int N, - int certainty, - SecureRandom random) - { - this(L, N, certainty, random, -1); - } - - /** - * Construct for a specific usage index - this has the effect of using verifiable canonical generation of G. - * - * @param L desired length of prime P in bits (the effective key size). - * @param N desired length of prime Q in bits. - * @param certainty certainty level for prime number generation. - * @param random the source of randomness to use. - * @param usageIndex a valid usage index. - */ - public DSAParameterGenerationParameters( - int L, - int N, - int certainty, - SecureRandom random, - int usageIndex) - { - this.l = L; - this.n = N; - this.certainty = certainty; - this.usageIndex = usageIndex; - this.random = random; - } - - public int getL() - { - return l; - } - - public int getN() - { - return n; - } - - public int getCertainty() - { - return certainty; - } - - public SecureRandom getRandom() - { - return random; - } - - public int getUsageIndex() - { - return usageIndex; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameters.java deleted file mode 100644 index b1baf0673..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAParameters.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -import org.spongycastle.crypto.CipherParameters; - -public class DSAParameters - implements CipherParameters -{ - private BigInteger g; - private BigInteger q; - private BigInteger p; - private DSAValidationParameters validation; - - public DSAParameters( - BigInteger p, - BigInteger q, - BigInteger g) - { - this.g = g; - this.p = p; - this.q = q; - } - - public DSAParameters( - BigInteger p, - BigInteger q, - BigInteger g, - DSAValidationParameters params) - { - this.g = g; - this.p = p; - this.q = q; - this.validation = params; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getG() - { - return g; - } - - public DSAValidationParameters getValidationParameters() - { - return validation; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof DSAParameters)) - { - return false; - } - - DSAParameters pm = (DSAParameters)obj; - - return (pm.getP().equals(p) && pm.getQ().equals(q) && pm.getG().equals(g)); - } - - public int hashCode() - { - return getP().hashCode() ^ getQ().hashCode() ^ getG().hashCode(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPrivateKeyParameters.java deleted file mode 100644 index bd1d96813..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPrivateKeyParameters.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class DSAPrivateKeyParameters - extends DSAKeyParameters -{ - private BigInteger x; - - public DSAPrivateKeyParameters( - BigInteger x, - DSAParameters params) - { - super(true, params); - - this.x = x; - } - - public BigInteger getX() - { - return x; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPublicKeyParameters.java deleted file mode 100644 index cd244b9dc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAPublicKeyParameters.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class DSAPublicKeyParameters - extends DSAKeyParameters -{ - private BigInteger y; - - public DSAPublicKeyParameters( - BigInteger y, - DSAParameters params) - { - super(false, params); - - this.y = y; - } - - public BigInteger getY() - { - return y; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAValidationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAValidationParameters.java deleted file mode 100644 index ca7c6cf67..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/DSAValidationParameters.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.util.Arrays; - -public class DSAValidationParameters -{ - private int usageIndex; - private byte[] seed; - private int counter; - - public DSAValidationParameters( - byte[] seed, - int counter) - { - this(seed, counter, -1); - } - - public DSAValidationParameters( - byte[] seed, - int counter, - int usageIndex) - { - this.seed = seed; - this.counter = counter; - this.usageIndex = usageIndex; - } - - public int getCounter() - { - return counter; - } - - public byte[] getSeed() - { - return seed; - } - - public int getUsageIndex() - { - return usageIndex; - } - - public int hashCode() - { - return counter ^ Arrays.hashCode(seed); - } - - public boolean equals( - Object o) - { - if (!(o instanceof DSAValidationParameters)) - { - return false; - } - - DSAValidationParameters other = (DSAValidationParameters)o; - - if (other.counter != this.counter) - { - return false; - } - - return Arrays.areEqual(this.seed, other.seed); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECDomainParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECDomainParameters.java deleted file mode 100644 index 57daaee3a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECDomainParameters.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; - -public class ECDomainParameters - implements ECConstants -{ - private ECCurve curve; - private byte[] seed; - private ECPoint G; - private BigInteger n; - private BigInteger h; - - public ECDomainParameters( - ECCurve curve, - ECPoint G, - BigInteger n) - { - this(curve, G, n, ONE, null); - } - - public ECDomainParameters( - ECCurve curve, - ECPoint G, - BigInteger n, - BigInteger h) - { - this(curve, G, n, h, null); - } - - public ECDomainParameters( - ECCurve curve, - ECPoint G, - BigInteger n, - BigInteger h, - byte[] seed) - { - this.curve = curve; - this.G = G.normalize(); - this.n = n; - this.h = h; - this.seed = seed; - } - - public ECCurve getCurve() - { - return curve; - } - - public ECPoint getG() - { - return G; - } - - public BigInteger getN() - { - return n; - } - - public BigInteger getH() - { - return h; - } - - public byte[] getSeed() - { - return Arrays.clone(seed); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyGenerationParameters.java deleted file mode 100644 index 4675c65ad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyGenerationParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class ECKeyGenerationParameters - extends KeyGenerationParameters -{ - private ECDomainParameters domainParams; - - public ECKeyGenerationParameters( - ECDomainParameters domainParams, - SecureRandom random) - { - super(random, domainParams.getN().bitLength()); - - this.domainParams = domainParams; - } - - public ECDomainParameters getDomainParameters() - { - return domainParams; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyParameters.java deleted file mode 100644 index 480a969fb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECKeyParameters.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.params; - -public class ECKeyParameters - extends AsymmetricKeyParameter -{ - ECDomainParameters params; - - protected ECKeyParameters( - boolean isPrivate, - ECDomainParameters params) - { - super(isPrivate); - - this.params = params; - } - - public ECDomainParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPrivateKeyParameters.java deleted file mode 100644 index 484ca232b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPrivateKeyParameters.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class ECPrivateKeyParameters - extends ECKeyParameters -{ - BigInteger d; - - public ECPrivateKeyParameters( - BigInteger d, - ECDomainParameters params) - { - super(true, params); - this.d = d; - } - - public BigInteger getD() - { - return d; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPublicKeyParameters.java deleted file mode 100644 index deab005c3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ECPublicKeyParameters.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.math.ec.ECPoint; - -public class ECPublicKeyParameters - extends ECKeyParameters -{ - ECPoint Q; - - public ECPublicKeyParameters( - ECPoint Q, - ECDomainParameters params) - { - super(false, params); - this.Q = Q.normalize(); - } - - public ECPoint getQ() - { - return Q; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyGenerationParameters.java deleted file mode 100644 index c1741ec18..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyGenerationParameters.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class ElGamalKeyGenerationParameters - extends KeyGenerationParameters -{ - private ElGamalParameters params; - - public ElGamalKeyGenerationParameters( - SecureRandom random, - ElGamalParameters params) - { - super(random, getStrength(params)); - - this.params = params; - } - - public ElGamalParameters getParameters() - { - return params; - } - - static int getStrength(ElGamalParameters params) - { - return params.getL() != 0 ? params.getL() : params.getP().bitLength(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyParameters.java deleted file mode 100644 index 83c00de64..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalKeyParameters.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.crypto.params; - - -public class ElGamalKeyParameters - extends AsymmetricKeyParameter -{ - private ElGamalParameters params; - - protected ElGamalKeyParameters( - boolean isPrivate, - ElGamalParameters params) - { - super(isPrivate); - - this.params = params; - } - - public ElGamalParameters getParameters() - { - return params; - } - - public int hashCode() - { - return (params != null) ? params.hashCode() : 0; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof ElGamalKeyParameters)) - { - return false; - } - - ElGamalKeyParameters dhKey = (ElGamalKeyParameters)obj; - - if (params == null) - { - return dhKey.getParameters() == null; - } - else - { - return params.equals(dhKey.getParameters()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalParameters.java deleted file mode 100644 index 60c484b1d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalParameters.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -import org.spongycastle.crypto.CipherParameters; - -public class ElGamalParameters - implements CipherParameters -{ - private BigInteger g; - private BigInteger p; - private int l; - - public ElGamalParameters( - BigInteger p, - BigInteger g) - { - this(p, g, 0); - } - - public ElGamalParameters( - BigInteger p, - BigInteger g, - int l) - { - this.g = g; - this.p = p; - this.l = l; - } - - public BigInteger getP() - { - return p; - } - - /** - * return the generator - g - */ - public BigInteger getG() - { - return g; - } - - /** - * return private value limit - l - */ - public int getL() - { - return l; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof ElGamalParameters)) - { - return false; - } - - ElGamalParameters pm = (ElGamalParameters)obj; - - return pm.getP().equals(p) && pm.getG().equals(g) && pm.getL() == l; - } - - public int hashCode() - { - return (getP().hashCode() ^ getG().hashCode()) + l; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPrivateKeyParameters.java deleted file mode 100644 index 510958913..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPrivateKeyParameters.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class ElGamalPrivateKeyParameters - extends ElGamalKeyParameters -{ - private BigInteger x; - - public ElGamalPrivateKeyParameters( - BigInteger x, - ElGamalParameters params) - { - super(true, params); - - this.x = x; - } - - public BigInteger getX() - { - return x; - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof ElGamalPrivateKeyParameters)) - { - return false; - } - - ElGamalPrivateKeyParameters pKey = (ElGamalPrivateKeyParameters)obj; - - if (!pKey.getX().equals(x)) - { - return false; - } - - return super.equals(obj); - } - - public int hashCode() - { - return getX().hashCode(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPublicKeyParameters.java deleted file mode 100644 index ae21f8e8b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ElGamalPublicKeyParameters.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class ElGamalPublicKeyParameters - extends ElGamalKeyParameters -{ - private BigInteger y; - - public ElGamalPublicKeyParameters( - BigInteger y, - ElGamalParameters params) - { - super(false, params); - - this.y = y; - } - - public BigInteger getY() - { - return y; - } - - public int hashCode() - { - return y.hashCode() ^ super.hashCode(); - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof ElGamalPublicKeyParameters)) - { - return false; - } - - ElGamalPublicKeyParameters other = (ElGamalPublicKeyParameters)obj; - - return other.getY().equals(y) && super.equals(obj); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyGenerationParameters.java deleted file mode 100644 index 2a32389f9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyGenerationParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.KeyGenerationParameters; - -import java.security.SecureRandom; - -public class GOST3410KeyGenerationParameters - extends KeyGenerationParameters -{ - private GOST3410Parameters params; - - public GOST3410KeyGenerationParameters( - SecureRandom random, - GOST3410Parameters params) - { - super(random, params.getP().bitLength() - 1); - - this.params = params; - } - - public GOST3410Parameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyParameters.java deleted file mode 100644 index b9a6ee7e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410KeyParameters.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.params; - -public class GOST3410KeyParameters - extends AsymmetricKeyParameter -{ - private GOST3410Parameters params; - - public GOST3410KeyParameters( - boolean isPrivate, - GOST3410Parameters params) - { - super(isPrivate); - - this.params = params; - } - - public GOST3410Parameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410Parameters.java deleted file mode 100644 index ad29ed657..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410Parameters.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -import java.math.BigInteger; - -public class GOST3410Parameters - implements CipherParameters -{ - private BigInteger p; - private BigInteger q; - private BigInteger a; - private GOST3410ValidationParameters validation; - - public GOST3410Parameters( - BigInteger p, - BigInteger q, - BigInteger a) - { - this.p = p; - this.q = q; - this.a = a; - } - - public GOST3410Parameters( - BigInteger p, - BigInteger q, - BigInteger a, - GOST3410ValidationParameters params) - { - this.a = a; - this.p = p; - this.q = q; - this.validation = params; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getA() - { - return a; - } - - public GOST3410ValidationParameters getValidationParameters() - { - return validation; - } - - public int hashCode() - { - return p.hashCode() ^ q.hashCode() ^ a.hashCode(); - } - - public boolean equals( - Object obj) - { - if (!(obj instanceof GOST3410Parameters)) - { - return false; - } - - GOST3410Parameters pm = (GOST3410Parameters)obj; - - return (pm.getP().equals(p) && pm.getQ().equals(q) && pm.getA().equals(a)); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PrivateKeyParameters.java deleted file mode 100644 index 531870e2a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PrivateKeyParameters.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class GOST3410PrivateKeyParameters - extends GOST3410KeyParameters -{ - private BigInteger x; - - public GOST3410PrivateKeyParameters( - BigInteger x, - GOST3410Parameters params) - { - super(true, params); - - this.x = x; - } - - public BigInteger getX() - { - return x; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PublicKeyParameters.java deleted file mode 100644 index b0b058999..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410PublicKeyParameters.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class GOST3410PublicKeyParameters - extends GOST3410KeyParameters -{ - private BigInteger y; - - public GOST3410PublicKeyParameters( - BigInteger y, - GOST3410Parameters params) - { - super(false, params); - - this.y = y; - } - - public BigInteger getY() - { - return y; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410ValidationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410ValidationParameters.java deleted file mode 100644 index 46f893ca9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/GOST3410ValidationParameters.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.crypto.params; - -public class GOST3410ValidationParameters -{ - private int x0; - private int c; - private long x0L; - private long cL; - - - public GOST3410ValidationParameters( - int x0, - int c) - { - this.x0 = x0; - this.c = c; - } - - public GOST3410ValidationParameters( - long x0L, - long cL) - { - this.x0L = x0L; - this.cL = cL; - } - - public int getC() - { - return c; - } - - public int getX0() - { - return x0; - } - - public long getCL() - { - return cL; - } - - public long getX0L() - { - return x0L; - } - - public boolean equals( - Object o) - { - if (!(o instanceof GOST3410ValidationParameters)) - { - return false; - } - - GOST3410ValidationParameters other = (GOST3410ValidationParameters)o; - - if (other.c != this.c) - { - return false; - } - - if (other.x0 != this.x0) - { - return false; - } - - if (other.cL != this.cL) - { - return false; - } - - if (other.x0L != this.x0L) - { - return false; - } - - return true; - } - - public int hashCode() - { - return x0 ^ c ^ (int) x0L ^ (int)(x0L >> 32) ^ (int) cL ^ (int)(cL >> 32); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/HKDFParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/HKDFParameters.java deleted file mode 100644 index 94595a158..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/HKDFParameters.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.util.Arrays; - -/** - * Parameter class for the HKDFBytesGenerator class. - */ -public class HKDFParameters - implements DerivationParameters -{ - private final byte[] ikm; - private final boolean skipExpand; - private final byte[] salt; - private final byte[] info; - - private HKDFParameters(final byte[] ikm, final boolean skip, - final byte[] salt, final byte[] info) - { - if (ikm == null) - { - throw new IllegalArgumentException( - "IKM (input keying material) should not be null"); - } - - this.ikm = Arrays.clone(ikm); - - this.skipExpand = skip; - - if (salt == null || salt.length == 0) - { - this.salt = null; - } - else - { - this.salt = Arrays.clone(salt); - } - - if (info == null) - { - this.info = new byte[0]; - } - else - { - this.info = Arrays.clone(info); - } - } - - /** - * Generates parameters for HKDF, specifying both the optional salt and - * optional info. Step 1: Extract won't be skipped. - * - * @param ikm the input keying material or seed - * @param salt the salt to use, may be null for a salt for hashLen zeros - * @param info the info to use, may be null for an info field of zero bytes - */ - public HKDFParameters(final byte[] ikm, final byte[] salt, final byte[] info) - { - this(ikm, false, salt, info); - } - - /** - * Factory method that makes the HKDF skip the extract part of the key - * derivation function. - * - * @param ikm the input keying material or seed, directly used for step 2: - * Expand - * @param info the info to use, may be null for an info field of zero bytes - * @return HKDFParameters that makes the implementation skip step 1 - */ - public static HKDFParameters skipExtractParameters(final byte[] ikm, - final byte[] info) - { - - return new HKDFParameters(ikm, true, null, info); - } - - public static HKDFParameters defaultParameters(final byte[] ikm) - { - return new HKDFParameters(ikm, false, null, null); - } - - /** - * Returns the input keying material or seed. - * - * @return the keying material - */ - public byte[] getIKM() - { - return Arrays.clone(ikm); - } - - /** - * Returns if step 1: extract has to be skipped or not - * - * @return true for skipping, false for no skipping of step 1 - */ - public boolean skipExtract() - { - return skipExpand; - } - - /** - * Returns the salt, or null if the salt should be generated as a byte array - * of HashLen zeros. - * - * @return the salt, or null - */ - public byte[] getSalt() - { - return Arrays.clone(salt); - } - - /** - * Returns the info field, which may be empty (null is converted to empty). - * - * @return the info field, never null - */ - public byte[] getInfo() - { - return Arrays.clone(info); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESParameters.java deleted file mode 100644 index 419d135d3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESParameters.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -/** - * parameters for using an integrated cipher in stream mode. - */ -public class IESParameters - implements CipherParameters -{ - private byte[] derivation; - private byte[] encoding; - private int macKeySize; - - /** - * @param derivation the derivation parameter for the KDF function. - * @param encoding the encoding parameter for the KDF function. - * @param macKeySize the size of the MAC key (in bits). - */ - public IESParameters( - byte[] derivation, - byte[] encoding, - int macKeySize) - { - this.derivation = derivation; - this.encoding = encoding; - this.macKeySize = macKeySize; - } - - public byte[] getDerivationV() - { - return derivation; - } - - public byte[] getEncodingV() - { - return encoding; - } - - public int getMacKeySize() - { - return macKeySize; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESWithCipherParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESWithCipherParameters.java deleted file mode 100644 index 68bb2d629..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/IESWithCipherParameters.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.crypto.params; - - -public class IESWithCipherParameters - extends IESParameters -{ - private int cipherKeySize; - - /** - * @param derivation the derivation parameter for the KDF function. - * @param encoding the encoding parameter for the KDF function. - * @param macKeySize the size of the MAC key (in bits). - * @param cipherKeySize the size of the associated Cipher key (in bits). - */ - public IESWithCipherParameters( - byte[] derivation, - byte[] encoding, - int macKeySize, - int cipherKeySize) - { - super(derivation, encoding, macKeySize); - - this.cipherKeySize = cipherKeySize; - } - - public int getCipherKeySize() - { - return cipherKeySize; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ISO18033KDFParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ISO18033KDFParameters.java deleted file mode 100644 index c6e1d9991..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ISO18033KDFParameters.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; - -/** - * parameters for Key derivation functions for ISO-18033 - */ -public class ISO18033KDFParameters - implements DerivationParameters -{ - byte[] seed; - - public ISO18033KDFParameters( - byte[] seed) - { - this.seed = seed; - } - - public byte[] getSeed() - { - return seed; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFCounterParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFCounterParameters.java deleted file mode 100644 index b8930ce17..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFCounterParameters.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.util.Arrays; - -public final class KDFCounterParameters - implements DerivationParameters -{ - - private final byte[] ki; - private final byte[] fixedInputData; - private final int r; - - public KDFCounterParameters(byte[] ki, byte[] fixedInputData, int r) - { - if (ki == null) - { - throw new IllegalArgumentException("A KDF requires Ki (a seed) as input"); - } - this.ki = Arrays.clone(ki); - - if (fixedInputData == null) - { - this.fixedInputData = new byte[0]; - } - else - { - this.fixedInputData = Arrays.clone(fixedInputData); - } - - if (r != 8 && r != 16 && r != 24 && r != 32) - { - throw new IllegalArgumentException("Length of counter should be 8, 16, 24 or 32"); - } - this.r = r; - } - - public byte[] getKI() - { - return ki; - } - - public byte[] getFixedInputData() - { - return Arrays.clone(fixedInputData); - } - - public int getR() - { - return r; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFDoublePipelineIterationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFDoublePipelineIterationParameters.java deleted file mode 100644 index 30fe6138c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFDoublePipelineIterationParameters.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.util.Arrays; - -/** - * Note that counter is only supported at the location presented in the - * NIST SP 800-108 specification, not in the additional locations present - * in the CAVP test vectors. - */ -public final class KDFDoublePipelineIterationParameters - implements DerivationParameters -{ - - // could be any valid value, using 32, don't know why - private static final int UNUSED_R = 32; - - private final byte[] ki; - private final boolean useCounter; - private final int r; - private final byte[] fixedInputData; - - private KDFDoublePipelineIterationParameters(byte[] ki, byte[] fixedInputData, int r, boolean useCounter) - { - if (ki == null) - { - throw new IllegalArgumentException("A KDF requires Ki (a seed) as input"); - } - this.ki = Arrays.clone(ki); - - if (fixedInputData == null) - { - this.fixedInputData = new byte[0]; - } - else - { - this.fixedInputData = Arrays.clone(fixedInputData); - } - - if (r != 8 && r != 16 && r != 24 && r != 32) - { - throw new IllegalArgumentException("Length of counter should be 8, 16, 24 or 32"); - } - this.r = r; - - this.useCounter = useCounter; - } - - public static KDFDoublePipelineIterationParameters createWithCounter( - byte[] ki, byte[] fixedInputData, int r) - { - return new KDFDoublePipelineIterationParameters(ki, fixedInputData, r, true); - } - - public static KDFDoublePipelineIterationParameters createWithoutCounter( - byte[] ki, byte[] fixedInputData) - { - return new KDFDoublePipelineIterationParameters(ki, fixedInputData, UNUSED_R, false); - } - - public byte[] getKI() - { - return ki; - } - - public boolean useCounter() - { - return useCounter; - } - - public int getR() - { - return r; - } - - public byte[] getFixedInputData() - { - return Arrays.clone(fixedInputData); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFFeedbackParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFFeedbackParameters.java deleted file mode 100644 index 44d1e9649..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFFeedbackParameters.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.util.Arrays; - -/** - * Note that counter is only supported at the location presented in the - * NIST SP 800-108 specification, not in the additional locations present - * in the CAVP test vectors. - */ -public final class KDFFeedbackParameters - implements DerivationParameters -{ - - // could be any valid value, using 32, don't know why - private static final int UNUSED_R = -1; - - private final byte[] ki; - private final byte[] iv; - private final boolean useCounter; - private final int r; - private final byte[] fixedInputData; - - private KDFFeedbackParameters(byte[] ki, byte[] iv, byte[] fixedInputData, int r, boolean useCounter) - { - if (ki == null) - { - throw new IllegalArgumentException("A KDF requires Ki (a seed) as input"); - } - this.ki = Arrays.clone(ki); - - if (fixedInputData == null) - { - this.fixedInputData = new byte[0]; - } - else - { - this.fixedInputData = Arrays.clone(fixedInputData); - } - - this.r = r; - - if (iv == null) - { - this.iv = new byte[0]; - } - else - { - this.iv = Arrays.clone(iv); - } - - this.useCounter = useCounter; - } - - public static KDFFeedbackParameters createWithCounter( - byte[] ki, final byte[] iv, byte[] fixedInputData, int r) - { - if (r != 8 && r != 16 && r != 24 && r != 32) - { - throw new IllegalArgumentException("Length of counter should be 8, 16, 24 or 32"); - } - - return new KDFFeedbackParameters(ki, iv, fixedInputData, r, true); - } - - public static KDFFeedbackParameters createWithoutCounter( - byte[] ki, final byte[] iv, byte[] fixedInputData) - { - return new KDFFeedbackParameters(ki, iv, fixedInputData, UNUSED_R, false); - } - - public byte[] getKI() - { - return ki; - } - - public byte[] getIV() - { - return iv; - } - - public boolean useCounter() - { - return useCounter; - } - - public int getR() - { - return r; - } - - public byte[] getFixedInputData() - { - return Arrays.clone(fixedInputData); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFParameters.java deleted file mode 100644 index 600106153..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KDFParameters.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; - -/** - * parameters for Key derivation functions for IEEE P1363a - */ -public class KDFParameters - implements DerivationParameters -{ - byte[] iv; - byte[] shared; - - public KDFParameters( - byte[] shared, - byte[] iv) - { - this.shared = shared; - this.iv = iv; - } - - public byte[] getSharedSecret() - { - return shared; - } - - public byte[] getIV() - { - return iv; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KeyParameter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KeyParameter.java deleted file mode 100644 index 079e136be..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/KeyParameter.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class KeyParameter - implements CipherParameters -{ - private byte[] key; - - public KeyParameter( - byte[] key) - { - this(key, 0, key.length); - } - - public KeyParameter( - byte[] key, - int keyOff, - int keyLen) - { - this.key = new byte[keyLen]; - - System.arraycopy(key, keyOff, this.key, 0, keyLen); - } - - public byte[] getKey() - { - return key; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MGFParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MGFParameters.java deleted file mode 100644 index 082e37cd5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MGFParameters.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; - -/** - * parameters for mask derivation functions. - */ -public class MGFParameters - implements DerivationParameters -{ - byte[] seed; - - public MGFParameters( - byte[] seed) - { - this(seed, 0, seed.length); - } - - public MGFParameters( - byte[] seed, - int off, - int len) - { - this.seed = new byte[len]; - System.arraycopy(seed, off, this.seed, 0, len); - } - - public byte[] getSeed() - { - return seed; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPrivateParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPrivateParameters.java deleted file mode 100644 index ae917ab80..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPrivateParameters.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class MQVPrivateParameters - implements CipherParameters -{ - private ECPrivateKeyParameters staticPrivateKey; - private ECPrivateKeyParameters ephemeralPrivateKey; - private ECPublicKeyParameters ephemeralPublicKey; - - public MQVPrivateParameters( - ECPrivateKeyParameters staticPrivateKey, - ECPrivateKeyParameters ephemeralPrivateKey) - { - this(staticPrivateKey, ephemeralPrivateKey, null); - } - - public MQVPrivateParameters( - ECPrivateKeyParameters staticPrivateKey, - ECPrivateKeyParameters ephemeralPrivateKey, - ECPublicKeyParameters ephemeralPublicKey) - { - this.staticPrivateKey = staticPrivateKey; - this.ephemeralPrivateKey = ephemeralPrivateKey; - this.ephemeralPublicKey = ephemeralPublicKey; - } - - public ECPrivateKeyParameters getStaticPrivateKey() - { - return staticPrivateKey; - } - - public ECPrivateKeyParameters getEphemeralPrivateKey() - { - return ephemeralPrivateKey; - } - - public ECPublicKeyParameters getEphemeralPublicKey() - { - return ephemeralPublicKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPublicParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPublicParameters.java deleted file mode 100644 index 9f6f67de5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/MQVPublicParameters.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class MQVPublicParameters - implements CipherParameters -{ - private ECPublicKeyParameters staticPublicKey; - private ECPublicKeyParameters ephemeralPublicKey; - - public MQVPublicParameters( - ECPublicKeyParameters staticPublicKey, - ECPublicKeyParameters ephemeralPublicKey) - { - this.staticPublicKey = staticPublicKey; - this.ephemeralPublicKey = ephemeralPublicKey; - } - - public ECPublicKeyParameters getStaticPublicKey() - { - return staticPublicKey; - } - - public ECPublicKeyParameters getEphemeralPublicKey() - { - return ephemeralPublicKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyGenerationParameters.java deleted file mode 100644 index c0b5998b6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyGenerationParameters.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -/** - * Parameters for NaccacheStern public private key generation. For details on - * this cipher, please see - * - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - */ -public class NaccacheSternKeyGenerationParameters extends KeyGenerationParameters -{ - - // private BigInteger publicExponent; - private int certainty; - - private int cntSmallPrimes; - - private boolean debug = false; - - /** - * Parameters for generating a NaccacheStern KeyPair. - * - * @param random - * The source of randomness - * @param strength - * The desired strength of the Key in Bits - * @param certainty - * the probability that the generated primes are not really prime - * as integer: 2^(-certainty) is then the probability - * @param cntSmallPrimes - * How many small key factors are desired - */ - public NaccacheSternKeyGenerationParameters(SecureRandom random, int strength, int certainty, int cntSmallPrimes) - { - this(random, strength, certainty, cntSmallPrimes, false); - } - - /** - * Parameters for a NaccacheStern KeyPair. - * - * @param random - * The source of randomness - * @param strength - * The desired strength of the Key in Bits - * @param certainty - * the probability that the generated primes are not really prime - * as integer: 2^(-certainty) is then the probability - * @param cntSmallPrimes - * How many small key factors are desired - * @param debug - * Turn debugging on or off (reveals secret information, use with - * caution) - */ - public NaccacheSternKeyGenerationParameters(SecureRandom random, - int strength, int certainty, int cntSmallPrimes, boolean debug) - { - super(random, strength); - - this.certainty = certainty; - if (cntSmallPrimes % 2 == 1) - { - throw new IllegalArgumentException("cntSmallPrimes must be a multiple of 2"); - } - if (cntSmallPrimes < 30) - { - throw new IllegalArgumentException("cntSmallPrimes must be >= 30 for security reasons"); - } - this.cntSmallPrimes = cntSmallPrimes; - - this.debug = debug; - } - - /** - * @return Returns the certainty. - */ - public int getCertainty() - { - return certainty; - } - - /** - * @return Returns the cntSmallPrimes. - */ - public int getCntSmallPrimes() - { - return cntSmallPrimes; - } - - public boolean isDebug() - { - return debug; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyParameters.java deleted file mode 100644 index 4b855b3f3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternKeyParameters.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -/** - * Public key parameters for NaccacheStern cipher. For details on this cipher, - * please see - * - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - */ -public class NaccacheSternKeyParameters extends AsymmetricKeyParameter -{ - - private BigInteger g, n; - - int lowerSigmaBound; - - /** - * @param privateKey - */ - public NaccacheSternKeyParameters(boolean privateKey, BigInteger g, BigInteger n, int lowerSigmaBound) - { - super(privateKey); - this.g = g; - this.n = n; - this.lowerSigmaBound = lowerSigmaBound; - } - - /** - * @return Returns the g. - */ - public BigInteger getG() - { - return g; - } - - /** - * @return Returns the lowerSigmaBound. - */ - public int getLowerSigmaBound() - { - return lowerSigmaBound; - } - - /** - * @return Returns the n. - */ - public BigInteger getModulus() - { - return n; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java deleted file mode 100644 index 7fa61c94f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; -import java.util.Vector; - -/** - * Private key parameters for NaccacheStern cipher. For details on this cipher, - * please see - * - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - */ -public class NaccacheSternPrivateKeyParameters extends NaccacheSternKeyParameters -{ - private BigInteger phi_n; - private Vector smallPrimes; - - /** - * Constructs a NaccacheSternPrivateKey - * - * @param g - * the public enryption parameter g - * @param n - * the public modulus n = p*q - * @param lowerSigmaBound - * the public lower sigma bound up to which data can be encrypted - * @param smallPrimes - * the small primes, of which sigma is constructed in the right - * order - * @param phi_n - * the private modulus phi(n) = (p-1)(q-1) - */ - public NaccacheSternPrivateKeyParameters(BigInteger g, BigInteger n, - int lowerSigmaBound, Vector smallPrimes, - BigInteger phi_n) - { - super(true, g, n, lowerSigmaBound); - this.smallPrimes = smallPrimes; - this.phi_n = phi_n; - } - - public BigInteger getPhi_n() - { - return phi_n; - } - - public Vector getSmallPrimes() - { - return smallPrimes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithIV.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithIV.java deleted file mode 100644 index 7fb39b7ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithIV.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class ParametersWithIV - implements CipherParameters -{ - private byte[] iv; - private CipherParameters parameters; - - public ParametersWithIV( - CipherParameters parameters, - byte[] iv) - { - this(parameters, iv, 0, iv.length); - } - - public ParametersWithIV( - CipherParameters parameters, - byte[] iv, - int ivOff, - int ivLen) - { - this.iv = new byte[ivLen]; - this.parameters = parameters; - - System.arraycopy(iv, ivOff, this.iv, 0, ivLen); - } - - public byte[] getIV() - { - return iv; - } - - public CipherParameters getParameters() - { - return parameters; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithRandom.java deleted file mode 100644 index ca445554e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithRandom.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -import java.security.SecureRandom; - -public class ParametersWithRandom - implements CipherParameters -{ - private SecureRandom random; - private CipherParameters parameters; - - public ParametersWithRandom( - CipherParameters parameters, - SecureRandom random) - { - this.random = random; - this.parameters = parameters; - } - - public ParametersWithRandom( - CipherParameters parameters) - { - this(parameters, new SecureRandom()); - } - - public SecureRandom getRandom() - { - return random; - } - - public CipherParameters getParameters() - { - return parameters; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSBox.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSBox.java deleted file mode 100644 index a10464763..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSBox.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class ParametersWithSBox - implements CipherParameters -{ - private CipherParameters parameters; - private byte[] sBox; - - public ParametersWithSBox( - CipherParameters parameters, - byte[] sBox) - { - this.parameters = parameters; - this.sBox = sBox; - } - - public byte[] getSBox() - { - return sBox; - } - - public CipherParameters getParameters() - { - return parameters; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSalt.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSalt.java deleted file mode 100644 index e6566a362..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/ParametersWithSalt.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -/** - * Cipher parameters with a fixed salt value associated with them. - */ -public class ParametersWithSalt - implements CipherParameters -{ - private byte[] salt; - private CipherParameters parameters; - - public ParametersWithSalt( - CipherParameters parameters, - byte[] salt) - { - this(parameters, salt, 0, salt.length); - } - - public ParametersWithSalt( - CipherParameters parameters, - byte[] salt, - int saltOff, - int saltLen) - { - this.salt = new byte[saltLen]; - this.parameters = parameters; - - System.arraycopy(salt, saltOff, this.salt, 0, saltLen); - } - - public byte[] getSalt() - { - return salt; - } - - public CipherParameters getParameters() - { - return parameters; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC2Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC2Parameters.java deleted file mode 100644 index ae396f607..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC2Parameters.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class RC2Parameters - implements CipherParameters -{ - private byte[] key; - private int bits; - - public RC2Parameters( - byte[] key) - { - this(key, (key.length > 128) ? 1024 : (key.length * 8)); - } - - public RC2Parameters( - byte[] key, - int bits) - { - this.key = new byte[key.length]; - this.bits = bits; - - System.arraycopy(key, 0, this.key, 0, key.length); - } - - public byte[] getKey() - { - return key; - } - - public int getEffectiveKeyBits() - { - return bits; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC5Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC5Parameters.java deleted file mode 100644 index 402843e82..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RC5Parameters.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -public class RC5Parameters - implements CipherParameters -{ - private byte[] key; - private int rounds; - - public RC5Parameters( - byte[] key, - int rounds) - { - if (key.length > 255) - { - throw new IllegalArgumentException("RC5 key length can be no greater than 255"); - } - - this.key = new byte[key.length]; - this.rounds = rounds; - - System.arraycopy(key, 0, this.key, 0, key.length); - } - - public byte[] getKey() - { - return key; - } - - public int getRounds() - { - return rounds; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSABlindingParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSABlindingParameters.java deleted file mode 100644 index fd45d205d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSABlindingParameters.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; - -import java.math.BigInteger; - -public class RSABlindingParameters - implements CipherParameters -{ - private RSAKeyParameters publicKey; - private BigInteger blindingFactor; - - public RSABlindingParameters( - RSAKeyParameters publicKey, - BigInteger blindingFactor) - { - if (publicKey instanceof RSAPrivateCrtKeyParameters) - { - throw new IllegalArgumentException("RSA parameters should be for a public key"); - } - - this.publicKey = publicKey; - this.blindingFactor = blindingFactor; - } - - public RSAKeyParameters getPublicKey() - { - return publicKey; - } - - public BigInteger getBlindingFactor() - { - return blindingFactor; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyGenerationParameters.java deleted file mode 100644 index 6c0470591..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyGenerationParameters.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class RSAKeyGenerationParameters - extends KeyGenerationParameters -{ - private BigInteger publicExponent; - private int certainty; - - public RSAKeyGenerationParameters( - BigInteger publicExponent, - SecureRandom random, - int strength, - int certainty) - { - super(random, strength); - - if (strength < 12) - { - throw new IllegalArgumentException("key strength too small"); - } - - // - // public exponent cannot be even - // - if (!publicExponent.testBit(0)) - { - throw new IllegalArgumentException("public exponent cannot be even"); - } - - this.publicExponent = publicExponent; - this.certainty = certainty; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } - - public int getCertainty() - { - return certainty; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyParameters.java deleted file mode 100644 index d2eceeba6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAKeyParameters.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class RSAKeyParameters - extends AsymmetricKeyParameter -{ - private BigInteger modulus; - private BigInteger exponent; - - public RSAKeyParameters( - boolean isPrivate, - BigInteger modulus, - BigInteger exponent) - { - super(isPrivate); - - this.modulus = modulus; - this.exponent = exponent; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getExponent() - { - return exponent; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAPrivateCrtKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAPrivateCrtKeyParameters.java deleted file mode 100644 index 4dc79bdfd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/RSAPrivateCrtKeyParameters.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.math.BigInteger; - -public class RSAPrivateCrtKeyParameters - extends RSAKeyParameters -{ - private BigInteger e; - private BigInteger p; - private BigInteger q; - private BigInteger dP; - private BigInteger dQ; - private BigInteger qInv; - - /** - * - */ - public RSAPrivateCrtKeyParameters( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger p, - BigInteger q, - BigInteger dP, - BigInteger dQ, - BigInteger qInv) - { - super(true, modulus, privateExponent); - - this.e = publicExponent; - this.p = p; - this.q = q; - this.dP = dP; - this.dQ = dQ; - this.qInv = qInv; - } - - public BigInteger getPublicExponent() - { - return e; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getDP() - { - return dP; - } - - public BigInteger getDQ() - { - return dQ; - } - - public BigInteger getQInv() - { - return qInv; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/SkeinParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/SkeinParameters.java deleted file mode 100644 index f706409e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/SkeinParameters.java +++ /dev/null @@ -1,293 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.digests.SkeinDigest; -import org.spongycastle.crypto.digests.SkeinEngine; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.util.Integers; - -/** - * Parameters for the Skein hash function - a series of byte[] strings identified by integer tags. - *

    - * Parameterised Skein can be used for: - *

      - *
    • MAC generation, by providing a {@link SkeinParameters.Builder#setKey(byte[]) key}.
    • - *
    • Randomised hashing, by providing a {@link SkeinParameters.Builder#setNonce(byte[]) nonce}.
    • - *
    • A hash function for digital signatures, associating a - * {@link SkeinParameters.Builder#setPublicKey(byte[]) public key} with the message digest.
    • - *
    • A key derivation function, by providing a - * {@link SkeinParameters.Builder#setKeyIdentifier(byte[]) key identifier}.
    • - *
    • Personalised hashing, by providing a - * {@link SkeinParameters.Builder#setPersonalisation(Date, String, String) recommended format} or - * {@link SkeinParameters.Builder#setPersonalisation(byte[]) arbitrary} personalisation string.
    • - *
    - * - * @see SkeinEngine - * @see SkeinDigest - * @see SkeinMac - */ -public class SkeinParameters - implements CipherParameters -{ - /** - * The parameter type for a secret key, supporting MAC or KDF functions: {@value - * #PARAM_TYPE_KEY}. - */ - public static final int PARAM_TYPE_KEY = 0; - - /** - * The parameter type for the Skein configuration block: {@value #PARAM_TYPE_CONFIG}. - */ - public static final int PARAM_TYPE_CONFIG = 4; - - /** - * The parameter type for a personalisation string: {@value #PARAM_TYPE_PERSONALISATION}. - */ - public static final int PARAM_TYPE_PERSONALISATION = 8; - - /** - * The parameter type for a public key: {@value #PARAM_TYPE_PUBLIC_KEY}. - */ - public static final int PARAM_TYPE_PUBLIC_KEY = 12; - - /** - * The parameter type for a key identifier string: {@value #PARAM_TYPE_KEY_IDENTIFIER}. - */ - public static final int PARAM_TYPE_KEY_IDENTIFIER = 16; - - /** - * The parameter type for a nonce: {@value #PARAM_TYPE_NONCE}. - */ - public static final int PARAM_TYPE_NONCE = 20; - - /** - * The parameter type for the message: {@value #PARAM_TYPE_MESSAGE}. - */ - public static final int PARAM_TYPE_MESSAGE = 48; - - /** - * The parameter type for the output transformation: {@value #PARAM_TYPE_OUTPUT}. - */ - public static final int PARAM_TYPE_OUTPUT = 63; - - private Hashtable parameters; - - public SkeinParameters() - { - this(new Hashtable()); - } - - private SkeinParameters(final Hashtable parameters) - { - this.parameters = parameters; - } - - /** - * Obtains a map of type (Integer) to value (byte[]) for the parameters tracked in this object. - */ - public Hashtable getParameters() - { - return parameters; - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_KEY key parameter}, or null if not - * set. - */ - public byte[] getKey() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_KEY)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_PERSONALISATION personalisation parameter}, or - * null if not set. - */ - public byte[] getPersonalisation() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_PERSONALISATION)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_PUBLIC_KEY public key parameter}, or - * null if not set. - */ - public byte[] getPublicKey() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_PUBLIC_KEY)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_KEY_IDENTIFIER key identifier parameter}, or - * null if not set. - */ - public byte[] getKeyIdentifier() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_KEY_IDENTIFIER)); - } - - /** - * Obtains the value of the {@link #PARAM_TYPE_NONCE nonce parameter}, or null if - * not set. - */ - public byte[] getNonce() - { - return (byte[])parameters.get(Integers.valueOf(PARAM_TYPE_NONCE)); - } - - /** - * A builder for {@link SkeinParameters}. - */ - public static class Builder - { - private Hashtable parameters = new Hashtable(); - - public Builder() - { - } - - public Builder(Hashtable paramsMap) - { - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Integer key = (Integer)keys.nextElement(); - parameters.put(key, paramsMap.get(key)); - } - } - - public Builder(SkeinParameters params) - { - Enumeration keys = params.parameters.keys(); - while (keys.hasMoreElements()) - { - Integer key = (Integer)keys.nextElement(); - parameters.put(key, params.parameters.get(key)); - } - } - - /** - * Sets a parameters to apply to the Skein hash function.
    - * Parameter types must be in the range 0,5..62, and cannot use the value {@value - * SkeinParameters#PARAM_TYPE_MESSAGE} (reserved for message body). - *

    - * Parameters with type < {@value SkeinParameters#PARAM_TYPE_MESSAGE} are processed before - * the message content, parameters with type > {@value SkeinParameters#PARAM_TYPE_MESSAGE} - * are processed after the message and prior to output. - * - * @param type the type of the parameter, in the range 5..62. - * @param value the byte sequence of the parameter. - * @return - */ - public Builder set(int type, byte[] value) - { - if (value == null) - { - throw new IllegalArgumentException("Parameter value must not be null."); - } - if ((type != PARAM_TYPE_KEY) - && (type <= PARAM_TYPE_CONFIG || type >= PARAM_TYPE_OUTPUT || type == PARAM_TYPE_MESSAGE)) - { - throw new IllegalArgumentException("Parameter types must be in the range 0,5..47,49..62."); - } - if (type == PARAM_TYPE_CONFIG) - { - throw new IllegalArgumentException("Parameter type " + PARAM_TYPE_CONFIG - + " is reserved for internal use."); - } - this.parameters.put(Integers.valueOf(type), value); - return this; - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY} parameter. - */ - public Builder setKey(byte[] key) - { - return set(PARAM_TYPE_KEY, key); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_PERSONALISATION} parameter. - */ - public Builder setPersonalisation(byte[] personalisation) - { - return set(PARAM_TYPE_PERSONALISATION, personalisation); - } - - /** - * Implements the recommended personalisation format for Skein defined in Section 4.11 of - * the Skein 1.3 specification. - *

    - * The format is YYYYMMDD email@address distinguisher, encoded to a byte - * sequence using UTF-8 encoding. - * - * @param date the date the personalised application of the Skein was defined. - * @param emailAddress the email address of the creation of the personalised application. - * @param distinguisher an arbitrary personalisation string distinguishing the application. - * @return - */ - public Builder setPersonalisation(Date date, String emailAddress, String distinguisher) - { - try - { - final ByteArrayOutputStream bout = new ByteArrayOutputStream(); - final OutputStreamWriter out = new OutputStreamWriter(bout, "UTF-8"); - final DateFormat format = new SimpleDateFormat("YYYYMMDD"); - out.write(format.format(date)); - out.write(" "); - out.write(emailAddress); - out.write(" "); - out.write(distinguisher); - out.close(); - return set(PARAM_TYPE_PERSONALISATION, bout.toByteArray()); - } - catch (IOException e) - { - throw new IllegalStateException("Byte I/O failed: " + e); - } - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY_IDENTIFIER} parameter. - */ - public Builder setPublicKey(byte[] publicKey) - { - return set(PARAM_TYPE_PUBLIC_KEY, publicKey); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_KEY_IDENTIFIER} parameter. - */ - public Builder setKeyIdentifier(byte[] keyIdentifier) - { - return set(PARAM_TYPE_KEY_IDENTIFIER, keyIdentifier); - } - - /** - * Sets the {@link SkeinParameters#PARAM_TYPE_NONCE} parameter. - */ - public Builder setNonce(byte[] nonce) - { - return set(PARAM_TYPE_NONCE, nonce); - } - - /** - * Constructs a new {@link SkeinParameters} instance with the parameters provided to this - * builder. - */ - public SkeinParameters build() - { - return new SkeinParameters(parameters); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/TweakableBlockCipherParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/TweakableBlockCipherParameters.java deleted file mode 100644 index 2a12186ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/params/TweakableBlockCipherParameters.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.util.Arrays; - -/** - * Parameters for tweakable block ciphers. - */ -public class TweakableBlockCipherParameters - implements CipherParameters -{ - private final byte[] tweak; - private final KeyParameter key; - - public TweakableBlockCipherParameters(final KeyParameter key, final byte[] tweak) - { - this.key = key; - this.tweak = Arrays.clone(tweak); - } - - /** - * Gets the key. - * - * @return the key to use, or null to use the current key. - */ - public KeyParameter getKey() - { - return key; - } - - /** - * Gets the tweak value. - * - * @return the tweak to use, or null to use the current tweak. - */ - public byte[] getTweak() - { - return tweak; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/DHIESPublicKeyParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/DHIESPublicKeyParser.java deleted file mode 100644 index 26ba1193a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/DHIESPublicKeyParser.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.crypto.parsers; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; - -import org.spongycastle.crypto.KeyParser; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; - -public class DHIESPublicKeyParser - implements KeyParser -{ - private DHParameters dhParams; - - public DHIESPublicKeyParser(DHParameters dhParams) - { - this.dhParams = dhParams; - } - - public AsymmetricKeyParameter readKey(InputStream stream) - throws IOException - { - byte[] V = new byte[(dhParams.getP().bitLength() + 7) / 8]; - - stream.read(V, 0, V.length); - - return new DHPublicKeyParameters(new BigInteger(1, V), dhParams); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/ECIESPublicKeyParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/ECIESPublicKeyParser.java deleted file mode 100644 index aed4a6253..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/parsers/ECIESPublicKeyParser.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto.parsers; - -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.crypto.KeyParser; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; - -public class ECIESPublicKeyParser - implements KeyParser -{ - private ECDomainParameters ecParams; - - public ECIESPublicKeyParser(ECDomainParameters ecParams) - { - this.ecParams = ecParams; - } - - public AsymmetricKeyParameter readKey(InputStream stream) - throws IOException - { - byte[] V; - int first = stream.read(); - - // Decode the public ephemeral key - switch (first) - { - case 0x00: // infinity - throw new IOException("Sender's public key invalid."); - - case 0x02: // compressed - case 0x03: // Byte length calculated as in ECPoint.getEncoded(); - V = new byte[1 + (ecParams.getCurve().getFieldSize()+7)/8]; - break; - - case 0x04: // uncompressed or - case 0x06: // hybrid - case 0x07: // Byte length calculated as in ECPoint.getEncoded(); - V = new byte[1 + 2*((ecParams.getCurve().getFieldSize()+7)/8)]; - break; - - default: - throw new IOException("Sender's public key has invalid point encoding 0x" + Integer.toString(first, 16)); - } - - V[0] = (byte)first; - stream.read(V, 1, V.length - 1); - - return new ECPublicKeyParameters(ecParams.getCurve().decodePoint(V), ecParams); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java deleted file mode 100644 index 176b5fb0f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.security.SecureRandom; - -/** - * An EntropySourceProvider where entropy generation is based on a SecureRandom output using SecureRandom.generateSeed(). - */ -public class BasicEntropySourceProvider - implements EntropySourceProvider -{ - private final SecureRandom _sr; - private final boolean _predictionResistant; - - /** - * Create a entropy source provider based on the passed in SecureRandom. - * - * @param random the SecureRandom to base EntropySource construction on. - * @param isPredictionResistant boolean indicating if the SecureRandom is based on prediction resistant entropy or not (true if it is). - */ - public BasicEntropySourceProvider(SecureRandom random, boolean isPredictionResistant) - { - _sr = random; - _predictionResistant = isPredictionResistant; - } - - /** - * Return an entropy source that will create bitsRequired bits of entropy on - * each invocation of getEntropy(). - * - * @param bitsRequired size (in bits) of entropy to be created by the provided source. - * @return an EntropySource that generates bitsRequired bits of entropy on each call to its getEntropy() method. - */ - public EntropySource get(final int bitsRequired) - { - return new EntropySource() - { - public boolean isPredictionResistant() - { - return _predictionResistant; - } - - public byte[] getEntropy() - { - return _sr.generateSeed((bitsRequired + 7) / 8); - } - - public int entropySize() - { - return bitsRequired; - } - }; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DRBGProvider.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DRBGProvider.java deleted file mode 100644 index f90673234..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DRBGProvider.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.crypto.prng; - -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; - -interface DRBGProvider -{ - SP80090DRBG get(EntropySource entropySource); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DigestRandomGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DigestRandomGenerator.java deleted file mode 100644 index 5505338ad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/DigestRandomGenerator.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.crypto.prng; - -import org.spongycastle.crypto.Digest; - -/** - * Random generation based on the digest with counter. Calling addSeedMaterial will - * always increase the entropy of the hash. - *

    - * Internal access to the digest is synchronized so a single one of these can be shared. - *

    - */ -public class DigestRandomGenerator - implements RandomGenerator -{ - private static long CYCLE_COUNT = 10; - - private long stateCounter; - private long seedCounter; - private Digest digest; - private byte[] state; - private byte[] seed; - - // public constructors - public DigestRandomGenerator( - Digest digest) - { - this.digest = digest; - - this.seed = new byte[digest.getDigestSize()]; - this.seedCounter = 1; - - this.state = new byte[digest.getDigestSize()]; - this.stateCounter = 1; - } - - public void addSeedMaterial(byte[] inSeed) - { - synchronized (this) - { - digestUpdate(inSeed); - digestUpdate(seed); - digestDoFinal(seed); - } - } - - public void addSeedMaterial(long rSeed) - { - synchronized (this) - { - digestAddCounter(rSeed); - digestUpdate(seed); - - digestDoFinal(seed); - } - } - - public void nextBytes(byte[] bytes) - { - nextBytes(bytes, 0, bytes.length); - } - - public void nextBytes(byte[] bytes, int start, int len) - { - synchronized (this) - { - int stateOff = 0; - - generateState(); - - int end = start + len; - for (int i = start; i != end; i++) - { - if (stateOff == state.length) - { - generateState(); - stateOff = 0; - } - bytes[i] = state[stateOff++]; - } - } - } - - private void cycleSeed() - { - digestUpdate(seed); - digestAddCounter(seedCounter++); - - digestDoFinal(seed); - } - - private void generateState() - { - digestAddCounter(stateCounter++); - digestUpdate(state); - digestUpdate(seed); - - digestDoFinal(state); - - if ((stateCounter % CYCLE_COUNT) == 0) - { - cycleSeed(); - } - } - - private void digestAddCounter(long seed) - { - for (int i = 0; i != 8; i++) - { - digest.update((byte)seed); - seed >>>= 8; - } - } - - private void digestUpdate(byte[] inSeed) - { - digest.update(inSeed, 0, inSeed.length); - } - - private void digestDoFinal(byte[] result) - { - digest.doFinal(result, 0); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySource.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySource.java deleted file mode 100644 index 783f375cf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySource.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.prng; - -public interface EntropySource -{ - /** - * Return whether or not this entropy source is regarded as prediction resistant. - * - * @return true if it is, false otherwise. - */ - boolean isPredictionResistant(); - - /** - * Return a byte array of entropy. - * - * @return entropy bytes. - */ - byte[] getEntropy(); - - /** - * Return the number of bits of entropy this source can produce. - * - * @return size in bits of the return value of getEntropy. - */ - int entropySize(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySourceProvider.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySourceProvider.java deleted file mode 100644 index 1efabb482..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/EntropySourceProvider.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.prng; - -public interface EntropySourceProvider -{ - EntropySource get(final int bitsRequired); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/FixedSecureRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/FixedSecureRandom.java deleted file mode 100644 index cea203297..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/FixedSecureRandom.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; - -/** - * A secure random that returns pre-seeded data to calls of nextBytes() or generateSeed(). - */ -public class FixedSecureRandom - extends SecureRandom -{ - private byte[] _data; - - private int _index; - private int _intPad; - - public FixedSecureRandom(byte[] value) - { - this(false, new byte[][] { value }); - } - - public FixedSecureRandom( - byte[][] values) - { - this(false, values); - } - - /** - * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger - * implementation. - */ - public FixedSecureRandom( - boolean intPad, - byte[] value) - { - this(intPad, new byte[][] { value }); - } - - /** - * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger - * implementation. - */ - public FixedSecureRandom( - boolean intPad, - byte[][] values) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != values.length; i++) - { - try - { - bOut.write(values[i]); - } - catch (IOException e) - { - throw new IllegalArgumentException("can't save value array."); - } - } - - _data = bOut.toByteArray(); - - if (intPad) - { - _intPad = _data.length % 4; - } - } - - public void nextBytes(byte[] bytes) - { - System.arraycopy(_data, _index, bytes, 0, bytes.length); - - _index += bytes.length; - } - - public byte[] generateSeed(int numBytes) - { - byte[] bytes = new byte[numBytes]; - - this.nextBytes(bytes); - - return bytes; - } - - // - // classpath's implementation of SecureRandom doesn't currently go back to nextBytes - // when next is called. We can't override next as it's a final method. - // - public int nextInt() - { - int val = 0; - - val |= nextValue() << 24; - val |= nextValue() << 16; - - if (_intPad == 2) - { - _intPad--; - } - else - { - val |= nextValue() << 8; - } - - if (_intPad == 1) - { - _intPad--; - } - else - { - val |= nextValue(); - } - - return val; - } - - // - // classpath's implementation of SecureRandom doesn't currently go back to nextBytes - // when next is called. We can't override next as it's a final method. - // - public long nextLong() - { - long val = 0; - - val |= (long)nextValue() << 56; - val |= (long)nextValue() << 48; - val |= (long)nextValue() << 40; - val |= (long)nextValue() << 32; - val |= (long)nextValue() << 24; - val |= (long)nextValue() << 16; - val |= (long)nextValue() << 8; - val |= (long)nextValue(); - - return val; - } - - public boolean isExhausted() - { - return _index == _data.length; - } - - private int nextValue() - { - return _data[_index++] & 0xff; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/RandomGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/RandomGenerator.java deleted file mode 100644 index aa9a3834c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/RandomGenerator.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.crypto.prng; - -/** - * Generic interface for objects generating random bytes. - */ -public interface RandomGenerator -{ - /** - * Add more seed material to the generator. - * - * @param seed a byte array to be mixed into the generator's state. - */ - void addSeedMaterial(byte[] seed); - - /** - * Add more seed material to the generator. - * - * @param seed a long value to be mixed into the generator's state. - */ - void addSeedMaterial(long seed); - - /** - * Fill bytes with random values. - * - * @param bytes byte array to be filled. - */ - void nextBytes(byte[] bytes); - - /** - * Fill part of bytes with random values. - * - * @param bytes byte array to be filled. - * @param start index to start filling at. - * @param len length of segment to fill. - */ - void nextBytes(byte[] bytes, int start, int len); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ReversedWindowGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ReversedWindowGenerator.java deleted file mode 100644 index 0e12d41dc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ReversedWindowGenerator.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.crypto.prng; - -/** - * Takes bytes generated by an underling RandomGenerator and reverses the order in - * each small window (of configurable size). - *

    - * Access to internals is synchronized so a single one of these can be shared. - *

    - */ -public class ReversedWindowGenerator - implements RandomGenerator -{ - private final RandomGenerator generator; - - private byte[] window; - private int windowCount; - - public ReversedWindowGenerator( - RandomGenerator generator, - int windowSize) - { - if (generator == null) - { - throw new IllegalArgumentException("generator cannot be null"); - } - if (windowSize < 2) - { - throw new IllegalArgumentException("windowSize must be at least 2"); - } - - this.generator = generator; - this.window = new byte[windowSize]; - } - - /** - * Add more seed material to the generator. - * - * @param seed a byte array to be mixed into the generator's state. - */ - public void addSeedMaterial( - byte[] seed) - { - synchronized (this) - { - windowCount = 0; - generator.addSeedMaterial(seed); - } - } - - /** - * Add more seed material to the generator. - * - * @param seed a long value to be mixed into the generator's state. - */ - public void addSeedMaterial( - long seed) - { - synchronized (this) - { - windowCount = 0; - generator.addSeedMaterial(seed); - } - } - - /** - * Fill bytes with random values. - * - * @param bytes byte array to be filled. - */ - public void nextBytes( - byte[] bytes) - { - doNextBytes(bytes, 0, bytes.length); - } - - /** - * Fill part of bytes with random values. - * - * @param bytes byte array to be filled. - * @param start index to start filling at. - * @param len length of segment to fill. - */ - public void nextBytes( - byte[] bytes, - int start, - int len) - { - doNextBytes(bytes, start, len); - } - - private void doNextBytes( - byte[] bytes, - int start, - int len) - { - synchronized (this) - { - int done = 0; - while (done < len) - { - if (windowCount < 1) - { - generator.nextBytes(window, 0, window.length); - windowCount = window.length; - } - - bytes[start + done++] = window[--windowCount]; - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandom.java deleted file mode 100644 index 1a452f9ef..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandom.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; - -public class SP800SecureRandom - extends SecureRandom -{ - private final DRBGProvider drbgProvider; - private final boolean predictionResistant; - private final SecureRandom randomSource; - private final EntropySource entropySource; - - private SP80090DRBG drbg; - - SP800SecureRandom(SecureRandom randomSource, EntropySource entropySource, DRBGProvider drbgProvider, boolean predictionResistant) - { - this.randomSource = randomSource; - this.entropySource = entropySource; - this.drbgProvider = drbgProvider; - this.predictionResistant = predictionResistant; - } - - public void setSeed(byte[] seed) - { - synchronized (this) - { - if (randomSource != null) - { - this.randomSource.setSeed(seed); - } - } - } - - public void setSeed(long seed) - { - synchronized (this) - { - // this will happen when SecureRandom() is created - if (randomSource != null) - { - this.randomSource.setSeed(seed); - } - } - } - - public void nextBytes(byte[] bytes) - { - synchronized (this) - { - if (drbg == null) - { - drbg = drbgProvider.get(entropySource); - } - - // check if a reseed is required... - if (drbg.generate(bytes, null, predictionResistant) < 0) - { - drbg.reseed(entropySource.getEntropy()); - drbg.generate(bytes, null, predictionResistant); - } - } - } - - public byte[] generateSeed(int numBytes) - { - byte[] bytes = new byte[numBytes]; - - this.nextBytes(bytes); - - return bytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java deleted file mode 100644 index 6e9e3cccf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java +++ /dev/null @@ -1,290 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.prng.drbg.CTRSP800DRBG; -import org.spongycastle.crypto.prng.drbg.DualECPoints; -import org.spongycastle.crypto.prng.drbg.DualECSP800DRBG; -import org.spongycastle.crypto.prng.drbg.HMacSP800DRBG; -import org.spongycastle.crypto.prng.drbg.HashSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; - -/** - * Builder class for making SecureRandom objects based on SP 800-90A Deterministic Random Bit Generators (DRBG). - */ -public class SP800SecureRandomBuilder -{ - private final SecureRandom random; - private final EntropySourceProvider entropySourceProvider; - - private byte[] personalizationString; - private int securityStrength = 256; - private int entropyBitsRequired = 256; - - /** - * Basic constructor, creates a builder using an EntropySourceProvider based on the default SecureRandom with - * predictionResistant set to false. - *

    - * Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if - * the default SecureRandom does for its generateSeed() call. - *

    - */ - public SP800SecureRandomBuilder() - { - this(new SecureRandom(), false); - } - - /** - * Construct a builder with an EntropySourceProvider based on the passed in SecureRandom and the passed in value - * for prediction resistance. - *

    - * Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if - * the passed in SecureRandom does for its generateSeed() call. - *

    - * @param entropySource - * @param predictionResistant - */ - public SP800SecureRandomBuilder(SecureRandom entropySource, boolean predictionResistant) - { - this.random = entropySource; - this.entropySourceProvider = new BasicEntropySourceProvider(random, predictionResistant); - } - - /** - * Create a builder which makes creates the SecureRandom objects from a specified entropy source provider. - *

    - * Note: If this constructor is used any calls to setSeed() in the resulting SecureRandom will be ignored. - *

    - * @param entropySourceProvider a provider of EntropySource objects. - */ - public SP800SecureRandomBuilder(EntropySourceProvider entropySourceProvider) - { - this.random = null; - this.entropySourceProvider = entropySourceProvider; - } - - /** - * Set the personalization string for DRBG SecureRandoms created by this builder - * @param personalizationString the personalisation string for the underlying DRBG. - * @return the current builder. - */ - public SP800SecureRandomBuilder setPersonalizationString(byte[] personalizationString) - { - this.personalizationString = personalizationString; - - return this; - } - - /** - * Set the security strength required for DRBGs used in building SecureRandom objects. - * - * @param securityStrength the security strength (in bits) - * @return the current builder. - */ - public SP800SecureRandomBuilder setSecurityStrength(int securityStrength) - { - this.securityStrength = securityStrength; - - return this; - } - - /** - * Set the amount of entropy bits required for seeding and reseeding DRBGs used in building SecureRandom objects. - * - * @param entropyBitsRequired the number of bits of entropy to be requested from the entropy source on each seed/reseed. - * @return the current builder. - */ - public SP800SecureRandomBuilder setEntropyBitsRequired(int entropyBitsRequired) - { - this.entropyBitsRequired = entropyBitsRequired; - - return this; - } - - /** - * Build a SecureRandom based on a SP 800-90A Hash DRBG. - * - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Hash DRBG. - */ - public SP800SecureRandom buildHash(Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new HashDRBGProvider(digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A CTR DRBG. - * - * @param cipher the block cipher to base the DRBG on. - * @param keySizeInBits key size in bits to be used with the block cipher. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a CTR DRBG. - */ - public SP800SecureRandom buildCTR(BlockCipher cipher, int keySizeInBits, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new CTRDRBGProvider(cipher, keySizeInBits, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A HMAC DRBG. - * - * @param hMac HMAC algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a HMAC DRBG. - */ - public SP800SecureRandom buildHMAC(Mac hMac, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new HMacDRBGProvider(hMac, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A Dual EC DRBG using the NIST point set. - * - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Dual EC DRBG. - */ - public SP800SecureRandom buildDualEC(Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new DualECDRBGProvider(digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A Dual EC DRBG according to a defined point set. - * - * @param pointSet an array of DualECPoints to use for DRB generation. - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Dual EC DRBG. - */ - public SP800SecureRandom buildDualEC(DualECPoints[] pointSet, Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new ConfigurableDualECDRBGProvider(pointSet, digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - - private static class HashDRBGProvider - implements DRBGProvider - { - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public HashDRBGProvider(Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new HashSP800DRBG(digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class DualECDRBGProvider - implements DRBGProvider - { - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public DualECDRBGProvider(Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new DualECSP800DRBG(digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class ConfigurableDualECDRBGProvider - implements DRBGProvider - { - private final DualECPoints[] pointSet; - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public ConfigurableDualECDRBGProvider(DualECPoints[] pointSet, Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.pointSet = new DualECPoints[pointSet.length]; - System.arraycopy(pointSet, 0, this.pointSet, 0, pointSet.length); - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new DualECSP800DRBG(pointSet, digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class HMacDRBGProvider - implements DRBGProvider - { - private final Mac hMac; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public HMacDRBGProvider(Mac hMac, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.hMac = hMac; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new HMacSP800DRBG(hMac, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class CTRDRBGProvider - implements DRBGProvider - { - - private final BlockCipher blockCipher; - private final int keySizeInBits; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public CTRDRBGProvider(BlockCipher blockCipher, int keySizeInBits, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.blockCipher = blockCipher; - this.keySizeInBits = keySizeInBits; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new CTRSP800DRBG(blockCipher, keySizeInBits, securityStrength, entropySource, personalizationString, nonce); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ThreadedSeedGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ThreadedSeedGenerator.java deleted file mode 100644 index fc1035423..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/ThreadedSeedGenerator.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.spongycastle.crypto.prng; - -/** - * A thread based seed generator - one source of randomness. - *

    - * Based on an idea from Marcus Lippert. - *

    - */ -public class ThreadedSeedGenerator -{ - private class SeedGenerator - implements Runnable - { - private volatile int counter = 0; - private volatile boolean stop = false; - - public void run() - { - while (!this.stop) - { - this.counter++; - } - - } - - public byte[] generateSeed( - int numbytes, - boolean fast) - { - Thread t = new Thread(this); - byte[] result = new byte[numbytes]; - this.counter = 0; - this.stop = false; - int last = 0; - int end; - - t.start(); - if(fast) - { - end = numbytes; - } - else - { - end = numbytes * 8; - } - for (int i = 0; i < end; i++) - { - while (this.counter == last) - { - try - { - Thread.sleep(1); - } - catch (InterruptedException e) - { - // ignore - } - } - last = this.counter; - if (fast) - { - result[i] = (byte) (last & 0xff); - } - else - { - int bytepos = i/8; - result[bytepos] = (byte) ((result[bytepos] << 1) | (last & 1)); - } - - } - stop = true; - return result; - } - } - - /** - * Generate seed bytes. Set fast to false for best quality. - *

    - * If fast is set to true, the code should be round about 8 times faster when - * generating a long sequence of random bytes. 20 bytes of random values using - * the fast mode take less than half a second on a Nokia e70. If fast is set to false, - * it takes round about 2500 ms. - *

    - * @param numBytes the number of bytes to generate - * @param fast true if fast mode should be used - */ - public byte[] generateSeed( - int numBytes, - boolean fast) - { - SeedGenerator gen = new SeedGenerator(); - - return gen.generateSeed(numBytes, fast); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/VMPCRandomGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/VMPCRandomGenerator.java deleted file mode 100644 index dbb0d30e4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/VMPCRandomGenerator.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.crypto.prng; - -import org.spongycastle.crypto.util.Pack; - -public class VMPCRandomGenerator implements RandomGenerator -{ - private byte n = 0; - - /** - * Permutation generated by code: - * // First 1850 fractional digit of Pi number. - * byte[] key = new BigInteger("14159265358979323846...5068006422512520511").toByteArray(); - * s = 0; - * P = new byte[256]; - * for (int i = 0; i < 256; i++) { - * P[i] = (byte) i; - * } - * for (int m = 0; m < 768; m++) { - * s = P[(s + P[m & 0xff] + key[m % key.length]) & 0xff]; - * byte temp = P[m & 0xff]; - * P[m & 0xff] = P[s & 0xff]; - * P[s & 0xff] = temp; - * } - */ - private byte[] P = - { - (byte) 0xbb, (byte) 0x2c, (byte) 0x62, (byte) 0x7f, - (byte) 0xb5, (byte) 0xaa, (byte) 0xd4, (byte) 0x0d, (byte) 0x81, - (byte) 0xfe, (byte) 0xb2, (byte) 0x82, (byte) 0xcb, (byte) 0xa0, - (byte) 0xa1, (byte) 0x08, (byte) 0x18, (byte) 0x71, (byte) 0x56, - (byte) 0xe8, (byte) 0x49, (byte) 0x02, (byte) 0x10, (byte) 0xc4, - (byte) 0xde, (byte) 0x35, (byte) 0xa5, (byte) 0xec, (byte) 0x80, - (byte) 0x12, (byte) 0xb8, (byte) 0x69, (byte) 0xda, (byte) 0x2f, - (byte) 0x75, (byte) 0xcc, (byte) 0xa2, (byte) 0x09, (byte) 0x36, - (byte) 0x03, (byte) 0x61, (byte) 0x2d, (byte) 0xfd, (byte) 0xe0, - (byte) 0xdd, (byte) 0x05, (byte) 0x43, (byte) 0x90, (byte) 0xad, - (byte) 0xc8, (byte) 0xe1, (byte) 0xaf, (byte) 0x57, (byte) 0x9b, - (byte) 0x4c, (byte) 0xd8, (byte) 0x51, (byte) 0xae, (byte) 0x50, - (byte) 0x85, (byte) 0x3c, (byte) 0x0a, (byte) 0xe4, (byte) 0xf3, - (byte) 0x9c, (byte) 0x26, (byte) 0x23, (byte) 0x53, (byte) 0xc9, - (byte) 0x83, (byte) 0x97, (byte) 0x46, (byte) 0xb1, (byte) 0x99, - (byte) 0x64, (byte) 0x31, (byte) 0x77, (byte) 0xd5, (byte) 0x1d, - (byte) 0xd6, (byte) 0x78, (byte) 0xbd, (byte) 0x5e, (byte) 0xb0, - (byte) 0x8a, (byte) 0x22, (byte) 0x38, (byte) 0xf8, (byte) 0x68, - (byte) 0x2b, (byte) 0x2a, (byte) 0xc5, (byte) 0xd3, (byte) 0xf7, - (byte) 0xbc, (byte) 0x6f, (byte) 0xdf, (byte) 0x04, (byte) 0xe5, - (byte) 0x95, (byte) 0x3e, (byte) 0x25, (byte) 0x86, (byte) 0xa6, - (byte) 0x0b, (byte) 0x8f, (byte) 0xf1, (byte) 0x24, (byte) 0x0e, - (byte) 0xd7, (byte) 0x40, (byte) 0xb3, (byte) 0xcf, (byte) 0x7e, - (byte) 0x06, (byte) 0x15, (byte) 0x9a, (byte) 0x4d, (byte) 0x1c, - (byte) 0xa3, (byte) 0xdb, (byte) 0x32, (byte) 0x92, (byte) 0x58, - (byte) 0x11, (byte) 0x27, (byte) 0xf4, (byte) 0x59, (byte) 0xd0, - (byte) 0x4e, (byte) 0x6a, (byte) 0x17, (byte) 0x5b, (byte) 0xac, - (byte) 0xff, (byte) 0x07, (byte) 0xc0, (byte) 0x65, (byte) 0x79, - (byte) 0xfc, (byte) 0xc7, (byte) 0xcd, (byte) 0x76, (byte) 0x42, - (byte) 0x5d, (byte) 0xe7, (byte) 0x3a, (byte) 0x34, (byte) 0x7a, - (byte) 0x30, (byte) 0x28, (byte) 0x0f, (byte) 0x73, (byte) 0x01, - (byte) 0xf9, (byte) 0xd1, (byte) 0xd2, (byte) 0x19, (byte) 0xe9, - (byte) 0x91, (byte) 0xb9, (byte) 0x5a, (byte) 0xed, (byte) 0x41, - (byte) 0x6d, (byte) 0xb4, (byte) 0xc3, (byte) 0x9e, (byte) 0xbf, - (byte) 0x63, (byte) 0xfa, (byte) 0x1f, (byte) 0x33, (byte) 0x60, - (byte) 0x47, (byte) 0x89, (byte) 0xf0, (byte) 0x96, (byte) 0x1a, - (byte) 0x5f, (byte) 0x93, (byte) 0x3d, (byte) 0x37, (byte) 0x4b, - (byte) 0xd9, (byte) 0xa8, (byte) 0xc1, (byte) 0x1b, (byte) 0xf6, - (byte) 0x39, (byte) 0x8b, (byte) 0xb7, (byte) 0x0c, (byte) 0x20, - (byte) 0xce, (byte) 0x88, (byte) 0x6e, (byte) 0xb6, (byte) 0x74, - (byte) 0x8e, (byte) 0x8d, (byte) 0x16, (byte) 0x29, (byte) 0xf2, - (byte) 0x87, (byte) 0xf5, (byte) 0xeb, (byte) 0x70, (byte) 0xe3, - (byte) 0xfb, (byte) 0x55, (byte) 0x9f, (byte) 0xc6, (byte) 0x44, - (byte) 0x4a, (byte) 0x45, (byte) 0x7d, (byte) 0xe2, (byte) 0x6b, - (byte) 0x5c, (byte) 0x6c, (byte) 0x66, (byte) 0xa9, (byte) 0x8c, - (byte) 0xee, (byte) 0x84, (byte) 0x13, (byte) 0xa7, (byte) 0x1e, - (byte) 0x9d, (byte) 0xdc, (byte) 0x67, (byte) 0x48, (byte) 0xba, - (byte) 0x2e, (byte) 0xe6, (byte) 0xa4, (byte) 0xab, (byte) 0x7c, - (byte) 0x94, (byte) 0x00, (byte) 0x21, (byte) 0xef, (byte) 0xea, - (byte) 0xbe, (byte) 0xca, (byte) 0x72, (byte) 0x4f, (byte) 0x52, - (byte) 0x98, (byte) 0x3f, (byte) 0xc2, (byte) 0x14, (byte) 0x7b, - (byte) 0x3b, (byte) 0x54 }; - - /** - * Value generated in the same way as {@link VMPCRandomGenerator#P}; - */ - private byte s = (byte) 0xbe; - - public VMPCRandomGenerator() - { - } - - public void addSeedMaterial(byte[] seed) - { - for (int m = 0; m < seed.length; m++) - { - s = P[(s + P[n & 0xff] + seed[m]) & 0xff]; - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - } - } - - public void addSeedMaterial(long seed) - { - addSeedMaterial(Pack.longToBigEndian(seed)); - } - - public void nextBytes(byte[] bytes) - { - nextBytes(bytes, 0, bytes.length); - } - - public void nextBytes(byte[] bytes, int start, int len) - { - synchronized (P) - { - int end = start + len; - for (int i = start; i != end; i++) - { - s = P[(s + P[n & 0xff]) & 0xff]; - bytes[i] = P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]; - byte temp = P[n & 0xff]; - P[n & 0xff] = P[s & 0xff]; - P[s & 0xff] = temp; - n = (byte) ((n + 1) & 0xff); - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/CTRSP800DRBG.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/CTRSP800DRBG.java deleted file mode 100644 index 5fbdf37e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/CTRSP800DRBG.java +++ /dev/null @@ -1,468 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -/** - * A SP800-90A CTR DRBG. - */ -public class CTRSP800DRBG - implements SP80090DRBG -{ - private static final long TDEA_RESEED_MAX = 1L << (32 - 1); - private static final long AES_RESEED_MAX = 1L << (48 - 1); - private static final int TDEA_MAX_BITS_REQUEST = 1 << (13 - 1); - private static final int AES_MAX_BITS_REQUEST = 1 << (19 - 1); - - private EntropySource _entropySource; - private BlockCipher _engine; - private int _keySizeInBits; - private int _seedLength; - - // internal state - private byte[] _Key; - private byte[] _V; - private long _reseedCounter = 0; - private boolean _isTDEA = false; - - /** - * Construct a SP800-90A CTR DRBG. - *

    - * Minimum entropy requirement is the security strength requested. - *

    - * @param engine underlying block cipher to use to support DRBG - * @param keySizeInBits size of the key to use with the block cipher. - * @param securityStrength security strength required (in bits) - * @param entropySource source of entropy to use for seeding/reseeding. - * @param personalizationString personalization string to distinguish this DRBG (may be null). - * @param nonce nonce to further distinguish this DRBG (may be null). - */ - public CTRSP800DRBG(BlockCipher engine, int keySizeInBits, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) - { - _entropySource = entropySource; - _engine = engine; - - _keySizeInBits = keySizeInBits; - _seedLength = keySizeInBits + engine.getBlockSize() * 8; - _isTDEA = isTDEA(engine); - - if (securityStrength > 256) - { - throw new IllegalArgumentException("Requested security strength is not supported by the derivation function"); - } - - if (getMaxSecurityStrength(engine, keySizeInBits) < securityStrength) - { - throw new IllegalArgumentException("Requested security strength is not supported by block cipher and key size"); - } - - if (entropySource.entropySize() < securityStrength) - { - throw new IllegalArgumentException("Not enough entropy for security strength required"); - } - - byte[] entropy = entropySource.getEntropy(); // Get_entropy_input - - CTR_DRBG_Instantiate_algorithm(entropy, nonce, personalizationString); - } - - private void CTR_DRBG_Instantiate_algorithm(byte[] entropy, byte[] nonce, - byte[] personalisationString) - { - byte[] seedMaterial = Arrays.concatenate(entropy, nonce, personalisationString); - byte[] seed = Block_Cipher_df(seedMaterial, _seedLength); - - int outlen = _engine.getBlockSize(); - - _Key = new byte[(_keySizeInBits + 7) / 8]; - _V = new byte[outlen]; - - // _Key & _V are modified by this call - CTR_DRBG_Update(seed, _Key, _V); - - _reseedCounter = 1; - } - - private void CTR_DRBG_Update(byte[] seed, byte[] key, byte[] v) - { - byte[] temp = new byte[seed.length]; - byte[] outputBlock = new byte[_engine.getBlockSize()]; - - int i=0; - int outLen = _engine.getBlockSize(); - - _engine.init(true, new KeyParameter(expandKey(key))); - while (i*outLen < seed.length) - { - addOneTo(v); - _engine.processBlock(v, 0, outputBlock, 0); - - int bytesToCopy = ((temp.length - i * outLen) > outLen) - ? outLen : (temp.length - i * outLen); - - System.arraycopy(outputBlock, 0, temp, i * outLen, bytesToCopy); - ++i; - } - - XOR(temp, seed, temp, 0); - - System.arraycopy(temp, 0, key, 0, key.length); - System.arraycopy(temp, key.length, v, 0, v.length); - } - - private void CTR_DRBG_Reseed_algorithm(EntropySource entropy, byte[] additionalInput) - { - byte[] seedMaterial = Arrays.concatenate(entropy.getEntropy(), additionalInput); - - seedMaterial = Block_Cipher_df(seedMaterial, _seedLength); - - CTR_DRBG_Update(seedMaterial, _Key, _V); - - _reseedCounter = 1; - } - - private void XOR(byte[] out, byte[] a, byte[] b, int bOff) - { - for (int i=0; i< out.length; i++) - { - out[i] = (byte)(a[i] ^ b[i+bOff]); - } - } - - private void addOneTo(byte[] longer) - { - int carry = 1; - for (int i = 1; i <= longer.length; i++) // warning - { - int res = (longer[longer.length - i] & 0xff) + carry; - carry = (res > 0xff) ? 1 : 0; - longer[longer.length - i] = (byte)res; - } - } - - // -- Internal state migration --- - - private static final byte[] K_BITS = Hex.decode("000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"); - - // 1. If (number_of_bits_to_return > max_number_of_bits), then return an - // ERROR_FLAG. - // 2. L = len (input_string)/8. - // 3. N = number_of_bits_to_return/8. - // Comment: L is the bitstring represention of - // the integer resulting from len (input_string)/8. - // L shall be represented as a 32-bit integer. - // - // Comment : N is the bitstring represention of - // the integer resulting from - // number_of_bits_to_return/8. N shall be - // represented as a 32-bit integer. - // - // 4. S = L || N || input_string || 0x80. - // 5. While (len (S) mod outlen) - // Comment : Pad S with zeros, if necessary. - // 0, S = S || 0x00. - // - // Comment : Compute the starting value. - // 6. temp = the Null string. - // 7. i = 0. - // 8. K = Leftmost keylen bits of 0x00010203...1D1E1F. - // 9. While len (temp) < keylen + outlen, do - // - // IV = i || 0outlen - len (i). - // - // 9.1 - // - // temp = temp || BCC (K, (IV || S)). - // - // 9.2 - // - // i = i + 1. - // - // 9.3 - // - // Comment : i shall be represented as a 32-bit - // integer, i.e., len (i) = 32. - // - // Comment: The 32-bit integer represenation of - // i is padded with zeros to outlen bits. - // - // Comment: Compute the requested number of - // bits. - // - // 10. K = Leftmost keylen bits of temp. - // - // 11. X = Next outlen bits of temp. - // - // 12. temp = the Null string. - // - // 13. While len (temp) < number_of_bits_to_return, do - // - // 13.1 X = Block_Encrypt (K, X). - // - // 13.2 temp = temp || X. - // - // 14. requested_bits = Leftmost number_of_bits_to_return of temp. - // - // 15. Return SUCCESS and requested_bits. - private byte[] Block_Cipher_df(byte[] inputString, int bitLength) - { - int outLen = _engine.getBlockSize(); - int L = inputString.length; // already in bytes - int N = bitLength / 8; - // 4 S = L || N || inputstring || 0x80 - int sLen = 4 + 4 + L + 1; - int blockLen = ((sLen + outLen - 1) / outLen) * outLen; - byte[] S = new byte[blockLen]; - copyIntToByteArray(S, L, 0); - copyIntToByteArray(S, N, 4); - System.arraycopy(inputString, 0, S, 8, L); - S[8 + L] = (byte)0x80; - // S already padded with zeros - - byte[] temp = new byte[_keySizeInBits / 8 + outLen]; - byte[] bccOut = new byte[outLen]; - - byte[] IV = new byte[outLen]; - - int i = 0; - byte[] K = new byte[_keySizeInBits / 8]; - System.arraycopy(K_BITS, 0, K, 0, K.length); - - while (i*outLen*8 < _keySizeInBits + outLen *8) - { - copyIntToByteArray(IV, i, 0); - BCC(bccOut, K, IV, S); - - int bytesToCopy = ((temp.length - i * outLen) > outLen) - ? outLen - : (temp.length - i * outLen); - - System.arraycopy(bccOut, 0, temp, i * outLen, bytesToCopy); - ++i; - } - - byte[] X = new byte[outLen]; - System.arraycopy(temp, 0, K, 0, K.length); - System.arraycopy(temp, K.length, X, 0, X.length); - - temp = new byte[bitLength / 2]; - - i = 0; - _engine.init(true, new KeyParameter(expandKey(K))); - - while (i * outLen < temp.length) - { - _engine.processBlock(X, 0, X, 0); - - int bytesToCopy = ((temp.length - i * outLen) > outLen) - ? outLen - : (temp.length - i * outLen); - - System.arraycopy(X, 0, temp, i * outLen, bytesToCopy); - i++; - } - - return temp; - } - - /* - * 1. chaining_value = 0^outlen - * . Comment: Set the first chaining value to outlen zeros. - * 2. n = len (data)/outlen. - * 3. Starting with the leftmost bits of data, split the data into n blocks of outlen bits - * each, forming block(1) to block(n). - * 4. For i = 1 to n do - * 4.1 input_block = chaining_value ^ block(i) . - * 4.2 chaining_value = Block_Encrypt (Key, input_block). - * 5. output_block = chaining_value. - * 6. Return output_block. - */ - private void BCC(byte[] bccOut, byte[] k, byte[] iV, byte[] data) - { - int outlen = _engine.getBlockSize(); - byte[] chainingValue = new byte[outlen]; // initial values = 0 - int n = data.length / outlen; - - byte[] inputBlock = new byte[outlen]; - - _engine.init(true, new KeyParameter(expandKey(k))); - - _engine.processBlock(iV, 0, chainingValue, 0); - - for (int i = 0; i < n; i++) - { - XOR(inputBlock, chainingValue, data, i*outlen); - _engine.processBlock(inputBlock, 0, chainingValue, 0); - } - - System.arraycopy(chainingValue, 0, bccOut, 0, bccOut.length); - } - - private void copyIntToByteArray(byte[] buf, int value, int offSet) - { - buf[offSet + 0] = ((byte)(value >> 24)); - buf[offSet + 1] = ((byte)(value >> 16)); - buf[offSet + 2] = ((byte)(value >> 8)); - buf[offSet + 3] = ((byte)(value)); - } - - /** - * Populate a passed in array with random data. - * - * @param output output array for generated bits. - * @param additionalInput additional input to be added to the DRBG in this step. - * @param predictionResistant true if a reseed should be forced, false otherwise. - * - * @return number of bits generated, -1 if a reseed required. - */ - public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant) - { - if (_isTDEA) - { - if (_reseedCounter > TDEA_RESEED_MAX) - { - return -1; - } - - if (Utils.isTooLarge(output, TDEA_MAX_BITS_REQUEST / 8)) - { - throw new IllegalArgumentException("Number of bits per request limited to " + TDEA_MAX_BITS_REQUEST); - } - } - else - { - if (_reseedCounter > AES_RESEED_MAX) - { - return -1; - } - - if (Utils.isTooLarge(output, AES_MAX_BITS_REQUEST / 8)) - { - throw new IllegalArgumentException("Number of bits per request limited to " + AES_MAX_BITS_REQUEST); - } - } - - if (predictionResistant) - { - CTR_DRBG_Reseed_algorithm(_entropySource, additionalInput); - additionalInput = null; - } - - if (additionalInput != null) - { - additionalInput = Block_Cipher_df(additionalInput, _seedLength); - CTR_DRBG_Update(additionalInput, _Key, _V); - } - else - { - additionalInput = new byte[_seedLength]; - } - - byte[] out = new byte[_V.length]; - - _engine.init(true, new KeyParameter(expandKey(_Key))); - - for (int i = 0; i < output.length / out.length; i++) - { - addOneTo(_V); - - _engine.processBlock(_V, 0, out, 0); - - int bytesToCopy = ((output.length - i * out.length) > out.length) - ? out.length - : (output.length - i * _V.length); - - System.arraycopy(out, 0, output, i * out.length, bytesToCopy); - } - - CTR_DRBG_Update(additionalInput, _Key, _V); - - _reseedCounter++; - - return output.length * 8; - } - - /** - * Reseed the DRBG. - * - * @param additionalInput additional input to be added to the DRBG in this step. - */ - public void reseed(byte[] additionalInput) - { - CTR_DRBG_Reseed_algorithm(_entropySource, additionalInput); - } - - private boolean isTDEA(BlockCipher cipher) - { - return cipher.getAlgorithmName().equals("DESede") || cipher.getAlgorithmName().equals("TDEA"); - } - - private int getMaxSecurityStrength(BlockCipher cipher, int keySizeInBits) - { - if (isTDEA(cipher) && keySizeInBits == 168) - { - return 112; - } - if (cipher.getAlgorithmName().equals("AES")) - { - return keySizeInBits; - } - - return -1; - } - - byte[] expandKey(byte[] key) - { - if (_isTDEA) - { - // expand key to 192 bits. - byte[] tmp = new byte[24]; - - padKey(key, 0, tmp, 0); - padKey(key, 7, tmp, 8); - padKey(key, 14, tmp, 16); - - return tmp; - } - else - { - return key; - } - } - - /** - * Pad out a key for TDEA, setting odd parity for each byte. - * - * @param keyMaster - * @param keyOff - * @param tmp - * @param tmpOff - */ - private void padKey(byte[] keyMaster, int keyOff, byte[] tmp, int tmpOff) - { - tmp[tmpOff + 0] = (byte)(keyMaster[keyOff + 0] & 0xfe); - tmp[tmpOff + 1] = (byte)((keyMaster[keyOff + 0] << 7) | ((keyMaster[keyOff + 1] & 0xfc) >>> 1)); - tmp[tmpOff + 2] = (byte)((keyMaster[keyOff + 1] << 6) | ((keyMaster[keyOff + 2] & 0xf8) >>> 2)); - tmp[tmpOff + 3] = (byte)((keyMaster[keyOff + 2] << 5) | ((keyMaster[keyOff + 3] & 0xf0) >>> 3)); - tmp[tmpOff + 4] = (byte)((keyMaster[keyOff + 3] << 4) | ((keyMaster[keyOff + 4] & 0xe0) >>> 4)); - tmp[tmpOff + 5] = (byte)((keyMaster[keyOff + 4] << 3) | ((keyMaster[keyOff + 5] & 0xc0) >>> 5)); - tmp[tmpOff + 6] = (byte)((keyMaster[keyOff + 5] << 2) | ((keyMaster[keyOff + 6] & 0x80) >>> 6)); - tmp[tmpOff + 7] = (byte)(keyMaster[keyOff + 6] << 1); - - for (int i = tmpOff; i <= tmpOff + 7; i++) - { - int b = tmp[i]; - tmp[i] = (byte)((b & 0xfe) | - ((((b >> 1) ^ - (b >> 2) ^ - (b >> 3) ^ - (b >> 4) ^ - (b >> 5) ^ - (b >> 6) ^ - (b >> 7)) ^ 0x01) & 0x01)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECPoints.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECPoints.java deleted file mode 100644 index 04a8a5a00..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECPoints.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import org.spongycastle.math.ec.ECPoint; - -/** - * General class for providing point pairs for use with DualEC DRBG. See NIST SP 800-90A for further details. - */ -public class DualECPoints -{ - private final ECPoint p; - private final ECPoint q; - private final int securityStrength; - private final int cofactor; - - /** - * Base Constructor. - *

    - * The cofactor is used to calculate the output block length (maxOutlen) according to - *

    -     *     max_outlen = largest multiple of 8 less than ((field size in bits) - (13 + log2(cofactor))
    -     * 
    - *

    - * @param securityStrength maximum security strength to be associated with these parameters - * @param p the P point. - * @param q the Q point. - * @param cofactor cofactor associated with the domain parameters for the point generation. - */ - public DualECPoints(int securityStrength, ECPoint p, ECPoint q, int cofactor) - { - if (!p.getCurve().equals(q.getCurve())) - { - throw new IllegalArgumentException("points need to be on the same curve"); - } - - this.securityStrength = securityStrength; - this.p = p; - this.q = q; - this.cofactor = cofactor; - } - - public int getSeedLen() - { - return p.getCurve().getFieldSize(); - } - - public int getMaxOutlen() - { - return ((p.getCurve().getFieldSize() - (13 + log2(cofactor))) / 8) * 8; - } - - public ECPoint getP() - { - return p; - } - - public ECPoint getQ() - { - return q; - } - - public int getSecurityStrength() - { - return securityStrength; - } - - public int getCofactor() - { - return cofactor; - } - - private static int log2(int value) - { - int log = 0; - - while ((value >>= 1) != 0) - { - log++; - } - - return log; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECSP800DRBG.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECSP800DRBG.java deleted file mode 100644 index 13765bf2c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/DualECSP800DRBG.java +++ /dev/null @@ -1,307 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import java.math.BigInteger; - -import org.spongycastle.asn1.nist.NISTNamedCurves; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; - -/** - * A SP800-90A Dual EC DRBG. - */ -public class DualECSP800DRBG - implements SP80090DRBG -{ - /* - * Default P, Q values for each curve - */ - private static final BigInteger p256_Px = new BigInteger("6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", 16); - private static final BigInteger p256_Py = new BigInteger("4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", 16); - private static final BigInteger p256_Qx = new BigInteger("c97445f45cdef9f0d3e05e1e585fc297235b82b5be8ff3efca67c59852018192", 16); - private static final BigInteger p256_Qy = new BigInteger("b28ef557ba31dfcbdd21ac46e2a91e3c304f44cb87058ada2cb815151e610046", 16); - - private static final BigInteger p384_Px = new BigInteger("aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7", 16); - private static final BigInteger p384_Py = new BigInteger("3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f", 16); - private static final BigInteger p384_Qx = new BigInteger("8e722de3125bddb05580164bfe20b8b432216a62926c57502ceede31c47816edd1e89769124179d0b695106428815065", 16); - private static final BigInteger p384_Qy = new BigInteger("023b1660dd701d0839fd45eec36f9ee7b32e13b315dc02610aa1b636e346df671f790f84c5e09b05674dbb7e45c803dd", 16); - - private static final BigInteger p521_Px = new BigInteger("c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66", 16); - private static final BigInteger p521_Py = new BigInteger("11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650", 16); - private static final BigInteger p521_Qx = new BigInteger("1b9fa3e518d683c6b65763694ac8efbaec6fab44f2276171a42726507dd08add4c3b3f4c1ebc5b1222ddba077f722943b24c3edfa0f85fe24d0c8c01591f0be6f63", 16); - private static final BigInteger p521_Qy = new BigInteger("1f3bdba585295d9a1110d1df1f9430ef8442c5018976ff3437ef91b81dc0b8132c8d5c39c32d0e004a3092b7d327c0e7a4d26d2c7b69b58f9066652911e457779de", 16); - - private static final DualECPoints[] nistPoints; - - static - { - nistPoints = new DualECPoints[3]; - - ECCurve.Fp curve = (ECCurve.Fp)NISTNamedCurves.getByName("P-256").getCurve(); - - nistPoints[0] = new DualECPoints(128, curve.createPoint(p256_Px, p256_Py), curve.createPoint(p256_Qx, p256_Qy), 1); - - curve = (ECCurve.Fp)NISTNamedCurves.getByName("P-384").getCurve(); - - nistPoints[1] = new DualECPoints(192, curve.createPoint(p384_Px, p384_Py), curve.createPoint(p384_Qx, p384_Qy), 1); - - curve = (ECCurve.Fp)NISTNamedCurves.getByName("P-521").getCurve(); - - nistPoints[2] = new DualECPoints(256, curve.createPoint(p521_Px, p521_Py), curve.createPoint(p521_Qx, p521_Qy), 1); - } - - - private static final long RESEED_MAX = 1L << (32 - 1); - private static final int MAX_ADDITIONAL_INPUT = 1 << (13 - 1); - private static final int MAX_ENTROPY_LENGTH = 1 << (13 - 1); - private static final int MAX_PERSONALIZATION_STRING = 1 << (13 -1); - - private Digest _digest; - private long _reseedCounter; - private EntropySource _entropySource; - private int _securityStrength; - private int _seedlen; - private int _outlen; - private ECCurve.Fp _curve; - private ECPoint _P; - private ECPoint _Q; - private byte[] _s; - private int _sLength; - - /** - * Construct a SP800-90A Dual EC DRBG. - *

    - * Minimum entropy requirement is the security strength requested. - *

    - * @param digest source digest to use with the DRB stream. - * @param securityStrength security strength required (in bits) - * @param entropySource source of entropy to use for seeding/reseeding. - * @param personalizationString personalization string to distinguish this DRBG (may be null). - * @param nonce nonce to further distinguish this DRBG (may be null). - */ - public DualECSP800DRBG(Digest digest, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) - { - this(nistPoints, digest, securityStrength, entropySource, personalizationString, nonce); - } - - /** - * Construct a SP800-90A Dual EC DRBG. - *

    - * Minimum entropy requirement is the security strength requested. - *

    - * @param pointSet an array of points to choose from, in order of increasing security strength - * @param digest source digest to use with the DRB stream. - * @param securityStrength security strength required (in bits) - * @param entropySource source of entropy to use for seeding/reseeding. - * @param personalizationString personalization string to distinguish this DRBG (may be null). - * @param nonce nonce to further distinguish this DRBG (may be null). - */ - public DualECSP800DRBG(DualECPoints[] pointSet, Digest digest, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) - { - _digest = digest; - _entropySource = entropySource; - _securityStrength = securityStrength; - - if (Utils.isTooLarge(personalizationString, MAX_PERSONALIZATION_STRING / 8)) - { - throw new IllegalArgumentException("Personalization string too large"); - } - - if (entropySource.entropySize() < securityStrength || entropySource.entropySize() > MAX_ENTROPY_LENGTH) - { - throw new IllegalArgumentException("EntropySource must provide between " + securityStrength + " and " + MAX_ENTROPY_LENGTH + " bits"); - } - - byte[] entropy = entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(entropy, nonce, personalizationString); - - for (int i = 0; i != pointSet.length; i++) - { - if (securityStrength <= pointSet[i].getSecurityStrength()) - { - if (Utils.getMaxSecurityStrength(digest) < pointSet[i].getSecurityStrength()) - { - throw new IllegalArgumentException("Requested security strength is not supported by digest"); - } - _seedlen = pointSet[i].getSeedLen(); - _outlen = pointSet[i].getMaxOutlen() / 8; - _P = pointSet[i].getP(); - _Q = pointSet[i].getQ(); - break; - } - } - - if (_P == null) - { - throw new IllegalArgumentException("security strength cannot be greater than 256 bits"); - } - - _s = Utils.hash_df(_digest, seedMaterial, _seedlen); - _sLength = _s.length; - - _reseedCounter = 0; - } - - /** - * Populate a passed in array with random data. - * - * @param output output array for generated bits. - * @param additionalInput additional input to be added to the DRBG in this step. - * @param predictionResistant true if a reseed should be forced, false otherwise. - * - * @return number of bits generated, -1 if a reseed required. - */ - public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant) - { - int numberOfBits = output.length*8; - int m = output.length / _outlen; - - if (Utils.isTooLarge(additionalInput, MAX_ADDITIONAL_INPUT / 8)) - { - throw new IllegalArgumentException("Additional input too large"); - } - - if (_reseedCounter + m > RESEED_MAX) - { - return -1; - } - - if (predictionResistant) - { - reseed(additionalInput); - additionalInput = null; - } - - BigInteger s; - - if (additionalInput != null) - { - // Note: we ignore the use of pad8 on the additional input as we mandate byte arrays for it. - additionalInput = Utils.hash_df(_digest, additionalInput, _seedlen); - s = new BigInteger(1, xor(_s, additionalInput)); - } - else - { - s = new BigInteger(1, _s); - } - - // make sure we start with a clean output array. - Arrays.fill(output, (byte)0); - - int outOffset = 0; - - for (int i = 0; i < m; i++) - { - s = getScalarMultipleXCoord(_P, s); - - //System.err.println("S: " + new String(Hex.encode(_s))); - - byte[] r = _Q.multiply(s).normalize().getAffineXCoord().toBigInteger().toByteArray(); - - if (r.length > _outlen) - { - System.arraycopy(r, r.length - _outlen, output, outOffset, _outlen); - } - else - { - System.arraycopy(r, 0, output, outOffset + (_outlen - r.length), r.length); - } - - //System.err.println("R: " + new String(Hex.encode(r))); - outOffset += _outlen; - - _reseedCounter++; - } - - if (outOffset < output.length) - { - s = getScalarMultipleXCoord(_P, s); - - byte[] r = _Q.multiply(s).normalize().getAffineXCoord().toBigInteger().toByteArray(); - - int required = output.length - outOffset; - - if (r.length > _outlen) - { - System.arraycopy(r, r.length - _outlen, output, outOffset, required); - } - else - { - System.arraycopy(r, 0, output, outOffset + (_outlen - r.length), required); - } - - _reseedCounter++; - } - - // Need to preserve length of S as unsigned int. - _s = BigIntegers.asUnsignedByteArray(_sLength, _P.multiply(s).normalize().getAffineXCoord().toBigInteger()); - - return numberOfBits; - } - - /** - * Reseed the DRBG. - * - * @param additionalInput additional input to be added to the DRBG in this step. - */ - public void reseed(byte[] additionalInput) - { - if (Utils.isTooLarge(additionalInput, MAX_ADDITIONAL_INPUT / 8)) - { - throw new IllegalArgumentException("Additional input string too large"); - } - - byte[] entropy = _entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(pad8(_s, _seedlen), entropy, additionalInput); - - _s = Utils.hash_df(_digest, seedMaterial, _seedlen); - - _reseedCounter = 0; - } - - private byte[] xor(byte[] a, byte[] b) - { - if (b == null) - { - return a; - } - - byte[] rv = new byte[a.length]; - - for (int i = 0; i != rv.length; i++) - { - rv[i] = (byte)(a[i] ^ b[i]); - } - - return rv; - } - - // Note: works in place - private byte[] pad8(byte[] s, int seedlen) - { - if (seedlen % 8 == 0) - { - return s; - } - - int shift = 8 - (seedlen % 8); - int carry = 0; - - for (int i = s.length - 1; i >= 0; i--) - { - int b = s[i] & 0xff; - s[i] = (byte)((b << shift) | (carry >> (8 - shift))); - carry = b; - } - - return s; - } - - private BigInteger getScalarMultipleXCoord(ECPoint p, BigInteger s) - { - return p.multiply(s).normalize().getAffineXCoord().toBigInteger(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HMacSP800DRBG.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HMacSP800DRBG.java deleted file mode 100644 index ad93896cc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HMacSP800DRBG.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.util.Arrays; - -/** - * A SP800-90A HMAC DRBG. - */ -public class HMacSP800DRBG - implements SP80090DRBG -{ - private final static long RESEED_MAX = 1L << (48 - 1); - private final static int MAX_BITS_REQUEST = 1 << (19 - 1); - - private byte[] _K; - private byte[] _V; - private long _reseedCounter; - private EntropySource _entropySource; - private Mac _hMac; - - /** - * Construct a SP800-90A Hash DRBG. - *

    - * Minimum entropy requirement is the security strength requested. - *

    - * @param hMac Hash MAC to base the DRBG on. - * @param securityStrength security strength required (in bits) - * @param entropySource source of entropy to use for seeding/reseeding. - * @param personalizationString personalization string to distinguish this DRBG (may be null). - * @param nonce nonce to further distinguish this DRBG (may be null). - */ - public HMacSP800DRBG(Mac hMac, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) - { - if (securityStrength > Utils.getMaxSecurityStrength(hMac)) - { - throw new IllegalArgumentException("Requested security strength is not supported by the derivation function"); - } - - if (entropySource.entropySize() < securityStrength) - { - throw new IllegalArgumentException("Not enough entropy for security strength required"); - } - - _entropySource = entropySource; - _hMac = hMac; - - byte[] entropy = entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(entropy, nonce, personalizationString); - - _K = new byte[hMac.getMacSize()]; - _V = new byte[_K.length]; - Arrays.fill(_V, (byte)1); - - hmac_DRBG_Update(seedMaterial); - - _reseedCounter = 1; - } - - private void hmac_DRBG_Update(byte[] seedMaterial) - { - hmac_DRBG_Update_Func(seedMaterial, (byte)0x00); - if (seedMaterial != null) - { - hmac_DRBG_Update_Func(seedMaterial, (byte)0x01); - } - } - - private void hmac_DRBG_Update_Func(byte[] seedMaterial, byte vValue) - { - _hMac.init(new KeyParameter(_K)); - - _hMac.update(_V, 0, _V.length); - _hMac.update(vValue); - - if (seedMaterial != null) - { - _hMac.update(seedMaterial, 0, seedMaterial.length); - } - - _hMac.doFinal(_K, 0); - - _hMac.init(new KeyParameter(_K)); - _hMac.update(_V, 0, _V.length); - - _hMac.doFinal(_V, 0); - } - - /** - * Populate a passed in array with random data. - * - * @param output output array for generated bits. - * @param additionalInput additional input to be added to the DRBG in this step. - * @param predictionResistant true if a reseed should be forced, false otherwise. - * - * @return number of bits generated, -1 if a reseed required. - */ - public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant) - { - int numberOfBits = output.length * 8; - - if (numberOfBits > MAX_BITS_REQUEST) - { - throw new IllegalArgumentException("Number of bits per request limited to " + MAX_BITS_REQUEST); - } - - if (_reseedCounter > RESEED_MAX) - { - return -1; - } - - if (predictionResistant) - { - reseed(additionalInput); - additionalInput = null; - } - - // 2. - if (additionalInput != null) - { - hmac_DRBG_Update(additionalInput); - } - - // 3. - byte[] rv = new byte[output.length]; - - int m = output.length / _V.length; - - _hMac.init(new KeyParameter(_K)); - - for (int i = 0; i < m; i++) - { - _hMac.update(_V, 0, _V.length); - _hMac.doFinal(_V, 0); - - System.arraycopy(_V, 0, rv, i * _V.length, _V.length); - } - - if (m * _V.length < rv.length) - { - _hMac.update(_V, 0, _V.length); - _hMac.doFinal(_V, 0); - - System.arraycopy(_V, 0, rv, m * _V.length, rv.length - (m * _V.length)); - } - - hmac_DRBG_Update(additionalInput); - - _reseedCounter++; - - System.arraycopy(rv, 0, output, 0, output.length); - - return numberOfBits; - } - - /** - * Reseed the DRBG. - * - * @param additionalInput additional input to be added to the DRBG in this step. - */ - public void reseed(byte[] additionalInput) - { - byte[] entropy = _entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(entropy, additionalInput); - - hmac_DRBG_Update(seedMaterial); - - _reseedCounter = 1; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HashSP800DRBG.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HashSP800DRBG.java deleted file mode 100644 index 822724942..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/HashSP800DRBG.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import java.util.Hashtable; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; - -/** - * A SP800-90A Hash DRBG. - */ -public class HashSP800DRBG - implements SP80090DRBG -{ - private final static byte[] ONE = { 0x01 }; - - private final static long RESEED_MAX = 1L << (48 - 1); - private final static int MAX_BITS_REQUEST = 1 << (19 - 1); - - private final static Hashtable seedlens = new Hashtable(); - - static - { - seedlens.put("SHA-1", Integers.valueOf(440)); - seedlens.put("SHA-224", Integers.valueOf(440)); - seedlens.put("SHA-256", Integers.valueOf(440)); - seedlens.put("SHA-512/256", Integers.valueOf(440)); - seedlens.put("SHA-512/224", Integers.valueOf(440)); - seedlens.put("SHA-384", Integers.valueOf(888)); - seedlens.put("SHA-512", Integers.valueOf(888)); - } - - private Digest _digest; - private byte[] _V; - private byte[] _C; - private long _reseedCounter; - private EntropySource _entropySource; - private int _securityStrength; - private int _seedLength; - - /** - * Construct a SP800-90A Hash DRBG. - *

    - * Minimum entropy requirement is the security strength requested. - *

    - * @param digest source digest to use for DRB stream. - * @param securityStrength security strength required (in bits) - * @param entropySource source of entropy to use for seeding/reseeding. - * @param personalizationString personalization string to distinguish this DRBG (may be null). - * @param nonce nonce to further distinguish this DRBG (may be null). - */ - public HashSP800DRBG(Digest digest, int securityStrength, EntropySource entropySource, byte[] personalizationString, byte[] nonce) - { - if (securityStrength > Utils.getMaxSecurityStrength(digest)) - { - throw new IllegalArgumentException("Requested security strength is not supported by the derivation function"); - } - - if (entropySource.entropySize() < securityStrength) - { - throw new IllegalArgumentException("Not enough entropy for security strength required"); - } - - _digest = digest; - _entropySource = entropySource; - _securityStrength = securityStrength; - _seedLength = ((Integer)seedlens.get(digest.getAlgorithmName())).intValue(); - - // 1. seed_material = entropy_input || nonce || personalization_string. - // 2. seed = Hash_df (seed_material, seedlen). - // 3. V = seed. - // 4. C = Hash_df ((0x00 || V), seedlen). Comment: Preceed V with a byte - // of zeros. - // 5. reseed_counter = 1. - // 6. Return V, C, and reseed_counter as the initial_working_state - - byte[] entropy = entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(entropy, nonce, personalizationString); - byte[] seed = Utils.hash_df(_digest, seedMaterial, _seedLength); - - _V = seed; - byte[] subV = new byte[_V.length + 1]; - System.arraycopy(_V, 0, subV, 1, _V.length); - _C = Utils.hash_df(_digest, subV, _seedLength); - - _reseedCounter = 1; - } - - /** - * Populate a passed in array with random data. - * - * @param output output array for generated bits. - * @param additionalInput additional input to be added to the DRBG in this step. - * @param predictionResistant true if a reseed should be forced, false otherwise. - * - * @return number of bits generated, -1 if a reseed required. - */ - public int generate(byte[] output, byte[] additionalInput, boolean predictionResistant) - { - // 1. If reseed_counter > reseed_interval, then return an indication that a - // reseed is required. - // 2. If (additional_input != Null), then do - // 2.1 w = Hash (0x02 || V || additional_input). - // 2.2 V = (V + w) mod 2^seedlen - // . - // 3. (returned_bits) = Hashgen (requested_number_of_bits, V). - // 4. H = Hash (0x03 || V). - // 5. V = (V + H + C + reseed_counter) mod 2^seedlen - // . - // 6. reseed_counter = reseed_counter + 1. - // 7. Return SUCCESS, returned_bits, and the new values of V, C, and - // reseed_counter for the new_working_state. - int numberOfBits = output.length*8; - - if (numberOfBits > MAX_BITS_REQUEST) - { - throw new IllegalArgumentException("Number of bits per request limited to " + MAX_BITS_REQUEST); - } - - if (_reseedCounter > RESEED_MAX) - { - return -1; - } - - if (predictionResistant) - { - reseed(additionalInput); - additionalInput = null; - } - - // 2. - if (additionalInput != null) - { - byte[] newInput = new byte[1 + _V.length + additionalInput.length]; - newInput[0] = 0x02; - System.arraycopy(_V, 0, newInput, 1, _V.length); - // TODO: inOff / inLength - System.arraycopy(additionalInput, 0, newInput, 1 + _V.length, additionalInput.length); - byte[] w = hash(newInput); - - addTo(_V, w); - } - - // 3. - byte[] rv = hashgen(_V, numberOfBits); - - // 4. - byte[] subH = new byte[_V.length + 1]; - System.arraycopy(_V, 0, subH, 1, _V.length); - subH[0] = 0x03; - - byte[] H = hash(subH); - - // 5. - addTo(_V, H); - addTo(_V, _C); - byte[] c = new byte[4]; - c[0] = (byte)(_reseedCounter >> 24); - c[1] = (byte)(_reseedCounter >> 16); - c[2] = (byte)(_reseedCounter >> 8); - c[3] = (byte)_reseedCounter; - - addTo(_V, c); - - _reseedCounter++; - - System.arraycopy(rv, 0, output, 0, output.length); - - return numberOfBits; - } - - // this will always add the shorter length byte array mathematically to the - // longer length byte array. - // be careful.... - private void addTo(byte[] longer, byte[] shorter) - { - int carry = 0; - for (int i=1;i <= shorter.length; i++) // warning - { - int res = (longer[longer.length-i] & 0xff) + (shorter[shorter.length-i] & 0xff) + carry; - carry = (res > 0xff) ? 1 : 0; - longer[longer.length-i] = (byte)res; - } - - for (int i=shorter.length+1;i <= longer.length; i++) // warning - { - int res = (longer[longer.length-i] & 0xff) + carry; - carry = (res > 0xff) ? 1 : 0; - longer[longer.length-i] = (byte)res; - } - } - - /** - * Reseed the DRBG. - * - * @param additionalInput additional input to be added to the DRBG in this step. - */ - public void reseed(byte[] additionalInput) - { - // 1. seed_material = 0x01 || V || entropy_input || additional_input. - // - // 2. seed = Hash_df (seed_material, seedlen). - // - // 3. V = seed. - // - // 4. C = Hash_df ((0x00 || V), seedlen). - // - // 5. reseed_counter = 1. - // - // 6. Return V, C, and reseed_counter for the new_working_state. - // - // Comment: Precede with a byte of all zeros. - byte[] entropy = _entropySource.getEntropy(); - byte[] seedMaterial = Arrays.concatenate(ONE, _V, entropy, additionalInput); - byte[] seed = Utils.hash_df(_digest, seedMaterial, _seedLength); - - _V = seed; - byte[] subV = new byte[_V.length + 1]; - subV[0] = 0x00; - System.arraycopy(_V, 0, subV, 1, _V.length); - _C = Utils.hash_df(_digest, subV, _seedLength); - - _reseedCounter = 1; - } - - private byte[] hash(byte[] input) - { - _digest.update(input, 0, input.length); - byte[] hash = new byte[_digest.getDigestSize()]; - _digest.doFinal(hash, 0); - return hash; - } - - // 1. m = [requested_number_of_bits / outlen] - // 2. data = V. - // 3. W = the Null string. - // 4. For i = 1 to m - // 4.1 wi = Hash (data). - // 4.2 W = W || wi. - // 4.3 data = (data + 1) mod 2^seedlen - // . - // 5. returned_bits = Leftmost (requested_no_of_bits) bits of W. - private byte[] hashgen(byte[] input, int lengthInBits) - { - int digestSize = _digest.getDigestSize(); - int m = (lengthInBits / 8) / digestSize; - - byte[] data = new byte[input.length]; - System.arraycopy(input, 0, data, 0, input.length); - - byte[] W = new byte[lengthInBits / 8]; - - byte[] dig; - for (int i = 0; i <= m; i++) - { - dig = hash(data); - - int bytesToCopy = ((W.length - i * dig.length) > dig.length) - ? dig.length - : (W.length - i * dig.length); - System.arraycopy(dig, 0, W, i * dig.length, bytesToCopy); - - addTo(data, ONE); - } - - return W; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/SP80090DRBG.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/SP80090DRBG.java deleted file mode 100644 index d7c58d33d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/SP80090DRBG.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -/** - * Interface to SP800-90A deterministic random bit generators. - */ -public interface SP80090DRBG -{ - /** - * Populate a passed in array with random data. - * - * @param output output array for generated bits. - * @param additionalInput additional input to be added to the DRBG in this step. - * @param predictionResistant true if a reseed should be forced, false otherwise. - * - * @return number of bits generated, -1 if a reseed required. - */ - int generate(byte[] output, byte[] additionalInput, boolean predictionResistant); - - /** - * Reseed the DRBG. - * - * @param additionalInput additional input to be added to the DRBG in this step. - */ - void reseed(byte[] additionalInput); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/Utils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/Utils.java deleted file mode 100644 index bf2626d02..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/prng/drbg/Utils.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.crypto.prng.drbg; - -import java.util.Hashtable; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.util.Integers; - -class Utils -{ - static final Hashtable maxSecurityStrengths = new Hashtable(); - - static - { - maxSecurityStrengths.put("SHA-1", Integers.valueOf(128)); - - maxSecurityStrengths.put("SHA-224", Integers.valueOf(192)); - maxSecurityStrengths.put("SHA-256", Integers.valueOf(256)); - maxSecurityStrengths.put("SHA-384", Integers.valueOf(256)); - maxSecurityStrengths.put("SHA-512", Integers.valueOf(256)); - - maxSecurityStrengths.put("SHA-512/224", Integers.valueOf(192)); - maxSecurityStrengths.put("SHA-512/256", Integers.valueOf(256)); - } - - static int getMaxSecurityStrength(Digest d) - { - return ((Integer)maxSecurityStrengths.get(d.getAlgorithmName())).intValue(); - } - - static int getMaxSecurityStrength(Mac m) - { - String name = m.getAlgorithmName(); - - return ((Integer)maxSecurityStrengths.get(name.substring(0, name.indexOf("/")))).intValue(); - } - - /** - * Used by both Dual EC and Hash. - */ - static byte[] hash_df(Digest digest, byte[] seedMaterial, int seedLength) - { - // 1. temp = the Null string. - // 2. . - // 3. counter = an 8-bit binary value representing the integer "1". - // 4. For i = 1 to len do - // Comment : In step 4.1, no_of_bits_to_return - // is used as a 32-bit string. - // 4.1 temp = temp || Hash (counter || no_of_bits_to_return || - // input_string). - // 4.2 counter = counter + 1. - // 5. requested_bits = Leftmost (no_of_bits_to_return) of temp. - // 6. Return SUCCESS and requested_bits. - byte[] temp = new byte[(seedLength + 7) / 8]; - - int len = temp.length / digest.getDigestSize(); - int counter = 1; - - byte[] dig = new byte[digest.getDigestSize()]; - - for (int i = 0; i <= len; i++) - { - digest.update((byte)counter); - - digest.update((byte)(seedLength >> 24)); - digest.update((byte)(seedLength >> 16)); - digest.update((byte)(seedLength >> 8)); - digest.update((byte)seedLength); - - digest.update(seedMaterial, 0, seedMaterial.length); - - digest.doFinal(dig, 0); - - int bytesToCopy = ((temp.length - i * dig.length) > dig.length) - ? dig.length - : (temp.length - i * dig.length); - System.arraycopy(dig, 0, temp, i * dig.length, bytesToCopy); - - counter++; - } - - // do a left shift to get rid of excess bits. - if (seedLength % 8 != 0) - { - int shift = 8 - (seedLength % 8); - int carry = 0; - - for (int i = 0; i != temp.length; i++) - { - int b = temp[i] & 0xff; - temp[i] = (byte)((b >>> shift) | (carry << (8 - shift))); - carry = b; - } - } - - return temp; - } - - static boolean isTooLarge(byte[] bytes, int maxBytes) - { - return bytes != null && bytes.length > maxBytes; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSADigestSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSADigestSigner.java deleted file mode 100644 index c15a81feb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSADigestSigner.java +++ /dev/null @@ -1,163 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - -public class DSADigestSigner - implements Signer -{ - private final Digest digest; - private final DSA dsaSigner; - private boolean forSigning; - - public DSADigestSigner( - DSA signer, - Digest digest) - { - this.digest = digest; - this.dsaSigner = signer; - } - - public void init( - boolean forSigning, - CipherParameters parameters) - { - this.forSigning = forSigning; - - AsymmetricKeyParameter k; - - if (parameters instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)parameters; - } - - if (forSigning && !k.isPrivate()) - { - throw new IllegalArgumentException("Signing Requires Private Key."); - } - - if (!forSigning && k.isPrivate()) - { - throw new IllegalArgumentException("Verification Requires Public Key."); - } - - reset(); - - dsaSigner.init(forSigning, parameters); - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte input) - { - digest.update(input); - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] input, - int inOff, - int length) - { - digest.update(input, inOff, length); - } - - /** - * Generate a signature for the message we've been loaded with using - * the key we were initialised with. - */ - public byte[] generateSignature() - { - if (!forSigning) - { - throw new IllegalStateException("DSADigestSigner not initialised for signature generation."); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - BigInteger[] sig = dsaSigner.generateSignature(hash); - - try - { - return derEncode(sig[0], sig[1]); - } - catch (IOException e) - { - throw new IllegalStateException("unable to encode signature"); - } - } - - public boolean verifySignature( - byte[] signature) - { - if (forSigning) - { - throw new IllegalStateException("DSADigestSigner not initialised for verification"); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - try - { - BigInteger[] sig = derDecode(signature); - return dsaSigner.verifySignature(hash, sig[0], sig[1]); - } - catch (IOException e) - { - return false; - } - } - - public void reset() - { - digest.reset(); - } - - private byte[] derEncode( - BigInteger r, - BigInteger s) - throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - v.add(new DERInteger(r)); - v.add(new DERInteger(s)); - - return new DERSequence(v).getEncoded(ASN1Encoding.DER); - } - - private BigInteger[] derDecode( - byte[] encoding) - throws IOException - { - ASN1Sequence s = (ASN1Sequence)ASN1Primitive.fromByteArray(encoding); - - return new BigInteger[] - { - ((DERInteger)s.getObjectAt(0)).getValue(), - ((DERInteger)s.getObjectAt(1)).getValue() - }; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSAKCalculator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSAKCalculator.java deleted file mode 100644 index 6c8e1dc8a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSAKCalculator.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * Interface define calculators of K values for DSA/ECDSA. - */ -public interface DSAKCalculator -{ - /** - * Return true if this calculator is deterministic, false otherwise. - * - * @return true if deterministic, otherwise false. - */ - boolean isDeterministic(); - - /** - * Non-deterministic initialiser. - * - * @param n the order of the DSA group. - * @param random a source of randomness. - */ - void init(BigInteger n, SecureRandom random); - - /** - * Deterministic initialiser. - * - * @param n the order of the DSA group. - * @param d the DSA private value. - * @param message the message being signed. - */ - void init(BigInteger n, BigInteger d, byte[] message); - - /** - * Return the next valid value of K. - * - * @return a K value. - */ - BigInteger nextK(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSASigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSASigner.java deleted file mode 100644 index 4d9b87842..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSASigner.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.DSAKeyParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * The Digital Signature Algorithm - as described in "Handbook of Applied - * Cryptography", pages 452 - 453. - */ -public class DSASigner - implements DSA -{ - private final DSAKCalculator kCalculator; - - private DSAKeyParameters key; - private SecureRandom random; - - /** - * Default configuration, random K values. - */ - public DSASigner() - { - this.kCalculator = new RandomDSAKCalculator(); - } - - /** - * Configuration with an alternate, possibly deterministic calculator of K. - * - * @param kCalculator a K value calculator. - */ - public DSASigner(DSAKCalculator kCalculator) - { - this.kCalculator = kCalculator; - } - - public void init( - boolean forSigning, - CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (DSAPrivateKeyParameters)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.key = (DSAPrivateKeyParameters)param; - } - } - else - { - this.key = (DSAPublicKeyParameters)param; - } - } - - /** - * generate a signature for the given message using the key we were - * initialised with. For conventional DSA the message should be a SHA-1 - * hash of the message of interest. - * - * @param message the message that will be verified later. - */ - public BigInteger[] generateSignature( - byte[] message) - { - DSAParameters params = key.getParameters(); - BigInteger m = calculateE(params.getQ(), message); - - if (kCalculator.isDeterministic()) - { - kCalculator.init(params.getQ(), ((DSAPrivateKeyParameters)key).getX(), message); - } - else - { - kCalculator.init(params.getQ(), random); - } - - BigInteger k = kCalculator.nextK(); - - BigInteger r = params.getG().modPow(k, params.getP()).mod(params.getQ()); - - k = k.modInverse(params.getQ()).multiply( - m.add(((DSAPrivateKeyParameters)key).getX().multiply(r))); - - BigInteger s = k.mod(params.getQ()); - - BigInteger[] res = new BigInteger[2]; - - res[0] = r; - res[1] = s; - - return res; - } - - /** - * return true if the value r and s represent a DSA signature for - * the passed in message for standard DSA the message should be a - * SHA-1 hash of the real message to be verified. - */ - public boolean verifySignature( - byte[] message, - BigInteger r, - BigInteger s) - { - DSAParameters params = key.getParameters(); - BigInteger m = calculateE(params.getQ(), message); - BigInteger zero = BigInteger.valueOf(0); - - if (zero.compareTo(r) >= 0 || params.getQ().compareTo(r) <= 0) - { - return false; - } - - if (zero.compareTo(s) >= 0 || params.getQ().compareTo(s) <= 0) - { - return false; - } - - BigInteger w = s.modInverse(params.getQ()); - - BigInteger u1 = m.multiply(w).mod(params.getQ()); - BigInteger u2 = r.multiply(w).mod(params.getQ()); - - u1 = params.getG().modPow(u1, params.getP()); - u2 = ((DSAPublicKeyParameters)key).getY().modPow(u2, params.getP()); - - BigInteger v = u1.multiply(u2).mod(params.getP()).mod(params.getQ()); - - return v.equals(r); - } - - private BigInteger calculateE(BigInteger n, byte[] message) - { - if (n.bitLength() >= message.length * 8) - { - return new BigInteger(1, message); - } - else - { - byte[] trunc = new byte[n.bitLength() / 8]; - - System.arraycopy(message, 0, trunc, 0, trunc.length); - - return new BigInteger(1, trunc); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSTU4145Signer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSTU4145Signer.java deleted file mode 100644 index 4aba32e4f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/DSTU4145Signer.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECAlgorithms; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECFieldElement; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; - -/** - * DSTU 4145-2002 - *

    - * National Ukrainian standard of digital signature based on elliptic curves (DSTU 4145-2002). - *

    - */ -public class DSTU4145Signer - implements DSA -{ - private static final BigInteger ONE = BigInteger.valueOf(1); - - private ECKeyParameters key; - private SecureRandom random; - - public void init(boolean forSigning, CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - param = rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - } - - this.key = (ECPrivateKeyParameters)param; - } - else - { - this.key = (ECPublicKeyParameters)param; - } - - } - - public BigInteger[] generateSignature(byte[] message) - { - ECDomainParameters parameters = key.getParameters(); - - ECCurve curve = parameters.getCurve(); - - ECFieldElement h = hash2FieldElement(curve, message); - if (h.isZero()) - { - h = curve.fromBigInteger(ONE); - } - - BigInteger n = parameters.getN(); - BigInteger e, r, s; - ECFieldElement Fe, y; - - do - { - do - { - do - { - e = generateRandomInteger(n, random); - Fe = parameters.getG().multiply(e).normalize().getAffineXCoord(); - } - while (Fe.isZero()); - - y = h.multiply(Fe); - r = fieldElement2Integer(n, y); - } - while (r.signum() == 0); - - s = r.multiply(((ECPrivateKeyParameters)key).getD()).add(e).mod(n); - } - while (s.signum() == 0); - - return new BigInteger[]{r, s}; - } - - public boolean verifySignature(byte[] message, BigInteger r, BigInteger s) - { - if (r.signum() <= 0 || s.signum() <= 0) - { - return false; - } - - ECDomainParameters parameters = key.getParameters(); - - BigInteger n = parameters.getN(); - if (r.compareTo(n) >= 0 || s.compareTo(n) >= 0) - { - return false; - } - - ECCurve curve = parameters.getCurve(); - - ECFieldElement h = hash2FieldElement(curve, message); - if (h.isZero()) - { - h = curve.fromBigInteger(ONE); - } - - ECPoint R = ECAlgorithms.sumOfTwoMultiplies(parameters.getG(), s, ((ECPublicKeyParameters)key).getQ(), r).normalize(); - - // components must be bogus. - if (R.isInfinity()) - { - return false; - } - - ECFieldElement y = h.multiply(R.getAffineXCoord()); - return fieldElement2Integer(n, y).compareTo(r) == 0; - } - - /** - * Generates random integer such, than its bit length is less than that of n - */ - private static BigInteger generateRandomInteger(BigInteger n, SecureRandom random) - { - return new BigInteger(n.bitLength() - 1, random); - } - - private static void reverseBytes(byte[] bytes) - { - byte tmp; - - for (int i=0; i curve.getFieldSize()) - { - num = num.clearBit(num.bitLength() - 1); - } - - return curve.fromBigInteger(num); - } - - private static BigInteger fieldElement2Integer(BigInteger n, ECFieldElement fieldElement) - { - BigInteger num = fieldElement.toBigInteger(); - while (num.bitLength() >= n.bitLength()) - { - num = num.clearBit(num.bitLength() - 1); - } - - return num; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECDSASigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECDSASigner.java deleted file mode 100644 index bf2344c73..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECDSASigner.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.ECKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECAlgorithms; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECPoint; - -/** - * EC-DSA as described in X9.62 - */ -public class ECDSASigner - implements ECConstants, DSA -{ - private final DSAKCalculator kCalculator; - - private ECKeyParameters key; - private SecureRandom random; - - /** - * Default configuration, random K values. - */ - public ECDSASigner() - { - this.kCalculator = new RandomDSAKCalculator(); - } - - /** - * Configuration with an alternate, possibly deterministic calculator of K. - * - * @param kCalculator a K value calculator. - */ - public ECDSASigner(DSAKCalculator kCalculator) - { - this.kCalculator = kCalculator; - } - - public void init( - boolean forSigning, - CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (ECPrivateKeyParameters)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.key = (ECPrivateKeyParameters)param; - } - } - else - { - this.key = (ECPublicKeyParameters)param; - } - } - - // 5.3 pg 28 - /** - * generate a signature for the given message using the key we were - * initialised with. For conventional DSA the message should be a SHA-1 - * hash of the message of interest. - * - * @param message the message that will be verified later. - */ - public BigInteger[] generateSignature( - byte[] message) - { - BigInteger n = key.getParameters().getN(); - BigInteger e = calculateE(n, message); - BigInteger r = null; - BigInteger s = null; - - if (kCalculator.isDeterministic()) - { - kCalculator.init(n, ((ECPrivateKeyParameters)key).getD(), message); - } - else - { - kCalculator.init(n, random); - } - - // 5.3.2 - do // generate s - { - BigInteger k = null; - - do // generate r - { - k = kCalculator.nextK(); - - ECPoint p = key.getParameters().getG().multiply(k).normalize(); - - // 5.3.3 - BigInteger x = p.getAffineXCoord().toBigInteger(); - - r = x.mod(n); - } - while (r.equals(ZERO)); - - BigInteger d = ((ECPrivateKeyParameters)key).getD(); - - s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n); - } - while (s.equals(ZERO)); - - BigInteger[] res = new BigInteger[2]; - - res[0] = r; - res[1] = s; - - return res; - } - - // 5.4 pg 29 - /** - * return true if the value r and s represent a DSA signature for - * the passed in message (for standard DSA the message should be - * a SHA-1 hash of the real message to be verified). - */ - public boolean verifySignature( - byte[] message, - BigInteger r, - BigInteger s) - { - BigInteger n = key.getParameters().getN(); - BigInteger e = calculateE(n, message); - - // r in the range [1,n-1] - if (r.compareTo(ONE) < 0 || r.compareTo(n) >= 0) - { - return false; - } - - // s in the range [1,n-1] - if (s.compareTo(ONE) < 0 || s.compareTo(n) >= 0) - { - return false; - } - - BigInteger c = s.modInverse(n); - - BigInteger u1 = e.multiply(c).mod(n); - BigInteger u2 = r.multiply(c).mod(n); - - ECPoint G = key.getParameters().getG(); - ECPoint Q = ((ECPublicKeyParameters)key).getQ(); - - ECPoint point = ECAlgorithms.sumOfTwoMultiplies(G, u1, Q, u2).normalize(); - - // components must be bogus. - if (point.isInfinity()) - { - return false; - } - - BigInteger v = point.getAffineXCoord().toBigInteger().mod(n); - - return v.equals(r); - } - - private BigInteger calculateE(BigInteger n, byte[] message) - { - int log2n = n.bitLength(); - int messageBitLength = message.length * 8; - - BigInteger e = new BigInteger(1, message); - if (log2n < messageBitLength) - { - e = e.shiftRight(messageBitLength - log2n); - } - return e; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECGOST3410Signer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECGOST3410Signer.java deleted file mode 100644 index b565e6806..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECGOST3410Signer.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.spongycastle.crypto.signers; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.ECKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECAlgorithms; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECPoint; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * GOST R 34.10-2001 Signature Algorithm - */ -public class ECGOST3410Signer - implements DSA -{ - ECKeyParameters key; - - SecureRandom random; - - public void init( - boolean forSigning, - CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (ECPrivateKeyParameters)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.key = (ECPrivateKeyParameters)param; - } - } - else - { - this.key = (ECPublicKeyParameters)param; - } - } - - /** - * generate a signature for the given message using the key we were - * initialised with. For conventional GOST3410 the message should be a GOST3411 - * hash of the message of interest. - * - * @param message the message that will be verified later. - */ - public BigInteger[] generateSignature( - byte[] message) - { - byte[] mRev = new byte[message.length]; // conversion is little-endian - for (int i = 0; i != mRev.length; i++) - { - mRev[i] = message[mRev.length - 1 - i]; - } - - BigInteger e = new BigInteger(1, mRev); - BigInteger n = key.getParameters().getN(); - - BigInteger r = null; - BigInteger s = null; - - do // generate s - { - BigInteger k = null; - - do // generate r - { - do - { - k = new BigInteger(n.bitLength(), random); - } - while (k.equals(ECConstants.ZERO)); - - ECPoint p = key.getParameters().getG().multiply(k).normalize(); - - BigInteger x = p.getAffineXCoord().toBigInteger(); - - r = x.mod(n); - } - while (r.equals(ECConstants.ZERO)); - - BigInteger d = ((ECPrivateKeyParameters)key).getD(); - - s = (k.multiply(e)).add(d.multiply(r)).mod(n); - } - while (s.equals(ECConstants.ZERO)); - - BigInteger[] res = new BigInteger[2]; - - res[0] = r; - res[1] = s; - - return res; - } - - /** - * return true if the value r and s represent a GOST3410 signature for - * the passed in message (for standard GOST3410 the message should be - * a GOST3411 hash of the real message to be verified). - */ - public boolean verifySignature( - byte[] message, - BigInteger r, - BigInteger s) - { - byte[] mRev = new byte[message.length]; // conversion is little-endian - for (int i = 0; i != mRev.length; i++) - { - mRev[i] = message[mRev.length - 1 - i]; - } - - BigInteger e = new BigInteger(1, mRev); - BigInteger n = key.getParameters().getN(); - - // r in the range [1,n-1] - if (r.compareTo(ECConstants.ONE) < 0 || r.compareTo(n) >= 0) - { - return false; - } - - // s in the range [1,n-1] - if (s.compareTo(ECConstants.ONE) < 0 || s.compareTo(n) >= 0) - { - return false; - } - - BigInteger v = e.modInverse(n); - - BigInteger z1 = s.multiply(v).mod(n); - BigInteger z2 = (n.subtract(r)).multiply(v).mod(n); - - ECPoint G = key.getParameters().getG(); // P - ECPoint Q = ((ECPublicKeyParameters)key).getQ(); - - ECPoint point = ECAlgorithms.sumOfTwoMultiplies(G, z1, Q, z2).normalize(); - - // components must be bogus. - if (point.isInfinity()) - { - return false; - } - - BigInteger R = point.getAffineXCoord().toBigInteger().mod(n); - - return R.equals(r); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECNRSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECNRSigner.java deleted file mode 100644 index b2e1b4560..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ECNRSigner.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.spongycastle.crypto.signers; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECAlgorithms; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECPoint; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * EC-NR as described in IEEE 1363-2000 - */ -public class ECNRSigner - implements DSA -{ - private boolean forSigning; - private ECKeyParameters key; - private SecureRandom random; - - public void init( - boolean forSigning, - CipherParameters param) - { - this.forSigning = forSigning; - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (ECPrivateKeyParameters)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.key = (ECPrivateKeyParameters)param; - } - } - else - { - this.key = (ECPublicKeyParameters)param; - } - } - - // Section 7.2.5 ECSP-NR, pg 34 - /** - * generate a signature for the given message using the key we were - * initialised with. Generally, the order of the curve should be at - * least as long as the hash of the message of interest, and with - * ECNR it *must* be at least as long. - * - * @param digest the digest to be signed. - * @exception DataLengthException if the digest is longer than the key allows - */ - public BigInteger[] generateSignature( - byte[] digest) - { - if (! this.forSigning) - { - throw new IllegalStateException("not initialised for signing"); - } - - BigInteger n = ((ECPrivateKeyParameters)this.key).getParameters().getN(); - int nBitLength = n.bitLength(); - - BigInteger e = new BigInteger(1, digest); - int eBitLength = e.bitLength(); - - ECPrivateKeyParameters privKey = (ECPrivateKeyParameters)key; - - if (eBitLength > nBitLength) - { - throw new DataLengthException("input too large for ECNR key."); - } - - BigInteger r = null; - BigInteger s = null; - - AsymmetricCipherKeyPair tempPair; - do // generate r - { - // generate another, but very temporary, key pair using - // the same EC parameters - ECKeyPairGenerator keyGen = new ECKeyPairGenerator(); - - keyGen.init(new ECKeyGenerationParameters(privKey.getParameters(), this.random)); - - tempPair = keyGen.generateKeyPair(); - - // BigInteger Vx = tempPair.getPublic().getW().getAffineX(); - ECPublicKeyParameters V = (ECPublicKeyParameters)tempPair.getPublic(); // get temp's public key - BigInteger Vx = V.getQ().normalize().getAffineXCoord().toBigInteger(); // get the point's x coordinate - - r = Vx.add(e).mod(n); - } - while (r.equals(ECConstants.ZERO)); - - // generate s - BigInteger x = privKey.getD(); // private key value - BigInteger u = ((ECPrivateKeyParameters)tempPair.getPrivate()).getD(); // temp's private key value - s = u.subtract(r.multiply(x)).mod(n); - - BigInteger[] res = new BigInteger[2]; - res[0] = r; - res[1] = s; - - return res; - } - - // Section 7.2.6 ECVP-NR, pg 35 - /** - * return true if the value r and s represent a signature for the - * message passed in. Generally, the order of the curve should be at - * least as long as the hash of the message of interest, and with - * ECNR, it *must* be at least as long. But just in case the signer - * applied mod(n) to the longer digest, this implementation will - * apply mod(n) during verification. - * - * @param digest the digest to be verified. - * @param r the r value of the signature. - * @param s the s value of the signature. - * @exception DataLengthException if the digest is longer than the key allows - */ - public boolean verifySignature( - byte[] digest, - BigInteger r, - BigInteger s) - { - if (this.forSigning) - { - throw new IllegalStateException("not initialised for verifying"); - } - - ECPublicKeyParameters pubKey = (ECPublicKeyParameters)key; - BigInteger n = pubKey.getParameters().getN(); - int nBitLength = n.bitLength(); - - BigInteger e = new BigInteger(1, digest); - int eBitLength = e.bitLength(); - - if (eBitLength > nBitLength) - { - throw new DataLengthException("input too large for ECNR key."); - } - - // r in the range [1,n-1] - if (r.compareTo(ECConstants.ONE) < 0 || r.compareTo(n) >= 0) - { - return false; - } - - // s in the range [0,n-1] NB: ECNR spec says 0 - if (s.compareTo(ECConstants.ZERO) < 0 || s.compareTo(n) >= 0) - { - return false; - } - - // compute P = sG + rW - - ECPoint G = pubKey.getParameters().getG(); - ECPoint W = pubKey.getQ(); - // calculate P using Bouncy math - ECPoint P = ECAlgorithms.sumOfTwoMultiplies(G, s, W, r).normalize(); - - // components must be bogus. - if (P.isInfinity()) - { - return false; - } - - BigInteger x = P.getAffineXCoord().toBigInteger(); - BigInteger t = r.subtract(x).mod(n); - - return t.equals(e); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GOST3410Signer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GOST3410Signer.java deleted file mode 100644 index f609c3fda..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GOST3410Signer.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.crypto.signers; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.*; - -import java.security.SecureRandom; -import java.math.BigInteger; - -/** - * GOST R 34.10-94 Signature Algorithm - */ -public class GOST3410Signer - implements DSA -{ - GOST3410KeyParameters key; - - SecureRandom random; - - public void init( - boolean forSigning, - CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (GOST3410PrivateKeyParameters)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.key = (GOST3410PrivateKeyParameters)param; - } - } - else - { - this.key = (GOST3410PublicKeyParameters)param; - } - } - - /** - * generate a signature for the given message using the key we were - * initialised with. For conventional GOST3410 the message should be a GOST3411 - * hash of the message of interest. - * - * @param message the message that will be verified later. - */ - public BigInteger[] generateSignature( - byte[] message) - { - byte[] mRev = new byte[message.length]; // conversion is little-endian - for (int i = 0; i != mRev.length; i++) - { - mRev[i] = message[mRev.length - 1 - i]; - } - - BigInteger m = new BigInteger(1, mRev); - GOST3410Parameters params = key.getParameters(); - BigInteger k; - - do - { - k = new BigInteger(params.getQ().bitLength(), random); - } - while (k.compareTo(params.getQ()) >= 0); - - BigInteger r = params.getA().modPow(k, params.getP()).mod(params.getQ()); - - BigInteger s = k.multiply(m). - add(((GOST3410PrivateKeyParameters)key).getX().multiply(r)). - mod(params.getQ()); - - BigInteger[] res = new BigInteger[2]; - - res[0] = r; - res[1] = s; - - return res; - } - - /** - * return true if the value r and s represent a GOST3410 signature for - * the passed in message for standard GOST3410 the message should be a - * GOST3411 hash of the real message to be verified. - */ - public boolean verifySignature( - byte[] message, - BigInteger r, - BigInteger s) - { - byte[] mRev = new byte[message.length]; // conversion is little-endian - for (int i = 0; i != mRev.length; i++) - { - mRev[i] = message[mRev.length - 1 - i]; - } - - BigInteger m = new BigInteger(1, mRev); - GOST3410Parameters params = key.getParameters(); - BigInteger zero = BigInteger.valueOf(0); - - if (zero.compareTo(r) >= 0 || params.getQ().compareTo(r) <= 0) - { - return false; - } - - if (zero.compareTo(s) >= 0 || params.getQ().compareTo(s) <= 0) - { - return false; - } - - BigInteger v = m.modPow(params.getQ().subtract(new BigInteger("2")),params.getQ()); - - BigInteger z1 = s.multiply(v).mod(params.getQ()); - BigInteger z2 = (params.getQ().subtract(r)).multiply(v).mod(params.getQ()); - - z1 = params.getA().modPow(z1, params.getP()); - z2 = ((GOST3410PublicKeyParameters)key).getY().modPow(z2, params.getP()); - - BigInteger u = z1.multiply(z2).mod(params.getP()).mod(params.getQ()); - - return u.equals(r); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GenericSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GenericSigner.java deleted file mode 100644 index 0df5a8757..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/GenericSigner.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.spongycastle.crypto.signers; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -public class GenericSigner - implements Signer -{ - private final AsymmetricBlockCipher engine; - private final Digest digest; - private boolean forSigning; - - public GenericSigner( - AsymmetricBlockCipher engine, - Digest digest) - { - this.engine = engine; - this.digest = digest; - } - - /** - * initialise the signer for signing or verification. - * - * @param forSigning - * true if for signing, false otherwise - * @param parameters - * necessary parameters. - */ - public void init( - boolean forSigning, - CipherParameters parameters) - { - this.forSigning = forSigning; - AsymmetricKeyParameter k; - - if (parameters instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)parameters; - } - - if (forSigning && !k.isPrivate()) - { - throw new IllegalArgumentException("signing requires private key"); - } - - if (!forSigning && k.isPrivate()) - { - throw new IllegalArgumentException("verification requires public key"); - } - - reset(); - - engine.init(forSigning, parameters); - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte input) - { - digest.update(input); - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] input, - int inOff, - int length) - { - digest.update(input, inOff, length); - } - - /** - * Generate a signature for the message we've been loaded with using the key - * we were initialised with. - */ - public byte[] generateSignature() - throws CryptoException, DataLengthException - { - if (!forSigning) - { - throw new IllegalStateException("GenericSigner not initialised for signature generation."); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - return engine.processBlock(hash, 0, hash.length); - } - - /** - * return true if the internal state represents the signature described in - * the passed in array. - */ - public boolean verifySignature( - byte[] signature) - { - if (forSigning) - { - throw new IllegalStateException("GenericSigner not initialised for verification"); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - try - { - byte[] sig = engine.processBlock(signature, 0, signature.length); - - return Arrays.constantTimeAreEqual(sig, hash); - } - catch (Exception e) - { - return false; - } - } - - public void reset() - { - digest.reset(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/HMacDSAKCalculator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/HMacDSAKCalculator.java deleted file mode 100644 index bb17e477f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/HMacDSAKCalculator.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; - -/** - * A deterministic K calculator based on the algorithm in section 3.2 of RFC 6979. - */ -public class HMacDSAKCalculator - implements DSAKCalculator -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private final HMac hMac; - private final byte[] K; - private final byte[] V; - - private BigInteger n; - - /** - * Base constructor. - * - * @param digest digest to build the HMAC on. - */ - public HMacDSAKCalculator(Digest digest) - { - this.hMac = new HMac(digest); - this.V = new byte[hMac.getMacSize()]; - this.K = new byte[hMac.getMacSize()]; - } - - public boolean isDeterministic() - { - return true; - } - - public void init(BigInteger n, SecureRandom random) - { - throw new IllegalStateException("Operation not supported"); - } - - public void init(BigInteger n, BigInteger d, byte[] message) - { - this.n = n; - - Arrays.fill(V, (byte)0x01); - Arrays.fill(K, (byte)0); - - byte[] x = new byte[(n.bitLength() + 7) / 8]; - byte[] dVal = BigIntegers.asUnsignedByteArray(d); - - System.arraycopy(dVal, 0, x, x.length - dVal.length, dVal.length); - - byte[] m = new byte[(n.bitLength() + 7) / 8]; - - BigInteger mInt = bitsToInt(message); - - if (mInt.compareTo(n) > 0) - { - mInt = mInt.subtract(n); - } - - byte[] mVal = BigIntegers.asUnsignedByteArray(mInt); - - System.arraycopy(mVal, 0, m, m.length - mVal.length, mVal.length); - - hMac.init(new KeyParameter(K)); - - hMac.update(V, 0, V.length); - hMac.update((byte)0x00); - hMac.update(x, 0, x.length); - hMac.update(m, 0, m.length); - - hMac.doFinal(K, 0); - - hMac.init(new KeyParameter(K)); - - hMac.update(V, 0, V.length); - - hMac.doFinal(V, 0); - - hMac.update(V, 0, V.length); - hMac.update((byte)0x01); - hMac.update(x, 0, x.length); - hMac.update(m, 0, m.length); - - hMac.doFinal(K, 0); - - hMac.init(new KeyParameter(K)); - - hMac.update(V, 0, V.length); - - hMac.doFinal(V, 0); - } - - public BigInteger nextK() - { - byte[] t = new byte[((n.bitLength() + 7) / 8)]; - - for (;;) - { - int tOff = 0; - - while (tOff < t.length) - { - hMac.update(V, 0, V.length); - - hMac.doFinal(V, 0); - - if (t.length - tOff < V.length) - { - System.arraycopy(V, 0, t, tOff, t.length - tOff); - tOff += t.length - tOff; - } - else - { - System.arraycopy(V, 0, t, tOff, V.length); - tOff += V.length; - } - } - - BigInteger k = bitsToInt(t); - - if (k.equals(ZERO) || k.compareTo(n) >= 0) - { - hMac.update(V, 0, V.length); - hMac.update((byte)0x00); - - hMac.doFinal(K, 0); - - hMac.init(new KeyParameter(K)); - - hMac.update(V, 0, V.length); - - hMac.doFinal(V, 0); - } - else - { - return k; - } - } - } - - private BigInteger bitsToInt(byte[] t) - { - BigInteger v = new BigInteger(1, t); - - if (t.length * 8 > n.bitLength()) - { - v = v.shiftRight(t.length * 8 - n.bitLength()); - } - - return v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2PSSSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2PSSSigner.java deleted file mode 100644 index 8f27d71bf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2PSSSigner.java +++ /dev/null @@ -1,668 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.security.SecureRandom; -import java.util.Hashtable; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.SignerWithRecovery; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.ParametersWithSalt; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; - -/** - * ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3). - *

    - * Note: the usual length for the salt is the length of the hash - * function used in bytes. - */ -public class ISO9796d2PSSSigner - implements SignerWithRecovery -{ - static final public int TRAILER_IMPLICIT = 0xBC; - static final public int TRAILER_RIPEMD160 = 0x31CC; - static final public int TRAILER_RIPEMD128 = 0x32CC; - static final public int TRAILER_SHA1 = 0x33CC; - static final public int TRAILER_SHA256 = 0x34CC; - static final public int TRAILER_SHA512 = 0x35CC; - static final public int TRAILER_SHA384 = 0x36CC; - static final public int TRAILER_WHIRLPOOL = 0x37CC; - - private static Hashtable trailerMap = new Hashtable(); - - static - { - trailerMap.put("RIPEMD128", Integers.valueOf(TRAILER_RIPEMD128)); - trailerMap.put("RIPEMD160", Integers.valueOf(TRAILER_RIPEMD160)); - - trailerMap.put("SHA-1", Integers.valueOf(TRAILER_SHA1)); - trailerMap.put("SHA-256", Integers.valueOf(TRAILER_SHA256)); - trailerMap.put("SHA-384", Integers.valueOf(TRAILER_SHA384)); - trailerMap.put("SHA-512", Integers.valueOf(TRAILER_SHA512)); - - trailerMap.put("Whirlpool", Integers.valueOf(TRAILER_WHIRLPOOL)); - } - - private Digest digest; - private AsymmetricBlockCipher cipher; - - private SecureRandom random; - private byte[] standardSalt; - - private int hLen; - private int trailer; - private int keyBits; - private byte[] block; - private byte[] mBuf; - private int messageLength; - private int saltLength; - private boolean fullMessage; - private byte[] recoveredMessage; - - private byte[] preSig; - private byte[] preBlock; - private int preMStart; - private int preTLength; - - /** - * Generate a signer for the with either implicit or explicit trailers - * for ISO9796-2, scheme 2 or 3. - * - * @param cipher base cipher to use for signature creation/verification - * @param digest digest to use. - * @param saltLength length of salt in bytes. - * @param implicit whether or not the trailer is implicit or gives the hash. - */ - public ISO9796d2PSSSigner( - AsymmetricBlockCipher cipher, - Digest digest, - int saltLength, - boolean implicit) - { - this.cipher = cipher; - this.digest = digest; - this.hLen = digest.getDigestSize(); - this.saltLength = saltLength; - - if (implicit) - { - trailer = TRAILER_IMPLICIT; - } - else - { - Integer trailerObj = (Integer)trailerMap.get(digest.getAlgorithmName()); - - if (trailerObj != null) - { - trailer = trailerObj.intValue(); - } - else - { - throw new IllegalArgumentException("no valid trailer for digest"); - } - } - } - - /** - * Constructor for a signer with an explicit digest trailer. - * - * @param cipher cipher to use. - * @param digest digest to sign with. - * @param saltLength length of salt in bytes. - */ - public ISO9796d2PSSSigner( - AsymmetricBlockCipher cipher, - Digest digest, - int saltLength) - { - this(cipher, digest, saltLength, false); - } - - /** - * Initialise the signer. - * - * @param forSigning true if for signing, false if for verification. - * @param param parameters for signature generation/verification. If the - * parameters are for generation they should be a ParametersWithRandom, - * a ParametersWithSalt, or just an RSAKeyParameters object. If RSAKeyParameters - * are passed in a SecureRandom will be created. - * @throws IllegalArgumentException if wrong parameter type or a fixed - * salt is passed in which is the wrong length. - */ - public void init( - boolean forSigning, - CipherParameters param) - { - RSAKeyParameters kParam; - int lengthOfSalt = saltLength; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - kParam = (RSAKeyParameters)p.getParameters(); - if (forSigning) - { - random = p.getRandom(); - } - } - else if (param instanceof ParametersWithSalt) - { - ParametersWithSalt p = (ParametersWithSalt)param; - - kParam = (RSAKeyParameters)p.getParameters(); - standardSalt = p.getSalt(); - lengthOfSalt = standardSalt.length; - if (standardSalt.length != saltLength) - { - throw new IllegalArgumentException("Fixed salt is of wrong length"); - } - } - else - { - kParam = (RSAKeyParameters)param; - if (forSigning) - { - random = new SecureRandom(); - } - } - - cipher.init(forSigning, kParam); - - keyBits = kParam.getModulus().bitLength(); - - block = new byte[(keyBits + 7) / 8]; - - if (trailer == TRAILER_IMPLICIT) - { - mBuf = new byte[block.length - digest.getDigestSize() - lengthOfSalt - 1 - 1]; - } - else - { - mBuf = new byte[block.length - digest.getDigestSize() - lengthOfSalt - 1 - 2]; - } - - reset(); - } - - /** - * compare two byte arrays - constant time - */ - private boolean isSameAs( - byte[] a, - byte[] b) - { - boolean isOkay = true; - - if (messageLength != b.length) - { - isOkay = false; - } - - for (int i = 0; i != b.length; i++) - { - if (a[i] != b[i]) - { - isOkay = false; - } - } - - return isOkay; - } - - /** - * clear possible sensitive data - */ - private void clearBlock( - byte[] block) - { - for (int i = 0; i != block.length; i++) - { - block[i] = 0; - } - } - - public void updateWithRecoveredMessage(byte[] signature) - throws InvalidCipherTextException - { - byte[] block = cipher.processBlock(signature, 0, signature.length); - - // - // adjust block size for leading zeroes if necessary - // - if (block.length < (keyBits + 7) / 8) - { - byte[] tmp = new byte[(keyBits + 7) / 8]; - - System.arraycopy(block, 0, tmp, tmp.length - block.length, block.length); - clearBlock(block); - block = tmp; - } - - int tLength; - - if (((block[block.length - 1] & 0xFF) ^ 0xBC) == 0) - { - tLength = 1; - } - else - { - int sigTrail = ((block[block.length - 2] & 0xFF) << 8) | (block[block.length - 1] & 0xFF); - - Integer trailerObj = (Integer)trailerMap.get(digest.getAlgorithmName()); - - if (trailerObj != null) - { - if (sigTrail != trailerObj.intValue()) - { - throw new IllegalStateException("signer initialised with wrong digest for trailer " + sigTrail); - } - } - else - { - throw new IllegalArgumentException("unrecognised hash in signature"); - } - - tLength = 2; - } - - // - // calculate H(m2) - // - byte[] m2Hash = new byte[hLen]; - digest.doFinal(m2Hash, 0); - - // - // remove the mask - // - byte[] dbMask = maskGeneratorFunction1(block, block.length - hLen - tLength, hLen, block.length - hLen - tLength); - for (int i = 0; i != dbMask.length; i++) - { - block[i] ^= dbMask[i]; - } - - block[0] &= 0x7f; - - // - // find out how much padding we've got - // - int mStart = 0; - for (; mStart != block.length; mStart++) - { - if (block[mStart] == 0x01) - { - break; - } - } - - mStart++; - - if (mStart >= block.length) - { - clearBlock(block); - } - - fullMessage = (mStart > 1); - - recoveredMessage = new byte[dbMask.length - mStart - saltLength]; - - System.arraycopy(block, mStart, recoveredMessage, 0, recoveredMessage.length); - System.arraycopy(recoveredMessage, 0, mBuf, 0, recoveredMessage.length); - - preSig = signature; - preBlock = block; - preMStart = mStart; - preTLength = tLength; - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte b) - { - if (preSig == null && messageLength < mBuf.length) - { - mBuf[messageLength++] = b; - } - else - { - digest.update(b); - } - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] in, - int off, - int len) - { - if (preSig == null) - { - while (len > 0 && messageLength < mBuf.length) - { - this.update(in[off]); - off++; - len--; - } - } - - if (len > 0) - { - digest.update(in, off, len); - } - } - - /** - * reset the internal state - */ - public void reset() - { - digest.reset(); - messageLength = 0; - if (mBuf != null) - { - clearBlock(mBuf); - } - if (recoveredMessage != null) - { - clearBlock(recoveredMessage); - recoveredMessage = null; - } - fullMessage = false; - if (preSig != null) - { - preSig = null; - clearBlock(preBlock); - preBlock = null; - } - } - - /** - * generate a signature for the loaded message using the key we were - * initialised with. - */ - public byte[] generateSignature() - throws CryptoException - { - int digSize = digest.getDigestSize(); - - byte[] m2Hash = new byte[digSize]; - - digest.doFinal(m2Hash, 0); - - byte[] C = new byte[8]; - LtoOSP(messageLength * 8, C); - - digest.update(C, 0, C.length); - - digest.update(mBuf, 0, messageLength); - - digest.update(m2Hash, 0, m2Hash.length); - - byte[] salt; - - if (standardSalt != null) - { - salt = standardSalt; - } - else - { - salt = new byte[saltLength]; - random.nextBytes(salt); - } - - digest.update(salt, 0, salt.length); - - byte[] hash = new byte[digest.getDigestSize()]; - - digest.doFinal(hash, 0); - - int tLength = 2; - if (trailer == TRAILER_IMPLICIT) - { - tLength = 1; - } - - int off = block.length - messageLength - salt.length - hLen - tLength - 1; - - block[off] = 0x01; - - System.arraycopy(mBuf, 0, block, off + 1, messageLength); - System.arraycopy(salt, 0, block, off + 1 + messageLength, salt.length); - - byte[] dbMask = maskGeneratorFunction1(hash, 0, hash.length, block.length - hLen - tLength); - for (int i = 0; i != dbMask.length; i++) - { - block[i] ^= dbMask[i]; - } - - System.arraycopy(hash, 0, block, block.length - hLen - tLength, hLen); - - if (trailer == TRAILER_IMPLICIT) - { - block[block.length - 1] = (byte)TRAILER_IMPLICIT; - } - else - { - block[block.length - 2] = (byte)(trailer >>> 8); - block[block.length - 1] = (byte)trailer; - } - - block[0] &= 0x7f; - - byte[] b = cipher.processBlock(block, 0, block.length); - - clearBlock(mBuf); - clearBlock(block); - messageLength = 0; - - return b; - } - - /** - * return true if the signature represents a ISO9796-2 signature - * for the passed in message. - */ - public boolean verifySignature( - byte[] signature) - { - // - // calculate H(m2) - // - byte[] m2Hash = new byte[hLen]; - digest.doFinal(m2Hash, 0); - - byte[] block; - int tLength; - int mStart = 0; - - if (preSig == null) - { - try - { - updateWithRecoveredMessage(signature); - } - catch (Exception e) - { - return false; - } - } - else - { - if (!Arrays.areEqual(preSig, signature)) - { - throw new IllegalStateException("updateWithRecoveredMessage called on different signature"); - } - } - - block = preBlock; - mStart = preMStart; - tLength = preTLength; - - preSig = null; - preBlock = null; - - // - // check the hashes - // - byte[] C = new byte[8]; - LtoOSP(recoveredMessage.length * 8, C); - - digest.update(C, 0, C.length); - - if (recoveredMessage.length != 0) - { - digest.update(recoveredMessage, 0, recoveredMessage.length); - } - - digest.update(m2Hash, 0, m2Hash.length); - - // Update for the salt - digest.update(block, mStart + recoveredMessage.length, saltLength); - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - int off = block.length - tLength - hash.length; - - boolean isOkay = true; - - for (int i = 0; i != hash.length; i++) - { - if (hash[i] != block[off + i]) - { - isOkay = false; - } - } - - clearBlock(block); - clearBlock(hash); - - if (!isOkay) - { - fullMessage = false; - clearBlock(recoveredMessage); - return false; - } - - // - // if they've input a message check what we've recovered against - // what was input. - // - if (messageLength != 0) - { - if (!isSameAs(mBuf, recoveredMessage)) - { - clearBlock(mBuf); - return false; - } - messageLength = 0; - } - - clearBlock(mBuf); - return true; - } - - /** - * Return true if the full message was recoveredMessage. - * - * @return true on full message recovery, false otherwise, or if not sure. - * @see org.spongycastle.crypto.SignerWithRecovery#hasFullMessage() - */ - public boolean hasFullMessage() - { - return fullMessage; - } - - /** - * Return a reference to the recoveredMessage message. - * - * @return the full/partial recoveredMessage message. - * @see org.spongycastle.crypto.SignerWithRecovery#getRecoveredMessage() - */ - public byte[] getRecoveredMessage() - { - return recoveredMessage; - } - - /** - * int to octet string. - */ - private void ItoOSP( - int i, - byte[] sp) - { - sp[0] = (byte)(i >>> 24); - sp[1] = (byte)(i >>> 16); - sp[2] = (byte)(i >>> 8); - sp[3] = (byte)(i >>> 0); - } - - /** - * long to octet string. - */ - private void LtoOSP( - long l, - byte[] sp) - { - sp[0] = (byte)(l >>> 56); - sp[1] = (byte)(l >>> 48); - sp[2] = (byte)(l >>> 40); - sp[3] = (byte)(l >>> 32); - sp[4] = (byte)(l >>> 24); - sp[5] = (byte)(l >>> 16); - sp[6] = (byte)(l >>> 8); - sp[7] = (byte)(l >>> 0); - } - - /** - * mask generator function, as described in PKCS1v2. - */ - private byte[] maskGeneratorFunction1( - byte[] Z, - int zOff, - int zLen, - int length) - { - byte[] mask = new byte[length]; - byte[] hashBuf = new byte[hLen]; - byte[] C = new byte[4]; - int counter = 0; - - digest.reset(); - - while (counter < (length / hLen)) - { - ItoOSP(counter, C); - - digest.update(Z, zOff, zLen); - digest.update(C, 0, C.length); - digest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * hLen, hLen); - - counter++; - } - - if ((counter * hLen) < length) - { - ItoOSP(counter, C); - - digest.update(Z, zOff, zLen); - digest.update(C, 0, C.length); - digest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * hLen, mask.length - (counter * hLen)); - } - - return mask; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2Signer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2Signer.java deleted file mode 100644 index 7047d1ee8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/ISO9796d2Signer.java +++ /dev/null @@ -1,618 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.util.Hashtable; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.SignerWithRecovery; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; - -/** - * ISO9796-2 - mechanism using a hash function with recovery (scheme 1) - */ -public class ISO9796d2Signer - implements SignerWithRecovery -{ - static final public int TRAILER_IMPLICIT = 0xBC; - static final public int TRAILER_RIPEMD160 = 0x31CC; - static final public int TRAILER_RIPEMD128 = 0x32CC; - static final public int TRAILER_SHA1 = 0x33CC; - static final public int TRAILER_SHA256 = 0x34CC; - static final public int TRAILER_SHA512 = 0x35CC; - static final public int TRAILER_SHA384 = 0x36CC; - static final public int TRAILER_WHIRLPOOL = 0x37CC; - - private static Hashtable trailerMap = new Hashtable(); - - static - { - trailerMap.put("RIPEMD128", Integers.valueOf(TRAILER_RIPEMD128)); - trailerMap.put("RIPEMD160", Integers.valueOf(TRAILER_RIPEMD160)); - - trailerMap.put("SHA-1", Integers.valueOf(TRAILER_SHA1)); - trailerMap.put("SHA-256", Integers.valueOf(TRAILER_SHA256)); - trailerMap.put("SHA-384", Integers.valueOf(TRAILER_SHA384)); - trailerMap.put("SHA-512", Integers.valueOf(TRAILER_SHA512)); - - trailerMap.put("Whirlpool", Integers.valueOf(TRAILER_WHIRLPOOL)); - } - - private Digest digest; - private AsymmetricBlockCipher cipher; - - private int trailer; - private int keyBits; - private byte[] block; - private byte[] mBuf; - private int messageLength; - private boolean fullMessage; - private byte[] recoveredMessage; - - private byte[] preSig; - private byte[] preBlock; - - /** - * Generate a signer for the with either implicit or explicit trailers - * for ISO9796-2. - * - * @param cipher base cipher to use for signature creation/verification - * @param digest digest to use. - * @param implicit whether or not the trailer is implicit or gives the hash. - */ - public ISO9796d2Signer( - AsymmetricBlockCipher cipher, - Digest digest, - boolean implicit) - { - this.cipher = cipher; - this.digest = digest; - - if (implicit) - { - trailer = TRAILER_IMPLICIT; - } - else - { - Integer trailerObj = (Integer)trailerMap.get(digest.getAlgorithmName()); - - if (trailerObj != null) - { - trailer = trailerObj.intValue(); - } - else - { - throw new IllegalArgumentException("no valid trailer for digest"); - } - } - } - - /** - * Constructor for a signer with an explicit digest trailer. - * - * @param cipher cipher to use. - * @param digest digest to sign with. - */ - public ISO9796d2Signer( - AsymmetricBlockCipher cipher, - Digest digest) - { - this(cipher, digest, false); - } - - public void init( - boolean forSigning, - CipherParameters param) - { - RSAKeyParameters kParam = (RSAKeyParameters)param; - - cipher.init(forSigning, kParam); - - keyBits = kParam.getModulus().bitLength(); - - block = new byte[(keyBits + 7) / 8]; - - if (trailer == TRAILER_IMPLICIT) - { - mBuf = new byte[block.length - digest.getDigestSize() - 2]; - } - else - { - mBuf = new byte[block.length - digest.getDigestSize() - 3]; - } - - reset(); - } - - /** - * compare two byte arrays - constant time - */ - private boolean isSameAs( - byte[] a, - byte[] b) - { - boolean isOkay = true; - - if (messageLength > mBuf.length) - { - if (mBuf.length > b.length) - { - isOkay = false; - } - - for (int i = 0; i != mBuf.length; i++) - { - if (a[i] != b[i]) - { - isOkay = false; - } - } - } - else - { - if (messageLength != b.length) - { - isOkay = false; - } - - for (int i = 0; i != b.length; i++) - { - if (a[i] != b[i]) - { - isOkay = false; - } - } - } - - return isOkay; - } - - /** - * clear possible sensitive data - */ - private void clearBlock( - byte[] block) - { - for (int i = 0; i != block.length; i++) - { - block[i] = 0; - } - } - - public void updateWithRecoveredMessage(byte[] signature) - throws InvalidCipherTextException - { - byte[] block = cipher.processBlock(signature, 0, signature.length); - - if (((block[0] & 0xC0) ^ 0x40) != 0) - { - throw new InvalidCipherTextException("malformed signature"); - } - - if (((block[block.length - 1] & 0xF) ^ 0xC) != 0) - { - throw new InvalidCipherTextException("malformed signature"); - } - - int delta = 0; - - if (((block[block.length - 1] & 0xFF) ^ 0xBC) == 0) - { - delta = 1; - } - else - { - int sigTrail = ((block[block.length - 2] & 0xFF) << 8) | (block[block.length - 1] & 0xFF); - Integer trailerObj = (Integer)trailerMap.get(digest.getAlgorithmName()); - - if (trailerObj != null) - { - if (sigTrail != trailerObj.intValue()) - { - throw new IllegalStateException("signer initialised with wrong digest for trailer " + sigTrail); - } - } - else - { - throw new IllegalArgumentException("unrecognised hash in signature"); - } - - delta = 2; - } - - // - // find out how much padding we've got - // - int mStart = 0; - - for (mStart = 0; mStart != block.length; mStart++) - { - if (((block[mStart] & 0x0f) ^ 0x0a) == 0) - { - break; - } - } - - mStart++; - - int off = block.length - delta - digest.getDigestSize(); - - // - // there must be at least one byte of message string - // - if ((off - mStart) <= 0) - { - throw new InvalidCipherTextException("malformed block"); - } - - // - // if we contain the whole message as well, check the hash of that. - // - if ((block[0] & 0x20) == 0) - { - fullMessage = true; - - recoveredMessage = new byte[off - mStart]; - System.arraycopy(block, mStart, recoveredMessage, 0, recoveredMessage.length); - } - else - { - fullMessage = false; - - recoveredMessage = new byte[off - mStart]; - System.arraycopy(block, mStart, recoveredMessage, 0, recoveredMessage.length); - } - - preSig = signature; - preBlock = block; - - digest.update(recoveredMessage, 0, recoveredMessage.length); - messageLength = recoveredMessage.length; - System.arraycopy(recoveredMessage, 0, mBuf, 0, recoveredMessage.length); - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte b) - { - digest.update(b); - - if (messageLength < mBuf.length) - { - mBuf[messageLength] = b; - } - - messageLength++; - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] in, - int off, - int len) - { - while (len > 0 && messageLength < mBuf.length) - { - this.update(in[off]); - off++; - len--; - } - - digest.update(in, off, len); - messageLength += len; - } - - /** - * reset the internal state - */ - public void reset() - { - digest.reset(); - messageLength = 0; - clearBlock(mBuf); - - if (recoveredMessage != null) - { - clearBlock(recoveredMessage); - } - - recoveredMessage = null; - fullMessage = false; - - if (preSig != null) - { - preSig = null; - clearBlock(preBlock); - preBlock = null; - } - } - - /** - * generate a signature for the loaded message using the key we were - * initialised with. - */ - public byte[] generateSignature() - throws CryptoException - { - int digSize = digest.getDigestSize(); - - int t = 0; - int delta = 0; - - if (trailer == TRAILER_IMPLICIT) - { - t = 8; - delta = block.length - digSize - 1; - digest.doFinal(block, delta); - block[block.length - 1] = (byte)TRAILER_IMPLICIT; - } - else - { - t = 16; - delta = block.length - digSize - 2; - digest.doFinal(block, delta); - block[block.length - 2] = (byte)(trailer >>> 8); - block[block.length - 1] = (byte)trailer; - } - - byte header = 0; - int x = (digSize + messageLength) * 8 + t + 4 - keyBits; - - if (x > 0) - { - int mR = messageLength - ((x + 7) / 8); - header = 0x60; - - delta -= mR; - - System.arraycopy(mBuf, 0, block, delta, mR); - } - else - { - header = 0x40; - delta -= messageLength; - - System.arraycopy(mBuf, 0, block, delta, messageLength); - } - - if ((delta - 1) > 0) - { - for (int i = delta - 1; i != 0; i--) - { - block[i] = (byte)0xbb; - } - block[delta - 1] ^= (byte)0x01; - block[0] = (byte)0x0b; - block[0] |= header; - } - else - { - block[0] = (byte)0x0a; - block[0] |= header; - } - - byte[] b = cipher.processBlock(block, 0, block.length); - - clearBlock(mBuf); - clearBlock(block); - - return b; - } - - /** - * return true if the signature represents a ISO9796-2 signature - * for the passed in message. - */ - public boolean verifySignature( - byte[] signature) - { - byte[] block = null; - - if (preSig == null) - { - try - { - block = cipher.processBlock(signature, 0, signature.length); - } - catch (Exception e) - { - return false; - } - } - else - { - if (!Arrays.areEqual(preSig, signature)) - { - throw new IllegalStateException("updateWithRecoveredMessage called on different signature"); - } - - block = preBlock; - - preSig = null; - preBlock = null; - } - - if (((block[0] & 0xC0) ^ 0x40) != 0) - { - return returnFalse(block); - } - - if (((block[block.length - 1] & 0xF) ^ 0xC) != 0) - { - return returnFalse(block); - } - - int delta = 0; - - if (((block[block.length - 1] & 0xFF) ^ 0xBC) == 0) - { - delta = 1; - } - else - { - int sigTrail = ((block[block.length - 2] & 0xFF) << 8) | (block[block.length - 1] & 0xFF); - Integer trailerObj = (Integer)trailerMap.get(digest.getAlgorithmName()); - - if (trailerObj != null) - { - if (sigTrail != trailerObj.intValue()) - { - throw new IllegalStateException("signer initialised with wrong digest for trailer " + sigTrail); - } - } - else - { - throw new IllegalArgumentException("unrecognised hash in signature"); - } - - delta = 2; - } - - // - // find out how much padding we've got - // - int mStart = 0; - - for (mStart = 0; mStart != block.length; mStart++) - { - if (((block[mStart] & 0x0f) ^ 0x0a) == 0) - { - break; - } - } - - mStart++; - - // - // check the hashes - // - byte[] hash = new byte[digest.getDigestSize()]; - - int off = block.length - delta - hash.length; - - // - // there must be at least one byte of message string - // - if ((off - mStart) <= 0) - { - return returnFalse(block); - } - - // - // if we contain the whole message as well, check the hash of that. - // - if ((block[0] & 0x20) == 0) - { - fullMessage = true; - - // check right number of bytes passed in. - if (messageLength > off - mStart) - { - return returnFalse(block); - } - - digest.reset(); - digest.update(block, mStart, off - mStart); - digest.doFinal(hash, 0); - - boolean isOkay = true; - - for (int i = 0; i != hash.length; i++) - { - block[off + i] ^= hash[i]; - if (block[off + i] != 0) - { - isOkay = false; - } - } - - if (!isOkay) - { - return returnFalse(block); - } - - recoveredMessage = new byte[off - mStart]; - System.arraycopy(block, mStart, recoveredMessage, 0, recoveredMessage.length); - } - else - { - fullMessage = false; - - digest.doFinal(hash, 0); - - boolean isOkay = true; - - for (int i = 0; i != hash.length; i++) - { - block[off + i] ^= hash[i]; - if (block[off + i] != 0) - { - isOkay = false; - } - } - - if (!isOkay) - { - return returnFalse(block); - } - - recoveredMessage = new byte[off - mStart]; - System.arraycopy(block, mStart, recoveredMessage, 0, recoveredMessage.length); - } - - // - // if they've input a message check what we've recovered against - // what was input. - // - if (messageLength != 0) - { - if (!isSameAs(mBuf, recoveredMessage)) - { - return returnFalse(block); - } - } - - clearBlock(mBuf); - clearBlock(block); - - return true; - } - - private boolean returnFalse(byte[] block) - { - clearBlock(mBuf); - clearBlock(block); - - return false; - } - - /** - * Return true if the full message was recoveredMessage. - * - * @return true on full message recovery, false otherwise. - * @see org.spongycastle.crypto.SignerWithRecovery#hasFullMessage() - */ - public boolean hasFullMessage() - { - return fullMessage; - } - - /** - * Return a reference to the recoveredMessage message. - * - * @return the full/partial recoveredMessage message. - * @see org.spongycastle.crypto.SignerWithRecovery#getRecoveredMessage() - */ - public byte[] getRecoveredMessage() - { - return recoveredMessage; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/PSSSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/PSSSigner.java deleted file mode 100644 index 3fb8bf50b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/PSSSigner.java +++ /dev/null @@ -1,348 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSABlindingParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; - -/** - * RSA-PSS as described in PKCS# 1 v 2.1. - *

    - * Note: the usual value for the salt length is the number of - * bytes in the hash function. - */ -public class PSSSigner - implements Signer -{ - static final public byte TRAILER_IMPLICIT = (byte)0xBC; - - private Digest contentDigest; - private Digest mgfDigest; - private AsymmetricBlockCipher cipher; - private SecureRandom random; - - private int hLen; - private int mgfhLen; - private int sLen; - private int emBits; - private byte[] salt; - private byte[] mDash; - private byte[] block; - private byte trailer; - - /** - * basic constructor - * - * @param cipher the asymmetric cipher to use. - * @param digest the digest to use. - * @param sLen the length of the salt to use (in bytes). - */ - public PSSSigner( - AsymmetricBlockCipher cipher, - Digest digest, - int sLen) - { - this(cipher, digest, sLen, TRAILER_IMPLICIT); - } - - public PSSSigner( - AsymmetricBlockCipher cipher, - Digest contentDigest, - Digest mgfDigest, - int sLen) - { - this(cipher, contentDigest, mgfDigest, sLen, TRAILER_IMPLICIT); - } - - public PSSSigner( - AsymmetricBlockCipher cipher, - Digest digest, - int sLen, - byte trailer) - { - this(cipher, digest, digest, sLen, trailer); - } - - public PSSSigner( - AsymmetricBlockCipher cipher, - Digest contentDigest, - Digest mgfDigest, - int sLen, - byte trailer) - { - this.cipher = cipher; - this.contentDigest = contentDigest; - this.mgfDigest = mgfDigest; - this.hLen = contentDigest.getDigestSize(); - this.mgfhLen = mgfDigest.getDigestSize(); - this.sLen = sLen; - this.salt = new byte[sLen]; - this.mDash = new byte[8 + sLen + hLen]; - this.trailer = trailer; - } - - public void init( - boolean forSigning, - CipherParameters param) - { - CipherParameters params; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)param; - - params = p.getParameters(); - random = p.getRandom(); - } - else - { - params = param; - if (forSigning) - { - random = new SecureRandom(); - } - } - - cipher.init(forSigning, params); - - RSAKeyParameters kParam; - - if (params instanceof RSABlindingParameters) - { - kParam = ((RSABlindingParameters)params).getPublicKey(); - } - else - { - kParam = (RSAKeyParameters)params; - } - - emBits = kParam.getModulus().bitLength() - 1; - - if (emBits < (8 * hLen + 8 * sLen + 9)) - { - throw new IllegalArgumentException("key too small for specified hash and salt lengths"); - } - - block = new byte[(emBits + 7) / 8]; - - reset(); - } - - /** - * clear possible sensitive data - */ - private void clearBlock( - byte[] block) - { - for (int i = 0; i != block.length; i++) - { - block[i] = 0; - } - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte b) - { - contentDigest.update(b); - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] in, - int off, - int len) - { - contentDigest.update(in, off, len); - } - - /** - * reset the internal state - */ - public void reset() - { - contentDigest.reset(); - } - - /** - * generate a signature for the message we've been loaded with using - * the key we were initialised with. - */ - public byte[] generateSignature() - throws CryptoException, DataLengthException - { - contentDigest.doFinal(mDash, mDash.length - hLen - sLen); - - if (sLen != 0) - { - random.nextBytes(salt); - - System.arraycopy(salt, 0, mDash, mDash.length - sLen, sLen); - } - - byte[] h = new byte[hLen]; - - contentDigest.update(mDash, 0, mDash.length); - - contentDigest.doFinal(h, 0); - - block[block.length - sLen - 1 - hLen - 1] = 0x01; - System.arraycopy(salt, 0, block, block.length - sLen - hLen - 1, sLen); - - byte[] dbMask = maskGeneratorFunction1(h, 0, h.length, block.length - hLen - 1); - for (int i = 0; i != dbMask.length; i++) - { - block[i] ^= dbMask[i]; - } - - block[0] &= (0xff >> ((block.length * 8) - emBits)); - - System.arraycopy(h, 0, block, block.length - hLen - 1, hLen); - - block[block.length - 1] = trailer; - - byte[] b = cipher.processBlock(block, 0, block.length); - - clearBlock(block); - - return b; - } - - /** - * return true if the internal state represents the signature described - * in the passed in array. - */ - public boolean verifySignature( - byte[] signature) - { - contentDigest.doFinal(mDash, mDash.length - hLen - sLen); - - try - { - byte[] b = cipher.processBlock(signature, 0, signature.length); - System.arraycopy(b, 0, block, block.length - b.length, b.length); - } - catch (Exception e) - { - return false; - } - - if (block[block.length - 1] != trailer) - { - clearBlock(block); - return false; - } - - byte[] dbMask = maskGeneratorFunction1(block, block.length - hLen - 1, hLen, block.length - hLen - 1); - - for (int i = 0; i != dbMask.length; i++) - { - block[i] ^= dbMask[i]; - } - - block[0] &= (0xff >> ((block.length * 8) - emBits)); - - for (int i = 0; i != block.length - hLen - sLen - 2; i++) - { - if (block[i] != 0) - { - clearBlock(block); - return false; - } - } - - if (block[block.length - hLen - sLen - 2] != 0x01) - { - clearBlock(block); - return false; - } - - System.arraycopy(block, block.length - sLen - hLen - 1, mDash, mDash.length - sLen, sLen); - - contentDigest.update(mDash, 0, mDash.length); - contentDigest.doFinal(mDash, mDash.length - hLen); - - for (int i = block.length - hLen - 1, j = mDash.length - hLen; - j != mDash.length; i++, j++) - { - if ((block[i] ^ mDash[j]) != 0) - { - clearBlock(mDash); - clearBlock(block); - return false; - } - } - - clearBlock(mDash); - clearBlock(block); - - return true; - } - - /** - * int to octet string. - */ - private void ItoOSP( - int i, - byte[] sp) - { - sp[0] = (byte)(i >>> 24); - sp[1] = (byte)(i >>> 16); - sp[2] = (byte)(i >>> 8); - sp[3] = (byte)(i >>> 0); - } - - /** - * mask generator function, as described in PKCS1v2. - */ - private byte[] maskGeneratorFunction1( - byte[] Z, - int zOff, - int zLen, - int length) - { - byte[] mask = new byte[length]; - byte[] hashBuf = new byte[mgfhLen]; - byte[] C = new byte[4]; - int counter = 0; - - mgfDigest.reset(); - - while (counter < (length / mgfhLen)) - { - ItoOSP(counter, C); - - mgfDigest.update(Z, zOff, zLen); - mgfDigest.update(C, 0, C.length); - mgfDigest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * mgfhLen, mgfhLen); - - counter++; - } - - if ((counter * mgfhLen) < length) - { - ItoOSP(counter, C); - - mgfDigest.update(Z, zOff, zLen); - mgfDigest.update(C, 0, C.length); - mgfDigest.doFinal(hashBuf, 0); - - System.arraycopy(hashBuf, 0, mask, counter * mgfhLen, mask.length - (counter * mgfhLen)); - } - - return mask; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RSADigestSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RSADigestSigner.java deleted file mode 100644 index 494b72f7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RSADigestSigner.java +++ /dev/null @@ -1,238 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.teletrust.TeleTrusTObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -public class RSADigestSigner - implements Signer -{ - private final AsymmetricBlockCipher rsaEngine = new PKCS1Encoding(new RSABlindedEngine()); - private final AlgorithmIdentifier algId; - private final Digest digest; - private boolean forSigning; - - private static final Hashtable oidMap = new Hashtable(); - - /* - * Load OID table. - */ - static - { - oidMap.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128); - oidMap.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160); - oidMap.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256); - - oidMap.put("SHA-1", X509ObjectIdentifiers.id_SHA1); - oidMap.put("SHA-224", NISTObjectIdentifiers.id_sha224); - oidMap.put("SHA-256", NISTObjectIdentifiers.id_sha256); - oidMap.put("SHA-384", NISTObjectIdentifiers.id_sha384); - oidMap.put("SHA-512", NISTObjectIdentifiers.id_sha512); - - oidMap.put("MD2", PKCSObjectIdentifiers.md2); - oidMap.put("MD4", PKCSObjectIdentifiers.md4); - oidMap.put("MD5", PKCSObjectIdentifiers.md5); - } - - public RSADigestSigner( - Digest digest) - { - this(digest, (ASN1ObjectIdentifier)oidMap.get(digest.getAlgorithmName())); - } - - public RSADigestSigner( - Digest digest, - ASN1ObjectIdentifier digestOid) - { - this.digest = digest; - this.algId = new AlgorithmIdentifier(digestOid, DERNull.INSTANCE); - } - - /** - * @deprecated - */ - public String getAlgorithmName() - { - return digest.getAlgorithmName() + "withRSA"; - } - - /** - * initialise the signer for signing or verification. - * - * @param forSigning - * true if for signing, false otherwise - * @param parameters - * necessary parameters. - */ - public void init( - boolean forSigning, - CipherParameters parameters) - { - this.forSigning = forSigning; - AsymmetricKeyParameter k; - - if (parameters instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)parameters; - } - - if (forSigning && !k.isPrivate()) - { - throw new IllegalArgumentException("signing requires private key"); - } - - if (!forSigning && k.isPrivate()) - { - throw new IllegalArgumentException("verification requires public key"); - } - - reset(); - - rsaEngine.init(forSigning, parameters); - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte input) - { - digest.update(input); - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] input, - int inOff, - int length) - { - digest.update(input, inOff, length); - } - - /** - * Generate a signature for the message we've been loaded with using the key - * we were initialised with. - */ - public byte[] generateSignature() - throws CryptoException, DataLengthException - { - if (!forSigning) - { - throw new IllegalStateException("RSADigestSigner not initialised for signature generation."); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - try - { - byte[] data = derEncode(hash); - return rsaEngine.processBlock(data, 0, data.length); - } - catch (IOException e) - { - throw new CryptoException("unable to encode signature: " + e.getMessage(), e); - } - } - - /** - * return true if the internal state represents the signature described in - * the passed in array. - */ - public boolean verifySignature( - byte[] signature) - { - if (forSigning) - { - throw new IllegalStateException("RSADigestSigner not initialised for verification"); - } - - byte[] hash = new byte[digest.getDigestSize()]; - - digest.doFinal(hash, 0); - - byte[] sig; - byte[] expected; - - try - { - sig = rsaEngine.processBlock(signature, 0, signature.length); - expected = derEncode(hash); - } - catch (Exception e) - { - return false; - } - - if (sig.length == expected.length) - { - return Arrays.constantTimeAreEqual(sig, expected); - } - else if (sig.length == expected.length - 2) // NULL left out - { - int sigOffset = sig.length - hash.length - 2; - int expectedOffset = expected.length - hash.length - 2; - - expected[1] -= 2; // adjust lengths - expected[3] -= 2; - - int nonEqual = 0; - - for (int i = 0; i < hash.length; i++) - { - nonEqual |= (sig[sigOffset + i] ^ expected[expectedOffset + i]); - } - - for (int i = 0; i < sigOffset; i++) - { - nonEqual |= (sig[i] ^ expected[i]); // check header less NULL - } - - return nonEqual == 0; - } - else - { - return false; - } - } - - public void reset() - { - digest.reset(); - } - - private byte[] derEncode( - byte[] hash) - throws IOException - { - DigestInfo dInfo = new DigestInfo(algId, hash); - - return dInfo.getEncoded(ASN1Encoding.DER); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RandomDSAKCalculator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RandomDSAKCalculator.java deleted file mode 100644 index fb8e3ae71..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/signers/RandomDSAKCalculator.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.math.BigInteger; -import java.security.SecureRandom; - -class RandomDSAKCalculator - implements DSAKCalculator -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private BigInteger q; - private SecureRandom random; - - public boolean isDeterministic() - { - return false; - } - - public void init(BigInteger n, SecureRandom random) - { - this.q = n; - this.random = random; - } - - public void init(BigInteger n, BigInteger d, byte[] message) - { - throw new IllegalStateException("Operation not supported"); - } - - public BigInteger nextK() - { - int qBitLength = q.bitLength(); - - BigInteger k; - do - { - k = new BigInteger(qBitLength, random); - } - while (k.equals(ZERO) || k.compareTo(q) >= 0); - - return k; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsAgreementCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsAgreementCredentials.java deleted file mode 100644 index 188dfafe4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsAgreementCredentials.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.crypto.tls; - -public abstract class AbstractTlsAgreementCredentials - extends AbstractTlsCredentials - implements TlsAgreementCredentials -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCipherFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCipherFactory.java deleted file mode 100644 index 755c7b7eb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCipherFactory.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public class AbstractTlsCipherFactory - implements TlsCipherFactory -{ - public TlsCipher createCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm) - throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsClient.java deleted file mode 100644 index 81c399ffe..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsClient.java +++ /dev/null @@ -1,235 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -public abstract class AbstractTlsClient - extends AbstractTlsPeer - implements TlsClient -{ - protected TlsCipherFactory cipherFactory; - - protected TlsClientContext context; - - protected Vector supportedSignatureAlgorithms; - protected int[] namedCurves; - protected short[] clientECPointFormats, serverECPointFormats; - - protected int selectedCipherSuite; - protected short selectedCompressionMethod; - - public AbstractTlsClient() - { - this(new DefaultTlsCipherFactory()); - } - - public AbstractTlsClient(TlsCipherFactory cipherFactory) - { - this.cipherFactory = cipherFactory; - } - - public void init(TlsClientContext context) - { - this.context = context; - } - - public TlsSession getSessionToResume() - { - return null; - } - - /** - * RFC 5246 E.1. "TLS clients that wish to negotiate with older servers MAY send any value - * {03,XX} as the record layer version number. Typical values would be {03,00}, the lowest - * version number supported by the client, and the value of ClientHello.client_version. No - * single value will guarantee interoperability with all old servers, but this is a complex - * topic beyond the scope of this document." - */ - public ProtocolVersion getClientHelloRecordLayerVersion() - { - // "{03,00}" - // return ProtocolVersion.SSLv3; - - // "the lowest version number supported by the client" - // return getMinimumVersion(); - - // "the value of ClientHello.client_version" - return getClientVersion(); - } - - public ProtocolVersion getClientVersion() - { - return ProtocolVersion.TLSv12; - } - - public Hashtable getClientExtensions() - throws IOException - { - Hashtable clientExtensions = null; - - ProtocolVersion clientVersion = context.getClientVersion(); - - /* - * RFC 5246 7.4.1.4.1. Note: this extension is not meaningful for TLS versions prior to 1.2. - * Clients MUST NOT offer it if they are offering prior versions. - */ - if (TlsUtils.isSignatureAlgorithmsExtensionAllowed(clientVersion)) - { - // TODO Provide a way for the user to specify the acceptable hash/signature algorithms. - - short[] hashAlgorithms = new short[]{ HashAlgorithm.sha512, HashAlgorithm.sha384, HashAlgorithm.sha256, - HashAlgorithm.sha224, HashAlgorithm.sha1 }; - - // TODO Sort out ECDSA signatures and add them as the preferred option here - short[] signatureAlgorithms = new short[]{ SignatureAlgorithm.rsa }; - - this.supportedSignatureAlgorithms = new Vector(); - for (int i = 0; i < hashAlgorithms.length; ++i) - { - for (int j = 0; j < signatureAlgorithms.length; ++j) - { - this.supportedSignatureAlgorithms.addElement(new SignatureAndHashAlgorithm(hashAlgorithms[i], - signatureAlgorithms[j])); - } - } - - /* - * RFC 5264 7.4.3. Currently, DSA [DSS] may only be used with SHA-1. - */ - this.supportedSignatureAlgorithms.addElement(new SignatureAndHashAlgorithm(HashAlgorithm.sha1, - SignatureAlgorithm.dsa)); - - clientExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(clientExtensions); - - TlsUtils.addSignatureAlgorithmsExtension(clientExtensions, supportedSignatureAlgorithms); - } - - if (TlsECCUtils.containsECCCipherSuites(getCipherSuites())) - { - /* - * RFC 4492 5.1. A client that proposes ECC cipher suites in its ClientHello message - * appends these extensions (along with any others), enumerating the curves it supports - * and the point formats it can parse. Clients SHOULD send both the Supported Elliptic - * Curves Extension and the Supported Point Formats Extension. - */ - /* - * TODO Could just add all the curves since we support them all, but users may not want - * to use unnecessarily large fields. Need configuration options. - */ - this.namedCurves = new int[]{ NamedCurve.secp256r1, NamedCurve.secp384r1 }; - this.clientECPointFormats = new short[]{ ECPointFormat.uncompressed, - ECPointFormat.ansiX962_compressed_prime, ECPointFormat.ansiX962_compressed_char2, }; - - clientExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(clientExtensions); - - TlsECCUtils.addSupportedEllipticCurvesExtension(clientExtensions, namedCurves); - TlsECCUtils.addSupportedPointFormatsExtension(clientExtensions, clientECPointFormats); - } - - return clientExtensions; - } - - public ProtocolVersion getMinimumVersion() - { - return ProtocolVersion.TLSv10; - } - - public void notifyServerVersion(ProtocolVersion serverVersion) - throws IOException - { - if (!getMinimumVersion().isEqualOrEarlierVersionOf(serverVersion)) - { - throw new TlsFatalAlert(AlertDescription.protocol_version); - } - } - - public short[] getCompressionMethods() - { - return new short[]{CompressionMethod._null}; - } - - public void notifySessionID(byte[] sessionID) - { - // Currently ignored - } - - public void notifySelectedCipherSuite(int selectedCipherSuite) - { - this.selectedCipherSuite = selectedCipherSuite; - } - - public void notifySelectedCompressionMethod(short selectedCompressionMethod) - { - this.selectedCompressionMethod = selectedCompressionMethod; - } - - public void processServerExtensions(Hashtable serverExtensions) - throws IOException - { - /* - * TlsProtocol implementation validates that any server extensions received correspond to - * client extensions sent. By default, we don't send any, and this method is not called. - */ - if (serverExtensions != null) - { - /* - * RFC 5246 7.4.1.4.1. Servers MUST NOT send this extension. - */ - if (serverExtensions.containsKey(TlsUtils.EXT_signature_algorithms)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - int[] namedCurves = TlsECCUtils.getSupportedEllipticCurvesExtension(serverExtensions); - if (namedCurves != null) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.serverECPointFormats = TlsECCUtils.getSupportedPointFormatsExtension(serverExtensions); - if (this.serverECPointFormats != null && !TlsECCUtils.isECCCipherSuite(this.selectedCipherSuite)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - } - - public void processServerSupplementalData(Vector serverSupplementalData) - throws IOException - { - if (serverSupplementalData != null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public Vector getClientSupplementalData() - throws IOException - { - return null; - } - - public TlsCompression getCompression() - throws IOException - { - switch (selectedCompressionMethod) - { - case CompressionMethod._null: - return new TlsNullCompression(); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected compression method was in the list of client-offered compression - * methods, so if we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void notifyNewSessionTicket(NewSessionTicket newSessionTicket) - throws IOException - { - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsContext.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsContext.java deleted file mode 100644 index ecf7fa984..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsContext.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.security.SecureRandom; - -abstract class AbstractTlsContext - implements TlsContext -{ - private SecureRandom secureRandom; - private SecurityParameters securityParameters; - - private ProtocolVersion clientVersion = null; - private ProtocolVersion serverVersion = null; - private TlsSession session = null; - private Object userObject = null; - - AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters) - { - this.secureRandom = secureRandom; - this.securityParameters = securityParameters; - } - - public SecureRandom getSecureRandom() - { - return secureRandom; - } - - public SecurityParameters getSecurityParameters() - { - return securityParameters; - } - - public ProtocolVersion getClientVersion() - { - return clientVersion; - } - - void setClientVersion(ProtocolVersion clientVersion) - { - this.clientVersion = clientVersion; - } - - public ProtocolVersion getServerVersion() - { - return serverVersion; - } - - void setServerVersion(ProtocolVersion serverVersion) - { - this.serverVersion = serverVersion; - } - - public TlsSession getResumableSession() - { - return session; - } - - void setResumableSession(TlsSession session) - { - this.session = session; - } - - public Object getUserObject() - { - return userObject; - } - - public void setUserObject(Object userObject) - { - this.userObject = userObject; - } - - public byte[] exportKeyingMaterial(String asciiLabel, byte[] context_value, int length) - { - if (context_value != null && !TlsUtils.isValidUint16(context_value.length)) - { - throw new IllegalArgumentException("'context_value' must have length less than 2^16 (or be null)"); - } - - SecurityParameters sp = getSecurityParameters(); - byte[] cr = sp.getClientRandom(), sr = sp.getServerRandom(); - - int seedLength = cr.length + sr.length; - if (context_value != null) - { - seedLength += (2 + context_value.length); - } - - byte[] seed = new byte[seedLength]; - int seedPos = 0; - - System.arraycopy(cr, 0, seed, seedPos, cr.length); - seedPos += cr.length; - System.arraycopy(sr, 0, seed, seedPos, sr.length); - seedPos += sr.length; - if (context_value != null) - { - TlsUtils.writeUint16(context_value.length, seed, seedPos); - seedPos += 2; - System.arraycopy(context_value, 0, seed, seedPos, context_value.length); - seedPos += context_value.length; - } - - if (seedPos != seedLength) - { - throw new IllegalStateException("error in calculation of seed for export"); - } - - return TlsUtils.PRF(this, sp.getMasterSecret(), asciiLabel, seed, length); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCredentials.java deleted file mode 100644 index ab6cda7ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsCredentials.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.tls; - -public abstract class AbstractTlsCredentials - implements TlsCredentials -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsEncryptionCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsEncryptionCredentials.java deleted file mode 100644 index 8eb0147e0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsEncryptionCredentials.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.crypto.tls; - -public abstract class AbstractTlsEncryptionCredentials - extends AbstractTlsCredentials - implements TlsEncryptionCredentials -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsKeyExchange.java deleted file mode 100644 index 4920007d8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsKeyExchange.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Vector; - -public abstract class AbstractTlsKeyExchange - implements TlsKeyExchange -{ - protected int keyExchange; - protected Vector supportedSignatureAlgorithms; - - protected TlsContext context; - - protected AbstractTlsKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms) - { - this.keyExchange = keyExchange; - this.supportedSignatureAlgorithms = supportedSignatureAlgorithms; - } - - public void init(TlsContext context) - { - this.context = context; - - ProtocolVersion clientVersion = context.getClientVersion(); - - if (TlsUtils.isSignatureAlgorithmsExtensionAllowed(clientVersion)) - { - /* - * RFC 5264 7.4.1.4.1. If the client does not send the signature_algorithms extension, - * the server MUST do the following: - * - * - If the negotiated key exchange algorithm is one of (RSA, DHE_RSA, DH_RSA, RSA_PSK, - * ECDH_RSA, ECDHE_RSA), behave as if client had sent the value {sha1,rsa}. - * - * - If the negotiated key exchange algorithm is one of (DHE_DSS, DH_DSS), behave as if - * the client had sent the value {sha1,dsa}. - * - * - If the negotiated key exchange algorithm is one of (ECDH_ECDSA, ECDHE_ECDSA), - * behave as if the client had sent value {sha1,ecdsa}. - */ - if (this.supportedSignatureAlgorithms == null) - { - switch (keyExchange) - { - case KeyExchangeAlgorithm.DH_DSS: - case KeyExchangeAlgorithm.DHE_DSS: - case KeyExchangeAlgorithm.SRP_DSS: - { - this.supportedSignatureAlgorithms = TlsUtils.getDefaultDSSSignatureAlgorithms(); - break; - } - - case KeyExchangeAlgorithm.ECDH_ECDSA: - case KeyExchangeAlgorithm.ECDHE_ECDSA: - { - this.supportedSignatureAlgorithms = TlsUtils.getDefaultECDSASignatureAlgorithms(); - break; - } - - case KeyExchangeAlgorithm.DH_RSA: - case KeyExchangeAlgorithm.DHE_RSA: - case KeyExchangeAlgorithm.ECDH_RSA: - case KeyExchangeAlgorithm.ECDHE_RSA: - case KeyExchangeAlgorithm.RSA: - case KeyExchangeAlgorithm.RSA_PSK: - case KeyExchangeAlgorithm.SRP_RSA: - { - this.supportedSignatureAlgorithms = TlsUtils.getDefaultRSASignatureAlgorithms(); - break; - } - - case KeyExchangeAlgorithm.DHE_PSK: - case KeyExchangeAlgorithm.ECDHE_PSK: - case KeyExchangeAlgorithm.PSK: - case KeyExchangeAlgorithm.SRP: - break; - - default: - throw new IllegalStateException("unsupported key exchange algorithm"); - } - } - - } - else if (this.supportedSignatureAlgorithms != null) - { - throw new IllegalStateException("supported_signature_algorithms not allowed for " + clientVersion); - } - } - - public void processServerCertificate(Certificate serverCertificate) - throws IOException - { - if (supportedSignatureAlgorithms == null) - { - /* - * TODO RFC 2264 7.4.2. Unless otherwise specified, the signing algorithm for the - * certificate must be the same as the algorithm for the certificate key. - */ - } - else - { - /* - * TODO RFC 5264 7.4.2. If the client provided a "signature_algorithms" extension, then - * all certificates provided by the server MUST be signed by a hash/signature algorithm - * pair that appears in that extension. - */ - } - } - - public void processServerCredentials(TlsCredentials serverCredentials) - throws IOException - { - processServerCertificate(serverCredentials.getCertificate()); - } - - public boolean requiresServerKeyExchange() - { - return false; - } - - public byte[] generateServerKeyExchange() - throws IOException - { - if (requiresServerKeyExchange()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - return null; - } - - public void skipServerKeyExchange() - throws IOException - { - if (requiresServerKeyExchange()) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public void processServerKeyExchange(InputStream input) - throws IOException - { - if (!requiresServerKeyExchange()) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public void skipClientCredentials() - throws IOException - { - } - - public void processClientCertificate(Certificate clientCertificate) - throws IOException - { - } - - public void processClientKeyExchange(InputStream input) - throws IOException - { - // Key exchange implementation MUST support client key exchange - throw new TlsFatalAlert(AlertDescription.internal_error); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsPeer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsPeer.java deleted file mode 100644 index 238e49336..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsPeer.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public abstract class AbstractTlsPeer - implements TlsPeer -{ - public void notifySecureRenegotiation(boolean secureRenegotiation) throws IOException - { - if (!secureRenegotiation) - { - /* - * RFC 5746 3.4/3.6. In this case, some clients/servers may want to terminate the handshake instead - * of continuing; see Section 4.1/4.3 for discussion. - */ - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - } - - public void notifyHandshakeComplete() throws IOException - { - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsServer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsServer.java deleted file mode 100644 index 30152dd0c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsServer.java +++ /dev/null @@ -1,314 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.util.Arrays; - -public abstract class AbstractTlsServer - extends AbstractTlsPeer - implements TlsServer -{ - protected TlsCipherFactory cipherFactory; - - protected TlsServerContext context; - - protected ProtocolVersion clientVersion; - protected int[] offeredCipherSuites; - protected short[] offeredCompressionMethods; - protected Hashtable clientExtensions; - - protected short maxFragmentLengthOffered; - protected boolean truncatedHMacOffered; - protected Vector supportedSignatureAlgorithms; - protected boolean eccCipherSuitesOffered; - protected int[] namedCurves; - protected short[] clientECPointFormats, serverECPointFormats; - - protected ProtocolVersion serverVersion; - protected int selectedCipherSuite; - protected short selectedCompressionMethod; - protected Hashtable serverExtensions; - - public AbstractTlsServer() - { - this(new DefaultTlsCipherFactory()); - } - - public AbstractTlsServer(TlsCipherFactory cipherFactory) - { - this.cipherFactory = cipherFactory; - } - - protected boolean allowTruncatedHMac() - { - return false; - } - - protected Hashtable checkServerExtensions() - { - return this.serverExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(this.serverExtensions); - } - - protected abstract int[] getCipherSuites(); - - protected short[] getCompressionMethods() - { - return new short[]{CompressionMethod._null}; - } - - protected ProtocolVersion getMaximumVersion() - { - return ProtocolVersion.TLSv11; - } - - protected ProtocolVersion getMinimumVersion() - { - return ProtocolVersion.TLSv10; - } - - protected boolean supportsClientECCCapabilities(int[] namedCurves, short[] ecPointFormats) - { - // NOTE: BC supports all the current set of point formats so we don't check them here - - if (namedCurves == null) - { - /* - * RFC 4492 4. A client that proposes ECC cipher suites may choose not to include these - * extensions. In this case, the server is free to choose any one of the elliptic curves - * or point formats [...]. - */ - return TlsECCUtils.hasAnySupportedNamedCurves(); - } - - for (int i = 0; i < namedCurves.length; ++i) - { - int namedCurve = namedCurves[i]; - if (!NamedCurve.refersToASpecificNamedCurve(namedCurve) || TlsECCUtils.isSupportedNamedCurve(namedCurve)) - { - return true; - } - } - - return false; - } - - public void init(TlsServerContext context) - { - this.context = context; - } - - public void notifyClientVersion(ProtocolVersion clientVersion) - throws IOException - { - this.clientVersion = clientVersion; - } - - public void notifyOfferedCipherSuites(int[] offeredCipherSuites) - throws IOException - { - this.offeredCipherSuites = offeredCipherSuites; - this.eccCipherSuitesOffered = TlsECCUtils.containsECCCipherSuites(this.offeredCipherSuites); - } - - public void notifyOfferedCompressionMethods(short[] offeredCompressionMethods) - throws IOException - { - this.offeredCompressionMethods = offeredCompressionMethods; - } - - public void processClientExtensions(Hashtable clientExtensions) - throws IOException - { - this.clientExtensions = clientExtensions; - - if (clientExtensions != null) - { - this.maxFragmentLengthOffered = TlsExtensionsUtils.getMaxFragmentLengthExtension(clientExtensions); - this.truncatedHMacOffered = TlsExtensionsUtils.hasTruncatedHMacExtension(clientExtensions); - - this.supportedSignatureAlgorithms = TlsUtils.getSignatureAlgorithmsExtension(clientExtensions); - if (this.supportedSignatureAlgorithms != null) - { - /* - * RFC 5246 7.4.1.4.1. Note: this extension is not meaningful for TLS versions prior - * to 1.2. Clients MUST NOT offer it if they are offering prior versions. - */ - if (!TlsUtils.isSignatureAlgorithmsExtensionAllowed(clientVersion)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - this.namedCurves = TlsECCUtils.getSupportedEllipticCurvesExtension(clientExtensions); - this.clientECPointFormats = TlsECCUtils.getSupportedPointFormatsExtension(clientExtensions); - } - - /* - * RFC 4429 4. The client MUST NOT include these extensions in the ClientHello message if it - * does not propose any ECC cipher suites. - */ - if (!this.eccCipherSuitesOffered && (this.namedCurves != null || this.clientECPointFormats != null)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - public ProtocolVersion getServerVersion() - throws IOException - { - if (getMinimumVersion().isEqualOrEarlierVersionOf(clientVersion)) - { - ProtocolVersion maximumVersion = getMaximumVersion(); - if (clientVersion.isEqualOrEarlierVersionOf(maximumVersion)) - { - return serverVersion = clientVersion; - } - if (clientVersion.isLaterVersionOf(maximumVersion)) - { - return serverVersion = maximumVersion; - } - } - throw new TlsFatalAlert(AlertDescription.protocol_version); - } - - public int getSelectedCipherSuite() - throws IOException - { - /* - * TODO RFC 5246 7.4.3. In order to negotiate correctly, the server MUST check any candidate - * cipher suites against the "signature_algorithms" extension before selecting them. This is - * somewhat inelegant but is a compromise designed to minimize changes to the original - * cipher suite design. - */ - - /* - * RFC 4429 5.1. A server that receives a ClientHello containing one or both of these - * extensions MUST use the client's enumerated capabilities to guide its selection of an - * appropriate cipher suite. One of the proposed ECC cipher suites must be negotiated only - * if the server can successfully complete the handshake while using the curves and point - * formats supported by the client [...]. - */ - boolean eccCipherSuitesEnabled = supportsClientECCCapabilities(this.namedCurves, this.clientECPointFormats); - - int[] cipherSuites = getCipherSuites(); - for (int i = 0; i < cipherSuites.length; ++i) - { - int cipherSuite = cipherSuites[i]; - - // TODO Certain cipher suites may only be available starting at a particular version - if (Arrays.contains(this.offeredCipherSuites, cipherSuite) - && (eccCipherSuitesEnabled || !TlsECCUtils.isECCCipherSuite(cipherSuite))) - { - return this.selectedCipherSuite = cipherSuite; - } - } - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - - public short getSelectedCompressionMethod() - throws IOException - { - short[] compressionMethods = getCompressionMethods(); - for (int i = 0; i < compressionMethods.length; ++i) - { - if (Arrays.contains(offeredCompressionMethods, compressionMethods[i])) - { - return this.selectedCompressionMethod = compressionMethods[i]; - } - } - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - - // Hashtable is (Integer -> byte[]) - public Hashtable getServerExtensions() - throws IOException - { - if (this.maxFragmentLengthOffered >= 0) - { - TlsExtensionsUtils.addMaxFragmentLengthExtension(checkServerExtensions(), this.maxFragmentLengthOffered); - } - - if (this.truncatedHMacOffered && allowTruncatedHMac()) - { - TlsExtensionsUtils.addTruncatedHMacExtension(checkServerExtensions()); - } - - if (this.clientECPointFormats != null && TlsECCUtils.isECCCipherSuite(this.selectedCipherSuite)) - { - /* - * RFC 4492 5.2. A server that selects an ECC cipher suite in response to a ClientHello - * message including a Supported Point Formats Extension appends this extension (along - * with others) to its ServerHello message, enumerating the point formats it can parse. - */ - this.serverECPointFormats = new short[]{ ECPointFormat.ansiX962_compressed_char2, - ECPointFormat.ansiX962_compressed_prime, ECPointFormat.uncompressed }; - - TlsECCUtils.addSupportedPointFormatsExtension(checkServerExtensions(), serverECPointFormats); - } - - return serverExtensions; - } - - public Vector getServerSupplementalData() - throws IOException - { - return null; - } - - public CertificateStatus getCertificateStatus() - throws IOException - { - return null; - } - - public CertificateRequest getCertificateRequest() - throws IOException - { - return null; - } - - public void processClientSupplementalData(Vector clientSupplementalData) - throws IOException - { - if (clientSupplementalData != null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public void notifyClientCertificate(Certificate clientCertificate) - throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - public TlsCompression getCompression() - throws IOException - { - switch (selectedCompressionMethod) - { - case CompressionMethod._null: - return new TlsNullCompression(); - - default: - /* - * Note: internal error here; we selected the compression method, so if we now can't - * produce an implementation, we shouldn't have chosen it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public NewSessionTicket getNewSessionTicket() - throws IOException - { - /* - * RFC 5077 3.3. If the server determines that it does not want to include a ticket after it - * has included the SessionTicket extension in the ServerHello, then it sends a zero-length - * ticket in the NewSessionTicket handshake message. - */ - return new NewSessionTicket(0L, TlsUtils.EMPTY_BYTES); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSigner.java deleted file mode 100644 index cc88f5a21..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSigner.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public abstract class AbstractTlsSigner - implements TlsSigner -{ - protected TlsContext context; - - public void init(TlsContext context) - { - this.context = context; - } - - public byte[] generateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5AndSha1) - throws CryptoException - { - return generateRawSignature(null, privateKey, md5AndSha1); - } - - public boolean verifyRawSignature(byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] md5AndSha1) - throws CryptoException - { - return verifyRawSignature(null, sigBytes, publicKey, md5AndSha1); - } - - public Signer createSigner(AsymmetricKeyParameter privateKey) - { - return createSigner(null, privateKey); - } - - public Signer createVerifyer(AsymmetricKeyParameter publicKey) - { - return createVerifyer(null, publicKey); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSignerCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSignerCredentials.java deleted file mode 100644 index d10e64998..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AbstractTlsSignerCredentials.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.crypto.tls; - -public abstract class AbstractTlsSignerCredentials - extends AbstractTlsCredentials - implements TlsSignerCredentials -{ - public SignatureAndHashAlgorithm getSignatureAndHashAlgorithm() - { - throw new IllegalStateException("TlsSignerCredentials implementation does not support (D)TLS 1.2+"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertDescription.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertDescription.java deleted file mode 100644 index 275cb16ef..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertDescription.java +++ /dev/null @@ -1,216 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5246 7.2. - */ -public class AlertDescription -{ - /** - * This message notifies the recipient that the sender will not send any more messages on this - * connection. Note that as of TLS 1.1, failure to properly close a connection no longer - * requires that a session not be resumed. This is a change from TLS 1.0 ("The session becomes - * unresumable if any connection is terminated without proper close_notify messages with level - * equal to warning.") to conform with widespread implementation practice. - */ - public static final short close_notify = 0; - - /** - * An inappropriate message was received. This alert is always fatal and should never be - * observed in communication between proper implementations. - */ - public static final short unexpected_message = 10; - - /** - * This alert is returned if a record is received with an incorrect MAC. This alert also MUST be - * returned if an alert is sent because a TLSCiphertext decrypted in an invalid way: either it - * wasn't an even multiple of the block length, or its padding values, when checked, weren't - * correct. This message is always fatal and should never be observed in communication between - * proper implementations (except when messages were corrupted in the network). - */ - public static final short bad_record_mac = 20; - - /** - * This alert was used in some earlier versions of TLS, and may have permitted certain attacks - * against the CBC mode [CBCATT]. It MUST NOT be sent by compliant implementations. - */ - public static final short decryption_failed = 21; - - /** - * A TLSCiphertext record was received that had a length more than 2^14+2048 bytes, or a record - * decrypted to a TLSCompressed record with more than 2^14+1024 bytes. This message is always - * fatal and should never be observed in communication between proper implementations (except - * when messages were corrupted in the network). - */ - public static final short record_overflow = 22; - - /** - * The decompression function received improper input (e.g., data that would expand to excessive - * length). This message is always fatal and should never be observed in communication between - * proper implementations. - */ - public static final short decompression_failure = 30; - - /** - * Reception of a handshake_failure alert message indicates that the sender was unable to - * negotiate an acceptable set of security parameters given the options available. This is a - * fatal error. - */ - public static final short handshake_failure = 40; - - /** - * This alert was used in SSLv3 but not any version of TLS. It MUST NOT be sent by compliant - * implementations. - */ - public static final short no_certificate = 41; - - /** - * A certificate was corrupt, contained signatures that did not verify correctly, etc. - */ - public static final short bad_certificate = 42; - - /** - * A certificate was of an unsupported type. - */ - public static final short unsupported_certificate = 43; - - /** - * A certificate was revoked by its signer. - */ - public static final short certificate_revoked = 44; - - /** - * A certificate has expired or is not currently valid. - */ - public static final short certificate_expired = 45; - - /** - * Some other (unspecified) issue arose in processing the certificate, rendering it - * unacceptable. - */ - public static final short certificate_unknown = 46; - - /** - * A field in the handshake was out of range or inconsistent with other fields. This message is - * always fatal. - */ - public static final short illegal_parameter = 47; - - /** - * A valid certificate chain or partial chain was received, but the certificate was not accepted - * because the CA certificate could not be located or couldn't be matched with a known, trusted - * CA. This message is always fatal. - */ - public static final short unknown_ca = 48; - - /** - * A valid certificate was received, but when access control was applied, the sender decided not - * to proceed with negotiation. This message is always fatal. - */ - public static final short access_denied = 49; - - /** - * A message could not be decoded because some field was out of the specified range or the - * length of the message was incorrect. This message is always fatal and should never be - * observed in communication between proper implementations (except when messages were corrupted - * in the network). - */ - public static final short decode_error = 50; - - /** - * A handshake cryptographic operation failed, including being unable to correctly verify a - * signature or validate a Finished message. This message is always fatal. - */ - public static final short decrypt_error = 51; - - /** - * This alert was used in some earlier versions of TLS. It MUST NOT be sent by compliant - * implementations. - */ - public static final short export_restriction = 60; - - /** - * The protocol version the client has attempted to negotiate is recognized but not supported. - * (For example, old protocol versions might be avoided for security reasons.) This message is - * always fatal. - */ - public static final short protocol_version = 70; - - /** - * Returned instead of handshake_failure when a negotiation has failed specifically because the - * server requires ciphers more secure than those supported by the client. This message is - * always fatal. - */ - public static final short insufficient_security = 71; - - /** - * An internal error unrelated to the peer or the correctness of the protocol (such as a memory - * allocation failure) makes it impossible to continue. This message is always fatal. - */ - public static final short internal_error = 80; - - /** - * This handshake is being canceled for some reason unrelated to a protocol failure. If the user - * cancels an operation after the handshake is complete, just closing the connection by sending - * a close_notify is more appropriate. This alert should be followed by a close_notify. This - * message is generally a warning. - */ - public static final short user_canceled = 90; - - /** - * Sent by the client in response to a hello request or by the server in response to a client - * hello after initial handshaking. Either of these would normally lead to renegotiation; when - * that is not appropriate, the recipient should respond with this alert. At that point, the - * original requester can decide whether to proceed with the connection. One case where this - * would be appropriate is where a server has spawned a process to satisfy a request; the - * process might receive security parameters (key length, authentication, etc.) at startup, and - * it might be difficult to communicate changes to these parameters after that point. This - * message is always a warning. - */ - public static final short no_renegotiation = 100; - - /** - * Sent by clients that receive an extended server hello containing an extension that they did - * not put in the corresponding client hello. This message is always fatal. - */ - public static final short unsupported_extension = 110; - - /* - * RFC 3546 - */ - - /** - * This alert is sent by servers who are unable to retrieve a certificate chain from the URL - * supplied by the client (see Section 3.3). This message MAY be fatal - for example if client - * authentication is required by the server for the handshake to continue and the server is - * unable to retrieve the certificate chain, it may send a fatal alert. - */ - public static final short certificate_unobtainable = 111; - - /** - * This alert is sent by servers that receive a server_name extension request, but do not - * recognize the server name. This message MAY be fatal. - */ - public static final short unrecognized_name = 112; - - /** - * This alert is sent by clients that receive an invalid certificate status response (see - * Section 3.6). This message is always fatal. - */ - public static final short bad_certificate_status_response = 113; - - /** - * This alert is sent by servers when a certificate hash does not match a client provided - * certificate_hash. This message is always fatal. - */ - public static final short bad_certificate_hash_value = 114; - - /* - * RFC 4279 - */ - - /** - * If the server does not recognize the PSK identity, it MAY respond with an - * "unknown_psk_identity" alert message. - */ - public static final short unknown_psk_identity = 115; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertLevel.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertLevel.java deleted file mode 100644 index 3392c2a66..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlertLevel.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 7.2 - */ -public class AlertLevel -{ - public static final short warning = 1; - public static final short fatal = 2; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlwaysValidVerifyer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlwaysValidVerifyer.java deleted file mode 100644 index de13e8503..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/AlwaysValidVerifyer.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * A certificate verifyer, that will always return true. - *

    - *

    - * DO NOT USE THIS FILE UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING.
    - * 
    - * - * @deprecated Perform certificate verification in TlsAuthentication implementation - */ -public class AlwaysValidVerifyer - implements CertificateVerifyer -{ - /** - * Return true. - * - * @see org.spongycastle.crypto.tls.CertificateVerifyer#isValid(org.spongycastle.asn1.x509.Certificate[]) - */ - public boolean isValid(org.spongycastle.asn1.x509.Certificate[] certs) - { - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/BulkCipherAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/BulkCipherAlgorithm.java deleted file mode 100644 index c7382fe81..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/BulkCipherAlgorithm.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class BulkCipherAlgorithm -{ - - public static final int _null = 0; - public static final int rc4 = 1; - public static final int rc2 = 2; - public static final int des = 3; - public static final int _3des = 4; - public static final int des40 = 5; - - /* - * RFC 4346 - */ - public static final int aes = 6; - public static final int idea = 7; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ByteQueue.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ByteQueue.java deleted file mode 100644 index d3cf8bf5d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ByteQueue.java +++ /dev/null @@ -1,153 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * A queue for bytes. This file could be more optimized. - */ -public class ByteQueue -{ - /** - * @return The smallest number which can be written as 2^x which is bigger than i. - */ - public static final int nextTwoPow(int i) - { - /* - * This code is based of a lot of code I found on the Internet which mostly - * referenced a book called "Hacking delight". - */ - i |= (i >> 1); - i |= (i >> 2); - i |= (i >> 4); - i |= (i >> 8); - i |= (i >> 16); - return i + 1; - } - - /** - * The initial size for our buffer. - */ - private static final int DEFAULT_CAPACITY = 1024; - - /** - * The buffer where we store our data. - */ - private byte[] databuf;; - - /** - * How many bytes at the beginning of the buffer are skipped. - */ - private int skipped = 0; - - /** - * How many bytes in the buffer are valid data. - */ - private int available = 0; - - public ByteQueue() - { - this(DEFAULT_CAPACITY); - } - - public ByteQueue(int capacity) - { - databuf = new byte[capacity]; - } - - /** - * Read data from the buffer. - * - * @param buf The buffer where the read data will be copied to. - * @param offset How many bytes to skip at the beginning of buf. - * @param len How many bytes to read at all. - * @param skip How many bytes from our data to skip. - */ - public void read(byte[] buf, int offset, int len, int skip) - { - if ((available - skip) < len) - { - throw new TlsRuntimeException("Not enough data to read"); - } - if ((buf.length - offset) < len) - { - throw new TlsRuntimeException("Buffer size of " + buf.length - + " is too small for a read of " + len + " bytes"); - } - System.arraycopy(databuf, skipped + skip, buf, offset, len); - } - - /** - * Add some data to our buffer. - * - * @param buf A byte-array to read data from. - * @param off How many bytes to skip at the beginning of the array. - * @param len How many bytes to read from the array. - */ - public void addData(byte[] buf, int off, int len) - { - if ((skipped + available + len) > databuf.length) - { - int desiredSize = ByteQueue.nextTwoPow(available + len); - if (desiredSize > databuf.length) - { - byte[] tmp = new byte[desiredSize]; - System.arraycopy(databuf, skipped, tmp, 0, available); - databuf = tmp; - } - else - { - System.arraycopy(databuf, skipped, databuf, 0, available); - } - skipped = 0; - } - - System.arraycopy(buf, off, databuf, skipped + available, len); - available += len; - } - - /** - * Remove some bytes from our data from the beginning. - * - * @param i How many bytes to remove. - */ - public void removeData(int i) - { - if (i > available) - { - throw new TlsRuntimeException("Cannot remove " + i + " bytes, only got " + available); - } - - /* - * Skip the data. - */ - available -= i; - skipped += i; - } - - /** - * Remove data from the buffer. - * - * @param buf The buffer where the removed data will be copied to. - * @param off How many bytes to skip at the beginning of buf. - * @param len How many bytes to read at all. - * @param skip How many bytes from our data to skip. - */ - public void removeData(byte[] buf, int off, int len, int skip) - { - read(buf, off, len, skip); - removeData(skip + len); - } - - public byte[] removeData(int len, int skip) - { - byte[] buf = new byte[len]; - removeData(buf, 0, len, skip); - return buf; - } - - /** - * @return The number of bytes which are available in this buffer. - */ - public int size() - { - return available; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertChainType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertChainType.java deleted file mode 100644 index 857496158..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertChainType.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.tls; - -/* - * RFC 3546 3.3. - */ -public class CertChainType -{ - public static final short individual_certs = 0; - public static final short pkipath = 1; - - public static boolean isValid(short certChainType) - { - return certChainType >= individual_certs && certChainType <= pkipath; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/Certificate.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/Certificate.java deleted file mode 100644 index 2af17ea1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/Certificate.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Primitive; - -/** - * Parsing and encoding of a Certificate struct from RFC 4346. - *

    - *

    - * opaque ASN.1Cert<2^24-1>;
    - *
    - * struct {
    - *     ASN.1Cert certificate_list<0..2^24-1>;
    - * } Certificate;
    - * 
    - * - * @see org.spongycastle.asn1.x509.Certificate - */ -public class Certificate -{ - public static final Certificate EMPTY_CHAIN = new Certificate( - new org.spongycastle.asn1.x509.Certificate[0]); - - protected org.spongycastle.asn1.x509.Certificate[] certificateList; - - public Certificate(org.spongycastle.asn1.x509.Certificate[] certificateList) - { - if (certificateList == null) - { - throw new IllegalArgumentException("'certificateList' cannot be null"); - } - - this.certificateList = certificateList; - } - - /** - * @deprecated use {@link #getCertificateList()} instead - */ - public org.spongycastle.asn1.x509.Certificate[] getCerts() - { - return getCertificateList(); - } - - /** - * @return an array of {@link org.spongycastle.asn1.x509.Certificate} representing a certificate - * chain. - */ - public org.spongycastle.asn1.x509.Certificate[] getCertificateList() - { - return cloneCertificateList(); - } - - public org.spongycastle.asn1.x509.Certificate getCertificateAt(int index) - { - return certificateList[index]; - } - - public int getLength() - { - return certificateList.length; - } - - /** - * @return true if this certificate chain contains no certificates, or - * false otherwise. - */ - public boolean isEmpty() - { - return certificateList.length == 0; - } - - /** - * Encode this {@link Certificate} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - Vector derEncodings = new Vector(this.certificateList.length); - - int totalLength = 0; - for (int i = 0; i < this.certificateList.length; ++i) - { - byte[] derEncoding = certificateList[i].getEncoded(ASN1Encoding.DER); - derEncodings.addElement(derEncoding); - totalLength += derEncoding.length + 3; - } - - TlsUtils.checkUint24(totalLength); - TlsUtils.writeUint24(totalLength, output); - - for (int i = 0; i < derEncodings.size(); ++i) - { - byte[] derEncoding = (byte[])derEncodings.elementAt(i); - TlsUtils.writeOpaque24(derEncoding, output); - } - } - - /** - * Parse a {@link Certificate} from an {@link InputStream}. - * - * @param input the {@link InputStream} to parse from. - * @return a {@link Certificate} object. - * @throws IOException - */ - public static Certificate parse(InputStream input) - throws IOException - { - int totalLength = TlsUtils.readUint24(input); - if (totalLength == 0) - { - return EMPTY_CHAIN; - } - - byte[] certListData = TlsUtils.readFully(totalLength, input); - - ByteArrayInputStream buf = new ByteArrayInputStream(certListData); - - Vector certificate_list = new Vector(); - while (buf.available() > 0) - { - byte[] derEncoding = TlsUtils.readOpaque24(buf); - ASN1Primitive asn1Cert = TlsUtils.readDERObject(derEncoding); - certificate_list.addElement(org.spongycastle.asn1.x509.Certificate.getInstance(asn1Cert)); - } - - org.spongycastle.asn1.x509.Certificate[] certificateList = new org.spongycastle.asn1.x509.Certificate[certificate_list.size()]; - for (int i = 0; i < certificate_list.size(); i++) - { - certificateList[i] = (org.spongycastle.asn1.x509.Certificate)certificate_list.elementAt(i); - } - return new Certificate(certificateList); - } - - protected org.spongycastle.asn1.x509.Certificate[] cloneCertificateList() - { - org.spongycastle.asn1.x509.Certificate[] result = new org.spongycastle.asn1.x509.Certificate[certificateList.length]; - System.arraycopy(certificateList, 0, result, 0, result.length); - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateRequest.java deleted file mode 100644 index a4e5bf9e8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateRequest.java +++ /dev/null @@ -1,164 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.x500.X500Name; - -/** - * Parsing and encoding of a CertificateRequest struct from RFC 4346. - *

    - *

    - * struct {
    - *     ClientCertificateType certificate_types<1..2^8-1>;
    - *     DistinguishedName certificate_authorities<3..2^16-1>;
    - * } CertificateRequest;
    - * 
    - * - * @see ClientCertificateType - * @see X500Name - */ -public class CertificateRequest -{ - protected short[] certificateTypes; - protected Vector supportedSignatureAlgorithms; - protected Vector certificateAuthorities; - - /* - * TODO RFC 5264 7.4.4 A list of the hash/signature algorithm pairs that the server is able to - * verify, listed in descending order of preference. - */ - - /** - * @param certificateTypes see {@link ClientCertificateType} for valid constants. - * @param certificateAuthorities a {@link Vector} of {@link X500Name}. - */ - public CertificateRequest(short[] certificateTypes, Vector supportedSignatureAlgorithms, Vector certificateAuthorities) - { - this.certificateTypes = certificateTypes; - this.supportedSignatureAlgorithms = supportedSignatureAlgorithms; - this.certificateAuthorities = certificateAuthorities; - } - - /** - * @return an array of certificate types - * @see {@link ClientCertificateType} - */ - public short[] getCertificateTypes() - { - return certificateTypes; - } - - /** - * @return a {@link Vector} of {@link SignatureAndHashAlgorithm} (or null before TLS 1.2). - */ - public Vector getSupportedSignatureAlgorithms() - { - return supportedSignatureAlgorithms; - } - - /** - * @return a {@link Vector} of {@link X500Name} - */ - public Vector getCertificateAuthorities() - { - return certificateAuthorities; - } - - /** - * Encode this {@link CertificateRequest} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - if (certificateTypes == null || certificateTypes.length == 0) - { - TlsUtils.writeUint8(0, output); - } - else - { - TlsUtils.writeUint8ArrayWithUint8Length(certificateTypes, output); - } - - if (supportedSignatureAlgorithms != null) - { - // TODO Check whether SignatureAlgorithm.anonymous is allowed here - TlsUtils.encodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, false, output); - } - - if (certificateAuthorities == null || certificateAuthorities.isEmpty()) - { - TlsUtils.writeUint16(0, output); - } - else - { - Vector derEncodings = new Vector(certificateAuthorities.size()); - - int totalLength = 0; - for (int i = 0; i < certificateAuthorities.size(); ++i) - { - X500Name certificateAuthority = (X500Name)certificateAuthorities.elementAt(i); - byte[] derEncoding = certificateAuthority.getEncoded(ASN1Encoding.DER); - derEncodings.addElement(derEncoding); - totalLength += derEncoding.length; - } - - TlsUtils.checkUint16(totalLength); - TlsUtils.writeUint16(totalLength, output); - - for (int i = 0; i < derEncodings.size(); ++i) - { - byte[] encDN = (byte[])derEncodings.elementAt(i); - output.write(encDN); - } - } - } - - /** - * Parse a {@link CertificateRequest} from an {@link InputStream}. - * - * @param context - * the {@link TlsContext} of the current connection. - * @param input - * the {@link InputStream} to parse from. - * @return a {@link CertificateRequest} object. - * @throws IOException - */ - public static CertificateRequest parse(TlsContext context, InputStream input) - throws IOException - { - int numTypes = TlsUtils.readUint8(input); - short[] certificateTypes = new short[numTypes]; - for (int i = 0; i < numTypes; ++i) - { - certificateTypes[i] = TlsUtils.readUint8(input); - } - - Vector supportedSignatureAlgorithms = null; - if (TlsUtils.isTLSv12(context)) - { - // TODO Check whether SignatureAlgorithm.anonymous is allowed here - supportedSignatureAlgorithms = TlsUtils.parseSupportedSignatureAlgorithms(false, input); - } - - Vector certificateAuthorities = new Vector(); - byte[] certAuthData = TlsUtils.readOpaque16(input); - ByteArrayInputStream bis = new ByteArrayInputStream(certAuthData); - while (bis.available() > 0) - { - byte[] derEncoding = TlsUtils.readOpaque16(bis); - ASN1Primitive asn1 = TlsUtils.readDERObject(derEncoding); - certificateAuthorities.addElement(X500Name.getInstance(asn1)); - } - - return new CertificateRequest(certificateTypes, supportedSignatureAlgorithms, certificateAuthorities); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatus.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatus.java deleted file mode 100644 index 14b0a0d9d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatus.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ocsp.OCSPResponse; - -public class CertificateStatus -{ - protected short statusType; - protected Object response; - - public CertificateStatus(short statusType, Object response) - { - if (!isCorrectType(statusType, response)) - { - throw new IllegalArgumentException("'response' is not an instance of the correct type"); - } - - this.statusType = statusType; - this.response = response; - } - - public short getStatusType() - { - return statusType; - } - - public Object getResponse() - { - return response; - } - - public OCSPResponse getOCSPResponse() - { - if (!isCorrectType(CertificateStatusType.ocsp, response)) - { - throw new IllegalStateException("'response' is not an OCSPResponse"); - } - return (OCSPResponse)response; - } - - /** - * Encode this {@link CertificateStatus} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - TlsUtils.writeUint8(statusType, output); - - switch (statusType) - { - case CertificateStatusType.ocsp: - byte[] derEncoding = ((OCSPResponse) response).getEncoded(ASN1Encoding.DER); - TlsUtils.writeOpaque24(derEncoding, output); - break; - default: - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - /** - * Parse a {@link CertificateStatus} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link CertificateStatus} object. - * @throws IOException - */ - public static CertificateStatus parse(InputStream input) throws IOException - { - short status_type = TlsUtils.readUint8(input); - Object response; - - switch (status_type) - { - case CertificateStatusType.ocsp: - { - byte[] derEncoding = TlsUtils.readOpaque24(input); - response = OCSPResponse.getInstance(TlsUtils.readDERObject(derEncoding)); - break; - } - default: - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - return new CertificateStatus(status_type, response); - } - - protected static boolean isCorrectType(short statusType, Object response) - { - switch (statusType) - { - case CertificateStatusType.ocsp: - return response instanceof OCSPResponse; - default: - throw new IllegalArgumentException("'statusType' is an unsupported value"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusRequest.java deleted file mode 100644 index 163180571..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusRequest.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class CertificateStatusRequest -{ - protected short statusType; - protected Object request; - - public CertificateStatusRequest(short statusType, Object request) - { - if (!isCorrectType(statusType, request)) - { - throw new IllegalArgumentException("'request' is not an instance of the correct type"); - } - - this.statusType = statusType; - this.request = request; - } - - public short getStatusType() - { - return statusType; - } - - public Object getRequest() - { - return request; - } - - public OCSPStatusRequest getOCSPStatusRequest() - { - if (!isCorrectType(CertificateStatusType.ocsp, request)) - { - throw new IllegalStateException("'request' is not an OCSPStatusRequest"); - } - return (OCSPStatusRequest)request; - } - - /** - * Encode this {@link CertificateStatusRequest} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - TlsUtils.writeUint8(statusType, output); - - switch (statusType) - { - case CertificateStatusType.ocsp: - ((OCSPStatusRequest) request).encode(output); - break; - default: - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - /** - * Parse a {@link CertificateStatusRequest} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link CertificateStatusRequest} object. - * @throws IOException - */ - public static CertificateStatusRequest parse(InputStream input) throws IOException - { - short status_type = TlsUtils.readUint8(input); - Object result; - - switch (status_type) - { - case CertificateStatusType.ocsp: - result = OCSPStatusRequest.parse(input); - break; - default: - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - return new CertificateStatusRequest(status_type, result); - } - - protected static boolean isCorrectType(short statusType, Object request) - { - switch (statusType) - { - case CertificateStatusType.ocsp: - return request instanceof OCSPStatusRequest; - default: - throw new IllegalArgumentException("'statusType' is an unsupported value"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusType.java deleted file mode 100644 index 750902623..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateStatusType.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class CertificateStatusType -{ - /* - * RFC 3546 3.6 - */ - public static final short ocsp = 1; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateURL.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateURL.java deleted file mode 100644 index f6b7df536..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateURL.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -/* - * RFC 3546 3.3 - */ -public class CertificateURL -{ - protected short type; - protected Vector urlAndHashList; - - /** - * @param type - * see {@link CertChainType} for valid constants. - * @param urlAndHashList - * a {@link Vector} of {@link URLAndHash}. - */ - public CertificateURL(short type, Vector urlAndHashList) - { - if (!CertChainType.isValid(type)) - { - throw new IllegalArgumentException("'type' is not a valid CertChainType value"); - } - if (urlAndHashList == null || urlAndHashList.isEmpty()) - { - throw new IllegalArgumentException("'urlAndHashList' must have length > 0"); - } - - this.type = type; - this.urlAndHashList = urlAndHashList; - } - - /** - * @return {@link CertChainType} - */ - public short getType() - { - return type; - } - - /** - * @return a {@link Vector} of {@link URLAndHash} - */ - public Vector getURLAndHashList() - { - return urlAndHashList; - } - - /** - * Encode this {@link CertificateURL} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - TlsUtils.writeUint8(this.type, output); - - ListBuffer16 buf = new ListBuffer16(); - for (int i = 0; i < this.urlAndHashList.size(); ++i) - { - URLAndHash urlAndHash = (URLAndHash)this.urlAndHashList.elementAt(i); - urlAndHash.encode(buf); - } - buf.encodeTo(output); - } - - /** - * Parse a {@link CertificateURL} from an {@link InputStream}. - * - * @param context - * the {@link TlsContext} of the current connection. - * @param input - * the {@link InputStream} to parse from. - * @return a {@link CertificateURL} object. - * @throws IOException - */ - public static CertificateURL parse(TlsContext context, InputStream input) - throws IOException - { - short type = TlsUtils.readUint8(input); - if (!CertChainType.isValid(type)) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - int totalLength = TlsUtils.readUint16(input); - if (totalLength < 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - byte[] urlAndHashListData = TlsUtils.readFully(totalLength, input); - - ByteArrayInputStream buf = new ByteArrayInputStream(urlAndHashListData); - - Vector url_and_hash_list = new Vector(); - while (buf.available() > 0) - { - URLAndHash url_and_hash = URLAndHash.parse(context, buf); - url_and_hash_list.addElement(url_and_hash); - } - - return new CertificateURL(type, url_and_hash_list); - } - - // TODO Could be more generally useful - class ListBuffer16 extends ByteArrayOutputStream - { - ListBuffer16() throws IOException - { - // Reserve space for length - TlsUtils.writeUint16(0, this); - } - - void encodeTo(OutputStream output) throws IOException - { - // Patch actual length back in - int length = count - 2; - TlsUtils.checkUint16(length); - TlsUtils.writeUint16(length, buf, 0); - output.write(buf, 0, count); - buf = null; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateVerifyer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateVerifyer.java deleted file mode 100644 index 65c764a47..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CertificateVerifyer.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * This should be implemented by any class which can find out, if a given certificate - * chain is being accepted by an client. - * - * @deprecated Perform certificate verification in TlsAuthentication implementation - */ -public interface CertificateVerifyer -{ - /** - * @param certs The certs, which are part of the chain. - * @return True, if the chain is accepted, false otherwise. - */ - public boolean isValid(org.spongycastle.asn1.x509.Certificate[] certs); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ChangeCipherSpec.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ChangeCipherSpec.java deleted file mode 100644 index b3a23c39f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ChangeCipherSpec.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class ChangeCipherSpec -{ - public static final short change_cipher_spec = 1; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherSuite.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherSuite.java deleted file mode 100644 index f55031ba8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherSuite.java +++ /dev/null @@ -1,297 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 A.5 - */ -public class CipherSuite -{ - public static final int TLS_NULL_WITH_NULL_NULL = 0x0000; - public static final int TLS_RSA_WITH_NULL_MD5 = 0x0001; - public static final int TLS_RSA_WITH_NULL_SHA = 0x0002; - public static final int TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 0x0003; - public static final int TLS_RSA_WITH_RC4_128_MD5 = 0x0004; - public static final int TLS_RSA_WITH_RC4_128_SHA = 0x0005; - public static final int TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 0x0006; - public static final int TLS_RSA_WITH_IDEA_CBC_SHA = 0x0007; - public static final int TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0008; - public static final int TLS_RSA_WITH_DES_CBC_SHA = 0x0009; - public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A; - public static final int TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x000B; - public static final int TLS_DH_DSS_WITH_DES_CBC_SHA = 0x000C; - public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 0x000D; - public static final int TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x000E; - public static final int TLS_DH_RSA_WITH_DES_CBC_SHA = 0x000F; - public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 0x0010; - public static final int TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x0011; - public static final int TLS_DHE_DSS_WITH_DES_CBC_SHA = 0x0012; - public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013; - public static final int TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0014; - public static final int TLS_DHE_RSA_WITH_DES_CBC_SHA = 0x0015; - public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016; - public static final int TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 0x0017; - public static final int TLS_DH_anon_WITH_RC4_128_MD5 = 0x0018; - public static final int TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 0x0019; - public static final int TLS_DH_anon_WITH_DES_CBC_SHA = 0x001A; - public static final int TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x001B; - - /* - * Note: The cipher suite values { 0x00, 0x1C } and { 0x00, 0x1D } are reserved to avoid - * collision with Fortezza-based cipher suites in SSL 3. - */ - - /* - * RFC 3268 - */ - public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F; - public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 0x0030; - public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 0x0031; - public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032; - public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033; - public static final int TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x0034; - public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035; - public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 0x0036; - public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 0x0037; - public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038; - public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039; - public static final int TLS_DH_anon_WITH_AES_256_CBC_SHA = 0x003A; - - /* - * RFC 4132 - */ - public static final int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0041; - public static final int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0042; - public static final int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0043; - public static final int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0044; - public static final int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0045; - public static final int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 0x0046; - public static final int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0084; - public static final int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0085; - public static final int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0086; - public static final int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0087; - public static final int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0088; - public static final int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 0x0089; - - /* - * RFC 4162 - */ - public static final int TLS_RSA_WITH_SEED_CBC_SHA = 0x0096; - public static final int TLS_DH_DSS_WITH_SEED_CBC_SHA = 0x0097; - public static final int TLS_DH_RSA_WITH_SEED_CBC_SHA = 0x0098; - public static final int TLS_DHE_DSS_WITH_SEED_CBC_SHA = 0x0099; - public static final int TLS_DHE_RSA_WITH_SEED_CBC_SHA = 0x009A; - public static final int TLS_DH_anon_WITH_SEED_CBC_SHA = 0x009B; - - /* - * RFC 4279 - */ - public static final int TLS_PSK_WITH_RC4_128_SHA = 0x008A; - public static final int TLS_PSK_WITH_3DES_EDE_CBC_SHA = 0x008B; - public static final int TLS_PSK_WITH_AES_128_CBC_SHA = 0x008C; - public static final int TLS_PSK_WITH_AES_256_CBC_SHA = 0x008D; - public static final int TLS_DHE_PSK_WITH_RC4_128_SHA = 0x008E; - public static final int TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 0x008F; - public static final int TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 0x0090; - public static final int TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 0x0091; - public static final int TLS_RSA_PSK_WITH_RC4_128_SHA = 0x0092; - public static final int TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 0x0093; - public static final int TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 0x0094; - public static final int TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 0x0095; - - /* - * RFC 4492 - */ - public static final int TLS_ECDH_ECDSA_WITH_NULL_SHA = 0xC001; - public static final int TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 0xC002; - public static final int TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC003; - public static final int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 0xC004; - public static final int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 0xC005; - public static final int TLS_ECDHE_ECDSA_WITH_NULL_SHA = 0xC006; - public static final int TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 0xC007; - public static final int TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC008; - public static final int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009; - public static final int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A; - public static final int TLS_ECDH_RSA_WITH_NULL_SHA = 0xC00B; - public static final int TLS_ECDH_RSA_WITH_RC4_128_SHA = 0xC00C; - public static final int TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 0xC00D; - public static final int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 0xC00E; - public static final int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 0xC00F; - public static final int TLS_ECDHE_RSA_WITH_NULL_SHA = 0xC010; - public static final int TLS_ECDHE_RSA_WITH_RC4_128_SHA = 0xC011; - public static final int TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 0xC012; - public static final int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013; - public static final int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014; - public static final int TLS_ECDH_anon_WITH_NULL_SHA = 0xC015; - public static final int TLS_ECDH_anon_WITH_RC4_128_SHA = 0xC016; - public static final int TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 0xC017; - public static final int TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 0xC018; - public static final int TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 0xC019; - - /* - * RFC 4785 - */ - public static final int TLS_PSK_WITH_NULL_SHA = 0x002C; - public static final int TLS_DHE_PSK_WITH_NULL_SHA = 0x002D; - public static final int TLS_RSA_PSK_WITH_NULL_SHA = 0x002E; - - /* - * RFC 5054 - */ - public static final int TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 0xC01A; - public static final int TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 0xC01B; - public static final int TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 0xC01C; - public static final int TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 0xC01D; - public static final int TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 0xC01E; - public static final int TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 0xC01F; - public static final int TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 0xC020; - public static final int TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 0xC021; - public static final int TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 0xC022; - - /* - * RFC 5246 - */ - public static final int TLS_RSA_WITH_NULL_SHA256 = 0x003B; - public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C; - public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D; - public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 0x003E; - public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 0x003F; - public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040; - public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067; - public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 0x0068; - public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 0x0069; - public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A; - public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B; - public static final int TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 0x006C; - public static final int TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 0x006D; - - /* - * RFC 5288 - */ - public static final int TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C; - public static final int TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D; - public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E; - public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F; - public static final int TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 0x00A0; - public static final int TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 0x00A1; - public static final int TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2; - public static final int TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3; - public static final int TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 0x00A4; - public static final int TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 0x00A5; - public static final int TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 0x00A6; - public static final int TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 0x00A7; - - /* - * RFC 5289 - */ - public static final int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023; - public static final int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024; - public static final int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC025; - public static final int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC026; - public static final int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027; - public static final int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028; - public static final int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 0xC029; - public static final int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 0xC02A; - public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B; - public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C; - public static final int TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02D; - public static final int TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02E; - public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F; - public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030; - public static final int TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 0xC031; - public static final int TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 0xC032; - - /* - * RFC 5487 - */ - public static final int TLS_PSK_WITH_AES_128_GCM_SHA256 = 0x00A8; - public static final int TLS_PSK_WITH_AES_256_GCM_SHA384 = 0x00A9; - public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 0x00AA; - public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 0x00AB; - public static final int TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 0x00AC; - public static final int TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 0x00AD; - public static final int TLS_PSK_WITH_AES_128_CBC_SHA256 = 0x00AE; - public static final int TLS_PSK_WITH_AES_256_CBC_SHA384 = 0x00AF; - public static final int TLS_PSK_WITH_NULL_SHA256 = 0x00B0; - public static final int TLS_PSK_WITH_NULL_SHA384 = 0x00B1; - public static final int TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 0x00B2; - public static final int TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 0x00B3; - public static final int TLS_DHE_PSK_WITH_NULL_SHA256 = 0x00B4; - public static final int TLS_DHE_PSK_WITH_NULL_SHA384 = 0x00B5; - public static final int TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 0x00B6; - public static final int TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 0x00B7; - public static final int TLS_RSA_PSK_WITH_NULL_SHA256 = 0x00B8; - public static final int TLS_RSA_PSK_WITH_NULL_SHA384 = 0x00B9; - - /* - * RFC 5489 - */ - public static final int TLS_ECDHE_PSK_WITH_RC4_128_SHA = 0xC033; - public static final int TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 0xC034; - public static final int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 0xC035; - public static final int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 0xC036; - public static final int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 0xC037; - public static final int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038; - public static final int TLS_ECDHE_PSK_WITH_NULL_SHA = 0xC039; - public static final int TLS_ECDHE_PSK_WITH_NULL_SHA256 = 0xC03A; - public static final int TLS_ECDHE_PSK_WITH_NULL_SHA384 = 0xC03B; - - /* - * RFC 5746 - */ - public static final int TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 0x00FF; - - /* - * RFC 6655 - */ - public static final int TLS_RSA_WITH_AES_128_CCM = 0xC09C; - public static final int TLS_RSA_WITH_AES_256_CCM = 0xC09D; - public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 0xC09E; - public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 0xC09F; - public static final int TLS_RSA_WITH_AES_128_CCM_8 = 0xC0A0; - public static final int TLS_RSA_WITH_AES_256_CCM_8 = 0xC0A1; - public static final int TLS_DHE_RSA_WITH_AES_128_CCM_8 = 0xC0A2; - public static final int TLS_DHE_RSA_WITH_AES_256_CCM_8 = 0xC0A3; - public static final int TLS_PSK_WITH_AES_128_CCM = 0xC0A4; - public static final int TLS_PSK_WITH_AES_256_CCM = 0xC0A5; - public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 0xC0A6; - public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 0xC0A7; - public static final int TLS_PSK_WITH_AES_128_CCM_8 = 0xC0A8; - public static final int TLS_PSK_WITH_AES_256_CCM_8 = 0xC0A9; - public static final int TLS_PSK_DHE_WITH_AES_128_CCM_8 = 0xC0AA; - public static final int TLS_PSK_DHE_WITH_AES_256_CCM_8 = 0xC0AB; - - /* - * TBD[draft-josefsson-salsa20-tls-02] - */ - static final int TLS_RSA_WITH_ESTREAM_SALSA20_SHA1 = 0xFF00; - static final int TLS_RSA_WITH_SALSA20_SHA1 = 0xFF01; - static final int TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1 = 0xFF02; - static final int TLS_DHE_RSA_WITH_SALSA20_SHA1 = 0xFF03; - static final int TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1 = 0xFF04; - static final int TLS_ECDHE_RSA_WITH_SALSA20_SHA1 = 0xFF05; - static final int TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1 = 0xFF06; - static final int TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1 = 0xFF07; - static final int TLS_PSK_WITH_ESTREAM_SALSA20_SHA1 = 0xFF08; - static final int TLS_PSK_WITH_SALSA20_SHA1 = 0xFF09; - static final int TLS_DHE_PSK_WITH_ESTREAM_SALSA20_SHA1 = 0xFF0A; - static final int TLS_DHE_PSK_WITH_SALSA20_SHA1 = 0xFF0B; - static final int TLS_RSA_PSK_WITH_ESTREAM_SALSA20_SHA1 = 0xFF0C; - static final int TLS_RSA_PSK_WITH_SALSA20_SHA1 = 0xFF0D; - static final int TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_SHA1 = 0xFF0E; - static final int TLS_ECDHE_PSK_WITH_SALSA20_SHA1 = 0xFF0F; - static final int TLS_RSA_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF10; - static final int TLS_RSA_WITH_SALSA20_UMAC96 = 0xFF11; - static final int TLS_DHE_RSA_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF12; - static final int TLS_DHE_RSA_WITH_SALSA20_UMAC96 = 0xFF13; - static final int TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF14; - static final int TLS_ECDHE_RSA_WITH_SALSA20_UMAC96 = 0xFF15; - static final int TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF16; - static final int TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96 = 0xFF17; - static final int TLS_PSK_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF18; - static final int TLS_PSK_WITH_SALSA20_UMAC96 = 0xFF19; - static final int TLS_DHE_PSK_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF1A; - static final int TLS_DHE_PSK_WITH_SALSA20_UMAC96 = 0xFF1B; - static final int TLS_RSA_PSK_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF1C; - static final int TLS_RSA_PSK_WITH_SALSA20_UMAC96 = 0xFF1D; - static final int TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_UMAC96 = 0xFF1E; - static final int TLS_ECDHE_PSK_WITH_SALSA20_UMAC96 = 0xFF1F; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherType.java deleted file mode 100644 index d260668ea..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CipherType.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class CipherType -{ - - public static final int stream = 0; - public static final int block = 1; - - /* - * RFC 5246 - */ - public static final int aead = 2; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientAuthenticationType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientAuthenticationType.java deleted file mode 100644 index 85d03fda5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientAuthenticationType.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class ClientAuthenticationType -{ - - /* - * RFC 5077 4 - */ - public static final short anonymous = 0; - public static final short certificate_based = 1; - public static final short psk = 2; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientCertificateType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientCertificateType.java deleted file mode 100644 index e7fcef58b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ClientCertificateType.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class ClientCertificateType -{ - - /* - * RFC 4346 7.4.4 - */ - public static final short rsa_sign = 1; - public static final short dss_sign = 2; - public static final short rsa_fixed_dh = 3; - public static final short dss_fixed_dh = 4; - public static final short rsa_ephemeral_dh_RESERVED = 5; - public static final short dss_ephemeral_dh_RESERVED = 6; - public static final short fortezza_dms_RESERVED = 20; - - /* - * RFC 4492 5.5 - */ - public static final short ecdsa_sign = 64; - public static final short rsa_fixed_ecdh = 65; - public static final short ecdsa_fixed_ecdh = 66; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CombinedHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CombinedHash.java deleted file mode 100644 index b32ad91ee..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CombinedHash.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.Digest; - -/** - * A combined hash, which implements md5(m) || sha1(m). - */ -class CombinedHash - implements TlsHandshakeHash -{ - protected TlsContext context; - protected Digest md5; - protected Digest sha1; - - CombinedHash() - { - this.md5 = TlsUtils.createHash(HashAlgorithm.md5); - this.sha1 = TlsUtils.createHash(HashAlgorithm.sha1); - } - - CombinedHash(CombinedHash t) - { - this.context = t.context; - this.md5 = TlsUtils.cloneHash(HashAlgorithm.md5, t.md5); - this.sha1 = TlsUtils.cloneHash(HashAlgorithm.sha1, t.sha1); - } - - public void init(TlsContext context) - { - this.context = context; - } - - public TlsHandshakeHash notifyPRFDetermined() - { - return this; - } - - public void trackHashAlgorithm(short hashAlgorithm) - { - throw new IllegalStateException("CombinedHash only supports calculating the legacy PRF for handshake hash"); - } - - public void sealHashAlgorithms() - { - } - - public TlsHandshakeHash stopTracking() - { - return new CombinedHash(this); - } - - public Digest forkPRFHash() - { - return new CombinedHash(this); - } - - public byte[] getFinalHash(short hashAlgorithm) - { - throw new IllegalStateException("CombinedHash doesn't support multiple hashes"); - } - - /** - * @see org.spongycastle.crypto.Digest#getAlgorithmName() - */ - public String getAlgorithmName() - { - return md5.getAlgorithmName() + " and " + sha1.getAlgorithmName(); - } - - /** - * @see org.spongycastle.crypto.Digest#getDigestSize() - */ - public int getDigestSize() - { - return md5.getDigestSize() + sha1.getDigestSize(); - } - - /** - * @see org.spongycastle.crypto.Digest#update(byte) - */ - public void update(byte in) - { - md5.update(in); - sha1.update(in); - } - - /** - * @see org.spongycastle.crypto.Digest#update(byte[], int, int) - */ - public void update(byte[] in, int inOff, int len) - { - md5.update(in, inOff, len); - sha1.update(in, inOff, len); - } - - /** - * @see org.spongycastle.crypto.Digest#doFinal(byte[], int) - */ - public int doFinal(byte[] out, int outOff) - { - if (context != null && TlsUtils.isSSL(context)) - { - ssl3Complete(md5, SSL3Mac.IPAD, SSL3Mac.OPAD, 48); - ssl3Complete(sha1, SSL3Mac.IPAD, SSL3Mac.OPAD, 40); - } - - int i1 = md5.doFinal(out, outOff); - int i2 = sha1.doFinal(out, outOff + i1); - return i1 + i2; - } - - /** - * @see org.spongycastle.crypto.Digest#reset() - */ - public void reset() - { - md5.reset(); - sha1.reset(); - } - - protected void ssl3Complete(Digest d, byte[] ipad, byte[] opad, int padLength) - { - byte[] master_secret = context.getSecurityParameters().masterSecret; - - d.update(master_secret, 0, master_secret.length); - d.update(ipad, 0, padLength); - - byte[] tmp = new byte[d.getDigestSize()]; - d.doFinal(tmp, 0); - - d.update(master_secret, 0, master_secret.length); - d.update(opad, 0, padLength); - d.update(tmp, 0, tmp.length); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CompressionMethod.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CompressionMethod.java deleted file mode 100644 index 2a19b7ff0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/CompressionMethod.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 6.1 - */ -public class CompressionMethod -{ - public static final short _null = 0; - - /** - * @deprecated use '_null' instead - */ - public static final short NULL = _null; - - /* - * RFC 3749 2 - */ - public static final short DEFLATE = 1; - - /* - * Values from 224 decimal (0xE0) through 255 decimal (0xFF) - * inclusive are reserved for private use. - */ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ConnectionEnd.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ConnectionEnd.java deleted file mode 100644 index dd9f284c2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ConnectionEnd.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class ConnectionEnd -{ - - public static final int server = 0; - public static final int client = 1; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ContentType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ContentType.java deleted file mode 100644 index 8704dd809..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ContentType.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 6.2.1 - */ -public class ContentType -{ - public static final short change_cipher_spec = 20; - public static final short alert = 21; - public static final short handshake = 22; - public static final short application_data = 23; - public static final short heartbeat = 24; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSClientProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSClientProtocol.java deleted file mode 100644 index 70cf373e8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSClientProtocol.java +++ /dev/null @@ -1,814 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.util.Arrays; - -public class DTLSClientProtocol - extends DTLSProtocol -{ - public DTLSClientProtocol(SecureRandom secureRandom) - { - super(secureRandom); - } - - public DTLSTransport connect(TlsClient client, DatagramTransport transport) - throws IOException - { - if (client == null) - { - throw new IllegalArgumentException("'client' cannot be null"); - } - if (transport == null) - { - throw new IllegalArgumentException("'transport' cannot be null"); - } - - SecurityParameters securityParameters = new SecurityParameters(); - securityParameters.entity = ConnectionEnd.client; - securityParameters.clientRandom = TlsProtocol.createRandomBlock(secureRandom); - - ClientHandshakeState state = new ClientHandshakeState(); - state.client = client; - state.clientContext = new TlsClientContextImpl(secureRandom, securityParameters); - client.init(state.clientContext); - - DTLSRecordLayer recordLayer = new DTLSRecordLayer(transport, state.clientContext, client, ContentType.handshake); - - TlsSession sessionToResume = state.client.getSessionToResume(); - if (sessionToResume != null) - { - SessionParameters sessionParameters = sessionToResume.exportSessionParameters(); - if (sessionParameters != null) - { - state.tlsSession = sessionToResume; - state.sessionParameters = sessionParameters; - } - } - - try - { - return clientHandshake(state, recordLayer); - } - catch (TlsFatalAlert fatalAlert) - { - recordLayer.fail(fatalAlert.getAlertDescription()); - throw fatalAlert; - } - catch (IOException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw e; - } - catch (RuntimeException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected DTLSTransport clientHandshake(ClientHandshakeState state, DTLSRecordLayer recordLayer) - throws IOException - { - SecurityParameters securityParameters = state.clientContext.getSecurityParameters(); - DTLSReliableHandshake handshake = new DTLSReliableHandshake(state.clientContext, recordLayer); - - byte[] clientHelloBody = generateClientHello(state, state.client); - handshake.sendMessage(HandshakeType.client_hello, clientHelloBody); - - DTLSReliableHandshake.Message serverMessage = handshake.receiveMessage(); - - while (serverMessage.getType() == HandshakeType.hello_verify_request) - { - ProtocolVersion recordLayerVersion = recordLayer.resetDiscoveredPeerVersion(); - ProtocolVersion client_version = state.clientContext.getClientVersion(); - - /* - * RFC 6347 4.2.1 DTLS 1.2 server implementations SHOULD use DTLS version 1.0 regardless of - * the version of TLS that is expected to be negotiated. DTLS 1.2 and 1.0 clients MUST use - * the version solely to indicate packet formatting (which is the same in both DTLS 1.2 and - * 1.0) and not as part of version negotiation. - */ - if (!recordLayerVersion.isEqualOrEarlierVersionOf(client_version)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - byte[] cookie = processHelloVerifyRequest(state, serverMessage.getBody()); - byte[] patched = patchClientHelloWithCookie(clientHelloBody, cookie); - - handshake.resetHandshakeMessagesDigest(); - handshake.sendMessage(HandshakeType.client_hello, patched); - - serverMessage = handshake.receiveMessage(); - } - - if (serverMessage.getType() == HandshakeType.server_hello) - { - reportServerVersion(state, recordLayer.getDiscoveredPeerVersion()); - - processServerHello(state, serverMessage.getBody()); - } - else - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - if (state.maxFragmentLength >= 0) - { - int plainTextLimit = 1 << (8 + state.maxFragmentLength); - recordLayer.setPlaintextLimit(plainTextLimit); - } - - securityParameters.cipherSuite = state.selectedCipherSuite; - securityParameters.compressionAlgorithm = state.selectedCompressionMethod; - securityParameters.prfAlgorithm = TlsProtocol.getPRFAlgorithm(state.clientContext, state.selectedCipherSuite); - - /* - * RFC 5264 7.4.9. Any cipher suite which does not explicitly specify verify_data_length has - * a verify_data_length equal to 12. This includes all existing cipher suites. - */ - securityParameters.verifyDataLength = 12; - - handshake.notifyHelloComplete(); - - boolean resumedSession = state.selectedSessionID.length > 0 && state.tlsSession != null - && Arrays.areEqual(state.selectedSessionID, state.tlsSession.getSessionID()); - - if (resumedSession) - { - if (securityParameters.getCipherSuite() != state.sessionParameters.getCipherSuite() - || securityParameters.getCompressionAlgorithm() != state.sessionParameters.getCompressionAlgorithm()) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - securityParameters.masterSecret = Arrays.clone(state.sessionParameters.getMasterSecret()); - recordLayer.initPendingEpoch(state.client.getCipher()); - - // NOTE: Calculated exclusive of the actual Finished message from the server - byte[] expectedServerVerifyData = TlsUtils.calculateVerifyData(state.clientContext, ExporterLabel.server_finished, - TlsProtocol.getCurrentPRFHash(state.clientContext, handshake.getHandshakeHash(), null)); - processFinished(handshake.receiveMessageBody(HandshakeType.finished), expectedServerVerifyData); - - // NOTE: Calculated exclusive of the Finished message itself - byte[] clientVerifyData = TlsUtils.calculateVerifyData(state.clientContext, ExporterLabel.client_finished, - TlsProtocol.getCurrentPRFHash(state.clientContext, handshake.getHandshakeHash(), null)); - handshake.sendMessage(HandshakeType.finished, clientVerifyData); - - handshake.finish(); - - state.clientContext.setResumableSession(state.tlsSession); - - state.client.notifyHandshakeComplete(); - - return new DTLSTransport(recordLayer); - } - - invalidateSession(state); - - if (state.selectedSessionID.length > 0) - { - state.tlsSession = new TlsSessionImpl(state.selectedSessionID, null); - } - - serverMessage = handshake.receiveMessage(); - - if (serverMessage.getType() == HandshakeType.supplemental_data) - { - processServerSupplementalData(state, serverMessage.getBody()); - serverMessage = handshake.receiveMessage(); - } - else - { - state.client.processServerSupplementalData(null); - } - - state.keyExchange = state.client.getKeyExchange(); - state.keyExchange.init(state.clientContext); - - Certificate serverCertificate = null; - - if (serverMessage.getType() == HandshakeType.certificate) - { - serverCertificate = processServerCertificate(state, serverMessage.getBody()); - serverMessage = handshake.receiveMessage(); - } - else - { - // Okay, Certificate is optional - state.keyExchange.skipServerCredentials(); - } - - // TODO[RFC 3546] Check whether empty certificates is possible, allowed, or excludes CertificateStatus - if (serverCertificate == null || serverCertificate.isEmpty()) - { - state.allowCertificateStatus = false; - } - - if (serverMessage.getType() == HandshakeType.certificate_status) - { - processCertificateStatus(state, serverMessage.getBody()); - serverMessage = handshake.receiveMessage(); - } - else - { - // Okay, CertificateStatus is optional - } - - if (serverMessage.getType() == HandshakeType.server_key_exchange) - { - processServerKeyExchange(state, serverMessage.getBody()); - serverMessage = handshake.receiveMessage(); - } - else - { - // Okay, ServerKeyExchange is optional - state.keyExchange.skipServerKeyExchange(); - } - - if (serverMessage.getType() == HandshakeType.certificate_request) - { - processCertificateRequest(state, serverMessage.getBody()); - - /* - * TODO Give the client a chance to immediately select the CertificateVerify hash - * algorithm here to avoid tracking the other hash algorithms unnecessarily? - */ - TlsUtils.trackHashAlgorithms(handshake.getHandshakeHash(), - state.certificateRequest.getSupportedSignatureAlgorithms()); - - serverMessage = handshake.receiveMessage(); - } - else - { - // Okay, CertificateRequest is optional - } - - if (serverMessage.getType() == HandshakeType.server_hello_done) - { - if (serverMessage.getBody().length != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - } - else - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - handshake.getHandshakeHash().sealHashAlgorithms(); - - Vector clientSupplementalData = state.client.getClientSupplementalData(); - if (clientSupplementalData != null) - { - byte[] supplementalDataBody = generateSupplementalData(clientSupplementalData); - handshake.sendMessage(HandshakeType.supplemental_data, supplementalDataBody); - } - - if (state.certificateRequest != null) - { - state.clientCredentials = state.authentication.getClientCredentials(state.certificateRequest); - - /* - * RFC 5246 If no suitable certificate is available, the client MUST send a certificate - * message containing no certificates. - * - * NOTE: In previous RFCs, this was SHOULD instead of MUST. - */ - Certificate clientCertificate = null; - if (state.clientCredentials != null) - { - clientCertificate = state.clientCredentials.getCertificate(); - } - if (clientCertificate == null) - { - clientCertificate = Certificate.EMPTY_CHAIN; - } - - byte[] certificateBody = generateCertificate(clientCertificate); - handshake.sendMessage(HandshakeType.certificate, certificateBody); - } - - if (state.clientCredentials != null) - { - state.keyExchange.processClientCredentials(state.clientCredentials); - } - else - { - state.keyExchange.skipClientCredentials(); - } - - byte[] clientKeyExchangeBody = generateClientKeyExchange(state); - handshake.sendMessage(HandshakeType.client_key_exchange, clientKeyExchangeBody); - - TlsProtocol.establishMasterSecret(state.clientContext, state.keyExchange); - recordLayer.initPendingEpoch(state.client.getCipher()); - - TlsHandshakeHash prepareFinishHash = handshake.prepareToFinish(); - - if (state.clientCredentials != null && state.clientCredentials instanceof TlsSignerCredentials) - { - TlsSignerCredentials signerCredentials = (TlsSignerCredentials)state.clientCredentials; - - /* - * RFC 5246 4.7. digitally-signed element needs SignatureAndHashAlgorithm from TLS 1.2 - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm; - byte[] hash; - - if (TlsUtils.isTLSv12(state.clientContext)) - { - signatureAndHashAlgorithm = signerCredentials.getSignatureAndHashAlgorithm(); - if (signatureAndHashAlgorithm == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - hash = prepareFinishHash.getFinalHash(signatureAndHashAlgorithm.getHash()); - } - else - { - signatureAndHashAlgorithm = null; - hash = TlsProtocol.getCurrentPRFHash(state.clientContext, prepareFinishHash, null); - } - - byte[] signature = signerCredentials.generateCertificateSignature(hash); - DigitallySigned certificateVerify = new DigitallySigned(signatureAndHashAlgorithm, signature); - byte[] certificateVerifyBody = generateCertificateVerify(state, certificateVerify); - handshake.sendMessage(HandshakeType.certificate_verify, certificateVerifyBody); - } - - // NOTE: Calculated exclusive of the Finished message itself - byte[] clientVerifyData = TlsUtils.calculateVerifyData(state.clientContext, ExporterLabel.client_finished, - TlsProtocol.getCurrentPRFHash(state.clientContext, handshake.getHandshakeHash(), null)); - handshake.sendMessage(HandshakeType.finished, clientVerifyData); - - if (state.expectSessionTicket) - { - serverMessage = handshake.receiveMessage(); - if (serverMessage.getType() == HandshakeType.session_ticket) - { - processNewSessionTicket(state, serverMessage.getBody()); - } - else - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - // NOTE: Calculated exclusive of the actual Finished message from the server - byte[] expectedServerVerifyData = TlsUtils.calculateVerifyData(state.clientContext, ExporterLabel.server_finished, - TlsProtocol.getCurrentPRFHash(state.clientContext, handshake.getHandshakeHash(), null)); - processFinished(handshake.receiveMessageBody(HandshakeType.finished), expectedServerVerifyData); - - handshake.finish(); - - if (state.tlsSession != null) - { - state.sessionParameters = new SessionParameters.Builder() - .setCipherSuite(securityParameters.cipherSuite) - .setCompressionAlgorithm(securityParameters.compressionAlgorithm) - .setMasterSecret(securityParameters.masterSecret) - .setPeerCertificate(serverCertificate) - .build(); - - state.tlsSession = TlsUtils.importSession(state.tlsSession.getSessionID(), state.sessionParameters); - - state.clientContext.setResumableSession(state.tlsSession); - } - - state.client.notifyHandshakeComplete(); - - return new DTLSTransport(recordLayer); - } - - protected byte[] generateCertificateVerify(ClientHandshakeState state, DigitallySigned certificateVerify) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - certificateVerify.encode(buf); - return buf.toByteArray(); - } - - protected byte[] generateClientHello(ClientHandshakeState state, TlsClient client) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - ProtocolVersion client_version = client.getClientVersion(); - if (!client_version.isDTLS()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - state.clientContext.setClientVersion(client_version); - TlsUtils.writeVersion(client_version, buf); - - buf.write(state.clientContext.getSecurityParameters().getClientRandom()); - - // Session ID - byte[] session_id = TlsUtils.EMPTY_BYTES; - if (state.tlsSession != null) - { - session_id = state.tlsSession.getSessionID(); - if (session_id == null || session_id.length > 32) - { - session_id = TlsUtils.EMPTY_BYTES; - } - } - TlsUtils.writeOpaque8(session_id, buf); - - // Cookie - TlsUtils.writeOpaque8(TlsUtils.EMPTY_BYTES, buf); - - /* - * Cipher suites - */ - state.offeredCipherSuites = client.getCipherSuites(); - - // Integer -> byte[] - state.clientExtensions = client.getClientExtensions(); - - // Cipher Suites (and SCSV) - { - /* - * RFC 5746 3.4. The client MUST include either an empty "renegotiation_info" extension, - * or the TLS_EMPTY_RENEGOTIATION_INFO_SCSV signaling cipher suite value in the - * ClientHello. Including both is NOT RECOMMENDED. - */ - byte[] renegExtData = TlsUtils.getExtensionData(state.clientExtensions, TlsProtocol.EXT_RenegotiationInfo); - boolean noRenegExt = (null == renegExtData); - - boolean noSCSV = !Arrays.contains(state.offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV); - - if (noRenegExt && noSCSV) - { - // TODO Consider whether to default to a client extension instead - state.offeredCipherSuites = Arrays.append(state.offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV); - } - - TlsUtils.writeUint16ArrayWithUint16Length(state.offeredCipherSuites, buf); - } - - // TODO Add support for compression - // Compression methods - // state.offeredCompressionMethods = client.getCompressionMethods(); - state.offeredCompressionMethods = new short[]{ CompressionMethod._null }; - - TlsUtils.writeUint8ArrayWithUint8Length(state.offeredCompressionMethods, buf); - - // Extensions - if (state.clientExtensions != null) - { - TlsProtocol.writeExtensions(buf, state.clientExtensions); - } - - return buf.toByteArray(); - } - - protected byte[] generateClientKeyExchange(ClientHandshakeState state) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - state.keyExchange.generateClientKeyExchange(buf); - return buf.toByteArray(); - } - - protected void invalidateSession(ClientHandshakeState state) - { - if (state.sessionParameters != null) - { - state.sessionParameters.clear(); - state.sessionParameters = null; - } - - if (state.tlsSession != null) - { - state.tlsSession.invalidate(); - state.tlsSession = null; - } - } - - protected void processCertificateRequest(ClientHandshakeState state, byte[] body) - throws IOException - { - if (state.authentication == null) - { - /* - * RFC 2246 7.4.4. It is a fatal handshake_failure alert for an anonymous server to - * request client identification. - */ - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - state.certificateRequest = CertificateRequest.parse(state.clientContext, buf); - - TlsProtocol.assertEmpty(buf); - - state.keyExchange.validateCertificateRequest(state.certificateRequest); - } - - protected void processCertificateStatus(ClientHandshakeState state, byte[] body) - throws IOException - { - if (!state.allowCertificateStatus) - { - /* - * RFC 3546 3.6. If a server returns a "CertificateStatus" message, then the - * server MUST have included an extension of type "status_request" with empty - * "extension_data" in the extended server hello.. - */ - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - state.certificateStatus = CertificateStatus.parse(buf); - - TlsProtocol.assertEmpty(buf); - - // TODO[RFC 3546] Figure out how to provide this to the client/authentication. - } - - protected byte[] processHelloVerifyRequest(ClientHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - ProtocolVersion server_version = TlsUtils.readVersion(buf); - byte[] cookie = TlsUtils.readOpaque8(buf); - - TlsProtocol.assertEmpty(buf); - - // TODO Seems this behaviour is not yet in line with OpenSSL for DTLS 1.2 -// reportServerVersion(state, server_version); - if (!server_version.isEqualOrEarlierVersionOf(state.clientContext.getClientVersion())) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - /* - * RFC 6347 This specification increases the cookie size limit to 255 bytes for greater - * future flexibility. The limit remains 32 for previous versions of DTLS. - */ - if (!ProtocolVersion.DTLSv12.isEqualOrEarlierVersionOf(server_version) && cookie.length > 32) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return cookie; - } - - protected void processNewSessionTicket(ClientHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - NewSessionTicket newSessionTicket = NewSessionTicket.parse(buf); - - TlsProtocol.assertEmpty(buf); - - state.client.notifyNewSessionTicket(newSessionTicket); - } - - protected Certificate processServerCertificate(ClientHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - Certificate serverCertificate = Certificate.parse(buf); - - TlsProtocol.assertEmpty(buf); - - state.keyExchange.processServerCertificate(serverCertificate); - state.authentication = state.client.getAuthentication(); - state.authentication.notifyServerCertificate(serverCertificate); - - return serverCertificate; - } - - protected void processServerHello(ClientHandshakeState state, byte[] body) - throws IOException - { - SecurityParameters securityParameters = state.clientContext.getSecurityParameters(); - - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - ProtocolVersion server_version = TlsUtils.readVersion(buf); - reportServerVersion(state, server_version); - - securityParameters.serverRandom = TlsUtils.readFully(32, buf); - - state.selectedSessionID = TlsUtils.readOpaque8(buf); - if (state.selectedSessionID.length > 32) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - state.client.notifySessionID(state.selectedSessionID); - - state.selectedCipherSuite = TlsUtils.readUint16(buf); - if (!Arrays.contains(state.offeredCipherSuites, state.selectedCipherSuite) - || state.selectedCipherSuite == CipherSuite.TLS_NULL_WITH_NULL_NULL - || state.selectedCipherSuite == CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - validateSelectedCipherSuite(state.selectedCipherSuite, AlertDescription.illegal_parameter); - - state.client.notifySelectedCipherSuite(state.selectedCipherSuite); - - state.selectedCompressionMethod = TlsUtils.readUint8(buf); - if (!Arrays.contains(state.offeredCompressionMethods, state.selectedCompressionMethod)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - state.client.notifySelectedCompressionMethod(state.selectedCompressionMethod); - - /* - * RFC3546 2.2 The extended server hello message format MAY be sent in place of the server - * hello message when the client has requested extended functionality via the extended - * client hello message specified in Section 2.1. ... Note that the extended server hello - * message is only sent in response to an extended client hello message. This prevents the - * possibility that the extended server hello message could "break" existing TLS 1.0 - * clients. - */ - - /* - * TODO RFC 3546 2.3 If [...] the older session is resumed, then the server MUST ignore - * extensions appearing in the client hello, and send a server hello containing no - * extensions. - */ - - // Integer -> byte[] - Hashtable serverExtensions = TlsProtocol.readExtensions(buf); - - /* - * RFC 3546 2.2 Note that the extended server hello message is only sent in response to an - * extended client hello message. However, see RFC 5746 exception below. We always include - * the SCSV, so an Extended Server Hello is always allowed. - */ - if (serverExtensions != null) - { - Enumeration e = serverExtensions.keys(); - while (e.hasMoreElements()) - { - Integer extType = (Integer)e.nextElement(); - - /* - * RFC 5746 Note that sending a "renegotiation_info" extension in response to a - * ClientHello containing only the SCSV is an explicit exception to the prohibition - * in RFC 5246, Section 7.4.1.4, on the server sending unsolicited extensions and is - * only allowed because the client is signaling its willingness to receive the - * extension via the TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. TLS implementations - * MUST continue to comply with Section 7.4.1.4 for all other extensions. - */ - if (!extType.equals(TlsProtocol.EXT_RenegotiationInfo) - && null == TlsUtils.getExtensionData(state.clientExtensions, extType)) - { - /* - * RFC 3546 2.3 Note that for all extension types (including those defined in - * future), the extension type MUST NOT appear in the extended server hello - * unless the same extension type appeared in the corresponding client hello. - * Thus clients MUST abort the handshake if they receive an extension type in - * the extended server hello that they did not request in the associated - * (extended) client hello. - */ - throw new TlsFatalAlert(AlertDescription.unsupported_extension); - } - } - - /* - * RFC 5746 3.4. Client Behavior: Initial Handshake - */ - { - /* - * When a ServerHello is received, the client MUST check if it includes the - * "renegotiation_info" extension: - */ - byte[] renegExtData = (byte[])serverExtensions.get(TlsProtocol.EXT_RenegotiationInfo); - if (renegExtData != null) - { - /* - * If the extension is present, set the secure_renegotiation flag to TRUE. The - * client MUST then verify that the length of the "renegotiated_connection" - * field is zero, and if it is not, MUST abort the handshake (by sending a fatal - * handshake_failure alert). - */ - state.secure_renegotiation = true; - - if (!Arrays.constantTimeAreEqual(renegExtData, - TlsProtocol.createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - } - - state.maxFragmentLength = evaluateMaxFragmentLengthExtension(state.clientExtensions, serverExtensions, - AlertDescription.illegal_parameter); - - securityParameters.truncatedHMac = TlsExtensionsUtils.hasTruncatedHMacExtension(serverExtensions); - - state.allowCertificateStatus = TlsUtils.hasExpectedEmptyExtensionData(serverExtensions, - TlsExtensionsUtils.EXT_status_request, AlertDescription.illegal_parameter); - - state.expectSessionTicket = TlsUtils.hasExpectedEmptyExtensionData(serverExtensions, - TlsProtocol.EXT_SessionTicket, AlertDescription.illegal_parameter); - } - - state.client.notifySecureRenegotiation(state.secure_renegotiation); - - if (state.clientExtensions != null) - { - state.client.processServerExtensions(serverExtensions); - } - } - - protected void processServerKeyExchange(ClientHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - state.keyExchange.processServerKeyExchange(buf); - - TlsProtocol.assertEmpty(buf); - } - - protected void processServerSupplementalData(ClientHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - Vector serverSupplementalData = TlsProtocol.readSupplementalDataMessage(buf); - state.client.processServerSupplementalData(serverSupplementalData); - } - - protected void reportServerVersion(ClientHandshakeState state, ProtocolVersion server_version) - throws IOException - { - TlsClientContextImpl clientContext = state.clientContext; - ProtocolVersion currentServerVersion = clientContext.getServerVersion(); - if (null == currentServerVersion) - { - clientContext.setServerVersion(server_version); - state.client.notifyServerVersion(server_version); - } - else if (!currentServerVersion.equals(server_version)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - protected static byte[] patchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie) - throws IOException - { - int sessionIDPos = 34; - int sessionIDLength = TlsUtils.readUint8(clientHelloBody, sessionIDPos); - - int cookieLengthPos = sessionIDPos + 1 + sessionIDLength; - int cookiePos = cookieLengthPos + 1; - - byte[] patched = new byte[clientHelloBody.length + cookie.length]; - System.arraycopy(clientHelloBody, 0, patched, 0, cookieLengthPos); - TlsUtils.checkUint8(cookie.length); - TlsUtils.writeUint8(cookie.length, patched, cookieLengthPos); - System.arraycopy(cookie, 0, patched, cookiePos, cookie.length); - System.arraycopy(clientHelloBody, cookiePos, patched, cookiePos + cookie.length, clientHelloBody.length - - cookiePos); - - return patched; - } - - protected static class ClientHandshakeState - { - TlsClient client = null; - TlsClientContextImpl clientContext = null; - TlsSession tlsSession = null; - SessionParameters sessionParameters = null; - SessionParameters.Builder sessionParametersBuilder = null; - int[] offeredCipherSuites = null; - short[] offeredCompressionMethods = null; - Hashtable clientExtensions = null; - byte[] selectedSessionID = null; - int selectedCipherSuite = -1; - short selectedCompressionMethod = -1; - boolean secure_renegotiation = false; - short maxFragmentLength = -1; - boolean allowCertificateStatus = false; - boolean expectSessionTicket = false; - TlsKeyExchange keyExchange = null; - TlsAuthentication authentication = null; - CertificateStatus certificateStatus = null; - CertificateRequest certificateRequest = null; - TlsCredentials clientCredentials = null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSEpoch.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSEpoch.java deleted file mode 100644 index 6d87f9a5c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSEpoch.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto.tls; - -class DTLSEpoch -{ - - private final DTLSReplayWindow replayWindow = new DTLSReplayWindow(); - - private final int epoch; - private final TlsCipher cipher; - - private long sequence_number = 0; - - DTLSEpoch(int epoch, TlsCipher cipher) - { - if (epoch < 0) - { - throw new IllegalArgumentException("'epoch' must be >= 0"); - } - if (cipher == null) - { - throw new IllegalArgumentException("'cipher' cannot be null"); - } - - this.epoch = epoch; - this.cipher = cipher; - } - - long allocateSequenceNumber() - { - // TODO Check for overflow - return sequence_number++; - } - - TlsCipher getCipher() - { - return cipher; - } - - int getEpoch() - { - return epoch; - } - - DTLSReplayWindow getReplayWindow() - { - return replayWindow; - } - - long getSequence_number() - { - return sequence_number; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSHandshakeRetransmit.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSHandshakeRetransmit.java deleted file mode 100644 index f0b0086cc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSHandshakeRetransmit.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -interface DTLSHandshakeRetransmit -{ - void receivedHandshakeRecord(int epoch, byte[] buf, int off, int len) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSProtocol.java deleted file mode 100644 index 60ca4fe1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSProtocol.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.util.Arrays; - -public abstract class DTLSProtocol -{ - protected final SecureRandom secureRandom; - - protected DTLSProtocol(SecureRandom secureRandom) - { - if (secureRandom == null) - { - throw new IllegalArgumentException("'secureRandom' cannot be null"); - } - - this.secureRandom = secureRandom; - } - - protected void processFinished(byte[] body, byte[] expected_verify_data) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - byte[] verify_data = TlsUtils.readFully(expected_verify_data.length, buf); - - TlsProtocol.assertEmpty(buf); - - if (!Arrays.constantTimeAreEqual(expected_verify_data, verify_data)) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - - protected static short evaluateMaxFragmentLengthExtension(Hashtable clientExtensions, Hashtable serverExtensions, - short alertDescription) throws IOException - { - short maxFragmentLength = TlsExtensionsUtils.getMaxFragmentLengthExtension(serverExtensions); - if (maxFragmentLength >= 0 && maxFragmentLength != TlsExtensionsUtils.getMaxFragmentLengthExtension(clientExtensions)) - { - throw new TlsFatalAlert(alertDescription); - } - return maxFragmentLength; - } - - protected static byte[] generateCertificate(Certificate certificate) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - certificate.encode(buf); - return buf.toByteArray(); - } - - protected static byte[] generateSupplementalData(Vector supplementalData) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - TlsProtocol.writeSupplementalData(buf, supplementalData); - return buf.toByteArray(); - } - - protected static void validateSelectedCipherSuite(int selectedCipherSuite, short alertDescription) - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5: - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5: - case CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5: - case CipherSuite.TLS_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_RC4_128_SHA: - // TODO Alert - throw new IllegalStateException("RC4 MUST NOT be used with DTLS"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReassembler.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReassembler.java deleted file mode 100644 index d88b636c6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReassembler.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.util.Vector; - -class DTLSReassembler -{ - - private final short msg_type; - private final byte[] body; - - private Vector missing = new Vector(); - - DTLSReassembler(short msg_type, int length) - { - this.msg_type = msg_type; - this.body = new byte[length]; - this.missing.addElement(new Range(0, length)); - } - - short getType() - { - return msg_type; - } - - byte[] getBodyIfComplete() - { - return missing.isEmpty() ? body : null; - } - - void contributeFragment(short msg_type, int length, byte[] buf, int off, int fragment_offset, - int fragment_length) - { - - int fragment_end = fragment_offset + fragment_length; - - if (this.msg_type != msg_type || this.body.length != length || fragment_end > length) - { - return; - } - - if (fragment_length == 0) - { - // NOTE: Empty messages still require an empty fragment to complete it - if (fragment_offset == 0 && !missing.isEmpty()) - { - Range firstRange = (Range)missing.firstElement(); - if (firstRange.getEnd() == 0) - { - missing.removeElementAt(0); - } - } - return; - } - - for (int i = 0; i < missing.size(); ++i) - { - Range range = (Range)missing.elementAt(i); - if (range.getStart() >= fragment_end) - { - break; - } - if (range.getEnd() > fragment_offset) - { - - int copyStart = Math.max(range.getStart(), fragment_offset); - int copyEnd = Math.min(range.getEnd(), fragment_end); - int copyLength = copyEnd - copyStart; - - System.arraycopy(buf, off + copyStart - fragment_offset, body, copyStart, - copyLength); - - if (copyStart == range.getStart()) - { - if (copyEnd == range.getEnd()) - { - missing.removeElementAt(i--); - } - else - { - range.setStart(copyEnd); - } - } - else - { - if (copyEnd == range.getEnd()) - { - range.setEnd(copyStart); - } - else - { - missing.insertElementAt(new Range(copyEnd, range.getEnd()), ++i); - range.setEnd(copyStart); - } - } - } - } - } - - void reset() - { - this.missing.removeAllElements(); - this.missing.addElement(new Range(0, body.length)); - } - - private static class Range - { - - private int start, end; - - Range(int start, int end) - { - this.start = start; - this.end = end; - } - - public int getStart() - { - return start; - } - - public void setStart(int start) - { - this.start = start; - } - - public int getEnd() - { - return end; - } - - public void setEnd(int end) - { - this.end = end; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSRecordLayer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSRecordLayer.java deleted file mode 100644 index 6586599fb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSRecordLayer.java +++ /dev/null @@ -1,520 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -class DTLSRecordLayer - implements DatagramTransport -{ - private static final int RECORD_HEADER_LENGTH = 13; - private static final int MAX_FRAGMENT_LENGTH = 1 << 14; - private static final long TCP_MSL = 1000L * 60 * 2; - private static final long RETRANSMIT_TIMEOUT = TCP_MSL * 2; - - private final DatagramTransport transport; - private final TlsContext context; - private final TlsPeer peer; - - private final ByteQueue recordQueue = new ByteQueue(); - - private volatile boolean closed = false; - private volatile boolean failed = false; - private volatile ProtocolVersion discoveredPeerVersion = null; - private volatile boolean inHandshake; - private volatile int plaintextLimit; - private DTLSEpoch currentEpoch, pendingEpoch; - private DTLSEpoch readEpoch, writeEpoch; - - private DTLSHandshakeRetransmit retransmit = null; - private DTLSEpoch retransmitEpoch = null; - private long retransmitExpiry = 0; - - DTLSRecordLayer(DatagramTransport transport, TlsContext context, TlsPeer peer, short contentType) - { - this.transport = transport; - this.context = context; - this.peer = peer; - - this.inHandshake = true; - - this.currentEpoch = new DTLSEpoch(0, new TlsNullCipher(context)); - this.pendingEpoch = null; - this.readEpoch = currentEpoch; - this.writeEpoch = currentEpoch; - - setPlaintextLimit(MAX_FRAGMENT_LENGTH); - } - - void setPlaintextLimit(int plaintextLimit) - { - this.plaintextLimit = plaintextLimit; - } - - ProtocolVersion getDiscoveredPeerVersion() - { - return discoveredPeerVersion; - } - - ProtocolVersion resetDiscoveredPeerVersion() - { - ProtocolVersion result = discoveredPeerVersion; - discoveredPeerVersion = null; - return result; - } - - void initPendingEpoch(TlsCipher pendingCipher) - { - if (pendingEpoch != null) - { - throw new IllegalStateException(); - } - - /* - * TODO "In order to ensure that any given sequence/epoch pair is unique, implementations - * MUST NOT allow the same epoch value to be reused within two times the TCP maximum segment - * lifetime." - */ - - // TODO Check for overflow - this.pendingEpoch = new DTLSEpoch(writeEpoch.getEpoch() + 1, pendingCipher); - } - - void handshakeSuccessful(DTLSHandshakeRetransmit retransmit) - { - if (readEpoch == currentEpoch || writeEpoch == currentEpoch) - { - // TODO - throw new IllegalStateException(); - } - - if (retransmit != null) - { - this.retransmit = retransmit; - this.retransmitEpoch = currentEpoch; - this.retransmitExpiry = System.currentTimeMillis() + RETRANSMIT_TIMEOUT; - } - - this.inHandshake = false; - this.currentEpoch = pendingEpoch; - this.pendingEpoch = null; - } - - void resetWriteEpoch() - { - if (retransmitEpoch != null) - { - this.writeEpoch = retransmitEpoch; - } - else - { - this.writeEpoch = currentEpoch; - } - } - - public int getReceiveLimit() - throws IOException - { - return Math.min(this.plaintextLimit, - readEpoch.getCipher().getPlaintextLimit(transport.getReceiveLimit() - RECORD_HEADER_LENGTH)); - } - - public int getSendLimit() - throws IOException - { - return Math.min(this.plaintextLimit, - writeEpoch.getCipher().getPlaintextLimit(transport.getSendLimit() - RECORD_HEADER_LENGTH)); - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - byte[] record = null; - - for (;;) - { - int receiveLimit = Math.min(len, getReceiveLimit()) + RECORD_HEADER_LENGTH; - if (record == null || record.length < receiveLimit) - { - record = new byte[receiveLimit]; - } - - try - { - if (retransmit != null && System.currentTimeMillis() > retransmitExpiry) - { - retransmit = null; - retransmitEpoch = null; - } - - int received = receiveRecord(record, 0, receiveLimit, waitMillis); - if (received < 0) - { - return received; - } - if (received < RECORD_HEADER_LENGTH) - { - continue; - } - int length = TlsUtils.readUint16(record, 11); - if (received != (length + RECORD_HEADER_LENGTH)) - { - continue; - } - - short type = TlsUtils.readUint8(record, 0); - - // TODO Support user-specified custom protocols? - switch (type) - { - case ContentType.alert: - case ContentType.application_data: - case ContentType.change_cipher_spec: - case ContentType.handshake: - case ContentType.heartbeat: - break; - default: - // TODO Exception? - continue; - } - - int epoch = TlsUtils.readUint16(record, 3); - - DTLSEpoch recordEpoch = null; - if (epoch == readEpoch.getEpoch()) - { - recordEpoch = readEpoch; - } - else if (type == ContentType.handshake && retransmitEpoch != null - && epoch == retransmitEpoch.getEpoch()) - { - recordEpoch = retransmitEpoch; - } - - if (recordEpoch == null) - { - continue; - } - - long seq = TlsUtils.readUint48(record, 5); - if (recordEpoch.getReplayWindow().shouldDiscard(seq)) - { - continue; - } - - ProtocolVersion version = TlsUtils.readVersion(record, 1); - if (discoveredPeerVersion != null && !discoveredPeerVersion.equals(version)) - { - continue; - } - - byte[] plaintext = recordEpoch.getCipher().decodeCiphertext( - getMacSequenceNumber(recordEpoch.getEpoch(), seq), type, record, RECORD_HEADER_LENGTH, - received - RECORD_HEADER_LENGTH); - - recordEpoch.getReplayWindow().reportAuthenticated(seq); - - if (plaintext.length > this.plaintextLimit) - { - continue; - } - - if (discoveredPeerVersion == null) - { - discoveredPeerVersion = version; - } - - switch (type) - { - case ContentType.alert: - { - if (plaintext.length == 2) - { - short alertLevel = plaintext[0]; - short alertDescription = plaintext[1]; - - peer.notifyAlertReceived(alertLevel, alertDescription); - - if (alertLevel == AlertLevel.fatal) - { - fail(alertDescription); - throw new TlsFatalAlert(alertDescription); - } - - // TODO Can close_notify be a fatal alert? - if (alertDescription == AlertDescription.close_notify) - { - closeTransport(); - } - } - else - { - // TODO What exception? - } - - continue; - } - case ContentType.application_data: - { - if (inHandshake) - { - // TODO Consider buffering application data for new epoch that arrives - // out-of-order with the Finished message - continue; - } - break; - } - case ContentType.change_cipher_spec: - { - // Implicitly receive change_cipher_spec and change to pending cipher state - - for (int i = 0; i < plaintext.length; ++i) - { - short message = TlsUtils.readUint8(plaintext, i); - if (message != ChangeCipherSpec.change_cipher_spec) - { - continue; - } - - if (pendingEpoch != null) - { - readEpoch = pendingEpoch; - } - } - - continue; - } - case ContentType.handshake: - { - if (!inHandshake) - { - if (retransmit != null) - { - retransmit.receivedHandshakeRecord(epoch, plaintext, 0, plaintext.length); - } - - // TODO Consider support for HelloRequest - continue; - } - break; - } - case ContentType.heartbeat: - { - // TODO[RFC 6520] - continue; - } - } - - /* - * NOTE: If we receive any non-handshake data in the new epoch implies the peer has - * received our final flight. - */ - if (!inHandshake && retransmit != null) - { - this.retransmit = null; - this.retransmitEpoch = null; - } - - System.arraycopy(plaintext, 0, buf, off, plaintext.length); - return plaintext.length; - } - catch (IOException e) - { - // NOTE: Assume this is a timeout for the moment - throw e; - } - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - short contentType = ContentType.application_data; - - if (this.inHandshake || this.writeEpoch == this.retransmitEpoch) - { - contentType = ContentType.handshake; - - short handshakeType = TlsUtils.readUint8(buf, off); - if (handshakeType == HandshakeType.finished) - { - DTLSEpoch nextEpoch = null; - if (this.inHandshake) - { - nextEpoch = pendingEpoch; - } - else if (this.writeEpoch == this.retransmitEpoch) - { - nextEpoch = currentEpoch; - } - - if (nextEpoch == null) - { - // TODO - throw new IllegalStateException(); - } - - // Implicitly send change_cipher_spec and change to pending cipher state - - // TODO Send change_cipher_spec and finished records in single datagram? - byte[] data = new byte[]{ 1 }; - sendRecord(ContentType.change_cipher_spec, data, 0, data.length); - - writeEpoch = nextEpoch; - } - } - - sendRecord(contentType, buf, off, len); - } - - public void close() - throws IOException - { - if (!closed) - { - if (inHandshake) - { - warn(AlertDescription.user_canceled, "User canceled handshake"); - } - closeTransport(); - } - } - - void fail(short alertDescription) - { - if (!closed) - { - try - { - raiseAlert(AlertLevel.fatal, alertDescription, null, null); - } - catch (Exception e) - { - // Ignore - } - - failed = true; - - closeTransport(); - } - } - - void warn(short alertDescription, String message) - throws IOException - { - raiseAlert(AlertLevel.warning, alertDescription, message, null); - } - - private void closeTransport() - { - if (!closed) - { - /* - * RFC 5246 7.2.1. Unless some other fatal alert has been transmitted, each party is - * required to send a close_notify alert before closing the write side of the - * connection. The other party MUST respond with a close_notify alert of its own and - * close down the connection immediately, discarding any pending writes. - */ - - try - { - if (!failed) - { - warn(AlertDescription.close_notify, null); - } - transport.close(); - } - catch (Exception e) - { - // Ignore - } - - closed = true; - } - } - - private void raiseAlert(short alertLevel, short alertDescription, String message, Exception cause) - throws IOException - { - peer.notifyAlertRaised(alertLevel, alertDescription, message, cause); - - byte[] error = new byte[2]; - error[0] = (byte)alertLevel; - error[1] = (byte)alertDescription; - - sendRecord(ContentType.alert, error, 0, 2); - } - - private int receiveRecord(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - if (recordQueue.size() > 0) - { - int length = 0; - if (recordQueue.size() >= RECORD_HEADER_LENGTH) - { - byte[] lengthBytes = new byte[2]; - recordQueue.read(lengthBytes, 0, 2, 11); - length = TlsUtils.readUint16(lengthBytes, 0); - } - - int received = Math.min(recordQueue.size(), RECORD_HEADER_LENGTH + length); - recordQueue.removeData(buf, off, received, 0); - return received; - } - - int received = transport.receive(buf, off, len, waitMillis); - if (received >= RECORD_HEADER_LENGTH) - { - int fragmentLength = TlsUtils.readUint16(buf, off + 11); - int recordLength = RECORD_HEADER_LENGTH + fragmentLength; - if (received > recordLength) - { - recordQueue.addData(buf, off + recordLength, received - recordLength); - received = recordLength; - } - } - - return received; - } - - private void sendRecord(short contentType, byte[] buf, int off, int len) - throws IOException - { - if (len > this.plaintextLimit) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - /* - * RFC 5264 6.2.1 Implementations MUST NOT send zero-length fragments of Handshake, Alert, - * or ChangeCipherSpec content types. - */ - if (len < 1 && contentType != ContentType.application_data) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - int recordEpoch = writeEpoch.getEpoch(); - long recordSequenceNumber = writeEpoch.allocateSequenceNumber(); - - byte[] ciphertext = writeEpoch.getCipher().encodePlaintext( - getMacSequenceNumber(recordEpoch, recordSequenceNumber), contentType, buf, off, len); - - // TODO Check the ciphertext length? - - byte[] record = new byte[ciphertext.length + RECORD_HEADER_LENGTH]; - TlsUtils.writeUint8(contentType, record, 0); - ProtocolVersion version = discoveredPeerVersion != null ? discoveredPeerVersion : context.getClientVersion(); - TlsUtils.writeVersion(version, record, 1); - TlsUtils.writeUint16(recordEpoch, record, 3); - TlsUtils.writeUint48(recordSequenceNumber, record, 5); - TlsUtils.writeUint16(ciphertext.length, record, 11); - System.arraycopy(ciphertext, 0, record, RECORD_HEADER_LENGTH, ciphertext.length); - - transport.send(record, 0, record.length); - } - - private static long getMacSequenceNumber(int epoch, long sequence_number) - { - return ((long)epoch << 48) | sequence_number; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReliableHandshake.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReliableHandshake.java deleted file mode 100644 index df03fe264..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReliableHandshake.java +++ /dev/null @@ -1,456 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.util.Integers; - -class DTLSReliableHandshake -{ - private final static int MAX_RECEIVE_AHEAD = 10; - - private final DTLSRecordLayer recordLayer; - - private TlsHandshakeHash handshakeHash; - - private Hashtable currentInboundFlight = new Hashtable(); - private Hashtable previousInboundFlight = null; - private Vector outboundFlight = new Vector(); - private boolean sending = true; - - private int message_seq = 0, next_receive_seq = 0; - - DTLSReliableHandshake(TlsContext context, DTLSRecordLayer transport) - { - this.recordLayer = transport; - this.handshakeHash = new DeferredHash(); - this.handshakeHash.init(context); - } - - void notifyHelloComplete() - { - this.handshakeHash = handshakeHash.notifyPRFDetermined(); - } - - TlsHandshakeHash getHandshakeHash() - { - return handshakeHash; - } - - TlsHandshakeHash prepareToFinish() - { - TlsHandshakeHash result = handshakeHash; - this.handshakeHash = handshakeHash.stopTracking(); - return result; - } - - void sendMessage(short msg_type, byte[] body) - throws IOException - { - TlsUtils.checkUint24(body.length); - - if (!sending) - { - checkInboundFlight(); - sending = true; - outboundFlight.removeAllElements(); - } - - Message message = new Message(message_seq++, msg_type, body); - - outboundFlight.addElement(message); - - writeMessage(message); - updateHandshakeMessagesDigest(message); - } - - byte[] receiveMessageBody(short msg_type) - throws IOException - { - Message message = receiveMessage(); - if (message.getType() != msg_type) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - return message.getBody(); - } - - Message receiveMessage() - throws IOException - { - if (sending) - { - sending = false; - prepareInboundFlight(); - } - - // Check if we already have the next message waiting - { - DTLSReassembler next = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(next_receive_seq)); - if (next != null) - { - byte[] body = next.getBodyIfComplete(); - if (body != null) - { - previousInboundFlight = null; - return updateHandshakeMessagesDigest(new Message(next_receive_seq++, next.getType(), body)); - } - } - } - - byte[] buf = null; - - // TODO Check the conditions under which we should reset this - int readTimeoutMillis = 1000; - - for (; ; ) - { - int receiveLimit = recordLayer.getReceiveLimit(); - if (buf == null || buf.length < receiveLimit) - { - buf = new byte[receiveLimit]; - } - - // TODO Handle records containing multiple handshake messages - - try - { - for (; ; ) - { - int received = recordLayer.receive(buf, 0, receiveLimit, readTimeoutMillis); - if (received < 0) - { - break; - } - if (received < 12) - { - continue; - } - int fragment_length = TlsUtils.readUint24(buf, 9); - if (received != (fragment_length + 12)) - { - continue; - } - int seq = TlsUtils.readUint16(buf, 4); - if (seq > (next_receive_seq + MAX_RECEIVE_AHEAD)) - { - continue; - } - short msg_type = TlsUtils.readUint8(buf, 0); - int length = TlsUtils.readUint24(buf, 1); - int fragment_offset = TlsUtils.readUint24(buf, 6); - if (fragment_offset + fragment_length > length) - { - continue; - } - - if (seq < next_receive_seq) - { - /* - * NOTE: If we receive the previous flight of incoming messages in full - * again, retransmit our last flight - */ - if (previousInboundFlight != null) - { - DTLSReassembler reassembler = (DTLSReassembler)previousInboundFlight.get(Integers - .valueOf(seq)); - if (reassembler != null) - { - - reassembler.contributeFragment(msg_type, length, buf, 12, fragment_offset, - fragment_length); - - if (checkAll(previousInboundFlight)) - { - - resendOutboundFlight(); - - /* - * TODO[DTLS] implementations SHOULD back off handshake packet - * size during the retransmit backoff. - */ - readTimeoutMillis = Math.min(readTimeoutMillis * 2, 60000); - - resetAll(previousInboundFlight); - } - } - } - } - else - { - - DTLSReassembler reassembler = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(seq)); - if (reassembler == null) - { - reassembler = new DTLSReassembler(msg_type, length); - currentInboundFlight.put(Integers.valueOf(seq), reassembler); - } - - reassembler.contributeFragment(msg_type, length, buf, 12, fragment_offset, fragment_length); - - if (seq == next_receive_seq) - { - byte[] body = reassembler.getBodyIfComplete(); - if (body != null) - { - previousInboundFlight = null; - return updateHandshakeMessagesDigest(new Message(next_receive_seq++, - reassembler.getType(), body)); - } - } - } - } - } - catch (IOException e) - { - // NOTE: Assume this is a timeout for the moment - } - - resendOutboundFlight(); - - /* - * TODO[DTLS] implementations SHOULD back off handshake packet size during the - * retransmit backoff. - */ - readTimeoutMillis = Math.min(readTimeoutMillis * 2, 60000); - } - } - - void finish() - { - DTLSHandshakeRetransmit retransmit = null; - if (!sending) - { - checkInboundFlight(); - } - else if (currentInboundFlight != null) - { - /* - * RFC 6347 4.2.4. In addition, for at least twice the default MSL defined for [TCP], - * when in the FINISHED state, the node that transmits the last flight (the server in an - * ordinary handshake or the client in a resumed handshake) MUST respond to a retransmit - * of the peer's last flight with a retransmit of the last flight. - */ - retransmit = new DTLSHandshakeRetransmit() - { - public void receivedHandshakeRecord(int epoch, byte[] buf, int off, int len) - throws IOException - { - /* - * TODO Need to handle the case where the previous inbound flight contains - * messages from two epochs. - */ - if (len < 12) - { - return; - } - int fragment_length = TlsUtils.readUint24(buf, off + 9); - if (len != (fragment_length + 12)) - { - return; - } - int seq = TlsUtils.readUint16(buf, off + 4); - if (seq >= next_receive_seq) - { - return; - } - - short msg_type = TlsUtils.readUint8(buf, off); - - // TODO This is a hack that only works until we try to support renegotiation - int expectedEpoch = msg_type == HandshakeType.finished ? 1 : 0; - if (epoch != expectedEpoch) - { - return; - } - - int length = TlsUtils.readUint24(buf, off + 1); - int fragment_offset = TlsUtils.readUint24(buf, off + 6); - if (fragment_offset + fragment_length > length) - { - return; - } - - DTLSReassembler reassembler = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(seq)); - if (reassembler != null) - { - reassembler.contributeFragment(msg_type, length, buf, off + 12, fragment_offset, - fragment_length); - if (checkAll(currentInboundFlight)) - { - resendOutboundFlight(); - resetAll(currentInboundFlight); - } - } - } - }; - } - - recordLayer.handshakeSuccessful(retransmit); - } - - void resetHandshakeMessagesDigest() - { - handshakeHash.reset(); - } - - /** - * Check that there are no "extra" messages left in the current inbound flight - */ - private void checkInboundFlight() - { - Enumeration e = currentInboundFlight.keys(); - while (e.hasMoreElements()) - { - Integer key = (Integer)e.nextElement(); - if (key.intValue() >= next_receive_seq) - { - // TODO Should this be considered an error? - } - } - } - - private void prepareInboundFlight() - { - resetAll(currentInboundFlight); - previousInboundFlight = currentInboundFlight; - currentInboundFlight = new Hashtable(); - } - - private void resendOutboundFlight() - throws IOException - { - recordLayer.resetWriteEpoch(); - for (int i = 0; i < outboundFlight.size(); ++i) - { - writeMessage((Message)outboundFlight.elementAt(i)); - } - } - - private Message updateHandshakeMessagesDigest(Message message) - throws IOException - { - if (message.getType() != HandshakeType.hello_request) - { - byte[] body = message.getBody(); - byte[] buf = new byte[12]; - TlsUtils.writeUint8(message.getType(), buf, 0); - TlsUtils.writeUint24(body.length, buf, 1); - TlsUtils.writeUint16(message.getSeq(), buf, 4); - TlsUtils.writeUint24(0, buf, 6); - TlsUtils.writeUint24(body.length, buf, 9); - handshakeHash.update(buf, 0, buf.length); - handshakeHash.update(body, 0, body.length); - } - return message; - } - - private void writeMessage(Message message) - throws IOException - { - int sendLimit = recordLayer.getSendLimit(); - int fragmentLimit = sendLimit - 12; - - // TODO Support a higher minimum fragment size? - if (fragmentLimit < 1) - { - // TODO Should we be throwing an exception here? - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - int length = message.getBody().length; - - // NOTE: Must still send a fragment if body is empty - int fragment_offset = 0; - do - { - int fragment_length = Math.min(length - fragment_offset, fragmentLimit); - writeHandshakeFragment(message, fragment_offset, fragment_length); - fragment_offset += fragment_length; - } - while (fragment_offset < length); - } - - private void writeHandshakeFragment(Message message, int fragment_offset, int fragment_length) - throws IOException - { - RecordLayerBuffer fragment = new RecordLayerBuffer(12 + fragment_length); - TlsUtils.writeUint8(message.getType(), fragment); - TlsUtils.writeUint24(message.getBody().length, fragment); - TlsUtils.writeUint16(message.getSeq(), fragment); - TlsUtils.writeUint24(fragment_offset, fragment); - TlsUtils.writeUint24(fragment_length, fragment); - fragment.write(message.getBody(), fragment_offset, fragment_length); - - fragment.sendToRecordLayer(recordLayer); - } - - private static boolean checkAll(Hashtable inboundFlight) - { - Enumeration e = inboundFlight.elements(); - while (e.hasMoreElements()) - { - if (((DTLSReassembler)e.nextElement()).getBodyIfComplete() == null) - { - return false; - } - } - return true; - } - - private static void resetAll(Hashtable inboundFlight) - { - Enumeration e = inboundFlight.elements(); - while (e.hasMoreElements()) - { - ((DTLSReassembler)e.nextElement()).reset(); - } - } - - static class Message - { - private final int message_seq; - private final short msg_type; - private final byte[] body; - - private Message(int message_seq, short msg_type, byte[] body) - { - this.message_seq = message_seq; - this.msg_type = msg_type; - this.body = body; - } - - public int getSeq() - { - return message_seq; - } - - public short getType() - { - return msg_type; - } - - public byte[] getBody() - { - return body; - } - } - - static class RecordLayerBuffer extends ByteArrayOutputStream - { - RecordLayerBuffer(int size) - { - super(size); - } - - void sendToRecordLayer(DTLSRecordLayer recordLayer) throws IOException - { - recordLayer.send(buf, 0, count); - buf = null; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReplayWindow.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReplayWindow.java deleted file mode 100644 index 1ce21b5b3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSReplayWindow.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4347 4.1.2.5 Anti-replay - *

    - * Support fast rejection of duplicate records by maintaining a sliding receive window - */ -class DTLSReplayWindow -{ - - private static final long VALID_SEQ_MASK = 0x0000FFFFFFFFFFFFL; - - private static final long WINDOW_SIZE = 64L; - - private long latestConfirmedSeq = -1; - private long bitmap = 0; - - /** - * Check whether a received record with the given sequence number should be rejected as a duplicate. - * - * @param seq the 48-bit DTLSPlainText.sequence_number field of a received record. - * @return true if the record should be discarded without further processing. - */ - boolean shouldDiscard(long seq) - { - if ((seq & VALID_SEQ_MASK) != seq) - { - return true; - } - - if (seq <= latestConfirmedSeq) - { - long diff = latestConfirmedSeq - seq; - if (diff >= WINDOW_SIZE) - { - return true; - } - if ((bitmap & (1L << diff)) != 0) - { - return true; - } - } - - return false; - } - - /** - * Report that a received record with the given sequence number passed authentication checks. - * - * @param seq the 48-bit DTLSPlainText.sequence_number field of an authenticated record. - */ - void reportAuthenticated(long seq) - { - if ((seq & VALID_SEQ_MASK) != seq) - { - throw new IllegalArgumentException("'seq' out of range"); - } - - if (seq <= latestConfirmedSeq) - { - long diff = latestConfirmedSeq - seq; - if (diff < WINDOW_SIZE) - { - bitmap |= (1L << diff); - } - } - else - { - long diff = seq - latestConfirmedSeq; - if (diff >= WINDOW_SIZE) - { - bitmap = 1; - } - else - { - bitmap <<= (int)diff; // for earlier JDKs - bitmap |= 1; - } - latestConfirmedSeq = seq; - } - } - - /** - * When a new epoch begins, sequence numbers begin again at 0 - */ - void reset() - { - latestConfirmedSeq = -1; - bitmap = 0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSServerProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSServerProtocol.java deleted file mode 100644 index 1d05711e4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSServerProtocol.java +++ /dev/null @@ -1,649 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.util.PublicKeyFactory; -import org.spongycastle.util.Arrays; - -public class DTLSServerProtocol - extends DTLSProtocol -{ - protected boolean verifyRequests = true; - - public DTLSServerProtocol(SecureRandom secureRandom) - { - super(secureRandom); - } - - public boolean getVerifyRequests() - { - return verifyRequests; - } - - public void setVerifyRequests(boolean verifyRequests) - { - this.verifyRequests = verifyRequests; - } - - public DTLSTransport accept(TlsServer server, DatagramTransport transport) - throws IOException - { - if (server == null) - { - throw new IllegalArgumentException("'server' cannot be null"); - } - if (transport == null) - { - throw new IllegalArgumentException("'transport' cannot be null"); - } - - SecurityParameters securityParameters = new SecurityParameters(); - securityParameters.entity = ConnectionEnd.server; - securityParameters.serverRandom = TlsProtocol.createRandomBlock(secureRandom); - - ServerHandshakeState state = new ServerHandshakeState(); - state.server = server; - state.serverContext = new TlsServerContextImpl(secureRandom, securityParameters); - server.init(state.serverContext); - - DTLSRecordLayer recordLayer = new DTLSRecordLayer(transport, state.serverContext, server, ContentType.handshake); - - // TODO Need to handle sending of HelloVerifyRequest without entering a full connection - - try - { - return serverHandshake(state, recordLayer); - } - catch (TlsFatalAlert fatalAlert) - { - recordLayer.fail(fatalAlert.getAlertDescription()); - throw fatalAlert; - } - catch (IOException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw e; - } - catch (RuntimeException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected DTLSTransport serverHandshake(ServerHandshakeState state, DTLSRecordLayer recordLayer) - throws IOException - { - SecurityParameters securityParameters = state.serverContext.getSecurityParameters(); - DTLSReliableHandshake handshake = new DTLSReliableHandshake(state.serverContext, recordLayer); - - DTLSReliableHandshake.Message clientMessage = handshake.receiveMessage(); - - { - // NOTE: After receiving a record from the client, we discover the record layer version - ProtocolVersion client_version = recordLayer.getDiscoveredPeerVersion(); - // TODO Read RFCs for guidance on the expected record layer version number - state.serverContext.setClientVersion(client_version); - } - - if (clientMessage.getType() == HandshakeType.client_hello) - { - processClientHello(state, clientMessage.getBody()); - } - else - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - { - byte[] serverHelloBody = generateServerHello(state); - - if (state.maxFragmentLength >= 0) - { - int plainTextLimit = 1 << (8 + state.maxFragmentLength); - recordLayer.setPlaintextLimit(plainTextLimit); - } - - securityParameters.cipherSuite = state.selectedCipherSuite; - securityParameters.compressionAlgorithm = state.selectedCompressionMethod; - securityParameters.prfAlgorithm = TlsProtocol.getPRFAlgorithm(state.serverContext, - state.selectedCipherSuite); - - /* - * RFC 5264 7.4.9. Any cipher suite which does not explicitly specify verify_data_length - * has a verify_data_length equal to 12. This includes all existing cipher suites. - */ - securityParameters.verifyDataLength = 12; - - handshake.sendMessage(HandshakeType.server_hello, serverHelloBody); - } - - handshake.notifyHelloComplete(); - - Vector serverSupplementalData = state.server.getServerSupplementalData(); - if (serverSupplementalData != null) - { - byte[] supplementalDataBody = generateSupplementalData(serverSupplementalData); - handshake.sendMessage(HandshakeType.supplemental_data, supplementalDataBody); - } - - state.keyExchange = state.server.getKeyExchange(); - state.keyExchange.init(state.serverContext); - - state.serverCredentials = state.server.getCredentials(); - - Certificate serverCertificate = null; - - if (state.serverCredentials == null) - { - state.keyExchange.skipServerCredentials(); - } - else - { - state.keyExchange.processServerCredentials(state.serverCredentials); - - serverCertificate = state.serverCredentials.getCertificate(); - byte[] certificateBody = generateCertificate(serverCertificate); - handshake.sendMessage(HandshakeType.certificate, certificateBody); - } - - // TODO[RFC 3546] Check whether empty certificates is possible, allowed, or excludes CertificateStatus - if (serverCertificate == null || serverCertificate.isEmpty()) - { - state.allowCertificateStatus = false; - } - - if (state.allowCertificateStatus) - { - CertificateStatus certificateStatus = state.server.getCertificateStatus(); - if (certificateStatus != null) - { - byte[] certificateStatusBody = generateCertificateStatus(state, certificateStatus); - handshake.sendMessage(HandshakeType.certificate_status, certificateStatusBody); - } - } - - byte[] serverKeyExchange = state.keyExchange.generateServerKeyExchange(); - if (serverKeyExchange != null) - { - handshake.sendMessage(HandshakeType.server_key_exchange, serverKeyExchange); - } - - if (state.serverCredentials != null) - { - state.certificateRequest = state.server.getCertificateRequest(); - if (state.certificateRequest != null) - { - state.keyExchange.validateCertificateRequest(state.certificateRequest); - - byte[] certificateRequestBody = generateCertificateRequest(state, state.certificateRequest); - handshake.sendMessage(HandshakeType.certificate_request, certificateRequestBody); - - TlsUtils.trackHashAlgorithms(handshake.getHandshakeHash(), - state.certificateRequest.getSupportedSignatureAlgorithms()); - } - } - - handshake.sendMessage(HandshakeType.server_hello_done, TlsUtils.EMPTY_BYTES); - - handshake.getHandshakeHash().sealHashAlgorithms(); - - clientMessage = handshake.receiveMessage(); - - if (clientMessage.getType() == HandshakeType.supplemental_data) - { - processClientSupplementalData(state, clientMessage.getBody()); - clientMessage = handshake.receiveMessage(); - } - else - { - state.server.processClientSupplementalData(null); - } - - if (state.certificateRequest == null) - { - state.keyExchange.skipClientCredentials(); - } - else - { - if (clientMessage.getType() == HandshakeType.certificate) - { - processClientCertificate(state, clientMessage.getBody()); - clientMessage = handshake.receiveMessage(); - } - else - { - if (TlsUtils.isTLSv12(state.serverContext)) - { - /* - * RFC 5246 If no suitable certificate is available, the client MUST send a - * certificate message containing no certificates. - * - * NOTE: In previous RFCs, this was SHOULD instead of MUST. - */ - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - notifyClientCertificate(state, Certificate.EMPTY_CHAIN); - } - } - - if (clientMessage.getType() == HandshakeType.client_key_exchange) - { - processClientKeyExchange(state, clientMessage.getBody()); - } - else - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - TlsProtocol.establishMasterSecret(state.serverContext, state.keyExchange); - recordLayer.initPendingEpoch(state.server.getCipher()); - - TlsHandshakeHash prepareFinishHash = handshake.prepareToFinish(); - - /* - * RFC 5246 7.4.8 This message is only sent following a client certificate that has signing - * capability (i.e., all certificates except those containing fixed Diffie-Hellman - * parameters). - */ - if (expectCertificateVerifyMessage(state)) - { - byte[] certificateVerifyBody = handshake.receiveMessageBody(HandshakeType.certificate_verify); - processCertificateVerify(state, certificateVerifyBody, prepareFinishHash); - } - - // NOTE: Calculated exclusive of the actual Finished message from the client - byte[] expectedClientVerifyData = TlsUtils.calculateVerifyData(state.serverContext, ExporterLabel.client_finished, - TlsProtocol.getCurrentPRFHash(state.serverContext, handshake.getHandshakeHash(), null)); - processFinished(handshake.receiveMessageBody(HandshakeType.finished), expectedClientVerifyData); - - if (state.expectSessionTicket) - { - NewSessionTicket newSessionTicket = state.server.getNewSessionTicket(); - byte[] newSessionTicketBody = generateNewSessionTicket(state, newSessionTicket); - handshake.sendMessage(HandshakeType.session_ticket, newSessionTicketBody); - } - - // NOTE: Calculated exclusive of the Finished message itself - byte[] serverVerifyData = TlsUtils.calculateVerifyData(state.serverContext, ExporterLabel.server_finished, - TlsProtocol.getCurrentPRFHash(state.serverContext, handshake.getHandshakeHash(), null)); - handshake.sendMessage(HandshakeType.finished, serverVerifyData); - - handshake.finish(); - - state.server.notifyHandshakeComplete(); - - return new DTLSTransport(recordLayer); - } - - protected byte[] generateCertificateRequest(ServerHandshakeState state, CertificateRequest certificateRequest) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - certificateRequest.encode(buf); - return buf.toByteArray(); - } - - protected byte[] generateCertificateStatus(ServerHandshakeState state, CertificateStatus certificateStatus) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - certificateStatus.encode(buf); - return buf.toByteArray(); - } - - protected byte[] generateNewSessionTicket(ServerHandshakeState state, NewSessionTicket newSessionTicket) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - newSessionTicket.encode(buf); - return buf.toByteArray(); - } - - protected byte[] generateServerHello(ServerHandshakeState state) - throws IOException - { - SecurityParameters securityParameters = state.serverContext.getSecurityParameters(); - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - ProtocolVersion server_version = state.server.getServerVersion(); - if (!server_version.isEqualOrEarlierVersionOf(state.serverContext.getClientVersion())) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - // TODO Read RFCs for guidance on the expected record layer version number - // recordStream.setReadVersion(server_version); - // recordStream.setWriteVersion(server_version); - // recordStream.setRestrictReadVersion(true); - state.serverContext.setServerVersion(server_version); - - TlsUtils.writeVersion(state.serverContext.getServerVersion(), buf); - - buf.write(securityParameters.getServerRandom()); - - /* - * The server may return an empty session_id to indicate that the session will not be cached - * and therefore cannot be resumed. - */ - TlsUtils.writeOpaque8(TlsUtils.EMPTY_BYTES, buf); - - state.selectedCipherSuite = state.server.getSelectedCipherSuite(); - if (!Arrays.contains(state.offeredCipherSuites, state.selectedCipherSuite) - || state.selectedCipherSuite == CipherSuite.TLS_NULL_WITH_NULL_NULL - || state.selectedCipherSuite == CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - validateSelectedCipherSuite(state.selectedCipherSuite, AlertDescription.internal_error); - - state.selectedCompressionMethod = state.server.getSelectedCompressionMethod(); - if (!Arrays.contains(state.offeredCompressionMethods, state.selectedCompressionMethod)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - TlsUtils.writeUint16(state.selectedCipherSuite, buf); - TlsUtils.writeUint8(state.selectedCompressionMethod, buf); - - state.serverExtensions = state.server.getServerExtensions(); - - /* - * RFC 5746 3.6. Server Behavior: Initial Handshake - */ - if (state.secure_renegotiation) - { - byte[] renegExtData = TlsUtils.getExtensionData(state.serverExtensions, TlsProtocol.EXT_RenegotiationInfo); - boolean noRenegExt = (null == renegExtData); - - if (noRenegExt) - { - /* - * Note that sending a "renegotiation_info" extension in response to a ClientHello - * containing only the SCSV is an explicit exception to the prohibition in RFC 5246, - * Section 7.4.1.4, on the server sending unsolicited extensions and is only allowed - * because the client is signaling its willingness to receive the extension via the - * TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. - */ - - /* - * If the secure_renegotiation flag is set to TRUE, the server MUST include an empty - * "renegotiation_info" extension in the ServerHello message. - */ - state.serverExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(state.serverExtensions); - state.serverExtensions.put(TlsProtocol.EXT_RenegotiationInfo, - TlsProtocol.createRenegotiationInfo(TlsUtils.EMPTY_BYTES)); - } - } - - if (state.serverExtensions != null) - { - state.maxFragmentLength = evaluateMaxFragmentLengthExtension(state.clientExtensions, state.serverExtensions, - AlertDescription.internal_error); - - securityParameters.truncatedHMac = TlsExtensionsUtils.hasTruncatedHMacExtension(state.serverExtensions); - - state.allowCertificateStatus = TlsUtils.hasExpectedEmptyExtensionData(state.serverExtensions, - TlsExtensionsUtils.EXT_status_request, AlertDescription.internal_error); - - state.expectSessionTicket = TlsUtils.hasExpectedEmptyExtensionData(state.serverExtensions, - TlsProtocol.EXT_SessionTicket, AlertDescription.internal_error); - - TlsProtocol.writeExtensions(buf, state.serverExtensions); - } - - return buf.toByteArray(); - } - - protected void notifyClientCertificate(ServerHandshakeState state, Certificate clientCertificate) - throws IOException - { - if (state.certificateRequest == null) - { - throw new IllegalStateException(); - } - - if (state.clientCertificate != null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - state.clientCertificate = clientCertificate; - - if (clientCertificate.isEmpty()) - { - state.keyExchange.skipClientCredentials(); - } - else - { - - /* - * TODO RFC 5246 7.4.6. If the certificate_authorities list in the certificate request - * message was non-empty, one of the certificates in the certificate chain SHOULD be - * issued by one of the listed CAs. - */ - - state.clientCertificateType = TlsUtils.getClientCertificateType(clientCertificate, - state.serverCredentials.getCertificate()); - - state.keyExchange.processClientCertificate(clientCertificate); - } - - /* - * RFC 5246 7.4.6. If the client does not send any certificates, the server MAY at its - * discretion either continue the handshake without client authentication, or respond with a - * fatal handshake_failure alert. Also, if some aspect of the certificate chain was - * unacceptable (e.g., it was not signed by a known, trusted CA), the server MAY at its - * discretion either continue the handshake (considering the client unauthenticated) or send - * a fatal alert. - */ - state.server.notifyClientCertificate(clientCertificate); - } - - protected void processClientCertificate(ServerHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - Certificate clientCertificate = Certificate.parse(buf); - - TlsProtocol.assertEmpty(buf); - - notifyClientCertificate(state, clientCertificate); - } - - protected void processCertificateVerify(ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - DigitallySigned clientCertificateVerify = DigitallySigned.parse(state.serverContext, buf); - - TlsProtocol.assertEmpty(buf); - - // Verify the CertificateVerify message contains a correct signature. - try - { - // TODO For TLS 1.2, this needs to be the hash specified in the DigitallySigned - byte[] certificateVerifyHash = TlsProtocol.getCurrentPRFHash(state.serverContext, prepareFinishHash, null); - - org.spongycastle.asn1.x509.Certificate x509Cert = state.clientCertificate.getCertificateAt(0); - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - AsymmetricKeyParameter publicKey = PublicKeyFactory.createKey(keyInfo); - - TlsSigner tlsSigner = TlsUtils.createTlsSigner(state.clientCertificateType); - tlsSigner.init(state.serverContext); - tlsSigner.verifyRawSignature(clientCertificateVerify.getAlgorithm(), - clientCertificateVerify.getSignature(), publicKey, certificateVerifyHash); - } - catch (Exception e) - { - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - } - - protected void processClientHello(ServerHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - // TODO Read RFCs for guidance on the expected record layer version number - ProtocolVersion client_version = TlsUtils.readVersion(buf); - if (!client_version.isDTLS()) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - /* - * Read the client random - */ - byte[] client_random = TlsUtils.readFully(32, buf); - - byte[] sessionID = TlsUtils.readOpaque8(buf); - if (sessionID.length > 32) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - // TODO RFC 4347 has the cookie length restricted to 32, but not in RFC 6347 - byte[] cookie = TlsUtils.readOpaque8(buf); - - int cipher_suites_length = TlsUtils.readUint16(buf); - if (cipher_suites_length < 2 || (cipher_suites_length & 1) != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - /* - * NOTE: "If the session_id field is not empty (implying a session resumption request) this - * vector must include at least the cipher_suite from that session." - */ - state.offeredCipherSuites = TlsUtils.readUint16Array(cipher_suites_length / 2, buf); - - int compression_methods_length = TlsUtils.readUint8(buf); - if (compression_methods_length < 1) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - state.offeredCompressionMethods = TlsUtils.readUint8Array(compression_methods_length, buf); - - /* - * TODO RFC 3546 2.3 If [...] the older session is resumed, then the server MUST ignore - * extensions appearing in the client hello, and send a server hello containing no - * extensions. - */ - state.clientExtensions = TlsProtocol.readExtensions(buf); - - state.serverContext.setClientVersion(client_version); - - state.server.notifyClientVersion(client_version); - - state.serverContext.getSecurityParameters().clientRandom = client_random; - - state.server.notifyOfferedCipherSuites(state.offeredCipherSuites); - state.server.notifyOfferedCompressionMethods(state.offeredCompressionMethods); - - /* - * RFC 5746 3.6. Server Behavior: Initial Handshake - */ - { - /* - * RFC 5746 3.4. The client MUST include either an empty "renegotiation_info" extension, - * or the TLS_EMPTY_RENEGOTIATION_INFO_SCSV signaling cipher suite value in the - * ClientHello. Including both is NOT RECOMMENDED. - */ - - /* - * When a ClientHello is received, the server MUST check if it includes the - * TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. If it does, set the secure_renegotiation flag - * to TRUE. - */ - if (Arrays.contains(state.offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV)) - { - state.secure_renegotiation = true; - } - - /* - * The server MUST check if the "renegotiation_info" extension is included in the - * ClientHello. - */ - byte[] renegExtData = TlsUtils.getExtensionData(state.clientExtensions, TlsProtocol.EXT_RenegotiationInfo); - if (renegExtData != null) - { - /* - * If the extension is present, set secure_renegotiation flag to TRUE. The - * server MUST then verify that the length of the "renegotiated_connection" - * field is zero, and if it is not, MUST abort the handshake. - */ - state.secure_renegotiation = true; - - if (!Arrays.constantTimeAreEqual(renegExtData, TlsProtocol.createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - } - - state.server.notifySecureRenegotiation(state.secure_renegotiation); - - if (state.clientExtensions != null) - { - state.server.processClientExtensions(state.clientExtensions); - } - } - - protected void processClientKeyExchange(ServerHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - - state.keyExchange.processClientKeyExchange(buf); - - TlsProtocol.assertEmpty(buf); - } - - protected void processClientSupplementalData(ServerHandshakeState state, byte[] body) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(body); - Vector clientSupplementalData = TlsProtocol.readSupplementalDataMessage(buf); - state.server.processClientSupplementalData(clientSupplementalData); - } - - protected boolean expectCertificateVerifyMessage(ServerHandshakeState state) - { - return state.clientCertificateType >= 0 && TlsUtils.hasSigningCapability(state.clientCertificateType); - } - - protected static class ServerHandshakeState - { - TlsServer server = null; - TlsServerContextImpl serverContext = null; - int[] offeredCipherSuites; - short[] offeredCompressionMethods; - Hashtable clientExtensions; - int selectedCipherSuite = -1; - short selectedCompressionMethod = -1; - boolean secure_renegotiation = false; - short maxFragmentLength = -1; - boolean allowCertificateStatus = false; - boolean expectSessionTicket = false; - Hashtable serverExtensions = null; - TlsKeyExchange keyExchange = null; - TlsCredentials serverCredentials = null; - CertificateRequest certificateRequest = null; - short clientCertificateType = -1; - Certificate clientCertificate = null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSTransport.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSTransport.java deleted file mode 100644 index 2df9ef7ce..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DTLSTransport.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public class DTLSTransport - implements DatagramTransport -{ - - private final DTLSRecordLayer recordLayer; - - DTLSTransport(DTLSRecordLayer recordLayer) - { - this.recordLayer = recordLayer; - } - - public int getReceiveLimit() - throws IOException - { - return recordLayer.getReceiveLimit(); - } - - public int getSendLimit() - throws IOException - { - return recordLayer.getSendLimit(); - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - try - { - return recordLayer.receive(buf, off, len, waitMillis); - } - catch (TlsFatalAlert fatalAlert) - { - recordLayer.fail(fatalAlert.getAlertDescription()); - throw fatalAlert; - } - catch (IOException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw e; - } - catch (RuntimeException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - try - { - recordLayer.send(buf, off, len); - } - catch (TlsFatalAlert fatalAlert) - { - recordLayer.fail(fatalAlert.getAlertDescription()); - throw fatalAlert; - } - catch (IOException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw e; - } - catch (RuntimeException e) - { - recordLayer.fail(AlertDescription.internal_error); - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void close() - throws IOException - { - recordLayer.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DatagramTransport.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DatagramTransport.java deleted file mode 100644 index 761029b04..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DatagramTransport.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface DatagramTransport -{ - - int getReceiveLimit() - throws IOException; - - int getSendLimit() - throws IOException; - - int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException; - - void send(byte[] buf, int off, int len) - throws IOException; - - void close() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsAgreementCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsAgreementCredentials.java deleted file mode 100644 index be981d8ab..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsAgreementCredentials.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.agreement.DHBasicAgreement; -import org.spongycastle.crypto.agreement.ECDHBasicAgreement; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.util.BigIntegers; - -public class DefaultTlsAgreementCredentials - extends AbstractTlsAgreementCredentials -{ - protected Certificate certificate; - protected AsymmetricKeyParameter privateKey; - - protected BasicAgreement basicAgreement; - protected boolean truncateAgreement; - - public DefaultTlsAgreementCredentials(Certificate certificate, AsymmetricKeyParameter privateKey) - { - if (certificate == null) - { - throw new IllegalArgumentException("'certificate' cannot be null"); - } - if (certificate.isEmpty()) - { - throw new IllegalArgumentException("'certificate' cannot be empty"); - } - if (privateKey == null) - { - throw new IllegalArgumentException("'privateKey' cannot be null"); - } - if (!privateKey.isPrivate()) - { - throw new IllegalArgumentException("'privateKey' must be private"); - } - - if (privateKey instanceof DHPrivateKeyParameters) - { - basicAgreement = new DHBasicAgreement(); - truncateAgreement = true; - } - else if (privateKey instanceof ECPrivateKeyParameters) - { - basicAgreement = new ECDHBasicAgreement(); - truncateAgreement = false; - } - else - { - throw new IllegalArgumentException("'privateKey' type not supported: " - + privateKey.getClass().getName()); - } - - this.certificate = certificate; - this.privateKey = privateKey; - } - - public Certificate getCertificate() - { - return certificate; - } - - public byte[] generateAgreement(AsymmetricKeyParameter peerPublicKey) - { - basicAgreement.init(privateKey); - BigInteger agreementValue = basicAgreement.calculateAgreement(peerPublicKey); - - if (truncateAgreement) - { - return BigIntegers.asUnsignedByteArray(agreementValue); - } - - return BigIntegers.asUnsignedByteArray(basicAgreement.getFieldSize(), agreementValue); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsCipherFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsCipherFactory.java deleted file mode 100644 index aa41af0b5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsCipherFactory.java +++ /dev/null @@ -1,218 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.digests.MD5Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.CamelliaEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.RC4Engine; -import org.spongycastle.crypto.engines.SEEDEngine; -import org.spongycastle.crypto.engines.Salsa20Engine; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CCMBlockCipher; -import org.spongycastle.crypto.modes.GCMBlockCipher; - -public class DefaultTlsCipherFactory - extends AbstractTlsCipherFactory -{ - public TlsCipher createCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm) - throws IOException - { - switch (encryptionAlgorithm) - { - case EncryptionAlgorithm._3DES_EDE_CBC: - return createDESedeCipher(context, macAlgorithm); - case EncryptionAlgorithm.AES_128_CBC: - return createAESCipher(context, 16, macAlgorithm); - case EncryptionAlgorithm.AES_128_CCM: - // NOTE: Ignores macAlgorithm - return createCipher_AES_CCM(context, 16, 16); - case EncryptionAlgorithm.AES_128_CCM_8: - // NOTE: Ignores macAlgorithm - return createCipher_AES_CCM(context, 16, 8); - case EncryptionAlgorithm.AES_256_CCM: - // NOTE: Ignores macAlgorithm - return createCipher_AES_CCM(context, 32, 16); - case EncryptionAlgorithm.AES_256_CCM_8: - // NOTE: Ignores macAlgorithm - return createCipher_AES_CCM(context, 32, 8); - case EncryptionAlgorithm.AES_128_GCM: - // NOTE: Ignores macAlgorithm - return createCipher_AES_GCM(context, 16, 16); - case EncryptionAlgorithm.AES_256_CBC: - return createAESCipher(context, 32, macAlgorithm); - case EncryptionAlgorithm.AES_256_GCM: - // NOTE: Ignores macAlgorithm - return createCipher_AES_GCM(context, 32, 16); - case EncryptionAlgorithm.CAMELLIA_128_CBC: - return createCamelliaCipher(context, 16, macAlgorithm); - case EncryptionAlgorithm.CAMELLIA_256_CBC: - return createCamelliaCipher(context, 32, macAlgorithm); - case EncryptionAlgorithm.ESTREAM_SALSA20: - return createSalsa20Cipher(context, 12, 32, macAlgorithm); - case EncryptionAlgorithm.NULL: - return createNullCipher(context, macAlgorithm); - case EncryptionAlgorithm.RC4_128: - return createRC4Cipher(context, 16, macAlgorithm); - case EncryptionAlgorithm.SALSA20: - return createSalsa20Cipher(context, 20, 32, macAlgorithm); - case EncryptionAlgorithm.SEED_CBC: - return createSEEDCipher(context, macAlgorithm); - default: - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected TlsBlockCipher createAESCipher(TlsContext context, int cipherKeySize, int macAlgorithm) - throws IOException - { - return new TlsBlockCipher(context, createAESBlockCipher(), createAESBlockCipher(), - createHMACDigest(macAlgorithm), createHMACDigest(macAlgorithm), cipherKeySize); - } - - protected TlsAEADCipher createCipher_AES_CCM(TlsContext context, int cipherKeySize, int macSize) - throws IOException - { - return new TlsAEADCipher(context, createAEADBlockCipher_AES_CCM(), - createAEADBlockCipher_AES_CCM(), cipherKeySize, macSize); - } - - protected TlsAEADCipher createCipher_AES_GCM(TlsContext context, int cipherKeySize, int macSize) - throws IOException - { - return new TlsAEADCipher(context, createAEADBlockCipher_AES_GCM(), - createAEADBlockCipher_AES_GCM(), cipherKeySize, macSize); - } - - protected TlsBlockCipher createCamelliaCipher(TlsContext context, int cipherKeySize, int macAlgorithm) - throws IOException - { - return new TlsBlockCipher(context, createCamelliaBlockCipher(), - createCamelliaBlockCipher(), createHMACDigest(macAlgorithm), - createHMACDigest(macAlgorithm), cipherKeySize); - } - - protected TlsBlockCipher createDESedeCipher(TlsContext context, int macAlgorithm) - throws IOException - { - return new TlsBlockCipher(context, createDESedeBlockCipher(), createDESedeBlockCipher(), - createHMACDigest(macAlgorithm), createHMACDigest(macAlgorithm), 24); - } - - protected TlsNullCipher createNullCipher(TlsContext context, int macAlgorithm) - throws IOException - { - return new TlsNullCipher(context, createHMACDigest(macAlgorithm), - createHMACDigest(macAlgorithm)); - } - - protected TlsStreamCipher createRC4Cipher(TlsContext context, int cipherKeySize, int macAlgorithm) - throws IOException - { - return new TlsStreamCipher(context, createRC4StreamCipher(), createRC4StreamCipher(), - createHMACDigest(macAlgorithm), createHMACDigest(macAlgorithm), cipherKeySize); - } - - protected TlsStreamCipher createSalsa20Cipher(TlsContext context, int rounds, int cipherKeySize, int macAlgorithm) - throws IOException - { - /* - * TODO To be able to support UMAC96, we need to give the TlsStreamCipher a Mac instead of - * assuming HMAC and passing a digest. - */ - return new TlsStreamCipher(context, createSalsa20StreamCipher(rounds), createSalsa20StreamCipher(rounds), - createHMACDigest(macAlgorithm), createHMACDigest(macAlgorithm), cipherKeySize); - } - - protected TlsBlockCipher createSEEDCipher(TlsContext context, int macAlgorithm) - throws IOException - { - return new TlsBlockCipher(context, createSEEDBlockCipher(), createSEEDBlockCipher(), - createHMACDigest(macAlgorithm), createHMACDigest(macAlgorithm), 16); - } - - protected BlockCipher createAESBlockCipher() - { - return new CBCBlockCipher(new AESFastEngine()); - } - - protected AEADBlockCipher createAEADBlockCipher_AES_CCM() - { - return new CCMBlockCipher(new AESFastEngine()); - } - - protected AEADBlockCipher createAEADBlockCipher_AES_GCM() - { - // TODO Consider allowing custom configuration of multiplier - return new GCMBlockCipher(new AESFastEngine()); - } - - protected BlockCipher createCamelliaBlockCipher() - { - return new CBCBlockCipher(new CamelliaEngine()); - } - - protected BlockCipher createDESedeBlockCipher() - { - return new CBCBlockCipher(new DESedeEngine()); - } - - protected StreamCipher createRC4StreamCipher() - { - return new RC4Engine(); - } - - protected StreamCipher createSalsa20StreamCipher(int rounds) - { - return new Salsa20Engine(rounds); - } - - protected BlockCipher createSEEDBlockCipher() - { - return new CBCBlockCipher(new SEEDEngine()); - } - - protected Digest createHMACDigest(int macAlgorithm) throws IOException - { - switch (macAlgorithm) - { - case MACAlgorithm._null: - return null; - case MACAlgorithm.hmac_md5: - return new MD5Digest(); - case MACAlgorithm.hmac_sha1: - return new SHA1Digest(); - case MACAlgorithm.hmac_sha256: - return new SHA256Digest(); - case MACAlgorithm.hmac_sha384: - return new SHA384Digest(); - case MACAlgorithm.hmac_sha512: - return new SHA512Digest(); - default: - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected Mac createMac(int macAlgorithm) throws IOException - { - switch (macAlgorithm) - { - // TODO Need an implementation of UMAC -// case MACAlgorithm.umac96: -// return - default: - return new HMac(createHMACDigest(macAlgorithm)); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsClient.java deleted file mode 100644 index 603481239..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsClient.java +++ /dev/null @@ -1,378 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public abstract class DefaultTlsClient - extends AbstractTlsClient -{ - public DefaultTlsClient() - { - super(); - } - - public DefaultTlsClient(TlsCipherFactory cipherFactory) - { - super(cipherFactory); - } - - public int[] getCipherSuites() - { - return new int[] { CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA }; - } - - public TlsKeyExchange getKeyExchange() - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_SEED_CBC_SHA: - return createDHKeyExchange(KeyExchangeAlgorithm.DH_DSS); - - case CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_SEED_CBC_SHA: - return createDHKeyExchange(KeyExchangeAlgorithm.DH_RSA); - - case CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_SEED_CBC_SHA: - return createDHEKeyExchange(KeyExchangeAlgorithm.DHE_DSS); - - case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: - return createDHEKeyExchange(KeyExchangeAlgorithm.DHE_RSA); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - return createECDHKeyExchange(KeyExchangeAlgorithm.ECDH_ECDSA); - - case CipherSuite.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - return createECDHKeyExchange(KeyExchangeAlgorithm.ECDH_RSA); - - case CipherSuite.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96: - return createECDHEKeyExchange(KeyExchangeAlgorithm.ECDHE_ECDSA); - - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_UMAC96: - return createECDHEKeyExchange(KeyExchangeAlgorithm.ECDHE_RSA); - - case CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_NULL_MD5: - case CipherSuite.TLS_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_SEED_CBC_SHA: - return createRSAKeyExchange(); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public TlsCipher getCipher() - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm._3DES_EDE_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha384); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.CAMELLIA_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.CAMELLIA_256_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.umac96); - - case CipherSuite.TLS_RSA_WITH_NULL_MD5: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_md5); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - return cipherFactory.createCipher(context, EncryptionAlgorithm.RC4_128, MACAlgorithm.hmac_md5); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.RC4_128, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.umac96); - - case CipherSuite.TLS_DH_DSS_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_SEED_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SEED_CBC, MACAlgorithm.hmac_sha1); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected TlsKeyExchange createDHKeyExchange(int keyExchange) - { - return new TlsDHKeyExchange(keyExchange, supportedSignatureAlgorithms, null); - } - - protected TlsKeyExchange createDHEKeyExchange(int keyExchange) - { - return new TlsDHEKeyExchange(keyExchange, supportedSignatureAlgorithms, null); - } - - protected TlsKeyExchange createECDHKeyExchange(int keyExchange) - { - return new TlsECDHKeyExchange(keyExchange, supportedSignatureAlgorithms, namedCurves, clientECPointFormats, - serverECPointFormats); - } - - protected TlsKeyExchange createECDHEKeyExchange(int keyExchange) - { - return new TlsECDHEKeyExchange(keyExchange, supportedSignatureAlgorithms, namedCurves, clientECPointFormats, - serverECPointFormats); - } - - protected TlsKeyExchange createRSAKeyExchange() - { - return new TlsRSAKeyExchange(supportedSignatureAlgorithms); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsEncryptionCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsEncryptionCredentials.java deleted file mode 100644 index 417405ed8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsEncryptionCredentials.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; - -public class DefaultTlsEncryptionCredentials - extends AbstractTlsEncryptionCredentials -{ - protected TlsContext context; - protected Certificate certificate; - protected AsymmetricKeyParameter privateKey; - - public DefaultTlsEncryptionCredentials(TlsContext context, Certificate certificate, - AsymmetricKeyParameter privateKey) - { - if (certificate == null) - { - throw new IllegalArgumentException("'certificate' cannot be null"); - } - if (certificate.isEmpty()) - { - throw new IllegalArgumentException("'certificate' cannot be empty"); - } - if (privateKey == null) - { - throw new IllegalArgumentException("'privateKey' cannot be null"); - } - if (!privateKey.isPrivate()) - { - throw new IllegalArgumentException("'privateKey' must be private"); - } - - if (privateKey instanceof RSAKeyParameters) - { - } - else - { - throw new IllegalArgumentException("'privateKey' type not supported: " - + privateKey.getClass().getName()); - } - - this.context = context; - this.certificate = certificate; - this.privateKey = privateKey; - } - - public Certificate getCertificate() - { - return certificate; - } - - public byte[] decryptPreMasterSecret(byte[] encryptedPreMasterSecret) - throws IOException - { - - PKCS1Encoding encoding = new PKCS1Encoding(new RSABlindedEngine()); - encoding.init(false, new ParametersWithRandom(this.privateKey, context.getSecureRandom())); - - try - { - return encoding.processBlock(encryptedPreMasterSecret, 0, - encryptedPreMasterSecret.length); - } - catch (InvalidCipherTextException e) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsServer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsServer.java deleted file mode 100644 index 95cca885f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsServer.java +++ /dev/null @@ -1,455 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.agreement.DHStandardGroups; -import org.spongycastle.crypto.params.DHParameters; - -public abstract class DefaultTlsServer - extends AbstractTlsServer -{ - - public DefaultTlsServer() - { - super(); - } - - public DefaultTlsServer(TlsCipherFactory cipherFactory) - { - super(cipherFactory); - } - - protected TlsEncryptionCredentials getRSAEncryptionCredentials() - throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - protected TlsSignerCredentials getRSASignerCredentials() - throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - protected DHParameters getDHParameters() - { - return DHStandardGroups.rfc5114_1024_160; - } - - protected int[] getCipherSuites() - { - return new int[]{CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, - CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, - CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA,}; - } - - public TlsCredentials getCredentials() - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_MD5: - case CipherSuite.TLS_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_WITH_SEED_CBC_SHA: - return getRSAEncryptionCredentials(); - - case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - return getRSASignerCredentials(); - - default: - /* - * Note: internal error here; selected a key exchange we don't implement! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public TlsKeyExchange getKeyExchange() - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_DSS_WITH_SEED_CBC_SHA: - return createDHKeyExchange(KeyExchangeAlgorithm.DH_DSS); - - case CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_SEED_CBC_SHA: - return createDHKeyExchange(KeyExchangeAlgorithm.DH_RSA); - - case CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_SEED_CBC_SHA: - return createDHEKeyExchange(KeyExchangeAlgorithm.DHE_DSS); - - case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: - return createDHEKeyExchange(KeyExchangeAlgorithm.DHE_RSA); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - return createECDHKeyExchange(KeyExchangeAlgorithm.ECDH_ECDSA); - - case CipherSuite.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - return createECDHKeyExchange(KeyExchangeAlgorithm.ECDH_RSA); - - case CipherSuite.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96: - return createECDHEKeyExchange(KeyExchangeAlgorithm.ECDHE_ECDSA); - - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_UMAC96: - return createECDHEKeyExchange(KeyExchangeAlgorithm.ECDHE_RSA); - - case CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_NULL_MD5: - case CipherSuite.TLS_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_SEED_CBC_SHA: - return createRSAKeyExchange(); - - default: - /* - * Note: internal error here; selected a key exchange we don't implement! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public TlsCipher getCipher() - throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm._3DES_EDE_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha384); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.CAMELLIA_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.CAMELLIA_256_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_ESTREAM_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.umac96); - - case CipherSuite.TLS_RSA_WITH_NULL_MD5: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_md5); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_WITH_NULL_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_RSA_WITH_RC4_128_MD5: - return cipherFactory.createCipher(context, EncryptionAlgorithm.RC4_128, MACAlgorithm.hmac_md5); - - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_WITH_RC4_128_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.RC4_128, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_WITH_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_WITH_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.umac96); - - case CipherSuite.TLS_DH_DSS_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DH_RSA_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DHE_DSS_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_DHE_RSA_WITH_SEED_CBC_SHA: - case CipherSuite.TLS_RSA_WITH_SEED_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SEED_CBC, MACAlgorithm.hmac_sha1); - - default: - /* - * Note: internal error here; selected a cipher suite we don't implement! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected TlsKeyExchange createDHKeyExchange(int keyExchange) - { - return new TlsDHKeyExchange(keyExchange, supportedSignatureAlgorithms, getDHParameters()); - } - - protected TlsKeyExchange createDHEKeyExchange(int keyExchange) - { - return new TlsDHEKeyExchange(keyExchange, supportedSignatureAlgorithms, getDHParameters()); - } - - protected TlsKeyExchange createECDHKeyExchange(int keyExchange) - { - return new TlsECDHKeyExchange(keyExchange, supportedSignatureAlgorithms, namedCurves, clientECPointFormats, - serverECPointFormats); - } - - protected TlsKeyExchange createECDHEKeyExchange(int keyExchange) - { - return new TlsECDHEKeyExchange(keyExchange, supportedSignatureAlgorithms, namedCurves, clientECPointFormats, - serverECPointFormats); - } - - protected TlsKeyExchange createRSAKeyExchange() - { - return new TlsRSAKeyExchange(supportedSignatureAlgorithms); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsSignerCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsSignerCredentials.java deleted file mode 100755 index 51ac6e882..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DefaultTlsSignerCredentials.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; - -public class DefaultTlsSignerCredentials - extends AbstractTlsSignerCredentials -{ - protected TlsContext context; - protected Certificate certificate; - protected AsymmetricKeyParameter privateKey; - protected SignatureAndHashAlgorithm signatureAndHashAlgorithm; - - protected TlsSigner signer; - - public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey) - { - this(context, certificate, privateKey, null); - } - - public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey, - SignatureAndHashAlgorithm signatureAndHashAlgorithm) - { - if (certificate == null) - { - throw new IllegalArgumentException("'certificate' cannot be null"); - } - if (certificate.isEmpty()) - { - throw new IllegalArgumentException("'certificate' cannot be empty"); - } - if (privateKey == null) - { - throw new IllegalArgumentException("'privateKey' cannot be null"); - } - if (!privateKey.isPrivate()) - { - throw new IllegalArgumentException("'privateKey' must be private"); - } - if (TlsUtils.isTLSv12(context) && signatureAndHashAlgorithm == null) - { - throw new IllegalArgumentException("'signatureAndHashAlgorithm' cannot be null for (D)TLS 1.2+"); - } - - if (privateKey instanceof RSAKeyParameters) - { - this.signer = new TlsRSASigner(); - } - else if (privateKey instanceof DSAPrivateKeyParameters) - { - this.signer = new TlsDSSSigner(); - } - else if (privateKey instanceof ECPrivateKeyParameters) - { - this.signer = new TlsECDSASigner(); - } - else - { - throw new IllegalArgumentException("'privateKey' type not supported: " + privateKey.getClass().getName()); - } - - this.signer.init(context); - - this.context = context; - this.certificate = certificate; - this.privateKey = privateKey; - this.signatureAndHashAlgorithm = signatureAndHashAlgorithm; - } - - public Certificate getCertificate() - { - return certificate; - } - - public byte[] generateCertificateSignature(byte[] hash) - throws IOException - { - try - { - if (TlsUtils.isTLSv12(context)) - { - return signer.generateRawSignature(signatureAndHashAlgorithm, privateKey, hash); - } - else - { - return signer.generateRawSignature(privateKey, hash); - } - } - catch (CryptoException e) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public SignatureAndHashAlgorithm getSignatureAndHashAlgorithm() - { - return signatureAndHashAlgorithm; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DeferredHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DeferredHash.java deleted file mode 100644 index 9ac7d346d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DeferredHash.java +++ /dev/null @@ -1,207 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Shorts; - -/** - * Buffers input until the hash algorithm is determined. - */ -class DeferredHash - implements TlsHandshakeHash -{ - protected static final int BUFFERING_HASH_LIMIT = 4; - - protected TlsContext context; - - private DigestInputBuffer buf; - private Hashtable hashes; - private Short prfHashAlgorithm; - - DeferredHash() - { - this.buf = new DigestInputBuffer(); - this.hashes = new Hashtable(); - this.prfHashAlgorithm = null; - } - - private DeferredHash(Short prfHashAlgorithm, Digest prfHash) - { - this.buf = null; - this.hashes = new Hashtable(); - this.prfHashAlgorithm = prfHashAlgorithm; - hashes.put(prfHashAlgorithm, prfHash); - } - - public void init(TlsContext context) - { - this.context = context; - } - - public TlsHandshakeHash notifyPRFDetermined() - { - int prfAlgorithm = context.getSecurityParameters().getPrfAlgorithm(); - if (prfAlgorithm == PRFAlgorithm.tls_prf_legacy) - { - CombinedHash legacyHash = new CombinedHash(); - legacyHash.init(context); - buf.updateDigest(legacyHash); - return legacyHash.notifyPRFDetermined(); - } - - this.prfHashAlgorithm = Shorts.valueOf(TlsUtils.getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); - - checkTrackingHash(prfHashAlgorithm); - - return this; - } - - public void trackHashAlgorithm(short hashAlgorithm) - { - if (buf == null) - { - throw new IllegalStateException("Too late to track more hash algorithms"); - } - - checkTrackingHash(Shorts.valueOf(hashAlgorithm)); - } - - public void sealHashAlgorithms() - { - checkStopBuffering(); - } - - public TlsHandshakeHash stopTracking() - { - Digest prfHash = TlsUtils.cloneHash(prfHashAlgorithm.shortValue(), (Digest)hashes.get(prfHashAlgorithm)); - if (buf != null) - { - buf.updateDigest(prfHash); - } - DeferredHash result = new DeferredHash(prfHashAlgorithm, prfHash); - result.init(context); - return result; - } - - public Digest forkPRFHash() - { - checkStopBuffering(); - - if (buf != null) - { - Digest prfHash = TlsUtils.createHash(prfHashAlgorithm.shortValue()); - buf.updateDigest(prfHash); - return prfHash; - } - - return TlsUtils.cloneHash(prfHashAlgorithm.shortValue(), (Digest)hashes.get(prfHashAlgorithm)); - } - - public byte[] getFinalHash(short hashAlgorithm) - { - Digest d = (Digest)hashes.get(Shorts.valueOf(hashAlgorithm)); - if (d == null) - { - throw new IllegalStateException("HashAlgorithm " + hashAlgorithm + " is not being tracked"); - } - - d = TlsUtils.cloneHash(hashAlgorithm, d); - if (buf != null) - { - buf.updateDigest(d); - } - - byte[] bs = new byte[d.getDigestSize()]; - d.doFinal(bs, 0); - return bs; - } - - public String getAlgorithmName() - { - throw new IllegalStateException("Use fork() to get a definite Digest"); - } - - public int getDigestSize() - { - throw new IllegalStateException("Use fork() to get a definite Digest"); - } - - public void update(byte input) - { - if (buf != null) - { - buf.write(input); - return; - } - - Enumeration e = hashes.elements(); - while (e.hasMoreElements()) - { - Digest hash = (Digest)e.nextElement(); - hash.update(input); - } - } - - public void update(byte[] input, int inOff, int len) - { - if (buf != null) - { - buf.write(input, inOff, len); - return; - } - - Enumeration e = hashes.elements(); - while (e.hasMoreElements()) - { - Digest hash = (Digest)e.nextElement(); - hash.update(input, inOff, len); - } - } - - public int doFinal(byte[] output, int outOff) - { - throw new IllegalStateException("Use fork() to get a definite Digest"); - } - - public void reset() - { - if (buf != null) - { - buf.reset(); - return; - } - - Enumeration e = hashes.elements(); - while (e.hasMoreElements()) - { - Digest hash = (Digest)e.nextElement(); - hash.reset(); - } - } - - protected void checkStopBuffering() - { - if (buf != null && hashes.size() <= BUFFERING_HASH_LIMIT) - { - Enumeration e = hashes.elements(); - while (e.hasMoreElements()) - { - Digest hash = (Digest)e.nextElement(); - buf.updateDigest(hash); - } - - this.buf = null; - } - } - - protected void checkTrackingHash(Short hashAlgorithm) - { - if (!hashes.containsKey(hashAlgorithm)) - { - Digest hash = TlsUtils.createHash(hashAlgorithm.shortValue()); - hashes.put(hashAlgorithm, hash); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestAlgorithm.java deleted file mode 100644 index 9f3cb5570..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestAlgorithm.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - * - * @deprecated use MACAlgorithm constants instead - */ -public class DigestAlgorithm -{ - public static final int NULL = 0; - public static final int MD5 = 1; - public static final int SHA = 2; - - /* - * RFC 5246 - */ - public static final int SHA256 = 3; - public static final int SHA384 = 4; - public static final int SHA512 = 5; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestInputBuffer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestInputBuffer.java deleted file mode 100644 index a8f6594e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigestInputBuffer.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; - -import org.spongycastle.crypto.Digest; - -class DigestInputBuffer extends ByteArrayOutputStream -{ - void updateDigest(Digest d) - { - d.update(this.buf, 0, count); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigitallySigned.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigitallySigned.java deleted file mode 100644 index 8ab8a8d48..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/DigitallySigned.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class DigitallySigned -{ - protected SignatureAndHashAlgorithm algorithm; - protected byte[] signature; - - public DigitallySigned(SignatureAndHashAlgorithm algorithm, byte[] signature) - { - if (signature == null) - { - throw new IllegalArgumentException("'signature' cannot be null"); - } - - this.algorithm = algorithm; - this.signature = signature; - } - - /** - * @return a {@link SignatureAndHashAlgorithm} (or null before TLS 1.2). - */ - public SignatureAndHashAlgorithm getAlgorithm() - { - return algorithm; - } - - public byte[] getSignature() - { - return signature; - } - - /** - * Encode this {@link DigitallySigned} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - if (algorithm != null) - { - algorithm.encode(output); - } - TlsUtils.writeOpaque16(signature, output); - } - - /** - * Parse a {@link DigitallySigned} from an {@link InputStream}. - * - * @param context - * the {@link TlsContext} of the current connection. - * @param input - * the {@link InputStream} to parse from. - * @return a {@link DigitallySigned} object. - * @throws IOException - */ - public static DigitallySigned parse(TlsContext context, InputStream input) throws IOException - { - SignatureAndHashAlgorithm algorithm = null; - if (TlsUtils.isTLSv12(context)) - { - algorithm = SignatureAndHashAlgorithm.parse(input); - } - byte[] signature = TlsUtils.readOpaque16(input); - return new DigitallySigned(algorithm, signature); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECBasisType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECBasisType.java deleted file mode 100644 index 678384f9c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECBasisType.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4492 5.4. (Errata ID: 2389) - */ -public class ECBasisType -{ - - public static final short ec_basis_trinomial = 1; - public static final short ec_basis_pentanomial = 2; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECCurveType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECCurveType.java deleted file mode 100644 index 01266b08e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECCurveType.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4492 5.4 - */ -public class ECCurveType -{ - /** - * Indicates the elliptic curve domain parameters are conveyed verbosely, and the - * underlying finite field is a prime field. - */ - public static final short explicit_prime = 1; - - /** - * Indicates the elliptic curve domain parameters are conveyed verbosely, and the - * underlying finite field is a characteristic-2 field. - */ - public static final short explicit_char2 = 2; - - /** - * Indicates that a named curve is used. This option SHOULD be used when applicable. - */ - public static final short named_curve = 3; - - /* - * Values 248 through 255 are reserved for private use. - */ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECPointFormat.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECPointFormat.java deleted file mode 100644 index 794bc7574..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ECPointFormat.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4492 5.1.2 - */ -public class ECPointFormat -{ - public static final short uncompressed = 0; - public static final short ansiX962_compressed_prime = 1; - public static final short ansiX962_compressed_char2 = 2; - - /* - * reserved (248..255) - */ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/EncryptionAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/EncryptionAlgorithm.java deleted file mode 100644 index 6b607726a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/EncryptionAlgorithm.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class EncryptionAlgorithm -{ - - public static final int NULL = 0; - public static final int RC4_40 = 1; - public static final int RC4_128 = 2; - public static final int RC2_CBC_40 = 3; - public static final int IDEA_CBC = 4; - public static final int DES40_CBC = 5; - public static final int DES_CBC = 6; - public static final int _3DES_EDE_CBC = 7; - - /* - * RFC 3268 - */ - public static final int AES_128_CBC = 8; - public static final int AES_256_CBC = 9; - - /* - * RFC 5289 - */ - public static final int AES_128_GCM = 10; - public static final int AES_256_GCM = 11; - - /* - * RFC 4132 - */ - public static final int CAMELLIA_128_CBC = 12; - public static final int CAMELLIA_256_CBC = 13; - - /* - * RFC 4162 - */ - public static final int SEED_CBC = 14; - - /* - * RFC 6655 - */ - public static final int AES_128_CCM = 15; - public static final int AES_128_CCM_8 = 16; - public static final int AES_256_CCM = 17; - public static final int AES_256_CCM_8 = 18; - - /* - * TBD[draft-josefsson-salsa20-tls-02] - */ - static final int ESTREAM_SALSA20 = 100; - static final int SALSA20 = 101; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExporterLabel.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExporterLabel.java deleted file mode 100644 index 419680a8f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExporterLabel.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5705 - */ -public class ExporterLabel -{ - /* - * RFC 5246 - */ - public static final String client_finished = "client finished"; - public static final String server_finished = "server finished"; - public static final String master_secret = "master secret"; - public static final String key_expansion = "key expansion"; - - /* - * RFC 5216 - */ - public static final String client_EAP_encryption = "client EAP encryption"; - - /* - * RFC 5281 - */ - public static final String ttls_keying_material = "ttls keying material"; - public static final String ttls_challenge = "ttls challenge"; - - /* - * RFC 5764 - */ - public static final String dtls_srtp = "EXTRACTOR-dtls_srtp"; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExtensionType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExtensionType.java deleted file mode 100644 index 0b50769de..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ExtensionType.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class ExtensionType -{ - /* - * RFC 2546 2.3. - */ - public static final int server_name = 0; - public static final int max_fragment_length = 1; - public static final int client_certificate_url = 2; - public static final int trusted_ca_keys = 3; - public static final int truncated_hmac = 4; - public static final int status_request = 5; - - /* - * RFC 4681 - */ - public static final int user_mapping = 6; - - /* - * RFC 4492 5.1. - */ - public static final int elliptic_curves = 10; - public static final int ec_point_formats = 11; - - /* - * RFC 5054 2.8.1. - */ - public static final int srp = 12; - - /* - * RFC 5077 7. - */ - public static final int session_ticket = 35; - - /* - * RFC 5246 7.4.1.4. - */ - public static final int signature_algorithms = 13; - - /* - * RFC 5764 9. - */ - public static final int use_srtp = 14; - - /* - * RFC 6520 6. - */ - public static final int heartbeat = 15; - - /* - * RFC 5746 3.2. - */ - public static final int renegotiation_info = 0xff01; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HandshakeType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HandshakeType.java deleted file mode 100644 index f03135f1f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HandshakeType.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class HandshakeType -{ - /* - * RFC 2246 7.4 - */ - public static final short hello_request = 0; - public static final short client_hello = 1; - public static final short server_hello = 2; - public static final short certificate = 11; - public static final short server_key_exchange = 12; - public static final short certificate_request = 13; - public static final short server_hello_done = 14; - public static final short certificate_verify = 15; - public static final short client_key_exchange = 16; - public static final short finished = 20; - - /* - * RFC 3546 2.4 - */ - public static final short certificate_url = 21; - public static final short certificate_status = 22; - - /* - * (DTLS) RFC 4347 4.3.2 - */ - public static final short hello_verify_request = 3; - - /* - * RFC 4680 - */ - public static final short supplemental_data = 23; - - /* - * RFC 5077 - */ - public static final short session_ticket = 4; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HashAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HashAlgorithm.java deleted file mode 100644 index 0e32be9ca..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HashAlgorithm.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5246 7.4.1.4.1 - */ -public class HashAlgorithm -{ - public static final short none = 0; - public static final short md5 = 1; - public static final short sha1 = 2; - public static final short sha224 = 3; - public static final short sha256 = 4; - public static final short sha384 = 5; - public static final short sha512 = 6; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatExtension.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatExtension.java deleted file mode 100644 index 4c325014c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatExtension.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class HeartbeatExtension -{ - protected short mode; - - public HeartbeatExtension(short mode) - { - if (!HeartbeatMode.isValid(mode)) - { - throw new IllegalArgumentException("'mode' is not a valid HeartbeatMode value"); - } - - this.mode = mode; - } - - public short getMode() - { - return mode; - } - - /** - * Encode this {@link HeartbeatExtension} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - TlsUtils.writeUint8(mode, output); - } - - /** - * Parse a {@link HeartbeatExtension} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link HeartbeatExtension} object. - * @throws IOException - */ - public static HeartbeatExtension parse(InputStream input) throws IOException - { - short mode = TlsUtils.readUint8(input); - if (!HeartbeatMode.isValid(mode)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return new HeartbeatExtension(mode); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessage.java deleted file mode 100644 index 60fc2529b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessage.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.io.Streams; - -public class HeartbeatMessage -{ - protected short type; - protected byte[] payload; - protected int paddingLength; - - public HeartbeatMessage(short type, byte[] payload, int paddingLength) - { - if (!HeartbeatMessageType.isValid(type)) - { - throw new IllegalArgumentException("'type' is not a valid HeartbeatMessageType value"); - } - if (payload == null || payload.length >= (1 << 16)) - { - throw new IllegalArgumentException("'payload' must have length < 2^16"); - } - if (paddingLength < 16) - { - throw new IllegalArgumentException("'paddingLength' must be at least 16"); - } - - this.type = type; - this.payload = payload; - this.paddingLength = paddingLength; - } - - /** - * Encode this {@link HeartbeatMessage} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(TlsContext context, OutputStream output) throws IOException - { - TlsUtils.writeUint8(type, output); - - TlsUtils.checkUint16(payload.length); - TlsUtils.writeUint16(payload.length, output); - output.write(payload); - - byte[] padding = new byte[paddingLength]; - context.getSecureRandom().nextBytes(padding); - output.write(padding); - } - - /** - * Parse a {@link HeartbeatMessage} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link HeartbeatMessage} object. - * @throws IOException - */ - public static HeartbeatMessage parse(InputStream input) throws IOException - { - short type = TlsUtils.readUint8(input); - if (!HeartbeatMessageType.isValid(type)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - int payload_length = TlsUtils.readUint16(input); - - PayloadBuffer buf = new PayloadBuffer(); - Streams.pipeAll(input, buf); - - byte[] payload = buf.toTruncatedByteArray(payload_length); - if (payload == null) - { - /* - * RFC 6520 4. If the payload_length of a received HeartbeatMessage is too large, the - * received HeartbeatMessage MUST be discarded silently. - */ - return null; - } - - int padding_length = buf.size() - payload.length; - - return new HeartbeatMessage(type, payload, padding_length); - } - - static class PayloadBuffer extends ByteArrayOutputStream - { - byte[] toTruncatedByteArray(int payloadLength) - { - /* - * RFC 6520 4. The padding_length MUST be at least 16. - */ - int minimumCount = payloadLength + 16; - if (count < minimumCount) - { - return null; - } - return Arrays.copyOf(buf, payloadLength); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessageType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessageType.java deleted file mode 100644 index 2d21a1e8e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMessageType.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.tls; - -/* - * RFC 6520 3. - */ -public class HeartbeatMessageType -{ - public static final short heartbeat_request = 1; - public static final short heartbeat_response = 2; - - public static boolean isValid(short heartbeatMessageType) - { - return heartbeatMessageType >= heartbeat_request && heartbeatMessageType <= heartbeat_response; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMode.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMode.java deleted file mode 100644 index 1c9472b26..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/HeartbeatMode.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.spongycastle.crypto.tls; - -/* - * RFC 6520 - */ -public class HeartbeatMode -{ - public static final short peer_allowed_to_send = 1; - public static final short peer_not_allowed_to_send = 2; - - public static boolean isValid(short heartbeatMode) - { - return heartbeatMode >= peer_allowed_to_send && heartbeatMode <= peer_not_allowed_to_send; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/KeyExchangeAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/KeyExchangeAlgorithm.java deleted file mode 100644 index 4c41bac49..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/KeyExchangeAlgorithm.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class KeyExchangeAlgorithm -{ - public static final int NULL = 0; - public static final int RSA = 1; - public static final int RSA_EXPORT = 2; - public static final int DHE_DSS = 3; - public static final int DHE_DSS_EXPORT = 4; - public static final int DHE_RSA = 5; - public static final int DHE_RSA_EXPORT = 6; - public static final int DH_DSS = 7; - public static final int DH_DSS_EXPORT = 8; - public static final int DH_RSA = 9; - public static final int DH_RSA_EXPORT = 10; - public static final int DH_anon = 11; - public static final int DH_anon_EXPORT = 12; - - /* - * RFC 4279 - */ - public static final int PSK = 13; - public static final int DHE_PSK = 14; - public static final int RSA_PSK = 15; - - /* - * RFC 4429 - */ - public static final int ECDH_ECDSA = 16; - public static final int ECDHE_ECDSA = 17; - public static final int ECDH_RSA = 18; - public static final int ECDHE_RSA = 19; - public static final int ECDH_anon = 20; - - /* - * RFC 5054 - */ - public static final int SRP = 21; - public static final int SRP_DSS = 22; - public static final int SRP_RSA = 23; - - /* - * RFC 5489 - */ - public static final int ECDHE_PSK = 24; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsAuthentication.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsAuthentication.java deleted file mode 100644 index 5e8a67eed..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsAuthentication.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -/** - * A temporary class to wrap old CertificateVerifyer stuff for new TlsAuthentication - * - * @deprecated - */ -public class LegacyTlsAuthentication - extends ServerOnlyTlsAuthentication -{ - protected CertificateVerifyer verifyer; - - public LegacyTlsAuthentication(CertificateVerifyer verifyer) - { - this.verifyer = verifyer; - } - - public void notifyServerCertificate(Certificate serverCertificate) - throws IOException - { - if (!this.verifyer.isValid(serverCertificate.getCertificateList())) - { - throw new TlsFatalAlert(AlertDescription.user_canceled); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsClient.java deleted file mode 100644 index 32384ff99..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/LegacyTlsClient.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -/** - * A temporary class to use LegacyTlsAuthentication - * - * @deprecated - */ -public class LegacyTlsClient - extends DefaultTlsClient -{ - /** - * @deprecated - */ - protected CertificateVerifyer verifyer; - - /** - * @deprecated - */ - public LegacyTlsClient(CertificateVerifyer verifyer) - { - super(); - - this.verifyer = verifyer; - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return new LegacyTlsAuthentication(verifyer); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MACAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MACAlgorithm.java deleted file mode 100644 index 9f2ad384f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MACAlgorithm.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 2246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class MACAlgorithm -{ - public static final int _null = 0; - public static final int md5 = 1; - public static final int sha = 2; - - /* - * RFC 5246 - */ - public static final int hmac_md5 = md5; - public static final int hmac_sha1 = sha; - public static final int hmac_sha256 = 3; - public static final int hmac_sha384 = 4; - public static final int hmac_sha512 = 5; - - /* - * TBD[draft-josefsson-salsa20-tls-02] - */ - static final int umac96 = 100; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MaxFragmentLength.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MaxFragmentLength.java deleted file mode 100644 index 12aa8f37b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/MaxFragmentLength.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class MaxFragmentLength -{ - /* - * RFC 3546 3.2. - */ - public static short pow2_9 = 1; - public static short pow2_10 = 2; - public static short pow2_11 = 3; - public static short pow2_12 = 4; - - public static boolean isValid(short maxFragmentLength) - { - return maxFragmentLength >= pow2_9 && maxFragmentLength <= pow2_12; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NameType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NameType.java deleted file mode 100644 index 86ca0ef07..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NameType.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class NameType -{ - /* - * RFC 3546 3.1. - */ - public static final short host_name = 0; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NamedCurve.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NamedCurve.java deleted file mode 100644 index ec40602f1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NamedCurve.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4492 5.1.1 - *

    - * The named curves defined here are those specified in SEC 2 [13]. Note that many of these curves - * are also recommended in ANSI X9.62 [7] and FIPS 186-2 [11]. Values 0xFE00 through 0xFEFF are - * reserved for private use. Values 0xFF01 and 0xFF02 indicate that the client supports arbitrary - * prime and characteristic-2 curves, respectively (the curve parameters must be encoded explicitly - * in ECParameters). - */ -public class NamedCurve -{ - public static final int sect163k1 = 1; - public static final int sect163r1 = 2; - public static final int sect163r2 = 3; - public static final int sect193r1 = 4; - public static final int sect193r2 = 5; - public static final int sect233k1 = 6; - public static final int sect233r1 = 7; - public static final int sect239k1 = 8; - public static final int sect283k1 = 9; - public static final int sect283r1 = 10; - public static final int sect409k1 = 11; - public static final int sect409r1 = 12; - public static final int sect571k1 = 13; - public static final int sect571r1 = 14; - public static final int secp160k1 = 15; - public static final int secp160r1 = 16; - public static final int secp160r2 = 17; - public static final int secp192k1 = 18; - public static final int secp192r1 = 19; - public static final int secp224k1 = 20; - public static final int secp224r1 = 21; - public static final int secp256k1 = 22; - public static final int secp256r1 = 23; - public static final int secp384r1 = 24; - public static final int secp521r1 = 25; - - /* - * RFC 7027 - */ - public static final int brainpoolP256r1 = 26; - public static final int brainpoolP384r1 = 27; - public static final int brainpoolP512r1 = 28; - - /* - * reserved (0xFE00..0xFEFF) - */ - - public static final int arbitrary_explicit_prime_curves = 0xFF01; - public static final int arbitrary_explicit_char2_curves = 0xFF02; - - public static boolean refersToASpecificNamedCurve(int namedCurve) - { - switch (namedCurve) - { - case arbitrary_explicit_prime_curves: - case arbitrary_explicit_char2_curves: - return false; - default: - return true; - } - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NewSessionTicket.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NewSessionTicket.java deleted file mode 100644 index d9d67c280..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/NewSessionTicket.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class NewSessionTicket -{ - protected long ticketLifetimeHint; - protected byte[] ticket; - - public NewSessionTicket(long ticketLifetimeHint, byte[] ticket) - { - this.ticketLifetimeHint = ticketLifetimeHint; - this.ticket = ticket; - } - - public long getTicketLifetimeHint() - { - return ticketLifetimeHint; - } - - public byte[] getTicket() - { - return ticket; - } - - /** - * Encode this {@link NewSessionTicket} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - TlsUtils.writeUint32(ticketLifetimeHint, output); - TlsUtils.writeOpaque16(ticket, output); - } - - /** - * Parse a {@link NewSessionTicket} from an {@link InputStream}. - * - * @param input the {@link InputStream} to parse from. - * @return a {@link NewSessionTicket} object. - * @throws IOException - */ - public static NewSessionTicket parse(InputStream input) - throws IOException - { - long ticketLifetimeHint = TlsUtils.readUint32(input); - byte[] ticket = TlsUtils.readOpaque16(input); - return new NewSessionTicket(ticketLifetimeHint, ticket); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/OCSPStatusRequest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/OCSPStatusRequest.java deleted file mode 100644 index d95bea9bd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/OCSPStatusRequest.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ocsp.ResponderID; -import org.spongycastle.asn1.x509.Extensions; - -/** - * RFC 3546 3.6 - */ -public class OCSPStatusRequest -{ - protected Vector responderIDList; - protected Extensions requestExtensions; - - /** - * @param responderIDList - * a {@link Vector} of {@link ResponderID}, specifying the list of trusted OCSP - * responders. An empty list has the special meaning that the responders are - * implicitly known to the server - e.g., by prior arrangement. - * @param requestExtensions - * OCSP request extensions. A null value means that there are no extensions. - */ - public OCSPStatusRequest(Vector responderIDList, Extensions requestExtensions) - { - this.responderIDList = responderIDList; - this.requestExtensions = requestExtensions; - } - - /** - * @return a {@link Vector} of {@link ResponderID} - */ - public Vector getResponderIDList() - { - return responderIDList; - } - - /** - * @return OCSP request extensions - */ - public Extensions getRequestExtensions() - { - return requestExtensions; - } - - /** - * Encode this {@link OCSPStatusRequest} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - if (responderIDList == null || responderIDList.isEmpty()) - { - TlsUtils.writeUint16(0, output); - } - else - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - for (int i = 0; i < responderIDList.size(); ++i) - { - ResponderID responderID = (ResponderID) responderIDList.elementAt(i); - byte[] derEncoding = responderID.getEncoded(ASN1Encoding.DER); - TlsUtils.writeOpaque16(derEncoding, buf); - } - TlsUtils.checkUint16(buf.size()); - TlsUtils.writeUint16(buf.size(), output); - buf.writeTo(output); - } - - if (requestExtensions == null) - { - TlsUtils.writeUint16(0, output); - } - else - { - byte[] derEncoding = requestExtensions.getEncoded(ASN1Encoding.DER); - TlsUtils.checkUint16(derEncoding.length); - TlsUtils.writeUint16(derEncoding.length, output); - output.write(derEncoding); - } - } - - /** - * Parse a {@link OCSPStatusRequest} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link OCSPStatusRequest} object. - * @throws IOException - */ - public static OCSPStatusRequest parse(InputStream input) throws IOException - { - Vector responderIDList = new Vector(); - { - int length = TlsUtils.readUint16(input); - if (length > 0) - { - byte[] data = TlsUtils.readFully(length, input); - ByteArrayInputStream buf = new ByteArrayInputStream(data); - do - { - byte[] derEncoding = TlsUtils.readOpaque16(buf); - ResponderID responderID = ResponderID.getInstance(TlsUtils.readDERObject(derEncoding)); - responderIDList.addElement(responderID); - } - while (buf.available() > 0); - } - } - - Extensions requestExtensions = null; - { - int length = TlsUtils.readUint16(input); - if (length > 0) - { - byte[] derEncoding = TlsUtils.readFully(length, input); - requestExtensions = Extensions.getInstance(TlsUtils.readDERObject(derEncoding)); - } - } - - return new OCSPStatusRequest(responderIDList, requestExtensions); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PRFAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PRFAlgorithm.java deleted file mode 100644 index 62abbec63..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PRFAlgorithm.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5246 - *

    - * Note that the values here are implementation-specific and arbitrary. It is recommended not to - * depend on the particular values (e.g. serialization). - */ -public class PRFAlgorithm -{ - - /* - * Placeholder to refer to the legacy TLS algorithm - */ - public static final int tls_prf_legacy = 0; - - public static final int tls_prf_sha256 = 1; - - /* - * Implied by RFC 5288 - */ - public static final int tls_prf_sha384 = 2; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PSKTlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PSKTlsClient.java deleted file mode 100644 index 2955c1c00..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/PSKTlsClient.java +++ /dev/null @@ -1,240 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public abstract class PSKTlsClient - extends AbstractTlsClient -{ - protected TlsPSKIdentity pskIdentity; - - public PSKTlsClient(TlsPSKIdentity pskIdentity) - { - super(); - this.pskIdentity = pskIdentity; - } - - public PSKTlsClient(TlsCipherFactory cipherFactory, TlsPSKIdentity pskIdentity) - { - super(cipherFactory); - this.pskIdentity = pskIdentity; - } - - public int[] getCipherSuites() - { - return new int[] { CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, - CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, - CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA }; - } - - public TlsKeyExchange getKeyExchange() throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_DHE_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_DHE_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_DHE_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_DHE_PSK_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_PSK_DHE_WITH_AES_128_CCM_8: - case CipherSuite.TLS_PSK_DHE_WITH_AES_256_CCM_8: - return createPSKKeyExchange(KeyExchangeAlgorithm.DHE_PSK); - - case CipherSuite.TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_UMAC96: - return createPSKKeyExchange(KeyExchangeAlgorithm.ECDHE_PSK); - - case CipherSuite.TLS_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_PSK_WITH_SALSA20_UMAC96: - return createPSKKeyExchange(KeyExchangeAlgorithm.PSK); - - case CipherSuite.TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_PSK_WITH_SALSA20_UMAC96: - return createPSKKeyExchange(KeyExchangeAlgorithm.RSA_PSK); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public TlsCipher getCipher() throws IOException - { - switch (selectedCipherSuite) - { - case CipherSuite.TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm._3DES_EDE_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_CBC_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CCM: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_PSK_DHE_WITH_AES_128_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_GCM_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_CBC_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha384); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CCM: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM, MACAlgorithm._null); - - case CipherSuite.TLS_PSK_DHE_WITH_AES_256_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM_8: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CCM_8, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_GCM_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_GCM, MACAlgorithm._null); - - case CipherSuite.TLS_DHE_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_RSA_PSK_WITH_ESTREAM_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_PSK_WITH_ESTREAM_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.ESTREAM_SALSA20, MACAlgorithm.umac96); - - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA256: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha256); - - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA384: - return cipherFactory.createCipher(context, EncryptionAlgorithm.NULL, MACAlgorithm.hmac_sha384); - - case CipherSuite.TLS_DHE_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_PSK_WITH_RC4_128_SHA: - case CipherSuite.TLS_RSA_PSK_WITH_RC4_128_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.RC4_128, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_RSA_PSK_WITH_SALSA20_SHA1: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_DHE_PSK_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_PSK_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_RSA_PSK_WITH_SALSA20_UMAC96: - return cipherFactory.createCipher(context, EncryptionAlgorithm.SALSA20, MACAlgorithm.umac96); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected TlsKeyExchange createPSKKeyExchange(int keyExchange) - { - return new TlsPSKKeyExchange(keyExchange, supportedSignatureAlgorithms, pskIdentity, null, namedCurves, - clientECPointFormats, serverECPointFormats); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ProtocolVersion.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ProtocolVersion.java deleted file mode 100644 index 3aeefe42b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ProtocolVersion.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public final class ProtocolVersion -{ - public static final ProtocolVersion SSLv3 = new ProtocolVersion(0x0300, "SSL 3.0"); - public static final ProtocolVersion TLSv10 = new ProtocolVersion(0x0301, "TLS 1.0"); - public static final ProtocolVersion TLSv11 = new ProtocolVersion(0x0302, "TLS 1.1"); - public static final ProtocolVersion TLSv12 = new ProtocolVersion(0x0303, "TLS 1.2"); - public static final ProtocolVersion DTLSv10 = new ProtocolVersion(0xFEFF, "DTLS 1.0"); - public static final ProtocolVersion DTLSv12 = new ProtocolVersion(0xFEFD, "DTLS 1.2"); - - private int version; - private String name; - - private ProtocolVersion(int v, String name) - { - this.version = v & 0xffff; - this.name = name; - } - - public int getFullVersion() - { - return version; - } - - public int getMajorVersion() - { - return version >> 8; - } - - public int getMinorVersion() - { - return version & 0xff; - } - - public boolean isDTLS() - { - return getMajorVersion() == 0xFE; - } - - public boolean isSSL() - { - return this == SSLv3; - } - - public ProtocolVersion getEquivalentTLSVersion() - { - if (!isDTLS()) - { - return this; - } - if (this == DTLSv10) - { - return TLSv11; - } - return TLSv12; - } - - public boolean isEqualOrEarlierVersionOf(ProtocolVersion version) - { - if (getMajorVersion() != version.getMajorVersion()) - { - return false; - } - int diffMinorVersion = version.getMinorVersion() - getMinorVersion(); - return isDTLS() ? diffMinorVersion <= 0 : diffMinorVersion >= 0; - } - - public boolean isLaterVersionOf(ProtocolVersion version) - { - if (getMajorVersion() != version.getMajorVersion()) - { - return false; - } - int diffMinorVersion = version.getMinorVersion() - getMinorVersion(); - return isDTLS() ? diffMinorVersion > 0 : diffMinorVersion < 0; - } - - public boolean equals(Object obj) - { - return this == obj; - } - - public int hashCode() - { - return version; - } - - public static ProtocolVersion get(int major, int minor) - throws IOException - { - switch (major) - { - case 0x03: - switch (minor) - { - case 0x00: - return SSLv3; - case 0x01: - return TLSv10; - case 0x02: - return TLSv11; - case 0x03: - return TLSv12; - } - case 0xFE: - switch (minor) - { - case 0xFF: - return DTLSv10; - case 0xFD: - return DTLSv12; - } - } - - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - public String toString() - { - return name; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/RecordStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/RecordStream.java deleted file mode 100644 index 01cc00526..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/RecordStream.java +++ /dev/null @@ -1,361 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.crypto.Digest; - -/** - * An implementation of the TLS 1.0/1.1/1.2 record layer, allowing downgrade to SSLv3. - */ -class RecordStream -{ - private static int DEFAULT_PLAINTEXT_LIMIT = (1 << 14); - - private TlsProtocol handler; - private InputStream input; - private OutputStream output; - private TlsCompression pendingCompression = null, readCompression = null, writeCompression = null; - private TlsCipher pendingCipher = null, readCipher = null, writeCipher = null; - private long readSeqNo = 0, writeSeqNo = 0; - private ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - - private TlsContext context = null; - private TlsHandshakeHash handshakeHash = null; - - private ProtocolVersion readVersion = null, writeVersion = null; - private boolean restrictReadVersion = true; - - private int plaintextLimit, compressedLimit, ciphertextLimit; - - RecordStream(TlsProtocol handler, InputStream input, OutputStream output) - { - this.handler = handler; - this.input = input; - this.output = output; - this.readCompression = new TlsNullCompression(); - this.writeCompression = this.readCompression; - this.readCipher = new TlsNullCipher(context); - this.writeCipher = this.readCipher; - - setPlaintextLimit(DEFAULT_PLAINTEXT_LIMIT); - } - - void init(TlsContext context) - { - this.context = context; - this.handshakeHash = new DeferredHash(); - this.handshakeHash.init(context); - } - - int getPlaintextLimit() - { - return plaintextLimit; - } - - void setPlaintextLimit(int plaintextLimit) - { - this.plaintextLimit = plaintextLimit; - this.compressedLimit = this.plaintextLimit + 1024; - this.ciphertextLimit = this.compressedLimit + 1024; - } - - ProtocolVersion getReadVersion() - { - return readVersion; - } - - void setReadVersion(ProtocolVersion readVersion) - { - this.readVersion = readVersion; - } - - void setWriteVersion(ProtocolVersion writeVersion) - { - this.writeVersion = writeVersion; - } - - /** - * RFC 5246 E.1. "Earlier versions of the TLS specification were not fully clear on what the - * record layer version number (TLSPlaintext.version) should contain when sending ClientHello - * (i.e., before it is known which version of the protocol will be employed). Thus, TLS servers - * compliant with this specification MUST accept any value {03,XX} as the record layer version - * number for ClientHello." - */ - void setRestrictReadVersion(boolean enabled) - { - this.restrictReadVersion = enabled; - } - - void setPendingConnectionState(TlsCompression tlsCompression, TlsCipher tlsCipher) - { - this.pendingCompression = tlsCompression; - this.pendingCipher = tlsCipher; - } - - void sentWriteCipherSpec() - throws IOException - { - if (pendingCompression == null || pendingCipher == null) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - this.writeCompression = this.pendingCompression; - this.writeCipher = this.pendingCipher; - this.writeSeqNo = 0; - } - - void receivedReadCipherSpec() - throws IOException - { - if (pendingCompression == null || pendingCipher == null) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - this.readCompression = this.pendingCompression; - this.readCipher = this.pendingCipher; - this.readSeqNo = 0; - } - - void finaliseHandshake() - throws IOException - { - if (readCompression != pendingCompression || writeCompression != pendingCompression - || readCipher != pendingCipher || writeCipher != pendingCipher) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - pendingCompression = null; - pendingCipher = null; - } - - public boolean readRecord() - throws IOException - { - byte[] recordHeader = TlsUtils.readAllOrNothing(5, input); - if (recordHeader == null) - { - return false; - } - - short type = TlsUtils.readUint8(recordHeader, 0); - - /* - * RFC 5246 6. If a TLS implementation receives an unexpected record type, it MUST send an - * unexpected_message alert. - */ - checkType(type, AlertDescription.unexpected_message); - - if (!restrictReadVersion) - { - int version = TlsUtils.readVersionRaw(recordHeader, 1); - if ((version & 0xffffff00) != 0x0300) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - else - { - ProtocolVersion version = TlsUtils.readVersion(recordHeader, 1); - if (readVersion == null) - { - readVersion = version; - } - else if (!version.equals(readVersion)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - int length = TlsUtils.readUint16(recordHeader, 3); - byte[] plaintext = decodeAndVerify(type, input, length); - handler.processRecord(type, plaintext, 0, plaintext.length); - return true; - } - - protected byte[] decodeAndVerify(short type, InputStream input, int len) - throws IOException - { - checkLength(len, ciphertextLimit, AlertDescription.record_overflow); - - byte[] buf = TlsUtils.readFully(len, input); - byte[] decoded = readCipher.decodeCiphertext(readSeqNo++, type, buf, 0, buf.length); - - checkLength(decoded.length, compressedLimit, AlertDescription.record_overflow); - - /* - * TODO RFC5264 6.2.2. Implementation note: Decompression functions are responsible for - * ensuring that messages cannot cause internal buffer overflows. - */ - OutputStream cOut = readCompression.decompress(buffer); - if (cOut != buffer) - { - cOut.write(decoded, 0, decoded.length); - cOut.flush(); - decoded = getBufferContents(); - } - - /* - * RFC 5264 6.2.2. If the decompression function encounters a TLSCompressed.fragment that - * would decompress to a length in excess of 2^14 bytes, it should report a fatal - * decompression failure error. - */ - checkLength(decoded.length, plaintextLimit, AlertDescription.decompression_failure); - - /* - * RFC 5264 6.2.1 Implementations MUST NOT send zero-length fragments of Handshake, Alert, - * or ChangeCipherSpec content types. - */ - if (decoded.length < 1 && type != ContentType.application_data) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return decoded; - } - - protected void writeRecord(short type, byte[] plaintext, int plaintextOffset, int plaintextLength) - throws IOException - { - /* - * RFC 5264 6. Implementations MUST NOT send record types not defined in this document - * unless negotiated by some extension. - */ - checkType(type, AlertDescription.internal_error); - - /* - * RFC 5264 6.2.1 The length should not exceed 2^14. - */ - checkLength(plaintextLength, plaintextLimit, AlertDescription.internal_error); - - /* - * RFC 5264 6.2.1 Implementations MUST NOT send zero-length fragments of Handshake, Alert, - * or ChangeCipherSpec content types. - */ - if (plaintextLength < 1 && type != ContentType.application_data) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - if (type == ContentType.handshake) - { - updateHandshakeData(plaintext, plaintextOffset, plaintextLength); - } - - OutputStream cOut = writeCompression.compress(buffer); - - byte[] ciphertext; - if (cOut == buffer) - { - ciphertext = writeCipher.encodePlaintext(writeSeqNo++, type, plaintext, plaintextOffset, plaintextLength); - } - else - { - cOut.write(plaintext, plaintextOffset, plaintextLength); - cOut.flush(); - byte[] compressed = getBufferContents(); - - /* - * RFC5264 6.2.2. Compression must be lossless and may not increase the content length - * by more than 1024 bytes. - */ - checkLength(compressed.length, plaintextLength + 1024, AlertDescription.internal_error); - - ciphertext = writeCipher.encodePlaintext(writeSeqNo++, type, compressed, 0, compressed.length); - } - - /* - * RFC 5264 6.2.3. The length may not exceed 2^14 + 2048. - */ - checkLength(ciphertext.length, ciphertextLimit, AlertDescription.internal_error); - - byte[] record = new byte[ciphertext.length + 5]; - TlsUtils.writeUint8(type, record, 0); - TlsUtils.writeVersion(writeVersion, record, 1); - TlsUtils.writeUint16(ciphertext.length, record, 3); - System.arraycopy(ciphertext, 0, record, 5, ciphertext.length); - output.write(record); - output.flush(); - } - - void notifyHelloComplete() - { - this.handshakeHash = handshakeHash.notifyPRFDetermined(); - } - - TlsHandshakeHash getHandshakeHash() - { - return handshakeHash; - } - - TlsHandshakeHash prepareToFinish() - { - TlsHandshakeHash result = handshakeHash; - this.handshakeHash = handshakeHash.stopTracking(); - return result; - } - - void updateHandshakeData(byte[] message, int offset, int len) - { - handshakeHash.update(message, offset, len); - } - - protected void safeClose() - { - try - { - input.close(); - } - catch (IOException e) - { - } - - try - { - output.close(); - } - catch (IOException e) - { - } - } - - protected void flush() - throws IOException - { - output.flush(); - } - - private byte[] getBufferContents() - { - byte[] contents = buffer.toByteArray(); - buffer.reset(); - return contents; - } - - private static void checkType(short type, short alertDescription) - throws IOException - { - switch (type) - { - case ContentType.application_data: - case ContentType.alert: - case ContentType.change_cipher_spec: - case ContentType.handshake: - case ContentType.heartbeat: - break; - default: - throw new TlsFatalAlert(alertDescription); - } - } - - private static void checkLength(int length, int limit, short alertDescription) - throws IOException - { - if (length > limit) - { - throw new TlsFatalAlert(alertDescription); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRPTlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRPTlsClient.java deleted file mode 100644 index 65aa6ceec..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRPTlsClient.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.util.Arrays; - -public abstract class SRPTlsClient - extends AbstractTlsClient -{ - /** - * @deprecated use TlsSRPUtils.EXT_SRP instead - */ - public static final Integer EXT_SRP = TlsSRPUtils.EXT_SRP; - - protected byte[] identity; - protected byte[] password; - - public SRPTlsClient(byte[] identity, byte[] password) - { - super(); - this.identity = Arrays.clone(identity); - this.password = Arrays.clone(password); - } - - public SRPTlsClient(TlsCipherFactory cipherFactory, byte[] identity, byte[] password) - { - super(cipherFactory); - this.identity = Arrays.clone(identity); - this.password = Arrays.clone(password); - } - - public int[] getCipherSuites() - { - return new int[] { CipherSuite.TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA }; - } - - public Hashtable getClientExtensions() - throws IOException - { - Hashtable clientExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(super.getClientExtensions()); - TlsSRPUtils.addSRPExtension(clientExtensions, this.identity); - return clientExtensions; - } - - public void processServerExtensions(Hashtable serverExtensions) - throws IOException - { - if (!TlsUtils.hasExpectedEmptyExtensionData(serverExtensions, TlsSRPUtils.EXT_SRP, AlertDescription.illegal_parameter)) - { - // No explicit guidance in RFC 5054 here; we allow an optional empty extension from server - } - } - - public TlsKeyExchange getKeyExchange() - throws IOException - { - - switch (selectedCipherSuite) - { - case CipherSuite.TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_WITH_AES_256_CBC_SHA: - return createSRPKeyExchange(KeyExchangeAlgorithm.SRP); - - case CipherSuite.TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA: - return createSRPKeyExchange(KeyExchangeAlgorithm.SRP_RSA); - - case CipherSuite.TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA: - return createSRPKeyExchange(KeyExchangeAlgorithm.SRP_DSS); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public TlsCipher getCipher() - throws IOException - { - - switch (selectedCipherSuite) - { - case CipherSuite.TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm._3DES_EDE_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_SRP_SHA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_128_CBC, MACAlgorithm.hmac_sha1); - - case CipherSuite.TLS_SRP_SHA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA: - return cipherFactory.createCipher(context, EncryptionAlgorithm.AES_256_CBC, MACAlgorithm.hmac_sha1); - - default: - /* - * Note: internal error here; the TlsProtocol implementation verifies that the - * server-selected cipher suite was in the list of client-offered cipher suites, so if - * we now can't produce an implementation, we shouldn't have offered it! - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected TlsKeyExchange createSRPKeyExchange(int keyExchange) - { - return new TlsSRPKeyExchange(keyExchange, supportedSignatureAlgorithms, identity, password); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRTPProtectionProfile.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRTPProtectionProfile.java deleted file mode 100644 index 6581b54a2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SRTPProtectionProfile.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class SRTPProtectionProfile -{ - /* - * RFC 5764 4.1.2. - */ - public static final int SRTP_AES128_CM_HMAC_SHA1_80 = 0x0001; - public static final int SRTP_AES128_CM_HMAC_SHA1_32 = 0x0002; - public static final int SRTP_NULL_HMAC_SHA1_80 = 0x0005; - public static final int SRTP_NULL_HMAC_SHA1_32 = 0x0006; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SSL3Mac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SSL3Mac.java deleted file mode 100644 index bd4e37f95..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SSL3Mac.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; - -/** - * HMAC implementation based on original internet draft for HMAC (RFC 2104) - *

    - * The difference is that padding is concatenated versus XORed with the key - *

    - * H(K + opad, H(K + ipad, text)) - */ -public class SSL3Mac - implements Mac -{ - private final static byte IPAD_BYTE = (byte)0x36; - private final static byte OPAD_BYTE = (byte)0x5C; - - static final byte[] IPAD = genPad(IPAD_BYTE, 48); - static final byte[] OPAD = genPad(OPAD_BYTE, 48); - - private Digest digest; - - private byte[] secret; - private int padLength; - - /** - * Base constructor for one of the standard digest algorithms that the byteLength of - * the algorithm is know for. Behaviour is undefined for digests other than MD5 or SHA1. - * - * @param digest the digest. - */ - public SSL3Mac(Digest digest) - { - this.digest = digest; - - if (digest.getDigestSize() == 20) - { - this.padLength = 40; - } - else - { - this.padLength = 48; - } - } - - public String getAlgorithmName() - { - return digest.getAlgorithmName() + "/SSL3MAC"; - } - - public Digest getUnderlyingDigest() - { - return digest; - } - - public void init(CipherParameters params) - { - secret = Arrays.clone(((KeyParameter)params).getKey()); - - reset(); - } - - public int getMacSize() - { - return digest.getDigestSize(); - } - - public void update(byte in) - { - digest.update(in); - } - - public void update(byte[] in, int inOff, int len) - { - digest.update(in, inOff, len); - } - - public int doFinal(byte[] out, int outOff) - { - byte[] tmp = new byte[digest.getDigestSize()]; - digest.doFinal(tmp, 0); - - digest.update(secret, 0, secret.length); - digest.update(OPAD, 0, padLength); - digest.update(tmp, 0, tmp.length); - - int len = digest.doFinal(out, outOff); - - reset(); - - return len; - } - - /** - * Reset the mac generator. - */ - public void reset() - { - digest.reset(); - digest.update(secret, 0, secret.length); - digest.update(IPAD, 0, padLength); - } - - private static byte[] genPad(byte b, int count) - { - byte[] padding = new byte[count]; - Arrays.fill(padding, b); - return padding; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SecurityParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SecurityParameters.java deleted file mode 100644 index c5d543946..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SecurityParameters.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.util.Arrays; - -public class SecurityParameters -{ - int entity = -1; - int cipherSuite = -1; - short compressionAlgorithm = -1; - int prfAlgorithm = -1; - int verifyDataLength = -1; - byte[] masterSecret = null; - byte[] clientRandom = null; - byte[] serverRandom = null; - - // TODO Keep these internal, since it's maybe not the ideal place for them - short maxFragmentLength = -1; - boolean truncatedHMac = false; - - void copySessionParametersFrom(SecurityParameters other) - { - this.entity = other.entity; - this.cipherSuite = other.cipherSuite; - this.compressionAlgorithm = other.compressionAlgorithm; - this.prfAlgorithm = other.prfAlgorithm; - this.verifyDataLength = other.verifyDataLength; - this.masterSecret = Arrays.clone(other.masterSecret); - } - - void clear() - { - if (this.masterSecret != null) - { - Arrays.fill(this.masterSecret, (byte)0); - this.masterSecret = null; - } - } - - /** - * @return {@link ConnectionEnd} - */ - public int getEntity() - { - return entity; - } - - /** - * @return {@link CipherSuite} - */ - public int getCipherSuite() - { - return cipherSuite; - } - - /** - * @return {@link CompressionMethod} - */ - public short getCompressionAlgorithm() - { - return compressionAlgorithm; - } - - /** - * @return {@link PRFAlgorithm} - */ - public int getPrfAlgorithm() - { - return prfAlgorithm; - } - - public int getVerifyDataLength() - { - return verifyDataLength; - } - - public byte[] getMasterSecret() - { - return masterSecret; - } - - public byte[] getClientRandom() - { - return clientRandom; - } - - public byte[] getServerRandom() - { - return serverRandom; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerDHParams.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerDHParams.java deleted file mode 100644 index fa22e629d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerDHParams.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigInteger; - -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; - -public class ServerDHParams -{ - protected DHPublicKeyParameters publicKey; - - public ServerDHParams(DHPublicKeyParameters publicKey) - { - if (publicKey == null) - { - throw new IllegalArgumentException("'publicKey' cannot be null"); - } - - this.publicKey = publicKey; - } - - public DHPublicKeyParameters getPublicKey() - { - return publicKey; - } - - /** - * Encode this {@link ServerDHParams} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - DHParameters dhParameters = publicKey.getParameters(); - BigInteger Ys = publicKey.getY(); - - TlsDHUtils.writeDHParameter(dhParameters.getP(), output); - TlsDHUtils.writeDHParameter(dhParameters.getG(), output); - TlsDHUtils.writeDHParameter(Ys, output); - } - - /** - * Parse a {@link ServerDHParams} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link ServerDHParams} object. - * @throws IOException - */ - public static ServerDHParams parse(InputStream input) throws IOException - { - BigInteger p = TlsDHUtils.readDHParameter(input); - BigInteger g = TlsDHUtils.readDHParameter(input); - BigInteger Ys = TlsDHUtils.readDHParameter(input); - - return new ServerDHParams(new DHPublicKeyParameters(Ys, new DHParameters(p, g))); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerName.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerName.java deleted file mode 100644 index 8e2602913..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerName.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.util.Strings; - -public class ServerName -{ - protected short nameType; - protected Object name; - - public ServerName(short nameType, Object name) - { - if (!isCorrectType(nameType, name)) - { - throw new IllegalArgumentException("'name' is not an instance of the correct type"); - } - - this.nameType = nameType; - this.name = name; - } - - public short getNameType() - { - return nameType; - } - - public Object getName() - { - return name; - } - - public String getHostName() - { - if (!isCorrectType(NameType.host_name, name)) - { - throw new IllegalStateException("'name' is not a HostName string"); - } - return (String)name; - } - - /** - * Encode this {@link ServerName} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - TlsUtils.writeUint8(nameType, output); - - switch (nameType) - { - case NameType.host_name: - byte[] utf8Encoding = Strings.toUTF8ByteArray((String)name); - if (utf8Encoding.length < 1) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - TlsUtils.writeOpaque16(utf8Encoding, output); - break; - default: - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - /** - * Parse a {@link ServerName} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link ServerName} object. - * @throws IOException - */ - public static ServerName parse(InputStream input) throws IOException - { - short name_type = TlsUtils.readUint8(input); - Object name; - - switch (name_type) - { - case NameType.host_name: - { - byte[] utf8Encoding = TlsUtils.readOpaque16(input); - if (utf8Encoding.length < 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - name = Strings.fromUTF8ByteArray(utf8Encoding); - break; - } - default: - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - return new ServerName(name_type, name); - } - - protected static boolean isCorrectType(short nameType, Object name) - { - switch (nameType) - { - case NameType.host_name: - return name instanceof String; - default: - throw new IllegalArgumentException("'name' is an unsupported value"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerNameList.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerNameList.java deleted file mode 100644 index 67c56e53e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerNameList.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -public class ServerNameList -{ - protected Vector serverNameList; - - /** - * @param serverNameList a {@link Vector} of {@link ServerName}. - */ - public ServerNameList(Vector serverNameList) - { - if (serverNameList == null || serverNameList.isEmpty()) - { - throw new IllegalArgumentException("'serverNameList' must not be null or empty"); - } - - this.serverNameList = serverNameList; - } - - /** - * @return a {@link Vector} of {@link ServerName}. - */ - public Vector getServerNameList() - { - return serverNameList; - } - - /** - * Encode this {@link ServerNameList} to an {@link OutputStream}. - * - * @param output - * the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - for (int i = 0; i < serverNameList.size(); ++i) - { - ServerName entry = (ServerName)serverNameList.elementAt(i); - entry.encode(buf); - } - - TlsUtils.checkUint16(buf.size()); - TlsUtils.writeUint16(buf.size(), output); - buf.writeTo(output); - } - - /** - * Parse a {@link ServerNameList} from an {@link InputStream}. - * - * @param input - * the {@link InputStream} to parse from. - * @return a {@link ServerNameList} object. - * @throws IOException - */ - public static ServerNameList parse(InputStream input) throws IOException - { - int length = TlsUtils.readUint16(input); - if (length < 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - byte[] data = TlsUtils.readFully(length, input); - - ByteArrayInputStream buf = new ByteArrayInputStream(data); - - Vector server_name_list = new Vector(); - while (buf.available() > 0) - { - ServerName entry = ServerName.parse(buf); - server_name_list.addElement(entry); - } - - return new ServerNameList(server_name_list); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerOnlyTlsAuthentication.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerOnlyTlsAuthentication.java deleted file mode 100644 index 325209bad..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/ServerOnlyTlsAuthentication.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto.tls; - -public abstract class ServerOnlyTlsAuthentication - implements TlsAuthentication -{ - public final TlsCredentials getClientCredentials(CertificateRequest certificateRequest) - { - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SessionParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SessionParameters.java deleted file mode 100644 index cf8ec194c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SessionParameters.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.util.Arrays; - -public final class SessionParameters -{ - public static final class Builder - { - private int cipherSuite = -1; - private short compressionAlgorithm = -1; - private byte[] masterSecret = null; - private Certificate peerCertificate = null; - private byte[] encodedServerExtensions = null; - - public Builder() - { - } - - public SessionParameters build() - { - validate(this.cipherSuite >= 0, "cipherSuite"); - validate(this.compressionAlgorithm >= 0, "compressionAlgorithm"); - validate(this.masterSecret != null, "masterSecret"); - return new SessionParameters(cipherSuite, compressionAlgorithm, masterSecret, peerCertificate, - encodedServerExtensions); - } - - public Builder setCipherSuite(int cipherSuite) - { - this.cipherSuite = cipherSuite; - return this; - } - - public Builder setCompressionAlgorithm(short compressionAlgorithm) - { - this.compressionAlgorithm = compressionAlgorithm; - return this; - } - - public Builder setMasterSecret(byte[] masterSecret) - { - this.masterSecret = masterSecret; - return this; - } - - public Builder setPeerCertificate(Certificate peerCertificate) - { - this.peerCertificate = peerCertificate; - return this; - } - - public Builder setServerExtensions(Hashtable serverExtensions) - throws IOException - { - if (serverExtensions == null) - { - encodedServerExtensions = null; - } - else - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - TlsProtocol.writeExtensions(buf, serverExtensions); - encodedServerExtensions = buf.toByteArray(); - } - return this; - } - - private void validate(boolean condition, String parameter) - { - if (!condition) - { - throw new IllegalStateException("Required session parameter '" + parameter + "' not configured"); - } - } - } - - private int cipherSuite; - private short compressionAlgorithm; - private byte[] masterSecret; - private Certificate peerCertificate; - private byte[] encodedServerExtensions; - - private SessionParameters(int cipherSuite, short compressionAlgorithm, byte[] masterSecret, - Certificate peerCertificate, byte[] encodedServerExtensions) - { - this.cipherSuite = cipherSuite; - this.compressionAlgorithm = compressionAlgorithm; - this.masterSecret = Arrays.clone(masterSecret); - this.peerCertificate = peerCertificate; - this.encodedServerExtensions = encodedServerExtensions; - } - - public void clear() - { - if (this.masterSecret != null) - { - Arrays.fill(this.masterSecret, (byte)0); - } - } - - public SessionParameters copy() - { - return new SessionParameters(cipherSuite, compressionAlgorithm, masterSecret, peerCertificate, - encodedServerExtensions); - } - - public int getCipherSuite() - { - return cipherSuite; - } - - public short getCompressionAlgorithm() - { - return compressionAlgorithm; - } - - public byte[] getMasterSecret() - { - return masterSecret; - } - - public Certificate getPeerCertificate() - { - return peerCertificate; - } - - public Hashtable readServerExtensions() throws IOException - { - if (encodedServerExtensions == null) - { - return null; - } - - ByteArrayInputStream buf = new ByteArrayInputStream(encodedServerExtensions); - return TlsProtocol.readExtensions(buf); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAlgorithm.java deleted file mode 100644 index 43cf38cee..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAlgorithm.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5246 7.4.1.4.1 (in RFC 2246, there were no specific values assigned) - */ -public class SignatureAlgorithm -{ - - public static final short anonymous = 0; - public static final short rsa = 1; - public static final short dsa = 2; - public static final short ecdsa = 3; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAndHashAlgorithm.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAndHashAlgorithm.java deleted file mode 100644 index 1c1827e56..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignatureAndHashAlgorithm.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * RFC 5246 7.4.1.4.1 - */ -public class SignatureAndHashAlgorithm -{ - protected short hash; - protected short signature; - - /** - * @param hash {@link HashAlgorithm} - * @param signature {@link SignatureAlgorithm} - */ - public SignatureAndHashAlgorithm(short hash, short signature) - { - if (!TlsUtils.isValidUint8(hash)) - { - throw new IllegalArgumentException("'hash' should be a uint8"); - } - if (!TlsUtils.isValidUint8(signature)) - { - throw new IllegalArgumentException("'signature' should be a uint8"); - } - if (signature == SignatureAlgorithm.anonymous) - { - throw new IllegalArgumentException("'signature' MUST NOT be \"anonymous\""); - } - - this.hash = hash; - this.signature = signature; - } - - /** - * @return {@link HashAlgorithm} - */ - public short getHash() - { - return hash; - } - - /** - * @return {@link SignatureAlgorithm} - */ - public short getSignature() - { - return signature; - } - - public boolean equals(Object obj) - { - if (!(obj instanceof SignatureAndHashAlgorithm)) - { - return false; - } - SignatureAndHashAlgorithm other = (SignatureAndHashAlgorithm)obj; - return other.getHash() == getHash() && other.getSignature() == getSignature(); - } - - public int hashCode() - { - return (getHash() << 16) | getSignature(); - } - - /** - * Encode this {@link SignatureAndHashAlgorithm} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - TlsUtils.writeUint8(hash, output); - TlsUtils.writeUint8(signature, output); - } - - /** - * Parse a {@link SignatureAndHashAlgorithm} from an {@link InputStream}. - * - * @param input the {@link InputStream} to parse from. - * @return a {@link SignatureAndHashAlgorithm} object. - * @throws IOException - */ - public static SignatureAndHashAlgorithm parse(InputStream input) - throws IOException - { - short hash = TlsUtils.readUint8(input); - short signature = TlsUtils.readUint8(input); - return new SignatureAndHashAlgorithm(hash, signature); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignerInputBuffer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignerInputBuffer.java deleted file mode 100644 index 39a68e6c5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SignerInputBuffer.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; - -import org.spongycastle.crypto.Signer; - -class SignerInputBuffer extends ByteArrayOutputStream -{ - void updateSigner(Signer s) - { - s.update(this.buf, 0, count); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataEntry.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataEntry.java deleted file mode 100644 index 2633623d2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataEntry.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class SupplementalDataEntry -{ - protected int dataType; - protected byte[] data; - - public SupplementalDataEntry(int dataType, byte[] data) - { - this.dataType = dataType; - this.data = data; - } - - public int getDataType() - { - return dataType; - } - - public byte[] getData() - { - return data; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataType.java deleted file mode 100644 index 5cabe8c3e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/SupplementalDataType.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4680 - */ -public class SupplementalDataType -{ - /* - * RFC 4681 - */ - public static final int user_mapping_data = 0; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAEADCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAEADCipher.java deleted file mode 100644 index 0ddc2fe5b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAEADCipher.java +++ /dev/null @@ -1,193 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; - -public class TlsAEADCipher - implements TlsCipher -{ - protected TlsContext context; - protected int macSize; - protected int nonce_explicit_length; - - protected AEADBlockCipher encryptCipher; - protected AEADBlockCipher decryptCipher; - - protected byte[] encryptImplicitNonce, decryptImplicitNonce; - - public TlsAEADCipher(TlsContext context, AEADBlockCipher clientWriteCipher, AEADBlockCipher serverWriteCipher, - int cipherKeySize, int macSize) throws IOException - { - if (!TlsUtils.isTLSv12(context)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - this.context = context; - this.macSize = macSize; - - // NOTE: Valid for RFC 5288/6655 ciphers but may need review for other AEAD ciphers - this.nonce_explicit_length = 8; - - // TODO SecurityParameters.fixed_iv_length - int fixed_iv_length = 4; - - int key_block_size = (2 * cipherKeySize) + (2 * fixed_iv_length); - - byte[] key_block = TlsUtils.calculateKeyBlock(context, key_block_size); - - int offset = 0; - - KeyParameter client_write_key = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - KeyParameter server_write_key = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - byte[] client_write_IV = Arrays.copyOfRange(key_block, offset, offset + fixed_iv_length); - offset += fixed_iv_length; - byte[] server_write_IV = Arrays.copyOfRange(key_block, offset, offset + fixed_iv_length); - offset += fixed_iv_length; - - if (offset != key_block_size) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - KeyParameter encryptKey, decryptKey; - if (context.isServer()) - { - this.encryptCipher = serverWriteCipher; - this.decryptCipher = clientWriteCipher; - this.encryptImplicitNonce = server_write_IV; - this.decryptImplicitNonce = client_write_IV; - encryptKey = server_write_key; - decryptKey = client_write_key; - } - else - { - this.encryptCipher = clientWriteCipher; - this.decryptCipher = serverWriteCipher; - this.encryptImplicitNonce = client_write_IV; - this.decryptImplicitNonce = server_write_IV; - encryptKey = client_write_key; - decryptKey = server_write_key; - } - - byte[] dummyNonce = new byte[fixed_iv_length + nonce_explicit_length]; - - this.encryptCipher.init(true, new AEADParameters(encryptKey, 8 * macSize, dummyNonce)); - this.decryptCipher.init(false, new AEADParameters(decryptKey, 8 * macSize, dummyNonce)); - } - - public int getPlaintextLimit(int ciphertextLimit) - { - // TODO We ought to be able to ask the decryptCipher (independently of it's current state!) - return ciphertextLimit - macSize - nonce_explicit_length; - } - - public byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) - throws IOException - { - byte[] nonce = new byte[this.encryptImplicitNonce.length + nonce_explicit_length]; - System.arraycopy(encryptImplicitNonce, 0, nonce, 0, encryptImplicitNonce.length); - - /* - * RFC 5288/6655 The nonce_explicit MAY be the 64-bit sequence number. - * - * (May need review for other AEAD ciphers). - */ - TlsUtils.writeUint64(seqNo, nonce, encryptImplicitNonce.length); - - int plaintextOffset = offset; - int plaintextLength = len; - int ciphertextLength = encryptCipher.getOutputSize(plaintextLength); - - byte[] output = new byte[nonce_explicit_length + ciphertextLength]; - System.arraycopy(nonce, encryptImplicitNonce.length, output, 0, nonce_explicit_length); - int outputPos = nonce_explicit_length; - - byte[] additionalData = getAdditionalData(seqNo, type, plaintextLength); - AEADParameters parameters = new AEADParameters(null, 8 * macSize, nonce, additionalData); - - try - { - encryptCipher.init(true, parameters); - outputPos += encryptCipher.processBytes(plaintext, plaintextOffset, plaintextLength, output, outputPos); - outputPos += encryptCipher.doFinal(output, outputPos); - } - catch (Exception e) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - if (outputPos != output.length) - { - // NOTE: Existing AEAD cipher implementations all give exact output lengths - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return output; - } - - public byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) - throws IOException - { - if (getPlaintextLimit(len) < 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - byte[] nonce = new byte[this.decryptImplicitNonce.length + nonce_explicit_length]; - System.arraycopy(decryptImplicitNonce, 0, nonce, 0, decryptImplicitNonce.length); - System.arraycopy(ciphertext, offset, nonce, decryptImplicitNonce.length, nonce_explicit_length); - - int ciphertextOffset = offset + nonce_explicit_length; - int ciphertextLength = len - nonce_explicit_length; - int plaintextLength = decryptCipher.getOutputSize(ciphertextLength); - - byte[] output = new byte[plaintextLength]; - int outputPos = 0; - - byte[] additionalData = getAdditionalData(seqNo, type, plaintextLength); - AEADParameters parameters = new AEADParameters(null, 8 * macSize, nonce, additionalData); - - try - { - decryptCipher.init(false, parameters); - outputPos += decryptCipher.processBytes(ciphertext, ciphertextOffset, ciphertextLength, output, outputPos); - outputPos += decryptCipher.doFinal(output, outputPos); - } - catch (Exception e) - { - throw new TlsFatalAlert(AlertDescription.bad_record_mac); - } - - if (outputPos != output.length) - { - // NOTE: Existing AEAD cipher implementations all give exact output lengths - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return output; - } - - protected byte[] getAdditionalData(long seqNo, short type, int len) - throws IOException - { - /* - * additional_data = seq_num + TLSCompressed.type + TLSCompressed.version + - * TLSCompressed.length - */ - - byte[] additional_data = new byte[13]; - TlsUtils.writeUint64(seqNo, additional_data, 0); - TlsUtils.writeUint8(type, additional_data, 8); - TlsUtils.writeVersion(context.getServerVersion(), additional_data, 9); - TlsUtils.writeUint16(len, additional_data, 11); - - return additional_data; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAgreementCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAgreementCredentials.java deleted file mode 100644 index c7fe94969..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAgreementCredentials.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public interface TlsAgreementCredentials - extends TlsCredentials -{ - - byte[] generateAgreement(AsymmetricKeyParameter peerPublicKey) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAuthentication.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAuthentication.java deleted file mode 100755 index 8783dd750..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsAuthentication.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsAuthentication -{ - /** - * Called by the protocol handler to report the server certificate - * Note: this method is responsible for certificate verification and validation - * - * @param serverCertificate the server certificate received - * @throws IOException - */ - void notifyServerCertificate(Certificate serverCertificate) - throws IOException; - - /** - * Return client credentials in response to server's certificate request - * - * @param certificateRequest details of the certificate request - * @return a TlsCredentials object or null for no client authentication - * @throws IOException - */ - TlsCredentials getClientCredentials(CertificateRequest certificateRequest) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsBlockCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsBlockCipher.java deleted file mode 100644 index bb290c77c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsBlockCipher.java +++ /dev/null @@ -1,386 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.security.SecureRandom; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; - -/** - * A generic TLS 1.0-1.1 / SSLv3 block cipher. This can be used for AES or 3DES for example. - */ -public class TlsBlockCipher - implements TlsCipher -{ - private static boolean encryptThenMAC = false; - - protected TlsContext context; - protected byte[] randomData; - protected boolean useExplicitIV; - - protected BlockCipher encryptCipher; - protected BlockCipher decryptCipher; - - protected TlsMac writeMac; - protected TlsMac readMac; - - public TlsMac getWriteMac() - { - return writeMac; - } - - public TlsMac getReadMac() - { - return readMac; - } - - public TlsBlockCipher(TlsContext context, BlockCipher clientWriteCipher, BlockCipher serverWriteCipher, - Digest clientWriteDigest, Digest serverWriteDigest, int cipherKeySize) throws IOException - { - this.context = context; - - this.randomData = new byte[256]; - context.getSecureRandom().nextBytes(randomData); - - this.useExplicitIV = TlsUtils.isTLSv11(context); - - int key_block_size = (2 * cipherKeySize) + clientWriteDigest.getDigestSize() - + serverWriteDigest.getDigestSize(); - - // From TLS 1.1 onwards, block ciphers don't need client_write_IV - if (!useExplicitIV) - { - key_block_size += clientWriteCipher.getBlockSize() + serverWriteCipher.getBlockSize(); - } - - byte[] key_block = TlsUtils.calculateKeyBlock(context, key_block_size); - - int offset = 0; - - TlsMac clientWriteMac = new TlsMac(context, clientWriteDigest, key_block, offset, - clientWriteDigest.getDigestSize()); - offset += clientWriteDigest.getDigestSize(); - TlsMac serverWriteMac = new TlsMac(context, serverWriteDigest, key_block, offset, - serverWriteDigest.getDigestSize()); - offset += serverWriteDigest.getDigestSize(); - - KeyParameter client_write_key = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - KeyParameter server_write_key = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - - byte[] client_write_IV, server_write_IV; - if (useExplicitIV) - { - client_write_IV = new byte[clientWriteCipher.getBlockSize()]; - server_write_IV = new byte[serverWriteCipher.getBlockSize()]; - } - else - { - client_write_IV = Arrays.copyOfRange(key_block, offset, offset + clientWriteCipher.getBlockSize()); - offset += clientWriteCipher.getBlockSize(); - server_write_IV = Arrays.copyOfRange(key_block, offset, offset + serverWriteCipher.getBlockSize()); - offset += serverWriteCipher.getBlockSize(); - } - - if (offset != key_block_size) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - CipherParameters encryptParams, decryptParams; - if (context.isServer()) - { - this.writeMac = serverWriteMac; - this.readMac = clientWriteMac; - this.encryptCipher = serverWriteCipher; - this.decryptCipher = clientWriteCipher; - encryptParams = new ParametersWithIV(server_write_key, server_write_IV); - decryptParams = new ParametersWithIV(client_write_key, client_write_IV); - } - else - { - this.writeMac = clientWriteMac; - this.readMac = serverWriteMac; - this.encryptCipher = clientWriteCipher; - this.decryptCipher = serverWriteCipher; - encryptParams = new ParametersWithIV(client_write_key, client_write_IV); - decryptParams = new ParametersWithIV(server_write_key, server_write_IV); - } - - this.encryptCipher.init(true, encryptParams); - this.decryptCipher.init(false, decryptParams); - } - - public int getPlaintextLimit(int ciphertextLimit) - { - int blockSize = encryptCipher.getBlockSize(); - int macSize = writeMac.getSize(); - - int plaintextLimit = ciphertextLimit; - - // An explicit IV consumes 1 block - if (useExplicitIV) - { - plaintextLimit -= blockSize; - } - - // Leave room for the MAC, and require block-alignment - if (encryptThenMAC) - { - plaintextLimit -= macSize; - plaintextLimit -= plaintextLimit % blockSize; - } - else - { - plaintextLimit -= plaintextLimit % blockSize; - plaintextLimit -= macSize; - } - - // Minimum 1 byte of padding - --plaintextLimit; - - return plaintextLimit; - } - - public byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) - { - int blockSize = encryptCipher.getBlockSize(); - int macSize = writeMac.getSize(); - - ProtocolVersion version = context.getServerVersion(); - - int enc_input_length = len; - if (!encryptThenMAC) - { - enc_input_length += macSize; - } - - int padding_length = blockSize - 1 - (enc_input_length % blockSize); - - // TODO[DTLS] Consider supporting in DTLS (without exceeding send limit though) - if (!version.isDTLS() && !version.isSSL()) - { - // Add a random number of extra blocks worth of padding - int maxExtraPadBlocks = (255 - padding_length) / blockSize; - int actualExtraPadBlocks = chooseExtraPadBlocks(context.getSecureRandom(), maxExtraPadBlocks); - padding_length += actualExtraPadBlocks * blockSize; - } - - int totalSize = len + macSize + padding_length + 1; - if (useExplicitIV) - { - totalSize += blockSize; - } - - byte[] outBuf = new byte[totalSize]; - int outOff = 0; - - if (useExplicitIV) - { - byte[] explicitIV = new byte[blockSize]; - context.getSecureRandom().nextBytes(explicitIV); - - encryptCipher.init(true, new ParametersWithIV(null, explicitIV)); - - System.arraycopy(explicitIV, 0, outBuf, outOff, blockSize); - outOff += blockSize; - } - - int blocks_start = outOff; - - System.arraycopy(plaintext, offset, outBuf, outOff, len); - outOff += len; - - if (!encryptThenMAC) - { - byte[] mac = writeMac.calculateMac(seqNo, type, plaintext, offset, len); - System.arraycopy(mac, 0, outBuf, outOff, mac.length); - outOff += mac.length; - } - - for (int i = 0; i <= padding_length; i++) - { - outBuf[outOff++] = (byte)padding_length; - } - - for (int i = blocks_start; i < outOff; i += blockSize) - { - encryptCipher.processBlock(outBuf, i, outBuf, i); - } - - if (encryptThenMAC) - { - byte[] mac = writeMac.calculateMac(seqNo, type, outBuf, 0, outOff); - System.arraycopy(mac, 0, outBuf, outOff, mac.length); - outOff += mac.length; - } - -// assert outBuf.length == outOff; - - return outBuf; - } - - public byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) - throws IOException - { - int blockSize = decryptCipher.getBlockSize(); - int macSize = readMac.getSize(); - - int minLen = blockSize; - if (encryptThenMAC) - { - minLen += macSize; - } - else - { - minLen = Math.max(minLen, macSize + 1); - } - - if (useExplicitIV) - { - minLen += blockSize; - } - - if (len < minLen) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - int blocks_length = len; - if (encryptThenMAC) - { - blocks_length -= macSize; - } - - if (blocks_length % blockSize != 0) - { - throw new TlsFatalAlert(AlertDescription.decryption_failed); - } - - if (encryptThenMAC) - { - int end = offset + len; - byte[] receivedMac = Arrays.copyOfRange(ciphertext, end - macSize, end); - byte[] calculatedMac = readMac.calculateMac(seqNo, type, ciphertext, offset, len - macSize); - - boolean badMac = !Arrays.constantTimeAreEqual(calculatedMac, receivedMac); - - if (badMac) - { - throw new TlsFatalAlert(AlertDescription.bad_record_mac); - } - } - - if (useExplicitIV) - { - decryptCipher.init(false, new ParametersWithIV(null, ciphertext, offset, blockSize)); - - offset += blockSize; - blocks_length -= blockSize; - } - - for (int i = 0; i < blocks_length; i += blockSize) - { - decryptCipher.processBlock(ciphertext, offset + i, ciphertext, offset + i); - } - - // If there's anything wrong with the padding, this will return zero - int totalPad = checkPaddingConstantTime(ciphertext, offset, blocks_length, blockSize, encryptThenMAC ? 0 : macSize); - - int dec_output_length = blocks_length - totalPad; - - if (!encryptThenMAC) - { - dec_output_length -= macSize; - int macInputLen = dec_output_length; - int macOff = offset + macInputLen; - byte[] receivedMac = Arrays.copyOfRange(ciphertext, macOff, macOff + macSize); - byte[] calculatedMac = readMac.calculateMacConstantTime(seqNo, type, ciphertext, offset, macInputLen, - blocks_length - macSize, randomData); - - boolean badMac = !Arrays.constantTimeAreEqual(calculatedMac, receivedMac); - - if (badMac || totalPad == 0) - { - throw new TlsFatalAlert(AlertDescription.bad_record_mac); - } - } - - return Arrays.copyOfRange(ciphertext, offset, offset + dec_output_length); - } - - protected int checkPaddingConstantTime(byte[] buf, int off, int len, int blockSize, int macSize) - { - int end = off + len; - byte lastByte = buf[end - 1]; - int padlen = lastByte & 0xff; - int totalPad = padlen + 1; - - int dummyIndex = 0; - byte padDiff = 0; - - if ((TlsUtils.isSSL(context) && totalPad > blockSize) || (macSize + totalPad > len)) - { - totalPad = 0; - } - else - { - int padPos = end - totalPad; - do - { - padDiff |= (buf[padPos++] ^ lastByte); - } - while (padPos < end); - - dummyIndex = totalPad; - - if (padDiff != 0) - { - totalPad = 0; - } - } - - // Run some extra dummy checks so the number of checks is always constant - { - byte[] dummyPad = randomData; - while (dummyIndex < 256) - { - padDiff |= (dummyPad[dummyIndex++] ^ lastByte); - } - // Ensure the above loop is not eliminated - dummyPad[0] ^= padDiff; - } - - return totalPad; - } - - protected int chooseExtraPadBlocks(SecureRandom r, int max) - { - // return r.nextInt(max + 1); - - int x = r.nextInt(); - int n = lowestBitSet(x); - return Math.min(n, max); - } - - protected int lowestBitSet(int x) - { - if (x == 0) - { - return 32; - } - - int n = 0; - while ((x & 1) == 0) - { - ++n; - x >>= 1; - } - return n; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipher.java deleted file mode 100644 index 6a8f6bc0c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipher.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsCipher -{ - int getPlaintextLimit(int ciphertextLimit); - - byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) - throws IOException; - - byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipherFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipherFactory.java deleted file mode 100644 index 8f0d3fefa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCipherFactory.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsCipherFactory -{ - - /** - * See enumeration classes EncryptionAlgorithm, MACAlgorithm for appropriate argument values - */ - TlsCipher createCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClient.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClient.java deleted file mode 100644 index 2b56d4257..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClient.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -public interface TlsClient - extends TlsPeer -{ - void init(TlsClientContext context); - - /** - * Return the session this client wants to resume, if any. Note that the peer's certificate - * chain for the session (if any) may need to be periodically revalidated. - * - * @return A {@link TlsSession} representing the resumable session to be used for this - * connection, or null to use a new session. - * @see SessionParameters#getPeerCertificate() - */ - TlsSession getSessionToResume(); - - ProtocolVersion getClientHelloRecordLayerVersion(); - - ProtocolVersion getClientVersion(); - - int[] getCipherSuites(); - - short[] getCompressionMethods(); - - // Hashtable is (Integer -> byte[]) - Hashtable getClientExtensions() - throws IOException; - - void notifyServerVersion(ProtocolVersion selectedVersion) - throws IOException; - - /** - * Notifies the client of the session_id sent in the ServerHello. - * - * @param sessionID - * @see {@link TlsContext#getResumableSession()} - */ - void notifySessionID(byte[] sessionID); - - void notifySelectedCipherSuite(int selectedCipherSuite); - - void notifySelectedCompressionMethod(short selectedCompressionMethod); - - // Hashtable is (Integer -> byte[]) - void processServerExtensions(Hashtable serverExtensions) - throws IOException; - - // Vector is (SupplementalDataEntry) - void processServerSupplementalData(Vector serverSupplementalData) - throws IOException; - - TlsKeyExchange getKeyExchange() - throws IOException; - - TlsAuthentication getAuthentication() - throws IOException; - - // Vector is (SupplementalDataEntry) - Vector getClientSupplementalData() - throws IOException; - - /** - * RFC 5077 3.3. NewSessionTicket Handshake Message - *

    - * This method will be called (only) when a NewSessionTicket handshake message is received. The - * ticket is opaque to the client and clients MUST NOT examine the ticket under the assumption - * that it complies with e.g. RFC 5077 4. Recommended Ticket Construction. - * - * @param newSessionTicket The ticket. - * @throws IOException - */ - void notifyNewSessionTicket(NewSessionTicket newSessionTicket) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContext.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContext.java deleted file mode 100644 index 245245b2f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContext.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.tls; - -public interface TlsClientContext - extends TlsContext -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContextImpl.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContextImpl.java deleted file mode 100644 index ca3929444..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientContextImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.security.SecureRandom; - -class TlsClientContextImpl - extends AbstractTlsContext - implements TlsClientContext -{ - TlsClientContextImpl(SecureRandom secureRandom, SecurityParameters securityParameters) - { - super(secureRandom, securityParameters); - } - - public boolean isServer() - { - return false; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientProtocol.java deleted file mode 100644 index c6b56a9e8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsClientProtocol.java +++ /dev/null @@ -1,884 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.crypto.prng.ThreadedSeedGenerator; -import org.spongycastle.util.Arrays; - -public class TlsClientProtocol - extends TlsProtocol -{ - protected TlsClient tlsClient = null; - protected TlsClientContextImpl tlsClientContext = null; - - protected byte[] selectedSessionID = null; - - protected TlsKeyExchange keyExchange = null; - protected TlsAuthentication authentication = null; - - protected CertificateStatus certificateStatus = null; - protected CertificateRequest certificateRequest = null; - - private static SecureRandom createSecureRandom() - { - /* - * We use our threaded seed generator to generate a good random seed. If the user has a - * better random seed, he should use the constructor with a SecureRandom. - */ - ThreadedSeedGenerator tsg = new ThreadedSeedGenerator(); - SecureRandom random = new SecureRandom(); - - /* - * Hopefully, 20 bytes in fast mode are good enough. - */ - random.setSeed(tsg.generateSeed(20, true)); - - return random; - } - - public TlsClientProtocol(InputStream input, OutputStream output) - { - this(input, output, createSecureRandom()); - } - - public TlsClientProtocol(InputStream input, OutputStream output, SecureRandom secureRandom) - { - super(input, output, secureRandom); - } - - /** - * Initiates a TLS handshake in the role of client - * - * @param tlsClient The {@link TlsClient} to use for the handshake. - * @throws IOException If handshake was not successful. - */ - public void connect(TlsClient tlsClient) throws IOException - { - if (tlsClient == null) - { - throw new IllegalArgumentException("'tlsClient' cannot be null"); - } - if (this.tlsClient != null) - { - throw new IllegalStateException("'connect' can only be called once"); - } - - this.tlsClient = tlsClient; - - this.securityParameters = new SecurityParameters(); - this.securityParameters.entity = ConnectionEnd.client; - this.securityParameters.clientRandom = createRandomBlock(secureRandom); - - this.tlsClientContext = new TlsClientContextImpl(secureRandom, securityParameters); - this.tlsClient.init(tlsClientContext); - this.recordStream.init(tlsClientContext); - - TlsSession sessionToResume = tlsClient.getSessionToResume(); - if (sessionToResume != null) - { - SessionParameters sessionParameters = sessionToResume.exportSessionParameters(); - if (sessionParameters != null) - { - this.tlsSession = sessionToResume; - this.sessionParameters = sessionParameters; - } - } - - sendClientHelloMessage(); - this.connection_state = CS_CLIENT_HELLO; - - completeHandshake(); - } - - protected void cleanupHandshake() - { - super.cleanupHandshake(); - - this.selectedSessionID = null; - this.keyExchange = null; - this.authentication = null; - this.certificateStatus = null; - this.certificateRequest = null; - } - - protected AbstractTlsContext getContext() - { - return tlsClientContext; - } - - protected TlsPeer getPeer() - { - return tlsClient; - } - - protected void handleHandshakeMessage(short type, byte[] data) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(data); - - if (this.resumedSession) - { - if (type != HandshakeType.finished || this.connection_state != CS_SERVER_HELLO) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - processFinishedMessage(buf); - this.connection_state = CS_SERVER_FINISHED; - - sendFinishedMessage(); - this.connection_state = CS_CLIENT_FINISHED; - this.connection_state = CS_END; - - return; - } - - switch (type) - { - case HandshakeType.certificate: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO: - { - handleSupplementalData(null); - // NB: Fall through to next case label - } - case CS_SERVER_SUPPLEMENTAL_DATA: - { - // Parse the Certificate message and send to cipher suite - - this.peerCertificate = Certificate.parse(buf); - - assertEmpty(buf); - - // TODO[RFC 3546] Check whether empty certificates is possible, allowed, or excludes CertificateStatus - if (this.peerCertificate == null || this.peerCertificate.isEmpty()) - { - this.allowCertificateStatus = false; - } - - this.keyExchange.processServerCertificate(this.peerCertificate); - - this.authentication = tlsClient.getAuthentication(); - this.authentication.notifyServerCertificate(this.peerCertificate); - - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.connection_state = CS_SERVER_CERTIFICATE; - break; - } - case HandshakeType.certificate_status: - { - switch (this.connection_state) - { - case CS_SERVER_CERTIFICATE: - { - if (!this.allowCertificateStatus) - { - /* - * RFC 3546 3.6. If a server returns a "CertificateStatus" message, then the - * server MUST have included an extension of type "status_request" with empty - * "extension_data" in the extended server hello.. - */ - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.certificateStatus = CertificateStatus.parse(buf); - - assertEmpty(buf); - - // TODO[RFC 3546] Figure out how to provide this to the client/authentication. - - this.connection_state = CS_CERTIFICATE_STATUS; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.finished: - { - switch (this.connection_state) - { - case CS_CLIENT_FINISHED: - { - processFinishedMessage(buf); - this.connection_state = CS_SERVER_FINISHED; - this.connection_state = CS_END; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.server_hello: - { - switch (this.connection_state) - { - case CS_CLIENT_HELLO: - { - receiveServerHelloMessage(buf); - this.connection_state = CS_SERVER_HELLO; - - if (this.securityParameters.maxFragmentLength >= 0) - { - int plainTextLimit = 1 << (8 + this.securityParameters.maxFragmentLength); - recordStream.setPlaintextLimit(plainTextLimit); - } - - this.securityParameters.prfAlgorithm = getPRFAlgorithm(getContext(), - this.securityParameters.getCipherSuite()); - - /* - * RFC 5264 7.4.9. Any cipher suite which does not explicitly specify - * verify_data_length has a verify_data_length equal to 12. This includes all - * existing cipher suites. - */ - this.securityParameters.verifyDataLength = 12; - - this.recordStream.notifyHelloComplete(); - - if (this.resumedSession) - { - this.securityParameters.masterSecret = Arrays.clone(this.sessionParameters.getMasterSecret()); - this.recordStream.setPendingConnectionState(getPeer().getCompression(), getPeer().getCipher()); - - sendChangeCipherSpecMessage(); - } - else - { - invalidateSession(); - - if (this.selectedSessionID.length > 0) - { - this.tlsSession = new TlsSessionImpl(this.selectedSessionID, null); - } - } - - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.supplemental_data: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO: - { - handleSupplementalData(readSupplementalDataMessage(buf)); - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.server_hello_done: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO: - { - handleSupplementalData(null); - // NB: Fall through to next case label - } - case CS_SERVER_SUPPLEMENTAL_DATA: - { - // There was no server certificate message; check it's OK - this.keyExchange.skipServerCredentials(); - this.authentication = null; - - // NB: Fall through to next case label - } - case CS_SERVER_CERTIFICATE: - case CS_CERTIFICATE_STATUS: - { - // There was no server key exchange message; check it's OK - this.keyExchange.skipServerKeyExchange(); - - // NB: Fall through to next case label - } - case CS_SERVER_KEY_EXCHANGE: - case CS_CERTIFICATE_REQUEST: - { - assertEmpty(buf); - - this.connection_state = CS_SERVER_HELLO_DONE; - - this.recordStream.getHandshakeHash().sealHashAlgorithms(); - - Vector clientSupplementalData = tlsClient.getClientSupplementalData(); - if (clientSupplementalData != null) - { - sendSupplementalDataMessage(clientSupplementalData); - } - this.connection_state = CS_CLIENT_SUPPLEMENTAL_DATA; - - TlsCredentials clientCreds = null; - if (certificateRequest == null) - { - this.keyExchange.skipClientCredentials(); - } - else - { - clientCreds = this.authentication.getClientCredentials(certificateRequest); - - if (clientCreds == null) - { - this.keyExchange.skipClientCredentials(); - - /* - * RFC 5246 If no suitable certificate is available, the client MUST send a - * certificate message containing no certificates. - * - * NOTE: In previous RFCs, this was SHOULD instead of MUST. - */ - sendCertificateMessage(Certificate.EMPTY_CHAIN); - } - else - { - this.keyExchange.processClientCredentials(clientCreds); - - sendCertificateMessage(clientCreds.getCertificate()); - } - } - - this.connection_state = CS_CLIENT_CERTIFICATE; - - /* - * Send the client key exchange message, depending on the key exchange we are using - * in our CipherSuite. - */ - sendClientKeyExchangeMessage(); - this.connection_state = CS_CLIENT_KEY_EXCHANGE; - - establishMasterSecret(getContext(), keyExchange); - recordStream.setPendingConnectionState(getPeer().getCompression(), getPeer().getCipher()); - - TlsHandshakeHash prepareFinishHash = recordStream.prepareToFinish(); - - if (clientCreds != null && clientCreds instanceof TlsSignerCredentials) - { - TlsSignerCredentials signerCredentials = (TlsSignerCredentials)clientCreds; - - /* - * RFC 5246 4.7. digitally-signed element needs SignatureAndHashAlgorithm from TLS 1.2 - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm; - byte[] hash; - - if (TlsUtils.isTLSv12(getContext())) - { - signatureAndHashAlgorithm = signerCredentials.getSignatureAndHashAlgorithm(); - if (signatureAndHashAlgorithm == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - hash = prepareFinishHash.getFinalHash(signatureAndHashAlgorithm.getHash()); - } - else - { - signatureAndHashAlgorithm = null; - hash = getCurrentPRFHash(getContext(), prepareFinishHash, null); - } - - byte[] signature = signerCredentials.generateCertificateSignature(hash); - DigitallySigned certificateVerify = new DigitallySigned(signatureAndHashAlgorithm, signature); - sendCertificateVerifyMessage(certificateVerify); - - this.connection_state = CS_CERTIFICATE_VERIFY; - } - - sendChangeCipherSpecMessage(); - sendFinishedMessage(); - this.connection_state = CS_CLIENT_FINISHED; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - break; - } - case HandshakeType.server_key_exchange: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO: - { - handleSupplementalData(null); - // NB: Fall through to next case label - } - case CS_SERVER_SUPPLEMENTAL_DATA: - { - // There was no server certificate message; check it's OK - this.keyExchange.skipServerCredentials(); - this.authentication = null; - - // NB: Fall through to next case label - } - case CS_SERVER_CERTIFICATE: - case CS_CERTIFICATE_STATUS: - { - this.keyExchange.processServerKeyExchange(buf); - - assertEmpty(buf); - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.connection_state = CS_SERVER_KEY_EXCHANGE; - break; - } - case HandshakeType.certificate_request: - { - switch (this.connection_state) - { - case CS_SERVER_CERTIFICATE: - case CS_CERTIFICATE_STATUS: - { - // There was no server key exchange message; check it's OK - this.keyExchange.skipServerKeyExchange(); - - // NB: Fall through to next case label - } - case CS_SERVER_KEY_EXCHANGE: - { - if (this.authentication == null) - { - /* - * RFC 2246 7.4.4. It is a fatal handshake_failure alert for an anonymous server - * to request client identification. - */ - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - - this.certificateRequest = CertificateRequest.parse(getContext(), buf); - - assertEmpty(buf); - - this.keyExchange.validateCertificateRequest(this.certificateRequest); - - /* - * TODO Give the client a chance to immediately select the CertificateVerify hash - * algorithm here to avoid tracking the other hash algorithms unnecessarily? - */ - TlsUtils.trackHashAlgorithms(this.recordStream.getHandshakeHash(), - this.certificateRequest.getSupportedSignatureAlgorithms()); - - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.connection_state = CS_CERTIFICATE_REQUEST; - break; - } - case HandshakeType.session_ticket: - { - switch (this.connection_state) - { - case CS_CLIENT_FINISHED: - { - if (!this.expectSessionTicket) - { - /* - * RFC 5077 3.3. This message MUST NOT be sent if the server did not include a - * SessionTicket extension in the ServerHello. - */ - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - /* - * RFC 5077 3.4. If the client receives a session ticket from the server, then it - * discards any Session ID that was sent in the ServerHello. - */ - invalidateSession(); - - receiveNewSessionTicketMessage(buf); - this.connection_state = CS_SERVER_SESSION_TICKET; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - case HandshakeType.hello_request: - { - assertEmpty(buf); - - /* - * RFC 2246 7.4.1.1 Hello request This message will be ignored by the client if the - * client is currently negotiating a session. This message may be ignored by the client - * if it does not wish to renegotiate a session, or the client may, if it wishes, - * respond with a no_renegotiation alert. - */ - if (this.connection_state == CS_END) - { - /* - * RFC 5746 4.5 SSLv3 clients that refuse renegotiation SHOULD use a fatal - * handshake_failure alert. - */ - if (TlsUtils.isSSL(getContext())) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - - String message = "Renegotiation not supported"; - raiseWarning(AlertDescription.no_renegotiation, message); - } - break; - } - case HandshakeType.client_hello: - case HandshakeType.client_key_exchange: - case HandshakeType.certificate_verify: - case HandshakeType.hello_verify_request: - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - protected void handleSupplementalData(Vector serverSupplementalData) - throws IOException - { - this.tlsClient.processServerSupplementalData(serverSupplementalData); - this.connection_state = CS_SERVER_SUPPLEMENTAL_DATA; - - this.keyExchange = tlsClient.getKeyExchange(); - this.keyExchange.init(getContext()); - } - - protected void receiveNewSessionTicketMessage(ByteArrayInputStream buf) - throws IOException - { - NewSessionTicket newSessionTicket = NewSessionTicket.parse(buf); - - TlsProtocol.assertEmpty(buf); - - tlsClient.notifyNewSessionTicket(newSessionTicket); - } - - protected void receiveServerHelloMessage(ByteArrayInputStream buf) - throws IOException - { - ProtocolVersion server_version = TlsUtils.readVersion(buf); - if (server_version.isDTLS()) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - // Check that this matches what the server is sending in the record layer - if (!server_version.equals(this.recordStream.getReadVersion())) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - ProtocolVersion client_version = getContext().getClientVersion(); - if (!server_version.isEqualOrEarlierVersionOf(client_version)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.recordStream.setWriteVersion(server_version); - getContext().setServerVersion(server_version); - this.tlsClient.notifyServerVersion(server_version); - - /* - * Read the server random - */ - this.securityParameters.serverRandom = TlsUtils.readFully(32, buf); - - this.selectedSessionID = TlsUtils.readOpaque8(buf); - if (this.selectedSessionID.length > 32) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.tlsClient.notifySessionID(this.selectedSessionID); - - this.resumedSession = this.selectedSessionID.length > 0 && this.tlsSession != null - && Arrays.areEqual(this.selectedSessionID, this.tlsSession.getSessionID()); - - /* - * Find out which CipherSuite the server has chosen and check that it was one of the offered - * ones. - */ - int selectedCipherSuite = TlsUtils.readUint16(buf); - if (!Arrays.contains(this.offeredCipherSuites, selectedCipherSuite) - || selectedCipherSuite == CipherSuite.TLS_NULL_WITH_NULL_NULL - || selectedCipherSuite == CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.tlsClient.notifySelectedCipherSuite(selectedCipherSuite); - - /* - * Find out which CompressionMethod the server has chosen and check that it was one of the - * offered ones. - */ - short selectedCompressionMethod = TlsUtils.readUint8(buf); - if (!Arrays.contains(this.offeredCompressionMethods, selectedCompressionMethod)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.tlsClient.notifySelectedCompressionMethod(selectedCompressionMethod); - - /* - * RFC3546 2.2 The extended server hello message format MAY be sent in place of the server - * hello message when the client has requested extended functionality via the extended - * client hello message specified in Section 2.1. ... Note that the extended server hello - * message is only sent in response to an extended client hello message. This prevents the - * possibility that the extended server hello message could "break" existing TLS 1.0 - * clients. - */ - this.serverExtensions = readExtensions(buf); - - /* - * RFC 3546 2.2 Note that the extended server hello message is only sent in response to an - * extended client hello message. - * - * However, see RFC 5746 exception below. We always include the SCSV, so an Extended Server - * Hello is always allowed. - */ - if (this.serverExtensions != null) - { - Enumeration e = this.serverExtensions.keys(); - while (e.hasMoreElements()) - { - Integer extType = (Integer)e.nextElement(); - - /* - * RFC 5746 3.6. Note that sending a "renegotiation_info" extension in response to a - * ClientHello containing only the SCSV is an explicit exception to the prohibition - * in RFC 5246, Section 7.4.1.4, on the server sending unsolicited extensions and is - * only allowed because the client is signaling its willingness to receive the - * extension via the TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. - */ - if (extType.equals(EXT_RenegotiationInfo)) - { - continue; - } - - /* - * RFC 3546 2.3. If [...] the older session is resumed, then the server MUST ignore - * extensions appearing in the client hello, and send a server hello containing no - * extensions[.] - */ - if (this.resumedSession) - { - // TODO[compat-gnutls] GnuTLS test server sends server extensions e.g. ec_point_formats - // TODO[compat-openssl] OpenSSL test server sends server extensions e.g. ec_point_formats - // TODO[compat-polarssl] PolarSSL test server sends server extensions e.g. ec_point_formats -// throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - /* - * RFC 5246 7.4.1.4 An extension type MUST NOT appear in the ServerHello unless the - * same extension type appeared in the corresponding ClientHello. If a client - * receives an extension type in ServerHello that it did not request in the - * associated ClientHello, it MUST abort the handshake with an unsupported_extension - * fatal alert. - */ - if (null == TlsUtils.getExtensionData(this.clientExtensions, extType)) - { - throw new TlsFatalAlert(AlertDescription.unsupported_extension); - } - } - } - - /* - * RFC 5746 3.4. Client Behavior: Initial Handshake - */ - { - /* - * When a ServerHello is received, the client MUST check if it includes the - * "renegotiation_info" extension: - */ - byte[] renegExtData = TlsUtils.getExtensionData(this.serverExtensions, EXT_RenegotiationInfo); - if (renegExtData != null) - { - /* - * If the extension is present, set the secure_renegotiation flag to TRUE. The - * client MUST then verify that the length of the "renegotiated_connection" - * field is zero, and if it is not, MUST abort the handshake (by sending a fatal - * handshake_failure alert). - */ - this.secure_renegotiation = true; - - if (!Arrays.constantTimeAreEqual(renegExtData, createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - } - - // TODO[compat-gnutls] GnuTLS test server fails to send renegotiation_info extension when resuming - this.tlsClient.notifySecureRenegotiation(this.secure_renegotiation); - - Hashtable sessionClientExtensions = clientExtensions, sessionServerExtensions = serverExtensions; - if (this.resumedSession) - { - if (selectedCipherSuite != this.sessionParameters.getCipherSuite() - || selectedCompressionMethod != this.sessionParameters.getCompressionAlgorithm()) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - sessionClientExtensions = null; - sessionServerExtensions = this.sessionParameters.readServerExtensions(); - } - - this.securityParameters.cipherSuite = selectedCipherSuite; - this.securityParameters.compressionAlgorithm = selectedCompressionMethod; - - if (sessionServerExtensions != null) - { - this.securityParameters.maxFragmentLength = processMaxFragmentLengthExtension(sessionClientExtensions, - sessionServerExtensions, AlertDescription.illegal_parameter); - - this.securityParameters.truncatedHMac = TlsExtensionsUtils.hasTruncatedHMacExtension(sessionServerExtensions); - - /* - * TODO It's surprising that there's no provision to allow a 'fresh' CertificateStatus to be sent in - * a session resumption handshake. - */ - this.allowCertificateStatus = !this.resumedSession - && TlsUtils.hasExpectedEmptyExtensionData(sessionServerExtensions, - TlsExtensionsUtils.EXT_status_request, AlertDescription.illegal_parameter); - - this.expectSessionTicket = !this.resumedSession - && TlsUtils.hasExpectedEmptyExtensionData(sessionServerExtensions, TlsProtocol.EXT_SessionTicket, - AlertDescription.illegal_parameter); - } - - if (sessionClientExtensions != null) - { - this.tlsClient.processServerExtensions(sessionServerExtensions); - } - } - - protected void sendCertificateVerifyMessage(DigitallySigned certificateVerify) - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.certificate_verify); - - certificateVerify.encode(message); - - message.writeToRecordStream(); - } - - protected void sendClientHelloMessage() - throws IOException - { - this.recordStream.setWriteVersion(this.tlsClient.getClientHelloRecordLayerVersion()); - - ProtocolVersion client_version = this.tlsClient.getClientVersion(); - if (client_version.isDTLS()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - getContext().setClientVersion(client_version); - - /* - * TODO RFC 5077 3.4. When presenting a ticket, the client MAY generate and include a - * Session ID in the TLS ClientHello. - */ - byte[] session_id = TlsUtils.EMPTY_BYTES; - if (this.tlsSession != null) - { - session_id = this.tlsSession.getSessionID(); - if (session_id == null || session_id.length > 32) - { - session_id = TlsUtils.EMPTY_BYTES; - } - } - - this.offeredCipherSuites = this.tlsClient.getCipherSuites(); - - this.offeredCompressionMethods = this.tlsClient.getCompressionMethods(); - - if (session_id.length > 0 && this.sessionParameters != null) - { - if (!Arrays.contains(this.offeredCipherSuites, sessionParameters.getCipherSuite()) - || !Arrays.contains(this.offeredCompressionMethods, sessionParameters.getCompressionAlgorithm())) - { - session_id = TlsUtils.EMPTY_BYTES; - } - } - - this.clientExtensions = this.tlsClient.getClientExtensions(); - - HandshakeMessage message = new HandshakeMessage(HandshakeType.client_hello); - - TlsUtils.writeVersion(client_version, message); - - message.write(this.securityParameters.getClientRandom()); - - TlsUtils.writeOpaque8(session_id, message); - - // Cipher Suites (and SCSV) - { - /* - * RFC 5746 3.4. The client MUST include either an empty "renegotiation_info" extension, - * or the TLS_EMPTY_RENEGOTIATION_INFO_SCSV signaling cipher suite value in the - * ClientHello. Including both is NOT RECOMMENDED. - */ - byte[] renegExtData = TlsUtils.getExtensionData(clientExtensions, EXT_RenegotiationInfo); - boolean noRenegExt = (null == renegExtData); - - boolean noSCSV = !Arrays.contains(offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV); - - if (noRenegExt && noSCSV) - { - // TODO Consider whether to default to a client extension instead -// this.clientExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(this.clientExtensions); -// this.clientExtensions.put(EXT_RenegotiationInfo, createRenegotiationInfo(TlsUtils.EMPTY_BYTES)); - this.offeredCipherSuites = Arrays.append(offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV); - } - - TlsUtils.writeUint16ArrayWithUint16Length(offeredCipherSuites, message); - } - - TlsUtils.writeUint8ArrayWithUint8Length(offeredCompressionMethods, message); - - if (clientExtensions != null) - { - writeExtensions(message, clientExtensions); - } - - message.writeToRecordStream(); - } - - protected void sendClientKeyExchangeMessage() - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.client_key_exchange); - - this.keyExchange.generateClientKeyExchange(message); - - message.writeToRecordStream(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCompression.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCompression.java deleted file mode 100644 index e6d475ceb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCompression.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.OutputStream; - -public interface TlsCompression -{ - OutputStream compress(OutputStream output); - - OutputStream decompress(OutputStream output); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java deleted file mode 100644 index 5da0bb645..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.security.SecureRandom; - -public interface TlsContext -{ - SecureRandom getSecureRandom(); - - SecurityParameters getSecurityParameters(); - - boolean isServer(); - - ProtocolVersion getClientVersion(); - - ProtocolVersion getServerVersion(); - - /** - * Used to get the resumable session, if any, used by this connection. Only available after the - * handshake has successfully completed. - * - * @return A {@link TlsSession} representing the resumable session used by this connection, or - * null if no resumable session available. - * @see {@link TlsPeer#notifyHandshakeComplete()} - */ - TlsSession getResumableSession(); - - Object getUserObject(); - - void setUserObject(Object userObject); - - /** - * Export keying material according to RFC 5705: "Keying Material Exporters for TLS". - * - * @param asciiLabel indicates which application will use the exported keys. - * @param context_value allows the application using the exporter to mix its own data with the TLS PRF for - * the exporter output. - * @param length the number of bytes to generate - * @return a pseudorandom bit string of 'length' bytes generated from the master_secret. - */ - byte[] exportKeyingMaterial(String asciiLabel, byte[] context_value, int length); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCredentials.java deleted file mode 100644 index 269233949..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsCredentials.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.tls; - -public interface TlsCredentials -{ - Certificate getCertificate(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHEKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHEKeyExchange.java deleted file mode 100644 index fa4bd98f1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHEKeyExchange.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.util.io.TeeInputStream; - -public class TlsDHEKeyExchange - extends TlsDHKeyExchange -{ - protected TlsSignerCredentials serverCredentials = null; - - public TlsDHEKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, DHParameters dhParameters) - { - super(keyExchange, supportedSignatureAlgorithms, dhParameters); - } - - public void processServerCredentials(TlsCredentials serverCredentials) - throws IOException - { - if (!(serverCredentials instanceof TlsSignerCredentials)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - processServerCertificate(serverCredentials.getCertificate()); - - this.serverCredentials = (TlsSignerCredentials)serverCredentials; - } - - public byte[] generateServerKeyExchange() - throws IOException - { - if (this.dhParameters == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - DigestInputBuffer buf = new DigestInputBuffer(); - - this.dhAgreeServerPrivateKey = TlsDHUtils.generateEphemeralServerKeyExchange(context.getSecureRandom(), - this.dhParameters, buf); - - /* - * RFC 5246 4.7. digitally-signed element needs SignatureAndHashAlgorithm from TLS 1.2 - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm; - Digest d; - - if (TlsUtils.isTLSv12(context)) - { - signatureAndHashAlgorithm = serverCredentials.getSignatureAndHashAlgorithm(); - if (signatureAndHashAlgorithm == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - d = TlsUtils.createHash(signatureAndHashAlgorithm.getHash()); - } - else - { - signatureAndHashAlgorithm = null; - d = new CombinedHash(); - } - - SecurityParameters securityParameters = context.getSecurityParameters(); - d.update(securityParameters.clientRandom, 0, securityParameters.clientRandom.length); - d.update(securityParameters.serverRandom, 0, securityParameters.serverRandom.length); - buf.updateDigest(d); - - byte[] hash = new byte[d.getDigestSize()]; - d.doFinal(hash, 0); - - byte[] signature = serverCredentials.generateCertificateSignature(hash); - - DigitallySigned signed_params = new DigitallySigned(signatureAndHashAlgorithm, signature); - signed_params.encode(buf); - - return buf.toByteArray(); - } - - public void processServerKeyExchange(InputStream input) - throws IOException - { - SecurityParameters securityParameters = context.getSecurityParameters(); - - SignerInputBuffer buf = new SignerInputBuffer(); - InputStream teeIn = new TeeInputStream(input, buf); - - ServerDHParams params = ServerDHParams.parse(teeIn); - - DigitallySigned signed_params = DigitallySigned.parse(context, input); - - Signer signer = initVerifyer(tlsSigner, signed_params.getAlgorithm(), securityParameters); - buf.updateSigner(signer); - if (!signer.verifySignature(signed_params.getSignature())) - { - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - - this.dhAgreeServerPublicKey = TlsDHUtils.validateDHPublicKey(params.getPublicKey()); - } - - protected Signer initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters) - { - Signer signer = tlsSigner.createVerifyer(algorithm, this.serverPublicKey); - signer.update(securityParameters.clientRandom, 0, securityParameters.clientRandom.length); - signer.update(securityParameters.serverRandom, 0, securityParameters.serverRandom.length); - return signer; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHKeyExchange.java deleted file mode 100644 index b4948d9d3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHKeyExchange.java +++ /dev/null @@ -1,208 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.OutputStream; -import java.math.BigInteger; -import java.util.Vector; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.util.PublicKeyFactory; - -/** - * TLS 1.0/1.1 DH key exchange. - */ -public class TlsDHKeyExchange - extends AbstractTlsKeyExchange -{ - protected static final BigInteger ONE = BigInteger.valueOf(1); - protected static final BigInteger TWO = BigInteger.valueOf(2); - - protected TlsSigner tlsSigner; - protected DHParameters dhParameters; - - protected AsymmetricKeyParameter serverPublicKey; - protected DHPublicKeyParameters dhAgreeServerPublicKey; - protected TlsAgreementCredentials agreementCredentials; - protected DHPrivateKeyParameters dhAgreeClientPrivateKey; - - protected DHPrivateKeyParameters dhAgreeServerPrivateKey; - protected DHPublicKeyParameters dhAgreeClientPublicKey; - - public TlsDHKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, DHParameters dhParameters) - { - super(keyExchange, supportedSignatureAlgorithms); - - switch (keyExchange) - { - case KeyExchangeAlgorithm.DH_RSA: - case KeyExchangeAlgorithm.DH_DSS: - this.tlsSigner = null; - break; - case KeyExchangeAlgorithm.DHE_RSA: - this.tlsSigner = new TlsRSASigner(); - break; - case KeyExchangeAlgorithm.DHE_DSS: - this.tlsSigner = new TlsDSSSigner(); - break; - default: - throw new IllegalArgumentException("unsupported key exchange algorithm"); - } - - this.dhParameters = dhParameters; - } - - public void init(TlsContext context) - { - super.init(context); - - if (this.tlsSigner != null) - { - this.tlsSigner.init(context); - } - } - - public void skipServerCredentials() - throws IOException - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - public void processServerCertificate(Certificate serverCertificate) - throws IOException - { - if (serverCertificate.isEmpty()) - { - throw new TlsFatalAlert(AlertDescription.bad_certificate); - } - - org.spongycastle.asn1.x509.Certificate x509Cert = serverCertificate.getCertificateAt(0); - - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - this.serverPublicKey = PublicKeyFactory.createKey(keyInfo); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - if (tlsSigner == null) - { - try - { - this.dhAgreeServerPublicKey = TlsDHUtils.validateDHPublicKey((DHPublicKeyParameters)this.serverPublicKey); - } - catch (ClassCastException e) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.keyAgreement); - } - else - { - if (!tlsSigner.isValidPublicKey(this.serverPublicKey)) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - } - - super.processServerCertificate(serverCertificate); - } - - public boolean requiresServerKeyExchange() - { - switch (keyExchange) - { - case KeyExchangeAlgorithm.DHE_DSS: - case KeyExchangeAlgorithm.DHE_RSA: - case KeyExchangeAlgorithm.DH_anon: - return true; - default: - return false; - } - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) - throws IOException - { - short[] types = certificateRequest.getCertificateTypes(); - for (int i = 0; i < types.length; ++i) - { - switch (types[i]) - { - case ClientCertificateType.rsa_sign: - case ClientCertificateType.dss_sign: - case ClientCertificateType.rsa_fixed_dh: - case ClientCertificateType.dss_fixed_dh: - case ClientCertificateType.ecdsa_sign: - break; - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - } - - public void processClientCredentials(TlsCredentials clientCredentials) - throws IOException - { - if (clientCredentials instanceof TlsAgreementCredentials) - { - // TODO Validate client cert has matching parameters (see 'areCompatibleParameters')? - - this.agreementCredentials = (TlsAgreementCredentials)clientCredentials; - } - else if (clientCredentials instanceof TlsSignerCredentials) - { - // OK - } - else - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void generateClientKeyExchange(OutputStream output) - throws IOException - { - /* - * RFC 2246 7.4.7.2 If the client certificate already contains a suitable Diffie-Hellman - * key, then Yc is implicit and does not need to be sent again. In this case, the Client Key - * Exchange message will be sent, but will be empty. - */ - if (agreementCredentials == null) - { - this.dhAgreeClientPrivateKey = TlsDHUtils.generateEphemeralClientKeyExchange(context.getSecureRandom(), - dhAgreeServerPublicKey.getParameters(), output); - } - } - - public byte[] generatePremasterSecret() - throws IOException - { - if (agreementCredentials != null) - { - return agreementCredentials.generateAgreement(dhAgreeServerPublicKey); - } - - if (dhAgreeServerPrivateKey != null) - { - return TlsDHUtils.calculateDHBasicAgreement(dhAgreeClientPublicKey, dhAgreeServerPrivateKey); - } - - if (dhAgreeClientPrivateKey != null) - { - return TlsDHUtils.calculateDHBasicAgreement(dhAgreeServerPublicKey, dhAgreeClientPrivateKey); - } - - throw new TlsFatalAlert(AlertDescription.internal_error); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHUtils.java deleted file mode 100644 index 9a7a22184..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDHUtils.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.agreement.DHBasicAgreement; -import org.spongycastle.crypto.generators.DHBasicKeyPairGenerator; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.util.BigIntegers; - -public class TlsDHUtils -{ - static final BigInteger ONE = BigInteger.valueOf(1); - static final BigInteger TWO = BigInteger.valueOf(2); - - public static boolean areCompatibleParameters(DHParameters a, DHParameters b) - { - return a.getP().equals(b.getP()) && a.getG().equals(b.getG()); - } - - public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey) - { - DHBasicAgreement basicAgreement = new DHBasicAgreement(); - basicAgreement.init(privateKey); - BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey); - - /* - * RFC 5246 8.1.2. Leading bytes of Z that contain all zero bits are stripped before it is - * used as the pre_master_secret. - */ - return BigIntegers.asUnsignedByteArray(agreementValue); - } - - public static AsymmetricCipherKeyPair generateDHKeyPair(SecureRandom random, DHParameters dhParams) - { - DHBasicKeyPairGenerator dhGen = new DHBasicKeyPairGenerator(); - dhGen.init(new DHKeyGenerationParameters(random, dhParams)); - return dhGen.generateKeyPair(); - } - - public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random, DHParameters dhParams, - OutputStream output) throws IOException - { - AsymmetricCipherKeyPair kp = generateDHKeyPair(random, dhParams); - - DHPublicKeyParameters dh_public = (DHPublicKeyParameters) kp.getPublic(); - writeDHParameter(dh_public.getY(), output); - - return (DHPrivateKeyParameters) kp.getPrivate(); - } - - public static DHPrivateKeyParameters generateEphemeralServerKeyExchange(SecureRandom random, DHParameters dhParams, - OutputStream output) throws IOException - { - AsymmetricCipherKeyPair kp = TlsDHUtils.generateDHKeyPair(random, dhParams); - - DHPublicKeyParameters dhPublicKey = (DHPublicKeyParameters)kp.getPublic(); - ServerDHParams params = new ServerDHParams(dhPublicKey); - params.encode(output); - - return (DHPrivateKeyParameters)kp.getPrivate(); - } - - public static DHPublicKeyParameters validateDHPublicKey(DHPublicKeyParameters key) throws IOException - { - BigInteger Y = key.getY(); - DHParameters params = key.getParameters(); - BigInteger p = params.getP(); - BigInteger g = params.getG(); - - if (!p.isProbablePrime(2)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - if (g.compareTo(TWO) < 0 || g.compareTo(p.subtract(TWO)) > 0) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - if (Y.compareTo(TWO) < 0 || Y.compareTo(p.subtract(ONE)) > 0) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - // TODO See RFC 2631 for more discussion of Diffie-Hellman validation - - return key; - } - - public static BigInteger readDHParameter(InputStream input) throws IOException - { - return new BigInteger(1, TlsUtils.readOpaque16(input)); - } - - public static void writeDHParameter(BigInteger x, OutputStream output) throws IOException - { - TlsUtils.writeOpaque16(BigIntegers.asUnsignedByteArray(x), output); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSASigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSASigner.java deleted file mode 100644 index a2899fe06..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSASigner.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.digests.NullDigest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.DSADigestSigner; - -public abstract class TlsDSASigner - extends AbstractTlsSigner -{ - public byte[] generateRawSignature(SignatureAndHashAlgorithm algorithm, - AsymmetricKeyParameter privateKey, byte[] hash) - throws CryptoException - { - Signer signer = makeSigner(algorithm, true, true, - new ParametersWithRandom(privateKey, this.context.getSecureRandom())); - if (algorithm == null) - { - // Note: Only use the SHA1 part of the (MD5/SHA1) hash - signer.update(hash, 16, 20); - } - else - { - signer.update(hash, 0, hash.length); - } - return signer.generateSignature(); - } - - public boolean verifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, - AsymmetricKeyParameter publicKey, byte[] hash) - throws CryptoException - { - Signer signer = makeSigner(algorithm, true, false, publicKey); - if (algorithm == null) - { - // Note: Only use the SHA1 part of the (MD5/SHA1) hash - signer.update(hash, 16, 20); - } - else - { - signer.update(hash, 0, hash.length); - } - return signer.verifySignature(sigBytes); - } - - public Signer createSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey) - { - return makeSigner(algorithm, false, true, new ParametersWithRandom(privateKey, this.context.getSecureRandom())); - } - - public Signer createVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey) - { - return makeSigner(algorithm, false, false, publicKey); - } - - protected Signer makeSigner(SignatureAndHashAlgorithm algorithm, boolean raw, boolean forSigning, - CipherParameters cp) - { - if ((algorithm != null) != TlsUtils.isTLSv12(context)) - { - throw new IllegalStateException(); - } - - if (algorithm != null - && (algorithm.getHash() != HashAlgorithm.sha1 || algorithm.getSignature() != getSignatureAlgorithm())) - { - throw new IllegalStateException(); - } - - Digest d = raw ? new NullDigest() : TlsUtils.createHash(HashAlgorithm.sha1); - - Signer s = new DSADigestSigner(createDSAImpl(), d); - s.init(forSigning, cp); - return s; - } - - protected abstract short getSignatureAlgorithm(); - - protected abstract DSA createDSAImpl(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java deleted file mode 100644 index d4309c137..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.signers.DSASigner; - -public class TlsDSSSigner - extends TlsDSASigner -{ - public boolean isValidPublicKey(AsymmetricKeyParameter publicKey) - { - return publicKey instanceof DSAPublicKeyParameters; - } - - protected DSA createDSAImpl() - { - return new DSASigner(); - } - - protected short getSignatureAlgorithm() - { - return SignatureAlgorithm.dsa; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECCUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECCUtils.java deleted file mode 100644 index 52e836fcf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECCUtils.java +++ /dev/null @@ -1,627 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.Hashtable; - -import org.spongycastle.asn1.x9.ECNamedCurveTable; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.agreement.ECDHBasicAgreement; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECFieldElement; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.Integers; - -public class TlsECCUtils -{ - public static final Integer EXT_elliptic_curves = Integers.valueOf(ExtensionType.elliptic_curves); - public static final Integer EXT_ec_point_formats = Integers.valueOf(ExtensionType.ec_point_formats); - - private static final String[] curveNames = new String[] { "sect163k1", "sect163r1", "sect163r2", "sect193r1", - "sect193r2", "sect233k1", "sect233r1", "sect239k1", "sect283k1", "sect283r1", "sect409k1", "sect409r1", - "sect571k1", "sect571r1", "secp160k1", "secp160r1", "secp160r2", "secp192k1", "secp192r1", "secp224k1", - "secp224r1", "secp256k1", "secp256r1", "secp384r1", "secp521r1", - "brainpoolP256r1", "brainpoolP384r1", "brainpoolP512r1"}; - - public static void addSupportedEllipticCurvesExtension(Hashtable extensions, int[] namedCurves) throws IOException - { - extensions.put(EXT_elliptic_curves, createSupportedEllipticCurvesExtension(namedCurves)); - } - - public static void addSupportedPointFormatsExtension(Hashtable extensions, short[] ecPointFormats) - throws IOException - { - extensions.put(EXT_ec_point_formats, createSupportedPointFormatsExtension(ecPointFormats)); - } - - public static int[] getSupportedEllipticCurvesExtension(Hashtable extensions) throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_elliptic_curves); - return extensionData == null ? null : readSupportedEllipticCurvesExtension(extensionData); - } - - public static short[] getSupportedPointFormatsExtension(Hashtable extensions) throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_ec_point_formats); - return extensionData == null ? null : readSupportedPointFormatsExtension(extensionData); - } - - public static byte[] createSupportedEllipticCurvesExtension(int[] namedCurves) throws IOException - { - if (namedCurves == null || namedCurves.length < 1) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return TlsUtils.encodeUint16ArrayWithUint16Length(namedCurves); - } - - public static byte[] createSupportedPointFormatsExtension(short[] ecPointFormats) throws IOException - { - if (ecPointFormats == null) - { - ecPointFormats = new short[] { ECPointFormat.uncompressed }; - } - else if (!Arrays.contains(ecPointFormats, ECPointFormat.uncompressed)) - { - /* - * RFC 4492 5.1. If the Supported Point Formats Extension is indeed sent, it MUST - * contain the value 0 (uncompressed) as one of the items in the list of point formats. - */ - - // NOTE: We add it at the end (lowest preference) - short[] tmp = new short[ecPointFormats.length + 1]; - System.arraycopy(ecPointFormats, 0, tmp, 0, ecPointFormats.length); - tmp[ecPointFormats.length] = ECPointFormat.uncompressed; - - ecPointFormats = tmp; - } - - return TlsUtils.encodeUint8ArrayWithUint8Length(ecPointFormats); - } - - public static int[] readSupportedEllipticCurvesExtension(byte[] extensionData) throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - int length = TlsUtils.readUint16(buf); - if (length < 2 || (length & 1) != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - int[] namedCurves = TlsUtils.readUint16Array(length / 2, buf); - - TlsProtocol.assertEmpty(buf); - - return namedCurves; - } - - public static short[] readSupportedPointFormatsExtension(byte[] extensionData) throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - short length = TlsUtils.readUint8(buf); - if (length < 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - short[] ecPointFormats = TlsUtils.readUint8Array(length, buf); - - TlsProtocol.assertEmpty(buf); - - if (!Arrays.contains(ecPointFormats, ECPointFormat.uncompressed)) - { - /* - * RFC 4492 5.1. If the Supported Point Formats Extension is indeed sent, it MUST - * contain the value 0 (uncompressed) as one of the items in the list of point formats. - */ - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return ecPointFormats; - } - - public static String getNameOfNamedCurve(int namedCurve) - { - return isSupportedNamedCurve(namedCurve) ? curveNames[namedCurve - 1] : null; - } - - public static ECDomainParameters getParametersForNamedCurve(int namedCurve) - { - String curveName = getNameOfNamedCurve(namedCurve); - if (curveName == null) - { - return null; - } - - // Lazily created the first time a particular curve is accessed - X9ECParameters ecP = ECNamedCurveTable.getByName(curveName); - - if (ecP == null) - { - return null; - } - - // It's a bit inefficient to do this conversion every time - return new ECDomainParameters(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); - } - - public static boolean hasAnySupportedNamedCurves() - { - return curveNames.length > 0; - } - - public static boolean containsECCCipherSuites(int[] cipherSuites) - { - for (int i = 0; i < cipherSuites.length; ++i) - { - if (isECCCipherSuite(cipherSuites[i])) - { - return true; - } - } - return false; - } - - public static boolean isECCCipherSuite(int cipherSuite) - { - switch (cipherSuite) - { - /* - * RFC 4492 - */ - case CipherSuite.TLS_ECDH_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_NULL_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_RC4_128_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDH_anon_WITH_AES_256_CBC_SHA: - - /* - * RFC 5289 - */ - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - - /* - * RFC 5489 - */ - case CipherSuite.TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA256: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_RC4_128_SHA: - - /* - * draft-josefsson-salsa20-tls-02 - */ - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_PSK_WITH_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_ESTREAM_SALSA20_UMAC96: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_SHA1: - case CipherSuite.TLS_ECDHE_RSA_WITH_SALSA20_UMAC96: - - return true; - - default: - return false; - } - } - - public static boolean areOnSameCurve(ECDomainParameters a, ECDomainParameters b) - { - // TODO Move to ECDomainParameters.equals() or other utility method? - return a.getCurve().equals(b.getCurve()) && a.getG().equals(b.getG()) && a.getN().equals(b.getN()) - && a.getH().equals(b.getH()); - } - - public static boolean isSupportedNamedCurve(int namedCurve) - { - return (namedCurve > 0 && namedCurve <= curveNames.length); - } - - public static boolean isCompressionPreferred(short[] ecPointFormats, short compressionFormat) - { - if (ecPointFormats == null) - { - return false; - } - for (int i = 0; i < ecPointFormats.length; ++i) - { - short ecPointFormat = ecPointFormats[i]; - if (ecPointFormat == ECPointFormat.uncompressed) - { - return false; - } - if (ecPointFormat == compressionFormat) - { - return true; - } - } - return false; - } - - public static byte[] serializeECFieldElement(int fieldSize, BigInteger x) throws IOException - { - return BigIntegers.asUnsignedByteArray((fieldSize + 7) / 8, x); - } - - public static byte[] serializeECPoint(short[] ecPointFormats, ECPoint point) throws IOException - { - ECCurve curve = point.getCurve(); - - /* - * RFC 4492 5.7. ...an elliptic curve point in uncompressed or compressed format. Here, the - * format MUST conform to what the server has requested through a Supported Point Formats - * Extension if this extension was used, and MUST be uncompressed if this extension was not - * used. - */ - boolean compressed = false; - if (curve instanceof ECCurve.F2m) - { - compressed = isCompressionPreferred(ecPointFormats, ECPointFormat.ansiX962_compressed_char2); - } - else if (curve instanceof ECCurve.Fp) - { - compressed = isCompressionPreferred(ecPointFormats, ECPointFormat.ansiX962_compressed_prime); - } - return point.getEncoded(compressed); - } - - public static byte[] serializeECPublicKey(short[] ecPointFormats, ECPublicKeyParameters keyParameters) - throws IOException - { - return serializeECPoint(ecPointFormats, keyParameters.getQ()); - } - - public static BigInteger deserializeECFieldElement(int fieldSize, byte[] encoding) throws IOException - { - int requiredLength = (fieldSize + 7) / 8; - if (encoding.length != requiredLength) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - return new BigInteger(1, encoding); - } - - public static ECPoint deserializeECPoint(short[] ecPointFormats, ECCurve curve, byte[] encoding) throws IOException - { - /* - * NOTE: Here we implicitly decode compressed or uncompressed encodings. DefaultTlsClient by - * default is set up to advertise that we can parse any encoding so this works fine, but - * extra checks might be needed here if that were changed. - */ - // TODO Review handling of infinity and hybrid encodings - return curve.decodePoint(encoding); - } - - public static ECPublicKeyParameters deserializeECPublicKey(short[] ecPointFormats, ECDomainParameters curve_params, - byte[] encoding) throws IOException - { - try - { - ECPoint Y = deserializeECPoint(ecPointFormats, curve_params.getCurve(), encoding); - return new ECPublicKeyParameters(Y, curve_params); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - public static byte[] calculateECDHBasicAgreement(ECPublicKeyParameters publicKey, ECPrivateKeyParameters privateKey) - { - ECDHBasicAgreement basicAgreement = new ECDHBasicAgreement(); - basicAgreement.init(privateKey); - BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey); - - /* - * RFC 4492 5.10. Note that this octet string (Z in IEEE 1363 terminology) as output by - * FE2OSP, the Field Element to Octet String Conversion Primitive, has constant length for - * any given field; leading zeros found in this octet string MUST NOT be truncated. - */ - return BigIntegers.asUnsignedByteArray(basicAgreement.getFieldSize(), agreementValue); - } - - public static AsymmetricCipherKeyPair generateECKeyPair(SecureRandom random, ECDomainParameters ecParams) - { - ECKeyPairGenerator keyPairGenerator = new ECKeyPairGenerator(); - keyPairGenerator.init(new ECKeyGenerationParameters(ecParams, random)); - return keyPairGenerator.generateKeyPair(); - } - - public static ECPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random, short[] ecPointFormats, - ECDomainParameters ecParams, OutputStream output) throws IOException - { - AsymmetricCipherKeyPair kp = TlsECCUtils.generateECKeyPair(random, ecParams); - - ECPublicKeyParameters ecPublicKey = (ECPublicKeyParameters) kp.getPublic(); - writeECPoint(ecPointFormats, ecPublicKey.getQ(), output); - - return (ECPrivateKeyParameters) kp.getPrivate(); - } - - public static ECPublicKeyParameters validateECPublicKey(ECPublicKeyParameters key) throws IOException - { - // TODO Check RFC 4492 for validation - return key; - } - - public static int readECExponent(int fieldSize, InputStream input) throws IOException - { - BigInteger K = readECParameter(input); - if (K.bitLength() < 32) - { - int k = K.intValue(); - if (k > 0 && k < fieldSize) - { - return k; - } - } - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - public static BigInteger readECFieldElement(int fieldSize, InputStream input) throws IOException - { - return deserializeECFieldElement(fieldSize, TlsUtils.readOpaque8(input)); - } - - public static BigInteger readECParameter(InputStream input) throws IOException - { - // TODO Are leading zeroes okay here? - return new BigInteger(1, TlsUtils.readOpaque8(input)); - } - - public static ECDomainParameters readECParameters(int[] namedCurves, short[] ecPointFormats, InputStream input) - throws IOException - { - try - { - short curveType = TlsUtils.readUint8(input); - - switch (curveType) - { - case ECCurveType.explicit_prime: - { - checkNamedCurve(namedCurves, NamedCurve.arbitrary_explicit_prime_curves); - - BigInteger prime_p = readECParameter(input); - BigInteger a = readECFieldElement(prime_p.bitLength(), input); - BigInteger b = readECFieldElement(prime_p.bitLength(), input); - ECCurve curve = new ECCurve.Fp(prime_p, a, b); - ECPoint base = deserializeECPoint(ecPointFormats, curve, TlsUtils.readOpaque8(input)); - BigInteger order = readECParameter(input); - BigInteger cofactor = readECParameter(input); - return new ECDomainParameters(curve, base, order, cofactor); - } - case ECCurveType.explicit_char2: - { - checkNamedCurve(namedCurves, NamedCurve.arbitrary_explicit_char2_curves); - - int m = TlsUtils.readUint16(input); - short basis = TlsUtils.readUint8(input); - ECCurve curve; - switch (basis) { - case ECBasisType.ec_basis_trinomial: - { - int k = readECExponent(m, input); - BigInteger a = readECFieldElement(m, input); - BigInteger b = readECFieldElement(m, input); - curve = new ECCurve.F2m(m, k, a, b); - break; - } - case ECBasisType.ec_basis_pentanomial: - { - int k1 = readECExponent(m, input); - int k2 = readECExponent(m, input); - int k3 = readECExponent(m, input); - BigInteger a = readECFieldElement(m, input); - BigInteger b = readECFieldElement(m, input); - curve = new ECCurve.F2m(m, k1, k2, k3, a, b); - break; - } - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - ECPoint base = deserializeECPoint(ecPointFormats, curve, TlsUtils.readOpaque8(input)); - BigInteger order = readECParameter(input); - BigInteger cofactor = readECParameter(input); - return new ECDomainParameters(curve, base, order, cofactor); - } - case ECCurveType.named_curve: - { - int namedCurve = TlsUtils.readUint16(input); - if (!NamedCurve.refersToASpecificNamedCurve(namedCurve)) - { - /* - * RFC 4492 5.4. All those values of NamedCurve are allowed that refer to a - * specific curve. Values of NamedCurve that indicate support for a class of - * explicitly defined curves are not allowed here [...]. - */ - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - checkNamedCurve(namedCurves, namedCurve); - - return TlsECCUtils.getParametersForNamedCurve(namedCurve); - } - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - private static void checkNamedCurve(int[] namedCurves, int namedCurve) throws IOException - { - if (namedCurves != null && !Arrays.contains(namedCurves, namedCurve)) - { - /* - * RFC 4492 4. [...] servers MUST NOT negotiate the use of an ECC cipher suite - * unless they can complete the handshake while respecting the choice of curves - * and compression techniques specified by the client. - */ - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - public static void writeECExponent(int k, OutputStream output) throws IOException - { - BigInteger K = BigInteger.valueOf(k); - writeECParameter(K, output); - } - - public static void writeECFieldElement(ECFieldElement x, OutputStream output) throws IOException - { - TlsUtils.writeOpaque8(x.getEncoded(), output); - } - - public static void writeECFieldElement(int fieldSize, BigInteger x, OutputStream output) throws IOException - { - TlsUtils.writeOpaque8(serializeECFieldElement(fieldSize, x), output); - } - - public static void writeECParameter(BigInteger x, OutputStream output) throws IOException - { - TlsUtils.writeOpaque8(BigIntegers.asUnsignedByteArray(x), output); - } - - public static void writeExplicitECParameters(short[] ecPointFormats, ECDomainParameters ecParameters, - OutputStream output) throws IOException - { - ECCurve curve = ecParameters.getCurve(); - if (curve instanceof ECCurve.Fp) - { - TlsUtils.writeUint8(ECCurveType.explicit_prime, output); - - ECCurve.Fp fp = (ECCurve.Fp) curve; - writeECParameter(fp.getQ(), output); - } - else if (curve instanceof ECCurve.F2m) - { - TlsUtils.writeUint8(ECCurveType.explicit_char2, output); - - ECCurve.F2m f2m = (ECCurve.F2m) curve; - int m = f2m.getM(); - TlsUtils.checkUint16(m); - TlsUtils.writeUint16(m, output); - - if (f2m.isTrinomial()) - { - TlsUtils.writeUint8(ECBasisType.ec_basis_trinomial, output); - writeECExponent(f2m.getK1(), output); - } - else - { - TlsUtils.writeUint8(ECBasisType.ec_basis_pentanomial, output); - writeECExponent(f2m.getK1(), output); - writeECExponent(f2m.getK2(), output); - writeECExponent(f2m.getK3(), output); - } - - } - else - { - throw new IllegalArgumentException("'ecParameters' not a known curve type"); - } - - writeECFieldElement(curve.getA(), output); - writeECFieldElement(curve.getB(), output); - TlsUtils.writeOpaque8(serializeECPoint(ecPointFormats, ecParameters.getG()), output); - writeECParameter(ecParameters.getN(), output); - writeECParameter(ecParameters.getH(), output); - } - - public static void writeECPoint(short[] ecPointFormats, ECPoint point, OutputStream output) throws IOException - { - TlsUtils.writeOpaque8(TlsECCUtils.serializeECPoint(ecPointFormats, point), output); - } - - public static void writeNamedECParameters(int namedCurve, OutputStream output) throws IOException - { - if (!NamedCurve.refersToASpecificNamedCurve(namedCurve)) - { - /* - * RFC 4492 5.4. All those values of NamedCurve are allowed that refer to a specific - * curve. Values of NamedCurve that indicate support for a class of explicitly defined - * curves are not allowed here [...]. - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - TlsUtils.writeUint8(ECCurveType.named_curve, output); - TlsUtils.checkUint16(namedCurve); - TlsUtils.writeUint16(namedCurve, output); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHEKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHEKeyExchange.java deleted file mode 100644 index c1a1021a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHEKeyExchange.java +++ /dev/null @@ -1,221 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Vector; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.io.TeeInputStream; - -/** - * ECDHE key exchange (see RFC 4492) - */ -public class TlsECDHEKeyExchange - extends TlsECDHKeyExchange -{ - protected TlsSignerCredentials serverCredentials = null; - - public TlsECDHEKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, int[] namedCurves, - short[] clientECPointFormats, short[] serverECPointFormats) - { - super(keyExchange, supportedSignatureAlgorithms, namedCurves, clientECPointFormats, serverECPointFormats); - } - - public void processServerCredentials(TlsCredentials serverCredentials) - throws IOException - { - if (!(serverCredentials instanceof TlsSignerCredentials)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - processServerCertificate(serverCredentials.getCertificate()); - - this.serverCredentials = (TlsSignerCredentials)serverCredentials; - } - - public byte[] generateServerKeyExchange() - throws IOException - { - /* - * First we try to find a supported named curve from the client's list. - */ - int namedCurve = -1; - if (namedCurves == null) - { - // TODO Let the peer choose the default named curve - namedCurve = NamedCurve.secp256r1; - } - else - { - for (int i = 0; i < namedCurves.length; ++i) - { - int entry = namedCurves[i]; - if (TlsECCUtils.isSupportedNamedCurve(entry)) - { - namedCurve = entry; - break; - } - } - } - - ECDomainParameters curve_params = null; - if (namedCurve >= 0) - { - curve_params = TlsECCUtils.getParametersForNamedCurve(namedCurve); - } - else - { - /* - * If no named curves are suitable, check if the client supports explicit curves. - */ - if (Arrays.contains(namedCurves, NamedCurve.arbitrary_explicit_prime_curves)) - { - curve_params = TlsECCUtils.getParametersForNamedCurve(NamedCurve.secp256r1); - } - else if (Arrays.contains(namedCurves, NamedCurve.arbitrary_explicit_char2_curves)) - { - curve_params = TlsECCUtils.getParametersForNamedCurve(NamedCurve.sect283r1); - } - } - - if (curve_params == null) - { - /* - * NOTE: We shouldn't have negotiated ECDHE key exchange since we apparently can't find - * a suitable curve. - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - AsymmetricCipherKeyPair kp = TlsECCUtils.generateECKeyPair(context.getSecureRandom(), curve_params); - this.ecAgreePrivateKey = (ECPrivateKeyParameters)kp.getPrivate(); - - DigestInputBuffer buf = new DigestInputBuffer(); - - if (namedCurve < 0) - { - TlsECCUtils.writeExplicitECParameters(clientECPointFormats, curve_params, buf); - } - else - { - TlsECCUtils.writeNamedECParameters(namedCurve, buf); - } - - ECPublicKeyParameters ecPublicKey = (ECPublicKeyParameters) kp.getPublic(); - TlsECCUtils.writeECPoint(clientECPointFormats, ecPublicKey.getQ(), buf); - - /* - * RFC 5246 4.7. digitally-signed element needs SignatureAndHashAlgorithm from TLS 1.2 - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm; - Digest d; - - if (TlsUtils.isTLSv12(context)) - { - signatureAndHashAlgorithm = serverCredentials.getSignatureAndHashAlgorithm(); - if (signatureAndHashAlgorithm == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - d = TlsUtils.createHash(signatureAndHashAlgorithm.getHash()); - } - else - { - signatureAndHashAlgorithm = null; - d = new CombinedHash(); - } - - SecurityParameters securityParameters = context.getSecurityParameters(); - d.update(securityParameters.clientRandom, 0, securityParameters.clientRandom.length); - d.update(securityParameters.serverRandom, 0, securityParameters.serverRandom.length); - buf.updateDigest(d); - - byte[] hash = new byte[d.getDigestSize()]; - d.doFinal(hash, 0); - - byte[] signature = serverCredentials.generateCertificateSignature(hash); - - DigitallySigned signed_params = new DigitallySigned(signatureAndHashAlgorithm, signature); - signed_params.encode(buf); - - return buf.toByteArray(); - } - - public void processServerKeyExchange(InputStream input) - throws IOException - { - SecurityParameters securityParameters = context.getSecurityParameters(); - - SignerInputBuffer buf = new SignerInputBuffer(); - InputStream teeIn = new TeeInputStream(input, buf); - - ECDomainParameters curve_params = TlsECCUtils.readECParameters(namedCurves, clientECPointFormats, teeIn); - - byte[] point = TlsUtils.readOpaque8(teeIn); - - DigitallySigned signed_params = DigitallySigned.parse(context, input); - - Signer signer = initVerifyer(tlsSigner, signed_params.getAlgorithm(), securityParameters); - buf.updateSigner(signer); - if (!signer.verifySignature(signed_params.getSignature())) - { - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - - this.ecAgreePublicKey = TlsECCUtils.validateECPublicKey(TlsECCUtils.deserializeECPublicKey( - clientECPointFormats, curve_params, point)); - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) - throws IOException - { - /* - * RFC 4492 3. [...] The ECDSA_fixed_ECDH and RSA_fixed_ECDH mechanisms are usable with - * ECDH_ECDSA and ECDH_RSA. Their use with ECDHE_ECDSA and ECDHE_RSA is prohibited because - * the use of a long-term ECDH client key would jeopardize the forward secrecy property of - * these algorithms. - */ - short[] types = certificateRequest.getCertificateTypes(); - for (int i = 0; i < types.length; ++i) - { - switch (types[i]) - { - case ClientCertificateType.rsa_sign: - case ClientCertificateType.dss_sign: - case ClientCertificateType.ecdsa_sign: - break; - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - } - - public void processClientCredentials(TlsCredentials clientCredentials) - throws IOException - { - if (clientCredentials instanceof TlsSignerCredentials) - { - // OK - } - else - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - protected Signer initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters) - { - Signer signer = tlsSigner.createVerifyer(algorithm, this.serverPublicKey); - signer.update(securityParameters.clientRandom, 0, securityParameters.clientRandom.length); - signer.update(securityParameters.serverRandom, 0, securityParameters.serverRandom.length); - return signer; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHKeyExchange.java deleted file mode 100644 index 87ecaedba..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDHKeyExchange.java +++ /dev/null @@ -1,219 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.util.PublicKeyFactory; - -/** - * ECDH key exchange (see RFC 4492) - */ -public class TlsECDHKeyExchange extends AbstractTlsKeyExchange -{ - protected TlsSigner tlsSigner; - protected int[] namedCurves; - protected short[] clientECPointFormats, serverECPointFormats; - - protected AsymmetricKeyParameter serverPublicKey; - protected TlsAgreementCredentials agreementCredentials; - - protected ECPrivateKeyParameters ecAgreePrivateKey; - protected ECPublicKeyParameters ecAgreePublicKey; - - public TlsECDHKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, int[] namedCurves, - short[] clientECPointFormats, short[] serverECPointFormats) - { - super(keyExchange, supportedSignatureAlgorithms); - - switch (keyExchange) - { - case KeyExchangeAlgorithm.ECDHE_RSA: - this.tlsSigner = new TlsRSASigner(); - break; - case KeyExchangeAlgorithm.ECDHE_ECDSA: - this.tlsSigner = new TlsECDSASigner(); - break; - case KeyExchangeAlgorithm.ECDH_RSA: - case KeyExchangeAlgorithm.ECDH_ECDSA: - this.tlsSigner = null; - break; - default: - throw new IllegalArgumentException("unsupported key exchange algorithm"); - } - - this.keyExchange = keyExchange; - this.namedCurves = namedCurves; - this.clientECPointFormats = clientECPointFormats; - this.serverECPointFormats = serverECPointFormats; - } - - public void init(TlsContext context) - { - super.init(context); - - if (this.tlsSigner != null) - { - this.tlsSigner.init(context); - } - } - - public void skipServerCredentials() throws IOException - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - public void processServerCertificate(Certificate serverCertificate) throws IOException - { - if (serverCertificate.isEmpty()) - { - throw new TlsFatalAlert(AlertDescription.bad_certificate); - } - - org.spongycastle.asn1.x509.Certificate x509Cert = serverCertificate.getCertificateAt(0); - - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - this.serverPublicKey = PublicKeyFactory.createKey(keyInfo); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - if (tlsSigner == null) - { - try - { - this.ecAgreePublicKey = TlsECCUtils.validateECPublicKey((ECPublicKeyParameters) this.serverPublicKey); - } - catch (ClassCastException e) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.keyAgreement); - } - else - { - if (!tlsSigner.isValidPublicKey(this.serverPublicKey)) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - } - - super.processServerCertificate(serverCertificate); - } - - public boolean requiresServerKeyExchange() - { - switch (keyExchange) - { - case KeyExchangeAlgorithm.ECDHE_ECDSA: - case KeyExchangeAlgorithm.ECDHE_RSA: - case KeyExchangeAlgorithm.ECDH_anon: - return true; - default: - return false; - } - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) throws IOException - { - /* - * RFC 4492 3. [...] The ECDSA_fixed_ECDH and RSA_fixed_ECDH mechanisms are usable with - * ECDH_ECDSA and ECDH_RSA. Their use with ECDHE_ECDSA and ECDHE_RSA is prohibited because - * the use of a long-term ECDH client key would jeopardize the forward secrecy property of - * these algorithms. - */ - short[] types = certificateRequest.getCertificateTypes(); - for (int i = 0; i < types.length; ++i) - { - switch (types[i]) - { - case ClientCertificateType.rsa_sign: - case ClientCertificateType.dss_sign: - case ClientCertificateType.ecdsa_sign: - case ClientCertificateType.rsa_fixed_ecdh: - case ClientCertificateType.ecdsa_fixed_ecdh: - break; - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - } - - public void processClientCredentials(TlsCredentials clientCredentials) throws IOException - { - if (clientCredentials instanceof TlsAgreementCredentials) - { - // TODO Validate client cert has matching parameters (see 'TlsECCUtils.areOnSameCurve')? - - this.agreementCredentials = (TlsAgreementCredentials) clientCredentials; - } - else if (clientCredentials instanceof TlsSignerCredentials) - { - // OK - } - else - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void generateClientKeyExchange(OutputStream output) throws IOException - { - if (agreementCredentials == null) - { - this.ecAgreePrivateKey = TlsECCUtils.generateEphemeralClientKeyExchange(context.getSecureRandom(), - serverECPointFormats, ecAgreePublicKey.getParameters(), output); - } - } - - public void processClientCertificate(Certificate clientCertificate) throws IOException - { - // TODO Extract the public key - // TODO If the certificate is 'fixed', take the public key as ecAgreeClientPublicKey - } - - public void processClientKeyExchange(InputStream input) throws IOException - { - if (ecAgreePublicKey != null) - { - // For ecdsa_fixed_ecdh and rsa_fixed_ecdh, the key arrived in the client certificate - return; - } - - byte[] point = TlsUtils.readOpaque8(input); - - ECDomainParameters curve_params = this.ecAgreePrivateKey.getParameters(); - - this.ecAgreePublicKey = TlsECCUtils.validateECPublicKey(TlsECCUtils.deserializeECPublicKey( - serverECPointFormats, curve_params, point)); - } - - public byte[] generatePremasterSecret() throws IOException - { - if (agreementCredentials != null) - { - return agreementCredentials.generateAgreement(ecAgreePublicKey); - } - - if (ecAgreePrivateKey != null) - { - return TlsECCUtils.calculateECDHBasicAgreement(ecAgreePublicKey, ecAgreePrivateKey); - } - - throw new TlsFatalAlert(AlertDescription.internal_error); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java deleted file mode 100644 index c3bd67c98..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.signers.ECDSASigner; - -public class TlsECDSASigner - extends TlsDSASigner -{ - public boolean isValidPublicKey(AsymmetricKeyParameter publicKey) - { - return publicKey instanceof ECPublicKeyParameters; - } - - protected DSA createDSAImpl() - { - return new ECDSASigner(); - } - - protected short getSignatureAlgorithm() - { - return SignatureAlgorithm.ecdsa; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsEncryptionCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsEncryptionCredentials.java deleted file mode 100644 index a8e7d8882..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsEncryptionCredentials.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsEncryptionCredentials - extends TlsCredentials -{ - byte[] decryptPreMasterSecret(byte[] encryptedPreMasterSecret) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsExtensionsUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsExtensionsUtils.java deleted file mode 100644 index 07ccb199e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsExtensionsUtils.java +++ /dev/null @@ -1,240 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.util.Integers; - -public class TlsExtensionsUtils -{ - public static final Integer EXT_heartbeat = Integers.valueOf(ExtensionType.heartbeat); - public static final Integer EXT_max_fragment_length = Integers.valueOf(ExtensionType.max_fragment_length); - public static final Integer EXT_server_name = Integers.valueOf(ExtensionType.server_name); - public static final Integer EXT_status_request = Integers.valueOf(ExtensionType.status_request); - public static final Integer EXT_truncated_hmac = Integers.valueOf(ExtensionType.truncated_hmac); - - public static Hashtable ensureExtensionsInitialised(Hashtable extensions) - { - return extensions == null ? new Hashtable() : extensions; - } - - public static void addHeartbeatExtension(Hashtable extensions, HeartbeatExtension heartbeatExtension) - throws IOException - { - extensions.put(EXT_heartbeat, createHeartbeatExtension(heartbeatExtension)); - } - - public static void addMaxFragmentLengthExtension(Hashtable extensions, short maxFragmentLength) - throws IOException - { - extensions.put(EXT_max_fragment_length, createMaxFragmentLengthExtension(maxFragmentLength)); - } - - public static void addServerNameExtension(Hashtable extensions, ServerNameList serverNameList) - throws IOException - { - extensions.put(EXT_server_name, createServerNameExtension(serverNameList)); - } - - public static void addStatusRequestExtension(Hashtable extensions, CertificateStatusRequest statusRequest) - throws IOException - { - extensions.put(EXT_status_request, createStatusRequestExtension(statusRequest)); - } - - public static void addTruncatedHMacExtension(Hashtable extensions) - { - extensions.put(EXT_truncated_hmac, createTruncatedHMacExtension()); - } - - public static HeartbeatExtension getHeartbeatExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_heartbeat); - return extensionData == null ? null : readHeartbeatExtension(extensionData); - } - - public static short getMaxFragmentLengthExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_max_fragment_length); - return extensionData == null ? -1 : readMaxFragmentLengthExtension(extensionData); - } - - public static ServerNameList getServerNameExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_server_name); - return extensionData == null ? null : readServerNameExtension(extensionData); - } - - public static CertificateStatusRequest getStatusRequestExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_status_request); - return extensionData == null ? null : readStatusRequestExtension(extensionData); - } - - public static boolean hasTruncatedHMacExtension(Hashtable extensions) throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_truncated_hmac); - return extensionData == null ? false : readTruncatedHMacExtension(extensionData); - } - - public static byte[] createEmptyExtensionData() - { - return TlsUtils.EMPTY_BYTES; - } - - public static byte[] createHeartbeatExtension(HeartbeatExtension heartbeatExtension) - throws IOException - { - if (heartbeatExtension == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - heartbeatExtension.encode(buf); - - return buf.toByteArray(); - } - - public static byte[] createMaxFragmentLengthExtension(short maxFragmentLength) - throws IOException - { - if (!MaxFragmentLength.isValid(maxFragmentLength)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return new byte[]{ (byte)maxFragmentLength }; - } - - public static byte[] createServerNameExtension(ServerNameList serverNameList) - throws IOException - { - if (serverNameList == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - serverNameList.encode(buf); - - return buf.toByteArray(); - } - - public static byte[] createStatusRequestExtension(CertificateStatusRequest statusRequest) - throws IOException - { - if (statusRequest == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - statusRequest.encode(buf); - - return buf.toByteArray(); - } - - public static byte[] createTruncatedHMacExtension() - { - return createEmptyExtensionData(); - } - - public static HeartbeatExtension readHeartbeatExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - HeartbeatExtension heartbeatExtension = HeartbeatExtension.parse(buf); - - TlsProtocol.assertEmpty(buf); - - return heartbeatExtension; - } - - public static short readMaxFragmentLengthExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - if (extensionData.length != 1) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - short maxFragmentLength = (short)extensionData[0]; - - if (!MaxFragmentLength.isValid(maxFragmentLength)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return maxFragmentLength; - } - - public static ServerNameList readServerNameExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - ServerNameList serverNameList = ServerNameList.parse(buf); - - TlsProtocol.assertEmpty(buf); - - return serverNameList; - } - - public static CertificateStatusRequest readStatusRequestExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - CertificateStatusRequest statusRequest = CertificateStatusRequest.parse(buf); - - TlsProtocol.assertEmpty(buf); - - return statusRequest; - } - - private static boolean readTruncatedHMacExtension(byte[] extensionData) throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - if (extensionData.length != 0) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsFatalAlert.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsFatalAlert.java deleted file mode 100644 index 7e633809c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsFatalAlert.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public class TlsFatalAlert - extends IOException -{ - private static final long serialVersionUID = 3584313123679111168L; - - private short alertDescription; - - public TlsFatalAlert(short alertDescription) - { - this.alertDescription = alertDescription; - } - - public short getAlertDescription() - { - return alertDescription; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsHandshakeHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsHandshakeHash.java deleted file mode 100644 index 1fb28d3c8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsHandshakeHash.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.Digest; - -interface TlsHandshakeHash - extends Digest -{ - void init(TlsContext context); - - TlsHandshakeHash notifyPRFDetermined(); - - void trackHashAlgorithm(short hashAlgorithm); - - void sealHashAlgorithms(); - - TlsHandshakeHash stopTracking(); - - Digest forkPRFHash(); - - byte[] getFinalHash(short hashAlgorithm); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsInputStream.java deleted file mode 100644 index 7f7de6977..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsInputStream.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; - -/** - * An InputStream for an TLS 1.0 connection. - */ -class TlsInputStream - extends InputStream -{ - private byte[] buf = new byte[1]; - private TlsProtocol handler = null; - - TlsInputStream(TlsProtocol handler) - { - this.handler = handler; - } - - public int read(byte[] buf, int offset, int len) - throws IOException - { - return this.handler.readApplicationData(buf, offset, len); - } - - public int read() - throws IOException - { - if (this.read(buf) < 0) - { - return -1; - } - return buf[0] & 0xff; - } - - public void close() - throws IOException - { - handler.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsKeyExchange.java deleted file mode 100644 index d0f2370a2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsKeyExchange.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * A generic interface for key exchange implementations in TLS 1.0/1.1. - */ -public interface TlsKeyExchange -{ - - void init(TlsContext context); - - void skipServerCredentials() - throws IOException; - - void processServerCredentials(TlsCredentials serverCredentials) - throws IOException; - - void processServerCertificate(Certificate serverCertificate) - throws IOException; - - boolean requiresServerKeyExchange(); - - byte[] generateServerKeyExchange() - throws IOException; - - void skipServerKeyExchange() - throws IOException; - - void processServerKeyExchange(InputStream input) - throws IOException; - - void validateCertificateRequest(CertificateRequest certificateRequest) - throws IOException; - - void skipClientCredentials() - throws IOException; - - void processClientCredentials(TlsCredentials clientCredentials) - throws IOException; - - void processClientCertificate(Certificate clientCertificate) - throws IOException; - - void generateClientKeyExchange(OutputStream output) - throws IOException; - - void processClientKeyExchange(InputStream input) - throws IOException; - - byte[] generatePremasterSecret() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsMac.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsMac.java deleted file mode 100644 index 33eb7f7b3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsMac.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.digests.LongDigest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; - -/** - * A generic TLS MAC implementation, acting as an HMAC based on some underlying Digest. - */ -public class TlsMac -{ - protected TlsContext context; - protected byte[] secret; - protected Mac mac; - protected int digestBlockSize; - protected int digestOverhead; - protected int macLength; - - /** - * Generate a new instance of an TlsMac. - * - * @param context the TLS client context - * @param digest The digest to use. - * @param key A byte-array where the key for this MAC is located. - * @param keyOff The number of bytes to skip, before the key starts in the buffer. - * @param len The length of the key. - */ - public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen) - { - this.context = context; - - KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen); - - this.secret = Arrays.clone(keyParameter.getKey()); - - // TODO This should check the actual algorithm, not rely on the engine type - if (digest instanceof LongDigest) - { - this.digestBlockSize = 128; - this.digestOverhead = 16; - } - else - { - this.digestBlockSize = 64; - this.digestOverhead = 8; - } - - if (TlsUtils.isSSL(context)) - { - this.mac = new SSL3Mac(digest); - - // TODO This should check the actual algorithm, not assume based on the digest size - if (digest.getDigestSize() == 20) - { - /* - * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not - * digest block-aligned. - */ - this.digestOverhead = 4; - } - } - else - { - this.mac = new HMac(digest); - - // NOTE: The input pad for HMAC is always a full digest block - } - - this.mac.init(keyParameter); - - this.macLength = mac.getMacSize(); - if (context.getSecurityParameters().truncatedHMac) - { - this.macLength = Math.min(this.macLength, 10); - } - } - - /** - * @return the MAC write secret - */ - public byte[] getMACSecret() - { - return this.secret; - } - - /** - * @return The output length of this MAC. - */ - public int getSize() - { - return macLength; - } - - /** - * Calculate the MAC for some given data. - * - * @param type The message type of the message. - * @param message A byte-buffer containing the message. - * @param offset The number of bytes to skip, before the message starts. - * @param length The length of the message. - * @return A new byte-buffer containing the MAC value. - */ - public byte[] calculateMac(long seqNo, short type, byte[] message, int offset, int length) - { - /* - * TODO[draft-josefsson-salsa20-tls-02] 3. Moreover, in order to accommodate MAC algorithms - * like UMAC that require a nonce as part of their operation, the document extends the MAC - * algorithm as specified in the TLS protocol. The extended MAC includes a nonce as a second - * parameter. MAC algorithms that do not require a nonce, such as HMAC, are assumed to - * ignore the nonce input value. The MAC in a GenericStreamCipher is then calculated as - * follows. - */ - - ProtocolVersion serverVersion = context.getServerVersion(); - boolean isSSL = serverVersion.isSSL(); - - byte[] macHeader = new byte[isSSL ? 11 : 13]; - TlsUtils.writeUint64(seqNo, macHeader, 0); - TlsUtils.writeUint8(type, macHeader, 8); - if (!isSSL) - { - TlsUtils.writeVersion(serverVersion, macHeader, 9); - } - TlsUtils.writeUint16(length, macHeader, macHeader.length - 2); - - mac.update(macHeader, 0, macHeader.length); - mac.update(message, offset, length); - - byte[] result = new byte[mac.getMacSize()]; - mac.doFinal(result, 0); - return truncate(result); - } - - public byte[] calculateMacConstantTime(long seqNo, short type, byte[] message, int offset, int length, - int fullLength, byte[] dummyData) - { - /* - * Actual MAC only calculated on 'length' bytes... - */ - byte[] result = calculateMac(seqNo, type, message, offset, length); - - /* - * ...but ensure a constant number of complete digest blocks are processed (as many as would - * be needed for 'fullLength' bytes of input). - */ - int headerLength = TlsUtils.isSSL(context) ? 11 : 13; - - // How many extra full blocks do we need to calculate? - int extra = getDigestBlockCount(headerLength + fullLength) - getDigestBlockCount(headerLength + length); - - while (--extra >= 0) - { - mac.update(dummyData, 0, digestBlockSize); - } - - // One more byte in case the implementation is "lazy" about processing blocks - mac.update(dummyData[0]); - mac.reset(); - - return result; - } - - protected int getDigestBlockCount(int inputLength) - { - // NOTE: This calculation assumes a minimum of 1 pad byte - return (inputLength + digestOverhead) / digestBlockSize; - } - - protected byte[] truncate(byte[] bs) - { - if (bs.length <= macLength) - { - return bs; - } - - return Arrays.copyOf(bs, macLength); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCipher.java deleted file mode 100644 index 6972cea68..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCipher.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Arrays; - -/** - * A NULL CipherSuite with optional MAC - */ -public class TlsNullCipher - implements TlsCipher -{ - protected TlsContext context; - - protected TlsMac writeMac; - protected TlsMac readMac; - - public TlsNullCipher(TlsContext context) - { - this.context = context; - this.writeMac = null; - this.readMac = null; - } - - public TlsNullCipher(TlsContext context, Digest clientWriteDigest, Digest serverWriteDigest) - throws IOException - { - if ((clientWriteDigest == null) != (serverWriteDigest == null)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - this.context = context; - - TlsMac clientWriteMac = null, serverWriteMac = null; - - if (clientWriteDigest != null) - { - int key_block_size = clientWriteDigest.getDigestSize() - + serverWriteDigest.getDigestSize(); - byte[] key_block = TlsUtils.calculateKeyBlock(context, key_block_size); - - int offset = 0; - - clientWriteMac = new TlsMac(context, clientWriteDigest, key_block, offset, - clientWriteDigest.getDigestSize()); - offset += clientWriteDigest.getDigestSize(); - - serverWriteMac = new TlsMac(context, serverWriteDigest, key_block, offset, - serverWriteDigest.getDigestSize()); - offset += serverWriteDigest.getDigestSize(); - - if (offset != key_block_size) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - if (context.isServer()) - { - writeMac = serverWriteMac; - readMac = clientWriteMac; - } - else - { - writeMac = clientWriteMac; - readMac = serverWriteMac; - } - } - - public int getPlaintextLimit(int ciphertextLimit) - { - int result = ciphertextLimit; - if (writeMac != null) - { - result -= writeMac.getSize(); - } - return result; - } - - public byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) - throws IOException - { - if (writeMac == null) - { - return Arrays.copyOfRange(plaintext, offset, offset + len); - } - - byte[] mac = writeMac.calculateMac(seqNo, type, plaintext, offset, len); - byte[] ciphertext = new byte[len + mac.length]; - System.arraycopy(plaintext, offset, ciphertext, 0, len); - System.arraycopy(mac, 0, ciphertext, len, mac.length); - return ciphertext; - } - - public byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) - throws IOException - { - if (readMac == null) - { - return Arrays.copyOfRange(ciphertext, offset, offset + len); - } - - int macSize = readMac.getSize(); - if (len < macSize) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - int macInputLen = len - macSize; - - byte[] receivedMac = Arrays.copyOfRange(ciphertext, offset + macInputLen, offset + len); - byte[] computedMac = readMac.calculateMac(seqNo, type, ciphertext, offset, macInputLen); - - if (!Arrays.constantTimeAreEqual(receivedMac, computedMac)) - { - throw new TlsFatalAlert(AlertDescription.bad_record_mac); - } - - return Arrays.copyOfRange(ciphertext, offset, offset + macInputLen); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCompression.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCompression.java deleted file mode 100644 index 724d93b60..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsNullCompression.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.OutputStream; - -public class TlsNullCompression - implements TlsCompression -{ - public OutputStream compress(OutputStream output) - { - return output; - } - - public OutputStream decompress(OutputStream output) - { - return output; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsOutputStream.java deleted file mode 100644 index d4b6de66b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsOutputStream.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * An OutputStream for an TLS connection. - */ -class TlsOutputStream - extends OutputStream -{ - private byte[] buf = new byte[1]; - private TlsProtocol handler; - - TlsOutputStream(TlsProtocol handler) - { - this.handler = handler; - } - - public void write(byte buf[], int offset, int len) - throws IOException - { - this.handler.writeData(buf, offset, len); - } - - public void write(int arg0) - throws IOException - { - buf[0] = (byte)arg0; - this.write(buf, 0, 1); - } - - public void close() - throws IOException - { - handler.close(); - } - - public void flush() - throws IOException - { - handler.flush(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKIdentity.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKIdentity.java deleted file mode 100644 index a271ddced..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKIdentity.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -public interface TlsPSKIdentity -{ - void skipIdentityHint(); - - void notifyIdentityHint(byte[] psk_identity_hint); - - byte[] getPSKIdentity(); - - byte[] getPSK(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKKeyExchange.java deleted file mode 100644 index c3431bb44..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPSKKeyExchange.java +++ /dev/null @@ -1,285 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.util.PublicKeyFactory; - -/** - * TLS 1.0 PSK key exchange (RFC 4279). - */ -public class TlsPSKKeyExchange - extends AbstractTlsKeyExchange -{ - protected TlsPSKIdentity pskIdentity; - protected DHParameters dhParameters; - protected int[] namedCurves; - protected short[] clientECPointFormats, serverECPointFormats; - - protected byte[] psk_identity_hint = null; - - protected DHPrivateKeyParameters dhAgreePrivateKey = null; - protected DHPublicKeyParameters dhAgreePublicKey = null; - - protected AsymmetricKeyParameter serverPublicKey = null; - protected RSAKeyParameters rsaServerPublicKey = null; - protected TlsEncryptionCredentials serverCredentials = null; - protected byte[] premasterSecret; - - public TlsPSKKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, TlsPSKIdentity pskIdentity, - DHParameters dhParameters, int[] namedCurves, short[] clientECPointFormats, short[] serverECPointFormats) - { - super(keyExchange, supportedSignatureAlgorithms); - - switch (keyExchange) - { - case KeyExchangeAlgorithm.DHE_PSK: - case KeyExchangeAlgorithm.ECDHE_PSK: - case KeyExchangeAlgorithm.PSK: - case KeyExchangeAlgorithm.RSA_PSK: - break; - default: - throw new IllegalArgumentException("unsupported key exchange algorithm"); - } - - this.pskIdentity = pskIdentity; - this.dhParameters = dhParameters; - this.namedCurves = namedCurves; - this.clientECPointFormats = clientECPointFormats; - this.serverECPointFormats = serverECPointFormats; - } - - public void skipServerCredentials() - throws IOException - { - if (keyExchange == KeyExchangeAlgorithm.RSA_PSK) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public void processServerCredentials(TlsCredentials serverCredentials) - throws IOException - { - if (!(serverCredentials instanceof TlsEncryptionCredentials)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - processServerCertificate(serverCredentials.getCertificate()); - - this.serverCredentials = (TlsEncryptionCredentials)serverCredentials; - } - - public byte[] generateServerKeyExchange() throws IOException - { - // TODO[RFC 4279] Need a server-side PSK API to determine hint and resolve identities to keys - this.psk_identity_hint = null; - - if (this.psk_identity_hint == null && !requiresServerKeyExchange()) - { - return null; - } - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - if (this.psk_identity_hint == null) - { - TlsUtils.writeOpaque16(TlsUtils.EMPTY_BYTES, buf); - } - else - { - TlsUtils.writeOpaque16(this.psk_identity_hint, buf); - } - - if (this.keyExchange == KeyExchangeAlgorithm.DHE_PSK) - { - if (this.dhParameters == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - this.dhAgreePrivateKey = TlsDHUtils.generateEphemeralServerKeyExchange(context.getSecureRandom(), - this.dhParameters, buf); - } - else if (this.keyExchange == KeyExchangeAlgorithm.ECDHE_PSK) - { - // TODO[RFC 5489] - } - - return buf.toByteArray(); - } - - public void processServerCertificate(Certificate serverCertificate) - throws IOException - { - if (keyExchange != KeyExchangeAlgorithm.RSA_PSK) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - if (serverCertificate.isEmpty()) - { - throw new TlsFatalAlert(AlertDescription.bad_certificate); - } - - org.spongycastle.asn1.x509.Certificate x509Cert = serverCertificate.getCertificateAt(0); - - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - this.serverPublicKey = PublicKeyFactory.createKey(keyInfo); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - // Sanity check the PublicKeyFactory - if (this.serverPublicKey.isPrivate()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - this.rsaServerPublicKey = validateRSAPublicKey((RSAKeyParameters)this.serverPublicKey); - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.keyEncipherment); - - super.processServerCertificate(serverCertificate); - } - - public boolean requiresServerKeyExchange() - { - switch (keyExchange) - { - case KeyExchangeAlgorithm.DHE_PSK: - case KeyExchangeAlgorithm.ECDHE_PSK: - return true; - default: - return false; - } - } - - public void processServerKeyExchange(InputStream input) - throws IOException - { - this.psk_identity_hint = TlsUtils.readOpaque16(input); - - if (this.keyExchange == KeyExchangeAlgorithm.DHE_PSK) - { - ServerDHParams serverDHParams = ServerDHParams.parse(input); - - this.dhAgreePublicKey = TlsDHUtils.validateDHPublicKey(serverDHParams.getPublicKey()); - } - else if (this.keyExchange == KeyExchangeAlgorithm.ECDHE_PSK) - { - // TODO[RFC 5489] - } - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) - throws IOException - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - public void processClientCredentials(TlsCredentials clientCredentials) - throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - public void generateClientKeyExchange(OutputStream output) - throws IOException - { - if (psk_identity_hint == null) - { - pskIdentity.skipIdentityHint(); - } - else - { - pskIdentity.notifyIdentityHint(psk_identity_hint); - } - - byte[] psk_identity = pskIdentity.getPSKIdentity(); - - TlsUtils.writeOpaque16(psk_identity, output); - - if (this.keyExchange == KeyExchangeAlgorithm.DHE_PSK) - { - this.dhAgreePrivateKey = TlsDHUtils.generateEphemeralClientKeyExchange(context.getSecureRandom(), - dhAgreePublicKey.getParameters(), output); - } - else if (this.keyExchange == KeyExchangeAlgorithm.ECDHE_PSK) - { - // TODO[RFC 5489] - throw new TlsFatalAlert(AlertDescription.internal_error); - } - else if (this.keyExchange == KeyExchangeAlgorithm.RSA_PSK) - { - this.premasterSecret = TlsRSAUtils.generateEncryptedPreMasterSecret(context, this.rsaServerPublicKey, - output); - } - } - - public byte[] generatePremasterSecret() - throws IOException - { - byte[] psk = pskIdentity.getPSK(); - byte[] other_secret = generateOtherSecret(psk.length); - - ByteArrayOutputStream buf = new ByteArrayOutputStream(4 + other_secret.length + psk.length); - TlsUtils.writeOpaque16(other_secret, buf); - TlsUtils.writeOpaque16(psk, buf); - return buf.toByteArray(); - } - - protected byte[] generateOtherSecret(int pskLength) throws IOException - { - if (this.keyExchange == KeyExchangeAlgorithm.DHE_PSK) - { - if (dhAgreePrivateKey != null) - { - return TlsDHUtils.calculateDHBasicAgreement(dhAgreePublicKey, dhAgreePrivateKey); - } - - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - if (this.keyExchange == KeyExchangeAlgorithm.ECDHE_PSK) - { - // TODO[RFC 5489] - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - if (this.keyExchange == KeyExchangeAlgorithm.RSA_PSK) - { - return this.premasterSecret; - } - - return new byte[pskLength]; - } - - protected RSAKeyParameters validateRSAPublicKey(RSAKeyParameters key) - throws IOException - { - // TODO What is the minimum bit length required? - // key.getModulus().bitLength(); - - if (!key.getExponent().isProbablePrime(2)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return key; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPeer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPeer.java deleted file mode 100644 index 8dbc26c8f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsPeer.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsPeer -{ - void notifySecureRenegotiation(boolean secureNegotiation) throws IOException; - - TlsCompression getCompression() throws IOException; - - TlsCipher getCipher() throws IOException; - - /** - * This method will be called when an alert is raised by the protocol. - * - * @param alertLevel {@link AlertLevel} - * @param alertDescription {@link AlertDescription} - * @param message A human-readable message explaining what caused this alert. May be null. - * @param cause The exception that caused this alert to be raised. May be null. - */ - void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause); - - /** - * This method will be called when an alert is received from the remote peer. - * - * @param alertLevel {@link AlertLevel} - * @param alertDescription {@link AlertDescription} - */ - void notifyAlertReceived(short alertLevel, short alertDescription); - - /** - * Notifies the peer that the handshake has been successfully completed. - */ - void notifyHandshakeComplete() throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocol.java deleted file mode 100644 index 1120279b0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocol.java +++ /dev/null @@ -1,1117 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; - -/** - * An implementation of all high level protocols in TLS 1.0/1.1. - */ -public abstract class TlsProtocol -{ - protected static final Integer EXT_RenegotiationInfo = Integers.valueOf(ExtensionType.renegotiation_info); - protected static final Integer EXT_SessionTicket = Integers.valueOf(ExtensionType.session_ticket); - - private static final String TLS_ERROR_MESSAGE = "Internal TLS error, this could be an attack"; - - /* - * Our Connection states - */ - protected static final short CS_START = 0; - protected static final short CS_CLIENT_HELLO = 1; - protected static final short CS_SERVER_HELLO = 2; - protected static final short CS_SERVER_SUPPLEMENTAL_DATA = 3; - protected static final short CS_SERVER_CERTIFICATE = 4; - protected static final short CS_CERTIFICATE_STATUS = 5; - protected static final short CS_SERVER_KEY_EXCHANGE = 6; - protected static final short CS_CERTIFICATE_REQUEST = 7; - protected static final short CS_SERVER_HELLO_DONE = 8; - protected static final short CS_CLIENT_SUPPLEMENTAL_DATA = 9; - protected static final short CS_CLIENT_CERTIFICATE = 10; - protected static final short CS_CLIENT_KEY_EXCHANGE = 11; - protected static final short CS_CERTIFICATE_VERIFY = 12; - protected static final short CS_CLIENT_FINISHED = 13; - protected static final short CS_SERVER_SESSION_TICKET = 14; - protected static final short CS_SERVER_FINISHED = 15; - protected static final short CS_END = 16; - - /* - * Queues for data from some protocols. - */ - private ByteQueue applicationDataQueue = new ByteQueue(); - private ByteQueue alertQueue = new ByteQueue(2); - private ByteQueue handshakeQueue = new ByteQueue(); - - /* - * The Record Stream we use - */ - protected RecordStream recordStream; - protected SecureRandom secureRandom; - - private TlsInputStream tlsInputStream = null; - private TlsOutputStream tlsOutputStream = null; - - private volatile boolean closed = false; - private volatile boolean failedWithError = false; - private volatile boolean appDataReady = false; - private volatile boolean splitApplicationDataRecords = true; - private byte[] expected_verify_data = null; - - protected TlsSession tlsSession = null; - protected SessionParameters sessionParameters = null; - protected SecurityParameters securityParameters = null; - protected Certificate peerCertificate = null; - - protected int[] offeredCipherSuites = null; - protected short[] offeredCompressionMethods = null; - protected Hashtable clientExtensions = null; - protected Hashtable serverExtensions = null; - - protected short connection_state = CS_START; - protected boolean resumedSession = false; - protected boolean receivedChangeCipherSpec = false; - protected boolean secure_renegotiation = false; - protected boolean allowCertificateStatus = false; - protected boolean expectSessionTicket = false; - - public TlsProtocol(InputStream input, OutputStream output, SecureRandom secureRandom) - { - this.recordStream = new RecordStream(this, input, output); - this.secureRandom = secureRandom; - } - - protected abstract AbstractTlsContext getContext(); - - protected abstract TlsPeer getPeer(); - - protected void handleChangeCipherSpecMessage() throws IOException - { - } - - protected abstract void handleHandshakeMessage(short type, byte[] buf) - throws IOException; - - protected void handleWarningMessage(short description) - throws IOException - { - } - - protected void cleanupHandshake() - { - if (this.expected_verify_data != null) - { - Arrays.fill(this.expected_verify_data, (byte)0); - this.expected_verify_data = null; - } - - this.securityParameters.clear(); - this.peerCertificate = null; - - this.offeredCipherSuites = null; - this.offeredCompressionMethods = null; - this.clientExtensions = null; - this.serverExtensions = null; - - this.resumedSession = false; - this.receivedChangeCipherSpec = false; - this.secure_renegotiation = false; - this.allowCertificateStatus = false; - this.expectSessionTicket = false; - } - - protected void completeHandshake() - throws IOException - { - try - { - /* - * We will now read data, until we have completed the handshake. - */ - while (this.connection_state != CS_END) - { - if (this.closed) - { - // TODO What kind of exception/alert? - } - - safeReadRecord(); - } - - this.recordStream.finaliseHandshake(); - - this.splitApplicationDataRecords = !TlsUtils.isTLSv11(getContext()); - - /* - * If this was an initial handshake, we are now ready to send and receive application data. - */ - if (!appDataReady) - { - this.appDataReady = true; - - this.tlsInputStream = new TlsInputStream(this); - this.tlsOutputStream = new TlsOutputStream(this); - } - - if (this.tlsSession != null) - { - if (this.sessionParameters == null) - { - this.sessionParameters = new SessionParameters.Builder() - .setCipherSuite(this.securityParameters.cipherSuite) - .setCompressionAlgorithm(this.securityParameters.compressionAlgorithm) - .setMasterSecret(this.securityParameters.masterSecret) - .setPeerCertificate(this.peerCertificate) - // TODO Consider filtering extensions that aren't relevant to resumed sessions - .setServerExtensions(this.serverExtensions) - .build(); - - this.tlsSession = new TlsSessionImpl(this.tlsSession.getSessionID(), this.sessionParameters); - } - - getContext().setResumableSession(this.tlsSession); - } - - getPeer().notifyHandshakeComplete(); - } - finally - { - cleanupHandshake(); - } - } - - protected void processRecord(short protocol, byte[] buf, int offset, int len) - throws IOException - { - /* - * Have a look at the protocol type, and add it to the correct queue. - */ - switch (protocol) - { - case ContentType.alert: - { - alertQueue.addData(buf, offset, len); - processAlert(); - break; - } - case ContentType.application_data: - { - if (!appDataReady) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - applicationDataQueue.addData(buf, offset, len); - processApplicationData(); - break; - } - case ContentType.change_cipher_spec: - { - processChangeCipherSpec(buf, offset, len); - break; - } - case ContentType.handshake: - { - handshakeQueue.addData(buf, offset, len); - processHandshake(); - break; - } - case ContentType.heartbeat: - { - // TODO[RFC 6520] - } - default: - /* - * Uh, we don't know this protocol. - * - * RFC2246 defines on page 13, that we should ignore this. - */ - } - } - - private void processHandshake() - throws IOException - { - boolean read; - do - { - read = false; - /* - * We need the first 4 bytes, they contain type and length of the message. - */ - if (handshakeQueue.size() >= 4) - { - byte[] beginning = new byte[4]; - handshakeQueue.read(beginning, 0, 4, 0); - ByteArrayInputStream bis = new ByteArrayInputStream(beginning); - short type = TlsUtils.readUint8(bis); - int len = TlsUtils.readUint24(bis); - - /* - * Check if we have enough bytes in the buffer to read the full message. - */ - if (handshakeQueue.size() >= (len + 4)) - { - /* - * Read the message. - */ - byte[] buf = handshakeQueue.removeData(len, 4); - - /* - * RFC 2246 7.4.9. The value handshake_messages includes all handshake messages - * starting at client hello up to, but not including, this finished message. - * [..] Note: [Also,] Hello Request messages are omitted from handshake hashes. - */ - switch (type) - { - case HandshakeType.hello_request: - break; - case HandshakeType.finished: - { - if (this.expected_verify_data == null) - { - this.expected_verify_data = createVerifyData(!getContext().isServer()); - } - - // NB: Fall through to next case label - } - default: - recordStream.updateHandshakeData(beginning, 0, 4); - recordStream.updateHandshakeData(buf, 0, len); - break; - } - - /* - * Now, parse the message. - */ - handleHandshakeMessage(type, buf); - read = true; - } - } - } - while (read); - } - - private void processApplicationData() - { - /* - * There is nothing we need to do here. - * - * This function could be used for callbacks when application data arrives in the future. - */ - } - - private void processAlert() - throws IOException - { - while (alertQueue.size() >= 2) - { - /* - * An alert is always 2 bytes. Read the alert. - */ - byte[] tmp = alertQueue.removeData(2, 0); - short level = tmp[0]; - short description = tmp[1]; - - getPeer().notifyAlertReceived(level, description); - - if (level == AlertLevel.fatal) - { - /* - * RFC 2246 7.2.1. The session becomes unresumable if any connection is terminated - * without proper close_notify messages with level equal to warning. - */ - invalidateSession(); - - this.failedWithError = true; - this.closed = true; - - recordStream.safeClose(); - - throw new IOException(TLS_ERROR_MESSAGE); - } - else - { - - /* - * RFC 5246 7.2.1. The other party MUST respond with a close_notify alert of its own - * and close down the connection immediately, discarding any pending writes. - */ - // TODO Can close_notify be a fatal alert? - if (description == AlertDescription.close_notify) - { - handleClose(false); - } - - /* - * If it is just a warning, we continue. - */ - handleWarningMessage(description); - } - } - } - - /** - * This method is called, when a change cipher spec message is received. - * - * @throws IOException If the message has an invalid content or the handshake is not in the correct - * state. - */ - private void processChangeCipherSpec(byte[] buf, int off, int len) - throws IOException - { - for (int i = 0; i < len; ++i) - { - short message = TlsUtils.readUint8(buf, off + i); - - if (message != ChangeCipherSpec.change_cipher_spec) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - if (this.receivedChangeCipherSpec) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.receivedChangeCipherSpec = true; - - recordStream.receivedReadCipherSpec(); - - handleChangeCipherSpecMessage(); - } - } - - /** - * Read data from the network. The method will return immediately, if there is still some data - * left in the buffer, or block until some application data has been read from the network. - * - * @param buf The buffer where the data will be copied to. - * @param offset The position where the data will be placed in the buffer. - * @param len The maximum number of bytes to read. - * @return The number of bytes read. - * @throws IOException If something goes wrong during reading data. - */ - protected int readApplicationData(byte[] buf, int offset, int len) - throws IOException - { - if (len < 1) - { - return 0; - } - - while (applicationDataQueue.size() == 0) - { - /* - * We need to read some data. - */ - if (this.closed) - { - if (this.failedWithError) - { - /* - * Something went terribly wrong, we should throw an IOException - */ - throw new IOException(TLS_ERROR_MESSAGE); - } - - /* - * Connection has been closed, there is no more data to read. - */ - return -1; - } - - safeReadRecord(); - } - - len = Math.min(len, applicationDataQueue.size()); - applicationDataQueue.removeData(buf, offset, len, 0); - return len; - } - - protected void safeReadRecord() - throws IOException - { - try - { - if (!recordStream.readRecord()) - { - // TODO It would be nicer to allow graceful connection close if between records -// this.failWithError(AlertLevel.warning, AlertDescription.close_notify); - throw new EOFException(); - } - } - catch (TlsFatalAlert e) - { - if (!this.closed) - { - this.failWithError(AlertLevel.fatal, e.getAlertDescription(), "Failed to read record", e); - } - throw e; - } - catch (IOException e) - { - if (!this.closed) - { - this.failWithError(AlertLevel.fatal, AlertDescription.internal_error, "Failed to read record", e); - } - throw e; - } - catch (RuntimeException e) - { - if (!this.closed) - { - this.failWithError(AlertLevel.fatal, AlertDescription.internal_error, "Failed to read record", e); - } - throw e; - } - } - - protected void safeWriteRecord(short type, byte[] buf, int offset, int len) - throws IOException - { - try - { - recordStream.writeRecord(type, buf, offset, len); - } - catch (TlsFatalAlert e) - { - if (!this.closed) - { - this.failWithError(AlertLevel.fatal, e.getAlertDescription(), "Failed to write record", e); - } - throw e; - } - catch (IOException e) - { - if (!closed) - { - this.failWithError(AlertLevel.fatal, AlertDescription.internal_error, "Failed to write record", e); - } - throw e; - } - catch (RuntimeException e) - { - if (!closed) - { - this.failWithError(AlertLevel.fatal, AlertDescription.internal_error, "Failed to write record", e); - } - throw e; - } - } - - /** - * Send some application data to the remote system. - *

    - * The method will handle fragmentation internally. - * - * @param buf The buffer with the data. - * @param offset The position in the buffer where the data is placed. - * @param len The length of the data. - * @throws IOException If something goes wrong during sending. - */ - protected void writeData(byte[] buf, int offset, int len) - throws IOException - { - if (this.closed) - { - if (this.failedWithError) - { - throw new IOException(TLS_ERROR_MESSAGE); - } - - throw new IOException("Sorry, connection has been closed, you cannot write more data"); - } - - while (len > 0) - { - /* - * RFC 5246 6.2.1. Zero-length fragments of Application data MAY be sent as they are - * potentially useful as a traffic analysis countermeasure. - * - * NOTE: Actually, implementations appear to have settled on 1/n-1 record splitting. - */ - - if (this.splitApplicationDataRecords) - { - /* - * Protect against known IV attack! - * - * DO NOT REMOVE THIS CODE, EXCEPT YOU KNOW EXACTLY WHAT YOU ARE DOING HERE. - */ - safeWriteRecord(ContentType.application_data, buf, offset, 1); - ++offset; - --len; - } - - if (len > 0) - { - // Fragment data according to the current fragment limit. - int toWrite = Math.min(len, recordStream.getPlaintextLimit()); - safeWriteRecord(ContentType.application_data, buf, offset, toWrite); - offset += toWrite; - len -= toWrite; - } - } - } - - protected void writeHandshakeMessage(byte[] buf, int off, int len) throws IOException - { - while (len > 0) - { - // Fragment data according to the current fragment limit. - int toWrite = Math.min(len, recordStream.getPlaintextLimit()); - safeWriteRecord(ContentType.handshake, buf, off, toWrite); - off += toWrite; - len -= toWrite; - } - } - - /** - * @return An OutputStream which can be used to send data. - */ - public OutputStream getOutputStream() - { - return this.tlsOutputStream; - } - - /** - * @return An InputStream which can be used to read data. - */ - public InputStream getInputStream() - { - return this.tlsInputStream; - } - - /** - * Terminate this connection with an alert. Can be used for normal closure too. - * - * @param alertLevel - * See {@link AlertLevel} for values. - * @param alertDescription - * See {@link AlertDescription} for values. - * @throws IOException - * If alert was fatal. - */ - protected void failWithError(short alertLevel, short alertDescription, String message, Exception cause) - throws IOException - { - /* - * Check if the connection is still open. - */ - if (!closed) - { - /* - * Prepare the message - */ - this.closed = true; - - if (alertLevel == AlertLevel.fatal) - { - /* - * RFC 2246 7.2.1. The session becomes unresumable if any connection is terminated - * without proper close_notify messages with level equal to warning. - */ - // TODO This isn't quite in the right place. Also, as of TLS 1.1 the above is obsolete. - invalidateSession(); - - this.failedWithError = true; - } - raiseAlert(alertLevel, alertDescription, message, cause); - recordStream.safeClose(); - if (alertLevel != AlertLevel.fatal) - { - return; - } - } - - throw new IOException(TLS_ERROR_MESSAGE); - } - - protected void invalidateSession() - { - if (this.sessionParameters != null) - { - this.sessionParameters.clear(); - this.sessionParameters = null; - } - - if (this.tlsSession != null) - { - this.tlsSession.invalidate(); - this.tlsSession = null; - } - } - - protected void processFinishedMessage(ByteArrayInputStream buf) - throws IOException - { - byte[] verify_data = TlsUtils.readFully(expected_verify_data.length, buf); - - assertEmpty(buf); - - /* - * Compare both checksums. - */ - if (!Arrays.constantTimeAreEqual(expected_verify_data, verify_data)) - { - /* - * Wrong checksum in the finished message. - */ - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - } - - protected void raiseAlert(short alertLevel, short alertDescription, String message, Exception cause) - throws IOException - { - getPeer().notifyAlertRaised(alertLevel, alertDescription, message, cause); - - byte[] error = new byte[2]; - error[0] = (byte)alertLevel; - error[1] = (byte)alertDescription; - - safeWriteRecord(ContentType.alert, error, 0, 2); - } - - protected void raiseWarning(short alertDescription, String message) - throws IOException - { - raiseAlert(AlertLevel.warning, alertDescription, message, null); - } - - protected void sendCertificateMessage(Certificate certificate) - throws IOException - { - if (certificate == null) - { - certificate = Certificate.EMPTY_CHAIN; - } - - if (certificate.getLength() == 0) - { - TlsContext context = getContext(); - if (!context.isServer()) - { - ProtocolVersion serverVersion = getContext().getServerVersion(); - if (serverVersion.isSSL()) - { - String message = serverVersion.toString() + " client didn't provide credentials"; - raiseWarning(AlertDescription.no_certificate, message); - return; - } - } - } - - HandshakeMessage message = new HandshakeMessage(HandshakeType.certificate); - - certificate.encode(message); - - message.writeToRecordStream(); - } - - protected void sendChangeCipherSpecMessage() - throws IOException - { - byte[] message = new byte[]{ 1 }; - safeWriteRecord(ContentType.change_cipher_spec, message, 0, message.length); - recordStream.sentWriteCipherSpec(); - } - - protected void sendFinishedMessage() - throws IOException - { - byte[] verify_data = createVerifyData(getContext().isServer()); - - HandshakeMessage message = new HandshakeMessage(HandshakeType.finished, verify_data.length); - - message.write(verify_data); - - message.writeToRecordStream(); - } - - protected void sendSupplementalDataMessage(Vector supplementalData) - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.supplemental_data); - - writeSupplementalData(message, supplementalData); - - message.writeToRecordStream(); - } - - protected byte[] createVerifyData(boolean isServer) - { - TlsContext context = getContext(); - - if (isServer) - { - return TlsUtils.calculateVerifyData(context, ExporterLabel.server_finished, - getCurrentPRFHash(getContext(), recordStream.getHandshakeHash(), TlsUtils.SSL_SERVER)); - } - - return TlsUtils.calculateVerifyData(context, ExporterLabel.client_finished, - getCurrentPRFHash(getContext(), recordStream.getHandshakeHash(), TlsUtils.SSL_CLIENT)); - } - - /** - * Closes this connection. - * - * @throws IOException If something goes wrong during closing. - */ - public void close() - throws IOException - { - handleClose(true); - } - - protected void handleClose(boolean user_canceled) - throws IOException - { - if (!closed) - { - if (user_canceled && !appDataReady) - { - raiseWarning(AlertDescription.user_canceled, "User canceled handshake"); - } - this.failWithError(AlertLevel.warning, AlertDescription.close_notify, "Connection closed", null); - } - } - - protected void flush() - throws IOException - { - recordStream.flush(); - } - - protected short processMaxFragmentLengthExtension(Hashtable clientExtensions, Hashtable serverExtensions, short alertDescription) - throws IOException - { - short maxFragmentLength = TlsExtensionsUtils.getMaxFragmentLengthExtension(serverExtensions); - if (maxFragmentLength >= 0 && !this.resumedSession) - { - if (maxFragmentLength != TlsExtensionsUtils.getMaxFragmentLengthExtension(clientExtensions)) - { - throw new TlsFatalAlert(alertDescription); - } - } - return maxFragmentLength; - } - - /** - * Make sure the InputStream 'buf' now empty. Fail otherwise. - * - * @param buf The InputStream to check. - * @throws IOException If 'buf' is not empty. - */ - protected static void assertEmpty(ByteArrayInputStream buf) - throws IOException - { - if (buf.available() > 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - } - - protected static byte[] createRandomBlock(SecureRandom random) - { - random.setSeed(System.currentTimeMillis()); - - byte[] result = new byte[32]; - random.nextBytes(result); - /* - * The consensus seems to be that using the time here is neither all that useful, nor - * secure. Perhaps there could be an option to (re-)enable it. Instead, we seed the random - * source with the current time to retain it's main benefit. - */ -// TlsUtils.writeGMTUnixTime(result, 0); - return result; - } - - protected static byte[] createRenegotiationInfo(byte[] renegotiated_connection) - throws IOException - { - return TlsUtils.encodeOpaque8(renegotiated_connection); - } - - protected static void establishMasterSecret(TlsContext context, TlsKeyExchange keyExchange) - throws IOException - { - byte[] pre_master_secret = keyExchange.generatePremasterSecret(); - - try - { - context.getSecurityParameters().masterSecret = TlsUtils.calculateMasterSecret(context, pre_master_secret); - } - finally - { - // TODO Is there a way to ensure the data is really overwritten? - /* - * RFC 2246 8.1. The pre_master_secret should be deleted from memory once the - * master_secret has been computed. - */ - if (pre_master_secret != null) - { - Arrays.fill(pre_master_secret, (byte)0); - } - } - } - - /** - * 'sender' only relevant to SSLv3 - */ - protected static byte[] getCurrentPRFHash(TlsContext context, TlsHandshakeHash handshakeHash, byte[] sslSender) - { - Digest d = handshakeHash.forkPRFHash(); - - if (sslSender != null && TlsUtils.isSSL(context)) - { - d.update(sslSender, 0, sslSender.length); - } - - byte[] bs = new byte[d.getDigestSize()]; - d.doFinal(bs, 0); - return bs; - } - - protected static Hashtable readExtensions(ByteArrayInputStream input) - throws IOException - { - if (input.available() < 1) - { - return null; - } - - byte[] extBytes = TlsUtils.readOpaque16(input); - - assertEmpty(input); - - ByteArrayInputStream buf = new ByteArrayInputStream(extBytes); - - // Integer -> byte[] - Hashtable extensions = new Hashtable(); - - while (buf.available() > 0) - { - Integer extension_type = Integers.valueOf(TlsUtils.readUint16(buf)); - byte[] extension_data = TlsUtils.readOpaque16(buf); - - /* - * RFC 3546 2.3 There MUST NOT be more than one extension of the same type. - */ - if (null != extensions.put(extension_type, extension_data)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - return extensions; - } - - protected static Vector readSupplementalDataMessage(ByteArrayInputStream input) - throws IOException - { - byte[] supp_data = TlsUtils.readOpaque24(input); - - assertEmpty(input); - - ByteArrayInputStream buf = new ByteArrayInputStream(supp_data); - - Vector supplementalData = new Vector(); - - while (buf.available() > 0) - { - int supp_data_type = TlsUtils.readUint16(buf); - byte[] data = TlsUtils.readOpaque16(buf); - - supplementalData.addElement(new SupplementalDataEntry(supp_data_type, data)); - } - - return supplementalData; - } - - protected static void writeExtensions(OutputStream output, Hashtable extensions) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - Enumeration keys = extensions.keys(); - while (keys.hasMoreElements()) - { - Integer key = (Integer)keys.nextElement(); - int extension_type = key.intValue(); - byte[] extension_data = (byte[])extensions.get(key); - - TlsUtils.checkUint16(extension_type); - TlsUtils.writeUint16(extension_type, buf); - TlsUtils.writeOpaque16(extension_data, buf); - } - - byte[] extBytes = buf.toByteArray(); - - TlsUtils.writeOpaque16(extBytes, output); - } - - protected static void writeSupplementalData(OutputStream output, Vector supplementalData) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - for (int i = 0; i < supplementalData.size(); ++i) - { - SupplementalDataEntry entry = (SupplementalDataEntry)supplementalData.elementAt(i); - - int supp_data_type = entry.getDataType(); - TlsUtils.checkUint16(supp_data_type); - TlsUtils.writeUint16(supp_data_type, buf); - TlsUtils.writeOpaque16(entry.getData(), buf); - } - - byte[] supp_data = buf.toByteArray(); - - TlsUtils.writeOpaque24(supp_data, output); - } - - protected static int getPRFAlgorithm(TlsContext context, int ciphersuite) throws IOException - { - boolean isTLSv12 = TlsUtils.isTLSv12(context); - - switch (ciphersuite) - { - case CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_PSK_DHE_WITH_AES_128_CCM_8: - case CipherSuite.TLS_PSK_DHE_WITH_AES_256_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM: - case CipherSuite.TLS_PSK_WITH_AES_128_CCM_8: - case CipherSuite.TLS_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM: - case CipherSuite.TLS_PSK_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_PSK_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM: - case CipherSuite.TLS_RSA_WITH_AES_128_CCM_8: - case CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM: - case CipherSuite.TLS_RSA_WITH_AES_256_CCM_8: - case CipherSuite.TLS_RSA_WITH_NULL_SHA256: - { - if (isTLSv12) - { - return PRFAlgorithm.tls_prf_sha256; - } - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - case CipherSuite.TLS_DH_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_GCM_SHA384: - case CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384: - { - if (isTLSv12) - { - return PRFAlgorithm.tls_prf_sha384; - } - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - case CipherSuite.TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_DHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_ECDHE_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_PSK_WITH_NULL_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_AES_256_CBC_SHA384: - case CipherSuite.TLS_RSA_PSK_WITH_NULL_SHA384: - { - if (isTLSv12) - { - return PRFAlgorithm.tls_prf_sha384; - } - return PRFAlgorithm.tls_prf_legacy; - } - - default: - { - if (isTLSv12) - { - return PRFAlgorithm.tls_prf_sha256; - } - return PRFAlgorithm.tls_prf_legacy; - } - } - } - - class HandshakeMessage extends ByteArrayOutputStream - { - HandshakeMessage(short handshakeType) throws IOException - { - this(handshakeType, 60); - } - - HandshakeMessage(short handshakeType, int length) throws IOException - { - super(length + 4); - TlsUtils.writeUint8(handshakeType, this); - // Reserve space for length - count += 3; - } - - void writeToRecordStream() throws IOException - { - // Patch actual length back in - int length = count - 4; - TlsUtils.checkUint24(length); - TlsUtils.writeUint24(length, buf, 1); - writeHandshakeMessage(buf, 0, count); - buf = null; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocolHandler.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocolHandler.java deleted file mode 100644 index bd12e4dff..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsProtocolHandler.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; - -/** - * @deprecated use TlsClientProtocol instead - */ -public class TlsProtocolHandler - extends TlsClientProtocol -{ - - public TlsProtocolHandler(InputStream is, OutputStream os) - { - super(is, os); - } - - public TlsProtocolHandler(InputStream is, OutputStream os, SecureRandom sr) - { - super(is, os, sr); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAKeyExchange.java deleted file mode 100644 index b9ba5443c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAKeyExchange.java +++ /dev/null @@ -1,191 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Vector; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.util.PublicKeyFactory; -import org.spongycastle.util.io.Streams; - -/** - * TLS 1.0/1.1 and SSLv3 RSA key exchange. - */ -public class TlsRSAKeyExchange - extends AbstractTlsKeyExchange -{ - protected AsymmetricKeyParameter serverPublicKey = null; - - protected RSAKeyParameters rsaServerPublicKey = null; - - protected TlsEncryptionCredentials serverCredentials = null; - - protected byte[] premasterSecret; - - public TlsRSAKeyExchange(Vector supportedSignatureAlgorithms) - { - super(KeyExchangeAlgorithm.RSA, supportedSignatureAlgorithms); - } - - public void skipServerCredentials() - throws IOException - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - public void processServerCredentials(TlsCredentials serverCredentials) - throws IOException - { - if (!(serverCredentials instanceof TlsEncryptionCredentials)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - processServerCertificate(serverCredentials.getCertificate()); - - this.serverCredentials = (TlsEncryptionCredentials)serverCredentials; - } - - public void processServerCertificate(Certificate serverCertificate) - throws IOException - { - if (serverCertificate.isEmpty()) - { - throw new TlsFatalAlert(AlertDescription.bad_certificate); - } - - org.spongycastle.asn1.x509.Certificate x509Cert = serverCertificate.getCertificateAt(0); - - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - this.serverPublicKey = PublicKeyFactory.createKey(keyInfo); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - // Sanity check the PublicKeyFactory - if (this.serverPublicKey.isPrivate()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - this.rsaServerPublicKey = validateRSAPublicKey((RSAKeyParameters)this.serverPublicKey); - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.keyEncipherment); - - super.processServerCertificate(serverCertificate); - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) - throws IOException - { - short[] types = certificateRequest.getCertificateTypes(); - for (int i = 0; i < types.length; ++i) - { - switch (types[i]) - { - case ClientCertificateType.rsa_sign: - case ClientCertificateType.dss_sign: - case ClientCertificateType.ecdsa_sign: - break; - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - } - - public void processClientCredentials(TlsCredentials clientCredentials) - throws IOException - { - if (!(clientCredentials instanceof TlsSignerCredentials)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public void generateClientKeyExchange(OutputStream output) - throws IOException - { - this.premasterSecret = TlsRSAUtils.generateEncryptedPreMasterSecret(context, rsaServerPublicKey, output); - } - - public void processClientKeyExchange(InputStream input) - throws IOException - { - byte[] encryptedPreMasterSecret; - if (TlsUtils.isSSL(context)) - { - // TODO Do any SSLv3 clients actually include the length? - encryptedPreMasterSecret = Streams.readAll(input); - } - else - { - encryptedPreMasterSecret = TlsUtils.readOpaque16(input); - } - - this.premasterSecret = TlsRSAUtils.safeDecryptPreMasterSecret(context, serverCredentials, encryptedPreMasterSecret); - } - - public byte[] generatePremasterSecret() - throws IOException - { - if (this.premasterSecret == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - byte[] tmp = this.premasterSecret; - this.premasterSecret = null; - return tmp; - } - - // Would be needed to process RSA_EXPORT server key exchange - // protected void processRSAServerKeyExchange(InputStream is, Signer signer) throws IOException - // { - // InputStream sigIn = is; - // if (signer != null) - // { - // sigIn = new SignerInputStream(is, signer); - // } - // - // byte[] modulusBytes = TlsUtils.readOpaque16(sigIn); - // byte[] exponentBytes = TlsUtils.readOpaque16(sigIn); - // - // if (signer != null) - // { - // byte[] sigByte = TlsUtils.readOpaque16(is); - // - // if (!signer.verifySignature(sigByte)) - // { - // handler.failWithError(AlertLevel.fatal, AlertDescription.bad_certificate); - // } - // } - // - // BigInteger modulus = new BigInteger(1, modulusBytes); - // BigInteger exponent = new BigInteger(1, exponentBytes); - // - // this.rsaServerPublicKey = validateRSAPublicKey(new RSAKeyParameters(false, modulus, - // exponent)); - // } - - protected RSAKeyParameters validateRSAPublicKey(RSAKeyParameters key) - throws IOException - { - // TODO What is the minimum bit length required? - // key.getModulus().bitLength(); - - if (!key.getExponent().isProbablePrime(2)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return key; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSASigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSASigner.java deleted file mode 100644 index 9511b0784..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSASigner.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.digests.NullDigest; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.signers.GenericSigner; -import org.spongycastle.crypto.signers.RSADigestSigner; - -public class TlsRSASigner - extends AbstractTlsSigner -{ - public byte[] generateRawSignature(SignatureAndHashAlgorithm algorithm, - AsymmetricKeyParameter privateKey, byte[] hash) - throws CryptoException - { - Signer signer = makeSigner(algorithm, true, true, - new ParametersWithRandom(privateKey, this.context.getSecureRandom())); - signer.update(hash, 0, hash.length); - return signer.generateSignature(); - } - - public boolean verifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, - AsymmetricKeyParameter publicKey, byte[] hash) - throws CryptoException - { - Signer signer = makeSigner(algorithm, true, false, publicKey); - signer.update(hash, 0, hash.length); - return signer.verifySignature(sigBytes); - } - - public Signer createSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey) - { - return makeSigner(algorithm, false, true, new ParametersWithRandom(privateKey, this.context.getSecureRandom())); - } - - public Signer createVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey) - { - return makeSigner(algorithm, false, false, publicKey); - } - - public boolean isValidPublicKey(AsymmetricKeyParameter publicKey) - { - return publicKey instanceof RSAKeyParameters && !publicKey.isPrivate(); - } - - protected Signer makeSigner(SignatureAndHashAlgorithm algorithm, boolean raw, boolean forSigning, - CipherParameters cp) - { - if ((algorithm != null) != TlsUtils.isTLSv12(context)) - { - throw new IllegalStateException(); - } - - if (algorithm != null && algorithm.getSignature() != SignatureAlgorithm.rsa) - { - throw new IllegalStateException(); - } - - Digest d; - if (raw) - { - d = new NullDigest(); - } - else if (algorithm == null) - { - d = new CombinedHash(); - } - else - { - d = TlsUtils.createHash(algorithm.getHash()); - } - - Signer s; - if (algorithm != null) - { - /* - * RFC 5246 4.7. In RSA signing, the opaque vector contains the signature generated - * using the RSASSA-PKCS1-v1_5 signature scheme defined in [PKCS1]. - */ - s = new RSADigestSigner(d, TlsUtils.getOIDForHashAlgorithm(algorithm.getHash())); - } - else - { - /* - * RFC 5246 4.7. Note that earlier versions of TLS used a different RSA signature scheme - * that did not include a DigestInfo encoding. - */ - s = new GenericSigner(createRSAImpl(), d); - } - s.init(forSigning, cp); - return s; - } - - protected AsymmetricBlockCipher createRSAImpl() - { - /* - * RFC 5264 7.4.7.1. Implementation note: It is now known that remote timing-based attacks - * on TLS are possible, at least when the client and server are on the same LAN. - * Accordingly, implementations that use static RSA keys MUST use RSA blinding or some other - * anti-timing technique, as described in [TIMING]. - */ - return new PKCS1Encoding(new RSABlindedEngine()); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAUtils.java deleted file mode 100644 index 70ef035d7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRSAUtils.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; - -public class TlsRSAUtils -{ - public static byte[] generateEncryptedPreMasterSecret(TlsContext context, RSAKeyParameters rsaServerPublicKey, - OutputStream output) throws IOException - { - /* - * Choose a PremasterSecret and send it encrypted to the server - */ - byte[] premasterSecret = new byte[48]; - context.getSecureRandom().nextBytes(premasterSecret); - TlsUtils.writeVersion(context.getClientVersion(), premasterSecret, 0); - - PKCS1Encoding encoding = new PKCS1Encoding(new RSABlindedEngine()); - encoding.init(true, new ParametersWithRandom(rsaServerPublicKey, context.getSecureRandom())); - - try - { - byte[] encryptedPreMasterSecret = encoding.processBlock(premasterSecret, 0, premasterSecret.length); - - if (TlsUtils.isSSL(context)) - { - // TODO Do any SSLv3 servers actually expect the length? - output.write(encryptedPreMasterSecret); - } - else - { - TlsUtils.writeOpaque16(encryptedPreMasterSecret, output); - } - } - catch (InvalidCipherTextException e) - { - /* - * This should never happen, only during decryption. - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return premasterSecret; - } - - public static byte[] safeDecryptPreMasterSecret(TlsContext context, TlsEncryptionCredentials encryptionCredentials, - byte[] encryptedPreMasterSecret) - { - /* - * RFC 5246 7.4.7.1. - */ - - ProtocolVersion clientVersion = context.getClientVersion(); - - // TODO Provide as configuration option? - boolean versionNumberCheckDisabled = false; - - /* - * See notes regarding Bleichenbacher/Klima attack. The code here implements the first - * construction proposed there, which is RECOMMENDED. - */ - byte[] R = new byte[48]; - context.getSecureRandom().nextBytes(R); - - byte[] M = TlsUtils.EMPTY_BYTES; - try - { - M = encryptionCredentials.decryptPreMasterSecret(encryptedPreMasterSecret); - } - catch (Exception e) - { - /* - * In any case, a TLS server MUST NOT generate an alert if processing an - * RSA-encrypted premaster secret message fails, or the version number is not as - * expected. Instead, it MUST continue the handshake with a randomly generated - * premaster secret. - */ - } - - if (M.length != 48) - { - TlsUtils.writeVersion(clientVersion, R, 0); - return R; - } - - /* - * If ClientHello.client_version is TLS 1.1 or higher, server implementations MUST - * check the version number [..]. - */ - if (versionNumberCheckDisabled && clientVersion.isEqualOrEarlierVersionOf(ProtocolVersion.TLSv10)) - { - /* - * If the version number is TLS 1.0 or earlier, server implementations SHOULD - * check the version number, but MAY have a configuration option to disable the - * check. - */ - } - else - { - /* - * Note that explicitly constructing the pre_master_secret with the - * ClientHello.client_version produces an invalid master_secret if the client - * has sent the wrong version in the original pre_master_secret. - */ - TlsUtils.writeVersion(clientVersion, M, 0); - } - - return M; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRuntimeException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRuntimeException.java deleted file mode 100644 index 97d30b9aa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsRuntimeException.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.crypto.tls; - -public class TlsRuntimeException - extends RuntimeException -{ - private static final long serialVersionUID = 1928023487348344086L; - - Throwable e; - - public TlsRuntimeException(String message, Throwable e) - { - super(message); - - this.e = e; - } - - public TlsRuntimeException(String message) - { - super(message); - } - - public Throwable getCause() - { - return e; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPKeyExchange.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPKeyExchange.java deleted file mode 100644 index 1b171ff4b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPKeyExchange.java +++ /dev/null @@ -1,205 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigInteger; -import java.util.Vector; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.agreement.srp.SRP6Client; -import org.spongycastle.crypto.agreement.srp.SRP6Util; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.util.PublicKeyFactory; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.io.TeeInputStream; - -/** - * TLS 1.1 SRP key exchange (RFC 5054). - */ -public class TlsSRPKeyExchange extends AbstractTlsKeyExchange -{ - protected TlsSigner tlsSigner; - protected byte[] identity; - protected byte[] password; - - protected AsymmetricKeyParameter serverPublicKey = null; - - protected byte[] s = null; - protected BigInteger B = null; - protected SRP6Client srpClient = new SRP6Client(); - - public TlsSRPKeyExchange(int keyExchange, Vector supportedSignatureAlgorithms, byte[] identity, byte[] password) - { - super(keyExchange, supportedSignatureAlgorithms); - - switch (keyExchange) - { - case KeyExchangeAlgorithm.SRP: - this.tlsSigner = null; - break; - case KeyExchangeAlgorithm.SRP_RSA: - this.tlsSigner = new TlsRSASigner(); - break; - case KeyExchangeAlgorithm.SRP_DSS: - this.tlsSigner = new TlsDSSSigner(); - break; - default: - throw new IllegalArgumentException("unsupported key exchange algorithm"); - } - - this.keyExchange = keyExchange; - this.identity = identity; - this.password = password; - } - - public void init(TlsContext context) - { - super.init(context); - - if (this.tlsSigner != null) { - this.tlsSigner.init(context); - } - } - - public void skipServerCredentials() throws IOException - { - if (tlsSigner != null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - public void processServerCertificate(Certificate serverCertificate) throws IOException - { - if (tlsSigner == null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - if (serverCertificate.isEmpty()) - { - throw new TlsFatalAlert(AlertDescription.bad_certificate); - } - - org.spongycastle.asn1.x509.Certificate x509Cert = serverCertificate.getCertificateAt(0); - - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - this.serverPublicKey = PublicKeyFactory.createKey(keyInfo); - } - catch (RuntimeException e) - { - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - if (!tlsSigner.isValidPublicKey(this.serverPublicKey)) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - - TlsUtils.validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - - super.processServerCertificate(serverCertificate); - } - - public boolean requiresServerKeyExchange() - { - return true; - } - - public void processServerKeyExchange(InputStream input) throws IOException - { - SecurityParameters securityParameters = context.getSecurityParameters(); - - SignerInputBuffer buf = null; - InputStream teeIn = input; - - if (tlsSigner != null) - { - buf = new SignerInputBuffer(); - teeIn = new TeeInputStream(input, buf); - } - - byte[] NBytes = TlsUtils.readOpaque16(teeIn); - byte[] gBytes = TlsUtils.readOpaque16(teeIn); - byte[] sBytes = TlsUtils.readOpaque8(teeIn); - byte[] BBytes = TlsUtils.readOpaque16(teeIn); - - if (buf != null) - { - DigitallySigned signed_params = DigitallySigned.parse(context, input); - - Signer signer = initVerifyer(tlsSigner, signed_params.getAlgorithm(), securityParameters); - buf.updateSigner(signer); - if (!signer.verifySignature(signed_params.getSignature())) - { - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - } - - BigInteger N = new BigInteger(1, NBytes); - BigInteger g = new BigInteger(1, gBytes); - - // TODO Validate group parameters (see RFC 5054) -// throw new TlsFatalAlert(AlertDescription.insufficient_security); - - this.s = sBytes; - - /* - * RFC 5054 2.5.3: The client MUST abort the handshake with an "illegal_parameter" alert if - * B % N = 0. - */ - try - { - this.B = SRP6Util.validatePublicValue(N, new BigInteger(1, BBytes)); - } - catch (CryptoException e) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - this.srpClient.init(N, g, new SHA1Digest(), context.getSecureRandom()); - } - - public void validateCertificateRequest(CertificateRequest certificateRequest) throws IOException - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - public void processClientCredentials(TlsCredentials clientCredentials) throws IOException - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - public void generateClientKeyExchange(OutputStream output) throws IOException - { - BigInteger A = srpClient.generateClientCredentials(s, this.identity, this.password); - TlsUtils.writeOpaque16(BigIntegers.asUnsignedByteArray(A), output); - } - - public byte[] generatePremasterSecret() throws IOException - { - try - { - // TODO Check if this needs to be a fixed size - return BigIntegers.asUnsignedByteArray(srpClient.calculateSecret(B)); - } - catch (CryptoException e) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - } - - protected Signer initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters) - { - Signer signer = tlsSigner.createVerifyer(algorithm, this.serverPublicKey); - signer.update(securityParameters.clientRandom, 0, securityParameters.clientRandom.length); - signer.update(securityParameters.serverRandom, 0, securityParameters.serverRandom.length); - return signer; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPUtils.java deleted file mode 100644 index 74fac926f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRPUtils.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.util.Integers; - -public class TlsSRPUtils -{ - public static final Integer EXT_SRP = Integers.valueOf(ExtensionType.srp); - - public static void addSRPExtension(Hashtable extensions, byte[] identity) throws IOException - { - extensions.put(EXT_SRP, createSRPExtension(identity)); - } - - public static byte[] getSRPExtension(Hashtable extensions) throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_SRP); - return extensionData == null ? null : readSRPExtension(extensionData); - } - - public static byte[] createSRPExtension(byte[] identity) throws IOException - { - if (identity == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - return TlsUtils.encodeOpaque8(identity); - } - - public static byte[] readSRPExtension(byte[] extensionData) throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - byte[] identity = TlsUtils.readOpaque8(buf); - - TlsProtocol.assertEmpty(buf); - - return identity; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRTPUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRTPUtils.java deleted file mode 100644 index edc48795a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSRTPUtils.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.util.Integers; - -/** - * RFC 5764 DTLS Extension to Establish Keys for SRTP. - */ -public class TlsSRTPUtils -{ - public static final Integer EXT_use_srtp = Integers.valueOf(ExtensionType.use_srtp); - - public static void addUseSRTPExtension(Hashtable extensions, UseSRTPData useSRTPData) - throws IOException - { - extensions.put(EXT_use_srtp, createUseSRTPExtension(useSRTPData)); - } - - public static UseSRTPData getUseSRTPExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = TlsUtils.getExtensionData(extensions, EXT_use_srtp); - return extensionData == null ? null : readUseSRTPExtension(extensionData); - } - - public static byte[] createUseSRTPExtension(UseSRTPData useSRTPData) - throws IOException - { - if (useSRTPData == null) - { - throw new IllegalArgumentException("'useSRTPData' cannot be null"); - } - - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - // SRTPProtectionProfiles - TlsUtils.writeUint16ArrayWithUint16Length(useSRTPData.getProtectionProfiles(), buf); - - // srtp_mki - TlsUtils.writeOpaque8(useSRTPData.getMki(), buf); - - return buf.toByteArray(); - } - - public static UseSRTPData readUseSRTPExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - // SRTPProtectionProfiles - int length = TlsUtils.readUint16(buf); - if (length < 2 || (length & 1) != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - int[] protectionProfiles = TlsUtils.readUint16Array(length / 2, buf); - - // srtp_mki - byte[] mki = TlsUtils.readOpaque8(buf); - - TlsProtocol.assertEmpty(buf); - - return new UseSRTPData(protectionProfiles, mki); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServer.java deleted file mode 100644 index 3dcd14ff4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServer.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -public interface TlsServer - extends TlsPeer -{ - void init(TlsServerContext context); - - void notifyClientVersion(ProtocolVersion clientVersion) throws IOException; - - void notifyOfferedCipherSuites(int[] offeredCipherSuites) - throws IOException; - - void notifyOfferedCompressionMethods(short[] offeredCompressionMethods) - throws IOException; - - // Hashtable is (Integer -> byte[]) - void processClientExtensions(Hashtable clientExtensions) - throws IOException; - - ProtocolVersion getServerVersion() - throws IOException; - - int getSelectedCipherSuite() - throws IOException; - - short getSelectedCompressionMethod() - throws IOException; - - // Hashtable is (Integer -> byte[]) - Hashtable getServerExtensions() - throws IOException; - - // Vector is (SupplementalDataEntry) - Vector getServerSupplementalData() - throws IOException; - - TlsCredentials getCredentials() - throws IOException; - - /** - * This method will be called (only) if the server included an extension of type - * "status_request" with empty "extension_data" in the extended server hello. See RFC 3546 - * 3.6. Certificate Status Request. If a non-null {@link CertificateStatus} is returned, it - * is sent to the client as a handshake message of type "certificate_status". - * - * @return A {@link CertificateStatus} to be sent to the client (or null for none). - * @throws IOException - */ - CertificateStatus getCertificateStatus() - throws IOException; - - TlsKeyExchange getKeyExchange() - throws IOException; - - CertificateRequest getCertificateRequest() - throws IOException; - - // Vector is (SupplementalDataEntry) - void processClientSupplementalData(Vector clientSupplementalData) - throws IOException; - - /** - * Called by the protocol handler to report the client certificate, only if - * {@link #getCertificateRequest()} returned non-null. - * - * Note: this method is responsible for certificate verification and validation. - * - * @param clientCertificate - * the effective client certificate (may be an empty chain). - * @throws IOException - */ - void notifyClientCertificate(Certificate clientCertificate) - throws IOException; - - /** - * RFC 5077 3.3. NewSessionTicket Handshake Message. - *

    - * This method will be called (only) if a NewSessionTicket extension was sent by the server. See - * RFC 5077 4. Recommended Ticket Construction for recommended format and protection. - * - * @return The ticket. - * @throws IOException - */ - NewSessionTicket getNewSessionTicket() - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContext.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContext.java deleted file mode 100644 index 48480f364..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContext.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.spongycastle.crypto.tls; - -public interface TlsServerContext - extends TlsContext -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContextImpl.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContextImpl.java deleted file mode 100644 index 270633506..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerContextImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.security.SecureRandom; - -class TlsServerContextImpl - extends AbstractTlsContext - implements TlsServerContext -{ - TlsServerContextImpl(SecureRandom secureRandom, SecurityParameters securityParameters) - { - super(secureRandom, securityParameters); - } - - public boolean isServer() - { - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerProtocol.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerProtocol.java deleted file mode 100644 index 3411086e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsServerProtocol.java +++ /dev/null @@ -1,760 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; -import java.util.Vector; - -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.util.PublicKeyFactory; -import org.spongycastle.util.Arrays; - -public class TlsServerProtocol - extends TlsProtocol -{ - protected TlsServer tlsServer = null; - protected TlsServerContextImpl tlsServerContext = null; - - protected TlsKeyExchange keyExchange = null; - protected TlsCredentials serverCredentials = null; - protected CertificateRequest certificateRequest = null; - - protected short clientCertificateType = -1; - protected TlsHandshakeHash prepareFinishHash = null; - - public TlsServerProtocol(InputStream input, OutputStream output, SecureRandom secureRandom) - { - super(input, output, secureRandom); - } - - /** - * Receives a TLS handshake in the role of server - * - * @param tlsServer - * @throws IOException If handshake was not successful. - */ - public void accept(TlsServer tlsServer) - throws IOException - { - if (tlsServer == null) - { - throw new IllegalArgumentException("'tlsServer' cannot be null"); - } - if (this.tlsServer != null) - { - throw new IllegalStateException("'accept' can only be called once"); - } - - this.tlsServer = tlsServer; - - this.securityParameters = new SecurityParameters(); - this.securityParameters.entity = ConnectionEnd.server; - this.securityParameters.serverRandom = createRandomBlock(secureRandom); - - this.tlsServerContext = new TlsServerContextImpl(secureRandom, securityParameters); - this.tlsServer.init(tlsServerContext); - this.recordStream.init(tlsServerContext); - - this.recordStream.setRestrictReadVersion(false); - - completeHandshake(); - } - - protected void cleanupHandshake() - { - super.cleanupHandshake(); - - this.keyExchange = null; - this.serverCredentials = null; - this.certificateRequest = null; - this.prepareFinishHash = null; - } - - protected AbstractTlsContext getContext() - { - return tlsServerContext; - } - - protected TlsPeer getPeer() - { - return tlsServer; - } - - protected void handleHandshakeMessage(short type, byte[] data) - throws IOException - { - ByteArrayInputStream buf = new ByteArrayInputStream(data); - - switch (type) - { - case HandshakeType.client_hello: - { - switch (this.connection_state) - { - case CS_START: - { - receiveClientHelloMessage(buf); - this.connection_state = CS_CLIENT_HELLO; - - sendServerHelloMessage(); - this.connection_state = CS_SERVER_HELLO; - - Vector serverSupplementalData = tlsServer.getServerSupplementalData(); - if (serverSupplementalData != null) - { - sendSupplementalDataMessage(serverSupplementalData); - } - this.connection_state = CS_SERVER_SUPPLEMENTAL_DATA; - - this.keyExchange = tlsServer.getKeyExchange(); - this.keyExchange.init(getContext()); - - this.serverCredentials = tlsServer.getCredentials(); - - Certificate serverCertificate = null; - - if (this.serverCredentials == null) - { - this.keyExchange.skipServerCredentials(); - } - else - { - this.keyExchange.processServerCredentials(this.serverCredentials); - - serverCertificate = this.serverCredentials.getCertificate(); - sendCertificateMessage(serverCertificate); - } - this.connection_state = CS_SERVER_CERTIFICATE; - - // TODO[RFC 3546] Check whether empty certificates is possible, allowed, or excludes CertificateStatus - if (serverCertificate == null || serverCertificate.isEmpty()) - { - this.allowCertificateStatus = false; - } - - if (this.allowCertificateStatus) - { - CertificateStatus certificateStatus = tlsServer.getCertificateStatus(); - if (certificateStatus != null) - { - sendCertificateStatusMessage(certificateStatus); - } - } - - this.connection_state = CS_CERTIFICATE_STATUS; - - byte[] serverKeyExchange = this.keyExchange.generateServerKeyExchange(); - if (serverKeyExchange != null) - { - sendServerKeyExchangeMessage(serverKeyExchange); - } - this.connection_state = CS_SERVER_KEY_EXCHANGE; - - if (this.serverCredentials != null) - { - this.certificateRequest = tlsServer.getCertificateRequest(); - if (this.certificateRequest != null) - { - this.keyExchange.validateCertificateRequest(certificateRequest); - - sendCertificateRequestMessage(certificateRequest); - - TlsUtils.trackHashAlgorithms(this.recordStream.getHandshakeHash(), - this.certificateRequest.getSupportedSignatureAlgorithms()); - } - } - this.connection_state = CS_CERTIFICATE_REQUEST; - - sendServerHelloDoneMessage(); - this.connection_state = CS_SERVER_HELLO_DONE; - - this.recordStream.getHandshakeHash().sealHashAlgorithms(); - - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.supplemental_data: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO_DONE: - { - tlsServer.processClientSupplementalData(readSupplementalDataMessage(buf)); - this.connection_state = CS_CLIENT_SUPPLEMENTAL_DATA; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.certificate: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO_DONE: - { - tlsServer.processClientSupplementalData(null); - // NB: Fall through to next case label - } - case CS_CLIENT_SUPPLEMENTAL_DATA: - { - if (this.certificateRequest == null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - receiveCertificateMessage(buf); - this.connection_state = CS_CLIENT_CERTIFICATE; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.client_key_exchange: - { - switch (this.connection_state) - { - case CS_SERVER_HELLO_DONE: - { - tlsServer.processClientSupplementalData(null); - // NB: Fall through to next case label - } - case CS_CLIENT_SUPPLEMENTAL_DATA: - { - if (this.certificateRequest == null) - { - this.keyExchange.skipClientCredentials(); - } - else - { - if (TlsUtils.isTLSv12(getContext())) - { - /* - * RFC 5246 If no suitable certificate is available, the client MUST send a - * certificate message containing no certificates. - * - * NOTE: In previous RFCs, this was SHOULD instead of MUST. - */ - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - else if (TlsUtils.isSSL(getContext())) - { - if (this.peerCertificate == null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - else - { - notifyClientCertificate(Certificate.EMPTY_CHAIN); - } - } - // NB: Fall through to next case label - } - case CS_CLIENT_CERTIFICATE: - { - receiveClientKeyExchangeMessage(buf); - this.connection_state = CS_CLIENT_KEY_EXCHANGE; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.certificate_verify: - { - switch (this.connection_state) - { - case CS_CLIENT_KEY_EXCHANGE: - { - /* - * RFC 5246 7.4.8 This message is only sent following a client certificate that has - * signing capability (i.e., all certificates except those containing fixed - * Diffie-Hellman parameters). - */ - if (!expectCertificateVerifyMessage()) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - receiveCertificateVerifyMessage(buf); - this.connection_state = CS_CERTIFICATE_VERIFY; - - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.finished: - { - switch (this.connection_state) - { - case CS_CLIENT_KEY_EXCHANGE: - { - if (expectCertificateVerifyMessage()) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - // NB: Fall through to next case label - } - case CS_CERTIFICATE_VERIFY: - { - processFinishedMessage(buf); - this.connection_state = CS_CLIENT_FINISHED; - - if (this.expectSessionTicket) - { - sendNewSessionTicketMessage(tlsServer.getNewSessionTicket()); - sendChangeCipherSpecMessage(); - } - this.connection_state = CS_SERVER_SESSION_TICKET; - - sendFinishedMessage(); - this.connection_state = CS_SERVER_FINISHED; - this.connection_state = CS_END; - break; - } - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - break; - } - case HandshakeType.hello_request: - case HandshakeType.hello_verify_request: - case HandshakeType.server_hello: - case HandshakeType.server_key_exchange: - case HandshakeType.certificate_request: - case HandshakeType.server_hello_done: - case HandshakeType.session_ticket: - default: - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - } - - protected void handleWarningMessage(short description) - throws IOException - { - switch (description) - { - case AlertDescription.no_certificate: - { - /* - * SSL 3.0 If the server has sent a certificate request Message, the client must send - * either the certificate message or a no_certificate alert. - */ - if (TlsUtils.isSSL(getContext()) && certificateRequest != null) - { - notifyClientCertificate(Certificate.EMPTY_CHAIN); - } - break; - } - default: - { - super.handleWarningMessage(description); - } - } - } - - protected void notifyClientCertificate(Certificate clientCertificate) - throws IOException - { - if (certificateRequest == null) - { - throw new IllegalStateException(); - } - - if (this.peerCertificate != null) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - this.peerCertificate = clientCertificate; - - if (clientCertificate.isEmpty()) - { - this.keyExchange.skipClientCredentials(); - } - else - { - - /* - * TODO RFC 5246 7.4.6. If the certificate_authorities list in the certificate request - * message was non-empty, one of the certificates in the certificate chain SHOULD be - * issued by one of the listed CAs. - */ - - this.clientCertificateType = TlsUtils.getClientCertificateType(clientCertificate, - this.serverCredentials.getCertificate()); - - this.keyExchange.processClientCertificate(clientCertificate); - } - - /* - * RFC 5246 7.4.6. If the client does not send any certificates, the server MAY at its - * discretion either continue the handshake without client authentication, or respond with a - * fatal handshake_failure alert. Also, if some aspect of the certificate chain was - * unacceptable (e.g., it was not signed by a known, trusted CA), the server MAY at its - * discretion either continue the handshake (considering the client unauthenticated) or send - * a fatal alert. - */ - this.tlsServer.notifyClientCertificate(clientCertificate); - } - - protected void receiveCertificateMessage(ByteArrayInputStream buf) - throws IOException - { - Certificate clientCertificate = Certificate.parse(buf); - - assertEmpty(buf); - - notifyClientCertificate(clientCertificate); - } - - protected void receiveCertificateVerifyMessage(ByteArrayInputStream buf) - throws IOException - { - DigitallySigned clientCertificateVerify = DigitallySigned.parse(getContext(), buf); - - assertEmpty(buf); - - // Verify the CertificateVerify message contains a correct signature. - try - { - // TODO For TLS 1.2, this needs to be the hash specified in the DigitallySigned - byte[] certificateVerifyHash = getCurrentPRFHash(getContext(), prepareFinishHash, null); - - org.spongycastle.asn1.x509.Certificate x509Cert = this.peerCertificate.getCertificateAt(0); - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - AsymmetricKeyParameter publicKey = PublicKeyFactory.createKey(keyInfo); - - TlsSigner tlsSigner = TlsUtils.createTlsSigner(this.clientCertificateType); - tlsSigner.init(getContext()); - tlsSigner.verifyRawSignature(clientCertificateVerify.getAlgorithm(), - clientCertificateVerify.getSignature(), publicKey, certificateVerifyHash); - } - catch (Exception e) - { - throw new TlsFatalAlert(AlertDescription.decrypt_error); - } - } - - protected void receiveClientHelloMessage(ByteArrayInputStream buf) - throws IOException - { - ProtocolVersion client_version = TlsUtils.readVersion(buf); - if (client_version.isDTLS()) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - byte[] client_random = TlsUtils.readFully(32, buf); - - /* - * TODO RFC 5077 3.4. If a ticket is presented by the client, the server MUST NOT attempt to - * use the Session ID in the ClientHello for stateful session resumption. - */ - byte[] sessionID = TlsUtils.readOpaque8(buf); - if (sessionID.length > 32) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - /* - * TODO RFC 5246 7.4.1.2. If the session_id field is not empty (implying a session - * resumption request), this vector MUST include at least the cipher_suite from that - * session. - */ - int cipher_suites_length = TlsUtils.readUint16(buf); - if (cipher_suites_length < 2 || (cipher_suites_length & 1) != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - this.offeredCipherSuites = TlsUtils.readUint16Array(cipher_suites_length / 2, buf); - - /* - * TODO RFC 5246 7.4.1.2. If the session_id field is not empty (implying a session - * resumption request), it MUST include the compression_method from that session. - */ - int compression_methods_length = TlsUtils.readUint8(buf); - if (compression_methods_length < 1) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - this.offeredCompressionMethods = TlsUtils.readUint8Array(compression_methods_length, buf); - - /* - * TODO RFC 3546 2.3 If [...] the older session is resumed, then the server MUST ignore - * extensions appearing in the client hello, and send a server hello containing no - * extensions. - */ - this.clientExtensions = readExtensions(buf); - - getContext().setClientVersion(client_version); - - tlsServer.notifyClientVersion(client_version); - - securityParameters.clientRandom = client_random; - - tlsServer.notifyOfferedCipherSuites(offeredCipherSuites); - tlsServer.notifyOfferedCompressionMethods(offeredCompressionMethods); - - /* - * RFC 5746 3.6. Server Behavior: Initial Handshake - */ - { - /* - * RFC 5746 3.4. The client MUST include either an empty "renegotiation_info" extension, - * or the TLS_EMPTY_RENEGOTIATION_INFO_SCSV signaling cipher suite value in the - * ClientHello. Including both is NOT RECOMMENDED. - */ - - /* - * When a ClientHello is received, the server MUST check if it includes the - * TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. If it does, set the secure_renegotiation flag - * to TRUE. - */ - if (Arrays.contains(offeredCipherSuites, CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV)) - { - this.secure_renegotiation = true; - } - - /* - * The server MUST check if the "renegotiation_info" extension is included in the - * ClientHello. - */ - byte[] renegExtData = TlsUtils.getExtensionData(clientExtensions, EXT_RenegotiationInfo); - if (renegExtData != null) - { - /* - * If the extension is present, set secure_renegotiation flag to TRUE. The - * server MUST then verify that the length of the "renegotiated_connection" - * field is zero, and if it is not, MUST abort the handshake. - */ - this.secure_renegotiation = true; - - if (!Arrays.constantTimeAreEqual(renegExtData, createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) - { - throw new TlsFatalAlert(AlertDescription.handshake_failure); - } - } - } - - tlsServer.notifySecureRenegotiation(this.secure_renegotiation); - - if (clientExtensions != null) - { - tlsServer.processClientExtensions(clientExtensions); - } - } - - protected void receiveClientKeyExchangeMessage(ByteArrayInputStream buf) - throws IOException - { - this.keyExchange.processClientKeyExchange(buf); - - assertEmpty(buf); - - establishMasterSecret(getContext(), keyExchange); - recordStream.setPendingConnectionState(getPeer().getCompression(), getPeer().getCipher()); - - this.prepareFinishHash = recordStream.prepareToFinish(); - - if (!expectSessionTicket) - { - sendChangeCipherSpecMessage(); - } - } - - protected void sendCertificateRequestMessage(CertificateRequest certificateRequest) - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.certificate_request); - - certificateRequest.encode(message); - - message.writeToRecordStream(); - } - - protected void sendCertificateStatusMessage(CertificateStatus certificateStatus) - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.certificate_status); - - certificateStatus.encode(message); - - message.writeToRecordStream(); - } - - protected void sendNewSessionTicketMessage(NewSessionTicket newSessionTicket) - throws IOException - { - if (newSessionTicket == null) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - HandshakeMessage message = new HandshakeMessage(HandshakeType.session_ticket); - - newSessionTicket.encode(message); - - message.writeToRecordStream(); - } - - protected void sendServerHelloMessage() - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.server_hello); - - ProtocolVersion server_version = tlsServer.getServerVersion(); - if (!server_version.isEqualOrEarlierVersionOf(getContext().getClientVersion())) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - recordStream.setReadVersion(server_version); - recordStream.setWriteVersion(server_version); - recordStream.setRestrictReadVersion(true); - getContext().setServerVersion(server_version); - - TlsUtils.writeVersion(server_version, message); - - message.write(this.securityParameters.serverRandom); - - /* - * The server may return an empty session_id to indicate that the session will not be cached - * and therefore cannot be resumed. - */ - TlsUtils.writeOpaque8(TlsUtils.EMPTY_BYTES, message); - - int selectedCipherSuite = tlsServer.getSelectedCipherSuite(); - if (!Arrays.contains(this.offeredCipherSuites, selectedCipherSuite) - || selectedCipherSuite == CipherSuite.TLS_NULL_WITH_NULL_NULL - || selectedCipherSuite == CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - securityParameters.cipherSuite = selectedCipherSuite; - - short selectedCompressionMethod = tlsServer.getSelectedCompressionMethod(); - if (!Arrays.contains(this.offeredCompressionMethods, selectedCompressionMethod)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - securityParameters.compressionAlgorithm = selectedCompressionMethod; - - TlsUtils.writeUint16(selectedCipherSuite, message); - TlsUtils.writeUint8(selectedCompressionMethod, message); - - this.serverExtensions = tlsServer.getServerExtensions(); - - /* - * RFC 5746 3.6. Server Behavior: Initial Handshake - */ - if (this.secure_renegotiation) - { - byte[] renegExtData = TlsUtils.getExtensionData(this.serverExtensions, EXT_RenegotiationInfo); - boolean noRenegExt = (null == renegExtData); - - if (noRenegExt) - { - /* - * Note that sending a "renegotiation_info" extension in response to a ClientHello - * containing only the SCSV is an explicit exception to the prohibition in RFC 5246, - * Section 7.4.1.4, on the server sending unsolicited extensions and is only allowed - * because the client is signaling its willingness to receive the extension via the - * TLS_EMPTY_RENEGOTIATION_INFO_SCSV SCSV. - */ - - /* - * If the secure_renegotiation flag is set to TRUE, the server MUST include an empty - * "renegotiation_info" extension in the ServerHello message. - */ - this.serverExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(this.serverExtensions); - this.serverExtensions.put(EXT_RenegotiationInfo, createRenegotiationInfo(TlsUtils.EMPTY_BYTES)); - } - } - - /* - * TODO RFC 3546 2.3 If [...] the older session is resumed, then the server MUST ignore - * extensions appearing in the client hello, and send a server hello containing no - * extensions. - */ - - if (this.serverExtensions != null) - { - this.securityParameters.maxFragmentLength = processMaxFragmentLengthExtension(clientExtensions, - this.serverExtensions, AlertDescription.internal_error); - - this.securityParameters.truncatedHMac = TlsExtensionsUtils.hasTruncatedHMacExtension(this.serverExtensions); - - /* - * TODO It's surprising that there's no provision to allow a 'fresh' CertificateStatus to be sent in - * a session resumption handshake. - */ - this.allowCertificateStatus = !this.resumedSession - && TlsUtils.hasExpectedEmptyExtensionData(this.serverExtensions, TlsExtensionsUtils.EXT_status_request, - AlertDescription.internal_error); - - this.expectSessionTicket = !this.resumedSession - && TlsUtils.hasExpectedEmptyExtensionData(this.serverExtensions, TlsProtocol.EXT_SessionTicket, - AlertDescription.internal_error); - - writeExtensions(message, this.serverExtensions); - } - - if (this.securityParameters.maxFragmentLength >= 0) - { - int plainTextLimit = 1 << (8 + this.securityParameters.maxFragmentLength); - recordStream.setPlaintextLimit(plainTextLimit); - } - - securityParameters.prfAlgorithm = getPRFAlgorithm(getContext(), securityParameters.getCipherSuite()); - - /* - * RFC 5264 7.4.9. Any cipher suite which does not explicitly specify verify_data_length has - * a verify_data_length equal to 12. This includes all existing cipher suites. - */ - securityParameters.verifyDataLength = 12; - - message.writeToRecordStream(); - - this.recordStream.notifyHelloComplete(); - } - - protected void sendServerHelloDoneMessage() - throws IOException - { - byte[] message = new byte[4]; - TlsUtils.writeUint8(HandshakeType.server_hello_done, message, 0); - TlsUtils.writeUint24(0, message, 1); - - writeHandshakeMessage(message, 0, message.length); - } - - protected void sendServerKeyExchangeMessage(byte[] serverKeyExchange) - throws IOException - { - HandshakeMessage message = new HandshakeMessage(HandshakeType.server_key_exchange, serverKeyExchange.length); - - message.write(serverKeyExchange); - - message.writeToRecordStream(); - } - - protected boolean expectCertificateVerifyMessage() - { - return this.clientCertificateType >= 0 && TlsUtils.hasSigningCapability(this.clientCertificateType); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSession.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSession.java deleted file mode 100644 index 6d30e4426..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSession.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -public interface TlsSession -{ - SessionParameters exportSessionParameters(); - - byte[] getSessionID(); - - void invalidate(); - - boolean isResumable(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSessionImpl.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSessionImpl.java deleted file mode 100644 index af11bf08a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSessionImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.util.Arrays; - -class TlsSessionImpl implements TlsSession -{ - final byte[] sessionID; - SessionParameters sessionParameters; - - TlsSessionImpl(byte[] sessionID, SessionParameters sessionParameters) - { - if (sessionID == null) - { - throw new IllegalArgumentException("'sessionID' cannot be null"); - } - if (sessionID.length < 1 || sessionID.length > 32) - { - throw new IllegalArgumentException("'sessionID' must have length between 1 and 32 bytes, inclusive"); - } - - this.sessionID = Arrays.clone(sessionID); - this.sessionParameters = sessionParameters; - } - - public synchronized SessionParameters exportSessionParameters() - { - return this.sessionParameters == null ? null : this.sessionParameters.copy(); - } - - public synchronized byte[] getSessionID() - { - return sessionID; - } - - public synchronized void invalidate() - { - if (this.sessionParameters != null) - { - this.sessionParameters.clear(); - this.sessionParameters = null; - } - } - - public synchronized boolean isResumable() - { - return this.sessionParameters != null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSigner.java deleted file mode 100644 index 021155e38..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSigner.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.spongycastle.crypto.tls; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public interface TlsSigner -{ - void init(TlsContext context); - - byte[] generateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5AndSha1) - throws CryptoException; - - byte[] generateRawSignature(SignatureAndHashAlgorithm algorithm, - AsymmetricKeyParameter privateKey, byte[] hash) - throws CryptoException; - - boolean verifyRawSignature(byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] md5AndSha1) - throws CryptoException; - - boolean verifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, - AsymmetricKeyParameter publicKey, byte[] hash) - throws CryptoException; - - Signer createSigner(AsymmetricKeyParameter privateKey); - - Signer createSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey); - - Signer createVerifyer(AsymmetricKeyParameter publicKey); - - Signer createVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey); - - boolean isValidPublicKey(AsymmetricKeyParameter publicKey); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSignerCredentials.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSignerCredentials.java deleted file mode 100644 index da1a91cd7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsSignerCredentials.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -public interface TlsSignerCredentials - extends TlsCredentials -{ - byte[] generateCertificateSignature(byte[] hash) - throws IOException; - - SignatureAndHashAlgorithm getSignatureAndHashAlgorithm(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsStreamCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsStreamCipher.java deleted file mode 100644 index ff065ee88..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsStreamCipher.java +++ /dev/null @@ -1,163 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; - -public class TlsStreamCipher - implements TlsCipher -{ - private static boolean encryptThenMAC = false; - - protected TlsContext context; - - protected StreamCipher encryptCipher; - protected StreamCipher decryptCipher; - - protected TlsMac writeMac; - protected TlsMac readMac; - - public TlsStreamCipher(TlsContext context, StreamCipher clientWriteCipher, - StreamCipher serverWriteCipher, Digest clientWriteDigest, Digest serverWriteDigest, - int cipherKeySize) throws IOException - { - boolean isServer = context.isServer(); - - this.context = context; - - this.encryptCipher = clientWriteCipher; - this.decryptCipher = serverWriteCipher; - - int key_block_size = (2 * cipherKeySize) + clientWriteDigest.getDigestSize() - + serverWriteDigest.getDigestSize(); - - byte[] key_block = TlsUtils.calculateKeyBlock(context, key_block_size); - - int offset = 0; - - // Init MACs - TlsMac clientWriteMac = new TlsMac(context, clientWriteDigest, key_block, offset, - clientWriteDigest.getDigestSize()); - offset += clientWriteDigest.getDigestSize(); - TlsMac serverWriteMac = new TlsMac(context, serverWriteDigest, key_block, offset, - serverWriteDigest.getDigestSize()); - offset += serverWriteDigest.getDigestSize(); - - // Build keys - KeyParameter clientWriteKey = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - KeyParameter serverWriteKey = new KeyParameter(key_block, offset, cipherKeySize); - offset += cipherKeySize; - - if (offset != key_block_size) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - CipherParameters encryptParams, decryptParams; - if (isServer) - { - this.writeMac = serverWriteMac; - this.readMac = clientWriteMac; - this.encryptCipher = serverWriteCipher; - this.decryptCipher = clientWriteCipher; - encryptParams = serverWriteKey; - decryptParams = clientWriteKey; - } - else - { - this.writeMac = clientWriteMac; - this.readMac = serverWriteMac; - this.encryptCipher = clientWriteCipher; - this.decryptCipher = serverWriteCipher; - encryptParams = clientWriteKey; - decryptParams = serverWriteKey; - } - - this.encryptCipher.init(true, encryptParams); - this.decryptCipher.init(false, decryptParams); - } - - public int getPlaintextLimit(int ciphertextLimit) - { - return ciphertextLimit - writeMac.getSize(); - } - - public byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) - { - /* - * TODO[draft-josefsson-salsa20-tls-02] Note that Salsa20 requires a 64-bit nonce. That - * nonce is updated on the encryption of every TLS record, and is set to be the 64-bit TLS - * record sequence number. In case of DTLS the 64-bit nonce is formed as the concatenation - * of the 16-bit epoch with the 48-bit sequence number. - */ - - byte[] outBuf = new byte[len + writeMac.getSize()]; - - encryptCipher.processBytes(plaintext, offset, len, outBuf, 0); - - if (encryptThenMAC) - { - byte[] mac = writeMac.calculateMac(seqNo, type, outBuf, 0, len); - System.arraycopy(mac, 0, outBuf, len, mac.length); - } - else - { - byte[] mac = writeMac.calculateMac(seqNo, type, plaintext, offset, len); - encryptCipher.processBytes(mac, 0, mac.length, outBuf, len); - } - - return outBuf; - } - - public byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) - throws IOException - { - /* - * TODO[draft-josefsson-salsa20-tls-02] Note that Salsa20 requires a 64-bit nonce. That - * nonce is updated on the encryption of every TLS record, and is set to be the 64-bit TLS - * record sequence number. In case of DTLS the 64-bit nonce is formed as the concatenation - * of the 16-bit epoch with the 48-bit sequence number. - */ - - int macSize = readMac.getSize(); - if (len < macSize) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - - int plaintextLength = len - macSize; - - if (encryptThenMAC) - { - int ciphertextEnd = offset + len; - checkMAC(seqNo, type, ciphertext, ciphertextEnd - macSize, ciphertextEnd, ciphertext, offset, plaintextLength); - byte[] deciphered = new byte[plaintextLength]; - decryptCipher.processBytes(ciphertext, offset, plaintextLength, deciphered, 0); - return deciphered; - } - else - { - byte[] deciphered = new byte[len]; - decryptCipher.processBytes(ciphertext, offset, len, deciphered, 0); - checkMAC(seqNo, type, deciphered, plaintextLength, len, deciphered, 0, plaintextLength); - return Arrays.copyOfRange(deciphered, 0, plaintextLength); - } - } - - private void checkMAC(long seqNo, short type, byte[] recBuf, int recStart, int recEnd, byte[] calcBuf, int calcOff, int calcLen) - throws IOException - { - byte[] receivedMac = Arrays.copyOfRange(recBuf, recStart, recEnd); - byte[] computedMac = readMac.calculateMac(seqNo, type, calcBuf, calcOff, calcLen); - - if (!Arrays.constantTimeAreEqual(receivedMac, computedMac)) - { - throw new TlsFatalAlert(AlertDescription.bad_record_mac); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsUtils.java deleted file mode 100644 index 802db189d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/TlsUtils.java +++ /dev/null @@ -1,1261 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.MD5Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.util.PublicKeyFactory; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; -import org.spongycastle.util.Strings; -import org.spongycastle.util.io.Streams; - -/** - * Some helper functions for MicroTLS. - */ -public class TlsUtils -{ - public static byte[] EMPTY_BYTES = new byte[0]; - - public static final Integer EXT_signature_algorithms = Integers.valueOf(ExtensionType.signature_algorithms); - - public static void checkUint8(short i) throws IOException - { - if (!isValidUint8(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint8(int i) throws IOException - { - if (!isValidUint8(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint16(int i) throws IOException - { - if (!isValidUint16(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint24(int i) throws IOException - { - if (!isValidUint24(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint32(long i) throws IOException - { - if (!isValidUint32(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint48(long i) throws IOException - { - if (!isValidUint48(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static void checkUint64(long i) throws IOException - { - if (!isValidUint64(i)) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - } - - public static boolean isValidUint8(short i) - { - return (i & 0xFF) == i; - } - - public static boolean isValidUint8(int i) - { - return (i & 0xFF) == i; - } - - public static boolean isValidUint16(int i) - { - return (i & 0xFFFF) == i; - } - - public static boolean isValidUint24(int i) - { - return (i & 0xFFFFFF) == i; - } - - public static boolean isValidUint32(long i) - { - return (i & 0xFFFFFFFFL) == i; - } - - public static boolean isValidUint48(long i) - { - return (i & 0xFFFFFFFFFFFFL) == i; - } - - public static boolean isValidUint64(long i) - { - return true; - } - - public static boolean isSSL(TlsContext context) - { - return context.getServerVersion().isSSL(); - } - - public static boolean isTLSv11(TlsContext context) - { - return ProtocolVersion.TLSv11.isEqualOrEarlierVersionOf(context.getServerVersion().getEquivalentTLSVersion()); - } - - public static boolean isTLSv12(TlsContext context) - { - return ProtocolVersion.TLSv12.isEqualOrEarlierVersionOf(context.getServerVersion().getEquivalentTLSVersion()); - } - - public static void writeUint8(short i, OutputStream output) - throws IOException - { - output.write(i); - } - - public static void writeUint8(int i, OutputStream output) - throws IOException - { - output.write(i); - } - - public static void writeUint8(short i, byte[] buf, int offset) - { - buf[offset] = (byte)i; - } - - public static void writeUint8(int i, byte[] buf, int offset) - { - buf[offset] = (byte)i; - } - - public static void writeUint16(int i, OutputStream output) - throws IOException - { - output.write(i >> 8); - output.write(i); - } - - public static void writeUint16(int i, byte[] buf, int offset) - { - buf[offset] = (byte)(i >> 8); - buf[offset + 1] = (byte)i; - } - - public static void writeUint24(int i, OutputStream output) - throws IOException - { - output.write(i >> 16); - output.write(i >> 8); - output.write(i); - } - - public static void writeUint24(int i, byte[] buf, int offset) - { - buf[offset] = (byte)(i >> 16); - buf[offset + 1] = (byte)(i >> 8); - buf[offset + 2] = (byte)(i); - } - - public static void writeUint32(long i, OutputStream output) - throws IOException - { - output.write((int)(i >> 24)); - output.write((int)(i >> 16)); - output.write((int)(i >> 8)); - output.write((int)(i)); - } - - public static void writeUint32(long i, byte[] buf, int offset) - { - buf[offset] = (byte)(i >> 24); - buf[offset + 1] = (byte)(i >> 16); - buf[offset + 2] = (byte)(i >> 8); - buf[offset + 3] = (byte)(i); - } - - public static void writeUint48(long i, OutputStream output) - throws IOException - { - output.write((byte)(i >> 40)); - output.write((byte)(i >> 32)); - output.write((byte)(i >> 24)); - output.write((byte)(i >> 16)); - output.write((byte)(i >> 8)); - output.write((byte)(i)); - } - - public static void writeUint48(long i, byte[] buf, int offset) - { - buf[offset] = (byte)(i >> 40); - buf[offset + 1] = (byte)(i >> 32); - buf[offset + 2] = (byte)(i >> 24); - buf[offset + 3] = (byte)(i >> 16); - buf[offset + 4] = (byte)(i >> 8); - buf[offset + 5] = (byte)(i); - } - - public static void writeUint64(long i, OutputStream output) - throws IOException - { - output.write((byte)(i >> 56)); - output.write((byte)(i >> 48)); - output.write((byte)(i >> 40)); - output.write((byte)(i >> 32)); - output.write((byte)(i >> 24)); - output.write((byte)(i >> 16)); - output.write((byte)(i >> 8)); - output.write((byte)(i)); - } - - public static void writeUint64(long i, byte[] buf, int offset) - { - buf[offset] = (byte)(i >> 56); - buf[offset + 1] = (byte)(i >> 48); - buf[offset + 2] = (byte)(i >> 40); - buf[offset + 3] = (byte)(i >> 32); - buf[offset + 4] = (byte)(i >> 24); - buf[offset + 5] = (byte)(i >> 16); - buf[offset + 6] = (byte)(i >> 8); - buf[offset + 7] = (byte)(i); - } - - public static void writeOpaque8(byte[] buf, OutputStream output) - throws IOException - { - checkUint8(buf.length); - writeUint8(buf.length, output); - output.write(buf); - } - - public static void writeOpaque16(byte[] buf, OutputStream output) - throws IOException - { - checkUint16(buf.length); - writeUint16(buf.length, output); - output.write(buf); - } - - public static void writeOpaque24(byte[] buf, OutputStream output) - throws IOException - { - checkUint24(buf.length); - writeUint24(buf.length, output); - output.write(buf); - } - - public static void writeUint8Array(short[] uints, OutputStream output) - throws IOException - { - for (int i = 0; i < uints.length; ++i) - { - writeUint8(uints[i], output); - } - } - - public static void writeUint8Array(short[] uints, byte[] buf, int offset) - throws IOException - { - for (int i = 0; i < uints.length; ++i) - { - writeUint8(uints[i], buf, offset); - ++offset; - } - } - - public static void writeUint8ArrayWithUint8Length(short[] uints, OutputStream output) - throws IOException - { - checkUint8(uints.length); - writeUint8(uints.length, output); - writeUint8Array(uints, output); - } - - public static void writeUint8ArrayWithUint8Length(short[] uints, byte[] buf, int offset) - throws IOException - { - checkUint8(uints.length); - writeUint8(uints.length, buf, offset); - writeUint8Array(uints, buf, offset + 1); - } - - public static void writeUint16Array(int[] uints, OutputStream output) - throws IOException - { - for (int i = 0; i < uints.length; ++i) - { - writeUint16(uints[i], output); - } - } - - public static void writeUint16Array(int[] uints, byte[] buf, int offset) - throws IOException - { - for (int i = 0; i < uints.length; ++i) - { - writeUint16(uints[i], buf, offset); - offset += 2; - } - } - - public static void writeUint16ArrayWithUint16Length(int[] uints, OutputStream output) - throws IOException - { - int length = 2 * uints.length; - checkUint16(length); - writeUint16(length, output); - writeUint16Array(uints, output); - } - - public static void writeUint16ArrayWithUint16Length(int[] uints, byte[] buf, int offset) - throws IOException - { - int length = 2 * uints.length; - checkUint16(length); - writeUint16(length, buf, offset); - writeUint16Array(uints, buf, offset + 2); - } - - public static byte[] encodeOpaque8(byte[] buf) - throws IOException - { - checkUint8(buf.length); - return Arrays.prepend(buf, (byte)buf.length); - } - - public static byte[] encodeUint8ArrayWithUint8Length(short[] uints) throws IOException - { - byte[] result = new byte[1 + uints.length]; - writeUint8ArrayWithUint8Length(uints, result, 0); - return result; - } - - public static byte[] encodeUint16ArrayWithUint16Length(int[] uints) throws IOException - { - int length = 2 * uints.length; - byte[] result = new byte[2 + length]; - writeUint16ArrayWithUint16Length(uints, result, 0); - return result; - } - - public static short readUint8(InputStream input) - throws IOException - { - int i = input.read(); - if (i < 0) - { - throw new EOFException(); - } - return (short)i; - } - - public static short readUint8(byte[] buf, int offset) - { - return (short)buf[offset]; - } - - public static int readUint16(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - if (i2 < 0) - { - throw new EOFException(); - } - return i1 << 8 | i2; - } - - public static int readUint16(byte[] buf, int offset) - { - int n = (buf[offset] & 0xff) << 8; - n |= (buf[++offset] & 0xff); - return n; - } - - public static int readUint24(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - int i3 = input.read(); - if (i3 < 0) - { - throw new EOFException(); - } - return (i1 << 16) | (i2 << 8) | i3; - } - - public static int readUint24(byte[] buf, int offset) - { - int n = (buf[offset] & 0xff) << 16; - n |= (buf[++offset] & 0xff) << 8; - n |= (buf[++offset] & 0xff); - return n; - } - - public static long readUint32(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - int i3 = input.read(); - int i4 = input.read(); - if (i4 < 0) - { - throw new EOFException(); - } - return (((long)i1) << 24) | (((long)i2) << 16) | (((long)i3) << 8) | ((long)i4); - } - - public static long readUint48(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - int i3 = input.read(); - int i4 = input.read(); - int i5 = input.read(); - int i6 = input.read(); - if (i6 < 0) - { - throw new EOFException(); - } - return (((long)i1) << 40) | (((long)i2) << 32) | (((long)i3) << 24) | (((long)i4) << 16) | (((long)i5) << 8) | ((long)i6); - } - - public static long readUint48(byte[] buf, int offset) - { - int hi = readUint24(buf, offset); - int lo = readUint24(buf, offset + 3); - return ((long)(hi & 0xffffffffL) << 24) | (long)(lo & 0xffffffffL); - } - - public static byte[] readAllOrNothing(int length, InputStream input) - throws IOException - { - if (length < 1) - { - return EMPTY_BYTES; - } - byte[] buf = new byte[length]; - int read = Streams.readFully(input, buf); - if (read == 0) - { - return null; - } - if (read != length) - { - throw new EOFException(); - } - return buf; - } - - public static byte[] readFully(int length, InputStream input) - throws IOException - { - if (length < 1) - { - return EMPTY_BYTES; - } - byte[] buf = new byte[length]; - if (length != Streams.readFully(input, buf)) - { - throw new EOFException(); - } - return buf; - } - - public static void readFully(byte[] buf, InputStream input) - throws IOException - { - int length = buf.length; - if (length > 0 && length != Streams.readFully(input, buf)) - { - throw new EOFException(); - } - } - - public static byte[] readOpaque8(InputStream input) - throws IOException - { - short length = readUint8(input); - return readFully(length, input); - } - - public static byte[] readOpaque16(InputStream input) - throws IOException - { - int length = readUint16(input); - return readFully(length, input); - } - - public static byte[] readOpaque24(InputStream input) - throws IOException - { - int length = readUint24(input); - return readFully(length, input); - } - - public static short[] readUint8Array(int count, InputStream input) - throws IOException - { - short[] uints = new short[count]; - for (int i = 0; i < count; ++i) - { - uints[i] = readUint8(input); - } - return uints; - } - - public static int[] readUint16Array(int count, InputStream input) - throws IOException - { - int[] uints = new int[count]; - for (int i = 0; i < count; ++i) - { - uints[i] = readUint16(input); - } - return uints; - } - - public static ProtocolVersion readVersion(byte[] buf, int offset) - throws IOException - { - return ProtocolVersion.get(buf[offset] & 0xFF, buf[offset + 1] & 0xFF); - } - - public static ProtocolVersion readVersion(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - if (i2 < 0) - { - throw new EOFException(); - } - return ProtocolVersion.get(i1, i2); - } - - public static int readVersionRaw(byte[] buf, int offset) - throws IOException - { - return (buf[offset] << 8) | buf[offset + 1]; - } - - public static int readVersionRaw(InputStream input) - throws IOException - { - int i1 = input.read(); - int i2 = input.read(); - if (i2 < 0) - { - throw new EOFException(); - } - return (i1 << 8) | i2; - } - - public static ASN1Primitive readASN1Object(byte[] encoding) throws IOException - { - ASN1InputStream asn1 = new ASN1InputStream(encoding); - ASN1Primitive result = asn1.readObject(); - if (null == result) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - if (null != asn1.readObject()) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - return result; - } - - public static ASN1Primitive readDERObject(byte[] encoding) throws IOException - { - /* - * NOTE: The current ASN.1 parsing code can't enforce DER-only parsing, but since DER is - * canonical, we can check it by re-encoding the result and comparing to the original. - */ - ASN1Primitive result = readASN1Object(encoding); - byte[] check = result.getEncoded(ASN1Encoding.DER); - if (!Arrays.areEqual(check, encoding)) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - return result; - } - - public static void writeGMTUnixTime(byte[] buf, int offset) - { - int t = (int)(System.currentTimeMillis() / 1000L); - buf[offset] = (byte)(t >> 24); - buf[offset + 1] = (byte)(t >> 16); - buf[offset + 2] = (byte)(t >> 8); - buf[offset + 3] = (byte)t; - } - - public static void writeVersion(ProtocolVersion version, OutputStream output) - throws IOException - { - output.write(version.getMajorVersion()); - output.write(version.getMinorVersion()); - } - - public static void writeVersion(ProtocolVersion version, byte[] buf, int offset) - { - buf[offset] = (byte)version.getMajorVersion(); - buf[offset + 1] = (byte)version.getMinorVersion(); - } - - public static Vector getDefaultDSSSignatureAlgorithms() - { - return vectorOfOne(new SignatureAndHashAlgorithm(HashAlgorithm.sha1, SignatureAlgorithm.dsa)); - } - - public static Vector getDefaultECDSASignatureAlgorithms() - { - return vectorOfOne(new SignatureAndHashAlgorithm(HashAlgorithm.sha1, SignatureAlgorithm.ecdsa)); - } - - public static Vector getDefaultRSASignatureAlgorithms() - { - return vectorOfOne(new SignatureAndHashAlgorithm(HashAlgorithm.sha1, SignatureAlgorithm.rsa)); - } - - public static byte[] getExtensionData(Hashtable extensions, Integer extensionType) - { - return extensions == null ? null : (byte[])extensions.get(extensionType); - } - - public static boolean hasExpectedEmptyExtensionData(Hashtable extensions, Integer extensionType, - short alertDescription) throws IOException - { - byte[] extension_data = getExtensionData(extensions, extensionType); - if (extension_data == null) - { - return false; - } - if (extension_data.length != 0) - { - throw new TlsFatalAlert(alertDescription); - } - return true; - } - - public static TlsSession importSession(byte[] sessionID, SessionParameters sessionParameters) - { - return new TlsSessionImpl(sessionID, sessionParameters); - } - - public static boolean isSignatureAlgorithmsExtensionAllowed(ProtocolVersion clientVersion) - { - return ProtocolVersion.TLSv12.isEqualOrEarlierVersionOf(clientVersion.getEquivalentTLSVersion()); - } - - /** - * Add a 'signature_algorithms' extension to existing extensions. - * - * @param extensions A {@link Hashtable} to add the extension to. - * @param supportedSignatureAlgorithms {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. - * @throws IOException - */ - public static void addSignatureAlgorithmsExtension(Hashtable extensions, Vector supportedSignatureAlgorithms) - throws IOException - { - extensions.put(EXT_signature_algorithms, createSignatureAlgorithmsExtension(supportedSignatureAlgorithms)); - } - - /** - * Get a 'signature_algorithms' extension from extensions. - * - * @param extensions A {@link Hashtable} to get the extension from, if it is present. - * @return A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}, or null. - * @throws IOException - */ - public static Vector getSignatureAlgorithmsExtension(Hashtable extensions) - throws IOException - { - byte[] extensionData = getExtensionData(extensions, EXT_signature_algorithms); - return extensionData == null ? null : readSignatureAlgorithmsExtension(extensionData); - } - - /** - * Create a 'signature_algorithms' extension value. - * - * @param supportedSignatureAlgorithms A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. - * @return A byte array suitable for use as an extension value. - * @throws IOException - */ - public static byte[] createSignatureAlgorithmsExtension(Vector supportedSignatureAlgorithms) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - - // supported_signature_algorithms - encodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, false, buf); - - return buf.toByteArray(); - } - - /** - * Read 'signature_algorithms' extension data. - * - * @param extensionData The extension data. - * @return A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. - * @throws IOException - */ - public static Vector readSignatureAlgorithmsExtension(byte[] extensionData) - throws IOException - { - if (extensionData == null) - { - throw new IllegalArgumentException("'extensionData' cannot be null"); - } - - ByteArrayInputStream buf = new ByteArrayInputStream(extensionData); - - // supported_signature_algorithms - Vector supported_signature_algorithms = parseSupportedSignatureAlgorithms(false, buf); - - TlsProtocol.assertEmpty(buf); - - return supported_signature_algorithms; - } - - public static void encodeSupportedSignatureAlgorithms(Vector supportedSignatureAlgorithms, boolean allowAnonymous, - OutputStream output) throws IOException - { - if (supportedSignatureAlgorithms == null || supportedSignatureAlgorithms.size() < 1 - || supportedSignatureAlgorithms.size() >= (1 << 15)) - { - throw new IllegalArgumentException( - "'supportedSignatureAlgorithms' must have length from 1 to (2^15 - 1)"); - } - - // supported_signature_algorithms - int length = 2 * supportedSignatureAlgorithms.size(); - TlsUtils.checkUint16(length); - TlsUtils.writeUint16(length, output); - for (int i = 0; i < supportedSignatureAlgorithms.size(); ++i) - { - SignatureAndHashAlgorithm entry = (SignatureAndHashAlgorithm)supportedSignatureAlgorithms.elementAt(i); - if (!allowAnonymous && entry.getSignature() == SignatureAlgorithm.anonymous) - { - /* - * RFC 5246 7.4.1.4.1 The "anonymous" value is meaningless in this context but used - * in Section 7.4.3. It MUST NOT appear in this extension. - */ - throw new IllegalArgumentException( - "SignatureAlgorithm.anonymous MUST NOT appear in the signature_algorithms extension"); - } - entry.encode(output); - } - } - - public static Vector parseSupportedSignatureAlgorithms(boolean allowAnonymous, InputStream input) - throws IOException - { - // supported_signature_algorithms - int length = TlsUtils.readUint16(input); - if (length < 2 || (length & 1) != 0) - { - throw new TlsFatalAlert(AlertDescription.decode_error); - } - int count = length / 2; - Vector supportedSignatureAlgorithms = new Vector(count); - for (int i = 0; i < count; ++i) - { - SignatureAndHashAlgorithm entry = SignatureAndHashAlgorithm.parse(input); - if (!allowAnonymous && entry.getSignature() == SignatureAlgorithm.anonymous) - { - /* - * RFC 5246 7.4.1.4.1 The "anonymous" value is meaningless in this context but used - * in Section 7.4.3. It MUST NOT appear in this extension. - */ - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - supportedSignatureAlgorithms.addElement(entry); - } - return supportedSignatureAlgorithms; - } - - public static byte[] PRF(TlsContext context, byte[] secret, String asciiLabel, byte[] seed, int size) - { - ProtocolVersion version = context.getServerVersion(); - - if (version.isSSL()) - { - throw new IllegalStateException("No PRF available for SSLv3 session"); - } - - byte[] label = Strings.toByteArray(asciiLabel); - byte[] labelSeed = concat(label, seed); - - int prfAlgorithm = context.getSecurityParameters().getPrfAlgorithm(); - - if (prfAlgorithm == PRFAlgorithm.tls_prf_legacy) - { - return PRF_legacy(secret, label, labelSeed, size); - } - - Digest prfDigest = createPRFHash(prfAlgorithm); - byte[] buf = new byte[size]; - hmac_hash(prfDigest, secret, labelSeed, buf); - return buf; - } - - static byte[] PRF_legacy(byte[] secret, byte[] label, byte[] labelSeed, int size) - { - int s_half = (secret.length + 1) / 2; - byte[] s1 = new byte[s_half]; - byte[] s2 = new byte[s_half]; - System.arraycopy(secret, 0, s1, 0, s_half); - System.arraycopy(secret, secret.length - s_half, s2, 0, s_half); - - byte[] b1 = new byte[size]; - byte[] b2 = new byte[size]; - hmac_hash(new MD5Digest(), s1, labelSeed, b1); - hmac_hash(new SHA1Digest(), s2, labelSeed, b2); - for (int i = 0; i < size; i++) - { - b1[i] ^= b2[i]; - } - return b1; - } - - static byte[] concat(byte[] a, byte[] b) - { - byte[] c = new byte[a.length + b.length]; - System.arraycopy(a, 0, c, 0, a.length); - System.arraycopy(b, 0, c, a.length, b.length); - return c; - } - - static void hmac_hash(Digest digest, byte[] secret, byte[] seed, byte[] out) - { - HMac mac = new HMac(digest); - KeyParameter param = new KeyParameter(secret); - byte[] a = seed; - int size = digest.getDigestSize(); - int iterations = (out.length + size - 1) / size; - byte[] buf = new byte[mac.getMacSize()]; - byte[] buf2 = new byte[mac.getMacSize()]; - for (int i = 0; i < iterations; i++) - { - mac.init(param); - mac.update(a, 0, a.length); - mac.doFinal(buf, 0); - a = buf; - mac.init(param); - mac.update(a, 0, a.length); - mac.update(seed, 0, seed.length); - mac.doFinal(buf2, 0); - System.arraycopy(buf2, 0, out, (size * i), Math.min(size, out.length - (size * i))); - } - } - - static void validateKeyUsage(org.spongycastle.asn1.x509.Certificate c, int keyUsageBits) - throws IOException - { - Extensions exts = c.getTBSCertificate().getExtensions(); - if (exts != null) - { - KeyUsage ku = KeyUsage.fromExtensions(exts); - if (ku != null) - { - int bits = ku.getBytes()[0] & 0xff; - if ((bits & keyUsageBits) != keyUsageBits) - { - throw new TlsFatalAlert(AlertDescription.certificate_unknown); - } - } - } - } - - static byte[] calculateKeyBlock(TlsContext context, int size) - { - SecurityParameters securityParameters = context.getSecurityParameters(); - byte[] master_secret = securityParameters.getMasterSecret(); - byte[] seed = concat(securityParameters.getServerRandom(), - securityParameters.getClientRandom()); - - if (isSSL(context)) - { - return calculateKeyBlock_SSL(master_secret, seed, size); - } - - return PRF(context, master_secret, ExporterLabel.key_expansion, seed, size); - } - - static byte[] calculateKeyBlock_SSL(byte[] master_secret, byte[] random, int size) - { - Digest md5 = new MD5Digest(); - Digest sha1 = new SHA1Digest(); - int md5Size = md5.getDigestSize(); - byte[] shatmp = new byte[sha1.getDigestSize()]; - byte[] tmp = new byte[size + md5Size]; - - int i = 0, pos = 0; - while (pos < size) - { - byte[] ssl3Const = SSL3_CONST[i]; - - sha1.update(ssl3Const, 0, ssl3Const.length); - sha1.update(master_secret, 0, master_secret.length); - sha1.update(random, 0, random.length); - sha1.doFinal(shatmp, 0); - - md5.update(master_secret, 0, master_secret.length); - md5.update(shatmp, 0, shatmp.length); - md5.doFinal(tmp, pos); - - pos += md5Size; - ++i; - } - - byte rval[] = new byte[size]; - System.arraycopy(tmp, 0, rval, 0, size); - return rval; - } - - static byte[] calculateMasterSecret(TlsContext context, byte[] pre_master_secret) - { - SecurityParameters securityParameters = context.getSecurityParameters(); - byte[] seed = concat(securityParameters.getClientRandom(), securityParameters.getServerRandom()); - - if (isSSL(context)) - { - return calculateMasterSecret_SSL(pre_master_secret, seed); - } - - return PRF(context, pre_master_secret, ExporterLabel.master_secret, seed, 48); - } - - static byte[] calculateMasterSecret_SSL(byte[] pre_master_secret, byte[] random) - { - Digest md5 = new MD5Digest(); - Digest sha1 = new SHA1Digest(); - int md5Size = md5.getDigestSize(); - byte[] shatmp = new byte[sha1.getDigestSize()]; - - byte[] rval = new byte[md5Size * 3]; - int pos = 0; - - for (int i = 0; i < 3; ++i) - { - byte[] ssl3Const = SSL3_CONST[i]; - - sha1.update(ssl3Const, 0, ssl3Const.length); - sha1.update(pre_master_secret, 0, pre_master_secret.length); - sha1.update(random, 0, random.length); - sha1.doFinal(shatmp, 0); - - md5.update(pre_master_secret, 0, pre_master_secret.length); - md5.update(shatmp, 0, shatmp.length); - md5.doFinal(rval, pos); - - pos += md5Size; - } - - return rval; - } - - static byte[] calculateVerifyData(TlsContext context, String asciiLabel, byte[] handshakeHash) - { - if (isSSL(context)) - { - return handshakeHash; - } - - SecurityParameters securityParameters = context.getSecurityParameters(); - byte[] master_secret = securityParameters.getMasterSecret(); - int verify_data_length = securityParameters.getVerifyDataLength(); - - return PRF(context, master_secret, asciiLabel, handshakeHash, verify_data_length); - } - - public static final Digest createHash(short hashAlgorithm) - { - switch (hashAlgorithm) - { - case HashAlgorithm.md5: - return new MD5Digest(); - case HashAlgorithm.sha1: - return new SHA1Digest(); - case HashAlgorithm.sha224: - return new SHA224Digest(); - case HashAlgorithm.sha256: - return new SHA256Digest(); - case HashAlgorithm.sha384: - return new SHA384Digest(); - case HashAlgorithm.sha512: - return new SHA512Digest(); - default: - throw new IllegalArgumentException("unknown HashAlgorithm"); - } - } - - public static final Digest cloneHash(short hashAlgorithm, Digest hash) - { - switch (hashAlgorithm) - { - case HashAlgorithm.md5: - return new MD5Digest((MD5Digest)hash); - case HashAlgorithm.sha1: - return new SHA1Digest((SHA1Digest)hash); - case HashAlgorithm.sha224: - return new SHA224Digest((SHA224Digest)hash); - case HashAlgorithm.sha256: - return new SHA256Digest((SHA256Digest)hash); - case HashAlgorithm.sha384: - return new SHA384Digest((SHA384Digest)hash); - case HashAlgorithm.sha512: - return new SHA512Digest((SHA512Digest)hash); - default: - throw new IllegalArgumentException("unknown HashAlgorithm"); - } - } - - public static final Digest createPRFHash(int prfAlgorithm) - { - switch (prfAlgorithm) - { - case PRFAlgorithm.tls_prf_legacy: - return new CombinedHash(); - default: - return createHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); - } - } - - public static final Digest clonePRFHash(int prfAlgorithm, Digest hash) - { - switch (prfAlgorithm) - { - case PRFAlgorithm.tls_prf_legacy: - return new CombinedHash((CombinedHash)hash); - default: - return cloneHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm), hash); - } - } - - public static final short getHashAlgorithmForPRFAlgorithm(int prfAlgorithm) - { - switch (prfAlgorithm) - { - case PRFAlgorithm.tls_prf_legacy: - throw new IllegalArgumentException("legacy PRF not a valid algorithm"); - case PRFAlgorithm.tls_prf_sha256: - return HashAlgorithm.sha256; - case PRFAlgorithm.tls_prf_sha384: - return HashAlgorithm.sha384; - default: - throw new IllegalArgumentException("unknown PRFAlgorithm"); - } - } - - public static ASN1ObjectIdentifier getOIDForHashAlgorithm(short hashAlgorithm) - { - switch (hashAlgorithm) - { - case HashAlgorithm.md5: - return PKCSObjectIdentifiers.md5; - case HashAlgorithm.sha1: - return X509ObjectIdentifiers.id_SHA1; - case HashAlgorithm.sha224: - return NISTObjectIdentifiers.id_sha224; - case HashAlgorithm.sha256: - return NISTObjectIdentifiers.id_sha256; - case HashAlgorithm.sha384: - return NISTObjectIdentifiers.id_sha384; - case HashAlgorithm.sha512: - return NISTObjectIdentifiers.id_sha512; - default: - throw new IllegalArgumentException("unknown HashAlgorithm"); - } - } - - static short getClientCertificateType(Certificate clientCertificate, Certificate serverCertificate) - throws IOException - { - if (clientCertificate.isEmpty()) - { - return -1; - } - - org.spongycastle.asn1.x509.Certificate x509Cert = clientCertificate.getCertificateAt(0); - SubjectPublicKeyInfo keyInfo = x509Cert.getSubjectPublicKeyInfo(); - try - { - AsymmetricKeyParameter publicKey = PublicKeyFactory.createKey(keyInfo); - if (publicKey.isPrivate()) - { - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - /* - * TODO RFC 5246 7.4.6. The certificates MUST be signed using an acceptable hash/ - * signature algorithm pair, as described in Section 7.4.4. Note that this relaxes the - * constraints on certificate-signing algorithms found in prior versions of TLS. - */ - - /* - * RFC 5246 7.4.6. Client Certificate - */ - - /* - * RSA public key; the certificate MUST allow the key to be used for signing with the - * signature scheme and hash algorithm that will be employed in the certificate verify - * message. - */ - if (publicKey instanceof RSAKeyParameters) - { - validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - return ClientCertificateType.rsa_sign; - } - - /* - * DSA public key; the certificate MUST allow the key to be used for signing with the - * hash algorithm that will be employed in the certificate verify message. - */ - if (publicKey instanceof DSAPublicKeyParameters) - { - validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - return ClientCertificateType.dss_sign; - } - - /* - * ECDSA-capable public key; the certificate MUST allow the key to be used for signing - * with the hash algorithm that will be employed in the certificate verify message; the - * public key MUST use a curve and point format supported by the server. - */ - if (publicKey instanceof ECPublicKeyParameters) - { - validateKeyUsage(x509Cert, KeyUsage.digitalSignature); - // TODO Check the curve and point format - return ClientCertificateType.ecdsa_sign; - } - - // TODO Add support for ClientCertificateType.*_fixed_* - - } - catch (Exception e) - { - } - - throw new TlsFatalAlert(AlertDescription.unsupported_certificate); - } - - static void trackHashAlgorithms(TlsHandshakeHash handshakeHash, Vector supportedSignatureAlgorithms) - { - if (supportedSignatureAlgorithms != null) - { - for (int i = 0; i < supportedSignatureAlgorithms.size(); ++i) - { - SignatureAndHashAlgorithm signatureAndHashAlgorithm = (SignatureAndHashAlgorithm) - supportedSignatureAlgorithms.elementAt(i); - short hashAlgorithm = signatureAndHashAlgorithm.getHash(); - handshakeHash.trackHashAlgorithm(hashAlgorithm); - } - } - } - - public static boolean hasSigningCapability(short clientCertificateType) - { - switch (clientCertificateType) - { - case ClientCertificateType.dss_sign: - case ClientCertificateType.ecdsa_sign: - case ClientCertificateType.rsa_sign: - return true; - default: - return false; - } - } - - public static TlsSigner createTlsSigner(short clientCertificateType) - { - switch (clientCertificateType) - { - case ClientCertificateType.dss_sign: - return new TlsDSSSigner(); - case ClientCertificateType.ecdsa_sign: - return new TlsECDSASigner(); - case ClientCertificateType.rsa_sign: - return new TlsRSASigner(); - default: - throw new IllegalArgumentException("'clientCertificateType' is not a type with signing capability"); - } - } - - static final byte[] SSL_CLIENT = {0x43, 0x4C, 0x4E, 0x54}; - static final byte[] SSL_SERVER = {0x53, 0x52, 0x56, 0x52}; - - // SSL3 magic mix constants ("A", "BB", "CCC", ...) - static final byte[][] SSL3_CONST = genConst(); - - private static byte[][] genConst() - { - int n = 10; - byte[][] arr = new byte[n][]; - for (int i = 0; i < n; i++) - { - byte[] b = new byte[i + 1]; - Arrays.fill(b, (byte)('A' + i)); - arr[i] = b; - } - return arr; - } - - private static Vector vectorOfOne(Object obj) - { - Vector v = new Vector(1); - v.addElement(obj); - return v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UDPTransport.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UDPTransport.java deleted file mode 100644 index 63aca8520..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UDPTransport.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; - -public class UDPTransport - implements DatagramTransport -{ - protected final static int MIN_IP_OVERHEAD = 20; - protected final static int MAX_IP_OVERHEAD = MIN_IP_OVERHEAD + 64; - protected final static int UDP_OVERHEAD = 8; - - protected final DatagramSocket socket; - protected final int receiveLimit, sendLimit; - - public UDPTransport(DatagramSocket socket, int mtu) - throws IOException - { - if (!socket.isBound() || !socket.isConnected()) - { - throw new IllegalArgumentException("'socket' must be bound and connected"); - } - - this.socket = socket; - - // NOTE: As of JDK 1.6, can use NetworkInterface.getMTU - - this.receiveLimit = mtu - MIN_IP_OVERHEAD - UDP_OVERHEAD; - this.sendLimit = mtu - MAX_IP_OVERHEAD - UDP_OVERHEAD; - } - - public int getReceiveLimit() - { - return receiveLimit; - } - - public int getSendLimit() - { - // TODO[DTLS] Implement Path-MTU discovery? - return sendLimit; - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - socket.setSoTimeout(waitMillis); - DatagramPacket packet = new DatagramPacket(buf, off, len); - socket.receive(packet); - return packet.getLength(); - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (len > getSendLimit()) - { - /* - * RFC 4347 4.1.1. "If the application attempts to send a record larger than the MTU, - * the DTLS implementation SHOULD generate an error, thus avoiding sending a packet - * which will be fragmented." - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - DatagramPacket packet = new DatagramPacket(buf, off, len); - socket.send(packet); - } - - public void close() - throws IOException - { - socket.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/URLAndHash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/URLAndHash.java deleted file mode 100644 index 05407842e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/URLAndHash.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.util.Strings; - -/** - * RFC 6066 5. - */ -public class URLAndHash -{ - protected String url; - protected byte[] sha1Hash; - - public URLAndHash(String url, byte[] sha1Hash) - { - if (url == null || url.length() < 1 || url.length() >= (1 << 16)) - { - throw new IllegalArgumentException("'url' must have length from 1 to (2^16 - 1)"); - } - if (sha1Hash != null && sha1Hash.length != 20) - { - throw new IllegalArgumentException("'sha1Hash' must have length == 20, if present"); - } - - this.url = url; - this.sha1Hash = sha1Hash; - } - - public String getURL() - { - return url; - } - - public byte[] getSHA1Hash() - { - return sha1Hash; - } - - /** - * Encode this {@link URLAndHash} to an {@link OutputStream}. - * - * @param output the {@link OutputStream} to encode to. - * @throws IOException - */ - public void encode(OutputStream output) - throws IOException - { - byte[] urlEncoding = Strings.toByteArray(this.url); - TlsUtils.writeOpaque16(urlEncoding, output); - - if (this.sha1Hash == null) - { - TlsUtils.writeUint8(0, output); - } - else - { - TlsUtils.writeUint8(1, output); - output.write(this.sha1Hash); - } - } - - /** - * Parse a {@link URLAndHash} from an {@link InputStream}. - * - * @param context - * the {@link TlsContext} of the current connection. - * @param input - * the {@link InputStream} to parse from. - * @return a {@link URLAndHash} object. - * @throws IOException - */ - public static URLAndHash parse(TlsContext context, InputStream input) - throws IOException - { - byte[] urlEncoding = TlsUtils.readOpaque16(input); - if (urlEncoding.length < 1) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - String url = Strings.fromByteArray(urlEncoding); - - byte[] sha1Hash = null; - short padding = TlsUtils.readUint8(input); - switch (padding) - { - case 0: - if (TlsUtils.isTLSv12(context)) - { - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - break; - case 1: - sha1Hash = TlsUtils.readFully(20, input); - break; - default: - throw new TlsFatalAlert(AlertDescription.illegal_parameter); - } - - return new URLAndHash(url, sha1Hash); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UseSRTPData.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UseSRTPData.java deleted file mode 100644 index 4c1c33e9c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UseSRTPData.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 5764 4.1.1 - */ -public class UseSRTPData -{ - - private int[] protectionProfiles; - private byte[] mki; - - /** - * @param protectionProfiles see {@link SRTPProtectionProfile} for valid constants. - * @param mki valid lengths from 0 to 255. - */ - public UseSRTPData(int[] protectionProfiles, byte[] mki) - { - - if (protectionProfiles == null || protectionProfiles.length < 1 - || protectionProfiles.length >= (1 << 15)) - { - throw new IllegalArgumentException( - "'protectionProfiles' must have length from 1 to (2^15 - 1)"); - } - - if (mki == null) - { - mki = TlsUtils.EMPTY_BYTES; - } - else if (mki.length > 255) - { - throw new IllegalArgumentException("'mki' cannot be longer than 255 bytes"); - } - - this.protectionProfiles = protectionProfiles; - this.mki = mki; - } - - /** - * @return see {@link SRTPProtectionProfile} for valid constants. - */ - public int[] getProtectionProfiles() - { - return protectionProfiles; - } - - /** - * @return valid lengths from 0 to 255. - */ - public byte[] getMki() - { - return mki; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UserMappingType.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UserMappingType.java deleted file mode 100644 index f2fc21f20..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/tls/UserMappingType.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.crypto.tls; - -/** - * RFC 4681 - */ -public class UserMappingType -{ - /* - * RFC 4681 - */ - public static final short upn_domain_hint = 64; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/Pack.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/Pack.java deleted file mode 100644 index 7b12eb4a5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/Pack.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.crypto.util; - -public abstract class Pack -{ - public static int bigEndianToInt(byte[] bs, int off) - { - int n = bs[ off] << 24; - n |= (bs[++off] & 0xff) << 16; - n |= (bs[++off] & 0xff) << 8; - n |= (bs[++off] & 0xff); - return n; - } - - public static void bigEndianToInt(byte[] bs, int off, int[] ns) - { - for (int i = 0; i < ns.length; ++i) - { - ns[i] = bigEndianToInt(bs, off); - off += 4; - } - } - - public static byte[] intToBigEndian(int n) - { - byte[] bs = new byte[4]; - intToBigEndian(n, bs, 0); - return bs; - } - - public static void intToBigEndian(int n, byte[] bs, int off) - { - bs[ off] = (byte)(n >>> 24); - bs[++off] = (byte)(n >>> 16); - bs[++off] = (byte)(n >>> 8); - bs[++off] = (byte)(n ); - } - - public static byte[] intToBigEndian(int[] ns) - { - byte[] bs = new byte[4 * ns.length]; - intToBigEndian(ns, bs, 0); - return bs; - } - - public static void intToBigEndian(int[] ns, byte[] bs, int off) - { - for (int i = 0; i < ns.length; ++i) - { - intToBigEndian(ns[i], bs, off); - off += 4; - } - } - - public static long bigEndianToLong(byte[] bs, int off) - { - int hi = bigEndianToInt(bs, off); - int lo = bigEndianToInt(bs, off + 4); - return ((long)(hi & 0xffffffffL) << 32) | (long)(lo & 0xffffffffL); - } - - public static void bigEndianToLong(byte[] bs, int off, long[] ns) - { - for (int i = 0; i < ns.length; ++i) - { - ns[i] = bigEndianToLong(bs, off); - off += 8; - } - } - - public static byte[] longToBigEndian(long n) - { - byte[] bs = new byte[8]; - longToBigEndian(n, bs, 0); - return bs; - } - - public static void longToBigEndian(long n, byte[] bs, int off) - { - intToBigEndian((int)(n >>> 32), bs, off); - intToBigEndian((int)(n & 0xffffffffL), bs, off + 4); - } - - public static byte[] longToBigEndian(long[] ns) - { - byte[] bs = new byte[8 * ns.length]; - longToBigEndian(ns, bs, 0); - return bs; - } - - public static void longToBigEndian(long[] ns, byte[] bs, int off) - { - for (int i = 0; i < ns.length; ++i) - { - longToBigEndian(ns[i], bs, off); - off += 8; - } - } - - public static int littleEndianToInt(byte[] bs, int off) - { - int n = bs[ off] & 0xff; - n |= (bs[++off] & 0xff) << 8; - n |= (bs[++off] & 0xff) << 16; - n |= bs[++off] << 24; - return n; - } - - public static void littleEndianToInt(byte[] bs, int off, int[] ns) - { - for (int i = 0; i < ns.length; ++i) - { - ns[i] = littleEndianToInt(bs, off); - off += 4; - } - } - - public static byte[] intToLittleEndian(int n) - { - byte[] bs = new byte[4]; - intToLittleEndian(n, bs, 0); - return bs; - } - - public static void intToLittleEndian(int n, byte[] bs, int off) - { - bs[ off] = (byte)(n ); - bs[++off] = (byte)(n >>> 8); - bs[++off] = (byte)(n >>> 16); - bs[++off] = (byte)(n >>> 24); - } - - public static byte[] intToLittleEndian(int[] ns) - { - byte[] bs = new byte[4 * ns.length]; - intToLittleEndian(ns, bs, 0); - return bs; - } - - public static void intToLittleEndian(int[] ns, byte[] bs, int off) - { - for (int i = 0; i < ns.length; ++i) - { - intToLittleEndian(ns[i], bs, off); - off += 4; - } - } - - public static long littleEndianToLong(byte[] bs, int off) - { - int lo = littleEndianToInt(bs, off); - int hi = littleEndianToInt(bs, off + 4); - return ((long)(hi & 0xffffffffL) << 32) | (long)(lo & 0xffffffffL); - } - - public static void littleEndianToLong(byte[] bs, int off, long[] ns) - { - for (int i = 0; i < ns.length; ++i) - { - ns[i] = littleEndianToLong(bs, off); - off += 8; - } - } - - public static byte[] longToLittleEndian(long n) - { - byte[] bs = new byte[8]; - longToLittleEndian(n, bs, 0); - return bs; - } - - public static void longToLittleEndian(long n, byte[] bs, int off) - { - intToLittleEndian((int)(n & 0xffffffffL), bs, off); - intToLittleEndian((int)(n >>> 32), bs, off + 4); - } - - public static byte[] longToLittleEndian(long[] ns) - { - byte[] bs = new byte[8 * ns.length]; - longToLittleEndian(ns, bs, 0); - return bs; - } - - public static void longToLittleEndian(long[] ns, byte[] bs, int off) - { - for (int i = 0; i < ns.length; ++i) - { - longToLittleEndian(ns[i], bs, off); - off += 8; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyFactory.java deleted file mode 100644 index 750c6ac55..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyFactory.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.crypto.util; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.oiw.ElGamalParameter; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.pkcs.DHParameter; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.pkcs.RSAPrivateKey; -import org.spongycastle.asn1.sec.ECPrivateKey; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DSAParameter; -import org.spongycastle.asn1.x9.ECNamedCurveTable; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ElGamalParameters; -import org.spongycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; - -/** - * Factory for creating private key objects from PKCS8 PrivateKeyInfo objects. - */ -public class PrivateKeyFactory -{ - /** - * Create a private key parameter from a PKCS8 PrivateKeyInfo encoding. - * - * @param privateKeyInfoData the PrivateKeyInfo encoding - * @return a suitable private key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(byte[] privateKeyInfoData) throws IOException - { - return createKey(PrivateKeyInfo.getInstance(ASN1Primitive.fromByteArray(privateKeyInfoData))); - } - - /** - * Create a private key parameter from a PKCS8 PrivateKeyInfo encoding read from a - * stream. - * - * @param inStr the stream to read the PrivateKeyInfo encoding from - * @return a suitable private key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(InputStream inStr) throws IOException - { - return createKey(PrivateKeyInfo.getInstance(new ASN1InputStream(inStr).readObject())); - } - - /** - * Create a private key parameter from the passed in PKCS8 PrivateKeyInfo object. - * - * @param keyInfo the PrivateKeyInfo object containing the key material - * @return a suitable private key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(PrivateKeyInfo keyInfo) throws IOException - { - AlgorithmIdentifier algId = keyInfo.getPrivateKeyAlgorithm(); - - if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.rsaEncryption)) - { - RSAPrivateKey keyStructure = RSAPrivateKey.getInstance(keyInfo.parsePrivateKey()); - - return new RSAPrivateCrtKeyParameters(keyStructure.getModulus(), - keyStructure.getPublicExponent(), keyStructure.getPrivateExponent(), - keyStructure.getPrime1(), keyStructure.getPrime2(), keyStructure.getExponent1(), - keyStructure.getExponent2(), keyStructure.getCoefficient()); - } - // TODO? -// else if (algId.getObjectId().equals(X9ObjectIdentifiers.dhpublicnumber)) - else if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.dhKeyAgreement)) - { - DHParameter params = DHParameter.getInstance(algId.getParameters()); - ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); - - BigInteger lVal = params.getL(); - int l = lVal == null ? 0 : lVal.intValue(); - DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l); - - return new DHPrivateKeyParameters(derX.getValue(), dhParams); - } - else if (algId.getAlgorithm().equals(OIWObjectIdentifiers.elGamalAlgorithm)) - { - ElGamalParameter params = new ElGamalParameter((ASN1Sequence)algId.getParameters()); - ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); - - return new ElGamalPrivateKeyParameters(derX.getValue(), new ElGamalParameters( - params.getP(), params.getG())); - } - else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_dsa)) - { - ASN1Integer derX = (ASN1Integer)keyInfo.parsePrivateKey(); - ASN1Encodable de = algId.getParameters(); - - DSAParameters parameters = null; - if (de != null) - { - DSAParameter params = DSAParameter.getInstance(de.toASN1Primitive()); - parameters = new DSAParameters(params.getP(), params.getQ(), params.getG()); - } - - return new DSAPrivateKeyParameters(derX.getValue(), parameters); - } - else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_ecPublicKey)) - { - X962Parameters params = new X962Parameters((ASN1Primitive)algId.getParameters()); - - X9ECParameters x9; - if (params.isNamedCurve()) - { - ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(params.getParameters()); - x9 = ECNamedCurveTable.getByOID(oid); - } - else - { - x9 = X9ECParameters.getInstance(params.getParameters()); - } - - ECPrivateKey ec = ECPrivateKey.getInstance(keyInfo.parsePrivateKey()); - BigInteger d = ec.getKey(); - - // TODO We lose any named parameters here - - ECDomainParameters dParams = new ECDomainParameters( - x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed()); - - return new ECPrivateKeyParameters(d, dParams); - } - else - { - throw new RuntimeException("algorithm identifier in key not recognised"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyInfoFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyInfoFactory.java deleted file mode 100644 index 49cdcaa81..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PrivateKeyInfoFactory.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.crypto.util; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.pkcs.RSAPrivateKey; -import org.spongycastle.asn1.sec.ECPrivateKey; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DSAParameter; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; - -/** - * Factory to create ASN.1 private key info objects from lightweight private keys. - */ -public class PrivateKeyInfoFactory -{ - /** - * Create a PrivateKeyInfo representation of a private key. - * - * @param privateKey the SubjectPublicKeyInfo encoding - * @return the appropriate key parameter - * @throws java.io.IOException on an error encoding the key - */ - public static PrivateKeyInfo createPrivateKeyInfo(AsymmetricKeyParameter privateKey) throws IOException - { - if (privateKey instanceof RSAKeyParameters) - { - RSAPrivateCrtKeyParameters priv = (RSAPrivateCrtKeyParameters)privateKey; - - return new PrivateKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption, DERNull.INSTANCE), new RSAPrivateKey(priv.getModulus(), priv.getPublicExponent(), priv.getExponent(), priv.getP(), priv.getQ(), priv.getDP(), priv.getDQ(), priv.getQInv())); - } - else if (privateKey instanceof DSAPrivateKeyParameters) - { - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)privateKey; - DSAParameters params = priv.getParameters(); - - return new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_dsa, new DSAParameter(params.getP(), params.getQ(), params.getG())), new ASN1Integer(priv.getX())); - } - else if (privateKey instanceof ECPrivateKeyParameters) - { - ECPrivateKeyParameters priv = (ECPrivateKeyParameters)privateKey; - ECDomainParameters domainParams = priv.getParameters(); - ASN1Encodable params; - - // TODO: need to handle named curves - if (domainParams == null) - { - params = new X962Parameters(DERNull.INSTANCE); // Implicitly CA - } - else - { - X9ECParameters ecP = new X9ECParameters( - domainParams.getCurve(), - domainParams.getG(), - domainParams.getN(), - domainParams.getH(), - domainParams.getSeed()); - - params = new X962Parameters(ecP); - } - - return new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), new ECPrivateKey(priv.getD(), params)); - } - else - { - throw new IOException("key parameters not recognised."); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PublicKeyFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PublicKeyFactory.java deleted file mode 100644 index aaa4e412d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/PublicKeyFactory.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.spongycastle.crypto.util; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.oiw.ElGamalParameter; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.pkcs.DHParameter; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.RSAPublicKey; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DSAParameter; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.asn1.x9.DHDomainParameters; -import org.spongycastle.asn1.x9.DHPublicKey; -import org.spongycastle.asn1.x9.DHValidationParms; -import org.spongycastle.asn1.x9.ECNamedCurveTable; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ECPoint; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.DHValidationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ElGamalParameters; -import org.spongycastle.crypto.params.ElGamalPublicKeyParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; - -/** - * Factory to create asymmetric public key parameters for asymmetric ciphers from range of - * ASN.1 encoded SubjectPublicKeyInfo objects. - */ -public class PublicKeyFactory -{ - /** - * Create a public key from a SubjectPublicKeyInfo encoding - * - * @param keyInfoData the SubjectPublicKeyInfo encoding - * @return the appropriate key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(byte[] keyInfoData) throws IOException - { - return createKey(SubjectPublicKeyInfo.getInstance(ASN1Primitive.fromByteArray(keyInfoData))); - } - - /** - * Create a public key from a SubjectPublicKeyInfo encoding read from a stream - * - * @param inStr the stream to read the SubjectPublicKeyInfo encoding from - * @return the appropriate key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(InputStream inStr) throws IOException - { - return createKey(SubjectPublicKeyInfo.getInstance(new ASN1InputStream(inStr).readObject())); - } - - /** - * Create a public key from the passed in SubjectPublicKeyInfo - * - * @param keyInfo the SubjectPublicKeyInfo containing the key data - * @return the appropriate key parameter - * @throws IOException on an error decoding the key - */ - public static AsymmetricKeyParameter createKey(SubjectPublicKeyInfo keyInfo) throws IOException - { - AlgorithmIdentifier algId = keyInfo.getAlgorithm(); - - if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.rsaEncryption) - || algId.getAlgorithm().equals(X509ObjectIdentifiers.id_ea_rsa)) - { - RSAPublicKey pubKey = RSAPublicKey.getInstance(keyInfo.parsePublicKey()); - - return new RSAKeyParameters(false, pubKey.getModulus(), pubKey.getPublicExponent()); - } - else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.dhpublicnumber)) - { - DHPublicKey dhPublicKey = DHPublicKey.getInstance(keyInfo.parsePublicKey()); - - BigInteger y = dhPublicKey.getY().getValue(); - - DHDomainParameters dhParams = DHDomainParameters.getInstance(algId.getParameters()); - - BigInteger p = dhParams.getP().getValue(); - BigInteger g = dhParams.getG().getValue(); - BigInteger q = dhParams.getQ().getValue(); - - BigInteger j = null; - if (dhParams.getJ() != null) - { - j = dhParams.getJ().getValue(); - } - - DHValidationParameters validation = null; - DHValidationParms dhValidationParms = dhParams.getValidationParms(); - if (dhValidationParms != null) - { - byte[] seed = dhValidationParms.getSeed().getBytes(); - BigInteger pgenCounter = dhValidationParms.getPgenCounter().getValue(); - - // TODO Check pgenCounter size? - - validation = new DHValidationParameters(seed, pgenCounter.intValue()); - } - - return new DHPublicKeyParameters(y, new DHParameters(p, g, q, j, validation)); - } - else if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.dhKeyAgreement)) - { - DHParameter params = DHParameter.getInstance(algId.getParameters()); - ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey(); - - BigInteger lVal = params.getL(); - int l = lVal == null ? 0 : lVal.intValue(); - DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l); - - return new DHPublicKeyParameters(derY.getValue(), dhParams); - } - else if (algId.getAlgorithm().equals(OIWObjectIdentifiers.elGamalAlgorithm)) - { - ElGamalParameter params = new ElGamalParameter((ASN1Sequence)algId.getParameters()); - ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey(); - - return new ElGamalPublicKeyParameters(derY.getValue(), new ElGamalParameters( - params.getP(), params.getG())); - } - else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_dsa) - || algId.getAlgorithm().equals(OIWObjectIdentifiers.dsaWithSHA1)) - { - ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey(); - ASN1Encodable de = algId.getParameters(); - - DSAParameters parameters = null; - if (de != null) - { - DSAParameter params = DSAParameter.getInstance(de.toASN1Primitive()); - parameters = new DSAParameters(params.getP(), params.getQ(), params.getG()); - } - - return new DSAPublicKeyParameters(derY.getValue(), parameters); - } - else if (algId.getAlgorithm().equals(X9ObjectIdentifiers.id_ecPublicKey)) - { - X962Parameters params = X962Parameters.getInstance(algId.getParameters()); - - X9ECParameters x9; - if (params.isNamedCurve()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)params.getParameters(); - x9 = ECNamedCurveTable.getByOID(oid); - } - else - { - x9 = X9ECParameters.getInstance(params.getParameters()); - } - - ASN1OctetString key = new DEROctetString(keyInfo.getPublicKeyData().getBytes()); - X9ECPoint derQ = new X9ECPoint(x9.getCurve(), key); - - // TODO We lose any named parameters here - - ECDomainParameters dParams = new ECDomainParameters( - x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed()); - - return new ECPublicKeyParameters(derQ.getPoint(), dParams); - } - else - { - throw new RuntimeException("algorithm identifier in key not recognised"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/SubjectPublicKeyInfoFactory.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/SubjectPublicKeyInfoFactory.java deleted file mode 100644 index 131ba445f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/util/SubjectPublicKeyInfoFactory.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.crypto.util; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.RSAPublicKey; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ECPoint; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; - -/** - * Factory to create ASN.1 subject public key info objects from lightweight public keys. - */ -public class SubjectPublicKeyInfoFactory -{ - /** - * Create a SubjectPublicKeyInfo public key. - * - * @param publicKey the SubjectPublicKeyInfo encoding - * @return the appropriate key parameter - * @throws java.io.IOException on an error encoding the key - */ - public static SubjectPublicKeyInfo createSubjectPublicKeyInfo(AsymmetricKeyParameter publicKey) throws IOException - { - if (publicKey instanceof RSAKeyParameters) - { - RSAKeyParameters pub = (RSAKeyParameters)publicKey; - - return new SubjectPublicKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption, DERNull.INSTANCE), new RSAPublicKey(pub.getModulus(), pub.getExponent())); - } - else if (publicKey instanceof DSAPublicKeyParameters) - { - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)publicKey; - - return new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_dsa), new ASN1Integer(pub.getY())); - } - else if (publicKey instanceof ECPublicKeyParameters) - { - ECPublicKeyParameters pub = (ECPublicKeyParameters)publicKey; - ECDomainParameters domainParams = pub.getParameters(); - ASN1Encodable params; - - // TODO: need to handle named curves - if (domainParams == null) - { - params = new X962Parameters(DERNull.INSTANCE); // Implicitly CA - } - else - { - X9ECParameters ecP = new X9ECParameters( - domainParams.getCurve(), - domainParams.getG(), - domainParams.getN(), - domainParams.getH(), - domainParams.getSeed()); - - params = new X962Parameters(ecP); - } - - ASN1OctetString p = (ASN1OctetString)new X9ECPoint(pub.getQ()).toASN1Primitive(); - - return new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), p.getOctets()); - } - else - { - throw new IOException("key parameters not recognised."); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/ErrorBundle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/ErrorBundle.java deleted file mode 100644 index fc703e019..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/ErrorBundle.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.spongycastle.i18n; - -import java.io.UnsupportedEncodingException; -import java.util.Locale; -import java.util.TimeZone; - -public class ErrorBundle extends MessageBundle -{ - - /** - * summary entry key - */ - public static final String SUMMARY_ENTRY = "summary"; - - /** - * detail entry key - */ - public static final String DETAIL_ENTRY = "details"; - - /** - * Constructs a new ErrorBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public ErrorBundle(String resource, String id) throws NullPointerException - { - super(resource, id); - } - - /** - * Constructs a new ErrorBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public ErrorBundle(String resource, String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding); - } - - /** - * Constructs a new ErrorBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public ErrorBundle(String resource, String id, Object[] arguments) throws NullPointerException - { - super(resource, id, arguments); - } - - /** - * Constructs a new ErrorBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public ErrorBundle(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding, arguments); - } - - /** - * Returns the summary message in the given locale and timezone. - * @param loc the {@link Locale} - * @param timezone the {@link TimeZone} - * @return the summary message. - * @throws MissingEntryException if the message is not available - */ - public String getSummary(Locale loc, TimeZone timezone) throws MissingEntryException - { - return getEntry(SUMMARY_ENTRY,loc,timezone); - } - - /** - * Returns the summary message in the given locale and the default timezone. - * @param loc the {@link Locale} - * @return the summary message. - * @throws MissingEntryException if the message is not available - */ - public String getSummary(Locale loc) throws MissingEntryException - { - return getEntry(SUMMARY_ENTRY,loc,TimeZone.getDefault()); - } - - /** - * Returns the detail message in the given locale and timezone. - * @param loc the {@link Locale} - * @param timezone the {@link TimeZone} - * @return the detail message. - * @throws MissingEntryException if the message is not available - */ - public String getDetail(Locale loc, TimeZone timezone) throws MissingEntryException - { - return getEntry(DETAIL_ENTRY,loc,timezone); - } - - /** - * Returns the detail message in the given locale and the default timezone. - * @param loc the {@link Locale} - * @return the detail message. - * @throws MissingEntryException if the message is not available - */ - public String getDetail(Locale loc) throws MissingEntryException - { - return getEntry(DETAIL_ENTRY,loc,TimeZone.getDefault()); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocaleString.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocaleString.java deleted file mode 100644 index 26a85b8ab..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocaleString.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.i18n; - -import java.io.UnsupportedEncodingException; -import java.util.Locale; - -public class LocaleString extends LocalizedMessage -{ - - public LocaleString(String resource, String id) - { - super(resource, id); - } - - public LocaleString(String resource, String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding); - } - - public LocaleString(String resource, String id, String encoding, Object[] arguments) - throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding, arguments); - } - - public String getLocaleString(Locale locale) - { - return this.getEntry(null, locale, null); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedException.java deleted file mode 100644 index 4b07c2cb5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedException.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.spongycastle.i18n; - -import java.util.Locale; - -/** - * Base class for all Exceptions with localized messages. - */ -public class LocalizedException extends Exception -{ - - protected ErrorBundle message; - private Throwable cause; - - /** - * Constructs a new LocalizedException with the specified localized message. - * @param message the {@link ErrorBundle} that contains the message for the exception - */ - public LocalizedException(ErrorBundle message) - { - super(message.getText(Locale.getDefault())); - this.message = message; - } - - /** - * Constructs a new LocalizedException with the specified localized message and cause. - * @param message the {@link ErrorBundle} that contains the message for the exception - * @param throwable the cause - */ - public LocalizedException(ErrorBundle message, Throwable throwable) - { - super(message.getText(Locale.getDefault())); - this.message = message; - this.cause = throwable; - } - - /** - * Returns the localized error message of the exception. - * @return the localized error message as {@link ErrorBundle} - */ - public ErrorBundle getErrorMessage() - { - return message; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedMessage.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedMessage.java deleted file mode 100644 index e4e403282..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/LocalizedMessage.java +++ /dev/null @@ -1,476 +0,0 @@ -package org.spongycastle.i18n; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.TrustedInput; -import org.spongycastle.i18n.filter.UntrustedInput; -import org.spongycastle.i18n.filter.UntrustedUrlInput; - -import java.io.UnsupportedEncodingException; -import java.nio.charset.Charset; -import java.text.DateFormat; -import java.text.Format; -import java.text.MessageFormat; -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import java.util.TimeZone; - -public class LocalizedMessage -{ - - protected final String id; - protected final String resource; - - // ISO-8859-1 is the default encoding - public static final String DEFAULT_ENCODING = "ISO-8859-1"; - protected String encoding = DEFAULT_ENCODING; - - protected FilteredArguments arguments; - protected FilteredArguments extraArgs = null; - - protected Filter filter = null; - - protected ClassLoader loader = null; - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource,String id) throws NullPointerException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource,String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - if (!Charset.isSupported(encoding)) - { - throw new UnsupportedEncodingException("The encoding \"" + encoding + "\" is not supported."); - } - this.encoding = encoding; - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource, String id, Object[] arguments) throws NullPointerException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - if (!Charset.isSupported(encoding)) - { - throw new UnsupportedEncodingException("The encoding \"" + encoding + "\" is not supported."); - } - this.encoding = encoding; - } - - /** - * Reads the entry id + "." + key from the resource file and returns a - * formated message for the given Locale and TimeZone. - * @param key second part of the entry id - * @param loc the used {@link Locale} - * @param timezone the used {@link TimeZone} - * @return a Strng containing the localized message - * @throws MissingEntryException if the resource file is not available or the entry does not exist. - */ - public String getEntry(String key,Locale loc, TimeZone timezone) throws MissingEntryException - { - String entry = id; - if (key != null) - { - entry += "." + key; - } - - try - { - ResourceBundle bundle; - if (loader == null) - { - bundle = ResourceBundle.getBundle(resource,loc); - } - else - { - bundle = ResourceBundle.getBundle(resource, loc, loader); - } - String result = bundle.getString(entry); - if (!encoding.equals(DEFAULT_ENCODING)) - { - result = new String(result.getBytes(DEFAULT_ENCODING), encoding); - } - if (!arguments.isEmpty()) - { - result = formatWithTimeZone(result,arguments.getFilteredArgs(loc),loc,timezone); - } - result = addExtraArgs(result, loc); - return result; - } - catch (MissingResourceException mre) - { - throw new MissingEntryException("Can't find entry " + entry + " in resource file " + resource + ".", - resource, - entry, - loc, - loader != null ? loader : this.getClassLoader()); - } - catch (UnsupportedEncodingException use) - { - // should never occur - cause we already test this in the constructor - throw new RuntimeException(use); - } - } - - protected String formatWithTimeZone( - String template, - Object[] arguments, - Locale locale, - TimeZone timezone) - { - MessageFormat mf = new MessageFormat(" "); - mf.setLocale(locale); - mf.applyPattern(template); - if (!timezone.equals(TimeZone.getDefault())) - { - Format[] formats = mf.getFormats(); - for (int i = 0; i < formats.length; i++) - { - if (formats[i] instanceof DateFormat) - { - DateFormat temp = (DateFormat) formats[i]; - temp.setTimeZone(timezone); - mf.setFormat(i,temp); - } - } - } - return mf.format(arguments); - } - - protected String addExtraArgs(String msg, Locale locale) - { - if (extraArgs != null) - { - StringBuffer sb = new StringBuffer(msg); - Object[] filteredArgs = extraArgs.getFilteredArgs(locale); - for (int i = 0; i < filteredArgs.length; i++) - { - sb.append(filteredArgs[i]); - } - msg = sb.toString(); - } - return msg; - } - - /** - * Sets the {@link Filter} that is used to filter the arguments of this message - * @param filter the {@link Filter} to use. null to disable filtering. - */ - public void setFilter(Filter filter) - { - arguments.setFilter(filter); - if (extraArgs != null) - { - extraArgs.setFilter(filter); - } - this.filter = filter; - } - - /** - * Returns the current filter. - * @return the current filter - */ - public Filter getFilter() - { - return filter; - } - - /** - * Set the {@link ClassLoader} which loads the resource files. If it is set to null - * then the default {@link ClassLoader} is used. - * @param loader the {@link ClassLoader} which loads the resource files - */ - public void setClassLoader(ClassLoader loader) - { - this.loader = loader; - } - - /** - * Returns the {@link ClassLoader} which loads the resource files or null - * if the default ClassLoader is used. - * @return the {@link ClassLoader} which loads the resource files - */ - public ClassLoader getClassLoader() - { - return loader; - } - - /** - * Returns the id of the message in the resource bundle. - * @return the id of the message - */ - public String getId() - { - return id; - } - - /** - * Returns the name of the resource bundle for this message - * @return name of the resource file - */ - public String getResource() - { - return resource; - } - - /** - * Returns an Object[] containing the message arguments. - * @return the message arguments - */ - public Object[] getArguments() - { - return arguments.getArguments(); - } - - /** - * - * @param extraArg - */ - public void setExtraArgument(Object extraArg) - { - setExtraArguments(new Object[] {extraArg}); - } - - /** - * - * @param extraArgs - */ - public void setExtraArguments(Object[] extraArgs) - { - if (extraArgs != null) - { - this.extraArgs = new FilteredArguments(extraArgs); - this.extraArgs.setFilter(filter); - } - else - { - this.extraArgs = null; - } - } - - /** - * - * @return - */ - public Object[] getExtraArgs() - { - return (extraArgs == null) ? null : extraArgs.getArguments(); - } - - protected class FilteredArguments - { - protected static final int NO_FILTER = 0; - protected static final int FILTER = 1; - protected static final int FILTER_URL = 2; - - protected Filter filter = null; - - protected boolean[] isLocaleSpecific; - protected int[] argFilterType; - protected Object[] arguments; - protected Object[] unpackedArgs; - protected Object[] filteredArgs; - - FilteredArguments() - { - this(new Object[0]); - } - - FilteredArguments(Object[] args) - { - this.arguments = args; - this.unpackedArgs = new Object[args.length]; - this.filteredArgs = new Object[args.length]; - this.isLocaleSpecific = new boolean[args.length]; - this.argFilterType = new int[args.length]; - for (int i = 0; i < args.length; i++) - { - if (args[i] instanceof TrustedInput) - { - this.unpackedArgs[i] = ((TrustedInput) args[i]).getInput(); - argFilterType[i] = NO_FILTER; - } - else if (args[i] instanceof UntrustedInput) - { - this.unpackedArgs[i] = ((UntrustedInput) args[i]).getInput(); - if (args[i] instanceof UntrustedUrlInput) - { - argFilterType[i] = FILTER_URL; - } - else - { - argFilterType[i] = FILTER; - } - } - else - { - this.unpackedArgs[i] = args[i]; - argFilterType[i] = FILTER; - } - - // locale specific - this.isLocaleSpecific[i] = (this.unpackedArgs[i] instanceof LocaleString); - } - } - - public boolean isEmpty() - { - return unpackedArgs.length == 0; - } - - public Object[] getArguments() - { - return arguments; - } - - public Object[] getFilteredArgs(Locale locale) - { - Object[] result = new Object[unpackedArgs.length]; - for (int i = 0; i < unpackedArgs.length; i++) - { - Object arg; - if (filteredArgs[i] != null) - { - arg = filteredArgs[i]; - } - else - { - arg = unpackedArgs[i]; - if (isLocaleSpecific[i]) - { - // get locale - arg = ((LocaleString) arg).getLocaleString(locale); - arg = filter(argFilterType[i], arg); - } - else - { - arg = filter(argFilterType[i], arg); - filteredArgs[i] = arg; - } - } - result[i] = arg; - } - return result; - } - - private Object filter(int type, Object obj) - { - if (filter != null) - { - Object o = (null == obj) ? "null" : obj; - switch (type) - { - case NO_FILTER: - return o; - case FILTER: - return filter.doFilter(o.toString()); - case FILTER_URL: - return filter.doFilterUrl(o.toString()); - default: - return null; - } - } - else - { - return obj; - } - } - - public Filter getFilter() - { - return filter; - } - - public void setFilter(Filter filter) - { - if (filter != this.filter) - { - for (int i = 0; i < unpackedArgs.length; i++) - { - filteredArgs[i] = null; - } - } - this.filter = filter; - } - - } - - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("Resource: \"").append(resource); - sb.append("\" Id: \"").append(id).append("\""); - sb.append(" Arguments: ").append(arguments.getArguments().length).append(" normal"); - if (extraArgs != null && extraArgs.getArguments().length > 0) - { - sb.append(", ").append(extraArgs.getArguments().length).append(" extra"); - } - sb.append(" Encoding: ").append(encoding); - sb.append(" ClassLoader: ").append(loader); - return sb.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MessageBundle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MessageBundle.java deleted file mode 100644 index 407e9cabc..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MessageBundle.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.i18n; - -import java.io.UnsupportedEncodingException; -import java.util.Locale; -import java.util.TimeZone; - -public class MessageBundle extends TextBundle -{ - - /** - * title entry key - */ - public static final String TITLE_ENTRY = "title"; - - /** - * Constructs a new MessageBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public MessageBundle(String resource, String id) throws NullPointerException - { - super(resource, id); - } - - /** - * Constructs a new MessageBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public MessageBundle(String resource, String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding); - } - - /** - * Constructs a new MessageBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public MessageBundle(String resource, String id, Object[] arguments) throws NullPointerException - { - super(resource, id, arguments); - } - - /** - * Constructs a new MessageBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public MessageBundle(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding, arguments); - } - - /** - * Returns the title message in the given locale and timezone. - * @param loc the {@link Locale} - * @param timezone the {@link TimeZone} - * @return the title message. - * @throws MissingEntryException if the message is not available - */ - public String getTitle(Locale loc,TimeZone timezone) throws MissingEntryException - { - return getEntry(TITLE_ENTRY,loc,timezone); - } - - /** - * Returns the title message in the given locale and the default timezone. - * @param loc the {@link Locale} - * @return the title message. - * @throws MissingEntryException if the message is not available - */ - public String getTitle(Locale loc) throws MissingEntryException - { - return getEntry(TITLE_ENTRY,loc,TimeZone.getDefault()); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MissingEntryException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MissingEntryException.java deleted file mode 100644 index 5ee4df861..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/MissingEntryException.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.i18n; - -import java.net.URL; -import java.net.URLClassLoader; -import java.util.Locale; - -public class MissingEntryException extends RuntimeException -{ - - protected final String resource; - protected final String key; - protected final ClassLoader loader; - protected final Locale locale; - - private String debugMsg; - - public MissingEntryException(String message, String resource, String key, Locale locale, ClassLoader loader) - { - super(message); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public MissingEntryException(String message, Throwable cause, String resource, String key, Locale locale, ClassLoader loader) - { - super(message, cause); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public String getKey() - { - return key; - } - - public String getResource() - { - return resource; - } - - public ClassLoader getClassLoader() - { - return loader; - } - - public Locale getLocale() - { - return locale; - } - - public String getDebugMsg() - { - if (debugMsg == null) - { - debugMsg = "Can not find entry " + key + " in resource file " + resource + " for the locale " + locale + "."; - if (loader instanceof URLClassLoader) - { - URL[] urls = ((URLClassLoader) loader).getURLs(); - debugMsg += " The following entries in the classpath were searched: "; - for (int i = 0; i != urls.length; i++) - { - debugMsg += urls[i] + " "; - } - } - } - return debugMsg; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/TextBundle.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/TextBundle.java deleted file mode 100644 index 6432c3b4a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/TextBundle.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.i18n; - -import java.io.UnsupportedEncodingException; -import java.util.Locale; -import java.util.TimeZone; - -public class TextBundle extends LocalizedMessage -{ - - /** - * text entry key - */ - public static final String TEXT_ENTRY = "text"; - - /** - * Constructs a new TextBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public TextBundle(String resource, String id) throws NullPointerException - { - super(resource, id); - } - - /** - * Constructs a new TextBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public TextBundle(String resource, String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding); - } - - /** - * Constructs a new TextBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public TextBundle(String resource, String id, Object[] arguments) throws NullPointerException - { - super(resource, id, arguments); - } - - /** - * Constructs a new TextBundle using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public TextBundle(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - super(resource, id, encoding, arguments); - } - - /** - * Returns the text message in the given locale and timezone. - * @param loc the {@link Locale} - * @param timezone the {@link TimeZone} - * @return the text message. - * @throws MissingEntryException if the message is not available - */ - public String getText(Locale loc, TimeZone timezone) throws MissingEntryException - { - return getEntry(TEXT_ENTRY,loc,timezone); - } - - /** - * Returns the text message in the given locale and the defaut timezone. - * @param loc the {@link Locale} - * @return the text message. - * @throws MissingEntryException if the message is not available - */ - public String getText(Locale loc) throws MissingEntryException - { - return getEntry(TEXT_ENTRY,loc,TimeZone.getDefault()); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/Filter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/Filter.java deleted file mode 100644 index 7483241cb..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/Filter.java +++ /dev/null @@ -1,21 +0,0 @@ - -package org.spongycastle.i18n.filter; - -public interface Filter -{ - - /** - * Runs the filter on the input String and returns the filtered String - * @param input input String - * @return filtered String - */ - public String doFilter(String input); - - /** - * Runs the filter on the input url and returns the filtered String - * @param input input url String - * @return filtered String - */ - public String doFilterUrl(String input); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/HTMLFilter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/HTMLFilter.java deleted file mode 100644 index a6af7fe7c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/HTMLFilter.java +++ /dev/null @@ -1,68 +0,0 @@ - -package org.spongycastle.i18n.filter; - -/** - * HTML Filter - */ -public class HTMLFilter implements Filter -{ - - public String doFilter(String input) - { - StringBuffer buf = new StringBuffer(input); - int i = 0; - while (i < buf.length()) - { - char ch = buf.charAt(i); - switch (ch) - { - case '<': - buf.replace(i,i+1,"<"); - break; - case '>': - buf.replace(i,i+1,">"); - break; - case '(': - buf.replace(i,i+1,"("); - break; - case ')': - buf.replace(i,i+1,")"); - break; - case '#': - buf.replace(i,i+1,"#"); - break; - case '&': - buf.replace(i,i+1,"&"); - break; - case '\"': - buf.replace(i,i+1,"""); - break; - case '\'': - buf.replace(i,i+1,"'"); - break; - case '%': - buf.replace(i,i+1,"%"); - break; - case ';': - buf.replace(i,i+1,";"); - break; - case '+': - buf.replace(i,i+1,"+"); - break; - case '-': - buf.replace(i,i+1,"-"); - break; - default: - i -= 3; - } - i += 4; - } - return buf.toString(); - } - - public String doFilterUrl(String input) - { - return doFilter(input); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/SQLFilter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/SQLFilter.java deleted file mode 100644 index 73ec5efef..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/SQLFilter.java +++ /dev/null @@ -1,69 +0,0 @@ - -package org.spongycastle.i18n.filter; - -/** - * Filter for strings to store in a SQL table. - * - * escapes ' " = - / \ ; \r \n - */ -public class SQLFilter implements Filter -{ - - public String doFilter(String input) - { - StringBuffer buf = new StringBuffer(input); - int i = 0; - while (i < buf.length()) - { - char ch = buf.charAt(i); - switch (ch) - { - case '\'': - buf.replace(i,i+1,"\\\'"); - i += 1; - break; - case '\"': - buf.replace(i,i+1,"\\\""); - i += 1; - break; - case '=': - buf.replace(i,i+1,"\\="); - i += 1; - break; - case '-': - buf.replace(i,i+1,"\\-"); - i += 1; - break; - case '/': - buf.replace(i,i+1,"\\/"); - i += 1; - break; - case '\\': - buf.replace(i,i+1,"\\\\"); - i += 1; - break; - case ';': - buf.replace(i,i+1,"\\;"); - i += 1; - break; - case '\r': - buf.replace(i,i+1,"\\r"); - i += 1; - break; - case '\n': - buf.replace(i,i+1,"\\n"); - i += 1; - break; - default: - } - i++; - } - return buf.toString(); - } - - public String doFilterUrl(String input) - { - return doFilter(input); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/TrustedInput.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/TrustedInput.java deleted file mode 100644 index adbf0a3e1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/TrustedInput.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.i18n.filter; - -public class TrustedInput -{ - - protected Object input; - - public TrustedInput(Object input) - { - this.input = input; - } - - public Object getInput() - { - return input; - } - - public String toString() - { - return input.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedInput.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedInput.java deleted file mode 100644 index 79754a0b5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedInput.java +++ /dev/null @@ -1,44 +0,0 @@ - -package org.spongycastle.i18n.filter; - -/** - * Wrapper class to mark untrusted input. - */ -public class UntrustedInput -{ - - protected Object input; - - /** - * Construct a new UntrustedInput instance. - * @param input the untrusted input Object - */ - public UntrustedInput(Object input) - { - this.input = input; - } - - /** - * Returns the untrusted input as Object. - * @return the input as Object - */ - public Object getInput() - { - return input; - } - - /** - * Returns the untrusted input convertet to a String. - * @return the input as String - */ - public String getString() - { - return input.toString(); - } - - public String toString() - { - return input.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedUrlInput.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedUrlInput.java deleted file mode 100644 index 3a3cc39a8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/i18n/filter/UntrustedUrlInput.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.spongycastle.i18n.filter; - -/** - * - * Wrapper class to mark an untrusted Url - */ -public class UntrustedUrlInput extends UntrustedInput -{ - public UntrustedUrlInput(Object url) - { - super(url); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/AbstractECMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/AbstractECMultiplier.java deleted file mode 100644 index 93de81c9f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/AbstractECMultiplier.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public abstract class AbstractECMultiplier implements ECMultiplier -{ - public ECPoint multiply(ECPoint p, BigInteger k) - { - int sign = k.signum(); - if (sign == 0 || p.isInfinity()) - { - return p.getCurve().getInfinity(); - } - - ECPoint positive = multiplyPositive(p, k.abs()); - return sign > 0 ? positive : positive.negate(); - } - - protected abstract ECPoint multiplyPositive(ECPoint p, BigInteger k); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/DoubleAddMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/DoubleAddMultiplier.java deleted file mode 100644 index cc98a3a21..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/DoubleAddMultiplier.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class DoubleAddMultiplier extends AbstractECMultiplier -{ - /** - * Joye's double-add algorithm. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECPoint[] R = new ECPoint[]{ p.getCurve().getInfinity(), p }; - - int n = k.bitLength(); - for (int i = 0; i < n; ++i) - { - int b = k.testBit(i) ? 1 : 0; - int bp = 1 - b; - R[bp] = R[bp].twicePlus(R[b]); - } - - return R[0]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECAlgorithms.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECAlgorithms.java deleted file mode 100644 index a1e923e51..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECAlgorithms.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class ECAlgorithms -{ - public static ECPoint sumOfTwoMultiplies(ECPoint P, BigInteger a, - ECPoint Q, BigInteger b) - { - ECCurve cp = P.getCurve(); - Q = importPoint(cp, Q); - - // Point multiplication for Koblitz curves (using WTNAF) beats Shamir's trick - if (cp instanceof ECCurve.F2m) - { - ECCurve.F2m f2mCurve = (ECCurve.F2m)cp; - if (f2mCurve.isKoblitz()) - { - return P.multiply(a).add(Q.multiply(b)); - } - } - - return implShamirsTrick(P, a, Q, b); - } - - /* - * "Shamir's Trick", originally due to E. G. Straus - * (Addition chains of vectors. American Mathematical Monthly, - * 71(7):806-808, Aug./Sept. 1964) - *

    -     * Input: The points P, Q, scalar k = (km?, ... , k1, k0)
    -     * and scalar l = (lm?, ... , l1, l0).
    -     * Output: R = k * P + l * Q.
    -     * 1: Z <- P + Q
    -     * 2: R <- O
    -     * 3: for i from m-1 down to 0 do
    -     * 4:        R <- R + R        {point doubling}
    -     * 5:        if (ki = 1) and (li = 0) then R <- R + P end if
    -     * 6:        if (ki = 0) and (li = 1) then R <- R + Q end if
    -     * 7:        if (ki = 1) and (li = 1) then R <- R + Z end if
    -     * 8: end for
    -     * 9: return R
    -     * 
    - */ - public static ECPoint shamirsTrick(ECPoint P, BigInteger k, - ECPoint Q, BigInteger l) - { - ECCurve cp = P.getCurve(); - Q = importPoint(cp, Q); - - return implShamirsTrick(P, k, Q, l); - } - - public static ECPoint importPoint(ECCurve c, ECPoint p) - { - ECCurve cp = p.getCurve(); - if (!c.equals(cp)) - { - throw new IllegalArgumentException("Point must be on the same curve"); - } - return c.importPoint(p); - } - - static void implMontgomeryTrick(ECFieldElement[] zs, int off, int len) - { - /* - * Uses the "Montgomery Trick" to invert many field elements, with only a single actual - * field inversion. See e.g. the paper: - * "Fast Multi-scalar Multiplication Methods on Elliptic Curves with Precomputation Strategy Using Montgomery Trick" - * by Katsuyuki Okeya, Kouichi Sakurai. - */ - - ECFieldElement[] c = new ECFieldElement[len]; - c[0] = zs[off]; - - int i = 0; - while (++i < len) - { - c[i] = c[i - 1].multiply(zs[off + i]); - } - - ECFieldElement u = c[--i].invert(); - - while (i > 0) - { - int j = off + i--; - ECFieldElement tmp = zs[j]; - zs[j] = c[i].multiply(u); - u = u.multiply(tmp); - } - - zs[off] = u; - } - - static ECPoint implShamirsTrick(ECPoint P, BigInteger k, - ECPoint Q, BigInteger l) - { - ECCurve curve = P.getCurve(); - ECPoint infinity = curve.getInfinity(); - - // TODO conjugate co-Z addition (ZADDC) can return both of these - ECPoint PaddQ = P.add(Q); - ECPoint PsubQ = P.subtract(Q); - - ECPoint[] points = new ECPoint[]{ Q, PsubQ, P, PaddQ }; - curve.normalizeAll(points); - - ECPoint[] table = new ECPoint[] { - points[3].negate(), points[2].negate(), points[1].negate(), - points[0].negate(), infinity, points[0], - points[1], points[2], points[3] }; - - byte[] jsf = WNafUtil.generateJSF(k, l); - - ECPoint R = infinity; - - int i = jsf.length; - while (--i >= 0) - { - int jsfi = jsf[i]; - int kDigit = (jsfi >> 4), lDigit = ((jsfi << 28) >> 28); - - int index = 4 + (kDigit * 3) + lDigit; - R = R.twicePlus(table[index]); - } - - return R; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECConstants.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECConstants.java deleted file mode 100644 index c2b2a09a4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECConstants.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public interface ECConstants -{ - public static final BigInteger ZERO = BigInteger.valueOf(0); - public static final BigInteger ONE = BigInteger.valueOf(1); - public static final BigInteger TWO = BigInteger.valueOf(2); - public static final BigInteger THREE = BigInteger.valueOf(3); - public static final BigInteger FOUR = BigInteger.valueOf(4); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECCurve.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECCurve.java deleted file mode 100644 index 137681e3b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECCurve.java +++ /dev/null @@ -1,972 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; -import java.util.Random; - -import org.spongycastle.util.BigIntegers; - -/** - * base class for an elliptic curve - */ -public abstract class ECCurve -{ - public static final int COORD_AFFINE = 0; - public static final int COORD_HOMOGENEOUS = 1; - public static final int COORD_JACOBIAN = 2; - public static final int COORD_JACOBIAN_CHUDNOVSKY = 3; - public static final int COORD_JACOBIAN_MODIFIED = 4; - public static final int COORD_LAMBDA_AFFINE = 5; - public static final int COORD_LAMBDA_PROJECTIVE = 6; - public static final int COORD_SKEWED = 7; - - public static int[] getAllCoordinateSystems() - { - return new int[]{ COORD_AFFINE, COORD_HOMOGENEOUS, COORD_JACOBIAN, COORD_JACOBIAN_CHUDNOVSKY, - COORD_JACOBIAN_MODIFIED, COORD_LAMBDA_AFFINE, COORD_LAMBDA_PROJECTIVE, COORD_SKEWED }; - } - - public class Config - { - protected int coord; - protected ECMultiplier multiplier; - - Config(int coord, ECMultiplier multiplier) - { - this.coord = coord; - this.multiplier = multiplier; - } - - public Config setCoordinateSystem(int coord) - { - this.coord = coord; - return this; - } - - public Config setMultiplier(ECMultiplier multiplier) - { - this.multiplier = multiplier; - return this; - } - - public ECCurve create() - { - if (!supportsCoordinateSystem(coord)) - { - throw new IllegalStateException("unsupported coordinate system"); - } - - ECCurve c = cloneCurve(); - if (c == ECCurve.this) - { - throw new IllegalStateException("implementation returned current curve"); - } - - c.coord = coord; - c.multiplier = multiplier; - - return c; - } - } - - protected ECFieldElement a, b; - protected int coord = COORD_AFFINE; - protected ECMultiplier multiplier = null; - - public abstract int getFieldSize(); - - public abstract ECFieldElement fromBigInteger(BigInteger x); - - public Config configure() - { - return new Config(this.coord, this.multiplier); - } - - public ECPoint createPoint(BigInteger x, BigInteger y) - { - return createPoint(x, y, false); - } - - /** - * @deprecated per-point compression property will be removed, use {@link #createPoint(BigInteger, BigInteger)} - * and refer {@link ECPoint#getEncoded(boolean)} - */ - public ECPoint createPoint(BigInteger x, BigInteger y, boolean withCompression) - { - return createRawPoint(fromBigInteger(x), fromBigInteger(y), withCompression); - } - - protected abstract ECCurve cloneCurve(); - - protected abstract ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, boolean withCompression); - - protected ECMultiplier createDefaultMultiplier() - { - return new WNafL2RMultiplier(); - } - - public boolean supportsCoordinateSystem(int coord) - { - return coord == COORD_AFFINE; - } - - public PreCompInfo getPreCompInfo(ECPoint p) - { - checkPoint(p); - return p.preCompInfo; - } - - /** - * Sets the PreCompInfo for a point on this curve. Used by - * ECMultipliers to save the precomputation for this ECPoint for use - * by subsequent multiplication. - * - * @param point - * The ECPoint to store precomputations for. - * @param preCompInfo - * The values precomputed by the ECMultiplier. - */ - public void setPreCompInfo(ECPoint point, PreCompInfo preCompInfo) - { - checkPoint(point); - point.preCompInfo = preCompInfo; - } - - public ECPoint importPoint(ECPoint p) - { - if (this == p.getCurve()) - { - return p; - } - if (p.isInfinity()) - { - return getInfinity(); - } - - // TODO Default behaviour could be improved if the two curves have the same coordinate system by copying any Z coordinates. - p = p.normalize(); - - return createPoint(p.getXCoord().toBigInteger(), p.getYCoord().toBigInteger(), p.withCompression); - } - - /** - * Normalization ensures that any projective coordinate is 1, and therefore that the x, y - * coordinates reflect those of the equivalent point in an affine coordinate system. Where more - * than one point is to be normalized, this method will generally be more efficient than - * normalizing each point separately. - * - * @param points - * An array of points that will be updated in place with their normalized versions, - * where necessary - */ - public void normalizeAll(ECPoint[] points) - { - checkPoints(points); - - if (this.getCoordinateSystem() == ECCurve.COORD_AFFINE) - { - return; - } - - /* - * Figure out which of the points actually need to be normalized - */ - ECFieldElement[] zs = new ECFieldElement[points.length]; - int[] indices = new int[points.length]; - int count = 0; - for (int i = 0; i < points.length; ++i) - { - ECPoint p = points[i]; - if (null != p && !p.isNormalized()) - { - zs[count] = p.getZCoord(0); - indices[count++] = i; - } - } - - if (count == 0) - { - return; - } - - ECAlgorithms.implMontgomeryTrick(zs, 0, count); - - for (int j = 0; j < count; ++j) - { - int index = indices[j]; - points[index] = points[index].normalize(zs[j]); - } - } - - public abstract ECPoint getInfinity(); - - public ECFieldElement getA() - { - return a; - } - - public ECFieldElement getB() - { - return b; - } - - public int getCoordinateSystem() - { - return coord; - } - - protected abstract ECPoint decompressPoint(int yTilde, BigInteger X1); - - /** - * Sets the default ECMultiplier, unless already set. - */ - public ECMultiplier getMultiplier() - { - if (this.multiplier == null) - { - this.multiplier = createDefaultMultiplier(); - } - return this.multiplier; - } - - /** - * Decode a point on this curve from its ASN.1 encoding. The different - * encodings are taken account of, including point compression for - * Fp (X9.62 s 4.2.1 pg 17). - * @return The decoded point. - */ - public ECPoint decodePoint(byte[] encoded) - { - ECPoint p = null; - int expectedLength = (getFieldSize() + 7) / 8; - - switch (encoded[0]) - { - case 0x00: // infinity - { - if (encoded.length != 1) - { - throw new IllegalArgumentException("Incorrect length for infinity encoding"); - } - - p = getInfinity(); - break; - } - case 0x02: // compressed - case 0x03: // compressed - { - if (encoded.length != (expectedLength + 1)) - { - throw new IllegalArgumentException("Incorrect length for compressed encoding"); - } - - int yTilde = encoded[0] & 1; - BigInteger X = BigIntegers.fromUnsignedByteArray(encoded, 1, expectedLength); - - p = decompressPoint(yTilde, X); - break; - } - case 0x04: // uncompressed - case 0x06: // hybrid - case 0x07: // hybrid - { - if (encoded.length != (2 * expectedLength + 1)) - { - throw new IllegalArgumentException("Incorrect length for uncompressed/hybrid encoding"); - } - - BigInteger X = BigIntegers.fromUnsignedByteArray(encoded, 1, expectedLength); - BigInteger Y = BigIntegers.fromUnsignedByteArray(encoded, 1 + expectedLength, expectedLength); - - p = createPoint(X, Y); - break; - } - default: - throw new IllegalArgumentException("Invalid point encoding 0x" + Integer.toString(encoded[0], 16)); - } - - return p; - } - - protected void checkPoint(ECPoint point) - { - if (null == point || (this != point.getCurve())) - { - throw new IllegalArgumentException("'point' must be non-null and on this curve"); - } - } - - protected void checkPoints(ECPoint[] points) - { - if (points == null) - { - throw new IllegalArgumentException("'points' cannot be null"); - } - - for (int i = 0; i < points.length; ++i) - { - ECPoint point = points[i]; - if (null != point && this != point.getCurve()) - { - throw new IllegalArgumentException("'points' entries must be null or on this curve"); - } - } - } - - /** - * Elliptic curve over Fp - */ - public static class Fp extends ECCurve - { - private static final int FP_DEFAULT_COORDS = COORD_JACOBIAN_MODIFIED; - - BigInteger q, r; - ECPoint.Fp infinity; - - public Fp(BigInteger q, BigInteger a, BigInteger b) - { - this.q = q; - this.r = ECFieldElement.Fp.calculateResidue(q); - this.infinity = new ECPoint.Fp(this, null, null); - - this.a = fromBigInteger(a); - this.b = fromBigInteger(b); - this.coord = FP_DEFAULT_COORDS; - } - - protected Fp(BigInteger q, BigInteger r, ECFieldElement a, ECFieldElement b) - { - this.q = q; - this.r = r; - this.infinity = new ECPoint.Fp(this, null, null); - - this.a = a; - this.b = b; - this.coord = FP_DEFAULT_COORDS; - } - - protected ECCurve cloneCurve() - { - return new Fp(q, r, a, b); - } - - public boolean supportsCoordinateSystem(int coord) - { - switch (coord) - { - case COORD_AFFINE: - case COORD_HOMOGENEOUS: - case COORD_JACOBIAN: - case COORD_JACOBIAN_MODIFIED: - return true; - default: - return false; - } - } - - public BigInteger getQ() - { - return q; - } - - public int getFieldSize() - { - return q.bitLength(); - } - - public ECFieldElement fromBigInteger(BigInteger x) - { - return new ECFieldElement.Fp(this.q, this.r, x); - } - - protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, boolean withCompression) - { - return new ECPoint.Fp(this, x, y, withCompression); - } - - public ECPoint importPoint(ECPoint p) - { - if (this != p.getCurve() && this.getCoordinateSystem() == COORD_JACOBIAN && !p.isInfinity()) - { - switch (p.getCurve().getCoordinateSystem()) - { - case COORD_JACOBIAN: - case COORD_JACOBIAN_CHUDNOVSKY: - case COORD_JACOBIAN_MODIFIED: - return new ECPoint.Fp(this, - fromBigInteger(p.x.toBigInteger()), - fromBigInteger(p.y.toBigInteger()), - new ECFieldElement[]{ fromBigInteger(p.zs[0].toBigInteger()) }, - p.withCompression); - default: - break; - } - } - - return super.importPoint(p); - } - - protected ECPoint decompressPoint(int yTilde, BigInteger X1) - { - ECFieldElement x = fromBigInteger(X1); - ECFieldElement alpha = x.multiply(x.square().add(a)).add(b); - ECFieldElement beta = alpha.sqrt(); - - // - // if we can't find a sqrt we haven't got a point on the - // curve - run! - // - if (beta == null) - { - throw new RuntimeException("Invalid point compression"); - } - - BigInteger betaValue = beta.toBigInteger(); - if (betaValue.testBit(0) != (yTilde == 1)) - { - // Use the other root - beta = fromBigInteger(q.subtract(betaValue)); - } - - return new ECPoint.Fp(this, x, beta, true); - } - - public ECPoint getInfinity() - { - return infinity; - } - - public boolean equals( - Object anObject) - { - if (anObject == this) - { - return true; - } - - if (!(anObject instanceof ECCurve.Fp)) - { - return false; - } - - ECCurve.Fp other = (ECCurve.Fp) anObject; - - return this.q.equals(other.q) - && a.equals(other.a) && b.equals(other.b); - } - - public int hashCode() - { - return a.hashCode() ^ b.hashCode() ^ q.hashCode(); - } - } - - /** - * Elliptic curves over F2m. The Weierstrass equation is given by - * y2 + xy = x3 + ax2 + b. - */ - public static class F2m extends ECCurve - { - private static final int F2M_DEFAULT_COORDS = COORD_AFFINE; - - /** - * The exponent m of F2m. - */ - private int m; // can't be final - JDK 1.1 - - /** - * TPB: The integer k where xm + - * xk + 1 represents the reduction polynomial - * f(z).
    - * PPB: The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - private int k1; // can't be final - JDK 1.1 - - /** - * TPB: Always set to 0
    - * PPB: The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - private int k2; // can't be final - JDK 1.1 - - /** - * TPB: Always set to 0
    - * PPB: The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - private int k3; // can't be final - JDK 1.1 - - /** - * The order of the base point of the curve. - */ - private BigInteger n; // can't be final - JDK 1.1 - - /** - * The cofactor of the curve. - */ - private BigInteger h; // can't be final - JDK 1.1 - - /** - * The point at infinity on this curve. - */ - private ECPoint.F2m infinity; // can't be final - JDK 1.1 - - /** - * The parameter μ of the elliptic curve if this is - * a Koblitz curve. - */ - private byte mu = 0; - - /** - * The auxiliary values s0 and - * s1 used for partial modular reduction for - * Koblitz curves. - */ - private BigInteger[] si = null; - - /** - * Constructor for Trinomial Polynomial Basis (TPB). - * @param m The exponent m of - * F2m. - * @param k The integer k where xm + - * xk + 1 represents the reduction - * polynomial f(z). - * @param a The coefficient a in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param b The coefficient b in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - */ - public F2m( - int m, - int k, - BigInteger a, - BigInteger b) - { - this(m, k, 0, 0, a, b, null, null); - } - - /** - * Constructor for Trinomial Polynomial Basis (TPB). - * @param m The exponent m of - * F2m. - * @param k The integer k where xm + - * xk + 1 represents the reduction - * polynomial f(z). - * @param a The coefficient a in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param b The coefficient b in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param n The order of the main subgroup of the elliptic curve. - * @param h The cofactor of the elliptic curve, i.e. - * #Ea(F2m) = h * n. - */ - public F2m( - int m, - int k, - BigInteger a, - BigInteger b, - BigInteger n, - BigInteger h) - { - this(m, k, 0, 0, a, b, n, h); - } - - /** - * Constructor for Pentanomial Polynomial Basis (PPB). - * @param m The exponent m of - * F2m. - * @param k1 The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k2 The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k3 The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param a The coefficient a in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param b The coefficient b in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - */ - public F2m( - int m, - int k1, - int k2, - int k3, - BigInteger a, - BigInteger b) - { - this(m, k1, k2, k3, a, b, null, null); - } - - /** - * Constructor for Pentanomial Polynomial Basis (PPB). - * @param m The exponent m of - * F2m. - * @param k1 The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k2 The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k3 The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param a The coefficient a in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param b The coefficient b in the Weierstrass equation - * for non-supersingular elliptic curves over - * F2m. - * @param n The order of the main subgroup of the elliptic curve. - * @param h The cofactor of the elliptic curve, i.e. - * #Ea(F2m) = h * n. - */ - public F2m( - int m, - int k1, - int k2, - int k3, - BigInteger a, - BigInteger b, - BigInteger n, - BigInteger h) - { - this.m = m; - this.k1 = k1; - this.k2 = k2; - this.k3 = k3; - this.n = n; - this.h = h; - - if (k1 == 0) - { - throw new IllegalArgumentException("k1 must be > 0"); - } - - if (k2 == 0) - { - if (k3 != 0) - { - throw new IllegalArgumentException("k3 must be 0 if k2 == 0"); - } - } - else - { - if (k2 <= k1) - { - throw new IllegalArgumentException("k2 must be > k1"); - } - - if (k3 <= k2) - { - throw new IllegalArgumentException("k3 must be > k2"); - } - } - - this.infinity = new ECPoint.F2m(this, null, null); - this.a = fromBigInteger(a); - this.b = fromBigInteger(b); - this.coord = F2M_DEFAULT_COORDS; - } - - protected F2m(int m, int k1, int k2, int k3, ECFieldElement a, ECFieldElement b, BigInteger n, BigInteger h) - { - this.m = m; - this.k1 = k1; - this.k2 = k2; - this.k3 = k3; - this.n = n; - this.h = h; - - this.infinity = new ECPoint.F2m(this, null, null); - this.a = a; - this.b = b; - this.coord = F2M_DEFAULT_COORDS; - } - - protected ECCurve cloneCurve() - { - return new F2m(m, k1, k2, k3, a, b, n, h); - } - - public boolean supportsCoordinateSystem(int coord) - { - switch (coord) - { - case COORD_AFFINE: - case COORD_HOMOGENEOUS: - case COORD_LAMBDA_PROJECTIVE: - return true; - default: - return false; - } - } - - protected ECMultiplier createDefaultMultiplier() - { - if (isKoblitz()) - { - return new WTauNafMultiplier(); - } - - return super.createDefaultMultiplier(); - } - - public int getFieldSize() - { - return m; - } - - public ECFieldElement fromBigInteger(BigInteger x) - { - return new ECFieldElement.F2m(this.m, this.k1, this.k2, this.k3, x); - } - - public ECPoint createPoint(BigInteger x, BigInteger y, boolean withCompression) - { - ECFieldElement X = fromBigInteger(x), Y = fromBigInteger(y); - - switch (this.getCoordinateSystem()) - { - case COORD_LAMBDA_AFFINE: - case COORD_LAMBDA_PROJECTIVE: - { - if (!X.isZero()) - { - // Y becomes Lambda (X + Y/X) here - Y = Y.divide(X).add(X); - } - break; - } - default: - { - break; - } - } - - return createRawPoint(X, Y, withCompression); - } - - protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, boolean withCompression) - { - return new ECPoint.F2m(this, x, y, withCompression); - } - - public ECPoint getInfinity() - { - return infinity; - } - - /** - * Returns true if this is a Koblitz curve (ABC curve). - * @return true if this is a Koblitz curve (ABC curve), false otherwise - */ - public boolean isKoblitz() - { - return n != null && h != null && a.bitLength() <= 1 && b.bitLength() == 1; - } - - /** - * Returns the parameter μ of the elliptic curve. - * @return μ of the elliptic curve. - * @throws IllegalArgumentException if the given ECCurve is not a - * Koblitz curve. - */ - synchronized byte getMu() - { - if (mu == 0) - { - mu = Tnaf.getMu(this); - } - return mu; - } - - /** - * @return the auxiliary values s0 and - * s1 used for partial modular reduction for - * Koblitz curves. - */ - synchronized BigInteger[] getSi() - { - if (si == null) - { - si = Tnaf.getSi(this); - } - return si; - } - - /** - * Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2). - * - * @param yTilde - * ~yp, an indication bit for the decompression of yp. - * @param X1 - * The field element xp. - * @return the decompressed point. - */ - protected ECPoint decompressPoint(int yTilde, BigInteger X1) - { - ECFieldElement xp = fromBigInteger(X1); - ECFieldElement yp = null; - if (xp.isZero()) - { - yp = (ECFieldElement.F2m)b; - for (int i = 0; i < m - 1; i++) - { - yp = yp.square(); - } - } - else - { - ECFieldElement beta = xp.add(a).add(b.multiply(xp.square().invert())); - ECFieldElement z = solveQuadraticEquation(beta); - if (z == null) - { - throw new IllegalArgumentException("Invalid point compression"); - } - if (z.testBitZero() != (yTilde == 1)) - { - z = z.addOne(); - } - - yp = xp.multiply(z); - - switch (this.getCoordinateSystem()) - { - case COORD_LAMBDA_AFFINE: - case COORD_LAMBDA_PROJECTIVE: - { - yp = yp.divide(xp).add(xp); - break; - } - default: - { - break; - } - } - } - - return new ECPoint.F2m(this, xp, yp, true); - } - - /** - * Solves a quadratic equation z2 + z = beta(X9.62 - * D.1.6) The other solution is z + 1. - * - * @param beta - * The value to solve the quadratic equation for. - * @return the solution for z2 + z = beta or - * null if no solution exists. - */ - private ECFieldElement solveQuadraticEquation(ECFieldElement beta) - { - if (beta.isZero()) - { - return beta; - } - - ECFieldElement zeroElement = fromBigInteger(ECConstants.ZERO); - - ECFieldElement z = null; - ECFieldElement gamma = null; - - Random rand = new Random(); - do - { - ECFieldElement t = fromBigInteger(new BigInteger(m, rand)); - z = zeroElement; - ECFieldElement w = beta; - for (int i = 1; i <= m - 1; i++) - { - ECFieldElement w2 = w.square(); - z = z.square().add(w2.multiply(t)); - w = w2.add(beta); - } - if (!w.isZero()) - { - return null; - } - gamma = z.square().add(z); - } - while (gamma.isZero()); - - return z; - } - - public boolean equals( - Object anObject) - { - if (anObject == this) - { - return true; - } - - if (!(anObject instanceof ECCurve.F2m)) - { - return false; - } - - ECCurve.F2m other = (ECCurve.F2m)anObject; - - return (this.m == other.m) && (this.k1 == other.k1) - && (this.k2 == other.k2) && (this.k3 == other.k3) - && a.equals(other.a) && b.equals(other.b); - } - - public int hashCode() - { - return this.a.hashCode() ^ this.b.hashCode() ^ m ^ k1 ^ k2 ^ k3; - } - - public int getM() - { - return m; - } - - /** - * Return true if curve uses a Trinomial basis. - * - * @return true if curve Trinomial, false otherwise. - */ - public boolean isTrinomial() - { - return k2 == 0 && k3 == 0; - } - - public int getK1() - { - return k1; - } - - public int getK2() - { - return k2; - } - - public int getK3() - { - return k3; - } - - public BigInteger getN() - { - return n; - } - - public BigInteger getH() - { - return h; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECFieldElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECFieldElement.java deleted file mode 100644 index d72d50782..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECFieldElement.java +++ /dev/null @@ -1,1305 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; -import java.util.Random; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; - -public abstract class ECFieldElement - implements ECConstants -{ - public abstract BigInteger toBigInteger(); - public abstract String getFieldName(); - public abstract int getFieldSize(); - public abstract ECFieldElement add(ECFieldElement b); - public abstract ECFieldElement addOne(); - public abstract ECFieldElement subtract(ECFieldElement b); - public abstract ECFieldElement multiply(ECFieldElement b); - public abstract ECFieldElement divide(ECFieldElement b); - public abstract ECFieldElement negate(); - public abstract ECFieldElement square(); - public abstract ECFieldElement invert(); - public abstract ECFieldElement sqrt(); - - public int bitLength() - { - return toBigInteger().bitLength(); - } - - public boolean isZero() - { - return 0 == toBigInteger().signum(); - } - - public boolean testBitZero() - { - return toBigInteger().testBit(0); - } - - public String toString() - { - return this.toBigInteger().toString(16); - } - - public byte[] getEncoded() - { - return BigIntegers.asUnsignedByteArray((getFieldSize() + 7) / 8, toBigInteger()); - } - - public static class Fp extends ECFieldElement - { - BigInteger q, r, x; - -// static int[] calculateNaf(BigInteger p) -// { -// int[] naf = WNafUtil.generateCompactNaf(p); -// -// int bit = 0; -// for (int i = 0; i < naf.length; ++i) -// { -// int ni = naf[i]; -// int digit = ni >> 16, zeroes = ni & 0xFFFF; -// -// bit += zeroes; -// naf[i] = digit < 0 ? ~bit : bit; -// ++bit; -// } -// -// int last = naf.length - 1; -// if (last > 0 && last <= 16) -// { -// int top = naf[last], top2 = naf[last - 1]; -// if (top2 < 0) -// { -// top2 = ~top2; -// } -// if (top - top2 >= 64) -// { -// return naf; -// } -// } -// -// return null; -// } - - static BigInteger calculateResidue(BigInteger p) - { - int bitLength = p.bitLength(); - if (bitLength > 128) - { - BigInteger firstWord = p.shiftRight(bitLength - 64); - if (firstWord.longValue() == -1L) - { - return ONE.shiftLeft(bitLength).subtract(p); - } - } - return null; - } - - /** - * @deprecated Use ECCurve.fromBigInteger to construct field elements - */ - public Fp(BigInteger q, BigInteger x) - { - this(q, calculateResidue(q), x); - } - - Fp(BigInteger q, BigInteger r, BigInteger x) - { - if (x == null || x.signum() < 0 || x.compareTo(q) >= 0) - { - throw new IllegalArgumentException("x value invalid in Fp field element"); - } - - this.q = q; - this.r = r; - this.x = x; - } - - public BigInteger toBigInteger() - { - return x; - } - - /** - * return the field name for this field. - * - * @return the string "Fp". - */ - public String getFieldName() - { - return "Fp"; - } - - public int getFieldSize() - { - return q.bitLength(); - } - - public BigInteger getQ() - { - return q; - } - - public ECFieldElement add(ECFieldElement b) - { - return new Fp(q, r, modAdd(x, b.toBigInteger())); - } - - public ECFieldElement addOne() - { - BigInteger x2 = x.add(ECConstants.ONE); - if (x2.compareTo(q) == 0) - { - x2 = ECConstants.ZERO; - } - return new Fp(q, r, x2); - } - - public ECFieldElement subtract(ECFieldElement b) - { - BigInteger x2 = b.toBigInteger(); - BigInteger x3 = x.subtract(x2); - if (x3.signum() < 0) - { - x3 = x3.add(q); - } - return new Fp(q, r, x3); - } - - public ECFieldElement multiply(ECFieldElement b) - { - return new Fp(q, r, modMult(x, b.toBigInteger())); - } - - public ECFieldElement divide(ECFieldElement b) - { - return new Fp(q, modMult(x, b.toBigInteger().modInverse(q))); - } - - public ECFieldElement negate() - { - BigInteger x2; - if (x.signum() == 0) - { - x2 = x; - } - else if (ONE.equals(r)) - { - x2 = q.xor(x); - } - else - { - x2 = q.subtract(x); - } - return new Fp(q, r, x2); - } - - public ECFieldElement square() - { - return new Fp(q, r, modMult(x, x)); - } - - public ECFieldElement invert() - { - // TODO Modular inversion can be faster for a (Generalized) Mersenne Prime. - return new Fp(q, r, x.modInverse(q)); - } - - // D.1.4 91 - /** - * return a sqrt root - the routine verifies that the calculation - * returns the right value - if none exists it returns null. - */ - public ECFieldElement sqrt() - { - if (!q.testBit(0)) - { - throw new RuntimeException("not done yet"); - } - - // note: even though this class implements ECConstants don't be tempted to - // remove the explicit declaration, some J2ME environments don't cope. - // p mod 4 == 3 - if (q.testBit(1)) - { - // z = g^(u+1) + p, p = 4u + 3 - ECFieldElement z = new Fp(q, r, x.modPow(q.shiftRight(2).add(ECConstants.ONE), q)); - - return z.square().equals(this) ? z : null; - } - - // p mod 4 == 1 - BigInteger qMinusOne = q.subtract(ECConstants.ONE); - - BigInteger legendreExponent = qMinusOne.shiftRight(1); - if (!(x.modPow(legendreExponent, q).equals(ECConstants.ONE))) - { - return null; - } - - BigInteger u = qMinusOne.shiftRight(2); - BigInteger k = u.shiftLeft(1).add(ECConstants.ONE); - - BigInteger Q = this.x; - BigInteger fourQ = modDouble(modDouble(Q)); - - BigInteger U, V; - Random rand = new Random(); - do - { - BigInteger P; - do - { - P = new BigInteger(q.bitLength(), rand); - } - while (P.compareTo(q) >= 0 - || !(P.multiply(P).subtract(fourQ).modPow(legendreExponent, q).equals(qMinusOne))); - - BigInteger[] result = lucasSequence(P, Q, k); - U = result[0]; - V = result[1]; - - if (modMult(V, V).equals(fourQ)) - { - // Integer division by 2, mod q - if (V.testBit(0)) - { - V = V.add(q); - } - - V = V.shiftRight(1); - - //assert V.multiply(V).mod(q).equals(x); - - return new ECFieldElement.Fp(q, r, V); - } - } - while (U.equals(ECConstants.ONE) || U.equals(qMinusOne)); - - return null; - -// BigInteger qMinusOne = q.subtract(ECConstants.ONE); -// BigInteger legendreExponent = qMinusOne.shiftRight(1); //divide(ECConstants.TWO); -// if (!(x.modPow(legendreExponent, q).equals(ECConstants.ONE))) -// { -// return null; -// } -// -// Random rand = new Random(); -// BigInteger fourX = x.shiftLeft(2); -// -// BigInteger r; -// do -// { -// r = new BigInteger(q.bitLength(), rand); -// } -// while (r.compareTo(q) >= 0 -// || !(r.multiply(r).subtract(fourX).modPow(legendreExponent, q).equals(qMinusOne))); -// -// BigInteger n1 = qMinusOne.shiftRight(2); //.divide(ECConstants.FOUR); -// BigInteger n2 = n1.add(ECConstants.ONE); //q.add(ECConstants.THREE).divide(ECConstants.FOUR); -// -// BigInteger wOne = WOne(r, x, q); -// BigInteger wSum = W(n1, wOne, q).add(W(n2, wOne, q)).mod(q); -// BigInteger twoR = r.shiftLeft(1); //ECConstants.TWO.multiply(r); -// -// BigInteger root = twoR.modPow(q.subtract(ECConstants.TWO), q) -// .multiply(x).mod(q) -// .multiply(wSum).mod(q); -// -// return new Fp(q, root); - } - -// private static BigInteger W(BigInteger n, BigInteger wOne, BigInteger p) -// { -// if (n.equals(ECConstants.ONE)) -// { -// return wOne; -// } -// boolean isEven = !n.testBit(0); -// n = n.shiftRight(1);//divide(ECConstants.TWO); -// if (isEven) -// { -// BigInteger w = W(n, wOne, p); -// return w.multiply(w).subtract(ECConstants.TWO).mod(p); -// } -// BigInteger w1 = W(n.add(ECConstants.ONE), wOne, p); -// BigInteger w2 = W(n, wOne, p); -// return w1.multiply(w2).subtract(wOne).mod(p); -// } -// -// private BigInteger WOne(BigInteger r, BigInteger x, BigInteger p) -// { -// return r.multiply(r).multiply(x.modPow(q.subtract(ECConstants.TWO), q)).subtract(ECConstants.TWO).mod(p); -// } - - private BigInteger[] lucasSequence( - BigInteger P, - BigInteger Q, - BigInteger k) - { - int n = k.bitLength(); - int s = k.getLowestSetBit(); - - BigInteger Uh = ECConstants.ONE; - BigInteger Vl = ECConstants.TWO; - BigInteger Vh = P; - BigInteger Ql = ECConstants.ONE; - BigInteger Qh = ECConstants.ONE; - - for (int j = n - 1; j >= s + 1; --j) - { - Ql = modMult(Ql, Qh); - - if (k.testBit(j)) - { - Qh = modMult(Ql, Q); - Uh = modMult(Uh, Vh); - Vl = modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); - Vh = modReduce(Vh.multiply(Vh).subtract(Qh.shiftLeft(1))); - } - else - { - Qh = Ql; - Uh = modReduce(Uh.multiply(Vl).subtract(Ql)); - Vh = modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); - Vl = modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))); - } - } - - Ql = modMult(Ql, Qh); - Qh = modMult(Ql, Q); - Uh = modReduce(Uh.multiply(Vl).subtract(Ql)); - Vl = modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); - Ql = modMult(Ql, Qh); - - for (int j = 1; j <= s; ++j) - { - Uh = modMult(Uh, Vl); - Vl = modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))); - Ql = modMult(Ql, Ql); - } - - return new BigInteger[]{ Uh, Vl }; - } - - protected BigInteger modAdd(BigInteger x1, BigInteger x2) - { - BigInteger x3 = x1.add(x2); - if (x3.compareTo(q) >= 0) - { - x3 = x3.subtract(q); - } - return x3; - } - - protected BigInteger modDouble(BigInteger x) - { - BigInteger _2x = x.shiftLeft(1); - if (_2x.compareTo(q) >= 0) - { - _2x = _2x.subtract(q); - } - return _2x; - } - - protected BigInteger modMult(BigInteger x1, BigInteger x2) - { - return modReduce(x1.multiply(x2)); - } - - protected BigInteger modReduce(BigInteger x) - { -// if (naf != null) -// { -// int last = naf.length - 1; -// int bits = naf[last]; -// while (x.bitLength() > (bits + 1)) -// { -// BigInteger u = x.shiftRight(bits); -// BigInteger v = x.subtract(u.shiftLeft(bits)); -// -// x = v; -// -// for (int i = 0; i < last; ++i) -// { -// int ni = naf[i]; -// if (ni < 0) -// { -// x = x.add(u.shiftLeft(~ni)); -// } -// else -// { -// x = x.subtract(u.shiftLeft(ni)); -// } -// } -// } -// while (x.compareTo(q) >= 0) -// { -// x = x.subtract(q); -// } -// } -// else - if (r != null) - { - int qLen = q.bitLength(); - while (x.bitLength() > (qLen + 1)) - { - BigInteger u = x.shiftRight(qLen); - BigInteger v = x.subtract(u.shiftLeft(qLen)); - if (!r.equals(ONE)) - { - u = u.multiply(r); - } - x = u.add(v); - } - while (x.compareTo(q) >= 0) - { - x = x.subtract(q); - } - } - else - { - x = x.mod(q); - } - return x; - } - - public boolean equals(Object other) - { - if (other == this) - { - return true; - } - - if (!(other instanceof ECFieldElement.Fp)) - { - return false; - } - - ECFieldElement.Fp o = (ECFieldElement.Fp)other; - return q.equals(o.q) && x.equals(o.x); - } - - public int hashCode() - { - return q.hashCode() ^ x.hashCode(); - } - } - -// /** -// * Class representing the Elements of the finite field -// * F2m in polynomial basis (PB) -// * representation. Both trinomial (TPB) and pentanomial (PPB) polynomial -// * basis representations are supported. Gaussian normal basis (GNB) -// * representation is not supported. -// */ -// public static class F2m extends ECFieldElement -// { -// BigInteger x; -// -// /** -// * Indicates gaussian normal basis representation (GNB). Number chosen -// * according to X9.62. GNB is not implemented at present. -// */ -// public static final int GNB = 1; -// -// /** -// * Indicates trinomial basis representation (TPB). Number chosen -// * according to X9.62. -// */ -// public static final int TPB = 2; -// -// /** -// * Indicates pentanomial basis representation (PPB). Number chosen -// * according to X9.62. -// */ -// public static final int PPB = 3; -// -// /** -// * TPB or PPB. -// */ -// private int representation; -// -// /** -// * The exponent m of F2m. -// */ -// private int m; -// -// /** -// * TPB: The integer k where xm + -// * xk + 1 represents the reduction polynomial -// * f(z).
    -// * PPB: The integer k1 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k1; -// -// /** -// * TPB: Always set to 0
    -// * PPB: The integer k2 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k2; -// -// /** -// * TPB: Always set to 0
    -// * PPB: The integer k3 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k3; -// -// /** -// * Constructor for PPB. -// * @param m The exponent m of -// * F2m. -// * @param k1 The integer k1 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z). -// * @param k2 The integer k2 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z). -// * @param k3 The integer k3 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z). -// * @param x The BigInteger representing the value of the field element. -// */ -// public F2m( -// int m, -// int k1, -// int k2, -// int k3, -// BigInteger x) -// { -//// super(x); -// this.x = x; -// -// if ((k2 == 0) && (k3 == 0)) -// { -// this.representation = TPB; -// } -// else -// { -// if (k2 >= k3) -// { -// throw new IllegalArgumentException( -// "k2 must be smaller than k3"); -// } -// if (k2 <= 0) -// { -// throw new IllegalArgumentException( -// "k2 must be larger than 0"); -// } -// this.representation = PPB; -// } -// -// if (x.signum() < 0) -// { -// throw new IllegalArgumentException("x value cannot be negative"); -// } -// -// this.m = m; -// this.k1 = k1; -// this.k2 = k2; -// this.k3 = k3; -// } -// -// /** -// * Constructor for TPB. -// * @param m The exponent m of -// * F2m. -// * @param k The integer k where xm + -// * xk + 1 represents the reduction -// * polynomial f(z). -// * @param x The BigInteger representing the value of the field element. -// */ -// public F2m(int m, int k, BigInteger x) -// { -// // Set k1 to k, and set k2 and k3 to 0 -// this(m, k, 0, 0, x); -// } -// -// public BigInteger toBigInteger() -// { -// return x; -// } -// -// public String getFieldName() -// { -// return "F2m"; -// } -// -// public int getFieldSize() -// { -// return m; -// } -// -// /** -// * Checks, if the ECFieldElements a and b -// * are elements of the same field F2m -// * (having the same representation). -// * @param a field element. -// * @param b field element to be compared. -// * @throws IllegalArgumentException if a and b -// * are not elements of the same field -// * F2m (having the same -// * representation). -// */ -// public static void checkFieldElements( -// ECFieldElement a, -// ECFieldElement b) -// { -// if ((!(a instanceof F2m)) || (!(b instanceof F2m))) -// { -// throw new IllegalArgumentException("Field elements are not " -// + "both instances of ECFieldElement.F2m"); -// } -// -// if ((a.toBigInteger().signum() < 0) || (b.toBigInteger().signum() < 0)) -// { -// throw new IllegalArgumentException( -// "x value may not be negative"); -// } -// -// ECFieldElement.F2m aF2m = (ECFieldElement.F2m)a; -// ECFieldElement.F2m bF2m = (ECFieldElement.F2m)b; -// -// if ((aF2m.m != bF2m.m) || (aF2m.k1 != bF2m.k1) -// || (aF2m.k2 != bF2m.k2) || (aF2m.k3 != bF2m.k3)) -// { -// throw new IllegalArgumentException("Field elements are not " -// + "elements of the same field F2m"); -// } -// -// if (aF2m.representation != bF2m.representation) -// { -// // Should never occur -// throw new IllegalArgumentException( -// "One of the field " -// + "elements are not elements has incorrect representation"); -// } -// } -// -// /** -// * Computes z * a(z) mod f(z), where f(z) is -// * the reduction polynomial of this. -// * @param a The polynomial a(z) to be multiplied by -// * z mod f(z). -// * @return z * a(z) mod f(z) -// */ -// private BigInteger multZModF(final BigInteger a) -// { -// // Left-shift of a(z) -// BigInteger az = a.shiftLeft(1); -// if (az.testBit(this.m)) -// { -// // If the coefficient of z^m in a(z) equals 1, reduction -// // modulo f(z) is performed: Add f(z) to to a(z): -// // Step 1: Unset mth coeffient of a(z) -// az = az.clearBit(this.m); -// -// // Step 2: Add r(z) to a(z), where r(z) is defined as -// // f(z) = z^m + r(z), and k1, k2, k3 are the positions of -// // the non-zero coefficients in r(z) -// az = az.flipBit(0); -// az = az.flipBit(this.k1); -// if (this.representation == PPB) -// { -// az = az.flipBit(this.k2); -// az = az.flipBit(this.k3); -// } -// } -// return az; -// } -// -// public ECFieldElement add(final ECFieldElement b) -// { -// // No check performed here for performance reasons. Instead the -// // elements involved are checked in ECPoint.F2m -// // checkFieldElements(this, b); -// if (b.toBigInteger().signum() == 0) -// { -// return this; -// } -// -// return new F2m(this.m, this.k1, this.k2, this.k3, this.x.xor(b.toBigInteger())); -// } -// -// public ECFieldElement subtract(final ECFieldElement b) -// { -// // Addition and subtraction are the same in F2m -// return add(b); -// } -// -// -// public ECFieldElement multiply(final ECFieldElement b) -// { -// // Left-to-right shift-and-add field multiplication in F2m -// // Input: Binary polynomials a(z) and b(z) of degree at most m-1 -// // Output: c(z) = a(z) * b(z) mod f(z) -// -// // No check performed here for performance reasons. Instead the -// // elements involved are checked in ECPoint.F2m -// // checkFieldElements(this, b); -// final BigInteger az = this.x; -// BigInteger bz = b.toBigInteger(); -// BigInteger cz; -// -// // Compute c(z) = a(z) * b(z) mod f(z) -// if (az.testBit(0)) -// { -// cz = bz; -// } -// else -// { -// cz = ECConstants.ZERO; -// } -// -// for (int i = 1; i < this.m; i++) -// { -// // b(z) := z * b(z) mod f(z) -// bz = multZModF(bz); -// -// if (az.testBit(i)) -// { -// // If the coefficient of x^i in a(z) equals 1, b(z) is added -// // to c(z) -// cz = cz.xor(bz); -// } -// } -// return new ECFieldElement.F2m(m, this.k1, this.k2, this.k3, cz); -// } -// -// -// public ECFieldElement divide(final ECFieldElement b) -// { -// // There may be more efficient implementations -// ECFieldElement bInv = b.invert(); -// return multiply(bInv); -// } -// -// public ECFieldElement negate() -// { -// // -x == x holds for all x in F2m -// return this; -// } -// -// public ECFieldElement square() -// { -// // Naive implementation, can probably be speeded up using modular -// // reduction -// return multiply(this); -// } -// -// public ECFieldElement invert() -// { -// // Inversion in F2m using the extended Euclidean algorithm -// // Input: A nonzero polynomial a(z) of degree at most m-1 -// // Output: a(z)^(-1) mod f(z) -// -// // u(z) := a(z) -// BigInteger uz = this.x; -// if (uz.signum() <= 0) -// { -// throw new ArithmeticException("x is zero or negative, " + -// "inversion is impossible"); -// } -// -// // v(z) := f(z) -// BigInteger vz = ECConstants.ZERO.setBit(m); -// vz = vz.setBit(0); -// vz = vz.setBit(this.k1); -// if (this.representation == PPB) -// { -// vz = vz.setBit(this.k2); -// vz = vz.setBit(this.k3); -// } -// -// // g1(z) := 1, g2(z) := 0 -// BigInteger g1z = ECConstants.ONE; -// BigInteger g2z = ECConstants.ZERO; -// -// // while u != 1 -// while (!(uz.equals(ECConstants.ZERO))) -// { -// // j := deg(u(z)) - deg(v(z)) -// int j = uz.bitLength() - vz.bitLength(); -// -// // If j < 0 then: u(z) <-> v(z), g1(z) <-> g2(z), j := -j -// if (j < 0) -// { -// final BigInteger uzCopy = uz; -// uz = vz; -// vz = uzCopy; -// -// final BigInteger g1zCopy = g1z; -// g1z = g2z; -// g2z = g1zCopy; -// -// j = -j; -// } -// -// // u(z) := u(z) + z^j * v(z) -// // Note, that no reduction modulo f(z) is required, because -// // deg(u(z) + z^j * v(z)) <= max(deg(u(z)), j + deg(v(z))) -// // = max(deg(u(z)), deg(u(z)) - deg(v(z)) + deg(v(z)) -// // = deg(u(z)) -// uz = uz.xor(vz.shiftLeft(j)); -// -// // g1(z) := g1(z) + z^j * g2(z) -// g1z = g1z.xor(g2z.shiftLeft(j)); -//// if (g1z.bitLength() > this.m) { -//// throw new ArithmeticException( -//// "deg(g1z) >= m, g1z = " + g1z.toString(16)); -//// } -// } -// return new ECFieldElement.F2m( -// this.m, this.k1, this.k2, this.k3, g2z); -// } -// -// public ECFieldElement sqrt() -// { -// throw new RuntimeException("Not implemented"); -// } -// -// /** -// * @return the representation of the field -// * F2m, either of -// * TPB (trinomial -// * basis representation) or -// * PPB (pentanomial -// * basis representation). -// */ -// public int getRepresentation() -// { -// return this.representation; -// } -// -// /** -// * @return the degree m of the reduction polynomial -// * f(z). -// */ -// public int getM() -// { -// return this.m; -// } -// -// /** -// * @return TPB: The integer k where xm + -// * xk + 1 represents the reduction polynomial -// * f(z).
    -// * PPB: The integer k1 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// public int getK1() -// { -// return this.k1; -// } -// -// /** -// * @return TPB: Always returns 0
    -// * PPB: The integer k2 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// public int getK2() -// { -// return this.k2; -// } -// -// /** -// * @return TPB: Always set to 0
    -// * PPB: The integer k3 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// public int getK3() -// { -// return this.k3; -// } -// -// public boolean equals(Object anObject) -// { -// if (anObject == this) -// { -// return true; -// } -// -// if (!(anObject instanceof ECFieldElement.F2m)) -// { -// return false; -// } -// -// ECFieldElement.F2m b = (ECFieldElement.F2m)anObject; -// -// return ((this.m == b.m) && (this.k1 == b.k1) && (this.k2 == b.k2) -// && (this.k3 == b.k3) -// && (this.representation == b.representation) -// && (this.x.equals(b.x))); -// } -// -// public int hashCode() -// { -// return x.hashCode() ^ m ^ k1 ^ k2 ^ k3; -// } -// } - - /** - * Class representing the Elements of the finite field - * F2m in polynomial basis (PB) - * representation. Both trinomial (TPB) and pentanomial (PPB) polynomial - * basis representations are supported. Gaussian normal basis (GNB) - * representation is not supported. - */ - public static class F2m extends ECFieldElement - { - /** - * Indicates gaussian normal basis representation (GNB). Number chosen - * according to X9.62. GNB is not implemented at present. - */ - public static final int GNB = 1; - - /** - * Indicates trinomial basis representation (TPB). Number chosen - * according to X9.62. - */ - public static final int TPB = 2; - - /** - * Indicates pentanomial basis representation (PPB). Number chosen - * according to X9.62. - */ - public static final int PPB = 3; - - /** - * TPB or PPB. - */ - private int representation; - - /** - * The exponent m of F2m. - */ - private int m; - -// /** -// * TPB: The integer k where xm + -// * xk + 1 represents the reduction polynomial -// * f(z).
    -// * PPB: The integer k1 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k1; -// -// /** -// * TPB: Always set to 0
    -// * PPB: The integer k2 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k2; -// -// /** -// * TPB: Always set to 0
    -// * PPB: The integer k3 where xm + -// * xk3 + xk2 + xk1 + 1 -// * represents the reduction polynomial f(z).
    -// */ -// private int k3; - - private int[] ks; - - /** - * The LongArray holding the bits. - */ - private LongArray x; - - /** - * Constructor for PPB. - * @param m The exponent m of - * F2m. - * @param k1 The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k2 The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param k3 The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z). - * @param x The BigInteger representing the value of the field element. - * @deprecated Use ECCurve.fromBigInteger to construct field elements - */ - public F2m( - int m, - int k1, - int k2, - int k3, - BigInteger x) - { - if ((k2 == 0) && (k3 == 0)) - { - this.representation = TPB; - this.ks = new int[]{ k1 }; - } - else - { - if (k2 >= k3) - { - throw new IllegalArgumentException( - "k2 must be smaller than k3"); - } - if (k2 <= 0) - { - throw new IllegalArgumentException( - "k2 must be larger than 0"); - } - this.representation = PPB; - this.ks = new int[]{ k1, k2, k3 }; - } - - this.m = m; - this.x = new LongArray(x); - } - - /** - * Constructor for TPB. - * @param m The exponent m of - * F2m. - * @param k The integer k where xm + - * xk + 1 represents the reduction - * polynomial f(z). - * @param x The BigInteger representing the value of the field element. - * @deprecated Use ECCurve.fromBigInteger to construct field elements - */ - public F2m(int m, int k, BigInteger x) - { - // Set k1 to k, and set k2 and k3 to 0 - this(m, k, 0, 0, x); - } - - private F2m(int m, int[] ks, LongArray x) - { - this.m = m; - this.representation = (ks.length == 1) ? TPB : PPB; - this.ks = ks; - this.x = x; - } - - public int bitLength() - { - return x.degree(); - } - - public boolean isZero() - { - return x.isZero(); - } - - public boolean testBitZero() - { - return x.testBitZero(); - } - - public BigInteger toBigInteger() - { - return x.toBigInteger(); - } - - public String getFieldName() - { - return "F2m"; - } - - public int getFieldSize() - { - return m; - } - - /** - * Checks, if the ECFieldElements a and b - * are elements of the same field F2m - * (having the same representation). - * @param a field element. - * @param b field element to be compared. - * @throws IllegalArgumentException if a and b - * are not elements of the same field - * F2m (having the same - * representation). - */ - public static void checkFieldElements( - ECFieldElement a, - ECFieldElement b) - { - if ((!(a instanceof F2m)) || (!(b instanceof F2m))) - { - throw new IllegalArgumentException("Field elements are not " - + "both instances of ECFieldElement.F2m"); - } - - ECFieldElement.F2m aF2m = (ECFieldElement.F2m)a; - ECFieldElement.F2m bF2m = (ECFieldElement.F2m)b; - - if (aF2m.representation != bF2m.representation) - { - // Should never occur - throw new IllegalArgumentException("One of the F2m field elements has incorrect representation"); - } - - if ((aF2m.m != bF2m.m) || !Arrays.areEqual(aF2m.ks, bF2m.ks)) - { - throw new IllegalArgumentException("Field elements are not elements of the same field F2m"); - } - } - - public ECFieldElement add(final ECFieldElement b) - { - // No check performed here for performance reasons. Instead the - // elements involved are checked in ECPoint.F2m - // checkFieldElements(this, b); - LongArray iarrClone = (LongArray)this.x.clone(); - F2m bF2m = (F2m)b; - iarrClone.addShiftedByWords(bF2m.x, 0); - return new F2m(m, ks, iarrClone); - } - - public ECFieldElement addOne() - { - return new F2m(m, ks, x.addOne()); - } - - public ECFieldElement subtract(final ECFieldElement b) - { - // Addition and subtraction are the same in F2m - return add(b); - } - - public ECFieldElement multiply(final ECFieldElement b) - { - // Right-to-left comb multiplication in the LongArray - // Input: Binary polynomials a(z) and b(z) of degree at most m-1 - // Output: c(z) = a(z) * b(z) mod f(z) - - // No check performed here for performance reasons. Instead the - // elements involved are checked in ECPoint.F2m - // checkFieldElements(this, b); - return new F2m(m, ks, x.modMultiply(((F2m)b).x, m, ks)); - } - - public ECFieldElement divide(final ECFieldElement b) - { - // There may be more efficient implementations - ECFieldElement bInv = b.invert(); - return multiply(bInv); - } - - public ECFieldElement negate() - { - // -x == x holds for all x in F2m - return this; - } - - public ECFieldElement square() - { - return new F2m(m, ks, x.modSquare(m, ks)); - } - - public ECFieldElement invert() - { - return new ECFieldElement.F2m(this.m, this.ks, this.x.modInverse(m, ks)); - } - - public ECFieldElement sqrt() - { - throw new RuntimeException("Not implemented"); - } - - /** - * @return the representation of the field - * F2m, either of - * TPB (trinomial - * basis representation) or - * PPB (pentanomial - * basis representation). - */ - public int getRepresentation() - { - return this.representation; - } - - /** - * @return the degree m of the reduction polynomial - * f(z). - */ - public int getM() - { - return this.m; - } - - /** - * @return TPB: The integer k where xm + - * xk + 1 represents the reduction polynomial - * f(z).
    - * PPB: The integer k1 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - public int getK1() - { - return this.ks[0]; - } - - /** - * @return TPB: Always returns 0
    - * PPB: The integer k2 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - public int getK2() - { - return this.ks.length >= 2 ? this.ks[1] : 0; - } - - /** - * @return TPB: Always set to 0
    - * PPB: The integer k3 where xm + - * xk3 + xk2 + xk1 + 1 - * represents the reduction polynomial f(z).
    - */ - public int getK3() - { - return this.ks.length >= 3 ? this.ks[2] : 0; - } - - public boolean equals(Object anObject) - { - if (anObject == this) - { - return true; - } - - if (!(anObject instanceof ECFieldElement.F2m)) - { - return false; - } - - ECFieldElement.F2m b = (ECFieldElement.F2m)anObject; - - return ((this.m == b.m) - && (this.representation == b.representation) - && Arrays.areEqual(this.ks, b.ks) - && (this.x.equals(b.x))); - } - - public int hashCode() - { - return x.hashCode() ^ m ^ Arrays.hashCode(ks); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECMultiplier.java deleted file mode 100644 index 17205e636..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECMultiplier.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Interface for classes encapsulating a point multiplication algorithm - * for ECPoints. - */ -public interface ECMultiplier -{ - /** - * Multiplies the ECPoint p by k, i.e. - * p is added k times to itself. - * @param p The ECPoint to be multiplied. - * @param k The factor by which p is multiplied. - * @return p multiplied by k. - */ - ECPoint multiply(ECPoint p, BigInteger k); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECPoint.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECPoint.java deleted file mode 100644 index 81d7d0957..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ECPoint.java +++ /dev/null @@ -1,1733 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * base class for points on elliptic curves. - */ -public abstract class ECPoint -{ - protected static ECFieldElement[] EMPTY_ZS = new ECFieldElement[0]; - - protected static ECFieldElement[] getInitialZCoords(ECCurve curve) - { - // Cope with null curve, most commonly used by implicitlyCa - int coord = null == curve ? ECCurve.COORD_AFFINE : curve.getCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_AFFINE: - case ECCurve.COORD_LAMBDA_AFFINE: - return EMPTY_ZS; - default: - break; - } - - ECFieldElement one = curve.fromBigInteger(ECConstants.ONE); - - switch (coord) - { - case ECCurve.COORD_HOMOGENEOUS: - case ECCurve.COORD_JACOBIAN: - case ECCurve.COORD_LAMBDA_PROJECTIVE: - return new ECFieldElement[]{ one }; - case ECCurve.COORD_JACOBIAN_CHUDNOVSKY: - return new ECFieldElement[]{ one, one, one }; - case ECCurve.COORD_JACOBIAN_MODIFIED: - return new ECFieldElement[]{ one, curve.getA() }; - default: - throw new IllegalArgumentException("unknown coordinate system"); - } - } - - protected ECCurve curve; - protected ECFieldElement x; - protected ECFieldElement y; - protected ECFieldElement[] zs; - - protected boolean withCompression; - - protected PreCompInfo preCompInfo = null; - - protected ECPoint(ECCurve curve, ECFieldElement x, ECFieldElement y) - { - this(curve, x, y, getInitialZCoords(curve)); - } - - protected ECPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs) - { - this.curve = curve; - this.x = x; - this.y = y; - this.zs = zs; - } - - public ECCurve getCurve() - { - return curve; - } - - protected int getCurveCoordinateSystem() - { - // Cope with null curve, most commonly used by implicitlyCa - return null == curve ? ECCurve.COORD_AFFINE : curve.getCoordinateSystem(); - } - - /** - * Normalizes this point, and then returns the affine x-coordinate. - * - * Note: normalization can be expensive, this method is deprecated in favour - * of caller-controlled normalization. - * - * @deprecated Use getAffineXCoord, or normalize() and getXCoord(), instead - */ - public ECFieldElement getX() - { - return normalize().getXCoord(); - } - - - /** - * Normalizes this point, and then returns the affine y-coordinate. - * - * Note: normalization can be expensive, this method is deprecated in favour - * of caller-controlled normalization. - * - * @deprecated Use getAffineYCoord, or normalize() and getYCoord(), instead - */ - public ECFieldElement getY() - { - return normalize().getYCoord(); - } - - /** - * Returns the affine x-coordinate after checking that this point is normalized. - * - * @return The affine x-coordinate of this point - * @throws IllegalStateException if the point is not normalized - */ - public ECFieldElement getAffineXCoord() - { - checkNormalized(); - return getXCoord(); - } - - /** - * Returns the affine y-coordinate after checking that this point is normalized - * - * @return The affine y-coordinate of this point - * @throws IllegalStateException if the point is not normalized - */ - public ECFieldElement getAffineYCoord() - { - checkNormalized(); - return getYCoord(); - } - - /** - * Returns the x-coordinate. - * - * Caution: depending on the curve's coordinate system, this may not be the same value as in an - * affine coordinate system; use normalize() to get a point where the coordinates have their - * affine values, or use getAffineXCoord if you expect the point to already have been - * normalized. - * - * @return the x-coordinate of this point - */ - public ECFieldElement getXCoord() - { - return x; - } - - /** - * Returns the y-coordinate. - * - * Caution: depending on the curve's coordinate system, this may not be the same value as in an - * affine coordinate system; use normalize() to get a point where the coordinates have their - * affine values, or use getAffineYCoord if you expect the point to already have been - * normalized. - * - * @return the y-coordinate of this point - */ - public ECFieldElement getYCoord() - { - return y; - } - - public ECFieldElement getZCoord(int index) - { - return (index < 0 || index >= zs.length) ? null : zs[index]; - } - - public ECFieldElement[] getZCoords() - { - int zsLen = zs.length; - if (zsLen == 0) - { - return zs; - } - ECFieldElement[] copy = new ECFieldElement[zsLen]; - System.arraycopy(zs, 0, copy, 0, zsLen); - return copy; - } - - protected ECFieldElement getRawXCoord() - { - return x; - } - - protected ECFieldElement getRawYCoord() - { - return y; - } - - protected void checkNormalized() - { - if (!isNormalized()) - { - throw new IllegalStateException("point not in normal form"); - } - } - - public boolean isNormalized() - { - int coord = this.getCurveCoordinateSystem(); - - return coord == ECCurve.COORD_AFFINE - || coord == ECCurve.COORD_LAMBDA_AFFINE - || isInfinity() - || zs[0].bitLength() == 1; - } - - /** - * Normalization ensures that any projective coordinate is 1, and therefore that the x, y - * coordinates reflect those of the equivalent point in an affine coordinate system. - * - * @return a new ECPoint instance representing the same point, but with normalized coordinates - */ - public ECPoint normalize() - { - if (this.isInfinity()) - { - return this; - } - - switch (this.getCurveCoordinateSystem()) - { - case ECCurve.COORD_AFFINE: - case ECCurve.COORD_LAMBDA_AFFINE: - { - return this; - } - default: - { - ECFieldElement Z1 = getZCoord(0); - if (Z1.bitLength() == 1) - { - return this; - } - - return normalize(Z1.invert()); - } - } - } - - ECPoint normalize(ECFieldElement zInv) - { - switch (this.getCurveCoordinateSystem()) - { - case ECCurve.COORD_HOMOGENEOUS: - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - return createScaledPoint(zInv, zInv); - } - case ECCurve.COORD_JACOBIAN: - case ECCurve.COORD_JACOBIAN_CHUDNOVSKY: - case ECCurve.COORD_JACOBIAN_MODIFIED: - { - ECFieldElement zInv2 = zInv.square(), zInv3 = zInv2.multiply(zInv); - return createScaledPoint(zInv2, zInv3); - } - default: - { - throw new IllegalStateException("not a projective coordinate system"); - } - } - } - - protected ECPoint createScaledPoint(ECFieldElement sx, ECFieldElement sy) - { - return this.getCurve().createRawPoint(getRawXCoord().multiply(sx), getRawYCoord().multiply(sy), this.withCompression); - } - - public boolean isInfinity() - { - return x == null || y == null || (zs.length > 0 && zs[0].isZero()); - } - - public boolean isCompressed() - { - return this.withCompression; - } - - public boolean equals(ECPoint other) - { - if (null == other) - { - return false; - } - - ECCurve c1 = this.getCurve(), c2 = other.getCurve(); - boolean n1 = (null == c1), n2 = (null == c2); - boolean i1 = isInfinity(), i2 = other.isInfinity(); - - if (i1 || i2) - { - return (i1 && i2) && (n1 || n2 || c1.equals(c2)); - } - - ECPoint p1 = this, p2 = other; - if (n1 && n2) - { - // Points with null curve are in affine form, so already normalized - } - else if (n1) - { - p2 = p2.normalize(); - } - else if (n2) - { - p1 = p1.normalize(); - } - else if (!c1.equals(c2)) - { - return false; - } - else - { - // TODO Consider just requiring already normalized, to avoid silent performance degradation - - ECPoint[] points = new ECPoint[]{ this, c1.importPoint(p2) }; - - // TODO This is a little strong, really only requires coZNormalizeAll to get Zs equal - c1.normalizeAll(points); - - p1 = points[0]; - p2 = points[1]; - } - - return p1.getXCoord().equals(p2.getXCoord()) && p1.getYCoord().equals(p2.getYCoord()); - } - - public boolean equals(Object other) - { - if (other == this) - { - return true; - } - - if (!(other instanceof ECPoint)) - { - return false; - } - - return equals((ECPoint)other); - } - - public int hashCode() - { - ECCurve c = this.getCurve(); - int hc = (null == c) ? 0 : ~c.hashCode(); - - if (!this.isInfinity()) - { - // TODO Consider just requiring already normalized, to avoid silent performance degradation - - ECPoint p = normalize(); - - hc ^= p.getXCoord().hashCode() * 17; - hc ^= p.getYCoord().hashCode() * 257; - } - - return hc; - } - - public String toString() - { - if (this.isInfinity()) - { - return "INF"; - } - - StringBuffer sb = new StringBuffer(); - sb.append('('); - sb.append(getRawXCoord()); - sb.append(','); - sb.append(getRawYCoord()); - for (int i = 0; i < zs.length; ++i) - { - sb.append(','); - sb.append(zs[i]); - } - sb.append(')'); - return sb.toString(); - } - - public byte[] getEncoded() - { - return getEncoded(this.withCompression); - } - - /** - * return the field element encoded with point compression. (S 4.3.6) - */ - public byte[] getEncoded(boolean compressed) - { - if (this.isInfinity()) - { - return new byte[1]; - } - - ECPoint normed = normalize(); - - byte[] X = normed.getXCoord().getEncoded(); - - if (compressed) - { - byte[] PO = new byte[X.length + 1]; - PO[0] = (byte)(normed.getCompressionYTilde() ? 0x03 : 0x02); - System.arraycopy(X, 0, PO, 1, X.length); - return PO; - } - - byte[] Y = normed.getYCoord().getEncoded(); - - byte[] PO = new byte[X.length + Y.length + 1]; - PO[0] = 0x04; - System.arraycopy(X, 0, PO, 1, X.length); - System.arraycopy(Y, 0, PO, X.length + 1, Y.length); - return PO; - } - - protected abstract boolean getCompressionYTilde(); - - public abstract ECPoint add(ECPoint b); - - public abstract ECPoint negate(); - - public abstract ECPoint subtract(ECPoint b); - - public ECPoint timesPow2(int e) - { - if (e < 0) - { - throw new IllegalArgumentException("'e' cannot be negative"); - } - - ECPoint p = this; - while (--e >= 0) - { - p = p.twice(); - } - return p; - } - - public abstract ECPoint twice(); - - public ECPoint twicePlus(ECPoint b) - { - return twice().add(b); - } - - public ECPoint threeTimes() - { - return twicePlus(this); - } - - /** - * Multiplies this ECPoint by the given number. - * @param k The multiplicator. - * @return k * this. - */ - public ECPoint multiply(BigInteger k) - { - return this.getCurve().getMultiplier().multiply(this, k); - } - - /** - * Elliptic curve points over Fp - */ - public static class Fp extends ECPoint - { - /** - * Create a point which encodes with point compression. - * - * @param curve the curve to use - * @param x affine x co-ordinate - * @param y affine y co-ordinate - * - * @deprecated Use ECCurve.createPoint to construct points - */ - public Fp(ECCurve curve, ECFieldElement x, ECFieldElement y) - { - this(curve, x, y, false); - } - - /** - * Create a point that encodes with or without point compresion. - * - * @param curve the curve to use - * @param x affine x co-ordinate - * @param y affine y co-ordinate - * @param withCompression if true encode with point compression - * - * @deprecated per-point compression property will be removed, refer {@link #getEncoded(boolean)} - */ - public Fp(ECCurve curve, ECFieldElement x, ECFieldElement y, boolean withCompression) - { - super(curve, x, y); - - if ((x != null && y == null) || (x == null && y != null)) - { - throw new IllegalArgumentException("Exactly one of the field elements is null"); - } - - this.withCompression = withCompression; - } - - Fp(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, boolean withCompression) - { - super(curve, x, y, zs); - - this.withCompression = withCompression; - } - - protected boolean getCompressionYTilde() - { - return this.getAffineYCoord().testBitZero(); - } - - public ECFieldElement getZCoord(int index) - { - if (index == 1 && ECCurve.COORD_JACOBIAN_MODIFIED == this.getCurveCoordinateSystem()) - { - return getJacobianModifiedW(); - } - - return super.getZCoord(index); - } - - // B.3 pg 62 - public ECPoint add(ECPoint b) - { - if (this.isInfinity()) - { - return b; - } - if (b.isInfinity()) - { - return this; - } - if (this == b) - { - return twice(); - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - ECFieldElement X1 = this.x, Y1 = this.y; - ECFieldElement X2 = b.x, Y2 = b.y; - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement dx = X2.subtract(X1), dy = Y2.subtract(Y1); - - if (dx.isZero()) - { - if (dy.isZero()) - { - // this == b, i.e. this must be doubled - return twice(); - } - - // this == -b, i.e. the result is the point at infinity - return curve.getInfinity(); - } - - ECFieldElement gamma = dy.divide(dx); - ECFieldElement X3 = gamma.square().subtract(X1).subtract(X2); - ECFieldElement Y3 = gamma.multiply(X1.subtract(X3)).subtract(Y1); - - return new ECPoint.Fp(curve, X3, Y3, this.withCompression); - } - - case ECCurve.COORD_HOMOGENEOUS: - { - ECFieldElement Z1 = this.zs[0]; - ECFieldElement Z2 = b.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - boolean Z2IsOne = Z2.bitLength() == 1; - - ECFieldElement u1 = Z1IsOne ? Y2 : Y2.multiply(Z1); - ECFieldElement u2 = Z2IsOne ? Y1 : Y1.multiply(Z2); - ECFieldElement u = u1.subtract(u2); - ECFieldElement v1 = Z1IsOne ? X2 : X2.multiply(Z1); - ECFieldElement v2 = Z2IsOne ? X1 : X1.multiply(Z2); - ECFieldElement v = v1.subtract(v2); - - // Check if b == this or b == -this - if (v.isZero()) - { - if (u.isZero()) - { - // this == b, i.e. this must be doubled - return this.twice(); - } - - // this == -b, i.e. the result is the point at infinity - return curve.getInfinity(); - } - - // TODO Optimize for when w == 1 - ECFieldElement w = Z1IsOne ? Z2 : Z2IsOne ? Z1 : Z1.multiply(Z2); - ECFieldElement vSquared = v.square(); - ECFieldElement vCubed = vSquared.multiply(v); - ECFieldElement vSquaredV2 = vSquared.multiply(v2); - ECFieldElement A = u.square().multiply(w).subtract(vCubed).subtract(two(vSquaredV2)); - - ECFieldElement X3 = v.multiply(A); - ECFieldElement Y3 = vSquaredV2.subtract(A).multiply(u).subtract(vCubed.multiply(u2)); - ECFieldElement Z3 = vCubed.multiply(w); - - return new ECPoint.Fp(curve, X3, Y3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - - case ECCurve.COORD_JACOBIAN: - case ECCurve.COORD_JACOBIAN_MODIFIED: - { - ECFieldElement Z1 = this.zs[0]; - ECFieldElement Z2 = b.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - - ECFieldElement X3, Y3, Z3, Z3Squared = null; - - if (!Z1IsOne && Z1.equals(Z2)) - { - // TODO Make this available as public method coZAdd? - - ECFieldElement dx = X1.subtract(X2), dy = Y1.subtract(Y2); - if (dx.isZero()) - { - if (dy.isZero()) - { - return twice(); - } - return curve.getInfinity(); - } - - ECFieldElement C = dx.square(); - ECFieldElement W1 = X1.multiply(C), W2 = X2.multiply(C); - ECFieldElement A1 = W1.subtract(W2).multiply(Y1); - - X3 = dy.square().subtract(W1).subtract(W2); - Y3 = W1.subtract(X3).multiply(dy).subtract(A1); - Z3 = dx; - - if (Z1IsOne) - { - Z3Squared = C; - } - else - { - Z3 = Z3.multiply(Z1); - } - } - else - { - ECFieldElement Z1Squared, U2, S2; - if (Z1IsOne) - { - Z1Squared = Z1; U2 = X2; S2 = Y2; - } - else - { - Z1Squared = Z1.square(); - U2 = Z1Squared.multiply(X2); - ECFieldElement Z1Cubed = Z1Squared.multiply(Z1); - S2 = Z1Cubed.multiply(Y2); - } - - boolean Z2IsOne = Z2.bitLength() == 1; - ECFieldElement Z2Squared, U1, S1; - if (Z2IsOne) - { - Z2Squared = Z2; U1 = X1; S1 = Y1; - } - else - { - Z2Squared = Z2.square(); - U1 = Z2Squared.multiply(X1); - ECFieldElement Z2Cubed = Z2Squared.multiply(Z2); - S1 = Z2Cubed.multiply(Y1); - } - - ECFieldElement H = U1.subtract(U2); - ECFieldElement R = S1.subtract(S2); - - // Check if b == this or b == -this - if (H.isZero()) - { - if (R.isZero()) - { - // this == b, i.e. this must be doubled - return this.twice(); - } - - // this == -b, i.e. the result is the point at infinity - return curve.getInfinity(); - } - - ECFieldElement HSquared = H.square(); - ECFieldElement G = HSquared.multiply(H); - ECFieldElement V = HSquared.multiply(U1); - - X3 = R.square().add(G).subtract(two(V)); - Y3 = V.subtract(X3).multiply(R).subtract(S1.multiply(G)); - - Z3 = H; - if (!Z1IsOne) - { - Z3 = Z3.multiply(Z1); - } - if (!Z2IsOne) - { - Z3 = Z3.multiply(Z2); - } - - // Alternative calculation of Z3 using fast square - // X3 = four(X3); - // Y3 = eight(Y3); - // Z3 = doubleProductFromSquares(Z1, Z2, Z1Squared, Z2Squared).multiply(H); - - if (Z3 == H) - { - Z3Squared = HSquared; - } - } - - ECFieldElement[] zs; - if (coord == ECCurve.COORD_JACOBIAN_MODIFIED) - { - // TODO If the result will only be used in a subsequent addition, we don't need W3 - ECFieldElement W3 = calculateJacobianModifiedW(Z3, Z3Squared); - - zs = new ECFieldElement[]{ Z3, W3 }; - } - else - { - zs = new ECFieldElement[]{ Z3 }; - } - - return new ECPoint.Fp(curve, X3, Y3, zs, this.withCompression); - } - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - - // B.3 pg 62 - public ECPoint twice() - { - if (this.isInfinity()) - { - return this; - } - - ECCurve curve = this.getCurve(); - - ECFieldElement Y1 = this.y; - if (Y1.isZero()) - { - return curve.getInfinity(); - } - - int coord = curve.getCoordinateSystem(); - - ECFieldElement X1 = this.x; - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement X1Squared = X1.square(); - ECFieldElement gamma = three(X1Squared).add(this.getCurve().getA()).divide(two(Y1)); - ECFieldElement X3 = gamma.square().subtract(two(X1)); - ECFieldElement Y3 = gamma.multiply(X1.subtract(X3)).subtract(Y1); - - return new ECPoint.Fp(curve, X3, Y3, this.withCompression); - } - - case ECCurve.COORD_HOMOGENEOUS: - { - ECFieldElement Z1 = this.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - ECFieldElement Z1Squared = Z1IsOne ? Z1 : Z1.square(); - - // TODO Optimize for small negative a4 and -3 - ECFieldElement w = curve.getA(); - if (!Z1IsOne) - { - w = w.multiply(Z1Squared); - } - w = w.add(three(X1.square())); - - ECFieldElement s = Z1IsOne ? Y1 : Y1.multiply(Z1); - ECFieldElement t = Z1IsOne ? Y1.square() : s.multiply(Y1); - ECFieldElement B = X1.multiply(t); - ECFieldElement _4B = four(B); - ECFieldElement h = w.square().subtract(two(_4B)); - - ECFieldElement X3 = two(h.multiply(s)); - ECFieldElement Y3 = w.multiply(_4B.subtract(h)).subtract(two(two(t).square())); - ECFieldElement _4sSquared = Z1IsOne ? four(t) : two(s).square(); - ECFieldElement Z3 = two(_4sSquared).multiply(s); - - return new ECPoint.Fp(curve, X3, Y3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - - case ECCurve.COORD_JACOBIAN: - { - ECFieldElement Z1 = this.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - ECFieldElement Z1Squared = Z1IsOne ? Z1 : Z1.square(); - - ECFieldElement Y1Squared = Y1.square(); - ECFieldElement T = Y1Squared.square(); - - ECFieldElement a4 = curve.getA(); - ECFieldElement a4Neg = a4.negate(); - - ECFieldElement M, S; - if (a4Neg.toBigInteger().equals(BigInteger.valueOf(3))) - { - M = three(X1.add(Z1Squared).multiply(X1.subtract(Z1Squared))); - S = four(Y1Squared.multiply(X1)); - } - else - { - ECFieldElement X1Squared = X1.square(); - M = three(X1Squared); - if (Z1IsOne) - { - M = M.add(a4); - } - else - { - ECFieldElement Z1Pow4 = Z1Squared.square(); - if (a4Neg.bitLength() < a4.bitLength()) - { - M = M.subtract(Z1Pow4.multiply(a4Neg)); - } - else - { - M = M.add(Z1Pow4.multiply(a4)); - } - } - S = two(doubleProductFromSquares(X1, Y1Squared, X1Squared, T)); - } - - ECFieldElement X3 = M.square().subtract(two(S)); - ECFieldElement Y3 = S.subtract(X3).multiply(M).subtract(eight(T)); - - ECFieldElement Z3 = two(Y1); - if (!Z1IsOne) - { - Z3 = Z3.multiply(Z1); - } - - // Alternative calculation of Z3 using fast square -// ECFieldElement Z3 = doubleProductFromSquares(Y1, Z1, Y1Squared, Z1Squared); - - return new ECPoint.Fp(curve, X3, Y3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - - case ECCurve.COORD_JACOBIAN_MODIFIED: - { - return twiceJacobianModified(true); - } - - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - - public ECPoint twicePlus(ECPoint b) - { - if (this == b) - { - return threeTimes(); - } - if (this.isInfinity()) - { - return b; - } - if (b.isInfinity()) - { - return twice(); - } - - ECFieldElement Y1 = this.y; - if (Y1.isZero()) - { - return b; - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement X1 = this.x; - ECFieldElement X2 = b.x, Y2 = b.y; - - ECFieldElement dx = X2.subtract(X1), dy = Y2.subtract(Y1); - - if (dx.isZero()) - { - if (dy.isZero()) - { - // this == b i.e. the result is 3P - return threeTimes(); - } - - // this == -b, i.e. the result is P - return this; - } - - /* - * Optimized calculation of 2P + Q, as described in "Trading Inversions for - * Multiplications in Elliptic Curve Cryptography", by Ciet, Joye, Lauter, Montgomery. - */ - - ECFieldElement X = dx.square(), Y = dy.square(); - ECFieldElement d = X.multiply(two(X1).add(X2)).subtract(Y); - if (d.isZero()) - { - return curve.getInfinity(); - } - - ECFieldElement D = d.multiply(dx); - ECFieldElement I = D.invert(); - ECFieldElement L1 = d.multiply(I).multiply(dy); - ECFieldElement L2 = two(Y1).multiply(X).multiply(dx).multiply(I).subtract(L1); - ECFieldElement X4 = (L2.subtract(L1)).multiply(L1.add(L2)).add(X2); - ECFieldElement Y4 = (X1.subtract(X4)).multiply(L2).subtract(Y1); - - return new ECPoint.Fp(curve, X4, Y4, this.withCompression); - } - case ECCurve.COORD_JACOBIAN_MODIFIED: - { - return twiceJacobianModified(false).add(b); - } - default: - { - return twice().add(b); - } - } - } - - public ECPoint threeTimes() - { - if (this.isInfinity() || this.y.isZero()) - { - return this; - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement X1 = this.x, Y1 = this.y; - - ECFieldElement _2Y1 = two(Y1); - ECFieldElement X = _2Y1.square(); - ECFieldElement Z = three(X1.square()).add(this.getCurve().getA()); - ECFieldElement Y = Z.square(); - - ECFieldElement d = three(X1).multiply(X).subtract(Y); - if (d.isZero()) - { - return this.getCurve().getInfinity(); - } - - ECFieldElement D = d.multiply(_2Y1); - ECFieldElement I = D.invert(); - ECFieldElement L1 = d.multiply(I).multiply(Z); - ECFieldElement L2 = X.square().multiply(I).subtract(L1); - - ECFieldElement X4 = (L2.subtract(L1)).multiply(L1.add(L2)).add(X1); - ECFieldElement Y4 = (X1.subtract(X4)).multiply(L2).subtract(Y1); - return new ECPoint.Fp(curve, X4, Y4, this.withCompression); - } - case ECCurve.COORD_JACOBIAN_MODIFIED: - { - return twiceJacobianModified(false).add(this); - } - default: - { - // NOTE: Be careful about recursions between twicePlus and threeTimes - return twice().add(this); - } - } - } - - protected ECFieldElement two(ECFieldElement x) - { - return x.add(x); - } - - protected ECFieldElement three(ECFieldElement x) - { - return two(x).add(x); - } - - protected ECFieldElement four(ECFieldElement x) - { - return two(two(x)); - } - - protected ECFieldElement eight(ECFieldElement x) - { - return four(two(x)); - } - - protected ECFieldElement doubleProductFromSquares(ECFieldElement a, ECFieldElement b, - ECFieldElement aSquared, ECFieldElement bSquared) - { - /* - * NOTE: If squaring in the field is faster than multiplication, then this is a quicker - * way to calculate 2.A.B, if A^2 and B^2 are already known. - */ - return a.add(b).square().subtract(aSquared).subtract(bSquared); - } - - // D.3.2 pg 102 (see Note:) - public ECPoint subtract(ECPoint b) - { - if (b.isInfinity()) - { - return this; - } - - // Add -b - return add(b.negate()); - } - - public ECPoint negate() - { - if (this.isInfinity()) - { - return this; - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - if (ECCurve.COORD_AFFINE != coord) - { - return new ECPoint.Fp(curve, this.x, this.y.negate(), this.zs, this.withCompression); - } - - return new ECPoint.Fp(curve, this.x, this.y.negate(), this.withCompression); - } - - protected ECFieldElement calculateJacobianModifiedW(ECFieldElement Z, ECFieldElement ZSquared) - { - if (ZSquared == null) - { - ZSquared = Z.square(); - } - - ECFieldElement W = ZSquared.square(); - ECFieldElement a4 = this.getCurve().getA(); - ECFieldElement a4Neg = a4.negate(); - if (a4Neg.bitLength() < a4.bitLength()) - { - W = W.multiply(a4Neg).negate(); - } - else - { - W = W.multiply(a4); - } - return W; - } - - protected ECFieldElement getJacobianModifiedW() - { - ECFieldElement W = this.zs[1]; - if (W == null) - { - // NOTE: Rarely, twicePlus will result in the need for a lazy W1 calculation here - this.zs[1] = W = calculateJacobianModifiedW(this.zs[0], null); - } - return W; - } - - protected ECPoint.Fp twiceJacobianModified(boolean calculateW) - { - ECFieldElement X1 = this.x, Y1 = this.y, Z1 = this.zs[0], W1 = getJacobianModifiedW(); - - ECFieldElement X1Squared = X1.square(); - ECFieldElement M = three(X1Squared).add(W1); - ECFieldElement Y1Squared = Y1.square(); - ECFieldElement T = Y1Squared.square(); - ECFieldElement S = two(doubleProductFromSquares(X1, Y1Squared, X1Squared, T)); - ECFieldElement X3 = M.square().subtract(two(S)); - ECFieldElement _8T = eight(T); - ECFieldElement Y3 = M.multiply(S.subtract(X3)).subtract(_8T); - ECFieldElement W3 = calculateW ? two(_8T.multiply(W1)) : null; - ECFieldElement Z3 = two(Z1.bitLength() == 1 ? Y1 : Y1.multiply(Z1)); - - return new ECPoint.Fp(this.getCurve(), X3, Y3, new ECFieldElement[]{ Z3, W3 }, this.withCompression); - } - } - - /** - * Elliptic curve points over F2m - */ - public static class F2m extends ECPoint - { - /** - * @param curve base curve - * @param x x point - * @param y y point - * - * @deprecated Use ECCurve.createPoint to construct points - */ - public F2m(ECCurve curve, ECFieldElement x, ECFieldElement y) - { - this(curve, x, y, false); - } - - /** - * @param curve base curve - * @param x x point - * @param y y point - * @param withCompression true if encode with point compression. - * - * @deprecated per-point compression property will be removed, refer {@link #getEncoded(boolean)} - */ - public F2m(ECCurve curve, ECFieldElement x, ECFieldElement y, boolean withCompression) - { - super(curve, x, y); - - if ((x != null && y == null) || (x == null && y != null)) - { - throw new IllegalArgumentException("Exactly one of the field elements is null"); - } - - if (x != null) - { - // Check if x and y are elements of the same field - ECFieldElement.F2m.checkFieldElements(this.x, this.y); - - // Check if x and a are elements of the same field - if (curve != null) - { - ECFieldElement.F2m.checkFieldElements(this.x, this.curve.getA()); - } - } - - this.withCompression = withCompression; - -// checkCurveEquation(); - } - - F2m(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, boolean withCompression) - { - super(curve, x, y, zs); - - this.withCompression = withCompression; - -// checkCurveEquation(); - } - - public ECFieldElement getYCoord() - { - int coord = this.getCurveCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_LAMBDA_AFFINE: - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - // TODO The X == 0 stuff needs further thought - if (this.isInfinity() || x.isZero()) - { - return y; - } - - // Y is actually Lambda (X + Y/X) here; convert to affine value on the fly - ECFieldElement X = x, L = y; - ECFieldElement Y = L.subtract(X).multiply(X); - if (ECCurve.COORD_LAMBDA_PROJECTIVE == coord) - { - ECFieldElement Z = zs[0]; - if (Z.bitLength() != 1) - { - Y = Y.divide(Z); - } - } - return Y; - } - default: - { - return y; - } - } - } - - protected boolean getCompressionYTilde() - { - ECFieldElement X = this.getRawXCoord(); - if (X.isZero()) - { - return false; - } - - ECFieldElement Y = this.getRawYCoord(); - - switch (this.getCurveCoordinateSystem()) - { - case ECCurve.COORD_LAMBDA_AFFINE: - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - // Y is actually Lambda (X + Y/X) here - return Y.subtract(X).testBitZero(); - } - default: - { - return Y.divide(X).testBitZero(); - } - } - } - - /** - * Check, if two ECPoints can be added or subtracted. - * @param a The first ECPoint to check. - * @param b The second ECPoint to check. - * @throws IllegalArgumentException if a and b - * cannot be added. - */ - private static void checkPoints(ECPoint a, ECPoint b) - { - // Check, if points are on the same curve - if (a.curve != b.curve) - { - throw new IllegalArgumentException("Only points on the same " - + "curve can be added or subtracted"); - } - -// ECFieldElement.F2m.checkFieldElements(a.x, b.x); - } - - /* (non-Javadoc) - * @see org.spongycastle.math.ec.ECPoint#add(org.spongycastle.math.ec.ECPoint) - */ - public ECPoint add(ECPoint b) - { - checkPoints(this, b); - return addSimple((ECPoint.F2m)b); - } - - /** - * Adds another ECPoints.F2m to this without - * checking if both points are on the same curve. Used by multiplication - * algorithms, because there all points are a multiple of the same point - * and hence the checks can be omitted. - * @param b The other ECPoints.F2m to add to - * this. - * @return this + b - */ - public ECPoint.F2m addSimple(ECPoint.F2m b) - { - if (this.isInfinity()) - { - return b; - } - if (b.isInfinity()) - { - return this; - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - ECFieldElement X1 = this.x; - ECFieldElement X2 = b.x; - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement Y1 = this.y; - ECFieldElement Y2 = b.y; - - if (X1.equals(X2)) - { - if (Y1.equals(Y2)) - { - return (ECPoint.F2m)twice(); - } - - return (ECPoint.F2m)curve.getInfinity(); - } - - ECFieldElement sumX = X1.add(X2); - ECFieldElement L = Y1.add(Y2).divide(sumX); - - ECFieldElement X3 = L.square().add(L).add(sumX).add(curve.getA()); - ECFieldElement Y3 = L.multiply(X1.add(X3)).add(X3).add(Y1); - - return new ECPoint.F2m(curve, X3, Y3, this.withCompression); - } - case ECCurve.COORD_HOMOGENEOUS: - { - ECFieldElement Y1 = this.y, Z1 = this.zs[0]; - ECFieldElement Y2 = b.y, Z2 = b.zs[0]; - - boolean Z2IsOne = Z2.bitLength() == 1; - - ECFieldElement U1 = Z1.multiply(Y2); - ECFieldElement U2 = Z2IsOne ? Y1 : Y1.multiply(Z2); - ECFieldElement U = U1.subtract(U2); - ECFieldElement V1 = Z1.multiply(X2); - ECFieldElement V2 = Z2IsOne ? X1 : X1.multiply(Z2); - ECFieldElement V = V1.subtract(V2); - - if (V1.equals(V2)) - { - if (U1.equals(U2)) - { - return (ECPoint.F2m)twice(); - } - - return (ECPoint.F2m)curve.getInfinity(); - } - - ECFieldElement VSq = V.square(); - ECFieldElement W = Z2IsOne ? Z1 : Z1.multiply(Z2); - ECFieldElement A = U.square().add(U.multiply(V).add(VSq.multiply(curve.getA()))).multiply(W).add(V.multiply(VSq)); - - ECFieldElement X3 = V.multiply(A); - ECFieldElement VSqZ2 = Z2IsOne ? VSq : VSq.multiply(Z2); - ECFieldElement Y3 = VSqZ2.multiply(U.multiply(X1).add(Y1.multiply(V))).add(A.multiply(U.add(V))); - ECFieldElement Z3 = VSq.multiply(V).multiply(W); - - return new ECPoint.F2m(curve, X3, Y3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - if (X1.isZero()) - { - return b.addSimple(this); - } - - ECFieldElement L1 = this.y, Z1 = this.zs[0]; - ECFieldElement L2 = b.y, Z2 = b.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - ECFieldElement U2 = X2, S2 = L2; - if (!Z1IsOne) - { - U2 = U2.multiply(Z1); - S2 = S2.multiply(Z1); - } - - boolean Z2IsOne = Z2.bitLength() == 1; - ECFieldElement U1 = X1, S1 = L1; - if (!Z2IsOne) - { - U1 = U1.multiply(Z2); - S1 = S1.multiply(Z2); - } - - ECFieldElement A = S1.add(S2); - ECFieldElement B = U1.add(U2); - - if (B.isZero()) - { - if (A.isZero()) - { - return (ECPoint.F2m)twice(); - } - - return (ECPoint.F2m)curve.getInfinity(); - } - - ECFieldElement X3, L3, Z3; - if (X2.isZero()) - { - // TODO This can probably be optimized quite a bit - - ECFieldElement Y1 = getYCoord(), Y2 = L2; - ECFieldElement L = Y1.add(Y2).divide(X1); - - X3 = L.square().add(L).add(X1).add(curve.getA()); - ECFieldElement Y3 = L.multiply(X1.add(X3)).add(X3).add(Y1); - L3 = X3.isZero() ? Y3 : Y3.divide(X3).add(X3); - Z3 = curve.fromBigInteger(ECConstants.ONE); - } - else - { - B = B.square(); - - ECFieldElement AU1 = A.multiply(U1); - ECFieldElement AU2 = A.multiply(U2); - ECFieldElement ABZ2 = A.multiply(B); - if (!Z2IsOne) - { - ABZ2 = ABZ2.multiply(Z2); - } - - X3 = AU1.multiply(AU2); - L3 = AU2.add(B).square().add(ABZ2.multiply(L1.add(Z1))); - - Z3 = ABZ2; - if (!Z1IsOne) - { - Z3 = Z3.multiply(Z1); - } - } - - return new ECPoint.F2m(curve, X3, L3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - - /* (non-Javadoc) - * @see org.spongycastle.math.ec.ECPoint#subtract(org.spongycastle.math.ec.ECPoint) - */ - public ECPoint subtract(ECPoint b) - { - checkPoints(this, b); - return subtractSimple((ECPoint.F2m)b); - } - - /** - * Subtracts another ECPoints.F2m from this - * without checking if both points are on the same curve. Used by - * multiplication algorithms, because there all points are a multiple - * of the same point and hence the checks can be omitted. - * @param b The other ECPoints.F2m to subtract from - * this. - * @return this - b - */ - public ECPoint.F2m subtractSimple(ECPoint.F2m b) - { - if (b.isInfinity()) - { - return this; - } - - // Add -b - return addSimple((ECPoint.F2m)b.negate()); - } - - public ECPoint.F2m tau() - { - if (this.isInfinity()) - { - return this; - } - - ECCurve curve = this.getCurve(); - int coord = curve.getCoordinateSystem(); - - ECFieldElement X1 = this.x; - - switch (coord) - { - case ECCurve.COORD_AFFINE: - case ECCurve.COORD_LAMBDA_AFFINE: - { - ECFieldElement Y1 = this.y; - return new ECPoint.F2m(curve, X1.square(), Y1.square(), this.withCompression); - } - case ECCurve.COORD_HOMOGENEOUS: - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - ECFieldElement Y1 = this.y, Z1 = this.zs[0]; - return new ECPoint.F2m(curve, X1.square(), Y1.square(), new ECFieldElement[]{ Z1.square() }, this.withCompression); - } - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - - public ECPoint twice() - { - if (this.isInfinity()) - { - return this; - } - - ECCurve curve = this.getCurve(); - - ECFieldElement X1 = this.x; - if (X1.isZero()) - { - // A point with X == 0 is it's own additive inverse - return curve.getInfinity(); - } - - int coord = curve.getCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement Y1 = this.y; - - ECFieldElement L1 = Y1.divide(X1).add(X1); - - ECFieldElement X3 = L1.square().add(L1).add(curve.getA()); - ECFieldElement Y3 = X1.square().add(X3.multiply(L1.addOne())); - - return new ECPoint.F2m(curve, X3, Y3, this.withCompression); - } - case ECCurve.COORD_HOMOGENEOUS: - { - ECFieldElement Y1 = this.y, Z1 = this.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - ECFieldElement X1Z1 = Z1IsOne ? X1 : X1.multiply(Z1); - ECFieldElement Y1Z1 = Z1IsOne ? Y1 : Y1.multiply(Z1); - - ECFieldElement X1Sq = X1.square(); - ECFieldElement S = X1Sq.add(Y1Z1); - ECFieldElement V = X1Z1; - ECFieldElement vSquared = V.square(); - ECFieldElement h = S.square().add(S.multiply(V)).add(curve.getA().multiply(vSquared)); - - ECFieldElement X3 = V.multiply(h); - ECFieldElement Y3 = h.multiply(S.add(V)).add(X1Sq.square().multiply(V)); - ECFieldElement Z3 = V.multiply(vSquared); - - return new ECPoint.F2m(curve, X3, Y3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - ECFieldElement L1 = this.y, Z1 = this.zs[0]; - - boolean Z1IsOne = Z1.bitLength() == 1; - ECFieldElement L1Z1 = Z1IsOne ? L1 : L1.multiply(Z1); - ECFieldElement Z1Sq = Z1IsOne ? Z1 : Z1.square(); - ECFieldElement a = curve.getA(); - ECFieldElement aZ1Sq = Z1IsOne ? a : a.multiply(Z1Sq); - ECFieldElement T = L1.square().add(L1Z1).add(aZ1Sq); - - ECFieldElement X3 = T.square(); - ECFieldElement Z3 = Z1IsOne ? T : T.multiply(Z1Sq); - - ECFieldElement b = curve.getB(); - ECFieldElement L3; - if (b.bitLength() < (curve.getFieldSize() >> 1)) - { - ECFieldElement t1 = L1.add(X1).square(); - ECFieldElement t2 = aZ1Sq.square(); - ECFieldElement t3 = curve.getB().multiply(Z1Sq.square()); - L3 = t1.add(T).add(Z1Sq).multiply(t1).add(t2.add(t3)).add(X3).add(a.addOne().multiply(Z3)); - } - else - { - ECFieldElement X1Z1 = Z1IsOne ? X1 : X1.multiply(Z1); - L3 = X1Z1.square().add(X3).add(T.multiply(L1Z1)).add(Z3); - } - - return new ECPoint.F2m(curve, X3, L3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - - public ECPoint twicePlus(ECPoint b) - { - if (this.isInfinity()) - { - return b; - } - if (b.isInfinity()) - { - return twice(); - } - - ECCurve curve = this.getCurve(); - - ECFieldElement X1 = this.x; - if (X1.isZero()) - { - // A point with X == 0 is it's own additive inverse - return b; - } - - int coord = curve.getCoordinateSystem(); - - switch (coord) - { - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - // NOTE: twicePlus() only optimized for lambda-affine argument - ECFieldElement X2 = b.x, Z2 = b.zs[0]; - if (X2.isZero() || Z2.bitLength() != 1) - { - return twice().add(b); - } - - ECFieldElement L1 = this.y, Z1 = this.zs[0]; - ECFieldElement L2 = b.y; - - ECFieldElement X1Sq = X1.square(); - ECFieldElement L1Sq = L1.square(); - ECFieldElement Z1Sq = Z1.square(); - ECFieldElement L1Z1 = L1.multiply(Z1); - - ECFieldElement T = curve.getA().multiply(Z1Sq).add(L1Sq).add(L1Z1); - ECFieldElement L2plus1 = L2.addOne(); - ECFieldElement A = curve.getA().add(L2plus1).multiply(Z1Sq).add(L1Sq).multiply(T).add(X1Sq.multiply(Z1Sq)); - ECFieldElement X2Z1Sq = X2.multiply(Z1Sq); - ECFieldElement B = X2Z1Sq.add(T).square(); - - ECFieldElement X3 = A.square().multiply(X2Z1Sq); - ECFieldElement Z3 = A.multiply(B).multiply(Z1Sq); - ECFieldElement L3 = A.add(B).square().multiply(T).add(L2plus1.multiply(Z3)); - - return new ECPoint.F2m(curve, X3, L3, new ECFieldElement[]{ Z3 }, this.withCompression); - } - default: - { - return twice().add(b); - } - } - } - - protected void checkCurveEquation() - { - if (this.isInfinity()) - { - return; - } - - ECFieldElement Z; - switch (this.getCurveCoordinateSystem()) - { - case ECCurve.COORD_LAMBDA_AFFINE: - Z = curve.fromBigInteger(ECConstants.ONE); - break; - case ECCurve.COORD_LAMBDA_PROJECTIVE: - Z = this.zs[0]; - break; - default: - return; - } - - if (Z.isZero()) - { - throw new IllegalStateException(); - } - - ECFieldElement X = this.x; - if (X.isZero()) - { - // NOTE: For x == 0, we expect the affine-y instead of the lambda-y - ECFieldElement Y = this.y; - if (!Y.square().equals(curve.getB().multiply(Z))) - { - throw new IllegalStateException(); - } - - return; - } - - ECFieldElement L = this.y; - ECFieldElement XSq = X.square(); - ECFieldElement ZSq = Z.square(); - - ECFieldElement lhs = L.square().add(L.multiply(Z)).add(this.getCurve().getA().multiply(ZSq)).multiply(XSq); - ECFieldElement rhs = ZSq.square().multiply(this.getCurve().getB()).add(XSq.square()); - - if (!lhs.equals(rhs)) - { - throw new IllegalStateException("F2m Lambda-Projective invariant broken"); - } - } - - public ECPoint negate() - { - if (this.isInfinity()) - { - return this; - } - - ECFieldElement X = this.x; - if (X.isZero()) - { - return this; - } - - switch (this.getCurveCoordinateSystem()) - { - case ECCurve.COORD_AFFINE: - { - ECFieldElement Y = this.y; - return new ECPoint.F2m(curve, X, Y.add(X), this.withCompression); - } - case ECCurve.COORD_HOMOGENEOUS: - { - ECFieldElement Y = this.y, Z = this.zs[0]; - return new ECPoint.F2m(curve, X, Y.add(X), new ECFieldElement[]{ Z }, this.withCompression); - } - case ECCurve.COORD_LAMBDA_AFFINE: - { - ECFieldElement L = this.y; - return new ECPoint.F2m(curve, X, L.addOne(), this.withCompression); - } - case ECCurve.COORD_LAMBDA_PROJECTIVE: - { - // L is actually Lambda (X + Y/X) here - ECFieldElement L = this.y, Z = this.zs[0]; - return new ECPoint.F2m(curve, X, L.add(Z), new ECFieldElement[]{ Z }, this.withCompression); - } - default: - { - throw new IllegalStateException("unsupported coordinate system"); - } - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/IntArray.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/IntArray.java deleted file mode 100644 index f86cfbc16..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/IntArray.java +++ /dev/null @@ -1,860 +0,0 @@ -package org.spongycastle.math.ec; - -import org.spongycastle.util.Arrays; - -import java.math.BigInteger; - -class IntArray -{ -// private static int DEINTERLEAVE_MASK = 0x55555555; - - /* - * This expands 8 bit indices into 16 bit contents, by inserting 0s between bits. - * In a binary field, this operation is the same as squaring an 8 bit number. - */ - private static final int[] INTERLEAVE_TABLE = new int[] { 0x0000, 0x0001, 0x0004, 0x0005, 0x0010, 0x0011, 0x0014, - 0x0015, 0x0040, 0x0041, 0x0044, 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, 0x0100, 0x0101, 0x0104, 0x0105, 0x0110, - 0x0111, 0x0114, 0x0115, 0x0140, 0x0141, 0x0144, 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, 0x0400, 0x0401, 0x0404, - 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, 0x0440, 0x0441, 0x0444, 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, 0x0500, - 0x0501, 0x0504, 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, 0x0540, 0x0541, 0x0544, 0x0545, 0x0550, 0x0551, 0x0554, - 0x0555, 0x1000, 0x1001, 0x1004, 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, 0x1040, 0x1041, 0x1044, 0x1045, 0x1050, - 0x1051, 0x1054, 0x1055, 0x1100, 0x1101, 0x1104, 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, 0x1140, 0x1141, 0x1144, - 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, 0x1400, 0x1401, 0x1404, 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, 0x1440, - 0x1441, 0x1444, 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, 0x1500, 0x1501, 0x1504, 0x1505, 0x1510, 0x1511, 0x1514, - 0x1515, 0x1540, 0x1541, 0x1544, 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, 0x4000, 0x4001, 0x4004, 0x4005, 0x4010, - 0x4011, 0x4014, 0x4015, 0x4040, 0x4041, 0x4044, 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, 0x4100, 0x4101, 0x4104, - 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, 0x4140, 0x4141, 0x4144, 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, 0x4400, - 0x4401, 0x4404, 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, 0x4440, 0x4441, 0x4444, 0x4445, 0x4450, 0x4451, 0x4454, - 0x4455, 0x4500, 0x4501, 0x4504, 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, 0x4540, 0x4541, 0x4544, 0x4545, 0x4550, - 0x4551, 0x4554, 0x4555, 0x5000, 0x5001, 0x5004, 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, 0x5040, 0x5041, 0x5044, - 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, 0x5100, 0x5101, 0x5104, 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, 0x5140, - 0x5141, 0x5144, 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, 0x5400, 0x5401, 0x5404, 0x5405, 0x5410, 0x5411, 0x5414, - 0x5415, 0x5440, 0x5441, 0x5444, 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, - 0x5511, 0x5514, 0x5515, 0x5540, 0x5541, 0x5544, 0x5545, 0x5550, 0x5551, 0x5554, 0x5555 }; - - // For toString(); must have length 32 - private static final String ZEROES = "00000000000000000000000000000000"; - - private final static byte[] bitLengths = - { - 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 - }; - - public static int getWordLength(int bits) - { - return (bits + 31) >>> 5; - } - - // TODO make m fixed for the IntArray, and hence compute T once and for all - - private int[] m_ints; - - public IntArray(int intLen) - { - m_ints = new int[intLen]; - } - - public IntArray(int[] ints) - { - m_ints = ints; - } - - public IntArray(BigInteger bigInt) - { - if (bigInt == null || bigInt.signum() < 0) - { - throw new IllegalArgumentException("invalid F2m field value"); - } - - if (bigInt.signum() == 0) - { - m_ints = new int[] { 0 }; - return; - } - - byte[] barr = bigInt.toByteArray(); - int barrLen = barr.length; - int barrStart = 0; - if (barr[0] == 0) - { - // First byte is 0 to enforce highest (=sign) bit is zero. - // In this case ignore barr[0]. - barrLen--; - barrStart = 1; - } - int intLen = (barrLen + 3) / 4; - m_ints = new int[intLen]; - - int iarrJ = intLen - 1; - int rem = barrLen % 4 + barrStart; - int temp = 0; - int barrI = barrStart; - if (barrStart < rem) - { - for (; barrI < rem; barrI++) - { - temp <<= 8; - int barrBarrI = barr[barrI] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ--] = temp; - } - - for (; iarrJ >= 0; iarrJ--) - { - temp = 0; - for (int i = 0; i < 4; i++) - { - temp <<= 8; - int barrBarrI = barr[barrI++] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ] = temp; - } - } - - public boolean isZero() - { - int[] a = m_ints; - for (int i = 0; i < a.length; ++i) - { - if (a[i] != 0) - { - return false; - } - } - return true; - } - - public int getUsedLength() - { - return getUsedLengthFrom(m_ints.length); - } - - public int getUsedLengthFrom(int from) - { - int[] a = m_ints; - from = Math.min(from, a.length); - - if (from < 1) - { - return 0; - } - - // Check if first element will act as sentinel - if (a[0] != 0) - { - while (a[--from] == 0) - { - } - return from + 1; - } - - do - { - if (a[--from] != 0) - { - return from + 1; - } - } - while (from > 0); - - return 0; - } - - public int degree() - { - int i = m_ints.length, w; - do - { - if (i == 0) - { - return 0; - } - w = m_ints[--i]; - } - while (w == 0); - - return (i << 5) + bitLength(w); - } - - private static int bitLength(int w) - { - int t = w >>> 16; - if (t == 0) - { - t = w >>> 8; - return (t == 0) ? bitLengths[w] : 8 + bitLengths[t]; - } - - int u = t >>> 8; - return (u == 0) ? 16 + bitLengths[t] : 24 + bitLengths[u]; - } - - private int[] resizedInts(int newLen) - { - int[] newInts = new int[newLen]; - System.arraycopy(m_ints, 0, newInts, 0, Math.min(m_ints.length, newLen)); - return newInts; - } - - public BigInteger toBigInteger() - { - int usedLen = getUsedLength(); - if (usedLen == 0) - { - return ECConstants.ZERO; - } - - int highestInt = m_ints[usedLen - 1]; - byte[] temp = new byte[4]; - int barrI = 0; - boolean trailingZeroBytesDone = false; - for (int j = 3; j >= 0; j--) - { - byte thisByte = (byte) (highestInt >>> (8 * j)); - if (trailingZeroBytesDone || (thisByte != 0)) - { - trailingZeroBytesDone = true; - temp[barrI++] = thisByte; - } - } - - int barrLen = 4 * (usedLen - 1) + barrI; - byte[] barr = new byte[barrLen]; - for (int j = 0; j < barrI; j++) - { - barr[j] = temp[j]; - } - // Highest value int is done now - - for (int iarrJ = usedLen - 2; iarrJ >= 0; iarrJ--) - { - for (int j = 3; j >= 0; j--) - { - barr[barrI++] = (byte) (m_ints[iarrJ] >>> (8 * j)); - } - } - return new BigInteger(1, barr); - } - - private static int shiftLeft(int[] x, int count) - { - int prev = 0; - for (int i = 0; i < count; ++i) - { - int next = x[i]; - x[i] = (next << 1) | prev; - prev = next >>> 31; - } - return prev; - } - - public void addOneShifted(int shift) - { - if (shift >= m_ints.length) - { - m_ints = resizedInts(shift + 1); - } - - m_ints[shift] ^= 1; - } - - private void addShiftedByBits(IntArray other, int bits) - { - int words = bits >>> 5; - int shift = bits & 0x1F; - - if (shift == 0) - { - addShiftedByWords(other, words); - return; - } - - int otherUsedLen = other.getUsedLength(); - if (otherUsedLen == 0) - { - return; - } - - int minLen = otherUsedLen + words + 1; - if (minLen > m_ints.length) - { - m_ints = resizedInts(minLen); - } - - int shiftInv = 32 - shift, prev = 0; - for (int i = 0; i < otherUsedLen; ++i) - { - int next = other.m_ints[i]; - m_ints[i + words] ^= (next << shift) | prev; - prev = next >>> shiftInv; - } - m_ints[otherUsedLen + words] ^= prev; - } - - private static int addShiftedByBits(int[] x, int[] y, int count, int shift) - { - int shiftInv = 32 - shift, prev = 0; - for (int i = 0; i < count; ++i) - { - int next = y[i]; - x[i] ^= (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - private static int addShiftedByBits(int[] x, int xOff, int[] y, int yOff, int count, int shift) - { - int shiftInv = 32 - shift, prev = 0; - for (int i = 0; i < count; ++i) - { - int next = y[yOff + i]; - x[xOff + i] ^= (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - public void addShiftedByWords(IntArray other, int words) - { - int otherUsedLen = other.getUsedLength(); - if (otherUsedLen == 0) - { - return; - } - - int minLen = otherUsedLen + words; - if (minLen > m_ints.length) - { - m_ints = resizedInts(minLen); - } - - for (int i = 0; i < otherUsedLen; i++) - { - m_ints[words + i] ^= other.m_ints[i]; - } - } - - private static void addShiftedByWords(int[] x, int xOff, int[] y, int count) - { - for (int i = 0; i < count; ++i) - { - x[xOff + i] ^= y[i]; - } - } - - private static void add(int[] x, int[] y, int count) - { - for (int i = 0; i < count; ++i) - { - x[i] ^= y[i]; - } - } - - private static void distribute(int[] x, int dst1, int dst2, int src, int count) - { - for (int i = 0; i < count; ++i) - { - int v = x[src + i]; - x[dst1 + i] ^= v; - x[dst2 + i] ^= v; - } - } - - public int getLength() - { - return m_ints.length; - } - - public void flipWord(int bit, int word) - { - int len = m_ints.length; - int n = bit >>> 5; - if (n < len) - { - int shift = bit & 0x1F; - if (shift == 0) - { - m_ints[n] ^= word; - } - else - { - m_ints[n] ^= word << shift; - if (++n < len) - { - m_ints[n] ^= word >>> (32 - shift); - } - } - } - } - - public int getWord(int bit) - { - int len = m_ints.length; - int n = bit >>> 5; - if (n >= len) - { - return 0; - } - int shift = bit & 0x1F; - if (shift == 0) - { - return m_ints[n]; - } - int result = m_ints[n] >>> shift; - if (++n < len) - { - result |= m_ints[n] << (32 - shift); - } - return result; - } - - public boolean testBitZero() - { - return m_ints.length > 0 && (m_ints[0] & 1) != 0; - } - - public boolean testBit(int n) - { - // theInt = n / 32 - int theInt = n >>> 5; - // theBit = n % 32 - int theBit = n & 0x1F; - int tester = 1 << theBit; - return ((m_ints[theInt] & tester) != 0); - } - - public void flipBit(int n) - { - // theInt = n / 32 - int theInt = n >>> 5; - // theBit = n % 32 - int theBit = n & 0x1F; - int flipper = 1 << theBit; - m_ints[theInt] ^= flipper; - } - - public void setBit(int n) - { - // theInt = n / 32 - int theInt = n >>> 5; - // theBit = n % 32 - int theBit = n & 0x1F; - int setter = 1 << theBit; - m_ints[theInt] |= setter; - } - - public void clearBit(int n) - { - // theInt = n / 32 - int theInt = n >>> 5; - // theBit = n % 32 - int theBit = n & 0x1F; - int setter = 1 << theBit; - m_ints[theInt] &= ~setter; - } - - public IntArray multiply(IntArray other, int m) - { - int aLen = getUsedLength(); - if (aLen == 0) - { - return new IntArray(1); - } - - int bLen = other.getUsedLength(); - if (bLen == 0) - { - return new IntArray(1); - } - - IntArray A = this, B = other; - if (aLen > bLen) - { - A = other; B = this; - int tmp = aLen; aLen = bLen; bLen = tmp; - } - - if (aLen == 1) - { - int a = A.m_ints[0]; - int[] b = B.m_ints; - int[] c = new int[aLen + bLen]; - if ((a & 1) != 0) - { - add(c, b, bLen); - } - int k = 1; - while ((a >>>= 1) != 0) - { - if ((a & 1) != 0) - { - addShiftedByBits(c, b, bLen, k); - } - ++k; - } - return new IntArray(c); - } - - // TODO It'd be better to be able to tune the width directly (need support for interleaving arbitrary widths) - int complexity = aLen <= 8 ? 1 : 2; - - int width = 1 << complexity; - int shifts = (32 >>> complexity); - - int bExt = bLen; - if ((B.m_ints[bLen - 1] >>> (33 - shifts)) != 0) - { - ++bExt; - } - - int cLen = bExt + aLen; - - int[] c = new int[cLen << width]; - System.arraycopy(B.m_ints, 0, c, 0, bLen); - interleave(A.m_ints, 0, c, bExt, aLen, complexity); - - int[] ci = new int[1 << width]; - for (int i = 1; i < ci.length; ++i) - { - ci[i] = ci[i - 1] + cLen; - } - - int MASK = (1 << width) - 1; - - int k = 0; - for (;;) - { - for (int aPos = 0; aPos < aLen; ++aPos) - { - int index = (c[bExt + aPos] >>> k) & MASK; - if (index != 0) - { - addShiftedByWords(c, aPos + ci[index], c, bExt); - } - } - - if ((k += width) >= 32) - { - break; - } - - shiftLeft(c, bExt); - } - - int ciPos = ci.length, pow2 = ciPos >>> 1, offset = 32; - while (--ciPos > 1) - { - if (ciPos == pow2) - { - offset -= shifts; - addShiftedByBits(c, ci[1], c, ci[pow2], cLen, offset); - pow2 >>>= 1; - } - else - { - distribute(c, ci[pow2], ci[ciPos - pow2], ci[ciPos], cLen); - } - } - - // TODO reduce in place to avoid extra copying - IntArray p = new IntArray(cLen); - System.arraycopy(c, ci[1], p.m_ints, 0, cLen); - return p; - } - -// private static void deInterleave(int[] x, int xOff, int[] z, int zOff, int count, int rounds) -// { -// for (int i = 0; i < count; ++i) -// { -// z[zOff + i] = deInterleave(x[zOff + i], rounds); -// } -// } -// -// private static int deInterleave(int x, int rounds) -// { -// while (--rounds >= 0) -// { -// x = deInterleave16(x & DEINTERLEAVE_MASK) | (deInterleave16((x >>> 1) & DEINTERLEAVE_MASK) << 16); -// } -// return x; -// } -// -// private static int deInterleave16(int x) -// { -// x = (x | (x >>> 1)) & 0x33333333; -// x = (x | (x >>> 2)) & 0x0F0F0F0F; -// x = (x | (x >>> 4)) & 0x00FF00FF; -// x = (x | (x >>> 8)) & 0x0000FFFF; -// return x; -// } - - public void reduce(int m, int[] ks) - { - int len = getUsedLength(); - int mLen = (m + 31) >>> 5; - if (len < mLen) - { - return; - } - - int _2m = m << 1; - int pos = Math.min(_2m - 2, (len << 5) - 1); - - int kMax = ks[ks.length - 1]; - if (kMax < m - 31) - { - reduceWordWise(pos, m, ks); - } - else - { - reduceBitWise(pos, m, ks); - } - - // Instead of flipping the high bits in the loop, explicitly clear any partial word above m bits - int partial = m & 0x1F; - if (partial != 0) - { - m_ints[mLen - 1] &= (1 << partial) - 1; - } - - if (len > mLen) - { - m_ints = resizedInts(mLen); - } - } - - private void reduceBitWise(int from, int m, int[] ks) - { - for (int i = from; i >= m; --i) - { - if (testBit(i)) - { -// clearBit(i); - int bit = i - m; - flipBit(bit); - int j = ks.length; - while (--j >= 0) - { - flipBit(ks[j] + bit); - } - } - } - } - - private void reduceWordWise(int from, int m, int[] ks) - { - int pos = m + ((from - m) & ~0x1F); - for (int i = pos; i >= m; i -= 32) - { - int word = getWord(i); - if (word != 0) - { -// flipWord(i); - int bit = i - m; - flipWord(bit, word); - int j = ks.length; - while (--j >= 0) - { - flipWord(ks[j] + bit, word); - } - } - } - } - - public IntArray square(int m) - { - int len = getUsedLength(); - if (len == 0) - { - return this; - } - - int _2len = len << 1; - int[] r = new int[_2len]; - - int pos = 0; - while (pos < _2len) - { - int mi = m_ints[pos >>> 1]; - r[pos++] = interleave16(mi & 0xFFFF); - r[pos++] = interleave16(mi >>> 16); - } - - return new IntArray(r); - } - - private static void interleave(int[] x, int xOff, int[] z, int zOff, int count, int rounds) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave(x[xOff + i], rounds); - } - } - - private static int interleave(int x, int rounds) - { - while (--rounds >= 0) - { - x = interleave16(x & 0xFFFF) | (interleave16(x >>> 16) << 1); - } - return x; - } - - private static int interleave16(int n) - { - return INTERLEAVE_TABLE[n & 0xFF] | INTERLEAVE_TABLE[n >>> 8] << 16; - } - - public IntArray modInverse(int m, int[] ks) - { - // Inversion in F2m using the extended Euclidean algorithm - // Input: A nonzero polynomial a(z) of degree at most m-1 - // Output: a(z)^(-1) mod f(z) - - int uzDegree = degree(); - if (uzDegree == 1) - { - return this; - } - - // u(z) := a(z) - IntArray uz = (IntArray)clone(); - - int t = getWordLength(m); - - // v(z) := f(z) - IntArray vz = new IntArray(t); - vz.setBit(m); - vz.setBit(0); - vz.setBit(ks[0]); - if (ks.length > 1) - { - vz.setBit(ks[1]); - vz.setBit(ks[2]); - } - - // g1(z) := 1, g2(z) := 0 - IntArray g1z = new IntArray(t); - g1z.setBit(0); - IntArray g2z = new IntArray(t); - - while (uzDegree != 0) - { - // j := deg(u(z)) - deg(v(z)) - int j = uzDegree - vz.degree(); - - // If j < 0 then: u(z) <-> v(z), g1(z) <-> g2(z), j := -j - if (j < 0) - { - final IntArray uzCopy = uz; - uz = vz; - vz = uzCopy; - - final IntArray g1zCopy = g1z; - g1z = g2z; - g2z = g1zCopy; - - j = -j; - } - - // u(z) := u(z) + z^j * v(z) - // Note, that no reduction modulo f(z) is required, because - // deg(u(z) + z^j * v(z)) <= max(deg(u(z)), j + deg(v(z))) - // = max(deg(u(z)), deg(u(z)) - deg(v(z)) + deg(v(z)) - // = deg(u(z)) - // uz = uz.xor(vz.shiftLeft(j)); - uz.addShiftedByBits(vz, j); - uzDegree = uz.degree(); - - // g1(z) := g1(z) + z^j * g2(z) -// g1z = g1z.xor(g2z.shiftLeft(j)); - if (uzDegree != 0) - { - g1z.addShiftedByBits(g2z, j); - } - } - return g2z; - } - - public boolean equals(Object o) - { - if (!(o instanceof IntArray)) - { - return false; - } - IntArray other = (IntArray) o; - int usedLen = getUsedLength(); - if (other.getUsedLength() != usedLen) - { - return false; - } - for (int i = 0; i < usedLen; i++) - { - if (m_ints[i] != other.m_ints[i]) - { - return false; - } - } - return true; - } - - public int hashCode() - { - int usedLen = getUsedLength(); - int hash = 1; - for (int i = 0; i < usedLen; i++) - { - hash *= 31; - hash ^= m_ints[i]; - } - return hash; - } - - public Object clone() - { - return new IntArray(Arrays.clone(m_ints)); - } - - public String toString() - { - int i = getUsedLength(); - if (i == 0) - { - return "0"; - } - - StringBuffer sb = new StringBuffer(Integer.toBinaryString(m_ints[--i])); - while (--i >= 0) - { - String s = Integer.toBinaryString(m_ints[i]); - - // Add leading zeroes, except for highest significant word - int len = s.length(); - if (len < 32) - { - sb.append(ZEROES.substring(len)); - } - - sb.append(s); - } - return sb.toString(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/LongArray.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/LongArray.java deleted file mode 100644 index 21b2e45d2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/LongArray.java +++ /dev/null @@ -1,1995 +0,0 @@ -package org.spongycastle.math.ec; - -import org.spongycastle.util.Arrays; - -import java.math.BigInteger; - -class LongArray -{ -// private static long DEINTERLEAVE_MASK = 0x5555555555555555L; - - /* - * This expands 8 bit indices into 16 bit contents (high bit 14), by inserting 0s between bits. - * In a binary field, this operation is the same as squaring an 8 bit number. - */ - private static final int[] INTERLEAVE2_TABLE = new int[] - { - 0x0000, 0x0001, 0x0004, 0x0005, 0x0010, 0x0011, 0x0014, 0x0015, - 0x0040, 0x0041, 0x0044, 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, - 0x0100, 0x0101, 0x0104, 0x0105, 0x0110, 0x0111, 0x0114, 0x0115, - 0x0140, 0x0141, 0x0144, 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, - 0x0400, 0x0401, 0x0404, 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, - 0x0440, 0x0441, 0x0444, 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, - 0x0500, 0x0501, 0x0504, 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, - 0x0540, 0x0541, 0x0544, 0x0545, 0x0550, 0x0551, 0x0554, 0x0555, - 0x1000, 0x1001, 0x1004, 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, - 0x1040, 0x1041, 0x1044, 0x1045, 0x1050, 0x1051, 0x1054, 0x1055, - 0x1100, 0x1101, 0x1104, 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, - 0x1140, 0x1141, 0x1144, 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, - 0x1400, 0x1401, 0x1404, 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, - 0x1440, 0x1441, 0x1444, 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, - 0x1500, 0x1501, 0x1504, 0x1505, 0x1510, 0x1511, 0x1514, 0x1515, - 0x1540, 0x1541, 0x1544, 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, - 0x4000, 0x4001, 0x4004, 0x4005, 0x4010, 0x4011, 0x4014, 0x4015, - 0x4040, 0x4041, 0x4044, 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, - 0x4100, 0x4101, 0x4104, 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, - 0x4140, 0x4141, 0x4144, 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, - 0x4400, 0x4401, 0x4404, 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, - 0x4440, 0x4441, 0x4444, 0x4445, 0x4450, 0x4451, 0x4454, 0x4455, - 0x4500, 0x4501, 0x4504, 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, - 0x4540, 0x4541, 0x4544, 0x4545, 0x4550, 0x4551, 0x4554, 0x4555, - 0x5000, 0x5001, 0x5004, 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, - 0x5040, 0x5041, 0x5044, 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, - 0x5100, 0x5101, 0x5104, 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, - 0x5140, 0x5141, 0x5144, 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, - 0x5400, 0x5401, 0x5404, 0x5405, 0x5410, 0x5411, 0x5414, 0x5415, - 0x5440, 0x5441, 0x5444, 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, - 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, 0x5511, 0x5514, 0x5515, - 0x5540, 0x5541, 0x5544, 0x5545, 0x5550, 0x5551, 0x5554, 0x5555 - }; - - /* - * This expands 7 bit indices into 21 bit contents (high bit 18), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE3_TABLE = new int[] - { - 0x00000, 0x00001, 0x00008, 0x00009, 0x00040, 0x00041, 0x00048, 0x00049, - 0x00200, 0x00201, 0x00208, 0x00209, 0x00240, 0x00241, 0x00248, 0x00249, - 0x01000, 0x01001, 0x01008, 0x01009, 0x01040, 0x01041, 0x01048, 0x01049, - 0x01200, 0x01201, 0x01208, 0x01209, 0x01240, 0x01241, 0x01248, 0x01249, - 0x08000, 0x08001, 0x08008, 0x08009, 0x08040, 0x08041, 0x08048, 0x08049, - 0x08200, 0x08201, 0x08208, 0x08209, 0x08240, 0x08241, 0x08248, 0x08249, - 0x09000, 0x09001, 0x09008, 0x09009, 0x09040, 0x09041, 0x09048, 0x09049, - 0x09200, 0x09201, 0x09208, 0x09209, 0x09240, 0x09241, 0x09248, 0x09249, - 0x40000, 0x40001, 0x40008, 0x40009, 0x40040, 0x40041, 0x40048, 0x40049, - 0x40200, 0x40201, 0x40208, 0x40209, 0x40240, 0x40241, 0x40248, 0x40249, - 0x41000, 0x41001, 0x41008, 0x41009, 0x41040, 0x41041, 0x41048, 0x41049, - 0x41200, 0x41201, 0x41208, 0x41209, 0x41240, 0x41241, 0x41248, 0x41249, - 0x48000, 0x48001, 0x48008, 0x48009, 0x48040, 0x48041, 0x48048, 0x48049, - 0x48200, 0x48201, 0x48208, 0x48209, 0x48240, 0x48241, 0x48248, 0x48249, - 0x49000, 0x49001, 0x49008, 0x49009, 0x49040, 0x49041, 0x49048, 0x49049, - 0x49200, 0x49201, 0x49208, 0x49209, 0x49240, 0x49241, 0x49248, 0x49249 - }; - - /* - * This expands 8 bit indices into 32 bit contents (high bit 28), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE4_TABLE = new int[] - { - 0x00000000, 0x00000001, 0x00000010, 0x00000011, 0x00000100, 0x00000101, 0x00000110, 0x00000111, - 0x00001000, 0x00001001, 0x00001010, 0x00001011, 0x00001100, 0x00001101, 0x00001110, 0x00001111, - 0x00010000, 0x00010001, 0x00010010, 0x00010011, 0x00010100, 0x00010101, 0x00010110, 0x00010111, - 0x00011000, 0x00011001, 0x00011010, 0x00011011, 0x00011100, 0x00011101, 0x00011110, 0x00011111, - 0x00100000, 0x00100001, 0x00100010, 0x00100011, 0x00100100, 0x00100101, 0x00100110, 0x00100111, - 0x00101000, 0x00101001, 0x00101010, 0x00101011, 0x00101100, 0x00101101, 0x00101110, 0x00101111, - 0x00110000, 0x00110001, 0x00110010, 0x00110011, 0x00110100, 0x00110101, 0x00110110, 0x00110111, - 0x00111000, 0x00111001, 0x00111010, 0x00111011, 0x00111100, 0x00111101, 0x00111110, 0x00111111, - 0x01000000, 0x01000001, 0x01000010, 0x01000011, 0x01000100, 0x01000101, 0x01000110, 0x01000111, - 0x01001000, 0x01001001, 0x01001010, 0x01001011, 0x01001100, 0x01001101, 0x01001110, 0x01001111, - 0x01010000, 0x01010001, 0x01010010, 0x01010011, 0x01010100, 0x01010101, 0x01010110, 0x01010111, - 0x01011000, 0x01011001, 0x01011010, 0x01011011, 0x01011100, 0x01011101, 0x01011110, 0x01011111, - 0x01100000, 0x01100001, 0x01100010, 0x01100011, 0x01100100, 0x01100101, 0x01100110, 0x01100111, - 0x01101000, 0x01101001, 0x01101010, 0x01101011, 0x01101100, 0x01101101, 0x01101110, 0x01101111, - 0x01110000, 0x01110001, 0x01110010, 0x01110011, 0x01110100, 0x01110101, 0x01110110, 0x01110111, - 0x01111000, 0x01111001, 0x01111010, 0x01111011, 0x01111100, 0x01111101, 0x01111110, 0x01111111, - 0x10000000, 0x10000001, 0x10000010, 0x10000011, 0x10000100, 0x10000101, 0x10000110, 0x10000111, - 0x10001000, 0x10001001, 0x10001010, 0x10001011, 0x10001100, 0x10001101, 0x10001110, 0x10001111, - 0x10010000, 0x10010001, 0x10010010, 0x10010011, 0x10010100, 0x10010101, 0x10010110, 0x10010111, - 0x10011000, 0x10011001, 0x10011010, 0x10011011, 0x10011100, 0x10011101, 0x10011110, 0x10011111, - 0x10100000, 0x10100001, 0x10100010, 0x10100011, 0x10100100, 0x10100101, 0x10100110, 0x10100111, - 0x10101000, 0x10101001, 0x10101010, 0x10101011, 0x10101100, 0x10101101, 0x10101110, 0x10101111, - 0x10110000, 0x10110001, 0x10110010, 0x10110011, 0x10110100, 0x10110101, 0x10110110, 0x10110111, - 0x10111000, 0x10111001, 0x10111010, 0x10111011, 0x10111100, 0x10111101, 0x10111110, 0x10111111, - 0x11000000, 0x11000001, 0x11000010, 0x11000011, 0x11000100, 0x11000101, 0x11000110, 0x11000111, - 0x11001000, 0x11001001, 0x11001010, 0x11001011, 0x11001100, 0x11001101, 0x11001110, 0x11001111, - 0x11010000, 0x11010001, 0x11010010, 0x11010011, 0x11010100, 0x11010101, 0x11010110, 0x11010111, - 0x11011000, 0x11011001, 0x11011010, 0x11011011, 0x11011100, 0x11011101, 0x11011110, 0x11011111, - 0x11100000, 0x11100001, 0x11100010, 0x11100011, 0x11100100, 0x11100101, 0x11100110, 0x11100111, - 0x11101000, 0x11101001, 0x11101010, 0x11101011, 0x11101100, 0x11101101, 0x11101110, 0x11101111, - 0x11110000, 0x11110001, 0x11110010, 0x11110011, 0x11110100, 0x11110101, 0x11110110, 0x11110111, - 0x11111000, 0x11111001, 0x11111010, 0x11111011, 0x11111100, 0x11111101, 0x11111110, 0x11111111 - }; - - /* - * This expands 7 bit indices into 35 bit contents (high bit 30), by inserting 0s between bits. - */ - private static final int[] INTERLEAVE5_TABLE = new int[] { - 0x00000000, 0x00000001, 0x00000020, 0x00000021, 0x00000400, 0x00000401, 0x00000420, 0x00000421, - 0x00008000, 0x00008001, 0x00008020, 0x00008021, 0x00008400, 0x00008401, 0x00008420, 0x00008421, - 0x00100000, 0x00100001, 0x00100020, 0x00100021, 0x00100400, 0x00100401, 0x00100420, 0x00100421, - 0x00108000, 0x00108001, 0x00108020, 0x00108021, 0x00108400, 0x00108401, 0x00108420, 0x00108421, - 0x02000000, 0x02000001, 0x02000020, 0x02000021, 0x02000400, 0x02000401, 0x02000420, 0x02000421, - 0x02008000, 0x02008001, 0x02008020, 0x02008021, 0x02008400, 0x02008401, 0x02008420, 0x02008421, - 0x02100000, 0x02100001, 0x02100020, 0x02100021, 0x02100400, 0x02100401, 0x02100420, 0x02100421, - 0x02108000, 0x02108001, 0x02108020, 0x02108021, 0x02108400, 0x02108401, 0x02108420, 0x02108421, - 0x40000000, 0x40000001, 0x40000020, 0x40000021, 0x40000400, 0x40000401, 0x40000420, 0x40000421, - 0x40008000, 0x40008001, 0x40008020, 0x40008021, 0x40008400, 0x40008401, 0x40008420, 0x40008421, - 0x40100000, 0x40100001, 0x40100020, 0x40100021, 0x40100400, 0x40100401, 0x40100420, 0x40100421, - 0x40108000, 0x40108001, 0x40108020, 0x40108021, 0x40108400, 0x40108401, 0x40108420, 0x40108421, - 0x42000000, 0x42000001, 0x42000020, 0x42000021, 0x42000400, 0x42000401, 0x42000420, 0x42000421, - 0x42008000, 0x42008001, 0x42008020, 0x42008021, 0x42008400, 0x42008401, 0x42008420, 0x42008421, - 0x42100000, 0x42100001, 0x42100020, 0x42100021, 0x42100400, 0x42100401, 0x42100420, 0x42100421, - 0x42108000, 0x42108001, 0x42108020, 0x42108021, 0x42108400, 0x42108401, 0x42108420, 0x42108421 - }; - - /* - * This expands 9 bit indices into 63 bit (long) contents (high bit 56), by inserting 0s between bits. - */ - private static final long[] INTERLEAVE7_TABLE = new long[] - { - 0x0000000000000000L, 0x0000000000000001L, 0x0000000000000080L, 0x0000000000000081L, - 0x0000000000004000L, 0x0000000000004001L, 0x0000000000004080L, 0x0000000000004081L, - 0x0000000000200000L, 0x0000000000200001L, 0x0000000000200080L, 0x0000000000200081L, - 0x0000000000204000L, 0x0000000000204001L, 0x0000000000204080L, 0x0000000000204081L, - 0x0000000010000000L, 0x0000000010000001L, 0x0000000010000080L, 0x0000000010000081L, - 0x0000000010004000L, 0x0000000010004001L, 0x0000000010004080L, 0x0000000010004081L, - 0x0000000010200000L, 0x0000000010200001L, 0x0000000010200080L, 0x0000000010200081L, - 0x0000000010204000L, 0x0000000010204001L, 0x0000000010204080L, 0x0000000010204081L, - 0x0000000800000000L, 0x0000000800000001L, 0x0000000800000080L, 0x0000000800000081L, - 0x0000000800004000L, 0x0000000800004001L, 0x0000000800004080L, 0x0000000800004081L, - 0x0000000800200000L, 0x0000000800200001L, 0x0000000800200080L, 0x0000000800200081L, - 0x0000000800204000L, 0x0000000800204001L, 0x0000000800204080L, 0x0000000800204081L, - 0x0000000810000000L, 0x0000000810000001L, 0x0000000810000080L, 0x0000000810000081L, - 0x0000000810004000L, 0x0000000810004001L, 0x0000000810004080L, 0x0000000810004081L, - 0x0000000810200000L, 0x0000000810200001L, 0x0000000810200080L, 0x0000000810200081L, - 0x0000000810204000L, 0x0000000810204001L, 0x0000000810204080L, 0x0000000810204081L, - 0x0000040000000000L, 0x0000040000000001L, 0x0000040000000080L, 0x0000040000000081L, - 0x0000040000004000L, 0x0000040000004001L, 0x0000040000004080L, 0x0000040000004081L, - 0x0000040000200000L, 0x0000040000200001L, 0x0000040000200080L, 0x0000040000200081L, - 0x0000040000204000L, 0x0000040000204001L, 0x0000040000204080L, 0x0000040000204081L, - 0x0000040010000000L, 0x0000040010000001L, 0x0000040010000080L, 0x0000040010000081L, - 0x0000040010004000L, 0x0000040010004001L, 0x0000040010004080L, 0x0000040010004081L, - 0x0000040010200000L, 0x0000040010200001L, 0x0000040010200080L, 0x0000040010200081L, - 0x0000040010204000L, 0x0000040010204001L, 0x0000040010204080L, 0x0000040010204081L, - 0x0000040800000000L, 0x0000040800000001L, 0x0000040800000080L, 0x0000040800000081L, - 0x0000040800004000L, 0x0000040800004001L, 0x0000040800004080L, 0x0000040800004081L, - 0x0000040800200000L, 0x0000040800200001L, 0x0000040800200080L, 0x0000040800200081L, - 0x0000040800204000L, 0x0000040800204001L, 0x0000040800204080L, 0x0000040800204081L, - 0x0000040810000000L, 0x0000040810000001L, 0x0000040810000080L, 0x0000040810000081L, - 0x0000040810004000L, 0x0000040810004001L, 0x0000040810004080L, 0x0000040810004081L, - 0x0000040810200000L, 0x0000040810200001L, 0x0000040810200080L, 0x0000040810200081L, - 0x0000040810204000L, 0x0000040810204001L, 0x0000040810204080L, 0x0000040810204081L, - 0x0002000000000000L, 0x0002000000000001L, 0x0002000000000080L, 0x0002000000000081L, - 0x0002000000004000L, 0x0002000000004001L, 0x0002000000004080L, 0x0002000000004081L, - 0x0002000000200000L, 0x0002000000200001L, 0x0002000000200080L, 0x0002000000200081L, - 0x0002000000204000L, 0x0002000000204001L, 0x0002000000204080L, 0x0002000000204081L, - 0x0002000010000000L, 0x0002000010000001L, 0x0002000010000080L, 0x0002000010000081L, - 0x0002000010004000L, 0x0002000010004001L, 0x0002000010004080L, 0x0002000010004081L, - 0x0002000010200000L, 0x0002000010200001L, 0x0002000010200080L, 0x0002000010200081L, - 0x0002000010204000L, 0x0002000010204001L, 0x0002000010204080L, 0x0002000010204081L, - 0x0002000800000000L, 0x0002000800000001L, 0x0002000800000080L, 0x0002000800000081L, - 0x0002000800004000L, 0x0002000800004001L, 0x0002000800004080L, 0x0002000800004081L, - 0x0002000800200000L, 0x0002000800200001L, 0x0002000800200080L, 0x0002000800200081L, - 0x0002000800204000L, 0x0002000800204001L, 0x0002000800204080L, 0x0002000800204081L, - 0x0002000810000000L, 0x0002000810000001L, 0x0002000810000080L, 0x0002000810000081L, - 0x0002000810004000L, 0x0002000810004001L, 0x0002000810004080L, 0x0002000810004081L, - 0x0002000810200000L, 0x0002000810200001L, 0x0002000810200080L, 0x0002000810200081L, - 0x0002000810204000L, 0x0002000810204001L, 0x0002000810204080L, 0x0002000810204081L, - 0x0002040000000000L, 0x0002040000000001L, 0x0002040000000080L, 0x0002040000000081L, - 0x0002040000004000L, 0x0002040000004001L, 0x0002040000004080L, 0x0002040000004081L, - 0x0002040000200000L, 0x0002040000200001L, 0x0002040000200080L, 0x0002040000200081L, - 0x0002040000204000L, 0x0002040000204001L, 0x0002040000204080L, 0x0002040000204081L, - 0x0002040010000000L, 0x0002040010000001L, 0x0002040010000080L, 0x0002040010000081L, - 0x0002040010004000L, 0x0002040010004001L, 0x0002040010004080L, 0x0002040010004081L, - 0x0002040010200000L, 0x0002040010200001L, 0x0002040010200080L, 0x0002040010200081L, - 0x0002040010204000L, 0x0002040010204001L, 0x0002040010204080L, 0x0002040010204081L, - 0x0002040800000000L, 0x0002040800000001L, 0x0002040800000080L, 0x0002040800000081L, - 0x0002040800004000L, 0x0002040800004001L, 0x0002040800004080L, 0x0002040800004081L, - 0x0002040800200000L, 0x0002040800200001L, 0x0002040800200080L, 0x0002040800200081L, - 0x0002040800204000L, 0x0002040800204001L, 0x0002040800204080L, 0x0002040800204081L, - 0x0002040810000000L, 0x0002040810000001L, 0x0002040810000080L, 0x0002040810000081L, - 0x0002040810004000L, 0x0002040810004001L, 0x0002040810004080L, 0x0002040810004081L, - 0x0002040810200000L, 0x0002040810200001L, 0x0002040810200080L, 0x0002040810200081L, - 0x0002040810204000L, 0x0002040810204001L, 0x0002040810204080L, 0x0002040810204081L, - 0x0100000000000000L, 0x0100000000000001L, 0x0100000000000080L, 0x0100000000000081L, - 0x0100000000004000L, 0x0100000000004001L, 0x0100000000004080L, 0x0100000000004081L, - 0x0100000000200000L, 0x0100000000200001L, 0x0100000000200080L, 0x0100000000200081L, - 0x0100000000204000L, 0x0100000000204001L, 0x0100000000204080L, 0x0100000000204081L, - 0x0100000010000000L, 0x0100000010000001L, 0x0100000010000080L, 0x0100000010000081L, - 0x0100000010004000L, 0x0100000010004001L, 0x0100000010004080L, 0x0100000010004081L, - 0x0100000010200000L, 0x0100000010200001L, 0x0100000010200080L, 0x0100000010200081L, - 0x0100000010204000L, 0x0100000010204001L, 0x0100000010204080L, 0x0100000010204081L, - 0x0100000800000000L, 0x0100000800000001L, 0x0100000800000080L, 0x0100000800000081L, - 0x0100000800004000L, 0x0100000800004001L, 0x0100000800004080L, 0x0100000800004081L, - 0x0100000800200000L, 0x0100000800200001L, 0x0100000800200080L, 0x0100000800200081L, - 0x0100000800204000L, 0x0100000800204001L, 0x0100000800204080L, 0x0100000800204081L, - 0x0100000810000000L, 0x0100000810000001L, 0x0100000810000080L, 0x0100000810000081L, - 0x0100000810004000L, 0x0100000810004001L, 0x0100000810004080L, 0x0100000810004081L, - 0x0100000810200000L, 0x0100000810200001L, 0x0100000810200080L, 0x0100000810200081L, - 0x0100000810204000L, 0x0100000810204001L, 0x0100000810204080L, 0x0100000810204081L, - 0x0100040000000000L, 0x0100040000000001L, 0x0100040000000080L, 0x0100040000000081L, - 0x0100040000004000L, 0x0100040000004001L, 0x0100040000004080L, 0x0100040000004081L, - 0x0100040000200000L, 0x0100040000200001L, 0x0100040000200080L, 0x0100040000200081L, - 0x0100040000204000L, 0x0100040000204001L, 0x0100040000204080L, 0x0100040000204081L, - 0x0100040010000000L, 0x0100040010000001L, 0x0100040010000080L, 0x0100040010000081L, - 0x0100040010004000L, 0x0100040010004001L, 0x0100040010004080L, 0x0100040010004081L, - 0x0100040010200000L, 0x0100040010200001L, 0x0100040010200080L, 0x0100040010200081L, - 0x0100040010204000L, 0x0100040010204001L, 0x0100040010204080L, 0x0100040010204081L, - 0x0100040800000000L, 0x0100040800000001L, 0x0100040800000080L, 0x0100040800000081L, - 0x0100040800004000L, 0x0100040800004001L, 0x0100040800004080L, 0x0100040800004081L, - 0x0100040800200000L, 0x0100040800200001L, 0x0100040800200080L, 0x0100040800200081L, - 0x0100040800204000L, 0x0100040800204001L, 0x0100040800204080L, 0x0100040800204081L, - 0x0100040810000000L, 0x0100040810000001L, 0x0100040810000080L, 0x0100040810000081L, - 0x0100040810004000L, 0x0100040810004001L, 0x0100040810004080L, 0x0100040810004081L, - 0x0100040810200000L, 0x0100040810200001L, 0x0100040810200080L, 0x0100040810200081L, - 0x0100040810204000L, 0x0100040810204001L, 0x0100040810204080L, 0x0100040810204081L, - 0x0102000000000000L, 0x0102000000000001L, 0x0102000000000080L, 0x0102000000000081L, - 0x0102000000004000L, 0x0102000000004001L, 0x0102000000004080L, 0x0102000000004081L, - 0x0102000000200000L, 0x0102000000200001L, 0x0102000000200080L, 0x0102000000200081L, - 0x0102000000204000L, 0x0102000000204001L, 0x0102000000204080L, 0x0102000000204081L, - 0x0102000010000000L, 0x0102000010000001L, 0x0102000010000080L, 0x0102000010000081L, - 0x0102000010004000L, 0x0102000010004001L, 0x0102000010004080L, 0x0102000010004081L, - 0x0102000010200000L, 0x0102000010200001L, 0x0102000010200080L, 0x0102000010200081L, - 0x0102000010204000L, 0x0102000010204001L, 0x0102000010204080L, 0x0102000010204081L, - 0x0102000800000000L, 0x0102000800000001L, 0x0102000800000080L, 0x0102000800000081L, - 0x0102000800004000L, 0x0102000800004001L, 0x0102000800004080L, 0x0102000800004081L, - 0x0102000800200000L, 0x0102000800200001L, 0x0102000800200080L, 0x0102000800200081L, - 0x0102000800204000L, 0x0102000800204001L, 0x0102000800204080L, 0x0102000800204081L, - 0x0102000810000000L, 0x0102000810000001L, 0x0102000810000080L, 0x0102000810000081L, - 0x0102000810004000L, 0x0102000810004001L, 0x0102000810004080L, 0x0102000810004081L, - 0x0102000810200000L, 0x0102000810200001L, 0x0102000810200080L, 0x0102000810200081L, - 0x0102000810204000L, 0x0102000810204001L, 0x0102000810204080L, 0x0102000810204081L, - 0x0102040000000000L, 0x0102040000000001L, 0x0102040000000080L, 0x0102040000000081L, - 0x0102040000004000L, 0x0102040000004001L, 0x0102040000004080L, 0x0102040000004081L, - 0x0102040000200000L, 0x0102040000200001L, 0x0102040000200080L, 0x0102040000200081L, - 0x0102040000204000L, 0x0102040000204001L, 0x0102040000204080L, 0x0102040000204081L, - 0x0102040010000000L, 0x0102040010000001L, 0x0102040010000080L, 0x0102040010000081L, - 0x0102040010004000L, 0x0102040010004001L, 0x0102040010004080L, 0x0102040010004081L, - 0x0102040010200000L, 0x0102040010200001L, 0x0102040010200080L, 0x0102040010200081L, - 0x0102040010204000L, 0x0102040010204001L, 0x0102040010204080L, 0x0102040010204081L, - 0x0102040800000000L, 0x0102040800000001L, 0x0102040800000080L, 0x0102040800000081L, - 0x0102040800004000L, 0x0102040800004001L, 0x0102040800004080L, 0x0102040800004081L, - 0x0102040800200000L, 0x0102040800200001L, 0x0102040800200080L, 0x0102040800200081L, - 0x0102040800204000L, 0x0102040800204001L, 0x0102040800204080L, 0x0102040800204081L, - 0x0102040810000000L, 0x0102040810000001L, 0x0102040810000080L, 0x0102040810000081L, - 0x0102040810004000L, 0x0102040810004001L, 0x0102040810004080L, 0x0102040810004081L, - 0x0102040810200000L, 0x0102040810200001L, 0x0102040810200080L, 0x0102040810200081L, - 0x0102040810204000L, 0x0102040810204001L, 0x0102040810204080L, 0x0102040810204081L - }; - - // For toString(); must have length 64 - private static final String ZEROES = "0000000000000000000000000000000000000000000000000000000000000000"; - - final static byte[] bitLengths = - { - 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 - }; - - // TODO make m fixed for the LongArray, and hence compute T once and for all - - private long[] m_ints; - - public LongArray(int intLen) - { - m_ints = new long[intLen]; - } - - public LongArray(long[] ints) - { - m_ints = ints; - } - - public LongArray(long[] ints, int off, int len) - { - if (off == 0 && len == ints.length) - { - m_ints = ints; - } - else - { - m_ints = new long[len]; - System.arraycopy(ints, off, m_ints, 0, len); - } - } - - public LongArray(BigInteger bigInt) - { - if (bigInt == null || bigInt.signum() < 0) - { - throw new IllegalArgumentException("invalid F2m field value"); - } - - if (bigInt.signum() == 0) - { - m_ints = new long[] { 0L }; - return; - } - - byte[] barr = bigInt.toByteArray(); - int barrLen = barr.length; - int barrStart = 0; - if (barr[0] == 0) - { - // First byte is 0 to enforce highest (=sign) bit is zero. - // In this case ignore barr[0]. - barrLen--; - barrStart = 1; - } - int intLen = (barrLen + 7) / 8; - m_ints = new long[intLen]; - - int iarrJ = intLen - 1; - int rem = barrLen % 8 + barrStart; - long temp = 0; - int barrI = barrStart; - if (barrStart < rem) - { - for (; barrI < rem; barrI++) - { - temp <<= 8; - int barrBarrI = barr[barrI] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ--] = temp; - } - - for (; iarrJ >= 0; iarrJ--) - { - temp = 0; - for (int i = 0; i < 8; i++) - { - temp <<= 8; - int barrBarrI = barr[barrI++] & 0xFF; - temp |= barrBarrI; - } - m_ints[iarrJ] = temp; - } - } - - public boolean isZero() - { - long[] a = m_ints; - for (int i = 0; i < a.length; ++i) - { - if (a[i] != 0L) - { - return false; - } - } - return true; - } - - public int getUsedLength() - { - return getUsedLengthFrom(m_ints.length); - } - - public int getUsedLengthFrom(int from) - { - long[] a = m_ints; - from = Math.min(from, a.length); - - if (from < 1) - { - return 0; - } - - // Check if first element will act as sentinel - if (a[0] != 0) - { - while (a[--from] == 0) - { - } - return from + 1; - } - - do - { - if (a[--from] != 0) - { - return from + 1; - } - } - while (from > 0); - - return 0; - } - - public int degree() - { - int i = m_ints.length; - long w; - do - { - if (i == 0) - { - return 0; - } - w = m_ints[--i]; - } - while (w == 0); - - return (i << 6) + bitLength(w); - } - - private int degreeFrom(int limit) - { - int i = (limit + 62) >>> 6; - long w; - do - { - if (i == 0) - { - return 0; - } - w = m_ints[--i]; - } - while (w == 0); - - return (i << 6) + bitLength(w); - } - -// private int lowestCoefficient() -// { -// for (int i = 0; i < m_ints.length; ++i) -// { -// long mi = m_ints[i]; -// if (mi != 0) -// { -// int j = 0; -// while ((mi & 0xFFL) == 0) -// { -// j += 8; -// mi >>>= 8; -// } -// while ((mi & 1L) == 0) -// { -// ++j; -// mi >>>= 1; -// } -// return (i << 6) + j; -// } -// } -// return -1; -// } - - private static int bitLength(long w) - { - int u = (int)(w >>> 32), b; - if (u == 0) - { - u = (int)w; - b = 0; - } - else - { - b = 32; - } - - int t = u >>> 16, k; - if (t == 0) - { - t = u >>> 8; - k = (t == 0) ? bitLengths[u] : 8 + bitLengths[t]; - } - else - { - int v = t >>> 8; - k = (v == 0) ? 16 + bitLengths[t] : 24 + bitLengths[v]; - } - - return b + k; - } - - private long[] resizedInts(int newLen) - { - long[] newInts = new long[newLen]; - System.arraycopy(m_ints, 0, newInts, 0, Math.min(m_ints.length, newLen)); - return newInts; - } - - public BigInteger toBigInteger() - { - int usedLen = getUsedLength(); - if (usedLen == 0) - { - return ECConstants.ZERO; - } - - long highestInt = m_ints[usedLen - 1]; - byte[] temp = new byte[8]; - int barrI = 0; - boolean trailingZeroBytesDone = false; - for (int j = 7; j >= 0; j--) - { - byte thisByte = (byte)(highestInt >>> (8 * j)); - if (trailingZeroBytesDone || (thisByte != 0)) - { - trailingZeroBytesDone = true; - temp[barrI++] = thisByte; - } - } - - int barrLen = 8 * (usedLen - 1) + barrI; - byte[] barr = new byte[barrLen]; - for (int j = 0; j < barrI; j++) - { - barr[j] = temp[j]; - } - // Highest value int is done now - - for (int iarrJ = usedLen - 2; iarrJ >= 0; iarrJ--) - { - long mi = m_ints[iarrJ]; - for (int j = 7; j >= 0; j--) - { - barr[barrI++] = (byte)(mi >>> (8 * j)); - } - } - return new BigInteger(1, barr); - } - -// private static long shiftUp(long[] x, int xOff, int count) -// { -// long prev = 0; -// for (int i = 0; i < count; ++i) -// { -// long next = x[xOff + i]; -// x[xOff + i] = (next << 1) | prev; -// prev = next >>> 63; -// } -// return prev; -// } - - private static long shiftUp(long[] x, int xOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = x[xOff + i]; - x[xOff + i] = (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - private static long shiftUp(long[] x, int xOff, long[] z, int zOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = x[xOff + i]; - z[zOff + i] = (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - public LongArray addOne() - { - if (m_ints.length == 0) - { - return new LongArray(new long[]{ 1L }); - } - - int resultLen = Math.max(1, getUsedLength()); - long[] ints = resizedInts(resultLen); - ints[0] ^= 1L; - return new LongArray(ints); - } - -// private void addShiftedByBits(LongArray other, int bits) -// { -// int words = bits >>> 6; -// int shift = bits & 0x3F; -// -// if (shift == 0) -// { -// addShiftedByWords(other, words); -// return; -// } -// -// int otherUsedLen = other.getUsedLength(); -// if (otherUsedLen == 0) -// { -// return; -// } -// -// int minLen = otherUsedLen + words + 1; -// if (minLen > m_ints.length) -// { -// m_ints = resizedInts(minLen); -// } -// -// long carry = addShiftedByBits(m_ints, words, other.m_ints, 0, otherUsedLen, shift); -// m_ints[otherUsedLen + words] ^= carry; -// } - - private void addShiftedByBitsSafe(LongArray other, int otherDegree, int bits) - { - int otherLen = (otherDegree + 63) >>> 6; - - int words = bits >>> 6; - int shift = bits & 0x3F; - - if (shift == 0) - { - add(m_ints, words, other.m_ints, 0, otherLen); - return; - } - - long carry = addShiftedUp(m_ints, words, other.m_ints, 0, otherLen, shift); - if (carry != 0L) - { - m_ints[otherLen + words] ^= carry; - } - } - - private static long addShiftedUp(long[] x, int xOff, long[] y, int yOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - for (int i = 0; i < count; ++i) - { - long next = y[yOff + i]; - x[xOff + i] ^= (next << shift) | prev; - prev = next >>> shiftInv; - } - return prev; - } - - private static long addShiftedDown(long[] x, int xOff, long[] y, int yOff, int count, int shift) - { - int shiftInv = 64 - shift; - long prev = 0; - int i = count; - while (--i >= 0) - { - long next = y[yOff + i]; - x[xOff + i] ^= (next >>> shift) | prev; - prev = next << shiftInv; - } - return prev; - } - - public void addShiftedByWords(LongArray other, int words) - { - int otherUsedLen = other.getUsedLength(); - if (otherUsedLen == 0) - { - return; - } - - int minLen = otherUsedLen + words; - if (minLen > m_ints.length) - { - m_ints = resizedInts(minLen); - } - - add(m_ints, words, other.m_ints, 0, otherUsedLen); - } - - private static void add(long[] x, int xOff, long[] y, int yOff, int count) - { - for (int i = 0; i < count; ++i) - { - x[xOff + i] ^= y[yOff + i]; - } - } - - private static void add(long[] x, int xOff, long[] y, int yOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = x[xOff + i] ^ y[yOff + i]; - } - } - - private static void addBoth(long[] x, int xOff, long[] y1, int y1Off, long[] y2, int y2Off, int count) - { - for (int i = 0; i < count; ++i) - { - x[xOff + i] ^= y1[y1Off + i] ^ y2[y2Off + i]; - } - } - - private static void distribute(long[] x, int src, int dst1, int dst2, int count) - { - for (int i = 0; i < count; ++i) - { - long v = x[src + i]; - x[dst1 + i] ^= v; - x[dst2 + i] ^= v; - } - } - - public int getLength() - { - return m_ints.length; - } - - private static void flipWord(long[] buf, int off, int bit, long word) - { - int n = off + (bit >>> 6); - int shift = bit & 0x3F; - if (shift == 0) - { - buf[n] ^= word; - } - else - { - buf[n] ^= word << shift; - word >>>= (64 - shift); - if (word != 0) - { - buf[++n] ^= word; - } - } - } - -// private static long getWord(long[] buf, int off, int len, int bit) -// { -// int n = off + (bit >>> 6); -// int shift = bit & 0x3F; -// if (shift == 0) -// { -// return buf[n]; -// } -// long result = buf[n] >>> shift; -// if (++n < len) -// { -// result |= buf[n] << (64 - shift); -// } -// return result; -// } - - public boolean testBitZero() - { - return m_ints.length > 0 && (m_ints[0] & 1L) != 0; - } - - private static boolean testBit(long[] buf, int off, int n) - { - // theInt = n / 64 - int theInt = n >>> 6; - // theBit = n % 64 - int theBit = n & 0x3F; - long tester = 1L << theBit; - return (buf[off + theInt] & tester) != 0; - } - - private static void flipBit(long[] buf, int off, int n) - { - // theInt = n / 64 - int theInt = n >>> 6; - // theBit = n % 64 - int theBit = n & 0x3F; - long flipper = 1L << theBit; - buf[off + theInt] ^= flipper; - } - -// private static void setBit(long[] buf, int off, int n) -// { -// // theInt = n / 64 -// int theInt = n >>> 6; -// // theBit = n % 64 -// int theBit = n & 0x3F; -// long setter = 1L << theBit; -// buf[off + theInt] |= setter; -// } -// -// private static void clearBit(long[] buf, int off, int n) -// { -// // theInt = n / 64 -// int theInt = n >>> 6; -// // theBit = n % 64 -// int theBit = n & 0x3F; -// long setter = 1L << theBit; -// buf[off + theInt] &= ~setter; -// } - - private static void multiplyWord(long a, long[] b, int bLen, long[] c, int cOff) - { - if ((a & 1L) != 0L) - { - add(c, cOff, b, 0, bLen); - } - int k = 1; - while ((a >>>= 1) != 0) - { - if ((a & 1L) != 0L) - { - long carry = addShiftedUp(c, cOff, b, 0, bLen, k); - if (carry != 0) - { - c[cOff + bLen] ^= carry; - } - } - ++k; - } - } - - public LongArray modMultiplyLD(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - /* - * Determine if B will get bigger during shifting - */ - int bMax = (bDeg + 7 + 63) >>> 6; - - /* - * Lookup table for the offset of each B in the tables - */ - int[] ti = new int[16]; - - /* - * Precompute table of all 4-bit products of B - */ - long[] T0 = new long[bMax << 4]; - int tOff = bMax; - ti[1] = tOff; - System.arraycopy(B.m_ints, 0, T0, tOff, bLen); - for (int i = 2; i < 16; ++i) - { - ti[i] = (tOff += bMax); - if ((i & 1) == 0) - { - shiftUp(T0, tOff >>> 1, T0, tOff, bMax, 1); - } - else - { - add(T0, bMax, T0, tOff - bMax, T0, tOff, bMax); - } - } - - /* - * Second table with all 4-bit products of B shifted 4 bits - */ - long[] T1 = new long[T0.length]; - shiftUp(T0, 0, T1, 0, T0.length, 4); -// shiftUp(T0, bMax, T1, bMax, tOff, 4); - - long[] a = A.m_ints; - long[] c = new long[cLen]; - - int MASK = 0xF; - - /* - * Lopez-Dahab algorithm - */ - - for (int k = 56; k >= 0; k -= 8) - { - for (int j = 1; j < aLen; j += 2) - { - int aVal = (int)(a[j] >>> k); - int u = aVal & MASK; - int v = (aVal >>> 4) & MASK; - addBoth(c, j - 1, T0, ti[u], T1, ti[v], bMax); - } - shiftUp(c, 0, cLen, 8); - } - - for (int k = 56; k >= 0; k -= 8) - { - for (int j = 0; j < aLen; j += 2) - { - int aVal = (int)(a[j] >>> k); - int u = aVal & MASK; - int v = (aVal >>> 4) & MASK; - addBoth(c, j, T0, ti[u], T1, ti[v], bMax); - } - if (k > 0) - { - shiftUp(c, 0, cLen, 8); - } - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - public LongArray modMultiply(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - /* - * Determine if B will get bigger during shifting - */ - int bMax = (bDeg + 7 + 63) >>> 6; - - /* - * Lookup table for the offset of each B in the tables - */ - int[] ti = new int[16]; - - /* - * Precompute table of all 4-bit products of B - */ - long[] T0 = new long[bMax << 4]; - int tOff = bMax; - ti[1] = tOff; - System.arraycopy(B.m_ints, 0, T0, tOff, bLen); - for (int i = 2; i < 16; ++i) - { - ti[i] = (tOff += bMax); - if ((i & 1) == 0) - { - shiftUp(T0, tOff >>> 1, T0, tOff, bMax, 1); - } - else - { - add(T0, bMax, T0, tOff - bMax, T0, tOff, bMax); - } - } - - /* - * Second table with all 4-bit products of B shifted 4 bits - */ - long[] T1 = new long[T0.length]; - shiftUp(T0, 0, T1, 0, T0.length, 4); -// shiftUp(T0, bMax, T1, bMax, tOff, 4); - - long[] a = A.m_ints; - long[] c = new long[cLen << 3]; - - int MASK = 0xF; - - /* - * Lopez-Dahab (Modified) algorithm - */ - - for (int aPos = 0; aPos < aLen; ++aPos) - { - long aVal = a[aPos]; - int cOff = aPos; - for (;;) - { - int u = (int)aVal & MASK; - aVal >>>= 4; - int v = (int)aVal & MASK; - addBoth(c, cOff, T0, ti[u], T1, ti[v], bMax); - if ((aVal >>>= 4) == 0L) - { - break; - } - cOff += cLen; - } - } - - int cOff = c.length; - while ((cOff -= cLen) != 0) - { - addShiftedUp(c, cOff - cLen, c, cOff, cLen, 8); - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - public LongArray modMultiplyAlt(LongArray other, int m, int[] ks) - { - /* - * Find out the degree of each argument and handle the zero cases - */ - int aDeg = degree(); - if (aDeg == 0) - { - return this; - } - int bDeg = other.degree(); - if (bDeg == 0) - { - return other; - } - - /* - * Swap if necessary so that A is the smaller argument - */ - LongArray A = this, B = other; - if (aDeg > bDeg) - { - A = other; B = this; - int tmp = aDeg; aDeg = bDeg; bDeg = tmp; - } - - /* - * Establish the word lengths of the arguments and result - */ - int aLen = (aDeg + 63) >>> 6; - int bLen = (bDeg + 63) >>> 6; - int cLen = (aDeg + bDeg + 62) >>> 6; - - if (aLen == 1) - { - long a = A.m_ints[0]; - if (a == 1L) - { - return B; - } - - /* - * Fast path for small A, with performance dependent only on the number of set bits - */ - long[] c = new long[cLen]; - multiplyWord(a, B.m_ints, bLen, c, 0); - - /* - * Reduce the raw answer against the reduction coefficients - */ - return reduceResult(c, 0, cLen, m, ks); - } - - // NOTE: This works, but is slower than width 4 processing -// if (aLen == 2) -// { -// /* -// * Use common-multiplicand optimization to save ~1/4 of the adds -// */ -// long a1 = A.m_ints[0], a2 = A.m_ints[1]; -// long aa = a1 & a2; a1 ^= aa; a2 ^= aa; -// -// long[] b = B.m_ints; -// long[] c = new long[cLen]; -// multiplyWord(aa, b, bLen, c, 1); -// add(c, 0, c, 1, cLen - 1); -// multiplyWord(a1, b, bLen, c, 0); -// multiplyWord(a2, b, bLen, c, 1); -// -// /* -// * Reduce the raw answer against the reduction coefficients -// */ -// return reduceResult(c, 0, cLen, m, ks); -// } - - /* - * Determine the parameters of the interleaved window algorithm: the 'width' in bits to - * process together, the number of evaluation 'positions' implied by that width, and the - * 'top' position at which the regular window algorithm stops. - */ - int width, positions, top, banks; - - // NOTE: width 4 is the fastest over the entire range of sizes used in current crypto -// width = 1; positions = 64; top = 64; banks = 4; -// width = 2; positions = 32; top = 64; banks = 4; -// width = 3; positions = 21; top = 63; banks = 3; - width = 4; positions = 16; top = 64; banks = 8; -// width = 5; positions = 13; top = 65; banks = 7; -// width = 7; positions = 9; top = 63; banks = 9; -// width = 8; positions = 8; top = 64; banks = 8; - - /* - * Determine if B will get bigger during shifting - */ - int shifts = top < 64 ? positions : positions - 1; - int bMax = (bDeg + shifts + 63) >>> 6; - - int bTotal = bMax * banks, stride = width * banks; - - /* - * Create a single temporary buffer, with an offset table to find the positions of things in it - */ - int[] ci = new int[1 << width]; - int cTotal = aLen; - { - ci[0] = cTotal; - cTotal += bTotal; - ci[1] = cTotal; - for (int i = 2; i < ci.length; ++i) - { - cTotal += cLen; - ci[i] = cTotal; - } - cTotal += cLen; - } - // NOTE: Provide a safe dump for "high zeroes" since we are adding 'bMax' and not 'bLen' - ++cTotal; - - long[] c = new long[cTotal]; - - // Prepare A in interleaved form, according to the chosen width - interleave(A.m_ints, 0, c, 0, aLen, width); - - // Make a working copy of B, since we will be shifting it - { - int bOff = aLen; - System.arraycopy(B.m_ints, 0, c, bOff, bLen); - for (int bank = 1; bank < banks; ++bank) - { - shiftUp(c, aLen, c, bOff += bMax, bMax, bank); - } - } - - /* - * The main loop analyzes the interleaved windows in A, and for each non-zero window - * a single word-array XOR is performed to a carefully selected slice of 'c'. The loop is - * breadth-first, checking the lowest window in each word, then looping again for the - * next higher window position. - */ - int MASK = (1 << width) - 1; - - int k = 0; - for (;;) - { - int aPos = 0; - do - { - long aVal = c[aPos] >>> k; - int bank = 0, bOff = aLen; - for (;;) - { - int index = (int)(aVal) & MASK; - if (index != 0) - { - /* - * Add to a 'c' buffer based on the bit-pattern of 'index'. Since A is in - * interleaved form, the bits represent the current B shifted by 0, 'positions', - * 'positions' * 2, ..., 'positions' * ('width' - 1) - */ - add(c, aPos + ci[index], c, bOff, bMax); - } - if (++bank == banks) - { - break; - } - bOff += bMax; - aVal >>>= width; - } - } - while (++aPos < aLen); - - if ((k += stride) >= top) - { - if (k >= 64) - { - break; - } - - /* - * Adjustment for window setups with top == 63, the final bit (if any) is processed - * as the top-bit of a window - */ - k = 64 - width; - MASK &= MASK << (top - k); - } - - /* - * After each position has been checked for all words of A, B is shifted up 1 place - */ - shiftUp(c, aLen, bTotal, banks); - } - - int ciPos = ci.length; - while (--ciPos > 1) - { - if ((ciPos & 1L) == 0L) - { - /* - * For even numbers, shift contents and add to the half-position - */ - addShiftedUp(c, ci[ciPos >>> 1], c, ci[ciPos], cLen, positions); - } - else - { - /* - * For odd numbers, 'distribute' contents to the result and the next-lowest position - */ - distribute(c, ci[ciPos], ci[ciPos - 1], ci[1], cLen); - } - } - - /* - * Finally the raw answer is collected, reduce it against the reduction coefficients - */ - return reduceResult(c, ci[1], cLen, m, ks); - } - - private static LongArray reduceResult(long[] buf, int off, int len, int m, int[] ks) - { - int rLen = reduceInPlace(buf, off, len, m, ks); - return new LongArray(buf, off, rLen); - } - -// private static void deInterleave(long[] x, int xOff, long[] z, int zOff, int count, int rounds) -// { -// for (int i = 0; i < count; ++i) -// { -// z[zOff + i] = deInterleave(x[zOff + i], rounds); -// } -// } -// -// private static long deInterleave(long x, int rounds) -// { -// while (--rounds >= 0) -// { -// x = deInterleave32(x & DEINTERLEAVE_MASK) | (deInterleave32((x >>> 1) & DEINTERLEAVE_MASK) << 32); -// } -// return x; -// } -// -// private static long deInterleave32(long x) -// { -// x = (x | (x >>> 1)) & 0x3333333333333333L; -// x = (x | (x >>> 2)) & 0x0F0F0F0F0F0F0F0FL; -// x = (x | (x >>> 4)) & 0x00FF00FF00FF00FFL; -// x = (x | (x >>> 8)) & 0x0000FFFF0000FFFFL; -// x = (x | (x >>> 16)) & 0x00000000FFFFFFFFL; -// return x; -// } - - private static int reduceInPlace(long[] buf, int off, int len, int m, int[] ks) - { - int mLen = (m + 63) >>> 6; - if (len < mLen) - { - return len; - } - - int numBits = Math.min(len << 6, (m << 1) - 1); // TODO use actual degree? - int excessBits = (len << 6) - numBits; - while (excessBits >= 64) - { - --len; - excessBits -= 64; - } - - int kLen = ks.length, kMax = ks[kLen - 1], kNext = kLen > 1 ? ks[kLen - 2] : 0; - int wordWiseLimit = Math.max(m, kMax + 64); - int vectorableWords = (excessBits + Math.min(numBits - wordWiseLimit, m - kNext)) >> 6; - if (vectorableWords > 1) - { - int vectorWiseWords = len - vectorableWords; - reduceVectorWise(buf, off, len, vectorWiseWords, m, ks); - while (len > vectorWiseWords) - { - buf[off + --len] = 0L; - } - numBits = vectorWiseWords << 6; - } - - if (numBits > wordWiseLimit) - { - reduceWordWise(buf, off, len, wordWiseLimit, m, ks); - numBits = wordWiseLimit; - } - - if (numBits > m) - { - reduceBitWise(buf, off, numBits, m, ks); - } - - return mLen; - } - - private static void reduceBitWise(long[] buf, int off, int bitlength, int m, int[] ks) - { - while (--bitlength >= m) - { - if (testBit(buf, off, bitlength)) - { - reduceBit(buf, off, bitlength, m, ks); - } - } - } - - private static void reduceBit(long[] buf, int off, int bit, int m, int[] ks) - { - flipBit(buf, off, bit); - int base = bit - m; - int j = ks.length; - while (--j >= 0) - { - flipBit(buf, off, ks[j] + base); - } - flipBit(buf, off, base); - } - - private static void reduceWordWise(long[] buf, int off, int len, int toBit, int m, int[] ks) - { - int toPos = toBit >>> 6; - - while (--len > toPos) - { - long word = buf[off + len]; - if (word != 0) - { - buf[off + len] = 0; - reduceWord(buf, off, (len << 6), word, m, ks); - } - } - - int partial = toBit & 0x3F; - long word = buf[off + toPos] >>> partial; - if (word != 0) - { - buf[off + toPos] ^= word << partial; - reduceWord(buf, off, toBit, word, m, ks); - } - } - - private static void reduceWord(long[] buf, int off, int bit, long word, int m, int[] ks) - { - int offset = bit - m; - int j = ks.length; - while (--j >= 0) - { - flipWord(buf, off, offset + ks[j], word); - } - flipWord(buf, off, offset, word); - } - - private static void reduceVectorWise(long[] buf, int off, int len, int words, int m, int[] ks) - { - /* - * NOTE: It's important we go from highest coefficient to lowest, because for the highest - * one (only) we allow the ranges to partially overlap, and therefore any changes must take - * effect for the subsequent lower coefficients. - */ - int baseBit = (words << 6) - m; - int j = ks.length; - while (--j >= 0) - { - flipVector(buf, off, buf, off + words, len - words, baseBit + ks[j]); - } - flipVector(buf, off, buf, off + words, len - words, baseBit); - } - - private static void flipVector(long[] x, int xOff, long[] y, int yOff, int yLen, int bits) - { - xOff += bits >>> 6; - bits &= 0x3F; - - if (bits == 0) - { - add(x, xOff, y, yOff, yLen); - } - else - { - long carry = addShiftedDown(x, xOff + 1, y, yOff, yLen, 64 - bits); - x[xOff] ^= carry; - } - } - - public LongArray modSquare(int m, int[] ks) - { - int len = getUsedLength(); - if (len == 0) - { - return this; - } - - int _2len = len << 1; - long[] r = new long[_2len]; - - int pos = 0; - while (pos < _2len) - { - long mi = m_ints[pos >>> 1]; - r[pos++] = interleave2_32to64((int)mi); - r[pos++] = interleave2_32to64((int)(mi >>> 32)); - } - - return new LongArray(r, 0, reduceInPlace(r, 0, r.length, m, ks)); - } - -// private LongArray modSquareN(int n, int m, int[] ks) -// { -// int len = getUsedLength(); -// if (len == 0) -// { -// return this; -// } -// -// int mLen = (m + 63) >>> 6; -// long[] r = new long[mLen << 1]; -// System.arraycopy(m_ints, 0, r, 0, len); -// -// while (--n >= 0) -// { -// squareInPlace(r, len, m, ks); -// len = reduceInPlace(r, 0, r.length, m, ks); -// } -// -// return new LongArray(r, 0, len); -// } -// -// private static void squareInPlace(long[] x, int xLen, int m, int[] ks) -// { -// int pos = xLen << 1; -// while (--xLen >= 0) -// { -// long xVal = x[xLen]; -// x[--pos] = interleave2_32to64((int)(xVal >>> 32)); -// x[--pos] = interleave2_32to64((int)xVal); -// } -// } - - private static void interleave(long[] x, int xOff, long[] z, int zOff, int count, int width) - { - switch (width) - { - case 3: - interleave3(x, xOff, z, zOff, count); - break; - case 5: - interleave5(x, xOff, z, zOff, count); - break; - case 7: - interleave7(x, xOff, z, zOff, count); - break; - default: - interleave2_n(x, xOff, z, zOff, count, bitLengths[width] - 1); - break; - } - } - - private static void interleave3(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave3(x[xOff + i]); - } - } - - private static long interleave3(long x) - { - long z = x & (1L << 63); - return z - | interleave3_21to63((int)x & 0x1FFFFF) - | interleave3_21to63((int)(x >>> 21) & 0x1FFFFF) << 1 - | interleave3_21to63((int)(x >>> 42) & 0x1FFFFF) << 2; - -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 63) -// { -// String sz2 = Long.toBinaryString(z); -// return z; -// } -// if ((xPos += 21) >= 63) -// { -// xPos = ++wPos; -// } -// } - } - - private static long interleave3_21to63(int x) - { - int r00 = INTERLEAVE3_TABLE[x & 0x7F]; - int r21 = INTERLEAVE3_TABLE[(x >>> 7) & 0x7F]; - int r42 = INTERLEAVE3_TABLE[x >>> 14]; - return (r42 & 0xFFFFFFFFL) << 42 | (r21 & 0xFFFFFFFFL) << 21 | (r00 & 0xFFFFFFFFL); - } - - private static void interleave5(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave5(x[xOff + i]); - } - } - - private static long interleave5(long x) - { - return interleave3_13to65((int)x & 0x1FFF) - | interleave3_13to65((int)(x >>> 13) & 0x1FFF) << 1 - | interleave3_13to65((int)(x >>> 26) & 0x1FFF) << 2 - | interleave3_13to65((int)(x >>> 39) & 0x1FFF) << 3 - | interleave3_13to65((int)(x >>> 52) & 0x1FFF) << 4; - -// long z = 0; -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 64) -// { -// return z; -// } -// if ((xPos += 13) >= 64) -// { -// xPos = ++wPos; -// } -// } - } - - private static long interleave3_13to65(int x) - { - int r00 = INTERLEAVE5_TABLE[x & 0x7F]; - int r35 = INTERLEAVE5_TABLE[x >>> 7]; - return (r35 & 0xFFFFFFFFL) << 35 | (r00 & 0xFFFFFFFFL); - } - - private static void interleave7(long[] x, int xOff, long[] z, int zOff, int count) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave7(x[xOff + i]); - } - } - - private static long interleave7(long x) - { - long z = x & (1L << 63); - return z - | INTERLEAVE7_TABLE[(int)x & 0x1FF] - | INTERLEAVE7_TABLE[(int)(x >>> 9) & 0x1FF] << 1 - | INTERLEAVE7_TABLE[(int)(x >>> 18) & 0x1FF] << 2 - | INTERLEAVE7_TABLE[(int)(x >>> 27) & 0x1FF] << 3 - | INTERLEAVE7_TABLE[(int)(x >>> 36) & 0x1FF] << 4 - | INTERLEAVE7_TABLE[(int)(x >>> 45) & 0x1FF] << 5 - | INTERLEAVE7_TABLE[(int)(x >>> 54) & 0x1FF] << 6; - -// int zPos = 0, wPos = 0, xPos = 0; -// for (;;) -// { -// z |= ((x >>> xPos) & 1L) << zPos; -// if (++zPos == 63) -// { -// return z; -// } -// if ((xPos += 9) >= 63) -// { -// xPos = ++wPos; -// } -// } - } - - private static void interleave2_n(long[] x, int xOff, long[] z, int zOff, int count, int rounds) - { - for (int i = 0; i < count; ++i) - { - z[zOff + i] = interleave2_n(x[xOff + i], rounds); - } - } - - private static long interleave2_n(long x, int rounds) - { - while (rounds > 1) - { - rounds -= 2; - x = interleave4_16to64((int)x & 0xFFFF) - | interleave4_16to64((int)(x >>> 16) & 0xFFFF) << 1 - | interleave4_16to64((int)(x >>> 32) & 0xFFFF) << 2 - | interleave4_16to64((int)(x >>> 48) & 0xFFFF) << 3; - } - if (rounds > 0) - { - x = interleave2_32to64((int)x) | interleave2_32to64((int)(x >>> 32)) << 1; - } - return x; - } - - private static long interleave4_16to64(int x) - { - int r00 = INTERLEAVE4_TABLE[x & 0xFF]; - int r32 = INTERLEAVE4_TABLE[x >>> 8]; - return (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } - - private static long interleave2_32to64(int x) - { - int r00 = INTERLEAVE2_TABLE[x & 0xFF] | INTERLEAVE2_TABLE[(x >>> 8) & 0xFF] << 16; - int r32 = INTERLEAVE2_TABLE[(x >>> 16) & 0xFF] | INTERLEAVE2_TABLE[x >>> 24] << 16; - return (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } - -// private static LongArray expItohTsujii2(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t3 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// if ((numTerms & 1) != 0) -// { -// t3 = t3.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms >>>= 1; scale <<= 1; -// } -// -// return t3.modMultiply(t1, m, ks); -// } -// -// private static LongArray expItohTsujii23(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t3 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// boolean m03 = numTerms % 3 == 0; -// boolean m14 = !m03 && (numTerms & 1) != 0; -// -// if (m14) -// { -// t3 = t3.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// if (m03) -// { -// t2 = t2.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms /= 3; scale *= 3; -// } -// else -// { -// numTerms >>>= 1; scale <<= 1; -// } -// } -// -// return t3.modMultiply(t1, m, ks); -// } -// -// private static LongArray expItohTsujii235(LongArray B, int n, int m, int[] ks) -// { -// LongArray t1 = B, t4 = new LongArray(new long[]{ 1L }); -// int scale = 1; -// -// int numTerms = n; -// while (numTerms > 1) -// { -// if (numTerms % 5 == 0) -// { -//// t1 = expItohTsujii23(t1, 5, m, ks); -// -// LongArray t3 = t1; -// t1 = t1.modSquareN(scale, m, ks); -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// t2 = t1.modSquareN(scale << 1, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// t1 = t1.modMultiply(t3, m, ks); -// -// numTerms /= 5; scale *= 5; -// continue; -// } -// -// boolean m03 = numTerms % 3 == 0; -// boolean m14 = !m03 && (numTerms & 1) != 0; -// -// if (m14) -// { -// t4 = t4.modMultiply(t1, m, ks); -// t1 = t1.modSquareN(scale, m, ks); -// } -// -// LongArray t2 = t1.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// -// if (m03) -// { -// t2 = t2.modSquareN(scale, m, ks); -// t1 = t1.modMultiply(t2, m, ks); -// numTerms /= 3; scale *= 3; -// } -// else -// { -// numTerms >>>= 1; scale <<= 1; -// } -// } -// -// return t4.modMultiply(t1, m, ks); -// } - - public LongArray modInverse(int m, int[] ks) - { - /* - * Fermat's Little Theorem - */ -// LongArray A = this; -// LongArray B = A.modSquare(m, ks); -// LongArray R0 = B, R1 = B; -// for (int i = 2; i < m; ++i) -// { -// R1 = R1.modSquare(m, ks); -// R0 = R0.modMultiply(R1, m, ks); -// } -// -// return R0; - - /* - * Itoh-Tsujii - */ -// LongArray B = modSquare(m, ks); -// switch (m) -// { -// case 409: -// return expItohTsujii23(B, m - 1, m, ks); -// case 571: -// return expItohTsujii235(B, m - 1, m, ks); -// case 163: -// case 233: -// case 283: -// default: -// return expItohTsujii2(B, m - 1, m, ks); -// } - - /* - * Inversion in F2m using the extended Euclidean algorithm - * - * Input: A nonzero polynomial a(z) of degree at most m-1 - * Output: a(z)^(-1) mod f(z) - */ - int uzDegree = degree(); - if (uzDegree == 1) - { - return this; - } - - // u(z) := a(z) - LongArray uz = (LongArray)clone(); - - int t = (m + 63) >>> 6; - - // v(z) := f(z) - LongArray vz = new LongArray(t); - reduceBit(vz.m_ints, 0, m, m, ks); - - // g1(z) := 1, g2(z) := 0 - LongArray g1z = new LongArray(t); - g1z.m_ints[0] = 1L; - LongArray g2z = new LongArray(t); - - int[] uvDeg = new int[]{ uzDegree, m + 1 }; - LongArray[] uv = new LongArray[]{ uz, vz }; - - int[] ggDeg = new int[]{ 1, 0 }; - LongArray[] gg = new LongArray[]{ g1z, g2z }; - - int b = 1; - int duv1 = uvDeg[b]; - int dgg1 = ggDeg[b]; - int j = duv1 - uvDeg[1 - b]; - - for (;;) - { - if (j < 0) - { - j = -j; - uvDeg[b] = duv1; - ggDeg[b] = dgg1; - b = 1 - b; - duv1 = uvDeg[b]; - dgg1 = ggDeg[b]; - } - - uv[b].addShiftedByBitsSafe(uv[1 - b], uvDeg[1 - b], j); - - int duv2 = uv[b].degreeFrom(duv1); - if (duv2 == 0) - { - return gg[1 - b]; - } - - { - int dgg2 = ggDeg[1 - b]; - gg[b].addShiftedByBitsSafe(gg[1 - b], dgg2, j); - dgg2 += j; - - if (dgg2 > dgg1) - { - dgg1 = dgg2; - } - else if (dgg2 == dgg1) - { - dgg1 = gg[b].degreeFrom(dgg1); - } - } - - j += (duv2 - duv1); - duv1 = duv2; - } - } - - public boolean equals(Object o) - { - if (!(o instanceof LongArray)) - { - return false; - } - LongArray other = (LongArray) o; - int usedLen = getUsedLength(); - if (other.getUsedLength() != usedLen) - { - return false; - } - for (int i = 0; i < usedLen; i++) - { - if (m_ints[i] != other.m_ints[i]) - { - return false; - } - } - return true; - } - - public int hashCode() - { - int usedLen = getUsedLength(); - int hash = 1; - for (int i = 0; i < usedLen; i++) - { - long mi = m_ints[i]; - hash *= 31; - hash ^= (int)mi; - hash *= 31; - hash ^= (int)(mi >>> 32); - } - return hash; - } - - public Object clone() - { - return new LongArray(Arrays.clone(m_ints)); - } - - public String toString() - { - int i = getUsedLength(); - if (i == 0) - { - return "0"; - } - - StringBuffer sb = new StringBuffer(Long.toBinaryString(m_ints[--i])); - while (--i >= 0) - { - String s = Long.toBinaryString(m_ints[i]); - - // Add leading zeroes, except for highest significant word - int len = s.length(); - if (len < 64) - { - sb.append(ZEROES.substring(len)); - } - - sb.append(s); - } - return sb.toString(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MixedNafR2LMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MixedNafR2LMultiplier.java deleted file mode 100644 index e626103ae..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MixedNafR2LMultiplier.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (right-to-left) using - * mixed coordinates. - */ -public class MixedNafR2LMultiplier extends AbstractECMultiplier -{ - protected int additionCoord, doublingCoord; - - /** - * By default, addition will be done in Jacobian coordinates, and doubling will be done in - * Modified Jacobian coordinates (independent of the original coordinate system of each point). - */ - public MixedNafR2LMultiplier() - { - this(ECCurve.COORD_JACOBIAN, ECCurve.COORD_JACOBIAN_MODIFIED); - } - - public MixedNafR2LMultiplier(int additionCoord, int doublingCoord) - { - this.additionCoord = additionCoord; - this.doublingCoord = doublingCoord; - } - - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECCurve curveOrig = p.getCurve(); - - ECCurve curveAdd = configureCurve(curveOrig, additionCoord); - ECCurve curveDouble = configureCurve(curveOrig, doublingCoord); - - int[] naf = WNafUtil.generateCompactNaf(k); - - ECPoint Ra = curveAdd.getInfinity(); - ECPoint Td = curveDouble.importPoint(p); - - int zeroes = 0; - for (int i = 0; i < naf.length; ++i) - { - int ni = naf[i]; - int digit = ni >> 16; - zeroes += ni & 0xFFFF; - - Td = Td.timesPow2(zeroes); - - ECPoint Tj = curveAdd.importPoint(Td); - if (digit < 0) - { - Tj = Tj.negate(); - } - - Ra = Ra.add(Tj); - - zeroes = 1; - } - - return curveOrig.importPoint(Ra); - } - - protected ECCurve configureCurve(ECCurve c, int coord) - { - if (c.getCoordinateSystem() == coord) - { - return c; - } - - if (!c.supportsCoordinateSystem(coord)) - { - throw new IllegalArgumentException("Coordinate system " + coord + " not supported by this curve"); - } - - return c.configure().setCoordinateSystem(coord).create(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MontgomeryLadderMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MontgomeryLadderMultiplier.java deleted file mode 100644 index bc4f7a005..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/MontgomeryLadderMultiplier.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class MontgomeryLadderMultiplier extends AbstractECMultiplier -{ - /** - * Montgomery ladder. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECPoint[] R = new ECPoint[]{ p.getCurve().getInfinity(), p }; - - int n = k.bitLength(); - int i = n; - while (--i >= 0) - { - int b = k.testBit(i) ? 1 : 0; - int bp = 1 - b; - R[bp] = R[bp].add(R[b]); - R[b] = R[b].twice(); - } - return R[0]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafL2RMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafL2RMultiplier.java deleted file mode 100644 index b2aac42c1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafL2RMultiplier.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (left-to-right). - */ -public class NafL2RMultiplier extends AbstractECMultiplier -{ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - int[] naf = WNafUtil.generateCompactNaf(k); - - ECPoint addP = p.normalize(), subP = addP.negate(); - - ECPoint R = p.getCurve().getInfinity(); - - int i = naf.length; - while (--i >= 0) - { - int ni = naf[i]; - int digit = ni >> 16, zeroes = ni & 0xFFFF; - - R = R.twicePlus(digit < 0 ? subP : addP); - R = R.timesPow2(zeroes); - } - - return R; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafR2LMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafR2LMultiplier.java deleted file mode 100644 index 78aecb025..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/NafR2LMultiplier.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (right-to-left). - */ -public class NafR2LMultiplier extends AbstractECMultiplier -{ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - int[] naf = WNafUtil.generateCompactNaf(k); - - ECPoint R0 = p.getCurve().getInfinity(), R1 = p; - - int zeroes = 0; - for (int i = 0; i < naf.length; ++i) - { - int ni = naf[i]; - int digit = ni >> 16; - zeroes += ni & 0xFFFF; - - R1 = R1.timesPow2(zeroes); - R0 = R0.add(digit < 0 ? R1.negate() : R1); - - zeroes = 1; - } - - return R0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/PreCompInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/PreCompInfo.java deleted file mode 100644 index 72af12c46..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/PreCompInfo.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.math.ec; - -/** - * Interface for classes storing precomputation data for multiplication - * algorithms. Used as a Memento (see GOF patterns) by e.g. - * WNafL2RMultiplier. - */ -public interface PreCompInfo -{ -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ReferenceMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ReferenceMultiplier.java deleted file mode 100644 index 6c03173f9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ReferenceMultiplier.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class ReferenceMultiplier extends AbstractECMultiplier -{ - /** - * Simple shift-and-add multiplication. Serves as reference implementation - * to verify (possibly faster) implementations in - * {@link org.spongycastle.math.ec.ECPoint ECPoint}. - * - * @param p The point to multiply. - * @param k The factor by which to multiply. - * @return The result of the point multiplication k * p. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECPoint q = p.getCurve().getInfinity(); - int t = k.bitLength(); - if (t > 0) - { - if (k.testBit(0)) - { - q = p; - } - for (int i = 1; i < t; i++) - { - p = p.twice(); - if (k.testBit(i)) - { - q = q.add(p); - } - } - } - return q; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/SimpleBigDecimal.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/SimpleBigDecimal.java deleted file mode 100644 index f882abc63..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/SimpleBigDecimal.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class representing a simple version of a big decimal. A - * SimpleBigDecimal is basically a - * {@link java.math.BigInteger BigInteger} with a few digits on the right of - * the decimal point. The number of (binary) digits on the right of the decimal - * point is called the scale of the SimpleBigDecimal. - * Unlike in {@link java.math.BigDecimal BigDecimal}, the scale is not adjusted - * automatically, but must be set manually. All SimpleBigDecimals - * taking part in the same arithmetic operation must have equal scale. The - * result of a multiplication of two SimpleBigDecimals returns a - * SimpleBigDecimal with double scale. - */ -class SimpleBigDecimal - //extends Number // not in J2ME - add compatibility class? -{ - private static final long serialVersionUID = 1L; - - private final BigInteger bigInt; - private final int scale; - - /** - * Returns a SimpleBigDecimal representing the same numerical - * value as value. - * @param value The value of the SimpleBigDecimal to be - * created. - * @param scale The scale of the SimpleBigDecimal to be - * created. - * @return The such created SimpleBigDecimal. - */ - public static SimpleBigDecimal getInstance(BigInteger value, int scale) - { - return new SimpleBigDecimal(value.shiftLeft(scale), scale); - } - - /** - * Constructor for SimpleBigDecimal. The value of the - * constructed SimpleBigDecimal equals bigInt / - * 2scale. - * @param bigInt The bigInt value parameter. - * @param scale The scale of the constructed SimpleBigDecimal. - */ - public SimpleBigDecimal(BigInteger bigInt, int scale) - { - if (scale < 0) - { - throw new IllegalArgumentException("scale may not be negative"); - } - - this.bigInt = bigInt; - this.scale = scale; - } - - private SimpleBigDecimal(SimpleBigDecimal limBigDec) - { - bigInt = limBigDec.bigInt; - scale = limBigDec.scale; - } - - private void checkScale(SimpleBigDecimal b) - { - if (scale != b.scale) - { - throw new IllegalArgumentException("Only SimpleBigDecimal of " + - "same scale allowed in arithmetic operations"); - } - } - - public SimpleBigDecimal adjustScale(int newScale) - { - if (newScale < 0) - { - throw new IllegalArgumentException("scale may not be negative"); - } - - if (newScale == scale) - { - return new SimpleBigDecimal(this); - } - - return new SimpleBigDecimal(bigInt.shiftLeft(newScale - scale), - newScale); - } - - public SimpleBigDecimal add(SimpleBigDecimal b) - { - checkScale(b); - return new SimpleBigDecimal(bigInt.add(b.bigInt), scale); - } - - public SimpleBigDecimal add(BigInteger b) - { - return new SimpleBigDecimal(bigInt.add(b.shiftLeft(scale)), scale); - } - - public SimpleBigDecimal negate() - { - return new SimpleBigDecimal(bigInt.negate(), scale); - } - - public SimpleBigDecimal subtract(SimpleBigDecimal b) - { - return add(b.negate()); - } - - public SimpleBigDecimal subtract(BigInteger b) - { - return new SimpleBigDecimal(bigInt.subtract(b.shiftLeft(scale)), - scale); - } - - public SimpleBigDecimal multiply(SimpleBigDecimal b) - { - checkScale(b); - return new SimpleBigDecimal(bigInt.multiply(b.bigInt), scale + scale); - } - - public SimpleBigDecimal multiply(BigInteger b) - { - return new SimpleBigDecimal(bigInt.multiply(b), scale); - } - - public SimpleBigDecimal divide(SimpleBigDecimal b) - { - checkScale(b); - BigInteger dividend = bigInt.shiftLeft(scale); - return new SimpleBigDecimal(dividend.divide(b.bigInt), scale); - } - - public SimpleBigDecimal divide(BigInteger b) - { - return new SimpleBigDecimal(bigInt.divide(b), scale); - } - - public SimpleBigDecimal shiftLeft(int n) - { - return new SimpleBigDecimal(bigInt.shiftLeft(n), scale); - } - - public int compareTo(SimpleBigDecimal val) - { - checkScale(val); - return bigInt.compareTo(val.bigInt); - } - - public int compareTo(BigInteger val) - { - return bigInt.compareTo(val.shiftLeft(scale)); - } - - public BigInteger floor() - { - return bigInt.shiftRight(scale); - } - - public BigInteger round() - { - SimpleBigDecimal oneHalf = new SimpleBigDecimal(ECConstants.ONE, 1); - return add(oneHalf.adjustScale(scale)).floor(); - } - - public int intValue() - { - return floor().intValue(); - } - - public long longValue() - { - return floor().longValue(); - } - /* NON-J2ME compliant. - public double doubleValue() - { - return Double.valueOf(toString()).doubleValue(); - } - - public float floatValue() - { - return Float.valueOf(toString()).floatValue(); - } - */ - public int getScale() - { - return scale; - } - - public String toString() - { - if (scale == 0) - { - return bigInt.toString(); - } - - BigInteger floorBigInt = floor(); - - BigInteger fract = bigInt.subtract(floorBigInt.shiftLeft(scale)); - if (bigInt.signum() == -1) - { - fract = ECConstants.ONE.shiftLeft(scale).subtract(fract); - } - - if ((floorBigInt.signum() == -1) && (!(fract.equals(ECConstants.ZERO)))) - { - floorBigInt = floorBigInt.add(ECConstants.ONE); - } - String leftOfPoint = floorBigInt.toString(); - - char[] fractCharArr = new char[scale]; - String fractStr = fract.toString(2); - int fractLen = fractStr.length(); - int zeroes = scale - fractLen; - for (int i = 0; i < zeroes; i++) - { - fractCharArr[i] = '0'; - } - for (int j = 0; j < fractLen; j++) - { - fractCharArr[zeroes + j] = fractStr.charAt(j); - } - String rightOfPoint = new String(fractCharArr); - - StringBuffer sb = new StringBuffer(leftOfPoint); - sb.append("."); - sb.append(rightOfPoint); - - return sb.toString(); - } - - public boolean equals(Object o) - { - if (this == o) - { - return true; - } - - if (!(o instanceof SimpleBigDecimal)) - { - return false; - } - - SimpleBigDecimal other = (SimpleBigDecimal)o; - return ((bigInt.equals(other.bigInt)) && (scale == other.scale)); - } - - public int hashCode() - { - return bigInt.hashCode() ^ scale; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/Tnaf.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/Tnaf.java deleted file mode 100644 index 6c5a0db56..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/Tnaf.java +++ /dev/null @@ -1,832 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class holding methods for point multiplication based on the window - * τ-adic nonadjacent form (WTNAF). The algorithms are based on the - * paper "Improved Algorithms for Arithmetic on Anomalous Binary Curves" - * by Jerome A. Solinas. The paper first appeared in the Proceedings of - * Crypto 1997. - */ -class Tnaf -{ - private static final BigInteger MINUS_ONE = ECConstants.ONE.negate(); - private static final BigInteger MINUS_TWO = ECConstants.TWO.negate(); - private static final BigInteger MINUS_THREE = ECConstants.THREE.negate(); - - /** - * The window width of WTNAF. The standard value of 4 is slightly less - * than optimal for running time, but keeps space requirements for - * precomputation low. For typical curves, a value of 5 or 6 results in - * a better running time. When changing this value, the - * αu's must be computed differently, see - * e.g. "Guide to Elliptic Curve Cryptography", Darrel Hankerson, - * Alfred Menezes, Scott Vanstone, Springer-Verlag New York Inc., 2004, - * p. 121-122 - */ - public static final byte WIDTH = 4; - - /** - * 24 - */ - public static final byte POW_2_WIDTH = 16; - - /** - * The αu's for a=0 as an array - * of ZTauElements. - */ - public static final ZTauElement[] alpha0 = { - null, - new ZTauElement(ECConstants.ONE, ECConstants.ZERO), null, - new ZTauElement(MINUS_THREE, MINUS_ONE), null, - new ZTauElement(MINUS_ONE, MINUS_ONE), null, - new ZTauElement(ECConstants.ONE, MINUS_ONE), null - }; - - /** - * The αu's for a=0 as an array - * of TNAFs. - */ - public static final byte[][] alpha0Tnaf = { - null, {1}, null, {-1, 0, 1}, null, {1, 0, 1}, null, {-1, 0, 0, 1} - }; - - /** - * The αu's for a=1 as an array - * of ZTauElements. - */ - public static final ZTauElement[] alpha1 = {null, - new ZTauElement(ECConstants.ONE, ECConstants.ZERO), null, - new ZTauElement(MINUS_THREE, ECConstants.ONE), null, - new ZTauElement(MINUS_ONE, ECConstants.ONE), null, - new ZTauElement(ECConstants.ONE, ECConstants.ONE), null - }; - - /** - * The αu's for a=1 as an array - * of TNAFs. - */ - public static final byte[][] alpha1Tnaf = { - null, {1}, null, {-1, 0, 1}, null, {1, 0, 1}, null, {-1, 0, 0, -1} - }; - - /** - * Computes the norm of an element λ of - * Z[τ]. - * @param mu The parameter μ of the elliptic curve. - * @param lambda The element λ of - * Z[τ]. - * @return The norm of λ. - */ - public static BigInteger norm(final byte mu, ZTauElement lambda) - { - BigInteger norm; - - // s1 = u^2 - BigInteger s1 = lambda.u.multiply(lambda.u); - - // s2 = u * v - BigInteger s2 = lambda.u.multiply(lambda.v); - - // s3 = 2 * v^2 - BigInteger s3 = lambda.v.multiply(lambda.v).shiftLeft(1); - - if (mu == 1) - { - norm = s1.add(s2).add(s3); - } - else if (mu == -1) - { - norm = s1.subtract(s2).add(s3); - } - else - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - return norm; - } - - /** - * Computes the norm of an element λ of - * R[τ], where λ = u + vτ - * and u and u are real numbers (elements of - * R). - * @param mu The parameter μ of the elliptic curve. - * @param u The real part of the element λ of - * R[τ]. - * @param v The τ-adic part of the element - * λ of R[τ]. - * @return The norm of λ. - */ - public static SimpleBigDecimal norm(final byte mu, SimpleBigDecimal u, - SimpleBigDecimal v) - { - SimpleBigDecimal norm; - - // s1 = u^2 - SimpleBigDecimal s1 = u.multiply(u); - - // s2 = u * v - SimpleBigDecimal s2 = u.multiply(v); - - // s3 = 2 * v^2 - SimpleBigDecimal s3 = v.multiply(v).shiftLeft(1); - - if (mu == 1) - { - norm = s1.add(s2).add(s3); - } - else if (mu == -1) - { - norm = s1.subtract(s2).add(s3); - } - else - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - return norm; - } - - /** - * Rounds an element λ of R[τ] - * to an element of Z[τ], such that their difference - * has minimal norm. λ is given as - * λ = λ0 + λ1τ. - * @param lambda0 The component λ0. - * @param lambda1 The component λ1. - * @param mu The parameter μ of the elliptic curve. Must - * equal 1 or -1. - * @return The rounded element of Z[τ]. - * @throws IllegalArgumentException if lambda0 and - * lambda1 do not have same scale. - */ - public static ZTauElement round(SimpleBigDecimal lambda0, - SimpleBigDecimal lambda1, byte mu) - { - int scale = lambda0.getScale(); - if (lambda1.getScale() != scale) - { - throw new IllegalArgumentException("lambda0 and lambda1 do not " + - "have same scale"); - } - - if (!((mu == 1) || (mu == -1))) - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - BigInteger f0 = lambda0.round(); - BigInteger f1 = lambda1.round(); - - SimpleBigDecimal eta0 = lambda0.subtract(f0); - SimpleBigDecimal eta1 = lambda1.subtract(f1); - - // eta = 2*eta0 + mu*eta1 - SimpleBigDecimal eta = eta0.add(eta0); - if (mu == 1) - { - eta = eta.add(eta1); - } - else - { - // mu == -1 - eta = eta.subtract(eta1); - } - - // check1 = eta0 - 3*mu*eta1 - // check2 = eta0 + 4*mu*eta1 - SimpleBigDecimal threeEta1 = eta1.add(eta1).add(eta1); - SimpleBigDecimal fourEta1 = threeEta1.add(eta1); - SimpleBigDecimal check1; - SimpleBigDecimal check2; - if (mu == 1) - { - check1 = eta0.subtract(threeEta1); - check2 = eta0.add(fourEta1); - } - else - { - // mu == -1 - check1 = eta0.add(threeEta1); - check2 = eta0.subtract(fourEta1); - } - - byte h0 = 0; - byte h1 = 0; - - // if eta >= 1 - if (eta.compareTo(ECConstants.ONE) >= 0) - { - if (check1.compareTo(MINUS_ONE) < 0) - { - h1 = mu; - } - else - { - h0 = 1; - } - } - else - { - // eta < 1 - if (check2.compareTo(ECConstants.TWO) >= 0) - { - h1 = mu; - } - } - - // if eta < -1 - if (eta.compareTo(MINUS_ONE) < 0) - { - if (check1.compareTo(ECConstants.ONE) >= 0) - { - h1 = (byte)-mu; - } - else - { - h0 = -1; - } - } - else - { - // eta >= -1 - if (check2.compareTo(MINUS_TWO) < 0) - { - h1 = (byte)-mu; - } - } - - BigInteger q0 = f0.add(BigInteger.valueOf(h0)); - BigInteger q1 = f1.add(BigInteger.valueOf(h1)); - return new ZTauElement(q0, q1); - } - - /** - * Approximate division by n. For an integer - * k, the value λ = s k / n is - * computed to c bits of accuracy. - * @param k The parameter k. - * @param s The curve parameter s0 or - * s1. - * @param vm The Lucas Sequence element Vm. - * @param a The parameter a of the elliptic curve. - * @param m The bit length of the finite field - * Fm. - * @param c The number of bits of accuracy, i.e. the scale of the returned - * SimpleBigDecimal. - * @return The value λ = s k / n computed to - * c bits of accuracy. - */ - public static SimpleBigDecimal approximateDivisionByN(BigInteger k, - BigInteger s, BigInteger vm, byte a, int m, int c) - { - int _k = (m + 5)/2 + c; - BigInteger ns = k.shiftRight(m - _k - 2 + a); - - BigInteger gs = s.multiply(ns); - - BigInteger hs = gs.shiftRight(m); - - BigInteger js = vm.multiply(hs); - - BigInteger gsPlusJs = gs.add(js); - BigInteger ls = gsPlusJs.shiftRight(_k-c); - if (gsPlusJs.testBit(_k-c-1)) - { - // round up - ls = ls.add(ECConstants.ONE); - } - - return new SimpleBigDecimal(ls, c); - } - - /** - * Computes the τ-adic NAF (non-adjacent form) of an - * element λ of Z[τ]. - * @param mu The parameter μ of the elliptic curve. - * @param lambda The element λ of - * Z[τ]. - * @return The τ-adic NAF of λ. - */ - public static byte[] tauAdicNaf(byte mu, ZTauElement lambda) - { - if (!((mu == 1) || (mu == -1))) - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - BigInteger norm = norm(mu, lambda); - - // Ceiling of log2 of the norm - int log2Norm = norm.bitLength(); - - // If length(TNAF) > 30, then length(TNAF) < log2Norm + 3.52 - int maxLength = log2Norm > 30 ? log2Norm + 4 : 34; - - // The array holding the TNAF - byte[] u = new byte[maxLength]; - int i = 0; - - // The actual length of the TNAF - int length = 0; - - BigInteger r0 = lambda.u; - BigInteger r1 = lambda.v; - - while(!((r0.equals(ECConstants.ZERO)) && (r1.equals(ECConstants.ZERO)))) - { - // If r0 is odd - if (r0.testBit(0)) - { - u[i] = (byte) ECConstants.TWO.subtract((r0.subtract(r1.shiftLeft(1))).mod(ECConstants.FOUR)).intValue(); - - // r0 = r0 - u[i] - if (u[i] == 1) - { - r0 = r0.clearBit(0); - } - else - { - // u[i] == -1 - r0 = r0.add(ECConstants.ONE); - } - length = i; - } - else - { - u[i] = 0; - } - - BigInteger t = r0; - BigInteger s = r0.shiftRight(1); - if (mu == 1) - { - r0 = r1.add(s); - } - else - { - // mu == -1 - r0 = r1.subtract(s); - } - - r1 = t.shiftRight(1).negate(); - i++; - } - - length++; - - // Reduce the TNAF array to its actual length - byte[] tnaf = new byte[length]; - System.arraycopy(u, 0, tnaf, 0, length); - return tnaf; - } - - /** - * Applies the operation τ() to an - * ECPoint.F2m. - * @param p The ECPoint.F2m to which τ() is applied. - * @return τ(p) - */ - public static ECPoint.F2m tau(ECPoint.F2m p) - { - return p.tau(); - } - - /** - * Returns the parameter μ of the elliptic curve. - * @param curve The elliptic curve from which to obtain μ. - * The curve must be a Koblitz curve, i.e. a equals - * 0 or 1 and b equals - * 1. - * @return μ of the elliptic curve. - * @throws IllegalArgumentException if the given ECCurve is not a Koblitz - * curve. - */ - public static byte getMu(ECCurve.F2m curve) - { - if (!curve.isKoblitz()) - { - throw new IllegalArgumentException("No Koblitz curve (ABC), TNAF multiplication not possible"); - } - - if (curve.getA().isZero()) - { - return -1; - } - - return 1; - } - - /** - * Calculates the Lucas Sequence elements Uk-1 and - * Uk or Vk-1 and - * Vk. - * @param mu The parameter μ of the elliptic curve. - * @param k The index of the second element of the Lucas Sequence to be - * returned. - * @param doV If set to true, computes Vk-1 and - * Vk, otherwise Uk-1 and - * Uk. - * @return An array with 2 elements, containing Uk-1 - * and Uk or Vk-1 - * and Vk. - */ - public static BigInteger[] getLucas(byte mu, int k, boolean doV) - { - if (!((mu == 1) || (mu == -1))) - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - BigInteger u0; - BigInteger u1; - BigInteger u2; - - if (doV) - { - u0 = ECConstants.TWO; - u1 = BigInteger.valueOf(mu); - } - else - { - u0 = ECConstants.ZERO; - u1 = ECConstants.ONE; - } - - for (int i = 1; i < k; i++) - { - // u2 = mu*u1 - 2*u0; - BigInteger s = null; - if (mu == 1) - { - s = u1; - } - else - { - // mu == -1 - s = u1.negate(); - } - - u2 = s.subtract(u0.shiftLeft(1)); - u0 = u1; - u1 = u2; -// System.out.println(i + ": " + u2); -// System.out.println(); - } - - BigInteger[] retVal = {u0, u1}; - return retVal; - } - - /** - * Computes the auxiliary value tw. If the width is - * 4, then for mu = 1, tw = 6 and for - * mu = -1, tw = 10 - * @param mu The parameter μ of the elliptic curve. - * @param w The window width of the WTNAF. - * @return the auxiliary value tw - */ - public static BigInteger getTw(byte mu, int w) - { - if (w == 4) - { - if (mu == 1) - { - return BigInteger.valueOf(6); - } - else - { - // mu == -1 - return BigInteger.valueOf(10); - } - } - else - { - // For w <> 4, the values must be computed - BigInteger[] us = getLucas(mu, w, false); - BigInteger twoToW = ECConstants.ZERO.setBit(w); - BigInteger u1invert = us[1].modInverse(twoToW); - BigInteger tw; - tw = ECConstants.TWO.multiply(us[0]).multiply(u1invert).mod(twoToW); -// System.out.println("mu = " + mu); -// System.out.println("tw = " + tw); - return tw; - } - } - - /** - * Computes the auxiliary values s0 and - * s1 used for partial modular reduction. - * @param curve The elliptic curve for which to compute - * s0 and s1. - * @throws IllegalArgumentException if curve is not a - * Koblitz curve (Anomalous Binary Curve, ABC). - */ - public static BigInteger[] getSi(ECCurve.F2m curve) - { - if (!curve.isKoblitz()) - { - throw new IllegalArgumentException("si is defined for Koblitz curves only"); - } - - int m = curve.getM(); - int a = curve.getA().toBigInteger().intValue(); - byte mu = curve.getMu(); - int h = curve.getH().intValue(); - int index = m + 3 - a; - BigInteger[] ui = getLucas(mu, index, false); - - BigInteger dividend0; - BigInteger dividend1; - if (mu == 1) - { - dividend0 = ECConstants.ONE.subtract(ui[1]); - dividend1 = ECConstants.ONE.subtract(ui[0]); - } - else if (mu == -1) - { - dividend0 = ECConstants.ONE.add(ui[1]); - dividend1 = ECConstants.ONE.add(ui[0]); - } - else - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - BigInteger[] si = new BigInteger[2]; - - if (h == 2) - { - si[0] = dividend0.shiftRight(1); - si[1] = dividend1.shiftRight(1).negate(); - } - else if (h == 4) - { - si[0] = dividend0.shiftRight(2); - si[1] = dividend1.shiftRight(2).negate(); - } - else - { - throw new IllegalArgumentException("h (Cofactor) must be 2 or 4"); - } - - return si; - } - - /** - * Partial modular reduction modulo - * m - 1)/(τ - 1). - * @param k The integer to be reduced. - * @param m The bitlength of the underlying finite field. - * @param a The parameter a of the elliptic curve. - * @param s The auxiliary values s0 and - * s1. - * @param mu The parameter μ of the elliptic curve. - * @param c The precision (number of bits of accuracy) of the partial - * modular reduction. - * @return ρ := k partmod (τm - 1)/(τ - 1) - */ - public static ZTauElement partModReduction(BigInteger k, int m, byte a, - BigInteger[] s, byte mu, byte c) - { - // d0 = s[0] + mu*s[1]; mu is either 1 or -1 - BigInteger d0; - if (mu == 1) - { - d0 = s[0].add(s[1]); - } - else - { - d0 = s[0].subtract(s[1]); - } - - BigInteger[] v = getLucas(mu, m, true); - BigInteger vm = v[1]; - - SimpleBigDecimal lambda0 = approximateDivisionByN( - k, s[0], vm, a, m, c); - - SimpleBigDecimal lambda1 = approximateDivisionByN( - k, s[1], vm, a, m, c); - - ZTauElement q = round(lambda0, lambda1, mu); - - // r0 = n - d0*q0 - 2*s1*q1 - BigInteger r0 = k.subtract(d0.multiply(q.u)).subtract( - BigInteger.valueOf(2).multiply(s[1]).multiply(q.v)); - - // r1 = s1*q0 - s0*q1 - BigInteger r1 = s[1].multiply(q.u).subtract(s[0].multiply(q.v)); - - return new ZTauElement(r0, r1); - } - - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by a BigInteger using the reduced τ-adic - * NAF (RTNAF) method. - * @param p The ECPoint.F2m to multiply. - * @param k The BigInteger by which to multiply p. - * @return k * p - */ - public static ECPoint.F2m multiplyRTnaf(ECPoint.F2m p, BigInteger k) - { - ECCurve.F2m curve = (ECCurve.F2m) p.getCurve(); - int m = curve.getM(); - byte a = (byte) curve.getA().toBigInteger().intValue(); - byte mu = curve.getMu(); - BigInteger[] s = curve.getSi(); - ZTauElement rho = partModReduction(k, m, a, s, mu, (byte)10); - - return multiplyTnaf(p, rho); - } - - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by an element λ of Z[τ] - * using the τ-adic NAF (TNAF) method. - * @param p The ECPoint.F2m to multiply. - * @param lambda The element λ of - * Z[τ]. - * @return λ * p - */ - public static ECPoint.F2m multiplyTnaf(ECPoint.F2m p, ZTauElement lambda) - { - ECCurve.F2m curve = (ECCurve.F2m)p.getCurve(); - byte mu = curve.getMu(); - byte[] u = tauAdicNaf(mu, lambda); - - ECPoint.F2m q = multiplyFromTnaf(p, u); - - return q; - } - - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by an element λ of Z[τ] - * using the τ-adic NAF (TNAF) method, given the TNAF - * of λ. - * @param p The ECPoint.F2m to multiply. - * @param u The the TNAF of λ.. - * @return λ * p - */ - public static ECPoint.F2m multiplyFromTnaf(ECPoint.F2m p, byte[] u) - { - ECCurve.F2m curve = (ECCurve.F2m)p.getCurve(); - ECPoint.F2m q = (ECPoint.F2m) curve.getInfinity(); - for (int i = u.length - 1; i >= 0; i--) - { - q = tau(q); - if (u[i] == 1) - { - q = (ECPoint.F2m)q.addSimple(p); - } - else if (u[i] == -1) - { - q = (ECPoint.F2m)q.subtractSimple(p); - } - } - return q; - } - - /** - * Computes the [τ]-adic window NAF of an element - * λ of Z[τ]. - * @param mu The parameter μ of the elliptic curve. - * @param lambda The element λ of - * Z[τ] of which to compute the - * [τ]-adic NAF. - * @param width The window width of the resulting WNAF. - * @param pow2w 2width. - * @param tw The auxiliary value tw. - * @param alpha The αu's for the window width. - * @return The [τ]-adic window NAF of - * λ. - */ - public static byte[] tauAdicWNaf(byte mu, ZTauElement lambda, - byte width, BigInteger pow2w, BigInteger tw, ZTauElement[] alpha) - { - if (!((mu == 1) || (mu == -1))) - { - throw new IllegalArgumentException("mu must be 1 or -1"); - } - - BigInteger norm = norm(mu, lambda); - - // Ceiling of log2 of the norm - int log2Norm = norm.bitLength(); - - // If length(TNAF) > 30, then length(TNAF) < log2Norm + 3.52 - int maxLength = log2Norm > 30 ? log2Norm + 4 + width : 34 + width; - - // The array holding the TNAF - byte[] u = new byte[maxLength]; - - // 2^(width - 1) - BigInteger pow2wMin1 = pow2w.shiftRight(1); - - // Split lambda into two BigIntegers to simplify calculations - BigInteger r0 = lambda.u; - BigInteger r1 = lambda.v; - int i = 0; - - // while lambda <> (0, 0) - while (!((r0.equals(ECConstants.ZERO))&&(r1.equals(ECConstants.ZERO)))) - { - // if r0 is odd - if (r0.testBit(0)) - { - // uUnMod = r0 + r1*tw mod 2^width - BigInteger uUnMod - = r0.add(r1.multiply(tw)).mod(pow2w); - - byte uLocal; - // if uUnMod >= 2^(width - 1) - if (uUnMod.compareTo(pow2wMin1) >= 0) - { - uLocal = (byte) uUnMod.subtract(pow2w).intValue(); - } - else - { - uLocal = (byte) uUnMod.intValue(); - } - // uLocal is now in [-2^(width-1), 2^(width-1)-1] - - u[i] = uLocal; - boolean s = true; - if (uLocal < 0) - { - s = false; - uLocal = (byte)-uLocal; - } - // uLocal is now >= 0 - - if (s) - { - r0 = r0.subtract(alpha[uLocal].u); - r1 = r1.subtract(alpha[uLocal].v); - } - else - { - r0 = r0.add(alpha[uLocal].u); - r1 = r1.add(alpha[uLocal].v); - } - } - else - { - u[i] = 0; - } - - BigInteger t = r0; - - if (mu == 1) - { - r0 = r1.add(r0.shiftRight(1)); - } - else - { - // mu == -1 - r0 = r1.subtract(r0.shiftRight(1)); - } - r1 = t.shiftRight(1).negate(); - i++; - } - return u; - } - - /** - * Does the precomputation for WTNAF multiplication. - * @param p The ECPoint for which to do the precomputation. - * @param a The parameter a of the elliptic curve. - * @return The precomputation array for p. - */ - public static ECPoint.F2m[] getPreComp(ECPoint.F2m p, byte a) - { - ECPoint.F2m[] pu; - pu = new ECPoint.F2m[16]; - pu[1] = p; - byte[][] alphaTnaf; - if (a == 0) - { - alphaTnaf = Tnaf.alpha0Tnaf; - } - else - { - // a == 1 - alphaTnaf = Tnaf.alpha1Tnaf; - } - - int precompLen = alphaTnaf.length; - for (int i = 3; i < precompLen; i = i + 2) - { - pu[i] = Tnaf.multiplyFromTnaf(p, alphaTnaf[i]); - } - - p.getCurve().normalizeAll(pu); - - return pu; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafL2RMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafL2RMultiplier.java deleted file mode 100644 index 0f64450b7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafL2RMultiplier.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class implementing the WNAF (Window Non-Adjacent Form) multiplication - * algorithm. - */ -public class WNafL2RMultiplier extends AbstractECMultiplier -{ - /** - * Multiplies this by an integer k using the - * Window NAF method. - * @param k The integer by which this is multiplied. - * @return A new ECPoint which equals this - * multiplied by k. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - // Clamp the window width in the range [2, 16] - int width = Math.max(2, Math.min(16, getWindowSize(k.bitLength()))); - - WNafPreCompInfo wnafPreCompInfo = WNafUtil.precompute(p, width, true); - ECPoint[] preComp = wnafPreCompInfo.getPreComp(); - ECPoint[] preCompNeg = wnafPreCompInfo.getPreCompNeg(); - - int[] wnaf = WNafUtil.generateCompactWindowNaf(width, k); - - ECPoint R = p.getCurve().getInfinity(); - - int i = wnaf.length; - - /* - * NOTE This code optimizes the first window using the precomputed points to substitute an - * addition for 2 or more doublings. - */ - if (i > 1) - { - int wi = wnaf[--i]; - int digit = wi >> 16, zeroes = wi & 0xFFFF; - - int n = Math.abs(digit); - ECPoint[] table = digit < 0 ? preCompNeg : preComp; - - /* - * NOTE: We use this optimization conservatively, since some coordinate systems have - * significantly cheaper doubling relative to addition. - * - * (n << 2) selects precomputed values in the lower half of the table - * (n << 3) selects precomputed values in the lower quarter of the table - */ - //if ((n << 2) < (1 << width)) - if ((n << 3) < (1 << width)) - { - int highest = LongArray.bitLengths[n]; - int lowBits = n ^ (1 << (highest - 1)); - int scale = width - highest; - - int i1 = ((1 << (width - 1)) - 1); - int i2 = (lowBits << scale) + 1; - R = table[i1 >>> 1].add(table[i2 >>> 1]); - - zeroes -= scale; - -// System.out.println("Optimized: 2^" + scale + " * " + n + " = " + i1 + " + " + i2); - } - else - { - R = table[n >>> 1]; - } - - R = R.timesPow2(zeroes); - } - - while (i > 0) - { - int wi = wnaf[--i]; - int digit = wi >> 16, zeroes = wi & 0xFFFF; - - int n = Math.abs(digit); - ECPoint[] table = digit < 0 ? preCompNeg : preComp; - ECPoint r = table[n >>> 1]; - - R = R.twicePlus(r); - R = R.timesPow2(zeroes); - } - - return R; - } - - /** - * Determine window width to use for a scalar multiplication of the given size. - * - * @param bits the bit-length of the scalar to multiply by - * @return the window size to use - */ - protected int getWindowSize(int bits) - { - return WNafUtil.getWindowSize(bits); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafPreCompInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafPreCompInfo.java deleted file mode 100644 index 4a7b7e31c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafPreCompInfo.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.spongycastle.math.ec; - -/** - * Class holding precomputation data for the WNAF (Window Non-Adjacent Form) - * algorithm. - */ -public class WNafPreCompInfo implements PreCompInfo -{ - /** - * Array holding the precomputed ECPoints used for a Window - * NAF multiplication. - */ - private ECPoint[] preComp = null; - - /** - * Array holding the negations of the precomputed ECPoints used - * for a Window NAF multiplication. - */ - private ECPoint[] preCompNeg = null; - - /** - * Holds an ECPoint representing twice(this). Used for the - * Window NAF multiplication to create or extend the precomputed values. - */ - private ECPoint twiceP = null; - - protected ECPoint[] getPreComp() - { - return preComp; - } - - protected ECPoint[] getPreCompNeg() - { - return preCompNeg; - } - - protected void setPreComp(ECPoint[] preComp) - { - this.preComp = preComp; - } - - protected void setPreCompNeg(ECPoint[] preCompNeg) - { - this.preCompNeg = preCompNeg; - } - - protected ECPoint getTwiceP() - { - return twiceP; - } - - protected void setTwiceP(ECPoint twiceP) - { - this.twiceP = twiceP; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafUtil.java deleted file mode 100644 index 9215f9490..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WNafUtil.java +++ /dev/null @@ -1,393 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public abstract class WNafUtil -{ - private static int[] DEFAULT_WINDOW_SIZE_CUTOFFS = new int[]{ 13, 41, 121, 337, 897, 2305 }; - - public static int[] generateCompactNaf(BigInteger k) - { - if ((k.bitLength() >>> 16) != 0) - { - throw new IllegalArgumentException("'k' must have bitlength < 2^16"); - } - - BigInteger _3k = k.shiftLeft(1).add(k); - - int digits = _3k.bitLength() - 1; - int[] naf = new int[(digits + 1) >> 1]; - - int length = 0, zeroes = 0; - for (int i = 1; i <= digits; ++i) - { - boolean _3kBit = _3k.testBit(i); - boolean kBit = k.testBit(i); - - if (_3kBit == kBit) - { - ++zeroes; - } - else - { - int digit = kBit ? -1 : 1; - naf[length++] = (digit << 16) | zeroes; - zeroes = 0; - } - } - - if (naf.length > length) - { - naf = trim(naf, length); - } - - return naf; - } - - public static int[] generateCompactWindowNaf(int width, BigInteger k) - { - if (width == 2) - { - return generateCompactNaf(k); - } - - if (width < 2 || width > 16) - { - throw new IllegalArgumentException("'width' must be in the range [2, 16]"); - } - if ((k.bitLength() >>> 16) != 0) - { - throw new IllegalArgumentException("'k' must have bitlength < 2^16"); - } - - int[] wnaf = new int[k.bitLength() / width + 1]; - - // 2^width and a mask and sign bit set accordingly - int pow2 = 1 << width; - int mask = pow2 - 1; - int sign = pow2 >>> 1; - - boolean carry = false; - int length = 0, pos = 0; - - while (pos <= k.bitLength()) - { - if (k.testBit(pos) == carry) - { - ++pos; - continue; - } - - k = k.shiftRight(pos); - - int digit = k.intValue() & mask; - if (carry) - { - ++digit; - } - - carry = (digit & sign) != 0; - if (carry) - { - digit -= pow2; - } - - int zeroes = length > 0 ? pos - 1 : pos; - wnaf[length++] = (digit << 16) | zeroes; - pos = width; - } - - // Reduce the WNAF array to its actual length - if (wnaf.length > length) - { - wnaf = trim(wnaf, length); - } - - return wnaf; - } - - public static byte[] generateJSF(BigInteger g, BigInteger h) - { - int digits = Math.max(g.bitLength(), h.bitLength()) + 1; - byte[] jsf = new byte[digits]; - - BigInteger k0 = g, k1 = h; - int j = 0, d0 = 0, d1 = 0; - - while (k0.signum() > 0 || k1.signum() > 0 || d0 > 0 || d1 > 0) - { - int n0 = (k0.intValue() + d0) & 7, n1 = (k1.intValue() + d1) & 7; - - int u0 = n0 & 1; - if (u0 != 0) - { - u0 -= (n0 & 2); - if ((n0 + u0) == 4 && (n1 & 3) == 2) - { - u0 = -u0; - } - } - - int u1 = n1 & 1; - if (u1 != 0) - { - u1 -= (n1 & 2); - if ((n1 + u1) == 4 && (n0 & 3) == 2) - { - u1 = -u1; - } - } - - if ((d0 << 1) == 1 + u0) - { - d0 = 1 - d0; - } - if ((d1 << 1) == 1 + u1) - { - d1 = 1 - d1; - } - - k0 = k0.shiftRight(1); - k1 = k1.shiftRight(1); - - jsf[j++] = (byte)((u0 << 4) | (u1 & 0xF)); - } - - // Reduce the JSF array to its actual length - if (jsf.length > j) - { - jsf = trim(jsf, j); - } - - return jsf; - } - - public static byte[] generateNaf(BigInteger k) - { - BigInteger _3k = k.shiftLeft(1).add(k); - - int digits = _3k.bitLength() - 1; - byte[] naf = new byte[digits]; - - for (int i = 1; i <= digits; ++i) - { - boolean _3kBit = _3k.testBit(i); - boolean kBit = k.testBit(i); - - naf[i - 1] = (byte)(_3kBit == kBit ? 0 : kBit ? -1 : 1); - } - - return naf; - } - - /** - * Computes the Window NAF (non-adjacent Form) of an integer. - * @param width The width w of the Window NAF. The width is - * defined as the minimal number w, such that for any - * w consecutive digits in the resulting representation, at - * most one is non-zero. - * @param k The integer of which the Window NAF is computed. - * @return The Window NAF of the given width, such that the following holds: - * k = ∑i=0l-1 ki2i - * , where the ki denote the elements of the - * returned byte[]. - */ - public static byte[] generateWindowNaf(int width, BigInteger k) - { - if (width == 2) - { - return generateNaf(k); - } - - if (width < 2 || width > 8) - { - throw new IllegalArgumentException("'width' must be in the range [2, 8]"); - } - - byte[] wnaf = new byte[k.bitLength() + 1]; - - // 2^width and a mask and sign bit set accordingly - int pow2 = 1 << width; - int mask = pow2 - 1; - int sign = pow2 >>> 1; - - boolean carry = false; - int length = 0, pos = 0; - - while (pos <= k.bitLength()) - { - if (k.testBit(pos) == carry) - { - ++pos; - continue; - } - - k = k.shiftRight(pos); - - int digit = k.intValue() & mask; - if (carry) - { - ++digit; - } - - carry = (digit & sign) != 0; - if (carry) - { - digit -= pow2; - } - - length += (length > 0) ? pos - 1 : pos; - wnaf[length++] = (byte)digit; - pos = width; - } - - // Reduce the WNAF array to its actual length - if (wnaf.length > length) - { - wnaf = trim(wnaf, length); - } - - return wnaf; - } - - public static WNafPreCompInfo getWNafPreCompInfo(PreCompInfo preCompInfo) - { - if ((preCompInfo != null) && (preCompInfo instanceof WNafPreCompInfo)) - { - return (WNafPreCompInfo)preCompInfo; - } - - return new WNafPreCompInfo(); - } - - /** - * Determine window width to use for a scalar multiplication of the given size. - * - * @param bits the bit-length of the scalar to multiply by - * @return the window size to use - */ - public static int getWindowSize(int bits) - { - return getWindowSize(bits, DEFAULT_WINDOW_SIZE_CUTOFFS); - } - - /** - * Determine window width to use for a scalar multiplication of the given size. - * - * @param bits the bit-length of the scalar to multiply by - * @param windowSizeCutoffs a monotonically increasing list of bit sizes at which to increment the window width - * @return the window size to use - */ - public static int getWindowSize(int bits, int[] windowSizeCutoffs) - { - int w = 0; - for (; w < windowSizeCutoffs.length; ++w) - { - if (bits < windowSizeCutoffs[w]) - { - break; - } - } - return w + 2; - } - - public static WNafPreCompInfo precompute(ECPoint p, int width, boolean includeNegated) - { - ECCurve c = p.getCurve(); - WNafPreCompInfo wnafPreCompInfo = getWNafPreCompInfo(c.getPreCompInfo(p)); - - ECPoint[] preComp = wnafPreCompInfo.getPreComp(); - if (preComp == null) - { - preComp = new ECPoint[]{ p }; - } - - int preCompLen = preComp.length; - int reqPreCompLen = 1 << Math.max(0, width - 2); - - if (preCompLen < reqPreCompLen) - { - ECPoint twiceP = wnafPreCompInfo.getTwiceP(); - if (twiceP == null) - { - twiceP = preComp[0].twice().normalize(); - wnafPreCompInfo.setTwiceP(twiceP); - } - - preComp = resizeTable(preComp, reqPreCompLen); - - /* - * TODO Okeya/Sakurai paper has precomputation trick and "Montgomery's Trick" to speed this up. - * Also, co-Z arithmetic could avoid the subsequent normalization too. - */ - for (int i = preCompLen; i < reqPreCompLen; i++) - { - /* - * Compute the new ECPoints for the precomputation array. The values 1, 3, 5, ..., - * 2^(width-1)-1 times p are computed - */ - preComp[i] = twiceP.add(preComp[i - 1]); - } - - /* - * Having oft-used operands in affine form makes operations faster. - */ - c.normalizeAll(preComp); - } - - wnafPreCompInfo.setPreComp(preComp); - - if (includeNegated) - { - ECPoint[] preCompNeg = wnafPreCompInfo.getPreCompNeg(); - - int pos; - if (preCompNeg == null) - { - pos = 0; - preCompNeg = new ECPoint[reqPreCompLen]; - } - else - { - pos = preCompNeg.length; - if (pos < reqPreCompLen) - { - preCompNeg = resizeTable(preCompNeg, reqPreCompLen); - } - } - - while (pos < reqPreCompLen) - { - preCompNeg[pos] = preComp[pos].negate(); - ++pos; - } - - wnafPreCompInfo.setPreCompNeg(preCompNeg); - } - - c.setPreCompInfo(p, wnafPreCompInfo); - - return wnafPreCompInfo; - } - - private static byte[] trim(byte[] a, int length) - { - byte[] result = new byte[length]; - System.arraycopy(a, 0, result, 0, result.length); - return result; - } - - private static int[] trim(int[] a, int length) - { - int[] result = new int[length]; - System.arraycopy(a, 0, result, 0, result.length); - return result; - } - - private static ECPoint[] resizeTable(ECPoint[] a, int length) - { - ECPoint[] result = new ECPoint[length]; - System.arraycopy(a, 0, result, 0, a.length); - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafMultiplier.java deleted file mode 100644 index 351cfa19b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafMultiplier.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class implementing the WTNAF (Window - * τ-adic Non-Adjacent Form) algorithm. - */ -public class WTauNafMultiplier extends AbstractECMultiplier -{ - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by k using the reduced τ-adic NAF (RTNAF) - * method. - * @param p The ECPoint.F2m to multiply. - * @param k The integer by which to multiply k. - * @return p multiplied by k. - */ - protected ECPoint multiplyPositive(ECPoint point, BigInteger k) - { - if (!(point instanceof ECPoint.F2m)) - { - throw new IllegalArgumentException("Only ECPoint.F2m can be " + - "used in WTauNafMultiplier"); - } - - ECPoint.F2m p = (ECPoint.F2m)point; - ECCurve.F2m curve = (ECCurve.F2m)p.getCurve(); - int m = curve.getM(); - byte a = curve.getA().toBigInteger().byteValue(); - byte mu = curve.getMu(); - BigInteger[] s = curve.getSi(); - - ZTauElement rho = Tnaf.partModReduction(k, m, a, s, mu, (byte)10); - - return multiplyWTnaf(p, rho, curve.getPreCompInfo(p), a, mu); - } - - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by an element λ of Z[τ] using - * the τ-adic NAF (TNAF) method. - * @param p The ECPoint.F2m to multiply. - * @param lambda The element λ of - * Z[τ] of which to compute the - * [τ]-adic NAF. - * @return p multiplied by λ. - */ - private ECPoint.F2m multiplyWTnaf(ECPoint.F2m p, ZTauElement lambda, - PreCompInfo preCompInfo, byte a, byte mu) - { - ZTauElement[] alpha; - if (a == 0) - { - alpha = Tnaf.alpha0; - } - else - { - // a == 1 - alpha = Tnaf.alpha1; - } - - BigInteger tw = Tnaf.getTw(mu, Tnaf.WIDTH); - - byte[]u = Tnaf.tauAdicWNaf(mu, lambda, Tnaf.WIDTH, - BigInteger.valueOf(Tnaf.POW_2_WIDTH), tw, alpha); - - return multiplyFromWTnaf(p, u, preCompInfo); - } - - /** - * Multiplies a {@link org.spongycastle.math.ec.ECPoint.F2m ECPoint.F2m} - * by an element λ of Z[τ] - * using the window τ-adic NAF (TNAF) method, given the - * WTNAF of λ. - * @param p The ECPoint.F2m to multiply. - * @param u The the WTNAF of λ.. - * @return λ * p - */ - private static ECPoint.F2m multiplyFromWTnaf(ECPoint.F2m p, byte[] u, - PreCompInfo preCompInfo) - { - ECCurve.F2m curve = (ECCurve.F2m)p.getCurve(); - byte a = curve.getA().toBigInteger().byteValue(); - - ECPoint.F2m[] pu; - if ((preCompInfo == null) || !(preCompInfo instanceof WTauNafPreCompInfo)) - { - pu = Tnaf.getPreComp(p, a); - curve.setPreCompInfo(p, new WTauNafPreCompInfo(pu)); - } - else - { - pu = ((WTauNafPreCompInfo)preCompInfo).getPreComp(); - } - - // q = infinity - ECPoint.F2m q = (ECPoint.F2m) p.getCurve().getInfinity(); - for (int i = u.length - 1; i >= 0; i--) - { - q = Tnaf.tau(q); - if (u[i] != 0) - { - if (u[i] > 0) - { - q = q.addSimple(pu[u[i]]); - } - else - { - // u[i] < 0 - q = q.subtractSimple(pu[-u[i]]); - } - } - } - - return q; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafPreCompInfo.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafPreCompInfo.java deleted file mode 100644 index 2373ff7a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/WTauNafPreCompInfo.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.math.ec; - -/** - * Class holding precomputation data for the WTNAF (Window - * τ-adic Non-Adjacent Form) algorithm. - */ -class WTauNafPreCompInfo implements PreCompInfo -{ - /** - * Array holding the precomputed ECPoint.F2ms used for the - * WTNAF multiplication in - * {@link org.spongycastle.math.ec.multiplier.WTauNafMultiplier.multiply() - * WTauNafMultiplier.multiply()}. - */ - private ECPoint.F2m[] preComp = null; - - /** - * Constructor for WTauNafPreCompInfo - * @param preComp Array holding the precomputed ECPoint.F2ms - * used for the WTNAF multiplication in - * {@link org.spongycastle.math.ec.multiplier.WTauNafMultiplier.multiply() - * WTauNafMultiplier.multiply()}. - */ - WTauNafPreCompInfo(ECPoint.F2m[] preComp) - { - this.preComp = preComp; - } - - /** - * @return the array holding the precomputed ECPoint.F2ms - * used for the WTNAF multiplication in - * {@link org.spongycastle.math.ec.multiplier.WTauNafMultiplier.multiply() - * WTauNafMultiplier.multiply()}. - */ - protected ECPoint.F2m[] getPreComp() - { - return preComp; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitL2RMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitL2RMultiplier.java deleted file mode 100644 index 543bb581f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitL2RMultiplier.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class ZSignedDigitL2RMultiplier extends AbstractECMultiplier -{ - /** - * 'Zeroless' Signed Digit Left-to-Right. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECPoint addP = p.normalize(), subP = addP.negate(); - - ECPoint R0 = addP; - - int n = k.bitLength(); - int s = k.getLowestSetBit(); - - int i = n; - while (--i > s) - { - R0 = R0.twicePlus(k.testBit(i) ? addP : subP); - } - - R0 = R0.timesPow2(s); - - return R0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitR2LMultiplier.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitR2LMultiplier.java deleted file mode 100644 index e9147ea7d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZSignedDigitR2LMultiplier.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -public class ZSignedDigitR2LMultiplier extends AbstractECMultiplier -{ - /** - * 'Zeroless' Signed Digit Right-to-Left. - */ - protected ECPoint multiplyPositive(ECPoint p, BigInteger k) - { - ECPoint R0 = p.getCurve().getInfinity(), R1 = p; - - int n = k.bitLength(); - int s = k.getLowestSetBit(); - - R1 = R1.timesPow2(s); - - int i = s; - while (++i < n) - { - R0 = R0.add(k.testBit(i) ? R1 : R1.negate()); - R1 = R1.twice(); - } - - R0 = R0.add(R1); - - return R0; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZTauElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZTauElement.java deleted file mode 100644 index 3fd5e21f8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/math/ec/ZTauElement.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.spongycastle.math.ec; - -import java.math.BigInteger; - -/** - * Class representing an element of Z[τ]. Let - * λ be an element of Z[τ]. Then - * λ is given as λ = u + vτ. The - * components u and v may be used directly, there - * are no accessor methods. - * Immutable class. - */ -class ZTauElement -{ - /** - * The "real" part of λ. - */ - public final BigInteger u; - - /** - * The "τ-adic" part of λ. - */ - public final BigInteger v; - - /** - * Constructor for an element λ of - * Z[τ]. - * @param u The "real" part of λ. - * @param v The "τ-adic" part of - * λ. - */ - public ZTauElement(BigInteger u, BigInteger v) - { - this.u = u; - this.v = v; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPrivateKey.java deleted file mode 100644 index b56974ad4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPrivateKey.java +++ /dev/null @@ -1,1312 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.pqc.crypto.gmss.GMSSLeaf; -import org.spongycastle.pqc.crypto.gmss.GMSSParameters; -import org.spongycastle.pqc.crypto.gmss.GMSSRootCalc; -import org.spongycastle.pqc.crypto.gmss.GMSSRootSig; -import org.spongycastle.pqc.crypto.gmss.Treehash; - -public class GMSSPrivateKey - extends ASN1Object -{ - private ASN1Primitive primitive; - - private GMSSPrivateKey(ASN1Sequence mtsPrivateKey) - { - // --- Decode . - ASN1Sequence indexPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(0); - int[] index = new int[indexPart.size()]; - for (int i = 0; i < indexPart.size(); i++) - { - index[i] = checkBigIntegerInIntRange(indexPart.getObjectAt(i)); - } - - // --- Decode . - ASN1Sequence curSeedsPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(1); - byte[][] curSeeds = new byte[curSeedsPart.size()][]; - for (int i = 0; i < curSeeds.length; i++) - { - curSeeds[i] = ((DEROctetString)curSeedsPart.getObjectAt(i)).getOctets(); - } - - // --- Decode . - ASN1Sequence nextNextSeedsPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(2); - byte[][] nextNextSeeds = new byte[nextNextSeedsPart.size()][]; - for (int i = 0; i < nextNextSeeds.length; i++) - { - nextNextSeeds[i] = ((DEROctetString)nextNextSeedsPart.getObjectAt(i)).getOctets(); - } - - // --- Decode . - ASN1Sequence curAuthPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(3); - ASN1Sequence curAuthPart1; - - byte[][][] curAuth = new byte[curAuthPart0.size()][][]; - for (int i = 0; i < curAuth.length; i++) - { - curAuthPart1 = (ASN1Sequence)curAuthPart0.getObjectAt(i); - curAuth[i] = new byte[curAuthPart1.size()][]; - for (int j = 0; j < curAuth[i].length; j++) - { - curAuth[i][j] = ((DEROctetString)curAuthPart1.getObjectAt(j)).getOctets(); - } - } - - // --- Decode . - ASN1Sequence nextAuthPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(4); - ASN1Sequence nextAuthPart1; - - byte[][][] nextAuth = new byte[nextAuthPart0.size()][][]; - for (int i = 0; i < nextAuth.length; i++) - { - nextAuthPart1 = (ASN1Sequence)nextAuthPart0.getObjectAt(i); - nextAuth[i] = new byte[nextAuthPart1.size()][]; - for (int j = 0; j < nextAuth[i].length; j++) - { - nextAuth[i][j] = ((DEROctetString)nextAuthPart1.getObjectAt(j)).getOctets(); - } - } - - // --- Decode . - ASN1Sequence seqOfcurTreehash0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(5); - ASN1Sequence seqOfcurTreehash1; - ASN1Sequence seqOfcurTreehashStat; - ASN1Sequence seqOfcurTreehashBytes; - ASN1Sequence seqOfcurTreehashInts; - ASN1Sequence seqOfcurTreehashString; - - Treehash[][] curTreehash = new Treehash[seqOfcurTreehash0.size()][]; - /* - for (int i = 0; i < curTreehash.length; i++) - { - seqOfcurTreehash1 = (ASN1Sequence)seqOfcurTreehash0.getObjectAt(i); - curTreehash[i] = new Treehash[seqOfcurTreehash1.size()]; - for (int j = 0; j < curTreehash[i].length; j++) - { - seqOfcurTreehashStat = (ASN1Sequence)seqOfcurTreehash1.getObjectAt(j); - seqOfcurTreehashString = (ASN1Sequence)seqOfcurTreehashStat - .getObjectAt(0); - seqOfcurTreehashBytes = (ASN1Sequence)seqOfcurTreehashStat - .getObjectAt(1); - seqOfcurTreehashInts = (ASN1Sequence)seqOfcurTreehashStat - .getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfcurTreehashString.getObjectAt(0)).getString(); - name[1] = ((DERIA5String)seqOfcurTreehashString.getObjectAt(1)).getString(); - - int tailLength = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(1)); - byte[][] statByte = new byte[3 + tailLength][]; - statByte[0] = ((DEROctetString)seqOfcurTreehashBytes.getObjectAt(0)).getOctets(); - - if (statByte[0].length == 0) - { // if null was encoded - statByte[0] = null; - } - - statByte[1] = ((DEROctetString)seqOfcurTreehashBytes.getObjectAt(1)).getOctets(); - statByte[2] = ((DEROctetString)seqOfcurTreehashBytes.getObjectAt(2)).getOctets(); - for (int k = 0; k < tailLength; k++) - { - statByte[3 + k] = ((DEROctetString)seqOfcurTreehashBytes - .getObjectAt(3 + k)).getOctets(); - } - int[] statInt = new int[6 + tailLength]; - statInt[0] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(0)); - statInt[1] = tailLength; - statInt[2] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(3)); - statInt[4] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(4)); - statInt[5] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(5)); - for (int k = 0; k < tailLength; k++) - { - statInt[6 + k] = checkBigIntegerInIntRange(seqOfcurTreehashInts.getObjectAt(6 + k)); - } - - // TODO: Check if we can do better than throwing away name[1] !!! - curTreehash[i][j] = new Treehash(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - } - - - // --- Decode . - ASN1Sequence seqOfNextTreehash0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(6); - ASN1Sequence seqOfNextTreehash1; - ASN1Sequence seqOfNextTreehashStat; - ASN1Sequence seqOfNextTreehashBytes; - ASN1Sequence seqOfNextTreehashInts; - ASN1Sequence seqOfNextTreehashString; - - Treehash[][] nextTreehash = new Treehash[seqOfNextTreehash0.size()][]; - - for (int i = 0; i < nextTreehash.length; i++) - { - seqOfNextTreehash1 = (ASN1Sequence)seqOfNextTreehash0.getObjectAt(i); - nextTreehash[i] = new Treehash[seqOfNextTreehash1.size()]; - for (int j = 0; j < nextTreehash[i].length; j++) - { - seqOfNextTreehashStat = (ASN1Sequence)seqOfNextTreehash1 - .getObjectAt(j); - seqOfNextTreehashString = (ASN1Sequence)seqOfNextTreehashStat - .getObjectAt(0); - seqOfNextTreehashBytes = (ASN1Sequence)seqOfNextTreehashStat - .getObjectAt(1); - seqOfNextTreehashInts = (ASN1Sequence)seqOfNextTreehashStat - .getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfNextTreehashString.getObjectAt(0)) - .getString(); - name[1] = ((DERIA5String)seqOfNextTreehashString.getObjectAt(1)) - .getString(); - - int tailLength = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(1)); - - byte[][] statByte = new byte[3 + tailLength][]; - statByte[0] = ((DEROctetString)seqOfNextTreehashBytes.getObjectAt(0)).getOctets(); - if (statByte[0].length == 0) - { // if null was encoded - statByte[0] = null; - } - - statByte[1] = ((DEROctetString)seqOfNextTreehashBytes.getObjectAt(1)).getOctets(); - statByte[2] = ((DEROctetString)seqOfNextTreehashBytes.getObjectAt(2)).getOctets(); - for (int k = 0; k < tailLength; k++) - { - statByte[3 + k] = ((DEROctetString)seqOfNextTreehashBytes - .getObjectAt(3 + k)).getOctets(); - } - int[] statInt = new int[6 + tailLength]; - statInt[0] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(0)); - - statInt[1] = tailLength; - statInt[2] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(2)); - - statInt[3] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(3)); - - statInt[4] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(4)); - - statInt[5] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(5)); - - for (int k = 0; k < tailLength; k++) - { - statInt[6 + k] = checkBigIntegerInIntRange(seqOfNextTreehashInts.getObjectAt(6 + k)); - - } - nextTreehash[i][j] = new Treehash(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - } - - - // --- Decode . - ASN1Sequence keepPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(7); - ASN1Sequence keepPart1; - - byte[][][] keep = new byte[keepPart0.size()][][]; - for (int i = 0; i < keep.length; i++) - { - keepPart1 = (ASN1Sequence)keepPart0.getObjectAt(i); - keep[i] = new byte[keepPart1.size()][]; - for (int j = 0; j < keep[i].length; j++) - { - keep[i][j] = ((DEROctetString)keepPart1.getObjectAt(j)).getOctets(); - } - } - - // --- Decode . - ASN1Sequence curStackPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(8); - ASN1Sequence curStackPart1; - - Vector[] curStack = new Vector[curStackPart0.size()]; - for (int i = 0; i < curStack.length; i++) - { - curStackPart1 = (ASN1Sequence)curStackPart0.getObjectAt(i); - curStack[i] = new Vector(); - for (int j = 0; j < curStackPart1.size(); j++) - { - curStack[i].addElement(((DEROctetString)curStackPart1.getObjectAt(j)).getOctets()); - } - } - - // --- Decode . - ASN1Sequence nextStackPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(9); - ASN1Sequence nextStackPart1; - - Vector[] nextStack = new Vector[nextStackPart0.size()]; - for (int i = 0; i < nextStack.length; i++) - { - nextStackPart1 = (ASN1Sequence)nextStackPart0.getObjectAt(i); - nextStack[i] = new Vector(); - for (int j = 0; j < nextStackPart1.size(); j++) - { - nextStack[i].addElement(((DEROctetString)nextStackPart1 - .getObjectAt(j)).getOctets()); - } - } - - // --- Decode . - ASN1Sequence curRetainPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(10); - ASN1Sequence curRetainPart1; - ASN1Sequence curRetainPart2; - - Vector[][] curRetain = new Vector[curRetainPart0.size()][]; - for (int i = 0; i < curRetain.length; i++) - { - curRetainPart1 = (ASN1Sequence)curRetainPart0.getObjectAt(i); - curRetain[i] = new Vector[curRetainPart1.size()]; - for (int j = 0; j < curRetain[i].length; j++) - { - curRetainPart2 = (ASN1Sequence)curRetainPart1.getObjectAt(j); - curRetain[i][j] = new Vector(); - for (int k = 0; k < curRetainPart2.size(); k++) - { - curRetain[i][j] - .addElement(((DEROctetString)curRetainPart2 - .getObjectAt(k)).getOctets()); - } - } - } - - // --- Decode . - ASN1Sequence nextRetainPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(11); - ASN1Sequence nextRetainPart1; - ASN1Sequence nextRetainPart2; - - Vector[][] nextRetain = new Vector[nextRetainPart0.size()][]; - for (int i = 0; i < nextRetain.length; i++) - { - nextRetainPart1 = (ASN1Sequence)nextRetainPart0.getObjectAt(i); - nextRetain[i] = new Vector[nextRetainPart1.size()]; - for (int j = 0; j < nextRetain[i].length; j++) - { - nextRetainPart2 = (ASN1Sequence)nextRetainPart1.getObjectAt(j); - nextRetain[i][j] = new Vector(); - for (int k = 0; k < nextRetainPart2.size(); k++) - { - nextRetain[i][j] - .addElement(((DEROctetString)nextRetainPart2 - .getObjectAt(k)).getOctets()); - } - } - } - - // --- Decode . - ASN1Sequence seqOfLeafs = (ASN1Sequence)mtsPrivateKey.getObjectAt(12); - ASN1Sequence seqOfLeafStat; - ASN1Sequence seqOfLeafBytes; - ASN1Sequence seqOfLeafInts; - ASN1Sequence seqOfLeafString; - - GMSSLeaf[] nextNextLeaf = new GMSSLeaf[seqOfLeafs.size()]; - - for (int i = 0; i < nextNextLeaf.length; i++) - { - seqOfLeafStat = (ASN1Sequence)seqOfLeafs.getObjectAt(i); - // nextNextAuth[i]= new byte[nextNextAuthPart1.size()][]; - seqOfLeafString = (ASN1Sequence)seqOfLeafStat.getObjectAt(0); - seqOfLeafBytes = (ASN1Sequence)seqOfLeafStat.getObjectAt(1); - seqOfLeafInts = (ASN1Sequence)seqOfLeafStat.getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfLeafString.getObjectAt(0)).getString(); - name[1] = ((DERIA5String)seqOfLeafString.getObjectAt(1)).getString(); - byte[][] statByte = new byte[4][]; - statByte[0] = ((DEROctetString)seqOfLeafBytes.getObjectAt(0)) - .getOctets(); - statByte[1] = ((DEROctetString)seqOfLeafBytes.getObjectAt(1)) - .getOctets(); - statByte[2] = ((DEROctetString)seqOfLeafBytes.getObjectAt(2)) - .getOctets(); - statByte[3] = ((DEROctetString)seqOfLeafBytes.getObjectAt(3)) - .getOctets(); - int[] statInt = new int[4]; - statInt[0] = checkBigIntegerInIntRange(seqOfLeafInts.getObjectAt(0)); - statInt[1] = checkBigIntegerInIntRange(seqOfLeafInts.getObjectAt(1)); - statInt[2] = checkBigIntegerInIntRange(seqOfLeafInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfLeafInts.getObjectAt(3)); - nextNextLeaf[i] = new GMSSLeaf(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - - // --- Decode . - ASN1Sequence seqOfUpperLeafs = (ASN1Sequence)mtsPrivateKey.getObjectAt(13); - ASN1Sequence seqOfUpperLeafStat; - ASN1Sequence seqOfUpperLeafBytes; - ASN1Sequence seqOfUpperLeafInts; - ASN1Sequence seqOfUpperLeafString; - - GMSSLeaf[] upperLeaf = new GMSSLeaf[seqOfUpperLeafs.size()]; - - for (int i = 0; i < upperLeaf.length; i++) - { - seqOfUpperLeafStat = (ASN1Sequence)seqOfUpperLeafs.getObjectAt(i); - seqOfUpperLeafString = (ASN1Sequence)seqOfUpperLeafStat.getObjectAt(0); - seqOfUpperLeafBytes = (ASN1Sequence)seqOfUpperLeafStat.getObjectAt(1); - seqOfUpperLeafInts = (ASN1Sequence)seqOfUpperLeafStat.getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfUpperLeafString.getObjectAt(0)).getString(); - name[1] = ((DERIA5String)seqOfUpperLeafString.getObjectAt(1)).getString(); - byte[][] statByte = new byte[4][]; - statByte[0] = ((DEROctetString)seqOfUpperLeafBytes.getObjectAt(0)) - .getOctets(); - statByte[1] = ((DEROctetString)seqOfUpperLeafBytes.getObjectAt(1)) - .getOctets(); - statByte[2] = ((DEROctetString)seqOfUpperLeafBytes.getObjectAt(2)) - .getOctets(); - statByte[3] = ((DEROctetString)seqOfUpperLeafBytes.getObjectAt(3)) - .getOctets(); - int[] statInt = new int[4]; - statInt[0] = checkBigIntegerInIntRange(seqOfUpperLeafInts.getObjectAt(0)); - statInt[1] = checkBigIntegerInIntRange(seqOfUpperLeafInts.getObjectAt(1)); - statInt[2] = checkBigIntegerInIntRange(seqOfUpperLeafInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfUpperLeafInts.getObjectAt(3)); - upperLeaf[i] = new GMSSLeaf(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - - // --- Decode . - ASN1Sequence seqOfUpperTHLeafs = (ASN1Sequence)mtsPrivateKey.getObjectAt(14); - ASN1Sequence seqOfUpperTHLeafStat; - ASN1Sequence seqOfUpperTHLeafBytes; - ASN1Sequence seqOfUpperTHLeafInts; - ASN1Sequence seqOfUpperTHLeafString; - - GMSSLeaf[] upperTHLeaf = new GMSSLeaf[seqOfUpperTHLeafs.size()]; - - for (int i = 0; i < upperTHLeaf.length; i++) - { - seqOfUpperTHLeafStat = (ASN1Sequence)seqOfUpperTHLeafs.getObjectAt(i); - seqOfUpperTHLeafString = (ASN1Sequence)seqOfUpperTHLeafStat.getObjectAt(0); - seqOfUpperTHLeafBytes = (ASN1Sequence)seqOfUpperTHLeafStat.getObjectAt(1); - seqOfUpperTHLeafInts = (ASN1Sequence)seqOfUpperTHLeafStat.getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfUpperTHLeafString.getObjectAt(0)) - .getString(); - name[1] = ((DERIA5String)seqOfUpperTHLeafString.getObjectAt(1)) - .getString(); - byte[][] statByte = new byte[4][]; - statByte[0] = ((DEROctetString)seqOfUpperTHLeafBytes.getObjectAt(0)) - .getOctets(); - statByte[1] = ((DEROctetString)seqOfUpperTHLeafBytes.getObjectAt(1)) - .getOctets(); - statByte[2] = ((DEROctetString)seqOfUpperTHLeafBytes.getObjectAt(2)) - .getOctets(); - statByte[3] = ((DEROctetString)seqOfUpperTHLeafBytes.getObjectAt(3)) - .getOctets(); - int[] statInt = new int[4]; - statInt[0] = checkBigIntegerInIntRange(seqOfUpperTHLeafInts.getObjectAt(0)); - statInt[1] = checkBigIntegerInIntRange(seqOfUpperTHLeafInts.getObjectAt(1)); - statInt[2] = checkBigIntegerInIntRange(seqOfUpperTHLeafInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfUpperTHLeafInts.getObjectAt(3)); - upperTHLeaf[i] = new GMSSLeaf(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - - // --- Decode . - ASN1Sequence minTreehashPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(15); - int[] minTreehash = new int[minTreehashPart.size()]; - for (int i = 0; i < minTreehashPart.size(); i++) - { - minTreehash[i] = checkBigIntegerInIntRange(minTreehashPart.getObjectAt(i)); - } - - // --- Decode . - ASN1Sequence seqOfnextRoots = (ASN1Sequence)mtsPrivateKey.getObjectAt(16); - byte[][] nextRoot = new byte[seqOfnextRoots.size()][]; - for (int i = 0; i < nextRoot.length; i++) - { - nextRoot[i] = ((DEROctetString)seqOfnextRoots.getObjectAt(i)) - .getOctets(); - } - - // --- Decode . - ASN1Sequence seqOfnextNextRoot = (ASN1Sequence)mtsPrivateKey.getObjectAt(17); - ASN1Sequence seqOfnextNextRootStat; - ASN1Sequence seqOfnextNextRootBytes; - ASN1Sequence seqOfnextNextRootInts; - ASN1Sequence seqOfnextNextRootString; - ASN1Sequence seqOfnextNextRootTreeH; - ASN1Sequence seqOfnextNextRootRetain; - - GMSSRootCalc[] nextNextRoot = new GMSSRootCalc[seqOfnextNextRoot.size()]; - - for (int i = 0; i < nextNextRoot.length; i++) - { - seqOfnextNextRootStat = (ASN1Sequence)seqOfnextNextRoot.getObjectAt(i); - seqOfnextNextRootString = (ASN1Sequence)seqOfnextNextRootStat - .getObjectAt(0); - seqOfnextNextRootBytes = (ASN1Sequence)seqOfnextNextRootStat - .getObjectAt(1); - seqOfnextNextRootInts = (ASN1Sequence)seqOfnextNextRootStat.getObjectAt(2); - seqOfnextNextRootTreeH = (ASN1Sequence)seqOfnextNextRootStat - .getObjectAt(3); - seqOfnextNextRootRetain = (ASN1Sequence)seqOfnextNextRootStat - .getObjectAt(4); - - // decode treehash of nextNextRoot - // --------------------------------- - ASN1Sequence seqOfnextNextRootTreeHStat; - ASN1Sequence seqOfnextNextRootTreeHBytes; - ASN1Sequence seqOfnextNextRootTreeHInts; - ASN1Sequence seqOfnextNextRootTreeHString; - - Treehash[] nnRTreehash = new Treehash[seqOfnextNextRootTreeH.size()]; - - for (int k = 0; k < nnRTreehash.length; k++) - { - seqOfnextNextRootTreeHStat = (ASN1Sequence)seqOfnextNextRootTreeH - .getObjectAt(k); - seqOfnextNextRootTreeHString = (ASN1Sequence)seqOfnextNextRootTreeHStat - .getObjectAt(0); - seqOfnextNextRootTreeHBytes = (ASN1Sequence)seqOfnextNextRootTreeHStat - .getObjectAt(1); - seqOfnextNextRootTreeHInts = (ASN1Sequence)seqOfnextNextRootTreeHStat - .getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfnextNextRootTreeHString.getObjectAt(0)) - .getString(); - name[1] = ((DERIA5String)seqOfnextNextRootTreeHString.getObjectAt(1)) - .getString(); - - int tailLength = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(1)); - - byte[][] statByte = new byte[3 + tailLength][]; - statByte[0] = ((DEROctetString)seqOfnextNextRootTreeHBytes - .getObjectAt(0)).getOctets(); - if (statByte[0].length == 0) - { // if null was encoded - statByte[0] = null; - } - - statByte[1] = ((DEROctetString)seqOfnextNextRootTreeHBytes - .getObjectAt(1)).getOctets(); - statByte[2] = ((DEROctetString)seqOfnextNextRootTreeHBytes - .getObjectAt(2)).getOctets(); - for (int j = 0; j < tailLength; j++) - { - statByte[3 + j] = ((DEROctetString)seqOfnextNextRootTreeHBytes - .getObjectAt(3 + j)).getOctets(); - } - int[] statInt = new int[6 + tailLength]; - statInt[0] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(0)); - - statInt[1] = tailLength; - statInt[2] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(2)); - - statInt[3] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(3)); - - statInt[4] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(4)); - - statInt[5] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts.getObjectAt(5)); - - for (int j = 0; j < tailLength; j++) - { - statInt[6 + j] = checkBigIntegerInIntRange(seqOfnextNextRootTreeHInts - .getObjectAt(6 + j)); - } - nnRTreehash[k] = new Treehash(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - // --------------------------------- - - // decode retain of nextNextRoot - // --------------------------------- - // ASN1Sequence seqOfnextNextRootRetainPart0 = - // (ASN1Sequence)seqOfnextNextRootRetain.get(0); - ASN1Sequence seqOfnextNextRootRetainPart1; - - Vector[] nnRRetain = new Vector[seqOfnextNextRootRetain.size()]; - for (int j = 0; j < nnRRetain.length; j++) - { - seqOfnextNextRootRetainPart1 = (ASN1Sequence)seqOfnextNextRootRetain - .getObjectAt(j); - nnRRetain[j] = new Vector(); - for (int k = 0; k < seqOfnextNextRootRetainPart1.size(); k++) - { - nnRRetain[j] - .addElement(((DEROctetString)seqOfnextNextRootRetainPart1 - .getObjectAt(k)).getOctets()); - } - } - // --------------------------------- - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfnextNextRootString.getObjectAt(0)) - .getString(); - name[1] = ((DERIA5String)seqOfnextNextRootString.getObjectAt(1)) - .getString(); - - int heightOfTree = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(0)); - int tailLength = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(7)); - byte[][] statByte = new byte[1 + heightOfTree + tailLength][]; - statByte[0] = ((DEROctetString)seqOfnextNextRootBytes.getObjectAt(0)) - .getOctets(); - for (int j = 0; j < heightOfTree; j++) - { - statByte[1 + j] = ((DEROctetString)seqOfnextNextRootBytes - .getObjectAt(1 + j)).getOctets(); - } - for (int j = 0; j < tailLength; j++) - { - statByte[1 + heightOfTree + j] = ((DEROctetString)seqOfnextNextRootBytes - .getObjectAt(1 + heightOfTree + j)).getOctets(); - } - int[] statInt = new int[8 + heightOfTree + tailLength]; - statInt[0] = heightOfTree; - statInt[1] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(1)); - statInt[2] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(3)); - statInt[4] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(4)); - statInt[5] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(5)); - statInt[6] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(6)); - statInt[7] = tailLength; - for (int j = 0; j < heightOfTree; j++) - { - statInt[8 + j] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(8 + j)); - } - for (int j = 0; j < tailLength; j++) - { - statInt[8 + heightOfTree + j] = checkBigIntegerInIntRange(seqOfnextNextRootInts.getObjectAt(8 - + heightOfTree + j)); - } - nextNextRoot[i] = new GMSSRootCalc(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt, - nnRTreehash, nnRRetain); - } - - // --- Decode . - ASN1Sequence seqOfcurRootSig = (ASN1Sequence)mtsPrivateKey.getObjectAt(18); - byte[][] curRootSig = new byte[seqOfcurRootSig.size()][]; - for (int i = 0; i < curRootSig.length; i++) - { - curRootSig[i] = ((DEROctetString)seqOfcurRootSig.getObjectAt(i)) - .getOctets(); - } - - // --- Decode . - ASN1Sequence seqOfnextRootSigs = (ASN1Sequence)mtsPrivateKey.getObjectAt(19); - ASN1Sequence seqOfnRSStats; - ASN1Sequence seqOfnRSStrings; - ASN1Sequence seqOfnRSInts; - ASN1Sequence seqOfnRSBytes; - - GMSSRootSig[] nextRootSig = new GMSSRootSig[seqOfnextRootSigs.size()]; - - for (int i = 0; i < nextRootSig.length; i++) - { - seqOfnRSStats = (ASN1Sequence)seqOfnextRootSigs.getObjectAt(i); - // nextNextAuth[i]= new byte[nextNextAuthPart1.size()][]; - seqOfnRSStrings = (ASN1Sequence)seqOfnRSStats.getObjectAt(0); - seqOfnRSBytes = (ASN1Sequence)seqOfnRSStats.getObjectAt(1); - seqOfnRSInts = (ASN1Sequence)seqOfnRSStats.getObjectAt(2); - - String[] name = new String[2]; - name[0] = ((DERIA5String)seqOfnRSStrings.getObjectAt(0)).getString(); - name[1] = ((DERIA5String)seqOfnRSStrings.getObjectAt(1)).getString(); - byte[][] statByte = new byte[5][]; - statByte[0] = ((DEROctetString)seqOfnRSBytes.getObjectAt(0)) - .getOctets(); - statByte[1] = ((DEROctetString)seqOfnRSBytes.getObjectAt(1)) - .getOctets(); - statByte[2] = ((DEROctetString)seqOfnRSBytes.getObjectAt(2)) - .getOctets(); - statByte[3] = ((DEROctetString)seqOfnRSBytes.getObjectAt(3)) - .getOctets(); - statByte[4] = ((DEROctetString)seqOfnRSBytes.getObjectAt(4)) - .getOctets(); - int[] statInt = new int[9]; - statInt[0] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(0)); - statInt[1] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(1)); - statInt[2] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(2)); - statInt[3] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(3)); - statInt[4] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(4)); - statInt[5] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(5)); - statInt[6] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(6)); - statInt[7] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(7)); - statInt[8] = checkBigIntegerInIntRange(seqOfnRSInts.getObjectAt(8)); - nextRootSig[i] = new GMSSRootSig(DigestFactory.getDigest(name[0]).getClass(), statByte, statInt); - } - - // --- Decode . - - // TODO: Really check, why there are multiple algorithms, we only - // use the first one!!! - ASN1Sequence namePart = (ASN1Sequence)mtsPrivateKey.getObjectAt(20); - String[] name = new String[namePart.size()]; - for (int i = 0; i < name.length; i++) - { - name[i] = ((DERIA5String)namePart.getObjectAt(i)).getString(); - } - */ - } - - public GMSSPrivateKey(int[] index, byte[][] currentSeed, - byte[][] nextNextSeed, byte[][][] currentAuthPath, - byte[][][] nextAuthPath, Treehash[][] currentTreehash, - Treehash[][] nextTreehash, Vector[] currentStack, - Vector[] nextStack, Vector[][] currentRetain, - Vector[][] nextRetain, byte[][][] keep, GMSSLeaf[] nextNextLeaf, - GMSSLeaf[] upperLeaf, GMSSLeaf[] upperTreehashLeaf, - int[] minTreehash, byte[][] nextRoot, GMSSRootCalc[] nextNextRoot, - byte[][] currentRootSig, GMSSRootSig[] nextRootSig, - GMSSParameters gmssParameterset, AlgorithmIdentifier digestAlg) - { - AlgorithmIdentifier[] names = new AlgorithmIdentifier[] { digestAlg }; - this.primitive = encode(index, currentSeed, nextNextSeed, currentAuthPath, nextAuthPath, keep, currentTreehash, nextTreehash, currentStack, nextStack, currentRetain, nextRetain, nextNextLeaf, upperLeaf, upperTreehashLeaf, minTreehash, nextRoot, nextNextRoot, currentRootSig, nextRootSig, gmssParameterset, names); - } - - - // TODO: change method signature to something more integrated into BouncyCastle - - /** - * @param index tree indices - * @param currentSeeds seed for the generation of private OTS keys for the - * current subtrees (TREE) - * @param nextNextSeeds seed for the generation of private OTS keys for the - * subtrees after next (TREE++) - * @param currentAuthPaths array of current authentication paths (AUTHPATH) - * @param nextAuthPaths array of next authentication paths (AUTHPATH+) - * @param keep keep array for the authPath algorithm - * @param currentTreehash treehash for authPath algorithm of current tree - * @param nextTreehash treehash for authPath algorithm of next tree (TREE+) - * @param currentStack shared stack for authPath algorithm of current tree - * @param nextStack shared stack for authPath algorithm of next tree (TREE+) - * @param currentRetain retain stack for authPath algorithm of current tree - * @param nextRetain retain stack for authPath algorithm of next tree (TREE+) - * @param nextNextLeaf array of upcoming leafs of the tree after next (LEAF++) of - * each layer - * @param upperLeaf needed for precomputation of upper nodes - * @param upperTreehashLeaf needed for precomputation of upper treehash nodes - * @param minTreehash index of next treehash instance to receive an update - * @param nextRoot the roots of the next trees (ROOT+) - * @param nextNextRoot the roots of the tree after next (ROOT++) - * @param currentRootSig array of signatures of the roots of the current subtrees - * (SIG) - * @param nextRootSig array of signatures of the roots of the next subtree - * (SIG+) - * @param gmssParameterset the GMSS Parameterset - * @param algorithms An array of algorithm identifiers, containing the hash function details - */ - private ASN1Primitive encode(int[] index, byte[][] currentSeeds, - byte[][] nextNextSeeds, byte[][][] currentAuthPaths, - byte[][][] nextAuthPaths, byte[][][] keep, - Treehash[][] currentTreehash, Treehash[][] nextTreehash, - Vector[] currentStack, Vector[] nextStack, - Vector[][] currentRetain, Vector[][] nextRetain, - GMSSLeaf[] nextNextLeaf, GMSSLeaf[] upperLeaf, - GMSSLeaf[] upperTreehashLeaf, int[] minTreehash, byte[][] nextRoot, - GMSSRootCalc[] nextNextRoot, byte[][] currentRootSig, - GMSSRootSig[] nextRootSig, GMSSParameters gmssParameterset, - AlgorithmIdentifier[] algorithms) - { - - ASN1EncodableVector result = new ASN1EncodableVector(); - - // --- Encode . - ASN1EncodableVector indexPart = new ASN1EncodableVector(); - for (int i = 0; i < index.length; i++) - { - indexPart.add(new ASN1Integer(index[i])); - } - result.add(new DERSequence(indexPart)); - - // --- Encode . - ASN1EncodableVector curSeedsPart = new ASN1EncodableVector(); - for (int i = 0; i < currentSeeds.length; i++) - { - curSeedsPart.add(new DEROctetString(currentSeeds[i])); - } - result.add(new DERSequence(curSeedsPart)); - - // --- Encode . - ASN1EncodableVector nextNextSeedsPart = new ASN1EncodableVector(); - for (int i = 0; i < nextNextSeeds.length; i++) - { - nextNextSeedsPart.add(new DEROctetString(nextNextSeeds[i])); - } - result.add(new DERSequence(nextNextSeedsPart)); - - // --- Encode . - ASN1EncodableVector curAuthPart0 = new ASN1EncodableVector(); - ASN1EncodableVector curAuthPart1 = new ASN1EncodableVector(); - for (int i = 0; i < currentAuthPaths.length; i++) - { - for (int j = 0; j < currentAuthPaths[i].length; j++) - { - curAuthPart0.add(new DEROctetString(currentAuthPaths[i][j])); - } - curAuthPart1.add(new DERSequence(curAuthPart0)); - curAuthPart0 = new ASN1EncodableVector(); - } - result.add(new DERSequence(curAuthPart1)); - - // --- Encode . - ASN1EncodableVector nextAuthPart0 = new ASN1EncodableVector(); - ASN1EncodableVector nextAuthPart1 = new ASN1EncodableVector(); - for (int i = 0; i < nextAuthPaths.length; i++) - { - for (int j = 0; j < nextAuthPaths[i].length; j++) - { - nextAuthPart0.add(new DEROctetString(nextAuthPaths[i][j])); - } - nextAuthPart1.add(new DERSequence(nextAuthPart0)); - nextAuthPart0 = new ASN1EncodableVector(); - } - result.add(new DERSequence(nextAuthPart1)); - - // --- Encode . - ASN1EncodableVector seqOfTreehash0 = new ASN1EncodableVector(); - ASN1EncodableVector seqOfTreehash1 = new ASN1EncodableVector(); - ASN1EncodableVector seqOfStat = new ASN1EncodableVector(); - ASN1EncodableVector seqOfByte = new ASN1EncodableVector(); - ASN1EncodableVector seqOfInt = new ASN1EncodableVector(); - - for (int i = 0; i < currentTreehash.length; i++) - { - for (int j = 0; j < currentTreehash[i].length; j++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - int tailLength = currentTreehash[i][j].getStatInt()[1]; - - seqOfByte.add(new DEROctetString(currentTreehash[i][j] - .getStatByte()[0])); - seqOfByte.add(new DEROctetString(currentTreehash[i][j] - .getStatByte()[1])); - seqOfByte.add(new DEROctetString(currentTreehash[i][j] - .getStatByte()[2])); - for (int k = 0; k < tailLength; k++) - { - seqOfByte.add(new DEROctetString(currentTreehash[i][j] - .getStatByte()[3 + k])); - } - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - seqOfInt.add(new ASN1Integer( - currentTreehash[i][j].getStatInt()[0])); - seqOfInt.add(new ASN1Integer(tailLength)); - seqOfInt.add(new ASN1Integer( - currentTreehash[i][j].getStatInt()[2])); - seqOfInt.add(new ASN1Integer( - currentTreehash[i][j].getStatInt()[3])); - seqOfInt.add(new ASN1Integer( - currentTreehash[i][j].getStatInt()[4])); - seqOfInt.add(new ASN1Integer( - currentTreehash[i][j].getStatInt()[5])); - for (int k = 0; k < tailLength; k++) - { - seqOfInt.add(new ASN1Integer(currentTreehash[i][j] - .getStatInt()[6 + k])); - } - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfTreehash1.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - seqOfTreehash0.add(new DERSequence(seqOfTreehash1)); - seqOfTreehash1 = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfTreehash0)); - - // --- Encode . - seqOfTreehash0 = new ASN1EncodableVector(); - seqOfTreehash1 = new ASN1EncodableVector(); - seqOfStat = new ASN1EncodableVector(); - seqOfByte = new ASN1EncodableVector(); - seqOfInt = new ASN1EncodableVector(); - - for (int i = 0; i < nextTreehash.length; i++) - { - for (int j = 0; j < nextTreehash[i].length; j++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - int tailLength = nextTreehash[i][j].getStatInt()[1]; - - seqOfByte.add(new DEROctetString(nextTreehash[i][j] - .getStatByte()[0])); - seqOfByte.add(new DEROctetString(nextTreehash[i][j] - .getStatByte()[1])); - seqOfByte.add(new DEROctetString(nextTreehash[i][j] - .getStatByte()[2])); - for (int k = 0; k < tailLength; k++) - { - seqOfByte.add(new DEROctetString(nextTreehash[i][j] - .getStatByte()[3 + k])); - } - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - seqOfInt - .add(new ASN1Integer(nextTreehash[i][j].getStatInt()[0])); - seqOfInt.add(new ASN1Integer(tailLength)); - seqOfInt - .add(new ASN1Integer(nextTreehash[i][j].getStatInt()[2])); - seqOfInt - .add(new ASN1Integer(nextTreehash[i][j].getStatInt()[3])); - seqOfInt - .add(new ASN1Integer(nextTreehash[i][j].getStatInt()[4])); - seqOfInt - .add(new ASN1Integer(nextTreehash[i][j].getStatInt()[5])); - for (int k = 0; k < tailLength; k++) - { - seqOfInt.add(new ASN1Integer(nextTreehash[i][j] - .getStatInt()[6 + k])); - } - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfTreehash1.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - seqOfTreehash0.add(new DERSequence(new DERSequence(seqOfTreehash1))); - seqOfTreehash1 = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfTreehash0)); - - // --- Encode . - ASN1EncodableVector keepPart0 = new ASN1EncodableVector(); - ASN1EncodableVector keepPart1 = new ASN1EncodableVector(); - for (int i = 0; i < keep.length; i++) - { - for (int j = 0; j < keep[i].length; j++) - { - keepPart0.add(new DEROctetString(keep[i][j])); - } - keepPart1.add(new DERSequence(keepPart0)); - keepPart0 = new ASN1EncodableVector(); - } - result.add(new DERSequence(keepPart1)); - - // --- Encode . - ASN1EncodableVector curStackPart0 = new ASN1EncodableVector(); - ASN1EncodableVector curStackPart1 = new ASN1EncodableVector(); - for (int i = 0; i < currentStack.length; i++) - { - for (int j = 0; j < currentStack[i].size(); j++) - { - curStackPart0.add(new DEROctetString((byte[])currentStack[i] - .elementAt(j))); - } - curStackPart1.add(new DERSequence(curStackPart0)); - curStackPart0 = new ASN1EncodableVector(); - } - result.add(new DERSequence(curStackPart1)); - - // --- Encode . - ASN1EncodableVector nextStackPart0 = new ASN1EncodableVector(); - ASN1EncodableVector nextStackPart1 = new ASN1EncodableVector(); - for (int i = 0; i < nextStack.length; i++) - { - for (int j = 0; j < nextStack[i].size(); j++) - { - nextStackPart0.add(new DEROctetString((byte[])nextStack[i] - .elementAt(j))); - } - nextStackPart1.add(new DERSequence(nextStackPart0)); - nextStackPart0 = new ASN1EncodableVector(); - } - result.add(new DERSequence(nextStackPart1)); - - // --- Encode . - ASN1EncodableVector currentRetainPart0 = new ASN1EncodableVector(); - ASN1EncodableVector currentRetainPart1 = new ASN1EncodableVector(); - ASN1EncodableVector currentRetainPart2 = new ASN1EncodableVector(); - for (int i = 0; i < currentRetain.length; i++) - { - for (int j = 0; j < currentRetain[i].length; j++) - { - for (int k = 0; k < currentRetain[i][j].size(); k++) - { - currentRetainPart0.add(new DEROctetString( - (byte[])currentRetain[i][j].elementAt(k))); - } - currentRetainPart1.add(new DERSequence(currentRetainPart0)); - currentRetainPart0 = new ASN1EncodableVector(); - } - currentRetainPart2.add(new DERSequence(currentRetainPart1)); - currentRetainPart1 = new ASN1EncodableVector(); - } - result.add(new DERSequence(currentRetainPart2)); - - // --- Encode . - ASN1EncodableVector nextRetainPart0 = new ASN1EncodableVector(); - ASN1EncodableVector nextRetainPart1 = new ASN1EncodableVector(); - ASN1EncodableVector nextRetainPart2 = new ASN1EncodableVector(); - for (int i = 0; i < nextRetain.length; i++) - { - for (int j = 0; j < nextRetain[i].length; j++) - { - for (int k = 0; k < nextRetain[i][j].size(); k++) - { - nextRetainPart0.add(new DEROctetString( - (byte[])nextRetain[i][j].elementAt(k))); - } - nextRetainPart1.add(new DERSequence(nextRetainPart0)); - nextRetainPart0 = new ASN1EncodableVector(); - } - nextRetainPart2.add(new DERSequence(nextRetainPart1)); - nextRetainPart1 = new ASN1EncodableVector(); - } - result.add(new DERSequence(nextRetainPart2)); - - // --- Encode . - ASN1EncodableVector seqOfLeaf = new ASN1EncodableVector(); - seqOfStat = new ASN1EncodableVector(); - seqOfByte = new ASN1EncodableVector(); - seqOfInt = new ASN1EncodableVector(); - - for (int i = 0; i < nextNextLeaf.length; i++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - byte[][] tempByte = nextNextLeaf[i].getStatByte(); - seqOfByte.add(new DEROctetString(tempByte[0])); - seqOfByte.add(new DEROctetString(tempByte[1])); - seqOfByte.add(new DEROctetString(tempByte[2])); - seqOfByte.add(new DEROctetString(tempByte[3])); - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - int[] tempInt = nextNextLeaf[i].getStatInt(); - seqOfInt.add(new ASN1Integer(tempInt[0])); - seqOfInt.add(new ASN1Integer(tempInt[1])); - seqOfInt.add(new ASN1Integer(tempInt[2])); - seqOfInt.add(new ASN1Integer(tempInt[3])); - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfLeaf.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfLeaf)); - - // --- Encode . - ASN1EncodableVector seqOfUpperLeaf = new ASN1EncodableVector(); - seqOfStat = new ASN1EncodableVector(); - seqOfByte = new ASN1EncodableVector(); - seqOfInt = new ASN1EncodableVector(); - - for (int i = 0; i < upperLeaf.length; i++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - byte[][] tempByte = upperLeaf[i].getStatByte(); - seqOfByte.add(new DEROctetString(tempByte[0])); - seqOfByte.add(new DEROctetString(tempByte[1])); - seqOfByte.add(new DEROctetString(tempByte[2])); - seqOfByte.add(new DEROctetString(tempByte[3])); - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - int[] tempInt = upperLeaf[i].getStatInt(); - seqOfInt.add(new ASN1Integer(tempInt[0])); - seqOfInt.add(new ASN1Integer(tempInt[1])); - seqOfInt.add(new ASN1Integer(tempInt[2])); - seqOfInt.add(new ASN1Integer(tempInt[3])); - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfUpperLeaf.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfUpperLeaf)); - - // encode - ASN1EncodableVector seqOfUpperTreehashLeaf = new ASN1EncodableVector(); - seqOfStat = new ASN1EncodableVector(); - seqOfByte = new ASN1EncodableVector(); - seqOfInt = new ASN1EncodableVector(); - - for (int i = 0; i < upperTreehashLeaf.length; i++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - byte[][] tempByte = upperTreehashLeaf[i].getStatByte(); - seqOfByte.add(new DEROctetString(tempByte[0])); - seqOfByte.add(new DEROctetString(tempByte[1])); - seqOfByte.add(new DEROctetString(tempByte[2])); - seqOfByte.add(new DEROctetString(tempByte[3])); - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - int[] tempInt = upperTreehashLeaf[i].getStatInt(); - seqOfInt.add(new ASN1Integer(tempInt[0])); - seqOfInt.add(new ASN1Integer(tempInt[1])); - seqOfInt.add(new ASN1Integer(tempInt[2])); - seqOfInt.add(new ASN1Integer(tempInt[3])); - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfUpperTreehashLeaf.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfUpperTreehashLeaf)); - - // --- Encode . - ASN1EncodableVector minTreehashPart = new ASN1EncodableVector(); - for (int i = 0; i < minTreehash.length; i++) - { - minTreehashPart.add(new ASN1Integer(minTreehash[i])); - } - result.add(new DERSequence(minTreehashPart)); - - // --- Encode . - ASN1EncodableVector nextRootPart = new ASN1EncodableVector(); - for (int i = 0; i < nextRoot.length; i++) - { - nextRootPart.add(new DEROctetString(nextRoot[i])); - } - result.add(new DERSequence(nextRootPart)); - - // --- Encode . - ASN1EncodableVector seqOfnextNextRoot = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRStats = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRStrings = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRBytes = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRInts = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRTreehash = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnnRRetain = new ASN1EncodableVector(); - - for (int i = 0; i < nextNextRoot.length; i++) - { - seqOfnnRStats.add(new DERSequence(algorithms[0])); - seqOfnnRStrings = new ASN1EncodableVector(); - - int heightOfTree = nextNextRoot[i].getStatInt()[0]; - int tailLength = nextNextRoot[i].getStatInt()[7]; - - seqOfnnRBytes.add(new DEROctetString( - nextNextRoot[i].getStatByte()[0])); - for (int j = 0; j < heightOfTree; j++) - { - seqOfnnRBytes.add(new DEROctetString(nextNextRoot[i] - .getStatByte()[1 + j])); - } - for (int j = 0; j < tailLength; j++) - { - seqOfnnRBytes.add(new DEROctetString(nextNextRoot[i] - .getStatByte()[1 + heightOfTree + j])); - } - - seqOfnnRStats.add(new DERSequence(seqOfnnRBytes)); - seqOfnnRBytes = new ASN1EncodableVector(); - - seqOfnnRInts.add(new ASN1Integer(heightOfTree)); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[1])); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[2])); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[3])); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[4])); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[5])); - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[6])); - seqOfnnRInts.add(new ASN1Integer(tailLength)); - for (int j = 0; j < heightOfTree; j++) - { - seqOfnnRInts.add(new ASN1Integer( - nextNextRoot[i].getStatInt()[8 + j])); - } - for (int j = 0; j < tailLength; j++) - { - seqOfnnRInts.add(new ASN1Integer(nextNextRoot[i].getStatInt()[8 - + heightOfTree + j])); - } - - seqOfnnRStats.add(new DERSequence(seqOfnnRInts)); - seqOfnnRInts = new ASN1EncodableVector(); - - // add treehash of nextNextRoot object - // ---------------------------- - seqOfStat = new ASN1EncodableVector(); - seqOfByte = new ASN1EncodableVector(); - seqOfInt = new ASN1EncodableVector(); - - if (nextNextRoot[i].getTreehash() != null) - { - for (int j = 0; j < nextNextRoot[i].getTreehash().length; j++) - { - seqOfStat.add(new DERSequence(algorithms[0])); - - tailLength = nextNextRoot[i].getTreehash()[j].getStatInt()[1]; - - seqOfByte.add(new DEROctetString(nextNextRoot[i] - .getTreehash()[j].getStatByte()[0])); - seqOfByte.add(new DEROctetString(nextNextRoot[i] - .getTreehash()[j].getStatByte()[1])); - seqOfByte.add(new DEROctetString(nextNextRoot[i] - .getTreehash()[j].getStatByte()[2])); - for (int k = 0; k < tailLength; k++) - { - seqOfByte.add(new DEROctetString(nextNextRoot[i] - .getTreehash()[j].getStatByte()[3 + k])); - } - seqOfStat.add(new DERSequence(seqOfByte)); - seqOfByte = new ASN1EncodableVector(); - - seqOfInt.add(new ASN1Integer( - nextNextRoot[i].getTreehash()[j].getStatInt()[0])); - seqOfInt.add(new ASN1Integer(tailLength)); - seqOfInt.add(new ASN1Integer( - nextNextRoot[i].getTreehash()[j].getStatInt()[2])); - seqOfInt.add(new ASN1Integer( - nextNextRoot[i].getTreehash()[j].getStatInt()[3])); - seqOfInt.add(new ASN1Integer( - nextNextRoot[i].getTreehash()[j].getStatInt()[4])); - seqOfInt.add(new ASN1Integer( - nextNextRoot[i].getTreehash()[j].getStatInt()[5])); - for (int k = 0; k < tailLength; k++) - { - seqOfInt.add(new ASN1Integer(nextNextRoot[i] - .getTreehash()[j].getStatInt()[6 + k])); - } - seqOfStat.add(new DERSequence(seqOfInt)); - seqOfInt = new ASN1EncodableVector(); - - seqOfnnRTreehash.add(new DERSequence(seqOfStat)); - seqOfStat = new ASN1EncodableVector(); - } - } - // ---------------------------- - seqOfnnRStats.add(new DERSequence(seqOfnnRTreehash)); - seqOfnnRTreehash = new ASN1EncodableVector(); - - // encode retain of nextNextRoot - // ---------------------------- - // --- Encode . - currentRetainPart0 = new ASN1EncodableVector(); - if (nextNextRoot[i].getRetain() != null) - { - for (int j = 0; j < nextNextRoot[i].getRetain().length; j++) - { - for (int k = 0; k < nextNextRoot[i].getRetain()[j].size(); k++) - { - currentRetainPart0.add(new DEROctetString( - (byte[])nextNextRoot[i].getRetain()[j] - .elementAt(k))); - } - seqOfnnRRetain.add(new DERSequence(currentRetainPart0)); - currentRetainPart0 = new ASN1EncodableVector(); - } - } - // ---------------------------- - seqOfnnRStats.add(new DERSequence(seqOfnnRRetain)); - seqOfnnRRetain = new ASN1EncodableVector(); - - seqOfnextNextRoot.add(new DERSequence(seqOfnnRStats)); - seqOfnnRStats = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfnextNextRoot)); - - // --- Encode . - ASN1EncodableVector curRootSigPart = new ASN1EncodableVector(); - for (int i = 0; i < currentRootSig.length; i++) - { - curRootSigPart.add(new DEROctetString(currentRootSig[i])); - } - result.add(new DERSequence(curRootSigPart)); - - // --- Encode . - ASN1EncodableVector seqOfnextRootSigs = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnRSStats = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnRSStrings = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnRSBytes = new ASN1EncodableVector(); - ASN1EncodableVector seqOfnRSInts = new ASN1EncodableVector(); - - for (int i = 0; i < nextRootSig.length; i++) - { - seqOfnRSStats.add(new DERSequence(algorithms[0])); - seqOfnRSStrings = new ASN1EncodableVector(); - - seqOfnRSBytes.add(new DEROctetString( - nextRootSig[i].getStatByte()[0])); - seqOfnRSBytes.add(new DEROctetString( - nextRootSig[i].getStatByte()[1])); - seqOfnRSBytes.add(new DEROctetString( - nextRootSig[i].getStatByte()[2])); - seqOfnRSBytes.add(new DEROctetString( - nextRootSig[i].getStatByte()[3])); - seqOfnRSBytes.add(new DEROctetString( - nextRootSig[i].getStatByte()[4])); - - seqOfnRSStats.add(new DERSequence(seqOfnRSBytes)); - seqOfnRSBytes = new ASN1EncodableVector(); - - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[0])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[1])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[2])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[3])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[4])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[5])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[6])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[7])); - seqOfnRSInts.add(new ASN1Integer(nextRootSig[i].getStatInt()[8])); - - seqOfnRSStats.add(new DERSequence(seqOfnRSInts)); - seqOfnRSInts = new ASN1EncodableVector(); - - seqOfnextRootSigs.add(new DERSequence(seqOfnRSStats)); - seqOfnRSStats = new ASN1EncodableVector(); - } - result.add(new DERSequence(seqOfnextRootSigs)); - - // --- Encode . - ASN1EncodableVector parSetPart0 = new ASN1EncodableVector(); - ASN1EncodableVector parSetPart1 = new ASN1EncodableVector(); - ASN1EncodableVector parSetPart2 = new ASN1EncodableVector(); - ASN1EncodableVector parSetPart3 = new ASN1EncodableVector(); - - for (int i = 0; i < gmssParameterset.getHeightOfTrees().length; i++) - { - parSetPart1.add(new ASN1Integer( - gmssParameterset.getHeightOfTrees()[i])); - parSetPart2.add(new ASN1Integer(gmssParameterset - .getWinternitzParameter()[i])); - parSetPart3.add(new ASN1Integer(gmssParameterset.getK()[i])); - } - parSetPart0.add(new ASN1Integer(gmssParameterset.getNumOfLayers())); - parSetPart0.add(new DERSequence(parSetPart1)); - parSetPart0.add(new DERSequence(parSetPart2)); - parSetPart0.add(new DERSequence(parSetPart3)); - result.add(new DERSequence(parSetPart0)); - - // --- Encode . - ASN1EncodableVector namesPart = new ASN1EncodableVector(); - - for (int i = 0; i < algorithms.length; i++) - { - namesPart.add(algorithms[i]); - } - - result.add(new DERSequence(namesPart)); - return new DERSequence(result); - - } - - private static int checkBigIntegerInIntRange(ASN1Encodable a) - { - BigInteger b = ((ASN1Integer)a).getValue(); - if ((b.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) > 0) || - (b.compareTo(BigInteger.valueOf(Integer.MIN_VALUE)) < 0)) - { - throw new IllegalArgumentException("BigInteger not in Range: " + b.toString()); - } - return b.intValue(); - } - - - public ASN1Primitive toASN1Primitive() - { - return this.primitive; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPublicKey.java deleted file mode 100644 index dcf83f2a9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/GMSSPublicKey.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.util.Arrays; - -/** - * This class implements an ASN.1 encoded GMSS public key. The ASN.1 definition - * of this structure is: - *

    - *

    - *  GMSSPublicKey        ::= SEQUENCE{
    - *      version         INTEGER
    - *      publicKey       OCTET STRING
    - *  }
    - * 
    - */ -public class GMSSPublicKey - extends ASN1Object -{ - private ASN1Integer version; - private byte[] publicKey; - - private GMSSPublicKey(ASN1Sequence seq) - { - if (seq.size() != 2) - { - throw new IllegalArgumentException("size of seq = " + seq.size()); - } - - this.version = ASN1Integer.getInstance(seq.getObjectAt(0)); - this.publicKey = ASN1OctetString.getInstance(seq.getObjectAt(1)).getOctets(); - } - - public GMSSPublicKey(byte[] publicKeyBytes) - { - this.version = new ASN1Integer(0); - this.publicKey = publicKeyBytes; - } - - public static GMSSPublicKey getInstance(Object o) - { - if (o instanceof GMSSPublicKey) - { - return (GMSSPublicKey)o; - } - else if (o != null) - { - return new GMSSPublicKey(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public byte[] getPublicKey() - { - return Arrays.clone(publicKey); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(version); - v.add(new DEROctetString(publicKey)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PrivateKey.java deleted file mode 100644 index 5f6a8b9d1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PrivateKey.java +++ /dev/null @@ -1,173 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; - -public class McElieceCCA2PrivateKey - extends ASN1Object -{ - private ASN1ObjectIdentifier oid; - private int n; - private int k; - private byte[] encField; - private byte[] encGp; - private byte[] encP; - private byte[] encH; - private byte[][] encqInv; - - - public McElieceCCA2PrivateKey(ASN1ObjectIdentifier oid, int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, Permutation p, GF2Matrix h, PolynomialGF2mSmallM[] qInv) - { - this.oid = oid; - this.n = n; - this.k = k; - this.encField = field.getEncoded(); - this.encGp = goppaPoly.getEncoded(); - this.encP = p.getEncoded(); - this.encH = h.getEncoded(); - this.encqInv = new byte[qInv.length][]; - - for (int i = 0; i != qInv.length; i++) - { - encqInv[i] = qInv[i].getEncoded(); - } - } - - private McElieceCCA2PrivateKey(ASN1Sequence seq) - { - oid = ((ASN1ObjectIdentifier)seq.getObjectAt(0)); - - BigInteger bigN = ((ASN1Integer)seq.getObjectAt(1)).getValue(); - n = bigN.intValue(); - - BigInteger bigK = ((ASN1Integer)seq.getObjectAt(2)).getValue(); - k = bigK.intValue(); - - encField = ((ASN1OctetString)seq.getObjectAt(3)).getOctets(); - - encGp = ((ASN1OctetString)seq.getObjectAt(4)).getOctets(); - - encP = ((ASN1OctetString)seq.getObjectAt(5)).getOctets(); - - encH = ((ASN1OctetString)seq.getObjectAt(6)).getOctets(); - - ASN1Sequence asnQInv = (ASN1Sequence)seq.getObjectAt(7); - encqInv = new byte[asnQInv.size()][]; - for (int i = 0; i < asnQInv.size(); i++) - { - encqInv[i] = ((ASN1OctetString)asnQInv.getObjectAt(i)).getOctets(); - } - } - - public ASN1ObjectIdentifier getOID() - { - return oid; - } - - public int getN() - { - return n; - } - - public int getK() - { - return k; - } - - public GF2mField getField() - { - return new GF2mField(encField); - } - - public PolynomialGF2mSmallM getGoppaPoly() - { - return new PolynomialGF2mSmallM(this.getField(), encGp); - } - - public Permutation getP() - { - return new Permutation(encP); - } - - public GF2Matrix getH() - { - return new GF2Matrix(encH); - } - - public PolynomialGF2mSmallM[] getQInv() - { - PolynomialGF2mSmallM[] qInv = new PolynomialGF2mSmallM[encqInv.length]; - GF2mField field = this.getField(); - - for (int i = 0; i < encqInv.length; i++) - { - qInv[i] = new PolynomialGF2mSmallM(field, encqInv[i]); - } - - return qInv; - } - - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - // encode - v.add(oid); - // encode - v.add(new ASN1Integer(n)); - - // encode - v.add(new ASN1Integer(k)); - - // encode - v.add(new DEROctetString(encField)); - - // encode - v.add(new DEROctetString(encGp)); - - // encode

    - v.add(new DEROctetString(encP)); - - // encode - v.add(new DEROctetString(encH)); - - // encode - ASN1EncodableVector asnQInv = new ASN1EncodableVector(); - for (int i = 0; i < encqInv.length; i++) - { - asnQInv.add(new DEROctetString(encqInv[i])); - } - - v.add(new DERSequence(asnQInv)); - - return new DERSequence(v); - } - - public static McElieceCCA2PrivateKey getInstance(Object o) - { - if (o instanceof McElieceCCA2PrivateKey) - { - return (McElieceCCA2PrivateKey)o; - } - else if (o != null) - { - return new McElieceCCA2PrivateKey(ASN1Sequence.getInstance(o)); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PublicKey.java deleted file mode 100644 index 186d8ca4d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McElieceCCA2PublicKey.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; - -public class McElieceCCA2PublicKey - extends ASN1Object -{ - private ASN1ObjectIdentifier oid; - private int n; - private int t; - - private byte[] matrixG; - - public McElieceCCA2PublicKey(ASN1ObjectIdentifier oid, int n, int t, GF2Matrix g) - { - this.oid = oid; - this.n = n; - this.t = t; - this.matrixG = g.getEncoded(); - } - - private McElieceCCA2PublicKey(ASN1Sequence seq) - { - oid = ((ASN1ObjectIdentifier)seq.getObjectAt(0)); - BigInteger bigN = ((ASN1Integer)seq.getObjectAt(1)).getValue(); - n = bigN.intValue(); - - BigInteger bigT = ((ASN1Integer)seq.getObjectAt(2)).getValue(); - t = bigT.intValue(); - - matrixG = ((ASN1OctetString)seq.getObjectAt(3)).getOctets(); - } - - public ASN1ObjectIdentifier getOID() - { - return oid; - } - - public int getN() - { - return n; - } - - public int getT() - { - return t; - } - - public GF2Matrix getG() - { - return new GF2Matrix(matrixG); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - // encode - v.add(oid); - - // encode - v.add(new ASN1Integer(n)); - - // encode - v.add(new ASN1Integer(t)); - - // encode - v.add(new DEROctetString(matrixG)); - - return new DERSequence(v); - } - - public static McElieceCCA2PublicKey getInstance(Object o) - { - if (o instanceof McElieceCCA2PublicKey) - { - return (McElieceCCA2PublicKey)o; - } - else if (o != null) - { - return new McElieceCCA2PublicKey(ASN1Sequence.getInstance(o)); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePrivateKey.java deleted file mode 100644 index e0ba1ed76..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePrivateKey.java +++ /dev/null @@ -1,197 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; - -public class McEliecePrivateKey - extends ASN1Object -{ - private ASN1ObjectIdentifier oid; - private int n; - private int k; - private byte[] encField; - private byte[] encGp; - private byte[] encSInv; - private byte[] encP1; - private byte[] encP2; - private byte[] encH; - private byte[][] encqInv; - - - public McEliecePrivateKey(ASN1ObjectIdentifier oid, int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, GF2Matrix sInv, Permutation p1, Permutation p2, GF2Matrix h, PolynomialGF2mSmallM[] qInv) - { - this.oid = oid; - this.n = n; - this.k = k; - this.encField = field.getEncoded(); - this.encGp = goppaPoly.getEncoded(); - this.encSInv = sInv.getEncoded(); - this.encP1 = p1.getEncoded(); - this.encP2 = p2.getEncoded(); - this.encH = h.getEncoded(); - this.encqInv = new byte[qInv.length][]; - - for (int i = 0; i != qInv.length; i++) - { - encqInv[i] = qInv[i].getEncoded(); - } - } - - public static McEliecePrivateKey getInstance(Object o) - { - if (o instanceof McEliecePrivateKey) - { - return (McEliecePrivateKey)o; - } - else if (o != null) - { - return new McEliecePrivateKey(ASN1Sequence.getInstance(o)); - } - - return null; - } - - private McEliecePrivateKey(ASN1Sequence seq) - { - // - oid = ((ASN1ObjectIdentifier)seq.getObjectAt(0)); - - BigInteger bigN = ((ASN1Integer)seq.getObjectAt(1)).getValue(); - n = bigN.intValue(); - - BigInteger bigK = ((ASN1Integer)seq.getObjectAt(2)).getValue(); - k = bigK.intValue(); - - encField = ((ASN1OctetString)seq.getObjectAt(3)).getOctets(); - - encGp = ((ASN1OctetString)seq.getObjectAt(4)).getOctets(); - - encSInv = ((ASN1OctetString)seq.getObjectAt(5)).getOctets(); - - encP1 = ((ASN1OctetString)seq.getObjectAt(6)).getOctets(); - - encP2 = ((ASN1OctetString)seq.getObjectAt(7)).getOctets(); - - encH = ((ASN1OctetString)seq.getObjectAt(8)).getOctets(); - - ASN1Sequence asnQInv = (ASN1Sequence)seq.getObjectAt(9); - encqInv = new byte[asnQInv.size()][]; - for (int i = 0; i < asnQInv.size(); i++) - { - encqInv[i] = ((ASN1OctetString)asnQInv.getObjectAt(i)).getOctets(); - } - } - - public ASN1ObjectIdentifier getOID() - { - return oid; - } - - public int getN() - { - return n; - } - - public int getK() - { - return k; - } - - public GF2mField getField() - { - return new GF2mField(encField); - } - - public PolynomialGF2mSmallM getGoppaPoly() - { - return new PolynomialGF2mSmallM(this.getField(), encGp); - } - - public GF2Matrix getSInv() - { - return new GF2Matrix(encSInv); - } - - public Permutation getP1() - { - return new Permutation(encP1); - } - - public Permutation getP2() - { - return new Permutation(encP2); - } - - public GF2Matrix getH() - { - return new GF2Matrix(encH); - } - - public PolynomialGF2mSmallM[] getQInv() - { - PolynomialGF2mSmallM[] qInv = new PolynomialGF2mSmallM[encqInv.length]; - GF2mField field = this.getField(); - - for (int i = 0; i < encqInv.length; i++) - { - qInv[i] = new PolynomialGF2mSmallM(field, encqInv[i]); - } - - return qInv; - } - - public ASN1Primitive toASN1Primitive() - { - - ASN1EncodableVector v = new ASN1EncodableVector(); - // encode - v.add(oid); - // encode - v.add(new ASN1Integer(n)); - - // encode - v.add(new ASN1Integer(k)); - - // encode - v.add(new DEROctetString(encField)); - - // encode - v.add(new DEROctetString(encGp)); - - // encode - v.add(new DEROctetString(encSInv)); - - // encode - v.add(new DEROctetString(encP1)); - - // encode - v.add(new DEROctetString(encP2)); - - // encode - v.add(new DEROctetString(encH)); - - // encode - ASN1EncodableVector asnQInv = new ASN1EncodableVector(); - for (int i = 0; i < encqInv.length; i++) - { - asnQInv.add(new DEROctetString(encqInv[i])); - } - - v.add(new DERSequence(asnQInv)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePublicKey.java deleted file mode 100644 index 1415587da..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/McEliecePublicKey.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; - -public class McEliecePublicKey - extends ASN1Object -{ - - private ASN1ObjectIdentifier oid; - private int n; - private int t; - - private byte[] matrixG; - - public McEliecePublicKey(ASN1ObjectIdentifier oid, int n, int t, GF2Matrix g) - { - this.oid = oid; - this.n = n; - this.t = t; - this.matrixG = g.getEncoded(); - } - - private McEliecePublicKey(ASN1Sequence seq) - { - oid = ((ASN1ObjectIdentifier)seq.getObjectAt(0)); - BigInteger bigN = ((ASN1Integer)seq.getObjectAt(1)).getValue(); - n = bigN.intValue(); - - BigInteger bigT = ((ASN1Integer)seq.getObjectAt(2)).getValue(); - t = bigT.intValue(); - - matrixG = ((ASN1OctetString)seq.getObjectAt(3)).getOctets(); - } - - public ASN1ObjectIdentifier getOID() - { - return oid; - } - - public int getN() - { - return n; - } - - public int getT() - { - return t; - } - - public GF2Matrix getG() - { - return new GF2Matrix(matrixG); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - // encode - v.add(oid); - - // encode - v.add(new ASN1Integer(n)); - - // encode - v.add(new ASN1Integer(t)); - - // encode - v.add(new DEROctetString(matrixG)); - - return new DERSequence(v); - } - - public static McEliecePublicKey getInstance(Object o) - { - if (o instanceof McEliecePublicKey) - { - return (McEliecePublicKey)o; - } - else if (o != null) - { - return new McEliecePublicKey(ASN1Sequence.getInstance(o)); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/PQCObjectIdentifiers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/PQCObjectIdentifiers.java deleted file mode 100644 index 1a0e5ce7e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/PQCObjectIdentifiers.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; - -/** - * PQC: - *

    - * { iso(1) identifier-organization(3) dod(6) internet(1) private(4) 1 8301 3 1 3 5 3 ... } - */ -public interface PQCObjectIdentifiers -{ - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2 */ - public static final ASN1ObjectIdentifier rainbow = new ASN1ObjectIdentifier("1.3.6.1.4.1.8301.3.1.3.5.3.2"); - - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2.1 */ - public static final ASN1ObjectIdentifier rainbowWithSha1 = rainbow.branch("1"); - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2.2 */ - public static final ASN1ObjectIdentifier rainbowWithSha224 = rainbow.branch("2"); - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2.3 */ - public static final ASN1ObjectIdentifier rainbowWithSha256 = rainbow.branch("3"); - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2.4 */ - public static final ASN1ObjectIdentifier rainbowWithSha384 = rainbow.branch("4"); - /** 1.3.6.1.4.1.8301.3.1.3.5.3.2.5 */ - public static final ASN1ObjectIdentifier rainbowWithSha512 = rainbow.branch("5"); - - /** 1.3.6.1.4.1.8301.3.1.3.3 */ - public static final ASN1ObjectIdentifier gmss = new ASN1ObjectIdentifier("1.3.6.1.4.1.8301.3.1.3.3"); - - /** 1.3.6.1.4.1.8301.3.1.3.3.1 */ - public static final ASN1ObjectIdentifier gmssWithSha1 = gmss.branch("1"); - /** 1.3.6.1.4.1.8301.3.1.3.3.2 */ - public static final ASN1ObjectIdentifier gmssWithSha224 = gmss.branch("2"); - /** 1.3.6.1.4.1.8301.3.1.3.3.3 */ - public static final ASN1ObjectIdentifier gmssWithSha256 = gmss.branch("3"); - /** 1.3.6.1.4.1.8301.3.1.3.3.4 */ - public static final ASN1ObjectIdentifier gmssWithSha384 = gmss.branch("4"); - /** 1.3.6.1.4.1.8301.3.1.3.3.5 */ - public static final ASN1ObjectIdentifier gmssWithSha512 = gmss.branch("5"); - - /** 1.3.6.1.4.1.8301.3.1.3.4.1 */ - public static final ASN1ObjectIdentifier mcEliece = new ASN1ObjectIdentifier("1.3.6.1.4.1.8301.3.1.3.4.1"); - - /** 1.3.6.1.4.1.8301.3.1.3.4.2 */ - public static final ASN1ObjectIdentifier mcElieceCca2 = new ASN1ObjectIdentifier("1.3.6.1.4.1.8301.3.1.3.4.2"); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/ParSet.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/ParSet.java deleted file mode 100644 index d5110a2c4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/ParSet.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.util.Arrays; - -/** - *

    - *  ParSet              ::= SEQUENCE {
    - *      T               INTEGER
    - *      h               SEQUENCE OF INTEGER
    - *      w               SEQUENCE OF INTEGER
    - *      K               SEQUENCE OF INTEGER
    - *  }
    - * 
    - */ -public class ParSet - extends ASN1Object -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private int t; - private int[] h; - private int[] w; - private int[] k; - - private static int checkBigIntegerInIntRangeAndPositive(BigInteger b) - { - if ((b.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) > 0) || - (b.compareTo(ZERO) <= 0)) - { - throw new IllegalArgumentException("BigInteger not in Range: " + b.toString()); - } - return b.intValue(); - } - - private ParSet(ASN1Sequence seq) - { - if (seq.size() != 4) - { - throw new IllegalArgumentException("sie of seqOfParams = " + seq.size()); - } - BigInteger asn1int = ((ASN1Integer)seq.getObjectAt(0)).getValue(); - - t = checkBigIntegerInIntRangeAndPositive(asn1int); - - ASN1Sequence seqOfPSh = (ASN1Sequence)seq.getObjectAt(1); - ASN1Sequence seqOfPSw = (ASN1Sequence)seq.getObjectAt(2); - ASN1Sequence seqOfPSK = (ASN1Sequence)seq.getObjectAt(3); - - if ((seqOfPSh.size() != t) || - (seqOfPSw.size() != t) || - (seqOfPSK.size() != t)) - { - throw new IllegalArgumentException("invalid size of sequences"); - } - - h = new int[seqOfPSh.size()]; - w = new int[seqOfPSw.size()]; - k = new int[seqOfPSK.size()]; - - for (int i = 0; i < t; i++) - { - h[i] = checkBigIntegerInIntRangeAndPositive((((ASN1Integer)seqOfPSh.getObjectAt(i))).getValue()); - w[i] = checkBigIntegerInIntRangeAndPositive((((ASN1Integer)seqOfPSw.getObjectAt(i))).getValue()); - k[i] = checkBigIntegerInIntRangeAndPositive((((ASN1Integer)seqOfPSK.getObjectAt(i))).getValue()); - } - } - - public ParSet(int t, int[] h, int[] w, int[] k) - { - this.t = t; - this.h = h; - this.w = w; - this.k = k; - } - - public static ParSet getInstance(Object o) - { - if (o instanceof ParSet) - { - return (ParSet)o; - } - else if (o != null) - { - return new ParSet(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public int getT() - { - return t; - } - - public int[] getH() - { - return Arrays.clone(h); - } - - public int[] getW() - { - return Arrays.clone(w); - } - - public int[] getK() - { - return Arrays.clone(k); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector seqOfPSh = new ASN1EncodableVector(); - ASN1EncodableVector seqOfPSw = new ASN1EncodableVector(); - ASN1EncodableVector seqOfPSK = new ASN1EncodableVector(); - - for (int i = 0; i < h.length; i++) - { - seqOfPSh.add(new ASN1Integer(h[i])); - seqOfPSw.add(new ASN1Integer(w[i])); - seqOfPSK.add(new ASN1Integer(k[i])); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1Integer(t)); - v.add(new DERSequence(seqOfPSh)); - v.add(new DERSequence(seqOfPSw)); - v.add(new DERSequence(seqOfPSK)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPrivateKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPrivateKey.java deleted file mode 100644 index 4914e940f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPrivateKey.java +++ /dev/null @@ -1,350 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.pqc.crypto.rainbow.Layer; -import org.spongycastle.pqc.crypto.rainbow.util.RainbowUtil; - -/** - * Return the key data to encode in the PrivateKeyInfo structure. - *

    - * The ASN.1 definition of the key structure is - *

    - *

    - *   RainbowPrivateKey ::= SEQUENCE {
    - *         CHOICE
    - *         {
    - *         oid        OBJECT IDENTIFIER         -- OID identifying the algorithm
    - *         version    INTEGER                    -- 0
    - *         }
    - *     A1inv      SEQUENCE OF OCTET STRING  -- inversed matrix of L1
    - *     b1         OCTET STRING              -- translation vector of L1
    - *     A2inv      SEQUENCE OF OCTET STRING  -- inversed matrix of L2
    - *     b2         OCTET STRING              -- translation vector of L2
    - *     vi         OCTET STRING              -- num of elmts in each Set S
    - *     layers     SEQUENCE OF Layer         -- layers of F
    - *   }
    - *
    - *   Layer             ::= SEQUENCE OF Poly
    - *
    - *   Poly              ::= SEQUENCE {
    - *     alpha      SEQUENCE OF OCTET STRING
    - *     beta       SEQUENCE OF OCTET STRING
    - *     gamma      OCTET STRING
    - *     eta        INTEGER
    - *   }
    - * 
    - */ -public class RainbowPrivateKey - extends ASN1Object -{ - private ASN1Integer version; - private ASN1ObjectIdentifier oid; - - private byte[][] invA1; - private byte[] b1; - private byte[][] invA2; - private byte[] b2; - private byte[] vi; - private Layer[] layers; - - private RainbowPrivateKey(ASN1Sequence seq) - { - // or version - if (seq.getObjectAt(0) instanceof ASN1Integer) - { - version = ASN1Integer.getInstance(seq.getObjectAt(0)); - } - else - { - oid = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - } - - // - ASN1Sequence asnA1 = (ASN1Sequence)seq.getObjectAt(1); - invA1 = new byte[asnA1.size()][]; - for (int i = 0; i < asnA1.size(); i++) - { - invA1[i] = ((ASN1OctetString)asnA1.getObjectAt(i)).getOctets(); - } - - // - ASN1Sequence asnb1 = (ASN1Sequence)seq.getObjectAt(2); - b1 = ((ASN1OctetString)asnb1.getObjectAt(0)).getOctets(); - - // - ASN1Sequence asnA2 = (ASN1Sequence)seq.getObjectAt(3); - invA2 = new byte[asnA2.size()][]; - for (int j = 0; j < asnA2.size(); j++) - { - invA2[j] = ((ASN1OctetString)asnA2.getObjectAt(j)).getOctets(); - } - - // - ASN1Sequence asnb2 = (ASN1Sequence)seq.getObjectAt(4); - b2 = ((ASN1OctetString)asnb2.getObjectAt(0)).getOctets(); - - // - ASN1Sequence asnvi = (ASN1Sequence)seq.getObjectAt(5); - vi = ((ASN1OctetString)asnvi.getObjectAt(0)).getOctets(); - - // - ASN1Sequence asnLayers = (ASN1Sequence)seq.getObjectAt(6); - - byte[][][][] alphas = new byte[asnLayers.size()][][][]; - byte[][][][] betas = new byte[asnLayers.size()][][][]; - byte[][][] gammas = new byte[asnLayers.size()][][]; - byte[][] etas = new byte[asnLayers.size()][]; - // a layer: - for (int l = 0; l < asnLayers.size(); l++) - { - ASN1Sequence asnLayer = (ASN1Sequence)asnLayers.getObjectAt(l); - - // alphas (num of alpha-2d-array = oi) - ASN1Sequence alphas3d = (ASN1Sequence)asnLayer.getObjectAt(0); - alphas[l] = new byte[alphas3d.size()][][]; - for (int m = 0; m < alphas3d.size(); m++) - { - ASN1Sequence alphas2d = (ASN1Sequence)alphas3d.getObjectAt(m); - alphas[l][m] = new byte[alphas2d.size()][]; - for (int n = 0; n < alphas2d.size(); n++) - { - alphas[l][m][n] = ((ASN1OctetString)alphas2d.getObjectAt(n)).getOctets(); - } - } - - // betas .... - ASN1Sequence betas3d = (ASN1Sequence)asnLayer.getObjectAt(1); - betas[l] = new byte[betas3d.size()][][]; - for (int mb = 0; mb < betas3d.size(); mb++) - { - ASN1Sequence betas2d = (ASN1Sequence)betas3d.getObjectAt(mb); - betas[l][mb] = new byte[betas2d.size()][]; - for (int nb = 0; nb < betas2d.size(); nb++) - { - betas[l][mb][nb] = ((ASN1OctetString)betas2d.getObjectAt(nb)).getOctets(); - } - } - - // gammas ... - ASN1Sequence gammas2d = (ASN1Sequence)asnLayer.getObjectAt(2); - gammas[l] = new byte[gammas2d.size()][]; - for (int mg = 0; mg < gammas2d.size(); mg++) - { - gammas[l][mg] = ((ASN1OctetString)gammas2d.getObjectAt(mg)).getOctets(); - } - - // eta ... - etas[l] = ((ASN1OctetString)asnLayer.getObjectAt(3)).getOctets(); - } - - int numOfLayers = vi.length - 1; - this.layers = new Layer[numOfLayers]; - for (int i = 0; i < numOfLayers; i++) - { - Layer l = new Layer(vi[i], vi[i + 1], RainbowUtil.convertArray(alphas[i]), - RainbowUtil.convertArray(betas[i]), RainbowUtil.convertArray(gammas[i]), RainbowUtil.convertArray(etas[i])); - this.layers[i] = l; - - } - } - - public RainbowPrivateKey(short[][] invA1, short[] b1, short[][] invA2, - short[] b2, int[] vi, Layer[] layers) - { - this.version = new ASN1Integer(1); - this.invA1 = RainbowUtil.convertArray(invA1); - this.b1 = RainbowUtil.convertArray(b1); - this.invA2 = RainbowUtil.convertArray(invA2); - this.b2 = RainbowUtil.convertArray(b2); - this.vi = RainbowUtil.convertIntArray(vi); - this.layers = layers; - } - - public static RainbowPrivateKey getInstance(Object o) - { - if (o instanceof RainbowPrivateKey) - { - return (RainbowPrivateKey)o; - } - else if (o != null) - { - return new RainbowPrivateKey(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - /** - * Getter for the inverse matrix of A1. - * - * @return the A1inv inverse - */ - public short[][] getInvA1() - { - return RainbowUtil.convertArray(invA1); - } - - /** - * Getter for the translation part of the private quadratic map L1. - * - * @return b1 the translation part of L1 - */ - public short[] getB1() - { - return RainbowUtil.convertArray(b1); - } - - /** - * Getter for the translation part of the private quadratic map L2. - * - * @return b2 the translation part of L2 - */ - public short[] getB2() - { - return RainbowUtil.convertArray(b2); - } - - /** - * Getter for the inverse matrix of A2 - * - * @return the A2inv - */ - public short[][] getInvA2() - { - return RainbowUtil.convertArray(invA2); - } - - /** - * Returns the layers contained in the private key - * - * @return layers - */ - public Layer[] getLayers() - { - return this.layers; - } - - /** - * Returns the array of vi-s - * - * @return the vi - */ - public int[] getVi() - { - return RainbowUtil.convertArraytoInt(vi); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - // encode or version - if (version != null) - { - v.add(version); - } - else - { - v.add(oid); - } - - // encode - ASN1EncodableVector asnA1 = new ASN1EncodableVector(); - for (int i = 0; i < invA1.length; i++) - { - asnA1.add(new DEROctetString(invA1[i])); - } - v.add(new DERSequence(asnA1)); - - // encode - ASN1EncodableVector asnb1 = new ASN1EncodableVector(); - asnb1.add(new DEROctetString(b1)); - v.add(new DERSequence(asnb1)); - - // encode - ASN1EncodableVector asnA2 = new ASN1EncodableVector(); - for (int i = 0; i < invA2.length; i++) - { - asnA2.add(new DEROctetString(invA2[i])); - } - v.add(new DERSequence(asnA2)); - - // encode - ASN1EncodableVector asnb2 = new ASN1EncodableVector(); - asnb2.add(new DEROctetString(b2)); - v.add(new DERSequence(asnb2)); - - // encode - ASN1EncodableVector asnvi = new ASN1EncodableVector(); - asnvi.add(new DEROctetString(vi)); - v.add(new DERSequence(asnvi)); - - // encode - ASN1EncodableVector asnLayers = new ASN1EncodableVector(); - // a layer: - for (int l = 0; l < layers.length; l++) - { - ASN1EncodableVector aLayer = new ASN1EncodableVector(); - - // alphas (num of alpha-2d-array = oi) - byte[][][] alphas = RainbowUtil.convertArray(layers[l].getCoeffAlpha()); - ASN1EncodableVector alphas3d = new ASN1EncodableVector(); - for (int i = 0; i < alphas.length; i++) - { - ASN1EncodableVector alphas2d = new ASN1EncodableVector(); - for (int j = 0; j < alphas[i].length; j++) - { - alphas2d.add(new DEROctetString(alphas[i][j])); - } - alphas3d.add(new DERSequence(alphas2d)); - } - aLayer.add(new DERSequence(alphas3d)); - - // betas .... - byte[][][] betas = RainbowUtil.convertArray(layers[l].getCoeffBeta()); - ASN1EncodableVector betas3d = new ASN1EncodableVector(); - for (int i = 0; i < betas.length; i++) - { - ASN1EncodableVector betas2d = new ASN1EncodableVector(); - for (int j = 0; j < betas[i].length; j++) - { - betas2d.add(new DEROctetString(betas[i][j])); - } - betas3d.add(new DERSequence(betas2d)); - } - aLayer.add(new DERSequence(betas3d)); - - // gammas ... - byte[][] gammas = RainbowUtil.convertArray(layers[l].getCoeffGamma()); - ASN1EncodableVector asnG = new ASN1EncodableVector(); - for (int i = 0; i < gammas.length; i++) - { - asnG.add(new DEROctetString(gammas[i])); - } - aLayer.add(new DERSequence(asnG)); - - // eta - aLayer.add(new DEROctetString(RainbowUtil.convertArray(layers[l].getCoeffEta()))); - - // now, layer built up. add it! - asnLayers.add(new DERSequence(aLayer)); - } - - v.add(new DERSequence(asnLayers)); - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPublicKey.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPublicKey.java deleted file mode 100644 index 024e14834..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/asn1/RainbowPublicKey.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.spongycastle.pqc.asn1; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.pqc.crypto.rainbow.util.RainbowUtil; - -/** - * This class implements an ASN.1 encoded Rainbow public key. The ASN.1 definition - * of this structure is: - *

    - *

    - *       RainbowPublicKey ::= SEQUENCE {
    - *         CHOICE
    - *         {
    - *         oid        OBJECT IDENTIFIER         -- OID identifying the algorithm
    - *         version    INTEGER                    -- 0
    - *         }
    - *         docLength        Integer               -- length of the code
    - *         coeffquadratic   SEQUENCE OF OCTET STRING -- quadratic (mixed) coefficients
    - *         coeffsingular    SEQUENCE OF OCTET STRING -- singular coefficients
    - *         coeffscalar    SEQUENCE OF OCTET STRING -- scalar coefficients
    - *       }
    - * 
    - */ -public class RainbowPublicKey - extends ASN1Object -{ - private ASN1Integer version; - private ASN1ObjectIdentifier oid; - private ASN1Integer docLength; - private byte[][] coeffQuadratic; - private byte[][] coeffSingular; - private byte[] coeffScalar; - - private RainbowPublicKey(ASN1Sequence seq) - { - // or version - if (seq.getObjectAt(0) instanceof ASN1Integer) - { - version = ASN1Integer.getInstance(seq.getObjectAt(0)); - } - else - { - oid = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); - } - - docLength = ASN1Integer.getInstance(seq.getObjectAt(1)); - - ASN1Sequence asnCoeffQuad = ASN1Sequence.getInstance(seq.getObjectAt(2)); - coeffQuadratic = new byte[asnCoeffQuad.size()][]; - for (int quadSize = 0; quadSize < asnCoeffQuad.size(); quadSize++) - { - coeffQuadratic[quadSize] = ASN1OctetString.getInstance(asnCoeffQuad.getObjectAt(quadSize)).getOctets(); - } - - ASN1Sequence asnCoeffSing = (ASN1Sequence)seq.getObjectAt(3); - coeffSingular = new byte[asnCoeffSing.size()][]; - for (int singSize = 0; singSize < asnCoeffSing.size(); singSize++) - { - coeffSingular[singSize] = ASN1OctetString.getInstance(asnCoeffSing.getObjectAt(singSize)).getOctets(); - } - - ASN1Sequence asnCoeffScalar = (ASN1Sequence)seq.getObjectAt(4); - coeffScalar = ASN1OctetString.getInstance(asnCoeffScalar.getObjectAt(0)).getOctets(); - } - - public RainbowPublicKey(int docLength, short[][] coeffQuadratic, short[][] coeffSingular, short[] coeffScalar) - { - this.version = new ASN1Integer(0); - this.docLength = new ASN1Integer(docLength); - this.coeffQuadratic = RainbowUtil.convertArray(coeffQuadratic); - this.coeffSingular = RainbowUtil.convertArray(coeffSingular); - this.coeffScalar = RainbowUtil.convertArray(coeffScalar); - } - - public static RainbowPublicKey getInstance(Object o) - { - if (o instanceof RainbowPublicKey) - { - return (RainbowPublicKey)o; - } - else if (o != null) - { - return new RainbowPublicKey(ASN1Sequence.getInstance(o)); - } - - return null; - } - - public ASN1Integer getVersion() - { - return version; - } - - /** - * @return the docLength - */ - public int getDocLength() - { - return this.docLength.getValue().intValue(); - } - - /** - * @return the coeffquadratic - */ - public short[][] getCoeffQuadratic() - { - return RainbowUtil.convertArray(coeffQuadratic); - } - - /** - * @return the coeffsingular - */ - public short[][] getCoeffSingular() - { - return RainbowUtil.convertArray(coeffSingular); - } - - /** - * @return the coeffscalar - */ - public short[] getCoeffScalar() - { - return RainbowUtil.convertArray(coeffScalar); - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - // encode or version - if (version != null) - { - v.add(version); - } - else - { - v.add(oid); - } - - // encode - v.add(docLength); - - // encode - ASN1EncodableVector asnCoeffQuad = new ASN1EncodableVector(); - for (int i = 0; i < coeffQuadratic.length; i++) - { - asnCoeffQuad.add(new DEROctetString(coeffQuadratic[i])); - } - v.add(new DERSequence(asnCoeffQuad)); - - // encode - ASN1EncodableVector asnCoeffSing = new ASN1EncodableVector(); - for (int i = 0; i < coeffSingular.length; i++) - { - asnCoeffSing.add(new DEROctetString(coeffSingular[i])); - } - v.add(new DERSequence(asnCoeffSing)); - - // encode - ASN1EncodableVector asnCoeffScalar = new ASN1EncodableVector(); - asnCoeffScalar.add(new DEROctetString(coeffScalar)); - v.add(new DERSequence(asnCoeffScalar)); - - - return new DERSequence(v); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/DigestingMessageSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/DigestingMessageSigner.java deleted file mode 100644 index b58a52789..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/DigestingMessageSigner.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.pqc.crypto; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - - -/** - * Implements the sign and verify functions for a Signature Scheme which can use a hash function. - */ -public class DigestingMessageSigner - implements Signer -{ - private final Digest messDigest; - private final MessageSigner messSigner; - private boolean forSigning; - - public DigestingMessageSigner(MessageSigner messSigner, Digest messDigest) - { - this.messSigner = messSigner; - this.messDigest = messDigest; - } - - public void init(boolean forSigning, - CipherParameters param) - { - - this.forSigning = forSigning; - AsymmetricKeyParameter k; - - if (param instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)param; - } - - if (forSigning && !k.isPrivate()) - { - throw new IllegalArgumentException("Signing Requires Private Key."); - } - - if (!forSigning && k.isPrivate()) - { - throw new IllegalArgumentException("Verification Requires Public Key."); - } - - reset(); - - messSigner.init(forSigning, param); - } - - - /** - * This function signs the message that has been updated, making use of the - * private key. - * - * @return the signature of the message. - */ - public byte[] generateSignature() - { - if (!forSigning) - { - throw new IllegalStateException("RainbowDigestSigner not initialised for signature generation."); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - - return messSigner.generateSignature(hash); - } - - /** - * This function verifies the signature of the message that has been - * updated, with the aid of the public key. - * - * @param signature the signature of the message is given as a byte array. - * @return true if the signature has been verified, false otherwise. - */ - public boolean verify(byte[] signature) - { - if (forSigning) - { - throw new IllegalStateException("RainbowDigestSigner not initialised for verification"); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - - return messSigner.verifySignature(hash, signature); - - } - - public void update(byte b) - { - messDigest.update(b); - } - - public void update(byte[] in, int off, int len) - { - messDigest.update(in, off, len); - } - - public void reset() - { - messDigest.reset(); - } - - public boolean verifySignature(byte[] signature) - { - return this.verify(signature); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageEncryptor.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageEncryptor.java deleted file mode 100644 index 4d5ea6b28..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageEncryptor.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.spongycastle.pqc.crypto; - - -import org.spongycastle.crypto.CipherParameters; - -public interface MessageEncryptor -{ - - /** - * - * @param forEncrypting true if we are encrypting a signature, false - * otherwise. - * @param param key parameters for encryption or decryption. - */ - public void init(boolean forEncrypting, CipherParameters param); - - /** - * - * @param message the message to be signed. - * @throws Exception - */ - public byte[] messageEncrypt(byte[] message) throws Exception; - - /** - * - * @param cipher the cipher text of the message - * @throws Exception - */ - public byte[] messageDecrypt(byte[] cipher) throws Exception; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageSigner.java deleted file mode 100644 index b09c61958..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/MessageSigner.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.spongycastle.pqc.crypto; - -import org.spongycastle.crypto.CipherParameters; - -public interface MessageSigner -{ - /** - * initialise the signer for signature generation or signature - * verification. - * - * @param forSigning true if we are generating a signature, false - * otherwise. - * @param param key parameters for signature generation. - */ - public void init(boolean forSigning, CipherParameters param); - - /** - * sign the passed in message (usually the output of a hash function). - * - * @param message the message to be signed. - * @return the signature of the message - */ - public byte[] generateSignature(byte[] message); - - /** - * verify the message message against the signature values r and s. - * - * @param message the message that was supposed to have been signed. - * @param signature the signature of the message - */ - public boolean verifySignature(byte[] message, byte[] signature); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSDigestProvider.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSDigestProvider.java deleted file mode 100644 index 373ca5038..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSDigestProvider.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import org.spongycastle.crypto.Digest; - -public interface GMSSDigestProvider -{ - Digest get(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyGenerationParameters.java deleted file mode 100644 index 27d7b697f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyGenerationParameters.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class GMSSKeyGenerationParameters - extends KeyGenerationParameters -{ - - private GMSSParameters params; - - public GMSSKeyGenerationParameters( - SecureRandom random, - GMSSParameters params) - { - // XXX key size? - super(random, 1); - this.params = params; - } - - public GMSSParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyPairGenerator.java deleted file mode 100644 index a67d30fcd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyPairGenerator.java +++ /dev/null @@ -1,477 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.security.SecureRandom; -import java.util.Vector; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.pqc.crypto.gmss.util.WinternitzOTSVerify; -import org.spongycastle.pqc.crypto.gmss.util.WinternitzOTSignature; - - -/** - * This class implements key pair generation of the generalized Merkle signature - * scheme (GMSS). - * - * @see GMSSSigner - */ -public class GMSSKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - /** - * The source of randomness for OTS private key generation - */ - private GMSSRandom gmssRandom; - - /** - * The hash function used for the construction of the authentication trees - */ - private Digest messDigestTree; - - /** - * An array of the seeds for the PRGN (for main tree, and all current - * subtrees) - */ - private byte[][] currentSeeds; - - /** - * An array of seeds for the PRGN (for all subtrees after next) - */ - private byte[][] nextNextSeeds; - - /** - * An array of the RootSignatures - */ - private byte[][] currentRootSigs; - - /** - * Class of hash function to use - */ - private GMSSDigestProvider digestProvider; - - /** - * The length of the seed for the PRNG - */ - private int mdLength; - - /** - * the number of Layers - */ - private int numLayer; - - - /** - * Flag indicating if the class already has been initialized - */ - private boolean initialized = false; - - /** - * Instance of GMSSParameterset - */ - private GMSSParameters gmssPS; - - /** - * An array of the heights of the authentication trees of each layer - */ - private int[] heightOfTrees; - - /** - * An array of the Winternitz parameter 'w' of each layer - */ - private int[] otsIndex; - - /** - * The parameter K needed for the authentication path computation - */ - private int[] K; - - private GMSSKeyGenerationParameters gmssParams; - - /** - * The GMSS OID. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.3"; - - /** - * The standard constructor tries to generate the GMSS algorithm identifier - * with the corresponding OID. - *

    - * - * @param digestProvider provider for digest implementations. - */ - public GMSSKeyPairGenerator(GMSSDigestProvider digestProvider) - { - this.digestProvider = digestProvider; - messDigestTree = digestProvider.get(); - - // set mdLength - this.mdLength = messDigestTree.getDigestSize(); - // construct randomizer - this.gmssRandom = new GMSSRandom(messDigestTree); - - } - - /** - * Generates the GMSS key pair. The public key is an instance of - * JDKGMSSPublicKey, the private key is an instance of JDKGMSSPrivateKey. - * - * @return Key pair containing a JDKGMSSPublicKey and a JDKGMSSPrivateKey - */ - private AsymmetricCipherKeyPair genKeyPair() - { - if (!initialized) - { - initializeDefault(); - } - - // initialize authenticationPaths and treehash instances - byte[][][] currentAuthPaths = new byte[numLayer][][]; - byte[][][] nextAuthPaths = new byte[numLayer - 1][][]; - Treehash[][] currentTreehash = new Treehash[numLayer][]; - Treehash[][] nextTreehash = new Treehash[numLayer - 1][]; - - Vector[] currentStack = new Vector[numLayer]; - Vector[] nextStack = new Vector[numLayer - 1]; - - Vector[][] currentRetain = new Vector[numLayer][]; - Vector[][] nextRetain = new Vector[numLayer - 1][]; - - for (int i = 0; i < numLayer; i++) - { - currentAuthPaths[i] = new byte[heightOfTrees[i]][mdLength]; - currentTreehash[i] = new Treehash[heightOfTrees[i] - K[i]]; - - if (i > 0) - { - nextAuthPaths[i - 1] = new byte[heightOfTrees[i]][mdLength]; - nextTreehash[i - 1] = new Treehash[heightOfTrees[i] - K[i]]; - } - - currentStack[i] = new Vector(); - if (i > 0) - { - nextStack[i - 1] = new Vector(); - } - } - - // initialize roots - byte[][] currentRoots = new byte[numLayer][mdLength]; - byte[][] nextRoots = new byte[numLayer - 1][mdLength]; - // initialize seeds - byte[][] seeds = new byte[numLayer][mdLength]; - // initialize seeds[] by copying starting-seeds of first trees of each - // layer - for (int i = 0; i < numLayer; i++) - { - System.arraycopy(currentSeeds[i], 0, seeds[i], 0, mdLength); - } - - // initialize rootSigs - currentRootSigs = new byte[numLayer - 1][mdLength]; - - // ------------------------- - // ------------------------- - // --- calculation of current authpaths and current rootsigs (AUTHPATHS, - // SIG)------ - // from bottom up to the root - for (int h = numLayer - 1; h >= 0; h--) - { - GMSSRootCalc tree = new GMSSRootCalc(this.heightOfTrees[h], this.K[h], digestProvider); - try - { - // on lowest layer no lower root is available, so just call - // the method with null as first parameter - if (h == numLayer - 1) - { - tree = this.generateCurrentAuthpathAndRoot(null, currentStack[h], seeds[h], h); - } - else - // otherwise call the method with the former computed root - // value - { - tree = this.generateCurrentAuthpathAndRoot(currentRoots[h + 1], currentStack[h], seeds[h], h); - } - - } - catch (Exception e1) - { - e1.printStackTrace(); - } - - // set initial values needed for the private key construction - for (int i = 0; i < heightOfTrees[h]; i++) - { - System.arraycopy(tree.getAuthPath()[i], 0, currentAuthPaths[h][i], 0, mdLength); - } - currentRetain[h] = tree.getRetain(); - currentTreehash[h] = tree.getTreehash(); - System.arraycopy(tree.getRoot(), 0, currentRoots[h], 0, mdLength); - } - - // --- calculation of next authpaths and next roots (AUTHPATHS+, ROOTS+) - // ------ - for (int h = numLayer - 2; h >= 0; h--) - { - GMSSRootCalc tree = this.generateNextAuthpathAndRoot(nextStack[h], seeds[h + 1], h + 1); - - // set initial values needed for the private key construction - for (int i = 0; i < heightOfTrees[h + 1]; i++) - { - System.arraycopy(tree.getAuthPath()[i], 0, nextAuthPaths[h][i], 0, mdLength); - } - nextRetain[h] = tree.getRetain(); - nextTreehash[h] = tree.getTreehash(); - System.arraycopy(tree.getRoot(), 0, nextRoots[h], 0, mdLength); - - // create seed for the Merkle tree after next (nextNextSeeds) - // SEEDs++ - System.arraycopy(seeds[h + 1], 0, this.nextNextSeeds[h], 0, mdLength); - } - // ------------ - - // generate JDKGMSSPublicKey - GMSSPublicKeyParameters publicKey = new GMSSPublicKeyParameters(currentRoots[0], gmssPS); - - // generate the JDKGMSSPrivateKey - GMSSPrivateKeyParameters privateKey = new GMSSPrivateKeyParameters(currentSeeds, nextNextSeeds, currentAuthPaths, - nextAuthPaths, currentTreehash, nextTreehash, currentStack, nextStack, currentRetain, nextRetain, nextRoots, currentRootSigs, gmssPS, digestProvider); - - // return the KeyPair - return (new AsymmetricCipherKeyPair(publicKey, privateKey)); - } - - /** - * calculates the authpath for tree in layer h which starts with seed[h] - * additionally computes the rootSignature of underlaying root - * - * @param currentStack stack used for the treehash instance created by this method - * @param lowerRoot stores the root of the lower tree - * @param seed starting seeds - * @param h actual layer - */ - private GMSSRootCalc generateCurrentAuthpathAndRoot(byte[] lowerRoot, Vector currentStack, byte[] seed, int h) - { - byte[] help = new byte[mdLength]; - - byte[] OTSseed = new byte[mdLength]; - OTSseed = gmssRandom.nextSeed(seed); - - WinternitzOTSignature ots; - - // data structure that constructs the whole tree and stores - // the initial values for treehash, Auth and retain - GMSSRootCalc treeToConstruct = new GMSSRootCalc(this.heightOfTrees[h], this.K[h], digestProvider); - - treeToConstruct.initialize(currentStack); - - // generate the first leaf - if (h == numLayer - 1) - { - ots = new WinternitzOTSignature(OTSseed, digestProvider.get(), otsIndex[h]); - help = ots.getPublicKey(); - } - else - { - // for all layers except the lowest, generate the signature of the - // underlying root - // and reuse this signature to compute the first leaf of acual layer - // more efficiently (by verifiing the signature) - ots = new WinternitzOTSignature(OTSseed, digestProvider.get(), otsIndex[h]); - currentRootSigs[h] = ots.getSignature(lowerRoot); - WinternitzOTSVerify otsver = new WinternitzOTSVerify(digestProvider.get(), otsIndex[h]); - help = otsver.Verify(lowerRoot, currentRootSigs[h]); - } - // update the tree with the first leaf - treeToConstruct.update(help); - - int seedForTreehashIndex = 3; - int count = 0; - - // update the tree 2^(H) - 1 times, from the second to the last leaf - for (int i = 1; i < (1 << this.heightOfTrees[h]); i++) - { - // initialize the seeds for the leaf generation with index 3 * 2^h - if (i == seedForTreehashIndex && count < this.heightOfTrees[h] - this.K[h]) - { - treeToConstruct.initializeTreehashSeed(seed, count); - seedForTreehashIndex *= 2; - count++; - } - - OTSseed = gmssRandom.nextSeed(seed); - ots = new WinternitzOTSignature(OTSseed, digestProvider.get(), otsIndex[h]); - treeToConstruct.update(ots.getPublicKey()); - } - - if (treeToConstruct.wasFinished()) - { - return treeToConstruct; - } - System.err.println("Baum noch nicht fertig konstruiert!!!"); - return null; - } - - /** - * calculates the authpath and root for tree in layer h which starts with - * seed[h] - * - * @param nextStack stack used for the treehash instance created by this method - * @param seed starting seeds - * @param h actual layer - */ - private GMSSRootCalc generateNextAuthpathAndRoot(Vector nextStack, byte[] seed, int h) - { - byte[] OTSseed = new byte[numLayer]; - WinternitzOTSignature ots; - - // data structure that constructs the whole tree and stores - // the initial values for treehash, Auth and retain - GMSSRootCalc treeToConstruct = new GMSSRootCalc(this.heightOfTrees[h], this.K[h], this.digestProvider); - treeToConstruct.initialize(nextStack); - - int seedForTreehashIndex = 3; - int count = 0; - - // update the tree 2^(H) times, from the first to the last leaf - for (int i = 0; i < (1 << this.heightOfTrees[h]); i++) - { - // initialize the seeds for the leaf generation with index 3 * 2^h - if (i == seedForTreehashIndex && count < this.heightOfTrees[h] - this.K[h]) - { - treeToConstruct.initializeTreehashSeed(seed, count); - seedForTreehashIndex *= 2; - count++; - } - - OTSseed = gmssRandom.nextSeed(seed); - ots = new WinternitzOTSignature(OTSseed, digestProvider.get(), otsIndex[h]); - treeToConstruct.update(ots.getPublicKey()); - } - - if (treeToConstruct.wasFinished()) - { - return treeToConstruct; - } - System.err.println("N�chster Baum noch nicht fertig konstruiert!!!"); - return null; - } - - /** - * This method initializes the GMSS KeyPairGenerator using an integer value - * keySize as input. It provides a simple use of the GMSS for - * testing demands. - *

    - * A given keysize of less than 10 creates an amount 2^10 - * signatures. A keySize between 10 and 20 creates 2^20 signatures. Given an - * integer greater than 20 the key pair generator creates 2^40 signatures. - * - * @param keySize Assigns the parameters used for the GMSS signatures. There are - * 3 choices:
    - * 1. keysize <= 10: creates 2^10 signatures using the - * parameterset
    - * P = (2, (5, 5), (3, 3), (3, 3))
    - * 2. keysize > 10 and <= 20: creates 2^20 signatures using the - * parameterset
    - * P = (2, (10, 10), (5, 4), (2, 2))
    - * 3. keysize > 20: creates 2^40 signatures using the - * parameterset
    - * P = (2, (10, 10, 10, 10), (9, 9, 9, 3), (2, 2, 2, 2)) - * @param secureRandom not used by GMSS, the SHA1PRNG of the SUN Provider is always - * used - */ - public void initialize(int keySize, SecureRandom secureRandom) - { - - KeyGenerationParameters kgp; - if (keySize <= 10) - { // create 2^10 keys - int[] defh = {10}; - int[] defw = {3}; - int[] defk = {2}; - // XXX sec random neede? - kgp = new GMSSKeyGenerationParameters(secureRandom, new GMSSParameters(defh.length, defh, defw, defk)); - } - else if (keySize <= 20) - { // create 2^20 keys - int[] defh = {10, 10}; - int[] defw = {5, 4}; - int[] defk = {2, 2}; - kgp = new GMSSKeyGenerationParameters(secureRandom, new GMSSParameters(defh.length, defh, defw, defk)); - } - else - { // create 2^40 keys, keygen lasts around 80 seconds - int[] defh = {10, 10, 10, 10}; - int[] defw = {9, 9, 9, 3}; - int[] defk = {2, 2, 2, 2}; - kgp = new GMSSKeyGenerationParameters(secureRandom, new GMSSParameters(defh.length, defh, defw, defk)); - } - - // call the initializer with the chosen parameters - this.initialize(kgp); - - } - - - /** - * Initalizes the key pair generator using a parameter set as input - */ - public void initialize(KeyGenerationParameters param) - { - - this.gmssParams = (GMSSKeyGenerationParameters)param; - - // generate GMSSParameterset - this.gmssPS = new GMSSParameters(gmssParams.getParameters().getNumOfLayers(), gmssParams.getParameters().getHeightOfTrees(), - gmssParams.getParameters().getWinternitzParameter(), gmssParams.getParameters().getK()); - - this.numLayer = gmssPS.getNumOfLayers(); - this.heightOfTrees = gmssPS.getHeightOfTrees(); - this.otsIndex = gmssPS.getWinternitzParameter(); - this.K = gmssPS.getK(); - - // seeds - this.currentSeeds = new byte[numLayer][mdLength]; - this.nextNextSeeds = new byte[numLayer - 1][mdLength]; - - // construct SecureRandom for initial seed generation - SecureRandom secRan = new SecureRandom(); - - // generation of initial seeds - for (int i = 0; i < numLayer; i++) - { - secRan.nextBytes(currentSeeds[i]); - gmssRandom.nextSeed(currentSeeds[i]); - } - - this.initialized = true; - } - - /** - * This method is called by generateKeyPair() in case that no other - * initialization method has been called by the user - */ - private void initializeDefault() - { - int[] defh = {10, 10, 10, 10}; - int[] defw = {3, 3, 3, 3}; - int[] defk = {2, 2, 2, 2}; - - KeyGenerationParameters kgp = new GMSSKeyGenerationParameters(new SecureRandom(), new GMSSParameters(defh.length, defh, defw, defk)); - this.initialize(kgp); - - } - - public void init(KeyGenerationParameters param) - { - this.initialize(param); - - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - return genKeyPair(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyParameters.java deleted file mode 100644 index d2dcbba7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSKeyParameters.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public class GMSSKeyParameters - extends AsymmetricKeyParameter -{ - private GMSSParameters params; - - public GMSSKeyParameters( - boolean isPrivate, - GMSSParameters params) - { - super(isPrivate); - this.params = params; - } - - public GMSSParameters getParameters() - { - return params; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSLeaf.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSLeaf.java deleted file mode 100644 index ade340ad2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSLeaf.java +++ /dev/null @@ -1,376 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - - -/** - * This class implements the distributed computation of the public key of the - * Winternitz one-time signature scheme (OTSS). The class is used by the GMSS - * classes for calculation of upcoming leafs. - */ -public class GMSSLeaf -{ - - /** - * The hash function used by the OTS and the PRNG - */ - private Digest messDigestOTS; - - /** - * The length of the message digest and private key - */ - private int mdsize, keysize; - - /** - * The source of randomness for OTS private key generation - */ - private GMSSRandom gmssRandom; - - /** - * Byte array for distributed computation of the upcoming leaf - */ - private byte[] leaf; - - /** - * Byte array for storing the concatenated hashes of private key parts - */ - private byte[] concHashs; - - /** - * indices for distributed computation - */ - private int i, j; - - /** - * storing 2^w - */ - private int two_power_w; - - /** - * Winternitz parameter w - */ - private int w; - - /** - * the amount of distributed computation steps when updateLeaf is called - */ - private int steps; - - /** - * the internal seed - */ - private byte[] seed; - - /** - * the OTS privateKey parts - */ - byte[] privateKeyOTS; - - /** - * This constructor regenerates a prior GMSSLeaf object - * - * @param digest an array of strings, containing the name of the used hash - * function and PRNG and the name of the corresponding - * provider - * @param otsIndex status bytes - * @param numLeafs status ints - */ - public GMSSLeaf(Digest digest, byte[][] otsIndex, int[] numLeafs) - { - this.i = numLeafs[0]; - this.j = numLeafs[1]; - this.steps = numLeafs[2]; - this.w = numLeafs[3]; - - messDigestOTS = digest; - - gmssRandom = new GMSSRandom(messDigestOTS); - - // calulate keysize for private key and the help array - mdsize = messDigestOTS.getDigestSize(); - int mdsizeBit = mdsize << 3; - int messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - int checksumsize = getLog((messagesize << w) + 1); - this.keysize = messagesize - + (int)Math.ceil((double)checksumsize / (double)w); - this.two_power_w = 1 << w; - - // calculate steps - // ((2^w)-1)*keysize + keysize + 1 / (2^h -1) - - // initialize arrays - this.privateKeyOTS = otsIndex[0]; - this.seed = otsIndex[1]; - this.concHashs = otsIndex[2]; - this.leaf = otsIndex[3]; - } - - /** - * The constructor precomputes some needed variables for distributed leaf - * calculation - * - * @param digest an array of strings, containing the digest of the used hash - * function and PRNG and the digest of the corresponding - * provider - * @param w the winterniz parameter of that tree the leaf is computed - * for - * @param numLeafs the number of leafs of the tree from where the distributed - * computation is called - */ - GMSSLeaf(Digest digest, int w, int numLeafs) - { - this.w = w; - - messDigestOTS = digest; - - gmssRandom = new GMSSRandom(messDigestOTS); - - // calulate keysize for private key and the help array - mdsize = messDigestOTS.getDigestSize(); - int mdsizeBit = mdsize << 3; - int messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - int checksumsize = getLog((messagesize << w) + 1); - this.keysize = messagesize - + (int)Math.ceil((double)checksumsize / (double)w); - this.two_power_w = 1 << w; - - // calculate steps - // ((2^w)-1)*keysize + keysize + 1 / (2^h -1) - this.steps = (int)Math - .ceil((double)(((1 << w) - 1) * keysize + 1 + keysize) - / (double)(numLeafs)); - - // initialize arrays - this.seed = new byte[mdsize]; - this.leaf = new byte[mdsize]; - this.privateKeyOTS = new byte[mdsize]; - this.concHashs = new byte[mdsize * keysize]; - } - - public GMSSLeaf(Digest digest, int w, int numLeafs, byte[] seed0) - { - this.w = w; - - messDigestOTS = digest; - - gmssRandom = new GMSSRandom(messDigestOTS); - - // calulate keysize for private key and the help array - mdsize = messDigestOTS.getDigestSize(); - int mdsizeBit = mdsize << 3; - int messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - int checksumsize = getLog((messagesize << w) + 1); - this.keysize = messagesize - + (int)Math.ceil((double)checksumsize / (double)w); - this.two_power_w = 1 << w; - - // calculate steps - // ((2^w)-1)*keysize + keysize + 1 / (2^h -1) - this.steps = (int)Math - .ceil((double)(((1 << w) - 1) * keysize + 1 + keysize) - / (double)(numLeafs)); - - // initialize arrays - this.seed = new byte[mdsize]; - this.leaf = new byte[mdsize]; - this.privateKeyOTS = new byte[mdsize]; - this.concHashs = new byte[mdsize * keysize]; - - initLeafCalc(seed0); - } - - private GMSSLeaf(GMSSLeaf original) - { - this.messDigestOTS = original.messDigestOTS; - this.mdsize = original.mdsize; - this.keysize = original.keysize; - this.gmssRandom = original.gmssRandom; - this.leaf = Arrays.clone(original.leaf); - this.concHashs = Arrays.clone(original.concHashs); - this.i = original.i; - this.j = original.j; - this.two_power_w = original.two_power_w; - this.w = original.w; - this.steps = original.steps; - this.seed = Arrays.clone(original.seed); - this.privateKeyOTS = Arrays.clone(original.privateKeyOTS); - } - - /** - * initialize the distributed leaf calculation reset i,j and compute OTSseed - * with seed0 - * - * @param seed0 the starting seed - */ - // TODO: this really looks like it should be either always called from a constructor or nextLeaf. - void initLeafCalc(byte[] seed0) - { - this.i = 0; - this.j = 0; - byte[] dummy = new byte[mdsize]; - System.arraycopy(seed0, 0, dummy, 0, seed.length); - this.seed = gmssRandom.nextSeed(dummy); - } - - GMSSLeaf nextLeaf() - { - GMSSLeaf nextLeaf = new GMSSLeaf(this); - - nextLeaf.updateLeafCalc(); - - return nextLeaf; - } - - /** - * Processes steps steps of distributed leaf calculation - * - * @return true if leaf is completed, else false - */ - private void updateLeafCalc() - { - byte[] buf = new byte[messDigestOTS.getDigestSize()]; - - // steps times do - // TODO: this really needs to be looked at, the 10000 has been added as - // prior to this the leaf value always ended up as zeros. - for (int s = 0; s < steps + 10000; s++) - { - if (i == keysize && j == two_power_w - 1) - { // [3] at last hash the - // concatenation - messDigestOTS.update(concHashs, 0, concHashs.length); - leaf = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(leaf, 0); - return; - } - else if (i == 0 || j == two_power_w - 1) - { // [1] at the - // beginning and - // when [2] is - // finished: get the - // next private key - // part - i++; - j = 0; - // get next privKey part - this.privateKeyOTS = gmssRandom.nextSeed(seed); - } - else - { // [2] hash the privKey part - messDigestOTS.update(privateKeyOTS, 0, privateKeyOTS.length); - privateKeyOTS = buf; - messDigestOTS.doFinal(privateKeyOTS, 0); - j++; - if (j == two_power_w - 1) - { // after w hashes add to the - // concatenated array - System.arraycopy(privateKeyOTS, 0, concHashs, mdsize - * (i - 1), mdsize); - } - } - } - - throw new IllegalStateException("unable to updateLeaf in steps: " + steps + " " + i + " " + j); - } - - /** - * Returns the leaf value. - * - * @return the leaf value - */ - public byte[] getLeaf() - { - return Arrays.clone(leaf); - } - - /** - * This method returns the least integer that is greater or equal to the - * logarithm to the base 2 of an integer intValue. - * - * @param intValue an integer - * @return The least integer greater or equal to the logarithm to the base 2 - * of intValue - */ - private int getLog(int intValue) - { - int log = 1; - int i = 2; - while (i < intValue) - { - i <<= 1; - log++; - } - return log; - } - - /** - * Returns the status byte array used by the GMSSPrivateKeyASN.1 class - * - * @return The status bytes - */ - public byte[][] getStatByte() - { - - byte[][] statByte = new byte[4][]; - statByte[0] = new byte[mdsize]; - statByte[1] = new byte[mdsize]; - statByte[2] = new byte[mdsize * keysize]; - statByte[3] = new byte[mdsize]; - statByte[0] = privateKeyOTS; - statByte[1] = seed; - statByte[2] = concHashs; - statByte[3] = leaf; - - return statByte; - } - - /** - * Returns the status int array used by the GMSSPrivateKeyASN.1 class - * - * @return The status ints - */ - public int[] getStatInt() - { - - int[] statInt = new int[4]; - statInt[0] = i; - statInt[1] = j; - statInt[2] = steps; - statInt[3] = w; - return statInt; - } - - /** - * Returns a String representation of the main part of this element - * - * @return a String representation of the main part of this element - */ - public String toString() - { - String out = ""; - - for (int i = 0; i < 4; i++) - { - out = out + this.getStatInt()[i] + " "; - } - out = out + " " + this.mdsize + " " + this.keysize + " " - + this.two_power_w + " "; - - byte[][] temp = this.getStatByte(); - for (int i = 0; i < 4; i++) - { - if (temp[i] != null) - { - out = out + new String(Hex.encode(temp[i])) + " "; - } - else - { - out = out + "null "; - } - } - return out; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSParameters.java deleted file mode 100644 index ffc5043e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSParameters.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import org.spongycastle.util.Arrays; - -/** - * This class provides a specification for the GMSS parameters that are used by - * the GMSSKeyPairGenerator and GMSSSignature classes. - * - * @see org.spongycastle.pqc.crypto.gmss.GMSSKeyPairGenerator - */ -public class GMSSParameters -{ - /** - * The number of authentication tree layers. - */ - private int numOfLayers; - - /** - * The height of the authentication trees of each layer. - */ - private int[] heightOfTrees; - - /** - * The Winternitz Parameter 'w' of each layer. - */ - private int[] winternitzParameter; - - /** - * The parameter K needed for the authentication path computation - */ - private int[] K; - - /** - * The constructor for the parameters of the GMSSKeyPairGenerator. - *

    - * - * @param layers the number of authentication tree layers - * @param heightOfTrees the height of the authentication trees - * @param winternitzParameter the Winternitz Parameter 'w' of each layer - * @param K parameter for authpath computation - */ - public GMSSParameters(int layers, int[] heightOfTrees, int[] winternitzParameter, int[] K) - throws IllegalArgumentException - { - init(layers, heightOfTrees, winternitzParameter, K); - } - - private void init(int layers, int[] heightOfTrees, - int[] winternitzParameter, int[] K) - throws IllegalArgumentException - { - boolean valid = true; - String errMsg = ""; - this.numOfLayers = layers; - if ((numOfLayers != winternitzParameter.length) - || (numOfLayers != heightOfTrees.length) - || (numOfLayers != K.length)) - { - valid = false; - errMsg = "Unexpected parameterset format"; - } - for (int i = 0; i < numOfLayers; i++) - { - if ((K[i] < 2) || ((heightOfTrees[i] - K[i]) % 2 != 0)) - { - valid = false; - errMsg = "Wrong parameter K (K >= 2 and H-K even required)!"; - } - - if ((heightOfTrees[i] < 4) || (winternitzParameter[i] < 2)) - { - valid = false; - errMsg = "Wrong parameter H or w (H > 3 and w > 1 required)!"; - } - } - - if (valid) - { - this.heightOfTrees = Arrays.clone(heightOfTrees); - this.winternitzParameter = Arrays.clone(winternitzParameter); - this.K = Arrays.clone(K); - } - else - { - throw new IllegalArgumentException(errMsg); - } - } - - public GMSSParameters(int keySize) - throws IllegalArgumentException - { - if (keySize <= 10) - { // create 2^10 keys - int[] defh = {10}; - int[] defw = {3}; - int[] defk = {2}; - this.init(defh.length, defh, defw, defk); - } - else if (keySize <= 20) - { // create 2^20 keys - int[] defh = {10, 10}; - int[] defw = {5, 4}; - int[] defk = {2, 2}; - this.init(defh.length, defh, defw, defk); - } - else - { // create 2^40 keys, keygen lasts around 80 seconds - int[] defh = {10, 10, 10, 10}; - int[] defw = {9, 9, 9, 3}; - int[] defk = {2, 2, 2, 2}; - this.init(defh.length, defh, defw, defk); - } - } - - /** - * Returns the number of levels of the authentication trees. - * - * @return The number of levels of the authentication trees. - */ - public int getNumOfLayers() - { - return numOfLayers; - } - - /** - * Returns the array of height (for each layer) of the authentication trees - * - * @return The array of height (for each layer) of the authentication trees - */ - public int[] getHeightOfTrees() - { - return Arrays.clone(heightOfTrees); - } - - /** - * Returns the array of WinternitzParameter (for each layer) of the - * authentication trees - * - * @return The array of WinternitzParameter (for each layer) of the - * authentication trees - */ - public int[] getWinternitzParameter() - { - return Arrays.clone(winternitzParameter); - } - - /** - * Returns the parameter K needed for authentication path computation - * - * @return The parameter K needed for authentication path computation - */ - public int[] getK() - { - return Arrays.clone(K); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPrivateKeyParameters.java deleted file mode 100644 index 29e84b1fa..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPrivateKeyParameters.java +++ /dev/null @@ -1,1041 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.pqc.crypto.gmss.util.WinternitzOTSignature; -import org.spongycastle.util.Arrays; - - -/** - * This class provides a specification for a GMSS private key. - */ -public class GMSSPrivateKeyParameters - extends GMSSKeyParameters -{ - private int[] index; - - private byte[][] currentSeeds; - private byte[][] nextNextSeeds; - - private byte[][][] currentAuthPaths; - private byte[][][] nextAuthPaths; - - private Treehash[][] currentTreehash; - private Treehash[][] nextTreehash; - - private Vector[] currentStack; - private Vector[] nextStack; - - private Vector[][] currentRetain; - private Vector[][] nextRetain; - - private byte[][][] keep; - - private GMSSLeaf[] nextNextLeaf; - private GMSSLeaf[] upperLeaf; - private GMSSLeaf[] upperTreehashLeaf; - - private int[] minTreehash; - - private GMSSParameters gmssPS; - - private byte[][] nextRoot; - private GMSSRootCalc[] nextNextRoot; - - private byte[][] currentRootSig; - private GMSSRootSig[] nextRootSig; - - private GMSSDigestProvider digestProvider; - - private boolean used = false; - - /** - * An array of the heights of the authentication trees of each layer - */ - private int[] heightOfTrees; - - /** - * An array of the Winternitz parameter 'w' of each layer - */ - private int[] otsIndex; - - /** - * The parameter K needed for the authentication path computation - */ - private int[] K; - - /** - * the number of Layers - */ - private int numLayer; - - /** - * The hash function used to construct the authentication trees - */ - private Digest messDigestTrees; - - /** - * The message digest length - */ - private int mdLength; - - /** - * The PRNG used for private key generation - */ - private GMSSRandom gmssRandom; - - - /** - * The number of leafs of one tree of each layer - */ - private int[] numLeafs; - - - /** - * Generates a new GMSS private key - * - * @param currentSeed seed for the generation of private OTS keys for the - * current subtrees - * @param nextNextSeed seed for the generation of private OTS keys for the next - * subtrees - * @param currentAuthPath array of current authentication paths - * @param nextAuthPath array of next authentication paths - * @param currentTreehash array of current treehash instances - * @param nextTreehash array of next treehash instances - * @param currentStack array of current shared stacks - * @param nextStack array of next shared stacks - * @param currentRetain array of current retain stacks - * @param nextRetain array of next retain stacks - * @param nextRoot the roots of the next subtree - * @param currentRootSig array of signatures of the roots of the current subtrees - * @param gmssParameterset the GMSS Parameterset - * @see org.spongycastle.pqc.crypto.gmss.GMSSKeyPairGenerator - */ - - public GMSSPrivateKeyParameters(byte[][] currentSeed, byte[][] nextNextSeed, - byte[][][] currentAuthPath, byte[][][] nextAuthPath, - Treehash[][] currentTreehash, Treehash[][] nextTreehash, - Vector[] currentStack, Vector[] nextStack, - Vector[][] currentRetain, Vector[][] nextRetain, byte[][] nextRoot, - byte[][] currentRootSig, GMSSParameters gmssParameterset, - GMSSDigestProvider digestProvider) - { - this(null, currentSeed, nextNextSeed, currentAuthPath, nextAuthPath, - null, currentTreehash, nextTreehash, currentStack, nextStack, - currentRetain, nextRetain, null, null, null, null, nextRoot, - null, currentRootSig, null, gmssParameterset, digestProvider); - } - - /** - * /** - * - * @param index tree indices - * @param keep keep array for the authPath algorithm - * @param currentTreehash treehash for authPath algorithm of current tree - * @param nextTreehash treehash for authPath algorithm of next tree (TREE+) - * @param currentStack shared stack for authPath algorithm of current tree - * @param nextStack shared stack for authPath algorithm of next tree (TREE+) - * @param currentRetain retain stack for authPath algorithm of current tree - * @param nextRetain retain stack for authPath algorithm of next tree (TREE+) - * @param nextNextLeaf array of upcoming leafs of the tree after next (LEAF++) of - * each layer - * @param upperLeaf needed for precomputation of upper nodes - * @param upperTreehashLeaf needed for precomputation of upper treehash nodes - * @param minTreehash index of next treehash instance to receive an update - * @param nextRoot the roots of the next trees (ROOT+) - * @param nextNextRoot the roots of the tree after next (ROOT++) - * @param currentRootSig array of signatures of the roots of the current subtrees - * (SIG) - * @param nextRootSig array of signatures of the roots of the next subtree - * (SIG+) - * @param gmssParameterset the GMSS Parameterset - */ - public GMSSPrivateKeyParameters(int[] index, byte[][] currentSeeds, - byte[][] nextNextSeeds, byte[][][] currentAuthPaths, - byte[][][] nextAuthPaths, byte[][][] keep, - Treehash[][] currentTreehash, Treehash[][] nextTreehash, - Vector[] currentStack, Vector[] nextStack, - Vector[][] currentRetain, Vector[][] nextRetain, - GMSSLeaf[] nextNextLeaf, GMSSLeaf[] upperLeaf, - GMSSLeaf[] upperTreehashLeaf, int[] minTreehash, byte[][] nextRoot, - GMSSRootCalc[] nextNextRoot, byte[][] currentRootSig, - GMSSRootSig[] nextRootSig, GMSSParameters gmssParameterset, - GMSSDigestProvider digestProvider) - { - - super(true, gmssParameterset); - - // construct message digest - - this.messDigestTrees = digestProvider.get(); - this.mdLength = messDigestTrees.getDigestSize(); - - - // Parameter - this.gmssPS = gmssParameterset; - this.otsIndex = gmssParameterset.getWinternitzParameter(); - this.K = gmssParameterset.getK(); - this.heightOfTrees = gmssParameterset.getHeightOfTrees(); - // initialize numLayer - this.numLayer = gmssPS.getNumOfLayers(); - - // initialize index if null - if (index == null) - { - this.index = new int[numLayer]; - for (int i = 0; i < numLayer; i++) - { - this.index[i] = 0; - } - } - else - { - this.index = index; - } - - this.currentSeeds = currentSeeds; - this.nextNextSeeds = nextNextSeeds; - - this.currentAuthPaths = currentAuthPaths; - this.nextAuthPaths = nextAuthPaths; - - // initialize keep if null - if (keep == null) - { - this.keep = new byte[numLayer][][]; - for (int i = 0; i < numLayer; i++) - { - this.keep[i] = new byte[(int)Math.floor(heightOfTrees[i] / 2)][mdLength]; - } - } - else - { - this.keep = keep; - } - - // initialize stack if null - if (currentStack == null) - { - this.currentStack = new Vector[numLayer]; - for (int i = 0; i < numLayer; i++) - { - this.currentStack[i] = new Vector(); - } - } - else - { - this.currentStack = currentStack; - } - - // initialize nextStack if null - if (nextStack == null) - { - this.nextStack = new Vector[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - this.nextStack[i] = new Vector(); - } - } - else - { - this.nextStack = nextStack; - } - - this.currentTreehash = currentTreehash; - this.nextTreehash = nextTreehash; - - this.currentRetain = currentRetain; - this.nextRetain = nextRetain; - - this.nextRoot = nextRoot; - - this.digestProvider = digestProvider; - - if (nextNextRoot == null) - { - this.nextNextRoot = new GMSSRootCalc[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - this.nextNextRoot[i] = new GMSSRootCalc( - this.heightOfTrees[i + 1], this.K[i + 1], this.digestProvider); - } - } - else - { - this.nextNextRoot = nextNextRoot; - } - this.currentRootSig = currentRootSig; - - // calculate numLeafs - numLeafs = new int[numLayer]; - for (int i = 0; i < numLayer; i++) - { - numLeafs[i] = 1 << heightOfTrees[i]; - } - // construct PRNG - this.gmssRandom = new GMSSRandom(messDigestTrees); - - if (numLayer > 1) - { - // construct the nextNextLeaf (LEAFs++) array for upcoming leafs in - // tree after next (TREE++) - if (nextNextLeaf == null) - { - this.nextNextLeaf = new GMSSLeaf[numLayer - 2]; - for (int i = 0; i < numLayer - 2; i++) - { - this.nextNextLeaf[i] = new GMSSLeaf(digestProvider.get(), otsIndex[i + 1], numLeafs[i + 2], this.nextNextSeeds[i]); - } - } - else - { - this.nextNextLeaf = nextNextLeaf; - } - } - else - { - this.nextNextLeaf = new GMSSLeaf[0]; - } - - // construct the upperLeaf array for upcoming leafs in tree over the - // actual - if (upperLeaf == null) - { - this.upperLeaf = new GMSSLeaf[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - this.upperLeaf[i] = new GMSSLeaf(digestProvider.get(), otsIndex[i], - numLeafs[i + 1], this.currentSeeds[i]); - } - } - else - { - this.upperLeaf = upperLeaf; - } - - // construct the leafs for upcoming leafs in treehashs in tree over the - // actual - if (upperTreehashLeaf == null) - { - this.upperTreehashLeaf = new GMSSLeaf[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - this.upperTreehashLeaf[i] = new GMSSLeaf(digestProvider.get(), otsIndex[i], numLeafs[i + 1]); - } - } - else - { - this.upperTreehashLeaf = upperTreehashLeaf; - } - - if (minTreehash == null) - { - this.minTreehash = new int[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - this.minTreehash[i] = -1; - } - } - else - { - this.minTreehash = minTreehash; - } - - // construct the nextRootSig (RootSig++) - byte[] dummy = new byte[mdLength]; - byte[] OTSseed = new byte[mdLength]; - if (nextRootSig == null) - { - this.nextRootSig = new GMSSRootSig[numLayer - 1]; - for (int i = 0; i < numLayer - 1; i++) - { - System.arraycopy(currentSeeds[i], 0, dummy, 0, mdLength); - gmssRandom.nextSeed(dummy); - OTSseed = gmssRandom.nextSeed(dummy); - this.nextRootSig[i] = new GMSSRootSig(digestProvider.get(), otsIndex[i], - heightOfTrees[i + 1]); - this.nextRootSig[i].initSign(OTSseed, nextRoot[i]); - } - } - else - { - this.nextRootSig = nextRootSig; - } - } - - // we assume this only gets called from nextKey so used is never copied. - private GMSSPrivateKeyParameters(GMSSPrivateKeyParameters original) - { - super(true, original.getParameters()); - - this.index = Arrays.clone(original.index); - this.currentSeeds = Arrays.clone(original.currentSeeds); - this.nextNextSeeds = Arrays.clone(original.nextNextSeeds); - this.currentAuthPaths = Arrays.clone(original.currentAuthPaths); - this.nextAuthPaths = Arrays.clone(original.nextAuthPaths); - this.currentTreehash = original.currentTreehash; - this.nextTreehash = original.nextTreehash; - this.currentStack = original.currentStack; - this.nextStack = original.nextStack; - this.currentRetain = original.currentRetain; - this.nextRetain = original.nextRetain; - this.keep = Arrays.clone(original.keep); - this.nextNextLeaf = original.nextNextLeaf; - this.upperLeaf = original.upperLeaf; - this.upperTreehashLeaf = original.upperTreehashLeaf; - this.minTreehash = original.minTreehash; - this.gmssPS = original.gmssPS; - this.nextRoot = Arrays.clone(original.nextRoot); - this.nextNextRoot = original.nextNextRoot; - this.currentRootSig = original.currentRootSig; - this.nextRootSig = original.nextRootSig; - this.digestProvider = original.digestProvider; - this.heightOfTrees = original.heightOfTrees; - this.otsIndex = original.otsIndex; - this.K = original.K; - this.numLayer = original.numLayer; - this.messDigestTrees = original.messDigestTrees; - this.mdLength = original.mdLength; - this.gmssRandom = original.gmssRandom; - this.numLeafs = original.numLeafs; - } - - public boolean isUsed() - { - return this.used; - } - - public void markUsed() - { - this.used = true; - } - - public GMSSPrivateKeyParameters nextKey() - { - GMSSPrivateKeyParameters nKey = new GMSSPrivateKeyParameters(this); - - nKey.nextKey(gmssPS.getNumOfLayers() - 1); - - return nKey; - } - - /** - * This method updates the GMSS private key for the next signature - * - * @param layer the layer where the next key is processed - */ - private void nextKey(int layer) - { - // only for lowest layer ( other layers indices are raised in nextTree() - // method ) - if (layer == numLayer - 1) - { - index[layer]++; - } // else System.out.println(" --- nextKey on layer " + layer + " - // index is now : " + index[layer]); - - // if tree of this layer is depleted - if (index[layer] == numLeafs[layer]) - { - if (numLayer != 1) - { - nextTree(layer); - index[layer] = 0; - } - } - else - { - updateKey(layer); - } - } - - /** - * Switch to next subtree if the current one is depleted - * - * @param layer the layer where the next tree is processed - */ - private void nextTree(int layer) - { - // System.out.println("NextTree method called on layer " + layer); - // dont create next tree for the top layer - if (layer > 0) - { - // raise index for upper layer - index[layer - 1]++; - - // test if it is already the last tree - boolean lastTree = true; - int z = layer; - do - { - z--; - if (index[z] < numLeafs[z]) - { - lastTree = false; - } - } - while (lastTree && (z > 0)); - - // only construct next subtree if last one is not already in use - if (!lastTree) - { - gmssRandom.nextSeed(currentSeeds[layer]); - - // last step of distributed signature calculation - nextRootSig[layer - 1].updateSign(); - - // last step of distributed leaf calculation for nextNextLeaf - if (layer > 1) - { - nextNextLeaf[layer - 1 - 1] = nextNextLeaf[layer - 1 - 1].nextLeaf(); - } - - // last step of distributed leaf calculation for upper leaf - upperLeaf[layer - 1] = upperLeaf[layer - 1].nextLeaf(); - - // last step of distributed leaf calculation for all treehashs - - if (minTreehash[layer - 1] >= 0) - { - upperTreehashLeaf[layer - 1] = upperTreehashLeaf[layer - 1].nextLeaf(); - byte[] leaf = this.upperTreehashLeaf[layer - 1].getLeaf(); - // if update is required use the precomputed leaf to update - // treehash - try - { - currentTreehash[layer - 1][minTreehash[layer - 1]] - .update(this.gmssRandom, leaf); - // System.out.println("UUUpdated TH " + - // minTreehash[layer - 1]); - if (currentTreehash[layer - 1][minTreehash[layer - 1]] - .wasFinished()) - { - // System.out.println("FFFinished TH " + - // minTreehash[layer - 1]); - } - } - catch (Exception e) - { - System.out.println(e); - } - } - - // last step of nextNextAuthRoot calculation - this.updateNextNextAuthRoot(layer); - - // ******************************************************** / - - // NOW: advance to next tree on layer 'layer' - - // NextRootSig --> currentRootSigs - this.currentRootSig[layer - 1] = nextRootSig[layer - 1] - .getSig(); - - // ----------------------- - - // nextTreehash --> currentTreehash - // nextNextTreehash --> nextTreehash - for (int i = 0; i < heightOfTrees[layer] - K[layer]; i++) - { - this.currentTreehash[layer][i] = this.nextTreehash[layer - 1][i]; - this.nextTreehash[layer - 1][i] = this.nextNextRoot[layer - 1] - .getTreehash()[i]; - } - - // NextAuthPath --> currentAuthPath - // nextNextAuthPath --> nextAuthPath - for (int i = 0; i < heightOfTrees[layer]; i++) - { - System.arraycopy(nextAuthPaths[layer - 1][i], 0, - currentAuthPaths[layer][i], 0, mdLength); - System.arraycopy(nextNextRoot[layer - 1].getAuthPath()[i], - 0, nextAuthPaths[layer - 1][i], 0, mdLength); - } - - // nextRetain --> currentRetain - // nextNextRetain --> nextRetain - for (int i = 0; i < K[layer] - 1; i++) - { - this.currentRetain[layer][i] = this.nextRetain[layer - 1][i]; - this.nextRetain[layer - 1][i] = this.nextNextRoot[layer - 1] - .getRetain()[i]; - } - - // nextStack --> currentStack - this.currentStack[layer] = this.nextStack[layer - 1]; - // nextNextStack --> nextStack - this.nextStack[layer - 1] = this.nextNextRoot[layer - 1] - .getStack(); - - // nextNextRoot --> nextRoot - this.nextRoot[layer - 1] = this.nextNextRoot[layer - 1] - .getRoot(); - // ----------------------- - - // ----------------- - byte[] OTSseed = new byte[mdLength]; - byte[] dummy = new byte[mdLength]; - // gmssRandom.setSeed(currentSeeds[layer]); - System - .arraycopy(currentSeeds[layer - 1], 0, dummy, 0, - mdLength); - OTSseed = gmssRandom.nextSeed(dummy); // only need OTSSeed - OTSseed = gmssRandom.nextSeed(dummy); - OTSseed = gmssRandom.nextSeed(dummy); - // nextWinSig[layer-1]=new - // GMSSWinSig(OTSseed,algNames,otsIndex[layer-1],heightOfTrees[layer],nextRoot[layer-1]); - nextRootSig[layer - 1].initSign(OTSseed, nextRoot[layer - 1]); - - // nextKey for upper layer - nextKey(layer - 1); - } - } - } - - /** - * This method computes the authpath (AUTH) for the current tree, - * Additionally the root signature for the next tree (SIG+), the authpath - * (AUTH++) and root (ROOT++) for the tree after next in layer - * layer, and the LEAF++^1 for the next next tree in the - * layer above are updated This method is used by nextKey() - * - * @param layer - */ - private void updateKey(int layer) - { - // ----------current tree processing of actual layer--------- - // compute upcoming authpath for current Tree (AUTH) - computeAuthPaths(layer); - - // -----------distributed calculations part------------ - // not for highest tree layer - if (layer > 0) - { - - // compute (partial) next leaf on TREE++ (not on layer 1 and 0) - if (layer > 1) - { - nextNextLeaf[layer - 1 - 1] = nextNextLeaf[layer - 1 - 1].nextLeaf(); - } - - // compute (partial) next leaf on tree above (not on layer 0) - upperLeaf[layer - 1] = upperLeaf[layer - 1].nextLeaf(); - - // compute (partial) next leaf for all treehashs on tree above (not - // on layer 0) - - int t = (int)Math - .floor((double)(this.getNumLeafs(layer) * 2) - / (double)(this.heightOfTrees[layer - 1] - this.K[layer - 1])); - - if (index[layer] % t == 1) - { - // System.out.println(" layer: " + layer + " index: " + - // index[layer] + " t : " + t); - - // take precomputed node for treehash update - // ------------------------------------------------ - if (index[layer] > 1 && minTreehash[layer - 1] >= 0) - { - byte[] leaf = this.upperTreehashLeaf[layer - 1].getLeaf(); - // if update is required use the precomputed leaf to update - // treehash - try - { - currentTreehash[layer - 1][minTreehash[layer - 1]] - .update(this.gmssRandom, leaf); - // System.out.println("Updated TH " + minTreehash[layer - // - 1]); - if (currentTreehash[layer - 1][minTreehash[layer - 1]] - .wasFinished()) - { - // System.out.println("Finished TH " + - // minTreehash[layer - 1]); - } - } - catch (Exception e) - { - System.out.println(e); - } - // ------------------------------------------------ - } - - // initialize next leaf precomputation - // ------------------------------------------------ - - // get lowest index of treehashs - this.minTreehash[layer - 1] = getMinTreehashIndex(layer - 1); - - if (this.minTreehash[layer - 1] >= 0) - { - // initialize leaf - byte[] seed = this.currentTreehash[layer - 1][this.minTreehash[layer - 1]] - .getSeedActive(); - this.upperTreehashLeaf[layer - 1] = new GMSSLeaf( - this.digestProvider.get(), this.otsIndex[layer - 1], t, seed); - this.upperTreehashLeaf[layer - 1] = this.upperTreehashLeaf[layer - 1].nextLeaf(); - // System.out.println("restarted treehashleaf (" + (layer - - // 1) + "," + this.minTreehash[layer - 1] + ")"); - } - // ------------------------------------------------ - - } - else - { - // update the upper leaf for the treehash one step - if (this.minTreehash[layer - 1] >= 0) - { - this.upperTreehashLeaf[layer - 1] = this.upperTreehashLeaf[layer - 1].nextLeaf(); - // if (minTreehash[layer - 1] > 3) - // System.out.print("#"); - } - } - - // compute (partial) the signature of ROOT+ (RootSig+) (not on top - // layer) - nextRootSig[layer - 1].updateSign(); - - // compute (partial) AUTHPATH++ & ROOT++ (not on top layer) - if (index[layer] == 1) - { - // init root and authpath calculation for tree after next - // (AUTH++, ROOT++) - this.nextNextRoot[layer - 1].initialize(new Vector()); - } - - // update root and authpath calculation for tree after next (AUTH++, - // ROOT++) - this.updateNextNextAuthRoot(layer); - } - // ----------- end distributed calculations part----------------- - } - - /** - * This method returns the index of the next Treehash instance that should - * receive an update - * - * @param layer the layer of the GMSS tree - * @return index of the treehash instance that should get the update - */ - private int getMinTreehashIndex(int layer) - { - int minTreehash = -1; - for (int h = 0; h < heightOfTrees[layer] - K[layer]; h++) - { - if (currentTreehash[layer][h].wasInitialized() - && !currentTreehash[layer][h].wasFinished()) - { - if (minTreehash == -1) - { - minTreehash = h; - } - else if (currentTreehash[layer][h].getLowestNodeHeight() < currentTreehash[layer][minTreehash] - .getLowestNodeHeight()) - { - minTreehash = h; - } - } - } - return minTreehash; - } - - /** - * Computes the upcoming currentAuthpath of layer layer using - * the revisited authentication path computation of Dahmen/Schneider 2008 - * - * @param layer the actual layer - */ - private void computeAuthPaths(int layer) - { - - int Phi = index[layer]; - int H = heightOfTrees[layer]; - int K = this.K[layer]; - - // update all nextSeeds for seed scheduling - for (int i = 0; i < H - K; i++) - { - currentTreehash[layer][i].updateNextSeed(gmssRandom); - } - - // STEP 1 of Algorithm - int Tau = heightOfPhi(Phi); - - byte[] OTSseed = new byte[mdLength]; - OTSseed = gmssRandom.nextSeed(currentSeeds[layer]); - - // STEP 2 of Algorithm - // if phi's parent on height tau + 1 if left node, store auth_tau - // in keep_tau. - // TODO check it, formerly was - // int L = Phi / (int) Math.floor(Math.pow(2, Tau + 1)); - // L %= 2; - int L = (Phi >>> (Tau + 1)) & 1; - - byte[] tempKeep = new byte[mdLength]; - // store the keep node not in keep[layer][tau/2] because it might be in - // use - // wait until the space is freed in step 4a - if (Tau < H - 1 && L == 0) - { - System.arraycopy(currentAuthPaths[layer][Tau], 0, tempKeep, 0, - mdLength); - } - - byte[] help = new byte[mdLength]; - // STEP 3 of Algorithm - // if phi is left child, compute and store leaf for next currentAuthPath - // path, - // (obtained by veriying current signature) - if (Tau == 0) - { - // LEAFCALC !!! - if (layer == numLayer - 1) - { // lowest layer computes the - // necessary leaf completely at this - // time - WinternitzOTSignature ots = new WinternitzOTSignature(OTSseed, - digestProvider.get(), otsIndex[layer]); - help = ots.getPublicKey(); - } - else - { // other layers use the precomputed leafs in - // nextNextLeaf - byte[] dummy = new byte[mdLength]; - System.arraycopy(currentSeeds[layer], 0, dummy, 0, mdLength); - gmssRandom.nextSeed(dummy); - help = upperLeaf[layer].getLeaf(); - this.upperLeaf[layer].initLeafCalc(dummy); - - // WinternitzOTSVerify otsver = new - // WinternitzOTSVerify(algNames, otsIndex[layer]); - // byte[] help2 = otsver.Verify(currentRoot[layer], - // currentRootSig[layer]); - // System.out.println(" --- " + layer + " " + - // ByteUtils.toHexString(help) + " " + - // ByteUtils.toHexString(help2)); - } - System.arraycopy(help, 0, currentAuthPaths[layer][0], 0, mdLength); - } - else - { - // STEP 4a of Algorithm - // get new left currentAuthPath node on height tau - byte[] toBeHashed = new byte[mdLength << 1]; - System.arraycopy(currentAuthPaths[layer][Tau - 1], 0, toBeHashed, - 0, mdLength); - // free the shared keep[layer][tau/2] - System.arraycopy(keep[layer][(int)Math.floor((Tau - 1) / 2)], 0, - toBeHashed, mdLength, mdLength); - messDigestTrees.update(toBeHashed, 0, toBeHashed.length); - currentAuthPaths[layer][Tau] = new byte[messDigestTrees.getDigestSize()]; - messDigestTrees.doFinal(currentAuthPaths[layer][Tau], 0); - - // STEP 4b and 4c of Algorithm - // copy right nodes to currentAuthPath on height 0..Tau-1 - for (int i = 0; i < Tau; i++) - { - - // STEP 4b of Algorithm - // 1st: copy from treehashs - if (i < H - K) - { - if (currentTreehash[layer][i].wasFinished()) - { - System.arraycopy(currentTreehash[layer][i] - .getFirstNode(), 0, currentAuthPaths[layer][i], - 0, mdLength); - currentTreehash[layer][i].destroy(); - } - else - { - System.err - .println("Treehash (" - + layer - + "," - + i - + ") not finished when needed in AuthPathComputation"); - } - } - - // 2nd: copy precomputed values from Retain - if (i < H - 1 && i >= H - K) - { - if (currentRetain[layer][i - (H - K)].size() > 0) - { - // pop element from retain - System.arraycopy(currentRetain[layer][i - (H - K)] - .lastElement(), 0, currentAuthPaths[layer][i], - 0, mdLength); - currentRetain[layer][i - (H - K)] - .removeElementAt(currentRetain[layer][i - - (H - K)].size() - 1); - } - } - - // STEP 4c of Algorithm - // initialize new stack at heights 0..Tau-1 - if (i < H - K) - { - // create stacks anew - int startPoint = Phi + 3 * (1 << i); - if (startPoint < numLeafs[layer]) - { - // if (layer < 2) { - // System.out.println("initialized TH " + i + " on layer - // " + layer); - // } - currentTreehash[layer][i].initialize(); - } - } - } - } - - // now keep space is free to use - if (Tau < H - 1 && L == 0) - { - System.arraycopy(tempKeep, 0, - keep[layer][(int)Math.floor(Tau / 2)], 0, mdLength); - } - - // only update empty stack at height h if all other stacks have - // tailnodes with height >h - // finds active stack with lowest node height, choses lower index in - // case of tie - - // on the lowest layer leafs must be computed at once, no precomputation - // is possible. So all treehash updates are done at once here - if (layer == numLayer - 1) - { - for (int tmp = 1; tmp <= (H - K) / 2; tmp++) - { - // index of the treehash instance that receives the next update - int minTreehash = getMinTreehashIndex(layer); - - // if active treehash is found update with a leaf - if (minTreehash >= 0) - { - try - { - byte[] seed = new byte[mdLength]; - System.arraycopy( - this.currentTreehash[layer][minTreehash] - .getSeedActive(), 0, seed, 0, mdLength); - byte[] seed2 = gmssRandom.nextSeed(seed); - WinternitzOTSignature ots = new WinternitzOTSignature( - seed2, this.digestProvider.get(), this.otsIndex[layer]); - byte[] leaf = ots.getPublicKey(); - currentTreehash[layer][minTreehash].update( - this.gmssRandom, leaf); - } - catch (Exception e) - { - System.out.println(e); - } - } - } - } - else - { // on higher layers the updates are done later - this.minTreehash[layer] = getMinTreehashIndex(layer); - } - } - - /** - * Returns the largest h such that 2^h | Phi - * - * @param Phi the leaf index - * @return The largest h with 2^h | Phi if - * Phi!=0 else return -1 - */ - private int heightOfPhi(int Phi) - { - if (Phi == 0) - { - return -1; - } - int Tau = 0; - int modul = 1; - while (Phi % modul == 0) - { - modul *= 2; - Tau += 1; - } - return Tau - 1; - } - - /** - * Updates the authentication path and root calculation for the tree after - * next (AUTH++, ROOT++) in layer layer - * - * @param layer - */ - private void updateNextNextAuthRoot(int layer) - { - - byte[] OTSseed = new byte[mdLength]; - OTSseed = gmssRandom.nextSeed(nextNextSeeds[layer - 1]); - - // get the necessary leaf - if (layer == numLayer - 1) - { // lowest layer computes the necessary - // leaf completely at this time - WinternitzOTSignature ots = new WinternitzOTSignature(OTSseed, - digestProvider.get(), otsIndex[layer]); - this.nextNextRoot[layer - 1].update(nextNextSeeds[layer - 1], ots - .getPublicKey()); - } - else - { // other layers use the precomputed leafs in nextNextLeaf - this.nextNextRoot[layer - 1].update(nextNextSeeds[layer - 1], nextNextLeaf[layer - 1].getLeaf()); - this.nextNextLeaf[layer - 1].initLeafCalc(nextNextSeeds[layer - 1]); - } - } - - public int[] getIndex() - { - return index; - } - - /** - * @return The current index of layer i - */ - public int getIndex(int i) - { - return index[i]; - } - - public byte[][] getCurrentSeeds() - { - return Arrays.clone(currentSeeds); - } - - public byte[][][] getCurrentAuthPaths() - { - return Arrays.clone(currentAuthPaths); - } - - /** - * @return The one-time signature of the root of the current subtree - */ - public byte[] getSubtreeRootSig(int i) - { - return currentRootSig[i]; - } - - - public GMSSDigestProvider getName() - { - return digestProvider; - } - - /** - * @return The number of leafs of each tree of layer i - */ - public int getNumLeafs(int i) - { - return numLeafs[i]; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPublicKeyParameters.java deleted file mode 100644 index 381ed00b0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSPublicKeyParameters.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - - -public class GMSSPublicKeyParameters - extends GMSSKeyParameters -{ - /** - * The GMSS public key - */ - private byte[] gmssPublicKey; - - /** - * The constructor. - * - * @param key a raw GMSS public key - * @param gmssParameterSet an instance of GMSSParameterset - */ - public GMSSPublicKeyParameters(byte[] key, GMSSParameters gmssParameterSet) - { - super(false, gmssParameterSet); - this.gmssPublicKey = key; - } - - /** - * Returns the GMSS public key - * - * @return The GMSS public key - */ - public byte[] getPublicKey() - { - return gmssPublicKey; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootCalc.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootCalc.java deleted file mode 100644 index 88e87e9c6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootCalc.java +++ /dev/null @@ -1,596 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Integers; -import org.spongycastle.util.encoders.Hex; - - -/** - * This class computes a whole Merkle tree and saves the needed values for - * AuthPath computation. It is used for precomputation of the root of a - * following tree. After initialization, 2^H updates are required to complete - * the root. Every update requires one leaf value as parameter. While computing - * the root all initial values for the authentication path algorithm (treehash, - * auth, retain) are stored for later use. - */ -public class GMSSRootCalc -{ - - /** - * max height of the tree - */ - private int heightOfTree; - - /** - * length of the messageDigest - */ - private int mdLength; - - /** - * the treehash instances of the tree - */ - private Treehash[] treehash; - - /** - * stores the retain nodes for authPath computation - */ - private Vector[] retain; - - /** - * finally stores the root of the tree when finished - */ - private byte[] root; - - /** - * stores the authentication path y_1(i), i = 0..H-1 - */ - private byte[][] AuthPath; - - /** - * the value K for the authentication path computation - */ - private int K; - - /** - * Vector element that stores the nodes on the stack - */ - private Vector tailStack; - - /** - * stores the height of all nodes laying on the tailStack - */ - private Vector heightOfNodes; - /** - * The hash function used for the construction of the authentication trees - */ - private Digest messDigestTree; - - /** - * An array of strings containing the name of the hash function used to - * construct the authentication trees and used by the OTS. - */ - private GMSSDigestProvider digestProvider; - - /** - * stores the index of the current node on each height of the tree - */ - private int[] index; - - /** - * true if instance was already initialized, false otherwise - */ - private boolean isInitialized; - - /** - * true it instance was finished - */ - private boolean isFinished; - - /** - * Integer that stores the index of the next seed that has to be omitted to - * the treehashs - */ - private int indexForNextSeed; - - /** - * temporary integer that stores the height of the next treehash instance - * that gets initialized with a seed - */ - private int heightOfNextSeed; - - /** - * This constructor regenerates a prior treehash object - * - * @param digest an array of strings, containing the digest of the used hash - * function and PRNG and the digest of the corresponding - * provider - * @param statByte status bytes - * @param statInt status ints - */ - public GMSSRootCalc(Digest digest, byte[][] statByte, int[] statInt, - Treehash[] treeH, Vector[] ret) - { - this.messDigestTree = digestProvider.get(); - this.digestProvider = digestProvider; - // decode statInt - this.heightOfTree = statInt[0]; - this.mdLength = statInt[1]; - this.K = statInt[2]; - this.indexForNextSeed = statInt[3]; - this.heightOfNextSeed = statInt[4]; - if (statInt[5] == 1) - { - this.isFinished = true; - } - else - { - this.isFinished = false; - } - if (statInt[6] == 1) - { - this.isInitialized = true; - } - else - { - this.isInitialized = false; - } - - int tailLength = statInt[7]; - - this.index = new int[heightOfTree]; - for (int i = 0; i < heightOfTree; i++) - { - this.index[i] = statInt[8 + i]; - } - - this.heightOfNodes = new Vector(); - for (int i = 0; i < tailLength; i++) - { - this.heightOfNodes.addElement(Integers.valueOf(statInt[8 + heightOfTree - + i])); - } - - // decode statByte - this.root = statByte[0]; - - this.AuthPath = new byte[heightOfTree][mdLength]; - for (int i = 0; i < heightOfTree; i++) - { - this.AuthPath[i] = statByte[1 + i]; - } - - this.tailStack = new Vector(); - for (int i = 0; i < tailLength; i++) - { - this.tailStack.addElement(statByte[1 + heightOfTree + i]); - } - - // decode treeH - this.treehash = GMSSUtils.clone(treeH); - - // decode ret - this.retain = GMSSUtils.clone(ret); - } - - /** - * Constructor - * - * @param heightOfTree maximal height of the tree - * @param digestProvider an array of strings, containing the name of the used hash - * function and PRNG and the name of the corresponding - * provider - */ - public GMSSRootCalc(int heightOfTree, int K, GMSSDigestProvider digestProvider) - { - this.heightOfTree = heightOfTree; - this.digestProvider = digestProvider; - this.messDigestTree = digestProvider.get(); - this.mdLength = messDigestTree.getDigestSize(); - this.K = K; - this.index = new int[heightOfTree]; - this.AuthPath = new byte[heightOfTree][mdLength]; - this.root = new byte[mdLength]; - // this.treehash = new Treehash[this.heightOfTree - this.K]; - this.retain = new Vector[this.K - 1]; - for (int i = 0; i < K - 1; i++) - { - this.retain[i] = new Vector(); - } - - } - - /** - * Initializes the calculation of a new root - * - * @param sharedStack the stack shared by all treehash instances of this tree - */ - public void initialize(Vector sharedStack) - { - this.treehash = new Treehash[this.heightOfTree - this.K]; - for (int i = 0; i < this.heightOfTree - this.K; i++) - { - this.treehash[i] = new Treehash(sharedStack, i, this.digestProvider.get()); - } - - this.index = new int[heightOfTree]; - this.AuthPath = new byte[heightOfTree][mdLength]; - this.root = new byte[mdLength]; - - this.tailStack = new Vector(); - this.heightOfNodes = new Vector(); - this.isInitialized = true; - this.isFinished = false; - - for (int i = 0; i < heightOfTree; i++) - { - this.index[i] = -1; - } - - this.retain = new Vector[this.K - 1]; - for (int i = 0; i < K - 1; i++) - { - this.retain[i] = new Vector(); - } - - this.indexForNextSeed = 3; - this.heightOfNextSeed = 0; - } - - /** - * updates the root with one leaf and stores needed values in retain, - * treehash or authpath. Additionally counts the seeds used. This method is - * used when performing the updates for TREE++. - * - * @param seed the initial seed for treehash: seedNext - * @param leaf the height of the treehash - */ - public void update(byte[] seed, byte[] leaf) - { - if (this.heightOfNextSeed < (this.heightOfTree - this.K) - && this.indexForNextSeed - 2 == index[0]) - { - this.initializeTreehashSeed(seed, this.heightOfNextSeed); - this.heightOfNextSeed++; - this.indexForNextSeed *= 2; - } - // now call the simple update - this.update(leaf); - } - - /** - * Updates the root with one leaf and stores the needed values in retain, - * treehash or authpath - */ - public void update(byte[] leaf) - { - - if (isFinished) - { - System.out.print("Too much updates for Tree!!"); - return; - } - if (!isInitialized) - { - System.err.println("GMSSRootCalc not initialized!"); - return; - } - - // a new leaf was omitted, so raise index on lowest layer - index[0]++; - - // store the nodes on the lowest layer in treehash or authpath - if (index[0] == 1) - { - System.arraycopy(leaf, 0, AuthPath[0], 0, mdLength); - } - else if (index[0] == 3) - { - // store in treehash only if K < H - if (heightOfTree > K) - { - treehash[0].setFirstNode(leaf); - } - } - - if ((index[0] - 3) % 2 == 0 && index[0] >= 3) - { - // store in retain if K = H - if (heightOfTree == K) - // TODO: check it - { - retain[0].insertElementAt(leaf, 0); - } - } - - // if first update to this tree is made - if (index[0] == 0) - { - tailStack.addElement(leaf); - heightOfNodes.addElement(Integers.valueOf(0)); - } - else - { - - byte[] help = new byte[mdLength]; - byte[] toBeHashed = new byte[mdLength << 1]; - - // store the new leaf in help - System.arraycopy(leaf, 0, help, 0, mdLength); - int helpHeight = 0; - // while top to nodes have same height - while (tailStack.size() > 0 - && helpHeight == ((Integer)heightOfNodes.lastElement()) - .intValue()) - { - - // help <-- hash(stack top element || help) - System.arraycopy(tailStack.lastElement(), 0, toBeHashed, 0, - mdLength); - tailStack.removeElementAt(tailStack.size() - 1); - heightOfNodes.removeElementAt(heightOfNodes.size() - 1); - System.arraycopy(help, 0, toBeHashed, mdLength, mdLength); - - messDigestTree.update(toBeHashed, 0, toBeHashed.length); - help = new byte[messDigestTree.getDigestSize()]; - messDigestTree.doFinal(help, 0); - - // the new help node is one step higher - helpHeight++; - if (helpHeight < heightOfTree) - { - index[helpHeight]++; - - // add index 1 element to initial authpath - if (index[helpHeight] == 1) - { - System.arraycopy(help, 0, AuthPath[helpHeight], 0, - mdLength); - } - - if (helpHeight >= heightOfTree - K) - { - if (helpHeight == 0) - { - System.out.println("M���P"); - } - // add help element to retain stack if it is a right - // node - // and not stored in treehash - if ((index[helpHeight] - 3) % 2 == 0 - && index[helpHeight] >= 3) - // TODO: check it - { - retain[helpHeight - (heightOfTree - K)] - .insertElementAt(help, 0); - } - } - else - { - // if element is third in his line add it to treehash - if (index[helpHeight] == 3) - { - treehash[helpHeight].setFirstNode(help); - } - } - } - } - // push help element to the stack - tailStack.addElement(help); - heightOfNodes.addElement(Integers.valueOf(helpHeight)); - - // is the root calculation finished? - if (helpHeight == heightOfTree) - { - isFinished = true; - isInitialized = false; - root = (byte[])tailStack.lastElement(); - } - } - - } - - /** - * initializes the seeds for the treehashs of the tree precomputed by this - * class - * - * @param seed the initial seed for treehash: seedNext - * @param index the height of the treehash - */ - public void initializeTreehashSeed(byte[] seed, int index) - { - treehash[index].initializeSeed(seed); - } - - /** - * Method to check whether the instance has been initialized or not - * - * @return true if treehash was already initialized - */ - public boolean wasInitialized() - { - return isInitialized; - } - - /** - * Method to check whether the instance has been finished or not - * - * @return true if tree has reached its maximum height - */ - public boolean wasFinished() - { - return isFinished; - } - - /** - * returns the authentication path of the first leaf of the tree - * - * @return the authentication path of the first leaf of the tree - */ - public byte[][] getAuthPath() - { - return GMSSUtils.clone(AuthPath); - } - - /** - * returns the initial treehash instances, storing value y_3(i) - * - * @return the initial treehash instances, storing value y_3(i) - */ - public Treehash[] getTreehash() - { - return GMSSUtils.clone(treehash); - } - - /** - * returns the retain stacks storing all right nodes near to the root - * - * @return the retain stacks storing all right nodes near to the root - */ - public Vector[] getRetain() - { - return GMSSUtils.clone(retain); - } - - /** - * returns the finished root value - * - * @return the finished root value - */ - public byte[] getRoot() - { - return Arrays.clone(root); - } - - /** - * returns the shared stack - * - * @return the shared stack - */ - public Vector getStack() - { - Vector copy = new Vector(); - for (Enumeration en = tailStack.elements(); en.hasMoreElements();) - { - copy.addElement(en.nextElement()); - } - return copy; - } - - /** - * Returns the status byte array used by the GMSSPrivateKeyASN.1 class - * - * @return The status bytes - */ - public byte[][] getStatByte() - { - - int tailLength; - if (tailStack == null) - { - tailLength = 0; - } - else - { - tailLength = tailStack.size(); - } - byte[][] statByte = new byte[1 + heightOfTree + tailLength][64]; //FIXME: messDigestTree.getByteLength() - statByte[0] = root; - - for (int i = 0; i < heightOfTree; i++) - { - statByte[1 + i] = AuthPath[i]; - } - for (int i = 0; i < tailLength; i++) - { - statByte[1 + heightOfTree + i] = (byte[])tailStack.elementAt(i); - } - - return statByte; - } - - /** - * Returns the status int array used by the GMSSPrivateKeyASN.1 class - * - * @return The status ints - */ - public int[] getStatInt() - { - - int tailLength; - if (tailStack == null) - { - tailLength = 0; - } - else - { - tailLength = tailStack.size(); - } - int[] statInt = new int[8 + heightOfTree + tailLength]; - statInt[0] = heightOfTree; - statInt[1] = mdLength; - statInt[2] = K; - statInt[3] = indexForNextSeed; - statInt[4] = heightOfNextSeed; - if (isFinished) - { - statInt[5] = 1; - } - else - { - statInt[5] = 0; - } - if (isInitialized) - { - statInt[6] = 1; - } - else - { - statInt[6] = 0; - } - statInt[7] = tailLength; - - for (int i = 0; i < heightOfTree; i++) - { - statInt[8 + i] = index[i]; - } - for (int i = 0; i < tailLength; i++) - { - statInt[8 + heightOfTree + i] = ((Integer)heightOfNodes - .elementAt(i)).intValue(); - } - - return statInt; - } - - /** - * @return a human readable version of the structure - */ - public String toString() - { - String out = ""; - int tailLength; - if (tailStack == null) - { - tailLength = 0; - } - else - { - tailLength = tailStack.size(); - } - - for (int i = 0; i < 8 + heightOfTree + tailLength; i++) - { - out = out + getStatInt()[i] + " "; - } - for (int i = 0; i < 1 + heightOfTree + tailLength; i++) - { - out = out + new String(Hex.encode(getStatByte()[i])) + " "; - } - out = out + " " + digestProvider.get().getDigestSize(); - return out; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootSig.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootSig.java deleted file mode 100644 index f08529cfd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSRootSig.java +++ /dev/null @@ -1,666 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.util.encoders.Hex; - - -/** - * This class implements the distributed signature generation of the Winternitz - * one-time signature scheme (OTSS), described in C.Dods, N.P. Smart, and M. - * Stam, "Hash Based Digital Signature Schemes", LNCS 3796, pages 96–115, - * 2005. The class is used by the GMSS classes. - */ -public class GMSSRootSig -{ - - /** - * The hash function used by the OTS - */ - private Digest messDigestOTS; - - /** - * The length of the message digest and private key - */ - private int mdsize, keysize; - - /** - * The private key - */ - private byte[] privateKeyOTS; - - /** - * The message bytes - */ - private byte[] hash; - - /** - * The signature bytes - */ - private byte[] sign; - - /** - * The Winternitz parameter - */ - private int w; - - /** - * The source of randomness for OTS private key generation - */ - private GMSSRandom gmssRandom; - - /** - * Sizes of the message - */ - private int messagesize; - - /** - * Some precalculated values - */ - private int k; - - /** - * Some variables for storing the actual status of distributed signing - */ - private int r, test, counter, ii; - - /** - * variables for storing big numbers for the actual status of distributed - * signing - */ - private long test8, big8; - - /** - * The necessary steps of each updateSign() call - */ - private int steps; - - /** - * The checksum part - */ - private int checksum; - - /** - * The height of the tree - */ - private int height; - - /** - * The current intern OTSseed - */ - private byte[] seed; - - /** - * This constructor regenerates a prior GMSSRootSig object used by the - * GMSSPrivateKeyASN.1 class - * - * @param digest an array of strings, containing the digest of the used hash - * function, the digest of the PRGN and the names of the - * corresponding providers - * @param statByte status byte array - * @param statInt status int array - */ - public GMSSRootSig(Digest digest, byte[][] statByte, int[] statInt) - { - messDigestOTS = digest; - gmssRandom = new GMSSRandom(messDigestOTS); - - this.counter = statInt[0]; - this.test = statInt[1]; - this.ii = statInt[2]; - this.r = statInt[3]; - this.steps = statInt[4]; - this.keysize = statInt[5]; - this.height = statInt[6]; - this.w = statInt[7]; - this.checksum = statInt[8]; - - this.mdsize = messDigestOTS.getDigestSize(); - - this.k = (1 << w) - 1; - - int mdsizeBit = mdsize << 3; - this.messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - - this.privateKeyOTS = statByte[0]; - this.seed = statByte[1]; - this.hash = statByte[2]; - - this.sign = statByte[3]; - - this.test8 = ((statByte[4][0] & 0xff)) - | ((long)(statByte[4][1] & 0xff) << 8) - | ((long)(statByte[4][2] & 0xff) << 16) - | ((long)(statByte[4][3] & 0xff)) << 24 - | ((long)(statByte[4][4] & 0xff)) << 32 - | ((long)(statByte[4][5] & 0xff)) << 40 - | ((long)(statByte[4][6] & 0xff)) << 48 - | ((long)(statByte[4][7] & 0xff)) << 56; - - this.big8 = ((statByte[4][8] & 0xff)) - | ((long)(statByte[4][9] & 0xff) << 8) - | ((long)(statByte[4][10] & 0xff) << 16) - | ((long)(statByte[4][11] & 0xff)) << 24 - | ((long)(statByte[4][12] & 0xff)) << 32 - | ((long)(statByte[4][13] & 0xff)) << 40 - | ((long)(statByte[4][14] & 0xff)) << 48 - | ((long)(statByte[4][15] & 0xff)) << 56; - } - - /** - * The constructor generates the PRNG and initializes some variables - * - * @param digest an array of strings, containing the digest of the used hash - * function, the digest of the PRGN and the names of the - * corresponding providers - * @param w the winternitz parameter - * @param height the heigth of the tree - */ - public GMSSRootSig(Digest digest, int w, int height) - { - messDigestOTS = digest; - gmssRandom = new GMSSRandom(messDigestOTS); - - this.mdsize = messDigestOTS.getDigestSize(); - this.w = w; - this.height = height; - - this.k = (1 << w) - 1; - - int mdsizeBit = mdsize << 3; - this.messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - } - - /** - * This method initializes the distributed sigature calculation. Variables - * are reseted and necessary steps are calculated - * - * @param seed0 the initial OTSseed - * @param message the massage which will be signed - */ - public void initSign(byte[] seed0, byte[] message) - { - - // create hash of message m - this.hash = new byte[mdsize]; - messDigestOTS.update(message, 0, message.length); - this.hash = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(this.hash, 0); - - // variables for calculation of steps - byte[] messPart = new byte[mdsize]; - System.arraycopy(hash, 0, messPart, 0, mdsize); - int checkPart = 0; - int sumH = 0; - int checksumsize = getLog((messagesize << w) + 1); - - // ------- calculation of necessary steps ------ - if (8 % w == 0) - { - int dt = 8 / w; - // message part - for (int a = 0; a < mdsize; a++) - { - // count necessary hashs in 'sumH' - for (int b = 0; b < dt; b++) - { - sumH += messPart[a] & k; - messPart[a] = (byte)(messPart[a] >>> w); - } - } - // checksum part - this.checksum = (messagesize << w) - sumH; - checkPart = checksum; - // count necessary hashs in 'sumH' - for (int b = 0; b < checksumsize; b += w) - { - sumH += checkPart & k; - checkPart >>>= w; - } - } // end if ( 8 % w == 0 ) - else if (w < 8) - { - long big8; - int ii = 0; - int dt = mdsize / w; - - // first d*w bytes of hash (main message part) - for (int i = 0; i < dt; i++) - { - big8 = 0; - for (int j = 0; j < w; j++) - { - big8 ^= (messPart[ii] & 0xff) << (j << 3); - ii++; - } - // count necessary hashs in 'sumH' - for (int j = 0; j < 8; j++) - { - sumH += (int)(big8 & k); - big8 >>>= w; - } - } - // rest of message part - dt = mdsize % w; - big8 = 0; - for (int j = 0; j < dt; j++) - { - big8 ^= (messPart[ii] & 0xff) << (j << 3); - ii++; - } - dt <<= 3; - // count necessary hashs in 'sumH' - for (int j = 0; j < dt; j += w) - { - sumH += (int)(big8 & k); - big8 >>>= w; - } - // checksum part - this.checksum = (messagesize << w) - sumH; - checkPart = checksum; - // count necessary hashs in 'sumH' - for (int i = 0; i < checksumsize; i += w) - { - sumH += checkPart & k; - checkPart >>>= w; - } - }// end if(w<8) - else if (w < 57) - { - long big8; - int r = 0; - int s, f, rest, ii; - - // first a*w bits of hash where a*w <= 8*mdsize < (a+1)*w (main - // message part) - while (r <= ((mdsize << 3) - w)) - { - s = r >>> 3; - rest = r % 8; - r += w; - f = (r + 7) >>> 3; - big8 = 0; - ii = 0; - for (int j = s; j < f; j++) - { - big8 ^= (messPart[j] & 0xff) << (ii << 3); - ii++; - } - big8 >>>= rest; - // count necessary hashs in 'sumH' - sumH += (big8 & k); - - } - // rest of message part - s = r >>> 3; - if (s < mdsize) - { - rest = r % 8; - big8 = 0; - ii = 0; - for (int j = s; j < mdsize; j++) - { - big8 ^= (messPart[j] & 0xff) << (ii << 3); - ii++; - } - - big8 >>>= rest; - // count necessary hashs in 'sumH' - sumH += (big8 & k); - } - // checksum part - this.checksum = (messagesize << w) - sumH; - checkPart = checksum; - // count necessary hashs in 'sumH' - for (int i = 0; i < checksumsize; i += w) - { - sumH += (checkPart & k); - checkPart >>>= w; - } - }// end if(w<57) - - // calculate keysize - this.keysize = messagesize - + (int)Math.ceil((double)checksumsize / (double)w); - - // calculate steps: 'keysize' times PRNG, 'sumH' times hashing, - // (1<steps steps of distributed signature - * calculaion - * - * @return true if signature is generated completly, else false - */ - public boolean updateSign() - { - // steps times do - - for (int s = 0; s < steps; s++) - { // do 'step' times - - if (counter < keysize) - { // generate the private key or perform - // the next hash - oneStep(); - } - if (counter == keysize) - {// finish - return true; - } - } - - return false; // leaf not finished yet - } - - /** - * @return The private OTS key - */ - public byte[] getSig() - { - - return sign; - } - - /** - * @return The one-time signature of the message, generated step by step - */ - private void oneStep() - { - // -------- if (8 % w == 0) ---------- - if (8 % w == 0) - { - if (test == 0) - { - // get current OTSprivateKey - this.privateKeyOTS = gmssRandom.nextSeed(seed); - // System.arraycopy(privateKeyOTS, 0, hlp, 0, mdsize); - - if (ii < mdsize) - { // for main message part - test = hash[ii] & k; - hash[ii] = (byte)(hash[ii] >>> w); - } - else - { // for checksum part - test = checksum & k; - checksum >>>= w; - } - } - else if (test > 0) - { // hash the private Key 'test' times (on - // time each step) - messDigestOTS.update(privateKeyOTS, 0, privateKeyOTS.length); - privateKeyOTS = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(privateKeyOTS, 0); - test--; - } - if (test == 0) - { // if all hashes done copy result to siganture - // array - System.arraycopy(privateKeyOTS, 0, sign, counter * mdsize, - mdsize); - counter++; - - if (counter % (8 / w) == 0) - { // raise array index for main - // massage part - ii++; - } - } - - }// ----- end if (8 % w == 0) ----- - // ---------- if ( w < 8 ) ---------------- - else if (w < 8) - { - - if (test == 0) - { - if (counter % 8 == 0 && ii < mdsize) - { // after every 8th "add - // to signature"-step - big8 = 0; - if (counter < ((mdsize / w) << 3)) - {// main massage - // (generate w*8 Bits - // every time) part - for (int j = 0; j < w; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - } - else - { // rest of massage part (once) - for (int j = 0; j < mdsize % w; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - } - } - if (counter == messagesize) - { // checksum part (once) - big8 = checksum; - } - - test = (int)(big8 & k); - // generate current OTSprivateKey - this.privateKeyOTS = gmssRandom.nextSeed(seed); - // System.arraycopy(privateKeyOTS, 0, hlp, 0, mdsize); - - } - else if (test > 0) - { // hash the private Key 'test' times (on - // time each step) - messDigestOTS.update(privateKeyOTS, 0, privateKeyOTS.length); - privateKeyOTS = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(privateKeyOTS, 0); - test--; - } - if (test == 0) - { // if all hashes done copy result to siganture - // array - System.arraycopy(privateKeyOTS, 0, sign, counter * mdsize, - mdsize); - big8 >>>= w; - counter++; - } - - }// ------- end if(w<8)-------------------------------- - // --------- if w < 57 ----------------------------- - else if (w < 57) - { - - if (test8 == 0) - { - int s, f, rest; - big8 = 0; - ii = 0; - rest = r % 8; - s = r >>> 3; - // --- message part--- - if (s < mdsize) - { - if (r <= ((mdsize << 3) - w)) - { // first message part - r += w; - f = (r + 7) >>> 3; - } - else - { // rest of message part (once) - f = mdsize; - r += w; - } - // generate long 'big8' with minimum w next bits of the - // message array - for (int i = s; i < f; i++) - { - big8 ^= (hash[i] & 0xff) << (ii << 3); - ii++; - } - // delete bits on the right side, which were used already by - // the last loop - big8 >>>= rest; - test8 = (big8 & k); - } - // --- checksum part - else - { - test8 = (checksum & k); - checksum >>>= w; - } - // generate current OTSprivateKey - this.privateKeyOTS = gmssRandom.nextSeed(seed); - // System.arraycopy(privateKeyOTS, 0, hlp, 0, mdsize); - - } - else if (test8 > 0) - { // hash the private Key 'test' times (on - // time each step) - messDigestOTS.update(privateKeyOTS, 0, privateKeyOTS.length); - privateKeyOTS = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(privateKeyOTS, 0); - test8--; - } - if (test8 == 0) - { // if all hashes done copy result to siganture - // array - System.arraycopy(privateKeyOTS, 0, sign, counter * mdsize, - mdsize); - counter++; - } - - } - } - - /** - * This method returns the least integer that is greater or equal to the - * logarithm to the base 2 of an integer intValue. - * - * @param intValue an integer - * @return The least integer greater or equal to the logarithm to the base 2 - * of intValue - */ - public int getLog(int intValue) - { - int log = 1; - int i = 2; - while (i < intValue) - { - i <<= 1; - log++; - } - return log; - } - - /** - * This method returns the status byte array - * - * @return statBytes - */ - public byte[][] getStatByte() - { - - byte[][] statByte = new byte[5][mdsize]; - statByte[0] = privateKeyOTS; - statByte[1] = seed; - statByte[2] = hash; - statByte[3] = sign; - statByte[4] = this.getStatLong(); - - return statByte; - } - - /** - * This method returns the status int array - * - * @return statInt - */ - public int[] getStatInt() - { - int[] statInt = new int[9]; - statInt[0] = counter; - statInt[1] = test; - statInt[2] = ii; - statInt[3] = r; - statInt[4] = steps; - statInt[5] = keysize; - statInt[6] = height; - statInt[7] = w; - statInt[8] = checksum; - return statInt; - } - - /** - * Converts the long parameters into byte arrays to store it in - * statByte-Array - */ - public byte[] getStatLong() - { - byte[] bytes = new byte[16]; - - bytes[0] = (byte)((test8) & 0xff); - bytes[1] = (byte)((test8 >> 8) & 0xff); - bytes[2] = (byte)((test8 >> 16) & 0xff); - bytes[3] = (byte)((test8 >> 24) & 0xff); - bytes[4] = (byte)((test8) >> 32 & 0xff); - bytes[5] = (byte)((test8 >> 40) & 0xff); - bytes[6] = (byte)((test8 >> 48) & 0xff); - bytes[7] = (byte)((test8 >> 56) & 0xff); - - bytes[8] = (byte)((big8) & 0xff); - bytes[9] = (byte)((big8 >> 8) & 0xff); - bytes[10] = (byte)((big8 >> 16) & 0xff); - bytes[11] = (byte)((big8 >> 24) & 0xff); - bytes[12] = (byte)((big8) >> 32 & 0xff); - bytes[13] = (byte)((big8 >> 40) & 0xff); - bytes[14] = (byte)((big8 >> 48) & 0xff); - bytes[15] = (byte)((big8 >> 56) & 0xff); - - return bytes; - } - - /** - * returns a string representation of the instance - * - * @return a string representation of the instance - */ - public String toString() - { - String out = "" + this.big8 + " "; - int[] statInt = new int[9]; - statInt = this.getStatInt(); - byte[][] statByte = new byte[5][mdsize]; - statByte = this.getStatByte(); - for (int i = 0; i < 9; i++) - { - out = out + statInt[i] + " "; - } - for (int i = 0; i < 5; i++) - { - out = out + new String(Hex.encode(statByte[i])) + " "; - } - - return out; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSSigner.java deleted file mode 100644 index 0bb04fa0c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSSigner.java +++ /dev/null @@ -1,404 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageSigner; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.pqc.crypto.gmss.util.GMSSUtil; -import org.spongycastle.pqc.crypto.gmss.util.WinternitzOTSVerify; -import org.spongycastle.pqc.crypto.gmss.util.WinternitzOTSignature; -import org.spongycastle.util.Arrays; - -/** - * This class implements the GMSS signature scheme. - */ -public class GMSSSigner - implements MessageSigner -{ - - /** - * Instance of GMSSParameterSpec - */ - //private GMSSParameterSpec gmssParameterSpec; - - /** - * Instance of GMSSUtilities - */ - private GMSSUtil gmssUtil = new GMSSUtil(); - - - /** - * The raw GMSS public key - */ - private byte[] pubKeyBytes; - - /** - * Hash function for the construction of the authentication trees - */ - private Digest messDigestTrees; - - /** - * The length of the hash function output - */ - private int mdLength; - - /** - * The number of tree layers - */ - private int numLayer; - - /** - * The hash function used by the OTS - */ - private Digest messDigestOTS; - - /** - * An instance of the Winternitz one-time signature - */ - private WinternitzOTSignature ots; - - /** - * Array of strings containing the name of the hash function used by the OTS - * and the corresponding provider name - */ - private GMSSDigestProvider digestProvider; - - /** - * The current main tree and subtree indices - */ - private int[] index; - - /** - * Array of the authentication paths for the current trees of all layers - */ - private byte[][][] currentAuthPaths; - - /** - * The one-time signature of the roots of the current subtrees - */ - private byte[][] subtreeRootSig; - - - /** - * The GMSSParameterset - */ - private GMSSParameters gmssPS; - - /** - * The PRNG - */ - private GMSSRandom gmssRandom; - - GMSSKeyParameters key; - - // XXX needed? Source of randomness - private SecureRandom random; - - - /** - * The standard constructor tries to generate the MerkleTree Algorithm - * identifier with the corresponding OID. - * - * @param digest the digest to use - */ - // TODO - public GMSSSigner(GMSSDigestProvider digest) - { - digestProvider = digest; - messDigestTrees = digest.get(); - messDigestOTS = messDigestTrees; - mdLength = messDigestTrees.getDigestSize(); - gmssRandom = new GMSSRandom(messDigestTrees); - } - - public void init(boolean forSigning, - CipherParameters param) - { - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - // XXX random needed? - this.random = rParam.getRandom(); - this.key = (GMSSPrivateKeyParameters)rParam.getParameters(); - initSign(); - - } - else - { - - this.random = new SecureRandom(); - this.key = (GMSSPrivateKeyParameters)param; - initSign(); - } - } - else - { - this.key = (GMSSPublicKeyParameters)param; - initVerify(); - - } - - } - - - /** - * Initializes the signature algorithm for signing a message. - */ - private void initSign() - { - messDigestTrees.reset(); - // set private key and take from it ots key, auth, tree and key - // counter, rootSign - GMSSPrivateKeyParameters gmssPrivateKey = (GMSSPrivateKeyParameters)key; - - if (gmssPrivateKey.isUsed()) - { - throw new IllegalStateException("Private key already used"); - } - - // check if last signature has been generated - if (gmssPrivateKey.getIndex(0) >= gmssPrivateKey.getNumLeafs(0)) - { - throw new IllegalStateException("No more signatures can be generated"); - } - - // get Parameterset - this.gmssPS = gmssPrivateKey.getParameters(); - // get numLayer - this.numLayer = gmssPS.getNumOfLayers(); - - // get OTS Instance of lowest layer - byte[] seed = gmssPrivateKey.getCurrentSeeds()[numLayer - 1]; - byte[] OTSSeed = new byte[mdLength]; - byte[] dummy = new byte[mdLength]; - System.arraycopy(seed, 0, dummy, 0, mdLength); - OTSSeed = gmssRandom.nextSeed(dummy); // secureRandom.nextBytes(currentSeeds[currentSeeds.length-1]);secureRandom.nextBytes(OTSseed); - this.ots = new WinternitzOTSignature(OTSSeed, digestProvider.get(), gmssPS.getWinternitzParameter()[numLayer - 1]); - - byte[][][] helpCurrentAuthPaths = gmssPrivateKey.getCurrentAuthPaths(); - currentAuthPaths = new byte[numLayer][][]; - - // copy the main tree authentication path - for (int j = 0; j < numLayer; j++) - { - currentAuthPaths[j] = new byte[helpCurrentAuthPaths[j].length][mdLength]; - for (int i = 0; i < helpCurrentAuthPaths[j].length; i++) - { - System.arraycopy(helpCurrentAuthPaths[j][i], 0, currentAuthPaths[j][i], 0, mdLength); - } - } - - // copy index - index = new int[numLayer]; - System.arraycopy(gmssPrivateKey.getIndex(), 0, index, 0, numLayer); - - // copy subtreeRootSig - byte[] helpSubtreeRootSig; - subtreeRootSig = new byte[numLayer - 1][]; - for (int i = 0; i < numLayer - 1; i++) - { - helpSubtreeRootSig = gmssPrivateKey.getSubtreeRootSig(i); - subtreeRootSig[i] = new byte[helpSubtreeRootSig.length]; - System.arraycopy(helpSubtreeRootSig, 0, subtreeRootSig[i], 0, helpSubtreeRootSig.length); - } - - gmssPrivateKey.markUsed(); - } - - /** - * Signs a message. - *

    - * - * @return the signature. - */ - public byte[] generateSignature(byte[] message) - { - - byte[] otsSig = new byte[mdLength]; - byte[] authPathBytes; - byte[] indexBytes; - - otsSig = ots.getSignature(message); - - // get concatenated lowest layer tree authentication path - authPathBytes = gmssUtil.concatenateArray(currentAuthPaths[numLayer - 1]); - - // put lowest layer index into a byte array - indexBytes = gmssUtil.intToBytesLittleEndian(index[numLayer - 1]); - - // create first part of GMSS signature - byte[] gmssSigFirstPart = new byte[indexBytes.length + otsSig.length + authPathBytes.length]; - System.arraycopy(indexBytes, 0, gmssSigFirstPart, 0, indexBytes.length); - System.arraycopy(otsSig, 0, gmssSigFirstPart, indexBytes.length, otsSig.length); - System.arraycopy(authPathBytes, 0, gmssSigFirstPart, (indexBytes.length + otsSig.length), authPathBytes.length); - // --- end first part - - // --- next parts of the signature - // create initial array with length 0 for iteration - byte[] gmssSigNextPart = new byte[0]; - - for (int i = numLayer - 1 - 1; i >= 0; i--) - { - - // get concatenated next tree authentication path - authPathBytes = gmssUtil.concatenateArray(currentAuthPaths[i]); - - // put next tree index into a byte array - indexBytes = gmssUtil.intToBytesLittleEndian(index[i]); - - // create next part of GMSS signature - - // create help array and copy actual gmssSig into it - byte[] helpGmssSig = new byte[gmssSigNextPart.length]; - System.arraycopy(gmssSigNextPart, 0, helpGmssSig, 0, gmssSigNextPart.length); - // adjust length of gmssSigNextPart for adding next part - gmssSigNextPart = new byte[helpGmssSig.length + indexBytes.length + subtreeRootSig[i].length + authPathBytes.length]; - - // copy old data (help array) and new data in gmssSigNextPart - System.arraycopy(helpGmssSig, 0, gmssSigNextPart, 0, helpGmssSig.length); - System.arraycopy(indexBytes, 0, gmssSigNextPart, helpGmssSig.length, indexBytes.length); - System.arraycopy(subtreeRootSig[i], 0, gmssSigNextPart, (helpGmssSig.length + indexBytes.length), subtreeRootSig[i].length); - System.arraycopy(authPathBytes, 0, gmssSigNextPart, (helpGmssSig.length + indexBytes.length + subtreeRootSig[i].length), authPathBytes.length); - - } - // --- end next parts - - // concatenate the two parts of the GMSS signature - byte[] gmssSig = new byte[gmssSigFirstPart.length + gmssSigNextPart.length]; - System.arraycopy(gmssSigFirstPart, 0, gmssSig, 0, gmssSigFirstPart.length); - System.arraycopy(gmssSigNextPart, 0, gmssSig, gmssSigFirstPart.length, gmssSigNextPart.length); - - // return the GMSS signature - return gmssSig; - } - - /** - * Initializes the signature algorithm for verifying a signature. - */ - private void initVerify() - { - messDigestTrees.reset(); - - GMSSPublicKeyParameters gmssPublicKey = (GMSSPublicKeyParameters)key; - pubKeyBytes = gmssPublicKey.getPublicKey(); - gmssPS = gmssPublicKey.getParameters(); - // get numLayer - this.numLayer = gmssPS.getNumOfLayers(); - - - } - - /** - * This function verifies the signature of the message that has been - * updated, with the aid of the public key. - * - * @param message the message - * @param signature the signature associated with the message - * @return true if the signature has been verified, false otherwise. - */ - public boolean verifySignature(byte[] message, byte[] signature) - { - - boolean success = false; - // int halfSigLength = signature.length >>> 1; - messDigestOTS.reset(); - WinternitzOTSVerify otsVerify; - int otsSigLength; - - byte[] help = message; - - byte[] otsSig; - byte[] otsPublicKey; - byte[][] authPath; - byte[] dest; - int nextEntry = 0; - int index; - // Verify signature - - // --- begin with message = 'message that was signed' - // and then in each step message = subtree root - for (int j = numLayer - 1; j >= 0; j--) - { - otsVerify = new WinternitzOTSVerify(digestProvider.get(), gmssPS.getWinternitzParameter()[j]); - otsSigLength = otsVerify.getSignatureLength(); - - message = help; - // get the subtree index - index = gmssUtil.bytesToIntLittleEndian(signature, nextEntry); - - // 4 is the number of bytes in integer - nextEntry += 4; - - // get one-time signature - otsSig = new byte[otsSigLength]; - System.arraycopy(signature, nextEntry, otsSig, 0, otsSigLength); - nextEntry += otsSigLength; - - // compute public OTS key from the one-time signature - otsPublicKey = otsVerify.Verify(message, otsSig); - - // test if OTSsignature is correct - if (otsPublicKey == null) - { - System.err.println("OTS Public Key is null in GMSSSignature.verify"); - return false; - } - - // get authentication path from the signature - authPath = new byte[gmssPS.getHeightOfTrees()[j]][mdLength]; - for (int i = 0; i < authPath.length; i++) - { - System.arraycopy(signature, nextEntry, authPath[i], 0, mdLength); - nextEntry = nextEntry + mdLength; - } - - // compute the root of the subtree from the authentication path - help = new byte[mdLength]; - - help = otsPublicKey; - - int count = 1 << authPath.length; - count = count + index; - - for (int i = 0; i < authPath.length; i++) - { - dest = new byte[mdLength << 1]; - - if ((count % 2) == 0) - { - System.arraycopy(help, 0, dest, 0, mdLength); - System.arraycopy(authPath[i], 0, dest, mdLength, mdLength); - count = count / 2; - } - else - { - System.arraycopy(authPath[i], 0, dest, 0, mdLength); - System.arraycopy(help, 0, dest, mdLength, help.length); - count = (count - 1) / 2; - } - messDigestTrees.update(dest, 0, dest.length); - help = new byte[messDigestTrees.getDigestSize()]; - messDigestTrees.doFinal(help, 0); - } - } - - // now help contains the root of the maintree - - // test if help is equal to the GMSS public key - if (Arrays.areEqual(pubKeyBytes, help)) - { - success = true; - } - - return success; - } - - -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSUtils.java deleted file mode 100644 index 1f79bdde1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/GMSSUtils.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.util.Enumeration; -import java.util.Vector; - -import org.spongycastle.util.Arrays; - -class GMSSUtils -{ - static GMSSLeaf[] clone(GMSSLeaf[] data) - { - if (data == null) - { - return null; - } - GMSSLeaf[] copy = new GMSSLeaf[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - static GMSSRootCalc[] clone(GMSSRootCalc[] data) - { - if (data == null) - { - return null; - } - GMSSRootCalc[] copy = new GMSSRootCalc[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - static GMSSRootSig[] clone(GMSSRootSig[] data) - { - if (data == null) - { - return null; - } - GMSSRootSig[] copy = new GMSSRootSig[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - static byte[][] clone(byte[][] data) - { - if (data == null) - { - return null; - } - byte[][] copy = new byte[data.length][]; - - for (int i = 0; i != data.length; i++) - { - copy[i] = Arrays.clone(data[i]); - } - - return copy; - } - - static byte[][][] clone(byte[][][] data) - { - if (data == null) - { - return null; - } - byte[][][] copy = new byte[data.length][][]; - - for (int i = 0; i != data.length; i++) - { - copy[i] = clone(data[i]); - } - - return copy; - } - - static Treehash[] clone(Treehash[] data) - { - if (data == null) - { - return null; - } - Treehash[] copy = new Treehash[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - static Treehash[][] clone(Treehash[][] data) - { - if (data == null) - { - return null; - } - Treehash[][] copy = new Treehash[data.length][]; - - for (int i = 0; i != data.length; i++) - { - copy[i] = clone(data[i]); - } - - return copy; - } - - static Vector[] clone(Vector[] data) - { - if (data == null) - { - return null; - } - Vector[] copy = new Vector[data.length]; - - for (int i = 0; i != data.length; i++) - { - copy[i] = new Vector(); - for (Enumeration en = data[i].elements(); en.hasMoreElements();) - { - copy[i].addElement(en.nextElement()); - } - } - - return copy; - } - - static Vector[][] clone(Vector[][] data) - { - if (data == null) - { - return null; - } - Vector[][] copy = new Vector[data.length][]; - - for (int i = 0; i != data.length; i++) - { - copy[i] = clone(data[i]); - } - - return copy; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/Treehash.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/Treehash.java deleted file mode 100644 index 82784e349..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/Treehash.java +++ /dev/null @@ -1,525 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss; - -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.pqc.crypto.gmss.util.GMSSRandom; -import org.spongycastle.util.Integers; -import org.spongycastle.util.encoders.Hex; - - -/** - * This class implements a treehash instance for the Merkle tree traversal - * algorithm. The first node of the stack is stored in this instance itself, - * additional tail nodes are stored on a tailstack. - */ -public class Treehash -{ - - /** - * max height of current treehash instance. - */ - private int maxHeight; - - /** - * Vector element that stores the nodes on the stack - */ - private Vector tailStack; - - /** - * Vector element that stores the height of the nodes on the stack - */ - private Vector heightOfNodes; - - /** - * the first node is stored in the treehash instance itself, not on stack - */ - private byte[] firstNode; - - /** - * seedActive needed for the actual node - */ - private byte[] seedActive; - - /** - * the seed needed for the next re-initialization of the treehash instance - */ - private byte[] seedNext; - - /** - * number of nodes stored on the stack and belonging to this treehash - * instance - */ - private int tailLength; - - /** - * the height in the tree of the first node stored in treehash - */ - private int firstNodeHeight; - - /** - * true if treehash instance was already initialized, false otherwise - */ - private boolean isInitialized; - - /** - * true if the first node's height equals the maxHeight of the treehash - */ - private boolean isFinished; - - /** - * true if the nextSeed has been initialized with index 3*2^h needed for the - * seed scheduling - */ - private boolean seedInitialized; - - /** - * denotes the Message Digest used by the tree to create nodes - */ - private Digest messDigestTree; - - /** - * This constructor regenerates a prior treehash object - * - * @param name an array of strings, containing the name of the used hash - * function and PRNG and the name of the corresponding provider - * @param statByte status bytes - * @param statInt status ints - */ - public Treehash(Digest name, byte[][] statByte, int[] statInt) - { - this.messDigestTree = name; - - // decode statInt - this.maxHeight = statInt[0]; - this.tailLength = statInt[1]; - this.firstNodeHeight = statInt[2]; - - if (statInt[3] == 1) - { - this.isFinished = true; - } - else - { - this.isFinished = false; - } - if (statInt[4] == 1) - { - this.isInitialized = true; - } - else - { - this.isInitialized = false; - } - if (statInt[5] == 1) - { - this.seedInitialized = true; - } - else - { - this.seedInitialized = false; - } - - this.heightOfNodes = new Vector(); - for (int i = 0; i < tailLength; i++) - { - this.heightOfNodes.addElement(Integers.valueOf(statInt[6 + i])); - } - - // decode statByte - this.firstNode = statByte[0]; - this.seedActive = statByte[1]; - this.seedNext = statByte[2]; - - this.tailStack = new Vector(); - for (int i = 0; i < tailLength; i++) - { - this.tailStack.addElement(statByte[3 + i]); - } - } - - /** - * Constructor - * - * @param tailStack a vector element where the stack nodes are stored - * @param maxHeight maximal height of the treehash instance - * @param digest an array of strings, containing the name of the used hash - * function and PRNG and the name of the corresponding provider - */ - public Treehash(Vector tailStack, int maxHeight, Digest digest) - { - this.tailStack = tailStack; - this.maxHeight = maxHeight; - this.firstNode = null; - this.isInitialized = false; - this.isFinished = false; - this.seedInitialized = false; - this.messDigestTree = digest; - - this.seedNext = new byte[messDigestTree.getDigestSize()]; - this.seedActive = new byte[messDigestTree.getDigestSize()]; - } - - /** - * Method to initialize the seeds needed for the precomputation of right - * nodes. Should be initialized with index 3*2^i for treehash_i - * - * @param seedIn - */ - public void initializeSeed(byte[] seedIn) - { - System.arraycopy(seedIn, 0, this.seedNext, 0, this.messDigestTree - .getDigestSize()); - this.seedInitialized = true; - } - - /** - * initializes the treehash instance. The seeds must already have been - * initialized to work correctly. - */ - public void initialize() - { - if (!this.seedInitialized) - { - System.err.println("Seed " + this.maxHeight + " not initialized"); - return; - } - - this.heightOfNodes = new Vector(); - this.tailLength = 0; - this.firstNode = null; - this.firstNodeHeight = -1; - this.isInitialized = true; - System.arraycopy(this.seedNext, 0, this.seedActive, 0, messDigestTree - .getDigestSize()); - } - - /** - * Calculates one update of the treehash instance, i.e. creates a new leaf - * and hashes if possible - * - * @param gmssRandom an instance of the PRNG - * @param leaf The byte value of the leaf needed for the update - */ - public void update(GMSSRandom gmssRandom, byte[] leaf) - { - - if (this.isFinished) - { - System.err - .println("No more update possible for treehash instance!"); - return; - } - if (!this.isInitialized) - { - System.err - .println("Treehash instance not initialized before update"); - return; - } - - byte[] help = new byte[this.messDigestTree.getDigestSize()]; - int helpHeight = -1; - - gmssRandom.nextSeed(this.seedActive); - - // if treehash gets first update - if (this.firstNode == null) - { - this.firstNode = leaf; - this.firstNodeHeight = 0; - } - else - { - // store the new node in help array, do not push it on the stack - help = leaf; - helpHeight = 0; - - // hash the nodes on the stack if possible - while (this.tailLength > 0 - && helpHeight == ((Integer)heightOfNodes.lastElement()) - .intValue()) - { - // put top element of the stack and help node in array - // 'tobehashed' - // and hash them together, put result again in help array - byte[] toBeHashed = new byte[this.messDigestTree - .getDigestSize() << 1]; - - // pop element from stack - System.arraycopy(this.tailStack.lastElement(), 0, toBeHashed, - 0, this.messDigestTree.getDigestSize()); - this.tailStack.removeElementAt(this.tailStack.size() - 1); - this.heightOfNodes - .removeElementAt(this.heightOfNodes.size() - 1); - - System.arraycopy(help, 0, toBeHashed, this.messDigestTree - .getDigestSize(), this.messDigestTree - .getDigestSize()); - messDigestTree.update(toBeHashed, 0, toBeHashed.length); - help = new byte[messDigestTree.getDigestSize()]; - messDigestTree.doFinal(help, 0); - - // increase help height, stack was reduced by one element - helpHeight++; - this.tailLength--; - } - - // push the new node on the stack - this.tailStack.addElement(help); - this.heightOfNodes.addElement(Integers.valueOf(helpHeight)); - this.tailLength++; - - // finally check whether the top node on stack and the first node - // in treehash have same height. If so hash them together - // and store them in treehash - if (((Integer)heightOfNodes.lastElement()).intValue() == this.firstNodeHeight) - { - byte[] toBeHashed = new byte[this.messDigestTree - .getDigestSize() << 1]; - System.arraycopy(this.firstNode, 0, toBeHashed, 0, - this.messDigestTree.getDigestSize()); - - // pop element from tailStack and copy it into help2 array - System.arraycopy(this.tailStack.lastElement(), 0, toBeHashed, - this.messDigestTree.getDigestSize(), - this.messDigestTree.getDigestSize()); - this.tailStack.removeElementAt(this.tailStack.size() - 1); - this.heightOfNodes - .removeElementAt(this.heightOfNodes.size() - 1); - - // store new element in firstNode, stack is then empty - messDigestTree.update(toBeHashed, 0, toBeHashed.length); - this.firstNode = new byte[messDigestTree.getDigestSize()]; - messDigestTree.doFinal(this.firstNode, 0); - this.firstNodeHeight++; - - // empty the stack - this.tailLength = 0; - } - } - - // check if treehash instance is completed - if (this.firstNodeHeight == this.maxHeight) - { - this.isFinished = true; - } - } - - /** - * Destroys a treehash instance after the top node was taken for - * authentication path. - */ - public void destroy() - { - this.isInitialized = false; - this.isFinished = false; - this.firstNode = null; - this.tailLength = 0; - this.firstNodeHeight = -1; - } - - /** - * Returns the height of the lowest node stored either in treehash or on the - * stack. It must not be set to infinity (as mentioned in the paper) because - * this cases are considered in the computeAuthPaths method of - * JDKGMSSPrivateKey - * - * @return Height of the lowest node - */ - public int getLowestNodeHeight() - { - if (this.firstNode == null) - { - return this.maxHeight; - } - else if (this.tailLength == 0) - { - return this.firstNodeHeight; - } - else - { - return Math.min(this.firstNodeHeight, ((Integer)heightOfNodes - .lastElement()).intValue()); - } - } - - /** - * Returns the top node height - * - * @return Height of the first node, the top node - */ - public int getFirstNodeHeight() - { - if (firstNode == null) - { - return maxHeight; - } - return firstNodeHeight; - } - - /** - * Method to check whether the instance has been initialized or not - * - * @return true if treehash was already initialized - */ - public boolean wasInitialized() - { - return this.isInitialized; - } - - /** - * Method to check whether the instance has been finished or not - * - * @return true if treehash has reached its maximum height - */ - public boolean wasFinished() - { - return this.isFinished; - } - - /** - * returns the first node stored in treehash instance itself - * - * @return the first node stored in treehash instance itself - */ - public byte[] getFirstNode() - { - return this.firstNode; - } - - /** - * returns the active seed - * - * @return the active seed - */ - public byte[] getSeedActive() - { - return this.seedActive; - } - - /** - * This method sets the first node stored in the treehash instance itself - * - * @param hash - */ - public void setFirstNode(byte[] hash) - { - if (!this.isInitialized) - { - this.initialize(); - } - this.firstNode = hash; - this.firstNodeHeight = this.maxHeight; - this.isFinished = true; - } - - /** - * updates the nextSeed of this treehash instance one step needed for the - * schedulng of the seeds - * - * @param gmssRandom the prng used for the seeds - */ - public void updateNextSeed(GMSSRandom gmssRandom) - { - gmssRandom.nextSeed(seedNext); - } - - /** - * Returns the tailstack - * - * @return the tailstack - */ - public Vector getTailStack() - { - return this.tailStack; - } - - /** - * Returns the status byte array used by the GMSSPrivateKeyASN.1 class - * - * @return The status bytes - */ - public byte[][] getStatByte() - { - - byte[][] statByte = new byte[3 + tailLength][this.messDigestTree - .getDigestSize()]; - statByte[0] = firstNode; - statByte[1] = seedActive; - statByte[2] = seedNext; - for (int i = 0; i < tailLength; i++) - { - statByte[3 + i] = (byte[])tailStack.elementAt(i); - } - return statByte; - } - - /** - * Returns the status int array used by the GMSSPrivateKeyASN.1 class - * - * @return The status ints - */ - public int[] getStatInt() - { - - int[] statInt = new int[6 + tailLength]; - statInt[0] = maxHeight; - statInt[1] = tailLength; - statInt[2] = firstNodeHeight; - if (this.isFinished) - { - statInt[3] = 1; - } - else - { - statInt[3] = 0; - } - if (this.isInitialized) - { - statInt[4] = 1; - } - else - { - statInt[4] = 0; - } - if (this.seedInitialized) - { - statInt[5] = 1; - } - else - { - statInt[5] = 0; - } - for (int i = 0; i < tailLength; i++) - { - statInt[6 + i] = ((Integer)heightOfNodes.elementAt(i)).intValue(); - } - return statInt; - } - - /** - * returns a String representation of the treehash instance - */ - public String toString() - { - String out = "Treehash : "; - for (int i = 0; i < 6 + tailLength; i++) - { - out = out + this.getStatInt()[i] + " "; - } - for (int i = 0; i < 3 + tailLength; i++) - { - if (this.getStatByte()[i] != null) - { - out = out + new String(Hex.encode((this.getStatByte()[i]))) + " "; - } - else - { - out = out + "null "; - } - } - out = out + " " + this.messDigestTree.getDigestSize(); - return out; - } - -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSRandom.java deleted file mode 100644 index 367aae0e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSRandom.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss.util; - -import org.spongycastle.crypto.Digest; - -/** - * This class provides a PRNG for GMSS - */ -public class GMSSRandom -{ - /** - * Hash function for the construction of the authentication trees - */ - private Digest messDigestTree; - - /** - * Constructor - * - * @param messDigestTree2 - */ - public GMSSRandom(Digest messDigestTree2) - { - - this.messDigestTree = messDigestTree2; - } - - /** - * computes the next seed value, returns a random byte array and sets - * outseed to the next value - * - * @param outseed byte array in which ((1 + SEEDin +RAND) mod 2^n) will be - * stored - * @return byte array of H(SEEDin) - */ - public byte[] nextSeed(byte[] outseed) - { - // RAND <-- H(SEEDin) - byte[] rand = new byte[outseed.length]; - messDigestTree.update(outseed, 0, outseed.length); - rand = new byte[messDigestTree.getDigestSize()]; - messDigestTree.doFinal(rand, 0); - - // SEEDout <-- (1 + SEEDin +RAND) mod 2^n - addByteArrays(outseed, rand); - addOne(outseed); - - // System.arraycopy(outseed, 0, outseed, 0, outseed.length); - - return rand; - } - - private void addByteArrays(byte[] a, byte[] b) - { - - byte overflow = 0; - int temp; - - for (int i = 0; i < a.length; i++) - { - temp = (0xFF & a[i]) + (0xFF & b[i]) + overflow; - a[i] = (byte)temp; - overflow = (byte)(temp >> 8); - } - } - - private void addOne(byte[] a) - { - - byte overflow = 1; - int temp; - - for (int i = 0; i < a.length; i++) - { - temp = (0xFF & a[i]) + overflow; - a[i] = (byte)temp; - overflow = (byte)(temp >> 8); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSUtil.java deleted file mode 100644 index 57678d854..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/GMSSUtil.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss.util; - -/** - * This class provides several methods that are required by the GMSS classes. - */ -public class GMSSUtil -{ - /** - * Converts a 32 bit integer into a byte array beginning at - * offset (little-endian representation) - * - * @param value the integer to convert - */ - public byte[] intToBytesLittleEndian(int value) - { - byte[] bytes = new byte[4]; - - bytes[0] = (byte)((value) & 0xff); - bytes[1] = (byte)((value >> 8) & 0xff); - bytes[2] = (byte)((value >> 16) & 0xff); - bytes[3] = (byte)((value >> 24) & 0xff); - return bytes; - } - - /** - * Converts a byte array beginning at offset into a 32 bit - * integer (little-endian representation) - * - * @param bytes the byte array - * @return The resulting integer - */ - public int bytesToIntLittleEndian(byte[] bytes) - { - - return ((bytes[0] & 0xff)) | ((bytes[1] & 0xff) << 8) - | ((bytes[2] & 0xff) << 16) | ((bytes[3] & 0xff)) << 24; - } - - /** - * Converts a byte array beginning at offset into a 32 bit - * integer (little-endian representation) - * - * @param bytes the byte array - * @param offset the integer offset into the byte array - * @return The resulting integer - */ - public int bytesToIntLittleEndian(byte[] bytes, int offset) - { - return ((bytes[offset++] & 0xff)) | ((bytes[offset++] & 0xff) << 8) - | ((bytes[offset++] & 0xff) << 16) - | ((bytes[offset] & 0xff)) << 24; - } - - /** - * This method concatenates a 2-dimensional byte array into a 1-dimensional - * byte array - * - * @param arraycp a 2-dimensional byte array. - * @return 1-dimensional byte array with concatenated input array - */ - public byte[] concatenateArray(byte[][] arraycp) - { - byte[] dest = new byte[arraycp.length * arraycp[0].length]; - int indx = 0; - for (int i = 0; i < arraycp.length; i++) - { - System.arraycopy(arraycp[i], 0, dest, indx, arraycp[i].length); - indx = indx + arraycp[i].length; - } - return dest; - } - - /** - * This method prints the values of a 2-dimensional byte array - * - * @param text a String - * @param array a 2-dimensional byte array - */ - public void printArray(String text, byte[][] array) - { - System.out.println(text); - int counter = 0; - for (int i = 0; i < array.length; i++) - { - for (int j = 0; j < array[0].length; j++) - { - System.out.println(counter + "; " + array[i][j]); - counter++; - } - } - } - - /** - * This method prints the values of a 1-dimensional byte array - * - * @param text a String - * @param array a 1-dimensional byte array. - */ - public void printArray(String text, byte[] array) - { - System.out.println(text); - int counter = 0; - for (int i = 0; i < array.length; i++) - { - System.out.println(counter + "; " + array[i]); - counter++; - } - } - - /** - * This method tests if an integer is a power of 2. - * - * @param testValue an integer - * @return TRUE if testValue is a power of 2, - * FALSE otherwise - */ - public boolean testPowerOfTwo(int testValue) - { - int a = 1; - while (a < testValue) - { - a <<= 1; - } - if (testValue == a) - { - return true; - } - - return false; - } - - /** - * This method returns the least integer that is greater or equal to the - * logarithm to the base 2 of an integer intValue. - * - * @param intValue an integer - * @return The least integer greater or equal to the logarithm to the base 2 - * of intValue - */ - public int getLog(int intValue) - { - int log = 1; - int i = 2; - while (i < intValue) - { - i <<= 1; - log++; - } - return log; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSVerify.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSVerify.java deleted file mode 100644 index f971a8bd6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSVerify.java +++ /dev/null @@ -1,345 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss.util; - -import org.spongycastle.crypto.Digest; - -/** - * This class implements signature verification of the Winternitz one-time - * signature scheme (OTSS), described in C.Dods, N.P. Smart, and M. Stam, "Hash - * Based Digital Signature Schemes", LNCS 3796, pages 96–115, 2005. The - * class is used by the GMSS classes. - */ -public class WinternitzOTSVerify -{ - - private Digest messDigestOTS; - - /** - * The Winternitz parameter - */ - private int w; - - /** - * The constructor - *

    - * - * @param digest the name of the hash function used by the OTS and the provider - * name of the hash function - * @param w the Winternitz parameter - */ - public WinternitzOTSVerify(Digest digest, int w) - { - this.w = w; - - messDigestOTS = digest; - } - - /** - * @return The length of the one-time signature - */ - public int getSignatureLength() - { - int mdsize = messDigestOTS.getDigestSize(); - int size = ((mdsize << 3) + (w - 1)) / w; - int logs = getLog((size << w) + 1); - size += (logs + w - 1) / w; - - return mdsize * size; - } - - /** - * This method computes the public OTS key from the one-time signature of a - * message. This is *NOT* a complete OTS signature verification, but it - * suffices for usage with CMSS. - * - * @param message the message - * @param signature the one-time signature - * @return The public OTS key - */ - public byte[] Verify(byte[] message, byte[] signature) - { - - int mdsize = messDigestOTS.getDigestSize(); - byte[] hash = new byte[mdsize]; // hash of message m - - // create hash of message m - messDigestOTS.update(message, 0, message.length); - hash = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hash, 0); - - int size = ((mdsize << 3) + (w - 1)) / w; - int logs = getLog((size << w) + 1); - int keysize = size + (logs + w - 1) / w; - - int testKeySize = mdsize * keysize; - - if (testKeySize != signature.length) - { - return null; - } - - byte[] testKey = new byte[testKeySize]; - - int c = 0; - int counter = 0; - int test; - - if (8 % w == 0) - { - int d = 8 / w; - int k = (1 << w) - 1; - byte[] hlp = new byte[mdsize]; - - // verify signature - for (int i = 0; i < hash.length; i++) - { - for (int j = 0; j < d; j++) - { - test = hash[i] & k; - c += test; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - hash[i] = (byte)(hash[i] >>> w); - counter++; - } - } - - c = (size << w) - c; - for (int i = 0; i < logs; i += w) - { - test = c & k; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test++; - } - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - } - else if (w < 8) - { - int d = mdsize / w; - int k = (1 << w) - 1; - byte[] hlp = new byte[mdsize]; - long big8; - int ii = 0; - // create signature - // first d*w bytes of hash - for (int i = 0; i < d; i++) - { - big8 = 0; - for (int j = 0; j < w; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - for (int j = 0; j < 8; j++) - { - test = (int)(big8 & k); - c += test; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - big8 >>>= w; - counter++; - } - } - // rest of hash - d = mdsize % w; - big8 = 0; - for (int j = 0; j < d; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - d <<= 3; - for (int j = 0; j < d; j += w) - { - test = (int)(big8 & k); - c += test; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - big8 >>>= w; - counter++; - } - - // check bytes - c = (size << w) - c; - for (int i = 0; i < logs; i += w) - { - test = c & k; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - }// end if(w<8) - else if (w < 57) - { - int d = (mdsize << 3) - w; - int k = (1 << w) - 1; - byte[] hlp = new byte[mdsize]; - long big8, test8; - int r = 0; - int s, f, rest, ii; - // create signature - // first a*w bits of hash where a*w <= 8*mdsize < (a+1)*w - while (r <= d) - { - s = r >>> 3; - rest = r % 8; - r += w; - f = (r + 7) >>> 3; - big8 = 0; - ii = 0; - for (int j = s; j < f; j++) - { - big8 ^= (hash[j] & 0xff) << (ii << 3); - ii++; - } - - big8 >>>= rest; - test8 = (big8 & k); - c += test8; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test8 < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - counter++; - - } - // rest of hash - s = r >>> 3; - if (s < mdsize) - { - rest = r % 8; - big8 = 0; - ii = 0; - for (int j = s; j < mdsize; j++) - { - big8 ^= (hash[j] & 0xff) << (ii << 3); - ii++; - } - - big8 >>>= rest; - test8 = (big8 & k); - c += test8; - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test8 < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - counter++; - } - // check bytes - c = (size << w) - c; - for (int i = 0; i < logs; i += w) - { - test8 = (c & k); - - System.arraycopy(signature, counter * mdsize, hlp, 0, mdsize); - - while (test8 < k) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8++; - } - - System.arraycopy(hlp, 0, testKey, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - }// end if(w<57) - - byte[] TKey = new byte[mdsize]; - messDigestOTS.update(testKey, 0, testKey.length); - TKey = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(TKey, 0); - - return TKey; - - } - - /** - * This method returns the least integer that is greater or equal to the - * logarithm to the base 2 of an integer intValue. - * - * @param intValue an integer - * @return The least integer greater or equal to the logarithm to the base - * 256 of intValue - */ - public int getLog(int intValue) - { - int log = 1; - int i = 2; - while (i < intValue) - { - i <<= 1; - log++; - } - return log; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSignature.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSignature.java deleted file mode 100644 index 92fa23dd0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/gmss/util/WinternitzOTSignature.java +++ /dev/null @@ -1,405 +0,0 @@ -package org.spongycastle.pqc.crypto.gmss.util; - -import org.spongycastle.crypto.Digest; - -/** - * This class implements key pair generation and signature generation of the - * Winternitz one-time signature scheme (OTSS), described in C.Dods, N.P. Smart, - * and M. Stam, "Hash Based Digital Signature Schemes", LNCS 3796, pages - * 96–115, 2005. The class is used by the GMSS classes. - */ - -public class WinternitzOTSignature -{ - - /** - * The hash function used by the OTS - */ - private Digest messDigestOTS; - - /** - * The length of the message digest and private key - */ - private int mdsize, keysize; - - /** - * An array of strings, containing the name of the used hash function, the - * name of the PRGN and the names of the corresponding providers - */ - // private String[] name = new String[2]; - /** - * The private key - */ - private byte[][] privateKeyOTS; - - /** - * The Winternitz parameter - */ - private int w; - - /** - * The source of randomness for OTS private key generation - */ - private GMSSRandom gmssRandom; - - /** - * Sizes of the message and the checksum, both - */ - private int messagesize, checksumsize; - - /** - * The constructor generates an OTS key pair, using seed0 and - * the PRNG - *

    - * - * @param seed0 the seed for the PRGN - * @param digest an array of strings, containing the name of the used hash - * function, the name of the PRGN and the names of the - * corresponding providers - * @param w the Winternitz parameter - */ - public WinternitzOTSignature(byte[] seed0, Digest digest, int w) - { - // this.name = name; - this.w = w; - - messDigestOTS = digest; - - gmssRandom = new GMSSRandom(messDigestOTS); - - // calulate keysize for private and public key and also the help - // array - - mdsize = messDigestOTS.getDigestSize(); - int mdsizeBit = mdsize << 3; - messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w); - - checksumsize = getLog((messagesize << w) + 1); - - keysize = messagesize - + (int)Math.ceil((double)checksumsize / (double)w); - - /* - * mdsize = messDigestOTS.getDigestLength(); messagesize = - * ((mdsize<<3)+(w-1))/w; - * - * checksumsize = getlog((messagesize< 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - hash[i] = (byte)(hash[i] >>> w); - counter++; - } - } - - c = (messagesize << w) - c; - for (int i = 0; i < checksumsize; i += w) - { - test = c & k; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - - while (test > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - } - else if (w < 8) - { - int d = mdsize / w; - int k = (1 << w) - 1; - byte[] hlp = new byte[mdsize]; - long big8; - int ii = 0; - // create signature - // first d*w bytes of hash - for (int i = 0; i < d; i++) - { - big8 = 0; - for (int j = 0; j < w; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - for (int j = 0; j < 8; j++) - { - test = (int)(big8 & k); - c += test; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - - while (test > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - big8 >>>= w; - counter++; - } - } - // rest of hash - d = mdsize % w; - big8 = 0; - for (int j = 0; j < d; j++) - { - big8 ^= (hash[ii] & 0xff) << (j << 3); - ii++; - } - d <<= 3; - for (int j = 0; j < d; j += w) - { - test = (int)(big8 & k); - c += test; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - - while (test > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - big8 >>>= w; - counter++; - } - - // check bytes - c = (messagesize << w) - c; - for (int i = 0; i < checksumsize; i += w) - { - test = c & k; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - - while (test > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - }// end if(w<8) - else if (w < 57) - { - int d = (mdsize << 3) - w; - int k = (1 << w) - 1; - byte[] hlp = new byte[mdsize]; - long big8, test8; - int r = 0; - int s, f, rest, ii; - // create signature - // first a*w bits of hash where a*w <= 8*mdsize < (a+1)*w - while (r <= d) - { - s = r >>> 3; - rest = r % 8; - r += w; - f = (r + 7) >>> 3; - big8 = 0; - ii = 0; - for (int j = s; j < f; j++) - { - big8 ^= (hash[j] & 0xff) << (ii << 3); - ii++; - } - - big8 >>>= rest; - test8 = (big8 & k); - c += test8; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - while (test8 > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - counter++; - - } - // rest of hash - s = r >>> 3; - if (s < mdsize) - { - rest = r % 8; - big8 = 0; - ii = 0; - for (int j = s; j < mdsize; j++) - { - big8 ^= (hash[j] & 0xff) << (ii << 3); - ii++; - } - - big8 >>>= rest; - test8 = (big8 & k); - c += test8; - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - while (test8 > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - counter++; - } - // check bytes - c = (messagesize << w) - c; - for (int i = 0; i < checksumsize; i += w) - { - test8 = (c & k); - - System.arraycopy(privateKeyOTS[counter], 0, hlp, 0, mdsize); - - while (test8 > 0) - { - messDigestOTS.update(hlp, 0, hlp.length); - hlp = new byte[messDigestOTS.getDigestSize()]; - messDigestOTS.doFinal(hlp, 0); - test8--; - } - System.arraycopy(hlp, 0, sign, counter * mdsize, mdsize); - c >>>= w; - counter++; - } - }// end if(w<57) - - return sign; - } - - /** - * This method returns the least integer that is greater or equal to the - * logarithm to the base 2 of an integer intValue. - * - * @param intValue an integer - * @return The least integer greater or equal to the logarithm to the base 2 - * of intValue - */ - public int getLog(int intValue) - { - int log = 1; - int i = 2; - while (i < intValue) - { - i <<= 1; - log++; - } - return log; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/Conversions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/Conversions.java deleted file mode 100644 index 9772d018d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/Conversions.java +++ /dev/null @@ -1,236 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.math.BigInteger; - -import org.spongycastle.pqc.math.linearalgebra.BigIntUtils; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; -import org.spongycastle.pqc.math.linearalgebra.IntegerFunctions; - - -/** - * Provides methods for CCA2-Secure Conversions of McEliece PKCS - */ -final class Conversions -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - - /** - * Default constructor (private). - */ - private Conversions() - { - } - - /** - * Encode a number between 0 and (n|t) (binomial coefficient) into a binary - * vector of length n with weight t. The number is given as a byte array. - * Only the first s bits are used, where s = floor[log(n|t)]. - * - * @param n integer - * @param t integer - * @param m the message as a byte array - * @return the encoded message as {@link GF2Vector} - */ - public static GF2Vector encode(final int n, final int t, final byte[] m) - { - if (n < t) - { - throw new IllegalArgumentException("n < t"); - } - - // compute the binomial c = (n|t) - BigInteger c = IntegerFunctions.binomial(n, t); - // get the number encoded in m - BigInteger i = new BigInteger(1, m); - // compare - if (i.compareTo(c) >= 0) - { - throw new IllegalArgumentException("Encoded number too large."); - } - - GF2Vector result = new GF2Vector(n); - - int nn = n; - int tt = t; - for (int j = 0; j < n; j++) - { - c = c.multiply(BigInteger.valueOf(nn - tt)).divide( - BigInteger.valueOf(nn)); - nn--; - if (c.compareTo(i) <= 0) - { - result.setBit(j); - i = i.subtract(c); - tt--; - if (nn == tt) - { - c = ONE; - } - else - { - c = (c.multiply(BigInteger.valueOf(tt + 1))) - .divide(BigInteger.valueOf(nn - tt)); - } - } - } - - return result; - } - - /** - * Decode a binary vector of length n and weight t into a number between 0 - * and (n|t) (binomial coefficient). The result is given as a byte array of - * length floor[(s+7)/8], where s = floor[log(n|t)]. - * - * @param n integer - * @param t integer - * @param vec the binary vector - * @return the decoded vector as a byte array - */ - public static byte[] decode(int n, int t, GF2Vector vec) - { - if ((vec.getLength() != n) || (vec.getHammingWeight() != t)) - { - throw new IllegalArgumentException( - "vector has wrong length or hamming weight"); - } - int[] vecArray = vec.getVecArray(); - - BigInteger bc = IntegerFunctions.binomial(n, t); - BigInteger d = ZERO; - int nn = n; - int tt = t; - for (int i = 0; i < n; i++) - { - bc = bc.multiply(BigInteger.valueOf(nn - tt)).divide( - BigInteger.valueOf(nn)); - nn--; - - int q = i >> 5; - int e = vecArray[q] & (1 << (i & 0x1f)); - if (e != 0) - { - d = d.add(bc); - tt--; - if (nn == tt) - { - bc = ONE; - } - else - { - bc = bc.multiply(BigInteger.valueOf(tt + 1)).divide( - BigInteger.valueOf(nn - tt)); - } - - } - } - - return BigIntUtils.toMinimalByteArray(d); - } - - /** - * Compute a message representative of a message given as a vector of length - * n bit and of hamming weight t. The result is a - * byte array of length (s+7)/8, where - * s = floor[log(n|t)]. - * - * @param n integer - * @param t integer - * @param m the message vector as a byte array - * @return a message representative for m - */ - public static byte[] signConversion(int n, int t, byte[] m) - { - if (n < t) - { - throw new IllegalArgumentException("n < t"); - } - - BigInteger bc = IntegerFunctions.binomial(n, t); - // finds s = floor[log(binomial(n,t))] - int s = bc.bitLength() - 1; - // s = sq*8 + sr; - int sq = s >> 3; - int sr = s & 7; - if (sr == 0) - { - sq--; - sr = 8; - } - - // n = nq*8+nr; - int nq = n >> 3; - int nr = n & 7; - if (nr == 0) - { - nq--; - nr = 8; - } - // take s bit from m - byte[] data = new byte[nq + 1]; - if (m.length < data.length) - { - System.arraycopy(m, 0, data, 0, m.length); - for (int i = m.length; i < data.length; i++) - { - data[i] = 0; - } - } - else - { - System.arraycopy(m, 0, data, 0, nq); - int h = (1 << nr) - 1; - data[nq] = (byte)(h & m[nq]); - } - - BigInteger d = ZERO; - int nn = n; - int tt = t; - for (int i = 0; i < n; i++) - { - bc = (bc.multiply(new BigInteger(Integer.toString(nn - tt)))) - .divide(new BigInteger(Integer.toString(nn))); - nn--; - - int q = i >>> 3; - int r = i & 7; - r = 1 << r; - byte e = (byte)(r & data[q]); - if (e != 0) - { - d = d.add(bc); - tt--; - if (nn == tt) - { - bc = ONE; - } - else - { - bc = (bc - .multiply(new BigInteger(Integer.toString(tt + 1)))) - .divide(new BigInteger(Integer.toString(nn - tt))); - } - } - } - - byte[] result = new byte[sq + 1]; - byte[] help = d.toByteArray(); - if (help.length < result.length) - { - System.arraycopy(help, 0, result, 0, help.length); - for (int i = help.length; i < result.length; i++) - { - result[i] = 0; - } - } - else - { - System.arraycopy(help, 0, result, 0, sq); - result[sq] = (byte)(((1 << sr) - 1) & help[sq]); - } - - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyGenerationParameters.java deleted file mode 100644 index 8095d291e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyGenerationParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class McElieceCCA2KeyGenerationParameters - extends KeyGenerationParameters -{ - private McElieceCCA2Parameters params; - - public McElieceCCA2KeyGenerationParameters( - SecureRandom random, - McElieceCCA2Parameters params) - { - // XXX key size? - super(random, 128); - this.params = params; - } - - public McElieceCCA2Parameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyPairGenerator.java deleted file mode 100644 index c950bda7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyPairGenerator.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode.MaMaPe; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; -import org.spongycastle.pqc.math.linearalgebra.PolynomialRingGF2m; - - -/** - * This class implements key pair generation of the McEliece Public Key - * Cryptosystem (McEliecePKC). - */ -public class McElieceCCA2KeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - - - /** - * The OID of the algorithm. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.2"; - - private McElieceCCA2KeyGenerationParameters mcElieceCCA2Params; - - // the extension degree of the finite field GF(2^m) - private int m; - - // the length of the code - private int n; - - // the error correction capability - private int t; - - // the field polynomial - private int fieldPoly; - - // the source of randomness - private SecureRandom random; - - // flag indicating whether the key pair generator has been initialized - private boolean initialized = false; - - /** - * Default initialization of the key pair generator. - */ - private void initializeDefault() - { - McElieceCCA2KeyGenerationParameters mcCCA2Params = new McElieceCCA2KeyGenerationParameters(new SecureRandom(), new McElieceCCA2Parameters()); - init(mcCCA2Params); - } - - // TODO - public void init( - KeyGenerationParameters param) - { - this.mcElieceCCA2Params = (McElieceCCA2KeyGenerationParameters)param; - - // set source of randomness - this.random = new SecureRandom(); - - this.m = this.mcElieceCCA2Params.getParameters().getM(); - this.n = this.mcElieceCCA2Params.getParameters().getN(); - this.t = this.mcElieceCCA2Params.getParameters().getT(); - this.fieldPoly = this.mcElieceCCA2Params.getParameters().getFieldPoly(); - this.initialized = true; - } - - - public AsymmetricCipherKeyPair generateKeyPair() - { - - if (!initialized) - { - initializeDefault(); - } - - // finite field GF(2^m) - GF2mField field = new GF2mField(m, fieldPoly); - - // irreducible Goppa polynomial - PolynomialGF2mSmallM gp = new PolynomialGF2mSmallM(field, t, - PolynomialGF2mSmallM.RANDOM_IRREDUCIBLE_POLYNOMIAL, random); - PolynomialRingGF2m ring = new PolynomialRingGF2m(field, gp); - - // matrix for computing square roots in (GF(2^m))^t - PolynomialGF2mSmallM[] qInv = ring.getSquareRootMatrix(); - - // generate canonical check matrix - GF2Matrix h = GoppaCode.createCanonicalCheckMatrix(field, gp); - - // compute short systematic form of check matrix - MaMaPe mmp = GoppaCode.computeSystematicForm(h, random); - GF2Matrix shortH = mmp.getSecondMatrix(); - Permutation p = mmp.getPermutation(); - - // compute short systematic form of generator matrix - GF2Matrix shortG = (GF2Matrix)shortH.computeTranspose(); - - // obtain number of rows of G (= dimension of the code) - int k = shortG.getNumRows(); - - // generate keys - McElieceCCA2PublicKeyParameters pubKey = new McElieceCCA2PublicKeyParameters(OID, n, t, shortG, mcElieceCCA2Params.getParameters()); - McElieceCCA2PrivateKeyParameters privKey = new McElieceCCA2PrivateKeyParameters(OID, n, k, - field, gp, p, h, qInv, mcElieceCCA2Params.getParameters()); - - // return key pair - return new AsymmetricCipherKeyPair(pubKey, privKey); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyParameters.java deleted file mode 100644 index 4dc3b8d24..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2KeyParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - - -public class McElieceCCA2KeyParameters - extends AsymmetricKeyParameter -{ - private McElieceCCA2Parameters params; - - public McElieceCCA2KeyParameters( - boolean isPrivate, - McElieceCCA2Parameters params) - { - super(isPrivate); - this.params = params; - } - - - public McElieceCCA2Parameters getParameters() - { - return params; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Parameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Parameters.java deleted file mode 100644 index 11eae2e09..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Parameters.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; - -/** - * This class provides a specification for the parameters of the CCA2-secure - * variants of the McEliece PKCS that are used with - * {@link McElieceFujisakiCipher}, {@link McElieceKobaraImaiCipher}, and - * {@link McEliecePointchevalCipher}. - * - * @see McElieceFujisakiCipher - * @see McElieceKobaraImaiCipher - * @see McEliecePointchevalCipher - */ -public class McElieceCCA2Parameters - extends McElieceParameters -{ - - - public Digest digest; - - - /** - * Construct the default parameters. - * The default message digest is SHA256. - */ - public McElieceCCA2Parameters() - { - this.digest = new SHA256Digest(); - } - - public McElieceCCA2Parameters(int m, int t) - { - super(m, t); - this.digest = new SHA256Digest(); - } - - public McElieceCCA2Parameters(Digest digest) - { - this.digest = digest; - } - - public Digest getDigest() - { - return this.digest; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Primitives.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Primitives.java deleted file mode 100644 index 66c163a25..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2Primitives.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; -import org.spongycastle.pqc.math.linearalgebra.Vector; - -/** - * Core operations for the CCA-secure variants of McEliece. - */ -public final class McElieceCCA2Primitives -{ - - /** - * Default constructor (private). - */ - private McElieceCCA2Primitives() - { - } - - /** - * The McEliece encryption primitive. - * - * @param pubKey the public key - * @param m the message vector - * @param z the error vector - * @return m*G + z - */ - - - public static GF2Vector encryptionPrimitive(McElieceCCA2PublicKeyParameters pubKey, - GF2Vector m, GF2Vector z) - { - - GF2Matrix matrixG = pubKey.getMatrixG(); - Vector mG = matrixG.leftMultiplyLeftCompactForm(m); - return (GF2Vector)mG.add(z); - } - - /** - * The McEliece decryption primitive. - * - * @param privKey the private key - * @param c the ciphertext vector c = m*G + z - * @return the message vector m and the error vector z - */ - public static GF2Vector[] decryptionPrimitive( - McElieceCCA2PrivateKeyParameters privKey, GF2Vector c) - { - - // obtain values from private key - int k = privKey.getK(); - Permutation p = privKey.getP(); - GF2mField field = privKey.getField(); - PolynomialGF2mSmallM gp = privKey.getGoppaPoly(); - GF2Matrix h = privKey.getH(); - PolynomialGF2mSmallM[] q = privKey.getQInv(); - - // compute inverse permutation P^-1 - Permutation pInv = p.computeInverse(); - - // multiply c with permutation P^-1 - GF2Vector cPInv = (GF2Vector)c.multiply(pInv); - - // compute syndrome of cP^-1 - GF2Vector syndVec = (GF2Vector)h.rightMultiply(cPInv); - - // decode syndrome - GF2Vector errors = GoppaCode.syndromeDecode(syndVec, field, gp, q); - GF2Vector mG = (GF2Vector)cPInv.add(errors); - - // multiply codeword and error vector with P - mG = (GF2Vector)mG.multiply(p); - errors = (GF2Vector)errors.multiply(p); - - // extract plaintext vector (last k columns of mG) - GF2Vector m = mG.extractRightVector(k); - - // return vectors - return new GF2Vector[]{m, errors}; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PrivateKeyParameters.java deleted file mode 100644 index a19a267b6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PrivateKeyParameters.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; - -/** - * - * - * - */ -public class McElieceCCA2PrivateKeyParameters - extends McElieceCCA2KeyParameters -{ - - // the OID of the algorithm - private String oid; - - // the length of the code - private int n; - - // the dimension of the code - private int k; - - // the finte field GF(2^m) - private GF2mField field; - - // the irreducible Goppa polynomial - private PolynomialGF2mSmallM goppaPoly; - - // the permutation - private Permutation p; - - // the canonical check matrix - private GF2Matrix h; - - // the matrix used to compute square roots in (GF(2^m))^t - private PolynomialGF2mSmallM[] qInv; - - /** - * Constructor. - * - * @param n the length of the code - * @param k the dimension of the code - * @param field the finite field GF(2m) - * @param gp the irreducible Goppa polynomial - * @param p the permutation - * @param h the canonical check matrix - * @param qInv the matrix used to compute square roots in - * (GF(2^m))^t - * @param params McElieceCCA2Parameters - */ - public McElieceCCA2PrivateKeyParameters(String oid, int n, int k, GF2mField field, - PolynomialGF2mSmallM gp, Permutation p, GF2Matrix h, - PolynomialGF2mSmallM[] qInv, McElieceCCA2Parameters params) - { - super(true, params); - this.oid = oid; - this.n = n; - this.k = k; - this.field = field; - this.goppaPoly = gp; - this.p = p; - this.h = h; - this.qInv = qInv; - } - - /** - * Constructor used by the {@link McElieceKeyFactory}. - * - * @param n the length of the code - * @param k the dimension of the code - * @param encFieldPoly the encoded field polynomial defining the finite field - * GF(2m) - * @param encGoppaPoly the encoded irreducible Goppa polynomial - * @param encP the encoded permutation - * @param encH the encoded canonical check matrix - * @param encQInv the encoded matrix used to compute square roots in - * (GF(2^m))^t - * @param params McElieceCCA2Parameters - */ - public McElieceCCA2PrivateKeyParameters(String oid, int n, int k, byte[] encFieldPoly, - byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv, McElieceCCA2Parameters params) - { - super(true, params); - this.oid = oid; - this.n = n; - this.k = k; - field = new GF2mField(encFieldPoly); - goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly); - p = new Permutation(encP); - h = new GF2Matrix(encH); - qInv = new PolynomialGF2mSmallM[encQInv.length]; - for (int i = 0; i < encQInv.length; i++) - { - qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]); - } - } - - /** - * @return the length of the code - */ - public int getN() - { - return n; - } - - /** - * @return the dimension of the code - */ - public int getK() - { - return k; - } - - /** - * @return the degree of the Goppa polynomial (error correcting capability) - */ - public int getT() - { - return goppaPoly.getDegree(); - } - - /** - * @return the finite field - */ - public GF2mField getField() - { - return field; - } - - /** - * @return the irreducible Goppa polynomial - */ - public PolynomialGF2mSmallM getGoppaPoly() - { - return goppaPoly; - } - - /** - * @return the permutation P - */ - public Permutation getP() - { - return p; - } - - /** - * @return the canonical check matrix H - */ - public GF2Matrix getH() - { - return h; - } - - /** - * @return the matrix used to compute square roots in (GF(2^m))^t - */ - public PolynomialGF2mSmallM[] getQInv() - { - return qInv; - } - - public String getOIDString() - { - return oid; - - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PublicKeyParameters.java deleted file mode 100644 index 9b5ba0a6b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceCCA2PublicKeyParameters.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; - -/** - * - * - * - */ -public class McElieceCCA2PublicKeyParameters - extends McElieceCCA2KeyParameters -{ - - // the OID of the algorithm - private String oid; - - // the length of the code - private int n; - - // the error correction capability of the code - private int t; - - // the generator matrix - private GF2Matrix matrixG; - - /** - * Constructor. - * - * @param n length of the code - * @param t error correction capability - * @param matrix generator matrix - * @param params McElieceCCA2Parameters - */ - public McElieceCCA2PublicKeyParameters(String oid, int n, int t, GF2Matrix matrix, McElieceCCA2Parameters params) - { - super(false, params); - this.oid = oid; - this.n = n; - this.t = t; - this.matrixG = new GF2Matrix(matrix); - } - - /** - * Constructor (used by {@link McElieceKeyFactory}). - * - * @param n length of the code - * @param t error correction capability of the code - * @param encMatrix encoded generator matrix - * @param params McElieceCCA2Parameters - */ - public McElieceCCA2PublicKeyParameters(String oid, int n, int t, byte[] encMatrix, McElieceCCA2Parameters params) - { - super(false, params); - this.oid = oid; - this.n = n; - this.t = t; - this.matrixG = new GF2Matrix(encMatrix); - } - - /** - * @return the length of the code - */ - public int getN() - { - return n; - } - - /** - * @return the error correction capability of the code - */ - public int getT() - { - return t; - } - - /** - * @return the generator matrix - */ - public GF2Matrix getMatrixG() - { - return matrixG; - } - - /** - * @return the dimension of the code - */ - public int getK() - { - return matrixG.getNumRows(); - } - - public String getOIDString() - { - return oid; - - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiCipher.java deleted file mode 100644 index 810a69c8e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiCipher.java +++ /dev/null @@ -1,218 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.prng.DigestRandomGenerator; -import org.spongycastle.pqc.crypto.MessageEncryptor; -import org.spongycastle.pqc.math.linearalgebra.ByteUtils; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; - -/** - * This class implements the Fujisaki/Okamoto conversion of the McEliecePKCS. - * Fujisaki and Okamoto propose hybrid encryption that merges a symmetric - * encryption scheme which is secure in the find-guess model with an asymmetric - * one-way encryption scheme which is sufficiently probabilistic to obtain a - * public key cryptosystem which is CCA2-secure. For details, see D. Engelbert, - * R. Overbeck, A. Schmidt, "A summary of the development of the McEliece - * Cryptosystem", technical report. - */ -public class McElieceFujisakiCipher - implements MessageEncryptor -{ - - - /** - * The OID of the algorithm. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.2.1"; - - private static final String DEFAULT_PRNG_NAME = "SHA1PRNG"; - - private Digest messDigest; - - private SecureRandom sr; - - /** - * The McEliece main parameters - */ - private int n, k, t; - - McElieceCCA2KeyParameters key; - - - public void init(boolean forSigning, - CipherParameters param) - { - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.sr = rParam.getRandom(); - this.key = (McElieceCCA2PublicKeyParameters)rParam.getParameters(); - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - - } - else - { - this.sr = new SecureRandom(); - this.key = (McElieceCCA2PublicKeyParameters)param; - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - } - } - else - { - this.key = (McElieceCCA2PrivateKeyParameters)param; - this.initCipherDecrypt((McElieceCCA2PrivateKeyParameters)key); - } - - } - - - public int getKeySize(McElieceCCA2KeyParameters key) - throws IllegalArgumentException - { - - if (key instanceof McElieceCCA2PublicKeyParameters) - { - return ((McElieceCCA2PublicKeyParameters)key).getN(); - - } - if (key instanceof McElieceCCA2PrivateKeyParameters) - { - return ((McElieceCCA2PrivateKeyParameters)key).getN(); - } - throw new IllegalArgumentException("unsupported type"); - - } - - - private void initCipherEncrypt(McElieceCCA2PublicKeyParameters pubKey) - { - this.sr = sr != null ? sr : new SecureRandom(); - this.messDigest = pubKey.getParameters().getDigest(); - n = pubKey.getN(); - k = pubKey.getK(); - t = pubKey.getT(); - } - - - public void initCipherDecrypt(McElieceCCA2PrivateKeyParameters privKey) - { - this.messDigest = privKey.getParameters().getDigest(); - n = privKey.getN(); - t = privKey.getT(); - } - - - public byte[] messageEncrypt(byte[] input) - throws Exception - { - - // generate random vector r of length k bits - GF2Vector r = new GF2Vector(k, sr); - - // convert r to byte array - byte[] rBytes = r.getEncoded(); - - // compute (r||input) - byte[] rm = ByteUtils.concatenate(rBytes, input); - - // compute H(r||input) - messDigest.update(rm, 0, rm.length); - byte[] hrm = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hrm, 0); - - // convert H(r||input) to error vector z - GF2Vector z = Conversions.encode(n, t, hrm); - - // compute c1 = E(r, z) - byte[] c1 = McElieceCCA2Primitives.encryptionPrimitive((McElieceCCA2PublicKeyParameters)key, r, z) - .getEncoded(); - - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(rBytes); - - // generate random c2 - byte[] c2 = new byte[input.length]; - sr0.nextBytes(c2); - - // XOR with input - for (int i = 0; i < input.length; i++) - { - c2[i] ^= input[i]; - } - - // return (c1||c2) - return ByteUtils.concatenate(c1, c2); - } - - public byte[] messageDecrypt(byte[] input) - throws Exception - { - - int c1Len = (n + 7) >> 3; - int c2Len = input.length - c1Len; - - // split ciphertext (c1||c2) - byte[][] c1c2 = ByteUtils.split(input, c1Len); - byte[] c1 = c1c2[0]; - byte[] c2 = c1c2[1]; - - // decrypt c1 ... - GF2Vector hrmVec = GF2Vector.OS2VP(n, c1); - GF2Vector[] decC1 = McElieceCCA2Primitives.decryptionPrimitive((McElieceCCA2PrivateKeyParameters)key, - hrmVec); - byte[] rBytes = decC1[0].getEncoded(); - // ... and obtain error vector z - GF2Vector z = decC1[1]; - - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(rBytes); - - // generate random sequence - byte[] mBytes = new byte[c2Len]; - sr0.nextBytes(mBytes); - - // XOR with c2 to obtain m - for (int i = 0; i < c2Len; i++) - { - mBytes[i] ^= c2[i]; - } - - // compute H(r||m) - byte[] rmBytes = ByteUtils.concatenate(rBytes, mBytes); - byte[] hrm = new byte[messDigest.getDigestSize()]; - messDigest.update(rmBytes, 0, rmBytes.length); - messDigest.doFinal(hrm, 0); - - - // compute Conv(H(r||m)) - hrmVec = Conversions.encode(n, t, hrm); - - // check that Conv(H(m||r)) = z - if (!hrmVec.equals(z)) - { - - throw new Exception("Bad Padding: invalid ciphertext"); - - } - - // return plaintext m - return mBytes; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiDigestCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiDigestCipher.java deleted file mode 100644 index 9a5577ce0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceFujisakiDigestCipher.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageEncryptor; - -// TODO should implement some interface? -public class McElieceFujisakiDigestCipher -{ - - private final Digest messDigest; - - private final MessageEncryptor mcElieceCCA2Cipher; - - private boolean forEncrypting; - - - public McElieceFujisakiDigestCipher(MessageEncryptor mcElieceCCA2Cipher, Digest messDigest) - { - this.mcElieceCCA2Cipher = mcElieceCCA2Cipher; - this.messDigest = messDigest; - } - - - public void init(boolean forEncrypting, - CipherParameters param) - { - - this.forEncrypting = forEncrypting; - AsymmetricKeyParameter k; - - if (param instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)param; - } - - if (forEncrypting && k.isPrivate()) - { - throw new IllegalArgumentException("Encrypting Requires Public Key."); - } - - if (!forEncrypting && !k.isPrivate()) - { - throw new IllegalArgumentException("Decrypting Requires Private Key."); - } - - reset(); - - mcElieceCCA2Cipher.init(forEncrypting, param); - } - - - public byte[] messageEncrypt() - { - if (!forEncrypting) - { - throw new IllegalStateException("McElieceFujisakiDigestCipher not initialised for encrypting."); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - byte[] enc = null; - - try - { - enc = mcElieceCCA2Cipher.messageEncrypt(hash); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return enc; - } - - - public byte[] messageDecrypt(byte[] ciphertext) - { - byte[] output = null; - if (forEncrypting) - { - throw new IllegalStateException("McElieceFujisakiDigestCipher not initialised for decrypting."); - } - - - try - { - output = mcElieceCCA2Cipher.messageDecrypt(ciphertext); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return output; - } - - - public void update(byte b) - { - messDigest.update(b); - - } - - public void update(byte[] in, int off, int len) - { - messDigest.update(in, off, len); - - } - - - public void reset() - { - messDigest.reset(); - - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyGenerationParameters.java deleted file mode 100644 index 129a704c6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyGenerationParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class McElieceKeyGenerationParameters - extends KeyGenerationParameters -{ - private McElieceParameters params; - - public McElieceKeyGenerationParameters( - SecureRandom random, - McElieceParameters params) - { - // XXX key size? - super(random, 256); - this.params = params; - } - - public McElieceParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyPairGenerator.java deleted file mode 100644 index 07db4cd6d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyPairGenerator.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode.MaMaPe; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; -import org.spongycastle.pqc.math.linearalgebra.PolynomialRingGF2m; - - -/** - * This class implements key pair generation of the McEliece Public Key - * Cryptosystem (McEliecePKC). - */ -public class McElieceKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - - - public McElieceKeyPairGenerator() - { - - } - - - /** - * The OID of the algorithm. - */ - private static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.1"; - - private McElieceKeyGenerationParameters mcElieceParams; - - // the extension degree of the finite field GF(2^m) - private int m; - - // the length of the code - private int n; - - // the error correction capability - private int t; - - // the field polynomial - private int fieldPoly; - - // the source of randomness - private SecureRandom random; - - // flag indicating whether the key pair generator has been initialized - private boolean initialized = false; - - - /** - * Default initialization of the key pair generator. - */ - private void initializeDefault() - { - McElieceKeyGenerationParameters mcParams = new McElieceKeyGenerationParameters(new SecureRandom(), new McElieceParameters()); - initialize(mcParams); - } - - private void initialize( - KeyGenerationParameters param) - { - this.mcElieceParams = (McElieceKeyGenerationParameters)param; - - // set source of randomness - this.random = new SecureRandom(); - - this.m = this.mcElieceParams.getParameters().getM(); - this.n = this.mcElieceParams.getParameters().getN(); - this.t = this.mcElieceParams.getParameters().getT(); - this.fieldPoly = this.mcElieceParams.getParameters().getFieldPoly(); - this.initialized = true; - } - - - private AsymmetricCipherKeyPair genKeyPair() - { - - if (!initialized) - { - initializeDefault(); - } - - // finite field GF(2^m) - GF2mField field = new GF2mField(m, fieldPoly); - - // irreducible Goppa polynomial - PolynomialGF2mSmallM gp = new PolynomialGF2mSmallM(field, t, - PolynomialGF2mSmallM.RANDOM_IRREDUCIBLE_POLYNOMIAL, random); - PolynomialRingGF2m ring = new PolynomialRingGF2m(field, gp); - - // matrix used to compute square roots in (GF(2^m))^t - PolynomialGF2mSmallM[] sqRootMatrix = ring.getSquareRootMatrix(); - - // generate canonical check matrix - GF2Matrix h = GoppaCode.createCanonicalCheckMatrix(field, gp); - - // compute short systematic form of check matrix - MaMaPe mmp = GoppaCode.computeSystematicForm(h, random); - GF2Matrix shortH = mmp.getSecondMatrix(); - Permutation p1 = mmp.getPermutation(); - - // compute short systematic form of generator matrix - GF2Matrix shortG = (GF2Matrix)shortH.computeTranspose(); - - // extend to full systematic form - GF2Matrix gPrime = shortG.extendLeftCompactForm(); - - // obtain number of rows of G (= dimension of the code) - int k = shortG.getNumRows(); - - // generate random invertible (k x k)-matrix S and its inverse S^-1 - GF2Matrix[] matrixSandInverse = GF2Matrix - .createRandomRegularMatrixAndItsInverse(k, random); - - // generate random permutation P2 - Permutation p2 = new Permutation(n, random); - - // compute public matrix G=S*G'*P2 - GF2Matrix g = (GF2Matrix)matrixSandInverse[0].rightMultiply(gPrime); - g = (GF2Matrix)g.rightMultiply(p2); - - - // generate keys - McEliecePublicKeyParameters pubKey = new McEliecePublicKeyParameters(OID, n, t, g, mcElieceParams.getParameters()); - McEliecePrivateKeyParameters privKey = new McEliecePrivateKeyParameters(OID, n, k, - field, gp, matrixSandInverse[1], p1, p2, h, sqRootMatrix, mcElieceParams.getParameters()); - - // return key pair - return new AsymmetricCipherKeyPair(pubKey, privKey); - } - - public void init(KeyGenerationParameters param) - { - this.initialize(param); - - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - return genKeyPair(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyParameters.java deleted file mode 100644 index a8b2ce841..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKeyParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - - -public class McElieceKeyParameters - extends AsymmetricKeyParameter -{ - private McElieceParameters params; - - public McElieceKeyParameters( - boolean isPrivate, - McElieceParameters params) - { - super(isPrivate); - this.params = params; - } - - - public McElieceParameters getParameters() - { - return params; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiCipher.java deleted file mode 100644 index 0be981be3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiCipher.java +++ /dev/null @@ -1,319 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.prng.DigestRandomGenerator; -import org.spongycastle.pqc.crypto.MessageEncryptor; -import org.spongycastle.pqc.math.linearalgebra.ByteUtils; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; -import org.spongycastle.pqc.math.linearalgebra.IntegerFunctions; - -/** - * This class implements the Kobara/Imai conversion of the McEliecePKCS. This is - * a conversion of the McEliecePKCS which is CCA2-secure. For details, see D. - * Engelbert, R. Overbeck, A. Schmidt, "A summary of the development of the - * McEliece Cryptosystem", technical report. - */ -public class McElieceKobaraImaiCipher - implements MessageEncryptor -{ - - /** - * The OID of the algorithm. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.2.3"; - - private static final String DEFAULT_PRNG_NAME = "SHA1PRNG"; - - /** - * A predetermined public constant. - */ - public static final byte[] PUBLIC_CONSTANT = "a predetermined public constant" - .getBytes(); - - - private Digest messDigest; - - private SecureRandom sr; - - McElieceCCA2KeyParameters key; - - /** - * The McEliece main parameters - */ - private int n, k, t; - - - public void init(boolean forSigning, - CipherParameters param) - { - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.sr = rParam.getRandom(); - this.key = (McElieceCCA2PublicKeyParameters)rParam.getParameters(); - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - - } - else - { - this.sr = new SecureRandom(); - this.key = (McElieceCCA2PublicKeyParameters)param; - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - } - } - else - { - this.key = (McElieceCCA2PrivateKeyParameters)param; - this.initCipherDecrypt((McElieceCCA2PrivateKeyParameters)key); - } - - } - - /** - * Return the key size of the given key object. - * - * @param key the McElieceCCA2KeyParameters object - * @return the key size of the given key object - */ - public int getKeySize(McElieceCCA2KeyParameters key) - { - if (key instanceof McElieceCCA2PublicKeyParameters) - { - return ((McElieceCCA2PublicKeyParameters)key).getN(); - - } - if (key instanceof McElieceCCA2PrivateKeyParameters) - { - return ((McElieceCCA2PrivateKeyParameters)key).getN(); - } - throw new IllegalArgumentException("unsupported type"); - } - - private void initCipherEncrypt(McElieceCCA2PublicKeyParameters pubKey) - { - this.messDigest = pubKey.getParameters().getDigest(); - n = pubKey.getN(); - k = pubKey.getK(); - t = pubKey.getT(); - - } - - public void initCipherDecrypt(McElieceCCA2PrivateKeyParameters privKey) - { - this.messDigest = privKey.getParameters().getDigest(); - n = privKey.getN(); - k = privKey.getK(); - t = privKey.getT(); - } - - public byte[] messageEncrypt(byte[] input) - throws Exception - { - - int c2Len = messDigest.getDigestSize(); - int c4Len = k >> 3; - int c5Len = (IntegerFunctions.binomial(n, t).bitLength() - 1) >> 3; - - - int mLen = c4Len + c5Len - c2Len - PUBLIC_CONSTANT.length; - if (input.length > mLen) - { - mLen = input.length; - } - - int c1Len = mLen + PUBLIC_CONSTANT.length; - int c6Len = c1Len + c2Len - c4Len - c5Len; - - // compute (m||const) - byte[] mConst = new byte[c1Len]; - System.arraycopy(input, 0, mConst, 0, input.length); - System.arraycopy(PUBLIC_CONSTANT, 0, mConst, mLen, - PUBLIC_CONSTANT.length); - - // generate random r of length c2Len bytes - byte[] r = new byte[c2Len]; - sr.nextBytes(r); - - // get PRNG object - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(r); - - // generate random sequence ... - byte[] c1 = new byte[c1Len]; - sr0.nextBytes(c1); - - // ... and XOR with (m||const) to obtain c1 - for (int i = c1Len - 1; i >= 0; i--) - { - c1[i] ^= mConst[i]; - } - - // compute H(c1) ... - byte[] c2 = new byte[messDigest.getDigestSize()]; - messDigest.update(c1, 0, c1.length); - messDigest.doFinal(c2, 0); - - // ... and XOR with r - for (int i = c2Len - 1; i >= 0; i--) - { - c2[i] ^= r[i]; - } - - // compute (c2||c1) - byte[] c2c1 = ByteUtils.concatenate(c2, c1); - - // split (c2||c1) into (c6||c5||c4), where c4Len is k/8 bytes, c5Len is - // floor[log(n|t)]/8 bytes, and c6Len is c1Len+c2Len-c4Len-c5Len (may be - // 0). - byte[] c6 = new byte[0]; - if (c6Len > 0) - { - c6 = new byte[c6Len]; - System.arraycopy(c2c1, 0, c6, 0, c6Len); - } - - byte[] c5 = new byte[c5Len]; - System.arraycopy(c2c1, c6Len, c5, 0, c5Len); - - byte[] c4 = new byte[c4Len]; - System.arraycopy(c2c1, c6Len + c5Len, c4, 0, c4Len); - - // convert c4 to vector over GF(2) - GF2Vector c4Vec = GF2Vector.OS2VP(k, c4); - - // convert c5 to error vector z - GF2Vector z = Conversions.encode(n, t, c5); - - // compute encC4 = E(c4, z) - byte[] encC4 = McElieceCCA2Primitives.encryptionPrimitive((McElieceCCA2PublicKeyParameters)key, - c4Vec, z).getEncoded(); - - // if c6Len > 0 - if (c6Len > 0) - { - // return (c6||encC4) - return ByteUtils.concatenate(c6, encC4); - } - // else, return encC4 - return encC4; - } - - - public byte[] messageDecrypt(byte[] input) - throws Exception - { - - int nDiv8 = n >> 3; - - if (input.length < nDiv8) - { - throw new Exception("Bad Padding: Ciphertext too short."); - } - - int c2Len = messDigest.getDigestSize(); - int c4Len = k >> 3; - int c6Len = input.length - nDiv8; - - // split cipher text (c6||encC4), where c6 may be empty - byte[] c6, encC4; - if (c6Len > 0) - { - byte[][] c6EncC4 = ByteUtils.split(input, c6Len); - c6 = c6EncC4[0]; - encC4 = c6EncC4[1]; - } - else - { - c6 = new byte[0]; - encC4 = input; - } - - // convert encC4 into vector over GF(2) - GF2Vector encC4Vec = GF2Vector.OS2VP(n, encC4); - - // decrypt encC4Vec to obtain c4 and error vector z - GF2Vector[] c4z = McElieceCCA2Primitives.decryptionPrimitive((McElieceCCA2PrivateKeyParameters)key, - encC4Vec); - byte[] c4 = c4z[0].getEncoded(); - GF2Vector z = c4z[1]; - - // if length of c4 is greater than c4Len (because of padding) ... - if (c4.length > c4Len) - { - // ... truncate the padding bytes - c4 = ByteUtils.subArray(c4, 0, c4Len); - } - - // compute c5 = Conv^-1(z) - byte[] c5 = Conversions.decode(n, t, z); - - // compute (c6||c5||c4) - byte[] c6c5c4 = ByteUtils.concatenate(c6, c5); - c6c5c4 = ByteUtils.concatenate(c6c5c4, c4); - - // split (c6||c5||c4) into (c2||c1), where c2Len = mdLen and c1Len = - // input.length-c2Len bytes. - int c1Len = c6c5c4.length - c2Len; - byte[][] c2c1 = ByteUtils.split(c6c5c4, c2Len); - byte[] c2 = c2c1[0]; - byte[] c1 = c2c1[1]; - - // compute H(c1) ... - byte[] rPrime = new byte[messDigest.getDigestSize()]; - messDigest.update(c1, 0, c1.length); - messDigest.doFinal(rPrime, 0); - - // ... and XOR with c2 to obtain r' - for (int i = c2Len - 1; i >= 0; i--) - { - rPrime[i] ^= c2[i]; - } - - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(rPrime); - - // generate random sequence R(r') ... - byte[] mConstPrime = new byte[c1Len]; - sr0.nextBytes(mConstPrime); - - // ... and XOR with c1 to obtain (m||const') - for (int i = c1Len - 1; i >= 0; i--) - { - mConstPrime[i] ^= c1[i]; - } - - if (mConstPrime.length < c1Len) - { - throw new Exception("Bad Padding: invalid ciphertext"); - } - - byte[][] temp = ByteUtils.split(mConstPrime, c1Len - - PUBLIC_CONSTANT.length); - byte[] mr = temp[0]; - byte[] constPrime = temp[1]; - - if (!ByteUtils.equals(constPrime, PUBLIC_CONSTANT)) - { - throw new Exception("Bad Padding: invalid ciphertext"); - } - - return mr; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiDigestCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiDigestCipher.java deleted file mode 100644 index 7df9cc0d3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceKobaraImaiDigestCipher.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageEncryptor; - -// TODO should implement some interface? -public class McElieceKobaraImaiDigestCipher -{ - - private final Digest messDigest; - - private final MessageEncryptor mcElieceCCA2Cipher; - - private boolean forEncrypting; - - - public McElieceKobaraImaiDigestCipher(MessageEncryptor mcElieceCCA2Cipher, Digest messDigest) - { - this.mcElieceCCA2Cipher = mcElieceCCA2Cipher; - this.messDigest = messDigest; - } - - - public void init(boolean forEncrypting, - CipherParameters param) - { - - this.forEncrypting = forEncrypting; - AsymmetricKeyParameter k; - - if (param instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)param; - } - - if (forEncrypting && k.isPrivate()) - { - throw new IllegalArgumentException("Encrypting Requires Public Key."); - } - - if (!forEncrypting && !k.isPrivate()) - { - throw new IllegalArgumentException("Decrypting Requires Private Key."); - } - - reset(); - - mcElieceCCA2Cipher.init(forEncrypting, param); - } - - - public byte[] messageEncrypt() - { - if (!forEncrypting) - { - throw new IllegalStateException("McElieceKobaraImaiDigestCipher not initialised for encrypting."); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - byte[] enc = null; - - try - { - enc = mcElieceCCA2Cipher.messageEncrypt(hash); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return enc; - } - - - public byte[] messageDecrypt(byte[] ciphertext) - { - byte[] output = null; - if (forEncrypting) - { - throw new IllegalStateException("McElieceKobaraImaiDigestCipher not initialised for decrypting."); - } - - - try - { - output = mcElieceCCA2Cipher.messageDecrypt(ciphertext); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return output; - } - - - public void update(byte b) - { - messDigest.update(b); - - } - - public void update(byte[] in, int off, int len) - { - messDigest.update(in, off, len); - - } - - - public void reset() - { - messDigest.reset(); - - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSCipher.java deleted file mode 100644 index 2e843aa07..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSCipher.java +++ /dev/null @@ -1,224 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageEncryptor; -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.GoppaCode; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; -import org.spongycastle.pqc.math.linearalgebra.Vector; - -/** - * This class implements the McEliece Public Key cryptosystem (McEliecePKCS). It - * was first described in R.J. McEliece, "A public key cryptosystem based on - * algebraic coding theory", DSN progress report, 42-44:114-116, 1978. The - * McEliecePKCS is the first cryptosystem which is based on error correcting - * codes. The trapdoor for the McEliece cryptosystem using Goppa codes is the - * knowledge of the Goppa polynomial used to generate the code. - */ -public class McEliecePKCSCipher - implements MessageEncryptor -{ - - /** - * The OID of the algorithm. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.1"; - - - // the source of randomness - private SecureRandom sr; - - // the McEliece main parameters - private int n, k, t; - - // The maximum number of bytes the cipher can decrypt - public int maxPlainTextSize; - - // The maximum number of bytes the cipher can encrypt - public int cipherTextSize; - - McElieceKeyParameters key; - - - public void init(boolean forSigning, - CipherParameters param) - { - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.sr = rParam.getRandom(); - this.key = (McEliecePublicKeyParameters)rParam.getParameters(); - this.initCipherEncrypt((McEliecePublicKeyParameters)key); - - } - else - { - this.sr = new SecureRandom(); - this.key = (McEliecePublicKeyParameters)param; - this.initCipherEncrypt((McEliecePublicKeyParameters)key); - } - } - else - { - this.key = (McEliecePrivateKeyParameters)param; - this.initCipherDecrypt((McEliecePrivateKeyParameters)key); - } - - } - - - /** - * Return the key size of the given key object. - * - * @param key the McElieceKeyParameters object - * @return the keysize of the given key object - */ - - public int getKeySize(McElieceKeyParameters key) - { - - if (key instanceof McEliecePublicKeyParameters) - { - return ((McEliecePublicKeyParameters)key).getN(); - - } - if (key instanceof McEliecePrivateKeyParameters) - { - return ((McEliecePrivateKeyParameters)key).getN(); - } - throw new IllegalArgumentException("unsupported type"); - - } - - - public void initCipherEncrypt(McEliecePublicKeyParameters pubKey) - { - this.sr = sr != null ? sr : new SecureRandom(); - n = pubKey.getN(); - k = pubKey.getK(); - t = pubKey.getT(); - cipherTextSize = n >> 3; - maxPlainTextSize = (k >> 3); - } - - - public void initCipherDecrypt(McEliecePrivateKeyParameters privKey) - { - n = privKey.getN(); - k = privKey.getK(); - - maxPlainTextSize = (k >> 3); - cipherTextSize = n >> 3; - } - - /** - * Encrypt a plain text. - * - * @param input the plain text - * @return the cipher text - */ - public byte[] messageEncrypt(byte[] input) - { - GF2Vector m = computeMessageRepresentative(input); - GF2Vector z = new GF2Vector(n, t, sr); - - GF2Matrix g = ((McEliecePublicKeyParameters)key).getG(); - Vector mG = g.leftMultiply(m); - GF2Vector mGZ = (GF2Vector)mG.add(z); - - return mGZ.getEncoded(); - } - - private GF2Vector computeMessageRepresentative(byte[] input) - { - byte[] data = new byte[maxPlainTextSize + ((k & 0x07) != 0 ? 1 : 0)]; - System.arraycopy(input, 0, data, 0, input.length); - data[input.length] = 0x01; - return GF2Vector.OS2VP(k, data); - } - - /** - * Decrypt a cipher text. - * - * @param input the cipher text - * @return the plain text - * @throws Exception if the cipher text is invalid. - */ - public byte[] messageDecrypt(byte[] input) - throws Exception - { - GF2Vector vec = GF2Vector.OS2VP(n, input); - McEliecePrivateKeyParameters privKey = (McEliecePrivateKeyParameters)key; - GF2mField field = privKey.getField(); - PolynomialGF2mSmallM gp = privKey.getGoppaPoly(); - GF2Matrix sInv = privKey.getSInv(); - Permutation p1 = privKey.getP1(); - Permutation p2 = privKey.getP2(); - GF2Matrix h = privKey.getH(); - PolynomialGF2mSmallM[] qInv = privKey.getQInv(); - - // compute permutation P = P1 * P2 - Permutation p = p1.rightMultiply(p2); - - // compute P^-1 - Permutation pInv = p.computeInverse(); - - // compute c P^-1 - GF2Vector cPInv = (GF2Vector)vec.multiply(pInv); - - // compute syndrome of c P^-1 - GF2Vector syndrome = (GF2Vector)h.rightMultiply(cPInv); - - // decode syndrome - GF2Vector z = GoppaCode.syndromeDecode(syndrome, field, gp, qInv); - GF2Vector mSG = (GF2Vector)cPInv.add(z); - - // multiply codeword with P1 and error vector with P - mSG = (GF2Vector)mSG.multiply(p1); - z = (GF2Vector)z.multiply(p); - - // extract mS (last k columns of mSG) - GF2Vector mS = mSG.extractRightVector(k); - - // compute plaintext vector - GF2Vector mVec = (GF2Vector)sInv.leftMultiply(mS); - - // compute and return plaintext - return computeMessage(mVec); - } - - private byte[] computeMessage(GF2Vector mr) - throws Exception - { - byte[] mrBytes = mr.getEncoded(); - // find first non-zero byte - int index; - for (index = mrBytes.length - 1; index >= 0 && mrBytes[index] == 0; index--) - { - ; - } - - // check if padding byte is valid - if (mrBytes[index] != 0x01) - { - throw new Exception("Bad Padding: invalid ciphertext"); - } - - // extract and return message - byte[] mBytes = new byte[index]; - System.arraycopy(mrBytes, 0, mBytes, 0, index); - return mBytes; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSDigestCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSDigestCipher.java deleted file mode 100644 index 901fe6883..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePKCSDigestCipher.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageEncryptor; - -// TODO should implement some interface? -public class McEliecePKCSDigestCipher -{ - - private final Digest messDigest; - - private final MessageEncryptor mcElieceCipher; - - private boolean forEncrypting; - - - public McEliecePKCSDigestCipher(MessageEncryptor mcElieceCipher, Digest messDigest) - { - this.mcElieceCipher = mcElieceCipher; - this.messDigest = messDigest; - } - - - public void init(boolean forEncrypting, - CipherParameters param) - { - - this.forEncrypting = forEncrypting; - AsymmetricKeyParameter k; - - if (param instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)param; - } - - if (forEncrypting && k.isPrivate()) - { - throw new IllegalArgumentException("Encrypting Requires Public Key."); - } - - if (!forEncrypting && !k.isPrivate()) - { - throw new IllegalArgumentException("Decrypting Requires Private Key."); - } - - reset(); - - mcElieceCipher.init(forEncrypting, param); - } - - - public byte[] messageEncrypt() - { - if (!forEncrypting) - { - throw new IllegalStateException("McEliecePKCSDigestCipher not initialised for encrypting."); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - byte[] enc = null; - - try - { - enc = mcElieceCipher.messageEncrypt(hash); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return enc; - } - - - public byte[] messageDecrypt(byte[] ciphertext) - { - byte[] output = null; - if (forEncrypting) - { - throw new IllegalStateException("McEliecePKCSDigestCipher not initialised for decrypting."); - } - - - try - { - output = mcElieceCipher.messageDecrypt(ciphertext); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return output; - } - - - public void update(byte b) - { - messDigest.update(b); - - } - - public void update(byte[] in, int off, int len) - { - messDigest.update(in, off, len); - - } - - - public void reset() - { - messDigest.reset(); - - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceParameters.java deleted file mode 100644 index d49f92793..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McElieceParameters.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.pqc.math.linearalgebra.PolynomialRingGF2; - -public class McElieceParameters - implements CipherParameters -{ - - /** - * The default extension degree - */ - public static final int DEFAULT_M = 11; - - /** - * The default error correcting capability. - */ - public static final int DEFAULT_T = 50; - - /** - * extension degree of the finite field GF(2^m) - */ - private int m; - - /** - * error correction capability of the code - */ - private int t; - - /** - * length of the code - */ - private int n; - - /** - * the field polynomial - */ - private int fieldPoly; - - /** - * Constructor. Set the default parameters: extension degree. - */ - public McElieceParameters() - { - this(DEFAULT_M, DEFAULT_T); - } - - /** - * Constructor. - * - * @param keysize the length of a Goppa code - * @throws IllegalArgumentException if keysize < 1. - */ - public McElieceParameters(int keysize) - throws IllegalArgumentException - { - if (keysize < 1) - { - throw new IllegalArgumentException("key size must be positive"); - } - m = 0; - n = 1; - while (n < keysize) - { - n <<= 1; - m++; - } - t = n >>> 1; - t /= m; - fieldPoly = PolynomialRingGF2.getIrreduciblePolynomial(m); - } - - /** - * Constructor. - * - * @param m degree of the finite field GF(2^m) - * @param t error correction capability of the code - * @throws IllegalArgumentException if m < 1 or m > 32 or - * t < 0 or t > n. - */ - public McElieceParameters(int m, int t) - throws IllegalArgumentException - { - if (m < 1) - { - throw new IllegalArgumentException("m must be positive"); - } - if (m > 32) - { - throw new IllegalArgumentException("m is too large"); - } - this.m = m; - n = 1 << m; - if (t < 0) - { - throw new IllegalArgumentException("t must be positive"); - } - if (t > n) - { - throw new IllegalArgumentException("t must be less than n = 2^m"); - } - this.t = t; - fieldPoly = PolynomialRingGF2.getIrreduciblePolynomial(m); - } - - /** - * Constructor. - * - * @param m degree of the finite field GF(2^m) - * @param t error correction capability of the code - * @param poly the field polynomial - * @throws IllegalArgumentException if m < 1 or m > 32 or - * t < 0 or t > n or - * poly is not an irreducible field polynomial. - */ - public McElieceParameters(int m, int t, int poly) - throws IllegalArgumentException - { - this.m = m; - if (m < 1) - { - throw new IllegalArgumentException("m must be positive"); - } - if (m > 32) - { - throw new IllegalArgumentException(" m is too large"); - } - this.n = 1 << m; - this.t = t; - if (t < 0) - { - throw new IllegalArgumentException("t must be positive"); - } - if (t > n) - { - throw new IllegalArgumentException("t must be less than n = 2^m"); - } - if ((PolynomialRingGF2.degree(poly) == m) - && (PolynomialRingGF2.isIrreducible(poly))) - { - this.fieldPoly = poly; - } - else - { - throw new IllegalArgumentException( - "polynomial is not a field polynomial for GF(2^m)"); - } - } - - /** - * @return the extension degree of the finite field GF(2^m) - */ - public int getM() - { - return m; - } - - /** - * @return the length of the code - */ - public int getN() - { - return n; - } - - /** - * @return the error correction capability of the code - */ - public int getT() - { - return t; - } - - /** - * @return the field polynomial - */ - public int getFieldPoly() - { - return fieldPoly; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalCipher.java deleted file mode 100644 index ba58258bd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalCipher.java +++ /dev/null @@ -1,241 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.prng.DigestRandomGenerator; -import org.spongycastle.pqc.crypto.MessageEncryptor; -import org.spongycastle.pqc.math.linearalgebra.ByteUtils; -import org.spongycastle.pqc.math.linearalgebra.GF2Vector; - -/** - * This class implements the Pointcheval conversion of the McEliecePKCS. - * Pointcheval presents a generic technique to make a CCA2-secure cryptosystem - * from any partially trapdoor one-way function in the random oracle model. For - * details, see D. Engelbert, R. Overbeck, A. Schmidt, "A summary of the - * development of the McEliece Cryptosystem", technical report. - */ -public class McEliecePointchevalCipher - implements MessageEncryptor -{ - - - /** - * The OID of the algorithm. - */ - public static final String OID = "1.3.6.1.4.1.8301.3.1.3.4.2.2"; - - private Digest messDigest; - - private SecureRandom sr; - - /** - * The McEliece main parameters - */ - private int n, k, t; - - McElieceCCA2KeyParameters key; - - public void init(boolean forSigning, - CipherParameters param) - { - - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.sr = rParam.getRandom(); - this.key = (McElieceCCA2PublicKeyParameters)rParam.getParameters(); - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - - } - else - { - this.sr = new SecureRandom(); - this.key = (McElieceCCA2PublicKeyParameters)param; - this.initCipherEncrypt((McElieceCCA2PublicKeyParameters)key); - } - } - else - { - this.key = (McElieceCCA2PrivateKeyParameters)param; - this.initCipherDecrypt((McElieceCCA2PrivateKeyParameters)key); - } - - } - - /** - * Return the key size of the given key object. - * - * @param key the McElieceCCA2KeyParameters object - * @return the key size of the given key object - * @throws IllegalArgumentException if the key is invalid - */ - public int getKeySize(McElieceCCA2KeyParameters key) - throws IllegalArgumentException - { - - if (key instanceof McElieceCCA2PublicKeyParameters) - { - return ((McElieceCCA2PublicKeyParameters)key).getN(); - - } - if (key instanceof McElieceCCA2PrivateKeyParameters) - { - return ((McElieceCCA2PrivateKeyParameters)key).getN(); - } - throw new IllegalArgumentException("unsupported type"); - - } - - - protected int decryptOutputSize(int inLen) - { - return 0; - } - - protected int encryptOutputSize(int inLen) - { - return 0; - } - - - public void initCipherEncrypt(McElieceCCA2PublicKeyParameters pubKey) - { - this.sr = sr != null ? sr : new SecureRandom(); - this.messDigest = pubKey.getParameters().getDigest(); - n = pubKey.getN(); - k = pubKey.getK(); - t = pubKey.getT(); - } - - public void initCipherDecrypt(McElieceCCA2PrivateKeyParameters privKey) - { - this.messDigest = privKey.getParameters().getDigest(); - n = privKey.getN(); - k = privKey.getK(); - t = privKey.getT(); - } - - public byte[] messageEncrypt(byte[] input) - throws Exception - { - - int kDiv8 = k >> 3; - - // generate random r of length k div 8 bytes - byte[] r = new byte[kDiv8]; - sr.nextBytes(r); - - // generate random vector r' of length k bits - GF2Vector rPrime = new GF2Vector(k, sr); - - // convert r' to byte array - byte[] rPrimeBytes = rPrime.getEncoded(); - - // compute (input||r) - byte[] mr = ByteUtils.concatenate(input, r); - - // compute H(input||r) - messDigest.update(mr, 0, mr.length); - byte[] hmr = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hmr, 0); - - - // convert H(input||r) to error vector z - GF2Vector z = Conversions.encode(n, t, hmr); - - // compute c1 = E(rPrime, z) - byte[] c1 = McElieceCCA2Primitives.encryptionPrimitive((McElieceCCA2PublicKeyParameters)key, rPrime, - z).getEncoded(); - - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(rPrimeBytes); - - // generate random c2 - byte[] c2 = new byte[input.length + kDiv8]; - sr0.nextBytes(c2); - - // XOR with input - for (int i = 0; i < input.length; i++) - { - c2[i] ^= input[i]; - } - // XOR with r - for (int i = 0; i < kDiv8; i++) - { - c2[input.length + i] ^= r[i]; - } - - // return (c1||c2) - return ByteUtils.concatenate(c1, c2); - } - - public byte[] messageDecrypt(byte[] input) - throws Exception - { - - int c1Len = (n + 7) >> 3; - int c2Len = input.length - c1Len; - - // split cipher text (c1||c2) - byte[][] c1c2 = ByteUtils.split(input, c1Len); - byte[] c1 = c1c2[0]; - byte[] c2 = c1c2[1]; - - // decrypt c1 ... - GF2Vector c1Vec = GF2Vector.OS2VP(n, c1); - GF2Vector[] c1Dec = McElieceCCA2Primitives.decryptionPrimitive((McElieceCCA2PrivateKeyParameters)key, - c1Vec); - byte[] rPrimeBytes = c1Dec[0].getEncoded(); - // ... and obtain error vector z - GF2Vector z = c1Dec[1]; - - // get PRNG object - DigestRandomGenerator sr0 = new DigestRandomGenerator(new SHA1Digest()); - - // seed PRNG with r' - sr0.addSeedMaterial(rPrimeBytes); - - // generate random sequence - byte[] mrBytes = new byte[c2Len]; - sr0.nextBytes(mrBytes); - - // XOR with c2 to obtain (m||r) - for (int i = 0; i < c2Len; i++) - { - mrBytes[i] ^= c2[i]; - } - - // compute H(m||r) - messDigest.update(mrBytes, 0, mrBytes.length); - byte[] hmr = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hmr, 0); - - // compute Conv(H(m||r)) - c1Vec = Conversions.encode(n, t, hmr); - - // check that Conv(H(m||r)) = z - if (!c1Vec.equals(z)) - { - throw new Exception("Bad Padding: Invalid ciphertext."); - } - - // split (m||r) to obtain m - int kDiv8 = k >> 3; - byte[][] mr = ByteUtils.split(mrBytes, c2Len - kDiv8); - - // return plain text m - return mr[0]; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalDigestCipher.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalDigestCipher.java deleted file mode 100644 index bcfd1d875..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePointchevalDigestCipher.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageEncryptor; - -// TODO should implement some interface? -public class McEliecePointchevalDigestCipher -{ - - private final Digest messDigest; - - private final MessageEncryptor mcElieceCCA2Cipher; - - private boolean forEncrypting; - - - public McEliecePointchevalDigestCipher(MessageEncryptor mcElieceCCA2Cipher, Digest messDigest) - { - this.mcElieceCCA2Cipher = mcElieceCCA2Cipher; - this.messDigest = messDigest; - } - - - public void init(boolean forEncrypting, - CipherParameters param) - { - - this.forEncrypting = forEncrypting; - AsymmetricKeyParameter k; - - if (param instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)param; - } - - if (forEncrypting && k.isPrivate()) - { - throw new IllegalArgumentException("Encrypting Requires Public Key."); - } - - if (!forEncrypting && !k.isPrivate()) - { - throw new IllegalArgumentException("Decrypting Requires Private Key."); - } - - reset(); - - mcElieceCCA2Cipher.init(forEncrypting, param); - } - - - public byte[] messageEncrypt() - { - if (!forEncrypting) - { - throw new IllegalStateException("McEliecePointchevalDigestCipher not initialised for encrypting."); - } - - byte[] hash = new byte[messDigest.getDigestSize()]; - messDigest.doFinal(hash, 0); - byte[] enc = null; - - try - { - enc = mcElieceCCA2Cipher.messageEncrypt(hash); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return enc; - } - - - public byte[] messageDecrypt(byte[] ciphertext) - { - byte[] output = null; - if (forEncrypting) - { - throw new IllegalStateException("McEliecePointchevalDigestCipher not initialised for decrypting."); - } - - - try - { - output = mcElieceCCA2Cipher.messageDecrypt(ciphertext); - } - catch (Exception e) - { - e.printStackTrace(); - } - - - return output; - } - - - public void update(byte b) - { - messDigest.update(b); - - } - - public void update(byte[] in, int off, int len) - { - messDigest.update(in, off, len); - - } - - - public void reset() - { - messDigest.reset(); - - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePrivateKeyParameters.java deleted file mode 100644 index 3c4ef3247..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePrivateKeyParameters.java +++ /dev/null @@ -1,197 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; -import org.spongycastle.pqc.math.linearalgebra.GF2mField; -import org.spongycastle.pqc.math.linearalgebra.Permutation; -import org.spongycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM; - - -public class McEliecePrivateKeyParameters - extends McElieceKeyParameters -{ - - // the OID of the algorithm - private String oid; - - // the length of the code - private int n; - - // the dimension of the code, where k >= n - mt - private int k; - - // the underlying finite field - private GF2mField field; - - // the irreducible Goppa polynomial - private PolynomialGF2mSmallM goppaPoly; - - // a k x k random binary non-singular matrix - private GF2Matrix sInv; - - // the permutation used to generate the systematic check matrix - private Permutation p1; - - // the permutation used to compute the public generator matrix - private Permutation p2; - - // the canonical check matrix of the code - private GF2Matrix h; - - // the matrix used to compute square roots in (GF(2^m))^t - private PolynomialGF2mSmallM[] qInv; - - /** - * Constructor. - * - * @param oid - * @param n the length of the code - * @param k the dimension of the code - * @param field the field polynomial defining the finite field - * GF(2m) - * @param goppaPoly the irreducible Goppa polynomial - * @param sInv the matrix S-1 - * @param p1 the permutation used to generate the systematic check - * matrix - * @param p2 the permutation used to compute the public generator - * matrix - * @param h the canonical check matrix - * @param qInv the matrix used to compute square roots in - * (GF(2m))t - * @param params McElieceParameters - */ - public McEliecePrivateKeyParameters(String oid, int n, int k, GF2mField field, - PolynomialGF2mSmallM goppaPoly, GF2Matrix sInv, Permutation p1, - Permutation p2, GF2Matrix h, PolynomialGF2mSmallM[] qInv, McElieceParameters params) - { - super(true, params); - this.oid = oid; - this.k = k; - this.n = n; - this.field = field; - this.goppaPoly = goppaPoly; - this.sInv = sInv; - this.p1 = p1; - this.p2 = p2; - this.h = h; - this.qInv = qInv; - } - - /** - * Constructor (used by the {@link McElieceKeyFactory}). - * - * @param oid - * @param n the length of the code - * @param k the dimension of the code - * @param encField the encoded field polynomial defining the finite field - * GF(2m) - * @param encGoppaPoly the encoded irreducible Goppa polynomial - * @param encSInv the encoded matrix S-1 - * @param encP1 the encoded permutation used to generate the systematic - * check matrix - * @param encP2 the encoded permutation used to compute the public - * generator matrix - * @param encH the encoded canonical check matrix - * @param encQInv the encoded matrix used to compute square roots in - * (GF(2m))t - * @param params McElieceParameters - */ - public McEliecePrivateKeyParameters(String oid, int n, int k, byte[] encField, - byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2, - byte[] encH, byte[][] encQInv, McElieceParameters params) - { - super(true, params); - this.oid = oid; - this.n = n; - this.k = k; - field = new GF2mField(encField); - goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly); - sInv = new GF2Matrix(encSInv); - p1 = new Permutation(encP1); - p2 = new Permutation(encP2); - h = new GF2Matrix(encH); - qInv = new PolynomialGF2mSmallM[encQInv.length]; - for (int i = 0; i < encQInv.length; i++) - { - qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]); - } - } - - /** - * @return the length of the code - */ - public int getN() - { - return n; - } - - /** - * @return the dimension of the code - */ - public int getK() - { - return k; - } - - /** - * @return the finite field GF(2m) - */ - public GF2mField getField() - { - return field; - } - - /** - * @return the irreducible Goppa polynomial - */ - public PolynomialGF2mSmallM getGoppaPoly() - { - return goppaPoly; - } - - /** - * @return the k x k random binary non-singular matrix S^-1 - */ - public GF2Matrix getSInv() - { - return sInv; - } - - /** - * @return the permutation used to generate the systematic check matrix - */ - public Permutation getP1() - { - return p1; - } - - /** - * @return the permutation used to compute the public generator matrix - */ - public Permutation getP2() - { - return p2; - } - - /** - * @return the canonical check matrix H - */ - public GF2Matrix getH() - { - return h; - } - - /** - * @return the matrix used to compute square roots in - * (GF(2m))t - */ - public PolynomialGF2mSmallM[] getQInv() - { - return qInv; - } - - public String getOIDString() - { - return oid; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePublicKeyParameters.java deleted file mode 100644 index 9f0112434..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/mceliece/McEliecePublicKeyParameters.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.pqc.crypto.mceliece; - -import org.spongycastle.pqc.math.linearalgebra.GF2Matrix; - - -public class McEliecePublicKeyParameters - extends McElieceKeyParameters -{ - - // the OID of the algorithm - private String oid; - - // the length of the code - private int n; - - // the error correction capability of the code - private int t; - - // the generator matrix - private GF2Matrix g; - - /** - * Constructor (used by {@link McElieceKeyFactory}). - * - * @param oid - * @param n the length of the code - * @param t the error correction capability of the code - * @param g the generator matrix - * @param params McElieceParameters - */ - public McEliecePublicKeyParameters(String oid, int n, int t, GF2Matrix g, McElieceParameters params) - { - super(false, params); - this.oid = oid; - this.n = n; - this.t = t; - this.g = new GF2Matrix(g); - } - - /** - * Constructor (used by {@link McElieceKeyFactory}). - * - * @param oid - * @param n the length of the code - * @param t the error correction capability of the code - * @param encG the encoded generator matrix - * @param params McElieceParameters - */ - public McEliecePublicKeyParameters(String oid, int t, int n, byte[] encG, McElieceParameters params) - { - super(false, params); - this.oid = oid; - this.n = n; - this.t = t; - this.g = new GF2Matrix(encG); - } - - /** - * @return the length of the code - */ - public int getN() - { - return n; - } - - /** - * @return the error correction capability of the code - */ - public int getT() - { - return t; - } - - /** - * @return the generator matrix - */ - public GF2Matrix getG() - { - return g; - } - - public String getOIDString() - { - return oid; - - } - - /** - * @return the dimension of the code - */ - public int getK() - { - return g.getNumRows(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/IndexGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/IndexGenerator.java deleted file mode 100644 index 01caf9700..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/IndexGenerator.java +++ /dev/null @@ -1,239 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Arrays; - -/** - * An implementation of the Index Generation Function in IEEE P1363.1. - */ -public class IndexGenerator -{ - private byte[] seed; - private int N; - private int c; - private int minCallsR; - private int totLen; - private int remLen; - private BitString buf; - private int counter; - private boolean initialized; - private Digest hashAlg; - private int hLen; - - /** - * Constructs a new index generator. - * - * @param seed a seed of arbitrary length to initialize the index generator with - * @param params NtruEncrypt parameters - */ - IndexGenerator(byte[] seed, NTRUEncryptionParameters params) - { - this.seed = seed; - N = params.N; - c = params.c; - minCallsR = params.minCallsR; - - totLen = 0; - remLen = 0; - counter = 0; - hashAlg = params.hashAlg; - - hLen = hashAlg.getDigestSize(); // hash length - initialized = false; - } - - /** - * Returns a number i such that 0 <= i < N. - * - * @return - */ - int nextIndex() - { - if (!initialized) - { - buf = new BitString(); - byte[] hash = new byte[hashAlg.getDigestSize()]; - while (counter < minCallsR) - { - appendHash(buf, hash); - counter++; - } - totLen = minCallsR * 8 * hLen; - remLen = totLen; - initialized = true; - } - - while (true) - { - totLen += c; - BitString M = buf.getTrailing(remLen); - if (remLen < c) - { - int tmpLen = c - remLen; - int cThreshold = counter + (tmpLen + hLen - 1) / hLen; - byte[] hash = new byte[hashAlg.getDigestSize()]; - while (counter < cThreshold) - { - appendHash(M, hash); - counter++; - if (tmpLen > 8 * hLen) - { - tmpLen -= 8 * hLen; - } - } - remLen = 8 * hLen - tmpLen; - buf = new BitString(); - buf.appendBits(hash); - } - else - { - remLen -= c; - } - - int i = M.getLeadingAsInt(c); // assume c<32 - if (i < (1 << c) - ((1 << c) % N)) - { - return i % N; - } - } - } - - private void appendHash(BitString m, byte[] hash) - { - hashAlg.update(seed, 0, seed.length); - - putInt(hashAlg, counter); - - hashAlg.doFinal(hash, 0); - - m.appendBits(hash); - } - - private void putInt(Digest hashAlg, int counter) - { - hashAlg.update((byte)(counter >> 24)); - hashAlg.update((byte)(counter >> 16)); - hashAlg.update((byte)(counter >> 8)); - hashAlg.update((byte)counter); - } - - /** - * Represents a string of bits and supports appending, reading the head, and reading the tail. - */ - public static class BitString - { - byte[] bytes = new byte[4]; - int numBytes; // includes the last byte even if only some of its bits are used - int lastByteBits; // lastByteBits <= 8 - - /** - * Appends all bits in a byte array to the end of the bit string. - * - * @param bytes a byte array - */ - void appendBits(byte[] bytes) - { - for (int i = 0; i != bytes.length; i++) - { - appendBits(bytes[i]); - } - } - - /** - * Appends all bits in a byte to the end of the bit string. - * - * @param b a byte - */ - public void appendBits(byte b) - { - if (numBytes == bytes.length) - { - bytes = copyOf(bytes, 2 * bytes.length); - } - - if (numBytes == 0) - { - numBytes = 1; - bytes[0] = b; - lastByteBits = 8; - } - else if (lastByteBits == 8) - { - bytes[numBytes++] = b; - } - else - { - int s = 8 - lastByteBits; - bytes[numBytes - 1] |= (b & 0xFF) << lastByteBits; - bytes[numBytes++] = (byte)((b & 0xFF) >> s); - } - } - - /** - * Returns the last numBits bits from the end of the bit string. - * - * @param numBits number of bits - * @return a new BitString of length numBits - */ - public BitString getTrailing(int numBits) - { - BitString newStr = new BitString(); - newStr.numBytes = (numBits + 7) / 8; - newStr.bytes = new byte[newStr.numBytes]; - for (int i = 0; i < newStr.numBytes; i++) - { - newStr.bytes[i] = bytes[i]; - } - - newStr.lastByteBits = numBits % 8; - if (newStr.lastByteBits == 0) - { - newStr.lastByteBits = 8; - } - else - { - int s = 32 - newStr.lastByteBits; - newStr.bytes[newStr.numBytes - 1] = (byte)(newStr.bytes[newStr.numBytes - 1] << s >>> s); - } - - return newStr; - } - - /** - * Returns up to 32 bits from the beginning of the bit string. - * - * @param numBits number of bits - * @return an int whose lower numBits bits are the beginning of the bit string - */ - public int getLeadingAsInt(int numBits) - { - int startBit = (numBytes - 1) * 8 + lastByteBits - numBits; - int startByte = startBit / 8; - - int startBitInStartByte = startBit % 8; - int sum = (bytes[startByte] & 0xFF) >>> startBitInStartByte; - int shift = 8 - startBitInStartByte; - for (int i = startByte + 1; i < numBytes; i++) - { - sum |= (bytes[i] & 0xFF) << shift; - shift += 8; - } - - return sum; - } - - public byte[] getBytes() - { - return Arrays.clone(bytes); - } - } - - private static byte[] copyOf(byte[] src, int len) - { - byte[] tmp = new byte[len]; - - System.arraycopy(src, 0, tmp, 0, len < src.length ? len : src.length); - - return tmp; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyGenerationParameters.java deleted file mode 100644 index ce9d813f9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyGenerationParameters.java +++ /dev/null @@ -1,463 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; -import java.util.Arrays; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA512Digest; - -/** - * A set of parameters for NtruEncrypt. Several predefined parameter sets are available and new ones can be created as well. - */ -public class NTRUEncryptionKeyGenerationParameters - extends KeyGenerationParameters - implements Cloneable -{ - /** - * A conservative (in terms of security) parameter set that gives 256 bits of security and is optimized for key size. - */ - public static final NTRUEncryptionKeyGenerationParameters EES1087EP2 = new NTRUEncryptionKeyGenerationParameters(1087, 2048, 120, 120, 256, 13, 25, 14, true, new byte[]{0, 6, 3}, true, false, new SHA512Digest()); - - /** - * A conservative (in terms of security) parameter set that gives 256 bits of security and is a tradeoff between key size and encryption/decryption speed. - */ - public static final NTRUEncryptionKeyGenerationParameters EES1171EP1 = new NTRUEncryptionKeyGenerationParameters(1171, 2048, 106, 106, 256, 13, 20, 15, true, new byte[]{0, 6, 4}, true, false, new SHA512Digest()); - - /** - * A conservative (in terms of security) parameter set that gives 256 bits of security and is optimized for encryption/decryption speed. - */ - public static final NTRUEncryptionKeyGenerationParameters EES1499EP1 = new NTRUEncryptionKeyGenerationParameters(1499, 2048, 79, 79, 256, 13, 17, 19, true, new byte[]{0, 6, 5}, true, false, new SHA512Digest()); - - /** - * A parameter set that gives 128 bits of security and uses simple ternary polynomials. - */ - public static final NTRUEncryptionKeyGenerationParameters APR2011_439 = new NTRUEncryptionKeyGenerationParameters(439, 2048, 146, 130, 128, 9, 32, 9, true, new byte[]{0, 7, 101}, true, false, new SHA256Digest()); - - /** - * Like APR2011_439, this parameter set gives 128 bits of security but uses product-form polynomials and f=1+pF. - */ - public static final NTRUEncryptionKeyGenerationParameters APR2011_439_FAST = new NTRUEncryptionKeyGenerationParameters(439, 2048, 9, 8, 5, 130, 128, 9, 32, 9, true, new byte[]{0, 7, 101}, true, true, new SHA256Digest()); - - /** - * A parameter set that gives 256 bits of security and uses simple ternary polynomials. - */ - public static final NTRUEncryptionKeyGenerationParameters APR2011_743 = new NTRUEncryptionKeyGenerationParameters(743, 2048, 248, 220, 256, 10, 27, 14, true, new byte[]{0, 7, 105}, false, false, new SHA512Digest()); - - /** - * Like APR2011_743, this parameter set gives 256 bits of security but uses product-form polynomials and f=1+pF. - */ - public static final NTRUEncryptionKeyGenerationParameters APR2011_743_FAST = new NTRUEncryptionKeyGenerationParameters(743, 2048, 11, 11, 15, 220, 256, 10, 27, 14, true, new byte[]{0, 7, 105}, false, true, new SHA512Digest()); - - public int N, q, df, df1, df2, df3; - public int dr; - public int dr1; - public int dr2; - public int dr3; - public int dg; - int llen; - public int maxMsgLenBytes; - public int db; - public int bufferLenBits; - int bufferLenTrits; - public int dm0; - public int pkLen; - public int c; - public int minCallsR; - public int minCallsMask; - public boolean hashSeed; - public byte[] oid; - public boolean sparse; - public boolean fastFp; - public int polyType; - public Digest hashAlg; - - /** - * Constructs a parameter set that uses ternary private keys (i.e. polyType=SIMPLE). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param df number of ones in the private polynomial f - * @param dm0 minimum acceptable number of -1's, 0's, and 1's in the polynomial m' in the last encryption step - * @param db number of random bits to prepend to the message - * @param c a parameter for the Index Generation Function ({@link org.spongycastle.pqc.crypto.ntru.IndexGenerator}) - * @param minCallsR minimum number of hash calls for the IGF to make - * @param minCallsMask minimum number of calls to generate the masking polynomial - * @param hashSeed whether to hash the seed in the MGF first (true) or use the seed directly (false) - * @param oid three bytes that uniquely identify the parameter set - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param fastFp whether f=1+p*F for a ternary F (true) or f is ternary (false) - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUEncryptionKeyGenerationParameters(int N, int q, int df, int dm0, int db, int c, int minCallsR, int minCallsMask, boolean hashSeed, byte[] oid, boolean sparse, boolean fastFp, Digest hashAlg) - { - super(new SecureRandom(), db); - this.N = N; - this.q = q; - this.df = df; - this.db = db; - this.dm0 = dm0; - this.c = c; - this.minCallsR = minCallsR; - this.minCallsMask = minCallsMask; - this.hashSeed = hashSeed; - this.oid = oid; - this.sparse = sparse; - this.fastFp = fastFp; - this.polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE; - this.hashAlg = hashAlg; - init(); - } - - /** - * Constructs a parameter set that uses product-form private keys (i.e. polyType=PRODUCT). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param df1 number of ones in the private polynomial f1 - * @param df2 number of ones in the private polynomial f2 - * @param df3 number of ones in the private polynomial f3 - * @param dm0 minimum acceptable number of -1's, 0's, and 1's in the polynomial m' in the last encryption step - * @param db number of random bits to prepend to the message - * @param c a parameter for the Index Generation Function ({@link org.spongycastle.pqc.crypto.ntru.IndexGenerator}) - * @param minCallsR minimum number of hash calls for the IGF to make - * @param minCallsMask minimum number of calls to generate the masking polynomial - * @param hashSeed whether to hash the seed in the MGF first (true) or use the seed directly (false) - * @param oid three bytes that uniquely identify the parameter set - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param fastFp whether f=1+p*F for a ternary F (true) or f is ternary (false) - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256 - */ - public NTRUEncryptionKeyGenerationParameters(int N, int q, int df1, int df2, int df3, int dm0, int db, int c, int minCallsR, int minCallsMask, boolean hashSeed, byte[] oid, boolean sparse, boolean fastFp, Digest hashAlg) - { - super(new SecureRandom(), db); - - this.N = N; - this.q = q; - this.df1 = df1; - this.df2 = df2; - this.df3 = df3; - this.db = db; - this.dm0 = dm0; - this.c = c; - this.minCallsR = minCallsR; - this.minCallsMask = minCallsMask; - this.hashSeed = hashSeed; - this.oid = oid; - this.sparse = sparse; - this.fastFp = fastFp; - this.polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT; - this.hashAlg = hashAlg; - init(); - } - - private void init() - { - dr = df; - dr1 = df1; - dr2 = df2; - dr3 = df3; - dg = N / 3; - llen = 1; // ceil(log2(maxMsgLenBytes)) - maxMsgLenBytes = N * 3 / 2 / 8 - llen - db / 8 - 1; - bufferLenBits = (N * 3 / 2 + 7) / 8 * 8 + 1; - bufferLenTrits = N - 1; - pkLen = db; - } - - /** - * Reads a parameter set from an input stream. - * - * @param is an input stream - * @throws java.io.IOException - */ - public NTRUEncryptionKeyGenerationParameters(InputStream is) - throws IOException - { - super(new SecureRandom(), -1); - DataInputStream dis = new DataInputStream(is); - N = dis.readInt(); - q = dis.readInt(); - df = dis.readInt(); - df1 = dis.readInt(); - df2 = dis.readInt(); - df3 = dis.readInt(); - db = dis.readInt(); - dm0 = dis.readInt(); - c = dis.readInt(); - minCallsR = dis.readInt(); - minCallsMask = dis.readInt(); - hashSeed = dis.readBoolean(); - oid = new byte[3]; - dis.read(oid); - sparse = dis.readBoolean(); - fastFp = dis.readBoolean(); - polyType = dis.read(); - - String alg = dis.readUTF(); - - if ("SHA-512".equals(alg)) - { - hashAlg = new SHA512Digest(); - } - else if ("SHA-256".equals(alg)) - { - hashAlg = new SHA256Digest(); - } - - init(); - } - - public NTRUEncryptionParameters getEncryptionParameters() - { - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - return new NTRUEncryptionParameters(N, q, df, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - else - { - return new NTRUEncryptionParameters(N, q, df1, df2, df3, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - } - - public NTRUEncryptionKeyGenerationParameters clone() - { - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - return new NTRUEncryptionKeyGenerationParameters(N, q, df, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - else - { - return new NTRUEncryptionKeyGenerationParameters(N, q, df1, df2, df3, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - } - - /** - * Returns the maximum length a plaintext message can be with this parameter set. - * - * @return the maximum length in bytes - */ - public int getMaxMessageLength() - { - return maxMsgLenBytes; - } - - /** - * Writes the parameter set to an output stream - * - * @param os an output stream - * @throws java.io.IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - DataOutputStream dos = new DataOutputStream(os); - dos.writeInt(N); - dos.writeInt(q); - dos.writeInt(df); - dos.writeInt(df1); - dos.writeInt(df2); - dos.writeInt(df3); - dos.writeInt(db); - dos.writeInt(dm0); - dos.writeInt(c); - dos.writeInt(minCallsR); - dos.writeInt(minCallsMask); - dos.writeBoolean(hashSeed); - dos.write(oid); - dos.writeBoolean(sparse); - dos.writeBoolean(fastFp); - dos.write(polyType); - dos.writeUTF(hashAlg.getAlgorithmName()); - } - - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + N; - result = prime * result + bufferLenBits; - result = prime * result + bufferLenTrits; - result = prime * result + c; - result = prime * result + db; - result = prime * result + df; - result = prime * result + df1; - result = prime * result + df2; - result = prime * result + df3; - result = prime * result + dg; - result = prime * result + dm0; - result = prime * result + dr; - result = prime * result + dr1; - result = prime * result + dr2; - result = prime * result + dr3; - result = prime * result + (fastFp ? 1231 : 1237); - result = prime * result + ((hashAlg == null) ? 0 : hashAlg.getAlgorithmName().hashCode()); - result = prime * result + (hashSeed ? 1231 : 1237); - result = prime * result + llen; - result = prime * result + maxMsgLenBytes; - result = prime * result + minCallsMask; - result = prime * result + minCallsR; - result = prime * result + Arrays.hashCode(oid); - result = prime * result + pkLen; - result = prime * result + polyType; - result = prime * result + q; - result = prime * result + (sparse ? 1231 : 1237); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - NTRUEncryptionKeyGenerationParameters other = (NTRUEncryptionKeyGenerationParameters)obj; - if (N != other.N) - { - return false; - } - if (bufferLenBits != other.bufferLenBits) - { - return false; - } - if (bufferLenTrits != other.bufferLenTrits) - { - return false; - } - if (c != other.c) - { - return false; - } - if (db != other.db) - { - return false; - } - if (df != other.df) - { - return false; - } - if (df1 != other.df1) - { - return false; - } - if (df2 != other.df2) - { - return false; - } - if (df3 != other.df3) - { - return false; - } - if (dg != other.dg) - { - return false; - } - if (dm0 != other.dm0) - { - return false; - } - if (dr != other.dr) - { - return false; - } - if (dr1 != other.dr1) - { - return false; - } - if (dr2 != other.dr2) - { - return false; - } - if (dr3 != other.dr3) - { - return false; - } - if (fastFp != other.fastFp) - { - return false; - } - if (hashAlg == null) - { - if (other.hashAlg != null) - { - return false; - } - } - else if (!hashAlg.getAlgorithmName().equals(other.hashAlg.getAlgorithmName())) - { - return false; - } - if (hashSeed != other.hashSeed) - { - return false; - } - if (llen != other.llen) - { - return false; - } - if (maxMsgLenBytes != other.maxMsgLenBytes) - { - return false; - } - if (minCallsMask != other.minCallsMask) - { - return false; - } - if (minCallsR != other.minCallsR) - { - return false; - } - if (!Arrays.equals(oid, other.oid)) - { - return false; - } - if (pkLen != other.pkLen) - { - return false; - } - if (polyType != other.polyType) - { - return false; - } - if (q != other.q) - { - return false; - } - if (sparse != other.sparse) - { - return false; - } - return true; - } - - public String toString() - { - StringBuilder output = new StringBuilder("EncryptionParameters(N=" + N + " q=" + q); - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - output.append(" polyType=SIMPLE df=" + df); - } - else - { - output.append(" polyType=PRODUCT df1=" + df1 + " df2=" + df2 + " df3=" + df3); - } - output.append(" dm0=" + dm0 + " db=" + db + " c=" + c + " minCallsR=" + minCallsR + " minCallsMask=" + minCallsMask + - " hashSeed=" + hashSeed + " hashAlg=" + hashAlg + " oid=" + Arrays.toString(oid) + " sparse=" + sparse + ")"); - return output.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyPairGenerator.java deleted file mode 100644 index bf63c33f0..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyPairGenerator.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; -import org.spongycastle.pqc.math.ntru.util.Util; - -/** - * Generates key pairs.
    - * The parameter p is hardcoded to 3. - */ -public class NTRUEncryptionKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private NTRUEncryptionKeyGenerationParameters params; - - /** - * Constructs a new instance with a set of encryption parameters. - * - * @param param encryption parameters - */ - public void init(KeyGenerationParameters param) - { - this.params = (NTRUEncryptionKeyGenerationParameters)param; - } - - /** - * Generates a new encryption key pair. - * - * @return a key pair - */ - public AsymmetricCipherKeyPair generateKeyPair() - { - int N = params.N; - int q = params.q; - int df = params.df; - int df1 = params.df1; - int df2 = params.df2; - int df3 = params.df3; - int dg = params.dg; - boolean fastFp = params.fastFp; - boolean sparse = params.sparse; - - Polynomial t; - IntegerPolynomial fq; - IntegerPolynomial fp = null; - - // choose a random f that is invertible mod 3 and q - while (true) - { - IntegerPolynomial f; - - // choose random t, calculate f and fp - if (fastFp) - { - // if fastFp=true, f is always invertible mod 3 - t = params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE ? Util.generateRandomTernary(N, df, df, sparse, params.getRandom()) : ProductFormPolynomial.generateRandom(N, df1, df2, df3, df3, params.getRandom()); - f = t.toIntegerPolynomial(); - f.mult(3); - f.coeffs[0] += 1; - } - else - { - t = params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE ? Util.generateRandomTernary(N, df, df - 1, sparse, params.getRandom()) : ProductFormPolynomial.generateRandom(N, df1, df2, df3, df3 - 1, params.getRandom()); - f = t.toIntegerPolynomial(); - fp = f.invertF3(); - if (fp == null) - { - continue; - } - } - - fq = f.invertFq(q); - if (fq == null) - { - continue; - } - break; - } - - // if fastFp=true, fp=1 - if (fastFp) - { - fp = new IntegerPolynomial(N); - fp.coeffs[0] = 1; - } - - // choose a random g that is invertible mod q - DenseTernaryPolynomial g; - while (true) - { - g = DenseTernaryPolynomial.generateRandom(N, dg, dg - 1, params.getRandom()); - if (g.invertFq(q) != null) - { - break; - } - } - - IntegerPolynomial h = g.mult(fq, q); - h.mult3(q); - h.ensurePositive(q); - g.clear(); - fq.clear(); - - NTRUEncryptionPrivateKeyParameters priv = new NTRUEncryptionPrivateKeyParameters(h, t, fp, params.getEncryptionParameters()); - NTRUEncryptionPublicKeyParameters pub = new NTRUEncryptionPublicKeyParameters(h, params.getEncryptionParameters()); - return new AsymmetricCipherKeyPair(pub, priv); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyParameters.java deleted file mode 100644 index a22eb286a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionKeyParameters.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public class NTRUEncryptionKeyParameters - extends AsymmetricKeyParameter -{ - final protected NTRUEncryptionParameters params; - - public NTRUEncryptionKeyParameters(boolean privateKey, NTRUEncryptionParameters params) - { - super(privateKey); - this.params = params; - } - - public NTRUEncryptionParameters getParameters() - { - return params; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionParameters.java deleted file mode 100644 index 8f5f9a9b6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionParameters.java +++ /dev/null @@ -1,410 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Arrays; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA512Digest; - -/** - * A set of parameters for NtruEncrypt. Several predefined parameter sets are available and new ones can be created as well. - */ -public class NTRUEncryptionParameters - implements Cloneable -{ - - public int N, q, df, df1, df2, df3; - public int dr; - public int dr1; - public int dr2; - public int dr3; - public int dg; - int llen; - public int maxMsgLenBytes; - public int db; - public int bufferLenBits; - int bufferLenTrits; - public int dm0; - public int pkLen; - public int c; - public int minCallsR; - public int minCallsMask; - public boolean hashSeed; - public byte[] oid; - public boolean sparse; - public boolean fastFp; - public int polyType; - public Digest hashAlg; - - /** - * Constructs a parameter set that uses ternary private keys (i.e. polyType=SIMPLE). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param df number of ones in the private polynomial f - * @param dm0 minimum acceptable number of -1's, 0's, and 1's in the polynomial m' in the last encryption step - * @param db number of random bits to prepend to the message - * @param c a parameter for the Index Generation Function ({@link org.spongycastle.pqc.crypto.ntru.IndexGenerator}) - * @param minCallsR minimum number of hash calls for the IGF to make - * @param minCallsMask minimum number of calls to generate the masking polynomial - * @param hashSeed whether to hash the seed in the MGF first (true) or use the seed directly (false) - * @param oid three bytes that uniquely identify the parameter set - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param fastFp whether f=1+p*F for a ternary F (true) or f is ternary (false) - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUEncryptionParameters(int N, int q, int df, int dm0, int db, int c, int minCallsR, int minCallsMask, boolean hashSeed, byte[] oid, boolean sparse, boolean fastFp, Digest hashAlg) - { - this.N = N; - this.q = q; - this.df = df; - this.db = db; - this.dm0 = dm0; - this.c = c; - this.minCallsR = minCallsR; - this.minCallsMask = minCallsMask; - this.hashSeed = hashSeed; - this.oid = oid; - this.sparse = sparse; - this.fastFp = fastFp; - this.polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE; - this.hashAlg = hashAlg; - init(); - } - - /** - * Constructs a parameter set that uses product-form private keys (i.e. polyType=PRODUCT). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param df1 number of ones in the private polynomial f1 - * @param df2 number of ones in the private polynomial f2 - * @param df3 number of ones in the private polynomial f3 - * @param dm0 minimum acceptable number of -1's, 0's, and 1's in the polynomial m' in the last encryption step - * @param db number of random bits to prepend to the message - * @param c a parameter for the Index Generation Function ({@link org.spongycastle.pqc.crypto.ntru.IndexGenerator}) - * @param minCallsR minimum number of hash calls for the IGF to make - * @param minCallsMask minimum number of calls to generate the masking polynomial - * @param hashSeed whether to hash the seed in the MGF first (true) or use the seed directly (false) - * @param oid three bytes that uniquely identify the parameter set - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param fastFp whether f=1+p*F for a ternary F (true) or f is ternary (false) - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256 - */ - public NTRUEncryptionParameters(int N, int q, int df1, int df2, int df3, int dm0, int db, int c, int minCallsR, int minCallsMask, boolean hashSeed, byte[] oid, boolean sparse, boolean fastFp, Digest hashAlg) - { - this.N = N; - this.q = q; - this.df1 = df1; - this.df2 = df2; - this.df3 = df3; - this.db = db; - this.dm0 = dm0; - this.c = c; - this.minCallsR = minCallsR; - this.minCallsMask = minCallsMask; - this.hashSeed = hashSeed; - this.oid = oid; - this.sparse = sparse; - this.fastFp = fastFp; - this.polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT; - this.hashAlg = hashAlg; - init(); - } - - private void init() - { - dr = df; - dr1 = df1; - dr2 = df2; - dr3 = df3; - dg = N / 3; - llen = 1; // ceil(log2(maxMsgLenBytes)) - maxMsgLenBytes = N * 3 / 2 / 8 - llen - db / 8 - 1; - bufferLenBits = (N * 3 / 2 + 7) / 8 * 8 + 1; - bufferLenTrits = N - 1; - pkLen = db; - } - - /** - * Reads a parameter set from an input stream. - * - * @param is an input stream - * @throws IOException - */ - public NTRUEncryptionParameters(InputStream is) - throws IOException - { - DataInputStream dis = new DataInputStream(is); - N = dis.readInt(); - q = dis.readInt(); - df = dis.readInt(); - df1 = dis.readInt(); - df2 = dis.readInt(); - df3 = dis.readInt(); - db = dis.readInt(); - dm0 = dis.readInt(); - c = dis.readInt(); - minCallsR = dis.readInt(); - minCallsMask = dis.readInt(); - hashSeed = dis.readBoolean(); - oid = new byte[3]; - dis.read(oid); - sparse = dis.readBoolean(); - fastFp = dis.readBoolean(); - polyType = dis.read(); - - String alg = dis.readUTF(); - - if ("SHA-512".equals(alg)) - { - hashAlg = new SHA512Digest(); - } - else if ("SHA-256".equals(alg)) - { - hashAlg = new SHA256Digest(); - } - - init(); - } - - public NTRUEncryptionParameters clone() - { - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - return new NTRUEncryptionParameters(N, q, df, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - else - { - return new NTRUEncryptionParameters(N, q, df1, df2, df3, dm0, db, c, minCallsR, minCallsMask, hashSeed, oid, sparse, fastFp, hashAlg); - } - } - - /** - * Returns the maximum length a plaintext message can be with this parameter set. - * - * @return the maximum length in bytes - */ - public int getMaxMessageLength() - { - return maxMsgLenBytes; - } - - /** - * Writes the parameter set to an output stream - * - * @param os an output stream - * @throws IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - DataOutputStream dos = new DataOutputStream(os); - dos.writeInt(N); - dos.writeInt(q); - dos.writeInt(df); - dos.writeInt(df1); - dos.writeInt(df2); - dos.writeInt(df3); - dos.writeInt(db); - dos.writeInt(dm0); - dos.writeInt(c); - dos.writeInt(minCallsR); - dos.writeInt(minCallsMask); - dos.writeBoolean(hashSeed); - dos.write(oid); - dos.writeBoolean(sparse); - dos.writeBoolean(fastFp); - dos.write(polyType); - dos.writeUTF(hashAlg.getAlgorithmName()); - } - - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + N; - result = prime * result + bufferLenBits; - result = prime * result + bufferLenTrits; - result = prime * result + c; - result = prime * result + db; - result = prime * result + df; - result = prime * result + df1; - result = prime * result + df2; - result = prime * result + df3; - result = prime * result + dg; - result = prime * result + dm0; - result = prime * result + dr; - result = prime * result + dr1; - result = prime * result + dr2; - result = prime * result + dr3; - result = prime * result + (fastFp ? 1231 : 1237); - result = prime * result + ((hashAlg == null) ? 0 : hashAlg.getAlgorithmName().hashCode()); - result = prime * result + (hashSeed ? 1231 : 1237); - result = prime * result + llen; - result = prime * result + maxMsgLenBytes; - result = prime * result + minCallsMask; - result = prime * result + minCallsR; - result = prime * result + Arrays.hashCode(oid); - result = prime * result + pkLen; - result = prime * result + polyType; - result = prime * result + q; - result = prime * result + (sparse ? 1231 : 1237); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - NTRUEncryptionParameters other = (NTRUEncryptionParameters)obj; - if (N != other.N) - { - return false; - } - if (bufferLenBits != other.bufferLenBits) - { - return false; - } - if (bufferLenTrits != other.bufferLenTrits) - { - return false; - } - if (c != other.c) - { - return false; - } - if (db != other.db) - { - return false; - } - if (df != other.df) - { - return false; - } - if (df1 != other.df1) - { - return false; - } - if (df2 != other.df2) - { - return false; - } - if (df3 != other.df3) - { - return false; - } - if (dg != other.dg) - { - return false; - } - if (dm0 != other.dm0) - { - return false; - } - if (dr != other.dr) - { - return false; - } - if (dr1 != other.dr1) - { - return false; - } - if (dr2 != other.dr2) - { - return false; - } - if (dr3 != other.dr3) - { - return false; - } - if (fastFp != other.fastFp) - { - return false; - } - if (hashAlg == null) - { - if (other.hashAlg != null) - { - return false; - } - } - else if (!hashAlg.getAlgorithmName().equals(other.hashAlg.getAlgorithmName())) - { - return false; - } - if (hashSeed != other.hashSeed) - { - return false; - } - if (llen != other.llen) - { - return false; - } - if (maxMsgLenBytes != other.maxMsgLenBytes) - { - return false; - } - if (minCallsMask != other.minCallsMask) - { - return false; - } - if (minCallsR != other.minCallsR) - { - return false; - } - if (!Arrays.equals(oid, other.oid)) - { - return false; - } - if (pkLen != other.pkLen) - { - return false; - } - if (polyType != other.polyType) - { - return false; - } - if (q != other.q) - { - return false; - } - if (sparse != other.sparse) - { - return false; - } - return true; - } - - public String toString() - { - StringBuilder output = new StringBuilder("EncryptionParameters(N=" + N + " q=" + q); - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - output.append(" polyType=SIMPLE df=" + df); - } - else - { - output.append(" polyType=PRODUCT df1=" + df1 + " df2=" + df2 + " df3=" + df3); - } - output.append(" dm0=" + dm0 + " db=" + db + " c=" + c + " minCallsR=" + minCallsR + " minCallsMask=" + minCallsMask + - " hashSeed=" + hashSeed + " hashAlg=" + hashAlg + " oid=" + Arrays.toString(oid) + " sparse=" + sparse + ")"); - return output.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPrivateKeyParameters.java deleted file mode 100644 index 9fe8259f3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPrivateKeyParameters.java +++ /dev/null @@ -1,199 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; - -/** - * A NtruEncrypt private key is essentially a polynomial named f - * which takes different forms depending on whether product-form polynomials are used, - * and on fastP
    - * The inverse of f modulo p is precomputed on initialization. - */ -public class NTRUEncryptionPrivateKeyParameters - extends NTRUEncryptionKeyParameters -{ - public Polynomial t; - public IntegerPolynomial fp; - public IntegerPolynomial h; - - /** - * Constructs a new private key from a polynomial - * - * @param h the public polynomial for the key. - * @param t the polynomial which determines the key: if fastFp=true, f=1+3t; otherwise, f=t - * @param fp the inverse of f - * @param params the NtruEncrypt parameters to use - */ - public NTRUEncryptionPrivateKeyParameters(IntegerPolynomial h, Polynomial t, IntegerPolynomial fp, NTRUEncryptionParameters params) - { - super(true, params); - - this.h = h; - this.t = t; - this.fp = fp; - } - - /** - * Converts a byte array to a polynomial f and constructs a new private key - * - * @param b an encoded polynomial - * @param params the NtruEncrypt parameters to use - * @see #getEncoded() - */ - public NTRUEncryptionPrivateKeyParameters(byte[] b, NTRUEncryptionParameters params) - throws IOException - { - this(new ByteArrayInputStream(b), params); - } - - /** - * Reads a polynomial f from an input stream and constructs a new private key - * - * @param is an input stream - * @param params the NtruEncrypt parameters to use - * @see #writeTo(OutputStream) - */ - public NTRUEncryptionPrivateKeyParameters(InputStream is, NTRUEncryptionParameters params) - throws IOException - { - super(true, params); - - if (params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT) - { - int N = params.N; - int df1 = params.df1; - int df2 = params.df2; - int df3Ones = params.df3; - int df3NegOnes = params.fastFp ? params.df3 : params.df3 - 1; - h = IntegerPolynomial.fromBinary(is, params.N, params.q); - t = ProductFormPolynomial.fromBinary(is, N, df1, df2, df3Ones, df3NegOnes); - } - else - { - h = IntegerPolynomial.fromBinary(is, params.N, params.q); - IntegerPolynomial fInt = IntegerPolynomial.fromBinary3Tight(is, params.N); - t = params.sparse ? new SparseTernaryPolynomial(fInt) : new DenseTernaryPolynomial(fInt); - } - - init(); - } - - /** - * Initializes fp from t. - */ - private void init() - { - if (params.fastFp) - { - fp = new IntegerPolynomial(params.N); - fp.coeffs[0] = 1; - } - else - { - fp = t.toIntegerPolynomial().invertF3(); - } - } - - /** - * Converts the key to a byte array - * - * @return the encoded key - * @see #NTRUEncryptionPrivateKeyParameters(byte[], NTRUEncryptionParameters) - */ - public byte[] getEncoded() - { - byte[] hBytes = h.toBinary(params.q); - byte[] tBytes; - - if (t instanceof ProductFormPolynomial) - { - tBytes = ((ProductFormPolynomial)t).toBinary(); - } - else - { - tBytes = t.toIntegerPolynomial().toBinary3Tight(); - } - - byte[] res = new byte[hBytes.length + tBytes.length]; - - System.arraycopy(hBytes, 0, res, 0, hBytes.length); - System.arraycopy(tBytes, 0, res, hBytes.length, tBytes.length); - - return res; - } - - /** - * Writes the key to an output stream - * - * @param os an output stream - * @throws IOException - * @see #NTRUEncryptionPrivateKeyParameters(InputStream, NTRUEncryptionParameters) - */ - public void writeTo(OutputStream os) - throws IOException - { - os.write(getEncoded()); - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((params == null) ? 0 : params.hashCode()); - result = prime * result + ((t == null) ? 0 : t.hashCode()); - result = prime * result + ((h == null) ? 0 : h.hashCode()); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (!(obj instanceof NTRUEncryptionPrivateKeyParameters)) - { - return false; - } - NTRUEncryptionPrivateKeyParameters other = (NTRUEncryptionPrivateKeyParameters)obj; - if (params == null) - { - if (other.params != null) - { - return false; - } - } - else if (!params.equals(other.params)) - { - return false; - } - if (t == null) - { - if (other.t != null) - { - return false; - } - } - else if (!t.equals(other.t)) - { - return false; - } - if (!h.equals(other.h)) - { - return false; - } - return true; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPublicKeyParameters.java deleted file mode 100644 index 0f3abd9cf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEncryptionPublicKeyParameters.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; - -/** - * A NtruEncrypt public key is essentially a polynomial named h. - */ -public class NTRUEncryptionPublicKeyParameters - extends NTRUEncryptionKeyParameters -{ - public IntegerPolynomial h; - - /** - * Constructs a new public key from a polynomial - * - * @param h the polynomial h which determines the key - * @param params the NtruEncrypt parameters to use - */ - public NTRUEncryptionPublicKeyParameters(IntegerPolynomial h, NTRUEncryptionParameters params) - { - super(false, params); - - this.h = h; - } - - /** - * Converts a byte array to a polynomial h and constructs a new public key - * - * @param b an encoded polynomial - * @param params the NtruEncrypt parameters to use - * @see #getEncoded() - */ - public NTRUEncryptionPublicKeyParameters(byte[] b, NTRUEncryptionParameters params) - { - super(false, params); - - h = IntegerPolynomial.fromBinary(b, params.N, params.q); - } - - /** - * Reads a polynomial h from an input stream and constructs a new public key - * - * @param is an input stream - * @param params the NtruEncrypt parameters to use - * @see #writeTo(OutputStream) - */ - public NTRUEncryptionPublicKeyParameters(InputStream is, NTRUEncryptionParameters params) - throws IOException - { - super(false, params); - - h = IntegerPolynomial.fromBinary(is, params.N, params.q); - } - - /** - * Converts the key to a byte array - * - * @return the encoded key - * @see #NTRUEncryptionPublicKeyParameters(byte[], NTRUEncryptionParameters) - */ - public byte[] getEncoded() - { - return h.toBinary(params.q); - } - - /** - * Writes the key to an output stream - * - * @param os an output stream - * @throws IOException - * @see #NTRUEncryptionPublicKeyParameters(InputStream, NTRUEncryptionParameters) - */ - public void writeTo(OutputStream os) - throws IOException - { - os.write(getEncoded()); - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((h == null) ? 0 : h.hashCode()); - result = prime * result + ((params == null) ? 0 : params.hashCode()); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (!(obj instanceof NTRUEncryptionPublicKeyParameters)) - { - return false; - } - NTRUEncryptionPublicKeyParameters other = (NTRUEncryptionPublicKeyParameters)obj; - if (h == null) - { - if (other.h != null) - { - return false; - } - } - else if (!h.equals(other.h)) - { - return false; - } - if (params == null) - { - if (other.params != null) - { - return false; - } - } - else if (!params.equals(other.params)) - { - return false; - } - return true; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEngine.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEngine.java deleted file mode 100644 index ff7746204..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUEngine.java +++ /dev/null @@ -1,495 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.TernaryPolynomial; -import org.spongycastle.util.Arrays; - -/** - * Encrypts, decrypts data and generates key pairs.
    - * The parameter p is hardcoded to 3. - */ -public class NTRUEngine - implements AsymmetricBlockCipher -{ - private boolean forEncryption; - private NTRUEncryptionParameters params; - private NTRUEncryptionPublicKeyParameters pubKey; - private NTRUEncryptionPrivateKeyParameters privKey; - private SecureRandom random; - - /** - * Constructs a new instance with a set of encryption parameters. - * - */ - public NTRUEngine() - { - } - - public void init(boolean forEncryption, CipherParameters parameters) - { - this.forEncryption = forEncryption; - if (forEncryption) - { - if (parameters instanceof ParametersWithRandom) - { - ParametersWithRandom p = (ParametersWithRandom)parameters; - - this.random = p.getRandom(); - this.pubKey = (NTRUEncryptionPublicKeyParameters)p.getParameters(); - } - else - { - this.random = new SecureRandom(); - this.pubKey = (NTRUEncryptionPublicKeyParameters)parameters; - } - - this.params = pubKey.getParameters(); - } - else - { - this.privKey = (NTRUEncryptionPrivateKeyParameters)parameters; - this.params = privKey.getParameters(); - } - } - - public int getInputBlockSize() - { - return params.maxMsgLenBytes; - } - - public int getOutputBlockSize() - { - return ((params.N * log2(params.q)) + 7) / 8; - } - - public byte[] processBlock(byte[] in, int inOff, int len) - throws InvalidCipherTextException - { - byte[] tmp = new byte[len]; - - System.arraycopy(in, inOff, tmp, 0, len); - - if (forEncryption) - { - return encrypt(tmp, pubKey); - } - else - { - return decrypt(tmp, privKey); - } - } - - /** - * Encrypts a message.
    - * See P1363.1 section 9.2.2. - * - * @param m The message to encrypt - * @param pubKey the public key to encrypt the message with - * @return the encrypted message - */ - private byte[] encrypt(byte[] m, NTRUEncryptionPublicKeyParameters pubKey) - { - IntegerPolynomial pub = pubKey.h; - int N = params.N; - int q = params.q; - - int maxLenBytes = params.maxMsgLenBytes; - int db = params.db; - int bufferLenBits = params.bufferLenBits; - int dm0 = params.dm0; - int pkLen = params.pkLen; - int minCallsMask = params.minCallsMask; - boolean hashSeed = params.hashSeed; - byte[] oid = params.oid; - - int l = m.length; - if (maxLenBytes > 255) - { - throw new IllegalArgumentException("llen values bigger than 1 are not supported"); - } - if (l > maxLenBytes) - { - throw new DataLengthException("Message too long: " + l + ">" + maxLenBytes); - } - - while (true) - { - // M = b|octL|m|p0 - byte[] b = new byte[db / 8]; - random.nextBytes(b); - byte[] p0 = new byte[maxLenBytes + 1 - l]; - byte[] M = new byte[bufferLenBits / 8]; - - System.arraycopy(b, 0, M, 0, b.length); - M[b.length] = (byte)l; - System.arraycopy(m, 0, M, b.length + 1, m.length); - System.arraycopy(p0, 0, M, b.length + 1 + m.length, p0.length); - - IntegerPolynomial mTrin = IntegerPolynomial.fromBinary3Sves(M, N); - - // sData = OID|m|b|hTrunc - byte[] bh = pub.toBinary(q); - byte[] hTrunc = copyOf(bh, pkLen / 8); - byte[] sData = buildSData(oid, m, l, b, hTrunc); - - Polynomial r = generateBlindingPoly(sData, M); - IntegerPolynomial R = r.mult(pub, q); - IntegerPolynomial R4 = (IntegerPolynomial)R.clone(); - R4.modPositive(4); - byte[] oR4 = R4.toBinary(4); - IntegerPolynomial mask = MGF(oR4, N, minCallsMask, hashSeed); - mTrin.add(mask); - mTrin.mod3(); - - if (mTrin.count(-1) < dm0) - { - continue; - } - if (mTrin.count(0) < dm0) - { - continue; - } - if (mTrin.count(1) < dm0) - { - continue; - } - - R.add(mTrin, q); - R.ensurePositive(q); - return R.toBinary(q); - } - } - - private byte[] buildSData(byte[] oid, byte[] m, int l, byte[] b, byte[] hTrunc) - { - byte[] sData = new byte[oid.length + l + b.length + hTrunc.length]; - - System.arraycopy(oid, 0, sData, 0, oid.length); - System.arraycopy(m, 0, sData, oid.length, m.length); - System.arraycopy(b, 0, sData, oid.length + m.length, b.length); - System.arraycopy(hTrunc, 0, sData, oid.length + m.length + b.length, hTrunc.length); - return sData; - } - - protected IntegerPolynomial encrypt(IntegerPolynomial m, TernaryPolynomial r, IntegerPolynomial pubKey) - { - IntegerPolynomial e = r.mult(pubKey, params.q); - e.add(m, params.q); - e.ensurePositive(params.q); - return e; - } - - /** - * Deterministically generates a blinding polynomial from a seed and a message representative. - * - * @param seed - * @param M message representative - * @return a blinding polynomial - */ - private Polynomial generateBlindingPoly(byte[] seed, byte[] M) - { - IndexGenerator ig = new IndexGenerator(seed, params); - - if (params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT) - { - SparseTernaryPolynomial r1 = new SparseTernaryPolynomial(generateBlindingCoeffs(ig, params.dr1)); - SparseTernaryPolynomial r2 = new SparseTernaryPolynomial(generateBlindingCoeffs(ig, params.dr2)); - SparseTernaryPolynomial r3 = new SparseTernaryPolynomial(generateBlindingCoeffs(ig, params.dr3)); - return new ProductFormPolynomial(r1, r2, r3); - } - else - { - int dr = params.dr; - boolean sparse = params.sparse; - int[] r = generateBlindingCoeffs(ig, dr); - if (sparse) - { - return new SparseTernaryPolynomial(r); - } - else - { - return new DenseTernaryPolynomial(r); - } - } - } - - /** - * Generates an int array containing dr elements equal to 1 - * and dr elements equal to -1 using an index generator. - * - * @param ig an index generator - * @param dr number of ones / negative ones - * @return an array containing numbers between -1 and 1 - */ - private int[] generateBlindingCoeffs(IndexGenerator ig, int dr) - { - int N = params.N; - - int[] r = new int[N]; - for (int coeff = -1; coeff <= 1; coeff += 2) - { - int t = 0; - while (t < dr) - { - int i = ig.nextIndex(); - if (r[i] == 0) - { - r[i] = coeff; - t++; - } - } - } - - return r; - } - - /** - * An implementation of MGF-TP-1 from P1363.1 section 8.4.1.1. - * - * @param seed - * @param N - * @param minCallsR - * @param hashSeed whether to hash the seed - * @return - */ - private IntegerPolynomial MGF(byte[] seed, int N, int minCallsR, boolean hashSeed) - { - Digest hashAlg = params.hashAlg; - int hashLen = hashAlg.getDigestSize(); - byte[] buf = new byte[minCallsR * hashLen]; - byte[] Z = hashSeed ? calcHash(hashAlg, seed) : seed; - int counter = 0; - while (counter < minCallsR) - { - hashAlg.update(Z, 0, Z.length); - putInt(hashAlg, counter); - - byte[] hash = calcHash(hashAlg); - System.arraycopy(hash, 0, buf, counter * hashLen, hashLen); - counter++; - } - - IntegerPolynomial i = new IntegerPolynomial(N); - while (true) - { - int cur = 0; - for (int index = 0; index != buf.length; index++) - { - int O = (int)buf[index] & 0xFF; - if (O >= 243) // 243 = 3^5 - { - continue; - } - - for (int terIdx = 0; terIdx < 4; terIdx++) - { - int rem3 = O % 3; - i.coeffs[cur] = rem3 - 1; - cur++; - if (cur == N) - { - return i; - } - O = (O - rem3) / 3; - } - - i.coeffs[cur] = O - 1; - cur++; - if (cur == N) - { - return i; - } - } - - if (cur >= N) - { - return i; - } - - hashAlg.update(Z, 0, Z.length); - putInt(hashAlg, counter); - - byte[] hash = calcHash(hashAlg); - - buf = hash; - - counter++; - } - } - - private void putInt(Digest hashAlg, int counter) - { - hashAlg.update((byte)(counter >> 24)); - hashAlg.update((byte)(counter >> 16)); - hashAlg.update((byte)(counter >> 8)); - hashAlg.update((byte)counter); - } - - private byte[] calcHash(Digest hashAlg) - { - byte[] tmp = new byte[hashAlg.getDigestSize()]; - - hashAlg.doFinal(tmp, 0); - - return tmp; - } - - private byte[] calcHash(Digest hashAlg, byte[] input) - { - byte[] tmp = new byte[hashAlg.getDigestSize()]; - - hashAlg.update(input, 0, input.length); - hashAlg.doFinal(tmp, 0); - - return tmp; - } - /** - * Decrypts a message.
    - * See P1363.1 section 9.2.3. - * - * @param data The message to decrypt - * @param privKey the corresponding private key - * @return the decrypted message - * @throws InvalidCipherTextException if the encrypted data is invalid, or maxLenBytes is greater than 255 - */ - private byte[] decrypt(byte[] data, NTRUEncryptionPrivateKeyParameters privKey) - throws InvalidCipherTextException - { - Polynomial priv_t = privKey.t; - IntegerPolynomial priv_fp = privKey.fp; - IntegerPolynomial pub = privKey.h; - int N = params.N; - int q = params.q; - int db = params.db; - int maxMsgLenBytes = params.maxMsgLenBytes; - int dm0 = params.dm0; - int pkLen = params.pkLen; - int minCallsMask = params.minCallsMask; - boolean hashSeed = params.hashSeed; - byte[] oid = params.oid; - - if (maxMsgLenBytes > 255) - { - throw new DataLengthException("maxMsgLenBytes values bigger than 255 are not supported"); - } - - int bLen = db / 8; - - IntegerPolynomial e = IntegerPolynomial.fromBinary(data, N, q); - IntegerPolynomial ci = decrypt(e, priv_t, priv_fp); - - if (ci.count(-1) < dm0) - { - throw new InvalidCipherTextException("Less than dm0 coefficients equal -1"); - } - if (ci.count(0) < dm0) - { - throw new InvalidCipherTextException("Less than dm0 coefficients equal 0"); - } - if (ci.count(1) < dm0) - { - throw new InvalidCipherTextException("Less than dm0 coefficients equal 1"); - } - - IntegerPolynomial cR = (IntegerPolynomial)e.clone(); - cR.sub(ci); - cR.modPositive(q); - IntegerPolynomial cR4 = (IntegerPolynomial)cR.clone(); - cR4.modPositive(4); - byte[] coR4 = cR4.toBinary(4); - IntegerPolynomial mask = MGF(coR4, N, minCallsMask, hashSeed); - IntegerPolynomial cMTrin = ci; - cMTrin.sub(mask); - cMTrin.mod3(); - byte[] cM = cMTrin.toBinary3Sves(); - - byte[] cb = new byte[bLen]; - System.arraycopy(cM, 0, cb, 0, bLen); - int cl = cM[bLen] & 0xFF; // llen=1, so read one byte - if (cl > maxMsgLenBytes) - { - throw new InvalidCipherTextException("Message too long: " + cl + ">" + maxMsgLenBytes); - } - byte[] cm = new byte[cl]; - System.arraycopy(cM, bLen + 1, cm, 0, cl); - byte[] p0 = new byte[cM.length - (bLen + 1 + cl)]; - System.arraycopy(cM, bLen + 1 + cl, p0, 0, p0.length); - if (!Arrays.areEqual(p0, new byte[p0.length])) - { - throw new InvalidCipherTextException("The message is not followed by zeroes"); - } - - // sData = OID|m|b|hTrunc - byte[] bh = pub.toBinary(q); - byte[] hTrunc = copyOf(bh, pkLen / 8); - byte[] sData = buildSData(oid, cm, cl, cb, hTrunc); - - Polynomial cr = generateBlindingPoly(sData, cm); - IntegerPolynomial cRPrime = cr.mult(pub); - cRPrime.modPositive(q); - if (!cRPrime.equals(cR)) - { - throw new InvalidCipherTextException("Invalid message encoding"); - } - - return cm; - } - - /** - * @param e - * @param priv_t a polynomial such that if fastFp=true, f=1+3*priv_t; otherwise, f=priv_t - * @param priv_fp - * @return - */ - protected IntegerPolynomial decrypt(IntegerPolynomial e, Polynomial priv_t, IntegerPolynomial priv_fp) - { - IntegerPolynomial a; - if (params.fastFp) - { - a = priv_t.mult(e, params.q); - a.mult(3); - a.add(e); - } - else - { - a = priv_t.mult(e, params.q); - } - a.center0(params.q); - a.mod3(); - - IntegerPolynomial c = params.fastFp ? a : new DenseTernaryPolynomial(a).mult(priv_fp, 3); - c.center0(3); - return c; - } - - private byte[] copyOf(byte[] src, int len) - { - byte[] tmp = new byte[len]; - - System.arraycopy(src, 0, tmp, 0, len < src.length ? len : src.length); - - return tmp; - } - - private int log2(int value) - { - if (value == 2048) - { - return 11; - } - - throw new IllegalStateException("log2 not fully implemented"); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUParameters.java deleted file mode 100644 index 3ce2154d1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUParameters.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -public class NTRUParameters -{ - public static final int TERNARY_POLYNOMIAL_TYPE_SIMPLE = 0; - public static final int TERNARY_POLYNOMIAL_TYPE_PRODUCT = 1; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigner.java deleted file mode 100644 index 2dc19773a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigner.java +++ /dev/null @@ -1,259 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.nio.ByteBuffer; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; - -/** - * Signs, verifies data and generates key pairs. - */ -public class NTRUSigner -{ - private NTRUSigningParameters params; - private Digest hashAlg; - private NTRUSigningPrivateKeyParameters signingKeyPair; - private NTRUSigningPublicKeyParameters verificationKey; - - /** - * Constructs a new instance with a set of signature parameters. - * - * @param params signature parameters - */ - public NTRUSigner(NTRUSigningParameters params) - { - this.params = params; - } - - /** - * Resets the engine for signing a message. - * - * @param forSigning - * @param params - */ - public void init(boolean forSigning, CipherParameters params) - { - if (forSigning) - { - this.signingKeyPair = (NTRUSigningPrivateKeyParameters)params; - } - else - { - this.verificationKey = (NTRUSigningPublicKeyParameters)params; - } - hashAlg = this.params.hashAlg; - hashAlg.reset(); - } - - /** - * Adds data to sign or verify. - * - * @param b data - */ - public void update(byte b) - { - if (hashAlg == null) - { - throw new IllegalStateException("Call initSign or initVerify first!"); - } - - hashAlg.update(b); - } - - /** - * Adds data to sign or verify. - * - * @param m data - * @param off offset - * @param length number of bytes - */ - public void update(byte[] m, int off, int length) - { - if (hashAlg == null) - { - throw new IllegalStateException("Call initSign or initVerify first!"); - } - - hashAlg.update(m, off, length); - } - - /** - * Adds data to sign and computes a signature over this data and any data previously added via {@link #update(byte[], int, int)}. - * - * @return a signature - * @throws IllegalStateException if initSign was not called - */ - public byte[] generateSignature() - { - if (hashAlg == null || signingKeyPair == null) - { - throw new IllegalStateException("Call initSign first!"); - } - - byte[] msgHash = new byte[hashAlg.getDigestSize()]; - - hashAlg.doFinal(msgHash, 0); - return signHash(msgHash, signingKeyPair); - } - - private byte[] signHash(byte[] msgHash, NTRUSigningPrivateKeyParameters kp) - { - int r = 0; - IntegerPolynomial s; - IntegerPolynomial i; - - NTRUSigningPublicKeyParameters kPub = kp.getPublicKey(); - do - { - r++; - if (r > params.signFailTolerance) - { - throw new IllegalStateException("Signing failed: too many retries (max=" + params.signFailTolerance + ")"); - } - i = createMsgRep(msgHash, r); - s = sign(i, kp); - } - while (!verify(i, s, kPub.h)); - - byte[] rawSig = s.toBinary(params.q); - ByteBuffer sbuf = ByteBuffer.allocate(rawSig.length + 4); - sbuf.put(rawSig); - sbuf.putInt(r); - return sbuf.array(); - } - - private IntegerPolynomial sign(IntegerPolynomial i, NTRUSigningPrivateKeyParameters kp) - { - int N = params.N; - int q = params.q; - int perturbationBases = params.B; - - NTRUSigningPrivateKeyParameters kPriv = kp; - NTRUSigningPublicKeyParameters kPub = kp.getPublicKey(); - - IntegerPolynomial s = new IntegerPolynomial(N); - int iLoop = perturbationBases; - while (iLoop >= 1) - { - Polynomial f = kPriv.getBasis(iLoop).f; - Polynomial fPrime = kPriv.getBasis(iLoop).fPrime; - - IntegerPolynomial y = f.mult(i); - y.div(q); - y = fPrime.mult(y); - - IntegerPolynomial x = fPrime.mult(i); - x.div(q); - x = f.mult(x); - - IntegerPolynomial si = y; - si.sub(x); - s.add(si); - - IntegerPolynomial hi = (IntegerPolynomial)kPriv.getBasis(iLoop).h.clone(); - if (iLoop > 1) - { - hi.sub(kPriv.getBasis(iLoop - 1).h); - } - else - { - hi.sub(kPub.h); - } - i = si.mult(hi, q); - - iLoop--; - } - - Polynomial f = kPriv.getBasis(0).f; - Polynomial fPrime = kPriv.getBasis(0).fPrime; - - IntegerPolynomial y = f.mult(i); - y.div(q); - y = fPrime.mult(y); - - IntegerPolynomial x = fPrime.mult(i); - x.div(q); - x = f.mult(x); - - y.sub(x); - s.add(y); - s.modPositive(q); - return s; - } - - /** - * Verifies a signature for any data previously added via {@link #update(byte[], int, int)}. - * - * @param sig a signature - * @return whether the signature is valid - * @throws IllegalStateException if initVerify was not called - */ - public boolean verifySignature(byte[] sig) - { - if (hashAlg == null || verificationKey == null) - { - throw new IllegalStateException("Call initVerify first!"); - } - - byte[] msgHash = new byte[hashAlg.getDigestSize()]; - - hashAlg.doFinal(msgHash, 0); - - return verifyHash(msgHash, sig, verificationKey); - } - - private boolean verifyHash(byte[] msgHash, byte[] sig, NTRUSigningPublicKeyParameters pub) - { - ByteBuffer sbuf = ByteBuffer.wrap(sig); - byte[] rawSig = new byte[sig.length - 4]; - sbuf.get(rawSig); - IntegerPolynomial s = IntegerPolynomial.fromBinary(rawSig, params.N, params.q); - int r = sbuf.getInt(); - return verify(createMsgRep(msgHash, r), s, pub.h); - } - - private boolean verify(IntegerPolynomial i, IntegerPolynomial s, IntegerPolynomial h) - { - int q = params.q; - double normBoundSq = params.normBoundSq; - double betaSq = params.betaSq; - - IntegerPolynomial t = h.mult(s, q); - t.sub(i); - long centeredNormSq = (long)(s.centeredNormSq(q) + betaSq * t.centeredNormSq(q)); - return centeredNormSq <= normBoundSq; - } - - protected IntegerPolynomial createMsgRep(byte[] msgHash, int r) - { - int N = params.N; - int q = params.q; - - int c = 31 - Integer.numberOfLeadingZeros(q); - int B = (c + 7) / 8; - IntegerPolynomial i = new IntegerPolynomial(N); - - ByteBuffer cbuf = ByteBuffer.allocate(msgHash.length + 4); - cbuf.put(msgHash); - cbuf.putInt(r); - NTRUSignerPrng prng = new NTRUSignerPrng(cbuf.array(), params.hashAlg); - - for (int t = 0; t < N; t++) - { - byte[] o = prng.nextBytes(B); - int hi = o[o.length - 1]; - hi >>= 8 * B - c; - hi <<= 8 * B - c; - o[o.length - 1] = (byte)hi; - - ByteBuffer obuf = ByteBuffer.allocate(4); - obuf.put(o); - obuf.rewind(); - // reverse byte order so it matches the endianness of java ints - i.coeffs[t] = Integer.reverseBytes(obuf.getInt()); - } - return i; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSignerPrng.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSignerPrng.java deleted file mode 100644 index c9278dd57..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSignerPrng.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.nio.ByteBuffer; - -import org.spongycastle.crypto.Digest; - -/** - * An implementation of the deterministic pseudo-random generator in EESS section 3.7.3.1 - */ -public class NTRUSignerPrng -{ - private int counter; - private byte[] seed; - private Digest hashAlg; - - /** - * Constructs a new PRNG and seeds it with a byte array. - * - * @param seed a seed - * @param hashAlg the hash algorithm to use - */ - NTRUSignerPrng(byte[] seed, Digest hashAlg) - { - counter = 0; - this.seed = seed; - this.hashAlg = hashAlg; - } - - /** - * Returns n random bytes - * - * @param n number of bytes to return - * @return the next n random bytes - */ - byte[] nextBytes(int n) - { - ByteBuffer buf = ByteBuffer.allocate(n); - - while (buf.hasRemaining()) - { - ByteBuffer cbuf = ByteBuffer.allocate(seed.length + 4); - cbuf.put(seed); - cbuf.putInt(counter); - byte[] array = cbuf.array(); - byte[] hash = new byte[hashAlg.getDigestSize()]; - - hashAlg.update(array, 0, array.length); - - hashAlg.doFinal(hash, 0); - - if (buf.remaining() < hash.length) - { - buf.put(hash, 0, buf.remaining()); - } - else - { - buf.put(hash); - } - counter++; - } - - return buf.array(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyGenerationParameters.java deleted file mode 100644 index 2f6eaab55..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyGenerationParameters.java +++ /dev/null @@ -1,407 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.SecureRandom; -import java.text.DecimalFormat; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA512Digest; - -/** - * A set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well. - */ -public class NTRUSigningKeyGenerationParameters - extends KeyGenerationParameters - implements Cloneable -{ - public static final int BASIS_TYPE_STANDARD = 0; - public static final int BASIS_TYPE_TRANSPOSE = 1; - - public static final int KEY_GEN_ALG_RESULTANT = 0; - public static final int KEY_GEN_ALG_FLOAT = 1; - - /** - * Gives 128 bits of security - */ - public static final NTRUSigningKeyGenerationParameters APR2011_439 = new NTRUSigningKeyGenerationParameters(439, 2048, 146, 1, BASIS_TYPE_TRANSPOSE, 0.165, 400, 280, false, true, KEY_GEN_ALG_RESULTANT, new SHA256Digest()); - - /** - * Like APR2011_439, this parameter set gives 128 bits of security but uses product-form polynomials - */ - public static final NTRUSigningKeyGenerationParameters APR2011_439_PROD = new NTRUSigningKeyGenerationParameters(439, 2048, 9, 8, 5, 1, BASIS_TYPE_TRANSPOSE, 0.165, 400, 280, false, true, KEY_GEN_ALG_RESULTANT, new SHA256Digest()); - - /** - * Gives 256 bits of security - */ - public static final NTRUSigningKeyGenerationParameters APR2011_743 = new NTRUSigningKeyGenerationParameters(743, 2048, 248, 1, BASIS_TYPE_TRANSPOSE, 0.127, 405, 360, true, false, KEY_GEN_ALG_RESULTANT, new SHA512Digest()); - - /** - * Like APR2011_439, this parameter set gives 256 bits of security but uses product-form polynomials - */ - public static final NTRUSigningKeyGenerationParameters APR2011_743_PROD = new NTRUSigningKeyGenerationParameters(743, 2048, 11, 11, 15, 1, BASIS_TYPE_TRANSPOSE, 0.127, 405, 360, true, false, KEY_GEN_ALG_RESULTANT, new SHA512Digest()); - - /** - * Generates key pairs quickly. Use for testing only. - */ - public static final NTRUSigningKeyGenerationParameters TEST157 = new NTRUSigningKeyGenerationParameters(157, 256, 29, 1, BASIS_TYPE_TRANSPOSE, 0.38, 200, 80, false, false, KEY_GEN_ALG_RESULTANT, new SHA256Digest()); - /** - * Generates key pairs quickly. Use for testing only. - */ - public static final NTRUSigningKeyGenerationParameters TEST157_PROD = new NTRUSigningKeyGenerationParameters(157, 256, 5, 5, 8, 1, BASIS_TYPE_TRANSPOSE, 0.38, 200, 80, false, false, KEY_GEN_ALG_RESULTANT, new SHA256Digest()); - - - public int N; - public int q; - public int d, d1, d2, d3, B; - double beta; - public double betaSq; - double normBound; - public double normBoundSq; - public int signFailTolerance = 100; - double keyNormBound; - public double keyNormBoundSq; - public boolean primeCheck; // true if N and 2N+1 are prime - public int basisType; - int bitsF = 6; // max #bits needed to encode one coefficient of the polynomial F - public boolean sparse; // whether to treat ternary polynomials as sparsely populated - public int keyGenAlg; - public Digest hashAlg; - public int polyType; - - /** - * Constructs a parameter set that uses ternary private keys (i.e. polyType=SIMPLE). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param d number of -1's in the private polynomials f and g - * @param B number of perturbations - * @param basisType whether to use the standard or transpose lattice - * @param beta balancing factor for the transpose lattice - * @param normBound maximum norm for valid signatures - * @param keyNormBound maximum norm for the ploynomials F and G - * @param primeCheck whether 2N+1 is prime - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param keyGenAlg RESULTANT produces better bases, FLOAT is slightly faster. RESULTANT follows the EESS standard while FLOAT is described in Hoffstein et al: An Introduction to Mathematical Cryptography. - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUSigningKeyGenerationParameters(int N, int q, int d, int B, int basisType, double beta, double normBound, double keyNormBound, boolean primeCheck, boolean sparse, int keyGenAlg, Digest hashAlg) - { - super(new SecureRandom(), N); - this.N = N; - this.q = q; - this.d = d; - this.B = B; - this.basisType = basisType; - this.beta = beta; - this.normBound = normBound; - this.keyNormBound = keyNormBound; - this.primeCheck = primeCheck; - this.sparse = sparse; - this.keyGenAlg = keyGenAlg; - this.hashAlg = hashAlg; - polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE; - init(); - } - - /** - * Constructs a parameter set that uses product-form private keys (i.e. polyType=PRODUCT). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param d1 number of -1's in the private polynomials f and g - * @param d2 number of -1's in the private polynomials f and g - * @param d3 number of -1's in the private polynomials f and g - * @param B number of perturbations - * @param basisType whether to use the standard or transpose lattice - * @param beta balancing factor for the transpose lattice - * @param normBound maximum norm for valid signatures - * @param keyNormBound maximum norm for the ploynomials F and G - * @param primeCheck whether 2N+1 is prime - * @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial} vs {@link org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial}) - * @param keyGenAlg RESULTANT produces better bases, FLOAT is slightly faster. RESULTANT follows the EESS standard while FLOAT is described in Hoffstein et al: An Introduction to Mathematical Cryptography. - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUSigningKeyGenerationParameters(int N, int q, int d1, int d2, int d3, int B, int basisType, double beta, double normBound, double keyNormBound, boolean primeCheck, boolean sparse, int keyGenAlg, Digest hashAlg) - { - super(new SecureRandom(), N); - this.N = N; - this.q = q; - this.d1 = d1; - this.d2 = d2; - this.d3 = d3; - this.B = B; - this.basisType = basisType; - this.beta = beta; - this.normBound = normBound; - this.keyNormBound = keyNormBound; - this.primeCheck = primeCheck; - this.sparse = sparse; - this.keyGenAlg = keyGenAlg; - this.hashAlg = hashAlg; - polyType = NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT; - init(); - } - - private void init() - { - betaSq = beta * beta; - normBoundSq = normBound * normBound; - keyNormBoundSq = keyNormBound * keyNormBound; - } - - /** - * Reads a parameter set from an input stream. - * - * @param is an input stream - * @throws java.io.IOException - */ - public NTRUSigningKeyGenerationParameters(InputStream is) - throws IOException - { - super(new SecureRandom(), 0); // TODO: - DataInputStream dis = new DataInputStream(is); - N = dis.readInt(); - q = dis.readInt(); - d = dis.readInt(); - d1 = dis.readInt(); - d2 = dis.readInt(); - d3 = dis.readInt(); - B = dis.readInt(); - basisType = dis.readInt(); - beta = dis.readDouble(); - normBound = dis.readDouble(); - keyNormBound = dis.readDouble(); - signFailTolerance = dis.readInt(); - primeCheck = dis.readBoolean(); - sparse = dis.readBoolean(); - bitsF = dis.readInt(); - keyGenAlg = dis.read(); - String alg = dis.readUTF(); - if ("SHA-512".equals(alg)) - { - hashAlg = new SHA512Digest(); - } - else if ("SHA-256".equals(alg)) - { - hashAlg = new SHA256Digest(); - } - polyType = dis.read(); - init(); - } - - /** - * Writes the parameter set to an output stream - * - * @param os an output stream - * @throws java.io.IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - DataOutputStream dos = new DataOutputStream(os); - dos.writeInt(N); - dos.writeInt(q); - dos.writeInt(d); - dos.writeInt(d1); - dos.writeInt(d2); - dos.writeInt(d3); - dos.writeInt(B); - dos.writeInt(basisType); - dos.writeDouble(beta); - dos.writeDouble(normBound); - dos.writeDouble(keyNormBound); - dos.writeInt(signFailTolerance); - dos.writeBoolean(primeCheck); - dos.writeBoolean(sparse); - dos.writeInt(bitsF); - dos.write(keyGenAlg); - dos.writeUTF(hashAlg.getAlgorithmName()); - dos.write(polyType); - } - - public NTRUSigningParameters getSigningParameters() - { - return new NTRUSigningParameters(N, q, d, B, beta, normBound, hashAlg); - } - - public NTRUSigningKeyGenerationParameters clone() - { - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - return new NTRUSigningKeyGenerationParameters(N, q, d, B, basisType, beta, normBound, keyNormBound, primeCheck, sparse, keyGenAlg, hashAlg); - } - else - { - return new NTRUSigningKeyGenerationParameters(N, q, d1, d2, d3, B, basisType, beta, normBound, keyNormBound, primeCheck, sparse, keyGenAlg, hashAlg); - } - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + B; - result = prime * result + N; - result = prime * result + basisType; - long temp; - temp = Double.doubleToLongBits(beta); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(betaSq); - result = prime * result + (int)(temp ^ (temp >>> 32)); - result = prime * result + bitsF; - result = prime * result + d; - result = prime * result + d1; - result = prime * result + d2; - result = prime * result + d3; - result = prime * result + ((hashAlg == null) ? 0 : hashAlg.getAlgorithmName().hashCode()); - result = prime * result + keyGenAlg; - temp = Double.doubleToLongBits(keyNormBound); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(keyNormBoundSq); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(normBound); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(normBoundSq); - result = prime * result + (int)(temp ^ (temp >>> 32)); - result = prime * result + polyType; - result = prime * result + (primeCheck ? 1231 : 1237); - result = prime * result + q; - result = prime * result + signFailTolerance; - result = prime * result + (sparse ? 1231 : 1237); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (!(obj instanceof NTRUSigningKeyGenerationParameters)) - { - return false; - } - NTRUSigningKeyGenerationParameters other = (NTRUSigningKeyGenerationParameters)obj; - if (B != other.B) - { - return false; - } - if (N != other.N) - { - return false; - } - if (basisType != other.basisType) - { - return false; - } - if (Double.doubleToLongBits(beta) != Double.doubleToLongBits(other.beta)) - { - return false; - } - if (Double.doubleToLongBits(betaSq) != Double.doubleToLongBits(other.betaSq)) - { - return false; - } - if (bitsF != other.bitsF) - { - return false; - } - if (d != other.d) - { - return false; - } - if (d1 != other.d1) - { - return false; - } - if (d2 != other.d2) - { - return false; - } - if (d3 != other.d3) - { - return false; - } - if (hashAlg == null) - { - if (other.hashAlg != null) - { - return false; - } - } - else if (!hashAlg.getAlgorithmName().equals(other.hashAlg.getAlgorithmName())) - { - return false; - } - if (keyGenAlg != other.keyGenAlg) - { - return false; - } - if (Double.doubleToLongBits(keyNormBound) != Double.doubleToLongBits(other.keyNormBound)) - { - return false; - } - if (Double.doubleToLongBits(keyNormBoundSq) != Double.doubleToLongBits(other.keyNormBoundSq)) - { - return false; - } - if (Double.doubleToLongBits(normBound) != Double.doubleToLongBits(other.normBound)) - { - return false; - } - if (Double.doubleToLongBits(normBoundSq) != Double.doubleToLongBits(other.normBoundSq)) - { - return false; - } - if (polyType != other.polyType) - { - return false; - } - if (primeCheck != other.primeCheck) - { - return false; - } - if (q != other.q) - { - return false; - } - if (signFailTolerance != other.signFailTolerance) - { - return false; - } - if (sparse != other.sparse) - { - return false; - } - return true; - } - - public String toString() - { - DecimalFormat format = new DecimalFormat("0.00"); - - StringBuilder output = new StringBuilder("SignatureParameters(N=" + N + " q=" + q); - if (polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE) - { - output.append(" polyType=SIMPLE d=" + d); - } - else - { - output.append(" polyType=PRODUCT d1=" + d1 + " d2=" + d2 + " d3=" + d3); - } - output.append(" B=" + B + " basisType=" + basisType + " beta=" + format.format(beta) + - " normBound=" + format.format(normBound) + " keyNormBound=" + format.format(keyNormBound) + - " prime=" + primeCheck + " sparse=" + sparse + " keyGenAlg=" + keyGenAlg + " hashAlg=" + hashAlg + ")"); - return output.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyPairGenerator.java deleted file mode 100644 index eac283aab..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningKeyPairGenerator.java +++ /dev/null @@ -1,357 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.math.ntru.euclid.BigIntEuclidean; -import org.spongycastle.pqc.math.ntru.polynomial.BigDecimalPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.BigIntPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Resultant; - -import static java.math.BigInteger.ONE; -import static java.math.BigInteger.ZERO; - -public class NTRUSigningKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private NTRUSigningKeyGenerationParameters params; - - public void init(KeyGenerationParameters param) - { - this.params = (NTRUSigningKeyGenerationParameters)param; - } - - /** - * Generates a new signature key pair. Starts B+1 threads. - * - * @return a key pair - */ - public AsymmetricCipherKeyPair generateKeyPair() - { - NTRUSigningPublicKeyParameters pub = null; - ExecutorService executor = Executors.newCachedThreadPool(); - List> bases = new ArrayList>(); - for (int k = params.B; k >= 0; k--) - { - bases.add(executor.submit(new BasisGenerationTask())); - } - executor.shutdown(); - - List basises = new ArrayList(); - - for (int k = params.B; k >= 0; k--) - { - Future basis = bases.get(k); - try - { - basises.add(basis.get()); - if (k == params.B) - { - pub = new NTRUSigningPublicKeyParameters(basis.get().h, params.getSigningParameters()); - } - } - catch (Exception e) - { - throw new IllegalStateException(e); - } - } - NTRUSigningPrivateKeyParameters priv = new NTRUSigningPrivateKeyParameters(basises, pub); - AsymmetricCipherKeyPair kp = new AsymmetricCipherKeyPair(pub, priv); - return kp; - } - - /** - * Generates a new signature key pair. Runs in a single thread. - * - * @return a key pair - */ - public AsymmetricCipherKeyPair generateKeyPairSingleThread() - { - List basises = new ArrayList(); - NTRUSigningPublicKeyParameters pub = null; - for (int k = params.B; k >= 0; k--) - { - NTRUSigningPrivateKeyParameters.Basis basis = generateBoundedBasis(); - basises.add(basis); - if (k == 0) - { - pub = new NTRUSigningPublicKeyParameters(basis.h, params.getSigningParameters()); - } - } - NTRUSigningPrivateKeyParameters priv = new NTRUSigningPrivateKeyParameters(basises, pub); - return new AsymmetricCipherKeyPair(pub, priv); - } - - - /** - * Implementation of the optional steps 20 through 26 in EESS1v2.pdf, section 3.5.1.1. - * This doesn't seem to have much of an effect and sometimes actually increases the - * norm of F, but on average it slightly reduces the norm.
    - * This method changes F and g but leaves f and - * g unchanged. - * - * @param f - * @param g - * @param F - * @param G - * @param N - */ - private void minimizeFG(IntegerPolynomial f, IntegerPolynomial g, IntegerPolynomial F, IntegerPolynomial G, int N) - { - int E = 0; - for (int j = 0; j < N; j++) - { - E += 2 * N * (f.coeffs[j] * f.coeffs[j] + g.coeffs[j] * g.coeffs[j]); - } - - // [f(1)+g(1)]^2 = 4 - E -= 4; - - IntegerPolynomial u = (IntegerPolynomial)f.clone(); - IntegerPolynomial v = (IntegerPolynomial)g.clone(); - int j = 0; - int k = 0; - int maxAdjustment = N; - while (k < maxAdjustment && j < N) - { - int D = 0; - int i = 0; - while (i < N) - { - int D1 = F.coeffs[i] * f.coeffs[i]; - int D2 = G.coeffs[i] * g.coeffs[i]; - int D3 = 4 * N * (D1 + D2); - D += D3; - i++; - } - // f(1)+g(1) = 2 - int D1 = 4 * (F.sumCoeffs() + G.sumCoeffs()); - D -= D1; - - if (D > E) - { - F.sub(u); - G.sub(v); - k++; - j = 0; - } - else if (D < -E) - { - F.add(u); - G.add(v); - k++; - j = 0; - } - j++; - u.rotate1(); - v.rotate1(); - } - } - - /** - * Creates a NTRUSigner basis consisting of polynomials f, g, F, G, h.
    - * If KeyGenAlg=FLOAT, the basis may not be valid and this method must be rerun if that is the case.
    - * - * @see #generateBoundedBasis() - */ - private FGBasis generateBasis() - { - int N = params.N; - int q = params.q; - int d = params.d; - int d1 = params.d1; - int d2 = params.d2; - int d3 = params.d3; - int basisType = params.basisType; - - Polynomial f; - IntegerPolynomial fInt; - Polynomial g; - IntegerPolynomial gInt; - IntegerPolynomial fq; - Resultant rf; - Resultant rg; - BigIntEuclidean r; - - int _2n1 = 2 * N + 1; - boolean primeCheck = params.primeCheck; - - do - { - do - { - f = params.polyType== NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE ? DenseTernaryPolynomial.generateRandom(N, d + 1, d, new SecureRandom()) : ProductFormPolynomial.generateRandom(N, d1, d2, d3 + 1, d3, new SecureRandom()); - fInt = f.toIntegerPolynomial(); - } - while (primeCheck && fInt.resultant(_2n1).res.equals(ZERO)); - fq = fInt.invertFq(q); - } - while (fq == null); - rf = fInt.resultant(); - - do - { - do - { - do - { - g = params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE ? DenseTernaryPolynomial.generateRandom(N, d + 1, d, new SecureRandom()) : ProductFormPolynomial.generateRandom(N, d1, d2, d3 + 1, d3, new SecureRandom()); - gInt = g.toIntegerPolynomial(); - } - while (primeCheck && gInt.resultant(_2n1).res.equals(ZERO)); - } - while (gInt.invertFq(q) == null); - rg = gInt.resultant(); - r = BigIntEuclidean.calculate(rf.res, rg.res); - } - while (!r.gcd.equals(ONE)); - - BigIntPolynomial A = (BigIntPolynomial)rf.rho.clone(); - A.mult(r.x.multiply(BigInteger.valueOf(q))); - BigIntPolynomial B = (BigIntPolynomial)rg.rho.clone(); - B.mult(r.y.multiply(BigInteger.valueOf(-q))); - - BigIntPolynomial C; - if (params.keyGenAlg == NTRUSigningKeyGenerationParameters.KEY_GEN_ALG_RESULTANT) - { - int[] fRevCoeffs = new int[N]; - int[] gRevCoeffs = new int[N]; - fRevCoeffs[0] = fInt.coeffs[0]; - gRevCoeffs[0] = gInt.coeffs[0]; - for (int i = 1; i < N; i++) - { - fRevCoeffs[i] = fInt.coeffs[N - i]; - gRevCoeffs[i] = gInt.coeffs[N - i]; - } - IntegerPolynomial fRev = new IntegerPolynomial(fRevCoeffs); - IntegerPolynomial gRev = new IntegerPolynomial(gRevCoeffs); - - IntegerPolynomial t = f.mult(fRev); - t.add(g.mult(gRev)); - Resultant rt = t.resultant(); - C = fRev.mult(B); // fRev.mult(B) is actually faster than new SparseTernaryPolynomial(fRev).mult(B), possibly due to cache locality? - C.add(gRev.mult(A)); - C = C.mult(rt.rho); - C.div(rt.res); - } - else - { // KeyGenAlg.FLOAT - // calculate ceil(log10(N)) - int log10N = 0; - for (int i = 1; i < N; i *= 10) - { - log10N++; - } - - // * Cdec needs to be accurate to 1 decimal place so it can be correctly rounded; - // * fInv loses up to (#digits of longest coeff of B) places in fInv.mult(B); - // * multiplying fInv by B also multiplies the rounding error by a factor of N; - // so make #decimal places of fInv the sum of the above. - BigDecimalPolynomial fInv = rf.rho.div(new BigDecimal(rf.res), B.getMaxCoeffLength() + 1 + log10N); - BigDecimalPolynomial gInv = rg.rho.div(new BigDecimal(rg.res), A.getMaxCoeffLength() + 1 + log10N); - - BigDecimalPolynomial Cdec = fInv.mult(B); - Cdec.add(gInv.mult(A)); - Cdec.halve(); - C = Cdec.round(); - } - - BigIntPolynomial F = (BigIntPolynomial)B.clone(); - F.sub(f.mult(C)); - BigIntPolynomial G = (BigIntPolynomial)A.clone(); - G.sub(g.mult(C)); - - IntegerPolynomial FInt = new IntegerPolynomial(F); - IntegerPolynomial GInt = new IntegerPolynomial(G); - minimizeFG(fInt, gInt, FInt, GInt, N); - - Polynomial fPrime; - IntegerPolynomial h; - if (basisType == NTRUSigningKeyGenerationParameters.BASIS_TYPE_STANDARD) - { - fPrime = FInt; - h = g.mult(fq, q); - } - else - { - fPrime = g; - h = FInt.mult(fq, q); - } - h.modPositive(q); - - return new FGBasis(f, fPrime, h, FInt, GInt, params); - } - - /** - * Creates a basis such that |F| < keyNormBound and |G| < keyNormBound - * - * @return a NTRUSigner basis - */ - public NTRUSigningPrivateKeyParameters.Basis generateBoundedBasis() - { - while (true) - { - FGBasis basis = generateBasis(); - if (basis.isNormOk()) - { - return basis; - } - } - } - - private class BasisGenerationTask - implements Callable - { - - - public NTRUSigningPrivateKeyParameters.Basis call() - throws Exception - { - return generateBoundedBasis(); - } - } - - /** - * A subclass of Basis that additionally contains the polynomials F and G. - */ - public class FGBasis - extends NTRUSigningPrivateKeyParameters.Basis - { - public IntegerPolynomial F; - public IntegerPolynomial G; - - FGBasis(Polynomial f, Polynomial fPrime, IntegerPolynomial h, IntegerPolynomial F, IntegerPolynomial G, NTRUSigningKeyGenerationParameters params) - { - super(f, fPrime, h, params); - this.F = F; - this.G = G; - } - - /** - * Returns true if the norms of the polynomials F and G - * are within {@link NTRUSigningKeyGenerationParameters#keyNormBound}. - * - * @return - */ - boolean isNormOk() - { - double keyNormBoundSq = params.keyNormBoundSq; - int q = params.q; - return (F.centeredNormSq(q) < keyNormBoundSq && G.centeredNormSq(q) < keyNormBoundSq); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningParameters.java deleted file mode 100644 index 44c5a0a1e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningParameters.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.text.DecimalFormat; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA512Digest; - -/** - * A set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well. - */ -public class NTRUSigningParameters - implements Cloneable -{ - public int N; - public int q; - public int d, d1, d2, d3, B; - double beta; - public double betaSq; - double normBound; - public double normBoundSq; - public int signFailTolerance = 100; - int bitsF = 6; // max #bits needed to encode one coefficient of the polynomial F - public Digest hashAlg; - - /** - * Constructs a parameter set that uses ternary private keys (i.e. polyType=SIMPLE). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param d number of -1's in the private polynomials f and g - * @param B number of perturbations - * @param beta balancing factor for the transpose lattice - * @param normBound maximum norm for valid signatures - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUSigningParameters(int N, int q, int d, int B, double beta, double normBound, Digest hashAlg) - { - this.N = N; - this.q = q; - this.d = d; - this.B = B; - this.beta = beta; - this.normBound = normBound; - this.hashAlg = hashAlg; - init(); - } - - /** - * Constructs a parameter set that uses product-form private keys (i.e. polyType=PRODUCT). - * - * @param N number of polynomial coefficients - * @param q modulus - * @param d1 number of -1's in the private polynomials f and g - * @param d2 number of -1's in the private polynomials f and g - * @param d3 number of -1's in the private polynomials f and g - * @param B number of perturbations - * @param beta balancing factor for the transpose lattice - * @param normBound maximum norm for valid signatures - * @param keyNormBound maximum norm for the ploynomials F and G - * @param hashAlg a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method. - */ - public NTRUSigningParameters(int N, int q, int d1, int d2, int d3, int B, double beta, double normBound, double keyNormBound, Digest hashAlg) - { - this.N = N; - this.q = q; - this.d1 = d1; - this.d2 = d2; - this.d3 = d3; - this.B = B; - this.beta = beta; - this.normBound = normBound; - this.hashAlg = hashAlg; - init(); - } - - private void init() - { - betaSq = beta * beta; - normBoundSq = normBound * normBound; - } - - /** - * Reads a parameter set from an input stream. - * - * @param is an input stream - * @throws IOException - */ - public NTRUSigningParameters(InputStream is) - throws IOException - { - DataInputStream dis = new DataInputStream(is); - N = dis.readInt(); - q = dis.readInt(); - d = dis.readInt(); - d1 = dis.readInt(); - d2 = dis.readInt(); - d3 = dis.readInt(); - B = dis.readInt(); - beta = dis.readDouble(); - normBound = dis.readDouble(); - signFailTolerance = dis.readInt(); - bitsF = dis.readInt(); - String alg = dis.readUTF(); - if ("SHA-512".equals(alg)) - { - hashAlg = new SHA512Digest(); - } - else if ("SHA-256".equals(alg)) - { - hashAlg = new SHA256Digest(); - } - init(); - } - - /** - * Writes the parameter set to an output stream - * - * @param os an output stream - * @throws IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - DataOutputStream dos = new DataOutputStream(os); - dos.writeInt(N); - dos.writeInt(q); - dos.writeInt(d); - dos.writeInt(d1); - dos.writeInt(d2); - dos.writeInt(d3); - dos.writeInt(B); - dos.writeDouble(beta); - dos.writeDouble(normBound); - dos.writeInt(signFailTolerance); - dos.writeInt(bitsF); - dos.writeUTF(hashAlg.getAlgorithmName()); - } - - public NTRUSigningParameters clone() - { - return new NTRUSigningParameters(N, q, d, B, beta, normBound, hashAlg); - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + B; - result = prime * result + N; - long temp; - temp = Double.doubleToLongBits(beta); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(betaSq); - result = prime * result + (int)(temp ^ (temp >>> 32)); - result = prime * result + bitsF; - result = prime * result + d; - result = prime * result + d1; - result = prime * result + d2; - result = prime * result + d3; - result = prime * result + ((hashAlg == null) ? 0 : hashAlg.getAlgorithmName().hashCode()); - temp = Double.doubleToLongBits(normBound); - result = prime * result + (int)(temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits(normBoundSq); - result = prime * result + (int)(temp ^ (temp >>> 32)); - result = prime * result + q; - result = prime * result + signFailTolerance; - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (!(obj instanceof NTRUSigningParameters)) - { - return false; - } - NTRUSigningParameters other = (NTRUSigningParameters)obj; - if (B != other.B) - { - return false; - } - if (N != other.N) - { - return false; - } - if (Double.doubleToLongBits(beta) != Double.doubleToLongBits(other.beta)) - { - return false; - } - if (Double.doubleToLongBits(betaSq) != Double.doubleToLongBits(other.betaSq)) - { - return false; - } - if (bitsF != other.bitsF) - { - return false; - } - if (d != other.d) - { - return false; - } - if (d1 != other.d1) - { - return false; - } - if (d2 != other.d2) - { - return false; - } - if (d3 != other.d3) - { - return false; - } - if (hashAlg == null) - { - if (other.hashAlg != null) - { - return false; - } - } - else if (!hashAlg.getAlgorithmName().equals(other.hashAlg.getAlgorithmName())) - { - return false; - } - if (Double.doubleToLongBits(normBound) != Double.doubleToLongBits(other.normBound)) - { - return false; - } - if (Double.doubleToLongBits(normBoundSq) != Double.doubleToLongBits(other.normBoundSq)) - { - return false; - } - if (q != other.q) - { - return false; - } - if (signFailTolerance != other.signFailTolerance) - { - return false; - } - - return true; - } - - public String toString() - { - DecimalFormat format = new DecimalFormat("0.00"); - - StringBuilder output = new StringBuilder("SignatureParameters(N=" + N + " q=" + q); - - output.append(" B=" + B + " beta=" + format.format(beta) + - " normBound=" + format.format(normBound) + - " hashAlg=" + hashAlg + ")"); - return output.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPrivateKeyParameters.java deleted file mode 100644 index bbbaaeef9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPrivateKeyParameters.java +++ /dev/null @@ -1,385 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; - -/** - * A NtruSign private key comprises one or more {@link NTRUSigningPrivateKeyParameters.Basis} of three polynomials each, - * except the zeroth basis for which h is undefined. - */ -public class NTRUSigningPrivateKeyParameters - extends AsymmetricKeyParameter -{ - private List bases; - private NTRUSigningPublicKeyParameters publicKey; - - /** - * Constructs a new private key from a byte array - * - * @param b an encoded private key - * @param params the NtruSign parameters to use - */ - public NTRUSigningPrivateKeyParameters(byte[] b, NTRUSigningKeyGenerationParameters params) - throws IOException - { - this(new ByteArrayInputStream(b), params); - } - - /** - * Constructs a new private key from an input stream - * - * @param is an input stream - * @param params the NtruSign parameters to use - */ - public NTRUSigningPrivateKeyParameters(InputStream is, NTRUSigningKeyGenerationParameters params) - throws IOException - { - super(true); - bases = new ArrayList(); - for (int i = 0; i <= params.B; i++) - // include a public key h[i] in all bases except for the first one - { - add(new Basis(is, params, i != 0)); - } - publicKey = new NTRUSigningPublicKeyParameters(is, params.getSigningParameters()); - } - - public NTRUSigningPrivateKeyParameters(List bases, NTRUSigningPublicKeyParameters publicKey) - { - super(true); - this.bases = new ArrayList(bases); - this.publicKey = publicKey; - } - - /** - * Adds a basis to the key. - * - * @param b a NtruSign basis - */ - private void add(Basis b) - { - bases.add(b); - } - - /** - * Returns the i-th basis - * - * @param i the index - * @return the basis at index i - */ - public Basis getBasis(int i) - { - return bases.get(i); - } - - public NTRUSigningPublicKeyParameters getPublicKey() - { - return publicKey; - } - - /** - * Converts the key to a byte array - * - * @return the encoded key - */ - public byte[] getEncoded() - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - for (int i = 0; i < bases.size(); i++) - { - // all bases except for the first one contain a public key - bases.get(i).encode(os, i != 0); - } - - os.write(publicKey.getEncoded()); - - return os.toByteArray(); - } - - /** - * Writes the key to an output stream - * - * @param os an output stream - * @throws IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - os.write(getEncoded()); - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((bases == null) ? 0 : bases.hashCode()); - for (Basis basis : bases) - { - result += basis.hashCode(); - } - return result; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - NTRUSigningPrivateKeyParameters other = (NTRUSigningPrivateKeyParameters)obj; - if (bases == null) - { - if (other.bases != null) - { - return false; - } - } - if (bases.size() != other.bases.size()) - { - return false; - } - for (int i = 0; i < bases.size(); i++) - { - Basis basis1 = bases.get(i); - Basis basis2 = other.bases.get(i); - if (!basis1.f.equals(basis2.f)) - { - return false; - } - if (!basis1.fPrime.equals(basis2.fPrime)) - { - return false; - } - if (i != 0 && !basis1.h.equals(basis2.h)) // don't compare h for the 0th basis - { - return false; - } - if (!basis1.params.equals(basis2.params)) - { - return false; - } - } - return true; - } - - /** - * A NtruSign basis. Contains three polynomials f, f', h. - */ - public static class Basis - { - public Polynomial f; - public Polynomial fPrime; - public IntegerPolynomial h; - NTRUSigningKeyGenerationParameters params; - - /** - * Constructs a new basis from polynomials f, f', h. - * - * @param f - * @param fPrime - * @param h - * @param params NtruSign parameters - */ - protected Basis(Polynomial f, Polynomial fPrime, IntegerPolynomial h, NTRUSigningKeyGenerationParameters params) - { - this.f = f; - this.fPrime = fPrime; - this.h = h; - this.params = params; - } - - /** - * Reads a basis from an input stream and constructs a new basis. - * - * @param is an input stream - * @param params NtruSign parameters - * @param include_h whether to read the polynomial h (true) or only f and f' (false) - */ - Basis(InputStream is, NTRUSigningKeyGenerationParameters params, boolean include_h) - throws IOException - { - int N = params.N; - int q = params.q; - int d1 = params.d1; - int d2 = params.d2; - int d3 = params.d3; - boolean sparse = params.sparse; - this.params = params; - - if (params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT) - { - f = ProductFormPolynomial.fromBinary(is, N, d1, d2, d3 + 1, d3); - } - else - { - IntegerPolynomial fInt = IntegerPolynomial.fromBinary3Tight(is, N); - f = sparse ? new SparseTernaryPolynomial(fInt) : new DenseTernaryPolynomial(fInt); - } - - if (params.basisType == NTRUSigningKeyGenerationParameters.BASIS_TYPE_STANDARD) - { - IntegerPolynomial fPrimeInt = IntegerPolynomial.fromBinary(is, N, q); - for (int i = 0; i < fPrimeInt.coeffs.length; i++) - { - fPrimeInt.coeffs[i] -= q / 2; - } - fPrime = fPrimeInt; - } - else if (params.polyType == NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT) - { - fPrime = ProductFormPolynomial.fromBinary(is, N, d1, d2, d3 + 1, d3); - } - else - { - fPrime = IntegerPolynomial.fromBinary3Tight(is, N); - } - - if (include_h) - { - h = IntegerPolynomial.fromBinary(is, N, q); - } - } - - /** - * Writes the basis to an output stream - * - * @param os an output stream - * @param include_h whether to write the polynomial h (true) or only f and f' (false) - * @throws IOException - */ - void encode(OutputStream os, boolean include_h) - throws IOException - { - int q = params.q; - - os.write(getEncoded(f)); - if (params.basisType == NTRUSigningKeyGenerationParameters.BASIS_TYPE_STANDARD) - { - IntegerPolynomial fPrimeInt = fPrime.toIntegerPolynomial(); - for (int i = 0; i < fPrimeInt.coeffs.length; i++) - { - fPrimeInt.coeffs[i] += q / 2; - } - os.write(fPrimeInt.toBinary(q)); - } - else - { - os.write(getEncoded(fPrime)); - } - if (include_h) - { - os.write(h.toBinary(q)); - } - } - - private byte[] getEncoded(Polynomial p) - { - if (p instanceof ProductFormPolynomial) - { - return ((ProductFormPolynomial)p).toBinary(); - } - else - { - return p.toIntegerPolynomial().toBinary3Tight(); - } - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((f == null) ? 0 : f.hashCode()); - result = prime * result + ((fPrime == null) ? 0 : fPrime.hashCode()); - result = prime * result + ((h == null) ? 0 : h.hashCode()); - result = prime * result + ((params == null) ? 0 : params.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (!(obj instanceof Basis)) - { - return false; - } - Basis other = (Basis)obj; - if (f == null) - { - if (other.f != null) - { - return false; - } - } - else if (!f.equals(other.f)) - { - return false; - } - if (fPrime == null) - { - if (other.fPrime != null) - { - return false; - } - } - else if (!fPrime.equals(other.fPrime)) - { - return false; - } - if (h == null) - { - if (other.h != null) - { - return false; - } - } - else if (!h.equals(other.h)) - { - return false; - } - if (params == null) - { - if (other.params != null) - { - return false; - } - } - else if (!params.equals(other.params)) - { - return false; - } - return true; - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPublicKeyParameters.java deleted file mode 100644 index d7431b8bf..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/ntru/NTRUSigningPublicKeyParameters.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.spongycastle.pqc.crypto.ntru; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; - -/** - * A NtruSign public key is essentially a polynomial named h. - */ -public class NTRUSigningPublicKeyParameters - extends AsymmetricKeyParameter -{ - private NTRUSigningParameters params; - public IntegerPolynomial h; - - /** - * Constructs a new public key from a polynomial - * - * @param h the polynomial h which determines the key - * @param params the NtruSign parameters to use - */ - public NTRUSigningPublicKeyParameters(IntegerPolynomial h, NTRUSigningParameters params) - { - super(false); - this.h = h; - this.params = params; - } - - /** - * Converts a byte array to a polynomial h and constructs a new public key - * - * @param b an encoded polynomial - * @param params the NtruSign parameters to use - */ - public NTRUSigningPublicKeyParameters(byte[] b, NTRUSigningParameters params) - { - super(false); - h = IntegerPolynomial.fromBinary(b, params.N, params.q); - this.params = params; - } - - /** - * Reads a polynomial h from an input stream and constructs a new public key - * - * @param is an input stream - * @param params the NtruSign parameters to use - */ - public NTRUSigningPublicKeyParameters(InputStream is, NTRUSigningParameters params) - throws IOException - { - super(false); - h = IntegerPolynomial.fromBinary(is, params.N, params.q); - this.params = params; - } - - - /** - * Converts the key to a byte array - * - * @return the encoded key - */ - public byte[] getEncoded() - { - return h.toBinary(params.q); - } - - /** - * Writes the key to an output stream - * - * @param os an output stream - * @throws IOException - */ - public void writeTo(OutputStream os) - throws IOException - { - os.write(getEncoded()); - } - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((h == null) ? 0 : h.hashCode()); - result = prime * result + ((params == null) ? 0 : params.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - NTRUSigningPublicKeyParameters other = (NTRUSigningPublicKeyParameters)obj; - if (h == null) - { - if (other.h != null) - { - return false; - } - } - else if (!h.equals(other.h)) - { - return false; - } - if (params == null) - { - if (other.params != null) - { - return false; - } - } - else if (!params.equals(other.params)) - { - return false; - } - return true; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/Layer.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/Layer.java deleted file mode 100644 index 73eaaf118..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/Layer.java +++ /dev/null @@ -1,322 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import java.security.SecureRandom; - -import org.spongycastle.pqc.crypto.rainbow.util.GF2Field; -import org.spongycastle.pqc.crypto.rainbow.util.RainbowUtil; -import org.spongycastle.util.Arrays; - - -/** - * This class represents a layer of the Rainbow Oil- and Vinegar Map. Each Layer - * consists of oi polynomials with their coefficients, generated at random. - *

    - * To sign a document, we solve a LES (linear equation system) for each layer in - * order to find the oil variables of that layer and to be able to use the - * variables to compute the signature. This functionality is implemented in the - * RainbowSignature-class, by the aid of the private key. - *

    - * Each layer is a part of the private key. - *

    - * More information about the layer can be found in the paper of Jintai Ding, - * Dieter Schmidt: Rainbow, a New Multivariable Polynomial Signature Scheme. - * ACNS 2005: 164-175 (http://dx.doi.org/10.1007/11496137_12) - */ -public class Layer -{ - private int vi; // number of vinegars in this layer - private int viNext; // number of vinegars in next layer - private int oi; // number of oils in this layer - - /* - * k : index of polynomial - * - * i,j : indices of oil and vinegar variables - */ - private short[/* k */][/* i */][/* j */] coeff_alpha; - private short[/* k */][/* i */][/* j */] coeff_beta; - private short[/* k */][/* i */] coeff_gamma; - private short[/* k */] coeff_eta; - - /** - * Constructor - * - * @param vi number of vinegar variables of this layer - * @param viNext number of vinegar variables of next layer. It's the same as - * (num of oils) + (num of vinegars) of this layer. - * @param coeffAlpha alpha-coefficients in the polynomials of this layer - * @param coeffBeta beta-coefficients in the polynomials of this layer - * @param coeffGamma gamma-coefficients in the polynomials of this layer - * @param coeffEta eta-coefficients in the polynomials of this layer - */ - public Layer(byte vi, byte viNext, short[][][] coeffAlpha, - short[][][] coeffBeta, short[][] coeffGamma, short[] coeffEta) - { - this.vi = vi & 0xff; - this.viNext = viNext & 0xff; - this.oi = this.viNext - this.vi; - - // the secret coefficients of all polynomials in this layer - this.coeff_alpha = coeffAlpha; - this.coeff_beta = coeffBeta; - this.coeff_gamma = coeffGamma; - this.coeff_eta = coeffEta; - } - - /** - * This function generates the coefficients of all polynomials in this layer - * at random using random generator. - * - * @param sr the random generator which is to be used - */ - public Layer(int vi, int viNext, SecureRandom sr) - { - this.vi = vi; - this.viNext = viNext; - this.oi = viNext - vi; - - // the coefficients of all polynomials in this layer - this.coeff_alpha = new short[this.oi][this.oi][this.vi]; - this.coeff_beta = new short[this.oi][this.vi][this.vi]; - this.coeff_gamma = new short[this.oi][this.viNext]; - this.coeff_eta = new short[this.oi]; - - int numOfPoly = this.oi; // number of polynomials per layer - - // Alpha coeffs - for (int k = 0; k < numOfPoly; k++) - { - for (int i = 0; i < this.oi; i++) - { - for (int j = 0; j < this.vi; j++) - { - coeff_alpha[k][i][j] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - } - // Beta coeffs - for (int k = 0; k < numOfPoly; k++) - { - for (int i = 0; i < this.vi; i++) - { - for (int j = 0; j < this.vi; j++) - { - coeff_beta[k][i][j] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - } - // Gamma coeffs - for (int k = 0; k < numOfPoly; k++) - { - for (int i = 0; i < this.viNext; i++) - { - coeff_gamma[k][i] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - // Eta - for (int k = 0; k < numOfPoly; k++) - { - coeff_eta[k] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - - /** - * This method plugs in the vinegar variables into the polynomials of this - * layer and computes the coefficients of the Oil-variables as well as the - * free coefficient in each polynomial. - *

    - * It is needed for computing the Oil variables while signing. - * - * @param x vinegar variables of this layer that should be plugged into - * the polynomials. - * @return coeff the coefficients of Oil variables and the free coeff in the - * polynomials of this layer. - */ - public short[][] plugInVinegars(short[] x) - { - // temporary variable needed for the multiplication - short tmpMult = 0; - // coeff: 1st index = which polynomial, 2nd index=which variable - short[][] coeff = new short[oi][oi + 1]; // gets returned - // free coefficient per polynomial - short[] sum = new short[oi]; - - /* - * evaluate the beta-part of the polynomials (it contains no oil - * variables) - */ - for (int k = 0; k < oi; k++) - { - for (int i = 0; i < vi; i++) - { - for (int j = 0; j < vi; j++) - { - // tmp = beta * xi (plug in) - tmpMult = GF2Field.multElem(coeff_beta[k][i][j], x[i]); - // tmp = tmp * xj - tmpMult = GF2Field.multElem(tmpMult, x[j]); - // accumulate into the array for the free coefficients. - sum[k] = GF2Field.addElem(sum[k], tmpMult); - } - } - } - - /* evaluate the alpha-part (it contains oils) */ - for (int k = 0; k < oi; k++) - { - for (int i = 0; i < oi; i++) - { - for (int j = 0; j < vi; j++) - { - // alpha * xj (plug in) - tmpMult = GF2Field.multElem(coeff_alpha[k][i][j], x[j]); - // accumulate - coeff[k][i] = GF2Field.addElem(coeff[k][i], tmpMult); - } - } - } - /* evaluate the gama-part of the polynomial (containing no oils) */ - for (int k = 0; k < oi; k++) - { - for (int i = 0; i < vi; i++) - { - // gamma * xi (plug in) - tmpMult = GF2Field.multElem(coeff_gamma[k][i], x[i]); - // accumulate in the array for the free coefficients (per - // polynomial). - sum[k] = GF2Field.addElem(sum[k], tmpMult); - } - } - /* evaluate the gama-part of the polynomial (but containing oils) */ - for (int k = 0; k < oi; k++) - { - for (int i = vi; i < viNext; i++) - { // oils - // accumulate the coefficients of the oil variables (per - // polynomial). - coeff[k][i - vi] = GF2Field.addElem(coeff_gamma[k][i], - coeff[k][i - vi]); - } - } - /* evaluate the eta-part of the polynomial */ - for (int k = 0; k < oi; k++) - { - // accumulate in the array for the free coefficients per polynomial. - sum[k] = GF2Field.addElem(sum[k], coeff_eta[k]); - } - - /* put the free coefficients (sum) into the coeff-array as last column */ - for (int k = 0; k < oi; k++) - { - coeff[k][oi] = sum[k]; - } - return coeff; - } - - /** - * Getter for the number of vinegar variables of this layer. - * - * @return the number of vinegar variables of this layer. - */ - public int getVi() - { - return vi; - } - - /** - * Getter for the number of vinegar variables of the next layer. - * - * @return the number of vinegar variables of the next layer. - */ - public int getViNext() - { - return viNext; - } - - /** - * Getter for the number of Oil variables of this layer. - * - * @return the number of oil variables of this layer. - */ - public int getOi() - { - return oi; - } - - /** - * Getter for the alpha-coefficients of the polynomials in this layer. - * - * @return the coefficients of alpha-terms of this layer. - */ - public short[][][] getCoeffAlpha() - { - return coeff_alpha; - } - - /** - * Getter for the beta-coefficients of the polynomials in this layer. - * - * @return the coefficients of beta-terms of this layer. - */ - - public short[][][] getCoeffBeta() - { - return coeff_beta; - } - - /** - * Getter for the gamma-coefficients of the polynomials in this layer. - * - * @return the coefficients of gamma-terms of this layer - */ - public short[][] getCoeffGamma() - { - return coeff_gamma; - } - - /** - * Getter for the eta-coefficients of the polynomials in this layer. - * - * @return the coefficients eta of this layer - */ - public short[] getCoeffEta() - { - return coeff_eta; - } - - /** - * This function compares this Layer with another object. - * - * @param other the other object - * @return the result of the comparison - */ - public boolean equals(Object other) - { - if (other == null || !(other instanceof Layer)) - { - return false; - } - Layer otherLayer = (Layer)other; - - return vi == otherLayer.getVi() - && viNext == otherLayer.getViNext() - && oi == otherLayer.getOi() - && RainbowUtil.equals(coeff_alpha, otherLayer.getCoeffAlpha()) - && RainbowUtil.equals(coeff_beta, otherLayer.getCoeffBeta()) - && RainbowUtil.equals(coeff_gamma, otherLayer.getCoeffGamma()) - && RainbowUtil.equals(coeff_eta, otherLayer.getCoeffEta()); - } - - public int hashCode() - { - int hash = vi; - hash = hash * 37 + viNext; - hash = hash * 37 + oi; - hash = hash * 37 + Arrays.hashCode(coeff_alpha); - hash = hash * 37 + Arrays.hashCode(coeff_beta); - hash = hash * 37 + Arrays.hashCode(coeff_gamma); - hash = hash * 37 + Arrays.hashCode(coeff_eta); - - return hash; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyGenerationParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyGenerationParameters.java deleted file mode 100644 index 2cbc5b622..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyGenerationParameters.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.KeyGenerationParameters; - -public class RainbowKeyGenerationParameters - extends KeyGenerationParameters -{ - private RainbowParameters params; - - public RainbowKeyGenerationParameters( - SecureRandom random, - RainbowParameters params) - { - // TODO: key size? - super(random, params.getVi()[params.getVi().length - 1] - params.getVi()[0]); - this.params = params; - } - - public RainbowParameters getParameters() - { - return params; - } -} - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyPairGenerator.java deleted file mode 100644 index ac9a1ae78..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyPairGenerator.java +++ /dev/null @@ -1,414 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.pqc.crypto.rainbow.util.ComputeInField; -import org.spongycastle.pqc.crypto.rainbow.util.GF2Field; - -/** - * This class implements AsymmetricCipherKeyPairGenerator. It is used - * as a generator for the private and public key of the Rainbow Signature - * Scheme. - *

    - * Detailed information about the key generation is to be found in the paper of - * Jintai Ding, Dieter Schmidt: Rainbow, a New Multivariable Polynomial - * Signature Scheme. ACNS 2005: 164-175 (http://dx.doi.org/10.1007/11496137_12) - */ -public class RainbowKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private boolean initialized = false; - private SecureRandom sr; - private RainbowKeyGenerationParameters rainbowParams; - - /* linear affine map L1: */ - private short[][] A1; // matrix of the lin. affine map L1(n-v1 x n-v1 matrix) - private short[][] A1inv; // inverted A1 - private short[] b1; // translation element of the lin.affine map L1 - - /* linear affine map L2: */ - private short[][] A2; // matrix of the lin. affine map (n x n matrix) - private short[][] A2inv; // inverted A2 - private short[] b2; // translation elemt of the lin.affine map L2 - - /* components of F: */ - private int numOfLayers; // u (number of sets S) - private Layer layers[]; // layers of polynomials of F - private int[] vi; // set of vinegar vars per layer. - - /* components of Public Key */ - private short[][] pub_quadratic; // quadratic(mixed) coefficients - private short[][] pub_singular; // singular coefficients - private short[] pub_scalar; // scalars - - // TODO - - /** - * The standard constructor tries to generate the Rainbow algorithm identifier - * with the corresponding OID. - *

    - */ - public RainbowKeyPairGenerator() - { - } - - - /** - * This function generates a Rainbow key pair. - * - * @return the generated key pair - */ - public AsymmetricCipherKeyPair genKeyPair() - { - RainbowPrivateKeyParameters privKey; - RainbowPublicKeyParameters pubKey; - - if (!initialized) - { - initializeDefault(); - } - - /* choose all coefficients at random */ - keygen(); - - /* now marshall them to PrivateKey */ - privKey = new RainbowPrivateKeyParameters(A1inv, b1, A2inv, b2, vi, layers); - - - /* marshall to PublicKey */ - pubKey = new RainbowPublicKeyParameters(vi[vi.length - 1] - vi[0], pub_quadratic, pub_singular, pub_scalar); - - return new AsymmetricCipherKeyPair(pubKey, privKey); - } - - // TODO - public void initialize( - KeyGenerationParameters param) - { - this.rainbowParams = (RainbowKeyGenerationParameters)param; - - // set source of randomness - this.sr = new SecureRandom(); - - // unmarshalling: - this.vi = this.rainbowParams.getParameters().getVi(); - this.numOfLayers = this.rainbowParams.getParameters().getNumOfLayers(); - - this.initialized = true; - } - - private void initializeDefault() - { - RainbowKeyGenerationParameters rbKGParams = new RainbowKeyGenerationParameters(new SecureRandom(), new RainbowParameters()); - initialize(rbKGParams); - } - - /** - * This function calls the functions for the random generation of the coefficients - * and the matrices needed for the private key and the method for computing the public key. - */ - private void keygen() - { - generateL1(); - generateL2(); - generateF(); - computePublicKey(); - } - - /** - * This function generates the invertible affine linear map L1 = A1*x + b1 - *

    - * The translation part b1, is stored in a separate array. The inverse of - * the matrix-part of L1 A1inv is also computed here. - *

    - * This linear map hides the output of the map F. It is on k^(n-v1). - */ - private void generateL1() - { - - // dimension = n-v1 = vi[last] - vi[first] - int dim = vi[vi.length - 1] - vi[0]; - this.A1 = new short[dim][dim]; - this.A1inv = null; - ComputeInField c = new ComputeInField(); - - /* generation of A1 at random */ - while (A1inv == null) - { - for (int i = 0; i < dim; i++) - { - for (int j = 0; j < dim; j++) - { - A1[i][j] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - A1inv = c.inverse(A1); - } - - /* generation of the translation vector at random */ - b1 = new short[dim]; - for (int i = 0; i < dim; i++) - { - b1[i] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - - /** - * This function generates the invertible affine linear map L2 = A2*x + b2 - *

    - * The translation part b2, is stored in a separate array. The inverse of - * the matrix-part of L2 A2inv is also computed here. - *

    - * This linear map hides the output of the map F. It is on k^(n). - */ - private void generateL2() - { - - // dimension = n = vi[last] - int dim = vi[vi.length - 1]; - this.A2 = new short[dim][dim]; - this.A2inv = null; - ComputeInField c = new ComputeInField(); - - /* generation of A2 at random */ - while (this.A2inv == null) - { - for (int i = 0; i < dim; i++) - { - for (int j = 0; j < dim; j++) - { // one col extra for b - A2[i][j] = (short)(sr.nextInt() & GF2Field.MASK); - } - } - this.A2inv = c.inverse(A2); - } - /* generation of the translation vector at random */ - b2 = new short[dim]; - for (int i = 0; i < dim; i++) - { - b2[i] = (short)(sr.nextInt() & GF2Field.MASK); - } - - } - - /** - * This function generates the private map F, which consists of u-1 layers. - * Each layer consists of oi polynomials where oi = vi[i+1]-vi[i]. - *

    - * The methods for the generation of the coefficients of these polynomials - * are called here. - */ - private void generateF() - { - - this.layers = new Layer[this.numOfLayers]; - for (int i = 0; i < this.numOfLayers; i++) - { - layers[i] = new Layer(this.vi[i], this.vi[i + 1], sr); - } - } - - /** - * This function computes the public key from the private key. - *

    - * The composition of F with L2 is computed, followed by applying L1 to the - * composition's result. The singular and scalar values constitute to the - * public key as is, the quadratic terms are compacted in - * compactPublicKey() - */ - private void computePublicKey() - { - - ComputeInField c = new ComputeInField(); - int rows = this.vi[this.vi.length - 1] - this.vi[0]; - int vars = this.vi[this.vi.length - 1]; - // Fpub - short[][][] coeff_quadratic_3dim = new short[rows][vars][vars]; - this.pub_singular = new short[rows][vars]; - this.pub_scalar = new short[rows]; - - // Coefficients of layers of Private Key F - short[][][] coeff_alpha; - short[][][] coeff_beta; - short[][] coeff_gamma; - short[] coeff_eta; - - // Needed for counters; - int oils = 0; - int vins = 0; - int crnt_row = 0; // current row (polynomial) - - short vect_tmp[] = new short[vars]; // vector tmp; - short sclr_tmp = 0; - - // Composition of F and L2: Insert L2 = A2*x+b2 in F - for (int l = 0; l < this.layers.length; l++) - { - // get coefficients of current layer - coeff_alpha = this.layers[l].getCoeffAlpha(); - coeff_beta = this.layers[l].getCoeffBeta(); - coeff_gamma = this.layers[l].getCoeffGamma(); - coeff_eta = this.layers[l].getCoeffEta(); - oils = coeff_alpha[0].length;// this.layers[l].getOi(); - vins = coeff_beta[0].length;// this.layers[l].getVi(); - // compute polynomials of layer - for (int p = 0; p < oils; p++) - { - // multiply alphas - for (int x1 = 0; x1 < oils; x1++) - { - for (int x2 = 0; x2 < vins; x2++) - { - // multiply polynomial1 with polynomial2 - vect_tmp = c.multVect(coeff_alpha[p][x1][x2], - this.A2[x1 + vins]); - coeff_quadratic_3dim[crnt_row + p] = c.addSquareMatrix( - coeff_quadratic_3dim[crnt_row + p], c - .multVects(vect_tmp, this.A2[x2])); - // mul poly1 with scalar2 - vect_tmp = c.multVect(this.b2[x2], vect_tmp); - this.pub_singular[crnt_row + p] = c.addVect(vect_tmp, - this.pub_singular[crnt_row + p]); - // mul scalar1 with poly2 - vect_tmp = c.multVect(coeff_alpha[p][x1][x2], - this.A2[x2]); - vect_tmp = c.multVect(b2[x1 + vins], vect_tmp); - this.pub_singular[crnt_row + p] = c.addVect(vect_tmp, - this.pub_singular[crnt_row + p]); - // mul scalar1 with scalar2 - sclr_tmp = GF2Field.multElem(coeff_alpha[p][x1][x2], - this.b2[x1 + vins]); - this.pub_scalar[crnt_row + p] = GF2Field.addElem( - this.pub_scalar[crnt_row + p], GF2Field - .multElem(sclr_tmp, this.b2[x2])); - } - } - // multiply betas - for (int x1 = 0; x1 < vins; x1++) - { - for (int x2 = 0; x2 < vins; x2++) - { - // multiply polynomial1 with polynomial2 - vect_tmp = c.multVect(coeff_beta[p][x1][x2], - this.A2[x1]); - coeff_quadratic_3dim[crnt_row + p] = c.addSquareMatrix( - coeff_quadratic_3dim[crnt_row + p], c - .multVects(vect_tmp, this.A2[x2])); - // mul poly1 with scalar2 - vect_tmp = c.multVect(this.b2[x2], vect_tmp); - this.pub_singular[crnt_row + p] = c.addVect(vect_tmp, - this.pub_singular[crnt_row + p]); - // mul scalar1 with poly2 - vect_tmp = c.multVect(coeff_beta[p][x1][x2], - this.A2[x2]); - vect_tmp = c.multVect(this.b2[x1], vect_tmp); - this.pub_singular[crnt_row + p] = c.addVect(vect_tmp, - this.pub_singular[crnt_row + p]); - // mul scalar1 with scalar2 - sclr_tmp = GF2Field.multElem(coeff_beta[p][x1][x2], - this.b2[x1]); - this.pub_scalar[crnt_row + p] = GF2Field.addElem( - this.pub_scalar[crnt_row + p], GF2Field - .multElem(sclr_tmp, this.b2[x2])); - } - } - // multiply gammas - for (int n = 0; n < vins + oils; n++) - { - // mul poly with scalar - vect_tmp = c.multVect(coeff_gamma[p][n], this.A2[n]); - this.pub_singular[crnt_row + p] = c.addVect(vect_tmp, - this.pub_singular[crnt_row + p]); - // mul scalar with scalar - this.pub_scalar[crnt_row + p] = GF2Field.addElem( - this.pub_scalar[crnt_row + p], GF2Field.multElem( - coeff_gamma[p][n], this.b2[n])); - } - // add eta - this.pub_scalar[crnt_row + p] = GF2Field.addElem( - this.pub_scalar[crnt_row + p], coeff_eta[p]); - } - crnt_row = crnt_row + oils; - } - - // Apply L1 = A1*x+b1 to composition of F and L2 - { - // temporary coefficient arrays - short[][][] tmp_c_quad = new short[rows][vars][vars]; - short[][] tmp_c_sing = new short[rows][vars]; - short[] tmp_c_scal = new short[rows]; - for (int r = 0; r < rows; r++) - { - for (int q = 0; q < A1.length; q++) - { - tmp_c_quad[r] = c.addSquareMatrix(tmp_c_quad[r], c - .multMatrix(A1[r][q], coeff_quadratic_3dim[q])); - tmp_c_sing[r] = c.addVect(tmp_c_sing[r], c.multVect( - A1[r][q], this.pub_singular[q])); - tmp_c_scal[r] = GF2Field.addElem(tmp_c_scal[r], GF2Field - .multElem(A1[r][q], this.pub_scalar[q])); - } - tmp_c_scal[r] = GF2Field.addElem(tmp_c_scal[r], b1[r]); - } - // set public key - coeff_quadratic_3dim = tmp_c_quad; - this.pub_singular = tmp_c_sing; - this.pub_scalar = tmp_c_scal; - } - compactPublicKey(coeff_quadratic_3dim); - } - - /** - * The quadratic (or mixed) terms of the public key are compacted from a n x - * n matrix per polynomial to an upper diagonal matrix stored in one integer - * array of n (n + 1) / 2 elements per polynomial. The ordering of elements - * is lexicographic and the result is updating this.pub_quadratic, - * which stores the quadratic elements of the public key. - * - * @param coeff_quadratic_to_compact 3-dimensional array containing a n x n Matrix for each of the - * n - v1 polynomials - */ - private void compactPublicKey(short[][][] coeff_quadratic_to_compact) - { - int polynomials = coeff_quadratic_to_compact.length; - int n = coeff_quadratic_to_compact[0].length; - int entries = n * (n + 1) / 2;// the small gauss - this.pub_quadratic = new short[polynomials][entries]; - int offset = 0; - - for (int p = 0; p < polynomials; p++) - { - offset = 0; - for (int x = 0; x < n; x++) - { - for (int y = x; y < n; y++) - { - if (y == x) - { - this.pub_quadratic[p][offset] = coeff_quadratic_to_compact[p][x][y]; - } - else - { - this.pub_quadratic[p][offset] = GF2Field.addElem( - coeff_quadratic_to_compact[p][x][y], - coeff_quadratic_to_compact[p][y][x]); - } - offset++; - } - } - } - } - - public void init(KeyGenerationParameters param) - { - this.initialize(param); - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - return genKeyPair(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyParameters.java deleted file mode 100644 index 075afda4b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowKeyParameters.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import org.spongycastle.crypto.params.AsymmetricKeyParameter; - -public class RainbowKeyParameters - extends AsymmetricKeyParameter -{ - private int docLength; - - public RainbowKeyParameters( - boolean isPrivate, - int docLength) - { - super(isPrivate); - this.docLength = docLength; - } - - /** - * @return the docLength - */ - public int getDocLength() - { - return this.docLength; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowParameters.java deleted file mode 100644 index edc0d0238..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowParameters.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import org.spongycastle.crypto.CipherParameters; - -public class RainbowParameters - implements CipherParameters -{ - - /** - * DEFAULT PARAMS - */ - /* - * Vi = vinegars per layer whereas n is vu (vu = 33 = n) such that - * - * v1 = 6; o1 = 12-6 = 6 - * - * v2 = 12; o2 = 17-12 = 5 - * - * v3 = 17; o3 = 22-17 = 5 - * - * v4 = 22; o4 = 33-22 = 11 - * - * v5 = 33; (o5 = 0) - */ - private final int[] DEFAULT_VI = {6, 12, 17, 22, 33}; - - private int[] vi;// set of vinegar vars per layer. - - /** - * Default Constructor The elements of the array containing the number of - * Vinegar variables in each layer are set to the default values here. - */ - public RainbowParameters() - { - this.vi = this.DEFAULT_VI; - } - - /** - * Constructor with parameters - * - * @param vi The elements of the array containing the number of Vinegar - * variables per layer are set to the values of the input array. - */ - public RainbowParameters(int[] vi) - { - this.vi = vi; - try - { - checkParams(); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - private void checkParams() - throws Exception - { - if (vi == null) - { - throw new Exception("no layers defined."); - } - if (vi.length > 1) - { - for (int i = 0; i < vi.length - 1; i++) - { - if (vi[i] >= vi[i + 1]) - { - throw new Exception( - "v[i] has to be smaller than v[i+1]"); - } - } - } - else - { - throw new Exception( - "Rainbow needs at least 1 layer, such that v1 < v2."); - } - } - - /** - * Getter for the number of layers - * - * @return the number of layers - */ - public int getNumOfLayers() - { - return this.vi.length - 1; - } - - /** - * Getter for the number of all the polynomials in Rainbow - * - * @return the number of the polynomials - */ - public int getDocLength() - { - return vi[vi.length - 1] - vi[0]; - } - - /** - * Getter for the array containing the number of Vinegar-variables per layer - * - * @return the numbers of vinegars per layer - */ - public int[] getVi() - { - return this.vi; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPrivateKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPrivateKeyParameters.java deleted file mode 100644 index 5d501a536..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPrivateKeyParameters.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -public class RainbowPrivateKeyParameters - extends RainbowKeyParameters -{ - /** - * Constructor - * - * @param A1inv the inverse of A1(the matrix part of the affine linear map L1) - * (n-v1 x n-v1 matrix) - * @param b1 translation vector, part of the linear affine map L1 - * @param A2inv the inverse of A2(the matrix part of the affine linear map L2) - * (n x n matrix) - * @param b2 translation vector, part of the linear affine map L2 - * @param vi the number of Vinegar-variables per layer - * @param layers the polynomials with their coefficients of private map F - */ - public RainbowPrivateKeyParameters(short[][] A1inv, short[] b1, - short[][] A2inv, short[] b2, int[] vi, Layer[] layers) - { - super(true, vi[vi.length - 1] - vi[0]); - - this.A1inv = A1inv; - this.b1 = b1; - this.A2inv = A2inv; - this.b2 = b2; - this.vi = vi; - this.layers = layers; - } - - /* - * invertible affine linear map L1 - */ - // the inverse of A1, (n-v1 x n-v1 matrix) - private short[][] A1inv; - - // translation vector of L1 - private short[] b1; - - /* - * invertible affine linear map L2 - */ - // the inverse of A2, (n x n matrix) - private short[][] A2inv; - - // translation vector of L2 - private short[] b2; - - /* - * components of F - */ - // the number of Vinegar-variables per layer. - private int[] vi; - - // contains the polynomials with their coefficients of private map F - private Layer[] layers; - - /** - * Getter for the translation part of the private quadratic map L1. - * - * @return b1 the translation part of L1 - */ - public short[] getB1() - { - return this.b1; - } - - /** - * Getter for the inverse matrix of A1. - * - * @return the A1inv inverse - */ - public short[][] getInvA1() - { - return this.A1inv; - } - - /** - * Getter for the translation part of the private quadratic map L2. - * - * @return b2 the translation part of L2 - */ - public short[] getB2() - { - return this.b2; - } - - /** - * Getter for the inverse matrix of A2 - * - * @return the A2inv - */ - public short[][] getInvA2() - { - return this.A2inv; - } - - /** - * Returns the layers contained in the private key - * - * @return layers - */ - public Layer[] getLayers() - { - return this.layers; - } - - /** - * /** Returns the array of vi-s - * - * @return the vi - */ - public int[] getVi() - { - return vi; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPublicKeyParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPublicKeyParameters.java deleted file mode 100644 index 3a5314e17..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowPublicKeyParameters.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -public class RainbowPublicKeyParameters - extends RainbowKeyParameters -{ - private short[][] coeffquadratic; - private short[][] coeffsingular; - private short[] coeffscalar; - - /** - * Constructor - * - * @param docLength - * @param coeffQuadratic - * @param coeffSingular - * @param coeffScalar - */ - public RainbowPublicKeyParameters(int docLength, - short[][] coeffQuadratic, short[][] coeffSingular, - short[] coeffScalar) - { - super(false, docLength); - - this.coeffquadratic = coeffQuadratic; - this.coeffsingular = coeffSingular; - this.coeffscalar = coeffScalar; - - } - - /** - * @return the coeffquadratic - */ - public short[][] getCoeffQuadratic() - { - return coeffquadratic; - } - - /** - * @return the coeffsingular - */ - public short[][] getCoeffSingular() - { - return coeffsingular; - } - - /** - * @return the coeffscalar - */ - public short[] getCoeffScalar() - { - return coeffscalar; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowSigner.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowSigner.java deleted file mode 100644 index 12bd9810b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/RainbowSigner.java +++ /dev/null @@ -1,301 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.MessageSigner; -import org.spongycastle.pqc.crypto.rainbow.util.ComputeInField; -import org.spongycastle.pqc.crypto.rainbow.util.GF2Field; - -/** - * It implements the sign and verify functions for the Rainbow Signature Scheme. - * Here the message, which has to be signed, is updated. The use of - * different hash functions is possible. - *

    - * Detailed information about the signature and the verify-method is to be found - * in the paper of Jintai Ding, Dieter Schmidt: Rainbow, a New Multivariable - * Polynomial Signature Scheme. ACNS 2005: 164-175 - * (http://dx.doi.org/10.1007/11496137_12) - */ -public class RainbowSigner - implements MessageSigner -{ - // Source of randomness - private SecureRandom random; - - // The length of a document that can be signed with the privKey - int signableDocumentLength; - - // Container for the oil and vinegar variables of all the layers - private short[] x; - - private ComputeInField cf = new ComputeInField(); - - RainbowKeyParameters key; - - public void init(boolean forSigning, - CipherParameters param) - { - if (forSigning) - { - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - this.key = (RainbowPrivateKeyParameters)rParam.getParameters(); - - } - else - { - - this.random = new SecureRandom(); - this.key = (RainbowPrivateKeyParameters)param; - } - } - else - { - this.key = (RainbowPublicKeyParameters)param; - } - - this.signableDocumentLength = this.key.getDocLength(); - } - - - /** - * initial operations before solving the Linear equation system. - * - * @param layer the current layer for which a LES is to be solved. - * @param msg the message that should be signed. - * @return Y_ the modified document needed for solving LES, (Y_ = - * A1^{-1}*(Y-b1)) linear map L1 = A1 x + b1. - */ - private short[] initSign(Layer[] layer, short[] msg) - { - - /* preparation: Modifies the document with the inverse of L1 */ - // tmp = Y - b1: - short[] tmpVec = new short[msg.length]; - - tmpVec = cf.addVect(((RainbowPrivateKeyParameters)this.key).getB1(), msg); - - // Y_ = A1^{-1} * (Y - b1) : - short[] Y_ = cf.multiplyMatrix(((RainbowPrivateKeyParameters)this.key).getInvA1(), tmpVec); - - /* generates the vinegar vars of the first layer at random */ - for (int i = 0; i < layer[0].getVi(); i++) - { - x[i] = (short)random.nextInt(); - x[i] = (short)(x[i] & GF2Field.MASK); - } - - return Y_; - } - - /** - * This function signs the message that has been updated, making use of the - * private key. - *

    - * For computing the signature, L1 and L2 are needed, as well as LES should - * be solved for each layer in order to find the Oil-variables in the layer. - *

    - * The Vinegar-variables of the first layer are random generated. - * - * @param message the message - * @return the signature of the message. - */ - public byte[] generateSignature(byte[] message) - { - Layer[] layer = ((RainbowPrivateKeyParameters)this.key).getLayers(); - int numberOfLayers = layer.length; - - x = new short[((RainbowPrivateKeyParameters)this.key).getInvA2().length]; // all variables - - short[] Y_; // modified document - short[] y_i; // part of Y_ each polynomial - int counter; // index of the current part of the doc - - short[] solVec; // the solution of LES pro layer - short[] tmpVec; - - // the signature as an array of shorts: - short[] signature; - // the signature as a byte-array: - byte[] S = new byte[layer[numberOfLayers - 1].getViNext()]; - - short[] msgHashVals = makeMessageRepresentative(message); - - // shows if an exception is caught - boolean ok; - do - { - ok = true; - counter = 0; - try - { - Y_ = initSign(layer, msgHashVals); - - for (int i = 0; i < numberOfLayers; i++) - { - - y_i = new short[layer[i].getOi()]; - solVec = new short[layer[i].getOi()]; // solution of LES - - /* copy oi elements of Y_ into y_i */ - for (int k = 0; k < layer[i].getOi(); k++) - { - y_i[k] = Y_[counter]; - counter++; // current index of Y_ - } - - /* - * plug in the vars of the previous layer in order to get - * the vars of the current layer - */ - solVec = cf.solveEquation(layer[i].plugInVinegars(x), y_i); - - if (solVec == null) - { // LES is not solveable - throw new Exception("LES is not solveable!"); - } - - /* copy the new vars into the x-array */ - for (int j = 0; j < solVec.length; j++) - { - x[layer[i].getVi() + j] = solVec[j]; - } - } - - /* apply the inverse of L2: (signature = A2^{-1}*(b2+x)) */ - tmpVec = cf.addVect(((RainbowPrivateKeyParameters)this.key).getB2(), x); - signature = cf.multiplyMatrix(((RainbowPrivateKeyParameters)this.key).getInvA2(), tmpVec); - - /* cast signature from short[] to byte[] */ - for (int i = 0; i < S.length; i++) - { - S[i] = ((byte)signature[i]); - } - } - catch (Exception se) - { - // if one of the LESs was not solveable - sign again - ok = false; - } - } - while (!ok); - /* return the signature in bytes */ - return S; - } - - /** - * This function verifies the signature of the message that has been - * updated, with the aid of the public key. - * - * @param message the message - * @param signature the signature of the message - * @return true if the signature has been verified, false otherwise. - */ - public boolean verifySignature(byte[] message, byte[] signature) - { - short[] sigInt = new short[signature.length]; - short tmp; - - for (int i = 0; i < signature.length; i++) - { - tmp = (short)signature[i]; - tmp &= (short)0xff; - sigInt[i] = tmp; - } - - short[] msgHashVal = makeMessageRepresentative(message); - - // verify - short[] verificationResult = verifySignatureIntern(sigInt); - - // compare - boolean verified = true; - if (msgHashVal.length != verificationResult.length) - { - return false; - } - for (int i = 0; i < msgHashVal.length; i++) - { - verified = verified && msgHashVal[i] == verificationResult[i]; - } - - return verified; - } - - /** - * Signature verification using public key - * - * @param signature vector of dimension n - * @return document hash of length n - v1 - */ - private short[] verifySignatureIntern(short[] signature) - { - - short[][] coeff_quadratic = ((RainbowPublicKeyParameters)this.key).getCoeffQuadratic(); - short[][] coeff_singular = ((RainbowPublicKeyParameters)this.key).getCoeffSingular(); - short[] coeff_scalar = ((RainbowPublicKeyParameters)this.key).getCoeffScalar(); - - short[] rslt = new short[coeff_quadratic.length];// n - v1 - int n = coeff_singular[0].length; - int offset = 0; // array position - short tmp = 0; // for scalar - - for (int p = 0; p < coeff_quadratic.length; p++) - { // no of polynomials - offset = 0; - for (int x = 0; x < n; x++) - { - // calculate quadratic terms - for (int y = x; y < n; y++) - { - tmp = GF2Field.multElem(coeff_quadratic[p][offset], - GF2Field.multElem(signature[x], signature[y])); - rslt[p] = GF2Field.addElem(rslt[p], tmp); - offset++; - } - // calculate singular terms - tmp = GF2Field.multElem(coeff_singular[p][x], signature[x]); - rslt[p] = GF2Field.addElem(rslt[p], tmp); - } - // add scalar - rslt[p] = GF2Field.addElem(rslt[p], coeff_scalar[p]); - } - - return rslt; - } - - /** - * This function creates the representative of the message which gets signed - * or verified. - * - * @param message the message - * @return message representative - */ - private short[] makeMessageRepresentative(byte[] message) - { - // the message representative - short[] output = new short[this.signableDocumentLength]; - - int h = 0; - int i = 0; - do - { - if (i >= message.length) - { - break; - } - output[i] = (short)message[h]; - output[i] &= (short)0xff; - h++; - i++; - } - while (i < output.length); - - return output; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/ComputeInField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/ComputeInField.java deleted file mode 100644 index 2094fb031..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/ComputeInField.java +++ /dev/null @@ -1,490 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow.util; - -/** - * This class offers different operations on matrices in field GF2^8. - *

    - * Implemented are functions: - * - finding inverse of a matrix - * - solving linear equation systems using the Gauss-Elimination method - * - basic operations like matrix multiplication, addition and so on. - */ - -public class ComputeInField -{ - - private short[][] A; // used by solveEquation and inverse - short[] x; - - /** - * Constructor with no parameters - */ - public ComputeInField() - { - } - - - /** - * This function finds a solution of the equation Bx = b. - * Exception is thrown if the linear equation system has no solution - * - * @param B this matrix is the left part of the - * equation (B in the equation above) - * @param b the right part of the equation - * (b in the equation above) - * @return x the solution of the equation if it is solvable - * null otherwise - * @throws RuntimeException if LES is not solvable - */ - public short[] solveEquation(short[][] B, short[] b) - { - try - { - - if (B.length != b.length) - { - throw new RuntimeException( - "The equation system is not solvable"); - } - - /** initialize **/ - // this matrix stores B and b from the equation B*x = b - // b is stored as the last column. - // B contains one column more than rows. - // In this column we store a free coefficient that should be later subtracted from b - A = new short[B.length][B.length + 1]; - // stores the solution of the LES - x = new short[B.length]; - - /** copy B into the global matrix A **/ - for (int i = 0; i < B.length; i++) - { // rows - for (int j = 0; j < B[0].length; j++) - { // cols - A[i][j] = B[i][j]; - } - } - - /** copy the vector b into the global A **/ - //the free coefficient, stored in the last column of A( A[i][b.length] - // is to be subtracted from b - for (int i = 0; i < b.length; i++) - { - A[i][b.length] = GF2Field.addElem(b[i], A[i][b.length]); - } - - /** call the methods for gauss elimination and backward substitution **/ - computeZerosUnder(false); // obtain zeros under the diagonal - substitute(); - - return x; - - } - catch (RuntimeException rte) - { - return null; // the LES is not solvable! - } - } - - /** - * This function computes the inverse of a given matrix using the Gauss- - * Elimination method. - *

    - * An exception is thrown if the matrix has no inverse - * - * @param coef the matrix which inverse matrix is needed - * @return inverse matrix of the input matrix. - * If the matrix is singular, null is returned. - * @throws RuntimeException if the given matrix is not invertible - */ - public short[][] inverse(short[][] coef) - { - try - { - /** Initialization: **/ - short factor; - short[][] inverse; - A = new short[coef.length][2 * coef.length]; - if (coef.length != coef[0].length) - { - throw new RuntimeException( - "The matrix is not invertible. Please choose another one!"); - } - - /** prepare: Copy coef and the identity matrix into the global A. **/ - for (int i = 0; i < coef.length; i++) - { - for (int j = 0; j < coef.length; j++) - { - //copy the input matrix coef into A - A[i][j] = coef[i][j]; - } - // copy the identity matrix into A. - for (int j = coef.length; j < 2 * coef.length; j++) - { - A[i][j] = 0; - } - A[i][i + A.length] = 1; - } - - /** Elimination operations to get the identity matrix from the left side of A. **/ - // modify A to get 0s under the diagonal. - computeZerosUnder(true); - - // modify A to get only 1s on the diagonal: A[i][j] =A[i][j]/A[i][i]. - for (int i = 0; i < A.length; i++) - { - factor = GF2Field.invElem(A[i][i]); - for (int j = i; j < 2 * A.length; j++) - { - A[i][j] = GF2Field.multElem(A[i][j], factor); - } - } - - //modify A to get only 0s above the diagonal. - computeZerosAbove(); - - // copy the result (the second half of A) in the matrix inverse. - inverse = new short[A.length][A.length]; - for (int i = 0; i < A.length; i++) - { - for (int j = A.length; j < 2 * A.length; j++) - { - inverse[i][j - A.length] = A[i][j]; - } - } - return inverse; - - } - catch (RuntimeException rte) - { - // The matrix is not invertible! A new one should be generated! - return null; - } - } - - /** - * Elimination under the diagonal. - * This function changes a matrix so that it contains only zeros under the - * diagonal(Ai,i) using only Gauss-Elimination operations. - *

    - * It is used in solveEquaton as well as in the function for - * finding an inverse of a matrix: {@link}inverse. Both of them use the - * Gauss-Elimination Method. - *

    - * The result is stored in the global matrix A - * - * @param usedForInverse This parameter shows if the function is used by the - * solveEquation-function or by the inverse-function and according - * to this creates matrices of different sizes. - * @throws RuntimeException in case a multiplicative inverse of 0 is needed - */ - private void computeZerosUnder(boolean usedForInverse) - throws RuntimeException - { - - //the number of columns in the global A where the tmp results are stored - int length; - short tmp = 0; - - //the function is used in inverse() - A should have 2 times more columns than rows - if (usedForInverse) - { - length = 2 * A.length; - } - //the function is used in solveEquation - A has 1 column more than rows - else - { - length = A.length + 1; - } - - //elimination operations to modify A so that that it contains only 0s under the diagonal - for (int k = 0; k < A.length - 1; k++) - { // the fixed row - for (int i = k + 1; i < A.length; i++) - { // rows - short factor1 = A[i][k]; - short factor2 = GF2Field.invElem(A[k][k]); - - //The element which multiplicative inverse is needed, is 0 - //in this case is the input matrix not invertible - if (factor2 == 0) - { - throw new RuntimeException("Matrix not invertible! We have to choose another one!"); - } - - for (int j = k; j < length; j++) - {// columns - // tmp=A[k,j] / A[k,k] - tmp = GF2Field.multElem(A[k][j], factor2); - // tmp = A[i,k] * A[k,j] / A[k,k] - tmp = GF2Field.multElem(factor1, tmp); - // A[i,j]=A[i,j]-A[i,k]/A[k,k]*A[k,j]; - A[i][j] = GF2Field.addElem(A[i][j], tmp); - } - } - } - } - - /** - * Elimination above the diagonal. - * This function changes a matrix so that it contains only zeros above the - * diagonal(Ai,i) using only Gauss-Elimination operations. - *

    - * It is used in the inverse-function - * The result is stored in the global matrix A - * - * @throws RuntimeException in case a multiplicative inverse of 0 is needed - */ - private void computeZerosAbove() - throws RuntimeException - { - short tmp = 0; - for (int k = A.length - 1; k > 0; k--) - { // the fixed row - for (int i = k - 1; i >= 0; i--) - { // rows - short factor1 = A[i][k]; - short factor2 = GF2Field.invElem(A[k][k]); - if (factor2 == 0) - { - throw new RuntimeException("The matrix is not invertible"); - } - for (int j = k; j < 2 * A.length; j++) - { // columns - // tmp = A[k,j] / A[k,k] - tmp = GF2Field.multElem(A[k][j], factor2); - // tmp = A[i,k] * A[k,j] / A[k,k] - tmp = GF2Field.multElem(factor1, tmp); - // A[i,j] = A[i,j] - A[i,k] / A[k,k] * A[k,j]; - A[i][j] = GF2Field.addElem(A[i][j], tmp); - } - } - } - } - - - /** - * This function uses backward substitution to find x - * of the linear equation system (LES) B*x = b, - * where A a triangle-matrix is (contains only zeros under the diagonal) - * and b is a vector - *

    - * If the multiplicative inverse of 0 is needed, an exception is thrown. - * In this case is the LES not solvable - * - * @throws RuntimeException in case a multiplicative inverse of 0 is needed - */ - private void substitute() - throws RuntimeException - { - - // for the temporary results of the operations in field - short tmp, temp; - - temp = GF2Field.invElem(A[A.length - 1][A.length - 1]); - if (temp == 0) - { - throw new RuntimeException("The equation system is not solvable"); - } - - /** backward substitution **/ - x[A.length - 1] = GF2Field.multElem(A[A.length - 1][A.length], temp); - for (int i = A.length - 2; i >= 0; i--) - { - tmp = A[i][A.length]; - for (int j = A.length - 1; j > i; j--) - { - temp = GF2Field.multElem(A[i][j], x[j]); - tmp = GF2Field.addElem(tmp, temp); - } - - temp = GF2Field.invElem(A[i][i]); - if (temp == 0) - { - throw new RuntimeException("Not solvable equation system"); - } - x[i] = GF2Field.multElem(tmp, temp); - } - } - - - /** - * This function multiplies two given matrices. - * If the given matrices cannot be multiplied due - * to different sizes, an exception is thrown. - * - * @param M1 -the 1st matrix - * @param M2 -the 2nd matrix - * @return A = M1*M2 - * @throws RuntimeException in case the given matrices cannot be multiplied - * due to different dimensions. - */ - public short[][] multiplyMatrix(short[][] M1, short[][] M2) - throws RuntimeException - { - - if (M1[0].length != M2.length) - { - throw new RuntimeException("Multiplication is not possible!"); - } - short tmp = 0; - A = new short[M1.length][M2[0].length]; - for (int i = 0; i < M1.length; i++) - { - for (int j = 0; j < M2.length; j++) - { - for (int k = 0; k < M2[0].length; k++) - { - tmp = GF2Field.multElem(M1[i][j], M2[j][k]); - A[i][k] = GF2Field.addElem(A[i][k], tmp); - } - } - } - return A; - } - - /** - * This function multiplies a given matrix with a one-dimensional array. - *

    - * An exception is thrown, if the number of columns in the matrix and - * the number of rows in the one-dim. array differ. - * - * @param M1 the matrix to be multiplied - * @param m the one-dimensional array to be multiplied - * @return M1*m - * @throws RuntimeException in case of dimension inconsistency - */ - public short[] multiplyMatrix(short[][] M1, short[] m) - throws RuntimeException - { - if (M1[0].length != m.length) - { - throw new RuntimeException("Multiplication is not possible!"); - } - short tmp = 0; - short[] B = new short[M1.length]; - for (int i = 0; i < M1.length; i++) - { - for (int j = 0; j < m.length; j++) - { - tmp = GF2Field.multElem(M1[i][j], m[j]); - B[i] = GF2Field.addElem(B[i], tmp); - } - } - return B; - } - - /** - * Addition of two vectors - * - * @param vector1 first summand, always of dim n - * @param vector2 second summand, always of dim n - * @return addition of vector1 and vector2 - * @throws RuntimeException in case the addition is impossible - * due to inconsistency in the dimensions - */ - public short[] addVect(short[] vector1, short[] vector2) - { - if (vector1.length != vector2.length) - { - throw new RuntimeException("Multiplication is not possible!"); - } - short rslt[] = new short[vector1.length]; - for (int n = 0; n < rslt.length; n++) - { - rslt[n] = GF2Field.addElem(vector1[n], vector2[n]); - } - return rslt; - } - - /** - * Multiplication of column vector with row vector - * - * @param vector1 column vector, always n x 1 - * @param vector2 row vector, always 1 x n - * @return resulting n x n matrix of multiplication - * @throws RuntimeException in case the multiplication is impossible due to - * inconsistency in the dimensions - */ - public short[][] multVects(short[] vector1, short[] vector2) - { - if (vector1.length != vector2.length) - { - throw new RuntimeException("Multiplication is not possible!"); - } - short rslt[][] = new short[vector1.length][vector2.length]; - for (int i = 0; i < vector1.length; i++) - { - for (int j = 0; j < vector2.length; j++) - { - rslt[i][j] = GF2Field.multElem(vector1[i], vector2[j]); - } - } - return rslt; - } - - /** - * Multiplies vector with scalar - * - * @param scalar galois element to multiply vector with - * @param vector vector to be multiplied - * @return vector multiplied with scalar - */ - public short[] multVect(short scalar, short[] vector) - { - short rslt[] = new short[vector.length]; - for (int n = 0; n < rslt.length; n++) - { - rslt[n] = GF2Field.multElem(scalar, vector[n]); - } - return rslt; - } - - /** - * Multiplies matrix with scalar - * - * @param scalar galois element to multiply matrix with - * @param matrix 2-dim n x n matrix to be multiplied - * @return matrix multiplied with scalar - */ - public short[][] multMatrix(short scalar, short[][] matrix) - { - short[][] rslt = new short[matrix.length][matrix[0].length]; - for (int i = 0; i < matrix.length; i++) - { - for (int j = 0; j < matrix[0].length; j++) - { - rslt[i][j] = GF2Field.multElem(scalar, matrix[i][j]); - } - } - return rslt; - } - - /** - * Adds the n x n matrices matrix1 and matrix2 - * - * @param matrix1 first summand - * @param matrix2 second summand - * @return addition of matrix1 and matrix2; both having the dimensions n x n - * @throws RuntimeException in case the addition is not possible because of - * different dimensions of the matrices - */ - public short[][] addSquareMatrix(short[][] matrix1, short[][] matrix2) - { - if (matrix1.length != matrix2.length || matrix1[0].length != matrix2[0].length) - { - throw new RuntimeException("Addition is not possible!"); - } - - short[][] rslt = new short[matrix1.length][matrix1.length];// - for (int i = 0; i < matrix1.length; i++) - { - for (int j = 0; j < matrix2.length; j++) - { - rslt[i][j] = GF2Field.addElem(matrix1[i][j], matrix2[i][j]); - } - } - return rslt; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/GF2Field.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/GF2Field.java deleted file mode 100644 index 19b47a2fd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/GF2Field.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow.util; - -/** - * This class provides the basic operations like addition, multiplication and - * finding the multiplicative inverse of an element in GF2^8. - *

    - * The operations are implemented using the irreducible polynomial - * 1+x^2+x^3+x^6+x^8 ( 1 0100 1101 = 0x14d ) - *

    - * This class makes use of lookup tables(exps and logs) for implementing the - * operations in order to increase the efficiency of Rainbow. - */ -public class GF2Field -{ - - public static final int MASK = 0xff; - - /* - * this lookup table is needed for multiplication and computing the - * multiplicative inverse - */ - static final short exps[] = {1, 2, 4, 8, 16, 32, 64, 128, 77, 154, 121, 242, - 169, 31, 62, 124, 248, 189, 55, 110, 220, 245, 167, 3, 6, 12, 24, - 48, 96, 192, 205, 215, 227, 139, 91, 182, 33, 66, 132, 69, 138, 89, - 178, 41, 82, 164, 5, 10, 20, 40, 80, 160, 13, 26, 52, 104, 208, - 237, 151, 99, 198, 193, 207, 211, 235, 155, 123, 246, 161, 15, 30, - 60, 120, 240, 173, 23, 46, 92, 184, 61, 122, 244, 165, 7, 14, 28, - 56, 112, 224, 141, 87, 174, 17, 34, 68, 136, 93, 186, 57, 114, 228, - 133, 71, 142, 81, 162, 9, 18, 36, 72, 144, 109, 218, 249, 191, 51, - 102, 204, 213, 231, 131, 75, 150, 97, 194, 201, 223, 243, 171, 27, - 54, 108, 216, 253, 183, 35, 70, 140, 85, 170, 25, 50, 100, 200, - 221, 247, 163, 11, 22, 44, 88, 176, 45, 90, 180, 37, 74, 148, 101, - 202, 217, 255, 179, 43, 86, 172, 21, 42, 84, 168, 29, 58, 116, 232, - 157, 119, 238, 145, 111, 222, 241, 175, 19, 38, 76, 152, 125, 250, - 185, 63, 126, 252, 181, 39, 78, 156, 117, 234, 153, 127, 254, 177, - 47, 94, 188, 53, 106, 212, 229, 135, 67, 134, 65, 130, 73, 146, - 105, 210, 233, 159, 115, 230, 129, 79, 158, 113, 226, 137, 95, 190, - 49, 98, 196, 197, 199, 195, 203, 219, 251, 187, 59, 118, 236, 149, - 103, 206, 209, 239, 147, 107, 214, 225, 143, 83, 166, 1}; - - /* - * this lookup table is needed for multiplication and computing the - * multiplicative inverse - */ - static final short logs[] = {0, 0, 1, 23, 2, 46, 24, 83, 3, 106, 47, 147, - 25, 52, 84, 69, 4, 92, 107, 182, 48, 166, 148, 75, 26, 140, 53, - 129, 85, 170, 70, 13, 5, 36, 93, 135, 108, 155, 183, 193, 49, 43, - 167, 163, 149, 152, 76, 202, 27, 230, 141, 115, 54, 205, 130, 18, - 86, 98, 171, 240, 71, 79, 14, 189, 6, 212, 37, 210, 94, 39, 136, - 102, 109, 214, 156, 121, 184, 8, 194, 223, 50, 104, 44, 253, 168, - 138, 164, 90, 150, 41, 153, 34, 77, 96, 203, 228, 28, 123, 231, 59, - 142, 158, 116, 244, 55, 216, 206, 249, 131, 111, 19, 178, 87, 225, - 99, 220, 172, 196, 241, 175, 72, 10, 80, 66, 15, 186, 190, 199, 7, - 222, 213, 120, 38, 101, 211, 209, 95, 227, 40, 33, 137, 89, 103, - 252, 110, 177, 215, 248, 157, 243, 122, 58, 185, 198, 9, 65, 195, - 174, 224, 219, 51, 68, 105, 146, 45, 82, 254, 22, 169, 12, 139, - 128, 165, 74, 91, 181, 151, 201, 42, 162, 154, 192, 35, 134, 78, - 188, 97, 239, 204, 17, 229, 114, 29, 61, 124, 235, 232, 233, 60, - 234, 143, 125, 159, 236, 117, 30, 245, 62, 56, 246, 217, 63, 207, - 118, 250, 31, 132, 160, 112, 237, 20, 144, 179, 126, 88, 251, 226, - 32, 100, 208, 221, 119, 173, 218, 197, 64, 242, 57, 176, 247, 73, - 180, 11, 127, 81, 21, 67, 145, 16, 113, 187, 238, 191, 133, 200, - 161}; - - /** - * This function calculates the sum of two elements as an operation in GF2^8 - * - * @param x the first element that is to be added - * @param y the second element that should be add - * @return the sum of the two elements x and y in GF2^8 - */ - public static short addElem(short x, short y) - { - return (short)(x ^ y); - } - - /** - * This function computes the multiplicative inverse of a given element in - * GF2^8 The 0 has no multiplicative inverse and in this case 0 is returned. - * - * @param x the element which multiplicative inverse is to be computed - * @return the multiplicative inverse of the given element, in case it - * exists or 0, otherwise - */ - public static short invElem(short x) - { - if (x == 0) - { - return 0; - } - return (exps[255 - logs[x]]); - } - - /** - * This function multiplies two elements in GF2^8. If one of the two - * elements is 0, 0 is returned. - * - * @param x the first element to be multiplied. - * @param y the second element to be multiplied. - * @return the product of the two input elements in GF2^8. - */ - public static short multElem(short x, short y) - { - if (x == 0 || y == 0) - { - return 0; - } - else - { - return (exps[(logs[x] + logs[y]) % 255]); - } - } - - /** - * This function returns the values of exps-lookup table which correspond to - * the input - * - * @param x the index in the lookup table exps - * @return exps-value, corresponding to the input - */ - public static short getExp(short x) - { - return exps[x]; - } - - /** - * This function returns the values of logs-lookup table which correspond to - * the input - * - * @param x the index in the lookup table logs - * @return logs-value, corresponding to the input - */ - public static short getLog(short x) - { - return logs[x]; - } - - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/RainbowUtil.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/RainbowUtil.java deleted file mode 100644 index 1e4f40f48..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/crypto/rainbow/util/RainbowUtil.java +++ /dev/null @@ -1,230 +0,0 @@ -package org.spongycastle.pqc.crypto.rainbow.util; - -/** - * This class is needed for the conversions while encoding and decoding, as well as for - * comparison between arrays of some dimensions - */ -public class RainbowUtil -{ - - /** - * This function converts an one-dimensional array of bytes into a - * one-dimensional array of int - * - * @param in the array to be converted - * @return out - * the one-dimensional int-array that corresponds the input - */ - public static int[] convertArraytoInt(byte[] in) - { - int[] out = new int[in.length]; - for (int i = 0; i < in.length; i++) - { - out[i] = in[i] & GF2Field.MASK; - } - return out; - } - - /** - * This function converts an one-dimensional array of bytes into a - * one-dimensional array of type short - * - * @param in the array to be converted - * @return out - * one-dimensional short-array that corresponds the input - */ - public static short[] convertArray(byte[] in) - { - short[] out = new short[in.length]; - for (int i = 0; i < in.length; i++) - { - out[i] = (short)(in[i] & GF2Field.MASK); - } - return out; - } - - /** - * This function converts a matrix of bytes into a matrix of type short - * - * @param in the matrix to be converted - * @return out - * short-matrix that corresponds the input - */ - public static short[][] convertArray(byte[][] in) - { - short[][] out = new short[in.length][in[0].length]; - for (int i = 0; i < in.length; i++) - { - for (int j = 0; j < in[0].length; j++) - { - out[i][j] = (short)(in[i][j] & GF2Field.MASK); - } - } - return out; - } - - /** - * This function converts a 3-dimensional array of bytes into a 3-dimensional array of type short - * - * @param in the array to be converted - * @return out - * short-array that corresponds the input - */ - public static short[][][] convertArray(byte[][][] in) - { - short[][][] out = new short[in.length][in[0].length][in[0][0].length]; - for (int i = 0; i < in.length; i++) - { - for (int j = 0; j < in[0].length; j++) - { - for (int k = 0; k < in[0][0].length; k++) - { - out[i][j][k] = (short)(in[i][j][k] & GF2Field.MASK); - } - } - } - return out; - } - - /** - * This function converts an array of type int into an array of type byte - * - * @param in the array to be converted - * @return out - * the byte-array that corresponds the input - */ - public static byte[] convertIntArray(int[] in) - { - byte[] out = new byte[in.length]; - for (int i = 0; i < in.length; i++) - { - out[i] = (byte)in[i]; - } - return out; - } - - - /** - * This function converts an array of type short into an array of type byte - * - * @param in the array to be converted - * @return out - * the byte-array that corresponds the input - */ - public static byte[] convertArray(short[] in) - { - byte[] out = new byte[in.length]; - for (int i = 0; i < in.length; i++) - { - out[i] = (byte)in[i]; - } - return out; - } - - /** - * This function converts a matrix of type short into a matrix of type byte - * - * @param in the matrix to be converted - * @return out - * the byte-matrix that corresponds the input - */ - public static byte[][] convertArray(short[][] in) - { - byte[][] out = new byte[in.length][in[0].length]; - for (int i = 0; i < in.length; i++) - { - for (int j = 0; j < in[0].length; j++) - { - out[i][j] = (byte)in[i][j]; - } - } - return out; - } - - /** - * This function converts a 3-dimensional array of type short into a 3-dimensional array of type byte - * - * @param in the array to be converted - * @return out - * the byte-array that corresponds the input - */ - public static byte[][][] convertArray(short[][][] in) - { - byte[][][] out = new byte[in.length][in[0].length][in[0][0].length]; - for (int i = 0; i < in.length; i++) - { - for (int j = 0; j < in[0].length; j++) - { - for (int k = 0; k < in[0][0].length; k++) - { - out[i][j][k] = (byte)in[i][j][k]; - } - } - } - return out; - } - - /** - * Compare two short arrays. No null checks are performed. - * - * @param left the first short array - * @param right the second short array - * @return the result of the comparison - */ - public static boolean equals(short[] left, short[] right) - { - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= left[i] == right[i]; - } - return result; - } - - /** - * Compare two two-dimensional short arrays. No null checks are performed. - * - * @param left the first short array - * @param right the second short array - * @return the result of the comparison - */ - public static boolean equals(short[][] left, short[][] right) - { - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= equals(left[i], right[i]); - } - return result; - } - - /** - * Compare two three-dimensional short arrays. No null checks are performed. - * - * @param left the first short array - * @param right the second short array - * @return the result of the comparison - */ - public static boolean equals(short[][][] left, short[][][] right) - { - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= equals(left[i], right[i]); - } - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigEndianConversions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigEndianConversions.java deleted file mode 100644 index 4ed7f1c91..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigEndianConversions.java +++ /dev/null @@ -1,306 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -/** - * This is a utility class containing data type conversions using big-endian - * byte order. - * - * @see LittleEndianConversions - */ -public final class BigEndianConversions -{ - - /** - * Default constructor (private). - */ - private BigEndianConversions() - { - // empty - } - - /** - * Convert an integer to an octet string of length 4 according to IEEE 1363, - * Section 5.5.3. - * - * @param x the integer to convert - * @return the converted integer - */ - public static byte[] I2OSP(int x) - { - byte[] result = new byte[4]; - result[0] = (byte)(x >>> 24); - result[1] = (byte)(x >>> 16); - result[2] = (byte)(x >>> 8); - result[3] = (byte)x; - return result; - } - - /** - * Convert an integer to an octet string according to IEEE 1363, Section - * 5.5.3. Length checking is performed. - * - * @param x the integer to convert - * @param oLen the desired length of the octet string - * @return an octet string of length oLen representing the - * integer x, or null if the integer is - * negative - * @throws ArithmeticException if x can't be encoded into oLen - * octets. - */ - public static byte[] I2OSP(int x, int oLen) - throws ArithmeticException - { - if (x < 0) - { - return null; - } - int octL = IntegerFunctions.ceilLog256(x); - if (octL > oLen) - { - throw new ArithmeticException( - "Cannot encode given integer into specified number of octets."); - } - byte[] result = new byte[oLen]; - for (int i = oLen - 1; i >= oLen - octL; i--) - { - result[i] = (byte)(x >>> (8 * (oLen - 1 - i))); - } - return result; - } - - /** - * Convert an integer to an octet string of length 4 according to IEEE 1363, - * Section 5.5.3. - * - * @param input the integer to convert - * @param output byte array holding the output - * @param outOff offset in output array where the result is stored - */ - public static void I2OSP(int input, byte[] output, int outOff) - { - output[outOff++] = (byte)(input >>> 24); - output[outOff++] = (byte)(input >>> 16); - output[outOff++] = (byte)(input >>> 8); - output[outOff] = (byte)input; - } - - /** - * Convert an integer to an octet string of length 8 according to IEEE 1363, - * Section 5.5.3. - * - * @param input the integer to convert - * @return the converted integer - */ - public static byte[] I2OSP(long input) - { - byte[] output = new byte[8]; - output[0] = (byte)(input >>> 56); - output[1] = (byte)(input >>> 48); - output[2] = (byte)(input >>> 40); - output[3] = (byte)(input >>> 32); - output[4] = (byte)(input >>> 24); - output[5] = (byte)(input >>> 16); - output[6] = (byte)(input >>> 8); - output[7] = (byte)input; - return output; - } - - /** - * Convert an integer to an octet string of length 8 according to IEEE 1363, - * Section 5.5.3. - * - * @param input the integer to convert - * @param output byte array holding the output - * @param outOff offset in output array where the result is stored - */ - public static void I2OSP(long input, byte[] output, int outOff) - { - output[outOff++] = (byte)(input >>> 56); - output[outOff++] = (byte)(input >>> 48); - output[outOff++] = (byte)(input >>> 40); - output[outOff++] = (byte)(input >>> 32); - output[outOff++] = (byte)(input >>> 24); - output[outOff++] = (byte)(input >>> 16); - output[outOff++] = (byte)(input >>> 8); - output[outOff] = (byte)input; - } - - /** - * Convert an integer to an octet string of the specified length according - * to IEEE 1363, Section 5.5.3. No length checking is performed (i.e., if - * the integer cannot be encoded into length octets, it is - * truncated). - * - * @param input the integer to convert - * @param output byte array holding the output - * @param outOff offset in output array where the result is stored - * @param length the length of the encoding - */ - public static void I2OSP(int input, byte[] output, int outOff, int length) - { - for (int i = length - 1; i >= 0; i--) - { - output[outOff + i] = (byte)(input >>> (8 * (length - 1 - i))); - } - } - - /** - * Convert an octet string to an integer according to IEEE 1363, Section - * 5.5.3. - * - * @param input the byte array holding the octet string - * @return an integer representing the octet string input, or - * 0 if the represented integer is negative or too large - * or the byte array is empty - * @throws ArithmeticException if the length of the given octet string is larger than 4. - */ - public static int OS2IP(byte[] input) - { - if (input.length > 4) - { - throw new ArithmeticException("invalid input length"); - } - if (input.length == 0) - { - return 0; - } - int result = 0; - for (int j = 0; j < input.length; j++) - { - result |= (input[j] & 0xff) << (8 * (input.length - 1 - j)); - } - return result; - } - - /** - * Convert a byte array of length 4 beginning at offset into an - * integer. - * - * @param input the byte array - * @param inOff the offset into the byte array - * @return the resulting integer - */ - public static int OS2IP(byte[] input, int inOff) - { - int result = (input[inOff++] & 0xff) << 24; - result |= (input[inOff++] & 0xff) << 16; - result |= (input[inOff++] & 0xff) << 8; - result |= input[inOff] & 0xff; - return result; - } - - /** - * Convert an octet string to an integer according to IEEE 1363, Section - * 5.5.3. - * - * @param input the byte array holding the octet string - * @param inOff the offset in the input byte array where the octet string - * starts - * @param inLen the length of the encoded integer - * @return an integer representing the octet string bytes, or - * 0 if the represented integer is negative or too large - * or the byte array is empty - */ - public static int OS2IP(byte[] input, int inOff, int inLen) - { - if ((input.length == 0) || input.length < inOff + inLen - 1) - { - return 0; - } - int result = 0; - for (int j = 0; j < inLen; j++) - { - result |= (input[inOff + j] & 0xff) << (8 * (inLen - j - 1)); - } - return result; - } - - /** - * Convert a byte array of length 8 beginning at inOff into a - * long integer. - * - * @param input the byte array - * @param inOff the offset into the byte array - * @return the resulting long integer - */ - public static long OS2LIP(byte[] input, int inOff) - { - long result = ((long)input[inOff++] & 0xff) << 56; - result |= ((long)input[inOff++] & 0xff) << 48; - result |= ((long)input[inOff++] & 0xff) << 40; - result |= ((long)input[inOff++] & 0xff) << 32; - result |= ((long)input[inOff++] & 0xff) << 24; - result |= (input[inOff++] & 0xff) << 16; - result |= (input[inOff++] & 0xff) << 8; - result |= input[inOff] & 0xff; - return result; - } - - /** - * Convert an int array into a byte array. - * - * @param input the int array - * @return the converted array - */ - public static byte[] toByteArray(final int[] input) - { - byte[] result = new byte[input.length << 2]; - for (int i = 0; i < input.length; i++) - { - I2OSP(input[i], result, i << 2); - } - return result; - } - - /** - * Convert an int array into a byte array of the specified length. No length - * checking is performed (i.e., if the last integer cannot be encoded into - * length % 4 octets, it is truncated). - * - * @param input the int array - * @param length the length of the converted array - * @return the converted array - */ - public static byte[] toByteArray(final int[] input, int length) - { - final int intLen = input.length; - byte[] result = new byte[length]; - int index = 0; - for (int i = 0; i <= intLen - 2; i++, index += 4) - { - I2OSP(input[i], result, index); - } - I2OSP(input[intLen - 1], result, index, length - index); - return result; - } - - /** - * Convert a byte array into an int array. - * - * @param input the byte array - * @return the converted array - */ - public static int[] toIntArray(byte[] input) - { - final int intLen = (input.length + 3) / 4; - final int lastLen = input.length & 0x03; - int[] result = new int[intLen]; - - int index = 0; - for (int i = 0; i <= intLen - 2; i++, index += 4) - { - result[i] = OS2IP(input, index); - } - if (lastLen != 0) - { - result[intLen - 1] = OS2IP(input, index, lastLen); - } - else - { - result[intLen - 1] = OS2IP(input, index); - } - - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigIntUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigIntUtils.java deleted file mode 100644 index 19734977a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/BigIntUtils.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.math.BigInteger; - -/** - * FIXME: is this really necessary?! - */ -public final class BigIntUtils -{ - - /** - * Default constructor (private). - */ - private BigIntUtils() - { - // empty - } - - /** - * Checks if two BigInteger arrays contain the same entries - * - * @param a first BigInteger array - * @param b second BigInteger array - * @return true or false - */ - public static boolean equals(BigInteger[] a, BigInteger[] b) - { - int flag = 0; - - if (a.length != b.length) - { - return false; - } - for (int i = 0; i < a.length; i++) - { - // avoid branches here! - // problem: compareTo on BigIntegers is not - // guaranteed constant-time! - flag |= a[i].compareTo(b[i]); - } - return flag == 0; - } - - /** - * Fill the given BigInteger array with the given value. - * - * @param array the array - * @param value the value - */ - public static void fill(BigInteger[] array, BigInteger value) - { - for (int i = array.length - 1; i >= 0; i--) - { - array[i] = value; - } - } - - /** - * Generates a subarray of a given BigInteger array. - * - * @param input - - * the input BigInteger array - * @param start - - * the start index - * @param end - - * the end index - * @return a subarray of input, ranging from start to - * end - */ - public static BigInteger[] subArray(BigInteger[] input, int start, int end) - { - BigInteger[] result = new BigInteger[end - start]; - System.arraycopy(input, start, result, 0, end - start); - return result; - } - - /** - * Converts a BigInteger array into an integer array - * - * @param input - - * the BigInteger array - * @return the integer array - */ - public static int[] toIntArray(BigInteger[] input) - { - int[] result = new int[input.length]; - for (int i = 0; i < input.length; i++) - { - result[i] = input[i].intValue(); - } - return result; - } - - /** - * Converts a BigInteger array into an integer array, reducing all - * BigIntegers mod q. - * - * @param q - - * the modulus - * @param input - - * the BigInteger array - * @return the integer array - */ - public static int[] toIntArrayModQ(int q, BigInteger[] input) - { - BigInteger bq = BigInteger.valueOf(q); - int[] result = new int[input.length]; - for (int i = 0; i < input.length; i++) - { - result[i] = input[i].mod(bq).intValue(); - } - return result; - } - - /** - * Return the value of big as a byte array. Although BigInteger - * has such a method, it uses an extra bit to indicate the sign of the - * number. For elliptic curve cryptography, the numbers usually are - * positive. Thus, this helper method returns a byte array of minimal - * length, ignoring the sign of the number. - * - * @param value the BigInteger value to be converted to a byte - * array - * @return the value big as byte array - */ - public static byte[] toMinimalByteArray(BigInteger value) - { - byte[] valBytes = value.toByteArray(); - if ((valBytes.length == 1) || (value.bitLength() & 0x07) != 0) - { - return valBytes; - } - byte[] result = new byte[value.bitLength() >> 3]; - System.arraycopy(valBytes, 1, result, 0, result.length); - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/ByteUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/ByteUtils.java deleted file mode 100644 index 0e234ae9c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/ByteUtils.java +++ /dev/null @@ -1,414 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This class is a utility class for manipulating byte arrays. - */ -public final class ByteUtils -{ - - private static final char[] HEX_CHARS = {'0', '1', '2', '3', '4', '5', - '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - - /** - * Default constructor (private) - */ - private ByteUtils() - { - // empty - } - - /** - * Compare two byte arrays (perform null checks beforehand). - * - * @param left the first byte array - * @param right the second byte array - * @return the result of the comparison - */ - public static boolean equals(byte[] left, byte[] right) - { - if (left == null) - { - return right == null; - } - if (right == null) - { - return false; - } - - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= left[i] == right[i]; - } - return result; - } - - /** - * Compare two two-dimensional byte arrays. No null checks are performed. - * - * @param left the first byte array - * @param right the second byte array - * @return the result of the comparison - */ - public static boolean equals(byte[][] left, byte[][] right) - { - if (left.length != right.length) - { - return false; - } - - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= ByteUtils.equals(left[i], right[i]); - } - - return result; - } - - /** - * Compare two three-dimensional byte arrays. No null checks are performed. - * - * @param left the first byte array - * @param right the second byte array - * @return the result of the comparison - */ - public static boolean equals(byte[][][] left, byte[][][] right) - { - if (left.length != right.length) - { - return false; - } - - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - if (left[i].length != right[i].length) - { - return false; - } - for (int j = left[i].length - 1; j >= 0; j--) - { - result &= ByteUtils.equals(left[i][j], right[i][j]); - } - } - - return result; - } - - /** - * Computes a hashcode based on the contents of a one-dimensional byte array - * rather than its identity. - * - * @param array the array to compute the hashcode of - * @return the hashcode - */ - public static int deepHashCode(byte[] array) - { - int result = 1; - for (int i = 0; i < array.length; i++) - { - result = 31 * result + array[i]; - } - return result; - } - - /** - * Computes a hashcode based on the contents of a two-dimensional byte array - * rather than its identity. - * - * @param array the array to compute the hashcode of - * @return the hashcode - */ - public static int deepHashCode(byte[][] array) - { - int result = 1; - for (int i = 0; i < array.length; i++) - { - result = 31 * result + deepHashCode(array[i]); - } - return result; - } - - /** - * Computes a hashcode based on the contents of a three-dimensional byte - * array rather than its identity. - * - * @param array the array to compute the hashcode of - * @return the hashcode - */ - public static int deepHashCode(byte[][][] array) - { - int result = 1; - for (int i = 0; i < array.length; i++) - { - result = 31 * result + deepHashCode(array[i]); - } - return result; - } - - - /** - * Return a clone of the given byte array (performs null check beforehand). - * - * @param array the array to clone - * @return the clone of the given array, or null if the array is - * null - */ - public static byte[] clone(byte[] array) - { - if (array == null) - { - return null; - } - byte[] result = new byte[array.length]; - System.arraycopy(array, 0, result, 0, array.length); - return result; - } - - /** - * Convert a string containing hexadecimal characters to a byte-array. - * - * @param s a hex string - * @return a byte array with the corresponding value - */ - public static byte[] fromHexString(String s) - { - char[] rawChars = s.toUpperCase().toCharArray(); - - int hexChars = 0; - for (int i = 0; i < rawChars.length; i++) - { - if ((rawChars[i] >= '0' && rawChars[i] <= '9') - || (rawChars[i] >= 'A' && rawChars[i] <= 'F')) - { - hexChars++; - } - } - - byte[] byteString = new byte[(hexChars + 1) >> 1]; - - int pos = hexChars & 1; - - for (int i = 0; i < rawChars.length; i++) - { - if (rawChars[i] >= '0' && rawChars[i] <= '9') - { - byteString[pos >> 1] <<= 4; - byteString[pos >> 1] |= rawChars[i] - '0'; - } - else if (rawChars[i] >= 'A' && rawChars[i] <= 'F') - { - byteString[pos >> 1] <<= 4; - byteString[pos >> 1] |= rawChars[i] - 'A' + 10; - } - else - { - continue; - } - pos++; - } - - return byteString; - } - - /** - * Convert a byte array to the corresponding hexstring. - * - * @param input the byte array to be converted - * @return the corresponding hexstring - */ - public static String toHexString(byte[] input) - { - String result = ""; - for (int i = 0; i < input.length; i++) - { - result += HEX_CHARS[(input[i] >>> 4) & 0x0f]; - result += HEX_CHARS[(input[i]) & 0x0f]; - } - return result; - } - - /** - * Convert a byte array to the corresponding hex string. - * - * @param input the byte array to be converted - * @param prefix the prefix to put at the beginning of the hex string - * @param seperator a separator string - * @return the corresponding hex string - */ - public static String toHexString(byte[] input, String prefix, - String seperator) - { - String result = new String(prefix); - for (int i = 0; i < input.length; i++) - { - result += HEX_CHARS[(input[i] >>> 4) & 0x0f]; - result += HEX_CHARS[(input[i]) & 0x0f]; - if (i < input.length - 1) - { - result += seperator; - } - } - return result; - } - - /** - * Convert a byte array to the corresponding bit string. - * - * @param input the byte array to be converted - * @return the corresponding bit string - */ - public static String toBinaryString(byte[] input) - { - String result = ""; - int i; - for (i = 0; i < input.length; i++) - { - int e = input[i]; - for (int ii = 0; ii < 8; ii++) - { - int b = (e >>> ii) & 1; - result += b; - } - if (i != input.length - 1) - { - result += " "; - } - } - return result; - } - - /** - * Compute the bitwise XOR of two arrays of bytes. The arrays have to be of - * same length. No length checking is performed. - * - * @param x1 the first array - * @param x2 the second array - * @return x1 XOR x2 - */ - public static byte[] xor(byte[] x1, byte[] x2) - { - byte[] out = new byte[x1.length]; - - for (int i = x1.length - 1; i >= 0; i--) - { - out[i] = (byte)(x1[i] ^ x2[i]); - } - return out; - } - - /** - * Concatenate two byte arrays. No null checks are performed. - * - * @param x1 the first array - * @param x2 the second array - * @return (x2||x1) (little-endian order, i.e. x1 is at lower memory - * addresses) - */ - public static byte[] concatenate(byte[] x1, byte[] x2) - { - byte[] result = new byte[x1.length + x2.length]; - - System.arraycopy(x1, 0, result, 0, x1.length); - System.arraycopy(x2, 0, result, x1.length, x2.length); - - return result; - } - - /** - * Convert a 2-dimensional byte array into a 1-dimensional byte array by - * concatenating all entries. - * - * @param array a 2-dimensional byte array - * @return the concatenated input array - */ - public static byte[] concatenate(byte[][] array) - { - int rowLength = array[0].length; - byte[] result = new byte[array.length * rowLength]; - int index = 0; - for (int i = 0; i < array.length; i++) - { - System.arraycopy(array[i], 0, result, index, rowLength); - index += rowLength; - } - return result; - } - - /** - * Split a byte array input into two arrays at index, - * i.e. the first array will have the lower index bytes, the - * second one the higher input.length - index bytes. - * - * @param input the byte array to be split - * @param index the index where the byte array is split - * @return the splitted input array as an array of two byte arrays - * @throws ArrayIndexOutOfBoundsException if index is out of bounds - */ - public static byte[][] split(byte[] input, int index) - throws ArrayIndexOutOfBoundsException - { - if (index > input.length) - { - throw new ArrayIndexOutOfBoundsException(); - } - byte[][] result = new byte[2][]; - result[0] = new byte[index]; - result[1] = new byte[input.length - index]; - System.arraycopy(input, 0, result[0], 0, index); - System.arraycopy(input, index, result[1], 0, input.length - index); - return result; - } - - /** - * Generate a subarray of a given byte array. - * - * @param input the input byte array - * @param start the start index - * @param end the end index - * @return a subarray of input, ranging from start - * (inclusively) to end (exclusively) - */ - public static byte[] subArray(byte[] input, int start, int end) - { - byte[] result = new byte[end - start]; - System.arraycopy(input, start, result, 0, end - start); - return result; - } - - /** - * Generate a subarray of a given byte array. - * - * @param input the input byte array - * @param start the start index - * @return a subarray of input, ranging from start to - * the end of the array - */ - public static byte[] subArray(byte[] input, int start) - { - return subArray(input, start, input.length); - } - - /** - * Rewrite a byte array as a char array - * - * @param input - - * the byte array - * @return char array - */ - public static char[] toCharArray(byte[] input) - { - char[] result = new char[input.length]; - for (int i = 0; i < input.length; i++) - { - result[i] = (char)input[i]; - } - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/CharUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/CharUtils.java deleted file mode 100644 index 44f977169..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/CharUtils.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -public final class CharUtils -{ - - /** - * Default constructor (private) - */ - private CharUtils() - { - // empty - } - - /** - * Return a clone of the given char array. No null checks are performed. - * - * @param array the array to clone - * @return the clone of the given array - */ - public static char[] clone(char[] array) - { - char[] result = new char[array.length]; - System.arraycopy(array, 0, result, 0, array.length); - return result; - } - - /** - * Convert the given char array into a byte array. - * - * @param chars the char array - * @return the converted array - */ - public static byte[] toByteArray(char[] chars) - { - byte[] result = new byte[chars.length]; - for (int i = chars.length - 1; i >= 0; i--) - { - result[i] = (byte)chars[i]; - } - return result; - } - - /** - * Convert the given char array into a - * byte array for use with PBE encryption. - * - * @param chars the char array - * @return the converted array - */ - public static byte[] toByteArrayForPBE(char[] chars) - { - - byte[] out = new byte[chars.length]; - - for (int i = 0; i < chars.length; i++) - { - out[i] = (byte)chars[i]; - } - - int length = out.length * 2; - byte[] ret = new byte[length + 2]; - - int j = 0; - for (int i = 0; i < out.length; i++) - { - j = i * 2; - ret[j] = 0; - ret[j + 1] = out[i]; - } - - ret[length] = 0; - ret[length + 1] = 0; - - return ret; - } - - /** - * Compare two char arrays. No null checks are performed. - * - * @param left the char byte array - * @param right the second char array - * @return the result of the comparison - */ - public static boolean equals(char[] left, char[] right) - { - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= left[i] == right[i]; - } - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Matrix.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Matrix.java deleted file mode 100644 index 7e2de19e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Matrix.java +++ /dev/null @@ -1,1323 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class describes some operations with matrices over finite field GF(2) - * and is used in ecc and MQ-PKC (also has some specific methods and - * implementation) - */ -public class GF2Matrix - extends Matrix -{ - - /** - * For the matrix representation the array of type int[][] is used, thus one - * element of the array keeps 32 elements of the matrix (from one row and 32 - * columns) - */ - private int[][] matrix; - - /** - * the length of each array representing a row of this matrix, computed as - * (numColumns + 31) / 32 - */ - private int length; - - /** - * Create the matrix from encoded form. - * - * @param enc the encoded matrix - */ - public GF2Matrix(byte[] enc) - { - if (enc.length < 9) - { - throw new ArithmeticException( - "given array is not an encoded matrix over GF(2)"); - } - - numRows = LittleEndianConversions.OS2IP(enc, 0); - numColumns = LittleEndianConversions.OS2IP(enc, 4); - - int n = ((numColumns + 7) >>> 3) * numRows; - - if ((numRows <= 0) || (n != (enc.length - 8))) - { - throw new ArithmeticException( - "given array is not an encoded matrix over GF(2)"); - } - - length = (numColumns + 31) >>> 5; - matrix = new int[numRows][length]; - - // number of "full" integer - int q = numColumns >> 5; - // number of bits in non-full integer - int r = numColumns & 0x1f; - - int count = 8; - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < q; j++, count += 4) - { - matrix[i][j] = LittleEndianConversions.OS2IP(enc, count); - } - for (int j = 0; j < r; j += 8) - { - matrix[i][q] ^= (enc[count++] & 0xff) << j; - } - } - } - - /** - * Create the matrix with the contents of the given array. The matrix is not - * copied. Unused coefficients are masked out. - * - * @param numColumns the number of columns - * @param matrix the element array - */ - public GF2Matrix(int numColumns, int[][] matrix) - { - if (matrix[0].length != (numColumns + 31) >> 5) - { - throw new ArithmeticException( - "Int array does not match given number of columns."); - } - this.numColumns = numColumns; - numRows = matrix.length; - length = matrix[0].length; - int rest = numColumns & 0x1f; - int bitMask; - if (rest == 0) - { - bitMask = 0xffffffff; - } - else - { - bitMask = (1 << rest) - 1; - } - for (int i = 0; i < numRows; i++) - { - matrix[i][length - 1] &= bitMask; - } - this.matrix = matrix; - } - - /** - * Create an nxn matrix of the given type. - * - * @param n the number of rows (and columns) - * @param typeOfMatrix the martix type (see {@link Matrix} for predefined - * constants) - */ - public GF2Matrix(int n, char typeOfMatrix) - { - this(n, typeOfMatrix, new java.security.SecureRandom()); - } - - /** - * Create an nxn matrix of the given type. - * - * @param n the matrix size - * @param typeOfMatrix the matrix type - * @param sr the source of randomness - */ - public GF2Matrix(int n, char typeOfMatrix, SecureRandom sr) - { - if (n <= 0) - { - throw new ArithmeticException("Size of matrix is non-positive."); - } - - switch (typeOfMatrix) - { - - case Matrix.MATRIX_TYPE_ZERO: - assignZeroMatrix(n, n); - break; - - case Matrix.MATRIX_TYPE_UNIT: - assignUnitMatrix(n); - break; - - case Matrix.MATRIX_TYPE_RANDOM_LT: - assignRandomLowerTriangularMatrix(n, sr); - break; - - case Matrix.MATRIX_TYPE_RANDOM_UT: - assignRandomUpperTriangularMatrix(n, sr); - break; - - case Matrix.MATRIX_TYPE_RANDOM_REGULAR: - assignRandomRegularMatrix(n, sr); - break; - - default: - throw new ArithmeticException("Unknown matrix type."); - } - } - - /** - * Copy constructor. - * - * @param a another {@link GF2Matrix} - */ - public GF2Matrix(GF2Matrix a) - { - numColumns = a.getNumColumns(); - numRows = a.getNumRows(); - length = a.length; - matrix = new int[a.matrix.length][]; - for (int i = 0; i < matrix.length; i++) - { - matrix[i] = IntUtils.clone(a.matrix[i]); - } - - } - - /** - * create the mxn zero matrix - */ - private GF2Matrix(int m, int n) - { - if ((n <= 0) || (m <= 0)) - { - throw new ArithmeticException("size of matrix is non-positive"); - } - - assignZeroMatrix(m, n); - } - - /** - * Create the mxn zero matrix. - * - * @param m number of rows - * @param n number of columns - */ - private void assignZeroMatrix(int m, int n) - { - numRows = m; - numColumns = n; - length = (n + 31) >>> 5; - matrix = new int[numRows][length]; - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < length; j++) - { - matrix[i][j] = 0; - } - } - } - - /** - * Create the mxn unit matrix. - * - * @param n number of rows (and columns) - */ - private void assignUnitMatrix(int n) - { - numRows = n; - numColumns = n; - length = (n + 31) >>> 5; - matrix = new int[numRows][length]; - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < length; j++) - { - matrix[i][j] = 0; - } - } - for (int i = 0; i < numRows; i++) - { - int rest = i & 0x1f; - matrix[i][i >>> 5] = 1 << rest; - } - } - - /** - * Create a nxn random lower triangular matrix. - * - * @param n number of rows (and columns) - * @param sr source of randomness - */ - private void assignRandomLowerTriangularMatrix(int n, SecureRandom sr) - { - numRows = n; - numColumns = n; - length = (n + 31) >>> 5; - matrix = new int[numRows][length]; - for (int i = 0; i < numRows; i++) - { - int q = i >>> 5; - int r = i & 0x1f; - int s = 31 - r; - r = 1 << r; - for (int j = 0; j < q; j++) - { - matrix[i][j] = sr.nextInt(); - } - matrix[i][q] = (sr.nextInt() >>> s) | r; - for (int j = q + 1; j < length; j++) - { - matrix[i][j] = 0; - } - - } - - } - - /** - * Create a nxn random upper triangular matrix. - * - * @param n number of rows (and columns) - * @param sr source of randomness - */ - private void assignRandomUpperTriangularMatrix(int n, SecureRandom sr) - { - numRows = n; - numColumns = n; - length = (n + 31) >>> 5; - matrix = new int[numRows][length]; - int rest = n & 0x1f; - int help; - if (rest == 0) - { - help = 0xffffffff; - } - else - { - help = (1 << rest) - 1; - } - for (int i = 0; i < numRows; i++) - { - int q = i >>> 5; - int r = i & 0x1f; - int s = r; - r = 1 << r; - for (int j = 0; j < q; j++) - { - matrix[i][j] = 0; - } - matrix[i][q] = (sr.nextInt() << s) | r; - for (int j = q + 1; j < length; j++) - { - matrix[i][j] = sr.nextInt(); - } - matrix[i][length - 1] &= help; - } - - } - - /** - * Create an nxn random regular matrix. - * - * @param n number of rows (and columns) - * @param sr source of randomness - */ - private void assignRandomRegularMatrix(int n, SecureRandom sr) - { - numRows = n; - numColumns = n; - length = (n + 31) >>> 5; - matrix = new int[numRows][length]; - GF2Matrix lm = new GF2Matrix(n, Matrix.MATRIX_TYPE_RANDOM_LT, sr); - GF2Matrix um = new GF2Matrix(n, Matrix.MATRIX_TYPE_RANDOM_UT, sr); - GF2Matrix rm = (GF2Matrix)lm.rightMultiply(um); - Permutation perm = new Permutation(n, sr); - int[] p = perm.getVector(); - for (int i = 0; i < n; i++) - { - System.arraycopy(rm.matrix[i], 0, matrix[p[i]], 0, length); - } - } - - /** - * Create a nxn random regular matrix and its inverse. - * - * @param n number of rows (and columns) - * @param sr source of randomness - * @return the created random regular matrix and its inverse - */ - public static GF2Matrix[] createRandomRegularMatrixAndItsInverse(int n, - SecureRandom sr) - { - - GF2Matrix[] result = new GF2Matrix[2]; - - // ------------------------------------ - // First part: create regular matrix - // ------------------------------------ - - // ------ - int length = (n + 31) >> 5; - GF2Matrix lm = new GF2Matrix(n, Matrix.MATRIX_TYPE_RANDOM_LT, sr); - GF2Matrix um = new GF2Matrix(n, Matrix.MATRIX_TYPE_RANDOM_UT, sr); - GF2Matrix rm = (GF2Matrix)lm.rightMultiply(um); - Permutation p = new Permutation(n, sr); - int[] pVec = p.getVector(); - - int[][] matrix = new int[n][length]; - for (int i = 0; i < n; i++) - { - System.arraycopy(rm.matrix[pVec[i]], 0, matrix[i], 0, length); - } - - result[0] = new GF2Matrix(n, matrix); - - // ------------------------------------ - // Second part: create inverse matrix - // ------------------------------------ - - // inverse to lm - GF2Matrix invLm = new GF2Matrix(n, Matrix.MATRIX_TYPE_UNIT); - for (int i = 0; i < n; i++) - { - int rest = i & 0x1f; - int q = i >>> 5; - int r = 1 << rest; - for (int j = i + 1; j < n; j++) - { - int b = (lm.matrix[j][q]) & r; - if (b != 0) - { - for (int k = 0; k <= q; k++) - { - invLm.matrix[j][k] ^= invLm.matrix[i][k]; - } - } - } - } - // inverse to um - GF2Matrix invUm = new GF2Matrix(n, Matrix.MATRIX_TYPE_UNIT); - for (int i = n - 1; i >= 0; i--) - { - int rest = i & 0x1f; - int q = i >>> 5; - int r = 1 << rest; - for (int j = i - 1; j >= 0; j--) - { - int b = (um.matrix[j][q]) & r; - if (b != 0) - { - for (int k = q; k < length; k++) - { - invUm.matrix[j][k] ^= invUm.matrix[i][k]; - } - } - } - } - - // inverse matrix - result[1] = (GF2Matrix)invUm.rightMultiply(invLm.rightMultiply(p)); - - return result; - } - - /** - * @return the array keeping the matrix elements - */ - public int[][] getIntArray() - { - return matrix; - } - - /** - * @return the length of each array representing a row of this matrix - */ - public int getLength() - { - return length; - } - - /** - * Return the row of this matrix with the given index. - * - * @param index the index - * @return the row of this matrix with the given index - */ - public int[] getRow(int index) - { - return matrix[index]; - } - - /** - * Returns encoded matrix, i.e., this matrix in byte array form - * - * @return the encoded matrix - */ - public byte[] getEncoded() - { - int n = (numColumns + 7) >>> 3; - n *= numRows; - n += 8; - byte[] enc = new byte[n]; - - LittleEndianConversions.I2OSP(numRows, enc, 0); - LittleEndianConversions.I2OSP(numColumns, enc, 4); - - // number of "full" integer - int q = numColumns >>> 5; - // number of bits in non-full integer - int r = numColumns & 0x1f; - - int count = 8; - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < q; j++, count += 4) - { - LittleEndianConversions.I2OSP(matrix[i][j], enc, count); - } - for (int j = 0; j < r; j += 8) - { - enc[count++] = (byte)((matrix[i][q] >>> j) & 0xff); - } - - } - return enc; - } - - - /** - * Returns the percentage of the number of "ones" in this matrix. - * - * @return the Hamming weight of this matrix (as a ratio). - */ - public double getHammingWeight() - { - double counter = 0.0; - double elementCounter = 0.0; - int rest = numColumns & 0x1f; - int d; - if (rest == 0) - { - d = length; - } - else - { - d = length - 1; - } - - for (int i = 0; i < numRows; i++) - { - - for (int j = 0; j < d; j++) - { - int a = matrix[i][j]; - for (int k = 0; k < 32; k++) - { - int b = (a >>> k) & 1; - counter = counter + b; - elementCounter = elementCounter + 1; - } - } - int a = matrix[i][length - 1]; - for (int k = 0; k < rest; k++) - { - int b = (a >>> k) & 1; - counter = counter + b; - elementCounter = elementCounter + 1; - } - } - - return counter / elementCounter; - } - - /** - * Check if this is the zero matrix (i.e., all entries are zero). - * - * @return true if this is the zero matrix - */ - public boolean isZero() - { - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < length; j++) - { - if (matrix[i][j] != 0) - { - return false; - } - } - } - return true; - } - - /** - * Get the quadratic submatrix of this matrix consisting of the leftmost - * numRows columns. - * - * @return the (numRows x numRows) submatrix - */ - public GF2Matrix getLeftSubMatrix() - { - if (numColumns <= numRows) - { - throw new ArithmeticException("empty submatrix"); - } - int length = (numRows + 31) >> 5; - int[][] result = new int[numRows][length]; - int bitMask = (1 << (numRows & 0x1f)) - 1; - if (bitMask == 0) - { - bitMask = -1; - } - for (int i = numRows - 1; i >= 0; i--) - { - System.arraycopy(matrix[i], 0, result[i], 0, length); - result[i][length - 1] &= bitMask; - } - return new GF2Matrix(numRows, result); - } - - /** - * Compute the full form matrix (this | Id) from this matrix in - * left compact form, where Id is the k x k identity - * matrix and k is the number of rows of this matrix. - * - * @return (this | Id) - */ - public GF2Matrix extendLeftCompactForm() - { - int newNumColumns = numColumns + numRows; - GF2Matrix result = new GF2Matrix(numRows, newNumColumns); - - int ind = numRows - 1 + numColumns; - for (int i = numRows - 1; i >= 0; i--, ind--) - { - // copy this matrix to first columns - System.arraycopy(matrix[i], 0, result.matrix[i], 0, length); - // store the identity in last columns - result.matrix[i][ind >> 5] |= 1 << (ind & 0x1f); - } - - return result; - } - - /** - * Get the submatrix of this matrix consisting of the rightmost - * numColumns-numRows columns. - * - * @return the (numRows x (numColumns-numRows)) submatrix - */ - public GF2Matrix getRightSubMatrix() - { - if (numColumns <= numRows) - { - throw new ArithmeticException("empty submatrix"); - } - - int q = numRows >> 5; - int r = numRows & 0x1f; - - GF2Matrix result = new GF2Matrix(numRows, numColumns - numRows); - - for (int i = numRows - 1; i >= 0; i--) - { - // if words have to be shifted - if (r != 0) - { - int ind = q; - // process all but last word - for (int j = 0; j < result.length - 1; j++) - { - // shift to correct position - result.matrix[i][j] = (matrix[i][ind++] >>> r) - | (matrix[i][ind] << (32 - r)); - } - // process last word - result.matrix[i][result.length - 1] = matrix[i][ind++] >>> r; - if (ind < length) - { - result.matrix[i][result.length - 1] |= matrix[i][ind] << (32 - r); - } - } - else - { - // no shifting necessary - System.arraycopy(matrix[i], q, result.matrix[i], 0, - result.length); - } - } - return result; - } - - /** - * Compute the full form matrix (Id | this) from this matrix in - * right compact form, where Id is the k x k identity - * matrix and k is the number of rows of this matrix. - * - * @return (Id | this) - */ - public GF2Matrix extendRightCompactForm() - { - GF2Matrix result = new GF2Matrix(numRows, numRows + numColumns); - - int q = numRows >> 5; - int r = numRows & 0x1f; - - for (int i = numRows - 1; i >= 0; i--) - { - // store the identity in first columns - result.matrix[i][i >> 5] |= 1 << (i & 0x1f); - - // copy this matrix to last columns - - // if words have to be shifted - if (r != 0) - { - int ind = q; - // process all but last word - for (int j = 0; j < length - 1; j++) - { - // obtain matrix word - int mw = matrix[i][j]; - // shift to correct position - result.matrix[i][ind++] |= mw << r; - result.matrix[i][ind] |= mw >>> (32 - r); - } - // process last word - int mw = matrix[i][length - 1]; - result.matrix[i][ind++] |= mw << r; - if (ind < result.length) - { - result.matrix[i][ind] |= mw >>> (32 - r); - } - } - else - { - // no shifting necessary - System.arraycopy(matrix[i], 0, result.matrix[i], q, length); - } - } - - return result; - } - - /** - * Compute the transpose of this matrix. - * - * @return (this)T - */ - public Matrix computeTranspose() - { - int[][] result = new int[numColumns][(numRows + 31) >>> 5]; - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < numColumns; j++) - { - int qs = j >>> 5; - int rs = j & 0x1f; - int b = (matrix[i][qs] >>> rs) & 1; - int qt = i >>> 5; - int rt = i & 0x1f; - if (b == 1) - { - result[j][qt] |= 1 << rt; - } - } - } - - return new GF2Matrix(numRows, result); - } - - /** - * Compute the inverse of this matrix. - * - * @return the inverse of this matrix (newly created). - * @throws ArithmeticException if this matrix is not invertible. - */ - public Matrix computeInverse() - { - if (numRows != numColumns) - { - throw new ArithmeticException("Matrix is not invertible."); - } - - // clone this matrix - int[][] tmpMatrix = new int[numRows][length]; - for (int i = numRows - 1; i >= 0; i--) - { - tmpMatrix[i] = IntUtils.clone(matrix[i]); - } - - // initialize inverse matrix as unit matrix - int[][] invMatrix = new int[numRows][length]; - for (int i = numRows - 1; i >= 0; i--) - { - int q = i >> 5; - int r = i & 0x1f; - invMatrix[i][q] = 1 << r; - } - - // simultaneously compute Gaussian reduction of tmpMatrix and unit - // matrix - for (int i = 0; i < numRows; i++) - { - // i = q * 32 + (i mod 32) - int q = i >> 5; - int bitMask = 1 << (i & 0x1f); - // if diagonal element is zero - if ((tmpMatrix[i][q] & bitMask) == 0) - { - boolean foundNonZero = false; - // find a non-zero element in the same column - for (int j = i + 1; j < numRows; j++) - { - if ((tmpMatrix[j][q] & bitMask) != 0) - { - // found it, swap rows ... - foundNonZero = true; - swapRows(tmpMatrix, i, j); - swapRows(invMatrix, i, j); - // ... and quit searching - j = numRows; - continue; - } - } - // if no non-zero element was found ... - if (!foundNonZero) - { - // ... the matrix is not invertible - throw new ArithmeticException("Matrix is not invertible."); - } - } - - // normalize all but i-th row - for (int j = numRows - 1; j >= 0; j--) - { - if ((j != i) && ((tmpMatrix[j][q] & bitMask) != 0)) - { - addToRow(tmpMatrix[i], tmpMatrix[j], q); - addToRow(invMatrix[i], invMatrix[j], 0); - } - } - } - - return new GF2Matrix(numColumns, invMatrix); - } - - /** - * Compute the product of a permutation matrix (which is generated from an - * n-permutation) and this matrix. - * - * @param p the permutation - * @return {@link GF2Matrix} P*this - */ - public Matrix leftMultiply(Permutation p) - { - int[] pVec = p.getVector(); - if (pVec.length != numRows) - { - throw new ArithmeticException("length mismatch"); - } - - int[][] result = new int[numRows][]; - - for (int i = numRows - 1; i >= 0; i--) - { - result[i] = IntUtils.clone(matrix[pVec[i]]); - } - - return new GF2Matrix(numRows, result); - } - - /** - * compute product a row vector and this matrix - * - * @param vec a vector over GF(2) - * @return Vector product a*matrix - */ - public Vector leftMultiply(Vector vec) - { - - if (!(vec instanceof GF2Vector)) - { - throw new ArithmeticException("vector is not defined over GF(2)"); - } - - if (vec.length != numRows) - { - throw new ArithmeticException("length mismatch"); - } - - int[] v = ((GF2Vector)vec).getVecArray(); - int[] res = new int[length]; - - int q = numRows >> 5; - int r = 1 << (numRows & 0x1f); - - // compute scalar products with full words of vector - int row = 0; - for (int i = 0; i < q; i++) - { - int bitMask = 1; - do - { - int b = v[i] & bitMask; - if (b != 0) - { - for (int j = 0; j < length; j++) - { - res[j] ^= matrix[row][j]; - } - } - row++; - bitMask <<= 1; - } - while (bitMask != 0); - } - - // compute scalar products with last word of vector - int bitMask = 1; - while (bitMask != r) - { - int b = v[q] & bitMask; - if (b != 0) - { - for (int j = 0; j < length; j++) - { - res[j] ^= matrix[row][j]; - } - } - row++; - bitMask <<= 1; - } - - return new GF2Vector(res, numColumns); - } - - /** - * Compute the product of the matrix (this | Id) and a column - * vector, where Id is a (numRows x numRows) unit - * matrix. - * - * @param vec the vector over GF(2) - * @return (this | Id)*vector - */ - public Vector leftMultiplyLeftCompactForm(Vector vec) - { - if (!(vec instanceof GF2Vector)) - { - throw new ArithmeticException("vector is not defined over GF(2)"); - } - - if (vec.length != numRows) - { - throw new ArithmeticException("length mismatch"); - } - - int[] v = ((GF2Vector)vec).getVecArray(); - int[] res = new int[(numRows + numColumns + 31) >>> 5]; - - // process full words of vector - int words = numRows >>> 5; - int row = 0; - for (int i = 0; i < words; i++) - { - int bitMask = 1; - do - { - int b = v[i] & bitMask; - if (b != 0) - { - // compute scalar product part - for (int j = 0; j < length; j++) - { - res[j] ^= matrix[row][j]; - } - // set last bit - int q = (numColumns + row) >>> 5; - int r = (numColumns + row) & 0x1f; - res[q] |= 1 << r; - } - row++; - bitMask <<= 1; - } - while (bitMask != 0); - } - - // process last word of vector - int rem = 1 << (numRows & 0x1f); - int bitMask = 1; - while (bitMask != rem) - { - int b = v[words] & bitMask; - if (b != 0) - { - // compute scalar product part - for (int j = 0; j < length; j++) - { - res[j] ^= matrix[row][j]; - } - // set last bit - int q = (numColumns + row) >>> 5; - int r = (numColumns + row) & 0x1f; - res[q] |= 1 << r; - } - row++; - bitMask <<= 1; - } - - return new GF2Vector(res, numRows + numColumns); - } - - /** - * Compute the product of this matrix and a matrix A over GF(2). - * - * @param mat a matrix A over GF(2) - * @return matrix product this*matrixA - */ - public Matrix rightMultiply(Matrix mat) - { - if (!(mat instanceof GF2Matrix)) - { - throw new ArithmeticException("matrix is not defined over GF(2)"); - } - - if (mat.numRows != numColumns) - { - throw new ArithmeticException("length mismatch"); - } - - GF2Matrix a = (GF2Matrix)mat; - GF2Matrix result = new GF2Matrix(numRows, mat.numColumns); - - int d; - int rest = numColumns & 0x1f; - if (rest == 0) - { - d = length; - } - else - { - d = length - 1; - } - for (int i = 0; i < numRows; i++) - { - int count = 0; - for (int j = 0; j < d; j++) - { - int e = matrix[i][j]; - for (int h = 0; h < 32; h++) - { - int b = e & (1 << h); - if (b != 0) - { - for (int g = 0; g < a.length; g++) - { - result.matrix[i][g] ^= a.matrix[count][g]; - } - } - count++; - } - } - int e = matrix[i][length - 1]; - for (int h = 0; h < rest; h++) - { - int b = e & (1 << h); - if (b != 0) - { - for (int g = 0; g < a.length; g++) - { - result.matrix[i][g] ^= a.matrix[count][g]; - } - } - count++; - } - - } - - return result; - } - - /** - * Compute the product of this matrix and a permutation matrix which is - * generated from an n-permutation. - * - * @param p the permutation - * @return {@link GF2Matrix} this*P - */ - public Matrix rightMultiply(Permutation p) - { - - int[] pVec = p.getVector(); - if (pVec.length != numColumns) - { - throw new ArithmeticException("length mismatch"); - } - - GF2Matrix result = new GF2Matrix(numRows, numColumns); - - for (int i = numColumns - 1; i >= 0; i--) - { - int q = i >>> 5; - int r = i & 0x1f; - int pq = pVec[i] >>> 5; - int pr = pVec[i] & 0x1f; - for (int j = numRows - 1; j >= 0; j--) - { - result.matrix[j][q] |= ((matrix[j][pq] >>> pr) & 1) << r; - } - } - - return result; - } - - /** - * Compute the product of this matrix and the given column vector. - * - * @param vec the vector over GF(2) - * @return this*vector - */ - public Vector rightMultiply(Vector vec) - { - if (!(vec instanceof GF2Vector)) - { - throw new ArithmeticException("vector is not defined over GF(2)"); - } - - if (vec.length != numColumns) - { - throw new ArithmeticException("length mismatch"); - } - - int[] v = ((GF2Vector)vec).getVecArray(); - int[] res = new int[(numRows + 31) >>> 5]; - - for (int i = 0; i < numRows; i++) - { - // compute full word scalar products - int help = 0; - for (int j = 0; j < length; j++) - { - help ^= matrix[i][j] & v[j]; - } - // compute single word scalar product - int bitValue = 0; - for (int j = 0; j < 32; j++) - { - bitValue ^= (help >>> j) & 1; - } - // set result bit - if (bitValue == 1) - { - res[i >>> 5] |= 1 << (i & 0x1f); - } - } - - return new GF2Vector(res, numRows); - } - - /** - * Compute the product of the matrix (Id | this) and a column - * vector, where Id is a (numRows x numRows) unit - * matrix. - * - * @param vec the vector over GF(2) - * @return (Id | this)*vector - */ - public Vector rightMultiplyRightCompactForm(Vector vec) - { - if (!(vec instanceof GF2Vector)) - { - throw new ArithmeticException("vector is not defined over GF(2)"); - } - - if (vec.length != numColumns + numRows) - { - throw new ArithmeticException("length mismatch"); - } - - int[] v = ((GF2Vector)vec).getVecArray(); - int[] res = new int[(numRows + 31) >>> 5]; - - int q = numRows >> 5; - int r = numRows & 0x1f; - - // for all rows - for (int i = 0; i < numRows; i++) - { - // get vector bit - int help = (v[i >> 5] >>> (i & 0x1f)) & 1; - - // compute full word scalar products - int vInd = q; - // if words have to be shifted - if (r != 0) - { - int vw = 0; - // process all but last word - for (int j = 0; j < length - 1; j++) - { - // shift to correct position - vw = (v[vInd++] >>> r) | (v[vInd] << (32 - r)); - help ^= matrix[i][j] & vw; - } - // process last word - vw = v[vInd++] >>> r; - if (vInd < v.length) - { - vw |= v[vInd] << (32 - r); - } - help ^= matrix[i][length - 1] & vw; - } - else - { - // no shifting necessary - for (int j = 0; j < length; j++) - { - help ^= matrix[i][j] & v[vInd++]; - } - } - - // compute single word scalar product - int bitValue = 0; - for (int j = 0; j < 32; j++) - { - bitValue ^= help & 1; - help >>>= 1; - } - - // set result bit - if (bitValue == 1) - { - res[i >> 5] |= 1 << (i & 0x1f); - } - } - - return new GF2Vector(res, numRows); - } - - /** - * Compare this matrix with another object. - * - * @param other another object - * @return the result of the comparison - */ - public boolean equals(Object other) - { - - if (!(other instanceof GF2Matrix)) - { - return false; - } - GF2Matrix otherMatrix = (GF2Matrix)other; - - if ((numRows != otherMatrix.numRows) - || (numColumns != otherMatrix.numColumns) - || (length != otherMatrix.length)) - { - return false; - } - - for (int i = 0; i < numRows; i++) - { - if (!IntUtils.equals(matrix[i], otherMatrix.matrix[i])) - { - return false; - } - } - - return true; - } - - /** - * @return the hash code of this matrix - */ - public int hashCode() - { - int hash = (numRows * 31 + numColumns) * 31 + length; - for (int i = 0; i < numRows; i++) - { - hash = hash * 31 + matrix[i].hashCode(); - } - return hash; - } - - /** - * @return a human readable form of the matrix - */ - public String toString() - { - int rest = numColumns & 0x1f; - int d; - if (rest == 0) - { - d = length; - } - else - { - d = length - 1; - } - - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < numRows; i++) - { - buf.append(i + ": "); - for (int j = 0; j < d; j++) - { - int a = matrix[i][j]; - for (int k = 0; k < 32; k++) - { - int b = (a >>> k) & 1; - if (b == 0) - { - buf.append('0'); - } - else - { - buf.append('1'); - } - } - buf.append(' '); - } - int a = matrix[i][length - 1]; - for (int k = 0; k < rest; k++) - { - int b = (a >>> k) & 1; - if (b == 0) - { - buf.append('0'); - } - else - { - buf.append('1'); - } - } - buf.append('\n'); - } - - return buf.toString(); - } - - /** - * Swap two rows of the given matrix. - * - * @param matrix the matrix - * @param first the index of the first row - * @param second the index of the second row - */ - private static void swapRows(int[][] matrix, int first, int second) - { - int[] tmp = matrix[first]; - matrix[first] = matrix[second]; - matrix[second] = tmp; - } - - /** - * Partially add one row to another. - * - * @param fromRow the addend - * @param toRow the row to add to - * @param startIndex the array index to start from - */ - private static void addToRow(int[] fromRow, int[] toRow, int startIndex) - { - for (int i = toRow.length - 1; i >= startIndex; i--) - { - toRow[i] = fromRow[i] ^ toRow[i]; - } - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Polynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Polynomial.java deleted file mode 100644 index fdef21054..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Polynomial.java +++ /dev/null @@ -1,2039 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.math.BigInteger; -import java.util.Random; - - -/** - * This class stores very long strings of bits and does some basic arithmetics. - * It is used by GF2nField, GF2nPolynomialField and - * GFnPolynomialElement. - * - * @see GF2nPolynomialElement - * @see GF2nField - */ -public class GF2Polynomial -{ - - // number of bits stored in this GF2Polynomial - private int len; - - // number of int used in value - private int blocks; - - // storage - private int[] value; - - // Random source - private static Random rand = new Random(); - - // Lookup-Table for vectorMult: parity[a]= #1(a) mod 2 == 1 - private static final boolean[] parity = {false, true, true, false, true, - false, false, true, true, false, false, true, false, true, true, - false, true, false, false, true, false, true, true, false, false, - true, true, false, true, false, false, true, true, false, false, - true, false, true, true, false, false, true, true, false, true, - false, false, true, false, true, true, false, true, false, false, - true, true, false, false, true, false, true, true, false, true, - false, false, true, false, true, true, false, false, true, true, - false, true, false, false, true, false, true, true, false, true, - false, false, true, true, false, false, true, false, true, true, - false, false, true, true, false, true, false, false, true, true, - false, false, true, false, true, true, false, true, false, false, - true, false, true, true, false, false, true, true, false, true, - false, false, true, true, false, false, true, false, true, true, - false, false, true, true, false, true, false, false, true, false, - true, true, false, true, false, false, true, true, false, false, - true, false, true, true, false, false, true, true, false, true, - false, false, true, true, false, false, true, false, true, true, - false, true, false, false, true, false, true, true, false, false, - true, true, false, true, false, false, true, false, true, true, - false, true, false, false, true, true, false, false, true, false, - true, true, false, true, false, false, true, false, true, true, - false, false, true, true, false, true, false, false, true, true, - false, false, true, false, true, true, false, false, true, true, - false, true, false, false, true, false, true, true, false, true, - false, false, true, true, false, false, true, false, true, true, - false}; - - // Lookup-Table for Squaring: squaringTable[a]=a^2 - private static final short[] squaringTable = {0x0000, 0x0001, 0x0004, - 0x0005, 0x0010, 0x0011, 0x0014, 0x0015, 0x0040, 0x0041, 0x0044, - 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, 0x0100, 0x0101, 0x0104, - 0x0105, 0x0110, 0x0111, 0x0114, 0x0115, 0x0140, 0x0141, 0x0144, - 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, 0x0400, 0x0401, 0x0404, - 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, 0x0440, 0x0441, 0x0444, - 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, 0x0500, 0x0501, 0x0504, - 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, 0x0540, 0x0541, 0x0544, - 0x0545, 0x0550, 0x0551, 0x0554, 0x0555, 0x1000, 0x1001, 0x1004, - 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, 0x1040, 0x1041, 0x1044, - 0x1045, 0x1050, 0x1051, 0x1054, 0x1055, 0x1100, 0x1101, 0x1104, - 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, 0x1140, 0x1141, 0x1144, - 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, 0x1400, 0x1401, 0x1404, - 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, 0x1440, 0x1441, 0x1444, - 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, 0x1500, 0x1501, 0x1504, - 0x1505, 0x1510, 0x1511, 0x1514, 0x1515, 0x1540, 0x1541, 0x1544, - 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, 0x4000, 0x4001, 0x4004, - 0x4005, 0x4010, 0x4011, 0x4014, 0x4015, 0x4040, 0x4041, 0x4044, - 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, 0x4100, 0x4101, 0x4104, - 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, 0x4140, 0x4141, 0x4144, - 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, 0x4400, 0x4401, 0x4404, - 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, 0x4440, 0x4441, 0x4444, - 0x4445, 0x4450, 0x4451, 0x4454, 0x4455, 0x4500, 0x4501, 0x4504, - 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, 0x4540, 0x4541, 0x4544, - 0x4545, 0x4550, 0x4551, 0x4554, 0x4555, 0x5000, 0x5001, 0x5004, - 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, 0x5040, 0x5041, 0x5044, - 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, 0x5100, 0x5101, 0x5104, - 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, 0x5140, 0x5141, 0x5144, - 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, 0x5400, 0x5401, 0x5404, - 0x5405, 0x5410, 0x5411, 0x5414, 0x5415, 0x5440, 0x5441, 0x5444, - 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, 0x5500, 0x5501, 0x5504, - 0x5505, 0x5510, 0x5511, 0x5514, 0x5515, 0x5540, 0x5541, 0x5544, - 0x5545, 0x5550, 0x5551, 0x5554, 0x5555}; - - // pre-computed Bitmask for fast masking, bitMask[a]=0x1 << a - private static final int[] bitMask = {0x00000001, 0x00000002, 0x00000004, - 0x00000008, 0x00000010, 0x00000020, 0x00000040, 0x00000080, - 0x00000100, 0x00000200, 0x00000400, 0x00000800, 0x00001000, - 0x00002000, 0x00004000, 0x00008000, 0x00010000, 0x00020000, - 0x00040000, 0x00080000, 0x00100000, 0x00200000, 0x00400000, - 0x00800000, 0x01000000, 0x02000000, 0x04000000, 0x08000000, - 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x00000000}; - - // pre-computed Bitmask for fast masking, rightMask[a]=0xffffffff >>> (32-a) - private static final int[] reverseRightMask = {0x00000000, 0x00000001, - 0x00000003, 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, - 0x0000007f, 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff, - 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff, - 0x0001ffff, 0x0003ffff, 0x0007ffff, 0x000fffff, 0x001fffff, - 0x003fffff, 0x007fffff, 0x00ffffff, 0x01ffffff, 0x03ffffff, - 0x07ffffff, 0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, - 0xffffffff}; - - /** - * Creates a new GF2Polynomial of the given length and value zero. - * - * @param length the desired number of bits to store - */ - public GF2Polynomial(int length) - { - int l = length; - if (l < 1) - { - l = 1; - } - blocks = ((l - 1) >> 5) + 1; - value = new int[blocks]; - len = l; - } - - /** - * Creates a new GF2Polynomial of the given length and random value. - * - * @param length the desired number of bits to store - * @param rand SecureRandom to use for randomization - */ - public GF2Polynomial(int length, Random rand) - { - int l = length; - if (l < 1) - { - l = 1; - } - blocks = ((l - 1) >> 5) + 1; - value = new int[blocks]; - len = l; - randomize(rand); - } - - /** - * Creates a new GF2Polynomial of the given length and value - * selected by value: - *

      - *
    • ZERO
    • - *
    • ONE
    • - *
    • RANDOM
    • - *
    • X
    • - *
    • ALL
    • - *
    - * - * @param length the desired number of bits to store - * @param value the value described by a String - */ - public GF2Polynomial(int length, String value) - { - int l = length; - if (l < 1) - { - l = 1; - } - blocks = ((l - 1) >> 5) + 1; - this.value = new int[blocks]; - len = l; - if (value.equalsIgnoreCase("ZERO")) - { - assignZero(); - } - else if (value.equalsIgnoreCase("ONE")) - { - assignOne(); - } - else if (value.equalsIgnoreCase("RANDOM")) - { - randomize(); - } - else if (value.equalsIgnoreCase("X")) - { - assignX(); - } - else if (value.equalsIgnoreCase("ALL")) - { - assignAll(); - } - else - { - throw new IllegalArgumentException( - "Error: GF2Polynomial was called using " + value - + " as value!"); - } - - } - - /** - * Creates a new GF2Polynomial of the given length using the given - * int[]. LSB is contained in bs[0]. - * - * @param length the desired number of bits to store - * @param bs contains the desired value, LSB in bs[0] - */ - public GF2Polynomial(int length, int[] bs) - { - int leng = length; - if (leng < 1) - { - leng = 1; - } - blocks = ((leng - 1) >> 5) + 1; - value = new int[blocks]; - len = leng; - int l = Math.min(blocks, bs.length); - System.arraycopy(bs, 0, value, 0, l); - zeroUnusedBits(); - } - - /** - * Creates a new GF2Polynomial by converting the given byte[] os - * according to 1363 and using the given length. - * - * @param length the intended length of this polynomial - * @param os the octet string to assign to this polynomial - * @see "P1363 5.5.2 p22f, OS2BSP" - */ - public GF2Polynomial(int length, byte[] os) - { - int l = length; - if (l < 1) - { - l = 1; - } - blocks = ((l - 1) >> 5) + 1; - value = new int[blocks]; - len = l; - int i, m; - int k = Math.min(((os.length - 1) >> 2) + 1, blocks); - for (i = 0; i < k - 1; i++) - { - m = os.length - (i << 2) - 1; - value[i] = (os[m]) & 0x000000ff; - value[i] |= (os[m - 1] << 8) & 0x0000ff00; - value[i] |= (os[m - 2] << 16) & 0x00ff0000; - value[i] |= (os[m - 3] << 24) & 0xff000000; - } - i = k - 1; - m = os.length - (i << 2) - 1; - value[i] = os[m] & 0x000000ff; - if (m > 0) - { - value[i] |= (os[m - 1] << 8) & 0x0000ff00; - } - if (m > 1) - { - value[i] |= (os[m - 2] << 16) & 0x00ff0000; - } - if (m > 2) - { - value[i] |= (os[m - 3] << 24) & 0xff000000; - } - zeroUnusedBits(); - reduceN(); - } - - /** - * Creates a new GF2Polynomial by converting the given FlexiBigInt bi - * according to 1363 and using the given length. - * - * @param length the intended length of this polynomial - * @param bi the FlexiBigInt to assign to this polynomial - * @see "P1363 5.5.1 p22, I2BSP" - */ - public GF2Polynomial(int length, BigInteger bi) - { - int l = length; - if (l < 1) - { - l = 1; - } - blocks = ((l - 1) >> 5) + 1; - value = new int[blocks]; - len = l; - int i; - byte[] val = bi.toByteArray(); - if (val[0] == 0) - { - byte[] dummy = new byte[val.length - 1]; - System.arraycopy(val, 1, dummy, 0, dummy.length); - val = dummy; - } - int ov = val.length & 0x03; - int k = ((val.length - 1) >> 2) + 1; - for (i = 0; i < ov; i++) - { - value[k - 1] |= (val[i] & 0x000000ff) << ((ov - 1 - i) << 3); - } - int m = 0; - for (i = 0; i <= (val.length - 4) >> 2; i++) - { - m = val.length - 1 - (i << 2); - value[i] = (val[m]) & 0x000000ff; - value[i] |= ((val[m - 1]) << 8) & 0x0000ff00; - value[i] |= ((val[m - 2]) << 16) & 0x00ff0000; - value[i] |= ((val[m - 3]) << 24) & 0xff000000; - } - if ((len & 0x1f) != 0) - { - value[blocks - 1] &= reverseRightMask[len & 0x1f]; - } - reduceN(); - } - - /** - * Creates a new GF2Polynomial by cloneing the given GF2Polynomial b. - * - * @param b the GF2Polynomial to clone - */ - public GF2Polynomial(GF2Polynomial b) - { - len = b.len; - blocks = b.blocks; - value = IntUtils.clone(b.value); - } - - /** - * @return a copy of this GF2Polynomial - */ - public Object clone() - { - return new GF2Polynomial(this); - } - - /** - * Returns the length of this GF2Polynomial. The length can be greater than - * the degree. To get the degree call reduceN() before calling getLength(). - * - * @return the length of this GF2Polynomial - */ - public int getLength() - { - return len; - } - - /** - * Returns the value of this GF2Polynomial in an int[]. - * - * @return the value of this GF2Polynomial in a new int[], LSB in int[0] - */ - public int[] toIntegerArray() - { - int[] result; - result = new int[blocks]; - System.arraycopy(value, 0, result, 0, blocks); - return result; - } - - /** - * Returns a string representing this GF2Polynomials value using hexadecimal - * or binary radix in MSB-first order. - * - * @param radix the radix to use (2 or 16, otherwise 2 is used) - * @return a String representing this GF2Polynomials value. - */ - public String toString(int radix) - { - final char[] HEX_CHARS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', - '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - final String[] BIN_CHARS = {"0000", "0001", "0010", "0011", "0100", - "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", - "1101", "1110", "1111"}; - String res; - int i; - res = new String(); - if (radix == 16) - { - for (i = blocks - 1; i >= 0; i--) - { - res += HEX_CHARS[(value[i] >>> 28) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 24) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 20) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 16) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 12) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 8) & 0x0f]; - res += HEX_CHARS[(value[i] >>> 4) & 0x0f]; - res += HEX_CHARS[(value[i]) & 0x0f]; - res += " "; - } - } - else - { - for (i = blocks - 1; i >= 0; i--) - { - res += BIN_CHARS[(value[i] >>> 28) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 24) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 20) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 16) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 12) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 8) & 0x0f]; - res += BIN_CHARS[(value[i] >>> 4) & 0x0f]; - res += BIN_CHARS[(value[i]) & 0x0f]; - res += " "; - } - } - return res; - } - - /** - * Converts this polynomial to a byte[] (octet string) according to 1363. - * - * @return a byte[] representing the value of this polynomial - * @see "P1363 5.5.2 p22f, BS2OSP" - */ - public byte[] toByteArray() - { - int k = ((len - 1) >> 3) + 1; - int ov = k & 0x03; - int m; - byte[] res = new byte[k]; - int i; - for (i = 0; i < (k >> 2); i++) - { - m = k - (i << 2) - 1; - res[m] = (byte)((value[i] & 0x000000ff)); - res[m - 1] = (byte)((value[i] & 0x0000ff00) >>> 8); - res[m - 2] = (byte)((value[i] & 0x00ff0000) >>> 16); - res[m - 3] = (byte)((value[i] & 0xff000000) >>> 24); - } - for (i = 0; i < ov; i++) - { - m = (ov - i - 1) << 3; - res[i] = (byte)((value[blocks - 1] & (0x000000ff << m)) >>> m); - } - return res; - } - - /** - * Converts this polynomial to an integer according to 1363. - * - * @return a FlexiBigInt representing the value of this polynomial - * @see "P1363 5.5.1 p22, BS2IP" - */ - public BigInteger toFlexiBigInt() - { - if (len == 0 || isZero()) - { - return new BigInteger(0, new byte[0]); - } - return new BigInteger(1, toByteArray()); - } - - /** - * Sets the LSB to 1 and all other to 0, assigning 'one' to this - * GF2Polynomial. - */ - public void assignOne() - { - int i; - for (i = 1; i < blocks; i++) - { - value[i] = 0x00; - } - value[0] = 0x01; - } - - /** - * Sets Bit 1 to 1 and all other to 0, assigning 'x' to this GF2Polynomial. - */ - public void assignX() - { - int i; - for (i = 1; i < blocks; i++) - { - value[i] = 0x00; - } - value[0] = 0x02; - } - - /** - * Sets all Bits to 1. - */ - public void assignAll() - { - int i; - for (i = 0; i < blocks; i++) - { - value[i] = 0xffffffff; - } - zeroUnusedBits(); - } - - /** - * Resets all bits to zero. - */ - public void assignZero() - { - int i; - for (i = 0; i < blocks; i++) - { - value[i] = 0x00; - } - } - - /** - * Fills all len bits of this GF2Polynomial with random values. - */ - public void randomize() - { - int i; - for (i = 0; i < blocks; i++) - { - value[i] = rand.nextInt(); - } - zeroUnusedBits(); - } - - /** - * Fills all len bits of this GF2Polynomial with random values using the - * specified source of randomness. - * - * @param rand the source of randomness - */ - public void randomize(Random rand) - { - int i; - for (i = 0; i < blocks; i++) - { - value[i] = rand.nextInt(); - } - zeroUnusedBits(); - } - - /** - * Returns true if two GF2Polynomials have the same size and value and thus - * are equal. - * - * @param other the other GF2Polynomial - * @return true if this GF2Polynomial equals b (this == - * b) - */ - public boolean equals(Object other) - { - if (other == null || !(other instanceof GF2Polynomial)) - { - return false; - } - - GF2Polynomial otherPol = (GF2Polynomial)other; - - if (len != otherPol.len) - { - return false; - } - for (int i = 0; i < blocks; i++) - { - if (value[i] != otherPol.value[i]) - { - return false; - } - } - return true; - } - - /** - * @return the hash code of this polynomial - */ - public int hashCode() - { - return len + value.hashCode(); - } - - /** - * Tests if all bits equal zero. - * - * @return true if this GF2Polynomial equals 'zero' (this == 0) - */ - public boolean isZero() - { - int i; - if (len == 0) - { - return true; - } - for (i = 0; i < blocks; i++) - { - if (value[i] != 0) - { - return false; - } - } - return true; - } - - /** - * Tests if all bits are reset to 0 and LSB is set to 1. - * - * @return true if this GF2Polynomial equals 'one' (this == 1) - */ - public boolean isOne() - { - int i; - for (i = 1; i < blocks; i++) - { - if (value[i] != 0) - { - return false; - } - } - if (value[0] != 0x01) - { - return false; - } - return true; - } - - /** - * Adds b to this GF2Polynomial and assigns the result to this - * GF2Polynomial. b can be of different size. - * - * @param b GF2Polynomial to add to this GF2Polynomial - */ - public void addToThis(GF2Polynomial b) - { - expandN(b.len); - xorThisBy(b); - } - - /** - * Adds two GF2Polynomials, this and b, and returns the - * result. this and b can be of different size. - * - * @param b a GF2Polynomial - * @return a new GF2Polynomial (this + b) - */ - public GF2Polynomial add(GF2Polynomial b) - { - return xor(b); - } - - /** - * Subtracts b from this GF2Polynomial and assigns the result to - * this GF2Polynomial. b can be of different size. - * - * @param b a GF2Polynomial - */ - public void subtractFromThis(GF2Polynomial b) - { - expandN(b.len); - xorThisBy(b); - } - - /** - * Subtracts two GF2Polynomials, this and b, and returns the - * result in a new GF2Polynomial. this and b can be of - * different size. - * - * @param b a GF2Polynomial - * @return a new GF2Polynomial (this - b) - */ - public GF2Polynomial subtract(GF2Polynomial b) - { - return xor(b); - } - - /** - * Toggles the LSB of this GF2Polynomial, increasing its value by 'one'. - */ - public void increaseThis() - { - xorBit(0); - } - - /** - * Toggles the LSB of this GF2Polynomial, increasing the value by 'one' and - * returns the result in a new GF2Polynomial. - * - * @return this + 1 - */ - public GF2Polynomial increase() - { - GF2Polynomial result = new GF2Polynomial(this); - result.increaseThis(); - return result; - } - - /** - * Multiplies this GF2Polynomial with b and returns the result in a - * new GF2Polynomial. This method does not reduce the result in GF(2^N). - * This method uses classic multiplication (schoolbook). - * - * @param b a GF2Polynomial - * @return a new GF2Polynomial (this * b) - */ - public GF2Polynomial multiplyClassic(GF2Polynomial b) - { - GF2Polynomial result = new GF2Polynomial(Math.max(len, b.len) << 1); - GF2Polynomial[] m = new GF2Polynomial[32]; - int i, j; - m[0] = new GF2Polynomial(this); - for (i = 1; i <= 31; i++) - { - m[i] = m[i - 1].shiftLeft(); - } - for (i = 0; i < b.blocks; i++) - { - for (j = 0; j <= 31; j++) - { - if ((b.value[i] & bitMask[j]) != 0) - { - result.xorThisBy(m[j]); - } - } - for (j = 0; j <= 31; j++) - { - m[j].shiftBlocksLeft(); - } - } - return result; - } - - /** - * Multiplies this GF2Polynomial with b and returns the result in a - * new GF2Polynomial. This method does not reduce the result in GF(2^N). - * This method uses Karatzuba multiplication. - * - * @param b a GF2Polynomial - * @return a new GF2Polynomial (this * b) - */ - public GF2Polynomial multiply(GF2Polynomial b) - { - int n = Math.max(len, b.len); - expandN(n); - b.expandN(n); - return karaMult(b); - } - - /** - * Does the recursion for Karatzuba multiplication. - */ - private GF2Polynomial karaMult(GF2Polynomial b) - { - GF2Polynomial result = new GF2Polynomial(len << 1); - if (len <= 32) - { - result.value = mult32(value[0], b.value[0]); - return result; - } - if (len <= 64) - { - result.value = mult64(value, b.value); - return result; - } - if (len <= 128) - { - result.value = mult128(value, b.value); - return result; - } - if (len <= 256) - { - result.value = mult256(value, b.value); - return result; - } - if (len <= 512) - { - result.value = mult512(value, b.value); - return result; - } - - int n = IntegerFunctions.floorLog(len - 1); - n = bitMask[n]; - - GF2Polynomial a0 = lower(((n - 1) >> 5) + 1); - GF2Polynomial a1 = upper(((n - 1) >> 5) + 1); - GF2Polynomial b0 = b.lower(((n - 1) >> 5) + 1); - GF2Polynomial b1 = b.upper(((n - 1) >> 5) + 1); - - GF2Polynomial c = a1.karaMult(b1); // c = a1*b1 - GF2Polynomial e = a0.karaMult(b0); // e = a0*b0 - a0.addToThis(a1); // a0 = a0 + a1 - b0.addToThis(b1); // b0 = b0 + b1 - GF2Polynomial d = a0.karaMult(b0); // d = (a0+a1)*(b0+b1) - - result.shiftLeftAddThis(c, n << 1); - result.shiftLeftAddThis(c, n); - result.shiftLeftAddThis(d, n); - result.shiftLeftAddThis(e, n); - result.addToThis(e); - return result; - } - - /** - * 16-Integer Version of Karatzuba multiplication. - */ - private static int[] mult512(int[] a, int[] b) - { - int[] result = new int[32]; - int[] a0 = new int[8]; - System.arraycopy(a, 0, a0, 0, Math.min(8, a.length)); - int[] a1 = new int[8]; - if (a.length > 8) - { - System.arraycopy(a, 8, a1, 0, Math.min(8, a.length - 8)); - } - int[] b0 = new int[8]; - System.arraycopy(b, 0, b0, 0, Math.min(8, b.length)); - int[] b1 = new int[8]; - if (b.length > 8) - { - System.arraycopy(b, 8, b1, 0, Math.min(8, b.length - 8)); - } - int[] c = mult256(a1, b1); - result[31] ^= c[15]; - result[30] ^= c[14]; - result[29] ^= c[13]; - result[28] ^= c[12]; - result[27] ^= c[11]; - result[26] ^= c[10]; - result[25] ^= c[9]; - result[24] ^= c[8]; - result[23] ^= c[7] ^ c[15]; - result[22] ^= c[6] ^ c[14]; - result[21] ^= c[5] ^ c[13]; - result[20] ^= c[4] ^ c[12]; - result[19] ^= c[3] ^ c[11]; - result[18] ^= c[2] ^ c[10]; - result[17] ^= c[1] ^ c[9]; - result[16] ^= c[0] ^ c[8]; - result[15] ^= c[7]; - result[14] ^= c[6]; - result[13] ^= c[5]; - result[12] ^= c[4]; - result[11] ^= c[3]; - result[10] ^= c[2]; - result[9] ^= c[1]; - result[8] ^= c[0]; - a1[0] ^= a0[0]; - a1[1] ^= a0[1]; - a1[2] ^= a0[2]; - a1[3] ^= a0[3]; - a1[4] ^= a0[4]; - a1[5] ^= a0[5]; - a1[6] ^= a0[6]; - a1[7] ^= a0[7]; - b1[0] ^= b0[0]; - b1[1] ^= b0[1]; - b1[2] ^= b0[2]; - b1[3] ^= b0[3]; - b1[4] ^= b0[4]; - b1[5] ^= b0[5]; - b1[6] ^= b0[6]; - b1[7] ^= b0[7]; - int[] d = mult256(a1, b1); - result[23] ^= d[15]; - result[22] ^= d[14]; - result[21] ^= d[13]; - result[20] ^= d[12]; - result[19] ^= d[11]; - result[18] ^= d[10]; - result[17] ^= d[9]; - result[16] ^= d[8]; - result[15] ^= d[7]; - result[14] ^= d[6]; - result[13] ^= d[5]; - result[12] ^= d[4]; - result[11] ^= d[3]; - result[10] ^= d[2]; - result[9] ^= d[1]; - result[8] ^= d[0]; - int[] e = mult256(a0, b0); - result[23] ^= e[15]; - result[22] ^= e[14]; - result[21] ^= e[13]; - result[20] ^= e[12]; - result[19] ^= e[11]; - result[18] ^= e[10]; - result[17] ^= e[9]; - result[16] ^= e[8]; - result[15] ^= e[7] ^ e[15]; - result[14] ^= e[6] ^ e[14]; - result[13] ^= e[5] ^ e[13]; - result[12] ^= e[4] ^ e[12]; - result[11] ^= e[3] ^ e[11]; - result[10] ^= e[2] ^ e[10]; - result[9] ^= e[1] ^ e[9]; - result[8] ^= e[0] ^ e[8]; - result[7] ^= e[7]; - result[6] ^= e[6]; - result[5] ^= e[5]; - result[4] ^= e[4]; - result[3] ^= e[3]; - result[2] ^= e[2]; - result[1] ^= e[1]; - result[0] ^= e[0]; - return result; - } - - /** - * 8-Integer Version of Karatzuba multiplication. - */ - private static int[] mult256(int[] a, int[] b) - { - int[] result = new int[16]; - int[] a0 = new int[4]; - System.arraycopy(a, 0, a0, 0, Math.min(4, a.length)); - int[] a1 = new int[4]; - if (a.length > 4) - { - System.arraycopy(a, 4, a1, 0, Math.min(4, a.length - 4)); - } - int[] b0 = new int[4]; - System.arraycopy(b, 0, b0, 0, Math.min(4, b.length)); - int[] b1 = new int[4]; - if (b.length > 4) - { - System.arraycopy(b, 4, b1, 0, Math.min(4, b.length - 4)); - } - if (a1[3] == 0 && a1[2] == 0 && b1[3] == 0 && b1[2] == 0) - { - if (a1[1] == 0 && b1[1] == 0) - { - if (a1[0] != 0 || b1[0] != 0) - { // [3]=[2]=[1]=0, [0]!=0 - int[] c = mult32(a1[0], b1[0]); - result[9] ^= c[1]; - result[8] ^= c[0]; - result[5] ^= c[1]; - result[4] ^= c[0]; - } - } - else - { // [3]=[2]=0 [1]!=0, [0]!=0 - int[] c = mult64(a1, b1); - result[11] ^= c[3]; - result[10] ^= c[2]; - result[9] ^= c[1]; - result[8] ^= c[0]; - result[7] ^= c[3]; - result[6] ^= c[2]; - result[5] ^= c[1]; - result[4] ^= c[0]; - } - } - else - { // [3]!=0 [2]!=0 [1]!=0, [0]!=0 - int[] c = mult128(a1, b1); - result[15] ^= c[7]; - result[14] ^= c[6]; - result[13] ^= c[5]; - result[12] ^= c[4]; - result[11] ^= c[3] ^ c[7]; - result[10] ^= c[2] ^ c[6]; - result[9] ^= c[1] ^ c[5]; - result[8] ^= c[0] ^ c[4]; - result[7] ^= c[3]; - result[6] ^= c[2]; - result[5] ^= c[1]; - result[4] ^= c[0]; - } - a1[0] ^= a0[0]; - a1[1] ^= a0[1]; - a1[2] ^= a0[2]; - a1[3] ^= a0[3]; - b1[0] ^= b0[0]; - b1[1] ^= b0[1]; - b1[2] ^= b0[2]; - b1[3] ^= b0[3]; - int[] d = mult128(a1, b1); - result[11] ^= d[7]; - result[10] ^= d[6]; - result[9] ^= d[5]; - result[8] ^= d[4]; - result[7] ^= d[3]; - result[6] ^= d[2]; - result[5] ^= d[1]; - result[4] ^= d[0]; - int[] e = mult128(a0, b0); - result[11] ^= e[7]; - result[10] ^= e[6]; - result[9] ^= e[5]; - result[8] ^= e[4]; - result[7] ^= e[3] ^ e[7]; - result[6] ^= e[2] ^ e[6]; - result[5] ^= e[1] ^ e[5]; - result[4] ^= e[0] ^ e[4]; - result[3] ^= e[3]; - result[2] ^= e[2]; - result[1] ^= e[1]; - result[0] ^= e[0]; - return result; - } - - /** - * 4-Integer Version of Karatzuba multiplication. - */ - private static int[] mult128(int[] a, int[] b) - { - int[] result = new int[8]; - int[] a0 = new int[2]; - System.arraycopy(a, 0, a0, 0, Math.min(2, a.length)); - int[] a1 = new int[2]; - if (a.length > 2) - { - System.arraycopy(a, 2, a1, 0, Math.min(2, a.length - 2)); - } - int[] b0 = new int[2]; - System.arraycopy(b, 0, b0, 0, Math.min(2, b.length)); - int[] b1 = new int[2]; - if (b.length > 2) - { - System.arraycopy(b, 2, b1, 0, Math.min(2, b.length - 2)); - } - if (a1[1] == 0 && b1[1] == 0) - { - if (a1[0] != 0 || b1[0] != 0) - { - int[] c = mult32(a1[0], b1[0]); - result[5] ^= c[1]; - result[4] ^= c[0]; - result[3] ^= c[1]; - result[2] ^= c[0]; - } - } - else - { - int[] c = mult64(a1, b1); - result[7] ^= c[3]; - result[6] ^= c[2]; - result[5] ^= c[1] ^ c[3]; - result[4] ^= c[0] ^ c[2]; - result[3] ^= c[1]; - result[2] ^= c[0]; - } - a1[0] ^= a0[0]; - a1[1] ^= a0[1]; - b1[0] ^= b0[0]; - b1[1] ^= b0[1]; - if (a1[1] == 0 && b1[1] == 0) - { - int[] d = mult32(a1[0], b1[0]); - result[3] ^= d[1]; - result[2] ^= d[0]; - } - else - { - int[] d = mult64(a1, b1); - result[5] ^= d[3]; - result[4] ^= d[2]; - result[3] ^= d[1]; - result[2] ^= d[0]; - } - if (a0[1] == 0 && b0[1] == 0) - { - int[] e = mult32(a0[0], b0[0]); - result[3] ^= e[1]; - result[2] ^= e[0]; - result[1] ^= e[1]; - result[0] ^= e[0]; - } - else - { - int[] e = mult64(a0, b0); - result[5] ^= e[3]; - result[4] ^= e[2]; - result[3] ^= e[1] ^ e[3]; - result[2] ^= e[0] ^ e[2]; - result[1] ^= e[1]; - result[0] ^= e[0]; - } - return result; - } - - /** - * 2-Integer Version of Karatzuba multiplication. - */ - private static int[] mult64(int[] a, int[] b) - { - int[] result = new int[4]; - int a0 = a[0]; - int a1 = 0; - if (a.length > 1) - { - a1 = a[1]; - } - int b0 = b[0]; - int b1 = 0; - if (b.length > 1) - { - b1 = b[1]; - } - if (a1 != 0 || b1 != 0) - { - int[] c = mult32(a1, b1); - result[3] ^= c[1]; - result[2] ^= c[0] ^ c[1]; - result[1] ^= c[0]; - } - int[] d = mult32(a0 ^ a1, b0 ^ b1); - result[2] ^= d[1]; - result[1] ^= d[0]; - int[] e = mult32(a0, b0); - result[2] ^= e[1]; - result[1] ^= e[0] ^ e[1]; - result[0] ^= e[0]; - return result; - } - - /** - * 4-Byte Version of Karatzuba multiplication. Here the actual work is done. - */ - private static int[] mult32(int a, int b) - { - int[] result = new int[2]; - if (a == 0 || b == 0) - { - return result; - } - long b2 = b; - b2 &= 0x00000000ffffffffL; - int i; - long h = 0; - for (i = 1; i <= 32; i++) - { - if ((a & bitMask[i - 1]) != 0) - { - h ^= b2; - } - b2 <<= 1; - } - result[1] = (int)(h >>> 32); - result[0] = (int)(h & 0x00000000ffffffffL); - return result; - } - - /** - * Returns a new GF2Polynomial containing the upper k bytes of this - * GF2Polynomial. - * - * @param k - * @return a new GF2Polynomial containing the upper k bytes of this - * GF2Polynomial - * @see GF2Polynomial#karaMult - */ - private GF2Polynomial upper(int k) - { - int j = Math.min(k, blocks - k); - GF2Polynomial result = new GF2Polynomial(j << 5); - if (blocks >= k) - { - System.arraycopy(value, k, result.value, 0, j); - } - return result; - } - - /** - * Returns a new GF2Polynomial containing the lower k bytes of this - * GF2Polynomial. - * - * @param k - * @return a new GF2Polynomial containing the lower k bytes of this - * GF2Polynomial - * @see GF2Polynomial#karaMult - */ - private GF2Polynomial lower(int k) - { - GF2Polynomial result = new GF2Polynomial(k << 5); - System.arraycopy(value, 0, result.value, 0, Math.min(k, blocks)); - return result; - } - - /** - * Returns the remainder of this divided by g in a new - * GF2Polynomial. - * - * @param g GF2Polynomial != 0 - * @return a new GF2Polynomial (this % g) - * @throws PolynomialIsZeroException if g equals zero - */ - public GF2Polynomial remainder(GF2Polynomial g) - throws RuntimeException - { - /* a div b = q / r */ - GF2Polynomial a = new GF2Polynomial(this); - GF2Polynomial b = new GF2Polynomial(g); - GF2Polynomial j; - int i; - if (b.isZero()) - { - throw new RuntimeException(); - } - a.reduceN(); - b.reduceN(); - if (a.len < b.len) - { - return a; - } - i = a.len - b.len; - while (i >= 0) - { - j = b.shiftLeft(i); - a.subtractFromThis(j); - a.reduceN(); - i = a.len - b.len; - } - return a; - } - - /** - * Returns the absolute quotient of this divided by g in a - * new GF2Polynomial. - * - * @param g GF2Polynomial != 0 - * @return a new GF2Polynomial |_ this / g _| - * @throws PolynomialIsZeroException if g equals zero - */ - public GF2Polynomial quotient(GF2Polynomial g) - throws RuntimeException - { - /* a div b = q / r */ - GF2Polynomial q = new GF2Polynomial(len); - GF2Polynomial a = new GF2Polynomial(this); - GF2Polynomial b = new GF2Polynomial(g); - GF2Polynomial j; - int i; - if (b.isZero()) - { - throw new RuntimeException(); - } - a.reduceN(); - b.reduceN(); - if (a.len < b.len) - { - return new GF2Polynomial(0); - } - i = a.len - b.len; - q.expandN(i + 1); - - while (i >= 0) - { - j = b.shiftLeft(i); - a.subtractFromThis(j); - a.reduceN(); - q.xorBit(i); - i = a.len - b.len; - } - - return q; - } - - /** - * Divides this by g and returns the quotient and remainder - * in a new GF2Polynomial[2], quotient in [0], remainder in [1]. - * - * @param g GF2Polynomial != 0 - * @return a new GF2Polynomial[2] containing quotient and remainder - * @throws PolynomialIsZeroException if g equals zero - */ - public GF2Polynomial[] divide(GF2Polynomial g) - throws RuntimeException - { - /* a div b = q / r */ - GF2Polynomial[] result = new GF2Polynomial[2]; - GF2Polynomial q = new GF2Polynomial(len); - GF2Polynomial a = new GF2Polynomial(this); - GF2Polynomial b = new GF2Polynomial(g); - GF2Polynomial j; - int i; - if (b.isZero()) - { - throw new RuntimeException(); - } - a.reduceN(); - b.reduceN(); - if (a.len < b.len) - { - result[0] = new GF2Polynomial(0); - result[1] = a; - return result; - } - i = a.len - b.len; - q.expandN(i + 1); - - while (i >= 0) - { - j = b.shiftLeft(i); - a.subtractFromThis(j); - a.reduceN(); - q.xorBit(i); - i = a.len - b.len; - } - - result[0] = q; - result[1] = a; - return result; - } - - /** - * Returns the greatest common divisor of this and g in a - * new GF2Polynomial. - * - * @param g GF2Polynomial != 0 - * @return a new GF2Polynomial gcd(this,g) - * @throws ArithmeticException if this and g both are equal to zero - * @throws PolynomialIsZeroException to be API-compliant (should never be thrown). - */ - public GF2Polynomial gcd(GF2Polynomial g) - throws RuntimeException - { - if (isZero() && g.isZero()) - { - throw new ArithmeticException("Both operands of gcd equal zero."); - } - if (isZero()) - { - return new GF2Polynomial(g); - } - if (g.isZero()) - { - return new GF2Polynomial(this); - } - GF2Polynomial a = new GF2Polynomial(this); - GF2Polynomial b = new GF2Polynomial(g); - GF2Polynomial c; - - while (!b.isZero()) - { - c = a.remainder(b); - a = b; - b = c; - } - - return a; - } - - /** - * Checks if this is irreducible, according to IEEE P1363, A.5.5, - * p103.
    - * Note: The algorithm from IEEE P1363, A5.5 can be used to check a - * polynomial with coefficients in GF(2^r) for irreducibility. As this class - * only represents polynomials with coefficients in GF(2), the algorithm is - * adapted to the case r=1. - * - * @return true if this is irreducible - * @see "P1363, A.5.5, p103" - */ - public boolean isIrreducible() - { - if (isZero()) - { - return false; - } - GF2Polynomial f = new GF2Polynomial(this); - int d, i; - GF2Polynomial u, g; - GF2Polynomial dummy; - f.reduceN(); - d = f.len - 1; - u = new GF2Polynomial(f.len, "X"); - - for (i = 1; i <= (d >> 1); i++) - { - u.squareThisPreCalc(); - u = u.remainder(f); - dummy = u.add(new GF2Polynomial(32, "X")); - if (!dummy.isZero()) - { - g = f.gcd(dummy); - if (!g.isOne()) - { - return false; - } - } - else - { - return false; - } - } - - return true; - } - - /** - * Reduces this GF2Polynomial using the trinomial x^m + x^tc + - * 1. - * - * @param m the degree of the used field - * @param tc degree of the middle x in the trinomial - */ - void reduceTrinomial(int m, int tc) - { - int i; - int p0, p1; - int q0, q1; - long t; - p0 = m >>> 5; // block which contains 2^m - q0 = 32 - (m & 0x1f); // (32-index) of 2^m within block p0 - p1 = (m - tc) >>> 5; // block which contains 2^tc - q1 = 32 - ((m - tc) & 0x1f); // (32-index) of 2^tc within block q1 - int max = ((m << 1) - 2) >>> 5; // block which contains 2^(2m-2) - int min = p0; // block which contains 2^m - for (i = max; i > min; i--) - { // for i = maxBlock to minBlock - // reduce coefficients contained in t - // t = block[i] - t = value[i] & 0x00000000ffffffffL; - // block[i-p0-1] ^= t << q0 - value[i - p0 - 1] ^= (int)(t << q0); - // block[i-p0] ^= t >>> (32-q0) - value[i - p0] ^= t >>> (32 - q0); - // block[i-p1-1] ^= << q1 - value[i - p1 - 1] ^= (int)(t << q1); - // block[i-p1] ^= t >>> (32-q1) - value[i - p1] ^= t >>> (32 - q1); - value[i] = 0x00; - } - // reduce last coefficients in block containing 2^m - t = value[min] & 0x00000000ffffffffL & (0xffffffffL << (m & 0x1f)); // t - // contains the last coefficients > m - value[0] ^= t >>> (32 - q0); - if (min - p1 - 1 >= 0) - { - value[min - p1 - 1] ^= (int)(t << q1); - } - value[min - p1] ^= t >>> (32 - q1); - - value[min] &= reverseRightMask[m & 0x1f]; - blocks = ((m - 1) >>> 5) + 1; - len = m; - } - - /** - * Reduces this GF2Polynomial using the pentanomial x^m + x^pc[2] + - * x^pc[1] + x^pc[0] + 1. - * - * @param m the degree of the used field - * @param pc degrees of the middle x's in the pentanomial - */ - void reducePentanomial(int m, int[] pc) - { - int i; - int p0, p1, p2, p3; - int q0, q1, q2, q3; - long t; - p0 = m >>> 5; - q0 = 32 - (m & 0x1f); - p1 = (m - pc[0]) >>> 5; - q1 = 32 - ((m - pc[0]) & 0x1f); - p2 = (m - pc[1]) >>> 5; - q2 = 32 - ((m - pc[1]) & 0x1f); - p3 = (m - pc[2]) >>> 5; - q3 = 32 - ((m - pc[2]) & 0x1f); - int max = ((m << 1) - 2) >>> 5; - int min = p0; - for (i = max; i > min; i--) - { - t = value[i] & 0x00000000ffffffffL; - value[i - p0 - 1] ^= (int)(t << q0); - value[i - p0] ^= t >>> (32 - q0); - value[i - p1 - 1] ^= (int)(t << q1); - value[i - p1] ^= t >>> (32 - q1); - value[i - p2 - 1] ^= (int)(t << q2); - value[i - p2] ^= t >>> (32 - q2); - value[i - p3 - 1] ^= (int)(t << q3); - value[i - p3] ^= t >>> (32 - q3); - value[i] = 0; - } - t = value[min] & 0x00000000ffffffffL & (0xffffffffL << (m & 0x1f)); - value[0] ^= t >>> (32 - q0); - if (min - p1 - 1 >= 0) - { - value[min - p1 - 1] ^= (int)(t << q1); - } - value[min - p1] ^= t >>> (32 - q1); - if (min - p2 - 1 >= 0) - { - value[min - p2 - 1] ^= (int)(t << q2); - } - value[min - p2] ^= t >>> (32 - q2); - if (min - p3 - 1 >= 0) - { - value[min - p3 - 1] ^= (int)(t << q3); - } - value[min - p3] ^= t >>> (32 - q3); - value[min] &= reverseRightMask[m & 0x1f]; - - blocks = ((m - 1) >>> 5) + 1; - len = m; - } - - /** - * Reduces len by finding the most significant bit set to one and reducing - * len and blocks. - */ - public void reduceN() - { - int i, j, h; - i = blocks - 1; - while ((value[i] == 0) && (i > 0)) - { - i--; - } - h = value[i]; - j = 0; - while (h != 0) - { - h >>>= 1; - j++; - } - len = (i << 5) + j; - blocks = i + 1; - } - - /** - * Expands len and int[] value to i. This is useful before adding - * two GF2Polynomials of different size. - * - * @param i the intended length - */ - public void expandN(int i) - { - int k; - int[] bs; - if (len >= i) - { - return; - } - len = i; - k = ((i - 1) >>> 5) + 1; - if (blocks >= k) - { - return; - } - if (value.length >= k) - { - int j; - for (j = blocks; j < k; j++) - { - value[j] = 0; - } - blocks = k; - return; - } - bs = new int[k]; - System.arraycopy(value, 0, bs, 0, blocks); - blocks = k; - value = null; - value = bs; - } - - /** - * Squares this GF2Polynomial and expands it accordingly. This method does - * not reduce the result in GF(2^N). There exists a faster method for - * squaring in GF(2^N). - * - * @see GF2nPolynomialElement#square - */ - public void squareThisBitwise() - { - int i, h, j, k; - if (isZero()) - { - return; - } - int[] result = new int[blocks << 1]; - for (i = blocks - 1; i >= 0; i--) - { - h = value[i]; - j = 0x00000001; - for (k = 0; k < 16; k++) - { - if ((h & 0x01) != 0) - { - result[i << 1] |= j; - } - if ((h & 0x00010000) != 0) - { - result[(i << 1) + 1] |= j; - } - j <<= 2; - h >>>= 1; - } - } - value = null; - value = result; - blocks = result.length; - len = (len << 1) - 1; - } - - /** - * Squares this GF2Polynomial by using precomputed values of squaringTable. - * This method does not reduce the result in GF(2^N). - */ - public void squareThisPreCalc() - { - int i; - if (isZero()) - { - return; - } - if (value.length >= (blocks << 1)) - { - for (i = blocks - 1; i >= 0; i--) - { - value[(i << 1) + 1] = GF2Polynomial.squaringTable[(value[i] & 0x00ff0000) >>> 16] - | (GF2Polynomial.squaringTable[(value[i] & 0xff000000) >>> 24] << 16); - value[i << 1] = GF2Polynomial.squaringTable[value[i] & 0x000000ff] - | (GF2Polynomial.squaringTable[(value[i] & 0x0000ff00) >>> 8] << 16); - } - blocks <<= 1; - len = (len << 1) - 1; - } - else - { - int[] result = new int[blocks << 1]; - for (i = 0; i < blocks; i++) - { - result[i << 1] = GF2Polynomial.squaringTable[value[i] & 0x000000ff] - | (GF2Polynomial.squaringTable[(value[i] & 0x0000ff00) >>> 8] << 16); - result[(i << 1) + 1] = GF2Polynomial.squaringTable[(value[i] & 0x00ff0000) >>> 16] - | (GF2Polynomial.squaringTable[(value[i] & 0xff000000) >>> 24] << 16); - } - value = null; - value = result; - blocks <<= 1; - len = (len << 1) - 1; - } - } - - /** - * Does a vector-multiplication modulo 2 and returns the result as boolean. - * - * @param b GF2Polynomial - * @return this x b as boolean (1->true, 0->false) - * @throws PolynomialsHaveDifferentLengthException if this and b have a different length and - * thus cannot be vector-multiplied - */ - public boolean vectorMult(GF2Polynomial b) - throws RuntimeException - { - int i; - int h; - boolean result = false; - if (len != b.len) - { - throw new RuntimeException(); - } - for (i = 0; i < blocks; i++) - { - h = value[i] & b.value[i]; - result ^= parity[h & 0x000000ff]; - result ^= parity[(h >>> 8) & 0x000000ff]; - result ^= parity[(h >>> 16) & 0x000000ff]; - result ^= parity[(h >>> 24) & 0x000000ff]; - } - return result; - } - - /** - * Returns the bitwise exclusive-or of this and b in a new - * GF2Polynomial. this and b can be of different size. - * - * @param b GF2Polynomial - * @return a new GF2Polynomial (this ^ b) - */ - public GF2Polynomial xor(GF2Polynomial b) - { - int i; - GF2Polynomial result; - int k = Math.min(blocks, b.blocks); - if (len >= b.len) - { - result = new GF2Polynomial(this); - for (i = 0; i < k; i++) - { - result.value[i] ^= b.value[i]; - } - } - else - { - result = new GF2Polynomial(b); - for (i = 0; i < k; i++) - { - result.value[i] ^= value[i]; - } - } - // If we xor'ed some bits too many by proceeding blockwise, - // restore them to zero: - result.zeroUnusedBits(); - return result; - } - - /** - * Computes the bitwise exclusive-or of this GF2Polynomial and b and - * stores the result in this GF2Polynomial. b can be of different - * size. - * - * @param b GF2Polynomial - */ - public void xorThisBy(GF2Polynomial b) - { - int i; - for (i = 0; i < Math.min(blocks, b.blocks); i++) - { - value[i] ^= b.value[i]; - } - // If we xor'ed some bits too many by proceeding blockwise, - // restore them to zero: - zeroUnusedBits(); - } - - /** - * If {@link #len} is not a multiple of the block size (32), some extra bits - * of the last block might have been modified during a blockwise operation. - * This method compensates for that by restoring these "extra" bits to zero. - */ - private void zeroUnusedBits() - { - if ((len & 0x1f) != 0) - { - value[blocks - 1] &= reverseRightMask[len & 0x1f]; - } - } - - /** - * Sets the bit at position i. - * - * @param i int - * @throws BitDoesNotExistException if (i < 0) || (i > (len - 1)) - */ - public void setBit(int i) - throws RuntimeException - { - if (i < 0 || i > (len - 1)) - { - throw new RuntimeException(); - } - if (i > (len - 1)) - { - return; - } - value[i >>> 5] |= bitMask[i & 0x1f]; - return; - } - - /** - * Returns the bit at position i. - * - * @param i int - * @return the bit at position i if i is a valid position, 0 - * otherwise. - */ - public int getBit(int i) - { - if (i < 0 || i > (len - 1)) - { - return 0; - } - return ((value[i >>> 5] & bitMask[i & 0x1f]) != 0) ? 1 : 0; - } - - /** - * Resets the bit at position i. - * - * @param i int - * @throws BitDoesNotExistException if (i < 0) || (i > (len - 1)) - */ - public void resetBit(int i) - throws RuntimeException - { - if (i < 0 || i > (len - 1)) - { - throw new RuntimeException(); - } - if (i > (len - 1)) - { - return; - } - value[i >>> 5] &= ~bitMask[i & 0x1f]; - } - - /** - * Xors the bit at position i. - * - * @param i int - * @throws BitDoesNotExistException if (i < 0) || (i > (len - 1)) - */ - public void xorBit(int i) - throws RuntimeException - { - if (i < 0 || i > (len - 1)) - { - throw new RuntimeException(); - } - if (i > (len - 1)) - { - return; - } - value[i >>> 5] ^= bitMask[i & 0x1f]; - } - - /** - * Tests the bit at position i. - * - * @param i the position of the bit to be tested - * @return true if the bit at position i is set (a(i) == - * 1). False if (i < 0) || (i > (len - 1)) - */ - public boolean testBit(int i) - { - if (i < 0 || i > (len - 1)) - { - return false; - } - return (value[i >>> 5] & bitMask[i & 0x1f]) != 0; - } - - /** - * Returns this GF2Polynomial shift-left by 1 in a new GF2Polynomial. - * - * @return a new GF2Polynomial (this << 1) - */ - public GF2Polynomial shiftLeft() - { - GF2Polynomial result = new GF2Polynomial(len + 1, value); - int i; - for (i = result.blocks - 1; i >= 1; i--) - { - result.value[i] <<= 1; - result.value[i] |= result.value[i - 1] >>> 31; - } - result.value[0] <<= 1; - return result; - } - - /** - * Shifts-left this by one and enlarges the size of value if necesary. - */ - public void shiftLeftThis() - { - /** @todo This is untested. */ - int i; - if ((len & 0x1f) == 0) - { // check if blocks increases - len += 1; - blocks += 1; - if (blocks > value.length) - { // enlarge value - int[] bs = new int[blocks]; - System.arraycopy(value, 0, bs, 0, value.length); - value = null; - value = bs; - } - for (i = blocks - 1; i >= 1; i--) - { - value[i] |= value[i - 1] >>> 31; - value[i - 1] <<= 1; - } - } - else - { - len += 1; - for (i = blocks - 1; i >= 1; i--) - { - value[i] <<= 1; - value[i] |= value[i - 1] >>> 31; - } - value[0] <<= 1; - } - } - - /** - * Returns this GF2Polynomial shift-left by k in a new - * GF2Polynomial. - * - * @param k int - * @return a new GF2Polynomial (this << k) - */ - public GF2Polynomial shiftLeft(int k) - { - // Variant 2, requiring a modified shiftBlocksLeft(k) - // In case of modification, consider a rename to doShiftBlocksLeft() - // with an explicit note that this method assumes that the polynomial - // has already been resized. Or consider doing things inline. - // Construct the resulting polynomial of appropriate length: - GF2Polynomial result = new GF2Polynomial(len + k, value); - // Shift left as many multiples of the block size as possible: - if (k >= 32) - { - result.doShiftBlocksLeft(k >>> 5); - } - // Shift left by the remaining (<32) amount: - final int remaining = k & 0x1f; - if (remaining != 0) - { - for (int i = result.blocks - 1; i >= 1; i--) - { - result.value[i] <<= remaining; - result.value[i] |= result.value[i - 1] >>> (32 - remaining); - } - result.value[0] <<= remaining; - } - return result; - } - - /** - * Shifts left b and adds the result to Its a fast version of - * this = add(b.shl(k)); - * - * @param b GF2Polynomial to shift and add to this - * @param k the amount to shift - * @see GF2nPolynomialElement#invertEEA - */ - public void shiftLeftAddThis(GF2Polynomial b, int k) - { - if (k == 0) - { - addToThis(b); - return; - } - int i; - expandN(b.len + k); - int d = k >>> 5; - for (i = b.blocks - 1; i >= 0; i--) - { - if ((i + d + 1 < blocks) && ((k & 0x1f) != 0)) - { - value[i + d + 1] ^= b.value[i] >>> (32 - (k & 0x1f)); - } - value[i + d] ^= b.value[i] << (k & 0x1f); - } - } - - /** - * Shifts-left this GF2Polynomial's value blockwise 1 block resulting in a - * shift-left by 32. - * - * @see GF2Polynomial#multiply - */ - void shiftBlocksLeft() - { - blocks += 1; - len += 32; - if (blocks <= value.length) - { - int i; - for (i = blocks - 1; i >= 1; i--) - { - value[i] = value[i - 1]; - } - value[0] = 0x00; - } - else - { - int[] result = new int[blocks]; - System.arraycopy(value, 0, result, 1, blocks - 1); - value = null; - value = result; - } - } - - /** - * Shifts left this GF2Polynomial's value blockwise b blocks - * resulting in a shift-left by b*32. This method assumes that {@link #len} - * and {@link #blocks} have already been updated to reflect the final state. - * - * @param b shift amount (in blocks) - */ - private void doShiftBlocksLeft(int b) - { - if (blocks <= value.length) - { - int i; - for (i = blocks - 1; i >= b; i--) - { - value[i] = value[i - b]; - } - for (i = 0; i < b; i++) - { - value[i] = 0x00; - } - } - else - { - int[] result = new int[blocks]; - System.arraycopy(value, 0, result, b, blocks - b); - value = null; - value = result; - } - } - - /** - * Returns this GF2Polynomial shift-right by 1 in a new GF2Polynomial. - * - * @return a new GF2Polynomial (this << 1) - */ - public GF2Polynomial shiftRight() - { - GF2Polynomial result = new GF2Polynomial(len - 1); - int i; - System.arraycopy(value, 0, result.value, 0, result.blocks); - for (i = 0; i <= result.blocks - 2; i++) - { - result.value[i] >>>= 1; - result.value[i] |= result.value[i + 1] << 31; - } - result.value[result.blocks - 1] >>>= 1; - if (result.blocks < blocks) - { - result.value[result.blocks - 1] |= value[result.blocks] << 31; - } - return result; - } - - /** - * Shifts-right this GF2Polynomial by 1. - */ - public void shiftRightThis() - { - int i; - len -= 1; - blocks = ((len - 1) >>> 5) + 1; - for (i = 0; i <= blocks - 2; i++) - { - value[i] >>>= 1; - value[i] |= value[i + 1] << 31; - } - value[blocks - 1] >>>= 1; - if ((len & 0x1f) == 0) - { - value[blocks - 1] |= value[blocks] << 31; - } - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Vector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Vector.java deleted file mode 100644 index 560ad2166..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2Vector.java +++ /dev/null @@ -1,539 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class implements the abstract class Vector for the case of - * vectors over the finite field GF(2).
    - * For the vector representation the array of type int[] is used, thus one - * element of the array holds 32 elements of the vector. - * - * @see Vector - */ -public class GF2Vector - extends Vector -{ - - /** - * holds the elements of this vector - */ - private int[] v; - - /** - * Construct the zero vector of the given length. - * - * @param length the length of the vector - */ - public GF2Vector(int length) - { - if (length < 0) - { - throw new ArithmeticException("Negative length."); - } - this.length = length; - v = new int[(length + 31) >> 5]; - } - - /** - * Construct a random GF2Vector of the given length. - * - * @param length the length of the vector - * @param sr the source of randomness - */ - public GF2Vector(int length, SecureRandom sr) - { - this.length = length; - - int size = (length + 31) >> 5; - v = new int[size]; - - // generate random elements - for (int i = size - 1; i >= 0; i--) - { - v[i] = sr.nextInt(); - } - - // erase unused bits - int r = length & 0x1f; - if (r != 0) - { - // erase unused bits - v[size - 1] &= (1 << r) - 1; - } - } - - /** - * Construct a random GF2Vector of the given length with the specified - * number of non-zero coefficients. - * - * @param length the length of the vector - * @param t the number of non-zero coefficients - * @param sr the source of randomness - */ - public GF2Vector(int length, int t, SecureRandom sr) - { - if (t > length) - { - throw new ArithmeticException( - "The hamming weight is greater than the length of vector."); - } - this.length = length; - - int size = (length + 31) >> 5; - v = new int[size]; - - int[] help = new int[length]; - for (int i = 0; i < length; i++) - { - help[i] = i; - } - - int m = length; - for (int i = 0; i < t; i++) - { - int j = RandUtils.nextInt(sr, m); - setBit(help[j]); - m--; - help[j] = help[m]; - } - } - - /** - * Construct a GF2Vector of the given length and with elements from the - * given array. The array is copied and unused bits are masked out. - * - * @param length the length of the vector - * @param v the element array - */ - public GF2Vector(int length, int[] v) - { - if (length < 0) - { - throw new ArithmeticException("negative length"); - } - this.length = length; - - int size = (length + 31) >> 5; - - if (v.length != size) - { - throw new ArithmeticException("length mismatch"); - } - - this.v = IntUtils.clone(v); - - int r = length & 0x1f; - if (r != 0) - { - // erase unused bits - this.v[size - 1] &= (1 << r) - 1; - } - } - - /** - * Copy constructor. - * - * @param other another {@link GF2Vector} - */ - public GF2Vector(GF2Vector other) - { - this.length = other.length; - this.v = IntUtils.clone(other.v); - } - - /** - * Construct a new {@link GF2Vector} of the given length and with the given - * element array. The array is not changed and only a reference to the array - * is stored. No length checking is performed either. - * - * @param v the element array - * @param length the length of the vector - */ - protected GF2Vector(int[] v, int length) - { - this.v = v; - this.length = length; - } - - /** - * Construct a new GF2Vector with the given length out of the encoded - * vector. - * - * @param length the length of the vector - * @param encVec the encoded vector - * @return the decoded vector - */ - public static GF2Vector OS2VP(int length, byte[] encVec) - { - if (length < 0) - { - throw new ArithmeticException("negative length"); - } - - int byteLen = (length + 7) >> 3; - - if (encVec.length > byteLen) - { - throw new ArithmeticException("length mismatch"); - } - - return new GF2Vector(length, LittleEndianConversions.toIntArray(encVec)); - } - - /** - * Encode this vector as byte array. - * - * @return the encoded vector - */ - public byte[] getEncoded() - { - int byteLen = (length + 7) >> 3; - return LittleEndianConversions.toByteArray(v, byteLen); - } - - /** - * @return the int array representation of this vector - */ - public int[] getVecArray() - { - return v; - } - - /** - * Return the Hamming weight of this vector, i.e., compute the number of - * units of this vector. - * - * @return the Hamming weight of this vector - */ - public int getHammingWeight() - { - int weight = 0; - for (int i = 0; i < v.length; i++) - { - int e = v[i]; - for (int j = 0; j < 32; j++) - { - int b = e & 1; - if (b != 0) - { - weight++; - } - e >>>= 1; - } - } - return weight; - } - - /** - * @return whether this is the zero vector (i.e., all elements are zero) - */ - public boolean isZero() - { - for (int i = v.length - 1; i >= 0; i--) - { - if (v[i] != 0) - { - return false; - } - } - return true; - } - - /** - * Return the value of the bit of this vector at the specified index. - * - * @param index the index - * @return the value of the bit (0 or 1) - */ - public int getBit(int index) - { - if (index >= length) - { - throw new IndexOutOfBoundsException(); - } - int q = index >> 5; - int r = index & 0x1f; - return (v[q] & (1 << r)) >>> r; - } - - /** - * Set the coefficient at the given index to 1. If the index is out of - * bounds, do nothing. - * - * @param index the index of the coefficient to set - */ - public void setBit(int index) - { - if (index >= length) - { - throw new IndexOutOfBoundsException(); - } - v[index >> 5] |= 1 << (index & 0x1f); - } - - /** - * Adds another GF2Vector to this vector. - * - * @param other another GF2Vector - * @return this + other - * @throws ArithmeticException if the other vector is not a GF2Vector or has another - * length. - */ - public Vector add(Vector other) - { - if (!(other instanceof GF2Vector)) - { - throw new ArithmeticException("vector is not defined over GF(2)"); - } - - GF2Vector otherVec = (GF2Vector)other; - if (length != otherVec.length) - { - throw new ArithmeticException("length mismatch"); - } - - int[] vec = IntUtils.clone(((GF2Vector)other).v); - - for (int i = vec.length - 1; i >= 0; i--) - { - vec[i] ^= v[i]; - } - - return new GF2Vector(length, vec); - } - - /** - * Multiply this vector with a permutation. - * - * @param p the permutation - * @return this*p = p*this - */ - public Vector multiply(Permutation p) - { - int[] pVec = p.getVector(); - if (length != pVec.length) - { - throw new ArithmeticException("length mismatch"); - } - - GF2Vector result = new GF2Vector(length); - - for (int i = 0; i < pVec.length; i++) - { - int e = v[pVec[i] >> 5] & (1 << (pVec[i] & 0x1f)); - if (e != 0) - { - result.v[i >> 5] |= 1 << (i & 0x1f); - } - } - - return result; - } - - /** - * Return a new vector consisting of the elements of this vector with the - * indices given by the set setJ. - * - * @param setJ the set of indices of elements to extract - * @return the new {@link GF2Vector} - * [this_setJ[0], this_setJ[1], ..., this_setJ[#setJ-1]] - */ - public GF2Vector extractVector(int[] setJ) - { - int k = setJ.length; - if (setJ[k - 1] > length) - { - throw new ArithmeticException("invalid index set"); - } - - GF2Vector result = new GF2Vector(k); - - for (int i = 0; i < k; i++) - { - int e = v[setJ[i] >> 5] & (1 << (setJ[i] & 0x1f)); - if (e != 0) - { - result.v[i >> 5] |= 1 << (i & 0x1f); - } - } - - return result; - } - - /** - * Return a new vector consisting of the first k elements of this - * vector. - * - * @param k the number of elements to extract - * @return a new {@link GF2Vector} consisting of the first k - * elements of this vector - */ - public GF2Vector extractLeftVector(int k) - { - if (k > length) - { - throw new ArithmeticException("invalid length"); - } - - if (k == length) - { - return new GF2Vector(this); - } - - GF2Vector result = new GF2Vector(k); - - int q = k >> 5; - int r = k & 0x1f; - - System.arraycopy(v, 0, result.v, 0, q); - if (r != 0) - { - result.v[q] = v[q] & ((1 << r) - 1); - } - - return result; - } - - /** - * Return a new vector consisting of the last k elements of this - * vector. - * - * @param k the number of elements to extract - * @return a new {@link GF2Vector} consisting of the last k - * elements of this vector - */ - public GF2Vector extractRightVector(int k) - { - if (k > length) - { - throw new ArithmeticException("invalid length"); - } - - if (k == length) - { - return new GF2Vector(this); - } - - GF2Vector result = new GF2Vector(k); - - int q = (length - k) >> 5; - int r = (length - k) & 0x1f; - int length = (k + 31) >> 5; - - int ind = q; - // if words have to be shifted - if (r != 0) - { - // process all but last word - for (int i = 0; i < length - 1; i++) - { - result.v[i] = (v[ind++] >>> r) | (v[ind] << (32 - r)); - } - // process last word - result.v[length - 1] = v[ind++] >>> r; - if (ind < v.length) - { - result.v[length - 1] |= v[ind] << (32 - r); - } - } - else - { - // no shift necessary - System.arraycopy(v, q, result.v, 0, length); - } - - return result; - } - - /** - * Rewrite this vector as a vector over GF(2m) with - * t elements. - * - * @param field the finite field GF(2m) - * @return the converted vector over GF(2m) - */ - public GF2mVector toExtensionFieldVector(GF2mField field) - { - int m = field.getDegree(); - if ((length % m) != 0) - { - throw new ArithmeticException("conversion is impossible"); - } - - int t = length / m; - int[] result = new int[t]; - int count = 0; - for (int i = t - 1; i >= 0; i--) - { - for (int j = field.getDegree() - 1; j >= 0; j--) - { - int q = count >>> 5; - int r = count & 0x1f; - - int e = (v[q] >>> r) & 1; - if (e == 1) - { - result[i] ^= 1 << j; - } - count++; - } - } - return new GF2mVector(field, result); - } - - /** - * Check if the given object is equal to this vector. - * - * @param other vector - * @return the result of the comparison - */ - public boolean equals(Object other) - { - - if (!(other instanceof GF2Vector)) - { - return false; - } - GF2Vector otherVec = (GF2Vector)other; - - return (length == otherVec.length) && IntUtils.equals(v, otherVec.v); - } - - /** - * @return the hash code of this vector - */ - public int hashCode() - { - int hash = length; - hash = hash * 31 + v.hashCode(); - return hash; - } - - /** - * @return a human readable form of this vector - */ - public String toString() - { - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < length; i++) - { - if ((i != 0) && ((i & 0x1f) == 0)) - { - buf.append(' '); - } - int q = i >> 5; - int r = i & 0x1f; - int bit = v[q] & (1 << r); - if (bit == 0) - { - buf.append('0'); - } - else - { - buf.append('1'); - } - } - return buf.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mField.java deleted file mode 100644 index 5e7fa734c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mField.java +++ /dev/null @@ -1,366 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class describes operations with elements from the finite field F = - * GF(2^m). ( GF(2^m)= GF(2)[A] where A is a root of irreducible polynomial with - * degree m, each field element B has a polynomial basis representation, i.e. it - * is represented by a different binary polynomial of degree less than m, B = - * poly(A) ) All operations are defined only for field with 1< m <32. For the - * representation of field elements the map f: F->Z, poly(A)->poly(2) is used, - * where integers have the binary representation. For example: A^7+A^3+A+1 -> - * (00...0010001011)=139 Also for elements type Integer is used. - * - * @see PolynomialRingGF2 - */ -public class GF2mField -{ - - /* - * degree - degree of the field polynomial - the field polynomial ring - - * polynomial ring over the finite field GF(2) - */ - - private int degree = 0; - - private int polynomial; - - /** - * create a finite field GF(2^m) - * - * @param degree the degree of the field - */ - public GF2mField(int degree) - { - if (degree >= 32) - { - throw new IllegalArgumentException( - " Error: the degree of field is too large "); - } - if (degree < 1) - { - throw new IllegalArgumentException( - " Error: the degree of field is non-positive "); - } - this.degree = degree; - polynomial = PolynomialRingGF2.getIrreduciblePolynomial(degree); - } - - /** - * create a finite field GF(2^m) with the fixed field polynomial - * - * @param degree the degree of the field - * @param poly the field polynomial - */ - public GF2mField(int degree, int poly) - { - if (degree != PolynomialRingGF2.degree(poly)) - { - throw new IllegalArgumentException( - " Error: the degree is not correct"); - } - if (!PolynomialRingGF2.isIrreducible(poly)) - { - throw new IllegalArgumentException( - " Error: given polynomial is reducible"); - } - this.degree = degree; - polynomial = poly; - - } - - public GF2mField(byte[] enc) - { - if (enc.length != 4) - { - throw new IllegalArgumentException( - "byte array is not an encoded finite field"); - } - polynomial = LittleEndianConversions.OS2IP(enc); - if (!PolynomialRingGF2.isIrreducible(polynomial)) - { - throw new IllegalArgumentException( - "byte array is not an encoded finite field"); - } - - degree = PolynomialRingGF2.degree(polynomial); - } - - public GF2mField(GF2mField field) - { - degree = field.degree; - polynomial = field.polynomial; - } - - /** - * return degree of the field - * - * @return degree of the field - */ - public int getDegree() - { - return degree; - } - - /** - * return the field polynomial - * - * @return the field polynomial - */ - public int getPolynomial() - { - return polynomial; - } - - /** - * return the encoded form of this field - * - * @return the field in byte array form - */ - public byte[] getEncoded() - { - return LittleEndianConversions.I2OSP(polynomial); - } - - /** - * Return sum of two elements - * - * @param a - * @param b - * @return a+b - */ - public int add(int a, int b) - { - return a ^ b; - } - - /** - * Return product of two elements - * - * @param a - * @param b - * @return a*b - */ - public int mult(int a, int b) - { - return PolynomialRingGF2.modMultiply(a, b, polynomial); - } - - /** - * compute exponentiation a^k - * - * @param a a field element a - * @param k k degree - * @return a^k - */ - public int exp(int a, int k) - { - if (a == 0) - { - return 0; - } - if (a == 1) - { - return 1; - } - int result = 1; - if (k < 0) - { - a = inverse(a); - k = -k; - } - while (k != 0) - { - if ((k & 1) == 1) - { - result = mult(result, a); - } - a = mult(a, a); - k >>>= 1; - } - return result; - } - - /** - * compute the multiplicative inverse of a - * - * @param a a field element a - * @return a-1 - */ - public int inverse(int a) - { - int d = (1 << degree) - 2; - - return exp(a, d); - } - - /** - * compute the square root of an integer - * - * @param a a field element a - * @return a1/2 - */ - public int sqRoot(int a) - { - for (int i = 1; i < degree; i++) - { - a = mult(a, a); - } - return a; - } - - /** - * create a random field element using PRNG sr - * - * @param sr SecureRandom - * @return a random element - */ - public int getRandomElement(SecureRandom sr) - { - int result = RandUtils.nextInt(sr, 1 << degree); - return result; - } - - /** - * create a random non-zero field element - * - * @return a random element - */ - public int getRandomNonZeroElement() - { - return getRandomNonZeroElement(new SecureRandom()); - } - - /** - * create a random non-zero field element using PRNG sr - * - * @param sr SecureRandom - * @return a random non-zero element - */ - public int getRandomNonZeroElement(SecureRandom sr) - { - int controltime = 1 << 20; - int count = 0; - int result = RandUtils.nextInt(sr, 1 << degree); - while ((result == 0) && (count < controltime)) - { - result = RandUtils.nextInt(sr, 1 << degree); - count++; - } - if (count == controltime) - { - result = 1; - } - return result; - } - - /** - * @return true if e is encoded element of this field and false otherwise - */ - public boolean isElementOfThisField(int e) - { - // e is encoded element of this field iff 0<= e < |2^m| - if (degree == 31) - { - return e >= 0; - } - return e >= 0 && e < (1 << degree); - } - - /* - * help method for visual control - */ - public String elementToStr(int a) - { - String s = ""; - for (int i = 0; i < degree; i++) - { - if (((byte)a & 0x01) == 0) - { - s = "0" + s; - } - else - { - s = "1" + s; - } - a >>>= 1; - } - return s; - } - - /** - * checks if given object is equal to this field. - *

    - * The method returns false whenever the given object is not GF2m. - * - * @param other object - * @return true or false - */ - public boolean equals(Object other) - { - if ((other == null) || !(other instanceof GF2mField)) - { - return false; - } - - GF2mField otherField = (GF2mField)other; - - if ((degree == otherField.degree) - && (polynomial == otherField.polynomial)) - { - return true; - } - - return false; - } - - public int hashCode() - { - return polynomial; - } - - /** - * Returns a human readable form of this field. - *

    - * - * @return a human readable form of this field. - */ - public String toString() - { - String str = "Finite Field GF(2^" + degree + ") = " + "GF(2)[X]/<" - + polyToString(polynomial) + "> "; - return str; - } - - private static String polyToString(int p) - { - String str = ""; - if (p == 0) - { - str = "0"; - } - else - { - byte b = (byte)(p & 0x01); - if (b == 1) - { - str = "1"; - } - p >>>= 1; - int i = 1; - while (p != 0) - { - b = (byte)(p & 0x01); - if (b == 1) - { - str = str + "+x^" + i; - } - p >>>= 1; - i++; - } - } - return str; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mMatrix.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mMatrix.java deleted file mode 100644 index fb2b1e4b8..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mMatrix.java +++ /dev/null @@ -1,377 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This class describes some operations with matrices over finite field GF(2m) - * with small m (1< m <32). - * - * @see Matrix - */ -public class GF2mMatrix - extends Matrix -{ - - /** - * finite field GF(2^m) - */ - protected GF2mField field; - - /** - * For the matrix representation the array of type int[][] is used, thus - * every element of the array keeps one element of the matrix (element from - * finite field GF(2^m)) - */ - protected int[][] matrix; - - /** - * Constructor. - * - * @param field a finite field GF(2^m) - * @param enc byte[] matrix in byte array form - */ - public GF2mMatrix(GF2mField field, byte[] enc) - { - - this.field = field; - - // decode matrix - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - if (enc.length < 5) - { - throw new IllegalArgumentException( - " Error: given array is not encoded matrix over GF(2^m)"); - } - - this.numRows = ((enc[3] & 0xff) << 24) ^ ((enc[2] & 0xff) << 16) - ^ ((enc[1] & 0xff) << 8) ^ (enc[0] & 0xff); - - int n = count * this.numRows; - - if ((this.numRows <= 0) || (((enc.length - 4) % n) != 0)) - { - throw new IllegalArgumentException( - " Error: given array is not encoded matrix over GF(2^m)"); - } - - this.numColumns = (enc.length - 4) / n; - - matrix = new int[this.numRows][this.numColumns]; - count = 4; - for (int i = 0; i < this.numRows; i++) - { - for (int j = 0; j < this.numColumns; j++) - { - for (int jj = 0; jj < d; jj += 8) - { - matrix[i][j] ^= (enc[count++] & 0x000000ff) << jj; - } - if (!this.field.isElementOfThisField(matrix[i][j])) - { - throw new IllegalArgumentException( - " Error: given array is not encoded matrix over GF(2^m)"); - } - } - } - } - - /** - * Copy constructor. - * - * @param other another {@link GF2mMatrix} - */ - public GF2mMatrix(GF2mMatrix other) - { - numRows = other.numRows; - numColumns = other.numColumns; - field = other.field; - matrix = new int[numRows][]; - for (int i = 0; i < numRows; i++) - { - matrix[i] = IntUtils.clone(other.matrix[i]); - } - } - - /** - * Constructor. - * - * @param field a finite field GF(2^m) - * @param matrix the matrix as int array. Only the reference is copied. - */ - protected GF2mMatrix(GF2mField field, int[][] matrix) - { - this.field = field; - this.matrix = matrix; - numRows = matrix.length; - numColumns = matrix[0].length; - } - - /** - * @return a byte array encoding of this matrix - */ - public byte[] getEncoded() - { - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - byte[] bf = new byte[this.numRows * this.numColumns * count + 4]; - bf[0] = (byte)(this.numRows & 0xff); - bf[1] = (byte)((this.numRows >>> 8) & 0xff); - bf[2] = (byte)((this.numRows >>> 16) & 0xff); - bf[3] = (byte)((this.numRows >>> 24) & 0xff); - - count = 4; - for (int i = 0; i < this.numRows; i++) - { - for (int j = 0; j < this.numColumns; j++) - { - for (int jj = 0; jj < d; jj += 8) - { - bf[count++] = (byte)(matrix[i][j] >>> jj); - } - } - } - - return bf; - } - - /** - * Check if this is the zero matrix (i.e., all entries are zero). - * - * @return true if this is the zero matrix - */ - public boolean isZero() - { - for (int i = 0; i < numRows; i++) - { - for (int j = 0; j < numColumns; j++) - { - if (matrix[i][j] != 0) - { - return false; - } - } - } - return true; - } - - /** - * Compute the inverse of this matrix. - * - * @return the inverse of this matrix (newly created). - */ - public Matrix computeInverse() - { - if (numRows != numColumns) - { - throw new ArithmeticException("Matrix is not invertible."); - } - - // clone this matrix - int[][] tmpMatrix = new int[numRows][numRows]; - for (int i = numRows - 1; i >= 0; i--) - { - tmpMatrix[i] = IntUtils.clone(matrix[i]); - } - - // initialize inverse matrix as unit matrix - int[][] invMatrix = new int[numRows][numRows]; - for (int i = numRows - 1; i >= 0; i--) - { - invMatrix[i][i] = 1; - } - - // simultaneously compute Gaussian reduction of tmpMatrix and unit - // matrix - for (int i = 0; i < numRows; i++) - { - // if diagonal element is zero - if (tmpMatrix[i][i] == 0) - { - boolean foundNonZero = false; - // find a non-zero element in the same column - for (int j = i + 1; j < numRows; j++) - { - if (tmpMatrix[j][i] != 0) - { - // found it, swap rows ... - foundNonZero = true; - swapColumns(tmpMatrix, i, j); - swapColumns(invMatrix, i, j); - // ... and quit searching - j = numRows; - continue; - } - } - // if no non-zero element was found - if (!foundNonZero) - { - // the matrix is not invertible - throw new ArithmeticException("Matrix is not invertible."); - } - } - - // normalize i-th row - int coef = tmpMatrix[i][i]; - int invCoef = field.inverse(coef); - multRowWithElementThis(tmpMatrix[i], invCoef); - multRowWithElementThis(invMatrix[i], invCoef); - - // normalize all other rows - for (int j = 0; j < numRows; j++) - { - if (j != i) - { - coef = tmpMatrix[j][i]; - if (coef != 0) - { - int[] tmpRow = multRowWithElement(tmpMatrix[i], coef); - int[] tmpInvRow = multRowWithElement(invMatrix[i], coef); - addToRow(tmpRow, tmpMatrix[j]); - addToRow(tmpInvRow, invMatrix[j]); - } - } - } - } - - return new GF2mMatrix(field, invMatrix); - } - - private static void swapColumns(int[][] matrix, int first, int second) - { - int[] tmp = matrix[first]; - matrix[first] = matrix[second]; - matrix[second] = tmp; - } - - private void multRowWithElementThis(int[] row, int element) - { - for (int i = row.length - 1; i >= 0; i--) - { - row[i] = field.mult(row[i], element); - } - } - - private int[] multRowWithElement(int[] row, int element) - { - int[] result = new int[row.length]; - for (int i = row.length - 1; i >= 0; i--) - { - result[i] = field.mult(row[i], element); - } - return result; - } - - /** - * Add one row to another. - * - * @param fromRow the addend - * @param toRow the row to add to - */ - private void addToRow(int[] fromRow, int[] toRow) - { - for (int i = toRow.length - 1; i >= 0; i--) - { - toRow[i] = field.add(fromRow[i], toRow[i]); - } - } - - public Matrix rightMultiply(Matrix a) - { - throw new RuntimeException("Not implemented."); - } - - public Matrix rightMultiply(Permutation perm) - { - throw new RuntimeException("Not implemented."); - } - - public Vector leftMultiply(Vector vector) - { - throw new RuntimeException("Not implemented."); - } - - public Vector rightMultiply(Vector vector) - { - throw new RuntimeException("Not implemented."); - } - - /** - * Checks if given object is equal to this matrix. The method returns false - * whenever the given object is not a matrix over GF(2^m). - * - * @param other object - * @return true or false - */ - public boolean equals(Object other) - { - - if (other == null || !(other instanceof GF2mMatrix)) - { - return false; - } - - GF2mMatrix otherMatrix = (GF2mMatrix)other; - - if ((!this.field.equals(otherMatrix.field)) - || (otherMatrix.numRows != this.numColumns) - || (otherMatrix.numColumns != this.numColumns)) - { - return false; - } - - for (int i = 0; i < this.numRows; i++) - { - for (int j = 0; j < this.numColumns; j++) - { - if (this.matrix[i][j] != otherMatrix.matrix[i][j]) - { - return false; - } - } - } - - return true; - } - - public int hashCode() - { - int hash = (this.field.hashCode() * 31 + numRows) * 31 + numColumns; - for (int i = 0; i < this.numRows; i++) - { - for (int j = 0; j < this.numColumns; j++) - { - hash = hash * 31 + matrix[i][j]; - } - } - return hash; - } - - public String toString() - { - String str = this.numRows + " x " + this.numColumns + " Matrix over " - + this.field.toString() + ": \n"; - - for (int i = 0; i < this.numRows; i++) - { - for (int j = 0; j < this.numColumns; j++) - { - str = str + this.field.elementToStr(matrix[i][j]) + " : "; - } - str = str + "\n"; - } - - return str; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mVector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mVector.java deleted file mode 100644 index b576ef632..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2mVector.java +++ /dev/null @@ -1,256 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -/** - * This class implements vectors over the finite field - * GF(2m) for small m (i.e., - * 1<m<32). It extends the abstract class {@link Vector}. - */ -public class GF2mVector - extends Vector -{ - - /** - * the finite field this vector is defined over - */ - private GF2mField field; - - /** - * the element array - */ - private int[] vector; - - /** - * creates the vector over GF(2^m) of given length and with elements from - * array v (beginning at the first bit) - * - * @param field finite field - * @param v array with elements of vector - */ - public GF2mVector(GF2mField field, byte[] v) - { - this.field = new GF2mField(field); - - // decode vector - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - if ((v.length % count) != 0) - { - throw new IllegalArgumentException( - "Byte array is not an encoded vector over the given finite field."); - } - - length = v.length / count; - vector = new int[length]; - count = 0; - for (int i = 0; i < vector.length; i++) - { - for (int j = 0; j < d; j += 8) - { - vector[i] |= (v[count++] & 0xff) << j; - } - if (!field.isElementOfThisField(vector[i])) - { - throw new IllegalArgumentException( - "Byte array is not an encoded vector over the given finite field."); - } - } - } - - /** - * Create a new vector over GF(2m) of the given - * length and element array. - * - * @param field the finite field GF(2m) - * @param vector the element array - */ - public GF2mVector(GF2mField field, int[] vector) - { - this.field = field; - length = vector.length; - for (int i = vector.length - 1; i >= 0; i--) - { - if (!field.isElementOfThisField(vector[i])) - { - throw new ArithmeticException( - "Element array is not specified over the given finite field."); - } - } - this.vector = IntUtils.clone(vector); - } - - /** - * Copy constructor. - * - * @param other another {@link GF2mVector} - */ - public GF2mVector(GF2mVector other) - { - field = new GF2mField(other.field); - length = other.length; - vector = IntUtils.clone(other.vector); - } - - /** - * @return the finite field this vector is defined over - */ - public GF2mField getField() - { - return field; - } - - /** - * @return int[] form of this vector - */ - public int[] getIntArrayForm() - { - return IntUtils.clone(vector); - } - - /** - * @return a byte array encoding of this vector - */ - public byte[] getEncoded() - { - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - byte[] res = new byte[vector.length * count]; - count = 0; - for (int i = 0; i < vector.length; i++) - { - for (int j = 0; j < d; j += 8) - { - res[count++] = (byte)(vector[i] >>> j); - } - } - - return res; - } - - /** - * @return whether this is the zero vector (i.e., all elements are zero) - */ - public boolean isZero() - { - for (int i = vector.length - 1; i >= 0; i--) - { - if (vector[i] != 0) - { - return false; - } - } - return true; - } - - /** - * Add another vector to this vector. Method is not yet implemented. - * - * @param addend the other vector - * @return this + addend - * @throws ArithmeticException if the other vector is not defined over the same field as - * this vector. - *

    - * TODO: implement this method - */ - public Vector add(Vector addend) - { - throw new RuntimeException("not implemented"); - } - - /** - * Multiply this vector with a permutation. - * - * @param p the permutation - * @return this*p = p*this - */ - public Vector multiply(Permutation p) - { - int[] pVec = p.getVector(); - if (length != pVec.length) - { - throw new ArithmeticException( - "permutation size and vector size mismatch"); - } - - int[] result = new int[length]; - for (int i = 0; i < pVec.length; i++) - { - result[i] = vector[pVec[i]]; - } - - return new GF2mVector(field, result); - } - - /** - * Compare this vector with another object. - * - * @param other the other object - * @return the result of the comparison - */ - public boolean equals(Object other) - { - - if (!(other instanceof GF2mVector)) - { - return false; - } - GF2mVector otherVec = (GF2mVector)other; - - if (!field.equals(otherVec.field)) - { - return false; - } - - return IntUtils.equals(vector, otherVec.vector); - } - - /** - * @return the hash code of this vector - */ - public int hashCode() - { - int hash = this.field.hashCode(); - hash = hash * 31 + vector.hashCode(); - return hash; - } - - /** - * @return a human readable form of this vector - */ - public String toString() - { - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < vector.length; i++) - { - for (int j = 0; j < field.getDegree(); j++) - { - int r = j & 0x1f; - int bitMask = 1 << r; - int coeff = vector[i] & bitMask; - if (coeff != 0) - { - buf.append('1'); - } - else - { - buf.append('0'); - } - } - buf.append(' '); - } - return buf.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nElement.java deleted file mode 100644 index a95b25f83..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nElement.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -/** - * This abstract class implements an element of the finite field GF(2)n - * in either optimal normal basis representation (ONB) - * or in polynomial representation. It is extended by the classes GF2nONBElement and GF2nPolynomialElement . - * - * @see GF2nPolynomialElement - * @see GF2nONBElement - * @see GF2nONBField - */ -public abstract class GF2nElement - implements GFElement -{ - - // ///////////////////////////////////////////////////////////////////// - // member variables - // ///////////////////////////////////////////////////////////////////// - - /** - * holds a pointer to this element's corresponding field. - */ - protected GF2nField mField; - - /** - * holds the extension degree n of this element's corresponding - * field. - */ - protected int mDegree; - - // ///////////////////////////////////////////////////////////////////// - // pseudo-constructors - // ///////////////////////////////////////////////////////////////////// - - /** - * @return a copy of this GF2nElement - */ - public abstract Object clone(); - - // ///////////////////////////////////////////////////////////////////// - // assignments - // ///////////////////////////////////////////////////////////////////// - - /** - * Assign the value 0 to this element. - */ - abstract void assignZero(); - - /** - * Assigns the value 1 to this element. - */ - abstract void assignOne(); - - // ///////////////////////////////////////////////////////////////////// - // access - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns whether the rightmost bit of the bit representation is set. This - * is needed for data conversion according to 1363. - * - * @return true if the rightmost bit of this element is set - */ - public abstract boolean testRightmostBit(); - - /** - * Checks whether the indexed bit of the bit representation is set - * - * @param index the index of the bit to test - * @return true if the indexed bit is set - */ - abstract boolean testBit(int index); - - /** - * Returns the field of this element. - * - * @return the field of this element - */ - public final GF2nField getField() - { - return mField; - } - - // ///////////////////////////////////////////////////////////////////// - // arithmetic - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns this element + 1. - * - * @return this + 1 - */ - public abstract GF2nElement increase(); - - /** - * Increases this element by one. - */ - public abstract void increaseThis(); - - /** - * Compute the difference of this element and minuend. - * - * @param minuend the minuend - * @return this - minuend (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - public final GFElement subtract(GFElement minuend) - throws RuntimeException - { - return add(minuend); - } - - /** - * Compute the difference of this element and minuend, - * overwriting this element. - * - * @param minuend the minuend - * @throws DifferentFieldsException if the elements are of different fields. - */ - public final void subtractFromThis(GFElement minuend) - { - addToThis(minuend); - } - - /** - * Returns this element to the power of 2. - * - * @return this2 - */ - public abstract GF2nElement square(); - - /** - * Squares this element. - */ - public abstract void squareThis(); - - /** - * Compute the square root of this element and return the result in a new - * {@link GF2nElement}. - * - * @return this1/2 (newly created) - */ - public abstract GF2nElement squareRoot(); - - /** - * Compute the square root of this element. - */ - public abstract void squareRootThis(); - - /** - * Performs a basis transformation of this element to the given GF2nField - * basis. - * - * @param basis the GF2nField representation to transform this element to - * @return this element in the representation of basis - * @throws DifferentFieldsException if this cannot be converted according to - * basis. - */ - public final GF2nElement convert(GF2nField basis) - throws RuntimeException - { - return mField.convert(this, basis); - } - - /** - * Returns the trace of this element. - * - * @return the trace of this element - */ - public abstract int trace(); - - /** - * Solves a quadratic equation.
    - * Let z2 + z = this. Then this method returns z. - * - * @return z with z2 + z = this - * @throws NoSolutionException if z2 + z = this does not have a - * solution - */ - public abstract GF2nElement solveQuadraticEquation() - throws RuntimeException; - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nField.java deleted file mode 100644 index d1aa13633..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nField.java +++ /dev/null @@ -1,292 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.util.Vector; - - -/** - * This abstract class defines the finite field GF(2n). It - * holds the extension degree n, the characteristic, the irreducible - * fieldpolynomial and conversion matrices. GF2nField is implemented by the - * classes GF2nPolynomialField and GF2nONBField. - * - * @see GF2nONBField - * @see GF2nPolynomialField - */ -public abstract class GF2nField -{ - - /** - * the degree of this field - */ - protected int mDegree; - - /** - * the irreducible fieldPolynomial stored in normal order (also for ONB) - */ - protected GF2Polynomial fieldPolynomial; - - /** - * holds a list of GF2nFields to which elements have been converted and thus - * a COB-Matrix exists - */ - protected Vector fields; - - /** - * the COB matrices - */ - protected Vector matrices; - - /** - * Returns the degree n of this field. - * - * @return the degree n of this field - */ - public final int getDegree() - { - return mDegree; - } - - /** - * Returns the fieldpolynomial as a new Bitstring. - * - * @return a copy of the fieldpolynomial as a new Bitstring - */ - public final GF2Polynomial getFieldPolynomial() - { - if (fieldPolynomial == null) - { - computeFieldPolynomial(); - } - return new GF2Polynomial(fieldPolynomial); - } - - /** - * Decides whether the given object other is the same as this - * field. - * - * @param other another object - * @return (this == other) - */ - public final boolean equals(Object other) - { - if (other == null || !(other instanceof GF2nField)) - { - return false; - } - - GF2nField otherField = (GF2nField)other; - - if (otherField.mDegree != mDegree) - { - return false; - } - if (!fieldPolynomial.equals(otherField.fieldPolynomial)) - { - return false; - } - if ((this instanceof GF2nPolynomialField) - && !(otherField instanceof GF2nPolynomialField)) - { - return false; - } - if ((this instanceof GF2nONBField) - && !(otherField instanceof GF2nONBField)) - { - return false; - } - return true; - } - - /** - * @return the hash code of this field - */ - public int hashCode() - { - return mDegree + fieldPolynomial.hashCode(); - } - - /** - * Computes a random root from the given irreducible fieldpolynomial - * according to IEEE 1363 algorithm A.5.6. This cal take very long for big - * degrees. - * - * @param B0FieldPolynomial the fieldpolynomial if the other basis as a Bitstring - * @return a random root of BOFieldPolynomial in representation according to - * this field - * @see "P1363 A.5.6, p103f" - */ - protected abstract GF2nElement getRandomRoot(GF2Polynomial B0FieldPolynomial); - - /** - * Computes the change-of-basis matrix for basis conversion according to - * 1363. The result is stored in the lists fields and matrices. - * - * @param B1 the GF2nField to convert to - * @see "P1363 A.7.3, p111ff" - */ - protected abstract void computeCOBMatrix(GF2nField B1); - - /** - * Computes the fieldpolynomial. This can take a long time for big degrees. - */ - protected abstract void computeFieldPolynomial(); - - /** - * Inverts the given matrix represented as bitstrings. - * - * @param matrix the matrix to invert as a Bitstring[] - * @return matrix^(-1) - */ - protected final GF2Polynomial[] invertMatrix(GF2Polynomial[] matrix) - { - GF2Polynomial[] a = new GF2Polynomial[matrix.length]; - GF2Polynomial[] inv = new GF2Polynomial[matrix.length]; - GF2Polynomial dummy; - int i, j; - // initialize a as a copy of matrix and inv as E(inheitsmatrix) - for (i = 0; i < mDegree; i++) - { - try - { - a[i] = new GF2Polynomial(matrix[i]); - inv[i] = new GF2Polynomial(mDegree); - inv[i].setBit(mDegree - 1 - i); - } - catch (RuntimeException BDNEExc) - { - BDNEExc.printStackTrace(); - } - } - // construct triangle matrix so that for each a[i] the first i bits are - // zero - for (i = 0; i < mDegree - 1; i++) - { - // find column where bit i is set - j = i; - while ((j < mDegree) && !a[j].testBit(mDegree - 1 - i)) - { - j++; - } - if (j >= mDegree) - { - throw new RuntimeException( - "GF2nField.invertMatrix: Matrix cannot be inverted!"); - } - if (i != j) - { // swap a[i]/a[j] and inv[i]/inv[j] - dummy = a[i]; - a[i] = a[j]; - a[j] = dummy; - dummy = inv[i]; - inv[i] = inv[j]; - inv[j] = dummy; - } - for (j = i + 1; j < mDegree; j++) - { // add column i to all columns>i - // having their i-th bit set - if (a[j].testBit(mDegree - 1 - i)) - { - a[j].addToThis(a[i]); - inv[j].addToThis(inv[i]); - } - } - } - // construct Einheitsmatrix from a - for (i = mDegree - 1; i > 0; i--) - { - for (j = i - 1; j >= 0; j--) - { // eliminate the i-th bit in all - // columns < i - if (a[j].testBit(mDegree - 1 - i)) - { - a[j].addToThis(a[i]); - inv[j].addToThis(inv[i]); - } - } - } - return inv; - } - - /** - * Converts the given element in representation according to this field to a - * new element in representation according to B1 using the change-of-basis - * matrix calculated by computeCOBMatrix. - * - * @param elem the GF2nElement to convert - * @param basis the basis to convert elem to - * @return elem converted to a new element representation - * according to basis - * @throws DifferentFieldsException if elem cannot be converted according to - * basis. - * @see GF2nField#computeCOBMatrix - * @see GF2nField#getRandomRoot - * @see GF2nPolynomial - * @see "P1363 A.7 p109ff" - */ - public final GF2nElement convert(GF2nElement elem, GF2nField basis) - throws RuntimeException - { - if (basis == this) - { - return (GF2nElement)elem.clone(); - } - if (fieldPolynomial.equals(basis.fieldPolynomial)) - { - return (GF2nElement)elem.clone(); - } - if (mDegree != basis.mDegree) - { - throw new RuntimeException("GF2nField.convert: B1 has a" - + " different degree and thus cannot be coverted to!"); - } - - int i; - GF2Polynomial[] COBMatrix; - i = fields.indexOf(basis); - if (i == -1) - { - computeCOBMatrix(basis); - i = fields.indexOf(basis); - } - COBMatrix = (GF2Polynomial[])matrices.elementAt(i); - - GF2nElement elemCopy = (GF2nElement)elem.clone(); - if (elemCopy instanceof GF2nONBElement) - { - // remember: ONB treats its bits in reverse order - ((GF2nONBElement)elemCopy).reverseOrder(); - } - GF2Polynomial bs = new GF2Polynomial(mDegree, elemCopy.toFlexiBigInt()); - bs.expandN(mDegree); - GF2Polynomial result = new GF2Polynomial(mDegree); - for (i = 0; i < mDegree; i++) - { - if (bs.vectorMult(COBMatrix[i])) - { - result.setBit(mDegree - 1 - i); - } - } - if (basis instanceof GF2nPolynomialField) - { - return new GF2nPolynomialElement((GF2nPolynomialField)basis, - result); - } - else if (basis instanceof GF2nONBField) - { - GF2nONBElement res = new GF2nONBElement((GF2nONBField)basis, - result.toFlexiBigInt()); - // TODO Remember: ONB treats its Bits in reverse order !!! - res.reverseOrder(); - return res; - } - else - { - throw new RuntimeException( - "GF2nField.convert: B1 must be an instance of " - + "GF2nPolynomialField or GF2nONBField!"); - } - - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBElement.java deleted file mode 100644 index 08d5beed7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBElement.java +++ /dev/null @@ -1,1154 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.math.BigInteger; -import java.util.Random; - -/** - * This class implements an element of the finite field GF(2n ). - * It is represented in an optimal normal basis representation and holds the - * pointer mField to its corresponding field. - * - * @see GF2nField - * @see GF2nElement - */ -public class GF2nONBElement - extends GF2nElement -{ - - // ///////////////////////////////////////////////////////////////////// - // member variables - // ///////////////////////////////////////////////////////////////////// - - private static final long[] mBitmask = new long[]{0x0000000000000001L, - 0x0000000000000002L, 0x0000000000000004L, 0x0000000000000008L, - 0x0000000000000010L, 0x0000000000000020L, 0x0000000000000040L, - 0x0000000000000080L, 0x0000000000000100L, 0x0000000000000200L, - 0x0000000000000400L, 0x0000000000000800L, 0x0000000000001000L, - 0x0000000000002000L, 0x0000000000004000L, 0x0000000000008000L, - 0x0000000000010000L, 0x0000000000020000L, 0x0000000000040000L, - 0x0000000000080000L, 0x0000000000100000L, 0x0000000000200000L, - 0x0000000000400000L, 0x0000000000800000L, 0x0000000001000000L, - 0x0000000002000000L, 0x0000000004000000L, 0x0000000008000000L, - 0x0000000010000000L, 0x0000000020000000L, 0x0000000040000000L, - 0x0000000080000000L, 0x0000000100000000L, 0x0000000200000000L, - 0x0000000400000000L, 0x0000000800000000L, 0x0000001000000000L, - 0x0000002000000000L, 0x0000004000000000L, 0x0000008000000000L, - 0x0000010000000000L, 0x0000020000000000L, 0x0000040000000000L, - 0x0000080000000000L, 0x0000100000000000L, 0x0000200000000000L, - 0x0000400000000000L, 0x0000800000000000L, 0x0001000000000000L, - 0x0002000000000000L, 0x0004000000000000L, 0x0008000000000000L, - 0x0010000000000000L, 0x0020000000000000L, 0x0040000000000000L, - 0x0080000000000000L, 0x0100000000000000L, 0x0200000000000000L, - 0x0400000000000000L, 0x0800000000000000L, 0x1000000000000000L, - 0x2000000000000000L, 0x4000000000000000L, 0x8000000000000000L}; - - private static final long[] mMaxmask = new long[]{0x0000000000000001L, - 0x0000000000000003L, 0x0000000000000007L, 0x000000000000000FL, - 0x000000000000001FL, 0x000000000000003FL, 0x000000000000007FL, - 0x00000000000000FFL, 0x00000000000001FFL, 0x00000000000003FFL, - 0x00000000000007FFL, 0x0000000000000FFFL, 0x0000000000001FFFL, - 0x0000000000003FFFL, 0x0000000000007FFFL, 0x000000000000FFFFL, - 0x000000000001FFFFL, 0x000000000003FFFFL, 0x000000000007FFFFL, - 0x00000000000FFFFFL, 0x00000000001FFFFFL, 0x00000000003FFFFFL, - 0x00000000007FFFFFL, 0x0000000000FFFFFFL, 0x0000000001FFFFFFL, - 0x0000000003FFFFFFL, 0x0000000007FFFFFFL, 0x000000000FFFFFFFL, - 0x000000001FFFFFFFL, 0x000000003FFFFFFFL, 0x000000007FFFFFFFL, - 0x00000000FFFFFFFFL, 0x00000001FFFFFFFFL, 0x00000003FFFFFFFFL, - 0x00000007FFFFFFFFL, 0x0000000FFFFFFFFFL, 0x0000001FFFFFFFFFL, - 0x0000003FFFFFFFFFL, 0x0000007FFFFFFFFFL, 0x000000FFFFFFFFFFL, - 0x000001FFFFFFFFFFL, 0x000003FFFFFFFFFFL, 0x000007FFFFFFFFFFL, - 0x00000FFFFFFFFFFFL, 0x00001FFFFFFFFFFFL, 0x00003FFFFFFFFFFFL, - 0x00007FFFFFFFFFFFL, 0x0000FFFFFFFFFFFFL, 0x0001FFFFFFFFFFFFL, - 0x0003FFFFFFFFFFFFL, 0x0007FFFFFFFFFFFFL, 0x000FFFFFFFFFFFFFL, - 0x001FFFFFFFFFFFFFL, 0x003FFFFFFFFFFFFFL, 0x007FFFFFFFFFFFFFL, - 0x00FFFFFFFFFFFFFFL, 0x01FFFFFFFFFFFFFFL, 0x03FFFFFFFFFFFFFFL, - 0x07FFFFFFFFFFFFFFL, 0x0FFFFFFFFFFFFFFFL, 0x1FFFFFFFFFFFFFFFL, - 0x3FFFFFFFFFFFFFFFL, 0x7FFFFFFFFFFFFFFFL, 0xFFFFFFFFFFFFFFFFL}; - - // mIBy64[j * 16 + i] = (j * 16 + i)/64 - // i = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - // - private static final int[] mIBY64 = new int[]{ - // j = - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 8 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 9 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 10 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 11 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 12 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 13 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 14 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 15 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 16 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 17 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 18 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 19 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 20 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 21 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 22 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 // 23 - }; - - private static final int MAXLONG = 64; - - /** - * holds the lenght of the polynomial with 64 bit sized fields. - */ - private int mLength; - - /** - * holds the value of mDeg % MAXLONG. - */ - private int mBit; - - /** - * holds this element in ONB representation. - */ - private long[] mPol; - - // ///////////////////////////////////////////////////////////////////// - // constructors - // ///////////////////////////////////////////////////////////////////// - - /** - * Construct a random element over the field gf2n, using the - * specified source of randomness. - * - * @param gf2n the field - * @param rand the source of randomness - */ - public GF2nONBElement(GF2nONBField gf2n, Random rand) - { - mField = gf2n; - mDegree = mField.getDegree(); - mLength = gf2n.getONBLength(); - mBit = gf2n.getONBBit(); - mPol = new long[mLength]; - if (mLength > 1) - { - for (int j = 0; j < mLength - 1; j++) - { - mPol[j] = rand.nextLong(); - } - long last = rand.nextLong(); - mPol[mLength - 1] = last >>> (MAXLONG - mBit); - } - else - { - mPol[0] = rand.nextLong(); - mPol[0] = mPol[0] >>> (MAXLONG - mBit); - } - } - - /** - * Construct a new GF2nONBElement from its encoding. - * - * @param gf2n the field - * @param e the encoded element - */ - public GF2nONBElement(GF2nONBField gf2n, byte[] e) - { - mField = gf2n; - mDegree = mField.getDegree(); - mLength = gf2n.getONBLength(); - mBit = gf2n.getONBBit(); - mPol = new long[mLength]; - assign(e); - } - - /** - * Construct the element of the field gf2n with the specified - * value val. - * - * @param gf2n the field - * @param val the value represented by a BigInteger - */ - public GF2nONBElement(GF2nONBField gf2n, BigInteger val) - { - mField = gf2n; - mDegree = mField.getDegree(); - mLength = gf2n.getONBLength(); - mBit = gf2n.getONBBit(); - mPol = new long[mLength]; - assign(val); - } - - /** - * Construct the element of the field gf2n with the specified - * value val. - * - * @param gf2n the field - * @param val the value in ONB representation - */ - private GF2nONBElement(GF2nONBField gf2n, long[] val) - { - mField = gf2n; - mDegree = mField.getDegree(); - mLength = gf2n.getONBLength(); - mBit = gf2n.getONBBit(); - mPol = val; - } - - // ///////////////////////////////////////////////////////////////////// - // pseudo-constructors - // ///////////////////////////////////////////////////////////////////// - - /** - * Copy constructor. - * - * @param gf2n the field - */ - public GF2nONBElement(GF2nONBElement gf2n) - { - - mField = gf2n.mField; - mDegree = mField.getDegree(); - mLength = ((GF2nONBField)mField).getONBLength(); - mBit = ((GF2nONBField)mField).getONBBit(); - mPol = new long[mLength]; - assign(gf2n.getElement()); - } - - /** - * Create a new GF2nONBElement by cloning this GF2nPolynomialElement. - * - * @return a copy of this element - */ - public Object clone() - { - return new GF2nONBElement(this); - } - - /** - * Create the zero element. - * - * @param gf2n the finite field - * @return the zero element in the given finite field - */ - public static GF2nONBElement ZERO(GF2nONBField gf2n) - { - long[] polynomial = new long[gf2n.getONBLength()]; - return new GF2nONBElement(gf2n, polynomial); - } - - /** - * Create the one element. - * - * @param gf2n the finite field - * @return the one element in the given finite field - */ - public static GF2nONBElement ONE(GF2nONBField gf2n) - { - int mLength = gf2n.getONBLength(); - long[] polynomial = new long[mLength]; - - // fill mDegree coefficients with one's - for (int i = 0; i < mLength - 1; i++) - { - polynomial[i] = 0xffffffffffffffffL; - } - polynomial[mLength - 1] = mMaxmask[gf2n.getONBBit() - 1]; - - return new GF2nONBElement(gf2n, polynomial); - } - - // ///////////////////////////////////////////////////////////////////// - // assignments - // ///////////////////////////////////////////////////////////////////// - - /** - * assigns to this element the zero element - */ - void assignZero() - { - mPol = new long[mLength]; - } - - /** - * assigns to this element the one element - */ - void assignOne() - { - // fill mDegree coefficients with one's - for (int i = 0; i < mLength - 1; i++) - { - mPol[i] = 0xffffffffffffffffL; - } - mPol[mLength - 1] = mMaxmask[mBit - 1]; - } - - /** - * assigns to this element the value val. - * - * @param val the value represented by a BigInteger - */ - private void assign(BigInteger val) - { - assign(val.toByteArray()); - } - - /** - * assigns to this element the value val. - * - * @param val the value in ONB representation - */ - private void assign(long[] val) - { - System.arraycopy(val, 0, mPol, 0, mLength); - } - - /** - * assigns to this element the value val. First: inverting the - * order of val into reversed[]. That means: reversed[0] = val[length - 1], - * ..., reversed[reversed.length - 1] = val[0]. Second: mPol[0] = sum{i = 0, - * ... 7} (val[i]<<(i*8)) .... mPol[1] = sum{i = 8, ... 15} (val[i]<<(i*8)) - * - * @param val the value in ONB representation - */ - private void assign(byte[] val) - { - int j; - mPol = new long[mLength]; - for (j = 0; j < val.length; j++) - { - mPol[j >>> 3] |= (val[val.length - 1 - j] & 0x00000000000000ffL) << ((j & 0x07) << 3); - } - } - - // ///////////////////////////////////////////////////////////////// - // comparison - // ///////////////////////////////////////////////////////////////// - - /** - * Checks whether this element is zero. - * - * @return true if this is the zero element - */ - public boolean isZero() - { - - boolean result = true; - - for (int i = 0; i < mLength && result; i++) - { - result = result && ((mPol[i] & 0xFFFFFFFFFFFFFFFFL) == 0); - } - - return result; - } - - /** - * Checks whether this element is one. - * - * @return true if this is the one element - */ - public boolean isOne() - { - - boolean result = true; - - for (int i = 0; i < mLength - 1 && result; i++) - { - result = result - && ((mPol[i] & 0xFFFFFFFFFFFFFFFFL) == 0xFFFFFFFFFFFFFFFFL); - } - - if (result) - { - result = result - && ((mPol[mLength - 1] & mMaxmask[mBit - 1]) == mMaxmask[mBit - 1]); - } - - return result; - } - - /** - * Compare this element with another object. - * - * @param other the other object - * @return true if the two objects are equal, false - * otherwise - */ - public boolean equals(Object other) - { - if (other == null || !(other instanceof GF2nONBElement)) - { - return false; - } - - GF2nONBElement otherElem = (GF2nONBElement)other; - - for (int i = 0; i < mLength; i++) - { - if (mPol[i] != otherElem.mPol[i]) - { - return false; - } - } - - return true; - } - - /** - * @return the hash code of this element - */ - public int hashCode() - { - return mPol.hashCode(); - } - - // ///////////////////////////////////////////////////////////////////// - // access - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns whether the highest bit of the bit representation is set - * - * @return true, if the highest bit of mPol is set, false, otherwise - */ - public boolean testRightmostBit() - { - // due to the reverse bit order (compared to 1363) this method returns - // the value of the leftmost bit - return (mPol[mLength - 1] & mBitmask[mBit - 1]) != 0L; - } - - /** - * Checks whether the indexed bit of the bit representation is set. Warning: - * GF2nONBElement currently stores its bits in reverse order (compared to - * 1363) !!! - * - * @param index the index of the bit to test - * @return true if the indexed bit of mPol is set, false - * otherwise. - */ - boolean testBit(int index) - { - if (index < 0 || index > mDegree) - { - return false; - } - long test = mPol[index >>> 6] & mBitmask[index & 0x3f]; - return test != 0x0L; - } - - /** - * @return this element in its ONB representation - */ - private long[] getElement() - { - - long[] result = new long[mPol.length]; - System.arraycopy(mPol, 0, result, 0, mPol.length); - - return result; - } - - /** - * Returns the ONB representation of this element. The Bit-Order is - * exchanged (according to 1363)! - * - * @return this element in its representation and reverse bit-order - */ - private long[] getElementReverseOrder() - { - long[] result = new long[mPol.length]; - for (int i = 0; i < mDegree; i++) - { - if (testBit(mDegree - i - 1)) - { - result[i >>> 6] |= mBitmask[i & 0x3f]; - } - } - return result; - } - - /** - * Reverses the bit-order in this element(according to 1363). This is a - * hack! - */ - void reverseOrder() - { - mPol = getElementReverseOrder(); - } - - // ///////////////////////////////////////////////////////////////////// - // arithmetic - // ///////////////////////////////////////////////////////////////////// - - /** - * Compute the sum of this element and addend. - * - * @param addend the addend - * @return this + other (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - public GFElement add(GFElement addend) - throws RuntimeException - { - GF2nONBElement result = new GF2nONBElement(this); - result.addToThis(addend); - return result; - } - - /** - * Compute this + addend (overwrite this). - * - * @param addend the addend - * @throws DifferentFieldsException if the elements are of different fields. - */ - public void addToThis(GFElement addend) - throws RuntimeException - { - if (!(addend instanceof GF2nONBElement)) - { - throw new RuntimeException(); - } - if (!mField.equals(((GF2nONBElement)addend).mField)) - { - throw new RuntimeException(); - } - - for (int i = 0; i < mLength; i++) - { - mPol[i] ^= ((GF2nONBElement)addend).mPol[i]; - } - } - - /** - * returns this element + 1. - * - * @return this + 1 - */ - public GF2nElement increase() - { - GF2nONBElement result = new GF2nONBElement(this); - result.increaseThis(); - return result; - } - - /** - * increases this element. - */ - public void increaseThis() - { - addToThis(ONE((GF2nONBField)mField)); - } - - /** - * Compute the product of this element and factor. - * - * @param factor the factor - * @return this * factor (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - public GFElement multiply(GFElement factor) - throws RuntimeException - { - GF2nONBElement result = new GF2nONBElement(this); - result.multiplyThisBy(factor); - return result; - } - - /** - * Compute this * factor (overwrite this). - * - * @param factor the factor - * @throws DifferentFieldsException if the elements are of different fields. - */ - public void multiplyThisBy(GFElement factor) - throws RuntimeException - { - - if (!(factor instanceof GF2nONBElement)) - { - throw new RuntimeException("The elements have different" - + " representation: not yet" + " implemented"); - } - if (!mField.equals(((GF2nONBElement)factor).mField)) - { - throw new RuntimeException(); - } - - if (equals(factor)) - { - squareThis(); - } - else - { - - long[] a = mPol; - long[] b = ((GF2nONBElement)factor).mPol; - long[] c = new long[mLength]; - - int[][] m = ((GF2nONBField)mField).mMult; - - int degf, degb, s, fielda, fieldb, bita, bitb; - degf = mLength - 1; - degb = mBit - 1; - s = 0; - - long TWOTOMAXLONGM1 = mBitmask[MAXLONG - 1]; - long TWOTODEGB = mBitmask[degb]; - - boolean old, now; - - // the product c of a and b (a*b = c) is calculated in mDegree - // cicles - // in every cicle one coefficient of c is calculated and stored - // k indicates the coefficient - // - for (int k = 0; k < mDegree; k++) - { - - s = 0; - - for (int i = 0; i < mDegree; i++) - { - - // fielda = i / MAXLONG - // - fielda = mIBY64[i]; - - // bita = i % MAXLONG - // - bita = i & (MAXLONG - 1); - - // fieldb = m[i][0] / MAXLONG - // - fieldb = mIBY64[m[i][0]]; - - // bitb = m[i][0] % MAXLONG - // - bitb = m[i][0] & (MAXLONG - 1); - - if ((a[fielda] & mBitmask[bita]) != 0) - { - - if ((b[fieldb] & mBitmask[bitb]) != 0) - { - s ^= 1; - } - - if (m[i][1] != -1) - { - - // fieldb = m[i][1] / MAXLONG - // - fieldb = mIBY64[m[i][1]]; - - // bitb = m[i][1] % MAXLONG - // - bitb = m[i][1] & (MAXLONG - 1); - - if ((b[fieldb] & mBitmask[bitb]) != 0) - { - s ^= 1; - } - - } - } - } - fielda = mIBY64[k]; - bita = k & (MAXLONG - 1); - - if (s != 0) - { - c[fielda] ^= mBitmask[bita]; - } - - // Circular shift of x and y one bit to the right, - // respectively. - - if (mLength > 1) - { - - // Shift x. - // - old = (a[degf] & 1) == 1; - - for (int i = degf - 1; i >= 0; i--) - { - now = (a[i] & 1) != 0; - - a[i] = a[i] >>> 1; - - if (old) - { - a[i] ^= TWOTOMAXLONGM1; - } - - old = now; - } - a[degf] = a[degf] >>> 1; - - if (old) - { - a[degf] ^= TWOTODEGB; - } - - // Shift y. - // - old = (b[degf] & 1) == 1; - - for (int i = degf - 1; i >= 0; i--) - { - now = (b[i] & 1) != 0; - - b[i] = b[i] >>> 1; - - if (old) - { - b[i] ^= TWOTOMAXLONGM1; - } - - old = now; - } - - b[degf] = b[degf] >>> 1; - - if (old) - { - b[degf] ^= TWOTODEGB; - } - } - else - { - old = (a[0] & 1) == 1; - a[0] = a[0] >>> 1; - - if (old) - { - a[0] ^= TWOTODEGB; - } - - old = (b[0] & 1) == 1; - b[0] = b[0] >>> 1; - - if (old) - { - b[0] ^= TWOTODEGB; - } - } - } - assign(c); - } - } - - /** - * returns this element to the power of 2. - * - * @return this2 - */ - public GF2nElement square() - { - GF2nONBElement result = new GF2nONBElement(this); - result.squareThis(); - return result; - } - - /** - * squares this element. - */ - public void squareThis() - { - - long[] pol = getElement(); - - int f = mLength - 1; - int b = mBit - 1; - - // Shift the coefficients one bit to the left. - // - long TWOTOMAXLONGM1 = mBitmask[MAXLONG - 1]; - boolean old, now; - - old = (pol[f] & mBitmask[b]) != 0; - - for (int i = 0; i < f; i++) - { - - now = (pol[i] & TWOTOMAXLONGM1) != 0; - - pol[i] = pol[i] << 1; - - if (old) - { - pol[i] ^= 1; - } - - old = now; - } - now = (pol[f] & mBitmask[b]) != 0; - - pol[f] = pol[f] << 1; - - if (old) - { - pol[f] ^= 1; - } - - // Set the bit with index mDegree to zero. - // - if (now) - { - pol[f] ^= mBitmask[b + 1]; - } - - assign(pol); - } - - /** - * Compute the multiplicative inverse of this element. - * - * @return this-1 (newly created) - * @throws ArithmeticException if this is the zero element. - */ - public GFElement invert() - throws ArithmeticException - { - GF2nONBElement result = new GF2nONBElement(this); - result.invertThis(); - return result; - } - - /** - * Multiplicatively invert of this element (overwrite this). - * - * @throws ArithmeticException if this is the zero element. - */ - public void invertThis() - throws ArithmeticException - { - - if (isZero()) - { - throw new ArithmeticException(); - } - int r = 31; // mDegree kann nur 31 Bits lang sein!!! - - // Bitlaenge von mDegree: - for (boolean found = false; !found && r >= 0; r--) - { - - if (((mDegree - 1) & mBitmask[r]) != 0) - { - found = true; - } - } - r++; - - GF2nElement m = ZERO((GF2nONBField)mField); - GF2nElement n = new GF2nONBElement(this); - - int k = 1; - - for (int i = r - 1; i >= 0; i--) - { - m = (GF2nElement)n.clone(); - for (int j = 1; j <= k; j++) - { - m.squareThis(); - } - - n.multiplyThisBy(m); - - k <<= 1; - if (((mDegree - 1) & mBitmask[i]) != 0) - { - n.squareThis(); - - n.multiplyThisBy(this); - - k++; - } - } - n.squareThis(); - } - - /** - * returns the root ofthis element. - * - * @return this1/2 - */ - public GF2nElement squareRoot() - { - GF2nONBElement result = new GF2nONBElement(this); - result.squareRootThis(); - return result; - } - - /** - * square roots this element. - */ - public void squareRootThis() - { - - long[] pol = getElement(); - - int f = mLength - 1; - int b = mBit - 1; - - // Shift the coefficients one bit to the right. - // - long TWOTOMAXLONGM1 = mBitmask[MAXLONG - 1]; - boolean old, now; - - old = (pol[0] & 1) != 0; - - for (int i = f; i >= 0; i--) - { - now = (pol[i] & 1) != 0; - pol[i] = pol[i] >>> 1; - - if (old) - { - if (i == f) - { - pol[i] ^= mBitmask[b]; - } - else - { - pol[i] ^= TWOTOMAXLONGM1; - } - } - old = now; - } - assign(pol); - } - - /** - * Returns the trace of this element. - * - * @return the trace of this element - */ - public int trace() - { - - // trace = sum of coefficients - // - - int result = 0; - - int max = mLength - 1; - - for (int i = 0; i < max; i++) - { - - for (int j = 0; j < MAXLONG; j++) - { - - if ((mPol[i] & mBitmask[j]) != 0) - { - result ^= 1; - } - } - } - - int b = mBit; - - for (int j = 0; j < b; j++) - { - - if ((mPol[max] & mBitmask[j]) != 0) - { - result ^= 1; - } - } - return result; - } - - /** - * Solves a quadratic equation.
    - * Let z2 + z = this. Then this method returns z. - * - * @return z with z2 + z = this - * @throws NoSolutionException if z2 + z = this does not have a - * solution - */ - public GF2nElement solveQuadraticEquation() - throws RuntimeException - { - - if (trace() == 1) - { - throw new RuntimeException(); - } - - long TWOTOMAXLONGM1 = mBitmask[MAXLONG - 1]; - long ZERO = 0L; - long ONE = 1L; - - long[] p = new long[mLength]; - long z = 0L; - int j = 1; - for (int i = 0; i < mLength - 1; i++) - { - - for (j = 1; j < MAXLONG; j++) - { - - // - if (!((((mBitmask[j] & mPol[i]) != ZERO) && ((z & mBitmask[j - 1]) != ZERO)) || (((mPol[i] & mBitmask[j]) == ZERO) && ((z & mBitmask[j - 1]) == ZERO)))) - { - z ^= mBitmask[j]; - } - } - p[i] = z; - - if (((TWOTOMAXLONGM1 & z) != ZERO && (ONE & mPol[i + 1]) == ONE) - || ((TWOTOMAXLONGM1 & z) == ZERO && (ONE & mPol[i + 1]) == ZERO)) - { - z = ZERO; - } - else - { - z = ONE; - } - } - - int b = mDegree & (MAXLONG - 1); - - long LASTLONG = mPol[mLength - 1]; - - for (j = 1; j < b; j++) - { - if (!((((mBitmask[j] & LASTLONG) != ZERO) && ((mBitmask[j - 1] & z) != ZERO)) || (((mBitmask[j] & LASTLONG) == ZERO) && ((mBitmask[j - 1] & z) == ZERO)))) - { - z ^= mBitmask[j]; - } - } - p[mLength - 1] = z; - return new GF2nONBElement((GF2nONBField)mField, p); - } - - // ///////////////////////////////////////////////////////////////// - // conversion - // ///////////////////////////////////////////////////////////////// - - /** - * Returns a String representation of this element. - * - * @return String representation of this element with the specified radix - */ - public String toString() - { - return toString(16); - } - - /** - * Returns a String representation of this element. radix - * specifies the radix of the String representation.
    - * NOTE: ONLY radix = 2 or radix = 16 IS IMPLEMENTED> - * - * @param radix specifies the radix of the String representation - * @return String representation of this element with the specified radix - */ - public String toString(int radix) - { - String s = ""; - - long[] a = getElement(); - int b = mBit; - - if (radix == 2) - { - - for (int j = b - 1; j >= 0; j--) - { - if ((a[a.length - 1] & ((long)1 << j)) == 0) - { - s += "0"; - } - else - { - s += "1"; - } - } - - for (int i = a.length - 2; i >= 0; i--) - { - for (int j = MAXLONG - 1; j >= 0; j--) - { - if ((a[i] & mBitmask[j]) == 0) - { - s += "0"; - } - else - { - s += "1"; - } - } - } - } - else if (radix == 16) - { - final char[] HEX_CHARS = {'0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - for (int i = a.length - 1; i >= 0; i--) - { - s += HEX_CHARS[(int)(a[i] >>> 60) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 56) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 52) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 48) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 44) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 40) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 36) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 32) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 28) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 24) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 20) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 16) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 12) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 8) & 0x0f]; - s += HEX_CHARS[(int)(a[i] >>> 4) & 0x0f]; - s += HEX_CHARS[(int)(a[i]) & 0x0f]; - s += " "; - } - } - return s; - } - - /** - * Returns this element as FlexiBigInt. The conversion is P1363-conform. - * - * @return this element as BigInteger - */ - public BigInteger toFlexiBigInt() - { - /** @todo this method does not reverse the bit-order as it should!!! */ - - return new BigInteger(1, toByteArray()); - } - - /** - * Returns this element as byte array. The conversion is P1363-conform. - * - * @return this element as byte array - */ - public byte[] toByteArray() - { - /** @todo this method does not reverse the bit-order as it should!!! */ - - int k = ((mDegree - 1) >> 3) + 1; - byte[] result = new byte[k]; - int i; - for (i = 0; i < k; i++) - { - result[k - i - 1] = (byte)((mPol[i >>> 3] & (0x00000000000000ffL << ((i & 0x07) << 3))) >>> ((i & 0x07) << 3)); - } - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBField.java deleted file mode 100644 index 60e5be414..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nONBField.java +++ /dev/null @@ -1,546 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.util.Random; -import java.util.Vector; - - -/** - * This class implements the abstract class GF2nField for ONB - * representation. It computes the fieldpolynomial, multiplication matrix and - * one of its roots mONBRoot, (see for example Certicoms Whitepapers). - * GF2nField is used by GF2nONBElement which implements the elements of this - * field. - * - * @see GF2nField - * @see GF2nONBElement - */ -public class GF2nONBField - extends GF2nField -{ - - // /////////////////////////////////////////////////////////////////// - // Hashtable for irreducible normal polynomials // - // /////////////////////////////////////////////////////////////////// - - // i*5 + 0 i*5 + 1 i*5 + 2 i*5 + 3 i*5 + 4 - /* - * private static int[][] mNB = {{0, 0, 0}, {0, 0, 0}, {1, 0, 0}, {1, 0, 0}, - * {1, 0, 0}, // i = 0 {2, 0, 0}, {1, 0, 0}, {1, 0, 0}, {4, 3, 1}, {1, 0, - * 0}, // i = 1 {3, 0, 0}, {2, 0, 0}, {3, 0, 0}, {4, 3, 1}, {5, 0, 0}, // i = - * 2 {1, 0, 0}, {5, 3, 1}, {3, 0, 0}, {3, 0, 0}, {5, 2, 1}, // i = 3 {3, 0, - * 0}, {2, 0, 0}, {1, 0, 0}, {5, 0, 0}, {4, 3, 1}, // i = 4 {3, 0, 0}, {4, - * 3, 1}, {5, 2, 1}, {1, 0, 0}, {2, 0, 0}, // i = 5 {1, 0, 0}, {3, 0, 0}, - * {7, 3, 2}, {10, 0, 0}, {7, 0, 0}, // i = 6 {2, 0, 0}, {9, 0, 0}, {6, 4, - * 1}, {6, 5, 1}, {4, 0, 0}, // i = 7 {5, 4, 3}, {3, 0, 0}, {7, 0, 0}, {6, - * 4, 3}, {5, 0, 0}, // i = 8 {4, 3, 1}, {1, 0, 0}, {5, 0, 0}, {5, 3, 2}, - * {9, 0, 0}, // i = 9 {4, 3, 2}, {6, 3, 1}, {3, 0, 0}, {6, 2, 1}, {9, 0, - * 0}, // i = 10 {7, 0, 0}, {7, 4, 2}, {4, 0, 0}, {19, 0, 0}, {7, 4, 2}, // - * i = 11 {1, 0, 0}, {5, 2, 1}, {29, 0, 0}, {1, 0, 0}, {4, 3, 1}, // i = 12 - * {18, 0, 0}, {3, 0, 0}, {5, 2, 1}, {9, 0, 0}, {6, 5, 2}, // i = 13 {5, 3, - * 1}, {6, 0, 0}, {10, 9, 3}, {25, 0, 0}, {35, 0, 0}, // i = 14 {6, 3, 1}, - * {21, 0, 0}, {6, 5, 2}, {6, 5, 3}, {9, 0, 0}, // i = 15 {9, 4, 2}, {4, 0, - * 0}, {8, 3, 1}, {7, 4, 2}, {5, 0, 0}, // i = 16 {8, 2, 1}, {21, 0, 0}, - * {13, 0, 0}, {7, 6, 2}, {38, 0, 0}, // i = 17 {27, 0, 0}, {8, 5, 1}, {21, - * 0, 0}, {2, 0, 0}, {21, 0, 0}, // i = 18 {11, 0, 0}, {10, 9, 6}, {6, 0, - * 0}, {11, 0, 0}, {6, 3, 1}, // i = 19 {15, 0, 0}, {7, 6, 1}, {29, 0, 0}, - * {9, 0, 0}, {4, 3, 1}, // i = 20 {4, 0, 0}, {15, 0, 0}, {9, 7, 4}, {17, 0, - * 0}, {5, 4, 2}, // i = 21 {33, 0, 0}, {10, 0, 0}, {5, 4, 3}, {9, 0, 0}, - * {5, 3, 2}, // i = 22 {8, 7, 5}, {4, 2, 1}, {5, 2, 1}, {33, 0, 0}, {8, 0, - * 0}, // i = 23 {4, 3, 1}, {18, 0, 0}, {6, 2, 1}, {2, 0, 0}, {19, 0, 0}, // - * i = 24 {7, 6, 5}, {21, 0, 0}, {1, 0, 0}, {7, 2, 1}, {5, 0, 0}, // i = 25 - * {3, 0, 0}, {8, 3, 2}, {17, 0, 0}, {9, 8, 2}, {57, 0, 0}, // i = 26 {11, - * 0, 0}, {5, 3, 2}, {21, 0, 0}, {8, 7, 1}, {8, 5, 3}, // i = 27 {15, 0, 0}, - * {10, 4, 1}, {21, 0, 0}, {5, 3, 2}, {7, 4, 2}, // i = 28 {52, 0, 0}, {71, - * 0, 0}, {14, 0, 0}, {27, 0, 0}, {10, 9, 7}, // i = 29 {53, 0, 0}, {3, 0, - * 0}, {6, 3, 2}, {1, 0, 0}, {15, 0, 0}, // i = 30 {62, 0, 0}, {9, 0, 0}, - * {6, 5, 2}, {8, 6, 5}, {31, 0, 0}, // i = 31 {5, 3, 2}, {18, 0, 0 }, {27, - * 0, 0}, {7, 6, 3}, {10, 8, 7}, // i = 32 {9, 8, 3}, {37, 0, 0}, {6, 0, 0}, - * {15, 3, 2}, {34, 0, 0}, // i = 33 {11, 0, 0}, {6, 5, 2}, {1, 0, 0}, {8, - * 5, 2}, {13, 0, 0}, // i = 34 {6, 0, 0}, {11, 3, 2}, {8, 0, 0}, {31, 0, - * 0}, {4, 2, 1}, // i = 35 {3, 0, 0}, {7, 6, 1}, {81, 0, 0}, {56, 0, 0}, - * {9, 8, 7}, // i = 36 {24, 0, 0}, {11, 0, 0}, {7, 6, 5}, {6, 5, 2}, {6, 5, - * 2}, // i = 37 {8, 7, 6}, {9, 0, 0}, {7, 2, 1}, {15, 0, 0}, {87, 0, 0}, // - * i = 38 {8, 3, 2}, {3, 0, 0}, {9, 4, 2}, {9, 0, 0}, {34, 0, 0}, // i = 39 - * {5, 3, 2}, {14, 0, 0}, {55, 0, 0}, {8, 7, 1}, {27, 0, 0}, // i = 40 {9, - * 5, 2}, {10, 9, 5}, {43, 0, 0}, {8, 6, 2}, {6, 0, 0}, // i = 41 {7, 0, 0}, - * {11, 10, 8}, {105, 0, 0}, {6, 5, 2}, {73, 0, 0}}; // i = 42 - */ - // ///////////////////////////////////////////////////////////////////// - // member variables - // ///////////////////////////////////////////////////////////////////// - private static final int MAXLONG = 64; - - /** - * holds the length of the array-representation of degree mDegree. - */ - private int mLength; - - /** - * holds the number of relevant bits in mONBPol[mLength-1]. - */ - private int mBit; - - /** - * holds the type of mONB - */ - private int mType; - - /** - * holds the multiplication matrix - */ - int[][] mMult; - - // ///////////////////////////////////////////////////////////////////// - // constructors - // ///////////////////////////////////////////////////////////////////// - - /** - * constructs an instance of the finite field with 2deg - * elements and characteristic 2. - * - * @param deg - - * the extention degree of this field - * @throws NoSuchBasisException if an ONB-implementation other than type 1 or type 2 is - * requested. - */ - public GF2nONBField(int deg) - throws RuntimeException - { - if (deg < 3) - { - throw new IllegalArgumentException("k must be at least 3"); - } - - mDegree = deg; - mLength = mDegree / MAXLONG; - mBit = mDegree & (MAXLONG - 1); - if (mBit == 0) - { - mBit = MAXLONG; - } - else - { - mLength++; - } - - computeType(); - - // only ONB-implementations for type 1 and type 2 - // - if (mType < 3) - { - mMult = new int[mDegree][2]; - for (int i = 0; i < mDegree; i++) - { - mMult[i][0] = -1; - mMult[i][1] = -1; - } - computeMultMatrix(); - } - else - { - throw new RuntimeException("\nThe type of this field is " - + mType); - } - computeFieldPolynomial(); - fields = new Vector(); - matrices = new Vector(); - } - - // ///////////////////////////////////////////////////////////////////// - // access - // ///////////////////////////////////////////////////////////////////// - - int getONBLength() - { - return mLength; - } - - int getONBBit() - { - return mBit; - } - - // ///////////////////////////////////////////////////////////////////// - // arithmetic - // ///////////////////////////////////////////////////////////////////// - - /** - * Computes a random root of the given polynomial. - * - * @param polynomial a polynomial - * @return a random root of the polynomial - * @see "P1363 A.5.6, p103f" - */ - protected GF2nElement getRandomRoot(GF2Polynomial polynomial) - { - // We are in B1!!! - GF2nPolynomial c; - GF2nPolynomial ut; - GF2nElement u; - GF2nPolynomial h; - int hDegree; - // 1. Set g(t) <- f(t) - GF2nPolynomial g = new GF2nPolynomial(polynomial, this); - int gDegree = g.getDegree(); - int i; - - // 2. while deg(g) > 1 - while (gDegree > 1) - { - do - { - // 2.1 choose random u (element of) GF(2^m) - u = new GF2nONBElement(this, new Random()); - ut = new GF2nPolynomial(2, GF2nONBElement.ZERO(this)); - // 2.2 Set c(t) <- ut - ut.set(1, u); - c = new GF2nPolynomial(ut); - // 2.3 For i from 1 to m-1 do - for (i = 1; i <= mDegree - 1; i++) - { - // 2.3.1 c(t) <- (c(t)^2 + ut) mod g(t) - c = c.multiplyAndReduce(c, g); - c = c.add(ut); - } - // 2.4 set h(t) <- GCD(c(t), g(t)) - h = c.gcd(g); - // 2.5 if h(t) is constant or deg(g) = deg(h) then go to - // step 2.1 - hDegree = h.getDegree(); - gDegree = g.getDegree(); - } - while ((hDegree == 0) || (hDegree == gDegree)); - // 2.6 If 2deg(h) > deg(g) then set g(t) <- g(t)/h(t) ... - if ((hDegree << 1) > gDegree) - { - g = g.quotient(h); - } - else - { - // ... else g(t) <- h(t) - g = new GF2nPolynomial(h); - } - gDegree = g.getDegree(); - } - // 3. Output g(0) - return g.at(0); - - } - - /** - * Computes the change-of-basis matrix for basis conversion according to - * 1363. The result is stored in the lists fields and matrices. - * - * @param B1 the GF2nField to convert to - * @see "P1363 A.7.3, p111ff" - */ - protected void computeCOBMatrix(GF2nField B1) - { - // we are in B0 here! - if (mDegree != B1.mDegree) - { - throw new IllegalArgumentException( - "GF2nField.computeCOBMatrix: B1 has a " - + "different degree and thus cannot be coverted to!"); - } - int i, j; - GF2nElement[] gamma; - GF2nElement u; - GF2Polynomial[] COBMatrix = new GF2Polynomial[mDegree]; - for (i = 0; i < mDegree; i++) - { - COBMatrix[i] = new GF2Polynomial(mDegree); - } - - // find Random Root - do - { - // u is in representation according to B1 - u = B1.getRandomRoot(fieldPolynomial); - } - while (u.isZero()); - - gamma = new GF2nPolynomialElement[mDegree]; - // build gamma matrix by squaring - gamma[0] = (GF2nElement)u.clone(); - for (i = 1; i < mDegree; i++) - { - gamma[i] = gamma[i - 1].square(); - } - // convert horizontal gamma matrix by vertical Bitstrings - for (i = 0; i < mDegree; i++) - { - for (j = 0; j < mDegree; j++) - { - if (gamma[i].testBit(j)) - { - COBMatrix[mDegree - j - 1].setBit(mDegree - i - 1); - } - } - } - - fields.addElement(B1); - matrices.addElement(COBMatrix); - B1.fields.addElement(this); - B1.matrices.addElement(invertMatrix(COBMatrix)); - } - - /** - * Computes the field polynomial for a ONB according to IEEE 1363 A.7.2 - * (p110f). - * - * @see "P1363 A.7.2, p110f" - */ - protected void computeFieldPolynomial() - { - if (mType == 1) - { - fieldPolynomial = new GF2Polynomial(mDegree + 1, "ALL"); - } - else if (mType == 2) - { - // 1. q = 1 - GF2Polynomial q = new GF2Polynomial(mDegree + 1, "ONE"); - // 2. p = t+1 - GF2Polynomial p = new GF2Polynomial(mDegree + 1, "X"); - p.addToThis(q); - GF2Polynomial r; - int i; - // 3. for i = 1 to (m-1) do - for (i = 1; i < mDegree; i++) - { - // r <- q - r = q; - // q <- p - q = p; - // p = tq+r - p = q.shiftLeft(); - p.addToThis(r); - } - fieldPolynomial = p; - } - } - - /** - * Compute the inverse of a matrix a. - * - * @param a the matrix - * @return a-1 - */ - int[][] invMatrix(int[][] a) - { - - int[][] A = new int[mDegree][mDegree]; - A = a; - int[][] inv = new int[mDegree][mDegree]; - - for (int i = 0; i < mDegree; i++) - { - inv[i][i] = 1; - } - - for (int i = 0; i < mDegree; i++) - { - for (int j = i; j < mDegree; j++) - { - A[mDegree - 1 - i][j] = A[i][i]; - } - } - return null; - } - - private void computeType() - throws RuntimeException - { - if ((mDegree & 7) == 0) - { - throw new RuntimeException( - "The extension degree is divisible by 8!"); - } - // checking for the type - int s = 0; - int k = 0; - mType = 1; - for (int d = 0; d != 1; mType++) - { - s = mType * mDegree + 1; - if (IntegerFunctions.isPrime(s)) - { - k = IntegerFunctions.order(2, s); - d = IntegerFunctions.gcd(mType * mDegree / k, mDegree); - } - } - mType--; - if (mType == 1) - { - s = (mDegree << 1) + 1; - if (IntegerFunctions.isPrime(s)) - { - k = IntegerFunctions.order(2, s); - int d = IntegerFunctions.gcd((mDegree << 1) / k, mDegree); - if (d == 1) - { - mType++; - } - } - } - } - - private void computeMultMatrix() - { - - if ((mType & 7) != 0) - { - int p = mType * mDegree + 1; - - // compute sequence F[1] ... F[p-1] via A.3.7. of 1363. - // F[0] will not be filled! - // - int[] F = new int[p]; - - int u; - if (mType == 1) - { - u = 1; - } - else if (mType == 2) - { - u = p - 1; - } - else - { - u = elementOfOrder(mType, p); - } - - int w = 1; - int n; - for (int j = 0; j < mType; j++) - { - n = w; - - for (int i = 0; i < mDegree; i++) - { - F[n] = i; - n = (n << 1) % p; - if (n < 0) - { - n += p; - } - } - w = u * w % p; - if (w < 0) - { - w += p; - } - } - - // building the matrix (mDegree * 2) - // - if (mType == 1) - { - for (int k = 1; k < p - 1; k++) - { - if (mMult[F[k + 1]][0] == -1) - { - mMult[F[k + 1]][0] = F[p - k]; - } - else - { - mMult[F[k + 1]][1] = F[p - k]; - } - } - - int m_2 = mDegree >> 1; - for (int k = 1; k <= m_2; k++) - { - - if (mMult[k - 1][0] == -1) - { - mMult[k - 1][0] = m_2 + k - 1; - } - else - { - mMult[k - 1][1] = m_2 + k - 1; - } - - if (mMult[m_2 + k - 1][0] == -1) - { - mMult[m_2 + k - 1][0] = k - 1; - } - else - { - mMult[m_2 + k - 1][1] = k - 1; - } - } - } - else if (mType == 2) - { - for (int k = 1; k < p - 1; k++) - { - if (mMult[F[k + 1]][0] == -1) - { - mMult[F[k + 1]][0] = F[p - k]; - } - else - { - mMult[F[k + 1]][1] = F[p - k]; - } - } - } - else - { - throw new RuntimeException("only type 1 or type 2 implemented"); - } - } - else - { - throw new RuntimeException("bisher nur fuer Gausssche Normalbasen" - + " implementiert"); - } - } - - private int elementOfOrder(int k, int p) - { - Random random = new Random(); - int m = 0; - while (m == 0) - { - m = random.nextInt(); - m %= p - 1; - if (m < 0) - { - m += p - 1; - } - } - - int l = IntegerFunctions.order(m, p); - - while (l % k != 0 || l == 0) - { - while (m == 0) - { - m = random.nextInt(); - m %= p - 1; - if (m < 0) - { - m += p - 1; - } - } - l = IntegerFunctions.order(m, p); - } - int r = m; - - l = k / l; - - for (int i = 2; i <= l; i++) - { - r *= m; - } - - return r; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomial.java deleted file mode 100644 index 97ee022c7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomial.java +++ /dev/null @@ -1,587 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -/** - * This class implements polynomials over GF2nElements. - * - * @see GF2nElement - */ - -public class GF2nPolynomial -{ - - private GF2nElement[] coeff; // keeps the coefficients of this polynomial - - private int size; // the size of this polynomial - - /** - * Creates a new PolynomialGF2n of size deg and elem as - * coefficients. - * - * @param deg - - * the maximum degree + 1 - * @param elem - - * a GF2nElement - */ - public GF2nPolynomial(int deg, GF2nElement elem) - { - size = deg; - coeff = new GF2nElement[size]; - for (int i = 0; i < size; i++) - { - coeff[i] = (GF2nElement)elem.clone(); - } - } - - /** - * Creates a new PolynomialGF2n of size deg. - * - * @param deg the maximum degree + 1 - */ - private GF2nPolynomial(int deg) - { - size = deg; - coeff = new GF2nElement[size]; - } - - /** - * Creates a new PolynomialGF2n by cloning the given PolynomialGF2n a. - * - * @param a the PolynomialGF2n to clone - */ - public GF2nPolynomial(GF2nPolynomial a) - { - int i; - coeff = new GF2nElement[a.size]; - size = a.size; - for (i = 0; i < size; i++) - { - coeff[i] = (GF2nElement)a.coeff[i].clone(); - } - } - - /** - * Creates a new PolynomialGF2n from the given Bitstring polynomial - * over the GF2nField B1. - * - * @param polynomial the Bitstring to use - * @param B1 the field - */ - public GF2nPolynomial(GF2Polynomial polynomial, GF2nField B1) - { - size = B1.getDegree() + 1; - coeff = new GF2nElement[size]; - int i; - if (B1 instanceof GF2nONBField) - { - for (i = 0; i < size; i++) - { - if (polynomial.testBit(i)) - { - coeff[i] = GF2nONBElement.ONE((GF2nONBField)B1); - } - else - { - coeff[i] = GF2nONBElement.ZERO((GF2nONBField)B1); - } - } - } - else if (B1 instanceof GF2nPolynomialField) - { - for (i = 0; i < size; i++) - { - if (polynomial.testBit(i)) - { - coeff[i] = GF2nPolynomialElement - .ONE((GF2nPolynomialField)B1); - } - else - { - coeff[i] = GF2nPolynomialElement - .ZERO((GF2nPolynomialField)B1); - } - } - } - else - { - throw new IllegalArgumentException( - "PolynomialGF2n(Bitstring, GF2nField): B1 must be " - + "an instance of GF2nONBField or GF2nPolynomialField!"); - } - } - - public final void assignZeroToElements() - { - int i; - for (i = 0; i < size; i++) - { - coeff[i].assignZero(); - } - } - - /** - * Returns the size (=maximum degree + 1) of this PolynomialGF2n. This is - * not the degree, use getDegree instead. - * - * @return the size (=maximum degree + 1) of this PolynomialGF2n. - */ - public final int size() - { - return size; - } - - /** - * Returns the degree of this PolynomialGF2n. - * - * @return the degree of this PolynomialGF2n. - */ - public final int getDegree() - { - int i; - for (i = size - 1; i >= 0; i--) - { - if (!coeff[i].isZero()) - { - return i; - } - } - return -1; - } - - /** - * Enlarges the size of this PolynomialGF2n to k + 1. - * - * @param k the new maximum degree - */ - public final void enlarge(int k) - { - if (k <= size) - { - return; - } - int i; - GF2nElement[] res = new GF2nElement[k]; - System.arraycopy(coeff, 0, res, 0, size); - GF2nField f = coeff[0].getField(); - if (coeff[0] instanceof GF2nPolynomialElement) - { - for (i = size; i < k; i++) - { - res[i] = GF2nPolynomialElement.ZERO((GF2nPolynomialField)f); - } - } - else if (coeff[0] instanceof GF2nONBElement) - { - for (i = size; i < k; i++) - { - res[i] = GF2nONBElement.ZERO((GF2nONBField)f); - } - } - size = k; - coeff = res; - } - - public final void shrink() - { - int i = size - 1; - while (coeff[i].isZero() && (i > 0)) - { - i--; - } - i++; - if (i < size) - { - GF2nElement[] res = new GF2nElement[i]; - System.arraycopy(coeff, 0, res, 0, i); - coeff = res; - size = i; - } - } - - /** - * Sets the coefficient at index to elem. - * - * @param index the index - * @param elem the GF2nElement to store as coefficient index - */ - public final void set(int index, GF2nElement elem) - { - if (!(elem instanceof GF2nPolynomialElement) - && !(elem instanceof GF2nONBElement)) - { - throw new IllegalArgumentException( - "PolynomialGF2n.set f must be an " - + "instance of either GF2nPolynomialElement or GF2nONBElement!"); - } - coeff[index] = (GF2nElement)elem.clone(); - } - - /** - * Returns the coefficient at index. - * - * @param index the index - * @return the GF2nElement stored as coefficient index - */ - public final GF2nElement at(int index) - { - return coeff[index]; - } - - /** - * Returns true if all coefficients equal zero. - * - * @return true if all coefficients equal zero. - */ - public final boolean isZero() - { - int i; - for (i = 0; i < size; i++) - { - if (coeff[i] != null) - { - if (!coeff[i].isZero()) - { - return false; - } - } - } - return true; - } - - public final boolean equals(Object other) - { - if (other == null || !(other instanceof GF2nPolynomial)) - { - return false; - } - - GF2nPolynomial otherPol = (GF2nPolynomial)other; - - if (getDegree() != otherPol.getDegree()) - { - return false; - } - int i; - for (i = 0; i < size; i++) - { - if (!coeff[i].equals(otherPol.coeff[i])) - { - return false; - } - } - return true; - } - - /** - * @return the hash code of this polynomial - */ - public int hashCode() - { - return getDegree() + coeff.hashCode(); - } - - /** - * Adds the PolynomialGF2n b to this and returns the - * result in a new PolynomialGF2n. - * - * @param b - - * the PolynomialGF2n to add - * @return this + b - * @throws DifferentFieldsException if this and b are not defined over - * the same field. - */ - public final GF2nPolynomial add(GF2nPolynomial b) - throws RuntimeException - { - GF2nPolynomial result; - if (size() >= b.size()) - { - result = new GF2nPolynomial(size()); - int i; - for (i = 0; i < b.size(); i++) - { - result.coeff[i] = (GF2nElement)coeff[i].add(b.coeff[i]); - } - for (; i < size(); i++) - { - result.coeff[i] = coeff[i]; - } - } - else - { - result = new GF2nPolynomial(b.size()); - int i; - for (i = 0; i < size(); i++) - { - result.coeff[i] = (GF2nElement)coeff[i].add(b.coeff[i]); - } - for (; i < b.size(); i++) - { - result.coeff[i] = b.coeff[i]; - } - } - return result; - } - - /** - * Multiplies the scalar s to each coefficient of this - * PolynomialGF2n and returns the result in a new PolynomialGF2n. - * - * @param s the scalar to multiply - * @return this x s - * @throws DifferentFieldsException if this and s are not defined over - * the same field. - */ - public final GF2nPolynomial scalarMultiply(GF2nElement s) - throws RuntimeException - { - GF2nPolynomial result = new GF2nPolynomial(size()); - int i; - for (i = 0; i < size(); i++) - { - result.coeff[i] = (GF2nElement)coeff[i].multiply(s); // result[i] - // = - // a[i]*s - } - return result; - } - - /** - * Multiplies this by b and returns the result in a new - * PolynomialGF2n. - * - * @param b the PolynomialGF2n to multiply - * @return this * b - * @throws DifferentFieldsException if this and b are not defined over - * the same field. - */ - public final GF2nPolynomial multiply(GF2nPolynomial b) - throws RuntimeException - { - int i, j; - int aDegree = size(); - int bDegree = b.size(); - if (aDegree != bDegree) - { - throw new IllegalArgumentException( - "PolynomialGF2n.multiply: this and b must " - + "have the same size!"); - } - GF2nPolynomial result = new GF2nPolynomial((aDegree << 1) - 1); - for (i = 0; i < size(); i++) - { - for (j = 0; j < b.size(); j++) - { - if (result.coeff[i + j] == null) - { - result.coeff[i + j] = (GF2nElement)coeff[i] - .multiply(b.coeff[j]); - } - else - { - result.coeff[i + j] = (GF2nElement)result.coeff[i + j] - .add(coeff[i].multiply(b.coeff[j])); - } - } - } - return result; - } - - /** - * Multiplies this by b, reduces the result by g and - * returns it in a new PolynomialGF2n. - * - * @param b the PolynomialGF2n to multiply - * @param g the modul - * @return this * b mod g - * @throws DifferentFieldsException if this, b and g are - * not all defined over the same field. - */ - public final GF2nPolynomial multiplyAndReduce(GF2nPolynomial b, - GF2nPolynomial g) - throws RuntimeException, - ArithmeticException - { - return multiply(b).reduce(g); - } - - /** - * Reduces this by g and returns the result in a new - * PolynomialGF2n. - * - * @param g - - * the modulus - * @return this % g - * @throws DifferentFieldsException if this and g are not defined over - * the same field. - */ - public final GF2nPolynomial reduce(GF2nPolynomial g) - throws RuntimeException, ArithmeticException - { - return remainder(g); // return this % g - } - - /** - * Shifts left this by amount and stores the result in - * this PolynomialGF2n. - * - * @param amount the amount to shift the coefficients - */ - public final void shiftThisLeft(int amount) - { - if (amount > 0) - { - int i; - int oldSize = size; - GF2nField f = coeff[0].getField(); - enlarge(size + amount); - for (i = oldSize - 1; i >= 0; i--) - { - coeff[i + amount] = coeff[i]; - } - if (coeff[0] instanceof GF2nPolynomialElement) - { - for (i = amount - 1; i >= 0; i--) - { - coeff[i] = GF2nPolynomialElement - .ZERO((GF2nPolynomialField)f); - } - } - else if (coeff[0] instanceof GF2nONBElement) - { - for (i = amount - 1; i >= 0; i--) - { - coeff[i] = GF2nONBElement.ZERO((GF2nONBField)f); - } - } - } - } - - public final GF2nPolynomial shiftLeft(int amount) - { - if (amount <= 0) - { - return new GF2nPolynomial(this); - } - GF2nPolynomial result = new GF2nPolynomial(size + amount, coeff[0]); - result.assignZeroToElements(); - for (int i = 0; i < size; i++) - { - result.coeff[i + amount] = coeff[i]; - } - return result; - } - - /** - * Divides this by b and stores the result in a new - * PolynomialGF2n[2], quotient in result[0] and remainder in result[1]. - * - * @param b the divisor - * @return the quotient and remainder of this / b - * @throws DifferentFieldsException if this and b are not defined over - * the same field. - */ - public final GF2nPolynomial[] divide(GF2nPolynomial b) - throws RuntimeException, ArithmeticException - { - GF2nPolynomial[] result = new GF2nPolynomial[2]; - GF2nPolynomial a = new GF2nPolynomial(this); - a.shrink(); - GF2nPolynomial shift; - GF2nElement factor; - int bDegree = b.getDegree(); - GF2nElement inv = (GF2nElement)b.coeff[bDegree].invert(); - if (a.getDegree() < bDegree) - { - result[0] = new GF2nPolynomial(this); - result[0].assignZeroToElements(); - result[0].shrink(); - result[1] = new GF2nPolynomial(this); - result[1].shrink(); - return result; - } - result[0] = new GF2nPolynomial(this); - result[0].assignZeroToElements(); - int i = a.getDegree() - bDegree; - while (i >= 0) - { - factor = (GF2nElement)a.coeff[a.getDegree()].multiply(inv); - shift = b.scalarMultiply(factor); - shift.shiftThisLeft(i); - a = a.add(shift); - a.shrink(); - result[0].coeff[i] = (GF2nElement)factor.clone(); - i = a.getDegree() - bDegree; - } - result[1] = a; - result[0].shrink(); - return result; - } - - /** - * Divides this by b and stores the remainder in a new - * PolynomialGF2n. - * - * @param b the divisor - * @return the remainder this % b - * @throws DifferentFieldsException if this and b are not defined over - * the same field. - */ - public final GF2nPolynomial remainder(GF2nPolynomial b) - throws RuntimeException, ArithmeticException - { - GF2nPolynomial[] result = new GF2nPolynomial[2]; - result = divide(b); - return result[1]; - } - - /** - * Divides this by b and stores the quotient in a new - * PolynomialGF2n. - * - * @param b the divisor - * @return the quotient this / b - * @throws DifferentFieldsException if this and b are not defined over - * the same field. - */ - public final GF2nPolynomial quotient(GF2nPolynomial b) - throws RuntimeException, ArithmeticException - { - GF2nPolynomial[] result = new GF2nPolynomial[2]; - result = divide(b); - return result[0]; - } - - /** - * Computes the greatest common divisor of this and g and - * returns the result in a new PolynomialGF2n. - * - * @param g - - * a GF2nPolynomial - * @return gcd(this, g) - * @throws DifferentFieldsException if the coefficients of this and g use - * different fields - * @throws ArithmeticException if coefficients are zero. - */ - public final GF2nPolynomial gcd(GF2nPolynomial g) - throws RuntimeException, ArithmeticException - { - GF2nPolynomial a = new GF2nPolynomial(this); - GF2nPolynomial b = new GF2nPolynomial(g); - a.shrink(); - b.shrink(); - GF2nPolynomial c; - GF2nPolynomial result; - GF2nElement alpha; - while (!b.isZero()) - { - c = a.remainder(b); - a = b; - b = c; - } - alpha = a.coeff[a.getDegree()]; - result = a.scalarMultiply((GF2nElement)alpha.invert()); - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialElement.java deleted file mode 100644 index 50e9d7511..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialElement.java +++ /dev/null @@ -1,1021 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.math.BigInteger; -import java.util.Random; - - -/** - * This class implements elements of finite binary fields GF(2n) - * using polynomial representation. For more information on the arithmetic see - * for example IEEE Standard 1363 or Certicom online-tutorial. - * - * @see "GF2nField" - * @see GF2nPolynomialField - * @see GF2nONBElement - * @see GF2Polynomial - */ -public class GF2nPolynomialElement - extends GF2nElement -{ - - // pre-computed Bitmask for fast masking, bitMask[a]=0x1 << a - private static final int[] bitMask = {0x00000001, 0x00000002, 0x00000004, - 0x00000008, 0x00000010, 0x00000020, 0x00000040, 0x00000080, - 0x00000100, 0x00000200, 0x00000400, 0x00000800, 0x00001000, - 0x00002000, 0x00004000, 0x00008000, 0x00010000, 0x00020000, - 0x00040000, 0x00080000, 0x00100000, 0x00200000, 0x00400000, - 0x00800000, 0x01000000, 0x02000000, 0x04000000, 0x08000000, - 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x00000000}; - - // the used GF2Polynomial which stores the coefficients - private GF2Polynomial polynomial; - - /** - * Create a new random GF2nPolynomialElement using the given field and - * source of randomness. - * - * @param f the GF2nField to use - * @param rand the source of randomness - */ - public GF2nPolynomialElement(GF2nPolynomialField f, Random rand) - { - mField = f; - mDegree = mField.getDegree(); - polynomial = new GF2Polynomial(mDegree); - randomize(rand); - } - - /** - * Creates a new GF2nPolynomialElement using the given field and Bitstring. - * - * @param f the GF2nPolynomialField to use - * @param bs the desired value as Bitstring - */ - public GF2nPolynomialElement(GF2nPolynomialField f, GF2Polynomial bs) - { - mField = f; - mDegree = mField.getDegree(); - polynomial = new GF2Polynomial(bs); - polynomial.expandN(mDegree); - } - - /** - * Creates a new GF2nPolynomialElement using the given field f and - * byte[] os as value. The conversion is done according to 1363. - * - * @param f the GF2nField to use - * @param os the octet string to assign to this GF2nPolynomialElement - * @see "P1363 5.5.5 p23, OS2FEP/OS2BSP" - */ - public GF2nPolynomialElement(GF2nPolynomialField f, byte[] os) - { - mField = f; - mDegree = mField.getDegree(); - polynomial = new GF2Polynomial(mDegree, os); - polynomial.expandN(mDegree); - } - - /** - * Creates a new GF2nPolynomialElement using the given field f and - * int[] is as value. - * - * @param f the GF2nField to use - * @param is the integer string to assign to this GF2nPolynomialElement - */ - public GF2nPolynomialElement(GF2nPolynomialField f, int[] is) - { - mField = f; - mDegree = mField.getDegree(); - polynomial = new GF2Polynomial(mDegree, is); - polynomial.expandN(f.mDegree); - } - - /** - * Creates a new GF2nPolynomialElement by cloning the given - * GF2nPolynomialElement b. - * - * @param other the GF2nPolynomialElement to clone - */ - public GF2nPolynomialElement(GF2nPolynomialElement other) - { - mField = other.mField; - mDegree = other.mDegree; - polynomial = new GF2Polynomial(other.polynomial); - } - - // ///////////////////////////////////////////////////////////////////// - // pseudo-constructors - // ///////////////////////////////////////////////////////////////////// - - /** - * Creates a new GF2nPolynomialElement by cloning this - * GF2nPolynomialElement. - * - * @return a copy of this element - */ - public Object clone() - { - return new GF2nPolynomialElement(this); - } - - // ///////////////////////////////////////////////////////////////////// - // assignments - // ///////////////////////////////////////////////////////////////////// - - /** - * Assigns the value 'zero' to this Polynomial. - */ - void assignZero() - { - polynomial.assignZero(); - } - - /** - * Create the zero element. - * - * @param f the finite field - * @return the zero element in the given finite field - */ - public static GF2nPolynomialElement ZERO(GF2nPolynomialField f) - { - GF2Polynomial polynomial = new GF2Polynomial(f.getDegree()); - return new GF2nPolynomialElement(f, polynomial); - } - - /** - * Create the one element. - * - * @param f the finite field - * @return the one element in the given finite field - */ - public static GF2nPolynomialElement ONE(GF2nPolynomialField f) - { - GF2Polynomial polynomial = new GF2Polynomial(f.getDegree(), - new int[]{1}); - return new GF2nPolynomialElement(f, polynomial); - } - - /** - * Assigns the value 'one' to this Polynomial. - */ - void assignOne() - { - polynomial.assignOne(); - } - - /** - * Assign a random value to this GF2nPolynomialElement using the specified - * source of randomness. - * - * @param rand the source of randomness - */ - private void randomize(Random rand) - { - polynomial.expandN(mDegree); - polynomial.randomize(rand); - } - - // ///////////////////////////////////////////////////////////////////// - // comparison - // ///////////////////////////////////////////////////////////////////// - - /** - * Checks whether this element is zero. - * - * @return true if this is the zero element - */ - public boolean isZero() - { - return polynomial.isZero(); - } - - /** - * Tests if the GF2nPolynomialElement has 'one' as value. - * - * @return true if this equals one (this == 1) - */ - public boolean isOne() - { - return polynomial.isOne(); - } - - /** - * Compare this element with another object. - * - * @param other the other object - * @return true if the two objects are equal, false - * otherwise - */ - public boolean equals(Object other) - { - if (other == null || !(other instanceof GF2nPolynomialElement)) - { - return false; - } - GF2nPolynomialElement otherElem = (GF2nPolynomialElement)other; - - if (mField != otherElem.mField) - { - if (!mField.getFieldPolynomial().equals( - otherElem.mField.getFieldPolynomial())) - { - return false; - } - } - - return polynomial.equals(otherElem.polynomial); - } - - /** - * @return the hash code of this element - */ - public int hashCode() - { - return mField.hashCode() + polynomial.hashCode(); - } - - // ///////////////////////////////////////////////////////////////////// - // access - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns the value of this GF2nPolynomialElement in a new Bitstring. - * - * @return the value of this GF2nPolynomialElement in a new Bitstring - */ - private GF2Polynomial getGF2Polynomial() - { - return new GF2Polynomial(polynomial); - } - - /** - * Checks whether the indexed bit of the bit representation is set. - * - * @param index the index of the bit to test - * @return true if the indexed bit is set - */ - boolean testBit(int index) - { - return polynomial.testBit(index); - } - - /** - * Returns whether the rightmost bit of the bit representation is set. This - * is needed for data conversion according to 1363. - * - * @return true if the rightmost bit of this element is set - */ - public boolean testRightmostBit() - { - return polynomial.testBit(0); - } - - /** - * Compute the sum of this element and addend. - * - * @param addend the addend - * @return this + other (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - public GFElement add(GFElement addend) - throws RuntimeException - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.addToThis(addend); - return result; - } - - /** - * Compute this + addend (overwrite this). - * - * @param addend the addend - * @throws DifferentFieldsException if the elements are of different fields. - */ - public void addToThis(GFElement addend) - throws RuntimeException - { - if (!(addend instanceof GF2nPolynomialElement)) - { - throw new RuntimeException(); - } - if (!mField.equals(((GF2nPolynomialElement)addend).mField)) - { - throw new RuntimeException(); - } - polynomial.addToThis(((GF2nPolynomialElement)addend).polynomial); - } - - /** - * Returns this element + 'one". - * - * @return this + 'one' - */ - public GF2nElement increase() - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.increaseThis(); - return result; - } - - /** - * Increases this element by 'one'. - */ - public void increaseThis() - { - polynomial.increaseThis(); - } - - /** - * Compute the product of this element and factor. - * - * @param factor the factor - * @return this * factor (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - public GFElement multiply(GFElement factor) - throws RuntimeException - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.multiplyThisBy(factor); - return result; - } - - /** - * Compute this * factor (overwrite this). - * - * @param factor the factor - * @throws DifferentFieldsException if the elements are of different fields. - */ - public void multiplyThisBy(GFElement factor) - throws RuntimeException - { - if (!(factor instanceof GF2nPolynomialElement)) - { - throw new RuntimeException(); - } - if (!mField.equals(((GF2nPolynomialElement)factor).mField)) - { - throw new RuntimeException(); - } - if (equals(factor)) - { - squareThis(); - return; - } - polynomial = polynomial - .multiply(((GF2nPolynomialElement)factor).polynomial); - reduceThis(); - } - - /** - * Compute the multiplicative inverse of this element. - * - * @return this-1 (newly created) - * @throws ArithmeticException if this is the zero element. - * @see GF2nPolynomialElement#invertMAIA - * @see GF2nPolynomialElement#invertEEA - * @see GF2nPolynomialElement#invertSquare - */ - public GFElement invert() - throws ArithmeticException - { - return invertMAIA(); - } - - /** - * Calculates the multiplicative inverse of this and returns the - * result in a new GF2nPolynomialElement. - * - * @return this^(-1) - * @throws ArithmeticException if this equals zero - */ - public GF2nPolynomialElement invertEEA() - throws ArithmeticException - { - if (isZero()) - { - throw new ArithmeticException(); - } - GF2Polynomial b = new GF2Polynomial(mDegree + 32, "ONE"); - b.reduceN(); - GF2Polynomial c = new GF2Polynomial(mDegree + 32); - c.reduceN(); - GF2Polynomial u = getGF2Polynomial(); - GF2Polynomial v = mField.getFieldPolynomial(); - GF2Polynomial h; - int j; - u.reduceN(); - while (!u.isOne()) - { - u.reduceN(); - v.reduceN(); - j = u.getLength() - v.getLength(); - if (j < 0) - { - h = u; - u = v; - v = h; - h = b; - b = c; - c = h; - j = -j; - c.reduceN(); // this increases the performance - } - u.shiftLeftAddThis(v, j); - b.shiftLeftAddThis(c, j); - } - b.reduceN(); - return new GF2nPolynomialElement((GF2nPolynomialField)mField, b); - } - - /** - * Calculates the multiplicative inverse of this and returns the - * result in a new GF2nPolynomialElement. - * - * @return this^(-1) - * @throws ArithmeticException if this equals zero - */ - public GF2nPolynomialElement invertSquare() - throws ArithmeticException - { - GF2nPolynomialElement n; - GF2nPolynomialElement u; - int i, j, k, b; - - if (isZero()) - { - throw new ArithmeticException(); - } - // b = (n-1) - b = mField.getDegree() - 1; - // n = a - n = new GF2nPolynomialElement(this); - n.polynomial.expandN((mDegree << 1) + 32); // increase performance - n.polynomial.reduceN(); - // k = 1 - k = 1; - - // for i = (r-1) downto 0 do, r=bitlength(b) - for (i = IntegerFunctions.floorLog(b) - 1; i >= 0; i--) - { - // u = n - u = new GF2nPolynomialElement(n); - // for j = 1 to k do - for (j = 1; j <= k; j++) - { - // u = u^2 - u.squareThisPreCalc(); - } - // n = nu - n.multiplyThisBy(u); - // k = 2k - k <<= 1; - // if b(i)==1 - if ((b & bitMask[i]) != 0) - { - // n = n^2 * b - n.squareThisPreCalc(); - n.multiplyThisBy(this); - // k = k+1 - k += 1; - } - } - - // outpur n^2 - n.squareThisPreCalc(); - return n; - } - - /** - * Calculates the multiplicative inverse of this using the modified - * almost inverse algorithm and returns the result in a new - * GF2nPolynomialElement. - * - * @return this^(-1) - * @throws ArithmeticException if this equals zero - */ - public GF2nPolynomialElement invertMAIA() - throws ArithmeticException - { - if (isZero()) - { - throw new ArithmeticException(); - } - GF2Polynomial b = new GF2Polynomial(mDegree, "ONE"); - GF2Polynomial c = new GF2Polynomial(mDegree); - GF2Polynomial u = getGF2Polynomial(); - GF2Polynomial v = mField.getFieldPolynomial(); - GF2Polynomial h; - while (true) - { - while (!u.testBit(0)) - { // x|u (x divides u) - u.shiftRightThis(); // u = u / x - if (!b.testBit(0)) - { - b.shiftRightThis(); - } - else - { - b.addToThis(mField.getFieldPolynomial()); - b.shiftRightThis(); - } - } - if (u.isOne()) - { - return new GF2nPolynomialElement((GF2nPolynomialField)mField, - b); - } - u.reduceN(); - v.reduceN(); - if (u.getLength() < v.getLength()) - { - h = u; - u = v; - v = h; - h = b; - b = c; - c = h; - } - u.addToThis(v); - b.addToThis(c); - } - } - - /** - * This method is used internally to map the square()-calls within - * GF2nPolynomialElement to one of the possible squaring methods. - * - * @return this2 (newly created) - * @see GF2nPolynomialElement#squarePreCalc - */ - public GF2nElement square() - { - return squarePreCalc(); - } - - /** - * This method is used internally to map the square()-calls within - * GF2nPolynomialElement to one of the possible squaring methods. - */ - public void squareThis() - { - squareThisPreCalc(); - } - - /** - * Squares this GF2nPolynomialElement using GF2nField's squaring matrix. - * This is supposed to be fast when using a polynomial (no tri- or - * pentanomial) as fieldpolynomial. Use squarePreCalc when using a tri- or - * pentanomial as fieldpolynomial instead. - * - * @return this2 (newly created) - * @see GF2Polynomial#vectorMult - * @see GF2nPolynomialElement#squarePreCalc - * @see GF2nPolynomialElement#squareBitwise - */ - public GF2nPolynomialElement squareMatrix() - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.squareThisMatrix(); - result.reduceThis(); - return result; - } - - /** - * Squares this GF2nPolynomialElement using GF2nFields squaring matrix. This - * is supposed to be fast when using a polynomial (no tri- or pentanomial) - * as fieldpolynomial. Use squarePreCalc when using a tri- or pentanomial as - * fieldpolynomial instead. - * - * @see GF2Polynomial#vectorMult - * @see GF2nPolynomialElement#squarePreCalc - * @see GF2nPolynomialElement#squareBitwise - */ - public void squareThisMatrix() - { - GF2Polynomial result = new GF2Polynomial(mDegree); - for (int i = 0; i < mDegree; i++) - { - if (polynomial - .vectorMult(((GF2nPolynomialField)mField).squaringMatrix[mDegree - - i - 1])) - { - result.setBit(i); - - } - } - polynomial = result; - } - - /** - * Squares this GF2nPolynomialElement by shifting left its Bitstring and - * reducing. This is supposed to be the slowest method. Use squarePreCalc or - * squareMatrix instead. - * - * @return this2 (newly created) - * @see GF2nPolynomialElement#squareMatrix - * @see GF2nPolynomialElement#squarePreCalc - * @see GF2Polynomial#squareThisBitwise - */ - public GF2nPolynomialElement squareBitwise() - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.squareThisBitwise(); - result.reduceThis(); - return result; - } - - /** - * Squares this GF2nPolynomialElement by shifting left its Bitstring and - * reducing. This is supposed to be the slowest method. Use squarePreCalc or - * squareMatrix instead. - * - * @see GF2nPolynomialElement#squareMatrix - * @see GF2nPolynomialElement#squarePreCalc - * @see GF2Polynomial#squareThisBitwise - */ - public void squareThisBitwise() - { - polynomial.squareThisBitwise(); - reduceThis(); - } - - /** - * Squares this GF2nPolynomialElement by using precalculated values and - * reducing. This is supposed to de fastest when using a trinomial or - * pentanomial as field polynomial. Use squareMatrix when using a ordinary - * polynomial as field polynomial. - * - * @return this2 (newly created) - * @see GF2nPolynomialElement#squareMatrix - * @see GF2Polynomial#squareThisPreCalc - */ - public GF2nPolynomialElement squarePreCalc() - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.squareThisPreCalc(); - result.reduceThis(); - return result; - } - - /** - * Squares this GF2nPolynomialElement by using precalculated values and - * reducing. This is supposed to de fastest when using a tri- or pentanomial - * as fieldpolynomial. Use squareMatrix when using a ordinary polynomial as - * fieldpolynomial. - * - * @see GF2nPolynomialElement#squareMatrix - * @see GF2Polynomial#squareThisPreCalc - */ - public void squareThisPreCalc() - { - polynomial.squareThisPreCalc(); - reduceThis(); - } - - /** - * Calculates this to the power of k and returns the result - * in a new GF2nPolynomialElement. - * - * @param k the power - * @return this^k in a new GF2nPolynomialElement - */ - public GF2nPolynomialElement power(int k) - { - if (k == 1) - { - return new GF2nPolynomialElement(this); - } - - GF2nPolynomialElement result = GF2nPolynomialElement - .ONE((GF2nPolynomialField)mField); - if (k == 0) - { - return result; - } - - GF2nPolynomialElement x = new GF2nPolynomialElement(this); - x.polynomial.expandN((x.mDegree << 1) + 32); // increase performance - x.polynomial.reduceN(); - - for (int i = 0; i < mDegree; i++) - { - if ((k & (1 << i)) != 0) - { - result.multiplyThisBy(x); - } - x.square(); - } - - return result; - } - - /** - * Compute the square root of this element and return the result in a new - * {@link GF2nPolynomialElement}. - * - * @return this1/2 (newly created) - */ - public GF2nElement squareRoot() - { - GF2nPolynomialElement result = new GF2nPolynomialElement(this); - result.squareRootThis(); - return result; - } - - /** - * Compute the square root of this element. - */ - public void squareRootThis() - { - // increase performance - polynomial.expandN((mDegree << 1) + 32); - polynomial.reduceN(); - for (int i = 0; i < mField.getDegree() - 1; i++) - { - squareThis(); - } - } - - /** - * Solves the quadratic equation z2 + z = this if - * such a solution exists. This method returns one of the two possible - * solutions. The other solution is z + 1. Use z.increase() to - * compute this solution. - * - * @return a GF2nPolynomialElement representing one z satisfying the - * equation z2 + z = this - * @throws NoSolutionException if no solution exists - * @see "IEEE 1363, Annex A.4.7" - */ - public GF2nElement solveQuadraticEquation() - throws RuntimeException - { - if (isZero()) - { - return ZERO((GF2nPolynomialField)mField); - } - - if ((mDegree & 1) == 1) - { - return halfTrace(); - } - - // TODO this can be sped-up by precomputation of p and w's - GF2nPolynomialElement z, w; - do - { - // step 1. - GF2nPolynomialElement p = new GF2nPolynomialElement( - (GF2nPolynomialField)mField, new Random()); - // step 2. - z = ZERO((GF2nPolynomialField)mField); - w = (GF2nPolynomialElement)p.clone(); - // step 3. - for (int i = 1; i < mDegree; i++) - { - // compute z = z^2 + w^2 * this - // and w = w^2 + p - z.squareThis(); - w.squareThis(); - z.addToThis(w.multiply(this)); - w.addToThis(p); - } - } - while (w.isZero()); // step 4. - - if (!equals(z.square().add(z))) - { - throw new RuntimeException(); - } - - // step 5. - return z; - } - - /** - * Returns the trace of this GF2nPolynomialElement. - * - * @return the trace of this GF2nPolynomialElement - */ - public int trace() - { - GF2nPolynomialElement t = new GF2nPolynomialElement(this); - int i; - - for (i = 1; i < mDegree; i++) - { - t.squareThis(); - t.addToThis(this); - } - - if (t.isOne()) - { - return 1; - } - return 0; - } - - /** - * Returns the half-trace of this GF2nPolynomialElement. - * - * @return a GF2nPolynomialElement representing the half-trace of this - * GF2nPolynomialElement. - * @throws DegreeIsEvenException if the degree of this GF2nPolynomialElement is even. - */ - private GF2nPolynomialElement halfTrace() - throws RuntimeException - { - if ((mDegree & 0x01) == 0) - { - throw new RuntimeException(); - } - int i; - GF2nPolynomialElement h = new GF2nPolynomialElement(this); - - for (i = 1; i <= ((mDegree - 1) >> 1); i++) - { - h.squareThis(); - h.squareThis(); - h.addToThis(this); - } - - return h; - } - - /** - * Reduces this GF2nPolynomialElement modulo the field-polynomial. - * - * @see GF2Polynomial#reduceTrinomial - * @see GF2Polynomial#reducePentanomial - */ - private void reduceThis() - { - if (polynomial.getLength() > mDegree) - { // really reduce ? - if (((GF2nPolynomialField)mField).isTrinomial()) - { // fieldpolonomial - // is trinomial - int tc; - try - { - tc = ((GF2nPolynomialField)mField).getTc(); - } - catch (RuntimeException NATExc) - { - throw new RuntimeException( - "GF2nPolynomialElement.reduce: the field" - + " polynomial is not a trinomial"); - } - if (((mDegree - tc) <= 32) // do we have to use slow - // bitwise reduction ? - || (polynomial.getLength() > (mDegree << 1))) - { - reduceTrinomialBitwise(tc); - return; - } - polynomial.reduceTrinomial(mDegree, tc); - return; - } - else if (((GF2nPolynomialField)mField).isPentanomial()) - { // fieldpolynomial - // is - // pentanomial - int[] pc; - try - { - pc = ((GF2nPolynomialField)mField).getPc(); - } - catch (RuntimeException NATExc) - { - throw new RuntimeException( - "GF2nPolynomialElement.reduce: the field" - + " polynomial is not a pentanomial"); - } - if (((mDegree - pc[2]) <= 32) // do we have to use slow - // bitwise reduction ? - || (polynomial.getLength() > (mDegree << 1))) - { - reducePentanomialBitwise(pc); - return; - } - polynomial.reducePentanomial(mDegree, pc); - return; - } - else - { // fieldpolynomial is something else - polynomial = polynomial.remainder(mField.getFieldPolynomial()); - polynomial.expandN(mDegree); - return; - } - } - if (polynomial.getLength() < mDegree) - { - polynomial.expandN(mDegree); - } - } - - /** - * Reduce this GF2nPolynomialElement using the trinomial x^n + x^tc + 1 as - * fieldpolynomial. The coefficients are reduced bit by bit. - */ - private void reduceTrinomialBitwise(int tc) - { - int i; - int k = mDegree - tc; - for (i = polynomial.getLength() - 1; i >= mDegree; i--) - { - if (polynomial.testBit(i)) - { - - polynomial.xorBit(i); - polynomial.xorBit(i - k); - polynomial.xorBit(i - mDegree); - - } - } - polynomial.reduceN(); - polynomial.expandN(mDegree); - } - - /** - * Reduce this GF2nPolynomialElement using the pentanomial x^n + x^pc[2] + - * x^pc[1] + x^pc[0] + 1 as fieldpolynomial. The coefficients are reduced - * bit by bit. - */ - private void reducePentanomialBitwise(int[] pc) - { - int i; - int k = mDegree - pc[2]; - int l = mDegree - pc[1]; - int m = mDegree - pc[0]; - for (i = polynomial.getLength() - 1; i >= mDegree; i--) - { - if (polynomial.testBit(i)) - { - polynomial.xorBit(i); - polynomial.xorBit(i - k); - polynomial.xorBit(i - l); - polynomial.xorBit(i - m); - polynomial.xorBit(i - mDegree); - - } - } - polynomial.reduceN(); - polynomial.expandN(mDegree); - } - - // ///////////////////////////////////////////////////////////////////// - // conversion - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns a string representing this Bitstrings value using hexadecimal - * radix in MSB-first order. - * - * @return a String representing this Bitstrings value. - */ - public String toString() - { - return polynomial.toString(16); - } - - /** - * Returns a string representing this Bitstrings value using hexadecimal or - * binary radix in MSB-first order. - * - * @param radix the radix to use (2 or 16, otherwise 2 is used) - * @return a String representing this Bitstrings value. - */ - public String toString(int radix) - { - return polynomial.toString(radix); - } - - /** - * Converts this GF2nPolynomialElement to a byte[] according to 1363. - * - * @return a byte[] representing the value of this GF2nPolynomialElement - * @see "P1363 5.5.2 p22f BS2OSP, FE2OSP" - */ - public byte[] toByteArray() - { - return polynomial.toByteArray(); - } - - /** - * Converts this GF2nPolynomialElement to an integer according to 1363. - * - * @return a BigInteger representing the value of this - * GF2nPolynomialElement - * @see "P1363 5.5.1 p22 BS2IP" - */ - public BigInteger toFlexiBigInt() - { - return polynomial.toFlexiBigInt(); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialField.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialField.java deleted file mode 100644 index f9ec0bca2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GF2nPolynomialField.java +++ /dev/null @@ -1,553 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - - -import java.util.Random; -import java.util.Vector; - - -/** - * This class implements the abstract class GF2nField for polynomial - * representation. It computes the field polynomial and the squaring matrix. - * GF2nField is used by GF2nPolynomialElement which implements the elements of - * this field. - * - * @see GF2nField - * @see GF2nPolynomialElement - */ -public class GF2nPolynomialField - extends GF2nField -{ - - /** - * Matrix used for fast squaring - */ - GF2Polynomial[] squaringMatrix; - - // field polynomial is a trinomial - private boolean isTrinomial = false; - - // field polynomial is a pentanomial - private boolean isPentanomial = false; - - // middle coefficient of the field polynomial in case it is a trinomial - private int tc; - - // middle 3 coefficients of the field polynomial in case it is a pentanomial - private int[] pc = new int[3]; - - /** - * constructs an instance of the finite field with 2deg - * elements and characteristic 2. - * - * @param deg the extention degree of this field - */ - public GF2nPolynomialField(int deg) - { - if (deg < 3) - { - throw new IllegalArgumentException("k must be at least 3"); - } - mDegree = deg; - computeFieldPolynomial(); - computeSquaringMatrix(); - fields = new Vector(); - matrices = new Vector(); - } - - /** - * constructs an instance of the finite field with 2deg - * elements and characteristic 2. - * - * @param deg the degree of this field - * @param file true if you want to read the field polynomial from the - * file false if you want to use a random fielpolynomial - * (this can take very long for huge degrees) - */ - public GF2nPolynomialField(int deg, boolean file) - { - if (deg < 3) - { - throw new IllegalArgumentException("k must be at least 3"); - } - mDegree = deg; - if (file) - { - computeFieldPolynomial(); - } - else - { - computeFieldPolynomial2(); - } - computeSquaringMatrix(); - fields = new Vector(); - matrices = new Vector(); - } - - /** - * Creates a new GF2nField of degree i and uses the given - * polynomial as field polynomial. The polynomial is checked - * whether it is irreducible. This can take some time if i is huge! - * - * @param deg degree of the GF2nField - * @param polynomial the field polynomial to use - * @throws PolynomialIsNotIrreducibleException if the given polynomial is not irreducible in GF(2^i) - */ - public GF2nPolynomialField(int deg, GF2Polynomial polynomial) - throws RuntimeException - { - if (deg < 3) - { - throw new IllegalArgumentException("degree must be at least 3"); - } - if (polynomial.getLength() != deg + 1) - { - throw new RuntimeException(); - } - if (!polynomial.isIrreducible()) - { - throw new RuntimeException(); - } - mDegree = deg; - // fieldPolynomial = new Bitstring(polynomial); - fieldPolynomial = polynomial; - computeSquaringMatrix(); - int k = 2; // check if the polynomial is a trinomial or pentanomial - for (int j = 1; j < fieldPolynomial.getLength() - 1; j++) - { - if (fieldPolynomial.testBit(j)) - { - k++; - if (k == 3) - { - tc = j; - } - if (k <= 5) - { - pc[k - 3] = j; - } - } - } - if (k == 3) - { - isTrinomial = true; - } - if (k == 5) - { - isPentanomial = true; - } - fields = new Vector(); - matrices = new Vector(); - } - - /** - * Returns true if the field polynomial is a trinomial. The coefficient can - * be retrieved using getTc(). - * - * @return true if the field polynomial is a trinomial - */ - public boolean isTrinomial() - { - return isTrinomial; - } - - /** - * Returns true if the field polynomial is a pentanomial. The coefficients - * can be retrieved using getPc(). - * - * @return true if the field polynomial is a pentanomial - */ - public boolean isPentanomial() - { - return isPentanomial; - } - - /** - * Returns the degree of the middle coefficient of the used field trinomial - * (x^n + x^(getTc()) + 1). - * - * @return the middle coefficient of the used field trinomial - * @throws GFException if the field polynomial is not a trinomial - */ - public int getTc() - throws RuntimeException - { - if (!isTrinomial) - { - throw new RuntimeException(); - } - return tc; - } - - /** - * Returns the degree of the middle coefficients of the used field - * pentanomial (x^n + x^(getPc()[2]) + x^(getPc()[1]) + x^(getPc()[0]) + 1). - * - * @return the middle coefficients of the used field pentanomial - * @throws GFException if the field polynomial is not a pentanomial - */ - public int[] getPc() - throws RuntimeException - { - if (!isPentanomial) - { - throw new RuntimeException(); - } - int[] result = new int[3]; - System.arraycopy(pc, 0, result, 0, 3); - return result; - } - - /** - * Return row vector i of the squaring matrix. - * - * @param i the index of the row vector to return - * @return a copy of squaringMatrix[i] - * @see GF2nPolynomialElement#squareMatrix - */ - public GF2Polynomial getSquaringVector(int i) - { - return new GF2Polynomial(squaringMatrix[i]); - } - - /** - * Compute a random root of the given GF2Polynomial. - * - * @param polynomial the polynomial - * @return a random root of polynomial - */ - protected GF2nElement getRandomRoot(GF2Polynomial polynomial) - { - // We are in B1!!! - GF2nPolynomial c; - GF2nPolynomial ut; - GF2nElement u; - GF2nPolynomial h; - int hDegree; - // 1. Set g(t) <- f(t) - GF2nPolynomial g = new GF2nPolynomial(polynomial, this); - int gDegree = g.getDegree(); - int i; - - // 2. while deg(g) > 1 - while (gDegree > 1) - { - do - { - // 2.1 choose random u (element of) GF(2^m) - u = new GF2nPolynomialElement(this, new Random()); - ut = new GF2nPolynomial(2, GF2nPolynomialElement.ZERO(this)); - // 2.2 Set c(t) <- ut - ut.set(1, u); - c = new GF2nPolynomial(ut); - // 2.3 For i from 1 to m-1 do - for (i = 1; i <= mDegree - 1; i++) - { - // 2.3.1 c(t) <- (c(t)^2 + ut) mod g(t) - c = c.multiplyAndReduce(c, g); - c = c.add(ut); - } - // 2.4 set h(t) <- GCD(c(t), g(t)) - h = c.gcd(g); - // 2.5 if h(t) is constant or deg(g) = deg(h) then go to - // step 2.1 - hDegree = h.getDegree(); - gDegree = g.getDegree(); - } - while ((hDegree == 0) || (hDegree == gDegree)); - // 2.6 If 2deg(h) > deg(g) then set g(t) <- g(t)/h(t) ... - if ((hDegree << 1) > gDegree) - { - g = g.quotient(h); - } - else - { - // ... else g(t) <- h(t) - g = new GF2nPolynomial(h); - } - gDegree = g.getDegree(); - } - // 3. Output g(0) - return g.at(0); - - } - - /** - * Computes the change-of-basis matrix for basis conversion according to - * 1363. The result is stored in the lists fields and matrices. - * - * @param B1 the GF2nField to convert to - * @see "P1363 A.7.3, p111ff" - */ - protected void computeCOBMatrix(GF2nField B1) - { - // we are in B0 here! - if (mDegree != B1.mDegree) - { - throw new IllegalArgumentException( - "GF2nPolynomialField.computeCOBMatrix: B1 has a different " - + "degree and thus cannot be coverted to!"); - } - if (B1 instanceof GF2nONBField) - { - // speedup (calculation is done in PolynomialElements instead of - // ONB) - B1.computeCOBMatrix(this); - return; - } - int i, j; - GF2nElement[] gamma; - GF2nElement u; - GF2Polynomial[] COBMatrix = new GF2Polynomial[mDegree]; - for (i = 0; i < mDegree; i++) - { - COBMatrix[i] = new GF2Polynomial(mDegree); - } - - // find Random Root - do - { - // u is in representation according to B1 - u = B1.getRandomRoot(fieldPolynomial); - } - while (u.isZero()); - - // build gamma matrix by multiplying by u - if (u instanceof GF2nONBElement) - { - gamma = new GF2nONBElement[mDegree]; - gamma[mDegree - 1] = GF2nONBElement.ONE((GF2nONBField)B1); - } - else - { - gamma = new GF2nPolynomialElement[mDegree]; - gamma[mDegree - 1] = GF2nPolynomialElement - .ONE((GF2nPolynomialField)B1); - } - gamma[mDegree - 2] = u; - for (i = mDegree - 3; i >= 0; i--) - { - gamma[i] = (GF2nElement)gamma[i + 1].multiply(u); - } - if (B1 instanceof GF2nONBField) - { - // convert horizontal gamma matrix by vertical Bitstrings - for (i = 0; i < mDegree; i++) - { - for (j = 0; j < mDegree; j++) - { - // TODO remember: ONB treats its Bits in reverse order !!! - if (gamma[i].testBit(mDegree - j - 1)) - { - COBMatrix[mDegree - j - 1].setBit(mDegree - i - 1); - } - } - } - } - else - { - // convert horizontal gamma matrix by vertical Bitstrings - for (i = 0; i < mDegree; i++) - { - for (j = 0; j < mDegree; j++) - { - if (gamma[i].testBit(j)) - { - COBMatrix[mDegree - j - 1].setBit(mDegree - i - 1); - } - } - } - } - - // store field and matrix for further use - fields.addElement(B1); - matrices.addElement(COBMatrix); - // store field and inverse matrix for further use in B1 - B1.fields.addElement(this); - B1.matrices.addElement(invertMatrix(COBMatrix)); - } - - /** - * Computes a new squaring matrix used for fast squaring. - * - * @see GF2nPolynomialElement#square - */ - private void computeSquaringMatrix() - { - GF2Polynomial[] d = new GF2Polynomial[mDegree - 1]; - int i, j; - squaringMatrix = new GF2Polynomial[mDegree]; - for (i = 0; i < squaringMatrix.length; i++) - { - squaringMatrix[i] = new GF2Polynomial(mDegree, "ZERO"); - } - - for (i = 0; i < mDegree - 1; i++) - { - d[i] = new GF2Polynomial(1, "ONE").shiftLeft(mDegree + i) - .remainder(fieldPolynomial); - } - for (i = 1; i <= Math.abs(mDegree >> 1); i++) - { - for (j = 1; j <= mDegree; j++) - { - if (d[mDegree - (i << 1)].testBit(mDegree - j)) - { - squaringMatrix[j - 1].setBit(mDegree - i); - } - } - } - for (i = Math.abs(mDegree >> 1) + 1; i <= mDegree; i++) - { - squaringMatrix[(i << 1) - mDegree - 1].setBit(mDegree - i); - } - - } - - /** - * Computes the field polynomial. This can take a long time for big degrees. - */ - protected void computeFieldPolynomial() - { - if (testTrinomials()) - { - return; - } - if (testPentanomials()) - { - return; - } - testRandom(); - } - - /** - * Computes the field polynomial. This can take a long time for big degrees. - */ - protected void computeFieldPolynomial2() - { - if (testTrinomials()) - { - return; - } - if (testPentanomials()) - { - return; - } - testRandom(); - } - - /** - * Tests all trinomials of degree (n+1) until a irreducible is found and - * stores the result in field polynomial. Returns false if no - * irreducible trinomial exists in GF(2^n). This can take very long for huge - * degrees. - * - * @return true if an irreducible trinomial is found - */ - private boolean testTrinomials() - { - int i, l; - boolean done = false; - l = 0; - - fieldPolynomial = new GF2Polynomial(mDegree + 1); - fieldPolynomial.setBit(0); - fieldPolynomial.setBit(mDegree); - for (i = 1; (i < mDegree) && !done; i++) - { - fieldPolynomial.setBit(i); - done = fieldPolynomial.isIrreducible(); - l++; - if (done) - { - isTrinomial = true; - tc = i; - return done; - } - fieldPolynomial.resetBit(i); - done = fieldPolynomial.isIrreducible(); - } - - return done; - } - - /** - * Tests all pentanomials of degree (n+1) until a irreducible is found and - * stores the result in field polynomial. Returns false if no - * irreducible pentanomial exists in GF(2^n). This can take very long for - * huge degrees. - * - * @return true if an irreducible pentanomial is found - */ - private boolean testPentanomials() - { - int i, j, k, l; - boolean done = false; - l = 0; - - fieldPolynomial = new GF2Polynomial(mDegree + 1); - fieldPolynomial.setBit(0); - fieldPolynomial.setBit(mDegree); - for (i = 1; (i <= (mDegree - 3)) && !done; i++) - { - fieldPolynomial.setBit(i); - for (j = i + 1; (j <= (mDegree - 2)) && !done; j++) - { - fieldPolynomial.setBit(j); - for (k = j + 1; (k <= (mDegree - 1)) && !done; k++) - { - fieldPolynomial.setBit(k); - if (((mDegree & 1) != 0) | ((i & 1) != 0) | ((j & 1) != 0) - | ((k & 1) != 0)) - { - done = fieldPolynomial.isIrreducible(); - l++; - if (done) - { - isPentanomial = true; - pc[0] = i; - pc[1] = j; - pc[2] = k; - return done; - } - } - fieldPolynomial.resetBit(k); - } - fieldPolynomial.resetBit(j); - } - fieldPolynomial.resetBit(i); - } - - return done; - } - - /** - * Tests random polynomials of degree (n+1) until an irreducible is found - * and stores the result in field polynomial. This can take very - * long for huge degrees. - * - * @return true - */ - private boolean testRandom() - { - int l; - boolean done = false; - - fieldPolynomial = new GF2Polynomial(mDegree + 1); - l = 0; - while (!done) - { - l++; - fieldPolynomial.randomize(); - fieldPolynomial.setBit(mDegree); - fieldPolynomial.setBit(0); - if (fieldPolynomial.isIrreducible()) - { - done = true; - return done; - } - } - - return done; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GFElement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GFElement.java deleted file mode 100644 index c33f19565..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GFElement.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.math.BigInteger; - - -/** - * This interface defines a finite field element. It is implemented by the - * classes {@link GFPElement} and {@link GF2nElement}. - * - * @see GFPElement - * @see GF2nElement - */ -public interface GFElement -{ - - /** - * @return a copy of this GFElement - */ - Object clone(); - - // ///////////////////////////////////////////////////////////////// - // comparison - // ///////////////////////////////////////////////////////////////// - - /** - * Compare this curve with another object. - * - * @param other the other object - * @return the result of the comparison - */ - boolean equals(Object other); - - /** - * @return the hash code of this element - */ - int hashCode(); - - /** - * Checks whether this element is zero. - * - * @return true if this is the zero element - */ - boolean isZero(); - - /** - * Checks whether this element is one. - * - * @return true if this is the one element - */ - boolean isOne(); - - // ///////////////////////////////////////////////////////////////////// - // arithmetic - // ///////////////////////////////////////////////////////////////////// - - /** - * Compute the sum of this element and the addend. - * - * @param addend the addend - * @return this + other (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - GFElement add(GFElement addend) - throws RuntimeException; - - /** - * Compute the sum of this element and the addend, overwriting this element. - * - * @param addend the addend - * @throws DifferentFieldsException if the elements are of different fields. - */ - void addToThis(GFElement addend) - throws RuntimeException; - - /** - * Compute the difference of this element and minuend. - * - * @param minuend the minuend - * @return this - minuend (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - GFElement subtract(GFElement minuend) - throws RuntimeException; - - /** - * Compute the difference of this element and minuend, - * overwriting this element. - * - * @param minuend the minuend - * @throws DifferentFieldsException if the elements are of different fields. - */ - void subtractFromThis(GFElement minuend); - - /** - * Compute the product of this element and factor. - * - * @param factor the factor - * @return this * factor (newly created) - * @throws DifferentFieldsException if the elements are of different fields. - */ - GFElement multiply(GFElement factor) - throws RuntimeException; - - /** - * Compute this * factor (overwrite this). - * - * @param factor the factor - * @throws DifferentFieldsException if the elements are of different fields. - */ - void multiplyThisBy(GFElement factor) - throws RuntimeException; - - /** - * Compute the multiplicative inverse of this element. - * - * @return this-1 (newly created) - * @throws ArithmeticException if this is the zero element. - */ - GFElement invert() - throws ArithmeticException; - - // ///////////////////////////////////////////////////////////////////// - // conversion - // ///////////////////////////////////////////////////////////////////// - - /** - * Returns this element as FlexiBigInt. The conversion is P1363-conform. - * - * @return this element as BigInt - */ - BigInteger toFlexiBigInt(); - - /** - * Returns this element as byte array. The conversion is P1363-conform. - * - * @return this element as byte array - */ - byte[] toByteArray(); - - /** - * Return a String representation of this element. - * - * @return String representation of this element - */ - String toString(); - - /** - * Return a String representation of this element. radix - * specifies the radix of the String representation. - * - * @param radix specifies the radix of the String representation - * @return String representation of this element with the specified radix - */ - String toString(int radix); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GoppaCode.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GoppaCode.java deleted file mode 100644 index 2249d936e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/GoppaCode.java +++ /dev/null @@ -1,310 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class describes decoding operations of an irreducible binary Goppa code. - * A check matrix H of the Goppa code and an irreducible Goppa polynomial are - * used the operations are worked over a finite field GF(2^m) - * - * @see GF2mField - * @see PolynomialGF2mSmallM - */ -public final class GoppaCode -{ - - /** - * Default constructor (private). - */ - private GoppaCode() - { - // empty - } - - /** - * This class is a container for two instances of {@link GF2Matrix} and one - * instance of {@link Permutation}. It is used to hold the systematic form - * S*H*P = (Id|M) of the check matrix H as returned by - * {@link GoppaCode#computeSystematicForm(GF2Matrix, SecureRandom)}. - * - * @see GF2Matrix - * @see Permutation - */ - public static class MaMaPe - { - - private GF2Matrix s, h; - - private Permutation p; - - /** - * Construct a new {@link MaMaPe} container with the given parameters. - * - * @param s the first matrix - * @param h the second matrix - * @param p the permutation - */ - public MaMaPe(GF2Matrix s, GF2Matrix h, Permutation p) - { - this.s = s; - this.h = h; - this.p = p; - } - - /** - * @return the first matrix - */ - public GF2Matrix getFirstMatrix() - { - return s; - } - - /** - * @return the second matrix - */ - public GF2Matrix getSecondMatrix() - { - return h; - } - - /** - * @return the permutation - */ - public Permutation getPermutation() - { - return p; - } - } - - /** - * This class is a container for an instance of {@link GF2Matrix} and one - * int[]. It is used to hold a generator matrix and the set of indices such - * that the submatrix of the generator matrix consisting of the specified - * columns is the identity. - * - * @see GF2Matrix - * @see Permutation - */ - public static class MatrixSet - { - - private GF2Matrix g; - - private int[] setJ; - - /** - * Construct a new {@link MatrixSet} container with the given - * parameters. - * - * @param g the generator matrix - * @param setJ the set of indices such that the submatrix of the - * generator matrix consisting of the specified columns - * is the identity - */ - public MatrixSet(GF2Matrix g, int[] setJ) - { - this.g = g; - this.setJ = setJ; - } - - /** - * @return the generator matrix - */ - public GF2Matrix getG() - { - return g; - } - - /** - * @return the set of indices such that the submatrix of the generator - * matrix consisting of the specified columns is the identity - */ - public int[] getSetJ() - { - return setJ; - } - } - - /** - * Construct the check matrix of a Goppa code in canonical form from the - * irreducible Goppa polynomial over the finite field - * GF(2m). - * - * @param field the finite field - * @param gp the irreducible Goppa polynomial - */ - public static GF2Matrix createCanonicalCheckMatrix(GF2mField field, - PolynomialGF2mSmallM gp) - { - int m = field.getDegree(); - int n = 1 << m; - int t = gp.getDegree(); - - /* create matrix H over GF(2^m) */ - - int[][] hArray = new int[t][n]; - - // create matrix YZ - int[][] yz = new int[t][n]; - for (int j = 0; j < n; j++) - { - // here j is used as index and as element of field GF(2^m) - yz[0][j] = field.inverse(gp.evaluateAt(j)); - } - - for (int i = 1; i < t; i++) - { - for (int j = 0; j < n; j++) - { - // here j is used as index and as element of field GF(2^m) - yz[i][j] = field.mult(yz[i - 1][j], j); - } - } - - // create matrix H = XYZ - for (int i = 0; i < t; i++) - { - for (int j = 0; j < n; j++) - { - for (int k = 0; k <= i; k++) - { - hArray[i][j] = field.add(hArray[i][j], field.mult(yz[k][j], - gp.getCoefficient(t + k - i))); - } - } - } - - /* convert to matrix over GF(2) */ - - int[][] result = new int[t * m][(n + 31) >>> 5]; - - for (int j = 0; j < n; j++) - { - int q = j >>> 5; - int r = 1 << (j & 0x1f); - for (int i = 0; i < t; i++) - { - int e = hArray[i][j]; - for (int u = 0; u < m; u++) - { - int b = (e >>> u) & 1; - if (b != 0) - { - int ind = (i + 1) * m - u - 1; - result[ind][q] ^= r; - } - } - } - } - - return new GF2Matrix(n, result); - } - - /** - * Given a check matrix H, compute matrices S, - * M, and a random permutation P such that - * S*H*P = (Id|M). Return S^-1, M, and - * P as {@link MaMaPe}. The matrix (Id | M) is called - * the systematic form of H. - * - * @param h the check matrix - * @param sr a source of randomness - * @return the tuple (S^-1, M, P) - */ - public static MaMaPe computeSystematicForm(GF2Matrix h, SecureRandom sr) - { - int n = h.getNumColumns(); - GF2Matrix hp, sInv; - GF2Matrix s = null; - Permutation p; - boolean found = false; - - do - { - p = new Permutation(n, sr); - hp = (GF2Matrix)h.rightMultiply(p); - sInv = hp.getLeftSubMatrix(); - try - { - found = true; - s = (GF2Matrix)sInv.computeInverse(); - } - catch (ArithmeticException ae) - { - found = false; - } - } - while (!found); - - GF2Matrix shp = (GF2Matrix)s.rightMultiply(hp); - GF2Matrix m = shp.getRightSubMatrix(); - - return new MaMaPe(sInv, m, p); - } - - /** - * Find an error vector e over GF(2) from an input - * syndrome s over GF(2m). - * - * @param syndVec the syndrome - * @param field the finite field - * @param gp the irreducible Goppa polynomial - * @param sqRootMatrix the matrix for computing square roots in - * (GF(2m))t - * @return the error vector - */ - public static GF2Vector syndromeDecode(GF2Vector syndVec, GF2mField field, - PolynomialGF2mSmallM gp, PolynomialGF2mSmallM[] sqRootMatrix) - { - - int n = 1 << field.getDegree(); - - // the error vector - GF2Vector errors = new GF2Vector(n); - - // if the syndrome vector is zero, the error vector is also zero - if (!syndVec.isZero()) - { - // convert syndrome vector to polynomial over GF(2^m) - PolynomialGF2mSmallM syndrome = new PolynomialGF2mSmallM(syndVec - .toExtensionFieldVector(field)); - - // compute T = syndrome^-1 mod gp - PolynomialGF2mSmallM t = syndrome.modInverse(gp); - - // compute tau = sqRoot(T + X) mod gp - PolynomialGF2mSmallM tau = t.addMonomial(1); - tau = tau.modSquareRootMatrix(sqRootMatrix); - - // compute polynomials a and b satisfying a + b*tau = 0 mod gp - PolynomialGF2mSmallM[] ab = tau.modPolynomialToFracton(gp); - - // compute the polynomial a^2 + X*b^2 - PolynomialGF2mSmallM a2 = ab[0].multiply(ab[0]); - PolynomialGF2mSmallM b2 = ab[1].multiply(ab[1]); - PolynomialGF2mSmallM xb2 = b2.multWithMonomial(1); - PolynomialGF2mSmallM a2plusXb2 = a2.add(xb2); - - // normalize a^2 + X*b^2 to obtain the error locator polynomial - int headCoeff = a2plusXb2.getHeadCoefficient(); - int invHeadCoeff = field.inverse(headCoeff); - PolynomialGF2mSmallM elp = a2plusXb2.multWithElement(invHeadCoeff); - - // for all elements i of GF(2^m) - for (int i = 0; i < n; i++) - { - // evaluate the error locator polynomial at i - int z = elp.evaluateAt(i); - // if polynomial evaluates to zero - if (z == 0) - { - // set the i-th coefficient of the error vector - errors.setBit(i); - } - } - } - - return errors; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntUtils.java deleted file mode 100644 index f031abf05..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntUtils.java +++ /dev/null @@ -1,203 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.math.BigInteger; - -/** - * - * - * - */ -public final class IntUtils -{ - - /** - * Default constructor (private). - */ - private IntUtils() - { - // empty - } - - /** - * Compare two int arrays. No null checks are performed. - * - * @param left the first int array - * @param right the second int array - * @return the result of the comparison - */ - public static boolean equals(int[] left, int[] right) - { - if (left.length != right.length) - { - return false; - } - boolean result = true; - for (int i = left.length - 1; i >= 0; i--) - { - result &= left[i] == right[i]; - } - return result; - } - - /** - * Return a clone of the given int array. No null checks are performed. - * - * @param array the array to clone - * @return the clone of the given array - */ - public static int[] clone(int[] array) - { - int[] result = new int[array.length]; - System.arraycopy(array, 0, result, 0, array.length); - return result; - } - - /** - * Fill the given int array with the given value. - * - * @param array the array - * @param value the value - */ - public static void fill(int[] array, int value) - { - for (int i = array.length - 1; i >= 0; i--) - { - array[i] = value; - } - } - - /** - * Sorts this array of integers according to the Quicksort algorithm. After - * calling this method this array is sorted in ascending order with the - * smallest integer taking position 0 in the array. - *

    - *

    - * This implementation is based on the quicksort algorithm as described in - * Data Structures In Java by Thomas A. Standish, Chapter 10, - * ISBN 0-201-30564-X. - * - * @param source the array of integers that needs to be sorted. - */ - public static void quicksort(int[] source) - { - quicksort(source, 0, source.length - 1); - } - - /** - * Sort a subarray of a source array. The subarray is specified by its start - * and end index. - * - * @param source the int array to be sorted - * @param left the start index of the subarray - * @param right the end index of the subarray - */ - public static void quicksort(int[] source, int left, int right) - { - if (right > left) - { - int index = partition(source, left, right, right); - quicksort(source, left, index - 1); - quicksort(source, index + 1, right); - } - } - - /** - * Split a subarray of a source array into two partitions. The left - * partition contains elements that have value less than or equal to the - * pivot element, the right partition contains the elements that have larger - * value. - * - * @param source the int array whose subarray will be splitted - * @param left the start position of the subarray - * @param right the end position of the subarray - * @param pivotIndex the index of the pivot element inside the array - * @return the new index of the pivot element inside the array - */ - private static int partition(int[] source, int left, int right, - int pivotIndex) - { - - int pivot = source[pivotIndex]; - source[pivotIndex] = source[right]; - source[right] = pivot; - - int index = left; - - for (int i = left; i < right; i++) - { - if (source[i] <= pivot) - { - int tmp = source[index]; - source[index] = source[i]; - source[i] = tmp; - index++; - } - } - - int tmp = source[index]; - source[index] = source[right]; - source[right] = tmp; - - return index; - } - - /** - * Generates a subarray of a given int array. - * - * @param input - - * the input int array - * @param start - - * the start index - * @param end - - * the end index - * @return a subarray of input, ranging from start to - * end - */ - public static int[] subArray(final int[] input, final int start, - final int end) - { - int[] result = new int[end - start]; - System.arraycopy(input, start, result, 0, end - start); - return result; - } - - /** - * Convert an int array to a {@link FlexiBigInt} array. - * - * @param input the int array - * @return the {@link FlexiBigInt} array - */ - public static BigInteger[] toFlexiBigIntArray(int[] input) - { - BigInteger[] result = new BigInteger[input.length]; - for (int i = 0; i < input.length; i++) - { - result[i] = BigInteger.valueOf(input[i]); - } - return result; - } - - /** - * @param input an int array - * @return a human readable form of the given int array - */ - public static String toString(int[] input) - { - String result = ""; - for (int i = 0; i < input.length; i++) - { - result += input[i] + " "; - } - return result; - } - - /** - * @param input an int arary - * @return the int array as hex string - */ - public static String toHexString(int[] input) - { - return ByteUtils.toHexString(BigEndianConversions.toByteArray(input)); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntegerFunctions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntegerFunctions.java deleted file mode 100644 index ca004311b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/IntegerFunctions.java +++ /dev/null @@ -1,1424 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * Class of number-theory related functions for use with integers represented as - * int's or BigInteger objects. - */ -public final class IntegerFunctions -{ - - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private static final BigInteger ONE = BigInteger.valueOf(1); - - private static final BigInteger TWO = BigInteger.valueOf(2); - - private static final BigInteger FOUR = BigInteger.valueOf(4); - - private static final int[] SMALL_PRIMES = {3, 5, 7, 11, 13, 17, 19, 23, - 29, 31, 37, 41}; - - private static final long SMALL_PRIME_PRODUCT = 3L * 5 * 7 * 11 * 13 * 17 - * 19 * 23 * 29 * 31 * 37 * 41; - - private static SecureRandom sr = null; - - // the jacobi function uses this lookup table - private static final int[] jacobiTable = {0, 1, 0, -1, 0, -1, 0, 1}; - - private IntegerFunctions() - { - // empty - } - - /** - * Computes the value of the Jacobi symbol (A|B). The following properties - * hold for the Jacobi symbol which makes it a very efficient way to - * evaluate the Legendre symbol - *

    - * (A|B) = 0 IF gcd(A,B) > 1
    - * (-1|B) = 1 IF n = 1 (mod 1)
    - * (-1|B) = -1 IF n = 3 (mod 4)
    - * (A|B) (C|B) = (AC|B)
    - * (A|B) (A|C) = (A|CB)
    - * (A|B) = (C|B) IF A = C (mod B)
    - * (2|B) = 1 IF N = 1 OR 7 (mod 8)
    - * (2|B) = 1 IF N = 3 OR 5 (mod 8) - *

    - * - * @param A integer value - * @param B integer value - * @return value of the jacobi symbol (A|B) - */ - public static int jacobi(BigInteger A, BigInteger B) - { - BigInteger a, b, v; - long k = 1; - - k = 1; - - // test trivial cases - if (B.equals(ZERO)) - { - a = A.abs(); - return a.equals(ONE) ? 1 : 0; - } - - if (!A.testBit(0) && !B.testBit(0)) - { - return 0; - } - - a = A; - b = B; - - if (b.signum() == -1) - { // b < 0 - b = b.negate(); // b = -b - if (a.signum() == -1) - { - k = -1; - } - } - - v = ZERO; - while (!b.testBit(0)) - { - v = v.add(ONE); // v = v + 1 - b = b.divide(TWO); // b = b/2 - } - - if (v.testBit(0)) - { - k = k * jacobiTable[a.intValue() & 7]; - } - - if (a.signum() < 0) - { // a < 0 - if (b.testBit(1)) - { - k = -k; // k = -k - } - a = a.negate(); // a = -a - } - - // main loop - while (a.signum() != 0) - { - v = ZERO; - while (!a.testBit(0)) - { // a is even - v = v.add(ONE); - a = a.divide(TWO); - } - if (v.testBit(0)) - { - k = k * jacobiTable[b.intValue() & 7]; - } - - if (a.compareTo(b) < 0) - { // a < b - // swap and correct intermediate result - BigInteger x = a; - a = b; - b = x; - if (a.testBit(1) && b.testBit(1)) - { - k = -k; - } - } - a = a.subtract(b); - } - - return b.equals(ONE) ? (int)k : 0; - } - - /** - * Computes the square root of a BigInteger modulo a prime employing the - * Shanks-Tonelli algorithm. - * - * @param a value out of which we extract the square root - * @param p prime modulus that determines the underlying field - * @return a number b such that b2 = a (mod p) if - * a is a quadratic residue modulo p. - * @throws NoQuadraticResidueException if a is a quadratic non-residue modulo p - */ - public static BigInteger ressol(BigInteger a, BigInteger p) - throws IllegalArgumentException - { - - BigInteger v = null; - - if (a.compareTo(ZERO) < 0) - { - a = a.add(p); - } - - if (a.equals(ZERO)) - { - return ZERO; - } - - if (p.equals(TWO)) - { - return a; - } - - // p = 3 mod 4 - if (p.testBit(0) && p.testBit(1)) - { - if (jacobi(a, p) == 1) - { // a quadr. residue mod p - v = p.add(ONE); // v = p+1 - v = v.shiftRight(2); // v = v/4 - return a.modPow(v, p); // return a^v mod p - // return --> a^((p+1)/4) mod p - } - throw new IllegalArgumentException("No quadratic residue: " + a + ", " + p); - } - - long t = 0; - - // initialization - // compute k and s, where p = 2^s (2k+1) +1 - - BigInteger k = p.subtract(ONE); // k = p-1 - long s = 0; - while (!k.testBit(0)) - { // while k is even - s++; // s = s+1 - k = k.shiftRight(1); // k = k/2 - } - - k = k.subtract(ONE); // k = k - 1 - k = k.shiftRight(1); // k = k/2 - - // initial values - BigInteger r = a.modPow(k, p); // r = a^k mod p - - BigInteger n = r.multiply(r).remainder(p); // n = r^2 % p - n = n.multiply(a).remainder(p); // n = n * a % p - r = r.multiply(a).remainder(p); // r = r * a %p - - if (n.equals(ONE)) - { - return r; - } - - // non-quadratic residue - BigInteger z = TWO; // z = 2 - while (jacobi(z, p) == 1) - { - // while z quadratic residue - z = z.add(ONE); // z = z + 1 - } - - v = k; - v = v.multiply(TWO); // v = 2k - v = v.add(ONE); // v = 2k + 1 - BigInteger c = z.modPow(v, p); // c = z^v mod p - - // iteration - while (n.compareTo(ONE) == 1) - { // n > 1 - k = n; // k = n - t = s; // t = s - s = 0; - - while (!k.equals(ONE)) - { // k != 1 - k = k.multiply(k).mod(p); // k = k^2 % p - s++; // s = s + 1 - } - - t -= s; // t = t - s - if (t == 0) - { - throw new IllegalArgumentException("No quadratic residue: " + a + ", " + p); - } - - v = ONE; - for (long i = 0; i < t - 1; i++) - { - v = v.shiftLeft(1); // v = 1 * 2^(t - 1) - } - c = c.modPow(v, p); // c = c^v mod p - r = r.multiply(c).remainder(p); // r = r * c % p - c = c.multiply(c).remainder(p); // c = c^2 % p - n = n.multiply(c).mod(p); // n = n * c % p - } - return r; - } - - /** - * Computes the greatest common divisor of the two specified integers - * - * @param u - first integer - * @param v - second integer - * @return gcd(a, b) - */ - public static int gcd(int u, int v) - { - return BigInteger.valueOf(u).gcd(BigInteger.valueOf(v)).intValue(); - } - - /** - * Extended euclidian algorithm (computes gcd and representation). - * - * @param a the first integer - * @param b the second integer - * @return (g,u,v), where g = gcd(abs(a),abs(b)) = ua + vb - */ - public static int[] extGCD(int a, int b) - { - BigInteger ba = BigInteger.valueOf(a); - BigInteger bb = BigInteger.valueOf(b); - BigInteger[] bresult = extgcd(ba, bb); - int[] result = new int[3]; - result[0] = bresult[0].intValue(); - result[1] = bresult[1].intValue(); - result[2] = bresult[2].intValue(); - return result; - } - - public static BigInteger divideAndRound(BigInteger a, BigInteger b) - { - if (a.signum() < 0) - { - return divideAndRound(a.negate(), b).negate(); - } - if (b.signum() < 0) - { - return divideAndRound(a, b.negate()).negate(); - } - return a.shiftLeft(1).add(b).divide(b.shiftLeft(1)); - } - - public static BigInteger[] divideAndRound(BigInteger[] a, BigInteger b) - { - BigInteger[] out = new BigInteger[a.length]; - for (int i = 0; i < a.length; i++) - { - out[i] = divideAndRound(a[i], b); - } - return out; - } - - /** - * Compute the smallest integer that is greater than or equal to the - * logarithm to the base 2 of the given BigInteger. - * - * @param a the integer - * @return ceil[log(a)] - */ - public static int ceilLog(BigInteger a) - { - int result = 0; - BigInteger p = ONE; - while (p.compareTo(a) < 0) - { - result++; - p = p.shiftLeft(1); - } - return result; - } - - /** - * Compute the smallest integer that is greater than or equal to the - * logarithm to the base 2 of the given integer. - * - * @param a the integer - * @return ceil[log(a)] - */ - public static int ceilLog(int a) - { - int log = 0; - int i = 1; - while (i < a) - { - i <<= 1; - log++; - } - return log; - } - - /** - * Compute ceil(log_256 n), the number of bytes needed to encode - * the integer n. - * - * @param n the integer - * @return the number of bytes needed to encode n - */ - public static int ceilLog256(int n) - { - if (n == 0) - { - return 1; - } - int m; - if (n < 0) - { - m = -n; - } - else - { - m = n; - } - - int d = 0; - while (m > 0) - { - d++; - m >>>= 8; - } - return d; - } - - /** - * Compute ceil(log_256 n), the number of bytes needed to encode - * the long integer n. - * - * @param n the long integer - * @return the number of bytes needed to encode n - */ - public static int ceilLog256(long n) - { - if (n == 0) - { - return 1; - } - long m; - if (n < 0) - { - m = -n; - } - else - { - m = n; - } - - int d = 0; - while (m > 0) - { - d++; - m >>>= 8; - } - return d; - } - - /** - * Compute the integer part of the logarithm to the base 2 of the given - * integer. - * - * @param a the integer - * @return floor[log(a)] - */ - public static int floorLog(BigInteger a) - { - int result = -1; - BigInteger p = ONE; - while (p.compareTo(a) <= 0) - { - result++; - p = p.shiftLeft(1); - } - return result; - } - - /** - * Compute the integer part of the logarithm to the base 2 of the given - * integer. - * - * @param a the integer - * @return floor[log(a)] - */ - public static int floorLog(int a) - { - int h = 0; - if (a <= 0) - { - return -1; - } - int p = a >>> 1; - while (p > 0) - { - h++; - p >>>= 1; - } - - return h; - } - - /** - * Compute the largest h with 2^h | a if a!=0. - * - * @param a an integer - * @return the largest h with 2^h | a if a!=0, - * 0 otherwise - */ - public static int maxPower(int a) - { - int h = 0; - if (a != 0) - { - int p = 1; - while ((a & p) == 0) - { - h++; - p <<= 1; - } - } - - return h; - } - - /** - * @param a an integer - * @return the number of ones in the binary representation of an integer - * a - */ - public static int bitCount(int a) - { - int h = 0; - while (a != 0) - { - h += a & 1; - a >>>= 1; - } - - return h; - } - - /** - * determines the order of g modulo p, p prime and 1 < g < p. This algorithm - * is only efficient for small p (see X9.62-1998, p. 68). - * - * @param g an integer with 1 < g < p - * @param p a prime - * @return the order k of g (that is k is the smallest integer with - * gk = 1 mod p - */ - public static int order(int g, int p) - { - int b, j; - - b = g % p; // Reduce g mod p first. - j = 1; - - // Check whether g == 0 mod p (avoiding endless loop). - if (b == 0) - { - throw new IllegalArgumentException(g + " is not an element of Z/(" - + p + "Z)^*; it is not meaningful to compute its order."); - } - - // Compute the order of g mod p: - while (b != 1) - { - b *= g; - b %= p; - if (b < 0) - { - b += p; - } - j++; - } - - return j; - } - - /** - * Reduces an integer into a given interval - * - * @param n - the integer - * @param begin - left bound of the interval - * @param end - right bound of the interval - * @return n reduced into [begin,end] - */ - public static BigInteger reduceInto(BigInteger n, BigInteger begin, - BigInteger end) - { - return n.subtract(begin).mod(end.subtract(begin)).add(begin); - } - - /** - * Compute ae. - * - * @param a the base - * @param e the exponent - * @return ae - */ - public static int pow(int a, int e) - { - int result = 1; - while (e > 0) - { - if ((e & 1) == 1) - { - result *= a; - } - a *= a; - e >>>= 1; - } - return result; - } - - /** - * Compute ae. - * - * @param a the base - * @param e the exponent - * @return ae - */ - public static long pow(long a, int e) - { - long result = 1; - while (e > 0) - { - if ((e & 1) == 1) - { - result *= a; - } - a *= a; - e >>>= 1; - } - return result; - } - - /** - * Compute ae mod n. - * - * @param a the base - * @param e the exponent - * @param n the modulus - * @return ae mod n - */ - public static int modPow(int a, int e, int n) - { - if (n <= 0 || (n * n) > Integer.MAX_VALUE || e < 0) - { - return 0; - } - int result = 1; - a = (a % n + n) % n; - while (e > 0) - { - if ((e & 1) == 1) - { - result = (result * a) % n; - } - a = (a * a) % n; - e >>>= 1; - } - return result; - } - - /** - * Extended euclidian algorithm (computes gcd and representation). - * - * @param a - the first integer - * @param b - the second integer - * @return (d,u,v), where d = gcd(a,b) = ua + vb - */ - public static BigInteger[] extgcd(BigInteger a, BigInteger b) - { - BigInteger u = ONE; - BigInteger v = ZERO; - BigInteger d = a; - if (b.signum() != 0) - { - BigInteger v1 = ZERO; - BigInteger v3 = b; - while (v3.signum() != 0) - { - BigInteger[] tmp = d.divideAndRemainder(v3); - BigInteger q = tmp[0]; - BigInteger t3 = tmp[1]; - BigInteger t1 = u.subtract(q.multiply(v1)); - u = v1; - d = v3; - v1 = t1; - v3 = t3; - } - v = d.subtract(a.multiply(u)).divide(b); - } - return new BigInteger[]{d, u, v}; - } - - /** - * Computation of the least common multiple of a set of BigIntegers. - * - * @param numbers - the set of numbers - * @return the lcm(numbers) - */ - public static BigInteger leastCommonMultiple(BigInteger[] numbers) - { - int n = numbers.length; - BigInteger result = numbers[0]; - for (int i = 1; i < n; i++) - { - BigInteger gcd = result.gcd(numbers[i]); - result = result.multiply(numbers[i]).divide(gcd); - } - return result; - } - - /** - * Returns a long integer whose value is (a mod m). This method - * differs from % in that it always returns a non-negative - * integer. - * - * @param a value on which the modulo operation has to be performed. - * @param m the modulus. - * @return a mod m - */ - public static long mod(long a, long m) - { - long result = a % m; - if (result < 0) - { - result += m; - } - return result; - } - - /** - * Computes the modular inverse of an integer a - * - * @param a - the integer to invert - * @param mod - the modulus - * @return a-1 mod n - */ - public static int modInverse(int a, int mod) - { - return BigInteger.valueOf(a).modInverse(BigInteger.valueOf(mod)) - .intValue(); - } - - /** - * Computes the modular inverse of an integer a - * - * @param a - the integer to invert - * @param mod - the modulus - * @return a-1 mod n - */ - public static long modInverse(long a, long mod) - { - return BigInteger.valueOf(a).modInverse(BigInteger.valueOf(mod)) - .longValue(); - } - - /** - * Tests whether an integer a is power of another integer - * p. - * - * @param a - the first integer - * @param p - the second integer - * @return n if a = p^n or -1 otherwise - */ - public static int isPower(int a, int p) - { - if (a <= 0) - { - return -1; - } - int n = 0; - int d = a; - while (d > 1) - { - if (d % p != 0) - { - return -1; - } - d /= p; - n++; - } - return n; - } - - /** - * Find and return the least non-trivial divisor of an integer a. - * - * @param a - the integer - * @return divisor p >1 or 1 if a = -1,0,1 - */ - public static int leastDiv(int a) - { - if (a < 0) - { - a = -a; - } - if (a == 0) - { - return 1; - } - if ((a & 1) == 0) - { - return 2; - } - int p = 3; - while (p <= (a / p)) - { - if ((a % p) == 0) - { - return p; - } - p += 2; - } - - return a; - } - - /** - * Miller-Rabin-Test, determines wether the given integer is probably prime - * or composite. This method returns true if the given integer is - * prime with probability 1 - 2-20. - * - * @param n the integer to test for primality - * @return true if the given integer is prime with probability - * 2-100, false otherwise - */ - public static boolean isPrime(int n) - { - if (n < 2) - { - return false; - } - if (n == 2) - { - return true; - } - if ((n & 1) == 0) - { - return false; - } - if (n < 42) - { - for (int i = 0; i < SMALL_PRIMES.length; i++) - { - if (n == SMALL_PRIMES[i]) - { - return true; - } - } - } - - if ((n % 3 == 0) || (n % 5 == 0) || (n % 7 == 0) || (n % 11 == 0) - || (n % 13 == 0) || (n % 17 == 0) || (n % 19 == 0) - || (n % 23 == 0) || (n % 29 == 0) || (n % 31 == 0) - || (n % 37 == 0) || (n % 41 == 0)) - { - return false; - } - - return BigInteger.valueOf(n).isProbablePrime(20); - } - - /** - * Short trial-division test to find out whether a number is not prime. This - * test is usually used before a Miller-Rabin primality test. - * - * @param candidate the number to test - * @return true if the number has no factor of the tested primes, - * false if the number is definitely composite - */ - public static boolean passesSmallPrimeTest(BigInteger candidate) - { - final int[] smallPrime = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, - 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, - 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, - 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, - 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, - 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, - 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, - 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, - 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, - 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, - 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, - 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, - 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, - 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, - 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, - 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, - 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, - 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, - 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, - 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, - 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499}; - - for (int i = 0; i < smallPrime.length; i++) - { - if (candidate.mod(BigInteger.valueOf(smallPrime[i])).equals( - ZERO)) - { - return false; - } - } - return true; - } - - /** - * Returns the largest prime smaller than the given integer - * - * @param n - upper bound - * @return the largest prime smaller than n, or 1 if - * n <= 2 - */ - public static int nextSmallerPrime(int n) - { - if (n <= 2) - { - return 1; - } - - if (n == 3) - { - return 2; - } - - if ((n & 1) == 0) - { - n--; - } - else - { - n -= 2; - } - - while (n > 3 & !isPrime(n)) - { - n -= 2; - } - return n; - } - - /** - * Compute the next probable prime greater than n with the - * specified certainty. - * - * @param n a integer number - * @param certainty the certainty that the generated number is prime - * @return the next prime greater than n - */ - public static BigInteger nextProbablePrime(BigInteger n, int certainty) - { - - if (n.signum() < 0 || n.signum() == 0 || n.equals(ONE)) - { - return TWO; - } - - BigInteger result = n.add(ONE); - - // Ensure an odd number - if (!result.testBit(0)) - { - result = result.add(ONE); - } - - while (true) - { - // Do cheap "pre-test" if applicable - if (result.bitLength() > 6) - { - long r = result.remainder( - BigInteger.valueOf(SMALL_PRIME_PRODUCT)).longValue(); - if ((r % 3 == 0) || (r % 5 == 0) || (r % 7 == 0) - || (r % 11 == 0) || (r % 13 == 0) || (r % 17 == 0) - || (r % 19 == 0) || (r % 23 == 0) || (r % 29 == 0) - || (r % 31 == 0) || (r % 37 == 0) || (r % 41 == 0)) - { - result = result.add(TWO); - continue; // Candidate is composite; try another - } - } - - // All candidates of bitLength 2 and 3 are prime by this point - if (result.bitLength() < 4) - { - return result; - } - - // The expensive test - if (result.isProbablePrime(certainty)) - { - return result; - } - - result = result.add(TWO); - } - } - - /** - * Compute the next probable prime greater than n with the default - * certainty (20). - * - * @param n a integer number - * @return the next prime greater than n - */ - public static BigInteger nextProbablePrime(BigInteger n) - { - return nextProbablePrime(n, 20); - } - - /** - * Computes the next prime greater than n. - * - * @param n a integer number - * @return the next prime greater than n - */ - public static BigInteger nextPrime(long n) - { - long i; - boolean found = false; - long result = 0; - - if (n <= 1) - { - return BigInteger.valueOf(2); - } - if (n == 2) - { - return BigInteger.valueOf(3); - } - - for (i = n + 1 + (n & 1); (i <= n << 1) && !found; i += 2) - { - for (long j = 3; (j <= i >> 1) && !found; j += 2) - { - if (i % j == 0) - { - found = true; - } - } - if (found) - { - found = false; - } - else - { - result = i; - found = true; - } - } - return BigInteger.valueOf(result); - } - - /** - * Computes the binomial coefficient (n|t) ("n over t"). Formula:
    - *

      - *
    • if n !=0 and t != 0 then (n|t) = Mult(i=1, t): (n-(i-1))/i
    • - *
    • if t = 0 then (n|t) = 1
    • - *
    • if n = 0 and t > 0 then (n|t) = 0
    • - *
    - * - * @param n - the "upper" integer - * @param t - the "lower" integer - * @return the binomialcoefficient "n over t" as BigInteger - */ - public static BigInteger binomial(int n, int t) - { - - BigInteger result = ONE; - - if (n == 0) - { - if (t == 0) - { - return result; - } - return ZERO; - } - - // the property (n|t) = (n|n-t) be used to reduce numbers of operations - if (t > (n >>> 1)) - { - t = n - t; - } - - for (int i = 1; i <= t; i++) - { - result = (result.multiply(BigInteger.valueOf(n - (i - 1)))) - .divide(BigInteger.valueOf(i)); - } - - return result; - } - - public static BigInteger randomize(BigInteger upperBound) - { - if (sr == null) - { - sr = new SecureRandom(); - } - return randomize(upperBound, sr); - } - - public static BigInteger randomize(BigInteger upperBound, - SecureRandom prng) - { - int blen = upperBound.bitLength(); - BigInteger randomNum = BigInteger.valueOf(0); - - if (prng == null) - { - prng = sr != null ? sr : new SecureRandom(); - } - - for (int i = 0; i < 20; i++) - { - randomNum = new BigInteger(blen, prng); - if (randomNum.compareTo(upperBound) < 0) - { - return randomNum; - } - } - return randomNum.mod(upperBound); - } - - /** - * Extract the truncated square root of a BigInteger. - * - * @param a - value out of which we extract the square root - * @return the truncated square root of a - */ - public static BigInteger squareRoot(BigInteger a) - { - int bl; - BigInteger result, remainder, b; - - if (a.compareTo(ZERO) < 0) - { - throw new ArithmeticException( - "cannot extract root of negative number" + a + "."); - } - - bl = a.bitLength(); - result = ZERO; - remainder = ZERO; - - // if the bit length is odd then extra step - if ((bl & 1) != 0) - { - result = result.add(ONE); - bl--; - } - - while (bl > 0) - { - remainder = remainder.multiply(FOUR); - remainder = remainder.add(BigInteger.valueOf((a.testBit(--bl) ? 2 - : 0) - + (a.testBit(--bl) ? 1 : 0))); - b = result.multiply(FOUR).add(ONE); - result = result.multiply(TWO); - if (remainder.compareTo(b) != -1) - { - result = result.add(ONE); - remainder = remainder.subtract(b); - } - } - - return result; - } - - /** - * Takes an approximation of the root from an integer base, using newton's - * algorithm - * - * @param base the base to take the root from - * @param root the root, for example 2 for a square root - */ - public static float intRoot(int base, int root) - { - float gNew = base / root; - float gOld = 0; - int counter = 0; - while (Math.abs(gOld - gNew) > 0.0001) - { - float gPow = floatPow(gNew, root); - while (Float.isInfinite(gPow)) - { - gNew = (gNew + gOld) / 2; - gPow = floatPow(gNew, root); - } - counter += 1; - gOld = gNew; - gNew = gOld - (gPow - base) / (root * floatPow(gOld, root - 1)); - } - return gNew; - } - - /** - * Calculation of a logarithmus of a float param - * - * @param param - * @return - */ - public static float floatLog(float param) - { - double arg = (param - 1) / (param + 1); - double arg2 = arg; - int counter = 1; - float result = (float)arg; - - while (arg2 > 0.001) - { - counter += 2; - arg2 *= arg * arg; - result += (1. / counter) * arg2; - } - return 2 * result; - } - - /** - * int power of a base float, only use for small ints - * - * @param f - * @param i - * @return - */ - public static float floatPow(float f, int i) - { - float g = 1; - for (; i > 0; i--) - { - g *= f; - } - return g; - } - - /** - * calculate the logarithm to the base 2. - * - * @param x any double value - * @return log_2(x) - * @deprecated use MathFunctions.log(double) instead - */ - public static double log(double x) - { - if (x > 0 && x < 1) - { - double d = 1 / x; - double result = -log(d); - return result; - } - - int tmp = 0; - double tmp2 = 1; - double d = x; - - while (d > 2) - { - d = d / 2; - tmp += 1; - tmp2 *= 2; - } - double rem = x / tmp2; - rem = logBKM(rem); - return tmp + rem; - } - - /** - * calculate the logarithm to the base 2. - * - * @param x any long value >=1 - * @return log_2(x) - * @deprecated use MathFunctions.log(long) instead - */ - public static double log(long x) - { - int tmp = floorLog(BigInteger.valueOf(x)); - long tmp2 = 1 << tmp; - double rem = (double)x / (double)tmp2; - rem = logBKM(rem); - return tmp + rem; - } - - /** - * BKM Algorithm to calculate logarithms to the base 2. - * - * @param arg a double value with 1<= arg<= 4.768462058 - * @return log_2(arg) - * @deprecated use MathFunctions.logBKM(double) instead - */ - private static double logBKM(double arg) - { - double ae[] = // A_e[k] = log_2 (1 + 0.5^k) - { - 1.0000000000000000000000000000000000000000000000000000000000000000000000000000, - 0.5849625007211561814537389439478165087598144076924810604557526545410982276485, - 0.3219280948873623478703194294893901758648313930245806120547563958159347765589, - 0.1699250014423123629074778878956330175196288153849621209115053090821964552970, - 0.0874628412503394082540660108104043540112672823448206881266090643866965081686, - 0.0443941193584534376531019906736094674630459333742491317685543002674288465967, - 0.0223678130284545082671320837460849094932677948156179815932199216587899627785, - 0.0112272554232541203378805844158839407281095943600297940811823651462712311786, - 0.0056245491938781069198591026740666017211096815383520359072957784732489771013, - 0.0028150156070540381547362547502839489729507927389771959487826944878598909400, - 0.0014081943928083889066101665016890524233311715793462235597709051792834906001, - 0.0007042690112466432585379340422201964456668872087249334581924550139514213168, - 0.0003521774803010272377989609925281744988670304302127133979341729842842377649, - 0.0001760994864425060348637509459678580940163670081839283659942864068257522373, - 0.0000880524301221769086378699983597183301490534085738474534831071719854721939, - 0.0000440268868273167176441087067175806394819146645511899503059774914593663365, - 0.0000220136113603404964890728830697555571275493801909791504158295359319433723, - 0.0000110068476674814423006223021573490183469930819844945565597452748333526464, - 0.0000055034343306486037230640321058826431606183125807276574241540303833251704, - 0.0000027517197895612831123023958331509538486493412831626219340570294203116559, - 0.0000013758605508411382010566802834037147561973553922354232704569052932922954, - 0.0000006879304394358496786728937442939160483304056131990916985043387874690617, - 0.0000003439652607217645360118314743718005315334062644619363447395987584138324, - 0.0000001719826406118446361936972479533123619972434705828085978955697643547921, - 0.0000000859913228686632156462565208266682841603921494181830811515318381744650, - 0.0000000429956620750168703982940244684787907148132725669106053076409624949917, - 0.0000000214978311976797556164155504126645192380395989504741781512309853438587, - 0.0000000107489156388827085092095702361647949603617203979413516082280717515504, - 0.0000000053744578294520620044408178949217773318785601260677517784797554422804, - 0.0000000026872289172287079490026152352638891824761667284401180026908031182361, - 0.0000000013436144592400232123622589569799954658536700992739887706412976115422, - 0.0000000006718072297764289157920422846078078155859484240808550018085324187007, - 0.0000000003359036149273187853169587152657145221968468364663464125722491530858, - 0.0000000001679518074734354745159899223037458278711244127245990591908996412262, - 0.0000000000839759037391617577226571237484864917411614198675604731728132152582, - 0.0000000000419879518701918839775296677020135040214077417929807824842667285938, - 0.0000000000209939759352486932678195559552767641474249812845414125580747434389, - 0.0000000000104969879676625344536740142096218372850561859495065136990936290929, - 0.0000000000052484939838408141817781356260462777942148580518406975851213868092, - 0.0000000000026242469919227938296243586262369156865545638305682553644113887909, - 0.0000000000013121234959619935994960031017850191710121890821178731821983105443, - 0.0000000000006560617479811459709189576337295395590603644549624717910616347038, - 0.0000000000003280308739906102782522178545328259781415615142931952662153623493, - 0.0000000000001640154369953144623242936888032768768777422997704541618141646683, - 0.0000000000000820077184976595619616930350508356401599552034612281802599177300, - 0.0000000000000410038592488303636807330652208397742314215159774270270147020117, - 0.0000000000000205019296244153275153381695384157073687186580546938331088730952, - 0.0000000000000102509648122077001764119940017243502120046885379813510430378661, - 0.0000000000000051254824061038591928917243090559919209628584150482483994782302, - 0.0000000000000025627412030519318726172939815845367496027046030028595094737777, - 0.0000000000000012813706015259665053515049475574143952543145124550608158430592, - 0.0000000000000006406853007629833949364669629701200556369782295210193569318434, - 0.0000000000000003203426503814917330334121037829290364330169106716787999052925, - 0.0000000000000001601713251907458754080007074659337446341494733882570243497196, - 0.0000000000000000800856625953729399268240176265844257044861248416330071223615, - 0.0000000000000000400428312976864705191179247866966320469710511619971334577509, - 0.0000000000000000200214156488432353984854413866994246781519154793320684126179, - 0.0000000000000000100107078244216177339743404416874899847406043033792202127070, - 0.0000000000000000050053539122108088756700751579281894640362199287591340285355, - 0.0000000000000000025026769561054044400057638132352058574658089256646014899499, - 0.0000000000000000012513384780527022205455634651853807110362316427807660551208, - 0.0000000000000000006256692390263511104084521222346348012116229213309001913762, - 0.0000000000000000003128346195131755552381436585278035120438976487697544916191, - 0.0000000000000000001564173097565877776275512286165232838833090480508502328437, - 0.0000000000000000000782086548782938888158954641464170239072244145219054734086, - 0.0000000000000000000391043274391469444084776945327473574450334092075712154016, - 0.0000000000000000000195521637195734722043713378812583900953755962557525252782, - 0.0000000000000000000097760818597867361022187915943503728909029699365320287407, - 0.0000000000000000000048880409298933680511176764606054809062553340323879609794, - 0.0000000000000000000024440204649466840255609083961603140683286362962192177597, - 0.0000000000000000000012220102324733420127809717395445504379645613448652614939, - 0.0000000000000000000006110051162366710063906152551383735699323415812152114058, - 0.0000000000000000000003055025581183355031953399739107113727036860315024588989, - 0.0000000000000000000001527512790591677515976780735407368332862218276873443537, - 0.0000000000000000000000763756395295838757988410584167137033767056170417508383, - 0.0000000000000000000000381878197647919378994210346199431733717514843471513618, - 0.0000000000000000000000190939098823959689497106436628681671067254111334889005, - 0.0000000000000000000000095469549411979844748553534196582286585751228071408728, - 0.0000000000000000000000047734774705989922374276846068851506055906657137209047, - 0.0000000000000000000000023867387352994961187138442777065843718711089344045782, - 0.0000000000000000000000011933693676497480593569226324192944532044984865894525, - 0.0000000000000000000000005966846838248740296784614396011477934194852481410926, - 0.0000000000000000000000002983423419124370148392307506484490384140516252814304, - 0.0000000000000000000000001491711709562185074196153830361933046331030629430117, - 0.0000000000000000000000000745855854781092537098076934460888486730708440475045, - 0.0000000000000000000000000372927927390546268549038472050424734256652501673274, - 0.0000000000000000000000000186463963695273134274519237230207489851150821191330, - 0.0000000000000000000000000093231981847636567137259618916352525606281553180093, - 0.0000000000000000000000000046615990923818283568629809533488457973317312233323, - 0.0000000000000000000000000023307995461909141784314904785572277779202790023236, - 0.0000000000000000000000000011653997730954570892157452397493151087737428485431, - 0.0000000000000000000000000005826998865477285446078726199923328593402722606924, - 0.0000000000000000000000000002913499432738642723039363100255852559084863397344, - 0.0000000000000000000000000001456749716369321361519681550201473345138307215067, - 0.0000000000000000000000000000728374858184660680759840775119123438968122488047, - 0.0000000000000000000000000000364187429092330340379920387564158411083803465567, - 0.0000000000000000000000000000182093714546165170189960193783228378441837282509, - 0.0000000000000000000000000000091046857273082585094980096891901482445902524441, - 0.0000000000000000000000000000045523428636541292547490048446022564529197237262, - 0.0000000000000000000000000000022761714318270646273745024223029238091160103901}; - int n = 53; - double x = 1; - double y = 0; - double z; - double s = 1; - int k; - - for (k = 0; k < n; k++) - { - z = x + x * s; - if (z <= arg) - { - x = z; - y += ae[k]; - } - s *= 0.5; - } - return y; - } - - public static boolean isIncreasing(int[] a) - { - for (int i = 1; i < a.length; i++) - { - if (a[i - 1] >= a[i]) - { - System.out.println("a[" + (i - 1) + "] = " + a[i - 1] + " >= " - + a[i] + " = a[" + i + "]"); - return false; - } - } - return true; - } - - public static byte[] integerToOctets(BigInteger val) - { - byte[] valBytes = val.abs().toByteArray(); - - // check whether the array includes a sign bit - if ((val.bitLength() & 7) != 0) - { - return valBytes; - } - // get rid of the sign bit (first byte) - byte[] tmp = new byte[val.bitLength() >> 3]; - System.arraycopy(valBytes, 1, tmp, 0, tmp.length); - return tmp; - } - - public static BigInteger octetsToInteger(byte[] data, int offset, - int length) - { - byte[] val = new byte[length + 1]; - - val[0] = 0; - System.arraycopy(data, offset, val, 1, length); - return new BigInteger(val); - } - - public static BigInteger octetsToInteger(byte[] data) - { - return octetsToInteger(data, 0, data.length); - } - - public static void main(String[] args) - { - System.out.println("test"); - // System.out.println(intRoot(37, 5)); - // System.out.println(floatPow((float)2.5, 4)); - System.out.println(floatLog(10)); - System.out.println("test2"); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/LittleEndianConversions.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/LittleEndianConversions.java deleted file mode 100644 index 111695218..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/LittleEndianConversions.java +++ /dev/null @@ -1,230 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This is a utility class containing data type conversions using little-endian - * byte order. - * - * @see BigEndianConversions - */ -public final class LittleEndianConversions -{ - - /** - * Default constructor (private). - */ - private LittleEndianConversions() - { - // empty - } - - /** - * Convert an octet string of length 4 to an integer. No length checking is - * performed. - * - * @param input the byte array holding the octet string - * @return an integer representing the octet string input - * @throws ArithmeticException if the length of the given octet string is larger than 4. - */ - public static int OS2IP(byte[] input) - { - return ((input[0] & 0xff)) | ((input[1] & 0xff) << 8) - | ((input[2] & 0xff) << 16) | ((input[3] & 0xff)) << 24; - } - - /** - * Convert an byte array of length 4 beginning at offset into an - * integer. - * - * @param input the byte array - * @param inOff the offset into the byte array - * @return the resulting integer - */ - public static int OS2IP(byte[] input, int inOff) - { - int result = input[inOff++] & 0xff; - result |= (input[inOff++] & 0xff) << 8; - result |= (input[inOff++] & 0xff) << 16; - result |= (input[inOff] & 0xff) << 24; - return result; - } - - /** - * Convert a byte array of the given length beginning at offset - * into an integer. - * - * @param input the byte array - * @param inOff the offset into the byte array - * @param inLen the length of the encoding - * @return the resulting integer - */ - public static int OS2IP(byte[] input, int inOff, int inLen) - { - int result = 0; - for (int i = inLen - 1; i >= 0; i--) - { - result |= (input[inOff + i] & 0xff) << (8 * i); - } - return result; - } - - /** - * Convert a byte array of length 8 beginning at inOff into a - * long integer. - * - * @param input the byte array - * @param inOff the offset into the byte array - * @return the resulting long integer - */ - public static long OS2LIP(byte[] input, int inOff) - { - long result = input[inOff++] & 0xff; - result |= (input[inOff++] & 0xff) << 8; - result |= (input[inOff++] & 0xff) << 16; - result |= ((long)input[inOff++] & 0xff) << 24; - result |= ((long)input[inOff++] & 0xff) << 32; - result |= ((long)input[inOff++] & 0xff) << 40; - result |= ((long)input[inOff++] & 0xff) << 48; - result |= ((long)input[inOff++] & 0xff) << 56; - return result; - } - - /** - * Convert an integer to an octet string of length 4. - * - * @param x the integer to convert - * @return the converted integer - */ - public static byte[] I2OSP(int x) - { - byte[] result = new byte[4]; - result[0] = (byte)x; - result[1] = (byte)(x >>> 8); - result[2] = (byte)(x >>> 16); - result[3] = (byte)(x >>> 24); - return result; - } - - /** - * Convert an integer into a byte array beginning at the specified offset. - * - * @param value the integer to convert - * @param output the byte array to hold the result - * @param outOff the integer offset into the byte array - */ - public static void I2OSP(int value, byte[] output, int outOff) - { - output[outOff++] = (byte)value; - output[outOff++] = (byte)(value >>> 8); - output[outOff++] = (byte)(value >>> 16); - output[outOff++] = (byte)(value >>> 24); - } - - /** - * Convert an integer to a byte array beginning at the specified offset. No - * length checking is performed (i.e., if the integer cannot be encoded with - * length octets, it is truncated). - * - * @param value the integer to convert - * @param output the byte array to hold the result - * @param outOff the integer offset into the byte array - * @param outLen the length of the encoding - */ - public static void I2OSP(int value, byte[] output, int outOff, int outLen) - { - for (int i = outLen - 1; i >= 0; i--) - { - output[outOff + i] = (byte)(value >>> (8 * i)); - } - } - - /** - * Convert an integer to a byte array of length 8. - * - * @param input the integer to convert - * @return the converted integer - */ - public static byte[] I2OSP(long input) - { - byte[] output = new byte[8]; - output[0] = (byte)input; - output[1] = (byte)(input >>> 8); - output[2] = (byte)(input >>> 16); - output[3] = (byte)(input >>> 24); - output[4] = (byte)(input >>> 32); - output[5] = (byte)(input >>> 40); - output[6] = (byte)(input >>> 48); - output[7] = (byte)(input >>> 56); - return output; - } - - /** - * Convert an integer to a byte array of length 8. - * - * @param input the integer to convert - * @param output byte array holding the output - * @param outOff offset in output array where the result is stored - */ - public static void I2OSP(long input, byte[] output, int outOff) - { - output[outOff++] = (byte)input; - output[outOff++] = (byte)(input >>> 8); - output[outOff++] = (byte)(input >>> 16); - output[outOff++] = (byte)(input >>> 24); - output[outOff++] = (byte)(input >>> 32); - output[outOff++] = (byte)(input >>> 40); - output[outOff++] = (byte)(input >>> 48); - output[outOff] = (byte)(input >>> 56); - } - - /** - * Convert an int array to a byte array of the specified length. No length - * checking is performed (i.e., if the last integer cannot be encoded with - * length % 4 octets, it is truncated). - * - * @param input the int array - * @param outLen the length of the converted array - * @return the converted array - */ - public static byte[] toByteArray(int[] input, int outLen) - { - int intLen = input.length; - byte[] result = new byte[outLen]; - int index = 0; - for (int i = 0; i <= intLen - 2; i++, index += 4) - { - I2OSP(input[i], result, index); - } - I2OSP(input[intLen - 1], result, index, outLen - index); - return result; - } - - /** - * Convert a byte array to an int array. - * - * @param input the byte array - * @return the converted array - */ - public static int[] toIntArray(byte[] input) - { - int intLen = (input.length + 3) / 4; - int lastLen = input.length & 0x03; - int[] result = new int[intLen]; - - int index = 0; - for (int i = 0; i <= intLen - 2; i++, index += 4) - { - result[i] = OS2IP(input, index); - } - if (lastLen != 0) - { - result[intLen - 1] = OS2IP(input, index, lastLen); - } - else - { - result[intLen - 1] = OS2IP(input, index); - } - - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Matrix.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Matrix.java deleted file mode 100644 index 170c5a217..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Matrix.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This abstract class defines matrices. It holds the number of rows and the - * number of columns of the matrix and defines some basic methods. - */ -public abstract class Matrix -{ - - /** - * number of rows - */ - protected int numRows; - - /** - * number of columns - */ - protected int numColumns; - - // ---------------------------------------------------- - // some constants (matrix types) - // ---------------------------------------------------- - - /** - * zero matrix - */ - public static final char MATRIX_TYPE_ZERO = 'Z'; - - /** - * unit matrix - */ - public static final char MATRIX_TYPE_UNIT = 'I'; - - /** - * random lower triangular matrix - */ - public static final char MATRIX_TYPE_RANDOM_LT = 'L'; - - /** - * random upper triangular matrix - */ - public static final char MATRIX_TYPE_RANDOM_UT = 'U'; - - /** - * random regular matrix - */ - public static final char MATRIX_TYPE_RANDOM_REGULAR = 'R'; - - // ---------------------------------------------------- - // getters - // ---------------------------------------------------- - - /** - * @return the number of rows in the matrix - */ - public int getNumRows() - { - return numRows; - } - - /** - * @return the number of columns in the binary matrix - */ - public int getNumColumns() - { - return numColumns; - } - - /** - * @return the encoded matrix, i.e., this matrix in byte array form. - */ - public abstract byte[] getEncoded(); - - // ---------------------------------------------------- - // arithmetic - // ---------------------------------------------------- - - /** - * Compute the inverse of this matrix. - * - * @return the inverse of this matrix (newly created). - */ - public abstract Matrix computeInverse(); - - /** - * Check if this is the zero matrix (i.e., all entries are zero). - * - * @return true if this is the zero matrix - */ - public abstract boolean isZero(); - - /** - * Compute the product of this matrix and another matrix. - * - * @param a the other matrix - * @return this * a (newly created) - */ - public abstract Matrix rightMultiply(Matrix a); - - /** - * Compute the product of this matrix and a permutation. - * - * @param p the permutation - * @return this * p (newly created) - */ - public abstract Matrix rightMultiply(Permutation p); - - /** - * Compute the product of a vector and this matrix. If the length of the - * vector is greater than the number of rows of this matrix, the matrix is - * multiplied by each m-bit part of the vector. - * - * @param vector a vector - * @return vector * this (newly created) - */ - public abstract Vector leftMultiply(Vector vector); - - /** - * Compute the product of this matrix and a vector. - * - * @param vector a vector - * @return this * vector (newly created) - */ - public abstract Vector rightMultiply(Vector vector); - - /** - * @return a human readable form of the matrix. - */ - public abstract String toString(); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Permutation.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Permutation.java deleted file mode 100644 index 2f1b505b3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Permutation.java +++ /dev/null @@ -1,247 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class implements permutations of the set {0,1,...,n-1} for some given n - * > 0, i.e., ordered sequences containing each number m (0 <= - * m < n) - * once and only once. - */ -public class Permutation -{ - - /** - * perm holds the elements of the permutation vector, i.e. [perm(0), - * perm(1), ..., perm(n-1)] - */ - private int[] perm; - - /** - * Create the identity permutation of the given size. - * - * @param n the size of the permutation - */ - public Permutation(int n) - { - if (n <= 0) - { - throw new IllegalArgumentException("invalid length"); - } - - perm = new int[n]; - for (int i = n - 1; i >= 0; i--) - { - perm[i] = i; - } - } - - /** - * Create a permutation using the given permutation vector. - * - * @param perm the permutation vector - */ - public Permutation(int[] perm) - { - if (!isPermutation(perm)) - { - throw new IllegalArgumentException( - "array is not a permutation vector"); - } - - this.perm = IntUtils.clone(perm); - } - - /** - * Create a permutation from an encoded permutation. - * - * @param enc the encoded permutation - */ - public Permutation(byte[] enc) - { - if (enc.length <= 4) - { - throw new IllegalArgumentException("invalid encoding"); - } - - int n = LittleEndianConversions.OS2IP(enc, 0); - int size = IntegerFunctions.ceilLog256(n - 1); - - if (enc.length != 4 + n * size) - { - throw new IllegalArgumentException("invalid encoding"); - } - - perm = new int[n]; - for (int i = 0; i < n; i++) - { - perm[i] = LittleEndianConversions.OS2IP(enc, 4 + i * size, size); - } - - if (!isPermutation(perm)) - { - throw new IllegalArgumentException("invalid encoding"); - } - - } - - /** - * Create a random permutation of the given size. - * - * @param n the size of the permutation - * @param sr the source of randomness - */ - public Permutation(int n, SecureRandom sr) - { - if (n <= 0) - { - throw new IllegalArgumentException("invalid length"); - } - - perm = new int[n]; - - int[] help = new int[n]; - for (int i = 0; i < n; i++) - { - help[i] = i; - } - - int k = n; - for (int j = 0; j < n; j++) - { - int i = RandUtils.nextInt(sr, k); - k--; - perm[j] = help[i]; - help[i] = help[k]; - } - } - - /** - * Encode this permutation as byte array. - * - * @return the encoded permutation - */ - public byte[] getEncoded() - { - int n = perm.length; - int size = IntegerFunctions.ceilLog256(n - 1); - byte[] result = new byte[4 + n * size]; - LittleEndianConversions.I2OSP(n, result, 0); - for (int i = 0; i < n; i++) - { - LittleEndianConversions.I2OSP(perm[i], result, 4 + i * size, size); - } - return result; - } - - /** - * @return the permutation vector (perm(0),perm(1),...,perm(n-1)) - */ - public int[] getVector() - { - return IntUtils.clone(perm); - } - - /** - * Compute the inverse permutation P-1. - * - * @return this-1 - */ - public Permutation computeInverse() - { - Permutation result = new Permutation(perm.length); - for (int i = perm.length - 1; i >= 0; i--) - { - result.perm[perm[i]] = i; - } - return result; - } - - /** - * Compute the product of this permutation and another permutation. - * - * @param p the other permutation - * @return this * p - */ - public Permutation rightMultiply(Permutation p) - { - if (p.perm.length != perm.length) - { - throw new IllegalArgumentException("length mismatch"); - } - Permutation result = new Permutation(perm.length); - for (int i = perm.length - 1; i >= 0; i--) - { - result.perm[i] = perm[p.perm[i]]; - } - return result; - } - - /** - * checks if given object is equal to this permutation. - *

    - * The method returns false whenever the given object is not permutation. - * - * @param other - - * permutation - * @return true or false - */ - public boolean equals(Object other) - { - - if (!(other instanceof Permutation)) - { - return false; - } - Permutation otherPerm = (Permutation)other; - - return IntUtils.equals(perm, otherPerm.perm); - } - - /** - * @return a human readable form of the permutation - */ - public String toString() - { - String result = "[" + perm[0]; - for (int i = 1; i < perm.length; i++) - { - result += ", " + perm[i]; - } - result += "]"; - return result; - } - - /** - * @return the hash code of this permutation - */ - public int hashCode() - { - return perm.hashCode(); - } - - /** - * Check that the given array corresponds to a permutation of the set - * {0, 1, ..., n-1}. - * - * @param perm permutation vector - * @return true if perm represents an n-permutation and false otherwise - */ - private boolean isPermutation(int[] perm) - { - int n = perm.length; - boolean[] onlyOnce = new boolean[n]; - - for (int i = 0; i < n; i++) - { - if ((perm[i] < 0) || (perm[i] >= n) || onlyOnce[perm[i]]) - { - return false; - } - onlyOnce[perm[i]] = true; - } - - return true; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialGF2mSmallM.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialGF2mSmallM.java deleted file mode 100644 index adab34ccd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialGF2mSmallM.java +++ /dev/null @@ -1,1125 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -/** - * This class describes operations with polynomials from the ring R = - * GF(2^m)[X], where 2 <= m <=31. - * - * @see GF2mField - * @see PolynomialRingGF2m - */ -public class PolynomialGF2mSmallM -{ - - /** - * the finite field GF(2^m) - */ - private GF2mField field; - - /** - * the degree of this polynomial - */ - private int degree; - - /** - * For the polynomial representation the map f: R->Z*, - * poly(X) -> [coef_0, coef_1, ...] is used, where - * coef_i is the ith coefficient of the polynomial - * represented as int (see {@link GF2mField}). The polynomials are stored - * as int arrays. - */ - private int[] coefficients; - - /* - * some types of polynomials - */ - - /** - * Constant used for polynomial construction (see constructor - * {@link #PolynomialGF2mSmallM(GF2mField, int, char, SecureRandom)}). - */ - public static final char RANDOM_IRREDUCIBLE_POLYNOMIAL = 'I'; - - /** - * Construct the zero polynomial over the finite field GF(2^m). - * - * @param field the finite field GF(2^m) - */ - public PolynomialGF2mSmallM(GF2mField field) - { - this.field = field; - degree = -1; - coefficients = new int[1]; - } - - /** - * Construct a polynomial over the finite field GF(2^m). - * - * @param field the finite field GF(2^m) - * @param deg degree of polynomial - * @param typeOfPolynomial type of polynomial - * @param sr PRNG - */ - public PolynomialGF2mSmallM(GF2mField field, int deg, - char typeOfPolynomial, SecureRandom sr) - { - this.field = field; - - switch (typeOfPolynomial) - { - case PolynomialGF2mSmallM.RANDOM_IRREDUCIBLE_POLYNOMIAL: - coefficients = createRandomIrreduciblePolynomial(deg, sr); - break; - default: - throw new IllegalArgumentException(" Error: type " - + typeOfPolynomial - + " is not defined for GF2smallmPolynomial"); - } - computeDegree(); - } - - /** - * Create an irreducible polynomial with the given degree over the field - * GF(2^m). - * - * @param deg polynomial degree - * @param sr source of randomness - * @return the generated irreducible polynomial - */ - private int[] createRandomIrreduciblePolynomial(int deg, SecureRandom sr) - { - int[] resCoeff = new int[deg + 1]; - resCoeff[deg] = 1; - resCoeff[0] = field.getRandomNonZeroElement(sr); - for (int i = 1; i < deg; i++) - { - resCoeff[i] = field.getRandomElement(sr); - } - while (!isIrreducible(resCoeff)) - { - int n = RandUtils.nextInt(sr, deg); - if (n == 0) - { - resCoeff[0] = field.getRandomNonZeroElement(sr); - } - else - { - resCoeff[n] = field.getRandomElement(sr); - } - } - return resCoeff; - } - - /** - * Construct a monomial of the given degree over the finite field GF(2^m). - * - * @param field the finite field GF(2^m) - * @param degree the degree of the monomial - */ - public PolynomialGF2mSmallM(GF2mField field, int degree) - { - this.field = field; - this.degree = degree; - coefficients = new int[degree + 1]; - coefficients[degree] = 1; - } - - /** - * Construct the polynomial over the given finite field GF(2^m) from the - * given coefficient vector. - * - * @param field finite field GF2m - * @param coeffs the coefficient vector - */ - public PolynomialGF2mSmallM(GF2mField field, int[] coeffs) - { - this.field = field; - coefficients = normalForm(coeffs); - computeDegree(); - } - - /** - * Create a polynomial over the finite field GF(2^m). - * - * @param field the finite field GF(2^m) - * @param enc byte[] polynomial in byte array form - */ - public PolynomialGF2mSmallM(GF2mField field, byte[] enc) - { - this.field = field; - - // decodes polynomial - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - if ((enc.length % count) != 0) - { - throw new IllegalArgumentException( - " Error: byte array is not encoded polynomial over given finite field GF2m"); - } - - coefficients = new int[enc.length / count]; - count = 0; - for (int i = 0; i < coefficients.length; i++) - { - for (int j = 0; j < d; j += 8) - { - coefficients[i] ^= (enc[count++] & 0x000000ff) << j; - } - if (!this.field.isElementOfThisField(coefficients[i])) - { - throw new IllegalArgumentException( - " Error: byte array is not encoded polynomial over given finite field GF2m"); - } - } - // if HC = 0 for non-zero polynomial, returns error - if ((coefficients.length != 1) - && (coefficients[coefficients.length - 1] == 0)) - { - throw new IllegalArgumentException( - " Error: byte array is not encoded polynomial over given finite field GF2m"); - } - computeDegree(); - } - - /** - * Copy constructor. - * - * @param other another {@link PolynomialGF2mSmallM} - */ - public PolynomialGF2mSmallM(PolynomialGF2mSmallM other) - { - // field needs not to be cloned since it is immutable - field = other.field; - degree = other.degree; - coefficients = IntUtils.clone(other.coefficients); - } - - /** - * Create a polynomial over the finite field GF(2^m) out of the given - * coefficient vector. The finite field is also obtained from the - * {@link GF2mVector}. - * - * @param vect the coefficient vector - */ - public PolynomialGF2mSmallM(GF2mVector vect) - { - this(vect.getField(), vect.getIntArrayForm()); - } - - /* - * ------------------------ - */ - - /** - * Return the degree of this polynomial - * - * @return int degree of this polynomial if this is zero polynomial return - * -1 - */ - public int getDegree() - { - int d = coefficients.length - 1; - if (coefficients[d] == 0) - { - return -1; - } - return d; - } - - /** - * @return the head coefficient of this polynomial - */ - public int getHeadCoefficient() - { - if (degree == -1) - { - return 0; - } - return coefficients[degree]; - } - - /** - * Return the head coefficient of a polynomial. - * - * @param a the polynomial - * @return the head coefficient of a - */ - private static int headCoefficient(int[] a) - { - int degree = computeDegree(a); - if (degree == -1) - { - return 0; - } - return a[degree]; - } - - /** - * Return the coefficient with the given index. - * - * @param index the index - * @return the coefficient with the given index - */ - public int getCoefficient(int index) - { - if ((index < 0) || (index > degree)) - { - return 0; - } - return coefficients[index]; - } - - /** - * Returns encoded polynomial, i.e., this polynomial in byte array form - * - * @return the encoded polynomial - */ - public byte[] getEncoded() - { - int d = 8; - int count = 1; - while (field.getDegree() > d) - { - count++; - d += 8; - } - - byte[] res = new byte[coefficients.length * count]; - count = 0; - for (int i = 0; i < coefficients.length; i++) - { - for (int j = 0; j < d; j += 8) - { - res[count++] = (byte)(coefficients[i] >>> j); - } - } - - return res; - } - - /** - * Evaluate this polynomial p at a value e (in - * GF(2^m)) with the Horner scheme. - * - * @param e the element of the finite field GF(2^m) - * @return this(e) - */ - public int evaluateAt(int e) - { - int result = coefficients[degree]; - for (int i = degree - 1; i >= 0; i--) - { - result = field.mult(result, e) ^ coefficients[i]; - } - return result; - } - - /** - * Compute the sum of this polynomial and the given polynomial. - * - * @param addend the addend - * @return this + a (newly created) - */ - public PolynomialGF2mSmallM add(PolynomialGF2mSmallM addend) - { - int[] resultCoeff = add(coefficients, addend.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Add the given polynomial to this polynomial (overwrite this). - * - * @param addend the addend - */ - public void addToThis(PolynomialGF2mSmallM addend) - { - coefficients = add(coefficients, addend.coefficients); - computeDegree(); - } - - /** - * Compute the sum of two polynomials a and b over the finite field - * GF(2^m). - * - * @param a the first polynomial - * @param b the second polynomial - * @return a + b - */ - private int[] add(int[] a, int[] b) - { - int[] result, addend; - if (a.length < b.length) - { - result = new int[b.length]; - System.arraycopy(b, 0, result, 0, b.length); - addend = a; - } - else - { - result = new int[a.length]; - System.arraycopy(a, 0, result, 0, a.length); - addend = b; - } - - for (int i = addend.length - 1; i >= 0; i--) - { - result[i] = field.add(result[i], addend[i]); - } - - return result; - } - - /** - * Compute the sum of this polynomial and the monomial of the given degree. - * - * @param degree the degree of the monomial - * @return this + X^k - */ - public PolynomialGF2mSmallM addMonomial(int degree) - { - int[] monomial = new int[degree + 1]; - monomial[degree] = 1; - int[] resultCoeff = add(coefficients, monomial); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the product of this polynomial with an element from GF(2^m). - * - * @param element an element of the finite field GF(2^m) - * @return this * element (newly created) - * @throws ArithmeticException if element is not an element of the finite - * field this polynomial is defined over. - */ - public PolynomialGF2mSmallM multWithElement(int element) - { - if (!field.isElementOfThisField(element)) - { - throw new ArithmeticException( - "Not an element of the finite field this polynomial is defined over."); - } - int[] resultCoeff = multWithElement(coefficients, element); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Multiply this polynomial with an element from GF(2^m). - * - * @param element an element of the finite field GF(2^m) - * @throws ArithmeticException if element is not an element of the finite - * field this polynomial is defined over. - */ - public void multThisWithElement(int element) - { - if (!field.isElementOfThisField(element)) - { - throw new ArithmeticException( - "Not an element of the finite field this polynomial is defined over."); - } - coefficients = multWithElement(coefficients, element); - computeDegree(); - } - - /** - * Compute the product of a polynomial a with an element from the finite - * field GF(2^m). - * - * @param a the polynomial - * @param element an element of the finite field GF(2^m) - * @return a * element - */ - private int[] multWithElement(int[] a, int element) - { - int degree = computeDegree(a); - if (degree == -1 || element == 0) - { - return new int[1]; - } - - if (element == 1) - { - return IntUtils.clone(a); - } - - int[] result = new int[degree + 1]; - for (int i = degree; i >= 0; i--) - { - result[i] = field.mult(a[i], element); - } - - return result; - } - - /** - * Compute the product of this polynomial with a monomial X^k. - * - * @param k the degree of the monomial - * @return this * X^k - */ - public PolynomialGF2mSmallM multWithMonomial(int k) - { - int[] resultCoeff = multWithMonomial(coefficients, k); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the product of a polynomial with a monomial X^k. - * - * @param a the polynomial - * @param k the degree of the monomial - * @return a * X^k - */ - private static int[] multWithMonomial(int[] a, int k) - { - int d = computeDegree(a); - if (d == -1) - { - return new int[1]; - } - int[] result = new int[d + k + 1]; - System.arraycopy(a, 0, result, k, d + 1); - return result; - } - - /** - * Divide this polynomial by the given polynomial. - * - * @param f a polynomial - * @return polynomial pair = {q,r} where this = q*f+r and deg(r) < - * deg(f); - */ - public PolynomialGF2mSmallM[] div(PolynomialGF2mSmallM f) - { - int[][] resultCoeffs = div(coefficients, f.coefficients); - return new PolynomialGF2mSmallM[]{ - new PolynomialGF2mSmallM(field, resultCoeffs[0]), - new PolynomialGF2mSmallM(field, resultCoeffs[1])}; - } - - /** - * Compute the result of the division of two polynomials over the field - * GF(2^m). - * - * @param a the first polynomial - * @param f the second polynomial - * @return int[][] {q,r}, where a = q*f+r and deg(r) < deg(f); - */ - private int[][] div(int[] a, int[] f) - { - int df = computeDegree(f); - int da = computeDegree(a) + 1; - if (df == -1) - { - throw new ArithmeticException("Division by zero."); - } - int[][] result = new int[2][]; - result[0] = new int[1]; - result[1] = new int[da]; - int hc = headCoefficient(f); - hc = field.inverse(hc); - result[0][0] = 0; - System.arraycopy(a, 0, result[1], 0, result[1].length); - while (df <= computeDegree(result[1])) - { - int[] q; - int[] coeff = new int[1]; - coeff[0] = field.mult(headCoefficient(result[1]), hc); - q = multWithElement(f, coeff[0]); - int n = computeDegree(result[1]) - df; - q = multWithMonomial(q, n); - coeff = multWithMonomial(coeff, n); - result[0] = add(coeff, result[0]); - result[1] = add(q, result[1]); - } - return result; - } - - /** - * Return the greatest common divisor of this and a polynomial f - * - * @param f polynomial - * @return GCD(this, f) - */ - public PolynomialGF2mSmallM gcd(PolynomialGF2mSmallM f) - { - int[] resultCoeff = gcd(coefficients, f.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Return the greatest common divisor of two polynomials over the field - * GF(2^m). - * - * @param f the first polynomial - * @param g the second polynomial - * @return gcd(f, g) - */ - private int[] gcd(int[] f, int[] g) - { - int[] a = f; - int[] b = g; - if (computeDegree(a) == -1) - { - return b; - } - while (computeDegree(b) != -1) - { - int[] c = mod(a, b); - a = new int[b.length]; - System.arraycopy(b, 0, a, 0, a.length); - b = new int[c.length]; - System.arraycopy(c, 0, b, 0, b.length); - } - int coeff = field.inverse(headCoefficient(a)); - return multWithElement(a, coeff); - } - - /** - * Compute the product of this polynomial and the given factor using a - * Karatzuba like scheme. - * - * @param factor the polynomial - * @return this * factor - */ - public PolynomialGF2mSmallM multiply(PolynomialGF2mSmallM factor) - { - int[] resultCoeff = multiply(coefficients, factor.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the product of two polynomials over the field GF(2^m) - * using a Karatzuba like multiplication. - * - * @param a the first polynomial - * @param b the second polynomial - * @return a * b - */ - private int[] multiply(int[] a, int[] b) - { - int[] mult1, mult2; - if (computeDegree(a) < computeDegree(b)) - { - mult1 = b; - mult2 = a; - } - else - { - mult1 = a; - mult2 = b; - } - - mult1 = normalForm(mult1); - mult2 = normalForm(mult2); - - if (mult2.length == 1) - { - return multWithElement(mult1, mult2[0]); - } - - int d1 = mult1.length; - int d2 = mult2.length; - int[] result = new int[d1 + d2 - 1]; - - if (d2 != d1) - { - int[] res1 = new int[d2]; - int[] res2 = new int[d1 - d2]; - System.arraycopy(mult1, 0, res1, 0, res1.length); - System.arraycopy(mult1, d2, res2, 0, res2.length); - res1 = multiply(res1, mult2); - res2 = multiply(res2, mult2); - res2 = multWithMonomial(res2, d2); - result = add(res1, res2); - } - else - { - d2 = (d1 + 1) >>> 1; - int d = d1 - d2; - int[] firstPartMult1 = new int[d2]; - int[] firstPartMult2 = new int[d2]; - int[] secondPartMult1 = new int[d]; - int[] secondPartMult2 = new int[d]; - System - .arraycopy(mult1, 0, firstPartMult1, 0, - firstPartMult1.length); - System.arraycopy(mult1, d2, secondPartMult1, 0, - secondPartMult1.length); - System - .arraycopy(mult2, 0, firstPartMult2, 0, - firstPartMult2.length); - System.arraycopy(mult2, d2, secondPartMult2, 0, - secondPartMult2.length); - int[] helpPoly1 = add(firstPartMult1, secondPartMult1); - int[] helpPoly2 = add(firstPartMult2, secondPartMult2); - int[] res1 = multiply(firstPartMult1, firstPartMult2); - int[] res2 = multiply(helpPoly1, helpPoly2); - int[] res3 = multiply(secondPartMult1, secondPartMult2); - res2 = add(res2, res1); - res2 = add(res2, res3); - res3 = multWithMonomial(res3, d2); - result = add(res2, res3); - result = multWithMonomial(result, d2); - result = add(result, res1); - } - - return result; - } - - /* - * ---------------- PART II ---------------- - * - */ - - /** - * Check a polynomial for irreducibility over the field GF(2^m). - * - * @param a the polynomial to check - * @return true if a is irreducible, false otherwise - */ - private boolean isIrreducible(int[] a) - { - if (a[0] == 0) - { - return false; - } - int d = computeDegree(a) >> 1; - int[] u = {0, 1}; - final int[] Y = {0, 1}; - int fieldDegree = field.getDegree(); - for (int i = 0; i < d; i++) - { - for (int j = fieldDegree - 1; j >= 0; j--) - { - u = modMultiply(u, u, a); - } - u = normalForm(u); - int[] g = gcd(add(u, Y), a); - if (computeDegree(g) != 0) - { - return false; - } - } - return true; - } - - /** - * Reduce this polynomial modulo another polynomial. - * - * @param f the reduction polynomial - * @return this mod f - */ - public PolynomialGF2mSmallM mod(PolynomialGF2mSmallM f) - { - int[] resultCoeff = mod(coefficients, f.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Reduce a polynomial modulo another polynomial. - * - * @param a the polynomial - * @param f the reduction polynomial - * @return a mod f - */ - private int[] mod(int[] a, int[] f) - { - int df = computeDegree(f); - if (df == -1) - { - throw new ArithmeticException("Division by zero"); - } - int[] result = new int[a.length]; - int hc = headCoefficient(f); - hc = field.inverse(hc); - System.arraycopy(a, 0, result, 0, result.length); - while (df <= computeDegree(result)) - { - int[] q; - int coeff = field.mult(headCoefficient(result), hc); - q = multWithMonomial(f, computeDegree(result) - df); - q = multWithElement(q, coeff); - result = add(q, result); - } - return result; - } - - /** - * Compute the product of this polynomial and another polynomial modulo a - * third polynomial. - * - * @param a another polynomial - * @param b the reduction polynomial - * @return this * a mod b - */ - public PolynomialGF2mSmallM modMultiply(PolynomialGF2mSmallM a, - PolynomialGF2mSmallM b) - { - int[] resultCoeff = modMultiply(coefficients, a.coefficients, - b.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Square this polynomial using a squaring matrix. - * - * @param matrix the squaring matrix - * @return this^2 modulo the reduction polynomial implicitly - * given via the squaring matrix - */ - public PolynomialGF2mSmallM modSquareMatrix(PolynomialGF2mSmallM[] matrix) - { - - int length = matrix.length; - - int[] resultCoeff = new int[length]; - int[] thisSquare = new int[length]; - - // square each entry of this polynomial - for (int i = 0; i < coefficients.length; i++) - { - thisSquare[i] = field.mult(coefficients[i], coefficients[i]); - } - - // do matrix-vector multiplication - for (int i = 0; i < length; i++) - { - // compute scalar product of i-th row and coefficient vector - for (int j = 0; j < length; j++) - { - if (i >= matrix[j].coefficients.length) - { - continue; - } - int scalarTerm = field.mult(matrix[j].coefficients[i], - thisSquare[j]); - resultCoeff[i] = field.add(resultCoeff[i], scalarTerm); - } - } - - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the product of two polynomials modulo a third polynomial over the - * finite field GF(2^m). - * - * @param a the first polynomial - * @param b the second polynomial - * @param g the reduction polynomial - * @return a * b mod g - */ - private int[] modMultiply(int[] a, int[] b, int[] g) - { - return mod(multiply(a, b), g); - } - - /** - * Compute the square root of this polynomial modulo the given polynomial. - * - * @param a the reduction polynomial - * @return this^(1/2) mod a - */ - public PolynomialGF2mSmallM modSquareRoot(PolynomialGF2mSmallM a) - { - int[] resultCoeff = IntUtils.clone(coefficients); - int[] help = modMultiply(resultCoeff, resultCoeff, a.coefficients); - while (!isEqual(help, coefficients)) - { - resultCoeff = normalForm(help); - help = modMultiply(resultCoeff, resultCoeff, a.coefficients); - } - - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the square root of this polynomial using a square root matrix. - * - * @param matrix the matrix for computing square roots in - * (GF(2^m))^t the polynomial ring defining the - * square root matrix - * @return this^(1/2) modulo the reduction polynomial implicitly - * given via the square root matrix - */ - public PolynomialGF2mSmallM modSquareRootMatrix( - PolynomialGF2mSmallM[] matrix) - { - - int length = matrix.length; - - int[] resultCoeff = new int[length]; - - // do matrix multiplication - for (int i = 0; i < length; i++) - { - // compute scalar product of i-th row and j-th column - for (int j = 0; j < length; j++) - { - if (i >= matrix[j].coefficients.length) - { - continue; - } - if (j < coefficients.length) - { - int scalarTerm = field.mult(matrix[j].coefficients[i], - coefficients[j]); - resultCoeff[i] = field.add(resultCoeff[i], scalarTerm); - } - } - } - - // compute the square root of each entry of the result coefficients - for (int i = 0; i < length; i++) - { - resultCoeff[i] = field.sqRoot(resultCoeff[i]); - } - - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the result of the division of this polynomial by another - * polynomial modulo a third polynomial. - * - * @param divisor the divisor - * @param modulus the reduction polynomial - * @return this * divisor^(-1) mod modulus - */ - public PolynomialGF2mSmallM modDiv(PolynomialGF2mSmallM divisor, - PolynomialGF2mSmallM modulus) - { - int[] resultCoeff = modDiv(coefficients, divisor.coefficients, - modulus.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute the result of the division of two polynomials modulo a third - * polynomial over the field GF(2^m). - * - * @param a the first polynomial - * @param b the second polynomial - * @param g the reduction polynomial - * @return a * b^(-1) mod g - */ - private int[] modDiv(int[] a, int[] b, int[] g) - { - int[] r0 = normalForm(g); - int[] r1 = mod(b, g); - int[] s0 = {0}; - int[] s1 = mod(a, g); - int[] s2; - int[][] q; - while (computeDegree(r1) != -1) - { - q = div(r0, r1); - r0 = normalForm(r1); - r1 = normalForm(q[1]); - s2 = add(s0, modMultiply(q[0], s1, g)); - s0 = normalForm(s1); - s1 = normalForm(s2); - - } - int hc = headCoefficient(r0); - s0 = multWithElement(s0, field.inverse(hc)); - return s0; - } - - /** - * Compute the inverse of this polynomial modulo the given polynomial. - * - * @param a the reduction polynomial - * @return this^(-1) mod a - */ - public PolynomialGF2mSmallM modInverse(PolynomialGF2mSmallM a) - { - int[] unit = {1}; - int[] resultCoeff = modDiv(unit, coefficients, a.coefficients); - return new PolynomialGF2mSmallM(field, resultCoeff); - } - - /** - * Compute a polynomial pair (a,b) from this polynomial and the given - * polynomial g with the property b*this = a mod g and deg(a)<=deg(g)/2. - * - * @param g the reduction polynomial - * @return PolynomialGF2mSmallM[] {a,b} with b*this = a mod g and deg(a)<= - * deg(g)/2 - */ - public PolynomialGF2mSmallM[] modPolynomialToFracton(PolynomialGF2mSmallM g) - { - int dg = g.degree >> 1; - int[] a0 = normalForm(g.coefficients); - int[] a1 = mod(coefficients, g.coefficients); - int[] b0 = {0}; - int[] b1 = {1}; - while (computeDegree(a1) > dg) - { - int[][] q = div(a0, a1); - a0 = a1; - a1 = q[1]; - int[] b2 = add(b0, modMultiply(q[0], b1, g.coefficients)); - b0 = b1; - b1 = b2; - } - - return new PolynomialGF2mSmallM[]{ - new PolynomialGF2mSmallM(field, a1), - new PolynomialGF2mSmallM(field, b1)}; - } - - /** - * checks if given object is equal to this polynomial. - *

    - * The method returns false whenever the given object is not polynomial over - * GF(2^m). - * - * @param other object - * @return true or false - */ - public boolean equals(Object other) - { - - if (other == null || !(other instanceof PolynomialGF2mSmallM)) - { - return false; - } - - PolynomialGF2mSmallM p = (PolynomialGF2mSmallM)other; - - if ((field.equals(p.field)) && (degree == p.degree) - && (isEqual(coefficients, p.coefficients))) - { - return true; - } - - return false; - } - - /** - * Compare two polynomials given as int arrays. - * - * @param a the first polynomial - * @param b the second polynomial - * @return true if a and b represent the - * same polynomials, false otherwise - */ - private static boolean isEqual(int[] a, int[] b) - { - int da = computeDegree(a); - int db = computeDegree(b); - if (da != db) - { - return false; - } - for (int i = 0; i <= da; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - return true; - } - - /** - * @return the hash code of this polynomial - */ - public int hashCode() - { - int hash = field.hashCode(); - for (int j = 0; j < coefficients.length; j++) - { - hash = hash * 31 + coefficients[j]; - } - return hash; - } - - /** - * Returns a human readable form of the polynomial. - *

    - * - * @return a human readable form of the polynomial. - */ - public String toString() - { - String str = " Polynomial over " + field.toString() + ": \n"; - - for (int i = 0; i < coefficients.length; i++) - { - str = str + field.elementToStr(coefficients[i]) + "Y^" + i + "+"; - } - str = str + ";"; - - return str; - } - - /** - * Compute the degree of this polynomial. If this is the zero polynomial, - * the degree is -1. - */ - private void computeDegree() - { - for (degree = coefficients.length - 1; degree >= 0 - && coefficients[degree] == 0; degree--) - { - ; - } - } - - /** - * Compute the degree of a polynomial. - * - * @param a the polynomial - * @return the degree of the polynomial a. If a is - * the zero polynomial, return -1. - */ - private static int computeDegree(int[] a) - { - int degree; - for (degree = a.length - 1; degree >= 0 && a[degree] == 0; degree--) - { - ; - } - return degree; - } - - /** - * Strip leading zero coefficients from the given polynomial. - * - * @param a the polynomial - * @return the reduced polynomial - */ - private static int[] normalForm(int[] a) - { - int d = computeDegree(a); - - // if a is the zero polynomial - if (d == -1) - { - // return new zero polynomial - return new int[1]; - } - - // if a already is in normal form - if (a.length == d + 1) - { - // return a clone of a - return IntUtils.clone(a); - } - - // else, reduce a - int[] result = new int[d + 1]; - System.arraycopy(a, 0, result, 0, d + 1); - return result; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2.java deleted file mode 100644 index 1dbb320f7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2.java +++ /dev/null @@ -1,278 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This class describes operations with polynomials over finite field GF(2), i e - * polynomial ring R = GF(2)[X]. All operations are defined only for polynomials - * with degree <=32. For the polynomial representation the map f: R->Z, - * poly(X)->poly(2) is used, where integers have the binary representation. For - * example: X^7+X^3+X+1 -> (00...0010001011)=139 Also for polynomials type - * Integer is used. - * - * @see GF2mField - */ -public final class PolynomialRingGF2 -{ - - /** - * Default constructor (private). - */ - private PolynomialRingGF2() - { - // empty - } - - /** - * Return sum of two polyomials - * - * @param p polynomial - * @param q polynomial - * @return p+q - */ - - public static int add(int p, int q) - { - return p ^ q; - } - - /** - * Return product of two polynomials - * - * @param p polynomial - * @param q polynomial - * @return p*q - */ - - public static long multiply(int p, int q) - { - long result = 0; - if (q != 0) - { - long q1 = q & 0x00000000ffffffffL; - - while (p != 0) - { - byte b = (byte)(p & 0x01); - if (b == 1) - { - result ^= q1; - } - p >>>= 1; - q1 <<= 1; - - } - } - return result; - } - - /** - * Compute the product of two polynomials modulo a third polynomial. - * - * @param a the first polynomial - * @param b the second polynomial - * @param r the reduction polynomial - * @return a * b mod r - */ - public static int modMultiply(int a, int b, int r) - { - int result = 0; - int p = remainder(a, r); - int q = remainder(b, r); - if (q != 0) - { - int d = 1 << degree(r); - - while (p != 0) - { - byte pMod2 = (byte)(p & 0x01); - if (pMod2 == 1) - { - result ^= q; - } - p >>>= 1; - q <<= 1; - if (q >= d) - { - q ^= r; - } - } - } - return result; - } - - /** - * Return the degree of a polynomial - * - * @param p polynomial p - * @return degree(p) - */ - - public static int degree(int p) - { - int result = -1; - while (p != 0) - { - result++; - p >>>= 1; - } - return result; - } - - /** - * Return the degree of a polynomial - * - * @param p polynomial p - * @return degree(p) - */ - - public static int degree(long p) - { - int result = 0; - while (p != 0) - { - result++; - p >>>= 1; - } - return result - 1; - } - - /** - * Return the remainder of a polynomial division of two polynomials. - * - * @param p dividend - * @param q divisor - * @return p mod q - */ - public static int remainder(int p, int q) - { - int result = p; - - if (q == 0) - { - System.err.println("Error: to be divided by 0"); - return 0; - } - - while (degree(result) >= degree(q)) - { - result ^= q << (degree(result) - degree(q)); - } - - return result; - } - - /** - * Return the rest of devision two polynomials - * - * @param p polinomial - * @param q polinomial - * @return p mod q - */ - - public static int rest(long p, int q) - { - long p1 = p; - if (q == 0) - { - System.err.println("Error: to be divided by 0"); - return 0; - } - long q1 = q & 0x00000000ffffffffL; - while ((p1 >>> 32) != 0) - { - p1 ^= q1 << (degree(p1) - degree(q1)); - } - - int result = (int)(p1 & 0xffffffff); - while (degree(result) >= degree(q)) - { - result ^= q << (degree(result) - degree(q)); - } - - return result; - } - - /** - * Return the greatest common divisor of two polynomials - * - * @param p polinomial - * @param q polinomial - * @return GCD(p, q) - */ - - public static int gcd(int p, int q) - { - int a, b, c; - a = p; - b = q; - while (b != 0) - { - c = remainder(a, b); - a = b; - b = c; - - } - return a; - } - - /** - * Checking polynomial for irreducibility - * - * @param p polinomial - * @return true if p is irreducible and false otherwise - */ - - public static boolean isIrreducible(int p) - { - if (p == 0) - { - return false; - } - int d = degree(p) >>> 1; - int u = 2; - for (int i = 0; i < d; i++) - { - u = modMultiply(u, u, p); - if (gcd(u ^ 2, p) != 1) - { - return false; - } - } - return true; - } - - /** - * Creates irreducible polynomial with degree d - * - * @param deg polynomial degree - * @return irreducible polynomial p - */ - public static int getIrreduciblePolynomial(int deg) - { - if (deg < 0) - { - System.err.println("The Degree is negative"); - return 0; - } - if (deg > 31) - { - System.err.println("The Degree is more then 31"); - return 0; - } - if (deg == 0) - { - return 1; - } - int a = 1 << deg; - a++; - int b = 1 << (deg + 1); - for (int i = a; i < b; i += 2) - { - if (isIrreducible(i)) - { - return i; - } - } - return 0; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2m.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2m.java deleted file mode 100644 index efa7ce8ac..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/PolynomialRingGF2m.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This class represents polynomial rings GF(2^m)[X]/p(X) for - * m<<;32. If p(X) is irreducible, the polynomial ring - * is in fact an extension field of GF(2^m). - */ -public class PolynomialRingGF2m -{ - - /** - * the finite field this polynomial ring is defined over - */ - private GF2mField field; - - /** - * the reduction polynomial - */ - private PolynomialGF2mSmallM p; - - /** - * the squaring matrix for this polynomial ring (given as the array of its - * row vectors) - */ - protected PolynomialGF2mSmallM[] sqMatrix; - - /** - * the matrix for computing square roots in this polynomial ring (given as - * the array of its row vectors). This matrix is computed as the inverse of - * the squaring matrix. - */ - protected PolynomialGF2mSmallM[] sqRootMatrix; - - /** - * Constructor. - * - * @param field the finite field - * @param p the reduction polynomial - */ - public PolynomialRingGF2m(GF2mField field, PolynomialGF2mSmallM p) - { - this.field = field; - this.p = p; - computeSquaringMatrix(); - computeSquareRootMatrix(); - } - - /** - * @return the squaring matrix for this polynomial ring - */ - public PolynomialGF2mSmallM[] getSquaringMatrix() - { - return sqMatrix; - } - - /** - * @return the matrix for computing square roots for this polynomial ring - */ - public PolynomialGF2mSmallM[] getSquareRootMatrix() - { - return sqRootMatrix; - } - - /** - * Compute the squaring matrix for this polynomial ring, using the base - * field and the reduction polynomial. - */ - private void computeSquaringMatrix() - { - int numColumns = p.getDegree(); - sqMatrix = new PolynomialGF2mSmallM[numColumns]; - for (int i = 0; i < numColumns >> 1; i++) - { - int[] monomCoeffs = new int[(i << 1) + 1]; - monomCoeffs[i << 1] = 1; - sqMatrix[i] = new PolynomialGF2mSmallM(field, monomCoeffs); - } - for (int i = numColumns >> 1; i < numColumns; i++) - { - int[] monomCoeffs = new int[(i << 1) + 1]; - monomCoeffs[i << 1] = 1; - PolynomialGF2mSmallM monomial = new PolynomialGF2mSmallM(field, - monomCoeffs); - sqMatrix[i] = monomial.mod(p); - } - } - - /** - * Compute the matrix for computing square roots in this polynomial ring by - * inverting the squaring matrix. - */ - private void computeSquareRootMatrix() - { - int numColumns = p.getDegree(); - - // clone squaring matrix - PolynomialGF2mSmallM[] tmpMatrix = new PolynomialGF2mSmallM[numColumns]; - for (int i = numColumns - 1; i >= 0; i--) - { - tmpMatrix[i] = new PolynomialGF2mSmallM(sqMatrix[i]); - } - - // initialize square root matrix as unit matrix - sqRootMatrix = new PolynomialGF2mSmallM[numColumns]; - for (int i = numColumns - 1; i >= 0; i--) - { - sqRootMatrix[i] = new PolynomialGF2mSmallM(field, i); - } - - // simultaneously compute Gaussian reduction of squaring matrix and unit - // matrix - for (int i = 0; i < numColumns; i++) - { - // if diagonal element is zero - if (tmpMatrix[i].getCoefficient(i) == 0) - { - boolean foundNonZero = false; - // find a non-zero element in the same row - for (int j = i + 1; j < numColumns; j++) - { - if (tmpMatrix[j].getCoefficient(i) != 0) - { - // found it, swap columns ... - foundNonZero = true; - swapColumns(tmpMatrix, i, j); - swapColumns(sqRootMatrix, i, j); - // ... and quit searching - j = numColumns; - continue; - } - } - // if no non-zero element was found - if (!foundNonZero) - { - // the matrix is not invertible - throw new ArithmeticException( - "Squaring matrix is not invertible."); - } - } - - // normalize i-th column - int coef = tmpMatrix[i].getCoefficient(i); - int invCoef = field.inverse(coef); - tmpMatrix[i].multThisWithElement(invCoef); - sqRootMatrix[i].multThisWithElement(invCoef); - - // normalize all other columns - for (int j = 0; j < numColumns; j++) - { - if (j != i) - { - coef = tmpMatrix[j].getCoefficient(i); - if (coef != 0) - { - PolynomialGF2mSmallM tmpSqColumn = tmpMatrix[i] - .multWithElement(coef); - PolynomialGF2mSmallM tmpInvColumn = sqRootMatrix[i] - .multWithElement(coef); - tmpMatrix[j].addToThis(tmpSqColumn); - sqRootMatrix[j].addToThis(tmpInvColumn); - } - } - } - } - } - - private static void swapColumns(PolynomialGF2mSmallM[] matrix, int first, - int second) - { - PolynomialGF2mSmallM tmp = matrix[first]; - matrix[first] = matrix[second]; - matrix[second] = tmp; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/RandUtils.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/RandUtils.java deleted file mode 100644 index 34862d7c3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/RandUtils.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -import java.security.SecureRandom; - -public class RandUtils -{ - static int nextInt(SecureRandom rand, int n) - { - - if ((n & -n) == n) // i.e., n is a power of 2 - { - return (int)((n * (long)(rand.nextInt() >>> 1)) >> 31); - } - - int bits, value; - do - { - bits = rand.nextInt() >>> 1; - value = bits % n; - } - while (bits - value + (n - 1) < 0); - - return value; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Vector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Vector.java deleted file mode 100644 index 7f33d735f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/linearalgebra/Vector.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.spongycastle.pqc.math.linearalgebra; - -/** - * This abstract class defines vectors. It holds the length of vector. - */ -public abstract class Vector -{ - - /** - * the length of this vector - */ - protected int length; - - /** - * @return the length of this vector - */ - public final int getLength() - { - return length; - } - - /** - * @return this vector as byte array - */ - public abstract byte[] getEncoded(); - - /** - * Return whether this is the zero vector (i.e., all elements are zero). - * - * @return true if this is the zero vector, false - * otherwise - */ - public abstract boolean isZero(); - - /** - * Add another vector to this vector. - * - * @param addend the other vector - * @return this + addend - */ - public abstract Vector add(Vector addend); - - /** - * Multiply this vector with a permutation. - * - * @param p the permutation - * @return this*p = p*this - */ - public abstract Vector multiply(Permutation p); - - /** - * Check if the given object is equal to this vector. - * - * @param other vector - * @return the result of the comparison - */ - public abstract boolean equals(Object other); - - /** - * @return the hash code of this vector - */ - public abstract int hashCode(); - - /** - * @return a human readable form of this vector - */ - public abstract String toString(); - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/BigIntEuclidean.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/BigIntEuclidean.java deleted file mode 100644 index eec9ebf79..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/BigIntEuclidean.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.pqc.math.ntru.euclid; - -import java.math.BigInteger; - -/** - * Extended Euclidean Algorithm in BigIntegers - */ -public class BigIntEuclidean -{ - public BigInteger x, y, gcd; - - private BigIntEuclidean() - { - } - - /** - * Runs the EEA on two BigIntegers
    - * Implemented from pseudocode on Wikipedia. - * - * @param a - * @param b - * @return a BigIntEuclidean object that contains the result in the variables x, y, and gcd - */ - public static BigIntEuclidean calculate(BigInteger a, BigInteger b) - { - BigInteger x = BigInteger.ZERO; - BigInteger lastx = BigInteger.ONE; - BigInteger y = BigInteger.ONE; - BigInteger lasty = BigInteger.ZERO; - while (!b.equals(BigInteger.ZERO)) - { - BigInteger[] quotientAndRemainder = a.divideAndRemainder(b); - BigInteger quotient = quotientAndRemainder[0]; - - BigInteger temp = a; - a = b; - b = quotientAndRemainder[1]; - - temp = x; - x = lastx.subtract(quotient.multiply(x)); - lastx = temp; - - temp = y; - y = lasty.subtract(quotient.multiply(y)); - lasty = temp; - } - - BigIntEuclidean result = new BigIntEuclidean(); - result.x = lastx; - result.y = lasty; - result.gcd = a; - return result; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/IntEuclidean.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/IntEuclidean.java deleted file mode 100644 index 185fcc709..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/euclid/IntEuclidean.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.pqc.math.ntru.euclid; - -/** - * Extended Euclidean Algorithm in ints - */ -public class IntEuclidean -{ - public int x, y, gcd; - - private IntEuclidean() - { - } - - /** - * Runs the EEA on two ints
    - * Implemented from pseudocode on Wikipedia. - * - * @param a - * @param b - * @return a IntEuclidean object that contains the result in the variables x, y, and gcd - */ - public static IntEuclidean calculate(int a, int b) - { - int x = 0; - int lastx = 1; - int y = 1; - int lasty = 0; - while (b != 0) - { - int quotient = a / b; - - int temp = a; - a = b; - b = temp % b; - - temp = x; - x = lastx - quotient * x; - lastx = temp; - - temp = y; - y = lasty - quotient * y; - lasty = temp; - } - - IntEuclidean result = new IntEuclidean(); - result.x = lastx; - result.y = lasty; - result.gcd = a; - return result; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigDecimalPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigDecimalPolynomial.java deleted file mode 100644 index a496060c1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigDecimalPolynomial.java +++ /dev/null @@ -1,258 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.math.BigDecimal; - -/** - * A polynomial with {@link BigDecimal} coefficients. - * Some methods (like add) change the polynomial, others (like mult) do - * not but return the result as a new polynomial. - */ -public class BigDecimalPolynomial -{ - private static final BigDecimal ZERO = new BigDecimal("0"); - private static final BigDecimal ONE_HALF = new BigDecimal("0.5"); - - BigDecimal[] coeffs; - - /** - * Constructs a new polynomial with N coefficients initialized to 0. - * - * @param N the number of coefficients - */ - BigDecimalPolynomial(int N) - { - coeffs = new BigDecimal[N]; - for (int i = 0; i < N; i++) - { - coeffs[i] = ZERO; - } - } - - /** - * Constructs a new polynomial with a given set of coefficients. - * - * @param coeffs the coefficients - */ - BigDecimalPolynomial(BigDecimal[] coeffs) - { - this.coeffs = coeffs; - } - - /** - * Constructs a BigDecimalPolynomial from a BigIntPolynomial. The two polynomials are independent of each other. - * - * @param p the original polynomial - */ - public BigDecimalPolynomial(BigIntPolynomial p) - { - int N = p.coeffs.length; - coeffs = new BigDecimal[N]; - for (int i = 0; i < N; i++) - { - coeffs[i] = new BigDecimal(p.coeffs[i]); - } - } - - /** - * Divides all coefficients by 2. - */ - public void halve() - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = coeffs[i].multiply(ONE_HALF); - } - } - - /** - * Multiplies the polynomial by another. Does not change this polynomial - * but returns the result as a new polynomial. - * - * @param poly2 the polynomial to multiply by - * @return a new polynomial - */ - public BigDecimalPolynomial mult(BigIntPolynomial poly2) - { - return mult(new BigDecimalPolynomial(poly2)); - } - - /** - * Multiplies the polynomial by another, taking the indices mod N. Does not - * change this polynomial but returns the result as a new polynomial. - * - * @param poly2 the polynomial to multiply by - * @return a new polynomial - */ - public BigDecimalPolynomial mult(BigDecimalPolynomial poly2) - { - int N = coeffs.length; - if (poly2.coeffs.length != N) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - BigDecimalPolynomial c = multRecursive(poly2); - - if (c.coeffs.length > N) - { - for (int k = N; k < c.coeffs.length; k++) - { - c.coeffs[k - N] = c.coeffs[k - N].add(c.coeffs[k]); - } - c.coeffs = copyOf(c.coeffs, N); - } - return c; - } - - /** - * Karazuba multiplication - */ - private BigDecimalPolynomial multRecursive(BigDecimalPolynomial poly2) - { - BigDecimal[] a = coeffs; - BigDecimal[] b = poly2.coeffs; - - int n = poly2.coeffs.length; - if (n <= 1) - { - BigDecimal[] c = coeffs.clone(); - for (int i = 0; i < coeffs.length; i++) - { - c[i] = c[i].multiply(poly2.coeffs[0]); - } - return new BigDecimalPolynomial(c); - } - else - { - int n1 = n / 2; - - BigDecimalPolynomial a1 = new BigDecimalPolynomial(copyOf(a, n1)); - BigDecimalPolynomial a2 = new BigDecimalPolynomial(copyOfRange(a, n1, n)); - BigDecimalPolynomial b1 = new BigDecimalPolynomial(copyOf(b, n1)); - BigDecimalPolynomial b2 = new BigDecimalPolynomial(copyOfRange(b, n1, n)); - - BigDecimalPolynomial A = (BigDecimalPolynomial)a1.clone(); - A.add(a2); - BigDecimalPolynomial B = (BigDecimalPolynomial)b1.clone(); - B.add(b2); - - BigDecimalPolynomial c1 = a1.multRecursive(b1); - BigDecimalPolynomial c2 = a2.multRecursive(b2); - BigDecimalPolynomial c3 = A.multRecursive(B); - c3.sub(c1); - c3.sub(c2); - - BigDecimalPolynomial c = new BigDecimalPolynomial(2 * n - 1); - for (int i = 0; i < c1.coeffs.length; i++) - { - c.coeffs[i] = c1.coeffs[i]; - } - for (int i = 0; i < c3.coeffs.length; i++) - { - c.coeffs[n1 + i] = c.coeffs[n1 + i].add(c3.coeffs[i]); - } - for (int i = 0; i < c2.coeffs.length; i++) - { - c.coeffs[2 * n1 + i] = c.coeffs[2 * n1 + i].add(c2.coeffs[i]); - } - return c; - } - } - - /** - * Adds another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - public void add(BigDecimalPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - int N = coeffs.length; - coeffs = copyOf(coeffs, b.coeffs.length); - for (int i = N; i < coeffs.length; i++) - { - coeffs[i] = ZERO; - } - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = coeffs[i].add(b.coeffs[i]); - } - } - - /** - * Subtracts another polynomial which can have a different number of coefficients. - * - * @param b - */ - void sub(BigDecimalPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - int N = coeffs.length; - coeffs = copyOf(coeffs, b.coeffs.length); - for (int i = N; i < coeffs.length; i++) - { - coeffs[i] = ZERO; - } - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = coeffs[i].subtract(b.coeffs[i]); - } - } - - /** - * Rounds all coefficients to the nearest integer. - * - * @return a new polynomial with BigInteger coefficients - */ - public BigIntPolynomial round() - { - int N = coeffs.length; - BigIntPolynomial p = new BigIntPolynomial(N); - for (int i = 0; i < N; i++) - { - p.coeffs[i] = coeffs[i].setScale(0, BigDecimal.ROUND_HALF_EVEN).toBigInteger(); - } - return p; - } - - /** - * Makes a copy of the polynomial that is independent of the original. - */ - public Object clone() - { - return new BigDecimalPolynomial(coeffs.clone()); - } - - private BigDecimal[] copyOf(BigDecimal[] a, int length) - { - BigDecimal[] tmp = new BigDecimal[length]; - - System.arraycopy(a, 0, tmp, 0, a.length < length ? a.length : length); - - return tmp; - } - - private BigDecimal[] copyOfRange(BigDecimal[] a, int from, int to) - { - int newLength = to - from; - BigDecimal[] tmp = new BigDecimal[to - from]; - - System.arraycopy(a, from, tmp, 0, (a.length - from) < newLength ? (a.length - from) : newLength); - - return tmp; - } - - public BigDecimal[] getCoeffs() - { - BigDecimal[] tmp = new BigDecimal[coeffs.length]; - - System.arraycopy(coeffs, 0, tmp, 0, coeffs.length); - - return tmp; - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigIntPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigIntPolynomial.java deleted file mode 100644 index ceb8a6071..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/BigIntPolynomial.java +++ /dev/null @@ -1,394 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import org.spongycastle.util.Arrays; - -/** - * A polynomial with {@link BigInteger} coefficients.
    - * Some methods (like add) change the polynomial, others (like mult) do - * not but return the result as a new polynomial. - */ -public class BigIntPolynomial -{ - private final static double LOG_10_2 = Math.log10(2); - - BigInteger[] coeffs; - - /** - * Constructs a new polynomial with N coefficients initialized to 0. - * - * @param N the number of coefficients - */ - BigIntPolynomial(int N) - { - coeffs = new BigInteger[N]; - for (int i = 0; i < N; i++) - { - coeffs[i] = Constants.BIGINT_ZERO; - } - } - - /** - * Constructs a new polynomial with a given set of coefficients. - * - * @param coeffs the coefficients - */ - BigIntPolynomial(BigInteger[] coeffs) - { - this.coeffs = coeffs; - } - - /** - * Constructs a BigIntPolynomial from a IntegerPolynomial. The two polynomials are - * independent of each other. - * - * @param p the original polynomial - */ - public BigIntPolynomial(IntegerPolynomial p) - { - coeffs = new BigInteger[p.coeffs.length]; - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = BigInteger.valueOf(p.coeffs[i]); - } - } - - /** - * Generates a random polynomial with numOnes coefficients equal to 1, - * numNegOnes coefficients equal to -1, and the rest equal to 0. - * - * @param N number of coefficients - * @param numOnes number of 1's - * @param numNegOnes number of -1's - * @return - */ - static BigIntPolynomial generateRandomSmall(int N, int numOnes, int numNegOnes) - { - List coeffs = new ArrayList(); - for (int i = 0; i < numOnes; i++) - { - coeffs.add(Constants.BIGINT_ONE); - } - for (int i = 0; i < numNegOnes; i++) - { - coeffs.add(BigInteger.valueOf(-1)); - } - while (coeffs.size() < N) - { - coeffs.add(Constants.BIGINT_ZERO); - } - Collections.shuffle(coeffs, new SecureRandom()); - - BigIntPolynomial poly = new BigIntPolynomial(N); - for (int i = 0; i < coeffs.size(); i++) - { - poly.coeffs[i] = (BigInteger)coeffs.get(i); - } - return poly; - } - - /** - * Multiplies the polynomial by another, taking the indices mod N. Does not - * change this polynomial but returns the result as a new polynomial.
    - * Both polynomials must have the same number of coefficients. - * - * @param poly2 the polynomial to multiply by - * @return a new polynomial - */ - public BigIntPolynomial mult(BigIntPolynomial poly2) - { - int N = coeffs.length; - if (poly2.coeffs.length != N) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - BigIntPolynomial c = multRecursive(poly2); - - if (c.coeffs.length > N) - { - for (int k = N; k < c.coeffs.length; k++) - { - c.coeffs[k - N] = c.coeffs[k - N].add(c.coeffs[k]); - } - c.coeffs = Arrays.copyOf(c.coeffs, N); - } - return c; - } - - /** - * Karazuba multiplication - */ - private BigIntPolynomial multRecursive(BigIntPolynomial poly2) - { - BigInteger[] a = coeffs; - BigInteger[] b = poly2.coeffs; - - int n = poly2.coeffs.length; - if (n <= 1) - { - BigInteger[] c = Arrays.clone(coeffs); - for (int i = 0; i < coeffs.length; i++) - { - c[i] = c[i].multiply(poly2.coeffs[0]); - } - return new BigIntPolynomial(c); - } - else - { - int n1 = n / 2; - - BigIntPolynomial a1 = new BigIntPolynomial(Arrays.copyOf(a, n1)); - BigIntPolynomial a2 = new BigIntPolynomial(Arrays.copyOfRange(a, n1, n)); - BigIntPolynomial b1 = new BigIntPolynomial(Arrays.copyOf(b, n1)); - BigIntPolynomial b2 = new BigIntPolynomial(Arrays.copyOfRange(b, n1, n)); - - BigIntPolynomial A = (BigIntPolynomial)a1.clone(); - A.add(a2); - BigIntPolynomial B = (BigIntPolynomial)b1.clone(); - B.add(b2); - - BigIntPolynomial c1 = a1.multRecursive(b1); - BigIntPolynomial c2 = a2.multRecursive(b2); - BigIntPolynomial c3 = A.multRecursive(B); - c3.sub(c1); - c3.sub(c2); - - BigIntPolynomial c = new BigIntPolynomial(2 * n - 1); - for (int i = 0; i < c1.coeffs.length; i++) - { - c.coeffs[i] = c1.coeffs[i]; - } - for (int i = 0; i < c3.coeffs.length; i++) - { - c.coeffs[n1 + i] = c.coeffs[n1 + i].add(c3.coeffs[i]); - } - for (int i = 0; i < c2.coeffs.length; i++) - { - c.coeffs[2 * n1 + i] = c.coeffs[2 * n1 + i].add(c2.coeffs[i]); - } - return c; - } - } - - /** - * Adds another polynomial which can have a different number of coefficients, - * and takes the coefficient values mod modulus. - * - * @param b another polynomial - */ - void add(BigIntPolynomial b, BigInteger modulus) - { - add(b); - mod(modulus); - } - - /** - * Adds another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - public void add(BigIntPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - int N = coeffs.length; - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - for (int i = N; i < coeffs.length; i++) - { - coeffs[i] = Constants.BIGINT_ZERO; - } - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = coeffs[i].add(b.coeffs[i]); - } - } - - /** - * Subtracts another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - public void sub(BigIntPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - int N = coeffs.length; - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - for (int i = N; i < coeffs.length; i++) - { - coeffs[i] = Constants.BIGINT_ZERO; - } - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = coeffs[i].subtract(b.coeffs[i]); - } - } - - /** - * Multiplies each coefficient by a BigInteger. Does not return a new polynomial but modifies this polynomial. - * - * @param factor - */ - public void mult(BigInteger factor) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = coeffs[i].multiply(factor); - } - } - - /** - * Multiplies each coefficient by a int. Does not return a new polynomial but modifies this polynomial. - * - * @param factor - */ - void mult(int factor) - { - mult(BigInteger.valueOf(factor)); - } - - /** - * Divides each coefficient by a BigInteger and rounds the result to the nearest whole number.
    - * Does not return a new polynomial but modifies this polynomial. - * - * @param divisor the number to divide by - */ - public void div(BigInteger divisor) - { - BigInteger d = divisor.add(Constants.BIGINT_ONE).divide(BigInteger.valueOf(2)); - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = coeffs[i].compareTo(Constants.BIGINT_ZERO) > 0 ? coeffs[i].add(d) : coeffs[i].add(d.negate()); - coeffs[i] = coeffs[i].divide(divisor); - } - } - - /** - * Divides each coefficient by a BigDecimal and rounds the result to decimalPlaces places. - * - * @param divisor the number to divide by - * @param decimalPlaces the number of fractional digits to round the result to - * @return a new BigDecimalPolynomial - */ - public BigDecimalPolynomial div(BigDecimal divisor, int decimalPlaces) - { - BigInteger max = maxCoeffAbs(); - int coeffLength = (int)(max.bitLength() * LOG_10_2) + 1; - // factor = 1/divisor - BigDecimal factor = Constants.BIGDEC_ONE.divide(divisor, coeffLength + decimalPlaces + 1, BigDecimal.ROUND_HALF_EVEN); - - // multiply each coefficient by factor - BigDecimalPolynomial p = new BigDecimalPolynomial(coeffs.length); - for (int i = 0; i < coeffs.length; i++) - // multiply, then truncate after decimalPlaces so subsequent operations aren't slowed down - { - p.coeffs[i] = new BigDecimal(coeffs[i]).multiply(factor).setScale(decimalPlaces, BigDecimal.ROUND_HALF_EVEN); - } - - return p; - } - - /** - * Returns the base10 length of the largest coefficient. - * - * @return length of the longest coefficient - */ - public int getMaxCoeffLength() - { - return (int)(maxCoeffAbs().bitLength() * LOG_10_2) + 1; - } - - private BigInteger maxCoeffAbs() - { - BigInteger max = coeffs[0].abs(); - for (int i = 1; i < coeffs.length; i++) - { - BigInteger coeff = coeffs[i].abs(); - if (coeff.compareTo(max) > 0) - { - max = coeff; - } - } - return max; - } - - /** - * Takes each coefficient modulo a number. - * - * @param modulus - */ - public void mod(BigInteger modulus) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = coeffs[i].mod(modulus); - } - } - - /** - * Returns the sum of all coefficients, i.e. evaluates the polynomial at 0. - * - * @return the sum of all coefficients - */ - BigInteger sumCoeffs() - { - BigInteger sum = Constants.BIGINT_ZERO; - for (int i = 0; i < coeffs.length; i++) - { - sum = sum.add(coeffs[i]); - } - return sum; - } - - /** - * Makes a copy of the polynomial that is independent of the original. - */ - public Object clone() - { - return new BigIntPolynomial(coeffs.clone()); - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + Arrays.hashCode(coeffs); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - BigIntPolynomial other = (BigIntPolynomial)obj; - if (!Arrays.areEqual(coeffs, other.coeffs)) - { - return false; - } - return true; - } - - public BigInteger[] getCoeffs() - { - return Arrays.clone(coeffs); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Constants.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Constants.java deleted file mode 100644 index f29ce0664..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Constants.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.math.BigDecimal; -import java.math.BigInteger; - -public class Constants -{ - static final BigInteger BIGINT_ZERO = BigInteger.valueOf(0); - static final BigInteger BIGINT_ONE = BigInteger.valueOf(1); - - static final BigDecimal BIGDEC_ONE = BigDecimal.valueOf(1); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/DenseTernaryPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/DenseTernaryPolynomial.java deleted file mode 100644 index 007e72499..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/DenseTernaryPolynomial.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.security.SecureRandom; - -import org.spongycastle.pqc.math.ntru.util.Util; -import org.spongycastle.util.Arrays; - -/** - * A TernaryPolynomial with a "high" number of nonzero coefficients. - */ -public class DenseTernaryPolynomial - extends IntegerPolynomial - implements TernaryPolynomial -{ - - /** - * Constructs a new DenseTernaryPolynomial with N coefficients. - * - * @param N the number of coefficients - */ - DenseTernaryPolynomial(int N) - { - super(N); - checkTernarity(); - } - - /** - * Constructs a DenseTernaryPolynomial from a IntegerPolynomial. The two polynomials are - * independent of each other. - * - * @param intPoly the original polynomial - */ - public DenseTernaryPolynomial(IntegerPolynomial intPoly) - { - this(intPoly.coeffs); - } - - /** - * Constructs a new DenseTernaryPolynomial with a given set of coefficients. - * - * @param coeffs the coefficients - */ - public DenseTernaryPolynomial(int[] coeffs) - { - super(coeffs); - checkTernarity(); - } - - private void checkTernarity() - { - for (int i = 0; i != coeffs.length; i++) - { - int c = coeffs[i]; - if (c < -1 || c > 1) - { - throw new IllegalStateException("Illegal value: " + c + ", must be one of {-1, 0, 1}"); - } - } - } - - /** - * Generates a random polynomial with numOnes coefficients equal to 1, - * numNegOnes coefficients equal to -1, and the rest equal to 0. - * - * @param N number of coefficients - * @param numOnes number of 1's - * @param numNegOnes number of -1's - */ - public static DenseTernaryPolynomial generateRandom(int N, int numOnes, int numNegOnes, SecureRandom random) - { - int[] coeffs = Util.generateRandomTernary(N, numOnes, numNegOnes, random); - return new DenseTernaryPolynomial(coeffs); - } - - /** - * Generates a polynomial with coefficients randomly selected from {-1, 0, 1}. - * - * @param N number of coefficients - */ - public static DenseTernaryPolynomial generateRandom(int N, SecureRandom random) - { - DenseTernaryPolynomial poly = new DenseTernaryPolynomial(N); - for (int i = 0; i < N; i++) - { - poly.coeffs[i] = random.nextInt(3) - 1; - } - return poly; - } - - public IntegerPolynomial mult(IntegerPolynomial poly2, int modulus) - { - // even on 32-bit systems, LongPolynomial5 multiplies faster than IntegerPolynomial - if (modulus == 2048) - { - IntegerPolynomial poly2Pos = (IntegerPolynomial)poly2.clone(); - poly2Pos.modPositive(2048); - LongPolynomial5 poly5 = new LongPolynomial5(poly2Pos); - return poly5.mult(this).toIntegerPolynomial(); - } - else - { - return super.mult(poly2, modulus); - } - } - - public int[] getOnes() - { - int N = coeffs.length; - int[] ones = new int[N]; - int onesIdx = 0; - for (int i = 0; i < N; i++) - { - int c = coeffs[i]; - if (c == 1) - { - ones[onesIdx++] = i; - } - } - return Arrays.copyOf(ones, onesIdx); - } - - public int[] getNegOnes() - { - int N = coeffs.length; - int[] negOnes = new int[N]; - int negOnesIdx = 0; - for (int i = 0; i < N; i++) - { - int c = coeffs[i]; - if (c == -1) - { - negOnes[negOnesIdx++] = i; - } - } - return Arrays.copyOf(negOnes, negOnesIdx); - } - - public int size() - { - return coeffs.length; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/IntegerPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/IntegerPolynomial.java deleted file mode 100644 index 9605b4c91..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/IntegerPolynomial.java +++ /dev/null @@ -1,1358 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; - -import org.spongycastle.pqc.math.ntru.euclid.BigIntEuclidean; -import org.spongycastle.pqc.math.ntru.util.ArrayEncoder; -import org.spongycastle.pqc.math.ntru.util.Util; -import org.spongycastle.util.Arrays; - -/** - * A polynomial with int coefficients.
    - * Some methods (like add) change the polynomial, others (like mult) do - * not but return the result as a new polynomial. - */ -public class IntegerPolynomial - implements Polynomial -{ - private static final int NUM_EQUAL_RESULTANTS = 3; - /** - * Prime numbers > 4500 for resultant computation. Starting them below ~4400 causes incorrect results occasionally. - * Fortunately, 4500 is about the optimum number for performance.
    - * This array contains enough prime numbers so primes never have to be computed on-line for any standard {@link org.spongycastle.pqc.crypto.ntru.NTRUSigningParameters}. - */ - private static final int[] PRIMES = new int[]{ - 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, - 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, - 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, - 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, - 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, - 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, - 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, - 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, - 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, - 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, - 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, - 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, - 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, - 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, - 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, - 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, - 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, - 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, - 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, - 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, - 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, - 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, - 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, - 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, - 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, - 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, - 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, - 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, - 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, - 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, - 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, - 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, - 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, - 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, - 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, - 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, - 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, - 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, - 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, - 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, - 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, - 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, - 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, - 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, - 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, - 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, - 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, - 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, - 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, - 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, - 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, - 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, - 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, - 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, - 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, - 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, - 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, - 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, - 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, - 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, - 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, - 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973}; - private static final List BIGINT_PRIMES; - - static - { - BIGINT_PRIMES = new ArrayList(); - for (int i = 0; i != PRIMES.length; i++) - { - BIGINT_PRIMES.add(BigInteger.valueOf(PRIMES[i])); - } - } - - public int[] coeffs; - - /** - * Constructs a new polynomial with N coefficients initialized to 0. - * - * @param N the number of coefficients - */ - public IntegerPolynomial(int N) - { - coeffs = new int[N]; - } - - /** - * Constructs a new polynomial with a given set of coefficients. - * - * @param coeffs the coefficients - */ - public IntegerPolynomial(int[] coeffs) - { - this.coeffs = coeffs; - } - - /** - * Constructs a IntegerPolynomial from a BigIntPolynomial. The two polynomials are independent of each other. - * - * @param p the original polynomial - */ - public IntegerPolynomial(BigIntPolynomial p) - { - coeffs = new int[p.coeffs.length]; - for (int i = 0; i < p.coeffs.length; i++) - { - coeffs[i] = p.coeffs[i].intValue(); - } - } - - /** - * Decodes a byte array to a polynomial with N ternary coefficients
    - * Ignores any excess bytes. - * - * @param data an encoded ternary polynomial - * @param N number of coefficients - * @return the decoded polynomial - */ - public static IntegerPolynomial fromBinary3Sves(byte[] data, int N) - { - return new IntegerPolynomial(ArrayEncoder.decodeMod3Sves(data, N)); - } - - /** - * Converts a byte array produced by {@link #toBinary3Tight()} to a polynomial. - * - * @param b a byte array - * @param N number of coefficients - * @return the decoded polynomial - */ - public static IntegerPolynomial fromBinary3Tight(byte[] b, int N) - { - return new IntegerPolynomial(ArrayEncoder.decodeMod3Tight(b, N)); - } - - /** - * Reads data produced by {@link #toBinary3Tight()} from an input stream and converts it to a polynomial. - * - * @param is an input stream - * @param N number of coefficients - * @return the decoded polynomial - */ - public static IntegerPolynomial fromBinary3Tight(InputStream is, int N) - throws IOException - { - return new IntegerPolynomial(ArrayEncoder.decodeMod3Tight(is, N)); - } - - /** - * Returns a polynomial with N coefficients between 0 and q-1.
    - * q must be a power of 2.
    - * Ignores any excess bytes. - * - * @param data an encoded ternary polynomial - * @param N number of coefficients - * @param q - * @return the decoded polynomial - */ - public static IntegerPolynomial fromBinary(byte[] data, int N, int q) - { - return new IntegerPolynomial(ArrayEncoder.decodeModQ(data, N, q)); - } - - /** - * Returns a polynomial with N coefficients between 0 and q-1.
    - * q must be a power of 2.
    - * Ignores any excess bytes. - * - * @param is an encoded ternary polynomial - * @param N number of coefficients - * @param q - * @return the decoded polynomial - */ - public static IntegerPolynomial fromBinary(InputStream is, int N, int q) - throws IOException - { - return new IntegerPolynomial(ArrayEncoder.decodeModQ(is, N, q)); - } - - /** - * Encodes a polynomial with ternary coefficients to binary. - * coeffs[2*i] and coeffs[2*i+1] must not both equal -1 for any integer i, - * so this method is only safe to use with polynomials produced by fromBinary3Sves(). - * - * @return the encoded polynomial - */ - public byte[] toBinary3Sves() - { - return ArrayEncoder.encodeMod3Sves(coeffs); - } - - /** - * Converts a polynomial with ternary coefficients to binary. - * - * @return the encoded polynomial - */ - public byte[] toBinary3Tight() - { - BigInteger sum = Constants.BIGINT_ZERO; - for (int i = coeffs.length - 1; i >= 0; i--) - { - sum = sum.multiply(BigInteger.valueOf(3)); - sum = sum.add(BigInteger.valueOf(coeffs[i] + 1)); - } - - int size = (BigInteger.valueOf(3).pow(coeffs.length).bitLength() + 7) / 8; - byte[] arr = sum.toByteArray(); - - if (arr.length < size) - { - // pad with leading zeros so arr.length==size - byte[] arr2 = new byte[size]; - System.arraycopy(arr, 0, arr2, size - arr.length, arr.length); - return arr2; - } - - if (arr.length > size) - // drop sign bit - { - arr = Arrays.copyOfRange(arr, 1, arr.length); - } - return arr; - } - - /** - * Encodes a polynomial whose coefficients are between 0 and q, to binary. q must be a power of 2. - * - * @param q - * @return the encoded polynomial - */ - public byte[] toBinary(int q) - { - return ArrayEncoder.encodeModQ(coeffs, q); - } - - /** - * Multiplies the polynomial with another, taking the values mod modulus and the indices mod N - */ - public IntegerPolynomial mult(IntegerPolynomial poly2, int modulus) - { - IntegerPolynomial c = mult(poly2); - c.mod(modulus); - return c; - } - - /** - * Multiplies the polynomial with another, taking the indices mod N - */ - public IntegerPolynomial mult(IntegerPolynomial poly2) - { - int N = coeffs.length; - if (poly2.coeffs.length != N) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - IntegerPolynomial c = multRecursive(poly2); - - if (c.coeffs.length > N) - { - for (int k = N; k < c.coeffs.length; k++) - { - c.coeffs[k - N] += c.coeffs[k]; - } - c.coeffs = Arrays.copyOf(c.coeffs, N); - } - return c; - } - - public BigIntPolynomial mult(BigIntPolynomial poly2) - { - return new BigIntPolynomial(this).mult(poly2); - } - - /** - * Karazuba multiplication - */ - private IntegerPolynomial multRecursive(IntegerPolynomial poly2) - { - int[] a = coeffs; - int[] b = poly2.coeffs; - - int n = poly2.coeffs.length; - if (n <= 32) - { - int cn = 2 * n - 1; - IntegerPolynomial c = new IntegerPolynomial(new int[cn]); - for (int k = 0; k < cn; k++) - { - for (int i = Math.max(0, k - n + 1); i <= Math.min(k, n - 1); i++) - { - c.coeffs[k] += b[i] * a[k - i]; - } - } - return c; - } - else - { - int n1 = n / 2; - - IntegerPolynomial a1 = new IntegerPolynomial(Arrays.copyOf(a, n1)); - IntegerPolynomial a2 = new IntegerPolynomial(Arrays.copyOfRange(a, n1, n)); - IntegerPolynomial b1 = new IntegerPolynomial(Arrays.copyOf(b, n1)); - IntegerPolynomial b2 = new IntegerPolynomial(Arrays.copyOfRange(b, n1, n)); - - IntegerPolynomial A = (IntegerPolynomial)a1.clone(); - A.add(a2); - IntegerPolynomial B = (IntegerPolynomial)b1.clone(); - B.add(b2); - - IntegerPolynomial c1 = a1.multRecursive(b1); - IntegerPolynomial c2 = a2.multRecursive(b2); - IntegerPolynomial c3 = A.multRecursive(B); - c3.sub(c1); - c3.sub(c2); - - IntegerPolynomial c = new IntegerPolynomial(2 * n - 1); - for (int i = 0; i < c1.coeffs.length; i++) - { - c.coeffs[i] = c1.coeffs[i]; - } - for (int i = 0; i < c3.coeffs.length; i++) - { - c.coeffs[n1 + i] += c3.coeffs[i]; - } - for (int i = 0; i < c2.coeffs.length; i++) - { - c.coeffs[2 * n1 + i] += c2.coeffs[i]; - } - return c; - } - } - - /** - * Computes the inverse mod q; q must be a power of 2.
    - * Returns null if the polynomial is not invertible. - * - * @param q the modulus - * @return a new polynomial - */ - public IntegerPolynomial invertFq(int q) - { - int N = coeffs.length; - int k = 0; - IntegerPolynomial b = new IntegerPolynomial(N + 1); - b.coeffs[0] = 1; - IntegerPolynomial c = new IntegerPolynomial(N + 1); - IntegerPolynomial f = new IntegerPolynomial(N + 1); - f.coeffs = Arrays.copyOf(coeffs, N + 1); - f.modPositive(2); - // set g(x) = x^N − 1 - IntegerPolynomial g = new IntegerPolynomial(N + 1); - g.coeffs[0] = 1; - g.coeffs[N] = 1; - while (true) - { - while (f.coeffs[0] == 0) - { - for (int i = 1; i <= N; i++) - { - f.coeffs[i - 1] = f.coeffs[i]; // f(x) = f(x) / x - c.coeffs[N + 1 - i] = c.coeffs[N - i]; // c(x) = c(x) * x - } - f.coeffs[N] = 0; - c.coeffs[0] = 0; - k++; - if (f.equalsZero()) - { - return null; // not invertible - } - } - if (f.equalsOne()) - { - break; - } - if (f.degree() < g.degree()) - { - // exchange f and g - IntegerPolynomial temp = f; - f = g; - g = temp; - // exchange b and c - temp = b; - b = c; - c = temp; - } - f.add(g, 2); - b.add(c, 2); - } - - if (b.coeffs[N] != 0) - { - return null; - } - // Fq(x) = x^(N-k) * b(x) - IntegerPolynomial Fq = new IntegerPolynomial(N); - int j = 0; - k %= N; - for (int i = N - 1; i >= 0; i--) - { - j = i - k; - if (j < 0) - { - j += N; - } - Fq.coeffs[j] = b.coeffs[i]; - } - - return mod2ToModq(Fq, q); - } - - /** - * Computes the inverse mod q from the inverse mod 2 - * - * @param Fq - * @param q - * @return The inverse of this polynomial mod q - */ - private IntegerPolynomial mod2ToModq(IntegerPolynomial Fq, int q) - { - if (Util.is64BitJVM() && q == 2048) - { - LongPolynomial2 thisLong = new LongPolynomial2(this); - LongPolynomial2 FqLong = new LongPolynomial2(Fq); - int v = 2; - while (v < q) - { - v *= 2; - LongPolynomial2 temp = (LongPolynomial2)FqLong.clone(); - temp.mult2And(v - 1); - FqLong = thisLong.mult(FqLong).mult(FqLong); - temp.subAnd(FqLong, v - 1); - FqLong = temp; - } - return FqLong.toIntegerPolynomial(); - } - else - { - int v = 2; - while (v < q) - { - v *= 2; - IntegerPolynomial temp = new IntegerPolynomial(Arrays.copyOf(Fq.coeffs, Fq.coeffs.length)); - temp.mult2(v); - Fq = mult(Fq, v).mult(Fq, v); - temp.sub(Fq, v); - Fq = temp; - } - return Fq; - } - } - - /** - * Computes the inverse mod 3. - * Returns null if the polynomial is not invertible. - * - * @return a new polynomial - */ - public IntegerPolynomial invertF3() - { - int N = coeffs.length; - int k = 0; - IntegerPolynomial b = new IntegerPolynomial(N + 1); - b.coeffs[0] = 1; - IntegerPolynomial c = new IntegerPolynomial(N + 1); - IntegerPolynomial f = new IntegerPolynomial(N + 1); - f.coeffs = Arrays.copyOf(coeffs, N + 1); - f.modPositive(3); - // set g(x) = x^N − 1 - IntegerPolynomial g = new IntegerPolynomial(N + 1); - g.coeffs[0] = -1; - g.coeffs[N] = 1; - while (true) - { - while (f.coeffs[0] == 0) - { - for (int i = 1; i <= N; i++) - { - f.coeffs[i - 1] = f.coeffs[i]; // f(x) = f(x) / x - c.coeffs[N + 1 - i] = c.coeffs[N - i]; // c(x) = c(x) * x - } - f.coeffs[N] = 0; - c.coeffs[0] = 0; - k++; - if (f.equalsZero()) - { - return null; // not invertible - } - } - if (f.equalsAbsOne()) - { - break; - } - if (f.degree() < g.degree()) - { - // exchange f and g - IntegerPolynomial temp = f; - f = g; - g = temp; - // exchange b and c - temp = b; - b = c; - c = temp; - } - if (f.coeffs[0] == g.coeffs[0]) - { - f.sub(g, 3); - b.sub(c, 3); - } - else - { - f.add(g, 3); - b.add(c, 3); - } - } - - if (b.coeffs[N] != 0) - { - return null; - } - // Fp(x) = [+-] x^(N-k) * b(x) - IntegerPolynomial Fp = new IntegerPolynomial(N); - int j = 0; - k %= N; - for (int i = N - 1; i >= 0; i--) - { - j = i - k; - if (j < 0) - { - j += N; - } - Fp.coeffs[j] = f.coeffs[0] * b.coeffs[i]; - } - - Fp.ensurePositive(3); - return Fp; - } - - /** - * Resultant of this polynomial with x^n-1 using a probabilistic algorithm. - *

    - * Unlike EESS, this implementation does not compute all resultants modulo primes - * such that their product exceeds the maximum possible resultant, but rather stops - * when NUM_EQUAL_RESULTANTS consecutive modular resultants are equal.
    - * This means the return value may be incorrect. Experiments show this happens in - * about 1 out of 100 cases when N=439 and NUM_EQUAL_RESULTANTS=2, - * so the likelyhood of leaving the loop too early is (1/100)^(NUM_EQUAL_RESULTANTS-1). - *

    - * Because of the above, callers must verify the output and try a different polynomial if necessary. - * - * @return (rho, res) satisfying res = rho*this + t*(x^n-1) for some integer t. - */ - public Resultant resultant() - { - int N = coeffs.length; - - // Compute resultants modulo prime numbers. Continue until NUM_EQUAL_RESULTANTS consecutive modular resultants are equal. - LinkedList modResultants = new LinkedList(); - BigInteger prime = null; - BigInteger pProd = Constants.BIGINT_ONE; - BigInteger res = Constants.BIGINT_ONE; - int numEqual = 1; // number of consecutive modular resultants equal to each other - Iterator primes = BIGINT_PRIMES.iterator(); - while (true) - { - prime = primes.hasNext() ? primes.next() : prime.nextProbablePrime(); - ModularResultant crr = resultant(prime.intValue()); - modResultants.add(crr); - - BigInteger temp = pProd.multiply(prime); - BigIntEuclidean er = BigIntEuclidean.calculate(prime, pProd); - BigInteger resPrev = res; - res = res.multiply(er.x.multiply(prime)); - BigInteger res2 = crr.res.multiply(er.y.multiply(pProd)); - res = res.add(res2).mod(temp); - pProd = temp; - - BigInteger pProd2 = pProd.divide(BigInteger.valueOf(2)); - BigInteger pProd2n = pProd2.negate(); - if (res.compareTo(pProd2) > 0) - { - res = res.subtract(pProd); - } - else if (res.compareTo(pProd2n) < 0) - { - res = res.add(pProd); - } - - if (res.equals(resPrev)) - { - numEqual++; - if (numEqual >= NUM_EQUAL_RESULTANTS) - { - break; - } - } - else - { - numEqual = 1; - } - } - - // Combine modular rho's to obtain the final rho. - // For efficiency, first combine all pairs of small resultants to bigger resultants, - // then combine pairs of those, etc. until only one is left. - while (modResultants.size() > 1) - { - ModularResultant modRes1 = modResultants.removeFirst(); - ModularResultant modRes2 = modResultants.removeFirst(); - ModularResultant modRes3 = ModularResultant.combineRho(modRes1, modRes2); - modResultants.addLast(modRes3); - } - BigIntPolynomial rhoP = modResultants.getFirst().rho; - - BigInteger pProd2 = pProd.divide(BigInteger.valueOf(2)); - BigInteger pProd2n = pProd2.negate(); - if (res.compareTo(pProd2) > 0) - { - res = res.subtract(pProd); - } - if (res.compareTo(pProd2n) < 0) - { - res = res.add(pProd); - } - - for (int i = 0; i < N; i++) - { - BigInteger c = rhoP.coeffs[i]; - if (c.compareTo(pProd2) > 0) - { - rhoP.coeffs[i] = c.subtract(pProd); - } - if (c.compareTo(pProd2n) < 0) - { - rhoP.coeffs[i] = c.add(pProd); - } - } - - return new Resultant(rhoP, res); - } - - /** - * Multithreaded version of {@link #resultant()}. - * - * @return (rho, res) satisfying res = rho*this + t*(x^n-1) for some integer t. - */ - public Resultant resultantMultiThread() - { - int N = coeffs.length; - - // upper bound for resultant(f, g) = ||f, 2||^deg(g) * ||g, 2||^deg(f) = squaresum(f)^(N/2) * 2^(deg(f)/2) because g(x)=x^N-1 - // see http://jondalon.mathematik.uni-osnabrueck.de/staff/phpages/brunsw/CompAlg.pdf chapter 3 - BigInteger max = squareSum().pow((N + 1) / 2); - max = max.multiply(BigInteger.valueOf(2).pow((degree() + 1) / 2)); - BigInteger max2 = max.multiply(BigInteger.valueOf(2)); - - // compute resultants modulo prime numbers - BigInteger prime = BigInteger.valueOf(10000); - BigInteger pProd = Constants.BIGINT_ONE; - LinkedBlockingQueue> resultantTasks = new LinkedBlockingQueue>(); - Iterator primes = BIGINT_PRIMES.iterator(); - ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); - while (pProd.compareTo(max2) < 0) - { - if (primes.hasNext()) - { - prime = primes.next(); - } - else - { - prime = prime.nextProbablePrime(); - } - Future task = executor.submit(new ModResultantTask(prime.intValue())); - resultantTasks.add(task); - pProd = pProd.multiply(prime); - } - - // Combine modular resultants to obtain the resultant. - // For efficiency, first combine all pairs of small resultants to bigger resultants, - // then combine pairs of those, etc. until only one is left. - ModularResultant overallResultant = null; - while (!resultantTasks.isEmpty()) - { - try - { - Future modRes1 = resultantTasks.take(); - Future modRes2 = resultantTasks.poll(); - if (modRes2 == null) - { - // modRes1 is the only one left - overallResultant = modRes1.get(); - break; - } - Future newTask = executor.submit(new CombineTask(modRes1.get(), modRes2.get())); - resultantTasks.add(newTask); - } - catch (Exception e) - { - throw new IllegalStateException(e.toString()); - } - } - executor.shutdown(); - BigInteger res = overallResultant.res; - BigIntPolynomial rhoP = overallResultant.rho; - - BigInteger pProd2 = pProd.divide(BigInteger.valueOf(2)); - BigInteger pProd2n = pProd2.negate(); - - if (res.compareTo(pProd2) > 0) - { - res = res.subtract(pProd); - } - if (res.compareTo(pProd2n) < 0) - { - res = res.add(pProd); - } - - for (int i = 0; i < N; i++) - { - BigInteger c = rhoP.coeffs[i]; - if (c.compareTo(pProd2) > 0) - { - rhoP.coeffs[i] = c.subtract(pProd); - } - if (c.compareTo(pProd2n) < 0) - { - rhoP.coeffs[i] = c.add(pProd); - } - } - - return new Resultant(rhoP, res); - } - - /** - * Resultant of this polynomial with x^n-1 mod p.
    - * - * @return (rho, res) satisfying res = rho*this + t*(x^n-1) mod p for some integer t. - */ - public ModularResultant resultant(int p) - { - // Add a coefficient as the following operations involve polynomials of degree deg(f)+1 - int[] fcoeffs = Arrays.copyOf(coeffs, coeffs.length + 1); - IntegerPolynomial f = new IntegerPolynomial(fcoeffs); - int N = fcoeffs.length; - - IntegerPolynomial a = new IntegerPolynomial(N); - a.coeffs[0] = -1; - a.coeffs[N - 1] = 1; - IntegerPolynomial b = new IntegerPolynomial(f.coeffs); - IntegerPolynomial v1 = new IntegerPolynomial(N); - IntegerPolynomial v2 = new IntegerPolynomial(N); - v2.coeffs[0] = 1; - int da = N - 1; - int db = b.degree(); - int ta = da; - int c = 0; - int r = 1; - while (db > 0) - { - c = Util.invert(b.coeffs[db], p); - c = (c * a.coeffs[da]) % p; - a.multShiftSub(b, c, da - db, p); - v1.multShiftSub(v2, c, da - db, p); - - da = a.degree(); - if (da < db) - { - r *= Util.pow(b.coeffs[db], ta - da, p); - r %= p; - if (ta % 2 == 1 && db % 2 == 1) - { - r = (-r) % p; - } - IntegerPolynomial temp = a; - a = b; - b = temp; - int tempdeg = da; - da = db; - temp = v1; - v1 = v2; - v2 = temp; - ta = db; - db = tempdeg; - } - } - r *= Util.pow(b.coeffs[0], da, p); - r %= p; - c = Util.invert(b.coeffs[0], p); - v2.mult(c); - v2.mod(p); - v2.mult(r); - v2.mod(p); - - // drop the highest coefficient so #coeffs matches the original input - v2.coeffs = Arrays.copyOf(v2.coeffs, v2.coeffs.length - 1); - return new ModularResultant(new BigIntPolynomial(v2), BigInteger.valueOf(r), BigInteger.valueOf(p)); - } - - /** - * Computes this-b*c*(x^k) mod p and stores the result in this polynomial.
    - * See steps 4a,4b in EESS algorithm 2.2.7.1. - * - * @param b - * @param c - * @param k - * @param p - */ - private void multShiftSub(IntegerPolynomial b, int c, int k, int p) - { - int N = coeffs.length; - for (int i = k; i < N; i++) - { - coeffs[i] = (coeffs[i] - b.coeffs[i - k] * c) % p; - } - } - - /** - * Adds the squares of all coefficients. - * - * @return the sum of squares - */ - private BigInteger squareSum() - { - BigInteger sum = Constants.BIGINT_ZERO; - for (int i = 0; i < coeffs.length; i++) - { - sum = sum.add(BigInteger.valueOf(coeffs[i] * coeffs[i])); - } - return sum; - } - - /** - * Returns the degree of the polynomial - * - * @return the degree - */ - int degree() - { - int degree = coeffs.length - 1; - while (degree > 0 && coeffs[degree] == 0) - { - degree--; - } - return degree; - } - - /** - * Adds another polynomial which can have a different number of coefficients, - * and takes the coefficient values mod modulus. - * - * @param b another polynomial - */ - public void add(IntegerPolynomial b, int modulus) - { - add(b); - mod(modulus); - } - - /** - * Adds another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - public void add(IntegerPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] += b.coeffs[i]; - } - } - - /** - * Subtracts another polynomial which can have a different number of coefficients, - * and takes the coefficient values mod modulus. - * - * @param b another polynomial - */ - public void sub(IntegerPolynomial b, int modulus) - { - sub(b); - mod(modulus); - } - - /** - * Subtracts another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - public void sub(IntegerPolynomial b) - { - if (b.coeffs.length > coeffs.length) - { - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] -= b.coeffs[i]; - } - } - - /** - * Subtracts a int from each coefficient. Does not return a new polynomial but modifies this polynomial. - * - * @param b - */ - void sub(int b) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] -= b; - } - } - - /** - * Multiplies each coefficient by a int. Does not return a new polynomial but modifies this polynomial. - * - * @param factor - */ - public void mult(int factor) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] *= factor; - } - } - - /** - * Multiplies each coefficient by a 2 and applies a modulus. Does not return a new polynomial but modifies this polynomial. - * - * @param modulus a modulus - */ - private void mult2(int modulus) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] *= 2; - coeffs[i] %= modulus; - } - } - - /** - * Multiplies each coefficient by a 2 and applies a modulus. Does not return a new polynomial but modifies this polynomial. - * - * @param modulus a modulus - */ - public void mult3(int modulus) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] *= 3; - coeffs[i] %= modulus; - } - } - - /** - * Divides each coefficient by k and rounds to the nearest integer. Does not return a new polynomial but modifies this polynomial. - * - * @param k the divisor - */ - public void div(int k) - { - int k2 = (k + 1) / 2; - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] += coeffs[i] > 0 ? k2 : -k2; - coeffs[i] /= k; - } - } - - /** - * Takes each coefficient modulo 3 such that all coefficients are ternary. - */ - public void mod3() - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] %= 3; - if (coeffs[i] > 1) - { - coeffs[i] -= 3; - } - if (coeffs[i] < -1) - { - coeffs[i] += 3; - } - } - } - - /** - * Ensures all coefficients are between 0 and modulus-1 - * - * @param modulus a modulus - */ - public void modPositive(int modulus) - { - mod(modulus); - ensurePositive(modulus); - } - - /** - * Reduces all coefficients to the interval [-modulus/2, modulus/2) - */ - void modCenter(int modulus) - { - mod(modulus); - for (int j = 0; j < coeffs.length; j++) - { - while (coeffs[j] < modulus / 2) - { - coeffs[j] += modulus; - } - while (coeffs[j] >= modulus / 2) - { - coeffs[j] -= modulus; - } - } - } - - /** - * Takes each coefficient modulo modulus. - */ - public void mod(int modulus) - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] %= modulus; - } - } - - /** - * Adds modulus until all coefficients are above 0. - * - * @param modulus a modulus - */ - public void ensurePositive(int modulus) - { - for (int i = 0; i < coeffs.length; i++) - { - while (coeffs[i] < 0) - { - coeffs[i] += modulus; - } - } - } - - /** - * Computes the centered euclidean norm of the polynomial. - * - * @param q a modulus - * @return the centered norm - */ - public long centeredNormSq(int q) - { - int N = coeffs.length; - IntegerPolynomial p = (IntegerPolynomial)clone(); - p.shiftGap(q); - - long sum = 0; - long sqSum = 0; - for (int i = 0; i != p.coeffs.length; i++) - { - int c = p.coeffs[i]; - sum += c; - sqSum += c * c; - } - - long centeredNormSq = sqSum - sum * sum / N; - return centeredNormSq; - } - - /** - * Shifts all coefficients so the largest gap is centered around -q/2. - * - * @param q a modulus - */ - void shiftGap(int q) - { - modCenter(q); - - int[] sorted = Arrays.clone(coeffs); - - sort(sorted); - - int maxrange = 0; - int maxrangeStart = 0; - for (int i = 0; i < sorted.length - 1; i++) - { - int range = sorted[i + 1] - sorted[i]; - if (range > maxrange) - { - maxrange = range; - maxrangeStart = sorted[i]; - } - } - - int pmin = sorted[0]; - int pmax = sorted[sorted.length - 1]; - - int j = q - pmax + pmin; - int shift; - if (j > maxrange) - { - shift = (pmax + pmin) / 2; - } - else - { - shift = maxrangeStart + maxrange / 2 + q / 2; - } - - sub(shift); - } - - private void sort(int[] ints) - { - boolean swap = true; - - while (swap) - { - swap = false; - for (int i = 0; i != ints.length - 1; i++) - { - if (ints[i] > ints[i+1]) - { - int tmp = ints[i]; - ints[i] = ints[i+1]; - ints[i+1] = tmp; - swap = true; - } - } - } - } - - /** - * Shifts the values of all coefficients to the interval [-q/2, q/2]. - * - * @param q a modulus - */ - public void center0(int q) - { - for (int i = 0; i < coeffs.length; i++) - { - while (coeffs[i] < -q / 2) - { - coeffs[i] += q; - } - while (coeffs[i] > q / 2) - { - coeffs[i] -= q; - } - } - } - - /** - * Returns the sum of all coefficients, i.e. evaluates the polynomial at 0. - * - * @return the sum of all coefficients - */ - public int sumCoeffs() - { - int sum = 0; - for (int i = 0; i < coeffs.length; i++) - { - sum += coeffs[i]; - } - return sum; - } - - /** - * Tests if p(x) = 0. - * - * @return true iff all coefficients are zeros - */ - private boolean equalsZero() - { - for (int i = 0; i < coeffs.length; i++) - { - if (coeffs[i] != 0) - { - return false; - } - } - return true; - } - - /** - * Tests if p(x) = 1. - * - * @return true iff all coefficients are equal to zero, except for the lowest coefficient which must equal 1 - */ - public boolean equalsOne() - { - for (int i = 1; i < coeffs.length; i++) - { - if (coeffs[i] != 0) - { - return false; - } - } - return coeffs[0] == 1; - } - - /** - * Tests if |p(x)| = 1. - * - * @return true iff all coefficients are equal to zero, except for the lowest coefficient which must equal 1 or -1 - */ - private boolean equalsAbsOne() - { - for (int i = 1; i < coeffs.length; i++) - { - if (coeffs[i] != 0) - { - return false; - } - } - return Math.abs(coeffs[0]) == 1; - } - - /** - * Counts the number of coefficients equal to an integer - * - * @param value an integer - * @return the number of coefficients equal to value - */ - public int count(int value) - { - int count = 0; - for (int i = 0; i != coeffs.length; i++) - { - if (coeffs[i] == value) - { - count++; - } - } - return count; - } - - /** - * Multiplication by X in Z[X]/Z[X^n-1]. - */ - public void rotate1() - { - int clast = coeffs[coeffs.length - 1]; - for (int i = coeffs.length - 1; i > 0; i--) - { - coeffs[i] = coeffs[i - 1]; - } - coeffs[0] = clast; - } - - public void clear() - { - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = 0; - } - } - - public IntegerPolynomial toIntegerPolynomial() - { - return (IntegerPolynomial)clone(); - } - - public Object clone() - { - return new IntegerPolynomial(coeffs.clone()); - } - - public boolean equals(Object obj) - { - if (obj instanceof IntegerPolynomial) - { - return Arrays.areEqual(coeffs, ((IntegerPolynomial)obj).coeffs); - } - else - { - return false; - } - } - - /** - * Calls {@link IntegerPolynomial#resultant(int) - */ - private class ModResultantTask - implements Callable - { - private int modulus; - - private ModResultantTask(int modulus) - { - this.modulus = modulus; - } - - public ModularResultant call() - { - return resultant(modulus); - } - } - - /** - * Calls {@link ModularResultant#combineRho(ModularResultant, ModularResultant) - */ - private class CombineTask - implements Callable - { - private ModularResultant modRes1; - private ModularResultant modRes2; - - private CombineTask(ModularResultant modRes1, ModularResultant modRes2) - { - this.modRes1 = modRes1; - this.modRes2 = modRes2; - } - - public ModularResultant call() - { - return ModularResultant.combineRho(modRes1, modRes2); - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial2.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial2.java deleted file mode 100644 index be8001b51..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial2.java +++ /dev/null @@ -1,255 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import org.spongycastle.util.Arrays; - -/** - * A polynomial class that combines two coefficients into one long value for - * faster multiplication in 64 bit environments.
    - * Coefficients can be between 0 and 2047 and are stored in pairs in the bits 0..10 and 24..34 of a long number. - */ -public class LongPolynomial2 -{ - private long[] coeffs; // each representing two coefficients in the original IntegerPolynomial - private int numCoeffs; - - /** - * Constructs a LongPolynomial2 from a IntegerPolynomial. The two polynomials are independent of each other. - * - * @param p the original polynomial. Coefficients must be between 0 and 2047. - */ - public LongPolynomial2(IntegerPolynomial p) - { - numCoeffs = p.coeffs.length; - coeffs = new long[(numCoeffs + 1) / 2]; - int idx = 0; - for (int pIdx = 0; pIdx < numCoeffs; ) - { - int c0 = p.coeffs[pIdx++]; - while (c0 < 0) - { - c0 += 2048; - } - long c1 = pIdx < numCoeffs ? p.coeffs[pIdx++] : 0; - while (c1 < 0) - { - c1 += 2048; - } - coeffs[idx] = c0 + (c1 << 24); - idx++; - } - } - - private LongPolynomial2(long[] coeffs) - { - this.coeffs = coeffs; - } - - private LongPolynomial2(int N) - { - coeffs = new long[N]; - } - - /** - * Multiplies the polynomial with another, taking the indices mod N and the values mod 2048. - */ - public LongPolynomial2 mult(LongPolynomial2 poly2) - { - int N = coeffs.length; - if (poly2.coeffs.length != N || numCoeffs != poly2.numCoeffs) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - LongPolynomial2 c = multRecursive(poly2); - - if (c.coeffs.length > N) - { - if (numCoeffs % 2 == 0) - { - for (int k = N; k < c.coeffs.length; k++) - { - c.coeffs[k - N] = (c.coeffs[k - N] + c.coeffs[k]) & 0x7FF0007FFL; - } - c.coeffs = Arrays.copyOf(c.coeffs, N); - } - else - { - for (int k = N; k < c.coeffs.length; k++) - { - c.coeffs[k - N] = c.coeffs[k - N] + (c.coeffs[k - 1] >> 24); - c.coeffs[k - N] = c.coeffs[k - N] + ((c.coeffs[k] & 2047) << 24); - c.coeffs[k - N] &= 0x7FF0007FFL; - } - c.coeffs = Arrays.copyOf(c.coeffs, N); - c.coeffs[c.coeffs.length - 1] &= 2047; - } - } - - c = new LongPolynomial2(c.coeffs); - c.numCoeffs = numCoeffs; - return c; - } - - public IntegerPolynomial toIntegerPolynomial() - { - int[] intCoeffs = new int[numCoeffs]; - int uIdx = 0; - for (int i = 0; i < coeffs.length; i++) - { - intCoeffs[uIdx++] = (int)(coeffs[i] & 2047); - if (uIdx < numCoeffs) - { - intCoeffs[uIdx++] = (int)((coeffs[i] >> 24) & 2047); - } - } - return new IntegerPolynomial(intCoeffs); - } - - /** - * Karazuba multiplication - */ - private LongPolynomial2 multRecursive(LongPolynomial2 poly2) - { - long[] a = coeffs; - long[] b = poly2.coeffs; - - int n = poly2.coeffs.length; - if (n <= 32) - { - int cn = 2 * n; - LongPolynomial2 c = new LongPolynomial2(new long[cn]); - for (int k = 0; k < cn; k++) - { - for (int i = Math.max(0, k - n + 1); i <= Math.min(k, n - 1); i++) - { - long c0 = a[k - i] * b[i]; - long cu = c0 & 0x7FF000000L + (c0 & 2047); - long co = (c0 >>> 48) & 2047; - - c.coeffs[k] = (c.coeffs[k] + cu) & 0x7FF0007FFL; - c.coeffs[k + 1] = (c.coeffs[k + 1] + co) & 0x7FF0007FFL; - } - } - return c; - } - else - { - int n1 = n / 2; - - LongPolynomial2 a1 = new LongPolynomial2(Arrays.copyOf(a, n1)); - LongPolynomial2 a2 = new LongPolynomial2(Arrays.copyOfRange(a, n1, n)); - LongPolynomial2 b1 = new LongPolynomial2(Arrays.copyOf(b, n1)); - LongPolynomial2 b2 = new LongPolynomial2(Arrays.copyOfRange(b, n1, n)); - - LongPolynomial2 A = (LongPolynomial2)a1.clone(); - A.add(a2); - LongPolynomial2 B = (LongPolynomial2)b1.clone(); - B.add(b2); - - LongPolynomial2 c1 = a1.multRecursive(b1); - LongPolynomial2 c2 = a2.multRecursive(b2); - LongPolynomial2 c3 = A.multRecursive(B); - c3.sub(c1); - c3.sub(c2); - - LongPolynomial2 c = new LongPolynomial2(2 * n); - for (int i = 0; i < c1.coeffs.length; i++) - { - c.coeffs[i] = c1.coeffs[i] & 0x7FF0007FFL; - } - for (int i = 0; i < c3.coeffs.length; i++) - { - c.coeffs[n1 + i] = (c.coeffs[n1 + i] + c3.coeffs[i]) & 0x7FF0007FFL; - } - for (int i = 0; i < c2.coeffs.length; i++) - { - c.coeffs[2 * n1 + i] = (c.coeffs[2 * n1 + i] + c2.coeffs[i]) & 0x7FF0007FFL; - } - return c; - } - } - - /** - * Adds another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - private void add(LongPolynomial2 b) - { - if (b.coeffs.length > coeffs.length) - { - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = (coeffs[i] + b.coeffs[i]) & 0x7FF0007FFL; - } - } - - /** - * Subtracts another polynomial which can have a different number of coefficients. - * - * @param b another polynomial - */ - private void sub(LongPolynomial2 b) - { - if (b.coeffs.length > coeffs.length) - { - coeffs = Arrays.copyOf(coeffs, b.coeffs.length); - } - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = (0x0800000800000L + coeffs[i] - b.coeffs[i]) & 0x7FF0007FFL; - } - } - - /** - * Subtracts another polynomial which must have the same number of coefficients, - * and applies an AND mask to the upper and lower halves of each coefficients. - * - * @param b another polynomial - * @param mask a bit mask less than 2048 to apply to each 11-bit coefficient - */ - public void subAnd(LongPolynomial2 b, int mask) - { - long longMask = (((long)mask) << 24) + mask; - for (int i = 0; i < b.coeffs.length; i++) - { - coeffs[i] = (0x0800000800000L + coeffs[i] - b.coeffs[i]) & longMask; - } - } - - /** - * Multiplies this polynomial by 2 and applies an AND mask to the upper and - * lower halves of each coefficients. - * - * @param mask a bit mask less than 2048 to apply to each 11-bit coefficient - */ - public void mult2And(int mask) - { - long longMask = (((long)mask) << 24) + mask; - for (int i = 0; i < coeffs.length; i++) - { - coeffs[i] = (coeffs[i] << 1) & longMask; - } - } - - public Object clone() - { - LongPolynomial2 p = new LongPolynomial2(coeffs.clone()); - p.numCoeffs = numCoeffs; - return p; - } - - public boolean equals(Object obj) - { - if (obj instanceof LongPolynomial2) - { - return Arrays.areEqual(coeffs, ((LongPolynomial2)obj).coeffs); - } - else - { - return false; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial5.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial5.java deleted file mode 100644 index 6524f9ff3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/LongPolynomial5.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import org.spongycastle.util.Arrays; - -/** - * A polynomial class that combines five coefficients into one long value for - * faster multiplication by a ternary polynomial.
    - * Coefficients can be between 0 and 2047 and are stored in bits 0..11, 12..23, ..., 48..59 of a long number. - */ -public class LongPolynomial5 -{ - private long[] coeffs; // groups of 5 coefficients - private int numCoeffs; - - /** - * Constructs a LongPolynomial5 from a IntegerPolynomial. The two polynomials are independent of each other. - * - * @param p the original polynomial. Coefficients must be between 0 and 2047. - */ - public LongPolynomial5(IntegerPolynomial p) - { - numCoeffs = p.coeffs.length; - - coeffs = new long[(numCoeffs + 4) / 5]; - int cIdx = 0; - int shift = 0; - for (int i = 0; i < numCoeffs; i++) - { - coeffs[cIdx] |= ((long)p.coeffs[i]) << shift; - shift += 12; - if (shift >= 60) - { - shift = 0; - cIdx++; - } - } - } - - private LongPolynomial5(long[] coeffs, int numCoeffs) - { - this.coeffs = coeffs; - this.numCoeffs = numCoeffs; - } - - /** - * Multiplies the polynomial with a TernaryPolynomial, taking the indices mod N and the values mod 2048. - */ - public LongPolynomial5 mult(TernaryPolynomial poly2) - { - long[][] prod = new long[5][coeffs.length + (poly2.size() + 4) / 5 - 1]; // intermediate results, the subarrays are shifted by 0,...,4 coefficients - - // multiply ones - int[] ones = poly2.getOnes(); - for (int idx = 0; idx != ones.length; idx++) - { - int pIdx = ones[idx]; - int cIdx = pIdx / 5; - int m = pIdx - cIdx * 5; // m = pIdx % 5 - for (int i = 0; i < coeffs.length; i++) - { - prod[m][cIdx] = (prod[m][cIdx] + coeffs[i]) & 0x7FF7FF7FF7FF7FFL; - cIdx++; - } - } - - // multiply negative ones - int[] negOnes = poly2.getNegOnes(); - for (int idx = 0; idx != negOnes.length; idx++) - { - int pIdx = negOnes[idx]; - int cIdx = pIdx / 5; - int m = pIdx - cIdx * 5; // m = pIdx % 5 - for (int i = 0; i < coeffs.length; i++) - { - prod[m][cIdx] = (0x800800800800800L + prod[m][cIdx] - coeffs[i]) & 0x7FF7FF7FF7FF7FFL; - cIdx++; - } - } - - // combine shifted coefficients (5 arrays) into a single array of length prod[*].length+1 - long[] cCoeffs = Arrays.copyOf(prod[0], prod[0].length + 1); - for (int m = 1; m <= 4; m++) - { - int shift = m * 12; - int shift60 = 60 - shift; - long mask = (1L << shift60) - 1; - int pLen = prod[m].length; - for (int i = 0; i < pLen; i++) - { - long upper, lower; - upper = prod[m][i] >> shift60; - lower = prod[m][i] & mask; - - cCoeffs[i] = (cCoeffs[i] + (lower << shift)) & 0x7FF7FF7FF7FF7FFL; - int nextIdx = i + 1; - cCoeffs[nextIdx] = (cCoeffs[nextIdx] + upper) & 0x7FF7FF7FF7FF7FFL; - } - } - - // reduce indices of cCoeffs modulo numCoeffs - int shift = 12 * (numCoeffs % 5); - for (int cIdx = coeffs.length - 1; cIdx < cCoeffs.length; cIdx++) - { - long iCoeff; // coefficient to shift into the [0..numCoeffs-1] range - int newIdx; - if (cIdx == coeffs.length - 1) - { - iCoeff = numCoeffs == 5 ? 0 : cCoeffs[cIdx] >> shift; - newIdx = 0; - } - else - { - iCoeff = cCoeffs[cIdx]; - newIdx = cIdx * 5 - numCoeffs; - } - - int base = newIdx / 5; - int m = newIdx - base * 5; // m = newIdx % 5 - long lower = iCoeff << (12 * m); - long upper = iCoeff >> (12 * (5 - m)); - cCoeffs[base] = (cCoeffs[base] + lower) & 0x7FF7FF7FF7FF7FFL; - int base1 = base + 1; - if (base1 < coeffs.length) - { - cCoeffs[base1] = (cCoeffs[base1] + upper) & 0x7FF7FF7FF7FF7FFL; - } - } - - return new LongPolynomial5(cCoeffs, numCoeffs); - } - - public IntegerPolynomial toIntegerPolynomial() - { - int[] intCoeffs = new int[numCoeffs]; - int cIdx = 0; - int shift = 0; - for (int i = 0; i < numCoeffs; i++) - { - intCoeffs[i] = (int)((coeffs[cIdx] >> shift) & 2047); - shift += 12; - if (shift >= 60) - { - shift = 0; - cIdx++; - } - } - return new IntegerPolynomial(intCoeffs); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ModularResultant.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ModularResultant.java deleted file mode 100644 index 7e8031fe6..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ModularResultant.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.math.BigInteger; - -import org.spongycastle.pqc.math.ntru.euclid.BigIntEuclidean; - -/** - * A resultant modulo a BigInteger - */ -public class ModularResultant - extends Resultant -{ - BigInteger modulus; - - ModularResultant(BigIntPolynomial rho, BigInteger res, BigInteger modulus) - { - super(rho, res); - this.modulus = modulus; - } - - /** - * Calculates a rho modulo m1*m2 from - * two resultants whose rhos are modulo m1 and m2.
    - *
    res is set to null. - * - * @param modRes1 - * @param modRes2 - * @return rho modulo modRes1.modulus * modRes2.modulus, and null for res. - */ - static ModularResultant combineRho(ModularResultant modRes1, ModularResultant modRes2) - { - BigInteger mod1 = modRes1.modulus; - BigInteger mod2 = modRes2.modulus; - BigInteger prod = mod1.multiply(mod2); - BigIntEuclidean er = BigIntEuclidean.calculate(mod2, mod1); - - BigIntPolynomial rho1 = (BigIntPolynomial)modRes1.rho.clone(); - rho1.mult(er.x.multiply(mod2)); - BigIntPolynomial rho2 = (BigIntPolynomial)modRes2.rho.clone(); - rho2.mult(er.y.multiply(mod1)); - rho1.add(rho2); - rho1.mod(prod); - - return new ModularResultant(rho1, null, prod); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Polynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Polynomial.java deleted file mode 100644 index 588163414..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Polynomial.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -public interface Polynomial -{ - - /** - * Multiplies the polynomial by an IntegerPolynomial, - * taking the indices mod N. - * - * @param poly2 a polynomial - * @return the product of the two polynomials - */ - IntegerPolynomial mult(IntegerPolynomial poly2); - - /** - * Multiplies the polynomial by an IntegerPolynomial, - * taking the coefficient values mod modulus and the indices mod N. - * - * @param poly2 a polynomial - * @param modulus a modulus to apply - * @return the product of the two polynomials - */ - IntegerPolynomial mult(IntegerPolynomial poly2, int modulus); - - /** - * Returns a polynomial that is equal to this polynomial (in the sense that {@link #mult(IntegerPolynomial, int)} - * returns equal IntegerPolynomials). The new polynomial is guaranteed to be independent of the original. - * - * @return a new IntegerPolynomial. - */ - IntegerPolynomial toIntegerPolynomial(); - - /** - * Multiplies the polynomial by a BigIntPolynomial, taking the indices mod N. Does not - * change this polynomial but returns the result as a new polynomial.
    - * Both polynomials must have the same number of coefficients. - * - * @param poly2 the polynomial to multiply by - * @return a new polynomial - */ - BigIntPolynomial mult(BigIntPolynomial poly2); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ProductFormPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ProductFormPolynomial.java deleted file mode 100644 index e60ce8b87..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/ProductFormPolynomial.java +++ /dev/null @@ -1,153 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.security.SecureRandom; - -import org.spongycastle.util.Arrays; - -/** - * A polynomial of the form f1*f2+f3, where - * f1,f2,f3 are very sparsely populated ternary polynomials. - */ -public class ProductFormPolynomial - implements Polynomial -{ - private SparseTernaryPolynomial f1, f2, f3; - - public ProductFormPolynomial(SparseTernaryPolynomial f1, SparseTernaryPolynomial f2, SparseTernaryPolynomial f3) - { - this.f1 = f1; - this.f2 = f2; - this.f3 = f3; - } - - public static ProductFormPolynomial generateRandom(int N, int df1, int df2, int df3Ones, int df3NegOnes, SecureRandom random) - { - SparseTernaryPolynomial f1 = SparseTernaryPolynomial.generateRandom(N, df1, df1, random); - SparseTernaryPolynomial f2 = SparseTernaryPolynomial.generateRandom(N, df2, df2, random); - SparseTernaryPolynomial f3 = SparseTernaryPolynomial.generateRandom(N, df3Ones, df3NegOnes, random); - return new ProductFormPolynomial(f1, f2, f3); - } - - public static ProductFormPolynomial fromBinary(byte[] data, int N, int df1, int df2, int df3Ones, int df3NegOnes) - throws IOException - { - return fromBinary(new ByteArrayInputStream(data), N, df1, df2, df3Ones, df3NegOnes); - } - - public static ProductFormPolynomial fromBinary(InputStream is, int N, int df1, int df2, int df3Ones, int df3NegOnes) - throws IOException - { - SparseTernaryPolynomial f1; - - f1 = SparseTernaryPolynomial.fromBinary(is, N, df1, df1); - SparseTernaryPolynomial f2 = SparseTernaryPolynomial.fromBinary(is, N, df2, df2); - SparseTernaryPolynomial f3 = SparseTernaryPolynomial.fromBinary(is, N, df3Ones, df3NegOnes); - return new ProductFormPolynomial(f1, f2, f3); - } - - public byte[] toBinary() - { - byte[] f1Bin = f1.toBinary(); - byte[] f2Bin = f2.toBinary(); - byte[] f3Bin = f3.toBinary(); - - byte[] all = Arrays.copyOf(f1Bin, f1Bin.length + f2Bin.length + f3Bin.length); - System.arraycopy(f2Bin, 0, all, f1Bin.length, f2Bin.length); - System.arraycopy(f3Bin, 0, all, f1Bin.length + f2Bin.length, f3Bin.length); - return all; - } - - public IntegerPolynomial mult(IntegerPolynomial b) - { - IntegerPolynomial c = f1.mult(b); - c = f2.mult(c); - c.add(f3.mult(b)); - return c; - } - - public BigIntPolynomial mult(BigIntPolynomial b) - { - BigIntPolynomial c = f1.mult(b); - c = f2.mult(c); - c.add(f3.mult(b)); - return c; - } - - public IntegerPolynomial toIntegerPolynomial() - { - IntegerPolynomial i = f1.mult(f2.toIntegerPolynomial()); - i.add(f3.toIntegerPolynomial()); - return i; - } - - public IntegerPolynomial mult(IntegerPolynomial poly2, int modulus) - { - IntegerPolynomial c = mult(poly2); - c.mod(modulus); - return c; - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + ((f1 == null) ? 0 : f1.hashCode()); - result = prime * result + ((f2 == null) ? 0 : f2.hashCode()); - result = prime * result + ((f3 == null) ? 0 : f3.hashCode()); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - ProductFormPolynomial other = (ProductFormPolynomial)obj; - if (f1 == null) - { - if (other.f1 != null) - { - return false; - } - } - else if (!f1.equals(other.f1)) - { - return false; - } - if (f2 == null) - { - if (other.f2 != null) - { - return false; - } - } - else if (!f2.equals(other.f2)) - { - return false; - } - if (f3 == null) - { - if (other.f3 != null) - { - return false; - } - } - else if (!f3.equals(other.f3)) - { - return false; - } - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Resultant.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Resultant.java deleted file mode 100644 index 8fa133286..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/Resultant.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.math.BigInteger; - -/** - * Contains a resultant and a polynomial rho such that - * res = rho*this + t*(x^n-1) for some integer t. - * - * @see IntegerPolynomial#resultant() - * @see IntegerPolynomial#resultant(int) - */ -public class Resultant -{ - /** - * A polynomial such that res = rho*this + t*(x^n-1) for some integer t - */ - public BigIntPolynomial rho; - /** - * Resultant of a polynomial with x^n-1 - */ - public BigInteger res; - - Resultant(BigIntPolynomial rho, BigInteger res) - { - this.rho = rho; - this.res = res; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/SparseTernaryPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/SparseTernaryPolynomial.java deleted file mode 100644 index 2fbd70a48..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/SparseTernaryPolynomial.java +++ /dev/null @@ -1,320 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.pqc.math.ntru.util.ArrayEncoder; -import org.spongycastle.pqc.math.ntru.util.Util; -import org.spongycastle.util.Arrays; - -/** - * A TernaryPolynomial with a "low" number of nonzero coefficients. - */ -public class SparseTernaryPolynomial - implements TernaryPolynomial -{ - /** - * Number of bits to use for each coefficient. Determines the upper bound for N. - */ - private static final int BITS_PER_INDEX = 11; - - private int N; - private int[] ones; - private int[] negOnes; - - /** - * Constructs a new polynomial. - * - * @param N total number of coefficients including zeros - * @param ones indices of coefficients equal to 1 - * @param negOnes indices of coefficients equal to -1 - */ - SparseTernaryPolynomial(int N, int[] ones, int[] negOnes) - { - this.N = N; - this.ones = ones; - this.negOnes = negOnes; - } - - /** - * Constructs a DenseTernaryPolynomial from a IntegerPolynomial. The two polynomials are - * independent of each other. - * - * @param intPoly the original polynomial - */ - public SparseTernaryPolynomial(IntegerPolynomial intPoly) - { - this(intPoly.coeffs); - } - - /** - * Constructs a new SparseTernaryPolynomial with a given set of coefficients. - * - * @param coeffs the coefficients - */ - public SparseTernaryPolynomial(int[] coeffs) - { - N = coeffs.length; - ones = new int[N]; - negOnes = new int[N]; - int onesIdx = 0; - int negOnesIdx = 0; - for (int i = 0; i < N; i++) - { - int c = coeffs[i]; - switch (c) - { - case 1: - ones[onesIdx++] = i; - break; - case -1: - negOnes[negOnesIdx++] = i; - break; - case 0: - break; - default: - throw new IllegalArgumentException("Illegal value: " + c + ", must be one of {-1, 0, 1}"); - } - } - ones = Arrays.copyOf(ones, onesIdx); - negOnes = Arrays.copyOf(negOnes, negOnesIdx); - } - - /** - * Decodes a byte array encoded with {@link #toBinary()} to a ploynomial. - * - * @param is an input stream containing an encoded polynomial - * @param N number of coefficients including zeros - * @param numOnes number of coefficients equal to 1 - * @param numNegOnes number of coefficients equal to -1 - * @return the decoded polynomial - * @throws IOException - */ - public static SparseTernaryPolynomial fromBinary(InputStream is, int N, int numOnes, int numNegOnes) - throws IOException - { - int maxIndex = 1 << BITS_PER_INDEX; - int bitsPerIndex = 32 - Integer.numberOfLeadingZeros(maxIndex - 1); - - int data1Len = (numOnes * bitsPerIndex + 7) / 8; - byte[] data1 = Util.readFullLength(is, data1Len); - int[] ones = ArrayEncoder.decodeModQ(data1, numOnes, maxIndex); - - int data2Len = (numNegOnes * bitsPerIndex + 7) / 8; - byte[] data2 = Util.readFullLength(is, data2Len); - int[] negOnes = ArrayEncoder.decodeModQ(data2, numNegOnes, maxIndex); - - return new SparseTernaryPolynomial(N, ones, negOnes); - } - - /** - * Generates a random polynomial with numOnes coefficients equal to 1, - * numNegOnes coefficients equal to -1, and the rest equal to 0. - * - * @param N number of coefficients - * @param numOnes number of 1's - * @param numNegOnes number of -1's - */ - public static SparseTernaryPolynomial generateRandom(int N, int numOnes, int numNegOnes, SecureRandom random) - { - int[] coeffs = Util.generateRandomTernary(N, numOnes, numNegOnes, random); - return new SparseTernaryPolynomial(coeffs); - } - - public IntegerPolynomial mult(IntegerPolynomial poly2) - { - int[] b = poly2.coeffs; - if (b.length != N) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - int[] c = new int[N]; - for (int idx = 0; idx != ones.length; idx++) - { - int i = ones[idx]; - int j = N - 1 - i; - for (int k = N - 1; k >= 0; k--) - { - c[k] += b[j]; - j--; - if (j < 0) - { - j = N - 1; - } - } - } - - for (int idx = 0; idx != negOnes.length; idx++) - { - int i = negOnes[idx]; - int j = N - 1 - i; - for (int k = N - 1; k >= 0; k--) - { - c[k] -= b[j]; - j--; - if (j < 0) - { - j = N - 1; - } - } - } - - return new IntegerPolynomial(c); - } - - public IntegerPolynomial mult(IntegerPolynomial poly2, int modulus) - { - IntegerPolynomial c = mult(poly2); - c.mod(modulus); - return c; - } - - public BigIntPolynomial mult(BigIntPolynomial poly2) - { - BigInteger[] b = poly2.coeffs; - if (b.length != N) - { - throw new IllegalArgumentException("Number of coefficients must be the same"); - } - - BigInteger[] c = new BigInteger[N]; - for (int i = 0; i < N; i++) - { - c[i] = BigInteger.ZERO; - } - - for (int idx = 0; idx != ones.length; idx++) - { - int i = ones[idx]; - int j = N - 1 - i; - for (int k = N - 1; k >= 0; k--) - { - c[k] = c[k].add(b[j]); - j--; - if (j < 0) - { - j = N - 1; - } - } - } - - for (int idx = 0; idx != negOnes.length; idx++) - { - int i = negOnes[idx]; - int j = N - 1 - i; - for (int k = N - 1; k >= 0; k--) - { - c[k] = c[k].subtract(b[j]); - j--; - if (j < 0) - { - j = N - 1; - } - } - } - - return new BigIntPolynomial(c); - } - - public int[] getOnes() - { - return ones; - } - - public int[] getNegOnes() - { - return negOnes; - } - - /** - * Encodes the polynomial to a byte array writing BITS_PER_INDEX bits for each coefficient. - * - * @return the encoded polynomial - */ - public byte[] toBinary() - { - int maxIndex = 1 << BITS_PER_INDEX; - byte[] bin1 = ArrayEncoder.encodeModQ(ones, maxIndex); - byte[] bin2 = ArrayEncoder.encodeModQ(negOnes, maxIndex); - - byte[] bin = Arrays.copyOf(bin1, bin1.length + bin2.length); - System.arraycopy(bin2, 0, bin, bin1.length, bin2.length); - return bin; - } - - public IntegerPolynomial toIntegerPolynomial() - { - int[] coeffs = new int[N]; - for (int idx = 0; idx != ones.length; idx++) - { - int i = ones[idx]; - coeffs[i] = 1; - } - for (int idx = 0; idx != negOnes.length; idx++) - { - int i = negOnes[idx]; - coeffs[i] = -1; - } - return new IntegerPolynomial(coeffs); - } - - public int size() - { - return N; - } - - public void clear() - { - for (int i = 0; i < ones.length; i++) - { - ones[i] = 0; - } - for (int i = 0; i < negOnes.length; i++) - { - negOnes[i] = 0; - } - } - - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + N; - result = prime * result + Arrays.hashCode(negOnes); - result = prime * result + Arrays.hashCode(ones); - return result; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) - { - return false; - } - SparseTernaryPolynomial other = (SparseTernaryPolynomial)obj; - if (N != other.N) - { - return false; - } - if (!Arrays.areEqual(negOnes, other.negOnes)) - { - return false; - } - if (!Arrays.areEqual(ones, other.ones)) - { - return false; - } - return true; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/TernaryPolynomial.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/TernaryPolynomial.java deleted file mode 100644 index 6b9530b3b..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/polynomial/TernaryPolynomial.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial; - -/** - * A polynomial whose coefficients are all equal to -1, 0, or 1 - */ -public interface TernaryPolynomial - extends Polynomial -{ - - /** - * Multiplies the polynomial by an IntegerPolynomial, taking the indices mod N - */ - IntegerPolynomial mult(IntegerPolynomial poly2); - - int[] getOnes(); - - int[] getNegOnes(); - - /** - * Returns the maximum number of coefficients the polynomial can have - */ - int size(); - - void clear(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/ArrayEncoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/ArrayEncoder.java deleted file mode 100644 index 8c9e3e034..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/ArrayEncoder.java +++ /dev/null @@ -1,292 +0,0 @@ -package org.spongycastle.pqc.math.ntru.util; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; - -import org.spongycastle.util.Arrays; - -/** - * Converts a coefficient array to a compact byte array and vice versa. - */ -public class ArrayEncoder -{ - /** - * Bit string to coefficient conversion table from P1363.1. Also found at - * {@link http://stackoverflow.com/questions/1562548/how-to-make-a-message-into-a-polynomial} - *

    - * Convert each three-bit quantity to two ternary coefficients as follows, and concatenate the resulting - * ternary quantities to obtain [the output]. - *

    - * - * {0, 0, 0} -> {0, 0}
    - * {0, 0, 1} -> {0, 1}
    - * {0, 1, 0} -> {0, -1}
    - * {0, 1, 1} -> {1, 0}
    - * {1, 0, 0} -> {1, 1}
    - * {1, 0, 1} -> {1, -1}
    - * {1, 1, 0} -> {-1, 0}
    - * {1, 1, 1} -> {-1, 1}
    - *
    - */ - private static final int[] COEFF1_TABLE = {0, 0, 0, 1, 1, 1, -1, -1}; - private static final int[] COEFF2_TABLE = {0, 1, -1, 0, 1, -1, 0, 1}; - /** - * Coefficient to bit string conversion table from P1363.1. Also found at - * {@link http://stackoverflow.com/questions/1562548/how-to-make-a-message-into-a-polynomial} - *

    - * Convert each set of two ternary coefficients to three bits as follows, and concatenate the resulting bit - * quantities to obtain [the output]: - *

    - * - * {-1, -1} -> set "fail" to 1 and set bit string to {1, 1, 1} - * {-1, 0} -> {1, 1, 0}
    - * {-1, 1} -> {1, 1, 1}
    - * {0, -1} -> {0, 1, 0}
    - * {0, 0} -> {0, 0, 0}
    - * {0, 1} -> {0, 0, 1}
    - * {1, -1} -> {1, 0, 1}
    - * {1, 0} -> {0, 1, 1}
    - * {1, 1} -> {1, 0, 0}
    - *
    - */ - private static final int[] BIT1_TABLE = {1, 1, 1, 0, 0, 0, 1, 0, 1}; - private static final int[] BIT2_TABLE = {1, 1, 1, 1, 0, 0, 0, 1, 0}; - private static final int[] BIT3_TABLE = {1, 0, 1, 0, 0, 1, 1, 1, 0}; - - /** - * Encodes an int array whose elements are between 0 and q, - * to a byte array leaving no gaps between bits.
    - * q must be a power of 2. - * - * @param a the input array - * @param q the modulus - * @return the encoded array - */ - public static byte[] encodeModQ(int[] a, int q) - { - int bitsPerCoeff = 31 - Integer.numberOfLeadingZeros(q); - int numBits = a.length * bitsPerCoeff; - int numBytes = (numBits + 7) / 8; - byte[] data = new byte[numBytes]; - int bitIndex = 0; - int byteIndex = 0; - for (int i = 0; i < a.length; i++) - { - for (int j = 0; j < bitsPerCoeff; j++) - { - int currentBit = (a[i] >> j) & 1; - data[byteIndex] |= currentBit << bitIndex; - if (bitIndex == 7) - { - bitIndex = 0; - byteIndex++; - } - else - { - bitIndex++; - } - } - } - return data; - } - - /** - * Decodes a byte array encoded with {@link #encodeModQ(int[], int)} back to an int array.
    - * N is the number of coefficients. q must be a power of 2.
    - * Ignores any excess bytes. - * - * @param data an encoded ternary polynomial - * @param N number of coefficients - * @param q - * @return an array containing N coefficients between 0 and q-1 - */ - public static int[] decodeModQ(byte[] data, int N, int q) - { - int[] coeffs = new int[N]; - int bitsPerCoeff = 31 - Integer.numberOfLeadingZeros(q); - int numBits = N * bitsPerCoeff; - int coeffIndex = 0; - for (int bitIndex = 0; bitIndex < numBits; bitIndex++) - { - if (bitIndex > 0 && bitIndex % bitsPerCoeff == 0) - { - coeffIndex++; - } - int bit = getBit(data, bitIndex); - coeffs[coeffIndex] += bit << (bitIndex % bitsPerCoeff); - } - return coeffs; - } - - /** - * Decodes data encoded with {@link #encodeModQ(int[], int)} back to an int array.
    - * N is the number of coefficients. q must be a power of 2.
    - * Ignores any excess bytes. - * - * @param is an encoded ternary polynomial - * @param N number of coefficients - * @param q - * @return the decoded polynomial - */ - public static int[] decodeModQ(InputStream is, int N, int q) - throws IOException - { - int qBits = 31 - Integer.numberOfLeadingZeros(q); - int size = (N * qBits + 7) / 8; - byte[] arr = Util.readFullLength(is, size); - return decodeModQ(arr, N, q); - } - - /** - * Decodes a byte array encoded with {@link #encodeMod3Sves(int[])} back to an int array - * with N coefficients between -1 and 1.
    - * Ignores any excess bytes.
    - * See P1363.1 section 9.2.2. - * - * @param data an encoded ternary polynomial - * @param N number of coefficients - * @return the decoded coefficients - */ - public static int[] decodeMod3Sves(byte[] data, int N) - { - int[] coeffs = new int[N]; - int coeffIndex = 0; - for (int bitIndex = 0; bitIndex < data.length * 8; ) - { - int bit1 = getBit(data, bitIndex++); - int bit2 = getBit(data, bitIndex++); - int bit3 = getBit(data, bitIndex++); - int coeffTableIndex = bit1 * 4 + bit2 * 2 + bit3; - coeffs[coeffIndex++] = COEFF1_TABLE[coeffTableIndex]; - coeffs[coeffIndex++] = COEFF2_TABLE[coeffTableIndex]; - // ignore bytes that can't fit - if (coeffIndex > N - 2) - { - break; - } - } - return coeffs; - } - - /** - * Encodes an int array whose elements are between -1 and 1, to a byte array. - * coeffs[2*i] and coeffs[2*i+1] must not both equal -1 for any integer i, - * so this method is only safe to use with arrays produced by {@link #decodeMod3Sves(byte[], int)}.
    - * See P1363.1 section 9.2.3. - * - * @param arr - * @return the encoded array - */ - public static byte[] encodeMod3Sves(int[] arr) - { - int numBits = (arr.length * 3 + 1) / 2; - int numBytes = (numBits + 7) / 8; - byte[] data = new byte[numBytes]; - int bitIndex = 0; - int byteIndex = 0; - for (int i = 0; i < arr.length / 2 * 2; ) - { // if length is an odd number, throw away the highest coeff - int coeff1 = arr[i++] + 1; - int coeff2 = arr[i++] + 1; - if (coeff1 == 0 && coeff2 == 0) - { - throw new IllegalStateException("Illegal encoding!"); - } - int bitTableIndex = coeff1 * 3 + coeff2; - int[] bits = new int[]{BIT1_TABLE[bitTableIndex], BIT2_TABLE[bitTableIndex], BIT3_TABLE[bitTableIndex]}; - for (int j = 0; j < 3; j++) - { - data[byteIndex] |= bits[j] << bitIndex; - if (bitIndex == 7) - { - bitIndex = 0; - byteIndex++; - } - else - { - bitIndex++; - } - } - } - return data; - } - - /** - * Encodes an int array whose elements are between -1 and 1, to a byte array. - * - * @return the encoded array - */ - public static byte[] encodeMod3Tight(int[] intArray) - { - BigInteger sum = BigInteger.ZERO; - for (int i = intArray.length - 1; i >= 0; i--) - { - sum = sum.multiply(BigInteger.valueOf(3)); - sum = sum.add(BigInteger.valueOf(intArray[i] + 1)); - } - - int size = (BigInteger.valueOf(3).pow(intArray.length).bitLength() + 7) / 8; - byte[] arr = sum.toByteArray(); - - if (arr.length < size) - { - // pad with leading zeros so arr.length==size - byte[] arr2 = new byte[size]; - System.arraycopy(arr, 0, arr2, size - arr.length, arr.length); - return arr2; - } - - if (arr.length > size) - // drop sign bit - { - arr = Arrays.copyOfRange(arr, 1, arr.length); - } - return arr; - } - - /** - * Converts a byte array produced by {@link #encodeMod3Tight(int[])} back to an int array. - * - * @param b a byte array - * @param N number of coefficients - * @return the decoded array - */ - public static int[] decodeMod3Tight(byte[] b, int N) - { - BigInteger sum = new BigInteger(1, b); - int[] coeffs = new int[N]; - for (int i = 0; i < N; i++) - { - coeffs[i] = sum.mod(BigInteger.valueOf(3)).intValue() - 1; - if (coeffs[i] > 1) - { - coeffs[i] -= 3; - } - sum = sum.divide(BigInteger.valueOf(3)); - } - return coeffs; - } - - /** - * Converts data produced by {@link #encodeMod3Tight(int[])} back to an int array. - * - * @param is an input stream containing the data to decode - * @param N number of coefficients - * @return the decoded array - */ - public static int[] decodeMod3Tight(InputStream is, int N) - throws IOException - { - int size = (int)Math.ceil(N * Math.log(3) / Math.log(2) / 8); - byte[] arr = Util.readFullLength(is, size); - return decodeMod3Tight(arr, N); - } - - private static int getBit(byte[] arr, int bitIndex) - { - int byteIndex = bitIndex / 8; - int arrElem = arr[byteIndex] & 0xFF; - return (arrElem >> (bitIndex % 8)) & 1; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/Util.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/Util.java deleted file mode 100644 index b07e1cb88..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/pqc/math/ntru/util/Util.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.spongycastle.pqc.math.ntru.util; - -import java.io.IOException; -import java.io.InputStream; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import org.spongycastle.pqc.math.ntru.euclid.IntEuclidean; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.TernaryPolynomial; -import org.spongycastle.util.Integers; - -public class Util -{ - private static volatile boolean IS_64_BITNESS_KNOWN; - private static volatile boolean IS_64_BIT_JVM; - - /** - * Calculates the inverse of n mod modulus - */ - public static int invert(int n, int modulus) - { - n %= modulus; - if (n < 0) - { - n += modulus; - } - return IntEuclidean.calculate(n, modulus).x; - } - - /** - * Calculates a^b mod modulus - */ - public static int pow(int a, int b, int modulus) - { - int p = 1; - for (int i = 0; i < b; i++) - { - p = (p * a) % modulus; - } - return p; - } - - /** - * Calculates a^b mod modulus - */ - public static long pow(long a, int b, long modulus) - { - long p = 1; - for (int i = 0; i < b; i++) - { - p = (p * a) % modulus; - } - return p; - } - - /** - * Generates a "sparse" or "dense" polynomial containing numOnes ints equal to 1, - * numNegOnes int equal to -1, and the rest equal to 0. - * - * @param N - * @param numOnes - * @param numNegOnes - * @param sparse whether to create a {@link SparseTernaryPolynomial} or {@link DenseTernaryPolynomial} - * @return a ternary polynomial - */ - public static TernaryPolynomial generateRandomTernary(int N, int numOnes, int numNegOnes, boolean sparse, SecureRandom random) - { - if (sparse) - { - return SparseTernaryPolynomial.generateRandom(N, numOnes, numNegOnes, random); - } - else - { - return DenseTernaryPolynomial.generateRandom(N, numOnes, numNegOnes, random); - } - } - - /** - * Generates an array containing numOnes ints equal to 1, - * numNegOnes int equal to -1, and the rest equal to 0. - * - * @param N - * @param numOnes - * @param numNegOnes - * @return an array of integers - */ - public static int[] generateRandomTernary(int N, int numOnes, int numNegOnes, SecureRandom random) - { - Integer one = Integers.valueOf(1); - Integer minusOne = Integers.valueOf(-1); - Integer zero = Integers.valueOf(0); - - List list = new ArrayList(); - for (int i = 0; i < numOnes; i++) - { - list.add(one); - } - for (int i = 0; i < numNegOnes; i++) - { - list.add(minusOne); - } - while (list.size() < N) - { - list.add(zero); - } - - Collections.shuffle(list, random); - - int[] arr = new int[N]; - for (int i = 0; i < N; i++) - { - arr[i] = ((Integer)list.get(i)).intValue(); - } - return arr; - } - - /** - * Takes an educated guess as to whether 64 bits are supported by the JVM. - * - * @return true if 64-bit support detected, false otherwise - */ - public static boolean is64BitJVM() - { - if (!IS_64_BITNESS_KNOWN) - { - String arch = System.getProperty("os.arch"); - String sunModel = System.getProperty("sun.arch.data.model"); - IS_64_BIT_JVM = "amd64".equals(arch) || "x86_64".equals(arch) || "ppc64".equals(arch) || "64".equals(sunModel); - IS_64_BITNESS_KNOWN = true; - } - return IS_64_BIT_JVM; - } - - /** - * Reads a given number of bytes from an InputStream. - * If there are not enough bytes in the stream, an IOException - * is thrown. - * - * @param is - * @param length - * @return an array of length length - * @throws IOException - */ - public static byte[] readFullLength(InputStream is, int length) - throws IOException - { - byte[] arr = new byte[length]; - if (is.read(arr) != arr.length) - { - throw new IOException("Not enough bytes to read."); - } - return arr; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Arrays.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Arrays.java deleted file mode 100644 index 05bb3e12e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Arrays.java +++ /dev/null @@ -1,856 +0,0 @@ -package org.spongycastle.util; - -import java.math.BigInteger; - -/** - * General array utilities. - */ -public final class Arrays -{ - private Arrays() - { - // static class, hide constructor - } - - public static boolean areEqual( - boolean[] a, - boolean[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public static boolean areEqual( - char[] a, - char[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public static boolean areEqual( - byte[] a, - byte[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - /** - * A constant time equals comparison - does not terminate early if - * test will fail. - * - * @param a first array - * @param b second array - * @return true if arrays equal, false otherwise. - */ - public static boolean constantTimeAreEqual( - byte[] a, - byte[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - int nonEqual = 0; - - for (int i = 0; i != a.length; i++) - { - nonEqual |= (a[i] ^ b[i]); - } - - return nonEqual == 0; - } - - public static boolean areEqual( - int[] a, - int[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public static boolean areEqual( - long[] a, - long[] b) - { - if (a == b) - { - return true; - } - - if (a == null || b == null) - { - return false; - } - - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public static boolean areEqual(Object[] a, Object[] b) - { - if (a == b) - { - return true; - } - if (a == null || b == null) - { - return false; - } - if (a.length != b.length) - { - return false; - } - for (int i = 0; i != a.length; i++) - { - Object objA = a[i], objB = b[i]; - if (objA == null) - { - if (objB != null) - { - return false; - } - } - else if (!objA.equals(objB)) - { - return false; - } - } - return true; - } - - public static boolean contains(short[] a, short n) - { - for (int i = 0; i < a.length; ++i) - { - if (a[i] == n) - { - return true; - } - } - return false; - } - - public static boolean contains(int[] a, int n) - { - for (int i = 0; i < a.length; ++i) - { - if (a[i] == n) - { - return true; - } - } - return false; - } - - public static void fill( - byte[] array, - byte value) - { - for (int i = 0; i < array.length; i++) - { - array[i] = value; - } - } - - public static void fill( - char[] array, - char value) - { - for (int i = 0; i < array.length; i++) - { - array[i] = value; - } - } - - public static void fill( - long[] array, - long value) - { - for (int i = 0; i < array.length; i++) - { - array[i] = value; - } - } - - public static void fill( - short[] array, - short value) - { - for (int i = 0; i < array.length; i++) - { - array[i] = value; - } - } - - public static void fill( - int[] array, - int value) - { - for (int i = 0; i < array.length; i++) - { - array[i] = value; - } - } - - public static int hashCode(byte[] data) - { - if (data == null) - { - return 0; - } - - int i = data.length; - int hc = i + 1; - - while (--i >= 0) - { - hc *= 257; - hc ^= data[i]; - } - - return hc; - } - - public static int hashCode(char[] data) - { - if (data == null) - { - return 0; - } - - int i = data.length; - int hc = i + 1; - - while (--i >= 0) - { - hc *= 257; - hc ^= data[i]; - } - - return hc; - } - - public static int hashCode(int[][] ints) - { - int hc = 0; - - for (int i = 0; i != ints.length; i++) - { - hc = hc * 257 + hashCode(ints[i]); - } - - return hc; - } - - public static int hashCode(int[] data) - { - if (data == null) - { - return 0; - } - - int i = data.length; - int hc = i + 1; - - while (--i >= 0) - { - hc *= 257; - hc ^= data[i]; - } - - return hc; - } - - public static int hashCode(short[][][] shorts) - { - int hc = 0; - - for (int i = 0; i != shorts.length; i++) - { - hc = hc * 257 + hashCode(shorts[i]); - } - - return hc; - } - - public static int hashCode(short[][] shorts) - { - int hc = 0; - - for (int i = 0; i != shorts.length; i++) - { - hc = hc * 257 + hashCode(shorts[i]); - } - - return hc; - } - - public static int hashCode(short[] data) - { - if (data == null) - { - return 0; - } - - int i = data.length; - int hc = i + 1; - - while (--i >= 0) - { - hc *= 257; - hc ^= (data[i] & 0xff); - } - - return hc; - } - - public static int hashCode(Object[] data) - { - if (data == null) - { - return 0; - } - - int i = data.length; - int hc = i + 1; - - while (--i >= 0) - { - hc *= 257; - hc ^= data[i].hashCode(); - } - - return hc; - } - - public static byte[] clone(byte[] data) - { - if (data == null) - { - return null; - } - byte[] copy = new byte[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - public static byte[] clone(byte[] data, byte[] existing) - { - if (data == null) - { - return null; - } - if ((existing == null) || (existing.length != data.length)) - { - return clone(data); - } - System.arraycopy(data, 0, existing, 0, existing.length); - return existing; - } - - public static byte[][] clone(byte[][] data) - { - if (data == null) - { - return null; - } - - byte[][] copy = new byte[data.length][]; - - for (int i = 0; i != copy.length; i++) - { - copy[i] = clone(data[i]); - } - - return copy; - } - - public static byte[][][] clone(byte[][][] data) - { - if (data == null) - { - return null; - } - - byte[][][] copy = new byte[data.length][][]; - - for (int i = 0; i != copy.length; i++) - { - copy[i] = clone(data[i]); - } - - return copy; - } - - public static int[] clone(int[] data) - { - if (data == null) - { - return null; - } - int[] copy = new int[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - public static long[] clone(long[] data) - { - if (data == null) - { - return null; - } - long[] copy = new long[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - public static long[] clone(long[] data, long[] existing) - { - if (data == null) - { - return null; - } - if ((existing == null) || (existing.length != data.length)) - { - return clone(data); - } - System.arraycopy(data, 0, existing, 0, existing.length); - return existing; - } - - public static short[] clone(short[] data) - { - if (data == null) - { - return null; - } - short[] copy = new short[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - public static BigInteger[] clone(BigInteger[] data) - { - if (data == null) - { - return null; - } - BigInteger[] copy = new BigInteger[data.length]; - - System.arraycopy(data, 0, copy, 0, data.length); - - return copy; - } - - public static byte[] copyOf(byte[] data, int newLength) - { - byte[] tmp = new byte[newLength]; - - if (newLength < data.length) - { - System.arraycopy(data, 0, tmp, 0, newLength); - } - else - { - System.arraycopy(data, 0, tmp, 0, data.length); - } - - return tmp; - } - - public static char[] copyOf(char[] data, int newLength) - { - char[] tmp = new char[newLength]; - - if (newLength < data.length) - { - System.arraycopy(data, 0, tmp, 0, newLength); - } - else - { - System.arraycopy(data, 0, tmp, 0, data.length); - } - - return tmp; - } - - public static int[] copyOf(int[] data, int newLength) - { - int[] tmp = new int[newLength]; - - if (newLength < data.length) - { - System.arraycopy(data, 0, tmp, 0, newLength); - } - else - { - System.arraycopy(data, 0, tmp, 0, data.length); - } - - return tmp; - } - - public static long[] copyOf(long[] data, int newLength) - { - long[] tmp = new long[newLength]; - - if (newLength < data.length) - { - System.arraycopy(data, 0, tmp, 0, newLength); - } - else - { - System.arraycopy(data, 0, tmp, 0, data.length); - } - - return tmp; - } - - public static BigInteger[] copyOf(BigInteger[] data, int newLength) - { - BigInteger[] tmp = new BigInteger[newLength]; - - if (newLength < data.length) - { - System.arraycopy(data, 0, tmp, 0, newLength); - } - else - { - System.arraycopy(data, 0, tmp, 0, data.length); - } - - return tmp; - } - - /** - * Make a copy of a range of bytes from the passed in data array. The range can - * extend beyond the end of the input array, in which case the return array will - * be padded with zeroes. - * - * @param data the array from which the data is to be copied. - * @param from the start index at which the copying should take place. - * @param to the final index of the range (exclusive). - * - * @return a new byte array containing the range given. - */ - public static byte[] copyOfRange(byte[] data, int from, int to) - { - int newLength = getLength(from, to); - - byte[] tmp = new byte[newLength]; - - if (data.length - from < newLength) - { - System.arraycopy(data, from, tmp, 0, data.length - from); - } - else - { - System.arraycopy(data, from, tmp, 0, newLength); - } - - return tmp; - } - - public static int[] copyOfRange(int[] data, int from, int to) - { - int newLength = getLength(from, to); - - int[] tmp = new int[newLength]; - - if (data.length - from < newLength) - { - System.arraycopy(data, from, tmp, 0, data.length - from); - } - else - { - System.arraycopy(data, from, tmp, 0, newLength); - } - - return tmp; - } - - public static long[] copyOfRange(long[] data, int from, int to) - { - int newLength = getLength(from, to); - - long[] tmp = new long[newLength]; - - if (data.length - from < newLength) - { - System.arraycopy(data, from, tmp, 0, data.length - from); - } - else - { - System.arraycopy(data, from, tmp, 0, newLength); - } - - return tmp; - } - - public static BigInteger[] copyOfRange(BigInteger[] data, int from, int to) - { - int newLength = getLength(from, to); - - BigInteger[] tmp = new BigInteger[newLength]; - - if (data.length - from < newLength) - { - System.arraycopy(data, from, tmp, 0, data.length - from); - } - else - { - System.arraycopy(data, from, tmp, 0, newLength); - } - - return tmp; - } - - private static int getLength(int from, int to) - { - int newLength = to - from; - if (newLength < 0) - { - StringBuffer sb = new StringBuffer(from); - sb.append(" > ").append(to); - throw new IllegalArgumentException(sb.toString()); - } - return newLength; - } - - public static byte[] append(byte[] a, byte b) - { - if (a == null) - { - return new byte[]{ b }; - } - - int length = a.length; - byte[] result = new byte[length + 1]; - System.arraycopy(a, 0, result, 0, length); - result[length] = b; - return result; - } - - public static int[] append(int[] a, int b) - { - if (a == null) - { - return new int[]{ b }; - } - - int length = a.length; - int[] result = new int[length + 1]; - System.arraycopy(a, 0, result, 0, length); - result[length] = b; - return result; - } - - public static byte[] concatenate(byte[] a, byte[] b) - { - if (a != null && b != null) - { - byte[] rv = new byte[a.length + b.length]; - - System.arraycopy(a, 0, rv, 0, a.length); - System.arraycopy(b, 0, rv, a.length, b.length); - - return rv; - } - else if (b != null) - { - return clone(b); - } - else - { - return clone(a); - } - } - - public static byte[] concatenate(byte[] a, byte[] b, byte[] c) - { - if (a != null && b != null && c != null) - { - byte[] rv = new byte[a.length + b.length + c.length]; - - System.arraycopy(a, 0, rv, 0, a.length); - System.arraycopy(b, 0, rv, a.length, b.length); - System.arraycopy(c, 0, rv, a.length + b.length, c.length); - - return rv; - } - else if (b == null) - { - return concatenate(a, c); - } - else - { - return concatenate(a, b); - } - } - - public static byte[] concatenate(byte[] a, byte[] b, byte[] c, byte[] d) - { - if (a != null && b != null && c != null && d != null) - { - byte[] rv = new byte[a.length + b.length + c.length + d.length]; - - System.arraycopy(a, 0, rv, 0, a.length); - System.arraycopy(b, 0, rv, a.length, b.length); - System.arraycopy(c, 0, rv, a.length + b.length, c.length); - System.arraycopy(d, 0, rv, a.length + b.length + c.length, d.length); - - return rv; - } - else if (d == null) - { - return concatenate(a, b, c); - } - else if (c == null) - { - return concatenate(a, b, d); - } - else if (b == null) - { - return concatenate(a, c, d); - } - else - { - return concatenate(b, c, d); - } - } - - public static byte[] prepend(byte[] a, byte b) - { - if (a == null) - { - return new byte[]{ b }; - } - - int length = a.length; - byte[] result = new byte[length + 1]; - System.arraycopy(a, 0, result, 1, length); - result[0] = b; - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/BigIntegers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/BigIntegers.java deleted file mode 100644 index 93c113476..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/BigIntegers.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.util; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/** - * BigInteger utilities. - */ -public final class BigIntegers -{ - private static final int MAX_ITERATIONS = 1000; - private static final BigInteger ZERO = BigInteger.valueOf(0); - - /** - * Return the passed in value as an unsigned byte array. - * - * @param value value to be converted. - * @return a byte array without a leading zero byte if present in the signed encoding. - */ - public static byte[] asUnsignedByteArray( - BigInteger value) - { - byte[] bytes = value.toByteArray(); - - if (bytes[0] == 0) - { - byte[] tmp = new byte[bytes.length - 1]; - - System.arraycopy(bytes, 1, tmp, 0, tmp.length); - - return tmp; - } - - return bytes; - } - - /** - * Return the passed in value as an unsigned byte array. - * - * @param value value to be converted. - * @return a byte array without a leading zero byte if present in the signed encoding. - */ - public static byte[] asUnsignedByteArray(int length, BigInteger value) - { - byte[] bytes = value.toByteArray(); - if (bytes.length == length) - { - return bytes; - } - - int start = bytes[0] == 0 ? 1 : 0; - int count = bytes.length - start; - - if (count > length) - { - throw new IllegalArgumentException("standard length exceeded for value"); - } - - byte[] tmp = new byte[length]; - System.arraycopy(bytes, start, tmp, tmp.length - count, count); - return tmp; - } - - /** - * Return a random BigInteger not less than 'min' and not greater than 'max' - * - * @param min the least value that may be generated - * @param max the greatest value that may be generated - * @param random the source of randomness - * @return a random BigInteger value in the range [min,max] - */ - public static BigInteger createRandomInRange( - BigInteger min, - BigInteger max, - SecureRandom random) - { - int cmp = min.compareTo(max); - if (cmp >= 0) - { - if (cmp > 0) - { - throw new IllegalArgumentException("'min' may not be greater than 'max'"); - } - - return min; - } - - if (min.bitLength() > max.bitLength() / 2) - { - return createRandomInRange(ZERO, max.subtract(min), random).add(min); - } - - for (int i = 0; i < MAX_ITERATIONS; ++i) - { - BigInteger x = new BigInteger(max.bitLength(), random); - if (x.compareTo(min) >= 0 && x.compareTo(max) <= 0) - { - return x; - } - } - - // fall back to a faster (restricted) method - return new BigInteger(max.subtract(min).bitLength() - 1, random).add(min); - } - - public static BigInteger fromUnsignedByteArray(byte[] buf) - { - return new BigInteger(1, buf); - } - - public static BigInteger fromUnsignedByteArray(byte[] buf, int off, int length) - { - byte[] mag = buf; - if (off != 0 || length != buf.length) - { - mag = new byte[length]; - System.arraycopy(buf, off, mag, 0, length); - } - return new BigInteger(1, mag); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/CollectionStore.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/CollectionStore.java deleted file mode 100644 index fa4c9fe56..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/CollectionStore.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.util; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -/** - * A simple collection backed store. - */ -public class CollectionStore - implements Store -{ - private Collection _local; - - /** - * Basic constructor. - * - * @param collection - initial contents for the store, this is copied. - */ - public CollectionStore( - Collection collection) - { - _local = new ArrayList(collection); - } - - /** - * Return the matches in the collection for the passed in selector. - * - * @param selector the selector to match against. - * @return a possibly empty collection of matching objects. - */ - public Collection getMatches(Selector selector) - { - if (selector == null) - { - return new ArrayList(_local); - } - else - { - List col = new ArrayList(); - Iterator iter = _local.iterator(); - - while (iter.hasNext()) - { - Object obj = iter.next(); - - if (selector.match(obj)) - { - col.add(obj); - } - } - - return col; - } - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/IPAddress.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/IPAddress.java deleted file mode 100644 index 14c49cad5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/IPAddress.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.spongycastle.util; - -public class IPAddress -{ - /** - * Validate the given IPv4 or IPv6 address. - * - * @param address the IP address as a String. - * - * @return true if a valid address, false otherwise - */ - public static boolean isValid( - String address) - { - return isValidIPv4(address) || isValidIPv6(address); - } - - /** - * Validate the given IPv4 or IPv6 address and netmask. - * - * @param address the IP address as a String. - * - * @return true if a valid address with netmask, false otherwise - */ - public static boolean isValidWithNetMask( - String address) - { - return isValidIPv4WithNetmask(address) || isValidIPv6WithNetmask(address); - } - - /** - * Validate the given IPv4 address. - * - * @param address the IP address as a String. - * - * @return true if a valid IPv4 address, false otherwise - */ - public static boolean isValidIPv4( - String address) - { - if (address.length() == 0) - { - return false; - } - - int octet; - int octets = 0; - - String temp = address+"."; - - int pos; - int start = 0; - while (start < temp.length() - && (pos = temp.indexOf('.', start)) > start) - { - if (octets == 4) - { - return false; - } - try - { - octet = Integer.parseInt(temp.substring(start, pos)); - } - catch (NumberFormatException ex) - { - return false; - } - if (octet < 0 || octet > 255) - { - return false; - } - start = pos + 1; - octets++; - } - - return octets == 4; - } - - public static boolean isValidIPv4WithNetmask( - String address) - { - int index = address.indexOf("/"); - String mask = address.substring(index + 1); - - return (index > 0) && isValidIPv4(address.substring(0, index)) - && (isValidIPv4(mask) || isMaskValue(mask, 32)); - } - - public static boolean isValidIPv6WithNetmask( - String address) - { - int index = address.indexOf("/"); - String mask = address.substring(index + 1); - - return (index > 0) && (isValidIPv6(address.substring(0, index)) - && (isValidIPv6(mask) || isMaskValue(mask, 128))); - } - - private static boolean isMaskValue(String component, int size) - { - try - { - int value = Integer.parseInt(component); - - return value >= 0 && value <= size; - } - catch (NumberFormatException e) - { - return false; - } - } - - /** - * Validate the given IPv6 address. - * - * @param address the IP address as a String. - * - * @return true if a valid IPv4 address, false otherwise - */ - public static boolean isValidIPv6( - String address) - { - if (address.length() == 0) - { - return false; - } - - int octet; - int octets = 0; - - String temp = address + ":"; - boolean doubleColonFound = false; - int pos; - int start = 0; - while (start < temp.length() - && (pos = temp.indexOf(':', start)) >= start) - { - if (octets == 8) - { - return false; - } - - if (start != pos) - { - String value = temp.substring(start, pos); - - if (pos == (temp.length() - 1) && value.indexOf('.') > 0) - { - if (!isValidIPv4(value)) - { - return false; - } - - octets++; // add an extra one as address covers 2 words. - } - else - { - try - { - octet = Integer.parseInt(temp.substring(start, pos), 16); - } - catch (NumberFormatException ex) - { - return false; - } - if (octet < 0 || octet > 0xffff) - { - return false; - } - } - } - else - { - if (pos != 1 && pos != temp.length() - 1 && doubleColonFound) - { - return false; - } - doubleColonFound = true; - } - start = pos + 1; - octets++; - } - - return octets == 8 || doubleColonFound; - } -} - - diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Integers.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Integers.java deleted file mode 100644 index adfa69501..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Integers.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Integers -{ - public static Integer valueOf(int value) - { - return Integer.valueOf(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Memoable.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Memoable.java deleted file mode 100644 index 75280e5a2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Memoable.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.util; - -public interface Memoable -{ - /** - * Produce a copy of this object with its configuration and in its current state. - *

    - * The returned object may be used simply to store the state, or may be used as a similar object - * starting from the copied state. - */ - public Memoable copy(); - - /** - * Restore a copied object state into this object. - *

    - * Implementations of this method should try to avoid or minimise memory allocation to perform the reset. - * - * @param other an object originally {@link #copy() copied} from an object of the same type as this instance. - * @throws ClassCastException if the provided object is not of the correct type. - * @throws MemoableResetException if the other parameter is in some other way invalid. - */ - public void reset(Memoable other); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/MemoableResetException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/MemoableResetException.java deleted file mode 100644 index 6d579ed53..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/MemoableResetException.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.util; - -/** - * Exception to be thrown on a failure to reset an object implementing Memoable. - *

    - * The exception extends ClassCastException to enable users to have a single handling case, - * only introducing specific handling of this one if required. - *

    - */ -public class MemoableResetException - extends ClassCastException -{ - /** - * Basic Constructor. - * - * @param msg message to be associated with this exception. - */ - public MemoableResetException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Selector.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Selector.java deleted file mode 100644 index 6ed23f2a5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Selector.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public interface Selector - extends Cloneable -{ - boolean match(Object obj); - - Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Shorts.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Shorts.java deleted file mode 100644 index 0faaeb0d3..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Shorts.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Shorts -{ - public static Short valueOf(short value) - { - return Short.valueOf(value); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Store.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Store.java deleted file mode 100644 index b19f69478..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Store.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -import java.util.Collection; - -public interface Store -{ - Collection getMatches(Selector selector) - throws StoreException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StoreException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StoreException.java deleted file mode 100644 index a02eee26a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StoreException.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.util; - -public class StoreException - extends RuntimeException -{ - private Throwable _e; - - public StoreException(String s, Throwable e) - { - super(s); - _e = e; - } - - public Throwable getCause() - { - return _e; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParser.java deleted file mode 100644 index ba9628246..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParser.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.util; - -import java.util.Collection; - -public interface StreamParser -{ - Object read() throws StreamParsingException; - - Collection readAll() throws StreamParsingException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParsingException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParsingException.java deleted file mode 100644 index 081219d7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/StreamParsingException.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.util; - -public class StreamParsingException - extends Exception -{ - Throwable _e; - - public StreamParsingException(String message, Throwable e) - { - super(message); - _e = e; - } - - public Throwable getCause() - { - return _e; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Strings.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Strings.java deleted file mode 100644 index 6657ed394..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/Strings.java +++ /dev/null @@ -1,303 +0,0 @@ -package org.spongycastle.util; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.Vector; - -public final class Strings -{ - public static String fromUTF8ByteArray(byte[] bytes) - { - int i = 0; - int length = 0; - - while (i < bytes.length) - { - length++; - if ((bytes[i] & 0xf0) == 0xf0) - { - // surrogate pair - length++; - i += 4; - } - else if ((bytes[i] & 0xe0) == 0xe0) - { - i += 3; - } - else if ((bytes[i] & 0xc0) == 0xc0) - { - i += 2; - } - else - { - i += 1; - } - } - - char[] cs = new char[length]; - - i = 0; - length = 0; - - while (i < bytes.length) - { - char ch; - - if ((bytes[i] & 0xf0) == 0xf0) - { - int codePoint = ((bytes[i] & 0x03) << 18) | ((bytes[i+1] & 0x3F) << 12) | ((bytes[i+2] & 0x3F) << 6) | (bytes[i+3] & 0x3F); - int U = codePoint - 0x10000; - char W1 = (char)(0xD800 | (U >> 10)); - char W2 = (char)(0xDC00 | (U & 0x3FF)); - cs[length++] = W1; - ch = W2; - i += 4; - } - else if ((bytes[i] & 0xe0) == 0xe0) - { - ch = (char)(((bytes[i] & 0x0f) << 12) - | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)); - i += 3; - } - else if ((bytes[i] & 0xd0) == 0xd0) - { - ch = (char)(((bytes[i] & 0x1f) << 6) | (bytes[i + 1] & 0x3f)); - i += 2; - } - else if ((bytes[i] & 0xc0) == 0xc0) - { - ch = (char)(((bytes[i] & 0x1f) << 6) | (bytes[i + 1] & 0x3f)); - i += 2; - } - else - { - ch = (char)(bytes[i] & 0xff); - i += 1; - } - - cs[length++] = ch; - } - - return new String(cs); - } - - public static byte[] toUTF8ByteArray(String string) - { - return toUTF8ByteArray(string.toCharArray()); - } - - public static byte[] toUTF8ByteArray(char[] string) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - toUTF8ByteArray(string, bOut); - } - catch (IOException e) - { - throw new IllegalStateException("cannot encode string to byte array!"); - } - - return bOut.toByteArray(); - } - - public static void toUTF8ByteArray(char[] string, OutputStream sOut) - throws IOException - { - char[] c = string; - int i = 0; - - while (i < c.length) - { - char ch = c[i]; - - if (ch < 0x0080) - { - sOut.write(ch); - } - else if (ch < 0x0800) - { - sOut.write(0xc0 | (ch >> 6)); - sOut.write(0x80 | (ch & 0x3f)); - } - // surrogate pair - else if (ch >= 0xD800 && ch <= 0xDFFF) - { - // in error - can only happen, if the Java String class has a - // bug. - if (i + 1 >= c.length) - { - throw new IllegalStateException("invalid UTF-16 codepoint"); - } - char W1 = ch; - ch = c[++i]; - char W2 = ch; - // in error - can only happen, if the Java String class has a - // bug. - if (W1 > 0xDBFF) - { - throw new IllegalStateException("invalid UTF-16 codepoint"); - } - int codePoint = (((W1 & 0x03FF) << 10) | (W2 & 0x03FF)) + 0x10000; - sOut.write(0xf0 | (codePoint >> 18)); - sOut.write(0x80 | ((codePoint >> 12) & 0x3F)); - sOut.write(0x80 | ((codePoint >> 6) & 0x3F)); - sOut.write(0x80 | (codePoint & 0x3F)); - } - else - { - sOut.write(0xe0 | (ch >> 12)); - sOut.write(0x80 | ((ch >> 6) & 0x3F)); - sOut.write(0x80 | (ch & 0x3F)); - } - - i++; - } - } - - /** - * A locale independent version of toUpperCase. - * - * @param string input to be converted - * @return a US Ascii uppercase version - */ - public static String toUpperCase(String string) - { - boolean changed = false; - char[] chars = string.toCharArray(); - - for (int i = 0; i != chars.length; i++) - { - char ch = chars[i]; - if ('a' <= ch && 'z' >= ch) - { - changed = true; - chars[i] = (char)(ch - 'a' + 'A'); - } - } - - if (changed) - { - return new String(chars); - } - - return string; - } - - /** - * A locale independent version of toLowerCase. - * - * @param string input to be converted - * @return a US ASCII lowercase version - */ - public static String toLowerCase(String string) - { - boolean changed = false; - char[] chars = string.toCharArray(); - - for (int i = 0; i != chars.length; i++) - { - char ch = chars[i]; - if ('A' <= ch && 'Z' >= ch) - { - changed = true; - chars[i] = (char)(ch - 'A' + 'a'); - } - } - - if (changed) - { - return new String(chars); - } - - return string; - } - - public static byte[] toByteArray(char[] chars) - { - byte[] bytes = new byte[chars.length]; - - for (int i = 0; i != bytes.length; i++) - { - bytes[i] = (byte)chars[i]; - } - - return bytes; - } - - public static byte[] toByteArray(String string) - { - byte[] bytes = new byte[string.length()]; - - for (int i = 0; i != bytes.length; i++) - { - char ch = string.charAt(i); - - bytes[i] = (byte)ch; - } - - return bytes; - } - - /** - * Convert an array of 8 bit characters into a string. - * - * @param bytes 8 bit characters. - * @return resulting String. - */ - public static String fromByteArray(byte[] bytes) - { - return new String(asCharArray(bytes)); - } - - /** - * Do a simple conversion of an array of 8 bit characters into a string. - * - * @param bytes 8 bit characters. - * @return resulting String. - */ - public static char[] asCharArray(byte[] bytes) - { - char[] chars = new char[bytes.length]; - - for (int i = 0; i != chars.length; i++) - { - chars[i] = (char)(bytes[i] & 0xff); - } - - return chars; - } - - public static String[] split(String input, char delimiter) - { - Vector v = new Vector(); - boolean moreTokens = true; - String subString; - - while (moreTokens) - { - int tokenLocation = input.indexOf(delimiter); - if (tokenLocation > 0) - { - subString = input.substring(0, tokenLocation); - v.addElement(subString); - input = input.substring(tokenLocation + 1); - } - else - { - moreTokens = false; - v.addElement(input); - } - } - - String[] res = new String[v.size()]; - - for (int i = 0; i != res.length; i++) - { - res[i] = (String)v.elementAt(i); - } - return res; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64.java deleted file mode 100644 index 8060acbdd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.util.Strings; - -public class Base64 -{ - private static final Encoder encoder = new Base64Encoder(); - - public static String toBase64String( - byte[] data) - { - return toBase64String(data, 0, data.length); - } - - public static String toBase64String( - byte[] data, - int off, - int length) - { - byte[] encoded = encode(data, off, length); - return Strings.fromByteArray(encoded); - } - - /** - * encode the input data producing a base 64 encoded byte array. - * - * @return a byte array containing the base 64 encoded data. - */ - public static byte[] encode( - byte[] data) - { - return encode(data, 0, data.length); - } - - /** - * encode the input data producing a base 64 encoded byte array. - * - * @return a byte array containing the base 64 encoded data. - */ - public static byte[] encode( - byte[] data, - int off, - int length) - { - int len = (length + 2) / 3 * 4; - ByteArrayOutputStream bOut = new ByteArrayOutputStream(len); - - try - { - encoder.encode(data, off, length, bOut); - } - catch (Exception e) - { - throw new EncoderException("exception encoding base64 string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * Encode the byte data to base 64 writing it to the given output stream. - * - * @return the number of bytes produced. - */ - public static int encode( - byte[] data, - OutputStream out) - throws IOException - { - return encoder.encode(data, 0, data.length, out); - } - - /** - * Encode the byte data to base 64 writing it to the given output stream. - * - * @return the number of bytes produced. - */ - public static int encode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - return encoder.encode(data, off, length, out); - } - - /** - * decode the base 64 encoded input data. It is assumed the input data is valid. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - byte[] data) - { - int len = data.length / 4 * 3; - ByteArrayOutputStream bOut = new ByteArrayOutputStream(len); - - try - { - encoder.decode(data, 0, data.length, bOut); - } - catch (Exception e) - { - throw new DecoderException("unable to decode base64 data: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * decode the base 64 encoded String data - whitespace will be ignored. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - String data) - { - int len = data.length() / 4 * 3; - ByteArrayOutputStream bOut = new ByteArrayOutputStream(len); - - try - { - encoder.decode(data, bOut); - } - catch (Exception e) - { - throw new DecoderException("unable to decode base64 string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * decode the base 64 encoded String data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public static int decode( - String data, - OutputStream out) - throws IOException - { - return encoder.decode(data, out); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64Encoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64Encoder.java deleted file mode 100644 index e207e2e4e..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Base64Encoder.java +++ /dev/null @@ -1,328 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.IOException; -import java.io.OutputStream; - -public class Base64Encoder - implements Encoder -{ - protected final byte[] encodingTable = - { - (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', - (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', - (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', - (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', - (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f', (byte)'g', - (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', - (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', (byte)'t', (byte)'u', - (byte)'v', - (byte)'w', (byte)'x', (byte)'y', (byte)'z', - (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', - (byte)'7', (byte)'8', (byte)'9', - (byte)'+', (byte)'/' - }; - - protected byte padding = (byte)'='; - - /* - * set up the decoding table. - */ - protected final byte[] decodingTable = new byte[128]; - - protected void initialiseDecodingTable() - { - for (int i = 0; i < decodingTable.length; i++) - { - decodingTable[i] = (byte)0xff; - } - - for (int i = 0; i < encodingTable.length; i++) - { - decodingTable[encodingTable[i]] = (byte)i; - } - } - - public Base64Encoder() - { - initialiseDecodingTable(); - } - - /** - * encode the input data producing a base 64 output stream. - * - * @return the number of bytes produced. - */ - public int encode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - int modulus = length % 3; - int dataLength = (length - modulus); - int a1, a2, a3; - - for (int i = off; i < off + dataLength; i += 3) - { - a1 = data[i] & 0xff; - a2 = data[i + 1] & 0xff; - a3 = data[i + 2] & 0xff; - - out.write(encodingTable[(a1 >>> 2) & 0x3f]); - out.write(encodingTable[((a1 << 4) | (a2 >>> 4)) & 0x3f]); - out.write(encodingTable[((a2 << 2) | (a3 >>> 6)) & 0x3f]); - out.write(encodingTable[a3 & 0x3f]); - } - - /* - * process the tail end. - */ - int b1, b2, b3; - int d1, d2; - - switch (modulus) - { - case 0: /* nothing left to do */ - break; - case 1: - d1 = data[off + dataLength] & 0xff; - b1 = (d1 >>> 2) & 0x3f; - b2 = (d1 << 4) & 0x3f; - - out.write(encodingTable[b1]); - out.write(encodingTable[b2]); - out.write(padding); - out.write(padding); - break; - case 2: - d1 = data[off + dataLength] & 0xff; - d2 = data[off + dataLength + 1] & 0xff; - - b1 = (d1 >>> 2) & 0x3f; - b2 = ((d1 << 4) | (d2 >>> 4)) & 0x3f; - b3 = (d2 << 2) & 0x3f; - - out.write(encodingTable[b1]); - out.write(encodingTable[b2]); - out.write(encodingTable[b3]); - out.write(padding); - break; - } - - return (dataLength / 3) * 4 + ((modulus == 0) ? 0 : 4); - } - - private boolean ignore( - char c) - { - return (c == '\n' || c =='\r' || c == '\t' || c == ' '); - } - - /** - * decode the base 64 encoded byte data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public int decode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - byte b1, b2, b3, b4; - int outLen = 0; - - int end = off + length; - - while (end > off) - { - if (!ignore((char)data[end - 1])) - { - break; - } - - end--; - } - - int i = off; - int finish = end - 4; - - i = nextI(data, i, finish); - - while (i < finish) - { - b1 = decodingTable[data[i++]]; - - i = nextI(data, i, finish); - - b2 = decodingTable[data[i++]]; - - i = nextI(data, i, finish); - - b3 = decodingTable[data[i++]]; - - i = nextI(data, i, finish); - - b4 = decodingTable[data[i++]]; - - if ((b1 | b2 | b3 | b4) < 0) - { - throw new IOException("invalid characters encountered in base64 data"); - } - - out.write((b1 << 2) | (b2 >> 4)); - out.write((b2 << 4) | (b3 >> 2)); - out.write((b3 << 6) | b4); - - outLen += 3; - - i = nextI(data, i, finish); - } - - outLen += decodeLastBlock(out, (char)data[end - 4], (char)data[end - 3], (char)data[end - 2], (char)data[end - 1]); - - return outLen; - } - - private int nextI(byte[] data, int i, int finish) - { - while ((i < finish) && ignore((char)data[i])) - { - i++; - } - return i; - } - - /** - * decode the base 64 encoded String data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public int decode( - String data, - OutputStream out) - throws IOException - { - byte b1, b2, b3, b4; - int length = 0; - - int end = data.length(); - - while (end > 0) - { - if (!ignore(data.charAt(end - 1))) - { - break; - } - - end--; - } - - int i = 0; - int finish = end - 4; - - i = nextI(data, i, finish); - - while (i < finish) - { - b1 = decodingTable[data.charAt(i++)]; - - i = nextI(data, i, finish); - - b2 = decodingTable[data.charAt(i++)]; - - i = nextI(data, i, finish); - - b3 = decodingTable[data.charAt(i++)]; - - i = nextI(data, i, finish); - - b4 = decodingTable[data.charAt(i++)]; - - if ((b1 | b2 | b3 | b4) < 0) - { - throw new IOException("invalid characters encountered in base64 data"); - } - - out.write((b1 << 2) | (b2 >> 4)); - out.write((b2 << 4) | (b3 >> 2)); - out.write((b3 << 6) | b4); - - length += 3; - - i = nextI(data, i, finish); - } - - length += decodeLastBlock(out, data.charAt(end - 4), data.charAt(end - 3), data.charAt(end - 2), data.charAt(end - 1)); - - return length; - } - - private int decodeLastBlock(OutputStream out, char c1, char c2, char c3, char c4) - throws IOException - { - byte b1, b2, b3, b4; - - if (c3 == padding) - { - b1 = decodingTable[c1]; - b2 = decodingTable[c2]; - - if ((b1 | b2) < 0) - { - throw new IOException("invalid characters encountered at end of base64 data"); - } - - out.write((b1 << 2) | (b2 >> 4)); - - return 1; - } - else if (c4 == padding) - { - b1 = decodingTable[c1]; - b2 = decodingTable[c2]; - b3 = decodingTable[c3]; - - if ((b1 | b2 | b3) < 0) - { - throw new IOException("invalid characters encountered at end of base64 data"); - } - - out.write((b1 << 2) | (b2 >> 4)); - out.write((b2 << 4) | (b3 >> 2)); - - return 2; - } - else - { - b1 = decodingTable[c1]; - b2 = decodingTable[c2]; - b3 = decodingTable[c3]; - b4 = decodingTable[c4]; - - if ((b1 | b2 | b3 | b4) < 0) - { - throw new IOException("invalid characters encountered at end of base64 data"); - } - - out.write((b1 << 2) | (b2 >> 4)); - out.write((b2 << 4) | (b3 >> 2)); - out.write((b3 << 6) | b4); - - return 3; - } - } - - private int nextI(String data, int i, int finish) - { - while ((i < finish) && ignore(data.charAt(i))) - { - i++; - } - return i; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedDecoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedDecoder.java deleted file mode 100644 index cc8cb27b1..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedDecoder.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.util.encoders; - - -/** - * a buffering class to allow translation from one format to another to - * be done in discrete chunks. - */ -public class BufferedDecoder -{ - protected byte[] buf; - protected int bufOff; - - protected Translator translator; - - /** - * @param translator the translator to use. - * @param bufSize amount of input to buffer for each chunk. - */ - public BufferedDecoder( - Translator translator, - int bufSize) - { - this.translator = translator; - - if ((bufSize % translator.getEncodedBlockSize()) != 0) - { - throw new IllegalArgumentException("buffer size not multiple of input block size"); - } - - buf = new byte[bufSize]; - bufOff = 0; - } - - public int processByte( - byte in, - byte[] out, - int outOff) - { - int resultLen = 0; - - buf[bufOff++] = in; - - if (bufOff == buf.length) - { - resultLen = translator.decode(buf, 0, buf.length, out, outOff); - bufOff = 0; - } - - return resultLen; - } - - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += translator.decode(buf, 0, buf.length, out, outOff); - - bufOff = 0; - - len -= gapLen; - inOff += gapLen; - outOff += resultLen; - - int chunkSize = len - (len % buf.length); - - resultLen += translator.decode(in, inOff, chunkSize, out, outOff); - - len -= chunkSize; - inOff += chunkSize; - } - - if (len != 0) - { - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - return resultLen; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedEncoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedEncoder.java deleted file mode 100644 index 3dc41c0e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/BufferedEncoder.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.util.encoders; - - -/** - * a buffering class to allow translation from one format to another to - * be done in discrete chunks. - */ -public class BufferedEncoder -{ - protected byte[] buf; - protected int bufOff; - - protected Translator translator; - - /** - * @param translator the translator to use. - * @param bufSize amount of input to buffer for each chunk. - */ - public BufferedEncoder( - Translator translator, - int bufSize) - { - this.translator = translator; - - if ((bufSize % translator.getEncodedBlockSize()) != 0) - { - throw new IllegalArgumentException("buffer size not multiple of input block size"); - } - - buf = new byte[bufSize]; - bufOff = 0; - } - - public int processByte( - byte in, - byte[] out, - int outOff) - { - int resultLen = 0; - - buf[bufOff++] = in; - - if (bufOff == buf.length) - { - resultLen = translator.encode(buf, 0, buf.length, out, outOff); - bufOff = 0; - } - - return resultLen; - } - - public int processBytes( - byte[] in, - int inOff, - int len, - byte[] out, - int outOff) - { - if (len < 0) - { - throw new IllegalArgumentException("Can't have a negative input length!"); - } - - int resultLen = 0; - int gapLen = buf.length - bufOff; - - if (len > gapLen) - { - System.arraycopy(in, inOff, buf, bufOff, gapLen); - - resultLen += translator.encode(buf, 0, buf.length, out, outOff); - - bufOff = 0; - - len -= gapLen; - inOff += gapLen; - outOff += resultLen; - - int chunkSize = len - (len % buf.length); - - resultLen += translator.encode(in, inOff, chunkSize, out, outOff); - - len -= chunkSize; - inOff += chunkSize; - } - - if (len != 0) - { - System.arraycopy(in, inOff, buf, bufOff, len); - - bufOff += len; - } - - return resultLen; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/DecoderException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/DecoderException.java deleted file mode 100644 index cdaa31564..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/DecoderException.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.spongycastle.util.encoders; - -public class DecoderException - extends IllegalStateException -{ - private Throwable cause; - - DecoderException(String msg, Throwable cause) - { - super(msg); - - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Encoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Encoder.java deleted file mode 100644 index 106c36b7a..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Encoder.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Encode and decode byte arrays (typically from binary to 7-bit ASCII - * encodings). - */ -public interface Encoder -{ - int encode(byte[] data, int off, int length, OutputStream out) throws IOException; - - int decode(byte[] data, int off, int length, OutputStream out) throws IOException; - - int decode(String data, OutputStream out) throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/EncoderException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/EncoderException.java deleted file mode 100644 index c7b233132..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/EncoderException.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.spongycastle.util.encoders; - -public class EncoderException - extends IllegalStateException -{ - private Throwable cause; - - EncoderException(String msg, Throwable cause) - { - super(msg); - - this.cause = cause; - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Hex.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Hex.java deleted file mode 100644 index 920b2d627..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Hex.java +++ /dev/null @@ -1,148 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.util.Strings; - -public class Hex -{ - private static final Encoder encoder = new HexEncoder(); - - public static String toHexString( - byte[] data) - { - return toHexString(data, 0, data.length); - } - - public static String toHexString( - byte[] data, - int off, - int length) - { - byte[] encoded = encode(data, off, length); - return Strings.fromByteArray(encoded); - } - - /** - * encode the input data producing a Hex encoded byte array. - * - * @return a byte array containing the Hex encoded data. - */ - public static byte[] encode( - byte[] data) - { - return encode(data, 0, data.length); - } - - /** - * encode the input data producing a Hex encoded byte array. - * - * @return a byte array containing the Hex encoded data. - */ - public static byte[] encode( - byte[] data, - int off, - int length) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.encode(data, off, length, bOut); - } - catch (Exception e) - { - throw new EncoderException("exception encoding Hex string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * Hex encode the byte data writing it to the given output stream. - * - * @return the number of bytes produced. - */ - public static int encode( - byte[] data, - OutputStream out) - throws IOException - { - return encoder.encode(data, 0, data.length, out); - } - - /** - * Hex encode the byte data writing it to the given output stream. - * - * @return the number of bytes produced. - */ - public static int encode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - return encoder.encode(data, off, length, out); - } - - /** - * decode the Hex encoded input data. It is assumed the input data is valid. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - byte[] data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.decode(data, 0, data.length, bOut); - } - catch (Exception e) - { - throw new DecoderException("exception decoding Hex data: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * decode the Hex encoded String data - whitespace will be ignored. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - String data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.decode(data, bOut); - } - catch (Exception e) - { - throw new DecoderException("exception decoding Hex string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * decode the Hex encoded String data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public static int decode( - String data, - OutputStream out) - throws IOException - { - return encoder.decode(data, out); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexEncoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexEncoder.java deleted file mode 100644 index 609123729..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexEncoder.java +++ /dev/null @@ -1,187 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.IOException; -import java.io.OutputStream; - -public class HexEncoder - implements Encoder -{ - protected final byte[] encodingTable = - { - (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', - (byte)'8', (byte)'9', (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f' - }; - - /* - * set up the decoding table. - */ - protected final byte[] decodingTable = new byte[128]; - - protected void initialiseDecodingTable() - { - for (int i = 0; i < decodingTable.length; i++) - { - decodingTable[i] = (byte)0xff; - } - - for (int i = 0; i < encodingTable.length; i++) - { - decodingTable[encodingTable[i]] = (byte)i; - } - - decodingTable['A'] = decodingTable['a']; - decodingTable['B'] = decodingTable['b']; - decodingTable['C'] = decodingTable['c']; - decodingTable['D'] = decodingTable['d']; - decodingTable['E'] = decodingTable['e']; - decodingTable['F'] = decodingTable['f']; - } - - public HexEncoder() - { - initialiseDecodingTable(); - } - - /** - * encode the input data producing a Hex output stream. - * - * @return the number of bytes produced. - */ - public int encode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - for (int i = off; i < (off + length); i++) - { - int v = data[i] & 0xff; - - out.write(encodingTable[(v >>> 4)]); - out.write(encodingTable[v & 0xf]); - } - - return length * 2; - } - - private static boolean ignore( - char c) - { - return c == '\n' || c =='\r' || c == '\t' || c == ' '; - } - - /** - * decode the Hex encoded byte data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public int decode( - byte[] data, - int off, - int length, - OutputStream out) - throws IOException - { - byte b1, b2; - int outLen = 0; - - int end = off + length; - - while (end > off) - { - if (!ignore((char)data[end - 1])) - { - break; - } - - end--; - } - - int i = off; - while (i < end) - { - while (i < end && ignore((char)data[i])) - { - i++; - } - - b1 = decodingTable[data[i++]]; - - while (i < end && ignore((char)data[i])) - { - i++; - } - - b2 = decodingTable[data[i++]]; - - if ((b1 | b2) < 0) - { - throw new IOException("invalid characters encountered in Hex data"); - } - - out.write((b1 << 4) | b2); - - outLen++; - } - - return outLen; - } - - /** - * decode the Hex encoded String data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public int decode( - String data, - OutputStream out) - throws IOException - { - byte b1, b2; - int length = 0; - - int end = data.length(); - - while (end > 0) - { - if (!ignore(data.charAt(end - 1))) - { - break; - } - - end--; - } - - int i = 0; - while (i < end) - { - while (i < end && ignore(data.charAt(i))) - { - i++; - } - - b1 = decodingTable[data.charAt(i++)]; - - while (i < end && ignore(data.charAt(i))) - { - i++; - } - - b2 = decodingTable[data.charAt(i++)]; - - if ((b1 | b2) < 0) - { - throw new IOException("invalid characters encountered in Hex string"); - } - - out.write((b1 << 4) | b2); - - length++; - } - - return length; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexTranslator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexTranslator.java deleted file mode 100644 index 066f883d9..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/HexTranslator.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.util.encoders; - -/** - * Converters for going from hex to binary and back. Note: this class assumes ASCII processing. - */ -public class HexTranslator - implements Translator -{ - private static final byte[] hexTable = - { - (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', - (byte)'8', (byte)'9', (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f' - }; - - /** - * size of the output block on encoding produced by getDecodedBlockSize() - * bytes. - */ - public int getEncodedBlockSize() - { - return 2; - } - - public int encode( - byte[] in, - int inOff, - int length, - byte[] out, - int outOff) - { - for (int i = 0, j = 0; i < length; i++, j += 2) - { - out[outOff + j] = hexTable[(in[inOff] >> 4) & 0x0f]; - out[outOff + j + 1] = hexTable[in[inOff] & 0x0f]; - - inOff++; - } - - return length * 2; - } - - /** - * size of the output block on decoding produced by getEncodedBlockSize() - * bytes. - */ - public int getDecodedBlockSize() - { - return 1; - } - - public int decode( - byte[] in, - int inOff, - int length, - byte[] out, - int outOff) - { - int halfLength = length / 2; - byte left, right; - for (int i = 0; i < halfLength; i++) - { - left = in[inOff + i * 2]; - right = in[inOff + i * 2 + 1]; - - if (left < (byte)'a') - { - out[outOff] = (byte)((left - '0') << 4); - } - else - { - out[outOff] = (byte)((left - 'a' + 10) << 4); - } - if (right < (byte)'a') - { - out[outOff] += (byte)(right - '0'); - } - else - { - out[outOff] += (byte)(right - 'a' + 10); - } - - outOff++; - } - - return halfLength; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Translator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Translator.java deleted file mode 100644 index 789823348..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/Translator.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.util.encoders; - -/** - * general interface for an translator. - */ -public interface Translator -{ - /** - * size of the output block on encoding produced by getDecodedBlockSize() - * bytes. - */ - public int getEncodedBlockSize(); - - public int encode(byte[] in, int inOff, int length, byte[] out, int outOff); - - /** - * size of the output block on decoding produced by getEncodedBlockSize() - * bytes. - */ - public int getDecodedBlockSize(); - - public int decode(byte[] in, int inOff, int length, byte[] out, int outOff); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64.java deleted file mode 100644 index 18fb0eb42..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.spongycastle.util.encoders; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Convert binary data to and from UrlBase64 encoding. This is identical to - * Base64 encoding, except that the padding character is "." and the other - * non-alphanumeric characters are "-" and "_" instead of "+" and "/". - *

    - * The purpose of UrlBase64 encoding is to provide a compact encoding of binary - * data that is safe for use as an URL parameter. Base64 encoding does not - * produce encoded values that are safe for use in URLs, since "/" can be - * interpreted as a path delimiter; "+" is the encoded form of a space; and - * "=" is used to separate a name from the corresponding value in an URL - * parameter. - */ -public class UrlBase64 -{ - private static final Encoder encoder = new UrlBase64Encoder(); - - /** - * Encode the input data producing a URL safe base 64 encoded byte array. - * - * @return a byte array containing the URL safe base 64 encoded data. - */ - public static byte[] encode( - byte[] data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.encode(data, 0, data.length, bOut); - } - catch (Exception e) - { - throw new EncoderException("exception encoding URL safe base64 data: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * Encode the byte data writing it to the given output stream. - * - * @return the number of bytes produced. - */ - public static int encode( - byte[] data, - OutputStream out) - throws IOException - { - return encoder.encode(data, 0, data.length, out); - } - - /** - * Decode the URL safe base 64 encoded input data - white space will be ignored. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - byte[] data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.decode(data, 0, data.length, bOut); - } - catch (Exception e) - { - throw new DecoderException("exception decoding URL safe base64 string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * decode the URL safe base 64 encoded byte data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public static int decode( - byte[] data, - OutputStream out) - throws IOException - { - return encoder.decode(data, 0, data.length, out); - } - - /** - * decode the URL safe base 64 encoded String data - whitespace will be ignored. - * - * @return a byte array representing the decoded data. - */ - public static byte[] decode( - String data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - encoder.decode(data, bOut); - } - catch (Exception e) - { - throw new DecoderException("exception decoding URL safe base64 string: " + e.getMessage(), e); - } - - return bOut.toByteArray(); - } - - /** - * Decode the URL safe base 64 encoded String data writing it to the given output stream, - * whitespace characters will be ignored. - * - * @return the number of bytes produced. - */ - public static int decode( - String data, - OutputStream out) - throws IOException - { - return encoder.decode(data, out); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64Encoder.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64Encoder.java deleted file mode 100644 index dc6f1ed77..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/encoders/UrlBase64Encoder.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.util.encoders; - -/** - * Convert binary data to and from UrlBase64 encoding. This is identical to - * Base64 encoding, except that the padding character is "." and the other - * non-alphanumeric characters are "-" and "_" instead of "+" and "/". - *

    - * The purpose of UrlBase64 encoding is to provide a compact encoding of binary - * data that is safe for use as an URL parameter. Base64 encoding does not - * produce encoded values that are safe for use in URLs, since "/" can be - * interpreted as a path delimiter; "+" is the encoded form of a space; and - * "=" is used to separate a name from the corresponding value in an URL - * parameter. - */ -public class UrlBase64Encoder extends Base64Encoder -{ - public UrlBase64Encoder() - { - encodingTable[encodingTable.length - 2] = (byte) '-'; - encodingTable[encodingTable.length - 1] = (byte) '_'; - padding = (byte) '.'; - // we must re-create the decoding table with the new encoded values. - initialiseDecodingTable(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/BufferingOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/BufferingOutputStream.java deleted file mode 100644 index ae4abec41..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/BufferingOutputStream.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.util.io; - -import java.io.IOException; -import java.io.OutputStream; - -import org.spongycastle.util.Arrays; - -/** - * An output stream that buffers data to be feed into an encapsulated output stream. - *

    - * The stream zeroes out the internal buffer on each flush. - *

    - */ -public class BufferingOutputStream - extends OutputStream -{ - private final OutputStream other; - private final byte[] buf; - - private int bufOff; - - /** - * Create a buffering stream with the default buffer size (4096). - * - * @param other output stream to be wrapped. - */ - public BufferingOutputStream(OutputStream other) - { - this.other = other; - this.buf = new byte[4096]; - } - - /** - * Create a buffering stream with a specified buffer size. - * - * @param other output stream to be wrapped. - * @param bufferSize size in bytes for internal buffer. - */ - public BufferingOutputStream(OutputStream other, int bufferSize) - { - this.other = other; - this.buf = new byte[bufferSize]; - } - - public void write(byte[] bytes, int offset, int len) - throws IOException - { - if (len < buf.length - bufOff) - { - System.arraycopy(bytes, offset, buf, bufOff, len); - bufOff += len; - } - else - { - int gap = buf.length - bufOff; - - System.arraycopy(bytes, offset, buf, bufOff, gap); - bufOff += gap; - - flush(); - - offset += gap; - len -= gap; - while (len >= buf.length) - { - other.write(bytes, offset, buf.length); - offset += buf.length; - len -= buf.length; - } - - if (len > 0) - { - System.arraycopy(bytes, offset, buf, bufOff, len); - bufOff += len; - } - } - } - - public void write(int b) - throws IOException - { - buf[bufOff++] = (byte)b; - if (bufOff == buf.length) - { - flush(); - } - } - - /** - * Flush the internal buffer to the encapsulated output stream. Zero the buffer contents when done. - * - * @throws IOException on error. - */ - public void flush() - throws IOException - { - other.write(buf, 0, bufOff); - bufOff = 0; - Arrays.fill(buf, (byte)0); - } - - public void close() - throws IOException - { - flush(); - other.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/StreamOverflowException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/StreamOverflowException.java deleted file mode 100644 index 8b50bd631..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/StreamOverflowException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.spongycastle.util.io; - -import java.io.IOException; - -public class StreamOverflowException - extends IOException -{ - public StreamOverflowException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/Streams.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/Streams.java deleted file mode 100644 index fa3a425e2..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/Streams.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.util.io; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public final class Streams -{ - private static int BUFFER_SIZE = 512; - - public static void drain(InputStream inStr) - throws IOException - { - byte[] bs = new byte[BUFFER_SIZE]; - while (inStr.read(bs, 0, bs.length) >= 0) - { - } - } - - public static byte[] readAll(InputStream inStr) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - pipeAll(inStr, buf); - return buf.toByteArray(); - } - - public static byte[] readAllLimited(InputStream inStr, int limit) - throws IOException - { - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - pipeAllLimited(inStr, limit, buf); - return buf.toByteArray(); - } - - public static int readFully(InputStream inStr, byte[] buf) - throws IOException - { - return readFully(inStr, buf, 0, buf.length); - } - - public static int readFully(InputStream inStr, byte[] buf, int off, int len) - throws IOException - { - int totalRead = 0; - while (totalRead < len) - { - int numRead = inStr.read(buf, off + totalRead, len - totalRead); - if (numRead < 0) - { - break; - } - totalRead += numRead; - } - return totalRead; - } - - public static void pipeAll(InputStream inStr, OutputStream outStr) - throws IOException - { - byte[] bs = new byte[BUFFER_SIZE]; - int numRead; - while ((numRead = inStr.read(bs, 0, bs.length)) >= 0) - { - outStr.write(bs, 0, numRead); - } - } - - public static long pipeAllLimited(InputStream inStr, long limit, OutputStream outStr) - throws IOException - { - long total = 0; - byte[] bs = new byte[BUFFER_SIZE]; - int numRead; - while ((numRead = inStr.read(bs, 0, bs.length)) >= 0) - { - total += numRead; - if (total > limit) - { - throw new StreamOverflowException("Data Overflow"); - } - outStr.write(bs, 0, numRead); - } - return total; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeInputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeInputStream.java deleted file mode 100644 index 1e62eb548..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeInputStream.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.spongycastle.util.io; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class TeeInputStream - extends InputStream -{ - private final InputStream input; - private final OutputStream output; - - public TeeInputStream(InputStream input, OutputStream output) - { - this.input = input; - this.output = output; - } - - public int read(byte[] buf) - throws IOException - { - return read(buf, 0, buf.length); - } - - public int read(byte[] buf, int off, int len) - throws IOException - { - int i = input.read(buf, off, len); - - if (i > 0) - { - output.write(buf, off, i); - } - - return i; - } - - public int read() - throws IOException - { - int i = input.read(); - - if (i >= 0) - { - output.write(i); - } - - return i; - } - - public void close() - throws IOException - { - this.input.close(); - this.output.close(); - } - - public OutputStream getOutputStream() - { - return output; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeOutputStream.java deleted file mode 100644 index 9e2317c6d..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/TeeOutputStream.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.util.io; - -import java.io.IOException; -import java.io.OutputStream; - -public class TeeOutputStream - extends OutputStream -{ - private OutputStream output1; - private OutputStream output2; - - public TeeOutputStream(OutputStream output1, OutputStream output2) - { - this.output1 = output1; - this.output2 = output2; - } - - public void write(byte[] buf) - throws IOException - { - this.output1.write(buf); - this.output2.write(buf); - } - - public void write(byte[] buf, int off, int len) - throws IOException - { - this.output1.write(buf, off, len); - this.output2.write(buf, off, len); - } - - public void write(int b) - throws IOException - { - this.output1.write(b); - this.output2.write(b); - } - - public void flush() - throws IOException - { - this.output1.flush(); - this.output2.flush(); - } - - public void close() - throws IOException - { - this.output1.close(); - this.output2.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java deleted file mode 100644 index 12298fe46..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.util.io.pem; - -import java.io.IOException; - -public class PemGenerationException - extends IOException -{ - private Throwable cause; - - public PemGenerationException(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - public PemGenerationException(String message) - { - super(message); - } - - public Throwable getCause() - { - return cause; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemHeader.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemHeader.java deleted file mode 100644 index 4adb815e5..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemHeader.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.util.io.pem; - -public class PemHeader -{ - private String name; - private String value; - - public PemHeader(String name, String value) - { - this.name = name; - this.value = value; - } - - public String getName() - { - return name; - } - - public String getValue() - { - return value; - } - - public int hashCode() - { - return getHashCode(this.name) + 31 * getHashCode(this.value); - } - - public boolean equals(Object o) - { - if (!(o instanceof PemHeader)) - { - return false; - } - - PemHeader other = (PemHeader)o; - - return other == this || (isEqual(this.name, other.name) && isEqual(this.value, other.value)); - } - - private int getHashCode(String s) - { - if (s == null) - { - return 1; - } - - return s.hashCode(); - } - - private boolean isEqual(String s1, String s2) - { - if (s1 == s2) - { - return true; - } - - if (s1 == null || s2 == null) - { - return false; - } - - return s1.equals(s2); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObject.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObject.java deleted file mode 100644 index bd51777e4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObject.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.spongycastle.util.io.pem; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class PemObject - implements PemObjectGenerator -{ - private static final List EMPTY_LIST = Collections.unmodifiableList(new ArrayList()); - - private String type; - private List headers; - private byte[] content; - - /** - * Generic constructor for object without headers. - * - * @param type pem object type. - * @param content the binary content of the object. - */ - public PemObject(String type, byte[] content) - { - this(type, EMPTY_LIST, content); - } - - /** - * Generic constructor for object with headers. - * - * @param type pem object type. - * @param headers a list of PemHeader objects. - * @param content the binary content of the object. - */ - public PemObject(String type, List headers, byte[] content) - { - this.type = type; - this.headers = Collections.unmodifiableList(headers); - this.content = content; - } - - public String getType() - { - return type; - } - - public List getHeaders() - { - return headers; - } - - public byte[] getContent() - { - return content; - } - - public PemObject generate() - throws PemGenerationException - { - return this; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java deleted file mode 100644 index 1a8cea6de..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.spongycastle.util.io.pem; - -public interface PemObjectGenerator -{ - PemObject generate() - throws PemGenerationException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectParser.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectParser.java deleted file mode 100644 index 1c6a3eb22..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemObjectParser.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util.io.pem; - -import java.io.IOException; - -public interface PemObjectParser -{ - Object parseObject(PemObject obj) - throws IOException; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemReader.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemReader.java deleted file mode 100644 index cbbebab97..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemReader.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.util.io.pem; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.Reader; -import java.util.ArrayList; -import java.util.List; - -import org.spongycastle.util.encoders.Base64; - -public class PemReader - extends BufferedReader -{ - private static final String BEGIN = "-----BEGIN "; - private static final String END = "-----END "; - - public PemReader(Reader reader) - { - super(reader); - } - - public PemObject readPemObject() - throws IOException - { - String line = readLine(); - - while (line != null && !line.startsWith(BEGIN)) - { - line = readLine(); - } - - if (line != null) - { - line = line.substring(BEGIN.length()); - int index = line.indexOf('-'); - String type = line.substring(0, index); - - if (index > 0) - { - return loadObject(type); - } - } - - return null; - } - - private PemObject loadObject(String type) - throws IOException - { - String line; - String endMarker = END + type; - StringBuffer buf = new StringBuffer(); - List headers = new ArrayList(); - - while ((line = readLine()) != null) - { - if (line.indexOf(":") >= 0) - { - int index = line.indexOf(':'); - String hdr = line.substring(0, index); - String value = line.substring(index + 1).trim(); - - headers.add(new PemHeader(hdr, value)); - - continue; - } - - if (line.indexOf(endMarker) != -1) - { - break; - } - - buf.append(line.trim()); - } - - if (line == null) - { - throw new IOException(endMarker + " not found"); - } - - return new PemObject(type, headers, Base64.decode(buf.toString())); - } - -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemWriter.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemWriter.java deleted file mode 100644 index 02dde96be..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/io/pem/PemWriter.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.spongycastle.util.io.pem; - -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.Writer; -import java.util.Iterator; - -import org.spongycastle.util.encoders.Base64; - -/** - * A generic PEM writer, based on RFC 1421 - */ -public class PemWriter - extends BufferedWriter -{ - private static final int LINE_LENGTH = 64; - - private final int nlLength; - private char[] buf = new char[LINE_LENGTH]; - - /** - * Base constructor. - * - * @param out output stream to use. - */ - public PemWriter(Writer out) - { - super(out); - - String nl = System.getProperty("line.separator"); - if (nl != null) - { - nlLength = nl.length(); - } - else - { - nlLength = 2; - } - } - - /** - * Return the number of bytes or characters required to contain the - * passed in object if it is PEM encoded. - * - * @param obj pem object to be output - * @return an estimate of the number of bytes - */ - public int getOutputSize(PemObject obj) - { - // BEGIN and END boundaries. - int size = (2 * (obj.getType().length() + 10 + nlLength)) + 6 + 4; - - if (!obj.getHeaders().isEmpty()) - { - for (Iterator it = obj.getHeaders().iterator(); it.hasNext();) - { - PemHeader hdr = (PemHeader)it.next(); - - size += hdr.getName().length() + ": ".length() + hdr.getValue().length() + nlLength; - } - - size += nlLength; - } - - // base64 encoding - int dataLen = ((obj.getContent().length + 2) / 3) * 4; - - size += dataLen + (((dataLen + LINE_LENGTH - 1) / LINE_LENGTH) * nlLength); - - return size; - } - - public void writeObject(PemObjectGenerator objGen) - throws IOException - { - PemObject obj = objGen.generate(); - - writePreEncapsulationBoundary(obj.getType()); - - if (!obj.getHeaders().isEmpty()) - { - for (Iterator it = obj.getHeaders().iterator(); it.hasNext();) - { - PemHeader hdr = (PemHeader)it.next(); - - this.write(hdr.getName()); - this.write(": "); - this.write(hdr.getValue()); - this.newLine(); - } - - this.newLine(); - } - - writeEncoded(obj.getContent()); - writePostEncapsulationBoundary(obj.getType()); - } - - private void writeEncoded(byte[] bytes) - throws IOException - { - bytes = Base64.encode(bytes); - - for (int i = 0; i < bytes.length; i += buf.length) - { - int index = 0; - - while (index != buf.length) - { - if ((i + index) >= bytes.length) - { - break; - } - buf[index] = (char)bytes[i + index]; - index++; - } - this.write(buf, 0, index); - this.newLine(); - } - } - - private void writePreEncapsulationBoundary( - String type) - throws IOException - { - this.write("-----BEGIN " + type + "-----"); - this.newLine(); - } - - private void writePostEncapsulationBoundary( - String type) - throws IOException - { - this.write("-----END " + type + "-----"); - this.newLine(); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java deleted file mode 100644 index a11f5e91f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.util.test; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; - -public class FixedSecureRandom - extends SecureRandom -{ - private byte[] _data; - - private int _index; - private int _intPad; - - public FixedSecureRandom(byte[] value) - { - this(false, new byte[][] { value }); - } - - public FixedSecureRandom( - byte[][] values) - { - this(false, values); - } - - /** - * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger - * implementation. - */ - public FixedSecureRandom( - boolean intPad, - byte[] value) - { - this(intPad, new byte[][] { value }); - } - - /** - * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger - * implementation. - */ - public FixedSecureRandom( - boolean intPad, - byte[][] values) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != values.length; i++) - { - try - { - bOut.write(values[i]); - } - catch (IOException e) - { - throw new IllegalArgumentException("can't save value array."); - } - } - - _data = bOut.toByteArray(); - - if (intPad) - { - _intPad = _data.length % 4; - } - } - - public void nextBytes(byte[] bytes) - { - System.arraycopy(_data, _index, bytes, 0, bytes.length); - - _index += bytes.length; - } - - // - // classpath's implementation of SecureRandom doesn't currently go back to nextBytes - // when next is called. We can't override next as it's a final method. - // - public int nextInt() - { - int val = 0; - - val |= nextValue() << 24; - val |= nextValue() << 16; - - if (_intPad == 2) - { - _intPad--; - } - else - { - val |= nextValue() << 8; - } - - if (_intPad == 1) - { - _intPad--; - } - else - { - val |= nextValue(); - } - - return val; - } - - // - // classpath's implementation of SecureRandom doesn't currently go back to nextBytes - // when next is called. We can't override next as it's a final method. - // - public long nextLong() - { - long val = 0; - - val |= (long)nextValue() << 56; - val |= (long)nextValue() << 48; - val |= (long)nextValue() << 40; - val |= (long)nextValue() << 32; - val |= (long)nextValue() << 24; - val |= (long)nextValue() << 16; - val |= (long)nextValue() << 8; - val |= (long)nextValue(); - - return val; - } - - public boolean isExhausted() - { - return _index == _data.length; - } - - private int nextValue() - { - return _data[_index++] & 0xff; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/NumberParsing.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/NumberParsing.java deleted file mode 100644 index 2082cb716..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/NumberParsing.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.spongycastle.util.test; - -/** - * Parsing - */ -public final class NumberParsing -{ - private NumberParsing() - { - // Hide constructor - } - - public static long decodeLongFromHex(String longAsString) - { - if ((longAsString.charAt(1) == 'x') - || (longAsString.charAt(1) == 'X')) - { - return Long.parseLong(longAsString.substring(2), 16); - } - - return Long.parseLong(longAsString, 16); - } - - public static int decodeIntFromHex(String intAsString) - { - if ((intAsString.charAt(1) == 'x') - || (intAsString.charAt(1) == 'X')) - { - return Integer.parseInt(intAsString.substring(2), 16); - } - - return Integer.parseInt(intAsString, 16); - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTest.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTest.java deleted file mode 100644 index e55083552..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.util.test; - -import java.io.PrintStream; - -import org.spongycastle.util.Arrays; - -public abstract class SimpleTest - implements Test -{ - public abstract String getName(); - - private TestResult success() - { - return SimpleTestResult.successful(this, "Okay"); - } - - protected void fail( - String message) - { - throw new TestFailedException(SimpleTestResult.failed(this, message)); - } - - protected void fail( - String message, - Throwable throwable) - { - throw new TestFailedException(SimpleTestResult.failed(this, message, throwable)); - } - - protected void fail( - String message, - Object expected, - Object found) - { - throw new TestFailedException(SimpleTestResult.failed(this, message, expected, found)); - } - - protected boolean areEqual( - byte[] a, - byte[] b) - { - return Arrays.areEqual(a, b); - } - - public TestResult perform() - { - try - { - performTest(); - - return success(); - } - catch (TestFailedException e) - { - return e.getResult(); - } - catch (Exception e) - { - return SimpleTestResult.failed(this, "Exception: " + e, e); - } - } - - protected static void runTest( - Test test) - { - runTest(test, System.out); - } - - protected static void runTest( - Test test, - PrintStream out) - { - TestResult result = test.perform(); - - out.println(result.toString()); - if (result.getException() != null) - { - result.getException().printStackTrace(out); - } - } - - public abstract void performTest() - throws Exception; -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTestResult.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTestResult.java deleted file mode 100644 index cb47c91a4..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/SimpleTestResult.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.util.test; - -public class SimpleTestResult implements TestResult -{ - private static final String SEPARATOR = System.getProperty("line.separator"); - - private boolean success; - private String message; - private Throwable exception; - - public SimpleTestResult(boolean success, String message) - { - this.success = success; - this.message = message; - } - - public SimpleTestResult(boolean success, String message, Throwable exception) - { - this.success = success; - this.message = message; - this.exception = exception; - } - - public static TestResult successful( - Test test, - String message) - { - return new SimpleTestResult(true, test.getName() + ": " + message); - } - - public static TestResult failed( - Test test, - String message) - { - return new SimpleTestResult(false, test.getName() + ": " + message); - } - - public static TestResult failed( - Test test, - String message, - Throwable t) - { - return new SimpleTestResult(false, test.getName() + ": " + message, t); - } - - public static TestResult failed( - Test test, - String message, - Object expected, - Object found) - { - return failed(test, message + SEPARATOR + "Expected: " + expected + SEPARATOR + "Found : " + found); - } - - public static String failedMessage(String algorithm, String testName, String expected, - String actual) - { - StringBuffer sb = new StringBuffer(algorithm); - sb.append(" failing ").append(testName); - sb.append(SEPARATOR).append(" expected: ").append(expected); - sb.append(SEPARATOR).append(" got : ").append(actual); - - return sb.toString(); - } - - public boolean isSuccessful() - { - return success; - } - - public String toString() - { - return message; - } - - public Throwable getException() - { - return exception; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/Test.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/Test.java deleted file mode 100644 index 50a9f2e2c..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/Test.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.spongycastle.util.test; - -public interface Test -{ - String getName(); - - TestResult perform(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestFailedException.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestFailedException.java deleted file mode 100644 index e3d7180ff..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestFailedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.util.test; - -public class TestFailedException - extends RuntimeException -{ - private TestResult _result; - - public TestFailedException( - TestResult result) - { - _result = result; - } - - public TestResult getResult() - { - return _result; - } -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestResult.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestResult.java deleted file mode 100644 index edf3803e7..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/TestResult.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.spongycastle.util.test; - -public interface TestResult -{ - public boolean isSuccessful(); - - public Throwable getException(); - - public String toString(); -} diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/UncloseableOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/UncloseableOutputStream.java deleted file mode 100644 index 55e9dc2de..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/UncloseableOutputStream.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.util.test; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -public class UncloseableOutputStream extends FilterOutputStream -{ - public UncloseableOutputStream(OutputStream s) - { - super(s); - } - - public void close() - { - throw new RuntimeException("close() called on UncloseableOutputStream"); - } - - public void write(byte[] b, int off, int len) throws IOException - { - out.write(b, off, len); - } - } diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cmp/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cmp/package.html deleted file mode 100644 index eb713c970..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cmp/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting PKIX-CMP as described RFC 2510. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cms/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cms/package.html deleted file mode 100644 index c165a7a6e..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cms/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting Cryptographic Message Syntax as described in PKCS#7 and RFC 3369 (formerly RFC 2630). - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cryptopro/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cryptopro/package.html deleted file mode 100644 index 2b0af9e08..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/cryptopro/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes for CRYPTO-PRO related objects - such as GOST identifiers. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/dvcs/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/dvcs/package.html deleted file mode 100644 index a94192222..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/dvcs/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and processing Data Validation and Certification Server (DVCS) protocols as described in RFC 3029. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/esf/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/esf/package.html deleted file mode 100644 index de2736754..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/esf/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - -Support classes useful for encoding and supporting [ESF] RFC3126 -Electronic Signature Formats for long term electronic signatures. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ess/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ess/package.html deleted file mode 100644 index 21854b368..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ess/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting Enhanced Security Services for S/MIME as described RFC 2634 and RFC 5035. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/icao/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/icao/package.html deleted file mode 100644 index f2301dbe0..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/icao/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -ICAO ASN.1 classes for electronic passport. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/misc/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/misc/package.html deleted file mode 100644 index e3bda6408..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/misc/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Miscellaneous object identifiers and objects. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/mozilla/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/mozilla/package.html deleted file mode 100644 index 40776b018..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/mozilla/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding objects used by mozilla. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/nist/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/nist/package.html deleted file mode 100644 index 1cdca7695..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/nist/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes for NIST related objects. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ocsp/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ocsp/package.html deleted file mode 100644 index 22c560d2c..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/ocsp/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting OCSP objects. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/oiw/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/oiw/package.html deleted file mode 100644 index 44eb2fe84..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/oiw/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Objects and OID for the support of ISO OIW. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/package.html deleted file mode 100644 index 1ac16a553..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -A library for parsing and writing ASN.1 objects. Support is provided for DER and BER encoding. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/pkcs/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/pkcs/package.html deleted file mode 100644 index ab800f446..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/pkcs/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting the various RSA PKCS documents. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/sec/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/sec/package.html deleted file mode 100644 index 5e34dec46..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/sec/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Classes for support of the SEC standard for Elliptic Curve. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/smime/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/smime/package.html deleted file mode 100644 index d527abad5..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/smime/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting S/MIME. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/teletrust/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/teletrust/package.html deleted file mode 100644 index 86606c39d..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/teletrust/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes for TeleTrust related objects. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/tsp/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/tsp/package.html deleted file mode 100644 index d6265f044..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/tsp/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting Time Stamp Protocol as described RFC 3161. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/util/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/util/package.html deleted file mode 100644 index 1db893d19..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/util/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -An ASN.1 dump utility. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/package.html deleted file mode 100644 index 728921a1d..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and processing X.509 certificates. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/qualified/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/qualified/package.html deleted file mode 100644 index 28cfef900..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x509/qualified/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and processing messages based around RFC3739 - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x9/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x9/package.html deleted file mode 100644 index 42fc97c79..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/asn1/x9/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Support classes useful for encoding and supporting X9.62 elliptic curve. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/agreement/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/agreement/package.html deleted file mode 100644 index 4b49331c7..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/agreement/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Basic key agreement classes. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/digests/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/digests/package.html deleted file mode 100644 index 0a0d95cea..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/digests/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Message digest classes. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/encodings/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/encodings/package.html deleted file mode 100644 index fc56f634c..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/encodings/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Block encodings for asymmetric ciphers. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/engines/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/engines/package.html deleted file mode 100644 index e945dac00..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/engines/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Basic cipher classes. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/examples/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/examples/package.html deleted file mode 100644 index 390a54009..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/examples/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Simple examples of light weight API usage. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/generators/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/generators/package.html deleted file mode 100644 index 9d73ce3e8..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/generators/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Generators for keys, key pairs and password based encryption algorithms. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/io/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/io/package.html deleted file mode 100644 index f2c9e406e..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/io/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Classes for doing "enhanced" I/O with Digests and MACs. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/macs/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/macs/package.html deleted file mode 100644 index 0b1f86dd3..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/macs/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Classes for creating MACs and HMACs. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/modes/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/modes/package.html deleted file mode 100644 index 5402df449..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/modes/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Modes for symmetric ciphers. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/package.html deleted file mode 100644 index ee5487ffa..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Base classes for the lightweight API. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/paddings/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/paddings/package.html deleted file mode 100644 index 2b82e60f1..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/paddings/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Paddings for symmetric ciphers. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/params/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/params/package.html deleted file mode 100644 index 4e00a7548..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/params/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Classes for parameter objects for ciphers and generators. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/drbg/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/drbg/package.html deleted file mode 100644 index c0061660b..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/drbg/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -SP800-90A deterministic random bit generators, can be used stand alone or in conjunction with SP800SecureRandomBuilder class. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/package.html deleted file mode 100644 index bb583abd7..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/prng/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Lightweight psuedo-random number generators and SecureRandom builders. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/signers/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/signers/package.html deleted file mode 100644 index 151d3d5e8..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/signers/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Basic signers. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/tls/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/tls/package.html deleted file mode 100644 index ee59f8afb..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/tls/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -A lightweight TLS API. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/util/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/util/package.html deleted file mode 100644 index 787b892e9..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/crypto/util/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Some general utility/conversion classes. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/math/ec/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/math/ec/package.html deleted file mode 100644 index a02605ba3..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/math/ec/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Math support for Elliptic Curve. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/encoders/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/encoders/package.html deleted file mode 100644 index 3be222b29..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/encoders/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Classes for producing and reading Base64 and Hex strings. - - diff --git a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/test/package.html b/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/test/package.html deleted file mode 100644 index e723fd115..000000000 --- a/libraries/spongycastle/core/src/main/javadoc/org/spongycastle/util/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Light weight test API. If you can use Junit! - - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/lang/UnsupportedOperationException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/lang/UnsupportedOperationException.java deleted file mode 100644 index 86529c82b..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/lang/UnsupportedOperationException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.lang; - -public class UnsupportedOperationException extends RuntimeException -{ - public UnsupportedOperationException() - { - } - - public UnsupportedOperationException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGenerator.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGenerator.java deleted file mode 100644 index 048108490..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGenerator.java +++ /dev/null @@ -1,96 +0,0 @@ -package java.security; - -import java.security.spec.AlgorithmParameterSpec; - -public class AlgorithmParameterGenerator -{ - AlgorithmParameterGeneratorSpi spi; - Provider provider; - String algorithm; - - protected AlgorithmParameterGenerator( - AlgorithmParameterGeneratorSpi paramGenSpi, - Provider provider, - String algorithm) - { - this.spi = paramGenSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - public final AlgorithmParameters generateParameters() - { - return spi.engineGenerateParameters(); - } - - public final String getAlgorithm() - { - return algorithm; - } - - public static AlgorithmParameterGenerator getInstance(String algorithm) - throws NoSuchAlgorithmException - { - try - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("AlgorithmParameterGenerator", algorithm, null); - - if (imp != null) - { - return new AlgorithmParameterGenerator((AlgorithmParameterGeneratorSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - catch (NoSuchProviderException e) - { - throw new NoSuchAlgorithmException(algorithm + " not found"); - } - } - - public static AlgorithmParameterGenerator getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("AlgorithmParameterGenerator", algorithm, provider); - - if (imp != null) - { - return new AlgorithmParameterGenerator((AlgorithmParameterGeneratorSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - public final Provider getProvider() - { - return provider; - } - - public final void init( - AlgorithmParameterSpec genParamSpec) - throws InvalidAlgorithmParameterException - { - spi.engineInit(genParamSpec, new SecureRandom()); - } - - public final void init( - AlgorithmParameterSpec genParamSpec, - SecureRandom random) - throws InvalidAlgorithmParameterException - { - spi.engineInit(genParamSpec, random); - } - - public final void init( - int size) - { - spi.engineInit(size, new SecureRandom()); - } - - public final void init( - int size, - SecureRandom random) - { - spi.engineInit(size, random); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGeneratorSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGeneratorSpi.java deleted file mode 100644 index 446f53bdb..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameterGeneratorSpi.java +++ /dev/null @@ -1,16 +0,0 @@ -package java.security; - -import java.security.spec.AlgorithmParameterSpec; - -public abstract class AlgorithmParameterGeneratorSpi -{ - public AlgorithmParameterGeneratorSpi() - { - } - - protected abstract AlgorithmParameters engineGenerateParameters(); - - protected abstract void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException; - - protected abstract void engineInit(int size, SecureRandom random); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameters.java deleted file mode 100644 index 14f2a5ad6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParameters.java +++ /dev/null @@ -1,103 +0,0 @@ - -package java.security; - -import java.io.IOException; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.InvalidParameterSpecException; - -public class AlgorithmParameters extends Object -{ - private AlgorithmParametersSpi spi; - private Provider provider; - private String algorithm; - - protected AlgorithmParameters( - AlgorithmParametersSpi paramSpi, - Provider provider, - String algorithm) - { - this.spi = paramSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - public final String getAlgorithm() - { - return algorithm; - } - - public final byte[] getEncoded() throws IOException - { - return spi.engineGetEncoded(); - } - - public final byte[] getEncoded(String format) throws IOException - { - return spi.engineGetEncoded(format); - } - - public static AlgorithmParameters getInstance(String algorithm) - throws NoSuchAlgorithmException - { - try - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("AlgorithmParameters", algorithm, null); - - if (imp != null) - { - return new AlgorithmParameters((AlgorithmParametersSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - catch (NoSuchProviderException e) - { - throw new NoSuchAlgorithmException(algorithm + " not found"); - } - } - - public static AlgorithmParameters getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("AlgorithmParameters", algorithm, provider); - - if (imp != null) - { - return new AlgorithmParameters((AlgorithmParametersSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - public final AlgorithmParameterSpec getParameterSpec(Class paramSpec) - throws InvalidParameterSpecException - { - return spi.engineGetParameterSpec(paramSpec); - } - - public final Provider getProvider() - { - return provider; - } - - public final void init(AlgorithmParameterSpec paramSpec) - throws InvalidParameterSpecException - { - spi.engineInit(paramSpec); - } - - public final void init(byte[] params) throws IOException - { - spi.engineInit(params); - } - - public final void init(byte[] params, String format) throws IOException - { - spi.engineInit(params, format); - } - - public final String toString() - { - return spi.engineToString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParametersSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParametersSpi.java deleted file mode 100644 index 59519a343..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/AlgorithmParametersSpi.java +++ /dev/null @@ -1,27 +0,0 @@ - -package java.security; - -import java.io.IOException; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.InvalidParameterSpecException; - -public abstract class AlgorithmParametersSpi extends Object -{ - public AlgorithmParametersSpi() - { - } - - protected abstract byte[] engineGetEncoded() - throws IOException; - protected abstract byte[] engineGetEncoded(String format) - throws IOException; - protected abstract AlgorithmParameterSpec engineGetParameterSpec(Class paramSpec) - throws InvalidParameterSpecException; - protected abstract void engineInit(AlgorithmParameterSpec paramSpec) - throws InvalidParameterSpecException; - protected abstract void engineInit(byte[] params) - throws IOException; - protected abstract void engineInit(byte[] params, String format) - throws IOException; - protected abstract String engineToString(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/GeneralSecurityException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/GeneralSecurityException.java deleted file mode 100644 index fb4a5f4d5..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/GeneralSecurityException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security; - -public class GeneralSecurityException extends Exception -{ - public GeneralSecurityException() - { - } - - public GeneralSecurityException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/InvalidAlgorithmParameterException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/InvalidAlgorithmParameterException.java deleted file mode 100644 index e56228c29..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/InvalidAlgorithmParameterException.java +++ /dev/null @@ -1,13 +0,0 @@ - -package java.security; - -public class InvalidAlgorithmParameterException extends GeneralSecurityException { - public InvalidAlgorithmParameterException() - { - } - - public InvalidAlgorithmParameterException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactory.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactory.java deleted file mode 100644 index 320aac3f8..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactory.java +++ /dev/null @@ -1,89 +0,0 @@ - -package java.security; - -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; - -public class KeyFactory extends Object -{ - private KeyFactorySpi keyFacSpi; - private Provider provider; - private String algorithm; - - protected KeyFactory( - KeyFactorySpi keyFacSpi, - Provider provider, - String algorithm) - { - this.keyFacSpi = keyFacSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - public final PrivateKey generatePrivate(KeySpec keySpec) - throws InvalidKeySpecException - { - return keyFacSpi.engineGeneratePrivate(keySpec); - } - - public final PublicKey generatePublic(KeySpec keySpec) - throws InvalidKeySpecException - { - return keyFacSpi.engineGeneratePublic(keySpec); - } - - public final String getAlgorithm() - { - return algorithm; - } - - public static KeyFactory getInstance(String algorithm) - throws NoSuchAlgorithmException - { - try - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyFactory", algorithm, null); - - if (imp != null) - { - return new KeyFactory((KeyFactorySpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - catch (NoSuchProviderException e) - { - throw new NoSuchAlgorithmException(algorithm + " not found"); - } - } - - public static KeyFactory getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyFactory", algorithm, null); - - if (imp != null) - { - return new KeyFactory((KeyFactorySpi)imp.getEngine(), imp.getProvider(), algorithm); - } - - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - public final KeySpec getKeySpec(Key key, Class keySpec) - throws InvalidKeySpecException - { - return keyFacSpi.engineGetKeySpec(key, keySpec); - } - - public final Provider getProvider() - { - return provider; - } - - public final Key translateKey(Key key) - throws InvalidKeyException - { - return keyFacSpi.engineTranslateKey(key); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactorySpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactorySpi.java deleted file mode 100644 index 6d160e7cf..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyFactorySpi.java +++ /dev/null @@ -1,24 +0,0 @@ - -package java.security; - -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; - -public abstract class KeyFactorySpi extends Object -{ - public KeyFactorySpi() - { - } - - protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) - throws InvalidKeySpecException; - - protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) - throws InvalidKeySpecException; - - protected abstract KeySpec engineGetKeySpec(Key key, Class keySpec) - throws InvalidKeySpecException; - - protected abstract Key engineTranslateKey(Key key) - throws InvalidKeyException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java deleted file mode 100644 index 0ded759a6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStore.java +++ /dev/null @@ -1,225 +0,0 @@ - -package java.security; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.util.Date; -import java.util.Enumeration; - -public class KeyStore extends Object -{ - private KeyStoreSpi keyStoreSpi; - private Provider provider; - private String type; - private boolean initialised; - - protected KeyStore( - KeyStoreSpi keyStoreSpi, - Provider provider, - String type) - { - this.keyStoreSpi = keyStoreSpi; - this.provider = provider; - this.type = type; - this.initialised = false; - } - - public final Enumeration aliases() throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineAliases(); - } - - public final boolean containsAlias(String alias) throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineContainsAlias(alias); - } - - public final void deleteEntry(String alias) throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - keyStoreSpi.engineDeleteEntry(alias); - } - - public final Certificate getCertificate(String alias) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineGetCertificate(alias); - } - - public final String getCertificateAlias(Certificate cert) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineGetCertificateAlias(cert); - } - - public final Certificate[] getCertificateChain(String alias) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineGetCertificateChain(alias); - } - - public final Date getCreationDate(String alias) throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineGetCreationDate(alias); - } - - public static final String getDefaultType() - { - return "JKS"; - } - - public static KeyStore getInstance(String type) throws KeyStoreException - { - try - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyStore", type, null); - - if (imp != null) - { - return new KeyStore((KeyStoreSpi)imp.getEngine(), imp.getProvider(), type); - } - - throw new KeyStoreException("can't find type " + type); - } - catch (NoSuchProviderException e) - { - throw new KeyStoreException(type + " not found"); - } - } - - public static KeyStore getInstance(String type, String provider) - throws KeyStoreException, NoSuchProviderException - { - SecurityUtil.Implementation imp = SecurityUtil.getImplementation("KeyStore", type, provider); - - if (imp != null) - { - return new KeyStore((KeyStoreSpi)imp.getEngine(), imp.getProvider(), type); - } - - throw new KeyStoreException("can't find type " + type); - } - - public final Key getKey(String alias, char[] password) - throws KeyStoreException, NoSuchAlgorithmException, - UnrecoverableKeyException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineGetKey(alias, password); - } - - public final Provider getProvider() - { - return provider; - } - - public final String getType() - { - return type; - } - - public final boolean isCertificateEntry(String alias) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineIsCertificateEntry(alias); - } - - public final boolean isKeyEntry(String alias) throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineIsKeyEntry(alias); - } - - public final void load( - InputStream stream, - char[] password) - throws IOException, NoSuchAlgorithmException, CertificateException - { - keyStoreSpi.engineLoad(stream, password); - initialised = true; - } - - public final void setCertificateEntry(String alias, Certificate cert) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - keyStoreSpi.engineSetCertificateEntry(alias, cert); - } - - public final void setKeyEntry( - String alias, - Key key, - char[] password, - Certificate[] chain) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - keyStoreSpi.engineSetKeyEntry(alias, key, password, chain); - } - - public final void setKeyEntry( - String alias, - byte[] key, - Certificate[] chain) - throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - keyStoreSpi.engineSetKeyEntry(alias, key, chain); - } - - public final int size() throws KeyStoreException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - return keyStoreSpi.engineSize(); - } - - public final void store( - OutputStream stream, - char[] password) - throws KeyStoreException, IOException, NoSuchAlgorithmException, - CertificateException - { - if ( !initialised ) - throw new KeyStoreException("KeyStore not initialised."); - - keyStoreSpi.engineStore(stream, password); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreException.java deleted file mode 100644 index 2e07503d2..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security; - -public class KeyStoreException extends GeneralSecurityException -{ - public KeyStoreException() - { - } - - public KeyStoreException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreSpi.java deleted file mode 100644 index 87c484528..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/KeyStoreSpi.java +++ /dev/null @@ -1,59 +0,0 @@ - -package java.security; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.util.Date; -import java.util.Enumeration; - -public abstract class KeyStoreSpi extends Object -{ - public KeyStoreSpi() - { - } - - public abstract Enumeration engineAliases(); - - public abstract boolean engineContainsAlias(String alias); - - public abstract void engineDeleteEntry(String alias) - throws KeyStoreException; - - public abstract Certificate engineGetCertificate(String alias); - - public abstract String engineGetCertificateAlias(Certificate cert); - - public abstract Certificate[] engineGetCertificateChain(String alias); - - public abstract Date engineGetCreationDate(String alias); - - public abstract Key engineGetKey(String alias, char[] password) - throws NoSuchAlgorithmException, UnrecoverableKeyException; - - public abstract boolean engineIsCertificateEntry(String alias); - - public abstract boolean engineIsKeyEntry(String alias); - - public abstract void engineLoad(InputStream stream, char[] password) - throws IOException, NoSuchAlgorithmException, CertificateException; - - public abstract void engineSetCertificateEntry( - String alias, Certificate cert) - throws KeyStoreException; - - public abstract void engineSetKeyEntry( - String alias, Key key, char[] password, Certificate[] chain) - throws KeyStoreException; - - public abstract void engineSetKeyEntry( - String alias, byte[] key, Certificate[] chain) - throws KeyStoreException; - - public abstract int engineSize(); - - public abstract void engineStore(OutputStream stream, char[] password) - throws IOException, NoSuchAlgorithmException, CertificateException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/SecurityUtil.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/SecurityUtil.java deleted file mode 100644 index 13c313cf6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/SecurityUtil.java +++ /dev/null @@ -1,114 +0,0 @@ -package java.security; - - -class SecurityUtil -{ - static class Implementation - { - Object engine; - Provider provider; - - Implementation( - Object engine, - Provider provider) - { - this.engine = engine; - this.provider = provider; - } - - Object getEngine() - { - return engine; - } - - Provider getProvider() - { - return provider; - } - } - - /** - * see if we can find an algorithm (or its alias and what it represents) in - * the property table for the given provider. - * - * @return null if no algorithm found, an Implementation if it is. - */ - static private Implementation getImplementation( - String baseName, - String algorithm, - Provider prov) - { - String alias; - - while ((alias = prov.getProperty("Alg.Alias." + baseName + "." + algorithm)) != null) - { - algorithm = alias; - } - - String className = prov.getProperty(baseName + "." + algorithm); - - if (className != null) - { - try - { - return new Implementation(Class.forName(className).newInstance(), prov); - } - catch (ClassNotFoundException e) - { - throw new IllegalStateException( - "algorithm " + algorithm + " in provider " + prov.getName() + " but no class found!"); - } - catch (Exception e) - { - throw new IllegalStateException( - "algorithm " + algorithm + " in provider " + prov.getName() + " but class inaccessible!"); - } - } - - return null; - } - - /** - * return an implementation for a given algorithm/provider. - * If the provider is null, we grab the first avalaible who has the required algorithm. - * - * @return null if no algorithm found, an Implementation if it is. - * @exception NoSuchProviderException if a provider is specified and not found. - */ - static Implementation getImplementation( - String baseName, - String algorithm, - String provider) - throws NoSuchProviderException - { - if (provider == null) - { - Provider[] prov = Security.getProviders(); - - // - // search every provider looking for the algorithm we want. - // - for (int i = 0; i != prov.length; i++) - { - Implementation imp = getImplementation(baseName, algorithm, prov[i]); - if (imp != null) - { - return imp; - } - } - } - else - { - Provider prov = Security.getProvider(provider); - - if (prov == null) - { - throw new NoSuchProviderException("Provider " + provider + " not found"); - } - - return getImplementation(baseName, algorithm, prov); - } - - return null; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/UnrecoverableKeyException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/UnrecoverableKeyException.java deleted file mode 100644 index 7a1294a1c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/UnrecoverableKeyException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security; - -public class UnrecoverableKeyException extends GeneralSecurityException -{ - public UnrecoverableKeyException() - { - } - - public UnrecoverableKeyException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRL.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRL.java deleted file mode 100644 index 2eb219e07..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRL.java +++ /dev/null @@ -1,20 +0,0 @@ - -package java.security.cert; - -public abstract class CRL -{ - private String type; - - protected CRL(String type) - { - this.type = type; - } - - public final String getType() - { - return type; - } - - public abstract boolean isRevoked(Certificate cert); - public abstract String toString(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLException.java deleted file mode 100644 index f079b8beb..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLException.java +++ /dev/null @@ -1,16 +0,0 @@ - -package java.security.cert; - -import java.security.GeneralSecurityException; - -public class CRLException extends GeneralSecurityException -{ - public CRLException() - { - } - - public CRLException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLSelector.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLSelector.java deleted file mode 100644 index 2e4ff616a..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CRLSelector.java +++ /dev/null @@ -1,39 +0,0 @@ -package java.security.cert; - -/** - * A selector that defines a set of criteria for selecting CRLs. - * Classes that implement this interface are often used to specify - * which CRLs should be retrieved from a CertStore.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this interface are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CRL - * @see CertStore - * @see CertStore#getCRLs - **/ -public interface CRLSelector extends Cloneable -{ - /** - * Decides whether a CRL should be selected. - * - * @param crl the CRL to be checked - * - * @return true if the CRL should be selected, - * false otherwise - */ - public boolean match(CRL crl); - - /** - * Makes a copy of this CRLSelector. Changes to the - * copy will not affect the original and vice versa. - * - * @return a copy of this CRLSelector - */ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPath.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPath.java deleted file mode 100644 index ceb5cd189..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPath.java +++ /dev/null @@ -1,283 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayInputStream; -import java.io.NotSerializableException; -import java.io.ObjectStreamException; -import java.io.Serializable; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; - -/** - * An immutable sequence of certificates (a certification path).
    - *
    - * This is an abstract class that defines the methods common to all - * CertPaths. Subclasses can handle different kinds of certificates - * (X.509, PGP, etc.).
    - *
    - * All CertPath objects have a type, a list of Certificates, and one - * or more supported encodings. Because the CertPath class is - * immutable, a CertPath cannot change in any externally visible way - * after being constructed. This stipulation applies to all public - * fields and methods of this class and any added or overridden by - * subclasses.
    - *
    - * The type is a String that identifies the type of Certificates in - * the certification path. For each certificate cert in a - * certification path certPath, - * cert.getType().equals(certPath.getType()) must be true.
    - *
    - * The list of Certificates is an ordered List of zero or more - * Certificates. This List and all of the Certificates contained in it - * must be immutable.
    - *
    - * Each CertPath object must support one or more encodings so that the - * object can be translated into a byte array for storage or - * transmission to other parties. Preferably, these encodings should - * be well-documented standards (such as PKCS#7). One of the encodings - * supported by a CertPath is considered the default encoding. This - * encoding is used if no encoding is explicitly requested (for the - * {@link #getEncoded()} method, for instance).
    - *
    - * All CertPath objects are also Serializable. CertPath objects are - * resolved into an alternate {@link CertPathRep} object during - * serialization. This allows a CertPath object to be serialized into - * an equivalent representation regardless of its underlying - * implementation.
    - *
    - * CertPath objects can be created with a CertificateFactory or they - * can be returned by other classes, such as a CertPathBuilder.
    - *
    - * By convention, X.509 CertPaths (consisting of X509Certificates), - * are ordered starting with the target certificate and ending with a - * certificate issued by the trust anchor. That is, the issuer of one - * certificate is the subject of the following one. The certificate - * representing the {@link TrustAnchor TrustAnchor} should not be included in the - * certification path. Unvalidated X.509 CertPaths may not follow - * these conventions. PKIX CertPathValidators will detect any - * departure from these conventions that cause the certification path - * to be invalid and throw a CertPathValidatorException.
    - *
    - * Concurrent Access
    - *
    - * All CertPath objects must be thread-safe. That is, multiple threads - * may concurrently invoke the methods defined in this class on a - * single CertPath object (or more than one) with no ill effects. This - * is also true for the List returned by CertPath.getCertificates.
    - *
    - * Requiring CertPath objects to be immutable and thread-safe allows - * them to be passed around to various pieces of code without worrying - * about coordinating access. Providing this thread-safety is - * generally not difficult, since the CertPath and List objects in - * question are immutable. - * - * @see CertificateFactory - * @see CertPathBuilder - */ -public abstract class CertPath extends Object implements Serializable -{ - private String type; - - /** - * Alternate CertPath class for serialization. - **/ - protected static class CertPathRep - implements Serializable - { - private String type; - private byte[] data; - - /** - * Creates a CertPathRep with the specified - * type and encoded form of a certification path. - * - * @param type the standard name of a CertPath - * @param typedata the encoded form of the certification - * path - **/ - protected CertPathRep(String type, byte[] data) - { - this.type = type; - this.data = data; - } - - /** - * Returns a CertPath constructed from the type and data. - * - * @return the resolved CertPath object - * @exception ObjectStreamException if a CertPath could not be constructed - **/ - protected Object readResolve() - throws ObjectStreamException - { - try { - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - CertificateFactory cf = CertificateFactory.getInstance(type); - return cf.generateCertPath(inStream); - } catch ( CertificateException ce ) { - throw new NotSerializableException(" java.security.cert.CertPath: " + type); - } - } - } - - /** - * Creates a CertPath of the specified type. - * This constructor is protected because most users should use - * a CertificateFactory to create CertPaths. - * @param type the standard name of the type of Certificatesin this path - **/ - protected CertPath(String type) - { - this.type = type; - } - - /** - * Returns the type of Certificates in this certification - * path. This is the same string that would be returned by - * {@link Certificate#getType() cert.getType()} for all - * Certificates in the certification path. - * - * @return the type of Certificates in this certification path (never null) - **/ - public String getType() - { - return type; - } - - /** - * Returns an iteration of the encodings supported by this - * certification path, with the default encoding - * first. Attempts to modify the returned Iterator via its - * remove method result in an UnsupportedOperationException. - * - * @return an Iterator over the names of the supported encodings (as Strings) - **/ - public abstract Iterator getEncodings(); - - /** - * Compares this certification path for equality with the - * specified object. Two CertPaths are equal if and only if - * their types are equal and their certificate Lists (and by - * implication the Certificates in those Lists) are equal. A - * CertPath is never equal to an object that is not a - * CertPath.
    - *
    - * This algorithm is implemented by this method. If it is - * overridden, the behavior specified here must be maintained. - * - * @param other the object to test for equality with this - * certification path - * - * @return true if the specified object is equal to this - * certification path, false otherwise - * - * @see Object#hashCode() Object.hashCode() - **/ - public boolean equals(Object other) - { - if (!( other instanceof CertPath ) ) - return false; - - CertPath otherCertPath = (CertPath)other; - if ( ! getType().equals(otherCertPath.getType()) ) - return false; - return getCertificates().equals(otherCertPath.getCertificates()); - } - - /** - * Returns the hashcode for this certification path. The hash - * code of a certification path is defined to be the result of - * the following calculation: - *
    -     *   hashCode = path.getType().hashCode();
    -     *   hashCode = 31 * hashCode + path.getCertificates().hashCode();
    -     * 
    - * This ensures that path1.equals(path2) implies that - * path1.hashCode()==path2.hashCode() for any two - * certification paths, path1 and path2, as required by the - * general contract of Object.hashCode. - * - * @return The hashcode value for this certification path - * - * @see #equals(Object) - **/ - public int hashCode() - { - return getType().hashCode() * 31 + getCertificates().hashCode(); - } - - /** - * Returns a string representation of this certification - * path. This calls the toString method on each of the - * Certificates in the path. - * - * @return a string representation of this certification path - **/ - public String toString() - { - StringBuffer s = new StringBuffer(); - List certs = getCertificates(); - ListIterator iter = certs.listIterator(); - s.append('\n').append(getType()).append(" Cert Path: length = ").append(certs.size()).append("\n[\n"); - while ( iter.hasNext() ) { - s.append("=========================================================Certificate ").append(iter.nextIndex()).append('\n'); - s.append(iter.next()).append('\n'); - s.append("========================================================Certificate end\n\n\n"); - } - s.append("\n]"); - return s.toString(); - } - - /** - * Returns the encoded form of this certification path, using - * the default encoding. - * - * @return the encoded bytes - * - * @exception CertificateEncodingException if an encoding error occurs - **/ - public abstract byte[] getEncoded() - throws CertificateEncodingException; - - /** - * Returns the encoded form of this certification path, using - * the specified encoding. - * - * @param encoding the name of the encoding to use - * - * @return the encoded bytes - * - * @exception CertificateEncodingException if an encoding error - * occurs or the encoding requested is not supported - **/ - public abstract byte[] getEncoded(String encoding) - throws CertificateEncodingException; - - /** - * Returns the list of certificates in this certification - * path. The List returned must be immutable and thread-safe. - * - * @return an immutable List of Certificates (may be empty, but not null) - **/ - public abstract List getCertificates(); - - /** - * Replaces the CertPath to be serialized with a CertPathRep - * object. - * - * @return the CertPathRep to be serialized - * - * @exception ObjectStreamException if a CertPathRep object - * representing this certification path could not be created - **/ - protected Object writeReplace() - throws ObjectStreamException - { - try { - return new CertPathRep( getType(), getEncoded() ); - } catch ( CertificateException ce ) { - throw new NotSerializableException( " java.security.cert.CertPath: " + getType() ); - } - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilder.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilder.java deleted file mode 100644 index b3adbf15f..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilder.java +++ /dev/null @@ -1,243 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Provider; -import java.security.Security; - -/** - * A class for building certification paths (also known as certificate - * chains).
    - *
    - * This class uses a provider-based architecture, as described in the - * Java Cryptography Architecture. To create a - * CertPathBuilder, call one of the static - * getInstance methods, passing in the algorithm name of - * the CertPathBuilder desired and optionally the name of the provider - * desired.
    - *
    - * Once a CertPathBuilder object has been created, - * certification paths can be constructed by calling the - * {@link #build build} method and passing it an algorithm-specific set - * of parameters. If successful, the result (including the CertPath - * that was built) is returned in an object that implements the - * CertPathBuilderResult interface.
    - *
    - * Concurrent Access
    - *
    - * The static methods of this class are guaranteed to be - * thread-safe. Multiple threads may concurrently invoke the static - * methods defined in this class with no ill effects.
    - *
    - * However, this is not true for the non-static methods defined by - * this class. Unless otherwise documented by a specific provider, - * threads that need to access a single CertPathBuilder - * instance concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating a - * different CertPathBuilder instance need not - * synchronize.
    - *
    - * Uses {@link CertUtil CertUtil} to actualiy load the SPI classes. - * - * @see CertUtil - **/ -public class CertPathBuilder extends Object -{ - private CertPathBuilderSpi builderSpi; - private Provider provider; - private String algorithm; - - /** - * Creates a CertPathBuilder object of the given algorithm, and - * encapsulates the given provider implementation (SPI object) - * in it. - * - * @param builderSpi the provider implementation - * @param provider the provider - * @param algorithm the algorithm name - **/ - protected CertPathBuilder(CertPathBuilderSpi builderSpi, - Provider provider, - String algorithm) - { - this.builderSpi = builderSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - /** - * Returns a CertPathBuilder object that implements the - * specified algorithm.
    - *
    - * If the default provider package provides an implementation - * of the specified CertPathBuilder algorithm, an instance of - * CertPathBuilder containing that implementation is - * returned. If the requested algorithm is not available in - * the default package, other packages are searched.
    - *
    - * @param algorithm the name of the requested CertPathBuilder algorithm - * - * @return a CertPathBuilder object that implements the - * specified algorithm - * - * @exception NoSuchAlgorithmException if the requested - * algorithm is not available in the default provider package - * or any of the other provider packages that were searched - **/ - public static CertPathBuilder getInstance(String algorithm) - throws NoSuchAlgorithmException - { - try { - CertUtil.Implementation imp = - CertUtil.getImplementation("CertPathBuilder", algorithm, (String)null); - if (imp != null) - { - return new CertPathBuilder((CertPathBuilderSpi)imp.getEngine(), - imp.getProvider(), algorithm); - } - } catch ( NoSuchProviderException ex ) {} - throw new NoSuchAlgorithmException("can't find type " + algorithm); - } - - /** - * Returns a CertPathBuilder object that implements the - * specified algorithm, as supplied by the specified provider. - * - * @param algorithm the name of the requested CertPathBuilder - * algorithm - * @param provider the name of the provider - * - * @return a CertPathBuilder object that implements the - * specified algorithm, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested algorithm - * is not available from the specified provider - * @exception NoSuchProviderException if the provider has not - * been configured - * @exception IllegalArgumentException if the provider is null - **/ - public static CertPathBuilder getInstance(String algorithm, - String provider) - throws NoSuchAlgorithmException, - NoSuchProviderException - { - if ( provider == null ) - throw new IllegalArgumentException("provider must be non-null"); - CertUtil.Implementation imp = - CertUtil.getImplementation("CertPathBuilder", algorithm, provider); - - if (imp != null) - { - return new CertPathBuilder((CertPathBuilderSpi)imp.getEngine(), - imp.getProvider(), algorithm); - } - throw new NoSuchAlgorithmException("can't find type " + algorithm); - } - - /** - * Returns a CertPathBuilder object that implements the - * specified algorithm, as supplied by the specified - * provider. Note: the provider doesn't have to be registered. - * - * @param algorithm the name of the requested CertPathBuilder - * algorithm - * @param provider the provider - * @return a CertPathBuilder object that implements the - * specified algorithm, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested algorithm - * is not available from the specified provider - * @exception IllegalArgumentException if the provider is null. - **/ - public static CertPathBuilder getInstance(String algorithm, - Provider provider) - throws NoSuchAlgorithmException - { - if ( provider == null ) - throw new IllegalArgumentException("provider must be non-null"); - CertUtil.Implementation imp = - CertUtil.getImplementation("CertPathBuilder", algorithm, provider); - - if (imp != null) - { - return new CertPathBuilder((CertPathBuilderSpi)imp.getEngine(), - provider, algorithm); - } - throw new NoSuchAlgorithmException("can't find type " + algorithm); - } - - /** - * Returns the provider of this CertPathBuilder. - * - * @return the provider of this CertPathBuilder - **/ - public final Provider getProvider() - { - return provider; - } - - /** - * Returns the name of the algorithm of this - * CertPathBuilder. - * - * @return the name of the algorithm of this CertPathBuilder - **/ - public final String getAlgorithm() - { - return algorithm; - } - - /** - * Attempts to build a certification path using the specified algorithm - * parameter set. - * - * @param params the algorithm parameters - * - * @return the result of the build algorithm - * - * @exception CertPathBuilderException if the builder is unable to construct - * a certification path that satisfies the specified parameters - * @exception InvalidAlgorithmParameterException if the specified parameters * are inappropriate for this CertPathBuilder - */ - public final CertPathBuilderResult build(CertPathParameters params) - throws CertPathBuilderException, - InvalidAlgorithmParameterException - { - return builderSpi.engineBuild(params); - } - - - /** - * Returns the default CertPathBuilder type as specified in - * the Java security properties file, or the string "PKIX" - * if no such property exists. The Java security properties file is - * located in the file named <JAVA_HOME>/lib/security/java.security, - * where <JAVA_HOME> refers to the directory where the SDK was - * installed.
    - *
    - * The default CertPathBuilder type can be used by - * applications that do not want to use a hard-coded type when calling one - * of the getInstance methods, and want to provide a default - * type in case a user does not specify its own.
    - *
    - * The default CertPathBuilder type can be changed by - * setting the value of the "certpathbuilder.type" security property - * (in the Java security properties file) to the desired type. - * - * @return the default CertPathBuilder type as specified - * in the Java security properties file, or the string "PKIX" - * if no such property exists. - */ - public static final String getDefaultType() - { - String defaulttype = null; - defaulttype = Security.getProperty("certpathbuilder.type"); - - if ( defaulttype == null || defaulttype.length() <= 0 ) - return "PKIX"; - else - return defaulttype; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderException.java deleted file mode 100644 index 13b60891e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderException.java +++ /dev/null @@ -1,182 +0,0 @@ -package java.security.cert; - -import java.io.PrintStream; -import java.io.PrintWriter; -import java.security.GeneralSecurityException; - -/** - * An exception indicating one of a variety of problems encountered - * when building a certification path with a - * CertPathBuilder.
    - *
    - * A CertPathBuilderException provides support for - * wrapping exceptions. The {@link #getCause() getCause} method - * returns the throwable, if any, that caused this exception to be - * thrown.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are - * not thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathBuilder - **/ -public class CertPathBuilderException extends GeneralSecurityException -{ - private Throwable cause; - - /** - * Creates a CertPathBuilderException with null - * as its detail message. - */ - public CertPathBuilderException() - { - } - - /** - * Creates a CertPathBuilderException with the given detail - * message. The detail message is a String that describes - * this particular exception in more detail. - * - * @param msg - * the detail message - */ - public CertPathBuilderException(String message) - { - super(message); - } - - /** - * Creates a CertPathBuilderException that wraps the - * specified throwable. This allows any exception to be converted into a - * CertPathBuilderException, while retaining information - * about the wrapped exception, which may be useful for debugging. The - * detail message is set to - * (cause==null ? null : cause.toString()) (which typically - * contains the class and detail message of cause). - * - * @param cause - * the cause (which is saved for later retrieval by the - * {@link #getCause()} method). (A null value is permitted, and - * indicates that the cause is nonexistent or unknown.) - */ - public CertPathBuilderException(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - /** - * Creates a CertPathBuilderException with the specified - * detail message and cause. - * - * @param msg - * the detail message - * @param cause - * the cause (which is saved for later retrieval by the - * {@link #getCause()} method). (A null value is permitted, and - * indicates that the cause is nonexistent or unknown.) - */ - public CertPathBuilderException(Throwable cause) - { - this.cause = cause; - } - - /** - * Returns the internal (wrapped) cause, or null if the cause is nonexistent - * or unknown. - * - * @return the cause of this throwable or null if the cause - * is nonexistent or unknown. - */ - public Throwable getCause() - { - return cause; - } - - /** - * Returns the detail message for this CertPathBuilderException. - * - * @return the detail message, or null if neither the message - * nor internal cause were specified - */ - public String getMessage() - { - String message = super.getMessage(); - - if (message == null && cause == null) - { - return null; - } - - if (cause != null) - { - return cause.getMessage(); - } - - return message; - } - - /** - * Returns a string describing this exception, including a description of - * the internal (wrapped) cause if there is one. - * - * @return a string representation of this - * CertPathBuilderException - */ - public String toString() - { - String message = getMessage(); - if (message == null) - { - return ""; - } - - return message; - } - - /** - * Prints a stack trace to System.err, including the - * backtrace of the cause, if any. - */ - public void printStackTrace() - { - printStackTrace(System.err); - } - - /** - * Prints a stack trace to a PrintStream, including the - * backtrace of the cause, if any. - * - * @param ps - * the PrintStream to use for output - */ - public void printStackTrace(PrintStream ps) - { - super.printStackTrace(ps); - if (getCause() != null) - { - getCause().printStackTrace(ps); - } - } - - /** - * Prints a stack trace to a PrintWriter, including the - * backtrace of the cause, if any. - * - * @param ps - * the PrintWriter to use for output - */ - public void printStackTrace(PrintWriter pw) - { - super.printStackTrace(pw); - if (getCause() != null) - { - getCause().printStackTrace(pw); - } - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderResult.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderResult.java deleted file mode 100644 index c0482bc4e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderResult.java +++ /dev/null @@ -1,38 +0,0 @@ -package java.security.cert; - -/** - * A specification of the result of a certification path builder algorithm. - * All results returned by the {@link CertPathBuilder#build CertPathBuilder.build} method - * must implement this interface.
    - *
    - * At a minimum, a CertPathBuilderResult contains the CertPath built by the - * CertPathBuilder instance. Implementations of this interface may add methods - * to return implementation or algorithm specific information, such as - * debugging information or certification path validation results.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this interface are not - * thread-safe. Multiple threads that need to access a single object - * concurrently should synchronize amongst themselves and provide the - * necessary locking. Multiple threads each manipulating separate objects - * need not synchronize. - **/ -public interface CertPathBuilderResult extends Cloneable -{ - /** - * Returns the built certification path. - * - * @return the certification path (never null) - */ - public CertPath getCertPath(); - - /** - * Makes a copy of this CertPathBuilderResult. - * Changes to the copy will not affect the original and vice - * versa. - * - * @return a copy of this CertPathBuilderResult - */ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderSpi.java deleted file mode 100644 index be044fa30..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathBuilderSpi.java +++ /dev/null @@ -1,50 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; - -/** - * The Service Provider Interface (SPI) for the CertPathBuilder - * class. All CertPathBuilder implementations must include a class - * (the SPI class) that extends this class (CertPathBuilderSpi) and - * implements all of its methods. In general, instances of this class - * should only be accessed through the CertPathBuilder class. For - * details, see the Java Cryptography Architecture.
    - *
    - * Concurrent Access
    - *
    - * Instances of this class need not be protected against concurrent - * access from multiple threads. Threads that need to access a single - * CertPathBuilderSpi instance concurrently should synchronize amongst - * themselves and provide the necessary locking before calling the - * wrapping CertPathBuilder object.
    - *
    - * However, implementations of CertPathBuilderSpi may still encounter - * concurrency issues, since multiple threads each manipulating a - * different CertPathBuilderSpi instance need not synchronize. - **/ -public abstract class CertPathBuilderSpi - extends Object -{ - /** - * The default constructor. - */ - public CertPathBuilderSpi() {} - - /** - * Attempts to build a certification path using the specified - * algorithm parameter set. - * - * @param params the algorithm parameters - * - * @return the result of the build algorithm - * - * @exception CertPathBuilderException if the builder is unable - * to construct a certification path that satisfies the - * specified - * @exception parametersInvalidAlgorithmParameterException if the - * specified parameters are inappropriate for this CertPathBuilder - */ - public abstract CertPathBuilderResult engineBuild( CertPathParameters params ) - throws CertPathBuilderException, - InvalidAlgorithmParameterException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathParameters.java deleted file mode 100644 index caff291a8..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathParameters.java +++ /dev/null @@ -1,18 +0,0 @@ -package java.security.cert; - -/** - * A specification of certification path algorithm parameters. The purpose - * of this interface is to group (and provide type safety for) all CertPath - * parameter specifications. All CertPath parameter specifications must - * implement this interface. - **/ -public interface CertPathParameters extends Cloneable -{ - /** - * Makes a copy of this CertPathParameters. Changes to the - * copy will not affect the original and vice versa. - * - * @return a copy of this CertPathParameters - **/ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidator.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidator.java deleted file mode 100644 index aaddbf0e5..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidator.java +++ /dev/null @@ -1,250 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Provider; -import java.security.Security; - -/** - * A class for validating certification paths (also known as certificate - * chains).
    - *
    - * This class uses a provider-based architecture, as described in the Java - * Cryptography Architecture. To create a CertPathValidator, - * call one of the static getInstance methods, passing in the - * algorithm name of the CertPathValidator desired and - * optionally the name of the provider desired.
    - *
    - * Once a CertPathValidator object has been created, it can - * be used to validate certification paths by calling the {@link #validate - * validate} method and passing it the CertPath to be validated - * and an algorithm-specific set of parameters. If successful, the result is - * returned in an object that implements the - * CertPathValidatorResult interface.
    - *
    - * Concurrent Access
    - *
    - * The static methods of this class are guaranteed to be thread-safe. - * Multiple threads may concurrently invoke the static methods defined in - * this class with no ill effects.
    - *
    - * However, this is not true for the non-static methods defined by this class. - * Unless otherwise documented by a specific provider, threads that need to - * access a single CertPathValidator instance concurrently should - * synchronize amongst themselves and provide the necessary locking. Multiple - * threads each manipulating a different CertPathValidator - * instance need not synchronize.
    - *
    - * Uses {@link CertUtil CertUtil} to actualiy load the SPI classes. - * - * @see CertPath - * @see CertUtil - **/ -public class CertPathValidator extends Object -{ - private CertPathValidatorSpi validatorSpi; - private Provider provider; - private String algorithm; - - /** - * Creates a CertPathValidator object of the given algorithm, - * and encapsulates the given provider implementation (SPI object) in it. - * - * @param validatorSpi the provider implementation - * @param provider the provider - * @param algorithm the algorithm name - */ - protected CertPathValidator( CertPathValidatorSpi validatorSpi, - Provider provider, - String algorithm) - { - this.validatorSpi = validatorSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - /** - * Returns a CertPathValidator object that implements the - * specified algorithm.
    - *
    - * If the default provider package provides an implementation of the - * specified CertPathValidator algorithm, an instance of - * CertPathValidator containing that implementation is - * returned. If the requested algorithm is not available in the default - * package, other packages are searched. - * - * @param algorithm the name of the requested CertPathValidator - * algorithm - * - * @return a CertPathValidator object that implements the - * specified algorithm - * - * @exception NoSuchAlgorithmException if the requested algorithm - * is not available in the default provider package or any of the other - * provider packages that were searched - */ - public static CertPathValidator getInstance(String algorithm) - throws NoSuchAlgorithmException - { - try { - CertUtil.Implementation imp = - CertUtil.getImplementation("CertPathValidator", algorithm, (String)null ); - if (imp != null) - { - return new CertPathValidator((CertPathValidatorSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - } catch (NoSuchProviderException ex ) {} - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - /** - * Returns a CertPathValidator object that implements the - * specified algorithm, as supplied by the specified provider. - * - * @param algorithm the name of the requested CertPathValidator - * algorithm - * @param provider the name of the provider - * - * @return a CertPathValidator object that implements the - * specified algorithm, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested algorithm - * is not available from the specified provider - * @exception NoSuchProviderException if the provider has not been - * configured - * @exception IllegalArgumentException if the provider is - * null - */ - public static CertPathValidator getInstance(String algorithm, - String provider) - throws NoSuchAlgorithmException, - NoSuchProviderException - { - if ( provider == null ) - throw new IllegalArgumentException("provider must be non-null"); - - CertUtil.Implementation imp = CertUtil.getImplementation("CertPathValidator", algorithm, provider ); - if (imp != null) - { - return new CertPathValidator((CertPathValidatorSpi)imp.getEngine(), imp.getProvider(), algorithm); - } - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - /** - * Returns a CertPathValidator object that implements the - * specified algorithm, as supplied by the specified provider. - * Note: the provider doesn't have to be registered. - * - * @param algorithm the name of the requested - * CertPathValidator algorithm - * @param provider the provider - * - * @return a CertPathValidator object that implements the - * specified algorithm, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested algorithm - * is not available from the specified provider - * @exception IllegalArgumentException if the provider is - * null - */ - public static CertPathValidator getInstance(String algorithm, - Provider provider) - throws NoSuchAlgorithmException - { - if ( provider == null ) - throw new IllegalArgumentException("provider must be non-null"); - - CertUtil.Implementation imp = CertUtil.getImplementation("CertPathValidator", algorithm, provider ); - if (imp != null) - { - return new CertPathValidator((CertPathValidatorSpi)imp.getEngine(), provider, algorithm); - } - throw new NoSuchAlgorithmException("can't find algorithm " + algorithm); - } - - /** - * Returns the Provider of this - * CertPathValidator. - * - * @return the Provider of this CertPathValidator - */ - public final Provider getProvider() - { - return provider; - } - - /** - * Returns the algorithm name of this CertPathValidator. - * - * @return the algorithm name of this CertPathValidator - */ - public final String getAlgorithm() - { - return algorithm; - } - - /** - * Validates the specified certification path using the specified - * algorithm parameter set.
    - *
    - * The CertPath specified must be of a type that is - * supported by the validation algorithm, otherwise an - * InvalidAlgorithmParameterException will be thrown. For - * example, a CertPathValidator that implements the PKIX - * algorithm validates CertPath objects of type X.509. - * - * @param certPath the CertPath to be validated - * @param params the algorithm parameters - * - * @return the result of the validation algorithm - * - * @exception CertPathValidatorException if the CertPath - * does not validate - * @exception InvalidAlgorithmParameterException if the specified - * parameters or the type of the specified CertPath are - * inappropriate for this CertPathValidator - */ - public final CertPathValidatorResult validate( CertPath certPath, - CertPathParameters params) - throws CertPathValidatorException, - InvalidAlgorithmParameterException - { - return validatorSpi.engineValidate( certPath, params ); - } - - - /** - * Returns the default CertPathValidator type as specified in - * the Java security properties file, or the string "PKIX" - * if no such property exists. The Java security properties file is - * located in the file named <JAVA_HOME>/lib/security/java.security, - * where <JAVA_HOME> refers to the directory where the SDK was - * installed.
    - *
    - * The default CertPathValidator type can be used by - * applications that do not want to use a hard-coded type when calling one - * of the getInstance methods, and want to provide a default - * type in case a user does not specify its own.
    - *
    - * The default CertPathValidator type can be changed by - * setting the value of the "certpathvalidator.type" security property - * (in the Java security properties file) to the desired type. - * - * @return the default CertPathValidator type as specified - * in the Java security properties file, or the string "PKIX" - * if no such property exists. - */ - public static final String getDefaultType() - { - String defaulttype = null; - defaulttype = Security.getProperty("certpathvalidator.type"); - - if ( defaulttype == null || defaulttype.length() <= 0 ) - return "PKIX"; - else - return defaulttype; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorException.java deleted file mode 100644 index 2088ab1a4..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorException.java +++ /dev/null @@ -1,248 +0,0 @@ -package java.security.cert; - -import java.io.PrintStream; -import java.io.PrintWriter; -import java.security.GeneralSecurityException; - -/** - * An exception indicating one of a variety of problems encountered when - * validating a certification path.
    - *
    - * A CertPathValidatorException provides support for wrapping - * exceptions. The {@link #getCause getCause} method returns the throwable, - * if any, that caused this exception to be thrown.
    - *
    - * A CertPathValidatorException may also include the - * certification path that was being validated when the exception was thrown - * and the index of the certificate in the certification path that caused the - * exception to be thrown. Use the {@link #getCertPath getCertPath} and - * {@link #getIndex getIndex} methods to retrieve this information.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathValidator - **/ -public class CertPathValidatorException extends GeneralSecurityException -{ - private Throwable cause; - private CertPath certPath; - private int index = -1; - - /** - * Creates a CertPathValidatorException with - * no detail message. - */ - public CertPathValidatorException() - { - super(); - } - - /** - * Creates a CertPathValidatorException with the given - * detail message. A detail message is a String that - * describes this particular exception. - * - * @param messag the detail message - */ - public CertPathValidatorException(String message) - { - super(message); - } - - /** - * Creates a CertPathValidatorException with the specified - * detail message and cause. - * - * @param msg the detail message - * @param cause the cause (which is saved for later retrieval by the - * {@link #getCause getCause()} method). (A null value is - * permitted, and indicates that the cause is nonexistent or unknown.) - */ - public CertPathValidatorException(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - /** - * Creates a CertPathValidatorException with the specified - * detail message, cause, certification path, and index. - * - * @param msg the detail message (or null if none) - * @param cause the cause (or null if none) - * @param certPath the certification path that was in the process of - * being validated when the error was encountered - * @param index the index of the certificate in the certification path - * that caused the error (or -1 if not applicable). Note that - * the list of certificates in a CertPath is zero based. - * - * @exception IndexOutOfBoundsException if the index is out of range - * (index < -1 || (certPath != null && index >= - * certPath.getCertificates().size()) - * @exception IllegalArgumentException if certPath is - * null and index is not -1 - */ - public CertPathValidatorException(String message, Throwable cause, CertPath certPath, int index) - { - super( message ); - - if ( certPath == null && index != -1 ) - throw new IllegalArgumentException( "certPath = null and index != -1" ); - if ( index < -1 || ( certPath != null && index >= certPath.getCertificates().size() ) ) - throw new IndexOutOfBoundsException( " index < -1 or out of bound of certPath.getCertificates()" ); - - this.cause = cause; - this.certPath = certPath; - this.index = index; - } - - /** - * Creates a CertPathValidatorException that wraps the - * specified throwable. This allows any exception to be converted into a - * CertPathValidatorException, while retaining information - * about the wrapped exception, which may be useful for debugging. The - * detail message is set to (cause==null ? null : cause.toString() - * ) (which typically contains the class and detail message of - * cause). - * - * @param cause the cause (which is saved for later retrieval by the - * {@link #getCause getCause()} method). (A null value is - * permitted, and indicates that the cause is nonexistent or unknown.) - */ - public CertPathValidatorException(Throwable cause) - { - this.cause = cause; - } - - /** - * Returns the detail message for this - * CertPathValidatorException. - * - * @return the detail message, or null if neither the message - * nor cause were specified - */ - public String getMessage() - { - String message = super.getMessage(); - - if ( message == null && cause == null ) - return null; - - StringBuffer s = new StringBuffer(); - if ( message != null ) - { - s.append(message).append('\n'); - } - if ( cause != null ) - { - s.append("Cause:\n").append(cause.getMessage()).append('\n'); - } - return s.toString(); - } - - /** - * Returns the certification path that was being validated when - * the exception was thrown. - * - * @return the CertPath that was being validated when - * the exception was thrown (or null if not specified) - */ - public CertPath getCertPath() - { - return certPath; - } - - /** - * Returns the index of the certificate in the certification path - * that caused the exception to be thrown. Note that the list of - * certificates in a CertPath is zero based. If no - * index has been set, -1 is returned. - * - * @return the index that has been set, or -1 if none has been set - */ - public int getIndex() - { - return index; - } - - /** - * Returns the cause of this CertPathValidatorException or - * null if the cause is nonexistent or unknown. - * - * @return the cause of this throwable or null if the cause - * is nonexistent or unknown. - */ - public Throwable getCause() - { - return cause; - } - - /** - * Returns a string describing this exception, including a description - * of the internal (wrapped) cause if there is one. - * - * @return a string representation of this - * CertPathValidatorException - */ - public String toString() - { - StringBuffer sb = new StringBuffer(); - String s = getMessage(); - if ( s != null ) - { - sb.append( s ); - } - if ( getIndex() >= 0 ) - { - sb.append("index in certpath: ").append(getIndex()).append('\n'); - sb.append(getCertPath()); - } - return sb.toString(); - } - - /** - * Prints a stack trace to System.err, including the backtrace - * of the cause, if any. - */ - public void printStackTrace() - { - printStackTrace(System.err); - } - - /** - * Prints a stack trace to a PrintStream, including the - * backtrace of the cause, if any. - * - * @param ps the PrintStream to use for output - */ - public void printStackTrace(PrintStream ps) - { - super.printStackTrace(ps); - if ( getCause() != null ) - { - getCause().printStackTrace(ps); - } - } - - /** - * Prints a stack trace to a PrintWriter, including the - * backtrace of the cause, if any. - * - * @param pw the PrintWriter to use for output - */ - public void printStackTrace(PrintWriter pw) - { - super.printStackTrace(pw); - if ( getCause() != null ) - { - getCause().printStackTrace(pw); - } - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorResult.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorResult.java deleted file mode 100644 index ec09641d5..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorResult.java +++ /dev/null @@ -1,22 +0,0 @@ -package java.security.cert; - -/** - * A specification of the result of a certification path validator algorithm.
    - *
    - * The purpose of this interface is to group (and provide type safety - * for) all certification path validator results. All results returned - * by the {@link CertPathValidator#validate CertPathValidator.validate} - * method must implement this interface. - * - * @see CertPathValidator - **/ -public interface CertPathValidatorResult extends Cloneable -{ - /** - * Makes a copy of this CertPathValidatorResult. Changes to the - * copy will not affect the original and vice versa. - * - * @return a copy of this CertPathValidatorResult - */ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorSpi.java deleted file mode 100644 index c70bc47fc..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertPathValidatorSpi.java +++ /dev/null @@ -1,59 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; - -/** - * - * The Service Provider Interface (SPI) - * for the {@link CertPathValidator CertPathValidator} class. All - * CertPathValidator implementations must include a class (the - * SPI class) that extends this class (CertPathValidatorSpi) - * and implements all of its methods. In general, instances of this class - * should only be accessed through the CertPathValidator class. - * For details, see the Java Cryptography Architecture.
    - *
    - * Concurrent Access
    - *
    - * Instances of this class need not be protected against concurrent - * access from multiple threads. Threads that need to access a single - * CertPathValidatorSpi instance concurrently should synchronize - * amongst themselves and provide the necessary locking before calling the - * wrapping CertPathValidator object.
    - *
    - * However, implementations of CertPathValidatorSpi may still - * encounter concurrency issues, since multiple threads each - * manipulating a different CertPathValidatorSpi instance need not - * synchronize. - **/ -public abstract class CertPathValidatorSpi extends Object -{ - /** - * The default constructor. - */ - public CertPathValidatorSpi() {} - - /** - * Validates the specified certification path using the specified - * algorithm parameter set.
    - *
    - * The CertPath specified must be of a type that is - * supported by the validation algorithm, otherwise an - * InvalidAlgorithmParameterException will be thrown. For - * example, a CertPathValidator that implements the PKIX - * algorithm validates CertPath objects of type X.509. - * - * @param certPath the CertPath to be validated - * @param params the algorithm parameters - * - * @return the result of the validation algorithm - * - * @exception CertPathValidatorException if the CertPath - * does not validate - * @exception InvalidAlgorithmParameterException if the specified - * parameters or the type of the specified CertPath are - * inappropriate for this CertPathValidator - */ - public abstract CertPathValidatorResult engineValidate(CertPath certPath, CertPathParameters params) - throws CertPathValidatorException, - InvalidAlgorithmParameterException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertSelector.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertSelector.java deleted file mode 100644 index 31bf97448..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertSelector.java +++ /dev/null @@ -1,39 +0,0 @@ -package java.security.cert; - -/** - * A selector that defines a set of criteria for selecting - * Certificates. Classes that implement this interface - * are often used to specify which Certificates should - * be retrieved from a CertStore.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this interface are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see Certificate - * @see CertStore - * @see CertStore#getCertificates - */ -public interface CertSelector extends Cloneable -{ - /** - * Decides whether a Certificate should be selected. - * - * @param cert the Certificate to be checked - * @return true if the Certificate - * should be selected, false otherwise - */ - public boolean match(Certificate cert); - - /** - * Makes a copy of this CertSelector. Changes to the - * copy will not affect the original and vice versa. - * - * @return a copy of this CertSelector - */ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStore.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStore.java deleted file mode 100644 index 0e2c6d2f7..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStore.java +++ /dev/null @@ -1,352 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Provider; -import java.security.Security; -import java.util.Collection; - -/** - * A class for retrieving Certificates and CRLs - * from a repository.
    - *
    - * This class uses a provider-based architecture, as described in the - * Java Cryptography Architecture. - * To create a CertStore, call one of the static - * getInstance methods, passing in the type of - * CertStore desired, any applicable initialization parameters - * and optionally the name of the provider desired.
    - *
    - * Once the CertStore has been created, it can be used to - * retrieve Certificates and CRLs by calling its - * {@link #getCertificates(CertSelector selector) getCertificates} and - * {@link #getCRLs(CRLSelector selector) getCRLs} methods.
    - *
    - * Unlike a {@link java.security.KeyStore KeyStore}, which provides access - * to a cache of private keys and trusted certificates, a - * CertStore is designed to provide access to a potentially - * vast repository of untrusted certificates and CRLs. For example, an LDAP - * implementation of CertStore provides access to certificates - * and CRLs stored in one or more directories using the LDAP protocol and the - * schema as defined in the RFC service attribute. See Appendix A in the - * Java Certification Path API Programmer's Guide for more information about - * standard CertStore types.
    - *
    - * Concurrent Access
    - *
    - * All public methods of CertStore objects must be thread-safe. - * That is, multiple threads may concurrently invoke these methods on a - * single CertStore object (or more than one) with no - * ill effects. This allows a CertPathBuilder to search for a - * CRL while simultaneously searching for further certificates, for instance.
    - *
    - * The static methods of this class are also guaranteed to be thread-safe. - * Multiple threads may concurrently invoke the static methods defined in - * this class with no ill effects.
    - *
    - * Uses {@link CertUtil CertUtil} to actualiy load the SPI classes. - * - * @see CertUtil - **/ -public class CertStore extends Object -{ - private CertStoreSpi storeSpi; - private Provider provider; - private String type; - private CertStoreParameters params; - - /** - * Creates a CertStore object of the given type, and - * encapsulates the given provider implementation (SPI object) in it. - * - * @param storeSpi the provider implementation - * @param provider the provider - * @param type the type - * @param params the initialization parameters (may be null) - */ - protected CertStore( CertStoreSpi storeSpi, - Provider provider, - String type, - CertStoreParameters params ) - { - this.storeSpi = storeSpi; - this.provider = provider; - this.type = type; - this.params = params; - } - - /** - * Returns a Collection of Certificates that - * match the specified selector. If no Certificates - * match the selector, an empty Collection will be returned.
    - *
    - * For some CertStore types, the resulting - * Collection may not contain all of the - * Certificates that match the selector. For instance, - * an LDAP CertStore may not search all entries in the - * directory. Instead, it may just search entries that are likely to - * contain the Certificates it is looking for.
    - *
    - * Some CertStore implementations (especially LDAP - * CertStores) may throw a CertStoreException - * unless a non-null CertSelector is provided that - * includes specific criteria that can be used to find the certificates. - * Issuer and/or subject names are especially useful criteria. - * - * @param selector A CertSelector used to select which - * Certificates should be returned. Specify null - * to return all Certificates (if supported). - * - * @return A Collection of Certificates that - * match the specified selector (never null) - * @exception CertStoreException if an exception occurs - */ - public final Collection getCertificates( CertSelector selector ) - throws CertStoreException - { - return storeSpi.engineGetCertificates( selector ); - } - - /** - * Returns a Collection of CRLs that - * match the specified selector. If no CRLs - * match the selector, an empty Collection will be returned.
    - *
    - * For some CertStore types, the resulting - * Collection may not contain all of the - * CRLs that match the selector. For instance, - * an LDAP CertStore may not search all entries in the - * directory. Instead, it may just search entries that are likely to - * contain the CRLs it is looking for.
    - *
    - * Some CertStore implementations (especially LDAP - * CertStores) may throw a CertStoreException - * unless a non-null CRLSelector is provided that - * includes specific criteria that can be used to find the CRLs. - * Issuer names and/or the certificate to be checked are especially useful. - * - * @param selector A CRLSelector used to select which - * CRLs should be returned. Specify null - * to return all CRLs (if supported). - * - * @return A Collection of CRLs that - * match the specified selector (never null) - * - * @exception CertStoreException if an exception occurs - */ - public final Collection getCRLs( CRLSelector selector ) - throws CertStoreException - { - return storeSpi.engineGetCRLs( selector ); - } - - /** - * Returns a CertStore object that implements the specified - * CertStore type and is initialized with the specified - * parameters.
    - *
    - * If the default provider package provides an implementation - * of the specified CertStore type, an instance of - * CertStore containing that implementation is returned. - * If the requested type is not available in the default package, other - * packages are searched.
    - *
    - * The CertStore that is returned is initialized with the - * specified CertStoreParameters. The type of parameters - * needed may vary between different types of CertStores. - * Note that the specified CertStoreParameters object is - * cloned. - * - * @param type the name of the requested CertStore type - * @param params the initialization parameters (may be null) - * - * @return a CertStore object that implements the specified - * CertStore type - * - * @exception NoSuchAlgorithmException if the requested type is not - * available in the default provider package or any of the other provider - * packages that were searched - * @exception InvalidAlgorithmParameterException if the specified - * initialization parameters are inappropriate for this - * CertStore - */ - public static CertStore getInstance( String type, - CertStoreParameters params) - throws InvalidAlgorithmParameterException, - NoSuchAlgorithmException - { - try { - CertUtil.Implementation imp = - CertUtil.getImplementation( "CertStore", type, (String)null, - new Class[] { CertStoreParameters.class }, - new Object[] { params } ); - if (imp != null) - { - return new CertStore((CertStoreSpi)imp.getEngine(), imp.getProvider(), type, params ); - } - } catch ( NoSuchProviderException ex ) {} - throw new NoSuchAlgorithmException("can't find type " + type); - } - - /** - * Returns a CertStore object that implements the specified - * CertStore type, as supplied by the specified provider - * and initialized with the specified parameters.
    - *
    - * The CertStore that is returned is initialized with the - * specified CertStoreParameters. The type of parameters - * needed may vary between different types of CertStores. - * Note that the specified CertStoreParameters object is - * cloned. - * - * @param type the requested CertStore type - * @param params the initialization parameters (may be null) - * @param provider the name of the provider - * - * @return a CertStore object that implements the - * specified type, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested type is not - * available from the specified provider - * @exception InvalidAlgorithmParameterException if the specified - * initialization parameters are inappropriate for this - * CertStore - * @exception NoSuchProviderException if the provider has not been configured - * @exception IllegalArgumentException if the provider is - * null - */ - public static CertStore getInstance( String type, - CertStoreParameters params, - String provider) - throws InvalidAlgorithmParameterException, - NoSuchAlgorithmException, - NoSuchProviderException, - IllegalArgumentException - { - if ( provider == null ) - throw new IllegalArgumentException( "provider must be non-null" ); - - CertUtil.Implementation imp = - CertUtil.getImplementation( "CertStore", type, provider, - new Class[] { CertStoreParameters.class }, - new Object[] { params } ); - if (imp != null) - { - return new CertStore((CertStoreSpi)imp.getEngine(), imp.getProvider(), type, params ); - } - throw new NoSuchAlgorithmException("can't find type " + type); - } - - /** - * Returns a CertStore object that implements the specified - * CertStore type, as supplied by the specified provider and - * initialized with the specified parameters. - * Note: the provider doesn't have to be registered.
    - *
    - * The CertStore that is returned is initialized with the - * specified CertStoreParameters. The type of parameters - * needed may vary between different types of CertStores. - * Note that the specified CertStoreParameters object is - * cloned. - * - * @param type the requested CertStore type - * @param params the initialization parameters (may be null) - * @param provider the provider - * - * @return a CertStore object that implements the - * specified type, as supplied by the specified provider - * - * @exception NoSuchAlgorithmException if the requested type is not - * available from the specified provider - * @exception InvalidAlgorithmParameterException if the specified - * initialization parameters are inappropriate for this - * CertStore - * @exception IllegalArgumentException if the provider is - * null - */ - public static CertStore getInstance( String type, - CertStoreParameters params, - Provider provider ) - throws NoSuchAlgorithmException, - InvalidAlgorithmParameterException, - IllegalArgumentException - { - if ( provider == null ) - throw new IllegalArgumentException( "provider must be non-null" ); - CertUtil.Implementation imp = - CertUtil.getImplementation( "CertStore", type, provider, - new Class[] { CertStoreParameters.class }, - new Object[] { params } ); - if (imp != null) - { - return new CertStore((CertStoreSpi)imp.getEngine(), provider, type, params ); - } - throw new NoSuchAlgorithmException("can't find type " + type); - } - - /** - * Returns the parameters used to initialize this CertStore. - * Note that the CertStoreParameters object is cloned before - * it is returned. - * - * @return the parameters used to initialize this CertStore - * (may be null) - */ - public final CertStoreParameters getCertStoreParameters() - { - return params; - } - - /** - * Returns the type of this CertStore. - * - * @return the type of this CertStore - */ - public final String getType() - { - return type; - } - - /** - * Returns the provider of this CertStore. - * - * @return the provider of this CertStore - */ - public final Provider getProvider() - { - return provider; - } - - /** - * Returns the default CertStore type as specified in the - * Java security properties file, or the string "LDAP" if no - * such property exists. The Java security properties file is located in - * the file named <JAVA_HOME>/lib/security/java.security, where - * <JAVA_HOME> refers to the directory where the SDK was installed.
    - *
    - * The default CertStore type can be used by applications - * that do not want to use a hard-coded type when calling one of the - * getInstance methods, and want to provide a default - * CertStore type in case a user does not specify its own.
    - *
    - * The default CertStore type can be changed by setting - * the value of the "certstore.type" security property (in the Java - * security properties file) to the desired type. - * - * @return the default CertStore type as specified in the - * Java security properties file, or the string "LDAP" - * if no such property exists. - */ - public static final String getDefaultType() - { - String defaulttype = null; - defaulttype = Security.getProperty("certstore.type"); - - if ( defaulttype == null || defaulttype.length() <= 0 ) - return "LDAP"; - else - return defaulttype; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreException.java deleted file mode 100644 index a15bc3df6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreException.java +++ /dev/null @@ -1,172 +0,0 @@ -package java.security.cert; - -import java.io.PrintStream; -import java.io.PrintWriter; -import java.security.GeneralSecurityException; - -/** - * An exception indicating one of a variety of problems retrieving - * certificates and CRLs from a CertStore.
    - *
    - * A CertStoreException provides support for wrapping - * exceptions. The {@link #getCause getCause} method returns the throwable, - * if any, that caused this exception to be thrown.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertStore - **/ -public class CertStoreException extends GeneralSecurityException -{ - private Throwable cause; - - /** - * Creates a CertStoreException with null as - * its detail message. - */ - public CertStoreException() - { - super(); - } - - /** - * Creates a CertStoreException with the given detail - * message. A detail message is a String that describes this - * particular exception. - * - * @param messag the detail message - */ - public CertStoreException(String message) - { - super(message); - } - - /** - * Creates a CertStoreException with the specified detail - * message and cause. - * - * @param messag the detail message - * @param cause the cause (which is saved for later retrieval by the - * {@link #getCause getCause()} method). (A null value is - * permitted, and indicates that the cause is nonexistent or unknown.) - */ - public CertStoreException(String message, Throwable cause) - { - super(message); - this.cause = cause; - } - - /** - * Creates a CertStoreException that wraps the specified - * throwable. This allows any exception to be converted into a - * CertStoreException, while retaining information about the - * cause, which may be useful for debugging. The detail message is - * set to (cause==null ? null : cause.toString()) (which - * typically contains the class and detail message of cause). - * - * @param cause the cause (which is saved for later retrieval by the - * {@link #getCause getCause()} method). (A null value is - * permitted, and indicates that the cause is nonexistent or unknown.) - */ - public CertStoreException(Throwable cause) - { - this.cause = cause; - } - - /** - * Returns the detail message for this CertStoreException. - * - * @return the detail message, or null if neither the message - * nor cause were specified - */ - public String getMessage() - { - String message = super.getMessage(); - - if ( message == null && cause == null ) - return null; - - StringBuffer s = new StringBuffer(); - if ( message != null ) - { - s.append(message).append('\n'); - } - if ( cause != null ) - { - s.append("Cause:\n").append(cause.getMessage()); - } - return s.toString(); - } - - /** - * Returns the cause of this CertStoreException or - * null if the cause is nonexistent or unknown. - * - * @return the cause of this throwable or null if the cause - * is nonexistent or unknown. - */ - public Throwable getCause() - { - return cause; - } - - /** - * Returns a string describing this exception, including a description - * of the internal (wrapped) cause if there is one. - * - * @return a string representation of this - * CertStoreException - */ - public String toString() - { - String message = getMessage(); - if ( message == null ) - return ""; - - return message; - } - - /** - * Prints a stack trace to System.err, including the backtrace - * of the cause, if any. - */ - public void printStackTrace() { - printStackTrace(System.err); - } - - /** - * Prints a stack trace to a PrintStream, including the - * backtrace of the cause, if any. - * - * @param ps the PrintStream to use for output - */ - public void printStackTrace(PrintStream ps) { - super.printStackTrace(ps); - if ( cause != null ) { - cause.printStackTrace(ps); - } - } - - /** - * Prints a stack trace to a PrintWriter, including the - * backtrace of the cause, if any. - * - * @param pw the PrintWriter to use for output - */ - public void printStackTrace(PrintWriter pw) { - if ( cause != null ) { - cause.printStackTrace(pw); - } - super.printStackTrace(pw); - if ( cause != null ) { - cause.printStackTrace(pw); - } - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreParameters.java deleted file mode 100644 index 58a70b372..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreParameters.java +++ /dev/null @@ -1,52 +0,0 @@ -package java.security.cert; - -/** - * A specification of CertStore parameters.
    - *
    - * The purpose of this interface is to group (and provide type safety for) - * all CertStore parameter specifications. All - * CertStore parameter specifications must implement this - * interface.
    - *
    - * Typically, a CertStoreParameters object is passed as a parameter - * to one of the {@link CertStore#getInstance CertStore.getInstance} methods. - * The getInstance method returns a CertStore that - * is used for retrieving Certificates and CRLs. The - * CertStore that is returned is initialized with the specified - * parameters. The type of parameters needed may vary between different types - * of CertStores. - * - * @see CertStore#getInstance - **/ -public interface CertStoreParameters extends Cloneable -{ - /** - * Makes a copy of this CertStoreParameters.
    - *
    - * The precise meaning of "copy" may depend on the class of - * the CertStoreParameters object. A typical implementation - * performs a "deep copy" of this object, but this is not an absolute - * requirement. Some implementations may perform a "shallow copy" of some - * or all of the fields of this object.
    - *
    - * Note that the CertStore.getInstance methods make a copy - * of the specified CertStoreParameters. A deep copy - * implementation of clone is safer and more robust, as it - * prevents the caller from corrupting a shared CertStore by - * subsequently modifying the contents of its initialization parameters. - * However, a shallow copy implementation of clone is more - * appropriate for applications that need to hold a reference to a - * parameter contained in the CertStoreParameters. For example, - * a shallow copy clone allows an application to release the resources of - * a particular CertStore initialization parameter immediately, - * rather than waiting for the garbage collection mechanism. This should - * be done with the utmost care, since the CertStore may still - * be in use by other threads.
    - *
    - * Each subclass should state the precise behavior of this method so - * that users and developers know what to expect. - * - * @return a copy of this CertStoreParameters - */ - public Object clone(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreSpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreSpi.java deleted file mode 100644 index b92cf4aa5..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertStoreSpi.java +++ /dev/null @@ -1,104 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.util.Collection; - -/** - * The Service Provider Interface (SPI) - * for the {@link CertStore CertStore} class. All CertStore - * implementations must include a class (the SPI class) that extends - * this class (CertStoreSpi), provides a constructor with - * a single argument of type CertStoreParameters, and implements - * all of its methods. In general, instances of this class should only be - * accessed through the CertStore class. - * For details, see the Java Cryptography Architecture.
    - *
    - * Concurrent Access
    - *
    - * The public methods of all CertStoreSpi objects must be - * thread-safe. That is, multiple threads may concurrently invoke these - * methods on a single CertStoreSpi object (or more than one) - * with no ill effects. This allows a CertPathBuilder to search - * for a CRL while simultaneously searching for further certificates, for - * instance.
    - *
    - * Simple CertStoreSpi implementations will probably ensure - * thread safety by adding a synchronized keyword to their - * engineGetCertificates and engineGetCRLs methods. - * More sophisticated ones may allow truly concurrent access. - **/ -public abstract class CertStoreSpi - extends Object -{ - - /** - * The sole constructor. - * - * @param params the initialization parameters (may be null) - * @exception InvalidAlgorithmParameterException if the initialization - * parameters are inappropriate for this CertStoreSpi - */ - public CertStoreSpi( CertStoreParameters params ) - throws InvalidAlgorithmParameterException {} - - /** - * Returns a Collection of Certificates that - * match the specified selector. If no Certificates - * match the selector, an empty Collection will be returned.
    - *
    - * For some CertStore types, the resulting - * Collection may not contain all of the - * Certificates that match the selector. For instance, - * an LDAP CertStore may not search all entries in the - * directory. Instead, it may just search entries that are likely to - * contain the Certificates it is looking for.
    - *
    - * Some CertStore implementations (especially LDAP - * CertStores) may throw a CertStoreException - * unless a non-null CertSelector is provided that includes - * specific criteria that can be used to find the certificates. Issuer - * and/or subject names are especially useful criteria. - * - * @param selector A CertSelector used to select which - * Certificates should be returned. Specify null - * to return all Certificates (if supported). - * - * @return A Collection of Certificates that - * match the specified selector (never null) - * - * @exception CertStoreException if an exception occurs - */ - public abstract Collection engineGetCertificates( CertSelector selector ) - throws CertStoreException; - - /** - * Returns a Collection of CRLs that - * match the specified selector. If no CRLs - * match the selector, an empty Collection will be returned.
    - *
    - * For some CertStore types, the resulting - * Collection may not contain all of the - * CRLs that match the selector. For instance, - * an LDAP CertStore may not search all entries in the - * directory. Instead, it may just search entries that are likely to - * contain the CRLs it is looking for.
    - *
    - * Some CertStore implementations (especially LDAP - * CertStores) may throw a CertStoreException - * unless a non-null CRLSelector is provided that includes - * specific criteria that can be used to find the CRLs. Issuer names - * and/or the certificate to be checked are especially useful. - * - * @param selector A CRLSelector used to select which - * CRLs should be returned. Specify null - * to return all CRLs (if supported). - * - * @return A Collection of CRLs that - * match the specified selector (never null) - * - * @exception CertStoreException if an exception occurs - */ - public abstract Collection engineGetCRLs( CRLSelector selector ) - throws CertStoreException; -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertUtil.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertUtil.java deleted file mode 100644 index 216a8d8e4..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertUtil.java +++ /dev/null @@ -1,556 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchProviderException; -import java.security.Provider; -import java.security.Security; - -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.OIDTokenizer; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.util.Strings; - -class CertUtil -{ - static class Implementation - { - Object engine; - Provider provider; - - Implementation( - Object engine, - Provider provider) - { - this.engine = engine; - this.provider = provider; - } - - Object getEngine() - { - return engine; - } - - Provider getProvider() - { - return provider; - } - } - - /** - * see if we can find an algorithm (or its alias and what it represents) in - * the property table for the given provider. - * - * @return null if no algorithm found, an Implementation if it is. - */ - static Implementation getImplementation( - String baseName, - String algorithm, - Provider prov) - { - if (prov == null) - { - Provider[] provider = Security.getProviders(); - - // - // search every provider looking for the algorithm we want. - // - for (int i = 0; i != provider.length; i++) - { - Implementation imp = getImplementation(baseName, algorithm, provider[i]); - if (imp != null) - { - return imp; - } - } - - return null; - } - - String alias; - - while ((alias = prov.getProperty("Alg.Alias." + baseName + "." + algorithm)) != null) - { - algorithm = alias; - } - - String className = prov.getProperty(baseName + "." + algorithm); - - if (className != null) - { - try - { - return new Implementation(Class.forName(className).newInstance(), prov); - } - catch (ClassNotFoundException e) - { - throw new IllegalStateException( - "algorithm " + algorithm + " in provider " + prov.getName() + " but no class found!"); - } - catch (Exception e) - { - throw new IllegalStateException( - "algorithm " + algorithm + " in provider " + prov.getName() + " but class inaccessible: " + e.toString()); - } - } - - return null; - } - - /** - * return an implementation for a given algorithm/provider. - * If the provider is null, we grab the first avalaible who has the required algorithm. - * - * @return null if no algorithm found, an Implementation if it is. - * @exception NoSuchProviderException if a provider is specified and not found. - */ - static Implementation getImplementation( - String baseName, - String algorithm, - String provider) - throws NoSuchProviderException - { - if (provider == null) - { - Provider[] prov = Security.getProviders(); - - // - // search every provider looking for the algorithm we want. - // - for (int i = 0; i != prov.length; i++) - { - Implementation imp = getImplementation(baseName, algorithm, prov[i]); - if (imp != null) - { - return imp; - } - } - } - else - { - Provider prov = Security.getProvider(provider); - - if (prov == null) - { - throw new NoSuchProviderException("Provider " + provider + " not found"); - } - - return getImplementation(baseName, algorithm, prov); - } - - return null; - } - - /** - * see if we can find an algorithm (or its alias and what it represents) in - * the property table for the given provider. - * - * @return null if no algorithm found, an Implementation if it is. - */ - static Implementation getImplementation(String baseName, String algorithm, - Provider prov, Class[] ctorparamtype, Object[] ctorparam) - throws InvalidAlgorithmParameterException - { - String alias; - - while ((alias = prov.getProperty("Alg.Alias." + baseName + "." - + algorithm)) != null) - { - algorithm = alias; - } - - String className = prov.getProperty(baseName + "." + algorithm); - - if (className != null) - { - try - { - return new Implementation(Class.forName(className) - .getConstructor(ctorparamtype).newInstance(ctorparam), - prov); - } - catch (ClassNotFoundException e) - { - throw new IllegalStateException("algorithm " + algorithm - + " in provider " + prov.getName() - + " but no class found!"); - } - catch (Exception e) - { - if (e instanceof InvalidAlgorithmParameterException) - { - throw (InvalidAlgorithmParameterException)e; - } - - throw new IllegalStateException("algorithm " + algorithm - + " in provider " + prov.getName() - + " but class inaccessible!"); - } - } - - return null; - } - - /** - * return an implementation for a given algorithm/provider. If the provider - * is null, we grab the first avalaible who has the required algorithm. - * - * @return null if no algorithm found, an Implementation if it is. - * - * @exception NoSuchProviderException - * if a provider is specified and not found. - */ - static Implementation getImplementation(String baseName, String algorithm, - String provider, Class[] ctorparamtype, Object[] ctorparam) - throws NoSuchProviderException, InvalidAlgorithmParameterException - { - if (provider == null) - { - Provider[] prov = Security.getProviders(); - - // - // search every provider looking for the algorithm we want. - // - for (int i = 0; i != prov.length; i++) - { - Implementation imp = getImplementation(baseName, algorithm, - prov[i], ctorparamtype, ctorparam); - if (imp != null) - { - return imp; - } - } - } - else - { - Provider prov = Security.getProvider(provider); - - if (prov == null) - { - throw new NoSuchProviderException("Provider " + provider - + " not found"); - } - - return getImplementation(baseName, algorithm, prov, ctorparamtype, - ctorparam); - } - - return null; - } - - static byte[] parseGeneralName(int type, String data) throws IOException - { - byte[] encoded = null; - - switch (type) - { - case 0: - throw new IOException( - "unable to parse OtherName String representation"); - case 1: - encoded = parseRfc822(data.trim()); - break; - case 2: - encoded = parseDNSName(data.trim()); - break; - case 3: - throw new IOException( - "unable to parse ORAddress String representation"); - case 4: - encoded = parseX509Name(data.trim()); - break; - case 5: - throw new IOException( - "unable to parse EDIPartyName String representation"); - case 6: - encoded = parseURI(data.trim()); - break; - case 7: - encoded = parseIP(data.trim()); - break; - case 8: - encoded = parseOID(data.trim()); - break; - default: - throw new IOException( - "unable to parse unkown type String representation"); - } - return encoded; - } - - /** - * Check the format of an OID.
    - * Throw an IOException if the first component is not 0, 1 or 2 or the - * second component is greater than 39.
    - *
    - * User {@link org.spongycastle.asn1.OIDTokenizer OIDTokenizer} - * - * @param the - * OID to be checked. - * - * @exception IOException - * if the first component is not 0, 1 or 2 or the second - * component is greater than 39. - */ - static byte[] parseOID(String oid) throws IOException - { - OIDTokenizer tokenizer = new OIDTokenizer(oid); - String token; - if (!tokenizer.hasMoreTokens()) - { - throw new IOException("OID contains no tokens"); - } - token = tokenizer.nextToken(); - if (token == null) - { - throw new IOException("OID contains no tokens"); - } - try - { - int test = (Integer.valueOf(token)).intValue(); - if (test < 0 || test > 2) - { - throw new IOException("first token is not >= 0 and <=2"); - } - if (!tokenizer.hasMoreTokens()) - { - throw new IOException("OID contains only one token"); - } - token = tokenizer.nextToken(); - if (token == null) - { - throw new IOException("OID contains only one token"); - } - test = (Integer.valueOf(token)).intValue(); - if (test < 0 || test > 39) - { - throw new IOException("secon token is not >= 0 and <=39"); - } - } - catch (NumberFormatException ex) - { - throw new IOException("token: " + token + ": " + ex.toString()); - } - ASN1Object derData = new ASN1ObjectIdentifier(oid); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(derData); - derOutStream.close(); - return outStream.toByteArray(); - } - - /** - * Parse the given IPv4 or IPv6 into DER encoded byte array representation. - * - * @param the - * IP in well known String format - * - * @return the IP as byte array - * - * @exception IOException - * if the String could not be parsed - */ - private static byte[] parseIP(String data) throws IOException - { - byte[] encoded = parseIPv4(data); - - if (encoded == null) - { - encoded = parseIPv6(data); - } - - if (encoded == null) - { - throw new IOException( - "unable to parse IP to DER encoded byte array"); - } - - return encoded; - } - - /** - * Parse the given IPv4 into DER encoded byte array representation. - * - * @param the - * IP in well known String format - * - * @return the IP as byte array or null if not parseable - */ - private static byte[] parseIPv4(String data) - { - if (data.length() == 0) - { - return null; - } - - int octet; - int octets = 0; - byte[] dst = new byte[4]; - - int pos = 0; - int start = 0; - while (start < data.length() - && (pos = data.indexOf('.', start)) > start && pos - start > 3) - { - try - { - octet = (Integer.valueOf(data.substring(start, pos - start))) - .intValue(); - } - catch (NumberFormatException ex) - { - return null; - } - if (octet < 0 || octet > 255) - { - return null; - } - dst[octets++] = (byte)(octet & 0xff); - - start = pos + 1; - } - - if (octets < 4) - { - return null; - } - - return dst; - } - - /** - * Parse the given IPv6 into DER encoded byte array representation.
    - *
    - * TODO: implement this - * - * @param the - * IP in well known String format - * - * @return the IP as byte array or null if not parseable - */ - private static byte[] parseIPv6(String data) - { - return null; - } - - /** - * Parse the given URI into DER encoded byte array representation. - * - * @param the - * URI in well known String format - * - * @return the URI as byte array - * - * @exception IOException - * if the String could not be parsed - */ - private static byte[] parseURI(String data) throws IOException - { - // TODO do parsing test - ASN1Object derData = new DERIA5String(data); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(derData); - derOutStream.close(); - return outStream.toByteArray(); - } - - /** - * Parse the given rfc822 addr-spec into DER encoded byte array - * representation. - * - * @param the - * rfc822 addr-spec in well known String format - * - * @return the rfc822 addr-spec as byte array - * - * @exception IOException - * if the String could not be parsed - */ - private static byte[] parseRfc822(String data) throws IOException - { - int tmpInt = data.indexOf('@'); - if (tmpInt < 0 || tmpInt >= data.length() - 1) - { - throw new IOException("wrong format of rfc822Name:" + data); - } - // TODO more test for illegal charateers - ASN1Object derData = new DERIA5String(data); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(derData); - derOutStream.close(); - return outStream.toByteArray(); - } - - /** - * Parse the given DNS name into DER encoded byte array representation. The - * String must be in den preffered name syntax as defined in RFC 1034. - * - * @param the - * DNS name in well known String format - * - * @return the DNS name as byte array - * - * @exception IOException - * if the String could not be parsed - */ - private static byte[] parseDNSName(String data) throws IOException - { - // TODO more test for illegal charateers - ASN1Object derData = new DERIA5String(data); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(derData); - derOutStream.close(); - return outStream.toByteArray(); - } - - /** - * Parse the given X.509 name into DER encoded byte array representation. - * - * @param the - * X.509 name in well known String format - * - * @return the X.509 name as byte array - * - * @exception IOException - * if the String could not be parsed - */ - private static byte[] parseX509Name(String data) throws IOException - { - // TODO more test for illegal charateers - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(new X509Name(trimX509Name(data))); - derOutStream.close(); - return outStream.toByteArray(); - } - - /** - * Returns the given name converted to upper case and all multi spaces squezed - * to one space. - **/ - static String trimX509Name(String name) - { - String data = Strings.toUpperCase(name.trim()); - int pos; - while ((pos = data.indexOf(" ")) >= 0) - { - data = data.substring(0, pos) + data.substring(pos + 1); - } - while ((pos = data.indexOf(" =")) >= 0) - { - data = data.substring(0, pos) + data.substring(pos + 1); - } - while ((pos = data.indexOf("= ")) >= 0) - { - data = data.substring(0, pos + 1) + data.substring(pos + 2); - } - return data; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/Certificate.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/Certificate.java deleted file mode 100644 index 201e209a3..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/Certificate.java +++ /dev/null @@ -1,80 +0,0 @@ - -package java.security.cert; - -import java.security.InvalidKeyException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.PublicKey; -import java.security.SignatureException; - -public abstract class Certificate extends Object -{ - private String type; - - protected Certificate(String type) - { - this.type = type; - } - - public boolean equals(Object other) - { - if ( !(other instanceof Certificate) ) - return false; - - if ( other == this ) - return true; - - try - { - byte[] enc1 = getEncoded(); - byte[] enc2 = ((Certificate)other).getEncoded(); - - return MessageDigest.isEqual(enc1, enc2); - } - catch (CertificateEncodingException e) - { - return false; - } - } - - public final String getType() - { - return type; - } - - // XXX - public int hashCode() - { - try - { - byte[] enc1 = getEncoded(); - int hc = 0; - for (int i = 0; i < enc1.length; i++) - { - hc += enc1[i]; - } - - return hc; - } - catch (CertificateEncodingException e) - { - return 0; - } - } - - public abstract byte[] getEncoded() - throws CertificateEncodingException; - - public abstract PublicKey getPublicKey(); - - public abstract String toString(); - - public abstract void verify(PublicKey key) - throws CertificateException, NoSuchAlgorithmException, - InvalidKeyException, NoSuchProviderException, SignatureException; - - public abstract void verify(PublicKey key, String sigProvider) - throws CertificateException, NoSuchAlgorithmException, - InvalidKeyException, NoSuchProviderException, SignatureException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateEncodingException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateEncodingException.java deleted file mode 100644 index 47545a5c0..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateEncodingException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security.cert; - -public class CertificateEncodingException extends CertificateException -{ - public CertificateEncodingException() - { - } - - public CertificateEncodingException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateException.java deleted file mode 100644 index 644c6249f..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateException.java +++ /dev/null @@ -1,16 +0,0 @@ - -package java.security.cert; - -import java.security.GeneralSecurityException; - -public class CertificateException extends GeneralSecurityException -{ - public CertificateException() - { - } - - public CertificateException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateExpiredException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateExpiredException.java deleted file mode 100644 index 1a9062aa2..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateExpiredException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security.cert; - -public class CertificateExpiredException extends CertificateException -{ - public CertificateExpiredException() - { - } - - public CertificateExpiredException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactory.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactory.java deleted file mode 100644 index e86cd3a03..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactory.java +++ /dev/null @@ -1,183 +0,0 @@ - -package java.security.cert; - -import java.io.InputStream; -import java.security.NoSuchProviderException; -import java.security.Provider; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -/** - * Uses {@link CertUtil CertUtil} to actualiy load the SPI classes. - * - * @see CertUtil - **/ -public class CertificateFactory -{ - private CertificateFactorySpi certFacSpi; - private Provider provider; - private String type; - - protected CertificateFactory( - CertificateFactorySpi certFacSpi, - Provider provider, - String type) - { - this.certFacSpi = certFacSpi; - this.provider = provider; - this.type = type; - } - - public final CRL generateCRL(InputStream inStream) - throws CRLException - { - return certFacSpi.engineGenerateCRL(inStream); - } - - public final Collection generateCRLs(InputStream inStream) - throws CRLException - { - return certFacSpi.engineGenerateCRLs(inStream); - } - - public final Certificate generateCertificate(InputStream inStream) - throws CertificateException - { - return certFacSpi.engineGenerateCertificate(inStream); - } - - public final /*Sk13 Vector*/ Collection generateCertificates(InputStream inStream) - throws CertificateException - { - return certFacSpi.engineGenerateCertificates(inStream); - } - - /** - * Returns an iteration of the CertPath encodings supported - * by this certificate factory, with the default encoding first. See - * Appendix A in the - * Java Certification Path API Programmer's Guide for information about - * standard encoding names and their formats.
    - *
    - * Attempts to modify the returned Iterator via its - * remove method result in an - * UnsupportedOperationException. - * - * @return an Iterator over the names of the supported - * CertPath encodings (as Strings) - */ - public final Iterator getCertPathEncodings() - { - return certFacSpi.engineGetCertPathEncodings(); - } - - /** - * Generates a CertPath object and initializes it with - * the data read from the InputStream inStream. The data - * is assumed to be in the default encoding. The name of the default - * encoding is the first element of the Iterator returned by - * the {@link #getCertPathEncodings getCertPathEncodings} method. - * - * @param inStream an InputStream containing the data - * - * @return a CertPath initialized with the data from the - * InputStream - * - * @exception CertificateException if an exception occurs while decoding - */ - public final CertPath generateCertPath(InputStream inStream) - throws CertificateException - { - return certFacSpi.engineGenerateCertPath(inStream); - } - - /** - * Generates a CertPath object and initializes it with - * the data read from the InputStream inStream. The data - * is assumed to be in the specified encoding. See Appendix A in the - * - * Java Certification Path API Programmer's Guide - * for information about standard encoding names and their formats. - * - * @param inStream an InputStream containing the data - * @param encoding the encoding used for the data - * - * @return a CertPath initialized with the data from the - * InputStream - * - * @exception CertificateException if an exception occurs while decoding or - * the encoding requested is not supported - */ - public final CertPath generateCertPath(InputStream inStream, String encoding) - throws CertificateException - { - return certFacSpi.engineGenerateCertPath(inStream, encoding); - } - - /** - * Generates a CertPath object and initializes it with - * a List of Certificates.
    - *
    - * The certificates supplied must be of a type supported by the - * CertificateFactory. They will be copied out of the supplied - * List object. - * - * @param certificates a List of Certificates - * - * @return a CertPath initialized with the supplied list of - * certificates - * - * @exception CertificateException if an exception occurs - */ - public final CertPath generateCertPath(List certificates) - throws CertificateException - { - return certFacSpi.engineGenerateCertPath( certificates ); - } - - public static final CertificateFactory getInstance(String type) - throws CertificateException - { - try - { - CertUtil.Implementation imp = CertUtil.getImplementation("CertificateFactory", type, (String)null); - - if (imp != null) - { - return new CertificateFactory((CertificateFactorySpi)imp.getEngine(), imp.getProvider(), type); - } - - throw new CertificateException("can't find type " + type); - } - catch (NoSuchProviderException e) - { - throw new CertificateException(type + " not found"); - } - } - - public static final CertificateFactory getInstance( - String type, - String provider) - throws CertificateException, NoSuchProviderException - { - CertUtil.Implementation imp = CertUtil.getImplementation("CertificateFactory", type, provider); - - if (imp != null) - { - return new CertificateFactory((CertificateFactorySpi)imp.getEngine(), imp.getProvider(), type); - } - - throw new CertificateException("can't find type " + type); - } - - public final Provider getProvider() - { - return provider; - } - - public final String getType() - { - return type; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactorySpi.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactorySpi.java deleted file mode 100644 index 8cc06fc2e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateFactorySpi.java +++ /dev/null @@ -1,111 +0,0 @@ - -package java.security.cert; - -import java.io.InputStream; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -public abstract class CertificateFactorySpi -{ - public CertificateFactorySpi() - { - } - - public abstract CRL engineGenerateCRL(InputStream inStream) - throws CRLException; - - public abstract Collection engineGenerateCRLs(InputStream inStream) - throws CRLException; - - public abstract Certificate engineGenerateCertificate(InputStream inStream) - throws CertificateException; - - public abstract /*SK13 Vector*/ Collection engineGenerateCertificates(InputStream inStream) - throws CertificateException; - - /** - * Returns an iteration of the CertPath encodings supported - * by this certificate factory, with the default encoding first. See - * Appendix A in the - * Java Certification Path API Programmer's Guide - * for information about standard encoding names.
    - *
    - * Attempts to modify the returned Iterator via its - * remove method result in an - * UnsupportedOperationException.
    - *
    - * This method was added to version 1.4 of the Java 2 Platform - * Standard Edition. In order to maintain backwards compatibility with - * existing service providers, this method cannot be abstract - * and by default throws an UnsupportedOperationException. - * - * @return an Iterator over the names of the supported - * CertPath encodings (as Strings) - * - * @exception UnsupportedOperationException if the method is not supported - */ - public abstract Iterator engineGetCertPathEncodings(); - - /** - * Generates a CertPath object and initializes it with - * the data read from the InputStream inStream. The data - * is assumed to be in the default encoding. - * - * @param inStream an InputStream containing the data - * - * @return a CertPath initialized with the data from the - * InputStream - * - * @exception CertificateException if an exception occurs while decoding - */ - public abstract CertPath engineGenerateCertPath(InputStream inStream) - throws CertificateException; - - /** - * Generates a CertPath object and initializes it with - * the data read from the InputStream inStream. The data - * is assumed to be in the specified encoding.
    - *
    - * This method was added to version 1.4 of the Java 2 Platform - * Standard Edition. In order to maintain backwards compatibility with - * existing service providers, this method cannot be abstract - * and by default throws an UnsupportedOperationException. - * - * @param inStream an InputStream containing the data - * @param encoding the encoding used for the data - * - * @return a CertPath initialized with the data from the - * InputStream - * - * @exception CertificateException if an exception occurs while decoding or - * the encoding requested is not supported - * @exception UnsupportedOperationException if the method is not supported - */ - public abstract CertPath engineGenerateCertPath(InputStream inStream, String encoding) - throws CertificateException; - - /** - * Generates a CertPath object and initializes it with - * a List of Certificates.
    - *
    - * The certificates supplied must be of a type supported by the - * CertificateFactory. They will be copied out of the supplied - * List object.
    - *
    - * This method was added to version 1.4 of the Java 2 Platform - * Standard Edition. In order to maintain backwards compatibility with - * existing service providers, this method cannot be abstract - * and by default throws an UnsupportedOperationException. - * - * @param certificates a List of Certificates - * - * @return a CertPath initialized with the supplied list of - * certificates - * - * @exception CertificateException if an exception occurs - * @exception UnsupportedOperationException if the method is not supported - */ - public abstract CertPath engineGenerateCertPath(List certificates) - throws CertificateException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateNotYetValidException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateNotYetValidException.java deleted file mode 100644 index ec8d46a3e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateNotYetValidException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security.cert; - -public class CertificateNotYetValidException extends CertificateException -{ - public CertificateNotYetValidException() - { - } - - public CertificateNotYetValidException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateParsingException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateParsingException.java deleted file mode 100644 index a9f18aae0..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CertificateParsingException.java +++ /dev/null @@ -1,14 +0,0 @@ - -package java.security.cert; - -public class CertificateParsingException extends CertificateException -{ - public CertificateParsingException() - { - } - - public CertificateParsingException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CollectionCertStoreParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CollectionCertStoreParameters.java deleted file mode 100644 index 7c31e7b51..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/CollectionCertStoreParameters.java +++ /dev/null @@ -1,117 +0,0 @@ -package java.security.cert; - -import java.util.ArrayList; -import java.util.Collection; - -/** - * Parameters used as input for the Collection CertStore - * algorithm.
    - *
    - * This class is used to provide necessary configuration parameters - * to implementations of the Collection CertStore - * algorithm. The only parameter included in this class is the - * Collection from which the CertStore will - * retrieve certificates and CRLs.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see java.util.Collection - * @see CertStore - **/ -public class CollectionCertStoreParameters implements CertStoreParameters -{ - private Collection collection; - - /** - * Creates an instance of CollectionCertStoreParameters - * which will allow certificates and CRLs to be retrieved from the - * specified Collection. If the specified - * Collection contains an object that is not a - * Certificate or CRL, that object will be - * ignored by the Collection CertStore.
    - *
    - * The Collection is not copied. Instead, a - * reference is used. This allows the caller to subsequently add or - * remove Certificates or CRLs from the - * Collection, thus changing the set of - * Certificates or CRLs available to the - * Collection CertStore. The Collection CertStore - * will not modify the contents of the Collection.
    - *
    - * If the Collection will be modified by one thread while - * another thread is calling a method of a Collection CertStore - * that has been initialized with this Collection, the - * Collection must have fail-fast iterators. - * - * @param collection a Collection of - * Certificates and CRLs - * - * @exception NullPointerException if collection is - * null - */ - public CollectionCertStoreParameters(Collection collection) - { - if ( collection == null ) - throw new NullPointerException("collection must be non-null"); - this.collection = collection; - } - - /** - * Creates an instance of CollectionCertStoreParameters with - * the an empty Collection. - */ - public CollectionCertStoreParameters() - { - collection = new ArrayList(); - } - - /** - * Returns the Collection from which Certificates - * and CRLs are retrieved. This is not a copy of the - * Collection, it is a reference. This allows the caller to - * subsequently add or remove Certificates or - * CRLs from the Collection. - * - * @return the Collection (never null) - */ - public Collection getCollection() - { - return collection; - } - - /** - * Returns a copy of this object. Note that only a reference to the - * Collection is copied, and not the contents. - * - * @return the copy - */ - public Object clone() - { - try { - return super.clone(); - } catch (CloneNotSupportedException e) { - /* Cannot happen */ - throw new InternalError(e.toString()); - } - } - - /** - * Returns a formatted string describing the parameters. - * - * @return a formatted string describing the parameters - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append("CollectionCertStoreParameters: [\n collections:\n"); - s.append( getCollection()); - s.append("\n]" ); - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/LDAPCertStoreParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/LDAPCertStoreParameters.java deleted file mode 100644 index 2e4669975..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/LDAPCertStoreParameters.java +++ /dev/null @@ -1,130 +0,0 @@ -package java.security.cert; - -/** - * Parameters used as input for the LDAP CertStore algorithm.
    - *
    - * This class is used to provide necessary configuration parameters (server - * name and port number) to implementations of the LDAP CertStore - * algorithm.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertStore - **/ -public class LDAPCertStoreParameters implements CertStoreParameters -{ - private static final int LDAP_DEFAULT_PORT = 389; - - /** - * the port number of the LDAP server - */ - private String serverName; - - /** - * the DNS name of the LDAP server - */ - private int port; - - /** - * Creates an instance of LDAPCertStoreParameters with the - * default parameter values (server name "localhost", port 389). - */ - public LDAPCertStoreParameters() - { - this("localhost", LDAP_DEFAULT_PORT); - } - - /** - * Creates an instance of LDAPCertStoreParameters with the - * specified server name and a default port of 389. - * - * @param serverName the DNS name of the LDAP server - * - * @exception NullPointerException if serverName is - * null - */ - public LDAPCertStoreParameters(String serverName) - { - this(serverName, LDAP_DEFAULT_PORT); - } - - /** - * Creates an instance of LDAPCertStoreParameters with the - * specified parameter values. - * - * @param serverName the DNS name of the LDAP server - * @param port the port number of the LDAP server - * - * @exception NullPointerException if serverName is - * null - */ - public LDAPCertStoreParameters(String serverName, int port) - { - if (serverName == null) - throw new NullPointerException("serverName must be non-null"); - this.serverName = serverName; - this.port = port; - } - - /** - * Returns the DNS name of the LDAP server. - * - * @return the name (not null) - */ - public String getServerName() - { - return serverName; - } - - /** - * Returns the port number of the LDAP server. - * - * @return the port number - */ - public int getPort() - { - return port; - } - - /** - * Returns a copy of this object. Changes to the copy will not affect - * the original and vice versa.
    - *
    - * Note: this method currently performs a shallow copy of the object - * (simply calls Object.clone()). This may be changed in a - * future revision to perform a deep copy if new parameters are added - * that should not be shared. - * - * @return the copy - */ - public Object clone() - { - try { - return super.clone(); - } catch (CloneNotSupportedException e) { - /* Cannot happen */ - throw new InternalError(e.toString()); - } - } - - /** - * Returns a formatted string describing the parameters. - * - * @return a formatted string describing the parameters - */ - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: ").append(serverName).append('\n'); - sb.append(" port: ").append(port).append('\n'); - sb.append(']'); - return sb.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXBuilderParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXBuilderParameters.java deleted file mode 100644 index b4f7aceb9..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXBuilderParameters.java +++ /dev/null @@ -1,179 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidParameterException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.util.Set; - -/** - * Parameters used as input for the PKIX CertPathBuilder - * algorithm.
    - *
    - * A PKIX CertPathBuilder uses these parameters to {@link - * CertPathBuilder#build build} a CertPath which has been - * validated according to the PKIX certification path validation algorithm.
    - *
    - * To instantiate a PKIXBuilderParameters object, an - * application must specify one or more most-trusted CAs as defined by - * the PKIX certification path validation algorithm. The most-trusted CA - * can be specified using one of two constructors. An application - * can call {@link #PKIXBuilderParameters(Set, CertSelector) - * PKIXBuilderParameters(Set, CertSelector)}, specifying a - * Set of TrustAnchor objects, each of which - * identifies a most-trusted CA. Alternatively, an application can call - * {@link #PKIXBuilderParameters(KeyStore, CertSelector) - * PKIXBuilderParameters(KeyStore, CertSelector)}, specifying a - * KeyStore instance containing trusted certificate entries, each - * of which will be considered as a most-trusted CA.
    - *
    - * In addition, an application must specify constraints on the target - * certificate that the CertPathBuilder will attempt - * to build a path to. The constraints are specified as a - * CertSelector object. These constraints should provide the - * CertPathBuilder with enough search criteria to find the target - * certificate. Minimal criteria for an X509Certificate usually - * include the subject name and/or one or more subject alternative names. - * If enough criteria is not specified, the CertPathBuilder - * may throw a CertPathBuilderException.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathBuilder - **/ -public class PKIXBuilderParameters extends PKIXParameters -{ - private int maxPathLength = 5; - - /** - * Creates an instance of PKIXBuilderParameters with - * the specified Set of most-trusted CAs. - * Each element of the set is a {@link TrustAnchor TrustAnchor}.
    - *
    - * Note that the Set is copied to protect against - * subsequent modifications. - * - * @param trustAnchors a Set of TrustAnchors - * @param targetConstraints a CertSelector specifying the - * constraints on the target certificate - * - * @exception InvalidAlgorithmParameterException if trustAnchors - * is empty (trustAnchors.isEmpty() == true) - * @exception NullPointerException if trustAnchors is - * null - * @exception ClassCastException if any of the elements of - * trustAnchors are not of type - * java.security.cert.TrustAnchor - */ - public PKIXBuilderParameters( - Set trustAnchors, - CertSelector targetConstraints) - throws InvalidAlgorithmParameterException - { - super( trustAnchors ); - setTargetCertConstraints( targetConstraints ); - } - - /** - * Creates an instance of PKIXBuilderParameters that - * populates the set of most-trusted CAs from the trusted - * certificate entries contained in the specified KeyStore. - * Only keystore entries that contain trusted X509Certificates - * are considered; all other certificate types are ignored. - * - * @param keystore a KeyStore from which the set of - * most-trusted CAs will be populated - * @param targetConstraints a CertSelector specifying the - * constraints on the target certificate - * - * @exception KeyStoreException if keystore has not been - * initialized - * @exception InvalidAlgorithmParameterException if keystore does - * not contain at least one trusted certificate entry - * @exception NullPointerException if keystore is - * null - */ - public PKIXBuilderParameters(KeyStore keystore, - CertSelector targetConstraints) - throws KeyStoreException, - InvalidAlgorithmParameterException - { - super( keystore ); - setTargetCertConstraints( targetConstraints ); - } - - /** - * Sets the value of the maximum number of non-self-issued intermediate - * certificates that may exist in a certification path. A certificate - * is self-issued if the DNs that appear in the subject and issuer - * fields are identical and are not empty. Note that the last certificate - * in a certification path is not an intermediate certificate, and is not - * included in this limit. Usually the last certificate is an end entity - * certificate, but it can be a CA certificate. A PKIX - * CertPathBuilder instance must not build - * paths longer than the length specified.
    - *
    - * A value of 0 implies that the path can only contain - * a single certificate. A value of -1 implies that the - * path length is unconstrained (i.e. there is no maximum). - * The default maximum path length, if not specified, is 5. - * Setting a value less than -1 will cause an exception to be thrown.
    - *
    - * If any of the CA certificates contain the - * BasicConstraintsExtension, the value of the - * pathLenConstraint field of the extension overrides - * the maximum path length parameter whenever the result is a - * certification path of smaller length. - * - * @param maxPathLength the maximum number of non-self-issued intermediate - * certificates that may exist in a certification path - * - * @exception InvalidParameterException if maxPathLength is set - * to a value less than -1 - * - * @see #getMaxPathLength - */ - public void setMaxPathLength(int maxPathLength) - { - if ( maxPathLength < -1 ) - throw new InvalidParameterException("the maximum path length parameter can not be less than -1"); - this.maxPathLength = maxPathLength; - } - - /** - * Returns the value of the maximum number of intermediate non-self-issued - * certificates that may exist in a certification path. See - * the {@link #setMaxPathLength} method for more details. - * - * @return the maximum number of non-self-issued intermediate certificates - * that may exist in a certification path, or -1 if there is no limit - * - * @see #setMaxPathLength - */ - public int getMaxPathLength() - { - return maxPathLength; - } - - /** - * Returns a formatted string describing the parameters. - * - * @return a formatted string describing the parameters - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append( "PKIXBuilderParameters [\n" ); - s.append( super.toString() ); - s.append( " Maximum Path Length: " ); - s.append( getMaxPathLength() ); - s.append( "\n]\n" ); - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathBuilderResult.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathBuilderResult.java deleted file mode 100644 index 2ac791826..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathBuilderResult.java +++ /dev/null @@ -1,93 +0,0 @@ -package java.security.cert; - -import java.security.PublicKey; - -/** - * This class represents the successful result of the PKIX certification - * path builder algorithm. All certification paths that are built and - * returned using this algorithm are also validated according to the PKIX - * certification path validation algorithm.
    - *
    - * Instances of PKIXCertPathBuilderResult are returned by - * the build method of CertPathBuilder - * objects implementing the PKIX algorithm.
    - *
    - * All PKIXCertPathBuilderResult objects contain the - * certification path constructed by the build algorithm, the - * valid policy tree and subject public key resulting from the build - * algorithm, and a TrustAnchor describing the certification - * authority (CA) that served as a trust anchor for the certification path.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathBuilderResult - * - **/ -public class PKIXCertPathBuilderResult extends PKIXCertPathValidatorResult - implements CertPathBuilderResult -{ - private CertPath certPath; - - /** - * Creates an instance of PKIXCertPathBuilderResult - * containing the specified parameters. - * - * @param certPath the validated CertPath - * @param trustAnchor a TrustAnchor describing the CA that - * served as a trust anchor for the certification path - * @param policyTree the immutable valid policy tree, or null - * if there are no valid policies - * @param subjectPublicKey the public key of the subject - * - * @exception NullPointerException if the certPath, - * trustAnchor or subjectPublicKey parameters - * are null - */ - public PKIXCertPathBuilderResult(CertPath certPath, TrustAnchor trustAnchor, - PolicyNode policyTree, PublicKey subjectPublicKey) - { - super(trustAnchor, policyTree, subjectPublicKey); - if ( certPath == null ) - throw new NullPointerException( "certPath must be non-null" ); - this.certPath = certPath; - } - - /** - * Returns the built and validated certification path. The - * CertPath object does not include the trust anchor. - * Instead, use the {@link #getTrustAnchor() getTrustAnchor()} method to - * obtain the TrustAnchor that served as the trust anchor - * for the certification path. - * - * @return the built and validated CertPath (never - * null) - */ - public CertPath getCertPath() - { - return certPath; - } - - /** - * Return a printable representation of this - * PKIXCertPathBuilderResult. - * - * @return a String describing the contents of this - * PKIXCertPathBuilderResult - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append( "PKIXCertPathBuilderResult: [\n" ); - s.append( " Certification Path: ").append(getCertPath()).append('\n' ); - s.append( " Trust Anchor: ").append(getTrustAnchor()).append('\n' ); - s.append( " Policy Tree: ").append(getPolicyTree()).append('\n' ); - s.append( " Subject Public Key: ").append(getPublicKey()).append("\n]"); - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathChecker.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathChecker.java deleted file mode 100644 index 14dec8060..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathChecker.java +++ /dev/null @@ -1,155 +0,0 @@ -package java.security.cert; - -import java.util.Collection; -import java.util.Set; - -/** - * An abstract class that performs one or more checks on an - * X509Certificate.
    - *
    - * A concrete implementation of the PKIXCertPathChecker class - * can be created to extend the PKIX certification path validation algorithm. - * For example, an implementation may check for and process a critical private - * extension of each certificate in a certification path.
    - *
    - * Instances of PKIXCertPathChecker are passed as parameters - * using the {@link PKIXParameters#setCertPathCheckers setCertPathCheckers} - * or {@link PKIXParameters#addCertPathChecker addCertPathChecker} methods - * of the PKIXParameters and PKIXBuilderParameters - * class. Each of the PKIXCertPathCheckers {@link #check check} - * methods will be called, in turn, for each certificate processed by a PKIX - * CertPathValidator or CertPathBuilder - * implementation.
    - *
    - * A PKIXCertPathChecker may be called multiple times on - * successive certificates in a certification path. Concrete subclasses - * are expected to maintain any internal state that may be necessary to - * check successive certificates. The {@link #init init} method is used - * to initialize the internal state of the checker so that the certificates - * of a new certification path may be checked. A stateful implementation - * must override the {@link #clone clone} method if necessary in - * order to allow a PKIX CertPathBuilder to efficiently - * backtrack and try other paths. In these situations, the - * CertPathBuilder is able to restore prior path validation - * states by restoring the cloned PKIXCertPathCheckers.
    - *
    - * The order in which the certificates are presented to the - * PKIXCertPathChecker may be either in the forward direction - * (from target to most-trusted CA) or in the reverse direction (from - * most-trusted CA to target). A PKIXCertPathChecker implementation - * must support reverse checking (the ability to perform its checks when - * it is presented with certificates in the reverse direction) and may - * support forward checking (the ability to perform its checks when it is - * presented with certificates in the forward direction). The - * {@link #isForwardCheckingSupported isForwardCheckingSupported} method - * indicates whether forward checking is supported.
    - *
    - * Additional input parameters required for executing the check may be - * specified through constructors of concrete implementations of this class.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see PKIXParameters - * @see PKIXBuilderParameters - **/ -public abstract class PKIXCertPathChecker implements Cloneable -{ - - /** - * Default constructor. - */ - protected PKIXCertPathChecker() {} - - /** - * Initializes the internal state of this PKIXCertPathChecker. - *

    - * The forward flag specifies the order that - * certificates will be passed to the {@link #check check} method - * (forward or reverse). A PKIXCertPathChecker must - * support reverse checking and may support forward checking. - * - * @param forward the order that certificates are presented to - * the check method. If true, certificates - * are presented from target to most-trusted CA (forward); if - * false, from most-trusted CA to target (reverse). - * @exception CertPathValidatorException if this - * PKIXCertPathChecker is unable to check certificates in - * the specified order; it should never be thrown if the forward flag - * is false since reverse checking must be supported - */ - public abstract void init(boolean forward) - throws CertPathValidatorException; - - /** - * Indicates if forward checking is supported. Forward checking refers - * to the ability of the PKIXCertPathChecker to perform - * its checks when certificates are presented to the check - * method in the forward direction (from target to most-trusted CA). - * - * @return true if forward checking is supported, - * false otherwise - */ - public abstract boolean isForwardCheckingSupported(); - - /** - * Returns an immutable Set of X.509 certificate extensions - * that this PKIXCertPathChecker supports (i.e. recognizes, is - * able to process), or null if no extensions are supported. - *

    - * Each element of the set is a String representing the - * Object Identifier (OID) of the X.509 extension that is supported. - * The OID is represented by a set of nonnegative integers separated by - * periods. - *

    - * All X.509 certificate extensions that a PKIXCertPathChecker - * might possibly be able to process should be included in the set. - * - * @return an immutable Set of X.509 extension OIDs (in - * String format) supported by this - * PKIXCertPathChecker, or null if no - * extensions are supported - */ - public abstract Set getSupportedExtensions(); - - /** - * Performs the check(s) on the specified certificate using its internal - * state and removes any critical extensions that it processes from the - * specified collection of OID strings that represent the unresolved - * critical extensions. The certificates are presented in the order - * specified by the init method. - * - * @param cert the Certificate to be checked - * @param unresolvedCritExts a Collection of OID strings - * representing the current set of unresolved critical extensions - * @exception CertPathValidatorException if the specified certificate does - * not pass the check - */ - public abstract void check( - Certificate cert, - Collection unresolvedCritExts) - throws CertPathValidatorException; - - /** - * Returns a clone of this object. Calls the Object.clone() - * method. - * All subclasses which maintain state must support and - * override this method, if necessary. - * - * @return a copy of this PKIXCertPathChecker - */ - public Object clone() - { - try { - return super.clone(); - } catch ( CloneNotSupportedException ex ) { - /* Cannot happen */ - throw new InternalError( ex.toString() ); - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathValidatorResult.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathValidatorResult.java deleted file mode 100644 index 8ffa25555..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXCertPathValidatorResult.java +++ /dev/null @@ -1,136 +0,0 @@ -package java.security.cert; - -import java.security.PublicKey; - -/** - * This class represents the successful result of the PKIX certification - * path validation algorithm.
    - *
    - * Instances of PKIXCertPathValidatorResult are returned by the - * {@link CertPathValidator#validate validate} method of - * CertPathValidator objects implementing the PKIX algorithm.
    - *
    - * All PKIXCertPathValidatorResult objects contain the - * valid policy tree and subject public key resulting from the - * validation algorithm, as well as a TrustAnchor describing - * the certification authority (CA) that served as a trust anchor for the - * certification path.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathValidatorResult - **/ -public class PKIXCertPathValidatorResult implements CertPathValidatorResult -{ - private TrustAnchor trustAnchor; - private PolicyNode policyTree; - private PublicKey subjectPublicKey; - - /** - * Creates an instance of PKIXCertPathValidatorResult - * containing the specified parameters. - * - * @param trustAnchor a TrustAnchor describing the CA that - * served as a trust anchor for the certification path - * @param policyTree the immutable valid policy tree, or null - * if there are no valid policies - * @param subjectPublicKey the public key of the subject - * - * @exception NullPointerException if the subjectPublicKey or - * trustAnchor parameters are null - */ - public PKIXCertPathValidatorResult(TrustAnchor trustAnchor, - PolicyNode policyTree, - PublicKey subjectPublicKey) - { - if ( subjectPublicKey == null ) - throw new NullPointerException( "subjectPublicKey must be non-null" ); - if ( trustAnchor == null ) - throw new NullPointerException( "trustAnchor must be non-null" ); - - this.trustAnchor = trustAnchor; - this.policyTree = policyTree; - this.subjectPublicKey = subjectPublicKey; - } - - /** - * Returns the TrustAnchor describing the CA that served - * as a trust anchor for the certification path. - * - * @return the TrustAnchor (never null) - */ - public TrustAnchor getTrustAnchor() - { - return trustAnchor; - } - - /** - * Returns the root node of the valid policy tree resulting from the - * PKIX certification path validation algorithm. The - * PolicyNode object that is returned and any objects that - * it returns through public methods are immutable.
    - *
    - * Most applications will not need to examine the valid policy tree. - * They can achieve their policy processing goals by setting the - * policy-related parameters in PKIXParameters. However, more - * sophisticated applications, especially those that process policy - * qualifiers, may need to traverse the valid policy tree using the - * {@link PolicyNode#getParent PolicyNode.getParent} and - * {@link PolicyNode#getChildren PolicyNode.getChildren} methods. - * - * @return the root node of the valid policy tree, or null - * if there are no valid policies - */ - public PolicyNode getPolicyTree() - { - return policyTree; - } - - /** - * Returns the public key of the subject (target) of the certification - * path, including any inherited public key parameters if applicable. - * - * @return the public key of the subject (never null) - */ - public PublicKey getPublicKey() - { - return subjectPublicKey; - } - - /** - * Returns a copy of this object. - * - * @return the copy - */ - public Object clone() - { - try { - return super.clone(); - } catch ( CloneNotSupportedException ex ) { - throw new InternalError( ex.toString() ); - } - } - - /** - * Return a printable representation of this - * PKIXCertPathValidatorResult. - * - * @return a String describing the contents of this - * PKIXCertPathValidatorResult - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append( "PKIXCertPathValidatorResult: [ \n" ); - s.append( " Trust Anchor: ").append(getTrustAnchor()).append('\n' ); - s.append( " Policy Tree: ").append(getPolicyTree()).append('\n' ); - s.append( " Subject Public Key: ").append(getPublicKey()).append("\n]" ); - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXParameters.java deleted file mode 100644 index 3c55d7e49..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PKIXParameters.java +++ /dev/null @@ -1,770 +0,0 @@ -package java.security.cert; - -import java.security.InvalidAlgorithmParameterException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -/** - * Parameters used as input for the PKIX CertPathValidator algorithm.
    - *
    - * A PKIX CertPathValidator uses these parameters to validate a - * CertPath according to the PKIX certification path validation - * algorithm.
    - *
    - * To instantiate a PKIXParameters object, an application must specify - * one or more most-trusted CAs as defined by the PKIX certification - * path validation algorithm. The most-trusted CAs can be specified - * using one of two constructors. An application can call - * {@link #PKIXParameters(Set)}, specifying a Set of TrustAnchor objects, each - * of which identify a most-trusted CA. Alternatively, an application - * can call {@link #PKIXParameters(KeyStore)}, specifying a KeyStore instance - * containing trusted certificate entries, each of which will be - * considered as a most-trusted CA.
    - *
    - * Once a PKIXParameters object has been created, other parameters can - * be specified (by calling {@link #setInitialPolicies} or {@link #setDate}, for - * instance) and then the PKIXParameters is passed along with the - * CertPath to be validated to {@link CertPathValidator#validate}.
    - *
    - * Any parameter that is not set (or is set to null) will be set to the - * default value for that parameter. The default value for the date - * parameter is null, which indicates the current time when the path is - * validated. The default for the remaining parameters is the least - * constrained.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are - * not thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize. - * - * @see CertPathValidator - **/ -public class PKIXParameters implements CertPathParameters { - private Set trustAnchors; - private Set initialPolicies = new HashSet(); - private List certStores = new ArrayList(); - private CertSelector certSelector; - private List certPathCheckers = new ArrayList(); - private boolean revocationEnabled = true; - private boolean explicitPolicyRequired = false; - private boolean policyMappingInhibited = false; - private boolean anyPolicyInhibited = false; - private boolean policyQualifiersRejected = true; - private Date date; - private String sigProvider; - - /** - * Creates an instance of PKIXParameters with the specified - * Set of most-trusted CAs. Each element of the set is a - * TrustAnchor.
    - *
    - * Note that the Set is copied to protect against subsequent - * modifications. - * - * @param trustAnchors a Set of TrustAnchors - * - * @exception InvalidAlgorithmParameterException if the - * specified Set is empty (trustAnchors.isEmpty() == true) - * @exception NullPointerException if the specified Set is null - * @exception ClassCastException if any of the elements in the - * Set are not of type - * java.security.cert.TrustAnchor - **/ - public PKIXParameters(Set trustAnchors) - throws InvalidAlgorithmParameterException - { - setTrustAnchors( trustAnchors ); - } - - /** - * Creates an instance of PKIXParameters that populates the - * set of most-trusted CAs from the trusted certificate - * entries contained in the specified KeyStore. Only keystore - * entries that contain trusted X509Certificates are - * considered; all other certificate types are ignored. - * - * @param keystore a KeyStore from which the set of - * most-trusted CAs will be populated - * - * @exception KeyStoreException if the keystore has not been - * initialized - * @exception InvalidAlgorithmParameterException if the keystore - * does not contain at least one trusted certificate entry - * @exception NullPointerException if the keystore is null - **/ - public PKIXParameters(KeyStore keystore) - throws KeyStoreException, - InvalidAlgorithmParameterException - { - if ( keystore == null ) - throw new NullPointerException( "the keystore parameter must be non-null" ); - - Set trustAnchors = new HashSet(); - String alias; - Certificate cert; - Enumeration enum = keystore.aliases(); - while ( enum.hasMoreElements() ) { - alias = (String)enum.nextElement(); - if ( keystore.isCertificateEntry( alias ) ) { - cert = keystore.getCertificate( alias ); - if ( cert instanceof X509Certificate ) - trustAnchors.add( new TrustAnchor( (X509Certificate)cert, null ) ); - } - } - setTrustAnchors( trustAnchors ); - } - - /** - * Returns an immutable Set of the most-trusted CAs. - * - * @return an immutable Set of - * TrustAnchors (never null) - * - * @see #setTrustAnchors - **/ - public Set getTrustAnchors() - { - return Collections.unmodifiableSet(trustAnchors); - } - - /** - * Sets the Set of most-trusted CAs.
    - *
    - * Note that the Set is copied to protect against subsequent - * modifications.
    - *
    - * @param trustAnchors a Set of TrustAnchors - * - * @exception InvalidAlgorithmParameterException if the specified Set is empty (trustAnchors.isEmpty() == true) - * @exception NullPointerException if the specified Set is null - * @exception ClassCastException if any of the elements in - * the set are not of type java.security.cert.TrustAnchor - * - * @see #getTrustAnchors - **/ - public void setTrustAnchors(Set trustAnchors) - throws InvalidAlgorithmParameterException - { - if ( trustAnchors == null ) - throw new NullPointerException("the trustAnchors parameter must be non-null"); - if ( trustAnchors.isEmpty() ) - throw new InvalidAlgorithmParameterException("the trustAnchors parameter must be non-empty"); - - Iterator iter = trustAnchors.iterator(); - TrustAnchor obj; - this.trustAnchors = new HashSet(); - while( iter.hasNext() ) { - obj = (TrustAnchor)iter.next(); - if ( obj != null ) { - this .trustAnchors.add( obj ); - } - } - } - - /** - * Returns an immutable Set of initial policy identifiers (OID - * strings), indicating that any one of these policies would - * be acceptable to the certificate user for the purposes of - * certification path processing. The default return value is - * an empty Set, which is interpreted as meaning that any - * policy would be acceptable. - * - * @return an immutable Set of initial policy - * OIDs in String format, or an empty Set (implying any policy - * is acceptable). Never returns null. - * - * @see #setInitialPolicies(java.util.Set) - **/ - public Set getInitialPolicies() - { - Set returnSet = initialPolicies; - if ( initialPolicies == null ) - returnSet = new HashSet(); - - return Collections.unmodifiableSet( returnSet ); - } - - /** - * Sets the Set of initial policy identifiers (OID strings), - * indicating that any one of these policies would be - * acceptable to the certificate user for the purposes of - * certification path processing. By default, any policy is - * acceptable (i.e. all policies), so a user that wants to - * allow any policy as acceptable does not need to call this - * method, or can call it with an empty Set (or null).
    - *
    - * Note that the Set is copied to protect against subsequent - * modifications.
    - *
    - * @param initialPolicies a Set of initial policy OIDs in String format (or null) - * - * @exception ClassCastException if any of the elements in the - * set are not of type String - * - * @see #getInitialPolicies() - **/ - public void setInitialPolicies(Set initialPolicies) - { - if ( initialPolicies == null || initialPolicies.isEmpty() ) - { - this.initialPolicies = null; - } - else - { - Iterator iter = initialPolicies.iterator(); - this.initialPolicies = new HashSet(); - String obj; - while ( iter.hasNext() ) - { - obj = (String)iter.next(); - if ( obj != null ) { - this.initialPolicies.add( obj ); - } - } - } - } - - /** - * Sets the list of CertStores to be used in finding - * certificates and CRLs. May be null, in which case no - * CertStores will be used. The first CertStores in the list - * may be preferred to those that appear later.
    - *
    - * Note that the List is copied to protect against subsequent - * modifications.
    - *
    - * @param stores a List of CertStores (or null) - * - * @exception ClassCastException if any of the elements in the - * list are not of type java.security.cert.CertStore - * - * @see #getCertStores() - **/ - public void setCertStores(List stores) - { - certStores = new ArrayList(); - if ( stores != null && ! stores.isEmpty() ) - { - Iterator iter = stores.iterator(); - CertStore obj; - while ( iter.hasNext() ) - { - obj = (CertStore)iter.next(); - if ( obj != null ) - { - certStores.add( obj ); - } - } - } - } - - /** - * Adds a CertStore to the end of the list of CertStores used - * in finding certificates and CRLs. - * - * @param store the CertStore to add. If - * nullnull) - * - * @see #setCertStores(java.util.List) - **/ - public List getCertStores() - { - return Collections.unmodifiableList(certStores); - } - - /** - * Sets the RevocationEnabled flag. If this flag is true, the default - * revocation checking mechanism of the underlying PKIX service provider - * will be used. If this flag is false, the default revocation checking - * mechanism will be disabled (not used).
    - *
    - * When a PKIXParameters object is created, this flag is set - * to true. This setting reflects the most common strategy for checking - * revocation, since each service provider must support revocation - * checking to be PKIX compliant. Sophisticated applications should set - * this flag to false when it is not practical to use a PKIX service - * provider's default revocation checking mechanism or when an alternative - * revocation checking mechanism is to be substituted (by also calling the - * {@link #addCertPathChecker addCertPathChecker} or {@link - * #setCertPathCheckers setCertPathCheckers} methods). - * - * @param val the new value of the RevocationEnabled flag - **/ - public void setRevocationEnabled(boolean val) - { - revocationEnabled = val; - } - - /** - * Checks the RevocationEnabled flag. If this flag is true, - * the default revocation checking mechanism of the underlying - * PKIX service provider will be used. If this flag is false, - * the default revocation checking mechanism will be disabled - * (not used). See the setRevocationEnabled method for more - * details on setting the value of this flag. - * - * @return the current value of the RevocationEnabled flag - **/ - public boolean isRevocationEnabled() - { - return revocationEnabled; - } - - /** - * Sets the ExplicitPolicyRequired flag. If this flag is true, - * an acceptable policy needs to be explicitly identified in - * every certificate. By default, the ExplicitPolicyRequired - * flag is false. - * - * @param val true if explicit policy is to be required, false - * otherwise - **/ - public void setExplicitPolicyRequired(boolean val) - { - explicitPolicyRequired = val; - } - - /** - * Checks if explicit policy is required. If this flag is - * true, an acceptable policy needs to be explicitly - * identified in every certificate. By default, the - * ExplicitPolicyRequired flag is false. - * - * @return true if explicit policy is required, false otherwise - **/ - public boolean isExplicitPolicyRequired() - { - return explicitPolicyRequired; - } - - /** - * Sets the PolicyMappingInhibited flag. If this flag is true, - * policy mapping is inhibited. By default, policy mapping is - * not inhibited (the flag is false). - * - * @param val true if policy mapping is to be inhibited, false otherwise - **/ - public void setPolicyMappingInhibited(boolean val) - { - policyMappingInhibited = val; - } - - /** - * Checks if policy mapping is inhibited. If this flag is - * true, policy mapping is inhibited. By default, policy - * mapping is not inhibited (the flag is false). - * - * @return true if policy mapping is inhibited, false otherwise - **/ - public boolean isPolicyMappingInhibited() - { - return policyMappingInhibited; - } - - /** - * Sets state to determine if the any policy OID should be - * processed if it is included in a certificate. By default, - * the any policy OID is not inhibited ({@link #isAnyPolicyInhibited()} - * returns false). - * - * @return val - true if the any policy OID is to be inhibited, false otherwise - **/ - public void setAnyPolicyInhibited(boolean val) - { - anyPolicyInhibited = val; - } - - /** - * Checks whether the any policy OID should be processed if it - * is included in a certificate. - * - * @return true if the any policy OID is inhibited, false otherwise - **/ - public boolean isAnyPolicyInhibited() - { - return anyPolicyInhibited; - } - - /** - * Sets the PolicyQualifiersRejected flag. If this flag is - * true, certificates that include policy qualifiers in a - * certificate policies extension that is marked critical are - * rejected. If the flag is false, certificates are not - * rejected on this basis.
    - *
    - * When a PKIXParameters object is created, this flag is set - * to true. This setting reflects the most common (and - * simplest) strategy for processing policy - * qualifiers. Applications that want to use a more - * sophisticated policy must set this flag to false.
    - *
    - * Note that the PKIX certification path validation algorithm - * specifies that any policy qualifier in a certificate - * policies extension that is marked critical must be - * processed and validated. Otherwise the certification path - * must be rejected. If the policyQualifiersRejected flag is - * set to false, it is up to the application to validate all - * policy qualifiers in this manner in order to be PKIX - * compliant. - * - * @param qualifiersRejected the new value of the PolicyQualifiersRejected flag - * - * @see #getPolicyQualifiersRejected() - * @see PolicyQualifierInfo - **/ - public void setPolicyQualifiersRejected(boolean qualifiersRejected) - { - policyQualifiersRejected = qualifiersRejected; - } - - /** - * Gets the PolicyQualifiersRejected flag. If this flag is - * true, certificates that include policy qualifiers in a - * certificate policies extension that is marked critical are - * rejected. If the flag is false, certificates are not - * rejected on this basis.
    - *
    - * When a PKIXParameters object is created, this flag is set to - * true. This setting reflects the most common (and simplest) - * strategy for processing policy qualifiers. Applications that - * want to use a more sophisticated policy must set this flag - * to false. - * - * @return the current value of the PolicyQualifiersRejected flag - * - * @see #setPolicyQualifiersRejected(boolean) - **/ - public boolean getPolicyQualifiersRejected() - { - return policyQualifiersRejected; - } - - /** - * Returns the time for which the validity of the - * certification path should be determined. If null, the - * current time is used.
    - *
    - * Note that the Date returned is copied to protect against - * subsequent modifications. - * - * @return the Date, or null if not set - * - * @see #setDate(java.util.Date) - **/ - public Date getDate() - { - if ( date == null ) - return null; - - return new Date( date.getTime() ); - } - - /** - * Sets the time for which the validity of the certification - * path should be determined. If null, the current time is - * used.
    - *
    - * Note that the Date supplied here is copied to protect - * against subsequent modifications. - * - * @param date the Date, or null for the current time - * - * @see #getDate() - **/ - public void setDate(Date date) - { - if ( date == null ) - this.date = null; - else - this.date = new Date( date.getTime() ); - } - - /** - * Sets a List of additional certification path checkers. If - * the specified List contains an object that is not a - * PKIXCertPathChecker, it is ignored.
    - *
    - * Each PKIXCertPathChecker specified implements additional - * checks on a certificate. Typically, these are checks to - * process and verify private extensions contained in - * certificates. Each PKIXCertPathChecker should be - * instantiated with any initialization parameters needed to - * execute the check.
    - *
    - * This method allows sophisticated applications to extend a - * PKIX CertPathValidator or CertPathBuilder. Each of the - * specified PKIXCertPathCheckers will be called, in turn, by - * a PKIX CertPathValidator or CertPathBuilder for each - * certificate processed or validated.
    - *
    - * Regardless of whether these additional PKIXCertPathCheckers - * are set, a PKIX CertPathValidator or CertPathBuilder must - * perform all of the required PKIX checks on each - * certificate. The one exception to this rule is if the - * RevocationEnabled flag is set to false (see the - * {@link #setRevocationEnabled(boolean) setRevocationEnabled} method).
    - *
    - * Note that the List supplied here is copied and each - * PKIXCertPathChecker in the list is cloned to protect against - * subsequent modifications. - * - * @param checkers a List of PKIXCertPathCheckers. May be - * null, in which case no additional checkers will be used. - * @exception ClassCastException if any of the elements in the - * list are not of type - * java.security.cert.PKIXCertPathChecker - * @see #getCertPathCheckers() - **/ - public void setCertPathCheckers(List checkers) - { - certPathCheckers = new ArrayList(); - if ( checkers == null ) - return; - Iterator iter = checkers.iterator(); - while ( iter.hasNext() ) - certPathCheckers.add( (PKIXCertPathChecker)((PKIXCertPathChecker)iter.next()).clone() ); - } - - /** - * Returns the List of certification path checkers. The - * returned List is immutable, and each PKIXCertPathChecker in - * the List is cloned to protect against subsequent - * modifications. - * - * @return an immutable List of PKIXCertPathCheckers (may be empty, but not null) - * - * @see #setCertPathCheckers(java.util.List) - **/ - public List getCertPathCheckers() - { - List checkers = new ArrayList(); - Iterator iter = certPathCheckers.iterator(); - while ( iter.hasNext() ) - { - checkers.add( (PKIXCertPathChecker)((PKIXCertPathChecker)iter.next()).clone() ); - } - return Collections.unmodifiableList(checkers); - } - - /** - * Adds a PKIXCertPathChecker to the list of certification - * path checkers. See the {@link #setCertPathCheckers} method for more - * details.
    - *
    - * Note that the PKIXCertPathChecker is cloned to protect - * against subsequent modifications. - * - * @param checker a PKIXCertPathChecker to add - * to the list of checks. If null, the checker is - * ignored (not added to list). - **/ - public void addCertPathChecker( PKIXCertPathChecker checker ) - { - if ( checker != null ) - { - certPathCheckers.add( checker.clone() ); - } - } - - /** - * Returns the signature provider's name, or null if not set. - * - * @return the signature provider's name (or null) - * - * @see #setSigProvider(java.lang.String) - **/ - public String getSigProvider() - { - return sigProvider; - } - - /** - * Sets the signature provider's name. The specified provider - * will be preferred when creating Signature objects. If null - * or not set, the first provider found supporting the - * algorithm will be used. - * - * @param sigProvider the signature provider's name (or null) - * - * @see #getSigProvider() - **/ - public void setSigProvider(String sigProvider) - { - this.sigProvider = sigProvider; - } - - /** - * Returns the required constraints on the target - * certificate. The constraints are returned as an instance of - * CertSelector. If null, no constraints are defined.
    - *
    - * Note that the CertSelector returned is cloned to protect - * against subsequent modifications. - * - * @return a CertSelector specifying the constraints on the target certificate (or null) - * - * @see #setTargetCertConstraints(java.security.cert.CertSelector) - **/ - public CertSelector getTargetCertConstraints() - { - if ( certSelector == null ) - return null; - - return (CertSelector)certSelector.clone(); - } - - /** - * Sets the required constraints on the target - * certificate. The constraints are specified as an instance - * of CertSelector. If null, no constraints are defined.
    - *
    - * Note that the CertSelector specified is cloned to protect - * against subsequent modifications. - * - * @param selector a CertSelector specifying the constraints - * on the target certificate (or null) - * - * @see #getTargetCertConstraints() - **/ - public void setTargetCertConstraints(CertSelector selector) - { - if ( selector == null ) - certSelector = null; - else - certSelector = (CertSelector)selector.clone(); - } - - /** - * Makes a copy of this PKIXParameters object. Changes to the - * copy will not affect the original and vice versa. - * - * @return a copy of this PKIXParameters object - **/ - public Object clone() - { - try { - PKIXParameters obj = (PKIXParameters)super.clone(); - obj.certStores = new ArrayList( certStores ); - Iterator iter = certPathCheckers.iterator(); - obj.certPathCheckers = new ArrayList(); - while ( iter.hasNext() ) - { - obj.certPathCheckers.add( ((PKIXCertPathChecker)iter.next()).clone() ); - } - if ( initialPolicies != null ) - { - obj.initialPolicies = new HashSet( initialPolicies ); - } - if ( trustAnchors != null ) - { - obj.trustAnchors = new HashSet( trustAnchors ); - } - if ( certSelector != null ) - { - obj.certSelector = (CertSelector)certSelector.clone(); - } - return obj; - } catch ( CloneNotSupportedException ex ) { - throw new InternalError(); - } - } - - /** - * Returns a formatted string describing the parameters. - * - * @return a formatted string describing the parameters. - **/ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append("[\n"); - if ( trustAnchors != null ) - { - s.append(" Trust Anchors: ").append(trustAnchors).append('\n'); - } - if ( initialPolicies != null ) - { - if ( initialPolicies.isEmpty() ) - { - s.append(" Initial Policy OIDs: any\n" ); - } - else - { - s.append(" Initial Policy OIDs: [").append(initialPolicies).append("]\n"); - } - } - s.append(" Validity Date: "); - if ( date != null ) - s.append(date); - else - s.append("null"); - s.append('\n'); - - s.append(" Signature Provider: "); - if ( sigProvider != null ) - s.append(sigProvider); - else - s.append("null"); - s.append('\n'); - - s.append(" Default Revocation Enabled: "); - s.append(revocationEnabled); - s.append('\n' ); - - s.append(" Explicit Policy Required: "); - s.append(explicitPolicyRequired); - s.append('\n'); - - s.append(" Policy Mapping Inhibited: "); - s.append(policyMappingInhibited); - s.append('\n'); - - s.append(" Any Policy Inhibited: "); - s.append(anyPolicyInhibited); - s.append('\n'); - - s.append(" Policy Qualifiers Rejected: "); - s.append(policyQualifiersRejected); - s.append('\n'); - - s.append(" Target Cert Constraints: "); - s.append(certSelector); - s.append('\n'); - - s.append(" Certification Path Checkers: ["); - s.append(certPathCheckers); - s.append( "}\n"); - - s.append(" CertStores: ["); - s.append(certStores); - s.append("}\n"); - - s.append("]\n"); - - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyNode.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyNode.java deleted file mode 100644 index cdae45205..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyNode.java +++ /dev/null @@ -1,107 +0,0 @@ -package java.security.cert; - -import java.util.Iterator; -import java.util.Set; - -/** - * An immutable valid policy tree node as defined by the PKIX certification - * path validation algorithm.
    - *
    - * One of the outputs of the PKIX certification path validation - * algorithm is a valid policy tree, which includes the policies that - * were determined to be valid, how this determination was reached, - * and any policy qualifiers encountered. This tree is of depth - * n, where n is the length of the certification - * path that has been validated.
    - *
    - * Most applications will not need to examine the valid policy tree. - * They can achieve their policy processing goals by setting the - * policy-related parameters in PKIXParameters. However, - * the valid policy tree is available for more sophisticated applications, - * especially those that process policy qualifiers.
    - *
    - * {@link PKIXCertPathValidatorResult#getPolicyTree() - * PKIXCertPathValidatorResult.getPolicyTree} returns the root node of the - * valid policy tree. The tree can be traversed using the - * {@link #getChildren getChildren} and {@link #getParent getParent} methods. - * Data about a particular node can be retrieved using other methods of - * PolicyNode.
    - *
    - * Concurrent Access
    - *
    - * All PolicyNode objects must be immutable and - * thread-safe. Multiple threads may concurrently invoke the methods defined - * in this class on a single PolicyNode object (or more than one) - * with no ill effects. This stipulation applies to all public fields and - * methods of this class and any added or overridden by subclasses. - **/ -public interface PolicyNode -{ - - /** - * Returns the parent of this node, or null if this is the - * root node. - * - * @return the parent of this node, or null if this is the - * root node - */ - public PolicyNode getParent(); - - /** - * Returns an iterator over the children of this node. Any attempts to - * modify the children of this node through the - * Iterator's remove method must throw an - * UnsupportedOperationException. - * - * @return an iterator over the children of this node - */ - public Iterator getChildren(); - - /** - * Returns the depth of this node in the valid policy tree. - * - * @return the depth of this node (0 for the root node, 1 for its - * children, and so on) - */ - public int getDepth(); - - /** - * Returns the valid policy represented by this node. - * - * @return the String OID of the valid policy - * represented by this node, or the special value "any-policy". For - * the root node, this method always returns the special value "any-policy". - */ - public String getValidPolicy(); - - /** - * Returns the set of policy qualifiers associated with the - * valid policy represented by this node. - * - * @return an immutable Set of - * PolicyQualifierInfos. For the root node, this - * is always an empty Set. - */ - public Set getPolicyQualifiers(); - - /** - * Returns the set of expected policies that would satisfy this - * node's valid policy in the next certificate to be processed. - * - * @return an immutable Set of expected policy - * String OIDs, or an immutable Set with - * the single special value "any-policy". For the root node, this method - * always returns a Set with the single value "any-policy". - */ - public Set getExpectedPolicies(); - - /** - * Returns the criticality indicator of the certificate policy extension - * in the most recently processed certificate. - * - * @return true if extension marked critical, - * false otherwise. For the root node, false - * is always returned. - */ - public boolean isCritical(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyQualifierInfo.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyQualifierInfo.java deleted file mode 100644 index a17f49bf4..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/PolicyQualifierInfo.java +++ /dev/null @@ -1,196 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.util.ASN1Dump; - -/** - * An immutable policy qualifier represented by the ASN.1 PolicyQualifierInfo - * structure.
    - *
    - * The ASN.1 definition is as follows:
    - *
    - * - *

    - *    PolicyQualifierInfo ::= SEQUENCE {
    - *         policyQualifierId       PolicyQualifierId,
    - *         qualifier               ANY DEFINED BY policyQualifierId }
    - * 
    - * - *
    - *
    - * A certificate policies extension, if present in an X.509 version 3 - * certificate, contains a sequence of one or more policy information terms, - * each of which consists of an object identifier (OID) and optional qualifiers. - * In an end-entity certificate, these policy information terms indicate the - * policy under which the certificate has been issued and the purposes for which - * the certificate may be used. In a CA certificate, these policy information - * terms limit the set of policies for certification paths which include this - * certificate.
    - *
    - * A Set of PolicyQualifierInfo objects are - * returned by the - * {@link PolicyNode#getPolicyQualifiers PolicyNode.getPolicyQualifiers} method. - * This allows applications with specific policy requirements to process and - * validate each policy qualifier. Applications that need to process policy - * qualifiers should explicitly set the policyQualifiersRejected - * flag to false (by calling the - * {@link PKIXParameters#setPolicyQualifiersRejected - * PKIXParameters.setPolicyQualifiersRejected} method) before validating a - * certification path.
    - *
    - * Note that the PKIX certification path validation algorithm specifies that any - * policy qualifier in a certificate policies extension that is marked critical - * must be processed and validated. Otherwise the certification path must be - * rejected. If the policyQualifiersRejected flag is set to - * false, it is up to the application to validate all policy qualifiers in this - * manner in order to be PKIX compliant.
    - *
    - * Concurrent Access
    - *
    - * All PolicyQualifierInfo objects must be immutable and - * thread-safe. That is, multiple threads may concurrently invoke the methods - * defined in this class on a single PolicyQualifierInfo object - * (or more than one) with no ill effects. Requiring - * PolicyQualifierInfo objects to be immutable and thread-safe - * allows them to be passed around to various pieces of code without worrying - * about coordinating access.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.ASN1ObjectIdentifier ASN1ObjectIdentifier}, - * {@link org.spongycastle.asn1.DEROutputStream DEROutputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object} - */ -public final class PolicyQualifierInfo -{ - private String id; - - private byte[] encoded; - - private byte[] qualifier; - - /** - * Creates an instance of PolicyQualifierInfo from the - * encoded bytes. The encoded byte array is copied on construction.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.ASN1ObjectIdentifier ASN1ObjectIdentifier} and - * {@link org.spongycastle.asn1.DEROutputStream DEROutputStream} - * - * @param encoded - * a byte array containing the qualifier in DER encoding - * - * @exception IOException - * thrown if the byte array does not represent a valid and - * parsable policy qualifier - */ - public PolicyQualifierInfo(byte[] encoded) throws IOException - { - this.encoded = (byte[])encoded.clone(); - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - this.encoded); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Sequence obj = (ASN1Sequence)derInStream.readObject(); - id = ((ASN1ObjectIdentifier)obj.getObjectAt(0)).getId(); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - - derOutStream.writeObject(obj.getObjectAt(1)); - derOutStream.close(); - - qualifier = outStream.toByteArray(); - } - catch (Exception ex) - { - throw new IOException("parsing exception : " + ex.toString()); - } - } - - /** - * Returns the policyQualifierId field of this - * PolicyQualifierInfo. The policyQualifierId - * is an Object Identifier (OID) represented by a set of nonnegative - * integers separated by periods. - * - * @return the OID (never null) - */ - public String getPolicyQualifierId() - { - return id; - } - - /** - * Returns the ASN.1 DER encoded form of this - * PolicyQualifierInfo. - * - * @return the ASN.1 DER encoded bytes (never null). Note - * that a copy is returned, so the data is cloned each time this - * method is called. - */ - public byte[] getEncoded() - { - return (byte[])encoded.clone(); - } - - /** - * Returns the ASN.1 DER encoded form of the qualifier field - * of this PolicyQualifierInfo. - * - * @return the ASN.1 DER encoded bytes of the qualifier - * field. Note that a copy is returned, so the data is cloned each - * time this method is called. - */ - public byte[] getPolicyQualifier() - { - if (qualifier == null) - { - return null; - } - - return (byte[])qualifier.clone(); - } - - /** - * Return a printable representation of this - * PolicyQualifierInfo.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object} - * - * @return a String describing the contents of this - * PolicyQualifierInfo - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append("PolicyQualifierInfo: [\n"); - s.append("qualifierID: ").append(id).append('\n'); - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream(qualifier); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - s - .append(" qualifier:\n").append(ASN1Dump.dumpAsString(derObject)) - .append('\n'); - } - catch (IOException ex) - { - s.append(ex.getMessage()); - } - s.append("qualifier: ").append(id).append('\n'); - s.append(']'); - return s.toString(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/TrustAnchor.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/TrustAnchor.java deleted file mode 100644 index f139a742c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/TrustAnchor.java +++ /dev/null @@ -1,293 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.security.PublicKey; -import java.security.cert.X509Certificate; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1Sequence; - -/** - * A trust anchor or most-trusted Certification Authority (CA).
    - *
    - * This class represents a "most-trusted CA", which is used as a trust anchor - * for validating X.509 certification paths. A most-trusted CA includes the - * public key of the CA, the CA's name, and any constraints upon the set of - * paths which may be validated using this key. These parameters can be - * specified in the form of a trusted X509Certificate or as individual - * parameters.
    - *
    - * Concurrent Access
    - *
    - * All TrustAnchor objects must be immutable and thread-safe. That is, multiple - * threads may concurrently invoke the methods defined in this class on a - * single TrustAnchor object (or more than one) with no ill effects. Requiring - * TrustAnchor objects to be immutable and thread-safe allows them to be passed - * around to various pieces of code without worrying about coordinating access. - * This stipulation applies to all public fields and methods of this class and - * any added or overridden by subclasses.
    - *
    - * TODO: implement better nameConstraints testing. - **/ -public class TrustAnchor -{ - private X509Certificate trustCert = null; - - private PublicKey trustPublicKey = null; - - private String trustName = null; - - private byte[] nameConstraints = null; - - /** - * Creates an instance of TrustAnchor with the specified X509Certificate and - * optional name constraints, which are intended to be used as additional - * constraints when validating an X.509 certification path.
    - *
    - * The name constraints are specified as a byte array. This byte array - * should contain the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 2459 and - * X.509. The ASN.1 definition of this structure appears below.
    - *
    - * - *
    -     *   NameConstraints ::= SEQUENCE {
    -     *        permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
    -     *        excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
    -     * 
    -     *   GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
    -     * 
    -     *   GeneralSubtree ::= SEQUENCE {
    -     *        base                    GeneralName,
    -     *        minimum         [0]     BaseDistance DEFAULT 0,
    -     *        maximum         [1]     BaseDistance OPTIONAL }
    -     * 
    -     *   BaseDistance ::= INTEGER (0..MAX)
    -     * 
    -     *   GeneralName ::= CHOICE {
    -     *        otherName                       [0]     OtherName,
    -     *        rfc822Name                      [1]     IA5String,
    -     *        dNSName                         [2]     IA5String,
    -     *        x400Address                     [3]     ORAddress,
    -     *        directoryName                   [4]     Name,
    -     *        ediPartyName                    [5]     EDIPartyName,
    -     *        uniformResourceIdentifier       [6]     IA5String,
    -     *        iPAddress                       [7]     OCTET STRING,
    -     *        registeredID                    [8]     OBJECT IDENTIFIER}
    -     * 
    - * - *
    - *
    - * Note that the name constraints byte array supplied is cloned to protect - * against subsequent modifications. - * - * @param trustedCert - * a trusted X509Certificate - * @param nameConstraints - * a byte array containing the ASN.1 DER encoding of a - * NameConstraints extension to be used for checking name - * constraints. Only the value of the extension is included, not - * the OID or criticality flag. Specify null to omit the - * parameter. - * - * @exception IllegalArgumentException - * if the name constraints cannot be decoded - * @exception NullPointerException - * if the specified X509Certificate is null - */ - public TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) - { - if (trustedCert == null) - { - throw new NullPointerException("trustedCert must be non-null"); - } - - this.trustCert = trustedCert; - if (nameConstraints != null) - { - this.nameConstraints = (byte[])nameConstraints.clone(); - checkNameConstraints(this.nameConstraints); - } - } - - /** - * Creates an instance of TrustAnchor where the most-trusted - * CA is specified as a distinguished name and public key. Name constraints - * are an optional parameter, and are intended to be used as additional - * constraints when validating an X.509 certification path. - * - * The name constraints are specified as a byte array. This byte array - * contains the DER encoded form of the name constraints, as they would - * appear in the NameConstraints structure defined in RFC 2459 and X.509. - * The ASN.1 notation for this structure is supplied in the documentation - * for {@link #TrustAnchor(X509Certificate trustedCert, byte[] - * nameConstraints) TrustAnchor(X509Certificate trustedCert, byte[] - * nameConstraints) }. - * - * Note that the name constraints byte array supplied here is cloned to - * protect against subsequent modifications. - * - * @param caName - * the X.500 distinguished name of the most-trusted CA in RFC - * 2253 String format - * @param pubKey - * the public key of the most-trusted CA - * @param nameConstraints - * a byte array containing the ASN.1 DER encoding of a - * NameConstraints extension to be used for checking name - * constraints. Only the value of the extension is included, not - * the OID or criticality flag. Specify null to omit the - * parameter. - * - * @exception IllegalArgumentException - * if the specified caName parameter is empty (caName.length() == 0) - * or incorrectly formatted or the name constraints cannot be - * decoded - * @exception NullPointerException - * if the specified caName or pubKey parameter is null - */ - public TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints) - { - if (caName == null) - { - throw new NullPointerException("caName must be non-null"); - } - if (pubKey == null) - { - throw new NullPointerException("pubKey must be non-null"); - } - if (caName.length() == 0) - { - throw new IllegalArgumentException( - "caName can not be an empty string"); - } - - this.trustName = caName; - this.trustPublicKey = pubKey; - if (nameConstraints != null) - { - this.nameConstraints = (byte[])nameConstraints.clone(); - checkNameConstraints(this.nameConstraints); - } - } - - /** - * Returns the most-trusted CA certificate. - * - * @return a trusted X509Certificate or null - * if the trust anchor was not specified as a trusted certificate - */ - public final X509Certificate getTrustedCert() - { - return trustCert; - } - - /** - * Returns the name of the most-trusted CA in RFC 2253 String format. - * - * @return the X.500 distinguished name of the most-trusted CA, or - * null if the trust anchor was not specified as a - * trusted public key and name pair - */ - public final String getCAName() - { - return trustName; - } - - /** - * Returns the public key of the most-trusted CA. - * - * @return the public key of the most-trusted CA, or null if the trust - * anchor was not specified as a trusted public key and name pair - */ - public final PublicKey getCAPublicKey() - { - return trustPublicKey; - } - - /** - * Returns the name constraints parameter. The specified name constraints - * are associated with this trust anchor and are intended to be used as - * additional constraints when validating an X.509 certification path.
    - *
    - * The name constraints are returned as a byte array. This byte array - * contains the DER encoded form of the name constraints, as they would - * appear in the NameConstraints structure defined in RFC 2459 and X.509. - * The ASN.1 notation for this structure is supplied in the documentation - * for TrustAnchor(X509Certificate trustedCert, byte[] - * nameConstraints).
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications. - * - * @return a byte array containing the ASN.1 DER encoding of a - * NameConstraints extension used for checking name constraints, or - * null if not set. - */ - public final byte[] getNameConstraints() - { - return (byte[])nameConstraints.clone(); - } - - /** - * Returns a formatted string describing the TrustAnchor. - * - * @return a formatted string describing the TrustAnchor - */ - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("[\n"); - if (getCAPublicKey() != null) - { - sb.append(" Trusted CA Public Key: ").append(getCAPublicKey()).append('\n'); - sb.append(" Trusted CA Issuer Name: ").append(getCAName()).append('\n'); - } - else - { - sb.append(" Trusted CA cert: ").append(getTrustedCert()).append('\n'); - } - if (nameConstraints != null) - { - sb.append(" Name Constraints: ").append(nameConstraints).append('\n'); - } - return sb.toString(); - } - - /** - * Check given DER encoded nameConstraints for correct decoding. Currently - * only basic DER decoding test.
    - *
    - * TODO: implement more testing. - * - * @param data - * the DER encoded nameConstrains to be checked or - * null - * @exception IllegalArgumentException - * if the check failed. - */ - private void checkNameConstraints(byte[] data) - { - if (data != null) - { - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - if (!(derObject instanceof ASN1Sequence)) - { - throw new IllegalArgumentException( - "nameConstraints parameter decoding error"); - } - } - catch (IOException ex) - { - throw new IllegalArgumentException( - "nameConstraints parameter decoding error: " + ex); - } - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRL.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRL.java deleted file mode 100644 index cf65ed0b6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRL.java +++ /dev/null @@ -1,77 +0,0 @@ - -package java.security.cert; - -import java.math.BigInteger; -import java.security.InvalidKeyException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Principal; -import java.security.PublicKey; -import java.security.SignatureException; -import java.util.Date; -import java.util.Set; - -public abstract class X509CRL extends CRL implements X509Extension -{ - protected X509CRL() - { - super("X.509"); - } - - public boolean equals(Object other) - { - if ( this == other ) - return true; - - if ( !(other instanceof X509CRL) ) - return false; - - try - { - byte[] enc1 = getEncoded(); - byte[] enc2 = ((X509CRL)other).getEncoded(); - - return MessageDigest.isEqual(enc1, enc2); - } - catch (CRLException e) - { - return false; - } - } - - public int hashCode() - { - int hashcode = 0; - - try - { - byte[] encoded = getEncoded(); - for (int i = 1; i < encoded.length; i++) - { - hashcode += encoded[i] * i; - } - } - catch (CRLException ce) - { - return(hashcode); - } - - return(hashcode); - } - - public abstract byte[] getEncoded() throws CRLException; - public abstract Principal getIssuerDN(); - public abstract Date getNextUpdate(); - public abstract X509CRLEntry getRevokedCertificate(BigInteger serialNumber); - public abstract Set getRevokedCertificates(); - public abstract String getSigAlgName(); - public abstract String getSigAlgOID(); - public abstract byte[] getSigAlgParams(); - public abstract byte[] getSignature(); - public abstract byte[] getTBSCertList() throws CRLException; - public abstract Date getThisUpdate(); - public abstract int getVersion(); - public abstract void verify(PublicKey key) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException; - public abstract void verify(PublicKey key, String sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLEntry.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLEntry.java deleted file mode 100644 index bb0d78074..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLEntry.java +++ /dev/null @@ -1,56 +0,0 @@ - -package java.security.cert; - -import java.math.BigInteger; -import java.security.MessageDigest; -import java.util.Date; - -public abstract class X509CRLEntry implements X509Extension -{ - public boolean equals(Object other) - { - if ( this == other ) - return true; - - if ( !(other instanceof X509CRLEntry) ) - return false; - - try - { - byte[] enc1 = getEncoded(); - byte[] enc2 = ((X509CRLEntry)other).getEncoded(); - - return MessageDigest.isEqual(enc1, enc2); - } - catch (CRLException e) - { - return false; - } - } - - public int hashCode() - { - int hashcode = 0; - - try - { - byte[] encoded = getEncoded(); - for (int i = 1; i < encoded.length; i++) - { - hashcode += encoded[i] * i; - } - } - catch (CRLException ce) - { - return(hashcode); - } - - return(hashcode); - } - - public abstract byte[] getEncoded() throws CRLException; - public abstract Date getRevocationDate(); - public abstract BigInteger getSerialNumber(); - public abstract boolean hasExtensions(); - public abstract String toString(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLSelector.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLSelector.java deleted file mode 100644 index 7971e7b61..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CRLSelector.java +++ /dev/null @@ -1,717 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.cert.CRL; -import java.security.cert.X509CRL; -import java.security.cert.X509Certificate; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.x509.X509Extensions; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.jce.PrincipalUtil; - -/** - * A CRLSelector that selects X509CRLs that match - * all specified criteria. This class is particularly useful when selecting CRLs - * from a CertStore to check revocation status of a particular - * certificate.
    - *
    - * When first constructed, an X509CRLSelector has no criteria - * enabled and each of the get methods return a default value (null). - * Therefore, the {@link #match match} method would return true - * for any X509CRL. Typically, several criteria are enabled (by - * calling {@link #setIssuerNames setIssuerNames} or - * {@link #setDateAndTime setDateAndTime}, for instance) and then the - * X509CRLSelector is passed to - * {@link CertStore#getCRLs CertStore.getCRLs} or some similar method.
    - *
    - * Please refer to RFC 2459 for definitions of the X.509 CRL fields and - * extensions mentioned below.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are not - * thread-safe. Multiple threads that need to access a single object - * concurrently should synchronize amongst themselves and provide the necessary - * locking. Multiple threads each manipulating separate objects need not - * synchronize.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.ASN1ObjectIdentifier ASN1ObjectIdentifier}, - * {@link org.spongycastle.asn1.DEROutputStream DEROutputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name} - * - * @see CRLSelector - * @see X509CRL - */ -public class X509CRLSelector implements CRLSelector -{ - private Set issuerNames = null; - - private Set issuerNamesX509 = null; - - private BigInteger minCRL = null; - - private BigInteger maxCRL = null; - - private Date dateAndTime = null; - - private X509Certificate certChecking = null; - - /** - * Creates an X509CRLSelector. Initially, no criteria are - * set so any X509CRL will match. - */ - public X509CRLSelector() - { - } - - /** - * Sets the issuerNames criterion. The issuer distinguished name in the - * X509CRL must match at least one of the specified - * distinguished names. If null, any issuer distinguished - * name will do.
    - *
    - * This method allows the caller to specify, with a single method call, the - * complete set of issuer names which X509CRLs may contain. - * The specified value replaces the previous value for the issuerNames - * criterion.
    - *
    - * The names parameter (if not null) is a - * Collection of names. Each name is a String - * or a byte array representing a distinguished name (in RFC 2253 or ASN.1 - * DER encoded form, respectively). If null is supplied as - * the value for this argument, no issuerNames check will be performed.
    - *
    - * Note that the names parameter can contain duplicate - * distinguished names, but they may be removed from the - * Collection of names returned by the - * {@link #getIssuerNames getIssuerNames} method.
    - *
    - * If a name is specified as a byte array, it should contain a single DER - * encoded distinguished name, as defined in X.501. The ASN.1 notation for - * this structure is as follows. - * - *
    
    -     *  Name ::= CHOICE {
    -     *    RDNSequence }
    -     * 
    -     *  RDNSequence ::= SEQUENCE OF RDN
    -     * 
    -     *  RDN ::=
    -     *    SET SIZE (1 .. MAX) OF AttributeTypeAndValue
    -     * 
    -     *  AttributeTypeAndValue ::= SEQUENCE {
    -     *    type     AttributeType,
    -     *    value    AttributeValue }
    -     * 
    -     *  AttributeType ::= OBJECT IDENTIFIER
    -     * 
    -     *  AttributeValue ::= ANY DEFINED BY AttributeType
    -     *  ....
    -     *  DirectoryString ::= CHOICE {
    -     *        teletexString           TeletexString (SIZE (1..MAX)),
    -     *        printableString         PrintableString (SIZE (1..MAX)),
    -     *        universalString         UniversalString (SIZE (1..MAX)),
    -     *        utf8String              UTF8String (SIZE (1.. MAX)),
    -     *        bmpString               BMPString (SIZE (1..MAX)) }
    -     * 
    - * - *
    - *
    - * Note that a deep copy is performed on the Collection to - * protect against subsequent modifications. - * - * @param names - * a Collection of names (or null) - * - * @exception IOException - * if a parsing error occurs - * - * @see #getIssuerNames - */ - public void setIssuerNames(Collection names) throws IOException - { - if (names == null || names.isEmpty()) - { - issuerNames = null; - issuerNamesX509 = null; - } - else - { - Object item; - Iterator iter = names.iterator(); - while (iter.hasNext()) - { - item = iter.next(); - if (item instanceof String) - { - addIssuerName((String)item); - } - else if (item instanceof byte[]) - { - addIssuerName((byte[])item); - } - else - { - throw new IOException("name not byte[]or String: " - + item.toString()); - } - } - } - } - - /** - * Adds a name to the issuerNames criterion. The issuer distinguished name - * in the X509CRL must match at least one of the specified - * distinguished names.
    - *
    - * This method allows the caller to add a name to the set of issuer names - * which X509CRLs may contain. The specified name is added to - * any previous value for the issuerNames criterion. If the specified name - * is a duplicate, it may be ignored.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for parsing the - * name - * - * @param name - * the name in RFC 2253 form - * - * @exception IOException - * if a parsing error occurs - */ - public void addIssuerName(String name) throws IOException - { - if (issuerNames == null) - { - issuerNames = new HashSet(); - issuerNamesX509 = new HashSet(); - } - X509Name nameX509; - try - { - nameX509 = new X509Name(name); - } - catch (IllegalArgumentException ex) - { - throw new IOException(ex.getMessage()); - } - issuerNamesX509.add(nameX509); - issuerNames.add(name); - } - - /** - * Adds a name to the issuerNames criterion. The issuer distinguished name - * in the X509CRL must match at least one of the specified - * distinguished names.
    - *
    - * This method allows the caller to add a name to the set of issuer names - * which X509CRLs may contain. The specified name is added to - * any previous value for the issuerNames criterion. If the specified name - * is a duplicate, it may be ignored. If a name is specified as a byte - * array, it should contain a single DER encoded distinguished name, as - * defined in X.501. The ASN.1 notation for this structure is as follows.
    - *
    - * The name is provided as a byte array. This byte array should contain a - * single DER encoded distinguished name, as defined in X.501. The ASN.1 - * notation for this structure appears in the documentation for - * {@link #setIssuerNames setIssuerNames(Collection names)}.
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for parsing the - * name, {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object} and - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence} - * - * @param name - * a byte array containing the name in ASN.1 DER encoded form - * - * @exception IOException - * if a parsing error occurs - */ - public void addIssuerName(byte[] name) throws IOException - { - if (issuerNames == null) - { - issuerNames = new HashSet(); - issuerNamesX509 = new HashSet(); - } - - ByteArrayInputStream inStream = new ByteArrayInputStream(name); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object obj = derInStream.readObject(); - if (obj instanceof ASN1Sequence) - { - issuerNamesX509.add(new X509Name((ASN1Sequence)obj)); - } - else - { - throw new IOException("parsing error"); - } - issuerNames.add(name.clone()); - } - - /** - * Sets the minCRLNumber criterion. The X509CRL must have a - * CRL number extension whose value is greater than or equal to the - * specified value. If null, no minCRLNumber check will be - * done. - * - * @param minCRL - * the minimum CRL number accepted (or null) - */ - public void setMinCRLNumber(BigInteger minCRL) - { - this.minCRL = minCRL; - } - - /** - * Sets the maxCRLNumber criterion. The X509CRL must have a - * CRL number extension whose value is less than or equal to the specified - * value. If null, no maxCRLNumber check will be done. - * - * @param maxCRL - * the maximum CRL number accepted (or null) - */ - public void setMaxCRLNumber(BigInteger maxCRL) - { - this.maxCRL = maxCRL; - } - - /** - * Sets the dateAndTime criterion. The specified date must be equal to or - * later than the value of the thisUpdate component of the - * X509CRL and earlier than the value of the nextUpdate - * component. There is no match if the X509CRL does not - * contain a nextUpdate component. If null, no dateAndTime - * check will be done.
    - *
    - * Note that the Date supplied here is cloned to protect - * against subsequent modifications. - * - * @param dateAndTime - * the Date to match against (or null) - * - * @see #getDateAndTime - */ - public void setDateAndTime(Date dateAndTime) - { - if (dateAndTime == null) - { - this.dateAndTime = null; - } - else - { - this.dateAndTime = new Date(dateAndTime.getTime()); - } - } - - /** - * Sets the certificate being checked. This is not a criterion. Rather, it - * is optional information that may help a CertStore find - * CRLs that would be relevant when checking revocation for the specified - * certificate. If null is specified, then no such optional - * information is provided. - * - * @param cert - * the X509Certificate being checked (or - * null) - * - * @see #getCertificateChecking - */ - public void setCertificateChecking(X509Certificate cert) - { - certChecking = cert; - } - - /** - * Returns a copy of the issuerNames criterion. The issuer distinguished - * name in the X509CRL must match at least one of the - * specified distinguished names. If the value returned is null, - * any issuer distinguished name will do.
    - *
    - * If the value returned is not null, it is a - * Collection of names. Each name is a String - * or a byte array representing a distinguished name (in RFC 2253 or ASN.1 - * DER encoded form, respectively). Note that the Collection - * returned may contain duplicate names.
    - *
    - * If a name is specified as a byte array, it should contain a single DER - * encoded distinguished name, as defined in X.501. The ASN.1 notation for - * this structure is given in the documentation for - * {@link #setIssuerNames setIssuerNames(Collection names)}.
    - *
    - * Note that a deep copy is performed on the Collection to - * protect against subsequent modifications. - * - * @return a Collection of names (or null) - * @see #setIssuerNames - */ - public Collection getIssuerNames() - { - if (issuerNames == null) - { - return null; - } - - Collection set = new HashSet(); - Iterator iter = issuerNames.iterator(); - Object item; - while (iter.hasNext()) - { - item = iter.next(); - if (item instanceof String) - { - set.add(new String((String)item)); - } - else if (item instanceof byte[]) - { - set.add(((byte[])item).clone()); - } - } - return set; - } - - /** - * Returns the minCRLNumber criterion. The X509CRL must have - * a CRL number extension whose value is greater than or equal to the - * specified value. If null, no minCRLNumber check will be - * done. - * - * @return the minimum CRL number accepted (or null) - */ - public BigInteger getMinCRL() - { - return minCRL; - } - - /** - * Returns the maxCRLNumber criterion. The X509CRL must have - * a CRL number extension whose value is less than or equal to the specified - * value. If null, no maxCRLNumber check will be done. - * - * @return the maximum CRL number accepted (or null) - */ - public BigInteger getMaxCRL() - { - return maxCRL; - } - - /** - * Returns the dateAndTime criterion. The specified date must be equal to or - * later than the value of the thisUpdate component of the - * X509CRL and earlier than the value of the nextUpdate - * component. There is no match if the X509CRL does not - * contain a nextUpdate component. If null, no dateAndTime - * check will be done.
    - *
    - * Note that the Date returned is cloned to protect against - * subsequent modifications. - * - * @return the Date to match against (or null) - * - * @see #setDateAndTime - */ - public Date getDateAndTime() - { - if (dateAndTime == null) - { - return null; - } - - return new Date(dateAndTime.getTime()); - } - - /** - * Returns the certificate being checked. This is not a criterion. Rather, - * it is optional information that may help a CertStore find - * CRLs that would be relevant when checking revocation for the specified - * certificate. If the value returned is null, then no such - * optional information is provided. - * - * @return the certificate being checked (or null) - * - * @see #setCertificateChecking - */ - public X509Certificate getCertificateChecking() - { - return certChecking; - } - - /** - * Returns a printable representation of the X509CRLSelector.
    - *
    - * Uses - * {@link org.spongycastle.asn1.x509.X509Name#toString X509Name.toString} to - * format the output - * - * @return a String describing the contents of the - * X509CRLSelector. - */ - public String toString() - { - StringBuffer s = new StringBuffer(); - s.append("X509CRLSelector: [\n"); - if (issuerNamesX509 != null) - { - s.append(" IssuerNames:\n"); - Iterator iter = issuerNamesX509.iterator(); - while (iter.hasNext()) - { - s.append(" ").append(iter.next()).append('\n'); - } - } - if (minCRL != null) - { - s.append(" minCRLNumber: ").append(minCRL).append('\n'); - } - if (maxCRL != null) - { - s.append(" maxCRLNumber: ").append(maxCRL).append('\n'); - } - if (dateAndTime != null) - { - s.append(" dateAndTime: ").append(dateAndTime).append('\n'); - } - if (certChecking != null) - { - s.append(" Certificate being checked: ").append(certChecking).append('\n'); - } - s.append(']'); - return s.toString(); - } - - /** - * Decides whether a CRL should be selected.
    - *
    - * Uses - * {@link org.spongycastle.asn1.x509.X509Name#toString X509Name.toString} to - * parse and to compare the crl parameter issuer and - * {@link org.spongycastle.asn1.x509.X509Extensions#CRLNumber CRLNumber} to - * access the CRL number extension. - * - * @param crl - * the CRL to be checked - * - * @return true if the CRL should be selected, - * false otherwise - */ - public boolean match(CRL crl) - { - if (!(crl instanceof X509CRL)) - { - return false; - } - - X509CRL crlX509 = (X509CRL)crl; - boolean test; - - if (issuerNamesX509 != null) - { - Iterator iter = issuerNamesX509.iterator(); - test = false; - X509Name crlIssuer = null; - try - { - crlIssuer = PrincipalUtil.getIssuerX509Principal(crlX509); - } - catch (Exception ex) - { - - return false; - } - - while (iter.hasNext()) - { - if (crlIssuer.equals(iter.next(), true)) - { - test = true; - break; - } - } - if (!test) - { - return false; - } - } - - byte[] data = crlX509.getExtensionValue(X509Extensions.CRLNumber - .getId()); - if (data != null) - { - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - inStream = new ByteArrayInputStream( - ((ASN1OctetString)derInputStream.readObject()) - .getOctets()); - derInputStream = new ASN1InputStream(inStream); - BigInteger crlNumber = ((DERInteger)derInputStream.readObject()) - .getPositiveValue(); - if (minCRL != null && minCRL.compareTo(crlNumber) > 0) - { - return false; - } - if (maxCRL != null && maxCRL.compareTo(crlNumber) < 0) - { - return false; - } - } - catch (IOException ex) - { - return false; - } - } - else if (minCRL != null || maxCRL != null) - { - return false; - } - - if (dateAndTime != null) - { - Date check = crlX509.getThisUpdate(); - if (check == null) - { - return false; - } - else if (dateAndTime.before(check)) - { - return false; - } - - check = crlX509.getNextUpdate(); - if (check == null) - { - return false; - } - else if (!dateAndTime.before(check)) - { - return false; - } - } - - return true; - } - - /** - * Returns a copy of this object. - * - * @return the copy - */ - public Object clone() - { - try - { - X509CRLSelector copy = (X509CRLSelector)super.clone(); - if (issuerNames != null) - { - copy.issuerNames = new HashSet(); - Iterator iter = issuerNames.iterator(); - Object obj; - while (iter.hasNext()) - { - obj = iter.next(); - if (obj instanceof byte[]) - { - copy.issuerNames.add(((byte[])obj).clone()); - } - else - { - copy.issuerNames.add(obj); - } - } - copy.issuerNamesX509 = new HashSet(issuerNamesX509); - } - return copy; - } - catch (CloneNotSupportedException e) - { - /* Cannot happen */ - throw new InternalError(e.toString()); - } - } - - /** - * Decides whether a CRL should be selected. - * - * @param crl - * the CRL to be checked - * - * @return true if the CRL should be selected, - * false otherwise - */ - public boolean equals(Object obj) - { - if (!(obj instanceof X509CRLSelector)) - { - return false; - } - - X509CRLSelector equalsCRL = (X509CRLSelector)obj; - - if (!equals(dateAndTime, equalsCRL.dateAndTime)) - { - return false; - } - - if (!equals(minCRL, equalsCRL.minCRL)) - { - return false; - } - - if (!equals(maxCRL, equalsCRL.maxCRL)) - { - return false; - } - - if (!equals(issuerNamesX509, equalsCRL.issuerNamesX509)) - { - return false; - } - - if (!equals(certChecking, equalsCRL.certChecking)) - { - return false; - } - - return true; - } - - /** - * Return true if two Objects are unequal. - * This means that one is null and the other is - * not or obj1.equals(obj2) returns - * false. - **/ - private boolean equals(Object obj1, Object obj2) - { - if (obj1 == null) - { - if (obj2 != null) - { - return true; - } - } - else if (!obj1.equals(obj2)) - { - return true; - } - return false; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CertSelector.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CertSelector.java deleted file mode 100644 index 89767cde5..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509CertSelector.java +++ /dev/null @@ -1,2461 +0,0 @@ -package java.security.cert; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.PublicKey; -import java.security.cert.Certificate; -import java.security.cert.X509Certificate; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.util.ASN1Dump; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.ExtendedKeyUsage; -import org.spongycastle.asn1.x509.KeyPurposeId; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.X509Extensions; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.jce.PrincipalUtil; -import org.spongycastle.util.Integers; - -/** - * A CertSelector that selects - * X509Certificates that match all - * specified criteria. This class is particularly useful when - * selecting certificates from a CertStore to build a PKIX-compliant - * certification path.
    - *
    - * When first constructed, an X509CertSelector has no criteria enabled - * and each of the get methods return a default value (null, or -1 for - * the {@link #getBasicConstraints} method). Therefore, the {@link #match} method would - * return true for any X509Certificate. Typically, several criteria - * are enabled (by calling {@link #setIssuer} or {@link #setKeyUsage}, for instance) and - * then the X509CertSelector is passed to {@link CertStore#getCertificates} or - * some similar method.
    - *
    - * Several criteria can be enabled (by calling {@link #setIssuer} and - * {@link #setSerialNumber}, for example) such that the match method usually - * uniquely matches a single X509Certificate. We say usually, since it - * is possible for two issuing CAs to have the same distinguished name - * and each issue a certificate with the same serial number. Other - * unique combinations include the issuer, subject, - * subjectKeyIdentifier and/or the subjectPublicKey criteria.
    - *
    - * Please refer to RFC 2459 for definitions of the X.509 certificate - * extensions mentioned below.
    - *
    - * Concurrent Access
    - *
    - * Unless otherwise specified, the methods defined in this class are - * not thread-safe. Multiple threads that need to access a single - * object concurrently should synchronize amongst themselves and - * provide the necessary locking. Multiple threads each manipulating - * separate objects need not synchronize.
    - *
    - * TODO: implement name constraints - * TODO: implement match check for path to names
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.ASN1ObjectIdentifier ASN1ObjectIdentifier}, - * {@link org.spongycastle.asn1.DEROutputStream DEROutputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.OIDTokenizer OIDTokenizer}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name}, - * {@link org.spongycastle.asn1.x509.X509Extensions X509Extensions}, - * {@link org.spongycastle.asn1.x509.ExtendedKeyUsage ExtendedKeyUsage}, - * {@link org.spongycastle.asn1.x509.KeyPurposeId KeyPurposeId}, - * {@link org.spongycastle.asn1.x509.SubjectPublicKeyInfo SubjectPublicKeyInfo}, - * {@link org.spongycastle.asn1.x509.AlgorithmIdentifier AlgorithmIdentifier} - */ -public class X509CertSelector implements CertSelector -{ - private static final Hashtable keyPurposeIdMap = new Hashtable(); - static - { - keyPurposeIdMap.put(KeyPurposeId.id_kp_serverAuth.getId(), - KeyPurposeId.id_kp_serverAuth); - keyPurposeIdMap.put(KeyPurposeId.id_kp_clientAuth.getId(), - KeyPurposeId.id_kp_clientAuth); - keyPurposeIdMap.put(KeyPurposeId.id_kp_codeSigning.getId(), - KeyPurposeId.id_kp_codeSigning); - keyPurposeIdMap.put(KeyPurposeId.id_kp_emailProtection.getId(), - KeyPurposeId.id_kp_emailProtection); - keyPurposeIdMap.put(KeyPurposeId.id_kp_ipsecEndSystem.getId(), - KeyPurposeId.id_kp_ipsecEndSystem); - keyPurposeIdMap.put(KeyPurposeId.id_kp_ipsecTunnel.getId(), - KeyPurposeId.id_kp_ipsecTunnel); - keyPurposeIdMap.put(KeyPurposeId.id_kp_ipsecUser.getId(), - KeyPurposeId.id_kp_ipsecUser); - keyPurposeIdMap.put(KeyPurposeId.id_kp_timeStamping.getId(), - KeyPurposeId.id_kp_timeStamping); - } - - private X509Certificate x509Cert = null; - - private BigInteger serialNumber = null; - - private Object issuerDN = null; - - private X509Name issuerDNX509 = null; - - private Object subjectDN = null; - - private X509Name subjectDNX509 = null; - - private byte[] subjectKeyID = null; - - private byte[] authorityKeyID = null; - - private Date certValid = null; - - private Date privateKeyValid = null; - - private ASN1ObjectIdentifier subjectKeyAlgID = null; - - private PublicKey subjectPublicKey = null; - - private byte[] subjectPublicKeyByte = null; - - private boolean[] keyUsage = null; - - private Set keyPurposeSet = null; - - private boolean matchAllSubjectAltNames = true; - - private Set subjectAltNames = null; - - private Set subjectAltNamesByte = null; - - private int minMaxPathLen = -1; - - private Set policy = null; - - private Set policyOID = null; - - private Set pathToNames = null; - - private Set pathToNamesByte = null; - - /** - * Creates an X509CertSelector. Initially, no criteria are - * set so any X509Certificate will match. - */ - public X509CertSelector() - { - } - - /** - * Sets the certificateEquals criterion. The specified - * X509Certificate must be equal to the - * X509Certificate passed to the match method. If - * null, then this check is not applied.
    - *
    - * This method is particularly useful when it is necessary to match a single - * certificate. Although other criteria can be specified in conjunction with - * the certificateEquals criterion, it is usually not practical or - * necessary. - * - * @param cert - * the X509Certificate to match (or null) - * - * @see #getCertificate() - */ - public void setCertificate(X509Certificate cert) - { - x509Cert = cert; - } - - /** - * Sets the serialNumber criterion. The specified serial number must match - * the certificate serial number in the X509Certificate. If - * null, any certificate serial number will do. - * - * @param serial - * the certificate serial number to match (or null) - * - * @see #getSerialNumber() - */ - public void setSerialNumber(BigInteger serial) - { - serialNumber = serial; - } - - /** - * Sets the issuer criterion. The specified distinguished name must match - * the issuer distinguished name in the X509Certificate. If - * null, any issuer distinguished name will do.
    - *
    - * If issuerDN is not null, it should contain - * a distinguished name, in RFC 2253 format.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for parsing the - * issuerDN. - * - * @param issuerDN - * a distinguished name in RFC 2253 format (or null) - * - * @exception IOException - * if a parsing error occurs (incorrect form for DN) - */ - public void setIssuer(String issuerDN) throws IOException - { - if (issuerDN == null) - { - this.issuerDN = null; - this.issuerDNX509 = null; - } - else - { - X509Name nameX509; - try - { - nameX509 = new X509Name(issuerDN); - } - catch (IllegalArgumentException ex) - { - throw new IOException(ex.getMessage()); - } - this.issuerDNX509 = nameX509; - this.issuerDN = issuerDN; - } - } - - /** - * Sets the issuer criterion. The specified distinguished name must match - * the issuer distinguished name in the X509Certificate. If - * null is specified, the issuer criterion is disabled and any issuer - * distinguished name will do.
    - *
    - * If issuerDN is not null, it should contain - * a single DER encoded distinguished name, as defined in X.501. The ASN.1 - * notation for this structure is as follows.
    - *
    - * - *
    -     *    Name ::= CHOICE {
    -     *      RDNSequence }
    -     * 
    -     *    RDNSequence ::= SEQUENCE OF RDN
    -     * 
    -     *    RDN ::=
    -     *      SET SIZE (1 .. MAX) OF AttributeTypeAndValue
    -     * 
    -     *    AttributeTypeAndValue ::= SEQUENCE {
    -     *      type     AttributeType,
    -     *      value    AttributeValue }
    -     * 
    -     *    AttributeType ::= OBJECT IDENTIFIER
    -     * 
    -     *    AttributeValue ::= ANY DEFINED BY AttributeType
    -     *    ....
    -     *    DirectoryString ::= CHOICE {
    -     *      teletexString           TeletexString (SIZE (1..MAX)),
    -     *      printableString         PrintableString (SIZE (1..MAX)),
    -     *      universalString         UniversalString (SIZE (1..MAX)),
    -     *      utf8String              UTF8String (SIZE (1.. MAX)),
    -     *      bmpString               BMPString (SIZE (1..MAX)) }
    -     * 
    - * - *
    - *
    - * Note that the byte array specified here is cloned to protect against - * subsequent modifications.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name} - * - * @param issuerDN - - * a byte array containing the distinguished name in ASN.1 DER - * encoded form (or null) - * - * @exception IOException - * if an encoding error occurs (incorrect form for DN) - */ - public void setIssuer(byte[] issuerDN) throws IOException - { - if (issuerDN == null) - { - this.issuerDN = null; - this.issuerDNX509 = null; - } - else - { - ByteArrayInputStream inStream = new ByteArrayInputStream(issuerDN); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object obj = derInStream.readObject(); - if (obj instanceof ASN1Sequence) - { - this.issuerDNX509 = new X509Name((ASN1Sequence)obj); - } - else - { - throw new IOException("parsing error"); - } - this.issuerDN = (byte[])issuerDN.clone(); - } - } - - /** - * Sets the subject criterion. The specified distinguished name must match - * the subject distinguished name in the X509Certificate. If - * null, any subject distinguished name will do.
    - *
    - * If subjectDN is not null, it should - * contain a distinguished name, in RFC 2253 format.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for parsing the - * subjectDN. - * - * @param subjectDN - * a distinguished name in RFC 2253 format (or null) - * - * @exception IOException - * if a parsing error occurs (incorrect form for DN) - */ - public void setSubject(String subjectDN) throws IOException - { - if (subjectDN == null) - { - this.subjectDN = null; - this.subjectDNX509 = null; - } - else - { - X509Name nameX509; - try - { - nameX509 = new X509Name(subjectDN); - } - catch (IllegalArgumentException ex) - { - throw new IOException(ex.getMessage()); - } - - this.subjectDNX509 = nameX509; - this.subjectDN = subjectDN; - } - } - - /** - * Sets the subject criterion. The specified distinguished name must match - * the subject distinguished name in the X509Certificate. If - * null, any subject distinguished name will do.
    - *
    - * If subjectDN is not null, it should - * contain a single DER encoded distinguished name, as defined in X.501. For - * the ASN.1 notation for this structure, see - * {@link #setIssuer(byte []) setIssuer(byte [] issuerDN)}.
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name} - * - * @param subjectDN - * a byte array containing the distinguished name in ASN.1 DER - * format (or null) - * - * @exception IOException - * if an encoding error occurs (incorrect form for DN) - */ - public void setSubject(byte[] subjectDN) throws IOException - { - if (subjectDN == null) - { - this.subjectDN = null; - this.subjectDNX509 = null; - } - else - { - ByteArrayInputStream inStream = new ByteArrayInputStream(subjectDN); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object obj = derInStream.readObject(); - - if (obj instanceof ASN1Sequence) - { - this.subjectDNX509 = new X509Name((ASN1Sequence)obj); - } - else - { - throw new IOException("parsing error"); - } - this.subjectDN = (byte[])subjectDN.clone(); - } - } - - /** - * Sets the subjectKeyIdentifier criterion. The X509Certificate - * must contain a SubjectKeyIdentifier extension for which the contents of - * the extension matches the specified criterion value. If the criterion - * value is null, no subjectKeyIdentifier check will be done.
    - *
    - * If subjectKeyID is not null, it should - * contain a single DER encoded value corresponding to the contents of the - * extension value (not including the object identifier, criticality - * setting, and encapsulating OCTET STRING) for a SubjectKeyIdentifier - * extension. The ASN.1 notation for this structure follows.
    - *
    - * - *
    -     *    SubjectKeyIdentifier ::= KeyIdentifier
    -     * 
    -     *    KeyIdentifier ::= OCTET STRING
    -     * 
    - * - *
    - *
    - * Since the format of subject key identifiers is not mandated by any - * standard, subject key identifiers are not parsed by the - * X509CertSelector. Instead, the values are compared using - * a byte-by-byte comparison.
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications. - * - * @param subjectKeyID - - * the subject key identifier (or null) - * - * @see #getSubjectKeyIdentifier() - */ - public void setSubjectKeyIdentifier(byte[] subjectKeyID) - { - if (subjectKeyID == null) - { - this.subjectKeyID = null; - } - else - { - this.subjectKeyID = (byte[])subjectKeyID.clone(); - } - } - - /** - * Sets the authorityKeyIdentifier criterion. The - * X509Certificate must contain an AuthorityKeyIdentifier - * extension for which the contents of the extension value matches the - * specified criterion value. If the criterion value is null, - * no authorityKeyIdentifier check will be done.
    - *
    - * If authorityKeyID is not null, it should - * contain a single DER encoded value corresponding to the contents of the - * extension value (not including the object identifier, criticality - * setting, and encapsulating OCTET STRING) for an AuthorityKeyIdentifier - * extension. The ASN.1 notation for this structure follows.
    - *
    - * - *
    -     *    AuthorityKeyIdentifier ::= SEQUENCE {
    -     *      keyIdentifier             [0] KeyIdentifier           OPTIONAL,
    -     *      authorityCertIssuer       [1] GeneralNames            OPTIONAL,
    -     *      authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }
    -     * 
    -     *    KeyIdentifier ::= OCTET STRING
    -     * 
    - * - *
    - *
    - * Authority key identifiers are not parsed by the - * X509CertSelector. Instead, the values are compared using - * a byte-by-byte comparison.
    - *
    - * When the keyIdentifier field of - * AuthorityKeyIdentifier is populated, the value is usually - * taken from the SubjectKeyIdentifier extension in the issuer's - * certificate. Note, however, that the result of - * X509Certificate.getExtensionValue() on the issuer's certificate may NOT be used directly as the - * input to setAuthorityKeyIdentifier. This is because the - * SubjectKeyIdentifier contains only a KeyIdentifier OCTET STRING, and not - * a SEQUENCE of KeyIdentifier, GeneralNames, and CertificateSerialNumber. - * In order to use the extension value of the issuer certificate's - * SubjectKeyIdentifier extension, it will be necessary to extract the value - * of the embedded KeyIdentifier OCTET STRING, then DER encode this OCTET - * STRING inside a SEQUENCE. For more details on SubjectKeyIdentifier, see - * {@link #setSubjectKeyIdentifier(byte[]) setSubjectKeyIdentifier(byte[] subjectKeyID }).
    - *
    - * Note also that the byte array supplied here is cloned to protect against - * subsequent modifications. - * - * @param authorityKeyID - * the authority key identifier (or null) - * - * @see #getAuthorityKeyIdentifier() - */ - public void setAuthorityKeyIdentifier(byte[] authorityKeyID) - { - if (authorityKeyID == null) - { - this.authorityKeyID = null; - } - else - { - this.authorityKeyID = (byte[])authorityKeyID.clone(); - } - } - - /** - * Sets the certificateValid criterion. The specified date must fall within - * the certificate validity period for the X509Certificate. If - * null, no certificateValid check will be done.
    - *
    - * Note that the Date supplied here is cloned to protect against subsequent - * modifications. - * - * @param certValid - * the Date to check (or null) - * - * @see #getCertificateValid() - */ - public void setCertificateValid(Date certValid) - { - if (certValid == null) - { - this.certValid = null; - } - else - { - this.certValid = new Date(certValid.getTime()); - } - } - - /** - * Sets the privateKeyValid criterion. The specified date must fall within - * the private key validity period for the X509Certificate. If - * null, no privateKeyValid check will be done.
    - *
    - * Note that the Date supplied here is cloned to protect against subsequent - * modifications. - * - * @param privateKeyValid - * the Date to check (or null) - * - * @see #getPrivateKeyValid() - */ - public void setPrivateKeyValid(Date privateKeyValid) - { - if (privateKeyValid == null) - { - this.privateKeyValid = null; - } - else - { - this.privateKeyValid = new Date(privateKeyValid.getTime()); - } - } - - /** - * Sets the subjectPublicKeyAlgID criterion. The X509Certificate must - * contain a subject public key with the specified algorithm. If - * null, no subjectPublicKeyAlgID check will be done. - * - * @param oid - * The object identifier (OID) of the algorithm to check for (or - * null). An OID is represented by a set of - * nonnegative integers separated by periods. - * - * @exception IOException - * if the OID is invalid, such as the first component being - * not 0, 1 or 2 or the second component being greater than - * 39. - * - * @see #getSubjectPublicKeyAlgID() - */ - public void setSubjectPublicKeyAlgID(String oid) throws IOException - { - CertUtil.parseOID(oid); - subjectKeyAlgID = new ASN1ObjectIdentifier(oid); - } - - /** - * Sets the subjectPublicKey criterion. The X509Certificate must contain the - * specified subject public key. If null, no subjectPublicKey check will be - * done. - * - * @param key - * the subject public key to check for (or null) - * - * @see #getSubjectPublicKey() - */ - public void setSubjectPublicKey(PublicKey key) - { - if (key == null) - { - subjectPublicKey = null; - subjectPublicKeyByte = null; - } - else - { - subjectPublicKey = key; - subjectPublicKeyByte = key.getEncoded(); - } - } - - /** - * Sets the subjectPublicKey criterion. The X509Certificate - * must contain the specified subject public key. If null, - * no subjectPublicKey check will be done.
    - *
    - * Because this method allows the public key to be specified as a byte - * array, it may be used for unknown key types.
    - *
    - * If key is not null, it should contain a single DER - * encoded SubjectPublicKeyInfo structure, as defined in X.509. The ASN.1 - * notation for this structure is as follows.
    - *
    - * - *
    -     *    SubjectPublicKeyInfo  ::=  SEQUENCE  {
    -     *      algorithm            AlgorithmIdentifier,
    -     *      subjectPublicKey     BIT STRING  }
    -     * 
    -     *    AlgorithmIdentifier  ::=  SEQUENCE  {
    -     *      algorithm               OBJECT IDENTIFIER,
    -     *      parameters              ANY DEFINED BY algorithm OPTIONAL  }
    -     *                                -- contains a value of the type
    -     *                                -- registered for use with the
    -     *                                -- algorithm object identifier value
    -     * 
    - * - *
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications. - * - * @param key - * a byte array containing the subject public key in ASN.1 DER - * form (or null) - * - * @exception IOException - * if an encoding error occurs (incorrect form for subject - * public key) - * - * @see #getSubjectPublicKey() - */ - public void setSubjectPublicKey(byte[] key) throws IOException - { - if (key == null) - { - subjectPublicKey = null; - subjectPublicKeyByte = null; - } - else - { - subjectPublicKey = null; - subjectPublicKeyByte = (byte[])key.clone(); - // TODO - // try to generyte PublicKey Object from subjectPublicKeyByte - } - } - - /** - * Sets the keyUsage criterion. The X509Certificate must allow the specified - * keyUsage values. If null, no keyUsage check will be done. Note that an - * X509Certificate that has no keyUsage extension implicitly allows all - * keyUsage values.
    - *
    - * Note that the boolean array supplied here is cloned to protect against - * subsequent modifications. - * - * @param keyUsage - * a boolean array in the same format as the boolean array - * returned by X509Certificate.getKeyUsage(). Or - * null. - * - * @see #getKeyUsage() - */ - public void setKeyUsage(boolean[] keyUsage) - { - if (keyUsage == null) - { - this.keyUsage = null; - } - else - { - this.keyUsage = (boolean[])keyUsage.clone(); - } - } - - /** - * Sets the extendedKeyUsage criterion. The X509Certificate - * must allow the specified key purposes in its extended key usage - * extension. If keyPurposeSet is empty or null, - * no extendedKeyUsage check will be done. Note that an - * X509Certificate that has no extendedKeyUsage extension - * implicitly allows all key purposes.
    - *
    - * Note that the Set is cloned to protect against subsequent modifications.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.KeyPurposeId KeyPurposeId} - * - * @param keyPurposeSet - * a Set of key purpose OIDs in string format (or - * null). Each OID is represented by a set of - * nonnegative integers separated by periods. - * - * @exception IOException - * if the OID is invalid, such as the first component being - * not 0, 1 or 2 or the second component being greater than - * 39. - * - * @see #getExtendedKeyUsage() - */ - public void setExtendedKeyUsage(Set keyPurposeSet) throws IOException - { - if (keyPurposeSet == null || keyPurposeSet.isEmpty()) - { - this.keyPurposeSet = keyPurposeSet; - } - else - { - this.keyPurposeSet = new HashSet(); - Iterator iter = keyPurposeSet.iterator(); - Object obj; - KeyPurposeId purposeID; - while (iter.hasNext()) - { - obj = iter.next(); - if (obj instanceof String) - { - purposeID = (KeyPurposeId)keyPurposeIdMap.get((String)obj); - if (purposeID == null) - { - throw new IOException("unknown purposeID " - + (String)obj); - } - this.keyPurposeSet.add(purposeID); - } - } - } - } - - /** - * Enables/disables matching all of the subjectAlternativeNames specified in - * the {@link #setSubjectAlternativeNames setSubjectAlternativeNames} or - * {@link #addSubjectAlternativeName addSubjectAlternativeName} methods. If - * enabled, the X509Certificate must contain all of the - * specified subject alternative names. If disabled, the X509Certificate - * must contain at least one of the specified subject alternative names.
    - *
    - * The matchAllNames flag is true by default. - * - * @param matchAllNames - * if true, the flag is enabled; if - * false, the flag is disabled. - * - * @see #getMatchAllSubjectAltNames() - */ - public void setMatchAllSubjectAltNames(boolean matchAllNames) - { - matchAllSubjectAltNames = matchAllNames; - } - - /** - * Sets the subjectAlternativeNames criterion. The - * X509Certificate must contain all or at least one of the - * specified subjectAlternativeNames, depending on the value of the - * matchAllNames flag (see {@link #setMatchAllSubjectAltNames}).
    - *
    - * This method allows the caller to specify, with a single method call, the - * complete set of subject alternative names for the subjectAlternativeNames - * criterion. The specified value replaces the previous value for the - * subjectAlternativeNames criterion.
    - *
    - * The names parameter (if not null) is a - * Collection with one entry for each name to be included in - * the subject alternative name criterion. Each entry is a List - * whose first entry is an Integer (the name type, 0-8) and - * whose second entry is a String or a byte array (the name, - * in string or ASN.1 DER encoded form, respectively). There can be multiple - * names of the same type. If null is supplied as the value - * for this argument, no subjectAlternativeNames check will be performed.
    - *
    - * Each subject alternative name in the Collection may be - * specified either as a String or as an ASN.1 encoded byte - * array. For more details about the formats used, see - * {@link #addSubjectAlternativeName(int, String) addSubjectAlternativeName(int type, String name)} - * and - * {@link #addSubjectAlternativeName(int, byte[]) addSubjectAlternativeName(int type, byte [] name}).
    - *
    - * Note that the names parameter can contain duplicate names - * (same name and name type), but they may be removed from the - * Collection of names returned by the - * {@link #getSubjectAlternativeNames} method.
    - *
    - * Note that a deep copy is performed on the Collection to protect against - * subsequent modifications. - * - * @param names - - * a Collection of names (or null) - * - * @exception IOException - * if a parsing error occurs - * - * @see #getSubjectAlternativeNames() - */ - public void setSubjectAlternativeNames(Collection names) throws IOException - { - try - { - if (names == null || names.isEmpty()) - { - subjectAltNames = null; - subjectAltNamesByte = null; - } - else - { - subjectAltNames = new HashSet(); - subjectAltNamesByte = new HashSet(); - Iterator iter = names.iterator(); - List item; - int type; - Object data; - while (iter.hasNext()) - { - item = (List)iter.next(); - type = ((Integer)item.get(0)).intValue(); - data = item.get(1); - if (data instanceof String) - { - addSubjectAlternativeName(type, (String)data); - } - else if (data instanceof byte[]) - { - addSubjectAlternativeName(type, (byte[])data); - } - else - { - throw new IOException( - "parsing error: unknown data type"); - } - } - } - } - catch (Exception ex) - { - throw new IOException("parsing exception:\n" + ex.toString()); - } - } - - /** - * Adds a name to the subjectAlternativeNames criterion. The - * X509Certificate must contain all or at least one of the - * specified subjectAlternativeNames, depending on the value of the - * matchAllNames flag (see {@link #setMatchAllSubjectAltNames}).
    - *
    - * This method allows the caller to add a name to the set of subject - * alternative names. The specified name is added to any previous value for - * the subjectAlternativeNames criterion. If the specified name is a - * duplicate, it may be ignored.
    - *
    - * The name is provided in string format. RFC 822, DNS, and URI names use - * the well-established string formats for those types (subject to the - * restrictions included in RFC 2459). IPv4 address names are supplied using - * dotted quad notation. OID address names are represented as a series of - * nonnegative integers separated by periods. And directory names - * (distinguished names) are supplied in RFC 2253 format. No standard string - * format is defined for otherNames, X.400 names, EDI party names, IPv6 - * address names, or any other type of names. They should be specified using - * the - * {@link #addSubjectAlternativeName(int, byte[]) addSubjectAlternativeName(int type, byte [] name)} - * method. - * - * @param type - * the name type (0-8, as specified in RFC 2459, section 4.2.1.7) - * @param name - - * the name in string form (not null) - * - * @exception IOException - * if a parsing error occurs - */ - public void addSubjectAlternativeName(int type, String name) - throws IOException - { - // TODO full implementation of CertUtil.parseGeneralName - byte[] encoded = CertUtil.parseGeneralName(type, name); - List tmpList = new ArrayList(); - tmpList.add(Integers.valueOf(type)); - tmpList.add(name); - subjectAltNames.add(tmpList); - tmpList.set(1, encoded); - subjectAltNamesByte.add(tmpList); - } - - /** - * Adds a name to the subjectAlternativeNames criterion. The - * X509Certificate must contain all or at least one of the - * specified subjectAlternativeNames, depending on the value of the - * matchAllNames flag (see {@link #setMatchAllSubjectAltNames}).
    - *
    - * This method allows the caller to add a name to the set of subject - * alternative names. The specified name is added to any previous value for - * the subjectAlternativeNames criterion. If the specified name is a - * duplicate, it may be ignored.
    - *
    - * The name is provided as a byte array. This byte array should contain the - * DER encoded name, as it would appear in the GeneralName structure defined - * in RFC 2459 and X.509. The encoded byte array should only contain the - * encoded value of the name, and should not include the tag associated with - * the name in the GeneralName structure. The ASN.1 definition of this - * structure appears below.
    - *
    - * - *
    -     *    GeneralName ::= CHOICE {
    -     *        otherName                       [0]     OtherName,
    -     *        rfc822Name                      [1]     IA5String,
    -     *        dNSName                         [2]     IA5String,
    -     *        x400Address                     [3]     ORAddress,
    -     *        directoryName                   [4]     Name,
    -     *        ediPartyName                    [5]     EDIPartyName,
    -     *        uniformResourceIdentifier       [6]     IA5String,
    -     *        iPAddress                       [7]     OCTET STRING,
    -     *        registeredID                    [8]     OBJECT IDENTIFIER}
    -     * 
    - * - *
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications.
    - *
    - * TODO: check encoded format - * - * @param type - * the name type (0-8, as listed above) - * @param name - * a byte array containing the name in ASN.1 DER encoded form - * - * @exception IOException - * if a parsing error occurs - */ - public void addSubjectAlternativeName(int type, byte[] name) - throws IOException - { - // TODO check encoded format - List tmpList = new ArrayList(); - tmpList.add(Integers.valueOf(type)); - tmpList.add(name.clone()); - subjectAltNames.add(tmpList); - subjectAltNamesByte.add(tmpList); - } - - /** - * Sets the name constraints criterion. The X509Certificate - * must have subject and subject alternative names that meet the specified - * name constraints.
    - *
    - * The name constraints are specified as a byte array. This byte array - * should contain the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 2459 and - * X.509. The ASN.1 definition of this structure appears below.
    - *
    - * - *
    -     *   NameConstraints ::= SEQUENCE {
    -     *        permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
    -     *        excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
    -     * 
    -     *   GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
    -     * 
    -     *   GeneralSubtree ::= SEQUENCE {
    -     *        base                    GeneralName,
    -     *        minimum         [0]     BaseDistance DEFAULT 0,
    -     *        maximum         [1]     BaseDistance OPTIONAL }
    -     * 
    -     *   BaseDistance ::= INTEGER (0..MAX)
    -     * 
    -     *   GeneralName ::= CHOICE {
    -     *        otherName                       [0]     OtherName,
    -     *        rfc822Name                      [1]     IA5String,
    -     *        dNSName                         [2]     IA5String,
    -     *        x400Address                     [3]     ORAddress,
    -     *        directoryName                   [4]     Name,
    -     *        ediPartyName                    [5]     EDIPartyName,
    -     *        uniformResourceIdentifier       [6]     IA5String,
    -     *        iPAddress                       [7]     OCTET STRING,
    -     *        registeredID                    [8]     OBJECT IDENTIFIER}
    -     * 
    - * - *
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications.
    - *
    - * TODO: implement this - * - * @param bytes - * a byte array containing the ASN.1 DER encoding of a - * NameConstraints extension to be used for checking name - * constraints. Only the value of the extension is included, not - * the OID or criticality flag. Can be null, in - * which case no name constraints check will be performed - * - * @exception IOException - * if a parsing error occurs - * @exception UnsupportedOperationException - * because this method is not supported - * @see #getNameConstraints() - */ - public void setNameConstraints(byte[] bytes) throws IOException - { - throw new UnsupportedOperationException(); - } - - /** - * Sets the basic constraints constraint. If the value is greater than or - * equal to zero, X509Certificates must include a - * basicConstraints extension with a pathLen of at least this value. If the - * value is -2, only end-entity certificates are accepted. If the value is - * -1, no check is done.
    - *
    - * This constraint is useful when building a certification path forward - * (from the target toward the trust anchor. If a partial path has been - * built, any candidate certificate must have a maxPathLen value greater - * than or equal to the number of certificates in the partial path. - * - * @param minMaxPathLen - * the value for the basic constraints constraint - * - * @exception IllegalArgumentException - * if the value is less than -2 - * - * @see #getBasicConstraints() - */ - public void setBasicConstraints(int minMaxPathLen) - { - if (minMaxPathLen < -2) - { - throw new IllegalArgumentException("minMaxPathLen must be >= -2"); - } - - this.minMaxPathLen = minMaxPathLen; - } - - /** - * Sets the policy constraint. The X509Certificate must include at least one - * of the specified policies in its certificate policies extension. If - * certPolicySet is empty, then the X509Certificate must include at least - * some specified policy in its certificate policies extension. If - * certPolicySet is null, no policy check will be performed.
    - *
    - * Note that the Set is cloned to protect against subsequent modifications.
    - *
    - * TODO: implement match check for this - * - * @param certPolicySet - * a Set of certificate policy OIDs in string format (or null). - * Each OID is represented by a set of nonnegative integers - * separated by periods. - * - * @exception IOException - * if a parsing error occurs on the OID such as the first - * component is not 0, 1 or 2 or the second component is - * greater than 39. - * - * @see #getPolicy() - */ - public void setPolicy(Set certPolicySet) throws IOException - { - if (certPolicySet == null) - { - policy = null; - policyOID = null; - } - else - { - policyOID = new HashSet(); - Iterator iter = certPolicySet.iterator(); - Object item; - while (iter.hasNext()) - { - item = iter.next(); - if (item instanceof String) - { - CertUtil.parseOID((String)item); - policyOID.add(new ASN1ObjectIdentifier((String)item)); - } - else - { - throw new IOException( - "certPolicySet contains null values or non String objects"); - } - } - policy = new HashSet(certPolicySet); - } - } - - /** - * Sets the pathToNames criterion. The X509Certificate must - * not include name constraints that would prohibit building a path to the - * specified names.
    - *
    - * This method allows the caller to specify, with a single method call, the - * complete set of names which the X509Certificates's name - * constraints must permit. The specified value replaces the previous value - * for the pathToNames criterion.
    - *
    - * This constraint is useful when building a certification path forward - * (from the target toward the trust anchor. If a partial path has been - * built, any candidate certificate must not include name constraints that - * would prohibit building a path to any of the names in the partial path.
    - *
    - * The names parameter (if not null) is a - * Collection with one entry for each name to be included in - * the pathToNames criterion. Each entry is a List whose - * first entry is an Integer (the name type, 0-8) and whose second entry is - * a String or a byte array (the name, in string or ASN.1 DER - * encoded form, respectively). There can be multiple names of the same - * type. If null is supplied as the value for this argument, - * no pathToNames check will be performed.
    - *
    - * Each name in the Collection may be specified either as a String or as an - * ASN.1 encoded byte array. For more details about the formats used, see - * {@link #addPathToName(int, String) addPathToName(int type, String name)} - * and - * {@link #addPathToName(int, byte[]) addPathToName(int type, byte [] name)}.
    - *
    - * Note that the names parameter can contain duplicate names (same name and - * name type), but they may be removed from the Collection of names returned - * by the {@link #getPathToNames} method.
    - *
    - * Note that a deep copy is performed on the Collection to protect against - * subsequent modifications.
    - *
    - * TODO: implement this match check for this - * - * @param names - * a Collection with one entry per name (or null) - * - * @exception IOException - * if a parsing error occurs - * @exception UnsupportedOperationException - * because this method is not supported - * - * @see #getPathToNames() - */ - public void setPathToNames(Collection names) throws IOException - { - try - { - if (names == null || names.isEmpty()) - { - pathToNames = null; - pathToNamesByte = null; - } - else - { - pathToNames = new HashSet(); - pathToNamesByte = new HashSet(); - Iterator iter = names.iterator(); - List item; - int type; - Object data; - - while (iter.hasNext()) - { - item = (List)iter.next(); - type = ((Integer)item.get(0)).intValue(); - data = item.get(1); - if (data instanceof String) - { - addPathToName(type, (String)data); - } - else if (data instanceof byte[]) - { - addPathToName(type, (byte[])data); - } - else - { - throw new IOException( - "parsing error: unknown data type"); - } - } - } - } - catch (Exception ex) - { - throw new IOException("parsing exception:\n" + ex.toString()); - } - } - - /** - * Adds a name to the pathToNames criterion. The - * X509Certificate must not include name constraints that - * would prohibit building a path to the specified name.
    - *
    - * This method allows the caller to add a name to the set of names which the - * X509Certificates's name constraints must permit. The - * specified name is added to any previous value for the pathToNames - * criterion. If the name is a duplicate, it may be ignored.
    - *
    - * The name is provided in string format. RFC 822, DNS, and URI names use - * the well-established string formats for those types (subject to the - * restrictions included in RFC 2459). IPv4 address names are supplied using - * dotted quad notation. OID address names are represented as a series of - * nonnegative integers separated by periods. And directory names - * (distinguished names) are supplied in RFC 2253 format. No standard string - * format is defined for otherNames, X.400 names, EDI party names, IPv6 - * address names, or any other type of names. They should be specified using - * the - * {@link #addPathToName(int, byte[]) addPathToName(int type, byte [] name)} - * method.
    - *
    - * TODO: implement this match check for this - * - * @param type - * the name type (0-8, as specified in RFC 2459, section 4.2.1.7) - * @param name - * the name in string form - * - * @exceptrion IOException if a parsing error occurs - */ - public void addPathToName(int type, String name) throws IOException - { - // TODO full implementation of CertUtil.parseGeneralName - byte[] encoded = CertUtil.parseGeneralName(type, name); - List tmpList = new ArrayList(); - tmpList.add(Integers.valueOf(type)); - tmpList.add(name); - pathToNames.add(tmpList); - tmpList.set(1, encoded); - pathToNamesByte.add(tmpList); - throw new UnsupportedOperationException(); - } - - /** - * Adds a name to the pathToNames criterion. The - * X509Certificate must not include name constraints that - * would prohibit building a path to the specified name.
    - *
    - * This method allows the caller to add a name to the set of names which the - * X509Certificates's name constraints must permit. The - * specified name is added to any previous value for the pathToNames - * criterion. If the name is a duplicate, it may be ignored.
    - *
    - * The name is provided as a byte array. This byte array should contain the - * DER encoded name, as it would appear in the GeneralName structure defined - * in RFC 2459 and X.509. The ASN.1 definition of this structure appears in - * the documentation for - * {@link #addSubjectAlternativeName(int,byte[]) addSubjectAlternativeName(int type, byte[] name)}.
    - *
    - * Note that the byte array supplied here is cloned to protect against - * subsequent modifications.
    - *
    - * TODO: implement this match check for this - * - * @param type - * the name type (0-8, as specified in RFC 2459, section 4.2.1.7) - * @param name - * a byte array containing the name in ASN.1 DER encoded form - * - * @exception IOException - * if a parsing error occurs - */ - public void addPathToName(int type, byte[] name) throws IOException - { - // TODO check encoded format - List tmpList = new ArrayList(); - tmpList.add(Integers.valueOf(type)); - tmpList.add(name.clone()); - pathToNames.add(tmpList); - pathToNamesByte.add(tmpList); - } - - /** - * Returns the certificateEquals criterion. The specified - * X509Certificate must be equal to the - * X509Certificate passed to the match method. If - * null, this check is not applied. - * - * @retrun the X509Certificate to match (or null) - * - * @see #setCertificate(java.security.cert.X509Certificate) - */ - public X509Certificate getCertificate() - { - return x509Cert; - } - - /** - * Returns the serialNumber criterion. The specified serial number must - * match the certificate serial number in the X509Certificate. - * If null, any certificate serial number will do. - * - * @return the certificate serial number to match (or null) - * - * @see #setSerialNumber(java.math.BigInteger) - */ - public BigInteger getSerialNumber() - { - return serialNumber; - } - - /** - * Returns the issuer criterion as a String. This distinguished name must - * match the issuer distinguished name in the X509Certificate. - * If null, the issuer criterion is disabled and any issuer - * distinguished name will do.
    - *
    - * If the value returned is not null, it is a distinguished - * name, in RFC 2253 format.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for formatiing - * byte[] issuerDN to String. - * - * @return the required issuer distinguished name in RFC 2253 format (or - * null) - */ - public String getIssuerAsString() - { - if (issuerDN instanceof String) - { - return new String((String)issuerDN); - } - else if (issuerDNX509 != null) - { - return issuerDNX509.toString(); - } - - return null; - } - - /** - * Returns the issuer criterion as a byte array. This distinguished name - * must match the issuer distinguished name in the - * X509Certificate. If null, the issuer - * criterion is disabled and any issuer distinguished name will do.
    - *
    - * If the value returned is not null, it is a byte array - * containing a single DER encoded distinguished name, as defined in X.501. - * The ASN.1 notation for this structure is supplied in the documentation - * for {@link #setIssuer(byte[]) setIssuer(byte [] issuerDN)}.
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications.
    - *
    - * Uses {@link org.spongycastle.asn1.DEROutputStream DEROutputStream}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name} to gnerate byte[] - * output for String issuerDN. - * - * @return a byte array containing the required issuer distinguished name in - * ASN.1 DER format (or null) - * - * @exception IOException - * if an encoding error occurs - */ - public byte[] getIssuerAsBytes() throws IOException - { - if (issuerDN instanceof byte[]) - { - return (byte[])((byte[])issuerDN).clone(); - } - else if (issuerDNX509 != null) - { - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - - derOutStream.writeObject(issuerDNX509.toASN1Primitive()); - derOutStream.close(); - - return outStream.toByteArray(); - } - - return null; - } - - /** - * Returns the subject criterion as a String. This distinguished name must - * match the subject distinguished name in the X509Certificate. - * If null, the subject criterion is disabled and any - * subject distinguished name will do.
    - *
    - * If the value returned is not null, it is a distinguished - * name, in RFC 2253 format.
    - *
    - * Uses {@link org.spongycastle.asn1.x509.X509Name X509Name} for formatiing - * byte[] subjectDN to String. - * - * @return the required subject distinguished name in RFC 2253 format (or - * null) - */ - public String getSubjectAsString() - { - if (subjectDN instanceof String) - { - return new String((String)subjectDN); - } - else if (subjectDNX509 != null) - { - return subjectDNX509.toString(); - } - - return null; - } - - /** - * Returns the subject criterion as a byte array. This distinguished name - * must match the subject distinguished name in the - * X509Certificate. If null, the subject - * criterion is disabled and any subject distinguished name will do.
    - *
    - * If the value returned is not null, it is a byte array - * containing a single DER encoded distinguished name, as defined in X.501. - * The ASN.1 notation for this structure is supplied in the documentation - * for {@link #setSubject(byte [] subjectDN) setSubject(byte [] subjectDN)}.
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications.
    - *
    - * Uses {@link org.spongycastle.asn1.DEROutputStream DEROutputStream}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name} to gnerate byte[] - * output for String subjectDN. - * - * @return a byte array containing the required subject distinguished name - * in ASN.1 DER format (or null) - * - * @exception IOException - * if an encoding error occurs - */ - public byte[] getSubjectAsBytes() throws IOException - { - if (subjectDN instanceof byte[]) - { - return (byte[])((byte[])subjectDN).clone(); - } - else if (subjectDNX509 != null) - { - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - DEROutputStream derOutStream = new DEROutputStream(outStream); - - derOutStream.writeObject(subjectDNX509.toASN1Primitive()); - derOutStream.close(); - - return outStream.toByteArray(); - } - - return null; - } - - /** - * Returns the subjectKeyIdentifier criterion. The - * X509Certificate must contain a SubjectKeyIdentifier - * extension with the specified value. If null, no - * subjectKeyIdentifier check will be done.
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications. - * - * @return the key identifier (or null) - * - * @see #setSubjectKeyIdentifier - */ - public byte[] getSubjectKeyIdentifier() - { - if (subjectKeyID != null) - { - return (byte[])subjectKeyID.clone(); - } - - return null; - } - - /** - * Returns the authorityKeyIdentifier criterion. The - * X509Certificate must contain a AuthorityKeyIdentifier - * extension with the specified value. If null, no - * authorityKeyIdentifier check will be done.
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications. - * - * @return the key identifier (or null) - * - * @see #setAuthorityKeyIdentifier - */ - public byte[] getAuthorityKeyIdentifier() - { - if (authorityKeyID != null) - { - return (byte[])authorityKeyID.clone(); - } - - return null; - } - - /** - * Returns the certificateValid criterion. The specified date must fall - * within the certificate validity period for the - * X509Certificate. If null, no - * certificateValid check will be done.
    - *
    - * Note that the Date returned is cloned to protect against - * subsequent modifications. - * - * @return the Date to check (or null) - * - * @see #setCertificateValid - */ - public Date getCertificateValid() - { - if (certValid != null) - { - return new Date(certValid.getTime()); - } - - return null; - } - - /** - * Returns the privateKeyValid criterion. The specified date must fall - * within the private key validity period for the - * X509Certificate. If null, no - * privateKeyValid check will be done.
    - *
    - * Note that the Date returned is cloned to protect against - * subsequent modifications. - * - * @return the Date to check (or null) - * - * @see #setPrivateKeyValid - */ - public Date getPrivateKeyValid() - { - if (privateKeyValid != null) - { - return new Date(privateKeyValid.getTime()); - } - - return null; - } - - /** - * Returns the subjectPublicKeyAlgID criterion. The - * X509Certificate must contain a subject public key with the - * specified algorithm. If null, no subjectPublicKeyAlgID - * check will be done. - * - * @return the object identifier (OID) of the signature algorithm to check - * for (or null). An OID is represented by a set of - * nonnegative integers separated by periods. - * - * @see #setSubjectPublicKeyAlgID - */ - public String getSubjectPublicKeyAlgID() - { - if (subjectKeyAlgID != null) - { - return subjectKeyAlgID.toString(); - } - - return null; - } - - /** - * Returns the subjectPublicKey criterion. The X509Certificate - * must contain the specified subject public key. If null, - * no subjectPublicKey check will be done. - * - * @return the subject public key to check for (or null) - * - * @see #setSubjectPublicKey - */ - public PublicKey getSubjectPublicKey() - { - return subjectPublicKey; - } - - /** - * Returns the keyUsage criterion. The X509Certificate must - * allow the specified keyUsage values. If null, no keyUsage check will be - * done.
    - *
    - * Note that the boolean array returned is cloned to protect against - * subsequent modifications. - * - * @return a boolean array in the same format as the boolean array returned - * by - * {@link X509Certificate#getKeyUsage() X509Certificate.getKeyUsage()}. - * Or null. - * - * @see #setKeyUsage - */ - public boolean[] getKeyUsage() - { - if (keyUsage != null) - { - return (boolean[])keyUsage.clone(); - } - - return null; - } - - /** - * Returns the extendedKeyUsage criterion. The X509Certificate - * must allow the specified key purposes in its extended key usage - * extension. If the keyPurposeSet returned is empty or - * null, no extendedKeyUsage check will be done. Note that - * an X509Certificate that has no extendedKeyUsage extension - * implicitly allows all key purposes. - * - * @return an immutable Set of key purpose OIDs in string - * format (or null) - * @see #setExtendedKeyUsage - */ - public Set getExtendedKeyUsage() - { - if (keyPurposeSet == null || keyPurposeSet.isEmpty()) - { - return keyPurposeSet; - } - - Set returnSet = new HashSet(); - Iterator iter = keyPurposeSet.iterator(); - while (iter.hasNext()) - { - returnSet.add(iter.next().toString()); - } - - return Collections.unmodifiableSet(returnSet); - } - - /** - * Indicates if the X509Certificate must contain all or at - * least one of the subjectAlternativeNames specified in the - * {@link #setSubjectAlternativeNames setSubjectAlternativeNames} or - * {@link #addSubjectAlternativeName addSubjectAlternativeName} methods. If - * true, the X509Certificate must contain all - * of the specified subject alternative names. If false, the - * X509Certificate must contain at least one of the specified - * subject alternative names. - * - * @return true if the flag is enabled; false - * if the flag is disabled. The flag is true by - * default. - * - * @see #setMatchAllSubjectAltNames - */ - public boolean getMatchAllSubjectAltNames() - { - return matchAllSubjectAltNames; - } - - /** - * Returns a copy of the subjectAlternativeNames criterion. The - * X509Certificate must contain all or at least one of the - * specified subjectAlternativeNames, depending on the value of the - * matchAllNames flag (see {@link #getMatchAllSubjectAltNames - * getMatchAllSubjectAltNames}). If the value returned is null, - * no subjectAlternativeNames check will be performed.
    - *
    - * If the value returned is not null, it is a - * Collection with one entry for each name to be included in - * the subject alternative name criterion. Each entry is a List - * whose first entry is an Integer (the name type, 0-8) and - * whose second entry is a String or a byte array (the name, - * in string or ASN.1 DER encoded form, respectively). There can be multiple - * names of the same type. Note that the Collection returned - * may contain duplicate names (same name and name type).
    - *
    - * Each subject alternative name in the Collection may be - * specified either as a String or as an ASN.1 encoded byte - * array. For more details about the formats used, see - * {@link #addSubjectAlternativeName(int type, String name) - * addSubjectAlternativeName(int type, String name)} and - * {@link #addSubjectAlternativeName(int type, byte [] name) - * addSubjectAlternativeName(int type, byte [] name)}.
    - *
    - * Note that a deep copy is performed on the Collection to - * protect against subsequent modifications. - * - * @return a Collection of names (or null) - * - * @see #setSubjectAlternativeNames - */ - public Collection getSubjectAlternativeNames() - { - if (subjectAltNames != null) - { - return null; - } - - Set returnAltNames = new HashSet(); - List returnList; - Iterator iter = subjectAltNames.iterator(); - List obj; - while (iter.hasNext()) - { - obj = (List)iter.next(); - returnList = new ArrayList(); - returnList.add(obj.get(0)); - if (obj.get(1) instanceof byte[]) - { - returnList.add(((byte[])obj.get(1)).clone()); - } - else - { - returnList.add(obj.get(1)); - } - returnAltNames.add(returnList); - } - - return returnAltNames; - } - - /** - * Returns the name constraints criterion. The X509Certificate - * must have subject and subject alternative names that meet the specified - * name constraints.
    - *
    - * The name constraints are returned as a byte array. This byte array - * contains the DER encoded form of the name constraints, as they would - * appear in the NameConstraints structure defined in RFC 2459 and X.509. - * The ASN.1 notation for this structure is supplied in the documentation - * for - * {@link #setNameConstraints(byte [] bytes) setNameConstraints(byte [] bytes)}.
    - *
    - * Note that the byte array returned is cloned to protect against subsequent - * modifications.
    - *
    - * TODO: implement this - * - * @return a byte array containing the ASN.1 DER encoding of a - * NameConstraints extension used for checking name constraints. - * null if no name constraints check will be - * performed. - * - * @exception UnsupportedOperationException - * because this method is not supported - * - * @see #setNameConstraints - */ - public byte[] getNameConstraints() - { - throw new UnsupportedOperationException(); - } - - /** - * Returns the basic constraints constraint. If the value is greater than or - * equal to zero, the X509Certificates must include a - * basicConstraints extension with a pathLen of at least this value. If the - * value is -2, only end-entity certificates are accepted. If the value is - * -1, no basicConstraints check is done. - * - * @return the value for the basic constraints constraint - * - * @see #setBasicConstraints - */ - public int getBasicConstraints() - { - return minMaxPathLen; - } - - /** - * Returns the policy criterion. The X509Certificate must - * include at least one of the specified policies in its certificate - * policies extension. If the Set returned is empty, then the - * X509Certificate must include at least some specified - * policy in its certificate policies extension. If the Set - * returned is null, no policy check will be performed. - * - * @return an immutable Set of certificate policy OIDs in - * string format (or null) - * - * @see #setPolicy - */ - public Set getPolicy() - { - if (policy == null) - { - return null; - } - - return Collections.unmodifiableSet(policy); - } - - /** - * Returns a copy of the pathToNames criterion. The - * X509Certificate must not include name constraints that - * would prohibit building a path to the specified names. If the value - * returned is null, no pathToNames check will be performed.
    - *
    - * If the value returned is not null, it is a - * Collection with one entry for each name to be included in - * the pathToNames criterion. Each entry is a List whose - * first entry is an Integer (the name type, 0-8) and whose - * second entry is a String or a byte array (the name, in - * string or ASN.1 DER encoded form, respectively). There can be multiple - * names of the same type. Note that the Collection returned - * may contain duplicate names (same name and name type).
    - *
    - * Each name in the Collection may be specified either as a - * String or as an ASN.1 encoded byte array. For more details - * about the formats used, see {@link #addPathToName(int type, String name) - * addPathToName(int type, String name)} and - * {@link #addPathToName(int type, byte [] name) addPathToName(int type, - * byte [] name)}.
    - *
    - * Note that a deep copy is performed on the Collection to - * protect against subsequent modifications. - * - * @return a Collection of names (or null) - * - * @see #setPathToNames - */ - public Collection getPathToNames() - { - if (pathToNames == null) - { - return null; - } - - Set returnPathToNames = new HashSet(); - List returnList; - Iterator iter = pathToNames.iterator(); - List obj; - - while (iter.hasNext()) - { - obj = (List)iter.next(); - returnList = new ArrayList(); - returnList.add(obj.get(0)); - if (obj.get(1) instanceof byte[]) - { - returnList.add(((byte[])obj.get(1)).clone()); - } - else - { - returnList.add(obj.get(1)); - } - returnPathToNames.add(returnList); - } - - return returnPathToNames; - } - - /** - * Return a printable representation of the CertSelector.
    - *
    - * TODO: implement output for currently unsupported options(name - * constraints)
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.x509.KeyPurposeId KeyPurposeId} - * - * @return a String describing the contents of the - * CertSelector - */ - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("X509CertSelector: [\n"); - if (x509Cert != null) - { - sb.append(" Certificate: ").append(x509Cert).append('\n'); - } - if (serialNumber != null) - { - sb.append(" Serial Number: ").append(serialNumber).append('\n'); - } - if (issuerDN != null) - { - sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); - } - if (subjectDN != null) - { - sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); - } - try - { - if (subjectKeyID != null) - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - subjectKeyID); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - sb.append(" Subject Key Identifier: ") - .append(ASN1Dump.dumpAsString(derObject)).append('\n'); - } - if (authorityKeyID != null) - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - authorityKeyID); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - sb.append(" Authority Key Identifier: ") - .append(ASN1Dump.dumpAsString(derObject)).append('\n'); - } - } - catch (IOException ex) - { - sb.append(ex.getMessage()).append('\n'); - } - if (certValid != null) - { - sb.append(" Certificate Valid: ").append(certValid).append('\n'); - } - if (privateKeyValid != null) - { - sb.append(" Private Key Valid: ").append(privateKeyValid) - .append('\n'); - } - if (subjectKeyAlgID != null) - { - sb.append(" Subject Public Key AlgID: ") - .append(subjectKeyAlgID).append('\n'); - } - if (subjectPublicKey != null) - { - sb.append(" Subject Public Key: ").append(subjectPublicKey) - .append('\n'); - } - if (keyUsage != null) - { - sb.append(" Key Usage: ").append(keyUsage).append('\n'); - } - if (keyPurposeSet != null) - { - sb.append(" Extended Key Usage: ").append(keyPurposeSet) - .append('\n'); - } - if (policy != null) - { - sb.append(" Policy: ").append(policy).append('\n'); - } - sb.append(" matchAllSubjectAltNames flag: ") - .append(matchAllSubjectAltNames).append('\n'); - if (subjectAltNamesByte != null) - { - sb.append(" SubjectAlternativNames: \n["); - Iterator iter = subjectAltNamesByte.iterator(); - List obj; - try - { - while (iter.hasNext()) - { - obj = (List)iter.next(); - ByteArrayInputStream inStream = new ByteArrayInputStream( - (byte[])obj.get(1)); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - sb.append(" Type: ").append(obj.get(0)).append(" Data: ") - .append(ASN1Dump.dumpAsString(derObject)).append('\n'); - } - } - catch (IOException ex) - { - sb.append(ex.getMessage()).append('\n'); - } - sb.append("]\n"); - } - if (pathToNamesByte != null) - { - sb.append(" PathToNamesNames: \n["); - Iterator iter = pathToNamesByte.iterator(); - List obj; - try - { - while (iter.hasNext()) - { - obj = (List)iter.next(); - ByteArrayInputStream inStream = new ByteArrayInputStream( - (byte[])obj.get(1)); - ASN1InputStream derInStream = new ASN1InputStream(inStream); - ASN1Object derObject = derInStream.readObject(); - sb.append(" Type: ").append(obj.get(0)).append(" Data: ") - .append(ASN1Dump.dumpAsString(derObject)).append('\n'); - } - } - catch (IOException ex) - { - sb.append(ex.getMessage()).append('\n'); - } - sb.append("]\n"); - } - sb.append(']'); - return sb.toString(); - } - - /** - * Decides whether a Certificate should be selected.
    - *
    - * TODO: implement missing tests (name constraints and path to names)
    - *
    - * Uses {@link org.spongycastle.asn1.ASN1InputStream ASN1InputStream}, - * {@link org.spongycastle.asn1.ASN1Sequence ASN1Sequence}, - * {@link org.spongycastle.asn1.ASN1ObjectIdentifier ASN1ObjectIdentifier}, - * {@link org.spongycastle.asn1.ASN1Object ASN1Object}, - * {@link org.spongycastle.asn1.DERGeneralizedTime DERGeneralizedTime}, - * {@link org.spongycastle.asn1.x509.X509Name X509Name}, - * {@link org.spongycastle.asn1.x509.X509Extensions X509Extensions}, - * {@link org.spongycastle.asn1.x509.ExtendedKeyUsage ExtendedKeyUsage}, - * {@link org.spongycastle.asn1.x509.KeyPurposeId KeyPurposeId}, - * {@link org.spongycastle.asn1.x509.SubjectPublicKeyInfo SubjectPublicKeyInfo}, - * {@link org.spongycastle.asn1.x509.AlgorithmIdentifier AlgorithmIdentifier} - * to access X509 extensions - * - * @param cert - * the Certificate to be checked - * - * @return true if the Certificate should be - * selected, false otherwise - */ - public boolean match(Certificate cert) - { - boolean[] booleanArray; - List tempList; - Iterator tempIter; - - if (!(cert instanceof X509Certificate)) - { - return false; - } - X509Certificate certX509 = (X509Certificate)cert; - - if (x509Cert != null && !x509Cert.equals(certX509)) - { - return false; - } - if (serialNumber != null - && !serialNumber.equals(certX509.getSerialNumber())) - { - return false; - } - try - { - if (issuerDNX509 != null) - { - if (!issuerDNX509.equals(PrincipalUtil - .getIssuerX509Principal(certX509), true)) - { - return false; - } - } - if (subjectDNX509 != null) - { - if (!subjectDNX509.equals(PrincipalUtil - .getSubjectX509Principal(certX509), true)) - { - return false; - } - } - } - catch (Exception ex) - { - return false; - } - if (subjectKeyID != null) - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.SubjectKeyIdentifier - .getId()); - if (data == null) - { - return false; - } - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - byte[] testData = ((ASN1OctetString)derInputStream.readObject()) - .getOctets(); - if (!Arrays.equals(subjectKeyID, testData)) - { - return false; - } - } - catch (IOException ex) - { - return false; - } - } - if (authorityKeyID != null) - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.AuthorityKeyIdentifier - .getId()); - if (data == null) - { - return false; - } - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - byte[] testData = ((ASN1OctetString)derInputStream.readObject()) - .getOctets(); - if (!Arrays.equals(authorityKeyID, testData)) - { - return false; - } - } - catch (IOException ex) - { - return false; - } - } - if (certValid != null) - { - if (certX509.getNotAfter() != null - && certValid.after(certX509.getNotAfter())) - { - return false; - } - if (certX509.getNotBefore() != null - && certValid.before(certX509.getNotBefore())) - { - return false; - } - } - if (privateKeyValid != null) - { - try - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.PrivateKeyUsagePeriod - .getId()); - if (data != null) - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - inStream = new ByteArrayInputStream( - ((ASN1OctetString)derInputStream.readObject()) - .getOctets()); - derInputStream = new ASN1InputStream(inStream); - // TODO fix this, Sequence contains tagged objects - ASN1Sequence derObject = (ASN1Sequence)derInputStream - .readObject(); - DERGeneralizedTime derDate = DERGeneralizedTime - .getInstance(derObject.getObjectAt(0)); - SimpleDateFormat dateF = new SimpleDateFormat( - "yyyyMMddHHmmssZ"); - if (privateKeyValid.before(dateF.parse(derDate.getTime()))) - { - return false; - } - derDate = DERGeneralizedTime.getInstance(derObject - .getObjectAt(1)); - if (privateKeyValid.after(dateF.parse(derDate.getTime()))) - { - return false; - } - } - } - catch (Exception ex) - { - return false; - } - } - if (subjectKeyAlgID != null) - { - try - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - certX509.getPublicKey().getEncoded()); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - SubjectPublicKeyInfo publicKeyInfo = new SubjectPublicKeyInfo( - (ASN1Sequence)derInputStream.readObject()); - AlgorithmIdentifier algInfo = publicKeyInfo.getAlgorithmId(); - if (!algInfo.getObjectId().equals(subjectKeyAlgID)) - { - return false; - } - } - catch (Exception ex) - { - return false; - } - } - if (subjectPublicKeyByte != null) - { - if (!Arrays.equals(subjectPublicKeyByte, certX509.getPublicKey() - .getEncoded())) - { - return false; - } - } - if (subjectPublicKey != null) - { - if (!subjectPublicKey.equals(certX509.getPublicKey())) - { - return false; - } - } - if (keyUsage != null) - { - booleanArray = certX509.getKeyUsage(); - if (booleanArray != null) - { - for (int i = 0; i < keyUsage.length; i++) - { - if (keyUsage[i] - && (booleanArray.length <= i || !booleanArray[i])) - { - return false; - } - } - } - } - if (keyPurposeSet != null && !keyPurposeSet.isEmpty()) - { - try - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.ExtendedKeyUsage - .getId()); - if (data != null) - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - ExtendedKeyUsage extendedKeyUsage = ExtendedKeyUsage.getInstance( - (ASN1Sequence)derInputStream.readObject()); - tempIter = keyPurposeSet.iterator(); - while (tempIter.hasNext()) - { - if (!extendedKeyUsage - .hasKeyPurposeId((KeyPurposeId)tempIter.next())) - { - return false; - } - } - } - } - catch (Exception ex) - { - return false; - } - } - if (minMaxPathLen != -1) - { - if (minMaxPathLen == -2 && certX509.getBasicConstraints() != -1) - { - return false; - } - if (minMaxPathLen >= 0 - && certX509.getBasicConstraints() < minMaxPathLen) - { - return false; - } - } - if (policyOID != null) - { - try - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.CertificatePolicies - .getId()); - if (data == null) - { - return false; - } - if (!policyOID.isEmpty()) - { - ByteArrayInputStream inStream = new ByteArrayInputStream( - data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - inStream = new ByteArrayInputStream( - ((ASN1OctetString)derInputStream.readObject()) - .getOctets()); - derInputStream = new ASN1InputStream(inStream); - Enumeration policySequence = ((ASN1Sequence)derInputStream - .readObject()).getObjects(); - ASN1Sequence policyObject; - boolean test = false; - while (policySequence.hasMoreElements() && !test) - { - policyObject = (ASN1Sequence)policySequence - .nextElement(); - if (policyOID.contains(policyObject.getObjectAt(0))) - { - test = true; - } - } - if (!test) - { - return false; - } - } - } - catch (Exception ex) - { - ex.printStackTrace(); - return false; - } - } - if (subjectAltNamesByte != null) - { - try - { - byte[] data = certX509 - .getExtensionValue(X509Extensions.SubjectAlternativeName - .getId()); - if (data == null) - { - return false; - } - ByteArrayInputStream inStream = new ByteArrayInputStream(data); - ASN1InputStream derInputStream = new ASN1InputStream(inStream); - inStream = new ByteArrayInputStream( - ((ASN1OctetString)derInputStream.readObject()) - .getOctets()); - derInputStream = new ASN1InputStream(inStream); - Enumeration altNamesSequence = ((ASN1Sequence)derInputStream - .readObject()).getObjects(); - ASN1TaggedObject altNameObject; - boolean test = false; - Set testSet = new HashSet(subjectAltNamesByte); - List testList; - ASN1Object derData; - ByteArrayOutputStream outStream; - DEROutputStream derOutStream; - while (altNamesSequence.hasMoreElements() && !test) - { - altNameObject = (ASN1TaggedObject)altNamesSequence - .nextElement(); - testList = new ArrayList(2); - testList.add(Integers.valueOf(altNameObject.getTagNo())); - derData = altNameObject.getObject(); - outStream = new ByteArrayOutputStream(); - derOutStream = new DEROutputStream(outStream); - derOutStream.writeObject(derData); - derOutStream.close(); - testList.add(outStream.toByteArray()); - - if (testSet.remove(testList)) - { - test = true; - } - - if (matchAllSubjectAltNames && !testSet.isEmpty()) - { - test = false; - } - } - if (!test) - { - return false; - } - } - catch (Exception ex) - { - ex.printStackTrace(); - return false; - } - } - - return true; - } - - /** - * Returns a copy of this object. - * - * @return the copy - */ - public Object clone() - { - try - { - X509CertSelector copy = (X509CertSelector)super.clone(); - if (issuerDN instanceof byte[]) - { - copy.issuerDN = ((byte[])issuerDN).clone(); - } - if (subjectDN instanceof byte[]) - { - copy.subjectDN = ((byte[])subjectDN).clone(); - } - if (subjectKeyID != null) - { - copy.subjectKeyID = (byte[])subjectKeyID.clone(); - } - if (authorityKeyID != null) - { - copy.authorityKeyID = (byte[])authorityKeyID.clone(); - } - if (subjectPublicKeyByte != null) - { - copy.subjectPublicKeyByte = (byte[])subjectPublicKeyByte - .clone(); - } - if (keyUsage != null) - { - copy.keyUsage = (boolean[])keyUsage.clone(); - } - if (keyPurposeSet != null) - { - copy.keyPurposeSet = new HashSet(keyPurposeSet); - } - if (policy != null) - { - copy.policy = new HashSet(policy); - copy.policyOID = new HashSet(); - Iterator iter = policyOID.iterator(); - while (iter.hasNext()) - { - copy.policyOID.add(new ASN1ObjectIdentifier( - ((ASN1ObjectIdentifier)iter.next()).getId())); - } - } - if (subjectAltNames != null) - { - copy.subjectAltNames = new HashSet(getSubjectAlternativeNames()); - Iterator iter = subjectAltNamesByte.iterator(); - List obj; - List cloneObj; - while (iter.hasNext()) - { - obj = (List)iter.next(); - cloneObj = new ArrayList(); - cloneObj.add(obj.get(0)); - cloneObj.add(((byte[])obj.get(1)).clone()); - copy.subjectAltNamesByte.add(cloneObj); - } - } - if (pathToNames != null) - { - copy.pathToNames = new HashSet(getPathToNames()); - Iterator iter = pathToNamesByte.iterator(); - List obj; - List cloneObj; - while (iter.hasNext()) - { - obj = (List)iter.next(); - cloneObj = new ArrayList(); - cloneObj.add(obj.get(0)); - cloneObj.add(((byte[])obj.get(1)).clone()); - copy.pathToNamesByte.add(cloneObj); - } - } - return copy; - } - catch (CloneNotSupportedException e) - { - /* Cannot happen */ - throw new InternalError(e.toString()); - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Certificate.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Certificate.java deleted file mode 100644 index d56f1c6f3..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Certificate.java +++ /dev/null @@ -1,33 +0,0 @@ - -package java.security.cert; - -import java.math.BigInteger; -import java.security.Principal; -import java.util.Date; - -public abstract class X509Certificate extends Certificate -implements X509Extension -{ - protected X509Certificate() - { - super("X.509"); - } - - public abstract void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException; - public abstract void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException; - public abstract int getBasicConstraints(); - public abstract Principal getIssuerDN(); - public abstract boolean[] getIssuerUniqueID(); - public abstract boolean[] getKeyUsage(); - public abstract Date getNotAfter(); - public abstract Date getNotBefore(); - public abstract BigInteger getSerialNumber(); - public abstract String getSigAlgName(); - public abstract String getSigAlgOID(); - public abstract byte[] getSigAlgParams(); - public abstract byte[] getSignature(); - public abstract Principal getSubjectDN(); - public abstract boolean[] getSubjectUniqueID(); - public abstract byte[] getTBSCertificate() throws CertificateEncodingException; - public abstract int getVersion(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Extension.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Extension.java deleted file mode 100644 index 20855be1e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/cert/X509Extension.java +++ /dev/null @@ -1,12 +0,0 @@ - -package java.security.cert; - -import java.util.Set; - -public interface X509Extension -{ - public abstract Set getCriticalExtensionOIDs(); - public abstract byte[] getExtensionValue(String oid); - public abstract Set getNonCriticalExtensionOIDs(); - public abstract boolean hasUnsupportedCriticalExtension(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java deleted file mode 100644 index 0fbb0fb17..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java +++ /dev/null @@ -1,67 +0,0 @@ - -package java.security.interfaces; - -import java.math.BigInteger; -import java.security.spec.RSAOtherPrimeInfo; - -/** - * The interface to an RSA multi-prime private key, as defined in the - * PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values. - * - * @since 1.4 - * @see RSAPrivateKeySpec, RSAMultiPrimePrivateCrtKeySpec, RSAPrivateKey, - * RSAPrivateCrtKey - */ -public interface RSAMultiPrimePrivateCrtKey -extends RSAPrivateKey -{ - /** - * Returns the public exponent. - * - * @returns the public exponent. - */ - public BigInteger getPublicExponent(); - - /** - * Returns the primeP. - * - * @returns the primeP. - */ - public BigInteger getPrimeP(); - - /** - * Returns the primeQ. - * - * @returns the primeQ. - */ - public BigInteger getPrimeQ(); - - /** - * Returns the primeExponentP. - * - * @returns the primeExponentP. - */ - public BigInteger getPrimeExponentP(); - - /** - * Returns the primeExponentQ. - * - * @returns the primeExponentQ. - */ - public BigInteger getPrimeExponentQ(); - - /** - * Returns the crtCoefficient. - * - * @returns the crtCoefficient. - */ - public BigInteger getCrtCoefficient(); - - /** - * Returns the otherPrimeInfo or null if there are only two prime - * factors (p and q). - * - * @returns the otherPrimeInfo. - */ - public RSAOtherPrimeInfo[] getOtherPrimeInfo(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateCrtKey.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateCrtKey.java deleted file mode 100644 index 81855907c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateCrtKey.java +++ /dev/null @@ -1,16 +0,0 @@ - -package java.security.interfaces; - -import java.math.BigInteger; - -public interface RSAPrivateCrtKey extends RSAPrivateKey -{ - public static final long serialVersionUID = 6034044314589513430L; - - public abstract BigInteger getCrtCoefficient(); - public abstract BigInteger getPrimeExponentP(); - public abstract BigInteger getPrimeExponentQ(); - public abstract BigInteger getPrimeP(); - public abstract BigInteger getPrimeQ(); - public abstract BigInteger getPublicExponent(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateKey.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateKey.java deleted file mode 100644 index 9b37eef93..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPrivateKey.java +++ /dev/null @@ -1,13 +0,0 @@ - -package java.security.interfaces; - -import java.math.BigInteger; -import java.security.PrivateKey; - -public interface RSAPrivateKey extends PrivateKey -{ - public static final long serialVersionUID = 6034044314589513430L; - - public abstract BigInteger getModulus(); - public abstract BigInteger getPrivateExponent(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPublicKey.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPublicKey.java deleted file mode 100644 index 6ae00ec2c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/interfaces/RSAPublicKey.java +++ /dev/null @@ -1,13 +0,0 @@ - -package java.security.interfaces; - -import java.math.BigInteger; -import java.security.PublicKey; - -public interface RSAPublicKey extends PublicKey -{ - public static final long serialVersionUID = 7187392471159151072L; - - public abstract BigInteger getModulus(); - public abstract BigInteger getPublicExponent(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/AlgorithmParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/AlgorithmParameterSpec.java deleted file mode 100644 index 37a03e9b2..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/AlgorithmParameterSpec.java +++ /dev/null @@ -1,6 +0,0 @@ - -package java.security.spec; - -public interface AlgorithmParameterSpec -{ -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAParameterSpec.java deleted file mode 100644 index a3897f8a6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAParameterSpec.java +++ /dev/null @@ -1,34 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; -import java.security.interfaces.DSAParams; - -public class DSAParameterSpec implements AlgorithmParameterSpec, DSAParams -{ - private BigInteger p; - private BigInteger q; - private BigInteger g; - - public DSAParameterSpec(BigInteger p, BigInteger q, BigInteger g) - { - this.p = p; - this.q = q; - this.g = g; - } - - public BigInteger getG() - { - return g; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPrivateKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPrivateKeySpec.java deleted file mode 100644 index ff5febef6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPrivateKeySpec.java +++ /dev/null @@ -1,40 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -public class DSAPrivateKeySpec implements KeySpec -{ - private BigInteger x; - private BigInteger p; - private BigInteger q; - private BigInteger g; - - public DSAPrivateKeySpec(BigInteger x, BigInteger p, BigInteger q, BigInteger g) - { - this.x = x; - this.p = p; - this.q = q; - this.g = g; - } - - public BigInteger getG() - { - return g; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getX() - { - return x; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPublicKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPublicKeySpec.java deleted file mode 100644 index f8ca36792..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/DSAPublicKeySpec.java +++ /dev/null @@ -1,40 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -public class DSAPublicKeySpec implements KeySpec -{ - private BigInteger y; - private BigInteger p; - private BigInteger q; - private BigInteger g; - - public DSAPublicKeySpec(BigInteger y, BigInteger p, BigInteger q, BigInteger g) - { - this.y = y; - this.p = p; - this.q = q; - this.g = g; - } - - public BigInteger getG() - { - return g; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getY() - { - return y; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/EncodedKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/EncodedKeySpec.java deleted file mode 100644 index 7295460f0..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/EncodedKeySpec.java +++ /dev/null @@ -1,19 +0,0 @@ - -package java.security.spec; - -public abstract class EncodedKeySpec implements KeySpec -{ - private byte[] encodedKey; - - public EncodedKeySpec(byte[] encodedKey) - { - this.encodedKey = (byte[])encodedKey.clone(); - } - - public byte[] getEncoded() - { - return (byte[])encodedKey.clone(); - } - - public abstract String getFormat(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidKeySpecException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidKeySpecException.java deleted file mode 100644 index cb29aee38..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidKeySpecException.java +++ /dev/null @@ -1,16 +0,0 @@ - -package java.security.spec; - -import java.security.GeneralSecurityException; - -public class InvalidKeySpecException extends GeneralSecurityException -{ - public InvalidKeySpecException() - { - } - - public InvalidKeySpecException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidParameterSpecException.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidParameterSpecException.java deleted file mode 100644 index c8303edda..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/InvalidParameterSpecException.java +++ /dev/null @@ -1,16 +0,0 @@ - -package java.security.spec; - -import java.security.GeneralSecurityException; - -public class InvalidParameterSpecException extends GeneralSecurityException -{ - public InvalidParameterSpecException() - { - } - - public InvalidParameterSpecException(String msg) - { - super(msg); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/KeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/KeySpec.java deleted file mode 100644 index cfa7cb92f..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/KeySpec.java +++ /dev/null @@ -1,6 +0,0 @@ - -package java.security.spec; - -public interface KeySpec -{ -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PKCS8EncodedKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PKCS8EncodedKeySpec.java deleted file mode 100644 index 10c5f66c2..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PKCS8EncodedKeySpec.java +++ /dev/null @@ -1,20 +0,0 @@ - -package java.security.spec; - -public class PKCS8EncodedKeySpec extends EncodedKeySpec -{ - public PKCS8EncodedKeySpec(byte[] encodedKey) - { - super(encodedKey); - } - - public byte[] getEncoded() - { - return super.getEncoded(); - } - - public final String getFormat() - { - return "PKCS#8"; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PSSParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PSSParameterSpec.java deleted file mode 100644 index c4b4989cd..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/PSSParameterSpec.java +++ /dev/null @@ -1,45 +0,0 @@ - -package java.security.spec; - -/** - * This class specifies a parameter spec for RSA PSS encoding scheme, - * as defined in the PKCS#1 v2.1. - * - * @since 1.4 - * @see AlgorithmParameterSpec, Signature - */ -public class PSSParameterSpec - extends Object - implements AlgorithmParameterSpec -{ - private int saltLen; - - /** - * Creates a new PSSParameterSpec given the salt length as defined - * in PKCS#1. - * - * @param saltLen - the length of salt in bits to be used in PKCS#1 - * PSS encoding. - * @throws IllegalArgumentException - if saltLen is less than 0. - */ - public PSSParameterSpec(int saltLen) - { - if ( saltLen < 0 ) - { - throw new IllegalArgumentException("Salt length must be >= 0"); - } - - this.saltLen = saltLen; - } - - /** - * Returns the salt length in bits. - * - * @returns the salt length. - */ - public int getSaltLength() - { - return saltLen; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAKeyGenParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAKeyGenParameterSpec.java deleted file mode 100644 index 756c6c0fd..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAKeyGenParameterSpec.java +++ /dev/null @@ -1,35 +0,0 @@ -package java.security.spec; - -import java.math.BigInteger; - -/** - * specifies parameters to be used for the generation of - * a RSA key pair. - */ -public class RSAKeyGenParameterSpec - implements AlgorithmParameterSpec -{ - static BigInteger F0 = BigInteger.valueOf(3); - static BigInteger F4 = BigInteger.valueOf(65537); - - private int keysize; - private BigInteger publicExponent; - - public RSAKeyGenParameterSpec( - int keysize, - BigInteger publicExponent) - { - this.keysize = keysize; - this.publicExponent = publicExponent; - } - - public int getKeysize() - { - return keysize; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java deleted file mode 100644 index 53c3a8a51..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java +++ /dev/null @@ -1,159 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -/** - * This class specifies an RSA multi-prime private key, as defined in - * the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information - * values for efficiency. - * - * @since 1.4 - * @see Key, KeyFactory, KeySpec, PKCS8EncodedKeySpec, RSAPrivateKeySpec, - * RSAPublicKeySpec, RSAOtherPrimeInfo - */ -public class RSAMultiPrimePrivateCrtKeySpec - extends RSAPrivateKeySpec -{ - private BigInteger publicExponent; - private BigInteger privateExponent; - private BigInteger primeP; - private BigInteger primeQ; - private BigInteger primeExponentP; - private BigInteger primeExponentQ; - private BigInteger crtCoefficient; - private RSAOtherPrimeInfo[] otherPrimeInfo; - - /** - * Creates a new RSAMultiPrimePrivateCrtKeySpec given the modulus, - * publicExponent, privateExponent, primeP, primeQ, primeExponentP, - * primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in - * PKCS#1 v2.1. - * - * Note that otherPrimeInfo is cloned when constructing this object. - * - * @param modulus - the modulus n. - * @param publicExponent - the public exponent e. - * @param privateExponent - the private exponent d. - * @param primeP - the prime factor p of n. - * @param primeQ - the prime factor q of n. - * @param primeExponentP - this is d mod (p-1). - * @param primeExponentQ - this is d mod (q-1). - * @param crtCoefficient - the Chinese Remainder Theorem coefficient q-1 - * mod p. - * @param otherPrimeInfo - triplets of the rest of primes, null can be - * specified if there are only two prime factors (p and q). - * @throws NullPointerException - if any of the parameters, i.e. modulus, - * publicExponent, privateExponent, primeP, primeQ, primeExponentP, - * primeExponentQ, crtCoefficient, is null. - * @throws IllegalArgumentException - if an empty, i.e. 0-length, - * otherPrimeInfo is specified. - */ - public RSAMultiPrimePrivateCrtKeySpec( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger primeP, - BigInteger primeQ, - BigInteger primeExponentP, - BigInteger primeExponentQ, - BigInteger crtCoefficient, - RSAOtherPrimeInfo[] otherPrimeInfo) - { - super(modulus, privateExponent); - - if ( publicExponent == null || primeP == null || primeQ == null - || primeExponentP == null || primeExponentQ == null - || crtCoefficient == null ) - { - throw new NullPointerException("Invalid null argument"); - } - - if ( otherPrimeInfo != null ) - { - if ( otherPrimeInfo.length == 0 ) - { - throw new IllegalArgumentException("Invalid length for otherPrimeInfo"); - } - - this.otherPrimeInfo = (RSAOtherPrimeInfo[])otherPrimeInfo.clone(); - } - } - - /** - * Returns the public exponent. - * - * @returns the public exponent. - */ - public BigInteger getPublicExponent() - { - return publicExponent; - } - - /** - * Returns the primeP. - * - * @returns the primeP. - */ - public BigInteger getPrimeP() - { - return primeP; - } - - /** - * Returns the primeQ. - * - * @returns the primeQ. - */ - public BigInteger getPrimeQ() - { - return primeQ; - } - - /** - * Returns the primeExponentP. - * - * @returns the primeExponentP. - */ - public BigInteger getPrimeExponentP() - { - return primeExponentP; - } - - /** - * Returns the primeExponentQ. - * - * @returns the primeExponentQ. - */ - public BigInteger getPrimeExponentQ() - { - return primeExponentQ; - } - - /** - * Returns the crtCofficient. - * - * @returns the crtCofficient. - */ - public BigInteger getCrtCoefficient() - { - return crtCoefficient; - } - - /** - * Returns a copy of the otherPrimeInfo or null if there are only - * two prime factors (p and q). - * - * @returns the otherPrimeInfo. - */ - public RSAOtherPrimeInfo[] getOtherPrimeInfo() - { - if ( otherPrimeInfo != null ) - { - return (RSAOtherPrimeInfo[])otherPrimeInfo.clone(); - } - - return null; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAOtherPrimeInfo.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAOtherPrimeInfo.java deleted file mode 100644 index 4d0e1468e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAOtherPrimeInfo.java +++ /dev/null @@ -1,80 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -/** - * This class represents the triplet (prime, exponent, and coefficient) - * inside RSA's OtherPrimeInfo structure, as defined in the PKCS#1 v2.1. - * The ASN.1 syntax of RSA's OtherPrimeInfo is as follows: - * - *
    - * OtherPrimeInfo ::= SEQUENCE {
    - *    prime INTEGER,
    - *    exponent INTEGER,
    - *    coefficient INTEGER
    - * }
    - * 
    - */ -public class RSAOtherPrimeInfo -extends Object -{ - private BigInteger prime; - private BigInteger primeExponent; - private BigInteger crtCoefficient; - - /** - * Creates a new RSAOtherPrimeInfo given the prime, primeExponent, - * and crtCoefficient as defined in PKCS#1. - * - * @param prime - the prime factor of n. - * @param primeExponent - the exponent. - * @param crtCoefficient - the Chinese Remainder Theorem coefficient. - * @throws NullPointerException - if any of the parameters, i.e. prime, - * primeExponent, crtCoefficient, is null. - */ - public RSAOtherPrimeInfo( - BigInteger prime, - BigInteger primeExponent, - BigInteger crtCoefficient) - { - if ( prime == null || primeExponent == null || crtCoefficient == null ) - { - throw new NullPointerException("Null parameter"); - } - - this.prime = prime; - this.primeExponent = primeExponent; - this.crtCoefficient = crtCoefficient; - } - - /** - * Returns the prime. - * - * @returns the prime. - */ - public final BigInteger getPrime() - { - return prime; - } - - /** - * Returns the prime's exponent. - * - * @returns the primeExponent. - */ - public final BigInteger getExponent() - { - return primeExponent; - } - - /** - * Returns the prime's crtCoefficient. - * - * @returns the crtCoefficient. - */ - public final BigInteger getCrtCoefficient() - { - return crtCoefficient; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateCrtKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateCrtKeySpec.java deleted file mode 100644 index b9d450ad7..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateCrtKeySpec.java +++ /dev/null @@ -1,64 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -public class RSAPrivateCrtKeySpec extends RSAPrivateKeySpec -{ - private BigInteger publicExponent; - private BigInteger primeP; - private BigInteger primeQ; - private BigInteger primeExponentP; - private BigInteger primeExponentQ; - private BigInteger crtCoefficient; - - public RSAPrivateCrtKeySpec( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger primeP, - BigInteger primeQ, - BigInteger primeExponentP, - BigInteger primeExponentQ, - BigInteger crtCoefficient) - { - super(modulus, privateExponent); - - this.publicExponent = publicExponent; - this.primeP = primeP; - this.primeQ = primeQ; - this.primeExponentP = primeExponentP; - this.primeExponentQ = primeExponentQ; - this.crtCoefficient = crtCoefficient; - } - - public BigInteger getCrtCoefficient() - { - return crtCoefficient; - } - - public BigInteger getPrimeExponentP() - { - return primeExponentP; - } - - public BigInteger getPrimeExponentQ() - { - return primeExponentQ; - } - - public BigInteger getPrimeP() - { - return primeP; - } - - public BigInteger getPrimeQ() - { - return primeQ; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateKeySpec.java deleted file mode 100644 index 88dc4c159..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPrivateKeySpec.java +++ /dev/null @@ -1,28 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -public class RSAPrivateKeySpec extends Object implements KeySpec -{ - private BigInteger modulus; - private BigInteger privateExponent; - - public RSAPrivateKeySpec( - BigInteger modulus, - BigInteger privateExponent) - { - this.modulus = modulus; - this.privateExponent = privateExponent; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPrivateExponent() - { - return privateExponent; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPublicKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPublicKeySpec.java deleted file mode 100644 index b3a367e7e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/RSAPublicKeySpec.java +++ /dev/null @@ -1,28 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -public class RSAPublicKeySpec extends Object implements KeySpec -{ - private BigInteger modulus; - private BigInteger publicExponent; - - public RSAPublicKeySpec( - BigInteger modulus, - BigInteger publicExponent) - { - this.modulus = modulus; - this.publicExponent = publicExponent; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/X509EncodedKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/X509EncodedKeySpec.java deleted file mode 100644 index 1d095b11d..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/security/spec/X509EncodedKeySpec.java +++ /dev/null @@ -1,20 +0,0 @@ - -package java.security.spec; - -public class X509EncodedKeySpec extends EncodedKeySpec -{ - public X509EncodedKeySpec(byte[] encodedKey) - { - super(encodedKey); - } - - public byte[] getEncoded() - { - return super.getEncoded(); - } - - public final String getFormat() - { - return "X.509"; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractCollection.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractCollection.java deleted file mode 100644 index 0ea61b772..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractCollection.java +++ /dev/null @@ -1,242 +0,0 @@ -package java.util; - -import java.lang.reflect.Array; -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - - -public abstract class AbstractCollection implements Collection - { - protected AbstractCollection() - { - } - - public abstract Iterator iterator(); - - public abstract int size(); - - public boolean isEmpty() - { - return size()==0; - } - - public boolean contains(Object o) - { - Iterator it=iterator(); - while(it.hasNext()) - { - Object e=it.next(); - if(o==null) - { - if(e==null) - return true; - } - else - { - if(o.equals(e)) - return true; - } - } - return false; - } - - public Object[] toArray() - { - Object[] arObjects=new Object[size()]; - Iterator it=iterator(); - int i=0; - while(it.hasNext()) - { - arObjects[i++]=it.next(); - } - return arObjects; - } - - public Object[] toArray(Object[] a) throws NullPointerException,ArrayStoreException - //TODO: Check if this is realy compatible to SUN!!! - { - if(a==null) - throw new NullPointerException(); - - if (isEmpty()) return a; - Object[] arObjects=null; - int size=size(); - if(a.lengthsize) - arObjects[size]=null; - - } - - Iterator it=iterator(); - int i=0; - while(it.hasNext()) - { - Object o=it.next(); - arObjects[i++]=o; - } - return arObjects; - } - - public boolean add(Object o) throws UnsupportedOperationException,NullPointerException,ClassCastException,IllegalArgumentException - { - throw new UnsupportedOperationException(); - } - - public boolean remove(Object o) throws UnsupportedOperationException - { - Iterator it=iterator(); - while(it.hasNext()) - { - Object e=it.next(); - if(o==null) - { - if(e==null) - { - try - { - it.remove(); - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - return true; - } - } - else - { - if(o.equals(e)) - { - try - { - it.remove(); - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - return true; - } - } - } - return false; - } - - public boolean containsAll(Collection c) - { - Iterator it=c.iterator(); - while(it.hasNext()) - { - if(!contains(it.next())) - return false; - } - return true; - } - - public boolean addAll(Collection c) throws UnsupportedOperationException - { - Iterator it=c.iterator(); - boolean ret=false; - while(it.hasNext()) - { - try - { - ret|=add(it.next()); - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - return ret; - } - - public boolean removeAll(Collection c) throws UnsupportedOperationException - { - Iterator it=iterator(); - boolean ret=false; - while(it.hasNext()) - { - if(c.contains(it.next())) - try - { - it.remove(); - ret=true; - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - return ret; - } - - public boolean retainAll(Collection c) throws UnsupportedOperationException - { - Iterator it=iterator(); - boolean ret=false; - while(it.hasNext()) - { - if(!c.contains(it.next())) - try - { - it.remove(); - ret=true; - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - return ret; - } - - public void clear() throws UnsupportedOperationException - { - Iterator it=iterator(); - while(it.hasNext()) - { - try - { - it.next(); - it.remove(); - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - } - - public String toString() - { - String ret="["; - Iterator it=iterator(); - if(it.hasNext()) - ret+=String.valueOf(it.next()); - while(it.hasNext()) - { - ret+=", "; - ret+=String.valueOf(it.next()); - - } - ret+="]"; - return ret; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractList.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractList.java deleted file mode 100644 index 363b57aec..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractList.java +++ /dev/null @@ -1,281 +0,0 @@ -package java.util; - -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public abstract class AbstractList extends AbstractCollection implements List - -{ - protected AbstractList al = this; - - - protected AbstractList() - { - } - - public boolean add(Object o) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException - { - try - { - add(size(),o); - return true; - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - - public abstract Object get(int index) throws IndexOutOfBoundsException; - - public Object set(int index,Object element) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - throw new UnsupportedOperationException(); - } - - public void add(int index,Object element) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - throw new UnsupportedOperationException(); - } - - public Object remove(int index) throws UnsupportedOperationException, IndexOutOfBoundsException - { - Object o = get(index); - - removeRange(index,index+1); - return o; - } - - public int indexOf(Object o) - { - ListIterator li = listIterator(); - Object e; - while(li.hasNext()) - { - int index=li.nextIndex(); - e=li.next(); - System.out.println(e); - if(o==null) - { - if(e==null) - return index; - } - else - { - if(o.equals(e)) - return index; - } - } - return -1; - } - - public int lastIndexOf(Object o) - { - ListIterator li=listIterator(size()); - while(li.hasPrevious()) - { - int index=li.previousIndex(); - Object e=li.previous(); - if(o==null) - { - if(e==null) - return index; - } - else - { - if(o.equals(e)) - return index; - } - } - return -1; - } - - public void clear() throws UnsupportedOperationException - { - try - { - removeRange(0,size()); - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - - public boolean addAll(int index,Collection c) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException, IndexOutOfBoundsException - { - Iterator it=c.iterator(); - boolean ret=false; - while(it.hasNext()) - { - try - { - add(index++,it.next()); - ret=true; - } - catch(UnsupportedOperationException ue) - { - throw ue; - } - } - return ret; - } - - public Iterator iterator() - { - return new AbstractListIterator(this,0); - } - - public ListIterator listIterator() - { - return listIterator(0); - } - - public ListIterator listIterator(int index) throws IndexOutOfBoundsException - { - if(index<0||index>size()) throw new IndexOutOfBoundsException(); - return new AbstractListListIterator(this,index); - } - - public List subList(int fromIndex,int toIndex) throws IndexOutOfBoundsException,IllegalArgumentException - { - if(fromIndex < 0 || toIndex > size()) - throw new IndexOutOfBoundsException(); - if(fromIndex>toIndex) - throw new IllegalArgumentException(); - return (List) new Sublist(this,fromIndex,toIndex); - } - - public boolean equals(Object o) - { - if(o==this) - return true; - if(!(o instanceof List)) - return false; - Iterator it1=iterator(); - Iterator it2=((List)o).iterator(); - while(it1.hasNext()) - { - if(!it2.hasNext()) - return false; - Object e1=it1.next(); - Object e2=it2.next(); - if(e1==null) - { - if(e2!=null) - return false; - } - if(!e1.equals(e2)) - return false; - } - return true; - } - - public int hashCode() - { - int hashCode = 1; - Iterator it = iterator(); - while (it.hasNext()) - { - Object o = it.next(); - hashCode = 31*hashCode + (o==null ? 0 : o.hashCode()); - } - return hashCode; - } - - protected void removeRange(int fromIndex,int toIndex) - { - System.out.println("breakpoint 1"); - if(fromIndex==toIndex) return; - System.out.println("breakpoint 2"); - ListIterator li=listIterator(fromIndex); - System.out.println("breakpoint 3"); - int i=fromIndex; - do - { - li.next(); - li.remove(); - i++; - }while(li.hasNext()&&i0; - } - - public Object previous()// throws NoSuchElementException; - { - return m_al.get(--m_nextIndex); - } - - public int nextIndex() - { - return m_nextIndex; - } - - public int previousIndex() - { - return m_nextIndex-1; - } - - public void set(Object o) //throws UnsupportedOperationException, ClassCastException, IllegalArgumentException,IllegalStateException; - { - m_al.set(m_nextIndex-1,o); - } - - public void add(Object o)// throws UnsupportedOperationException, ClassCastException, IllegalArgumentException; - { - m_al.add(m_nextIndex-1,o); - } - } - - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractMap.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractMap.java deleted file mode 100644 index d5b2e02e1..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractMap.java +++ /dev/null @@ -1,164 +0,0 @@ -package java.util; - -/************* - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public abstract class AbstractMap implements Map{ - - protected AbstractMap() - { - } - - public int size() - { - return entrySet().size(); - } - - public boolean isEmpty() - { - return size()==0; - } - - public boolean containsValue(Object value) - { - Iterator it=entrySet().iterator(); - while(it.hasNext()) - { - Map.Entry v=(Map.Entry)it.next(); - if(value==null) - { - if(v.getValue()==null) - return true; - } - else - { - if(value.equals(v.getValue())) - return true; - } - } - return false; - } - - public boolean containsKey(Object key) throws ClassCastException,NullPointerException - { - Iterator it=entrySet().iterator(); - while(it.hasNext()) - { - Map.Entry v=(Map.Entry)it.next(); - if(key==null) - { - if(v.getKey()==null) - return true; - } - else - { - if(key.equals(v.getKey())) - return true; - } - } - return false; - } - - public Object get(Object key)throws ClassCastException,NullPointerException - { - Iterator it=entrySet().iterator(); - while(it.hasNext()) - { - Map.Entry v=(Map.Entry)it.next(); - if(key==null) - { - if(v.getKey()==null) - return v.getValue(); - } - else - { - if(key.equals(v.getKey())) - return v.getValue(); - } - } - return null; - } - - public Object put(Object key,Object value) throws UnsupportedOperationException - { - throw new UnsupportedOperationException(); - } - - public Object remove(Object key) - { - Iterator it=entrySet().iterator(); - Object o=null; - while(it.hasNext()) - { - Map.Entry v=(Map.Entry)it.next(); - if(key==null) - { - if(v.getKey()==null) - { - o=v.getValue(); - it.remove(); - return o; - } - } - else - { - if(key.equals(v.getKey())) - { - o=v.getValue(); - it.remove(); - return o; - } - } - } - return null; - } - - public void putAll(Map t) - { - Iterator it=t.entrySet().iterator(); - while(it.hasNext()) - { - Map.Entry v=(Map.Entry)it.next(); - put(v.getKey(),v.getValue()); - } - } - - public void clear() - { - entrySet().clear(); - } - - public Set keySet() - { - throw new UnsupportedOperationException("no keySet in AbstractMap()"); - } - - public Collection values() - { - throw new UnsupportedOperationException("no values in AbstractMap()"); - } - - public abstract Set entrySet(); - - public boolean equals(Object o) - { - throw new UnsupportedOperationException("no equals in AbstractMap()"); - } - - public int hashCode() - { - throw new UnsupportedOperationException("no hashCode in AbstractMap()"); - } - - public String toString() - { - throw new UnsupportedOperationException("no toString in AbstractMap()"); - } - - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractSet.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractSet.java deleted file mode 100644 index 45bbb22f6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/AbstractSet.java +++ /dev/null @@ -1,42 +0,0 @@ -package java.util; - -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public abstract class AbstractSet extends AbstractCollection implements Set - { - protected AbstractSet() - { - } - - public boolean equals(Object o) - { - if(this==o) - return true; - if(o==null) - return false; - if(!(o instanceof Set)) - return false; - if(((Set)o).size()!=size()) - return false; - return containsAll((Collection)o); - } - - public int hashCode() - { - int hashCode=0; - Iterator it=iterator(); - while(it.hasNext()) - { - Object o=it.next(); - if(o!=null) - hashCode+=o.hashCode(); - } - return hashCode; - } - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/ArrayList.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/ArrayList.java deleted file mode 100644 index 7e3cbbc3d..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/ArrayList.java +++ /dev/null @@ -1,107 +0,0 @@ -package java.util; - -public class ArrayList extends AbstractList - implements List - { - Vector m_Vector=null; - - public ArrayList() - { - m_Vector=new Vector(); - } - - public ArrayList(Collection c) - { - m_Vector=new Vector((int)(c.size()*1.1)); - addAll(c); - } - - public ArrayList(int initialCapacity) - { - m_Vector=new Vector(initialCapacity); - } - - public void trimToSize() - { - m_Vector.trimToSize(); - } - - public void ensureCapacity(int minCapacity) - { - m_Vector.ensureCapacity(minCapacity); - } - - public int size() - { - return m_Vector.size(); - } - - public boolean contains(Object elem) - { - return m_Vector.contains(elem); - } - - public int indexOf(Object elem) - { - return m_Vector.indexOf(elem); - } - - public int lastIndexOf(Object elem) - { - return m_Vector.lastIndexOf(elem); - } - - public Object clone() - { - ArrayList al=new ArrayList(); - al.m_Vector=(Vector)m_Vector.clone(); - return al; - } - - public Object[] toArray() - { - Object[] o=new Object[m_Vector.size()]; - m_Vector.copyInto(o); - return o; - } - - public Object get(int index) - { - return m_Vector.elementAt(index); - } - - public Object set(int index,Object elem) - { - Object o=m_Vector.elementAt(index); - m_Vector.setElementAt(elem,index); - return o; - } - - public boolean add(Object o) - { - m_Vector.addElement(o); - return true; - } - - public void add(int index,Object elem) - { - m_Vector.insertElementAt(elem,index); - } - - public Object remove(int index) - { - Object o=m_Vector.elementAt(index); - m_Vector.removeElementAt(index); - return o; - } - - public void clear() - { - m_Vector.removeAllElements(); - } - - - - - - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Arrays.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Arrays.java deleted file mode 100644 index 0591e8d7f..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Arrays.java +++ /dev/null @@ -1,90 +0,0 @@ -package java.util; - -public class Arrays -{ - - private Arrays() {} - - public static void fill(byte[] ret, byte v) - { - for (int i = 0; i != ret.length; i++) - { - ret[i] = v; - } - } - - public static boolean equals(byte[] a, byte[] a2) { - if (a==a2) - return true; - if (a==null || a2==null) - return false; - - int length = a.length; - if (a2.length != length) - return false; - - for (int i=0; i index) return true; - return false; - } - - public Object next() - { - Object o = vec.elementAt(index); - if (o==Nullobject) o=null; - index++; - return o; - - } - - public void remove() - { - index--; - vec.removeElementAt(index); - } - - } - - ////////////////////////////////////////////////////////////// - ///// innere Klasse Entry //////////////////////////////////// - ////////////////////////////////////////////////////////////// - - - class Entry implements Map.Entry - { - public Object key=null; - public Object value=null; - - public Entry(Object ke,Object valu) - { - key = ke; - value = valu; - } - public boolean equals(Object o) - { - if (value == ((Entry)o).value && key == ((Entry)o).key ) return true; - else return false; - - } - - public Object getValue() - { - return value; - } - - public Object getKey() - { - return (Object)key; - } - - public int hashCode() - { - return value.hashCode() + key.hashCode(); - - } - - public Object setValue(Object valu) - { - value = (String)valu; - return this; - } - } - - //////////////////////////////////////////////////////////////////// - - private Hashtable m_HashTable=null; - private Null Nullobject = null; - - public HashMap() - { - Nullobject = new Null(); - m_HashTable=new Hashtable(); - } - - public HashMap(int initialCapacity) - { - Nullobject = new Null(); - m_HashTable=new Hashtable(initialCapacity); - } - - public HashMap(int initialCapacity, float loadFactor) - { - Nullobject = new Null(); - m_HashTable=new Hashtable(initialCapacity, loadFactor); - } - - public HashMap(Map t) - { - Nullobject = new Null(); - m_HashTable=new Hashtable(); - this.putAll(t); - } - - public void clear() - { - m_HashTable.clear(); - } - - public Object clone() - { - HashMap hm=new HashMap(); - hm.m_HashTable=(Hashtable)m_HashTable.clone(); - return hm; - } - - public boolean containsKey(Object key) - { - if (key == null) key = Nullobject; - boolean b = m_HashTable.containsKey(key); - return b; - - } - - public boolean containsValue(Object value) - { - if (value == null ) value = Nullobject; - boolean b = m_HashTable.contains(value); - return b; - } - - public Set entrySet() - { - - Object Key = null; - ISet s = new ISet(); - Enumeration enum = m_HashTable.keys(); - while (enum.hasMoreElements()) - { - Key = enum.nextElement(); - s.add(new Entry(Key,m_HashTable.get(Key))); - } - return s; - } - - public Object get(Object key) - { - - if (key==null) key= Nullobject; - - Object o = m_HashTable.get(key); - - if (o == Nullobject) o=null; - - return o; - } - - public boolean isEmpty() - { - return m_HashTable.isEmpty(); - } - - public Set keySet() - { - ISet s=new ISet(); - Enumeration enum = m_HashTable.keys(); - - while (enum.hasMoreElements()) - { - s.add(enum.nextElement()); - } - - return s; - } - - public Object put(Object key, Object value) - { - if (key==null) key=Nullobject; - if (value==null) value = Nullobject; - return m_HashTable.put(key,value); - } - - public void putAll(Map m) - { - Iterator it = m.entrySet().iterator(); - Object key=null; - Object value=null; - - while (it.hasNext()) - { - Map.Entry me = (Map.Entry)it.next(); - if (me.getKey() == null) key = Nullobject; - else key= me.getKey(); - if (me.getValue()==null) value = Nullobject; - else value = me.getValue(); - m_HashTable.put(key,value); - } - } - - public Object remove(Object key) - { - return m_HashTable.remove(key); - } - - public int size() - { - return m_HashTable.size(); - } - - public Collection values() - { - - ISet s=new ISet(); - Enumeration enum = m_HashTable.keys(); - - while (enum.hasMoreElements()) - { - Object Key = enum.nextElement(); - //s.add(((Map.Entry)m_HashTable.get(Key)).getValue()); - s.add(m_HashTable.get(Key)); - } - return s; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/HashSet.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/HashSet.java deleted file mode 100644 index 5721cd20e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/HashSet.java +++ /dev/null @@ -1,83 +0,0 @@ -package java.util; - -import java.io.*; -///*sk13*/import java.util.Hashtable; - -public class HashSet extends /*sk13*/AbstractSet - /*sk13*/ /*extends Hashmap*/ - -{ - private HashMap m_HashMap=null; - - public HashSet() - { - m_HashMap=new HashMap(); - - } - - public HashSet(Collection c) - { - m_HashMap=new HashMap(Math.max(11,c.size()*2)); - addAll(c); - - } - - public HashSet(int initialCapacity, float loadFactor) - { - m_HashMap=new HashMap(initialCapacity,loadFactor); - - } - - public HashSet(int initialCapacity) - { - m_HashMap=new HashMap(initialCapacity); - - } - - public Iterator iterator() - { - return (m_HashMap.keySet()).iterator(); - } - - public int size() - { - return m_HashMap.size(); - } - - public boolean contains(Object o) - { - return m_HashMap.containsKey(o); - } - - public boolean add(Object o) - { - if (!m_HashMap.containsValue(o)) - { - m_HashMap.put(o, o); - - return true; - - } - - return false; - } - - public boolean remove(Object o) - { - return (m_HashMap.remove(o)!=null); - } - - public void clear() - { - m_HashMap.clear(); - } - - - public Object clone() - { - HashSet hs=new HashSet(); - hs.m_HashMap=(HashMap)m_HashMap.clone(); - return hs; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Iterator.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Iterator.java deleted file mode 100644 index 9f977fe8c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Iterator.java +++ /dev/null @@ -1,9 +0,0 @@ - -package java.util; - -public interface Iterator -{ - public abstract boolean hasNext(); - public abstract Object next() throws NoSuchElementException; - public abstract void remove() throws UnsupportedOperationException,IllegalStateException; -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/List.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/List.java deleted file mode 100644 index ee5896ea8..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/List.java +++ /dev/null @@ -1,15 +0,0 @@ -package java.util; - -public interface List extends Collection - { - void add(int index, Object element)throws UnsupportedOperationException,ClassCastException,IllegalArgumentException,IndexOutOfBoundsException; - boolean addAll(int index, Collection c) throws UnsupportedOperationException,ClassCastException,IllegalArgumentException,IndexOutOfBoundsException; - Object get(int index) throws IndexOutOfBoundsException; - int indexOf(Object o); - int lastIndexOf(Object o); - ListIterator listIterator(); - ListIterator listIterator(int index)throws IndexOutOfBoundsException; - Object remove(int index)throws UnsupportedOperationException,IndexOutOfBoundsException; - Object set(int index, Object element) throws UnsupportedOperationException,ClassCastException,IllegalArgumentException,IndexOutOfBoundsException; - List subList(int fromIndex, int toIndex) throws IndexOutOfBoundsException; - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/ListIterator.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/ListIterator.java deleted file mode 100644 index 15e17896e..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/ListIterator.java +++ /dev/null @@ -1,19 +0,0 @@ -package java.util; - -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public interface ListIterator extends Iterator - { - public boolean hasPrevious(); - public Object previous() throws NoSuchElementException; - public int nextIndex(); - public int previousIndex(); - public void set(Object o) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException,IllegalStateException; - public void add(Object o) throws UnsupportedOperationException, ClassCastException, IllegalArgumentException; - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Map.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Map.java deleted file mode 100644 index e0040a383..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Map.java +++ /dev/null @@ -1,37 +0,0 @@ -package java.util; - -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public interface Map { - - public static interface Entry - { - public Object getKey(); - public Object getValue(); - public Object setValue(Object value) throws UnsupportedOperationException, ClassCastException,IllegalArgumentException,NullPointerException; - public boolean equals(Object o); - public int hashCode(); - }; - - public int size(); - public boolean isEmpty(); - public boolean containsKey(Object Key) throws ClassCastException,NullPointerException; - public boolean containsValue(Object value); - public Object get(Object key)throws ClassCastException,NullPointerException; - public Object put(Object key,Object value)throws UnsupportedOperationException, ClassCastException,IllegalArgumentException,NullPointerException; - public Object remove(Object key)throws UnsupportedOperationException; - public void putAll(Map t)throws UnsupportedOperationException, ClassCastException,IllegalArgumentException,NullPointerException; - public void clear()throws UnsupportedOperationException; - public Set keySet(); - public Collection values(); - public Set entrySet(); - public boolean equals(Object o); - public int hashCode(); - - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Set.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Set.java deleted file mode 100644 index e312d6b83..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Set.java +++ /dev/null @@ -1,26 +0,0 @@ - -package java.util; - -public interface Set extends Collection - { - - public int size(); - public boolean isEmpty(); - public boolean contains(Object o); - public Iterator iterator(); - public Object[] toArray(); - public Object[] toArray(Object[] a); - public boolean add(Object o); - public boolean remove(Object o); - public boolean containsAll(Collection c); - public boolean addAll(Collection c); - public boolean retainAll(Collection c); - public boolean removeAll(Collection c); - public void clear(); - public boolean equals(Object o); - public int hashCode(); - - - - - } diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java deleted file mode 100644 index 3f1a4a1bd..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java +++ /dev/null @@ -1,125 +0,0 @@ -package java.util; - -/** - * Title: - * Description: - * Copyright: Copyright (c) 2001 - * Company: - * @version 1.0 - */ - -public class Sublist extends AbstractList - - { - AbstractList m_al=null; - int m_fromIndex=0; - int m_toIndex=0; - int size=0; - - public Sublist(AbstractList ali,int fromIndex,int toIndex) - { - m_al=ali; - m_toIndex=toIndex; - m_fromIndex=fromIndex; - size = size(); - } - public Object set(int index,Object o) - { - if (index < size) - { - o = m_al.set(index+m_fromIndex,o); - if (o != null) - { - size++; - m_toIndex++; - } - return o; - } - else throw new IndexOutOfBoundsException(); - } - - public Object get(int index) throws IndexOutOfBoundsException - { - if (index < size) return m_al.get(index+m_fromIndex); - else throw new IndexOutOfBoundsException(); - } - - public void add (int index,Object o) - { - - if (index <= size) - { - m_al.add(index + m_fromIndex,o); - m_toIndex++; - size++; - - } - else throw new IndexOutOfBoundsException(); - - } - - public Object remove(int index,Object o) - { - if (index < size) - { - Object ob = m_al.remove(index + m_fromIndex); - if (ob !=null) - { - m_toIndex--; - size--; - } - return ob; - } - else throw new IndexOutOfBoundsException(); - } - - public boolean addAll(int index, Collection c) - { - if (index < size) - { - boolean bool = m_al.addAll(index + m_fromIndex,c); - if (bool) - { - int lange = c.size(); - m_toIndex = m_toIndex + lange; - size = size + lange; - } - return bool; - } - else throw new IndexOutOfBoundsException(); - } - - public boolean addAll(Collection c) - { - boolean bool = m_al.addAll(m_toIndex,c); - if (bool) - { - int lange = c.size(); - m_toIndex = m_toIndex + lange; - size = size + lange; - } - return bool; - } - - public void removeRange (int from,int to) - { - if ((from <= to) && (from <= size) && (to <= size)) - { - m_al.removeRange(from,to); - int lange = to - from; - m_toIndex = m_toIndex - lange; - size = size - lange; - } - else - { - if (from > to) throw new IllegalArgumentException(); - else throw new IndexOutOfBoundsException(); - } - } - - public int size() - { - return (m_toIndex - m_fromIndex); - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1InputStream.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1InputStream.java deleted file mode 100644 index d8bacbc7c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1InputStream.java +++ /dev/null @@ -1,466 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.EOFException; -import java.io.FilterInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.spongycastle.util.io.Streams; - -/** - * a general purpose ASN.1 decoder - note: this class differs from the - * others in that it returns null after it has read the last object in - * the stream. If an ASN.1 NULL is encountered a DER/BER Null object is - * returned. - */ -public class ASN1InputStream - extends FilterInputStream - implements BERTags -{ - private int limit; - private boolean lazyEvaluate; - - private byte[][] tmpBuffers; - - public ASN1InputStream( - InputStream is) - { - this(is, StreamUtil.findLimit(is)); - } - - /** - * Create an ASN1InputStream based on the input byte array. The length of DER objects in - * the stream is automatically limited to the length of the input array. - * - * @param input array containing ASN.1 encoded data. - */ - public ASN1InputStream( - byte[] input) - { - this(new ByteArrayInputStream(input), input.length); - } - - /** - * Create an ASN1InputStream based on the input byte array. The length of DER objects in - * the stream is automatically limited to the length of the input array. - * - * @param input array containing ASN.1 encoded data. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - byte[] input, - boolean lazyEvaluate) - { - this(new ByteArrayInputStream(input), input.length, lazyEvaluate); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit. - * - * @param input stream containing ASN.1 encoded data. - * @param limit maximum size of a DER encoded object. - */ - public ASN1InputStream( - InputStream input, - int limit) - { - this(input, limit, false); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit, and constructed - * objects such as sequences will be parsed lazily. - * - * @param input stream containing ASN.1 encoded data. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - InputStream input, - boolean lazyEvaluate) - { - this(input, StreamUtil.findLimit(input), lazyEvaluate); - } - - /** - * Create an ASN1InputStream where no DER object will be longer than limit, and constructed - * objects such as sequences will be parsed lazily. - * - * @param input stream containing ASN.1 encoded data. - * @param limit maximum size of a DER encoded object. - * @param lazyEvaluate true if parsing inside constructed objects can be delayed. - */ - public ASN1InputStream( - InputStream input, - int limit, - boolean lazyEvaluate) - { - super(input); - this.limit = limit; - this.lazyEvaluate = lazyEvaluate; - this.tmpBuffers = new byte[11][]; - } - - int getLimit() - { - return limit; - } - - protected int readLength() - throws IOException - { - return readLength(this, limit); - } - - protected void readFully( - byte[] bytes) - throws IOException - { - if (Streams.readFully(this, bytes) != bytes.length) - { - throw new EOFException("EOF encountered in middle of object"); - } - } - - /** - * build an object given its tag and the number of bytes to construct it from. - */ - protected ASN1Primitive buildObject( - int tag, - int tagNo, - int length) - throws IOException - { - boolean isConstructed = (tag & CONSTRUCTED) != 0; - - DefiniteLengthInputStream defIn = new DefiniteLengthInputStream(this, length); - - if ((tag & APPLICATION) != 0) - { - return new DERApplicationSpecific(isConstructed, tagNo, defIn.toByteArray()); - } - - if ((tag & TAGGED) != 0) - { - return new ASN1StreamParser(defIn).readTaggedObject(isConstructed, tagNo); - } - - if (isConstructed) - { - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case OCTET_STRING: - // - // yes, people actually do this... - // - ASN1EncodableVector v = buildDEREncodableVector(defIn); - ASN1OctetString[] strings = new ASN1OctetString[v.size()]; - - for (int i = 0; i != strings.length; i++) - { - strings[i] = (ASN1OctetString)v.get(i); - } - - return new BEROctetString(strings); - case SEQUENCE: - if (lazyEvaluate) - { - return new LazyEncodedSequence(defIn.toByteArray()); - } - else - { - return DERFactory.createSequence(buildDEREncodableVector(defIn)); - } - case SET: - return DERFactory.createSet(buildDEREncodableVector(defIn)); - case EXTERNAL: - return new DERExternal(buildDEREncodableVector(defIn)); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } - - return createPrimitiveDERObject(tagNo, defIn, tmpBuffers); - } - - ASN1EncodableVector buildEncodableVector() - throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - ASN1Primitive o; - - while ((o = readObject()) != null) - { - v.add(o); - } - - return v; - } - - ASN1EncodableVector buildDEREncodableVector( - DefiniteLengthInputStream dIn) throws IOException - { - return new ASN1InputStream(dIn).buildEncodableVector(); - } - - public ASN1Primitive readObject() - throws IOException - { - int tag = read(); - if (tag <= 0) - { - if (tag == 0) - { - throw new IOException("unexpected end-of-contents marker"); - } - - return null; - } - - // - // calculate tag number - // - int tagNo = readTagNumber(this, tag); - - boolean isConstructed = (tag & CONSTRUCTED) != 0; - - // - // calculate length - // - int length = readLength(); - - if (length < 0) // indefinite length method - { - if (!isConstructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - IndefiniteLengthInputStream indIn = new IndefiniteLengthInputStream(this, limit); - ASN1StreamParser sp = new ASN1StreamParser(indIn, limit); - - if ((tag & APPLICATION) != 0) - { - return new BERApplicationSpecificParser(tagNo, sp).getLoadedObject(); - } - - if ((tag & TAGGED) != 0) - { - return new BERTaggedObjectParser(true, tagNo, sp).getLoadedObject(); - } - - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case OCTET_STRING: - return new BEROctetStringParser(sp).getLoadedObject(); - case SEQUENCE: - return new BERSequenceParser(sp).getLoadedObject(); - case SET: - return new BERSetParser(sp).getLoadedObject(); - case EXTERNAL: - return new DERExternalParser(sp).getLoadedObject(); - default: - throw new IOException("unknown BER object encountered"); - } - } - else - { - try - { - return buildObject(tag, tagNo, length); - } - catch (IllegalArgumentException e) - { - throw new ASN1Exception("corrupted stream detected", e); - } - } - } - - static int readTagNumber(InputStream s, int tag) - throws IOException - { - int tagNo = tag & 0x1f; - - // - // with tagged object tag number is bottom 5 bits, or stored at the start of the content - // - if (tagNo == 0x1f) - { - tagNo = 0; - - int b = s.read(); - - // X.690-0207 8.1.2.4.2 - // "c) bits 7 to 1 of the first subsequent octet shall not all be zero." - if ((b & 0x7f) == 0) // Note: -1 will pass - { - throw new IOException("corrupted stream - invalid high tag number found"); - } - - while ((b >= 0) && ((b & 0x80) != 0)) - { - tagNo |= (b & 0x7f); - tagNo <<= 7; - b = s.read(); - } - - if (b < 0) - { - throw new EOFException("EOF found inside tag value."); - } - - tagNo |= (b & 0x7f); - } - - return tagNo; - } - - static int readLength(InputStream s, int limit) - throws IOException - { - int length = s.read(); - if (length < 0) - { - throw new EOFException("EOF found when length expected"); - } - - if (length == 0x80) - { - return -1; // indefinite-length encoding - } - - if (length > 127) - { - int size = length & 0x7f; - - // Note: The invalid long form "0xff" (see X.690 8.1.3.5c) will be caught here - if (size > 4) - { - throw new IOException("DER length more than 4 bytes: " + size); - } - - length = 0; - for (int i = 0; i < size; i++) - { - int next = s.read(); - - if (next < 0) - { - throw new EOFException("EOF found reading length"); - } - - length = (length << 8) + next; - } - - if (length < 0) - { - throw new IOException("corrupted stream - negative length found"); - } - - if (length >= limit) // after all we must have read at least 1 byte - { - throw new IOException("corrupted stream - out of bounds length found"); - } - } - - return length; - } - - private static byte[] getBuffer(DefiniteLengthInputStream defIn, byte[][] tmpBuffers) - throws IOException - { - int len = defIn.getRemaining(); - if (defIn.getRemaining() < tmpBuffers.length) - { - byte[] buf = tmpBuffers[len]; - - if (buf == null) - { - buf = tmpBuffers[len] = new byte[len]; - } - - Streams.readFully(defIn, buf); - - return buf; - } - else - { - return defIn.toByteArray(); - } - } - - private static char[] getBMPCharBuffer(DefiniteLengthInputStream defIn) - throws IOException - { - int len = defIn.getRemaining() / 2; - char[] buf = new char[len]; - int totalRead = 0; - while (totalRead < len) - { - int ch1 = defIn.read(); - if (ch1 < 0) - { - break; - } - int ch2 = defIn.read(); - if (ch2 < 0) - { - break; - } - buf[totalRead++] = (char)((ch1 << 8) | (ch2 & 0xff)); - } - - return buf; - } - - static ASN1Primitive createPrimitiveDERObject( - int tagNo, - DefiniteLengthInputStream defIn, - byte[][] tmpBuffers) - throws IOException - { - switch (tagNo) - { - case BIT_STRING: - return DERBitString.fromInputStream(defIn.getRemaining(), defIn); - case BMP_STRING: - return new DERBMPString(getBMPCharBuffer(defIn)); - case BOOLEAN: - return ASN1Boolean.fromOctetString(getBuffer(defIn, tmpBuffers)); - case ENUMERATED: - return ASN1Enumerated.fromOctetString(getBuffer(defIn, tmpBuffers)); - case GENERALIZED_TIME: - return new ASN1GeneralizedTime(defIn.toByteArray()); - case GENERAL_STRING: - return new DERGeneralString(defIn.toByteArray()); - case IA5_STRING: - return new DERIA5String(defIn.toByteArray()); - case INTEGER: - return new ASN1Integer(defIn.toByteArray()); - case NULL: - return DERNull.INSTANCE; // actual content is ignored (enforce 0 length?) - case NUMERIC_STRING: - return new DERNumericString(defIn.toByteArray()); - case OBJECT_IDENTIFIER: - return ASN1ObjectIdentifier.fromOctetString(getBuffer(defIn, tmpBuffers)); - case OCTET_STRING: - return new DEROctetString(defIn.toByteArray()); - case PRINTABLE_STRING: - return new DERPrintableString(defIn.toByteArray()); - case T61_STRING: - return new DERT61String(defIn.toByteArray()); - case UNIVERSAL_STRING: - return new DERUniversalString(defIn.toByteArray()); - case UTC_TIME: - return new ASN1UTCTime(defIn.toByteArray()); - case UTF8_STRING: - return new DERUTF8String(defIn.toByteArray()); - case VISIBLE_STRING: - return new DERVisibleString(defIn.toByteArray()); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1StreamParser.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1StreamParser.java deleted file mode 100644 index bbaef0565..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/ASN1StreamParser.java +++ /dev/null @@ -1,247 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -public class ASN1StreamParser -{ - private InputStream _in; - private int _limit; - private byte[][] tmpBuffers; - - public ASN1StreamParser( - InputStream in) - { - this(in, StreamUtil.findLimit(in)); - } - - public ASN1StreamParser( - InputStream in, - int limit) - { - this._in = in; - this._limit = limit; - - this.tmpBuffers = new byte[11][]; - } - - public ASN1StreamParser( - byte[] encoding) - { - this(new ByteArrayInputStream(encoding), encoding.length); - } - - ASN1Encodable readIndef(int tagValue) throws IOException - { - // Note: INDEF => CONSTRUCTED - - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagValue) - { - case BERTags.EXTERNAL: - return new DERExternalParser(this); - case BERTags.OCTET_STRING: - return new BEROctetStringParser(this); - case BERTags.SEQUENCE: - return new BERSequenceParser(this); - case BERTags.SET: - return new BERSetParser(this); - default: - throw new ASN1Exception("unknown BER object encountered: 0x" + Integer.toHexString(tagValue)); - } - } - - ASN1Encodable readImplicit(boolean constructed, int tag) throws IOException - { - if (_in instanceof IndefiniteLengthInputStream) - { - if (!constructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - return readIndef(tag); - } - - if (constructed) - { - switch (tag) - { - case BERTags.SET: - return new DERSetParser(this); - case BERTags.SEQUENCE: - return new DERSequenceParser(this); - case BERTags.OCTET_STRING: - return new BEROctetStringParser(this); - } - } - else - { - switch (tag) - { - case BERTags.SET: - throw new ASN1Exception("sequences must use constructed encoding (see X.690 8.9.1/8.10.1)"); - case BERTags.SEQUENCE: - throw new ASN1Exception("sets must use constructed encoding (see X.690 8.11.1/8.12.1)"); - case BERTags.OCTET_STRING: - return new DEROctetStringParser((DefiniteLengthInputStream)_in); - } - } - - // TODO ASN1Exception - throw new RuntimeException("implicit tagging not implemented"); - } - - ASN1Primitive readTaggedObject(boolean constructed, int tag) throws IOException - { - if (!constructed) - { - // Note: !CONSTRUCTED => IMPLICIT - DefiniteLengthInputStream defIn = (DefiniteLengthInputStream)_in; - return new DERTaggedObject(false, tag, new DEROctetString(defIn.toByteArray())); - } - - ASN1EncodableVector v = readVector(); - - if (_in instanceof IndefiniteLengthInputStream) - { - return v.size() == 1 - ? new BERTaggedObject(true, tag, v.get(0)) - : new BERTaggedObject(false, tag, BERFactory.createSequence(v)); - } - - return v.size() == 1 - ? new DERTaggedObject(true, tag, v.get(0)) - : new DERTaggedObject(false, tag, DERFactory.createSequence(v)); - } - - public ASN1Encodable readObject() - throws IOException - { - int tag = _in.read(); - if (tag == -1) - { - return null; - } - - // - // turn of looking for "00" while we resolve the tag - // - set00Check(false); - - // - // calculate tag number - // - int tagNo = ASN1InputStream.readTagNumber(_in, tag); - - boolean isConstructed = (tag & BERTags.CONSTRUCTED) != 0; - - // - // calculate length - // - int length = ASN1InputStream.readLength(_in, _limit); - - if (length < 0) // indefinite length method - { - if (!isConstructed) - { - throw new IOException("indefinite length primitive encoding encountered"); - } - - IndefiniteLengthInputStream indIn = new IndefiniteLengthInputStream(_in, _limit); - ASN1StreamParser sp = new ASN1StreamParser(indIn, _limit); - - if ((tag & BERTags.APPLICATION) != 0) - { - return new BERApplicationSpecificParser(tagNo, sp); - } - - if ((tag & BERTags.TAGGED) != 0) - { - return new BERTaggedObjectParser(true, tagNo, sp); - } - - return sp.readIndef(tagNo); - } - else - { - DefiniteLengthInputStream defIn = new DefiniteLengthInputStream(_in, length); - - if ((tag & BERTags.APPLICATION) != 0) - { - return new DERApplicationSpecific(isConstructed, tagNo, defIn.toByteArray()); - } - - if ((tag & BERTags.TAGGED) != 0) - { - return new BERTaggedObjectParser(isConstructed, tagNo, new ASN1StreamParser(defIn)); - } - - if (isConstructed) - { - // TODO There are other tags that may be constructed (e.g. BIT_STRING) - switch (tagNo) - { - case BERTags.OCTET_STRING: - // - // yes, people actually do this... - // - return new BEROctetStringParser(new ASN1StreamParser(defIn)); - case BERTags.SEQUENCE: - return new DERSequenceParser(new ASN1StreamParser(defIn)); - case BERTags.SET: - return new DERSetParser(new ASN1StreamParser(defIn)); - case BERTags.EXTERNAL: - return new DERExternalParser(new ASN1StreamParser(defIn)); - default: - throw new IOException("unknown tag " + tagNo + " encountered"); - } - } - - // Some primitive encodings can be handled by parsers too... - switch (tagNo) - { - case BERTags.OCTET_STRING: - return new DEROctetStringParser(defIn); - } - - try - { - return ASN1InputStream.createPrimitiveDERObject(tagNo, defIn, tmpBuffers); - } - catch (IllegalArgumentException e) - { - throw new ASN1Exception("corrupted stream detected", e); - } - } - } - - private void set00Check(boolean enabled) - { - if (_in instanceof IndefiniteLengthInputStream) - { - ((IndefiniteLengthInputStream)_in).setEofOn00(enabled); - } - } - - ASN1EncodableVector readVector() throws IOException - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - ASN1Encodable obj; - while ((obj = readObject()) != null) - { - if (obj instanceof InMemoryRepresentable) - { - v.add(((InMemoryRepresentable)obj).getLoadedObject()); - } - else - { - v.add(obj.toASN1Primitive()); - } - } - - return v; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/DERApplicationSpecific.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/DERApplicationSpecific.java deleted file mode 100644 index 30c66ab65..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/DERApplicationSpecific.java +++ /dev/null @@ -1,276 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.util.Arrays; - -/** - * Base class for an application specific object - */ -public class DERApplicationSpecific - extends ASN1Primitive -{ - private boolean isConstructed; - private int tag; - private byte[] octets; - - DERApplicationSpecific( - boolean isConstructed, - int tag, - byte[] octets) - { - this.isConstructed = isConstructed; - this.tag = tag; - this.octets = octets; - } - - public DERApplicationSpecific( - int tag, - byte[] octets) - { - this(false, tag, octets); - } - - public DERApplicationSpecific( - int tag, - ASN1Encodable object) - throws IOException - { - this(true, tag, object); - } - - public DERApplicationSpecific( - boolean explicit, - int tag, - ASN1Encodable object) - throws IOException - { - ASN1Primitive primitive = object.toASN1Primitive(); - - byte[] data = primitive.getEncoded(ASN1Encoding.DER); - - this.isConstructed = explicit || (primitive instanceof ASN1Set || primitive instanceof ASN1Sequence); - this.tag = tag; - - if (explicit) - { - this.octets = data; - } - else - { - int lenBytes = getLengthOfHeader(data); - byte[] tmp = new byte[data.length - lenBytes]; - System.arraycopy(data, lenBytes, tmp, 0, tmp.length); - this.octets = tmp; - } - } - - public DERApplicationSpecific(int tagNo, ASN1EncodableVector vec) - { - this.tag = tagNo; - this.isConstructed = true; - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - for (int i = 0; i != vec.size(); i++) - { - try - { - bOut.write(((ASN1Object)vec.get(i)).getEncoded(ASN1Encoding.DER)); - } - catch (IOException e) - { - throw new ASN1ParsingException("malformed object: " + e, e); - } - } - this.octets = bOut.toByteArray(); - } - - public static DERApplicationSpecific getInstance(Object obj) - { - if (obj == null || obj instanceof DERApplicationSpecific) - { - return (DERApplicationSpecific)obj; - } - else if (obj instanceof byte[]) - { - try - { - return DERApplicationSpecific.getInstance(ASN1Primitive.fromByteArray((byte[])obj)); - } - catch (IOException e) - { - throw new IllegalArgumentException("failed to construct object from byte[]: " + e.getMessage()); - } - } - else if (obj instanceof ASN1Encodable) - { - ASN1Primitive primitive = ((ASN1Encodable)obj).toASN1Primitive(); - - if (primitive instanceof ASN1Sequence) - { - return (DERApplicationSpecific)primitive; - } - } - - throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); - } - - private int getLengthOfHeader(byte[] data) - { - int length = data[1] & 0xff; // TODO: assumes 1 byte tag - - if (length == 0x80) - { - return 2; // indefinite-length encoding - } - - if (length > 127) - { - int size = length & 0x7f; - - // Note: The invalid long form "0xff" (see X.690 8.1.3.5c) will be caught here - if (size > 4) - { - throw new IllegalStateException("DER length more than 4 bytes: " + size); - } - - return size + 2; - } - - return 2; - } - - public boolean isConstructed() - { - return isConstructed; - } - - public byte[] getContents() - { - return octets; - } - - public int getApplicationTag() - { - return tag; - } - - /** - * Return the enclosed object assuming explicit tagging. - * - * @return the resulting object - * @throws IOException if reconstruction fails. - */ - public ASN1Primitive getObject() - throws IOException - { - return new ASN1InputStream(getContents()).readObject(); - } - - /** - * Return the enclosed object assuming implicit tagging. - * - * @param derTagNo the type tag that should be applied to the object's contents. - * @return the resulting object - * @throws IOException if reconstruction fails. - */ - public ASN1Primitive getObject(int derTagNo) - throws IOException - { - if (derTagNo >= 0x1f) - { - throw new IOException("unsupported tag number"); - } - - byte[] orig = this.getEncoded(); - byte[] tmp = replaceTagNumber(derTagNo, orig); - - if ((orig[0] & BERTags.CONSTRUCTED) != 0) - { - tmp[0] |= BERTags.CONSTRUCTED; - } - - return new ASN1InputStream(tmp).readObject(); - } - - int encodedLength() - throws IOException - { - return StreamUtil.calculateTagLength(tag) + StreamUtil.calculateBodyLength(octets.length) + octets.length; - } - - /* (non-Javadoc) - * @see org.spongycastle.asn1.ASN1Primitive#encode(org.spongycastle.asn1.DEROutputStream) - */ - void encode(ASN1OutputStream out) throws IOException - { - int classBits = BERTags.APPLICATION; - if (isConstructed) - { - classBits |= BERTags.CONSTRUCTED; - } - - out.writeEncoded(classBits, tag, octets); - } - - boolean asn1Equals( - ASN1Primitive o) - { - if (!(o instanceof DERApplicationSpecific)) - { - return false; - } - - DERApplicationSpecific other = (DERApplicationSpecific)o; - - return isConstructed == other.isConstructed - && tag == other.tag - && Arrays.areEqual(octets, other.octets); - } - - public int hashCode() - { - return (isConstructed ? 1 : 0) ^ tag ^ Arrays.hashCode(octets); - } - - private byte[] replaceTagNumber(int newTag, byte[] input) - throws IOException - { - int tagNo = input[0] & 0x1f; - int index = 1; - // - // with tagged object tag number is bottom 5 bits, or stored at the start of the content - // - if (tagNo == 0x1f) - { - tagNo = 0; - - int b = input[index++] & 0xff; - - // X.690-0207 8.1.2.4.2 - // "c) bits 7 to 1 of the first subsequent octet shall not all be zero." - if ((b & 0x7f) == 0) // Note: -1 will pass - { - throw new ASN1ParsingException("corrupted stream - invalid high tag number found"); - } - - while ((b >= 0) && ((b & 0x80) != 0)) - { - tagNo |= (b & 0x7f); - tagNo <<= 7; - b = input[index++] & 0xff; - } - - tagNo |= (b & 0x7f); - } - - byte[] tmp = new byte[input.length - index + 1]; - - System.arraycopy(input, index, tmp, 1, tmp.length - 1); - - tmp[0] = (byte)newTag; - - return tmp; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/BCStyle.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/BCStyle.java deleted file mode 100644 index 2591e4cdc..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/BCStyle.java +++ /dev/null @@ -1,481 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.AttributeTypeAndValue; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; - -public class BCStyle - implements X500NameStyle -{ - /** - * country code - StringType(SIZE(2)) - */ - public static final ASN1ObjectIdentifier C = new ASN1ObjectIdentifier("2.5.4.6"); - - /** - * organization - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier O = new ASN1ObjectIdentifier("2.5.4.10"); - - /** - * organizational unit name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier OU = new ASN1ObjectIdentifier("2.5.4.11"); - - /** - * Title - */ - public static final ASN1ObjectIdentifier T = new ASN1ObjectIdentifier("2.5.4.12"); - - /** - * common name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier CN = new ASN1ObjectIdentifier("2.5.4.3"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SN = new ASN1ObjectIdentifier("2.5.4.5"); - - /** - * street - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier STREET = new ASN1ObjectIdentifier("2.5.4.9"); - - /** - * device serial number name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier SERIALNUMBER = SN; - - /** - * locality name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier L = new ASN1ObjectIdentifier("2.5.4.7"); - - /** - * state, or province name - StringType(SIZE(1..64)) - */ - public static final ASN1ObjectIdentifier ST = new ASN1ObjectIdentifier("2.5.4.8"); - - /** - * Naming attributes of type X520name - */ - public static final ASN1ObjectIdentifier SURNAME = new ASN1ObjectIdentifier("2.5.4.4"); - public static final ASN1ObjectIdentifier GIVENNAME = new ASN1ObjectIdentifier("2.5.4.42"); - public static final ASN1ObjectIdentifier INITIALS = new ASN1ObjectIdentifier("2.5.4.43"); - public static final ASN1ObjectIdentifier GENERATION = new ASN1ObjectIdentifier("2.5.4.44"); - public static final ASN1ObjectIdentifier UNIQUE_IDENTIFIER = new ASN1ObjectIdentifier("2.5.4.45"); - - /** - * businessCategory - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier BUSINESS_CATEGORY = new ASN1ObjectIdentifier( - "2.5.4.15"); - - /** - * postalCode - DirectoryString(SIZE(1..40) - */ - public static final ASN1ObjectIdentifier POSTAL_CODE = new ASN1ObjectIdentifier( - "2.5.4.17"); - - /** - * dnQualifier - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier DN_QUALIFIER = new ASN1ObjectIdentifier( - "2.5.4.46"); - - /** - * RFC 3039 Pseudonym - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier PSEUDONYM = new ASN1ObjectIdentifier( - "2.5.4.65"); - - - /** - * RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z - */ - public static final ASN1ObjectIdentifier DATE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.1"); - - /** - * RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128) - */ - public static final ASN1ObjectIdentifier PLACE_OF_BIRTH = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.2"); - - /** - * RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f" - */ - public static final ASN1ObjectIdentifier GENDER = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.3"); - - /** - * RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_CITIZENSHIP = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.4"); - - /** - * RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 - * codes only - */ - public static final ASN1ObjectIdentifier COUNTRY_OF_RESIDENCE = new ASN1ObjectIdentifier( - "1.3.6.1.5.5.7.9.5"); - - - /** - * ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64) - */ - public static final ASN1ObjectIdentifier NAME_AT_BIRTH = new ASN1ObjectIdentifier("1.3.36.8.3.14"); - - /** - * RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF - * DirectoryString(SIZE(1..30)) - */ - public static final ASN1ObjectIdentifier POSTAL_ADDRESS = new ASN1ObjectIdentifier("2.5.4.16"); - - /** - * RFC 2256 dmdName - */ - public static final ASN1ObjectIdentifier DMD_NAME = new ASN1ObjectIdentifier("2.5.4.54"); - - /** - * id-at-telephoneNumber - */ - public static final ASN1ObjectIdentifier TELEPHONE_NUMBER = X509ObjectIdentifiers.id_at_telephoneNumber; - - /** - * id-at-name - */ - public static final ASN1ObjectIdentifier NAME = X509ObjectIdentifiers.id_at_name; - - /** - * Email address (RSA PKCS#9 extension) - IA5String. - *

    Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here. - */ - public static final ASN1ObjectIdentifier EmailAddress = PKCSObjectIdentifiers.pkcs_9_at_emailAddress; - - /** - * more from PKCS#9 - */ - public static final ASN1ObjectIdentifier UnstructuredName = PKCSObjectIdentifiers.pkcs_9_at_unstructuredName; - public static final ASN1ObjectIdentifier UnstructuredAddress = PKCSObjectIdentifiers.pkcs_9_at_unstructuredAddress; - - /** - * email address in Verisign certificates - */ - public static final ASN1ObjectIdentifier E = EmailAddress; - - /* - * others... - */ - public static final ASN1ObjectIdentifier DC = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"); - - /** - * LDAP User id. - */ - public static final ASN1ObjectIdentifier UID = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"); - - /** - * default look up table translating OID values into their common symbols following - * the convention in RFC 2253 with a few extras - */ - private static final Hashtable DefaultSymbols = new Hashtable(); - - /** - * look up table translating common symbols into their OIDS. - */ - private static final Hashtable DefaultLookUp = new Hashtable(); - - static - { - DefaultSymbols.put(C, "C"); - DefaultSymbols.put(O, "O"); - DefaultSymbols.put(T, "T"); - DefaultSymbols.put(OU, "OU"); - DefaultSymbols.put(CN, "CN"); - DefaultSymbols.put(L, "L"); - DefaultSymbols.put(ST, "ST"); - DefaultSymbols.put(SN, "SERIALNUMBER"); - DefaultSymbols.put(EmailAddress, "E"); - DefaultSymbols.put(DC, "DC"); - DefaultSymbols.put(UID, "UID"); - DefaultSymbols.put(STREET, "STREET"); - DefaultSymbols.put(SURNAME, "SURNAME"); - DefaultSymbols.put(GIVENNAME, "GIVENNAME"); - DefaultSymbols.put(INITIALS, "INITIALS"); - DefaultSymbols.put(GENERATION, "GENERATION"); - DefaultSymbols.put(UnstructuredAddress, "unstructuredAddress"); - DefaultSymbols.put(UnstructuredName, "unstructuredName"); - DefaultSymbols.put(UNIQUE_IDENTIFIER, "UniqueIdentifier"); - DefaultSymbols.put(DN_QUALIFIER, "DN"); - DefaultSymbols.put(PSEUDONYM, "Pseudonym"); - DefaultSymbols.put(POSTAL_ADDRESS, "PostalAddress"); - DefaultSymbols.put(NAME_AT_BIRTH, "NameAtBirth"); - DefaultSymbols.put(COUNTRY_OF_CITIZENSHIP, "CountryOfCitizenship"); - DefaultSymbols.put(COUNTRY_OF_RESIDENCE, "CountryOfResidence"); - DefaultSymbols.put(GENDER, "Gender"); - DefaultSymbols.put(PLACE_OF_BIRTH, "PlaceOfBirth"); - DefaultSymbols.put(DATE_OF_BIRTH, "DateOfBirth"); - DefaultSymbols.put(POSTAL_CODE, "PostalCode"); - DefaultSymbols.put(BUSINESS_CATEGORY, "BusinessCategory"); - DefaultSymbols.put(TELEPHONE_NUMBER, "TelephoneNumber"); - DefaultSymbols.put(NAME, "Name"); - - DefaultLookUp.put("c", C); - DefaultLookUp.put("o", O); - DefaultLookUp.put("t", T); - DefaultLookUp.put("ou", OU); - DefaultLookUp.put("cn", CN); - DefaultLookUp.put("l", L); - DefaultLookUp.put("st", ST); - DefaultLookUp.put("sn", SN); - DefaultLookUp.put("serialnumber", SN); - DefaultLookUp.put("street", STREET); - DefaultLookUp.put("emailaddress", E); - DefaultLookUp.put("dc", DC); - DefaultLookUp.put("e", E); - DefaultLookUp.put("uid", UID); - DefaultLookUp.put("surname", SURNAME); - DefaultLookUp.put("givenname", GIVENNAME); - DefaultLookUp.put("initials", INITIALS); - DefaultLookUp.put("generation", GENERATION); - DefaultLookUp.put("unstructuredaddress", UnstructuredAddress); - DefaultLookUp.put("unstructuredname", UnstructuredName); - DefaultLookUp.put("uniqueidentifier", UNIQUE_IDENTIFIER); - DefaultLookUp.put("dn", DN_QUALIFIER); - DefaultLookUp.put("pseudonym", PSEUDONYM); - DefaultLookUp.put("postaladdress", POSTAL_ADDRESS); - DefaultLookUp.put("nameofbirth", NAME_AT_BIRTH); - DefaultLookUp.put("countryofcitizenship", COUNTRY_OF_CITIZENSHIP); - DefaultLookUp.put("countryofresidence", COUNTRY_OF_RESIDENCE); - DefaultLookUp.put("gender", GENDER); - DefaultLookUp.put("placeofbirth", PLACE_OF_BIRTH); - DefaultLookUp.put("dateofbirth", DATE_OF_BIRTH); - DefaultLookUp.put("postalcode", POSTAL_CODE); - DefaultLookUp.put("businesscategory", BUSINESS_CATEGORY); - DefaultLookUp.put("telephonenumber", TELEPHONE_NUMBER); - DefaultLookUp.put("name", NAME); - } - - /** - * Singleton instance. - */ - public static final X500NameStyle INSTANCE = new BCStyle(); - - protected Hashtable defaultLookUp; - protected Hashtable defaultSymbols; - - protected BCStyle() - { - defaultSymbols = copyHashTable(DefaultSymbols); - defaultLookUp = copyHashTable(DefaultLookUp); - } - - public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value) - { - if (value.length() != 0 && value.charAt(0) == '#') - { - try - { - return IETFUtils.valueFromHexString(value, 1); - } - catch (IOException e) - { - throw new RuntimeException("can't recode value for oid " + oid.getId()); - } - } - else - { - if (value.length() != 0 && value.charAt(0) == '\\') - { - value = value.substring(1); - } - if (oid.equals(EmailAddress) || oid.equals(DC)) - { - return new DERIA5String(value); - } - else if (oid.equals(DATE_OF_BIRTH)) // accept time string as well as # (for compatibility) - { - return new ASN1GeneralizedTime(value); - } - else if (oid.equals(C) || oid.equals(SN) || oid.equals(DN_QUALIFIER) - || oid.equals(TELEPHONE_NUMBER)) - { - return new DERPrintableString(value); - } - } - - return new DERUTF8String(value); - } - - public String oidToDisplayName(ASN1ObjectIdentifier oid) - { - return (String)DefaultSymbols.get(oid); - } - - public String[] oidToAttrNames(ASN1ObjectIdentifier oid) - { - return IETFUtils.findAttrNamesForOID(oid, defaultLookUp); - } - - public ASN1ObjectIdentifier attrNameToOID(String attrName) - { - return IETFUtils.decodeAttrName(attrName, defaultLookUp); - } - - public boolean areEqual(X500Name name1, X500Name name2) - { - RDN[] rdns1 = name1.getRDNs(); - RDN[] rdns2 = name2.getRDNs(); - - if (rdns1.length != rdns2.length) - { - return false; - } - - boolean reverse = false; - - if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null) - { - reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType()); // guess forward - } - - for (int i = 0; i != rdns1.length; i++) - { - if (!foundMatch(reverse, rdns1[i], rdns2)) - { - return false; - } - } - - return true; - } - - private boolean foundMatch(boolean reverse, RDN rdn, RDN[] possRDNs) - { - if (reverse) - { - for (int i = possRDNs.length - 1; i >= 0; i--) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - else - { - for (int i = 0; i != possRDNs.length; i++) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - - return false; - } - - protected boolean rdnAreEqual(RDN rdn1, RDN rdn2) - { - return IETFUtils.rDNAreEqual(rdn1, rdn2); - } - - public RDN[] fromString(String dirName) - { - return IETFUtils.rDNsFromString(dirName, this); - } - - public int calculateHashCode(X500Name name) - { - int hashCodeValue = 0; - RDN[] rdns = name.getRDNs(); - - // this needs to be order independent, like equals - for (int i = 0; i != rdns.length; i++) - { - if (rdns[i].isMultiValued()) - { - AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues(); - - for (int j = 0; j != atv.length; j++) - { - hashCodeValue ^= atv[j].getType().hashCode(); - hashCodeValue ^= calcHashCode(atv[j].getValue()); - } - } - else - { - hashCodeValue ^= rdns[i].getFirst().getType().hashCode(); - hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue()); - } - } - - return hashCodeValue; - } - - private int calcHashCode(ASN1Encodable enc) - { - String value = IETFUtils.valueToString(enc); - - value = IETFUtils.canonicalize(value); - - return value.hashCode(); - } - - public String toString(X500Name name) - { - StringBuffer buf = new StringBuffer(); - boolean first = true; - - RDN[] rdns = name.getRDNs(); - - for (int i = 0; i < rdns.length; i++) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - IETFUtils.appendRDN(buf, rdns[i], defaultSymbols); - } - - return buf.toString(); - } - - private static Hashtable copyHashTable(Hashtable paramsMap) - { - Hashtable newTable = new Hashtable(); - - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Object key = keys.nextElement(); - newTable.put(key, paramsMap.get(key)); - } - - return newTable; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/RFC4519Style.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/RFC4519Style.java deleted file mode 100644 index 0fd117850..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/asn1/x500/style/RFC4519Style.java +++ /dev/null @@ -1,380 +0,0 @@ -package org.spongycastle.asn1.x500.style; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.x500.AttributeTypeAndValue; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; - -public class RFC4519Style - implements X500NameStyle -{ - public static final ASN1ObjectIdentifier businessCategory = new ASN1ObjectIdentifier("2.5.4.15"); - public static final ASN1ObjectIdentifier c = new ASN1ObjectIdentifier("2.5.4.6"); - public static final ASN1ObjectIdentifier cn = new ASN1ObjectIdentifier("2.5.4.3"); - public static final ASN1ObjectIdentifier dc = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"); - public static final ASN1ObjectIdentifier description = new ASN1ObjectIdentifier("2.5.4.13"); - public static final ASN1ObjectIdentifier destinationIndicator = new ASN1ObjectIdentifier("2.5.4.27"); - public static final ASN1ObjectIdentifier distinguishedName = new ASN1ObjectIdentifier("2.5.4.49"); - public static final ASN1ObjectIdentifier dnQualifier = new ASN1ObjectIdentifier("2.5.4.46"); - public static final ASN1ObjectIdentifier enhancedSearchGuide = new ASN1ObjectIdentifier("2.5.4.47"); - public static final ASN1ObjectIdentifier facsimileTelephoneNumber = new ASN1ObjectIdentifier("2.5.4.23"); - public static final ASN1ObjectIdentifier generationQualifier = new ASN1ObjectIdentifier("2.5.4.44"); - public static final ASN1ObjectIdentifier givenName = new ASN1ObjectIdentifier("2.5.4.42"); - public static final ASN1ObjectIdentifier houseIdentifier = new ASN1ObjectIdentifier("2.5.4.51"); - public static final ASN1ObjectIdentifier initials = new ASN1ObjectIdentifier("2.5.4.43"); - public static final ASN1ObjectIdentifier internationalISDNNumber = new ASN1ObjectIdentifier("2.5.4.25"); - public static final ASN1ObjectIdentifier l = new ASN1ObjectIdentifier("2.5.4.7"); - public static final ASN1ObjectIdentifier member = new ASN1ObjectIdentifier("2.5.4.31"); - public static final ASN1ObjectIdentifier name = new ASN1ObjectIdentifier("2.5.4.41"); - public static final ASN1ObjectIdentifier o = new ASN1ObjectIdentifier("2.5.4.10"); - public static final ASN1ObjectIdentifier ou = new ASN1ObjectIdentifier("2.5.4.11"); - public static final ASN1ObjectIdentifier owner = new ASN1ObjectIdentifier("2.5.4.32"); - public static final ASN1ObjectIdentifier physicalDeliveryOfficeName = new ASN1ObjectIdentifier("2.5.4.19"); - public static final ASN1ObjectIdentifier postalAddress = new ASN1ObjectIdentifier("2.5.4.16"); - public static final ASN1ObjectIdentifier postalCode = new ASN1ObjectIdentifier("2.5.4.17"); - public static final ASN1ObjectIdentifier postOfficeBox = new ASN1ObjectIdentifier("2.5.4.18"); - public static final ASN1ObjectIdentifier preferredDeliveryMethod = new ASN1ObjectIdentifier("2.5.4.28"); - public static final ASN1ObjectIdentifier registeredAddress = new ASN1ObjectIdentifier("2.5.4.26"); - public static final ASN1ObjectIdentifier roleOccupant = new ASN1ObjectIdentifier("2.5.4.33"); - public static final ASN1ObjectIdentifier searchGuide = new ASN1ObjectIdentifier("2.5.4.14"); - public static final ASN1ObjectIdentifier seeAlso = new ASN1ObjectIdentifier("2.5.4.34"); - public static final ASN1ObjectIdentifier serialNumber = new ASN1ObjectIdentifier("2.5.4.5"); - public static final ASN1ObjectIdentifier sn = new ASN1ObjectIdentifier("2.5.4.4"); - public static final ASN1ObjectIdentifier st = new ASN1ObjectIdentifier("2.5.4.8"); - public static final ASN1ObjectIdentifier street = new ASN1ObjectIdentifier("2.5.4.9"); - public static final ASN1ObjectIdentifier telephoneNumber = new ASN1ObjectIdentifier("2.5.4.20"); - public static final ASN1ObjectIdentifier teletexTerminalIdentifier = new ASN1ObjectIdentifier("2.5.4.22"); - public static final ASN1ObjectIdentifier telexNumber = new ASN1ObjectIdentifier("2.5.4.21"); - public static final ASN1ObjectIdentifier title = new ASN1ObjectIdentifier("2.5.4.12"); - public static final ASN1ObjectIdentifier uid = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"); - public static final ASN1ObjectIdentifier uniqueMember = new ASN1ObjectIdentifier("2.5.4.50"); - public static final ASN1ObjectIdentifier userPassword = new ASN1ObjectIdentifier("2.5.4.35"); - public static final ASN1ObjectIdentifier x121Address = new ASN1ObjectIdentifier("2.5.4.24"); - public static final ASN1ObjectIdentifier x500UniqueIdentifier = new ASN1ObjectIdentifier("2.5.4.45"); - - /** - * default look up table translating OID values into their common symbols following - * the convention in RFC 2253 with a few extras - */ - private static final Hashtable DefaultSymbols = new Hashtable(); - - /** - * look up table translating common symbols into their OIDS. - */ - private static final Hashtable DefaultLookUp = new Hashtable(); - - static - { - DefaultSymbols.put(businessCategory, "businessCategory"); - DefaultSymbols.put(c, "c"); - DefaultSymbols.put(cn, "cn"); - DefaultSymbols.put(dc, "dc"); - DefaultSymbols.put(description, "description"); - DefaultSymbols.put(destinationIndicator, "destinationIndicator"); - DefaultSymbols.put(distinguishedName, "distinguishedName"); - DefaultSymbols.put(dnQualifier, "dnQualifier"); - DefaultSymbols.put(enhancedSearchGuide, "enhancedSearchGuide"); - DefaultSymbols.put(facsimileTelephoneNumber, "facsimileTelephoneNumber"); - DefaultSymbols.put(generationQualifier, "generationQualifier"); - DefaultSymbols.put(givenName, "givenName"); - DefaultSymbols.put(houseIdentifier, "houseIdentifier"); - DefaultSymbols.put(initials, "initials"); - DefaultSymbols.put(internationalISDNNumber, "internationalISDNNumber"); - DefaultSymbols.put(l, "l"); - DefaultSymbols.put(member, "member"); - DefaultSymbols.put(name, "name"); - DefaultSymbols.put(o, "o"); - DefaultSymbols.put(ou, "ou"); - DefaultSymbols.put(owner, "owner"); - DefaultSymbols.put(physicalDeliveryOfficeName, "physicalDeliveryOfficeName"); - DefaultSymbols.put(postalAddress, "postalAddress"); - DefaultSymbols.put(postalCode, "postalCode"); - DefaultSymbols.put(postOfficeBox, "postOfficeBox"); - DefaultSymbols.put(preferredDeliveryMethod, "preferredDeliveryMethod"); - DefaultSymbols.put(registeredAddress, "registeredAddress"); - DefaultSymbols.put(roleOccupant, "roleOccupant"); - DefaultSymbols.put(searchGuide, "searchGuide"); - DefaultSymbols.put(seeAlso, "seeAlso"); - DefaultSymbols.put(serialNumber, "serialNumber"); - DefaultSymbols.put(sn, "sn"); - DefaultSymbols.put(st, "st"); - DefaultSymbols.put(street, "street"); - DefaultSymbols.put(telephoneNumber, "telephoneNumber"); - DefaultSymbols.put(teletexTerminalIdentifier, "teletexTerminalIdentifier"); - DefaultSymbols.put(telexNumber, "telexNumber"); - DefaultSymbols.put(title, "title"); - DefaultSymbols.put(uid, "uid"); - DefaultSymbols.put(uniqueMember, "uniqueMember"); - DefaultSymbols.put(userPassword, "userPassword"); - DefaultSymbols.put(x121Address, "x121Address"); - DefaultSymbols.put(x500UniqueIdentifier, "x500UniqueIdentifier"); - - DefaultLookUp.put("businesscategory", businessCategory); - DefaultLookUp.put("c", c); - DefaultLookUp.put("cn", cn); - DefaultLookUp.put("dc", dc); - DefaultLookUp.put("description", description); - DefaultLookUp.put("destinationindicator", destinationIndicator); - DefaultLookUp.put("distinguishedname", distinguishedName); - DefaultLookUp.put("dnqualifier", dnQualifier); - DefaultLookUp.put("enhancedsearchguide", enhancedSearchGuide); - DefaultLookUp.put("facsimiletelephonenumber", facsimileTelephoneNumber); - DefaultLookUp.put("generationqualifier", generationQualifier); - DefaultLookUp.put("givenname", givenName); - DefaultLookUp.put("houseidentifier", houseIdentifier); - DefaultLookUp.put("initials", initials); - DefaultLookUp.put("internationalisdnnumber", internationalISDNNumber); - DefaultLookUp.put("l", l); - DefaultLookUp.put("member", member); - DefaultLookUp.put("name", name); - DefaultLookUp.put("o", o); - DefaultLookUp.put("ou", ou); - DefaultLookUp.put("owner", owner); - DefaultLookUp.put("physicaldeliveryofficename", physicalDeliveryOfficeName); - DefaultLookUp.put("postaladdress", postalAddress); - DefaultLookUp.put("postalcode", postalCode); - DefaultLookUp.put("postofficebox", postOfficeBox); - DefaultLookUp.put("preferreddeliverymethod", preferredDeliveryMethod); - DefaultLookUp.put("registeredaddress", registeredAddress); - DefaultLookUp.put("roleoccupant", roleOccupant); - DefaultLookUp.put("searchguide", searchGuide); - DefaultLookUp.put("seealso", seeAlso); - DefaultLookUp.put("serialnumber", serialNumber); - DefaultLookUp.put("sn", sn); - DefaultLookUp.put("st", st); - DefaultLookUp.put("street", street); - DefaultLookUp.put("telephonenumber", telephoneNumber); - DefaultLookUp.put("teletexterminalidentifier", teletexTerminalIdentifier); - DefaultLookUp.put("telexnumber", telexNumber); - DefaultLookUp.put("title", title); - DefaultLookUp.put("uid", uid); - DefaultLookUp.put("uniquemember", uniqueMember); - DefaultLookUp.put("userpassword", userPassword); - DefaultLookUp.put("x121address", x121Address); - DefaultLookUp.put("x500uniqueidentifier", x500UniqueIdentifier); - - // TODO: need to add correct matching for equality comparisons. - } - - /** - * Singleton instance. - */ - public static final X500NameStyle INSTANCE = new RFC4519Style(); - - protected Hashtable defaultLookUp; - protected Hashtable defaultSymbols; - - protected RFC4519Style() - { - defaultSymbols = copyHashTable(DefaultSymbols); - defaultLookUp = copyHashTable(DefaultLookUp); - } - - public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value) - { - if (value.length() != 0 && value.charAt(0) == '#') - { - try - { - return IETFUtils.valueFromHexString(value, 1); - } - catch (IOException e) - { - throw new RuntimeException("can't recode value for oid " + oid.getId()); - } - } - else - { - if (value.length() != 0 && value.charAt(0) == '\\') - { - value = value.substring(1); - } - if (oid.equals(dc)) - { - return new DERIA5String(value); - } - else if (oid.equals(c) || oid.equals(serialNumber) || oid.equals(dnQualifier) - || oid.equals(telephoneNumber)) - { - return new DERPrintableString(value); - } - } - - return new DERUTF8String(value); - } - - public String oidToDisplayName(ASN1ObjectIdentifier oid) - { - return (String)DefaultSymbols.get(oid); - } - - public String[] oidToAttrNames(ASN1ObjectIdentifier oid) - { - return IETFUtils.findAttrNamesForOID(oid, defaultLookUp); - } - - public ASN1ObjectIdentifier attrNameToOID(String attrName) - { - return IETFUtils.decodeAttrName(attrName, defaultLookUp); - } - - public boolean areEqual(X500Name name1, X500Name name2) - { - RDN[] rdns1 = name1.getRDNs(); - RDN[] rdns2 = name2.getRDNs(); - - if (rdns1.length != rdns2.length) - { - return false; - } - - boolean reverse = false; - - if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null) - { - reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType()); // guess forward - } - - for (int i = 0; i != rdns1.length; i++) - { - if (!foundMatch(reverse, rdns1[i], rdns2)) - { - return false; - } - } - - return true; - } - - private boolean foundMatch(boolean reverse, RDN rdn, RDN[] possRDNs) - { - if (reverse) - { - for (int i = possRDNs.length - 1; i >= 0; i--) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - else - { - for (int i = 0; i != possRDNs.length; i++) - { - if (possRDNs[i] != null && rdnAreEqual(rdn, possRDNs[i])) - { - possRDNs[i] = null; - return true; - } - } - } - - return false; - } - - protected boolean rdnAreEqual(RDN rdn1, RDN rdn2) - { - return IETFUtils.rDNAreEqual(rdn1, rdn2); - } - - // parse backwards - public RDN[] fromString(String dirName) - { - RDN[] tmp = IETFUtils.rDNsFromString(dirName, this); - RDN[] res = new RDN[tmp.length]; - - for (int i = 0; i != tmp.length; i++) - { - res[res.length - i - 1] = tmp[i]; - } - - return res; - } - - public int calculateHashCode(X500Name name) - { - int hashCodeValue = 0; - RDN[] rdns = name.getRDNs(); - - // this needs to be order independent, like equals - for (int i = 0; i != rdns.length; i++) - { - if (rdns[i].isMultiValued()) - { - AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues(); - - for (int j = 0; j != atv.length; j++) - { - hashCodeValue ^= atv[j].getType().hashCode(); - hashCodeValue ^= calcHashCode(atv[j].getValue()); - } - } - else - { - hashCodeValue ^= rdns[i].getFirst().getType().hashCode(); - hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue()); - } - } - - return hashCodeValue; - } - - private int calcHashCode(ASN1Encodable enc) - { - String value = IETFUtils.valueToString(enc); - - value = IETFUtils.canonicalize(value); - - return value.hashCode(); - } - - // convert in reverse - public String toString(X500Name name) - { - StringBuffer buf = new StringBuffer(); - boolean first = true; - - RDN[] rdns = name.getRDNs(); - - for (int i = rdns.length - 1; i >= 0; i--) - { - if (first) - { - first = false; - } - else - { - buf.append(','); - } - - IETFUtils.appendRDN(buf, rdns[i], defaultSymbols); - } - - return buf.toString(); - } - - private static Hashtable copyHashTable(Hashtable paramsMap) - { - Hashtable newTable = new Hashtable(); - - Enumeration keys = paramsMap.keys(); - while (keys.hasMoreElements()) - { - Object key = keys.nextElement(); - newTable.put(key, paramsMap.get(key)); - } - - return newTable; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java deleted file mode 100644 index 17554b960..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEParticipant.java +++ /dev/null @@ -1,573 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.util.Arrays; - -/** - * A participant in a Password Authenticated Key Exchange by Juggling (J-PAKE) exchange. - *

    - *

    - * The J-PAKE exchange is defined by Feng Hao and Peter Ryan in the paper - * - * "Password Authenticated Key Exchange by Juggling, 2008." - *

    - *

    - * The J-PAKE protocol is symmetric. - * There is no notion of a client or server, but rather just two participants. - * An instance of {@link JPAKEParticipant} represents one participant, and - * is the primary interface for executing the exchange. - *

    - *

    - * To execute an exchange, construct a {@link JPAKEParticipant} on each end, - * and call the following 7 methods - * (once and only once, in the given order, for each participant, sending messages between them as described): - *

      - *
    1. {@link #createRound1PayloadToSend()} - and send the payload to the other participant
    2. - *
    3. {@link #validateRound1PayloadReceived(JPAKERound1Payload)} - use the payload received from the other participant
    4. - *
    5. {@link #createRound2PayloadToSend()} - and send the payload to the other participant
    6. - *
    7. {@link #validateRound2PayloadReceived(JPAKERound2Payload)} - use the payload received from the other participant
    8. - *
    9. {@link #calculateKeyingMaterial()}
    10. - *
    11. {@link #createRound3PayloadToSend(BigInteger)} - and send the payload to the other participant
    12. - *
    13. {@link #validateRound3PayloadReceived(JPAKERound3Payload, BigInteger)} - use the payload received from the other participant
    14. - *
    - *

    - *

    - * Each side should derive a session key from the keying material returned by {@link #calculateKeyingMaterial()}. - * The caller is responsible for deriving the session key using a secure key derivation function (KDF). - *

    - *

    - * Round 3 is an optional key confirmation process. - * If you do not execute round 3, then there is no assurance that both participants are using the same key. - * (i.e. if the participants used different passwords, then their session keys will differ.) - *

    - *

    - * If the round 3 validation succeeds, then the keys are guaranteed to be the same on both sides. - *

    - *

    - * The symmetric design can easily support the asymmetric cases when one party initiates the communication. - * e.g. Sometimes the round1 payload and round2 payload may be sent in one pass. - * Also, in some cases, the key confirmation payload can be sent together with the round2 payload. - * These are the trivial techniques to optimize the communication. - *

    - *

    - * The key confirmation process is implemented as specified in - * NIST SP 800-56A Revision 1, - * Section 8.2 Unilateral Key Confirmation for Key Agreement Schemes. - *

    - *

    - * This class is stateful and NOT threadsafe. - * Each instance should only be used for ONE complete J-PAKE exchange - * (i.e. a new {@link JPAKEParticipant} should be constructed for each new J-PAKE exchange). - *

    - *

    - * See {@link JPAKEExample} for example usage. - */ -public class JPAKEParticipant -{ - /* - * Possible internal states. Used for state checking. - */ - - public static final int STATE_INITIALIZED = 0; - public static final int STATE_ROUND_1_CREATED = 10; - public static final int STATE_ROUND_1_VALIDATED = 20; - public static final int STATE_ROUND_2_CREATED = 30; - public static final int STATE_ROUND_2_VALIDATED = 40; - public static final int STATE_KEY_CALCULATED = 50; - public static final int STATE_ROUND_3_CREATED = 60; - public static final int STATE_ROUND_3_VALIDATED = 70; - - /** - * Unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - */ - private String participantId; - - /** - * Shared secret. This only contains the secret between construction - * and the call to {@link #calculateKeyingMaterial()}. - *

    - * i.e. When {@link #calculateKeyingMaterial()} is called, this buffer overwritten with 0's, - * and the field is set to null. - */ - private char[] password; - - /** - * Digest to use during calculations. - */ - private Digest digest; - - /** - * Source of secure random data. - */ - private SecureRandom random; - - private BigInteger p; - private BigInteger q; - private BigInteger g; - - /** - * The participantId of the other participant in this exchange. - */ - private String partnerParticipantId; - - /** - * Alice's x1 or Bob's x3. - */ - private BigInteger x1; - /** - * Alice's x2 or Bob's x4. - */ - private BigInteger x2; - /** - * Alice's g^x1 or Bob's g^x3. - */ - private BigInteger gx1; - /** - * Alice's g^x2 or Bob's g^x4. - */ - private BigInteger gx2; - /** - * Alice's g^x3 or Bob's g^x1. - */ - private BigInteger gx3; - /** - * Alice's g^x4 or Bob's g^x2. - */ - private BigInteger gx4; - /** - * Alice's B or Bob's A. - */ - private BigInteger b; - - /** - * The current state. - * See the STATE_* constants for possible values. - */ - private int state; - - /** - * Convenience constructor for a new {@link JPAKEParticipant} that uses - * the {@link JPAKEPrimeOrderGroups#NIST_3072} prime order group, - * a SHA-256 digest, and a default {@link SecureRandom} implementation. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password) - { - this( - participantId, - password, - JPAKEPrimeOrderGroups.NIST_3072); - } - - - /** - * Convenience constructor for a new {@link JPAKEParticipant} that uses - * a SHA-256 digest and a default {@link SecureRandom} implementation. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @param group prime order group. - * See {@link JPAKEPrimeOrderGroups} for standard groups - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password, - JPAKEPrimeOrderGroup group) - { - this( - participantId, - password, - group, - new SHA256Digest(), - new SecureRandom()); - } - - - /** - * Construct a new {@link JPAKEParticipant}. - *

    - * After construction, the {@link #getState() state} will be {@link #STATE_INITIALIZED}. - * - * @param participantId unique identifier of this participant. - * The two participants in the exchange must NOT share the same id. - * @param password shared secret. - * A defensive copy of this array is made (and cleared once {@link #calculateKeyingMaterial()} is called). - * Caller should clear the input password as soon as possible. - * @param group prime order group. - * See {@link JPAKEPrimeOrderGroups} for standard groups - * @param digest digest to use during zero knowledge proofs and key confirmation (SHA-256 or stronger preferred) - * @param random source of secure random data for x1 and x2, and for the zero knowledge proofs - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if password is empty - */ - public JPAKEParticipant( - String participantId, - char[] password, - JPAKEPrimeOrderGroup group, - Digest digest, - SecureRandom random) - { - JPAKEUtil.validateNotNull(participantId, "participantId"); - JPAKEUtil.validateNotNull(password, "password"); - JPAKEUtil.validateNotNull(group, "p"); - JPAKEUtil.validateNotNull(digest, "digest"); - JPAKEUtil.validateNotNull(random, "random"); - if (password.length == 0) - { - throw new IllegalArgumentException("Password must not be empty."); - } - - this.participantId = participantId; - - /* - * Create a defensive copy so as to fully encapsulate the password. - * - * This array will contain the password for the lifetime of this - * participant BEFORE {@link #calculateKeyingMaterial()} is called. - * - * i.e. When {@link #calculateKeyingMaterial()} is called, the array will be cleared - * in order to remove the password from memory. - * - * The caller is responsible for clearing the original password array - * given as input to this constructor. - */ - this.password = Arrays.copyOf(password, password.length); - - this.p = group.getP(); - this.q = group.getQ(); - this.g = group.getG(); - - this.digest = digest; - this.random = random; - - this.state = STATE_INITIALIZED; - } - - /** - * Gets the current state of this participant. - * See the STATE_* constants for possible values. - */ - public int getState() - { - return this.state; - } - - /** - * Creates and returns the payload to send to the other participant during round 1. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_1_CREATED}. - */ - public JPAKERound1Payload createRound1PayloadToSend() - { - if (this.state >= STATE_ROUND_1_CREATED) - { - throw new IllegalStateException("Round1 payload already created for " + participantId); - } - - this.x1 = JPAKEUtil.generateX1(q, random); - this.x2 = JPAKEUtil.generateX2(q, random); - - this.gx1 = JPAKEUtil.calculateGx(p, g, x1); - this.gx2 = JPAKEUtil.calculateGx(p, g, x2); - BigInteger[] knowledgeProofForX1 = JPAKEUtil.calculateZeroKnowledgeProof(p, q, g, gx1, x1, participantId, digest, random); - BigInteger[] knowledgeProofForX2 = JPAKEUtil.calculateZeroKnowledgeProof(p, q, g, gx2, x2, participantId, digest, random); - - this.state = STATE_ROUND_1_CREATED; - - return new JPAKERound1Payload(participantId, gx1, gx2, knowledgeProofForX1, knowledgeProofForX2); - } - - /** - * Validates the payload received from the other participant during round 1. - *

    - *

    - * Must be called prior to {@link #createRound2PayloadToSend()}. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_1_VALIDATED}. - * - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called multiple times. - */ - public void validateRound1PayloadReceived(JPAKERound1Payload round1PayloadReceived) - throws CryptoException - { - if (this.state >= STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round1 payload for" + participantId); - } - this.partnerParticipantId = round1PayloadReceived.getParticipantId(); - this.gx3 = round1PayloadReceived.getGx1(); - this.gx4 = round1PayloadReceived.getGx2(); - - BigInteger[] knowledgeProofForX3 = round1PayloadReceived.getKnowledgeProofForX1(); - BigInteger[] knowledgeProofForX4 = round1PayloadReceived.getKnowledgeProofForX2(); - - JPAKEUtil.validateParticipantIdsDiffer(participantId, round1PayloadReceived.getParticipantId()); - JPAKEUtil.validateGx4(gx4); - JPAKEUtil.validateZeroKnowledgeProof(p, q, g, gx3, knowledgeProofForX3, round1PayloadReceived.getParticipantId(), digest); - JPAKEUtil.validateZeroKnowledgeProof(p, q, g, gx4, knowledgeProofForX4, round1PayloadReceived.getParticipantId(), digest); - - this.state = STATE_ROUND_1_VALIDATED; - } - - /** - * Creates and returns the payload to send to the other participant during round 2. - *

    - *

    - * {@link #validateRound1PayloadReceived(JPAKERound1Payload)} must be called prior to this method. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_2_CREATED}. - * - * @throws IllegalStateException if called prior to {@link #validateRound1PayloadReceived(JPAKERound1Payload)}, or multiple times - */ - public JPAKERound2Payload createRound2PayloadToSend() - { - if (this.state >= STATE_ROUND_2_CREATED) - { - throw new IllegalStateException("Round2 payload already created for " + this.participantId); - } - if (this.state < STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Round1 payload must be validated prior to creating Round2 payload for " + this.participantId); - } - BigInteger gA = JPAKEUtil.calculateGA(p, gx1, gx3, gx4); - BigInteger s = JPAKEUtil.calculateS(password); - BigInteger x2s = JPAKEUtil.calculateX2s(q, x2, s); - BigInteger A = JPAKEUtil.calculateA(p, q, gA, x2s); - BigInteger[] knowledgeProofForX2s = JPAKEUtil.calculateZeroKnowledgeProof(p, q, gA, A, x2s, participantId, digest, random); - - this.state = STATE_ROUND_2_CREATED; - - return new JPAKERound2Payload(participantId, A, knowledgeProofForX2s); - } - - /** - * Validates the payload received from the other participant during round 2. - *

    - *

    - * Note that this DOES NOT detect a non-common password. - * The only indication of a non-common password is through derivation - * of different keys (which can be detected explicitly by executing round 3 and round 4) - *

    - *

    - * Must be called prior to {@link #calculateKeyingMaterial()}. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_2_VALIDATED}. - * - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called prior to {@link #validateRound1PayloadReceived(JPAKERound1Payload)}, or multiple times - */ - public void validateRound2PayloadReceived(JPAKERound2Payload round2PayloadReceived) - throws CryptoException - { - if (this.state >= STATE_ROUND_2_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round2 payload for" + participantId); - } - if (this.state < STATE_ROUND_1_VALIDATED) - { - throw new IllegalStateException("Round1 payload must be validated prior to validating Round2 payload for " + this.participantId); - } - BigInteger gB = JPAKEUtil.calculateGA(p, gx3, gx1, gx2); - this.b = round2PayloadReceived.getA(); - BigInteger[] knowledgeProofForX4s = round2PayloadReceived.getKnowledgeProofForX2s(); - - JPAKEUtil.validateParticipantIdsDiffer(participantId, round2PayloadReceived.getParticipantId()); - JPAKEUtil.validateParticipantIdsEqual(this.partnerParticipantId, round2PayloadReceived.getParticipantId()); - JPAKEUtil.validateGa(gB); - JPAKEUtil.validateZeroKnowledgeProof(p, q, gB, b, knowledgeProofForX4s, round2PayloadReceived.getParticipantId(), digest); - - this.state = STATE_ROUND_2_VALIDATED; - } - - /** - * Calculates and returns the key material. - * A session key must be derived from this key material using a secure key derivation function (KDF). - * The KDF used to derive the key is handled externally (i.e. not by {@link JPAKEParticipant}). - *

    - *

    - * The keying material will be identical for each participant if and only if - * each participant's password is the same. i.e. If the participants do not - * share the same password, then each participant will derive a different key. - * Therefore, if you immediately start using a key derived from - * the keying material, then you must handle detection of incorrect keys. - * If you want to handle this detection explicitly, you can optionally perform - * rounds 3 and 4. See {@link JPAKEParticipant} for details on how to execute - * rounds 3 and 4. - *

    - *

    - * The keying material will be in the range [0, p-1]. - *

    - *

    - * {@link #validateRound2PayloadReceived(JPAKERound2Payload)} must be called prior to this method. - *

    - *

    - * As a side effect, the internal {@link #password} array is cleared, since it is no longer needed. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_KEY_CALCULATED}. - * - * @throws IllegalStateException if called prior to {@link #validateRound2PayloadReceived(JPAKERound2Payload)}, - * or if called multiple times. - */ - public BigInteger calculateKeyingMaterial() - { - if (this.state >= STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Key already calculated for " + participantId); - } - if (this.state < STATE_ROUND_2_VALIDATED) - { - throw new IllegalStateException("Round2 payload must be validated prior to creating key for " + participantId); - } - BigInteger s = JPAKEUtil.calculateS(password); - - /* - * Clear the password array from memory, since we don't need it anymore. - * - * Also set the field to null as a flag to indicate that the key has already been calculated. - */ - Arrays.fill(password, (char)0); - this.password = null; - - BigInteger keyingMaterial = JPAKEUtil.calculateKeyingMaterial(p, q, gx4, x2, s, b); - - /* - * Clear the ephemeral private key fields as well. - * Note that we're relying on the garbage collector to do its job to clean these up. - * The old objects will hang around in memory until the garbage collector destroys them. - * - * If the ephemeral private keys x1 and x2 are leaked, - * the attacker might be able to brute-force the password. - */ - this.x1 = null; - this.x2 = null; - this.b = null; - - /* - * Do not clear gx* yet, since those are needed by round 3. - */ - - this.state = STATE_KEY_CALCULATED; - - return keyingMaterial; - } - - - /** - * Creates and returns the payload to send to the other participant during round 3. - *

    - *

    - * See {@link JPAKEParticipant} for more details on round 3. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_3_CREATED}. - * - * @param keyingMaterial The keying material as returned from {@link #calculateKeyingMaterial()}. - * @throws IllegalStateException if called prior to {@link #calculateKeyingMaterial()}, or multiple times - */ - public JPAKERound3Payload createRound3PayloadToSend(BigInteger keyingMaterial) - { - if (this.state >= STATE_ROUND_3_CREATED) - { - throw new IllegalStateException("Round3 payload already created for " + this.participantId); - } - if (this.state < STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Keying material must be calculated prior to creating Round3 payload for " + this.participantId); - } - - BigInteger macTag = JPAKEUtil.calculateMacTag( - this.participantId, - this.partnerParticipantId, - this.gx1, - this.gx2, - this.gx3, - this.gx4, - keyingMaterial, - this.digest); - - this.state = STATE_ROUND_3_CREATED; - - return new JPAKERound3Payload(participantId, macTag); - } - - /** - * Validates the payload received from the other participant during round 3. - *

    - *

    - * See {@link JPAKEParticipant} for more details on round 3. - *

    - *

    - * After execution, the {@link #getState() state} will be {@link #STATE_ROUND_3_VALIDATED}. - * - * @param keyingMaterial The keying material as returned from {@link #calculateKeyingMaterial()}. - * @throws CryptoException if validation fails. - * @throws IllegalStateException if called prior to {@link #calculateKeyingMaterial()}, or multiple times - */ - public void validateRound3PayloadReceived(JPAKERound3Payload round3PayloadReceived, BigInteger keyingMaterial) - throws CryptoException - { - if (this.state >= STATE_ROUND_3_VALIDATED) - { - throw new IllegalStateException("Validation already attempted for round3 payload for" + participantId); - } - if (this.state < STATE_KEY_CALCULATED) - { - throw new IllegalStateException("Keying material must be calculated validated prior to validating Round3 payload for " + this.participantId); - } - JPAKEUtil.validateParticipantIdsDiffer(participantId, round3PayloadReceived.getParticipantId()); - JPAKEUtil.validateParticipantIdsEqual(this.partnerParticipantId, round3PayloadReceived.getParticipantId()); - - JPAKEUtil.validateMacTag( - this.participantId, - this.partnerParticipantId, - this.gx1, - this.gx2, - this.gx3, - this.gx4, - keyingMaterial, - this.digest, - round3PayloadReceived.getMacTag()); - - - /* - * Clear the rest of the fields. - */ - this.gx1 = null; - this.gx2 = null; - this.gx3 = null; - this.gx4 = null; - - this.state = STATE_ROUND_3_VALIDATED; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java deleted file mode 100644 index 59e93385c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/agreement/jpake/JPAKEPrimeOrderGroup.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.crypto.agreement.jpake; - -import java.math.BigInteger; - -/** - * A pre-computed prime order group for use during a J-PAKE exchange. - *

    - *

    - * Typically a Schnorr group is used. In general, J-PAKE can use any prime order group - * that is suitable for public key cryptography, including elliptic curve cryptography. - *

    - *

    - * See {@link JPAKEPrimeOrderGroups} for convenient standard groups. - *

    - *

    - * NIST publishes - * many groups that can be used for the desired level of security. - */ -public class JPAKEPrimeOrderGroup -{ - private BigInteger p; - private BigInteger q; - private BigInteger g; - - /** - * Constructs a new {@link JPAKEPrimeOrderGroup}. - *

    - *

    - * In general, you should use one of the pre-approved groups from - * {@link JPAKEPrimeOrderGroups}, rather than manually constructing one. - *

    - *

    - * The following basic checks are performed: - *

      - *
    • p-1 must be evenly divisible by q
    • - *
    • g must be in [2, p-1]
    • - *
    • g^q mod p must equal 1
    • - *
    • p must be prime (within reasonably certainty)
    • - *
    • q must be prime (within reasonably certainty)
    • - *
    - *

    - *

    - * The prime checks are performed using {@link BigInteger#isProbablePrime(int)}, - * and are therefore subject to the same probability guarantees. - *

    - *

    - * These checks prevent trivial mistakes. - * However, due to the small uncertainties if p and q are not prime, - * advanced attacks are not prevented. - * Use it at your own risk. - * - * @throws NullPointerException if any argument is null - * @throws IllegalArgumentException if any of the above validations fail - */ - public JPAKEPrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g) - { - /* - * Don't skip the checks on user-specified groups. - */ - this(p, q, g, false); - } - - /** - * Internal package-private constructor used by the pre-approved - * groups in {@link JPAKEPrimeOrderGroups}. - * These pre-approved groups can avoid the expensive checks. - */ - JPAKEPrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g, boolean skipChecks) - { - JPAKEUtil.validateNotNull(p, "p"); - JPAKEUtil.validateNotNull(q, "q"); - JPAKEUtil.validateNotNull(g, "g"); - - if (!skipChecks) - { - if (!p.subtract(JPAKEUtil.ONE).mod(q).equals(JPAKEUtil.ZERO)) - { - throw new IllegalArgumentException("p-1 must be evenly divisible by q"); - } - if (g.compareTo(BigInteger.valueOf(2)) == -1 || g.compareTo(p.subtract(JPAKEUtil.ONE)) == 1) - { - throw new IllegalArgumentException("g must be in [2, p-1]"); - } - if (!g.modPow(q, p).equals(JPAKEUtil.ONE)) - { - throw new IllegalArgumentException("g^q mod p must equal 1"); - } - /* - * Note that these checks do not guarantee that p and q are prime. - * We just have reasonable certainty that they are prime. - */ - if (!p.isProbablePrime(20)) - { - throw new IllegalArgumentException("p must be prime"); - } - if (!q.isProbablePrime(20)) - { - throw new IllegalArgumentException("q must be prime"); - } - } - - this.p = p; - this.q = q; - this.g = g; - } - - public BigInteger getP() - { - return p; - } - - public BigInteger getQ() - { - return q; - } - - public BigInteger getG() - { - return g; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/digests/SkeinEngine.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/digests/SkeinEngine.java deleted file mode 100644 index a278ff4e4..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/digests/SkeinEngine.java +++ /dev/null @@ -1,817 +0,0 @@ -package org.spongycastle.crypto.digests; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.crypto.params.SkeinParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Memoable; - -/** - * Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block - * sizes, based on the {@link ThreefishEngine Threefish} tweakable block cipher. - *

    - * This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 - * competition in October 2010. - *

    - * Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir - * Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. - *

    - * This implementation is the basis for {@link SkeinDigest} and {@link SkeinMac}, implementing the - * parameter based configuration system that allows Skein to be adapted to multiple applications.
    - * Initialising the engine with {@link SkeinParameters} allows standard and arbitrary parameters to - * be applied during the Skein hash function. - *

    - * Implemented: - *

      - *
    • 256, 512 and 1024 bit internal states.
    • - *
    • Full 96 bit input length.
    • - *
    • Parameters defined in the Skein specification, and arbitrary other pre and post message - * parameters.
    • - *
    • Arbitrary output size in 1 byte intervals.
    • - *
    - *

    - * Not implemented: - *

      - *
    • Sub-byte length input (bit padding).
    • - *
    • Tree hashing.
    • - *
    - * - * @see SkeinParameters - */ -public class SkeinEngine - implements Memoable -{ - /** - * 256 bit block size - Skein 256 - */ - public static final int SKEIN_256 = ThreefishEngine.BLOCKSIZE_256; - /** - * 512 bit block size - Skein 512 - */ - public static final int SKEIN_512 = ThreefishEngine.BLOCKSIZE_512; - /** - * 1024 bit block size - Skein 1024 - */ - public static final int SKEIN_1024 = ThreefishEngine.BLOCKSIZE_1024; - - // Minimal at present, but more complex when tree hashing is implemented - private static class Configuration - { - private byte[] bytes = new byte[32]; - - public Configuration(long outputSizeBits) - { - // 0..3 = ASCII SHA3 - bytes[0] = (byte)'S'; - bytes[1] = (byte)'H'; - bytes[2] = (byte)'A'; - bytes[3] = (byte)'3'; - - // 4..5 = version number in LSB order - bytes[4] = 1; - bytes[5] = 0; - - // 8..15 = output length - ThreefishEngine.wordToBytes(outputSizeBits, bytes, 8); - } - - public byte[] getBytes() - { - return bytes; - } - - } - - public static class Parameter - { - private int type; - private byte[] value; - - public Parameter(int type, byte[] value) - { - this.type = type; - this.value = value; - } - - public int getType() - { - return type; - } - - public byte[] getValue() - { - return value; - } - - } - - /** - * The parameter type for the Skein key. - */ - private static final int PARAM_TYPE_KEY = 0; - - /** - * The parameter type for the Skein configuration block. - */ - private static final int PARAM_TYPE_CONFIG = 4; - - /** - * The parameter type for the message. - */ - private static final int PARAM_TYPE_MESSAGE = 48; - - /** - * The parameter type for the output transformation. - */ - private static final int PARAM_TYPE_OUTPUT = 63; - - /** - * Precalculated UBI(CFG) states for common state/output combinations without key or other - * pre-message params. - */ - private static final Hashtable INITIAL_STATES = new Hashtable(); - - static - { - // From Appendix C of the Skein 1.3 NIST submission - initialState(SKEIN_256, 128, new long[]{ - 0xe1111906964d7260L, - 0x883daaa77c8d811cL, - 0x10080df491960f7aL, - 0xccf7dde5b45bc1c2L}); - - initialState(SKEIN_256, 160, new long[]{ - 0x1420231472825e98L, - 0x2ac4e9a25a77e590L, - 0xd47a58568838d63eL, - 0x2dd2e4968586ab7dL}); - - initialState(SKEIN_256, 224, new long[]{ - 0xc6098a8c9ae5ea0bL, - 0x876d568608c5191cL, - 0x99cb88d7d7f53884L, - 0x384bddb1aeddb5deL}); - - initialState(SKEIN_256, 256, new long[]{ - 0xfc9da860d048b449L, - 0x2fca66479fa7d833L, - 0xb33bc3896656840fL, - 0x6a54e920fde8da69L}); - - initialState(SKEIN_512, 128, new long[]{ - 0xa8bc7bf36fbf9f52L, - 0x1e9872cebd1af0aaL, - 0x309b1790b32190d3L, - 0xbcfbb8543f94805cL, - 0x0da61bcd6e31b11bL, - 0x1a18ebead46a32e3L, - 0xa2cc5b18ce84aa82L, - 0x6982ab289d46982dL}); - - initialState(SKEIN_512, 160, new long[]{ - 0x28b81a2ae013bd91L, - 0xc2f11668b5bdf78fL, - 0x1760d8f3f6a56f12L, - 0x4fb747588239904fL, - 0x21ede07f7eaf5056L, - 0xd908922e63ed70b8L, - 0xb8ec76ffeccb52faL, - 0x01a47bb8a3f27a6eL}); - - initialState(SKEIN_512, 224, new long[]{ - 0xccd0616248677224L, - 0xcba65cf3a92339efL, - 0x8ccd69d652ff4b64L, - 0x398aed7b3ab890b4L, - 0x0f59d1b1457d2bd0L, - 0x6776fe6575d4eb3dL, - 0x99fbc70e997413e9L, - 0x9e2cfccfe1c41ef7L}); - - initialState(SKEIN_512, 384, new long[]{ - 0xa3f6c6bf3a75ef5fL, - 0xb0fef9ccfd84faa4L, - 0x9d77dd663d770cfeL, - 0xd798cbf3b468fddaL, - 0x1bc4a6668a0e4465L, - 0x7ed7d434e5807407L, - 0x548fc1acd4ec44d6L, - 0x266e17546aa18ff8L}); - - initialState(SKEIN_512, 512, new long[]{ - 0x4903adff749c51ceL, - 0x0d95de399746df03L, - 0x8fd1934127c79bceL, - 0x9a255629ff352cb1L, - 0x5db62599df6ca7b0L, - 0xeabe394ca9d5c3f4L, - 0x991112c71a75b523L, - 0xae18a40b660fcc33L}); - } - - private static void initialState(int blockSize, int outputSize, long[] state) - { - INITIAL_STATES.put(variantIdentifier(blockSize / 8, outputSize / 8), state); - } - - private static Integer variantIdentifier(int blockSizeBytes, int outputSizeBytes) - { - return new Integer((outputSizeBytes << 16) | blockSizeBytes); - } - - private static class UbiTweak - { - /** - * Point at which position might overflow long, so switch to add with carry logic - */ - private static final long LOW_RANGE = Long.MAX_VALUE - Integer.MAX_VALUE; - - /** - * Bit 127 = final - */ - private static final long T1_FINAL = 1L << 63; - - /** - * Bit 126 = first - */ - private static final long T1_FIRST = 1L << 62; - - /** - * UBI uses a 128 bit tweak - */ - private long tweak[] = new long[2]; - - /** - * Whether 64 bit position exceeded - */ - private boolean extendedPosition; - - public UbiTweak() - { - reset(); - } - - public void reset(UbiTweak tweak) - { - this.tweak = Arrays.clone(tweak.tweak, this.tweak); - this.extendedPosition = tweak.extendedPosition; - } - - public void reset() - { - tweak[0] = 0; - tweak[1] = 0; - extendedPosition = false; - setFirst(true); - } - - public void setType(int type) - { - // Bits 120..125 = type - tweak[1] = (tweak[1] & 0xFFFFFFC000000000L) | ((type & 0x3FL) << 56); - } - - public int getType() - { - return (int)((tweak[1] >>> 56) & 0x3FL); - } - - public void setFirst(boolean first) - { - if (first) - { - tweak[1] |= T1_FIRST; - } - else - { - tweak[1] &= ~T1_FIRST; - } - } - - public boolean isFirst() - { - return ((tweak[1] & T1_FIRST) != 0); - } - - public void setFinal(boolean last) - { - if (last) - { - tweak[1] |= T1_FINAL; - } - else - { - tweak[1] &= ~T1_FINAL; - } - } - - public boolean isFinal() - { - return ((tweak[1] & T1_FINAL) != 0); - } - - /** - * Advances the position in the tweak by the specified value. - */ - public void advancePosition(int advance) - { - // Bits 0..95 = position - if (extendedPosition) - { - long[] parts = new long[3]; - parts[0] = tweak[0] & 0xFFFFFFFFL; - parts[1] = (tweak[0] >>> 32) & 0xFFFFFFFFL; - parts[2] = tweak[1] & 0xFFFFFFFFL; - - long carry = advance; - for (int i = 0; i < parts.length; i++) - { - carry += parts[i]; - parts[i] = carry; - carry >>>= 32; - } - tweak[0] = ((parts[1] & 0xFFFFFFFFL) << 32) | (parts[0] & 0xFFFFFFFFL); - tweak[1] = (tweak[1] & 0xFFFFFFFF00000000L) | (parts[2] & 0xFFFFFFFFL); - } - else - { - long position = tweak[0]; - position += advance; - tweak[0] = position; - if (position > LOW_RANGE) - { - extendedPosition = true; - } - } - } - - public long[] getWords() - { - return tweak; - } - - public String toString() - { - return getType() + " first: " + isFirst() + ", final: " + isFinal(); - } - - } - - /** - * The Unique Block Iteration chaining mode. - */ - // TODO: This might be better as methods... - private class UBI - { - private final UbiTweak tweak = new UbiTweak(); - - /** - * Buffer for the current block of message data - */ - private byte[] currentBlock; - - /** - * Offset into the current message block - */ - private int currentOffset; - - /** - * Buffer for message words for feedback into encrypted block - */ - private long[] message; - - public UBI(int blockSize) - { - currentBlock = new byte[blockSize]; - message = new long[currentBlock.length / 8]; - } - - public void reset(UBI ubi) - { - currentBlock = Arrays.clone(ubi.currentBlock, currentBlock); - currentOffset = ubi.currentOffset; - message = Arrays.clone(ubi.message, this.message); - tweak.reset(ubi.tweak); - } - - public void reset(int type) - { - tweak.reset(); - tweak.setType(type); - currentOffset = 0; - } - - public void update(byte[] value, int offset, int len, long[] output) - { - /* - * Buffer complete blocks for the underlying Threefish cipher, only flushing when there - * are subsequent bytes (last block must be processed in doFinal() with final=true set). - */ - int copied = 0; - while (len > copied) - { - if (currentOffset == currentBlock.length) - { - processBlock(output); - tweak.setFirst(false); - currentOffset = 0; - } - - int toCopy = Math.min((len - copied), currentBlock.length - currentOffset); - System.arraycopy(value, offset + copied, currentBlock, currentOffset, toCopy); - copied += toCopy; - currentOffset += toCopy; - tweak.advancePosition(toCopy); - } - } - - private void processBlock(long[] output) - { - threefish.init(true, chain, tweak.getWords()); - for (int i = 0; i < message.length; i++) - { - message[i] = ThreefishEngine.bytesToWord(currentBlock, i * 8); - } - - threefish.processBlock(message, output); - - for (int i = 0; i < output.length; i++) - { - output[i] ^= message[i]; - } - } - - public void doFinal(long[] output) - { - // Pad remainder of current block with zeroes - for (int i = currentOffset; i < currentBlock.length; i++) - { - currentBlock[i] = 0; - } - - tweak.setFinal(true); - processBlock(output); - } - - } - - /** - * Underlying Threefish tweakable block cipher - */ - private ThreefishEngine threefish; - - /** - * Size of the digest output, in bytes - */ - private int outputSizeBytes; - - /** - * The current chaining/state value - */ - long[] chain; - - /** - * The initial state value - */ - private long[] initialState; - - /** - * The (optional) key parameter - */ - private byte[] key; - - /** - * Parameters to apply prior to the message - */ - private Parameter[] preMessageParameters; - - /** - * Parameters to apply after the message, but prior to output - */ - private Parameter[] postMessageParameters; - - /** - * The current UBI operation - */ - private UBI ubi; - - /** - * Buffer for single byte update method - */ - private final byte[] singleByte = new byte[1]; - - /** - * Constructs a Skein engine. - * - * @param blockSizeBits the internal state size in bits - one of {@link #SKEIN_256}, {@link #SKEIN_512} or - * {@link #SKEIN_1024}. - * @param outputSizeBits the output/digest size to produce in bits, which must be an integral number of - * bytes. - */ - public SkeinEngine(int blockSizeBits, int outputSizeBits) - { - if (outputSizeBits % 8 != 0) - { - throw new IllegalArgumentException("Output size must be a multiple of 8 bits. :" + outputSizeBits); - } - // TODO: Prevent digest sizes > block size? - this.outputSizeBytes = outputSizeBits / 8; - - this.threefish = new ThreefishEngine(blockSizeBits); - this.ubi = new UBI(threefish.getBlockSize()); - } - - /** - * Creates a SkeinEngine as an exact copy of an existing instance. - */ - public SkeinEngine(SkeinEngine engine) - { - this(engine.getBlockSize() * 8, engine.getOutputSize() * 8); - copyIn(engine); - } - - private void copyIn(SkeinEngine engine) - { - this.ubi.reset(engine.ubi); - this.chain = Arrays.clone(engine.chain, this.chain); - this.initialState = Arrays.clone(engine.initialState, this.initialState); - this.key = Arrays.clone(engine.key, this.key); - this.preMessageParameters = clone(engine.preMessageParameters, this.preMessageParameters); - this.postMessageParameters = clone(engine.postMessageParameters, this.postMessageParameters); - } - - private static Parameter[] clone(Parameter[] data, Parameter[] existing) - { - if (data == null) - { - return null; - } - if ((existing == null) || (existing.length != data.length)) - { - existing = new Parameter[data.length]; - } - System.arraycopy(data, 0, existing, 0, existing.length); - return existing; - } - - public Memoable copy() - { - return new SkeinEngine(this); - } - - public void reset(Memoable other) - { - SkeinEngine s = (SkeinEngine)other; - if ((getBlockSize() != s.getBlockSize()) || (outputSizeBytes != s.outputSizeBytes)) - { - throw new IllegalArgumentException("Incompatible parameters in provided SkeinEngine."); - } - copyIn(s); - } - - public int getOutputSize() - { - return outputSizeBytes; - } - - public int getBlockSize() - { - return threefish.getBlockSize(); - } - - /** - * Initialises the Skein engine with the provided parameters. See {@link SkeinParameters} for - * details on the parameterisation of the Skein hash function. - * - * @param params the parameters to apply to this engine, or null to use no parameters. - */ - public void init(SkeinParameters params) - { - this.chain = null; - this.key = null; - this.preMessageParameters = null; - this.postMessageParameters = null; - - if (params != null) - { - byte[] key = params.getKey(); - if (key.length < 16) - { - throw new IllegalArgumentException("Skein key must be at least 128 bits."); - } - initParams(params.getParameters()); - } - createInitialState(); - - // Initialise message block - ubiInit(PARAM_TYPE_MESSAGE); - } - - private void initParams(Hashtable parameters) - { - Enumeration keys = parameters.keys(); - final Vector pre = new Vector(); - final Vector post = new Vector(); - - while (keys.hasMoreElements()) - { - Integer type = (Integer)keys.nextElement(); - byte[] value = (byte[])parameters.get(type); - - if (type.intValue() == PARAM_TYPE_KEY) - { - this.key = value; - } - else if (type.intValue() < PARAM_TYPE_MESSAGE) - { - pre.addElement(new Parameter(type.intValue(), value)); - } - else - { - post.addElement(new Parameter(type.intValue(), value)); - } - } - preMessageParameters = new Parameter[pre.size()]; - pre.copyInto(preMessageParameters); - sort(preMessageParameters); - - postMessageParameters = new Parameter[post.size()]; - post.copyInto(postMessageParameters); - sort(postMessageParameters); - } - - private static void sort(Parameter[] params) - { - if (params == null) - { - return; - } - // Insertion sort, for Java 1.1 compatibility - for (int i = 1; i < params.length; i++) - { - Parameter param = params[i]; - int hole = i; - while (hole > 0 && param.getType() < params[hole - 1].getType()) - { - params[hole] = params[hole - 1]; - hole = hole - 1; - } - params[hole] = param; - } - } - - /** - * Calculate the initial (pre message block) chaining state. - */ - private void createInitialState() - { - long[] precalc = (long[])INITIAL_STATES.get(variantIdentifier(getBlockSize(), getOutputSize())); - if ((key == null) && (precalc != null)) - { - // Precalculated UBI(CFG) - chain = Arrays.clone(precalc); - } - else - { - // Blank initial state - chain = new long[getBlockSize() / 8]; - - // Process key block - if (key != null) - { - ubiComplete(SkeinParameters.PARAM_TYPE_KEY, key); - } - - // Process configuration block - ubiComplete(PARAM_TYPE_CONFIG, new Configuration(outputSizeBytes * 8).getBytes()); - } - - // Process additional pre-message parameters - if (preMessageParameters != null) - { - for (int i = 0; i < preMessageParameters.length; i++) - { - Parameter param = preMessageParameters[i]; - ubiComplete(param.getType(), param.getValue()); - } - } - initialState = Arrays.clone(chain); - } - - /** - * Reset the engine to the initial state (with the key and any pre-message parameters , ready to - * accept message input. - */ - public void reset() - { - System.arraycopy(initialState, 0, chain, 0, chain.length); - - ubiInit(PARAM_TYPE_MESSAGE); - } - - private void ubiComplete(int type, byte[] value) - { - ubiInit(type); - this.ubi.update(value, 0, value.length, chain); - ubiFinal(); - } - - private void ubiInit(int type) - { - this.ubi.reset(type); - } - - private void ubiFinal() - { - ubi.doFinal(chain); - } - - private void checkInitialised() - { - if (this.ubi == null) - { - throw new IllegalArgumentException("Skein engine is not initialised."); - } - } - - public void update(byte in) - { - singleByte[0] = in; - update(singleByte, 0, 1); - } - - public void update(byte[] in, int inOff, int len) - { - checkInitialised(); - ubi.update(in, inOff, len, chain); - } - - public int doFinal(byte[] out, int outOff) - { - checkInitialised(); - if (out.length < (outOff + outputSizeBytes)) - { - throw new DataLengthException("Output buffer is too short to hold output of " + outputSizeBytes + " bytes"); - } - - // Finalise message block - ubiFinal(); - - // Process additional post-message parameters - if (postMessageParameters != null) - { - for (int i = 0; i < postMessageParameters.length; i++) - { - Parameter param = postMessageParameters[i]; - ubiComplete(param.getType(), param.getValue()); - } - } - - // Perform the output transform - final int blockSize = getBlockSize(); - final int blocksRequired = ((outputSizeBytes + blockSize - 1) / blockSize); - for (int i = 0; i < blocksRequired; i++) - { - final int toWrite = Math.min(blockSize, outputSizeBytes - (i * blockSize)); - output(i, out, outOff + (i * blockSize), toWrite); - } - - reset(); - - return outputSizeBytes; - } - - private void output(long outputSequence, byte[] out, int outOff, int outputBytes) - { - byte[] currentBytes = new byte[8]; - ThreefishEngine.wordToBytes(outputSequence, currentBytes, 0); - - // Output is a sequence of UBI invocations all of which use and preserve the pre-output - // state - long[] outputWords = new long[chain.length]; - ubiInit(PARAM_TYPE_OUTPUT); - this.ubi.update(currentBytes, 0, currentBytes.length, outputWords); - ubi.doFinal(outputWords); - - final int wordsRequired = ((outputBytes + 8 - 1) / 8); - for (int i = 0; i < wordsRequired; i++) - { - int toWrite = Math.min(8, outputBytes - (i * 8)); - if (toWrite == 8) - { - ThreefishEngine.wordToBytes(outputWords[i], out, outOff + (i * 8)); - } - else - { - ThreefishEngine.wordToBytes(outputWords[i], currentBytes, 0); - System.arraycopy(currentBytes, 0, out, outOff + (i * 8), toWrite); - } - } - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/encodings/PKCS1Encoding.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/encodings/PKCS1Encoding.java deleted file mode 100644 index 3149a1f37..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/encodings/PKCS1Encoding.java +++ /dev/null @@ -1,238 +0,0 @@ -package org.spongycastle.crypto.encodings; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; - -import java.security.SecureRandom; - -/** - * this does your basic PKCS 1 v1.5 padding - whether or not you should be using this - * depends on your application - see PKCS1 Version 2 for details. - */ -public class PKCS1Encoding - implements AsymmetricBlockCipher -{ - /** - * some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to - * work with one of these set the system property org.spongycastle.pkcs1.strict to false. - *

    - * The system property is checked during construction of the encoding object, it is set to - * true by default. - *

    - */ - public static final String STRICT_LENGTH_ENABLED_PROPERTY = "org.spongycastle.pkcs1.strict"; - - private static final int HEADER_LENGTH = 10; - - private SecureRandom random; - private AsymmetricBlockCipher engine; - private boolean forEncryption; - private boolean forPrivateKey; - private boolean useStrictLength; - - /** - * Basic constructor. - * @param cipher - */ - public PKCS1Encoding( - AsymmetricBlockCipher cipher) - { - this.engine = cipher; - this.useStrictLength = useStrict(); - } - - // - // for J2ME compatibility - // - private boolean useStrict() - { - String strict = System.getProperty(STRICT_LENGTH_ENABLED_PROPERTY); - - return strict == null || strict.equals("true"); - } - - public AsymmetricBlockCipher getUnderlyingCipher() - { - return engine; - } - - public void init( - boolean forEncryption, - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - - this.random = rParam.getRandom(); - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - this.random = new SecureRandom(); - kParam = (AsymmetricKeyParameter)param; - } - - engine.init(forEncryption, param); - - this.forPrivateKey = kParam.isPrivate(); - this.forEncryption = forEncryption; - } - - public int getInputBlockSize() - { - int baseBlockSize = engine.getInputBlockSize(); - - if (forEncryption) - { - return baseBlockSize - HEADER_LENGTH; - } - else - { - return baseBlockSize; - } - } - - public int getOutputBlockSize() - { - int baseBlockSize = engine.getOutputBlockSize(); - - if (forEncryption) - { - return baseBlockSize; - } - else - { - return baseBlockSize - HEADER_LENGTH; - } - } - - public byte[] processBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (forEncryption) - { - return encodeBlock(in, inOff, inLen); - } - else - { - return decodeBlock(in, inOff, inLen); - } - } - - private byte[] encodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - if (inLen > getInputBlockSize()) - { - throw new IllegalArgumentException("input data too large"); - } - - byte[] block = new byte[engine.getInputBlockSize()]; - - if (forPrivateKey) - { - block[0] = 0x01; // type code 1 - - for (int i = 1; i != block.length - inLen - 1; i++) - { - block[i] = (byte)0xFF; - } - } - else - { - random.nextBytes(block); // random fill - - block[0] = 0x02; // type code 2 - - // - // a zero byte marks the end of the padding, so all - // the pad bytes must be non-zero. - // - for (int i = 1; i != block.length - inLen - 1; i++) - { - while (block[i] == 0) - { - block[i] = (byte)random.nextInt(); - } - } - } - - block[block.length - inLen - 1] = 0x00; // mark the end of the padding - System.arraycopy(in, inOff, block, block.length - inLen, inLen); - - return engine.processBlock(block, 0, block.length); - } - - /** - * @exception InvalidCipherTextException if the decrypted block is not in PKCS1 format. - */ - private byte[] decodeBlock( - byte[] in, - int inOff, - int inLen) - throws InvalidCipherTextException - { - byte[] block = engine.processBlock(in, inOff, inLen); - - if (block.length < getOutputBlockSize()) - { - throw new InvalidCipherTextException("block truncated"); - } - - byte type = block[0]; - - if (type != 1 && type != 2) - { - throw new InvalidCipherTextException("unknown block type"); - } - - if (useStrictLength && block.length != engine.getOutputBlockSize()) - { - throw new InvalidCipherTextException("block incorrect size"); - } - - // - // find and extract the message block. - // - int start; - - for (start = 1; start != block.length; start++) - { - byte pad = block[start]; - - if (pad == 0) - { - break; - } - if (type == 1 && pad != (byte)0xff) - { - throw new InvalidCipherTextException("block padding incorrect"); - } - } - - start++; // data should start at the next byte - - if (start > block.length || start < HEADER_LENGTH) - { - throw new InvalidCipherTextException("no data in block"); - } - - byte[] result = new byte[block.length - start]; - - System.arraycopy(block, start, result, 0, result.length); - - return result; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/engines/NullEngine.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/engines/NullEngine.java deleted file mode 100644 index 219272722..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/engines/NullEngine.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.crypto.engines; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.OutputLengthException; - -/** - * The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting. - * Provided for the sake of completeness. - */ -public class NullEngine implements BlockCipher -{ - private boolean initialised; - protected static final int DEFAULT_BLOCK_SIZE = 1; - private int blockSize; - - /** - * Constructs a null engine with a block size of 1 byte. - */ - public NullEngine() - { - this(DEFAULT_BLOCK_SIZE); - } - - /** - * Constructs a null engine with a specific block size. - * - * @param blockSize the block size in bytes. - */ - public NullEngine(int blockSize) - { - this.blockSize = blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#init(boolean, org.spongycastle.crypto.CipherParameters) - */ - public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException - { - // we don't mind any parameters that may come in - this.initialised = true; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#getAlgorithmName() - */ - public String getAlgorithmName() - { - return "Null"; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#getBlockSize() - */ - public int getBlockSize() - { - return blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#processBlock(byte[], int, byte[], int) - */ - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - if (!initialised) - { - throw new IllegalStateException("Null engine not initialised"); - } - if ((inOff + blockSize) > in.length) - { - throw new DataLengthException("input buffer too short"); - } - - if ((outOff + blockSize) > out.length) - { - throw new OutputLengthException("output buffer too short"); - } - - for (int i = 0; i < blockSize; ++i) - { - out[outOff + i] = in[inOff + i]; - } - - return blockSize; - } - - /* (non-Javadoc) - * @see org.spongycastle.crypto.BlockCipher#reset() - */ - public void reset() - { - // nothing needs to be done - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java deleted file mode 100644 index 2b57f23c0..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/DSAParameterGenerationParameters.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.params; - -import java.security.SecureRandom; - -public class DSAParameterGenerationParameters -{ - public static final int DIGITAL_SIGNATURE_USAGE = 1; - public static final int KEY_ESTABLISHMENT_USAGE = 2; - - private int l; - private int n; - private int usageIndex; - private int certainty; - private SecureRandom random; - - /** - * Construct without a usage index, this will do a random construction of G. - * - * @param L desired length of prime P in bits (the effective key size). - * @param N desired length of prime Q in bits. - * @param certainty certainty level for prime number generation. - * @param random the source of randomness to use. - */ - public DSAParameterGenerationParameters( - int L, - int N, - int certainty, - SecureRandom random) - { - this(L, N, certainty, random, -1); - } - - /** - * Construct for a specific usage index - this has the effect of using verifiable canonical generation of G. - * - * @param L desired length of prime P in bits (the effective key size). - * @param N desired length of prime Q in bits. - * @param certainty certainty level for prime number generation. - * @param random the source of randomness to use. - * @param usageIndex a valid usage index. - */ - public DSAParameterGenerationParameters( - int L, - int N, - int certainty, - SecureRandom random, - int usageIndex) - { - this.l = L; - this.n = N; - this.certainty = certainty; - this.usageIndex = usageIndex; - this.random = random; - } - - public int getL() - { - return l; - } - - public int getN() - { - return n; - } - - public int getCertainty() - { - return certainty; - } - - public SecureRandom getRandom() - { - return random; - } - - public int getUsageIndex() - { - return usageIndex; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/HKDFParameters.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/HKDFParameters.java deleted file mode 100644 index 4b125a7c1..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/params/HKDFParameters.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.spongycastle.crypto.params; - -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.util.Arrays; - -/** - * Parameter class for the HKDFBytesGenerator class. - */ -public class HKDFParameters - implements DerivationParameters -{ - private byte[] ikm; - private boolean skipExpand; - private byte[] salt; - private byte[] info; - - private HKDFParameters(final byte[] ikm, final boolean skip, - final byte[] salt, final byte[] info) - { - if (ikm == null) - { - throw new IllegalArgumentException( - "IKM (input keying material) should not be null"); - } - - this.ikm = Arrays.clone(ikm); - - this.skipExpand = skip; - - if (salt == null || salt.length == 0) - { - this.salt = null; - } - else - { - this.salt = Arrays.clone(salt); - } - - if (info == null) - { - this.info = new byte[0]; - } - else - { - this.info = Arrays.clone(info); - } - } - - /** - * Generates parameters for HKDF, specifying both the optional salt and - * optional info. Step 1: Extract won't be skipped. - * - * @param ikm the input keying material or seed - * @param salt the salt to use, may be null for a salt for hashLen zeros - * @param info the info to use, may be null for an info field of zero bytes - */ - public HKDFParameters(final byte[] ikm, final byte[] salt, final byte[] info) - { - this(ikm, false, salt, info); - } - - /** - * Factory method that makes the HKDF skip the extract part of the key - * derivation function. - * - * @param ikm the input keying material or seed, directly used for step 2: - * Expand - * @param info the info to use, may be null for an info field of zero bytes - * @return HKDFParameters that makes the implementation skip step 1 - */ - public static HKDFParameters skipExtractParameters(final byte[] ikm, - final byte[] info) - { - - return new HKDFParameters(ikm, true, null, info); - } - - public static HKDFParameters defaultParameters(final byte[] ikm) - { - return new HKDFParameters(ikm, false, null, null); - } - - /** - * Returns the input keying material or seed. - * - * @return the keying material - */ - public byte[] getIKM() - { - return Arrays.clone(ikm); - } - - /** - * Returns if step 1: extract has to be skipped or not - * - * @return true for skipping, false for no skipping of step 1 - */ - public boolean skipExtract() - { - return skipExpand; - } - - /** - * Returns the salt, or null if the salt should be generated as a byte array - * of HashLen zeros. - * - * @return the salt, or null - */ - public byte[] getSalt() - { - return Arrays.clone(salt); - } - - /** - * Returns the info field, which may be empty (null is converted to empty). - * - * @return the info field, never null - */ - public byte[] getInfo() - { - return Arrays.clone(info); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java deleted file mode 100644 index 31c85036d..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/BasicEntropySourceProvider.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.security.SecureRandom; - -/** - * An EntropySourceProvider where entropy generation is based on a SecureRandom output using SecureRandom.generateSeed(). - */ -public class BasicEntropySourceProvider - implements EntropySourceProvider -{ - private SecureRandom _sr; - private boolean _predictionResistant; - - /** - * Create a entropy source provider based on the passed in SecureRandom. - * - * @param random the SecureRandom to base EntropySource construction on. - * @param isPredictionResistant boolean indicating if the SecureRandom is based on prediction resistant entropy or not (true if it is). - */ - public BasicEntropySourceProvider(SecureRandom random, boolean isPredictionResistant) - { - _sr = random; - _predictionResistant = isPredictionResistant; - } - - /** - * Return an entropy source that will create bitsRequired bits of entropy on - * each invocation of getEntropy(). - * - * @param bitsRequired size (in bits) of entropy to be created by the provided source. - * @return an EntropySource that generates bitsRequired bits of entropy on each call to its getEntropy() method. - */ - public EntropySource get(final int bitsRequired) - { - return new EntropySource() - { - public boolean isPredictionResistant() - { - return _predictionResistant; - } - - public byte[] getEntropy() - { - byte[] rv = new byte[(bitsRequired + 7) / 8]; - - _sr.nextBytes(rv); - - return rv; - } - - public int entropySize() - { - return bitsRequired; - } - }; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java deleted file mode 100644 index e682f6870..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/prng/SP800SecureRandomBuilder.java +++ /dev/null @@ -1,289 +0,0 @@ -package org.spongycastle.crypto.prng; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.prng.drbg.CTRSP800DRBG; -import org.spongycastle.crypto.prng.drbg.DualECPoints; -import org.spongycastle.crypto.prng.drbg.DualECSP800DRBG; -import org.spongycastle.crypto.prng.drbg.HMacSP800DRBG; -import org.spongycastle.crypto.prng.drbg.HashSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; - -/** - * Builder class for making SecureRandom objects based on SP 800-90A Deterministic Random Bit Generators (DRBG). - */ -public class SP800SecureRandomBuilder -{ - private SecureRandom random; - private EntropySourceProvider entropySourceProvider; - - private byte[] personalizationString; - private int securityStrength = 256; - private int entropyBitsRequired = 256; - - /** - * Basic constructor, creates a builder using an EntropySourceProvider based on the default SecureRandom with - * predictionResistant set to false. - *

    - * Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if - * the default SecureRandom does for its generateSeed() call. - *

    - */ - public SP800SecureRandomBuilder() - { - this(new SecureRandom(), false); - } - - /** - * Construct a builder with an EntropySourceProvider based on the passed in SecureRandom and the passed in value - * for prediction resistance. - *

    - * Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if - * the passed in SecureRandom does for its generateSeed() call. - *

    - * @param entropySource - * @param predictionResistant - */ - public SP800SecureRandomBuilder(SecureRandom entropySource, boolean predictionResistant) - { - this.random = entropySource; - this.entropySourceProvider = new BasicEntropySourceProvider(random, predictionResistant); - } - - /** - * Create a builder which makes creates the SecureRandom objects from a specified entropy source provider. - *

    - * Note: If this constructor is used any calls to setSeed() in the resulting SecureRandom will be ignored. - *

    - * @param entropySourceProvider a provider of EntropySource objects. - */ - public SP800SecureRandomBuilder(EntropySourceProvider entropySourceProvider) - { - this.random = null; - this.entropySourceProvider = entropySourceProvider; - } - - /** - * Set the personalization string for DRBG SecureRandoms created by this builder - * @param personalizationString the personalisation string for the underlying DRBG. - * @return the current builder. - */ - public SP800SecureRandomBuilder setPersonalizationString(byte[] personalizationString) - { - this.personalizationString = personalizationString; - - return this; - } - - /** - * Set the security strength required for DRBGs used in building SecureRandom objects. - * - * @param securityStrength the security strength (in bits) - * @return the current builder. - */ - public SP800SecureRandomBuilder setSecurityStrength(int securityStrength) - { - this.securityStrength = securityStrength; - - return this; - } - - /** - * Set the amount of entropy bits required for seeding and reseeding DRBGs used in building SecureRandom objects. - * - * @param entropyBitsRequired the number of bits of entropy to be requested from the entropy source on each seed/reseed. - * @return the current builder. - */ - public SP800SecureRandomBuilder setEntropyBitsRequired(int entropyBitsRequired) - { - this.entropyBitsRequired = entropyBitsRequired; - - return this; - } - - /** - * Build a SecureRandom based on a SP 800-90A Hash DRBG. - * - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Hash DRBG. - */ - public SP800SecureRandom buildHash(Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new HashDRBGProvider(digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A CTR DRBG. - * - * @param cipher the block cipher to base the DRBG on. - * @param keySizeInBits key size in bits to be used with the block cipher. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a CTR DRBG. - */ - public SP800SecureRandom buildCTR(BlockCipher cipher, int keySizeInBits, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new CTRDRBGProvider(cipher, keySizeInBits, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A HMAC DRBG. - * - * @param hMac HMAC algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a HMAC DRBG. - */ - public SP800SecureRandom buildHMAC(Mac hMac, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new HMacDRBGProvider(hMac, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A Dual EC DRBG. - * - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Dual EC DRBG. - */ - public SP800SecureRandom buildDualEC(Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new DualECDRBGProvider(digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - /** - * Build a SecureRandom based on a SP 800-90A Dual EC DRBG. - * - * @param pointSet an array of DualECPoints to use for DRB generation. - * @param digest digest algorithm to use in the DRBG underneath the SecureRandom. - * @param nonce nonce value to use in DRBG construction. - * @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. - * @return a SecureRandom supported by a Dual EC DRBG. - */ - public SP800SecureRandom buildDualEC(DualECPoints[] pointSet, Digest digest, byte[] nonce, boolean predictionResistant) - { - return new SP800SecureRandom(random, entropySourceProvider.get(entropyBitsRequired), new ConfigurableDualECDRBGProvider(pointSet, digest, nonce, personalizationString, securityStrength), predictionResistant); - } - - private static class HashDRBGProvider - implements DRBGProvider - { - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public HashDRBGProvider(Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new HashSP800DRBG(digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class DualECDRBGProvider - implements DRBGProvider - { - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public DualECDRBGProvider(Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new DualECSP800DRBG(digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class ConfigurableDualECDRBGProvider - implements DRBGProvider - { - private final DualECPoints[] pointSet; - private final Digest digest; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public ConfigurableDualECDRBGProvider(DualECPoints[] pointSet, Digest digest, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.pointSet = new DualECPoints[pointSet.length]; - System.arraycopy(pointSet, 0, this.pointSet, 0, pointSet.length); - this.digest = digest; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new DualECSP800DRBG(pointSet, digest, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class HMacDRBGProvider - implements DRBGProvider - { - private final Mac hMac; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public HMacDRBGProvider(Mac hMac, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.hMac = hMac; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new HMacSP800DRBG(hMac, securityStrength, entropySource, personalizationString, nonce); - } - } - - private static class CTRDRBGProvider - implements DRBGProvider - { - - private final BlockCipher blockCipher; - private final int keySizeInBits; - private final byte[] nonce; - private final byte[] personalizationString; - private final int securityStrength; - - public CTRDRBGProvider(BlockCipher blockCipher, int keySizeInBits, byte[] nonce, byte[] personalizationString, int securityStrength) - { - this.blockCipher = blockCipher; - this.keySizeInBits = keySizeInBits; - this.nonce = nonce; - this.personalizationString = personalizationString; - this.securityStrength = securityStrength; - } - - public SP80090DRBG get(EntropySource entropySource) - { - return new CTRSP800DRBG(blockCipher, keySizeInBits, securityStrength, entropySource, personalizationString, nonce); - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/signers/RSADigestSigner.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/signers/RSADigestSigner.java deleted file mode 100644 index e6a99d890..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/signers/RSADigestSigner.java +++ /dev/null @@ -1,238 +0,0 @@ -package org.spongycastle.crypto.signers; - -import java.io.IOException; -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.teletrust.TeleTrusTObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; - -public class RSADigestSigner - implements Signer -{ - private final AsymmetricBlockCipher rsaEngine = new PKCS1Encoding(new RSABlindedEngine()); - private AlgorithmIdentifier algId; - private Digest digest; - private boolean forSigning; - - private static final Hashtable oidMap = new Hashtable(); - - /* - * Load OID table. - */ - static - { - oidMap.put("RIPEMD128", TeleTrusTObjectIdentifiers.ripemd128); - oidMap.put("RIPEMD160", TeleTrusTObjectIdentifiers.ripemd160); - oidMap.put("RIPEMD256", TeleTrusTObjectIdentifiers.ripemd256); - - oidMap.put("SHA-1", X509ObjectIdentifiers.id_SHA1); - oidMap.put("SHA-224", NISTObjectIdentifiers.id_sha224); - oidMap.put("SHA-256", NISTObjectIdentifiers.id_sha256); - oidMap.put("SHA-384", NISTObjectIdentifiers.id_sha384); - oidMap.put("SHA-512", NISTObjectIdentifiers.id_sha512); - - oidMap.put("MD2", PKCSObjectIdentifiers.md2); - oidMap.put("MD4", PKCSObjectIdentifiers.md4); - oidMap.put("MD5", PKCSObjectIdentifiers.md5); - } - - public RSADigestSigner( - Digest digest) - { - this(digest, (ASN1ObjectIdentifier)oidMap.get(digest.getAlgorithmName())); - } - - public RSADigestSigner( - Digest digest, - ASN1ObjectIdentifier digestOid) - { - this.digest = digest; - this.algId = new AlgorithmIdentifier(digestOid, DERNull.INSTANCE); - } - - /** - * @deprecated - */ - public String getAlgorithmName() - { - return digest.getAlgorithmName() + "withRSA"; - } - - /** - * initialise the signer for signing or verification. - * - * @param forSigning - * true if for signing, false otherwise - * @param parameters - * necessary parameters. - */ - public void init( - boolean forSigning, - CipherParameters parameters) - { - this.forSigning = forSigning; - AsymmetricKeyParameter k; - - if (parameters instanceof ParametersWithRandom) - { - k = (AsymmetricKeyParameter)((ParametersWithRandom)parameters).getParameters(); - } - else - { - k = (AsymmetricKeyParameter)parameters; - } - - if (forSigning && !k.isPrivate()) - { - throw new IllegalArgumentException("signing requires private key"); - } - - if (!forSigning && k.isPrivate()) - { - throw new IllegalArgumentException("verification requires public key"); - } - - reset(); - - rsaEngine.init(forSigning, parameters); - } - - /** - * update the internal digest with the byte b - */ - public void update( - byte input) - { - digest.update(input); - } - - /** - * update the internal digest with the byte array in - */ - public void update( - byte[] input, - int inOff, - int length) - { - digest.update(input, inOff, length); - } - - /** - * Generate a signature for the message we've been loaded with using the key - * we were initialised with. - */ - public byte[] generateSignature() - throws CryptoException, DataLengthException - { - if (!forSigning) - { - throw new IllegalStateException("RSADigestSigner not initialised for signature generation."); - } - - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - try - { - byte[] data = derEncode(hash); - return rsaEngine.processBlock(data, 0, data.length); - } - catch (IOException e) - { - throw new CryptoException("unable to encode signature: " + e.getMessage(), e); - } - } - - /** - * return true if the internal state represents the signature described in - * the passed in array. - */ - public boolean verifySignature( - byte[] signature) - { - if (forSigning) - { - throw new IllegalStateException("RSADigestSigner not initialised for verification"); - } - - byte[] hash = new byte[digest.getDigestSize()]; - - digest.doFinal(hash, 0); - - byte[] sig; - byte[] expected; - - try - { - sig = rsaEngine.processBlock(signature, 0, signature.length); - expected = derEncode(hash); - } - catch (Exception e) - { - return false; - } - - if (sig.length == expected.length) - { - return Arrays.constantTimeAreEqual(sig, expected); - } - else if (sig.length == expected.length - 2) // NULL left out - { - int sigOffset = sig.length - hash.length - 2; - int expectedOffset = expected.length - hash.length - 2; - - expected[1] -= 2; // adjust lengths - expected[3] -= 2; - - int nonEqual = 0; - - for (int i = 0; i < hash.length; i++) - { - nonEqual |= (sig[sigOffset + i] ^ expected[expectedOffset + i]); - } - - for (int i = 0; i < sigOffset; i++) - { - nonEqual |= (sig[i] ^ expected[i]); // check header less NULL - } - - return nonEqual == 0; - } - else - { - return false; - } - } - - public void reset() - { - digest.reset(); - } - - private byte[] derEncode( - byte[] hash) - throws IOException - { - DigestInfo dInfo = new DigestInfo(algId, hash); - - return dInfo.getEncoded(ASN1Encoding.DER); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReassembler.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReassembler.java deleted file mode 100644 index baf9c92fd..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReassembler.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.util.Vector; - -class DTLSReassembler -{ - - private short msg_type; - private byte[] body; - - private Vector missing = new Vector(); - - DTLSReassembler(short msg_type, int length) - { - this.msg_type = msg_type; - this.body = new byte[length]; - this.missing.addElement(new Range(0, length)); - } - - short getType() - { - return msg_type; - } - - byte[] getBodyIfComplete() - { - return missing.isEmpty() ? body : null; - } - - void contributeFragment(short msg_type, int length, byte[] buf, int off, int fragment_offset, - int fragment_length) - { - - int fragment_end = fragment_offset + fragment_length; - - if (this.msg_type != msg_type || this.body.length != length || fragment_end > length) - { - return; - } - - if (fragment_length == 0) - { - // NOTE: Empty messages still require an empty fragment to complete it - if (fragment_offset == 0 && !missing.isEmpty()) - { - Range firstRange = (Range)missing.firstElement(); - if (firstRange.getEnd() == 0) - { - missing.removeElementAt(0); - } - } - return; - } - - for (int i = 0; i < missing.size(); ++i) - { - Range range = (Range)missing.elementAt(i); - if (range.getStart() >= fragment_end) - { - break; - } - if (range.getEnd() > fragment_offset) - { - - int copyStart = Math.max(range.getStart(), fragment_offset); - int copyEnd = Math.min(range.getEnd(), fragment_end); - int copyLength = copyEnd - copyStart; - - System.arraycopy(buf, off + copyStart - fragment_offset, body, copyStart, - copyLength); - - if (copyStart == range.getStart()) - { - if (copyEnd == range.getEnd()) - { - missing.removeElementAt(i--); - } - else - { - range.setStart(copyEnd); - } - } - else - { - if (copyEnd == range.getEnd()) - { - range.setEnd(copyStart); - } - else - { - missing.insertElementAt(new Range(copyEnd, range.getEnd()), ++i); - range.setEnd(copyStart); - } - } - } - } - } - - void reset() - { - this.missing.removeAllElements(); - this.missing.addElement(new Range(0, body.length)); - } - - private static class Range - { - - private int start, end; - - Range(int start, int end) - { - this.start = start; - this.end = end; - } - - public int getStart() - { - return start; - } - - public void setStart(int start) - { - this.start = start; - } - - public int getEnd() - { - return end; - } - - public void setEnd(int end) - { - this.end = end; - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReliableHandshake.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReliableHandshake.java deleted file mode 100644 index 1a9911619..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/DTLSReliableHandshake.java +++ /dev/null @@ -1,457 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Integers; - -class DTLSReliableHandshake -{ - private final static int MAX_RECEIVE_AHEAD = 10; - - private DTLSRecordLayer recordLayer; - - private TlsHandshakeHash handshakeHash; - - private Hashtable currentInboundFlight = new Hashtable(); - private Hashtable previousInboundFlight = null; - private Vector outboundFlight = new Vector(); - private boolean sending = true; - - private int message_seq = 0, next_receive_seq = 0; - - DTLSReliableHandshake(TlsContext context, DTLSRecordLayer transport) - { - this.recordLayer = transport; - this.handshakeHash = new DeferredHash(); - this.handshakeHash.init(context); - } - - void notifyHelloComplete() - { - this.handshakeHash = handshakeHash.notifyPRFDetermined(); - } - - TlsHandshakeHash getHandshakeHash() - { - return handshakeHash; - } - - TlsHandshakeHash prepareToFinish() - { - TlsHandshakeHash result = handshakeHash; - this.handshakeHash = handshakeHash.stopTracking(); - return result; - } - - void sendMessage(short msg_type, byte[] body) - throws IOException - { - TlsUtils.checkUint24(body.length); - - if (!sending) - { - checkInboundFlight(); - sending = true; - outboundFlight.removeAllElements(); - } - - Message message = new Message(message_seq++, msg_type, body); - - outboundFlight.addElement(message); - - writeMessage(message); - updateHandshakeMessagesDigest(message); - } - - byte[] receiveMessageBody(short msg_type) - throws IOException - { - Message message = receiveMessage(); - if (message.getType() != msg_type) - { - throw new TlsFatalAlert(AlertDescription.unexpected_message); - } - - return message.getBody(); - } - - Message receiveMessage() - throws IOException - { - if (sending) - { - sending = false; - prepareInboundFlight(); - } - - // Check if we already have the next message waiting - { - DTLSReassembler next = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(next_receive_seq)); - if (next != null) - { - byte[] body = next.getBodyIfComplete(); - if (body != null) - { - previousInboundFlight = null; - return updateHandshakeMessagesDigest(new Message(next_receive_seq++, next.getType(), body)); - } - } - } - - byte[] buf = null; - - // TODO Check the conditions under which we should reset this - int readTimeoutMillis = 1000; - - for (; ; ) - { - int receiveLimit = recordLayer.getReceiveLimit(); - if (buf == null || buf.length < receiveLimit) - { - buf = new byte[receiveLimit]; - } - - // TODO Handle records containing multiple handshake messages - - try - { - for (; ; ) - { - int received = recordLayer.receive(buf, 0, receiveLimit, readTimeoutMillis); - if (received < 0) - { - break; - } - if (received < 12) - { - continue; - } - int fragment_length = TlsUtils.readUint24(buf, 9); - if (received != (fragment_length + 12)) - { - continue; - } - int seq = TlsUtils.readUint16(buf, 4); - if (seq > (next_receive_seq + MAX_RECEIVE_AHEAD)) - { - continue; - } - short msg_type = TlsUtils.readUint8(buf, 0); - int length = TlsUtils.readUint24(buf, 1); - int fragment_offset = TlsUtils.readUint24(buf, 6); - if (fragment_offset + fragment_length > length) - { - continue; - } - - if (seq < next_receive_seq) - { - /* - * NOTE: If we receive the previous flight of incoming messages in full - * again, retransmit our last flight - */ - if (previousInboundFlight != null) - { - DTLSReassembler reassembler = (DTLSReassembler)previousInboundFlight.get(Integers - .valueOf(seq)); - if (reassembler != null) - { - - reassembler.contributeFragment(msg_type, length, buf, 12, fragment_offset, - fragment_length); - - if (checkAll(previousInboundFlight)) - { - - resendOutboundFlight(); - - /* - * TODO[DTLS] implementations SHOULD back off handshake packet - * size during the retransmit backoff. - */ - readTimeoutMillis = Math.min(readTimeoutMillis * 2, 60000); - - resetAll(previousInboundFlight); - } - } - } - } - else - { - - DTLSReassembler reassembler = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(seq)); - if (reassembler == null) - { - reassembler = new DTLSReassembler(msg_type, length); - currentInboundFlight.put(Integers.valueOf(seq), reassembler); - } - - reassembler.contributeFragment(msg_type, length, buf, 12, fragment_offset, fragment_length); - - if (seq == next_receive_seq) - { - byte[] body = reassembler.getBodyIfComplete(); - if (body != null) - { - previousInboundFlight = null; - return updateHandshakeMessagesDigest(new Message(next_receive_seq++, - reassembler.getType(), body)); - } - } - } - } - } - catch (IOException e) - { - // NOTE: Assume this is a timeout for the moment - } - - resendOutboundFlight(); - - /* - * TODO[DTLS] implementations SHOULD back off handshake packet size during the - * retransmit backoff. - */ - readTimeoutMillis = Math.min(readTimeoutMillis * 2, 60000); - } - } - - void finish() - { - DTLSHandshakeRetransmit retransmit = null; - if (!sending) - { - checkInboundFlight(); - } - else if (currentInboundFlight != null) - { - /* - * RFC 6347 4.2.4. In addition, for at least twice the default MSL defined for [TCP], - * when in the FINISHED state, the node that transmits the last flight (the server in an - * ordinary handshake or the client in a resumed handshake) MUST respond to a retransmit - * of the peer's last flight with a retransmit of the last flight. - */ - retransmit = new DTLSHandshakeRetransmit() - { - public void receivedHandshakeRecord(int epoch, byte[] buf, int off, int len) - throws IOException - { - /* - * TODO Need to handle the case where the previous inbound flight contains - * messages from two epochs. - */ - if (len < 12) - { - return; - } - int fragment_length = TlsUtils.readUint24(buf, off + 9); - if (len != (fragment_length + 12)) - { - return; - } - int seq = TlsUtils.readUint16(buf, off + 4); - if (seq >= next_receive_seq) - { - return; - } - - short msg_type = TlsUtils.readUint8(buf, off); - - // TODO This is a hack that only works until we try to support renegotiation - int expectedEpoch = msg_type == HandshakeType.finished ? 1 : 0; - if (epoch != expectedEpoch) - { - return; - } - - int length = TlsUtils.readUint24(buf, off + 1); - int fragment_offset = TlsUtils.readUint24(buf, off + 6); - if (fragment_offset + fragment_length > length) - { - return; - } - - DTLSReassembler reassembler = (DTLSReassembler)currentInboundFlight.get(Integers.valueOf(seq)); - if (reassembler != null) - { - reassembler.contributeFragment(msg_type, length, buf, off + 12, fragment_offset, - fragment_length); - if (checkAll(currentInboundFlight)) - { - resendOutboundFlight(); - resetAll(currentInboundFlight); - } - } - } - }; - } - - recordLayer.handshakeSuccessful(retransmit); - } - - void resetHandshakeMessagesDigest() - { - handshakeHash.reset(); - } - - /** - * Check that there are no "extra" messages left in the current inbound flight - */ - private void checkInboundFlight() - { - Enumeration e = currentInboundFlight.keys(); - while (e.hasMoreElements()) - { - Integer key = (Integer)e.nextElement(); - if (key.intValue() >= next_receive_seq) - { - // TODO Should this be considered an error? - } - } - } - - private void prepareInboundFlight() - { - resetAll(currentInboundFlight); - previousInboundFlight = currentInboundFlight; - currentInboundFlight = new Hashtable(); - } - - private void resendOutboundFlight() - throws IOException - { - recordLayer.resetWriteEpoch(); - for (int i = 0; i < outboundFlight.size(); ++i) - { - writeMessage((Message)outboundFlight.elementAt(i)); - } - } - - private Message updateHandshakeMessagesDigest(Message message) - throws IOException - { - if (message.getType() != HandshakeType.hello_request) - { - byte[] body = message.getBody(); - byte[] buf = new byte[12]; - TlsUtils.writeUint8(message.getType(), buf, 0); - TlsUtils.writeUint24(body.length, buf, 1); - TlsUtils.writeUint16(message.getSeq(), buf, 4); - TlsUtils.writeUint24(0, buf, 6); - TlsUtils.writeUint24(body.length, buf, 9); - handshakeHash.update(buf, 0, buf.length); - handshakeHash.update(body, 0, body.length); - } - return message; - } - - private void writeMessage(Message message) - throws IOException - { - int sendLimit = recordLayer.getSendLimit(); - int fragmentLimit = sendLimit - 12; - - // TODO Support a higher minimum fragment size? - if (fragmentLimit < 1) - { - // TODO Should we be throwing an exception here? - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - int length = message.getBody().length; - - // NOTE: Must still send a fragment if body is empty - int fragment_offset = 0; - do - { - int fragment_length = Math.min(length - fragment_offset, fragmentLimit); - writeHandshakeFragment(message, fragment_offset, fragment_length); - fragment_offset += fragment_length; - } - while (fragment_offset < length); - } - - private void writeHandshakeFragment(Message message, int fragment_offset, int fragment_length) - throws IOException - { - RecordLayerBuffer fragment = new RecordLayerBuffer(12 + fragment_length); - TlsUtils.writeUint8(message.getType(), fragment); - TlsUtils.writeUint24(message.getBody().length, fragment); - TlsUtils.writeUint16(message.getSeq(), fragment); - TlsUtils.writeUint24(fragment_offset, fragment); - TlsUtils.writeUint24(fragment_length, fragment); - fragment.write(message.getBody(), fragment_offset, fragment_length); - - fragment.sendToRecordLayer(recordLayer); - } - - private static boolean checkAll(Hashtable inboundFlight) - { - Enumeration e = inboundFlight.elements(); - while (e.hasMoreElements()) - { - if (((DTLSReassembler)e.nextElement()).getBodyIfComplete() == null) - { - return false; - } - } - return true; - } - - private static void resetAll(Hashtable inboundFlight) - { - Enumeration e = inboundFlight.elements(); - while (e.hasMoreElements()) - { - ((DTLSReassembler)e.nextElement()).reset(); - } - } - - static class Message - { - private final int message_seq; - private final short msg_type; - private final byte[] body; - - private Message(int message_seq, short msg_type, byte[] body) - { - this.message_seq = message_seq; - this.msg_type = msg_type; - this.body = body; - } - - public int getSeq() - { - return message_seq; - } - - public short getType() - { - return msg_type; - } - - public byte[] getBody() - { - return body; - } - } - - static class RecordLayerBuffer extends ByteArrayOutputStream - { - RecordLayerBuffer(int size) - { - super(size); - } - - void sendToRecordLayer(DTLSRecordLayer recordLayer) throws IOException - { - recordLayer.send(buf, 0, count); - buf = null; - } - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/UDPTransport.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/UDPTransport.java deleted file mode 100644 index 913c1e552..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/crypto/tls/UDPTransport.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; - -public class UDPTransport - implements DatagramTransport -{ - protected final static int MIN_IP_OVERHEAD = 20; - protected final static int MAX_IP_OVERHEAD = MIN_IP_OVERHEAD + 64; - protected final static int UDP_OVERHEAD = 8; - - protected final DatagramSocket socket; - protected final int receiveLimit, sendLimit; - - public UDPTransport(DatagramSocket socket, int mtu) - throws IOException - { - // - // In 1.3 and earlier sockets were bound and connected during creation - // - //if (!socket.isBound() || !socket.isConnected()) - //{ - // throw new IllegalArgumentException("'socket' must be bound and connected"); - //} - - this.socket = socket; - - // NOTE: As of JDK 1.6, can use NetworkInterface.getMTU - - this.receiveLimit = mtu - MIN_IP_OVERHEAD - UDP_OVERHEAD; - this.sendLimit = mtu - MAX_IP_OVERHEAD - UDP_OVERHEAD; - } - - public int getReceiveLimit() - { - return receiveLimit; - } - - public int getSendLimit() - { - // TODO[DTLS] Implement Path-MTU discovery? - return sendLimit; - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - socket.setSoTimeout(waitMillis); - - if (off == 0) - { - DatagramPacket packet = new DatagramPacket(buf, len); - socket.receive(packet); - - return packet.getLength(); - } - else - { - byte[] rv = new byte[len]; - - DatagramPacket packet = new DatagramPacket(rv, len); - socket.receive(packet); - - System.arraycopy(rv, 0, buf, off, packet.getLength()); - - return packet.getLength(); - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (len > getSendLimit()) - { - /* - * RFC 4347 4.1.1. "If the application attempts to send a record larger than the MTU, - * the DTLS implementation SHOULD generate an error, thus avoiding sending a packet - * which will be fragmented." - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - if (off == 0) - { - DatagramPacket packet = new DatagramPacket(buf, len); - socket.send(packet); - } - else - { - byte[] data = new byte[len]; - - System.arraycopy(buf, off, data, 0, len); - - DatagramPacket packet = new DatagramPacket(data, len); - socket.send(packet); - } - } - - public void close() - throws IOException - { - socket.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/LocalizedMessage.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/LocalizedMessage.java deleted file mode 100644 index 1eab110cb..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/LocalizedMessage.java +++ /dev/null @@ -1,464 +0,0 @@ -package org.spongycastle.i18n; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.TrustedInput; -import org.spongycastle.i18n.filter.UntrustedInput; -import org.spongycastle.i18n.filter.UntrustedUrlInput; - -import java.io.UnsupportedEncodingException; -import java.text.DateFormat; -import java.text.Format; -import java.text.MessageFormat; -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import java.util.TimeZone; - -public class LocalizedMessage -{ - protected static final int NO_FILTER = 0; - protected static final int FILTER = 1; - protected static final int FILTER_URL = 2; - - protected String id; - protected String resource; - - // ISO-8859-1 is the default encoding - public static final String DEFAULT_ENCODING = "ISO-8859-1"; - protected String encoding = DEFAULT_ENCODING; - - protected FilteredArguments arguments; - protected FilteredArguments extraArgs = null; - - protected Filter filter = null; - - protected ClassLoader loader = null; - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource,String id) throws NullPointerException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource,String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - this.encoding = encoding; - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource, String id, Object[] arguments) throws NullPointerException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - this.encoding = encoding; - } - - /** - * Reads the entry id + "." + key from the resource file and returns a - * formated message for the given Locale and TimeZone. - * @param key second part of the entry id - * @param loc the used {@link Locale} - * @param timezone the used {@link TimeZone} - * @return a Strng containing the localized message - * @throws MissingEntryException if the resource file is not available or the entry does not exist. - */ - public String getEntry(String key,Locale loc, TimeZone timezone) throws MissingEntryException - { - String entry = id; - if (key != null) - { - entry += "." + key; - } - - try - { - ResourceBundle bundle; - if (loader == null) - { - bundle = ResourceBundle.getBundle(resource,loc); - } - else - { - bundle = ResourceBundle.getBundle(resource, loc); - } - String result = bundle.getString(entry); - if (!encoding.equals(DEFAULT_ENCODING)) - { - result = new String(result.getBytes(DEFAULT_ENCODING), encoding); - } - if (!arguments.isEmpty()) - { - result = formatWithTimeZone(result,arguments.getFilteredArgs(loc),loc,timezone); - } - result = addExtraArgs(result, loc); - return result; - } - catch (MissingResourceException mre) - { - throw new MissingEntryException("Can't find entry " + entry + " in resource file " + resource + ".", - resource, - entry, - loc, - loader != null ? loader : this.getClassLoader()); - } - catch (UnsupportedEncodingException use) - { - // should never occur - cause we already test this in the constructor - throw new RuntimeException(use.toString()); - } - } - - protected String formatWithTimeZone( - String template, - Object[] arguments, - Locale locale, - TimeZone timezone) - { - MessageFormat mf = new MessageFormat(" "); - mf.setLocale(locale); - mf.applyPattern(template); - if (!timezone.equals(TimeZone.getDefault())) - { - Format[] formats = mf.getFormats(); - for (int i = 0; i < formats.length; i++) - { - if (formats[i] instanceof DateFormat) - { - DateFormat temp = (DateFormat) formats[i]; - temp.setTimeZone(timezone); - mf.setFormat(i,temp); - } - } - } - return mf.format(arguments); - } - - protected String addExtraArgs(String msg, Locale locale) - { - if (extraArgs != null) - { - StringBuffer sb = new StringBuffer(msg); - Object[] filteredArgs = extraArgs.getFilteredArgs(locale); - for (int i = 0; i < filteredArgs.length; i++) - { - sb.append(filteredArgs[i]); - } - msg = sb.toString(); - } - return msg; - } - - /** - * Sets the {@link Filter} that is used to filter the arguments of this message - * @param filter the {@link Filter} to use. null to disable filtering. - */ - public void setFilter(Filter filter) - { - arguments.setFilter(filter); - if (extraArgs != null) - { - extraArgs.setFilter(filter); - } - this.filter = filter; - } - - /** - * Returns the current filter. - * @return the current filter - */ - public Filter getFilter() - { - return filter; - } - - /** - * Set the {@link ClassLoader} which loads the resource files. If it is set to null - * then the default {@link ClassLoader} is used. - * @param loader the {@link ClassLoader} which loads the resource files - */ - public void setClassLoader(ClassLoader loader) - { - this.loader = loader; - } - - /** - * Returns the {@link ClassLoader} which loads the resource files or null - * if the default ClassLoader is used. - * @return the {@link ClassLoader} which loads the resource files - */ - public ClassLoader getClassLoader() - { - return loader; - } - - /** - * Returns the id of the message in the resource bundle. - * @return the id of the message - */ - public String getId() - { - return id; - } - - /** - * Returns the name of the resource bundle for this message - * @return name of the resource file - */ - public String getResource() - { - return resource; - } - - /** - * Returns an Object[] containing the message arguments. - * @return the message arguments - */ - public Object[] getArguments() - { - return arguments.getArguments(); - } - - /** - * - * @param extraArg - */ - public void setExtraArgument(Object extraArg) - { - setExtraArguments(new Object[] {extraArg}); - } - - /** - * - * @param extraArgs - */ - public void setExtraArguments(Object[] extraArgs) - { - if (extraArgs != null) - { - this.extraArgs = new FilteredArguments(extraArgs); - this.extraArgs.setFilter(filter); - } - else - { - this.extraArgs = null; - } - } - - /** - * - * @return - */ - public Object[] getExtraArgs() - { - return (extraArgs == null) ? null : extraArgs.getArguments(); - } - - protected class FilteredArguments - { - - protected Filter filter = null; - - protected boolean[] isLocaleSpecific; - protected int[] argFilterType; - protected Object[] arguments; - protected Object[] unpackedArgs; - protected Object[] filteredArgs; - - FilteredArguments() - { - this(new Object[0]); - } - - FilteredArguments(Object[] args) - { - this.arguments = args; - this.unpackedArgs = new Object[args.length]; - this.filteredArgs = new Object[args.length]; - this.isLocaleSpecific = new boolean[args.length]; - this.argFilterType = new int[args.length]; - for (int i = 0; i < args.length; i++) - { - if (args[i] instanceof TrustedInput) - { - this.unpackedArgs[i] = ((TrustedInput) args[i]).getInput(); - argFilterType[i] = NO_FILTER; - } - else if (args[i] instanceof UntrustedInput) - { - this.unpackedArgs[i] = ((UntrustedInput) args[i]).getInput(); - if (args[i] instanceof UntrustedUrlInput) - { - argFilterType[i] = FILTER_URL; - } - else - { - argFilterType[i] = FILTER; - } - } - else - { - this.unpackedArgs[i] = args[i]; - argFilterType[i] = FILTER; - } - - // locale specific - this.isLocaleSpecific[i] = (this.unpackedArgs[i] instanceof LocaleString); - } - } - - public boolean isEmpty() - { - return unpackedArgs.length == 0; - } - - public Object[] getArguments() - { - return arguments; - } - - public Object[] getFilteredArgs(Locale locale) - { - Object[] result = new Object[unpackedArgs.length]; - for (int i = 0; i < unpackedArgs.length; i++) - { - Object arg; - if (filteredArgs[i] != null) - { - arg = filteredArgs[i]; - } - else - { - arg = unpackedArgs[i]; - if (isLocaleSpecific[i]) - { - // get locale - arg = ((LocaleString) arg).getLocaleString(locale); - arg = filter(argFilterType[i], arg); - } - else - { - arg = filter(argFilterType[i], arg); - filteredArgs[i] = arg; - } - } - result[i] = arg; - } - return result; - } - - private Object filter(int type, Object obj) - { - if (filter != null) - { - Object o = (null == obj) ? "null" : obj; - switch (type) - { - case NO_FILTER: - return o; - case FILTER: - return filter.doFilter(o.toString()); - case FILTER_URL: - return filter.doFilterUrl(o.toString()); - default: - return null; - } - } - else - { - return obj; - } - } - - public Filter getFilter() - { - return filter; - } - - public void setFilter(Filter filter) - { - if (filter != this.filter) - { - for (int i = 0; i < unpackedArgs.length; i++) - { - filteredArgs[i] = null; - } - } - this.filter = filter; - } - - } - - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("Resource: \"").append(resource); - sb.append("\" Id: \"").append(id).append("\""); - sb.append(" Arguments: ").append(arguments.getArguments().length).append(" normal, ") - .append(extraArgs.getArguments().length).append(" extra"); - sb.append(" Encoding: ").append(encoding); - sb.append(" ClassLoader: ").append(loader); - return sb.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/MissingEntryException.java b/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/MissingEntryException.java deleted file mode 100644 index d876a91af..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.1/org/spongycastle/i18n/MissingEntryException.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.i18n; - -import java.net.URL; -import java.util.Locale; - -public class MissingEntryException extends RuntimeException -{ - - protected final String resource; - protected final String key; - protected final ClassLoader loader; - protected final Locale locale; - - private String debugMsg; - - public MissingEntryException(String message, String resource, String key, Locale locale, ClassLoader loader) - { - super(message); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public MissingEntryException(String message, Throwable cause, String resource, String key, Locale locale, ClassLoader loader) - { - super(message + ": " + cause); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public String getKey() - { - return key; - } - - public String getResource() - { - return resource; - } - - public ClassLoader getClassLoader() - { - return loader; - } - - public Locale getLocale() - { - return locale; - } - - public String getDebugMsg() - { - if (debugMsg == null) - { - debugMsg = "Can not find entry " + key + " in resource file " + resource + " for the locale " + locale + "."; - } - return debugMsg; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.2/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java b/libraries/spongycastle/core/src/main/jdk1.2/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java deleted file mode 100644 index 042eb3eb2..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java +++ /dev/null @@ -1,67 +0,0 @@ - -package java.security.interfaces; - -import java.math.BigInteger; -import java.security.spec.RSAOtherPrimeInfo; - -/** - * The interface to an RSA multi-prime private key, as defined in the - * PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values. - * - * @since 1.4 - * @see RSAPrivateKeySpec, RSAMultiPrimePrivateCrtKeySpec, RSAPrivateKey, - * RSAPrivateCrtKey - */ -public interface RSAMultiPrimePrivateCrtKey -extends RSAPrivateKey -{ - /** - * Returns the public exponent. - * - * @returns the public exponent. - */ - public BigInteger getPublicExponent(); - - /** - * Returns the primeP. - * - * @returns the primeP. - */ - public BigInteger getPrimeP(); - - /** - * Returns the primeQ. - * - * @returns the primeQ. - */ - public BigInteger getPrimeQ(); - - /** - * Returns the primeExponentP. - * - * @returns the primeExponentP. - */ - public BigInteger getPrimeExponentP(); - - /** - * Returns the primeExponentQ. - * - * @returns the primeExponentQ. - */ - public BigInteger getPrimeExponentQ(); - - /** - * Returns the crtCoefficient. - * - * @returns the crtCoefficient. - */ - public BigInteger getCrtCoefficient(); - - /** - * Returns the otherPrimeInfo or null if there are only two prime - * factors (p and q). - * - * @returns the otherPrimeInfo. - */ - public RSAOtherPrimeInfo[] getOtherPrimeInfo(); -} diff --git a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/PSSParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/PSSParameterSpec.java deleted file mode 100644 index f58d83b78..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/PSSParameterSpec.java +++ /dev/null @@ -1,45 +0,0 @@ - -package java.security.spec; - -/** - * This class specifies a parameter spec for RSA PSS encoding scheme, - * as defined in the PKCS#1 v2.1. - * - * @since 1.4 - * @see AlgorithmParameterSpec, Signature - */ -public class PSSParameterSpec - extends Object - implements AlgorithmParameterSpec -{ - private int saltLen; - - /** - * Creates a new PSSParameterSpec given the salt length as defined - * in PKCS#1. - * - * @param saltLen - the length of salt in bits to be used in PKCS#1 - * PSS encoding. - * @throws IllegalArgumentException - if saltLen is less than 0. - */ - public PSSParameterSpec(int saltLen) - { - if ( saltLen < 0 ) - { - throw new IllegalArgumentException("Salt length must be >= 0"); - } - - this.saltLen = saltLen; - } - - /** - * Returns the salt length in bits. - * - * @returns the salt length. - */ - public int getSaltLength() - { - return saltLen; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAKeyGenParameterSpec.java b/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAKeyGenParameterSpec.java deleted file mode 100644 index 756c6c0fd..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAKeyGenParameterSpec.java +++ /dev/null @@ -1,35 +0,0 @@ -package java.security.spec; - -import java.math.BigInteger; - -/** - * specifies parameters to be used for the generation of - * a RSA key pair. - */ -public class RSAKeyGenParameterSpec - implements AlgorithmParameterSpec -{ - static BigInteger F0 = BigInteger.valueOf(3); - static BigInteger F4 = BigInteger.valueOf(65537); - - private int keysize; - private BigInteger publicExponent; - - public RSAKeyGenParameterSpec( - int keysize, - BigInteger publicExponent) - { - this.keysize = keysize; - this.publicExponent = publicExponent; - } - - public int getKeysize() - { - return keysize; - } - - public BigInteger getPublicExponent() - { - return publicExponent; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java b/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java deleted file mode 100644 index 1339b4f6d..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java +++ /dev/null @@ -1,159 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -/** - * This class specifies an RSA multi-prime private key, as defined in - * the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information - * values for efficiency. - * - * @since 1.4 - * @see Key, KeyFactory, KeySpec, PKCS8EncodedKeySpec, RSAPrivateKeySpec, - * RSAPublicKeySpec, RSAOtherPrimeInfo - */ -public class RSAMultiPrimePrivateCrtKeySpec - extends RSAPrivateKeySpec -{ - private BigInteger publicExponent; - private BigInteger privateExponent; - private BigInteger primeP; - private BigInteger primeQ; - private BigInteger primeExponentP; - private BigInteger primeExponentQ; - private BigInteger crtCoefficient; - private RSAOtherPrimeInfo[] otherPrimeInfo; - - /** - * Creates a new RSAMultiPrimePrivateCrtKeySpec given the modulus, - * publicExponent, privateExponent, primeP, primeQ, primeExponentP, - * primeExponentQ, crtCoefficient, and otherPrimeInfo as defined in - * PKCS#1 v2.1. - * - * Note that otherPrimeInfo is cloned when constructing this object. - * - * @param modulus - the modulus n. - * @param publicExponent - the public exponent e. - * @param privateExponent - the private exponent d. - * @param primeP - the prime factor p of n. - * @param primeQ - the prime factor q of n. - * @param primeExponentP - this is d mod (p-1). - * @param primeExponentQ - this is d mod (q-1). - * @param crtCoefficient - the Chinese Remainder Theorem coefficient q-1 - * mod p. - * @param otherPrimeInfo - triplets of the rest of primes, null can be - * specified if there are only two prime factors (p and q). - * @throws NullPointerException - if any of the parameters, i.e. modulus, - * publicExponent, privateExponent, primeP, primeQ, primeExponentP, - * primeExponentQ, crtCoefficient, is null. - * @throws IllegalArgumentException - if an empty, i.e. 0-length, - * otherPrimeInfo is specified. - */ - public RSAMultiPrimePrivateCrtKeySpec( - BigInteger modulus, - BigInteger publicExponent, - BigInteger privateExponent, - BigInteger primeP, - BigInteger primeQ, - BigInteger primeExponentP, - BigInteger primeExponentQ, - BigInteger crtCoefficient, - RSAOtherPrimeInfo[] otherPrimeInfo) - { - super(modulus, privateExponent); - - if ( publicExponent == null || primeP == null || primeQ == null - || primeExponentP == null || primeExponentQ == null - || crtCoefficient == null ) - { - throw new NullPointerException("Invalid null argument"); - } - - if ( otherPrimeInfo != null ) - { - if ( otherPrimeInfo.length == 0 ) - { - throw new IllegalArgumentException("Invalid length for otherPrimeInfo"); - } - - this.otherPrimeInfo = (RSAOtherPrimeInfo[])otherPrimeInfo.clone(); - } - } - - /** - * Returns the public exponent. - * - * @returns the public exponent. - */ - public BigInteger getPublicExponent() - { - return publicExponent; - } - - /** - * Returns the primeP. - * - * @returns the primeP. - */ - public BigInteger getPrimeP() - { - return primeP; - } - - /** - * Returns the primeQ. - * - * @returns the primeQ. - */ - public BigInteger getPrimeQ() - { - return primeQ; - } - - /** - * Returns the primeExponentP. - * - * @returns the primeExponentP. - */ - public BigInteger getPrimeExponentP() - { - return primeExponentP; - } - - /** - * Returns the primeExponentQ. - * - * @returns the primeExponentQ. - */ - public BigInteger getPrimeExponentQ() - { - return primeExponentQ; - } - - /** - * Returns the crtCofficient. - * - * @returns the crtCofficient. - */ - public BigInteger getCrtCoefficient() - { - return crtCoefficient; - } - - /** - * Returns a copy of the otherPrimeInfo or null if there are only - * two prime factors (p and q). - * - * @returns the otherPrimeInfo. - */ - public RSAOtherPrimeInfo[] getOtherPrimeInfo() - { - if ( otherPrimeInfo != null ) - { - return (RSAOtherPrimeInfo[])otherPrimeInfo.clone(); - } - - return null; - } -} - diff --git a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAOtherPrimeInfo.java b/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAOtherPrimeInfo.java deleted file mode 100644 index 42a4fce6d..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/java/security/spec/RSAOtherPrimeInfo.java +++ /dev/null @@ -1,80 +0,0 @@ - -package java.security.spec; - -import java.math.BigInteger; - -/** - * This class represents the triplet (prime, exponent, and coefficient) - * inside RSA's OtherPrimeInfo structure, as defined in the PKCS#1 v2.1. - * The ASN.1 syntax of RSA's OtherPrimeInfo is as follows: - * - *
    - * OtherPrimeInfo ::= SEQUENCE {
    - *    prime INTEGER,
    - *    exponent INTEGER,
    - *    coefficient INTEGER
    - * }
    - * 
    - */ -public class RSAOtherPrimeInfo -extends Object -{ - private BigInteger prime; - private BigInteger primeExponent; - private BigInteger crtCoefficient; - - /** - * Creates a new RSAOtherPrimeInfo given the prime, primeExponent, - * and crtCoefficient as defined in PKCS#1. - * - * @param prime - the prime factor of n. - * @param primeExponent - the exponent. - * @param crtCoefficient - the Chinese Remainder Theorem coefficient. - * @throws NullPointerException - if any of the parameters, i.e. prime, - * primeExponent, crtCoefficient, is null. - */ - public RSAOtherPrimeInfo( - BigInteger prime, - BigInteger primeExponent, - BigInteger crtCoefficient) - { - if ( prime == null || primeExponent == null || crtCoefficient == null ) - { - throw new NullPointerException("Null parameter"); - } - - this.prime = prime; - this.primeExponent = primeExponent; - this.crtCoefficient = crtCoefficient; - } - - /** - * Returns the prime. - * - * @returns the prime. - */ - public final BigInteger getPrime() - { - return prime; - } - - /** - * Returns the prime's exponent. - * - * @returns the primeExponent. - */ - public final BigInteger getExponent() - { - return primeExponent; - } - - /** - * Returns the prime's crtCoefficient. - * - * @returns the crtCoefficient. - */ - public final BigInteger getCrtCoefficient() - { - return crtCoefficient; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/LocalizedMessage.java b/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/LocalizedMessage.java deleted file mode 100644 index 1eab110cb..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/LocalizedMessage.java +++ /dev/null @@ -1,464 +0,0 @@ -package org.spongycastle.i18n; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.TrustedInput; -import org.spongycastle.i18n.filter.UntrustedInput; -import org.spongycastle.i18n.filter.UntrustedUrlInput; - -import java.io.UnsupportedEncodingException; -import java.text.DateFormat; -import java.text.Format; -import java.text.MessageFormat; -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import java.util.TimeZone; - -public class LocalizedMessage -{ - protected static final int NO_FILTER = 0; - protected static final int FILTER = 1; - protected static final int FILTER_URL = 2; - - protected String id; - protected String resource; - - // ISO-8859-1 is the default encoding - public static final String DEFAULT_ENCODING = "ISO-8859-1"; - protected String encoding = DEFAULT_ENCODING; - - protected FilteredArguments arguments; - protected FilteredArguments extraArgs = null; - - protected Filter filter = null; - - protected ClassLoader loader = null; - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource,String id) throws NullPointerException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource,String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - this.encoding = encoding; - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource, String id, Object[] arguments) throws NullPointerException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - this.encoding = encoding; - } - - /** - * Reads the entry id + "." + key from the resource file and returns a - * formated message for the given Locale and TimeZone. - * @param key second part of the entry id - * @param loc the used {@link Locale} - * @param timezone the used {@link TimeZone} - * @return a Strng containing the localized message - * @throws MissingEntryException if the resource file is not available or the entry does not exist. - */ - public String getEntry(String key,Locale loc, TimeZone timezone) throws MissingEntryException - { - String entry = id; - if (key != null) - { - entry += "." + key; - } - - try - { - ResourceBundle bundle; - if (loader == null) - { - bundle = ResourceBundle.getBundle(resource,loc); - } - else - { - bundle = ResourceBundle.getBundle(resource, loc); - } - String result = bundle.getString(entry); - if (!encoding.equals(DEFAULT_ENCODING)) - { - result = new String(result.getBytes(DEFAULT_ENCODING), encoding); - } - if (!arguments.isEmpty()) - { - result = formatWithTimeZone(result,arguments.getFilteredArgs(loc),loc,timezone); - } - result = addExtraArgs(result, loc); - return result; - } - catch (MissingResourceException mre) - { - throw new MissingEntryException("Can't find entry " + entry + " in resource file " + resource + ".", - resource, - entry, - loc, - loader != null ? loader : this.getClassLoader()); - } - catch (UnsupportedEncodingException use) - { - // should never occur - cause we already test this in the constructor - throw new RuntimeException(use.toString()); - } - } - - protected String formatWithTimeZone( - String template, - Object[] arguments, - Locale locale, - TimeZone timezone) - { - MessageFormat mf = new MessageFormat(" "); - mf.setLocale(locale); - mf.applyPattern(template); - if (!timezone.equals(TimeZone.getDefault())) - { - Format[] formats = mf.getFormats(); - for (int i = 0; i < formats.length; i++) - { - if (formats[i] instanceof DateFormat) - { - DateFormat temp = (DateFormat) formats[i]; - temp.setTimeZone(timezone); - mf.setFormat(i,temp); - } - } - } - return mf.format(arguments); - } - - protected String addExtraArgs(String msg, Locale locale) - { - if (extraArgs != null) - { - StringBuffer sb = new StringBuffer(msg); - Object[] filteredArgs = extraArgs.getFilteredArgs(locale); - for (int i = 0; i < filteredArgs.length; i++) - { - sb.append(filteredArgs[i]); - } - msg = sb.toString(); - } - return msg; - } - - /** - * Sets the {@link Filter} that is used to filter the arguments of this message - * @param filter the {@link Filter} to use. null to disable filtering. - */ - public void setFilter(Filter filter) - { - arguments.setFilter(filter); - if (extraArgs != null) - { - extraArgs.setFilter(filter); - } - this.filter = filter; - } - - /** - * Returns the current filter. - * @return the current filter - */ - public Filter getFilter() - { - return filter; - } - - /** - * Set the {@link ClassLoader} which loads the resource files. If it is set to null - * then the default {@link ClassLoader} is used. - * @param loader the {@link ClassLoader} which loads the resource files - */ - public void setClassLoader(ClassLoader loader) - { - this.loader = loader; - } - - /** - * Returns the {@link ClassLoader} which loads the resource files or null - * if the default ClassLoader is used. - * @return the {@link ClassLoader} which loads the resource files - */ - public ClassLoader getClassLoader() - { - return loader; - } - - /** - * Returns the id of the message in the resource bundle. - * @return the id of the message - */ - public String getId() - { - return id; - } - - /** - * Returns the name of the resource bundle for this message - * @return name of the resource file - */ - public String getResource() - { - return resource; - } - - /** - * Returns an Object[] containing the message arguments. - * @return the message arguments - */ - public Object[] getArguments() - { - return arguments.getArguments(); - } - - /** - * - * @param extraArg - */ - public void setExtraArgument(Object extraArg) - { - setExtraArguments(new Object[] {extraArg}); - } - - /** - * - * @param extraArgs - */ - public void setExtraArguments(Object[] extraArgs) - { - if (extraArgs != null) - { - this.extraArgs = new FilteredArguments(extraArgs); - this.extraArgs.setFilter(filter); - } - else - { - this.extraArgs = null; - } - } - - /** - * - * @return - */ - public Object[] getExtraArgs() - { - return (extraArgs == null) ? null : extraArgs.getArguments(); - } - - protected class FilteredArguments - { - - protected Filter filter = null; - - protected boolean[] isLocaleSpecific; - protected int[] argFilterType; - protected Object[] arguments; - protected Object[] unpackedArgs; - protected Object[] filteredArgs; - - FilteredArguments() - { - this(new Object[0]); - } - - FilteredArguments(Object[] args) - { - this.arguments = args; - this.unpackedArgs = new Object[args.length]; - this.filteredArgs = new Object[args.length]; - this.isLocaleSpecific = new boolean[args.length]; - this.argFilterType = new int[args.length]; - for (int i = 0; i < args.length; i++) - { - if (args[i] instanceof TrustedInput) - { - this.unpackedArgs[i] = ((TrustedInput) args[i]).getInput(); - argFilterType[i] = NO_FILTER; - } - else if (args[i] instanceof UntrustedInput) - { - this.unpackedArgs[i] = ((UntrustedInput) args[i]).getInput(); - if (args[i] instanceof UntrustedUrlInput) - { - argFilterType[i] = FILTER_URL; - } - else - { - argFilterType[i] = FILTER; - } - } - else - { - this.unpackedArgs[i] = args[i]; - argFilterType[i] = FILTER; - } - - // locale specific - this.isLocaleSpecific[i] = (this.unpackedArgs[i] instanceof LocaleString); - } - } - - public boolean isEmpty() - { - return unpackedArgs.length == 0; - } - - public Object[] getArguments() - { - return arguments; - } - - public Object[] getFilteredArgs(Locale locale) - { - Object[] result = new Object[unpackedArgs.length]; - for (int i = 0; i < unpackedArgs.length; i++) - { - Object arg; - if (filteredArgs[i] != null) - { - arg = filteredArgs[i]; - } - else - { - arg = unpackedArgs[i]; - if (isLocaleSpecific[i]) - { - // get locale - arg = ((LocaleString) arg).getLocaleString(locale); - arg = filter(argFilterType[i], arg); - } - else - { - arg = filter(argFilterType[i], arg); - filteredArgs[i] = arg; - } - } - result[i] = arg; - } - return result; - } - - private Object filter(int type, Object obj) - { - if (filter != null) - { - Object o = (null == obj) ? "null" : obj; - switch (type) - { - case NO_FILTER: - return o; - case FILTER: - return filter.doFilter(o.toString()); - case FILTER_URL: - return filter.doFilterUrl(o.toString()); - default: - return null; - } - } - else - { - return obj; - } - } - - public Filter getFilter() - { - return filter; - } - - public void setFilter(Filter filter) - { - if (filter != this.filter) - { - for (int i = 0; i < unpackedArgs.length; i++) - { - filteredArgs[i] = null; - } - } - this.filter = filter; - } - - } - - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("Resource: \"").append(resource); - sb.append("\" Id: \"").append(id).append("\""); - sb.append(" Arguments: ").append(arguments.getArguments().length).append(" normal, ") - .append(extraArgs.getArguments().length).append(" extra"); - sb.append(" Encoding: ").append(encoding); - sb.append(" ClassLoader: ").append(loader); - return sb.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/MissingEntryException.java b/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/MissingEntryException.java deleted file mode 100644 index d876a91af..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.2/org/spongycastle/i18n/MissingEntryException.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.i18n; - -import java.net.URL; -import java.util.Locale; - -public class MissingEntryException extends RuntimeException -{ - - protected final String resource; - protected final String key; - protected final ClassLoader loader; - protected final Locale locale; - - private String debugMsg; - - public MissingEntryException(String message, String resource, String key, Locale locale, ClassLoader loader) - { - super(message); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public MissingEntryException(String message, Throwable cause, String resource, String key, Locale locale, ClassLoader loader) - { - super(message + ": " + cause); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public String getKey() - { - return key; - } - - public String getResource() - { - return resource; - } - - public ClassLoader getClassLoader() - { - return loader; - } - - public Locale getLocale() - { - return locale; - } - - public String getDebugMsg() - { - if (debugMsg == null) - { - debugMsg = "Can not find entry " + key + " in resource file " + resource + " for the locale " + locale + "."; - } - return debugMsg; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/asn1/StreamUtil.java b/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/asn1/StreamUtil.java deleted file mode 100644 index 0b0b183e6..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/asn1/StreamUtil.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.asn1; - -import java.io.ByteArrayInputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - -class StreamUtil -{ - /** - * Find out possible longest length... - * - * @param in input stream of interest - * @return length calculation or MAX_VALUE. - */ - static int findLimit(InputStream in) - { - if (in instanceof LimitedInputStream) - { - return ((LimitedInputStream)in).getRemaining(); - } - else if (in instanceof ASN1InputStream) - { - return ((ASN1InputStream)in).getLimit(); - } - else if (in instanceof ByteArrayInputStream) - { - return ((ByteArrayInputStream)in).available(); - } - - return Integer.MAX_VALUE; - } - - static int calculateBodyLength( - int length) - { - int count = 1; - - if (length > 127) - { - int size = 1; - int val = length; - - while ((val >>>= 8) != 0) - { - size++; - } - - for (int i = (size - 1) * 8; i >= 0; i -= 8) - { - count++; - } - } - - return count; - } - - static int calculateTagLength(int tagNo) - throws IOException - { - int length = 1; - - if (tagNo >= 31) - { - if (tagNo < 128) - { - length++; - } - else - { - byte[] stack = new byte[5]; - int pos = stack.length; - - stack[--pos] = (byte)(tagNo & 0x7F); - - do - { - tagNo >>= 7; - stack[--pos] = (byte)(tagNo & 0x7F | 0x80); - } - while (tagNo > 127); - - length += stack.length - pos; - } - } - - return length; - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/crypto/tls/UDPTransport.java b/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/crypto/tls/UDPTransport.java deleted file mode 100644 index 9391e1d26..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/crypto/tls/UDPTransport.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.spongycastle.crypto.tls; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; - -public class UDPTransport - implements DatagramTransport -{ - protected final static int MIN_IP_OVERHEAD = 20; - protected final static int MAX_IP_OVERHEAD = MIN_IP_OVERHEAD + 64; - protected final static int UDP_OVERHEAD = 8; - - protected final DatagramSocket socket; - protected final int receiveLimit, sendLimit; - - public UDPTransport(DatagramSocket socket, int mtu) - throws IOException - { - // - // In 1.3 and earlier sockets were bound and connected during creation - // - //if (!socket.isBound() || !socket.isConnected()) - //{ - // throw new IllegalArgumentException("'socket' must be bound and connected"); - //} - - this.socket = socket; - - // NOTE: As of JDK 1.6, can use NetworkInterface.getMTU - - this.receiveLimit = mtu - MIN_IP_OVERHEAD - UDP_OVERHEAD; - this.sendLimit = mtu - MAX_IP_OVERHEAD - UDP_OVERHEAD; - } - - public int getReceiveLimit() - { - return receiveLimit; - } - - public int getSendLimit() - { - // TODO[DTLS] Implement Path-MTU discovery? - return sendLimit; - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - socket.setSoTimeout(waitMillis); - DatagramPacket packet = new DatagramPacket(buf, off, len); - socket.receive(packet); - return packet.getLength(); - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (len > getSendLimit()) - { - /* - * RFC 4347 4.1.1. "If the application attempts to send a record larger than the MTU, - * the DTLS implementation SHOULD generate an error, thus avoiding sending a packet - * which will be fragmented." - */ - throw new TlsFatalAlert(AlertDescription.internal_error); - } - - DatagramPacket packet = new DatagramPacket(buf, off, len); - socket.send(packet); - } - - public void close() - throws IOException - { - socket.close(); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/LocalizedMessage.java b/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/LocalizedMessage.java deleted file mode 100644 index e0a4d84ce..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/LocalizedMessage.java +++ /dev/null @@ -1,464 +0,0 @@ -package org.spongycastle.i18n; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.TrustedInput; -import org.spongycastle.i18n.filter.UntrustedInput; -import org.spongycastle.i18n.filter.UntrustedUrlInput; - -import java.io.UnsupportedEncodingException; -import java.text.DateFormat; -import java.text.Format; -import java.text.MessageFormat; -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import java.util.TimeZone; - -public class LocalizedMessage -{ - - protected final String id; - protected final String resource; - - // ISO-8859-1 is the default encoding - public static final String DEFAULT_ENCODING = "ISO-8859-1"; - protected String encoding = DEFAULT_ENCODING; - - protected FilteredArguments arguments; - protected FilteredArguments extraArgs = null; - - protected Filter filter = null; - - protected ClassLoader loader = null; - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource,String id) throws NullPointerException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource,String id, String encoding) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - arguments = new FilteredArguments(); - this.encoding = encoding; - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - */ - public LocalizedMessage(String resource, String id, Object[] arguments) throws NullPointerException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - } - - /** - * Constructs a new LocalizedMessage using resource as the base name for the - * RessourceBundle and id as the message bundle id the resource file. - * @param resource base name of the resource file - * @param id the id of the corresponding bundle in the resource file - * @param encoding the encoding of the resource file - * @param arguments an array containing the arguments for the message - * @throws NullPointerException if resource or id is null - * @throws UnsupportedEncodingException if the encoding is not supported - */ - public LocalizedMessage(String resource, String id, String encoding, Object[] arguments) throws NullPointerException, UnsupportedEncodingException - { - if (resource == null || id == null || arguments == null) - { - throw new NullPointerException(); - } - this.id = id; - this.resource = resource; - this.arguments = new FilteredArguments(arguments); - this.encoding = encoding; - } - - /** - * Reads the entry id + "." + key from the resource file and returns a - * formated message for the given Locale and TimeZone. - * @param key second part of the entry id - * @param loc the used {@link Locale} - * @param timezone the used {@link TimeZone} - * @return a Strng containing the localized message - * @throws MissingEntryException if the resource file is not available or the entry does not exist. - */ - public String getEntry(String key,Locale loc, TimeZone timezone) throws MissingEntryException - { - String entry = id; - if (key != null) - { - entry += "." + key; - } - - try - { - ResourceBundle bundle; - if (loader == null) - { - bundle = ResourceBundle.getBundle(resource,loc); - } - else - { - bundle = ResourceBundle.getBundle(resource, loc, loader); - } - String result = bundle.getString(entry); - if (!encoding.equals(DEFAULT_ENCODING)) - { - result = new String(result.getBytes(DEFAULT_ENCODING), encoding); - } - if (!arguments.isEmpty()) - { - result = formatWithTimeZone(result,arguments.getFilteredArgs(loc),loc,timezone); - } - result = addExtraArgs(result, loc); - return result; - } - catch (MissingResourceException mre) - { - throw new MissingEntryException("Can't find entry " + entry + " in resource file " + resource + ".", - resource, - entry, - loc, - loader != null ? loader : this.getClassLoader()); - } - catch (UnsupportedEncodingException use) - { - // should never occur - cause we already test this in the constructor - throw new RuntimeException(use.toString()); - } - } - - protected String formatWithTimeZone( - String template, - Object[] arguments, - Locale locale, - TimeZone timezone) - { - MessageFormat mf = new MessageFormat(" "); - mf.setLocale(locale); - mf.applyPattern(template); - if (!timezone.equals(TimeZone.getDefault())) - { - Format[] formats = mf.getFormats(); - for (int i = 0; i < formats.length; i++) - { - if (formats[i] instanceof DateFormat) - { - DateFormat temp = (DateFormat) formats[i]; - temp.setTimeZone(timezone); - mf.setFormat(i,temp); - } - } - } - return mf.format(arguments); - } - - protected String addExtraArgs(String msg, Locale locale) - { - if (extraArgs != null) - { - StringBuffer sb = new StringBuffer(msg); - Object[] filteredArgs = extraArgs.getFilteredArgs(locale); - for (int i = 0; i < filteredArgs.length; i++) - { - sb.append(filteredArgs[i]); - } - msg = sb.toString(); - } - return msg; - } - - /** - * Sets the {@link Filter} that is used to filter the arguments of this message - * @param filter the {@link Filter} to use. null to disable filtering. - */ - public void setFilter(Filter filter) - { - arguments.setFilter(filter); - if (extraArgs != null) - { - extraArgs.setFilter(filter); - } - this.filter = filter; - } - - /** - * Returns the current filter. - * @return the current filter - */ - public Filter getFilter() - { - return filter; - } - - /** - * Set the {@link ClassLoader} which loads the resource files. If it is set to null - * then the default {@link ClassLoader} is used. - * @param loader the {@link ClassLoader} which loads the resource files - */ - public void setClassLoader(ClassLoader loader) - { - this.loader = loader; - } - - /** - * Returns the {@link ClassLoader} which loads the resource files or null - * if the default ClassLoader is used. - * @return the {@link ClassLoader} which loads the resource files - */ - public ClassLoader getClassLoader() - { - return loader; - } - - /** - * Returns the id of the message in the resource bundle. - * @return the id of the message - */ - public String getId() - { - return id; - } - - /** - * Returns the name of the resource bundle for this message - * @return name of the resource file - */ - public String getResource() - { - return resource; - } - - /** - * Returns an Object[] containing the message arguments. - * @return the message arguments - */ - public Object[] getArguments() - { - return arguments.getArguments(); - } - - /** - * - * @param extraArg - */ - public void setExtraArgument(Object extraArg) - { - setExtraArguments(new Object[] {extraArg}); - } - - /** - * - * @param extraArgs - */ - public void setExtraArguments(Object[] extraArgs) - { - if (extraArgs != null) - { - this.extraArgs = new FilteredArguments(extraArgs); - this.extraArgs.setFilter(filter); - } - else - { - this.extraArgs = null; - } - } - - /** - * - * @return - */ - public Object[] getExtraArgs() - { - return (extraArgs == null) ? null : extraArgs.getArguments(); - } - - protected class FilteredArguments - { - protected static final int NO_FILTER = 0; - protected static final int FILTER = 1; - protected static final int FILTER_URL = 2; - - protected Filter filter = null; - - protected boolean[] isLocaleSpecific; - protected int[] argFilterType; - protected Object[] arguments; - protected Object[] unpackedArgs; - protected Object[] filteredArgs; - - FilteredArguments() - { - this(new Object[0]); - } - - FilteredArguments(Object[] args) - { - this.arguments = args; - this.unpackedArgs = new Object[args.length]; - this.filteredArgs = new Object[args.length]; - this.isLocaleSpecific = new boolean[args.length]; - this.argFilterType = new int[args.length]; - for (int i = 0; i < args.length; i++) - { - if (args[i] instanceof TrustedInput) - { - this.unpackedArgs[i] = ((TrustedInput) args[i]).getInput(); - argFilterType[i] = NO_FILTER; - } - else if (args[i] instanceof UntrustedInput) - { - this.unpackedArgs[i] = ((UntrustedInput) args[i]).getInput(); - if (args[i] instanceof UntrustedUrlInput) - { - argFilterType[i] = FILTER_URL; - } - else - { - argFilterType[i] = FILTER; - } - } - else - { - this.unpackedArgs[i] = args[i]; - argFilterType[i] = FILTER; - } - - // locale specific - this.isLocaleSpecific[i] = (this.unpackedArgs[i] instanceof LocaleString); - } - } - - public boolean isEmpty() - { - return unpackedArgs.length == 0; - } - - public Object[] getArguments() - { - return arguments; - } - - public Object[] getFilteredArgs(Locale locale) - { - Object[] result = new Object[unpackedArgs.length]; - for (int i = 0; i < unpackedArgs.length; i++) - { - Object arg; - if (filteredArgs[i] != null) - { - arg = filteredArgs[i]; - } - else - { - arg = unpackedArgs[i]; - if (isLocaleSpecific[i]) - { - // get locale - arg = ((LocaleString) arg).getLocaleString(locale); - arg = filter(argFilterType[i], arg); - } - else - { - arg = filter(argFilterType[i], arg); - filteredArgs[i] = arg; - } - } - result[i] = arg; - } - return result; - } - - private Object filter(int type, Object obj) - { - if (filter != null) - { - Object o = (null == obj) ? "null" : obj; - switch (type) - { - case NO_FILTER: - return o; - case FILTER: - return filter.doFilter(o.toString()); - case FILTER_URL: - return filter.doFilterUrl(o.toString()); - default: - return null; - } - } - else - { - return obj; - } - } - - public Filter getFilter() - { - return filter; - } - - public void setFilter(Filter filter) - { - if (filter != this.filter) - { - for (int i = 0; i < unpackedArgs.length; i++) - { - filteredArgs[i] = null; - } - } - this.filter = filter; - } - - } - - public String toString() - { - StringBuffer sb = new StringBuffer(); - sb.append("Resource: \"").append(resource); - sb.append("\" Id: \"").append(id).append("\""); - sb.append(" Arguments: ").append(arguments.getArguments().length).append(" normal, ") - .append(extraArgs.getArguments().length).append(" extra"); - sb.append(" Encoding: ").append(encoding); - sb.append(" ClassLoader: ").append(loader); - return sb.toString(); - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/MissingEntryException.java b/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/MissingEntryException.java deleted file mode 100644 index 582b9ab9b..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/i18n/MissingEntryException.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.spongycastle.i18n; - -import java.net.URL; -import java.net.URLClassLoader; -import java.util.Locale; - -public class MissingEntryException - extends RuntimeException -{ - - protected final String resource; - protected final String key; - protected final ClassLoader loader; - protected final Locale locale; - - private Throwable cause; - private String debugMsg; - - public MissingEntryException(String message, String resource, String key, Locale locale, ClassLoader loader) - { - super(message); - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public MissingEntryException(String message, Throwable cause, String resource, String key, Locale locale, ClassLoader loader) - { - super(message); - this.cause = cause; - this.resource = resource; - this.key = key; - this.locale = locale; - this.loader = loader; - } - - public Throwable getCause() - { - return cause; - } - - public String getKey() - { - return key; - } - - public String getResource() - { - return resource; - } - - public ClassLoader getClassLoader() - { - return loader; - } - - public Locale getLocale() - { - return locale; - } - - public String getDebugMsg() - { - if (debugMsg == null) - { - debugMsg = "Can not find entry " + key + " in resource file " + resource + " for the locale " + locale + "."; - if (loader instanceof URLClassLoader) - { - URL[] urls = ((URLClassLoader) loader).getURLs(); - debugMsg += " The following entries in the classpath were searched: "; - for (int i = 0; i != urls.length; i++) - { - debugMsg += urls[i] + " "; - } - } - } - return debugMsg; - } - -} diff --git a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/util/Shorts.java b/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/util/Shorts.java deleted file mode 100644 index 66a992f77..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.3/org/spongycastle/util/Shorts.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Shorts -{ - public static Short valueOf(short value) - { - return new Short(value); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Integers.java b/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Integers.java deleted file mode 100644 index 3ac592d3c..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Integers.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Integers -{ - public static Integer valueOf(int value) - { - return new Integer(value); - } -} diff --git a/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Shorts.java b/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Shorts.java deleted file mode 100644 index 66a992f77..000000000 --- a/libraries/spongycastle/core/src/main/jdk1.4/org/spongycastle/util/Shorts.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.spongycastle.util; - -public class Shorts -{ - public static Short valueOf(short value) - { - return new Short(value); - } -} diff --git a/libraries/spongycastle/core/src/test/data/PKITS/README b/libraries/spongycastle/core/src/test/data/PKITS/README deleted file mode 100644 index 00a124b65..000000000 --- a/libraries/spongycastle/core/src/test/data/PKITS/README +++ /dev/null @@ -1,3 +0,0 @@ -PKITS test data from http://csrc.nist.gov/pki/testing/x509paths.html - -For more details please check the website above. diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt deleted file mode 100644 index 6c40491f2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesNoPoliciesTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt deleted file mode 100644 index 41b6d15b2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt deleted file mode 100644 index 9210106f5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesSamePoliciesTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt deleted file mode 100644 index a7f9d22b0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/AllCertificatesanyPolicyTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/AnyPolicyTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/AnyPolicyTest14EE.crt deleted file mode 100644 index b5961c75f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/AnyPolicyTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt deleted file mode 100644 index 6afe5ddd0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLIssuerNameCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLSignatureCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLSignatureCACert.crt deleted file mode 100644 index bfac8a406..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadCRLSignatureCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadSignedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BadSignedCACert.crt deleted file mode 100644 index abf7f319c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadSignedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotAfterDateCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotAfterDateCACert.crt deleted file mode 100644 index d8babc267..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotAfterDateCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotBeforeDateCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotBeforeDateCACert.crt deleted file mode 100644 index 9b4cd824a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BadnotBeforeDateCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt deleted file mode 100644 index 41881148c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt deleted file mode 100644 index 7c1b13952..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt deleted file mode 100644 index b4ccbe84f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt deleted file mode 100644 index 336a1caa0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt deleted file mode 100644 index 78953d66f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt deleted file mode 100644 index 853dc0613..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt deleted file mode 100644 index 8bc703698..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/CPSPointerQualifierTest20EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DSACACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DSACACert.crt deleted file mode 100644 index a1f9e05f6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DSACACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DSAParametersInheritedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DSAParametersInheritedCACert.crt deleted file mode 100644 index 7eae4863e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DSAParametersInheritedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt deleted file mode 100644 index 6aa6ae5cd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt deleted file mode 100644 index 8cd24ec7e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt deleted file mode 100644 index 6af794d89..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt deleted file mode 100644 index 43150466b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt deleted file mode 100644 index 8caf46a33..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt deleted file mode 100644 index f49721d7e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt deleted file mode 100644 index 49a38a558..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/DifferentPoliciesTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt deleted file mode 100644 index c22228aa0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/GeneralizedTimeCRLnextUpdateCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodCACert.crt deleted file mode 100644 index 5aecbc0cf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCACert.crt deleted file mode 100644 index 09c98aad6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt deleted file mode 100644 index 2540cd45d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt deleted file mode 100644 index 749f7cc0f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLIssuerNameTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt deleted file mode 100644 index 3c4d2cbe2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBadCRLSignatureTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt deleted file mode 100644 index 7919115d2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt deleted file mode 100644 index b242bad64..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt deleted file mode 100644 index e75d97865..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt deleted file mode 100644 index ed3000124..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt deleted file mode 100644 index 8d337bddf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCASignatureTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt deleted file mode 100644 index 6f6748d07..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotAfterDateTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt deleted file mode 100644 index e7b01de4d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidCAnotBeforeDateTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt deleted file mode 100644 index 3f86eefe0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest31EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt deleted file mode 100644 index 805205b29..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest33EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt deleted file mode 100644 index eff3779d3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNSnameConstraintsTest38EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt deleted file mode 100644 index 7c1dd9cb2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt deleted file mode 100644 index bdf08adcb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt deleted file mode 100644 index 5ff84a45b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt deleted file mode 100644 index 11ec10fe8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt deleted file mode 100644 index 08c3050d1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt deleted file mode 100644 index 28ab46587..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest15EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt deleted file mode 100644 index 56e42d0f1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest16EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt deleted file mode 100644 index f9f53b932..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest17EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt deleted file mode 100644 index 15fbe8faa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest20EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt deleted file mode 100644 index 8daf2f2a6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt deleted file mode 100644 index 52cd9993e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt deleted file mode 100644 index 799760b5f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt deleted file mode 100644 index d874621eb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt deleted file mode 100644 index 18314bd01..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDNnameConstraintsTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt deleted file mode 100644 index bcc900cf4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidDSASignatureTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt deleted file mode 100644 index e21461e37..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEESignatureTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt deleted file mode 100644 index 46269d05e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotAfterDateTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt deleted file mode 100644 index f1bf1d1a4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidEEnotBeforeDateTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt deleted file mode 100644 index 31965f628..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest23EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt deleted file mode 100644 index b9b87a6c1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidIDPwithindirectCRLTest26EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt deleted file mode 100644 index 1c84dce0e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidLongSerialNumberTest18EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt deleted file mode 100644 index 49aab726e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingFromanyPolicyTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt deleted file mode 100644 index 0a56c5e0d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMappingToanyPolicyTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt deleted file mode 100644 index 7af5ce5aa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingCRLTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt deleted file mode 100644 index f5d8703c3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidMissingbasicConstraintsTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt deleted file mode 100644 index 9c40a3391..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingOrderTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt deleted file mode 100644 index f7ae3b0e8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNameChainingTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt deleted file mode 100644 index 2d323b4df..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidNegativeSerialNumberTest15EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt deleted file mode 100644 index 858db72d6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidOldCRLnextUpdateTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt deleted file mode 100644 index ef227b8ea..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt deleted file mode 100644 index 58ace916a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt deleted file mode 100644 index c0dd555d5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidPolicyMappingTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt deleted file mode 100644 index d8134e0a6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest22EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt deleted file mode 100644 index b71c6a377..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest24EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt deleted file mode 100644 index 0ffdf26fa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRFC822nameConstraintsTest26EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt deleted file mode 100644 index 65a0a1ab4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedCATest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt deleted file mode 100644 index 80ea4d3f5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidRevokedEETest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt deleted file mode 100644 index 21c32e976..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt deleted file mode 100644 index d57f0cb52..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt deleted file mode 100644 index 577998c4f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt deleted file mode 100644 index 621c325eb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt deleted file mode 100644 index 98f8160cb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt deleted file mode 100644 index b80277286..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt deleted file mode 100644 index 9fba63afb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt deleted file mode 100644 index a1b58ffaa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt deleted file mode 100644 index 108f38c5f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt deleted file mode 100644 index 8671cc6f5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt deleted file mode 100644 index b8faa4acc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt deleted file mode 100644 index 5313fc96d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest35EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt deleted file mode 100644 index 81fd01db7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidURInameConstraintsTest37EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt deleted file mode 100644 index 6170daef8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt deleted file mode 100644 index 8c8dfc0d8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt deleted file mode 100644 index 83c1b6af4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCRLExtensionTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt deleted file mode 100644 index 65c7a68ec..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt deleted file mode 100644 index 206892ceb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidWrongCRLTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt deleted file mode 100644 index 25b925a28..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt deleted file mode 100644 index 5d8f86320..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcAFalseTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt deleted file mode 100644 index 1cb9f595d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest27EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt deleted file mode 100644 index 7e08a55d3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest31EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt deleted file mode 100644 index ec020a1a4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest32EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt deleted file mode 100644 index b309b809b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest34EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt deleted file mode 100644 index 257daab5a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidcRLIssuerTest35EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt deleted file mode 100644 index 30e49a4ec..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt deleted file mode 100644 index d60e4f698..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt deleted file mode 100644 index 27ce111ae..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt deleted file mode 100644 index a7edcf890..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt deleted file mode 100644 index 0e247f2ab..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt deleted file mode 100644 index e5b34e4ac..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddeltaCRLTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt deleted file mode 100644 index c61a6460a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt deleted file mode 100644 index 531033234..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt deleted file mode 100644 index 9236346ee..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt deleted file mode 100644 index 3520f6a3f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt deleted file mode 100644 index 5982bb6a2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvaliddistributionPointTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt deleted file mode 100644 index b6fe66182..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt deleted file mode 100644 index e6a924a1a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt deleted file mode 100644 index 20c40a497..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt deleted file mode 100644 index 03c8a3208..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitAnyPolicyTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt deleted file mode 100644 index f028a76ff..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt deleted file mode 100644 index 3393af56c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt deleted file mode 100644 index 374681425..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt deleted file mode 100644 index 9f7eafa22..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidinhibitPolicyMappingTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt deleted file mode 100644 index 888f7e2ae..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt deleted file mode 100644 index 43b0d9587..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt deleted file mode 100644 index fbfb4c4e4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt deleted file mode 100644 index a9da41446..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt deleted file mode 100644 index 60e0f7dbf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsAttributeCertsTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt deleted file mode 100644 index c0ada1281..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsCACertsTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt deleted file mode 100644 index acf119985..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlyContainsUserCertsTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt deleted file mode 100644 index 45460ee00..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest15EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt deleted file mode 100644 index b82e84e61..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest16EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt deleted file mode 100644 index d29a9ff08..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest17EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt deleted file mode 100644 index 431d60071..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest20EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt deleted file mode 100644 index 68bf8f9ab..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidonlySomeReasonsTest21EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt deleted file mode 100644 index 788389d3e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt deleted file mode 100644 index 01ea4d0b7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt deleted file mode 100644 index 231641608..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt deleted file mode 100644 index 7164f04fe..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt deleted file mode 100644 index eec5f9de1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt deleted file mode 100644 index 6a063a61d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidpathLenConstraintTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt deleted file mode 100644 index 634a08e51..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000CRLnextUpdateTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt deleted file mode 100644 index 88916af6f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt deleted file mode 100644 index 38f98e475..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt deleted file mode 100644 index ca3ea17b8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/InvalidrequireExplicitPolicyTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/LongSerialNumberCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/LongSerialNumberCACert.crt deleted file mode 100644 index 6aaf3d0a4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/LongSerialNumberCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/Mapping1to2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/Mapping1to2CACert.crt deleted file mode 100644 index a458115a3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/Mapping1to2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt deleted file mode 100644 index 812da596d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingFromanyPolicyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingToanyPolicyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingToanyPolicyCACert.crt deleted file mode 100644 index 42effeb79..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/MappingToanyPolicyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt deleted file mode 100644 index 17ebf2523..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/MissingbasicConstraintsCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/NameOrderingCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/NameOrderingCACert.crt deleted file mode 100644 index 6b744db06..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/NameOrderingCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/NegativeSerialNumberCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/NegativeSerialNumberCACert.crt deleted file mode 100644 index 57fc93300..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/NegativeSerialNumberCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoCRLCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/NoCRLCACert.crt deleted file mode 100644 index acd908c6f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoCRLCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoPoliciesCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/NoPoliciesCACert.crt deleted file mode 100644 index 5e2a3fc70..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoPoliciesCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt deleted file mode 100644 index bf4f8140f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/NoissuingDistributionPointCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt deleted file mode 100644 index c9fb043b8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/OldCRLnextUpdateCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt deleted file mode 100644 index 56d136cfd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/OverlappingPoliciesTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3CACert.crt deleted file mode 100644 index f9ed7b756..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subCACert.crt deleted file mode 100644 index 2029d6ba7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt deleted file mode 100644 index 50e7fcd26..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P12Mapping1to3subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234CACert.crt deleted file mode 100644 index d7b3028d6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234subCACert.crt deleted file mode 100644 index 8648ddec9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1Mapping1to234subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt deleted file mode 100644 index 85e39feaa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/P1anyPolicyMapping1to2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt deleted file mode 100644 index 5abbb788d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PanyPolicyMapping1to2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234CACert.crt deleted file mode 100644 index 9a5eb5b73..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt deleted file mode 100644 index 9b385455d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subCAP123Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt deleted file mode 100644 index 4990a9b9d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP1234subsubCAP123P12Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123CACert.crt deleted file mode 100644 index 03509d172..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt deleted file mode 100644 index 0009819fa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subCAP12Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt deleted file mode 100644 index 669c18190..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt deleted file mode 100644 index faa7516b7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubCAP12P2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt deleted file mode 100644 index 44346d5c2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12CACert.crt deleted file mode 100644 index 27bf52414..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt deleted file mode 100644 index 9a24328a7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subCAP1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt deleted file mode 100644 index 49cc0ed6d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP12subsubCAP1P2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt deleted file mode 100644 index ccbedc695..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCACert.crt deleted file mode 100644 index ce66a79b5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP2subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP3CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP3CACert.crt deleted file mode 100644 index 90c4d266e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/PoliciesP3CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt deleted file mode 100644 index fa0e1c8f4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280MandatoryAttributeTypesCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt deleted file mode 100644 index 973373b10..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/RFC3280OptionalAttributeTypesCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/RevokedsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/RevokedsubCACert.crt deleted file mode 100644 index edbd547f0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/RevokedsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt deleted file mode 100644 index 658f20cf5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt deleted file mode 100644 index 67135a6c0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt deleted file mode 100644 index c05f92c3b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt deleted file mode 100644 index 8c7200f87..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt deleted file mode 100644 index 10deedd4f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/TrustAnchorRootCertificate.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/TrustAnchorRootCertificate.crt deleted file mode 100644 index 21f520ee5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/TrustAnchorRootCertificate.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/TwoCRLsCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/TwoCRLsCACert.crt deleted file mode 100644 index c6389d36a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/TwoCRLsCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UIDCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UIDCACert.crt deleted file mode 100644 index d852bc095..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UIDCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt deleted file mode 100644 index c59715d5e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringCaseInsensitiveMatchCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt deleted file mode 100644 index 68d49e021..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UTF8StringEncodedNamesCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt deleted file mode 100644 index 8c81c3744..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLEntryExtensionCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt deleted file mode 100644 index db7d39e59..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UnknownCRLExtensionCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt deleted file mode 100644 index e912cdfa9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest15EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt deleted file mode 100644 index ec04e1f3d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest16EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt deleted file mode 100644 index f78a47d6a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest17EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt deleted file mode 100644 index cc5cf5a77..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest18EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt deleted file mode 100644 index 3df534a98..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/UserNoticeQualifierTest19EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt deleted file mode 100644 index 034de7fe0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt deleted file mode 100644 index 199afb768..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt deleted file mode 100644 index d4323162e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt deleted file mode 100644 index b54a8b0f4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt deleted file mode 100644 index 26985c9f6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidCertificatePathTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt deleted file mode 100644 index ec7d43d46..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest30EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt deleted file mode 100644 index ed88860ba..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNSnameConstraintsTest32EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt deleted file mode 100644 index 73759dca2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNandRFC822nameConstraintsTest27EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt deleted file mode 100644 index 1af47ba80..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt deleted file mode 100644 index ff249f051..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt deleted file mode 100644 index b658d671b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest18EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt deleted file mode 100644 index f4e2b8448..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest19EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt deleted file mode 100644 index 4c86f9b77..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt deleted file mode 100644 index beb401360..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt deleted file mode 100644 index b68b6f7ca..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt deleted file mode 100644 index 9aff6e874..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDNnameConstraintsTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt deleted file mode 100644 index 8fe2af452..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSAParameterInheritanceTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt deleted file mode 100644 index 5b1cbc827..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidDSASignaturesTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt deleted file mode 100644 index a22f2e6c1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt deleted file mode 100644 index 15689c18c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt deleted file mode 100644 index 385bb1eaa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt deleted file mode 100644 index 6706cf1c3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest22EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt deleted file mode 100644 index bea72fe2b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest24EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt deleted file mode 100644 index 994c90ad6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidIDPwithindirectCRLTest25EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt deleted file mode 100644 index 11ba787ab..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest16EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt deleted file mode 100644 index 75504db35..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidLongSerialNumberTest17EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt deleted file mode 100644 index 5b633871e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingCapitalizationTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt deleted file mode 100644 index 2aef73cfc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt deleted file mode 100644 index 6890cdd85..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameChainingWhitespaceTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt deleted file mode 100644 index 3cddea4a2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNameUIDsTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt deleted file mode 100644 index 139a086d8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNegativeSerialNumberTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt deleted file mode 100644 index bd8ca38b0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidNoissuingDistributionPointTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt deleted file mode 100644 index 9d19ad192..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt deleted file mode 100644 index 76b9fe52c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest12EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt deleted file mode 100644 index 7db330523..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt deleted file mode 100644 index 57bf42655..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt deleted file mode 100644 index 436cb9e02..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt deleted file mode 100644 index c835b0b24..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt deleted file mode 100644 index faaeb9e46..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt deleted file mode 100644 index 2cd443323..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt deleted file mode 100644 index 4debc2942..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidPolicyMappingTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt deleted file mode 100644 index c3e977666..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt deleted file mode 100644 index f33c9d509..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt deleted file mode 100644 index 743e9eb9a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest21EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt deleted file mode 100644 index f8703ed8d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest23EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt deleted file mode 100644 index e89ae7f80..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRFC822nameConstraintsTest25EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt deleted file mode 100644 index 924d2f60a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt deleted file mode 100644 index 2e7e99546..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt deleted file mode 100644 index 764024716..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt deleted file mode 100644 index b4b282d99..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt deleted file mode 100644 index 0bad35f76..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt deleted file mode 100644 index 1535ef864..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt deleted file mode 100644 index 781ce0d38..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt deleted file mode 100644 index fda18197b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt deleted file mode 100644 index e04433ad2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidTwoCRLsTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt deleted file mode 100644 index b554f91e6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest34EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt deleted file mode 100644 index 8b1f00f21..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidURInameConstraintsTest36EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt deleted file mode 100644 index 8a9d0ca82..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt deleted file mode 100644 index c901690b8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUTF8StringEncodedNamesTest9EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt deleted file mode 100644 index 6ee8d1e3b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt deleted file mode 100644 index 543710fda..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidbasicConstraintsNotCriticalTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt deleted file mode 100644 index 1448aa4a3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest28EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt deleted file mode 100644 index ec442e1b1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest29EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt deleted file mode 100644 index 2dc236766..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest30EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt deleted file mode 100644 index 65b28440d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidcRLIssuerTest33EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt deleted file mode 100644 index 0d24df052..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt deleted file mode 100644 index 2bdaaf21e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt deleted file mode 100644 index 3f6792194..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt deleted file mode 100644 index 65861281c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddeltaCRLTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt deleted file mode 100644 index 487cc2f9a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt deleted file mode 100644 index 3782e79a8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt deleted file mode 100644 index 07a8c494a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest5EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt deleted file mode 100644 index 948f37fb9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValiddistributionPointTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt deleted file mode 100644 index dc61d5231..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitAnyPolicyTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt deleted file mode 100644 index fc432a1d4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt deleted file mode 100644 index dce692769..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidinhibitPolicyMappingTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt deleted file mode 100644 index bddbb9a26..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidkeyUsageNotCriticalTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt deleted file mode 100644 index f35f5de2a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlyContainsCACertsTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt deleted file mode 100644 index 7c0e1dedc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest18EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt deleted file mode 100644 index f3a811c1b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidonlySomeReasonsTest19EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt deleted file mode 100644 index dcf88340d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest13EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt deleted file mode 100644 index 66fe25647..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest14EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt deleted file mode 100644 index 5f689eaf7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest7EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt deleted file mode 100644 index 2357bebf1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidpathLenConstraintTest8EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt deleted file mode 100644 index 5a6149927..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/Validpre2000UTCnotBeforeDateTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt deleted file mode 100644 index 10399269e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest1EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt deleted file mode 100644 index 451c2d81d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest2EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt deleted file mode 100644 index a2fa2f12b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/ValidrequireExplicitPolicyTest4EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/WrongCRLCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/WrongCRLCACert.crt deleted file mode 100644 index 4cc51952a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/WrongCRLCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/anyPolicyCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/anyPolicyCACert.crt deleted file mode 100644 index 4d9fb79b2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/anyPolicyCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt deleted file mode 100644 index 12a8b5037..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsCriticalcAFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt deleted file mode 100644 index 8f9da1eb1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt deleted file mode 100644 index ca61262ec..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/basicConstraintsNotCriticalcAFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA1Cert.crt deleted file mode 100644 index 47f74eb40..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA2Cert.crt deleted file mode 100644 index a99dd4030..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA3Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA3Cert.crt deleted file mode 100644 index eeaaa36e4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLCA3Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt deleted file mode 100644 index 5ec06b3d6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/deltaCRLIndicatorNoBaseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint1CACert.crt deleted file mode 100644 index 1e74bed04..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint2CACert.crt deleted file mode 100644 index a6d37be90..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/distributionPoint2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA1Cert.crt deleted file mode 100644 index ef079f653..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA2Cert.crt deleted file mode 100644 index 4bfc0b5ed..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3Cert.crt deleted file mode 100644 index f0787f0c5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt deleted file mode 100644 index f8089937b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA3cRLIssuerCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4Cert.crt deleted file mode 100644 index 6ebe43ce5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt deleted file mode 100644 index 0468b0866..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA4cRLIssuerCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA5Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA5Cert.crt deleted file mode 100644 index 90ba7d7e5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA5Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA6Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA6Cert.crt deleted file mode 100644 index 3c5781e96..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/indirectCRLCA6Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt deleted file mode 100644 index 474968979..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy0CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt deleted file mode 100644 index 8d35b0e67..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt deleted file mode 100644 index 0362dde87..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt deleted file mode 100644 index 1d24bc194..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt deleted file mode 100644 index af02467cd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt deleted file mode 100644 index e8590f72e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt deleted file mode 100644 index 75bc59e4a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subCAIAP5Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt deleted file mode 100644 index cbf40ff09..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy1subsubCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt deleted file mode 100644 index 3765f6e38..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt deleted file mode 100644 index f75006d1e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt deleted file mode 100644 index f2898ea06..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicy5subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt deleted file mode 100644 index 850d6499f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitAnyPolicyTest3EE.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt deleted file mode 100644 index b4934e898..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt deleted file mode 100644 index 79f45b82b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping0subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt deleted file mode 100644 index 57dd683c6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt deleted file mode 100644 index 1e6bd7006..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt deleted file mode 100644 index e68346842..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt deleted file mode 100644 index f73f4d299..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt deleted file mode 100644 index fe32edafb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt deleted file mode 100644 index b3bff4667..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt deleted file mode 100644 index 399bd824f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt deleted file mode 100644 index cd2ce9448..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt deleted file mode 100644 index 31d9af5dd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt deleted file mode 100644 index 13e78f0cc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping1P1subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt deleted file mode 100644 index 86ea42633..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt deleted file mode 100644 index 788622cb9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt deleted file mode 100644 index d4a025e32..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt deleted file mode 100644 index 2c0e6e888..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/inhibitPolicyMapping5subsubsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt deleted file mode 100644 index a50545a1e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalcRLSignFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt deleted file mode 100644 index f6824d3a2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageCriticalkeyCertSignFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt deleted file mode 100644 index 344f7d90a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt deleted file mode 100644 index c02d6f491..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalcRLSignFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt deleted file mode 100644 index b9c46b5b8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1CACert.crt deleted file mode 100644 index 5379f1fbb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt deleted file mode 100644 index 75f1f7e60..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt deleted file mode 100644 index 670291b8e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt deleted file mode 100644 index a010eee16..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt deleted file mode 100644 index b31c28a6f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN1subCA3Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN2CACert.crt deleted file mode 100644 index 3aab55b46..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3CACert.crt deleted file mode 100644 index f1af18eac..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt deleted file mode 100644 index e40c5f06b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt deleted file mode 100644 index 94247454d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN3subCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN4CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN4CACert.crt deleted file mode 100644 index 141eb7264..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN4CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN5CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN5CACert.crt deleted file mode 100644 index a0d06284a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDN5CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt deleted file mode 100644 index 10f0b35d2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt deleted file mode 100644 index 83fabc569..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsDNS2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt deleted file mode 100644 index 07fcc37a5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt deleted file mode 100644 index 2001bfa39..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt deleted file mode 100644 index e3723693b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsRFC822CA3Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI1CACert.crt deleted file mode 100644 index d0dbca5ee..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI2CACert.crt deleted file mode 100644 index bf988e6d6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/nameConstraintsURI2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt deleted file mode 100644 index 6855fbe46..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsAttributeCertsCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsCACertsCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsCACertsCACert.crt deleted file mode 100644 index 055d8aace..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsCACertsCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt deleted file mode 100644 index f8fc85e7a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlyContainsUserCertsCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt deleted file mode 100644 index 26ee389ad..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt deleted file mode 100644 index 3c444e1e6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt deleted file mode 100644 index 3b0969977..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA3Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt deleted file mode 100644 index 4889d5ce8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/onlySomeReasonsCA4Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0CACert.crt deleted file mode 100644 index 73c9433c4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt deleted file mode 100644 index f66228e11..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt deleted file mode 100644 index c5cdea3df..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCA2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCACert.crt deleted file mode 100644 index c51de222e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint0subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1CACert.crt deleted file mode 100644 index b1da15b82..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt deleted file mode 100644 index 02aeffa91..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt deleted file mode 100644 index 0a94f5f4f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1SelfIssuedsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1subCACert.crt deleted file mode 100644 index a84fb534a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint1subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6CACert.crt deleted file mode 100644 index d89052bd9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt deleted file mode 100644 index 4b220169b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA0Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt deleted file mode 100644 index b25ba34cb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA1Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt deleted file mode 100644 index ca87ee8bf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subCA4Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt deleted file mode 100644 index 2b88eb6d7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA00Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt deleted file mode 100644 index de511c4d9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA11Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt deleted file mode 100644 index c6e6096b0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubCA41Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt deleted file mode 100644 index 9c9dc4e15..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA11XCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt deleted file mode 100644 index 2729261cc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pathLenConstraint6subsubsubCA41XCert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt deleted file mode 100644 index 1a79b8158..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/pre2000CRLnextUpdateCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt deleted file mode 100644 index 0eb93be3f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt deleted file mode 100644 index f96129ec7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt deleted file mode 100644 index c0d9b49c0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt deleted file mode 100644 index 497d53a8b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy0subsubsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt deleted file mode 100644 index b3406b122..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt deleted file mode 100644 index 1544bbb75..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt deleted file mode 100644 index 0166d99f3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt deleted file mode 100644 index 8018f6afa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy10subsubsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt deleted file mode 100644 index 7ec4e4944..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt deleted file mode 100644 index 285a05c72..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt deleted file mode 100644 index f29b37f27..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt deleted file mode 100644 index a1f20a3a5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy2subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt deleted file mode 100644 index c2a9c464f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt deleted file mode 100644 index 9f9ea5bff..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt deleted file mode 100644 index 3d0f27852..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt deleted file mode 100644 index a14f9d474..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy4subsubsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt deleted file mode 100644 index ef2010b4d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt deleted file mode 100644 index 99d31d162..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt deleted file mode 100644 index 99afa4d14..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt deleted file mode 100644 index 9abe48ddd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy5subsubsubCACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt deleted file mode 100644 index cac6bb62e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7CACert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt deleted file mode 100644 index d55d884c5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subCARE2Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt deleted file mode 100644 index 1c9aec850..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt b/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt deleted file mode 100644 index ecd5f45a4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl deleted file mode 100644 index d4871b55f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLIssuerNameCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLSignatureCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLSignatureCACRL.crl deleted file mode 100644 index b1658c34f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadCRLSignatureCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadSignedCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BadSignedCACRL.crl deleted file mode 100644 index e0ded9b4c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadSignedCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotAfterDateCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotAfterDateCACRL.crl deleted file mode 100644 index 1ec2a0e81..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotAfterDateCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl deleted file mode 100644 index 1a96d0f76..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BadnotBeforeDateCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl deleted file mode 100644 index fed48645b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl deleted file mode 100644 index 053471f83..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl deleted file mode 100644 index 7370ed295..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedNewKeyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl deleted file mode 100644 index dee61837e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl deleted file mode 100644 index 4e7e0145b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/DSACACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/DSACACRL.crl deleted file mode 100644 index 46463c8a2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/DSACACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl deleted file mode 100644 index 5bf724527..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/DSAParametersInheritedCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl deleted file mode 100644 index 40387d3cf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/GeneralizedTimeCRLnextUpdateCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodCACRL.crl deleted file mode 100644 index 2fdc3cc1a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCACRL.crl deleted file mode 100644 index 963d7033b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl deleted file mode 100644 index 9c5d1b278..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/LongSerialNumberCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/LongSerialNumberCACRL.crl deleted file mode 100644 index 55f39b844..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/LongSerialNumberCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/Mapping1to2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/Mapping1to2CACRL.crl deleted file mode 100644 index 36e07e1e3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/Mapping1to2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl deleted file mode 100644 index 025b6bbba..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingFromanyPolicyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl deleted file mode 100644 index 99f12535d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/MappingToanyPolicyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl deleted file mode 100644 index f91729cc1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/MissingbasicConstraintsCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/NameOrderCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/NameOrderCACRL.crl deleted file mode 100644 index 4cd201583..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/NameOrderCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl deleted file mode 100644 index 99514d7a4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/NegativeSerialNumberCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/NoPoliciesCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/NoPoliciesCACRL.crl deleted file mode 100644 index b77586bc6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/NoPoliciesCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl deleted file mode 100644 index c7d5b1d63..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/NoissuingDistributionPointCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl deleted file mode 100644 index f121dff3d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/OldCRLnextUpdateCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3CACRL.crl deleted file mode 100644 index 451d1986e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl deleted file mode 100644 index b063e6bce..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl deleted file mode 100644 index 6dcdf05d9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P12Mapping1to3subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234CACRL.crl deleted file mode 100644 index 70febec74..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl deleted file mode 100644 index 8ee779929..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1Mapping1to234subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl deleted file mode 100644 index 8cf52dc8f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/P1anyPolicyMapping1to2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl deleted file mode 100644 index 51482debf..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PanyPolicyMapping1to2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234CACRL.crl deleted file mode 100644 index 48c6b1a6f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl deleted file mode 100644 index aa8426312..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subCAP123CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl deleted file mode 100644 index ae1a01941..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP1234subsubCAP123P12CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123CACRL.crl deleted file mode 100644 index deb37062e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl deleted file mode 100644 index ecd65f87b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subCAP12CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl deleted file mode 100644 index 51f09f6d7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP12P1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl deleted file mode 100644 index 5d6fb365d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubCAP2P2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl deleted file mode 100644 index 07908f67d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12CACRL.crl deleted file mode 100644 index 5b090b05b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl deleted file mode 100644 index d2f29b792..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subCAP1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl deleted file mode 100644 index bd4cf7576..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP12subsubCAP1P2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl deleted file mode 100644 index 774bc7325..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCACRL.crl deleted file mode 100644 index 7d7ba76b0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP2subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP3CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP3CACRL.crl deleted file mode 100644 index 9d81c6da9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/PoliciesP3CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl deleted file mode 100644 index 63ed6556f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280MandatoryAttributeTypesCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl deleted file mode 100644 index e088ab148..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/RFC3280OptionalAttributeTypesCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/RevokedsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/RevokedsubCACRL.crl deleted file mode 100644 index c77ffa358..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/RevokedsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl deleted file mode 100644 index c7f5c7acd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl deleted file mode 100644 index a85f99f7c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl deleted file mode 100644 index 4d159dd45..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/SeparateCertificateandCRLKeysCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/TrustAnchorRootCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/TrustAnchorRootCRL.crl deleted file mode 100644 index 3ba3df615..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/TrustAnchorRootCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCABadCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCABadCRL.crl deleted file mode 100644 index fba92fae4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCABadCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl deleted file mode 100644 index fcb7488a6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/TwoCRLsCAGoodCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/UIDCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/UIDCACRL.crl deleted file mode 100644 index 0da091a66..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/UIDCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl deleted file mode 100644 index 9ee2a2354..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringCaseInsensitiveMatchCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl deleted file mode 100644 index 3d7de0022..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/UTF8StringEncodedNamesCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl deleted file mode 100644 index efbdae412..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLEntryExtensionCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl deleted file mode 100644 index de7111393..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/UnknownCRLExtensionCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/WrongCRLCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/WrongCRLCACRL.crl deleted file mode 100644 index 3ba3df615..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/WrongCRLCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/anyPolicyCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/anyPolicyCACRL.crl deleted file mode 100644 index 8506ea112..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/anyPolicyCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl deleted file mode 100644 index 15a7e3d10..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsCriticalcAFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl deleted file mode 100644 index 9e5ac6215..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl deleted file mode 100644 index dfbbec9f8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/basicConstraintsNotCriticalcAFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1CRL.crl deleted file mode 100644 index fb562aaa6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl deleted file mode 100644 index 9a76c5cf1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA1deltaCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2CRL.crl deleted file mode 100644 index 36d66fe6d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl deleted file mode 100644 index 713d54a4c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA2deltaCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3CRL.crl deleted file mode 100644 index 4527c9a8f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl deleted file mode 100644 index bfb3c1d63..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLCA3deltaCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl deleted file mode 100644 index b9a591e1a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/deltaCRLIndicatorNoBaseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint1CACRL.crl deleted file mode 100644 index 1be74de20..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint2CACRL.crl deleted file mode 100644 index 5bdc14914..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/distributionPoint2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA1CRL.crl deleted file mode 100644 index 6eed456cb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3CRL.crl deleted file mode 100644 index 02be17931..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl deleted file mode 100644 index 166a457ea..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA3cRLIssuerCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl deleted file mode 100644 index b870a7fa5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA4cRLIssuerCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA5CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA5CRL.crl deleted file mode 100644 index 25c2e8145..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/indirectCRLCA5CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl deleted file mode 100644 index 301f7456a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy0CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl deleted file mode 100644 index ab1364573..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl deleted file mode 100644 index 46c0e0c00..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl deleted file mode 100644 index 1ee4b77ea..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl deleted file mode 100644 index af4fff09e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subCAIAP5CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl deleted file mode 100644 index 3b6b35c33..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy1subsubCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl deleted file mode 100644 index 07f5e3de2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl deleted file mode 100644 index 373bdebbe..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl deleted file mode 100644 index e56b61c9a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitAnyPolicy5subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl deleted file mode 100644 index 1ebad7097..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl deleted file mode 100644 index e3f4f9712..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping0subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl deleted file mode 100644 index 5291d66d1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl deleted file mode 100644 index 9c155a976..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl deleted file mode 100644 index dc7fe6836..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl deleted file mode 100644 index 9fcab42c6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl deleted file mode 100644 index ebcdc5bb7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl deleted file mode 100644 index 36c2b7918..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl deleted file mode 100644 index 1fa7ac98f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl deleted file mode 100644 index 3b1ac99ff..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping1P1subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl deleted file mode 100644 index a19deb75f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl deleted file mode 100644 index c3ef69116..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl deleted file mode 100644 index 45df218ac..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl deleted file mode 100644 index 3ca93d4d0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/inhibitPolicyMapping5subsubsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl deleted file mode 100644 index 6f02f8089..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalcRLSignFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl deleted file mode 100644 index 4abda7660..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl deleted file mode 100644 index 358e4e6a0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl deleted file mode 100644 index 707c73c2c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl deleted file mode 100644 index 5e817b640..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl deleted file mode 100644 index 10c7389ed..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl deleted file mode 100644 index 9d33b7c9f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl deleted file mode 100644 index 7a3949e5a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl deleted file mode 100644 index 22aa2f9b1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN1subCA3CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl deleted file mode 100644 index da6fe6f80..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl deleted file mode 100644 index 83fd3a5e1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl deleted file mode 100644 index 8c6fb506d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl deleted file mode 100644 index 1797663c3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN3subCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl deleted file mode 100644 index ae9f73a86..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN4CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl deleted file mode 100644 index 46dbb8812..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDN5CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl deleted file mode 100644 index 94fa45e45..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl deleted file mode 100644 index 214093179..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsDNS2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl deleted file mode 100644 index a4b047314..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl deleted file mode 100644 index 2042f6fc8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl deleted file mode 100644 index 8f207e51e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsRFC822CA3CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl deleted file mode 100644 index b19c9de77..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl deleted file mode 100644 index 3dbc011d4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/nameConstraintsURI2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl deleted file mode 100644 index 0993754a2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsAttributeCertsCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl deleted file mode 100644 index 621dfa9bc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsCACertsCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl deleted file mode 100644 index 1aee7c2ba..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlyContainsUserCertsCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl deleted file mode 100644 index 3d5ff65da..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1compromiseCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl deleted file mode 100644 index 83cce82f0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA1otherreasonsCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl deleted file mode 100644 index eb408f271..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL1.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl deleted file mode 100644 index e333d2650..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA2CRL2.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl deleted file mode 100644 index 6837068b2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3compromiseCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl deleted file mode 100644 index ef4ee3e05..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA3otherreasonsCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl deleted file mode 100644 index 45fcc0bbd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4compromiseCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl deleted file mode 100644 index 0fca68195..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/onlySomeReasonsCA4otherreasonsCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0CACRL.crl deleted file mode 100644 index 1e52e650f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl deleted file mode 100644 index 69488c7ba..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCA2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl deleted file mode 100644 index 00295797c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint0subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1CACRL.crl deleted file mode 100644 index 9c069801e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl deleted file mode 100644 index 61d007640..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint1subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6CACRL.crl deleted file mode 100644 index 779c2b785..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl deleted file mode 100644 index 30fee13e3..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA0CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl deleted file mode 100644 index 71eafbb42..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA1CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl deleted file mode 100644 index 8d14b0c8a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subCA4CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl deleted file mode 100644 index 24ecdde93..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA00CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl deleted file mode 100644 index 51b4ab70e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA11CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl deleted file mode 100644 index 9e4e18181..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubCA41CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl deleted file mode 100644 index 5891e6308..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA11XCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl deleted file mode 100644 index 217e5e57e..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pathLenConstraint6subsubsubCA41XCRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl deleted file mode 100644 index 6315186f4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/pre2000CRLnextUpdateCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl deleted file mode 100644 index 5ac2d2764..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl deleted file mode 100644 index 569ff3e26..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl deleted file mode 100644 index c614cbb1d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl deleted file mode 100644 index 910c035ff..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy0subsubsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl deleted file mode 100644 index 7bfbf7634..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl deleted file mode 100644 index bc4845d41..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl deleted file mode 100644 index 802a6520d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl deleted file mode 100644 index 6f84d3972..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy10subsubsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl deleted file mode 100644 index e14cdaa0b..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl deleted file mode 100644 index 883091750..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy2subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl deleted file mode 100644 index c6817a34a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl deleted file mode 100644 index d1f5ad1e4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl deleted file mode 100644 index 7203b19af..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl deleted file mode 100644 index 467e00472..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy4subsubsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl deleted file mode 100644 index 96848db79..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl deleted file mode 100644 index 8bb7c1dbb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl deleted file mode 100644 index 143dab515..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl deleted file mode 100644 index 8a9c8b363..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy5subsubsubCACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl deleted file mode 100644 index 43870fb63..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7CACRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl deleted file mode 100644 index 48c70c0fa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subCARE2CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl deleted file mode 100644 index 3808af657..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl b/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl deleted file mode 100644 index 4ed5b0a13..000000000 Binary files a/libraries/spongycastle/core/src/test/data/PKITS/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/cmp/sample_cr.der b/libraries/spongycastle/core/src/test/data/cmp/sample_cr.der deleted file mode 100644 index 6322bee05..000000000 Binary files a/libraries/spongycastle/core/src/test/data/cmp/sample_cr.der and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/README.txt b/libraries/spongycastle/core/src/test/data/openpgp/dsa/README.txt deleted file mode 100644 index 9abffbf27..000000000 --- a/libraries/spongycastle/core/src/test/data/openpgp/dsa/README.txt +++ /dev/null @@ -1,36 +0,0 @@ -This archive contains material to help verify interoperability to the -OpenPGP DSA2 design as implemented in GnuPG. - -Keys are located in the keys directory. Included are: - - 1024 bits, 160 bit q size (i.e. regular old DSA) - 2048 bits, 224 bit q size - 3072 bits, 256 bit q size - 7680 bits, 384 bit q size -15360 bits, 512 bit q size - -All secret keys have the passphrase "test". - -Note the inclusion of 7680/384 and 15360/512 keys. They're large, -inconvenient and absurdly slow. GnuPG will accept any size key, but -will not generate DSA keys over 3072 bits. I include these keys -mainly for be-liberal-in-what-you-accept testing. - -There are are signatures issued by these keys in the sigs directory. -The filenames indicate the key used to make the signature, and the -number of bits of the hash. In the case of the 1024-bit DSA key -(160-bit q size), there are 5 signatures using different hashes. This -is to demonstrate hash truncation to fit in the 160-bit hash size of -that key. - -File Key size Hash ----------------------- ---------- ------- -dsa-1024-160-sign.gpg 1024 bits SHA-1 -dsa-1024-224-sign.gpg 1024 bits SHA-224 (truncated to 160 bits) -dsa-1024-256-sign.gpg 1024 bits SHA-256 (truncated to 160 bits) -dsa-1024-384-sign.gpg 1024 bits SHA-384 (truncated to 160 bits) -dsa-1024-512-sign.gpg 1024 bits SHA-512 (truncated to 160 bits) -dsa-2048-224-sign.gpg 2048 bits SHA-224 -dsa-3072-256-sign.gpg 3072 bits SHA-256 -dsa-7680-384-sign.gpg 7680 bits SHA-384 -dsa-15360-512-sign.gpg 15360 bits SHA-512 diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.pub b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.pub deleted file mode 100644 index 3fec64eb8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.pub and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.sec b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.sec deleted file mode 100644 index 8ee1179a8..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-1024-160.sec and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.pub b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.pub deleted file mode 100644 index 4f931c657..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.pub and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.sec b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.sec deleted file mode 100644 index 3c204bff2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-15360-512.sec and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.pub b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.pub deleted file mode 100644 index 1c8dc6984..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.pub and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.sec b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.sec deleted file mode 100644 index 776edfcb5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-2048-224.sec and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.pub b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.pub deleted file mode 100644 index 307205cf2..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.pub and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.sec b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.sec deleted file mode 100644 index 66008cb29..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-3072-256.sec and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.pub b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.pub deleted file mode 100644 index 6c888a44d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.pub and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.sec b/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.sec deleted file mode 100644 index b57f5d9ea..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/keys/DSA-7680-384.sec and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg deleted file mode 100644 index c90658540..000000000 --- a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-160-sign.gpg +++ /dev/null @@ -1 +0,0 @@ -$xp=)O'gT<ꑚ_(ba~IbSZ/겠պe, (p̊=sK \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg deleted file mode 100644 index 8485bd335..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-224-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg deleted file mode 100644 index bebe1fdbb..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-256-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg deleted file mode 100644 index f84c3035d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-384-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg deleted file mode 100644 index f700ce473..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-1024-512-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg deleted file mode 100644 index bbdb44c2a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-15360-512-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg deleted file mode 100644 index d64c8176f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-2048-224-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg deleted file mode 100644 index 2da027129..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-3072-256-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg b/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg deleted file mode 100644 index f313c6aec..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/dsa/sigs/dsa-7680-384-sign.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_cyr.txt b/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_cyr.txt deleted file mode 100644 index 702c84a18..000000000 --- a/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_cyr.txt +++ /dev/null @@ -1 +0,0 @@ -ТестЯ \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_for_test.txt b/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_for_test.txt deleted file mode 100644 index 157d99dad..000000000 --- a/libraries/spongycastle/core/src/test/data/openpgp/unicode/passphrase_for_test.txt +++ /dev/null @@ -1 +0,0 @@ -Hndle \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/openpgp/unicode/secring.gpg b/libraries/spongycastle/core/src/test/data/openpgp/unicode/secring.gpg deleted file mode 100644 index fec9dd5b1..000000000 Binary files a/libraries/spongycastle/core/src/test/data/openpgp/unicode/secring.gpg and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/openpgp/unicode/test.asc b/libraries/spongycastle/core/src/test/data/openpgp/unicode/test.asc deleted file mode 100644 index 73a3e7f58..000000000 --- a/libraries/spongycastle/core/src/test/data/openpgp/unicode/test.asc +++ /dev/null @@ -1,33 +0,0 @@ ------BEGIN PGP PRIVATE KEY BLOCK----- -Version: GnuPG v2.0.17 (MingW32) - -lQO+BFBcYqwBCAC53iWjgnHOw5eo2N+OWhyz17AnEh45aRtvs/U2cIU+aCM/VXx5 -ig7GN6RcDirgnR/CTAwtdy6V/TFJ9Ej/hKu8hGsL/HCVegzs6hQo3rqXSLaAuH5i -prdBQ0fFzCB08kbr1VkP9TyTGU6xfoEiDpk33TCbqM5Cx5+7gM5uuquTxE1SkyqV -hd7M2p6LhvhtlHo5yx/mfPQhBCuRd/HtAXQux+UwFEeVh+1rxcKfygEeMHHkNg3F -LJBLJW95XxTIxuScJADKhrFPjwtzVWh/chYOoK61O5rvbyRE5epHEOQYCD5X4+IN -G22eInPaVkx9SS93Wm9UcjWEwfRY/kLDp3TjABEBAAH+AwMCSD3h6GM3cH63FXiH -nknGYv5N7GZlI+F4m3k2+MbK/OcU2sv98Fa4b78Z5ONLH3oFwIm7NFa7fobmIHyv -Xmcx9W06CrxpLUroqoRtEFGFrmap6yqAtnqDwtBqk6sar8QSH5HKX4xvBd1AOndk -Htwk3cD5uN/VaIPEwgOlC+LpvQLQpMTNRpXn2NEvsj6RIEkyWxx/N7+w0B+pfeOY -dhp8ra6kNs+1N5joMlA7tdBL9pMIiyHVfd077N2A/Fc7ONhDdIJBh9u72nTUa63H -+2jE0LzwFQQrsnz2PRvyWa4XmXVFHOg1DRuoClZ1HXZseOAYtY4u9v+62I3SjVvG -fVALDVMjwlw1omRupsq5Mn9kuvUcpmc+fcqNJIViO/tm0mFV6Brb802oq5xkstEz -iEF38cpJJe2WcVwABEEd6T7SZTgzakRMaQAWZ6Avb/yRzBtQ0Nq1mpn22EYHphNY -JJtNJ3qdtIIV0TR6X034px41Kp97ZFwVPMWsR0NeM+qOQ9w3vixFt9TGdBI8rOYh -8BSjaglz7FG8svOTfGp/Ja5nLgf3eO4hidQOQkNcRRZ9x+d/ajmZtCm6PBIfTfvH -R9E7sMjt7CY5QAgqMK4ZwrK9BMrHlk5PLMF0/db53KTgAQcfO/skubU5ko/eWMFX -gkPxAfCIbN8XP8DjzynxG7V80rngwtcOXLnWOfTce2fDiO1BGCnyu/S1JjRfCA3Y -IuS5ZVpoIdssPrfXrMEKT2CP9w4R+ERsd869+bYAckaXZ6V7D6rjLYBn4LXCElmJ -WUvevOIDRIxAUYoFuTY6jnAkQyu3/2bDwXOcGJQ3GDxMojXr8uejyeAW8NUa634C -hJ8kuFxMXfNVhR9JnodSwe20QsFy7IUnVXergAPEVMSBhsDqFCnWuvgC8pb2dbh+ -u7QgdGVzdCB1c2VyICh0ZXN0KSA8dGVzdEB0ZXN0LmNvbT6JATgEEwECACIFAlBc -YqwCGw8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOyHJy78uYbSqWQH/11k -itAUrb6aUKHVyvO0r6NEbQ6TSJCstfJ6N+Euhs14od7dWgPWfkaYh9BE0j6xTrAZ -CxP8v0Swgha7b2AVNqxf5jxAJ7xNGNY/jdzeiB9Cp5ShrFGHFGmzCYUSe2hvyBX4 -9cl9W6nKSflG+lFfcmp2wcynk/aRO0H5ieXw3eD+3SB9snAWEZzDHfUj2ifTbzPD -80Yd2mWz9pe1xyqxgnWQkAOIWUxWpECFz8wjA9U3257gEVgfN21Ng/vaVbxa1R4Z -2A+bLjt0jgdXw0XX69FDolko3cWuiWfJNbxsrfSCRYwFUxNVxK9rtm5padL/kZ8W -l9icSUSiIoEfXj1iDh4= -=2Azi ------END PGP PRIVATE KEY BLOCK----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/attachonly.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/attachonly.eml deleted file mode 100644 index 9ce23f790..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/attachonly.eml +++ /dev/null @@ -1,374 +0,0 @@ -Date: Sun, 22 Feb 2009 16:27:30 +0100 -From: foo@bar.org -User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) -MIME-Version: 1.0 -To: foo@bar.org -Subject: testfile.doc -X-Enigmail-Version: 0.95.7 -Content-Type: application/msword; - name="testfile.doc" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; - filename="testfile.doc" - -0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAIQAAAAAA -AAAAEAAAIwAAAAEAAAD+////AAAAACAAAAD///////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -///////////////////////////////////spcEAOSAJBAAA8BK/AAAAAAAAEAAAAAAABAAA -BQQAAA4AYmpiav3P/c8AAAAAAAAAAAAAAAAAAAAAAAAHBBYALgwAAJ+lAACfpQAABQAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAD//w8A -AAAAAAAAAAAAAAAAAAAAAGwAAAAAALIAAAAAAAAAsgAAALIAAAAAAAAAsgAAAAAAAACyAAAA -AAAAALIAAAAAAAAAsgAAABQAAAAAAAAAAAAAAMYAAAAAAAAA4AAAAAAAAADgAAAAAAAAAOAA -AAAAAAAA4AAAAAwAAADsAAAADAAAAMYAAAAAAAAAgQEAALYAAAAEAQAAAAAAAAQBAAAAAAAA -BAEAAAAAAAAEAQAAAAAAAAQBAAAAAAAABAEAAAAAAAAEAQAAAAAAAAQBAAAAAAAAJAEAAAIA -AAAmAQAAAAAAACYBAAAAAAAAJgEAAAAAAAAmAQAAAAAAACYBAAAAAAAAJgEAAAAAAAA3AgAA -IAIAAFcEAABAAAAAJgEAABUAAAAAAAAAAAAAAAAAAAAAAAAAsgAAAAAAAAAEAQAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAEAQAAAAAAAAQBAAAAAAAABAEAAAAAAAAEAQAAAAAAACYBAAAAAAAA -JAEAAAAAAACyAAAAAAAAALIAAAAAAAAABAEAAAAAAAAAAAAAAAAAAAQBAAAAAAAAOwEAABYA -AAAkAQAAAAAAACQBAAAAAAAAJAEAAAAAAAAEAQAAEAAAALIAAAAAAAAABAEAAAAAAACyAAAA -AAAAAAQBAAAAAAAAJAEAAAAAAAAAAAAAAAAAACQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAAAAAAkAQAAAAAAACQBAAAAAAAA -JAEAAAAAAAAAAAAAAAAAACQBAAAAAAAAsgAAAAAAAACyAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAEAAAAAAAAEAQAA -AAAAAPgAAAAMAAAAMPa/DAKVyQHGAAAAGgAAAOAAAAAAAAAAFAEAAAAAAAAkAQAAAAAAAAAA -AAAAAAAAJAEAAAAAAABRAQAAMAAAAIEBAAAAAAAAJAEAAAAAAACXBAAAAAAAABQBAAAQAAAA -lwQAAAAAAAAkAQAAAAAAACQBAAAAAAAAxgAAAAAAAADGAAAAAAAAALIAAAAAAAAAsgAAAAAA -AACyAAAAAAAAALIAAAAAAAAAAgDZAAAAVGVzdA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA -BQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAAAFBAAA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAQAAAUE -AAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAIBAQEsADGQaAEfsIIuILDGQSGwiQUisIkFI5CJBSSQbgQlsAAA -F7DEAhiwxAIMkMQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAFAAPAAoAAQBpAA8AAwAAAAAAAAAAADwAAEDx/wIAPAAMAAgA -UwB0AGEAbgBkAGEAcgBkAAAAAgAAABgAQ0oYAF9IAQRhShgAbUgHBHNIBwR0SAcEAAAAAAAA -AAAAAAAAAAAAAAAAQgBBQPL/oQBCAAwAGQBBAGIAcwBhAHQAegAtAFMAdABhAG4AZABhAHIA -ZABzAGMAaAByAGkAZgB0AGEAcgB0AAAAAAAAAAAAAAAAAAAAAAAFAAAABAAADAAAAAD///// -AAAAAAcAAACaQAAAADAAAAAAAAAAgAAAAIAABAAABQQAAAMAAAAABAAABQQAAAQAAAAABAAA -BQQAAAUAAAAAAAAABAAAAAcAAAAEAAcAAAAAAAQAAAAHAAAABQAHAP9AAhAAAAAAAAAABQAA -AEAAAAgAQAAA//8BAAAABwBVAG4AawBuAG8AdwBuAP//AQAIAAAAAAAAAAAAAAD//wEAAAAA -AP//AAACAP//AAAAAP//AAACAP//AAAAAAMAAABHFpABAAACAgYDBQQFAgMEh3oAIAAAAIAI -AAAAAAAAAP8BAAAAAAAAVABpAG0AZQBzACAATgBlAHcAIABSAG8AbQBhAG4AAAA1FpABAgAF -BQECAQcGAgUHAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAUwB5AG0AYgBvAGwAAAAzJpABAAAC -CwYEAgICAgIEh3oAIAAAAIAIAAAAAAAAAP8BAAAAAAAAQQByAGkAYQBsAAAAIgAEADEIiBgA -8MQCAACpAQAAAAAatNIGAAAAAAAAAAABAAAAAAAAAAAABAAAAAEAAQAAAAQAAxABAAAAAAAA -AAAAAAABAAEAAAABAAAAAAAAAAAAAPAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAIkFiQW0ALQAgYESMAAAEAAZAGQAAAAZAAAABAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC -AAAAAAAAAAAAAQAAAADwEAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//EgAA -AAAAAAAAAAAAAAAAAAsASQBsAGwAdQBtAGkAbgBhAHQAaQBlAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAP7/AAAFAQIAAAAAAAAAAAAAAAAAAAAAAAEAAADghZ/y+U9oEKuRCAArJ7PZ -MAAAACwBAAAOAAAAAQAAAHgAAAACAAAAgAAAAAMAAACMAAAABAAAAJgAAAAFAAAArAAAAAcA -AAC4AAAACAAAAMwAAAAJAAAA2AAAABIAAADkAAAADAAAAAABAAAOAAAADAEAAA8AAAAUAQAA -EAAAABwBAAATAAAAJAEAAAIAAADkBAAAHgAAAAEAAAAAAHMAHgAAAAEAAAAAAHMAHgAAAAwA -AABJbGx1bWluYXRpZQAeAAAAAQAAAABsbHUeAAAACwAAAE5vcm1hbC5kb3QAAB4AAAABAAAA -AG9ybR4AAAACAAAAMQBybR4AAAATAAAATWljcm9zb2Z0IFdvcmQgOS4wAABAAAAAAHR53QGV -yQEDAAAAAQAAAAMAAAAAAAAAAwAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAD+/wAABQECAAAAAAAAAAAAAAAAAAAAAAABAAAAAtXN1ZwuGxCTlwgAKyz5rjAAAADoAAAA -DAAAAAEAAABoAAAADwAAAHAAAAAFAAAAfAAAAAYAAACEAAAAEQAAAIwAAAAXAAAAlAAAAAsA -AACcAAAAEAAAAKQAAAATAAAArAAAABYAAAC0AAAADQAAALwAAAAMAAAAyQAAAAIAAADkBAAA -HgAAAAIAAAAgAAAAAwAAAAEAAAADAAAAAQAAAAMAAAAEAAAAAwAAAPwKCQALAAAAAAAAAAsA -AAAAAAAACwAAAAAAAAALAAAAAAAAAB4QAAABAAAAAQAAAAAMEAAAAgAAAB4AAAAGAAAAVGl0 -ZWwAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIA -AAADAAAABAAAAAUAAAAGAAAABwAAAP7///8JAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAA -/v///xEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAD+////GQAAABoAAAAbAAAAHAAAAB0A -AAAeAAAAHwAAAP7////9////IgAAAP7////+/////v////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////9SAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAf//////////AwAAAAYJAgAAAAAA -wAAAAAAAAEYAAAAAAAAAAAAAAAAgk8kMApXJASQAAACAAAAAAAAAADEAVABhAGIAbABlAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAIA -////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAQ -AAAAAAAAVwBvAHIAZABEAG8AYwB1AG0AZQBuAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAABoAAgEFAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0A -YQB0AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAQIAAAAEAAAA/////wAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAAAAAUARABvAGMA -dQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAA -AAA4AAIB////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -GAAAAAAQAAAAAAAAAQBDAG8AbQBwAE8AYgBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAgEBAAAABgAAAP////8AAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAABPAGIAagBlAGMAdABQAG8AbwBsAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgABAP////////// -/////wAAAAAAAAAAAAAAAAAAAAAAAAAAIJPJDAKVyQEgk8kMApXJAQAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAQAAAP7///////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////8BAP7/AwoAAP// -//8GCQIAAAAAAMAAAAAAAABGGAAAAE1pY3Jvc29mdCBXb3JkLURva3VtZW50AAoAAABNU1dv -cmREb2MAEAAAAFdvcmQuRG9jdW1lbnQuOAD0ObJxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAA== \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/basicAS2.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/basicAS2.message deleted file mode 100644 index b4e52c848..000000000 Binary files a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/basicAS2.message and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/brokenEnv.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/brokenEnv.message deleted file mode 100644 index ccf730689..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/brokenEnv.message +++ /dev/null @@ -1,33 +0,0 @@ -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIAwggP3MIID -YKADAgECAgEHMA0GCSqGSIb3DQEBBAUAMIGoMQswCQYDVQQGEwJHQjEWMBQGA1UECBMNR3Vlcm5z -ZXkgQy5JLjEWMBQGA1UEBxMNU3QgUGV0ZXIgUG9ydDEsMCoGA1UEChMjQ2hhbm5lbCBJc2xhbmRz -IFN0b2NrIEV4Y2hhbmdlLCBMQkcxFjAUBgNVBAsTDUlUIERlcGFydG1lbnQxIzAhBgNVBAMTGkNJ -U1ggQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTExMDQyODEyNDUzMloXDTIxMDQyNTEyNDUzMlow -gaExCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1HdWVybnNleSBDLkkuMSwwKgYDVQQKEyNDaGFubmVs -IElzbGFuZHMgU3RvY2sgRXhjaGFuZ2UsIExCRzEWMBQGA1UECxMNSVQgRGVwYXJ0bWVudDERMA8G -A1UEAxMIY2lzeC5jb20xITAfBgkqhkiG9w0BCQEWEmNpc3hhZG1pbkBjaXN4LmNvbTCBnzANBgkq -hkiG9w0BAQEFAAOBjQAwgYkCgYEA4uONPbLSMV7EAisV+Gjcwt/M2pIycT5YJNSvJM9OKoBq2zY3 -uXKLHVAo66azMSj+SkEctcT6oIKoGa5UxJxfRU+Ofi6ncn/aLL9ktOsqGPdJHmasXQuqor/WA6vg -UNUjphpCnwdeTteEIHbeITdZIpxJHF2cRKrD8RxppvqYDqcCAwEAAaOCATQwggEwMAkGA1UdEwQC -MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQW -BBRuc4NA/ZPwo7PhqJL3obdMXoacNjCB1QYDVR0jBIHNMIHKgBQiC3CXV10nqe2CmJZc9k9i+Kx9 -DaGBrqSBqzCBqDELMAkGA1UEBhMCR0IxFjAUBgNVBAgTDUd1ZXJuc2V5IEMuSS4xFjAUBgNVBAcT -DVN0IFBldGVyIFBvcnQxLDAqBgNVBAoTI0NoYW5uZWwgSXNsYW5kcyBTdG9jayBFeGNoYW5nZSwg -TEJHMRYwFAYDVQQLEw1JVCBEZXBhcnRtZW50MSMwIQYDVQQDExpDSVNYIENlcnRpZmljYXRlIEF1 -dGhvcml0eYIBADANBgkqhkiG9w0BAQQFAAOBgQDbA6qbz79aqrFl9jmVXFSutxUYuwweX61zRNLp -vXWmXaGbUUcxSbQXoDJKrSr3vaDLNeqqLB/KjtpS8mestF4iQ7oT2bUjKSLeyrVDml/2sKS4oC8F -lxYSnps6dAlph91DrayJ8c+oi7yD5uR5RUrwJaqwZVaAcCaC1whjoWt2tQAAMYIB6zCCAecCAQEw -ga4wgagxCzAJBgNVBAYTAkdCMRYwFAYDVQQIEw1HdWVybnNleSBDLkkuMRYwFAYDVQQHEw1TdCBQ -ZXRlciBQb3J0MSwwKgYDVQQKEyNDaGFubmVsIElzbGFuZHMgU3RvY2sgRXhjaGFuZ2UsIExCRzEW -MBQGA1UECxMNSVQgRGVwYXJ0bWVudDEjMCEGA1UEAxMaQ0lTWCBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkCAQcwCQYFKw4DAhoFAKCBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ -BTEPFw0xMTA1MDYxMzI0MjNaMCMGCSqGSIb3DQEJBDEWBBSbT4isXzF6feE9PkJwETxWzE1MrTA0 -BgkqhkiG9w0BCQ8xJzAlMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAHBgUrDgMCBzANBgkq -hkiG9w0BAQEFAASBgKOxZ1YVjPcCD4QEVRxjym9+8NBJrf1ZuIU1XfBmTewQDT5ZdGlfISkg5AJq -hlkYi7yTj9nbj1lZBluaVZjOfbguiWaOXcZRxC1MxrzlCaKOEqq/6ZiZwEV1TCrbM8ooTGrItnrR -grXnenuy14P+N/QBlfYUyJIEv5eP+xAeBYnuAAAAAAAA \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/cert.pem b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/cert.pem deleted file mode 100644 index 13d908ba5..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/cert.pem +++ /dev/null @@ -1,73 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 9 (0x9) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=AT, ST=Austria, L=Vienna, O=Tiani Spirit GmbH, OU=Demo Environment, CN=Test CA/emailAddress=massimiliano.masi@tiani-spirit.com - Validity - Not Before: Oct 30 14:57:38 2012 GMT - Not After : Apr 5 14:57:38 2192 GMT - Subject: C=AT, ST=Austria, O=Tiani Spirit GmbH, OU=Test Environment, CN=massi@direct.tiani-spirit.net/emailAddress=massi@direct.tiani-spirit.net - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c0:be:a0:14:7e:2a:5a:32:7d:b2:6c:4d:01:d2: - ae:92:4a:1b:26:00:9a:78:99:bd:e6:17:38:75:a2: - ab:25:63:0c:19:e6:87:75:cb:16:99:84:97:30:c8: - ca:fe:35:ec:3f:68:c5:7a:2b:22:34:ed:7b:79:c0: - ed:7d:66:94:ba:6e:c7:d4:f1:0c:53:76:63:cf:ec: - 9a:f5:bd:4d:97:19:4d:88:ab:c9:1d:6d:84:95:75: - ed:7f:f4:43:57:19:7c:b3:c5:2e:4e:79:38:e7:9e: - d4:24:ed:eb:b8:89:d4:0e:13:8c:04:c4:2d:f0:e2: - ee:1f:92:be:30:44:11:6d:d1 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Comment: - OpenSSL Generated Certificate - X509v3 Subject Key Identifier: - 67:2B:7D:3B:53:94:55:6F:A8:54:C9:E9:45:E0:F8:39:BA:DB:E7:76 - X509v3 Authority Key Identifier: - keyid:64:C2:28:6E:51:39:46:A4:D0:F1:AE:76:45:6D:6F:38:15:78:FB:DA - - Signature Algorithm: sha1WithRSAEncryption - 5b:05:41:59:db:b6:7b:a8:ce:73:7f:ce:23:d5:79:5e:90:a1: - 65:ba:b9:69:c5:92:80:dd:4d:58:0f:68:91:57:e0:6e:71:3e: - 0e:c8:67:45:9d:4b:8d:bc:14:de:c4:41:76:7d:2a:c3:42:f7: - 3d:a0:a7:4f:32:26:d1:bb:05:84:6f:d3:f1:89:bd:1d:6e:ff: - d2:37:4a:e4:f3:8f:14:02:5d:71:59:cd:e0:0c:f8:20:29:45: - f2:d4:5e:0c:a5:71:d6:64:ea:97:1e:b6:55:ba:01:3a:1d:33: - 84:aa:5c:3c:c0:57:5f:6e:23:86:15:7d:92:41:5b:88:8e:a1: - cb:f1:03:eb:00:be:9e:f8:4d:df:7c:91:d9:a8:65:6d:d1:92: - f6:03:b9:22:f0:9a:5b:d9:cb:32:4f:d9:39:d9:2b:54:c9:46: - ae:ce:a3:98:62:82:82:23:c4:c2:ac:3d:85:b1:ed:33:52:92: - 02:7b:4b:75:67:2c:6f:d0:39:cc:b1:25:8b:2f:72:f2:0e:35: - 13:49:48:20:26:fc:98:8b:40:7e:19:4c:6b:37:39:45:d8:e5: - 56:55:ff:d1:58:3b:b0:f0:53:96:71:d7:6e:29:f8:29:33:e9: - 86:ee:34:29:b9:1a:30:6d:b9:ac:32:cf:a2:de:48:27:8b:6b: - 8b:e9:9c:a4 ------BEGIN CERTIFICATE----- -MIIDzjCCAragAwIBAgIBCTANBgkqhkiG9w0BAQUFADCBrDELMAkGA1UEBhMCQVQx -EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTEaMBgGA1UEChMRVGlh -bmkgU3Bpcml0IEdtYkgxGTAXBgNVBAsTEERlbW8gRW52aXJvbm1lbnQxEDAOBgNV -BAMTB1Rlc3QgQ0ExMTAvBgkqhkiG9w0BCQEWIm1hc3NpbWlsaWFuby5tYXNpQHRp -YW5pLXNwaXJpdC5jb20wIBcNMTIxMDMwMTQ1NzM4WhgPMjE5MjA0MDUxNDU3Mzha -MIGsMQswCQYDVQQGEwJBVDEQMA4GA1UECBMHQXVzdHJpYTEaMBgGA1UEChMRVGlh -bmkgU3Bpcml0IEdtYkgxGTAXBgNVBAsTEFRlc3QgRW52aXJvbm1lbnQxJjAkBgNV -BAMUHW1hc3NpQGRpcmVjdC50aWFuaS1zcGlyaXQubmV0MSwwKgYJKoZIhvcNAQkB -Fh1tYXNzaUBkaXJlY3QudGlhbmktc3Bpcml0Lm5ldDCBnzANBgkqhkiG9w0BAQEF -AAOBjQAwgYkCgYEAwL6gFH4qWjJ9smxNAdKukkobJgCaeJm95hc4daKrJWMMGeaH -dcsWmYSXMMjK/jXsP2jFeisiNO17ecDtfWaUum7H1PEMU3Zjz+ya9b1NlxlNiKvJ -HW2ElXXtf/RDVxl8s8UuTnk4557UJO3ruInUDhOMBMQt8OLuH5K+MEQRbdECAwEA -AaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0 -ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFGcrfTtTlFVvqFTJ6UXg+Dm62+d2MB8G -A1UdIwQYMBaAFGTCKG5ROUak0PGudkVtbzgVePvaMA0GCSqGSIb3DQEBBQUAA4IB -AQBbBUFZ27Z7qM5zf84j1XlekKFlurlpxZKA3U1YD2iRV+BucT4OyGdFnUuNvBTe -xEF2fSrDQvc9oKdPMibRuwWEb9Pxib0dbv/SN0rk848UAl1xWc3gDPggKUXy1F4M -pXHWZOqXHrZVugE6HTOEqlw8wFdfbiOGFX2SQVuIjqHL8QPrAL6e+E3ffJHZqGVt -0ZL2A7ki8Jpb2csyT9k52StUyUauzqOYYoKCI8TCrD2Fse0zUpICe0t1Zyxv0DnM -sSWLL3LyDjUTSUggJvyYi0B+GUxrNzlF2OVWVf/RWDuw8FOWcdduKfgpM+mG7jQp -uRowbbmsMs+i3kgni2uL6Zyk ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end1.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end1.crt deleted file mode 100644 index ffa77bc6a..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end1.crt +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC9TCCAl6gAwIBAgIBBjANBgkqhkiG9w0BAQUFADBeMRwwGgYDVQQDExNDcmVh -dGVDZXJ0UGF0aEludGVyMQswCQYDVQQGEwJDSDEPMA0GA1UEBxMGWnVyaWNoMSAw -HgYDVQQKExdTaWduZWRNYWlsVmFsaWRhdG9yVGVzdDAeFw0wNzA1MDkxMjI1MDJa -Fw0yNzA1MDQxMjE2MTdaMFsxGTAXBgNVBAMTEENlcnRQYXRoVGVzdEVuZDExCzAJ -BgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAeBgNVBAoTF1NpZ25lZE1haWxW -YWxpZGF0b3JUZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVSKmlYHT7 -B4hiai8RLLiJqunR20xwud9dg4DzY9EIq0iq7+UoY7dFfxEC33yrn7CXZmbIf7oG -VpdB7qbX2je0Ic1dFTWA+MCilZRG9/iI368LCmh2jk+oI0LvWRmAdu9wmYt7QQbd -hXfaXgz+6hoMesEIdlHC8Eo5HMQy+6oPrQIDAQABo4HFMIHCMAwGA1UdEwEB/wQC -MAAwHQYDVR0OBBYEFEHktAYE3g2aYdpVV6rM+xFZ4/ytMIGFBgNVHSMEfjB8gBT+ -nhkY6yRaAlPnpWbb5oEUftM14KFhpF8wXTEbMBkGA1UEAxMSQ3JlYXRlQ2VydFBh -dGhSb290MQswCQYDVQQGEwJDSDEPMA0GA1UEBxMGWnVyaWNoMSAwHgYDVQQKExdT -aWduZWRNYWlsVmFsaWRhdG9yVGVzdIIBBDALBgNVHQ8EBAMCBLAwDQYJKoZIhvcN -AQEFBQADgYEAoZgkLYp4RUW4tLqEbaP1QS9oETGMwBU/wZUzgl1Z2TsNJGe6BqNe -VaflMyEb01j+wQ429+v05+wuc1wB5WcDFfGO8mi/g8ak4ha0m9V36QPJB5fhcPTu -rwYPhu22Fy0CKDlAnuyEiGtzL79XSyYRkFr0Yqm/EXP+N/Fl+gQNgds= ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end2.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end2.crt deleted file mode 100644 index 2689c9374..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_end2.crt +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC8jCCAlugAwIBAgIBBDANBgkqhkiG9w0BAQUFADBeMRwwGgYDVQQDExNDcmVh -dGVDZXJ0UGF0aEludGVyMQswCQYDVQQGEwJDSDEPMA0GA1UEBxMGWnVyaWNoMSAw -HgYDVQQKExdTaWduZWRNYWlsVmFsaWRhdG9yVGVzdDAeFw0wNzA1MDkxMjI2Mjda -Fw0yNzA1MDQxMjE2MTdaMFsxGTAXBgNVBAMTEENlcnRQYXRoVGVzdEVuZDIxCzAJ -BgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAeBgNVBAoTF1NpZ25lZE1haWxW -YWxpZGF0b3JUZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQdNwZUoe/ -12YNmNDZdtNA1CVw2hAAqLAfiGWFITigAFGVt09Ex7m/HOvhw9/ogUpC5/0k0skC -MqhjSAJ50hypTV3zo+N6Mzq3ZFhvMHGp06T9HlbbFnGENOH3W6cDPbLnIwoIP7sI -JNyEGlo8JP7OROamxvGvhJJuk/IUcPXFIwIDAQABo4HCMIG/MAkGA1UdEwQCMAAw -HQYDVR0OBBYEFFfOzh3DrqqTiNSFSE5lKqylwWNKMIGFBgNVHSMEfjB8gBRPzRwP -mvTWH+vqRDcCc45+nksyVKFhpF8wXTEbMBkGA1UEAxMSQ3JlYXRlQ2VydFBhdGhS -b290MQswCQYDVQQGEwJDSDEPMA0GA1UEBxMGWnVyaWNoMSAwHgYDVQQKExdTaWdu -ZWRNYWlsVmFsaWRhdG9yVGVzdIIBAzALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEF -BQADgYEAk7VP0T1EfmHfUeQLbkr4KpbM+6mqtwuMZkDeoamJ35RkCsHM6rGiXpgS -OVHayJTYgOOHoxDgNIwD+nelHdL/4EFp+Mctpubbhgp3ZZEJ1gGmc8mQ2jmp1XP6 -XY6yRAm914AOVAcceeZ3D+a8ViG808EbZHehhlirbBWxkI6FApo= ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter1.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter1.crt deleted file mode 100644 index a17b2fc37..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter1.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC/TCCAmagAwIBAgIBBDANBgkqhkiG9w0BAQUFADBdMRswGQYDVQQDExJDcmVh -dGVDZXJ0UGF0aFJvb3QxCzAJBgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAe -BgNVBAoTF1NpZ25lZE1haWxWYWxpZGF0b3JUZXN0MB4XDTA3MDUwOTEyMjEyNloX -DTI3MDUwNDEyMTYxN1owXjEcMBoGA1UEAxMTQ3JlYXRlQ2VydFBhdGhJbnRlcjEL -MAkGA1UEBhMCQ0gxDzANBgNVBAcTBlp1cmljaDEgMB4GA1UEChMXU2lnbmVkTWFp -bFZhbGlkYXRvclRlc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOezbRC1 -7BAAdFckLevyWLGj+3kDQ1DRRBaxGf7Ym40v1OZtUc4FhnFfGTHh5D0XMfvM3Wwq -To5xi/iho7vI16s1ZAfnWN5pXubb9ZqNU7uYQdjmk50glTa2U28Hiskr1pxHis9F -8cyz5cTH2RG00LfLWMfGVHsrFIN3naeCupbdAgMBAAGjgcswgcgwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU/p4ZGOskWgJT56Vm2+aBFH7TNeAwgYUGA1UdIwR+ -MHyAFCQH6UCakD8+qWKy8yY61DMSABfdoWGkXzBdMRswGQYDVQQDExJDcmVhdGVD -ZXJ0UGF0aFJvb3QxCzAJBgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAeBgNV -BAoTF1NpZ25lZE1haWxWYWxpZGF0b3JUZXN0ggEBMA4GA1UdDwEB/wQEAwIBBjAN -BgkqhkiG9w0BAQUFAAOBgQDBeipc+tTpOau+SOihZcCDFjZG3W8Q4iewmCzf3UHd -7tK85wVUts0BeAgDzeqD8b+oV+Q4HIv1RkSt+4foPgRu6ujljMkS9cQTYFkaogGp -qwM4BeVFInXdjV4MfzCVJkIA2RZ56dKGGuZrMAtfHQl/9M6jlYs9uYHnj0BAVc+0 -8Q== ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter2.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter2.crt deleted file mode 100644 index 3ed78e1bf..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_inter2.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC/TCCAmagAwIBAgIBAzANBgkqhkiG9w0BAQUFADBdMRswGQYDVQQDExJDcmVh -dGVDZXJ0UGF0aFJvb3QxCzAJBgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAe -BgNVBAoTF1NpZ25lZE1haWxWYWxpZGF0b3JUZXN0MB4XDTA3MDUwOTEyMTkzOVoX -DTI3MDUwNDEyMTYxN1owXjEcMBoGA1UEAxMTQ3JlYXRlQ2VydFBhdGhJbnRlcjEL -MAkGA1UEBhMCQ0gxDzANBgNVBAcTBlp1cmljaDEgMB4GA1UEChMXU2lnbmVkTWFp -bFZhbGlkYXRvclRlc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJnJs3kA -HttsQSJA9gxe0og85sX469Vq0xY9gfEBrp0EGUH50HSLVNHRhZnXlibcya7/XWwV -pESg+HTc/XhOQtwGn68eJ/K1ka7JqeFnN3VzwduqNignnc6WEXndrZIPLP+7a7VZ -zWoWxa+C2mwjFHHza3WZmP7d6fbu+DFsXsA1AgMBAAGjgcswgcgwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUT80cD5r01h/r6kQ3AnOOfp5LMlQwgYUGA1UdIwR+ -MHyAFCQH6UCakD8+qWKy8yY61DMSABfdoWGkXzBdMRswGQYDVQQDExJDcmVhdGVD -ZXJ0UGF0aFJvb3QxCzAJBgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAeBgNV -BAoTF1NpZ25lZE1haWxWYWxpZGF0b3JUZXN0ggEBMA4GA1UdDwEB/wQEAwIBBjAN -BgkqhkiG9w0BAQUFAAOBgQAZBu5xl7ZhMJkMmwXH3Tm8XCqllzXXW0GyZ8jfuMLT -msnmC9aPnz6NjH6FVHnM9SA+twsx1gaTfbq6zKSTN03lV31ltG1qa5SUuOvOggdR -qM15JwzRaGgGGuIc3pswid5tUpKv0koVMNmvIrL3G3pvfOggYjhLAhOuf9WC8AX6 -4w== ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_root.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_root.crt deleted file mode 100644 index 7b70b1a52..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/certpath_root.crt +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC/DCCAmWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBdMRswGQYDVQQDExJDcmVh -dGVDZXJ0UGF0aFJvb3QxCzAJBgNVBAYTAkNIMQ8wDQYDVQQHEwZadXJpY2gxIDAe -BgNVBAoTF1NpZ25lZE1haWxWYWxpZGF0b3JUZXN0MB4XDTA3MDUwOTEyMTYxN1oX -DTI3MDUwNDEyMTYxN1owXTEbMBkGA1UEAxMSQ3JlYXRlQ2VydFBhdGhSb290MQsw -CQYDVQQGEwJDSDEPMA0GA1UEBxMGWnVyaWNoMSAwHgYDVQQKExdTaWduZWRNYWls -VmFsaWRhdG9yVGVzdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxjkirNds -Zlw3k5xwPixlMYJmvlbh+Sj7W3NRrDFcvOLQ40NxvNbcv5V+gHfvBwlqegYHJQGj -iKYOF6tr7o1oAkKTdBfwZ2bjLs4bwmNjhUbHJQhR6aWE1yIogInHcj3vA3KcmSID -Gr8bo7jYPxuut+xbPoTNEcmDmUsXIhzVk+kCAwEAAaOByzCByDAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBQkB+lAmpA/PqlisvMmOtQzEgAX3TCBhQYDVR0jBH4w -fIAUJAfpQJqQPz6pYrLzJjrUMxIAF92hYaRfMF0xGzAZBgNVBAMTEkNyZWF0ZUNl -cnRQYXRoUm9vdDELMAkGA1UEBhMCQ0gxDzANBgNVBAcTBlp1cmljaDEgMB4GA1UE -ChMXU2lnbmVkTWFpbFZhbGlkYXRvclRlc3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0G -CSqGSIb3DQEBBQUAA4GBAA2aYvz6B+SjgAdFnF3IBVISKOR++QAu3zv6+r+4FBhm -6sWwxlS6gX60nH0D7j/0DxAihS9IaSJhreWf2GCJp5JNj9gEEaLJkx39SaO3Ibds -TY7A6QwA3DUIphISxhNz1ExHQISBSgfVFlx/9EzCOpCFpJbFyGn5WeyZJpKQTpqX ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/circular.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/circular.eml deleted file mode 100644 index 4820fbe15..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/circular.eml +++ /dev/null @@ -1,109 +0,0 @@ -Date: Tue, 03 Apr 2007 09:02:23 +0200 -From: =?ISO-8859-1?Q?Armin_H=E4berling?= -MIME-Version: 1.0 -To: armin@privasphere.com -Subject: circular ref -Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="----223806D65A40B3FD04B0923E0F2BE258" - -This is an S/MIME signed message - -------223806D65A40B3FD04B0923E0F2BE258 -Content-Type: text/plain - -hello world - -------223806D65A40B3FD04B0923E0F2BE258 -Content-Type: application/x-pkcs7-signature; name="smime.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" - -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 -ggHuMIIB6gIBATCBkzCBjTEPMA0GA1UEAxMGSW50ZXIzMQswCQYDVQQGEwJDSDEP -MA0GA1UEBxMGWnVyaWNoMQswCQYDVQQIEwJaSDEXMBUGA1UEChMOUHJpdmFzcGhl -cmUgQUcxEDAOBgNVBAsTB1Rlc3RpbmcxJDAiBgkqhkiG9w0BCQEWFWFybWluQHBy -aXZhc3BoZXJlLmNvbQIBBTAJBgUrDgMCGgUAoIGxMBgGCSqGSIb3DQEJAzELBgkq -hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA3MDQwMzA2NTYyNlowIwYJKoZIhvcN -AQkEMRYEFKeO/7XYkuP8qqcwdpUZxDQkXVATMFIGCSqGSIb3DQEJDzFFMEMwCgYI -KoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIH -MA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3DQEBAQUABIGAlgTquUTDfwxT0Bt/+KRh -mYkGyQX3WRHjGeIfBD82FsvZF0VLG8OGs+k8vA5BLs4jsZTqGvFsjbDc4m1tiRRS -VYnrj8oQ+D3g/Jzpv9CHMpLstTk5ZT/UCnI9grAEaKQfrGbnDPsxhOtAQMFfyb3t -r5NuLyMnmvuwC+pYhkweiYY= - -------223806D65A40B3FD04B0923E0F2BE258-- - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_enc_cert.pem b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_enc_cert.pem deleted file mode 100644 index c84b19264..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_enc_cert.pem +++ /dev/null @@ -1,33 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFyjCCBLKgAwIBAgIKEhRhbQAAAAADWjANBgkqhkiG9w0BAQUFADBTMRMwEQYK -CZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIbWVkaWNpdHkxFjAUBgoJ -kiaJk/IsZAEZFgZtZWRzbGMxCjAIBgNVBAMMASowHhcNMTEwNjI4MTU0NTUxWhcN -MTIwMjE2MTc1MzU5WjCBsTETMBEGCgmSJomT8ixkARkWA2NvbTEYMBYGCgmSJomT -8ixkARkWCG1lZGljaXR5MRYwFAYKCZImiZPyLGQBGRYGbWVkc2xjMRcwFQYDVQQL -Ew5NZWRpY2l0eSBVc2VyczEUMBIGA1UECxMLRGV2ZWxvcG1lbnQxFDASBgNVBAMT -C01hcmsgUGFya2VyMSMwIQYJKoZIhvcNAQkBFhRtcGFya2VyQG1lZGljaXR5LmNv -bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA08LXWOeJfgeDg32drx2pyJjq -YcGWjPSPGg18VGeZZgss0gFGfgcAXInY+uZnVjG4GsPMbpDL6bFjrXs1JjdtraOs -Yw9qk7BHG6dHNK1ADK+NPwDY80xAK+Z8Ztg0YUMrjeUlYHpvNpxr8kVsFqW/35iL -nHz8mm0/1dlr3zfO1bUCAwEAAaOCAsMwggK/MBcGCSsGAQQBgjcUAgQKHggAVQBz -AGUAcjApBgNVHSUEIjAgBgorBgEEAYI3CgMEBggrBgEFBQcDBAYIKwYBBQUHAwIw -CwYDVR0PBAQDAgWgMEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4G -CCqGSIb3DQMEAgIAgDAHBgUrDgMCBzAKBggqhkiG9w0DBzAdBgNVHQ4EFgQUiO27 -fGR7QWNICiRAKzzQeHI8MLMwHwYDVR0jBBgwFoAUIai0WOwGVg5JWe3fQyn+0jaK -f5EwgdIGA1UdHwSByjCBxzCBxKCBwaCBvoaBu2xkYXA6Ly8vQ049ITAwMmEsQ049 -U0xDLU1FRC1EQzEsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENO -PVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9bWVkc2xjLERDPW1lZGljaXR5 -LERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xh -c3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgcIGCCsGAQUFBwEBBIG1MIGyMIGvBggr -BgEFBQcwAoaBomxkYXA6Ly8vQ049ITAwMmEsQ049QUlBLENOPVB1YmxpYyUyMEtl -eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9bWVk -c2xjLERDPW1lZGljaXR5LERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0 -Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTBMBgNVHREERTBDoCsGCisGAQQB -gjcUAgOgHQwbbXBhcmtlckBtZWRzbGMubWVkaWNpdHkuY29tgRRtcGFya2VyQG1l -ZGljaXR5LmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAAUPwYfpibwKPWZZc+lCabaHZ -l5pL8hWaZH2WTV7/CsuGbdZw+cS0dsbb08XIXFKhF2lKGbWGHqgQmgmOuDZUBE1z -lw94AI5t9tQzbCKbgdiCiQpxjJ9xNyIbCO4/2wAQfM5gl7hc9M6FVa0Pk6OIJQs7 -kdNYQgSvP7TpJuEMZ8Sag/MRjCOnYEfyPzntIKM545WBxGlit8x8ND5jZArDg4Cj -iIx02LCjuQyWywCLiEVvndycIja7J4Fpf0NuUIojsOpi30lHTmbDjs3CnbP3edOI -Giaqtmtz08oWSkylStTJInC25gKepyBts38GOodtJ9oRpW1xVlp7kEaUEgcGfA== ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_encrypted_mail.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_encrypted_mail.eml deleted file mode 100644 index 085e9d142..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/dotnet_encrypted_mail.eml +++ /dev/null @@ -1,16932 +0,0 @@ -Received: from LTP-Stripp ([99.9.9.127]:24627) - by xmailserver.test with [XMail 1.27 ESMTP Server] - id for from ; - Tue, 28 Jun 2011 14:01:56 -0600 -MIME-Version: 1.0 -From: "Fred" -To: "Fred" -Date: 28 Jun 2011 14:01:57 -0600 -Subject: Encrypted Email -Content-Type: application/pkcs7-mime; smime-type=signed-data; name=smime.p7m -Content-Transfer-Encoding: base64 - -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 -uKmIJGFlgvz11xa6du9jmP/c4ds= - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/embeddedmulti.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/embeddedmulti.message deleted file mode 100644 index d5513a6f5..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/embeddedmulti.message +++ /dev/null @@ -1,130 +0,0 @@ -Received: from AcerRalf (unknown [212.25.18.62]) (Authenticated sender: - hauser@privasphere.com) by smtp-dev.privasphere.com (Postfix) with ESMTP id - 2FE6D2805A for ; Wed, 17 Jan 2007 13:18:27 - +0100 (CET) -From: "Ralf Hauser192.168.1.253" -To: -Subject: -Date: Wed, 17 Jan 2007 13:18:13 +0100 -Message-ID: <00e601c73a31$90a3c950$2301a8c0@AcerRalf> -MIME-Version: 1.0 -X-Mailer: Microsoft Office Outlook 11 -Thread-Index: Acc6MY7qitwhFBTHSemjvSo/JZss/A== -Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_00E0_01C73A39.F0BAF680" -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 - -This is a multi-part message in MIME format. - -------=_NextPart_000_00E0_01C73A39.F0BAF680 -Content-Type: multipart/mixed; - boundary="----=_NextPart_001_00E1_01C73A39.F0BAF680" - - -------=_NextPart_001_00E1_01C73A39.F0BAF680 -Content-Type: text/plain; - charset="us-ascii" -Content-Transfer-Encoding: 7bit - -Hello - - - -------=_NextPart_001_00E1_01C73A39.F0BAF680 -Content-Type: text/plain; - name="ro.txt" -Content-Transfer-Encoding: quoted-printable -Content-Disposition: attachment; - filename="ro.txt" - -Lieber Ralf - -Besten Dank f=FCr die =C4nderungsvorschl=E4ge. Ich werde das heute Abend = -anpassen und dann einreichen.=20 -Dann schauen wir. Von der Publizit=E4t her w=E4re eine = -Ver=F6ffentlichung im IEEE Computer schon sehr gut. - -Sch=F6n, dass das mit der Offerte geklappt hat. ... - - -Sch=F6ne Woche und Gruss, - -Rolf - -------=_NextPart_001_00E1_01C73A39.F0BAF680-- - -------=_NextPart_000_00E0_01C73A39.F0BAF680 -Content-Type: application/x-pkcs7-signature; - name="smime.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; - filename="smime.p7s" - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIK9TCCAy0w -ggKWoAMCAQICAQAwDQYJKoZIhvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0 -ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcx -KDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0 -ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxA -dGhhd3RlLmNvbTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHRMQswCQYDVQQGEwJa -QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRo -YXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u -MSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBl -cnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANRp -19SwlGRbcelH2AxRtupykbCEXn0tDY97Et+FJXUodDpCLGMnn5V7S+9+GYcdhuqj3bnOlmQawhRu -RKx85o/oTQ9xH0A4pgCjh3j2+ZSGXq3qwF5269kUo11uenwMpUtVfwYZKX+emibVars4JAhqmMex -2qOYkf152+VaxBy5AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEA -x+ySfk749ZalZ2IqpPBNEWDQb41gWGGsJrtSNVwIzzD7qEqWih9iQiOMFw/0umScF6xHKd+dmF7S -bGBxXKKs3Hnj524ARx+1DSjoAp3kmv0T9KbZfLH43F8jJgmRgHPQFBveQ6mDJfLmnC8Vyv6mq4oH -dYsM3VGEa+T40c53ooEwggM/MIICqKADAgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQG -EwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoT -EVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlz -aW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEW -HHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1 -OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRk -LjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZI -hvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHy -v1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/ -QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0TAQH/BAgw -BgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlUGVy -c29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMT -EVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+vrL7C -F6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRix9sncVcl -jd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9dX2VPMIIEfTCC -A+agAwIBAgIQQjOqV9vzq5eg0RX+DW6Z+jANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJaQTEl -MCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl -cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDYwOTIwMDQzMzAzWhcNMDcwOTIwMDQzMzAz -WjCCAU8xDzANBgNVBAQTBkhhdXNlcjENMAsGA1UEKhMEUmFsZjEUMBIGA1UEAxMLUmFsZiBIYXVz -ZXIxHTAbBgkqhkiG9w0BCQEWDmhhdXNlckBhY20ub3JnMSQwIgYJKoZIhvcNAQkBFhVyYWxmaGF1 -c2VyQGJsdWV3aW4uY2gxIDAeBgkqhkiG9w0BCQEWEWtvYWxhQGZsYW1iZXJnLmNoMSAwHgYJKoZI -hvcNAQkBFhFyYWxmaGF1c2VyQGdteC5jaDElMCMGCSqGSIb3DQEJARYWaGF1c2VyQHByaXZhc3Bo -ZXJlLm9yZzEiMCAGCSqGSIb3DQEJARYTaGF1c2VyQGNvbXB1dGVyLm9yZzElMCMGCSqGSIb3DQEJ -ARYWaGF1c2VyQHByaXZhc3BoZXJlLmNvbTEcMBoGCSqGSIb3DQEJARYNaGF1c2VyQHA0dS5jaDCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKhDnDargun5HVSOWV93s4Yo37LFJU1dAax6 -pb5DlhwnpWJ1r6B7VxAYAZNRtCGbJ9lvrFX4MvqDZNCD1pEWfotAvYwJESW1tQPbh1RbAHoJLoUs -I/G3zSvx6JtRkhsfW/vddpzszZz+pYRr9QhoduP0CWoJ3YR+lImXC9iawOUIxjzspmEoupa+w/SD -hT0Ie66vEnztrtJMVhaWYiCFcrdpkxiaYNVX9tYWoPt3dbkMD5DnNMUG6C4cSO8B+2RT2mi+wMxO -782Rr3SQFk3DlgvO/HHAn4GpGhQaexEo6AccBfIi4spp0HwOsKFaxWxzCyQfZZHF9233NZPbme+7 -sxsCAwEAAaOBwDCBvTCBrAYDVR0RBIGkMIGhgQ5oYXVzZXJAYWNtLm9yZ4EVcmFsZmhhdXNlckBi -bHVld2luLmNogRFrb2FsYUBmbGFtYmVyZy5jaIERcmFsZmhhdXNlckBnbXguY2iBFmhhdXNlckBw -cml2YXNwaGVyZS5vcmeBE2hhdXNlckBjb21wdXRlci5vcmeBFmhhdXNlckBwcml2YXNwaGVyZS5j -b22BDWhhdXNlckBwNHUuY2gwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQUFAAOBgQAFjXl1MSFJ -ZtAcyCERaYlGpg/muMXf+bLeahfpAL7Nc+SrPmU22thhXGR3qHuxMXDUi5n6qE/Y+Dk9LcNxXVYQ -mtqU/rqQN8UMGuTTDOqI5iEZ/3h5aATaF34Q6s63jWih2tz3wS2o2LuLqn8BeW7SEzwmbiXIAxEG -PeL+fb3cWjGCA3kwggN1AgEBMHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25z -dWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1 -aW5nIENBAhBCM6pX2/Orl6DRFf4Nbpn6MAkGBSsOAwIaBQCgggHYMBgGCSqGSIb3DQEJAzELBgkq -hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA3MDExNzEyMTgxMlowIwYJKoZIhvcNAQkEMRYEFCyM -nI5LMqCPyL8fFoazmFt4ref8MGcGCSqGSIb3DQEJDzFaMFgwCgYIKoZIhvcNAwcwDgYIKoZIhvcN -AwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMAcGBSsOAwIaMAoG -CCqGSIb3DQIFMIGFBgkrBgEEAYI3EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3 -dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h -aWwgSXNzdWluZyBDQQIQQjOqV9vzq5eg0RX+DW6Z+jCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJ -BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQD -EyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQQjOqV9vzq5eg0RX+DW6Z+jAN -BgkqhkiG9w0BAQEFAASCAQBBT+gKdSLJTvjYyJwcsXUKFCCc49qE439FrvlNqkGUntAsjkli3edT -tAO9Zf1FH1z97Wv4ZUIyizRlRW8y3hqqr2pdWeCiawrSy/t24hBzb0fjiojcjvZfp/IY73eKssQb -zDVkECkdapbKcbCaSw7sjQvdocM4Ev2YKXWiOF5CX0QeIfsl5tqy2P32XF2KUXWvh63pxZ+MyTOo -qb3fxrp8y8aWqmDitITqTVQ14vmd/bbNSUIes9UNjNTTT23wbBU/YBYgBwFP5xJzDe78OcZE8QVc -9Sr98OAwOttE6mwibQ2Cry2VlMKe/k0mdsPMvt7sOvCgMNa3ogCQ0SP3uXv3AAAAAAAA - -------=_NextPart_000_00E0_01C73A39.F0BAF680-- - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/extra-nl.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/extra-nl.eml deleted file mode 100644 index 69c92df40..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/extra-nl.eml +++ /dev/null @@ -1,70 +0,0 @@ -Message-id: <4AA5FD7D.70502@djigzo.com> -Date: Tue, 08 Sep 2009 08:45:17 +0200 (16:45 EST) -From: Martijn Brinkers -User-agent: Thunderbird 2.0.0.23 (X11/20090817) -Mime-version: 1.0 -To: David Hook -Subject: Re: Verification fails -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_1891120562.1252227015696" - -------=_Part_0_1891120562.1252227015696 -Content-Type: multipart/mixed; boundary="----RIM_0_1252227013353_1978_08_20" -Content-Transfer-Encoding: 7bit - - -------RIM_0_1252227013353_1978_08_20 -Content-Type: text/xml -Content-Transfer-Encoding: 7bit -Content-Description: Djigzo for BlackBerry Meta Info - -FF -------RIM_0_1252227013353_1978_08_20 -Content-Type: message/rfc822; - name=secure-message.eml -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; filename="secure-message.eml" - -From: simulation@this.machine -To: FF -Subject: Stest -Date: Sun, 6 Sep 2009 08:50:13 +0000 -MIME-Version: 1.0 -Content-Type: text/plain; - charset=US-ASCII -Content-Transfer-Encoding: 7bit - -Test -------RIM_0_1252227013353_1978_08_20-- - - -------=_Part_0_1891120562.1252227015696 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIIEygYJKoZIhvcNAQcCoIIEuzCCBLcCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCAzMw -ggMvMIICmKADAgECAhABFf0OXumQ2UJsk96nIOlwMA0GCSqGSIb3DQEBBQUAMGQxCzAJBgNVBAYT -Ak5MMQswCQYDVQQIDAJOSDESMBAGA1UEBwwJQW1zdGVyZGFtMRUwEwYDVQQDDAxNSVRNIFRlc3Qg -Q0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTA3MTEwMTExNTIzNVoXDTI3MTEy -MTExNTIzNVowTzELMAkGA1UEBhMCTkwxCzAJBgNVBAgMAk5IMRIwEAYDVQQHDAlBbXN0ZXJkYW0x -HzAdBgkqhkiG9w0BCQEWEHRlc3RAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAIyFNEWoO3mTGD2O0koeuESL3ohHVcUTQaIBaDQ9KpurWUd+ZDpXF+W76pNdrFHKo6P7/4kF -m+nWv2r41zlb3oyMRfia60UwgFOH80Akkd781SMDHy73CFxj23G/6eJTeJKfWzwLU+Dgc+XtcyHe -HtZWTjhyUM7yeN0Vp3J4JGIPAgMBAAGjgfYwgfMwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQG -CCsGAQUFBwMCBggrBgEFBQcDBDAeBgNVHREBAf8EFDASgRB0ZXN0QGV4YW1wbGUuY29tMIGhBgNV -HSMEgZkwgZaAFCgcMtAhe+dQPgYTRQq7MLNgBtJ2oWykajBoMQswCQYDVQQGEwJOTDELMAkGA1UE -CAwCTkgxEjAQBgNVBAcMCUFtc3RlcmRhbTEXMBUGA1UEAwwOTUlUTSBUZXN0IFJvb3QxHzAdBgkq -hkiG9w0BCQEWEHJvb3RAZXhhbXBsZS5jb22CEAEV/K1rU2/Y1J5ykizR8NowDQYJKoZIhvcNAQEF -BQADgYEAW2F41M5JCkUUuv/oWpTA6weAti43ZbOz9CaCmuGyPZ9nH4tA+PgIJCJE5+m8uSBGSfiH -oDe5ho+buit6uAr0AtfSZ4KzIN+NjTLKymtVIB9CwASA/Q+1c/BtuHkj3MIS2TshGQ0BPbUx6wmg -wb4FhFTF50ksRyu51D95gJVX9lcxggFfMIIBWwIBATB4MGQxCzAJBgNVBAYTAk5MMQswCQYDVQQI -DAJOSDESMBAGA1UEBwwJQW1zdGVyZGFtMRUwEwYDVQQDDAxNSVRNIFRlc3QgQ0ExHTAbBgkqhkiG -9w0BCQEWDmNhQGV4YW1wbGUuY29tAhABFf0OXumQ2UJsk96nIOlwMAkGBSsOAwIaBQCgPzAYBgkq -hkiG9w0BCQMxCwYJKoZIhvcNAQcBMCMGCSqGSIb3DQEJBDEWBBQOP97YHKFoE/zVQEpktr9KVACK -JzANBgkqhkiG9w0BAQEFAASBgGGr31bH+iIQhBPYQS40Vmvy5fZfpNuSGFIHdDS9kvfZC/MstMh9 -n5yYe4ctUy1lUlwOvfU6KWqZDqKqgwTF91LpM45ysiizKbMQnvS4SzNeON9q0LJdwTodj9V9AzT/ -X4ug10KDIoKdx8aspMktXRtx6glWbrCe1BHYsDMocQ8/ -------=_Part_0_1891120562.1252227015696-- - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/johndoe.p12 b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/johndoe.p12 deleted file mode 100644 index ae23f92ec..000000000 Binary files a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/johndoe.p12 and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/key.pem b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/key.pem deleted file mode 100644 index 274f4c550..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/key.pem +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDAvqAUfipaMn2ybE0B0q6SShsmAJp4mb3mFzh1oqslYwwZ5od1 -yxaZhJcwyMr+New/aMV6KyI07Xt5wO19ZpS6bsfU8QxTdmPP7Jr1vU2XGU2Iq8kd -bYSVde1/9ENXGXyzxS5OeTjnntQk7eu4idQOE4wExC3w4u4fkr4wRBFt0QIDAQAB -AoGADrd/aZEokrKAPntedeEsSyc1Y3VwVf0HLuZe/TxqbPRfHCsp9KiJFTe2g5cR -SM+9Nio9ydI5TmlDoExG1ehbOq7jlGEJVq4v8bnDqvD+f4abcE0WTJsIaloc3Feh -D8V4bHuHnOawindmrmDV076XHCE+nDn0pYCziNKGynoPGbECQQDzC+OvxbdBkaed -65wN+Nsc4PpyQUwIA9xii+cIiJWd1TmZvDlae6QGJKY7zl70t5HthXPBtA1Iizl4 -F3sCQgm/AkEAywRrzPRcYlIPQRuRG4KL1wdRAvbZTyUt/5JhPBRqytal9tlm21cX -ZeCEPuTXNTIJiLmMRiqElTekg9qiYxXMbwJBAO2obpfuKef/2XtebFZtRTTT+ZHH -r+UWgWYLj3qUtFiFq7FckGieBiHLrJFGlyuMZTFxEWQT//kzyppXu3zVvlkCQQCA -+Y8OxxNF90Hvp/a41mfGtMQ3sOD/kew2GCWjyIjL0i/fsd/RavPXaho55qH+DorW -DKLcFLjkH1Rp2+UcM8YLAkA6fKFgDrOH9+q5Gyh8oi+cEI9+OxRfA0+lbEjgZmJV -3b3e02Y7TIsAJvvoILfV8bHsjJhJZ+LeH8vJipYz3VFb ------END RSA PRIVATE KEY----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/multi-alternative.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/multi-alternative.eml deleted file mode 100644 index b60a7aba5..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/multi-alternative.eml +++ /dev/null @@ -1,189 +0,0 @@ -X-MimeOLE: Produced By Microsoft Exchange V6.5 -Received: from OLDA0047.ewenet.ewe.de ([10.1.96.3]) by OLCA0072.ewenet.ewe.de with Microsoft SMTPSVC(6.0.3790.2499); Wed, 9 Apr 2008 10:26:33 +0200 -MIME-Version: 1.0 -Content-Type: multipart/signed; - protocol="application/x-pkcs7-signature"; - micalg=sha1; - boundary="----F439FEDC23FA084281EC7880F017B061" -Received: from OLCA0075.ewenet.ewe.de ([10.1.96.31]) by OLDA0047.ewenet.ewe.de with Microsoft SMTPSVC(6.0.3790.2499); Wed, 9 Apr 2008 10:26:33 +0200 -Received: from OLCA0075 ([10.1.111.4]) by OLCA0075.ewenet.ewe.de with InterScan Messaging Security Suite; Wed, 09 Apr 2008 10:26:31 +0200 -Received: from mail2.ewetel.de ([212.6.122.116]) by OLCA0075 (SonicWALL 6.0.1.9157) with ESMTP; Wed, 09 Apr 2008 10:26:31 +0200 -Received: from bmr-trust.bmr-pdc.bmr.de (fw.maschinenringe.com [217.237.187.194]) by mail2.ewetel.de (8.12.1/8.12.9) with ESMTP id m398QU2e022814 for ; Wed, 9 Apr 2008 10:26:31 +0200 (CEST) -Return-Path: -X-CheckCompat: OK -X-OriginalArrivalTime: 09 Apr 2008 08:26:33.0309 (UTC) FILETIME=[6B2EE8D0:01C89A1B] -X-Mlf-Threat: nothreat -X-Mlf-Threat-Detailed: nothreat;none;none;list_addrbk_sender -X-Mlf-UniqueId: i200804090826310047017 -Content-class: urn:content-classes:message -Subject: CONTRL__9904144000002_9900496000005_20080409_141316.txt -Date: Wed, 9 Apr 2008 10:24:17 +0200 -Message-ID: <20080409102423$11@83589aa1> -X-MS-Has-Attach: yes -X-MS-TNEF-Correlator: -Thread-Topic: CONTRL__9904144000002_9900496000005_20080409_141316.txt -Thread-Index: AciaG2tUJ9bAYyY8TAeFf/Nmys4P7w== -From: -To: - -This is an S/MIME signed message - -------F439FEDC23FA084281EC7880F017B061 -Content-Type: multipart/mixed; - boundary="------------=_NextPart_000_000_000" - ---------------=_NextPart_000_000_000 -Content-Type: multipart/alternative; - boundary="------alternative_boundary" - ---------alternative_boundary -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: quoted-printable - - In Beantwortung Ihrer Datei 'CONTRL__9904144000002_9900496000005_20080409_= -141316.txt' lieferte der - AKTIF-EDI-Service folgende Ergebnisse: - - --------------------------------------------------------------------------= --------- - Dateiname gepackt verschl. Kommentar/Signaturdat= -ei - =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D - CONTRL__9904144000002_9900496... not not - --------------------------------------------------------------------------= --------- - - - - - In response of your processed file 'CONTRL__9904144000002_9900496000005_20= -080409_141316.txt' the - AKTIF-EDI-Service sent to you the following results: - - --------------------------------------------------------------------------= --------- - filename compressed encrypted comment/sigfile - =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D - CONTRL__9904144000002_9900496... not not - --------------------------------------------------------------------------= --------- - - - --- -autogenerated email by AKTIF EDI Service (aedic.sm). -Please do not respond to this emailaddress. - - ---------alternative_boundary -Content-Type: text/html; charset=ISO-8859-1 -Content-Transfer-Encoding: quoted-printable - - -processed file - - -AKTIF EDI-Service: Konvertierte Datei/converted file 'CONTRL__9= -904144000002_9900496000005_20080409_141316.txt' -


    - - - - - - - - - - - - - -
    Datei
    -fil= -e
    Komprimierung
    -com= -pression
    Verschl=FCsselung
    -enc= -ryption
    Signaturdatei/Kommentar
    -sig= -naturefile/comment -
    CONTRL__9904144000002_9900496000005_20080409_141316.txtkeine/nonekeine/none 
    -


    - --- 
    autogenerated email by AKTIF-EDIService (aedic.sm). -Please do not respond to this emailaddress.
    - - - ---------alternative_boundary-- ---------------=_NextPart_000_000_000 -Content-Type: application/octet-stream; - name="CONTRL__9904144000002_9900496000005_20080409_141316.txt" -Content-Transfer-Encoding: quoted-printable -Content-Disposition: attachment; - filename="CONTRL__9904144000002_9900496000005_20080409_141316.txt" - -UNA:+.? 'UNB+UNOC:3+9904144000002:500+9900496000005:500+080409:1024+141316'= -UNH+129534+CONTRL:D:3:UN:1.3'UCI+90410000031762+9900496000005:500+990414400= -0002:500+8'UNT+3+129534'UNZ+1+141316' ---------------=_NextPart_000_000_000-- - -------F439FEDC23FA084281EC7880F017B061 -Content-Type: application/x-pkcs7-signature; name="smime.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" - -MIIHSwYJKoZIhvcNAQcCoIIHPDCCBzgCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 -DQEHAaCCBSswggUnMIIED6ADAgECAg59rQABAALWS8Z6CaQRPzANBgkqhkiG9w0B -AQUFADB7MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i -SDElMCMGA1UECxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBMMSBDQTEnMCUGA1UE -AxMeVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBMMSBDQSBWMB4XDTA4MDIwNDE0NDY1 -MFoXDTExMDIwNDE0NDY1MFowgcoxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZCYXll -cm4xHDAaBgNVBAcTE05ldWJ1cmcgYS4gZC4gRG9uYXUxKDAmBgNVBAoTH01hc2No -aW5lbnJpbmdlIERldXRzY2hsYW5kIEdtYkgxFDASBgNVBAsTC0xhbmRlbmVyZ2ll -MSUwIwYDVQQDExxMYW5kZW5lcmdpZSBUZWFtIENlcnRpZmljYXRlMSUwIwYJKoZI -hvcNAQkBFhZFRElGQUNUQGxhbmRlbmVyZ2llLmRlMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDIx6ipt3UiRoRiqxFNMdPGxfmV/8J/tTvdsYUbJiHPTeSXTjTN -aqBJuGRLT+Lctq+DhLN+Y3ZRv2H/xelSFrjxM670e2jL4WjbnMZ/5LkptruZ+8qZ -1fGNrqBRVDr8QPXCC9bf+V+0AP9FkzYbuf/BRrPt9B2rvdwnieVpze1CXQIDAQAB -o4IB2zCCAdcwgZUGCCsGAQUFBwEBBIGIMIGFMFAGCCsGAQUFBzAChkRodHRwOi8v -d3d3LnRydXN0Y2VudGVyLmRlL2NlcnRzZXJ2aWNlcy9jYWNlcnRzL3RjX2NsYXNz -M19MMV9DQV9WLmNydDAxBggrBgEFBQcwAYYlaHR0cDovL29jc3AuVi50Y2NsYXNz -My50cnVzdGNlbnRlci5kZTAfBgNVHSMEGDAWgBTrZQCH1qACAaoa11MeclBuaJwb -/jAMBgNVHRMBAf8EAjAAMEoGA1UdIARDMEEwPwYJKoIUACwBAQEDMDIwMAYIKwYB -BQUHAgEWJGh0dHA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvZ3VpZGVsaW5lczAOBgNV -HQ8BAf8EBAMCBeAwHQYDVR0OBBYEFOXs++f6hPt293ZHilOZciZ8lPy1MEcGA1Ud -HwRAMD4wPKA6oDiGNmh0dHA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvY3JsL3YyL3Rj -X2NsYXNzM19MMV9DQV9WLmNybDAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUH -AwQGCCsGAQUFBwMHMCEGA1UdEQQaMBiBFkVESUZBQ1RAbGFuZGVuZXJnaWUuZGUw -DQYJKoZIhvcNAQEFBQADggEBAORAxacE5bh+9uDyf97ctXXuOOTchhyffARgMueo -kNIPjwcM+czYLsUc6nkvkbvKJqU1cVt2jbcM/JL6W4nllAEtONyiSiFrJQWp4dQ8 -paOAjerqXrkiPvARpfYTsHSuUFrFvzIk8lOyqGeur+tHhOG7PQOAdnlFKkZofGqt -Wrhu605UsOBICgpkyjXQFEAK5rS7t7r8ddlfu+ijj9le1uzSFlnpljmARX2gfRR5 -/E6J101HgNWX7VyS6XxCgod/AzXk+Z5WQwz0PTkpN1ccCXgN0LQzRCW+n4S8XqvQ -y5P5AqUeWSbsD2YQffnsC+l1fwk/XrJhMkILal84qgluC3cxggHoMIIB5AIBATCB -jTB7MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21iSDEl -MCMGA1UECxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBMMSBDQTEnMCUGA1UEAxMe -VEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBMMSBDQSBWAg59rQABAALWS8Z6CaQRPzAJ -BgUrDgMCGgUAoIGxMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN -AQkFMQ8XDTA4MDQwOTA4MjgyOFowIwYJKoZIhvcNAQkEMRYEFM8H2qjq/duh/IHZ -nha4pDA3Qi3KMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcN -AwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMA0G -CSqGSIb3DQEBAQUABIGANd6GNxqQcegeoN6+CTV5SyfE7aD8k00uiUV6zPFlwM3p -2bbIPthbCsAHyRx/sUngRlP2XfMuPR+vc8/ACbhGWdKQqhQDFHQgbZALiLhyHJrp -kMNr5ZWzKce1iM15GhsKUViiuTBhhK2LQolwB9gnKkBMwbF9bLPuMXNvallydtM= - -------F439FEDC23FA084281EC7880F017B061-- - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/outlook_2010_beta_sime_msg.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/outlook_2010_beta_sime_msg.eml deleted file mode 100644 index 3de619b7c..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/outlook_2010_beta_sime_msg.eml +++ /dev/null @@ -1,25 +0,0 @@ -To: -Subject: A broken S/MIME encrypted message -Message-ID: <000c01cadd1e$d8e3b700$8aab2500$@Domain> -MIME-Version: 1.0 -Content-Type: application/pkcs7-mime; - smime-type=enveloped-data; - name="smime.p7m" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; - filename="smime.p7m" -X-Mailer: Microsoft Outlook 14.0 -Content-Language: de-ch -Thread-Index: AQFr/6ANUmscMMg1FM+V1UOpE+aAWw== -X-OlkEid: 6BA45F2275AB6A6FE4DFFB4B935BAE4D26E31DCF - -MIAGCSqGSIb3DQEHA6CAMIACAQIxggEwMIIBLAIBAoAUIhnlBNV1CzfSDMkwsUEp4aLlg7EwDQYJ -KoZIhvcNAQEBBQAEggEAn/Bn8zPfBT1xi5ECKKN43RnEnWZt/cDSfmCkyhX/6lI8VNlnJQhdWonN -2H6TCKB4YEWZ1Lyr6NrE7kxjW8w1F5AxYnlpY66soBbQib1a3bdmu7Oz8JxEqVlfmDpM7n2yGQPQ -e9PP8j3UGyC7AtprwERkpuTBetH2FYfwM3uRgypLCRDsKYiy8QOna6Ii+3+lphCCn3SOo/Gmcv+7 -lh2W1w4MkX1zdWR5SuCt3tBZlz5VkMngB/Uzo9EE3zDWxqvzEHqvME57hc+GPht+4OZ7kQKOiGV8 -2kK9o+KkSy69IT/3kpspoSdv2T0drsWtHv3MlybdU9RGj2Lycx16xtSnhTCABgkqhkiG9w0BBwEw -FAYIKoZIhvcNAwcECPd/Rxmju5lYoIAEgYjp+9tsQvSJJqpmZIWdheOfOWc7JH3yyaiVk8JG2pmc -Brrqpsufu0U61JYVkc6K6UtwCwaN8frbNkuDZgp7uIHYgwxdFB5n5HQC0rS7X+pc5/UQ64ymi02O -8J6ARYi9+VkvWOOjpOBwMoN6oTrqHmW7Tl1ES7mqaK8ICFY3TvxAD38gmX0CIM3+AAAAAAAAAAAA -AA== diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/qp-soft-break.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/qp-soft-break.eml deleted file mode 100644 index d0e0a939a..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/qp-soft-break.eml +++ /dev/null @@ -1,104 +0,0 @@ -From: -Subject: test quoted-printable soft breaks -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1896 -MIME-Version: 1.0 -Content-Type: multipart/signed; micalg=sha1; protocol="application/x-pkcs7-signature"; boundary="{EAD5F12C-E5A7-421A-AD27-CF4EF58E43B5}" -Date: Tue, 17 Jul 2007 11:27:34 +1000 -Message-Id: <1184635654.3066.1074.camel@anteater.myretsu.com> - -This is a multi-part message in MIME format. - ---{EAD5F12C-E5A7-421A-AD27-CF4EF58E43B5} -Content-Type: text/plain; format=flowed; charset="iso-8859-1"; - reply-type=response -Content-Transfer-Encoding: quoted-printable - - -test = -123456 = - ---{EAD5F12C-E5A7-421A-AD27-CF4EF58E43B5} -Content-Type: application/x-pkcs7-signature; - name="smime.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; - filename="smime.p7s" - -MIIQ5AYJKoZIhvcNAQcCoIIQ1TCCENECAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCDrQw -ggQ2MIIDHqADAgECAgEBMA0GCSqGSIb3DQEBBQUAMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB -ZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNV -BAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3QwHhcNMDAwNTMwMTA0ODM4WhcNMjAwNTMwMTA0 -ODM4WjBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRy -dXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBS -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/caM+byAAQtOeBOW+0fvGwPzbX6 -I7bO3psRM5ekKUx9k5+9SryT7QMa44/P5W1QWtaXKZRagLBJetsulf24yr83OC0ePpFBrXBWx/BP -P+gynnTKyJBU6cZfD3idmkA8Dqxhql4Uj56HoWpQ3NeaTq8Fs6ZxlJxxs1BgCscTnTgHhgKo6ahp -JhiQq0ywTyOrOk+E2N/On+Fpb7vXQtdrROTHre5tQV9yWnEIN7N5ZaRZoJQ39wAvDcKSctrQOHLb -FKhFxF0qfbe01sTurM0TRLfJK91DACX6YblpalgjEbenM49WdVn1zSnXRrcKK2W200JvFbK4e/vv -6V1T1TRaJwIDAQABo4HcMIHZMB0GA1UdDgQWBBStvZh6NLQm9/rEJlTvA73gJMtUGjALBgNVHQ8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zCBmQYDVR0jBIGRMIGOgBStvZh6NLQm9/rEJlTvA73gJMtU -GqFzpHEwbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU -cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg -Um9vdIIBATANBgkqhkiG9w0BAQUFAAOCAQEAsJvghSXC1iPiD5YGkp1BmJzZhHmB2R5bFAcjNmWP -sNh3u6xBbEdgg1Gw+TI95/z2JhPHgBalv1r8h894eYkhmuJMBwqGNbzy3lHE0pa33H5O7nD9HDnr -DAJRFC2OvRbgwd9Gdeckrez0QrSFk3AQZ7qdBjVKGNMresxRQqF6Y9Hmu6HFK8I2vhMN5r1jfnl7 -pwkNQKtq3Y+Kw/b2jBpCBVHURfWfp2IhaBUgQzyZ53y9JNipkRdziD9WGzE4GLRxD5rNyA6eji4b -4YyYg8sfMfFETMYEc0l2YA/H+L0XgGsu6cxMDlqaeQ8gCi7VnmMmHlWSlNiCF1p70LzHj06GBDCC -BIowggNyoAMCAQICECf06hH0eobEbp27bqkXBwcwDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UEBhMC -U0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5hbCBUVFAg -TmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0wNTA2MDcwODA5 -MTBaFw0yMDA1MzAxMDQ4MzhaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcT -DlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsT -GGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJzdC1DbGllbnQg -QXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -sjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIxB8dOtINknS4p -1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8om+rWV6lL8/K -2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHGTPNpsaguG7bU -MSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7NlyP0e03RiqhjK -aJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4HhMIHeMB8GA1UdIwQYMBaAFK29mHo0 -tCb3+sQmVO8DveAky1QaMB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0hjJodHRwOi8vY3JsLmNvbW9k -b2NhLmNvbS9BZGRUcnVzdEV4dGVybmFsQ0FSb290LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21v -ZG8ubmV0L0FkZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAZ2IkR -byispgCi54fBm5AD236hEv0e8+LwAamUVEJrmgnEoG3XkJIEA2Z5Q3H8+G+v23ZF4jcaPd3kWQR4 -rBz0g0bzes9bhHIt5UbBuhgRKfPLSXmHPLptBZ2kbWhPrXIUNqi5sf2/z3/wpGqUNVCPz4FtVbHd -WTBK322gnGQfSXzvNrv042n0+DmPWq1LhTq3Du3Tzw1EovsEv+QvcI4l+1pUBrPQxLxtjftzMizp -m4QkLdZ/kXpoAlAfDj9N6cz1u2fo3BwuO/xOzf4CjuOoEwqlJkRl6RDyTVKnrtw+ymsyXEFs/vVd -oOr/0fqbhlhtPZZH5f4ulQTCAMyOofK7MIIF6DCCBNCgAwIBAgIQCePao6/G/NvD/FZe/9X+gzAN -BgkqhkiG9w0BAQUFADCBrjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0 -IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRw -Oi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhl -bnRpY2F0aW9uIGFuZCBFbWFpbDAeFw0wNjEwMTcwMDAwMDBaFw0wNzEwMTcyMzU5NTlaMIIBAzEL -MAkGA1UEBhMCTkwxEDAOBgNVBBETBzEwMTggTVIxCzAJBgNVBAgTAm5hMRIwEAYDVQQHEwlBbXN0 -ZXJkYW0xIzAhBgNVBAkTGk9vc3RlbmJ1cmdlcnZvb3JzdHJhYXQgMTMyMQ8wDQYDVQQKEwZJemVj -b20xLDAqBgNVBAsTI0lzc3VlZCB0aHJvdWdoIEl6ZWNvbSBFLVBLSSBNYW5hZ2VyMR8wHQYDVQQL -ExZDb3Jwb3JhdGUgU2VjdXJlIEVtYWlsMRkwFwYDVQQDExBNYXJ0aWpuIEJyaW5rZXJzMSEwHwYJ -KoZIhvcNAQkBFhJtYXJ0aWpuQGl6ZWNvbS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB -AMNSdYvS0y7TTNCcQE3MZc7moOI7Yxj7e3Gu8cIG3nA1OdxtiqLo0ZwypaUu+93dybPs/8GipAtm -9gAlGnzr1I00OKgzEcYWTaPI9XQZLojOiKQAHJPwoQc9kLqk+pOzJF01oUumCmLL4wFdTMOBxtfU -bEZwk+VOUm7qp99TdWDjAgMBAAGjggIsMIICKDAfBgNVHSMEGDAWgBSJgmd9xJ0mcABLtFBIfN49 -rgRufTAdBgNVHQ4EFgQUJ565V+w9ohuzMvp9gj/B5KU97PAwDgYDVR0PAQH/BAQDAgWgMAwGA1Ud -EwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMBEGCWCGSAGG+EIBAQQEAwIF -oDBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDBTArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3Vy -ZS5jb21vZG8ubmV0L0NQUzCBpQYDVR0fBIGdMIGaMEygSqBIhkZodHRwOi8vY3JsLmNvbW9kb2Nh -LmNvbS9VVE4tVVNFUkZpcnN0LUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kRW1haWwuY3JsMEqgSKBG -hkRodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1DbGllbnRBdXRoZW50aWNhdGlv -bmFuZEVtYWlsLmNybDCBhgYIKwYBBQUHAQEEejB4MDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNv -bW9kb2NhLmNvbS9VVE5BZGRUcnVzdENsaWVudENBLmNydDA5BggrBgEFBQcwAoYtaHR0cDovL2Ny -dC5jb21vZG8ubmV0L1VUTkFkZFRydXN0Q2xpZW50Q0EuY3J0MB0GA1UdEQQWMBSBEm1hcnRpam5A -aXplY29tLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAQ/SWmflyk4BRnuupDmUizFYMgQ1CG+xjjmvl -5Vfm28mEq9bn6AK6SQ0uwlhzCgeJse1rrN9EtSdAxPMg5tfYl9l6RtP4eFcG+mm29VHW4nA7fR2a -e2/x6vD4mQ7iOZoFK+7dH1TqYdLiMGp/ixf2BbKSFsAf/fkjcWSNCc9Yn1FDpHyQpJWCIKDV46Ft -777xaitXSAXzzrHr/5Bd8GIigefj4eZAFfb0AHToo1AxZLTmM7S/7f534dqZcMuMqte/L84MGK1+ -eX2NuXplpeGRWqDR+ZPH3rVLsC6yYwQk+mhL2jS9T0/hp0CNUdG1BnaBq4AY9+X8AYW4HfibjxA6 -NjGCAfgwggH0AgEBMIHDMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNh -bHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0 -dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0 -aGVudGljYXRpb24gYW5kIEVtYWlsAhAJ49qjr8b828P8Vl7/1f6DMAkGBSsOAwIaBQCggYswGAYJ -KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwNzA2MTAzNTI1WjAjBgkq -hkiG9w0BCQQxFgQUSct8Yv8Xs0hDZI1xnTnGFmP3pZQwLAYJKoZIhvcNAQkPMR8wHTAPBggqhkiG -9w0DAjADAgE6MAoGCCqGSIb3DQMHMA0GCSqGSIb3DQEBAQUABIGAF49uqfoqWpTzvQSQPZu799YI -dqP+K/GiV6OSIz+YasWzmwszu6tzromuvu+8UYvGfcLfvkZKfP+8sIIJOIxvaCrmTfVMnt9RY+SJ -+eLqRl7dHpMvK/DWaaXgBF5kyZz1IQMeL/7hQ79VDD59wJdlHFz197AQDmYYYik1BumyJdI= - ---{EAD5F12C-E5A7-421A-AD27-CF4EF58E43B5}-- \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/quotable.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/quotable.message deleted file mode 100644 index 6c3d6ac44..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/quotable.message +++ /dev/null @@ -1,64 +0,0 @@ -X-Account-Key: account3 -Received: from xfe0.d.ethz.ch ([82.130.124.40]) by EX0.d.ethz.ch with - Microsoft SMTPSVC(6.0.3790.2499); Tue, 15 Aug 2006 16:15:12 +0200 -Received: from cwlappi ([85.1.15.108]) by xfe0.d.ethz.ch over TLS secured - channel with Microsoft SMTPSVC(6.0.3790.2499); Tue, 15 Aug 2006 16:15:12 - +0200 -Message-ID: <001001c6c075$08fe0690$1200000a@cwlappi> -From: =?utf-8?Q?Armin_H=C3=A4berling?= -To: -Subject: testmail -Date: Tue, 15 Aug 2006 16:12:31 +0200 -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_000B_01C6C085.9C581740" -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 6.00.2800.1409 -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 -Return-Path: arminha@student.ethz.ch -X-OriginalArrivalTime: 15 Aug 2006 14:15:12.0469 (UTC) - FILETIME=[38E22850:01C6C075] - -This is a multi-part message in MIME format. - -------=_NextPart_000_000B_01C6C085.9C581740 -Content-Type: text/plain; - charset="utf-8" -Content-Transfer-Encoding: quoted-printable - -This is a testmail with a very long line that needs to be broken and = -some non-ascii chars to enforce quoted-printable encoding: = -=C3=A0=C3=A9=C3=A8 -------=_NextPart_000_000B_01C6C085.9C581740 -Content-Type: application/x-pkcs7-signature; - name="smime.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; - filename="smime.p7s" - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIICnzCCApsw -ggIEoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwcjEnMCUGA1UEAx4eAEEAcgBtAGkAbgAgAEgA5ABi -AGUAcgBsAGkAbgBnMQswCQYDVQQGEwJDSDESMBAGA1UEBxMJT3R0ZW5iYWNoMSYwJAYJKoZIhvcN -AQkBFhdhcm1pbmhhQHN0dWRlbnQuZXRoei5jaDAeFw0wNjA1MDgxMzM2MjNaFw0wNzA1MDgxMzM2 -MjNaMHIxJzAlBgNVBAMeHgBBAHIAbQBpAG4AIABIAOQAYgBlAHIAbABpAG4AZzELMAkGA1UEBhMC -Q0gxEjAQBgNVBAcTCU90dGVuYmFjaDEmMCQGCSqGSIb3DQEJARYXYXJtaW5oYUBzdHVkZW50LmV0 -aHouY2gwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM/WQ3bS/o+4qdxcZmf517QuUopWmPZp -a5QHEyu36dh2tIWMQSc0Qk1mRiV4eA4ZdHVkWzBKrEdus4xsT/iVNTmeOmQ/Py4uDqVgrRJqeqtM -AcgWk+SBPxITEmdgGtnAeIGu7VYcYhcLCHR5vhbXKPbSTswHD6qh/OsaSQ2Zfew5AgMBAAGjQTA/ -MAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMCIGA1UdEQQbMBmBF2FybWluaGFAc3R1ZGVudC5l -dGh6LmNoMA0GCSqGSIb3DQEBBQUAA4GBAAtm1j2ATEh3fi9HAYD8Dev+6VI/mPNXvSCFWtY7UoyH -0fy41dmLWyJZ81KcSR5804CdpGNrr4cKIWGfXZXEL9DOScaArgLsaO3nJThaTrc6koqvFgevUtNG -VKRDogEbDvZjsx7lZzSJz6Ioum4uM0zGIcCAgLz6FIAmqOO1SUZOMYIB2jCCAdYCAQEwdzByMScw -JQYDVQQDHh4AQQByAG0AaQBuACAASADkAGIAZQByAGwAaQBuAGcxCzAJBgNVBAYTAkNIMRIwEAYD -VQQHEwlPdHRlbmJhY2gxJjAkBgkqhkiG9w0BCQEWF2FybWluaGFAc3R1ZGVudC5ldGh6LmNoAgEB -MAkGBSsOAwIaBQCggbowGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN -MDYwODE1MTQxMjMxWjAjBgkqhkiG9w0BCQQxFgQUcfo6jNgOyesiBRskKXFqJtqkg3IwWwYJKoZI -hvcNAQkPMU4wTDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYF -Kw4DAgcwDQYIKoZIhvcNAwICASgwBwYFKw4DAh0wDQYJKoZIhvcNAQEBBQAEgYBLQB3SDXom8ruD -eoESk6zJQxLxZCgR92FCTHuWlSLHjLZWEAYU+i3Tn87tP5p9+fpj1nHZ1lQdZULONpYzpHjCzVUC -mQ2KQAhiY81UDA3+ctjnAaYUnZXy+bUVCNinNux8dshsSXO8pcFZKf/n75K7Im/aMznYCuSMgkU7 -sUsz4QAAAAAAAA== - -------=_NextPart_000_000B_01C6C085.9C581740-- - - diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/rawAS2.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/rawAS2.message deleted file mode 100644 index a7528332f..000000000 Binary files a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/rawAS2.message and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test128.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test128.message deleted file mode 100644 index b08afe0bc..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test128.message +++ /dev/null @@ -1,21 +0,0 @@ -Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7m" -Content-Description: S/MIME Encrypted Message - -MIAGCSqGSIb3DQEHA6CAMIACAQAxggFOMIIBSgIBADCBsjCBrDELMAkGA1UEBhMCQVQxEDAOBgNV -BAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTEaMBgGA1UEChMRVGlhbmkgU3Bpcml0IEdtYkgx -GTAXBgNVBAsTEERlbW8gRW52aXJvbm1lbnQxEDAOBgNVBAMTB1Rlc3QgQ0ExMTAvBgkqhkiG9w0B -CQEWIm1hc3NpbWlsaWFuby5tYXNpQHRpYW5pLXNwaXJpdC5jb20CAQkwDQYJKoZIhvcNAQEBBQAE -gYCsQAqbQQiRBnvrva4gJGG4ES/9EzpSxTNdM2RRT9XnE+efUCO8e6dyyRWbBZo9UCFr7ZV8/uCm -GTCX1ZGvsdP1nDHOnPKxDWasl6bzu0DtcXp5gYsxp9tXMmEh0pISSaeWctjjd7cz60vjsHg7y2j5 -bArDfqBtnu4sJLbw/+C+hjCABgkqhkiG9w0BBwEwHQYJYIZIAWUDBAECBBDJDeXO+Imz/4Ejw8dC -u7e0oIAEggHABb6EdlbZjFEQmw2Gc4k3uAvljBZX3munp4KE316Whb/thgJ014ntD5vGEZl5r2hD -byvlrvDVQPAlq7s5K78KyGxzfcbzw3CK44TgH9Lmnf8cnWnaim6pspy9YbnnG4r1RW6LSqMFIMbO -jrPuK0EKBaD5nuw1bFPo348841cltUqS/Tj3XpN9Cu5S2l7REcWWi7KP8qCOBlW/3D3WuW4TdOBg -p3gL8qbpbinThexnaCaEdipjfA1dDplxTxJND9KS9WHRzWzrAW0l7iJ4MWfVluCqUOQodOz22jrw -2OA462NjZv92/vJ6MZYlFhYZrRdD6qyM6cLMK3AbOuCbxJSQ8E+A0xbgDjDg86viOSvzVuoLC0R4 -C3IABR8EuHhz+1zBiFMYDIBNUqB7xXdROCo15LKSQqcPwvIjmcCxD86RxpR0xh2hnDC1Yf28th4W -9yzZ0xOm1z+yhkztAqkPlXewI5t5hFwULGsLHyZdCmjwL8ehuszkzFxubrbJzmF/kUhQD7ZyZSIZ -KvqfL/jcchyMMxNaGervpQEyzDZMiR21CJpZvFMTsQJwfVifskJlw2JRwgeWfeoSJYOzm0O8OrR0 -bQAAAAAAAAAAAAA= \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test192.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test192.message deleted file mode 100644 index c2b215f94..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test192.message +++ /dev/null @@ -1,21 +0,0 @@ -Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7m" -Content-Description: S/MIME Encrypted Message - -MIAGCSqGSIb3DQEHA6CAMIACAQAxggFOMIIBSgIBADCBsjCBrDELMAkGA1UEBhMCQVQxEDAOBgNV -BAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTEaMBgGA1UEChMRVGlhbmkgU3Bpcml0IEdtYkgx -GTAXBgNVBAsTEERlbW8gRW52aXJvbm1lbnQxEDAOBgNVBAMTB1Rlc3QgQ0ExMTAvBgkqhkiG9w0B -CQEWIm1hc3NpbWlsaWFuby5tYXNpQHRpYW5pLXNwaXJpdC5jb20CAQkwDQYJKoZIhvcNAQEBBQAE -gYCGPa/6qOi8gnjOXzubcVZjJ8QIiEFhR6JOsRAu/6lMjofAF3+3EGa9VQ2+bFWkHNLCu/DoM+wU -PI7bSIakfT4TsEGkol7z6U7oHQ144PJL0V8FVGh/KHqzqH269GWfw/8mDtDqFnktrA+C1MA4o3fI -4oVbQ04JVfpIfmFiiVc2cjCABgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEWBBAkEBLEk1HlKh+pDYAW -aorwoIAEggHAKXvIDQnLdv0Ut3e+L8J3wB88djODk+rnPnJYn10NHsvbsgBhISayYWP2+1qOHVWc -SFkRJvhbvhPn/rgNSNfoTJ+TVMGtZEa4N4az0bzQix/YW2Y3Ct3ez0dxX3Id9fJXpHm6/nZ2NMvc -vHl3M0Fz2gRb7Bb4zkWmy3CexA691wBXgnzwp1+PAikCTM5hMDxUZcBqr4aN/qJC63oduU4owKRu -04R3anTqCD4Zdg/qbAFbFHjXLb6uyrpBPRFXxzlQukRraY3VjEiKioaH2JkBUESaaecdK8Qg1rMW -wVqah/GEVssAgprty3QJQAtEFuoreQKwD7pu15QeEjKV2Ou+bBgcmhlKMxOPYYOGpaf+kYEUJOM3 -QWLWHZDUOv9/kx+UMcGpZAZTpY3VpK2LBAxnRoDhkkv2YSAA71l75ea7AylsRfucsp3PScAqnsqJ -sKrWMLAfRt8in+PrP+kzM2ENE96q2sjkPWz/QiglGFLcumQ71KulxRCciakBfp8G3V2AfZMceZbZ -45fcGXfYXlBmD8gRlpfTlRsrVbBp4i/owo5KChnd4BWHpcXO3YUMW2Fw+K7k8uP3820j0QkLTvgI -6wAAAAAAAAAAAAA= \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test256.message b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test256.message deleted file mode 100644 index d08295e3f..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/test256.message +++ /dev/null @@ -1,21 +0,0 @@ -Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7m" -Content-Description: S/MIME Encrypted Message - -MIAGCSqGSIb3DQEHA6CAMIACAQAxggFOMIIBSgIBADCBsjCBrDELMAkGA1UEBhMCQVQxEDAOBgNV -BAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTEaMBgGA1UEChMRVGlhbmkgU3Bpcml0IEdtYkgx -GTAXBgNVBAsTEERlbW8gRW52aXJvbm1lbnQxEDAOBgNVBAMTB1Rlc3QgQ0ExMTAvBgkqhkiG9w0B -CQEWIm1hc3NpbWlsaWFuby5tYXNpQHRpYW5pLXNwaXJpdC5jb20CAQkwDQYJKoZIhvcNAQEBBQAE -gYALxKaiVW43jHjDiJ4kC6N90lpyG0jxeJ7nynWaR4YkDiUQ/jE8cJwRX0jBQeWKRvf3Y+XhRuB3 -B76cKxBGTgMh6pCuLoIvgBJq54kqql/xz3hO7QRvvuHnEljlw2uhd0PQqQYe8oLdu1Yqyo9+9Jsx -I7QX43E2H5b3nNGND24djDCABgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBD+UNge0S52HEPuFBEq -IEvYoIAEggHAcOET1XS7H/OZALZ0cyns3p6kxgAlblE4BvMQnAen8VlhDehp130WdDF4jC+zRjza -ZftPatKq/Hlhu0wuj+FZESjy2d2hR7FT8qCqGda70IyyOhloG7Ym+17E0MyYQsH38i+uC8NjcSeo -egggsQoidePpg/9BNFMA4j6vORFcNBvnwj71mV2icx7mUud97cXobJnrfm3hmEmYkm7wL413cibH -b8K3yNu/hMqJViT0GvlhQdR9hDgu5i2WhiE2UTaFu3xL2xNhzXBvhOwj/gikzFIWva4S/2JfK3M8 -A0lYu6f1vYUF2jazi81wQFEF7qKyp7zx7X2iZjn8DDSCY73izHafF1JJijDFaHrD5245kaSJ7MKP -jJ/HWk9lbed0ay8f96QuvWEEKSy4xejy6w7DKxKr4icN7KDE5Nyc2ZAJxmCm50B7yHpNZfKQ38E+ -e/bCgvAESFcnw9pRJz9mXmwazxEvCpoO/ezgmgro+59CCRKqdUeOyyLQg6d7xqUcgeY1SoDxzEre -i4IBlig6+HWLs+9OPMa2fuYYIVZvg7mpeM4lEfdhRssWBWwTTmrtwRbAaT7BTCtlvfqzpHrycp5O -zgAAAAAAAAAAAAA= \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.expired.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.expired.eml deleted file mode 100644 index 7e37267b8..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.expired.eml +++ /dev/null @@ -1,52 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Subject: Validator Test Expired -Message-ID: <27789929.11157101715132.JavaMail.armin@lappi> -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1157101715093" - -------=_Part_0_10440721.1157101715093 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1157101715093 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFMDCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICqDCCAhGgAwIBAgIBEDANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA4MjYxMjU3NTJa -Fw0wNjA5MDEwODM5MjBaMF8xCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDEoMCYGA1UEAxMfU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgRXhwaXJlZDCB -nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwvaClfyxSvpK4A74gRYTGBqErtDe6bTOfzRtuuth -WXIJPWYxAjBCTBO8huqojDnsy6Gy10P3o2E4Labuw6ae9ayeyBTgwaTzGBsAg1kFD2Sd/RWogkru -aY1q3fmHGIMapfX7LwRxeWIqjNv9hvogzT73CWeOn1IiF2JpOuCqDWMCAwEAAaOBnjCBmzAMBgNV -HRMBAf8EAjAAMB0GA1UdDgQWBBSb+XFbXFWFQtmYtpRr3JXvnCmSFTBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBBAUAA4GBAKiY -QC6Cyr4IXHMw2AcL1jo5thNcoSVX1tK8xFC/jCzHgvy0CGkeFA/ilsn1rn9orLX0ypx85P0dI7MZ -vmYiGnTPuuvua9GDyW3z0ypur3YEHt2tcsvm4iiHZeRgyooNhItihomc4YNBE0rFMM5ewaMw5CLf -ZmXzxz8SGxhFiwj5MYIBdTCCAXECAQEwOTA0MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVk -TWFpbFZhbGlkYXRvclRlc3QgUm9vdAIBEDAJBgUrDgMCGgUAoIGTMBgGCSqGSIb3DQEJAzELBgkq -hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA2MDkwMTA5MDgzNVowIwYJKoZIhvcNAQkEMRYEFOfM -MMkli+RR5tUkh0EHvOIWN3FtMDQGCSqGSIb3DQEJDzEnMCUwCgYIKoZIhvcNAwcwDgYIKoZIhvcN -AwICAgCAMAcGBSsOAwIHMA0GCSqGSIb3DQEBAQUABIGAKp/WFAgXSoqWggroUrX858toEWdAPfOg -Bu602NOZKxmd3nRt9pHs+Wi3c5vrMHwYZE/3EVenjkz1VUHBU62bLvJi1RQ3Vso7BbTcU1PEy6dZ -JLaEpI/1XAIQzrMyeRTS4W8RFNO7vqnpzaq8WyrHOy1l2gxWmqsxwx+0Uj3NMWMAAAAAAAA= -------=_Part_0_10440721.1157101715093-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.extKeyUsage.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.extKeyUsage.eml deleted file mode 100644 index 9397f928b..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.extKeyUsage.eml +++ /dev/null @@ -1,53 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Message-ID: <27789929.11156777297553.JavaMail.armin@lappi> -Subject: Validator Test Extended Key Usage -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1156777297487" - -------=_Part_0_10440721.1156777297487 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1156777297487 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFSTCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICwTCCAiqgAwIBAgIBDjANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA4MjgxNDIwMzVa -Fw0wNzA4MjgxNDIwMzVaMGMxCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDEsMCoGA1UEAxMjU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgRXh0S2V5VXNh -Z2UwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANI+H1cJFFbL9i89eSEpsqngQysvRVmJc9zM -u+hDRUTcVxD2yvbzVK+6GKTUPObP679KrpfB55U/l9+OAMrTfDs43u6yahMMqxT1aHpsH2y7djso -8xkLKvx2M06kVoobxPZff/ApbAv+mWqzWmRis6DvAWd1eW8k+1vswE33V6OtAgMBAAGjgbMwgbAw -DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUYUF/LLxg5q1bayoD2ggruf3QGF8wXAYDVR0jBFUwU4AU -OpmgQ4KZyB+rEhVrAjOsNWi6PpahOKQ2MDQxCzAJBgNVBAYTAkNIMSUwIwYDVQQDExxTaWduZWRN -YWlsVmFsaWRhdG9yVGVzdCBSb290ggEBMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEF -BQcDCDANBgkqhkiG9w0BAQQFAAOBgQCsshhqSn+pThjrRMvmaMoPs4ZUQYZA1/F4xF8H7JRPGJb8 -zIIlKpQSuLV+b3vTpYKqjwSeauFhT+buUvmzrAkjBI3OkFHeNbETkOJU8EDG2Bb2IvlyZiaXY6wZ -hJT9RkSFDhv1Swd67CY97UBtW3KKnFgp4Rs2DSdiylvTwxYU8TGCAXUwggFxAgEBMDkwNDELMAkG -A1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QCAQ4wCQYFKw4D -AhoFAKCBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA4Mjgx -NTAxMzdaMCMGCSqGSIb3DQEJBDEWBBTnzDDJJYvkUebVJIdBB7ziFjdxbTA0BgkqhkiG9w0BCQ8x -JzAlMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAHBgUrDgMCBzANBgkqhkiG9w0BAQEFAASB -gEwdu6LKpc0BJ6zBA96xHDpF8zy90hNTQfoj+J145zy+2kuO2QdyElwxcsuGjjWiT+VzBNhDw4/R -k2TVu+i5BcubxxrHyM5kZ5Z9t+FdC6kikMStMmWQeC7VtatufkIA4h5DQ+v3/7nAdDxBEQpNB+Vc -nTNBWNohT0BqIdr4KJK6AAAAAAAA -------=_Part_0_10440721.1156777297487-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.fakeRoot.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.fakeRoot.crt deleted file mode 100644 index 2605b2d27..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.fakeRoot.crt +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICgDCCAemgAwIBAgIBATANBgkqhkiG9w0BAQUFADA0MQswCQYDVQQGEwJDSDEl -MCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA4MjUw -OTE5NDJaFw0yMjA4MjkwOTE5NDJaMDQxCzAJBgNVBAYTAkNIMSUwIwYDVQQDExxT -aWduZWRNYWlsVmFsaWRhdG9yVGVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDnwMC/V/kWv2+FhLrY0HsJfAyMuVSY8ep86SYW24kU3Ul7ukNzcMhd -MOaLlW4E4i1Tq9b6PADRbTNLcUzGovEDhN/h2uNywe5GTy1lJyzreSjPhTG9Nhsy -E5Kd5VVERopY2awba44dJDavgpuWjJUuzD2o/sJnbGnxne8oHr6j1QIDAQABo4Gh -MIGeMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAtJiqUe3RVQ9zEdchR1+gyw -zI1nMFwGA1UdIwRVMFOAFAtJiqUe3RVQ9zEdchR1+gywzI1noTikNjA0MQswCQYD -VQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdIIB -ATAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAxcoyBGMek8GtTPmi -uN1P1KNZNrl7JFffp3Z3FZ/cSgOlvhbgJ2qBMpSHOk7txgRmny0pbeXTRcesT9Wg -EtJ5LOw6k/nLyXszv9SZnp0QgJj4OKZUIhwPOvuZgxcBZyN83C40Fg7t10c8v804 -xY6nBCHlWmmq1UrBWb2kDkgjUmo= ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.keyUsage.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.keyUsage.eml deleted file mode 100644 index e9a972d44..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.keyUsage.eml +++ /dev/null @@ -1,52 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Message-ID: <27789929.11156769558002.JavaMail.armin@lappi> -Subject: Validator Test KeyUsage -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1156769557965" - -------=_Part_0_10440721.1156769557965 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1156769557965 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFMTCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICqTCCAhKgAwIBAgIBCDANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA4MjYxMzE0NTFa -Fw0wNzA4MjYxMzE0NTFaMGAxCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDEpMCcGA1UEAxMgU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgS2V5VXNhZ2Uw -gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL1u9FMa5xb8FqhYxynhy8HBFTXey0FlaVTPYefi -PSQAyzIvLEo8ykboCPvTiwfrV4ja7nQ5HrJr22/gP1YYK/VH+O9WcU42+cj2j0eRv+wr6PXmHAMc -au/RtONZW7uhKahdF9TDVLmkjxBvaGYfykMP63CcetN87aOxDTUemTizAgMBAAGjgZ4wgZswDAYD -VR0TAQH/BAIwADAdBgNVHQ4EFgQUO3drE7TX2tJ9Rw0WEjHKUTBje78wXAYDVR0jBFUwU4AUOpmg -Q4KZyB+rEhVrAjOsNWi6PpahOKQ2MDQxCzAJBgNVBAYTAkNIMSUwIwYDVQQDExxTaWduZWRNYWls -VmFsaWRhdG9yVGVzdCBSb290ggEBMA4GA1UdDwEB/wQEAwIEEDANBgkqhkiG9w0BAQQFAAOBgQA0 -NRzBd+OzlwId90bdmQWwpWDMDZ5PRtv+edmXlhqxlyybQQrxe6KkO5CzdkvsAs0Q+gBKYpVpk64H -ZTczpA3PFGNYeLyYAd7MOKBKhGo6QSQhaZpN3N9f6SnRNzoLDcs8Ym7BNSVNoAzWzSrmZMuuIWQv -nx0eEGWiC1hyRfehBDGCAXUwggFxAgEBMDkwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QCAQgwCQYFKw4DAhoFAKCBkzAYBgkqhkiG9w0BCQMxCwYJ -KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA4MjgxMjUyMzhaMCMGCSqGSIb3DQEJBDEWBBTn -zDDJJYvkUebVJIdBB7ziFjdxbTA0BgkqhkiG9w0BCQ8xJzAlMAoGCCqGSIb3DQMHMA4GCCqGSIb3 -DQMCAgIAgDAHBgUrDgMCBzANBgkqhkiG9w0BAQEFAASBgIJqukQ2lOCg1Oc1mM914vDvPb8WzHkP -M2bUBoVub47lYUKpKeOb/l+YXQCdDQbxps/vkbja7Atyyim2A0QVXykZoErzCG/gYdsXWMUrm3c/ -r4QlEvNdKg0KU12kt17ZtIy7gVYi4YKbuUyKf6TsmjkhUFLiYSLgGpNUdBgPpq0OAAAAAAAA -------=_Part_0_10440721.1156769557965-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.longValidity.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.longValidity.eml deleted file mode 100644 index 446da89e8..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.longValidity.eml +++ /dev/null @@ -1,53 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Subject: Validator Test LongValidity -Message-ID: <27789929.11157112083150.JavaMail.armin@lappi> -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1157112083112" - -------=_Part_0_10440721.1157112083112 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1157112083112 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFNzCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICrzCCAhigAwIBAgIBFDANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAgFw0wNjA5MDExMTAwMDBa -GA8yMTA2MDgwODExMDAwMFowZDELMAkGA1UEBhMCQ0gxJjAkBgkqhkiG9w0BCQEWF2FybWluaGFA -c3R1ZGVudC5ldGh6LmNoMS0wKwYDVQQDEyRTaWduZWRNYWlsVmFsaWRhdG9yVGVzdCBMb25nVmFs -aWRpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALVpQlq5az05GA6c+huKS5fDvc+3UqE/ -WDwEf8pJumJQGWfpi8O6Xs4IZrUfSSDqPTV7j5A/8j/f2AoCfd/7w2IeQ3C0HiYJIsD851fpQfcL -vlb4/fMWZije0gR64SZ6lVhSZIPOqMmIlyNOTJUyYurusMbjc96pJlC22gKFIuJ3AgMBAAGjgZ4w -gZswDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFI1j+O4aW9406QoSu1lr -K31q5iMEMFwGA1UdIwRVMFOAFDqZoEOCmcgfqxIVawIzrDVouj6WoTikNjA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdIIBATANBgkqhkiG9w0BAQQF -AAOBgQB0Lt0+td1mbBtP0R1QrCnAKwqpSOL99iAfBb1tg56LJE04upuF6zy0umlEzJ6UvkWafWJs -6A2UBh+yQk5CY1g8tKhV+GLrg/zfaCx8/qq17qpooHJbcu7mdojrElaBBj285ngyPxqoQdn10hJp -/0uSrY3T6ZMKwyVGEWwwm5i6ATGCAXUwggFxAgEBMDkwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMT -HFNpZ25lZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QCARQwCQYFKw4DAhoFAKCBkzAYBgkqhkiG9w0B -CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA5MDExMjAxMjNaMCMGCSqGSIb3DQEJ -BDEWBBTnzDDJJYvkUebVJIdBB7ziFjdxbTA0BgkqhkiG9w0BCQ8xJzAlMAoGCCqGSIb3DQMHMA4G -CCqGSIb3DQMCAgIAgDAHBgUrDgMCBzANBgkqhkiG9w0BAQEFAASBgDFNkMbiOzdhwsxDjEDjJYQd -X6t3B9MRCd+Pft9luGy9veG1LXWstqCEhHg1qe7LI2Av+/uACjdWzR2IpvSZnzll/rwI5LPLU8Pc -qE5NPJHG7AOCneNvC4o156GolOCuAS5aBVaY0vZsPcN3ICC7A6Vm+mkPw3N8LZxutUCQSlAhAAAA -AAAA -------=_Part_0_10440721.1157112083112-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.noEmail.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.noEmail.eml deleted file mode 100644 index 82f503452..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.noEmail.eml +++ /dev/null @@ -1,52 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Message-ID: <4815156.11156777376176.JavaMail.armin@lappi> -Subject: Validator Test NoEmail -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_30549415.1156777376134" - -------=_Part_0_30549415.1156777376134 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_30549415.1156777376134 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -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 -uakjejzgUAAAAAAAAA== -------=_Part_0_30549415.1156777376134-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.notYetValid.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.notYetValid.eml deleted file mode 100644 index c4940496c..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.notYetValid.eml +++ /dev/null @@ -1,52 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Message-ID: <27789929.11156777441202.JavaMail.armin@lappi> -Subject: Validator Test NotYetValid -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1156777441165" - -------=_Part_0_10440721.1156777441165 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1156777441165 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFNDCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICrDCCAhWgAwIBAgIBDTANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjEyMjgxNDE5MzFa -Fw0wNzEyMjgxNDE5MzFaMGMxCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDEsMCoGA1UEAxMjU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgTm90WWV0VmFs -aWQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAN4ESUKZllIFOH0/QbYzQEYzVP5er6v+UynN -IcICWjNWoTpyZYPz3OBf/dcFsYpiId010dvmlKUz/+73ePu0Azs/f/i3EYAfCOZq6I3S0kHTKlDf -cdYkyOC0G+3+K2mtPesnhUtY15CRC863aRAzOkfUwx3JY7r1eiRGoTxAmQ81AgMBAAGjgZ4wgZsw -DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUDrU8oJTrV0Gngioz349nweBkSREwXAYDVR0jBFUwU4AU -OpmgQ4KZyB+rEhVrAjOsNWi6PpahOKQ2MDQxCzAJBgNVBAYTAkNIMSUwIwYDVQQDExxTaWduZWRN -YWlsVmFsaWRhdG9yVGVzdCBSb290ggEBMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQQFAAOB -gQCK3JrnWfdgFD4QivLyk70X7n2ZUQ7nJ8MNLHyG/Oo5EY91MyuIV8T+D2nLID0O32OfoSU7/Krt -1rkTmYILOCE1a2w1j6ahjhN3RbIqKIU3mR1Ru/FdeCXZ/JbduMY571QeSmAW2kPZVfl5CWvqrfi7 -eFdO2zN1jqgRK/1PLUF4+TGCAXUwggFxAgEBMDkwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNp -Z25lZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QCAQ0wCQYFKw4DAhoFAKCBkzAYBgkqhkiG9w0BCQMx -CwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA4MjgxNTA0MDFaMCMGCSqGSIb3DQEJBDEW -BBTnzDDJJYvkUebVJIdBB7ziFjdxbTA0BgkqhkiG9w0BCQ8xJzAlMAoGCCqGSIb3DQMHMA4GCCqG -SIb3DQMCAgIAgDAHBgUrDgMCBzANBgkqhkiG9w0BAQEFAASBgKi/iQYZRy9dL+3UNfif/Nvj3QfX -TEJU0KCr5d6gylgwwSsjIXIndrDw53kpxyerKymd5niKNC1+tzfKL/F/YarNMjClq1XmUSKDk36W -nqCJ6QjEvG70i5rKH2uADgsLR6+h8v9YxMhL+b+eZTvch7RsYAuxJISxixuo6e88ffv/AAAAAAAA -------=_Part_0_10440721.1156777441165-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.crl b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.crl deleted file mode 100644 index 0640cf74d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.eml deleted file mode 100644 index ad665dbd0..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.revoked.eml +++ /dev/null @@ -1,52 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Subject: Validator Test Revoked -Message-ID: <27789929.11157107745125.JavaMail.armin@lappi> -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1157107745088" - -------=_Part_0_10440721.1157107745088 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1157107745088 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFMDCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICqDCCAhGgAwIBAgIBETANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA5MDEwODQyMDda -Fw0wNzA5MDEwODQyMDdaMF8xCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDEoMCYGA1UEAxMfU2lnbmFkTWFpbFZhbGlkYXRvclRlc3QgUmV2b2tlZDCB -nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoodPf0lqx/AEPFa2tBT7M1oyyqaiyy7e6xOE7VAf -1cT3BtXt89Axwbzi5f4X/9U+1LeY1548fE2Am8yv4xicn2rEwABJ6ZWsYr4bYLjhbJIlL8rFc4a7 -kVP5PD5qnfNRmWtV5jknCkMuZ5dMGq3pXRMv1YKI+dlBTzD2byB8Qf8CAwEAAaOBnjCBmzAMBgNV -HRMBAf8EAjAAMB0GA1UdDgQWBBRqK+a+aCU6kNT5qXlXGjukjukntzBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBBAUAA4GBANtx -kT4DnaoRV8dnb4dZgynP/h1LQ623aARgJaqsQ8ENxbDdaHUIBMP4qerTigJ/wRkpZykn9+Op2xNN -8vK4IXoDz8521fmhaD6Rs2sPei2toooYnjV1R8og1e/E6EjEKa/jfhbgfeZ5cpR/vt7hf5Icp7Df -fJkWfKrnZqs2dqCaMYIBdTCCAXECAQEwOTA0MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVk -TWFpbFZhbGlkYXRvclRlc3QgUm9vdAIBETAJBgUrDgMCGgUAoIGTMBgGCSqGSIb3DQEJAzELBgkq -hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA2MDkwMTEwNDkwNVowIwYJKoZIhvcNAQkEMRYEFOfM -MMkli+RR5tUkh0EHvOIWN3FtMDQGCSqGSIb3DQEJDzEnMCUwCgYIKoZIhvcNAwcwDgYIKoZIhvcN -AwICAgCAMAcGBSsOAwIHMA0GCSqGSIb3DQEBAQUABIGAEZ8GPKrbR3aA4MEH1ZYOhV2WFAvzVQMZ -k0LcrM0jQhJTCS7037qHoz4aCPK1wayzaCtZwQs7dh7qHiLXQmTvj5bR034gIqL0ySM6T/Ny6WN0 -I7ZoKj2gNvqOpBLrsytcGnW7a0XAnpWxEqegzVnJ8LjhAKUtLoes4nDqGTGrHzAAAAAAAAA= -------=_Part_0_10440721.1157107745088-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.root.crt b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.root.crt deleted file mode 100644 index 93576842d..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.root.crt +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICgDCCAemgAwIBAgIBATANBgkqhkiG9w0BAQUFADA0MQswCQYDVQQGEwJDSDEl -MCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA4MjYx -MjU3NTJaFw0xNjA4MjMxMjU3NTJaMDQxCzAJBgNVBAYTAkNIMSUwIwYDVQQDExxT -aWduZWRNYWlsVmFsaWRhdG9yVGVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDizYu6BPP9vKNQCxkAZ7RPVTcZNjNhyRdKfY3vlqCiDLd6pYPsMLcJ -2JoJiPWqSiBldOIaXLOIFrehiqHL3A31sVKhsuU4mU0W+XaF0FLvr2cx+8J2g1Y1 -zlHyojgFkEUmCbY62eVALyvQpzaJQWrH8dKg3iy9d+RgQiNdHlwmFwIDAQABo4Gh -MIGeMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFDqZoEOCmcgfqxIVawIzrDVo -uj6WMFwGA1UdIwRVMFOAFDqZoEOCmcgfqxIVawIzrDVouj6WoTikNjA0MQswCQYD -VQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdIIB -ATAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAVy8Xn1oFJzwebGC1 -3Tk92I6kdMRRppDwt0r2N04EO2gejM3AdehAtBkk3nk2jC+iuLmzvK3bl+O8HqHl -+WR2eKyoRTTUjj4v9zJJY9BAkVY5z7gP8GB8sZBQorhl6ebeTLpSvLC1cO8HsB/k -LNmil/XeLaR3qXW9n+ZcZ7395qw= ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.shortKey.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.shortKey.eml deleted file mode 100644 index eeae2d0e7..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.shortKey.eml +++ /dev/null @@ -1,50 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Message-ID: <4815156.11156777526635.JavaMail.armin@lappi> -Subject: Validator Test ShortKey -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_30549415.1156777526599" - -------=_Part_0_30549415.1156777526599 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_30549415.1156777526599 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -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 -------=_Part_0_30549415.1156777526599-- diff --git a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.validMail.eml b/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.validMail.eml deleted file mode 100644 index 6590e0efc..000000000 --- a/libraries/spongycastle/core/src/test/data/org/spongycastle/mail/smime/test/validator.validMail.eml +++ /dev/null @@ -1,53 +0,0 @@ -From: "Armin Hberling" -To: testmail@bouncycastle.org -Subject: Validator Valid Mail -Message-ID: <27789929.11157362574316.JavaMail.armin@lappi> -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; - boundary="----=_Part_0_10440721.1157362574277" - -------=_Part_0_10440721.1157362574277 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit - -This is a Test Mail! - -------=_Part_0_10440721.1157362574277 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFOTCCAoAw -ggHpoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25l -ZE1haWxWYWxpZGF0b3JUZXN0IFJvb3QwHhcNMDYwODI2MTI1NzUyWhcNMTYwODIzMTI1NzUyWjA0 -MQswCQYDVQQGEwJDSDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4s2LugTz/byjUAsZAGe0T1U3GTYzYckXSn2N75agogy3 -eqWD7DC3CdiaCYj1qkogZXTiGlyziBa3oYqhy9wN9bFSobLlOJlNFvl2hdBS769nMfvCdoNWNc5R -8qI4BZBFJgm2OtnlQC8r0Kc2iUFqx/HSoN4svXfkYEIjXR5cJhcCAwEAAaOBoTCBnjAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQ6maBDgpnIH6sSFWsCM6w1aLo+ljBcBgNVHSMEVTBTgBQ6maBD -gpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNpZ25lZE1haWxW -YWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBAFcv -F59aBSc8Hmxgtd05PdiOpHTEUaaQ8LdK9jdOBDtoHozNwHXoQLQZJN55Nowvori5s7yt25fjvB6h -5flkdnisqEU01I4+L/cySWPQQJFWOc+4D/BgfLGQUKK4Zenm3ky6UrywtXDvB7Af5CzZopf13i2k -d6l1vZ/mXGe9/easMIICsTCCAhqgAwIBAgIBFjANBgkqhkiG9w0BAQQFADA0MQswCQYDVQQGEwJD -SDElMCMGA1UEAxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdDAeFw0wNjA5MDEwOTIzMzZa -Fw0wNzA5MDEwOTIzMzZaMGgxCzAJBgNVBAYTAkNIMSYwJAYJKoZIhvcNAQkBFhdhcm1pbmhhQHN0 -dWRlbnQuZXRoei5jaDExMC8GA1UEAxMoU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgQ29ycnVwdFJv -b3RTdG9yZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAw2WD0isnkyL9BwALaABrTchtCMsU -2iPLO1uKjHJqtm7Yq0SczaFNL5nGA+SDmB+w8pd6873WZa2LMJ74+rWu6UDzhogKjEjQ2dGtT7nV -LgXdGxbhENhfBr70usLiZO8/g6f5Dfn97rlsZY+JTmn/cImS882BYUZPr7l4W47zce8CAwEAAaOB -njCBmzAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSHDJP6mOuxvt5UN9tg6teTOtEvtTBcBgNVHSME -VTBTgBQ6maBDgpnIH6sSFWsCM6w1aLo+lqE4pDYwNDELMAkGA1UEBhMCQ0gxJTAjBgNVBAMTHFNp -Z25lZE1haWxWYWxpZGF0b3JUZXN0IFJvb3SCAQEwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEB -BAUAA4GBAEOgb3NswNP+fWEXpAyOGrNqie06K19RHGTz2D6l+XaXI/JkxqkcIDAix4fiBeuf/HMN -LW6dW0dVSQ5MJhSW24h3avDx54JG/Ht++OC+jUqrN0vW0Gy2FZSU1+tTE2P5fyhL+BP/RTMYZJ+J -pY6nRjuKo9T/7cflvYuS6R15e+2xMYIBdTCCAXECAQEwOTA0MQswCQYDVQQGEwJDSDElMCMGA1UE -AxMcU2lnbmVkTWFpbFZhbGlkYXRvclRlc3QgUm9vdAIBFjAJBgUrDgMCGgUAoIGTMBgGCSqGSIb3 -DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA2MDkwNDA5MzYxNFowIwYJKoZIhvcN -AQkEMRYEFOfMMMkli+RR5tUkh0EHvOIWN3FtMDQGCSqGSIb3DQEJDzEnMCUwCgYIKoZIhvcNAwcw -DgYIKoZIhvcNAwICAgCAMAcGBSsOAwIHMA0GCSqGSIb3DQEBAQUABIGAlmuwaJgNHp3iTS4gcAnt -5QRH0vEMjejc54FKhxGBlYzynROkXnhVEWnNIGNxwZsr+SVZDcABnTuAEMsQA9duYOCubSpIkq/G -s8172uHpc/y4yvDpWekrEiF5X1LhJhvJxsac/6zAQl0yjO4waN78JzVSFK3lPzk1XA60oIOxhPoA -AAAAAAA= -------=_Part_0_10440721.1157362574277-- diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/3.1.bin b/libraries/spongycastle/core/src/test/data/rfc4134/3.1.bin deleted file mode 100644 index c4e92dd7c..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/3.1.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/3.2.bin b/libraries/spongycastle/core/src/test/data/rfc4134/3.2.bin deleted file mode 100644 index 9c82edf72..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/3.2.bin +++ /dev/null @@ -1 +0,0 @@ -0+ *H This is some sample content. \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.1.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.1.bin deleted file mode 100644 index d99f79d34..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.1.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.10.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.10.bin deleted file mode 100644 index d3815bdfa..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.10.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.11.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.11.bin deleted file mode 100644 index e203651ff..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.11.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.2.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.2.bin deleted file mode 100644 index c1b602413..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.2.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.3.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.3.bin deleted file mode 100644 index 1bc6b1549..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.3.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.4.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.4.bin deleted file mode 100644 index 3245c115d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.4.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.5.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.5.bin deleted file mode 100644 index 6608d9b13..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.5.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.6.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.6.bin deleted file mode 100644 index 1a7eb9591..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.6.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.7.bin b/libraries/spongycastle/core/src/test/data/rfc4134/4.7.bin deleted file mode 100644 index ea6b1df67..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/4.7.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.8.eml b/libraries/spongycastle/core/src/test/data/rfc4134/4.8.eml deleted file mode 100644 index 206ebf023..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/4.8.eml +++ /dev/null @@ -1,39 +0,0 @@ -MIME-Version: 1.0 -To: User2@examples.com -From: aliceDss@examples.com -Subject: Example 4.8 -Message-Id: <020906002550300.249@examples.com> -Date: Fri, 06 Sep 2002 00:25:21 -0300 -Content-Type: multipart/signed; - micalg=SHA1; - boundary="----=_NextBoundry____Fri,_06_Sep_2002_00:25:21"; - protocol="application/pkcs7-signature" - -This is a multi-part message in MIME format. - -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 - -This is some sample content. -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 -Content-Type: application/pkcs7-signature; name=smime.p7s -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7s - -MIIDdwYJKoZIhvcNAQcCoIIDaDCCA2QCAQExCTAHBgUrDgMCGjALBgkqhkiG9w0BBwGgggLgMIIC -3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDTk5MDgxNzAx -MTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1MwggG2MIIBKwYHKoZIzjgE -ATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE//lOFzSH4M1vNESNH+n6+koYkv -4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6iLVPE/sAcIR01diMPDtbPjVQh11Tl2 -EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6YaRWa4E8baj7g3IStii/eTzQKBgCY40BSJMqo5 -+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1nizaoFPVjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3q -nMkhijt2FOnOLl2jB80jhbgvMAF8bUmJEYk2RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGB -SmA5ujY5A4GEAAKBgFzjuVp1FJYLqXrd4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/ -+onyohs+JH09B41bY8i7RaWgSuOF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTS -ljf2YUeyxDKE8H5BQP1Gp2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8E -BAMCBsAwHwYDVR0jBBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwfft -Q3CkzhMB4v3jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqGSM44BAMD -MAAwLQIUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0NevTFjMGECAQEw -GDASMRAwDgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGjAJBgcqhkjOOAQDBC4wLAIUM/mGf6gk -gp9Z0XtRdGimJeB/BxUCFGFFJqwYRt1WYcIOQoGiaowqGzVI - -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21-- diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/4.9.eml b/libraries/spongycastle/core/src/test/data/rfc4134/4.9.eml deleted file mode 100644 index 543157589..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/4.9.eml +++ /dev/null @@ -1,28 +0,0 @@ -MIME-Version: 1.0 -To: User2@examples.com -From: aliceDss@examples.com -Subject: Example 4.9 -Message-Id: <021031164540300.304@examples.com> -Date: Thu, 31 Oct 2002 16:45:14 -0300 -Content-Type: application/pkcs7-mime; smime-type=signed-data; - name=smime.p7m -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7m - -MIIDmQYJKoZIhvcNAQcCoIIDijCCA4YCAQExCTAHBgUrDgMCGjAtBgkqhkiG9w0BBwGgIAQeDQpU -aGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQuoIIC4DCCAtwwggKboAMCAQICAgDIMAkGByqGSM44 -BAMwEjEQMA4GA1UEAxMHQ2FybERTUzAeFw05OTA4MTcwMTEwNDlaFw0zOTEyMzEyMzU5NTlaMBMx -ETAPBgNVBAMTCEFsaWNlRFNTMIIBtjCCASsGByqGSM44BAEwggEeAoGBAIGNze2D6gqeOT7CSCij -5EeT3Q7XqA7sU8WrhAhP/5Thc0h+DNbzREjR/p+vpKGJL+HZMMg23j+bv7dM3F9piuR10DcMkQiV -m96nXvn89J8v3UOoi1TxP7AHCEdNXYjDw7Wz41UIddU5dhDEeL3/nbCElzfy5FEbteQJllzzflvb -AhUA4kemGkVmuBPG2o+4NyErYov3k80CgYAmONAUiTKqOfs+bdlLWWpMdiM5BAI1XPLLGjDDHlBd -3ZtZ4s2qBT1YwHuiNrhuB699ikIlp/R1z0oIXks+kPht6pzJIYo7dhTpzi5dowfNI4W4LzABfG1J -iRGJNkS9+MiVSlNWteL5c+waYTYfEX/Cve3RUP+YdMLRgUpgObo2OQOBhAACgYBc47ladRSWC6l6 -3eM/qeysXty9txMRNKYWiSgRI9k0hmd1dRMSPUNbb+VRv/qJ8qIbPiR9PQeNW2PIu0WloErjhdbO -BoA/6CN+GvIkq1MauCcNHu8Iv2YUgFxirGX6FYvxuzTU0pY39mFHssQyhPB+QUD9RqdjTjPypeL0 -8oPluKOBgTB/MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbAMB8GA1UdIwQYMBaAFHBEPoIu -b4feStN14z0gvEMrk/EfMB0GA1UdDgQWBBS+bKGz48H37UNwpM4TAeL945f+zTAfBgNVHREEGDAW -gRRBbGljZURTU0BleGFtcGxlLmNvbTAJBgcqhkjOOAQDAzAAMC0CFFUMpBkfQiuJcSIzjYNqtT1n -a79FAhUAn2FTUlQLXLLd2ud2HeIQUltDXr0xYzBhAgEBMBgwEjEQMA4GA1UEAxMHQ2FybERTUwIC -AMgwBwYFKw4DAhowCQYHKoZIzjgEAwQuMCwCFD1cSW6LIUFzeXle3YI5SKSBer/sAhQmCq7s/CTF -HOEjgASeUjbMpx5g6A== diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/5.1.bin b/libraries/spongycastle/core/src/test/data/rfc4134/5.1.bin deleted file mode 100644 index 9750174a0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/5.1.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/5.2.bin b/libraries/spongycastle/core/src/test/data/rfc4134/5.2.bin deleted file mode 100644 index de17b0137..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/5.2.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/5.3.eml b/libraries/spongycastle/core/src/test/data/rfc4134/5.3.eml deleted file mode 100644 index 55013adcf..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/5.3.eml +++ /dev/null @@ -1,19 +0,0 @@ -MIME-Version: 1.0 -Message-Id: <00103112005203.00349@amyemily.ig.com> -Date: Tue, 31 Oct 2000 12:00:52 -0600 (Central Standard Time) -From: User1 -To: User2 -Subject: Example 5.3 -Content-Type: application/pkcs7-mime; - name=smime.p7m; - smime-type=enveloped-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7m - -MIIBHgYJKoZIhvcNAQcDoIIBDzCCAQsCAQAxgcAwgb0CAQAwJjASMRAwDgYDVQQDEwdDYXJsUlNB -AhBGNGvHgABWvBHTbi7NXXHQMA0GCSqGSIb3DQEBAQUABIGAC3EN5nGIiJi2lsGPcP2iJ97a4e8k -bKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eCbWx8+MDFbbpXadCDgO8/nUkUNYeNxJ -tuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ipdSJuNnkVY4/M652jKKHRLFf02hosdR8wQwYJKoZI -hvcNAQcBMBQGCCqGSIb3DQMHBAgtaMXpRwZRNYAgDsiSf8Z9P43LrY4OxUk660cu1lXeCSFOSOpO -J7FuVyU= - diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/6.0.bin b/libraries/spongycastle/core/src/test/data/rfc4134/6.0.bin deleted file mode 100644 index dfbfaaaed..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/6.0.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/7.1.bin b/libraries/spongycastle/core/src/test/data/rfc4134/7.1.bin deleted file mode 100644 index 9184c5852..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/7.1.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/7.2.bin b/libraries/spongycastle/core/src/test/data/rfc4134/7.2.bin deleted file mode 100644 index b95b34140..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/7.2.bin and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer b/libraries/spongycastle/core/src/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer deleted file mode 100644 index 7e96210fc..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/AliceDSSSignByCarlNoInherit.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivDSSSign.pri b/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivDSSSign.pri deleted file mode 100644 index e123ee72d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivDSSSign.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivRSASign.pri b/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivRSASign.pri deleted file mode 100644 index c885108e7..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/AlicePrivRSASign.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/AliceRSASignByCarl.cer b/libraries/spongycastle/core/src/test/data/rfc4134/AliceRSASignByCarl.cer deleted file mode 100644 index 848ba8726..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/AliceRSASignByCarl.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/BobPrivRSAEncrypt.pri b/libraries/spongycastle/core/src/test/data/rfc4134/BobPrivRSAEncrypt.pri deleted file mode 100644 index b0805b84a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/BobPrivRSAEncrypt.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/BobRSASignByCarl.cer b/libraries/spongycastle/core/src/test/data/rfc4134/BobRSASignByCarl.cer deleted file mode 100644 index 1068ab9d4..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/BobRSASignByCarl.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLEmpty.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLEmpty.crl deleted file mode 100644 index 42af3a09a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLEmpty.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForAll.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForAll.crl deleted file mode 100644 index 52b818d4a..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForAll.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForCarl.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForCarl.crl deleted file mode 100644 index 2a4e79499..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSCRLForCarl.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSSelf.cer b/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSSelf.cer deleted file mode 100644 index b47c682fd..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlDSSSelf.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivDSSSign.pri b/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivDSSSign.pri deleted file mode 100644 index 4b1fdc00d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivDSSSign.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivRSASign.pri b/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivRSASign.pri deleted file mode 100644 index 7fee220a6..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlPrivRSASign.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLEmpty.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLEmpty.crl deleted file mode 100644 index c3eb30466..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLEmpty.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForAll.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForAll.crl deleted file mode 100644 index 3708ccbf5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForAll.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForCarl.crl b/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForCarl.crl deleted file mode 100644 index 2ce8e4db5..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSACRLForCarl.crl and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSASelf.cer b/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSASelf.cer deleted file mode 100644 index ce6737d90..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/CarlRSASelf.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/DianeDSSSignByCarlInherit.cer b/libraries/spongycastle/core/src/test/data/rfc4134/DianeDSSSignByCarlInherit.cer deleted file mode 100644 index e0fa3ac75..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/DianeDSSSignByCarlInherit.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivDSSSign.pri b/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivDSSSign.pri deleted file mode 100644 index 68ddc9594..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivDSSSign.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivRSASignEncrypt.pri b/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivRSASignEncrypt.pri deleted file mode 100644 index b7bcb2953..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/DianePrivRSASignEncrypt.pri and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/DianeRSASignByCarl.cer b/libraries/spongycastle/core/src/test/data/rfc4134/DianeRSASignByCarl.cer deleted file mode 100644 index 062260a9d..000000000 Binary files a/libraries/spongycastle/core/src/test/data/rfc4134/DianeRSASignByCarl.cer and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/ExContent.bin b/libraries/spongycastle/core/src/test/data/rfc4134/ExContent.bin deleted file mode 100644 index 22ddba65c..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/ExContent.bin +++ /dev/null @@ -1 +0,0 @@ -This is some sample content. \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/data/rfc4134/rfc4134.txt b/libraries/spongycastle/core/src/test/data/rfc4134/rfc4134.txt deleted file mode 100644 index a53cec5e1..000000000 --- a/libraries/spongycastle/core/src/test/data/rfc4134/rfc4134.txt +++ /dev/null @@ -1,7619 +0,0 @@ - - - - - - -Network Working Group P. Hoffman, Ed. -Request for Comments: 4134 Internet Mail Consortium -Category: Informational July 2005 - - - Examples of S/MIME Messages - -Status of This Memo - - This memo provides information for the Internet community. It does - not specify an Internet standard of any kind. Distribution of this - memo is unlimited. - -Copyright Notice - - Copyright (C) The Internet Society (2005). - -Abstract - - This document gives examples of message bodies formatted using - S/MIME. Specifically, it has examples of Cryptographic Message - Syntax (CMS) objects and S/MIME messages (including the MIME - formatting). It includes examples of many common CMS formats. The - purpose of this document is to help increase interoperability for - S/MIME and other protocols that rely on CMS. - - - - - - - - - - - - - - - - - - - - - - - - - - -Hoffman, Ed. Informational [Page 1] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -Table of Contents - - 1. Introduction ................................................ 3 - 2. Constants Used in the Examples .............................. 3 - 2.1. Content of Documents .................................. 4 - 2.2. Private Keys .......................................... 4 - 2.3. Certificates .......................................... 13 - 2.4. CRLs .................................................. 33 - 3. Trivial Examples ............................................ 39 - 3.1. ContentInfo with Data Type, BER ....................... 39 - 3.2. ContentInfo with Data Type, DER ....................... 39 - 4. Signed-data ................................................. 39 - 4.1. Basic Signed Content, DSS ............................. 39 - 4.2. Basic Signed Content, RSA ............................. 44 - 4.3. Basic Signed Content, Detached Content ................ 49 - 4.4. Fancier Signed Content ................................ 53 - 4.5. All RSA Signed Message ................................ 68 - 4.6. Multiple Signers ...................................... 75 - 4.7. Signing Using SKI ..................................... 83 - 4.8. S/MIME multipart/signed Message ....................... 87 - 4.9. S/MIME application/pkcs7-mime Signed Message .......... 88 - 4.10. SignedData with Attributes ............................ 89 - 4.11. SignedData with Certificates Only ..................... 101 - 5. Enveloped-data .............................................. 109 - 5.1. Basic Encrypted Content, TripleDES and RSA ............ 109 - 5.2. Basic Encrypted Content, RC2/128 and RSA .............. 110 - 5.3. S/MIME application/pkcs7-mime Encrypted Message ....... 112 - 6. Digested-data ............................................... 112 - 7. Encrypted-data .............................................. 113 - 7.1. Simple EncryptedData .................................. 113 - 7.2. EncryptedData with Unprotected Attributes ............. 114 - 8. Security Considerations ..................................... 115 - 9. References .................................................. 115 - 9.1. Normative References .................................. 115 - 9.2. Informative References ................................ 115 - A. Binaries of the Examples .................................... 116 - A.1. How the Binaries and Extractor Works .................. 116 - A.2. Example Extraction Program ............................ 116 - B. Examples in Order of Appearance ............................. 118 - C. Acknowledgements ............................................ 135 - - - - - - - - - - - -Hoffman, Ed. Informational [Page 2] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -1. Introduction - - The examples in this document show the structure and format of CMS - message bodies, as described in [CMS]. They are useful to - implementors who use protocols that rely on CMS, such as the S/MIME - message format protocol. There are also examples of simple S/MIME - messages [SMIME-MSG] (including the MIME headers). - - Every example in this document has been checked by two different - implementors. This strongly indicates (but does not assure) that the - examples are correct. All CMS implementors must read the CMS - document carefully before implementing from it. No one should use - the examples in this document as stand-alone explanations of how to - create CMS message bodies. - - This document explicitly does not attempt to cover many PKIX [PKIX] - examples. Documents with examples of that format may be forthcoming. - Also, note that [DVCS], which covers PKIX Data Validation and - Certification Server Protocols, has examples of formats for its - protocol. - - The examples shown here were created and validated by many different - people over a long period of time. Because of this, some of the - dates used in the examples are many years in the past. This, plus - the fact that some of the certificates in the examples have very long - lifespans, may cause problems in some test situations. - -2. Constants Used in the Examples - - This section defines the data used in the rest of the document. The - names of the constants indicate their use. For example, - AlicePrivDSSSign is the private part of Alice's DSS signing key. - - - Alice is the creator of the message bodies in this document. - - - Bob is the recipient of the messages. - - - Carl is a CA. - - - Diane sometimes gets involved with these folks. - - - Erica also sometimes gets involved. - - - - - - - - - -Hoffman, Ed. Informational [Page 3] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -2.1. Content of Documents - - ExContent is the following sentence: - - This is some sample content. - - That is, it is the string of characters starting with "T" up to and - including the ".". - - The hex for ExContent is - - 5468 6973 2069 7320 736f 6d65 2073 616d 706c 6520 636f 6e74 656e 742e - - The MD5 hash of ExContent is - - 9898 cac8 fab7 691f f89d c207 24e7 4a04 - - The SHA-1 hash of ExContent is - - 406a ec08 5279 ba6e 1602 2d9e 0629 c022 9687 dd48 - -2.2. Private Keys - - The following private keys are needed to create the samples. To find - the public keys, see the certificates in the next section. - - AlicePrivDSSSign = - 0 30 331: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 299: SEQUENCE { - 11 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 20 30 286: SEQUENCE { - 24 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 156 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - - - -Hoffman, Ed. Informational [Page 4] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 179 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 310 04 23: OCTET STRING, encapsulates { - 312 02 21: INTEGER - : 00 BB 44 46 D1 A5 C9 46 07 2E D0 FE - : 7A D6 92 07 F0 9A 85 89 3F - : } - : } - - AlicePrivRSASign = - 0 30 630: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 13: SEQUENCE { - 9 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 20 05 0: NULL - : } - 22 04 608: OCTET STRING, encapsulates { - 26 30 604: SEQUENCE { - 30 02 1: INTEGER 0 - 33 02 129: INTEGER - : 00 E0 89 73 39 8D D8 F5 F5 E8 87 76 - : 39 7F 4E B0 05 BB 53 83 DE 0F B7 AB - : DC 7D C7 75 29 0D 05 2E 6D 12 DF A6 - : 86 26 D4 D2 6F AA 58 29 FC 97 EC FA - : 82 51 0F 30 80 BE B1 50 9E 46 44 F1 - : 2C BB D8 32 CF C6 68 6F 07 D9 B0 60 - : AC BE EE 34 09 6A 13 F5 F7 05 05 93 - : DF 5E BA 35 56 D9 61 FF 19 7F C9 81 - : E6 F8 6C EA 87 40 70 EF AC 6D 2C 74 - : 9F 2D FA 55 3A B9 99 77 02 A6 48 52 - : 8C 4E F3 57 38 57 74 57 5F - 165 02 3: INTEGER 65537 - 170 02 128: INTEGER - : 00 A4 03 C3 27 47 76 34 34 6C A6 86 - - - -Hoffman, Ed. Informational [Page 5] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : B5 79 49 01 4B 2E 8A D2 C8 62 B2 C7 - : D7 48 09 6A 8B 91 F7 36 F2 75 D6 E8 - : CD 15 90 60 27 31 47 35 64 4D 95 CD - : 67 63 CE B4 9F 56 AC 2F 37 6E 1C EE - : 0E BF 28 2D F4 39 90 6F 34 D8 6E 08 - : 5B D5 65 6A D8 41 F3 13 D7 2D 39 5E - : FE 33 CB FF 29 E4 03 0B 3D 05 A2 8F - : B7 F1 8E A2 76 37 B0 79 57 D3 2F 2B - : DE 87 06 22 7D 04 66 5E C9 1B AF 8B - : 1A C3 EC 91 44 AB 7F 21 - 301 02 65: INTEGER - : 00 F6 D6 E0 22 21 4C 5F 0A 70 FF 27 - : FC E5 B3 50 6A 9D E5 0F B5 85 96 C6 - : 40 FA A8 0A B4 9B 9B 0C 55 C2 01 1D - : F9 37 82 8A 14 C8 F2 93 0E 92 CD A5 - : 66 21 B9 3C D2 06 BF B4 55 31 C9 DC - : AD CA 98 2D D1 - 368 02 65: INTEGER - : 00 E8 DE B0 11 25 09 D2 02 51 01 DE - : 8A E8 98 50 F5 77 77 61 A4 45 93 6B - : 08 55 96 73 5D F4 C8 5B 12 93 22 73 - : 8B 7F D3 70 7F F5 A4 AA BB 74 FD 3C - : 22 6A DA 38 91 2A 86 5B 6C 14 E8 AE - : 4C 9E FA 8E 2F - 435 02 65: INTEGER - : 00 97 4C F0 87 9B 17 7F EE 1B 83 1B - : 14 B6 0B 6A 90 5F 86 27 51 E1 B7 A0 - : 7F F5 E4 88 E3 59 B9 F9 1E 9B D3 29 - : 77 38 22 48 D7 22 B1 25 98 BA 3D 59 - : 53 B7 FA 1E 20 B2 C8 51 16 23 75 93 - : 51 E7 AB CD F1 - 502 02 64: INTEGER - : 2C F0 24 5B FA A0 CD 85 22 EA D0 6E - : 4F FA 6C CD 21 D3 C8 E4 F1 84 44 48 - : 64 73 D7 29 8F 7E 46 8C EC 15 DE E4 - : 51 B3 94 E7 2C 99 2D 55 65 7B 24 EA - : A3 62 1F 3E 6C 4D 67 41 11 3B E1 BE - : E9 83 02 83 - 568 02 64: INTEGER - : 58 88 D9 A1 50 38 84 6A AB 03 BC BB - : DF 4B F4 9C 6F B8 B4 2A 25 FB F6 E4 - : 05 2F 6E E2 88 89 21 6F 4B 25 9E D0 - : AB 50 93 CA BF 40 71 EC 21 25 C5 7F - : FB 02 E9 21 96 B8 33 CD E2 C6 95 EE - : 6F 8D 5F 28 - : } - : } - : } - - - -Hoffman, Ed. Informational [Page 6] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - BobPrivRSAEncrypt = - 0 30 645: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 13: SEQUENCE { - 9 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 20 05 0: NULL - : } - 22 04 608: OCTET STRING, encapsulates { - 26 30 604: SEQUENCE { - 30 02 1: INTEGER 0 - 33 02 129: INTEGER - : 00 A9 E1 67 98 3F 39 D5 5F F2 A0 93 - : 41 5E A6 79 89 85 C8 35 5D 9A 91 5B - : FB 1D 01 DA 19 70 26 17 0F BD A5 22 - : D0 35 85 6D 7A 98 66 14 41 5C CF B7 - : B7 08 3B 09 C9 91 B8 19 69 37 6D F9 - : 65 1E 7B D9 A9 33 24 A3 7F 3B BB AF - : 46 01 86 36 34 32 CB 07 03 59 52 FC - : 85 8B 31 04 B8 CC 18 08 14 48 E6 4F - : 1C FB 5D 60 C4 E0 5C 1F 53 D3 7F 53 - : D8 69 01 F1 05 F8 7A 70 D1 BE 83 C6 - : 5F 38 CF 1C 2C AA 6A A7 EB - 165 02 3: INTEGER 65537 - 170 02 128: INTEGER - : 67 CD 48 4C 9A 0D 8F 98 C2 1B 65 FF - : 22 83 9C 6D F0 A6 06 1D BC ED A7 03 - : 88 94 F2 1C 6B 0F 8B 35 DE 0E 82 78 - : 30 CB E7 BA 6A 56 AD 77 C6 EB 51 79 - : 70 79 0A A0 F4 FE 45 E0 A9 B2 F4 19 - : DA 87 98 D6 30 84 74 E4 FC 59 6C C1 - : C6 77 DC A9 91 D0 7C 30 A0 A2 C5 08 - : 5E 21 71 43 FC 0D 07 3D F0 FA 6D 14 - : 9E 4E 63 F0 17 58 79 1C 4B 98 1C 3D - : 3D B0 1B DF FA 25 3B A3 C0 2C 98 05 - : F6 10 09 D8 87 DB 03 19 - 301 02 65: INTEGER - : 00 D0 C3 22 C6 DE A2 99 18 76 8F 8D - : BC A6 75 D6 66 3F D4 8D 45 52 8C 76 - : F5 72 C4 EB F0 46 9A F1 3E 5C AA 55 - : 0B 9B DA DD 6B 6D F8 FC 3B 3C 08 43 - : 93 B5 5B FE CE EA FD 68 84 23 62 AF - : F3 31 C2 B9 E5 - 368 02 65: INTEGER - : 00 D0 51 FC 1E 22 B7 5B ED B5 8E 01 - : C8 D7 AB F2 58 D4 F7 82 94 F3 53 A8 - : 19 45 CB 66 CA 28 19 5F E2 10 2B F3 - - - -Hoffman, Ed. Informational [Page 7] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 8F EC 6A 30 74 F8 4D 11 F4 A7 C4 20 - : B5 47 21 DC 49 01 F9 0A 20 29 F0 24 - : 08 84 60 7D 8F - 435 02 64: INTEGER - : 34 BA 64 C9 48 28 57 74 D7 55 50 DE - : 6A 48 EF 1B 2A 5A 1C 48 7B 1E 21 59 - : C3 60 3B 9B 97 A9 C0 EF 18 66 A9 4E - : 62 52 38 84 CE E5 09 88 48 94 69 C5 - : 20 14 99 5A 57 FE 23 6C E4 A7 23 7B - : D0 80 B7 85 - 501 02 65: INTEGER - : 00 9E 2F B3 37 9A FB 0B 06 5D 57 E1 - : 09 06 A4 5D D9 90 96 06 05 5F 24 06 - : 40 72 9C 3A 88 85 9C 87 0F 9D 62 12 - : 88 16 68 A8 35 1A 1B 43 E8 38 C0 98 - : 69 AF 03 0A 48 32 04 4E E9 0F 8F 77 - : 7D 34 30 25 07 - 568 02 64: INTEGER - : 57 18 67 D6 0A D2 B5 AB C2 BA 7A E7 - : 54 DA 9C 05 4F 81 D4 EF 01 89 1E 32 - : 3D 69 CB 31 C4 52 C8 54 55 25 00 3B - : 1C 2A 7C 26 50 D5 E9 A6 D7 77 CB CF - : 15 F5 EE 0B D5 8D EE B3 AF 4C A1 7C - : 63 46 41 F6 - : } - : } - 634 A0 13: [0] { - 636 30 11: SEQUENCE { - 638 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 643 31 4: SET { - 645 03 2: BIT STRING 0 unused bits - : '00001000'B (bit 3) - : Error: Spurious zero bits in bitstring. - : } - : } - : } - : } - - CarlPrivDSSSign = - 0 30 330: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 299: SEQUENCE { - 11 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 20 30 286: SEQUENCE { - 24 02 129: INTEGER - : 00 B6 49 18 3E 8A 44 C1 29 71 94 4C - - - -Hoffman, Ed. Informational [Page 8] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 01 C4 12 C1 7A 79 CB 54 4D AB 1E 81 - : FB C6 4C B3 0E 94 09 06 EB 01 D4 B1 - : C8 71 4B C7 45 C0 50 25 5D 9C FC DA - : E4 6D D3 E2 86 48 84 82 7D BA 15 95 - : 4A 16 F6 46 ED DD F6 98 D2 BB 7E 8A - : 0A 8A BA 16 7B B9 50 01 48 93 8B EB - : 25 15 51 97 55 DC 8F 53 0E 10 A9 50 - : FC 70 B7 CD 30 54 FD DA DE A8 AA 22 - : B5 A1 AF 8B CC 02 88 E7 8B 70 5F B9 - : AD E1 08 D4 6D 29 2D D6 E9 - 156 02 21: INTEGER - : 00 DD C1 2F DF 53 CE 0B 34 60 77 3E - : 02 A4 BF 8A 5D 98 B9 10 D5 - 179 02 128: INTEGER - : 0C EE 57 9B 4B BD DA B6 07 6A 74 37 - : 4F 55 7F 9D ED BC 61 0D EB 46 59 3C - : 56 0B 2B 5B 0C 91 CE A5 62 52 69 CA - : E1 6D 3E BD BF FE E1 B7 B9 2B 61 3C - : AD CB AE 45 E3 06 AC 8C 22 9D 9C 44 - : 87 0B C7 CD F0 1C D9 B5 4E 5D 73 DE - : AF 0E C9 1D 5A 51 F5 4F 44 79 35 5A - : 73 AA 7F 46 51 1F A9 42 16 9C 48 EB - : 8A 79 61 B4 D5 2F 53 22 44 63 1F 86 - : B8 A3 58 06 25 F8 29 C0 EF BA E0 75 - : F0 42 C4 63 65 52 9B 0A - : } - : } - 310 04 22: OCTET STRING, encapsulates { - 312 02 20: INTEGER - : 19 B3 38 A5 21 62 31 50 E5 7F B9 3E - : 08 46 78 D1 3E B5 E5 72 - : } - : } - - CarlPrivRSASign = - 0 30 630: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 13: SEQUENCE { - 9 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 20 05 0: NULL - : } - 22 04 608: OCTET STRING, encapsulates { - 26 30 604: SEQUENCE { - 30 02 1: INTEGER 0 - 33 02 129: INTEGER - : 00 E4 4B FF 18 B8 24 57 F4 77 FF 6E - - - -Hoffman, Ed. Informational [Page 9] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 73 7B 93 71 5C BC 33 1A 92 92 72 23 - : D8 41 46 D0 CD 11 3A 04 B3 8E AF 82 - : 9D BD 51 1E 17 7A F2 76 2C 2B 86 39 - : A7 BD D7 8D 1A 53 EC E4 00 D5 E8 EC - : A2 36 B1 ED E2 50 E2 32 09 8A 3F 9F - : 99 25 8F B8 4E AB B9 7D D5 96 65 DA - : 16 A0 C5 BE 0E AE 44 5B EF 5E F4 A7 - : 29 CB 82 DD AC 44 E9 AA 93 94 29 0E - : F8 18 D6 C8 57 5E F2 76 C4 F2 11 60 - : 38 B9 1B 3C 1D 97 C9 6A F1 - 165 02 3: INTEGER 65537 - 170 02 129: INTEGER - : 00 AE 73 E4 5B 5F 5B 66 5A C9 D7 C6 - : EF 38 5F 53 21 2A 2F 62 FE DE 29 9A - : 7A 86 67 36 E7 7D 62 78 75 3D 73 A0 - : BC 29 0E F3 8F BD C3 C9 C9 B6 F8 BA - : D6 13 9B C3 97 7A CA 6A F0 B8 85 65 - : 4E 0F BD A7 A8 F7 54 06 41 BD EB DC - : 20 77 90 DF 61 9B 9A 6F 74 DE EA 3B - : D4 9C 87 60 ED 76 84 F1 6A 30 37 D5 - : E0 90 16 F8 80 47 C3 19 6B ED 75 77 - : BA 4A ED 39 B6 5D 02 47 3B 5F 1B C8 - : 1C AB CB E8 F5 26 3F A4 81 - 302 02 65: INTEGER - : 00 FF DF 09 A0 56 0B 42 52 9E C4 4D - : 93 B3 B0 49 BB DE E7 81 7D 28 99 D0 - : B1 48 BA 0B 39 E1 1C 7B 22 18 33 B6 - : 40 F6 BF DC AE 1D D0 A1 AD 04 71 5A - : 61 0A 6E 3B CE 30 DA 36 9F 65 25 29 - : BB A7 0E 7F 0B - 369 02 65: INTEGER - : 00 E4 69 68 18 5F F9 57 D0 7C 66 89 - : 0F BA 63 1D 72 CB 20 A4 81 76 64 89 - : CD 7D D1 C2 27 A9 2E AC 7A 56 9A 85 - : 07 D9 30 03 A3 03 AB 7F 88 92 50 24 - : 01 AA 1B 07 1F 20 4C B7 C9 7B 56 F7 - : B6 C2 7E AB 73 - 436 02 64: INTEGER - : 57 36 6C 8F 8C 04 76 6C B6 D4 EE 24 - : 44 00 F8 80 E2 AF 42 01 A9 0F 14 84 - : F8 E7 00 E0 8F 8C 27 A4 2D 5F A2 E5 - : 6D B5 63 C0 AD 44 E9 76 91 A7 19 49 - : 2E 46 F8 77 85 4B 3B 87 04 F0 AF D2 - : D8 54 26 95 - 502 02 64: INTEGER - : 64 A1 0F AC 55 74 1B BD 0D 61 7B 17 - : 03 CD B0 E6 A7 19 1D 80 AF F1 41 48 - : D8 1A B6 88 14 A0 2C 7A C5 76 D4 0F - - - -Hoffman, Ed. Informational [Page 10] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 0E 1F 7A 2A B2 6E 37 04 AB 39 45 73 - : BA 46 A8 0F 8D 82 5F 22 14 05 CF A2 - : A3 F3 7C 83 - 568 02 64: INTEGER - : 26 1E 1D 1C A1 98 2B E4 DB 38 E8 57 - : 6E 6B 73 19 88 61 3A FA 74 4A 36 8B - : 47 68 5D 50 EB 26 E3 EA 7D 9B 4E 65 - : A9 AF 7B AB 4B 2E 76 51 3D A8 D0 11 - : AB A3 D6 A8 C0 27 36 1D 54 0B AA A7 - : D1 6D 8D FA - : } - : } - : } - - DianePrivDSSSign = - 0 30 331: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 299: SEQUENCE { - 11 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 20 30 286: SEQUENCE { - 24 02 129: INTEGER - : 00 B6 49 18 3E 8A 44 C1 29 71 94 4C - : 01 C4 12 C1 7A 79 CB 54 4D AB 1E 81 - : FB C6 4C B3 0E 94 09 06 EB 01 D4 B1 - : C8 71 4B C7 45 C0 50 25 5D 9C FC DA - : E4 6D D3 E2 86 48 84 82 7D BA 15 95 - : 4A 16 F6 46 ED DD F6 98 D2 BB 7E 8A - : 0A 8A BA 16 7B B9 50 01 48 93 8B EB - : 25 15 51 97 55 DC 8F 53 0E 10 A9 50 - : FC 70 B7 CD 30 54 FD DA DE A8 AA 22 - : B5 A1 AF 8B CC 02 88 E7 8B 70 5F B9 - : AD E1 08 D4 6D 29 2D D6 E9 - 156 02 21: INTEGER - : 00 DD C1 2F DF 53 CE 0B 34 60 77 3E - : 02 A4 BF 8A 5D 98 B9 10 D5 - 179 02 128: INTEGER - : 0C EE 57 9B 4B BD DA B6 07 6A 74 37 - : 4F 55 7F 9D ED BC 61 0D EB 46 59 3C - : 56 0B 2B 5B 0C 91 CE A5 62 52 69 CA - : E1 6D 3E BD BF FE E1 B7 B9 2B 61 3C - : AD CB AE 45 E3 06 AC 8C 22 9D 9C 44 - : 87 0B C7 CD F0 1C D9 B5 4E 5D 73 DE - : AF 0E C9 1D 5A 51 F5 4F 44 79 35 5A - : 73 AA 7F 46 51 1F A9 42 16 9C 48 EB - : 8A 79 61 B4 D5 2F 53 22 44 63 1F 86 - : B8 A3 58 06 25 F8 29 C0 EF BA E0 75 - : F0 42 C4 63 65 52 9B 0A - - - -Hoffman, Ed. Informational [Page 11] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - 310 04 23: OCTET STRING, encapsulates { - 312 02 21: INTEGER - : 00 96 95 F9 E0 C1 E0 41 2D 32 0F 8B - : 42 52 93 2A E6 1E 0E 21 29 - : } - : } - - DianePrivRSASignEncrypt = - 0 30 631: SEQUENCE { - 4 02 1: INTEGER 0 - 7 30 13: SEQUENCE { - 9 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 20 05 0: NULL - : } - 22 04 609: OCTET STRING, encapsulates { - 26 30 605: SEQUENCE { - 30 02 1: INTEGER 0 - 33 02 129: INTEGER - : 00 D6 FD B8 C0 70 C6 4C 25 EC EA CF - : EA 7C BB A2 62 FA F0 E6 32 3A 53 FF - : B1 92 5A 17 F4 20 E1 99 24 82 0A D0 - : F6 7C FB 44 CA 8B 27 06 F1 7E 26 03 - : A9 76 9D CF EC A0 2C 70 96 F2 83 42 - : F6 D4 B7 28 0A BB F8 BF 4A 4C 19 3F - : 07 DB A0 C1 60 1E B7 7E 67 F7 DE B1 - : C3 60 49 AC 45 D7 F8 C6 EF 08 37 21 - : 93 47 EE F0 73 35 72 B0 02 C4 F3 11 - : C3 5E 47 E5 0A B7 83 F1 DB 74 69 64 - : 8B 44 1D 95 5D CD 28 C0 85 - 165 02 3: INTEGER 65537 - 170 02 128: INTEGER - : 3D BD CD C2 0E 61 14 5B 4B E7 BF 60 - : 23 04 2B C5 6B 35 A5 96 45 23 FC 69 - : 7D 93 3C 0F D3 25 96 BA 62 52 42 E2 - : 96 CF FE 58 80 8F EB B1 8C BD D4 0D - : 65 D0 3A 77 45 24 9E 0C EB 86 80 C3 - : AC 21 11 71 44 E3 B2 A8 A9 2E AC 17 - : D2 A3 84 25 63 B5 BC 2F 1E DD F6 21 - : FF 15 20 24 5B F1 80 2F D5 41 0E 32 - : 24 F7 D4 4A 32 9E B9 49 D8 19 8E 3F - : 39 8D 62 BD 80 FC 0C 24 92 93 E4 C3 - : D7 05 91 53 BB 96 B6 41 - 301 02 65: INTEGER - : 00 F3 B8 3F 4A D1 94 B0 91 60 13 41 - - - -Hoffman, Ed. Informational [Page 12] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 92 0D 8D 44 3F 77 1D FF 96 23 44 08 - : D4 0B 70 C9 1A AF E9 90 94 F2 B0 D5 - : 5F 4F 19 85 50 A1 90 91 AE BD 05 76 - : 52 B3 22 D8 A8 7C 8E 54 7F 00 72 4F - : 36 75 68 73 B5 - 368 02 65: INTEGER - : 00 E1 D2 E7 11 57 06 AE 72 95 22 16 - : AA 02 B4 5A ED 4E 9D 82 11 4F 96 3C - : 86 C9 10 8D 56 7B 31 75 79 69 E7 75 - : 68 38 00 4B 2E D2 26 32 DD B1 E2 E0 - : 2C 54 80 0A 75 BA D1 66 96 1B B0 0E - : A0 7E D2 BB 91 - 435 02 65: INTEGER - : 00 AF B6 BC DB 22 73 43 41 EC B4 B5 - : 67 A9 A1 99 FC EF D2 8E FD 1D FB E5 - : 29 8B FE 0A DF D4 C8 5E 57 25 0A 5D - : 2B D4 09 A0 56 5B C5 B1 62 FC 20 BE - : 08 2D E3 07 B5 A1 E7 B3 FF C4 C0 A5 - : 5F AC 12 5C A9 - 502 02 65: INTEGER - : 00 B9 98 41 FC 08 50 1F 73 60 8A 01 - : A2 7C 52 8A 20 5A EA 2C 89 D9 A5 19 - : DD 94 C6 1B C3 25 C0 82 51 E4 EE 2B - : 9A 19 DC 73 ED E9 1D 27 D4 F8 6C 03 - : DD AB 1D 08 7B B5 AC 7F E9 82 9B F1 - : 89 8A 71 DB 61 - 569 02 64: INTEGER - : 01 07 21 97 5F 7A 60 A8 FD 5A 5C 07 - : DF A8 DE F7 E2 B1 34 7D FC EB 91 BD - : B0 73 74 C8 C4 BE 3F 58 45 30 06 90 - : B3 AC 69 CC B3 F7 3F 7C AC C7 B8 1B - : 65 A1 16 39 39 B0 E3 74 7D CF CD C5 - : AC 6C BF E5 - : } - : } - : } - -2.3. Certificates - - AliceDSSSignByCarlNoInherit = - 0 30 732: SEQUENCE { - 4 30 667: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 2: INTEGER 200 - 17 30 9: SEQUENCE { - 19 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - - - -Hoffman, Ed. Informational [Page 13] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (ANSI X9.57 algorithm) - : } - 28 30 18: SEQUENCE { - 30 31 16: SET { - 32 30 14: SEQUENCE { - 34 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 39 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 48 30 30: SEQUENCE { - 50 17 13: UTCTime '990817011049Z' - 65 17 13: UTCTime '391231235959Z' - : } - 80 30 19: SEQUENCE { - 82 31 17: SET { - 84 30 15: SEQUENCE { - 86 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 91 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 101 30 438: SEQUENCE { - 105 30 299: SEQUENCE { - 109 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 118 30 286: SEQUENCE { - 122 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 254 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 277 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - - - -Hoffman, Ed. Informational [Page 14] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 408 03 132: BIT STRING 0 unused bits, encapsulates { - 412 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 543 A3 129: [3] { - 546 30 127: SEQUENCE { - 548 30 12: SEQUENCE { - 550 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 555 01 1: BOOLEAN TRUE - 558 04 2: OCTET STRING, encapsulates { - 560 30 0: SEQUENCE {} - : } - : } - 562 30 14: SEQUENCE { - 564 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 569 01 1: BOOLEAN TRUE - 572 04 4: OCTET STRING, encapsulates { - 574 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 578 30 31: SEQUENCE { - 580 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - - - -Hoffman, Ed. Informational [Page 15] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (X.509 id-ce (2 5 29)) - 585 04 24: OCTET STRING, encapsulates { - 587 30 22: SEQUENCE { - 589 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 611 30 29: SEQUENCE { - 613 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 618 04 22: OCTET STRING, encapsulates { - 620 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 642 30 31: SEQUENCE { - 644 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 649 04 24: OCTET STRING, encapsulates { - 651 30 22: SEQUENCE { - 653 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } - 675 30 9: SEQUENCE { - 677 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 686 03 48: BIT STRING 0 unused bits, encapsulates { - 689 30 45: SEQUENCE { - 691 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 713 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - - AliceRSASignByCarl = - - - -Hoffman, Ed. Informational [Page 16] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 0 30 556: SEQUENCE { - 4 30 405: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - 31 30 13: SEQUENCE { - 33 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 44 05 0: NULL - : } - 46 30 18: SEQUENCE { - 48 31 16: SET { - 50 30 14: SEQUENCE { - 52 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 57 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 66 30 30: SEQUENCE { - 68 17 13: UTCTime '990919010847Z' - 83 17 13: UTCTime '391231235959Z' - : } - 98 30 19: SEQUENCE { - 100 31 17: SET { - 102 30 15: SEQUENCE { - 104 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 109 13 8: PrintableString 'AliceRSA' - : } - : } - : } - 119 30 159: SEQUENCE { - 122 30 13: SEQUENCE { - 124 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 135 05 0: NULL - : } - 137 03 141: BIT STRING 0 unused bits, encapsulates { - 141 30 137: SEQUENCE { - 144 02 129: INTEGER - : 00 E0 89 73 39 8D D8 F5 F5 E8 87 76 - : 39 7F 4E B0 05 BB 53 83 DE 0F B7 AB - - - -Hoffman, Ed. Informational [Page 17] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : DC 7D C7 75 29 0D 05 2E 6D 12 DF A6 - : 86 26 D4 D2 6F AA 58 29 FC 97 EC FA - : 82 51 0F 30 80 BE B1 50 9E 46 44 F1 - : 2C BB D8 32 CF C6 68 6F 07 D9 B0 60 - : AC BE EE 34 09 6A 13 F5 F7 05 05 93 - : DF 5E BA 35 56 D9 61 FF 19 7F C9 81 - : E6 F8 6C EA 87 40 70 EF AC 6D 2C 74 - : 9F 2D FA 55 3A B9 99 77 02 A6 48 52 - : 8C 4E F3 57 38 57 74 57 5F - 276 02 3: INTEGER 65537 - : } - : } - : } - 281 A3 129: [3] { - 284 30 127: SEQUENCE { - 286 30 12: SEQUENCE { - 288 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 293 01 1: BOOLEAN TRUE - 296 04 2: OCTET STRING, encapsulates { - 298 30 0: SEQUENCE {} - : } - : } - 300 30 14: SEQUENCE { - 302 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 307 01 1: BOOLEAN TRUE - 310 04 4: OCTET STRING, encapsulates { - 312 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 316 30 31: SEQUENCE { - 318 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 323 04 24: OCTET STRING, encapsulates { - 325 30 22: SEQUENCE { - 327 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 349 30 29: SEQUENCE { - 351 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - - - -Hoffman, Ed. Informational [Page 18] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (X.509 id-ce (2 5 29)) - 356 04 22: OCTET STRING, encapsulates { - 358 04 20: OCTET STRING - : 77 D2 B4 D1 B7 4C 8A 8A A3 CE 45 9D - : CE EC 3C A0 3A E3 FF 50 - : } - : } - 380 30 31: SEQUENCE { - 382 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 387 04 24: OCTET STRING, encapsulates { - 389 30 22: SEQUENCE { - 391 81 20: [1] 'AliceRSA@example.com' - : } - : } - : } - : } - : } - : } - 413 30 13: SEQUENCE { - 415 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 426 05 0: NULL - : } - 428 03 129: BIT STRING 0 unused bits - : 3E 70 47 A8 48 CC 13 58 8F CA 51 71 - : 6B 4E 36 18 5D 04 7E 80 B1 8D 4D CC - : CA A3 8F CC 7D 56 C8 BC CF 6E B3 1C - : 59 A9 20 AA 05 81 A8 4E 25 AD A7 70 - : 14 75 2F F5 C7 9B D1 0E E9 63 D2 64 - : B7 C6 66 6E 73 21 54 DF F4 BA 25 5D - : 7D 49 D3 94 6B 22 36 74 73 B8 4A EC - : 2F 64 ED D3 3D D2 A7 42 C5 E8 37 8A - : B4 DB 9F 67 E4 BD 9F F9 FE 74 EF EA - : F9 EE 63 6A D8 3F 4B 25 09 B5 D8 1A - : 76 AE EB 9B DB 49 B0 22 - : } - - BobRSASignByCarl = - 0 30 551: SEQUENCE { - 4 30 400: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : CD 5D 71 D0 - - - -Hoffman, Ed. Informational [Page 19] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 31 30 13: SEQUENCE { - 33 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 44 05 0: NULL - : } - 46 30 18: SEQUENCE { - 48 31 16: SET { - 50 30 14: SEQUENCE { - 52 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 57 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 66 30 30: SEQUENCE { - 68 17 13: UTCTime '990919010902Z' - 83 17 13: UTCTime '391231235959Z' - : } - 98 30 17: SEQUENCE { - 100 31 15: SET { - 102 30 13: SEQUENCE { - 104 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 109 13 6: PrintableString 'BobRSA' - : } - : } - : } - 117 30 159: SEQUENCE { - 120 30 13: SEQUENCE { - 122 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 133 05 0: NULL - : } - 135 03 141: BIT STRING 0 unused bits, encapsulates { - 139 30 137: SEQUENCE { - 142 02 129: INTEGER - : 00 A9 E1 67 98 3F 39 D5 5F F2 A0 93 - : 41 5E A6 79 89 85 C8 35 5D 9A 91 5B - : FB 1D 01 DA 19 70 26 17 0F BD A5 22 - : D0 35 85 6D 7A 98 66 14 41 5C CF B7 - : B7 08 3B 09 C9 91 B8 19 69 37 6D F9 - : 65 1E 7B D9 A9 33 24 A3 7F 3B BB AF - : 46 01 86 36 34 32 CB 07 03 59 52 FC - : 85 8B 31 04 B8 CC 18 08 14 48 E6 4F - : 1C FB 5D 60 C4 E0 5C 1F 53 D3 7F 53 - : D8 69 01 F1 05 F8 7A 70 D1 BE 83 C6 - - - -Hoffman, Ed. Informational [Page 20] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 5F 38 CF 1C 2C AA 6A A7 EB - 274 02 3: INTEGER 65537 - : } - : } - : } - 279 A3 127: [3] { - 281 30 125: SEQUENCE { - 283 30 12: SEQUENCE { - 285 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 290 01 1: BOOLEAN TRUE - 293 04 2: OCTET STRING, encapsulates { - 295 30 0: SEQUENCE {} - : } - : } - 297 30 14: SEQUENCE { - 299 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 304 01 1: BOOLEAN TRUE - 307 04 4: OCTET STRING, encapsulates { - 309 03 2: BIT STRING 5 unused bits - : '100'B (bit 2) - : } - : } - 313 30 31: SEQUENCE { - 315 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 320 04 24: OCTET STRING, encapsulates { - 322 30 22: SEQUENCE { - 324 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 346 30 29: SEQUENCE { - 348 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 353 04 22: OCTET STRING, encapsulates { - 355 04 20: OCTET STRING - : E8 F4 B8 67 D8 B3 96 A4 2A F3 11 AA - : 29 D3 95 5A 86 16 B4 24 - : } - : } - 377 30 29: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 21] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 379 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 384 04 22: OCTET STRING, encapsulates { - 386 30 20: SEQUENCE { - 388 81 18: [1] 'BobRSA@example.com' - : } - : } - : } - : } - : } - : } - 408 30 13: SEQUENCE { - 410 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 421 05 0: NULL - : } - 423 03 129: BIT STRING 0 unused bits - : 7B 8E 66 C5 F1 10 3F 10 20 4C 88 71 - : AB 7B 40 6B 21 33 FA 4A 95 DE 9D 0E - : 5B 6B 94 21 05 C0 F2 E1 7E 2A CD 9C - : 93 88 87 FB 8B B7 7E 7D 41 61 E1 E4 - : D6 6D F9 E2 04 55 61 45 BC 64 27 44 - : C0 A1 BD 59 79 D9 1D 64 3C 21 D6 45 - : B0 5D 68 33 92 EA AC F1 57 E5 81 7D - : 98 E6 35 91 A3 39 DE 77 F4 E8 1C 3B - : 29 DC 7F 51 07 97 F3 36 F0 50 0A DD - : 9B DE B6 5E 38 11 2B FB 57 EA 89 6D - : AD C9 88 D8 8F CF 2B D3 - : } - - CarlDSSSelf = - 0 30 667: SEQUENCE { - 4 30 602: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 1: INTEGER 1 - 16 30 9: SEQUENCE { - 18 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 27 30 18: SEQUENCE { - 29 31 16: SET { - 31 30 14: SEQUENCE { - 33 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 38 13 7: PrintableString 'CarlDSS' - - - -Hoffman, Ed. Informational [Page 22] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - 47 30 30: SEQUENCE { - 49 17 13: UTCTime '990816225050Z' - 64 17 13: UTCTime '391231235959Z' - : } - 79 30 18: SEQUENCE { - 81 31 16: SET { - 83 30 14: SEQUENCE { - 85 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 90 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 99 30 439: SEQUENCE { - 103 30 299: SEQUENCE { - 107 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 116 30 286: SEQUENCE { - 120 02 129: INTEGER - : 00 B6 49 18 3E 8A 44 C1 29 71 94 4C - : 01 C4 12 C1 7A 79 CB 54 4D AB 1E 81 - : FB C6 4C B3 0E 94 09 06 EB 01 D4 B1 - : C8 71 4B C7 45 C0 50 25 5D 9C FC DA - : E4 6D D3 E2 86 48 84 82 7D BA 15 95 - : 4A 16 F6 46 ED DD F6 98 D2 BB 7E 8A - : 0A 8A BA 16 7B B9 50 01 48 93 8B EB - : 25 15 51 97 55 DC 8F 53 0E 10 A9 50 - : FC 70 B7 CD 30 54 FD DA DE A8 AA 22 - : B5 A1 AF 8B CC 02 88 E7 8B 70 5F B9 - : AD E1 08 D4 6D 29 2D D6 E9 - 252 02 21: INTEGER - : 00 DD C1 2F DF 53 CE 0B 34 60 77 3E - : 02 A4 BF 8A 5D 98 B9 10 D5 - 275 02 128: INTEGER - : 0C EE 57 9B 4B BD DA B6 07 6A 74 37 - : 4F 55 7F 9D ED BC 61 0D EB 46 59 3C - : 56 0B 2B 5B 0C 91 CE A5 62 52 69 CA - : E1 6D 3E BD BF FE E1 B7 B9 2B 61 3C - : AD CB AE 45 E3 06 AC 8C 22 9D 9C 44 - : 87 0B C7 CD F0 1C D9 B5 4E 5D 73 DE - : AF 0E C9 1D 5A 51 F5 4F 44 79 35 5A - : 73 AA 7F 46 51 1F A9 42 16 9C 48 EB - : 8A 79 61 B4 D5 2F 53 22 44 63 1F 86 - : B8 A3 58 06 25 F8 29 C0 EF BA E0 75 - : F0 42 C4 63 65 52 9B 0A - - - -Hoffman, Ed. Informational [Page 23] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - 406 03 133: BIT STRING 0 unused bits, encapsulates { - 410 02 129: INTEGER - : 00 99 87 74 27 03 66 A0 B1 C0 AD DC - : 2C 75 BB E1 6C 44 9C DA 21 6D 4D 47 - : 6D B1 62 09 E9 D8 AE 1E F2 3A B4 94 - : B1 A3 8E 7A 9B 71 4E 00 94 C9 B4 25 - : 4E B9 60 96 19 24 01 F3 62 0C FE 75 - : C0 FB CE D8 68 00 E3 FD D5 70 4F DF - : 23 96 19 06 94 F4 B1 61 8F 3A 57 B1 - : 08 11 A4 0B 26 25 F0 52 76 81 EA 0B - : 62 0D 95 2A E6 86 BA 72 B2 A7 50 83 - : 0B AA 27 CD 1B A9 4D 89 9A D7 8D 18 - : 39 84 3F 8B C5 56 4D 80 7A - : } - : } - 542 A3 66: [3] { - 544 30 64: SEQUENCE { - 546 30 15: SEQUENCE { - 548 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 553 01 1: BOOLEAN TRUE - 556 04 5: OCTET STRING, encapsulates { - 558 30 3: SEQUENCE { - 560 01 1: BOOLEAN TRUE - : } - : } - : } - 563 30 14: SEQUENCE { - 565 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 570 01 1: BOOLEAN TRUE - 573 04 4: OCTET STRING, encapsulates { - 575 03 2: BIT STRING 1 unused bits - : '1100001'B - : } - : } - 579 30 29: SEQUENCE { - 581 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 586 04 22: OCTET STRING, encapsulates { - 588 04 20: OCTET STRING - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - - - -Hoffman, Ed. Informational [Page 24] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - 610 30 9: SEQUENCE { - 612 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 621 03 48: BIT STRING 0 unused bits, encapsulates { - 624 30 45: SEQUENCE { - 626 02 20: INTEGER - : 6B A9 F0 4E 7A 5A 79 E3 F9 BE 3D 2B - : C9 06 37 E9 11 17 A1 13 - 648 02 21: INTEGER - : 00 8F 34 69 2A 8B B1 3C 03 79 94 32 - : 4D 12 1F CE 89 FB 46 B2 3B - : } - : } - : } - - CarlRSASelf = - 0 30 491: SEQUENCE { - 4 30 340: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : 9F F2 50 20 - 31 30 13: SEQUENCE { - 33 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 44 05 0: NULL - : } - 46 30 18: SEQUENCE { - 48 31 16: SET { - 50 30 14: SEQUENCE { - 52 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 57 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 66 30 30: SEQUENCE { - 68 17 13: UTCTime '990818070000Z' - 83 17 13: UTCTime '391231235959Z' - : } - - - -Hoffman, Ed. Informational [Page 25] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 98 30 18: SEQUENCE { - 100 31 16: SET { - 102 30 14: SEQUENCE { - 104 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 109 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 118 30 159: SEQUENCE { - 121 30 13: SEQUENCE { - 123 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 134 05 0: NULL - : } - 136 03 141: BIT STRING 0 unused bits, encapsulates { - 140 30 137: SEQUENCE { - 143 02 129: INTEGER - : 00 E4 4B FF 18 B8 24 57 F4 77 FF 6E - : 73 7B 93 71 5C BC 33 1A 92 92 72 23 - : D8 41 46 D0 CD 11 3A 04 B3 8E AF 82 - : 9D BD 51 1E 17 7A F2 76 2C 2B 86 39 - : A7 BD D7 8D 1A 53 EC E4 00 D5 E8 EC - : A2 36 B1 ED E2 50 E2 32 09 8A 3F 9F - : 99 25 8F B8 4E AB B9 7D D5 96 65 DA - : 16 A0 C5 BE 0E AE 44 5B EF 5E F4 A7 - : 29 CB 82 DD AC 44 E9 AA 93 94 29 0E - : F8 18 D6 C8 57 5E F2 76 C4 F2 11 60 - : 38 B9 1B 3C 1D 97 C9 6A F1 - 275 02 3: INTEGER 65537 - : } - : } - : } - 280 A3 66: [3] { - 282 30 64: SEQUENCE { - 284 30 15: SEQUENCE { - 286 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 291 01 1: BOOLEAN TRUE - 294 04 5: OCTET STRING, encapsulates { - 296 30 3: SEQUENCE { - 298 01 1: BOOLEAN TRUE - : } - : } - : } - 301 30 14: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 26] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 303 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 308 01 1: BOOLEAN TRUE - 311 04 4: OCTET STRING, encapsulates { - 313 03 2: BIT STRING 1 unused bits - : '1100001'B - : } - : } - 317 30 29: SEQUENCE { - 319 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 324 04 22: OCTET STRING, encapsulates { - 326 04 20: OCTET STRING - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - : } - : } - 348 30 13: SEQUENCE { - 350 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 361 05 0: NULL - : } - 363 03 129: BIT STRING 0 unused bits - : B7 9E D4 04 D3 ED 29 E4 FF 89 89 15 - : 2E 4C DB 0C F0 48 0F 32 61 EE C4 04 - : EC 12 5D 2D FF 0F 64 59 7E 0A C3 ED - : 18 FD E3 56 40 37 A7 07 B5 F0 38 12 - : 61 50 ED EF DD 3F E3 0B B8 61 A5 A4 - : 9B 3C E6 9E 9C 54 9A B6 95 D6 DA 6C - : 3B B5 2D 45 35 9D 49 01 76 FA B9 B9 - : 31 F9 F9 6B 12 53 A0 F5 14 60 9B 7D - : CA 3E F2 53 6B B0 37 6F AD E6 74 D7 - : DB FA 5A EA 14 41 63 5D CD BE C8 0E - : C1 DA 6A 8D 53 34 18 02 - : } - - DianeDSSSignByCarlInherit = - 0 30 440: SEQUENCE { - 4 30 375: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 2: INTEGER 210 - - - -Hoffman, Ed. Informational [Page 27] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 17 30 9: SEQUENCE { - 19 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 28 30 18: SEQUENCE { - 30 31 16: SET { - 32 30 14: SEQUENCE { - 34 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 39 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 48 30 30: SEQUENCE { - 50 17 13: UTCTime '990817020810Z' - 65 17 13: UTCTime '391231235959Z' - : } - 80 30 19: SEQUENCE { - 82 31 17: SET { - 84 30 15: SEQUENCE { - 86 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 91 13 8: PrintableString 'DianeDSS' - : } - : } - : } - 101 30 147: SEQUENCE { - 104 30 9: SEQUENCE { - 106 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - : } - 115 03 133: BIT STRING 0 unused bits, encapsulates { - 119 02 129: INTEGER - : 00 A0 00 17 78 2C EE 7E 81 53 2E 2E - : 61 08 0F A1 9B 51 52 1A DA 59 A8 73 - : 2F 12 25 B6 08 CB CA EF 2A 44 76 8A - : 52 09 EA BD 05 22 D5 0F F6 FD 46 D7 - : AF 99 38 09 0E 13 CB 4F 2C DD 1C 34 - : F7 1C BF 25 FF 23 D3 3B 59 E7 82 97 - : 37 BE 31 24 D8 18 C8 F3 49 39 5B B7 - : E2 E5 27 7E FC 8C 45 72 5B 7E 3E 8F - : 68 4D DD 46 7A 22 BE 8E FF CC DA 39 - : 29 A3 39 E5 9F 43 E9 55 C9 D7 5B A6 - : 81 67 CC C0 AA CD 2E C5 23 - : } - : } - 251 A3 129: [3] { - 254 30 127: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 28] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 256 30 12: SEQUENCE { - 258 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 263 01 1: BOOLEAN TRUE - 266 04 2: OCTET STRING, encapsulates { - 268 30 0: SEQUENCE {} - : } - : } - 270 30 14: SEQUENCE { - 272 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 277 01 1: BOOLEAN TRUE - 280 04 4: OCTET STRING, encapsulates { - 282 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 286 30 31: SEQUENCE { - 288 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 293 04 24: OCTET STRING, encapsulates { - 295 30 22: SEQUENCE { - 297 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 319 30 29: SEQUENCE { - 321 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 326 04 22: OCTET STRING, encapsulates { - 328 04 20: OCTET STRING - : 64 30 99 7D 5C DC 45 0B 99 3A 52 2F - : 16 BF 58 50 DD CE 2B 18 - : } - : } - 350 30 31: SEQUENCE { - 352 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 357 04 24: OCTET STRING, encapsulates { - 359 30 22: SEQUENCE { - 361 81 20: [1] 'DianeDSS@example.com' - : } - : } - - - -Hoffman, Ed. Informational [Page 29] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - 383 30 9: SEQUENCE { - 385 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 394 03 48: BIT STRING 0 unused bits, encapsulates { - 397 30 45: SEQUENCE { - 399 02 21: INTEGER - : 00 A1 1A F8 17 0E 3E 5D A8 8C F4 B6 - : 55 33 1E 4B E3 2C AC B9 5F - 422 02 20: INTEGER - : 28 4B 10 45 58 D2 1C 9D 55 35 14 18 - : 91 B2 3F 39 DF B5 6E D3 - : } - : } - : } - - DianeRSASignByCarl = - 0 30 556: SEQUENCE { - 4 30 405: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : D5 9A 30 90 - 31 30 13: SEQUENCE { - 33 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 44 05 0: NULL - : } - 46 30 18: SEQUENCE { - 48 31 16: SET { - 50 30 14: SEQUENCE { - 52 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 57 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 66 30 30: SEQUENCE { - 68 17 13: UTCTime '990819070000Z' - 83 17 13: UTCTime '391231235959Z' - : } - - - -Hoffman, Ed. Informational [Page 30] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 98 30 19: SEQUENCE { - 100 31 17: SET { - 102 30 15: SEQUENCE { - 104 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 109 13 8: PrintableString 'DianeRSA' - : } - : } - : } - 119 30 159: SEQUENCE { - 122 30 13: SEQUENCE { - 124 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 135 05 0: NULL - : } - 137 03 141: BIT STRING 0 unused bits, encapsulates { - 141 30 137: SEQUENCE { - 144 02 129: INTEGER - : 00 D6 FD B8 C0 70 C6 4C 25 EC EA CF - : EA 7C BB A2 62 FA F0 E6 32 3A 53 FF - : B1 92 5A 17 F4 20 E1 99 24 82 0A D0 - : F6 7C FB 44 CA 8B 27 06 F1 7E 26 03 - : A9 76 9D CF EC A0 2C 70 96 F2 83 42 - : F6 D4 B7 28 0A BB F8 BF 4A 4C 19 3F - : 07 DB A0 C1 60 1E B7 7E 67 F7 DE B1 - : C3 60 49 AC 45 D7 F8 C6 EF 08 37 21 - : 93 47 EE F0 73 35 72 B0 02 C4 F3 11 - : C3 5E 47 E5 0A B7 83 F1 DB 74 69 64 - : 8B 44 1D 95 5D CD 28 C0 85 - 276 02 3: INTEGER 65537 - : } - : } - : } - 281 A3 129: [3] { - 284 30 127: SEQUENCE { - 286 30 12: SEQUENCE { - 288 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 293 01 1: BOOLEAN TRUE - 296 04 2: OCTET STRING, encapsulates { - 298 30 0: SEQUENCE {} - : } - : } - 300 30 14: SEQUENCE { - 302 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - - - -Hoffman, Ed. Informational [Page 31] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 307 01 1: BOOLEAN TRUE - 310 04 4: OCTET STRING, encapsulates { - 312 03 2: BIT STRING 5 unused bits - : '111'B - : } - : } - 316 30 31: SEQUENCE { - 318 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 323 04 24: OCTET STRING, encapsulates { - 325 30 22: SEQUENCE { - 327 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 349 30 29: SEQUENCE { - 351 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 356 04 22: OCTET STRING, encapsulates { - 358 04 20: OCTET STRING - : 8C F3 CB 75 0E 8D 31 F6 D4 29 DA 44 - : 92 75 B8 FE ED 4F 39 0C - : } - : } - 380 30 31: SEQUENCE { - 382 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 387 04 24: OCTET STRING, encapsulates { - 389 30 22: SEQUENCE { - 391 81 20: [1] 'DianeRSA@example.com' - : } - : } - : } - : } - : } - : } - 413 30 13: SEQUENCE { - 415 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - : (PKCS #1) - 426 05 0: NULL - : } - 428 03 129: BIT STRING 0 unused bits - : 7D A6 2C B5 78 42 D6 79 F3 31 FE F6 - - - -Hoffman, Ed. Informational [Page 32] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 42 CA 0F 13 07 92 09 1B E0 6F B0 91 - : 18 F6 BF 4A FB CC 63 79 FB 81 BF DD - : 97 C7 90 6B CB 0A 37 2B 41 6A 03 98 - : C5 1B 3E 32 C8 45 2B 86 01 9C 1C E2 - : 36 EF 16 C1 1A 92 B8 BE 62 FB 53 3E - : 49 47 0B C4 B9 E4 2B 58 A6 06 83 F0 - : B2 A7 BB 85 7E D5 C6 DA CE 9C 7B 31 - : 72 D7 A2 EA 41 AB 6A C0 DD 1F B9 14 - : 44 18 CF 84 57 66 E8 C5 E6 B8 DC 2D - : B3 1F 1B 28 43 36 75 7A - : } - -2.4. CRLs - - CarlDSSCRLForAll = - 0 30 216: SEQUENCE { - 3 30 153: SEQUENCE { - 6 30 9: SEQUENCE { - 8 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 17 30 18: SEQUENCE { - 19 31 16: SET { - 21 30 14: SEQUENCE { - 23 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 28 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 37 17 13: UTCTime '990827070000Z' - 52 30 105: SEQUENCE { - 54 30 19: SEQUENCE { - 56 02 2: INTEGER 200 - 60 17 13: UTCTime '990822070000Z' - : } - 75 30 19: SEQUENCE { - 77 02 2: INTEGER 201 - 81 17 13: UTCTime '990822070000Z' - : } - 96 30 19: SEQUENCE { - 98 02 2: INTEGER 211 - 102 17 13: UTCTime '990822070000Z' - : } - 117 30 19: SEQUENCE { - 119 02 2: INTEGER 210 - 123 17 13: UTCTime '990822070000Z' - : } - - - -Hoffman, Ed. Informational [Page 33] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 138 30 19: SEQUENCE { - 140 02 2: INTEGER 212 - 144 17 13: UTCTime '990824070000Z' - : } - : } - : } - 159 30 9: SEQUENCE { - 161 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 170 03 47: BIT STRING 0 unused bits, encapsulates { - 173 30 44: SEQUENCE { - 175 02 20: INTEGER - : 7E 65 52 76 33 FE 34 73 17 D1 F7 96 - : F9 A0 D4 D8 6D 5C 7D 3D - 197 02 20: INTEGER - : 02 7A 5B B7 D5 5B 18 C1 CF 87 EF 7E - : DA 24 F3 2A 83 9C 35 A1 - : } - : } - : } - - CarlDSSCRLForCarl = - 0 30 131: SEQUENCE { - 3 30 68: SEQUENCE { - 5 30 9: SEQUENCE { - 7 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 16 30 18: SEQUENCE { - 18 31 16: SET { - 20 30 14: SEQUENCE { - 22 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 27 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 36 17 13: UTCTime '990825070000Z' - 51 30 20: SEQUENCE { - 53 30 18: SEQUENCE { - 55 02 1: INTEGER 1 - 58 17 13: UTCTime '990822070000Z' - : } - : } - : } - 73 30 9: SEQUENCE { - 75 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - - - -Hoffman, Ed. Informational [Page 34] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (ANSI X9.57 algorithm) - : } - 84 03 48: BIT STRING 0 unused bits, encapsulates { - 87 30 45: SEQUENCE { - 89 02 21: INTEGER - : 00 B3 1F C5 4F 7A 3D EC 76 D5 60 F9 - : DE 79 22 EC 4F B0 90 FE 97 - 112 02 20: INTEGER - : 5A 8B C3 84 BC 66 87 1B BF 79 82 5B - : 0A 5D 07 F6 BA A9 05 29 - : } - : } - : } - - CarlDSSCRLEmpty = - 0 30 109: SEQUENCE { - 2 30 46: SEQUENCE { - 4 30 9: SEQUENCE { - 6 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 15 30 18: SEQUENCE { - 17 31 16: SET { - 19 30 14: SEQUENCE { - 21 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 26 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 35 17 13: UTCTime '990820070000Z' - : } - 50 30 9: SEQUENCE { - 52 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 61 03 48: BIT STRING 0 unused bits, encapsulates { - 64 30 45: SEQUENCE { - 66 02 20: INTEGER - : 62 3F 36 17 31 58 2E 67 50 79 F5 09 - : 4B 8C AD D4 6B F4 64 9F - 88 02 21: INTEGER - : 00 B5 3B 4E A1 4C 7B FD 0F C3 8D 9B - : B6 FE C3 5D 6F DE 65 28 7D - : } - : } - : } - - - - -Hoffman, Ed. Informational [Page 35] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - CarlRSACRLForAll = - 0 30 307: SEQUENCE { - 4 30 157: SEQUENCE { - 7 30 13: SEQUENCE { - 9 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 20 05 0: NULL - : } - 22 30 18: SEQUENCE { - 24 31 16: SET { - 26 30 14: SEQUENCE { - 28 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 33 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 42 17 13: UTCTime '990827070000Z' - 57 30 105: SEQUENCE { - 59 30 33: SEQUENCE { - 61 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - 79 17 13: UTCTime '990822070000Z' - : } - 94 30 33: SEQUENCE { - 96 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : D5 9A 30 90 - 114 17 13: UTCTime '990822070000Z' - : } - 129 30 33: SEQUENCE { - 131 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : CD 5D 71 D0 - 149 17 13: UTCTime '990824070000Z' - : } - : } - : } - 164 30 13: SEQUENCE { - 166 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 177 05 0: NULL - : } - 179 03 129: BIT STRING 0 unused bits - : BF B3 97 AA 53 F0 32 21 16 2B 77 92 - - - -Hoffman, Ed. Informational [Page 36] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 7A 6B BB 97 C8 DC EA F1 FA 66 16 30 - : 0E B5 9E 5C F0 81 D4 5E B3 6E C1 88 - : 6B 8C D4 5E C5 4D FB 47 5E 66 F3 5D - : AB E5 B4 18 36 60 A8 4D 9C 3C 89 EC - : 6F 27 BF 35 50 71 81 C2 B9 44 5B 62 - : 89 19 12 31 A9 7B 9A D3 CC 66 CB 11 - : D9 0B 10 47 77 AD 4F 22 D9 E5 7F 30 - : F2 5B FC 94 51 A5 58 76 3B 1F A8 46 - : A6 1F F6 A1 DE 55 A1 ED 31 88 69 97 - : 0F 08 D3 D4 0C 60 5B 1E - : } - - CarlRSACRLForCarl = - 0 30 236: SEQUENCE { - 3 30 87: SEQUENCE { - 5 30 13: SEQUENCE { - 7 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 18 05 0: NULL - : } - 20 30 18: SEQUENCE { - 22 31 16: SET { - 24 30 14: SEQUENCE { - 26 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 31 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 40 17 13: UTCTime '990825070000Z' - 55 30 35: SEQUENCE { - 57 30 33: SEQUENCE { - 59 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : 9F F2 50 20 - 77 17 13: UTCTime '990822070000Z' - : } - : } - : } - 92 30 13: SEQUENCE { - 94 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 105 05 0: NULL - : } - 107 03 129: BIT STRING 0 unused bits - : 21 EF 21 D4 C1 1A 85 95 49 6B CA 45 - - - -Hoffman, Ed. Informational [Page 37] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 62 DC D7 09 FF A9 51 2E 8E D9 47 18 - : FA F8 E5 72 DD 4F ED 74 74 E3 F3 65 - : 32 65 28 2C 9A 1D 57 E5 D5 26 06 EA - : D5 E6 23 95 84 8D 0E 89 9E EE 9B 0C - : 2F CE 07 F7 A3 D1 6B 85 4C 0F FF E6 - : DD FC DC CD 73 2C 1E 7D DC B0 71 C5 - : 4C FC 01 6E 52 57 69 1E 39 63 DF 12 - : 22 30 C7 13 55 94 05 6E 2A 00 A9 5B - : C4 2A 66 94 62 CE 36 33 C2 2B 63 47 - : 25 9D F3 DE 70 EE 00 56 - : } - - CarlRSACRLEmpty = - 0 30 199: SEQUENCE { - 3 30 50: SEQUENCE { - 5 30 13: SEQUENCE { - 7 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 18 05 0: NULL - : } - 20 30 18: SEQUENCE { - 22 31 16: SET { - 24 30 14: SEQUENCE { - 26 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 31 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 40 17 13: UTCTime '990820070000Z' - : } - 55 30 13: SEQUENCE { - 57 06 9: OBJECT IDENTIFIER - : md5withRSAEncryption (1 2 840 113549 1 1 4) - : (PKCS #1) - 68 05 0: NULL - : } - 70 03 129: BIT STRING 0 unused bits - : A9 C5 21 B8 13 7C 74 F3 B5 11 EC 04 - : F3 20 45 86 1E 0B 6E 7F 83 6D 5F F4 - : 34 76 06 59 25 0E 04 3D 88 09 88 81 - : 37 C4 DC 20 98 FA 17 81 0B 37 94 AC - : B4 8F 7B 51 89 14 A4 CB 72 73 14 07 - : BC 22 9C 40 A1 07 FC 44 7C 85 0F 0B - : 88 D1 EE E1 0E AF F6 16 74 AD A1 AF - : C1 00 75 00 64 EA A5 9A F6 0B 08 A2 - : DB 95 19 5F A6 A7 B9 39 45 25 0A 0E - - - -Hoffman, Ed. Informational [Page 38] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : F6 5E 84 E7 F8 B9 5A C9 18 C2 0E B8 - : A0 96 BE 81 3A 80 6D C9 - : } - -3. Trivial Examples - - This section covers examples of small CMS types. - -3.1. ContentInfo with Data Type, BER - - The object is a ContentInfo containing a Data object in BER format - that is ExContent. - - 0 30 NDEF: SEQUENCE { - 2 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 13 A0 NDEF: [0] { - 15 24 NDEF: OCTET STRING { - 17 04 4: OCTET STRING 'This' - 23 04 24: OCTET STRING ' is some sample content.' - : } - : } - : } - -3.2. ContentInfo with Data Type, DER - - The object is a ContentInfo containing a Data object in DER format - that is ExContent. - - 0 30 43: SEQUENCE { - 2 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 13 A0 30: [0] { - 15 04 28: OCTET STRING 'This is some sample content.' - : } - : } - -4. Signed-data - -4.1. Basic Signed Content, DSS - - A SignedData with no attribute certificates, signed by Alice using - DSS, just her certificate (not Carl's root cert), no CRL. The - message is ExContent, and is included in the eContent. There are no - signed or unsigned attributes. - - - - - - -Hoffman, Ed. Informational [Page 39] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 0 30 919: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 904: [0] { - 19 30 900: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 43: SEQUENCE { - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 50 A0 30: [0] { - 52 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 82 A0 736: [0] { - 86 30 732: SEQUENCE { - 90 30 667: SEQUENCE { - 94 A0 3: [0] { - 96 02 1: INTEGER 2 - : } - 99 02 2: INTEGER 200 - 103 30 9: SEQUENCE { - 105 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 114 30 18: SEQUENCE { - 116 31 16: SET { - 118 30 14: SEQUENCE { - 120 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 125 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 134 30 30: SEQUENCE { - 136 17 13: UTCTime '990817011049Z' - 151 17 13: UTCTime '391231235959Z' - : } - 166 30 19: SEQUENCE { - 168 31 17: SET { - 170 30 15: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 40] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 172 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 177 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 187 30 438: SEQUENCE { - 191 30 299: SEQUENCE { - 195 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 204 30 286: SEQUENCE { - 208 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 340 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 363 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 494 03 132: BIT STRING 0 unused bits, encapsulates { - 498 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - - - -Hoffman, Ed. Informational [Page 41] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 629 A3 129: [3] { - 632 30 127: SEQUENCE { - 634 30 12: SEQUENCE { - 636 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 641 01 1: BOOLEAN TRUE - 644 04 2: OCTET STRING, encapsulates { - 646 30 0: SEQUENCE {} - : } - : } - 648 30 14: SEQUENCE { - 650 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 655 01 1: BOOLEAN TRUE - 658 04 4: OCTET STRING, encapsulates { - 660 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 664 30 31: SEQUENCE { - 666 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 671 04 24: OCTET STRING, encapsulates { - 673 30 22: SEQUENCE { - 675 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 697 30 29: SEQUENCE { - 699 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 704 04 22: OCTET STRING, encapsulates { - 706 04 20: OCTET STRING - - - -Hoffman, Ed. Informational [Page 42] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 728 30 31: SEQUENCE { - 730 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 735 04 24: OCTET STRING, encapsulates { - 737 30 22: SEQUENCE { - 739 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } - 761 30 9: SEQUENCE { - 763 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 772 03 48: BIT STRING 0 unused bits, encapsulates { - 775 30 45: SEQUENCE { - 777 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 799 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 822 31 99: SET { - 824 30 97: SEQUENCE { - 826 02 1: INTEGER 1 - 829 30 24: SEQUENCE { - 831 30 18: SEQUENCE { - 833 31 16: SET { - 835 30 14: SEQUENCE { - 837 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 842 13 7: PrintableString 'CarlDSS' - : } - : } - : } - - - -Hoffman, Ed. Informational [Page 43] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 851 02 2: INTEGER 200 - : } - 855 30 7: SEQUENCE { - 857 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 864 30 9: SEQUENCE { - 866 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 875 04 46: OCTET STRING, encapsulates { - 877 30 44: SEQUENCE { - 879 02 20: INTEGER - : 09 91 FE EB D2 69 F5 18 B7 D7 CD 55 - : F4 81 EA 2A 42 6A AD 03 - 901 02 20: INTEGER - : 3A 07 CC C3 21 BE E1 1A 4B 7F 3E B5 - : 0D DB BA 1C EA BC CD 89 - : } - : } - : } - : } - : } - : } - : } - -4.2. Basic Signed Content, RSA - - Same as 4.1, except using RSA signatures. A SignedData with no - attribute certificates, signed by Alice using RSA, just her - certificate (not Carl's root cert), no CRL. The message is - ExContent, and is included in the eContent. There are no signed or - unsigned attributes. - - 0 30 850: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 835: [0] { - 19 30 831: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 11: SET { - 28 30 9: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - 37 05 0: NULL - : } - : } - - - -Hoffman, Ed. Informational [Page 44] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 39 30 43: SEQUENCE { - 41 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 52 A0 30: [0] { - 54 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 84 A0 560: [0] { - 88 30 556: SEQUENCE { - 92 30 405: SEQUENCE { - 96 A0 3: [0] { - 98 02 1: INTEGER 2 - : } - 101 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - 119 30 13: SEQUENCE { - 121 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 132 05 0: NULL - : } - 134 30 18: SEQUENCE { - 136 31 16: SET { - 138 30 14: SEQUENCE { - 140 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 145 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 154 30 30: SEQUENCE { - 156 17 13: UTCTime '990919010847Z' - 171 17 13: UTCTime '391231235959Z' - : } - 186 30 19: SEQUENCE { - 188 31 17: SET { - 190 30 15: SEQUENCE { - 192 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 197 13 8: PrintableString 'AliceRSA' - : } - : } - : } - 207 30 159: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 45] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 210 30 13: SEQUENCE { - 212 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 223 05 0: NULL - : } - 225 03 141: BIT STRING 0 unused bits, encapsulates { - 229 30 137: SEQUENCE { - 232 02 129: INTEGER - : 00 E0 89 73 39 8D D8 F5 F5 E8 87 76 - : 39 7F 4E B0 05 BB 53 83 DE 0F B7 AB - : DC 7D C7 75 29 0D 05 2E 6D 12 DF A6 - : 86 26 D4 D2 6F AA 58 29 FC 97 EC FA - : 82 51 0F 30 80 BE B1 50 9E 46 44 F1 - : 2C BB D8 32 CF C6 68 6F 07 D9 B0 60 - : AC BE EE 34 09 6A 13 F5 F7 05 05 93 - : DF 5E BA 35 56 D9 61 FF 19 7F C9 81 - : E6 F8 6C EA 87 40 70 EF AC 6D 2C 74 - : 9F 2D FA 55 3A B9 99 77 02 A6 48 52 - : 8C 4E F3 57 38 57 74 57 5F - 364 02 3: INTEGER 65537 - : } - : } - : } - 369 A3 129: [3] { - 372 30 127: SEQUENCE { - 374 30 12: SEQUENCE { - 376 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 381 01 1: BOOLEAN TRUE - 384 04 2: OCTET STRING, encapsulates { - 386 30 0: SEQUENCE {} - : } - : } - 388 30 14: SEQUENCE { - 390 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 395 01 1: BOOLEAN TRUE - 398 04 4: OCTET STRING, encapsulates { - 400 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 404 30 31: SEQUENCE { - 406 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - - - -Hoffman, Ed. Informational [Page 46] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (X.509 id-ce (2 5 29)) - 411 04 24: OCTET STRING, encapsulates { - 413 30 22: SEQUENCE { - 415 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 437 30 29: SEQUENCE { - 439 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 444 04 22: OCTET STRING, encapsulates { - 446 04 20: OCTET STRING - : 77 D2 B4 D1 B7 4C 8A 8A A3 CE 45 9D - : CE EC 3C A0 3A E3 FF 50 - : } - : } - 468 30 31: SEQUENCE { - 470 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 475 04 24: OCTET STRING, encapsulates { - 477 30 22: SEQUENCE { - 479 81 20: [1] 'AliceRSA@example.com' - : } - : } - : } - : } - : } - : } - 501 30 13: SEQUENCE { - 503 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 514 05 0: NULL - : } - 516 03 129: BIT STRING 0 unused bits - : 3E 70 47 A8 48 CC 13 58 8F CA 51 71 - : 6B 4E 36 18 5D 04 7E 80 B1 8D 4D CC - : CA A3 8F CC 7D 56 C8 BC CF 6E B3 1C - : 59 A9 20 AA 05 81 A8 4E 25 AD A7 70 - : 14 75 2F F5 C7 9B D1 0E E9 63 D2 64 - : B7 C6 66 6E 73 21 54 DF F4 BA 25 5D - : 7D 49 D3 94 6B 22 36 74 73 B8 4A EC - : 2F 64 ED D3 3D D2 A7 42 C5 E8 37 8A - - - -Hoffman, Ed. Informational [Page 47] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : B4 DB 9F 67 E4 BD 9F F9 FE 74 EF EA - : F9 EE 63 6A D8 3F 4B 25 09 B5 D8 1A - : 76 AE EB 9B DB 49 B0 22 - : } - : } - 648 31 203: SET { - 651 30 200: SEQUENCE { - 654 02 1: INTEGER 1 - 657 30 38: SEQUENCE { - 659 30 18: SEQUENCE { - 661 31 16: SET { - 663 30 14: SEQUENCE { - 665 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 670 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 679 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - : } - 697 30 9: SEQUENCE { - 699 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - 706 05 0: NULL - : } - 708 30 13: SEQUENCE { - 710 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 721 05 0: NULL - : } - 723 04 128: OCTET STRING - : 2F 23 82 D2 F3 09 5F B8 0C 58 EB 4E - : 9D BF 89 9A 81 E5 75 C4 91 3D D3 D0 - : D5 7B B6 D5 FE 94 A1 8A AC E3 C4 84 - : F5 CD 60 4E 27 95 F6 CF 00 86 76 75 - : 3F 2B F0 E7 D4 02 67 A7 F5 C7 8D 16 - : 04 A5 B3 B5 E7 D9 32 F0 24 EF E7 20 - : 44 D5 9F 07 C5 53 24 FA CE 01 1D 0F - : 17 13 A7 2A 95 9D 2B E4 03 95 14 0B - : E9 39 0D BA CE 6E 9C 9E 0C E8 98 E6 - : 55 13 D4 68 6F D0 07 D7 A2 B1 62 4C - : E3 8F AF FD E0 D5 5D C7 - : } - : } - - - -Hoffman, Ed. Informational [Page 48] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - -4.3. Basic Signed Content, Detached Content - - Same as 4.1, except with no eContent. A SignedData with no attribute - certificates, signed by Alice using DSS, just her certificate (not - Carl's root cert), no CRL. The message is ExContent, but the - eContent is not included. There are no signed or unsigned - attributes. - - 0 30 887: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 872: [0] { - 19 30 868: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 11: SEQUENCE { - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - 50 A0 736: [0] { - 54 30 732: SEQUENCE { - 58 30 667: SEQUENCE { - 62 A0 3: [0] { - 64 02 1: INTEGER 2 - : } - 67 02 2: INTEGER 200 - 71 30 9: SEQUENCE { - 73 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 82 30 18: SEQUENCE { - 84 31 16: SET { - 86 30 14: SEQUENCE { - 88 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 93 13 7: PrintableString 'CarlDSS' - : } - - - -Hoffman, Ed. Informational [Page 49] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - 102 30 30: SEQUENCE { - 104 17 13: UTCTime '990817011049Z' - 119 17 13: UTCTime '391231235959Z' - : } - 134 30 19: SEQUENCE { - 136 31 17: SET { - 138 30 15: SEQUENCE { - 140 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 145 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 155 30 438: SEQUENCE { - 159 30 299: SEQUENCE { - 163 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 172 30 286: SEQUENCE { - 176 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 308 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 331 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - - - -Hoffman, Ed. Informational [Page 50] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : D1 81 4A 60 39 BA 36 39 - : } - : } - 462 03 132: BIT STRING 0 unused bits, encapsulates { - 466 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 597 A3 129: [3] { - 600 30 127: SEQUENCE { - 602 30 12: SEQUENCE { - 604 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 609 01 1: BOOLEAN TRUE - 612 04 2: OCTET STRING, encapsulates { - 614 30 0: SEQUENCE {} - : } - : } - 616 30 14: SEQUENCE { - 618 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 623 01 1: BOOLEAN TRUE - 626 04 4: OCTET STRING, encapsulates { - 628 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 632 30 31: SEQUENCE { - 634 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 639 04 24: OCTET STRING, encapsulates { - 641 30 22: SEQUENCE { - 643 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - - - -Hoffman, Ed. Informational [Page 51] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - 665 30 29: SEQUENCE { - 667 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 672 04 22: OCTET STRING, encapsulates { - 674 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 696 30 31: SEQUENCE { - 698 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 703 04 24: OCTET STRING, encapsulates { - 705 30 22: SEQUENCE { - 707 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } - 729 30 9: SEQUENCE { - 731 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 740 03 48: BIT STRING 0 unused bits, encapsulates { - 743 30 45: SEQUENCE { - 745 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 767 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 790 31 99: SET { - 792 30 97: SEQUENCE { - 794 02 1: INTEGER 1 - 797 30 24: SEQUENCE { - 799 30 18: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 52] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 801 31 16: SET { - 803 30 14: SEQUENCE { - 805 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 810 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 819 02 2: INTEGER 200 - : } - 823 30 7: SEQUENCE { - 825 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 832 30 9: SEQUENCE { - 834 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 843 04 46: OCTET STRING, encapsulates { - 845 30 44: SEQUENCE { - 847 02 20: INTEGER - : 06 FB C7 2A 24 D5 34 89 F7 8B B5 FD - : 73 24 A5 86 C8 0F 5A 6C - 869 02 20: INTEGER - : 66 69 19 BC 68 58 D1 8D B1 9D 52 3F - : DA 14 88 0D FD C9 A1 B8 - : } - : } - : } - : } - : } - : } - : } - -4.4. Fancier Signed Content - - Same as 4.1, but includes Carl's root cert, Carl's CRL, some signed - and unsigned attributes (Countersignature by Diane). A SignedData - with no attribute certificates, signed by Alice using DSS, her - certificate and Carl's root cert, Carl's DSS CRL. The message is - ExContent, and is included in the eContent. The signed attributes - are Content Type, Message Digest and Signing Time; the unsigned - attributes are content hint and counter signature. The message - includes also Alice's RSA certificate. - - - - - -Hoffman, Ed. Informational [Page 53] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 0 30 2829: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 2814: [0] { - 19 30 2810: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 43: SEQUENCE { - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 50 A0 30: [0] { - 52 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 82 A0 1967: [0] { - 86 30 556: SEQUENCE { - 90 30 405: SEQUENCE { - 94 A0 3: [0] { - 96 02 1: INTEGER 2 - : } - 99 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - 117 30 13: SEQUENCE { - 119 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 130 05 0: NULL - : } - 132 30 18: SEQUENCE { - 134 31 16: SET { - 136 30 14: SEQUENCE { - 138 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 143 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 152 30 30: SEQUENCE { - 154 17 13: UTCTime '990919010847Z' - 169 17 13: UTCTime '391231235959Z' - - - -Hoffman, Ed. Informational [Page 54] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - 184 30 19: SEQUENCE { - 186 31 17: SET { - 188 30 15: SEQUENCE { - 190 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 195 13 8: PrintableString 'AliceRSA' - : } - : } - : } - 205 30 159: SEQUENCE { - 208 30 13: SEQUENCE { - 210 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 221 05 0: NULL - : } - 223 03 141: BIT STRING 0 unused bits, encapsulates { - 227 30 137: SEQUENCE { - 230 02 129: INTEGER - : 00 E0 89 73 39 8D D8 F5 F5 E8 87 76 - : 39 7F 4E B0 05 BB 53 83 DE 0F B7 AB - : DC 7D C7 75 29 0D 05 2E 6D 12 DF A6 - : 86 26 D4 D2 6F AA 58 29 FC 97 EC FA - : 82 51 0F 30 80 BE B1 50 9E 46 44 F1 - : 2C BB D8 32 CF C6 68 6F 07 D9 B0 60 - : AC BE EE 34 09 6A 13 F5 F7 05 05 93 - : DF 5E BA 35 56 D9 61 FF 19 7F C9 81 - : E6 F8 6C EA 87 40 70 EF AC 6D 2C 74 - : 9F 2D FA 55 3A B9 99 77 02 A6 48 52 - : 8C 4E F3 57 38 57 74 57 5F - 362 02 3: INTEGER 65537 - : } - : } - : } - 367 A3 129: [3] { - 370 30 127: SEQUENCE { - 372 30 12: SEQUENCE { - 374 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 379 01 1: BOOLEAN TRUE - 382 04 2: OCTET STRING, encapsulates { - 384 30 0: SEQUENCE {} - : } - : } - 386 30 14: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 55] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 388 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 393 01 1: BOOLEAN TRUE - 396 04 4: OCTET STRING, encapsulates { - 398 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 402 30 31: SEQUENCE { - 404 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 409 04 24: OCTET STRING, encapsulates { - 411 30 22: SEQUENCE { - 413 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 435 30 29: SEQUENCE { - 437 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 442 04 22: OCTET STRING, encapsulates { - 444 04 20: OCTET STRING - : 77 D2 B4 D1 B7 4C 8A 8A A3 CE 45 9D - : CE EC 3C A0 3A E3 FF 50 - : } - : } - 466 30 31: SEQUENCE { - 468 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 473 04 24: OCTET STRING, encapsulates { - 475 30 22: SEQUENCE { - 477 81 20: [1] 'AliceRSA@example.com' - : } - : } - : } - : } - : } - : } - 499 30 13: SEQUENCE { - 501 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - - - -Hoffman, Ed. Informational [Page 56] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (PKCS #1) - 512 05 0: NULL - : } - 514 03 129: BIT STRING 0 unused bits - : 3E 70 47 A8 48 CC 13 58 8F CA 51 71 - : 6B 4E 36 18 5D 04 7E 80 B1 8D 4D CC - : CA A3 8F CC 7D 56 C8 BC CF 6E B3 1C - : 59 A9 20 AA 05 81 A8 4E 25 AD A7 70 - : 14 75 2F F5 C7 9B D1 0E E9 63 D2 64 - : B7 C6 66 6E 73 21 54 DF F4 BA 25 5D - : 7D 49 D3 94 6B 22 36 74 73 B8 4A EC - : 2F 64 ED D3 3D D2 A7 42 C5 E8 37 8A - : B4 DB 9F 67 E4 BD 9F F9 FE 74 EF EA - : F9 EE 63 6A D8 3F 4B 25 09 B5 D8 1A - : 76 AE EB 9B DB 49 B0 22 - : } - 646 30 667: SEQUENCE { - 650 30 602: SEQUENCE { - 654 A0 3: [0] { - 656 02 1: INTEGER 2 - : } - 659 02 1: INTEGER 1 - 662 30 9: SEQUENCE { - 664 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 673 30 18: SEQUENCE { - 675 31 16: SET { - 677 30 14: SEQUENCE { - 679 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 684 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 693 30 30: SEQUENCE { - 695 17 13: UTCTime '990816225050Z' - 710 17 13: UTCTime '391231235959Z' - : } - 725 30 18: SEQUENCE { - 727 31 16: SET { - 729 30 14: SEQUENCE { - 731 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 736 13 7: PrintableString 'CarlDSS' - - - -Hoffman, Ed. Informational [Page 57] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - 745 30 439: SEQUENCE { - 749 30 299: SEQUENCE { - 753 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 762 30 286: SEQUENCE { - 766 02 129: INTEGER - : 00 B6 49 18 3E 8A 44 C1 29 71 94 4C - : 01 C4 12 C1 7A 79 CB 54 4D AB 1E 81 - : FB C6 4C B3 0E 94 09 06 EB 01 D4 B1 - : C8 71 4B C7 45 C0 50 25 5D 9C FC DA - : E4 6D D3 E2 86 48 84 82 7D BA 15 95 - : 4A 16 F6 46 ED DD F6 98 D2 BB 7E 8A - : 0A 8A BA 16 7B B9 50 01 48 93 8B EB - : 25 15 51 97 55 DC 8F 53 0E 10 A9 50 - : FC 70 B7 CD 30 54 FD DA DE A8 AA 22 - : B5 A1 AF 8B CC 02 88 E7 8B 70 5F B9 - : AD E1 08 D4 6D 29 2D D6 E9 - 898 02 21: INTEGER - : 00 DD C1 2F DF 53 CE 0B 34 60 77 3E - : 02 A4 BF 8A 5D 98 B9 10 D5 - 921 02 128: INTEGER - : 0C EE 57 9B 4B BD DA B6 07 6A 74 37 - : 4F 55 7F 9D ED BC 61 0D EB 46 59 3C - : 56 0B 2B 5B 0C 91 CE A5 62 52 69 CA - : E1 6D 3E BD BF FE E1 B7 B9 2B 61 3C - : AD CB AE 45 E3 06 AC 8C 22 9D 9C 44 - : 87 0B C7 CD F0 1C D9 B5 4E 5D 73 DE - : AF 0E C9 1D 5A 51 F5 4F 44 79 35 5A - : 73 AA 7F 46 51 1F A9 42 16 9C 48 EB - : 8A 79 61 B4 D5 2F 53 22 44 63 1F 86 - : B8 A3 58 06 25 F8 29 C0 EF BA E0 75 - : F0 42 C4 63 65 52 9B 0A - : } - : } - 1052 03 133: BIT STRING 0 unused bits, encapsulates { - 1056 02 129: INTEGER - : 00 99 87 74 27 03 66 A0 B1 C0 AD DC - : 2C 75 BB E1 6C 44 9C DA 21 6D 4D 47 - : 6D B1 62 09 E9 D8 AE 1E F2 3A B4 94 - : B1 A3 8E 7A 9B 71 4E 00 94 C9 B4 25 - : 4E B9 60 96 19 24 01 F3 62 0C FE 75 - : C0 FB CE D8 68 00 E3 FD D5 70 4F DF - : 23 96 19 06 94 F4 B1 61 8F 3A 57 B1 - : 08 11 A4 0B 26 25 F0 52 76 81 EA 0B - - - -Hoffman, Ed. Informational [Page 58] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 62 0D 95 2A E6 86 BA 72 B2 A7 50 83 - : 0B AA 27 CD 1B A9 4D 89 9A D7 8D 18 - : 39 84 3F 8B C5 56 4D 80 7A - : } - : } - 1188 A3 66: [3] { - 1190 30 64: SEQUENCE { - 1192 30 15: SEQUENCE { - 1194 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 1199 01 1: BOOLEAN TRUE - 1202 04 5: OCTET STRING, encapsulates { - 1204 30 3: SEQUENCE { - 1206 01 1: BOOLEAN TRUE - : } - : } - : } - 1209 30 14: SEQUENCE { - 1211 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 1216 01 1: BOOLEAN TRUE - 1219 04 4: OCTET STRING, encapsulates { - 1221 03 2: BIT STRING 1 unused bits - : '1100001'B - : } - : } - 1225 30 29: SEQUENCE { - 1227 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 1232 04 22: OCTET STRING, encapsulates { - 1234 04 20: OCTET STRING - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - : } - : } - 1256 30 9: SEQUENCE { - 1258 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 1267 03 48: BIT STRING 0 unused bits, encapsulates { - 1270 30 45: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 59] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 1272 02 20: INTEGER - : 6B A9 F0 4E 7A 5A 79 E3 F9 BE 3D 2B - : C9 06 37 E9 11 17 A1 13 - 1294 02 21: INTEGER - : 00 8F 34 69 2A 8B B1 3C 03 79 94 32 - : 4D 12 1F CE 89 FB 46 B2 3B - : } - : } - : } - 1317 30 732: SEQUENCE { - 1321 30 667: SEQUENCE { - 1325 A0 3: [0] { - 1327 02 1: INTEGER 2 - : } - 1330 02 2: INTEGER 200 - 1334 30 9: SEQUENCE { - 1336 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 1345 30 18: SEQUENCE { - 1347 31 16: SET { - 1349 30 14: SEQUENCE { - 1351 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 1356 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 1365 30 30: SEQUENCE { - 1367 17 13: UTCTime '990817011049Z' - 1382 17 13: UTCTime '391231235959Z' - : } - 1397 30 19: SEQUENCE { - 1399 31 17: SET { - 1401 30 15: SEQUENCE { - 1403 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 1408 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 1418 30 438: SEQUENCE { - 1422 30 299: SEQUENCE { - 1426 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - - - -Hoffman, Ed. Informational [Page 60] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (ANSI X9.57 algorithm) - 1435 30 286: SEQUENCE { - 1439 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 1571 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 1594 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 1725 03 132: BIT STRING 0 unused bits, encapsulates { - 1729 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 1860 A3 129: [3] { - 1863 30 127: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 61] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 1865 30 12: SEQUENCE { - 1867 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 1872 01 1: BOOLEAN TRUE - 1875 04 2: OCTET STRING, encapsulates { - 1877 30 0: SEQUENCE {} - : } - : } - 1879 30 14: SEQUENCE { - 1881 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 1886 01 1: BOOLEAN TRUE - 1889 04 4: OCTET STRING, encapsulates { - 1891 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 1895 30 31: SEQUENCE { - 1897 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 1902 04 24: OCTET STRING, encapsulates { - 1904 30 22: SEQUENCE { - 1906 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 1928 30 29: SEQUENCE { - 1930 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 1935 04 22: OCTET STRING, encapsulates { - 1937 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 1959 30 31: SEQUENCE { - 1961 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 1966 04 24: OCTET STRING, encapsulates { - 1968 30 22: SEQUENCE { - 1970 81 20: [1] 'AliceDSS@example.com' - - - -Hoffman, Ed. Informational [Page 62] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - : } - : } - 1992 30 9: SEQUENCE { - 1994 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 2003 03 48: BIT STRING 0 unused bits, encapsulates { - 2006 30 45: SEQUENCE { - 2008 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 2030 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 2053 A1 219: [1] { - 2056 30 216: SEQUENCE { - 2059 30 153: SEQUENCE { - 2062 30 9: SEQUENCE { - 2064 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 2073 30 18: SEQUENCE { - 2075 31 16: SET { - 2077 30 14: SEQUENCE { - 2079 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 2084 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 2093 17 13: UTCTime '990827070000Z' - 2108 30 105: SEQUENCE { - 2110 30 19: SEQUENCE { - 2112 02 2: INTEGER 200 - 2116 17 13: UTCTime '990822070000Z' - : } - 2131 30 19: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 63] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 2133 02 2: INTEGER 201 - 2137 17 13: UTCTime '990822070000Z' - : } - 2152 30 19: SEQUENCE { - 2154 02 2: INTEGER 211 - 2158 17 13: UTCTime '990822070000Z' - : } - 2173 30 19: SEQUENCE { - 2175 02 2: INTEGER 210 - 2179 17 13: UTCTime '990822070000Z' - : } - 2194 30 19: SEQUENCE { - 2196 02 2: INTEGER 212 - 2200 17 13: UTCTime '990824070000Z' - : } - : } - : } - 2215 30 9: SEQUENCE { - 2217 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 2226 03 47: BIT STRING 0 unused bits, encapsulates { - 2229 30 44: SEQUENCE { - 2231 02 20: INTEGER - : 7E 65 52 76 33 FE 34 73 17 D1 F7 96 - : F9 A0 D4 D8 6D 5C 7D 3D - 2253 02 20: INTEGER - : 02 7A 5B B7 D5 5B 18 C1 CF 87 EF 7E - : DA 24 F3 2A 83 9C 35 A1 - : } - : } - : } - : } - 2275 31 554: SET { - 2279 30 550: SEQUENCE { - 2283 02 1: INTEGER 1 - 2286 30 24: SEQUENCE { - 2288 30 18: SEQUENCE { - 2290 31 16: SET { - 2292 30 14: SEQUENCE { - 2294 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 2299 13 7: PrintableString 'CarlDSS' - : } - : } - : } - - - -Hoffman, Ed. Informational [Page 64] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 2308 02 2: INTEGER 200 - : } - 2312 30 7: SEQUENCE { - 2314 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 2321 A0 93: [0] { - 2323 30 24: SEQUENCE { - 2325 06 9: OBJECT IDENTIFIER - : contentType (1 2 840 113549 1 9 3) - : (PKCS #9 (1 2 840 113549 1 9)) - 2336 31 11: SET { - 2338 06 9: OBJECT IDENTIFIER - : data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - : } - 2349 30 28: SEQUENCE { - 2351 06 9: OBJECT IDENTIFIER - : signingTime (1 2 840 113549 1 9 5) - : (PKCS #9 (1 2 840 113549 1 9)) - 2362 31 15: SET { - 2364 17 13: UTCTime '030514153900Z' - : } - : } - 2379 30 35: SEQUENCE { - 2381 06 9: OBJECT IDENTIFIER - : messageDigest (1 2 840 113549 1 9 4) - : (PKCS #9 (1 2 840 113549 1 9)) - 2392 31 22: SET { - 2394 04 20: OCTET STRING - : 40 6A EC 08 52 79 BA 6E 16 02 2D 9E - : 06 29 C0 22 96 87 DD 48 - : } - : } - : } - 2416 30 9: SEQUENCE { - 2418 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 2427 04 46: OCTET STRING, encapsulates { - 2429 30 44: SEQUENCE { - 2431 02 20: INTEGER - : 3B A5 E0 4A DB 6D 58 E0 19 D1 00 1C - : 4F 44 9A 57 7A 71 66 68 - 2453 02 20: INTEGER - : 1A 11 98 D6 1F 1F AF 34 81 01 DE BE - - - -Hoffman, Ed. Informational [Page 65] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 8B DC B6 A8 6A 91 69 13 - : } - : } - 2475 A1 354: [1] { - 2479 30 62: SEQUENCE { - 2481 06 11: OBJECT IDENTIFIER - : id-aa-contentHint - : (1 2 840 113549 1 9 16 2 4) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) - 2494 31 47: SET { - 2496 30 45: SEQUENCE { - 2498 0C 32: UTF8String - : 'Content Hints Description Buffer' - 2532 06 9: OBJECT IDENTIFIER - : data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - : } - : } - 2543 30 286: SEQUENCE { - 2547 06 9: OBJECT IDENTIFIER - : countersignature (1 2 840 113549 1 9 6) - : (PKCS #9 (1 2 840 113549 1 9)) - 2558 31 271: SET { - 2562 30 267: SEQUENCE { - 2566 02 1: INTEGER 1 - 2569 30 38: SEQUENCE { - 2571 30 18: SEQUENCE { - 2573 31 16: SET { - 2575 30 14: SEQUENCE { - 2577 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 2582 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 2591 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - : } - 2609 30 7: SEQUENCE { - 2611 06 5: OBJECT IDENTIFIER - : sha1 (1 3 14 3 2 26) - : (OIW) - : } - 2618 A0 67: [0] { - - - -Hoffman, Ed. Informational [Page 66] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 2620 30 28: SEQUENCE { - 2622 06 9: OBJECT IDENTIFIER - : signingTime - : (1 2 840 113549 1 9 5) - : (PKCS #9 (1 2 840 113549 1 9)) - 2633 31 15: SET { - 2635 17 13: UTCTime '030514153900Z' - : } - : } - 2650 30 35: SEQUENCE { - 2652 06 9: OBJECT IDENTIFIER - : messageDigest - : (1 2 840 113549 1 9 4) - : (PKCS #9 (1 2 840 113549 1 9)) - 2663 31 22: SET { - 2665 04 20: OCTET STRING - : 02 5F 49 4E 39 98 50 85 B3 66 D3 8A - : 1F 7B 9E 69 AA FB D8 33 - : } - : } - : } - 2687 30 13: SEQUENCE { - 2689 06 9: OBJECT IDENTIFIER - : rsaEncryption - : (1 2 840 113549 1 1 1) - : (PKCS #1) - 2700 05 0: NULL - : } - 2702 04 128: OCTET STRING - : 6D AA 20 24 ED 7A EE A5 5E 87 DD 75 - : 1F 2B 54 10 65 F4 CE 9B B1 2C 78 74 - : BC 8B 1C 60 B5 DB 8B 03 9E 49 F2 2B - : 7F 93 6E 3D 89 14 C9 E3 6B F4 F6 7D - : 76 AE 3E 58 1F 9B BB BC 7C 30 19 4E - : 10 F7 02 F1 8B 5B B4 DB 9A BB 93 B4 - : 18 D0 CC 2B C9 91 A9 AD D9 46 F8 65 - : A9 E2 71 95 D0 D4 4E 1F CD 74 6F 82 - : E8 37 6F 5A 3D CB C7 D4 5F C2 80 1B - : DA D3 84 40 68 5F 56 9A 62 F5 3B 0D - : 6C 33 C3 ED 67 3F 43 BF - : } - : } - : } - : } - : } - : } - : } - : } - - - -Hoffman, Ed. Informational [Page 67] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - -4.5. All RSA Signed Message - - Same as 4.2, but includes Carl's RSA root cert (but no CRL). A - SignedData with no attribute certificates, signed by Alice using RSA, - her certificate and Carl's root cert, no CRL. The message is - ExContent, and is included in the eContent. There are no signed or - unsigned attributes. - - 0 30 NDEF: SEQUENCE { - 2 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 13 A0 NDEF: [0] { - 15 30 NDEF: SEQUENCE { - 17 02 1: INTEGER 1 - 20 31 11: SET { - 22 30 9: SEQUENCE { - 24 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - 31 05 0: NULL - : } - : } - 33 30 NDEF: SEQUENCE { - 35 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 46 A0 NDEF: [0] { - 48 24 NDEF: OCTET STRING { - 50 04 4: OCTET STRING 'This' - 56 04 24: OCTET STRING ' is some sample content.' - : } - : } - : } - 88 A0 NDEF: [0] { - 90 30 491: SEQUENCE { - 94 30 340: SEQUENCE { - 98 A0 3: [0] { - 100 02 1: INTEGER 2 - : } - 103 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : 9F F2 50 20 - 121 30 13: SEQUENCE { - 123 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 134 05 0: NULL - - - -Hoffman, Ed. Informational [Page 68] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - 136 30 18: SEQUENCE { - 138 31 16: SET { - 140 30 14: SEQUENCE { - 142 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 147 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 156 30 30: SEQUENCE { - 158 17 13: UTCTime '990818070000Z' - 173 17 13: UTCTime '391231235959Z' - : } - 188 30 18: SEQUENCE { - 190 31 16: SET { - 192 30 14: SEQUENCE { - 194 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 199 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 208 30 159: SEQUENCE { - 211 30 13: SEQUENCE { - 213 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 224 05 0: NULL - : } - 226 03 141: BIT STRING 0 unused bits, encapsulates { - 230 30 137: SEQUENCE { - 233 02 129: INTEGER - : 00 E4 4B FF 18 B8 24 57 F4 77 FF 6E - : 73 7B 93 71 5C BC 33 1A 92 92 72 23 - : D8 41 46 D0 CD 11 3A 04 B3 8E AF 82 - : 9D BD 51 1E 17 7A F2 76 2C 2B 86 39 - : A7 BD D7 8D 1A 53 EC E4 00 D5 E8 EC - : A2 36 B1 ED E2 50 E2 32 09 8A 3F 9F - : 99 25 8F B8 4E AB B9 7D D5 96 65 DA - : 16 A0 C5 BE 0E AE 44 5B EF 5E F4 A7 - : 29 CB 82 DD AC 44 E9 AA 93 94 29 0E - : F8 18 D6 C8 57 5E F2 76 C4 F2 11 60 - : 38 B9 1B 3C 1D 97 C9 6A F1 - 365 02 3: INTEGER 65537 - : } - - - -Hoffman, Ed. Informational [Page 69] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - 370 A3 66: [3] { - 372 30 64: SEQUENCE { - 374 30 15: SEQUENCE { - 376 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 381 01 1: BOOLEAN TRUE - 384 04 5: OCTET STRING, encapsulates { - 386 30 3: SEQUENCE { - 388 01 1: BOOLEAN TRUE - : } - : } - : } - 391 30 14: SEQUENCE { - 393 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 398 01 1: BOOLEAN TRUE - 401 04 4: OCTET STRING, encapsulates { - 403 03 2: BIT STRING 1 unused bits - : '1100001'B - : } - : } - 407 30 29: SEQUENCE { - 409 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 414 04 22: OCTET STRING, encapsulates { - 416 04 20: OCTET STRING - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - : } - : } - 438 30 13: SEQUENCE { - 440 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 451 05 0: NULL - : } - 453 03 129: BIT STRING 0 unused bits - : B7 9E D4 04 D3 ED 29 E4 FF 89 89 15 - : 2E 4C DB 0C F0 48 0F 32 61 EE C4 04 - - - -Hoffman, Ed. Informational [Page 70] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : EC 12 5D 2D FF 0F 64 59 7E 0A C3 ED - : 18 FD E3 56 40 37 A7 07 B5 F0 38 12 - : 61 50 ED EF DD 3F E3 0B B8 61 A5 A4 - : 9B 3C E6 9E 9C 54 9A B6 95 D6 DA 6C - : 3B B5 2D 45 35 9D 49 01 76 FA B9 B9 - : 31 F9 F9 6B 12 53 A0 F5 14 60 9B 7D - : CA 3E F2 53 6B B0 37 6F AD E6 74 D7 - : DB FA 5A EA 14 41 63 5D CD BE C8 0E - : C1 DA 6A 8D 53 34 18 02 - : } - 585 30 556: SEQUENCE { - 589 30 405: SEQUENCE { - 593 A0 3: [0] { - 595 02 1: INTEGER 2 - : } - 598 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - 616 30 13: SEQUENCE { - 618 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 629 05 0: NULL - : } - 631 30 18: SEQUENCE { - 633 31 16: SET { - 635 30 14: SEQUENCE { - 637 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 642 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 651 30 30: SEQUENCE { - 653 17 13: UTCTime '990919010847Z' - 668 17 13: UTCTime '391231235959Z' - : } - 683 30 19: SEQUENCE { - 685 31 17: SET { - 687 30 15: SEQUENCE { - 689 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 694 13 8: PrintableString 'AliceRSA' - : } - : } - - - -Hoffman, Ed. Informational [Page 71] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - 704 30 159: SEQUENCE { - 707 30 13: SEQUENCE { - 709 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 720 05 0: NULL - : } - 722 03 141: BIT STRING 0 unused bits, encapsulates { - 726 30 137: SEQUENCE { - 729 02 129: INTEGER - : 00 E0 89 73 39 8D D8 F5 F5 E8 87 76 - : 39 7F 4E B0 05 BB 53 83 DE 0F B7 AB - : DC 7D C7 75 29 0D 05 2E 6D 12 DF A6 - : 86 26 D4 D2 6F AA 58 29 FC 97 EC FA - : 82 51 0F 30 80 BE B1 50 9E 46 44 F1 - : 2C BB D8 32 CF C6 68 6F 07 D9 B0 60 - : AC BE EE 34 09 6A 13 F5 F7 05 05 93 - : DF 5E BA 35 56 D9 61 FF 19 7F C9 81 - : E6 F8 6C EA 87 40 70 EF AC 6D 2C 74 - : 9F 2D FA 55 3A B9 99 77 02 A6 48 52 - : 8C 4E F3 57 38 57 74 57 5F - 861 02 3: INTEGER 65537 - : } - : } - : } - 866 A3 129: [3] { - 869 30 127: SEQUENCE { - 871 30 12: SEQUENCE { - 873 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 878 01 1: BOOLEAN TRUE - 881 04 2: OCTET STRING, encapsulates { - 883 30 0: SEQUENCE {} - : } - : } - 885 30 14: SEQUENCE { - 887 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 892 01 1: BOOLEAN TRUE - 895 04 4: OCTET STRING, encapsulates { - 897 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 901 30 31: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 72] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 903 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 908 04 24: OCTET STRING, encapsulates { - 910 30 22: SEQUENCE { - 912 80 20: [0] - : E9 E0 90 27 AC 78 20 7A 9A D3 4C F2 - : 42 37 4E 22 AE 9E 38 BB - : } - : } - : } - 934 30 29: SEQUENCE { - 936 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 941 04 22: OCTET STRING, encapsulates { - 943 04 20: OCTET STRING - : 77 D2 B4 D1 B7 4C 8A 8A A3 CE 45 9D - : CE EC 3C A0 3A E3 FF 50 - : } - : } - 965 30 31: SEQUENCE { - 967 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 972 04 24: OCTET STRING, encapsulates { - 974 30 22: SEQUENCE { - 976 81 20: [1] 'AliceRSA@example.com' - : } - : } - : } - : } - : } - : } - 998 30 13: SEQUENCE { - 1000 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption - : (1 2 840 113549 1 1 5) - : (PKCS #1) - 1011 05 0: NULL - : } - 1013 03 129: BIT STRING 0 unused bits - : 3E 70 47 A8 48 CC 13 58 8F CA 51 71 - : 6B 4E 36 18 5D 04 7E 80 B1 8D 4D CC - : CA A3 8F CC 7D 56 C8 BC CF 6E B3 1C - : 59 A9 20 AA 05 81 A8 4E 25 AD A7 70 - : 14 75 2F F5 C7 9B D1 0E E9 63 D2 64 - : B7 C6 66 6E 73 21 54 DF F4 BA 25 5D - - - -Hoffman, Ed. Informational [Page 73] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 7D 49 D3 94 6B 22 36 74 73 B8 4A EC - : 2F 64 ED D3 3D D2 A7 42 C5 E8 37 8A - : B4 DB 9F 67 E4 BD 9F F9 FE 74 EF EA - : F9 EE 63 6A D8 3F 4B 25 09 B5 D8 1A - : 76 AE EB 9B DB 49 B0 22 - : } - : } - 1147 31 203: SET { - 1150 30 200: SEQUENCE { - 1153 02 1: INTEGER 1 - 1156 30 38: SEQUENCE { - 1158 30 18: SEQUENCE { - 1160 31 16: SET { - 1162 30 14: SEQUENCE { - 1164 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 1169 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 1178 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : C4 10 B3 B0 - : } - 1196 30 9: SEQUENCE { - 1198 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - 1205 05 0: NULL - : } - 1207 30 13: SEQUENCE { - 1209 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 1220 05 0: NULL - : } - 1222 04 128: OCTET STRING - : 2F 23 82 D2 F3 09 5F B8 0C 58 EB 4E - : 9D BF 89 9A 81 E5 75 C4 91 3D D3 D0 - : D5 7B B6 D5 FE 94 A1 8A AC E3 C4 84 - : F5 CD 60 4E 27 95 F6 CF 00 86 76 75 - : 3F 2B F0 E7 D4 02 67 A7 F5 C7 8D 16 - : 04 A5 B3 B5 E7 D9 32 F0 24 EF E7 20 - : 44 D5 9F 07 C5 53 24 FA CE 01 1D 0F - : 17 13 A7 2A 95 9D 2B E4 03 95 14 0B - : E9 39 0D BA CE 6E 9C 9E 0C E8 98 E6 - : 55 13 D4 68 6F D0 07 D7 A2 B1 62 4C - : E3 8F AF FD E0 D5 5D C7 - - - -Hoffman, Ed. Informational [Page 74] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - : } - -4.6. Multiple Signers - - Similar to 4.1, but the message is also signed by Diane. Two - signerInfos (one for Alice, one for Diane) with no attribute - certificates, each signed using DSS, Alice's and Diane's certificate - (not Carl's root cert), no CRL. The message is ExContent, and is - included in the eContent. There are no signed or unsigned - attributes. - - 0 30 1463: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 1448: [0] { - 19 30 1444: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 43: SEQUENCE { - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 50 A0 30: [0] { - 52 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 82 A0 1180: [0] { - 86 30 440: SEQUENCE { - 90 30 375: SEQUENCE { - 94 A0 3: [0] { - 96 02 1: INTEGER 2 - : } - 99 02 2: INTEGER 210 - 103 30 9: SEQUENCE { - 105 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 114 30 18: SEQUENCE { - 116 31 16: SET { - - - -Hoffman, Ed. Informational [Page 75] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 118 30 14: SEQUENCE { - 120 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 125 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 134 30 30: SEQUENCE { - 136 17 13: UTCTime '990817020810Z' - 151 17 13: UTCTime '391231235959Z' - : } - 166 30 19: SEQUENCE { - 168 31 17: SET { - 170 30 15: SEQUENCE { - 172 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 177 13 8: PrintableString 'DianeDSS' - : } - : } - : } - 187 30 147: SEQUENCE { - 190 30 9: SEQUENCE { - 192 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - : } - 201 03 133: BIT STRING 0 unused bits, encapsulates { - 205 02 129: INTEGER - : 00 A0 00 17 78 2C EE 7E 81 53 2E 2E - : 61 08 0F A1 9B 51 52 1A DA 59 A8 73 - : 2F 12 25 B6 08 CB CA EF 2A 44 76 8A - : 52 09 EA BD 05 22 D5 0F F6 FD 46 D7 - : AF 99 38 09 0E 13 CB 4F 2C DD 1C 34 - : F7 1C BF 25 FF 23 D3 3B 59 E7 82 97 - : 37 BE 31 24 D8 18 C8 F3 49 39 5B B7 - : E2 E5 27 7E FC 8C 45 72 5B 7E 3E 8F - : 68 4D DD 46 7A 22 BE 8E FF CC DA 39 - : 29 A3 39 E5 9F 43 E9 55 C9 D7 5B A6 - : 81 67 CC C0 AA CD 2E C5 23 - : } - : } - 337 A3 129: [3] { - 340 30 127: SEQUENCE { - 342 30 12: SEQUENCE { - 344 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - - - -Hoffman, Ed. Informational [Page 76] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (X.509 id-ce (2 5 29)) - 349 01 1: BOOLEAN TRUE - 352 04 2: OCTET STRING, encapsulates { - 354 30 0: SEQUENCE {} - : } - : } - 356 30 14: SEQUENCE { - 358 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 363 01 1: BOOLEAN TRUE - 366 04 4: OCTET STRING, encapsulates { - 368 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 372 30 31: SEQUENCE { - 374 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 379 04 24: OCTET STRING, encapsulates { - 381 30 22: SEQUENCE { - 383 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 405 30 29: SEQUENCE { - 407 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 412 04 22: OCTET STRING, encapsulates { - 414 04 20: OCTET STRING - : 64 30 99 7D 5C DC 45 0B 99 3A 52 2F - : 16 BF 58 50 DD CE 2B 18 - : } - : } - 436 30 31: SEQUENCE { - 438 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 443 04 24: OCTET STRING, encapsulates { - 445 30 22: SEQUENCE { - 447 81 20: [1] 'DianeDSS@example.com' - : } - : } - : } - - - -Hoffman, Ed. Informational [Page 77] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - 469 30 9: SEQUENCE { - 471 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 480 03 48: BIT STRING 0 unused bits, encapsulates { - 483 30 45: SEQUENCE { - 485 02 21: INTEGER - : 00 A1 1A F8 17 0E 3E 5D A8 8C F4 B6 - : 55 33 1E 4B E3 2C AC B9 5F - 508 02 20: INTEGER - : 28 4B 10 45 58 D2 1C 9D 55 35 14 18 - : 91 B2 3F 39 DF B5 6E D3 - : } - : } - : } - 530 30 732: SEQUENCE { - 534 30 667: SEQUENCE { - 538 A0 3: [0] { - 540 02 1: INTEGER 2 - : } - 543 02 2: INTEGER 200 - 547 30 9: SEQUENCE { - 549 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 558 30 18: SEQUENCE { - 560 31 16: SET { - 562 30 14: SEQUENCE { - 564 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 569 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 578 30 30: SEQUENCE { - 580 17 13: UTCTime '990817011049Z' - 595 17 13: UTCTime '391231235959Z' - : } - 610 30 19: SEQUENCE { - 612 31 17: SET { - 614 30 15: SEQUENCE { - 616 06 3: OBJECT IDENTIFIER - - - -Hoffman, Ed. Informational [Page 78] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 621 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 631 30 438: SEQUENCE { - 635 30 299: SEQUENCE { - 639 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 648 30 286: SEQUENCE { - 652 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 784 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 807 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 938 03 132: BIT STRING 0 unused bits, encapsulates { - 942 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - - - -Hoffman, Ed. Informational [Page 79] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 1073 A3 129: [3] { - 1076 30 127: SEQUENCE { - 1078 30 12: SEQUENCE { - 1080 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 1085 01 1: BOOLEAN TRUE - 1088 04 2: OCTET STRING, encapsulates { - 1090 30 0: SEQUENCE {} - : } - : } - 1092 30 14: SEQUENCE { - 1094 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 1099 01 1: BOOLEAN TRUE - 1102 04 4: OCTET STRING, encapsulates { - 1104 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 1108 30 31: SEQUENCE { - 1110 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 1115 04 24: OCTET STRING, encapsulates { - 1117 30 22: SEQUENCE { - 1119 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 1141 30 29: SEQUENCE { - 1143 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 1148 04 22: OCTET STRING, encapsulates { - 1150 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - - - -Hoffman, Ed. Informational [Page 80] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 13 01 E2 FD E3 97 FE CD - : } - : } - 1172 30 31: SEQUENCE { - 1174 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 1179 04 24: OCTET STRING, encapsulates { - 1181 30 22: SEQUENCE { - 1183 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } - 1205 30 9: SEQUENCE { - 1207 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 1216 03 48: BIT STRING 0 unused bits, encapsulates { - 1219 30 45: SEQUENCE { - 1221 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 1243 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 1266 31 198: SET { - 1269 30 97: SEQUENCE { - 1271 02 1: INTEGER 1 - 1274 30 24: SEQUENCE { - 1276 30 18: SEQUENCE { - 1278 31 16: SET { - 1280 30 14: SEQUENCE { - 1282 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 1287 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 1296 02 2: INTEGER 200 - - - -Hoffman, Ed. Informational [Page 81] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - 1300 30 7: SEQUENCE { - 1302 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 1309 30 9: SEQUENCE { - 1311 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 1320 04 46: OCTET STRING, encapsulates { - 1322 30 44: SEQUENCE { - 1324 02 20: INTEGER - : 48 24 DE 8B 85 F2 16 AF EC 82 61 A9 - : 54 D0 2D 04 A1 CC 5A 4F - 1346 02 20: INTEGER - : 17 ED D5 77 02 EE 75 13 D8 10 BD 3D - : 97 17 20 88 BB FD 7B 81 - : } - : } - : } - 1368 30 97: SEQUENCE { - 1370 02 1: INTEGER 1 - 1373 30 24: SEQUENCE { - 1375 30 18: SEQUENCE { - 1377 31 16: SET { - 1379 30 14: SEQUENCE { - 1381 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 1386 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 1395 02 2: INTEGER 210 - : } - 1399 30 7: SEQUENCE { - 1401 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 1408 30 9: SEQUENCE { - 1410 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 1419 04 46: OCTET STRING, encapsulates { - 1421 30 44: SEQUENCE { - 1423 02 20: INTEGER - - - -Hoffman, Ed. Informational [Page 82] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 15 FF 81 4D 8C AD 80 4E 9B 35 58 04 - : 37 6E 63 6E E9 5B 83 FA - 1445 02 20: INTEGER - : 06 7E 58 4E 2B 31 84 41 ED 49 79 38 - : 3E 77 D2 A6 8C 75 08 21 - : } - : } - : } - : } - : } - : } - : } - -4.7. Signing Using SKI - - Same as 4.1, but the signature uses the SKI instead of the - issuer/serial number in the cert. A SignedData with no attribute - certificates, signed by Alice using DSS, just her certificate (not - Carl's root cert), identified by the SKI, no CRL. The message is - ExContent, and is included in the eContent. There are no signed or - unsigned attributes. - - 0 30 915: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 900: [0] { - 19 30 896: SEQUENCE { - 23 02 1: INTEGER 3 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 43: SEQUENCE { - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 50 A0 30: [0] { - 52 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 82 A0 736: [0] { - 86 30 732: SEQUENCE { - 90 30 667: SEQUENCE { - 94 A0 3: [0] { - 96 02 1: INTEGER 2 - : } - 99 02 2: INTEGER 200 - - - -Hoffman, Ed. Informational [Page 83] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 103 30 9: SEQUENCE { - 105 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 114 30 18: SEQUENCE { - 116 31 16: SET { - 118 30 14: SEQUENCE { - 120 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 125 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 134 30 30: SEQUENCE { - 136 17 13: UTCTime '990817011049Z' - 151 17 13: UTCTime '391231235959Z' - : } - 166 30 19: SEQUENCE { - 168 31 17: SET { - 170 30 15: SEQUENCE { - 172 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 177 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 187 30 438: SEQUENCE { - 191 30 299: SEQUENCE { - 195 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 204 30 286: SEQUENCE { - 208 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 340 02 21: INTEGER - - - -Hoffman, Ed. Informational [Page 84] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 363 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 494 03 132: BIT STRING 0 unused bits, encapsulates { - 498 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 629 A3 129: [3] { - 632 30 127: SEQUENCE { - 634 30 12: SEQUENCE { - 636 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 641 01 1: BOOLEAN TRUE - 644 04 2: OCTET STRING, encapsulates { - 646 30 0: SEQUENCE {} - : } - : } - 648 30 14: SEQUENCE { - 650 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 655 01 1: BOOLEAN TRUE - 658 04 4: OCTET STRING, encapsulates { - - - -Hoffman, Ed. Informational [Page 85] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 660 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 664 30 31: SEQUENCE { - 666 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 671 04 24: OCTET STRING, encapsulates { - 673 30 22: SEQUENCE { - 675 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 697 30 29: SEQUENCE { - 699 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 704 04 22: OCTET STRING, encapsulates { - 706 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 728 30 31: SEQUENCE { - 730 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 735 04 24: OCTET STRING, encapsulates { - 737 30 22: SEQUENCE { - 739 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } - 761 30 9: SEQUENCE { - 763 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 772 03 48: BIT STRING 0 unused bits, encapsulates { - 775 30 45: SEQUENCE { - 777 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - - - -Hoffman, Ed. Informational [Page 86] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 83 6A B5 3D 67 6B BF 45 - 799 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 822 31 95: SET { - 824 30 93: SEQUENCE { - 826 02 1: INTEGER 3 - 829 80 20: [0] - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - 851 30 7: SEQUENCE { - 853 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 860 30 9: SEQUENCE { - 862 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - : } - 871 04 46: OCTET STRING, encapsulates { - 873 30 44: SEQUENCE { - 875 02 20: INTEGER - : 6D 8E 5A CD 28 A0 1F D9 86 AD 7A E9 - : DF AC D7 BE EC BE 3F F8 - 897 02 20: INTEGER - : 7C 8A 06 1E FC A4 41 35 7E F7 24 14 - : FD 3D C0 56 B7 05 27 D5 - : } - : } - : } - : } - : } - : } - : } - -4.8. S/MIME multipart/signed Message - - A full S/MIME message, including MIME, that includes the body part - from 4.3 and the body containing the content of the message. - -MIME-Version: 1.0 -To: User2@examples.com -From: aliceDss@examples.com -Subject: Example 4.8 -Message-Id: <020906002550300.249@examples.com> - - - -Hoffman, Ed. Informational [Page 87] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -Date: Fri, 06 Sep 2002 00:25:21 -0300 -Content-Type: multipart/signed; - micalg=SHA1; - boundary="----=_NextBoundry____Fri,_06_Sep_2002_00:25:21"; - protocol="application/pkcs7-signature" - -This is a multi-part message in MIME format. - -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 - -This is some sample content. -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 -Content-Type: application/pkcs7-signature; name=smime.p7s -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7s - -MIIDdwYJKoZIhvcNAQcCoIIDaDCCA2QCAQExCTAHBgUrDgMCGjALBgkqhkiG9w0BBwGgggL -gMIIC3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDT -k5MDgxNzAxMTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1MwggG2M -IIBKwYHKoZIzjgEATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE//lOFz -SH4M1vNESNH+n6+koYkv4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6iLVPE -/sAcIR01diMPDtbPjVQh11Tl2EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6YaRWa4E8 -baj7g3IStii/eTzQKBgCY40BSJMqo5+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1nizaoFP -VjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3qnMkhijt2FOnOLl2jB80jhbgvMAF8bUmJEYk2 -RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGBSmA5ujY5A4GEAAKBgFzjuVp1FJYLqXr -d4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/+onyohs+JH09B41bY8i7RaWgSu -OF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTSljf2YUeyxDKE8H5BQP1Gp -2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwHwYDVR0j -BBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwfftQ3CkzhMB4v3 -jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqGSM44BAMDMAAwLQ -IUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0NevTFjMGECAQEwG -DASMRAwDgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGjAJBgcqhkjOOAQDBC4wLAIUM/mG -f6gkgp9Z0XtRdGimJeB/BxUCFGFFJqwYRt1WYcIOQoGiaowqGzVI - -------=_NextBoundry____Fri,_06_Sep_2002_00:25:21-- - -4.9. S/MIME application/pkcs7-mime Signed Message - - A full S/MIME message, including the MIME parts. - -MIME-Version: 1.0 -To: User2@examples.com -From: aliceDss@examples.com -Subject: Example 4.9 -Message-Id: <021031164540300.304@examples.com> -Date: Thu, 31 Oct 2002 16:45:14 -0300 -Content-Type: application/pkcs7-mime; smime-type=signed-data; - name=smime.p7m - - - -Hoffman, Ed. Informational [Page 88] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7m - -MIIDmQYJKoZIhvcNAQcCoIIDijCCA4YCAQExCTAHBgUrDgMCGjAtBgkqhkiG9w0BBwGgIAQ -eDQpUaGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQuoIIC4DCCAtwwggKboAMCAQICAgDIMA -kGByqGSM44BAMwEjEQMA4GA1UEAxMHQ2FybERTUzAeFw05OTA4MTcwMTEwNDlaFw0zOTEyM -zEyMzU5NTlaMBMxETAPBgNVBAMTCEFsaWNlRFNTMIIBtjCCASsGByqGSM44BAEwggEeAoGB -AIGNze2D6gqeOT7CSCij5EeT3Q7XqA7sU8WrhAhP/5Thc0h+DNbzREjR/p+vpKGJL+HZMMg -23j+bv7dM3F9piuR10DcMkQiVm96nXvn89J8v3UOoi1TxP7AHCEdNXYjDw7Wz41UIddU5dh -DEeL3/nbCElzfy5FEbteQJllzzflvbAhUA4kemGkVmuBPG2o+4NyErYov3k80CgYAmONAUi -TKqOfs+bdlLWWpMdiM5BAI1XPLLGjDDHlBd3ZtZ4s2qBT1YwHuiNrhuB699ikIlp/R1z0oI -Xks+kPht6pzJIYo7dhTpzi5dowfNI4W4LzABfG1JiRGJNkS9+MiVSlNWteL5c+waYTYfEX/ -Cve3RUP+YdMLRgUpgObo2OQOBhAACgYBc47ladRSWC6l63eM/qeysXty9txMRNKYWiSgRI9 -k0hmd1dRMSPUNbb+VRv/qJ8qIbPiR9PQeNW2PIu0WloErjhdbOBoA/6CN+GvIkq1MauCcNH -u8Iv2YUgFxirGX6FYvxuzTU0pY39mFHssQyhPB+QUD9RqdjTjPypeL08oPluKOBgTB/MAwG -A1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbAMB8GA1UdIwQYMBaAFHBEPoIub4feStN14z0 -gvEMrk/EfMB0GA1UdDgQWBBS+bKGz48H37UNwpM4TAeL945f+zTAfBgNVHREEGDAWgRRBbG -ljZURTU0BleGFtcGxlLmNvbTAJBgcqhkjOOAQDAzAAMC0CFFUMpBkfQiuJcSIzjYNqtT1na -79FAhUAn2FTUlQLXLLd2ud2HeIQUltDXr0xYzBhAgEBMBgwEjEQMA4GA1UEAxMHQ2FybERT -UwICAMgwBwYFKw4DAhowCQYHKoZIzjgEAwQuMCwCFD1cSW6LIUFzeXle3YI5SKSBer/sAhQ -mCq7s/CTFHOEjgASeUjbMpx5g6A== - -4.10. SignedData with Attributes - - A SignedData message with the following list of signedAttributes: - - -unknown OID - -contentHints - -smimeCapablilties - -securityLabel - -ContentReference - -smimeEncryptKeyPreference - -mlExpansionHistory - -EquivalentLabel - - 0 30 2047: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 2032: [0] { - 19 30 2028: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 9: SET { - 28 30 7: SEQUENCE { - 30 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - : } - 37 30 43: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 89] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 39 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 50 A0 30: [0] { - 52 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 82 A0 736: [0] { - 86 30 732: SEQUENCE { - 90 30 667: SEQUENCE { - 94 A0 3: [0] { - 96 02 1: INTEGER 2 - : } - 99 02 2: INTEGER 200 - 103 30 9: SEQUENCE { - 105 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 114 30 18: SEQUENCE { - 116 31 16: SET { - 118 30 14: SEQUENCE { - 120 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 125 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 134 30 30: SEQUENCE { - 136 17 13: UTCTime '990817011049Z' - 151 17 13: UTCTime '391231235959Z' - : } - 166 30 19: SEQUENCE { - 168 31 17: SET { - 170 30 15: SEQUENCE { - 172 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 177 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 187 30 438: SEQUENCE { - 191 30 299: SEQUENCE { - 195 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 204 30 286: SEQUENCE { - - - -Hoffman, Ed. Informational [Page 90] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 208 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 340 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 363 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } - 494 03 132: BIT STRING 0 unused bits, encapsulates { - 498 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } - 629 A3 129: [3] { - 632 30 127: SEQUENCE { - 634 30 12: SEQUENCE { - 636 06 3: OBJECT IDENTIFIER - - - -Hoffman, Ed. Informational [Page 91] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 641 01 1: BOOLEAN TRUE - 644 04 2: OCTET STRING, encapsulates { - 646 30 0: SEQUENCE {} - : } - : } - 648 30 14: SEQUENCE { - 650 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 655 01 1: BOOLEAN TRUE - 658 04 4: OCTET STRING, encapsulates { - 660 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } - 664 30 31: SEQUENCE { - 666 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) - 671 04 24: OCTET STRING, encapsulates { - 673 30 22: SEQUENCE { - 675 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } - 697 30 29: SEQUENCE { - 699 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 704 04 22: OCTET STRING, encapsulates { - 706 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } - 728 30 31: SEQUENCE { - 730 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) - 735 04 24: OCTET STRING, encapsulates { - 737 30 22: SEQUENCE { - 739 81 20: [1] 'AliceDSS@example.com' - : } - : } - - - -Hoffman, Ed. Informational [Page 92] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - 761 30 9: SEQUENCE { - 763 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 772 03 48: BIT STRING 0 unused bits, encapsulates { - 775 30 45: SEQUENCE { - 777 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 - 799 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } - 822 31 1225: SET { - 826 30 1221: SEQUENCE { - 830 02 1: INTEGER 1 - 833 30 24: SEQUENCE { - 835 30 18: SEQUENCE { - 837 31 16: SET { - 839 30 14: SEQUENCE { - 841 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 846 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 855 02 2: INTEGER 200 - : } - 859 30 7: SEQUENCE { - 861 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 868 A0 1119: [0] { - 872 30 24: SEQUENCE { - 874 06 9: OBJECT IDENTIFIER - : contentType (1 2 840 113549 1 9 3) - : (PKCS #9 (1 2 840 113549 1 9)) - 885 31 11: SET { - 887 06 9: OBJECT IDENTIFIER - - - -Hoffman, Ed. Informational [Page 93] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - : } - 898 30 35: SEQUENCE { - 900 06 9: OBJECT IDENTIFIER - : messageDigest (1 2 840 113549 1 9 4) - : (PKCS #9 (1 2 840 113549 1 9)) - 911 31 22: SET { - 913 04 20: OCTET STRING - : 40 6A EC 08 52 79 BA 6E 16 02 2D 9E - : 06 29 C0 22 96 87 DD 48 - : } - : } - 935 30 56: SEQUENCE { - 937 06 3: OBJECT IDENTIFIER '1 2 5555' - 942 31 49: SET { - 944 04 47: OCTET STRING - : 'This is a test General ASN Attribut' - : 'e, number 1.' - : } - : } - 993 30 62: SEQUENCE { - 995 06 11: OBJECT IDENTIFIER - : id-aa-contentHint - : (1 2 840 113549 1 9 16 2 4) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1008 31 47: SET { -1010 30 45: SEQUENCE { -1012 0C 32: UTF8String - : 'Content Hints Description Buffer' -1046 06 9: OBJECT IDENTIFIER - : data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - : } - : } -1057 30 74: SEQUENCE { -1059 06 9: OBJECT IDENTIFIER - : sMIMECapabilities - : (1 2 840 113549 1 9 15) - : (PKCS #9 - : (1 2 840 113549 1 9)) -1070 31 61: SET { -1072 30 59: SEQUENCE { -1074 30 7: SEQUENCE { -1076 06 5: OBJECT IDENTIFIER '1 2 3 4 5 6' - - - -Hoffman, Ed. Informational [Page 94] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } -1083 30 48: SEQUENCE { -1085 06 6: OBJECT IDENTIFIER '1 2 3 4 5 6 77' -1093 04 38: OCTET STRING - : 'Smime Capabilities parameters buffe' - : 'r 2' - : } - : } - : } - : } -1133 30 109: SEQUENCE { -1135 06 11: OBJECT IDENTIFIER - : id-aa-securityLabel - : (1 2 840 113549 1 9 16 2 2) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1148 31 94: SET { -1150 31 92: SET { -1152 02 1: INTEGER 1 -1155 06 7: OBJECT IDENTIFIER '1 2 3 4 5 6 7 8' -1164 13 27: PrintableString - : 'THIS IS A PRIVACY MARK TEST' -1193 31 49: SET { -1195 30 47: SEQUENCE { -1197 80 8: [0] - : 2A 03 04 05 06 07 86 78 -1207 A1 35: [1] { -1209 13 33: PrintableString - : 'THIS IS A TEST SECURITY-' - : 'CATEGORY.' - : } - : } - : } - : } - : } - : } -1244 30 111: SEQUENCE { -1246 06 11: OBJECT IDENTIFIER - : id-aa-contentReference - : (1 2 840 113549 1 9 16 2 10) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1259 31 96: SET { -1261 30 94: SEQUENCE { -1263 06 5: OBJECT IDENTIFIER '1 2 3 4 5 6' -1270 04 43: OCTET STRING - : 'Content Reference Content Identifie' - : 'r Buffer' - - - -Hoffman, Ed. Informational [Page 95] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -1315 04 40: OCTET STRING - : 'Content Reference Signature Value B' - : 'uffer' - : } - : } - : } -1357 30 115: SEQUENCE { -1359 06 11: OBJECT IDENTIFIER - : id-aa-encrypKeyPref - : (1 2 840 113549 1 9 16 2 11) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1372 31 100: SET { -1374 A0 98: [0] { -1376 30 90: SEQUENCE { -1378 31 11: SET { -1380 30 9: SEQUENCE { -1382 06 3: OBJECT IDENTIFIER - : countryName (2 5 4 6) - : (X.520 id-at (2 5 4)) -1387 13 2: PrintableString 'US' - : } - : } -1391 31 22: SET { -1393 30 20: SEQUENCE { -1395 06 3: OBJECT IDENTIFIER - : organizationName (2 5 4 10) - : (X.520 id-at (2 5 4)) -1400 13 13: PrintableString 'US Government' - : } - : } -1415 31 17: SET { -1417 30 15: SEQUENCE { -1419 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1424 13 8: PrintableString 'VDA Site' - : } - : } -1434 31 12: SET { -1436 30 10: SEQUENCE { -1438 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1443 13 3: PrintableString 'VDA' - : } - - - -Hoffman, Ed. Informational [Page 96] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } -1448 31 18: SET { -1450 30 16: SEQUENCE { -1452 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) -1457 13 9: PrintableString 'Daisy RSA' - : } - : } - : } -1468 02 4: INTEGER 173360179 - : } - : } - : } -1474 30 252: SEQUENCE { -1477 06 11: OBJECT IDENTIFIER - : id-aa-mlExpandHistory - : (1 2 840 113549 1 9 16 2 3) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1490 31 236: SET { -1493 30 233: SEQUENCE { -1496 30 230: SEQUENCE { -1499 04 7: OCTET STRING '5738299' -1508 18 15: GeneralizedTime '19990311104433Z' -1525 A1 201: [1] { -1528 30 198: SEQUENCE { -1531 A4 97: [4] { -1533 30 95: SEQUENCE { -1535 31 11: SET { -1537 30 9: SEQUENCE { -1539 06 3: OBJECT IDENTIFIER - : countryName (2 5 4 6) - : (X.520 id-at (2 5 4)) -1544 13 2: PrintableString 'US' - : } - : } -1548 31 22: SET { -1550 30 20: SEQUENCE { -1552 06 3: OBJECT IDENTIFIER - : organizationName - : (2 5 4 10) - : (X.520 id-at (2 5 4)) -1557 13 13: PrintableString - : 'US Government' - : } - : } -1572 31 17: SET { - - - -Hoffman, Ed. Informational [Page 97] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -1574 30 15: SEQUENCE { -1576 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1581 13 8: PrintableString - : 'VDA Site' - : } - : } -1591 31 12: SET { -1593 30 10: SEQUENCE { -1595 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1600 13 3: PrintableString 'VDA' - : } - : } -1605 31 23: SET { -1607 30 21: SEQUENCE { -1609 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) -1614 13 14: PrintableString - : 'Bugs Bunny DSA' - : } - : } - : } - : } -1630 A4 97: [4] { -1632 30 95: SEQUENCE { -1634 31 11: SET { -1636 30 9: SEQUENCE { -1638 06 3: OBJECT IDENTIFIER - : countryName (2 5 4 6) - : (X.520 id-at (2 5 4)) -1643 13 2: PrintableString 'US' - : } - : } -1647 31 22: SET { -1649 30 20: SEQUENCE { -1651 06 3: OBJECT IDENTIFIER - : organizationName - : (2 5 4 10) - : (X.520 id-at (2 5 4)) -1656 13 13: PrintableString - : 'US Government' - : } - - - -Hoffman, Ed. Informational [Page 98] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } -1671 31 17: SET { -1673 30 15: SEQUENCE { -1675 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1680 13 8: PrintableString - : 'VDA Site' - : } - : } -1690 31 12: SET { -1692 30 10: SEQUENCE { -1694 06 3: OBJECT IDENTIFIER - : organizationalUnitName - : (2 5 4 11) - : (X.520 id-at (2 5 4)) -1699 13 3: PrintableString 'VDA' - : } - : } -1704 31 23: SET { -1706 30 21: SEQUENCE { -1708 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) -1713 13 14: PrintableString - : 'Elmer Fudd DSA' - : } - : } - : } - : } - : } - : } - : } - : } - : } - : } -1729 30 258: SEQUENCE { -1733 06 11: OBJECT IDENTIFIER - : id-aa-equivalentLabels - : (1 2 840 113549 1 9 16 2 9) - : (S/MIME Authenticated Attributes - : (1 2 840 113549 1 9 16 2)) -1746 31 242: SET { -1749 30 239: SEQUENCE { -1752 31 114: SET { -1754 02 1: INTEGER 1 -1757 06 7: OBJECT IDENTIFIER '1 2 3 4 5 6 7 9' - - - -Hoffman, Ed. Informational [Page 99] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -1766 13 38: PrintableString - : 'EQUIVALENT THIS IS A PRIVACY MARK T' - : 'EST' -1806 31 60: SET { -1808 30 58: SEQUENCE { -1810 80 8: [0] - : 2A 03 04 05 06 07 86 78 -1820 A1 46: [1] { -1822 13 44: PrintableString - : 'EQUIVALENT THIS IS A TEST SECURITY-' - : 'CATEGORY.' - : } - : } - : } - : } -1868 31 121: SET { -1870 02 1: INTEGER 1 -1873 06 7: OBJECT IDENTIFIER - : '1 2 3 4 5 6 7 10' -1882 13 45: PrintableString - : 'EQUIVALENT THIS IS A SECOND PRIVACY' - : ' MARK TEST' -1929 31 60: SET { -1931 30 58: SEQUENCE { -1933 80 8: [0] - : 2A 03 04 05 06 07 86 78 -1943 A1 46: [1] { -1945 13 44: PrintableString - : 'EQUIVALENT THIS IS A TEST SECURITY-' - : 'CATEGORY.' - : } - : } - : } - : } - : } - : } - : } - : } -1991 30 9: SEQUENCE { -1993 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } -2002 04 47: OCTET STRING, encapsulates { -2004 30 45: SEQUENCE { -2006 02 21: INTEGER - : 00 BC 33 37 65 C4 F7 70 5C 17 49 13 - : AA 4C 85 CA BB 52 91 48 59 - - - -Hoffman, Ed. Informational [Page 100] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -2029 02 20: INTEGER - : 63 96 A2 14 8B CF 57 DE B0 48 5F 6C - : 64 DD 84 04 49 5F 1C CA - : } - : } - : } - : } - : } - : } - : } - -4.11. SignedData with Certificates Only - - CA SignedData message with no content or signature, containing only - Alices's and Carl's certificates. - - 0 30 1672: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) - : (PKCS #7) - 15 A0 1657: [0] { - 19 30 1653: SEQUENCE { - 23 02 1: INTEGER 1 - 26 31 0: SET {} - 28 30 11: SEQUENCE { - 30 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - : } - 41 A0 1407: [0] { - 45 30 667: SEQUENCE { - 49 30 602: SEQUENCE { - 53 A0 3: [0] { - 55 02 1: INTEGER 2 - : } - 58 02 1: INTEGER 1 - 61 30 9: SEQUENCE { - 63 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 72 30 18: SEQUENCE { - 74 31 16: SET { - 76 30 14: SEQUENCE { - 78 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 83 13 7: PrintableString 'CarlDSS' - : } - : } - - - -Hoffman, Ed. Informational [Page 101] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - 92 30 30: SEQUENCE { - 94 17 13: UTCTime '990816225050Z' - 109 17 13: UTCTime '391231235959Z' - : } - 124 30 18: SEQUENCE { - 126 31 16: SET { - 128 30 14: SEQUENCE { - 130 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 135 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 144 30 439: SEQUENCE { - 148 30 299: SEQUENCE { - 152 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 161 30 286: SEQUENCE { - 165 02 129: INTEGER - : 00 B6 49 18 3E 8A 44 C1 29 71 94 4C - : 01 C4 12 C1 7A 79 CB 54 4D AB 1E 81 - : FB C6 4C B3 0E 94 09 06 EB 01 D4 B1 - : C8 71 4B C7 45 C0 50 25 5D 9C FC DA - : E4 6D D3 E2 86 48 84 82 7D BA 15 95 - : 4A 16 F6 46 ED DD F6 98 D2 BB 7E 8A - : 0A 8A BA 16 7B B9 50 01 48 93 8B EB - : 25 15 51 97 55 DC 8F 53 0E 10 A9 50 - : FC 70 B7 CD 30 54 FD DA DE A8 AA 22 - : B5 A1 AF 8B CC 02 88 E7 8B 70 5F B9 - : AD E1 08 D4 6D 29 2D D6 E9 - 297 02 21: INTEGER - : 00 DD C1 2F DF 53 CE 0B 34 60 77 3E - : 02 A4 BF 8A 5D 98 B9 10 D5 - 320 02 128: INTEGER - : 0C EE 57 9B 4B BD DA B6 07 6A 74 37 - : 4F 55 7F 9D ED BC 61 0D EB 46 59 3C - : 56 0B 2B 5B 0C 91 CE A5 62 52 69 CA - : E1 6D 3E BD BF FE E1 B7 B9 2B 61 3C - : AD CB AE 45 E3 06 AC 8C 22 9D 9C 44 - : 87 0B C7 CD F0 1C D9 B5 4E 5D 73 DE - : AF 0E C9 1D 5A 51 F5 4F 44 79 35 5A - : 73 AA 7F 46 51 1F A9 42 16 9C 48 EB - : 8A 79 61 B4 D5 2F 53 22 44 63 1F 86 - : B8 A3 58 06 25 F8 29 C0 EF BA E0 75 - : F0 42 C4 63 65 52 9B 0A - - - -Hoffman, Ed. Informational [Page 102] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - 451 03 133: BIT STRING 0 unused bits, encapsulates { - 455 02 129: INTEGER - : 00 99 87 74 27 03 66 A0 B1 C0 AD DC - : 2C 75 BB E1 6C 44 9C DA 21 6D 4D 47 - : 6D B1 62 09 E9 D8 AE 1E F2 3A B4 94 - : B1 A3 8E 7A 9B 71 4E 00 94 C9 B4 25 - : 4E B9 60 96 19 24 01 F3 62 0C FE 75 - : C0 FB CE D8 68 00 E3 FD D5 70 4F DF - : 23 96 19 06 94 F4 B1 61 8F 3A 57 B1 - : 08 11 A4 0B 26 25 F0 52 76 81 EA 0B - : 62 0D 95 2A E6 86 BA 72 B2 A7 50 83 - : 0B AA 27 CD 1B A9 4D 89 9A D7 8D 18 - : 39 84 3F 8B C5 56 4D 80 7A - : } - : } - 587 A3 66: [3] { - 589 30 64: SEQUENCE { - 591 30 15: SEQUENCE { - 593 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) - 598 01 1: BOOLEAN TRUE - 601 04 5: OCTET STRING, encapsulates { - 603 30 3: SEQUENCE { - 605 01 1: BOOLEAN TRUE - : } - : } - : } - 608 30 14: SEQUENCE { - 610 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) - 615 01 1: BOOLEAN TRUE - 618 04 4: OCTET STRING, encapsulates { - 620 03 2: BIT STRING 1 unused bits - : '1100001'B - : } - : } - 624 30 29: SEQUENCE { - 626 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) - 631 04 22: OCTET STRING, encapsulates { - 633 04 20: OCTET STRING - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - - - -Hoffman, Ed. Informational [Page 103] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - : } - : } - : } - 655 30 9: SEQUENCE { - 657 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 666 03 48: BIT STRING 0 unused bits, encapsulates { - 669 30 45: SEQUENCE { - 671 02 20: INTEGER - : 6B A9 F0 4E 7A 5A 79 E3 F9 BE 3D 2B - : C9 06 37 E9 11 17 A1 13 - 693 02 21: INTEGER - : 00 8F 34 69 2A 8B B1 3C 03 79 94 32 - : 4D 12 1F CE 89 FB 46 B2 3B - : } - : } - : } - 716 30 732: SEQUENCE { - 720 30 667: SEQUENCE { - 724 A0 3: [0] { - 726 02 1: INTEGER 2 - : } - 729 02 2: INTEGER 200 - 733 30 9: SEQUENCE { - 735 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } - 744 30 18: SEQUENCE { - 746 31 16: SET { - 748 30 14: SEQUENCE { - 750 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 755 13 7: PrintableString 'CarlDSS' - : } - : } - : } - 764 30 30: SEQUENCE { - 766 17 13: UTCTime '990817011049Z' - 781 17 13: UTCTime '391231235959Z' - : } - 796 30 19: SEQUENCE { - 798 31 17: SET { - - - -Hoffman, Ed. Informational [Page 104] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 800 30 15: SEQUENCE { - 802 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 807 13 8: PrintableString 'AliceDSS' - : } - : } - : } - 817 30 438: SEQUENCE { - 821 30 299: SEQUENCE { - 825 06 7: OBJECT IDENTIFIER - : dsa (1 2 840 10040 4 1) - : (ANSI X9.57 algorithm) - 834 30 286: SEQUENCE { - 838 02 129: INTEGER - : 00 81 8D CD ED 83 EA 0A 9E 39 3E C2 - : 48 28 A3 E4 47 93 DD 0E D7 A8 0E EC - : 53 C5 AB 84 08 4F FF 94 E1 73 48 7E - : 0C D6 F3 44 48 D1 FE 9F AF A4 A1 89 - : 2F E1 D9 30 C8 36 DE 3F 9B BF B7 4C - : DC 5F 69 8A E4 75 D0 37 0C 91 08 95 - : 9B DE A7 5E F9 FC F4 9F 2F DD 43 A8 - : 8B 54 F1 3F B0 07 08 47 4D 5D 88 C3 - : C3 B5 B3 E3 55 08 75 D5 39 76 10 C4 - : 78 BD FF 9D B0 84 97 37 F2 E4 51 1B - : B5 E4 09 96 5C F3 7E 5B DB - 970 02 21: INTEGER - : 00 E2 47 A6 1A 45 66 B8 13 C6 DA 8F - : B8 37 21 2B 62 8B F7 93 CD - 993 02 128: INTEGER - : 26 38 D0 14 89 32 AA 39 FB 3E 6D D9 - : 4B 59 6A 4C 76 23 39 04 02 35 5C F2 - : CB 1A 30 C3 1E 50 5D DD 9B 59 E2 CD - : AA 05 3D 58 C0 7B A2 36 B8 6E 07 AF - : 7D 8A 42 25 A7 F4 75 CF 4A 08 5E 4B - : 3E 90 F8 6D EA 9C C9 21 8A 3B 76 14 - : E9 CE 2E 5D A3 07 CD 23 85 B8 2F 30 - : 01 7C 6D 49 89 11 89 36 44 BD F8 C8 - : 95 4A 53 56 B5 E2 F9 73 EC 1A 61 36 - : 1F 11 7F C2 BD ED D1 50 FF 98 74 C2 - : D1 81 4A 60 39 BA 36 39 - : } - : } -1124 03 132: BIT STRING 0 unused bits, encapsulates { -1128 02 128: INTEGER - : 5C E3 B9 5A 75 14 96 0B A9 7A DD E3 - : 3F A9 EC AC 5E DC BD B7 13 11 34 A6 - : 16 89 28 11 23 D9 34 86 67 75 75 13 - - - -Hoffman, Ed. Informational [Page 105] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 12 3D 43 5B 6F E5 51 BF FA 89 F2 A2 - : 1B 3E 24 7D 3D 07 8D 5B 63 C8 BB 45 - : A5 A0 4A E3 85 D6 CE 06 80 3F E8 23 - : 7E 1A F2 24 AB 53 1A B8 27 0D 1E EF - : 08 BF 66 14 80 5C 62 AC 65 FA 15 8B - : F1 BB 34 D4 D2 96 37 F6 61 47 B2 C4 - : 32 84 F0 7E 41 40 FD 46 A7 63 4E 33 - : F2 A5 E2 F4 F2 83 E5 B8 - : } - : } -1259 A3 129: [3] { -1262 30 127: SEQUENCE { -1264 30 12: SEQUENCE { -1266 06 3: OBJECT IDENTIFIER - : basicConstraints (2 5 29 19) - : (X.509 id-ce (2 5 29)) -1271 01 1: BOOLEAN TRUE -1274 04 2: OCTET STRING, encapsulates { -1276 30 0: SEQUENCE {} - : } - : } -1278 30 14: SEQUENCE { -1280 06 3: OBJECT IDENTIFIER - : keyUsage (2 5 29 15) - : (X.509 id-ce (2 5 29)) -1285 01 1: BOOLEAN TRUE -1288 04 4: OCTET STRING, encapsulates { -1290 03 2: BIT STRING 6 unused bits - : '11'B - : } - : } -1294 30 31: SEQUENCE { -1296 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) - : (X.509 id-ce (2 5 29)) -1301 04 24: OCTET STRING, encapsulates { -1303 30 22: SEQUENCE { -1305 80 20: [0] - : 70 44 3E 82 2E 6F 87 DE 4A D3 75 E3 - : 3D 20 BC 43 2B 93 F1 1F - : } - : } - : } -1327 30 29: SEQUENCE { -1329 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) - : (X.509 id-ce (2 5 29)) -1334 04 22: OCTET STRING, encapsulates { - - - -Hoffman, Ed. Informational [Page 106] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -1336 04 20: OCTET STRING - : BE 6C A1 B3 E3 C1 F7 ED 43 70 A4 CE - : 13 01 E2 FD E3 97 FE CD - : } - : } -1358 30 31: SEQUENCE { -1360 06 3: OBJECT IDENTIFIER - : subjectAltName (2 5 29 17) - : (X.509 id-ce (2 5 29)) -1365 04 24: OCTET STRING, encapsulates { -1367 30 22: SEQUENCE { -1369 81 20: [1] 'AliceDSS@example.com' - : } - : } - : } - : } - : } - : } -1391 30 9: SEQUENCE { -1393 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } -1402 03 48: BIT STRING 0 unused bits, encapsulates { -1405 30 45: SEQUENCE { -1407 02 20: INTEGER - : 55 0C A4 19 1F 42 2B 89 71 22 33 8D - : 83 6A B5 3D 67 6B BF 45 -1429 02 21: INTEGER - : 00 9F 61 53 52 54 0B 5C B2 DD DA E7 - : 76 1D E2 10 52 5B 43 5E BD - : } - : } - : } - : } -1452 A1 219: [1] { -1455 30 216: SEQUENCE { -1458 30 153: SEQUENCE { -1461 30 9: SEQUENCE { -1463 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } -1472 30 18: SEQUENCE { -1474 31 16: SET { -1476 30 14: SEQUENCE { -1478 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - - - -Hoffman, Ed. Informational [Page 107] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : (X.520 id-at (2 5 4)) -1483 13 7: PrintableString 'CarlDSS' - : } - : } - : } -1492 17 13: UTCTime '990827070000Z' -1507 30 105: SEQUENCE { -1509 30 19: SEQUENCE { -1511 02 2: INTEGER 200 -1515 17 13: UTCTime '990822070000Z' - : } -1530 30 19: SEQUENCE { -1532 02 2: INTEGER 201 -1536 17 13: UTCTime '990822070000Z' - : } -1551 30 19: SEQUENCE { -1553 02 2: INTEGER 211 -1557 17 13: UTCTime '990822070000Z' - : } -1572 30 19: SEQUENCE { -1574 02 2: INTEGER 210 -1578 17 13: UTCTime '990822070000Z' - : } -1593 30 19: SEQUENCE { -1595 02 2: INTEGER 212 -1599 17 13: UTCTime '990824070000Z' - : } - : } - : } -1614 30 9: SEQUENCE { -1616 06 7: OBJECT IDENTIFIER - : dsaWithSha1 (1 2 840 10040 4 3) - : (ANSI X9.57 algorithm) - : } -1625 03 47: BIT STRING 0 unused bits, encapsulates { -1628 30 44: SEQUENCE { -1630 02 20: INTEGER - : 7E 65 52 76 33 FE 34 73 17 D1 F7 96 - : F9 A0 D4 D8 6D 5C 7D 3D -1652 02 20: INTEGER - : 02 7A 5B B7 D5 5B 18 C1 CF 87 EF 7E - : DA 24 F3 2A 83 9C 35 A1 - : } - : } - : } - : } -1674 31 0: SET {} - : } - - - -Hoffman, Ed. Informational [Page 108] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : } - : } - -5. Enveloped-data - -5.1. Basic Encrypted Content, TripleDES and RSA - - An EnvelopedData from Alice to Bob of ExContent using TripleDES for - encrypting and RSA for key management. Does not have an - OriginatorInfo. - - 0 30 286: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER - : envelopedData (1 2 840 113549 1 7 3) - : (PKCS #7) - 15 A0 271: [0] { - 19 30 267: SEQUENCE { - 23 02 1: INTEGER 0 - 26 31 192: SET { - 29 30 189: SEQUENCE { - 32 02 1: INTEGER 0 - 35 30 38: SEQUENCE { - 37 30 18: SEQUENCE { - 39 31 16: SET { - 41 30 14: SEQUENCE { - 43 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 48 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 57 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : CD 5D 71 D0 - : } - 75 30 13: SEQUENCE { - 77 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 88 05 0: NULL - : } - 90 04 128: OCTET STRING - : 0B 71 0D E6 71 88 88 98 B6 96 C1 8F - : 70 FD A2 27 DE DA E1 EF 24 6C A4 33 - : DF AC E0 E9 9D A2 D3 2C 7A CD 80 B8 - : 99 9E E6 5F B1 41 B3 72 16 83 E7 FA - : 2A 00 8B C7 73 35 78 26 D6 C7 CF 8C - - - -Hoffman, Ed. Informational [Page 109] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 0C 56 DB A5 76 9D 08 38 0E F3 F9 D4 - : 91 43 58 78 DC 49 B6 EC EE 6C 68 33 - : A3 21 1D F0 28 78 1F F7 5D F6 07 73 - : 4D DF AD 69 31 20 4B 48 A9 75 22 6E - : 36 79 15 63 8F CC EB 9D A3 28 A1 D1 - : 2C 57 F4 DA 1A 2C 75 1F - : } - : } - 221 30 67: SEQUENCE { - 223 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 234 30 20: SEQUENCE { - 236 06 8: OBJECT IDENTIFIER - : des-EDE3-CBC (1 2 840 113549 3 7) - : (RSADSI encryptionAlgorithm - : (1 2 840 113549 3)) - 246 04 8: OCTET STRING - : 2D 68 C5 E9 47 06 51 35 - : } - 256 80 32: [0] - : 0E C8 92 7F C6 7D 3F 8D CB AD 8E 0E - : C5 49 3A EB 47 2E D6 55 DE 09 21 4E - : 48 EA 4E 27 B1 6E 57 25 - : } - : } - : } - : } - -5.2. Basic Encrypted Content, RC2/128 and RSA - - Same as 5.1, except using RC2/128 for encryption and RSA for key - management. An EnvelopedData from Alice to Bob of ExContent using - RC2/40 for encrypting and RSA for key management. Does not have an - OriginatorInfo or any attributes. - - 0 30 291: SEQUENCE { - 4 06 9: OBJECT IDENTIFIER - : envelopedData (1 2 840 113549 1 7 3) - : (PKCS #7) - 15 A0 276: [0] { - 19 30 272: SEQUENCE { - 23 02 1: INTEGER 0 - 26 31 192: SET { - 29 30 189: SEQUENCE { - 32 02 1: INTEGER 0 - 35 30 38: SEQUENCE { - 37 30 18: SEQUENCE { - 39 31 16: SET { - - - -Hoffman, Ed. Informational [Page 110] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 41 30 14: SEQUENCE { - 43 06 3: OBJECT IDENTIFIER - : commonName (2 5 4 3) - : (X.520 id-at (2 5 4)) - 48 13 7: PrintableString 'CarlRSA' - : } - : } - : } - 57 02 16: INTEGER - : 46 34 6B C7 80 00 56 BC 11 D3 6E 2E - : CD 5D 71 D0 - : } - 75 30 13: SEQUENCE { - 77 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) - : (PKCS #1) - 88 05 0: NULL - : } - 90 04 128: OCTET STRING - : 85 42 BE E3 0B 2E E5 0F 09 AA 24 CA - : DE DA C1 D3 09 B8 27 2B 25 CB D5 71 - : FB C9 9C DB F0 B2 6E A0 8A 5F 1C 9D - : 4A ED 98 9D 15 39 26 01 1A 2E 6B F0 - : 44 39 89 37 3C 6F C7 4A 61 0B 0B 27 - : 77 AA F9 D4 97 A4 D2 21 3F C2 3F 20 - : D4 DC 10 E9 D6 3F 00 DB 9C 82 47 D6 - : 7E 96 FF 12 6E 87 84 A0 BA ED 81 0F - : 56 6D A6 1D EB AB C3 B7 A1 B9 F8 5F - : 8B CC 1B 4A E5 14 36 06 61 D0 C7 64 - : 5F 69 67 91 A9 50 EE D8 - : } - : } - 221 30 72: SEQUENCE { - 223 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 234 30 25: SEQUENCE { - 236 06 8: OBJECT IDENTIFIER rc2CBC (1 2 840 113549 3 2) - : (RSADSI encryptionAlgorithm - : (1 2 840 113549 3)) - 246 30 13: SEQUENCE { - 248 02 1: INTEGER 58 - 251 04 8: OCTET STRING - : E8 70 81 E2 EF C5 15 57 - : } - : } - 261 80 32: [0] - : 06 53 0A 7B 8D 5C 16 0D CC D5 76 D6 - : 8B 59 D6 45 8C 1A 1A 0C E6 1E F3 DE - - - -Hoffman, Ed. Informational [Page 111] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - : 43 56 00 9B 40 8C 38 5D - : } - : } - : } - : } - -5.3. S/MIME application/pkcs7-mime Encrypted Message - - A full S/MIME message, including MIME, that includes the body part - from 5.1. - -MIME-Version: 1.0 -Message-Id: <00103112005203.00349@amyemily.ig.com> -Date: Tue, 31 Oct 2000 12:00:52 -0600 (Central Standard Time) -From: User1 -To: User2 -Subject: Example 5.3 -Content-Type: application/pkcs7-mime; - name=smime.p7m; - smime-type=enveloped-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename=smime.p7m - -MIIBHgYJKoZIhvcNAQcDoIIBDzCCAQsCAQAxgcAwgb0CAQAwJjASMRAwDgYDVQQDEwdDYXJ -sUlNBAhBGNGvHgABWvBHTbi7NXXHQMA0GCSqGSIb3DQEBAQUABIGAC3EN5nGIiJi2lsGPcP -2iJ97a4e8kbKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eCbWx8+MDFbbpXadC -DgO8/nUkUNYeNxJtuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ipdSJuNnkVY4/M652jKKHR -LFf02hosdR8wQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAgtaMXpRwZRNYAgDsiSf8Z9P43 -LrY4OxUk660cu1lXeCSFOSOpOJ7FuVyU= - -6. Digested-data - - A DigestedData from Alice to Bob of ExContent using SHA-1. - - 0 30 94: SEQUENCE { - 2 06 9: OBJECT IDENTIFIER digestedData (1 2 840 113549 1 7 5) - : (PKCS #7) - 13 A0 81: [0] { - 15 30 79: SEQUENCE { - 17 02 1: INTEGER 0 - 20 30 7: SEQUENCE { - 22 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) - : (OIW) - : } - 29 30 43: SEQUENCE { - 31 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 42 A0 30: [0] { - - - -Hoffman, Ed. Informational [Page 112] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - 44 04 28: OCTET STRING 'This is some sample content.' - : } - : } - 74 04 20: OCTET STRING - : 40 6A EC 08 52 79 BA 6E 16 02 2D 9E - : 06 29 C0 22 96 87 DD 48 - : } - : } - : } - -7. Encrypted-data - -7.1. Simple EncryptedData - - An EncryptedData from Alice to Bob of ExContent with no attributes. - - 0 30 87: SEQUENCE { - 2 06 9: OBJECT IDENTIFIER - : encryptedData (1 2 840 113549 1 7 6) - : (PKCS #7) - 13 A0 74: [0] { - 15 30 72: SEQUENCE { - 17 02 1: INTEGER 0 - 20 30 67: SEQUENCE { - 22 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 33 30 20: SEQUENCE { - 35 06 8: OBJECT IDENTIFIER - : des-EDE3-CBC (1 2 840 113549 3 7) - : (RSADSI encryptionAlgorithm - : (1 2 840 113549 3)) - 45 04 8: OCTET STRING - : B3 6B 6B FB 62 31 08 4E - : } - 55 80 32: [0] - : FA FC ED DB 3F 18 17 1D 38 89 11 EA - : 34 D6 20 DB F4 C3 D9 58 15 EF 93 3B - : 9A F5 D7 04 F6 B5 70 E2 - : } - : } - : } - : } - - The TripleDES key is: - - 73 7c 79 1f 25 ea d0 e0 46 29 25 43 52 f7 dc 62 - 91 e5 cb 26 91 7a da 32 - - - - -Hoffman, Ed. Informational [Page 113] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -7.2. EncryptedData with Unprotected Attributes - - An EncryptedData from Alice to Bob of ExContent with unprotected - attributes. - - 0 30 149: SEQUENCE { - 3 06 9: OBJECT IDENTIFIER - : encryptedData (1 2 840 113549 1 7 6) - : (PKCS #7) - 14 A0 135: [0] { - 17 30 132: SEQUENCE { - 20 02 1: INTEGER 2 - 23 30 67: SEQUENCE { - 25 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) - : (PKCS #7) - 36 30 20: SEQUENCE { - 38 06 8: OBJECT IDENTIFIER - : des-EDE3-CBC (1 2 840 113549 3 7) - : (RSADSI encryptionAlgorithm - : (1 2 840 113549 3)) - 48 04 8: OCTET STRING - : 07 27 20 85 90 9E B0 7E - : } - 58 80 32: [0] - : D2 20 8F 67 48 8A CB 41 E4 22 68 5D - : BE 77 05 52 26 ED E3 01 BD 00 91 58 - : A7 35 6E BC 4B A2 07 33 - : } - 92 A1 58: [1] { - 94 30 56: SEQUENCE { - 96 06 3: OBJECT IDENTIFIER '1 2 5555' - 101 31 49: SET { - 103 04 47: OCTET STRING - : 'This is a test General ASN Attribut' - : 'e, number 1.' - : } - : } - : } - : } - : } - : } - - - - - - - - - - -Hoffman, Ed. Informational [Page 114] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -8. Security Considerations - - Because this document shows examples of S/MIME and CMS messages, this - document also inherits all of the security considerations from - [SMIME-MSG] and [CMS]. - - The Perl script in Appendix A writes to the user's local hard drive. - A malicious attacker could modify the Perl script in this document. - Be sure to read the Perl code carefully before executing it. - -9. References - -9.1. Normative References - - [CMS] Housley, R., "Cryptographic Message Syntax (CMS)", RFC - 3852, July 2004. - - [PKIX] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet - X.509 Public Key Infrastructure Certificate and - Certificate Revocation List (CRL) Profile", RFC 3280, - April 2002. - - [SMIME-MSG] Ramsdell, B., "Secure/Multipurpose Internet Mail - Extensions (S/MIME) Version 3.1 Message Specification", - RFC 3851, July 2004. - -9.2. Informative References - - [DVCS] Adams, C., Sylvester, P., Zolotarev, M., and R. - Zuccherato, "Internet X.509 Public Key Infrastructure - Data Validation and Certification Server Protocols", RFC - 3029, February 2001. - - - - - - - - - - - - - - - - - - - -Hoffman, Ed. Informational [Page 115] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -A. Binaries of the Examples - - This section contains the binaries of the examples shown in the rest - of the document. The binaries are stored in a modified Base64 - format. There is a Perl program that, when run over the contents of - this document, will extract the following binaries and write them out - to disk. The program requires Perl. - -A.1. How the Binaries and Extractor Works - - The program in the next section looks for lines that begin with a '|' - character (or some whitespace followed by a '|'), ignoring all other - lines. If the line begins with '|', the second character tells what - kind of line it is: - - A line that begins with |* is a comment - A line that begins with |> gives the name of a new file to start - A line that begins with |< tells to end the file (and checks the - file name for sanity) - A line that begins with |anythingelse is a Base64 line - - The program writes out a series of files, so you should run this in - an empty directory. The program will overwrite files (if it can), - but won't delete other files already in the directory. - - Run this program with this document as the standard input, such as: - - ./extractsample.pl " and "|<" markers, remove any page breaks, and remove - the "|" in the first column of each line. The result is a valid - Base64 blob that can be processed by any Base64 decoder. - -A.2. Example Extraction Program - -#!/usr/bin/perl - -# CMS Samples extraction program. v 1.1 - -# Get all the input as an array of lines -@AllIn = (); while () { push(@AllIn, $_) } - -$Base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr' . - 'stuvwxyz0123456789+/='; -$LineCount = 0; $CurrFile = ''; - -foreach $Line (@AllIn) { - - - -Hoffman, Ed. Informational [Page 116] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - $LineCount++; # Keep the line counter for error messages - $Line =~ s/^\s*//; # Get rid of leading whitespace - chomp($Line); # Get rid of CR or CRLF at the end of the line - if(substr($Line, 0, 1) ne '|') { next } # Not a special line - elsif(substr($Line, 1, 1) eq '*') { next } # It is a comment - elsif(substr($Line, 1, 1) eq '>') - { &StartNewFile(substr($Line, 2)) } # Start a new file - elsif(substr($Line, 1, 1) eq '<') - { &EndCurrFile(substr($Line, 2)) } # End the current file - else { &DoBase64(substr($Line, 1)) } # It is a line of Base64 -} - -sub StartNewFile { - $TheNewFile = shift(@_); - if($CurrFile ne '') { die "Was about to start a new file at " . - "line $LineCount, but the old file, $CurrFile, was open\n" } - open(OUT, ">$TheNewFile") or - die "Could not open $TheNewFile for writing: $!\n"; - binmode(OUT); # This is needed for Windows, is a noop on Unix - $CurrFile = $TheNewFile; - $LeftOver = 0; # Amount left from previous Base64 character - $NextPos = 0; # Bit position to start the next Base64 character - # (bits are numbered 01234567) - $OutString = ''; # Holds the text going out to the file -} - -sub EndCurrFile { - $FileToEnd = shift(@_); - if($CurrFile ne $FileToEnd) { die "Was about to close " . - "$FileToEnd at line $LineCount, but that name didn't match " . - "the name of the currently open file, $CurrFile\n" } - print OUT $OutString; - close(OUT); - $CurrFile = ''; -} - -sub DoBase64 { - $TheIn = shift(@_); - if($CurrFile eq '') { die "Got some Base64 at line $LineCount, " . - "but appear to not be writing to any particular file.\n" } - @Chars = split(//, $TheIn); # Make an array of the characters - foreach $ThisChar (@Chars) { - # $ThisVal is the position in the string and the Base64 value - $ThisVal = index($Base64Chars, $ThisChar); - if($ThisVal == -1) { die "At line $LineCount, found the " . - "character $ThisChar, which is not a Base64 character\n" } - if($ThisVal == 64) { last } # It is a "=", so we're done - if ($NextPos == 0 ) { - - - -Hoffman, Ed. Informational [Page 117] - -RFC 4134 Examples of S/MIME Messages July 2005 - - - # Don't output anything, just fill the left of $LeftOver - $LeftOver = $ThisVal * 4; - $NextPos = 6; - } elsif ($NextPos == 2) { - # Add $ThisVal to $LeftOver, output, and reset - $OutString .= chr($LeftOver + $ThisVal); - $LeftOver = 0; - $NextPos = 0; - } elsif ($NextPos == 4) { - # Add upper 4 bits of $ThisVal to $LeftOver and output - $Upper4 = ($ThisVal & 60); - $OutString .= chr($LeftOver + ($Upper4/4)); - $LeftOver = (($ThisVal - $Upper4) * 64); - $NextPos = 2; - } elsif ($NextPos == 6) { - # Add upper 2 bits of $ThisVal to $LeftOver and output - $Upper2 = ($ThisVal & 48); - $OutString .= chr($LeftOver + ($Upper2/16)); - $LeftOver = (($ThisVal - $Upper2) * 16); - $NextPos = 4; - } else { die "\$NextPos has an illegal value: $NextPos." } - } -} - -B. Examples in Order of Appearance - -From Section 2.1 - -***ExContent.bin*** - -|* Section 2.1 -|>ExContent.bin -|VGhpcyBpcyBzb21lIHNhbXBsZSBjb250ZW50Lg== -|AlicePrivDSSSign.pri -|MIIBSwIBADCCASsGByqGSM44BAEwggEeAoGBAIGNze2D6gqeOT7CSCij5EeT3Q7XqA7sU8 -|WrhAhP/5Thc0h+DNbzREjR/p+vpKGJL+HZMMg23j+bv7dM3F9piuR10DcMkQiVm96nXvn8 -|9J8v3UOoi1TxP7AHCEdNXYjDw7Wz41UIddU5dhDEeL3/nbCElzfy5FEbteQJllzzflvbAh -|UA4kemGkVmuBPG2o+4NyErYov3k80CgYAmONAUiTKqOfs+bdlLWWpMdiM5BAI1XPLLGjDD -|HlBd3ZtZ4s2qBT1YwHuiNrhuB699ikIlp/R1z0oIXks+kPht6pzJIYo7dhTpzi5dowfNI4 -|W4LzABfG1JiRGJNkS9+MiVSlNWteL5c+waYTYfEX/Cve3RUP+YdMLRgUpgObo2OQQXAhUA -|u0RG0aXJRgcu0P561pIH8JqFiT8= - - - -Hoffman, Ed. Informational [Page 118] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|AlicePrivRSASign.pri -|MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOCJczmN2PX16Id2OX9OsA -|W7U4PeD7er3H3HdSkNBS5tEt+mhibU0m+qWCn8l+z6glEPMIC+sVCeRkTxLLvYMs/GaG8H -|2bBgrL7uNAlqE/X3BQWT3166NVbZYf8Zf8mB5vhs6odAcO+sbSx0ny36VTq5mXcCpkhSjE -|7zVzhXdFdfAgMBAAECgYAApAPDJ0d2NDRspoa1eUkBSy6K0shissfXSAlqi5H3NvJ11ujN -|FZBgJzFHNWRNlc1nY860n1asLzduHO4Ovygt9DmQbzTYbghb1WVq2EHzE9ctOV7+M8v/Ke -|QDCz0Foo+38Y6idjeweVfTLyvehwYifQRmXskbr4saw+yRRKt/IQJBAPbW4CIhTF8KcP8n -|/OWzUGqd5Q+1hZbGQPqoCrSbmwxVwgEd+TeCihTI8pMOks2lZiG5PNIGv7RVMcncrcqYLd -|ECQQDo3rARJQnSAlEB3oromFD1d3dhpEWTawhVlnNd9MhbEpMic4t/03B/9aSqu3T9PCJq -|2jiRKoZbbBTorkye+o4vAkEAl0zwh5sXf+4bgxsUtgtqkF+GJ1Hht6B/9eSI41m5+R6b0y -|l3OCJI1yKxJZi6PVlTt/oeILLIURYjdZNR56vN8QJALPAkW/qgzYUi6tBuT/pszSHTyOTx -|hERIZHPXKY9+RozsFd7kUbOU5yyZLVVleyTqo2IfPmxNZ0ERO+G+6YMCgwJAWIjZoVA4hG -|qrA7y730v0nG+4tCol+/bkBS9u4oiJIW9LJZ7Qq1CTyr9AcewhJcV/+wLpIZa4M83ixpXu -|b41fKA== -|BobPrivRSAEncrypt.pri -|MIIChQIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKnhZ5g/OdVf8qCTQV6meY -|mFyDVdmpFb+x0B2hlwJhcPvaUi0DWFbXqYZhRBXM+3twg7CcmRuBlpN235ZR572akzJKN/ -|O7uvRgGGNjQyywcDWVL8hYsxBLjMGAgUSOZPHPtdYMTgXB9T039T2GkB8QX4enDRvoPGXz -|jPHCyqaqfrAgMBAAECgYBnzUhMmg2PmMIbZf8ig5xt8KYGHbztpwOIlPIcaw+LNd4Ogngw -|y+e6alatd8brUXlweQqg9P5F4Kmy9Bnah5jWMIR05PxZbMHGd9ypkdB8MKCixQheIXFD/A -|0HPfD6bRSeTmPwF1h5HEuYHD09sBvf+iU7o8AsmAX2EAnYh9sDGQJBANDDIsbeopkYdo+N -|vKZ11mY/1I1FUox29XLE6/BGmvE+XKpVC5va3Wtt+Pw7PAhDk7Vb/s7q/WiEI2Kv8zHCue -|UCQQDQUfweIrdb7bWOAcjXq/JY1PeClPNTqBlFy2bKKBlf4hAr84/sajB0+E0R9KfEILVH -|IdxJAfkKICnwJAiEYH2PAkA0umTJSChXdNdVUN5qSO8bKlocSHseIVnDYDubl6nA7xhmqU -|5iUjiEzuUJiEiUacUgFJlaV/4jbOSnI3vQgLeFAkEAni+zN5r7CwZdV+EJBqRd2ZCWBgVf -|JAZAcpw6iIWchw+dYhKIFmioNRobQ+g4wJhprwMKSDIETukPj3d9NDAlBwJAVxhn1grSta -|vCunrnVNqcBU+B1O8BiR4yPWnLMcRSyFRVJQA7HCp8JlDV6abXd8vPFfXuC9WN7rOvTKF8 -|Y0ZB9qANMAsGA1UdDzEEAwIAEA== -|CarlPrivDSSSign.pri -|MIIBSgIBADCCASsGByqGSM44BAEwggEeAoGBALZJGD6KRMEpcZRMAcQSwXp5y1RNqx6B+8 -|ZMsw6UCQbrAdSxyHFLx0XAUCVdnPza5G3T4oZIhIJ9uhWVShb2Ru3d9pjSu36KCoq6Fnu5 -|UAFIk4vrJRVRl1Xcj1MOEKlQ/HC3zTBU/dreqKoitaGvi8wCiOeLcF+5reEI1G0pLdbpAh -|UA3cEv31POCzRgdz4CpL+KXZi5ENUCgYAM7lebS73atgdqdDdPVX+d7bxhDetGWTxWCytb - - - -Hoffman, Ed. Informational [Page 119] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|DJHOpWJSacrhbT69v/7ht7krYTyty65F4wasjCKdnESHC8fN8BzZtU5dc96vDskdWlH1T0 -|R5NVpzqn9GUR+pQhacSOuKeWG01S9TIkRjH4a4o1gGJfgpwO+64HXwQsRjZVKbCgQWAhQZ -|szilIWIxUOV/uT4IRnjRPrXlcg== -|CarlPrivRSASign.pri -|MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAORL/xi4JFf0d/9uc3uTcV -|y8MxqSknIj2EFG0M0ROgSzjq+Cnb1RHhd68nYsK4Y5p73XjRpT7OQA1ejsojax7eJQ4jIJ -|ij+fmSWPuE6ruX3VlmXaFqDFvg6uRFvvXvSnKcuC3axE6aqTlCkO+BjWyFde8nbE8hFgOL -|kbPB2XyWrxAgMBAAECgYEArnPkW19bZlrJ18bvOF9TISovYv7eKZp6hmc2531ieHU9c6C8 -|KQ7zj73Dycm2+LrWE5vDl3rKavC4hWVOD72nqPdUBkG969wgd5DfYZuab3Te6jvUnIdg7X -|aE8WowN9XgkBb4gEfDGWvtdXe6Su05tl0CRztfG8gcq8vo9SY/pIECQQD/3wmgVgtCUp7E -|TZOzsEm73ueBfSiZ0LFIugs54Rx7IhgztkD2v9yuHdChrQRxWmEKbjvOMNo2n2UlKbunDn -|8LAkEA5GloGF/5V9B8ZokPumMdcssgpIF2ZInNfdHCJ6kurHpWmoUH2TADowOrf4iSUCQB -|qhsHHyBMt8l7Vve2wn6rcwJAVzZsj4wEdmy21O4kRAD4gOKvQgGpDxSE+OcA4I+MJ6QtX6 -|LlbbVjwK1E6XaRpxlJLkb4d4VLO4cE8K/S2FQmlQJAZKEPrFV0G70NYXsXA82w5qcZHYCv -|8UFI2Bq2iBSgLHrFdtQPDh96KrJuNwSrOUVzukaoD42CXyIUBc+io/N8gwJAJh4dHKGYK+ -|TbOOhXbmtzGYhhOvp0SjaLR2hdUOsm4+p9m05lqa97q0sudlE9qNARq6PWqMAnNh1UC6qn -|0W2N+g== -|DianePrivDSSSign.pri -|MIIBSwIBADCCASsGByqGSM44BAEwggEeAoGBALZJGD6KRMEpcZRMAcQSwXp5y1RNqx6B+8 -|ZMsw6UCQbrAdSxyHFLx0XAUCVdnPza5G3T4oZIhIJ9uhWVShb2Ru3d9pjSu36KCoq6Fnu5 -|UAFIk4vrJRVRl1Xcj1MOEKlQ/HC3zTBU/dreqKoitaGvi8wCiOeLcF+5reEI1G0pLdbpAh -|UA3cEv31POCzRgdz4CpL+KXZi5ENUCgYAM7lebS73atgdqdDdPVX+d7bxhDetGWTxWCytb -|DJHOpWJSacrhbT69v/7ht7krYTyty65F4wasjCKdnESHC8fN8BzZtU5dc96vDskdWlH1T0 -|R5NVpzqn9GUR+pQhacSOuKeWG01S9TIkRjH4a4o1gGJfgpwO+64HXwQsRjZVKbCgQXAhUA -|lpX54MHgQS0yD4tCUpMq5h4OISk= -|DianePrivRSASignEncrypt.pri -|MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANb9uMBwxkwl7OrP6ny7om -|L68OYyOlP/sZJaF/Qg4ZkkggrQ9nz7RMqLJwbxfiYDqXadz+ygLHCW8oNC9tS3KAq7+L9K -|TBk/B9ugwWAet35n996xw2BJrEXX+MbvCDchk0fu8HM1crACxPMRw15H5Qq3g/HbdGlki0 -|QdlV3NKMCFAgMBAAECgYA9vc3CDmEUW0vnv2AjBCvFazWllkUj/Gl9kzwP0yWWumJSQuKW -|z/5YgI/rsYy91A1l0Dp3RSSeDOuGgMOsIRFxROOyqKkurBfSo4QlY7W8Lx7d9iH/FSAkW/ -|GAL9VBDjIk99RKMp65SdgZjj85jWK9gPwMJJKT5MPXBZFTu5a2QQJBAPO4P0rRlLCRYBNB -|kg2NRD93Hf+WI0QI1AtwyRqv6ZCU8rDVX08ZhVChkJGuvQV2UrMi2Kh8jlR/AHJPNnVoc7 - - - -Hoffman, Ed. Informational [Page 120] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|UCQQDh0ucRVwaucpUiFqoCtFrtTp2CEU+WPIbJEI1WezF1eWnndWg4AEsu0iYy3bHi4CxU -|gAp1utFmlhuwDqB+0ruRAkEAr7a82yJzQ0HstLVnqaGZ/O/Sjv0d++Upi/4K39TIXlclCl -|0r1AmgVlvFsWL8IL4ILeMHtaHns//EwKVfrBJcqQJBALmYQfwIUB9zYIoBonxSiiBa6iyJ -|2aUZ3ZTGG8MlwIJR5O4rmhncc+3pHSfU+GwD3asdCHu1rH/pgpvxiYpx22ECQAEHIZdfem -|Co/VpcB9+o3vfisTR9/OuRvbBzdMjEvj9YRTAGkLOsacyz9z98rMe4G2WhFjk5sON0fc/N -|xaxsv+U= -|AliceDSSSignByCarlNoInherit.cer -|MIIC3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDT -|k5MDgxNzAxMTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1MwggG2 -|MIIBKwYHKoZIzjgEATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE//lO -|FzSH4M1vNESNH+n6+koYkv4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6iL -|VPE/sAcIR01diMPDtbPjVQh11Tl2EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6YaRW -|a4E8baj7g3IStii/eTzQKBgCY40BSJMqo5+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1ni -|zaoFPVjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3qnMkhijt2FOnOLl2jB80jhbgvMAF8bU -|mJEYk2RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGBSmA5ujY5A4GEAAKBgFzjuVp1 -|FJYLqXrd4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/+onyohs+JH09B41bY8 -|i7RaWgSuOF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTSljf2YUeyxDKE -|8H5BQP1Gp2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBs -|AwHwYDVR0jBBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwfft -|Q3CkzhMB4v3jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqGSM -|44BAMDMAAwLQIUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0Ne -|vQ== -|AliceRSASignByCarl.cer -|MIICLDCCAZWgAwIBAgIQRjRrx4AAVrwR024uxBCzsDANBgkqhkiG9w0BAQUFADASMRAwDg -|YDVQQDEwdDYXJsUlNBMB4XDTk5MDkxOTAxMDg0N1oXDTM5MTIzMTIzNTk1OVowEzERMA8G -|A1UEAxMIQWxpY2VSU0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOCJczmN2PX16I -|d2OX9OsAW7U4PeD7er3H3HdSkNBS5tEt+mhibU0m+qWCn8l+z6glEPMIC+sVCeRkTxLLvY -|Ms/GaG8H2bBgrL7uNAlqE/X3BQWT3166NVbZYf8Zf8mB5vhs6odAcO+sbSx0ny36VTq5mX -|cCpkhSjE7zVzhXdFdfAgMBAAGjgYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIG -|wDAfBgNVHSMEGDAWgBTp4JAnrHggeprTTPJCN04irp44uzAdBgNVHQ4EFgQUd9K00bdMio -|qjzkWdzuw8oDrj/1AwHwYDVR0RBBgwFoEUQWxpY2VSU0FAZXhhbXBsZS5jb20wDQYJKoZI -|hvcNAQEFBQADgYEAPnBHqEjME1iPylFxa042GF0EfoCxjU3MyqOPzH1WyLzPbrMcWakgqg -|WBqE4lradwFHUv9ceb0Q7pY9Jkt8ZmbnMhVN/0uiVdfUnTlGsiNnRzuErsL2Tt0z3Sp0LF -|6DeKtNufZ+S9n/n+dO/q+e5jatg/SyUJtdgadq7rm9tJsCI= -|BobRSASignByCarl.cer -|MIICJzCCAZCgAwIBAgIQRjRrx4AAVrwR024uzV1x0DANBgkqhkiG9w0BAQUFADASMRAwDg -|YDVQQDEwdDYXJsUlNBMB4XDTk5MDkxOTAxMDkwMloXDTM5MTIzMTIzNTk1OVowETEPMA0G -|A1UEAxMGQm9iUlNBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCp4WeYPznVX/Kgk0 -|FepnmJhcg1XZqRW/sdAdoZcCYXD72lItA1hW16mGYUQVzPt7cIOwnJkbgZaTdt+WUee9mp -|MySjfzu7r0YBhjY0MssHA1lS/IWLMQS4zBgIFEjmTxz7XWDE4FwfU9N/U9hpAfEF+Hpw0b -|6Dxl84zxwsqmqn6wIDAQABo38wfTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIFIDAf -|BgNVHSMEGDAWgBTp4JAnrHggeprTTPJCN04irp44uzAdBgNVHQ4EFgQU6PS4Z9izlqQq8x -|GqKdOVWoYWtCQwHQYDVR0RBBYwFIESQm9iUlNBQGV4YW1wbGUuY29tMA0GCSqGSIb3DQEB -|BQUAA4GBAHuOZsXxED8QIEyIcat7QGshM/pKld6dDltrlCEFwPLhfirNnJOIh/uLt359QW -|Hh5NZt+eIEVWFFvGQnRMChvVl52R1kPCHWRbBdaDOS6qzxV+WBfZjmNZGjOd539OgcOync -|f1EHl/M28FAK3Zvetl44ESv7V+qJba3JiNiPzyvT -|CarlDSSSelf.cer -|MIICmzCCAlqgAwIBAgIBATAJBgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MwHhcNOT -|kwODE2MjI1MDUwWhcNMzkxMjMxMjM1OTU5WjASMRAwDgYDVQQDEwdDYXJsRFNTMIIBtzCC -|ASsGByqGSM44BAEwggEeAoGBALZJGD6KRMEpcZRMAcQSwXp5y1RNqx6B+8ZMsw6UCQbrAd -|SxyHFLx0XAUCVdnPza5G3T4oZIhIJ9uhWVShb2Ru3d9pjSu36KCoq6Fnu5UAFIk4vrJRVR -|l1Xcj1MOEKlQ/HC3zTBU/dreqKoitaGvi8wCiOeLcF+5reEI1G0pLdbpAhUA3cEv31POCz -|Rgdz4CpL+KXZi5ENUCgYAM7lebS73atgdqdDdPVX+d7bxhDetGWTxWCytbDJHOpWJSacrh -|bT69v/7ht7krYTyty65F4wasjCKdnESHC8fN8BzZtU5dc96vDskdWlH1T0R5NVpzqn9GUR -|+pQhacSOuKeWG01S9TIkRjH4a4o1gGJfgpwO+64HXwQsRjZVKbCgOBhQACgYEAmYd0JwNm -|oLHArdwsdbvhbESc2iFtTUdtsWIJ6diuHvI6tJSxo456m3FOAJTJtCVOuWCWGSQB82IM/n -|XA+87YaADj/dVwT98jlhkGlPSxYY86V7EIEaQLJiXwUnaB6gtiDZUq5oa6crKnUIMLqifN -|G6lNiZrXjRg5hD+LxVZNgHqjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAg -|GGMB0GA1UdDgQWBBRwRD6CLm+H3krTdeM9ILxDK5PxHzAJBgcqhkjOOAQDAzAAMC0CFGup -|8E56Wnnj+b49K8kGN+kRF6ETAhUAjzRpKouxPAN5lDJNEh/OiftGsjs= -|CarlRSASelf.cer -|MIIB6zCCAVSgAwIBAgIQRjRrx4AAVrwR024un/JQIDANBgkqhkiG9w0BAQUFADASMRAwDg -|YDVQQDEwdDYXJsUlNBMB4XDTk5MDgxODA3MDAwMFoXDTM5MTIzMTIzNTk1OVowEjEQMA4G -|A1UEAxMHQ2FybFJTQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Ev/GLgkV/R3/2 -|5ze5NxXLwzGpKSciPYQUbQzRE6BLOOr4KdvVEeF3rydiwrhjmnvdeNGlPs5ADV6OyiNrHt -|4lDiMgmKP5+ZJY+4Tqu5fdWWZdoWoMW+Dq5EW+9e9Kcpy4LdrETpqpOUKQ74GNbIV17yds -|TyEWA4uRs8HZfJavECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -|AYYwHQYDVR0OBBYEFOngkCeseCB6mtNM8kI3TiKunji7MA0GCSqGSIb3DQEBBQUAA4GBAL -|ee1ATT7Snk/4mJFS5M2wzwSA8yYe7EBOwSXS3/D2RZfgrD7Rj941ZAN6cHtfA4EmFQ7e/d - - - -Hoffman, Ed. Informational [Page 122] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|P+MLuGGlpJs85p6cVJq2ldbabDu1LUU1nUkBdvq5uTH5+WsSU6D1FGCbfco+8lNrsDdvre -|Z019v6WuoUQWNdzb7IDsHaao1TNBgC -|DianeDSSSignByCarlInherit.cer -|MIIBuDCCAXegAwIBAgICANIwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDT -|k5MDgxNzAyMDgxMFoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIRGlhbmVEU1MwgZMw -|CQYHKoZIzjgEAQOBhQACgYEAoAAXeCzufoFTLi5hCA+hm1FSGtpZqHMvEiW2CMvK7ypEdo -|pSCeq9BSLVD/b9RtevmTgJDhPLTyzdHDT3HL8l/yPTO1nngpc3vjEk2BjI80k5W7fi5Sd+ -|/IxFclt+Po9oTd1GeiK+jv/M2jkpoznln0PpVcnXW6aBZ8zAqs0uxSOjgYEwfzAMBgNVHR -|MBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAfBgNVHSMEGDAWgBRwRD6CLm+H3krTdeM9ILxD -|K5PxHzAdBgNVHQ4EFgQUZDCZfVzcRQuZOlIvFr9YUN3OKxgwHwYDVR0RBBgwFoEURGlhbm -|VEU1NAZXhhbXBsZS5jb20wCQYHKoZIzjgEAwMwADAtAhUAoRr4Fw4+XaiM9LZVMx5L4yys -|uV8CFChLEEVY0hydVTUUGJGyPznftW7T -|DianeRSASignByCarl.cer -|MIICLDCCAZWgAwIBAgIQRjRrx4AAVrwR024u1ZowkDANBgkqhkiG9w0BAQUFADASMRAwDg -|YDVQQDEwdDYXJsUlNBMB4XDTk5MDgxOTA3MDAwMFoXDTM5MTIzMTIzNTk1OVowEzERMA8G -|A1UEAxMIRGlhbmVSU0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANb9uMBwxkwl7O -|rP6ny7omL68OYyOlP/sZJaF/Qg4ZkkggrQ9nz7RMqLJwbxfiYDqXadz+ygLHCW8oNC9tS3 -|KAq7+L9KTBk/B9ugwWAet35n996xw2BJrEXX+MbvCDchk0fu8HM1crACxPMRw15H5Qq3g/ -|HbdGlki0QdlV3NKMCFAgMBAAGjgYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIF -|4DAfBgNVHSMEGDAWgBTp4JAnrHggeprTTPJCN04irp44uzAdBgNVHQ4EFgQUjPPLdQ6NMf -|bUKdpEknW4/u1POQwwHwYDVR0RBBgwFoEURGlhbmVSU0FAZXhhbXBsZS5jb20wDQYJKoZI -|hvcNAQEFBQADgYEAfaYstXhC1nnzMf72QsoPEweSCRvgb7CRGPa/SvvMY3n7gb/dl8eQa8 -|sKNytBagOYxRs+MshFK4YBnBziNu8WwRqSuL5i+1M+SUcLxLnkK1imBoPwsqe7hX7VxtrO -|nHsxctei6kGrasDdH7kURBjPhFdm6MXmuNwtsx8bKEM2dXo= -|CarlDSSCRLForAll.crl -|MIHYMIGZMAkGByqGSM44BAMwEjEQMA4GA1UEAxMHQ2FybERTUxcNOTkwODI3MDcwMDAwWj -|BpMBMCAgDIFw05OTA4MjIwNzAwMDBaMBMCAgDJFw05OTA4MjIwNzAwMDBaMBMCAgDTFw05 -|OTA4MjIwNzAwMDBaMBMCAgDSFw05OTA4MjIwNzAwMDBaMBMCAgDUFw05OTA4MjQwNzAwMD -|BaMAkGByqGSM44BAMDLwAwLAIUfmVSdjP+NHMX0feW+aDU2G1cfT0CFAJ6W7fVWxjBz4fv -|ftok8yqDnDWh -|CarlDSSCRLForCarl.crl -|MIGDMEQwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTFw05OTA4MjUwNzAwMDBaMB -|QwEgIBARcNOTkwODIyMDcwMDAwWjAJBgcqhkjOOAQDAzAAMC0CFQCzH8VPej3sdtVg+d55 -|IuxPsJD+lwIUWovDhLxmhxu/eYJbCl0H9rqpBSk= -|CarlDSSCRLEmpty.crl -|MG0wLjAJBgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MXDTk5MDgyMDA3MDAwMFowCQ -|YHKoZIzjgEAwMwADAtAhRiPzYXMVguZ1B59QlLjK3Ua/RknwIVALU7TqFMe/0Pw42btv7D -|XW/eZSh9 -|CarlRSACRLForAll.crl -|MIIBMzCBnTANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdDYXJsUlNBFw05OTA4MjcwNz -|AwMDBaMGkwIQIQRjRrx4AAVrwR024uxBCzsBcNOTkwODIyMDcwMDAwWjAhAhBGNGvHgABW -|vBHTbi7VmjCQFw05OTA4MjIwNzAwMDBaMCECEEY0a8eAAFa8EdNuLs1dcdAXDTk5MDgyND -|A3MDAwMFowDQYJKoZIhvcNAQEEBQADgYEAv7OXqlPwMiEWK3eSemu7l8jc6vH6ZhYwDrWe -|XPCB1F6zbsGIa4zUXsVN+0deZvNdq+W0GDZgqE2cPInsbye/NVBxgcK5RFtiiRkSMal7mt -|PMZssR2QsQR3etTyLZ5X8w8lv8lFGlWHY7H6hGph/2od5Voe0xiGmXDwjT1AxgWx4= -|CarlRSACRLForCarl.crl -|MIHsMFcwDQYJKoZIhvcNAQEEBQAwEjEQMA4GA1UEAxMHQ2FybFJTQRcNOTkwODI1MDcwMD -|AwWjAjMCECEEY0a8eAAFa8EdNuLp/yUCAXDTk5MDgyMjA3MDAwMFowDQYJKoZIhvcNAQEE -|BQADgYEAIe8h1MEahZVJa8pFYtzXCf+pUS6O2UcY+vjlct1P7XR04/NlMmUoLJodV+XVJg -|bq1eYjlYSNDome7psML84H96PRa4VMD//m3fzczXMsHn3csHHFTPwBblJXaR45Y98SIjDH -|E1WUBW4qAKlbxCpmlGLONjPCK2NHJZ3z3nDuAFY= -|CarlRSACRLEmpty.crl -|MIHHMDIwDQYJKoZIhvcNAQEEBQAwEjEQMA4GA1UEAxMHQ2FybFJTQRcNOTkwODIwMDcwMD -|AwWjANBgkqhkiG9w0BAQQFAAOBgQCpxSG4E3x087UR7ATzIEWGHgtuf4NtX/Q0dgZZJQ4E -|PYgJiIE3xNwgmPoXgQs3lKy0j3tRiRSky3JzFAe8IpxAoQf8RHyFDwuI0e7hDq/2FnStoa - - - -Hoffman, Ed. Informational [Page 124] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|/BAHUAZOqlmvYLCKLblRlfpqe5OUUlCg72XoTn+LlayRjCDriglr6BOoBtyQ== -|3.1.bin -|MIAGCSqGSIb3DQEHAaCAJIAEBFRoaXMEGCBpcyBzb21lIHNhbXBsZSBjb250ZW50LgAAAA -|AAAA== -|<3.1.bin - -***3.2.bin*** - -|* Example 3.2.bin -|>3.2.bin -|MCsGCSqGSIb3DQEHAaAeBBxUaGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQu -|<3.2.bin - -***4.1.bin*** - -|* Example 4.1.bin -|>4.1.bin -|MIIDlwYJKoZIhvcNAQcCoIIDiDCCA4QCAQExCTAHBgUrDgMCGjArBgkqhkiG9w0BBwGgHg -|QcVGhpcyBpcyBzb21lIHNhbXBsZSBjb250ZW50LqCCAuAwggLcMIICm6ADAgECAgIAyDAJ -|BgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MwHhcNOTkwODE3MDExMDQ5WhcNMzkxMj -|MxMjM1OTU5WjATMREwDwYDVQQDEwhBbGljZURTUzCCAbYwggErBgcqhkjOOAQBMIIBHgKB -|gQCBjc3tg+oKnjk+wkgoo+RHk90O16gO7FPFq4QIT/+U4XNIfgzW80RI0f6fr6ShiS/h2T -|DINt4/m7+3TNxfaYrkddA3DJEIlZvep175/PSfL91DqItU8T+wBwhHTV2Iw8O1s+NVCHXV -|OXYQxHi9/52whJc38uRRG7XkCZZc835b2wIVAOJHphpFZrgTxtqPuDchK2KL95PNAoGAJj -|jQFIkyqjn7Pm3ZS1lqTHYjOQQCNVzyyxowwx5QXd2bWeLNqgU9WMB7oja4bgevfYpCJaf0 -|dc9KCF5LPpD4beqcySGKO3YU6c4uXaMHzSOFuC8wAXxtSYkRiTZEvfjIlUpTVrXi+XPsGm -|E2HxF/wr3t0VD/mHTC0YFKYDm6NjkDgYQAAoGAXOO5WnUUlgupet3jP6nsrF7cvbcTETSm -|FokoESPZNIZndXUTEj1DW2/lUb/6ifKiGz4kfT0HjVtjyLtFpaBK44XWzgaAP+gjfhryJK -|tTGrgnDR7vCL9mFIBcYqxl+hWL8bs01NKWN/ZhR7LEMoTwfkFA/UanY04z8qXi9PKD5bij -|gYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAfBgNVHSMEGDAWgBRwRD6CLm -|+H3krTdeM9ILxDK5PxHzAdBgNVHQ4EFgQUvmyhs+PB9+1DcKTOEwHi/eOX/s0wHwYDVR0R -|BBgwFoEUQWxpY2VEU1NAZXhhbXBsZS5jb20wCQYHKoZIzjgEAwMwADAtAhRVDKQZH0IriX -|EiM42DarU9Z2u/RQIVAJ9hU1JUC1yy3drndh3iEFJbQ169MWMwYQIBATAYMBIxEDAOBgNV -|BAMTB0NhcmxEU1MCAgDIMAcGBSsOAwIaMAkGByqGSM44BAMELjAsAhQJkf7r0mn1GLfXzV -|X0geoqQmqtAwIUOgfMwyG+4RpLfz61Ddu6HOq8zYk= -|<4.1.bin - - - - - - - - -Hoffman, Ed. Informational [Page 125] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -***4.2.bin*** - -|* Example 4.2.bin -|>4.2.bin -|MIIDUgYJKoZIhvcNAQcCoIIDQzCCAz8CAQExCzAJBgUrDgMCGgUAMCsGCSqGSIb3DQEHAa -|AeBBxUaGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQuoIICMDCCAiwwggGVoAMCAQICEEY0 -|a8eAAFa8EdNuLsQQs7AwDQYJKoZIhvcNAQEFBQAwEjEQMA4GA1UEAxMHQ2FybFJTQTAeFw -|05OTA5MTkwMTA4NDdaFw0zOTEyMzEyMzU5NTlaMBMxETAPBgNVBAMTCEFsaWNlUlNBMIGf -|MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgiXM5jdj19eiHdjl/TrAFu1OD3g+3q9x9x3 -|UpDQUubRLfpoYm1NJvqlgp/Jfs+oJRDzCAvrFQnkZE8Sy72DLPxmhvB9mwYKy+7jQJahP1 -|9wUFk99eujVW2WH/GX/Jgeb4bOqHQHDvrG0sdJ8t+lU6uZl3AqZIUoxO81c4V3RXXwIDAQ -|ABo4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwHwYDVR0jBBgwFoAU6eCQ -|J6x4IHqa00zyQjdOIq6eOLswHQYDVR0OBBYEFHfStNG3TIqKo85Fnc7sPKA64/9QMB8GA1 -|UdEQQYMBaBFEFsaWNlUlNBQGV4YW1wbGUuY29tMA0GCSqGSIb3DQEBBQUAA4GBAD5wR6hI -|zBNYj8pRcWtONhhdBH6AsY1NzMqjj8x9Vsi8z26zHFmpIKoFgahOJa2ncBR1L/XHm9EO6W -|PSZLfGZm5zIVTf9LolXX1J05RrIjZ0c7hK7C9k7dM90qdCxeg3irTbn2fkvZ/5/nTv6vnu -|Y2rYP0slCbXYGnau65vbSbAiMYHLMIHIAgEBMCYwEjEQMA4GA1UEAxMHQ2FybFJTQQIQRj -|Rrx4AAVrwR024uxBCzsDAJBgUrDgMCGgUAMA0GCSqGSIb3DQEBAQUABIGALyOC0vMJX7gM -|WOtOnb+JmoHldcSRPdPQ1Xu21f6UoYqs48SE9c1gTieV9s8AhnZ1Pyvw59QCZ6f1x40WBK -|WztefZMvAk7+cgRNWfB8VTJPrOAR0PFxOnKpWdK+QDlRQL6TkNus5unJ4M6JjmVRPUaG/Q -|B9eisWJM44+v/eDVXcc= -|<4.2.bin - -***4.3.bin*** - -|* Example 4.3.bin -|>4.3.bin -|MIIDdwYJKoZIhvcNAQcCoIIDaDCCA2QCAQExCTAHBgUrDgMCGjALBgkqhkiG9w0BBwGggg -|LgMIIC3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4X -|DTk5MDgxNzAxMTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1Mwgg -|G2MIIBKwYHKoZIzjgEATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE// -|lOFzSH4M1vNESNH+n6+koYkv4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6 -|iLVPE/sAcIR01diMPDtbPjVQh11Tl2EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6Ya -|RWa4E8baj7g3IStii/eTzQKBgCY40BSJMqo5+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1 -|nizaoFPVjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3qnMkhijt2FOnOLl2jB80jhbgvMAF8 -|bUmJEYk2RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGBSmA5ujY5A4GEAAKBgFzjuV -|p1FJYLqXrd4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/+onyohs+JH09B41b -|Y8i7RaWgSuOF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTSljf2YUeyxD -|KE8H5BQP1Gp2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC -|BsAwHwYDVR0jBBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwf -|ftQ3CkzhMB4v3jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqG -|SM44BAMDMAAwLQIUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0 -|NevTFjMGECAQEwGDASMRAwDgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGjAJBgcqhkjO -|OAQDBC4wLAIUBvvHKiTVNIn3i7X9cySlhsgPWmwCFGZpGbxoWNGNsZ1SP9oUiA39yaG4 -|<4.3.bin - - - - - - -Hoffman, Ed. Informational [Page 126] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -***4.4.bin*** - -|* Example 4.4.bin -|>4.4.bin -|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 - - - -Hoffman, Ed. Informational [Page 127] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|AMgwBwYFKw4DAhqgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBT -|EPFw0wMzA1MTQxNTM5MDBaMCMGCSqGSIb3DQEJBDEWBBRAauwIUnm6bhYCLZ4GKcAilofd -|SDAJBgcqhkjOOAQDBC4wLAIUO6XgStttWOAZ0QAcT0SaV3pxZmgCFBoRmNYfH680gQHevo -|vctqhqkWkToYIBYjA+BgsqhkiG9w0BCRACBDEvMC0MIENvbnRlbnQgSGludHMgRGVzY3Jp -|cHRpb24gQnVmZmVyBgkqhkiG9w0BBwEwggEeBgkqhkiG9w0BCQYxggEPMIIBCwIBATAmMB -|IxEDAOBgNVBAMTB0NhcmxSU0ECEEY0a8eAAFa8EdNuLsQQs7AwBwYFKw4DAhqgQzAcBgkq -|hkiG9w0BCQUxDxcNMDMwNTE0MTUzOTAwWjAjBgkqhkiG9w0BCQQxFgQUAl9JTjmYUIWzZt -|OKH3ueaar72DMwDQYJKoZIhvcNAQEBBQAEgYBtqiAk7XrupV6H3XUfK1QQZfTOm7EseHS8 -|ixxgtduLA55J8it/k249iRTJ42v09n12rj5YH5u7vHwwGU4Q9wLxi1u025q7k7QY0MwryZ -|GprdlG+GWp4nGV0NROH810b4LoN29aPcvH1F/CgBva04RAaF9WmmL1Ow1sM8PtZz9Dvw== -|<4.4.bin - -***4.5.bin*** - -|* Example 4.5.bin -|>4.5.bin -|MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCAJIAEBF -|RoaXMEGCBpcyBzb21lIHNhbXBsZSBjb250ZW50LgAAAAAAAKCAMIIB6zCCAVSgAwIBAgIQ -|RjRrx4AAVrwR024un/JQIDANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDEwdDYXJsUlNBMB -|4XDTk5MDgxODA3MDAwMFoXDTM5MTIzMTIzNTk1OVowEjEQMA4GA1UEAxMHQ2FybFJTQTCB -|nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Ev/GLgkV/R3/25ze5NxXLwzGpKSciPYQU -|bQzRE6BLOOr4KdvVEeF3rydiwrhjmnvdeNGlPs5ADV6OyiNrHt4lDiMgmKP5+ZJY+4Tqu5 -|fdWWZdoWoMW+Dq5EW+9e9Kcpy4LdrETpqpOUKQ74GNbIV17ydsTyEWA4uRs8HZfJavECAw -|EAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFOng -|kCeseCB6mtNM8kI3TiKunji7MA0GCSqGSIb3DQEBBQUAA4GBALee1ATT7Snk/4mJFS5M2w -|zwSA8yYe7EBOwSXS3/D2RZfgrD7Rj941ZAN6cHtfA4EmFQ7e/dP+MLuGGlpJs85p6cVJq2 -|ldbabDu1LUU1nUkBdvq5uTH5+WsSU6D1FGCbfco+8lNrsDdvreZ019v6WuoUQWNdzb7IDs -|Haao1TNBgCMIICLDCCAZWgAwIBAgIQRjRrx4AAVrwR024uxBCzsDANBgkqhkiG9w0BAQUF -|ADASMRAwDgYDVQQDEwdDYXJsUlNBMB4XDTk5MDkxOTAxMDg0N1oXDTM5MTIzMTIzNTk1OV -|owEzERMA8GA1UEAxMIQWxpY2VSU0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOCJ -|czmN2PX16Id2OX9OsAW7U4PeD7er3H3HdSkNBS5tEt+mhibU0m+qWCn8l+z6glEPMIC+sV -|CeRkTxLLvYMs/GaG8H2bBgrL7uNAlqE/X3BQWT3166NVbZYf8Zf8mB5vhs6odAcO+sbSx0 -|ny36VTq5mXcCpkhSjE7zVzhXdFdfAgMBAAGjgYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDw -|EB/wQEAwIGwDAfBgNVHSMEGDAWgBTp4JAnrHggeprTTPJCN04irp44uzAdBgNVHQ4EFgQU -|d9K00bdMioqjzkWdzuw8oDrj/1AwHwYDVR0RBBgwFoEUQWxpY2VSU0FAZXhhbXBsZS5jb2 -|0wDQYJKoZIhvcNAQEFBQADgYEAPnBHqEjME1iPylFxa042GF0EfoCxjU3MyqOPzH1WyLzP -|brMcWakgqgWBqE4lradwFHUv9ceb0Q7pY9Jkt8ZmbnMhVN/0uiVdfUnTlGsiNnRzuErsL2 -|Tt0z3Sp0LF6DeKtNufZ+S9n/n+dO/q+e5jatg/SyUJtdgadq7rm9tJsCIAADGByzCByAIB -|ATAmMBIxEDAOBgNVBAMTB0NhcmxSU0ECEEY0a8eAAFa8EdNuLsQQs7AwCQYFKw4DAhoFAD -|ANBgkqhkiG9w0BAQEFAASBgC8jgtLzCV+4DFjrTp2/iZqB5XXEkT3T0NV7ttX+lKGKrOPE -|hPXNYE4nlfbPAIZ2dT8r8OfUAmen9ceNFgSls7Xn2TLwJO/nIETVnwfFUyT6zgEdDxcTpy -|qVnSvkA5UUC+k5DbrObpyeDOiY5lUT1Ghv0AfXorFiTOOPr/3g1V3HAAAAAAAA -|<4.5.bin - - - - - - - - -Hoffman, Ed. Informational [Page 128] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -***4.6.bin*** - -|* Example 4.6.bin -|>4.6.bin -|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 -|<4.6.bin - -***4.7.bin*** - -|* Example 4.7.bin -|>4.7.bin -|MIIDlAYJKoZIhvcNAQcCoIIDhTCCA4ECAQMxCTAHBgUrDgMCGjArBgkqhkiG9w0BBwGgHg -|QcVGhpcyBpcyBzb21lIHNhbXBsZSBjb250ZW50LqCCAuAwggLcMIICm6ADAgECAgIAyDAJ -|BgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MwHhcNOTkwODE3MDExMDQ5WhcNMzkxMj -|MxMjM1OTU5WjATMREwDwYDVQQDEwhBbGljZURTUzCCAbYwggErBgcqhkjOOAQBMIIBHgKB -|gQCBjc3tg+oKnjk+wkgoo+RHk90O16gO7FPFq4QIT/+U4XNIfgzW80RI0f6fr6ShiS/h2T -|DINt4/m7+3TNxfaYrkddA3DJEIlZvep175/PSfL91DqItU8T+wBwhHTV2Iw8O1s+NVCHXV -|OXYQxHi9/52whJc38uRRG7XkCZZc835b2wIVAOJHphpFZrgTxtqPuDchK2KL95PNAoGAJj -|jQFIkyqjn7Pm3ZS1lqTHYjOQQCNVzyyxowwx5QXd2bWeLNqgU9WMB7oja4bgevfYpCJaf0 -|dc9KCF5LPpD4beqcySGKO3YU6c4uXaMHzSOFuC8wAXxtSYkRiTZEvfjIlUpTVrXi+XPsGm -|E2HxF/wr3t0VD/mHTC0YFKYDm6NjkDgYQAAoGAXOO5WnUUlgupet3jP6nsrF7cvbcTETSm - - - -Hoffman, Ed. Informational [Page 129] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|FokoESPZNIZndXUTEj1DW2/lUb/6ifKiGz4kfT0HjVtjyLtFpaBK44XWzgaAP+gjfhryJK -|tTGrgnDR7vCL9mFIBcYqxl+hWL8bs01NKWN/ZhR7LEMoTwfkFA/UanY04z8qXi9PKD5bij -|gYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAfBgNVHSMEGDAWgBRwRD6CLm -|+H3krTdeM9ILxDK5PxHzAdBgNVHQ4EFgQUvmyhs+PB9+1DcKTOEwHi/eOX/s0wHwYDVR0R -|BBgwFoEUQWxpY2VEU1NAZXhhbXBsZS5jb20wCQYHKoZIzjgEAwMwADAtAhRVDKQZH0IriX -|EiM42DarU9Z2u/RQIVAJ9hU1JUC1yy3drndh3iEFJbQ169MWAwXgIBA4AUvmyhs+PB9+1D -|cKTOEwHi/eOX/s0wBwYFKw4DAhowCQYHKoZIzjgEAwQvMC0CFQCJw2t7VvfDEgBl8Tf1xF -|gXjRFXgwIUCw9DOqrs3nphLIyc9UGZpzwgw7c= -|<4.7.bin - -***4.8.eml*** - -|* Example 4.8.eml -|>4.8.eml -|TUlNRS1WZXJzaW9uOiAxLjAKVG86IFVzZXIyQGV4YW1wbGVzLmNvbQpGcm9tOiBhbGljZU -|Rzc0BleGFtcGxlcy5jb20KU3ViamVjdDogRXhhbXBsZSA0LjgKTWVzc2FnZS1JZDogPDAy -|MDkwNjAwMjU1MDMwMC4yNDlAZXhhbXBsZXMuY29tPgpEYXRlOiBGcmksIDA2IFNlcCAyMD -|AyIDAwOjI1OjIxIC0wMzAwIApDb250ZW50LVR5cGU6IG11bHRpcGFydC9zaWduZWQ7CiAg -|ICBtaWNhbGc9U0hBMTsKICAgIGJvdW5kYXJ5PSItLS0tPV9OZXh0Qm91bmRyeV9fX19Gcm -|ksXzA2X1NlcF8yMDAyXzAwOjI1OjIxIjsKICAgIHByb3RvY29sPSJhcHBsaWNhdGlvbi9w -|a2NzNy1zaWduYXR1cmUiCgpUaGlzIGlzIGEgbXVsdGktcGFydCBtZXNzYWdlIGluIE1JTU -|UgZm9ybWF0LgoKLS0tLS0tPV9OZXh0Qm91bmRyeV9fX19GcmksXzA2X1NlcF8yMDAyXzAw -|OjI1OjIxCgpUaGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQuCi0tLS0tLT1fTmV4dEJvdW -|5kcnlfX19fRnJpLF8wNl9TZXBfMjAwMl8wMDoyNToyMQpDb250ZW50LVR5cGU6IGFwcGxp -|Y2F0aW9uL3BrY3M3LXNpZ25hdHVyZTsgbmFtZT1zbWltZS5wN3MKQ29udGVudC1UcmFuc2 -|Zlci1FbmNvZGluZzogYmFzZTY0CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7 -|IGZpbGVuYW1lPXNtaW1lLnA3cwoKTUlJRGR3WUpLb1pJaHZjTkFRY0NvSUlEYURDQ0EyUU -|NBUUV4Q1RBSEJnVXJEZ01DR2pBTEJna3Foa2lHOXcwQkJ3R2dnZ0xnTUlJQwozRENDQXB1 -|Z0F3SUJBZ0lDQU1nd0NRWUhLb1pJempnRUF6QVNNUkF3RGdZRFZRUURFd2REWVhKc1JGTl -|RNQjRYRFRrNU1EZ3hOekF4Ck1UQTBPVm9YRFRNNU1USXpNVEl6TlRrMU9Wb3dFekVSTUE4 -|R0ExVUVBeE1JUVd4cFkyVkVVMU13Z2dHMk1JSUJLd1lIS29aSXpqZ0UKQVRDQ0FSNENnWU -|VBZ1kzTjdZUHFDcDQ1UHNKSUtLUGtSNVBkRHRlb0R1eFR4YXVFQ0UvL2xPRnpTSDRNMXZO -|RVNOSCtuNitrb1lrdgo0ZGt3eURiZVA1dS90MHpjWDJtSzVIWFFOd3lSQ0pXYjNxZGUrZn -|owbnkvZFE2aUxWUEUvc0FjSVIwMWRpTVBEdGJQalZRaDExVGwyCkVNUjR2Zitkc0lTWE4v -|TGtVUnUxNUFtV1hQTitXOXNDRlFEaVI2WWFSV2E0RThiYWo3ZzNJU3RpaS9lVHpRS0JnQ1 -|k0MEJTSk1xbzUKK3o1dDJVdFpha3gySXprRUFqVmM4c3NhTU1NZVVGM2RtMW5pemFvRlBW -|akFlNkkydUc0SHIzMktRaVduOUhYUFNnaGVTejZRK0czcQpuTWtoaWp0MkZPbk9MbDJqQj -|gwamhiZ3ZNQUY4YlVtSkVZazJSTDM0eUpWS1UxYTE0dmx6N0JwaE5oOFJmOEs5N2RGUS81 -|aDB3dEdCClNtQTV1alk1QTRHRUFBS0JnRnpqdVZwMUZKWUxxWHJkNHorcDdLeGUzTDIzRX -|hFMHBoYUpLQkVqMlRTR1ozVjFFeEk5UTF0djVWRy8KK29ueW9ocytKSDA5QjQxYlk4aTdS -|YVdnU3VPRjFzNEdnRC9vSTM0YThpU3JVeHE0SncwZTd3aS9aaFNBWEdLc1pmb1ZpL0c3Tk -|5UUwpsamYyWVVleXhES0U4SDVCUVAxR3AyTk9NL0tsNHZUeWcrVzRvNEdCTUg4d0RBWURW -|UjBUQVFIL0JBSXdBREFPQmdOVkhROEJBZjhFCkJBTUNCc0F3SHdZRFZSMGpCQmd3Rm9BVW -|NFUStnaTV2aDk1SzAzWGpQU0M4UXl1VDhSOHdIUVlEVlIwT0JCWUVGTDVzb2JQandmZnQK -|UTNDa3poTUI0djNqbC83Tk1COEdBMVVkRVFRWU1CYUJGRUZzYVdObFJGTlRRR1Y0WVcxd2 -|JHVXVZMjl0TUFrR0J5cUdTTTQ0QkFNRApNQUF3TFFJVVZReWtHUjlDSzRseElqT05nMnEx -|UFdkcnYwVUNGUUNmWVZOU1ZBdGNzdDNhNTNZZDRoQlNXME5ldlRGak1HRUNBUUV3CkdEQV -|NNUkF3RGdZRFZRUURFd2REWVhKc1JGTlRBZ0lBeURBSEJnVXJEZ01DR2pBSkJnY3Foa2pP - - - -Hoffman, Ed. Informational [Page 130] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|T0FRREJDNHdMQUlVTS9tR2Y2Z2sKZ3A5WjBYdFJkR2ltSmVCL0J4VUNGR0ZGSnF3WVJ0MV -|dZY0lPUW9HaWFvd3FHelZJCgotLS0tLS09X05leHRCb3VuZHJ5X19fX0ZyaSxfMDZfU2Vw -|XzIwMDJfMDA6MjU6MjEtLQo= -|<4.8.eml - -***4.9.eml*** - -|* Example 4.9.eml -|>4.9.eml -|TUlNRS1WZXJzaW9uOiAxLjAKVG86IFVzZXIyQGV4YW1wbGVzLmNvbQpGcm9tOiBhbGljZU -|Rzc0BleGFtcGxlcy5jb20KU3ViamVjdDogRXhhbXBsZSA0LjkKTWVzc2FnZS1JZDogPDAy -|MTAzMTE2NDU0MDMwMC4zMDRAZXhhbXBsZXMuY29tPgpEYXRlOiBUaHUsIDMxIE9jdCAyMD -|AyIDE2OjQ1OjE0IC0wMzAwIApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BrY3M3LW1p -|bWU7IHNtaW1lLXR5cGU9c2lnbmVkLWRhdGE7CiAgICBuYW1lPXNtaW1lLnA3bQpDb250ZW -|50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0 -|YWNobWVudDsgZmlsZW5hbWU9c21pbWUucDdtCgpNSUlEbVFZSktvWklodmNOQVFjQ29JSU -|RpakNDQTRZQ0FRRXhDVEFIQmdVckRnTUNHakF0QmdrcWhraUc5dzBCQndHZ0lBUWVEUXBV -|CmFHbHpJR2x6SUhOdmJXVWdjMkZ0Y0d4bElHTnZiblJsYm5RdW9JSUM0RENDQXR3d2dnS2 -|JvQU1DQVFJQ0FnRElNQWtHQnlxR1NNNDQKQkFNd0VqRVFNQTRHQTFVRUF4TUhRMkZ5YkVS -|VFV6QWVGdzA1T1RBNE1UY3dNVEV3TkRsYUZ3MHpPVEV5TXpFeU16VTVOVGxhTUJNeApFVE -|FQQmdOVkJBTVRDRUZzYVdObFJGTlRNSUlCdGpDQ0FTc0dCeXFHU000NEJBRXdnZ0VlQW9H -|QkFJR056ZTJENmdxZU9UN0NTQ2lqCjVFZVQzUTdYcUE3c1U4V3JoQWhQLzVUaGMwaCtETm -|J6UkVqUi9wK3ZwS0dKTCtIWk1NZzIzaitidjdkTTNGOXBpdVIxMERjTWtRaVYKbTk2blh2 -|bjg5Sjh2M1VPb2kxVHhQN0FIQ0VkTlhZakR3N1d6NDFVSWRkVTVkaERFZUwzL25iQ0Vsem -|Z5NUZFYnRlUUpsbHp6Zmx2YgpBaFVBNGtlbUdrVm11QlBHMm8rNE55RXJZb3YzazgwQ2dZ -|QW1PTkFVaVRLcU9mcytiZGxMV1dwTWRpTTVCQUkxWFBMTEdqRERIbEJkCjNadFo0czJxQl -|QxWXdIdWlOcmh1QjY5OWlrSWxwL1IxejBvSVhrcytrUGh0NnB6SklZbzdkaFRwemk1ZG93 -|Zk5JNFc0THpBQmZHMUoKaVJHSk5rUzkrTWlWU2xOV3RlTDVjK3dhWVRZZkVYL0N2ZTNSVV -|ArWWRNTFJnVXBnT2JvMk9RT0JoQUFDZ1lCYzQ3bGFkUlNXQzZsNgozZU0vcWV5c1h0eTl0 -|eE1STktZV2lTZ1JJOWswaG1kMWRSTVNQVU5iYitWUnYvcUo4cUliUGlSOVBRZU5XMlBJdT -|BXbG9FcmpoZGJPCkJvQS82Q04rR3ZJa3ExTWF1Q2NOSHU4SXYyWVVnRnhpckdYNkZZdnh1 -|elRVMHBZMzltRkhzc1F5aFBCK1FVRDlScWRqVGpQeXBlTDAKOG9QbHVLT0JnVEIvTUF3R0 -|ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdiQU1COEdBMVVkSXdRWU1CYUFG -|SEJFUG9JdQpiNGZlU3ROMTR6MGd2RU1yay9FZk1CMEdBMVVkRGdRV0JCUytiS0d6NDhIMz -|dVTndwTTRUQWVMOTQ1Zit6VEFmQmdOVkhSRUVHREFXCmdSUkJiR2xqWlVSVFUwQmxlR0Z0 -|Y0d4bExtTnZiVEFKQmdjcWhrak9PQVFEQXpBQU1DMENGRlVNcEJrZlFpdUpjU0l6allOcX -|RUMW4KYTc5RkFoVUFuMkZUVWxRTFhMTGQydWQySGVJUVVsdERYcjB4WXpCaEFnRUJNQmd3 -|RWpFUU1BNEdBMVVFQXhNSFEyRnliRVJUVXdJQwpBTWd3QndZRkt3NERBaG93Q1FZSEtvWk -|l6amdFQXdRdU1Dd0NGRDFjU1c2TElVRnplWGxlM1lJNVNLU0Jlci9zQWhRbUNxN3MvQ1RG -|CkhPRWpnQVNlVWpiTXB4NWc2QT09Cg== -|<4.9.eml - -***4.10.bin*** - -|* Example 4.10.bin -|>4.10.bin -|MIIH/wYJKoZIhvcNAQcCoIIH8DCCB+wCAQExCTAHBgUrDgMCGjArBgkqhkiG9w0BBwGgHg -|QcVGhpcyBpcyBzb21lIHNhbXBsZSBjb250ZW50LqCCAuAwggLcMIICm6ADAgECAgIAyDAJ - - - -Hoffman, Ed. Informational [Page 131] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|BgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MwHhcNOTkwODE3MDExMDQ5WhcNMzkxMj -|MxMjM1OTU5WjATMREwDwYDVQQDEwhBbGljZURTUzCCAbYwggErBgcqhkjOOAQBMIIBHgKB -|gQCBjc3tg+oKnjk+wkgoo+RHk90O16gO7FPFq4QIT/+U4XNIfgzW80RI0f6fr6ShiS/h2T -|DINt4/m7+3TNxfaYrkddA3DJEIlZvep175/PSfL91DqItU8T+wBwhHTV2Iw8O1s+NVCHXV -|OXYQxHi9/52whJc38uRRG7XkCZZc835b2wIVAOJHphpFZrgTxtqPuDchK2KL95PNAoGAJj -|jQFIkyqjn7Pm3ZS1lqTHYjOQQCNVzyyxowwx5QXd2bWeLNqgU9WMB7oja4bgevfYpCJaf0 -|dc9KCF5LPpD4beqcySGKO3YU6c4uXaMHzSOFuC8wAXxtSYkRiTZEvfjIlUpTVrXi+XPsGm -|E2HxF/wr3t0VD/mHTC0YFKYDm6NjkDgYQAAoGAXOO5WnUUlgupet3jP6nsrF7cvbcTETSm -|FokoESPZNIZndXUTEj1DW2/lUb/6ifKiGz4kfT0HjVtjyLtFpaBK44XWzgaAP+gjfhryJK -|tTGrgnDR7vCL9mFIBcYqxl+hWL8bs01NKWN/ZhR7LEMoTwfkFA/UanY04z8qXi9PKD5bij -|gYEwfzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAfBgNVHSMEGDAWgBRwRD6CLm -|+H3krTdeM9ILxDK5PxHzAdBgNVHQ4EFgQUvmyhs+PB9+1DcKTOEwHi/eOX/s0wHwYDVR0R -|BBgwFoEUQWxpY2VEU1NAZXhhbXBsZS5jb20wCQYHKoZIzjgEAwMwADAtAhRVDKQZH0IriX -|EiM42DarU9Z2u/RQIVAJ9hU1JUC1yy3drndh3iEFJbQ169MYIEyTCCBMUCAQEwGDASMRAw -|DgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGqCCBF8wGAYJKoZIhvcNAQkDMQsGCSqGSI -|b3DQEHATAjBgkqhkiG9w0BCQQxFgQUQGrsCFJ5um4WAi2eBinAIpaH3UgwOAYDKqszMTEE -|L1RoaXMgaXMgYSB0ZXN0IEdlbmVyYWwgQVNOIEF0dHJpYnV0ZSwgbnVtYmVyIDEuMD4GCy -|qGSIb3DQEJEAIEMS8wLQwgQ29udGVudCBIaW50cyBEZXNjcmlwdGlvbiBCdWZmZXIGCSqG -|SIb3DQEHATBKBgkqhkiG9w0BCQ8xPTA7MAcGBSoDBAUGMDAGBioDBAUGTQQmU21pbWUgQ2 -|FwYWJpbGl0aWVzIHBhcmFtZXRlcnMgYnVmZmVyIDIwbQYLKoZIhvcNAQkQAgIxXjFcAgEB -|BgcqAwQFBgcIExtUSElTIElTIEEgUFJJVkFDWSBNQVJLIFRFU1QxMTAvgAgqAwQFBgeGeK -|EjEyFUSElTIElTIEEgVEVTVCBTRUNVUklUWS1DQVRFR09SWS4wbwYLKoZIhvcNAQkQAgox -|YDBeBgUqAwQFBgQrQ29udGVudCBSZWZlcmVuY2UgQ29udGVudCBJZGVudGlmaWVyIEJ1Zm -|ZlcgQoQ29udGVudCBSZWZlcmVuY2UgU2lnbmF0dXJlIFZhbHVlIEJ1ZmZlcjBzBgsqhkiG -|9w0BCRACCzFkoGIwWjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDVVTIEdvdmVybm1lbnQxET -|APBgNVBAsTCFZEQSBTaXRlMQwwCgYDVQQLEwNWREExEjAQBgNVBAMTCURhaXN5IFJTQQIE -|ClVEMzCB/AYLKoZIhvcNAQkQAgMxgewwgekwgeYEBzU3MzgyOTkYDzE5OTkwMzExMTA0ND -|MzWqGByTCBxqRhMF8xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1VUyBHb3Zlcm5tZW50MREw -|DwYDVQQLEwhWREEgU2l0ZTEMMAoGA1UECxMDVkRBMRcwFQYDVQQDEw5CdWdzIEJ1bm55IE -|RTQaRhMF8xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1VUyBHb3Zlcm5tZW50MREwDwYDVQQL -|EwhWREEgU2l0ZTEMMAoGA1UECxMDVkRBMRcwFQYDVQQDEw5FbG1lciBGdWRkIERTQTCCAQ -|IGCyqGSIb3DQEJEAIJMYHyMIHvMXICAQEGByoDBAUGBwkTJkVRVUlWQUxFTlQgVEhJUyBJ -|UyBBIFBSSVZBQ1kgTUFSSyBURVNUMTwwOoAIKgMEBQYHhnihLhMsRVFVSVZBTEVOVCBUSE -|lTIElTIEEgVEVTVCBTRUNVUklUWS1DQVRFR09SWS4xeQIBAQYHKgMEBQYHChMtRVFVSVZB -|TEVOVCBUSElTIElTIEEgU0VDT05EIFBSSVZBQ1kgTUFSSyBURVNUMTwwOoAIKgMEBQYHhn -|ihLhMsRVFVSVZBTEVOVCBUSElTIElTIEEgVEVTVCBTRUNVUklUWS1DQVRFR09SWS4wCQYH -|KoZIzjgEAwQvMC0CFQC8MzdlxPdwXBdJE6pMhcq7UpFIWQIUY5aiFIvPV96wSF9sZN2EBE -|lfHMo= -|<4.10.bin - -***4.11.bin*** - -|* Example 4.11.bin -|>4.11.bin -|MIIGiAYJKoZIhvcNAQcCoIIGeTCCBnUCAQExADALBgkqhkiG9w0BBwGgggV/MIICmzCCAl -|qgAwIBAgIBATAJBgcqhkjOOAQDMBIxEDAOBgNVBAMTB0NhcmxEU1MwHhcNOTkwODE2MjI1 -|MDUwWhcNMzkxMjMxMjM1OTU5WjASMRAwDgYDVQQDEwdDYXJsRFNTMIIBtzCCASsGByqGSM -|44BAEwggEeAoGBALZJGD6KRMEpcZRMAcQSwXp5y1RNqx6B+8ZMsw6UCQbrAdSxyHFLx0XA - - - -Hoffman, Ed. Informational [Page 132] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -|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 -|<4.11.bin - -***5.1.bin*** - -|* Example 5.1.bin -|>5.1.bin -|MIIBHgYJKoZIhvcNAQcDoIIBDzCCAQsCAQAxgcAwgb0CAQAwJjASMRAwDgYDVQQDEwdDYX -|JsUlNBAhBGNGvHgABWvBHTbi7NXXHQMA0GCSqGSIb3DQEBAQUABIGAC3EN5nGIiJi2lsGP -|cP2iJ97a4e8kbKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eCbWx8+MDFbbpX -|adCDgO8/nUkUNYeNxJtuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ipdSJuNnkVY4/M652j -|KKHRLFf02hosdR8wQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAgtaMXpRwZRNYAgDsiSf8 -|Z9P43LrY4OxUk660cu1lXeCSFOSOpOJ7FuVyU= -|<5.1.bin - - - - - - - - - - -Hoffman, Ed. Informational [Page 133] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -***5.2.bin*** - -|* Example 5.2.bin -|>5.2.bin -|MIIBZQYJKoZIhvcNAQcDoIIBVjCCAVICAQIxggEAMIG9AgEAMCYwEjEQMA4GA1UEAxMHQ2 -|FybFJTQQIQRjRrx4AAVrwR024uzV1x0DANBgkqhkiG9w0BAQEFAASBgJQmQojGi7Z4IP+C -|VypBmNFoCDoEp87khtgyff2N4SmqD3RxPx+8hbLQt9i3YcMwcap+aiOkyqjMalT03VUC0X -|BOGv+HYI3HBZm/aFzxoq+YOXAWs5xlGerZwTOc9j6AYlK4qXvnztR5SQ8TBjlzytm4V7zg -|+TGrnGVNQBNw47Ewoj4CAQQwDQQLTWFpbExpc3RSQzIwEAYLKoZIhvcNAQkQAwcCAToEGH -|cUr5MSJ/g9HnJVHsQ6X56VcwYb+OfojTBJBgkqhkiG9w0BBwEwGgYIKoZIhvcNAwIwDgIC -|AKAECJwE0hkuKlWhgCBeKNXhojuej3org9Lt7n+wWxOhnky5V50vSpoYRfRRyw== -|<5.2.bin - -***5.3.eml*** - -|* Example 5.3.eml -|>5.3.eml -|TUlNRS1WZXJzaW9uOiAxLjAKTWVzc2FnZS1JZDogPDAwMTAzMTEyMDA1MjAzLjAwMzQ5QG -|FteWVtaWx5LmlnLmNvbT4KRGF0ZTogVHVlLCAzMSBPY3QgMjAwMCAxMjowMDo1MiAtMDYw -|MCAoQ2VudHJhbCBTdGFuZGFyZCBUaW1lKQpGcm9tOiBVc2VyMQpUbzogVXNlcjIKU3Viam -|VjdDogRXhhbXBsZSA1LjMKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1l -|OwoJbmFtZT1zbWltZS5wN207CglzbWltZS10eXBlPWVudmVsb3BlZC1kYXRhCkNvbnRlbn -|QtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRh -|Y2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KCk1JSUJIZ1lKS29aSWh2Y05BUWNEb0lJQk -|R6Q0NBUXNDQVFBeGdjQXdnYjBDQVFBd0pqQVNNUkF3RGdZRFZRUURFd2REWVhKc1VsTkIK -|QWhCR05HdkhnQUJXdkJIVGJpN05YWEhRTUEwR0NTcUdTSWIzRFFFQkFRVUFCSUdBQzNFTj -|VuR0lpSmkybHNHUGNQMmlKOTdhNGU4awpiS1F6MzZ6ZzZaMmkweXg2ellDNG1aN21YN0ZC -|czNJV2crZjZLZ0NMeDNNMWVDYld4OCtNREZiYnBYYWRDRGdPOC9uVWtVTlllTnhKCnR1en -|ViR2d6b3lFZDhDaDRIL2RkOWdkelRkK3RhVEVnUzBpcGRTSnVObmtWWTQvTTY1MmpLS0hS -|TEZmMDJob3NkUjh3UXdZSktvWkkKaHZjTkFRY0JNQlFHQ0NxR1NJYjNEUU1IQkFndGFNWH -|BSd1pSTllBZ0RzaVNmOFo5UDQzTHJZNE94VWs2NjBjdTFsWGVDU0ZPU09wTwpKN0Z1VnlV -|PQoK -|<5.3.eml - -***6.0.bin*** - -|* Example 6.0.bin -|>6.0.bin -|MF4GCSqGSIb3DQEHBaBRME8CAQAwBwYFKw4DAhowKwYJKoZIhvcNAQcBoB4EHFRoaXMgaX -|Mgc29tZSBzYW1wbGUgY29udGVudC4EFEBq7AhSebpuFgItngYpwCKWh91I -|<6.0.bin - - - - - - - - - - -Hoffman, Ed. Informational [Page 134] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -***7.1.bin*** - -|* Example 7.1.bin -|>7.1.bin -|MFcGCSqGSIb3DQEHBqBKMEgCAQAwQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAiza2v7Yj -|EIToAg+vzt2z8YFx04iRHqNNYg2/TD2VgV75M7mvXXBPa1cOI= -|<7.1.bin - -***7.2.bin*** - -|* Example 7.2.bin -|>7.2.bin -|MIGVBgkqhkiG9w0BBwaggYcwgYQCAQIwQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAgHJy -|CFkJ6wfoAg0iCPZ0iKy0HkImhdvncFUibt4wG9AJFYpzVuvEuiBzOhOjA4BgMqqzMxMQQv -|VGhpcyBpcyBhIHRlc3QgR2VuZXJhbCBBU04gQXR0cmlidXRlLCBudW1iZXIgMS4= -|<7.2.bin - -C. Acknowledgements - - Blake Ramsdell, Jim Schaad, and John Pawling contributed the vast - majority of the examples in this document, and/or correct examples - during the early versions of this document. Additional examples came - from many people, including Rob Colestock and Paul Hoffman. - Additional testing came from Holger Ebel and Russ Housley. - - The examples are displayed with a modified version of Peter Gutmann's - "dumpasn1" program. Peter and Jim Schaad and Blake Ramsdell have - been updating the program based on input from the process of writing - this draft. - -Editor's Address - - Paul Hoffman - Internet Mail Consortium - 127 Segre Place - Santa Cruz, CA 95060 USA - - EMail: phoffman@imc.org - - - - - - - - - - - - - -Hoffman, Ed. Informational [Page 135] - -RFC 4134 Examples of S/MIME Messages July 2005 - - -Full Copyright Statement - - Copyright (C) The Internet Society (2005). - - This document is subject to the rights, licenses and restrictions - contained in BCP 78, and except as set forth therein, the authors - retain all their rights. - - This document and the information contained herein are provided on an - "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS - OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET - ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE - INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Intellectual Property - - The IETF takes no position regarding the validity or scope of any - Intellectual Property Rights or other rights that might be claimed to - pertain to the implementation or use of the technology described in - this document or the extent to which any license under such rights - might or might not be available; nor does it represent that it has - made any independent effort to identify any such rights. Information - on the procedures with respect to rights in RFC documents can be - found in BCP 78 and BCP 79. - - Copies of IPR disclosures made to the IETF Secretariat and any - assurances of licenses to be made available, or the result of an - attempt made to obtain a general license or permission for the use of - such proprietary rights by implementers or users of this - specification can be obtained from the IETF on-line IPR repository at - http://www.ietf.org/ipr. - - The IETF invites any interested party to bring to its attention any - copyrights, patents or patent applications, or other proprietary - rights that may cover technology that may be required to implement - this standard. Please address the information to the IETF at ietf- - ipr@ietf.org. - -Acknowledgement - - Funding for the RFC Editor function is currently provided by the - Internet Society. - - - - - - - -Hoffman, Ed. Informational [Page 136] - diff --git a/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.dsa b/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.dsa deleted file mode 100644 index 77c6e47c0..000000000 Binary files a/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.dsa and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.rsa b/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.rsa deleted file mode 100644 index fb4810331..000000000 Binary files a/libraries/spongycastle/core/src/test/data/tls/keystores/client_store.rsa and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.dsa b/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.dsa deleted file mode 100644 index 819cecd70..000000000 Binary files a/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.dsa and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.rsa b/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.rsa deleted file mode 100644 index 5ade0b7b9..000000000 Binary files a/libraries/spongycastle/core/src/test/data/tls/keystores/server_store.rsa and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/j2me/java/math/test/BigIntegerTest.java b/libraries/spongycastle/core/src/test/j2me/java/math/test/BigIntegerTest.java deleted file mode 100644 index 235d695ad..000000000 --- a/libraries/spongycastle/core/src/test/j2me/java/math/test/BigIntegerTest.java +++ /dev/null @@ -1,461 +0,0 @@ -package java.math.test; - -import java.math.BigInteger; -import java.security.SecureRandom; -import org.spongycastle.util.test.*; - -public class BigIntegerTest - extends SimpleTest -{ - private static BigInteger VALUE1 = new BigInteger("1234"); - private static BigInteger VALUE2 = new BigInteger("1234567890"); - private static BigInteger VALUE3 = new BigInteger("12345678901234567890123"); - - private static BigInteger zero = BigInteger.ZERO; - private static BigInteger one = BigInteger.ONE; - private static BigInteger two = BigInteger.valueOf(2); - - public String getName() - { - return "BigInteger"; - } - - private void clearBitTest() - { - BigInteger value = VALUE1.clearBit(3); - BigInteger result = new BigInteger("1234"); - - if (!value.equals(result)) - { - fail("clearBit - expected: " + result + " got: " + value); - } - - value = VALUE2.clearBit(3); - result = new BigInteger("1234567890"); - - if (!value.equals(result)) - { - fail("clearBit - expected: " + result + " got: " + value); - } - - value = VALUE3.clearBit(3); - result = new BigInteger("12345678901234567890115"); - - if (!value.equals(result)) - { - fail("clearBit - expected: " + result + " got: " + value); - } - - value = VALUE2.clearBit(55); - result = new BigInteger("1234567890"); - - if (!value.equals(result)) - { - fail("clearBit - expected: " + result + " got: " + value); - } - - value = VALUE3.clearBit(55); - result = new BigInteger("12345642872437548926155"); - - if (!value.equals(result)) - { - fail("clearBit - expected: " + result + " got: " + value); - } - } - - private void flipBitTest() - { - BigInteger value = VALUE1.flipBit(3); - BigInteger result = new BigInteger("1242"); - - if (!value.equals(result)) - { - fail("flipBit - expected: " + result + " got: " + value); - } - - value = VALUE2.flipBit(3); - result = new BigInteger("1234567898"); - - if (!value.equals(result)) - { - fail("flipBit - expected: " + result + " got: " + value); - } - - value = VALUE3.flipBit(3); - result = new BigInteger("12345678901234567890115"); - - if (!value.equals(result)) - { - fail("flipBit - expected: " + result + " got: " + value); - } - - value = VALUE2.flipBit(55); - result = new BigInteger("36028798253531858"); - - if (!value.equals(result)) - { - fail("flipBit - expected: " + result + " got: " + value); - } - - value = VALUE3.flipBit(55); - result = new BigInteger("12345642872437548926155"); - - if (!value.equals(result)) - { - fail("flipBit - expected: " + result + " got: " + value); - } - } - - private void setBitTest() - { - BigInteger value = VALUE1.setBit(3); - BigInteger result = new BigInteger("1242"); - - if (!value.equals(result)) - { - fail("setBit - expected: " + result + " got: " + value); - } - - value = VALUE2.setBit(3); - result = new BigInteger("1234567898"); - - if (!value.equals(result)) - { - fail("setBit - expected: " + result + " got: " + value); - } - - value = VALUE3.setBit(3); - result = new BigInteger("12345678901234567890123"); - - if (!value.equals(result)) - { - fail("setBit - expected: " + result + " got: " + value); - } - - value = VALUE2.setBit(55); - result = new BigInteger("36028798253531858"); - - if (!value.equals(result)) - { - fail("setBit - expected: " + result + " got: " + value); - } - - value = VALUE3.setBit(55); - result = new BigInteger("12345678901234567890123"); - - if (!value.equals(result)) - { - fail("setBit - expected: " + result + " got: " + value); - } - } - - private void testDivideAndRemainder() - { - SecureRandom random = new SecureRandom(); - - BigInteger n = new BigInteger(48, random); - BigInteger[] qr = n.divideAndRemainder(n); - if (!qr[0].equals(one) || !qr[1].equals(zero)) - { - fail("testDivideAndRemainder - expected: 1/0 got: " + qr[0] + "/" + qr[1]); - } - qr = n.divideAndRemainder(one); - if (!qr[0].equals(n) || !qr[1].equals(zero)) - { - fail("testDivideAndRemainder - expected: " + n + "/0 got: " + qr[0] + "/" + qr[1]); - } - - for (int rep = 0; rep < 10; ++rep) - { - BigInteger a = new BigInteger(100 - rep, 0, random); - BigInteger b = new BigInteger(100 + rep, 0, random); - BigInteger c = new BigInteger(10 + rep, 0, random); - BigInteger d = a.multiply(b).add(c); - BigInteger[] es = d.divideAndRemainder(a); - - if (!es[0].equals(b) || !es[1].equals(c)) - { - fail("testDivideAndRemainder - expected: " + b + "/" + c + " got: " + qr[0] + "/" + qr[1]); - } - } - } - - private void testModInverse() - { - SecureRandom random = new SecureRandom(); - - for (int i = 0; i < 10; ++i) - { - BigInteger p = BigInteger.probablePrime(64, random); - BigInteger q = new BigInteger(63, random).add(one); - BigInteger inv = q.modInverse(p); - BigInteger inv2 = inv.modInverse(p); - - if (!q.equals(inv2)) - { - fail("testModInverse failed symmetry test"); - } - BigInteger check = q.multiply(inv).mod(p); - if (!one.equals(check)) - { - fail("testModInverse - expected: 1 got: " + check); - } - } - - // ModInverse for powers of 2 - for (int i = 1; i <= 128; ++i) - { - BigInteger m = one.shiftLeft(i); - BigInteger d = new BigInteger(i, random).setBit(0); - BigInteger x = d.modInverse(m); - BigInteger check = x.multiply(d).mod(m); - if (!one.equals(check)) - { - fail("testModInverse - expected: 1 got: " + check); - } - } - } - - private void testNegate() - { - if (!zero.equals(zero.negate())) - { - fail("zero - negate falied"); - } - if (!one.equals(one.negate().negate())) - { - fail("one - negate falied"); - } - if (!two.equals(two.negate().negate())) - { - fail("two - negate falied"); - } - } - - private void testNot() - { - for (int i = -10; i <= 10; ++i) - { - if(!BigInteger.valueOf(~i).equals( - BigInteger.valueOf(i).not())) - { - fail("Problem: ~" + i + " should be " + ~i); - } - } - } - - private void testOr() - { - for (int i = -10; i <= 10; ++i) - { - for (int j = -10; j <= 10; ++j) - { - if (!BigInteger.valueOf(i | j).equals( - BigInteger.valueOf(i).or(BigInteger.valueOf(j)))) - { - fail("Problem: " + i + " OR " + j + " should be " + (i | j)); - } - } - } - } - - public void testPow() - { - if (!one.equals(zero.pow(0))) - { - fail("one pow equals failed"); - } - if (!zero.equals(zero.pow(123))) - { - fail("zero pow equals failed"); - } - if (!one.equals(one.pow(0))) - { - fail("one one equals failed"); - } - if (!one.equals(one.pow(123))) - { - fail("1 123 equals failed"); - } - - if (!two.pow(147).equals(one.shiftLeft(147))) - { - fail("2 pow failed"); - } - if (!one.shiftLeft(7).pow(11).equals(one.shiftLeft(77))) - { - fail("pow 2 pow failed"); - } - - BigInteger n = new BigInteger("1234567890987654321"); - BigInteger result = one; - - for (int i = 0; i < 10; ++i) - { - try - { - BigInteger.valueOf(i).pow(-1); - fail("expected ArithmeticException"); - } - catch (ArithmeticException e) {} - - if (!result.equals(n.pow(i))) - { - fail("mod pow equals failed"); - } - - result = result.multiply(n); - } - } - - public void testToString() - { - SecureRandom random = new SecureRandom(); - int trials = 256; - - BigInteger[] tests = new BigInteger[trials]; - for (int i = 0; i < trials; ++i) - { - int len = random.nextInt(i + 1); - tests[i] = new BigInteger(len, random); - } - - for (int radix = Character.MIN_RADIX; radix <= Character.MAX_RADIX; ++radix) - { - for (int i = 0; i < trials; ++i) - { - BigInteger n1 = tests[i]; - String s = n1.toString(radix); - BigInteger n2 = new BigInteger(s, radix); - if (!n1.equals(n2)) - { - fail("testToStringRadix - radix:" + radix + ", n1:" + n1.toString(16) + ", n2:" + n2.toString(16)); - } - } - } - } - - private void xorTest() - { - BigInteger value = VALUE1.xor(VALUE2); - BigInteger result = new BigInteger("1234568704"); - - if (!value.equals(result)) - { - fail("xor - expected: " + result + " got: " + value); - } - - value = VALUE1.xor(VALUE3); - result = new BigInteger("12345678901234567888921"); - - if (!value.equals(result)) - { - fail("xor - expected: " + result + " got: " + value); - } - - value = VALUE3.xor(VALUE1); - result = new BigInteger("12345678901234567888921"); - - if (!value.equals(result)) - { - fail("xor - expected: " + result + " got: " + value); - } - - value = VALUE2.xor(new BigInteger("-1")); - result = new BigInteger("-1234567891"); - - if (!value.equals(result)) - { - fail("xor - expected: " + result + " got: " + value); - } - - value = VALUE3.xor(VALUE3); - result = new BigInteger("0"); - - if (!value.equals(result)) - { - fail("xor - expected: " + result + " got: " + value); - } - } - - public void performTest() - { - clearBitTest(); - - flipBitTest(); - - setBitTest(); - - testDivideAndRemainder(); - testModInverse(); - testNegate(); - testNot(); - testOr(); - testPow(); - testToString(); - - xorTest(); - - BigInteger n1, n2, r1; - - // test division where the difference in bit length of the dividend and divisor is 32 bits - n1 = new BigInteger("54975581388"); - n2 = new BigInteger("10"); - r1 = n1.divide(n2); - if (!r1.toString(10).equals("5497558138")) - { - fail("BigInteger: failed Divide Test"); - } - - // two's complement test - byte[] zeroBytes = BigInteger.ZERO.toByteArray(); - byte[] oneBytes = BigInteger.ONE.toByteArray(); - byte[] minusOneBytes = BigInteger.ONE.negate().toByteArray(); - - BigInteger zero = new BigInteger(zeroBytes); - if (!zero.equals(BigInteger.ZERO)) - { - fail("Failed constructing zero"); - } - - BigInteger one = new BigInteger(oneBytes); - if (!one.equals(BigInteger.ONE)) - { - fail("Failed constructing one"); - } - - BigInteger minusOne = new BigInteger(minusOneBytes); - if (!minusOne.equals(BigInteger.ONE.negate())) - { - fail("Failed constructing minus one"); - } - - SecureRandom random = new SecureRandom(); - byte[] randomBytes = new byte[100]; - for (int i=0; i < 100; i++) - { - random.nextBytes(randomBytes); - BigInteger bcInt = new BigInteger(randomBytes); - BigInteger bcInt2 = new BigInteger(bcInt.toByteArray()); - if (!bcInt.equals(bcInt2)) - { - fail("Failed constructing random value " + i); - } - -// java.math.BigInteger jdkInt = new java.math.BigInteger(randomBytes); -// byte[] bcBytes = bcInt.toByteArray(); -// byte[] jdkBytes = jdkInt.toByteArray(); -// if (!arrayEquals(bcBytes, jdkBytes)) -// { -// fail(""Failed constructing random value " + i); -// } - } - } - - public static void main( - String[] args) - { - runTest(new BigIntegerTest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/j2me/java/math/test/RegressionTest.java b/libraries/spongycastle/core/src/test/j2me/java/math/test/RegressionTest.java deleted file mode 100644 index 79d8b590c..000000000 --- a/libraries/spongycastle/core/src/test/j2me/java/math/test/RegressionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package java.math.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new BigIntegerTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - System.out.println(result); - } - } -} diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/GeneralizedTimeTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/GeneralizedTimeTest.java deleted file mode 100644 index 707fcb997..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/GeneralizedTimeTest.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.util.Date; -import java.util.TimeZone; - -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.util.test.SimpleTest; - -/** - * X.690 test example - */ -public class GeneralizedTimeTest - extends SimpleTest -{ - String[] input = - { - "20020122122220", - "20020122122220Z", - "20020122122220-1000", - "20020122122220+00", - "20020122122220.1", - "20020122122220.1Z", - "20020122122220.1-1000", - "20020122122220.1+00", - "20020122122220.01", - "20020122122220.01Z", - "20020122122220.01-1000", - "20020122122220.01+00", - "20020122122220.001", - "20020122122220.001Z", - "20020122122220.001-1000", - "20020122122220.001+00", - "20020122122220.0001", - "20020122122220.0001Z", - "20020122122220.0001-1000", - "20020122122220.0001+00", - "20020122122220.0001+1000" - }; - - String[] output = { - "20020122122220", - "20020122122220GMT+00:00", - "20020122122220GMT-10:00", - "20020122122220GMT+00:00", - "20020122122220.1", - "20020122122220.1GMT+00:00", - "20020122122220.1GMT-10:00", - "20020122122220.1GMT+00:00", - "20020122122220.01", - "20020122122220.01GMT+00:00", - "20020122122220.01GMT-10:00", - "20020122122220.01GMT+00:00", - "20020122122220.001", - "20020122122220.001GMT+00:00", - "20020122122220.001GMT-10:00", - "20020122122220.001GMT+00:00", - "20020122122220.0001", - "20020122122220.0001GMT+00:00", - "20020122122220.0001GMT-10:00", - "20020122122220.0001GMT+00:00", - "20020122122220.0001GMT+10:00" }; - - String[] zOutput = { - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122022220Z" - }; - - String[] mzOutput = { - "20020122122220.000Z", - "20020122122220.000Z", - "20020122222220.000Z", - "20020122122220.000Z", - "20020122122220.100Z", - "20020122122220.100Z", - "20020122222220.100Z", - "20020122122220.100Z", - "20020122122220.010Z", - "20020122122220.010Z", - "20020122222220.010Z", - "20020122122220.010Z", - "20020122122220.001Z", - "20020122122220.001Z", - "20020122222220.001Z", - "20020122122220.001Z", - "20020122122220.000Z", - "20020122122220.000Z", - "20020122222220.000Z", - "20020122122220.000Z", - "20020122022220.000Z" - }; - - public String getName() - { - return "GeneralizedTime"; - } - - public void performTest() - throws Exception - { - for (int i = 0; i != input.length; i++) - { - DERGeneralizedTime t = new DERGeneralizedTime(input[i]); - - if (output[i].indexOf('G') > 0) // don't check local time the same way - { - if (!t.getTime().equals(output[i])) - { - fail("failed conversion test"); - } - } - else - { - String offset = calculateGMTOffset(t.getDate()); - - if (!t.getTime().equals(output[i] + offset)) - { - fail("failed conversion test"); - } - } - } - - for (int i = 0; i != input.length; i++) - { - ASN1GeneralizedTime t = new ASN1GeneralizedTime(mzOutput[i]); - - if (!new ASN1GeneralizedTime(t.getDate(), true).getDate().equals(t.getDate())) - { - fail("failed equality test"); - } - } - } - - private String calculateGMTOffset(Date date) - { - String sign = "+"; - TimeZone timeZone = TimeZone.getDefault(); - int offset = timeZone.getRawOffset(); - if (offset < 0) - { - sign = "-"; - offset = -offset; - } - int hours = offset / (60 * 60 * 1000); - int minutes = (offset - (hours * 60 * 60 * 1000)) / (60 * 1000); - -// if (timeZone.useDaylightTime() && timeZone.inDaylightTime(date)) -// { -// hours += sign.equals("+") ? 1 : -1; -// } - - return "GMT" + sign + convert(hours) + ":" + convert(minutes); - } - - private String convert(int time) - { - if (time < 10) - { - return "0" + time; - } - - return Integer.toString(time); - } - - public static void main( - String[] args) - { - runTest(new GeneralizedTimeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/RegressionTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/RegressionTest.java deleted file mode 100644 index a559705f3..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/RegressionTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new CertificateTest(), - new CMSTest(), - new OCSPTest(), - new OIDTest(), - new PKCS10Test(), - new PKCS12Test(), - new X509NameTest(), - new X500NameTest(), - new X509ExtensionsTest(), - new BitStringTest(), - new MiscTest(), - new X9Test(), - new EncryptedPrivateKeyInfoTest(), - new StringTest(), - new RequestedCertificateUnitTest(), - new OtherCertIDUnitTest(), - new OtherSigningCertificateUnitTest(), - new ContentHintsUnitTest(), - new CertHashUnitTest(), - new AdditionalInformationSyntaxUnitTest(), - new AdmissionSyntaxUnitTest(), - new AdmissionsUnitTest(), - new DeclarationOfMajorityUnitTest(), - new ProcurationSyntaxUnitTest(), - new ProfessionInfoUnitTest(), - new RestrictionUnitTest(), - new NamingAuthorityUnitTest(), - new MonetaryLimitUnitTest(), - new DERApplicationSpecificTest(), - new IssuingDistributionPointUnitTest(), - new TargetInformationTest(), - new SubjectKeyIdentifierTest(), - new ESSCertIDv2UnitTest(), - new ParsingTest(), - new GeneralNameTest(), - new RFC4519Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/UTCTimeTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/UTCTimeTest.java deleted file mode 100644 index c1154f05c..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/asn1/test/UTCTimeTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1UTCTime; -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.util.test.SimpleTest; - -/** - * X.690 test example - */ -public class UTCTimeTest - extends SimpleTest -{ - String[] input = - { - "020122122220Z", - "020122122220-1000", - "020122122220+1000", - "020122122220+00", - "0201221222Z", - "0201221222-1000", - "0201221222+1000", - "0201221222+00", - "550122122220Z", - "5501221222Z" - }; - - String[] output = { - "20020122122220GMT+00:00", - "20020122122220GMT-10:00", - "20020122122220GMT+10:00", - "20020122122220GMT+00:00", - "20020122122200GMT+00:00", - "20020122122200GMT-10:00", - "20020122122200GMT+10:00", - "20020122122200GMT+00:00", - "19550122122220GMT+00:00", - "19550122122200GMT+00:00" - }; - - String[] zOutput1 = { - "20020122122220Z", - "20020122222220Z", - "20020122022220Z", - "20020122122220Z", - "20020122122200Z", - "20020122222200Z", - "20020122022200Z", - "20020122122200Z", - "19550122122220Z", - "19550122122200Z" - }; - - String[] zOutput2 = { - "20020122122220Z", - "20020122222220Z", - "20020122022220Z", - "20020122122220Z", - "20020122122200Z", - "20020122222200Z", - "20020122022200Z", - "20020122122200Z", - "19550122122220Z", - "19550122122200Z" - }; - - public String getName() - { - return "UTCTime"; - } - - public void performTest() - throws Exception - { - - for (int i = 0; i != input.length; i++) - { - DERUTCTime t = new DERUTCTime(input[i]); - - if (!t.getAdjustedTime().equals(output[i])) - { - fail("failed conversion test " + i); - } - - t = new ASN1UTCTime(zOutput1[i].substring(2)); - - if (!new ASN1UTCTime(t.getAdjustedDate()).getAdjustedTime().equals(t.getAdjustedTime())) - { - fail("failed equality test"); - } - } - } - - public static void main( - String[] args) - { - runTest(new UTCTimeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/BigIntegerTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/BigIntegerTest.java deleted file mode 100644 index ef2236939..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/BigIntegerTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.*; - -public class BigIntegerTest -{ - public static Test[] tests = { - new DHTest(), - new ElGamalTest(), - new DSATest(), - new ECTest(), - new ECIESTest(), - new RSATest(), - new ISO9796Test(), - new OAEPTest(), - new PSSTest(), - new CTSTest(), - new PKCS5Test(), - new PKCS12Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/CryptoRegressionTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/CryptoRegressionTest.java deleted file mode 100644 index e66d62707..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/CryptoRegressionTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.*; - -public class CryptoRegressionTest -{ - public static Test[] tests = { - new AESTest(), - new DESTest(), - new DESedeTest(), - new ModeTest(), - new DHTest(), - new ElGamalTest(), - new DSATest(), - new ECTest(), - new ECIESTest(), - new MacTest(), - new RC2Test(), - new RC4Test(), - new RC5Test(), - new RC6Test(), - new RijndaelTest(), - new SerpentTest(), - new SkipjackTest(), - new BlowfishTest(), - new TwofishTest(), - new CAST5Test(), - new CAST6Test(), - new IDEATest(), - new CamelliaTest(), - new RSATest(), - new ISO9796Test(), - new MD2DigestTest(), - new MD4DigestTest(), - new MD5DigestTest(), - new SHA1DigestTest(), - new SHA256DigestTest(), - new SHA384DigestTest(), - new SHA512DigestTest(), - new RIPEMD128DigestTest(), - new RIPEMD160DigestTest(), - new TigerDigestTest(), - new MD5HMacTest(), - new SHA1HMacTest(), - new RIPEMD128HMacTest(), - new RIPEMD160HMacTest(), - /* new OAEPTest() */ - new PSSTest(), - new CTSTest(), - /* new PKCS5Test() */ - new PKCS12Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RSATest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RSATest.java deleted file mode 100644 index b0f2fc55c..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RSATest.java +++ /dev/null @@ -1,480 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.encodings.OAEPEncoding; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.generators.RSAKeyPairGenerator; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class RSATest - extends SimpleTest -{ - static BigInteger mod = new BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16); - static BigInteger pubExp = new BigInteger("11", 16); - static BigInteger privExp = new BigInteger("92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619", 16); - static BigInteger p = new BigInteger("f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4b929d9555853004c7c8b30ee6a213c3d1bb7415d03", 16); - static BigInteger q = new BigInteger("b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947", 16); - static BigInteger pExp = new BigInteger("1d1a2d3ca8e52068b3094d501c9a842fec37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5", 16); - static BigInteger qExp = new BigInteger("6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded", 16); - static BigInteger crtCoef = new BigInteger("dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339", 16); - - static String input = "4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - // - // to check that we handling byte extension by big number correctly. - // - static String edgeInput = "ff6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - static byte[] oversizedSig = Hex.decode("01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] dudBlock = Hex.decode("000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] truncatedDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] incorrectPadding = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] missingDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - - public String getName() - { - return "RSA"; - } - - private void testStrictPKCS1Length(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(oversizedSig, 0, oversizedSig.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("oversized signature block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals("block incorrect size")) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - } - - private void testTruncatedPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, truncatedDataBlock, "block truncated"); - } - - private void testDudPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, dudBlock, "unknown block type"); - } - - private void testWrongPaddingPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, incorrectPadding, "block padding incorrect"); - } - - private void testMissingDataPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, missingDataBlock, "no data in block"); - } - - private void checkForPKCS1Exception(RSAKeyParameters pubParameters, RSAKeyParameters privParameters, byte[] inputData, String expectedMessage) - { - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(inputData, 0, inputData.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("missing data block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals(expectedMessage)) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - } - - private void testOAEP(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - // - // OAEP - public encrypt, private decrypt - // - AsymmetricBlockCipher eng = new OAEPEncoding(new RSAEngine()); - byte[] data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed OAEP Test"); - } - } - - private void zeroBlockTest(CipherParameters encParameters, CipherParameters decParameters) - { - AsymmetricBlockCipher eng = new PKCS1Encoding(new RSAEngine()); - - eng.init(true, encParameters); - - if (eng.getOutputBlockSize() != ((PKCS1Encoding)eng).getUnderlyingCipher().getOutputBlockSize()) - { - fail("PKCS1 output block size incorrect"); - } - - byte[] zero = new byte[0]; - byte[] data = null; - - try - { - data = eng.processBlock(zero, 0, zero.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, decParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!Arrays.areEqual(zero, data)) - { - fail("failed PKCS1 zero Test"); - } - } - - public void performTest() - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAPrivateCrtKeyParameters(mod, pubExp, privExp, p, q, pExp, qExp, crtCoef); - byte[] data = Hex.decode(edgeInput); - - // - // RAW - // - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!edgeInput.equals(new String(Hex.encode(data)))) - { - fail("failed RAW edge Test"); - } - - data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed RAW Test"); - } - - // - // PKCS1 - public encrypt, private decrypt - // - eng = new PKCS1Encoding(eng); - - eng.init(true, pubParameters); - - if (eng.getOutputBlockSize() != ((PKCS1Encoding)eng).getUnderlyingCipher().getOutputBlockSize()) - { - fail("PKCS1 output block size incorrect"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 public/private Test"); - } - - // - // PKCS1 - private encrypt, public decrypt - // - eng = new PKCS1Encoding(((PKCS1Encoding)eng).getUnderlyingCipher()); - - eng.init(true, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 private/public Test"); - } - - zeroBlockTest(pubParameters, privParameters); - zeroBlockTest(privParameters, pubParameters); - - // - // key generation test - // - RSAKeyPairGenerator pGen = new RSAKeyPairGenerator(); - RSAKeyGenerationParameters genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 768, 25); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - eng = new RSAEngine(); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 768) - { - fail("failed key generation (768) length test"); - } - - eng.init(true, pair.getPublic()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (768) Test"); - } - - genParam = new RSAKeyGenerationParameters(BigInteger.valueOf(0x11), new SecureRandom(), 1024, 25); - - pGen.init(genParam); - pair = pGen.generateKeyPair(); - - eng.init(true, pair.getPublic()); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 1024) - { - fail("failed key generation (1024) length test"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (1024) test"); - } - - genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 16, 25); - pGen.init(genParam); - - for (int i = 0; i < 100; ++i) - { - pair = pGen.generateKeyPair(); - RSAPrivateCrtKeyParameters privKey = (RSAPrivateCrtKeyParameters) pair.getPrivate(); - BigInteger pqDiff = privKey.getP().subtract(privKey.getQ()).abs(); - - if (pqDiff.bitLength() < 5) - { - fail("P and Q too close in RSA key pair"); - } - } - - testOAEP(pubParameters, privParameters); - testStrictPKCS1Length(pubParameters, privParameters); - testDudPKCS1Block(pubParameters, privParameters); - testMissingDataPKCS1Block(pubParameters, privParameters); - testTruncatedPKCS1Block(pubParameters, privParameters); - testWrongPaddingPKCS1Block(pubParameters, privParameters); - - try - { - new RSAEngine().processBlock(new byte[]{ 1 }, 0, 1); - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - } - - - public static void main( - String[] args) - { - runTest(new RSATest()); - } -} diff --git a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RegressionTest.java b/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RegressionTest.java deleted file mode 100644 index d1a1f7866..000000000 --- a/libraries/spongycastle/core/src/test/j2me/org/spongycastle/crypto/test/RegressionTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public final class RegressionTest -{ - public static Test[] tests = { - new AESTest(), - new DESTest(), - new DESedeTest(), - new ModeTest(), - new DHTest(), - new ElGamalTest(), - new DSATest(), - new ECTest(), - new ECIESTest(), - new MacTest(), - new RC2Test(), - new RC4Test(), - new RC5Test(), - new RC6Test(), - new RijndaelTest(), - new SerpentTest(), - new SkipjackTest(), - new BlowfishTest(), - new TwofishTest(), - new CAST5Test(), - new CAST6Test(), - new IDEATest(), - new CamelliaTest(), - new RSATest(), - new ISO9796Test(), - new MD2DigestTest(), - new MD4DigestTest(), - new MD5DigestTest(), - new SHA1DigestTest(), - new SHA256DigestTest(), - new SHA384DigestTest(), - new SHA512DigestTest(), - new RIPEMD128DigestTest(), - new RIPEMD160DigestTest(), - new TigerDigestTest(), - new MD5HMacTest(), - new SHA1HMacTest(), - new RIPEMD128HMacTest(), - new RIPEMD160HMacTest(), - new OAEPTest(), - new PSSTest(), - new CTSTest(), - new PKCS5Test(), - new PKCS12Test(), - new GOST28147Test(), - new GOST3410Test(), - new WhirlpoolDigestTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1SequenceParserTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1SequenceParserTest.java deleted file mode 100644 index 670aeee68..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1SequenceParserTest.java +++ /dev/null @@ -1,372 +0,0 @@ -package org.spongycastle.asn1.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.asn1.ASN1Null; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1StreamParser; -import org.spongycastle.asn1.BERSequenceGenerator; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequenceGenerator; -import org.spongycastle.util.encoders.Hex; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.util.Arrays; - -public class ASN1SequenceParserTest - extends TestCase -{ - private static final byte[] seqData = Hex.decode("3006020100060129"); - private static final byte[] nestedSeqData = Hex.decode("300b0201000601293003020101"); - private static final byte[] expTagSeqData = Hex.decode("a1083006020100060129"); - private static final byte[] implTagSeqData = Hex.decode("a106020100060129"); - private static final byte[] nestedSeqExpTagData = Hex.decode("300d020100060129a1053003020101"); - private static final byte[] nestedSeqImpTagData = Hex.decode("300b020100060129a103020101"); - - private static final byte[] berSeqData = Hex.decode("30800201000601290000"); - private static final byte[] berDERNestedSeqData = Hex.decode("308002010006012930030201010000"); - private static final byte[] berNestedSeqData = Hex.decode("3080020100060129308002010100000000"); - private static final byte[] berExpTagSeqData = Hex.decode("a180308002010006012900000000"); - - private static final byte[] berSeqWithDERNullData = Hex.decode("308005000201000601290000"); - - public void testDERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut); - - seqGen.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen.addObject(new DERObjectIdentifier("1.1")); - - seqGen.close(); - - assertTrue("basic DER writing test failed.", Arrays.equals(seqData, bOut.toByteArray())); - } - - public void testNestedDERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut); - - seqGen1.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen1.addObject(new DERObjectIdentifier("1.1")); - - DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream()); - - seqGen2.addObject(new DERInteger(BigInteger.valueOf(1))); - - seqGen2.close(); - - seqGen1.close(); - - assertTrue("nested DER writing test failed.", Arrays.equals(nestedSeqData, bOut.toByteArray())); - } - - public void testDERExplicitTaggedSequenceWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut, 1, true); - - seqGen.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen.addObject(new DERObjectIdentifier("1.1")); - - seqGen.close(); - - assertTrue("explicit tag writing test failed.", Arrays.equals(expTagSeqData, bOut.toByteArray())); - } - - public void testDERImplicitTaggedSequenceWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut, 1, false); - - seqGen.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen.addObject(new DERObjectIdentifier("1.1")); - - seqGen.close(); - - assertTrue("implicit tag writing test failed.", Arrays.equals(implTagSeqData, bOut.toByteArray())); - } - - public void testNestedExplicitTagDERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut); - - seqGen1.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen1.addObject(new DERObjectIdentifier("1.1")); - - DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream(), 1, true); - - seqGen2.addObject(new DERInteger(BigInteger.valueOf(1))); - - seqGen2.close(); - - seqGen1.close(); - - assertTrue("nested explicit tagged DER writing test failed.", Arrays.equals(nestedSeqExpTagData, bOut.toByteArray())); - } - - public void testNestedImplicitTagDERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut); - - seqGen1.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen1.addObject(new DERObjectIdentifier("1.1")); - - DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream(), 1, false); - - seqGen2.addObject(new DERInteger(BigInteger.valueOf(1))); - - seqGen2.close(); - - seqGen1.close(); - - assertTrue("nested implicit tagged DER writing test failed.", Arrays.equals(nestedSeqImpTagData, bOut.toByteArray())); - } - - public void testBERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BERSequenceGenerator seqGen = new BERSequenceGenerator(bOut); - - seqGen.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen.addObject(new DERObjectIdentifier("1.1")); - - seqGen.close(); - - assertTrue("basic BER writing test failed.", Arrays.equals(berSeqData, bOut.toByteArray())); - } - - public void testNestedBERDERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BERSequenceGenerator seqGen1 = new BERSequenceGenerator(bOut); - - seqGen1.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen1.addObject(new DERObjectIdentifier("1.1")); - - DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream()); - - seqGen2.addObject(new DERInteger(BigInteger.valueOf(1))); - - seqGen2.close(); - - seqGen1.close(); - - assertTrue("nested BER/DER writing test failed.", Arrays.equals(berDERNestedSeqData, bOut.toByteArray())); - } - - public void testNestedBERWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BERSequenceGenerator seqGen1 = new BERSequenceGenerator(bOut); - - seqGen1.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen1.addObject(new DERObjectIdentifier("1.1")); - - BERSequenceGenerator seqGen2 = new BERSequenceGenerator(seqGen1.getRawOutputStream()); - - seqGen2.addObject(new DERInteger(BigInteger.valueOf(1))); - - seqGen2.close(); - - seqGen1.close(); - - assertTrue("nested BER writing test failed.", Arrays.equals(berNestedSeqData, bOut.toByteArray())); - } - - public void testDERReading() - throws Exception - { - ASN1StreamParser aIn = new ASN1StreamParser(seqData); - - ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject(); - Object o; - int count = 0; - - assertNotNull("null sequence returned", seq); - - while ((o = seq.readObject()) != null) - { - switch (count) - { - case 0: - assertTrue(o instanceof DERInteger); - break; - case 1: - assertTrue(o instanceof DERObjectIdentifier); - break; - } - count++; - } - - assertEquals("wrong number of objects in sequence", 2, count); - } - - private void testNestedReading( - byte[] data) - throws Exception - { - ASN1StreamParser aIn = new ASN1StreamParser(data); - - ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject(); - Object o; - int count = 0; - - assertNotNull("null sequence returned", seq); - - while ((o = seq.readObject()) != null) - { - switch (count) - { - case 0: - assertTrue(o instanceof DERInteger); - break; - case 1: - assertTrue(o instanceof DERObjectIdentifier); - break; - case 2: - assertTrue(o instanceof ASN1SequenceParser); - - ASN1SequenceParser s = (ASN1SequenceParser)o; - - // NB: Must exhaust the nested parser - while (s.readObject() != null) - { - // Nothing - } - - break; - } - count++; - } - - assertEquals("wrong number of objects in sequence", 3, count); - } - - public void testNestedDERReading() - throws Exception - { - testNestedReading(nestedSeqData); - } - - public void testBERReading() - throws Exception - { - ASN1StreamParser aIn = new ASN1StreamParser(berSeqData); - - ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject(); - Object o; - int count = 0; - - assertNotNull("null sequence returned", seq); - - while ((o = seq.readObject()) != null) - { - switch (count) - { - case 0: - assertTrue(o instanceof DERInteger); - break; - case 1: - assertTrue(o instanceof DERObjectIdentifier); - break; - } - count++; - } - - assertEquals("wrong number of objects in sequence", 2, count); - } - - public void testNestedBERDERReading() - throws Exception - { - testNestedReading(berDERNestedSeqData); - } - - public void testNestedBERReading() - throws Exception - { - testNestedReading(berNestedSeqData); - } - - public void testBERExplicitTaggedSequenceWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BERSequenceGenerator seqGen = new BERSequenceGenerator(bOut, 1, true); - - seqGen.addObject(new DERInteger(BigInteger.valueOf(0))); - - seqGen.addObject(new DERObjectIdentifier("1.1")); - - seqGen.close(); - - assertTrue("explicit BER tag writing test failed.", Arrays.equals(berExpTagSeqData, bOut.toByteArray())); - } - - public void testSequenceWithDERNullReading() - throws Exception - { - testParseWithNull(berSeqWithDERNullData); - } - - private void testParseWithNull(byte[] data) - throws IOException - { - ASN1StreamParser aIn = new ASN1StreamParser(data); - ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject(); - Object o; - int count = 0; - - assertNotNull("null sequence returned", seq); - - while ((o = seq.readObject()) != null) - { - switch (count) - { - case 0: - assertTrue(o instanceof ASN1Null); - break; - case 1: - assertTrue(o instanceof DERInteger); - break; - case 2: - assertTrue(o instanceof DERObjectIdentifier); - break; - } - count++; - } - - assertEquals("wrong number of objects in sequence", 3, count); - } - - public static Test suite() - { - return new TestSuite(ASN1SequenceParserTest.class); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1UnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1UnitTest.java deleted file mode 100644 index e71aedc14..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ASN1UnitTest.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.util.test.SimpleTest; - -import java.math.BigInteger; - -public abstract class ASN1UnitTest - extends SimpleTest -{ - protected void checkMandatoryField(String name, ASN1Encodable expected, ASN1Encodable present) - { - if (!expected.equals(present)) - { - fail(name + " field doesn't match."); - } - } - - protected void checkMandatoryField(String name, String expected, String present) - { - if (!expected.equals(present)) - { - fail(name + " field doesn't match."); - } - } - - protected void checkMandatoryField(String name, byte[] expected, byte[] present) - { - if (!areEqual(expected, present)) - { - fail(name + " field doesn't match."); - } - } - - protected void checkMandatoryField(String name, int expected, int present) - { - if (expected != present) - { - fail(name + " field doesn't match."); - } - } - - protected void checkOptionalField(String name, ASN1Encodable expected, ASN1Encodable present) - { - if (expected != null) - { - if (!expected.equals(present)) - { - fail(name + " field doesn't match."); - } - } - else if (present != null) - { - fail(name + " field found when none expected."); - } - } - - protected void checkOptionalField(String name, String expected, String present) - { - if (expected != null) - { - if (!expected.equals(present)) - { - fail(name + " field doesn't match."); - } - } - else if (present != null) - { - fail(name + " field found when none expected."); - } - } - - protected void checkOptionalField(String name, BigInteger expected, BigInteger present) - { - if (expected != null) - { - if (!expected.equals(present)) - { - fail(name + " field doesn't match."); - } - } - else if (present != null) - { - fail(name + " field found when none expected."); - } - } - - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java deleted file mode 100644 index b1aa29bb7..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.isismtt.x509.AdditionalInformationSyntax; -import org.spongycastle.asn1.x500.DirectoryString; - -public class AdditionalInformationSyntaxUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "AdditionalInformationSyntax"; - } - - public void performTest() - throws Exception - { - AdditionalInformationSyntax syntax = new AdditionalInformationSyntax("hello world"); - - checkConstruction(syntax, new DirectoryString("hello world")); - - try - { - AdditionalInformationSyntax.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - AdditionalInformationSyntax syntax, - DirectoryString information) - throws IOException - { - checkValues(syntax, information); - - syntax = AdditionalInformationSyntax.getInstance(syntax); - - checkValues(syntax, information); - - ASN1InputStream aIn = new ASN1InputStream(syntax.toASN1Object().getEncoded()); - - ASN1String info = (ASN1String)aIn.readObject(); - - syntax = AdditionalInformationSyntax.getInstance(info); - - checkValues(syntax, information); - } - - private void checkValues( - AdditionalInformationSyntax syntax, - DirectoryString information) - { - checkMandatoryField("information", information, syntax.getInformation()); - } - - public static void main( - String[] args) - { - runTest(new AdditionalInformationSyntaxUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionSyntaxUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionSyntaxUnitTest.java deleted file mode 100644 index b87cb83dd..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionSyntaxUnitTest.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.isismtt.x509.AdmissionSyntax; -import org.spongycastle.asn1.isismtt.x509.Admissions; -import org.spongycastle.asn1.isismtt.x509.NamingAuthority; -import org.spongycastle.asn1.isismtt.x509.ProfessionInfo; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.X509Name; - -public class AdmissionSyntaxUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "AdmissionSyntax"; - } - - public void performTest() - throws Exception - { - GeneralName name = new GeneralName(new X509Name("CN=hello world")); - ASN1Sequence admissions = new DERSequence( - new Admissions(name, - new NamingAuthority(new ASN1ObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")), - new ProfessionInfo[0])); - AdmissionSyntax syntax = new AdmissionSyntax(name, admissions); - - checkConstruction(syntax, name, admissions); - - syntax = AdmissionSyntax.getInstance(null); - - if (syntax != null) - { - fail("null getInstance() failed."); - } - - try - { - AdmissionSyntax.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - AdmissionSyntax syntax, - GeneralName authority, - ASN1Sequence admissions) - throws IOException - { - checkValues(syntax, authority, admissions); - - syntax = AdmissionSyntax.getInstance(syntax); - - checkValues(syntax, authority, admissions); - - ASN1InputStream aIn = new ASN1InputStream(syntax.toASN1Object().getEncoded()); - - ASN1Sequence info = (ASN1Sequence)aIn.readObject(); - - syntax = AdmissionSyntax.getInstance(info); - - checkValues(syntax, authority, admissions); - } - - private void checkValues( - AdmissionSyntax syntax, - GeneralName authority, - ASN1Sequence admissions) - { - checkMandatoryField("admissionAuthority", authority, syntax.getAdmissionAuthority()); - - Admissions[] adm = syntax.getContentsOfAdmissions(); - - if (adm.length != 1 || !adm[0].equals(admissions.getObjectAt(0))) - { - fail("admissions check failed"); - } - } - - public static void main( - String[] args) - { - runTest(new AdmissionSyntaxUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionsUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionsUnitTest.java deleted file mode 100644 index a3e7b4d86..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AdmissionsUnitTest.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.isismtt.x509.Admissions; -import org.spongycastle.asn1.isismtt.x509.NamingAuthority; -import org.spongycastle.asn1.isismtt.x509.ProfessionInfo; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.X509Name; - -import java.io.IOException; - -public class AdmissionsUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "Admissions"; - } - - public void performTest() - throws Exception - { - GeneralName name = new GeneralName(new X509Name("CN=hello world")); - NamingAuthority auth = new NamingAuthority(new DERObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")); - Admissions admissions = new Admissions(name, auth, new ProfessionInfo[0]); - - checkConstruction(admissions, name, auth); - - admissions = Admissions.getInstance(null); - - if (admissions != null) - { - fail("null getInstance() failed."); - } - - try - { - Admissions.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - Admissions admissions, - GeneralName name, - NamingAuthority auth) - throws IOException - { - checkValues(admissions, name, auth); - - admissions = Admissions.getInstance(admissions); - - checkValues(admissions, name, auth); - - ASN1InputStream aIn = new ASN1InputStream(admissions.toASN1Object().getEncoded()); - - ASN1Sequence info = (ASN1Sequence)aIn.readObject(); - - admissions = Admissions.getInstance(info); - - checkValues(admissions, name, auth); - } - - private void checkValues( - Admissions admissions, - GeneralName name, - NamingAuthority auth) - { - checkMandatoryField("admissionAuthority", name, admissions.getAdmissionAuthority()); - checkMandatoryField("namingAuthority", auth, admissions.getNamingAuthority()); - } - - public static void main( - String[] args) - { - runTest(new AdmissionsUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AllTests.java deleted file mode 100644 index 6e1c6dde0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AllTests.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.asn1.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testASN1() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("ASN.1 Tests"); - - suite.addTestSuite(AllTests.class); - suite.addTestSuite(GetInstanceTest.class); - suite.addTestSuite(ASN1SequenceParserTest.class); - suite.addTestSuite(OctetStringTest.class); - suite.addTestSuite(ParseTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AttributeTableUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AttributeTableUnitTest.java deleted file mode 100644 index 3eff1f325..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/AttributeTableUnitTest.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.util.Hashtable; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.cms.Attribute; -import org.spongycastle.asn1.cms.AttributeTable; -import org.spongycastle.util.test.SimpleTest; - -public class AttributeTableUnitTest - extends SimpleTest -{ - private static final DERObjectIdentifier type1 = new DERObjectIdentifier("1.1.1"); - private static final DERObjectIdentifier type2 = new DERObjectIdentifier("1.1.2"); - private static final DERObjectIdentifier type3 = new DERObjectIdentifier("1.1.3"); - - public String getName() - { - return "AttributeTable"; - } - - public void performTest() - throws Exception - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new Attribute(type1, new DERSet(type1))); - v.add(new Attribute(type2, new DERSet(type2))); - - AttributeTable table = new AttributeTable(v); - - Attribute a = table.get(type1); - if (a == null) - { - fail("type1 attribute not found."); - } - if (!a.getAttrValues().equals(new DERSet(type1))) - { - fail("wrong value retrieved for type1!"); - } - - a = table.get(type2); - if (a == null) - { - fail("type2 attribute not found."); - } - if (!a.getAttrValues().equals(new DERSet(type2))) - { - fail("wrong value retrieved for type2!"); - } - - a = table.get(type3); - if (a != null) - { - fail("type3 attribute found when none expected."); - } - - ASN1EncodableVector vec = table.getAll(type1); - if (vec.size() != 1) - { - fail("wrong vector size for type1."); - } - - vec = table.getAll(type3); - if (vec.size() != 0) - { - fail("wrong vector size for type3."); - } - - vec = table.toASN1EncodableVector(); - if (vec.size() != 2) - { - fail("wrong vector size for single."); - } - - Hashtable t = table.toHashtable(); - - if (t.size() != 2) - { - fail("hashtable wrong size."); - } - - // multiple - - v = new ASN1EncodableVector(); - - v.add(new Attribute(type1, new DERSet(type1))); - v.add(new Attribute(type1, new DERSet(type2))); - v.add(new Attribute(type1, new DERSet(type3))); - v.add(new Attribute(type2, new DERSet(type2))); - - table = new AttributeTable(v); - - a = table.get(type1); - if (!a.getAttrValues().equals(new DERSet(type1))) - { - fail("wrong value retrieved for type1 multi get!"); - } - - vec = table.getAll(type1); - if (vec.size() != 3) - { - fail("wrong vector size for multiple type1."); - } - - a = (Attribute)vec.get(0); - if (!a.getAttrValues().equals(new DERSet(type1))) - { - fail("wrong value retrieved for type1(0)!"); - } - - a = (Attribute)vec.get(1); - if (!a.getAttrValues().equals(new DERSet(type2))) - { - fail("wrong value retrieved for type1(1)!"); - } - - a = (Attribute)vec.get(2); - if (!a.getAttrValues().equals(new DERSet(type3))) - { - fail("wrong value retrieved for type1(2)!"); - } - - vec = table.getAll(type2); - if (vec.size() != 1) - { - fail("wrong vector size for multiple type2."); - } - - vec = table.toASN1EncodableVector(); - if (vec.size() != 4) - { - fail("wrong vector size for multiple."); - } - } - - public static void main( - String[] args) - { - runTest(new AttributeTableUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BiometricDataUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BiometricDataUnitTest.java deleted file mode 100644 index 970584956..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BiometricDataUnitTest.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.security.SecureRandom; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.qualified.BiometricData; -import org.spongycastle.asn1.x509.qualified.TypeOfBiometricData; -import org.spongycastle.util.test.SimpleTest; - -public class BiometricDataUnitTest - extends SimpleTest -{ - public String getName() - { - return "BiometricData"; - } - - private byte[] generateHash() - { - SecureRandom rand = new SecureRandom(); - byte[] bytes = new byte[20]; - - rand.nextBytes(bytes); - - return bytes; - } - - public void performTest() - throws Exception - { - TypeOfBiometricData dataType = new TypeOfBiometricData(TypeOfBiometricData.HANDWRITTEN_SIGNATURE); - AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE); - ASN1OctetString dataHash = new DEROctetString(generateHash()); - BiometricData bd = new BiometricData(dataType, hashAlgorithm, dataHash); - - checkConstruction(bd, dataType, hashAlgorithm, dataHash, null); - - DERIA5String dataUri = new DERIA5String("http://test"); - - bd = new BiometricData(dataType, hashAlgorithm, dataHash, dataUri); - - checkConstruction(bd, dataType, hashAlgorithm, dataHash, dataUri); - - bd = BiometricData.getInstance(null); - - if (bd != null) - { - fail("null getInstance() failed."); - } - - try - { - BiometricData.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - BiometricData bd, - TypeOfBiometricData dataType, - AlgorithmIdentifier hashAlgorithm, - ASN1OctetString dataHash, - DERIA5String dataUri) - throws Exception - { - checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri); - - bd = BiometricData.getInstance(bd); - - checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri); - - ASN1InputStream aIn = new ASN1InputStream(bd.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - bd = BiometricData.getInstance(seq); - - checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri); - } - - private void checkValues( - BiometricData bd, - TypeOfBiometricData dataType, - AlgorithmIdentifier algID, - ASN1OctetString dataHash, - DERIA5String sourceDataURI) - { - if (!bd.getTypeOfBiometricData().equals(dataType)) - { - fail("types don't match."); - } - - if (!bd.getHashAlgorithm().equals(algID)) - { - fail("hash algorithms don't match."); - } - - if (!bd.getBiometricDataHash().equals(dataHash)) - { - fail("hash algorithms don't match."); - } - - if (sourceDataURI != null) - { - if (!bd.getSourceDataUri().equals(sourceDataURI)) - { - fail("data uris don't match."); - } - } - else if (bd.getSourceDataUri() != null) - { - fail("data uri found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new BiometricDataUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringConstantTester.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringConstantTester.java deleted file mode 100644 index ad036d9e3..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringConstantTester.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.spongycastle.asn1.test; - -public class BitStringConstantTester -{ - private static final int[] bits = - { - 1 << 7, 1 << 6, 1 << 5, 1 << 4, 1 << 3, 1 << 2, 1 << 1, 1 << 0, - 1 << 15, 1 << 14, 1 << 13, 1 << 12, 1 << 11, 1 << 10, 1 << 9, 1 << 8, - 1 << 23, 1 << 22, 1 << 21, 1 << 20, 1 << 19, 1 << 18, 1 << 17, 1 << 16, - 1 << 31, 1 << 30, 1 << 29, 1 << 28, 1 << 27, 1 << 26, 1 << 25, 1 << 24 - }; - - public static void testFlagValueCorrect( - int bitNo, - int value) - { - if (bits[bitNo] != value) - { - throw new IllegalArgumentException("bit value " + bitNo + " wrong"); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java deleted file mode 100644 index ff7cd387e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class BitStringTest - implements Test -{ - public TestResult perform() - { - KeyUsage k = new KeyUsage(KeyUsage.digitalSignature); - if ((k.getBytes()[0] != (byte)KeyUsage.digitalSignature) || (k.getPadBits() != 7)) - { - return new SimpleTestResult(false, getName() + ": failed digitalSignature"); - } - - k = new KeyUsage(KeyUsage.nonRepudiation); - if ((k.getBytes()[0] != (byte)KeyUsage.nonRepudiation) || (k.getPadBits() != 6)) - { - return new SimpleTestResult(false, getName() + ": failed nonRepudiation"); - } - - k = new KeyUsage(KeyUsage.keyEncipherment); - if ((k.getBytes()[0] != (byte)KeyUsage.keyEncipherment) || (k.getPadBits() != 5)) - { - return new SimpleTestResult(false, getName() + ": failed keyEncipherment"); - } - - k = new KeyUsage(KeyUsage.cRLSign); - if ((k.getBytes()[0] != (byte)KeyUsage.cRLSign) || (k.getPadBits() != 1)) - { - return new SimpleTestResult(false, getName() + ": failed cRLSign"); - } - - k = new KeyUsage(KeyUsage.decipherOnly); - if ((k.getBytes()[1] != (byte)(KeyUsage.decipherOnly >> 8)) || (k.getPadBits() != 7)) - { - return new SimpleTestResult(false, getName() + ": failed decipherOnly"); - } - - // test for zero length bit string - try - { - ASN1Primitive.fromByteArray(new DERBitString(new byte[0], 0).getEncoded()); - } - catch (IOException e) - { - return new SimpleTestResult(false, getName() + ": " + e); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "BitString"; - } - - public static void main( - String[] args) - { - BitStringTest test = new BitStringTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CMSTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CMSTest.java deleted file mode 100644 index 8fb342c81..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CMSTest.java +++ /dev/null @@ -1,358 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetStringParser; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1SetParser; -import org.spongycastle.asn1.ASN1StreamParser; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.cms.CMSObjectIdentifiers; -import org.spongycastle.asn1.cms.CompressedData; -import org.spongycastle.asn1.cms.ContentInfo; -import org.spongycastle.asn1.cms.ContentInfoParser; -import org.spongycastle.asn1.cms.EncryptedContentInfoParser; -import org.spongycastle.asn1.cms.EnvelopedData; -import org.spongycastle.asn1.cms.EnvelopedDataParser; -import org.spongycastle.asn1.cms.KEKRecipientInfo; -import org.spongycastle.asn1.cms.KeyTransRecipientInfo; -import org.spongycastle.asn1.cms.RecipientInfo; -import org.spongycastle.asn1.cms.SignedData; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.io.Streams; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class CMSTest - implements Test -{ - // - // compressed data object - // - byte[] compData = Base64.decode( - "MIAGCyqGSIb3DQEJEAEJoIAwgAIBADANBgsqhkiG9w0BCRADCDCABgkqhkiG9w0BBwGggCSABIIC" - + "Hnic7ZRdb9owFIbvK/k/5PqVYPFXGK12YYyboVFASSp1vQtZGiLRACZE49/XHoUW7S/0tXP8Efux" - + "fU5ivWnasml72XFb3gb5druui7ytN803M570nii7C5r8tfwR281hy/p/KSM3+jzH5s3+pbQ90xSb" - + "P3VT3QbLusnt8WPIuN5vN/vaA2+DulnXTXkXvNTr8j8ouZmkCmGI/UW+ZS/C8zP0bz2dz0zwLt+1" - + "UEk2M8mlaxjRMByAhZTj0RGYg4TvogiRASROsZgjpVcJCb1KV6QzQeDJ1XkoQ5Jm+C5PbOHZZGRi" - + "v+ORAcshOGeCcdFJyfgFxdtCdEcmOrbinc/+BBMzRThEYpwl+jEBpciSGWQkI0TSlREmD/eOHb2D" - + "SGLuESm/iKUFt1y4XHBO2a5oq0IKJKWLS9kUZTA7vC5LSxYmgVL46SIWxIfWBQd6AdrnjLmH94UT" - + "vGxVibLqRCtIpp4g2qpdtqK1LiOeolpVK5wVQ5P7+QjZAlrh0cePYTx/gNZuB9Vhndtgujl9T/tg" - + "W9ogK+3rnmg3YWygnTuF5GDS+Q/jIVLnCcYZFc6Kk/+c80wKwZjwdZIqDYWRH68MuBQSXLgXYXj2" - + "3CAaYOBNJMliTl0X7eV5DnoKIFSKYdj3cRpD/cK/JWTHJRe76MUXnfBW8m7Hd5zhQ4ri2NrVF/WL" - + "+kV1/3AGSlJ32bFPd2BsQD8uSzIx6lObkjdz95c0AAAAAAAAAAAAAAAA"); - - // - // enveloped data - // - byte[] envDataKeyTrns = Base64.decode( - "MIAGCSqGSIb3DQEHA6CAMIACAQAxgcQwgcECAQAwKjAlMRYwFAYDVQQKEw1Cb3Vu" - + "Y3kgQ2FzdGxlMQswCQYDVQQGEwJBVQIBCjANBgkqhkiG9w0BAQEFAASBgC5vdGrB" - + "itQSGwifLf3KwPILjaB4WEXgT/IIO1KDzrsbItCJsMA0Smq2y0zptxT0pSRL6JRg" - + "NMxLk1ySnrIrvGiEPLMR1zjxlT8yQ6VLX+kEoK43ztd1aaLw0oBfrcXcLN7BEpZ1" - + "TIdjlBfXIOx1S88WY1MiYqJJFc3LMwRUaTEDMIAGCSqGSIb3DQEHATAdBglghkgB" - + "ZQMEARYEEAfxLMWeaBOTTZQwUq0Y5FuggAQgwOJhL04rjSZCBCSOv5i5XpFfGsOd" - + "YSHSqwntGpFqCx4AAAAAAAAAAAAA"); - - byte[] envDataKEK = Base64.decode( - "MIAGCSqGSIb3DQEHA6CAMIACAQIxUqJQAgEEMAcEBQECAwQFMBAGCyqGSIb3DQEJE" - + "AMHAgE6BDC7G/HyUPilIrin2Yeajqmj795VoLWETRnZAAFcAiQdoQWyz+oCh6WY/H" - + "jHHi+0y+cwgAYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAiY3eDBBbF6naCABBiNdzJb" - + "/v6+UZB3XXKipxFDUpz9GyjzB+gAAAAAAAAAAAAA"); - - byte[] envDataNestedNDEF = Base64.decode( - "MIAGCSqGSIb3DQEHA6CAMIACAQAxge8wgewCAQAwgZUwgY8xKDAmBgNVBAoMH1RoZSBMZWdpb24g" - + "b2YgdGhlIEJvdW5jeSBDYXN0bGUxLzAtBgkqhkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3Vu" - + "Y3ljYXN0bGUub3JnMREwDwYDVQQIDAhWaWN0b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMQswCQYD" - + "VQQGEwJBVQIBATANBgkqhkiG9w0BAQEFAARABIXMd8xiTyWDKO/LQfvdGYTPW3I9oSQWwtm4OIaN" - + "VINpfY2lfwTvbmE6VXiLKeALC0dMBV8z7DEM9hE0HVmvLDCABgkqhkiG9w0BBwEwHQYJYIZIAWUD" - + "BAECBBB32ko6WrVxDTqwUYEpV6IUoIAEggKgS6RowrhNlmWWI13zxD/lryxkZ5oWXPUfNiUxYX/P" - + "r5iscW3s8VKJKUpJ4W5SNA7JGL4l/5LmSnJ4Qu/xzxcoH4r4vmt75EDE9p2Ob2Xi1NuSFAZubJFc" - + "Zlnp4e05UHKikmoaz0PbiAi277sLQlK2FcVsntTYVT00y8+IwuuQu0ATVqkXC+VhfjV/sK6vQZnw" - + "2rQKedZhLB7B4dUkmxCujb/UAq4lgSpLMXg2P6wMimTczXyQxRiZxPeI4ByCENjkafXbfcJft2eD" - + "gv1DEDdYM5WrW9Z75b4lmJiOJ/xxDniHCvum7KGXzpK1d1mqTlpzPC2xoz08/MO4lRf5Mb0bYdq6" - + "CjMaYqVwGsYryp/2ayX+d8H+JphEG+V9Eg8uPcDoibwhDI4KkoyGHstPw5bxcy7vVFt7LXUdNjJc" - + "K1wxaUKEXDGKt9Vj93FnBTLMX0Pc9HpueV5o1ipX34dn/P3HZB9XK8ScbrE38B1VnIgylStnhVFO" - + "Cj9s7qSVqI2L+xYHJRHsxaMumIRnmRuOqdXDfIo28EZAnFtQ/b9BziMGVvAW5+A8h8s2oazhSmK2" - + "23ftV7uv98ScgE8fCd3PwT1kKJM83ThTYyBzokvMfPYCCvsonMV+kTWXhWcwjYTS4ukrpR452ZdW" - + "l3aJqDnzobt5FK4T8OGciOj+1PxYFZyRmCuafm2Dx6o7Et2Tu/T5HYvhdY9jHyqtDl2PXH4CTnVi" - + "gA1YOAArjPVmsZVwAM3Ml46uyXXhcsXwQ1X0Tv4D+PSa/id4UQ2cObOw8Cj1eW2GB8iJIZVqkZaU" - + "XBexqgWYOIoxjqODSeoZKiBsTK3c+oOUBqBDueY1i55swE2o6dDt95FluX6iyr/q4w2wLt3upY1J" - + "YL+TuvZxAKviuAczMS1bAAAAAAAAAAAAAA=="); - - // - // signed data - // - byte[] signedData = Base64.decode( - "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" - + "a+fEv4J8wQ8Xwvk0C8iMAAAAAAAA"); - - private boolean isSameAs( - byte[] a, - byte[] b) - { - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - private TestResult compressionTest() - { - try - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(compData)); - - ContentInfo info = ContentInfo.getInstance(aIn.readObject()); - CompressedData data = CompressedData.getInstance(info.getContent()); - - data = new CompressedData(data.getCompressionAlgorithmIdentifier(), data.getEncapContentInfo()); - info = new ContentInfo(CMSObjectIdentifiers.compressedData, data); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(info); - - if (!isSameAs(bOut.toByteArray(), compData)) - { - return new SimpleTestResult(false, getName() + ": CMS compression failed to re-encode"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": CMS compression failed - " + e.toString(), e); - } - } - - private TestResult envelopedTest() - { - try - { - // - // Key trans - // - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(envDataKeyTrns)); - - ContentInfo info = ContentInfo.getInstance(aIn.readObject()); - EnvelopedData envData = EnvelopedData.getInstance(info.getContent()); - ASN1Set s = envData.getRecipientInfos(); - - if (s.size() != 1) - { - return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped, wrong number of recipients"); - } - - RecipientInfo recip = RecipientInfo.getInstance(s.getObjectAt(0)); - - if (recip.getInfo() instanceof KeyTransRecipientInfo) - { - KeyTransRecipientInfo inf = KeyTransRecipientInfo.getInstance(recip.getInfo()); - - inf = new KeyTransRecipientInfo(inf.getRecipientIdentifier(), inf.getKeyEncryptionAlgorithm(), inf.getEncryptedKey()); - - s = new DERSet(new RecipientInfo(inf)); - } - else - { - return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped, wrong recipient type"); - } - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - envData = new EnvelopedData(envData.getOriginatorInfo(), s, envData.getEncryptedContentInfo(), envData.getUnprotectedAttrs()); - info = new ContentInfo(CMSObjectIdentifiers.envelopedData, envData); - - aOut.writeObject(info); - - if (!isSameAs(bOut.toByteArray(), envDataKeyTrns)) - { - return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped failed to re-encode"); - } - - // - // KEK - // - aIn = new ASN1InputStream(new ByteArrayInputStream(envDataKEK)); - - info = ContentInfo.getInstance(aIn.readObject()); - envData = EnvelopedData.getInstance(info.getContent()); - s = envData.getRecipientInfos(); - - if (s.size() != 1) - { - return new SimpleTestResult(false, getName() + ": CMS KEK enveloped, wrong number of recipients"); - } - - recip = RecipientInfo.getInstance(s.getObjectAt(0)); - - if (recip.getInfo() instanceof KEKRecipientInfo) - { - KEKRecipientInfo inf = KEKRecipientInfo.getInstance(recip.getInfo()); - - inf = new KEKRecipientInfo(inf.getKekid(), inf.getKeyEncryptionAlgorithm(), inf.getEncryptedKey()); - - s = new DERSet(new RecipientInfo(inf)); - } - else - { - return new SimpleTestResult(false, getName() + ": CMS KEK enveloped, wrong recipient type"); - } - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - envData = new EnvelopedData(envData.getOriginatorInfo(), s, envData.getEncryptedContentInfo(), envData.getUnprotectedAttrs()); - info = new ContentInfo(CMSObjectIdentifiers.envelopedData, envData); - - aOut.writeObject(info); - - if (!isSameAs(bOut.toByteArray(), envDataKEK)) - { System.out.println(new String(Base64.encode(bOut.toByteArray()))); - return new SimpleTestResult(false, getName() + ": CMS KEK enveloped failed to re-encode"); - } - - // Nested NDEF problem - ASN1StreamParser asn1In = new ASN1StreamParser(new ByteArrayInputStream(envDataNestedNDEF)); - ContentInfoParser ci = new ContentInfoParser((ASN1SequenceParser)asn1In.readObject()); - EnvelopedDataParser ed = new EnvelopedDataParser((ASN1SequenceParser)ci - .getContent(BERTags.SEQUENCE)); - ed.getVersion(); - ed.getOriginatorInfo(); - ed.getRecipientInfos().toASN1Primitive(); - EncryptedContentInfoParser eci = ed.getEncryptedContentInfo(); - eci.getContentType(); - eci.getContentEncryptionAlgorithm(); - - InputStream dataIn = ((ASN1OctetStringParser)eci.getEncryptedContent(BERTags.OCTET_STRING)) - .getOctetStream(); - Streams.drain(dataIn); - dataIn.close(); - - // Test data doesn't have unprotected attrs, bug was being thrown by this call - ASN1SetParser upa = ed.getUnprotectedAttrs(); - if (upa != null) - { - upa.toASN1Primitive(); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": CMS enveloped failed - " + e.toString(), e); - } - } - - private TestResult signedTest() - { - try - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(signedData)); - - ContentInfo info = ContentInfo.getInstance(aIn.readObject()); - SignedData sData = SignedData.getInstance(info.getContent()); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - sData = new SignedData(sData.getDigestAlgorithms(), sData.getEncapContentInfo(), sData.getCertificates(), sData.getCRLs(), sData.getSignerInfos()); - info = new ContentInfo(CMSObjectIdentifiers.signedData, sData); - - aOut.writeObject(info); - - if (!isSameAs(bOut.toByteArray(), signedData)) - { - return new SimpleTestResult(false, getName() + ": CMS signed failed to re-encode"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": CMS signed failed - " + e.toString(), e); - } - } - - public TestResult perform() - { - TestResult res = compressionTest(); - - if (!res.isSuccessful()) - { - return res; - } - - res = envelopedTest(); - if (!res.isSuccessful()) - { - return res; - } - - return signedTest(); - } - - public String getName() - { - return "CMS"; - } - - public static void main( - String[] args) - { - CMSTest test = new CMSTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertHashUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertHashUnitTest.java deleted file mode 100644 index e94e45074..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertHashUnitTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.isismtt.ocsp.CertHash; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -import java.io.IOException; - -public class CertHashUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "CertHash"; - } - - public void performTest() - throws Exception - { - AlgorithmIdentifier algId = new AlgorithmIdentifier(new DERObjectIdentifier("1.2.2.3")); - byte[] digest = new byte[20]; - - CertHash certID = new CertHash(algId, digest); - - checkConstruction(certID, algId, digest); - - certID = CertHash.getInstance(null); - - if (certID != null) - { - fail("null getInstance() failed."); - } - - try - { - CertHash.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - CertHash certHash, - AlgorithmIdentifier algId, - byte[] digest) - throws IOException - { - checkValues(certHash, algId, digest); - - certHash = CertHash.getInstance(certHash); - - checkValues(certHash, algId, digest); - - ASN1InputStream aIn = new ASN1InputStream(certHash.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - certHash = CertHash.getInstance(seq); - - checkValues(certHash, algId, digest); - } - - private void checkValues( - CertHash certHash, - AlgorithmIdentifier algId, - byte[] digest) - { - checkMandatoryField("algorithmHash", algId, certHash.getHashAlgorithm()); - - checkMandatoryField("certificateHash", digest, certHash.getCertificateHash()); - } - - public static void main( - String[] args) - { - runTest(new CertHashUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertificateTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertificateTest.java deleted file mode 100644 index bfdba4380..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CertificateTest.java +++ /dev/null @@ -1,574 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.util.Enumeration; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.AttCertIssuer; -import org.spongycastle.asn1.x509.AttCertValidityPeriod; -import org.spongycastle.asn1.x509.Attribute; -import org.spongycastle.asn1.x509.AttributeCertificate; -import org.spongycastle.asn1.x509.AttributeCertificateInfo; -import org.spongycastle.asn1.x509.AuthorityKeyIdentifier; -import org.spongycastle.asn1.x509.BasicConstraints; -import org.spongycastle.asn1.x509.CRLDistPoint; -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.asn1.x509.DistributionPoint; -import org.spongycastle.asn1.x509.ExtendedKeyUsage; -import org.spongycastle.asn1.x509.Extension; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.Holder; -import org.spongycastle.asn1.x509.KeyPurposeId; -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.PolicyInformation; -import org.spongycastle.asn1.x509.SubjectKeyIdentifier; -import org.spongycastle.asn1.x509.TBSCertificate; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -public class CertificateTest - extends SimpleTest -{ - // - // server.crt - // - byte[] cert1 = Base64.decode( - "MIIDXjCCAsegAwIBAgIBBzANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx" - + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY" - + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB" - + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ" - + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU2MjFaFw0wMTA2" - + "MDIwNzU2MjFaMIG4MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW" - + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM" - + "dGQxFzAVBgNVBAsTDldlYnNlcnZlciBUZWFtMR0wGwYDVQQDExR3d3cyLmNvbm5l" - + "Y3Q0LmNvbS5hdTEoMCYGCSqGSIb3DQEJARYZd2VibWFzdGVyQGNvbm5lY3Q0LmNv" - + "bS5hdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArvDxclKAhyv7Q/Wmr2re" - + "Gw4XL9Cnh9e+6VgWy2AWNy/MVeXdlxzd7QAuc1eOWQkGQEiLPy5XQtTY+sBUJ3AO" - + "Rvd2fEVJIcjf29ey7bYua9J/vz5MG2KYo9/WCHIwqD9mmG9g0xLcfwq/s8ZJBswE" - + "7sb85VU+h94PTvsWOsWuKaECAwEAAaN3MHUwJAYDVR0RBB0wG4EZd2VibWFzdGVy" - + "QGNvbm5lY3Q0LmNvbS5hdTA6BglghkgBhvhCAQ0ELRYrbW9kX3NzbCBnZW5lcmF0" - + "ZWQgY3VzdG9tIHNlcnZlciBjZXJ0aWZpY2F0ZTARBglghkgBhvhCAQEEBAMCBkAw" - + "DQYJKoZIhvcNAQEEBQADgYEAotccfKpwSsIxM1Hae8DR7M/Rw8dg/RqOWx45HNVL" - + "iBS4/3N/TO195yeQKbfmzbAA2jbPVvIvGgTxPgO1MP4ZgvgRhasaa0qCJCkWvpM4" - + "yQf33vOiYQbpv4rTwzU8AmRlBG45WdjyNIigGV+oRc61aKCTnLq7zB8N3z1TF/bF" - + "5/8="); - - // - // ca.crt - // - byte[] cert2 = Base64.decode( - "MIIDbDCCAtWgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx" - + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY" - + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB" - + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ" - + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU1MzNaFw0wMTA2" - + "MDIwNzU1MzNaMIG3MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW" - + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM" - + "dGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhvcml0eTEVMBMGA1UEAxMMQ29u" - + "bmVjdCA0IENBMSgwJgYJKoZIhvcNAQkBFhl3ZWJtYXN0ZXJAY29ubmVjdDQuY29t" - + "LmF1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgs5ptNG6Qv1ZpCDuUNGmv" - + "rhjqMDPd3ri8JzZNRiiFlBA4e6/ReaO1U8ASewDeQMH6i9R6degFdQRLngbuJP0s" - + "xcEE+SksEWNvygfzLwV9J/q+TQDyJYK52utb++lS0b48A1KPLwEsyL6kOAgelbur" - + "ukwxowprKUIV7Knf1ajetQIDAQABo4GFMIGCMCQGA1UdEQQdMBuBGXdlYm1hc3Rl" - + "ckBjb25uZWN0NC5jb20uYXUwDwYDVR0TBAgwBgEB/wIBADA2BglghkgBhvhCAQ0E" - + "KRYnbW9kX3NzbCBnZW5lcmF0ZWQgY3VzdG9tIENBIGNlcnRpZmljYXRlMBEGCWCG" - + "SAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQQFAAOBgQCsGvfdghH8pPhlwm1r3pQk" - + "msnLAVIBb01EhbXm2861iXZfWqGQjrGAaA0ZpXNk9oo110yxoqEoSJSzniZa7Xtz" - + "soTwNUpE0SLHvWf/SlKdFWlzXA+vOZbzEv4UmjeelekTm7lc01EEa5QRVzOxHFtQ" - + "DhkaJ8VqOMajkQFma2r9iA=="); - - // - // testx509.pem - // - byte[] cert3 = Base64.decode( - "MIIBWzCCAQYCARgwDQYJKoZIhvcNAQEEBQAwODELMAkGA1UEBhMCQVUxDDAKBgNV" - + "BAgTA1FMRDEbMBkGA1UEAxMSU1NMZWF5L3JzYSB0ZXN0IENBMB4XDTk1MDYxOTIz" - + "MzMxMloXDTk1MDcxNzIzMzMxMlowOjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA1FM" - + "RDEdMBsGA1UEAxMUU1NMZWF5L3JzYSB0ZXN0IGNlcnQwXDANBgkqhkiG9w0BAQEF" - + "AANLADBIAkEAqtt6qS5GTxVxGZYWa0/4u+IwHf7p2LNZbcPBp9/OfIcYAXBQn8hO" - + "/Re1uwLKXdCjIoaGs4DLdG88rkzfyK5dPQIDAQABMAwGCCqGSIb3DQIFBQADQQAE" - + "Wc7EcF8po2/ZO6kNCwK/ICH6DobgLekA5lSLr5EvuioZniZp5lFzAw4+YzPQ7XKJ" - + "zl9HYIMxATFyqSiD9jsx"); - - // - // v3-cert1.pem - // - byte[] cert4 = Base64.decode( - "MIICjTCCAfigAwIBAgIEMaYgRzALBgkqhkiG9w0BAQQwRTELMAkGA1UEBhMCVVMx" - + "NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFuZCBTcGFjZSBBZG1pbmlz" - + "dHJhdGlvbjAmFxE5NjA1MjgxMzQ5MDUrMDgwMBcROTgwNTI4MTM0OTA1KzA4MDAw" - + "ZzELMAkGA1UEBhMCVVMxNjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFu" - + "ZCBTcGFjZSBBZG1pbmlzdHJhdGlvbjEgMAkGA1UEBRMCMTYwEwYDVQQDEwxTdGV2" - + "ZSBTY2hvY2gwWDALBgkqhkiG9w0BAQEDSQAwRgJBALrAwyYdgxmzNP/ts0Uyf6Bp" - + "miJYktU/w4NG67ULaN4B5CnEz7k57s9o3YY3LecETgQ5iQHmkwlYDTL2fTgVfw0C" - + "AQOjgaswgagwZAYDVR0ZAQH/BFowWDBWMFQxCzAJBgNVBAYTAlVTMTYwNAYDVQQK" - + "Ey1OYXRpb25hbCBBZXJvbmF1dGljcyBhbmQgU3BhY2UgQWRtaW5pc3RyYXRpb24x" - + "DTALBgNVBAMTBENSTDEwFwYDVR0BAQH/BA0wC4AJODMyOTcwODEwMBgGA1UdAgQR" - + "MA8ECTgzMjk3MDgyM4ACBSAwDQYDVR0KBAYwBAMCBkAwCwYJKoZIhvcNAQEEA4GB" - + "AH2y1VCEw/A4zaXzSYZJTTUi3uawbbFiS2yxHvgf28+8Js0OHXk1H1w2d6qOHH21" - + "X82tZXd/0JtG0g1T9usFFBDvYK8O0ebgz/P5ELJnBL2+atObEuJy1ZZ0pBDWINR3" - + "WkDNLCGiTkCKp0F5EWIrVDwh54NNevkCQRZita+z4IBO"); - - // - // v3-cert2.pem - // - byte[] cert5 = Base64.decode( - "MIICiTCCAfKgAwIBAgIEMeZfHzANBgkqhkiG9w0BAQQFADB9MQswCQYDVQQGEwJD" - + "YTEPMA0GA1UEBxMGTmVwZWFuMR4wHAYDVQQLExVObyBMaWFiaWxpdHkgQWNjZXB0" - + "ZWQxHzAdBgNVBAoTFkZvciBEZW1vIFB1cnBvc2VzIE9ubHkxHDAaBgNVBAMTE0Vu" - + "dHJ1c3QgRGVtbyBXZWIgQ0EwHhcNOTYwNzEyMTQyMDE1WhcNOTYxMDEyMTQyMDE1" - + "WjB0MSQwIgYJKoZIhvcNAQkBExVjb29rZUBpc3NsLmF0bC5ocC5jb20xCzAJBgNV" - + "BAYTAlVTMScwJQYDVQQLEx5IZXdsZXR0IFBhY2thcmQgQ29tcGFueSAoSVNTTCkx" - + "FjAUBgNVBAMTDVBhdWwgQS4gQ29va2UwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA" - + "6ceSq9a9AU6g+zBwaL/yVmW1/9EE8s5you1mgjHnj0wAILuoB3L6rm6jmFRy7QZT" - + "G43IhVZdDua4e+5/n1ZslwIDAQABo2MwYTARBglghkgBhvhCAQEEBAMCB4AwTAYJ" - + "YIZIAYb4QgENBD8WPVRoaXMgY2VydGlmaWNhdGUgaXMgb25seSBpbnRlbmRlZCBm" - + "b3IgZGVtb25zdHJhdGlvbiBwdXJwb3Nlcy4wDQYJKoZIhvcNAQEEBQADgYEAi8qc" - + "F3zfFqy1sV8NhjwLVwOKuSfhR/Z8mbIEUeSTlnH3QbYt3HWZQ+vXI8mvtZoBc2Fz" - + "lexKeIkAZXCesqGbs6z6nCt16P6tmdfbZF3I3AWzLquPcOXjPf4HgstkyvVBn0Ap" - + "jAFN418KF/Cx4qyHB4cjdvLrRjjQLnb2+ibo7QU="); - - byte[] cert6 = Base64.decode( - "MIIEDjCCAvagAwIBAgIEFAAq2jANBgkqhkiG9w0BAQUFADBLMSowKAYDVQQDEyFT" - + "dW4gTWljcm9zeXN0ZW1zIEluYyBDQSAoQ2xhc3MgQikxHTAbBgNVBAoTFFN1biBN" - + "aWNyb3N5c3RlbXMgSW5jMB4XDTA0MDIyOTAwNDMzNFoXDTA5MDMwMTAwNDMzNFow" - + "NzEdMBsGA1UEChMUU3VuIE1pY3Jvc3lzdGVtcyBJbmMxFjAUBgNVBAMTDXN0b3Jl" - + "LnN1bi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAP9ErzFT7MPg2bVV" - + "LNmHTgN4kmiRNlPpuLGWS7EDIXYBbLeSSOCp/e1ANcOGnsuf0WIq9ejd/CPyEfh4" - + "sWoVvQzpOfHZ/Jyei29PEuxzWT+4kQmCx3+sLK25lAnDFsz1KiFmB6Y3GJ/JSjpp" - + "L0Yy1R9YlIc82I8gSw44y5JDABW5AgMBAAGjggGQMIIBjDAOBgNVHQ8BAf8EBAMC" - + "BaAwHQYDVR0OBBYEFG1WB3PApZM7OPPVWJ31UrERaoKWMEcGA1UdIARAMD4wPAYL" - + "YIZIAYb3AIN9k18wLTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5zdW4uY29tL3Br" - + "aS9jcHMuaHRtbDCBhQYDVR0fBH4wfDB6oCegJYYjaHR0cDovL3d3dy5zdW4uY29t" - + "L3BraS9wa2lzbWljYS5jcmyiT6RNMEsxKjAoBgNVBAMTIVN1biBNaWNyb3N5c3Rl" - + "bXMgSW5jIENBIChDbGFzcyBCKTEdMBsGA1UEChMUU3VuIE1pY3Jvc3lzdGVtcyBJ" - + "bmMwHwYDVR0jBBgwFoAUT7ZnqR/EEBSgG6h1wdYMI5RiiWswVAYIKwYBBQUHAQEE" - + "SDBGMB0GCCsGAQUFBzABhhFodHRwOi8vdmEuc3VuLmNvbTAlBggrBgEFBQcwAYYZ" - + "aHR0cDovL3ZhLmNlbnRyYWwuc3VuLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDATAN" - + "BgkqhkiG9w0BAQUFAAOCAQEAq3byQgyU24tBpR07iQK7agm1zQyzDQ6itdbji0ln" - + "T7fOd5Pnp99iig8ovwWliNtXKAmgtJY60jWz7nEuk38AioZJhS+RPWIWX/+2PRV7" - + "s2aWTzM3n43BypD+jU2qF9c9kDWP/NW9K9IcrS7SfU/2MZVmiCMD/9FEL+CWndwE" - + "JJQ/oenXm44BFISI/NjV7fMckN8EayPvgtzQkD5KnEiggOD6HOrwTDFR+tmAEJ0K" - + "ZttQNwOzCOcEdxXTg6qBHUbONdL7bjTT5NzV+JR/bnfiCqHzdnGwfbHzhmrnXw8j" - + "QCVXcfBfL9++nmpNNRlnJMRdYGeCY6OAfh/PRo8/fXak1Q=="); - - byte[] cert7 = Base64.decode( - "MIIFJDCCBAygAwIBAgIKEcJZuwAAAAAABzANBgkqhkiG9w0BAQUFADAPMQ0wCwYD" - + "VQQDEwRNU0NBMB4XDTA0MDUyMjE2MTM1OFoXDTA1MDUyMjE2MjM1OFowaTEbMBkG" - + "CSqGSIb3DQEJCBMMMTkyLjE2OC4xLjMzMScwJQYJKoZIhvcNAQkCExhwaXhmaXJl" - + "d2FsbC5jaXNjb3BpeC5jb20xITAfBgNVBAMTGHBpeGZpcmV3YWxsLmNpc2NvcGl4" - + "LmNvbTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgCYQCbcsY7vrjweXZiFQdhUafEjJV+" - + "HRy5UKmuCy0237ffmYrN+XNLw0h90cdCSK6KPZebd2E2Bc2UmTikc/FY8meBT3/E" - + "O/Osmywzi++Ur8/IrDvtuR1zd0c/xEPnV1ZRezkCAwEAAaOCAs4wggLKMAsGA1Ud" - + "DwQEAwIFoDAdBgNVHQ4EFgQUzJBSxkQiN9TKvhTMQ1/Aq4gZnHswHwYDVR0jBBgw" - + "FoAUMsxzXVh+5UKMNpwNHmqSfcRYfJ4wgfcGA1UdHwSB7zCB7DCB6aCB5qCB44aB" - + "r2xkYXA6Ly8vQ049TVNDQSxDTj1NQVVELENOPUNEUCxDTj1QdWJsaWMlMjBLZXkl" - + "MjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWludCxE" - + "Qz1wcmltZWtleSxEQz1zZT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/" - + "b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSGL2h0dHA6Ly9tYXVkLmlu" - + "dC5wcmltZWtleS5zZS9DZXJ0RW5yb2xsL01TQ0EuY3JsMIIBEAYIKwYBBQUHAQEE" - + "ggECMIH/MIGqBggrBgEFBQcwAoaBnWxkYXA6Ly8vQ049TVNDQSxDTj1BSUEsQ049" - + "UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh" - + "dGlvbixEQz1pbnQsREM9cHJpbWVrZXksREM9c2U/Y0FDZXJ0aWZpY2F0ZT9iYXNl" - + "P29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwUAYIKwYBBQUHMAKG" - + "RGh0dHA6Ly9tYXVkLmludC5wcmltZWtleS5zZS9DZXJ0RW5yb2xsL01BVUQuaW50" - + "LnByaW1la2V5LnNlX01TQ0EuY3J0MCwGA1UdEQEB/wQiMCCCGHBpeGZpcmV3YWxs" - + "LmNpc2NvcGl4LmNvbYcEwKgBITA/BgkrBgEEAYI3FAIEMh4wAEkAUABTAEUAQwBJ" - + "AG4AdABlAHIAbQBlAGQAaQBhAHQAZQBPAGYAZgBsAGkAbgBlMA0GCSqGSIb3DQEB" - + "BQUAA4IBAQCa0asiPbObLJjpSz6ndJ7y4KOWMiuuBc/VQBnLr7RBCF3ZlZ6z1+e6" - + "dmv8se/z11NgateKfxw69IhLCriA960HEgX9Z61MiVG+DrCFpbQyp8+hPFHoqCZN" - + "b7upc8k2OtJW6KPaP9k0DW52YQDIky4Vb2rZeC4AMCorWN+KlndHhr1HFA14HxwA" - + "4Mka0FM6HNWnBV2UmTjBZMDr/OrGH1jLYIceAaZK0X2R+/DWXeeqIga8jwP5empq" - + "JetYnkXdtTbEh3xL0BX+mZl8vDI+/PGcwox/7YjFmyFWphRMxk9CZ3rF2/FQWMJP" - + "YqQpKiQOmQg5NAhcwffLAuVjVVibPYqi"); - - byte[] cert8 = Base64.decode( - "MIIB0zCCATwCAQEwbqBsMGekZTBjMQswCQYDVQQGEwJERTELMAkGA1UECBMCQlkx" - + "EzARBgNVBAcTClJlZ2Vuc2J1cmcxEDAOBgNVBAoTB0FDIFRlc3QxCzAJBgNVBAsT" - + "AkNBMRMwEQYDVQQDEwpBQyBUZXN0IENBAgEBoHYwdKRyMHAxCzAJBgNVBAYTAkRF" - + "MQswCQYDVQQIEwJCWTETMBEGA1UEBxMKUmVnZW5zYnVyZzESMBAGA1UEChMJQUMg" - + "SXNzdWVyMRowGAYDVQQLExFBQyBJc3N1ZXIgc2VjdGlvbjEPMA0GA1UEAxMGQUMg" - + "TWFuMA0GCSqGSIb3DQEBBQUAAgEBMCIYDzIwMDQxMTI2MTI1MjUxWhgPMjAwNDEy" - + "MzEyMzAwMDBaMBkwFwYDVRhIMRAwDoEMREFVMTIzNDU2Nzg5MA0GCSqGSIb3DQEB" - + "BQUAA4GBABd4Odx3yEMGL/BvItuT1RafNR2uuWuZbajg0pD6bshUsl+WCIfRiEkq" - + "lHMkpI7WqAZikdnAEQ5jQsVWEuVejWxR6gjejKxc0fb9qpIui7/GoI5Eh6dmG20e" - + "xbwJL3+6YYFrZwxR8cC5rPvWrblUR5XKJy+Zp/H5+t9iANnL1L8J"); - - // V1 attribute certificate - private static final byte[] attrCertv1 = Base64.decode( - "MIIFdDCCBFygXTBbMFOkUTBPMQswCQYDVQQGEwJERTEcMBoGA1UECgwTRGV1" - + "dHNjaGUgVGVsZWtvbSBBRzEiMCAGA1UEAwwZVGVsZVNlYyBQS1MgU2lnRyBD" - + "QSAxNzpQTgIEG1toDjBTpFEwTzELMAkGA1UEBhMCREUxHDAaBgNVBAoME0Rl" - + "dXRzY2hlIFRlbGVrb20gQUcxIjAgBgNVBAMMGVRlbGVTZWMgUEtTIFNpZ0cg" - + "Q0EgMjU6UE4wDQYJKoZIhvcNAQELBQACBCep3f0wIhgPMjAxMDA0MTIxMTI5" - + "MTJaGA8yMDEyMDQxMjEwNTkyOFowggGmMIIBogYFKyQIAwgxggGXDIIBk1Ro" - + "ZSBxdWFsaWZpZWQgc2lnbmF0dXJlIGF0IGhhbmQgaXMgcmVzdHJpY3RlZCB0" - + "byBwcmVzZW50aW5nIGludm9pY2VzIG9yIGNyZWRpdHMgdG8gY3VzdG9tZXJz" - + "IGFjY29yZGluZyB0byBFVSBDb3VuY2lsIGRpcmVjdGl2ZSAyMDAxLzExNS9F" - + "QyAoMjB0aCBEZWNlbWJlciAyMDAxKSBhbmQgR2VybWFuIFZBVCB0YXggKMKn" - + "MTQgVVN0RykuICBEaWUgdm9ybGllZ2VuZGUgcXVhbGlmaXppZXJ0ZSBTaWdu" - + "YXR1ciBpc3QgYXVmIGRpZSAgUHJhZXNlbnRhdGlvbiB2b24gUmVjaG51bmdl" - + "biBvZGVyIEd1dHNjaHJpZnRlbiBnZW1hZXNzIEVVIERpcmVrdGl2ZSAyMDAx" - + "LzExNS9FQyAoMjAuIERlemVtYmVyIDIwMDEpIHVuZCBkZXV0c2NoZW0gVW1z" - + "YXR6c3RldWVyZ2VzZXR6ICAowqcxNCBVU3RHKSBiZXNjaHJhZW5rdC4wggHB" - + "MB8GA1UdIwQYMBaAFM6i1yR/z8IikpxpU/Fdh8BPxhq8MEMGA1UdIAQ8MDow" - + "OAYFKyQIAQEwLzAtBggrBgEFBQcCARYhaHR0cDovL3Brcy50ZWxlc2VjLmRl" - + "L2Nwcy9jcHMucGRmMIIBBAYDVR0fBIH8MIH5MIH2oG2ga4Y1bGRhcDovL3Br" - + "cy1sZGFwLnRlbGVzZWMuZGUvbz1EZXV0c2NoZSBUZWxla29tIEFHLGM9ZGWG" - + "Mmh0dHA6Ly9wa3MudGVsZXNlYy5kZS90ZWxlc2VjL3NlcnZsZXQvZG93bmxv" - + "YWRfY3JsooGEpIGBMH8xCzAJBgNVBAYTAkRFMRwwGgYDVQQKFBNEZXV0c2No" - + "ZSBUZWxla29tIEFHMR8wHQYDVQQLFBZQcm9kdWt0emVudHJ1bSBUZWxlU2Vj" - + "MTEwDAYHAoIGAQoHFBMBMTAhBgNVBAMUGlRlbGVTZWMgUEtTIFNpZ0cgRElS" - + "IDM1OlBOMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL3Br" - + "cy50ZWxlc2VjLmRlL29jc3ByMBgGCCsGAQUFBwEDBAwwCjAIBgYEAI5GAQEw" - + "DQYJKoZIhvcNAQELBQADggEBAEz2OvU9YytJUKHMDQcND5njIyUXTkSrlWjV" - + "F28uwxVlveO4JPTAY7PvXy69HUuTPwlvqCfJIUF2RLPZFQx0wFto8ajC9v5X" - + "SqwQcINXRakpE6FPAdQFnH44TaIQWXW1hy9xr8GuD0uhQLTJGYqVzHfLoM8e" - + "llPNHUVhC7CEOxDb1PTHCUlQFNkFRmeeqzEVoj1F0pM6wI5zf8+w2WwrFPCD" - + "jrjEr/VoBRoEi/tKnsLq6oOkizUKT0KJEnSyYxoOa7euT1yX+Co94SPnMZi5" - + "qukHSj8Kiio6Jecl//qDPG/mHo1ro+8rH+rbze7EEfKMp5yeWCwXGthL9oYo" - + "RYl+UuI="); - - String[] subjects = - { - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au", - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au", - "C=AU,ST=QLD,CN=SSLeay/rsa test cert", - "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch", - "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke", - "O=Sun Microsystems Inc,CN=store.sun.com", - "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com" - }; - - public String getName() - { - return "Certificate"; - } - - public void checkCertificate( - int id, - byte[] cert) - throws Exception - { - ByteArrayInputStream bIn = new ByteArrayInputStream(cert); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); -// String dump = ASN1Dump.dumpAsString(seq); - - Certificate obj = Certificate.getInstance(seq); - TBSCertificate tbsCert = obj.getTBSCertificate(); - - if (!tbsCert.getSubject().toString().equals(subjects[id - 1])) - { - fail("failed subject test for certificate id " + id + " got " + tbsCert.getSubject().toString()); - } - - if (tbsCert.getVersionNumber() == 3) - { - Extensions ext = tbsCert.getExtensions(); - if (ext != null) - { - Enumeration en = ext.oids(); - while (en.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)en.nextElement(); - Extension extVal = ext.getExtension(oid); - - ASN1OctetString oct = extVal.getExtnValue(); - ASN1InputStream extIn = new ASN1InputStream(new ByteArrayInputStream(oct.getOctets())); - - if (oid.equals(Extension.subjectKeyIdentifier)) - { - SubjectKeyIdentifier si = SubjectKeyIdentifier.getInstance(extIn.readObject()); - - if (!si.equals(SubjectKeyIdentifier.fromExtensions(ext))) - { - fail("SubjectKeyIdentifier not matched"); - } - } - else if (oid.equals(Extension.keyUsage)) - { - KeyUsage ku = KeyUsage.getInstance(extIn.readObject()); - - if (!ku.equals(KeyUsage.fromExtensions(ext))) - { - fail("KeyUsage not matched"); - } - } - else if (oid.equals(Extension.extendedKeyUsage)) - { - ExtendedKeyUsage ku = ExtendedKeyUsage.getInstance(extIn.readObject()); - - ASN1Sequence sq = (ASN1Sequence)ku.toASN1Primitive(); - for (int i = 0; i != sq.size(); i++) - { - ASN1ObjectIdentifier p = ASN1ObjectIdentifier.getInstance(KeyPurposeId.getInstance(sq.getObjectAt(i))); - } - - if (!ku.equals(ExtendedKeyUsage.fromExtensions(ext))) - { - fail("ExtendedKeyUsage not matched"); - } - } - else if (oid.equals(Extension.subjectAlternativeName)) - { - GeneralNames gn = GeneralNames.getInstance(extIn.readObject()); - - ASN1Sequence sq = (ASN1Sequence)gn.toASN1Primitive(); - for (int i = 0; i != sq.size(); i++) - { - GeneralName n = GeneralName.getInstance(sq.getObjectAt(i)); - } - } - else if (oid.equals(Extension.issuerAlternativeName)) - { - GeneralNames gn = GeneralNames.getInstance(extIn.readObject()); - - ASN1Sequence sq = (ASN1Sequence)gn.toASN1Primitive(); - for (int i = 0; i != sq.size(); i++) - { - GeneralName n = GeneralName.getInstance(sq.getObjectAt(i)); - } - } - else if (oid.equals(Extension.cRLDistributionPoints)) - { - CRLDistPoint p = CRLDistPoint.getInstance(extIn.readObject()); - - DistributionPoint[] points = p.getDistributionPoints(); - for (int i = 0; i != points.length; i++) - { - // do nothing - } - } - else if (oid.equals(Extension.certificatePolicies)) - { - ASN1Sequence cp = (ASN1Sequence)extIn.readObject(); - - for (int i = 0; i != cp.size(); i++) - { - PolicyInformation.getInstance(cp.getObjectAt(i)); - } - } - else if (oid.equals(Extension.authorityKeyIdentifier)) - { - AuthorityKeyIdentifier auth = AuthorityKeyIdentifier.getInstance(extIn.readObject()); - - if (!auth.equals(AuthorityKeyIdentifier.fromExtensions(ext))) - { - fail("AuthorityKeyIdentifier not matched"); - } - } - else if (oid.equals(Extension.basicConstraints)) - { - BasicConstraints bc = BasicConstraints.getInstance(extIn.readObject()); - - if (!bc.equals(BasicConstraints.fromExtensions(ext))) - { - fail("BasicConstraints not matched"); - } - } - else - { - //System.out.println(oid.getId()); - } - } - } - } - } - - - public void checkAttributeCertificate( - int id, - byte[] cert) - throws Exception - { - ByteArrayInputStream bIn; - ASN1InputStream aIn; - - bIn = new ByteArrayInputStream(cert); - aIn = new ASN1InputStream(bIn); - - ASN1Sequence seq = (ASN1Sequence) aIn.readObject(); -// String dump = ASN1Dump.dumpAsString(seq); - - AttributeCertificate obj = AttributeCertificate.getInstance(seq); - AttributeCertificateInfo acInfo = obj.getAcinfo(); - - // Version - if (!(acInfo.getVersion().equals(new ASN1Integer(1))) - && (!(acInfo.getVersion().equals(new ASN1Integer(2))))) - { - fail( - "failed AC Version test for id " + id); - } - - // Holder - Holder h = acInfo.getHolder(); - if (h == null) - { - fail( - "failed AC Holder test, it's null, for id " + id); - } - - // Issuer - AttCertIssuer aci = acInfo.getIssuer(); - if (aci == null) - { - fail( - "failed AC Issuer test, it's null, for id " + id); - } - - // Signature - AlgorithmIdentifier sig = acInfo.getSignature(); - if (sig == null) - { - fail( - "failed AC Signature test for id " + id); - } - - // Serial - ASN1Integer serial = acInfo.getSerialNumber(); - - // Validity - AttCertValidityPeriod validity = acInfo.getAttrCertValidityPeriod(); - if (validity == null) - { - fail("failed AC AttCertValidityPeriod test for id " + id); - } - - // Attributes - ASN1Sequence attribSeq = acInfo.getAttributes(); - Attribute att[] = new Attribute[attribSeq.size()]; - for (int i = 0; i < attribSeq.size(); i++) - { - att[i] = Attribute.getInstance(attribSeq.getObjectAt(i)); - } - - // IssuerUniqueId - // TODO, how to best test? - - // X509 Extensions - Extensions ext = acInfo.getExtensions(); - if (ext != null) - { - Enumeration en = ext.oids(); - while (en.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) en - .nextElement(); - Extension extVal = ext.getExtension(oid); - } - } - } - - public void checkV1AttributeCertificate( - int id, - byte[] cert) - throws Exception - { - ByteArrayInputStream bIn; - ASN1InputStream aIn; - - bIn = new ByteArrayInputStream(cert); - aIn = new ASN1InputStream(bIn); - - ASN1Sequence seq = (ASN1Sequence) aIn.readObject(); - //String dump = ASN1Dump.dumpAsString(seq); - - AttributeCertificate obj = AttributeCertificate.getInstance(seq); - AttributeCertificateInfo acInfo = obj.getAcinfo(); - - // Version - if (!(acInfo.getVersion().equals(new ASN1Integer(0)))) - { - fail( - "failed AC Version test for id " + id); - } - - // Holder - Holder h = acInfo.getHolder(); - if (h == null) - { - fail( - "failed AC Holder test, it's null, for id " + id); - } - - // Issuer - AttCertIssuer aci = acInfo.getIssuer(); - if (aci == null) - { - fail( - "failed AC Issuer test, it's null, for id " + id); - } - - // Signature - AlgorithmIdentifier sig = acInfo.getSignature(); - if (sig == null) - { - fail( - "failed AC Signature test for id " + id); - } - - // Serial - ASN1Integer serial = acInfo.getSerialNumber(); - - // Validity - AttCertValidityPeriod validity = acInfo.getAttrCertValidityPeriod(); - if (validity == null) - { - fail("failed AC AttCertValidityPeriod test for id " + id); - } - - // Attributes - ASN1Sequence attribSeq = acInfo.getAttributes(); - Attribute att[] = new Attribute[attribSeq.size()]; - for (int i = 0; i < attribSeq.size(); i++) - { - att[i] = Attribute.getInstance(attribSeq.getObjectAt(i)); - } - - // IssuerUniqueId - // TODO, how to best test? - - // X509 Extensions - Extensions ext = acInfo.getExtensions(); - if (ext != null) - { - Enumeration en = ext.oids(); - while (en.hasMoreElements()) - { - ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) en - .nextElement(); - Extension extVal = ext.getExtension(oid); - } - } - } - - public void performTest() - throws Exception - { - checkCertificate(1, cert1); - checkCertificate(2, cert2); - checkCertificate(3, cert3); - checkCertificate(4, cert4); - checkCertificate(5, cert5); - checkCertificate(6, cert6); - checkCertificate(7, cert7); - checkAttributeCertificate(8,cert8); - checkV1AttributeCertificate(9, attrCertv1); - } - - public static void main( - String[] args) - { - runTest(new CertificateTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeIndicationUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeIndicationUnitTest.java deleted file mode 100644 index 6f54bd1fa..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeIndicationUnitTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.esf.CommitmentTypeIdentifier; -import org.spongycastle.asn1.esf.CommitmentTypeIndication; -import org.spongycastle.util.test.SimpleTest; - -public class CommitmentTypeIndicationUnitTest - extends SimpleTest -{ - public String getName() - { - return "CommitmentTypeIndication"; - } - - public void performTest() - throws Exception - { - CommitmentTypeIndication cti = new CommitmentTypeIndication(CommitmentTypeIdentifier.proofOfOrigin); - - checkConstruction(cti, CommitmentTypeIdentifier.proofOfOrigin, null); - - ASN1Sequence qualifier = new DERSequence(new DERObjectIdentifier("1.2")); - - cti = new CommitmentTypeIndication(CommitmentTypeIdentifier.proofOfOrigin, qualifier); - - checkConstruction(cti, CommitmentTypeIdentifier.proofOfOrigin, qualifier); - - cti = CommitmentTypeIndication.getInstance(null); - - if (cti != null) - { - fail("null getInstance() failed."); - } - - try - { - CommitmentTypeIndication.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - CommitmentTypeIndication mv, - DERObjectIdentifier commitmenttTypeId, - ASN1Encodable qualifier) - throws IOException - { - checkStatement(mv, commitmenttTypeId, qualifier); - - mv = CommitmentTypeIndication.getInstance(mv); - - checkStatement(mv, commitmenttTypeId, qualifier); - - ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - mv = CommitmentTypeIndication.getInstance(seq); - - checkStatement(mv, commitmenttTypeId, qualifier); - } - - private void checkStatement( - CommitmentTypeIndication cti, - DERObjectIdentifier commitmentTypeId, - ASN1Encodable qualifier) - { - if (!cti.getCommitmentTypeId().equals(commitmentTypeId)) - { - fail("commitmentTypeIds don't match."); - } - - if (qualifier != null) - { - if (!cti.getCommitmentTypeQualifier().equals(qualifier)) - { - fail("qualifiers don't match."); - } - } - else if (cti.getCommitmentTypeQualifier() != null) - { - fail("qualifier found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new CommitmentTypeIndicationUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeQualifierUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeQualifierUnitTest.java deleted file mode 100644 index 67c58e8a8..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CommitmentTypeQualifierUnitTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.esf.CommitmentTypeIdentifier; -import org.spongycastle.asn1.esf.CommitmentTypeQualifier; -import org.spongycastle.util.test.SimpleTest; - -public class CommitmentTypeQualifierUnitTest - extends SimpleTest -{ - public String getName() - { - return "CommitmentTypeQualifier"; - } - - public void performTest() - throws Exception - { - CommitmentTypeQualifier ctq = new CommitmentTypeQualifier(CommitmentTypeIdentifier.proofOfOrigin); - - checkConstruction(ctq, CommitmentTypeIdentifier.proofOfOrigin, null); - - ASN1Encodable info = new DERObjectIdentifier("1.2"); - - ctq = new CommitmentTypeQualifier(CommitmentTypeIdentifier.proofOfOrigin, info); - - checkConstruction(ctq, CommitmentTypeIdentifier.proofOfOrigin, info); - - ctq = CommitmentTypeQualifier.getInstance(null); - - if (ctq != null) - { - fail("null getInstance() failed."); - } - - try - { - CommitmentTypeQualifier.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - CommitmentTypeQualifier mv, - DERObjectIdentifier commitmenttTypeId, - ASN1Encodable qualifier) - throws IOException - { - checkStatement(mv, commitmenttTypeId, qualifier); - - mv = CommitmentTypeQualifier.getInstance(mv); - - checkStatement(mv, commitmenttTypeId, qualifier); - - ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - mv = CommitmentTypeQualifier.getInstance(seq); - - checkStatement(mv, commitmenttTypeId, qualifier); - } - - private void checkStatement( - CommitmentTypeQualifier ctq, - DERObjectIdentifier commitmentTypeId, - ASN1Encodable qualifier) - { - if (!ctq.getCommitmentTypeIdentifier().equals(commitmentTypeId)) - { - fail("commitmentTypeIds don't match."); - } - - if (qualifier != null) - { - if (!ctq.getQualifier().equals(qualifier)) - { - fail("qualifiers don't match."); - } - } - else if (ctq.getQualifier() != null) - { - fail("qualifier found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new CommitmentTypeQualifierUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ContentHintsUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ContentHintsUnitTest.java deleted file mode 100644 index b0610f648..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ContentHintsUnitTest.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.ess.ContentHints; - -public class ContentHintsUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "ContentHints"; - } - - public void performTest() - throws Exception - { - DERUTF8String contentDescription = new DERUTF8String("Description"); - ASN1ObjectIdentifier contentType = new ASN1ObjectIdentifier("1.2.2.3"); - - ContentHints hints = new ContentHints(contentType); - - checkConstruction(hints, contentType, null); - - hints = new ContentHints(contentType, contentDescription); - - checkConstruction(hints, contentType, contentDescription); - - hints = ContentHints.getInstance(null); - - if (hints != null) - { - fail("null getInstance() failed."); - } - - try - { - ContentHints.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - ContentHints hints, - ASN1ObjectIdentifier contentType, - DERUTF8String description) - throws IOException - { - checkValues(hints, contentType, description); - - hints = ContentHints.getInstance(hints); - - checkValues(hints, contentType, description); - - ASN1InputStream aIn = new ASN1InputStream(hints.toASN1Primitive().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - hints = ContentHints.getInstance(seq); - - checkValues(hints, contentType, description); - } - - private void checkValues( - ContentHints hints, - ASN1ObjectIdentifier contentType, - DERUTF8String description) - { - checkMandatoryField("contentType", contentType, hints.getContentType()); - checkOptionalField("description", description, hints.getContentDescription()); - } - - public static void main( - String[] args) - { - runTest(new ContentHintsUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CscaMasterListTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CscaMasterListTest.java deleted file mode 100644 index 30c82cdfa..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/CscaMasterListTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.icao.CscaMasterList; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.io.Streams; -import org.spongycastle.util.test.SimpleTest; - -public class CscaMasterListTest - extends SimpleTest -{ - public String getName() - { - return "CscaMasterList"; - } - - public void performTest() - throws Exception - { - byte[] input = getInput("masterlist-content.data"); - CscaMasterList parsedList - = CscaMasterList.getInstance(ASN1Primitive.fromByteArray(input)); - - if (parsedList.getCertStructs().length != 3) - { - fail("Cert structure parsing failed: incorrect length"); - } - - byte[] output = parsedList.getEncoded(); - if (!Arrays.areEqual(input, output)) - { - fail("Encoding failed after parse"); - } - } - - private byte[] getInput(String name) - throws IOException - { - return Streams.readAll(getClass().getResourceAsStream(name)); - } - - public static void main( - String[] args) - { - runTest(new CscaMasterListTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERApplicationSpecificTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERApplicationSpecificTest.java deleted file mode 100644 index 715373e90..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERApplicationSpecificTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class DERApplicationSpecificTest - extends SimpleTest -{ - private static final byte[] impData = Hex.decode("430109"); - - private static final byte[] certData = Hex.decode( - "7F218201897F4E8201495F290100420E44454356434145504153533030317F49" - + "81FD060A04007F00070202020202811CD7C134AA264366862A18302575D1D787" - + "B09F075797DA89F57EC8C0FF821C68A5E62CA9CE6C1C299803A6C1530B514E18" - + "2AD8B0042A59CAD29F43831C2580F63CCFE44138870713B1A92369E33E2135D2" - + "66DBB372386C400B8439040D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C" - + "1E6EFDEE12C07D58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D376" - + "1402CD851CD7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A793" - + "9F863904393EE8E06DB6C7F528F8B4260B49AA93309824D92CDB1807E5437EE2" - + "E26E29B73A7111530FA86B350037CB9415E153704394463797139E148701015F" - + "200E44454356434145504153533030317F4C0E060904007F0007030102015301" - + "C15F25060007000400015F24060009000400015F37384CCF25C59F3612EEE188" - + "75F6C5F2E2D21F0395683B532A26E4C189B71EFE659C3F26E0EB9AEAE9986310" - + "7F9B0DADA16414FFA204516AEE2B"); - - public String getName() - { - return "DERApplicationSpecific"; - } - - public void performTest() - throws Exception - { - DERInteger value = new DERInteger(9); - - DERApplicationSpecific tagged = new DERApplicationSpecific(false, 3, value); - - if (!areEqual(impData, tagged.getEncoded())) - { - fail("implicit encoding failed"); - } - - DERInteger recVal = (DERInteger)tagged.getObject(BERTags.INTEGER); - - if (!value.equals(recVal)) - { - fail("implicit read back failed"); - } - - DERApplicationSpecific certObj = (DERApplicationSpecific) - ASN1Primitive.fromByteArray(certData); - - if (!certObj.isConstructed() || certObj.getApplicationTag() != 33) - { - fail("parsing of certificate data failed"); - } - - byte[] encoded = certObj.getEncoded(ASN1Encoding.DER); - - if (!Arrays.areEqual(certData, encoded)) - { - fail("re-encoding of certificate data failed"); - } - } - - public static void main( - String[] args) - { - runTest(new DERApplicationSpecificTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERUTF8StringTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERUTF8StringTest.java deleted file mode 100644 index bd284b665..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DERUTF8StringTest.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class DERUTF8StringTest - implements Test -{ - - /** - * Unicode code point U+10400 coded as surrogate in two native Java UTF-16 - * code units - */ - private final static char[] glyph1_utf16 = { 0xd801, 0xdc00 }; - - /** - * U+10400 coded in UTF-8 - */ - private final static byte[] glyph1_utf8 = { (byte)0xF0, (byte)0x90, (byte)0x90, (byte)0x80 }; - - /** - * Unicode code point U+6771 in native Java UTF-16 - */ - private final static char[] glyph2_utf16 = { 0x6771 }; - - /** - * U+6771 coded in UTF-8 - */ - private final static byte[] glyph2_utf8 = { (byte)0xE6, (byte)0x9D, (byte)0xB1 }; - - /** - * Unicode code point U+00DF in native Java UTF-16 - */ - private final static char[] glyph3_utf16 = { 0x00DF }; - - /** - * U+00DF coded in UTF-8 - */ - private final static byte[] glyph3_utf8 = { (byte)0xC3, (byte)0x9f }; - - /** - * Unicode code point U+0041 in native Java UTF-16 - */ - private final static char[] glyph4_utf16 = { 0x0041 }; - - /** - * U+0041 coded in UTF-8 - */ - private final static byte[] glyph4_utf8 = { 0x41 }; - - private final static byte[][] glyphs_utf8 = { glyph1_utf8, glyph2_utf8, glyph3_utf8, glyph4_utf8 }; - - private final static char[][] glyphs_utf16 = { glyph1_utf16, glyph2_utf16, glyph3_utf16, glyph4_utf16 }; - - public TestResult perform() - { - try - { - for (int i = 0; i < glyphs_utf16.length; i++) - { - String s = new String(glyphs_utf16[i]); - byte[] b1 = new DERUTF8String(s).getEncoded(); - byte temp[] = new byte[b1.length - 2]; - System.arraycopy(b1, 2, temp, 0, b1.length - 2); - byte[] b2 = new DERUTF8String(Strings.fromUTF8ByteArray(new DEROctetString(temp).getOctets())).getEncoded(); - if (!Arrays.areEqual(b1, b2)) - { - return new SimpleTestResult(false, getName() + ": failed UTF-8 encoding and decoding"); - } - if (!Arrays.areEqual(temp, glyphs_utf8[i])) - { - return new SimpleTestResult(false, getName() + ": failed UTF-8 encoding and decoding"); - } - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed with Exception " + e.getMessage()); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "DERUTF8String"; - } - - public static void main(String[] args) - { - DERUTF8StringTest test = new DERUTF8StringTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DataGroupHashUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DataGroupHashUnitTest.java deleted file mode 100644 index 86d0c4c8c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DataGroupHashUnitTest.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; -import java.util.Random; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.icao.DataGroupHash; -import org.spongycastle.util.test.SimpleTest; - -public class DataGroupHashUnitTest - extends SimpleTest -{ - public String getName() - { - return "DataGroupHash"; - } - - private byte[] generateHash() - { - Random rand = new Random(); - byte[] bytes = new byte[20]; - - for (int i = 0; i != bytes.length; i++) - { - bytes[i] = (byte)rand.nextInt(); - } - - return bytes; - } - - public void performTest() - throws Exception - { - int dataGroupNumber = 1; - ASN1OctetString dataHash = new DEROctetString(generateHash()); - DataGroupHash dg = new DataGroupHash(dataGroupNumber, dataHash); - - checkConstruction(dg, dataGroupNumber, dataHash); - - try - { - DataGroupHash.getInstance(null); - } - catch (Exception e) - { - fail("getInstance() failed to handle null."); - } - - try - { - DataGroupHash.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - DataGroupHash dg, - int dataGroupNumber, - ASN1OctetString dataGroupHashValue) - throws IOException - { - checkValues(dg, dataGroupNumber, dataGroupHashValue); - - dg = DataGroupHash.getInstance(dg); - - checkValues(dg, dataGroupNumber, dataGroupHashValue); - - ASN1InputStream aIn = new ASN1InputStream(dg.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - dg = DataGroupHash.getInstance(seq); - - checkValues(dg, dataGroupNumber, dataGroupHashValue); - } - - private void checkValues( - DataGroupHash dg, - int dataGroupNumber, - ASN1OctetString dataGroupHashValue) - { - if (dg.getDataGroupNumber() != dataGroupNumber) - { - fail("group number don't match."); - } - - if (!dg.getDataGroupHashValue().equals(dataGroupHashValue)) - { - fail("hash value don't match."); - } - } - - public static void main( - String[] args) - { - runTest(new DataGroupHashUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DeclarationOfMajorityUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DeclarationOfMajorityUnitTest.java deleted file mode 100644 index 2454b1fd8..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/DeclarationOfMajorityUnitTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.isismtt.x509.DeclarationOfMajority; - -public class DeclarationOfMajorityUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "DeclarationOfMajority"; - } - - public void performTest() - throws Exception - { - ASN1GeneralizedTime dateOfBirth = new ASN1GeneralizedTime("20070315173729Z"); - DeclarationOfMajority decl = new DeclarationOfMajority(dateOfBirth); - - checkConstruction(decl, DeclarationOfMajority.dateOfBirth, dateOfBirth, -1); - - decl = new DeclarationOfMajority(6); - - checkConstruction(decl, DeclarationOfMajority.notYoungerThan, null, 6); - - decl = DeclarationOfMajority.getInstance(null); - - if (decl != null) - { - fail("null getInstance() failed."); - } - - try - { - DeclarationOfMajority.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - DeclarationOfMajority decl, - int type, - DERGeneralizedTime dateOfBirth, - int notYoungerThan) - throws IOException - { - checkValues(decl, type, dateOfBirth, notYoungerThan); - - decl = DeclarationOfMajority.getInstance(decl); - - checkValues(decl, type, dateOfBirth, notYoungerThan); - - ASN1InputStream aIn = new ASN1InputStream(decl.toASN1Object().getEncoded()); - - DERTaggedObject info = (DERTaggedObject)aIn.readObject(); - - decl = DeclarationOfMajority.getInstance(info); - - checkValues(decl, type, dateOfBirth, notYoungerThan); - } - - private void checkValues( - DeclarationOfMajority decl, - int type, - DERGeneralizedTime dateOfBirth, - int notYoungerThan) - { - checkMandatoryField("type", type, decl.getType()); - checkOptionalField("dateOfBirth", dateOfBirth, decl.getDateOfBirth()); - if (notYoungerThan != -1 && notYoungerThan != decl.notYoungerThan()) - { - fail("notYoungerThan mismatch"); - } - } - - public static void main( - String[] args) - { - runTest(new DeclarationOfMajorityUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ESSCertIDv2UnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ESSCertIDv2UnitTest.java deleted file mode 100644 index a9f6e3445..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ESSCertIDv2UnitTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ess.ESSCertIDv2; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -public class ESSCertIDv2UnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "ESSCertIDv2"; - } - - public void performTest() - throws Exception - { - // check getInstance on default algorithm. - byte[] digest = new byte [256]; - ESSCertIDv2 essCertIdv2 = new ESSCertIDv2(new AlgorithmIdentifier( - NISTObjectIdentifiers.id_sha256), digest); - ASN1Primitive asn1Object = essCertIdv2.toASN1Primitive(); - - ESSCertIDv2.getInstance(asn1Object); - } - - public static void main( - String[] args) - { - runTest(new ESSCertIDv2UnitTest()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EncryptedPrivateKeyInfoTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EncryptedPrivateKeyInfoTest.java deleted file mode 100644 index a02a166e6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EncryptedPrivateKeyInfoTest.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.pkcs.EncryptedPrivateKeyInfo; -import org.spongycastle.asn1.util.ASN1Dump; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test the reading and writing of EncryptedPrivateKeyInfo objects using - * the test vectors provided at - * - * RSA's PKCS5 Page. - *
    - * The vectors are Base 64 encoded and encrypted using the password "password" - * (without quotes). They should all yield the same PrivateKeyInfo object. - */ -public class EncryptedPrivateKeyInfoTest - extends SimpleTest -{ - static byte[] sample1 = Base64.decode( - "MIIBozA9BgkqhkiG9w0BBQ0wMDAbBgkqhkiG9w0BBQwwDgQIfWBDXwLp4K4CAggA" - + "MBEGBSsOAwIHBAiaCF/AvOgQ6QSCAWDWX4BdAzCRNSQSANSuNsT5X8mWYO27mr3Y" - + "9c9LoBVXGNmYWKA77MI4967f7SmjNcgXj3xNE/jmnVz6hhsjS8E5VPT3kfyVkpdZ" - + "0lr5e9Yk2m3JWpPU7++v5zBkZmC4V/MwV/XuIs6U+vykgzMgpxQg0oZKS9zgmiZo" - + "f/4dOCL0UtCDnyOSvqT7mCVIcMDIEKu8QbVlgZYBop08l60EuEU3gARUo8WsYQmO" - + "Dz/ldx0Z+znIT0SXVuOwc+RVItC5T/Qx+aijmmpt+9l14nmaGBrEkmuhmtdvU/4v" - + "aptewGRgmjOfD6cqK+zs0O5NrrJ3P/6ZSxXj91CQgrThGfOv72bUncXEMNtc8pks" - + "2jpHFjGMdKufnadAD7XuMgzkkaklEXZ4f5tU6heIIwr51g0GBEGF96gYPFnjnSQM" - + "75JE02Clo+DfcfXpcybPTwwFg2jd6JTTOfkdf6OdSlA/1XNK43FA"); - - static byte[] sample2 = Base64.decode( - "MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIeFeOWl1jywYCAggA" - + "MBQGCCqGSIb3DQMHBAjUJ5eGBhQGtQSCAWBrHrRgqO8UUMLcWzZEtpk1l3mjxiF/" - + "koCMkHsFwowgyWhEbgIkTgbSViK54LVK8PskekcGNLph+rB6bGZ7pPbL5pbXASJ8" - + "+MkQcG3FZdlS4Ek9tTJDApj3O1UubZGFG4uvTlJJFbF1BOJ3MkY3XQ9Gl1qwv7j5" - + "6e103Da7Cq9+oIDKmznza78XXQYrUsPo8mJGjUxPskEYlzwvHjKubRnYm/K6RKhi" - + "5f4zX4BQ/Dt3H812ZjRXrsjAJP0KrD/jyD/jCT7zNBVPH1izBds+RwizyQAHwfNJ" - + "BFR78TH4cgzB619X47FDVOnT0LqQNVd0O3cSwnPrXE9XR3tPayE+iOB15llFSmi8" - + "z0ByOXldEpkezCn92Umk++suzIVj1qfsK+bv2phZWJPbLEIWPDRHUbYf76q5ArAr" - + "u4xtxT/hoK3krEs/IN3d70qjlUJ36SEw1UaZ82PWhakQbdtu39ZraMJB"); - - static byte[] sample3 = Base64.decode( - "MIIBrjBIBgkqhkiG9w0BBQ0wOzAeBgkqhkiG9w0BBQwwEQQIrHyQPBZqWLUCAggA" - + "AgEQMBkGCCqGSIb3DQMCMA0CAToECEhbh7YZKiPSBIIBYCT1zp6o5jpFlIkgwPop" - + "7bW1+8ACr4exqzkeb3WflQ8cWJ4cURxzVdvxUnXeW1VJdaQZtjS/QHs5GhPTG/0f" - + "wtvnaPfwrIJ3FeGaZfcg2CrYhalOFmEb4xrE4KyoEQmUN8tb/Cg94uzd16BOPw21" - + "RDnE8bnPdIGY7TyL95kbkqH23mK53pi7h+xWIgduW+atIqDyyt55f7WMZcvDvlj6" - + "VpN/V0h+qxBHL274WA4dj6GYgeyUFpi60HdGCK7By2TBy8h1ZvKGjmB9h8jZvkx1" - + "MkbRumXxyFsowTZawyYvO8Um6lbfEDP9zIEUq0IV8RqH2MRyblsPNSikyYhxX/cz" - + "tdDxRKhilySbSBg5Kr8OfcwKp9bpinN96nmG4xr3Tch1bnVvqJzOQ5+Vva2WwVvH" - + "2JkWvYm5WaANg4Q6bRxu9vz7DuhbJjQdZbxFezIAgrJdSe92B00jO/0Kny1WjiVO" - + "6DA="); - - public String getName() - { - return "EncryptedPrivateKeyInfoTest"; - } - - private void test( - int id, - byte[] sample) - { - ByteArrayInputStream bIn = new ByteArrayInputStream(sample); - ASN1InputStream aIn = new ASN1InputStream(bIn); - EncryptedPrivateKeyInfo info = null; - - try - { - info = EncryptedPrivateKeyInfo.getInstance(aIn.readObject()); - } - catch (Exception e) - { - fail("test " + id + " failed construction - exception " + e.toString(), e); - } - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - - try - { - dOut.writeObject(info); - } - catch (Exception e) - { - fail("test " + id + " failed writing - exception " + e.toString(), e); - } - - byte[] bytes = bOut.toByteArray(); - - if (bytes.length != sample.length) - { - try - { - bIn = new ByteArrayInputStream(bytes); - aIn = new ASN1InputStream(bIn); - - ASN1Primitive obj = aIn.readObject(); - - fail("test " + id + " length mismatch - expected " + sample.length + System.getProperty("line.separator") + ASN1Dump.dumpAsString(info) + " got " + bytes.length + System.getProperty("line.separator") + ASN1Dump.dumpAsString(obj)); - } - catch (Exception e) - { - fail("test " + id + " length mismatch - exception " + e.toString()); - } - } - - for (int i = 0; i != bytes.length; i++) - { - if (bytes[i] != sample[i]) - { - fail("test " + id + " data mismatch"); - } - } - } - - public void performTest() - { - test(0, sample1); - test(1, sample2); - test(2, sample3); - } - - - public static void main( - String[] args) - { - runTest(new EncryptedPrivateKeyInfoTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EnumeratedTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EnumeratedTest.java deleted file mode 100644 index 90391ef59..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EnumeratedTest.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import junit.framework.TestCase; - -import org.spongycastle.asn1.ASN1Boolean; -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.util.encoders.Hex; - -/** - * Tests used to verify correct decoding of the ENUMERATED type. - */ -public class EnumeratedTest - extends TestCase -{ - /** - * Test vector used to test decoding of multiple items. This sample uses an ENUMERATED and a BOOLEAN. - */ - private static final byte[] MultipleSingleByteItems = Hex.decode("30060a01010101ff"); - - /** - * Test vector used to test decoding of multiple items. This sample uses two ENUMERATEDs. - */ - private static final byte[] MultipleDoubleByteItems = Hex.decode("30080a0201010a020202"); - - /** - * Test vector used to test decoding of multiple items. This sample uses an ENUMERATED and an OBJECT IDENTIFIER. - */ - private static final byte[] MultipleTripleByteItems = Hex.decode("300a0a0301010106032b0601"); - - /** - * Makes sure multiple identically sized values are parsed correctly. - */ - public void testReadingMultipleSingleByteItems() - throws IOException - { - ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleSingleByteItems); - - assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence); - - ASN1Sequence sequence = (ASN1Sequence)obj; - - assertEquals("2 items expected", 2, sequence.size()); - - ASN1Enumerated enumerated = ASN1Enumerated.getInstance(sequence.getObjectAt(0)); - - assertNotNull("ENUMERATED expected", enumerated); - - assertEquals("Unexpected ENUMERATED value", 1, enumerated.getValue().intValue()); - - ASN1Boolean b = ASN1Boolean.getInstance(sequence.getObjectAt(1)); - - assertNotNull("BOOLEAN expected", b); - - assertTrue("Unexpected BOOLEAN value", b.isTrue()); - } - - /** - * Makes sure multiple identically sized values are parsed correctly. - */ - public void testReadingMultipleDoubleByteItems() - throws IOException - { - ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleDoubleByteItems); - - assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence); - - ASN1Sequence sequence = (ASN1Sequence)obj; - - assertEquals("2 items expected", 2, sequence.size()); - - ASN1Enumerated enumerated1 = ASN1Enumerated.getInstance(sequence.getObjectAt(0)); - - assertNotNull("ENUMERATED expected", enumerated1); - - assertEquals("Unexpected ENUMERATED value", 257, enumerated1.getValue().intValue()); - - ASN1Enumerated enumerated2 = ASN1Enumerated.getInstance(sequence.getObjectAt(1)); - - assertNotNull("ENUMERATED expected", enumerated2); - - assertEquals("Unexpected ENUMERATED value", 514, enumerated2.getValue().intValue()); - } - - /** - * Makes sure multiple identically sized values are parsed correctly. - */ - public void testReadingMultipleTripleByteItems() - throws IOException - { - ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleTripleByteItems); - - assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence); - - ASN1Sequence sequence = (ASN1Sequence)obj; - - assertEquals("2 items expected", 2, sequence.size()); - - ASN1Enumerated enumerated = ASN1Enumerated.getInstance(sequence.getObjectAt(0)); - - assertNotNull("ENUMERATED expected", enumerated); - - assertEquals("Unexpected ENUMERATED value", 65793, enumerated.getValue().intValue()); - - ASN1ObjectIdentifier objectId = ASN1ObjectIdentifier.getInstance(sequence.getObjectAt(1)); - - assertNotNull("OBJECT IDENTIFIER expected", objectId); - - assertEquals("Unexpected OBJECT IDENTIFIER value", "1.3.6.1", objectId.getId()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EqualsAndHashCodeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EqualsAndHashCodeTest.java deleted file mode 100644 index be901caa0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/EqualsAndHashCodeTest.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.Date; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.BERConstructedOctetString; -import org.spongycastle.asn1.BERSequence; -import org.spongycastle.asn1.BERSet; -import org.spongycastle.asn1.BERTaggedObject; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERBoolean; -import org.spongycastle.asn1.DEREnumerated; -import org.spongycastle.asn1.DERGeneralString; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERNumericString; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERT61String; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERUniversalString; -import org.spongycastle.asn1.DERVisibleString; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class EqualsAndHashCodeTest - implements Test -{ - public TestResult perform() - { - byte[] data = { 0, 1, 0, 1, 0, 0, 1 }; - - ASN1Primitive values[] = { - new BERConstructedOctetString(data), - new BERSequence(new DERPrintableString("hello world")), - new BERSet(new DERPrintableString("hello world")), - new BERTaggedObject(0, new DERPrintableString("hello world")), - new DERApplicationSpecific(0, data), - new DERBitString(data), - new DERBMPString("hello world"), - new DERBoolean(true), - new DERBoolean(false), - new DEREnumerated(100), - new DERGeneralizedTime("20070315173729Z"), - new DERGeneralString("hello world"), - new DERIA5String("hello"), - new DERInteger(1000), - new DERNull(), - new DERNumericString("123456"), - new DERObjectIdentifier("1.1.1.10000.1"), - new DEROctetString(data), - new DERPrintableString("hello world"), - new DERSequence(new DERPrintableString("hello world")), - new DERSet(new DERPrintableString("hello world")), - new DERT61String("hello world"), - new DERTaggedObject(0, new DERPrintableString("hello world")), - new DERUniversalString(data), - new DERUTCTime(new Date()), - new DERUTF8String("hello world"), - new DERVisibleString("hello world") - }; - - try - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - for (int i = 0; i != values.length; i++) - { - aOut.writeObject(values[i]); - } - - ASN1Primitive[] readValues = new ASN1Primitive[values.length]; - - ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray()); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - for (int i = 0; i != values.length; i++) - { - ASN1Primitive o = aIn.readObject(); - if (!o.equals(values[i])) - { - return new SimpleTestResult(false, getName() + ": Failed equality test for " + o.getClass()); - } - - if (o.hashCode() != values[i].hashCode()) - { - return new SimpleTestResult(false, getName() + ": Failed hashCode test for " + o.getClass()); - } - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "EqualsAndHashCode"; - } - - public static void main( - String[] args) - { - EqualsAndHashCodeTest test = new EqualsAndHashCodeTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralNameTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralNameTest.java deleted file mode 100644 index dcc2e8b71..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralNameTest.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class GeneralNameTest - extends SimpleTest -{ - private static final byte[] ipv4 = Hex.decode("87040a090800"); - private static final byte[] ipv4WithMask1 = Hex.decode("87080a090800ffffff00"); - private static final byte[] ipv4WithMask2 = Hex.decode("87080a090800ffff8000"); - private static final byte[] ipv4WithMask3 = Hex.decode("87080a090800ffffc000"); - - private static final byte[] ipv6a = Hex.decode("871020010db885a308d313198a2e03707334"); - private static final byte[] ipv6b = Hex.decode("871020010db885a3000013198a2e03707334"); - private static final byte[] ipv6c = Hex.decode("871000000000000000000000000000000001"); - private static final byte[] ipv6d = Hex.decode("871020010db885a3000000008a2e03707334"); - private static final byte[] ipv6e = Hex.decode("871020010db885a3000000008a2e0a090800"); - private static final byte[] ipv6f = Hex.decode("872020010db885a3000000008a2e0a090800ffffffffffff00000000000000000000"); - private static final byte[] ipv6g = Hex.decode("872020010db885a3000000008a2e0a090800ffffffffffffffffffffffffffffffff"); - private static final byte[] ipv6h = Hex.decode("872020010db885a300000000000000000000ffffffffffff00000000000000000000"); - private static final byte[] ipv6i = Hex.decode("872020010db885a300000000000000000000fffffffffffe00000000000000000000"); - private static final byte[] ipv6j = Hex.decode("872020010db885a300000000000000000000ffffffffffff80000000000000000000"); - - public String getName() - { - return "GeneralName"; - } - - public void performTest() - throws Exception - { - GeneralName nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4)) - { - fail("ipv4 encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.255.0"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask1)) - { - fail("ipv4 with netmask 1 encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/24"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask1)) - { - fail("ipv4 with netmask 2 encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.128.0"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask2)) - { - fail("ipv4 with netmask 3a encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/17"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask2)) - { - fail("ipv4 with netmask 3b encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.192.0"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask3)) - { - fail("ipv4 with netmask 3a encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/18"); - if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask3)) - { - fail("ipv4 with netmask 3b encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3:08d3:1319:8a2e:0370:7334"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6a)) - { - fail("ipv6 with netmask encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::1319:8a2e:0370:7334"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6b)) - { - fail("ipv6b encoding failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "::1"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6c)) - { - fail("ipv6c failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:0370:7334"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6d)) - { - fail("ipv6d failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6e)) - { - fail("ipv6e failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0/ffff:ffff:ffff::0000"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6f)) - { - fail("ipv6f failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0/128"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6g)) - { - fail("ipv6g failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/48"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6h)) - { - fail("ipv6h failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/47"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6i)) - { - fail("ipv6i failed"); - } - - nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/49"); - if (!Arrays.areEqual(nm.getEncoded(), ipv6j)) - { - fail("ipv6j failed"); - } - } - - public static void main( - String[] args) - { - runTest(new GeneralNameTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralizedTimeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralizedTimeTest.java deleted file mode 100644 index 3dce5b3ca..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GeneralizedTimeTest.java +++ /dev/null @@ -1,201 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.SimpleTimeZone; -import java.util.TimeZone; - -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.util.test.SimpleTest; - -/** - * X.690 test example - */ -public class GeneralizedTimeTest - extends SimpleTest -{ - String[] input = - { - "20020122122220", - "20020122122220Z", - "20020122122220-1000", - "20020122122220+00", - "20020122122220.1", - "20020122122220.1Z", - "20020122122220.1-1000", - "20020122122220.1+00", - "20020122122220.01", - "20020122122220.01Z", - "20020122122220.01-1000", - "20020122122220.01+00", - "20020122122220.001", - "20020122122220.001Z", - "20020122122220.001-1000", - "20020122122220.001+00", - "20020122122220.0001", - "20020122122220.0001Z", - "20020122122220.0001-1000", - "20020122122220.0001+00", - "20020122122220.0001+1000" - }; - - String[] output = { - "20020122122220", - "20020122122220GMT+00:00", - "20020122122220GMT-10:00", - "20020122122220GMT+00:00", - "20020122122220.1", - "20020122122220.1GMT+00:00", - "20020122122220.1GMT-10:00", - "20020122122220.1GMT+00:00", - "20020122122220.01", - "20020122122220.01GMT+00:00", - "20020122122220.01GMT-10:00", - "20020122122220.01GMT+00:00", - "20020122122220.001", - "20020122122220.001GMT+00:00", - "20020122122220.001GMT-10:00", - "20020122122220.001GMT+00:00", - "20020122122220.0001", - "20020122122220.0001GMT+00:00", - "20020122122220.0001GMT-10:00", - "20020122122220.0001GMT+00:00", - "20020122122220.0001GMT+10:00" }; - - String[] zOutput = { - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122122220Z", - "20020122122220Z", - "20020122222220Z", - "20020122122220Z", - "20020122022220Z" - }; - - String[] mzOutput = { - "20020122122220.000Z", - "20020122122220.000Z", - "20020122222220.000Z", - "20020122122220.000Z", - "20020122122220.100Z", - "20020122122220.100Z", - "20020122222220.100Z", - "20020122122220.100Z", - "20020122122220.010Z", - "20020122122220.010Z", - "20020122222220.010Z", - "20020122122220.010Z", - "20020122122220.001Z", - "20020122122220.001Z", - "20020122222220.001Z", - "20020122122220.001Z", - "20020122122220.000Z", - "20020122122220.000Z", - "20020122222220.000Z", - "20020122122220.000Z", - "20020122022220.000Z" - }; - - public String getName() - { - return "GeneralizedTime"; - } - - public void performTest() - throws Exception - { - SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); - - dateF.setTimeZone(new SimpleTimeZone(0,"Z")); - - for (int i = 0; i != input.length; i++) - { - DERGeneralizedTime t = new DERGeneralizedTime(input[i]); - - if (output[i].indexOf('G') > 0) // don't check local time the same way - { - if (!t.getTime().equals(output[i])) - { - fail("failed conversion test"); - } - if (!dateF.format(t.getDate()).equals(zOutput[i])) - { - fail("failed date conversion test"); - } - } - else - { - String offset = calculateGMTOffset(t.getDate()); - if (!t.getTime().equals(output[i] + offset)) - { - fail("failed conversion test"); - } - } - } - - dateF = new SimpleDateFormat("yyyyMMddHHmmss.SSS'Z'"); - - dateF.setTimeZone(new SimpleTimeZone(0,"Z")); - - for (int i = 0; i != input.length; i++) - { - DERGeneralizedTime t = new DERGeneralizedTime(input[i]); - - if (!dateF.format(t.getDate()).equals(mzOutput[i])) - { - fail("failed long date conversion test"); - } - } - } - - private String calculateGMTOffset(Date date) - { - String sign = "+"; - TimeZone timeZone = TimeZone.getDefault(); - int offset = timeZone.getRawOffset(); - if (offset < 0) - { - sign = "-"; - offset = -offset; - } - int hours = offset / (60 * 60 * 1000); - int minutes = (offset - (hours * 60 * 60 * 1000)) / (60 * 1000); - - if (timeZone.useDaylightTime() && timeZone.inDaylightTime(date)) - { - hours += sign.equals("+") ? 1 : -1; - } - - return "GMT" + sign + convert(hours) + ":" + convert(minutes); - } - - private String convert(int time) - { - if (time < 10) - { - return "0" + time; - } - - return Integer.toString(time); - } - - public static void main( - String[] args) - { - runTest(new GeneralizedTimeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GenerationTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GenerationTest.java deleted file mode 100644 index 6febc0583..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GenerationTest.java +++ /dev/null @@ -1,428 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.text.ParseException; -import java.util.Date; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.oiw.ElGamalParameter; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.AuthorityKeyIdentifier; -import org.spongycastle.asn1.x509.CRLReason; -import org.spongycastle.asn1.x509.Extension; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.ExtensionsGenerator; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.IssuingDistributionPoint; -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.asn1.x509.RSAPublicKeyStructure; -import org.spongycastle.asn1.x509.SubjectKeyIdentifier; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.TBSCertList; -import org.spongycastle.asn1.x509.TBSCertificate; -import org.spongycastle.asn1.x509.Time; -import org.spongycastle.asn1.x509.V1TBSCertificateGenerator; -import org.spongycastle.asn1.x509.V2TBSCertListGenerator; -import org.spongycastle.asn1.x509.V3TBSCertificateGenerator; -import org.spongycastle.asn1.x509.X509Extension; -import org.spongycastle.asn1.x509.X509Extensions; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -public class GenerationTest - extends SimpleTest -{ - private byte[] v1Cert = Base64.decode( - "MIGtAgEBMA0GCSqGSIb3DQEBBAUAMCUxCzAJBgNVBAMMAkFVMRYwFAYDVQQKDA1Cb" - + "3VuY3kgQ2FzdGxlMB4XDTcwMDEwMTAwMDAwMVoXDTcwMDEwMTAwMDAxMlowNjELMA" - + "kGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNVBAsMBlRlc3Q" - + "gMTAaMA0GCSqGSIb3DQEBAQUAAwkAMAYCAQECAQI="); - - private byte[] v3Cert = Base64.decode( - "MIIBSKADAgECAgECMA0GCSqGSIb3DQEBBAUAMCUxCzAJBgNVBAMMAkFVMRYwFAYD" - + "VQQKDA1Cb3VuY3kgQ2FzdGxlMB4XDTcwMDEwMTAwMDAwMVoXDTcwMDEwMTAwMDAw" - + "MlowNjELMAkGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNV" - + "BAsMBlRlc3QgMjAYMBAGBisOBwIBATAGAgEBAgECAwQAAgEDo4GVMIGSMGEGA1Ud" - + "IwEB/wRXMFWAFDZPdpHPzKi7o8EJokkQU2uqCHRRoTqkODA2MQswCQYDVQQDDAJB" - + "VTEWMBQGA1UECgwNQm91bmN5IENhc3RsZTEPMA0GA1UECwwGVGVzdCAyggECMCAG" - + "A1UdDgEB/wQWBBQ2T3aRz8you6PBCaJJEFNrqgh0UTALBgNVHQ8EBAMCBBA="); - - private byte[] v3CertNullSubject = Base64.decode( - "MIHGoAMCAQICAQIwDQYJKoZIhvcNAQEEBQAwJTELMAkGA1UEAwwCQVUxFjAUBgNVB" - + "AoMDUJvdW5jeSBDYXN0bGUwHhcNNzAwMTAxMDAwMDAxWhcNNzAwMTAxMDAwMDAyWj" - + "AAMBgwEAYGKw4HAgEBMAYCAQECAQIDBAACAQOjSjBIMEYGA1UdEQEB/wQ8MDqkODA" - + "2MQswCQYDVQQDDAJBVTEWMBQGA1UECgwNQm91bmN5IENhc3RsZTEPMA0GA1UECwwG" - + "VGVzdCAy"); - - private byte[] v2CertList = Base64.decode( - "MIIBQwIBATANBgkqhkiG9w0BAQUFADAlMQswCQYDVQQDDAJBVTEWMBQGA1UECgwN" + - "Qm91bmN5IENhc3RsZRcNNzAwMTAxMDAwMDAwWhcNNzAwMTAxMDAwMDAyWjAiMCAC" + - "AQEXDTcwMDEwMTAwMDAwMVowDDAKBgNVHRUEAwoBCqCBxTCBwjBhBgNVHSMBAf8E" + - "VzBVgBQ2T3aRz8you6PBCaJJEFNrqgh0UaE6pDgwNjELMAkGA1UEAwwCQVUxFjAU" + - "BgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNVBAsMBlRlc3QgMoIBAjBDBgNVHRIE" + - "PDA6pDgwNjELMAkGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzAN" + - "BgNVBAsMBlRlc3QgMzAKBgNVHRQEAwIBATAMBgNVHRwBAf8EAjAA"); - - private void tbsV1CertGen() - throws IOException - { - V1TBSCertificateGenerator gen = new V1TBSCertificateGenerator(); - Date startDate = new Date(1000); - Date endDate = new Date(12000); - - gen.setSerialNumber(new ASN1Integer(1)); - - gen.setStartDate(new Time(startDate)); - gen.setEndDate(new Time(endDate)); - - gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle")); - gen.setSubject(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 1")); - - gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE)); - - SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption, DERNull.INSTANCE), - new RSAPublicKeyStructure(BigInteger.valueOf(1), BigInteger.valueOf(2))); - - gen.setSubjectPublicKeyInfo(info); - - TBSCertificate tbs = gen.generateTBSCertificate(); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(tbs); - - if (!Arrays.areEqual(bOut.toByteArray(), v1Cert)) - { - fail("failed v1 cert generation"); - } - - // - // read back test - // - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v1Cert)); - ASN1Primitive o = aIn.readObject(); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(o); - - if (!Arrays.areEqual(bOut.toByteArray(), v1Cert)) - { - fail("failed v1 cert read back test"); - } - } - - private AuthorityKeyIdentifier createAuthorityKeyId( - SubjectPublicKeyInfo info, - X500Name name, - int sNumber) - { - GeneralName genName = new GeneralName(name); - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(genName); - - return new AuthorityKeyIdentifier( - info, GeneralNames.getInstance(new DERSequence(v)), BigInteger.valueOf(sNumber)); - } - - private void tbsV3CertGen() - throws IOException - { - V3TBSCertificateGenerator gen = new V3TBSCertificateGenerator(); - Date startDate = new Date(1000); - Date endDate = new Date(2000); - - gen.setSerialNumber(new ASN1Integer(2)); - - gen.setStartDate(new Time(startDate)); - gen.setEndDate(new Time(endDate)); - - gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle")); - gen.setSubject(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2")); - - gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE)); - - SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3)); - - gen.setSubjectPublicKeyInfo(info); - - // - // add extensions - // - Vector order = new Vector(); - Hashtable extensions = new Hashtable(); - - order.addElement(X509Extension.authorityKeyIdentifier); - order.addElement(X509Extension.subjectKeyIdentifier); - order.addElement(X509Extension.keyUsage); - - extensions.put(X509Extension.authorityKeyIdentifier, new X509Extension(true, new DEROctetString(createAuthorityKeyId(info, new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2"), 2)))); - extensions.put(X509Extension.subjectKeyIdentifier, new X509Extension(true, new DEROctetString(new SubjectKeyIdentifier(info)))); - extensions.put(X509Extension.keyUsage, new X509Extension(false, new DEROctetString(new KeyUsage(KeyUsage.dataEncipherment)))); - - X509Extensions ex = new X509Extensions(order, extensions); - - gen.setExtensions(ex); - - TBSCertificate tbs = gen.generateTBSCertificate(); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(tbs); - - if (!Arrays.areEqual(bOut.toByteArray(), v3Cert)) - { - fail("failed v3 cert generation"); - } - - // - // read back test - // - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v3Cert)); - ASN1Primitive o = aIn.readObject(); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(o); - - if (!Arrays.areEqual(bOut.toByteArray(), v3Cert)) - { - fail("failed v3 cert read back test"); - } - } - - private void tbsV3CertGenWithNullSubject() - throws IOException - { - V3TBSCertificateGenerator gen = new V3TBSCertificateGenerator(); - Date startDate = new Date(1000); - Date endDate = new Date(2000); - - gen.setSerialNumber(new ASN1Integer(2)); - - gen.setStartDate(new Time(startDate)); - gen.setEndDate(new Time(endDate)); - - gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle")); - - gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE)); - - SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3)); - - gen.setSubjectPublicKeyInfo(info); - - try - { - gen.generateTBSCertificate(); - fail("null subject not caught!"); - } - catch (IllegalStateException e) - { - if (!e.getMessage().equals("not all mandatory fields set in V3 TBScertificate generator")) - { - fail("unexpected exception", e); - } - } - - // - // add extensions - // - Vector order = new Vector(); - Hashtable extensions = new Hashtable(); - - order.addElement(X509Extension.subjectAlternativeName); - - extensions.put(X509Extension.subjectAlternativeName, new X509Extension(true, new DEROctetString(new GeneralNames(new GeneralName(new X509Name("CN=AU,O=Bouncy Castle,OU=Test 2")))))); - - X509Extensions ex = new X509Extensions(order, extensions); - - gen.setExtensions(ex); - - TBSCertificate tbs = gen.generateTBSCertificate(); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(tbs); - - if (!Arrays.areEqual(bOut.toByteArray(), v3CertNullSubject)) - { - fail("failed v3 null sub cert generation"); - } - - // - // read back test - // - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v3CertNullSubject)); - ASN1Primitive o = aIn.readObject(); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(o); - - if (!Arrays.areEqual(bOut.toByteArray(), v3CertNullSubject)) - { - fail("failed v3 null sub cert read back test"); - } - } - - private void tbsV2CertListGen() - throws IOException - { - V2TBSCertListGenerator gen = new V2TBSCertListGenerator(); - - gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle")); - - gen.addCRLEntry(new ASN1Integer(1), new Time(new Date(1000)), CRLReason.aACompromise); - - gen.setNextUpdate(new Time(new Date(2000))); - - gen.setThisUpdate(new Time(new Date(500))); - - gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.sha1WithRSAEncryption, DERNull.INSTANCE)); - - // - // extensions - // - SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3)); - - ExtensionsGenerator extGen = new ExtensionsGenerator(); - - extGen.addExtension(Extension.authorityKeyIdentifier, true, createAuthorityKeyId(info, new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2"), 2)); - extGen.addExtension(Extension.issuerAlternativeName, false, new GeneralNames(new GeneralName(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 3")))); - extGen.addExtension(Extension.cRLNumber, false, new ASN1Integer(1)); - extGen.addExtension(Extension.issuingDistributionPoint, true, IssuingDistributionPoint.getInstance(new DERSequence())); - - Extensions ex = extGen.generate(); - - gen.setExtensions(ex); - - TBSCertList tbs = gen.generateTBSCertList(); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(tbs); - - if (!Arrays.areEqual(bOut.toByteArray(), v2CertList)) - { - System.out.println(new String(Base64.encode(bOut.toByteArray()))); - fail("failed v2 cert list generation"); - } - - // - // read back test - // - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v2CertList)); - ASN1Primitive o = aIn.readObject(); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(o); - - if (!Arrays.areEqual(bOut.toByteArray(), v2CertList)) - { - fail("failed v2 cert list read back test"); - } - - // - // check we can add a custom reason - // - gen.addCRLEntry(new ASN1Integer(1), new Time(new Date(1000)), CRLReason.aACompromise); - - // - // check invalidity date - gen.addCRLEntry(new ASN1Integer(2), new Time(new Date(1000)), CRLReason.affiliationChanged, new ASN1GeneralizedTime(new Date(2000))); - - TBSCertList crl = gen.generateTBSCertList(); - - TBSCertList.CRLEntry[] entries = crl.getRevokedCertificates(); - for (int i = 0; i != entries.length; i++) - { - TBSCertList.CRLEntry entry = entries[i]; - - if (entry.getUserCertificate().equals(new ASN1Integer(1))) - { - Extensions extensions = entry.getExtensions(); - Extension ext = extensions.getExtension(Extension.reasonCode); - - CRLReason r = CRLReason.getInstance(ext.getParsedValue()); - - if (r.getValue().intValue() != CRLReason.aACompromise) - { - fail("reason code mismatch"); - } - } - else if (entry.getUserCertificate().equals(new ASN1Integer(2))) - { - Extensions extensions = entry.getExtensions(); - Extension ext = extensions.getExtension(Extension.reasonCode); - - CRLReason r = CRLReason.getInstance(ext.getParsedValue()); - - if (r.getValue().intValue() != CRLReason.affiliationChanged) - { - fail("reason code mismatch"); - } - - ext = extensions.getExtension(Extension.invalidityDate); - - ASN1GeneralizedTime t = ASN1GeneralizedTime.getInstance(ext.getParsedValue()); - - try - { - if (!t.getDate().equals(new Date(2000))) - { - fail("invalidity date mismatch"); - } - } - catch (ParseException e) - { - fail("can't parse date", e); - } - } - } - } - - public void performTest() - throws Exception - { - tbsV1CertGen(); - tbsV3CertGen(); - tbsV3CertGenWithNullSubject(); - tbsV2CertListGen(); - } - - public String getName() - { - return "Generation"; - } - - public static void main( - String[] args) - { - runTest(new GenerationTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GetInstanceTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GetInstanceTest.java deleted file mode 100644 index 05652173c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/GetInstanceTest.java +++ /dev/null @@ -1,888 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.lang.reflect.Method; -import java.math.BigInteger; -import java.util.Date; -import java.util.Vector; - -import junit.framework.TestCase; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Enumerated; -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.ASN1UTCTime; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERGeneralString; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERNull; -import org.spongycastle.asn1.DERNumericString; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERT61String; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERUniversalString; -import org.spongycastle.asn1.DERVisibleString; -import org.spongycastle.asn1.cmp.CAKeyUpdAnnContent; -import org.spongycastle.asn1.cmp.CMPCertificate; -import org.spongycastle.asn1.cmp.CRLAnnContent; -import org.spongycastle.asn1.cmp.CertConfirmContent; -import org.spongycastle.asn1.cmp.CertOrEncCert; -import org.spongycastle.asn1.cmp.CertRepMessage; -import org.spongycastle.asn1.cmp.CertResponse; -import org.spongycastle.asn1.cmp.CertifiedKeyPair; -import org.spongycastle.asn1.cmp.Challenge; -import org.spongycastle.asn1.cmp.ErrorMsgContent; -import org.spongycastle.asn1.cmp.GenMsgContent; -import org.spongycastle.asn1.cmp.GenRepContent; -import org.spongycastle.asn1.cmp.InfoTypeAndValue; -import org.spongycastle.asn1.cmp.KeyRecRepContent; -import org.spongycastle.asn1.cmp.OOBCertHash; -import org.spongycastle.asn1.cmp.PBMParameter; -import org.spongycastle.asn1.cmp.PKIBody; -import org.spongycastle.asn1.cmp.PKIConfirmContent; -import org.spongycastle.asn1.cmp.PKIFailureInfo; -import org.spongycastle.asn1.cmp.PKIFreeText; -import org.spongycastle.asn1.cmp.PKIHeader; -import org.spongycastle.asn1.cmp.PKIMessage; -import org.spongycastle.asn1.cmp.PKIMessages; -import org.spongycastle.asn1.cmp.PKIStatus; -import org.spongycastle.asn1.cmp.PKIStatusInfo; -import org.spongycastle.asn1.cmp.POPODecKeyChallContent; -import org.spongycastle.asn1.cmp.POPODecKeyRespContent; -import org.spongycastle.asn1.cmp.PollRepContent; -import org.spongycastle.asn1.cmp.PollReqContent; -import org.spongycastle.asn1.cmp.ProtectedPart; -import org.spongycastle.asn1.cmp.RevAnnContent; -import org.spongycastle.asn1.cmp.RevDetails; -import org.spongycastle.asn1.cmp.RevRepContent; -import org.spongycastle.asn1.cmp.RevReqContent; -import org.spongycastle.asn1.cms.Attribute; -import org.spongycastle.asn1.cms.Attributes; -import org.spongycastle.asn1.cms.AuthEnvelopedData; -import org.spongycastle.asn1.cms.AuthenticatedData; -import org.spongycastle.asn1.cms.CompressedData; -import org.spongycastle.asn1.cms.ContentInfo; -import org.spongycastle.asn1.cms.EncryptedContentInfo; -import org.spongycastle.asn1.cms.EncryptedData; -import org.spongycastle.asn1.cms.EnvelopedData; -import org.spongycastle.asn1.cms.Evidence; -import org.spongycastle.asn1.cms.IssuerAndSerialNumber; -import org.spongycastle.asn1.cms.KEKIdentifier; -import org.spongycastle.asn1.cms.KEKRecipientInfo; -import org.spongycastle.asn1.cms.KeyAgreeRecipientIdentifier; -import org.spongycastle.asn1.cms.KeyAgreeRecipientInfo; -import org.spongycastle.asn1.cms.KeyTransRecipientInfo; -import org.spongycastle.asn1.cms.MetaData; -import org.spongycastle.asn1.cms.OriginatorIdentifierOrKey; -import org.spongycastle.asn1.cms.OriginatorInfo; -import org.spongycastle.asn1.cms.OriginatorPublicKey; -import org.spongycastle.asn1.cms.OtherKeyAttribute; -import org.spongycastle.asn1.cms.OtherRecipientInfo; -import org.spongycastle.asn1.cms.PasswordRecipientInfo; -import org.spongycastle.asn1.cms.RecipientEncryptedKey; -import org.spongycastle.asn1.cms.RecipientIdentifier; -import org.spongycastle.asn1.cms.RecipientInfo; -import org.spongycastle.asn1.cms.RecipientKeyIdentifier; -import org.spongycastle.asn1.cms.SignerIdentifier; -import org.spongycastle.asn1.cms.SignerInfo; -import org.spongycastle.asn1.cms.TimeStampAndCRL; -import org.spongycastle.asn1.cms.TimeStampTokenEvidence; -import org.spongycastle.asn1.cms.TimeStampedData; -import org.spongycastle.asn1.cms.ecc.MQVuserKeyingMaterial; -import org.spongycastle.asn1.crmf.AttributeTypeAndValue; -import org.spongycastle.asn1.crmf.CertId; -import org.spongycastle.asn1.crmf.CertReqMessages; -import org.spongycastle.asn1.crmf.CertReqMsg; -import org.spongycastle.asn1.crmf.CertRequest; -import org.spongycastle.asn1.crmf.CertTemplate; -import org.spongycastle.asn1.crmf.Controls; -import org.spongycastle.asn1.crmf.EncKeyWithID; -import org.spongycastle.asn1.crmf.EncryptedKey; -import org.spongycastle.asn1.crmf.EncryptedValue; -import org.spongycastle.asn1.crmf.OptionalValidity; -import org.spongycastle.asn1.crmf.PKIArchiveOptions; -import org.spongycastle.asn1.crmf.PKIPublicationInfo; -import org.spongycastle.asn1.crmf.PKMACValue; -import org.spongycastle.asn1.crmf.POPOPrivKey; -import org.spongycastle.asn1.crmf.POPOSigningKey; -import org.spongycastle.asn1.crmf.POPOSigningKeyInput; -import org.spongycastle.asn1.crmf.ProofOfPossession; -import org.spongycastle.asn1.crmf.SinglePubInfo; -import org.spongycastle.asn1.cryptopro.ECGOST3410ParamSetParameters; -import org.spongycastle.asn1.cryptopro.GOST28147Parameters; -import org.spongycastle.asn1.cryptopro.GOST3410ParamSetParameters; -import org.spongycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters; -import org.spongycastle.asn1.eac.CVCertificate; -import org.spongycastle.asn1.eac.CVCertificateRequest; -import org.spongycastle.asn1.eac.CertificateBody; -import org.spongycastle.asn1.eac.PublicKeyDataObject; -import org.spongycastle.asn1.eac.RSAPublicKey; -import org.spongycastle.asn1.eac.UnsignedInteger; -import org.spongycastle.asn1.esf.CommitmentTypeIndication; -import org.spongycastle.asn1.esf.CommitmentTypeQualifier; -import org.spongycastle.asn1.esf.CompleteRevocationRefs; -import org.spongycastle.asn1.esf.CrlIdentifier; -import org.spongycastle.asn1.esf.CrlListID; -import org.spongycastle.asn1.esf.CrlOcspRef; -import org.spongycastle.asn1.esf.CrlValidatedID; -import org.spongycastle.asn1.esf.OcspIdentifier; -import org.spongycastle.asn1.esf.OcspListID; -import org.spongycastle.asn1.esf.OcspResponsesID; -import org.spongycastle.asn1.esf.OtherHash; -import org.spongycastle.asn1.esf.OtherHashAlgAndValue; -import org.spongycastle.asn1.esf.OtherRevRefs; -import org.spongycastle.asn1.esf.OtherRevVals; -import org.spongycastle.asn1.esf.RevocationValues; -import org.spongycastle.asn1.esf.SPUserNotice; -import org.spongycastle.asn1.esf.SPuri; -import org.spongycastle.asn1.esf.SigPolicyQualifierInfo; -import org.spongycastle.asn1.esf.SigPolicyQualifiers; -import org.spongycastle.asn1.esf.SignaturePolicyId; -import org.spongycastle.asn1.esf.SignaturePolicyIdentifier; -import org.spongycastle.asn1.esf.SignerAttribute; -import org.spongycastle.asn1.esf.SignerLocation; -import org.spongycastle.asn1.ess.ContentHints; -import org.spongycastle.asn1.ess.ContentIdentifier; -import org.spongycastle.asn1.ess.ESSCertID; -import org.spongycastle.asn1.ess.ESSCertIDv2; -import org.spongycastle.asn1.ess.OtherCertID; -import org.spongycastle.asn1.ess.OtherSigningCertificate; -import org.spongycastle.asn1.ess.SigningCertificate; -import org.spongycastle.asn1.ess.SigningCertificateV2; -import org.spongycastle.asn1.icao.CscaMasterList; -import org.spongycastle.asn1.icao.DataGroupHash; -import org.spongycastle.asn1.icao.LDSSecurityObject; -import org.spongycastle.asn1.icao.LDSVersionInfo; -import org.spongycastle.asn1.isismtt.ocsp.CertHash; -import org.spongycastle.asn1.isismtt.ocsp.RequestedCertificate; -import org.spongycastle.asn1.isismtt.x509.AdditionalInformationSyntax; -import org.spongycastle.asn1.isismtt.x509.AdmissionSyntax; -import org.spongycastle.asn1.isismtt.x509.Admissions; -import org.spongycastle.asn1.isismtt.x509.DeclarationOfMajority; -import org.spongycastle.asn1.isismtt.x509.MonetaryLimit; -import org.spongycastle.asn1.isismtt.x509.NamingAuthority; -import org.spongycastle.asn1.isismtt.x509.ProcurationSyntax; -import org.spongycastle.asn1.isismtt.x509.ProfessionInfo; -import org.spongycastle.asn1.isismtt.x509.Restriction; -import org.spongycastle.asn1.misc.CAST5CBCParameters; -import org.spongycastle.asn1.misc.IDEACBCPar; -import org.spongycastle.asn1.mozilla.PublicKeyAndChallenge; -import org.spongycastle.asn1.ocsp.BasicOCSPResponse; -import org.spongycastle.asn1.ocsp.CertID; -import org.spongycastle.asn1.ocsp.CertStatus; -import org.spongycastle.asn1.ocsp.CrlID; -import org.spongycastle.asn1.ocsp.OCSPRequest; -import org.spongycastle.asn1.ocsp.OCSPResponse; -import org.spongycastle.asn1.ocsp.OCSPResponseStatus; -import org.spongycastle.asn1.ocsp.Request; -import org.spongycastle.asn1.ocsp.ResponderID; -import org.spongycastle.asn1.ocsp.ResponseBytes; -import org.spongycastle.asn1.ocsp.ResponseData; -import org.spongycastle.asn1.ocsp.RevokedInfo; -import org.spongycastle.asn1.ocsp.Signature; -import org.spongycastle.asn1.ocsp.SingleResponse; -import org.spongycastle.asn1.ocsp.TBSRequest; -import org.spongycastle.asn1.oiw.OIWObjectIdentifiers; -import org.spongycastle.asn1.pkcs.AuthenticatedSafe; -import org.spongycastle.asn1.pkcs.CertificationRequest; -import org.spongycastle.asn1.pkcs.CertificationRequestInfo; -import org.spongycastle.asn1.pkcs.DHParameter; -import org.spongycastle.asn1.pkcs.EncryptedPrivateKeyInfo; -import org.spongycastle.asn1.pkcs.MacData; -import org.spongycastle.asn1.pkcs.PBEParameter; -import org.spongycastle.asn1.pkcs.PBES2Parameters; -import org.spongycastle.asn1.pkcs.PBKDF2Params; -import org.spongycastle.asn1.pkcs.PKCS12PBEParams; -import org.spongycastle.asn1.pkcs.Pfx; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.pkcs.RC2CBCParameter; -import org.spongycastle.asn1.pkcs.RSAESOAEPparams; -import org.spongycastle.asn1.pkcs.RSAPrivateKey; -import org.spongycastle.asn1.pkcs.RSASSAPSSparams; -import org.spongycastle.asn1.pkcs.SafeBag; -import org.spongycastle.asn1.pkcs.SignedData; -import org.spongycastle.asn1.sec.ECPrivateKey; -import org.spongycastle.asn1.smime.SMIMECapabilities; -import org.spongycastle.asn1.smime.SMIMECapability; -import org.spongycastle.asn1.tsp.Accuracy; -import org.spongycastle.asn1.tsp.MessageImprint; -import org.spongycastle.asn1.tsp.TSTInfo; -import org.spongycastle.asn1.tsp.TimeStampReq; -import org.spongycastle.asn1.tsp.TimeStampResp; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x509.AccessDescription; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.AttCertIssuer; -import org.spongycastle.asn1.x509.AttCertValidityPeriod; -import org.spongycastle.asn1.x509.AttributeCertificate; -import org.spongycastle.asn1.x509.AttributeCertificateInfo; -import org.spongycastle.asn1.x509.AuthorityInformationAccess; -import org.spongycastle.asn1.x509.AuthorityKeyIdentifier; -import org.spongycastle.asn1.x509.BasicConstraints; -import org.spongycastle.asn1.x509.CRLDistPoint; -import org.spongycastle.asn1.x509.CRLNumber; -import org.spongycastle.asn1.x509.CRLReason; -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.asn1.x509.CertificateList; -import org.spongycastle.asn1.x509.CertificatePair; -import org.spongycastle.asn1.x509.CertificatePolicies; -import org.spongycastle.asn1.x509.DSAParameter; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.asn1.x509.DisplayText; -import org.spongycastle.asn1.x509.DistributionPoint; -import org.spongycastle.asn1.x509.DistributionPointName; -import org.spongycastle.asn1.x509.ExtendedKeyUsage; -import org.spongycastle.asn1.x509.Extensions; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.GeneralSubtree; -import org.spongycastle.asn1.x509.Holder; -import org.spongycastle.asn1.x509.IetfAttrSyntax; -import org.spongycastle.asn1.x509.IssuerSerial; -import org.spongycastle.asn1.x509.IssuingDistributionPoint; -import org.spongycastle.asn1.x509.NameConstraints; -import org.spongycastle.asn1.x509.NoticeReference; -import org.spongycastle.asn1.x509.ObjectDigestInfo; -import org.spongycastle.asn1.x509.PolicyInformation; -import org.spongycastle.asn1.x509.PolicyMappings; -import org.spongycastle.asn1.x509.PolicyQualifierInfo; -import org.spongycastle.asn1.x509.PrivateKeyUsagePeriod; -import org.spongycastle.asn1.x509.RSAPublicKeyStructure; -import org.spongycastle.asn1.x509.RoleSyntax; -import org.spongycastle.asn1.x509.SubjectDirectoryAttributes; -import org.spongycastle.asn1.x509.SubjectKeyIdentifier; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x509.TBSCertList; -import org.spongycastle.asn1.x509.TBSCertificate; -import org.spongycastle.asn1.x509.TBSCertificateStructure; -import org.spongycastle.asn1.x509.Target; -import org.spongycastle.asn1.x509.TargetInformation; -import org.spongycastle.asn1.x509.Targets; -import org.spongycastle.asn1.x509.Time; -import org.spongycastle.asn1.x509.UserNotice; -import org.spongycastle.asn1.x509.V2Form; -import org.spongycastle.asn1.x509.X509CertificateStructure; -import org.spongycastle.asn1.x509.X509Extensions; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.asn1.x509.qualified.BiometricData; -import org.spongycastle.asn1.x509.qualified.Iso4217CurrencyCode; -import org.spongycastle.asn1.x509.qualified.MonetaryValue; -import org.spongycastle.asn1.x509.qualified.QCStatement; -import org.spongycastle.asn1.x509.qualified.SemanticsInformation; -import org.spongycastle.asn1.x509.qualified.TypeOfBiometricData; -import org.spongycastle.asn1.x509.sigi.NameOrPseudonym; -import org.spongycastle.asn1.x509.sigi.PersonalData; -import org.spongycastle.asn1.x9.DHDomainParameters; -import org.spongycastle.asn1.x9.DHPublicKey; -import org.spongycastle.asn1.x9.DHValidationParms; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.util.Integers; -import org.spongycastle.util.encoders.Base64; - -public class GetInstanceTest - extends TestCase -{ - public static byte[] attrCert = Base64.decode( - "MIIHQDCCBqkCAQEwgZChgY2kgYowgYcxHDAaBgkqhkiG9w0BCQEWDW1sb3JjaEB2" - + "dC5lZHUxHjAcBgNVBAMTFU1hcmt1cyBMb3JjaCAobWxvcmNoKTEbMBkGA1UECxMS" - + "VmlyZ2luaWEgVGVjaCBVc2VyMRAwDgYDVQQLEwdDbGFzcyAyMQswCQYDVQQKEwJ2" - + "dDELMAkGA1UEBhMCVVMwgYmkgYYwgYMxGzAZBgkqhkiG9w0BCQEWDHNzaGFoQHZ0" - + "LmVkdTEbMBkGA1UEAxMSU3VtaXQgU2hhaCAoc3NoYWgpMRswGQYDVQQLExJWaXJn" - + "aW5pYSBUZWNoIFVzZXIxEDAOBgNVBAsTB0NsYXNzIDExCzAJBgNVBAoTAnZ0MQsw" - + "CQYDVQQGEwJVUzANBgkqhkiG9w0BAQQFAAIBBTAiGA8yMDAzMDcxODE2MDgwMloY" - + "DzIwMDMwNzI1MTYwODAyWjCCBU0wggVJBgorBgEEAbRoCAEBMYIFORaCBTU8UnVs" - + "ZSBSdWxlSWQ9IkZpbGUtUHJpdmlsZWdlLVJ1bGUiIEVmZmVjdD0iUGVybWl0Ij4K" - + "IDxUYXJnZXQ+CiAgPFN1YmplY3RzPgogICA8U3ViamVjdD4KICAgIDxTdWJqZWN0" - + "TWF0Y2ggTWF0Y2hJZD0idXJuOm9hc2lzOm5hbWVzOnRjOnhhY21sOjEuMDpmdW5j" - + "dGlvbjpzdHJpbmctZXF1YWwiPgogICAgIDxBdHRyaWJ1dGVWYWx1ZSBEYXRhVHlw" - + "ZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc3RyaW5nIj4KICAg" - + "ICAgIENOPU1hcmt1cyBMb3JjaDwvQXR0cmlidXRlVmFsdWU+CiAgICAgPFN1Ympl" - + "Y3RBdHRyaWJ1dGVEZXNpZ25hdG9yIEF0dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFt" - + "ZXM6dGM6eGFjbWw6MS4wOnN1YmplY3Q6c3ViamVjdC1pZCIgRGF0YVR5cGU9Imh0" - + "dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI3N0cmluZyIgLz4gCiAgICA8" - + "L1N1YmplY3RNYXRjaD4KICAgPC9TdWJqZWN0PgogIDwvU3ViamVjdHM+CiAgPFJl" - + "c291cmNlcz4KICAgPFJlc291cmNlPgogICAgPFJlc291cmNlTWF0Y2ggTWF0Y2hJ" - + "ZD0idXJuOm9hc2lzOm5hbWVzOnRjOnhhY21sOjEuMDpmdW5jdGlvbjpzdHJpbmct" - + "ZXF1YWwiPgogICAgIDxBdHRyaWJ1dGVWYWx1ZSBEYXRhVHlwZT0iaHR0cDovL3d3" - + "dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYW55VVJJIj4KICAgICAgaHR0cDovL3p1" - + "bmkuY3MudnQuZWR1PC9BdHRyaWJ1dGVWYWx1ZT4KICAgICA8UmVzb3VyY2VBdHRy" - + "aWJ1dGVEZXNpZ25hdG9yIEF0dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFtZXM6dGM6" - + "eGFjbWw6MS4wOnJlc291cmNlOnJlc291cmNlLWlkIiBEYXRhVHlwZT0iaHR0cDov" - + "L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYW55VVJJIiAvPiAKICAgIDwvUmVz" - + "b3VyY2VNYXRjaD4KICAgPC9SZXNvdXJjZT4KICA8L1Jlc291cmNlcz4KICA8QWN0" - + "aW9ucz4KICAgPEFjdGlvbj4KICAgIDxBY3Rpb25NYXRjaCBNYXRjaElkPSJ1cm46" - + "b2FzaXM6bmFtZXM6dGM6eGFjbWw6MS4wOmZ1bmN0aW9uOnN0cmluZy1lcXVhbCI+" - + "CiAgICAgPEF0dHJpYnV0ZVZhbHVlIERhdGFUeXBlPSJodHRwOi8vd3d3LnczLm9y" - + "Zy8yMDAxL1hNTFNjaGVtYSNzdHJpbmciPgpEZWxlZ2F0ZSBBY2Nlc3MgICAgIDwv" - + "QXR0cmlidXRlVmFsdWU+CgkgIDxBY3Rpb25BdHRyaWJ1dGVEZXNpZ25hdG9yIEF0" - + "dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFtZXM6dGM6eGFjbWw6MS4wOmFjdGlvbjph" - + "Y3Rpb24taWQiIERhdGFUeXBlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj" - + "aGVtYSNzdHJpbmciIC8+IAogICAgPC9BY3Rpb25NYXRjaD4KICAgPC9BY3Rpb24+" - + "CiAgPC9BY3Rpb25zPgogPC9UYXJnZXQ+CjwvUnVsZT4KMA0GCSqGSIb3DQEBBAUA" - + "A4GBAGiJSM48XsY90HlYxGmGVSmNR6ZW2As+bot3KAfiCIkUIOAqhcphBS23egTr" - + "6asYwy151HshbPNYz+Cgeqs45KkVzh7bL/0e1r8sDVIaaGIkjHK3CqBABnfSayr3" - + "Rd1yBoDdEv8Qb+3eEPH6ab9021AsLEnJ6LWTmybbOpMNZ3tv"); - - byte[] cert1 = Base64.decode( - "MIIDXjCCAsegAwIBAgIBBzANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx" - + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY" - + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB" - + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ" - + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU2MjFaFw0wMTA2" - + "MDIwNzU2MjFaMIG4MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW" - + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM" - + "dGQxFzAVBgNVBAsTDldlYnNlcnZlciBUZWFtMR0wGwYDVQQDExR3d3cyLmNvbm5l" - + "Y3Q0LmNvbS5hdTEoMCYGCSqGSIb3DQEJARYZd2VibWFzdGVyQGNvbm5lY3Q0LmNv" - + "bS5hdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArvDxclKAhyv7Q/Wmr2re" - + "Gw4XL9Cnh9e+6VgWy2AWNy/MVeXdlxzd7QAuc1eOWQkGQEiLPy5XQtTY+sBUJ3AO" - + "Rvd2fEVJIcjf29ey7bYua9J/vz5MG2KYo9/WCHIwqD9mmG9g0xLcfwq/s8ZJBswE" - + "7sb85VU+h94PTvsWOsWuKaECAwEAAaN3MHUwJAYDVR0RBB0wG4EZd2VibWFzdGVy" - + "QGNvbm5lY3Q0LmNvbS5hdTA6BglghkgBhvhCAQ0ELRYrbW9kX3NzbCBnZW5lcmF0" - + "ZWQgY3VzdG9tIHNlcnZlciBjZXJ0aWZpY2F0ZTARBglghkgBhvhCAQEEBAMCBkAw" - + "DQYJKoZIhvcNAQEEBQADgYEAotccfKpwSsIxM1Hae8DR7M/Rw8dg/RqOWx45HNVL" - + "iBS4/3N/TO195yeQKbfmzbAA2jbPVvIvGgTxPgO1MP4ZgvgRhasaa0qCJCkWvpM4" - + "yQf33vOiYQbpv4rTwzU8AmRlBG45WdjyNIigGV+oRc61aKCTnLq7zB8N3z1TF/bF" - + "5/8="); - - private byte[] v2CertList = Base64.decode( - "MIICjTCCAfowDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMxIDAeBgNVBAoT" - + "F1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2VydmVy" - + "IENlcnRpZmljYXRpb24gQXV0aG9yaXR5Fw05NTA1MDIwMjEyMjZaFw05NTA2MDEw" - + "MDAxNDlaMIIBaDAWAgUCQQAABBcNOTUwMjAxMTcyNDI2WjAWAgUCQQAACRcNOTUw" - + "MjEwMDIxNjM5WjAWAgUCQQAADxcNOTUwMjI0MDAxMjQ5WjAWAgUCQQAADBcNOTUw" - + "MjI1MDA0NjQ0WjAWAgUCQQAAGxcNOTUwMzEzMTg0MDQ5WjAWAgUCQQAAFhcNOTUw" - + "MzE1MTkxNjU0WjAWAgUCQQAAGhcNOTUwMzE1MTk0MDQxWjAWAgUCQQAAHxcNOTUw" - + "MzI0MTk0NDMzWjAWAgUCcgAABRcNOTUwMzI5MjAwNzExWjAWAgUCcgAAERcNOTUw" - + "MzMwMDIzNDI2WjAWAgUCQQAAIBcNOTUwNDA3MDExMzIxWjAWAgUCcgAAHhcNOTUw" - + "NDA4MDAwMjU5WjAWAgUCcgAAQRcNOTUwNDI4MTcxNzI0WjAWAgUCcgAAOBcNOTUw" - + "NDI4MTcyNzIxWjAWAgUCcgAATBcNOTUwNTAyMDIxMjI2WjANBgkqhkiG9w0BAQIF" - + "AAN+AHqOEJXSDejYy0UwxxrH/9+N2z5xu/if0J6qQmK92W0hW158wpJg+ovV3+wQ" - + "wvIEPRL2rocL0tKfAsVq1IawSJzSNgxG0lrcla3MrJBnZ4GaZDu4FutZh72MR3Gt" - + "JaAL3iTJHJD55kK2D/VoyY1djlsPuNh6AEgdVwFAyp0v"); - - private static final Object[] NULL_ARGS = new Object[] { null }; - - private void doFullGetInstanceTest(Class clazz, ASN1Object o1) - throws Exception - { - Method m; - - try - { - m = clazz.getMethod("getInstance", Object.class); - } - catch (NoSuchMethodException e) - { - fail("no getInstance method found"); - return; - } - - ASN1Object o2 = (ASN1Object)m.invoke(clazz, NULL_ARGS); - if (o2 != null) - { - fail(clazz.getName() + " null failed"); - } - - o2 = (ASN1Object)m.invoke(clazz, o1); - - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " equality failed"); - } - - o2 = (ASN1Object)m.invoke(clazz, o1.getEncoded()); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " encoded equality failed"); - } - - o2 = (ASN1Object)m.invoke(clazz, o1.toASN1Primitive()); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " sequence equality failed"); - } - - try - { - m = clazz.getMethod("getInstance", ASN1TaggedObject.class, Boolean.TYPE); - } - catch (NoSuchMethodException e) - { - return; - } - - ASN1TaggedObject t = new DERTaggedObject(true, 0, o1); - o2 = (ASN1Object)m.invoke(clazz, t, true); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - - t = new DERTaggedObject(true, 0, o1.toASN1Primitive()); - o2 = (ASN1Object)m.invoke(clazz, t, true); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - - t = ASN1TaggedObject.getInstance(t.getEncoded()); - o2 = (ASN1Object)m.invoke(clazz, t, true); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - - t = new DERTaggedObject(false, 0, o1); - o2 = (ASN1Object)m.invoke(clazz, t, false); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - - t = new DERTaggedObject(false, 0, o1.toASN1Primitive()); - o2 = (ASN1Object)m.invoke(clazz, t, false); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - - t = ASN1TaggedObject.getInstance(t.getEncoded()); - o2 = (ASN1Object)m.invoke(clazz, t, false); - if (!o1.equals(o2) || !clazz.isInstance(o2)) - { - fail(clazz.getName() + " tag equality failed"); - } - } - - public void testGetInstance() - throws Exception - { - doFullGetInstanceTest(DERPrintableString.class, new DERPrintableString("hello world")); - doFullGetInstanceTest(DERBMPString.class, new DERBMPString("hello world")); - doFullGetInstanceTest(DERUTF8String.class, new DERUTF8String("hello world")); - doFullGetInstanceTest(DERUniversalString.class, new DERUniversalString(new byte[20])); - doFullGetInstanceTest(DERIA5String.class, new DERIA5String("hello world")); - doFullGetInstanceTest(DERGeneralString.class, new DERGeneralString("hello world")); - doFullGetInstanceTest(DERNumericString.class, new DERNumericString("hello world")); - doFullGetInstanceTest(DERNumericString.class, new DERNumericString("99999", true)); - doFullGetInstanceTest(DERT61String.class, new DERT61String("hello world")); - doFullGetInstanceTest(DERVisibleString.class, new DERVisibleString("hello world")); - - doFullGetInstanceTest(ASN1Integer.class, new ASN1Integer(1)); - doFullGetInstanceTest(ASN1GeneralizedTime.class, new ASN1GeneralizedTime(new Date())); - doFullGetInstanceTest(ASN1UTCTime.class, new ASN1UTCTime(new Date())); - doFullGetInstanceTest(ASN1Enumerated.class, new ASN1Enumerated(1)); - - CMPCertificate cmpCert = new CMPCertificate(Certificate.getInstance(cert1)); - CertificateList crl = CertificateList.getInstance(v2CertList); - AttributeCertificate attributeCert = AttributeCertificate.getInstance(attrCert); - - doFullGetInstanceTest(CAKeyUpdAnnContent.class, new CAKeyUpdAnnContent(cmpCert, cmpCert, cmpCert)); - - CertConfirmContent.getInstance(null); - CertifiedKeyPair.getInstance(null); - CertOrEncCert.getInstance(null); - CertRepMessage.getInstance(null); - doFullGetInstanceTest(CertResponse.class, new CertResponse(new ASN1Integer(1), new PKIStatusInfo(PKIStatus.granted))); - doFullGetInstanceTest(org.spongycastle.asn1.cmp.CertStatus.class, new org.spongycastle.asn1.cmp.CertStatus(new byte[10], BigInteger.valueOf(1), new PKIStatusInfo(PKIStatus.granted))); - doFullGetInstanceTest(Challenge.class, new Challenge(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new byte[10], new byte[10])); - - doFullGetInstanceTest(CMPCertificate.class, cmpCert); - doFullGetInstanceTest(CRLAnnContent.class, new CRLAnnContent(crl)); - doFullGetInstanceTest(ErrorMsgContent.class, new ErrorMsgContent(new PKIStatusInfo(PKIStatus.granted), new ASN1Integer(1), new PKIFreeText("fred"))); - GenMsgContent.getInstance(null); - GenRepContent.getInstance(null); - InfoTypeAndValue.getInstance(null); - KeyRecRepContent.getInstance(null); - OOBCertHash.getInstance(null); - PBMParameter.getInstance(null); - PKIBody.getInstance(null); - PKIConfirmContent.getInstance(null); - PKIFreeText.getInstance(null); - doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText("hello world")); - doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText(new String[]{"hello", "world"})); - doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText(new DERUTF8String[]{new DERUTF8String("hello"), new DERUTF8String("world")})); - PKIHeader.getInstance(null); - PKIMessage.getInstance(null); - PKIMessages.getInstance(null); - doFullGetInstanceTest(PKIStatusInfo.class, new PKIStatusInfo(PKIStatus.rejection, new PKIFreeText("hello world"), new PKIFailureInfo(PKIFailureInfo.badAlg))); - doFullGetInstanceTest(PKIStatusInfo.class, new PKIStatusInfo(PKIStatus.granted, new PKIFreeText("hello world"))); - PKIStatus.getInstance(null); - PollRepContent.getInstance(null); - PollReqContent.getInstance(null); - POPODecKeyChallContent.getInstance(null); - POPODecKeyRespContent.getInstance(null); - ProtectedPart.getInstance(null); - RevAnnContent.getInstance(null); - RevDetails.getInstance(null); - RevRepContent.getInstance(null); - RevReqContent.getInstance(null); - Attribute.getInstance(null); - Attributes.getInstance(null); - AuthenticatedData.getInstance(null); - AuthenticatedData.getInstance(null); - AuthEnvelopedData.getInstance(null); - AuthEnvelopedData.getInstance(null); - CompressedData.getInstance(null); - CompressedData.getInstance(null); - ContentInfo.getInstance(null); - EncryptedContentInfo.getInstance(null); - EncryptedData.getInstance(null); - EnvelopedData.getInstance(null); - EnvelopedData.getInstance(null); - Evidence.getInstance(null); - IssuerAndSerialNumber.getInstance(null); - KEKIdentifier.getInstance(null); - KEKIdentifier.getInstance(null); - KEKRecipientInfo.getInstance(null); - KEKRecipientInfo.getInstance(null); - KeyAgreeRecipientIdentifier.getInstance(null); - KeyAgreeRecipientIdentifier.getInstance(null); - KeyAgreeRecipientInfo.getInstance(null); - KeyAgreeRecipientInfo.getInstance(null); - KeyTransRecipientInfo.getInstance(null); - MetaData.getInstance(null); - OriginatorIdentifierOrKey.getInstance(null); - OriginatorIdentifierOrKey.getInstance(null); - OriginatorInfo.getInstance(null); - OriginatorInfo.getInstance(null); - OriginatorPublicKey.getInstance(null); - OriginatorPublicKey.getInstance(null); - OtherKeyAttribute.getInstance(null); - OtherRecipientInfo.getInstance(null); - OtherRecipientInfo.getInstance(null); - PasswordRecipientInfo.getInstance(null); - PasswordRecipientInfo.getInstance(null); - RecipientEncryptedKey.getInstance(null); - RecipientIdentifier.getInstance(null); - RecipientInfo.getInstance(null); - RecipientKeyIdentifier.getInstance(null); - RecipientKeyIdentifier.getInstance(null); - SignedData.getInstance(null); - SignerIdentifier.getInstance(null); - SignerInfo.getInstance(null); - Time.getInstance(null); - Time.getInstance(null); - TimeStampAndCRL.getInstance(null); - TimeStampedData.getInstance(null); - TimeStampTokenEvidence.getInstance(null); - AttributeTypeAndValue.getInstance(null); - - doFullGetInstanceTest(CertId.class, new CertId(new GeneralName(new X500Name("CN=Test")), BigInteger.valueOf(1))); - - - CertReqMessages.getInstance(null); - CertReqMsg.getInstance(null); - CertRequest.getInstance(null); - CertTemplate.getInstance(null); - Controls.getInstance(null); - EncKeyWithID.getInstance(null); - EncryptedKey.getInstance(null); - EncryptedValue.getInstance(null); - OptionalValidity.getInstance(null); - PKIArchiveOptions.getInstance(null); - PKIPublicationInfo.getInstance(null); - PKMACValue.getInstance(null); - PKMACValue.getInstance(null); - POPOPrivKey.getInstance(null); - POPOSigningKeyInput.getInstance(null); - POPOSigningKey.getInstance(null); - POPOSigningKey.getInstance(null); - ProofOfPossession.getInstance(null); - SinglePubInfo.getInstance(null); - ECGOST3410ParamSetParameters.getInstance(null); - ECGOST3410ParamSetParameters.getInstance(null); - GOST28147Parameters.getInstance(null); - GOST28147Parameters.getInstance(null); - GOST3410ParamSetParameters.getInstance(null); - GOST3410ParamSetParameters.getInstance(null); - GOST3410PublicKeyAlgParameters.getInstance(null); - GOST3410PublicKeyAlgParameters.getInstance(null); - CertificateBody.getInstance(null); - CVCertificate.getInstance(null); - CVCertificateRequest.getInstance(null); - PublicKeyDataObject.getInstance(null); - UnsignedInteger.getInstance(null); - CommitmentTypeIndication.getInstance(null); - CommitmentTypeQualifier.getInstance(null); - - OcspIdentifier ocspIdentifier = new OcspIdentifier(new ResponderID(new X500Name("CN=Test")), new ASN1GeneralizedTime(new Date())); - CrlListID crlListID = new CrlListID(new CrlValidatedID[]{new CrlValidatedID(new OtherHash(new byte[20]))}); - OcspListID ocspListID = new OcspListID(new OcspResponsesID[] { new OcspResponsesID(ocspIdentifier) }); - OtherRevRefs otherRevRefs = new OtherRevRefs(new ASN1ObjectIdentifier("1.2.1"), new DERSequence()); - OtherRevVals otherRevVals = new OtherRevVals(new ASN1ObjectIdentifier("1.2.1"), new DERSequence()); - CrlOcspRef crlOcspRef = new CrlOcspRef(crlListID, ocspListID, otherRevRefs); - doFullGetInstanceTest(CompleteRevocationRefs.class, new CompleteRevocationRefs(new CrlOcspRef[]{crlOcspRef, crlOcspRef})); - - doFullGetInstanceTest(CrlIdentifier.class, new CrlIdentifier(new X500Name("CN=Test"), new ASN1UTCTime(new Date()), BigInteger.valueOf(1))); - - - doFullGetInstanceTest(CrlListID.class, crlListID); - doFullGetInstanceTest(CrlOcspRef.class, crlOcspRef); - doFullGetInstanceTest(CrlValidatedID.class, new CrlValidatedID(new OtherHash(new byte[20]))); - doFullGetInstanceTest(OcspIdentifier.class, ocspIdentifier); - doFullGetInstanceTest(OcspListID.class, ocspListID); - doFullGetInstanceTest(OcspResponsesID.class, new OcspResponsesID(ocspIdentifier)); - - OtherHashAlgAndValue otherHashAlgAndValue = new OtherHashAlgAndValue(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new DEROctetString(new byte[10])); - doFullGetInstanceTest(OtherHashAlgAndValue.class, otherHashAlgAndValue); - OtherHash.getInstance(null); - doFullGetInstanceTest(OtherRevRefs.class, otherRevRefs); - doFullGetInstanceTest(OtherRevVals.class, otherRevVals); - doFullGetInstanceTest(RevocationValues.class, new RevocationValues(new CertificateList[]{crl}, null, otherRevVals)); - - SignaturePolicyId signaturePolicyId = new SignaturePolicyId(new ASN1ObjectIdentifier("1.2.1"), otherHashAlgAndValue); - doFullGetInstanceTest(SignaturePolicyIdentifier.class, new SignaturePolicyIdentifier()); - doFullGetInstanceTest(SignaturePolicyIdentifier.class, new SignaturePolicyIdentifier(signaturePolicyId)); - doFullGetInstanceTest(SignaturePolicyId.class, signaturePolicyId); - doFullGetInstanceTest(SignerAttribute.class, new SignerAttribute(new org.spongycastle.asn1.x509.Attribute[]{new org.spongycastle.asn1.x509.Attribute(new ASN1ObjectIdentifier("1.2.1"), new DERSet())})); - doFullGetInstanceTest(SignerAttribute.class, new SignerAttribute(attributeCert)); - - ASN1EncodableVector postalAddr = new ASN1EncodableVector(); - - postalAddr.add(new DERUTF8String("line 1")); - postalAddr.add(new DERUTF8String("line 2")); - - doFullGetInstanceTest(SignerLocation.class, new SignerLocation(new DERUTF8String("AU"), new DERUTF8String("Melbourne"), new DERSequence(postalAddr))); - doFullGetInstanceTest(SigPolicyQualifierInfo.class, new SigPolicyQualifierInfo(new ASN1ObjectIdentifier("1.2.1"), new DERSequence())); - SigPolicyQualifiers.getInstance(null); - SPuri.getInstance(null); - Vector v = new Vector(); - - v.add(Integers.valueOf(1)); - v.add(BigInteger.valueOf(2)); - NoticeReference noticeReference = new NoticeReference("SC", v); - doFullGetInstanceTest(SPUserNotice.class, new SPUserNotice(noticeReference, new DisplayText("hello world"))); - ContentHints.getInstance(null); - ContentIdentifier.getInstance(null); - ESSCertID.getInstance(null); - ESSCertIDv2.getInstance(null); - OtherCertID.getInstance(null); - OtherSigningCertificate.getInstance(null); - SigningCertificate.getInstance(null); - SigningCertificateV2.getInstance(null); - CscaMasterList.getInstance(null); - DataGroupHash.getInstance(null); - LDSSecurityObject.getInstance(null); - LDSVersionInfo.getInstance(null); - CAST5CBCParameters.getInstance(null); - IDEACBCPar.getInstance(null); - PublicKeyAndChallenge.getInstance(null); - BasicOCSPResponse.getInstance(null); - BasicOCSPResponse.getInstance(null); - - doFullGetInstanceTest(CertID.class, new CertID(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new DEROctetString(new byte[1]), new DEROctetString(new byte[1]), new ASN1Integer(1))); - - CertStatus.getInstance(null); - CertStatus.getInstance(null); - CrlID.getInstance(null); - OCSPRequest.getInstance(null); - OCSPRequest.getInstance(null); - OCSPResponse.getInstance(null); - OCSPResponse.getInstance(null); - OCSPResponseStatus.getInstance(null); - Request.getInstance(null); - Request.getInstance(null); - ResponderID.getInstance(null); - ResponderID.getInstance(null); - ResponseBytes.getInstance(null); - ResponseBytes.getInstance(null); - ResponseData.getInstance(null); - ResponseData.getInstance(null); - RevokedInfo.getInstance(null); - RevokedInfo.getInstance(null); - Signature.getInstance(null); - Signature.getInstance(null); - SingleResponse.getInstance(null); - SingleResponse.getInstance(null); - TBSRequest.getInstance(null); - TBSRequest.getInstance(null); - Attribute.getInstance(null); - AuthenticatedSafe.getInstance(null); - CertificationRequestInfo.getInstance(null); - CertificationRequest.getInstance(null); - ContentInfo.getInstance(null); - DHParameter.getInstance(null); - EncryptedData.getInstance(null); - EncryptedPrivateKeyInfo.getInstance(null); - AlgorithmIdentifier.getInstance(null); - IssuerAndSerialNumber.getInstance(null); - MacData.getInstance(null); - PBEParameter.getInstance(null); - PBES2Parameters.getInstance(null); - PBKDF2Params.getInstance(null); - Pfx.getInstance(null); - PKCS12PBEParams.getInstance(null); - PrivateKeyInfo.getInstance(null); - PrivateKeyInfo.getInstance(null); - RC2CBCParameter.getInstance(null); - RSAESOAEPparams.getInstance(null); - RSAPrivateKey.getInstance(null); - RSAPrivateKey.getInstance(null); - RSAPublicKey.getInstance(null); - RSAPublicKey.getInstance(null); - RSASSAPSSparams.getInstance(null); - SafeBag.getInstance(null); - SignedData.getInstance(null); - SignerInfo.getInstance(null); - ECPrivateKey.getInstance(null); - SMIMECapabilities.getInstance(null); - SMIMECapability.getInstance(null); - Accuracy.getInstance(null); - MessageImprint.getInstance(null); - TimeStampReq.getInstance(null); - TimeStampResp.getInstance(null); - TSTInfo.getInstance(null); - AttributeTypeAndValue.getInstance(null); - DirectoryString.getInstance(null); - DirectoryString.getInstance(null); - RDN.getInstance(null); - X500Name.getInstance(null); - X500Name.getInstance(null); - AccessDescription.getInstance(null); - AlgorithmIdentifier.getInstance(null); - AlgorithmIdentifier.getInstance(null); - AttCertIssuer.getInstance(null); - AttCertIssuer.getInstance(null); - AttCertValidityPeriod.getInstance(null); - AttributeCertificateInfo.getInstance(null); - AttributeCertificateInfo.getInstance(null); - AttributeCertificate.getInstance(null); - Attribute.getInstance(null); - AuthorityInformationAccess.getInstance(null); - AuthorityKeyIdentifier.getInstance(null); - AuthorityKeyIdentifier.getInstance(null); - BasicConstraints.getInstance(null); - BasicConstraints.getInstance(null); - Certificate.getInstance(null); - Certificate.getInstance(null); - CertificateList.getInstance(null); - CertificateList.getInstance(null); - CertificatePair.getInstance(null); - CertificatePolicies.getInstance(null); - CertificatePolicies.getInstance(null); - CRLDistPoint.getInstance(null); - CRLDistPoint.getInstance(null); - CRLNumber.getInstance(null); - CRLReason.getInstance(null); - DigestInfo.getInstance(null); - DigestInfo.getInstance(null); - DisplayText.getInstance(null); - DisplayText.getInstance(null); - DistributionPoint.getInstance(null); - DistributionPoint.getInstance(null); - DistributionPointName.getInstance(null); - DistributionPointName.getInstance(null); - DSAParameter.getInstance(null); - DSAParameter.getInstance(null); - ExtendedKeyUsage.getInstance(null); - ExtendedKeyUsage.getInstance(null); - Extensions.getInstance(null); - Extensions.getInstance(null); - GeneralName.getInstance(null); - GeneralName.getInstance(null); - GeneralNames.getInstance(null); - GeneralNames.getInstance(null); - - GeneralSubtree generalSubtree = new GeneralSubtree(new GeneralName(new X500Name("CN=Test"))); - ASN1ObjectIdentifier algOid = new ASN1ObjectIdentifier("1.2.1"); - ObjectDigestInfo objectDigestInfo = new ObjectDigestInfo(ObjectDigestInfo.otherObjectDigest, algOid, new AlgorithmIdentifier(algOid), new byte[20]); - - doFullGetInstanceTest(GeneralSubtree.class, generalSubtree); - doFullGetInstanceTest(Holder.class, new Holder(objectDigestInfo)); - IetfAttrSyntax.getInstance(null); - IssuerSerial.getInstance(null); - IssuerSerial.getInstance(null); - IssuingDistributionPoint.getInstance(null); - IssuingDistributionPoint.getInstance(null); - DERBitString.getInstance(null); - - v.clear(); - v.add(generalSubtree); - - doFullGetInstanceTest(NameConstraints.class, new NameConstraints(null, null)); - doFullGetInstanceTest(NoticeReference.class, noticeReference); - doFullGetInstanceTest(ObjectDigestInfo.class, objectDigestInfo); - - PolicyInformation.getInstance(null); - PolicyMappings.getInstance(null); - PolicyQualifierInfo.getInstance(null); - PrivateKeyUsagePeriod.getInstance(null); - doFullGetInstanceTest(RoleSyntax.class, new RoleSyntax(new GeneralNames(new GeneralName(new X500Name("CN=Test"))), new GeneralName(GeneralName.uniformResourceIdentifier, "http://bc"))); - RSAPublicKeyStructure.getInstance(null); - RSAPublicKeyStructure.getInstance(null); - SubjectDirectoryAttributes.getInstance(null); - SubjectKeyIdentifier.getInstance(null); - SubjectKeyIdentifier.getInstance(null); - SubjectPublicKeyInfo.getInstance(null); - SubjectPublicKeyInfo.getInstance(null); - TargetInformation.getInstance(null); - Target.getInstance(null); - Targets.getInstance(null); - TBSCertificate.getInstance(null); - TBSCertificate.getInstance(null); - TBSCertificateStructure.getInstance(null); - TBSCertificateStructure.getInstance(null); - TBSCertList.CRLEntry.getInstance(null); - TBSCertList.getInstance(null); - TBSCertList.getInstance(null); - Time.getInstance(null); - Time.getInstance(null); - doFullGetInstanceTest(UserNotice.class, new UserNotice(noticeReference, "hello world")); - V2Form.getInstance(null); - V2Form.getInstance(null); - X509CertificateStructure.getInstance(null); - X509CertificateStructure.getInstance(null); - X509Extensions.getInstance(null); - X509Extensions.getInstance(null); - X509Name.getInstance(null); - X509Name.getInstance(null); - DHDomainParameters.getInstance(null); - DHDomainParameters.getInstance(null); - DHPublicKey.getInstance(null); - DHPublicKey.getInstance(null); - DHValidationParms.getInstance(null); - DHValidationParms.getInstance(null); - X962Parameters.getInstance(null); - X962Parameters.getInstance(null); - X9ECParameters.getInstance(null); - MQVuserKeyingMaterial.getInstance(null); - MQVuserKeyingMaterial.getInstance(null); - CertHash.getInstance(null); - RequestedCertificate.getInstance(null); - RequestedCertificate.getInstance(null); - AdditionalInformationSyntax.getInstance(null); - Admissions.getInstance(null); - AdmissionSyntax.getInstance(null); - DeclarationOfMajority.getInstance(null); - MonetaryLimit.getInstance(null); - NamingAuthority.getInstance(null); - NamingAuthority.getInstance(null); - ProcurationSyntax.getInstance(null); - ProfessionInfo.getInstance(null); - Restriction.getInstance(null); - BiometricData.getInstance(null); - Iso4217CurrencyCode.getInstance(null); - MonetaryValue.getInstance(null); - QCStatement.getInstance(null); - SemanticsInformation.getInstance(null); - TypeOfBiometricData.getInstance(null); - NameOrPseudonym.getInstance(null); - PersonalData.getInstance(null); - } - - public String getName() - { - return "GetInstanceNullTest"; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/InputStreamTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/InputStreamTest.java deleted file mode 100644 index 000455d86..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/InputStreamTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.util.test.SimpleTest; - -public class InputStreamTest - extends SimpleTest -{ - private static final byte[] outOfBoundsLength = new byte[] { (byte)0x30, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff }; - private static final byte[] negativeLength = new byte[] { (byte)0x30, (byte)0x84, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff }; - private static final byte[] outsideLimitLength = new byte[] { (byte)0x30, (byte)0x83, (byte)0x0f, (byte)0xff, (byte)0xff }; - - - public String getName() - { - return "InputStream"; - } - - public void performTest() - throws Exception - { - ASN1InputStream aIn = new ASN1InputStream(outOfBoundsLength); - - try - { - aIn.readObject(); - fail("out of bounds length not detected."); - } - catch (IOException e) - { - if (!e.getMessage().startsWith("DER length more than 4 bytes")) - { - fail("wrong exception: " + e.getMessage()); - } - } - - aIn = new ASN1InputStream(negativeLength); - - try - { - aIn.readObject(); - fail("negative length not detected."); - } - catch (IOException e) - { - if (!e.getMessage().equals("corrupted stream - negative length found")) - { - fail("wrong exception: " + e.getMessage()); - } - } - - aIn = new ASN1InputStream(outsideLimitLength); - - try - { - aIn.readObject(); - fail("outside limit length not detected."); - } - catch (IOException e) - { - if (!e.getMessage().equals("corrupted stream - out of bounds length found")) - { - fail("wrong exception: " + e.getMessage()); - } - } - } - - public static void main( - String[] args) - { - runTest(new InputStreamTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java deleted file mode 100644 index 1c1978044..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.x509.qualified.Iso4217CurrencyCode; -import org.spongycastle.util.test.SimpleTest; - -public class Iso4217CurrencyCodeUnitTest - extends SimpleTest -{ - private static final String ALPHABETIC_CURRENCY_CODE = "AUD"; - private static final int NUMERIC_CURRENCY_CODE = 1; - - public String getName() - { - return "Iso4217CurrencyCode"; - } - - public void performTest() - throws Exception - { - // - // alphabetic - // - Iso4217CurrencyCode cc = new Iso4217CurrencyCode(ALPHABETIC_CURRENCY_CODE); - - checkNumeric(cc, ALPHABETIC_CURRENCY_CODE); - - cc = Iso4217CurrencyCode.getInstance(cc); - - checkNumeric(cc, ALPHABETIC_CURRENCY_CODE); - - ASN1Primitive obj = cc.toASN1Object(); - - cc = Iso4217CurrencyCode.getInstance(obj); - - checkNumeric(cc, ALPHABETIC_CURRENCY_CODE); - - // - // numeric - // - cc = new Iso4217CurrencyCode(NUMERIC_CURRENCY_CODE); - - checkNumeric(cc, NUMERIC_CURRENCY_CODE); - - cc = Iso4217CurrencyCode.getInstance(cc); - - checkNumeric(cc, NUMERIC_CURRENCY_CODE); - - obj = cc.toASN1Object(); - - cc = Iso4217CurrencyCode.getInstance(obj); - - checkNumeric(cc, NUMERIC_CURRENCY_CODE); - - cc = Iso4217CurrencyCode.getInstance(null); - - if (cc != null) - { - fail("null getInstance() failed."); - } - - try - { - Iso4217CurrencyCode.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new Iso4217CurrencyCode("ABCD"); - - fail("constructor failed to detect out of range currencycode."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new Iso4217CurrencyCode(0); - - fail("constructor failed to detect out of range small numeric code."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new Iso4217CurrencyCode(1000); - - fail("constructor failed to detect out of range large numeric code."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkNumeric( - Iso4217CurrencyCode cc, - String code) - { - if (!cc.isAlphabetic()) - { - fail("non-alphabetic code found when one expected."); - } - - if (!cc.getAlphabetic().equals(code)) - { - fail("string codes don't match."); - } - } - - private void checkNumeric( - Iso4217CurrencyCode cc, - int code) - { - if (cc.isAlphabetic()) - { - fail("alphabetic code found when one not expected."); - } - - if (cc.getNumeric() != code) - { - fail("numeric codes don't match."); - } - } - - public static void main( - String[] args) - { - runTest(new Iso4217CurrencyCodeUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/IssuingDistributionPointUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/IssuingDistributionPointUnitTest.java deleted file mode 100644 index 6453d7079..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/IssuingDistributionPointUnitTest.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.x509.DistributionPointName; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.IssuingDistributionPoint; -import org.spongycastle.asn1.x509.ReasonFlags; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.util.test.SimpleTest; - -public class IssuingDistributionPointUnitTest - extends SimpleTest -{ - public String getName() - { - return "IssuingDistributionPoint"; - } - - public void performTest() - throws Exception - { - DistributionPointName name = new DistributionPointName( - new GeneralNames(new GeneralName(new X509Name("cn=test")))); - ReasonFlags reasonFlags = new ReasonFlags(ReasonFlags.cACompromise); - - checkPoint(6, name, true, true, reasonFlags, true, true); - - checkPoint(2, name, false, false, reasonFlags, false, false); - - checkPoint(0, null, false, false, null, false, false); - - try - { - IssuingDistributionPoint.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkPoint( - int size, - DistributionPointName distributionPoint, - boolean onlyContainsUserCerts, - boolean onlyContainsCACerts, - ReasonFlags onlySomeReasons, - boolean indirectCRL, - boolean onlyContainsAttributeCerts) - throws IOException - { - IssuingDistributionPoint point = new IssuingDistributionPoint(distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts); - - checkValues(point, distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts); - - ASN1Sequence seq = ASN1Sequence.getInstance(ASN1Primitive.fromByteArray(point.getEncoded())); - - if (seq.size() != size) - { - fail("size mismatch"); - } - - point = IssuingDistributionPoint.getInstance(seq); - - checkValues(point, distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts); - } - - private void checkValues(IssuingDistributionPoint point, DistributionPointName distributionPoint, boolean onlyContainsUserCerts, boolean onlyContainsCACerts, ReasonFlags onlySomeReasons, boolean indirectCRL, boolean onlyContainsAttributeCerts) - { - if (point.onlyContainsUserCerts() != onlyContainsUserCerts) - { - fail("mismatch on onlyContainsUserCerts"); - } - - if (point.onlyContainsCACerts() != onlyContainsCACerts) - { - fail("mismatch on onlyContainsCACerts"); - } - - if (point.isIndirectCRL() != indirectCRL) - { - fail("mismatch on indirectCRL"); - } - - if (point.onlyContainsAttributeCerts() != onlyContainsAttributeCerts) - { - fail("mismatch on onlyContainsAttributeCerts"); - } - - if (!isEquiv(onlySomeReasons, point.getOnlySomeReasons())) - { - fail("mismatch on onlySomeReasons"); - } - - if (!isEquiv(distributionPoint, point.getDistributionPoint())) - { - fail("mismatch on distributionPoint"); - } - } - - private boolean isEquiv(Object o1, Object o2) - { - if (o1 == null) - { - return o2 == null; - } - - return o1.equals(o2); - } - - public static void main( - String[] args) - { - runTest(new IssuingDistributionPointUnitTest()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/KeyUsageTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/KeyUsageTest.java deleted file mode 100644 index 2de2f3d54..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/KeyUsageTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.x509.KeyUsage; -import org.spongycastle.util.test.SimpleTest; - -public class KeyUsageTest - extends SimpleTest -{ - public String getName() - { - return "KeyUsage"; - } - - public void performTest() - throws IOException - { - BitStringConstantTester.testFlagValueCorrect(0, KeyUsage.digitalSignature); - BitStringConstantTester.testFlagValueCorrect(1, KeyUsage.nonRepudiation); - BitStringConstantTester.testFlagValueCorrect(2, KeyUsage.keyEncipherment); - BitStringConstantTester.testFlagValueCorrect(3, KeyUsage.dataEncipherment); - BitStringConstantTester.testFlagValueCorrect(4, KeyUsage.keyAgreement); - BitStringConstantTester.testFlagValueCorrect(5, KeyUsage.keyCertSign); - BitStringConstantTester.testFlagValueCorrect(6, KeyUsage.cRLSign); - BitStringConstantTester.testFlagValueCorrect(7, KeyUsage.encipherOnly); - BitStringConstantTester.testFlagValueCorrect(8, KeyUsage.decipherOnly); - - if (!new KeyUsage(KeyUsage.keyCertSign).hasUsages(KeyUsage.keyCertSign)) - { - fail("usages bit test failed 1"); - } - - if (new KeyUsage(KeyUsage.cRLSign).hasUsages(KeyUsage.keyCertSign)) - { - fail("usages bit test failed 2"); - } - - if (!new KeyUsage(KeyUsage.cRLSign | KeyUsage.decipherOnly).hasUsages(KeyUsage.cRLSign | KeyUsage.decipherOnly)) - { - fail("usages bit test failed 3"); - } - - if (new KeyUsage(KeyUsage.cRLSign | KeyUsage.decipherOnly).hasUsages(KeyUsage.cRLSign | KeyUsage.decipherOnly | KeyUsage.keyCertSign)) - { - fail("usages bit test failed 4"); - } - } - - public static void main( - String[] args) - { - runTest(new KeyUsageTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/LDSSecurityObjectUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/LDSSecurityObjectUnitTest.java deleted file mode 100644 index 0cbb44763..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/LDSSecurityObjectUnitTest.java +++ /dev/null @@ -1,214 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; -import java.util.Random; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.icao.DataGroupHash; -import org.spongycastle.asn1.icao.LDSSecurityObject; -import org.spongycastle.asn1.icao.LDSVersionInfo; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.util.test.SimpleTest; - -public class LDSSecurityObjectUnitTest - extends SimpleTest -{ - public String getName() - { - return "LDSSecurityObject"; - } - - private byte[] generateHash() - { - Random rand = new Random(); - byte[] bytes = new byte[20]; - - for (int i = 0; i != bytes.length; i++) - { - bytes[i] = (byte)rand.nextInt(); - } - - return bytes; - } - - public void performTest() - throws Exception - { - AlgorithmIdentifier algoId = new AlgorithmIdentifier("1.3.14.3.2.26"); - DataGroupHash[] datas = new DataGroupHash[2]; - - datas[0] = new DataGroupHash(1, new DEROctetString(generateHash())); - datas[1] = new DataGroupHash(2, new DEROctetString(generateHash())); - - LDSSecurityObject so = new LDSSecurityObject(algoId, datas); - - checkConstruction(so, algoId, datas); - - LDSVersionInfo versionInfo = new LDSVersionInfo("Hello", "world"); - - so = new LDSSecurityObject(algoId, datas, versionInfo); - - checkConstruction(so, algoId, datas, versionInfo); - - try - { - LDSSecurityObject.getInstance(null); - } - catch (Exception e) - { - fail("getInstance() failed to handle null."); - } - - try - { - LDSSecurityObject.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - LDSSecurityObject.getInstance(new DERSequence(v)); - - fail("constructor failed to detect empty sequence."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new LDSSecurityObject(algoId, new DataGroupHash[1]); - - fail("constructor failed to detect small DataGroupHash array."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new LDSSecurityObject(algoId, new DataGroupHash[LDSSecurityObject.ub_DataGroups + 1]); - - fail("constructor failed to out of bounds DataGroupHash array."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - LDSSecurityObject so, - AlgorithmIdentifier digestAlgorithmIdentifier, - DataGroupHash[] datagroupHash) - throws IOException - { - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null); - - so = LDSSecurityObject.getInstance(so); - - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null); - - ASN1InputStream aIn = new ASN1InputStream(so.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - so = LDSSecurityObject.getInstance(seq); - - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null); - } - - private void checkConstruction( - LDSSecurityObject so, - AlgorithmIdentifier digestAlgorithmIdentifier, - DataGroupHash[] datagroupHash, - LDSVersionInfo versionInfo) - throws IOException - { - if (so.getVersion() != 1) - { - fail("version number not 1"); - } - - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo); - - so = LDSSecurityObject.getInstance(so); - - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo); - - ASN1InputStream aIn = new ASN1InputStream(so.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - so = LDSSecurityObject.getInstance(seq); - - checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo); - } - - private void checkStatement( - LDSSecurityObject so, - AlgorithmIdentifier digestAlgorithmIdentifier, - DataGroupHash[] datagroupHash, - LDSVersionInfo versionInfo) - { - if (digestAlgorithmIdentifier != null) - { - if (!so.getDigestAlgorithmIdentifier().equals(digestAlgorithmIdentifier)) - { - fail("ids don't match."); - } - } - else if (so.getDigestAlgorithmIdentifier() != null) - { - fail("digest algorithm Id found when none expected."); - } - - if (datagroupHash != null) - { - DataGroupHash[] datas = so.getDatagroupHash(); - - for (int i = 0; i != datas.length; i++) - { - if (!datagroupHash[i].equals(datas[i])) - { - fail("name registration authorities don't match."); - } - } - } - else if (so.getDatagroupHash() != null) - { - fail("data hash groups found when none expected."); - } - - if (versionInfo != null) - { - if (!versionInfo.equals(so.getVersionInfo())) - { - fail("versionInfo doesn't match"); - } - } - else if (so.getVersionInfo() != null) - { - fail("version info found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new LDSSecurityObjectUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MiscTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MiscTest.java deleted file mode 100644 index 3f1274794..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MiscTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.misc.CAST5CBCParameters; -import org.spongycastle.asn1.misc.IDEACBCPar; -import org.spongycastle.asn1.misc.NetscapeCertType; -import org.spongycastle.asn1.misc.NetscapeRevocationURL; -import org.spongycastle.asn1.misc.VerisignCzagExtension; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class MiscTest - implements Test -{ - private boolean isSameAs( - byte[] a, - byte[] b) - { - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public TestResult perform() - { - byte[] testIv = { 1, 2, 3, 4, 5, 6, 7, 8 }; - - ASN1Encodable[] values = { - new CAST5CBCParameters(testIv, 128), - new NetscapeCertType(NetscapeCertType.smime), - new VerisignCzagExtension(new DERIA5String("hello")), - new IDEACBCPar(testIv), - new NetscapeRevocationURL(new DERIA5String("http://test")) - }; - - byte[] data = Base64.decode("MA4ECAECAwQFBgcIAgIAgAMCBSAWBWhlbGxvMAoECAECAwQFBgcIFgtodHRwOi8vdGVzdA=="); - - try - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - for (int i = 0; i != values.length; i++) - { - aOut.writeObject(values[i]); - } - - ASN1Primitive[] readValues = new ASN1Primitive[values.length]; - - if (!isSameAs(bOut.toByteArray(), data)) - { - return new SimpleTestResult(false, getName() + ": Failed data check"); - } - - ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray()); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - for (int i = 0; i != values.length; i++) - { - ASN1Primitive o = aIn.readObject(); - if (!values[i].equals(o)) - { - return new SimpleTestResult(false, getName() + ": Failed equality test for " + o); - } - - if (o.hashCode() != values[i].hashCode()) - { - return new SimpleTestResult(false, getName() + ": Failed hashCode test for " + o); - } - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e); - } - } - - public String getName() - { - return "Misc"; - } - - public static void main( - String[] args) - { - MiscTest test = new MiscTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java deleted file mode 100644 index 02a59b4ba..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.isismtt.x509.MonetaryLimit; - -import java.io.IOException; - -public class MonetaryLimitUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "MonetaryLimit"; - } - - public void performTest() - throws Exception - { - String currency = "AUD"; - int amount = 1; - int exponent = 2; - - MonetaryLimit limit = new MonetaryLimit(currency, amount, exponent); - - checkConstruction(limit, currency, amount, exponent); - - limit = MonetaryLimit.getInstance(null); - - if (limit != null) - { - fail("null getInstance() failed."); - } - - try - { - MonetaryLimit.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - MonetaryLimit limit, - String currency, - int amount, - int exponent) - throws IOException - { - checkValues(limit, currency, amount, exponent); - - limit = MonetaryLimit.getInstance(limit); - - checkValues(limit, currency, amount, exponent); - - ASN1InputStream aIn = new ASN1InputStream(limit.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - limit = MonetaryLimit.getInstance(seq); - - checkValues(limit, currency, amount, exponent); - } - - private void checkValues( - MonetaryLimit limit, - String currency, - int amount, - int exponent) - { - checkMandatoryField("currency", currency, limit.getCurrency()); - checkMandatoryField("amount", amount, limit.getAmount().intValue()); - checkMandatoryField("exponent", exponent, limit.getExponent().intValue()); - } - - public static void main( - String[] args) - { - runTest(new MonetaryLimitUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryValueUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryValueUnitTest.java deleted file mode 100644 index 541dc4978..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/MonetaryValueUnitTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.x509.qualified.Iso4217CurrencyCode; -import org.spongycastle.asn1.x509.qualified.MonetaryValue; -import org.spongycastle.util.test.SimpleTest; - -public class MonetaryValueUnitTest - extends SimpleTest -{ - private static final int TEST_AMOUNT = 100; - private static final int ZERO_EXPONENT = 0; - - private static final String CURRENCY_CODE = "AUD"; - - public String getName() - { - return "MonetaryValue"; - } - - public void performTest() - throws Exception - { - MonetaryValue mv = new MonetaryValue(new Iso4217CurrencyCode(CURRENCY_CODE), TEST_AMOUNT, ZERO_EXPONENT); - - checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT); - - mv = MonetaryValue.getInstance(mv); - - checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT); - - ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - mv = MonetaryValue.getInstance(seq); - - checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT); - - mv = MonetaryValue.getInstance(null); - - if (mv != null) - { - fail("null getInstance() failed."); - } - - try - { - MonetaryValue.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkValues( - MonetaryValue mv, - int amount, - int exponent) - { - if (mv.getAmount().intValue() != amount) - { - fail("amounts don't match."); - } - - if (mv.getExponent().intValue() != exponent) - { - fail("exponents don't match."); - } - - Iso4217CurrencyCode cc = mv.getCurrency(); - - if (!cc.getAlphabetic().equals(CURRENCY_CODE)) - { - fail("currency code wrong"); - } - } - - public static void main( - String[] args) - { - runTest(new MonetaryValueUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NameOrPseudonymUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NameOrPseudonymUnitTest.java deleted file mode 100644 index fdab08f67..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NameOrPseudonymUnitTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.sigi.NameOrPseudonym; - -public class NameOrPseudonymUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "NameOrPseudonym"; - } - - public void performTest() - throws Exception - { - String pseudonym = "pseudonym"; - DirectoryString surname = new DirectoryString("surname"); - ASN1Sequence givenName = new DERSequence(new DirectoryString("givenName")); - - NameOrPseudonym id = new NameOrPseudonym(pseudonym); - - checkConstruction(id, pseudonym, null, null); - - id = new NameOrPseudonym(surname, givenName); - - checkConstruction(id, null, surname, givenName); - - id = NameOrPseudonym.getInstance(null); - - if (id != null) - { - fail("null getInstance() failed."); - } - - try - { - NameOrPseudonym.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - NameOrPseudonym id, - String pseudonym, - DirectoryString surname, - ASN1Sequence givenName) - throws IOException - { - checkValues(id, pseudonym, surname, givenName); - - id = NameOrPseudonym.getInstance(id); - - checkValues(id, pseudonym, surname, givenName); - - ASN1InputStream aIn = new ASN1InputStream(id.toASN1Object().getEncoded()); - - if (surname != null) - { - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - id = NameOrPseudonym.getInstance(seq); - } - else - { - ASN1String s = (ASN1String)aIn.readObject(); - - id = NameOrPseudonym.getInstance(s); - } - - checkValues(id, pseudonym, surname, givenName); - } - - private void checkValues( - NameOrPseudonym id, - String pseudonym, - DirectoryString surname, - ASN1Sequence givenName) - { - - if (surname != null) - { - checkMandatoryField("surname", surname, id.getSurname()); - checkMandatoryField("givenName", givenName, new DERSequence(id.getGivenName()[0])); - } - else - { - checkOptionalField("pseudonym", new DirectoryString(pseudonym), id.getPseudonym()); - } - } - - public static void main( - String[] args) - { - runTest(new NameOrPseudonymUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NamingAuthorityUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NamingAuthorityUnitTest.java deleted file mode 100644 index 321158d88..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NamingAuthorityUnitTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.isismtt.x509.NamingAuthority; -import org.spongycastle.asn1.x500.DirectoryString; - -import java.io.IOException; - -public class NamingAuthorityUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "NamingAuthority"; - } - - public void performTest() - throws Exception - { - DERObjectIdentifier namingAuthorityID = new DERObjectIdentifier("1.2.3"); - String namingAuthorityURL = "url"; - DirectoryString namingAuthorityText = new DirectoryString("text"); - - NamingAuthority auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, namingAuthorityText); - - checkConstruction(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); - - auth = new NamingAuthority(null, namingAuthorityURL, namingAuthorityText); - - checkConstruction(auth, null, namingAuthorityURL, namingAuthorityText); - - auth = new NamingAuthority(namingAuthorityID, null, namingAuthorityText); - - checkConstruction(auth, namingAuthorityID, null, namingAuthorityText); - - auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, null); - - checkConstruction(auth, namingAuthorityID, namingAuthorityURL, null); - - auth = NamingAuthority.getInstance(null); - - if (auth != null) - { - fail("null getInstance() failed."); - } - - try - { - NamingAuthority.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - NamingAuthority auth, - DERObjectIdentifier namingAuthorityID, - String namingAuthorityURL, - DirectoryString namingAuthorityText) - throws IOException - { - checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); - - auth = NamingAuthority.getInstance(auth); - - checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); - - ASN1InputStream aIn = new ASN1InputStream(auth.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - auth = NamingAuthority.getInstance(seq); - - checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); - } - - private void checkValues( - NamingAuthority auth, - DERObjectIdentifier namingAuthorityId, - String namingAuthorityURL, - DirectoryString namingAuthorityText) - { - checkOptionalField("namingAuthorityId", namingAuthorityId, auth.getNamingAuthorityId()); - checkOptionalField("namingAuthorityURL", namingAuthorityURL, auth.getNamingAuthorityUrl()); - checkOptionalField("namingAuthorityText", namingAuthorityText, auth.getNamingAuthorityText()); - } - - public static void main( - String[] args) - { - runTest(new NamingAuthorityUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NetscapeCertTypeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NetscapeCertTypeTest.java deleted file mode 100644 index 9d3b09934..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/NetscapeCertTypeTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.misc.NetscapeCertType; -import org.spongycastle.util.test.SimpleTest; - -public class NetscapeCertTypeTest - extends SimpleTest -{ - public String getName() - { - return "NetscapeCertType"; - } - - public void performTest() - throws IOException - { - BitStringConstantTester.testFlagValueCorrect(0, NetscapeCertType.sslClient); - BitStringConstantTester.testFlagValueCorrect(1, NetscapeCertType.sslServer); - BitStringConstantTester.testFlagValueCorrect(2, NetscapeCertType.smime); - BitStringConstantTester.testFlagValueCorrect(3, NetscapeCertType.objectSigning); - BitStringConstantTester.testFlagValueCorrect(4, NetscapeCertType.reserved); - BitStringConstantTester.testFlagValueCorrect(5, NetscapeCertType.sslCA); - BitStringConstantTester.testFlagValueCorrect(6, NetscapeCertType.smimeCA); - BitStringConstantTester.testFlagValueCorrect(7, NetscapeCertType.objectSigningCA); - } - - public static void main( - String[] args) - { - runTest(new NetscapeCertTypeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OCSPTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OCSPTest.java deleted file mode 100644 index 15b330cef..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OCSPTest.java +++ /dev/null @@ -1,193 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.ocsp.BasicOCSPResponse; -import org.spongycastle.asn1.ocsp.OCSPRequest; -import org.spongycastle.asn1.ocsp.OCSPResponse; -import org.spongycastle.asn1.ocsp.ResponseBytes; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; -import org.spongycastle.util.test.SimpleTestResult; - -public class OCSPTest - implements Test -{ - private byte[] unsignedReq = Base64.decode( - "MEIwQDA+MDwwOjAJBgUrDgMCGgUABBRDb9GODnq7lRhSkEqw4XX24huERwQUkY4j" - + "a6eKuDlkVP9hRgkEvIWqHPECAQE="); - - private byte[] signedReq = Base64.decode( - "MIIC9jBAMD4wPDA6MAkGBSsOAwIaBQAEFENv0Y4OeruVGFKQSrDhdfbiG4RHBBTc" - + "Mr1fP+mZAxbF2ZdehWxn6mtAngIBAaCCArAwggKsMA0GCSqGSIb3DQEBBQUAA4GB" - + "AAzHBm4nL5AcRQB3Jkz7ScNeZF+GbRZ0p4kBDTnqi3IeESuso12yJhpqqyijdnj5" - + "gd4/GsSAgdluLHyYZ6wgozV7G9MDXCnFnG4PBUW05HaVX81JYAp+amVyU0NOgNrG" - + "90npVBsHb0o+UlkxNgMiEbSkp/TeGb6YURsYKhmwp7BgoIICFTCCAhEwggINMIIB" - + "dqADAgECAgEBMA0GCSqGSIb3DQEBBAUAMCUxFjAUBgNVBAoTDUJvdW5jeSBDYXN0" - + "bGUxCzAJBgNVBAYTAkFVMB4XDTA0MTAyNDEzNDc0M1oXDTA1MDIwMTEzNDc0M1ow" - + "JTEWMBQGA1UEChMNQm91bmN5IENhc3RsZTELMAkGA1UEBhMCQVUwgZ8wDQYJKoZI" - + "hvcNAQEBBQADgY0AMIGJAoGBAJBmLeIzthMHUeTkOeJ76iBxcMHY31o/i3a9VT12" - + "y2FcS/ejJmeUCMTdtwl5alOwXY66vF4DyT1VU/nJG3mHpSoqq7qrMXOIFGcXg1Wf" - + "oJRrQgTOLdQ6bod7i9ME/EjEJy70orh0nVS7NGcu0R5TjcbLde2J5zxjb/W9wqfy" - + "RovJAgMBAAGjTTBLMB0GA1UdDgQWBBTcMr1fP+mZAxbF2ZdehWxn6mtAnjAfBgNV" - + "HSMEGDAWgBTcMr1fP+mZAxbF2ZdehWxn6mtAnjAJBgNVHRMEAjAAMA0GCSqGSIb3" - + "DQEBBAUAA4GBAF/4EH1KkNrNxocJPIp7lThmG1KIVYESIadowMowrbok46ESofRF" - + "OIPku07W+e1Y1Y1KXLIiPMG3IGwrBrn04iLsbbBUiN37BcC/VyT4xKJ2MYscGjKL" - + "ua/9bU0lOyeTRAwqb8towWRd5lLYAI3RQ7dhStUTFp3Vqd803PJ/cpR6"); - - private byte[] response = Base64.decode( - "MIIFnAoBAKCCBZUwggWRBgkrBgEFBQcwAQEEggWCMIIFfjCCARehgZ8wgZwx" - + "CzAJBgNVBAYTAklOMRcwFQYDVQQIEw5BbmRocmEgcHJhZGVzaDESMBAGA1UE" - + "BxMJSHlkZXJhYmFkMQwwCgYDVQQKEwNUQ1MxDDAKBgNVBAsTA0FUQzEeMBwG" - + "A1UEAxMVVENTLUNBIE9DU1AgUmVzcG9uZGVyMSQwIgYJKoZIhvcNAQkBFhVv" - + "Y3NwQHRjcy1jYS50Y3MuY28uaW4YDzIwMDMwNDAyMTIzNDU4WjBiMGAwOjAJ" - + "BgUrDgMCGgUABBRs07IuoCWNmcEl1oHwIak1BPnX8QQUtGyl/iL9WJ1VxjxF" - + "j0hAwJ/s1AcCAQKhERgPMjAwMjA4MjkwNzA5MjZaGA8yMDAzMDQwMjEyMzQ1" - + "OFowDQYJKoZIhvcNAQEFBQADgYEAfbN0TCRFKdhsmvOdUoiJ+qvygGBzDxD/" - + "VWhXYA+16AphHLIWNABR3CgHB3zWtdy2j7DJmQ/R7qKj7dUhWLSqclAiPgFt" - + "QQ1YvSJAYfEIdyHkxv4NP0LSogxrumANcDyC9yt/W9yHjD2ICPBIqCsZLuLk" - + "OHYi5DlwWe9Zm9VFwCGgggPMMIIDyDCCA8QwggKsoAMCAQICAQYwDQYJKoZI" - + "hvcNAQEFBQAwgZQxFDASBgNVBAMTC1RDUy1DQSBPQ1NQMSYwJAYJKoZIhvcN" - + "AQkBFhd0Y3MtY2FAdGNzLWNhLnRjcy5jby5pbjEMMAoGA1UEChMDVENTMQww" - + "CgYDVQQLEwNBVEMxEjAQBgNVBAcTCUh5ZGVyYWJhZDEXMBUGA1UECBMOQW5k" - + "aHJhIHByYWRlc2gxCzAJBgNVBAYTAklOMB4XDTAyMDgyOTA3MTE0M1oXDTAz" - + "MDgyOTA3MTE0M1owgZwxCzAJBgNVBAYTAklOMRcwFQYDVQQIEw5BbmRocmEg" - + "cHJhZGVzaDESMBAGA1UEBxMJSHlkZXJhYmFkMQwwCgYDVQQKEwNUQ1MxDDAK" - + "BgNVBAsTA0FUQzEeMBwGA1UEAxMVVENTLUNBIE9DU1AgUmVzcG9uZGVyMSQw" - + "IgYJKoZIhvcNAQkBFhVvY3NwQHRjcy1jYS50Y3MuY28uaW4wgZ8wDQYJKoZI" - + "hvcNAQEBBQADgY0AMIGJAoGBAM+XWW4caMRv46D7L6Bv8iwtKgmQu0SAybmF" - + "RJiz12qXzdvTLt8C75OdgmUomxp0+gW/4XlTPUqOMQWv463aZRv9Ust4f8MH" - + "EJh4ekP/NS9+d8vEO3P40ntQkmSMcFmtA9E1koUtQ3MSJlcs441JjbgUaVnm" - + "jDmmniQnZY4bU3tVAgMBAAGjgZowgZcwDAYDVR0TAQH/BAIwADALBgNVHQ8E" - + "BAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwkwNgYIKwYBBQUHAQEEKjAoMCYG" - + "CCsGAQUFBzABhhpodHRwOi8vMTcyLjE5LjQwLjExMDo3NzAwLzAtBgNVHR8E" - + "JjAkMCKgIKAehhxodHRwOi8vMTcyLjE5LjQwLjExMC9jcmwuY3JsMA0GCSqG" - + "SIb3DQEBBQUAA4IBAQB6FovM3B4VDDZ15o12gnADZsIk9fTAczLlcrmXLNN4" - + "PgmqgnwF0Ymj3bD5SavDOXxbA65AZJ7rBNAguLUo+xVkgxmoBH7R2sBxjTCc" - + "r07NEadxM3HQkt0aX5XYEl8eRoifwqYAI9h0ziZfTNes8elNfb3DoPPjqq6V" - + "mMg0f0iMS4W8LjNPorjRB+kIosa1deAGPhq0eJ8yr0/s2QR2/WFD5P4aXc8I" - + "KWleklnIImS3zqiPrq6tl2Bm8DZj7vXlTOwmraSQxUwzCKwYob1yGvNOUQTq" - + "pG6jxn7jgDawHU1+WjWQe4Q34/pWeGLysxTraMa+Ug9kPe+jy/qRX2xwvKBZ"); - - private boolean isSameAs( - byte[] a, - byte[] b) - { - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - private TestResult unsignedRequest() - { - try - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(unsignedReq)); - OCSPRequest req = OCSPRequest.getInstance(aIn.readObject()); - - if (!isSameAs(req.getEncoded(), unsignedReq)) - { - return new SimpleTestResult(false, getName() + ": OCSP unsigned request failed to re-encode"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed unsigned exception - " + e.toString(), e); - } - } - - private TestResult signedRequest() - { - try - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(signedReq)); - OCSPRequest req = OCSPRequest.getInstance(aIn.readObject()); - - if (!isSameAs(req.getEncoded(), signedReq)) - { - return new SimpleTestResult(false, getName() + ": OCSP signed request failed to re-encode"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed signed exception - " + e.toString(), e); - } - } - - private TestResult response() - { - try - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(response)); - OCSPResponse resp = OCSPResponse.getInstance(aIn.readObject()); - ResponseBytes rBytes = ResponseBytes.getInstance(resp.getResponseBytes()); - - aIn = new ASN1InputStream(new ByteArrayInputStream(rBytes.getResponse().getOctets())); - - BasicOCSPResponse bResp = BasicOCSPResponse.getInstance(aIn.readObject()); - - resp = new OCSPResponse(resp.getResponseStatus(), new ResponseBytes(rBytes.getResponseType(), new DEROctetString(bResp.getEncoded()))); - - if (!isSameAs(resp.getEncoded(), response)) - { - return new SimpleTestResult(false, getName() + ": OCSP response failed to re-encode"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed response exception - " + e.toString(), e); - } - } - - public TestResult perform() - { - TestResult res = unsignedRequest(); - - if (!res.isSuccessful()) - { - return res; - } - - res = signedRequest(); - if (!res.isSuccessful()) - { - return res; - } - - return response(); - } - - public String getName() - { - return "OCSP"; - } - - public static void main( - String[] args) - { - OCSPTest test = new OCSPTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OIDTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OIDTest.java deleted file mode 100644 index 209f048d6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OIDTest.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - - -/** - * X.690 test example - */ -public class OIDTest - extends SimpleTest -{ - byte[] req1 = Hex.decode("0603813403"); - byte[] req2 = Hex.decode("06082A36FFFFFFDD6311"); - - public String getName() - { - return "OID"; - } - - private void recodeCheck( - String oid, - byte[] enc) - throws IOException - { - ByteArrayInputStream bIn = new ByteArrayInputStream(enc); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - DERObjectIdentifier o = new DERObjectIdentifier(oid); - DERObjectIdentifier encO = (DERObjectIdentifier)aIn.readObject(); - - if (!o.equals(encO)) - { - fail("oid ID didn't match", o, encO); - } - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - - dOut.writeObject(o); - - byte[] bytes = bOut.toByteArray(); - - if (bytes.length != enc.length) - { - fail("failed length test"); - } - - for (int i = 0; i != enc.length; i++) - { - if (bytes[i] != enc[i]) - { - fail("failed comparison test", new String(Hex.encode(enc)), new String(Hex.encode(bytes))); - } - } - } - - private void validOidCheck( - String oid) - throws IOException - { - DERObjectIdentifier o = new DERObjectIdentifier(oid); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(o); - - ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray()); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - o = (DERObjectIdentifier)aIn.readObject(); - - if (!o.getId().equals(oid)) - { - fail("failed oid check for " + oid); - } - } - - private void invalidOidCheck( - String oid) - { - try - { - new DERObjectIdentifier(oid); - fail("failed to catch bad oid: " + oid); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void branchCheck(String stem, String branch) - { - String expected = stem + "." + branch; - String actual = new ASN1ObjectIdentifier(stem).branch(branch).getId(); - - if (!expected.equals(actual)) - { - fail("failed 'branch' check for " + stem + "/" + branch); - } - } - - private void onCheck(String stem, String test, boolean expected) - { - if (expected != new ASN1ObjectIdentifier(test).on(new ASN1ObjectIdentifier(stem))) - { - fail("failed 'on' check for " + stem + "/" + test); - } - } - - public void performTest() - throws IOException - { - recodeCheck("2.100.3", req1); - recodeCheck("1.2.54.34359733987.17", req2); - - validOidCheck(PKCSObjectIdentifiers.pkcs_9_at_contentType.getId()); - validOidCheck("0.1"); - validOidCheck("1.1.127.32512.8323072.2130706432.545460846592.139637976727552.35747322042253312.9151314442816847872"); - validOidCheck("1.2.123.12345678901.1.1.1"); - validOidCheck("2.25.196556539987194312349856245628873852187.1"); - - invalidOidCheck("0"); - invalidOidCheck("1"); - invalidOidCheck("2"); - invalidOidCheck("3.1"); - invalidOidCheck("..1"); - invalidOidCheck("192.168.1.1"); - invalidOidCheck(".123452"); - invalidOidCheck("1."); - invalidOidCheck("1.345.23.34..234"); - invalidOidCheck("1.345.23.34.234."); - invalidOidCheck(".12.345.77.234"); - invalidOidCheck(".12.345.77.234."); - invalidOidCheck("1.2.3.4.A.5"); - invalidOidCheck("1,2"); - - branchCheck("1.1", "2.2"); - - onCheck("1.1", "1.1", false); - onCheck("1.1", "1.2", false); - onCheck("1.1", "1.2.1", false); - onCheck("1.1", "2.1", false); - onCheck("1.1", "1.11", false); - onCheck("1.12", "1.1.2", false); - onCheck("1.1", "1.1.1", true); - onCheck("1.1", "1.1.2", true); - } - - public static void main( - String[] args) - { - runTest(new OIDTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ObjectIdentifierTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ObjectIdentifierTest.java deleted file mode 100644 index ed0a60238..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ObjectIdentifierTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.util.test.SimpleTest; -import org.spongycastle.util.test.TestResult; - -public class ObjectIdentifierTest - extends SimpleTest -{ - public String getName() - { - return "ObjectIdentifier"; - } - - public void performTest() - throws Exception - { - // exercise the object cache - for (int i = 0; i < 1024; i++) - { - for (int j = 0; j != 17000; j++) - { - byte[] encoded = new ASN1ObjectIdentifier("1.1." + i + "." + j).getEncoded(); - - ASN1ObjectIdentifier.getInstance(encoded); - } - } - } - - public static void main( - String[] args) - { - ObjectIdentifierTest test = new ObjectIdentifierTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OctetStringTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OctetStringTest.java deleted file mode 100644 index 19dab4a1f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OctetStringTest.java +++ /dev/null @@ -1,203 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.asn1.ASN1OctetStringParser; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1StreamParser; -import org.spongycastle.asn1.BEROctetStringGenerator; -import org.spongycastle.asn1.BERSequenceGenerator; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequenceGenerator; -import org.spongycastle.asn1.cms.CMSObjectIdentifiers; -import org.spongycastle.asn1.cms.CompressedDataParser; -import org.spongycastle.asn1.cms.ContentInfoParser; - -public class OctetStringTest - extends TestCase -{ - public void testReadingWriting() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BEROctetStringGenerator octGen = new BEROctetStringGenerator(bOut); - - OutputStream out = octGen.getOctetOutputStream(); - - out.write(new byte[] { 1, 2, 3, 4 }); - out.write(new byte[4]); - - out.close(); - - ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray()); - - ASN1OctetStringParser s = (ASN1OctetStringParser)aIn.readObject(); - - InputStream in = s.getOctetStream(); - int count = 0; - - while (in.read() >= 0) - { - count++; - } - - assertEquals(8, count); - } - - public void testReadingWritingZeroInLength() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BEROctetStringGenerator octGen = new BEROctetStringGenerator(bOut); - - OutputStream out = octGen.getOctetOutputStream(); - - out.write(new byte[] { 1, 2, 3, 4 }); - out.write(new byte[512]); // forces a zero to appear in length - - out.close(); - - ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray()); - - ASN1OctetStringParser s = (ASN1OctetStringParser)aIn.readObject(); - - InputStream in = s.getOctetStream(); - int count = 0; - - while (in.read() >= 0) - { - count++; - } - - assertEquals(516, count); - } - - public void testReadingWritingNested() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BERSequenceGenerator sGen = new BERSequenceGenerator(bOut); - BEROctetStringGenerator octGen = new BEROctetStringGenerator(sGen.getRawOutputStream()); - - OutputStream out = octGen.getOctetOutputStream(); - - BERSequenceGenerator inSGen = new BERSequenceGenerator(out); - - BEROctetStringGenerator inOctGen = new BEROctetStringGenerator(inSGen.getRawOutputStream()); - - OutputStream inOut = inOctGen.getOctetOutputStream(); - - inOut.write(new byte[] { 1, 2, 3, 4 }); - inOut.write(new byte[10]); - - inOut.close(); - - inSGen.close(); - - out.close(); - - sGen.close(); - - ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray()); - - ASN1SequenceParser sq = (ASN1SequenceParser)aIn.readObject(); - - ASN1OctetStringParser s = (ASN1OctetStringParser)sq.readObject(); - - ASN1StreamParser aIn2 = new ASN1StreamParser(s.getOctetStream()); - - ASN1SequenceParser sq2 = (ASN1SequenceParser)aIn2.readObject(); - - ASN1OctetStringParser inS = (ASN1OctetStringParser)sq2.readObject(); - - InputStream in = inS.getOctetStream(); - int count = 0; - - while (in.read() >= 0) - { - count++; - } - - assertEquals(14, count); - } - - public void testNestedStructure() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - BERSequenceGenerator sGen = new BERSequenceGenerator(bOut); - - sGen.addObject(new DERObjectIdentifier(CMSObjectIdentifiers.compressedData.getId())); - - BERSequenceGenerator cGen = new BERSequenceGenerator(sGen.getRawOutputStream(), 0, true); - - cGen.addObject(new DERInteger(0)); - - // - // AlgorithmIdentifier - // - DERSequenceGenerator algGen = new DERSequenceGenerator(cGen.getRawOutputStream()); - - algGen.addObject(new DERObjectIdentifier("1.2")); - - algGen.close(); - - // - // Encapsulated ContentInfo - // - BERSequenceGenerator eiGen = new BERSequenceGenerator(cGen.getRawOutputStream()); - - eiGen.addObject(new DERObjectIdentifier("1.1")); - - BEROctetStringGenerator octGen = new BEROctetStringGenerator(eiGen.getRawOutputStream(), 0, true); - - // - // output containing zeroes - // - OutputStream out = octGen.getOctetOutputStream(); - - out.write(new byte[] { 1, 2, 3, 4 }); - out.write(new byte[4]); - out.write(new byte[20]); - - out.close(); - eiGen.close(); - cGen.close(); - sGen.close(); - - // - // reading back - // - ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray()); - - ContentInfoParser cp = new ContentInfoParser((ASN1SequenceParser)aIn.readObject()); - - CompressedDataParser comData = new CompressedDataParser((ASN1SequenceParser)cp.getContent(BERTags.SEQUENCE)); - ContentInfoParser content = comData.getEncapContentInfo(); - - ASN1OctetStringParser bytes = (ASN1OctetStringParser)content.getContent(BERTags.OCTET_STRING); - - InputStream in = bytes.getOctetStream(); - int count = 0; - - while (in.read() >= 0) - { - count++; - } - - assertEquals(28, count); - } - - public static Test suite() - { - return new TestSuite(OctetStringTest.class); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherCertIDUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherCertIDUnitTest.java deleted file mode 100644 index 6d3e36e42..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherCertIDUnitTest.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.ess.OtherCertID; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.IssuerSerial; -import org.spongycastle.asn1.x509.X509Name; - -public class OtherCertIDUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "OtherCertID"; - } - - public void performTest() - throws Exception - { - AlgorithmIdentifier algId = new AlgorithmIdentifier(new DERObjectIdentifier("1.2.2.3")); - byte[] digest = new byte[20]; - IssuerSerial issuerSerial = new IssuerSerial(new GeneralNames(new GeneralName(new X509Name("CN=test"))), new ASN1Integer(1)); - - OtherCertID certID = new OtherCertID(algId, digest); - - checkConstruction(certID, algId, digest, null); - - certID = new OtherCertID(algId, digest, issuerSerial); - - checkConstruction(certID, algId, digest, issuerSerial); - - certID = OtherCertID.getInstance(null); - - if (certID != null) - { - fail("null getInstance() failed."); - } - - try - { - OtherCertID.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - OtherCertID certID, - AlgorithmIdentifier algId, - byte[] digest, - IssuerSerial issuerSerial) - throws IOException - { - checkValues(certID, algId, digest, issuerSerial); - - certID = OtherCertID.getInstance(certID); - - checkValues(certID, algId, digest, issuerSerial); - - ASN1InputStream aIn = new ASN1InputStream(certID.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - certID = OtherCertID.getInstance(seq); - - checkValues(certID, algId, digest, issuerSerial); - } - - private void checkValues( - OtherCertID certID, - AlgorithmIdentifier algId, - byte[] digest, - IssuerSerial issuerSerial) - { - checkMandatoryField("algorithmHash", algId, certID.getAlgorithmHash()); - checkMandatoryField("certHash", digest, certID.getCertHash()); - - checkOptionalField("issuerSerial", issuerSerial, certID.getIssuerSerial()); - } - - public static void main( - String[] args) - { - runTest(new OtherCertIDUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherSigningCertificateUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherSigningCertificateUnitTest.java deleted file mode 100644 index b92451a4a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/OtherSigningCertificateUnitTest.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.ess.OtherCertID; -import org.spongycastle.asn1.ess.OtherSigningCertificate; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; - -import java.io.IOException; - -public class OtherSigningCertificateUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "OtherSigningCertificate"; - } - - public void performTest() - throws Exception - { - AlgorithmIdentifier algId = new AlgorithmIdentifier(new DERObjectIdentifier("1.2.2.3")); - byte[] digest = new byte[20]; - OtherCertID otherCertID = new OtherCertID(algId, digest); - - OtherSigningCertificate otherCert = new OtherSigningCertificate(otherCertID); - - checkConstruction(otherCert, otherCertID); - - otherCert = OtherSigningCertificate.getInstance(null); - - if (otherCert != null) - { - fail("null getInstance() failed."); - } - - try - { - OtherCertID.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - OtherSigningCertificate otherCert, - OtherCertID otherCertID) - throws IOException - { - checkValues(otherCert, otherCertID); - - otherCert = OtherSigningCertificate.getInstance(otherCert); - - checkValues(otherCert, otherCertID); - - ASN1InputStream aIn = new ASN1InputStream(otherCert.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - otherCert = OtherSigningCertificate.getInstance(seq); - - checkValues(otherCert, otherCertID); - } - - private void checkValues( - OtherSigningCertificate otherCert, - OtherCertID otherCertID) - { - if (otherCert.getCerts().length != 1) - { - fail("getCerts() length wrong"); - } - checkMandatoryField("getCerts()[0]", otherCertID, otherCert.getCerts()[0]); - } - - public static void main( - String[] args) - { - runTest(new OtherSigningCertificateUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS10Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS10Test.java deleted file mode 100644 index 5aaff0bba..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS10Test.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.pkcs.CertificationRequest; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class PKCS10Test - implements Test -{ - byte[] req1 = Base64.decode( - "MIHoMIGTAgEAMC4xDjAMBgNVBAMTBVRlc3QyMQ8wDQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNF" - + "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALlEt31Tzt2MlcOljvacJgzQVhmlMoqAOgqJ9Pgd3Gux" - + "Z7/WcIlgW4QCB7WZT21O1YoghwBhPDMcNGrHei9kHQkCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA0EA" - + "NDEI4ecNtJ3uHwGGlitNFq9WxcoZ0djbQJ5hABMotav6gtqlrwKXY2evaIrsNwkJtNdwwH18aQDU" - + "KCjOuBL38Q=="); - - byte[] req2 = Base64.decode( - "MIIB6TCCAVICAQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQwEgYDVQQH" - + "EwtTYW50YSBDbGFyYTEMMAoGA1UEChMDQUJCMVEwTwYDVQQLHEhQAAAAAAAAAG8AAAAAAAAAdwAA" - + "AAAAAABlAAAAAAAAAHIAAAAAAAAAIAAAAAAAAABUAAAAAAAAABxIAAAAAAAARAAAAAAAAAAxDTAL" - + "BgNVBAMTBGJsdWUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANETRZ+6occCOrFxNhfKIp4C" - + "mMkxwhBNb7TnnahpbM9O0r4hrBPcfYuL7u9YX/jN0YNUP+/CiT39HhSe/bikaBPDEyNsl988I8vX" - + "piEdgxYq/+LTgGHbjRsRYCkPtmzwBbuBldNF8bV7pu0v4UScSsExmGqqDlX1TbPU8KkPU1iTAgMB" - + "AAGgADANBgkqhkiG9w0BAQQFAAOBgQAFbrs9qUwh93CtETk7DeUD5HcdCnxauo1bck44snSV6MZV" - + "OCIGaYu1501kmhEvAtVVRr6SEHwimfQDDIjnrWwYsEr/DT6tkTZAbfRd3qUu3iKjT0H0vlUZp0hJ" - + "66mINtBM84uZFBfoXiWY8M3FuAnGmvy6ah/dYtJorTxLKiGkew=="); - - public String getName() - { - return "PKCS10"; - } - - public TestResult pkcs10Test( - String testName, - byte[] req) - { - try - { - ByteArrayInputStream bIn = new ByteArrayInputStream(req); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - CertificationRequest r = new CertificationRequest((ASN1Sequence)aIn.readObject()); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - - dOut.writeObject(r.toASN1Primitive()); - - byte[] bytes = bOut.toByteArray(); - - if (bytes.length != req.length) - { - return new SimpleTestResult(false, getName() + ": " + testName + " failed length test"); - } - - for (int i = 0; i != req.length; i++) - { - if (bytes[i] != req[i]) - { - return new SimpleTestResult(false, getName() + ": " + testName + " failed comparison test"); - } - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": Exception - " + testName + " " + e.toString()); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public TestResult perform() - { - TestResult res = pkcs10Test("basic CR", req1); - - if (!res.isSuccessful()) - { - return res; - } - - return pkcs10Test("Universal CR", req2); - } - - public static void main( - String[] args) - { - Test test = new PKCS10Test(); - - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS12Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS12Test.java deleted file mode 100644 index 0ad0a26ea..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKCS12Test.java +++ /dev/null @@ -1,227 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.BEROctetString; -import org.spongycastle.asn1.DLSequence; -import org.spongycastle.asn1.pkcs.AuthenticatedSafe; -import org.spongycastle.asn1.pkcs.ContentInfo; -import org.spongycastle.asn1.pkcs.EncryptedData; -import org.spongycastle.asn1.pkcs.EncryptedPrivateKeyInfo; -import org.spongycastle.asn1.pkcs.MacData; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.Pfx; -import org.spongycastle.asn1.pkcs.SafeBag; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.DigestInfo; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -public class PKCS12Test - extends SimpleTest -{ - byte[] pkcs12 = Base64.decode( - "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" - + "AgFkAAA="); - - public void performTest() - throws Exception - { - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(pkcs12)); - ASN1Sequence obj = (ASN1Sequence)aIn.readObject(); - Pfx bag = Pfx.getInstance(obj); - ContentInfo info = bag.getAuthSafe(); - MacData mData = bag.getMacData(); - DigestInfo dInfo = mData.getMac(); - AlgorithmIdentifier algId = dInfo.getAlgorithmId(); - byte[] salt = mData.getSalt(); - int itCount = mData.getIterationCount().intValue(); - - aIn = new ASN1InputStream(new ByteArrayInputStream(((ASN1OctetString)info.getContent()).getOctets())); - - AuthenticatedSafe authSafe = AuthenticatedSafe.getInstance(aIn.readObject()); - ContentInfo[] c = authSafe.getContentInfo(); - - // - // private key section - // - if (!c[0].getContentType().equals(PKCSObjectIdentifiers.data)) - { - fail("failed comparison data test"); - } - - aIn = new ASN1InputStream(new ByteArrayInputStream(((ASN1OctetString)c[0].getContent()).getOctets())); - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - SafeBag b = SafeBag.getInstance(seq.getObjectAt(0)); - if (!b.getBagId().equals(PKCSObjectIdentifiers.pkcs8ShroudedKeyBag)) - { - fail("failed comparison shroudedKeyBag test"); - } - - EncryptedPrivateKeyInfo encInfo = EncryptedPrivateKeyInfo.getInstance(b.getBagValue()); - - encInfo = new EncryptedPrivateKeyInfo(encInfo.getEncryptionAlgorithm(), encInfo.getEncryptedData()); - - b = new SafeBag(PKCSObjectIdentifiers.pkcs8ShroudedKeyBag, encInfo.toASN1Primitive(), b.getBagAttributes()); - - ByteArrayOutputStream abOut = new ByteArrayOutputStream(); - ASN1OutputStream berOut = new ASN1OutputStream(abOut); - - berOut.writeObject(new DLSequence(b)); - - c[0] = new ContentInfo(PKCSObjectIdentifiers.data, new BEROctetString(abOut.toByteArray())); - - // - // certificates - // - if (!c[1].getContentType().equals(PKCSObjectIdentifiers.encryptedData)) - { - fail("failed comparison encryptedData test"); - } - - EncryptedData eData = EncryptedData.getInstance(c[1].getContent()); - - c[1] = new ContentInfo(PKCSObjectIdentifiers.encryptedData, eData); - - // - // create an octet stream represent the BER encoding of authSafe - // - authSafe = new AuthenticatedSafe(c); - - abOut = new ByteArrayOutputStream(); - berOut = new ASN1OutputStream(abOut); - - berOut.writeObject(authSafe); - - info = new ContentInfo(PKCSObjectIdentifiers.data, new BEROctetString(abOut.toByteArray())); - - mData = new MacData(new DigestInfo(algId, dInfo.getDigest()), salt, itCount); - - bag = new Pfx(info, mData); - - // - // comparison test - // - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(bag); - - if (!Arrays.areEqual(bOut.toByteArray(), pkcs12)) - { - fail("failed comparison test"); - } - } - - public String getName() - { - return "PKCS12"; - } - - public static void main( - String[] args) - { - runTest(new PKCS12Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java deleted file mode 100644 index b4b527446..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encoding; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.cmp.PKIFailureInfo; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - - -/** - * PKIFailureInfoTest - */ -public class PKIFailureInfoTest - extends SimpleTest -{ - // A correct hex encoded BAD_DATA_FORMAT PKIFailureInfo - private static final byte[] CORRECT_FAILURE_INFO = Base64.decode("AwIANQ=="); - - public String getName() - { - return "PKIFailureInfo"; - } - - private void testEncoding() - throws IOException - { - DERBitString bitString = (DERBitString)new ASN1InputStream(CORRECT_FAILURE_INFO).readObject(); - PKIFailureInfo correct = new PKIFailureInfo(bitString); - - PKIFailureInfo bug = new PKIFailureInfo(PKIFailureInfo.badRequest | PKIFailureInfo.badTime |PKIFailureInfo.badDataFormat | PKIFailureInfo.incorrectData); - - if (!areEqual(correct.getEncoded(ASN1Encoding.DER),bug.getEncoded(ASN1Encoding.DER))) - { - fail("encoding doesn't match"); - } - } - - public void performTest() - throws IOException - { - BitStringConstantTester.testFlagValueCorrect(0, PKIFailureInfo.badAlg); - BitStringConstantTester.testFlagValueCorrect(1, PKIFailureInfo.badMessageCheck); - BitStringConstantTester.testFlagValueCorrect(2, PKIFailureInfo.badRequest); - BitStringConstantTester.testFlagValueCorrect(3, PKIFailureInfo.badTime); - BitStringConstantTester.testFlagValueCorrect(4, PKIFailureInfo.badCertId); - BitStringConstantTester.testFlagValueCorrect(5, PKIFailureInfo.badDataFormat); - BitStringConstantTester.testFlagValueCorrect(6, PKIFailureInfo.wrongAuthority); - BitStringConstantTester.testFlagValueCorrect(7, PKIFailureInfo.incorrectData); - BitStringConstantTester.testFlagValueCorrect(8, PKIFailureInfo.missingTimeStamp); - BitStringConstantTester.testFlagValueCorrect(9, PKIFailureInfo.badPOP); - BitStringConstantTester.testFlagValueCorrect(14, PKIFailureInfo.timeNotAvailable); - BitStringConstantTester.testFlagValueCorrect(15, PKIFailureInfo.unacceptedPolicy); - BitStringConstantTester.testFlagValueCorrect(16, PKIFailureInfo.unacceptedExtension); - BitStringConstantTester.testFlagValueCorrect(17, PKIFailureInfo.addInfoNotAvailable); - BitStringConstantTester.testFlagValueCorrect(25, PKIFailureInfo.systemFailure); - - testEncoding(); - } - - public static void main( - String[] args) - { - runTest(new PKIFailureInfoTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParseTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParseTest.java deleted file mode 100644 index f2ba17702..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParseTest.java +++ /dev/null @@ -1,308 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.asn1.ASN1OctetStringParser; -import org.spongycastle.asn1.ASN1SequenceParser; -import org.spongycastle.asn1.ASN1StreamParser; -import org.spongycastle.asn1.ASN1TaggedObjectParser; -import org.spongycastle.asn1.BERTags; -import org.spongycastle.asn1.cms.ContentInfoParser; -import org.spongycastle.asn1.cms.EncryptedContentInfoParser; -import org.spongycastle.asn1.cms.EnvelopedDataParser; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.io.Streams; - -public class ParseTest - extends TestCase -{ - private static byte[] classCastTest = Base64.decode( - "MIIXqAYJKoZIhvcNAQcDoIIXmTCCF5UCAQAxggG1MIIBsQIBADCBmDCBkDEL" - + "MAkGA1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2FuMQ0wCwYDVQQHEwRUcm95" - + "MQwwCgYDVQQKEwNFRFMxGTAXBgNVBAsTEEVMSVQgRW5naW5lZXJpbmcxJDAi" - + "BgkqhkiG9w0BCQEWFUVsaXQuU2VydmljZXNAZWRzLmNvbTEQMA4GA1UEAxMH" - + "RURTRUxJVAIDD6FBMA0GCSqGSIb3DQEBAQUABIIBAGh04C2SyEnH9J2Va18w" - + "3vdp5L7immD5h5CDZFgdgHln5QBzT7hodXMVHmyGnycsWnAjYqpsil96H3xQ" - + "A6+9a7yB6TYSLTNv8zhL2qU3IrfdmUJyxxfsFJlWFO1MlRmu9xEAW5CeauXs" - + "RurQCT+C5tLc5uytbvw0Jqbz+Qp1+eaRbfvyhWFGkO/BYZ89hVL9Yl1sg/Ls" - + "mA5jwTj2AvHkAwis+F33ZhYlto2QDvbPsUa0cldnX8+1Pz4QzKMHmfUbFD2D" - + "ngaYN1tDlmezCsYFQmNx1th1SaQtTefvPr+qaqRsm8KEXlWbJQXmIfdyi0zY" - + "qiwztEtO81hXZYkKqc5fKMMwghXVBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcE" - + "CEq3cLLWVds9gIIVsAAik3al6Nn5pr7r0mSy9Ki3vEeCBcV9EzEG44BvNHNA" - + "WyEsqQsdSxuF7h1/DJAMuZFwCbGflaRGx/1L94zrmtpeuH501lzPMvvZCmpj" - + "KrOF8e1B4MVQ5TfQTdUVyRnbcDa6E4V1ZZIdAI7BgDeJttS4+L6btquXfxUg" - + "ttPYQkevF7MdShYNnfLkY4vUMDOp3+iVzrOlq0elM95dfSA7OdBavgDJbz/7" - + "mro3AFTytnWjGz8TUos+oUujTk9/kHOn4cEAIm0hHrNhPS5qoj3QnNduNrad" - + "rLpGtcYyNlHIsYCsvPMxwoHmIw+r9xQQRjjzmVYzidn+cNOt0FmLs6YE8ds4" - + "wvHRO9S69TgKPHRgk2bihgHqII9lF9qIzfG40YwJLHzGoEwVO1O0+wn8j2EP" - + "O9I/Q3vreCH+5VbpUD2NGTwsMwZ3YlUesurLwse/YICxmgdN5Ro4DeQJSa9M" - + "iJnRFYWRq+58cKgr+L11mNc9nApZBShlpPP7pdNqWOafStIEjo+dsY/J+iyS" - + "6WLlUvNt/12qF4NAgZMb3FvRQ9PrMe87lqSRnHcpLWHcFjuKbMKCBvcdWGWI" - + "R7JR8UNzUvoLGGAUI9Ck+yTq4QtfgtL5MLmdBGxSKzgs44Mmek+LnrFx+e9n" - + "pkrdDf2gM/m7E50FnLYqzUjctKYGLNYpXQorq9MJx6TB20CHXcqOOoQqesXa" - + "9jL9PIOtBQy1Ow5Bh4SP07nTFWFSMI/Wt4ZvNvWJj3ecA9KjMOA9EXWUDS/H" - + "k9iCb2EEMo7fe5mhoyxMxPO+EIa1sEC9A1+rDACKPQCHOLI0uPmsdo0AEECC" - + "QLgOQkcwQlkHexOyHiOOtBxehtGZ1eBQQZ+31DF+RRU6WvS6grg58eS4gGOQ" - + "bd7CS9yYebvAQkz61J8KprWdtZuG1gBGma12wKMuQuC6RuWlKsj+rPMvaQCt" - + "8mucGbkElPGZVhdyD8/BvpSCNbgRwb6iSiw4EECovu4P4GFJaMGUYEuCA711" - + "itEieYc1QqS6ULjb3LFL/RcwSw0fGdjnt6B2nHckC2VsYKU1NwU7j0R1Omb4" - + "y5AvSgpuWjTXWnHnE9Ey0B+KP5ERZA+jJGiwYz48ynYlvQFSbBm4I6nh/DuI" - + "dWB2dLNxWuhdfzafBGtEHhLHzjW3WQwwRZsKesgHLrrj9hBUObodl1uvqvZN" - + "AjMOj8DrqbGOhAClj1t4S1Zk1ZekuMjsuoxEL+/lgtbT+056ES0k3A/LnpRb" - + "uxA1ZBr26Im+GVFzEcsV0hB4vNujSwStTTZH5jX5rMyi085yJfnikcLYUn9N" - + "apl+srhpIZlDJPw7IHaw8tsqXKDxF7MozIXo8B45CKv5Am+BMrIemCMX/ehu" - + "PODICl98Ur8tNAn1L+m0nj7H3c8HW2vNuBLEI3SEHHgm2Ij3IY5pyyeVUaWC" - + "pumhy8Ru5dj3fZcfKgYuJBQxWMf+UqPsf4iUK3923pouJ1cQ8XU8gOXIRrtX" - + "e41d/yR+UAZXSig6SITLw+wLtvitSvtxvjcUSUOI9CYTovKyuz1PQKiaLsV5" - + "4CoJhMQ5uRlVFS3H829I2d2gLRpSp6pNWeIZO2NMBxPYf2qcSHyHqQjR7xP2" - + "ZTg7U3OO6dZHORfXxzAnW2ExavBIYQmZh1gLn5jSS4wXFPXyvnJAsF4s5wed" - + "YHsyAqM/ek0n2Oo/zAh7UcP2vcb9FOoeRK8qC9HjTciS6WbjskRN0ft4T69G" - + "+1RsH8/edBxo2LZeA48BSCXDXOlBZJBsOptzYJD8HSZONPnef0jn23lk0fkU" - + "C3BjJu2ubFChctRvJniTko4klpidkHwuJgrTnL4er8rG3RfiiEHn/d5era15" - + "E1cekdVYWqwQOObOd4v+0gZSJgI48TBc5Qdy8F6wIU38DR2pn/5uNthNDgXk" - + "NcV9a2gOE3DoLe8CEIPMihqYMPY8NuSp97eHB2YhKpjP7qX9TUMoOdE2Iat2" - + "klNxadJt6JTFeiBPL6R9RHAD5sVBrkrl0S+oYtgF92f9WHVwAXU7zP6IgM4x" - + "hhzeJT07yyIp44mKd//F+7ntbgQjZ/iLbHh0mtOlUmzkFsDR0UNSXEQoourZ" - + "EY4A62HXj0DMqEQbik6QwEF7FKuwZX2opdOyVKH9MzJxNfDLd5dc8wAc8bCX" - + "jcCx5/GzHx2S5DndWQEVhp2hOQYuoJS3r6QCYFaHtDPKnFHS2PBFyFWL+2UK" - + "c0WsvVaHYqYKnksmxse9I9oU75kx5O05DZCThPX6h8J8MHRuxU9tcuuleIUQ" - + "XY8On+JeEtLSUZgp+Z7ITLuagf6yuKQpaR396MlDii/449/dvBiXAXeduyO1" - + "QzSkQCh37fdasqGL3mP0ssMcxM/qpOwQsx3gMtwiHQRi1oQE1QHb8qZHDE4m" - + "I5afQJ9O/H/m/EVlGUSn2yYOsPlZrWuI3BBZKoRzRq1lZOQDtOh18BE3tWmX" - + "viGIAxajam0i2Ce3h2U7vNwtiePRNEgPmQ7RwTTv0U6X8qqkjeYskiF4Cv9G" - + "nrB0WreC19ih5psEWLIkCYKTr+OhQuRrtv7RcyUi9QSneh7BjcvRjlGB6joA" - + "F6J4Y6ENAA/nzOZJ699VkljTi59bbNJYlONpQhOeRTu8M/wExkIJz7yR9DTY" - + "bY4/JdbdHNFf5DSDmYAHaFLmdnnfuRy+tC9CGGJvlcLVv5LMFJQGt2Wi15p8" - + "lctx7sL6yNCi7OakWbEOCvGPOxY7ejnvOjVK/Krx1T+dAXNUqrsDZmvmakOP" - + "We+P4Di1GqcyLVOTP8wNCkuAUoN0JFoBHy336/Xnae91KlY4DciPMpEOIpPN" - + "oB+3h6CozV7IWX5Wh3rhfC25nyGJshIBUS6cMXAsswQI8rOylMlGaekNcSU4" - + "gNKNDZAK5jNkS0Z/ziIrElSvMNTfYbnx3gCkY0pV18uadmchXihVT11Bt77O" - + "8KCKHycR39WYFIRO09wvGv6P42CRBFTdQbWFtkSwRiH8l6x39Z7pIkDFxokT" - + "Dp6Htkj3ywfQXNbFgRXZUXqgD1gZVFDFx920hcJnuu65CKz6pEL6X0XUwNPg" - + "vtraA2nj4wjVB/y+Cxc+1FgzeELB4CAmWO1OfRVLjYe7WEe/X5DPT6p8HBkB" - + "5mWuv+iQ3e37e1Lrsjt2frRYQWoOSP5Lv7c8tZiNfuIp07IYnJKBWZLTqNf9" - + "60uiY93ssE0gr3mfYOj+fSbbjy6NgAenT7NRZmFCjFwAfmapIV0hJoqnquaN" - + "jj5KKOP72hp+Zr9l8cEcvIhG/BbkY3kYbx3JJ9lnujBVr69PphHQTdw67CNB" - + "mDkH7y3bvZ+YaDY0vdKOJif9YwW2qoALXKgVBu1T2BONbCTIUTOzrKhWEvW8" - + "D6x03JsWrMMqOKeoyomf1iMt4dIOjp7yGl/lQ3iserzzLsAzR699W2+PWrAT" - + "5vLgklJPX/Fb3Tojbsc074lBq669WZe3xzlj85hFcBmoLPPyBE91BLhEwlGC" - + "+lWmwFOENLFGZE0mGoRN+KYxwqfA2N6H8TWoz6m0oPUW4uQvy9sGtYTSyQO9" - + "6ZwVNT3ndlFrP5p2atdEFVc5aO5FsK8/Fenwez06B2wv9cE9QTVpFrnJkKtF" - + "SaPCZkignj64XN7cHbk7Ys6nC3WIrTCcj1UOyp5ihuMS9eL9vosYADsmrR6M" - + "uqqeqHsf2+6U1sO1JBkDYtLzoaILTJoqg9/eH7cTA0T0mEfxVos9kAzk5nVN" - + "nVOKFrCGVIbOStpYlWP6wyykIKVkssfO6D42D5Im0zmgUwgNEkB+Vxvs8bEs" - + "l1wPuB2YPRDCEvwM3A5d5vTKhPtKMECIcDxpdwkD5RmLt+iaYN6oSFzyeeU0" - + "YvXBQzq8gfpqJu/lP8cFsjEJ0qCKdDHVTAAeWE6s5XpIzXt5cEWa5JK7Us+I" - + "VbSmri4z0sVwSpuopXmhLqLlNWLGXRDyTjZSGGJbguczXCq5XJ2E3E4WGYd6" - + "mUWhnP5H7gfW7ILOUN8HLbwOWon8A6xZlMQssL/1PaP3nL8ukvOqzbIBCZQY" - + "nrIYGowGKDU83zhO6IOgO8RIVQBJsdjXbN0FyV/sFCs5Sf5WyPlXw/dUAXIA" - + "cQiVKM3GiVeAg/q8f5nfrr8+OD4TGMVtUVYujfJocDEtdjxBuyFz3aUaKj0F" - + "r9DM3ozAxgWcEvl2CUqJLPHH+AWn5kM7bDyQ2sTIUf5M6hdeick09hwrmXRF" - + "NdIoUpn7rZORh0h2VX3XytLj2ERmvv/jPVC97VKU916n1QeMJLprjIsp7GsH" - + "KieC1RCKEfg4i9uHoIyHo/VgnKrnTOGX/ksj2ArMhviUJ0yjDDx5jo/k5wLn" - + "Rew2+bhiQdghRSriUMkubFh7TN901yl1kF2BBP5PHbpgfTP6R7qfl8ZEwzzO" - + "elHe7t7SvI7ff5LkwDvUXSEIrHPGajYvBNZsgro+4Sx5rmaE0QSXACG228OQ" - + "Qaju8qWqA2UaPhcHSPHO/u7ad/r8kHceu0dYnSFNe1p5v9Tjux0Yn6y1c+xf" - + "V1cu3plCwzW3Byw14PH9ATmi8KJpZQaJOqTxn+zD9TvOa93blK/9b5KDY1QM" - + "1s70+VOq0lEMI6Ch3QhFbXaslpgMUJLgvEa5fz3GhmD6+BRHkqjjwlLdwmyR" - + "qbr4v6o+vnJKucoUmzvDT8ZH9nH2WCtiiEtQaLNU2vsJ4kZvEy0CEajOrqUF" - + "d8qgEAHgh9it5oiyGBB2X/52notXWOi6OMKgWlxxKHPTJDvEVcQ4zZUverII" - + "4vYrveRXdiDodggfrafziDrA/0eEKWpcZj7fDBYjUBazwjrsn5VIWfwP2AUE" - + "wNn+xR81/so8Nl7EDBeoRXttyH7stbZYdRnkPK025CQug9RLzfhEAgjdgQYw" - + "uG+z0IuyctJW1Q1E8YSOpWEFcOK5okQkLFUfB63sO1M2LS0dDHzmdZriCfIE" - + "F+9aPMzojaHg3OQmZD7MiIjioV6w43bzVmtMRG22weZIYH/Sh3lDRZn13AS9" - + "YV6L7hbFtKKYrie79SldtYazYT8FTSNml/+Qv2TvYTjVwYwHpm7t479u+MLh" - + "LxMRVsVeJeSxjgufHmiLk7yYJajNyS2j9Kx/fmXmJbWZNcerrfLP+q+b594Y" - + "1TGWr8E6ZTh9I1gU2JR7WYl/hB2/eT6sgSYHTPyGSxTEvEHP242lmjkiHY94" - + "CfiTMDu281gIsnAskl05aeCBkj2M5S0BWCxy7bpVAVFf5nhf74EFIBOtHaJl" - + "/8psz1kGVF3TzgYHkZXpUjVX/mJX8FG0R8HN7g/xK73HSvqeamr4qVz3Kmm/" - + "kMtYRbZre7E1D10qh/ksNYnOkYBcG4P2JyjZ5q+8CQNungz2/b0Glg5LztNz" - + "hUgG27xDOUraJXjkkZl/GOh0eTqhfLHXC/TfyoEAQOPcA59MKqvroFC5Js0Q" - + "sTgqm2lWzaLNz+PEXpJHuSifHFXaYIkLUJs+8X5711+0M03y8iP4jZeEOrjI" - + "l9t3ZYbazwsI3hBIke2hGprw4m3ZmSvQ22g+N6+hnitnDALMsZThesjb6aJd" - + "XOwhjLkWRD4nQN594o6ZRrfv4bFEPTp4ev8l6diouKlXSFFnVqz7AZw3Pe53" - + "BvIsoh66zHBpZhauPV/s/uLb5x6Z8sU2OK6AoJ7b8R9V/AT7zvonBi/XQNw3" - + "nwkwGnTS9Mh7PFnGHLJWTKKlYXrSpNviR1vPxqHMO6b+Lki10d/YMY0vHQrY" - + "P6oSVkA6RIKsepHWo11+rV838+2NRrdedCe91foUmOs+eoWQnwmTy2CTZmQ5" - + "b7/TTcau9ewimZAqI+MtDWcmWoZfgibZmnIITGcduNOJDRn+aLt9dz+zr1qA" - + "HxlLXCOyBPdtfx6eo4Jon+fVte37i3HmxHk+8ZGMMSS9hJbLQEkA59b4E+7L" - + "GI3JZjvEkhizB4n/aFeG7KT7K3x072DMbHLZ7VgsXQ1VDDmcZmizFwgyNqKy" - + "hKCKxU+I2O10IMtiZUpEzV1Pw7hD5Kv/eFCsJFPXOJ2j3KP6qPtX5IYki1qH" - + "Juo5C5uGKtqNc6OzkXsvNUfBz5sJkEYl0WfitSSo4ARyshFUNh2hGxNxUVKM" - + "2opOcuHSxBgwUSmVprym50C305zdHulBXv3mLzGjvRstE9qfkQ8qVJYLQEkL" - + "1Yn7E92ex71YsC8JhNNMy0/YZwMkiFrqyaFd/LrblWpBbGumhe4reCJ4K3mk" - + "lFGEsICcMoe+zU1+QuLlz/bQ+UtvClHUe8hTyIjfY04Fwo2vbdSc1U/SHho5" - + "thQy+lOZ/HijzCmfWK3aTqYMdwCUTCsoxri2N8vyD/K2kbMLQWUfUlBQfDOK" - + "VrksBoSfcluNVaO56uEUw3enPhhJghfNlJnpr5gUcrAMES53DfkjNr0dCsfM" - + "JOY2ZfQEwwYey1c4W1MNNMoegSTg4aXzjVc0xDgKa7RGbtRmVNbOxIhUNAVi" - + "thQV3Qujoz1ehDt2GyLpjGjHSpQo3WlIU4OUqJaQfF6EH+3khFqUmp1LT7Iq" - + "zH3ydYsoCDjvdXSSEY3hLcZVijUJqoaNWBLb/LF8OG5qTjsM2gLgy2vgO/lM" - + "NsqkHnWTtDimoaRRjZBlYLhdzf6QlfLi7RPmmRriiAOM0nXmylF5xBPHQLoz" - + "LO9lXYIfNbVJVqQsV43z52MvEQCqPNpGqjB+Au/PZalYHbosiVOQLgTB9hTI" - + "sGutSXXeLnf5rftCFvWyL3n5DgURzDFLibrbyVGGKAk166bK1RyVP9XZJonr" - + "hPYELk4KawCysJJSmC0E8sSsuXpfd6PPDru6nCV1EdXKR7DybS7NVHCktiPR" - + "4B4y8O/AgfJX8sb6LuxmjaINtUKEJ1+O88Gb69uy6b/Kpu2ri/SUBaNNw4Sn" - + "/tuaD+jxroL7RlZmt9ME/saNKn9OmLuggd6IUKAL4Ifsx9i7+JKcYuP8Cjdf" - + "Rx6U6H4qkEwwYGXnZYqF3jxplyOfqA2Vpvp4rnf8mST6dRLKk49IhKGTzwZr" - + "4za/RZhyl6lyoRAFDrVs1b+tj6RYZk0QnK3dLiN1MFYojLyz5Uvi5KlSyFw9" - + "trsvXyfyWdyRmJqo1fT7OUe0ImJW2RN3v/qs1k+EXizgb7DW4Rc2goDsCGrZ" - + "ZdMwuAdpRnyg9WNtmWwp4XXeb66u3hJHr4RwMd5oyKFB1GsmzZF7aOhSIb2B" - + "t3coNXo/Y+WpEj9fD7/snq7I1lS2+3Jrnna1048O7N4b5S4b5TtEcCBILP1C" - + "SRvaHyZhBtJpoH6UyimKfabXi08ksrcHmbs1+HRvn+3pl0bHcdeBIQS/wjk1" - + "TVEDtaP+K9zkJxaExtoa45QvqowxtcKtMftNoznF45LvwriXEDV9jCXvKMcO" - + "nxG5aQ//fbnn4j4q1wsKXxn61wuLUW5Nrg9fIhX7nTNAAooETO7bMUeOWjig" - + "2S1nscmtwaV+Sumyz/XUhvWynwE0AXveLrA8Gxfx"); - - private static byte[] derExpTest = Base64.decode( - "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" - + "yv8TOTFCWnZEUTtVA9+2CpwfmuEjD2UQ4vxoM+o="); - - byte[] longTagged = Hex.decode("9f1f023330"); - - public void testClassCast() - throws IOException - { - parseEnveloped(classCastTest); - } - - public void testDerExp() - throws IOException - { - parseEnveloped(derExpTest); - } - - public void testLongTag() - throws IOException - { - ASN1StreamParser aIn = new ASN1StreamParser(longTagged); - - ASN1TaggedObjectParser tagged = (ASN1TaggedObjectParser)aIn.readObject(); - - assertEquals(31, tagged.getTagNo()); - } - - private void parseEnveloped(byte[] data) throws IOException - { - ASN1StreamParser aIn = new ASN1StreamParser(data); - - ContentInfoParser cP = new ContentInfoParser((ASN1SequenceParser)aIn.readObject()); - - EnvelopedDataParser eP = new EnvelopedDataParser((ASN1SequenceParser)cP.getContent(BERTags.SEQUENCE)); - - eP.getRecipientInfos().toASN1Primitive(); // Must drain the parser! - - EncryptedContentInfoParser ecP = eP.getEncryptedContentInfo(); - - ASN1OctetStringParser content = (ASN1OctetStringParser)ecP.getEncryptedContent(BERTags.OCTET_STRING); - - Streams.drain(content.getOctetStream()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParsingTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParsingTest.java deleted file mode 100644 index 65424e227..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ParsingTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1StreamParser; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -public class ParsingTest - extends SimpleTest -{ - String[] streams = { - "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" - }; - - public String getName() - { - return "ParsingTest"; - } - - public void performTest() - throws Exception - { - inputStreamTest(); - parserTest(); - } - - private void parserTest() - { - for (int i = 0; i != streams.length; i++) - { - ASN1StreamParser aIn = new ASN1StreamParser(Base64.decode(streams[i])); - - try - { - Object obj; - - while ((obj = aIn.readObject()) != null) - { - - } - - fail("bad stream parsed successfully!"); - } - catch (IOException e) - { - // ignore - } - } - } - - private void inputStreamTest() - { - for (int i = 0; i != streams.length; i++) - { - ASN1InputStream aIn = new ASN1InputStream(Base64.decode(streams[i])); - - try - { - Object obj; - - while ((obj = aIn.readObject()) != null) - { - - } - - fail("bad stream parsed successfully!"); - } - catch (IOException e) - { - // ignore - } - } - } - - public static void main( - String[] args) - { - runTest(new ParsingTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PersonalDataUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PersonalDataUnitTest.java deleted file mode 100644 index 6f7af40a6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/PersonalDataUnitTest.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1GeneralizedTime; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.sigi.NameOrPseudonym; -import org.spongycastle.asn1.x509.sigi.PersonalData; - -public class PersonalDataUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "PersonalData"; - } - - public void performTest() - throws Exception - { - NameOrPseudonym nameOrPseudonym = new NameOrPseudonym("pseudonym"); - BigInteger nameDistinguisher = BigInteger.valueOf(10); - ASN1GeneralizedTime dateOfBirth= new ASN1GeneralizedTime("20070315173729Z"); - DirectoryString placeOfBirth = new DirectoryString("placeOfBirth"); - String gender = "M"; - DirectoryString postalAddress = new DirectoryString("address"); - - PersonalData data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); - - checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); - - data = new PersonalData(nameOrPseudonym, null, dateOfBirth, placeOfBirth, gender, postalAddress); - - checkConstruction(data, nameOrPseudonym, null, dateOfBirth, placeOfBirth, gender, postalAddress); - - data = new PersonalData(nameOrPseudonym, nameDistinguisher, null, placeOfBirth, gender, postalAddress); - - checkConstruction(data, nameOrPseudonym, nameDistinguisher, null, placeOfBirth, gender, postalAddress); - - data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, null, gender, postalAddress); - - checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, null, gender, postalAddress); - - data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, null, postalAddress); - - checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, null, postalAddress); - - data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, null); - - checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, null); - - data = PersonalData.getInstance(null); - - if (data != null) - { - fail("null getInstance() failed."); - } - - try - { - PersonalData.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - PersonalData data, - NameOrPseudonym nameOrPseudonym, - BigInteger nameDistinguisher, - DERGeneralizedTime dateOfBirth, - DirectoryString placeOfBirth, - String gender, - DirectoryString postalAddress) - throws IOException - { - checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); - - data = PersonalData.getInstance(data); - - checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); - - ASN1InputStream aIn = new ASN1InputStream(data.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - data = PersonalData.getInstance(seq); - - checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress); - } - - private void checkValues( - PersonalData data, - NameOrPseudonym nameOrPseudonym, - BigInteger nameDistinguisher, - DERGeneralizedTime dateOfBirth, - DirectoryString placeOfBirth, - String gender, - DirectoryString postalAddress) - { - checkMandatoryField("nameOrPseudonym", nameOrPseudonym, data.getNameOrPseudonym()); - checkOptionalField("nameDistinguisher", nameDistinguisher, data.getNameDistinguisher()); - checkOptionalField("dateOfBirth", dateOfBirth, data.getDateOfBirth()); - checkOptionalField("placeOfBirth", placeOfBirth, data.getPlaceOfBirth()); - checkOptionalField("gender", gender, data.getGender()); - checkOptionalField("postalAddress", postalAddress, data.getPostalAddress()); - } - - public static void main( - String[] args) - { - runTest(new PersonalDataUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProcurationSyntaxUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProcurationSyntaxUnitTest.java deleted file mode 100644 index 8064bc654..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProcurationSyntaxUnitTest.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.isismtt.x509.ProcurationSyntax; -import org.spongycastle.asn1.x500.DirectoryString; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.GeneralNames; -import org.spongycastle.asn1.x509.IssuerSerial; -import org.spongycastle.asn1.x509.X509Name; - -public class ProcurationSyntaxUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "ProcurationSyntax"; - } - - public void performTest() - throws Exception - { - String country = "AU"; - DirectoryString typeOfSubstitution = new DirectoryString("substitution"); - GeneralName thirdPerson = new GeneralName(new X509Name("CN=thirdPerson")); - IssuerSerial certRef = new IssuerSerial(new GeneralNames(new GeneralName(new X509Name("CN=test"))), new ASN1Integer(1)); - - ProcurationSyntax procuration = new ProcurationSyntax(country, typeOfSubstitution, thirdPerson); - - checkConstruction(procuration, country, typeOfSubstitution, thirdPerson, null); - - procuration = new ProcurationSyntax(country, typeOfSubstitution, certRef); - - checkConstruction(procuration, country, typeOfSubstitution, null, certRef); - - procuration = new ProcurationSyntax(null, typeOfSubstitution, certRef); - - checkConstruction(procuration, null, typeOfSubstitution, null, certRef); - - procuration = new ProcurationSyntax(country, null, certRef); - - checkConstruction(procuration, country, null, null, certRef); - - procuration = ProcurationSyntax.getInstance(null); - - if (procuration != null) - { - fail("null getInstance() failed."); - } - - try - { - ProcurationSyntax.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - ProcurationSyntax procuration, - String country, - DirectoryString typeOfSubstitution, - GeneralName thirdPerson, - IssuerSerial certRef) - throws IOException - { - checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef); - - procuration = ProcurationSyntax.getInstance(procuration); - - checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef); - - ASN1InputStream aIn = new ASN1InputStream(procuration.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - procuration = ProcurationSyntax.getInstance(seq); - - checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef); - } - - private void checkValues( - ProcurationSyntax procuration, - String country, - DirectoryString typeOfSubstitution, - GeneralName thirdPerson, - IssuerSerial certRef) - { - checkOptionalField("country", country, procuration.getCountry()); - checkOptionalField("typeOfSubstitution", typeOfSubstitution, procuration.getTypeOfSubstitution()); - checkOptionalField("thirdPerson", thirdPerson, procuration.getThirdPerson()); - checkOptionalField("certRef", certRef, procuration.getCertRef()); - } - - public static void main( - String[] args) - { - runTest(new ProcurationSyntaxUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProfessionInfoUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProfessionInfoUnitTest.java deleted file mode 100644 index d8fe671a2..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ProfessionInfoUnitTest.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.isismtt.x509.NamingAuthority; -import org.spongycastle.asn1.isismtt.x509.ProcurationSyntax; -import org.spongycastle.asn1.isismtt.x509.ProfessionInfo; -import org.spongycastle.asn1.x500.DirectoryString; - -public class ProfessionInfoUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "ProfessionInfo"; - } - - public void performTest() - throws Exception - { - NamingAuthority auth = new NamingAuthority(new DERObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")); - DirectoryString[] professionItems = { new DirectoryString("substitution") }; - ASN1ObjectIdentifier[] professionOids = { new ASN1ObjectIdentifier("1.2.3") }; - String registrationNumber = "12345"; - DEROctetString addProfInfo = new DEROctetString(new byte[20]); - - ProfessionInfo info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, addProfInfo); - - checkConstruction(info, auth, professionItems, professionOids, registrationNumber, addProfInfo); - - info = new ProfessionInfo(null, professionItems, professionOids, registrationNumber, addProfInfo); - - checkConstruction(info, null, professionItems, professionOids, registrationNumber, addProfInfo); - - info = new ProfessionInfo(auth, professionItems, null, registrationNumber, addProfInfo); - - checkConstruction(info, auth, professionItems, null, registrationNumber, addProfInfo); - - info = new ProfessionInfo(auth, professionItems, professionOids, null, addProfInfo); - - checkConstruction(info, auth, professionItems, professionOids, null, addProfInfo); - - info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, null); - - checkConstruction(info, auth, professionItems, professionOids, registrationNumber, null); - - info = ProfessionInfo.getInstance(null); - - if (info != null) - { - fail("null getInstance() failed."); - } - - try - { - ProcurationSyntax.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - ProfessionInfo profInfo, - NamingAuthority auth, - DirectoryString[] professionItems, - DERObjectIdentifier[] professionOids, - String registrationNumber, - DEROctetString addProfInfo) - throws IOException - { - checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); - - profInfo = ProfessionInfo.getInstance(profInfo); - - checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); - - ASN1InputStream aIn = new ASN1InputStream(profInfo.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - profInfo = ProfessionInfo.getInstance(seq); - - checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); - } - - private void checkValues( - ProfessionInfo profInfo, - NamingAuthority auth, - DirectoryString[] professionItems, - DERObjectIdentifier[] professionOids, - String registrationNumber, - DEROctetString addProfInfo) - { - checkOptionalField("auth", auth, profInfo.getNamingAuthority()); - checkMandatoryField("professionItems", professionItems[0], profInfo.getProfessionItems()[0]); - if (professionOids != null) - { - checkOptionalField("professionOids", professionOids[0], profInfo.getProfessionOIDs()[0]); - } - checkOptionalField("registrationNumber", registrationNumber, profInfo.getRegistrationNumber()); - checkOptionalField("addProfessionInfo", addProfInfo, profInfo.getAddProfessionInfo()); - } - - public static void main( - String[] args) - { - runTest(new ProfessionInfoUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/QCStatementUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/QCStatementUnitTest.java deleted file mode 100644 index 02094ed12..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/QCStatementUnitTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.x509.qualified.QCStatement; -import org.spongycastle.asn1.x509.qualified.RFC3739QCObjectIdentifiers; -import org.spongycastle.asn1.x509.qualified.SemanticsInformation; -import org.spongycastle.util.test.SimpleTest; - -public class QCStatementUnitTest - extends SimpleTest -{ - public String getName() - { - return "QCStatement"; - } - - public void performTest() - throws Exception - { - QCStatement mv = new QCStatement(RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1); - - checkConstruction(mv, RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, null); - - ASN1Encodable info = new SemanticsInformation(new ASN1ObjectIdentifier("1.2")); - - mv = new QCStatement(RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, info); - - checkConstruction(mv, RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, info); - - mv = QCStatement.getInstance(null); - - if (mv != null) - { - fail("null getInstance() failed."); - } - - try - { - QCStatement.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - QCStatement mv, - DERObjectIdentifier statementId, - ASN1Encodable statementInfo) - throws IOException - { - checkStatement(mv, statementId, statementInfo); - - mv = QCStatement.getInstance(mv); - - checkStatement(mv, statementId, statementInfo); - - ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - mv = QCStatement.getInstance(seq); - - checkStatement(mv, statementId, statementInfo); - } - - private void checkStatement( - QCStatement qcs, - DERObjectIdentifier statementId, - ASN1Encodable statementInfo) - throws IOException - { - if (!qcs.getStatementId().equals(statementId)) - { - fail("statementIds don't match."); - } - - if (statementInfo != null) - { - if (!qcs.getStatementInfo().equals(statementInfo)) - { - fail("statementInfos don't match."); - } - } - else if (qcs.getStatementInfo() != null) - { - fail("statementInfo found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new QCStatementUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RFC4519Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RFC4519Test.java deleted file mode 100644 index 52e5b5734..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RFC4519Test.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameStyle; -import org.spongycastle.asn1.x500.style.RFC4519Style; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class RFC4519Test - extends SimpleTest -{ - static String[] attributeTypes = - { - "businessCategory", - "c", - "cn", - "dc", - "description", - "destinationIndicator", - "distinguishedName", - "dnQualifier", - "enhancedSearchGuide", - "facsimileTelephoneNumber", - "generationQualifier", - "givenName", - "houseIdentifier", - "initials", - "internationalISDNNumber", - "l", - "member", - "name", - "o", - "ou", - "owner", - "physicalDeliveryOfficeName", - "postalAddress", - "postalCode", - "postOfficeBox", - "preferredDeliveryMethod", - "registeredAddress", - "roleOccupant", - "searchGuide", - "seeAlso", - "serialNumber", - "sn", - "st", - "street", - "telephoneNumber", - "teletexTerminalIdentifier", - "telexNumber", - "title", - "uid", - "uniqueMember", - "userPassword", - "x121Address", - "x500UniqueIdentifier" - }; - - static ASN1ObjectIdentifier[] attributeTypeOIDs = - { - new ASN1ObjectIdentifier("2.5.4.15"), - new ASN1ObjectIdentifier("2.5.4.6"), - new ASN1ObjectIdentifier("2.5.4.3"), - new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"), - new ASN1ObjectIdentifier("2.5.4.13"), - new ASN1ObjectIdentifier("2.5.4.27"), - new ASN1ObjectIdentifier("2.5.4.49"), - new ASN1ObjectIdentifier("2.5.4.46"), - new ASN1ObjectIdentifier("2.5.4.47"), - new ASN1ObjectIdentifier("2.5.4.23"), - new ASN1ObjectIdentifier("2.5.4.44"), - new ASN1ObjectIdentifier("2.5.4.42"), - new ASN1ObjectIdentifier("2.5.4.51"), - new ASN1ObjectIdentifier("2.5.4.43"), - new ASN1ObjectIdentifier("2.5.4.25"), - new ASN1ObjectIdentifier("2.5.4.7"), - new ASN1ObjectIdentifier("2.5.4.31"), - new ASN1ObjectIdentifier("2.5.4.41"), - new ASN1ObjectIdentifier("2.5.4.10"), - new ASN1ObjectIdentifier("2.5.4.11"), - new ASN1ObjectIdentifier("2.5.4.32"), - new ASN1ObjectIdentifier("2.5.4.19"), - new ASN1ObjectIdentifier("2.5.4.16"), - new ASN1ObjectIdentifier("2.5.4.17"), - new ASN1ObjectIdentifier("2.5.4.18"), - new ASN1ObjectIdentifier("2.5.4.28"), - new ASN1ObjectIdentifier("2.5.4.26"), - new ASN1ObjectIdentifier("2.5.4.33"), - new ASN1ObjectIdentifier("2.5.4.14"), - new ASN1ObjectIdentifier("2.5.4.34"), - new ASN1ObjectIdentifier("2.5.4.5"), - new ASN1ObjectIdentifier("2.5.4.4"), - new ASN1ObjectIdentifier("2.5.4.8"), - new ASN1ObjectIdentifier("2.5.4.9"), - new ASN1ObjectIdentifier("2.5.4.20"), - new ASN1ObjectIdentifier("2.5.4.22"), - new ASN1ObjectIdentifier("2.5.4.21"), - new ASN1ObjectIdentifier("2.5.4.12"), - new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"), - new ASN1ObjectIdentifier("2.5.4.50"), - new ASN1ObjectIdentifier("2.5.4.35"), - new ASN1ObjectIdentifier("2.5.4.24"), - new ASN1ObjectIdentifier("2.5.4.45") - }; - - public String getName() - { - return "RFC4519Test"; - } - - public void performTest() - throws Exception - { - X500NameStyle style = RFC4519Style.INSTANCE; - - for (int i = 0; i != attributeTypes.length; i++) - { - if (!attributeTypeOIDs[i].equals(style.attrNameToOID(attributeTypes[i]))) - { - fail("mismatch for " + attributeTypes[i]); - } - } - - byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65"); - - X500Name n = new X500Name(style, X500Name.getInstance(enc)); - - if (!n.toString().equals("l=Melbourne+ou=Ascot Vale,o=The Legion of the Bouncy Castle,c=AU")) - { - fail("Failed composite to string test got: " + n.toString()); - } - - n = new X500Name(style, "l=Melbourne+ou=Ascot Vale,o=The Legion of the Bouncy Castle,c=AU"); - - if (!Arrays.areEqual(n.getEncoded(), enc)) - { - fail("re-encoding test after parse failed"); - } - } - - - public static void main( - String[] args) - { - runTest(new RFC4519Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ReasonFlagsTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ReasonFlagsTest.java deleted file mode 100644 index 343479146..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/ReasonFlagsTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.x509.ReasonFlags; -import org.spongycastle.util.test.SimpleTest; - -public class ReasonFlagsTest - extends SimpleTest -{ - public String getName() - { - return "ReasonFlags"; - } - - public void performTest() - throws IOException - { - BitStringConstantTester.testFlagValueCorrect(0, ReasonFlags.unused); - BitStringConstantTester.testFlagValueCorrect(1, ReasonFlags.keyCompromise); - BitStringConstantTester.testFlagValueCorrect(2, ReasonFlags.cACompromise); - BitStringConstantTester.testFlagValueCorrect(3, ReasonFlags.affiliationChanged); - BitStringConstantTester.testFlagValueCorrect(4, ReasonFlags.superseded); - BitStringConstantTester.testFlagValueCorrect(5, ReasonFlags.cessationOfOperation); - BitStringConstantTester.testFlagValueCorrect(6, ReasonFlags.certificateHold); - BitStringConstantTester.testFlagValueCorrect(7, ReasonFlags.privilegeWithdrawn); - BitStringConstantTester.testFlagValueCorrect(8, ReasonFlags.aACompromise); - } - - public static void main( - String[] args) - { - runTest(new ReasonFlagsTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RegressionTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RegressionTest.java deleted file mode 100644 index 5fa57fa94..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RegressionTest.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new InputStreamTest(), - new EqualsAndHashCodeTest(), - new TagTest(), - new SetTest(), - new DERUTF8StringTest(), - new CertificateTest(), - new GenerationTest(), - new CMSTest(), - new OCSPTest(), - new OIDTest(), - new PKCS10Test(), - new PKCS12Test(), - new X509NameTest(), - new X500NameTest(), - new X509ExtensionsTest(), - new GeneralizedTimeTest(), - new BitStringTest(), - new MiscTest(), - new SMIMETest(), - new X9Test(), - new MonetaryValueUnitTest(), - new BiometricDataUnitTest(), - new Iso4217CurrencyCodeUnitTest(), - new SemanticsInformationUnitTest(), - new QCStatementUnitTest(), - new TypeOfBiometricDataUnitTest(), - new SignerLocationUnitTest(), - new CommitmentTypeQualifierUnitTest(), - new CommitmentTypeIndicationUnitTest(), - new EncryptedPrivateKeyInfoTest(), - new DataGroupHashUnitTest(), - new LDSSecurityObjectUnitTest(), - new CscaMasterListTest(), - new AttributeTableUnitTest(), - new ReasonFlagsTest(), - new NetscapeCertTypeTest(), - new PKIFailureInfoTest(), - new KeyUsageTest(), - new StringTest(), - new UTCTimeTest(), - new RequestedCertificateUnitTest(), - new OtherCertIDUnitTest(), - new OtherSigningCertificateUnitTest(), - new ContentHintsUnitTest(), - new CertHashUnitTest(), - new AdditionalInformationSyntaxUnitTest(), - new AdmissionSyntaxUnitTest(), - new AdmissionsUnitTest(), - new DeclarationOfMajorityUnitTest(), - new ProcurationSyntaxUnitTest(), - new ProfessionInfoUnitTest(), - new RestrictionUnitTest(), - new NamingAuthorityUnitTest(), - new MonetaryLimitUnitTest(), - new NameOrPseudonymUnitTest(), - new PersonalDataUnitTest(), - new DERApplicationSpecificTest(), - new IssuingDistributionPointUnitTest(), - new TargetInformationTest(), - new SubjectKeyIdentifierTest(), - new ESSCertIDv2UnitTest(), - new ParsingTest(), - new GeneralNameTest(), - new ObjectIdentifierTest(), - new RFC4519Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RequestedCertificateUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RequestedCertificateUnitTest.java deleted file mode 100644 index 389f07d3e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RequestedCertificateUnitTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.isismtt.ocsp.RequestedCertificate; -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.util.encoders.Base64; - -public class RequestedCertificateUnitTest - extends ASN1UnitTest -{ - byte[] certBytes = Base64.decode( - "MIIBWzCCAQYCARgwDQYJKoZIhvcNAQEEBQAwODELMAkGA1UEBhMCQVUxDDAKBgNV" - + "BAgTA1FMRDEbMBkGA1UEAxMSU1NMZWF5L3JzYSB0ZXN0IENBMB4XDTk1MDYxOTIz" - + "MzMxMloXDTk1MDcxNzIzMzMxMlowOjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA1FM" - + "RDEdMBsGA1UEAxMUU1NMZWF5L3JzYSB0ZXN0IGNlcnQwXDANBgkqhkiG9w0BAQEF" - + "AANLADBIAkEAqtt6qS5GTxVxGZYWa0/4u+IwHf7p2LNZbcPBp9/OfIcYAXBQn8hO" - + "/Re1uwLKXdCjIoaGs4DLdG88rkzfyK5dPQIDAQABMAwGCCqGSIb3DQIFBQADQQAE" - + "Wc7EcF8po2/ZO6kNCwK/ICH6DobgLekA5lSLr5EvuioZniZp5lFzAw4+YzPQ7XKJ" - + "zl9HYIMxATFyqSiD9jsx"); - - public String getName() - { - return "RequestedCertificate"; - } - - public void performTest() - throws Exception - { - int type = 1; - byte[] certOctets = new byte[20]; - Certificate cert = Certificate.getInstance(certBytes); - - RequestedCertificate requested = new RequestedCertificate(type, certOctets); - - checkConstruction(requested, type, certOctets, null); - - requested = new RequestedCertificate(cert); - - checkConstruction(requested, RequestedCertificate.certificate, null, cert); - - requested = RequestedCertificate.getInstance(null); - - if (requested != null) - { - fail("null getInstance() failed."); - } - - try - { - RequestedCertificate.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - RequestedCertificate requested, - int type, - byte[] certOctets, - Certificate cert) - throws IOException - { - checkValues(requested, type, certOctets, cert); - - requested = RequestedCertificate.getInstance(requested); - - checkValues(requested, type, certOctets, cert); - - ASN1InputStream aIn = new ASN1InputStream(requested.toASN1Object().getEncoded()); - - Object obj = aIn.readObject(); - - requested = RequestedCertificate.getInstance(obj); - - checkValues(requested, type, certOctets, cert); - } - - private void checkValues( - RequestedCertificate requested, - int type, - byte[] certOctets, - Certificate cert) - throws IOException - { - checkMandatoryField("certType", type, requested.getType()); - - if (requested.getType() == RequestedCertificate.certificate) - { - checkMandatoryField("certificate", cert.getEncoded(), requested.getCertificateBytes()); - } - else - { - checkMandatoryField("certificateOctets", certOctets, requested.getCertificateBytes()); - } - } - - public static void main( - String[] args) - { - runTest(new RequestedCertificateUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RestrictionUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RestrictionUnitTest.java deleted file mode 100644 index 582d6851f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/RestrictionUnitTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.isismtt.x509.Restriction; -import org.spongycastle.asn1.x500.DirectoryString; - -public class RestrictionUnitTest - extends ASN1UnitTest -{ - public String getName() - { - return "Restriction"; - } - - public void performTest() - throws Exception - { - DirectoryString res = new DirectoryString("test"); - Restriction restriction = new Restriction(res.getString()); - - checkConstruction(restriction, res); - - try - { - Restriction.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - Restriction restriction, - DirectoryString res) - throws IOException - { - checkValues(restriction, res); - - restriction = Restriction.getInstance(restriction); - - checkValues(restriction, res); - - ASN1InputStream aIn = new ASN1InputStream(restriction.toASN1Object().getEncoded()); - - ASN1String str = (ASN1String)aIn.readObject(); - - restriction = Restriction.getInstance(str); - - checkValues(restriction, res); - } - - private void checkValues( - Restriction restriction, - DirectoryString res) - { - checkMandatoryField("restriction", res, restriction.getRestriction()); - } - - public static void main( - String[] args) - { - runTest(new RestrictionUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SMIMETest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SMIMETest.java deleted file mode 100644 index e6330386f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SMIMETest.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.cms.RecipientKeyIdentifier; -import org.spongycastle.asn1.smime.SMIMECapabilitiesAttribute; -import org.spongycastle.asn1.smime.SMIMECapability; -import org.spongycastle.asn1.smime.SMIMECapabilityVector; -import org.spongycastle.asn1.smime.SMIMEEncryptionKeyPreferenceAttribute; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class SMIMETest - implements Test -{ - byte[] attrBytes = Base64.decode("MDQGCSqGSIb3DQEJDzEnMCUwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMAcGBSsOAwIH"); - byte[] prefBytes = Base64.decode("MCwGCyqGSIb3DQEJEAILMR2hGwQIAAAAAAAAAAAYDzIwMDcwMzE1MTczNzI5Wg=="); - - private boolean isSameAs( - byte[] a, - byte[] b) - { - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public TestResult perform() - { - SMIMECapabilityVector caps = new SMIMECapabilityVector(); - - caps.addCapability(SMIMECapability.dES_EDE3_CBC); - caps.addCapability(SMIMECapability.rC2_CBC, 128); - caps.addCapability(SMIMECapability.dES_CBC); - - SMIMECapabilitiesAttribute attr = new SMIMECapabilitiesAttribute(caps); - - SMIMEEncryptionKeyPreferenceAttribute pref = new SMIMEEncryptionKeyPreferenceAttribute( - new RecipientKeyIdentifier(new DEROctetString(new byte[8]), new DERGeneralizedTime("20070315173729Z"), null)); - - try - { - if (!isSameAs(attr.getEncoded(), attrBytes)) - { - return new SimpleTestResult(false, getName() + ": Failed attr data check"); - } - - ByteArrayInputStream bIn = new ByteArrayInputStream(attrBytes); - ASN1InputStream aIn = new ASN1InputStream(bIn); - - ASN1Primitive o = aIn.readObject(); - if (!attr.equals(o)) - { - return new SimpleTestResult(false, getName() + ": Failed equality test for attr"); - } - - if (!isSameAs(pref.getEncoded(), prefBytes)) - { - return new SimpleTestResult(false, getName() + ": Failed attr data check"); - } - - bIn = new ByteArrayInputStream(prefBytes); - aIn = new ASN1InputStream(bIn); - - o = aIn.readObject(); - if (!pref.equals(o)) - { - return new SimpleTestResult(false, getName() + ": Failed equality test for pref"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e); - } - } - - public String getName() - { - return "SMIME"; - } - - public static void main( - String[] args) - { - SMIMETest test = new SMIMETest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SemanticsInformationUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SemanticsInformationUnitTest.java deleted file mode 100644 index 6c437485f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SemanticsInformationUnitTest.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.asn1.x509.qualified.SemanticsInformation; -import org.spongycastle.util.test.SimpleTest; - -public class SemanticsInformationUnitTest - extends SimpleTest -{ - public String getName() - { - return "SemanticsInformation"; - } - - public void performTest() - throws Exception - { - ASN1ObjectIdentifier statementId = new ASN1ObjectIdentifier("1.1"); - SemanticsInformation mv = new SemanticsInformation(statementId); - - checkConstruction(mv, statementId, null); - - GeneralName[] names = new GeneralName[2]; - - names[0] = new GeneralName(GeneralName.rfc822Name, "test@test.org"); - names[1] = new GeneralName(new X509Name("cn=test")); - - mv = new SemanticsInformation(statementId, names); - - checkConstruction(mv, statementId, names); - - mv = new SemanticsInformation(names); - - checkConstruction(mv, null, names); - - mv = SemanticsInformation.getInstance(null); - - if (mv != null) - { - fail("null getInstance() failed."); - } - - try - { - SemanticsInformation.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - SemanticsInformation.getInstance(new DERSequence(v)); - - fail("constructor failed to detect empty sequence."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - SemanticsInformation mv, - DERObjectIdentifier semanticsIdentifier, - GeneralName[] names) - throws Exception - { - checkStatement(mv, semanticsIdentifier, names); - - mv = SemanticsInformation.getInstance(mv); - - checkStatement(mv, semanticsIdentifier, names); - - ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - mv = SemanticsInformation.getInstance(seq); - - checkStatement(mv, semanticsIdentifier, names); - } - - private void checkStatement( - SemanticsInformation si, - DERObjectIdentifier id, - GeneralName[] names) - { - if (id != null) - { - if (!si.getSemanticsIdentifier().equals(id)) - { - fail("ids don't match."); - } - } - else if (si.getSemanticsIdentifier() != null) - { - fail("statementId found when none expected."); - } - - if (names != null) - { - GeneralName[] siNames = si.getNameRegistrationAuthorities(); - - for (int i = 0; i != siNames.length; i++) - { - if (!names[i].equals(siNames[i])) - { - fail("name registration authorities don't match."); - } - } - } - else if (si.getNameRegistrationAuthorities() != null) - { - fail("name registration authorities found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new SemanticsInformationUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SetTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SetTest.java deleted file mode 100644 index 973c1cb9a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SetTest.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.BERSet; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERBoolean; -import org.spongycastle.asn1.DERInteger; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.util.test.SimpleTest; - -/** - * Set sorting test example - */ -public class SetTest - extends SimpleTest -{ - - public String getName() - { - return "Set"; - } - - private void checkedSortedSet(int attempt, ASN1Set s) - { - if (s.getObjectAt(0) instanceof DERBoolean - && s.getObjectAt(1) instanceof DERInteger - && s.getObjectAt(2) instanceof DERBitString - && s.getObjectAt(3) instanceof DEROctetString) - { - return; - } - - fail("sorting failed on attempt: " + attempt); - } - - public void performTest() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - byte[] data = new byte[10]; - - v.add(new DEROctetString(data)); - v.add(new DERBitString(data)); - v.add(new DERInteger(100)); - v.add(new DERBoolean(true)); - - checkedSortedSet(0, new DERSet(v)); - - v = new ASN1EncodableVector(); - v.add(new DERInteger(100)); - v.add(new DERBoolean(true)); - v.add(new DEROctetString(data)); - v.add(new DERBitString(data)); - - checkedSortedSet(1, new DERSet(v)); - - v = new ASN1EncodableVector(); - v.add(new DERBoolean(true)); - v.add(new DEROctetString(data)); - v.add(new DERBitString(data)); - v.add(new DERInteger(100)); - - - checkedSortedSet(2, new DERSet(v)); - - v = new ASN1EncodableVector(); - v.add(new DERBitString(data)); - v.add(new DEROctetString(data)); - v.add(new DERInteger(100)); - v.add(new DERBoolean(true)); - - checkedSortedSet(3, new DERSet(v)); - - v = new ASN1EncodableVector(); - v.add(new DEROctetString(data)); - v.add(new DERBitString(data)); - v.add(new DERInteger(100)); - v.add(new DERBoolean(true)); - - ASN1Set s = new BERSet(v); - - if (!(s.getObjectAt(0) instanceof DEROctetString)) - { - fail("BER set sort order changed."); - } - - // create an implicitly tagged "set" without sorting - ASN1TaggedObject tag = new DERTaggedObject(false, 1, new DERSequence(v)); - s = ASN1Set.getInstance(tag, false); - - if (s.getObjectAt(0) instanceof DERBoolean) - { - fail("sorted when shouldn't be."); - } - - // equality test - v = new ASN1EncodableVector(); - - v.add(new DERBoolean(true)); - v.add(new DERBoolean(true)); - v.add(new DERBoolean(true)); - - s = new DERSet(v); - } - - public static void main( - String[] args) - { - runTest(new SetTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SignerLocationUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SignerLocationUnitTest.java deleted file mode 100644 index 44b1f66e0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SignerLocationUnitTest.java +++ /dev/null @@ -1,197 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.esf.SignerLocation; -import org.spongycastle.util.test.SimpleTest; - -public class SignerLocationUnitTest - extends SimpleTest -{ - public String getName() - { - return "SignerLocation"; - } - - public void performTest() - throws Exception - { - DERUTF8String countryName = new DERUTF8String("Australia"); - - SignerLocation sl = new SignerLocation(countryName, null, null); - - checkConstruction(sl, countryName, null, null); - - DERUTF8String localityName = new DERUTF8String("Melbourne"); - - sl = new SignerLocation(null, localityName, null); - - checkConstruction(sl, null, localityName, null); - - sl = new SignerLocation(countryName, localityName, null); - - checkConstruction(sl, countryName, localityName, null); - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DERUTF8String("line 1")); - v.add(new DERUTF8String("line 2")); - - ASN1Sequence postalAddress = new DERSequence(v); - - sl = new SignerLocation(null, null, postalAddress); - - checkConstruction(sl, null, null, postalAddress); - - sl = new SignerLocation(countryName, null, postalAddress); - - checkConstruction(sl, countryName, null, postalAddress); - - sl = new SignerLocation(countryName, localityName, postalAddress); - - checkConstruction(sl, countryName, localityName, postalAddress); - - sl = SignerLocation.getInstance(null); - - if (sl != null) - { - fail("null getInstance() failed."); - } - - try - { - SignerLocation.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - - // - // out of range postal address - // - v = new ASN1EncodableVector(); - - v.add(new DERUTF8String("line 1")); - v.add(new DERUTF8String("line 2")); - v.add(new DERUTF8String("line 3")); - v.add(new DERUTF8String("line 4")); - v.add(new DERUTF8String("line 5")); - v.add(new DERUTF8String("line 6")); - v.add(new DERUTF8String("line 7")); - - postalAddress = new DERSequence(v); - - try - { - new SignerLocation(null, null, postalAddress); - - fail("constructor failed to detect bad postalAddress."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - SignerLocation.getInstance(new DERSequence(new DERTaggedObject(2, postalAddress))); - - fail("sequence constructor failed to detect bad postalAddress."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - SignerLocation.getInstance(new DERSequence(new DERTaggedObject(5, postalAddress))); - - fail("sequence constructor failed to detect bad tag."); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - private void checkConstruction( - SignerLocation sl, - DERUTF8String countryName, - DERUTF8String localityName, - ASN1Sequence postalAddress) - throws IOException - { - checkValues(sl, countryName, localityName, postalAddress); - - sl = SignerLocation.getInstance(sl); - - checkValues(sl, countryName, localityName, postalAddress); - - ASN1InputStream aIn = new ASN1InputStream(sl.toASN1Object().getEncoded()); - - ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); - - sl = SignerLocation.getInstance(seq); - - checkValues(sl, countryName, localityName, postalAddress); - } - - private void checkValues( - SignerLocation sl, - DERUTF8String countryName, - DERUTF8String localityName, - ASN1Sequence postalAddress) - { - if (countryName != null) - { - if (!countryName.equals(sl.getCountryName())) - { - fail("countryNames don't match."); - } - } - else if (sl.getCountryName() != null) - { - fail("countryName found when none expected."); - } - - if (localityName != null) - { - if (!localityName.equals(sl.getLocalityName())) - { - fail("localityNames don't match."); - } - } - else if (sl.getLocalityName() != null) - { - fail("localityName found when none expected."); - } - - if (postalAddress != null) - { - if (!postalAddress.equals(sl.getPostalAddress())) - { - fail("postalAddresses don't match."); - } - } - else if (sl.getPostalAddress() != null) - { - fail("postalAddress found when none expected."); - } - } - - public static void main( - String[] args) - { - runTest(new SignerLocationUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/StringTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/StringTest.java deleted file mode 100644 index acf29cf5c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/StringTest.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.DERBMPString; -import org.spongycastle.asn1.DERBitString; -import org.spongycastle.asn1.DERGeneralString; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERNumericString; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERT61String; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.DERUniversalString; -import org.spongycastle.asn1.DERVisibleString; -import org.spongycastle.util.Strings; -import org.spongycastle.util.test.SimpleTest; - -/** - * X.690 test example - */ -public class StringTest - extends SimpleTest -{ - public String getName() - { - return "String"; - } - - public void performTest() - throws IOException - { - DERBitString bs = new DERBitString( - new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef }); - - if (!bs.getString().equals("#0309000123456789ABCDEF")) - { - fail("DERBitString.getString() result incorrect"); - } - - if (!bs.toString().equals("#0309000123456789ABCDEF")) - { - fail("DERBitString.toString() result incorrect"); - } - - bs = new DERBitString( - new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 }); - - if (!bs.getString().equals("#030900FEDCBA9876543210")) - { - fail("DERBitString.getString() result incorrect"); - } - - if (!bs.toString().equals("#030900FEDCBA9876543210")) - { - fail("DERBitString.toString() result incorrect"); - } - - DERUniversalString us = new DERUniversalString( - new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef }); - - if (!us.getString().equals("#1C080123456789ABCDEF")) - { - fail("DERUniversalString.getString() result incorrect"); - } - - if (!us.toString().equals("#1C080123456789ABCDEF")) - { - fail("DERUniversalString.toString() result incorrect"); - } - - us = new DERUniversalString( - new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 }); - - if (!us.getString().equals("#1C08FEDCBA9876543210")) - { - fail("DERUniversalString.getString() result incorrect"); - } - - if (!us.toString().equals("#1C08FEDCBA9876543210")) - { - fail("DERUniversalString.toString() result incorrect"); - } - - byte[] t61Bytes = new byte[] { -1, -2, -3, -4, -5, -6, -7, -8 }; - String t61String = new String(t61Bytes, "iso-8859-1"); - DERT61String t61 = new DERT61String(Strings.fromByteArray(t61Bytes)); - - if (!t61.getString().equals(t61String)) - { - fail("DERT61String.getString() result incorrect"); - } - - if (!t61.toString().equals(t61String)) - { - fail("DERT61String.toString() result incorrect"); - } - - char[] shortChars = new char[] { 'a', 'b', 'c', 'd', 'e'}; - char[] longChars = new char[1000]; - - for (int i = 0; i != longChars.length; i++) - { - longChars[i] = 'X'; - } - - checkString(new DERBMPString(new String(shortChars)), new DERBMPString(new String(longChars))); - checkString(new DERUTF8String(new String(shortChars)), new DERUTF8String(new String(longChars))); - checkString(new DERIA5String(new String(shortChars)), new DERIA5String(new String(longChars))); - checkString(new DERPrintableString(new String(shortChars)), new DERPrintableString(new String(longChars))); - checkString(new DERVisibleString(new String(shortChars)), new DERVisibleString(new String(longChars))); - checkString(new DERGeneralString(new String(shortChars)), new DERGeneralString(new String(longChars))); - checkString(new DERT61String(new String(shortChars)), new DERT61String(new String(longChars))); - - shortChars = new char[] { '1', '2', '3', '4', '5'}; - longChars = new char[1000]; - - for (int i = 0; i != longChars.length; i++) - { - longChars[i] = '1'; - } - - checkString(new DERNumericString(new String(shortChars)), new DERNumericString(new String(longChars))); - - byte[] shortBytes = new byte[] { (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e'}; - byte[] longBytes = new byte[1000]; - - for (int i = 0; i != longChars.length; i++) - { - longBytes[i] = (byte)'X'; - } - - checkString(new DERUniversalString(shortBytes), new DERUniversalString(longBytes)); - - } - - private void checkString(ASN1String shortString, ASN1String longString) - throws IOException - { - ASN1String short2 = (ASN1String)ASN1Primitive.fromByteArray(((ASN1Primitive)shortString).getEncoded()); - - if (!shortString.toString().equals(short2.toString())) - { - fail(short2.getClass().getName() + " shortBytes result incorrect"); - } - - ASN1String long2 = (ASN1String)ASN1Primitive.fromByteArray(((ASN1Primitive)longString).getEncoded()); - - if (!longString.toString().equals(long2.toString())) - { - fail(long2.getClass().getName() + " longBytes result incorrect"); - } - } - - public static void main( - String[] args) - { - runTest(new StringTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java deleted file mode 100644 index 469e25ea5..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.x509.SubjectKeyIdentifier; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class SubjectKeyIdentifierTest - extends SimpleTest -{ - private static byte[] pubKeyInfo = Base64.decode( - "MFgwCwYJKoZIhvcNAQEBA0kAMEYCQQC6wMMmHYMZszT/7bNFMn+gaZoiWJLVP8ODRuu1C2jeAe" + - "QpxM+5Oe7PaN2GNy3nBE4EOYkB5pMJWA0y9n04FX8NAgED"); - - private static byte[] shaID = Hex.decode("d8128a06d6c2feb0865994a2936e7b75b836a021"); - private static byte[] shaTruncID = Hex.decode("436e7b75b836a021"); - - public String getName() - { - return "SubjectKeyIdentifier"; - } - - public void performTest() - throws IOException - { - SubjectPublicKeyInfo pubInfo = SubjectPublicKeyInfo.getInstance(ASN1Primitive.fromByteArray(pubKeyInfo)); - SubjectKeyIdentifier ski = SubjectKeyIdentifier.createSHA1KeyIdentifier(pubInfo); - - if (!Arrays.areEqual(shaID, ski.getKeyIdentifier())) - { - fail("SHA-1 ID does not match"); - } - - ski = SubjectKeyIdentifier.createTruncatedSHA1KeyIdentifier(pubInfo); - - if (!Arrays.areEqual(shaTruncID, ski.getKeyIdentifier())) - { - fail("truncated SHA-1 ID does not match"); - } - } - - public static void main( - String[] args) - { - runTest(new SubjectKeyIdentifierTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TagTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TagTest.java deleted file mode 100644 index cd497de30..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TagTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; -import java.security.SecureRandom; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERApplicationSpecific; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - - -/** - * X.690 test example - */ -public class TagTest - extends SimpleTest -{ - byte[] longTagged = Base64.decode( - "ZSRzIp8gEEZFRENCQTk4NzY1NDMyMTCfIQwyMDA2MDQwMTEyMzSUCCAFERVz" - + "A4kCAHEXGBkalAggBRcYGRqUCCAFZS6QAkRFkQlURUNITklLRVKSBQECAwQF" - + "kxAREhMUFRYXGBkalAggBREVcwOJAgBxFxgZGpQIIAUXGBkalAggBWUukAJE" - + "RZEJVEVDSE5JS0VSkgUBAgMEBZMQERITFBUWFxgZGpQIIAURFXMDiQIAcRcY" - + "GRqUCCAFFxgZGpQIIAVlLpACREWRCVRFQ0hOSUtFUpIFAQIDBAWTEBESExQV" - + "FhcYGRqUCCAFERVzA4kCAHEXGBkalAggBRcYGRqUCCAFFxgZGpQIIAUXGBka" - + "lAg="); - - byte[] longAppSpecificTag = Hex.decode("5F610101"); - - public String getName() - { - return "Tag"; - } - - public void performTest() - throws IOException - { - ASN1InputStream aIn = new ASN1InputStream(longTagged); - - DERApplicationSpecific app = (DERApplicationSpecific)aIn.readObject(); - - aIn = new ASN1InputStream(app.getContents()); - - app = (DERApplicationSpecific)aIn.readObject(); - - aIn = new ASN1InputStream(app.getContents()); - - ASN1TaggedObject tagged = (ASN1TaggedObject)aIn.readObject(); - - if (tagged.getTagNo() != 32) - { - fail("unexpected tag value found - not 32"); - } - - tagged = (ASN1TaggedObject)ASN1Primitive.fromByteArray(tagged.getEncoded()); - - if (tagged.getTagNo() != 32) - { - fail("unexpected tag value found on recode - not 32"); - } - - tagged = (ASN1TaggedObject)aIn.readObject(); - - if (tagged.getTagNo() != 33) - { - fail("unexpected tag value found - not 33"); - } - - tagged = (ASN1TaggedObject)ASN1Primitive.fromByteArray(tagged.getEncoded()); - - if (tagged.getTagNo() != 33) - { - fail("unexpected tag value found on recode - not 33"); - } - - aIn = new ASN1InputStream(longAppSpecificTag); - - app = (DERApplicationSpecific)aIn.readObject(); - - if (app.getApplicationTag() != 97) - { - fail("incorrect tag number read"); - } - - app = (DERApplicationSpecific)ASN1Primitive.fromByteArray(app.getEncoded()); - - if (app.getApplicationTag() != 97) - { - fail("incorrect tag number read on recode"); - } - - SecureRandom sr = new SecureRandom(); - for (int i = 0; i < 100; ++i) - { - int testTag = sr.nextInt() >>> (1 + (sr.nextInt() >>> 1) % 26); - app = new DERApplicationSpecific(testTag, new byte[]{ 1 }); - app = (DERApplicationSpecific)ASN1Primitive.fromByteArray(app.getEncoded()); - - if (app.getApplicationTag() != testTag) - { - fail("incorrect tag number read on recode (random test value: " + testTag + ")"); - } - } - } - - public static void main( - String[] args) - { - runTest(new TagTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TargetInformationTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TargetInformationTest.java deleted file mode 100644 index 225cb4b87..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TargetInformationTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.x509.GeneralName; -import org.spongycastle.asn1.x509.Target; -import org.spongycastle.asn1.x509.TargetInformation; -import org.spongycastle.asn1.x509.Targets; -import org.spongycastle.util.test.SimpleTest; - -public class TargetInformationTest - extends SimpleTest -{ - - public String getName() - { - return "TargetInformation"; - } - - public void performTest() throws Exception - { - Target[] targets = new Target[2]; - Target targetName = new Target(Target.targetName, new GeneralName(GeneralName.dNSName, "www.test.com")); - Target targetGroup = new Target(Target.targetGroup, new GeneralName(GeneralName.directoryName, "o=Test, ou=Test")); - targets[0] = targetName; - targets[1] = targetGroup; - Targets targetss = new Targets(targets); - TargetInformation targetInformation1 = new TargetInformation(targetss); - // use an Target array - TargetInformation targetInformation2 = new TargetInformation(targets); - // targetInformation1 and targetInformation2 must have same - // encoding. - if (!targetInformation1.equals(targetInformation2)) - { - fail("targetInformation1 and targetInformation2 should have the same encoding."); - } - TargetInformation targetInformation3 = TargetInformation.getInstance(targetInformation1); - TargetInformation targetInformation4 = TargetInformation.getInstance(targetInformation2); - if (!targetInformation3.equals(targetInformation4)) - { - fail("targetInformation3 and targetInformation4 should have the same encoding."); - } - } - - public static void main(String[] args) - { - runTest(new TargetInformationTest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TypeOfBiometricDataUnitTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TypeOfBiometricDataUnitTest.java deleted file mode 100644 index 9df1454d4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/TypeOfBiometricDataUnitTest.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.x509.qualified.TypeOfBiometricData; -import org.spongycastle.util.test.SimpleTest; - -public class TypeOfBiometricDataUnitTest - extends SimpleTest -{ - public String getName() - { - return "TypeOfBiometricData"; - } - - public void performTest() - throws Exception - { - // - // predefined - // - checkPredefinedType(TypeOfBiometricData.PICTURE); - - checkPredefinedType(TypeOfBiometricData.HANDWRITTEN_SIGNATURE); - - // - // non-predefined - // - ASN1ObjectIdentifier localType = new ASN1ObjectIdentifier("1.1"); - - TypeOfBiometricData type = new TypeOfBiometricData(localType); - - checkNonPredefined(type, localType); - - type = TypeOfBiometricData.getInstance(type); - - checkNonPredefined(type, localType); - - ASN1Primitive obj = type.toASN1Primitive(); - - type = TypeOfBiometricData.getInstance(obj); - - checkNonPredefined(type, localType); - - type = TypeOfBiometricData.getInstance(null); - - if (type != null) - { - fail("null getInstance() failed."); - } - - try - { - TypeOfBiometricData.getInstance(new Object()); - - fail("getInstance() failed to detect bad object."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new TypeOfBiometricData(100); - - fail("constructor failed to detect bad predefined type."); - } - catch (IllegalArgumentException e) - { - // expected - } - - if (TypeOfBiometricData.PICTURE != 0) - { - fail("predefined picture should be 0"); - } - - if (TypeOfBiometricData.HANDWRITTEN_SIGNATURE != 1) - { - fail("predefined handwritten signature should be 1"); - } - } - - private void checkPredefinedType( - int predefinedType) - throws IOException - { - TypeOfBiometricData type = new TypeOfBiometricData(predefinedType); - - checkPredefined(type, predefinedType); - - type = TypeOfBiometricData.getInstance(type); - - checkPredefined(type, predefinedType); - - ASN1InputStream aIn = new ASN1InputStream(type.toASN1Object().getEncoded()); - - ASN1Primitive obj = aIn.readObject(); - - type = TypeOfBiometricData.getInstance(obj); - - checkPredefined(type, predefinedType); - } - - private void checkPredefined( - TypeOfBiometricData type, - int value) - { - if (!type.isPredefined()) - { - fail("predefined type expected but not found."); - } - - if (type.getPredefinedBiometricType() != value) - { - fail("predefined type does not match."); - } - } - - private void checkNonPredefined( - TypeOfBiometricData type, - DERObjectIdentifier value) - { - if (type.isPredefined()) - { - fail("predefined type found when not expected."); - } - - if (!type.getBiometricDataOid().equals(value)) - { - fail("data oid does not match."); - } - } - - public static void main( - String[] args) - { - runTest(new TypeOfBiometricDataUnitTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/UTCTimeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/UTCTimeTest.java deleted file mode 100644 index b28fb0e38..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/UTCTimeTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.DERUTCTime; -import org.spongycastle.util.test.SimpleTest; - -import java.text.SimpleDateFormat; -import java.util.SimpleTimeZone; - -/** - * X.690 test example - */ -public class UTCTimeTest - extends SimpleTest -{ - String[] input = - { - "020122122220Z", - "020122122220-1000", - "020122122220+1000", - "020122122220+00", - "0201221222Z", - "0201221222-1000", - "0201221222+1000", - "0201221222+00", - "550122122220Z", - "5501221222Z" - }; - - String[] output = { - "20020122122220GMT+00:00", - "20020122122220GMT-10:00", - "20020122122220GMT+10:00", - "20020122122220GMT+00:00", - "20020122122200GMT+00:00", - "20020122122200GMT-10:00", - "20020122122200GMT+10:00", - "20020122122200GMT+00:00", - "19550122122220GMT+00:00", - "19550122122200GMT+00:00" - }; - - String[] zOutput1 = { - "20020122122220Z", - "20020122222220Z", - "20020122022220Z", - "20020122122220Z", - "20020122122200Z", - "20020122222200Z", - "20020122022200Z", - "20020122122200Z", - "19550122122220Z", - "19550122122200Z" - }; - - String[] zOutput2 = { - "20020122122220Z", - "20020122222220Z", - "20020122022220Z", - "20020122122220Z", - "20020122122200Z", - "20020122222200Z", - "20020122022200Z", - "20020122122200Z", - "19550122122220Z", - "19550122122200Z" - }; - - public String getName() - { - return "UTCTime"; - } - - public void performTest() - throws Exception - { - SimpleDateFormat yyyyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); - SimpleDateFormat yyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); - - yyyyF.setTimeZone(new SimpleTimeZone(0,"Z")); - yyF.setTimeZone(new SimpleTimeZone(0,"Z")); - - for (int i = 0; i != input.length; i++) - { - DERUTCTime t = new DERUTCTime(input[i]); - - if (!t.getAdjustedTime().equals(output[i])) - { - fail("failed conversion test " + i); - } - - if (!yyyyF.format(t.getAdjustedDate()).equals(zOutput1[i])) - { - fail("failed date conversion test " + i); - } - - if (!yyF.format(t.getDate()).equals(zOutput2[i])) - { - fail("failed date shortened conversion test " + i); - } - } - } - - public static void main( - String[] args) - { - runTest(new UTCTimeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X500NameTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X500NameTest.java deleted file mode 100644 index 94ced56e8..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X500NameTest.java +++ /dev/null @@ -1,771 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.ASN1String; -import org.spongycastle.asn1.ASN1TaggedObject; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERTaggedObject; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.x500.RDN; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameBuilder; -import org.spongycastle.asn1.x500.style.BCStrictStyle; -import org.spongycastle.asn1.x500.style.BCStyle; -import org.spongycastle.asn1.x500.style.IETFUtils; -import org.spongycastle.asn1.x509.X509DefaultEntryConverter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class X500NameTest - extends SimpleTest -{ - String[] subjects = - { - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au", - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au", - "C=AU,ST=QLD,CN=SSLeay/rsa test cert", - "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch", - "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke", - "O=Sun Microsystems Inc,CN=store.sun.com", - "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com", - "CN=*.canal-plus.com,OU=Provided by TBS INTERNET http://www.tbs-certificats.com/,OU=\\ CANAL \\+,O=CANAL\\+DISTRIBUTION,L=issy les moulineaux,ST=Hauts de Seine,C=FR", - "O=Bouncy Castle,CN=www.bouncycastle.org\\ ", - "O=Bouncy Castle,CN=c:\\\\fred\\\\bob", - }; - - String[] hexSubjects = - { - "CN=\\20Test\\20X,O=\\20Test,C=GB", // input - "CN=\\ Test X,O=\\ Test,C=GB", // expected - "CN=\\20Test\\20X\\20,O=\\20Test,C=GB", // input - "CN=\\ Test X\\ ,O=\\ Test,C=GB" // expected - }; - - public String getName() - { - return "X500Name"; - } - - private static X500Name fromBytes( - byte[] bytes) - throws IOException - { - return X500Name.getInstance(new ASN1InputStream(new ByteArrayInputStream(bytes)).readObject()); - } - - private ASN1Encodable createEntryValue(ASN1ObjectIdentifier oid, String value) - { - X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(oid, value); - - X500Name name = builder.build(); - - ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive(); - ASN1Set set = ASN1Set.getInstance(seq.getObjectAt(0).toASN1Primitive()); - seq = (ASN1Sequence)set.getObjectAt(0); - - return seq.getObjectAt(1); - } - - private ASN1Encodable createEntryValueFromString(ASN1ObjectIdentifier oid, String value) - { - X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(oid, value); - - X500Name name = new X500Name(builder.build().toString()); - - ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive(); - ASN1Set set = ASN1Set.getInstance(seq.getObjectAt(0).toASN1Primitive()); - seq = (ASN1Sequence)set.getObjectAt(0); - - return seq.getObjectAt(1); - } - - private void testEncodingPrintableString(ASN1ObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERPrintableString)) - { - fail("encoding for " + oid + " not printable string"); - } - } - - private void testEncodingIA5String(ASN1ObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERIA5String)) - { - fail("encoding for " + oid + " not IA5String"); - } - } - - private void testEncodingUTF8String(ASN1ObjectIdentifier oid, String value) - throws IOException - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERUTF8String)) - { - fail("encoding for " + oid + " not IA5String"); - } - if (!value.equals((DERUTF8String.getInstance(converted.toASN1Primitive().getEncoded()).getString()))) - { - fail("decoding not correct"); - } - } - - private void testEncodingGeneralizedTime(ASN1ObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERGeneralizedTime)) - { - fail("encoding for " + oid + " not GeneralizedTime"); - } - converted = createEntryValueFromString(oid, value); - if (!(converted instanceof DERGeneralizedTime)) - { - fail("encoding for " + oid + " not GeneralizedTime"); - } - } - - public void performTest() - throws Exception - { - ietfUtilsTest(); - - testEncodingPrintableString(BCStyle.C, "AU"); - testEncodingPrintableString(BCStyle.SERIALNUMBER, "123456"); - testEncodingPrintableString(BCStyle.DN_QUALIFIER, "123456"); - testEncodingIA5String(BCStyle.EmailAddress, "test@test.com"); - testEncodingIA5String(BCStyle.DC, "test"); - // correct encoding - testEncodingGeneralizedTime(BCStyle.DATE_OF_BIRTH, "#180F32303032303132323132323232305A"); - // compatibility encoding - testEncodingGeneralizedTime(BCStyle.DATE_OF_BIRTH, "20020122122220Z"); - testEncodingUTF8String(BCStyle.CN, "Mörsky"); - - // - // composite - // - X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(BCStyle.C, "AU"); - builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle"); - builder.addRDN(BCStyle.L, "Melbourne"); - builder.addRDN(BCStyle.ST, "Victoria"); - builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org"); - - X500Name name1 = builder.build(); - - if (!name1.equals(name1)) - { - fail("Failed same object test"); - } - -// if (!name1.equals(name1, true)) -// { -// fail("Failed same object test - in Order"); -// } - - builder = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(BCStyle.C, "AU"); - builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle"); - builder.addRDN(BCStyle.L, "Melbourne"); - builder.addRDN(BCStyle.ST, "Victoria"); - builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org"); - - X500Name name2 = builder.build(); - - if (!name1.equals(name2)) - { - fail("Failed same name test"); - } - -// if (!name1.equals(name2, true)) -// { -// fail("Failed same name test - in Order"); -// } - - if (name1.hashCode() != name2.hashCode()) - { - fail("Failed same name test - in Order"); - } - - X500NameBuilder builder1 = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(BCStyle.C, "AU"); - builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle"); - builder.addRDN(BCStyle.L, "Melbourne"); - builder.addRDN(BCStyle.ST, "Victoria"); - builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org"); - - X500NameBuilder builder2 = new X500NameBuilder(BCStyle.INSTANCE); - - builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org"); - builder.addRDN(BCStyle.C, "AU"); - builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle"); - builder.addRDN(BCStyle.L, "Melbourne"); - builder.addRDN(BCStyle.ST, "Victoria"); - - name1 = builder1.build(); - name2 = builder2.build(); - - if (!name1.equals(name2)) - { - fail("Failed reverse name test"); - } - - if (name1.hashCode() != name2.hashCode()) - { - fail("Failed reverse name test hashCode"); - } - -// if (name1.equals(name2, true)) -// { -// fail("Failed reverse name test - in Order"); -// } -// -// if (!name1.equals(name2, false)) -// { -// fail("Failed reverse name test - in Order false"); -// } - -// Vector oids = name1.getOIDs(); -// if (!compareVectors(oids, ord1)) -// { -// fail("oid comparison test"); -// } - /* - Vector val1 = new Vector(); - - val1.addElement("AU"); - val1.addElement("The Legion of the Bouncy Castle"); - val1.addElement("Melbourne"); - val1.addElement("Victoria"); - val1.addElement("feedback-crypto@bouncycastle.org"); - - name1 = new X500Name(ord1, val1); - - Vector values = name1.getValues(); - if (!compareVectors(values, val1)) - { - fail("value comparison test"); - } - - ord2 = new Vector(); - - ord2.addElement(X500Name.ST); - ord2.addElement(X500Name.ST); - ord2.addElement(X500Name.L); - ord2.addElement(X500Name.O); - ord2.addElement(X500Name.C); - - name1 = new X500Name(ord1, attrs); - name2 = new X500Name(ord2, attrs); - - if (name1.equals(name2)) - { - fail("Failed different name test"); - } - - ord2 = new Vector(); - - ord2.addElement(X500Name.ST); - ord2.addElement(X500Name.L); - ord2.addElement(X500Name.O); - ord2.addElement(X500Name.C); - - name1 = new X500Name(ord1, attrs); - name2 = new X500Name(ord2, attrs); - - if (name1.equals(name2)) - { - fail("Failed subset name test"); - } - - compositeTest(); - */ - ByteArrayOutputStream bOut; - ASN1OutputStream aOut; - ASN1InputStream aIn; - /* - // - // getValues test - // - Vector v1 = name1.getValues(X500Name.O); - - if (v1.size() != 1 || !v1.elementAt(0).equals("The Legion of the Bouncy Castle")) - { - fail("O test failed"); - } - - Vector v2 = name1.getValues(X500Name.L); - - if (v2.size() != 1 || !v2.elementAt(0).equals("Melbourne")) - { - fail("L test failed"); - } - */ - // - // general subjects test - // - for (int i = 0; i != subjects.length; i++) - { - X500Name name = new X500Name(subjects[i]); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(name); - - aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray())); - - name = X500Name.getInstance(aIn.readObject()); - if (!name.toString().equals(subjects[i])) - { - fail("failed regeneration test " + i + " got: " + name.toString() + " expected " + subjects[i]); - } - } - - for (int i = 0; i < hexSubjects.length; i += 2) - { - X500Name name = new X500Name(hexSubjects[i]); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(name); - - aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray())); - - name = X500Name.getInstance(aIn.readObject()); - if (!name.toString().equals(hexSubjects[i + 1])) - { - fail("failed hex regeneration test " + i + " got: " + name.toString() + " expected " + subjects[i]); - } - } - - // - // sort test - // - X500Name unsorted = new X500Name("SERIALNUMBER=BBB + CN=AA"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB")) - { - fail("failed sort test 1"); - } - - unsorted = new X500Name("CN=AA + SERIALNUMBER=BBB"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB")) - { - fail("failed sort test 2"); - } - - unsorted = new X500Name("SERIALNUMBER=B + CN=AA"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA")) - { - fail("failed sort test 3"); - } - - unsorted = new X500Name("CN=AA + SERIALNUMBER=B"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA")) - { - fail("failed sort test 4"); - } - - // - // equality tests - // - equalityTest(new X500Name("CN=The Legion"), new X500Name("CN=The Legion")); - equalityTest(new X500Name("CN= The Legion"), new X500Name("CN=The Legion")); - equalityTest(new X500Name("CN=The Legion "), new X500Name("CN=The Legion")); - equalityTest(new X500Name("CN= The Legion "), new X500Name("CN=The Legion")); - equalityTest(new X500Name("CN= the legion "), new X500Name("CN=The Legion")); - - equalityTest(new X500Name("CN= the legion+C=AU, O=Legion "), new X500Name("CN=The Legion+C=AU, O=Legion")); - // # test - - X500Name n1 = new X500Name("SERIALNUMBER=8,O=ABC,CN=ABC Class 3 CA,C=LT"); - X500Name n2 = new X500Name("2.5.4.5=8,O=ABC,CN=ABC Class 3 CA,C=LT"); - X500Name n3 = new X500Name("2.5.4.5=#130138,O=ABC,CN=ABC Class 3 CA,C=LT"); - - equalityTest(n1, n2); - equalityTest(n2, n3); - equalityTest(n3, n1); - - n1 = new X500Name("2.5.4.5=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT"); - n2 = new X500Name("SERIALNUMBER=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT"); - n3 = X500Name.getInstance(ASN1Primitive.fromByteArray(Hex.decode("3063310b3009060355040613024c54312f302d060355040a1326" - + "55414220536b6169746d656e696e696f20736572746966696b6176696d6f2063656e74726173311730150603550403130e53534320436c6173732033204341310a30080603550405130138"))); - - equalityTest(n1, n2); - equalityTest(n2, n3); - equalityTest(n3, n1); - - n1 = new X500Name("SERIALNUMBER=8,O=XX,CN=ABC Class 3 CA,C=LT"); - n2 = new X500Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT"); - -// if (n1.equals(n2)) -// { -// fail("empty inequality check failed"); -// } - - n1 = new X500Name("SERIALNUMBER=8,O=,CN=ABC Class 3 CA,C=LT"); - n2 = new X500Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT"); - - equalityTest(n1, n2); - - equalityTest(X500Name.getInstance(BCStrictStyle.INSTANCE, n1), X500Name.getInstance(BCStrictStyle.INSTANCE, n2)); - - n2 = new X500Name("C=LT,2.5.4.5=8,O=,CN=ABC Class 3 CA"); - - equalityTest(n1, n2); - - if (X500Name.getInstance(BCStrictStyle.INSTANCE, n1).equals(X500Name.getInstance(BCStrictStyle.INSTANCE, n2))) - { - fail("strict comparison failed"); - } - - // - // inequality to sequences - // - name1 = new X500Name("CN=The Legion"); - - if (name1.equals(new DERSequence())) - { - fail("inequality test with sequence"); - } - - if (name1.equals(new DERSequence(new DERSet()))) - { - fail("inequality test with sequence and set"); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new ASN1ObjectIdentifier("1.1")); - v.add(new ASN1ObjectIdentifier("1.1")); - if (name1.equals(new DERSequence(new DERSet(new DERSet(v))))) - { - fail("inequality test with sequence and bad set"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSet(v))))) - { - fail("inequality test with sequence and bad set"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSequence())))) - { - fail("inequality test with sequence and short sequence"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSequence())))) - { - fail("inequality test with sequence and short sequence"); - } - - v = new ASN1EncodableVector(); - - v.add(new ASN1ObjectIdentifier("1.1")); - v.add(new DERSequence()); - - if (name1.equals(new DERSequence(new DERSet(new DERSequence(v))))) - { - fail("inequality test with sequence and bad sequence"); - } - - if (name1.equals(null)) - { - fail("inequality test with null"); - } - -// if (name1.equals(null, true)) -// { -// fail("inequality test with null"); -// } - - // - // this is contrived but it checks sorting of sets with equal elements - // - unsorted = new X500Name("CN=AA + CN=AA + CN=AA"); - - ASN1ObjectIdentifier[] types = unsorted.getAttributeTypes(); - if (types.length != 3 || !types[0].equals(BCStyle.CN) || !types[1].equals(BCStyle.CN) || !types[2].equals(BCStyle.CN)) - { - fail("types not matched correctly"); - } - - // general type test - X500Name nested = new X500Name("CN=AA + CN=AA, C=AU"); - - types = nested.getAttributeTypes(); - if (types.length != 3 || !types[0].equals(BCStyle.CN) || !types[1].equals(BCStyle.CN) || !types[2].equals(BCStyle.C)) - { - fail("nested types not matched correctly"); - } - // - // tagging test - only works if CHOICE implemented - // - ASN1TaggedObject tag = new DERTaggedObject(false, 1, new X500Name("CN=AA")); - - if (!tag.isExplicit()) - { - fail("failed to explicitly tag CHOICE object"); - } - - X500Name name = X500Name.getInstance(tag, false); - - if (!name.equals(new X500Name("CN=AA"))) - { - fail("failed to recover tagged name"); - } - - DERUTF8String testString = new DERUTF8String("The Legion of the Bouncy Castle"); - byte[] encodedBytes = testString.getEncoded(); - byte[] hexEncodedBytes = Hex.encode(encodedBytes); - String hexEncodedString = "#" + new String(hexEncodedBytes); - - DERUTF8String converted = (DERUTF8String) - new X509DefaultEntryConverter().getConvertedValue( - BCStyle.L , hexEncodedString); - - if (!converted.equals(testString)) - { - fail("failed X509DefaultEntryConverter test"); - } - - // - // try escaped. - // - converted = (DERUTF8String) - new X509DefaultEntryConverter().getConvertedValue( - BCStyle.L , "\\" + hexEncodedString); - - if (!converted.equals(new DERUTF8String(hexEncodedString))) - { - fail("failed X509DefaultEntryConverter test got " + converted + " expected: " + hexEncodedString); - } - - // - // try a weird value - // - X500Name n = new X500Name("CN=\\#nothex#string"); - - if (!n.toString().equals("CN=\\#nothex#string")) - { - fail("# string not properly escaped."); - } - - RDN[] vls = n.getRDNs(BCStyle.CN); - if (vls.length != 1 || !getValue(vls[0]).equals("#nothex#string")) - { - fail("escaped # not reduced properly"); - } - - types = n.getAttributeTypes(); - if (types.length != 1 || !types[0].equals(BCStyle.CN)) - { - fail("type not matched correctly"); - } - - n = new X500Name("CN=\"a+b\""); - - vls = n.getRDNs(BCStyle.CN); - if (vls.length != 1 || !getValue(vls[0]).equals("a+b")) - { - fail("escaped + not reduced properly"); - } - - n = new X500Name("CN=a\\+b"); - - vls = n.getRDNs(BCStyle.CN); - if (vls.length != 1 || !getValue(vls[0]).equals("a+b")) - { - fail("escaped + not reduced properly"); - } - - if (!n.toString().equals("CN=a\\+b")) - { - fail("+ in string not properly escaped."); - } - - n = new X500Name("CN=a\\=b"); - - vls = n.getRDNs(BCStyle.CN); - if (vls.length != 1 || !getValue(vls[0]).equals("a=b")) - { - fail("escaped = not reduced properly"); - } - - if (!n.toString().equals("CN=a\\=b")) - { - fail("= in string not properly escaped."); - } - - n = new X500Name("TELEPHONENUMBER=\"+61999999999\""); - - vls = n.getRDNs(BCStyle.TELEPHONE_NUMBER); - if (vls.length != 1 || !getValue(vls[0]).equals("+61999999999")) - { - fail("telephonenumber escaped + not reduced properly"); - } - - n = new X500Name("TELEPHONENUMBER=\\+61999999999"); - - vls = n.getRDNs(BCStyle.TELEPHONE_NUMBER); - if (vls.length != 1 || !getValue(vls[0]).equals("+61999999999")) - { - fail("telephonenumber escaped + not reduced properly"); - } - - // test query methods - if (!"E".equals(BCStyle.INSTANCE.oidToDisplayName(BCStyle.EmailAddress))) - { - fail("display name for E incorrect"); - } - - String[] aliases = BCStyle.INSTANCE.oidToAttrNames(BCStyle.EmailAddress); - if (aliases.length != 2) - { - fail("no aliases found"); - } - if (!("e".equals(aliases[0]) || "e".equals(aliases[1]))) - { - fail("first alias name for E incorrect"); - } - if (!("emailaddress".equals(aliases[0]) || "emailaddress".equals(aliases[1]))) - { - fail("second alias name for E incorrect"); - } - - if (BCStyle.INSTANCE.oidToDisplayName(new ASN1ObjectIdentifier("1.2.1")) != null) - { - fail("unknown oid matched!"); - } - - if (BCStyle.INSTANCE.oidToAttrNames(new ASN1ObjectIdentifier("1.2.1")).length != 0) - { - fail("unknown oid matched aliases!"); - } - } - - private String getValue(RDN vl) - { - return ((ASN1String)vl.getFirst().getValue()).getString(); - } - - private void ietfUtilsTest() - throws Exception - { - IETFUtils.valueToString(new DERUTF8String(" ")); - } - - /* - private boolean compareVectors(Vector a, Vector b) // for compatibility with early JDKs - { - if (a.size() != b.size()) - { - return false; - } - - for (int i = 0; i != a.size(); i++) - { - if (!a.elementAt(i).equals(b.elementAt(i))) - { - return false; - } - } - - return true; - } - - private void compositeTest() - throws IOException - { - // - // composite test - // - byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65"); - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(enc)); - - X500Name n = X500Name.getInstance(aIn.readObject()); - - if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale")) - { - fail("Failed composite to string test got: " + n.toString()); - } - - if (!n.toString(true, X500Name.DefaultSymbols).equals("L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU")) - { - fail("Failed composite to string test got: " + n.toString(true, X500Name.DefaultSymbols)); - } - - n = new X500Name(true, "L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU"); - if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale")) - { - fail("Failed composite to string reversal test got: " + n.toString()); - } - - n = new X500Name("C=AU, O=The Legion of the Bouncy Castle, L=Melbourne + OU=Ascot Vale"); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(n); - - byte[] enc2 = bOut.toByteArray(); - - if (!Arrays.areEqual(enc, enc2)) - { - fail("Failed composite string to encoding test"); - } - - // - // dud name test - handle empty DN without barfing. - // - n = new X500Name("C=CH,O=,OU=dummy,CN=mail@dummy.com"); - - n = X500Name.getInstance(ASN1Object.fromByteArray(n.getEncoded())); - } - */ - private void equalityTest(X500Name name1, X500Name name2) - { - if (!name1.equals(name2)) - { - fail("equality test failed for " + name1 + " : " + name2); - } - - if (name1.hashCode() != name2.hashCode()) - { - fail("hashCodeTest test failed for " + name1 + " : " + name2); - } - } - - - public static void main( - String[] args) - { - runTest(new X500NameTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509ExtensionsTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509ExtensionsTest.java deleted file mode 100644 index af99668fc..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509ExtensionsTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.x509.X509Extensions; -import org.spongycastle.asn1.x509.X509ExtensionsGenerator; -import org.spongycastle.util.test.SimpleTest; - -public class X509ExtensionsTest - extends SimpleTest -{ - private static final ASN1ObjectIdentifier OID_2 = new ASN1ObjectIdentifier("1.2.2"); - private static final ASN1ObjectIdentifier OID_3 = new ASN1ObjectIdentifier("1.2.3"); - private static final ASN1ObjectIdentifier OID_1 = new ASN1ObjectIdentifier("1.2.1"); - - public String getName() - { - return "X509Extensions"; - } - - public void performTest() throws Exception - { - X509ExtensionsGenerator gen = new X509ExtensionsGenerator(); - - gen.addExtension(OID_1, true, new byte[20]); - gen.addExtension(OID_2, true, new byte[20]); - - X509Extensions ext1 = gen.generate(); - X509Extensions ext2 = gen.generate(); - - if (!ext1.equals(ext2)) - { - fail("equals test failed"); - } - - gen.reset(); - - gen.addExtension(OID_2, true, new byte[20]); - gen.addExtension(OID_1, true, new byte[20]); - - ext2 = gen.generate(); - - if (ext1.equals(ext2)) - { - fail("inequality test failed"); - } - - if (!ext1.equivalent(ext2)) - { - fail("equivalence true failed"); - } - - gen.reset(); - - gen.addExtension(OID_1, true, new byte[22]); - gen.addExtension(OID_2, true, new byte[20]); - - ext2 = gen.generate(); - - if (ext1.equals(ext2)) - { - fail("inequality 1 failed"); - } - - if (ext1.equivalent(ext2)) - { - fail("non-equivalence 1 failed"); - } - - gen.reset(); - - gen.addExtension(OID_3, true, new byte[20]); - gen.addExtension(OID_2, true, new byte[20]); - - ext2 = gen.generate(); - - if (ext1.equals(ext2)) - { - fail("inequality 2 failed"); - } - - if (ext1.equivalent(ext2)) - { - fail("non-equivalence 2 failed"); - } - - try - { - gen.addExtension(OID_2, true, new byte[20]); - fail("repeated oid"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("extension 1.2.2 already added")) - { - fail("wrong exception on repeated oid: " + e.getMessage()); - } - } - } - - public static void main( - String[] args) - { - runTest(new X509ExtensionsTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509NameTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509NameTest.java deleted file mode 100644 index 0f9b64366..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X509NameTest.java +++ /dev/null @@ -1,694 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.ASN1Encodable; -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.asn1.ASN1OutputStream; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.ASN1Set; -import org.spongycastle.asn1.DERGeneralizedTime; -import org.spongycastle.asn1.DERIA5String; -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.DERPrintableString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.asn1.DERSet; -import org.spongycastle.asn1.DERUTF8String; -import org.spongycastle.asn1.x500.X500Name; -import org.spongycastle.asn1.x500.X500NameBuilder; -import org.spongycastle.asn1.x500.style.BCStyle; -import org.spongycastle.asn1.x509.X509DefaultEntryConverter; -import org.spongycastle.asn1.x509.X509Name; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class X509NameTest - extends SimpleTest -{ - String[] subjects = - { - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au", - "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au", - "C=AU,ST=QLD,CN=SSLeay/rsa test cert", - "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch", - "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke", - "O=Sun Microsystems Inc,CN=store.sun.com", - "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com", - "CN=*.canal-plus.com,OU=Provided by TBS INTERNET http://www.tbs-certificats.com/,OU=\\ CANAL \\+,O=CANAL\\+DISTRIBUTION,L=issy les moulineaux,ST=Hauts de Seine,C=FR", - "O=Bouncy Castle,CN=www.bouncycastle.org\\ ", - "O=Bouncy Castle,CN=c:\\\\fred\\\\bob" - }; - - public String getName() - { - return "X509Name"; - } - - private static X509Name fromBytes( - byte[] bytes) - throws IOException - { - return X509Name.getInstance(new ASN1InputStream(new ByteArrayInputStream(bytes)).readObject()); - } - - private ASN1Encodable createEntryValue(DERObjectIdentifier oid, String value) - { - Hashtable attrs = new Hashtable(); - - attrs.put(oid, value); - - Vector order = new Vector(); - - order.addElement(oid); - - X509Name name = new X509Name(order, attrs); - - ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive(); - ASN1Set set = (ASN1Set)seq.getObjectAt(0); - seq = (ASN1Sequence)set.getObjectAt(0); - - return seq.getObjectAt(1); - } - - private ASN1Encodable createEntryValueFromString(DERObjectIdentifier oid, String value) - { - Hashtable attrs = new Hashtable(); - - attrs.put(oid, value); - - Vector order = new Vector(); - - order.addElement(oid); - - X509Name name = new X509Name(new X509Name(order, attrs).toString()); - - ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive(); - ASN1Set set = (ASN1Set)seq.getObjectAt(0); - seq = (ASN1Sequence)set.getObjectAt(0); - - return seq.getObjectAt(1); - } - - private void testEncodingPrintableString(DERObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERPrintableString)) - { - fail("encoding for " + oid + " not printable string"); - } - } - - private void testEncodingIA5String(DERObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERIA5String)) - { - fail("encoding for " + oid + " not IA5String"); - } - } - - - private void testEncodingUTF8String(DERObjectIdentifier oid, String value) - throws IOException - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERUTF8String)) - { - fail("encoding for " + oid + " not IA5String"); - } - if (!value.equals((DERUTF8String.getInstance(converted.toASN1Primitive().getEncoded()).getString()))) - { - fail("decoding not correct"); - } - } - - private void testEncodingGeneralizedTime(DERObjectIdentifier oid, String value) - { - ASN1Encodable converted = createEntryValue(oid, value); - if (!(converted instanceof DERGeneralizedTime)) - { - fail("encoding for " + oid + " not GeneralizedTime"); - } - converted = createEntryValueFromString(oid, value); - if (!(converted instanceof DERGeneralizedTime)) - { - fail("encoding for " + oid + " not GeneralizedTime"); - } - } - - public void performTest() - throws Exception - { - testEncodingPrintableString(X509Name.C, "AU"); - testEncodingPrintableString(X509Name.SERIALNUMBER, "123456"); - testEncodingPrintableString(X509Name.DN_QUALIFIER, "123456"); - testEncodingIA5String(X509Name.EmailAddress, "test@test.com"); - testEncodingIA5String(X509Name.DC, "test"); - // correct encoding - testEncodingGeneralizedTime(X509Name.DATE_OF_BIRTH, "#180F32303032303132323132323232305A"); - // compatibility encoding - testEncodingGeneralizedTime(X509Name.DATE_OF_BIRTH, "20020122122220Z"); - testEncodingUTF8String(X509Name.CN, "Mörsky"); - // - // composite - // - Hashtable attrs = new Hashtable(); - - attrs.put(X509Name.C, "AU"); - attrs.put(X509Name.O, "The Legion of the Bouncy Castle"); - attrs.put(X509Name.L, "Melbourne"); - attrs.put(X509Name.ST, "Victoria"); - attrs.put(X509Name.E, "feedback-crypto@bouncycastle.org"); - - Vector order = new Vector(); - - order.addElement(X509Name.C); - order.addElement(X509Name.O); - order.addElement(X509Name.L); - order.addElement(X509Name.ST); - order.addElement(X509Name.E); - - X509Name name1 = new X509Name(order, attrs); - - if (!name1.equals(name1)) - { - fail("Failed same object test"); - } - - if (!name1.equals(name1, true)) - { - fail("Failed same object test - in Order"); - } - - X509Name name2 = new X509Name(order, attrs); - - if (!name1.equals(name2)) - { - fail("Failed same name test"); - } - - if (!name1.equals(name2, true)) - { - fail("Failed same name test - in Order"); - } - - if (name1.hashCode() != name2.hashCode()) - { - fail("Failed same name test - in Order"); - } - - Vector ord1 = new Vector(); - - ord1.addElement(X509Name.C); - ord1.addElement(X509Name.O); - ord1.addElement(X509Name.L); - ord1.addElement(X509Name.ST); - ord1.addElement(X509Name.E); - - Vector ord2 = new Vector(); - - ord2.addElement(X509Name.E); - ord2.addElement(X509Name.ST); - ord2.addElement(X509Name.L); - ord2.addElement(X509Name.O); - ord2.addElement(X509Name.C); - - name1 = new X509Name(ord1, attrs); - name2 = new X509Name(ord2, attrs); - - if (!name1.equals(name2)) - { - fail("Failed reverse name test"); - } - - if (name1.hashCode() != name2.hashCode()) - { - fail("Failed reverse name test hashCode"); - } - - if (name1.equals(name2, true)) - { - fail("Failed reverse name test - in Order"); - } - - if (!name1.equals(name2, false)) - { - fail("Failed reverse name test - in Order false"); - } - - Vector oids = name1.getOIDs(); - if (!compareVectors(oids, ord1)) - { - fail("oid comparison test"); - } - - Vector val1 = new Vector(); - - val1.addElement("AU"); - val1.addElement("The Legion of the Bouncy Castle"); - val1.addElement("Melbourne"); - val1.addElement("Victoria"); - val1.addElement("feedback-crypto@bouncycastle.org"); - - name1 = new X509Name(ord1, val1); - - Vector values = name1.getValues(); - if (!compareVectors(values, val1)) - { - fail("value comparison test"); - } - - ord2 = new Vector(); - - ord2.addElement(X509Name.ST); - ord2.addElement(X509Name.ST); - ord2.addElement(X509Name.L); - ord2.addElement(X509Name.O); - ord2.addElement(X509Name.C); - - name1 = new X509Name(ord1, attrs); - name2 = new X509Name(ord2, attrs); - - if (name1.equals(name2)) - { - fail("Failed different name test"); - } - - ord2 = new Vector(); - - ord2.addElement(X509Name.ST); - ord2.addElement(X509Name.L); - ord2.addElement(X509Name.O); - ord2.addElement(X509Name.C); - - name1 = new X509Name(ord1, attrs); - name2 = new X509Name(ord2, attrs); - - if (name1.equals(name2)) - { - fail("Failed subset name test"); - } - - compositeTest(); - - ByteArrayOutputStream bOut; - ASN1OutputStream aOut; - ASN1InputStream aIn; - - // - // getValues test - // - Vector v1 = name1.getValues(X509Name.O); - - if (v1.size() != 1 || !v1.elementAt(0).equals("The Legion of the Bouncy Castle")) - { - fail("O test failed"); - } - - Vector v2 = name1.getValues(X509Name.L); - - if (v2.size() != 1 || !v2.elementAt(0).equals("Melbourne")) - { - fail("L test failed"); - } - - // - // general subjects test - // - for (int i = 0; i != subjects.length; i++) - { - X509Name name = new X509Name(subjects[i]); - - bOut = new ByteArrayOutputStream(); - aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(name); - - aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray())); - - name = X509Name.getInstance(aIn.readObject()); - - if (!name.toString().equals(subjects[i])) - { - fail("failed regeneration test " + i + " got " + name.toString()); - } - } - - // - // sort test - // - X509Name unsorted = new X509Name("SERIALNUMBER=BBB + CN=AA"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB")) - { - fail("failed sort test 1"); - } - - unsorted = new X509Name("CN=AA + SERIALNUMBER=BBB"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB")) - { - fail("failed sort test 2"); - } - - unsorted = new X509Name("SERIALNUMBER=B + CN=AA"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA")) - { - fail("failed sort test 3"); - } - - unsorted = new X509Name("CN=AA + SERIALNUMBER=B"); - - if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA")) - { - fail("failed sort test 4"); - } - - // - // equality tests - // - equalityTest(new X509Name("CN=The Legion"), new X509Name("CN=The Legion")); - equalityTest(new X509Name("CN= The Legion"), new X509Name("CN=The Legion")); - equalityTest(new X509Name("CN=The Legion "), new X509Name("CN=The Legion")); - equalityTest(new X509Name("CN= The Legion "), new X509Name("CN=The Legion")); - equalityTest(new X509Name("CN= the legion "), new X509Name("CN=The Legion")); - - // # test - - X509Name n1 = new X509Name("SERIALNUMBER=8,O=ABC,CN=ABC Class 3 CA,C=LT"); - X509Name n2 = new X509Name("2.5.4.5=8,O=ABC,CN=ABC Class 3 CA,C=LT"); - X509Name n3 = new X509Name("2.5.4.5=#130138,O=ABC,CN=ABC Class 3 CA,C=LT"); - - equalityTest(n1, n2); - equalityTest(n2, n3); - equalityTest(n3, n1); - - n1 = new X509Name(true, "2.5.4.5=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT"); - n2 = new X509Name(true, "SERIALNUMBER=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT"); - n3 = X509Name.getInstance(ASN1Primitive.fromByteArray(Hex.decode("3063310b3009060355040613024c54312f302d060355040a1326" - + "55414220536b6169746d656e696e696f20736572746966696b6176696d6f2063656e74726173311730150603550403130e53534320436c6173732033204341310a30080603550405130138"))); - - equalityTest(n1, n2); - equalityTest(n2, n3); - equalityTest(n3, n1); - - n1 = new X509Name("SERIALNUMBER=8,O=XX,CN=ABC Class 3 CA,C=LT"); - n2 = new X509Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT"); - - if (n1.equals(n2)) - { - fail("empty inequality check failed"); - } - - n1 = new X509Name("SERIALNUMBER=8,O=,CN=ABC Class 3 CA,C=LT"); - n2 = new X509Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT"); - - equalityTest(n1, n2); - - // - // inequality to sequences - // - name1 = new X509Name("CN=The Legion"); - - if (name1.equals(new DERSequence())) - { - fail("inequality test with sequence"); - } - - if (name1.equals(new DERSequence(new DERSet()))) - { - fail("inequality test with sequence and set"); - } - - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DERObjectIdentifier("1.1")); - v.add(new DERObjectIdentifier("1.1")); - if (name1.equals(new DERSequence(new DERSet(new DERSet(v))))) - { - fail("inequality test with sequence and bad set"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSet(v))), true)) - { - fail("inequality test with sequence and bad set"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSequence())))) - { - fail("inequality test with sequence and short sequence"); - } - - if (name1.equals(new DERSequence(new DERSet(new DERSequence())), true)) - { - fail("inequality test with sequence and short sequence"); - } - - v = new ASN1EncodableVector(); - - v.add(new DERObjectIdentifier("1.1")); - v.add(new DERSequence()); - - if (name1.equals(new DERSequence(new DERSet(new DERSequence(v))))) - { - fail("inequality test with sequence and bad sequence"); - } - - if (name1.equals(null)) - { - fail("inequality test with null"); - } - - if (name1.equals(null, true)) - { - fail("inequality test with null"); - } - - // - // this is contrived but it checks sorting of sets with equal elements - // - unsorted = new X509Name("CN=AA + CN=AA + CN=AA"); - - // - // tagging test - only works if CHOICE implemented - // - /* - ASN1TaggedObject tag = new DERTaggedObject(false, 1, new X509Name("CN=AA")); - - if (!tag.isExplicit()) - { - fail("failed to explicitly tag CHOICE object"); - } - - X509Name name = X509Name.getInstance(tag, false); - - if (!name.equals(new X509Name("CN=AA"))) - { - fail("failed to recover tagged name"); - } - */ - - DERUTF8String testString = new DERUTF8String("The Legion of the Bouncy Castle"); - byte[] encodedBytes = testString.getEncoded(); - byte[] hexEncodedBytes = Hex.encode(encodedBytes); - String hexEncodedString = "#" + new String(hexEncodedBytes); - - DERUTF8String converted = (DERUTF8String) - new X509DefaultEntryConverter().getConvertedValue( - X509Name.L , hexEncodedString); - - if (!converted.equals(testString)) - { - fail("failed X509DefaultEntryConverter test"); - } - - // - // try escaped. - // - converted = (DERUTF8String) - new X509DefaultEntryConverter().getConvertedValue( - X509Name.L , "\\" + hexEncodedString); - - if (!converted.equals(new DERUTF8String(hexEncodedString))) - { - fail("failed X509DefaultEntryConverter test got " + converted + " expected: " + hexEncodedString); - } - - // - // try a weird value - // - X509Name n = new X509Name("CN=\\#nothex#string"); - - if (!n.toString().equals("CN=\\#nothex#string")) - { - fail("# string not properly escaped."); - } - - Vector vls = n.getValues(X509Name.CN); - if (vls.size() != 1 || !vls.elementAt(0).equals("#nothex#string")) - { - fail("escaped # not reduced properly"); - } - - n = new X509Name("CN=\"a+b\""); - - vls = n.getValues(X509Name.CN); - if (vls.size() != 1 || !vls.elementAt(0).equals("a+b")) - { - fail("escaped + not reduced properly"); - } - - n = new X509Name("CN=a\\+b"); - - vls = n.getValues(X509Name.CN); - if (vls.size() != 1 || !vls.elementAt(0).equals("a+b")) - { - fail("escaped + not reduced properly"); - } - - if (!n.toString().equals("CN=a\\+b")) - { - fail("+ in string not properly escaped."); - } - - n = new X509Name("CN=a\\=b"); - - vls = n.getValues(X509Name.CN); - if (vls.size() != 1 || !vls.elementAt(0).equals("a=b")) - { - fail("escaped = not reduced properly"); - } - - if (!n.toString().equals("CN=a\\=b")) - { - fail("= in string not properly escaped."); - } - - n = new X509Name("TELEPHONENUMBER=\"+61999999999\""); - - vls = n.getValues(X509Name.TELEPHONE_NUMBER); - if (vls.size() != 1 || !vls.elementAt(0).equals("+61999999999")) - { - fail("telephonenumber escaped + not reduced properly"); - } - - n = new X509Name("TELEPHONENUMBER=\\+61999999999"); - - vls = n.getValues(X509Name.TELEPHONE_NUMBER); - if (vls.size() != 1 || !vls.elementAt(0).equals("+61999999999")) - { - fail("telephonenumber escaped + not reduced properly"); - } - - // migration - X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE); - builder.addMultiValuedRDN(new ASN1ObjectIdentifier[] { BCStyle.CN, BCStyle.SN }, new String[] { "Thomas", "CVR:12341233-UID:1111" }); - builder.addRDN(BCStyle.O, "Test"); - builder.addRDN(BCStyle.C, "DK"); - - X500Name subject = builder.build(); - ASN1Primitive derObject = subject.toASN1Primitive(); - X509Name instance = X509Name.getInstance(derObject); - } - - private boolean compareVectors(Vector a, Vector b) // for compatibility with early JDKs - { - if (a.size() != b.size()) - { - return false; - } - - for (int i = 0; i != a.size(); i++) - { - if (!a.elementAt(i).equals(b.elementAt(i))) - { - return false; - } - } - - return true; - } - - private void compositeTest() - throws IOException - { - // - // composite test - // - byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65"); - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(enc)); - - X509Name n = X509Name.getInstance(aIn.readObject()); - - if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale")) - { - fail("Failed composite to string test got: " + n.toString()); - } - - if (!n.toString(true, X509Name.DefaultSymbols).equals("L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU")) - { - fail("Failed composite to string test got: " + n.toString(true, X509Name.DefaultSymbols)); - } - - n = new X509Name(true, "L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU"); - if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale")) - { - fail("Failed composite to string reversal test got: " + n.toString()); - } - - n = new X509Name("C=AU, O=The Legion of the Bouncy Castle, L=Melbourne + OU=Ascot Vale"); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ASN1OutputStream aOut = new ASN1OutputStream(bOut); - - aOut.writeObject(n); - - byte[] enc2 = bOut.toByteArray(); - - if (!Arrays.areEqual(enc, enc2)) - { - //fail("Failed composite string to encoding test"); - } - - // - // dud name test - handle empty DN without barfing. - // - n = new X509Name("C=CH,O=,OU=dummy,CN=mail@dummy.com"); - - n = X509Name.getInstance(ASN1Primitive.fromByteArray(n.getEncoded())); - } - - private void equalityTest(X509Name x509Name, X509Name x509Name1) - { - if (!x509Name.equals(x509Name1)) - { - fail("equality test failed for " + x509Name + " : " + x509Name1); - } - - if (x509Name.hashCode() != x509Name1.hashCode()) - { - fail("hashCodeTest test failed for " + x509Name + " : " + x509Name1); - } - - if (!x509Name.equals(x509Name1, true)) - { - fail("equality test failed for " + x509Name + " : " + x509Name1); - } - } - - - public static void main( - String[] args) - { - runTest(new X509NameTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X9Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X9Test.java deleted file mode 100644 index 61250f7f1..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/X9Test.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.spongycastle.asn1.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.math.BigInteger; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DEROutputStream; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.sec.ECPrivateKey; -import org.spongycastle.asn1.x509.AlgorithmIdentifier; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.asn1.x9.X962NamedCurves; -import org.spongycastle.asn1.x9.X962Parameters; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.asn1.x9.X9ECPoint; -import org.spongycastle.asn1.x9.X9IntegerConverter; -import org.spongycastle.asn1.x9.X9ObjectIdentifiers; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -public class X9Test - extends SimpleTest -{ - private byte[] namedPub = Base64.decode("MDcwEwYHKoZIzj0CAQYIKoZIzj0DAQEDIAADG5xRI+Iki/JrvL20hoDUa7Cggzorv5B9yyqSMjYu"); - private byte[] expPub = Base64.decode( - "MIH8MIHXBgcqhkjOPQIBMIHLAgEBMCkGByqGSM49AQECHn///////////////3///////4AAAA" + - "AAAH///////zBXBB5///////////////9///////+AAAAAAAB///////wEHiVXBfoqMGZUsfTL" + - "A9anUKMMJQEC1JiHF9m6FattPgMVAH1zdBaP/jRxtgqFdoahlHXTv6L/BB8DZ2iujhi7ks/PAF" + - "yUmqLG2UhT0OZgu/hUsclQX+laAh5///////////////9///+XXetBs6YFfDxDIUZSZVECAQED" + - "IAADG5xRI+Iki/JrvL20hoDUa7Cggzorv5B9yyqSMjYu"); - - private byte[] namedPriv = Base64.decode("MCICAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEECDAGAgEBBAEK"); - private byte[] expPriv = Base64.decode( - "MIHnAgEAMIHXBgcqhkjOPQIBMIHLAgEBMCkGByqGSM49AQECHn///////////////3///////4" - + "AAAAAAAH///////zBXBB5///////////////9///////+AAAAAAAB///////wEHiVXBfoqMGZU" - + "sfTLA9anUKMMJQEC1JiHF9m6FattPgMVAH1zdBaP/jRxtgqFdoahlHXTv6L/BB8DZ2iujhi7ks" - + "/PAFyUmqLG2UhT0OZgu/hUsclQX+laAh5///////////////9///+XXetBs6YFfDxDIUZSZVEC" - + "AQEECDAGAgEBBAEU"); - - private void encodePublicKey() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - X9ECParameters ecP = X962NamedCurves.getByOID(X9ObjectIdentifiers.prime239v3); - - X9IntegerConverter conv = new X9IntegerConverter(); - - if (conv.getByteLength(ecP.getCurve()) != 30) - { - fail("wrong byte length reported for curve"); - } - - if (ecP.getCurve().getFieldSize() != 239) - { - fail("wrong field size reported for curve"); - } - - // - // named curve - // - X962Parameters params = new X962Parameters(X9ObjectIdentifiers.prime192v1); - ECPoint point = ecP.getG().multiply(BigInteger.valueOf(100)); - - ASN1OctetString p = new DEROctetString(point.getEncoded(true)); - - SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), p.getOctets()); - byte[] infoEncoded = info.getEncoded(); - - if (!areEqual(infoEncoded, namedPub)) - { - fail("failed public named generation"); - } - - X9ECPoint x9P = new X9ECPoint(ecP.getCurve(), p); - - if (!Arrays.areEqual(point.getEncoded(true), x9P.getPoint().getEncoded())) - { - fail("point encoding not preserved"); - } - - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(namedPub)); - ASN1Primitive o = aIn.readObject(); - - if (!info.equals(o)) - { - fail("failed public named equality"); - } - - // - // explicit curve parameters - // - params = new X962Parameters(ecP); - - info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), p.getOctets()); - - if (!areEqual(info.getEncoded(), expPub)) - { - fail("failed public explicit generation"); - } - - aIn = new ASN1InputStream(new ByteArrayInputStream(expPub)); - o = aIn.readObject(); - - if (!info.equals(o)) - { - fail("failed public explicit equality"); - } - } - - private void encodePrivateKey() - throws Exception - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - DEROutputStream dOut = new DEROutputStream(bOut); - X9ECParameters ecP = X962NamedCurves.getByOID(X9ObjectIdentifiers.prime239v3); - - // - // named curve - // - X962Parameters params = new X962Parameters(X9ObjectIdentifiers.prime192v1); - - PrivateKeyInfo info = new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), new ECPrivateKey(BigInteger.valueOf(10))); - - if (!areEqual(info.getEncoded(), namedPriv)) - { - fail("failed private named generation"); - } - - ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(namedPriv)); - ASN1Primitive o = aIn.readObject(); - - if (!info.equals(o)) - { - fail("failed private named equality"); - } - - // - // explicit curve parameters - // - params = new X962Parameters(ecP); - - info = new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), new ECPrivateKey(BigInteger.valueOf(20))); - - if (!areEqual(info.getEncoded(), expPriv)) - { - fail("failed private explicit generation"); - } - - aIn = new ASN1InputStream(new ByteArrayInputStream(expPriv)); - o = aIn.readObject(); - - if (!info.equals(o)) - { - fail("failed private explicit equality"); - } - } - - public void performTest() - throws Exception - { - encodePublicKey(); - encodePrivateKey(); - } - - public String getName() - { - return "X9"; - } - - public static void main( - String[] args) - { - runTest(new X9Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/AllTests.java deleted file mode 100644 index 25c428749..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/AllTests.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.spongycastle.crypto.agreement.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests - extends TestCase -{ - public static void main(String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("JPKAE Engine Tests"); - - suite.addTestSuite(JPAKEParticipantTest.class); - suite.addTestSuite(JPAKEPrimeOrderGroupTest.class); - suite.addTestSuite(JPAKEUtilTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEParticipantTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEParticipantTest.java deleted file mode 100644 index 223057fc1..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEParticipantTest.java +++ /dev/null @@ -1,561 +0,0 @@ -package org.spongycastle.crypto.agreement.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.agreement.jpake.JPAKEParticipant; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroups; -import org.spongycastle.crypto.agreement.jpake.JPAKERound1Payload; -import org.spongycastle.crypto.agreement.jpake.JPAKERound2Payload; -import org.spongycastle.crypto.agreement.jpake.JPAKERound3Payload; -import org.spongycastle.crypto.agreement.jpake.JPAKEUtil; -import org.spongycastle.crypto.digests.SHA256Digest; - -public class JPAKEParticipantTest - extends TestCase -{ - - public void testConstruction() - throws CryptoException - { - JPAKEPrimeOrderGroup group = JPAKEPrimeOrderGroups.SUN_JCE_1024; - SecureRandom random = new SecureRandom(); - Digest digest = new SHA256Digest(); - String participantId = "participantId"; - char[] password = "password".toCharArray(); - - // should succeed - new JPAKEParticipant(participantId, password, group, digest, random); - - // null participantId - try - { - new JPAKEParticipant(null, password, group, digest, random); - fail(); - } - catch (NullPointerException e) - { - // pass - } - - // null password - try - { - new JPAKEParticipant(participantId, null, group, digest, random); - fail(); - } - catch (NullPointerException e) - { - // pass - } - - // empty password - try - { - new JPAKEParticipant(participantId, "".toCharArray(), group, digest, random); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // null group - try - { - new JPAKEParticipant(participantId, password, null, digest, random); - fail(); - } - catch (NullPointerException e) - { - // pass - } - - // null digest - try - { - new JPAKEParticipant(participantId, password, group, null, random); - fail(); - } - catch (NullPointerException e) - { - // pass - } - - // null random - try - { - new JPAKEParticipant(participantId, password, group, digest, null); - fail(); - } - catch (NullPointerException e) - { - // pass - } - } - - public void testSuccessfulExchange() - throws CryptoException - { - - JPAKEParticipant alice = createAlice(); - JPAKEParticipant bob = createBob(); - - ExchangeAfterRound2Creation exchange = runExchangeUntilRound2Creation(alice, bob); - - alice.validateRound2PayloadReceived(exchange.bobRound2Payload); - bob.validateRound2PayloadReceived(exchange.aliceRound2Payload); - - BigInteger aliceKeyingMaterial = alice.calculateKeyingMaterial(); - BigInteger bobKeyingMaterial = bob.calculateKeyingMaterial(); - - JPAKERound3Payload aliceRound3Payload = alice.createRound3PayloadToSend(aliceKeyingMaterial); - JPAKERound3Payload bobRound3Payload = bob.createRound3PayloadToSend(bobKeyingMaterial); - - alice.validateRound3PayloadReceived(bobRound3Payload, aliceKeyingMaterial); - bob.validateRound3PayloadReceived(aliceRound3Payload, bobKeyingMaterial); - - assertEquals(aliceKeyingMaterial, bobKeyingMaterial); - - } - - public void testIncorrectPassword() - throws CryptoException - { - - JPAKEParticipant alice = createAlice(); - JPAKEParticipant bob = createBobWithWrongPassword(); - - ExchangeAfterRound2Creation exchange = runExchangeUntilRound2Creation(alice, bob); - - alice.validateRound2PayloadReceived(exchange.bobRound2Payload); - bob.validateRound2PayloadReceived(exchange.aliceRound2Payload); - - BigInteger aliceKeyingMaterial = alice.calculateKeyingMaterial(); - BigInteger bobKeyingMaterial = bob.calculateKeyingMaterial(); - - JPAKERound3Payload aliceRound3Payload = alice.createRound3PayloadToSend(aliceKeyingMaterial); - JPAKERound3Payload bobRound3Payload = bob.createRound3PayloadToSend(bobKeyingMaterial); - - try - { - alice.validateRound3PayloadReceived(bobRound3Payload, aliceKeyingMaterial); - fail(); - } - catch (CryptoException e) - { - // pass - } - - try - { - bob.validateRound3PayloadReceived(aliceRound3Payload, bobKeyingMaterial); - fail(); - } - catch (CryptoException e) - { - // pass - } - - } - - /** - * Tests that {@link JPAKEParticipant} throws appropriate {@link IllegalStateException}s - * when the methods are called in the wrong order. - */ - public void testStateValidation() - throws CryptoException - { - - JPAKEParticipant alice = createAlice(); - JPAKEParticipant bob = createBob(); - - // We're testing alice here. Bob is just used for help. - - // START ROUND 1 CHECKS - - assertEquals(JPAKEParticipant.STATE_INITIALIZED, alice.getState()); - - // create round 2 before round 1 - try - { - alice.createRound2PayloadToSend(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - JPAKERound1Payload aliceRound1Payload = alice.createRound1PayloadToSend(); - - assertEquals(JPAKEParticipant.STATE_ROUND_1_CREATED, alice.getState()); - - // create round 1 payload twice - try - { - alice.createRound1PayloadToSend(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - // create round 2 before validating round 1 - try - { - alice.createRound2PayloadToSend(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - // validate round 2 before validating round 1 - try - { - alice.validateRound2PayloadReceived(null); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - JPAKERound1Payload bobRound1Payload = bob.createRound1PayloadToSend(); - - alice.validateRound1PayloadReceived(bobRound1Payload); - - assertEquals(JPAKEParticipant.STATE_ROUND_1_VALIDATED, alice.getState()); - - // validate round 1 payload twice - try - { - alice.validateRound1PayloadReceived(bobRound1Payload); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - bob.validateRound1PayloadReceived(aliceRound1Payload); - - // START ROUND 2 CHECKS - - JPAKERound2Payload aliceRound2Payload = alice.createRound2PayloadToSend(); - - assertEquals(JPAKEParticipant.STATE_ROUND_2_CREATED, alice.getState()); - - // create round 2 payload twice - try - { - alice.createRound2PayloadToSend(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - // create key before validating round 2 - try - { - alice.calculateKeyingMaterial(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - // validate round 3 before validating round 2 - try - { - alice.validateRound3PayloadReceived(null, null); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - JPAKERound2Payload bobRound2Payload = bob.createRound2PayloadToSend(); - - alice.validateRound2PayloadReceived(bobRound2Payload); - - assertEquals(JPAKEParticipant.STATE_ROUND_2_VALIDATED, alice.getState()); - - // validate round 2 payload twice - try - { - alice.validateRound2PayloadReceived(bobRound2Payload); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - bob.validateRound2PayloadReceived(aliceRound2Payload); - - // create round 3 before calculating key - try - { - alice.createRound3PayloadToSend(BigInteger.ONE); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - // START KEY CALCULATION CHECKS - - BigInteger aliceKeyingMaterial = alice.calculateKeyingMaterial(); - - assertEquals(JPAKEParticipant.STATE_KEY_CALCULATED, alice.getState()); - - // calculate key twice - try - { - alice.calculateKeyingMaterial(); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - BigInteger bobKeyingMaterial = bob.calculateKeyingMaterial(); - - // START ROUND 3 CHECKS - - JPAKERound3Payload aliceRound3Payload = alice.createRound3PayloadToSend(aliceKeyingMaterial); - - assertEquals(JPAKEParticipant.STATE_ROUND_3_CREATED, alice.getState()); - - // create round 3 payload twice - try - { - alice.createRound3PayloadToSend(aliceKeyingMaterial); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - JPAKERound3Payload bobRound3Payload = bob.createRound3PayloadToSend(bobKeyingMaterial); - - alice.validateRound3PayloadReceived(bobRound3Payload, aliceKeyingMaterial); - - assertEquals(JPAKEParticipant.STATE_ROUND_3_VALIDATED, alice.getState()); - - // validate round 3 payload twice - try - { - alice.validateRound3PayloadReceived(bobRound3Payload, aliceKeyingMaterial); - fail(); - } - catch (IllegalStateException e) - { - // pass - } - - bob.validateRound3PayloadReceived(aliceRound3Payload, bobKeyingMaterial); - - - } - - /** - * Tests that {@link JPAKEParticipant#validateRound1PayloadReceived(JPAKERound1Payload)} - * calls the appropriate validate methods in {@link JPAKEUtil}. - * Note that {@link JPAKEUtilTest} tests the individual validate methods - * called by {@link JPAKEParticipant} more extensively. - */ - public void testValidateRound1PayloadReceived() - throws CryptoException - { - - // We're testing alice here. Bob is just used for help. - - JPAKERound1Payload bobRound1Payload = createBob().createRound1PayloadToSend(); - - // should succeed - createAlice().validateRound1PayloadReceived(bobRound1Payload); - - // alice verifies alice's payload - try - { - JPAKEParticipant alice = createAlice(); - alice.validateRound1PayloadReceived(alice.createRound1PayloadToSend()); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // g^x4 == 1 - try - { - createAlice().validateRound1PayloadReceived(new JPAKERound1Payload( - bobRound1Payload.getParticipantId(), - bobRound1Payload.getGx1(), - BigInteger.ONE, - bobRound1Payload.getKnowledgeProofForX1(), - bobRound1Payload.getKnowledgeProofForX2())); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // zero knowledge proof for x3 fails - try - { - JPAKERound1Payload bobRound1Payload2 = createBob().createRound1PayloadToSend(); - createAlice().validateRound1PayloadReceived(new JPAKERound1Payload( - bobRound1Payload.getParticipantId(), - bobRound1Payload.getGx1(), - bobRound1Payload.getGx2(), - bobRound1Payload2.getKnowledgeProofForX1(), - bobRound1Payload.getKnowledgeProofForX2())); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // zero knowledge proof for x4 fails - try - { - JPAKERound1Payload bobRound1Payload2 = createBob().createRound1PayloadToSend(); - createAlice().validateRound1PayloadReceived(new JPAKERound1Payload( - bobRound1Payload.getParticipantId(), - bobRound1Payload.getGx1(), - bobRound1Payload.getGx2(), - bobRound1Payload.getKnowledgeProofForX1(), - bobRound1Payload2.getKnowledgeProofForX2())); - fail(); - } - catch (CryptoException e) - { - // pass - } - - } - - /** - * Tests that {@link JPAKEParticipant#validateRound2PayloadReceived(JPAKERound2Payload)} - * calls the appropriate validate methods in {@link JPAKEUtil}. - * Note that {@link JPAKEUtilTest} tests the individual validate methods - * called by {@link JPAKEParticipant} more extensively. - */ - public void testValidateRound2PayloadReceived() - throws CryptoException - { - - // We're testing alice here. Bob is just used for help. - - // should succeed - ExchangeAfterRound2Creation exchange1 = runExchangeUntilRound2Creation(createAlice(), createBob()); - exchange1.alice.validateRound2PayloadReceived(exchange1.bobRound2Payload); - - // alice verifies alice's payload - ExchangeAfterRound2Creation exchange2 = runExchangeUntilRound2Creation(createAlice(), createBob()); - try - { - exchange2.alice.validateRound2PayloadReceived(exchange2.aliceRound2Payload); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // wrong z - ExchangeAfterRound2Creation exchange3 = runExchangeUntilRound2Creation(createAlice(), createBob()); - ExchangeAfterRound2Creation exchange4 = runExchangeUntilRound2Creation(createAlice(), createBob()); - try - { - exchange3.alice.validateRound2PayloadReceived(exchange4.bobRound2Payload); - fail(); - } - catch (CryptoException e) - { - // pass - } - - } - - private static class ExchangeAfterRound2Creation - { - - public JPAKEParticipant alice; - public JPAKERound2Payload aliceRound2Payload; - public JPAKERound2Payload bobRound2Payload; - - public ExchangeAfterRound2Creation( - JPAKEParticipant alice, - JPAKERound2Payload aliceRound2Payload, - JPAKERound2Payload bobRound2Payload) - { - this.alice = alice; - this.aliceRound2Payload = aliceRound2Payload; - this.bobRound2Payload = bobRound2Payload; - } - - } - - private ExchangeAfterRound2Creation runExchangeUntilRound2Creation(JPAKEParticipant alice, JPAKEParticipant bob) - throws CryptoException - { - JPAKERound1Payload aliceRound1Payload = alice.createRound1PayloadToSend(); - JPAKERound1Payload bobRound1Payload = bob.createRound1PayloadToSend(); - - alice.validateRound1PayloadReceived(bobRound1Payload); - bob.validateRound1PayloadReceived(aliceRound1Payload); - - JPAKERound2Payload aliceRound2Payload = alice.createRound2PayloadToSend(); - JPAKERound2Payload bobRound2Payload = bob.createRound2PayloadToSend(); - - return new ExchangeAfterRound2Creation( - alice, - aliceRound2Payload, - bobRound2Payload); - } - - private JPAKEParticipant createAlice() - { - return createParticipant("alice", "password"); - } - - private JPAKEParticipant createBob() - { - return createParticipant("bob", "password"); - } - - private JPAKEParticipant createBobWithWrongPassword() - { - return createParticipant("bob", "wrong"); - } - - private JPAKEParticipant createParticipant(String participantId, String password) - { - return new JPAKEParticipant( - participantId, - password.toCharArray(), - JPAKEPrimeOrderGroups.SUN_JCE_1024); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEPrimeOrderGroupTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEPrimeOrderGroupTest.java deleted file mode 100644 index b02a8f6ce..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEPrimeOrderGroupTest.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.spongycastle.crypto.agreement.test; - -import java.math.BigInteger; - -import junit.framework.TestCase; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup; - -public class JPAKEPrimeOrderGroupTest - extends TestCase -{ - - public void testConstruction() - throws CryptoException - { - // p-1 not evenly divisible by q - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(7), BigInteger.valueOf(5), BigInteger.valueOf(6)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // g < 2 - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(11), BigInteger.valueOf(5), BigInteger.valueOf(1)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // g > p-1 - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(11), BigInteger.valueOf(5), BigInteger.valueOf(11)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // g^q mod p not equal 1 - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(11), BigInteger.valueOf(5), BigInteger.valueOf(6)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // p not prime - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(15), BigInteger.valueOf(2), BigInteger.valueOf(4)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // q not prime - try - { - new JPAKEPrimeOrderGroup(BigInteger.valueOf(7), BigInteger.valueOf(6), BigInteger.valueOf(3)); - fail(); - } - catch (IllegalArgumentException e) - { - // pass - } - - // should succeed - new JPAKEPrimeOrderGroup(BigInteger.valueOf(7), BigInteger.valueOf(3), BigInteger.valueOf(4)); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEUtilTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEUtilTest.java deleted file mode 100644 index beaa2be01..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/agreement/test/JPAKEUtilTest.java +++ /dev/null @@ -1,267 +0,0 @@ -package org.spongycastle.crypto.agreement.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup; -import org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroups; -import org.spongycastle.crypto.agreement.jpake.JPAKEUtil; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; - -public class JPAKEUtilTest - extends TestCase -{ - private static final BigInteger TEN = BigInteger.valueOf(10); - - public void testValidateGx4() - throws CryptoException - { - JPAKEUtil.validateGx4(TEN); - - try - { - JPAKEUtil.validateGx4(BigInteger.ONE); - fail(); - } - catch (CryptoException e) - { - // pass - } - } - - public void testValidateGa() - throws CryptoException - { - JPAKEUtil.validateGa(TEN); - - try - { - JPAKEUtil.validateGa(BigInteger.ONE); - fail(); - } - catch (CryptoException e) - { - // pass - } - } - - public void testValidateParticipantIdsDiffer() - throws CryptoException - { - JPAKEUtil.validateParticipantIdsDiffer("a", "b"); - JPAKEUtil.validateParticipantIdsDiffer("a", "A"); - - try - { - JPAKEUtil.validateParticipantIdsDiffer("a", "a"); - fail(); - } - catch (CryptoException e) - { - // pass - } - } - - public void testValidateParticipantIdsEqual() - throws CryptoException - { - JPAKEUtil.validateParticipantIdsEqual("a", "a"); - - try - { - JPAKEUtil.validateParticipantIdsEqual("a", "b"); - fail(); - } - catch (CryptoException e) - { - // pass - } - } - - public void testValidateMacTag() - throws CryptoException - { - JPAKEPrimeOrderGroup pg1 = JPAKEPrimeOrderGroups.SUN_JCE_1024; - - SecureRandom random = new SecureRandom(); - Digest digest = new SHA256Digest(); - - BigInteger x1 = JPAKEUtil.generateX1(pg1.getQ(), random); - BigInteger x2 = JPAKEUtil.generateX2(pg1.getQ(), random); - BigInteger x3 = JPAKEUtil.generateX1(pg1.getQ(), random); - BigInteger x4 = JPAKEUtil.generateX2(pg1.getQ(), random); - - BigInteger gx1 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x1); - BigInteger gx2 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x2); - BigInteger gx3 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x3); - BigInteger gx4 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x4); - - BigInteger gB = JPAKEUtil.calculateGA(pg1.getP(), gx3, gx1, gx2); - - BigInteger s = JPAKEUtil.calculateS("password".toCharArray()); - - BigInteger xs = JPAKEUtil.calculateX2s(pg1.getQ(), x4, s); - - BigInteger B = JPAKEUtil.calculateA(pg1.getP(), pg1.getQ(), gB, xs); - - BigInteger keyingMaterial = JPAKEUtil.calculateKeyingMaterial(pg1.getP(), pg1.getQ(), gx4, x2, s, B); - - BigInteger macTag = JPAKEUtil.calculateMacTag("participantId", "partnerParticipantId", gx1, gx2, gx3, gx4, keyingMaterial, digest); - - // should succed - JPAKEUtil.validateMacTag("partnerParticipantId", "participantId", gx3, gx4, gx1, gx2, keyingMaterial, digest, macTag); - - // validating own macTag (as opposed to the other party's mactag) - try - { - JPAKEUtil.validateMacTag("participantId", "partnerParticipantId", gx1, gx2, gx3, gx4, keyingMaterial, digest, macTag); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // participant ids switched - try - { - JPAKEUtil.validateMacTag("participantId", "partnerParticipantId", gx3, gx4, gx1, gx2, keyingMaterial, digest, macTag); - fail(); - } - catch (CryptoException e) - { - // pass - } - } - - public void testValidateNotNull() - { - JPAKEUtil.validateNotNull("a", "description"); - - try - { - JPAKEUtil.validateNotNull(null, "description"); - fail(); - } - catch (NullPointerException e) - { - // pass - } - } - - public void testValidateZeroKnowledgeProof() - throws CryptoException - { - JPAKEPrimeOrderGroup pg1 = JPAKEPrimeOrderGroups.SUN_JCE_1024; - - SecureRandom random = new SecureRandom(); - Digest digest1 = new SHA256Digest(); - - BigInteger x1 = JPAKEUtil.generateX1(pg1.getQ(), random); - BigInteger gx1 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x1); - String participantId1 = "participant1"; - - BigInteger[] zkp1 = JPAKEUtil.calculateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx1, x1, participantId1, digest1, random); - - // should succeed - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx1, zkp1, participantId1, digest1); - - // wrong group - JPAKEPrimeOrderGroup pg2 = JPAKEPrimeOrderGroups.NIST_3072; - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg2.getP(), pg2.getQ(), pg2.getG(), gx1, zkp1, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // wrong digest - Digest digest2 = new SHA1Digest(); - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx1, zkp1, participantId1, digest2); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // wrong participant - String participantId2 = "participant2"; - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx1, zkp1, participantId2, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // wrong gx - BigInteger x2 = JPAKEUtil.generateX1(pg1.getQ(), random); - BigInteger gx2 = JPAKEUtil.calculateGx(pg1.getP(), pg1.getG(), x2); - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx2, zkp1, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // wrong zkp - BigInteger[] zkp2 = JPAKEUtil.calculateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx2, x2, participantId1, digest1, random); - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), gx1, zkp2, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // gx <= 0 - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), BigInteger.ZERO, zkp1, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // gx >= p - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), pg1.getP(), zkp1, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - - // gx mod q == 1 - try - { - JPAKEUtil.validateZeroKnowledgeProof(pg1.getP(), pg1.getQ(), pg1.getG(), pg1.getQ().add(BigInteger.ONE), zkp1, participantId1, digest1); - fail(); - } - catch (CryptoException e) - { - // pass - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/AllTests.java deleted file mode 100644 index 5186f4b26..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/AllTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.crypto.ec.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testCrypto() - { - org.spongycastle.util.test.Test[] tests = { new ECElGamalTest(), new ECTransformationTest() }; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("Lightweight EC ElGamal Tests"); - - suite.addTestSuite(AllTests.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECElGamalTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECElGamalTest.java deleted file mode 100644 index 9e1963a01..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECElGamalTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.spongycastle.crypto.ec.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.ec.ECDecryptor; -import org.spongycastle.crypto.ec.ECElGamalDecryptor; -import org.spongycastle.crypto.ec.ECElGamalEncryptor; -import org.spongycastle.crypto.ec.ECEncryptor; -import org.spongycastle.crypto.ec.ECPair; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class ECElGamalTest - extends SimpleTest -{ - public String getName() - { - return "ECElGamal"; - } - - public void performTest() - throws Exception - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q - params); - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d - params); - - ParametersWithRandom pRandom = new ParametersWithRandom(pubKey, new SecureRandom()); - - doTest(priKey, pRandom, BigInteger.valueOf(20)); - - BigInteger rand = new BigInteger(pubKey.getParameters().getN().bitLength() - 1, new SecureRandom()); - - doTest(priKey, pRandom, rand); - } - - private void doTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value) - { - ECPoint data = priKey.getParameters().getG().multiply(value); - - ECEncryptor encryptor = new ECElGamalEncryptor(); - - encryptor.init(pRandom); - - ECPair pair = encryptor.encrypt(data); - - ECDecryptor decryptor = new ECElGamalDecryptor(); - - decryptor.init(priKey); - - ECPoint result = decryptor.decrypt(pair); - - if (!data.equals(result)) - { - fail("point pair failed to decrypt back to original"); - } - } - - public static void main(String[] args) - { - runTest(new ECElGamalTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECTransformationTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECTransformationTest.java deleted file mode 100644 index 31c66469b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/ec/test/ECTransformationTest.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.spongycastle.crypto.ec.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.ec.ECDecryptor; -import org.spongycastle.crypto.ec.ECElGamalDecryptor; -import org.spongycastle.crypto.ec.ECElGamalEncryptor; -import org.spongycastle.crypto.ec.ECEncryptor; -import org.spongycastle.crypto.ec.ECNewPublicKeyTransform; -import org.spongycastle.crypto.ec.ECNewRandomnessTransform; -import org.spongycastle.crypto.ec.ECPair; -import org.spongycastle.crypto.ec.ECPairTransform; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class ECTransformationTest - extends SimpleTest -{ - public String getName() - { - return "ECTransformationTest"; - } - - public void performTest() - throws Exception - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q - params); - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d - params); - - - ParametersWithRandom pRandom = new ParametersWithRandom(pubKey, new SecureRandom()); - - doTest(priKey, pRandom, BigInteger.valueOf(20)); - - BigInteger rand = new BigInteger(pubKey.getParameters().getN().bitLength() - 1, new SecureRandom()); - - doTest(priKey, pRandom, rand); - doSameKeyTest(priKey, pRandom, rand); - } - - private void doTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value) - { - ECPoint data = priKey.getParameters().getG().multiply(value); - - ECEncryptor encryptor = new ECElGamalEncryptor(); - - encryptor.init(pRandom); - - ECPair pair = encryptor.encrypt(data); - - ECKeyPairGenerator ecGen = new ECKeyPairGenerator(); - - ecGen.init(new ECKeyGenerationParameters(priKey.getParameters(), new SecureRandom())); - - AsymmetricCipherKeyPair reEncKP = ecGen.generateKeyPair(); - - ECPairTransform ecr = new ECNewPublicKeyTransform(); - - ecr.init(reEncKP.getPublic()); - - ECPair srcPair = pair; - - // re-encrypt the message portion - pair = ecr.transform(srcPair); - - ECDecryptor decryptor = new ECElGamalDecryptor(); - - decryptor.init(priKey); - - // decrypt out the original private key - ECPoint p = decryptor.decrypt(new ECPair(srcPair.getX(), pair.getY())); - - decryptor.init(reEncKP.getPrivate()); - - // decrypt the fully transformed point. - ECPoint result = decryptor.decrypt(new ECPair(pair.getX(), p)); - - if (!data.equals(result)) - { - fail("point pair failed to decrypt back to original"); - } - } - - private void doSameKeyTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value) - { - ECPoint data = priKey.getParameters().getG().multiply(value); - - ECEncryptor encryptor = new ECElGamalEncryptor(); - - encryptor.init(pRandom); - - ECPair pair = encryptor.encrypt(data); - - ECPairTransform ecr = new ECNewRandomnessTransform(); - - ecr.init(pRandom); - - ECPair srcPair = pair; - - // re-encrypt the message portion - pair = ecr.transform(srcPair); - - ECDecryptor decryptor = new ECElGamalDecryptor(); - - decryptor.init(priKey); - - // decrypt the fully transformed point. - ECPoint result = decryptor.decrypt(pair); - - if (!data.equals(result)) - { - fail("point pair failed to decrypt back to original"); - } - } - - public static void main(String[] args) - { - runTest(new ECTransformationTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/AllTests.java deleted file mode 100644 index 61a17dd41..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/AllTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testCrypto() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("Lightweight Crypto PRNG Tests"); - - suite.addTestSuite(AllTests.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/CTRDRBGTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/CTRDRBGTest.java deleted file mode 100644 index 0a4d09db2..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/CTRDRBGTest.java +++ /dev/null @@ -1,513 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.params.DESedeParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.prng.drbg.CTRSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * CTR DRBG Test - */ -public class CTRDRBGTest - extends SimpleTest -{ - public String getName() - { - return "CTRDRBGTest"; - } - - public static void main(String[] args) - { - runTest(new CTRDRBGTest()); - } - - private DRBGTestVector[] createTestVectorData() - { - return new DRBGTestVector[] - { - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - false, - "20212223242526", - 112, - new String[] - { - "ABC88224514D0316EA3D48AEE3C9A2B4", - "D3D3F372E43E7ABDC4FA293743EED076" - } - ), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - false, - "20212223242526", - 112, - new String[] - { - "D4564EE072ACA5BD279536E14F94CB12", - "1CCD9AFEF15A9679BA75E35225585DEA" - } - ) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC"), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - false, - "20212223242526", - 112, - new String[] - { - "760BED7D92B083B10AF31CF0656081EB", - "FD1AC41482384D823CF3FD6F0E6C88B3" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C"), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - false, - "20212223242526", - 112, - new String[] - { - "7A4C1D7ADC8A67FDB50100ED23583A2C", - "43044D311C0E07541CA5C8B0916976B2" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC"), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - true, - "20212223242526", - 112, - new String[] - { - "8FB78ABCA75C9F284E974E36141866BC", - "9D9745FF31C42A4488CBB771B13B5D86" - } - ), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - true, - "20212223242526", - 112, - new String[] - { - "0E389920A09B485AA4ABD0CA7E60D89C", - "F4478EC6659A0D3577625B0C73A211DD" - } - ) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC"), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - true, - "20212223242526", - 112, - new String[] - { - "64983055D014550B39DE699E43130B64", - "035FDDA8582A2214EC722C410A8D95D3" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C"), - new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - true, - "20212223242526", - 112, - new String[] - { - "A29C1A8C42FBC562D7D1DBA7DC541FFE", - "0BDA66B049429061C013E4228C2F44C6" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC"), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - false, - "2021222324252627", - 128, - new String[] - { - "8CF59C8CF6888B96EB1C1E3E79D82387AF08A9E5FF75E23F1FBCD4559B6B997E", - "69CDEF912C692D61B1DA4C05146B52EB7B8849BD87937835328254EC25A9180E" - } - ), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - false, - "2021222324252627", - 128, - new String[] - { - "E8C74A4B7BFFB53BEB80E78CA86BB6DF70E2032AEB473E0DD54D2339CEFCE9D0", - "26B3F823B4DBAFC23B141375E10B3AEB7A0B5DEF1C7D760B6F827D01ECD17AC7" - } - ) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF"), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - false, - "2021222324252627", - 128, - new String[] - { - "18FDEFBDC43D7A36D5D6D862205765D1D701C9F237007030DF1B8E70EE4EEE29", - "9888F1D38BB1CCE31B363AA1BD9B39616876C30DEE1FF0B7BD8C4C441715C833" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F"), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - true, - "2021222324252627", - 128, - new String[] - { - "BFF4B85D68C84529F24F69F9ACF1756E29BA648DDEB825C225FA32BA490EF4A9", - "9BD2635137A52AF7D0FCBEFEFB97EA93A0F4C438BD98956C0DACB04F15EE25B3" - } - ), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - true, - "2021222324252627", - 128, - new String[] - { - "4573AC8BBB33D7CC4DBEF3EEDF6EAE748B536C3A1082CEE4948CDB51C83A7F9C", - "99C628CDD87BD8C2F1FE443AA7F761DA16886436326323354DA6311FFF5BC678" - } - ) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF"), - new DRBGTestVector( - new AESFastEngine(), 128, - new Bit256EntropyProvider().get(256), - true, - "2021222324252627", - 128, - new String[] - { - "F324104E2FA14F79D8AA60DF06B93B3BC157324958F0A7EE1E193677A70E0250", - "78F4C840134F40DC001BFAD3A90B5EF4DEBDBFAC3CFDF0CD69A89DC4FD34713F" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F"), - new DRBGTestVector( - new AESFastEngine(), 192, - new Bit320EntropyProvider().get(320), - false, - "202122232425262728292A2B", - 192, - new String[] - { - "E231244B3235B085C81604424357E85201E3828B5C45568679A5555F867AAC8C", - "DDD0F7BCCADADAA31A67652259CE569A271DD85CF66C3D6A7E9FAED61F38D219" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667"), - new DRBGTestVector( - new AESFastEngine(), 192, - new Bit320EntropyProvider().get(320), - true, - "202122232425262728292A2B", - 192, - new String[] - { - "F780D4A2C25CF8EE7407D948EC0B724A4235D8B20E65081392755CA7912AD7C0", - "BA14617F915BA964CB79276BDADC840C14B631BBD1A59097054FA6DFF863B238" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667"), - new DRBGTestVector( - new AESFastEngine(), 256, - new Bit384EntropyProvider().get(384), - false, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "47111E146562E9AA2FB2A1B095D37A8165AF8FC7CA611D632BE7D4C145C83900", - "98A28E3B1BA363C9DAF0F6887A1CF52B833D3354D77A7C10837DD63DD2E645F8" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF"), - new DRBGTestVector( - new AESFastEngine(), 256, - new Bit384EntropyProvider().get(384), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "71BB3F9C9CEAF4E6C92A83EB4C7225010EE150AC75E23F5F77AD5073EF24D88A", - "386DEBBBF091BBF0502957B0329938FB836B82E594A2F5FDD5EB28D4E35528F4" - } - ) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF"), - new DRBGTestVector( - new AESFastEngine(), 256, - new Bit384EntropyProvider().get(384), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "1A2E3FEE9056E98D375525FDC2B63B95B47CE51FCF594D804BD5A17F2E01139B", - "601F95384F0D85946301D1EACE8F645A825CE38F1E2565B0C0C439448E9CA8AC" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F"), - new DRBGTestVector( - new AESFastEngine(), 256, - new Bit384EntropyProvider().get(384), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "EAE6BCE781807E524D26605EA198077932D01EEB445B9AC6C5D99C101D29F46E", - "738E99C95AF59519AAD37FF3D5180986ADEBAB6E95836725097E50A8D1D0BD28" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF") - }; - } - - public void performTest() - throws Exception - { - DRBGTestVector[] tests = createTestVectorData(); - - for (int i = 0; i != tests.length; i++) - { - DRBGTestVector tv = tests[i]; - - byte[] nonce = tv.nonce(); - byte[] personalisationString = tv.personalizationString(); - - SP80090DRBG d = new CTRSP800DRBG(tv.getCipher(), tv.keySizeInBits(), tv.securityStrength(), tv.entropySource(), personalisationString, nonce); - - byte[] output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(0), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".1 failed, expected " + new String(Hex.encode(tv.expectedValue(0))) + " got " + new String(Hex.encode(output))); - } - - output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(1), tv.predictionResistance()); - - expected = tv.expectedValue(1); - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".2 failed, expected " + new String(Hex.encode(tv.expectedValue(1))) + " got " + new String(Hex.encode(output))); - } - } - - // DESede/TDEA key parity test - DRBGTestVector tv = tests[0]; - - SP80090DRBG drbg = new CTRSP800DRBG(new KeyParityCipher(tv.getCipher()), tv.keySizeInBits(), tv.securityStrength(), tv.entropySource(), tv.personalizationString(), tv.nonce()); - - byte[] output = new byte[tv.expectedValue(0).length]; - - drbg.generate(output, tv.additionalInput(0), tv.predictionResistance()); - - // Exception tests - SP80090DRBG d; - try - { - d = new CTRSP800DRBG(new AESEngine(), 256, 256, new Bit232EntropyProvider().get(128), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Not enough entropy for security strength required")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new CTRSP800DRBG(new DESedeEngine(), 256, 256, new Bit232EntropyProvider().get(232), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Requested security strength is not supported by block cipher and key size")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new CTRSP800DRBG(new DESedeEngine(), 168, 256, new Bit232EntropyProvider().get(232), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Requested security strength is not supported by block cipher and key size")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new CTRSP800DRBG(new AESEngine(), 192, 256, new Bit232EntropyProvider().get(232), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Requested security strength is not supported by block cipher and key size")) - { - fail("Wrong exception", e); - } - } - } - - private class Bit232EntropyProvider - extends TestEntropySourceProvider - { - Bit232EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C" + - "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC"), true); - } - } - - private class Bit256EntropyProvider - extends TestEntropySourceProvider - { - Bit256EntropyProvider() - { - super(Hex.decode( - "0001020304050607"+ - "08090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"+ - "8081828384858687"+ - "88898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F"+ - "C0C1C2C3C4C5C6C7"+ - "C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF"), true); - } - } - - private class Bit320EntropyProvider - extends TestEntropySourceProvider - { - Bit320EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F"+ - "101112131415161718191A1B1C1D1E1F2021222324252627"+ - "808182838485868788898A8B8C8D8E8F"+ - "909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7"+ - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF"+ - "D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7"), true); - } - } - - private class Bit384EntropyProvider - extends TestEntropySourceProvider - { - Bit384EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F1011121314151617" + - "18191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F" + - "808182838485868788898A8B8C8D8E8F9091929394959697" + - "98999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7" + - "D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF"), true); - } - } - - private class KeyParityCipher - implements BlockCipher - { - private BlockCipher cipher; - - KeyParityCipher(BlockCipher cipher) - { - this.cipher = cipher; - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - byte[] k = Arrays.clone(((KeyParameter)params).getKey()); - - DESedeParameters.setOddParity(k); - - if (!Arrays.areEqual(((KeyParameter)params).getKey(), k)) - { - fail("key not odd parity"); - } - - cipher.init(forEncryption, params); - } - - public String getAlgorithmName() - { - return cipher.getAlgorithmName(); - } - - public int getBlockSize() - { - return cipher.getBlockSize(); - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, IllegalStateException - { - return cipher.processBlock(in, inOff, out, outOff); - } - - public void reset() - { - cipher.reset(); - } - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DRBGTestVector.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DRBGTestVector.java deleted file mode 100644 index b0dd3b72a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DRBGTestVector.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import java.util.ArrayList; -import java.util.List; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.util.encoders.Hex; - -public class DRBGTestVector -{ - private Digest _digest; - private BlockCipher _cipher; - private int _keySizeInBits; - private EntropySource _eSource; - private boolean _pr; - private String _nonce; - private String _personalisation; - private int _ss; - private String[] _ev; - private List _ai = new ArrayList(); - - public DRBGTestVector(Digest digest, EntropySource eSource, boolean predictionResistance, String nonce, int securityStrength, String[] expected) - { - _digest = digest; - _eSource = eSource; - _pr = predictionResistance; - _nonce = nonce; - _ss = securityStrength; - _ev = expected; - _personalisation = null; - } - - public DRBGTestVector(BlockCipher cipher, int keySizeInBits, EntropySource eSource, boolean predictionResistance, String nonce, int securityStrength, String[] expected) - { - _cipher = cipher; - _keySizeInBits = keySizeInBits; - _eSource = eSource; - _pr = predictionResistance; - _nonce = nonce; - _ss = securityStrength; - _ev = expected; - _personalisation = null; - } - - public Digest getDigest() - { - return _digest; - } - - public BlockCipher getCipher() - { - return _cipher; - } - - public int keySizeInBits() - { - return _keySizeInBits; - } - - public DRBGTestVector addAdditionalInput(String input) - { - _ai.add(input); - - return this; - } - - public DRBGTestVector setPersonalizationString(String p) - { - _personalisation = p; - - return this; - } - - public EntropySource entropySource() - { - return _eSource; - } - - public boolean predictionResistance() - { - return _pr; - } - - public byte[] nonce() - { - if (_nonce == null) - { - return null; - } - - return Hex.decode(_nonce); - } - - public byte[] personalizationString() - { - if (_personalisation == null) - { - return null; - } - - return Hex.decode(_personalisation); - } - - public int securityStrength() - { - return _ss; - } - - public byte[] expectedValue(int index) - { - return Hex.decode(_ev[index]); - } - - public byte[] additionalInput(int position) - { - int len = _ai.size(); - byte[] rv; - if (position >= len) - { - rv = null; - } - else - { - rv = Hex.decode((String)(_ai.get(position))); - } - return rv; - } - - } diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DualECDRBGTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DualECDRBGTest.java deleted file mode 100644 index 4aa857085..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/DualECDRBGTest.java +++ /dev/null @@ -1,415 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.prng.drbg.DualECSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Dual EC SP800-90 DRBG test - */ -public class DualECDRBGTest - extends SimpleTest -{ - public String getName() - { - return "DualECDRBG"; - } - - public static void main(String[] args) - { - runTest(new DualECDRBGTest()); - } - - private DRBGTestVector[] createTestVectorData() - { - return new DRBGTestVector[] - { - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - false, - "2021222324252627", - 128, - new String[] - { - "FF5163C388F791E96F1052D5C8F0BD6FBF7144839C4890FF85487C5C12702E4C9849AF518AE68DEB14D3A62702BBDE4B98AB211765FD87ACA12FC2A6", - "9A0A11F2DFB88F7260559DD8DA6134EB2B34CC0415FA8FD0474DB6B85E1A08385F41B435DF81296B1B4EDF66E0107C0844E3D28A89B05046B89177F2" - }), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - false, - "2021222324252627", - 128, - new String[] - { - "C08E954FCD486D0B0934A0236692AC705A835D1A3C94D2ACD4684AB26E978D7D42E73CC06D6EC1472C63E51BED7F71518395836E2052BBD73A20CABB", - "1D76DEE36FCC5F9478C112EAFA1C4CCD0635435A6F3A247A3BA3849790B5245070E95C1A67BE7A39BFB213F2C0EFCC171A3253DA6D54DA4362EA2099" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAF"), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - false, - "2021222324252627", - 128, - new String[] - { - "3AB095CC493A8730D70DE923108B2E4710799044FFC27D0A1156250DDF97E8B05ACE055E49F3E3F5B928CCD18317A3E68FCB0B6F0459ADF9ECF79C87", - "7B902FC35B0AF50F57F8822936D08A96E41B16967C6B1AA0BC05032F0D53919DC587B664C883E2FE8F3948002FCD8BCBFC4706BCAA2075EF6BF41167" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F"), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - false, - "2021222324252627", - 128, - new String[] - { - "3B68A1D95ED0312150AC1991189780F37EC50E75249F915CD806BBA0C44F9E3A919B2390805E1E90C1D2D1C823B17B96DB44535B72E0CFB62723529D", - "250B933475E3BD4FC85D97FD797834B599DEDEDF8B6F15474E1F31B4AF215CFA7A8C0A0296A2E374B3886BB0CC7E49DBB19324564B451E64F12864F9" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAF"), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - true, - "2021222324252627", - 128, - new String[] - { - "8C77288EDBEA9A742464F78D55E33593C1BF5F9D8CD8609D6D53BAC4E4B42252A227A99BAD0F2358B05955CD35723B549401C71C9C1F32F8A2018E24", - "56ECA61C64F69C1C232E992623C71418BD0B96D783118FAAD94A09E3A9DB74D15E805BA7F14625995CA77612B2EF7A05863699ECBABF70D3D422C014" - }), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - true, - "2021222324252627", - 128, - new String[] - { - "A5C397DFEB540E86F0470E9625D5C5AC2D50016FB201E8DF574F2201DFBB42A799FEB9E238AAD301A493382250EEE60D2E2927E500E848E57535ABD1", - "BF9894630BEBAF0A0EDFE726285EB055FD2ED678B76673803DD327F49DBEDE87D3E447A6EB73B5D5C52A40078132677F412E9E7DE32B9B1CB32421B9" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAF"), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(192), - false, - "202122232425262728292A2B", - 192, - new String[] - { - "1F858858B65357D6360E1ED8F8475767B08DAB30718CCA01C6FAE77A4BDCE2702C76D0FB4758EA1ED6AA587CFD26B9011DC8A75D0B4154193BB2C1798FFA52BCAB208310" + - "3CD2AAD44BEED56D042FC2B8915D7D9BED6437EFEB1582EE", - "6E4AAB63938212C870F24BB067A32CA9E7FC2343" + - "5D411729268C8BA6F90E87074D04888CE2CC5A916B7AC93F" + - "EDE85E2995645DFCC4CE44B9FB41F1BFCC5E9F59EE3A8E1B" + - "8F85247F741B7C480521EE6BF8BA319B59048E65F08FAA76" - }), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(192), - false, - "202122232425262728292A2B", - 192, - new String[] - { - "E6A30AB0C9AFCBA673E4F1C94B3DB1F0C7D78B3D" + - "87B967281BE1E7B3CAF5200AED502C26B84FC169FE8336BD" + - "23271CB299812F2CF1955AA63FC362044ABA246EF1610F9E" + - "DC613924A84A00F8DB3FC65C13373F3171EB20848FA9A70E", - "8585764DF1C86EA12ACCB882525BF6217B447486" + - "5EBFDA367B8657FA80471139BAC626172B9F219DF2CE9099" + - "F65833E07CD1A8DD80468779EA3C26620A2C9C9F5C7EFCDD" + - "C036E6F6C8BF70316D3C37FC246A4CC79B3F1DB971D72ED0" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F5051525354555657"), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(192), - false, - "202122232425262728292A2B", - 192, - new String[] - { - "13F6EA9BBA7BABDC2A52A3B9FD73D65ECAA638A0" + - "4C74BCCA2ACDE6FD29FEA4B5D884E095E87D1B7C0DEB9D37" + - "7AD81FBFEEA2D5EF82C0F6F52B9FCC359E769AC9DF2A876C" + - "58BAF21657814F3E66D1680B1D4EBD65581E42534F85197D", - "FC0A36F4D20F8F83BE3430AA3C36A49191821A82" + - "072BBC3D5AFF8D7EC39484D646277CE87599B6FE8CCA9862" + - "559703A10F4DE1066BFD30B80C325E774B512525BC6D3734" + - "4C93906368243D31F89E99C4D2A6E9BEB24D5F7267360DCA" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F5051525354555657") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F7071727374757677") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7"), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(192), - true, - "202122232425262728292A2B", - 192, - new String[] - { - "FE55601BF734493013705CCEB76E44AAD48373F7" + - "42E72B83D4701FA6549255F1CDE6217953522FF973BA4F6E" + - "C96D2BDCF14A76BE7DEB61781E34B99335BD714F17C91739" + - "B4E2AB57E36E9C3116E215D3D94FCFAD532636874875CAC7", - "F5E59D0ABADE81F62FFAB9D4A6A26FF200016608" + - "A7215E389858FFED83FBC75CFD33DBA6688C89AA32AD22E4" + - "80EA3D04EADFB35567B67564207E64B77844E8E4A87502D5" + - "02DBBB6D8277F1CACDB7CF8D293D09DB7DD59A950821507A" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F7071727374757677") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7"), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(192), - true, - "202122232425262728292A2B", - 192, - new String[] - { - "CC788F70FB08F256D9604333630D85936D400F45" + - "718DC3F939A8B9F6F75D3E4EC17D68FBB924AEACB7021295" + - "48FA63CE9BCB82176639B64DE890A47025B5582312FE934E" + - "F0D0A12697C0F05D2DA108CCADB511BA0EB62F4051BB2354", - "2C922EA620D76E4137B315EBC29E518F80951B3F" + - "0E6173FA2BFD94A230EE513EE2E4EB330D802F620DD24911" + - "534EC0F95A1F1D44A2125F5D57476A666FC372092B55D0D6" + - "8B49738F5BC466EC206AB3CF6A972B38BCFAE5FCD53C7E21 " - }), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(256), - false, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "7A8313798EE1" + - "D1898712683F2D0B0DEE5804146ABA64FDA8DB4E539CC8D1" + - "E59C74EE5AA48E73E958C8EC85DD529D42E68B4F7E02FFAF" + - "3E3EF8312AEA68BC08A414885E60A7DF0B55F9D90210B319" + - "E9B8FD23E078A4153636F29AA3CAC8198CB1D5D846151653" + - "ECE275A591089261238014E5058410065AB8229EB9115E8E", - "918B5D79E646" + - "64966D954BC5E2946BF48F061BF0C2701C3C2D1F75EA821E" + - "1DA05D5B3C2C4EEA246E806B53BF6BDB3F3D53A3AE756C2A" + - "45C72603973A3DE1BC367C283CA124A5589CEAB30E5D2D74" + - "8A40DD874FF15B032CF4F4B2AAD590B0DB91A0D38FCE93C5" + - "AAD4E55AC482F86FF06FAE66B7C7CCA7E45557E1A5A3B85D" - }), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(256), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "C7ED88A2C690" + - "1C04802BA2BB04262921B19664835A4A3C002CB9F13E35E3" + - "DEB3698A436BF1C85B070E9E6977CA78A5130905AA0C01A9" + - "4130F5133DF904A4ACF59A7DD01227E8FCA1C8D51F093839" + - "46ECD950113104760D7E216CAF581FE9D3AACE6FC4CDDC4C" + - "CD736D26A60BE8BE2A6A78CD752D1EC7CCC802638B177307", - "83B78B206785" + - "4412EEB24AEA86064D510C68FD96DBF94EAC1BC2022752D7" + - "558AEB9F97B9CBC1B9648FE4D88E2C82A6F530675E1DB92D" + - "396D6D85BDAD2A23CBD10AD808ECCCFBFC811EB68AE835E4" + - "912E011DD10A4399C8DE2D9D88F81B6168B05D282B9DAC1E" + - "65E0A45F61043E1FA047870DD582295E6C50DD1185B13594 " - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F") - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(256), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "CC7035C73040" + - "5CF5DF7137ED9E10744B75B540AFFC68EB564B71C0F737E8" + - "F656B6171940497FA90D8F383EFB6FC6717BA14AAA164EF5" + - "6641C0F513312551DCD21D0A5B0DBDCD97F627E968DFD752" + - "56C11CF2BCCA5822EAACE796A34CB7D2F8CD8CC6DBE76274" + - "498289BBC4C2F1CADA6185D82605CF992EC285BC4945EE9E", - "0E6C329AD1BE" + - "681EB1E6F5E03A89E3D80153D6CCDD5A3ECF865003EE4A2D" + - "E5A23B7F43681361CFAFC3A3FEF17777E75CF9D6685573C8" + - "87A3962CB955076D45D6F1E45EE4B8CB31A4731CDA031FA2" + - "815B6D34E29F2603526CE186576F4CCA3FEDF7F8ACDB37C9" + - "9D762706ABE4967D44739C8CFCFCC76C58B1ED243AC394C0" - }), - // From http://csrc.nist.gov/groups/STM/cavp/documents/drbg/drbgtestvectors.zip - // modified to test partial block processing. - new DRBGTestVector( - new SHA256Digest(), - new TestEntropySourceProvider(Hex.decode("a826f1cd3fa24b9e71c316e5bf2bafff"), false).get(128), - false, - "82bc3bf050614b34", - 128, - new String[] - { - "14949b876e30f832331f59f2e687350bea9ba22b78549521a70748ca916c74ebff0b638266aa" + - "d81e089545eb60bfe332f7d134d91ed3c104f975fae0f71391add71e3380a725251ed5552a84" + - "650637eddfc88b5ab26311277cbc429aa152b2cfac61c67846512d7564114177a622f25e870a" + - "acec37c0977d", - "7050bf74a887809673ecd295071f7a457d1e2e227f68ef4b4445e34f3904b95d4833180ee522" + - "104bfc996234063e2c76173937b883c66b0e64a56643877228cad5212cddbf839270ef80889b" + - "c83424c141c2419f2231004c8860f8fd95435e2c9f8ac7409fcbfb6a74851fadc7d99bf5d68b" + - "591892f0e3a1" - }), - new DRBGTestVector( - new SHA256Digest(), - new TestEntropySourceProvider(Hex.decode("a826f1cd3fa24b9e71c316e5bf2bafff"), false).get(128), - false, - "82bc3bf050614b34", - 128, - new String[] - { - "14949b876e30f832331f59f2e687350bea9ba22b78549521a70748ca916c74ebff0b638266aa" + - "d81e089545eb60bfe332f7d134d91ed3c104f975fae0f71391add71e3380a725251ed5552a84" + - "650637eddfc88b5ab26311277cbc429aa152b2cfac61c67846512d7564114177a622f25e870a" + - "acec37c0977d", - "7050bf74a887809673ecd295071f7a457d1e2e227f68ef4b4445e34f3904b95d4833180ee522" + - "104bfc996234063e2c76173937b883c66b0e64a56643877228cad5212cddbf839270ef80889b" + - "c83424c141c2419f2231004c8860f8fd95435e2c9f8ac7409fcbfb6a74851fadc7d99bf5d68b" + - "591892f0e3" - }) - }; - } - - public void performTest() - throws Exception - { - DRBGTestVector[] tests = createTestVectorData(); - - for (int i = 0; i != tests.length; i++) - { - DRBGTestVector tv = tests[i]; - - byte[] nonce = tv.nonce(); - byte[] personalisationString = tv.personalizationString(); - - SP80090DRBG d = new DualECSP800DRBG(tv.getDigest(), tv.securityStrength(), tv.entropySource(), personalisationString, nonce); - - byte[] output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(0), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".1 failed, expected " + new String(Hex.encode(tv.expectedValue(0))) + " got " + new String(Hex.encode(output))); - } - - output = new byte[tv.expectedValue(1).length]; - - d.generate(output, tv.additionalInput(1), tv.predictionResistance()); - - expected = tv.expectedValue(1); - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".2 failed, expected " + new String(Hex.encode(tv.expectedValue(1))) + " got " + new String(Hex.encode(output))); - } - } - - // Exception tests - // - SP80090DRBG d; - - try - { - d = new DualECSP800DRBG(new SHA256Digest(), 256, new SHA256EntropyProvider().get(128), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("EntropySource must provide between 256 and 4096 bits")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new DualECSP800DRBG(new SHA256Digest(), 256, new SHA256EntropyProvider().get(1 << (13 - 1) + 1), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("EntropySource must provide between 256 and 4096 bits")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new DualECSP800DRBG(new SHA1Digest(), 256, new SHA256EntropyProvider().get(256), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Requested security strength is not supported by digest")) - { - fail("Wrong exception", e); - } - } - } - - private class SHA256EntropyProvider - extends TestEntropySourceProvider - { - SHA256EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F " + - "808182838485868788898A8B8C8D8E8F" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF"), true); - } - } - - private class SHA384EntropyProvider - extends TestEntropySourceProvider - { - SHA384EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F1011121314151617" + - "808182838485868788898A8B8C8D8E8F9091929394959697" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7"), true); - } - } - - private class SHA512EntropyProvider - extends TestEntropySourceProvider - { - SHA512EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F" + - "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF"), true); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/FixedSecureRandomTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/FixedSecureRandomTest.java deleted file mode 100644 index b10ad367f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/FixedSecureRandomTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.prng.FixedSecureRandom; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class FixedSecureRandomTest - extends SimpleTest -{ - byte[] base = Hex.decode("deadbeefdeadbeef"); - byte[] r1 = Hex.decode("cafebabecafebabe"); - byte[] r2 = Hex.decode("ffffffffcafebabedeadbeef"); - - public String getName() - { - return "FixedSecureRandom"; - } - - public void performTest() - throws Exception - { - FixedSecureRandom fixed = new FixedSecureRandom(base); - byte[] buf = new byte[8]; - - fixed.nextBytes(buf); - - if (!Arrays.areEqual(buf, base)) - { - fail("wrong data returned"); - } - - fixed = new FixedSecureRandom(base); - - byte[] seed = fixed.generateSeed(8); - - if (!Arrays.areEqual(seed, base)) - { - fail("wrong seed data returned"); - } - - if (!fixed.isExhausted()) - { - fail("not exhausted"); - } - - fixed = new FixedSecureRandom(new byte[][] { r1, r2 }); - - seed = fixed.generateSeed(12); - - if (!Arrays.areEqual(seed, Hex.decode("cafebabecafebabeffffffff"))) - { - fail("wrong seed data returned - composite"); - } - - fixed.nextBytes(buf); - - if (!Arrays.areEqual(buf, Hex.decode("cafebabedeadbeef"))) - { - fail("wrong data returned"); - } - } - - public static void main(String[] args) - { - runTest(new FixedSecureRandomTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HMacDRBGTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HMacDRBGTest.java deleted file mode 100644 index cfbd386d6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HMacDRBGTest.java +++ /dev/null @@ -1,508 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.prng.drbg.HMacSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * HMAC SP800-90 DRBG - */ -public class HMacDRBGTest - extends SimpleTest -{ - public String getName() - { - return "HMacDRBG"; - } - - public static void main(String[] args) - { - runTest(new HMacDRBGTest()); - } - - private DRBGTestVector[] createTestVectorData() - { - return new DRBGTestVector[] - { - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "5A7D3B449F481CB38DF79AD2B1FCC01E57F8135E8C0B22CD0630BFB0127FB5408C8EFC17A929896E", - "82cf772ec3e84b00fc74f5df104efbfb2428554e9ce367d03aeade37827fa8e9cb6a08196115d948" - }), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "B3BD05246CBA12A64735A4E3FDE599BC1BE30F439BD060208EEA7D71F9D123DF47B3CE069D98EDE6", - "B5DADA380E2872DF935BCA55B882C8C9376902AB639765472B71ACEBE2EA8B1B6B49629CB67317E0" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "C7AAAC583C6EF6300714C2CC5D06C148CFFB40449AD0BB26FAC0497B5C57E161E36681BCC930CE80", - "6EBD2B7B5E0A2AD7A24B1BF9A1DBA47D43271719B9C37B7FE81BA94045A14A7CB514B446666EA5A7" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "FEC4597F06A3A8CC8529D59557B9E661053809C0BC0EFC282ABD87605CC90CBA9B8633DCB1DAE02E", - "84ADD5E2D2041C01723A4DE4335B13EFDF16B0E51A0AD39BD15E862E644F31E4A2D7D843E57C5968" - }), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "6C37FDD729AA40F80BC6AB08CA7CC649794F6998B57081E4220F22C5C283E2C91B8E305AB869C625", - "CAF57DCFEA393B9236BF691FA456FEA7FDF1DF8361482CA54D5FA723F4C88B4FA504BF03277FA783" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "A1BA8FA58BB5013F43F7B6ED52B4539FA16DC77957AEE815B9C07004C7E992EB8C7E591964AFEEA2", - "84264A73A818C95C2F424B37D3CC990B046FB50C2DC64A164211889A010F2471A0912FFEA1BF0195" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6"), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(440), - false, - "2021222324252627", - 128, - new String[] - { - "D67B8C1734F46FA3F763CF57C6F9F4F2" + - "DC1089BD8BC1F6F023950BFC5617635208C8501238AD7A44" + - "00DEFEE46C640B61AF77C2D1A3BFAA90EDE5D207406E5403", - "8FDAEC20F8B421407059E3588920DA7E" + - "DA9DCE3CF8274DFA1C59C108C1D0AA9B0FA38DA5C792037C" + - "4D33CD070CA7CD0C5608DBA8B885654639DE2187B74CB263" - }), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(440), - true, - "2021222324252627", - 128, - new String[] - { - "FABD0AE25C69DC2EFDEFB7F20C5A31B5" + - "7AC938AB771AA19BF8F5F1468F665C938C9A1A5DF0628A56" + - "90F15A1AD8A613F31BBD65EEAD5457D5D26947F29FE91AA7", - "6BD925B0E1C232EFD67CCD84F722E927" + - "ECB46AB2B740014777AF14BA0BBF53A45BDBB62B3F7D0B9C" + - "8EEAD057C0EC754EF8B53E60A1F434F05946A8B686AFBC7A" - }), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(888), - false, - "202122232425262728292A2B", - 192, - new String[]{ - "03AB8BCE4D1DBBB636C5C5B7E1C58499FEB1C619CDD11D35" + - "CD6CF6BB8F20EF27B6F5F9054FF900DB9EBF7BF30ED4DCBB" + - "BC8D5B51C965EA226FFEE2CA5AB2EFD00754DC32F357BF7A" + - "E42275E0F7704DC44E50A5220AD05AB698A22640AC634829", - "B907E77144FD55A54E9BA1A6A0EED0AAC780020C41A15DD8" + - "9A6C163830BA1D094E6A17100FF71EE30A96E1EE04D2A966" + - "03832A4E404F1966C2B5F4CB61B9927E8D12AC1E1A24CF23" + - "88C14E8EC96C35181EAEE32AAA46330DEAAFE5E7CE783C74"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(888), - true, - "202122232425262728292A2B", - 192, - new String[]{ - "804A3AD720F4FCE8738D0632514FEF16430CB7D63A8DF1A5" + - "F02A3CE3BD7ED6A668B69E63E2BB93F096EE753D6194A0F1" + - "A32711063653009636337D22167CC4402D019AC216FA574F" + - "091CF6EA283568D737A77BE38E8F09382C69E76B142ABC3A", - "73B8E55C753202176A17B9B9754A9FE6F23B01861FCD4059" + - "6AEAA301AF1AEF8AF0EAF22FBF34541EFFAB1431666ACACC" + - "759338C7E28672819D53CFEF10A3E19DAFBD53295F1980A9" + - "F491504A2725506784B7AC826D92C838A8668171CAAA86E7"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - false, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "2A5FF6520C20F66E" + - "D5EA431BD4AEAC58F975EEC9A015137D5C94B73AA09CB8B5" + - "9D611DDEECEB34A52BB999424009EB9EAC5353F92A6699D2" + - "0A02164EEBBC6492941E10426323898465DFD731C7E04730" + - "60A5AA8973841FDF3446FB6E72A58DA8BDA2A57A36F3DD98" + - "6DF85C8A5C6FF31CDE660BF8A841B21DD6AA9D3AC356B87B", - "0EDC8D7D7CEEC7FE" + - "36333FB30C0A9A4B27AA0BECBF075568B006C1C3693B1C29" + - "0F84769C213F98EB5880909EDF068FDA6BFC43503987BBBD" + - "4FC23AFBE982FE4B4B007910CC4874EEC217405421C8D8A1" + - "BA87EC684D0AF9A6101D9DB787AE82C3A6A25ED478DF1B12" + - "212CEC325466F3AC7C48A56166DD0B119C8673A1A9D54F67"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "AAE4DC3C9ECC74D9" + - "061DD527117EF3D29E1E52B26853C539D6CA797E8DA3D0BB" + - "171D8E30B8B194D8C28F7F6BE3B986B88506DC6A01B294A7" + - "165DD1C3470F7BE7B396AA0DB7D50C4051E7C7E1C8A7D21A" + - "2B5878C0BCB163CAA79366E7A1162FDC88429616CD3E6977" + - "8D327520A6BBBF71D8AA2E03EC4A9DAA0E77CF93E1EE30D2 ", - "129FF6D31A23FFBC" + - "870632B35EE477C2280DDD2ECDABEDB900C78418BE2D243B" + - "B9D8E5093ECE7B6BF48638D8F704D134ADDEB7F4E9D5C142" + - "CD05683E72B516486AF24AEC15D61E81E270DD4EBED91B62" + - "12EB8896A6250D5C8BC3A4A12F7E3068FBDF856F47EB23D3" + - "79F82C1EBCD1585FB260B9C0C42625FBCEE68CAD773CD5B1"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - false, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "7AE31A2DEC31075F" + - "E5972660C16D22ECC0D415C5693001BE5A468B590BC1AE2C" + - "43F647F8D681AEEA0D87B79B0B4E5D089CA2C9D327534234" + - "0254E6B04690D77A71A294DA9568479EEF8BB2A2110F18B6" + - "22F60F35235DE0E8F9D7E98105D84AA24AF0757AF005DFD5" + - "2FA51DE3F44FCE0C5F3A27FCE8B0F6E4A3F7C7B53CE34A3D", - "D83A8084630F286D" + - "A4DB49B9F6F608C8993F7F1397EA0D6F4A72CF3EF2733A11" + - "AB823C29F2EBDEC3EDE962F93D920A1DB59C84E1E879C29F" + - "5F9995FC3A6A3AF9B587CA7C13EA197D423E81E1D6469942" + - "B6E2CA83A97E91F6B298266AC148A1809776C26AF5E239A5" + - "5A2BEB9E752203A694E1F3FE2B3E6A0C9C314421CDB55FBD "}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE") - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "28FD6060C4F35F4D" + - "317AB2060EE32019E0DAA330F3F5650BBCA57CB67EE6AF1C" + - "6F25D1B01F3601EDA85DC2ED29A9B2BA4C85CF491CE7185F" + - "1A2BD9378AE3C655BD1CEC2EE108AE7FC382989F6D4FEA8A" + - "B01499697C2F07945CE02C5ED617D04287FEAF3BA638A4CE" + - "F3BB6B827E40AF16279580FCF1FDAD830930F7FDE341E2AF", - "C0B1601AFE39338B" + - "58DC2BE7C256AEBE3C21C5A939BEEC7E97B3528AC420F0C6" + - "341847187666E0FF578A8EB0A37809F877365A28DF2FA0F0" + - "6354A6F02496747369375B9A9D6B756FDC4A8FB308E08256" + - "9D79A85BB960F747256626389A3B45B0ABE7ECBC39D5CD7B" + - "2C18DF2E5FDE8C9B8D43474C54B6F9839468445929B438C7"}), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "72691D2103FB567C" + - "CD30370715B36666F63430087B1C688281CA0974DB456BDB" + - "A7EB5C48CFF62EA05F9508F3B530CE995A272B11EC079C13" + - "923EEF8E011A93C19B58CC6716BC7CB8BD886CAA60C14D85" + - "C023348BD77738C475D6C7E1D9BFF4B12C43D8CC73F838DC" + - "4F8BD476CF8328EEB71B3D873D6B7B859C9B21065638FF95", - "8570DA3D47E1E160" + - "5CF3E44B8D328B995EFC64107B6292D1B1036B5F88CE3160" + - "2F12BEB71D801C0942E7C0864B3DB67A9356DB203490D881" + - "24FE86BCE38AC2269B4FDA6ABAA884039DF80A0336A24D79" + - "1EB3067C8F5F0CF0F18DD73B66A7B316FB19E02835CC6293" + - "65FCD1D3BE640178ED9093B91B36E1D68135F2785BFF505C"}) - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "AAE4DC3C9ECC74D9" + - "061DD527117EF3D29E1E52B26853C539D6CA797E8DA3D0BB" + - "171D8E30B8B194D8C28F7F6BE3B986B88506DC6A01B294A7" + - "165DD1C3470F7BE7B396AA0DB7D50C4051E7C7E1C8A7D21A" + - "2B5878C0BCB163CAA79366E7A1162FDC88429616CD3E6977" + - "8D327520A6BBBF71D8AA2E03EC4A9DAA0E77CF93E1EE30D2 ", - "129FF6D31A23FFBC" + - "870632B35EE477C2280DDD2ECDABEDB900C78418BE2D243B" + - "B9D8E5093ECE7B6BF48638D8F704D134ADDEB7F4E9D5C142" + - "CD05683E72B516486AF24AEC15D61E81E270DD4EBED91B62" + - "12EB8896A6250D5C8BC3A4A12F7E3068FBDF856F47EB23D3" + - "79F82C1EBCD1585FB260B9C0C42625FBCEE68CAD773CD5B1"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[]{ - "B8E827652175E6E0" + - "6E513C7BE94B5810C14ED94AD903647940CAEB7EE014C848" + - "8DCBBE6D4D6616D06656A3DC707CDAC4F02EE6D8408C065F" + - "CB068C0760DA47C5D60E5D70D09DC3929B6979615D117F7B" + - "EDCC661A98514B3A1F55B2CBABDCA59F11823E4838065F1F" + - "8431CBF28A577738234AF3F188C7190CC19739E72E9BBFFF", - "7ED41B9CFDC8C256" + - "83BBB4C553CC2DC61F690E62ABC9F038A16B8C519690CABE" + - "BD1B5C196C57CF759BB9871BE0C163A57315EA96F615136D" + - "064572F09F26D659D24211F9610FFCDFFDA8CE23FFA96735" + - "7595182660877766035EED800B05364CE324A75EB63FD9B3" + - "EED956D147480B1D0A42DF8AA990BB628666F6F61D60CBE2"}) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE") - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E") - }; - } - - public void performTest() - throws Exception - { - DRBGTestVector[] tests = createTestVectorData(); - - for (int i = 0; i != tests.length; i++) - { - DRBGTestVector tv = tests[i]; - - byte[] nonce = tv.nonce(); - byte[] personalisationString = tv.personalizationString(); - - SP80090DRBG d = new HMacSP800DRBG(new HMac(tv.getDigest()), tv.securityStrength(), tv.entropySource(), personalisationString, nonce); - - byte[] output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(0), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".1 failed, expected " + new String(Hex.encode(tv.expectedValue(0))) + " got " + new String(Hex.encode(output))); - } - - output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(1), tv.predictionResistance()); - - expected = tv.expectedValue(1); - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".2 failed, expected " + new String(Hex.encode(tv.expectedValue(1))) + " got " + new String(Hex.encode(output))); - } - } - - // Exception tests - // - SP80090DRBG d; - try - { - d = new HMacSP800DRBG(new HMac(new SHA256Digest()), 256, new SHA256EntropyProvider().get(128), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Not enough entropy for security strength required")) - { - fail("Wrong exception", e); - } - } - } - - private class SHA1EntropyProvider - extends TestEntropySourceProvider - { - SHA1EntropyProvider() - { - super( - Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536" - + "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" - + "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6"), true); - } - } - - private class SHA256EntropyProvider - extends TestEntropySourceProvider - { - SHA256EntropyProvider() - { - super(Hex.decode( - "00010203040506" + - "0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E" + - "1F202122232425262728292A2B2C2D2E2F30313233343536" + - "80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "C0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6"), true); - } - } - - private class SHA384EntropyProvider - extends TestEntropySourceProvider - { - SHA384EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526" - + "2728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556" - + "5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E" + - "808182838485868788898A8B8C8D8E" + - "8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6" + - "A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE" + - "BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6" + - "D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCE" + - "CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6" + - "E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE" + - "FF000102030405060708090A0B0C0D0E0F10111213141516" + - "1718191A1B1C1D1E1F202122232425262728292A2B2C2D2E"), true); - } - } - - private class SHA512EntropyProvider - extends TestEntropySourceProvider - { - SHA512EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E" + - "0F101112131415161718191A1B1C1D1E1F20212223242526" + - "2728292A2B2C2D2E2F303132333435363738393A3B3C3D3E" + - "3F404142434445464748494A4B4C4D4E4F50515253545556" + - "5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E" + - "808182838485868788898A8B8C8D8E" + - "8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6" + - "A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE" + - "BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6" + - "D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCE" + - "CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6" + - "E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE" + - "FF000102030405060708090A0B0C0D0E0F10111213141516" + - "1718191A1B1C1D1E1F202122232425262728292A2B2C2D2E"), true); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HashDRBGTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HashDRBGTest.java deleted file mode 100644 index 294ae72c9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/HashDRBGTest.java +++ /dev/null @@ -1,481 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.prng.drbg.HashSP800DRBG; -import org.spongycastle.crypto.prng.drbg.SP80090DRBG; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * DRBG Test - */ -public class HashDRBGTest - extends SimpleTest -{ - public String getName() - { - return "HashDRBG"; - } - - public static void main(String[] args) - { - runTest(new HashDRBGTest()); - } - - private DRBGTestVector[] createTestVectorData() - { - return new DRBGTestVector[] - { - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "9F7CFF1ECA23E750F66326969F11800F12088BA68E441D15D888B3FE12BF66FE057494F4546DE2F1", - "B77AA5C0CD55BBCEED7574AF223AFD988C7EEC8EFF4A94E5E89D26A04F58FA79F5E0D3702D7A9A6A" - } - ), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "AB438BD3B01A0AF85CFEE29F7D7B71621C4908B909124D430E7B406FB1086EA994C582E0D656D989", - "29D9098F987E7005314A0F51B3DD2B8122F4AED706735DE6AD5DDBF223177C1E5F3AEBC52FAB90B9" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "E76B4EDD5C865BC8AFD809A59B69B429AC7F4352A579BCF3F75E56249A3491F87C3CA6848B0FAB25", - "6577B6B4F87A93240B199FE51A3B335313683103DECE171E3256FB7E803586CA4E45DD242EB01F70" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "56EF4913373994D5539F4D7D17AFE7448CDF5E72416CC6A71A340059FA0D5AE526B23250C46C0944", - "575B37A2739814F966C63B60A2C4F149CA9ACC84FC4B25493289B085C67B2E30F5F0B99A2C349E2A" - }), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "532CA1165DCFF21C55592687639884AF4BC4B057DF8F41DE653AB44E2ADEC7C9303E75ABE277EDBF", - "73C2C67C696D686D0C4DBCEB5C2AF7DDF6F020B6874FAE4390F102117ECAAFF54418529A367005A0" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"), - new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "183C242A1430E46C4ED70B4DBE1BF9AB0AB8721CDCA2A2D1820AD6F6C956858543B2AA191D8D1287", - "F196F9BD021C745CBD5AC7BFCE48EAAF0D0E7C091FBF436940E63A198EE770D9A4F0718669AF2BC9" - }) - .addAdditionalInput("606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596") - .addAdditionalInput("A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6"), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(440), - false, - "2021222324252627", - 128, - new String[] - { - "77E05A0E7DC78AB5D8934D5E93E82C06" + - "A07C04CEE6C9C53045EEB485872777CF3B3E35C474F976B8" + - "94BF301A86FA651F463970E89D4A0534B2ECAD29EC044E7E", - "5FF4BA493C40CFFF3B01E472C575668C" + - "CE3880B9290B05BFEDE5EC96ED5E9B2898508B09BC800EEE" + - "099A3C90602ABD4B1D4F343D497C6055C87BB956D53BF351" - } - ), - new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(440), - true, - "2021222324252627", - 128, - new String[] - { - "92275523C70E567BCF9B35EC50B933F8" + - "12616DF586B7F72EE1BC7735A5C2654373CBBC72316DFF84" + - "20A33BF02B97AC8D1952583F270ACD7005CC027F4CF1187E", - "681A46B2AA8694A0FE4DEEA720927A84" + - "EAAA985E59C19F8BE0984D8CBEF8C69B754167641946E040" + - "EE2043E1CCB29DCF063C0A50830E428E6DCA262ECD77C542" - }), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(888), - false, - "202122232425262728292A2B", - 192, - new String[] - { - "04FF23AD15E78790ADD36B438BBC097C7A11747CC2CCEEDE" + - "2C978B23B3DC63B732C953061D7764990ABFEFC47A581B92" + - "1BC0428C4F12212460E406A0F0651E7F0CB9A90ABFDB07B5" + - "25565C74F0AA085082F6CF213AAFAD0C0646895078F1E1FE", - "4F35B85F95DEE3E873054905CFD02341653E18F529930CBE" + - "14D909F37FEAF2C790D22FAE7516B4590BE35D53E2FE1A35" + - "AFE4B6607CB358589C3B4D094A1D81FE0717F1DF5BDDEB3E" + - "114F130BB781E66C22B5B770E8AE115FF39F8ADAF66DEEDF" - } - ), - new DRBGTestVector( - new SHA384Digest(), - new SHA384EntropyProvider().get(888), - true, - "202122232425262728292A2B", - 192, - new String[] - { - "97993B78F7C31C0E876DC92EB7D6C408E09D608AD6B99D0E" + - "A2229B05A578C426334FCC8A1C7E676ED2D89A5B4CDF5B3F" + - "4ADF11936BF14F4E10909DBA9C24F4FDFFDE72351DA8E2CC" + - "3B135A395373899E5F1A5955B880CA9B9E9DD4C9CA7FA4D4", - "F5983946320E36C64EF283CA1F65D197CF81624EC6778E77" + - "0E78949D84EF21A45CDD62D1DB76920D4C2836FC6AE5299F" + - "AF1357D9701FAD10FBD88D1E2832239436D76EB271BDC3CA" + - "04425EC88BC0E89A4D5C37FFCE7C6C3ABDE9C413AE6D3FEA" - } - ), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - false, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "DA126CF95C6BF97E" + - "2F731F2137A907ACC70FD7AC9EBACD1C6E31C74029B052E3" + - "AABC48F3B00993F2B2381F7650A55322A968C86E05DE88E6" + - "367F6EF89A601DB4342E9086C7AC13B5E56C32E9E668040B" + - "73847893C5BFD38A1CF44F348B4EEE4CD68ADB7E7B8C837F" + - "19BC4F902761F7CFF24AB1D704FD11C4E929D8553753B55D", - "400B977CE8A2BB6A" + - "84C6FD1CF901459685ABF5408CFF4588CEDF52E2D2DC300A" + - "A9B4FAED8CD0161C2172B1FD269253195883D6EBF21020F2" + - "C20E5F2C81AE60C8595B834A229B1F5B726C1125717E6207" + - "8886EF38E61E32707AD5F8116C6393DFB6E7C7AE0E8E92BB" + - "D7E0C3D04BBA02F5169F2F569A58158915FEE4C9D28D45DB" - } - ) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE") - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "F93CA6855590A77F" + - "07354097E90E026648B6115DF008FFEDBD9D9811F54E8286" + - "EF00FDD6BA1E58DF2535E3FBDD9A9BA3754A97F36EE83322" + - "1582060A1F37FCE4EE8826636B28EAD589593F4CA8B64738" + - "8F24EB3F0A34796968D21BDEE6F81FD5DF93536F935937B8" + - "025EC8CBF57DDB0C61F2E41463CC1516D657DA2829C6BF90", - "4817618F48C60FB1" + - "CE5BFBDA0CAF4591882A31F6EE3FE0F78779992A06EC60F3" + - "7FB9A8D6108C231F0A927754B0599FA4FA27A4E25E065EF0" + - "3085B892979DC0E7A1080883CAEBFDFD3665A8F2D061C521" + - "F7D6E3DA2AF8B97B6B43B6EC831AF515070A83BBB9AC95ED" + - "4EF49B756A2377A5F0833D847E27A88DDB0C2CE4AD782E7B " - } - ), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "0455DD4AD7DBACB2" + - "410BE58DF7248D765A4547ABAEE1743B0BCAD37EBD06DA7C" + - "F7CE5E2216E525327E9E2005EBEF2CE53BD733B18128627D" + - "3FD6153089373AF2606A1584646A0EA488BFEF45228699A0" + - "89CEA8AEC44502D86D9591F3552C688B7F7B45FCB0C3C2B9" + - "43C1CD8A6FC63DF4D81C3DA543C9CF2843855EA84E4F959C", - "C047D46D7F614E4E" + - "4A7952C79A451F8F7ACA379967E2977C401C626A2ED70D74" + - "A63660579A354115BC8C8C8CC3AEA3050686A0CFCDB6FA9C" + - "F78D4C2165BAF851C6F9B1CD16A2E14C15C6DAAC56C16E75" + - "FC84A14D58B41622E88B0F1B1995587FD8BAA999CBA98025" + - "4C8AB9A9691DF7B84D88B639A9A3106DEABEB63748B99C09" - } - ) - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "22EB93A67911DA73" + - "85D9180C78127DE1A04FF713114C07C9C615F7CC5EF72744" + - "A2DDCD7C3CB85E65DED8EF5F240FBDCBEBBDE2BAAC8ECF7D" + - "CBC8AC333E54607AD41DC495D83DF72A05EF55B127C1441C" + - "9A0EFFDA2C7954DB6C2D04342EB812E5E0B11D6C395F41ED" + - "A2702ECE5BA479E2DFA18F953097492636C12FE30CE5C968", - "E66698CFBF1B3F2E" + - "919C03036E584EAA81CF1C6666240AF05F70637043733954" + - "D8A1E5A66A04C53C6900FDC145D4A3A80A31F5868ACE9AC9" + - "4E14E2051F624A05EEA1F8B684AA5410BCE315E76EA07C71" + - "5D6F34731320FF0DCF78D795E6EFA2DF92B98BE636CDFBA2" + - "9008DD392112AEC202F2E481CB9D83F987FEA69CD1B368BB" - } - ) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE"), - new DRBGTestVector( - new SHA512Digest(), - new SHA512EntropyProvider().get(888), - true, - "202122232425262728292A2B2C2D2E2F", - 256, - new String[] - { - "7596A76372308BD5" + - "A5613439934678B35521A94D81ABFE63A21ACF61ABB88B61" + - "E86A12C37F308F2BBBE32BE4B38D03AE808386494D70EF52" + - "E9E1365DD18B7784CAB826F31D47579E4D57F69D8BF3152B" + - "95741946CEBE58571DF58ED39980D9AF44E69F01E8989759" + - "8E40171101A0E3302838E0AD9E849C01988993CF9F6E5263", - "DBE5EE36FCD85301" + - "303E1C3617C1AC5E23C08885D0BEFAAD0C85A0D89F85B9F1" + - "6ECE3D88A24EB96504F2F13EFA7049621782F5DE2C416A0D" + - "294CCFE53545C4E309C48E1E285A2B829A574B72B3C2FBE1" + - "34D01E3706B486F2401B9820E17298A342666918E15B8462" + - "87F8C5AF2D96B20FAF3D0BB392E15F4A06CDB0DECD1B6AD7" - } - ) - .setPersonalizationString( - "404142434445464748494A4B4C4D4E" + - "4F505152535455565758595A5B5C5D5E5F60616263646566" + - "6768696A6B6C6D6E6F707172737475767778797A7B7C7D7E" + - "7F808182838485868788898A8B8C8D8E8F90919293949596" + - "9798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE") - .addAdditionalInput( - "606162636465666768696A6B6C6D6E" + - "6F707172737475767778797A7B7C7D7E7F80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE") - .addAdditionalInput( - "A0A1A2A3A4A5A6A7A8A9AAABACADAE" + - "AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6" + - "F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E") - }; - } - - public void performTest() - throws Exception - { - DRBGTestVector[] tests = createTestVectorData(); - - for (int i = 0; i != tests.length; i++) - { - DRBGTestVector tv = tests[i]; - - byte[] nonce = tv.nonce(); - byte[] personalisationString = tv.personalizationString(); - - SP80090DRBG d = new HashSP800DRBG(tv.getDigest(), tv.securityStrength(), tv.entropySource(), personalisationString, nonce); - - byte[] output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(0), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".1 failed, expected " + new String(Hex.encode(tv.expectedValue(0))) + " got " + new String(Hex.encode(output))); - } - - output = new byte[tv.expectedValue(0).length]; - - d.generate(output, tv.additionalInput(1), tv.predictionResistance()); - - expected = tv.expectedValue(1); - if (!areEqual(expected, output)) - { - fail("Test #" + (i + 1) + ".2 failed, expected " + new String(Hex.encode(tv.expectedValue(1))) + " got " + new String(Hex.encode(output))); - } - } - - // Exception tests - // - SP80090DRBG d; - try - { - d = new HashSP800DRBG(new SHA256Digest(), 256, new SHA256EntropyProvider().get(128), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Not enough entropy for security strength required")) - { - fail("Wrong exception", e); - } - } - - try - { - d = new HashSP800DRBG(new SHA1Digest(), 256, new SHA256EntropyProvider().get(256), null, null); - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("Requested security strength is not supported by the derivation function")) - { - fail("Wrong exception", e); - } - } - } - - private class SHA1EntropyProvider - extends TestEntropySourceProvider - { - SHA1EntropyProvider() - { - super( - Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536" - + "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" - + "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6"), true); - } - } - - private class SHA256EntropyProvider - extends TestEntropySourceProvider - { - SHA256EntropyProvider() - { - super(Hex.decode( - "00010203040506" + - "0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E" + - "1F202122232425262728292A2B2C2D2E2F30313233343536" + - "80818283848586" + - "8788898A8B8C8D8E8F909192939495969798999A9B9C9D9E" + - "9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" + - "C0C1C2C3C4C5C6" + - "C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE" + - "DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6"), true); - } - } - - private class SHA384EntropyProvider - extends TestEntropySourceProvider - { - SHA384EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526" - + "2728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556" - + "5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E" + - "808182838485868788898A8B8C8D8E" + - "8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6" + - "A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE" + - "BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6" + - "D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCE" + - "CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6" + - "E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE" + - "FF000102030405060708090A0B0C0D0E0F10111213141516" + - "1718191A1B1C1D1E1F202122232425262728292A2B2C2D2E"), true); - } - } - - private class SHA512EntropyProvider - extends TestEntropySourceProvider - { - SHA512EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E" + - "0F101112131415161718191A1B1C1D1E1F20212223242526" + - "2728292A2B2C2D2E2F303132333435363738393A3B3C3D3E" + - "3F404142434445464748494A4B4C4D4E4F50515253545556" + - "5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E" + - "808182838485868788898A8B8C8D8E" + - "8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6" + - "A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE" + - "BFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6" + - "D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCE" + - "CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6" + - "E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE" + - "FF000102030405060708090A0B0C0D0E0F10111213141516" + - "1718191A1B1C1D1E1F202122232425262728292A2B2C2D2E"), true); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/RegressionTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/RegressionTest.java deleted file mode 100644 index 4c16e89de..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/RegressionTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new CTRDRBGTest(), - new DualECDRBGTest(), - new HashDRBGTest(), - new HMacDRBGTest(), - new SP800RandomTest(), - new FixedSecureRandomTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/SP800RandomTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/SP800RandomTest.java deleted file mode 100644 index ce37d5b65..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/SP800RandomTest.java +++ /dev/null @@ -1,319 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.prng.SP800SecureRandomBuilder; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class SP800RandomTest - extends SimpleTest -{ - - public String getName() - { - return "SP800RandomTest"; - } - - private void testHashRandom() - { - DRBGTestVector tv = new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "532CA1165DCFF21C55592687639884AF4BC4B057DF8F41DE653AB44E2ADEC7C9303E75ABE277EDBF", - "73C2C67C696D686D0C4DBCEB5C2AF7DDF6F020B6874FAE4390F102117ECAAFF54418529A367005A0" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"); - - doHashTest(0, tv); - - tv = new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "AB438BD3B01A0AF85CFEE29F7D7B71621C4908B909124D430E7B406FB1086EA994C582E0D656D989", - "29D9098F987E7005314A0F51B3DD2B8122F4AED706735DE6AD5DDBF223177C1E5F3AEBC52FAB90B9" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"); - - doHashTest(1, tv); - } - - private void doHashTest(int index, DRBGTestVector tv) - { - SP800SecureRandomBuilder rBuild = new SP800SecureRandomBuilder(new SHA1EntropyProvider()); - - rBuild.setPersonalizationString(tv.personalizationString()); - rBuild.setSecurityStrength(tv.securityStrength()); - rBuild.setEntropyBitsRequired(tv.entropySource().getEntropy().length * 8); - - SecureRandom random = rBuild.buildHash(tv.getDigest(), tv.nonce(), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - byte[] produced = new byte[expected.length]; - - random.nextBytes(produced); - - if (!Arrays.areEqual(expected, produced)) - { - fail(index + " SP800 Hash SecureRandom produced incorrect result (1)"); - } - - random.nextBytes(produced); - expected = tv.expectedValue(1); - - if (!Arrays.areEqual(expected, produced)) - { - fail(index + " SP800 Hash SecureRandom produced incorrect result (2)"); - } - } - - private void testHMACRandom() - { - DRBGTestVector tv = new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - true, - "2021222324", - 80, - new String[] - { - "6C37FDD729AA40F80BC6AB08CA7CC649794F6998B57081E4220F22C5C283E2C91B8E305AB869C625", - "CAF57DCFEA393B9236BF691FA456FEA7FDF1DF8361482CA54D5FA723F4C88B4FA504BF03277FA783" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576"); - - doHMACTest(tv); - - tv = new DRBGTestVector( - new SHA1Digest(), - new SHA1EntropyProvider().get(440), - false, - "2021222324", - 80, - new String[] - { - "5A7D3B449F481CB38DF79AD2B1FCC01E57F8135E8C0B22CD0630BFB0127FB5408C8EFC17A929896E", - "82cf772ec3e84b00fc74f5df104efbfb2428554e9ce367d03aeade37827fa8e9cb6a08196115d948" - }); - - doHMACTest(tv); - } - - private void doHMACTest(DRBGTestVector tv) - { - SP800SecureRandomBuilder rBuild = new SP800SecureRandomBuilder(new SHA1EntropyProvider()); - - rBuild.setPersonalizationString(tv.personalizationString()); - rBuild.setSecurityStrength(tv.securityStrength()); - rBuild.setEntropyBitsRequired(tv.entropySource().getEntropy().length * 8); - - SecureRandom random = rBuild.buildHMAC(new HMac(tv.getDigest()), tv.nonce(), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - byte[] produced = new byte[expected.length]; - - random.nextBytes(produced); - if (!Arrays.areEqual(expected, produced)) - { - fail("SP800 HMAC SecureRandom produced incorrect result (1)"); - } - - random.nextBytes(produced); - expected = tv.expectedValue(1); - - if (!Arrays.areEqual(expected, produced)) - { - fail("SP800 HMAC SecureRandom produced incorrect result (2)"); - } - } - - private void testDualECRandom() - { - DRBGTestVector tv = new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - false, - "2021222324252627", - 128, - new String[] - { - "3AB095CC493A8730D70DE923108B2E4710799044FFC27D0A1156250DDF97E8B05ACE055E49F3E3F5B928CCD18317A3E68FCB0B6F0459ADF9ECF79C87", - "7B902FC35B0AF50F57F8822936D08A96E41B16967C6B1AA0BC05032F0D53919DC587B664C883E2FE8F3948002FCD8BCBFC4706BCAA2075EF6BF41167" - }) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F"); - - doDualECTest(1, tv); - - tv = new DRBGTestVector( - new SHA256Digest(), - new SHA256EntropyProvider().get(128), - true, - "2021222324252627", - 128, - new String[] - { - "8C77288EDBEA9A742464F78D55E33593C1BF5F9D8CD8609D6D53BAC4E4B42252A227A99BAD0F2358B05955CD35723B549401C71C9C1F32F8A2018E24", - "56ECA61C64F69C1C232E992623C71418BD0B96D783118FAAD94A09E3A9DB74D15E805BA7F14625995CA77612B2EF7A05863699ECBABF70D3D422C014" - }); - - doDualECTest(2, tv); - } - - private void doDualECTest(int index, DRBGTestVector tv) - { - SP800SecureRandomBuilder rBuild = new SP800SecureRandomBuilder(new SHA256EntropyProvider()); - - rBuild.setPersonalizationString(tv.personalizationString()); - rBuild.setSecurityStrength(tv.securityStrength()); - rBuild.setEntropyBitsRequired(tv.securityStrength()); - - SecureRandom random = rBuild.buildDualEC(tv.getDigest(), tv.nonce(), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - byte[] produced = new byte[expected.length]; - - random.nextBytes(produced); - if (!Arrays.areEqual(expected, produced)) - { - fail(index + " SP800 Dual EC SecureRandom produced incorrect result (1)"); - } - - random.nextBytes(produced); - expected = tv.expectedValue(1); - - if (!Arrays.areEqual(expected, produced)) - { - fail(index + " SP800 Dual EC SecureRandom produced incorrect result (2)"); - } - } - - private void testCTRRandom() - { - DRBGTestVector tv = new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - false, - "20212223242526", - 112, - new String[] - { - "ABC88224514D0316EA3D48AEE3C9A2B4", - "D3D3F372E43E7ABDC4FA293743EED076" - } - ); - - doCTRTest(tv); - - tv = new DRBGTestVector( - new DESedeEngine(), 168, - new Bit232EntropyProvider().get(232), - true, - "20212223242526", - 112, - new String[] - { - "64983055D014550B39DE699E43130B64", - "035FDDA8582A2214EC722C410A8D95D3" - } - ) - .setPersonalizationString("404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C"); - - doCTRTest(tv); - } - - private void doCTRTest(DRBGTestVector tv) - { - SP800SecureRandomBuilder rBuild = new SP800SecureRandomBuilder(new Bit232EntropyProvider()); - - rBuild.setPersonalizationString(tv.personalizationString()); - rBuild.setSecurityStrength(tv.securityStrength()); - rBuild.setEntropyBitsRequired(tv.entropySource().getEntropy().length * 8); - - SecureRandom random = rBuild.buildCTR(tv.getCipher(), tv.keySizeInBits(), tv.nonce(), tv.predictionResistance()); - - byte[] expected = tv.expectedValue(0); - byte[] produced = new byte[expected.length]; - - random.nextBytes(produced); - if (!Arrays.areEqual(expected, produced)) - { - fail("SP800 CTR SecureRandom produced incorrect result (1)"); - } - - random.nextBytes(produced); - expected = tv.expectedValue(1); - - if (!Arrays.areEqual(expected, produced)) - { - fail("SP800 CTR SecureRandom produced incorrect result (2)"); - } - } - - public void performTest() - throws Exception - { - testHashRandom(); - testHMACRandom(); - testCTRRandom(); - testDualECRandom(); - } - - public static void main(String[] args) - { - runTest(new SP800RandomTest()); - } - - // for HMAC/Hash - private class SHA1EntropyProvider - extends TestEntropySourceProvider - { - SHA1EntropyProvider() - { - super( - Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536" - + "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6" - + "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6"), true); - } - } - - // for Dual EC - private class SHA256EntropyProvider - extends TestEntropySourceProvider - { - SHA256EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F " + - "808182838485868788898A8B8C8D8E8F" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF"), true); - } - } - - private class Bit232EntropyProvider - extends TestEntropySourceProvider - { - Bit232EntropyProvider() - { - super(Hex.decode( - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C" + - "808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C" + - "C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC"), true); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java deleted file mode 100644 index d630f4c97..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.spongycastle.crypto.prng.test; - -import org.spongycastle.crypto.prng.EntropySource; -import org.spongycastle.crypto.prng.EntropySourceProvider; - -public class TestEntropySourceProvider - implements EntropySourceProvider -{ - private final byte[] data; - private final boolean isPredictionResistant; - - protected TestEntropySourceProvider(byte[] data, boolean isPredictionResistant) - { - this.data = data; - this.isPredictionResistant = isPredictionResistant; - } - - public EntropySource get(final int bitsRequired) - { - return new EntropySource() - { - int index = 0; - - public boolean isPredictionResistant() - { - return isPredictionResistant; - } - - public byte[] getEntropy() - { - byte[] rv = new byte[bitsRequired / 8]; - - System.arraycopy(data, index, rv, 0, rv.length); - - index += bitsRequired / 8; - - return rv; - } - - public int entropySize() - { - return bitsRequired; - } - }; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AEADTestUtil.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AEADTestUtil.java deleted file mode 100644 index 2ef521434..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AEADTestUtil.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestFailedException; - -public class AEADTestUtil -{ - - public static void testTampering(Test test, AEADBlockCipher cipher, CipherParameters params) - throws InvalidCipherTextException - { - byte[] plaintext = new byte[1000]; - for (int i = 0; i < plaintext.length; i++) - { - plaintext[i] = (byte)i; - } - cipher.init(true, params); - - byte[] ciphertext = new byte[cipher.getOutputSize(plaintext.length)]; - int len = cipher.processBytes(plaintext, 0, plaintext.length, ciphertext, 0); - cipher.doFinal(ciphertext, len); - - int macLength = cipher.getMac().length; - - // Test tampering with a single byte - cipher.init(false, params); - byte[] tampered = new byte[ciphertext.length]; - byte[] output = new byte[plaintext.length]; - System.arraycopy(ciphertext, 0, tampered, 0, tampered.length); - tampered[0] += 1; - - cipher.processBytes(tampered, 0, tampered.length, output, 0); - try - { - cipher.doFinal(output, 0); - throw new TestFailedException( - new SimpleTestResult(false, test + " : tampering of ciphertext not detected.")); - } - catch (InvalidCipherTextException e) - { - // Expected - } - - // Test truncation of ciphertext to < tag length - cipher.init(false, params); - byte[] truncated = new byte[macLength - 1]; - System.arraycopy(ciphertext, 0, truncated, 0, truncated.length); - - cipher.processBytes(truncated, 0, truncated.length, output, 0); - try - { - cipher.doFinal(output, 0); - fail(test, "tampering of ciphertext not detected."); - } - catch (InvalidCipherTextException e) - { - // Expected - } - } - - private static void fail(Test test, String message) - { - throw new TestFailedException(SimpleTestResult.failed(test, message)); - } - - private static void fail(Test test, String message, String expected, String result) - { - throw new TestFailedException(SimpleTestResult.failed(test, message, expected, result)); - } - - public static void testReset(Test test, AEADBlockCipher cipher1, AEADBlockCipher cipher2, CipherParameters params) - throws InvalidCipherTextException - { - cipher1.init(true, params); - - byte[] plaintext = new byte[1000]; - byte[] ciphertext = new byte[cipher1.getOutputSize(plaintext.length)]; - - // Establish baseline answer - crypt(cipher1, plaintext, ciphertext); - - // Test encryption resets - checkReset(test, cipher1, params, true, plaintext, ciphertext); - - // Test decryption resets with fresh instance - cipher2.init(false, params); - checkReset(test, cipher2, params, false, ciphertext, plaintext); - } - - private static void checkReset(Test test, - AEADBlockCipher cipher, - CipherParameters params, - boolean encrypt, - byte[] pretext, - byte[] posttext) - throws InvalidCipherTextException - { - // Do initial run - byte[] output = new byte[posttext.length]; - crypt(cipher, pretext, output); - - // Check encrypt resets cipher - crypt(cipher, pretext, output); - if (!Arrays.areEqual(output, posttext)) - { - fail(test, (encrypt ? "Encrypt" : "Decrypt") + " did not reset cipher."); - } - - // Check init resets data - cipher.processBytes(pretext, 0, 100, output, 0); - cipher.init(encrypt, params); - - try - { - crypt(cipher, pretext, output); - } - catch (DataLengthException e) - { - fail(test, "Init did not reset data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test, "Init did not reset data.", new String(Hex.encode(posttext)), new String(Hex.encode(output))); - } - - // Check init resets AD - cipher.processAADBytes(pretext, 0, 100); - cipher.init(encrypt, params); - - try - { - crypt(cipher, pretext, output); - } - catch (DataLengthException e) - { - fail(test, "Init did not reset additional data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test, "Init did not reset additional data."); - } - - // Check reset resets data - cipher.processBytes(pretext, 0, 100, output, 0); - cipher.reset(); - - try - { - crypt(cipher, pretext, output); - } - catch (DataLengthException e) - { - fail(test, "Init did not reset data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test, "Reset did not reset data."); - } - - // Check reset resets AD - cipher.processAADBytes(pretext, 0, 100); - cipher.reset(); - - try - { - crypt(cipher, pretext, output); - } - catch (DataLengthException e) - { - fail(test, "Init did not reset data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test, "Reset did not reset additional data."); - } - } - - private static void crypt(AEADBlockCipher cipher, byte[] plaintext, byte[] output) - throws InvalidCipherTextException - { - int len = cipher.processBytes(plaintext, 0, plaintext.length, output, 0); - cipher.doFinal(output, len); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESFastTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESFastTest.java deleted file mode 100644 index 6892ed77f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESFastTest.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from the NIST standard tests and Brian Gladman's vector set - * - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - */ -public class AESFastTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new AESFastEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(1, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(2, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(3, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(4, new AESFastEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(5, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(6, new AESFastEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(7, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(8, new AESFastEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(9, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(10, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(11, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(12, new AESFastEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(13, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(14, new AESFastEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(15, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(16, new AESFastEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(17, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(18, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(19, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(20, new AESFastEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(21, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(22, new AESFastEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(23, 10000, new AESFastEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168") - }; - - private BlockCipher _engine = new AESFastEngine(); - - AESFastTest() - { - super(tests, new AESFastEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "AESFast"; - } - - public void performTest() - throws Exception - { - super.performTest(); - - byte[] keyBytes = new byte[16]; - - _engine.init(true, new KeyParameter(keyBytes)); - - // - // init tests - // - try - { - byte[] dudKey = new byte[6]; - - _engine.init(true, new KeyParameter(dudKey)); - - fail("failed key length check"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - byte[] iv = new byte[16]; - - _engine.init(true, new ParametersWithIV(null, iv)); - - fail("failed parameter check"); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - public static void main( - String[] args) - { - runTest(new AESFastTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESLightTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESLightTest.java deleted file mode 100644 index a3c4ca533..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESLightTest.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.AESLightEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from the NIST standard tests and Brian Gladman's vector set - * - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - */ -public class AESLightTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new AESLightEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(1, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(2, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(3, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(4, new AESLightEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(5, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(6, new AESLightEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(7, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(8, new AESLightEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(9, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(10, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(11, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(12, new AESLightEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(13, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(14, new AESLightEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(15, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(16, new AESLightEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(17, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(18, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(19, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(20, new AESLightEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(21, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(22, new AESLightEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(23, 10000, new AESLightEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168") - }; - - private BlockCipher _engine = new AESLightEngine(); - - AESLightTest() - { - super(tests, new AESLightEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "AESLight"; - } - - public void performTest() - throws Exception - { - super.performTest(); - - byte[] keyBytes = new byte[16]; - - _engine.init(true, new KeyParameter(keyBytes)); - - // - // init tests - // - try - { - byte[] dudKey = new byte[6]; - - _engine.init(true, new KeyParameter(dudKey)); - - fail("failed key length check"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - byte[] iv = new byte[16]; - - _engine.init(true, new ParametersWithIV(null, iv)); - - fail("failed parameter check"); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - public static void main( - String[] args) - { - runTest(new AESLightTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESTest.java deleted file mode 100644 index 2b71e0d70..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESTest.java +++ /dev/null @@ -1,295 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.OFBBlockCipher; -import org.spongycastle.crypto.modes.SICBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from the NIST standard tests and Brian Gladman's vector set - * - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - */ -public class AESTest - extends CipherTest -{ - private static final byte[] tData = Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114F3F6752AE8D7831138F041560631B1145A01020304050607"); - private static final byte[] outCBC1 = Hex.decode("a444a9a4d46eb30cb7ed34d62873a89f8fdf2bf8a54e1aeadd06fd85c9cb46f021ee7cd4f418fa0bb72e9d07c70d5d20"); - private static final byte[] outCBC2 = Hex.decode("585681354f0e01a86b32f94ebb6a675045d923cf201263c2aaecca2b4de82da0edd74ca5efd654c688f8a58e61955b11"); - private static final byte[] outSIC1 = Hex.decode("82a1744e8ebbd053ca72362d5e570326e0b6fdaf824ab673fbf029042886b23c75129a015852913790f81f94447475a0"); - private static final byte[] outSIC2 = Hex.decode("146cbb581d9e12c3333dd9c736fbb93043c92019f78580da48f81f80b3f551d58ea836fed480fc6912fefa9c5c89cc24"); - private static final byte[] outCFB1 = Hex.decode("82a1744e8ebbd053ca72362d5e5703264b4182de3208c374b8ac4fa36af9c5e5f4f87d1e3b67963d06acf5eb13914c90"); - private static final byte[] outCFB2 = Hex.decode("146cbb581d9e12c3333dd9c736fbb9303c8a3eb5185e2809e9d3c28e25cc2d2b6f5c11ee28d6530f72c412b1438a816a"); - private static final byte[] outOFB1 = Hex.decode("82a1744e8ebbd053ca72362d5e5703261ebf1fdbec05e57b3465b583132f84b43bf95b2c89040ad1677b22d42db69a7a"); - private static final byte[] outOFB2 = Hex.decode("146cbb581d9e12c3333dd9c736fbb9309ea4c2a7696c84959a2dada49f2f1c5905db1f0cec3a31acbc4701e74ab05e1f"); - - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new AESEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(1, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(2, 10000, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(3, 10000, new AESEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(4, new AESEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(5, 10000, new AESEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(6, new AESEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(7, 10000, new AESEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(8, new AESEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(9, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(10, 10000, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(11, 10000, new AESEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(12, new AESEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(13, 10000, new AESEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(14, new AESEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(15, 10000, new AESEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(16, new AESEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(17, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(18, 10000, new AESEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(19, 10000, new AESEngine(), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(20, new AESEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(21, 10000, new AESEngine(), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(22, new AESEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(23, 10000, new AESEngine(), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168") - }; - - private BlockCipher _engine = new AESEngine(); - - public AESTest() - { - super(tests, new AESEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "AES"; - } - - private void testNullSIC() - throws InvalidCipherTextException - { - BufferedBlockCipher b = new BufferedBlockCipher(new SICBlockCipher(new AESEngine())); - KeyParameter kp = new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")); - - b.init(true, new ParametersWithIV(kp, new byte[16])); - - byte[] out = new byte[b.getOutputSize(tData.length)]; - - int len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outSIC1, out)) - { - fail("no match on first nullSIC check"); - } - - b.init(true, new ParametersWithIV(null, Hex.decode("000102030405060708090a0b0c0d0e0f"))); - - len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outSIC2, out)) - { - fail("no match on second nullSIC check"); - } - } - - private void testNullCBC() - throws InvalidCipherTextException - { - BufferedBlockCipher b = new BufferedBlockCipher(new CBCBlockCipher(new AESEngine())); - KeyParameter kp = new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")); - - b.init(true, new ParametersWithIV(kp, new byte[16])); - - byte[] out = new byte[b.getOutputSize(tData.length)]; - - int len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outCBC1, out)) - { - fail("no match on first nullCBC check"); - } - - b.init(true, new ParametersWithIV(null, Hex.decode("000102030405060708090a0b0c0d0e0f"))); - - len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outCBC2, out)) - { - fail("no match on second nullCBC check"); - } - } - - private void testNullOFB() - throws InvalidCipherTextException - { - BufferedBlockCipher b = new BufferedBlockCipher(new OFBBlockCipher(new AESEngine(), 128)); - KeyParameter kp = new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")); - - b.init(true, new ParametersWithIV(kp, new byte[16])); - - byte[] out = new byte[b.getOutputSize(tData.length)]; - - int len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outOFB1, out)) - { - fail("no match on first nullOFB check"); - } - - b.init(true, new ParametersWithIV(null, Hex.decode("000102030405060708090a0b0c0d0e0f"))); - - len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outOFB2, out)) - { - fail("no match on second nullOFB check"); - } - } - - private void testNullCFB() - throws InvalidCipherTextException - { - BufferedBlockCipher b = new BufferedBlockCipher(new CFBBlockCipher(new AESEngine(), 128)); - KeyParameter kp = new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")); - - b.init(true, new ParametersWithIV(kp, new byte[16])); - - byte[] out = new byte[b.getOutputSize(tData.length)]; - - int len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outCFB1, out)) - { - fail("no match on first nullCFB check"); - } - - b.init(true, new ParametersWithIV(null, Hex.decode("000102030405060708090a0b0c0d0e0f"))); - - len = b.processBytes(tData, 0, tData.length, out, 0); - - len += b.doFinal(out, len); - - if (!areEqual(outCFB2, out)) - { - fail("no match on second nullCFB check"); - } - } - - public void performTest() - throws Exception - { - super.performTest(); - - byte[] keyBytes = new byte[16]; - - _engine.init(true, new KeyParameter(keyBytes)); - - // - // init tests - // - try - { - byte[] dudKey = new byte[6]; - - _engine.init(true, new KeyParameter(dudKey)); - - fail("failed key length check"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - byte[] iv = new byte[16]; - - _engine.init(true, new ParametersWithIV(null, iv)); - - fail("failed parameter check"); - } - catch (IllegalArgumentException e) - { - // expected - } - - testNullCBC(); - testNullSIC(); - testNullOFB(); - testNullCFB(); - } - - public static void main( - String[] args) - { - runTest(new AESTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESVectorFileTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESVectorFileTest.java deleted file mode 100644 index 504b4bd40..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESVectorFileTest.java +++ /dev/null @@ -1,258 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.AESLightEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * Test vectors from the NIST standard tests and Brian Gladman's vector set - * - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - */ -public class AESVectorFileTest - implements Test -{ - - private int countOfTests = 0; - private int testNum = 0; - - protected BlockCipher createNewEngineForTest() - { - return new AESEngine(); - } - - private Test[] readTestVectors(InputStream inStream) - { - // initialize key, plaintext, ciphertext = null - // read until find BLOCKSIZE= - // return if not 128 - // read KEYSIZE= or ignore - // loop - // read a line - // if starts with BLOCKSIZE= - // parse the rest. return if not 128 - // if starts with KEY= - // parse the rest and set KEY - // if starts with PT= - // parse the rest and set plaintext - // if starts with CT= - // parse the rest and set ciphertext - // if starts with TEST= or end of file - // if key, plaintext, ciphertext are all not null - // save away their values as the next test - // until end of file - List tests = new ArrayList(); - String key = null; - String plaintext = null; - String ciphertext = null; - - BufferedReader in = new BufferedReader(new InputStreamReader(inStream)); - - try - { - String line = in.readLine(); - - while (line != null) - { - line = line.trim().toLowerCase(); - if (line.startsWith("blocksize=")) - { - int i = 0; - try - { - i = Integer.parseInt(line.substring(10).trim()); - } - catch (Exception e) - { - } - if (i != 128) - { - return null; - } - } - else if (line.startsWith("keysize=")) - { - int i = 0; - try - { - i = Integer.parseInt(line.substring(10).trim()); - } - catch (Exception e) - { - } - if ((i != 128) && (i != 192) && (i != 256)) - { - return null; - } - } - else if (line.startsWith("key=")) - { - key = line.substring(4).trim(); - } - else if (line.startsWith("pt=")) - { - plaintext = line.substring(3).trim(); - } - else if (line.startsWith("ct=")) - { - ciphertext = line.substring(3).trim(); - } - else if (line.startsWith("test=")) - { - if ((key != null) && (plaintext != null) - && (ciphertext != null)) - { - tests.add(new BlockCipherVectorTest(testNum++, - createNewEngineForTest(), new KeyParameter(Hex - .decode(key)), plaintext, ciphertext)); - } - } - - line = in.readLine(); - } - try - { - in.close(); - } - catch (IOException e) - { - } - } - catch (IOException e) - { - } - if ((key != null) && (plaintext != null) && (ciphertext != null)) - { - tests.add(new BlockCipherVectorTest(testNum++, - createNewEngineForTest(), - new KeyParameter(Hex.decode(key)), plaintext, ciphertext)); - } - return (Test[])(tests.toArray(new Test[tests.size()])); - } - - public String getName() - { - return "AES"; - } - - private TestResult performTestsFromZipFile(File zfile) - { - try - { - ZipFile inZip = new ZipFile(zfile); - for (Enumeration files = inZip.entries(); files.hasMoreElements();) - { - Test[] tests = null; - try - { - tests = readTestVectors(inZip - .getInputStream((ZipEntry)(files.nextElement()))); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": threw " - + e); - } - if (tests != null) - { - for (int i = 0; i != tests.length; i++) - { - TestResult res = tests[i].perform(); - countOfTests++; - - if (!res.isSuccessful()) - { - return res; - } - } - } - } - inZip.close(); - return new SimpleTestResult(true, getName() + ": Okay"); - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": threw " + e); - } - } - - private static final String[] zipFileNames = { "rijn.tv.ecbnk.zip", - "rijn.tv.ecbnt.zip", "rijn.tv.ecbvk.zip", "rijn.tv.ecbvt.zip" }; - - public TestResult perform() - { - countOfTests = 0; - for (int i = 0; i < zipFileNames.length; i++) - { - File inf = new File(zipFileNames[i]); - TestResult res = performTestsFromZipFile(inf); - if (!res.isSuccessful()) - { - return res; - } - } - return new SimpleTestResult(true, getName() + ": " + countOfTests - + " performed Okay"); - } - - public static void main(String[] args) - { - AESVectorFileTest test = new AESVectorFileTest(); - TestResult result = test.perform(); - System.out.println(result); - - test = new AESLightVectorFileTest(); - result = test.perform(); - System.out.println(result); - - test = new AESFastVectorFileTest(); - result = test.perform(); - System.out.println(result); - - } - - private static class AESLightVectorFileTest extends AESVectorFileTest - { - protected BlockCipher createNewEngineForTest() - { - return new AESLightEngine(); - } - - public String getName() - { - return "AESLight"; - } - - } - - private static class AESFastVectorFileTest extends AESVectorFileTest - { - protected BlockCipher createNewEngineForTest() - { - return new AESFastEngine(); - } - - public String getName() - { - return "AESFast"; - } - - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESWrapTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESWrapTest.java deleted file mode 100644 index 38f4af700..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AESWrapTest.java +++ /dev/null @@ -1,238 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.engines.AESWrapEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * Wrap Test - */ -public class AESWrapTest - implements Test -{ - public String getName() - { - return "AESWrap"; - } - - private TestResult wrapTest( - int id, - byte[] kek, - byte[] in, - byte[] out) - { - Wrapper wrapper = new AESWrapEngine(); - - wrapper.init(true, new KeyParameter(kek)); - - try - { - byte[] cText = wrapper.wrap(in, 0, in.length); - if (!Arrays.areEqual(cText, out)) - { - return new SimpleTestResult(false, getName() + ": failed wrap test " + id + " expected " + new String(Hex.encode(out)) + " got " + new String(Hex.encode(cText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed wrap test exception " + e.toString()); - } - - wrapper.init(false, new KeyParameter(kek)); - - try - { - byte[] pText = wrapper.unwrap(out, 0, out.length); - if (!Arrays.areEqual(pText, in)) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test " + id + " expected " + new String(Hex.encode(in)) + " got " + new String(Hex.encode(pText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test exception.", e); - } - - // - // offset test - // - byte[] pText = new byte[5 + in.length]; - byte[] cText; - - System.arraycopy(in, 0, pText, 5, in.length); - - wrapper.init(true, new KeyParameter(kek)); - - try - { - cText = wrapper.wrap(pText, 5, in.length); - if (!Arrays.areEqual(cText, out)) - { - return new SimpleTestResult(false, getName() + ": failed wrap test " + id + " expected " + new String(Hex.encode(out)) + " got " + new String(Hex.encode(cText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed wrap test exception " + e.toString()); - } - - wrapper.init(false, new KeyParameter(kek)); - - cText = new byte[6 + out.length]; - System.arraycopy(out, 0, cText, 6, out.length); - - try - { - pText = wrapper.unwrap(cText, 6, out.length); - if (!Arrays.areEqual(pText, in)) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test " + id + " expected " + new String(Hex.encode(in)) + " got " + new String(Hex.encode(pText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test exception.", e); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public TestResult perform() - { - byte[] kek1 = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] in1 = Hex.decode("00112233445566778899aabbccddeeff"); - byte[] out1 = Hex.decode("1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5"); - TestResult result = wrapTest(1, kek1, in1, out1); - - if (!result.isSuccessful()) - { - return result; - } - - byte[] kek2 = Hex.decode("000102030405060708090a0b0c0d0e0f1011121314151617"); - byte[] in2 = Hex.decode("00112233445566778899aabbccddeeff"); - byte[] out2 = Hex.decode("96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d"); - result = wrapTest(2, kek2, in2, out2); - if (!result.isSuccessful()) - { - return result; - } - - byte[] kek3 = Hex.decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); - byte[] in3 = Hex.decode("00112233445566778899aabbccddeeff"); - byte[] out3 = Hex.decode("64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7"); - result = wrapTest(3, kek3, in3, out3); - if (!result.isSuccessful()) - { - return result; - } - - byte[] kek4 = Hex.decode("000102030405060708090a0b0c0d0e0f1011121314151617"); - byte[] in4 = Hex.decode("00112233445566778899aabbccddeeff0001020304050607"); - byte[] out4 = Hex.decode("031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2"); - result = wrapTest(4, kek4, in4, out4); - if (!result.isSuccessful()) - { - return result; - } - - byte[] kek5 = Hex.decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); - byte[] in5 = Hex.decode("00112233445566778899aabbccddeeff0001020304050607"); - byte[] out5 = Hex.decode("a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1"); - result = wrapTest(5, kek5, in5, out5); - if (!result.isSuccessful()) - { - return result; - } - - byte[] kek6 = Hex.decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); - byte[] in6 = Hex.decode("00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f"); - byte[] out6 = Hex.decode("28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21"); - result = wrapTest(6, kek6, in6, out6); - if (!result.isSuccessful()) - { - return result; - } - - Wrapper wrapper = new AESWrapEngine(); - KeyParameter key = new KeyParameter(new byte[16]); - byte[] buf = new byte[16]; - - try - { - wrapper.init(true, key); - - wrapper.unwrap(buf, 0, buf.length); - - return new SimpleTestResult(false, getName() + ": failed unwrap state test."); - } - catch (IllegalStateException e) - { - // expected - } - catch (InvalidCipherTextException e) - { - return new SimpleTestResult(false, getName() + ": unexpected exception: " + e, e); - } - - try - { - wrapper.init(false, key); - - wrapper.wrap(buf, 0, buf.length); - - return new SimpleTestResult(false, getName() + ": failed unwrap state test."); - } - catch (IllegalStateException e) - { - // expected - } - - // - // short test - // - try - { - wrapper.init(false, key); - - wrapper.unwrap(buf, 0, buf.length / 2); - - return new SimpleTestResult(false, getName() + ": failed unwrap short test."); - } - catch (InvalidCipherTextException e) - { - // expected - } - - try - { - wrapper.init(true, key); - - wrapper.wrap(buf, 0, 15); - - return new SimpleTestResult(false, getName() + ": failed wrap length test."); - } - catch (DataLengthException e) - { - // expected - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - AESWrapTest test = new AESWrapTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AllTests.java deleted file mode 100644 index edc7b1b26..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/AllTests.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.spongycastle.crypto.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testCrypto() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("Lightweight Crypto Tests"); - - suite.addTestSuite(AllTests.class); - suite.addTestSuite(GCMReorderTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherMonteCarloTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherMonteCarloTest.java deleted file mode 100644 index 0b08d4610..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherMonteCarloTest.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * a basic test that takes a cipher, key parameter, and an input - * and output string. This test wraps the engine in a buffered block - * cipher with padding disabled. - */ -public class BlockCipherMonteCarloTest - extends SimpleTest -{ - int id; - int iterations; - BlockCipher engine; - CipherParameters param; - byte[] input; - byte[] output; - - public BlockCipherMonteCarloTest( - int id, - int iterations, - BlockCipher engine, - CipherParameters param, - String input, - String output) - { - this.id = id; - this.iterations = iterations; - this.engine = engine; - this.param = param; - this.input = Hex.decode(input); - this.output = Hex.decode(output); - } - - public String getName() - { - return engine.getAlgorithmName() + " Monte Carlo Test " + id; - } - - public void performTest() - throws Exception - { - BufferedBlockCipher cipher = new BufferedBlockCipher(engine); - - cipher.init(true, param); - - byte[] out = new byte[input.length]; - - System.arraycopy(input, 0, out, 0, out.length); - - for (int i = 0; i != iterations; i++) - { - int len1 = cipher.processBytes(out, 0, out.length, out, 0); - - cipher.doFinal(out, len1); - } - - if (!areEqual(out, output)) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - - cipher.init(false, param); - - for (int i = 0; i != iterations; i++) - { - int len1 = cipher.processBytes(out, 0, out.length, out, 0); - - cipher.doFinal(out, len1); - } - - if (!areEqual(input, out)) - { - fail("failed reversal"); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherResetTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherResetTest.java deleted file mode 100644 index 9e95cfd8f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherResetTest.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.AESLightEngine; -import org.spongycastle.crypto.engines.BlowfishEngine; -import org.spongycastle.crypto.engines.CAST5Engine; -import org.spongycastle.crypto.engines.CAST6Engine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.NoekeonEngine; -import org.spongycastle.crypto.engines.RC6Engine; -import org.spongycastle.crypto.engines.SEEDEngine; -import org.spongycastle.crypto.engines.SerpentEngine; -import org.spongycastle.crypto.engines.TEAEngine; -import org.spongycastle.crypto.engines.TwofishEngine; -import org.spongycastle.crypto.engines.XTEAEngine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.GOFBBlockCipher; -import org.spongycastle.crypto.modes.OFBBlockCipher; -import org.spongycastle.crypto.modes.OpenPGPCFBBlockCipher; -import org.spongycastle.crypto.modes.PGPCFBBlockCipher; -import org.spongycastle.crypto.modes.SICBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test whether block ciphers implement reset contract on init, encrypt/decrypt and reset. - */ -public class BlockCipherResetTest - extends SimpleTest -{ - - public String getName() - { - return "Block Cipher Reset"; - } - - public void performTest() - throws Exception - { - // 128 bit block ciphers - testReset("AESFastEngine", new AESFastEngine(), new AESFastEngine(), new KeyParameter(new byte[16])); - testReset("AESEngine", new AESEngine(), new AESEngine(), new KeyParameter(new byte[16])); - testReset("AESLightEngine", new AESLightEngine(), new AESLightEngine(), new KeyParameter(new byte[16])); - testReset("Twofish", new TwofishEngine(), new TwofishEngine(), new KeyParameter(new byte[16])); - testReset("NoekeonEngine", new NoekeonEngine(), new NoekeonEngine(), new KeyParameter(new byte[16])); - testReset("SerpentEngine", new SerpentEngine(), new SerpentEngine(), new KeyParameter(new byte[16])); - testReset("SEEDEngine", new SEEDEngine(), new SEEDEngine(), new KeyParameter(new byte[16])); - testReset("CAST6Engine", new CAST6Engine(), new CAST6Engine(), new KeyParameter(new byte[16])); - testReset("RC6Engine", new RC6Engine(), new RC6Engine(), new KeyParameter(new byte[16])); - - // 64 bit block ciphers - testReset("DESEngine", new DESEngine(), new DESEngine(), new KeyParameter(new byte[8])); - testReset("BlowfishEngine", new BlowfishEngine(), new BlowfishEngine(), new KeyParameter(new byte[8])); - testReset("CAST5Engine", new CAST5Engine(), new CAST5Engine(), new KeyParameter(new byte[8])); - testReset("DESedeEngine", new DESedeEngine(), new DESedeEngine(), new KeyParameter(new byte[24])); - testReset("TEAEngine", new TEAEngine(), new TEAEngine(), new KeyParameter(new byte[16])); - testReset("XTEAEngine", new XTEAEngine(), new XTEAEngine(), new KeyParameter(new byte[16])); - - // primitive block cipher modes (don't reset on processBlock) - testModeReset("AES/CBC", new CBCBlockCipher(new AESEngine()), new CBCBlockCipher(new AESEngine()), - new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - testModeReset("AES/SIC", new SICBlockCipher(new AESEngine()), new SICBlockCipher(new AESEngine()), - new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - testModeReset("AES/CFB", new CFBBlockCipher(new AESEngine(), 128), new CFBBlockCipher(new AESEngine(), 128), - new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - testModeReset("AES/OFB", new OFBBlockCipher(new AESEngine(), 128), new OFBBlockCipher(new AESEngine(), 128), - new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - testModeReset("AES/GCTR", new GOFBBlockCipher(new DESEngine()), new GOFBBlockCipher(new DESEngine()), - new ParametersWithIV(new KeyParameter(new byte[8]), new byte[8])); - testModeReset("AES/OpenPGPCFB", new OpenPGPCFBBlockCipher(new AESEngine()), new OpenPGPCFBBlockCipher( - new AESEngine()), new KeyParameter(new byte[16])); - testModeReset("AES/PGPCFB", new PGPCFBBlockCipher(new AESEngine(), false), new PGPCFBBlockCipher( - new AESEngine(), false), new KeyParameter(new byte[16])); - - // PGPCFB with IV is broken (it's also not a PRP, so probably shouldn't be a BlockCipher) - // testModeReset("AES/PGPCFBwithIV", new PGPCFBBlockCipher(new AESEngine(), true), new - // PGPCFBBlockCipher( - // new AESEngine(), true), new ParametersWithIV(new KeyParameter(new byte[16]), new - // byte[16])); - // testModeReset("AES/PGPCFBwithIV_NoIV", new PGPCFBBlockCipher(new AESEngine(), true), new - // PGPCFBBlockCipher( - // new AESEngine(), true), new KeyParameter(new byte[16])); - - } - - private void testModeReset(String test, BlockCipher cipher1, BlockCipher cipher2, CipherParameters params) - throws InvalidCipherTextException - { - testReset(test, false, cipher1, cipher2, params); - } - - private void testReset(String test, BlockCipher cipher1, BlockCipher cipher2, CipherParameters params) - throws InvalidCipherTextException - { - testReset(test, true, cipher1, cipher2, params); - } - - private void testReset(String test, - boolean testCryptReset, - BlockCipher cipher1, - BlockCipher cipher2, - CipherParameters params) - throws InvalidCipherTextException - { - cipher1.init(true, params); - - byte[] plaintext = new byte[cipher1.getBlockSize()]; - byte[] ciphertext = new byte[(cipher1.getAlgorithmName().indexOf("PGPCFBwithIV")) > -1 ? 2 * cipher1.getBlockSize() + 2 - : cipher1.getBlockSize()]; - - // Establish baseline answer - crypt(cipher1, true, plaintext, ciphertext); - - // Test encryption resets - checkReset(test, testCryptReset, cipher1, params, true, plaintext, ciphertext); - - // Test decryption resets with fresh instance - cipher2.init(false, params); - checkReset(test, testCryptReset, cipher2, params, false, ciphertext, plaintext); - } - - private void checkReset(String test, - boolean testCryptReset, - BlockCipher cipher, - CipherParameters params, - boolean encrypt, - byte[] pretext, - byte[] posttext) - throws InvalidCipherTextException - { - // Do initial run - byte[] output = new byte[posttext.length]; - crypt(cipher, encrypt, pretext, output); - - // Check encrypt resets cipher - if (testCryptReset) - { - crypt(cipher, encrypt, pretext, output); - if (!Arrays.areEqual(output, posttext)) - { - fail(test + (encrypt ? " encrypt" : " decrypt") + " did not reset cipher."); - } - } - - // Check init resets data - cipher.processBlock(pretext, 0, output, 0); - cipher.init(encrypt, params); - - try - { - crypt(cipher, encrypt, pretext, output); - } - catch (DataLengthException e) - { - fail(test + " init did not reset data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test + " init did not reset data.", new String(Hex.encode(posttext)), new String(Hex.encode(output))); - } - - // Check reset resets data - cipher.processBlock(pretext, 0, output, 0); - cipher.reset(); - - try - { - crypt(cipher, encrypt, pretext, output); - } - catch (DataLengthException e) - { - fail(test + " reset did not reset data."); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(test + " reset did not reset data."); - } - } - - private static void crypt(BlockCipher cipher1, boolean encrypt, byte[] plaintext, byte[] output) - throws InvalidCipherTextException - { - cipher1.processBlock(plaintext, 0, output, 0); - if ((cipher1.getAlgorithmName().indexOf("PGPCFBwithIV") > -1) && !encrypt) - { - // Process past IV in first block - cipher1.processBlock(plaintext, cipher1.getBlockSize(), output, 0); - } - } - - public static void main(String[] args) - { - runTest(new BlockCipherResetTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherVectorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherVectorTest.java deleted file mode 100644 index 322a580df..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlockCipherVectorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * a basic test that takes a cipher, key parameter, and an input - * and output string. This test wraps the engine in a buffered block - * cipher with padding disabled. - */ -public class BlockCipherVectorTest - extends SimpleTest -{ - int id; - BlockCipher engine; - CipherParameters param; - byte[] input; - byte[] output; - - public BlockCipherVectorTest( - int id, - BlockCipher engine, - CipherParameters param, - String input, - String output) - { - this.id = id; - this.engine = engine; - this.param = param; - this.input = Hex.decode(input); - this.output = Hex.decode(output); - } - - public String getName() - { - return engine.getAlgorithmName() + " Vector Test " + id; - } - - public void performTest() - throws Exception - { - BufferedBlockCipher cipher = new BufferedBlockCipher(engine); - - cipher.init(true, param); - - byte[] out = new byte[input.length]; - - int len1 = cipher.processBytes(input, 0, input.length, out, 0); - - cipher.doFinal(out, len1); - - if (!areEqual(out, output)) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - - cipher.init(false, param); - - int len2 = cipher.processBytes(output, 0, output.length, out, 0); - - cipher.doFinal(out, len2); - - if (!areEqual(input, out)) - { - fail("failed reversal got " + new String(Hex.encode(out))); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlowfishTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlowfishTest.java deleted file mode 100644 index 57e38a3e3..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/BlowfishTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.BlowfishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * blowfish tester - vectors from http://www.counterpane.com/vectors.txt - */ -public class BlowfishTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new BlowfishEngine(), - new KeyParameter(Hex.decode("0000000000000000")), - "0000000000000000", "4EF997456198DD78"), - new BlockCipherVectorTest(1, new BlowfishEngine(), - new KeyParameter(Hex.decode("FFFFFFFFFFFFFFFF")), - "FFFFFFFFFFFFFFFF", "51866FD5B85ECB8A"), - new BlockCipherVectorTest(2, new BlowfishEngine(), - new KeyParameter(Hex.decode("3000000000000000")), - "1000000000000001", "7D856F9A613063F2"), - new BlockCipherVectorTest(3, new BlowfishEngine(), - new KeyParameter(Hex.decode("1111111111111111")), - "1111111111111111", "2466DD878B963C9D"), - new BlockCipherVectorTest(4, new BlowfishEngine(), - new KeyParameter(Hex.decode("0123456789ABCDEF")), - "1111111111111111", "61F9C3802281B096"), - new BlockCipherVectorTest(5, new BlowfishEngine(), - new KeyParameter(Hex.decode("FEDCBA9876543210")), - "0123456789ABCDEF", "0ACEAB0FC6A0A28D"), - new BlockCipherVectorTest(6, new BlowfishEngine(), - new KeyParameter(Hex.decode("7CA110454A1A6E57")), - "01A1D6D039776742", "59C68245EB05282B"), - new BlockCipherVectorTest(7, new BlowfishEngine(), - new KeyParameter(Hex.decode("0131D9619DC1376E")), - "5CD54CA83DEF57DA", "B1B8CC0B250F09A0"), - }; - - BlowfishTest() - { - super(tests, new BlowfishEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "Blowfish"; - } - - public static void main( - String[] args) - { - runTest(new BlowfishTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST5Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST5Test.java deleted file mode 100644 index 339edd485..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST5Test.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.CAST5Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * cast tester - vectors from http://www.ietf.org/rfc/rfc2144.txt - */ -public class CAST5Test - extends CipherTest -{ - static SimpleTest[] tests = { - new BlockCipherVectorTest(0, new CAST5Engine(), - new KeyParameter(Hex.decode("0123456712345678234567893456789A")), - "0123456789ABCDEF", - "238B4FE5847E44B2"), - new BlockCipherVectorTest(0, new CAST5Engine(), - new KeyParameter(Hex.decode("01234567123456782345")), - "0123456789ABCDEF", - "EB6A711A2C02271B"), - new BlockCipherVectorTest(0, new CAST5Engine(), - new KeyParameter(Hex.decode("0123456712")), - "0123456789ABCDEF", - "7Ac816d16E9B302E"), - }; - - CAST5Test() - { - super(tests, new CAST5Engine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "CAST5"; - } - - public static void main( - String[] args) - { - runTest(new CAST5Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST6Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST6Test.java deleted file mode 100644 index bd62fd2be..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CAST6Test.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.CAST6Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * cast6 tester - vectors from http://www.ietf.org/rfc/rfc2612.txt - */ -public class CAST6Test - extends CipherTest -{ - static SimpleTest[] tests = { - new BlockCipherVectorTest(0, new CAST6Engine(), - new KeyParameter(Hex.decode("2342bb9efa38542c0af75647f29f615d")), - "00000000000000000000000000000000", - "c842a08972b43d20836c91d1b7530f6b"), - new BlockCipherVectorTest(0, new CAST6Engine(), - new KeyParameter(Hex.decode("2342bb9efa38542cbed0ac83940ac298bac77a7717942863")), - "00000000000000000000000000000000", - "1b386c0210dcadcbdd0e41aa08a7a7e8"), - new BlockCipherVectorTest(0, new CAST6Engine(), - new KeyParameter(Hex.decode("2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604")), - "00000000000000000000000000000000", - "4f6a2038286897b9c9870136553317fa") - }; - - CAST6Test() - { - super(tests, new CAST6Engine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "CAST6"; - } - - public static void main( - String[] args) - { - runTest(new CAST6Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CCMTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CCMTest.java deleted file mode 100644 index 71bd7cb71..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CCMTest.java +++ /dev/null @@ -1,301 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.modes.CCMBlockCipher; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * First four test vectors from - * NIST Special Publication 800-38C. - */ -public class CCMTest - extends SimpleTest -{ - private byte[] K1 = Hex.decode("404142434445464748494a4b4c4d4e4f"); - private byte[] N1 = Hex.decode("10111213141516"); - private byte[] A1 = Hex.decode("0001020304050607"); - private byte[] P1 = Hex.decode("20212223"); - private byte[] C1 = Hex.decode("7162015b4dac255d"); - private byte[] T1 = Hex.decode("6084341b"); - - private byte[] K2 = Hex.decode("404142434445464748494a4b4c4d4e4f"); - private byte[] N2 = Hex.decode("1011121314151617"); - private byte[] A2 = Hex.decode("000102030405060708090a0b0c0d0e0f"); - private byte[] P2 = Hex.decode("202122232425262728292a2b2c2d2e2f"); - private byte[] C2 = Hex.decode("d2a1f0e051ea5f62081a7792073d593d1fc64fbfaccd"); - private byte[] T2 = Hex.decode("7f479ffca464"); - - private byte[] K3 = Hex.decode("404142434445464748494a4b4c4d4e4f"); - private byte[] N3 = Hex.decode("101112131415161718191a1b"); - private byte[] A3 = Hex.decode("000102030405060708090a0b0c0d0e0f10111213"); - private byte[] P3 = Hex.decode("202122232425262728292a2b2c2d2e2f3031323334353637"); - private byte[] C3 = Hex.decode("e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5484392fbc1b09951"); - private byte[] T3 = Hex.decode("67c99240c7d51048"); - - private byte[] K4 = Hex.decode("404142434445464748494a4b4c4d4e4f"); - private byte[] N4 = Hex.decode("101112131415161718191a1b1c"); - private byte[] A4 = Hex.decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"); - private byte[] P4 = Hex.decode("202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f"); - private byte[] C4 = Hex.decode("69915dad1e84c6376a68c2967e4dab615ae0fd1faec44cc484828529463ccf72b4ac6bec93e8598e7f0dadbcea5b"); - private byte[] T4 = Hex.decode("f4dd5d0ee404617225ffe34fce91"); - - // - // long data vector - // - private byte[] C5 = Hex.decode("49b17d8d3ea4e6174a48e2b65e6d8b417ac0dd3f8ee46ce4a4a2a509661cef52528c1cd9805333a5cfd482fa3f095a3c2fdd1cc47771c5e55fddd60b5c8d6d3fa5c8dd79d08b16242b6642106e7c0c28bd1064b31e6d7c9800c8397dbc3fa8071e6a38278b386c18d65d39c6ad1ef9501a5c8f68d38eb6474799f3cc898b4b9b97e87f9c95ce5c51bc9d758f17119586663a5684e0a0daf6520ec572b87473eb141d10471e4799ded9e607655402eca5176bbf792ef39dd135ac8d710da8e9e854fd3b95c681023f36b5ebe2fb213d0b62dd6e9e3cfe190b792ccb20c53423b2dca128f861a61d306910e1af418839467e466f0ec361d2539eedd99d4724f1b51c07beb40e875a87491ec8b27cd1"); - private byte[] T5 = Hex.decode("5c768856796b627b13ec8641581b"); - - public void performTest() - throws Exception - { - CCMBlockCipher ccm = new CCMBlockCipher(new AESEngine()); - - checkVectors(0, ccm, K1, 32, N1, A1, P1, T1, C1); - checkVectors(1, ccm, K2, 48, N2, A2, P2, T2, C2); - checkVectors(2, ccm, K3, 64, N3, A3, P3, T3, C3); - - ivParamTest(0, ccm, K1, N1); - - // - // 4 has a reduced associated text which needs to be replicated - // - byte[] a4 = new byte[65536]; // 524288 / 8 - - for (int i = 0; i < a4.length; i += A4.length) - { - System.arraycopy(A4, 0, a4, i, A4.length); - } - - checkVectors(3, ccm, K4, 112, N4, a4, P4, T4, C4); - - // - // long data test - // - checkVectors(4, ccm, K4, 112, N4, A4, A4, T5, C5); - - // decryption with output specified, non-zero offset. - ccm.init(false, new AEADParameters(new KeyParameter(K2), 48, N2, A2)); - - byte[] inBuf = new byte[C2.length + 10]; - byte[] outBuf = new byte[ccm.getOutputSize(C2.length) + 10]; - - System.arraycopy(C2, 0, inBuf, 10, C2.length); - - int len = ccm.processPacket(inBuf, 10, C2.length, outBuf, 10); - byte[] out = ccm.processPacket(C2, 0, C2.length); - - if (len != out.length || !isEqual(out, outBuf, 10)) - { - fail("decryption output incorrect"); - } - - // encryption with output specified, non-zero offset. - ccm.init(true, new AEADParameters(new KeyParameter(K2), 48, N2, A2)); - - int inLen = len; - inBuf = outBuf; - outBuf = new byte[ccm.getOutputSize(inLen) + 10]; - - len = ccm.processPacket(inBuf, 10, inLen, outBuf, 10); - out = ccm.processPacket(inBuf, 10, inLen); - - if (len != out.length || !isEqual(out, outBuf, 10)) - { - fail("encryption output incorrect"); - } - - // - // exception tests - // - - try - { - ccm.init(false, new AEADParameters(new KeyParameter(K1), 32, N2, A2)); - - ccm.processPacket(C2, 0, C2.length); - - fail("invalid cipher text not picked up"); - } - catch (InvalidCipherTextException e) - { - // expected - } - - try - { - ccm = new CCMBlockCipher(new DESEngine()); - - fail("incorrect block size not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - ccm.init(false, new KeyParameter(K1)); - - fail("illegal argument not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - AEADTestUtil.testReset(this, new CCMBlockCipher(new AESEngine()), new CCMBlockCipher(new AESEngine()), new AEADParameters(new KeyParameter(K1), 32, N2)); - AEADTestUtil.testTampering(this, ccm, new AEADParameters(new KeyParameter(K1), 32, N2)); - } - - private boolean isEqual(byte[] exp, byte[] other, int off) - { - for (int i = 0; i != exp.length; i++) - { - if (exp[i] != other[off + i]) - { - return false; - } - } - - return true; - } - - private void checkVectors( - int count, - CCMBlockCipher ccm, - byte[] k, - int macSize, - byte[] n, - byte[] a, - byte[] p, - byte[] t, - byte[] c) - throws InvalidCipherTextException - { - byte[] fa = new byte[a.length / 2]; - byte[] la = new byte[a.length - (a.length / 2)]; - System.arraycopy(a, 0, fa, 0, fa.length); - System.arraycopy(a, fa.length, la, 0, la.length); - - checkVectors(count, ccm, "all initial associated data", k, macSize, n, a, null, p, t, c); - checkVectors(count, ccm, "subsequent associated data", k, macSize, n, null, a, p, t, c); - checkVectors(count, ccm, "split associated data", k, macSize, n, fa, la, p, t, c); - checkVectors(count, ccm, "reuse key", null, macSize, n, fa, la, p, t, c); - } - - private void checkVectors( - int count, - CCMBlockCipher ccm, - String additionalDataType, - byte[] k, - int macSize, - byte[] n, - byte[] a, - byte[] sa, - byte[] p, - byte[] t, - byte[] c) - throws InvalidCipherTextException - { - KeyParameter keyParam = (k == null) ? null : new KeyParameter(k); - - ccm.init(true, new AEADParameters(keyParam, macSize, n, a)); - - byte[] enc = new byte[c.length]; - - if (sa != null) - { - ccm.processAADBytes(sa, 0, sa.length); - } - - int len = ccm.processBytes(p, 0, p.length, enc, 0); - - len += ccm.doFinal(enc, len); - - if (!areEqual(c, enc)) - { - fail("encrypted stream fails to match in test " + count + " with " + additionalDataType); - } - - ccm.init(false, new AEADParameters(keyParam, macSize, n, a)); - - byte[] tmp = new byte[enc.length]; - - if (sa != null) - { - ccm.processAADBytes(sa, 0, sa.length); - } - - len = ccm.processBytes(enc, 0, enc.length, tmp, 0); - - len += ccm.doFinal(tmp, len); - - byte[] dec = new byte[len]; - - System.arraycopy(tmp, 0, dec, 0, len); - - if (!areEqual(p, dec)) - { - fail("decrypted stream fails to match in test " + count + " with " + additionalDataType, - new String(Hex.encode(p)), new String(Hex.encode(dec))); - } - - if (!areEqual(t, ccm.getMac())) - { - fail("MAC fails to match in test " + count + " with " + additionalDataType); - } - } - - private void ivParamTest( - int count, - CCMBlockCipher ccm, - byte[] k, - byte[] n) - throws InvalidCipherTextException - { - byte[] p = Strings.toByteArray("hello world!!"); - - ccm.init(true, new ParametersWithIV(new KeyParameter(k), n)); - - byte[] enc = new byte[p.length + 8]; - - int len = ccm.processBytes(p, 0, p.length, enc, 0); - - len += ccm.doFinal(enc, len); - - ccm.init(false, new ParametersWithIV(new KeyParameter(k), n)); - - byte[] tmp = new byte[enc.length]; - - len = ccm.processBytes(enc, 0, enc.length, tmp, 0); - - len += ccm.doFinal(tmp, len); - - byte[] dec = new byte[len]; - - System.arraycopy(tmp, 0, dec, 0, len); - - if (!areEqual(p, dec)) - { - fail("decrypted stream fails to match in test " + count); - } - } - - public String getName() - { - return "CCM"; - } - - public static void main( - String[] args) - { - runTest(new CCMTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CMacTest.java deleted file mode 100644 index e7ea06551..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CMacTest.java +++ /dev/null @@ -1,279 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.macs.CMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * CMAC tester - Official Test Vectors. - */ -public class CMacTest - extends SimpleTest -{ - private static final byte[] keyBytes128 = Hex.decode("2b7e151628aed2a6abf7158809cf4f3c"); - private static final byte[] keyBytes192 = Hex.decode( - "8e73b0f7da0e6452c810f32b809079e5" - + "62f8ead2522c6b7b"); - private static final byte[] keyBytes256 = Hex.decode( - "603deb1015ca71be2b73aef0857d7781" - + "1f352c073b6108d72d9810a30914dff4"); - - private static final byte[] input0 = Hex.decode(""); - private static final byte[] input16 = Hex.decode("6bc1bee22e409f96e93d7e117393172a"); - private static final byte[] input40 = Hex.decode( - "6bc1bee22e409f96e93d7e117393172a" - + "ae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411"); - private static final byte[] input64 = Hex.decode( - "6bc1bee22e409f96e93d7e117393172a" - + "ae2d8a571e03ac9c9eb76fac45af8e51" - + "30c81c46a35ce411e5fbc1191a0a52ef" - + "f69f2445df4f9b17ad2b417be66c3710"); - - private static final byte[] output_k128_m0 = Hex.decode("bb1d6929e95937287fa37d129b756746"); - private static final byte[] output_k128_m16 = Hex.decode("070a16b46b4d4144f79bdd9dd04a287c"); - private static final byte[] output_k128_m40 = Hex.decode("dfa66747de9ae63030ca32611497c827"); - private static final byte[] output_k128_m64 = Hex.decode("51f0bebf7e3b9d92fc49741779363cfe"); - - private static final byte[] output_k192_m0 = Hex.decode("d17ddf46adaacde531cac483de7a9367"); - private static final byte[] output_k192_m16 = Hex.decode("9e99a7bf31e710900662f65e617c5184"); - private static final byte[] output_k192_m40 = Hex.decode("8a1de5be2eb31aad089a82e6ee908b0e"); - private static final byte[] output_k192_m64 = Hex.decode("a1d5df0eed790f794d77589659f39a11"); - - private static final byte[] output_k256_m0 = Hex.decode("028962f61b7bf89efc6b551f4667d983"); - private static final byte[] output_k256_m16 = Hex.decode("28a7023f452e8f82bd4bf28d8c37c35c"); - private static final byte[] output_k256_m40 = Hex.decode("aaf3d8f1de5640c232f5b169b9c911e6"); - private static final byte[] output_k256_m64 = Hex.decode("e1992190549f6ed5696a2c056c315410"); - - public CMacTest() - { - } - - public void performTest() - { - BlockCipher cipher = new AESFastEngine(); - Mac mac = new CMac(cipher, 128); - - //128 bytes key - - KeyParameter key = new KeyParameter(keyBytes128); - - // 0 bytes message - 128 bytes key - mac.init(key); - - mac.update(input0, 0, input0.length); - - byte[] out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k128_m0)) - { - fail("Failed - expected " + new String(Hex.encode(output_k128_m0)) - + " got " + new String(Hex.encode(out))); - } - - // 16 bytes message - 128 bytes key - mac.init(key); - - mac.update(input16, 0, input16.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k128_m16)) - { - fail("Failed - expected " + new String(Hex.encode(output_k128_m16)) - + " got " + new String(Hex.encode(out))); - } - - // 40 bytes message - 128 bytes key - mac.init(key); - - mac.update(input40, 0, input40.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k128_m40)) - { - fail("Failed - expected " + new String(Hex.encode(output_k128_m40)) - + " got " + new String(Hex.encode(out))); - } - - // 64 bytes message - 128 bytes key - mac.init(key); - - mac.update(input64, 0, input64.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k128_m64)) - { - fail("Failed - expected " + new String(Hex.encode(output_k128_m64)) - + " got " + new String(Hex.encode(out))); - } - - //192 bytes key - - key = new KeyParameter(keyBytes192); - - // 0 bytes message - 192 bytes key - mac.init(key); - - mac.update(input0, 0, input0.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k192_m0)) - { - fail("Failed - expected " + new String(Hex.encode(output_k192_m0)) - + " got " + new String(Hex.encode(out))); - } - - // 16 bytes message - 192 bytes key - mac.init(key); - - mac.update(input16, 0, input16.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k192_m16)) - { - fail("Failed - expected " + new String(Hex.encode(output_k192_m16)) - + " got " + new String(Hex.encode(out))); - } - - // 40 bytes message - 192 bytes key - mac.init(key); - - mac.update(input40, 0, input40.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k192_m40)) - { - fail("Failed - expected " + new String(Hex.encode(output_k192_m40)) - + " got " + new String(Hex.encode(out))); - } - - // 64 bytes message - 192 bytes key - mac.init(key); - - mac.update(input64, 0, input64.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k192_m64)) - { - fail("Failed - expected " + new String(Hex.encode(output_k192_m64)) - + " got " + new String(Hex.encode(out))); - } - - //256 bytes key - - key = new KeyParameter(keyBytes256); - - // 0 bytes message - 256 bytes key - mac.init(key); - - mac.update(input0, 0, input0.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k256_m0)) - { - fail("Failed - expected " + new String(Hex.encode(output_k256_m0)) - + " got " + new String(Hex.encode(out))); - } - - // 16 bytes message - 256 bytes key - mac.init(key); - - mac.update(input16, 0, input16.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k256_m16)) - { - fail("Failed - expected " + new String(Hex.encode(output_k256_m16)) - + " got " + new String(Hex.encode(out))); - } - - // 40 bytes message - 256 bytes key - mac.init(key); - - mac.update(input40, 0, input40.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k256_m40)) - { - fail("Failed - expected " + new String(Hex.encode(output_k256_m40)) - + " got " + new String(Hex.encode(out))); - } - - // 64 bytes message - 256 bytes key - mac.init(key); - - mac.update(input64, 0, input64.length); - - out = new byte[16]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output_k256_m64)) - { - fail("Failed - expected " + new String(Hex.encode(output_k256_m64)) - + " got " + new String(Hex.encode(out))); - } - - testExceptions(); - } - - private void testExceptions() - { - try - { - CMac mac = new CMac(new AESEngine()); - mac.init(new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - fail("CMac does not accept IV"); - } catch(IllegalArgumentException e) - { - // Expected - } - } - - public String getName() - { - return "CMac"; - } - - public static void main(String[] args) - { - runTest(new CMacTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CTSTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CTSTest.java deleted file mode 100644 index 768461936..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CTSTest.java +++ /dev/null @@ -1,212 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.engines.SkipjackEngine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CTSBlockCipher; -import org.spongycastle.crypto.modes.OldCTSBlockCipher; -import org.spongycastle.crypto.modes.SICBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * CTS tester - */ -public class CTSTest - extends SimpleTest -{ - static byte[] in1 = Hex.decode("4e6f7720697320746865207420"); - static byte[] in2 = Hex.decode("000102030405060708090a0b0c0d0e0fff0102030405060708090a0b0c0d0e0f0aaa"); - static byte[] out1 = Hex.decode("9952f131588465033fa40e8a98"); - static byte[] out2 = Hex.decode("358f84d01eb42988dc34efb994"); - static byte[] out3 = Hex.decode("170171cfad3f04530c509b0c1f0be0aefbd45a8e3755a873bff5ea198504b71683c6"); - - private void testCTS( - int id, - BlockCipher cipher, - CipherParameters params, - byte[] input, - byte[] output) - throws Exception - { - byte[] out = new byte[input.length]; - BufferedBlockCipher engine = new CTSBlockCipher(cipher); - - engine.init(true, params); - - int len = engine.processBytes(input, 0, input.length, out, 0); - - engine.doFinal(out, len); - - if (!areEqual(output, out)) - { - fail("failed encryption expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - - engine.init(false, params); - - len = engine.processBytes(output, 0, output.length, out, 0); - - engine.doFinal(out, len); - - if (!areEqual(input, out)) - { - fail("failed decryption expected " + new String(Hex.encode(input)) + " got " + new String(Hex.encode(out))); - } - } - - private void testOldCTS( - int id, - BlockCipher cipher, - CipherParameters params, - byte[] input, - byte[] output) - throws Exception - { - byte[] out = new byte[input.length]; - BufferedBlockCipher engine = new OldCTSBlockCipher(cipher); - - engine.init(true, params); - - int len = engine.processBytes(input, 0, input.length, out, 0); - - engine.doFinal(out, len); - - if (!areEqual(output, out)) - { - fail("failed encryption expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - - engine.init(false, params); - - len = engine.processBytes(output, 0, output.length, out, 0); - - engine.doFinal(out, len); - - if (!areEqual(input, out)) - { - fail("failed decryption expected " + new String(Hex.encode(input)) + " got " + new String(Hex.encode(out))); - } - } - - private void testExceptions() throws InvalidCipherTextException - { - BufferedBlockCipher engine = new CTSBlockCipher(new DESEngine()); - CipherParameters params = new KeyParameter(new byte[engine.getBlockSize()]); - engine.init(true, params); - - byte[] out = new byte[engine.getOutputSize(engine.getBlockSize())]; - - engine.processBytes(new byte[engine.getBlockSize() - 1], 0, engine.getBlockSize() - 1, out, 0); - try - { - engine.doFinal(out, 0); - fail("Expected CTS encrypt error on < 1 block input"); - } catch(DataLengthException e) - { - // Expected - } - - engine.init(true, params); - engine.processBytes(new byte[engine.getBlockSize()], 0, engine.getBlockSize(), out, 0); - try - { - engine.doFinal(out, 0); - } catch(DataLengthException e) - { - fail("Unexpected CTS encrypt error on == 1 block input"); - } - - engine.init(false, params); - engine.processBytes(new byte[engine.getBlockSize() - 1], 0, engine.getBlockSize() - 1, out, 0); - try - { - engine.doFinal(out, 0); - fail("Expected CTS decrypt error on < 1 block input"); - } catch(DataLengthException e) - { - // Expected - } - - engine.init(false, params); - engine.processBytes(new byte[engine.getBlockSize()], 0, engine.getBlockSize(), out, 0); - try - { - engine.doFinal(out, 0); - } catch(DataLengthException e) - { - fail("Unexpected CTS decrypt error on == 1 block input"); - } - - try - { - new CTSBlockCipher(new SICBlockCipher(new AESEngine())); - fail("Expected CTS construction error - only ECB/CBC supported."); - } catch(IllegalArgumentException e) - { - // Expected - } - - } - - public String getName() - { - return "CTS"; - } - - public void performTest() - throws Exception - { - byte[] key1 = { (byte)0x01, (byte)0x23, (byte)0x45, (byte)0x67, (byte)0x89, (byte)0xAB, (byte)0xCD, (byte)0xEF }; - byte[] key2 = { (byte)0x01, (byte)0x23, (byte)0x45, (byte)0x67, (byte)0x89, (byte)0xAB, (byte)0xCD, (byte)0xEF, (byte)0xee, (byte)0xff }; - byte[] iv = { 1, 2, 3, 4, 5, 6, 7, 8 }; - - testCTS(1, new DESEngine(), new KeyParameter(key1), in1, out1); - testCTS(2, new CBCBlockCipher(new DESEngine()), new ParametersWithIV(new KeyParameter(key1), iv), in1, out2); - testCTS(3, new CBCBlockCipher(new SkipjackEngine()), new ParametersWithIV(new KeyParameter(key2), iv), in2, out3); - - // - // test vectors from rfc3962 - // - byte[] aes128 = Hex.decode("636869636b656e207465726979616b69"); - byte[] aesIn1 = Hex.decode("4920776f756c64206c696b652074686520"); - byte[] aesOut1 = Hex.decode("c6353568f2bf8cb4d8a580362da7ff7f97"); - byte[] aesIn2 = Hex.decode("4920776f756c64206c696b65207468652047656e6572616c20476175277320"); - byte[] aesOut2 = Hex.decode("fc00783e0efdb2c1d445d4c8eff7ed2297687268d6ecccc0c07b25e25ecfe5"); - byte[] aesIn3 = Hex.decode("4920776f756c64206c696b65207468652047656e6572616c2047617527732043"); - byte[] aesOut3 = Hex.decode("39312523a78662d5be7fcbcc98ebf5a897687268d6ecccc0c07b25e25ecfe584"); - - testCTS(4, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn1, aesOut1); - testCTS(5, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn2, aesOut2); - testCTS(6, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn3, aesOut3); - - testOldCTS(4, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn1, aesOut1); - testOldCTS(5, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn2, aesOut2); - testOldCTS(6, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aesIn3, aesOut3); - - byte[] aes1Block = Hex.decode("4920776f756c64206c696b6520746865"); - byte[] preErrata = Hex.decode("e7664c13ff28c965b0d2a0e7ec353706"); // CTS style one block - byte[] pstErrata = Hex.decode("97687268d6ecccc0c07b25e25ecfe584"); // CBC style one block - byte[] pstErrataNonZeroIV = Hex.decode("571f5108c53fe95ab52df783df933fa3"); - - testCTS(7, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aes1Block, pstErrata); - testCTS(8, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), aes1Block), aes1Block, pstErrataNonZeroIV); - testOldCTS(7, new CBCBlockCipher(new AESEngine()), new ParametersWithIV(new KeyParameter(aes128), new byte[16]), aes1Block, preErrata); - - testExceptions(); - } - - public static void main( - String[] args) - { - runTest(new CTSTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaLightTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaLightTest.java deleted file mode 100644 index 71a89fba7..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaLightTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.CamelliaLightEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Camellia tester - vectors from https://www.cosic.esat.kuleuven.be/nessie/testvectors/ and RFC 3713 - */ -public class CamelliaLightTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "80000000000000000000000000000000", "07923A39EB0A817D1C4D87BDB82D1F1C"), - new BlockCipherVectorTest(1, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "6C227F749319A3AA7DA235A9BBA05A2C"), - new BlockCipherVectorTest(2, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba9876543210")), - "0123456789abcdeffedcba9876543210", "67673138549669730857065648eabe43"), - // - // 192 bit - // - new BlockCipherVectorTest(3, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba98765432100011223344556677")), - "0123456789abcdeffedcba9876543210", "b4993401b3e996f84ee5cee7d79b09b9"), - new BlockCipherVectorTest(4, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "00040000000000000000000000000000", "9BCA6C88B928C1B0F57F99866583A9BC"), - new BlockCipherVectorTest(5, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("949494949494949494949494949494949494949494949494")), - "636EB22D84B006381235641BCF0308D2", "94949494949494949494949494949494"), - // - // 256 bit - // - new BlockCipherVectorTest(6, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff")), - "0123456789abcdeffedcba9876543210", "9acc237dff16d76c20ef7c919e3a7509"), - new BlockCipherVectorTest(7, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A")), - "057764FE3A500EDBD988C5C3B56CBA9A", "4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A"), - new BlockCipherVectorTest(8, new CamelliaLightEngine(), - new KeyParameter(Hex.decode("0303030303030303030303030303030303030303030303030303030303030303")), - "7968B08ABA92193F2295121EF8D75C8A", "03030303030303030303030303030303"), - }; - - CamelliaLightTest() - { - super(tests, new CamelliaLightEngine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "CamelliaLight"; - } - - public static void main( - String[] args) - { - runTest(new CamelliaLightTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaTest.java deleted file mode 100644 index a3d481939..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CamelliaTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.CamelliaEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; -import org.spongycastle.util.test.TestResult; - -/** - * Camellia tester - vectors from https://www.cosic.esat.kuleuven.be/nessie/testvectors/ and RFC 3713 - */ -public class CamelliaTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new CamelliaEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "80000000000000000000000000000000", "07923A39EB0A817D1C4D87BDB82D1F1C"), - new BlockCipherVectorTest(1, new CamelliaEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "6C227F749319A3AA7DA235A9BBA05A2C"), - new BlockCipherVectorTest(2, new CamelliaEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba9876543210")), - "0123456789abcdeffedcba9876543210", "67673138549669730857065648eabe43"), - // - // 192 bit - // - new BlockCipherVectorTest(3, new CamelliaEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba98765432100011223344556677")), - "0123456789abcdeffedcba9876543210", "b4993401b3e996f84ee5cee7d79b09b9"), - new BlockCipherVectorTest(4, new CamelliaEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "00040000000000000000000000000000", "9BCA6C88B928C1B0F57F99866583A9BC"), - new BlockCipherVectorTest(5, new CamelliaEngine(), - new KeyParameter(Hex.decode("949494949494949494949494949494949494949494949494")), - "636EB22D84B006381235641BCF0308D2", "94949494949494949494949494949494"), - // - // 256 bit - // - new BlockCipherVectorTest(6, new CamelliaEngine(), - new KeyParameter(Hex.decode("0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff")), - "0123456789abcdeffedcba9876543210", "9acc237dff16d76c20ef7c919e3a7509"), - new BlockCipherVectorTest(7, new CamelliaEngine(), - new KeyParameter(Hex.decode("4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A")), - "057764FE3A500EDBD988C5C3B56CBA9A", "4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A"), - new BlockCipherVectorTest(8, new CamelliaEngine(), - new KeyParameter(Hex.decode("0303030303030303030303030303030303030303030303030303030303030303")), - "7968B08ABA92193F2295121EF8D75C8A", "03030303030303030303030303030303"), - }; - - CamelliaTest() - { - super(tests, new CamelliaEngine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "Camellia"; - } - - public static void main( - String[] args) - { - CamelliaTest test = new CamelliaTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ChaChaTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ChaChaTest.java deleted file mode 100644 index 3da3f3e7b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ChaChaTest.java +++ /dev/null @@ -1,273 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.ChaChaEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * ChaCha Test - *

    - * Test cases generated using ref version of ChaCha20 in estreambench-20080905. - */ -public class ChaChaTest - extends SimpleTest -{ - byte[] zeroes = Hex.decode( - "00000000000000000000000000000000" - + "00000000000000000000000000000000" - + "00000000000000000000000000000000" - + "00000000000000000000000000000000"); - - String set1v0_0 = "FBB87FBB8395E05DAA3B1D683C422046" - + "F913985C2AD9B23CFC06C1D8D04FF213" - + "D44A7A7CDB84929F915420A8A3DC58BF" - + "0F7ECB4B1F167BB1A5E6153FDAF4493D"; - - String set1v0_192 = "D9485D55B8B82D792ED1EEA8E93E9BC1" - + "E2834AD0D9B11F3477F6E106A2F6A5F2" - + "EA8244D5B925B8050EAB038F58D4DF57" - + "7FAFD1B89359DAE508B2B10CBD6B488E"; - - String set1v0_256 = "08661A35D6F02D3D9ACA8087F421F7C8" - + "A42579047D6955D937925BA21396DDD4" - + "74B1FC4ACCDCAA33025B4BCE817A4FBF" - + "3E5D07D151D7E6FE04934ED466BA4779"; - - String set1v0_448 = "A7E16DD38BA48CCB130E5BE9740CE359" - + "D631E91600F85C8A5D0785A612D1D987" - + "90780ACDDC26B69AB106CCF6D866411D" - + "10637483DBF08CC5591FD8B3C87A3AE0"; - - String set1v9_0 = "A276339F99316A913885A0A4BE870F06" - + "91E72B00F1B3F2239F714FE81E88E00C" - + "BBE52B4EBBE1EA15894E29658C4CB145" - + "E6F89EE4ABB045A78514482CE75AFB7C"; - - String set1v9_192 = "0DFB9BD4F87F68DE54FBC1C6428FDEB0" - + "63E997BE8490C9B7A4694025D6EBA2B1" - + "5FE429DB82A7CAE6AAB22918E8D00449" - + "6FB6291467B5AE81D4E85E81D8795EBB"; - - String set1v9_256 = "546F5BB315E7F71A46E56D4580F90889" - + "639A2BA528F757CF3B048738BA141AF3" - + "B31607CB21561BAD94721048930364F4" - + "B1227CFEB7CDECBA881FB44903550E68"; - - String set1v9_448 = "6F813586E76691305A0CF048C0D8586D" - + "C89460207D8B230CD172398AA33D19E9" - + "2D24883C3A9B0BB7CD8C6B2668DB142E" - + "37A97948A7A01498A21110297984CD20"; - - String set6v0_0 = "57459975BC46799394788DE80B928387" - + "862985A269B9E8E77801DE9D874B3F51" - + "AC4610B9F9BEE8CF8CACD8B5AD0BF17D" - + "3DDF23FD7424887EB3F81405BD498CC3"; - - String set6v0_65472 = "EF9AEC58ACE7DB427DF012B2B91A0C1E" - + "8E4759DCE9CDB00A2BD59207357BA06C" - + "E02D327C7719E83D6348A6104B081DB0" - + "3908E5186986AE41E3AE95298BB7B713"; - - String set6v0_65536 = "17EF5FF454D85ABBBA280F3A94F1D26E" - + "950C7D5B05C4BB3A78326E0DC5731F83" - + "84205C32DB867D1B476CE121A0D7074B" - + "AA7EE90525D15300F48EC0A6624BD0AF"; - - String set6v1_0 = "92A2508E2C4084567195F2A1005E552B" - + "4874EC0504A9CD5E4DAF739AB553D2E7" - + "83D79C5BA11E0653BEBB5C116651302E" - + "8D381CB728CA627B0B246E83942A2B99"; - - String set6v1_65472 = "E1974EC3063F7BD0CBA58B1CE34BC874" - + "67AAF5759B05EA46682A5D4306E5A76B" - + "D99A448DB8DE73AF97A73F5FBAE2C776" - + "35040464524CF14D7F08D4CE1220FD84"; - - String set6v1_65536 = "BE3436141CFD62D12FF7D852F80C1344" - + "81F152AD0235ECF8CA172C55CA8C031B" - + "2E785D773A988CA8D4BDA6FAE0E493AA" - + "71DCCC4C894D1F106CAC62A9FC0A9607"; - - // ChaCha12 - String chacha12_set1v0_0 = "36CF0D56E9F7FBF287BC5460D95FBA94" - + "AA6CBF17D74E7C784DDCF7E0E882DDAE" - + "3B5A58243EF32B79A04575A8E2C2B73D" - + "C64A52AA15B9F88305A8F0CA0B5A1A25"; - - String chacha12_set1v0_192 = "83496792AB68FEC75ADB16D3044420A4" - + "A00A6E9ADC41C3A63DBBF317A8258C85" - + "A9BC08B4F76B413A4837324AEDF8BC2A" - + "67D53C9AB9E1C5BC5F379D48DF9AF730"; - - String chacha12_set1v0_256 = "BAA28ED593690FD760ADA07C95E3B888" - + "4B4B64E488CA7A2D9BDC262243AB9251" - + "394C5037E255F8BCCDCD31306C508FFB" - + "C9E0161380F7911FCB137D46D9269250"; - - String chacha12_set1v0_448 = "B7ECFB6AE0B51915762FE1FD03A14D0C" - + "9E54DA5DC76EB16EBA5313BC535DE63D" - + "C72D7F9F1874E301E99C8531819F4E37" - + "75793F6A5D19C717FA5C78A39EB804A6"; - - // ChaCha8 - String chacha8_set1v0_0 = "BEB1E81E0F747E43EE51922B3E87FB38" - + "D0163907B4ED49336032AB78B67C2457" - + "9FE28F751BD3703E51D876C017FAA435" - + "89E63593E03355A7D57B2366F30047C5"; - - String chacha8_set1v0_192 = "33B8B7CA8F8E89F0095ACE75A379C651" - + "FD6BDD55703C90672E44C6BAB6AACDD8" - + "7C976A87FD264B906E749429284134C2" - + "38E3B88CF74A68245B860D119A8BDF43"; - - String chacha8_set1v0_256 = "F7CA95BF08688BD3BE8A27724210F9DC" - + "16F32AF974FBFB09E9F757C577A245AB" - + "F35F824B70A4C02CB4A8D7191FA8A5AD" - + "6A84568743844703D353B7F00A8601F4"; - - String chacha8_set1v0_448 = "7B4117E8BFFD595CD8482270B08920FB" - + "C9B97794E1809E07BB271BF07C861003" - + "4C38DBA6ECA04E5474F399A284CBF6E2" - + "7F70142E604D0977797DE5B58B6B25E0"; - - - - public String getName() - { - return "ChaCha"; - } - - public void performTest() - { - chachaTest1(20, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - set1v0_0, set1v0_192, set1v0_256, set1v0_448); - chachaTest1(20, new ParametersWithIV(new KeyParameter(Hex.decode("00400000000000000000000000000000")), Hex.decode("0000000000000000")), - set1v9_0, set1v9_192, set1v9_256, set1v9_448); - chachaTest1(12, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - chacha12_set1v0_0, chacha12_set1v0_192, chacha12_set1v0_256, chacha12_set1v0_448); - chachaTest1(8, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - chacha8_set1v0_0, chacha8_set1v0_192, chacha8_set1v0_256, chacha8_set1v0_448); - chachaTest2(new ParametersWithIV(new KeyParameter(Hex.decode("0053A6F94C9FF24598EB3E91E4378ADD3083D6297CCF2275C81B6EC11467BA0D")), Hex.decode("0D74DB42A91077DE")), - set6v0_0, set6v0_65472, set6v0_65536); - chachaTest2(new ParametersWithIV(new KeyParameter(Hex.decode("0558ABFE51A4F74A9DF04396E93C8FE23588DB2E81D4277ACD2073C6196CBF12")), Hex.decode("167DE44BB21980E7")), - set6v1_0, set6v1_65472, set6v1_65536); - reinitBug(); - } - - private void chachaTest1(int rounds, CipherParameters params, String v0, String v192, String v256, String v448) - { - StreamCipher chaCha = new ChaChaEngine(rounds); - byte[] buf = new byte[64]; - - chaCha.init(true, params); - - for (int i = 0; i != 7; i++) - { - chaCha.processBytes(zeroes, 0, 64, buf, 0); - switch (i) - { - case 0: - if (!areEqual(buf, Hex.decode(v0))) - { - mismatch("v0/" + rounds, v0, buf); - } - break; - case 3: - if (!areEqual(buf, Hex.decode(v192))) - { - mismatch("v192/" + rounds, v192, buf); - } - break; - case 4: - if (!areEqual(buf, Hex.decode(v256))) - { - mismatch("v256/" + rounds, v256, buf); - } - break; - default: - // ignore - } - } - - for (int i = 0; i != 64; i++) - { - buf[i] = chaCha.returnByte(zeroes[i]); - } - - if (!areEqual(buf, Hex.decode(v448))) - { - mismatch("v448", v448, buf); - } - } - - private void chachaTest2(CipherParameters params, String v0, String v65472, String v65536) - { - StreamCipher chaCha = new ChaChaEngine(); - byte[] buf = new byte[64]; - - chaCha.init(true, params); - - for (int i = 0; i != 1025; i++) - { - chaCha.processBytes(zeroes, 0, 64, buf, 0); - switch (i) - { - case 0: - if (!areEqual(buf, Hex.decode(v0))) - { - mismatch("v0", v0, buf); - } - break; - case 1023: - if (!areEqual(buf, Hex.decode(v65472))) - { - mismatch("v65472", v65472, buf); - } - break; - case 1024: - if (!areEqual(buf, Hex.decode(v65536))) - { - mismatch("v65536", v65536, buf); - } - break; - default: - // ignore - } - } - } - - private void mismatch(String name, String expected, byte[] found) - { - fail("mismatch on " + name, expected, new String(Hex.encode(found))); - } - - - private void reinitBug() - { - KeyParameter key = new KeyParameter(Hex.decode("80000000000000000000000000000000")); - ParametersWithIV parameters = new ParametersWithIV(key, Hex.decode("0000000000000000")); - - StreamCipher salsa = new ChaChaEngine(); - - salsa.init(true, parameters); - - try - { - salsa.init(true, key); - fail("Salsa20 should throw exception if no IV in Init"); - } - catch (IllegalArgumentException e) - { - } - } - - public static void main( - String[] args) - { - runTest(new ChaChaTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherStreamTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherStreamTest.java deleted file mode 100644 index c7527db1c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherStreamTest.java +++ /dev/null @@ -1,542 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.BlowfishEngine; -import org.spongycastle.crypto.engines.CAST5Engine; -import org.spongycastle.crypto.engines.CAST6Engine; -import org.spongycastle.crypto.engines.CamelliaEngine; -import org.spongycastle.crypto.engines.ChaChaEngine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.Grain128Engine; -import org.spongycastle.crypto.engines.Grainv1Engine; -import org.spongycastle.crypto.engines.HC128Engine; -import org.spongycastle.crypto.engines.HC256Engine; -import org.spongycastle.crypto.engines.NoekeonEngine; -import org.spongycastle.crypto.engines.RC2Engine; -import org.spongycastle.crypto.engines.RC4Engine; -import org.spongycastle.crypto.engines.RC6Engine; -import org.spongycastle.crypto.engines.SEEDEngine; -import org.spongycastle.crypto.engines.Salsa20Engine; -import org.spongycastle.crypto.engines.SerpentEngine; -import org.spongycastle.crypto.engines.TEAEngine; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.engines.TwofishEngine; -import org.spongycastle.crypto.engines.XSalsa20Engine; -import org.spongycastle.crypto.engines.XTEAEngine; -import org.spongycastle.crypto.io.CipherInputStream; -import org.spongycastle.crypto.io.CipherOutputStream; -import org.spongycastle.crypto.io.InvalidCipherTextIOException; -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CCMBlockCipher; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.CTSBlockCipher; -import org.spongycastle.crypto.modes.EAXBlockCipher; -import org.spongycastle.crypto.modes.GCMBlockCipher; -import org.spongycastle.crypto.modes.OCBBlockCipher; -import org.spongycastle.crypto.modes.OFBBlockCipher; -import org.spongycastle.crypto.modes.SICBlockCipher; -import org.spongycastle.crypto.paddings.PKCS7Padding; -import org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.test.SimpleTest; - -public class CipherStreamTest - extends SimpleTest -{ - public String getName() - { - return "CipherStreamTest"; - } - - private void testMode(Object cipher, CipherParameters params) - throws Exception - { - testWriteRead(cipher, params, false); - testWriteRead(cipher, params, true); - testReadWrite(cipher, params, false); - testReadWrite(cipher, params, true); - - if (!(cipher instanceof CTSBlockCipher)) - { - testWriteReadEmpty(cipher, params, false); - testWriteReadEmpty(cipher, params, true); - } - - if (cipher instanceof AEADBlockCipher) - { - testTamperedRead((AEADBlockCipher)cipher, params); - testTruncatedRead((AEADBlockCipher)cipher, params); - testTamperedWrite((AEADBlockCipher)cipher, params); - } - } - - private OutputStream createCipherOutputStream(OutputStream output, Object cipher) - { - if (cipher instanceof BufferedBlockCipher) - { - return new CipherOutputStream(output, (BufferedBlockCipher)cipher); - } - else if (cipher instanceof AEADBlockCipher) - { - return new CipherOutputStream(output, (AEADBlockCipher)cipher); - } - else - { - return new CipherOutputStream(output, (StreamCipher)cipher); - } - } - - private InputStream createCipherInputStream(byte[] data, Object cipher) - { - ByteArrayInputStream input = new ByteArrayInputStream(data); - if (cipher instanceof BufferedBlockCipher) - { - return new CipherInputStream(input, (BufferedBlockCipher)cipher); - } - else if (cipher instanceof AEADBlockCipher) - { - return new CipherInputStream(input, (AEADBlockCipher)cipher); - } - else - { - return new CipherInputStream(input, (StreamCipher)cipher); - } - } - - /** - * Test tampering of ciphertext followed by read from decrypting CipherInputStream - */ - private void testTamperedRead(AEADBlockCipher cipher, CipherParameters params) - throws Exception - { - cipher.init(true, params); - - byte[] ciphertext = new byte[cipher.getOutputSize(1000)]; - cipher.doFinal(ciphertext, cipher.processBytes(new byte[1000], 0, 1000, ciphertext, 0)); - - // Tamper - ciphertext[0] += 1; - - cipher.init(false, params); - InputStream input = createCipherInputStream(ciphertext, cipher); - try - { - while (input.read() >= 0) - { - } - fail("Expected invalid ciphertext after tamper and read : " + cipher.getAlgorithmName()); - } - catch (InvalidCipherTextIOException e) - { - // Expected - } - try - { - input.close(); - } - catch (Exception e) - { - fail("Unexpected exception after tamper and read : " + cipher.getAlgorithmName()); - } - } - - /** - * Test truncation of ciphertext to make tag calculation impossible, followed by read from - * decrypting CipherInputStream - */ - private void testTruncatedRead(AEADBlockCipher cipher, CipherParameters params) - throws Exception - { - cipher.init(true, params); - - byte[] ciphertext = new byte[cipher.getOutputSize(1000)]; - cipher.doFinal(ciphertext, cipher.processBytes(new byte[1000], 0, 1000, ciphertext, 0)); - - // Truncate to just smaller than complete tag - byte[] truncated = new byte[ciphertext.length - 1000 - 1]; - System.arraycopy(ciphertext, 0, truncated, 0, truncated.length); - - cipher.init(false, params); - InputStream input = createCipherInputStream(truncated, cipher); - while (true) - { - int read = 0; - try - { - read = input.read(); - } - catch (InvalidCipherTextIOException e) - { - // Expected - break; - } - catch (Exception e) - { - fail("Unexpected exception on truncated read : " + cipher.getAlgorithmName()); - break; - } - if (read < 0) - { - fail("Expected invalid ciphertext after truncate and read : " + cipher.getAlgorithmName()); - break; - } - } - try - { - input.close(); - } - catch (Exception e) - { - fail("Unexpected exception after truncate and read : " + cipher.getAlgorithmName()); - } - } - - /** - * Test tampering of ciphertext followed by write to decrypting CipherOutputStream - */ - private void testTamperedWrite(AEADBlockCipher cipher, CipherParameters params) - throws Exception - { - cipher.init(true, params); - - byte[] ciphertext = new byte[cipher.getOutputSize(1000)]; - cipher.doFinal(ciphertext, cipher.processBytes(new byte[1000], 0, 1000, ciphertext, 0)); - - // Tamper - ciphertext[0] += 1; - - cipher.init(false, params); - ByteArrayOutputStream plaintext = new ByteArrayOutputStream(); - OutputStream output = createCipherOutputStream(plaintext, cipher); - - for (int i = 0; i < ciphertext.length; i++) - { - output.write(ciphertext[i]); - } - try - { - output.close(); - fail("Expected invalid ciphertext after tamper and write : " + cipher.getAlgorithmName()); - } - catch (InvalidCipherTextIOException e) - { - // Expected - } - } - - /** - * Test CipherOutputStream in ENCRYPT_MODE, CipherInputStream in DECRYPT_MODE - */ - private void testWriteRead(Object cipher, CipherParameters params, boolean blocks) - throws Exception - { - byte[] data = new byte[1000]; - for (int i = 0; i < data.length; i++) - { - data[i] = (byte)(i % 255); - } - - testWriteRead(cipher, params, blocks, data); - } - - /** - * Test CipherOutputStream in ENCRYPT_MODE, CipherInputStream in DECRYPT_MODE - */ - private void testWriteReadEmpty(Object cipher, CipherParameters params, boolean blocks) - throws Exception - { - byte[] data = new byte[0]; - - testWriteRead(cipher, params, blocks, data); - } - - private void testWriteRead(Object cipher, CipherParameters params, boolean blocks, byte[] data) - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - init(cipher, true, params); - - OutputStream cOut = createCipherOutputStream(bOut, cipher); - if (blocks) - { - int chunkSize = data.length / 8; - for (int i = 0; i < data.length; i += chunkSize) - { - cOut.write(data, i, chunkSize); - } - } - else - { - for (int i = 0; i < data.length; i++) - { - cOut.write(data[i]); - } - } - cOut.close(); - - byte[] cipherText = bOut.toByteArray(); - bOut.reset(); - init(cipher, false, params); - InputStream cIn = createCipherInputStream(cipherText, cipher); - - if (blocks) - { - byte[] block = new byte[getBlockSize(cipher) + 1]; - int c; - while ((c = cIn.read(block)) >= 0) - { - bOut.write(block, 0, c); - } - } - else - { - int c; - while ((c = cIn.read()) >= 0) - { - bOut.write(c); - } - - } - cIn.close(); - - } - catch (Exception e) - { - fail("Unexpected exception " + getName(cipher), e); - } - - byte[] decrypted = bOut.toByteArray(); - if (!Arrays.areEqual(data, decrypted)) - { - fail("Failed - decrypted data doesn't match: " + getName(cipher)); - } - } - - private String getName(Object cipher) - { - if (cipher instanceof BufferedBlockCipher) - { - return ((BufferedBlockCipher)cipher).getUnderlyingCipher().getAlgorithmName(); - } - else if (cipher instanceof AEADBlockCipher) - { - return ((AEADBlockCipher)cipher).getUnderlyingCipher().getAlgorithmName(); - } - else if (cipher instanceof StreamCipher) - { - return ((StreamCipher)cipher).getAlgorithmName(); - } - return null; - } - - private int getBlockSize(Object cipher) - { - if (cipher instanceof BlockCipher) - { - return ((BlockCipher)cipher).getBlockSize(); - } - else if (cipher instanceof BufferedBlockCipher) - { - return ((BufferedBlockCipher)cipher).getBlockSize(); - } - else if (cipher instanceof AEADBlockCipher) - { - return ((AEADBlockCipher)cipher).getUnderlyingCipher().getBlockSize(); - } - else if (cipher instanceof StreamCipher) - { - return 1; - } - return 0; - } - - private void init(Object cipher, boolean forEncrypt, CipherParameters params) - { - if (cipher instanceof BufferedBlockCipher) - { - ((BufferedBlockCipher)cipher).init(forEncrypt, params); - } - else if (cipher instanceof AEADBlockCipher) - { - ((AEADBlockCipher)cipher).init(forEncrypt, params); - } - else if (cipher instanceof StreamCipher) - { - ((StreamCipher)cipher).init(forEncrypt, params); - } - } - - protected void fail(String message, boolean authenticated, boolean bc) - { - if (bc || !authenticated) - { - super.fail(message); - } - else - { - // javax.crypto.CipherInputStream/CipherOutputStream - // are broken wrt handling AEAD failures - System.err.println("Broken JCE Streams: " + message); - } - } - - /** - * Test CipherInputStream in ENCRYPT_MODE, CipherOutputStream in DECRYPT_MODE - */ - private void testReadWrite(Object cipher, CipherParameters params, boolean blocks) - throws Exception - { - String lCode = "ABCDEFGHIJKLMNOPQRSTU"; - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - try - { - init(cipher, true, params); - - InputStream cIn = createCipherInputStream(lCode.getBytes(), cipher); - ByteArrayOutputStream ct = new ByteArrayOutputStream(); - - if (blocks) - { - byte[] block = new byte[getBlockSize(cipher) + 1]; - int c; - while ((c = cIn.read(block)) >= 0) - { - ct.write(block, 0, c); - } - } - else - { - int c; - while ((c = cIn.read()) >= 0) - { - ct.write(c); - } - } - cIn.close(); - - init(cipher, false, params); - ByteArrayInputStream dataIn = new ByteArrayInputStream(ct.toByteArray()); - OutputStream cOut = createCipherOutputStream(bOut, cipher); - - if (blocks) - { - byte[] block = new byte[getBlockSize(cipher) + 1]; - int c; - while ((c = dataIn.read(block)) >= 0) - { - cOut.write(block, 0, c); - } - } - else - { - int c; - while ((c = dataIn.read()) >= 0) - { - cOut.write(c); - } - } - cOut.flush(); - cOut.close(); - - } - catch (Exception e) - { - fail("Unexpected exception " + getName(cipher), e); - } - - String res = new String(bOut.toByteArray()); - if (!res.equals(lCode)) - { - fail("Failed read/write - decrypted data doesn't match: " + getName(cipher), lCode, res); - } - } - - public void performTest() - throws Exception - { - testModes(new BlowfishEngine(), new BlowfishEngine(), 16); - testModes(new DESEngine(), new DESEngine(), 8); - testModes(new DESedeEngine(), new DESedeEngine(), 24); - testModes(new TEAEngine(), new TEAEngine(), 16); - testModes(new CAST5Engine(), new CAST5Engine(), 16); - testModes(new RC2Engine(), new RC2Engine(), 16); - testModes(new XTEAEngine(), new XTEAEngine(), 16); - - testModes(new AESEngine(), new AESEngine(), 16); - testModes(new NoekeonEngine(), new NoekeonEngine(), 16); - testModes(new TwofishEngine(), new TwofishEngine(), 16); - testModes(new CAST6Engine(), new CAST6Engine(), 16); - testModes(new SEEDEngine(), new SEEDEngine(), 16); - testModes(new SerpentEngine(), new SerpentEngine(), 16); - testModes(new RC6Engine(), new RC6Engine(), 16); - testModes(new CamelliaEngine(), new CamelliaEngine(), 16); - testModes(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), - new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), 64); - - testMode(new RC4Engine(), new KeyParameter(new byte[16])); - testMode(new Salsa20Engine(), new ParametersWithIV(new KeyParameter(new byte[16]), new byte[8])); - testMode(new XSalsa20Engine(), new ParametersWithIV(new KeyParameter(new byte[32]), new byte[24])); - testMode(new ChaChaEngine(), new ParametersWithIV(new KeyParameter(new byte[16]), new byte[8])); - testMode(new Grainv1Engine(), new ParametersWithIV(new KeyParameter(new byte[16]), new byte[8])); - testMode(new Grain128Engine(), new ParametersWithIV(new KeyParameter(new byte[16]), new byte[12])); - testMode(new HC128Engine(), new KeyParameter(new byte[16])); - testMode(new HC256Engine(), new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16])); - - } - - private void testModes(BlockCipher cipher1, BlockCipher cipher2, int keySize) - throws Exception - { - final KeyParameter key = new KeyParameter(new byte[keySize]); - final int blockSize = getBlockSize(cipher1); - final CipherParameters withIv = new ParametersWithIV(key, new byte[blockSize]); - - if (blockSize > 1) - { - testMode(new PaddedBufferedBlockCipher(cipher1, new PKCS7Padding()), key); - - testMode(new PaddedBufferedBlockCipher(new CBCBlockCipher(cipher1), new PKCS7Padding()), withIv); - - testMode(new BufferedBlockCipher(new OFBBlockCipher(cipher1, blockSize)), withIv); - testMode(new BufferedBlockCipher(new CFBBlockCipher(cipher1, blockSize)), withIv); - testMode(new BufferedBlockCipher(new SICBlockCipher(cipher1)), withIv); - } - if (blockSize <= 16) - { - testMode(new CTSBlockCipher(cipher1), key); - } - if (blockSize == 8 || blockSize == 16) - { - testMode(new EAXBlockCipher(cipher1), withIv); - } - if (blockSize == 16) - { - testMode(new CCMBlockCipher(cipher1), new ParametersWithIV(key, new byte[7])); - testMode(new GCMBlockCipher(cipher1), withIv); - testMode(new OCBBlockCipher(cipher1, cipher2), new ParametersWithIV(key, new byte[15])); - } - } - - public static void main(String[] args) - { - runTest(new CipherStreamTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherTest.java deleted file mode 100644 index 6bd4c21f4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/CipherTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.test.SimpleTest; - -public abstract class CipherTest - extends SimpleTest -{ - private SimpleTest[] _tests; - private BlockCipher _engine; - private KeyParameter _validKey; - -// protected CipherTest( -// SimpleTest[] tests) -// { -// _tests = tests; -// } - - protected CipherTest( - SimpleTest[] tests, - BlockCipher engine, - KeyParameter validKey) - { - _tests = tests; - _engine = engine; - _validKey = validKey; - } - - public abstract String getName(); - - public void performTest() - throws Exception - { - for (int i = 0; i != _tests.length; i++) - { - _tests[i].performTest(); - } - - if (_engine != null) - { - // - // state tests - // - byte[] buf = new byte[128]; - - try - { - _engine.processBlock(buf, 0, buf, 0); - - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - - bufferSizeCheck((_engine)); - } - } - - private void bufferSizeCheck( - BlockCipher engine) - { - byte[] correctBuf = new byte[engine.getBlockSize()]; - byte[] shortBuf = new byte[correctBuf.length / 2]; - - engine.init(true, _validKey); - - try - { - engine.processBlock(shortBuf, 0, correctBuf, 0); - - fail("failed short input check"); - } - catch (DataLengthException e) - { - // expected - } - - try - { - engine.processBlock(correctBuf, 0, shortBuf, 0); - - fail("failed short output check"); - } - catch (DataLengthException e) - { - // expected - } - - engine.init(false, _validKey); - - try - { - engine.processBlock(shortBuf, 0, correctBuf, 0); - - fail("failed short input check"); - } - catch (DataLengthException e) - { - // expected - } - - try - { - engine.processBlock(correctBuf, 0, shortBuf, 0); - - fail("failed short output check"); - } - catch (DataLengthException e) - { - // expected - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESTest.java deleted file mode 100644 index aec63ef2e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESTest.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.generators.DESKeyGenerator; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.OFBBlockCipher; -import org.spongycastle.crypto.params.DESParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -import java.security.SecureRandom; - -class DESParityTest - extends SimpleTest -{ - public String getName() - { - return "DESParityTest"; - } - - public void performTest() - { - byte[] k1In = { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, - (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff }; - byte[] k1Out = { (byte)0xfe, (byte)0xfe, (byte)0xfe, (byte)0xfe, - (byte)0xfe, (byte)0xfe, (byte)0xfe, (byte)0xfe }; - - byte[] k2In = { (byte)0xef, (byte)0xcb, (byte)0xda, (byte)0x4f, - (byte)0xaa, (byte)0x99, (byte)0x7f, (byte)0x63 }; - byte[] k2Out = { (byte)0xef, (byte)0xcb, (byte)0xda, (byte)0x4f, - (byte)0xab, (byte)0x98, (byte)0x7f, (byte)0x62 }; - - DESParameters.setOddParity(k1In); - - for (int i = 0; i != k1In.length; i++) - { - if (k1In[i] != k1Out[i]) - { - fail("Failed " - + "got " + new String(Hex.encode(k1In)) - + " expected " + new String(Hex.encode(k1Out))); - } - } - - DESParameters.setOddParity(k2In); - - for (int i = 0; i != k2In.length; i++) - { - if (k2In[i] != k2Out[i]) - { - fail("Failed " - + "got " + new String(Hex.encode(k2In)) - + " expected " + new String(Hex.encode(k2Out))); - } - } - } -} - -class KeyGenTest - extends SimpleTest -{ - public String getName() - { - return "KeyGenTest"; - } - - public void performTest() - { - DESKeyGenerator keyGen = new DESKeyGenerator(); - - keyGen.init(new KeyGenerationParameters(new SecureRandom(), 56)); - - byte[] kB = keyGen.generateKey(); - - if (kB.length != 8) - { - fail("DES bit key wrong length."); - } - } -} - -class DESParametersTest - extends SimpleTest -{ - static private byte[] weakKeys = - { - (byte)0x01,(byte)0x01,(byte)0x01,(byte)0x01, (byte)0x01,(byte)0x01,(byte)0x01,(byte)0x01, - (byte)0x1f,(byte)0x1f,(byte)0x1f,(byte)0x1f, (byte)0x0e,(byte)0x0e,(byte)0x0e,(byte)0x0e, - (byte)0xe0,(byte)0xe0,(byte)0xe0,(byte)0xe0, (byte)0xf1,(byte)0xf1,(byte)0xf1,(byte)0xf1, - (byte)0xfe,(byte)0xfe,(byte)0xfe,(byte)0xfe, (byte)0xfe,(byte)0xfe,(byte)0xfe,(byte)0xfe, - /* semi-weak keys */ - (byte)0x01,(byte)0xfe,(byte)0x01,(byte)0xfe, (byte)0x01,(byte)0xfe,(byte)0x01,(byte)0xfe, - (byte)0x1f,(byte)0xe0,(byte)0x1f,(byte)0xe0, (byte)0x0e,(byte)0xf1,(byte)0x0e,(byte)0xf1, - (byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xe0, (byte)0x01,(byte)0xf1,(byte)0x01,(byte)0xf1, - (byte)0x1f,(byte)0xfe,(byte)0x1f,(byte)0xfe, (byte)0x0e,(byte)0xfe,(byte)0x0e,(byte)0xfe, - (byte)0x01,(byte)0x1f,(byte)0x01,(byte)0x1f, (byte)0x01,(byte)0x0e,(byte)0x01,(byte)0x0e, - (byte)0xe0,(byte)0xfe,(byte)0xe0,(byte)0xfe, (byte)0xf1,(byte)0xfe,(byte)0xf1,(byte)0xfe, - (byte)0xfe,(byte)0x01,(byte)0xfe,(byte)0x01, (byte)0xfe,(byte)0x01,(byte)0xfe,(byte)0x01, - (byte)0xe0,(byte)0x1f,(byte)0xe0,(byte)0x1f, (byte)0xf1,(byte)0x0e,(byte)0xf1,(byte)0x0e, - (byte)0xe0,(byte)0x01,(byte)0xe0,(byte)0x01, (byte)0xf1,(byte)0x01,(byte)0xf1,(byte)0x01, - (byte)0xfe,(byte)0x1f,(byte)0xfe,(byte)0x1f, (byte)0xfe,(byte)0x0e,(byte)0xfe,(byte)0x0e, - (byte)0x1f,(byte)0x01,(byte)0x1f,(byte)0x01, (byte)0x0e,(byte)0x01,(byte)0x0e,(byte)0x01, - (byte)0xfe,(byte)0xe0,(byte)0xfe,(byte)0xe0, (byte)0xfe,(byte)0xf1,(byte)0xfe,(byte)0xf1 - }; - - public String getName() - { - return "DESParameters"; - } - - public void performTest() throws Exception - { - try - { - DESParameters.isWeakKey(new byte[4], 0); - fail("no exception on small key"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("key material too short.")) - { - fail("wrong exception"); - } - } - - try - { - new DESParameters(weakKeys); - fail("no exception on weak key"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("attempt to create weak DES key")) - { - fail("wrong exception"); - } - } - - for (int i = 0; i != weakKeys.length; i += 8) - { - if (!DESParameters.isWeakKey(weakKeys, i)) - { - fail("weakKey test failed"); - } - } - } -} - -/** - * DES tester - vectors from FIPS 81 - */ -public class DESTest - extends CipherTest -{ - static String input1 = "4e6f77206973207468652074696d6520666f7220616c6c20"; - static String input2 = "4e6f7720697320746865"; - static String input3 = "4e6f7720697320746865aabbcc"; - - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new DESEngine(), - new KeyParameter(Hex.decode("0123456789abcdef")), - input1, "3fa40e8a984d48156a271787ab8883f9893d51ec4b563b53"), - new BlockCipherVectorTest(1, new CBCBlockCipher(new DESEngine()), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input1, "e5c7cdde872bf27c43e934008c389c0f683788499a7c05f6"), - new BlockCipherVectorTest(2, new CFBBlockCipher(new DESEngine(), 8), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input2, "f31fda07011462ee187f"), - new BlockCipherVectorTest(3, new CFBBlockCipher(new DESEngine(), 64), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input1, "f3096249c7f46e51a69e839b1a92f78403467133898ea622"), - new BlockCipherVectorTest(4, new OFBBlockCipher(new DESEngine(), 8), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input2, "f34a2850c9c64985d684"), - new BlockCipherVectorTest(5, new CFBBlockCipher(new DESEngine(), 64), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input3, "f3096249c7f46e51a69e0954bf"), - new BlockCipherVectorTest(6, new OFBBlockCipher(new DESEngine(), 64), - new ParametersWithIV(new KeyParameter(Hex.decode("0123456789abcdef")), Hex.decode("1234567890abcdef")), - input3, "f3096249c7f46e5135f2c0eb8b"), - new DESParityTest(), - new DESParametersTest(), - new KeyGenTest() - }; - - public DESTest() - { - super(tests, new DESEngine(), new KeyParameter(new byte[8])); - } - - public String getName() - { - return "DES"; - } - - public static void main( - String[] args) - { - runTest(new DESTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESedeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESedeTest.java deleted file mode 100644 index 6fc4d0d0d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DESedeTest.java +++ /dev/null @@ -1,177 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.DESedeWrapEngine; -import org.spongycastle.crypto.generators.DESedeKeyGenerator; -import org.spongycastle.crypto.params.DESedeParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -import java.security.SecureRandom; - -/** - * DESede tester - */ -public class DESedeTest - extends CipherTest -{ - static private byte[] weakKey = // first 8 bytes non-weak - { - (byte)0x06,(byte)0x01,(byte)0x01,(byte)0x01, (byte)0x01,(byte)0x01,(byte)0x01,(byte)0x01, - (byte)0x1f,(byte)0x1f,(byte)0x1f,(byte)0x1f, (byte)0x0e,(byte)0x0e,(byte)0x0e,(byte)0x0e, - (byte)0xe0,(byte)0xe0,(byte)0xe0,(byte)0xe0, (byte)0xf1,(byte)0xf1,(byte)0xf1,(byte)0xf1, - }; - - static String input1 = "4e6f77206973207468652074696d6520666f7220616c6c20"; - static String input2 = "4e6f7720697320746865"; - - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new DESedeEngine(), - new DESedeParameters(Hex.decode("0123456789abcdef0123456789abcdef")), - input1, "3fa40e8a984d48156a271787ab8883f9893d51ec4b563b53"), - new BlockCipherVectorTest(1, new DESedeEngine(), - new DESedeParameters(Hex.decode("0123456789abcdeffedcba9876543210")), - input1, "d80a0d8b2bae5e4e6a0094171abcfc2775d2235a706e232c"), - new BlockCipherVectorTest(2, new DESedeEngine(), - new DESedeParameters(Hex.decode("0123456789abcdef0123456789abcdef0123456789abcdef")), - input1, "3fa40e8a984d48156a271787ab8883f9893d51ec4b563b53"), - new BlockCipherVectorTest(3, new DESedeEngine(), - new DESedeParameters(Hex.decode("0123456789abcdeffedcba98765432100123456789abcdef")), - input1, "d80a0d8b2bae5e4e6a0094171abcfc2775d2235a706e232c") - }; - - DESedeTest() - { - super(tests, new DESedeEngine(), new KeyParameter(new byte[16])); - } - - private void wrapTest( - int id, - byte[] kek, - byte[] iv, - byte[] in, - byte[] out) - { - Wrapper wrapper = new DESedeWrapEngine(); - - wrapper.init(true, new ParametersWithIV(new KeyParameter(kek), iv)); - - try - { - byte[] cText = wrapper.wrap(in, 0, in.length); - if (!areEqual(cText, out)) - { - fail(": failed wrap test " + id + " expected " + new String(Hex.encode(out)) + " got " + new String(Hex.encode(cText))); - } - } - catch (Exception e) - { - fail("failed wrap test exception: " + e.toString(), e); - } - - wrapper.init(false, new KeyParameter(kek)); - - try - { - byte[] pText = wrapper.unwrap(out, 0, out.length); - if (!areEqual(pText, in)) - { - fail("failed unwrap test " + id + " expected " + new String(Hex.encode(in)) + " got " + new String(Hex.encode(pText))); - } - } - catch (Exception e) - { - fail("failed unwrap test exception: " + e.toString(), e); - } - } - - public void performTest() - throws Exception - { - super.performTest(); - - byte[] kek1 = Hex.decode("255e0d1c07b646dfb3134cc843ba8aa71f025b7c0838251f"); - byte[] iv1 = Hex.decode("5dd4cbfc96f5453b"); - byte[] in1 = Hex.decode("2923bf85e06dd6ae529149f1f1bae9eab3a7da3d860d3e98"); - byte[] out1 = Hex.decode("690107618ef092b3b48ca1796b234ae9fa33ebb4159604037db5d6a84eb3aac2768c632775a467d4"); - - wrapTest(1, kek1, iv1, in1, out1); - - // - // key generation - // - SecureRandom random = new SecureRandom(); - DESedeKeyGenerator keyGen = new DESedeKeyGenerator(); - - keyGen.init(new KeyGenerationParameters(random, 112)); - - byte[] kB = keyGen.generateKey(); - - if (kB.length != 16) - { - fail("112 bit key wrong length."); - } - - keyGen.init(new KeyGenerationParameters(random, 168)); - - kB = keyGen.generateKey(); - - if (kB.length != 24) - { - fail("168 bit key wrong length."); - } - - try - { - keyGen.init(new KeyGenerationParameters(random, 200)); - - fail("invalid key length not detected."); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - DESedeParameters.isWeakKey(new byte[4], 0); - fail("no exception on small key"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("key material too short.")) - { - fail("wrong exception"); - } - } - - try - { - new DESedeParameters(weakKey); - fail("no exception on weak key"); - } - catch (IllegalArgumentException e) - { - if (!e.getMessage().equals("attempt to create weak DESede key")) - { - fail("wrong exception"); - } - } - } - - public String getName() - { - return "DESede"; - } - - public static void main( - String[] args) - { - runTest(new DESedeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHKEKGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHKEKGeneratorTest.java deleted file mode 100644 index 60ad4bbbe..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHKEKGeneratorTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.agreement.kdf.DHKDFParameters; -import org.spongycastle.crypto.agreement.kdf.DHKEKGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * DHKEK Generator tests - from RFC 2631. - */ -public class DHKEKGeneratorTest - extends SimpleTest -{ - private byte[] seed1 = Hex.decode("000102030405060708090a0b0c0d0e0f10111213"); - private DERObjectIdentifier alg1 = PKCSObjectIdentifiers.id_alg_CMS3DESwrap; - private byte[] result1 = Hex.decode("a09661392376f7044d9052a397883246b67f5f1ef63eb5fb"); - - private byte[] seed2 = Hex.decode("000102030405060708090a0b0c0d0e0f10111213"); - private DERObjectIdentifier alg2 = PKCSObjectIdentifiers.id_alg_CMSRC2wrap; - private byte[] partyAInfo = Hex.decode( - "0123456789abcdeffedcba9876543201" - + "0123456789abcdeffedcba9876543201" - + "0123456789abcdeffedcba9876543201" - + "0123456789abcdeffedcba9876543201"); - private byte[] result2 = Hex.decode("48950c46e0530075403cce72889604e0"); - - public DHKEKGeneratorTest() - { - } - - public void performTest() - { - checkMask(1, new DHKEKGenerator(new SHA1Digest()), new DHKDFParameters(alg1, 192, seed1), result1); - checkMask(2, new DHKEKGenerator(new SHA1Digest()), new DHKDFParameters(alg2, 128, seed2, partyAInfo), result2); - } - - private void checkMask( - int count, - DerivationFunction kdf, - DerivationParameters params, - byte[] result) - { - byte[] data = new byte[result.length]; - - kdf.init(params); - - kdf.generateBytes(data, 0, data.length); - - if (!areEqual(result, data)) - { - fail("DHKEKGenerator failed generator test " + count); - } - } - - public String getName() - { - return "DHKEKGenerator"; - } - - public static void main( - String[] args) - { - runTest(new DHKEKGeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHTest.java deleted file mode 100644 index ce78961fa..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DHTest.java +++ /dev/null @@ -1,414 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.agreement.DHAgreement; -import org.spongycastle.crypto.agreement.DHBasicAgreement; -import org.spongycastle.crypto.generators.DHBasicKeyPairGenerator; -import org.spongycastle.crypto.generators.DHKeyPairGenerator; -import org.spongycastle.crypto.generators.DHParametersGenerator; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.test.SimpleTest; - -public class DHTest - extends SimpleTest -{ - private BigInteger g512 = new BigInteger("153d5d6172adb43045b68ae8e1de1070b6137005686d29d3d73a7749199681ee5b212c9b96bfdcfa5b20cd5e3fd2044895d609cf9b410b7a0f12ca1cb9a428cc", 16); - private BigInteger p512 = new BigInteger("9494fec095f3b85ee286542b3836fc81a5dd0a0349b4c239dd38744d488cf8e31db8bcb7d33b41abb9e5a33cca9144b1cef332c94bf0573bf047a3aca98cdf3b", 16); - - private BigInteger g768 = new BigInteger("7c240073c1316c621df461b71ebb0cdcc90a6e5527e5e126633d131f87461c4dc4afc60c2cb0f053b6758871489a69613e2a8b4c8acde23954c08c81cbd36132cfd64d69e4ed9f8e51ed6e516297206672d5c0a69135df0a5dcf010d289a9ca1", 16); - private BigInteger p768 = new BigInteger("8c9dd223debed1b80103b8b309715be009d48860ed5ae9b9d5d8159508efd802e3ad4501a7f7e1cfec78844489148cd72da24b21eddd01aa624291c48393e277cfc529e37075eccef957f3616f962d15b44aeab4039d01b817fde9eaa12fd73f", 16); - - private BigInteger g1024 = new BigInteger("1db17639cdf96bc4eabba19454f0b7e5bd4e14862889a725c96eb61048dcd676ceb303d586e30f060dbafd8a571a39c4d823982117da5cc4e0f89c77388b7a08896362429b94a18a327604eb7ff227bffbc83459ade299e57b5f77b50fb045250934938efa145511166e3197373e1b5b1e52de713eb49792bedde722c6717abf", 16); - private BigInteger p1024 = new BigInteger("a00e283b3c624e5b2b4d9fbc2653b5185d99499b00fd1bf244c6f0bb817b4d1c451b2958d62a0f8a38caef059fb5ecd25d75ed9af403f5b5bdab97a642902f824e3c13789fed95fa106ddfe0ff4a707c85e2eb77d49e68f2808bcea18ce128b178cd287c6bc00efa9a1ad2a673fe0dceace53166f75b81d6709d5f8af7c66bb7", 16); - - public String getName() - { - return "DH"; - } - - private void testDH( - int size, - BigInteger g, - BigInteger p) - { - DHKeyPairGenerator kpGen = getDHKeyPairGenerator(g, p); - - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - // - // generate second pair - // - pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate(); - - // - // two way - // - DHAgreement e1 = new DHAgreement(); - DHAgreement e2 = new DHAgreement(); - - e1.init(pv1); - e2.init(pv2); - - BigInteger m1 = e1.calculateMessage(); - BigInteger m2 = e2.calculateMessage(); - - BigInteger k1 = e1.calculateAgreement(pu2, m2); - BigInteger k2 = e2.calculateAgreement(pu1, m1); - - if (!k1.equals(k2)) - { - fail(size + " bit 2-way test failed"); - } - } - - private void testDHBasic( - int size, - int privateValueSize, - BigInteger g, - BigInteger p) - { - DHBasicKeyPairGenerator kpGen = getDHBasicKeyPairGenerator(g, p, privateValueSize); - - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - - checkKeySize(privateValueSize, pv1); - // - // generate second pair - // - pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate(); - - checkKeySize(privateValueSize, pv2); - // - // two way - // - DHBasicAgreement e1 = new DHBasicAgreement(); - DHBasicAgreement e2 = new DHBasicAgreement(); - - e1.init(pv1); - e2.init(pv2); - - BigInteger k1 = e1.calculateAgreement(pu2); - BigInteger k2 = e2.calculateAgreement(pu1); - - if (!k1.equals(k2)) - { - fail("basic " + size + " bit 2-way test failed"); - } - } - - private void checkKeySize( - int privateValueSize, - DHPrivateKeyParameters priv) - { - if (privateValueSize != 0) - { - if (priv.getX().bitLength() != privateValueSize) - { - fail("limited key check failed for key size " + privateValueSize); - } - } - } - - private void testGPWithRandom( - DHKeyPairGenerator kpGen) - { - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - // - // generate second pair - // - pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate(); - - // - // two way - // - DHAgreement e1 = new DHAgreement(); - DHAgreement e2 = new DHAgreement(); - - e1.init(new ParametersWithRandom(pv1, new SecureRandom())); - e2.init(new ParametersWithRandom(pv2, new SecureRandom())); - - BigInteger m1 = e1.calculateMessage(); - BigInteger m2 = e2.calculateMessage(); - - BigInteger k1 = e1.calculateAgreement(pu2, m2); - BigInteger k2 = e2.calculateAgreement(pu1, m1); - - if (!k1.equals(k2)) - { - fail("basic with random 2-way test failed"); - } - } - - private void testSimpleWithRandom( - DHBasicKeyPairGenerator kpGen) - { - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - // - // generate second pair - // - pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate(); - - // - // two way - // - DHBasicAgreement e1 = new DHBasicAgreement(); - DHBasicAgreement e2 = new DHBasicAgreement(); - - e1.init(new ParametersWithRandom(pv1, new SecureRandom())); - e2.init(new ParametersWithRandom(pv2, new SecureRandom())); - - BigInteger k1 = e1.calculateAgreement(pu2); - BigInteger k2 = e2.calculateAgreement(pu1); - - if (!k1.equals(k2)) - { - fail("basic with random 2-way test failed"); - } - } - - private DHBasicKeyPairGenerator getDHBasicKeyPairGenerator( - BigInteger g, - BigInteger p, - int privateValueSize) - { - DHParameters dhParams = new DHParameters(p, g, null, privateValueSize); - DHKeyGenerationParameters params = new DHKeyGenerationParameters(new SecureRandom(), dhParams); - DHBasicKeyPairGenerator kpGen = new DHBasicKeyPairGenerator(); - - kpGen.init(params); - - return kpGen; - } - - private DHKeyPairGenerator getDHKeyPairGenerator( - BigInteger g, - BigInteger p) - { - DHParameters dhParams = new DHParameters(p, g); - DHKeyGenerationParameters params = new DHKeyGenerationParameters(new SecureRandom(), dhParams); - DHKeyPairGenerator kpGen = new DHKeyPairGenerator(); - - kpGen.init(params); - - return kpGen; - } - - /** - * this test is can take quiet a while - */ - private void testGeneration( - int size) - { - DHParametersGenerator pGen = new DHParametersGenerator(); - - pGen.init(size, 10, new SecureRandom()); - - DHParameters dhParams = pGen.generateParameters(); - - if (dhParams.getL() != 0) - { - fail("DHParametersGenerator failed to set J to 0 in generated DHParameters"); - } - - DHKeyGenerationParameters params = new DHKeyGenerationParameters(new SecureRandom(), dhParams); - - DHBasicKeyPairGenerator kpGen = new DHBasicKeyPairGenerator(); - - kpGen.init(params); - - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - - // - // generate second pair - // - params = new DHKeyGenerationParameters(new SecureRandom(), pu1.getParameters()); - - kpGen.init(params); - - pair = kpGen.generateKeyPair(); - - DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate(); - - // - // two way - // - DHBasicAgreement e1 = new DHBasicAgreement(); - DHBasicAgreement e2 = new DHBasicAgreement(); - - e1.init(new ParametersWithRandom(pv1, new SecureRandom())); - e2.init(new ParametersWithRandom(pv2, new SecureRandom())); - - BigInteger k1 = e1.calculateAgreement(pu2); - BigInteger k2 = e2.calculateAgreement(pu1); - - if (!k1.equals(k2)) - { - fail("basic with " + size + " bit 2-way test failed"); - } - } - private void testBounds() - { - BigInteger p1 = new BigInteger("00C8028E9151C6B51BCDB35C1F6B2527986A72D8546AE7A4BF41DC4289FF9837EE01592D36C324A0F066149B8B940C86C87D194206A39038AE3396F8E12435BB74449B70222D117B8A2BB77CB0D67A5D664DDE7B75E0FEC13CE0CAF258DAF3ADA0773F6FF0F2051D1859929AAA53B07809E496B582A89C3D7DA8B6E38305626621", 16); - BigInteger g1 = new BigInteger("1F869713181464577FE4026B47102FA0D7675503A4FCDA810881FAEC3524E6DBAEA9B96561EF7F8BEA76466DF11C2F3EB1A90CC5851735BF860606481257EECE6418C0204E61004E85D7131CE54BCBC7AD67E53C79DCB715E7C8D083DCD85D728283EC8F96839B4C9FA7C0727C472BEB94E4613CAFA8D580119C0AF4BF8AF252", 16); - int l1 = 1023; - - BigInteger p2 = new BigInteger("00B333C98720220CC3946F494E25231B3E19F9AD5F6B19F4E7ABF80D8826C491C3224D4F7415A14A7C11D1BE584405FED12C3554F103E56A72D986CA5E325BB9DE07AC37D1EAE5E5AC724D32EF638F0E4462D4C1FC7A45B9FD3A5DF5EC36A1FA4DAA3FBB66AA42B1B71DF416AB547E987513426C7BB8634F5F4D37705514FDC1E1", 16); - BigInteger g2 = new BigInteger("2592F5A99FE46313650CCE66C94C15DBED9F4A45BD05C329986CF5D3E12139F0405A47C6385FEA27BFFEDC4CBABC5BB151F3BEE7CC3D51567F1E2B12A975AA9F48A70BDAAE7F5B87E70ADCF902490A3CBEFEDA41EBA8E12E02B56120B5FDEFBED07F5EAD3AE020DF3C8233216F8F0D35E13A7AE4DA5CBCC0D91EADBF20C281C6", 16); - int l2 = 1024; - - DHKeyGenerationParameters params1 = new DHKeyGenerationParameters(new SecureRandom(), new DHParameters(p1, g1, null, l1)); - DHKeyGenerationParameters params2 = new DHKeyGenerationParameters(new SecureRandom(), new DHParameters(p2, g2, null, l2)); - - DHBasicKeyPairGenerator kpGen = new DHBasicKeyPairGenerator(); - - kpGen.init(params1); - kpGen.init(params2); - } - - public void performTest() - { - testDHBasic(512, 0, g512, p512); - testDHBasic(768, 0, g768, p768); - testDHBasic(1024, 0, g1024, p1024); - - testDHBasic(512, 64, g512, p512); - testDHBasic(768, 128, g768, p768); - testDHBasic(1024, 256, g1024, p1024); - - testDH(512, g512, p512); - testDH(768, g768, p768); - testDH(1024, g1024, p1024); - - testBounds(); - - // - // generation test. - // - testGeneration(256); - - // - // with random test - // - DHBasicKeyPairGenerator kpBasicGen = getDHBasicKeyPairGenerator(g512, p512, 0); - - testSimpleWithRandom(kpBasicGen); - - DHKeyPairGenerator kpGen = getDHKeyPairGenerator(g512, p512); - - testGPWithRandom(kpGen); - - // - // parameter tests - // - DHAgreement dh = new DHAgreement(); - AsymmetricCipherKeyPair dhPair = kpGen.generateKeyPair(); - - try - { - dh.init(dhPair.getPublic()); - fail("DHAgreement key check failed"); - } - catch (IllegalArgumentException e) - { - // ignore - } - - DHKeyPairGenerator kpGen768 = getDHKeyPairGenerator(g768, p768); - - try - { - dh.init(dhPair.getPrivate()); - - dh.calculateAgreement((DHPublicKeyParameters)kpGen768.generateKeyPair().getPublic(), BigInteger.valueOf(100)); - - fail("DHAgreement agreement check failed"); - } - catch (IllegalArgumentException e) - { - // ignore - } - - DHBasicAgreement dhBasic = new DHBasicAgreement(); - AsymmetricCipherKeyPair dhBasicPair = kpBasicGen.generateKeyPair(); - - try - { - dhBasic.init(dhBasicPair.getPublic()); - fail("DHBasicAgreement key check failed"); - } - catch (IllegalArgumentException e) - { - // expected - } - - DHBasicKeyPairGenerator kpBasicGen768 = getDHBasicKeyPairGenerator(g768, p768, 0); - - try - { - dhBasic.init(dhPair.getPrivate()); - - dhBasic.calculateAgreement((DHPublicKeyParameters)kpBasicGen768.generateKeyPair().getPublic()); - - fail("DHBasicAgreement agreement check failed"); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - public static void main( - String[] args) - { - runTest(new DHTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSATest.java deleted file mode 100644 index 3d91dee90..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSATest.java +++ /dev/null @@ -1,602 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.generators.DSAKeyPairGenerator; -import org.spongycastle.crypto.generators.DSAParametersGenerator; -import org.spongycastle.crypto.params.DSAKeyGenerationParameters; -import org.spongycastle.crypto.params.DSAParameterGenerationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.DSAValidationParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.DSASigner; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test based on FIPS 186-2, Appendix 5, an example of DSA, and FIPS 168-3 test vectors. - */ -public class DSATest - extends SimpleTest -{ - byte[] k1 = Hex.decode("d5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - byte[] k2 = Hex.decode("345e8d05c075c3a508df729a1685690e68fcfb8c8117847e89063bca1f85d968fd281540b6e13bd1af989a1fbf17e06462bf511f9d0b140fb48ac1b1baa5bded"); - - SecureRandom random = new FixedSecureRandom(new byte[][] { k1, k2}); - - byte[] keyData = Hex.decode("b5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - - SecureRandom keyRandom = new FixedSecureRandom(new byte[][] { keyData, keyData }); - - BigInteger pValue = new BigInteger("8df2a494492276aa3d25759bb06869cbeac0d83afb8d0cf7cbb8324f0d7882e5d0762fc5b7210eafc2e9adac32ab7aac49693dfbf83724c2ec0736ee31c80291", 16); - BigInteger qValue = new BigInteger("c773218c737ec8ee993b4f2ded30f48edace915f", 16); - - public String getName() - { - return "DSA"; - } - - public void performTest() - { - BigInteger r = new BigInteger("68076202252361894315274692543577577550894681403"); - BigInteger s = new BigInteger("1089214853334067536215539335472893651470583479365"); - DSAParametersGenerator pGen = new DSAParametersGenerator(); - - pGen.init(512, 80, random); - - DSAParameters params = pGen.generateParameters(); - DSAValidationParameters pValid = params.getValidationParameters(); - - if (pValid.getCounter() != 105) - { - fail("Counter wrong"); - } - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - fail("p or q wrong"); - } - - DSAKeyPairGenerator dsaKeyGen = new DSAKeyPairGenerator(); - DSAKeyGenerationParameters genParam = new DSAKeyGenerationParameters(keyRandom, params); - - dsaKeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = dsaKeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom); - - DSASigner dsa = new DSASigner(); - - dsa.init(true, param); - - byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517")); - BigInteger[] sig = dsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong.", r, sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong.", s, sig[1]); - } - - dsa.init(false, pair.getPublic()); - - if (!dsa.verifySignature(message, sig[0], sig[1])) - { - fail("verification fails"); - } - - dsa2Test1(); - dsa2Test2(); - dsa2Test3(); - dsa2Test4(); - } - - private void dsa2Test1() - { - byte[] seed = Hex.decode("ED8BEE8D1CB89229D2903CBF0E51EE7377F48698"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(); - - pGen.init(new DSAParameterGenerationParameters(1024, 160, 80, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 5) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("E950511EAB424B9A19A2AEB4E159B7844C589C4F", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "E0A67598CD1B763B" + - "C98C8ABB333E5DDA0CD3AA0E5E1FB5BA8A7B4EABC10BA338" + - "FAE06DD4B90FDA70D7CF0CB0C638BE3341BEC0AF8A7330A3" + - "307DED2299A0EE606DF035177A239C34A912C202AA5F83B9" + - "C4A7CF0235B5316BFC6EFB9A248411258B30B839AF172440" + - "F32563056CB67A861158DDD90E6A894C72A5BBEF9E286C6B", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "D29D5121B0423C27" + - "69AB21843E5A3240FF19CACC792264E3BB6BE4F78EDD1B15" + - "C4DFF7F1D905431F0AB16790E1F773B5CE01C804E509066A" + - "9919F5195F4ABC58189FD9FF987389CB5BEDF21B4DAB4F8B" + - "76A055FFE2770988FE2EC2DE11AD92219F0B351869AC24DA" + - "3D7BA87011A701CE8EE7BFE49486ED4527B7186CA4610A75", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("D0EC4E50BB290A42E9E355C73D8809345DE2E139")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "25282217F5730501" + - "DD8DBA3EDFCF349AAFFEC20921128D70FAC44110332201BB" + - "A3F10986140CBB97C726938060473C8EC97B4731DB004293" + - "B5E730363609DF9780F8D883D8C4D41DED6A2F1E1BBBDC97" + - "9E1B9D6D3C940301F4E978D65B19041FCF1E8B518F5C0576" + - "C770FE5A7A485D8329EE2914A2DE1B5DA4A6128CEAB70F79", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("D0EC4E50BB290A42E9E355C73D8809345DE2E139", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("349C55648DCF992F3F33E8026CFAC87C1D2BA075")))); - - byte[] msg = Hex.decode("A9993E364706816ABA3E25717850C26C9CD0D89D"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("636155AC9A4633B4665D179F9E4117DF68601F34", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("6C540B02D9D4852F89DF8CFC99963204F4347704", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - - } - - private void dsa2Test2() - { - byte[] seed = Hex.decode("5AFCC1EFFC079A9CCA6ECA86D6E3CC3B18642D9BE1CC6207C84002A9"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA224Digest()); - - pGen.init(new DSAParameterGenerationParameters(2048, 224, 80, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 21) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("90EAF4D1AF0708B1B612FF35E0A2997EB9E9D263C9CE659528945C0D", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "C196BA05AC29E1F9C3C72D56DFFC6154" + - "A033F1477AC88EC37F09BE6C5BB95F51C296DD20D1A28A06" + - "7CCC4D4316A4BD1DCA55ED1066D438C35AEBAABF57E7DAE4" + - "28782A95ECA1C143DB701FD48533A3C18F0FE23557EA7AE6" + - "19ECACC7E0B51652A8776D02A425567DED36EABD90CA33A1" + - "E8D988F0BBB92D02D1D20290113BB562CE1FC856EEB7CDD9" + - "2D33EEA6F410859B179E7E789A8F75F645FAE2E136D252BF" + - "FAFF89528945C1ABE705A38DBC2D364AADE99BE0D0AAD82E" + - "5320121496DC65B3930E38047294FF877831A16D5228418D" + - "E8AB275D7D75651CEFED65F78AFC3EA7FE4D79B35F62A040" + - "2A1117599ADAC7B269A59F353CF450E6982D3B1702D9CA83", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "A59A749A11242C58C894E9E5A91804E8"+ - "FA0AC64B56288F8D47D51B1EDC4D65444FECA0111D78F35F"+ - "C9FDD4CB1F1B79A3BA9CBEE83A3F811012503C8117F98E50"+ - "48B089E387AF6949BF8784EBD9EF45876F2E6A5A495BE64B"+ - "6E770409494B7FEE1DBB1E4B2BC2A53D4F893D418B715959"+ - "2E4FFFDF6969E91D770DAEBD0B5CB14C00AD68EC7DC1E574"+ - "5EA55C706C4A1C5C88964E34D09DEB753AD418C1AD0F4FDF"+ - "D049A955E5D78491C0B7A2F1575A008CCD727AB376DB6E69"+ - "5515B05BD412F5B8C2F4C77EE10DA48ABD53F5DD498927EE"+ - "7B692BBBCDA2FB23A516C5B4533D73980B2A3B60E384ED20"+ - "0AE21B40D273651AD6060C13D97FD69AA13C5611A51B9085", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("00D0F09ED3E2568F6CADF9224117DA2AEC5A4300E009DE1366023E17")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "70035C9A3B225B258F16741F3941FBF0" + - "6F3D056CD7BD864604CBB5EE9DD85304EE8E8E4ABD5E9032" + - "11DDF25CE149075510ACE166970AFDC7DF552B7244F342FA" + - "02F7A621405B754909D757F97290E1FE5036E904CF593446" + - "0C046D95659821E1597ED9F2B1F0E20863A6BBD0CE74DACB" + - "A5D8C68A90B29C2157CDEDB82EC12B81EE3068F9BF5F7F34" + - "6ECA41ED174CCCD7D154FA4F42F80FFE1BF46AE9D8125DEB" + - "5B4BA08A72BDD86596DBEDDC9550FDD650C58F5AE5133509" + - "A702F79A31ECB490F7A3C5581631F7C5BE4FF7F9E9F27FA3" + - "90E47347AD1183509FED6FCF198BA9A71AB3335B4F38BE8D" + - "15496A00B6DC2263E20A5F6B662320A3A1EC033AA61E3B68", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("00D0F09ED3E2568F6CADF9224117DA2AEC5A4300E009DE1366023E17", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("735959CC4463B8B440E407EECA8A473BF6A6D1FE657546F67D401F05")))); - - byte[] msg = Hex.decode("23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("4400138D05F9639CAF54A583CAAF25D2B76D0C3EAD752CE17DBC85FE", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("874D4F12CB13B61732D398445698CFA9D92381D938AA57EE2C9327B3", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - private void dsa2Test3() - { - byte[] seed = Hex.decode("4783081972865EA95D43318AB2EAF9C61A2FC7BBF1B772A09017BDF5A58F4FF0"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA256Digest()); - - pGen.init(new DSAParameterGenerationParameters(2048, 256, 80, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 12) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("C24ED361870B61E0D367F008F99F8A1F75525889C89DB1B673C45AF5867CB467", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "F56C2A7D366E3EBDEAA1891FD2A0D099" + - "436438A673FED4D75F594959CFFEBCA7BE0FC72E4FE67D91" + - "D801CBA0693AC4ED9E411B41D19E2FD1699C4390AD27D94C" + - "69C0B143F1DC88932CFE2310C886412047BD9B1C7A67F8A2" + - "5909132627F51A0C866877E672E555342BDF9355347DBD43" + - "B47156B2C20BAD9D2B071BC2FDCF9757F75C168C5D9FC431" + - "31BE162A0756D1BDEC2CA0EB0E3B018A8B38D3EF2487782A" + - "EB9FBF99D8B30499C55E4F61E5C7DCEE2A2BB55BD7F75FCD" + - "F00E48F2E8356BDB59D86114028F67B8E07B127744778AFF" + - "1CF1399A4D679D92FDE7D941C5C85C5D7BFF91BA69F9489D" + - "531D1EBFA727CFDA651390F8021719FA9F7216CEB177BD75", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "8DC6CC814CAE4A1C05A3E186A6FE27EA" + - "BA8CDB133FDCE14A963A92E809790CBA096EAA26140550C1" + - "29FA2B98C16E84236AA33BF919CD6F587E048C52666576DB" + - "6E925C6CBE9B9EC5C16020F9A44C9F1C8F7A8E611C1F6EC2" + - "513EA6AA0B8D0F72FED73CA37DF240DB57BBB27431D61869" + - "7B9E771B0B301D5DF05955425061A30DC6D33BB6D2A32BD0" + - "A75A0A71D2184F506372ABF84A56AEEEA8EB693BF29A6403" + - "45FA1298A16E85421B2208D00068A5A42915F82CF0B858C8" + - "FA39D43D704B6927E0B2F916304E86FB6A1B487F07D8139E" + - "428BB096C6D67A76EC0B8D4EF274B8A2CF556D279AD267CC" + - "EF5AF477AFED029F485B5597739F5D0240F67C2D948A6279", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "2828003D7C747199143C370FDD07A286" + - "1524514ACC57F63F80C38C2087C6B795B62DE1C224BF8D1D" + - "1424E60CE3F5AE3F76C754A2464AF292286D873A7A30B7EA" + - "CBBC75AAFDE7191D9157598CDB0B60E0C5AA3F6EBE425500" + - "C611957DBF5ED35490714A42811FDCDEB19AF2AB30BEADFF" + - "2907931CEE7F3B55532CFFAEB371F84F01347630EB227A41" + - "9B1F3F558BC8A509D64A765D8987D493B007C4412C297CAF" + - "41566E26FAEE475137EC781A0DC088A26C8804A98C23140E" + - "7C936281864B99571EE95C416AA38CEEBB41FDBFF1EB1D1D" + - "C97B63CE1355257627C8B0FD840DDB20ED35BE92F08C49AE" + - "A5613957D7E5C7A6D5A5834B4CB069E0831753ECF65BA02B", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C")))); - - byte[] msg = Hex.decode("BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("315C875DCD4850E948B8AC42824E9483A32D5BA5ABE0681B9B9448D444F2BE3C", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("89718D12E54A8D9ED066E4A55F7ED5A2229CD23B9A3CEE78F83ED6AA61F6BCB9", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - private void dsa2Test4() - { - byte[] seed = Hex.decode("193AFCA7C1E77B3C1ECC618C81322E47B8B8B997C9C83515C59CC446C2D9BD47"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA256Digest()); - - pGen.init(new DSAParameterGenerationParameters(3072, 256, 80, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 20) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("CFA0478A54717B08CE64805B76E5B14249A77A4838469DF7F7DC987EFCCFB11D", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "90066455B5CFC38F9CAA4A48B4281F292C260FEEF01FD610" + - "37E56258A7795A1C7AD46076982CE6BB956936C6AB4DCFE0" + - "5E6784586940CA544B9B2140E1EB523F009D20A7E7880E4E" + - "5BFA690F1B9004A27811CD9904AF70420EEFD6EA11EF7DA1" + - "29F58835FF56B89FAA637BC9AC2EFAAB903402229F491D8D" + - "3485261CD068699B6BA58A1DDBBEF6DB51E8FE34E8A78E54" + - "2D7BA351C21EA8D8F1D29F5D5D15939487E27F4416B0CA63" + - "2C59EFD1B1EB66511A5A0FBF615B766C5862D0BD8A3FE7A0" + - "E0DA0FB2FE1FCB19E8F9996A8EA0FCCDE538175238FC8B0E" + - "E6F29AF7F642773EBE8CD5402415A01451A840476B2FCEB0" + - "E388D30D4B376C37FE401C2A2C2F941DAD179C540C1C8CE0" + - "30D460C4D983BE9AB0B20F69144C1AE13F9383EA1C08504F" + - "B0BF321503EFE43488310DD8DC77EC5B8349B8BFE97C2C56" + - "0EA878DE87C11E3D597F1FEA742D73EEC7F37BE43949EF1A" + - "0D15C3F3E3FC0A8335617055AC91328EC22B50FC15B941D3" + - "D1624CD88BC25F3E941FDDC6200689581BFEC416B4B2CB73", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "5E5CBA992E0A680D885EB903AEA78E4A45A469103D448EDE" + - "3B7ACCC54D521E37F84A4BDD5B06B0970CC2D2BBB715F7B8" + - "2846F9A0C393914C792E6A923E2117AB805276A975AADB52" + - "61D91673EA9AAFFEECBFA6183DFCB5D3B7332AA19275AFA1" + - "F8EC0B60FB6F66CC23AE4870791D5982AAD1AA9485FD8F4A" + - "60126FEB2CF05DB8A7F0F09B3397F3937F2E90B9E5B9C9B6" + - "EFEF642BC48351C46FB171B9BFA9EF17A961CE96C7E7A7CC" + - "3D3D03DFAD1078BA21DA425198F07D2481622BCE45969D9C" + - "4D6063D72AB7A0F08B2F49A7CC6AF335E08C4720E31476B6" + - "7299E231F8BD90B39AC3AE3BE0C6B6CACEF8289A2E2873D5" + - "8E51E029CAFBD55E6841489AB66B5B4B9BA6E2F784660896" + - "AFF387D92844CCB8B69475496DE19DA2E58259B090489AC8" + - "E62363CDF82CFD8EF2A427ABCD65750B506F56DDE3B98856" + - "7A88126B914D7828E2B63A6D7ED0747EC59E0E0A23CE7D8A" + - "74C1D2C2A7AFB6A29799620F00E11C33787F7DED3B30E1A2" + - "2D09F1FBDA1ABBBFBF25CAE05A13F812E34563F99410E73B", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("3ABC1587297CE7B9EA1AD6651CF2BC4D7F92ED25CABC8553F567D1B40EBB8764")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "8B891C8692D3DE875879390F2698B26FBECCA6B075535DCE" + - "6B0C862577F9FA0DEF6074E7A7624121224A595896ABD4CD" + - "A56B2CEFB942E025D2A4282FFAA98A48CDB47E1A6FCB5CFB" + - "393EF35AF9DF913102BB303C2B5C36C3F8FC04ED7B8B69FE" + - "FE0CF3E1FC05CFA713B3435B2656E913BA8874AEA9F93600" + - "6AEB448BCD005D18EC3562A33D04CF25C8D3D69844343442" + - "FA3DB7DE618C5E2DA064573E61E6D5581BFB694A23AC87FD" + - "5B52D62E954E1376DB8DDB524FFC0D469DF978792EE44173" + - "8E5DB05A7DC43E94C11A2E7A4FBE383071FA36D2A7EC8A93" + - "88FE1C4F79888A99D3B6105697C2556B79BB4D7E781CEBB3" + - "D4866AD825A5E830846072289FDBC941FA679CA82F5F78B7" + - "461B2404DB883D215F4E0676CF5493950AC5591697BFEA8D" + - "1EE6EC016B89BA51CAFB5F9C84C989FA117375E94578F28B" + - "E0B34CE0545DA46266FD77F62D8F2CEE92AB77012AFEBC11" + - "008985A821CD2D978C7E6FE7499D1AAF8DE632C21BB48CA5" + - "CBF9F31098FD3FD3854C49A65D9201744AACE540354974F9", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("3ABC1587297CE7B9EA1AD6651CF2BC4D7F92ED25CABC8553F567D1B40EBB8764", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("A6902C1E6E3943C5628061588A8B007BCCEA91DBF12915483F04B24AB0678BEE")))); - - byte[] msg = Hex.decode("BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("5F184E645A38BE8FB4A6871B6503A9D12924C7ABE04B71410066C2ECA6E3BE3E", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("91EB0C7BA3D4B9B60B825C3D9F2CADA8A2C9D7723267B033CBCDCF8803DB9C18", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - public static void main( - String[] args) - { - runTest(new DSATest()); - } - - private class DSATestSecureRandom - extends FixedSecureRandom - { - private boolean first = true; - - public DSATestSecureRandom(byte[] value) - { - super(value); - } - - public void nextBytes(byte[] bytes) - { - if (first) - { - super.nextBytes(bytes); - first = false; - } - else - { - bytes[bytes.length - 1] = 2; - } - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSTU4145Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSTU4145Test.java deleted file mode 100644 index 43d27f09d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DSTU4145Test.java +++ /dev/null @@ -1,278 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.DSTU4145Signer; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -public class DSTU4145Test - extends SimpleTest -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - private static final BigInteger ONE = BigInteger.valueOf(1); - - public static void main(String[] args) - { - runTest(new DSTU4145Test()); - } - - public String getName() - { - return "DSTU4145"; - } - - private void test163() - throws Exception - { - SecureRandom random = new FixedSecureRandom(Hex.decode("01025e40bd97db012b7a1d79de8e12932d247f61c6")); - - byte[] hash = Hex.decode("09c9c44277910c9aaee486883a2eb95b7180166ddf73532eeb76edaef52247ff"); - for (int i = 0; i < hash.length / 2; i++) - { - byte tmp = hash[i]; - hash[i] = hash[hash.length - 1 - i]; - hash[hash.length - 1 - i] = tmp; - } - - BigInteger r = new BigInteger("274ea2c0caa014a0d80a424f59ade7a93068d08a7", 16); - BigInteger s = new BigInteger("2100d86957331832b8e8c230f5bd6a332b3615aca", 16); - - ECCurve.F2m curve = new ECCurve.F2m(163, 3, 6, 7, ONE, new BigInteger("5FF6108462A2DC8210AB403925E638A19C1455D21", 16)); - ECPoint P = curve.createPoint(new BigInteger("72d867f93a93ac27df9ff01affe74885c8c540420", 16), new BigInteger("0224a9c3947852b97c5599d5f4ab81122adc3fd9b", 16)); - BigInteger n = new BigInteger("400000000000000000002BEC12BE2262D39BCF14D", 16); - - BigInteger d = new BigInteger("183f60fdf7951ff47d67193f8d073790c1c9b5a3e", 16); - ECPoint Q = P.multiply(d).negate(); - - ECDomainParameters domain = new ECDomainParameters(curve, P, n); - CipherParameters privKey = new ParametersWithRandom(new ECPrivateKeyParameters(d, domain), random); - ECPublicKeyParameters pubKey = new ECPublicKeyParameters(Q, domain); - - DSTU4145Signer dstuSigner = new DSTU4145Signer(); - dstuSigner.init(true, privKey); - BigInteger[] rs = dstuSigner.generateSignature(hash); - - if (rs[0].compareTo(r) != 0) - { - fail("r component wrong"); - } - - if (rs[1].compareTo(s) != 0) - { - fail("s component wrong"); - } - - dstuSigner.init(false, pubKey); - if (!dstuSigner.verifySignature(hash, r, s)) - { - fail("verification fails"); - } - } - - private void test173() - throws Exception - { - SecureRandom random = new FixedSecureRandom(Hex.decode("0000137449348C1249971759D99C252FFE1E14D8B31F")); - - byte[] hash = Hex.decode("0137187EA862117EF1484289470ECAC802C5A651FDA8"); - for (int i = 0; i < hash.length / 2; i++) - { - byte tmp = hash[i]; - hash[i] = hash[hash.length - 1 - i]; - hash[hash.length - 1 - i] = tmp; - } - - BigInteger r = new BigInteger("13ae89746386709cdbd237cc5ec20ca30004a82ead8", 16); - BigInteger s = new BigInteger("3597912cdd093b3e711ccb74a79d3c4ab4c7cccdc60", 16); - - ECCurve.F2m curve = new ECCurve.F2m(173, 1, 2, 10, ZERO, new BigInteger("108576C80499DB2FC16EDDF6853BBB278F6B6FB437D9", 16)); - ECPoint P = curve.createPoint(new BigInteger("BE6628EC3E67A91A4E470894FBA72B52C515F8AEE9", 16), new BigInteger("D9DEEDF655CF5412313C11CA566CDC71F4DA57DB45C", 16)); - BigInteger n = new BigInteger("800000000000000000000189B4E67606E3825BB2831", 16); - - BigInteger d = new BigInteger("955CD7E344303D1034E66933DC21C8044D42ADB8", 16); - ECPoint Q = P.multiply(d).negate(); - - ECDomainParameters domain = new ECDomainParameters(curve, P, n); - CipherParameters privKey = new ParametersWithRandom(new ECPrivateKeyParameters(d, domain), random); - ECPublicKeyParameters pubKey = new ECPublicKeyParameters(Q, domain); - - DSTU4145Signer dstuSigner = new DSTU4145Signer(); - dstuSigner.init(true, privKey); - BigInteger[] rs = dstuSigner.generateSignature(hash); - - if (rs[0].compareTo(r) != 0) - { - fail("r component wrong"); - } - - if (rs[1].compareTo(s) != 0) - { - fail("s component wrong"); - } - - dstuSigner.init(false, pubKey); - if (!dstuSigner.verifySignature(hash, r, s)) - { - fail("verification fails"); - } - } - - private void test283() - throws Exception - { - SecureRandom random = new FixedSecureRandom(Hex.decode("00000000245383CB3AD41BF30F5F7E8FBA858509B2D5558C92D539A6D994BFA98BC6940E")); - - byte[] hash = Hex.decode("0137187EA862117EF1484289470ECAC802C5A651FDA8"); - for (int i = 0; i < hash.length / 2; i++) - { - byte tmp = hash[i]; - hash[i] = hash[hash.length - 1 - i]; - hash[hash.length - 1 - i] = tmp; - } - - BigInteger r = new BigInteger("12a5edcc38d92208ff23036d75b000c7e4bc0f9af2d40b35f15d6fd15e01234e67781a8", 16); - BigInteger s = new BigInteger("2de0775577f75b643cf5afc80d4fe10b21100690f17e2cab7bdc9b50ec87c5727aeb515", 16); - - ECCurve.F2m curve = new ECCurve.F2m(283, 5, 7, 12, ONE, new BigInteger("27B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5", 16)); - ECPoint P = curve.createPoint(new BigInteger("4D95820ACE761110824CE425C8089129487389B7F0E0A9D043DDC0BB0A4CC9EB25", 16), new BigInteger("954C9C4029B2C62DE35C2B9C2A164984BF1101951E3A68ED03DF234DDE5BB2013152F2", 16)); - BigInteger n = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307", 16); - - BigInteger d = new BigInteger("B844EEAF15213E4BAD4FB84796D68F2448DB8EB7B4621EC0D51929874892C43E", 16); - ECPoint Q = P.multiply(d).negate(); - - ECDomainParameters domain = new ECDomainParameters(curve, P, n); - CipherParameters privKey = new ParametersWithRandom(new ECPrivateKeyParameters(d, domain), random); - ECPublicKeyParameters pubKey = new ECPublicKeyParameters(Q, domain); - - DSTU4145Signer dstuSigner = new DSTU4145Signer(); - dstuSigner.init(true, privKey); - BigInteger[] rs = dstuSigner.generateSignature(hash); - - if (rs[0].compareTo(r) != 0) - { - fail("r component wrong"); - } - - if (rs[1].compareTo(s) != 0) - { - fail("s component wrong"); - } - - dstuSigner.init(false, pubKey); - if (!dstuSigner.verifySignature(hash, r, s)) - { - fail("verification fails"); - } - } - - private void test431() - throws Exception - { - SecureRandom random = new FixedSecureRandom(Hex.decode("0000C4224DBBD800988DBAA39DE838294C345CDA5F5929D1174AA8D9340A5E79D10ACADE6B53CF873E7301A3871C2073AD75AB530457")); - - byte[] hash = Hex.decode("0137187EA862117EF1484289470ECAC802C5A651FDA8"); - for (int i = 0; i < hash.length / 2; i++) - { - byte tmp = hash[i]; - hash[i] = hash[hash.length - 1 - i]; - hash[hash.length - 1 - i] = tmp; - } - - BigInteger r = new BigInteger("1911fefb1f494bebcf8dffdf5276946ff9c9f662192ee18c718db47310a439c784fe07577b16e1edbe16179876e0792a634f1c9c3a2e", 16); - BigInteger s = new BigInteger("3852170ee801c2083c52f1ea77b987a5432acecd9c654f064e87bf179e0a397151edbca430082e43bd38a67b55424b5bbc7f2713f620", 16); - - ECCurve.F2m curve = new ECCurve.F2m(431, 1, 3, 5, ONE, new BigInteger("3CE10490F6A708FC26DFE8C3D27C4F94E690134D5BFF988D8D28AAEAEDE975936C66BAC536B18AE2DC312CA493117DAA469C640CAF3", 16)); - ECPoint P = curve.createPoint(new BigInteger("9548BCDF314CEEEAF099C780FFEFBF93F9FE5B5F55547603C9C8FC1A2774170882B3BE35E892C6D4296B8DEA282EC30FB344272791", 16), new BigInteger("4C6CBD7C62A8EEEFDE17A8B5E196E49A22CE6DE128ABD9FBD81FA4411AD5A38E2A810BEDE09A7C6226BCDCB4A4A5DA37B4725E00AA74", 16)); - BigInteger n = new BigInteger("3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA3175458009A8C0A724F02F81AA8A1FCBAF80D90C7A95110504CF", 16); - - BigInteger d = new BigInteger("D0F97354E314191FD773E2404F478C8AEE0FF5109F39E6F37D1FEEC8B2ED1691D84C9882CC729E716A71CC013F66CAC60E29E22C", 16); - ECPoint Q = P.multiply(d).negate(); - - ECDomainParameters domain = new ECDomainParameters(curve, P, n); - CipherParameters privKey = new ParametersWithRandom(new ECPrivateKeyParameters(d, domain), random); - ECPublicKeyParameters pubKey = new ECPublicKeyParameters(Q, domain); - - DSTU4145Signer dstuSigner = new DSTU4145Signer(); - dstuSigner.init(true, privKey); - BigInteger[] rs = dstuSigner.generateSignature(hash); - - if (rs[0].compareTo(r) != 0) - { - fail("r component wrong"); - } - - if (rs[1].compareTo(s) != 0) - { - fail("s component wrong"); - } - - dstuSigner.init(false, pubKey); - if (!dstuSigner.verifySignature(hash, r, s)) - { - fail("verification fails"); - } - } - - private void testTruncation() - { - SecureRandom random = new FixedSecureRandom(Hex.decode("0000C4224DBBD800988DBAA39DE838294C345CDA5F5929D1174AA8D9340A5E79D10ACADE6B53CF873E7301A3871C2073AD75AB530457")); - - // use extra long "hash" with set bits... - byte[] hash = Hex.decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"); - - ECCurve.F2m curve = new ECCurve.F2m(173, 1, 2, 10, ZERO, new BigInteger("108576C80499DB2FC16EDDF6853BBB278F6B6FB437D9", 16)); - ECPoint P = curve.createPoint(new BigInteger("BE6628EC3E67A91A4E470894FBA72B52C515F8AEE9", 16), new BigInteger("D9DEEDF655CF5412313C11CA566CDC71F4DA57DB45C", 16)); - BigInteger n = new BigInteger("800000000000000000000189B4E67606E3825BB2831", 16); - - BigInteger d = new BigInteger("955CD7E344303D1034E66933DC21C8044D42ADB8", 16); - ECPoint Q = P.multiply(d).negate(); - - ECDomainParameters domain = new ECDomainParameters(curve, P, n); - CipherParameters privKey = new ParametersWithRandom(new ECPrivateKeyParameters(d, domain), random); - ECPublicKeyParameters pubKey = new ECPublicKeyParameters(Q, domain); - - DSTU4145Signer dstuSigner = new DSTU4145Signer(); - dstuSigner.init(true, privKey); - BigInteger[] rs = dstuSigner.generateSignature(hash); - - BigInteger r = new BigInteger("6bb5c0cb82e5067485458ebfe81025f03b687c63a27", 16); - BigInteger s = new BigInteger("34d6b1868969b86ecf934167c8fe352c63d1074bd", 16); - - if (rs[0].compareTo(r) != 0) - { - fail("r component wrong"); - } - - if (rs[1].compareTo(s) != 0) - { - fail("s component wrong"); - } - - dstuSigner.init(false, pubKey); - if (!dstuSigner.verifySignature(hash, rs[0], rs[1])) - { - fail("verification fails"); - } - } - - public void performTest() - throws Exception - { - test163(); - test173(); - test283(); - test431(); - testTruncation(); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DeterministicDSATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DeterministicDSATest.java deleted file mode 100644 index e5f61ec2f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DeterministicDSATest.java +++ /dev/null @@ -1,513 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; - -import org.spongycastle.asn1.nist.NISTNamedCurves; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DSA; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.signers.DSASigner; -import org.spongycastle.crypto.signers.ECDSASigner; -import org.spongycastle.crypto.signers.HMacDSAKCalculator; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Tests are taken from RFC 6979 - "Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)" - */ -public class DeterministicDSATest - extends SimpleTest -{ - - public static final byte[] SAMPLE = Hex.decode("73616d706c65"); // "sample" - public static final byte[] TEST = Hex.decode("74657374"); // "test" - - // test vectors from appendix in RFC 6979 - private void testHMacDeterministic() - { - DSAParameters dsaParameters = new DSAParameters( - new BigInteger("86F5CA03DCFEB225063FF830A0C769B9DD9D6153AD91D7CE27F787C43278B447" + - "E6533B86B18BED6E8A48B784A14C252C5BE0DBF60B86D6385BD2F12FB763ED88" + - "73ABFD3F5BA2E0A8C0A59082EAC056935E529DAF7C610467899C77ADEDFC846C" + - "881870B7B19B2B58F9BE0521A17002E3BDD6B86685EE90B3D9A1B02B782B1779", 16), - new BigInteger("996F967F6C8E388D9E28D01E205FBA957A5698B1", 16), - new BigInteger("07B0F92546150B62514BB771E2A0C0CE387F03BDA6C56B505209FF25FD3C133D" + - "89BBCD97E904E09114D9A7DEFDEADFC9078EA544D2E401AEECC40BB9FBBF78FD" + - "87995A10A1C27CB7789B594BA7EFB5C4326A9FE59A070E136DB77175464ADCA4" + - "17BE5DCE2F40D10A46A3A3943F26AB7FD9C0398FF8C76EE0A56826A8A88F1DBD", 16)); - - DSAPrivateKeyParameters privKey = new DSAPrivateKeyParameters(new BigInteger("411602CB19A6CCC34494D79D98EF1E7ED5AF25F7", 16), dsaParameters); - - doTestHMACDetDSASample(new SHA1Digest(), privKey, new BigInteger("2E1A0C2562B2912CAAF89186FB0F42001585DA55", 16), new BigInteger("29EFB6B0AFF2D7A68EB70CA313022253B9A88DF5", 16)); - doTestHMACDetDSASample(new SHA224Digest(), privKey, new BigInteger("4BC3B686AEA70145856814A6F1BB53346F02101E", 16), new BigInteger("410697B92295D994D21EDD2F4ADA85566F6F94C1", 16)); - doTestHMACDetDSASample(new SHA256Digest(), privKey, new BigInteger("81F2F5850BE5BC123C43F71A3033E9384611C545", 16), new BigInteger("4CDD914B65EB6C66A8AAAD27299BEE6B035F5E89", 16)); - doTestHMACDetDSASample(new SHA384Digest(), privKey, new BigInteger("07F2108557EE0E3921BC1774F1CA9B410B4CE65A", 16), new BigInteger("54DF70456C86FAC10FAB47C1949AB83F2C6F7595", 16)); - doTestHMACDetDSASample(new SHA512Digest(), privKey, new BigInteger("16C3491F9B8C3FBBDD5E7A7B667057F0D8EE8E1B", 16), new BigInteger("02C36A127A7B89EDBB72E4FFBC71DABC7D4FC69C", 16)); - - doTestHMACDetDSATest(new SHA1Digest(), privKey, new BigInteger("42AB2052FD43E123F0607F115052A67DCD9C5C77", 16), new BigInteger("183916B0230D45B9931491D4C6B0BD2FB4AAF088", 16)); - doTestHMACDetDSATest(new SHA224Digest(), privKey, new BigInteger("6868E9964E36C1689F6037F91F28D5F2C30610F2", 16), new BigInteger("49CEC3ACDC83018C5BD2674ECAAD35B8CD22940F", 16)); - doTestHMACDetDSATest(new SHA256Digest(), privKey, new BigInteger("22518C127299B0F6FDC9872B282B9E70D0790812", 16), new BigInteger("6837EC18F150D55DE95B5E29BE7AF5D01E4FE160", 16)); - doTestHMACDetDSATest(new SHA384Digest(), privKey, new BigInteger("854CF929B58D73C3CBFDC421E8D5430CD6DB5E66", 16), new BigInteger("91D0E0F53E22F898D158380676A871A157CDA622", 16)); - doTestHMACDetDSATest(new SHA512Digest(), privKey, new BigInteger("8EA47E475BA8AC6F2D821DA3BD212D11A3DEB9A0", 16), new BigInteger("7C670C7AD72B6C050C109E1790008097125433E8", 16)); - - dsaParameters = new DSAParameters( - new BigInteger("9DB6FB5951B66BB6FE1E140F1D2CE5502374161FD6538DF1648218642F0B5C48" + - "C8F7A41AADFA187324B87674FA1822B00F1ECF8136943D7C55757264E5A1A44F" + - "FE012E9936E00C1D3E9310B01C7D179805D3058B2A9F4BB6F9716BFE6117C6B5" + - "B3CC4D9BE341104AD4A80AD6C94E005F4B993E14F091EB51743BF33050C38DE2" + - "35567E1B34C3D6A5C0CEAA1A0F368213C3D19843D0B4B09DCB9FC72D39C8DE41" + - "F1BF14D4BB4563CA28371621CAD3324B6A2D392145BEBFAC748805236F5CA2FE" + - "92B871CD8F9C36D3292B5509CA8CAA77A2ADFC7BFD77DDA6F71125A7456FEA15" + - "3E433256A2261C6A06ED3693797E7995FAD5AABBCFBE3EDA2741E375404AE25B", 16), - new BigInteger("F2C3119374CE76C9356990B465374A17F23F9ED35089BD969F61C6DDE9998C1F", 16), - new BigInteger("5C7FF6B06F8F143FE8288433493E4769C4D988ACE5BE25A0E24809670716C613" + - "D7B0CEE6932F8FAA7C44D2CB24523DA53FBE4F6EC3595892D1AA58C4328A06C4" + - "6A15662E7EAA703A1DECF8BBB2D05DBE2EB956C142A338661D10461C0D135472" + - "085057F3494309FFA73C611F78B32ADBB5740C361C9F35BE90997DB2014E2EF5" + - "AA61782F52ABEB8BD6432C4DD097BC5423B285DAFB60DC364E8161F4A2A35ACA" + - "3A10B1C4D203CC76A470A33AFDCBDD92959859ABD8B56E1725252D78EAC66E71" + - "BA9AE3F1DD2487199874393CD4D832186800654760E1E34C09E4D155179F9EC0" + - "DC4473F996BDCE6EED1CABED8B6F116F7AD9CF505DF0F998E34AB27514B0FFE7", 16)); - - privKey = new DSAPrivateKeyParameters(new BigInteger("69C7548C21D0DFEA6B9A51C9EAD4E27C33D3B3F180316E5BCAB92C933F0E4DBC", 16), dsaParameters); - - doTestHMACDetDSASample(new SHA1Digest(), privKey, new BigInteger("3A1B2DBD7489D6ED7E608FD036C83AF396E290DBD602408E8677DAABD6E7445A", 16), new BigInteger("D26FCBA19FA3E3058FFC02CA1596CDBB6E0D20CB37B06054F7E36DED0CDBBCCF", 16)); - doTestHMACDetDSASample(new SHA224Digest(), privKey, new BigInteger("DC9F4DEADA8D8FF588E98FED0AB690FFCE858DC8C79376450EB6B76C24537E2C", 16), new BigInteger("A65A9C3BC7BABE286B195D5DA68616DA8D47FA0097F36DD19F517327DC848CEC", 16)); - doTestHMACDetDSASample(new SHA256Digest(), privKey, new BigInteger("EACE8BDBBE353C432A795D9EC556C6D021F7A03F42C36E9BC87E4AC7932CC809", 16), new BigInteger("7081E175455F9247B812B74583E9E94F9EA79BD640DC962533B0680793A38D53", 16)); - doTestHMACDetDSASample(new SHA384Digest(), privKey, new BigInteger("B2DA945E91858834FD9BF616EBAC151EDBC4B45D27D0DD4A7F6A22739F45C00B", 16), new BigInteger("19048B63D9FD6BCA1D9BAE3664E1BCB97F7276C306130969F63F38FA8319021B", 16)); - doTestHMACDetDSASample(new SHA512Digest(), privKey, new BigInteger("2016ED092DC5FB669B8EFB3D1F31A91EECB199879BE0CF78F02BA062CB4C942E", 16), new BigInteger("D0C76F84B5F091E141572A639A4FB8C230807EEA7D55C8A154A224400AFF2351", 16)); - - doTestHMACDetDSATest(new SHA1Digest(), privKey, new BigInteger("C18270A93CFC6063F57A4DFA86024F700D980E4CF4E2CB65A504397273D98EA0", 16), new BigInteger("414F22E5F31A8B6D33295C7539C1C1BA3A6160D7D68D50AC0D3A5BEAC2884FAA", 16)); - doTestHMACDetDSATest(new SHA224Digest(), privKey, new BigInteger("272ABA31572F6CC55E30BF616B7A265312018DD325BE031BE0CC82AA17870EA3", 16), new BigInteger("E9CC286A52CCE201586722D36D1E917EB96A4EBDB47932F9576AC645B3A60806", 16)); - doTestHMACDetDSATest(new SHA256Digest(), privKey, new BigInteger("8190012A1969F9957D56FCCAAD223186F423398D58EF5B3CEFD5A4146A4476F0", 16), new BigInteger("7452A53F7075D417B4B013B278D1BB8BBD21863F5E7B1CEE679CF2188E1AB19E", 16)); - doTestHMACDetDSATest(new SHA384Digest(), privKey, new BigInteger("239E66DDBE8F8C230A3D071D601B6FFBDFB5901F94D444C6AF56F732BEB954BE", 16), new BigInteger("6BD737513D5E72FE85D1C750E0F73921FE299B945AAD1C802F15C26A43D34961", 16)); - doTestHMACDetDSATest(new SHA512Digest(), privKey, new BigInteger("89EC4BB1400ECCFF8E7D9AA515CD1DE7803F2DAFF09693EE7FD1353E90A68307", 16), new BigInteger("C9F0BDABCC0D880BB137A994CC7F3980CE91CC10FAF529FC46565B15CEA854E1", 16)); - } - - private void doTestHMACDetDSASample(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s) - { - doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, SAMPLE, privKey, r, s); - } - - private void doTestHMACDetDSATest(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s) - { - doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, TEST, privKey, r, s); - } - - // test vectors from appendix in RFC 6979 - private void testECHMacDeterministic() - { - X9ECParameters x9ECParameters = NISTNamedCurves.getByName("P-192"); - ECDomainParameters ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - ECPrivateKeyParameters privKey = new ECPrivateKeyParameters(new BigInteger("6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("98C6BD12B23EAF5E2A2045132086BE3EB8EBD62ABF6698FF", 16), new BigInteger("57A22B07DEA9530F8DE9471B1DC6624472E8E2844BC25B64", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("A1F00DAD97AEEC91C95585F36200C65F3C01812AA60378F5", 16), new BigInteger("E07EC1304C7C6C9DEBBE980B9692668F81D4DE7922A0F97A", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("4B0B8CE98A92866A2820E20AA6B75B56382E0F9BFD5ECB55", 16), new BigInteger("CCDB006926EA9565CBADC840829D8C384E06DE1F1E381B85", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("DA63BF0B9ABCF948FBB1E9167F136145F7A20426DCC287D5", 16), new BigInteger("C3AA2C960972BD7A2003A57E1C4C77F0578F8AE95E31EC5E", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8", 16), new BigInteger("3F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("0F2141A0EBBC44D2E1AF90A50EBCFCE5E197B3B7D4DE036D", 16), new BigInteger("EB18BC9E1F3D7387500CB99CF5F7C157070A8961E38700B7", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("6945A1C1D1B2206B8145548F633BB61CEF04891BAF26ED34", 16), new BigInteger("B7FB7FDFC339C0B9BD61A9F5A8EAF9BE58FC5CBA2CB15293", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("3A718BD8B4926C3B52EE6BBE67EF79B18CB6EB62B1AD97AE", 16), new BigInteger("5662E6848A4A19B1F1AE2F72ACD4B8BBE50F1EAC65D9124F", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("B234B60B4DB75A733E19280A7A6034BD6B1EE88AF5332367", 16), new BigInteger("7994090B2D59BB782BE57E74A44C9A1C700413F8ABEFE77A", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("FE4F4AE86A58B6507946715934FE2D8FF9D95B6B098FE739", 16), new BigInteger("74CF5605C98FBA0E1EF34D4B5A1577A7DCF59457CAE52290", 16)); - - x9ECParameters = NISTNamedCurves.getByName("P-224"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC", 16), new BigInteger("66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("1CDFE6662DDE1E4A1EC4CDEDF6A1F5A2FB7FBD9145C12113E6ABFD3E", 16), new BigInteger("A6694FD7718A21053F225D3F46197CA699D45006C06F871808F43EBC", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA", 16), new BigInteger("BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953", 16), new BigInteger("830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397", 16), new BigInteger("A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("DEAA646EC2AF2EA8AD53ED66B2E2DDAA49A12EFD8356561451F3E21C", 16), new BigInteger("95987796F6CF2062AB8135271DE56AE55366C045F6D9593F53787BD2", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("C441CE8E261DED634E4CF84910E4C5D1D22C5CF3B732BB204DBEF019", 16), new BigInteger("902F42847A63BDC5F6046ADA114953120F99442D76510150F372A3F4", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("AD04DDE87B84747A243A631EA47A1BA6D1FAA059149AD2440DE6FBA6", 16), new BigInteger("178D49B1AE90E3D8B629BE3DB5683915F4E8C99FDF6E666CF37ADCFD", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("389B92682E399B26518A95506B52C03BC9379A9DADF3391A21FB0EA4", 16), new BigInteger("414A718ED3249FF6DBC5B50C27F71F01F070944DA22AB1F78F559AAB", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("049F050477C5ADD858CAC56208394B5A55BAEBBE887FDF765047C17C", 16), new BigInteger("077EB13E7005929CEFA3CD0403C7CDCC077ADF4E44F3C41B2F60ECFF", 16)); - - x9ECParameters = NISTNamedCurves.getByName("P-256"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32", 16), new BigInteger("6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("53B2FFF5D1752B2C689DF257C04C40A587FABABB3F6FC2702F1343AF7CA9AA3F", 16), new BigInteger("B9AFB64FDC03DC1A131C7D2386D11E349F070AA432A4ACC918BEA988BF75C74C", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716", 16), new BigInteger("F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719", 16), new BigInteger("4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00", 16), new BigInteger("2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("0CBCC86FD6ABD1D99E703E1EC50069EE5C0B4BA4B9AC60E409E8EC5910D81A89", 16), new BigInteger("01B9D7B73DFAA60D5651EC4591A0136F87653E0FD780C3B1BC872FFDEAE479B1", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("C37EDB6F0AE79D47C3C27E962FA269BB4F441770357E114EE511F662EC34A692", 16), new BigInteger("C820053A05791E521FCAAD6042D40AEA1D6B1A540138558F47D0719800E18F2D", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("F1ABB023518351CD71D881567B1EA663ED3EFCF6C5132B354F28D3B0B7D38367", 16), new BigInteger("019F4113742A2B14BD25926B49C649155F267E60D3814B4C0CC84250E46F0083", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("83910E8B48BB0C74244EBDF7F07A1C5413D61472BD941EF3920E623FBCCEBEB6", 16), new BigInteger("8DDBEC54CF8CD5874883841D712142A56A8D0F218F5003CB0296B6B509619F2C", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("461D93F31B6540894788FD206C07CFA0CC35F46FA3C91816FFF1040AD1581A04", 16), new BigInteger("39AF9F15DE0DB8D97E72719C74820D304CE5226E32DEDAE67519E840D1194E55", 16)); - - x9ECParameters = NISTNamedCurves.getByName("P-384"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D8" + - "96D5724E4C70A825F872C9EA60D2EDF5", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("EC748D839243D6FBEF4FC5C4859A7DFFD7F3ABDDF72014540C16D73309834FA3" + - "7B9BA002899F6FDA3A4A9386790D4EB2", 16), - new BigInteger("A3BCFA947BEEF4732BF247AC17F71676CB31A847B9FF0CBC9C9ED4C1A5B3FACF" + - "26F49CA031D4857570CCB5CA4424A443", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("42356E76B55A6D9B4631C865445DBE54E056D3B3431766D0509244793C3F9366" + - "450F76EE3DE43F5A125333A6BE060122", 16), - new BigInteger("9DA0C81787064021E78DF658F2FBB0B042BF304665DB721F077A4298B095E483" + - "4C082C03D83028EFBF93A3C23940CA8D", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("21B13D1E013C7FA1392D03C5F99AF8B30C570C6F98D4EA8E354B63A21D3DAA33" + - "BDE1E888E63355D92FA2B3C36D8FB2CD", 16), - new BigInteger("F3AA443FB107745BF4BD77CB3891674632068A10CA67E3D45DB2266FA7D1FEEB" + - "EFDC63ECCD1AC42EC0CB8668A4FA0AB0", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("94EDBB92A5ECB8AAD4736E56C691916B3F88140666CE9FA73D64C4EA95AD133C" + - "81A648152E44ACF96E36DD1E80FABE46", 16), - new BigInteger("99EF4AEB15F178CEA1FE40DB2603138F130E740A19624526203B6351D0A3A94F" + - "A329C145786E679E7B82C71A38628AC8", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799C" + - "FE30F35CC900056D7C99CD7882433709", 16), - new BigInteger("512C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112" + - "DC7CC3EF3446DEFCEB01A45C2667FDD5", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("4BC35D3A50EF4E30576F58CD96CE6BF638025EE624004A1F7789A8B8E43D0678" + - "ACD9D29876DAF46638645F7F404B11C7", 16), - new BigInteger("D5A6326C494ED3FF614703878961C0FDE7B2C278F9A65FD8C4B7186201A29916" + - "95BA1C84541327E966FA7B50F7382282", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("E8C9D0B6EA72A0E7837FEA1D14A1A9557F29FAA45D3E7EE888FC5BF954B5E624" + - "64A9A817C47FF78B8C11066B24080E72", 16), - new BigInteger("07041D4A7A0379AC7232FF72E6F77B6DDB8F09B16CCE0EC3286B2BD43FA8C614" + - "1C53EA5ABEF0D8231077A04540A96B66", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("6D6DEFAC9AB64DABAFE36C6BF510352A4CC27001263638E5B16D9BB51D451559" + - "F918EEDAF2293BE5B475CC8F0188636B", 16), - new BigInteger("2D46F3BECBCC523D5F1A1256BF0C9B024D879BA9E838144C8BA6BAEB4B53B47D" + - "51AB373F9845C0514EEFB14024787265", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("8203B63D3C853E8D77227FB377BCF7B7B772E97892A80F36AB775D509D7A5FEB" + - "0542A7F0812998DA8F1DD3CA3CF023DB", 16), - new BigInteger("DDD0760448D42D8A43AF45AF836FCE4DE8BE06B485E9B61B827C2F13173923E0" + - "6A739F040649A667BF3B828246BAA5A5", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("A0D5D090C9980FAF3C2CE57B7AE951D31977DD11C775D314AF55F76C676447D0" + - "6FB6495CD21B4B6E340FC236584FB277", 16), - new BigInteger("976984E59B4C77B0E8E4460DCA3D9F20E07B9BB1F63BEEFAF576F6B2E8B22463" + - "4A2092CD3792E0159AD9CEE37659C736", 16)); - - x9ECParameters = NISTNamedCurves.getByName("P-521"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75C" + - "AA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83" + - "538", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("0343B6EC45728975EA5CBA6659BBB6062A5FF89EEA58BE3C80B619F322C87910" + - "FE092F7D45BB0F8EEE01ED3F20BABEC079D202AE677B243AB40B5431D497C55D" + - "75D", 16), - new BigInteger("0E7B0E675A9B24413D448B8CC119D2BF7B2D2DF032741C096634D6D65D0DBE3D" + - "5694625FB9E8104D3B842C1B0E2D0B98BEA19341E8676AEF66AE4EBA3D5475D5" + - "D16", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("1776331CFCDF927D666E032E00CF776187BC9FDD8E69D0DABB4109FFE1B5E2A3" + - "0715F4CC923A4A5E94D2503E9ACFED92857B7F31D7152E0F8C00C15FF3D87E2E" + - "D2E", 16), - new BigInteger("050CB5265417FE2320BBB5A122B8E1A32BD699089851128E360E620A30C7E17B" + - "A41A666AF126CE100E5799B153B60528D5300D08489CA9178FB610A2006C254B" + - "41F", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("1511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659" + - "D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E" + - "1A7", 16), - new BigInteger("04A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916" + - "E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7E" + - "CFC", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("1EA842A0E17D2DE4F92C15315C63DDF72685C18195C2BB95E572B9C5136CA4B4" + - "B576AD712A52BE9730627D16054BA40CC0B8D3FF035B12AE75168397F5D50C67" + - "451", 16), - new BigInteger("1F21A3CEE066E1961025FB048BD5FE2B7924D0CD797BABE0A83B66F1E35EEAF5" + - "FDE143FA85DC394A7DEE766523393784484BDF3E00114A1C857CDE1AA203DB65" + - "D61", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("0C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F1" + - "74E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E37" + - "7FA", 16), - new BigInteger("0617CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF2" + - "82623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A" + - "67A", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("13BAD9F29ABE20DE37EBEB823C252CA0F63361284015A3BF430A46AAA80B87B0" + - "693F0694BD88AFE4E661FC33B094CD3B7963BED5A727ED8BD6A3A202ABE009D0" + - "367", 16), - new BigInteger("1E9BB81FF7944CA409AD138DBBEE228E1AFCC0C890FC78EC8604639CB0DBDC90" + - "F717A99EAD9D272855D00162EE9527567DD6A92CBD629805C0445282BBC91679" + - "7FF", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("1C7ED902E123E6815546065A2C4AF977B22AA8EADDB68B2C1110E7EA44D42086" + - "BFE4A34B67DDC0E17E96536E358219B23A706C6A6E16BA77B65E1C595D43CAE1" + - "7FB", 16), - new BigInteger("177336676304FCB343CE028B38E7B4FBA76C1C1B277DA18CAD2A8478B2A9A9F5" + - "BEC0F3BA04F35DB3E4263569EC6AADE8C92746E4C82F8299AE1B8F1739F8FD51" + - "9A4", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("00E871C4A14F993C6C7369501900C4BC1E9C7B0B4BA44E04868B30B41D807104" + - "2EB28C4C250411D0CE08CD197E4188EA4876F279F90B3D8D74A3C76E6F1E4656" + - "AA8", 16), - new BigInteger("0CD52DBAA33B063C3A6CD8058A1FB0A46A4754B034FCC644766CA14DA8CA5CA9" + - "FDE00E88C1AD60CCBA759025299079D7A427EC3CC5B619BFBC828E7769BCD694" + - "E86", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("14BEE21A18B6D8B3C93FAB08D43E739707953244FDBE924FA926D76669E7AC8C" + - "89DF62ED8975C2D8397A65A49DCC09F6B0AC62272741924D479354D74FF60755" + - "78C", 16), - new BigInteger("133330865C067A0EAF72362A65E2D7BC4E461E8C8995C3B6226A21BD1AA78F0E" + - "D94FE536A0DCA35534F0CD1510C41525D163FE9D74D134881E35141ED5E8E95B" + - "979", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("13E99020ABF5CEE7525D16B69B229652AB6BDF2AFFCAEF38773B4B7D08725F10" + - "CDB93482FDCC54EDCEE91ECA4166B2A7C6265EF0CE2BD7051B7CEF945BABD47E" + - "E6D", 16), - new BigInteger("1FBD0013C674AA79CB39849527916CE301C66EA7CE8B80682786AD60F98F7E78" + - "A19CA69EFF5C57400E3B3A0AD66CE0978214D13BAF4E9AC60752F7B155E2DE4D" + - "CE3", 16)); - - x9ECParameters = NISTNamedCurves.getByName("B-163"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("35318FC447D48D7E6BC93B48617DDDEDF26AA658F", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("153FEBD179A69B6122DEBF5BC61EB947B24C93526", 16), new BigInteger("37AC9C670F8CF18045049BAE7DD35553545C19E49", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("0A379E69C44F9C16EA3215EA39EB1A9B5D58CC955", 16), new BigInteger("04BAFF5308DA2A7FE2C1742769265AD3ED1D24E74", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("134E00F78FC1CB9501675D91C401DE20DDF228CDC", 16), new BigInteger("373273AEC6C36CB7BAFBB1903A5F5EA6A1D50B624", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("29430B935AF8E77519B0CA4F6903B0B82E6A21A66", 16), new BigInteger("1EA1415306E9353FA5AA54BC7C2581DFBB888440D", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("0B2F177A99F9DF2D51CCAF55F015F326E4B65E7A0", 16), new BigInteger("0DF1FB4487E9B120C5E970EFE48F55E406306C3A1", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("256D4079C6C7169B8BC92529D701776A269D56308", 16), new BigInteger("341D3FFEC9F1EB6A6ACBE88E3C86A1C8FDEB8B8E1", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("28ECC6F1272CE80EA59DCF32F7AC2D861BA803393", 16), new BigInteger("0AD4AE2C06E60183C1567D2B82F19421FE3053CE2", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("227DF377B3FA50F90C1CB3CDCBBDBA552C1D35104", 16), new BigInteger("1F7BEAD92583FE920D353F368C1960D0E88B46A56", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("11811DAFEEA441845B6118A0DFEE8A0061231337D", 16), new BigInteger("36258301865EE48C5C6F91D63F62695002AB55B57", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("3B6BB95CA823BE2ED8E3972FF516EB8972D765571", 16), new BigInteger("13DC6F420628969DF900C3FCC48220B38BE24A541", 16)); - - x9ECParameters = NISTNamedCurves.getByName("B-233"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("07ADC13DD5BF34D1DDEEB50B2CE23B5F5E6D18067306D60C5F6FF11E5D3", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("015CC6FD78BB06E0878E71465515EA5A21A2C18E6FC77B4B158DBEB3944", 16), new BigInteger("0822A4A6C2EB2DF213A5E90BF40377956365EE8C4B4A5A4E2EB9270CB6A", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("05D9920B53471148E10502AB49AB7A3F11084820A074FD89883CF51BC1A", 16), new BigInteger("04D3938900C0A9AAA7080D1DFEB56CFB0FADABE4214536C7ED5117ED13A", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("0A797F3B8AEFCE7456202DF1E46CCC291EA5A49DA3D4BDDA9A4B62D5E0D", 16), new BigInteger("01F6F81DA55C22DA4152134C661588F4BD6F82FDBAF0C5877096B070DC2", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("015E85A8D46225DD7E314A1C4289731FC14DECE949349FE535D11043B85", 16), new BigInteger("03F189D37F50493EFD5111A129443A662AB3C6B289129AD8C0CAC85119C", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("03B62A4BF783919098B1E42F496E65F7621F01D1D466C46940F0F132A95", 16), new BigInteger("0F4BE031C6E5239E7DAA014CBBF1ED19425E49DAEB426EC9DF4C28A2E30", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("02F1FEDC57BE203E4C8C6B8C1CEB35E13C1FCD956AB41E3BD4C8A6EFB1F", 16), new BigInteger("05738EC8A8EDEA8E435EE7266AD3EDE1EEFC2CEBE2BE1D614008D5D2951", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("0CCE175124D3586BA7486F7146894C65C2A4A5A1904658E5C7F9DF5FA5D", 16), new BigInteger("08804B456D847ACE5CA86D97BF79FD6335E5B17F6C0D964B5D0036C867E", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("035C3D6DFEEA1CFB29B93BE3FDB91A7B130951770C2690C16833A159677", 16), new BigInteger("0600F7301D12AB376B56D4459774159ADB51F97E282FF384406AFD53A02", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("061602FC8068BFD5FB86027B97455D200EC603057446CCE4D76DB8EF42C", 16), new BigInteger("03396DD0D59C067BB999B422D9883736CF9311DFD6951F91033BD03CA8D", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("07E12CB60FDD614958E8E34B3C12DDFF35D85A9C5800E31EA2CC2EF63B1", 16), new BigInteger("0E8970FD99D836F3CC1C807A2C58760DE6EDAA23705A82B9CB1CE93FECC", 16)); - - x9ECParameters = NISTNamedCurves.getByName("B-283"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("14510D4BC44F2D26F4553942C98073C1BD35545CEABB5CC138853C5158D2729EA408836", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("201E18D48C6DB3D5D097C4DCE1E25587E1501FC3CF47BDB5B4289D79E273D6A9" + - "ACB8285", 16), new BigInteger("151AE05712B024CE617358260774C8CA8B0E7A7E72EF8229BF2ACE7609560CB3" + - "0322C4F", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("143E878DDFD4DF40D97B8CD638B3C4706501C2201CF7108F2FB91478C11D6947" + - "3246925", 16), new BigInteger("0CBF1B9717FEEA3AABB09D9654110144267098E0E1E8D0289A6211BE0EEDFDD8" + - "6A3DB79", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("29FD82497FB3E5CEF65579272138DE59E2B666B8689466572B3B69A172CEE83B" + - "E145659", 16), new BigInteger("05A89D9166B40795AF0FE5958201B9C0523E500013CA12B4840EA2BC53F25F9B" + - "3CE87C0", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("2F00689C1BFCD2A8C7A41E0DE55AE182E6463A152828EF89FE3525139B660329" + - "4E69353", 16), new BigInteger("1744514FE0A37447250C8A329EAAADA81572226CABA16F39270EE5DD03F27B1F" + - "665EB5D", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("0DA43A9ADFAA6AD767998A054C6A8F1CF77A562924628D73C62761847AD8286E" + - "0D91B47", 16), new BigInteger("1D118733AE2C88357827CAFC6F68ABC25C80C640532925E95CFE66D40F8792F3" + - "AC44C42", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("05A408133919F2CDCDBE5E4C14FBC706C1F71BADAFEF41F5DE4EC27272FC1CA9" + - "366FBB2", 16), new BigInteger("012966272872C097FEA7BCE64FAB1A81982A773E26F6E4EF7C99969846E67CA9" + - "CBE1692", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("08F3824E40C16FF1DDA8DC992776D26F4A5981AB5092956C4FDBB4F1AE0A711E" + - "EAA10E5", 16), new BigInteger("0A64B91EFADB213E11483FB61C73E3EF63D3B44EEFC56EA401B99DCC60CC28E9" + - "9F0F1FA", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("3597B406F5329D11A79E887847E5EC60861CCBB19EC61F252DB7BD549C699951" + - "C182796", 16), new BigInteger("0A6A100B997BC622D91701D9F5C6F6D3815517E577622DA69D3A0E8917C1CBE6" + - "3ACD345", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("1BB490926E5A1FDC7C5AA86D0835F9B994EDA315CA408002AF54A298728D422E" + - "BF59E4C", 16), new BigInteger("36C682CFC9E2C89A782BFD3A191609D1F0C1910D5FD6981442070393159D65FB" + - "CC0A8BA", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("19944AA68F9778C2E3D6E240947613E6DA60EFCE9B9B2C063FF5466D72745B5A" + - "0B25BA2", 16), new BigInteger("03F1567B3C5B02DF15C874F0EE22850824693D5ADC4663BAA19E384E550B1DD4" + - "1F31EE6", 16)); - - x9ECParameters = NISTNamedCurves.getByName("B-409"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("0494994CC325B08E7B4CE038BD9436F90B5E59A2C13C3140CD3AE07C04A01FC489F572CE0569A6DB7B8060393DE76330C624177", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("0D8783188E1A540E2022D389E1D35B32F56F8C2BB5636B8ABF7718806B27A713" + - "EBAE37F63ECD4B61445CEF5801B62594EF3E982", 16), new BigInteger("03A6B4A80E204DB0DE12E7415C13C9EC091C52935658316B4A0C591216A38791" + - "54BEB1712560E346E7EF26517707435B55C3141", 16)); - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("0EE4F39ACC2E03CE96C3D9FCBAFA5C22C89053662F8D4117752A9B10F09ADFDA" + - "59DB061E247FE5321D6B170EE758ACE1BE4D157", 16), new BigInteger("00A2B83265B456A430A8BF27DCC8A9488B3F126C10F0D6D64BF7B8A218FAAF20" + - "E51A295A3AE78F205E5A4A6AE224C3639F1BB34", 16)); - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("02D8B1B31E33E74D7EB46C30FDE5AD2CA04EC8FE08FBA0E73BA5E568953AC5EA" + - "307C072942238DFC07F4A4D7C7C6A9F86436D17", 16), new BigInteger("079F7D471E6CB73234AF7F7C381D2CE15DE35BAF8BB68393B73235B3A26EC2DF" + - "4842CE433FB492D6E074E604D4870024D42189A", 16)); - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("07BC638B7E7CE6FEE5E9C64A0F966D722D01BB4BC3F3A35F30D4CDDA92DFC5F7" + - "F0B4BBFE8065D9AD452FD77A1914BE3A2440C18", 16), new BigInteger("06D904429850521B28A32CBF55C7C0FDF35DC4E0BDA2552C7BF68A171E970E67" + - "88ACC0B9521EACB4796E057C70DD9B95FED5BFB", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("05D178DECAFD2D02A3DA0D8BA1C4C1D95EE083C760DF782193A9F7B4A8BE6FC5" + - "C21FD60613BCA65C063A61226E050A680B3ABD4", 16), new BigInteger("013B7581E98F6A63FBBCB3E49BCDA60F816DB230B888506D105DC229600497C3" + - "B46588C784BE3AA9343BEF82F7C9C80AEB63C3B", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("049F54E7C10D2732B4638473053782C6919218BBEFCEC8B51640FC193E832291" + - "F05FA12371E9B448417B3290193F08EE9319195", 16), new BigInteger("0499E267DEC84E02F6F108B10E82172C414F15B1B7364BE8BFD66ADC0C5DE23F" + - "EE3DF0D811134C25AFE0E05A6672F98889F28F1", 16)); - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("0B1527FFAA7DD7C7E46B628587A5BEC0539A2D04D3CF27C54841C2544E1BBDB4" + - "2FDBDAAF8671A4CA86DFD619B1E3732D7BB56F2", 16), new BigInteger("0442C68C044868DF4832C807F1EDDEBF7F5052A64B826FD03451440794063F52" + - "B022DF304F47403D4069234CA9EB4C964B37C02", 16)); - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("0BB27755B991D6D31757BCBF68CB01225A38E1CFA20F775E861055DD108ED7EA" + - "455E4B96B2F6F7CD6C6EC2B3C70C3EDDEB9743B", 16), new BigInteger("0C5BE90980E7F444B5F7A12C9E9AC7A04CA81412822DD5AD1BE7C45D5032555E" + - "A070864245CF69266871FEB8CD1B7EDC30EF6D5", 16)); - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("04EFEB7098772187907C87B33E0FBBA4584226C50C11E98CA7AAC6986F8D3BE0" + - "44E5B52D201A410B852536527724CA5F8CE6549", 16), new BigInteger("09574102FEB3EF87E6D66B94119F5A6062950FF4F902EA1E6BD9E2037F33FF99" + - "1E31F5956C23AFE48FCDC557FD6F088C7C9B2B3", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("07E0249C68536AE2AEC2EC30090340DA49E6DC9E9EEC8F85E5AABFB234B6DA7D" + - "2E9524028CF821F21C6019770474CC40B01FAF6", 16), new BigInteger("08125B5A03FB44AE81EA46D446130C2A415ECCA265910CA69D55F2453E16CD7B" + - "2DFA4E28C50FA8137F9C0C6CEE4CD37ABCCF6D8", 16)); - - x9ECParameters = NISTNamedCurves.getByName("B-571"); - ecDomainParameters = new ECDomainParameters(x9ECParameters.getCurve(), x9ECParameters.getG(), x9ECParameters.getN()); - - privKey = new ECPrivateKeyParameters(new BigInteger("028A04857F24C1C082DF0D909C0E72F453F2E2340CCB071F0E389BCA2575DA19" + - "124198C57174929AD26E348CF63F78D28021EF5A9BF2D5CBEAF6B7CCB6C4DA82" + - "4DD5C82CFB24E11", 16), ecDomainParameters); - - doTestHMACDetECDSASample(new SHA1Digest(), privKey, new BigInteger("147D3EB0EDA9F2152DFD014363D6A9CE816D7A1467D326A625FC4AB0C786E1B7" + - "4DDF7CD4D0E99541391B266C704BB6B6E8DCCD27B460802E0867143727AA4155" + - "55454321EFE5CB6", 16), - new BigInteger("17319571CAF533D90D2E78A64060B9C53169AB7FC908947B3EDADC54C79CCF0A" + - "7920B4C64A4EAB6282AFE9A459677CDA37FD6DD50BEF18709590FE18B923BDF7" + - "4A66B189A850819", 16)); - - doTestHMACDetECDSASample(new SHA224Digest(), privKey, new BigInteger("10F4B63E79B2E54E4F4F6A2DBC786D8F4A143ECA7B2AD97810F6472AC6AE2085" + - "3222854553BE1D44A7974599DB7061AE8560DF57F2675BE5F9DD94ABAF3D47F1" + - "582B318E459748B", 16), - new BigInteger("3BBEA07C6B269C2B7FE9AE4DDB118338D0C2F0022920A7F9DCFCB7489594C03B" + - "536A9900C4EA6A10410007222D3DAE1A96F291C4C9275D75D98EB290DC0EEF17" + - "6037B2C7A7A39A3", 16)); - - doTestHMACDetECDSASample(new SHA256Digest(), privKey, new BigInteger("213EF9F3B0CFC4BF996B8AF3A7E1F6CACD2B87C8C63820000800AC787F17EC99" + - "C04BCEDF29A8413CFF83142BB88A50EF8D9A086AF4EB03E97C567500C21D8657" + - "14D832E03C6D054", 16), - new BigInteger("3D32322559B094E20D8935E250B6EC139AC4AAB77920812C119AF419FB62B332" + - "C8D226C6C9362AE3C1E4AABE19359B8428EA74EC8FBE83C8618C2BCCB6B43FBA" + - "A0F2CCB7D303945", 16)); - - doTestHMACDetECDSASample(new SHA384Digest(), privKey, new BigInteger("375D8F49C656A0BBD21D3F54CDA287D853C4BB1849983CD891EF6CD6BB56A62B" + - "687807C16685C2C9BCA2663C33696ACCE344C45F3910B1DF806204FF731ECB28" + - "9C100EF4D1805EC", 16), - new BigInteger("1CDEC6F46DFEEE44BCE71D41C60550DC67CF98D6C91363625AC2553E4368D2DF" + - "B734A8E8C72E118A76ACDB0E58697940A0F3DF49E72894BD799450FC9E550CC0" + - "4B9FF9B0380021C", 16)); - doTestHMACDetECDSASample(new SHA512Digest(), privKey, new BigInteger("1C26F40D940A7EAA0EB1E62991028057D91FEDA0366B606F6C434C361F04E545" + - "A6A51A435E26416F6838FFA260C617E798E946B57215284182BE55F29A355E60" + - "24FE32A47289CF0", 16), - new BigInteger("3691DE4369D921FE94EDDA67CB71FBBEC9A436787478063EB1CC778B3DCDC1C4" + - "162662752D28DEEDF6F32A269C82D1DB80C87CE4D3B662E03AC347806E3F19D1" + - "8D6D4DE7358DF7E", 16)); - - doTestHMACDetECDSATest(new SHA1Digest(), privKey, new BigInteger("133F5414F2A9BC41466D339B79376038A64D045E5B0F792A98E5A7AA87E0AD01" + - "6419E5F8D176007D5C9C10B5FD9E2E0AB8331B195797C0358BA05ECBF24ACE59" + - "C5F368A6C0997CC", 16), - new BigInteger("3D16743AE9F00F0B1A500F738719C5582550FEB64689DA241665C4CE4F328BA0" + - "E34A7EF527ED13BFA5889FD2D1D214C11EB17D6BC338E05A56F41CAFF1AF7B8D" + - "574DB62EF0D0F21", 16)); - - doTestHMACDetECDSATest(new SHA224Digest(), privKey, new BigInteger("3048E76506C5C43D92B2E33F62B33E3111CEEB87F6C7DF7C7C01E3CDA28FA5E8" + - "BE04B5B23AA03C0C70FEF8F723CBCEBFF0B7A52A3F5C8B84B741B4F6157E69A5" + - "FB0524B48F31828", 16), - new BigInteger("2C99078CCFE5C82102B8D006E3703E020C46C87C75163A2CD839C885550BA5CB" + - "501AC282D29A1C26D26773B60FBE05AAB62BFA0BA32127563D42F7669C97784C" + - "8897C22CFB4B8FA", 16)); - - doTestHMACDetECDSATest(new SHA256Digest(), privKey, new BigInteger("184BC808506E11A65D628B457FDA60952803C604CC7181B59BD25AEE1411A66D" + - "12A777F3A0DC99E1190C58D0037807A95E5080FA1B2E5CCAA37B50D401CFFC34" + - "17C005AEE963469", 16), - new BigInteger("27280D45F81B19334DBDB07B7E63FE8F39AC7E9AE14DE1D2A6884D2101850289" + - "D70EE400F26ACA5E7D73F534A14568478E59D00594981ABE6A1BA18554C13EB5" + - "E03921E4DC98333", 16)); - - doTestHMACDetECDSATest(new SHA384Digest(), privKey, new BigInteger("319EE57912E7B0FAA1FBB145B0505849A89C6DB1EC06EA20A6A7EDE072A6268A" + - "F6FD9C809C7E422A5F33C6C3326EAD7402467DF3272A1B2726C1C20975950F0F" + - "50D8324578F13EC", 16), - new BigInteger("2CF3EA27EADD0612DD2F96F46E89AB894B01A10DF985C5FC099CFFE0EA083EB4" + - "4BE682B08BFE405DAD5F37D0A2C59015BA41027E24B99F8F75A70B6B7385BF39" + - "BBEA02513EB880C", 16)); - doTestHMACDetECDSATest(new SHA512Digest(), privKey, new BigInteger("2AA1888EAB05F7B00B6A784C4F7081D2C833D50794D9FEAF6E22B8BE728A2A90" + - "BFCABDC803162020AA629718295A1489EE7ED0ECB8AAA197B9BDFC49D18DDD78" + - "FC85A48F9715544", 16), - new BigInteger("0AA5371FE5CA671D6ED9665849C37F394FED85D51FEF72DA2B5F28EDFB2C6479" + - "CA63320C19596F5E1101988E2C619E302DD05112F47E8823040CE540CD3E90DC" + - "F41DBC461744EE9", 16)); - - } - - private void doTestHMACDetECDSASample(Digest digest, ECPrivateKeyParameters privKey, BigInteger r, BigInteger s) - { - doTestHMACDetECDSA(new ECDSASigner(new HMacDSAKCalculator(digest)), digest, SAMPLE, privKey, r, s); - } - - private void doTestHMACDetECDSATest(Digest digest, ECPrivateKeyParameters privKey, BigInteger r, BigInteger s) - { - doTestHMACDetECDSA(new ECDSASigner(new HMacDSAKCalculator(digest)), digest, TEST, privKey, r, s); - } - - private void doTestHMACDetECDSA(DSA detSigner, Digest digest, byte[] data, CipherParameters privKey, BigInteger r, BigInteger s) - { - byte[] m = new byte[digest.getDigestSize()]; - - digest.update(data, 0, data.length); - - digest.doFinal(m, 0); - - detSigner.init(true, privKey); - - BigInteger[] rs = detSigner.generateSignature(m); - - if (!r.equals(rs[0])) - { - fail("r value wrong"); - } - if (!s.equals(rs[1])) - { - fail("s value wrong"); - } - } - - public String getName() - { - return "DeterministicDSA"; - } - - public void performTest() - { - testHMacDeterministic(); - testECHMacDeterministic(); - } - - - public static void main( - String[] args) - { - runTest(new DeterministicDSATest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestRandomNumberTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestRandomNumberTest.java deleted file mode 100644 index b79eadd3e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestRandomNumberTest.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.SimpleTest; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.Arrays; -import org.spongycastle.crypto.prng.DigestRandomGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.Digest; - -public class DigestRandomNumberTest - extends SimpleTest -{ - private static final byte[] ZERO_SEED = { 0, 0, 0, 0, 0, 0, 0, 0 }; - - private static final byte[] TEST_SEED = Hex.decode("81dcfafc885914057876"); - - private static final byte[] expected0SHA1 = Hex.decode("95bca677b3d4ff793213c00892d2356ec729ee02"); - private static final byte[] noCycle0SHA1 = Hex.decode("d57ccd0eb12c3938d59226412bc1268037b6b846"); - private static final byte[] expected0SHA256 = Hex.decode("587e2dfd597d086e47ddcd343eac983a5c913bef8c6a1a560a5c1bc3a74b0991"); - private static final byte[] noCycle0SHA256 = Hex.decode("e5776c4483486ba7be081f4e1b9dafbab25c8fae290fd5474c1ceda2c16f9509"); - private static final byte[] expected100SHA1 = Hex.decode("b9d924092546e0876cafd4937d7364ebf9efa4be"); - private static final byte[] expected100SHA256 = Hex.decode("fbc4aa54b948b99de104c44563a552899d718bb75d1941cc62a2444b0506abaf"); - private static final byte[] expectedTestSHA1 = Hex.decode("e9ecef9f5306daf1ac51a89a211a64cb24415649"); - private static final byte[] expectedTestSHA256 = Hex.decode("bdab3ca831b472a2fa09bd1bade541ef16c96640a91fcec553679a136061de98"); - - private static final byte[] sha1Xors = Hex.decode("7edcc1216934f3891b03ffa65821611a3e2b1f79"); - private static final byte[] sha256Xors = Hex.decode("5ec48189cc0aa71e79c707bc3c33ffd47bbba368a83d6cfebf3cd3969d7f3eed"); - - public String getName() - { - return "DigestRandomNumber"; - } - - private void doExpectedTest(Digest digest, int seed, byte[] expected) - { - doExpectedTest(digest, seed, expected, null); - } - - private void doExpectedTest(Digest digest, int seed, byte[] expected, byte[] noCycle) - { - DigestRandomGenerator rGen = new DigestRandomGenerator(digest); - byte[] output = new byte[digest.getDigestSize()]; - - rGen.addSeedMaterial(seed); - - for (int i = 0; i != 1024; i++) - { - rGen.nextBytes(output); - } - - if (noCycle != null) - { - if (Arrays.areEqual(noCycle, output)) - { - fail("seed not being cycled!"); - } - } - - if (!Arrays.areEqual(expected, output)) - { - fail("expected output doesn't match"); - } - } - - private void doExpectedTest(Digest digest, byte[] seed, byte[] expected) - { - DigestRandomGenerator rGen = new DigestRandomGenerator(digest); - byte[] output = new byte[digest.getDigestSize()]; - - rGen.addSeedMaterial(seed); - - for (int i = 0; i != 1024; i++) - { - rGen.nextBytes(output); - } - - if (!Arrays.areEqual(expected, output)) - { - fail("expected output doesn't match"); - } - } - - private void doCountTest(Digest digest, byte[] seed, byte[] expectedXors) - { - DigestRandomGenerator rGen = new DigestRandomGenerator(digest); - byte[] output = new byte[digest.getDigestSize()]; - int[] averages = new int[digest.getDigestSize()]; - byte[] ands = new byte[digest.getDigestSize()]; - byte[] xors = new byte[digest.getDigestSize()]; - byte[] ors = new byte[digest.getDigestSize()]; - - rGen.addSeedMaterial(seed); - - for (int i = 0; i != 1000000; i++) - { - rGen.nextBytes(output); - for (int j = 0; j != output.length; j++) - { - averages[j] += output[j] & 0xff; - ands[j] &= output[j]; - xors[j] ^= output[j]; - ors[j] |= output[j]; - } - } - - for (int i = 0; i != output.length; i++) - { - if ((averages[i] / 1000000) != 127) - { - fail("average test failed for " + digest.getAlgorithmName()); - } - if (ands[i] != 0) - { - fail("and test failed for " + digest.getAlgorithmName()); - } - if ((ors[i] & 0xff) != 0xff) - { - fail("or test failed for " + digest.getAlgorithmName()); - } - if (xors[i] != expectedXors[i]) - { - fail("xor test failed for " + digest.getAlgorithmName()); - } - } - } - - public void performTest() - throws Exception - { - doExpectedTest(new SHA1Digest(), 0, expected0SHA1, noCycle0SHA1); - doExpectedTest(new SHA256Digest(), 0, expected0SHA256, noCycle0SHA256); - - doExpectedTest(new SHA1Digest(), 100, expected100SHA1); - doExpectedTest(new SHA256Digest(), 100, expected100SHA256); - - doExpectedTest(new SHA1Digest(), ZERO_SEED, expected0SHA1); - doExpectedTest(new SHA256Digest(), ZERO_SEED, expected0SHA256); - - doExpectedTest(new SHA1Digest(), TEST_SEED, expectedTestSHA1); - doExpectedTest(new SHA256Digest(), TEST_SEED, expectedTestSHA256); - - doCountTest(new SHA1Digest(), TEST_SEED, sha1Xors); - doCountTest(new SHA256Digest(), TEST_SEED, sha256Xors); - } - - public static void main( - String[] args) - { - runTest(new DigestRandomNumberTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestTest.java deleted file mode 100644 index 9b9849e26..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/DigestTest.java +++ /dev/null @@ -1,178 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.util.Memoable; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public abstract class DigestTest - extends SimpleTest -{ - private Digest digest; - private String[] input; - private String[] results; - - DigestTest( - Digest digest, - String[] input, - String[] results) - { - this.digest = digest; - this.input = input; - this.results = results; - } - - public String getName() - { - return digest.getAlgorithmName(); - } - - public void performTest() - { - byte[] resBuf = new byte[digest.getDigestSize()]; - - for (int i = 0; i < input.length - 1; i++) - { - byte[] m = toByteArray(input[i]); - - vectorTest(digest, i, resBuf, m, Hex.decode(results[i])); - } - - byte[] lastV = toByteArray(input[input.length - 1]); - byte[] lastDigest = Hex.decode(results[input.length - 1]); - - vectorTest(digest, input.length - 1, resBuf, lastV, Hex.decode(results[input.length - 1])); - - // - // clone test - // - digest.update(lastV, 0, lastV.length/2); - - // clone the Digest - Digest d = cloneDigest(digest); - - digest.update(lastV, lastV.length/2, lastV.length - lastV.length/2); - digest.doFinal(resBuf, 0); - - if (!areEqual(lastDigest, resBuf)) - { - fail("failing clone vector test", results[results.length - 1], new String(Hex.encode(resBuf))); - } - - d.update(lastV, lastV.length/2, lastV.length - lastV.length/2); - d.doFinal(resBuf, 0); - - if (!areEqual(lastDigest, resBuf)) - { - fail("failing second clone vector test", results[results.length - 1], new String(Hex.encode(resBuf))); - } - - // - // memo test - // - Memoable m = (Memoable)digest; - - digest.update(lastV, 0, lastV.length/2); - - // copy the Digest - Memoable copy1 = m.copy(); - Memoable copy2 = copy1.copy(); - - digest.update(lastV, lastV.length/2, lastV.length - lastV.length/2); - digest.doFinal(resBuf, 0); - - if (!areEqual(lastDigest, resBuf)) - { - fail("failing memo vector test", results[results.length - 1], new String(Hex.encode(resBuf))); - } - - m.reset(copy1); - - digest.update(lastV, lastV.length/2, lastV.length - lastV.length/2); - digest.doFinal(resBuf, 0); - - if (!areEqual(lastDigest, resBuf)) - { - fail("failing memo reset vector test", results[results.length - 1], new String(Hex.encode(resBuf))); - } - - Digest md = (Digest)copy2; - - md.update(lastV, lastV.length/2, lastV.length - lastV.length/2); - md.doFinal(resBuf, 0); - - if (!areEqual(lastDigest, resBuf)) - { - fail("failing memo copy vector test", results[results.length - 1], new String(Hex.encode(resBuf))); - } - } - - private byte[] toByteArray(String input) - { - byte[] bytes = new byte[input.length()]; - - for (int i = 0; i != bytes.length; i++) - { - bytes[i] = (byte)input.charAt(i); - } - - return bytes; - } - - private void vectorTest( - Digest digest, - int count, - byte[] resBuf, - byte[] input, - byte[] expected) - { - digest.update(input, 0, input.length); - digest.doFinal(resBuf, 0); - - if (!areEqual(resBuf, expected)) - { - fail("Vector " + count + " failed got " + new String(Hex.encode(resBuf))); - } - } - - protected abstract Digest cloneDigest(Digest digest); - - // - // optional tests - // - protected void millionATest( - String expected) - { - byte[] resBuf = new byte[digest.getDigestSize()]; - - for (int i = 0; i < 1000000; i++) - { - digest.update((byte)'a'); - } - - digest.doFinal(resBuf, 0); - - if (!areEqual(resBuf, Hex.decode(expected))) - { - fail("Million a's failed", expected, new String(Hex.encode(resBuf))); - } - } - - protected void sixtyFourKTest( - String expected) - { - byte[] resBuf = new byte[digest.getDigestSize()]; - - for (int i = 0; i < 65536; i++) - { - digest.update((byte)(i & 0xff)); - } - - digest.doFinal(resBuf, 0); - - if (!areEqual(resBuf, Hex.decode(expected))) - { - fail("64k test failed", expected, new String(Hex.encode(resBuf))); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EAXTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EAXTest.java deleted file mode 100644 index d6284990d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EAXTest.java +++ /dev/null @@ -1,351 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.crypto.modes.EAXBlockCipher; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class EAXTest - extends SimpleTest -{ - private byte[] K1 = Hex.decode("233952DEE4D5ED5F9B9C6D6FF80FF478"); - private byte[] N1 = Hex.decode("62EC67F9C3A4A407FCB2A8C49031A8B3"); - private byte[] A1 = Hex.decode("6BFB914FD07EAE6B"); - private byte[] P1 = Hex.decode(""); - private byte[] C1 = Hex.decode("E037830E8389F27B025A2D6527E79D01"); - private byte[] T1 = Hex.decode("E037830E8389F27B025A2D6527E79D01"); - - private byte[] K2 = Hex.decode("91945D3F4DCBEE0BF45EF52255F095A4"); - private byte[] N2 = Hex.decode("BECAF043B0A23D843194BA972C66DEBD"); - private byte[] A2 = Hex.decode("FA3BFD4806EB53FA"); - private byte[] P2 = Hex.decode("F7FB"); - private byte[] C2 = Hex.decode("19DD5C4C9331049D0BDAB0277408F67967E5"); - private byte[] T2 = Hex.decode("5C4C9331049D0BDAB0277408F67967E5"); - - private byte[] K3 = Hex.decode("01F74AD64077F2E704C0F60ADA3DD523"); - private byte[] N3 = Hex.decode("70C3DB4F0D26368400A10ED05D2BFF5E"); - private byte[] A3 = Hex.decode("234A3463C1264AC6"); - private byte[] P3 = Hex.decode("1A47CB4933"); - private byte[] C3 = Hex.decode("D851D5BAE03A59F238A23E39199DC9266626C40F80"); - private byte[] T3 = Hex.decode("3A59F238A23E39199DC9266626C40F80"); - - private byte[] K4 = Hex.decode("D07CF6CBB7F313BDDE66B727AFD3C5E8"); - private byte[] N4 = Hex.decode("8408DFFF3C1A2B1292DC199E46B7D617"); - private byte[] A4 = Hex.decode("33CCE2EABFF5A79D"); - private byte[] P4 = Hex.decode("481C9E39B1"); - private byte[] C4 = Hex.decode("632A9D131AD4C168A4225D8E1FF755939974A7BEDE"); - private byte[] T4 = Hex.decode("D4C168A4225D8E1FF755939974A7BEDE"); - - private byte[] K5 = Hex.decode("35B6D0580005BBC12B0587124557D2C2"); - private byte[] N5 = Hex.decode("FDB6B06676EEDC5C61D74276E1F8E816"); - private byte[] A5 = Hex.decode("AEB96EAEBE2970E9"); - private byte[] P5 = Hex.decode("40D0C07DA5E4"); - private byte[] C5 = Hex.decode("071DFE16C675CB0677E536F73AFE6A14B74EE49844DD"); - private byte[] T5 = Hex.decode("CB0677E536F73AFE6A14B74EE49844DD"); - - private byte[] K6 = Hex.decode("BD8E6E11475E60B268784C38C62FEB22"); - private byte[] N6 = Hex.decode("6EAC5C93072D8E8513F750935E46DA1B"); - private byte[] A6 = Hex.decode("D4482D1CA78DCE0F"); - private byte[] P6 = Hex.decode("4DE3B35C3FC039245BD1FB7D"); - private byte[] C6 = Hex.decode("835BB4F15D743E350E728414ABB8644FD6CCB86947C5E10590210A4F"); - private byte[] T6 = Hex.decode("ABB8644FD6CCB86947C5E10590210A4F"); - - private byte[] K7 = Hex.decode("7C77D6E813BED5AC98BAA417477A2E7D"); - private byte[] N7 = Hex.decode("1A8C98DCD73D38393B2BF1569DEEFC19"); - private byte[] A7 = Hex.decode("65D2017990D62528"); - private byte[] P7 = Hex.decode("8B0A79306C9CE7ED99DAE4F87F8DD61636"); - private byte[] C7 = Hex.decode("02083E3979DA014812F59F11D52630DA30137327D10649B0AA6E1C181DB617D7F2"); - private byte[] T7 = Hex.decode("137327D10649B0AA6E1C181DB617D7F2"); - - private byte[] K8 = Hex.decode("5FFF20CAFAB119CA2FC73549E20F5B0D"); - private byte[] N8 = Hex.decode("DDE59B97D722156D4D9AFF2BC7559826"); - private byte[] A8 = Hex.decode("54B9F04E6A09189A"); - private byte[] P8 = Hex.decode("1BDA122BCE8A8DBAF1877D962B8592DD2D56"); - private byte[] C8 = Hex.decode("2EC47B2C4954A489AFC7BA4897EDCDAE8CC33B60450599BD02C96382902AEF7F832A"); - private byte[] T8 = Hex.decode("3B60450599BD02C96382902AEF7F832A"); - - private byte[] K9 = Hex.decode("A4A4782BCFFD3EC5E7EF6D8C34A56123"); - private byte[] N9 = Hex.decode("B781FCF2F75FA5A8DE97A9CA48E522EC"); - private byte[] A9 = Hex.decode("899A175897561D7E"); - private byte[] P9 = Hex.decode("6CF36720872B8513F6EAB1A8A44438D5EF11"); - private byte[] C9 = Hex.decode("0DE18FD0FDD91E7AF19F1D8EE8733938B1E8E7F6D2231618102FDB7FE55FF1991700"); - private byte[] T9 = Hex.decode("E7F6D2231618102FDB7FE55FF1991700"); - - private byte[] K10 = Hex.decode("8395FCF1E95BEBD697BD010BC766AAC3"); - private byte[] N10 = Hex.decode("22E7ADD93CFC6393C57EC0B3C17D6B44"); - private byte[] A10 = Hex.decode("126735FCC320D25A"); - private byte[] P10 = Hex.decode("CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7"); - private byte[] C10 = Hex.decode("CB8920F87A6C75CFF39627B56E3ED197C552D295A7CFC46AFC253B4652B1AF3795B124AB6E"); - private byte[] T10 = Hex.decode("CFC46AFC253B4652B1AF3795B124AB6E"); - - private byte[] K11 = Hex.decode("8395FCF1E95BEBD697BD010BC766AAC3"); - private byte[] N11 = Hex.decode("22E7ADD93CFC6393C57EC0B3C17D6B44"); - private byte[] A11 = Hex.decode("126735FCC320D25A"); - private byte[] P11 = Hex.decode("CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7"); - private byte[] C11 = Hex.decode("CB8920F87A6C75CFF39627B56E3ED197C552D295A7CFC46AFC"); - private byte[] T11 = Hex.decode("CFC46AFC"); - - private static final int NONCE_LEN = 8; - private static final int MAC_LEN = 8; - private static final int AUTHEN_LEN = 20; - - public String getName() - { - return "EAX"; - } - - public void performTest() - throws Exception - { - checkVectors(1, K1, 128, N1, A1, P1, T1, C1); - checkVectors(2, K2, 128, N2, A2, P2, T2, C2); - checkVectors(3, K3, 128, N3, A3, P3, T3, C3); - checkVectors(4, K4, 128, N4, A4, P4, T4, C4); - checkVectors(5, K5, 128, N5, A5, P5, T5, C5); - checkVectors(6, K6, 128, N6, A6, P6, T6, C6); - checkVectors(7, K7, 128, N7, A7, P7, T7, C7); - checkVectors(8, K8, 128, N8, A8, P8, T8, C8); - checkVectors(9, K9, 128, N9, A9, P9, T9, C9); - checkVectors(10, K10, 128, N10, A10, P10, T10, C10); - checkVectors(11, K11, 32, N11, A11, P11, T11, C11); - - EAXBlockCipher eax = new EAXBlockCipher(new AESFastEngine()); - ivParamTest(1, eax, K1, N1); - - // - // exception tests - // - - try - { - eax.init(false, new AEADParameters(new KeyParameter(K1), 32, N2, A2)); - - byte[] enc = new byte[C2.length]; - int len = eax.processBytes(C2, 0, C2.length, enc, 0); - - len += eax.doFinal(enc, len); - - fail("invalid cipher text not picked up"); - } - catch (InvalidCipherTextException e) - { - // expected - } - - try - { - eax.init(false, new KeyParameter(K1)); - - fail("illegal argument not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - randomTests(); - AEADTestUtil.testReset(this, new EAXBlockCipher(new AESEngine()), new EAXBlockCipher(new AESEngine()), new AEADParameters(new KeyParameter(K1), 32, N2)); - AEADTestUtil.testTampering(this, eax, new AEADParameters(new KeyParameter(K1), 32, N2)); - } - - private void checkVectors( - int count, - byte[] k, - int macSize, - byte[] n, - byte[] a, - byte[] p, - byte[] t, - byte[] c) - throws InvalidCipherTextException - { - byte[] fa = new byte[a.length / 2]; - byte[] la = new byte[a.length - (a.length / 2)]; - System.arraycopy(a, 0, fa, 0, fa.length); - System.arraycopy(a, fa.length, la, 0, la.length); - - checkVectors(count, "all initial associated data", k, macSize, n, a, null, p, t, c); - checkVectors(count, "subsequent associated data", k, macSize, n, null, a, p, t, c); - checkVectors(count, "split associated data", k, macSize, n, fa, la, p, t, c); - } - - private void checkVectors( - int count, - String additionalDataType, - byte[] k, - int macSize, - byte[] n, - byte[] a, - byte[] sa, - byte[] p, - byte[] t, - byte[] c) - throws InvalidCipherTextException - { - EAXBlockCipher encEax = new EAXBlockCipher(new AESFastEngine()); - EAXBlockCipher decEax = new EAXBlockCipher(new AESFastEngine()); - - AEADParameters parameters = new AEADParameters(new KeyParameter(k), macSize, n, a); - encEax.init(true, parameters); - decEax.init(false, parameters); - - runCheckVectors(count, encEax, decEax, additionalDataType, sa, p, t, c); - runCheckVectors(count, encEax, decEax, additionalDataType, sa, p, t, c); - - // key reuse test - parameters = new AEADParameters(null, macSize, n, a); - encEax.init(true, parameters); - decEax.init(false, parameters); - - runCheckVectors(count, encEax, decEax, additionalDataType, sa, p, t, c); - runCheckVectors(count, encEax, decEax, additionalDataType, sa, p, t, c); - } - - private void runCheckVectors( - int count, - EAXBlockCipher encEax, - EAXBlockCipher decEax, - String additionalDataType, - byte[] sa, - byte[] p, - byte[] t, - byte[] c) - throws InvalidCipherTextException - { - byte[] enc = new byte[c.length]; - - if (sa != null) - { - encEax.processAADBytes(sa, 0, sa.length); - } - - int len = encEax.processBytes(p, 0, p.length, enc, 0); - - len += encEax.doFinal(enc, len); - - if (!areEqual(c, enc)) - { - fail("encrypted stream fails to match in test " + count + " with " + additionalDataType); - } - - byte[] tmp = new byte[enc.length]; - - if (sa != null) - { - decEax.processAADBytes(sa, 0, sa.length); - } - - len = decEax.processBytes(enc, 0, enc.length, tmp, 0); - - len += decEax.doFinal(tmp, len); - - byte[] dec = new byte[len]; - - System.arraycopy(tmp, 0, dec, 0, len); - - if (!areEqual(p, dec)) - { - fail("decrypted stream fails to match in test " + count + " with " + additionalDataType); - } - - if (!areEqual(t, decEax.getMac())) - { - fail("MAC fails to match in test " + count + " with " + additionalDataType); - } - } - - private void ivParamTest( - int count, - AEADBlockCipher eax, - byte[] k, - byte[] n) - throws InvalidCipherTextException - { - byte[] p = Strings.toByteArray("hello world!!"); - - eax.init(true, new ParametersWithIV(new KeyParameter(k), n)); - - byte[] enc = new byte[p.length + 8]; - - int len = eax.processBytes(p, 0, p.length, enc, 0); - - len += eax.doFinal(enc, len); - - eax.init(false, new ParametersWithIV(new KeyParameter(k), n)); - - byte[] tmp = new byte[enc.length]; - - len = eax.processBytes(enc, 0, enc.length, tmp, 0); - - len += eax.doFinal(tmp, len); - - byte[] dec = new byte[len]; - - System.arraycopy(tmp, 0, dec, 0, len); - - if (!areEqual(p, dec)) - { - fail("decrypted stream fails to match in test " + count); - } - } - - private void randomTests() - throws InvalidCipherTextException - { - SecureRandom srng = new SecureRandom(); - for (int i = 0; i < 10; ++i) - { - randomTest(srng); - } - } - - private void randomTest( - SecureRandom srng) - throws InvalidCipherTextException - { - int DAT_LEN = srng.nextInt() >>> 22; // Note: JDK1.0 compatibility - byte[] nonce = new byte[NONCE_LEN]; - byte[] authen = new byte[AUTHEN_LEN]; - byte[] datIn = new byte[DAT_LEN]; - byte[] key = new byte[16]; - srng.nextBytes(nonce); - srng.nextBytes(authen); - srng.nextBytes(datIn); - srng.nextBytes(key); - - AESFastEngine engine = new AESFastEngine(); - KeyParameter sessKey = new KeyParameter(key); - EAXBlockCipher eaxCipher = new EAXBlockCipher(engine); - - AEADParameters params = new AEADParameters(sessKey, MAC_LEN * 8, nonce, authen); - eaxCipher.init(true, params); - - byte[] intrDat = new byte[eaxCipher.getOutputSize(datIn.length)]; - int outOff = eaxCipher.processBytes(datIn, 0, DAT_LEN, intrDat, 0); - outOff += eaxCipher.doFinal(intrDat, outOff); - - eaxCipher.init(false, params); - byte[] datOut = new byte[eaxCipher.getOutputSize(outOff)]; - int resultLen = eaxCipher.processBytes(intrDat, 0, outOff, datOut, 0); - eaxCipher.doFinal(datOut, resultLen); - - if (!areEqual(datIn, datOut)) - { - fail("EAX roundtrip failed to match"); - } - } - - public static void main(String[] args) - { - runTest(new EAXTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECDHKEKGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECDHKEKGeneratorTest.java deleted file mode 100644 index 757599929..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECDHKEKGeneratorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.asn1.DERObjectIdentifier; -import org.spongycastle.asn1.nist.NISTObjectIdentifiers; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.DerivationParameters; -import org.spongycastle.crypto.agreement.kdf.DHKDFParameters; -import org.spongycastle.crypto.agreement.kdf.ECDHKEKGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * ECDHKEK Generator tests. - */ -public class ECDHKEKGeneratorTest - extends SimpleTest -{ - private byte[] seed1 = Hex.decode("db4a8daba1f98791d54e940175dd1a5f3a0826a1066aa9b668d4dc1e1e0790158dcad1533c03b44214d1b61fefa8b579"); - private DERObjectIdentifier alg1 = NISTObjectIdentifiers.id_aes256_wrap; - private byte[] result1 = Hex.decode("8ecc6d85caf25eaba823a7d620d4ab0d33e4c645f2"); - - private byte[] seed2 = Hex.decode("75d7487b5d3d2bfb3c69ce0365fe64e3bfab5d0d63731628a9f47eb8fddfa28c65decaf228a0b38f0c51c6a3356d7c56"); - private DERObjectIdentifier alg2 = NISTObjectIdentifiers.id_aes128_wrap; - private byte[] result2 = Hex.decode("042be1faca3a4a8fc859241bfb87ba35"); - - private byte[] seed3 = Hex.decode("fdeb6d809f997e8ac174d638734dc36d37aaf7e876e39967cd82b1cada3de772449788461ee7f856bad9305627f8e48b"); - private DERObjectIdentifier alg3 = PKCSObjectIdentifiers.id_alg_CMS3DESwrap; - private byte[] result3 = Hex.decode("bcd701fc92109b1b9d6f3b6497ad5ca9627fa8a597010305"); - - public ECDHKEKGeneratorTest() - { - } - - public void performTest() - { - checkMask(1, new ECDHKEKGenerator(new SHA1Digest()), new DHKDFParameters(alg1, 256, seed1), result1); - checkMask(2, new ECDHKEKGenerator(new SHA1Digest()), new DHKDFParameters(alg2, 128, seed2), result2); - checkMask(3, new ECDHKEKGenerator(new SHA1Digest()), new DHKDFParameters(alg3, 192, seed3), result3); - } - - private void checkMask( - int count, - DerivationFunction kdf, - DerivationParameters params, - byte[] result) - { - byte[] data = new byte[result.length]; - - kdf.init(params); - - kdf.generateBytes(data, 0, data.length); - - if (!areEqual(result, data)) - { - fail("ECDHKEKGenerator failed generator test " + count); - } - } - - public String getName() - { - return "ECDHKEKGenerator"; - } - - public static void main( - String[] args) - { - runTest(new ECDHKEKGeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECGOST3410Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECGOST3410Test.java deleted file mode 100644 index 5d08540ff..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECGOST3410Test.java +++ /dev/null @@ -1,317 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.GOST3411Digest; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.ECGOST3410Signer; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -/** - * ECGOST3410 tests are taken from GOST R 34.10-2001. - */ -public class ECGOST3410Test - extends SimpleTest - { - byte[] hashmessage = Hex.decode("3042453136414534424341374533364339313734453431443642453241453435"); - - /** - * ECGOST3410 over the field Fp
    - */ - BigInteger r = new BigInteger("29700980915817952874371204983938256990422752107994319651632687982059210933395"); - BigInteger s = new BigInteger("574973400270084654178925310019147038455227042649098563933718999175515839552"); - - byte[] kData = new BigInteger("53854137677348463731403841147996619241504003434302020712960838528893196233395").toByteArray(); - - SecureRandom k = new FixedSecureRandom(kData); - - private void ecGOST3410_TEST() - { - BigInteger mod_p = new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564821041"); //p - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("7"), // a - new BigInteger("43308876546767276905765904595650931995942111794451039583252968842033849580414")); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("2"), // x - new BigInteger("4018974056539037503335449422937059775635739389905545080690979365213431566280")), // y - new BigInteger("57896044618658097711785492504343953927082934583725450622380973592137631069619")); // q - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("55441196065363246126355624130324183196576709222340016572108097750006097525544"), // d - params); - - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ECGOST3410Signer ecgost3410 = new ECGOST3410Signer(); - - ecgost3410.init(true, param); - - byte[] mVal = new BigInteger("20798893674476452017134061561508270130637142515379653289952617252661468872421").toByteArray(); - byte[] message = new byte[mVal.length]; - - for (int i = 0; i != mVal.length; i++) - { - message[i] = mVal[mVal.length - 1 - i]; - } - - BigInteger[] sig = ecgost3410.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong.", r, sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong.", s, sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.createPoint( - new BigInteger("57520216126176808443631405023338071176630104906313632182896741342206604859403"), // x - new BigInteger("17614944419213781543809391949654080031942662045363639260709847859438286763994")), // y - params); - - ecgost3410.init(false, pubKey); - if (!ecgost3410.verifySignature(message, sig[0], sig[1])) - { - fail("verification fails"); - } - } - - /** - * Test Sign & Verify with test parameters - * see: http://www.ietf.org/internet-drafts/draft-popov-cryptopro-cpalgs-01.txt - * gostR3410-2001-TestParamSet P.46 - */ - private void ecGOST3410_TestParam() - { - SecureRandom random = new SecureRandom(); - - BigInteger mod_p = new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564821041"); //p - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("7"), // a - new BigInteger("43308876546767276905765904595650931995942111794451039583252968842033849580414")); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("2"), // x - new BigInteger("4018974056539037503335449422937059775635739389905545080690979365213431566280")), // y - new BigInteger("57896044618658097711785492504343953927082934583725450622380973592137631069619")); // q - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - ECGOST3410Signer ecgost3410 = new ECGOST3410Signer(); - - ecgost3410.init(true, param); - - //get hash message using the digest GOST3411. - byte[] message = "Message for sign".getBytes(); - GOST3411Digest gost3411 = new GOST3411Digest(); - gost3411.update(message, 0, message.length); - byte[] hashmessage = new byte[gost3411.getDigestSize()]; - gost3411.doFinal(hashmessage, 0); - - BigInteger[] sig = ecgost3410.generateSignature(hashmessage); - - ecgost3410.init(false, pair.getPublic()); - - if (!ecgost3410.verifySignature(hashmessage, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * Test Sign & Verify with A parameters - * see: http://www.ietf.org/internet-drafts/draft-popov-cryptopro-cpalgs-01.txt - * gostR3410-2001-CryptoPro-A-ParamSet P.47 - */ - public void ecGOST3410_AParam() - { - SecureRandom random = new SecureRandom(); - - BigInteger mod_p = new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639319"); //p - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639316"), // a - new BigInteger("166")); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("1"), // x - new BigInteger("64033881142927202683649881450433473985931760268884941288852745803908878638612")), // y - new BigInteger("115792089237316195423570985008687907853073762908499243225378155805079068850323")); // q - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - ECGOST3410Signer ecgost3410 = new ECGOST3410Signer(); - - ecgost3410.init(true, param); - - BigInteger[] sig = ecgost3410.generateSignature(hashmessage); - - ecgost3410.init(false, pair.getPublic()); - - if (!ecgost3410.verifySignature(hashmessage, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * Test Sign & Verify with B parameters - * see: http://www.ietf.org/internet-drafts/draft-popov-cryptopro-cpalgs-01.txt - * gostR3410-2001-CryptoPro-B-ParamSet P.47-48 - */ - private void ecGOST3410_BParam() - { - SecureRandom random = new SecureRandom(); - - BigInteger mod_p = new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823193"); //p - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823190"), // a - new BigInteger("28091019353058090096996979000309560759124368558014865957655842872397301267595")); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("1"), // x - new BigInteger("28792665814854611296992347458380284135028636778229113005756334730996303888124")), // y - new BigInteger("57896044618658097711785492504343953927102133160255826820068844496087732066703")); // q - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - ECGOST3410Signer ecgost3410 = new ECGOST3410Signer(); - - ecgost3410.init(true, param); - - BigInteger[] sig = ecgost3410.generateSignature(hashmessage); - - ecgost3410.init(false, pair.getPublic()); - - if (!ecgost3410.verifySignature(hashmessage, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * Test Sign & Verify with C parameters - * see: http://www.ietf.org/internet-drafts/draft-popov-cryptopro-cpalgs-01.txt - * gostR3410-2001-CryptoPro-C-ParamSet P.48 - */ - private void ecGOST3410_CParam() - { - SecureRandom random = new SecureRandom(); - - BigInteger mod_p = new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502619"); //p - - ECCurve.Fp curve = new ECCurve.Fp( - mod_p, // p - new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502616"), // a - new BigInteger("32858")); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.createPoint( - new BigInteger("0"), // x - new BigInteger("29818893917731240733471273240314769927240550812383695689146495261604565990247")), // y - new BigInteger("70390085352083305199547718019018437840920882647164081035322601458352298396601")); // q - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - ECGOST3410Signer ecgost3410 = new ECGOST3410Signer(); - - ecgost3410.init(true, param); - - BigInteger[] sig = ecgost3410.generateSignature(hashmessage); - - ecgost3410.init(false, pair.getPublic()); - - if (!ecgost3410.verifySignature(hashmessage, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - public String getName() - { - return "ECGOST3410"; - } - - public void performTest() - { - ecGOST3410_TEST(); - ecGOST3410_TestParam(); - ecGOST3410_AParam(); - ecGOST3410_BParam(); - ecGOST3410_CParam(); - } - - public static void main( - String[] args) - { - runTest(new ECGOST3410Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESKeyEncapsulationTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESKeyEncapsulationTest.java deleted file mode 100755 index 10a734110..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESKeyEncapsulationTest.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.generators.KDF2BytesGenerator; -import org.spongycastle.crypto.kems.ECIESKeyEncapsulation; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.test.SimpleTest; - -/** - * Tests for the ECIES Key Encapsulation Mechanism - */ -public class ECIESKeyEncapsulationTest - extends SimpleTest -{ - public String getName() - { - return "ECIESKeyEncapsulation"; - } - - public void performTest() - throws Exception - { - - // Set EC domain parameters and generate key pair - X9ECParameters spec = SECNamedCurves.getByName("secp224r1"); - ECDomainParameters ecDomain = new ECDomainParameters(spec.getCurve(), spec.getG(), spec.getN()); - ECKeyPairGenerator ecGen = new ECKeyPairGenerator(); - - ecGen.init(new ECKeyGenerationParameters(ecDomain, new SecureRandom())); - - AsymmetricCipherKeyPair keys = ecGen.generateKeyPair(); - - // Set ECIES-KEM parameters - ECIESKeyEncapsulation kem; - KDF2BytesGenerator kdf = new KDF2BytesGenerator(new SHA1Digest()); - SecureRandom rnd = new SecureRandom(); - byte[] out = new byte[57]; - KeyParameter key1, key2; - - // Test basic ECIES-KEM - kem = new ECIESKeyEncapsulation(kdf, rnd); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed basic test"); - } - - // Test ECIES-KEM using new cofactor mode - kem = new ECIESKeyEncapsulation(kdf, rnd, true, false, false); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed cofactor test"); - } - - // Test ECIES-KEM using old cofactor mode - kem = new ECIESKeyEncapsulation(kdf, rnd, false, true, false); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed old cofactor test"); - } - - // Test ECIES-KEM using single hash mode - kem = new ECIESKeyEncapsulation(kdf, rnd, false, false, true); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed single hash test"); - } - - // Test ECIES-KEM using new cofactor mode and single hash mode - kem = new ECIESKeyEncapsulation(kdf, rnd, true, false, true); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed cofactor and single hash test"); - } - - // Test ECIES-KEM using old cofactor mode and single hash mode - kem = new ECIESKeyEncapsulation(kdf, rnd, false, true, true); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed old cofactor and single hash test"); - } - } - - public static void main( - String[] args) - { - runTest(new ECIESKeyEncapsulationTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESTest.java deleted file mode 100644 index 70d0501e9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECIESTest.java +++ /dev/null @@ -1,349 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.KeyEncoder; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.agreement.ECDHBasicAgreement; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.engines.IESEngine; -import org.spongycastle.crypto.engines.TwofishEngine; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.generators.EphemeralKeyPairGenerator; -import org.spongycastle.crypto.generators.KDF2BytesGenerator; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.IESParameters; -import org.spongycastle.crypto.params.IESWithCipherParameters; -import org.spongycastle.crypto.parsers.ECIESPublicKeyParser; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * test for ECIES - Elliptic Curve Integrated Encryption Scheme - */ -public class ECIESTest - extends SimpleTest -{ - ECIESTest() - { - } - - public String getName() - { - return "ECIES"; - } - - private void staticTest() - throws Exception - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d - params); - - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q - params); - - AsymmetricCipherKeyPair p1 = new AsymmetricCipherKeyPair(pubKey, priKey); - AsymmetricCipherKeyPair p2 = new AsymmetricCipherKeyPair(pubKey, priKey); - - // - // stream test - // - IESEngine i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - IESEngine i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - byte[] d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - byte[] e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - IESParameters p = new IESParameters(d, e, 64); - - i1.init(true, p1.getPrivate(), p2.getPublic(), p); - i2.init(false, p2.getPrivate(), p1.getPublic(), p); - - byte[] message = Hex.decode("1234567890abcdef"); - - byte[] out1 = i1.processBlock(message, 0, message.length); - - if (!areEqual(out1, Hex.decode("468d89877e8238802403ec4cb6b329faeccfa6f3a730f2cdb3c0a8e8"))) - { - fail("stream cipher test failed on enc"); - } - - byte[] out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("stream cipher test failed"); - } - - // - // twofish with CBC - // - BufferedBlockCipher c1 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - BufferedBlockCipher c2 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c1); - i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c2); - d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - p = new IESWithCipherParameters(d, e, 64, 128); - - i1.init(true, p1.getPrivate(), p2.getPublic(), p); - i2.init(false, p2.getPrivate(), p1.getPublic(), p); - - message = Hex.decode("1234567890abcdef"); - - out1 = i1.processBlock(message, 0, message.length); - - if (!areEqual(out1, Hex.decode("b8a06ea5c2b9df28b58a0a90a734cde8c9c02903e5c220021fe4417410d1e53a32a71696"))) - { - fail("twofish cipher test failed on enc"); - } - - out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("twofish cipher test failed"); - } - } - - private void doEphemeralTest() - throws Exception - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d - params); - - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q - params); - - AsymmetricCipherKeyPair p1 = new AsymmetricCipherKeyPair(pubKey, priKey); - AsymmetricCipherKeyPair p2 = new AsymmetricCipherKeyPair(pubKey, priKey); - - // Generate the ephemeral key pair - ECKeyPairGenerator gen = new ECKeyPairGenerator(); - gen.init(new ECKeyGenerationParameters(params, new SecureRandom())); - - EphemeralKeyPairGenerator ephKeyGen = new EphemeralKeyPairGenerator(gen, new KeyEncoder() - { - public byte[] getEncoded(AsymmetricKeyParameter keyParameter) - { - return ((ECPublicKeyParameters)keyParameter).getQ().getEncoded(); - } - }); - - // - // stream test - // - IESEngine i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - IESEngine i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - - byte[] d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - byte[] e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - IESParameters p = new IESParameters(d, e, 64); - - i1.init(p2.getPublic(), p, ephKeyGen); - i2.init(p2.getPrivate(), p, new ECIESPublicKeyParser(params)); - - byte[] message = Hex.decode("1234567890abcdef"); - - byte[] out1 = i1.processBlock(message, 0, message.length); - - byte[] out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("stream cipher test failed"); - } - - // - // twofish with CBC - // - BufferedBlockCipher c1 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - BufferedBlockCipher c2 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c1); - i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c2); - d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - p = new IESWithCipherParameters(d, e, 64, 128); - - i1.init(p2.getPublic(), p, ephKeyGen); - i2.init(p2.getPrivate(), p, new ECIESPublicKeyParser(params)); - - message = Hex.decode("1234567890abcdef"); - - out1 = i1.processBlock(message, 0, message.length); - - out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("twofish cipher test failed"); - } - } - - private void doTest(AsymmetricCipherKeyPair p1, AsymmetricCipherKeyPair p2) - throws Exception - { - // - // stream test - // - IESEngine i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - IESEngine i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest())); - byte[] d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - byte[] e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - IESParameters p = new IESParameters(d, e, 64); - - i1.init(true, p1.getPrivate(), p2.getPublic(), p); - i2.init(false, p2.getPrivate(), p1.getPublic(), p); - - byte[] message = Hex.decode("1234567890abcdef"); - - byte[] out1 = i1.processBlock(message, 0, message.length); - - byte[] out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("stream cipher test failed"); - } - - // - // twofish with CBC - // - BufferedBlockCipher c1 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - BufferedBlockCipher c2 = new PaddedBufferedBlockCipher( - new CBCBlockCipher(new TwofishEngine())); - i1 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c1); - i2 = new IESEngine( - new ECDHBasicAgreement(), - new KDF2BytesGenerator(new SHA1Digest()), - new HMac(new SHA1Digest()), - c2); - d = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; - e = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 }; - p = new IESWithCipherParameters(d, e, 64, 128); - - i1.init(true, p1.getPrivate(), p2.getPublic(), p); - i2.init(false, p2.getPrivate(), p1.getPublic(), p); - - message = Hex.decode("1234567890abcdef"); - - out1 = i1.processBlock(message, 0, message.length); - - out2 = i2.processBlock(out1, 0, out1.length); - - if (!areEqual(out2, message)) - { - fail("twofish cipher test failed"); - } - } - - public void performTest() - throws Exception - { - staticTest(); - - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECKeyPairGenerator eGen = new ECKeyPairGenerator(); - KeyGenerationParameters gParam = new ECKeyGenerationParameters(params, new SecureRandom()); - - eGen.init(gParam); - - AsymmetricCipherKeyPair p1 = eGen.generateKeyPair(); - AsymmetricCipherKeyPair p2 = eGen.generateKeyPair(); - - doTest(p1, p2); - - doEphemeralTest(); - } - - public static void main( - String[] args) - { - runTest(new ECIESTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECNRTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECNRTest.java deleted file mode 100644 index 1f3dfe721..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECNRTest.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.ECNRSigner; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -/** - * ECNR tests. - */ -public class ECNRTest - extends SimpleTest -{ - /** - * a basic regression test with 239 bit prime - */ - BigInteger r = new BigInteger("308636143175167811492623515537541734843573549327605293463169625072911693"); - BigInteger s = new BigInteger("852401710738814635664888632022555967400445256405412579597015412971797143"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("700000017569056646655505781757157107570501575775705779575555657156756655")); - - SecureRandom k = new FixedSecureRandom(true, kData); - - private void ecNR239bitPrime() - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("876300101507107567501066130761671078357010671067781776716671676178726717"), // d - params); - - ECNRSigner ecnr = new ECNRSigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecnr.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecnr.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong.", r, sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong.", s, sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("025b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c70")), // Q - params); - - ecnr.init(false, pubKey); - if (!ecnr.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - public String getName() - { - return "ECNR"; - } - - public void performTest() - { - ecNR239bitPrime(); - } - - public static void main( - String[] args) - { - runTest(new ECNRTest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECTest.java deleted file mode 100644 index 07ed4c7fa..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ECTest.java +++ /dev/null @@ -1,901 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.asn1.nist.NISTNamedCurves; -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.agreement.ECDHBasicAgreement; -import org.spongycastle.crypto.agreement.ECDHCBasicAgreement; -import org.spongycastle.crypto.agreement.ECMQVBasicAgreement; -import org.spongycastle.crypto.generators.ECKeyPairGenerator; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.crypto.params.MQVPrivateParameters; -import org.spongycastle.crypto.params.MQVPublicParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.ECDSASigner; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -/** - * ECDSA tests are taken from X9.62. - */ -public class ECTest - extends SimpleTest -{ - /** - * X9.62 - 1998,
    - * J.3.1, Page 152, ECDSA over the field Fp
    - * an example with 192 bit prime - */ - private void testECDSA192bitPrime() - { - BigInteger r = new BigInteger("3342403536405981729393488334694600415596881826869351677613"); - BigInteger s = new BigInteger("5735822328888155254683894997897571951568553642892029982342"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("6140507067065001063065065565667405560006161556565665656654")); - - SecureRandom k = new FixedSecureRandom(kData); - - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G - new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d - params); - - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ECDSASigner ecdsa = new ECDSASigner(); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q - params); - - ecdsa.init(false, pubKey); - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("verification fails"); - } - } - - private void decodeTest() - { - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q - new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a - new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b - - ECPoint p = curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")).normalize(); - - if (!p.getAffineXCoord().toBigInteger().equals(new BigInteger("188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012", 16))) - { - fail("x uncompressed incorrectly"); - } - - if (!p.getAffineYCoord().toBigInteger().equals(new BigInteger("7192b95ffc8da78631011ed6b24cdd573f977a11e794811", 16))) - { - fail("y uncompressed incorrectly"); - } - - byte[] encoding = p.getEncoded(); - - if (!areEqual(encoding, Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012"))) - { - fail("point compressed incorrectly"); - } - } - - /** - * X9.62 - 1998,
    - * J.3.2, Page 155, ECDSA over the field Fp
    - * an example with 239 bit prime - */ - private void testECDSA239bitPrime() - { - BigInteger r = new BigInteger("308636143175167811492622547300668018854959378758531778147462058306432176"); - BigInteger s = new BigInteger("323813553209797357708078776831250505931891051755007842781978505179448783"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("700000017569056646655505781757157107570501575775705779575555657156756655")); - - SecureRandom k = new FixedSecureRandom(true, kData); - - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("876300101507107567501066130761671078357010671067781776716671676178726717"), // d - params); - - ECDSASigner ecdsa = new ECDSASigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("025b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c70")), // Q - params); - - ecdsa.init(false, pubKey); - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - - /** - * X9.62 - 1998,
    - * J.2.1, Page 100, ECDSA over the field F2m
    - * an example with 191 bit binary field - */ - private void testECDSA191bitBinary() - { - BigInteger r = new BigInteger("87194383164871543355722284926904419997237591535066528048"); - BigInteger s = new BigInteger("308992691965804947361541664549085895292153777025772063598"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("1542725565216523985789236956265265265235675811949404040041")); - - SecureRandom k = new FixedSecureRandom(kData); - - ECCurve.F2m curve = new ECCurve.F2m( - 191, // m - 9, //k - new BigInteger("2866537B676752636A68F56554E12640276B649EF7526267", 16), // a - new BigInteger("2E45EF571F00786F67B0081B9495A3D95462F5DE0AA185EC", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("0436B3DAF8A23206F9C4F299D7B21A9C369137F2C84AE1AA0D765BE73433B3F95E332932E70EA245CA2418EA0EF98018FB")), // G - new BigInteger("1569275433846670190958947355803350458831205595451630533029"), // n - BigInteger.valueOf(2)); // h - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("1275552191113212300012030439187146164646146646466749494799"), // d - params); - - ECDSASigner ecdsa = new ECDSASigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("045DE37E756BD55D72E3768CB396FFEB962614DEA4CE28A2E755C0E0E02F5FB132CAF416EF85B229BBB8E1352003125BA1")), // Q - params); - - ecdsa.init(false, pubKey); - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - - /** - * X9.62 - 1998,
    - * J.2.1, Page 100, ECDSA over the field F2m
    - * an example with 191 bit binary field - */ - private void testECDSA239bitBinary() - { - BigInteger r = new BigInteger("21596333210419611985018340039034612628818151486841789642455876922391552"); - BigInteger s = new BigInteger("197030374000731686738334997654997227052849804072198819102649413465737174"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("171278725565216523967285789236956265265265235675811949404040041670216363")); - - SecureRandom k = new FixedSecureRandom(kData); - - ECCurve.F2m curve = new ECCurve.F2m( - 239, // m - 36, //k - new BigInteger("32010857077C5431123A46B808906756F543423E8D27877578125778AC76", 16), // a - new BigInteger("790408F2EEDAF392B012EDEFB3392F30F4327C0CA3F31FC383C422AA8C16", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("0457927098FA932E7C0A96D3FD5B706EF7E5F5C156E16B7E7C86038552E91D61D8EE5077C33FECF6F1A16B268DE469C3C7744EA9A971649FC7A9616305")), // G - new BigInteger("220855883097298041197912187592864814557886993776713230936715041207411783"), // n - BigInteger.valueOf(4)); // h - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("145642755521911534651321230007534120304391871461646461466464667494947990"), // d - params); - - ECDSASigner ecdsa = new ECDSASigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("045894609CCECF9A92533F630DE713A958E96C97CCB8F5ABB5A688A238DEED6DC2D9D0C94EBFB7D526BA6A61764175B99CB6011E2047F9F067293F57F5")), // Q - params); - - ecdsa.init(false, pubKey); - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - // L 4.1 X9.62 2005 - private void testECDSAP224sha224() - { - X9ECParameters p = NISTNamedCurves.getByName("P-224"); - ECDomainParameters params = new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()); - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("6081831502424510080126737029209236539191290354021104541805484120491"), // d - params); - SecureRandom k = new FixedSecureRandom(BigIntegers.asUnsignedByteArray(new BigInteger("15456715103636396133226117016818339719732885723579037388121116732601"))); - - byte[] M = Hex.decode("8797A3C693CC292441039A4E6BAB7387F3B4F2A63D00ED384B378C79"); - - ECDSASigner dsa = new ECDSASigner(); - - dsa.init(true, new ParametersWithRandom(priKey, k)); - - BigInteger[] sig = dsa.generateSignature(M); - - BigInteger r = new BigInteger("26477406756127720855365980332052585411804331993436302005017227573742"); - BigInteger s = new BigInteger("17694958233103667059888193972742186995283044672015112738919822429978"); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - params.getCurve().decodePoint(Hex.decode("03FD44EC11F9D43D9D23B1E1D1C9ED6519B40ECF0C79F48CF476CC43F1")), // Q - params); - - dsa.init(false, pubKey); - if (!dsa.verifySignature(M, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - private void testECDSASecP224k1sha256() - { - X9ECParameters p = SECNamedCurves.getByName("secp224k1"); - ECDomainParameters params = new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()); - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("BE6F6E91FE96840A6518B56F3FE21689903A64FA729057AB872A9F51", 16), // d - params); - SecureRandom k = new FixedSecureRandom(Hex.decode("00c39beac93db21c3266084429eb9b846b787c094f23a4de66447efbb3")); - - byte[] M = Hex.decode("E5D5A7ADF73C5476FAEE93A2C76CE94DC0557DB04CDC189504779117920B896D"); - - ECDSASigner dsa = new ECDSASigner(); - - dsa.init(true, new ParametersWithRandom(priKey, k)); - - BigInteger[] sig = dsa.generateSignature(M); - - BigInteger r = new BigInteger("8163E5941BED41DA441B33E653C632A55A110893133351E20CE7CB75", 16); - BigInteger s = new BigInteger("D12C3FC289DDD5F6890DCE26B65792C8C50E68BF551D617D47DF15A8", 16); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - params.getCurve().decodePoint(Hex.decode("04C5C9B38D3603FCCD6994CBB9594E152B658721E483669BB42728520F484B537647EC816E58A8284D3B89DFEDB173AFDC214ECA95A836FA7C")), // Q - params); - - dsa.init(false, pubKey); - if (!dsa.verifySignature(M, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - // L4.2 X9.62 2005 - private void testECDSAP256sha256() - { - X9ECParameters p = NISTNamedCurves.getByName("P-256"); - ECDomainParameters params = new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()); - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("20186677036482506117540275567393538695075300175221296989956723148347484984008"), // d - params); - SecureRandom k = new FixedSecureRandom(BigIntegers.asUnsignedByteArray(new BigInteger("72546832179840998877302529996971396893172522460793442785601695562409154906335"))); - - byte[] M = Hex.decode("1BD4ED430B0F384B4E8D458EFF1A8A553286D7AC21CB2F6806172EF5F94A06AD"); - - ECDSASigner dsa = new ECDSASigner(); - - dsa.init(true, new ParametersWithRandom(priKey, k)); - - BigInteger[] sig = dsa.generateSignature(M); - - BigInteger r = new BigInteger("97354732615802252173078420023658453040116611318111190383344590814578738210384"); - BigInteger s = new BigInteger("98506158880355671805367324764306888225238061309262649376965428126566081727535"); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - params.getCurve().decodePoint(Hex.decode("03596375E6CE57E0F20294FC46BDFCFD19A39F8161B58695B3EC5B3D16427C274D")), // Q - params); - - dsa.init(false, pubKey); - if (!dsa.verifySignature(M, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - private void testECDSAP224OneByteOver() - { - X9ECParameters p = NISTNamedCurves.getByName("P-224"); - ECDomainParameters params = new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()); - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("6081831502424510080126737029209236539191290354021104541805484120491"), // d - params); - SecureRandom k = new FixedSecureRandom(BigIntegers.asUnsignedByteArray(new BigInteger("15456715103636396133226117016818339719732885723579037388121116732601"))); - - byte[] M = Hex.decode("8797A3C693CC292441039A4E6BAB7387F3B4F2A63D00ED384B378C79FF"); - - ECDSASigner dsa = new ECDSASigner(); - - dsa.init(true, new ParametersWithRandom(priKey, k)); - - BigInteger[] sig = dsa.generateSignature(M); - - BigInteger r = new BigInteger("26477406756127720855365980332052585411804331993436302005017227573742"); - BigInteger s = new BigInteger("17694958233103667059888193972742186995283044672015112738919822429978"); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - params.getCurve().decodePoint(Hex.decode("03FD44EC11F9D43D9D23B1E1D1C9ED6519B40ECF0C79F48CF476CC43F1")), // Q - params); - - dsa.init(false, pubKey); - if (!dsa.verifySignature(M, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - // L4.3 X9.62 2005 - private void testECDSAP521sha512() - { - X9ECParameters p = NISTNamedCurves.getByName("P-521"); - ECDomainParameters params = new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()); - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("617573726813476282316253885608633222275541026607493641741273231656161177732180358888434629562647985511298272498852936680947729040673640492310550142822667389"), // d - params); - SecureRandom k = new FixedSecureRandom(BigIntegers.asUnsignedByteArray(new BigInteger("6806532878215503520845109818432174847616958675335397773700324097584974639728725689481598054743894544060040710846048585856076812050552869216017728862957612913"))); - - byte[] M = Hex.decode("6893B64BD3A9615C39C3E62DDD269C2BAAF1D85915526083183CE14C2E883B48B193607C1ED871852C9DF9C3147B574DC1526C55DE1FE263A676346A20028A66"); - - ECDSASigner dsa = new ECDSASigner(); - - dsa.init(true, new ParametersWithRandom(priKey, k)); - - BigInteger[] sig = dsa.generateSignature(M); - - BigInteger r = new BigInteger("1368926195812127407956140744722257403535864168182534321188553460365652865686040549247096155740756318290773648848859639978618869784291633651685766829574104630"); - BigInteger s = new BigInteger("1624754720348883715608122151214003032398685415003935734485445999065609979304811509538477657407457976246218976767156629169821116579317401249024208611945405790"); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - params.getCurve().decodePoint(Hex.decode("020145E221AB9F71C5FE740D8D2B94939A09E2816E2167A7D058125A06A80C014F553E8D6764B048FB6F2B687CEC72F39738F223D4CE6AFCBFF2E34774AA5D3C342CB3")), // Q - params); - - dsa.init(false, pubKey); - if (!dsa.verifySignature(M, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * General test for long digest. - */ - private void testECDSA239bitBinaryAndLargeDigest() - { - BigInteger r = new BigInteger("21596333210419611985018340039034612628818151486841789642455876922391552"); - BigInteger s = new BigInteger("144940322424411242416373536877786566515839911620497068645600824084578597"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("171278725565216523967285789236956265265265235675811949404040041670216363")); - - SecureRandom k = new FixedSecureRandom(kData); - - ECCurve.F2m curve = new ECCurve.F2m( - 239, // m - 36, //k - new BigInteger("32010857077C5431123A46B808906756F543423E8D27877578125778AC76", 16), // a - new BigInteger("790408F2EEDAF392B012EDEFB3392F30F4327C0CA3F31FC383C422AA8C16", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("0457927098FA932E7C0A96D3FD5B706EF7E5F5C156E16B7E7C86038552E91D61D8EE5077C33FECF6F1A16B268DE469C3C7744EA9A971649FC7A9616305")), // G - new BigInteger("220855883097298041197912187592864814557886993776713230936715041207411783"), // n - BigInteger.valueOf(4)); // h - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("145642755521911534651321230007534120304391871461646461466464667494947990"), // d - params); - - ECDSASigner ecdsa = new ECDSASigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517968236873715988614170569073515315707566766479517968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong." + System.getProperty("line.separator") - + " expecting: " + r + System.getProperty("line.separator") - + " got : " + sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong." + System.getProperty("line.separator") - + " expecting: " + s + System.getProperty("line.separator") - + " got : " + sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("045894609CCECF9A92533F630DE713A958E96C97CCB8F5ABB5A688A238DEED6DC2D9D0C94EBFB7D526BA6A61764175B99CB6011E2047F9F067293F57F5")), // Q - params); - - ecdsa.init(false, pubKey); - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * key generation test - */ - private void testECDSAKeyGenTest() - { - SecureRandom random = new SecureRandom(); - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n - - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - ECDSASigner ecdsa = new ECDSASigner(); - - ecdsa.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecdsa.generateSignature(message); - - ecdsa.init(false, pair.getPublic()); - - if (!ecdsa.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - /** - * Basic Key Agreement Test - */ - private void testECBasicAgreementTest() - { - SecureRandom random = new SecureRandom(); - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n - - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - ECKeyGenerationParameters genParam = new ECKeyGenerationParameters( - params, - random); - - pGen.init(genParam); - - AsymmetricCipherKeyPair p1 = pGen.generateKeyPair(); - AsymmetricCipherKeyPair p2 = pGen.generateKeyPair(); - - // - // two way - // - BasicAgreement e1 = new ECDHBasicAgreement(); - BasicAgreement e2 = new ECDHBasicAgreement(); - - e1.init(p1.getPrivate()); - e2.init(p2.getPrivate()); - - BigInteger k1 = e1.calculateAgreement(p2.getPublic()); - BigInteger k2 = e2.calculateAgreement(p1.getPublic()); - - if (!k1.equals(k2)) - { - fail("calculated agreement test failed"); - } - - // - // two way - // - e1 = new ECDHCBasicAgreement(); - e2 = new ECDHCBasicAgreement(); - - e1.init(p1.getPrivate()); - e2.init(p2.getPrivate()); - - k1 = e1.calculateAgreement(p2.getPublic()); - k2 = e2.calculateAgreement(p1.getPublic()); - - if (!k1.equals(k2)) - { - fail("calculated agreement test failed"); - } - } - - private void testECMQVTestVector1() - { - // Test Vector from GEC-2 - - X9ECParameters x9 = SECNamedCurves.getByName("secp160r1"); - ECDomainParameters p = new ECDomainParameters( - x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed()); - - AsymmetricCipherKeyPair U1 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("0251B4496FECC406ED0E75A24A3C03206251419DC0")), p), - new ECPrivateKeyParameters( - new BigInteger("AA374FFC3CE144E6B073307972CB6D57B2A4E982", 16), p)); - - AsymmetricCipherKeyPair U2 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("03D99CE4D8BF52FA20BD21A962C6556B0F71F4CA1F")), p), - new ECPrivateKeyParameters( - new BigInteger("149EC7EA3A220A887619B3F9E5B4CA51C7D1779C", 16), p)); - - AsymmetricCipherKeyPair V1 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("0349B41E0E9C0369C2328739D90F63D56707C6E5BC")), p), - new ECPrivateKeyParameters( - new BigInteger("45FB58A92A17AD4B15101C66E74F277E2B460866", 16), p)); - - AsymmetricCipherKeyPair V2 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("02706E5D6E1F640C6E9C804E75DBC14521B1E5F3B5")), p), - new ECPrivateKeyParameters( - new BigInteger("18C13FCED9EADF884F7C595C8CB565DEFD0CB41E", 16), p)); - - BigInteger x = calculateAgreement(U1, U2, V1, V2); - - if (x == null - || !x.equals(new BigInteger("5A6955CEFDB4E43255FB7FCF718611E4DF8E05AC", 16))) - { - fail("MQV Test Vector #1 agreement failed"); - } - } - - private void testECMQVTestVector2() - { - // Test Vector from GEC-2 - - X9ECParameters x9 = SECNamedCurves.getByName("sect163k1"); - ECDomainParameters p = new ECDomainParameters( - x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed()); - - AsymmetricCipherKeyPair U1 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("03037D529FA37E42195F10111127FFB2BB38644806BC")), p), - new ECPrivateKeyParameters( - new BigInteger("03A41434AA99C2EF40C8495B2ED9739CB2155A1E0D", 16), p)); - - AsymmetricCipherKeyPair U2 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("02015198E74BC2F1E5C9A62B80248DF0D62B9ADF8429")), p), - new ECPrivateKeyParameters( - new BigInteger("032FC4C61A8211E6A7C4B8B0C03CF35F7CF20DBD52", 16), p)); - - AsymmetricCipherKeyPair V1 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("03072783FAAB9549002B4F13140B88132D1C75B3886C")), p), - new ECPrivateKeyParameters( - new BigInteger("57E8A78E842BF4ACD5C315AA0569DB1703541D96", 16), p)); - - AsymmetricCipherKeyPair V2 = new AsymmetricCipherKeyPair( - new ECPublicKeyParameters( - p.getCurve().decodePoint(Hex.decode("03067E3AEA3510D69E8EDD19CB2A703DDC6CF5E56E32")), p), - new ECPrivateKeyParameters( - new BigInteger("02BD198B83A667A8D908EA1E6F90FD5C6D695DE94F", 16), p)); - - BigInteger x = calculateAgreement(U1, U2, V1, V2); - - if (x == null - || !x.equals(new BigInteger("038359FFD30C0D5FC1E6154F483B73D43E5CF2B503", 16))) - { - fail("MQV Test Vector #2 agreement failed"); - } - } - - private void testECMQVRandom() - { - SecureRandom random = new SecureRandom(); - - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECDomainParameters parameters = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n - - ECKeyPairGenerator pGen = new ECKeyPairGenerator(); - - pGen.init(new ECKeyGenerationParameters(parameters, random)); - - - // Pre-established key pairs - AsymmetricCipherKeyPair U1 = pGen.generateKeyPair(); - AsymmetricCipherKeyPair V1 = pGen.generateKeyPair(); - - // Ephemeral key pairs - AsymmetricCipherKeyPair U2 = pGen.generateKeyPair(); - AsymmetricCipherKeyPair V2 = pGen.generateKeyPair(); - - BigInteger x = calculateAgreement(U1, U2, V1, V2); - - if (x == null) - { - fail("MQV Test Vector (random) agreement failed"); - } - } - - private static BigInteger calculateAgreement( - AsymmetricCipherKeyPair U1, - AsymmetricCipherKeyPair U2, - AsymmetricCipherKeyPair V1, - AsymmetricCipherKeyPair V2) - { - ECMQVBasicAgreement u = new ECMQVBasicAgreement(); - u.init(new MQVPrivateParameters( - (ECPrivateKeyParameters)U1.getPrivate(), - (ECPrivateKeyParameters)U2.getPrivate(), - (ECPublicKeyParameters)U2.getPublic())); - BigInteger ux = u.calculateAgreement(new MQVPublicParameters( - (ECPublicKeyParameters)V1.getPublic(), - (ECPublicKeyParameters)V2.getPublic())); - - ECMQVBasicAgreement v = new ECMQVBasicAgreement(); - v.init(new MQVPrivateParameters( - (ECPrivateKeyParameters)V1.getPrivate(), - (ECPrivateKeyParameters)V2.getPrivate(), - (ECPublicKeyParameters)V2.getPublic())); - BigInteger vx = v.calculateAgreement(new MQVPublicParameters( - (ECPublicKeyParameters)U1.getPublic(), - (ECPublicKeyParameters)U2.getPublic())); - - if (ux.equals(vx)) - { - return ux; - } - - return null; - } - - public String getName() - { - return "EC"; - } - - public void performTest() - { - decodeTest(); - testECDSA192bitPrime(); - testECDSA239bitPrime(); - testECDSA191bitBinary(); - testECDSA239bitBinary(); - testECDSAKeyGenTest(); - testECBasicAgreementTest(); - - testECDSAP224sha224(); - testECDSAP224OneByteOver(); - testECDSAP256sha256(); - testECDSAP521sha512(); - testECDSASecP224k1sha256(); - testECDSA239bitBinaryAndLargeDigest(); - - testECMQVTestVector1(); - testECMQVTestVector2(); - testECMQVRandom(); - } - - - public static void main( - String[] args) - { - runTest(new ECTest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ElGamalTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ElGamalTest.java deleted file mode 100644 index 7fdf500ef..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ElGamalTest.java +++ /dev/null @@ -1,260 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.engines.ElGamalEngine; -import org.spongycastle.crypto.generators.ElGamalKeyPairGenerator; -import org.spongycastle.crypto.generators.ElGamalParametersGenerator; -import org.spongycastle.crypto.params.ElGamalKeyGenerationParameters; -import org.spongycastle.crypto.params.ElGamalParameters; -import org.spongycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.spongycastle.crypto.params.ElGamalPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.test.SimpleTest; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.Arrays; - -import java.math.BigInteger; -import java.security.SecureRandom; - -public class ElGamalTest - extends SimpleTest -{ - private BigInteger g512 = new BigInteger("153d5d6172adb43045b68ae8e1de1070b6137005686d29d3d73a7749199681ee5b212c9b96bfdcfa5b20cd5e3fd2044895d609cf9b410b7a0f12ca1cb9a428cc", 16); - private BigInteger p512 = new BigInteger("9494fec095f3b85ee286542b3836fc81a5dd0a0349b4c239dd38744d488cf8e31db8bcb7d33b41abb9e5a33cca9144b1cef332c94bf0573bf047a3aca98cdf3b", 16); - - private BigInteger g768 = new BigInteger("7c240073c1316c621df461b71ebb0cdcc90a6e5527e5e126633d131f87461c4dc4afc60c2cb0f053b6758871489a69613e2a8b4c8acde23954c08c81cbd36132cfd64d69e4ed9f8e51ed6e516297206672d5c0a69135df0a5dcf010d289a9ca1", 16); - private BigInteger p768 = new BigInteger("8c9dd223debed1b80103b8b309715be009d48860ed5ae9b9d5d8159508efd802e3ad4501a7f7e1cfec78844489148cd72da24b21eddd01aa624291c48393e277cfc529e37075eccef957f3616f962d15b44aeab4039d01b817fde9eaa12fd73f", 16); - - private BigInteger g1024 = new BigInteger("1db17639cdf96bc4eabba19454f0b7e5bd4e14862889a725c96eb61048dcd676ceb303d586e30f060dbafd8a571a39c4d823982117da5cc4e0f89c77388b7a08896362429b94a18a327604eb7ff227bffbc83459ade299e57b5f77b50fb045250934938efa145511166e3197373e1b5b1e52de713eb49792bedde722c6717abf", 16); - private BigInteger p1024 = new BigInteger("a00e283b3c624e5b2b4d9fbc2653b5185d99499b00fd1bf244c6f0bb817b4d1c451b2958d62a0f8a38caef059fb5ecd25d75ed9af403f5b5bdab97a642902f824e3c13789fed95fa106ddfe0ff4a707c85e2eb77d49e68f2808bcea18ce128b178cd287c6bc00efa9a1ad2a673fe0dceace53166f75b81d6709d5f8af7c66bb7", 16); - - private BigInteger yPgpBogusPSamp = new BigInteger("de4688497cc05b45fe8559bc9918c45afcad69b74123a7236eba409fd9de8ea34c7869839ee9df35e3d97576145d089841aa65b5b4e061fae52c37e430354269a02496b8ed8456f2d0d7c9b0db985fbcb21ae9f78507ed6e3a29db595b201b1a4f931c7d791eede65ccf918e8a61cf146859151c78c41ad48853694623467d78", 16); - private BigInteger xPgpBogusPSamp = new BigInteger("cbaf780f2cfe4f987bbc5fcb0738bbd7912060ccfdf37cbfeea65c0fd857e74a8df6cc359375f28cf5725d081813c614410a78cbe4b06d677beea9ff0fa10b1dbc47a6ed8c5b8466d6a95d6574029dbdf72596392e1b6b230faf9916dc8455821c10527a375a4d1c8a54947d1fe714d321aca25ad486b4b456506999fd2fd11a", 16); - private BigInteger gPgpBogusPSamp = new BigInteger("153ffe9522076d1cbd6e75f0816a0fc2ebd8b0e0091406587387a1763022088a03b411eed07ff50efb82b21f1608c352d10f63ba7e7e981a2f3387cec8af2915953d00493857663ae8919f517fe90f1d2abe7af4305a344b10d1a25d75f65902cd7fd775853d3ac43d7c5253ad666e1e63ee98cdcb10af81273d4ff053ff07d51", 16); - private BigInteger pPgpBogusPSamp = new BigInteger("15061b26cdab4e865098a01c86f13b03220104c5443e950658b36b85245aa0c616a0c0d8d99c454bea087c172315e45b3bc9b925443948a2b6ba47608a6035b9a79a4ef34a78d7274a12ede8364f02d5030db864988643d7e92753df603bd69fbd2682ab0af64d1a866d1131a2cb13333cedb0a9e6eefddd9fff8154d34c2daab", 16); - private int lPgpBogusPSamp = 0; - - public String getName() - { - return "ElGamal"; - } - - private void testEnc( - int size, - int privateValueSize, - BigInteger g, - BigInteger p) - { - ElGamalParameters dhParams = new ElGamalParameters(p, g, privateValueSize); - ElGamalKeyGenerationParameters params = new ElGamalKeyGenerationParameters(new SecureRandom(), dhParams); - ElGamalKeyPairGenerator kpGen = new ElGamalKeyPairGenerator(); - - kpGen.init(params); - - // - // generate pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - ElGamalPublicKeyParameters pu = (ElGamalPublicKeyParameters)pair.getPublic(); - ElGamalPrivateKeyParameters pv = (ElGamalPrivateKeyParameters)pair.getPrivate(); - - checkKeySize(privateValueSize, pv); - - ElGamalEngine e = new ElGamalEngine(); - - e.init(true, pu); - - if (e.getOutputBlockSize() != size / 4) - { - fail(size + " getOutputBlockSize() on encryption failed."); - } - - byte[] message = Hex.decode("5468697320697320612074657374"); - - byte[] pText = message; - byte[] cText = e.processBlock(pText, 0, pText.length); - - e.init(false, pv); - - if (e.getOutputBlockSize() != (size / 8) - 1) - { - fail(size + " getOutputBlockSize() on decryption failed."); - } - - pText = e.processBlock(cText, 0, cText.length); - - if (!Arrays.areEqual(message, pText)) - { - fail(size + " bit test failed"); - } - - e.init(true, pu); - - byte[] bytes = new byte[e.getInputBlockSize() + 2]; - - try - { - e.processBlock(bytes, 0, bytes.length); - - fail("out of range block not detected"); - } - catch (DataLengthException ex) - { - // expected - } - - try - { - bytes[0] = (byte)0xff; - - e.processBlock(bytes, 0, bytes.length - 1); - - fail("out of range block not detected"); - } - catch (DataLengthException ex) - { - // expected - } - - try - { - bytes[0] = (byte)0x7f; - - e.processBlock(bytes, 0, bytes.length - 1); - } - catch (DataLengthException ex) - { - fail("in range block failed"); - } - } - - private void checkKeySize( - int privateValueSize, - ElGamalPrivateKeyParameters priv) - { - if (privateValueSize != 0) - { - if (priv.getX().bitLength() != privateValueSize) - { - fail("limited key check failed for key size " + privateValueSize); - } - } - } - - /** - * this test is can take quiet a while - * - * @param size size of key in bits. - */ - private void testGeneration( - int size) - { - ElGamalParametersGenerator pGen = new ElGamalParametersGenerator(); - - pGen.init(size, 10, new SecureRandom()); - - ElGamalParameters elParams = pGen.generateParameters(); - - if (elParams.getL() != 0) - { - fail("ElGamalParametersGenerator failed to set L to 0 in generated ElGamalParameters"); - } - - ElGamalKeyGenerationParameters params = new ElGamalKeyGenerationParameters(new SecureRandom(), elParams); - - ElGamalKeyPairGenerator kpGen = new ElGamalKeyPairGenerator(); - - kpGen.init(params); - - // - // generate first pair - // - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - - ElGamalPublicKeyParameters pu = (ElGamalPublicKeyParameters)pair.getPublic(); - ElGamalPrivateKeyParameters pv = (ElGamalPrivateKeyParameters)pair.getPrivate(); - - ElGamalEngine e = new ElGamalEngine(); - - e.init(true, new ParametersWithRandom(pu, new SecureRandom())); - - byte[] message = Hex.decode("5468697320697320612074657374"); - - byte[] pText = message; - byte[] cText = e.processBlock(pText, 0, pText.length); - - e.init(false, pv); - - pText = e.processBlock(cText, 0, cText.length); - - if (!Arrays.areEqual(message, pText)) - { - fail("generation test failed"); - } - } - - private void testInitCheck() - { - try - { - new ElGamalEngine().processBlock(new byte[]{ 1 }, 0, 1); - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - } - - private void testInvalidP() - { - ElGamalParameters dhParams = new ElGamalParameters(pPgpBogusPSamp, gPgpBogusPSamp, lPgpBogusPSamp); - ElGamalPublicKeyParameters pu = new ElGamalPublicKeyParameters(yPgpBogusPSamp, dhParams); - ElGamalPrivateKeyParameters pv = new ElGamalPrivateKeyParameters(xPgpBogusPSamp, dhParams); - - ElGamalEngine e = new ElGamalEngine(); - - e.init(true, pu); - - byte[] message = Hex.decode("5468697320697320612074657374"); - - byte[] pText = message; - byte[] cText = e.processBlock(pText, 0, pText.length); - - e.init(false, pv); - - pText = e.processBlock(cText, 0, cText.length); - - if (Arrays.areEqual(message, pText)) - { - fail("invalid test failed"); - } - } - - public void performTest() - { - testInvalidP(); - - testEnc(512, 0, g512, p512); - testEnc(768, 0, g768, p768); - testEnc(1024, 0, g1024, p1024); - - testEnc(512, 64, g512, p512); - testEnc(768, 128, g768, p768); - - // - // generation test. - // - testGeneration(258); - - testInitCheck(); - } - - public static void main( - String[] args) - { - runTest(new ElGamalTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EqualsHashCodeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EqualsHashCodeTest.java deleted file mode 100644 index 3966f8e84..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/EqualsHashCodeTest.java +++ /dev/null @@ -1,261 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.generators.DHKeyPairGenerator; -import org.spongycastle.crypto.generators.ElGamalKeyPairGenerator; -import org.spongycastle.crypto.params.DHKeyGenerationParameters; -import org.spongycastle.crypto.params.DHKeyParameters; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.DHValidationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAValidationParameters; -import org.spongycastle.crypto.params.ElGamalKeyGenerationParameters; -import org.spongycastle.crypto.params.ElGamalKeyParameters; -import org.spongycastle.crypto.params.ElGamalParameters; -import org.spongycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.spongycastle.crypto.params.ElGamalPublicKeyParameters; -import org.spongycastle.crypto.params.GOST3410Parameters; -import org.spongycastle.crypto.params.GOST3410ValidationParameters; -import org.spongycastle.util.test.SimpleTest; - -import java.math.BigInteger; -import java.security.SecureRandom; - -class DHTestKeyParameters - extends DHKeyParameters -{ - protected DHTestKeyParameters(boolean isPrivate, DHParameters params) - { - super(isPrivate, params); - } -} - -class ElGamalTestKeyParameters - extends ElGamalKeyParameters -{ - protected ElGamalTestKeyParameters(boolean isPrivate, ElGamalParameters params) - { - super(isPrivate, params); - } -} - -public class EqualsHashCodeTest - extends SimpleTest -{ - private static Object OTHER = new Object(); - - public String getName() - { - return "EqualsHashCode"; - } - - private void doTest(Object a, Object equalsA, Object notEqualsA) - { - if (a.equals(null)) - { - fail("a equaled null"); - } - - if (!a.equals(equalsA) || !equalsA.equals(a)) - { - fail("equality failed"); - } - - if (a.equals(OTHER)) - { - fail("other inequality failed"); - } - - if (a.equals(notEqualsA) || notEqualsA.equals(a)) - { - fail("inequality failed"); - } - - if (a.hashCode() != equalsA.hashCode()) - { - fail("hashCode equality failed"); - } - } - - private void dhTest() - { - BigInteger g512 = new BigInteger("153d5d6172adb43045b68ae8e1de1070b6137005686d29d3d73a7749199681ee5b212c9b96bfdcfa5b20cd5e3fd2044895d609cf9b410b7a0f12ca1cb9a428cc", 16); - BigInteger p512 = new BigInteger("9494fec095f3b85ee286542b3836fc81a5dd0a0349b4c239dd38744d488cf8e31db8bcb7d33b41abb9e5a33cca9144b1cef332c94bf0573bf047a3aca98cdf3b", 16); - - DHParameters dhParams = new DHParameters(p512, g512); - DHKeyGenerationParameters params = new DHKeyGenerationParameters(new SecureRandom(), dhParams); DHKeyPairGenerator kpGen = new DHKeyPairGenerator(); - - kpGen.init(params); - - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic(); - DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate(); - - DHPublicKeyParameters pu2 = new DHPublicKeyParameters(pu1.getY(), pu1.getParameters()); - DHPrivateKeyParameters pv2 = new DHPrivateKeyParameters(pv1.getX(), pv1.getParameters()); - DHPublicKeyParameters pu3 = new DHPublicKeyParameters(pv1.getX(), pu1.getParameters()); - DHPrivateKeyParameters pv3 = new DHPrivateKeyParameters(pu1.getY(), pu1.getParameters()); - - doTest(pu1, pu2, pu3); - doTest(pv1, pv2, pv3); - - DHParameters pr1 = pu1.getParameters(); - DHParameters pr2 = new DHParameters(pr1.getP(), pr1.getG(), pr1.getQ(), pr1.getM(), pr1.getL(), pr1.getJ(), pr1.getValidationParameters()); - DHParameters pr3 = new DHParameters(pr1.getG(), pr1.getP(), pr1.getQ(), pr1.getM(), pr1.getL(), pr1.getJ(), pr1.getValidationParameters()); - - doTest(pr1, pr2, pr3); - - pr3 = new DHParameters(pr1.getG(), pr1.getP(), null, pr1.getM(), pr1.getL(), pr1.getJ(), pr1.getValidationParameters()); - - doTest(pr1, pr2, pr3); - - pu2 = new DHPublicKeyParameters(pu1.getY(), pr2); - pv2 = new DHPrivateKeyParameters(pv1.getX(), pr2); - - doTest(pu1, pu2, pu3); - doTest(pv1, pv2, pv3); - - DHValidationParameters vp1 = new DHValidationParameters(new byte[20], 1024); - DHValidationParameters vp2 = new DHValidationParameters(new byte[20], 1024); - DHValidationParameters vp3 = new DHValidationParameters(new byte[24], 1024); - - doTest(vp1, vp1, vp3); - doTest(vp1, vp2, vp3); - - byte[] bytes = new byte[20]; - bytes[0] = 1; - - vp3 = new DHValidationParameters(bytes, 1024); - - doTest(vp1, vp2, vp3); - - vp3 = new DHValidationParameters(new byte[20], 2048); - - doTest(vp1, vp2, vp3); - - DHTestKeyParameters k1 = new DHTestKeyParameters(false, null); - DHTestKeyParameters k2 = new DHTestKeyParameters(false, null); - DHTestKeyParameters k3 = new DHTestKeyParameters(false, pu1.getParameters()); - - doTest(k1, k2, k3); - } - - private void elGamalTest() - { - BigInteger g512 = new BigInteger("153d5d6172adb43045b68ae8e1de1070b6137005686d29d3d73a7749199681ee5b212c9b96bfdcfa5b20cd5e3fd2044895d609cf9b410b7a0f12ca1cb9a428cc", 16); - BigInteger p512 = new BigInteger("9494fec095f3b85ee286542b3836fc81a5dd0a0349b4c239dd38744d488cf8e31db8bcb7d33b41abb9e5a33cca9144b1cef332c94bf0573bf047a3aca98cdf3b", 16); - - ElGamalParameters dhParams = new ElGamalParameters(p512, g512); - ElGamalKeyGenerationParameters params = new ElGamalKeyGenerationParameters(new SecureRandom(), dhParams); ElGamalKeyPairGenerator kpGen = new ElGamalKeyPairGenerator(); - - kpGen.init(params); - - AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); - ElGamalPublicKeyParameters pu1 = (ElGamalPublicKeyParameters)pair.getPublic(); - ElGamalPrivateKeyParameters pv1 = (ElGamalPrivateKeyParameters)pair.getPrivate(); - - ElGamalPublicKeyParameters pu2 = new ElGamalPublicKeyParameters(pu1.getY(), pu1.getParameters()); - ElGamalPrivateKeyParameters pv2 = new ElGamalPrivateKeyParameters(pv1.getX(), pv1.getParameters()); - ElGamalPublicKeyParameters pu3 = new ElGamalPublicKeyParameters(pv1.getX(), pu1.getParameters()); - ElGamalPrivateKeyParameters pv3 = new ElGamalPrivateKeyParameters(pu1.getY(), pu1.getParameters()); - - doTest(pu1, pu2, pu3); - doTest(pv1, pv2, pv3); - - ElGamalParameters pr1 = pu1.getParameters(); - ElGamalParameters pr2 = new ElGamalParameters(pr1.getP(), pr1.getG()); - ElGamalParameters pr3 = new ElGamalParameters(pr1.getG(), pr1.getP()); - - doTest(pr1, pr2, pr3); - - pu2 = new ElGamalPublicKeyParameters(pu1.getY(), pr2); - pv2 = new ElGamalPrivateKeyParameters(pv1.getX(), pr2); - - doTest(pu1, pu2, pu3); - doTest(pv1, pv2, pv3); - - ElGamalTestKeyParameters k1 = new ElGamalTestKeyParameters(false, null); - ElGamalTestKeyParameters k2 = new ElGamalTestKeyParameters(false, null); - ElGamalTestKeyParameters k3 = new ElGamalTestKeyParameters(false, pu1.getParameters()); - - doTest(k1, k2, k3); - } - - private void dsaTest() - { - BigInteger a = BigInteger.valueOf(1), b = BigInteger.valueOf(2), c = BigInteger.valueOf(3); - - DSAParameters dsaP1 = new DSAParameters(a, b, c); - DSAParameters dsaP2 = new DSAParameters(a, b, c); - DSAParameters dsaP3 = new DSAParameters(b, c, a); - - doTest(dsaP1, dsaP2, dsaP3); - - DSAValidationParameters vp1 = new DSAValidationParameters(new byte[20], 1024); - DSAValidationParameters vp2 = new DSAValidationParameters(new byte[20], 1024); - DSAValidationParameters vp3 = new DSAValidationParameters(new byte[24], 1024); - - doTest(vp1, vp1, vp3); - doTest(vp1, vp2, vp3); - - byte[] bytes = new byte[20]; - bytes[0] = 1; - - vp3 = new DSAValidationParameters(bytes, 1024); - - doTest(vp1, vp2, vp3); - - vp3 = new DSAValidationParameters(new byte[20], 2048); - - doTest(vp1, vp2, vp3); - } - - private void gost3410Test() - { - BigInteger a = BigInteger.valueOf(1), b = BigInteger.valueOf(2), c = BigInteger.valueOf(3); - - GOST3410Parameters g1 = new GOST3410Parameters(a, b, c); - GOST3410Parameters g2 = new GOST3410Parameters(a, b, c); - GOST3410Parameters g3 = new GOST3410Parameters(a, c, c); - - doTest(g1, g2, g3); - - GOST3410ValidationParameters v1 = new GOST3410ValidationParameters(100, 1); - GOST3410ValidationParameters v2 = new GOST3410ValidationParameters(100, 1); - GOST3410ValidationParameters v3 = new GOST3410ValidationParameters(101, 1); - - doTest(v1, v2, v3); - - v3 = new GOST3410ValidationParameters(100, 2); - - doTest(v1, v2, v3); - - v1 = new GOST3410ValidationParameters(100L, 1L); - v2 = new GOST3410ValidationParameters(100L, 1L); - v3 = new GOST3410ValidationParameters(101L, 1L); - - doTest(v1, v2, v3); - - v3 = new GOST3410ValidationParameters(100L, 2L); - - doTest(v1, v2, v3); - - } - - public void performTest() - throws Exception - { - dhTest(); - elGamalTest(); - gost3410Test(); - dsaTest(); - } - - public static void main( - String[] args) - { - runTest(new EqualsHashCodeTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMReorderTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMReorderTest.java deleted file mode 100644 index f946f2876..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMReorderTest.java +++ /dev/null @@ -1,348 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; -import java.security.SecureRandom; - -import junit.framework.TestCase; - -import org.spongycastle.crypto.modes.gcm.GCMExponentiator; -import org.spongycastle.crypto.modes.gcm.GCMMultiplier; -import org.spongycastle.crypto.modes.gcm.Tables1kGCMExponentiator; -import org.spongycastle.crypto.modes.gcm.Tables64kGCMMultiplier; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -public class GCMReorderTest - extends TestCase -{ - private static final byte[] H; - private static final SecureRandom random = new SecureRandom(); - private static final GCMMultiplier mul = new Tables64kGCMMultiplier(); - private static final GCMExponentiator exp = new Tables1kGCMExponentiator(); - private static final byte[] EMPTY = new byte[0]; - - static - { - H = new byte[16]; - random.nextBytes(H); - mul.init(Arrays.clone(H)); - exp.init(Arrays.clone(H)); - } - - public void testCombine() throws Exception - { - for (int count = 0; count < 10; ++count) - { - byte[] A = randomBytes(1000); - byte[] C = randomBytes(1000); - - byte[] ghashA_ = GHASH(A, EMPTY); - byte[] ghash_C = GHASH(EMPTY, C); - byte[] ghashAC = GHASH(A, C); - - byte[] ghashCombine = combine_GHASH(ghashA_, (long)A.length * 8, ghash_C, (long)C.length * 8); - - assertTrue(Arrays.areEqual(ghashAC, ghashCombine)); - } - } - - public void testConcatAuth() throws Exception - { - for (int count = 0; count < 10; ++count) - { - byte[] P = randomBlocks(100); - byte[] A = randomBytes(1000); - byte[] PA = concatArrays(P, A); - - byte[] ghashP_ = GHASH(P, EMPTY); - byte[] ghashA_ = GHASH(A, EMPTY); - byte[] ghashPA_ = GHASH(PA, EMPTY); - byte[] ghashConcat = concatAuth_GHASH(ghashP_, (long)P.length * 8, ghashA_, (long)A.length * 8); - - assertTrue(Arrays.areEqual(ghashPA_, ghashConcat)); - } - } - - public void testConcatCrypt() throws Exception - { - for (int count = 0; count < 10; ++count) - { - byte[] P = randomBlocks(100); - byte[] A = randomBytes(1000); - byte[] PA = concatArrays(P, A); - - byte[] ghash_P = GHASH(EMPTY, P); - byte[] ghash_A = GHASH(EMPTY, A); - byte[] ghash_PA = GHASH(EMPTY, PA); - byte[] ghashConcat = concatCrypt_GHASH(ghash_P, (long)P.length * 8, ghash_A, (long)A.length * 8); - - assertTrue(Arrays.areEqual(ghash_PA, ghashConcat)); - } - } - - public void testExp() - { - { - byte[] buf1 = new byte[16]; - buf1[0] = (byte)0x80; - - byte[] buf2 = new byte[16]; - - for (int pow = 0; pow != 100; ++pow) - { - exp.exponentiateX(pow, buf2); - - assertTrue(Arrays.areEqual(buf1, buf2)); - - mul.multiplyH(buf1); - } - } - - long[] testPow = new long[]{ 10, 1, 8, 17, 24, 13, 2, 13, 2, 3 }; - byte[][] testData = new byte[][]{ - Hex.decode("9185848a877bd87ba071e281f476e8e7"), - Hex.decode("697ce3052137d80745d524474fb6b290"), - Hex.decode("2696fc47198bb23b11296e4f88720a17"), - Hex.decode("01f2f0ead011a4ae0cf3572f1b76dd8e"), - Hex.decode("a53060694a044e4b7fa1e661c5a7bb6b"), - Hex.decode("39c0392e8b6b0e04a7565c85394c2c4c"), - Hex.decode("519c362d502e07f2d8b7597a359a5214"), - Hex.decode("5a527a393675705e19b2117f67695af4"), - Hex.decode("27fc0901d1d332a53ba4d4386c2109d2"), - Hex.decode("93ca9b57174aabedf8220e83366d7df6"), - }; - - for (int i = 0; i != 10; ++i) - { - long pow = testPow[i]; - byte[] data = Arrays.clone(testData[i]); - - byte[] expected = Arrays.clone(data); - for (int j = 0; j < pow; ++j) - { - mul.multiplyH(expected); - } - - byte[] H_a = new byte[16]; - exp.exponentiateX(pow, H_a); - byte[] actual = multiply(data, H_a); - - assertTrue(Arrays.areEqual(expected, actual)); - } - } - - public void testMultiply() - { - byte[] expected = Arrays.clone(H); - mul.multiplyH(expected); - - assertTrue(Arrays.areEqual(expected, multiply(H, H))); - - for (int count = 0; count < 10; ++count) - { - byte[] a = new byte[16]; - random.nextBytes(a); - - byte[] b = new byte[16]; - random.nextBytes(b); - - expected = Arrays.clone(a); - mul.multiplyH(expected); - assertTrue(Arrays.areEqual(expected, multiply(a, H))); - assertTrue(Arrays.areEqual(expected, multiply(H, a))); - - expected = Arrays.clone(b); - mul.multiplyH(expected); - assertTrue(Arrays.areEqual(expected, multiply(b, H))); - assertTrue(Arrays.areEqual(expected, multiply(H, b))); - - assertTrue(Arrays.areEqual(multiply(a, b), multiply(b, a))); - } - } - - private byte[] randomBlocks(int upper) - { - byte[] bs = new byte[16 * random.nextInt(upper)]; - random.nextBytes(bs); - return bs; - } - - private byte[] randomBytes(int upper) - { - byte[] bs = new byte[random.nextInt(upper)]; - random.nextBytes(bs); - return bs; - } - - private byte[] concatArrays(byte[] a, byte[] b) throws IOException - { - byte[] ab = new byte[a.length + b.length]; - System.arraycopy(a, 0, ab, 0, a.length); - System.arraycopy(b, 0, ab, a.length, b.length); - return ab; - } - - private byte[] combine_GHASH(byte[] ghashA_, long bitlenA, byte[] ghash_C, long bitlenC) - { - // Note: bitlenA must be aligned to the block size - - long c = (bitlenC + 127) >>> 7; - - byte[] H_c = new byte[16]; - exp.exponentiateX(c, H_c); - - byte[] tmp1 = lengthBlock(bitlenA, 0); - mul.multiplyH(tmp1); - - byte[] ghashAC = Arrays.clone(ghashA_); - xor(ghashAC, tmp1); - ghashAC = multiply(ghashAC, H_c); - // No need to touch the len(C) part (second 8 bytes) - xor(ghashAC, tmp1); - xor(ghashAC, ghash_C); - - return ghashAC; - } - - private byte[] concatAuth_GHASH(byte[] ghashP, long bitlenP, byte[] ghashA, long bitlenA) - { - // Note: bitlenP must be aligned to the block size - - long a = (bitlenA + 127) >>> 7; - - byte[] tmp1 = lengthBlock(bitlenP, 0); - mul.multiplyH(tmp1); - - byte[] tmp2 = lengthBlock(bitlenA ^ (bitlenP + bitlenA), 0); - mul.multiplyH(tmp2); - - byte[] H_a = new byte[16]; - exp.exponentiateX(a, H_a); - - byte[] ghashC = Arrays.clone(ghashP); - xor(ghashC, tmp1); - ghashC = multiply(ghashC, H_a); - xor(ghashC, tmp2); - xor(ghashC, ghashA); - return ghashC; - } - - private byte[] concatCrypt_GHASH(byte[] ghashP, long bitlenP, byte[] ghashA, long bitlenA) - { - // Note: bitlenP must be aligned to the block size - - long a = (bitlenA + 127) >>> 7; - - byte[] tmp1 = lengthBlock(0, bitlenP); - mul.multiplyH(tmp1); - - byte[] tmp2 = lengthBlock(0, bitlenA ^ (bitlenP + bitlenA)); - mul.multiplyH(tmp2); - - byte[] H_a = new byte[16]; - exp.exponentiateX(a, H_a); - - byte[] ghashC = Arrays.clone(ghashP); - xor(ghashC, tmp1); - ghashC = multiply(ghashC, H_a); - xor(ghashC, tmp2); - xor(ghashC, ghashA); - return ghashC; - } - - private byte[] GHASH(byte[] A, byte[] C) - { - byte[] X = new byte[16]; - - { - for (int pos = 0; pos < A.length; pos += 16) - { - byte[] tmp = new byte[16]; - int num = Math.min(A.length - pos, 16); - System.arraycopy(A, pos, tmp, 0, num); - xor(X, tmp); - mul.multiplyH(X); - } - } - - { - for (int pos = 0; pos < C.length; pos += 16) - { - byte[] tmp = new byte[16]; - int num = Math.min(C.length - pos, 16); - System.arraycopy(C, pos, tmp, 0, num); - xor(X, tmp); - mul.multiplyH(X); - } - } - - { - xor(X, lengthBlock((long)A.length * 8, (long)C.length * 8)); - mul.multiplyH(X); - } - - return X; - } - - private static byte[] lengthBlock(long bitlenA, long bitlenC) - { - byte[] tmp = new byte[16]; - Pack.longToBigEndian(bitlenA, tmp, 0); - Pack.longToBigEndian(bitlenC, tmp, 8); - return tmp; - } - - private static void xor(byte[] block, byte[] val) - { - for (int i = 15; i >= 0; --i) - { - block[i] ^= val[i]; - } - } - - private static byte[] multiply(byte[] a, byte[] b) - { - byte[] c = new byte[16]; - byte[] tmp = Arrays.clone(b); - - for (int i = 0; i < 16; ++i) - { - byte bits = a[i]; - for (int j = 7; j >= 0; --j) - { - if ((bits & (1 << j)) != 0) - { - xor(c, tmp); - } - - boolean lsb = (tmp[15] & 1) != 0; - shiftRight(tmp); - if (lsb) - { - // R = new byte[]{ 0xe1, ... }; -// GCMUtil.xor(v, R); - tmp[0] ^= (byte)0xe1; - } - } - } - - return c; - } - - private static void shiftRight(byte[] block) - { - int i = 0; - int bit = 0; - for (;;) - { - int b = block[i] & 0xff; - block[i] = (byte) ((b >>> 1) | bit); - if (++i == 16) - { - break; - } - bit = (b & 1) << 7; - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMTest.java deleted file mode 100644 index b87cb69df..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GCMTest.java +++ /dev/null @@ -1,675 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.modes.GCMBlockCipher; -import org.spongycastle.crypto.modes.gcm.BasicGCMMultiplier; -import org.spongycastle.crypto.modes.gcm.GCMMultiplier; -import org.spongycastle.crypto.modes.gcm.Tables64kGCMMultiplier; -import org.spongycastle.crypto.modes.gcm.Tables8kGCMMultiplier; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from "The Galois/Counter Mode of Operation (GCM)", McGrew/Viega, Appendix B - */ -public class GCMTest - extends SimpleTest -{ - private static final String[][] TEST_VECTORS = new String[][] { - { - "Test Case 1", - "00000000000000000000000000000000", - "", - "", - "000000000000000000000000", - "", - "58e2fccefa7e3061367f1d57a4e7455a", - }, - { - "Test Case 2", - "00000000000000000000000000000000", - "00000000000000000000000000000000", - "", - "000000000000000000000000", - "0388dace60b6a392f328c2b971b2fe78", - "ab6e47d42cec13bdf53a67b21257bddf", - }, - { - "Test Case 3", - "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b391aafd255", - "", - "cafebabefacedbaddecaf888", - "42831ec2217774244b7221b784d0d49c" - + "e3aa212f2c02a4e035c17e2329aca12e" - + "21d514b25466931c7d8f6a5aac84aa05" - + "1ba30b396a0aac973d58e091473f5985", - "4d5c2af327cd64a62cf35abd2ba6fab4", - }, - { - "Test Case 4", - "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbaddecaf888", - "42831ec2217774244b7221b784d0d49c" - + "e3aa212f2c02a4e035c17e2329aca12e" - + "21d514b25466931c7d8f6a5aac84aa05" - + "1ba30b396a0aac973d58e091", - "5bc94fbc3221a5db94fae95ae7121a47", - }, - { - "Test Case 5", - "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbad", - "61353b4c2806934a777ff51fa22a4755" - + "699b2a714fcdc6f83766e5f97b6c7423" - + "73806900e49f24b22b097544d4896b42" - + "4989b5e1ebac0f07c23f4598", - "3612d2e79e3b0785561be14aaca2fccb", - }, - { - "Test Case 6", - "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "9313225df88406e555909c5aff5269aa" - + "6a7a9538534f7da1e4c303d2a318a728" - + "c3c0c95156809539fcf0e2429a6b5254" - + "16aedbf5a0de6a57a637b39b", - "8ce24998625615b603a033aca13fb894" - + "be9112a5c3a211a8ba262a3cca7e2ca7" - + "01e4a9a4fba43c90ccdcb281d48c7c6f" - + "d62875d2aca417034c34aee5", - "619cc5aefffe0bfa462af43c1699d050", - }, - { - "Test Case 7", - "00000000000000000000000000000000" - + "0000000000000000", - "", - "", - "000000000000000000000000", - "", - "cd33b28ac773f74ba00ed1f312572435", - }, - { - "Test Case 8", - "00000000000000000000000000000000" - + "0000000000000000", - "00000000000000000000000000000000", - "", - "000000000000000000000000", - "98e7247c07f0fe411c267e4384b0f600", - "2ff58d80033927ab8ef4d4587514f0fb", - }, - { - "Test Case 9", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b391aafd255", - "", - "cafebabefacedbaddecaf888", - "3980ca0b3c00e841eb06fac4872a2757" - + "859e1ceaa6efd984628593b40ca1e19c" - + "7d773d00c144c525ac619d18c84a3f47" - + "18e2448b2fe324d9ccda2710acade256", - "9924a7c8587336bfb118024db8674a14", - }, - { - "Test Case 10", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbaddecaf888", - "3980ca0b3c00e841eb06fac4872a2757" - + "859e1ceaa6efd984628593b40ca1e19c" - + "7d773d00c144c525ac619d18c84a3f47" - + "18e2448b2fe324d9ccda2710", - "2519498e80f1478f37ba55bd6d27618c", - }, - { - "Test Case 11", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbad", - "0f10f599ae14a154ed24b36e25324db8" - + "c566632ef2bbb34f8347280fc4507057" - + "fddc29df9a471f75c66541d4d4dad1c9" - + "e93a19a58e8b473fa0f062f7", - "65dcc57fcf623a24094fcca40d3533f8", - }, - { - "Test Case 12", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "9313225df88406e555909c5aff5269aa" - + "6a7a9538534f7da1e4c303d2a318a728" - + "c3c0c95156809539fcf0e2429a6b5254" - + "16aedbf5a0de6a57a637b39b", - "d27e88681ce3243c4830165a8fdcf9ff" - + "1de9a1d8e6b447ef6ef7b79828666e45" - + "81e79012af34ddd9e2f037589b292db3" - + "e67c036745fa22e7e9b7373b", - "dcf566ff291c25bbb8568fc3d376a6d9", - }, - { - "Test Case 13", - "00000000000000000000000000000000" - + "00000000000000000000000000000000", - "", - "", - "000000000000000000000000", - "", - "530f8afbc74536b9a963b4f1c4cb738b", - }, - { - "Test Case 14", - "00000000000000000000000000000000" - + "00000000000000000000000000000000", - "00000000000000000000000000000000", - "", - "000000000000000000000000", - "cea7403d4d606b6e074ec5d3baf39d18", - "d0d1c8a799996bf0265b98b5d48ab919", - }, - { - "Test Case 15", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b391aafd255", - "", - "cafebabefacedbaddecaf888", - "522dc1f099567d07f47f37a32a84427d" - + "643a8cdcbfe5c0c97598a2bd2555d1aa" - + "8cb08e48590dbb3da7b08b1056828838" - + "c5f61e6393ba7a0abcc9f662898015ad", - "b094dac5d93471bdec1a502270e3cc6c", - }, - { - "Test Case 16", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbaddecaf888", - "522dc1f099567d07f47f37a32a84427d" - + "643a8cdcbfe5c0c97598a2bd2555d1aa" - + "8cb08e48590dbb3da7b08b1056828838" - + "c5f61e6393ba7a0abcc9f662", - "76fc6ece0f4e1768cddf8853bb2d551b", - }, - { - "Test Case 17", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "cafebabefacedbad", - "c3762df1ca787d32ae47c13bf19844cb" - + "af1ae14d0b976afac52ff7d79bba9de0" - + "feb582d33934a4f0954cc2363bc73f78" - + "62ac430e64abe499f47c9b1f", - "3a337dbf46a792c45e454913fe2ea8f2", - }, - { - "Test Case 18", - "feffe9928665731c6d6a8f9467308308" - + "feffe9928665731c6d6a8f9467308308", - "d9313225f88406e5a55909c5aff5269a" - + "86a7a9531534f7da2e4c303d8a318a72" - + "1c3c0c95956809532fcf0e2449a6b525" - + "b16aedf5aa0de657ba637b39", - "feedfacedeadbeeffeedfacedeadbeef" - + "abaddad2", - "9313225df88406e555909c5aff5269aa" - + "6a7a9538534f7da1e4c303d2a318a728" - + "c3c0c95156809539fcf0e2429a6b5254" - + "16aedbf5a0de6a57a637b39b", - "5a8def2f0c9e53f1f75d7853659e2a20" - + "eeb2b22aafde6419a058ab4f6f746bf4" - + "0fc0c3b780f244452da3ebf1c5d82cde" - + "a2418997200ef82e44ae7e3f", - "a44a8266ee1c8eb0c8b5d4cf5ae9f19a", - }, - }; - - public String getName() - { - return "GCM"; - } - - public void performTest() throws Exception - { - for (int i = 0; i < TEST_VECTORS.length; ++i) - { - runTestCase(TEST_VECTORS[i]); - } - - randomTests(); - outputSizeTests(); - testExceptions(); - } - - private void testExceptions() throws InvalidCipherTextException - { - GCMBlockCipher gcm = new GCMBlockCipher(new AESFastEngine()); - - try - { - gcm = new GCMBlockCipher(new DESEngine()); - - fail("incorrect block size not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - gcm.init(false, new KeyParameter(new byte[16])); - - fail("illegal argument not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - AEADTestUtil.testReset(this, new GCMBlockCipher(new AESEngine()), new GCMBlockCipher(new AESEngine()), new AEADParameters(new KeyParameter(new byte[16]), 128, new byte[16])); - AEADTestUtil.testTampering(this, gcm, new AEADParameters(new KeyParameter(new byte[16]), 128, new byte[16])); - } - - private void runTestCase(String[] testVector) - throws InvalidCipherTextException - { - for (int macLength = 12; macLength <= 16; ++macLength) - { - runTestCase(testVector, macLength); - } - } - - private void runTestCase(String[] testVector, int macLength) - throws InvalidCipherTextException - { - int pos = 0; - String testName = testVector[pos++]; - byte[] K = Hex.decode(testVector[pos++]); - byte[] P = Hex.decode(testVector[pos++]); - byte[] A = Hex.decode(testVector[pos++]); - byte[] IV = Hex.decode(testVector[pos++]); - byte[] C = Hex.decode(testVector[pos++]); - - // For short MAC, take leading bytes - byte[] t = Hex.decode(testVector[pos++]); - byte[] T = new byte[macLength]; - System.arraycopy(t, 0, T, 0, T.length); - - // Default multiplier - runTestCase(null, null, testName, K, IV, A, P, C, T); - - runTestCase(new BasicGCMMultiplier(), new BasicGCMMultiplier(), testName, K, IV, A, P, C, T); - runTestCase(new Tables8kGCMMultiplier(), new Tables8kGCMMultiplier(), testName, K, IV, A, P, C, T); - runTestCase(new Tables64kGCMMultiplier(), new Tables64kGCMMultiplier(), testName, K, IV, A, P, C, T); - } - - private void runTestCase( - GCMMultiplier encM, - GCMMultiplier decM, - String testName, - byte[] K, - byte[] IV, - byte[] A, - byte[] P, - byte[] C, - byte[] T) - throws InvalidCipherTextException - { - byte[] fa = new byte[A.length / 2]; - byte[] la = new byte[A.length - (A.length / 2)]; - System.arraycopy(A, 0, fa, 0, fa.length); - System.arraycopy(A, fa.length, la, 0, la.length); - - runTestCase(encM, decM, testName + " all initial associated data", K, IV, A, null, P, C, T); - runTestCase(encM, decM, testName + " all subsequent associated data", K, IV, null, A, P, C, T); - runTestCase(encM, decM, testName + " split associated data", K, IV, fa, la, P, C, T); - } - - private void runTestCase( - GCMMultiplier encM, - GCMMultiplier decM, - String testName, - byte[] K, - byte[] IV, - byte[] A, - byte[] SA, - byte[] P, - byte[] C, - byte[] T) - throws InvalidCipherTextException - { - AEADParameters parameters = new AEADParameters(new KeyParameter(K), T.length * 8, IV, A); - GCMBlockCipher encCipher = initCipher(encM, true, parameters); - GCMBlockCipher decCipher = initCipher(decM, false, parameters); - checkTestCase(encCipher, decCipher, testName, SA, P, C, T); - checkTestCase(encCipher, decCipher, testName + " (reused)", SA, P, C, T); - - // Key reuse - AEADParameters keyReuseParams = new AEADParameters(null, parameters.getMacSize(), parameters.getNonce(), parameters.getAssociatedText()); - encCipher.init(true, keyReuseParams); - decCipher.init(false, keyReuseParams); - checkTestCase(encCipher, decCipher, testName + " (key reuse)", SA, P, C, T); - checkTestCase(encCipher, decCipher, testName + " (key reuse)", SA, P, C, T); - } - - private GCMBlockCipher initCipher(GCMMultiplier m, boolean forEncryption, AEADParameters parameters) - { - GCMBlockCipher c = new GCMBlockCipher(new AESFastEngine(), m); - c.init(forEncryption, parameters); - return c; - } - - private void checkTestCase( - GCMBlockCipher encCipher, - GCMBlockCipher decCipher, - String testName, - byte[] SA, - byte[] P, - byte[] C, - byte[] T) - throws InvalidCipherTextException - { - byte[] enc = new byte[encCipher.getOutputSize(P.length)]; - if (SA != null) - { - encCipher.processAADBytes(SA, 0, SA.length); - } - int len = encCipher.processBytes(P, 0, P.length, enc, 0); - len += encCipher.doFinal(enc, len); - - if (enc.length != len) - { -// System.out.println("" + enc.length + "/" + len); - fail("encryption reported incorrect length: " + testName); - } - - byte[] mac = encCipher.getMac(); - - byte[] data = new byte[P.length]; - System.arraycopy(enc, 0, data, 0, data.length); - byte[] tail = new byte[enc.length - P.length]; - System.arraycopy(enc, P.length, tail, 0, tail.length); - - if (!areEqual(C, data)) - { - fail("incorrect encrypt in: " + testName); - } - - if (!areEqual(T, mac)) - { - fail("getMac() returned wrong mac in: " + testName); - } - - if (!areEqual(T, tail)) - { - fail("stream contained wrong mac in: " + testName); - } - - byte[] dec = new byte[decCipher.getOutputSize(enc.length)]; - if (SA != null) - { - decCipher.processAADBytes(SA, 0, SA.length); - } - len = decCipher.processBytes(enc, 0, enc.length, dec, 0); - len += decCipher.doFinal(dec, len); - mac = decCipher.getMac(); - - data = new byte[C.length]; - System.arraycopy(dec, 0, data, 0, data.length); - - if (!areEqual(P, data)) - { - fail("incorrect decrypt in: " + testName); - } - } - - private void randomTests() - throws InvalidCipherTextException - { - SecureRandom srng = new SecureRandom(); - for (int i = 0; i < 10; ++i) - { - randomTest(srng, null); - randomTest(srng, new BasicGCMMultiplier()); - randomTest(srng, new Tables8kGCMMultiplier()); - randomTest(srng, new Tables64kGCMMultiplier()); - } - } - - private void randomTest(SecureRandom srng, GCMMultiplier m) - throws InvalidCipherTextException - { - int kLength = 16 + 8 * (Math.abs(srng.nextInt()) % 3); - byte[] K = new byte[kLength]; - srng.nextBytes(K); - - int pLength = srng.nextInt() >>> 16; - byte[] P = new byte[pLength]; - srng.nextBytes(P); - - int aLength = srng.nextInt() >>> 24; - byte[] A = new byte[aLength]; - srng.nextBytes(A); - - int saLength = srng.nextInt() >>> 24; - byte[] SA = new byte[saLength]; - srng.nextBytes(SA); - - int ivLength = 1 + (srng.nextInt() >>> 24); - byte[] IV = new byte[ivLength]; - srng.nextBytes(IV); - - GCMBlockCipher cipher = new GCMBlockCipher(new AESFastEngine(), m); - AEADParameters parameters = new AEADParameters(new KeyParameter(K), 16 * 8, IV, A); - cipher.init(true, parameters); - byte[] C = new byte[cipher.getOutputSize(P.length)]; - int predicted = cipher.getUpdateOutputSize(P.length); - - int split = nextInt(srng, SA.length + 1); - cipher.processAADBytes(SA, 0, split); - int len = cipher.processBytes(P, 0, P.length, C, 0); - cipher.processAADBytes(SA, split, SA.length - split); - - if (predicted != len) - { - fail("encryption reported incorrect update length in randomised test"); - } - - len += cipher.doFinal(C, len); - - if (C.length != len) - { - fail("encryption reported incorrect length in randomised test"); - } - - byte[] encT = cipher.getMac(); - byte[] tail = new byte[C.length - P.length]; - System.arraycopy(C, P.length, tail, 0, tail.length); - - if (!areEqual(encT, tail)) - { - fail("stream contained wrong mac in randomised test"); - } - - cipher.init(false, parameters); - byte[] decP = new byte[cipher.getOutputSize(C.length)]; - predicted = cipher.getUpdateOutputSize(C.length); - - split = nextInt(srng, SA.length + 1); - cipher.processAADBytes(SA, 0, split); - len = cipher.processBytes(C, 0, C.length, decP, 0); - cipher.processAADBytes(SA, split, SA.length - split); - - if (predicted != len) - { - fail("decryption reported incorrect update length in randomised test"); - } - - len += cipher.doFinal(decP, len); - - if (!areEqual(P, decP)) - { - fail("incorrect decrypt in randomised test"); - } - - byte[] decT = cipher.getMac(); - if (!areEqual(encT, decT)) - { - fail("decryption produced different mac from encryption"); - } - - // - // key reuse test - // - cipher.init(false, new AEADParameters(null, parameters.getMacSize(), parameters.getNonce(), parameters.getAssociatedText())); - decP = new byte[cipher.getOutputSize(C.length)]; - - split = nextInt(srng, SA.length + 1); - cipher.processAADBytes(SA, 0, split); - len = cipher.processBytes(C, 0, C.length, decP, 0); - cipher.processAADBytes(SA, split, SA.length - split); - - len += cipher.doFinal(decP, len); - - if (!areEqual(P, decP)) - { - fail("incorrect decrypt in randomised test"); - } - - decT = cipher.getMac(); - if (!areEqual(encT, decT)) - { - fail("decryption produced different mac from encryption"); - } - } - - private void outputSizeTests() - { - byte[] K = new byte[16]; - byte[] A = null; - byte[] IV = new byte[16]; - - GCMBlockCipher cipher = new GCMBlockCipher(new AESFastEngine(), new BasicGCMMultiplier()); - AEADParameters parameters = new AEADParameters(new KeyParameter(K), 16 * 8, IV, A); - - cipher.init(true, parameters); - - if (cipher.getUpdateOutputSize(0) != 0) - { - fail("incorrect getUpdateOutputSize for initial 0 bytes encryption"); - } - - if (cipher.getOutputSize(0) != 16) - { - fail("incorrect getOutputSize for initial 0 bytes encryption"); - } - - cipher.init(false, parameters); - - if (cipher.getUpdateOutputSize(0) != 0) - { - fail("incorrect getUpdateOutputSize for initial 0 bytes decryption"); - } - - // NOTE: 0 bytes would be truncated data, but we want it to fail in the doFinal, not here - if (cipher.getOutputSize(0) != 0) - { - fail("fragile getOutputSize for initial 0 bytes decryption"); - } - - if (cipher.getOutputSize(16) != 0) - { - fail("incorrect getOutputSize for initial MAC-size bytes decryption"); - } - } - - private static int nextInt(SecureRandom rand, int n) - { - - if ((n & -n) == n) // i.e., n is a power of 2 - { - return (int)((n * (long)(rand.nextInt() >>> 1)) >> 31); - } - - int bits, value; - do - { - bits = rand.nextInt() >>> 1; - value = bits % n; - } - while (bits - value + (n - 1) < 0); - - return value; - } - - public static void main(String[] args) - { - runTest(new GCMTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GMacTest.java deleted file mode 100644 index c478fc863..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GMacTest.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.macs.GMac; -import org.spongycastle.crypto.modes.GCMBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors for AES-GMAC, extracted from NIST CAVP GCM test - * vectors. - * - */ -public class GMacTest extends SimpleTest -{ - private static class TestCase - { - private byte[] key; - private byte[] iv; - private byte[] ad; - private byte[] tag; - private String name; - - private TestCase(final String name, final String key, final String iv, final String ad, final String tag) - { - this.name = name; - this.key = Hex.decode(key); - this.iv = Hex.decode(iv); - this.ad = Hex.decode(ad); - this.tag = Hex.decode(tag); - } - - public String getName() - { - return name; - } - - public byte[] getKey() - { - return key; - } - - public byte[] getIv() - { - return iv; - } - - public byte[] getAd() - { - return ad; - } - - public byte[] getTag() - { - return tag; - } - } - - private static TestCase[] TEST_VECTORS = new TestCase[] { - // Count = 0, from each of the PTlen = 0 test vector sequences - new TestCase("128/96/0/128", "11754cd72aec309bf52f7687212e8957", "3c819d9a9bed087615030b65", "", - "250327c674aaf477aef2675748cf6971"), - new TestCase("128/96/0/120", "272f16edb81a7abbea887357a58c1917", "794ec588176c703d3d2a7a07", "", - "b6e6f197168f5049aeda32dafbdaeb"), - new TestCase("128/96/0/112", "81b6844aab6a568c4556a2eb7eae752f", "ce600f59618315a6829bef4d", "", - "89b43e9dbc1b4f597dbbc7655bb5"), - new TestCase("128/96/0/104", "cde2f9a9b1a004165ef9dc981f18651b", "29512c29566c7322e1e33e8e", "", - "2e58ce7dabd107c82759c66a75"), - new TestCase("128/96/0/96", "b01e45cc3088aaba9fa43d81d481823f", "5a2c4a66468713456a4bd5e1", "", - "014280f944f53c681164b2ff"), - - new TestCase("128/96/128/128", "77be63708971c4e240d1cb79e8d77feb", "e0e00f19fed7ba0136a797f3", - "7a43ec1d9c0a5a78a0b16533a6213cab", "209fcc8d3675ed938e9c7166709dd946"), - new TestCase("128/96/128/96", "bea48ae4980d27f357611014d4486625", "32bddb5c3aa998a08556454c", - "8a50b0b8c7654bced884f7f3afda2ead", "8e0f6d8bf05ffebe6f500eb1"), - - new TestCase("128/96/384/128", "99e3e8793e686e571d8285c564f75e2b", "c2dd0ab868da6aa8ad9c0d23", - "b668e42d4e444ca8b23cfdd95a9fedd5178aa521144890b093733cf5cf22526c5917ee476541809ac6867a8c399309fc", - "3f4fba100eaf1f34b0baadaae9995d85"), - new TestCase("128/96/384/96", "c77acd1b0918e87053cb3e51651e7013", "39ff857a81745d10f718ac00", - "407992f82ea23b56875d9a3cb843ceb83fd27cb954f7c5534d58539fe96fb534502a1b38ea4fac134db0a42de4be1137", - "2a5dc173285375dc82835876"), - - new TestCase( - "128/1024/0/128", - "d0f1f4defa1e8c08b4b26d576392027c", - "42b4f01eb9f5a1ea5b1eb73b0fb0baed54f387ecaa0393c7d7dffc6af50146ecc021abf7eb9038d4303d91f8d741a11743166c0860208bcc02c6258fd9511a2fa626f96d60b72fcff773af4e88e7a923506e4916ecbd814651e9f445adef4ad6a6b6c7290cc13b956130eef5b837c939fcac0cbbcc9656cd75b13823ee5acdac", - "", "7ab49b57ddf5f62c427950111c5c4f0d"), - new TestCase( - "128/1024/384/96", - "3cce72d37933394a8cac8a82deada8f0", - "aa2f0d676d705d9733c434e481972d4888129cf7ea55c66511b9c0d25a92a174b1e28aa072f27d4de82302828955aadcb817c4907361869bd657b45ff4a6f323871987fcf9413b0702d46667380cd493ed24331a28b9ce5bbfa82d3a6e7679fcce81254ba64abcad14fd18b22c560a9d2c1cd1d3c42dac44c683edf92aced894", - "5686b458e9c176f4de8428d9ebd8e12f569d1c7595cf49a4b0654ab194409f86c0dd3fdb8eb18033bb4338c70f0b97d1", - "a3a9444b21f330c3df64c8b6"), }; - - public void performTest() - { - for (int i = 0; i < TEST_VECTORS.length; i++) - { - TestCase testCase = TEST_VECTORS[i]; - - Mac mac = new GMac(new GCMBlockCipher(new AESFastEngine()), testCase.getTag().length * 8); - CipherParameters key = new KeyParameter(testCase.getKey()); - mac.init(new ParametersWithIV(key, testCase.getIv())); - - testSingleByte(mac, testCase); - testMultibyte(mac, testCase); - } - - // Invalid mac size - testInvalidMacSize(97); - testInvalidMacSize(136); - testInvalidMacSize(88); - testInvalidMacSize(64); - } - - private void testInvalidMacSize(int size) - { - try - { - GMac mac = new GMac(new GCMBlockCipher(new AESFastEngine()), size); - mac.init(new ParametersWithIV(null, new byte[16])); - fail("Expected failure for illegal mac size " + size); - } - catch (IllegalArgumentException e) - { - } - } - - private void testMultibyte(Mac mac, TestCase testCase) - { - mac.update(testCase.getAd(), 0, testCase.getAd().length); - checkMac(mac, testCase); - } - - private void testSingleByte(Mac mac, TestCase testCase) - { - final byte[] ad = testCase.getAd(); - for (int i = 0; i < ad.length; i++) - { - mac.update(ad[i]); - } - checkMac(mac, testCase); - } - - private void checkMac(Mac mac, TestCase testCase) - { - final byte[] generatedMac = new byte[mac.getMacSize()]; - mac.doFinal(generatedMac, 0); - if (!areEqual(testCase.getTag(), generatedMac)) - { - fail("Failed " + testCase.getName() + " - expected " + new String(Hex.encode(testCase.getTag())) + " got " - + new String(Hex.encode(generatedMac))); - } - } - - public String getName() - { - return "GMac"; - } - - public static void main(String[] args) - { - runTest(new GMacTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147MacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147MacTest.java deleted file mode 100644 index 4ed507837..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147MacTest.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.GOST28147Engine; -import org.spongycastle.crypto.macs.GOST28147Mac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithSBox; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * GOST 28147 MAC tester - */ -public class GOST28147MacTest - implements Test -{ - // - // these GOSTMac for testing. - // - static byte[] gkeyBytes1 = Hex.decode("6d145dc993f4019e104280df6fcd8cd8e01e101e4c113d7ec4f469ce6dcd9e49"); - static byte[] gkeyBytes2 = Hex.decode("6d145dc993f4019e104280df6fcd8cd8e01e101e4c113d7ec4f469ce6dcd9e49"); - - static byte[] input3 = Hex.decode("7768617420646f2079612077616e7420666f72206e6f7468696e673f"); - static byte[] input4 = Hex.decode("7768617420646f2079612077616e7420666f72206e6f7468696e673f"); - - static byte[] output7 = Hex.decode("93468a46"); - static byte[] output8 = Hex.decode("93468a46"); - - public GOST28147MacTest() - { - } - - public TestResult perform() - { - // test1 - Mac mac = new GOST28147Mac(); - KeyParameter key = new KeyParameter(gkeyBytes1); - - mac.init(key); - - mac.update(input3, 0, input3.length); - - byte[] out = new byte[4]; - - mac.doFinal(out, 0); - - if (!Arrays.areEqual(out, output7)) - { - return new SimpleTestResult(false, getName() + ": Failed test 1 - expected " + new String(Hex.encode(output7)) + " got " + new String(Hex.encode(out))); - } - - // test2 - key = new KeyParameter(gkeyBytes2); - - ParametersWithSBox gparam = new ParametersWithSBox(key, GOST28147Engine.getSBox("E-A")); - - mac.init(gparam); - - mac.update(input4, 0, input4.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!Arrays.areEqual(out, output8)) - { - return new SimpleTestResult(false, getName() + ": Failed test 2 - expected " + new String(Hex.encode(output8)) + " got " + new String(Hex.encode(out))); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "GOST28147Mac"; - } - - public static void main( - String[] args) - { - GOST28147MacTest test = new GOST28147MacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147Test.java deleted file mode 100644 index a89f2e632..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST28147Test.java +++ /dev/null @@ -1,328 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.digests.GOST3411Digest; -import org.spongycastle.crypto.engines.GOST28147Engine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.GOFBBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithSBox; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class GOST28147Test - extends CipherTest -{ - static String input1 = "0000000000000000"; - static String output1 = "1b0bbc32cebcab42"; - static String input2 = "bc350e71aac5f5c2"; - static String output2 = "d35ab653493b49f5"; - static String input3 = "bc350e71aa11345709acde"; - static String output3 = "8824c124c4fd14301fb1e8"; - static String input4 = "000102030405060708090a0b0c0d0e0fff0102030405060708090a0b0c0d0e0f"; - static String output4 = "29b7083e0a6d955ca0ec5b04fdb4ea41949f1dd2efdf17baffc1780b031f3934"; - - static byte TestSBox[] = { - 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, - 0xF,0xE,0xD,0xC,0xB,0xA,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0, - 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, - 0xF,0xE,0xD,0xC,0xB,0xA,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0, - 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, - 0xF,0xE,0xD,0xC,0xB,0xA,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0, - 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, - 0xF,0xE,0xD,0xC,0xB,0xA,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 - }; - - static SimpleTest[] tests = - { new BlockCipherVectorTest(1, new GOST28147Engine(), - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), - input1, output1), - new BlockCipherVectorTest(2, new CBCBlockCipher(new GOST28147Engine()), - new ParametersWithIV(new KeyParameter(Hex.decode("00112233445566778899AABBCCDDEEFF00112233445566778899AABBCCDDEEFF")), - Hex.decode("1234567890abcdef")), input2, output2), - new BlockCipherVectorTest(3, new GOFBBlockCipher(new GOST28147Engine()), - new ParametersWithIV(new KeyParameter(Hex.decode("0011223344556677889900112233445566778899001122334455667788990011")), - Hex.decode("1234567890abcdef")), //IV - input3, output3), - new BlockCipherVectorTest(4, new CFBBlockCipher(new GOST28147Engine(), 64), - new ParametersWithIV(new KeyParameter(Hex.decode("aafd12f659cae63489b479e5076ddec2f06cb58faafd12f659cae63489b479e5")), - Hex.decode("aafd12f659cae634")), input4, output4), - - //tests with parameters, set S-box. - new BlockCipherVectorTest(5, new GOST28147Engine(), - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")),//key , default parameter S-box set to D-Test - input1, output1), - new BlockCipherVectorTest(6, new CFBBlockCipher(new GOST28147Engine(), 64), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("D-Test")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "b587f7a0814c911d"), //encrypt message - new BlockCipherVectorTest(7, new CFBBlockCipher(new GOST28147Engine(), 64), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("E-Test")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "e8287f53f991d52b"), //encrypt message - new BlockCipherVectorTest(8, new CFBBlockCipher(new GOST28147Engine(), 64), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("E-A")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "c41009dba22ebe35"), //encrypt message - new BlockCipherVectorTest(9, new CFBBlockCipher(new GOST28147Engine(), 8), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("E-B")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "80d8723fcd3aba28"), //encrypt message - new BlockCipherVectorTest(10, new CFBBlockCipher(new GOST28147Engine(), 8), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("E-C")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "739f6f95068499b5"), //encrypt message - new BlockCipherVectorTest(11, new CFBBlockCipher(new GOST28147Engine(), 8), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("E-D")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "4663f720f4340f57"), //encrypt message - new BlockCipherVectorTest(12, new CFBBlockCipher(new GOST28147Engine(), 8), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - GOST28147Engine.getSBox("D-A")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "5bb0a31d218ed564"), //encrypt message - new BlockCipherVectorTest(13, new CFBBlockCipher(new GOST28147Engine(), 8), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("546d203368656c326973652073736e62206167796967747473656865202c3d73")), //key - TestSBox), //set own S-box - Hex.decode("1234567890abcdef")), //IV - "0000000000000000", //input message - "c3af96ef788667c5"), //encrypt message - new BlockCipherVectorTest(14, new GOFBBlockCipher(new GOST28147Engine()), - new ParametersWithIV( - new ParametersWithSBox( - new KeyParameter(Hex.decode("4ef72b778f0b0bebeef4f077551cb74a927b470ad7d7f2513454569a247e989d")), //key - GOST28147Engine.getSBox("E-A")), //type S-box - Hex.decode("1234567890abcdef")), //IV - "bc350e71aa11345709acde", //input message - "1bcc2282707c676fb656dc"), //encrypt message - - }; - - static private final int GOST28147_KEY_LENGTH = 32; - - private byte[] generateKey(byte[] startkey) - { - byte[] newKey = new byte[GOST28147_KEY_LENGTH]; - - GOST3411Digest digest = new GOST3411Digest(); - - digest.update(startkey, 0, startkey.length); - digest.doFinal(newKey, 0); - - return newKey; - } - - GOST28147Test() - { - super(tests, new GOST28147Engine(), new KeyParameter(new byte[32])); - } - - public void performTest() - throws Exception - { - super.performTest(); - - //advanced tests with GOST28147KeyGenerator: - //encrypt on hesh message; ECB mode: - byte[] in = Hex.decode("4e6f77206973207468652074696d6520666f7220616c6c20"); - byte[] output = Hex.decode("8ad3c8f56b27ff1fbd46409359bdc796bc350e71aac5f5c0"); - byte[] out = new byte[in.length]; - - byte[] key = generateKey(Hex.decode("0123456789abcdef")); //!!! heshing start_key - get 256 bits !!! -// System.out.println(new String(Hex.encode(key))); - CipherParameters param = new ParametersWithSBox(new KeyParameter(key), GOST28147Engine.getSBox("E-A")); - //CipherParameters param = new GOST28147Parameters(key,"D-Test"); - BufferedBlockCipher cipher = new BufferedBlockCipher(new GOST28147Engine()); - - cipher.init(true, param); - int len1 = cipher.processBytes(in, 0, in.length, out, 0); - try - { - cipher.doFinal(out, len1); - } - catch (CryptoException e) - { - fail("failed - exception " + e.toString(), e); - } - if (out.length != output.length) - { - fail("failed - " - + "expected " + new String(Hex.encode(output)) + " got " - + new String(Hex.encode(out))); - } - for (int i = 0; i != out.length; i++) - { - if (out[i] != output[i]) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - - - //encrypt on hesh message; CFB mode: - in = Hex.decode("bc350e71aac5f5c2"); - output = Hex.decode("0ebbbafcf38f14a5"); - out = new byte[in.length]; - - key = generateKey(Hex.decode("0123456789abcdef")); //!!! heshing start_key - get 256 bits !!! - param = new ParametersWithIV(new ParametersWithSBox( - new KeyParameter(key), //key - GOST28147Engine.getSBox("E-A")), //type S-box - Hex.decode("1234567890abcdef")); //IV - - cipher = new BufferedBlockCipher(new CFBBlockCipher(new GOST28147Engine(), 64)); - - cipher.init(true, param); - len1 = cipher.processBytes(in, 0, in.length, out, 0); - try - { - cipher.doFinal(out, len1); - } - catch (CryptoException e) - { - fail("failed - exception " + e.toString(), e); - } - if (out.length != output.length) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - for (int i = 0; i != out.length; i++) - { - if (out[i] != output[i]) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - - - //encrypt on hesh message; CFB mode: - in = Hex.decode("000102030405060708090a0b0c0d0e0fff0102030405060708090a0b0c0d0e0f"); - output = Hex.decode("64988982819f0a1655e226e19ecad79d10cc73bac95c5d7da034786c12294225"); - out = new byte[in.length]; - - key = generateKey(Hex.decode("aafd12f659cae63489b479e5076ddec2f06cb58faafd12f659cae63489b479e5")); //!!! heshing start_key - get 256 bits !!! - param = new ParametersWithIV(new ParametersWithSBox( - new KeyParameter(key), //key - GOST28147Engine.getSBox("E-A")), //type S-box - Hex.decode("aafd12f659cae634")); //IV - - cipher = new BufferedBlockCipher(new CFBBlockCipher(new GOST28147Engine(), 64)); - - cipher.init(true, param); - len1 = cipher.processBytes(in, 0, in.length, out, 0); - - cipher.doFinal(out, len1); - - if (out.length != output.length) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - - for (int i = 0; i != out.length; i++) - { - if (out[i] != output[i]) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - - //encrypt on hesh message; OFB mode: - in = Hex.decode("bc350e71aa11345709acde"); - output = Hex.decode("1bcc2282707c676fb656dc"); - out = new byte[in.length]; - - key = generateKey(Hex.decode("0123456789abcdef")); //!!! heshing start_key - get 256 bits !!! - param = new ParametersWithIV(new ParametersWithSBox( - new KeyParameter(key), //key - GOST28147Engine.getSBox("E-A")), //type S-box - Hex.decode("1234567890abcdef")); //IV - - cipher = new BufferedBlockCipher(new GOFBBlockCipher(new GOST28147Engine())); - - cipher.init(true, param); - len1 = cipher.processBytes(in, 0, in.length, out, 0); - - cipher.doFinal(out, len1); - - if (out.length != output.length) - { - fail("failed - " + "expected " - + new String(Hex.encode(output)) + " got " - + new String(Hex.encode(out))); - } - for (int i = 0; i != out.length; i++) - { - if (out[i] != output[i]) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - - // key reuse test - param = new ParametersWithIV(null, // key and sbox reused - Hex.decode("1234567890abcdef")); //IV - - cipher.init(true, param); - len1 = cipher.processBytes(in, 0, in.length, out, 0); - - cipher.doFinal(out, len1); - - if (out.length != output.length) - { - fail("failed - " + "expected " - + new String(Hex.encode(output)) + " got " - + new String(Hex.encode(out))); - } - for (int i = 0; i != out.length; i++) - { - if (out[i] != output[i]) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - } - - public String getName() - { - return "GOST28147"; - } - - public static void main( - String[] args) - { - runTest(new GOST28147Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3410Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3410Test.java deleted file mode 100644 index 08ce0b019..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3410Test.java +++ /dev/null @@ -1,1570 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.generators.GOST3410KeyPairGenerator; -import org.spongycastle.crypto.generators.GOST3410ParametersGenerator; -import org.spongycastle.crypto.params.GOST3410KeyGenerationParameters; -import org.spongycastle.crypto.params.GOST3410Parameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.GOST3410Signer; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.NumberParsing; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -import java.math.BigInteger; -import java.security.SecureRandom; - -public class GOST3410Test - implements Test -{ - byte[] hashmessage = Hex.decode("3042453136414534424341374533364339313734453431443642453241453435"); - - private byte[] zeroTwo(int length) - { - byte[] data = new byte[length]; - data[data.length - 1] = 0x02; - return data; - } - - private class GOST3410_TEST1_512 - implements Test - { - public String getName() - { - return "GOST3410-TEST1-512"; - } - - FixedSecureRandom init_random = new FixedSecureRandom(new byte[][] { Hex.decode("00005EC900007341"), zeroTwo(64) }); - FixedSecureRandom random = new FixedSecureRandom(Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A")); - FixedSecureRandom keyRandom = new FixedSecureRandom(Hex.decode("3036314538303830343630454235324435324234314132373832433138443046")); - - BigInteger pValue = new BigInteger("EE8172AE8996608FB69359B89EB82A69854510E2977A4D63BC97322CE5DC3386EA0A12B343E9190F23177539845839786BB0C345D165976EF2195EC9B1C379E3", 16); - BigInteger qValue = new BigInteger("98915E7EC8265EDFCDA31E88F24809DDB064BDC7285DD50D7289F0AC6F49DD2D", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("3e5f895e276d81d2d52c0763270a458157b784c57abdbd807bc44fd43a32ac06",16); - BigInteger s = new BigInteger("3f0dd5d4400d47c08e4ce505ff7434b6dbf729592e37c74856dab85115a60955",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(512, 1, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (params.getValidationParameters() == null) - { - return new SimpleTestResult(false, getName() + "validation parameters wrong"); - } - if (params.getValidationParameters().getC() != 29505 - || params.getValidationParameters().getX0() != 24265) - { - return new SimpleTestResult(false, getName() + "validation parameters values wrong"); - } - if (!init_random.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'init_random'."); - } - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - if (!keyRandom.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'keyRandom'."); - } - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer gost3410 = new GOST3410Signer(); - - gost3410.init(true, param); - - BigInteger[] sig = gost3410.generateSignature(hashmessage); - - if (!random.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'random'."); - } - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - gost3410.init(false, pair.getPublic()); - - if (gost3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_TEST2_512 - implements Test - { - public String getName() - { - return "GOST3410-TEST2-512"; - } - - FixedSecureRandom init_random = new FixedSecureRandom(new byte[][] { Hex.decode("000000003DFC46F1000000000000000D"), zeroTwo(64) }); - FixedSecureRandom random = new FixedSecureRandom(Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A")); - FixedSecureRandom keyRandom = new FixedSecureRandom(Hex.decode("3036314538303830343630454235324435324234314132373832433138443046")); - - BigInteger pValue = new BigInteger("8b08eb135af966aab39df294538580c7da26765d6d38d30cf1c06aae0d1228c3316a0e29198460fad2b19dc381c15c888c6dfd0fc2c565abb0bf1faff9518f85", 16); - BigInteger qValue = new BigInteger("931a58fb6f0dcdf2fe7549bc3f19f4724b56898f7f921a076601edb18c93dc75", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("7c07c8cf035c2a1cb2b7fae5807ac7cd623dfca7a1a68f6d858317822f1ea00d",16); - BigInteger s = new BigInteger("7e9e036a6ff87dbf9b004818252b1f6fc310bdd4d17cb8c37d9c36c7884de60c",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(512, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!init_random.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'init_random'."); - } - - if (params.getValidationParameters() == null) - { - return new SimpleTestResult(false, getName() + ": validation parameters wrong"); - } - - if (params.getValidationParameters().getCL() != 13 - || params.getValidationParameters().getX0L() != 1039943409) - { - return new SimpleTestResult(false, getName() + ": validation parameters values wrong"); - } - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - if (!keyRandom.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'keyRandom'."); - } - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!random.isExhausted()) - { - return new SimpleTestResult(false, getName() - + ": unexpected number of bytes used from 'random'."); - } - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_TEST1_1024 - implements Test - { - public String getName() - { - return "GOST3410-TEST1-1024"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstInt = true; - - public int nextInt() - { - String x0 = "0xA565"; - String c = "0x538B"; - - if (firstInt) - { - firstInt = false; - return NumberParsing.decodeIntFromHex(x0); - } - return NumberParsing.decodeIntFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - - byte[] d = Hex.decode("02"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("ab8f37938356529e871514c1f48c5cbce77b2f4fc9a2673ac2c1653da8984090c0ac73775159a26bef59909d4c9846631270e16653a6234668f2a52a01a39b921490e694c0f104b58d2e14970fccb478f98d01e975a1028b9536d912de5236d2dd2fc396b77153594d4178780e5f16f718471e2111c8ce64a7d7e196fa57142d", 16); - BigInteger qValue = new BigInteger("bcc02ca0ce4f0753ec16105ee5d530aa00d39f3171842ab2c334a26b5f576e0f", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("a8790aabbd5a998ff524bad048ac69cd1faff2dab048265c8d60d1471c44a9ee",16); - BigInteger s = new BigInteger("30df5ba32ac77170b9632559bef7d37620017756dff3fea1088b4267db0944b8",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 1, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_TEST2_1024 - implements Test - { - public String getName() - { - return "GOST3410-TEST2-1024"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x3DFC46F1"; - String c = "0xD"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - - byte[] d = Hex.decode("02"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("e2c4191c4b5f222f9ac2732562f6d9b4f18e7fb67a290ea1e03d750f0b9806755fc730d975bf3faa606d05c218b35a6c3706919aab92e0c58b1de4531c8fa8e7af43c2bff016251e21b2870897f6a27ac4450bca235a5b748ad386e4a0e4dfcb09152435abcfe48bd0b126a8122c7382f285a9864615c66decddf6afd355dfb7", 16); - BigInteger qValue = new BigInteger("931a58fb6f0dcdf2fe7549bc3f19f4724b56898f7f921a076601edb18c93dc75", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("81d69a192e9c7ac21fc07da41bd07e230ba6a94eb9f3c1fd104c7bd976733ca5",16); - BigInteger s = new BigInteger("315c879c8414f35feb4deb15e7cc0278c48e6ca1596325d6959338d860b0c47a",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_AParam - implements Test - { - public String getName() - { - return "GOST3410-AParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x520874F5"; - String c = "0xEE39ADB3"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - - byte[] d = Hex.decode("02"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("b4e25efb018e3c8b87505e2a67553c5edc56c2914b7e4f89d23f03f03377e70a2903489dd60e78418d3d851edb5317c4871e40b04228c3b7902963c4b7d85d52b9aa88f2afdbeb28da8869d6df846a1d98924e925561bd69300b9ddd05d247b5922d967cbb02671881c57d10e5ef72d3e6dad4223dc82aa1f7d0294651a480df", 16); - BigInteger qValue = new BigInteger("972432a437178b30bd96195b773789ab2fff15594b176dd175b63256ee5af2cf", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("64a8856628e5669d85f62cd763dd4a99bc56d33dc0e1859122855d141e9e4774",16); - BigInteger s = new BigInteger("319ebac97092b288d469a4b988248794f60c865bc97858d9a3135c6d1a1bf2dd",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_BParam - implements Test - { - public String getName() - { - return "GOST3410-BParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x5B977CDB"; - String c = "0x6E9692DD"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - byte[] d = Hex.decode("bc3cbbdb7e6f848286e19ad9a27a8e297e5b71c53dd974cdf60f937356df69cbc97a300ccc71685c553046147f11568c4fddf363d9d886438345a62c3b75963d6546adfabf31b31290d12cae65ecb8309ef66782"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("c6971fc57524b30c9018c5e621de15499736854f56a6f8aee65a7a404632b3540f09020f67f04dc2e6783b141dceffd21a703035b7d0187c6e12cb4229922bafdb2225b73e6b23a0de36e20047065aea000c1a374283d0ad8dc1981e3995f0bb8c72526041fcb98ae6163e1e71a669d8364e9c4c3188f673c5f8ee6fadb41abf", 16); - BigInteger qValue = new BigInteger("b09d634c10899cd7d4c3a7657403e05810b07c61a688bab2c37f475e308b0607", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("860d82c60e9502cd00c0e9e1f6563feafec304801974d745c5e02079946f729e",16); - BigInteger s = new BigInteger("7ef49264ef022801aaa03033cd97915235fbab4c823ed936b0f360c22114688a",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_CParam - implements Test - { - public String getName() - { - return "GOST3410-CParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x43848744"; - String c = "0xB50A826D"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - byte[] d = Hex.decode("7F575E8194BC5BDF"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("9d88e6d7fe3313bd2e745c7cdd2ab9ee4af3c8899e847de74a33783ea68bc30588ba1f738c6aaf8ab350531f1854c3837cc3c860ffd7e2e106c3f63b3d8a4c034ce73942a6c3d585b599cf695ed7a3c4a93b2b947b7157bb1a1c043ab41ec8566c6145e938a611906de0d32e562494569d7e999a0dda5c879bdd91fe124df1e9", 16); - BigInteger qValue = new BigInteger("fadd197abd19a1b4653eecf7eca4d6a22b1f7f893b641f901641fbb555354faf", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("4deb95a0b35e7ed7edebe9bef5a0f93739e16b7ff27fe794d989d0c13159cfbc",16); - BigInteger s = new BigInteger("e1d0d30345c24cfeb33efde3deee5fbbda78ddc822b719d860cd0ba1fb6bd43b",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_DParam - implements Test - { - public String getName() - { - return "GOST3410-DParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x13DA8B9D"; - String c = "0xA0E9DE4B"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - - byte[] d = Hex.decode("41ab97857f42614355d32db0b1069f109a4da283676c7c53a68185b4"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("80f102d32b0fd167d069c27a307adad2c466091904dbaa55d5b8cc7026f2f7a1919b890cb652c40e054e1e9306735b43d7b279eddf9102001cd9e1a831fe8a163eed89ab07cf2abe8242ac9dedddbf98d62cddd1ea4f5f15d3a42a6677bdd293b24260c0f27c0f1d15948614d567b66fa902baa11a69ae3bceadbb83e399c9b5", 16); - BigInteger qValue = new BigInteger("f0f544c418aac234f683f033511b65c21651a6078bda2d69bb9f732867502149", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("712592d285b792e33b8a9a11e8e6c4f512ddf0042972bbfd1abb0a93e8fc6f54",16); - BigInteger s = new BigInteger("2cf26758321258b130d5612111339f09ceb8668241f3482e38baa56529963f07",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_AExParam - implements Test - { - public String getName() - { - return "GOST3410-AExParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0xD05E9F14"; - String c = "0x46304C5F"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - byte[] d = Hex.decode("35ab875399cda33c146ca629660e5a5e5c07714ca326db032dd6751995cdb90a612b9228932d8302704ec24a5def7739c5813d83"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("ca3b3f2eee9fd46317d49595a9e7518e6c63d8f4eb4d22d10d28af0b8839f079f8289e603b03530784b9bb5a1e76859e4850c670c7b71c0df84ca3e0d6c177fe9f78a9d8433230a883cd82a2b2b5c7a3306980278570cdb79bf01074a69c9623348824b0c53791d53c6a78cab69e1cfb28368611a397f50f541e16db348dbe5f", 16); - BigInteger qValue = new BigInteger("cae4d85f80c147704b0ca48e85fb00a9057aa4acc44668e17f1996d7152690d9", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("90892707282f433398488f19d31ac48523a8e2ded68944e0da91c6895ee7045e",16); - BigInteger s = new BigInteger("3be4620ee88f1ee8f9dd63c7d145b7e554839feeca125049118262ea4651e9de",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_BExParam - implements Test - { - public String getName() - { - return "GOST3410-BExParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x7A007804"; - String c = "0xD31A4FF7"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - byte[] d = Hex.decode("7ec123d161477762838c2bea9dbdf33074af6d41d108a066a1e7a07ab3048de2"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("9286dbda91eccfc3060aa5598318e2a639f5ba90a4ca656157b2673fb191cd0589ee05f4cef1bd13508408271458c30851ce7a4ef534742bfb11f4743c8f787b11193ba304c0e6bca25701bf88af1cb9b8fd4711d89f88e32b37d95316541bf1e5dbb4989b3df13659b88c0f97a3c1087b9f2d5317d557dcd4afc6d0a754e279", 16); - BigInteger qValue = new BigInteger("c966e9b3b8b7cdd82ff0f83af87036c38f42238ec50a876cd390e43d67b6013f", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("8f79a582513df84dc247bcb624340cc0e5a34c4324a20ce7fe3ab8ff38a9db71",16); - BigInteger s = new BigInteger("7508d22fd6cbb45efd438cb875e43f137247088d0f54b29a7c91f68a65b5fa85",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - private class GOST3410_CExParam - implements Test - { - public String getName() - { - return "GOST3410-CExParam"; - } - - SecureRandom init_random = new SecureRandom() - { - boolean firstLong = true; - - public long nextLong() - { - String x0 = "0x162AB910"; - String c = "0x93F828D3"; - - if (firstLong) - { - firstLong = false; - return NumberParsing.decodeLongFromHex(x0); - } - return NumberParsing.decodeLongFromHex(c); - } - - public void nextBytes(byte[] bytes) - { - byte[] d = Hex.decode("ca82cce78a738bc46f103d53b9bf809745ec845e4f6da462606c51f60ecf302e31204b81"); - - System.arraycopy(d, 0, bytes, bytes.length-d.length, d.length); - } - }; - - SecureRandom random = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] k = Hex.decode("90F3A564439242F5186EBB224C8E223811B7105C64E4F5390807E6362DF4C72A"); - - int i; - - for (i = 0; i < (bytes.length - k.length); i += k.length) - { - System.arraycopy(k, 0, bytes, i, k.length); - } - - if (i > bytes.length) - { - System.arraycopy(k, 0, bytes, i - k.length, bytes.length - (i - k.length)); - } - else - { - System.arraycopy(k, 0, bytes, i, bytes.length - i); - } - } - }; - - SecureRandom keyRandom = new SecureRandom() - { - public void nextBytes(byte[] bytes) - { - byte[] x = Hex.decode("3036314538303830343630454235324435324234314132373832433138443046"); - - int i; - - for (i = 0; i < (bytes.length - x.length); i += x.length) - { - System.arraycopy(x, 0, bytes, i, x.length); - } - - if (i > bytes.length) - { - System.arraycopy(x, 0, bytes, i - x.length, bytes.length - (i - x.length)); - } - else - { - System.arraycopy(x, 0, bytes, i, bytes.length - i); - } - } - }; - - BigInteger pValue = new BigInteger("b194036ace14139d36d64295ae6c50fc4b7d65d8b340711366ca93f383653908ee637be428051d86612670ad7b402c09b820fa77d9da29c8111a8496da6c261a53ed252e4d8a69a20376e6addb3bdcd331749a491a184b8fda6d84c31cf05f9119b5ed35246ea4562d85928ba1136a8d0e5a7e5c764ba8902029a1336c631a1d", 16); - BigInteger qValue = new BigInteger("96120477df0f3896628e6f4a88d83c93204c210ff262bccb7dae450355125259", 16); - - public TestResult perform() - { - BigInteger r = new BigInteger("169fdb2dc09f690b71332432bfec806042e258fa9a21dafe73c6abfbc71407d9",16); - BigInteger s = new BigInteger("9002551808ae40d19f6f31fb67e4563101243cf07cffd5f2f8ff4c537b0c9866",16); - GOST3410ParametersGenerator pGen = new GOST3410ParametersGenerator(); - - pGen.init(1024, 2, init_random); - - GOST3410Parameters params = pGen.generateParameters(); - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - return new SimpleTestResult(false, getName() + ": p or q wrong"); - } - - GOST3410KeyPairGenerator GOST3410KeyGen = new GOST3410KeyPairGenerator(); - GOST3410KeyGenerationParameters genParam = new GOST3410KeyGenerationParameters(keyRandom, params); - - GOST3410KeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = GOST3410KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random); - - GOST3410Signer GOST3410 = new GOST3410Signer(); - - GOST3410.init(true, param); - - BigInteger[] sig = GOST3410.generateSignature(hashmessage); - - if (!r.equals(sig[0])) - { - return new SimpleTestResult(false, getName() - + ": r component wrong." + System.getProperty("line.separator") - + " expecting: " + r.toString(16) + System.getProperty("line.separator") - + " got : " + sig[0].toString(16)); - } - - if (!s.equals(sig[1])) - { - return new SimpleTestResult(false, getName() - + ": s component wrong." + System.getProperty("line.separator") - + " expecting: " + s.toString(16) + System.getProperty("line.separator") - + " got : " + sig[1].toString(16)); - } - - GOST3410.init(false, pair.getPublic()); - - if (GOST3410.verifySignature(hashmessage, sig[0], sig[1])) - { - return new SimpleTestResult(true, getName() + ": Okay"); - } - else - { - return new SimpleTestResult(false, getName() + ": verification fails"); - } - } - } - - Test tests[] = - { - new GOST3410_TEST1_512(), - new GOST3410_TEST2_512(), -// new GOST3410_TEST1_1024(), -// new GOST3410_TEST2_1024(), -// new GOST3410_AParam(), -// new GOST3410_BParam(), -// new GOST3410_CParam(), -// new GOST3410_DParam(), -// new GOST3410_AExParam(), -// new GOST3410_BExParam(), -// new GOST3410_CExParam() - }; - - public String getName() - { - return "GOST3410"; - } - - public TestResult perform() - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (!result.isSuccessful()) - { - return result; - } - } - - return new SimpleTestResult(true, "GOST3410: Okay"); - } - - public static void main( - String[] args) - { - GOST3410Test test = new GOST3410Test(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3411DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3411DigestTest.java deleted file mode 100644 index b3121e827..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/GOST3411DigestTest.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.GOST3411Digest; -import org.spongycastle.crypto.generators.PKCS5S1ParametersGenerator; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; - -public class GOST3411DigestTest - extends DigestTest -{ - private static final String[] messages = - { - "", - "This is message, length=32 bytes", - "Suppose the original message has length = 50 bytes", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - }; - -// If S-box = D-A (see: digest/GOST3411Digest.java; function: E(byte[] in, byte[] key); string: CipherParameters param = new GOST28147Parameters(key,"D-A");) - private static final String[] digests = - { - "981e5f3ca30c841487830f84fb433e13ac1101569b9c13584ac483234cd656c0", - "2cefc2f7b7bdc514e18ea57fa74ff357e7fa17d652c75f69cb1be7893ede48eb", - "c3730c5cbccacf915ac292676f21e8bd4ef75331d9405e5f1a61dc3130a65011", - "73b70a39497de53a6e08c67b6d4db853540f03e9389299d9b0156ef7e85d0f61" - }; - -// If S-box = D-Test (see: digest/GOST3411Digest.java; function:E(byte[] in, byte[] key); string: CipherParameters param = new GOST28147Parameters(key,"D-Test");) -// private static final String[] digests = -// { -// "ce85b99cc46752fffee35cab9a7b0278abb4c2d2055cff685af4912c49490f8d", -// "b1c466d37519b82e8319819ff32595e047a28cb6f83eff1c6916a815a637fffa", -// "471aba57a60a770d3a76130635c1fbea4ef14de51f78b4ae57dd893b62f55208", -// "95c1af627c356496d80274330b2cff6a10c67b5f597087202f94d06d2338cf8e" -// }; - - // 1 million 'a' - static private String million_a_digest = "8693287aa62f9478f7cb312ec0866b6c4e4a0f11160441e8f4ffcd2715dd554f"; - - GOST3411DigestTest() - { - super(new GOST3411Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - - HMac gMac = new HMac(new GOST3411Digest()); - - gMac.init(new KeyParameter(PKCS5S1ParametersGenerator.PKCS5PasswordToUTF8Bytes("1".toCharArray()))); - - byte[] data = "fred".getBytes(); - - gMac.update(data, 0, data.length); - byte[] mac = new byte[gMac.getMacSize()]; - - gMac.doFinal(mac, 0); - } - - protected Digest cloneDigest(Digest digest) - { - return new GOST3411Digest((GOST3411Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new GOST3411DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grain128Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grain128Test.java deleted file mode 100644 index 7ac877c15..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grain128Test.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.Grain128Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Grain-128 Test - */ -public class Grain128Test - extends SimpleTest -{ - - String keyStream1 = "f09b7bf7d7f6b5c2de2ffc73ac21397f"; - String keyStream2 = "afb5babfa8de896b4b9c6acaf7c4fbfd"; - - public String getName() - { - return "Grain-128"; - } - - public void performTest() - { - Grain128Test1(new ParametersWithIV(new KeyParameter(Hex - .decode("00000000000000000000000000000000")), Hex - .decode("000000000000000000000000"))); - Grain128Test2(new ParametersWithIV(new KeyParameter(Hex - .decode("0123456789abcdef123456789abcdef0")), Hex - .decode("0123456789abcdef12345678"))); - Grain128Test3(new ParametersWithIV(new KeyParameter(Hex - .decode("0123456789abcdef123456789abcdef0")), Hex - .decode("0123456789abcdef12345678"))); - } - - private void Grain128Test1(CipherParameters params) - { - StreamCipher grain = new Grain128Engine(); - byte[] in = new byte[16]; - byte[] out = new byte[16]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream1))) - { - mismatch("Keystream 1", keyStream1, out); - } - - grain.reset(); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream1))) - { - mismatch("Keystream 1", keyStream1, out); - } - } - - private void Grain128Test2(CipherParameters params) - { - StreamCipher grain = new Grain128Engine(); - byte[] in = new byte[16]; - byte[] out = new byte[16]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream2))) - { - mismatch("Keystream 2", keyStream2, out); - } - - grain.reset(); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream2))) - { - mismatch("Keystream 2", keyStream2, out); - } - } - - private void Grain128Test3(CipherParameters params) - { - StreamCipher grain = new Grain128Engine(); - byte[] in = "Encrypt me!".getBytes(); - byte[] cipher = new byte[in.length]; - byte[] clear = new byte[in.length]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, cipher, 0); - grain.reset(); - grain.processBytes(cipher, 0, cipher.length, clear, 0); - - if (!areEqual(in, clear)) - { - mismatch("Test 3", new String(Hex.encode(in)), clear); - } - } - - private void mismatch(String name, String expected, byte[] found) - { - fail("mismatch on " + name, expected, new String(Hex.encode(found))); - } - - public static void main(String[] args) - { - runTest(new Grain128Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grainv1Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grainv1Test.java deleted file mode 100644 index a9847d0e6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Grainv1Test.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.Grainv1Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Grain v1 Test - */ -public class Grainv1Test - extends SimpleTest -{ - - String keyStream1 = "dee931cf1662a72f77d0"; - String keyStream2 = "7f362bd3f7abae203664"; - String keyStream4 = "017D13ECB20AE0C9ACF784CB06525F72" - + "CE6D52BEBB948F124668C35064559024" - + "49EEA505C19F3EE4D052C3D19DA9C4D1" - + "B92DBC7F07AFEA6A3D845DE60D8471FD"; - - public String getName() - { - return "Grain v1"; - } - - public void performTest() - { - Grainv1Test1(new ParametersWithIV(new KeyParameter(Hex - .decode("00000000000000000000")), Hex - .decode("0000000000000000"))); - Grainv1Test2(new ParametersWithIV(new KeyParameter(Hex - .decode("0123456789abcdef1234")), Hex - .decode("0123456789abcdef"))); - Grainv1Test3(new ParametersWithIV(new KeyParameter(Hex - .decode("0123456789abcdef1234")), Hex - .decode("0123456789abcdef"))); - Grainv1Test4(new ParametersWithIV(new KeyParameter(Hex - .decode("0F62B5085BAE0154A7FA")), Hex - .decode("288FF65DC42B92F9"))); - } - - private void Grainv1Test1(CipherParameters params) - { - StreamCipher grain = new Grainv1Engine(); - byte[] in = new byte[10]; - byte[] out = new byte[10]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream1))) - { - mismatch("Keystream 1", keyStream1, out); - } - - grain.reset(); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream1))) - { - mismatch("Keystream 1", keyStream1, out); - } - } - - private void Grainv1Test2(CipherParameters params) - { - StreamCipher grain = new Grainv1Engine(); - byte[] in = new byte[10]; - byte[] out = new byte[10]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream2))) - { - mismatch("Keystream 2", keyStream2, out); - } - - grain.reset(); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream2))) - { - mismatch("Keystream 2", keyStream2, out); - } - } - - private void Grainv1Test3(CipherParameters params) - { - StreamCipher grain = new Grainv1Engine(); - byte[] in = "Encrypt me!".getBytes(); - byte[] cipher = new byte[in.length]; - byte[] clear = new byte[in.length]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, cipher, 0); - grain.reset(); - grain.processBytes(cipher, 0, cipher.length, clear, 0); - - if (!areEqual(in, clear)) - { - mismatch("Test 3", new String(Hex.encode(in)), clear); - } - } - - private void Grainv1Test4(CipherParameters params) - { - StreamCipher grain = new Grainv1Engine(); - byte[] in = new byte[keyStream4.length() / 2]; - byte[] out = new byte[in.length]; - - grain.init(true, params); - - grain.processBytes(in, 0, in.length, out, 0); - - if (!areEqual(out, Hex.decode(keyStream4))) - { - mismatch("Keystream 4", keyStream4, out); - } - } - - private void mismatch(String name, String expected, byte[] found) - { - fail("mismatch on " + name, expected, new String(Hex.encode(found))); - } - - public static void main(String[] args) - { - runTest(new Grainv1Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyTest.java deleted file mode 100644 index 1032c4431..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyTest.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.HC128Engine; -import org.spongycastle.crypto.engines.HC256Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * HC-128 and HC-256 Tests. Based on the test vectors in the official reference - * papers, respectively: - *

    - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf
    - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf
    - * 
    - * See HCFamilyVecTest for a more exhaustive test based on the ecrypt vectors. - */ -public class HCFamilyTest - extends SimpleTest -{ - private static final byte[] MSG = new byte[64]; - - private static String[][] HC128_VerifiedTest = - { - { - "Set 2, vector# 0", - "00000000000000000000000000000000", - "00000000000000000000000000000000", - "82001573A003FD3B7FD72FFB0EAF63AA" + - "C62F12DEB629DCA72785A66268EC758B" + - "1EDB36900560898178E0AD009ABF1F49" + - "1330DC1C246E3D6CB264F6900271D59C" - }, - { - "Set 6, vector# 0", - "0053A6F94C9FF24598EB3E91E4378ADD", - "0D74DB42A91077DE45AC137AE148AF16", - "2E1ED12A8551C05AF41FF39D8F9DF933" + - "122B5235D48FC2A6F20037E69BDBBCE8" + - "05782EFC16C455A4B3FF06142317535E" + - "F876104C32445138CB26EBC2F88A684C" - }, - { - "Set 6, vector# 1", - "0558ABFE51A4F74A9DF04396E93C8FE2", - "167DE44BB21980E74EB51C83EA51B81F", - "4F864BF3C96D0363B1903F0739189138" + - "F6ED2BC0AF583FEEA0CEA66BA7E06E63" + - "FB28BF8B3CA0031D24ABB511C57DD17B" + - "FC2861C32400072CB680DF2E58A5CECC" - }, - { - "Set 6, vector# 2", - "0A5DB00356A9FC4FA2F5489BEE4194E7", - "1F86ED54BB2289F057BE258CF35AC128", - "82168AB0023B79AAF1E6B4D823855E14" + - "A7084378036A951B1CFEF35173875ED8" + - "6CB66AB8410491A08582BE40080C3102" + - "193BA567F9E95D096C3CC60927DD7901" - }, - { - "Set 6, vector# 3", - "0F62B5085BAE0154A7FA4DA0F34699EC", - "288FF65DC42B92F960C72E95FC63CA31", - "1CD8AEDDFE52E217E835D0B7E84E2922" + - "D04B1ADBCA53C4522B1AA604C42856A9" + - "0AF83E2614BCE65C0AECABDD8975B557" + - "00D6A26D52FFF0888DA38F1DE20B77B7" - } - }; - - private static String[][] HC256_VerifiedTest = - { - { - "Set 2, vector# 0", - "00000000000000000000000000000000", - "00000000000000000000000000000000", - "5B078985D8F6F30D42C5C02FA6B67951" + - "53F06534801F89F24E74248B720B4818" + - "CD9227ECEBCF4DBF8DBF6977E4AE14FA" + - "E8504C7BC8A9F3EA6C0106F5327E6981" - }, - { - "Set 2, vector# 9", - "09090909090909090909090909090909", - "00000000000000000000000000000000", - "F5C2926651AEED9AF1A9C2F04C03D081" + - "2145B56AEA46EB283A25A4C9E3D8BEB4" + - "821B418F06F2B9DCDF1A85AB8C02CD14" + - "62E1BBCAEC9AB0E99AA6AFF918BA627C" - }, - { - "Set 2, vector#135", - "87878787878787878787878787878787", - "00000000000000000000000000000000", - "CEC0C3852E3B98233EBCB975C10B1191" + - "3C69F2275EB97A1402EDF16C6FBE19BE" + - "79D65360445BCB63676E6553B609A065" + - "0155C3B22DD1975AC0F3F65063A2E16E" - }, - { - "Set 6, vector# 0", - "0053A6F94C9FF24598EB3E91E4378ADD" + - "3083D6297CCF2275C81B6EC11467BA0D", - "0D74DB42A91077DE45AC137AE148AF16" + - "7DE44BB21980E74EB51C83EA51B81F86", - "23D9E70A45EB0127884D66D9F6F23C01" + - "D1F88AFD629270127247256C1FFF91E9" + - "1A797BD98ADD23AE15BEE6EEA3CEFDBF" + - "A3ED6D22D9C4F459DB10C40CDF4F4DFF" - }, - { - "Set 6, vector# 1", - "0558ABFE51A4F74A9DF04396E93C8FE2" + - "3588DB2E81D4277ACD2073C6196CBF12", - "167DE44BB21980E74EB51C83EA51B81F" + - "86ED54BB2289F057BE258CF35AC1288F", - "C44B5262F2EAD9C018213127686DB742" + - "A72D3F2D61D18F0F4E7DE5B4F7ADABE0" + - "7E0C82033B139F02BAACB4E2F2D0BE30" + - "110C3A8A2B621523756692877C905DD0" - }, - { - "Set 6, vector# 2", - "0A5DB00356A9FC4FA2F5489BEE4194E7" + - "3A8DE03386D92C7FD22578CB1E71C417", - "1F86ED54BB2289F057BE258CF35AC128" + - "8FF65DC42B92F960C72E95FC63CA3198", - "9D13AA06122F4F03AE60D507701F1ED0" + - "63D7530FF35EE76CAEDCBFB01D8A239E" + - "FA4A44B272DE9B4092E2AD56E87C3A60" + - "89F5A074D1F6E5B8FC6FABEE0C936F06" - }, - { - "Set 6, vector# 3", - "0F62B5085BAE0154A7FA4DA0F34699EC" + - "3F92E5388BDE3184D72A7DD02376C91C", - "288FF65DC42B92F960C72E95FC63CA31" + - "98FF66CD349B0269D0379E056CD33AA1", - "C8632038DA61679C4685288B37D3E232" + - "7BC2D28C266B041FE0CA0D3CFEED8FD5" + - "753259BAB757168F85EA96ADABD823CA" + - "4684E918423E091565713FEDDE2CCFE0" - } - }; - - public String getName() - { - return "HC-128 and HC-256"; - } - - public void performTest() - { - StreamCipher hc = new HC256Engine(); - - for (int i = 0; i != HC256_VerifiedTest.length; i++) - { - String[] test = HC256_VerifiedTest[i]; - HCTest(hc, "HC-256 - " + test[0], Hex.decode(test[1]), Hex.decode(test[2]), Hex.decode(test[3])); - } - - hc = new HC128Engine(); - - for (int i = 0; i != HC128_VerifiedTest.length; i++) - { - String[] test = HC128_VerifiedTest[i]; - HCTest(hc, "HC-128 - " + test[0], Hex.decode(test[1]), Hex.decode(test[2]), Hex.decode(test[3])); - } - } - - private void HCTest(StreamCipher hc, String test, byte[] key, byte[] IV, byte[] expected) - { - KeyParameter kp = new KeyParameter(key); - ParametersWithIV ivp = new ParametersWithIV(kp, IV); - - hc.init(true, ivp); - for (int i = 0; i < 64; i++) - { - if (hc.returnByte(MSG[i]) != expected[i]) - { - fail(test + " failure at byte " + i); - } - } - } - - public static void main(String[] args) - { - runTest(new HCFamilyTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyVecTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyVecTest.java deleted file mode 100644 index a3c954f8a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HCFamilyVecTest.java +++ /dev/null @@ -1,199 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.HC128Engine; -import org.spongycastle.crypto.engines.HC256Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * HC-128 and HC-256 Tests. Based on the test vectors in the official reference - * papers, respectively: - * - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf - * http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf - */ -public class HCFamilyVecTest - extends SimpleTest -{ - private static class PeekableLineReader extends BufferedReader - { - public PeekableLineReader(Reader r) throws IOException - { - super(r); - - peek = super.readLine(); - } - - public String peekLine() - { - return peek; - } - - public String readLine() throws IOException - { - String tmp = peek; - peek = super.readLine(); - return tmp; - } - - private String peek; - } - - public String getName() - { - return "HC-128 and HC-256 (ecrypt)"; - } - - public void performTest() throws Exception - { - runTests(new HC128Engine(), "ecrypt_HC-128.txt"); - runTests(new HC256Engine(), "ecrypt_HC-256_128K_128IV.txt"); - runTests(new HC256Engine(), "ecrypt_HC-256_256K_128IV.txt"); - runTests(new HC256Engine(), "ecrypt_HC-256_128K_256IV.txt"); - runTests(new HC256Engine(), "ecrypt_HC-256_256K_256IV.txt"); - } - - private void runTests(StreamCipher hc, String fileName) throws IOException - { - Reader resource = new InputStreamReader(getClass().getResourceAsStream(fileName)); - PeekableLineReader r = new PeekableLineReader(resource); - runAllVectors(hc, fileName, r); - } - - private void runAllVectors(StreamCipher hc, String fileName, PeekableLineReader r) - throws IOException - { - for (;;) - { - String line = r.readLine(); - if (line == null) - { - break; - } - - line = line.trim(); - - if (line.startsWith("Set ")) - { - runVector(hc, fileName, r, dellChar(line, ':')); - } - } - } - - private String dellChar(String s, char c) - { - StringBuffer b = new StringBuffer(); - - for (int i = 0; i != s.length(); i++) - { - if (s.charAt(i) != c) - { - b.append(s.charAt(i)); - } - } - - return b.toString(); - } - - private void runVector(StreamCipher hc, String fileName, PeekableLineReader r, String vectorName) - throws IOException - { -// System.out.println(fileName + " => " + vectorName); - String hexKey = readBlock(r); - String hexIV = readBlock(r); - - CipherParameters cp = new KeyParameter(Hex.decode(hexKey)); - cp = new ParametersWithIV(cp, Hex.decode(hexIV)); - hc.init(true, cp); - - byte[] input = new byte[64]; - byte[] output = new byte[64]; - byte[] digest = new byte[64]; - int pos = 0; - - for (;;) - { - String line1 = r.peekLine().trim(); - int equalsPos = line1.indexOf('='); - String lead = line1.substring(0, equalsPos - 1); - - String hexData = readBlock(r); - byte[] data = Hex.decode(hexData); - - if (lead.equals("xor-digest")) - { - if (!Arrays.areEqual(data, digest)) - { - fail("Failed in " + fileName + " for test vector: " + vectorName + " at " + lead); -// System.out.println(fileName + " => " + vectorName + " failed at " + lead); return; - } - break; - } - - int posA = lead.indexOf('['); - int posB = lead.indexOf(".."); - int posC = lead.indexOf(']'); - int start = Integer.parseInt(lead.substring(posA + 1, posB)); - int end = Integer.parseInt(lead.substring(posB + 2, posC)); - - if (start % 64 != 0 || (end - start != 63)) - { - throw new IllegalStateException(vectorName + ": " + lead + " not on 64 byte boundaries"); - } - - while (pos < end) - { - hc.processBytes(input, 0, input.length, output, 0); - xor(digest, output); - pos += 64; - } - - if (!Arrays.areEqual(data, output)) - { - fail("Failed in " + fileName + " for test vector: " + vectorName + " at " + lead); -// System.out.println(fileName + " => " + vectorName + " failed at " + lead); return; - } - } - } - - private static String readBlock(PeekableLineReader r) throws IOException - { - String first = r.readLine().trim(); - String result = first.substring(first.lastIndexOf(' ') + 1); - - for (;;) - { - String peek = r.peekLine().trim(); - if (peek.length() < 1 || peek.indexOf('=') >= 0) - { - break; - } - result += r.readLine().trim(); - } - - return result; - } - - private static void xor(byte[] digest, byte[] block) - { - for (int i = 0; i < digest.length; ++i) - { - digest[i] ^= block[i]; - } - } - - public static void main(String[] args) - { - runTest(new HCFamilyVecTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HKDFGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HKDFGeneratorTest.java deleted file mode 100644 index 00564eb65..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HKDFGeneratorTest.java +++ /dev/null @@ -1,304 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.generators.HKDFBytesGenerator; -import org.spongycastle.crypto.params.HKDFParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * HKDF tests - vectors from RFC 5869, + 2 more, 101 and 102 - */ -public class HKDFGeneratorTest - extends SimpleTest -{ - - public HKDFGeneratorTest() - { - } - - private void compareOKM(int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!areEqual(calculatedOKM, testOKM)) - { - fail("HKDF failed generator test " + test); - } - } - - public void performTest() - { - { - // === A.1. Test Case 1 - Basic test case with SHA-256 === - - Digest hash = new SHA256Digest(); - byte[] ikm = Hex - .decode("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"); - byte[] salt = Hex.decode("000102030405060708090a0b0c"); - byte[] info = Hex.decode("f0f1f2f3f4f5f6f7f8f9"); - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(1, okm, Hex.decode( - "3cb25f25faacd57a90434f64d0362f2a" + - "2d2d0a90cf1a5a4c5db02d56ecc4c5bf" + - "34007208d5b887185865")); - } - - // === A.2. Test Case 2 - Test with SHA-256 and longer inputs/outputs - // === - { - Digest hash = new SHA256Digest(); - byte[] ikm = Hex.decode("000102030405060708090a0b0c0d0e0f" - + "101112131415161718191a1b1c1d1e1f" - + "202122232425262728292a2b2c2d2e2f" - + "303132333435363738393a3b3c3d3e3f" - + "404142434445464748494a4b4c4d4e4f"); - byte[] salt = Hex.decode("606162636465666768696a6b6c6d6e6f" - + "707172737475767778797a7b7c7d7e7f" - + "808182838485868788898a8b8c8d8e8f" - + "909192939495969798999a9b9c9d9e9f" - + "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf"); - byte[] info = Hex.decode("b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" - + "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" - + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf" - + "e0e1e2e3e4e5e6e7e8e9eaebecedeeef" - + "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"); - int l = 82; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(2, okm, Hex.decode( - "b11e398dc80327a1c8e7f78c596a4934" + - "4f012eda2d4efad8a050cc4c19afa97c" + - "59045a99cac7827271cb41c65e590e09" + - "da3275600c2f09b8367793a9aca3db71" + - "cc30c58179ec3e87c14c01d5c1f3434f" + - "1d87")); - } - - { - // === A.3. Test Case 3 - Test with SHA-256 and zero-length - // salt/info === - - // setting salt to an empty byte array means that the salt is set to - // HashLen zero valued bytes - // setting info to null generates an empty byte array as info - // structure - - Digest hash = new SHA256Digest(); - byte[] ikm = Hex - .decode("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"); - byte[] salt = new byte[0]; - byte[] info = null; - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(3, okm, Hex.decode( - "8da4e775a563c18f715f802a063c5a31" + - "b8a11f5c5ee1879ec3454e5f3c738d2d" + - "9d201395faa4b61a96c8")); - } - - { - // === A.4. Test Case 4 - Basic test case with SHA-1 === - - Digest hash = new SHA1Digest(); - byte[] ikm = Hex.decode("0b0b0b0b0b0b0b0b0b0b0b"); - byte[] salt = Hex.decode("000102030405060708090a0b0c"); - byte[] info = Hex.decode("f0f1f2f3f4f5f6f7f8f9"); - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(4, okm, Hex.decode( - "085a01ea1b10f36933068b56efa5ad81" + - "a4f14b822f5b091568a9cdd4f155fda2" + - "c22e422478d305f3f896")); - } - - // === A.5. Test Case 5 - Test with SHA-1 and longer inputs/outputs === - { - Digest hash = new SHA1Digest(); - byte[] ikm = Hex.decode("000102030405060708090a0b0c0d0e0f" - + "101112131415161718191a1b1c1d1e1f" - + "202122232425262728292a2b2c2d2e2f" - + "303132333435363738393a3b3c3d3e3f" - + "404142434445464748494a4b4c4d4e4f"); - byte[] salt = Hex.decode("606162636465666768696a6b6c6d6e6f" - + "707172737475767778797a7b7c7d7e7f" - + "808182838485868788898a8b8c8d8e8f" - + "909192939495969798999a9b9c9d9e9f" - + "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf"); - byte[] info = Hex.decode("b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" - + "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" - + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf" - + "e0e1e2e3e4e5e6e7e8e9eaebecedeeef" - + "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"); - int l = 82; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(5, okm, Hex.decode( - "0bd770a74d1160f7c9f12cd5912a06eb" + - "ff6adcae899d92191fe4305673ba2ffe" + - "8fa3f1a4e5ad79f3f334b3b202b2173c" + - "486ea37ce3d397ed034c7f9dfeb15c5e" + - "927336d0441f4c4300e2cff0d0900b52" + - "d3b4")); - } - - { - // === A.6. Test Case 6 - Test with SHA-1 and zero-length salt/info - // === - - // setting salt to null should generate a new salt of HashLen zero - // valued bytes - - Digest hash = new SHA1Digest(); - byte[] ikm = Hex - .decode("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"); - byte[] salt = null; - byte[] info = new byte[0]; - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(6, okm, Hex.decode( - "0ac1af7002b3d761d1e55298da9d0506" + - "b9ae52057220a306e07b6b87e8df21d0" + - "ea00033de03984d34918")); - } - - { - // === A.7. Test Case 7 - Test with SHA-1, salt not provided, - // zero-length info === - // (salt defaults to HashLen zero octets) - - // this test is identical to test 6 in all ways bar the IKM value - - Digest hash = new SHA1Digest(); - byte[] ikm = Hex - .decode("0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c"); - byte[] salt = null; - byte[] info = new byte[0]; - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = new HKDFParameters(ikm, salt, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(7, okm, Hex.decode( - "2c91117204d745f3500d636a62f64f0a" + - "b3bae548aa53d423b0d1f27ebba6f5e5" + - "673a081d70cce7acfc48")); - } - - { - // === A.101. Additional Test Case - Test with SHA-1, skipping extract - // zero-length info === - // (salt defaults to HashLen zero octets) - - // this test is identical to test 7 in all ways bar the IKM value - // which is set to the PRK value - - Digest hash = new SHA1Digest(); - byte[] ikm = Hex - .decode("2adccada18779e7c2077ad2eb19d3f3e731385dd"); - byte[] info = new byte[0]; - int l = 42; - byte[] okm = new byte[l]; - - HKDFParameters params = HKDFParameters.skipExtractParameters(ikm, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - compareOKM(101, okm, Hex.decode( - "2c91117204d745f3500d636a62f64f0a" + - "b3bae548aa53d423b0d1f27ebba6f5e5" + - "673a081d70cce7acfc48")); - } - - // === A.102. Additional Test Case - Test with SHA-1, maximum output === - // (salt defaults to HashLen zero octets) - - // this test is identical to test 7 in all ways bar the IKM value - - Digest hash = new SHA1Digest(); - byte[] ikm = Hex - .decode("2adccada18779e7c2077ad2eb19d3f3e731385dd"); - byte[] info = new byte[0]; - int l = 255 * hash.getDigestSize(); - byte[] okm = new byte[l]; - - HKDFParameters params = HKDFParameters.skipExtractParameters(ikm, info); - - HKDFBytesGenerator hkdf = new HKDFBytesGenerator(hash); - hkdf.init(params); - hkdf.generateBytes(okm, 0, l); - - int zeros = 0; - for (int i = 0; i < hash.getDigestSize(); i++) - { - if (okm[i] == 0) - { - zeros++; - } - } - - if (zeros == hash.getDigestSize()) - { - fail("HKDF failed generator test " + 102); - } - } - - public String getName() - { - return "HKDF"; - } - - public static void main( - String[] args) - { - runTest(new HKDFGeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HashCommitmentTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HashCommitmentTest.java deleted file mode 100644 index d4c1c0768..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/HashCommitmentTest.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.Commitment; -import org.spongycastle.crypto.Committer; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.commitments.GeneralHashCommitter; -import org.spongycastle.crypto.commitments.HashCommitter; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class HashCommitmentTest - extends SimpleTest -{ - public String getName() - { - return "HashCommitmentTest"; - } - - public void performBasicTest() - throws Exception - { - byte[] data = Hex.decode("4e6f77206973207468652074696d6520666f7220616c6c20"); - - Committer committer = new HashCommitter(new SHA256Digest(), new SecureRandom()); - - Commitment c = committer.commit(data); - - committer = new HashCommitter(new SHA256Digest(), new SecureRandom()); - - if (!committer.isRevealed(c, data)) - { - fail("commitment failed to validate"); - } - - committer = new HashCommitter(new SHA1Digest(), new SecureRandom()); - - if (committer.isRevealed(c, data)) - { - fail("commitment validated!!"); - } - - try - { - committer.isRevealed(c, new byte[data.length + 1]); - } - catch (Exception e) - { - if (!e.getMessage().equals("Message and witness secret lengths do not match.")) - { - fail("exception thrown but wrong message"); - } - } - - // SHA1 has a block size of 512 bits, try a message that's too big - - try - { - c = committer.commit(new byte[33]); - } - catch (DataLengthException e) - { - if (!e.getMessage().equals("Message to be committed to too large for digest.")) - { - fail("exception thrown but wrong message"); - } - } - } - - public void performGeneralTest() - throws Exception - { - byte[] data = Hex.decode("4e6f77206973207468652074696d6520666f7220616c6c20"); - - Committer committer = new GeneralHashCommitter(new SHA256Digest(), new SecureRandom()); - - Commitment c = committer.commit(data); - - committer = new GeneralHashCommitter(new SHA256Digest(), new SecureRandom()); - - if (!committer.isRevealed(c, data)) - { - fail("general commitment failed to validate"); - } - - committer = new GeneralHashCommitter(new SHA1Digest(), new SecureRandom()); - - if (committer.isRevealed(c, data)) - { - fail("general commitment validated!!"); - } - - c = committer.commit(data); - - // try and fool it. - byte[] s = c.getSecret(); - byte[] newS = Arrays.copyOfRange(s, 0, s.length - 1); - byte[] newData = new byte[data.length + 1]; - - newData[0] = s[s.length - 1]; - System.arraycopy(data, 0, newData, 1, data.length); - - c = new Commitment(newS, c.getCommitment()); - - if (committer.isRevealed(c, newData)) - { - fail("general commitment validated!!"); - } - - try - { - committer.isRevealed(c, new byte[data.length + 1]); - } - catch (Exception e) - { - if (!e.getMessage().equals("Message and witness secret lengths do not match.")) - { - fail("exception thrown but wrong message"); - } - } - - // SHA1 has a block size of 512 bits, try a message that's too big - - try - { - c = committer.commit(new byte[33]); - } - catch (DataLengthException e) - { - if (!e.getMessage().equals("Message to be committed to too large for digest.")) - { - fail("exception thrown but wrong message"); - } - } - } - - public void performTest() - throws Exception - { - performBasicTest(); - performGeneralTest(); - } - - public static void main(String[] args) - { - runTest(new HashCommitmentTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/IDEATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/IDEATest.java deleted file mode 100644 index beb0e4895..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/IDEATest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.IDEAEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - */ -public class IDEATest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new IDEAEngine(), - new KeyParameter(Hex.decode("00112233445566778899AABBCCDDEEFF")), - "000102030405060708090a0b0c0d0e0f", "ed732271a7b39f475b4b2b6719f194bf"), - new BlockCipherVectorTest(0, new IDEAEngine(), - new KeyParameter(Hex.decode("00112233445566778899AABBCCDDEEFF")), - "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", "b8bc6ed5c899265d2bcfad1fc6d4287d") - }; - - IDEATest() - { - super(tests, new IDEAEngine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "IDEA"; - } - - public static void main( - String[] args) - { - runTest(new IDEATest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISAACTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISAACTest.java deleted file mode 100644 index e2f9f1242..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISAACTest.java +++ /dev/null @@ -1,180 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.ISAACEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * ISAAC Test - see http://www.burtleburtle.net/bob/rand/isaacafa.html - */ -public class ISAACTest - extends SimpleTest -{ - byte[] out = Hex.decode( - "f650e4c8e448e96d98db2fb4f5fad54f433f1afbedec154ad837048746ca4f9a" + - "5de3743e88381097f1d444eb823cedb66a83e1e04a5f6355c744243325890e2e" + - "7452e31957161df638a824f3002ed71329f5544951c08d83d78cb99ea0cc74f3" + - "8f651659cbc8b7c2f5f71c6912ad6419e5792e1b860536b809b3ce98d45d6d81" + - "f3b2612917e38f8529cf72ce349947b0c998f9ffb5e13dae32ae2a2bf7cf814c" + - "8ebfa303cf22e0640b923200eca4d58aef53cec4d0f7b37d9c411a2affdf8a80" + - "b40e27bcb4d2f97644b89b08f37c71d51a70e7e90bdb9c3060dc5207b3c3f24b" + - "d7386806229749b54e232cd091dabc65a70e11018b87437e5781414fcdbc62e2" + - "8107c9ff69d2e4ae3b18e752b143b6886f4e077295138769943c3c74afc17a97" + - "0fd439636a529b0bd8c58a6aa8bcc22d2db35dfea7a2f4026cb167db538e1f4e" + - "7275e2771d3b8e97ecc5dc9115e3a5b90369661430ab93ecac9fe69d7bc76811" + - "60eda8da28833522d5295ebc5adb60e7f7e1cdd097166d14b67ec13a210f3925" + - "64af0fef0d0286843aea3decb058bafbb8b0ccfcf2b5cc05e3a662d9814bc24c" + - "2364a1aa37c0ed052b36505c451e7ec85d2a542fe43d0fbb91c8d92560d4d5f8" + - "12a0594b9e8a51dacd49ebdb1b0dcdc1cd57c7f7e63444517ded386f2f36fa86" + - "a6d1210133bc405db388d96cdb6dbe96fe29661c13edc0cbcb0eee4a70cc94ae" + - "de11ed340606cf9f3a6ce38923d74f4ea37f63ff917bdec2d73f72d40e7e0e67" + - "3d77d9a213add9228891b3db01a9bd7056a001e3d51f093dcc033ce35ad0d3b0" + - "34105a8c6a123f57bd2e50247364944be89b1a3b21835c4d9f39e2d9d405ded8" + - "294d37e5bccaaeed35a124b56708a2bcb00960ba2a98121a4d8fae820bb3263f" + - "12595a196a1075890809e49421c171ec884d682514c8009bb0b84e7b03fb88f4" + - "28e7cb789388b13bdd2dc1d5848f520a07c28cd168a3935872c9137d127dd430" + - "c613f1578c2f0d55f7d3f39f309bfb788406b13746c0a6f53718d59708607f04" + - "76904b6d04db4e13cd7411a7b510ce0ebfc7f7ccb83f957afdfef62dc35e4580" + - "3ff1e5244112d96c02c9b944d5990dfbe7e265810d9c7e7e826dfa8966f1e0ab" + - "30bcc764eadebeaced35e5ee0c571a7de4f3a26af7f58f7badf6bc235d023e65" + - "1ed3ff4eec46b0b6d2a93b51e75b41c97e315aeb61119a5a53245b7933f6d7b1" + - "cae8deba50fc8194afa92a6dc87c80064188bfcd8bace62e78ffa5685597ec0f" + - "b4415f7d08294766ad56764309c36f903dde9f394a0a283c18080c8e080c79ec" + - "79ae4c10cb9e15637cdd662f62d31911a4ca0cf15cf824cd3b708f991e16614c" + - "b6b9d7665de87abb7229ea81d5b2d75056e6cd21fe1e42d596da2655c2b9aa36" + - "b8f6fd4a6a158d1001913fd3af7d1fb80b5e435f90c107576554abda7a68710f" + - "82ac484fd7e1c7be95c85eaa94a302f44d3cfbda786b29081010b27582d53d12" + - "21e2a51c3d1e9150b059261dd0638e1a31860f0581f2864dff4cfc350451516d" + - "bd086f26bc5654c165dfa427a82427f5582e3014b8d2486dc79a17499a1d7745" + - "8766bb541e04a7f73d3dff8ad5ec6bf4dbef7d9f36ec0ea31feb2e4f15cfcc5c" + - "d8c423fbd0ef3cc9eb244925ba5590c8a5f48ac433c5321c613b67b2479c3a22" + - "e21339cc10d210aa931dd7e2ef05ee06b82f2703a385cb2c5d67133c877eb7b4" + - "1e3437f75afb43ae53c078f394d904811d96458908063a85e13222281956b1e5" + - "31860f132e7b022f21182ca396f703ac46819e2e0d28fe523724d4dca0eabe6b" + - "c66699fdc6112fdd19c1e69c04d3658a4b55dd9931907d62f854b5224d678f26" + - "22ae0582eafed133e4a51d2184bd6dd6c1a513753f28ee63fb737b1a70a1660e" + - "8a8dfaa31be79937f7476978513c1764531ac6bf12c06908001cdb951a4b6a53" + - "d067fce512b2cfb69ddb477f740e006639ddf25acc8bfa2df1b20eaf64f2632c" + - "9783cdee63bfd4d80084cfe575f4e9e219b48fd06c48ddd87a36af9371865c4c" + - "9ce0199d867027d72cb7b77f84ef01da72f5972f040f7074df9afa29c921f94e" + - "75c08a3618c1ef9ad649a428c5b719378a30738ad97cd348858129a6239e3b0a" + - "bbb8abc480fac4c2ecfcf20bd9d711f9e2a4ef71b5fe87c0be8b06b2aafef5a7" + - "9c15db3b0aeb81654389a84a253b1d7a19047c797cdc78a2d20adf0356f55a71" + - "3e730fa8fd8650d8959e234eb7546681dad1b22a142a6e858ef4bce668235b9d" + - "85a13f8574096ae7a949bea229322d0dd568385882846526403dae086dd1943a" + - "e1279bff9e7e4f041c3a4524484525e481d4cc5fe24124c0037464c0bf1bd691" + - "26ceb003275ead3ac5bde90826414ff3a30519add7b43abe2ce5d3d588412761" + - "97ca2070e5fbb9c7276df0b4308f751f37a97df6c9cd808cfe4cb3803d469303" + - "aee19096c0d5d42a4e823ad3f5f9cc3b4286619c9ca45e1c66c97340891aec49" + - "45bae606c798f04752649d6cce86fdfc80c6e402d6ec2f2b27c822821fe26ce0" + - "92f57ea7de462f4d07497cae5a48755c721502dd6cbe7935836d80039ead7f70" + - "9ab3a42f4c8652d632e39273e8fa38601da4f25a0cd6ef8102503f7d8854a0a1" + - "9a30c4e88815715305efe29457c4c9252887d96fc1a71e3ce9f841632d0985de" + - "d21e796c6fb5ce5602614abfc3c7be2cb54fed6fa617a083c3142d8f6079e4ce" + - "ceffc1471d0cb81bdc153e5fe36ef5bbd531161a165b10157aa114ed3f7579b3" + - "f7f395f1bc6172c7a86f875e0e6c51b3cdfec2af73c0e762824c2009c5a87748" + - "94d401258aba3ffbd32be0608c17eff021e2547e07cffad905340e15f3310c92" + - "9d8d190886ba527ff943f672ef73fbf046d95ca5c54cd95b9d855e894bb5af29"); - - byte[] outFFFFFFFF = Hex.decode( - "de3b3f3c19e0629c1fc8b7836695d523e7804edd86ff7ce9b106f52caebae9d9" + - "72f845d49ce17d7da44e49bae954aac0d0b1284b98a88eec1524fb6bc91a16b5" + - "1192ac5334131446ac2442de9ff3d5867b9b9148881ee30a6e87dd88e5d1f7cd" + - "98db31ff36f70d9850cfefaef42abb00ecc39ed308bf4b8030cdc2b6b7e42f0e" + - "908030dd282f96edacc888b3a986e109c129998f89baa1b5da8970b07a6ab012" + - "f10264f23c315c9c8e0c164955c68517b6a4f982b2626db70787f869ac6d551b" + - "e34931627c7058e965c502e18d2cd370e6db3b70d947d61aa9717cf8394f48c6" + - "3c796f3a154950846badb28b70d982f29bc670254e3e5e0f8e36b0a5f6da0a04" + - "6b235ed6a42988c012bde74d879fa8eb5d59f5f40ed5e76601c9847b3edb2690"); - - byte[] outFFFF0000 = Hex.decode( - "26c54b1f8c4e3fc582e9e8180f7aba5380463dcf58b03cbeda0ecc8ba90ccff8" + - "5bd50896313d7efed44015faeac6964b241a7fb8a2e37127a7cbea0fd7c020f2" + - "406371b87ef5185089504751e5e44352eff63e00e5c28f5dff0616a9a3a00f1f" + - "4a1350e3a17be9abddfc2c94571450a0dc4c3c0c7c7f98e80c95f607d50c676a" + - "9a3006f9d279a79a4d66b2ab0c52930c9ee84bc09895e70fa041b1a3a2966f11" + - "6a47fd09705124b1f5c7ae055e54536e66584b1608f3612d81b72f109a385831" + - "121945b207b90ac72437a248f27a121c2801f4153a8699fb047e193f7ba69e1b" + - "b117869675d4c963e6070c2ca3d332ce830cb5e3d9ed2eee7faf0acc20fbe154" + - "188ae789e95bd5c1f459dbd150aab6eb833170257084bc5d44e9df09f5624f9d" + - "afecd0c9340ac8587f8625d343f7efd1cc8abcf7a6f90eabd4e8e2d906278d6e" + - "431fcade165c8c467887fbf5c26d341557b064b98c60dd40ab262dc046d69647" + - "56f3ddc1a07ae5f87be878b9334fcde40add68d2ca1dc05fb1670f998c7c4607" + - "9a6e48bdb330ad8d30b61b5cc8dc156f5733905931949783f89ac396b65aa4b8" + - "51f746b53ed8ea66130e1d75e8eab136e60450e3e600226bc8e17d03744ce94c" + - "0eec9234fea5f18eef65d81f2f10cfbc0b112b8cde17c32eb33ed81d7356eac3" + - "eb1cb9cefa6604c2d707949b6e5a83e60705bf6aae76dcc7d35d68ff149c1ac5" + - "424bb4a39e2f496f886637fce3db4ba4ad12c1a32d25e1606f6635ff636486f6" + - "714997b45477f38813c02afce4bebf196b813332f0decd567c745f441e736364"); - - byte[] out0000FFFF = Hex.decode( - "bc31712f2a2f467a5abc737c57ce0f8d49d2f775eb850fc8f856daf19310fee2"+ - "5bab40e78403c9ef4ccd971418992faf4e85ca643fa6b482f30c4659066158a6"+ - "5bc3e620ba7ea5c34dd0eac5aabb2cf078d915fd1f8c437ed00423076c10f701"+ - "eefa7fc7c461aca5db8a87be29d925c4212d4adcfa71ff5b06af15c048aa0dfd"+ - "f0e645bc09fea200c430a88eb38c466ff358b836f1159656a078f6fc752f6db1"+ - "6680bb30fc771a6a785bbb2298e947d7b3500e557775962248bedf4e82c16e66"+ - "f39283ccb95e5399061056a11c4a280f00f7487888199487905273c7aa13012b"+ - "4849eca626cbf071c782e084f9fded57de92313e5f61a6e81117fb1115eff275"+ - "66fd5c755bb3b01bba69aeb8f1b1b1cc9709734be31b35bc707d372ba6fe70d1"+ - "e2c3b0e5e74a7058faff6b11d3a168f19fecc9fcb36b3e6a5f828c01c22ac0c2"+ - "5da2a3a9eec7e0ebbbf51472e430ed4cf1c7ab57ef9aea511e40250846d260b6"+ - "17a3fdeba16cf4afaf700144d3296b58b22a3c79ed96f3e2fc8d9e3c660ae153"+ - "8e0c285ccdc48b59117e80413bd0ad24c6a8d4f133fe1496f14351bb89904fa5"+ - "e10c4b8d50e0604578389c336a9ab3d292beb90ce640fc028e697cf54e021e2f"+ - "c0ca3fe0471fde5e5462f221739a74f5a13ae0621fe2a82e752bc294f63de48d"+ - "e85430af71307a30441b861ab5380e6a6dbe1251c9baa567da14e38e5a0ccddf"+ - "0127205c38fc3b77065e98101d219246103438d223ec7f8f533d4bb3a3d3407a"+ - "944910f11e8e5492e86de7a0471250eca32f0838b3db02fffe71898712af3261"); - - public String getName() - { - return "ISAAC"; - } - - public void performTest() - { - ISAACEngine engine = new ISAACEngine(); - - doTest(engine, Hex.decode("00000000"), out); - doTest(engine, Hex.decode("ffffffff"), outFFFFFFFF); - - byte[] k = new byte[256 * 4]; - for (int i = 0; i != k.length; i++) - { - k[i] = (byte)((i % 4 == 0 || i % 4 == 1) ? 0xff : 0x00); - } - doTest(engine, k, outFFFF0000); - k = new byte[256 * 4]; - for (int i = 0; i != k.length; i++) - { - k[i] = (byte)((i % 4 == 2 || i % 4 == 3) ? 0xff : 0x00); - } - doTest(engine, k, out0000FFFF); - } - - private void doTest(ISAACEngine engine, byte[] key, byte[] output) - { - byte[] in = new byte[output.length]; - byte[] enc = new byte[output.length]; - engine.init(true, new KeyParameter(key)); - engine.processBytes(in, 0, in.length, enc, 0); - if (!areEqual(enc, output)) - { - fail("ciphertext mismatch"); - } - engine.init(false, new KeyParameter(key)); - engine.processBytes(enc, 0, enc.length, enc, 0); - if (!areEqual(enc, in)) - { - fail("plaintext mismatch"); - } - } - - public static void main( - String[] args) - { - runTest(new ISAACTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9796Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9796Test.java deleted file mode 100644 index 109696bc1..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9796Test.java +++ /dev/null @@ -1,972 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.RIPEMD128Digest; -import org.spongycastle.crypto.digests.RIPEMD160Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.encodings.ISO9796d1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.ParametersWithSalt; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.signers.ISO9796d2PSSSigner; -import org.spongycastle.crypto.signers.ISO9796d2Signer; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * test vectors from ISO 9796-1 and ISO 9796-2 edition 1. - */ -public class ISO9796Test - extends SimpleTest -{ - static BigInteger mod1 = new BigInteger("0100000000000000000000000000000000bba2d15dbb303c8a21c5ebbcbae52b7125087920dd7cdf358ea119fd66fb064012ec8ce692f0a0b8e8321b041acd40b7", 16); - - static BigInteger pub1 = new BigInteger("03", 16); - - static BigInteger pri1 = new BigInteger("2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac9f0783a49dd5f6c5af651f4c9d0dc9281c96a3f16a85f9572d7cc3f2d0f25a9dbf1149e4cdc32273faadd3fda5dcda7", 16); - - static BigInteger mod2 = new BigInteger("ffffff7fa27087c35ebead78412d2bdffe0301edd494df13458974ea89b364708f7d0f5a00a50779ddf9f7d4cb80b8891324da251a860c4ec9ef288104b3858d", 16); - - static BigInteger pub2 = new BigInteger("03", 16); - - static BigInteger pri2 = new BigInteger("2aaaaa9545bd6bf5e51fc7940adcdca5550080524e18cfd88b96e8d1c19de6121b13fac0eb0495d47928e047724d91d1740f6968457ce53ec8e24c9362ce84b5", 16); - - static byte msg1[] = Hex.decode("0cbbaa99887766554433221100"); - - // - // you'll need to see the ISO 9796 to make sense of this - // - static byte sig1[] = mod1.subtract(new BigInteger("309f873d8ded8379490f6097eaafdabc137d3ebfd8f25ab5f138d56a719cdc526bdd022ea65dabab920a81013a85d092e04d3e421caab717c90d89ea45a8d23a", 16)).toByteArray(); - - static byte msg2[] = Hex.decode("fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210"); - - static byte sig2[] = new BigInteger("319bb9becb49f3ed1bca26d0fcf09b0b0a508e4d0bd43b350f959b72cd25b3af47d608fdcd248eada74fbe19990dbeb9bf0da4b4e1200243a14e5cab3f7e610c", 16).toByteArray(); - - static byte msg3[] = Hex.decode("0112233445566778899aabbccd"); - - static byte sig3[] = mod2.subtract(new BigInteger("58e59ffb4b1fb1bcdbf8d1fe9afa3730c78a318a1134f5791b7313d480ff07ac319b068edf8f212945cb09cf33df30ace54f4a063fcca0b732f4b662dc4e2454", 16)).toByteArray(); - - // - // ISO 9796-2 - // - static BigInteger mod3 = new BigInteger("ffffffff78f6c55506c59785e871211ee120b0b5dd644aa796d82413a47b24573f1be5745b5cd9950f6b389b52350d4e01e90009669a8720bf265a2865994190a661dea3c7828e2e7ca1b19651adc2d5", 16); - - static BigInteger pub3 = new BigInteger("03", 16); - - static BigInteger pri3 = new BigInteger("2aaaaaaa942920e38120ee965168302fd0301d73a4e60c7143ceb0adf0bf30b9352f50e8b9e4ceedd65343b2179005b2f099915e4b0c37e41314bb0821ad8330d23cba7f589e0f129b04c46b67dfce9d", 16); - - static BigInteger mod4 = new BigInteger("FFFFFFFF45f1903ebb83d4d363f70dc647b839f2a84e119b8830b2dec424a1ce0c9fd667966b81407e89278283f27ca8857d40979407fc6da4cc8a20ecb4b8913b5813332409bc1f391a94c9c328dfe46695daf922259174544e2bfbe45cc5cd", 16); - static BigInteger pub4 = new BigInteger("02", 16); - static BigInteger pri4 = new BigInteger("1fffffffe8be3207d7707a9a6c7ee1b8c8f7073e5509c2337106165bd8849439c193faccf2cd70280fd124f0507e4f94cb66447680c6b87b6599d1b61c8f3600854a618262e9c1cb1438e485e47437be036d94b906087a61ee74ab0d9a1accd8", 16); - - static byte msg4[] = Hex.decode("6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071"); - static byte sig4[] = Hex.decode("374695b7ee8b273925b4656cc2e008d41463996534aa5aa5afe72a52ffd84e118085f8558f36631471d043ad342de268b94b080bee18a068c10965f581e7f32899ad378835477064abed8ef3bd530fce"); - - static byte msg5[] = Hex.decode("fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210"); - static byte sig5[] = Hex.decode("5cf9a01854dbacaec83aae8efc563d74538192e95466babacd361d7c86000fe42dcb4581e48e4feb862d04698da9203b1803b262105104d510b365ee9c660857ba1c001aa57abfd1c8de92e47c275cae"); - - // - // scheme 2 data - // - static BigInteger mod6 = new BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16); - static BigInteger pub6 = new BigInteger("11", 16); - static BigInteger pri6 = new BigInteger("92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619", 16); - - static byte sig6[] = new BigInteger("0073FEAF13EB12914A43FE635022BB4AB8188A8F3ABD8D8A9E4AD6C355EE920359C7F237AE36B1212FE947F676C68FE362247D27D1F298CA9302EB21F4A64C26CE44471EF8C0DFE1A54606F0BA8E63E87CDACA993BFA62973B567473B4D38FAE73AB228600934A9CC1D3263E632E21FD52D2B95C5F7023DA63DE9509C01F6C7BBC", 16).modPow(pri6, mod6).toByteArray(); - - static byte msg7[] = Hex.decode("6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F70716F70717270717273"); - static byte sig7[] = new BigInteger("296B06224010E1EC230D4560A5F88F03550AAFCE31C805CE81E811E5E53E5F71AE64FC2A2A486B193E87972D90C54B807A862F21A21919A43ECF067240A8C8C641DE8DCDF1942CF790D136728FFC0D98FB906E7939C1EC0E64C0E067F0A7443D6170E411DF91F797D1FFD74009C4638462E69D5923E7433AEC028B9A90E633CC", 16).modPow(pri6, mod6).toByteArray(); - - static byte msg8[] = Hex.decode("FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"); - static byte sig8[] = new BigInteger("01402B29ABA104079677CE7FC3D5A84DB24494D6F9508B4596484F5B3CC7E8AFCC4DDE7081F21CAE9D4F94D6D2CCCB43FCEDA0988FFD4EF2EAE72CFDEB4A2638F0A34A0C49664CD9DB723315759D758836C8BA26AC4348B66958AC94AE0B5A75195B57ABFB9971E21337A4B517F2E820B81F26BCE7C66F48A2DB12A8F3D731CC", 16).modPow(pri6, mod6).toByteArray(); - - static byte msg9[] = Hex.decode("6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F70716F707172707172737172737472737475737475767475767775767778767778797778797A78797A61797A61627A6162636162636462636465"); - static byte sig9[] = new BigInteger("6F2BB97571FE2EF205B66000E9DD06656655C1977F374E8666D636556A5FEEEEAF645555B25F45567C4EE5341F96FED86508C90A9E3F11B26E8D496139ED3E55ECE42860A6FB3A0817DAFBF13019D93E1D382DA07264FE99D9797D2F0B7779357CA7E74EE440D8855B7DDF15F000AC58EE3FFF144845E771907C0C83324A6FBC", 16).modPow(pri6, mod6).toByteArray(); - - public String getName() - { - return "ISO9796"; - } - - private boolean isSameAs( - byte[] a, - int off, - byte[] b) - { - if ((a.length - off) != b.length) - { - return false; - } - - for (int i = 0; i != b.length; i++) - { - if (a[i + off] != b[i]) - { - return false; - } - } - - return true; - } - - private boolean startsWith( - byte[] a, - byte[] b) - { - if (a.length < b.length) - { - return false; - } - - for (int i = 0; i != b.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - private void doTest1() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod1, pub1); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod1, pri1); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-1 - public encrypt, private decrypt - // - ISO9796d1Encoding eng = new ISO9796d1Encoding(rsa); - - eng.init(true, privParameters); - - eng.setPadBits(4); - - data = eng.processBlock(msg1, 0, msg1.length); - - eng.init(false, pubParameters); - - if (!areEqual(sig1, data)) - { - fail("failed ISO9796-1 generation Test 1"); - } - - data = eng.processBlock(data, 0, data.length); - - if (!areEqual(msg1, data)) - { - fail("failed ISO9796-1 retrieve Test 1"); - } - } - - private void doTest2() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod1, pub1); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod1, pri1); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-1 - public encrypt, private decrypt - // - ISO9796d1Encoding eng = new ISO9796d1Encoding(rsa); - - eng.init(true, privParameters); - - data = eng.processBlock(msg2, 0, msg2.length); - - eng.init(false, pubParameters); - - if (!isSameAs(data, 1, sig2)) - { - fail("failed ISO9796-1 generation Test 2"); - } - - data = eng.processBlock(data, 0, data.length); - - - if (!areEqual(msg2, data)) - { - fail("failed ISO9796-1 retrieve Test 2"); - } - } - - public void doTest3() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod2, pub2); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod2, pri2); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-1 - public encrypt, private decrypt - // - ISO9796d1Encoding eng = new ISO9796d1Encoding(rsa); - - eng.init(true, privParameters); - - eng.setPadBits(4); - - data = eng.processBlock(msg3, 0, msg3.length); - - eng.init(false, pubParameters); - - if (!isSameAs(sig3, 1, data)) - { - fail("failed ISO9796-1 generation Test 3"); - } - - data = eng.processBlock(data, 0, data.length); - - if (!isSameAs(msg3, 0, data)) - { - fail("failed ISO9796-1 retrieve Test 3"); - } - } - - public void doTest4() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod3, pub3); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod3, pri3); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - Signing - // - ISO9796d2Signer eng = new ISO9796d2Signer(rsa, new RIPEMD128Digest()); - - eng.init(true, privParameters); - - eng.update(msg4[0]); - eng.update(msg4, 1, msg4.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig4, 0, data)) - { - fail("failed ISO9796-2 generation Test 4"); - } - - eng.update(msg4[0]); - eng.update(msg4, 1, msg4.length - 1); - - if (!eng.verifySignature(sig4)) - { - fail("failed ISO9796-2 verify Test 4"); - } - - if (eng.hasFullMessage()) - { - eng = new ISO9796d2Signer(rsa, new RIPEMD128Digest()); - - eng.init(false, pubParameters); - - if (!eng.verifySignature(sig4)) - { - fail("failed ISO9796-2 verify and recover Test 4"); - } - - if (!isSameAs(eng.getRecoveredMessage(), 0, msg4)) - { - fail("failed ISO9796-2 recovered message Test 4"); - } - - // try update with recovered - eng.updateWithRecoveredMessage(sig4); - - if (!isSameAs(eng.getRecoveredMessage(), 0, msg4)) - { - fail("failed ISO9796-2 updateWithRecovered recovered message Test 4"); - } - - if (!eng.verifySignature(sig4)) - { - fail("failed ISO9796-2 updateWithRecovered verify and recover Test 4"); - } - - if (!isSameAs(eng.getRecoveredMessage(), 0, msg4)) - { - fail("failed ISO9796-2 updateWithRecovered recovered verify message Test 4"); - } - - // should fail - eng.updateWithRecoveredMessage(sig4); - - eng.update(msg4, 0, msg4.length); - - if (eng.verifySignature(sig4)) - { - fail("failed ISO9796-2 updateWithRecovered verify and recover Test 4"); - } - } - else - { - fail("full message flag false - Test 4"); - } - } - - public void doTest5() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod3, pub3); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod3, pri3); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - Signing - // - ISO9796d2Signer eng = new ISO9796d2Signer(rsa, new RIPEMD160Digest(), true); - - eng.init(true, privParameters); - - eng.update(msg5[0]); - eng.update(msg5, 1, msg5.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig5, 0, data)) - { - fail("failed ISO9796-2 generation Test 5"); - } - - eng.update(msg5[0]); - eng.update(msg5, 1, msg5.length - 1); - - if (!eng.verifySignature(sig5)) - { - fail("failed ISO9796-2 verify Test 5"); - } - - if (eng.hasFullMessage()) - { - fail("fullMessage true - Test 5"); - } - - if (!startsWith(msg5, eng.getRecoveredMessage())) - { - fail("failed ISO9796-2 partial recovered message Test 5"); - } - - int length = eng.getRecoveredMessage().length; - - if (length >= msg5.length) - { - fail("Test 5 recovered message too long"); - } - - eng = new ISO9796d2Signer(rsa, new RIPEMD160Digest(), true); - - eng.init(false, pubParameters); - - eng.updateWithRecoveredMessage(sig5); - - if (!startsWith(msg5, eng.getRecoveredMessage())) - { - fail("failed ISO9796-2 updateWithRecovered partial recovered message Test 5"); - } - - if (eng.hasFullMessage()) - { - fail("fullMessage updateWithRecovered true - Test 5"); - } - - for (int i = length; i != msg5.length; i++) - { - eng.update(msg5[i]); - } - - if (!eng.verifySignature(sig5)) - { - fail("failed ISO9796-2 verify Test 5"); - } - - if (eng.hasFullMessage()) - { - fail("fullMessage updateWithRecovered true - Test 5"); - } - - // should fail - eng.updateWithRecoveredMessage(sig5); - - eng.update(msg5, 0, msg5.length); - - if (eng.verifySignature(sig5)) - { - fail("failed ISO9796-2 updateWithRecovered verify fail Test 5"); - } - } - - // - // against a zero length string - // - - public void doTest6() - throws Exception - { - byte[] salt = Hex.decode("61DF870C4890FE85D6E3DD87C3DCE3723F91DB49"); - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod6, pub6); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod6, pri6); - ParametersWithSalt sigParameters = new ParametersWithSalt(privParameters, salt); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - PSS Signing - // - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, new RIPEMD160Digest(), 20, true); - - eng.init(true, sigParameters); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig6, 1, data)) - { - fail("failed ISO9796-2 generation Test 6"); - } - - if (!eng.verifySignature(data)) - { - fail("failed ISO9796-2 verify Test 6"); - } - } - - public void doTest7() - throws Exception - { - byte[] salt = new byte[0]; - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod6, pub6); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod6, pri6); - ParametersWithSalt sigParameters = new ParametersWithSalt(privParameters, salt); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - PSS Signing - // - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, new SHA1Digest(), 0, false); - - eng.init(true, sigParameters); - - eng.update(msg7[0]); - eng.update(msg7, 1, msg7.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig7, 0, data)) - { - fail("failed ISO9796-2 generation Test 7"); - } - - eng.update(msg7[0]); - eng.update(msg7, 1, msg7.length - 1); - - if (!eng.verifySignature(sig7)) - { - fail("failed ISO9796-2 verify Test 7"); - } - - if (!isSameAs(msg7, 0, eng.getRecoveredMessage())) - { - fail("failed ISO9796-2 recovery Test 7"); - } - } - - public void doTest8() - throws Exception - { - byte[] salt = Hex.decode("78E293203CBA1B7F92F05F4D171FF8CA3E738FF8"); - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod6, pub6); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod6, pri6); - ParametersWithSalt sigParameters = new ParametersWithSalt(privParameters, salt); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - PSS Signing - // - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, new RIPEMD160Digest(), 20, false); - - eng.init(true, sigParameters); - - eng.update(msg8[0]); - eng.update(msg8, 1, msg8.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig8, 0, data)) - { - fail("failed ISO9796-2 generation Test 8"); - } - - eng.update(msg8[0]); - eng.update(msg8, 1, msg8.length - 1); - - if (!eng.verifySignature(sig8)) - { - fail("failed ISO9796-2 verify Test 8"); - } - } - - public void doTest9() - throws Exception - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod6, pub6); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod6, pri6); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - PSS Signing - // - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, new RIPEMD160Digest(), 0, true); - - eng.init(true, privParameters); - - eng.update(msg9[0]); - eng.update(msg9, 1, msg9.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - if (!isSameAs(sig9, 0, data)) - { - fail("failed ISO9796-2 generation Test 9"); - } - - eng.update(msg9[0]); - eng.update(msg9, 1, msg9.length - 1); - - if (!eng.verifySignature(sig9)) - { - fail("failed ISO9796-2 verify Test 9"); - } - } - - public void doTest10() - throws Exception - { - BigInteger mod = new BigInteger("B3ABE6D91A4020920F8B3847764ECB34C4EB64151A96FDE7B614DC986C810FF2FD73575BDF8532C06004C8B4C8B64F700A50AEC68C0701ED10E8D211A4EA554D", 16); - BigInteger pubExp = new BigInteger("65537", 10); - BigInteger priExp = new BigInteger("AEE76AE4716F77C5782838F328327012C097BD67E5E892E75C1356E372CCF8EE1AA2D2CBDFB4DA19F703743F7C0BA42B2D69202BA7338C294D1F8B6A5771FF41", 16); - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod, priExp); - RSAEngine rsa = new RSAEngine(); - byte[] data; - - // - // ISO 9796-2 - PSS Signing - // - Digest dig = new SHA1Digest(); - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, dig, dig.getDigestSize()); - - // - // as the padding is random this test needs to repeat a few times to - // make sure - // - for (int i = 0; i != 500; i++) - { - eng.init(true, privParameters); - - eng.update(msg9[0]); - eng.update(msg9, 1, msg9.length - 1); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - eng.update(msg9[0]); - eng.update(msg9, 1, msg9.length - 1); - - if (!eng.verifySignature(data)) - { - fail("failed ISO9796-2 verify Test 10"); - } - } - } - - public void doTest11() - throws Exception - { - BigInteger mod = new BigInteger("B3ABE6D91A4020920F8B3847764ECB34C4EB64151A96FDE7B614DC986C810FF2FD73575BDF8532C06004C8B4C8B64F700A50AEC68C0701ED10E8D211A4EA554D", 16); - BigInteger pubExp = new BigInteger("65537", 10); - BigInteger priExp = new BigInteger("AEE76AE4716F77C5782838F328327012C097BD67E5E892E75C1356E372CCF8EE1AA2D2CBDFB4DA19F703743F7C0BA42B2D69202BA7338C294D1F8B6A5771FF41", 16); - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod, priExp); - RSAEngine rsa = new RSAEngine(); - byte[] data; - byte[] m1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}; - byte[] m2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; - byte[] m3 = {1, 2, 3, 4, 5, 6, 7, 8}; - - // - // ISO 9796-2 - PSS Signing - // - Digest dig = new SHA1Digest(); - ISO9796d2PSSSigner eng = new ISO9796d2PSSSigner(rsa, dig, dig.getDigestSize()); - - // - // check message bounds - // - eng.init(true, privParameters); - - eng.update(m1, 0, m1.length); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - eng.update(m2, 0, m2.length); - - if (eng.verifySignature(data)) - { - fail("failed ISO9796-2 m2 verify Test 11"); - } - - eng.init(false, pubParameters); - - eng.update(m3, 0, m3.length); - - if (eng.verifySignature(data)) - { - fail("failed ISO9796-2 m3 verify Test 11"); - } - - eng.init(false, pubParameters); - - eng.update(m1, 0, m1.length); - - if (!eng.verifySignature(data)) - { - fail("failed ISO9796-2 verify Test 11"); - } - } - - public void doTest12() - throws Exception - { - BigInteger mod = new BigInteger("B3ABE6D91A4020920F8B3847764ECB34C4EB64151A96FDE7B614DC986C810FF2FD73575BDF8532C06004C8B4C8B64F700A50AEC68C0701ED10E8D211A4EA554D", 16); - BigInteger pubExp = new BigInteger("65537", 10); - BigInteger priExp = new BigInteger("AEE76AE4716F77C5782838F328327012C097BD67E5E892E75C1356E372CCF8EE1AA2D2CBDFB4DA19F703743F7C0BA42B2D69202BA7338C294D1F8B6A5771FF41", 16); - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAKeyParameters(true, mod, priExp); - RSAEngine rsa = new RSAEngine(); - byte[] data; - byte[] m1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}; - byte[] m2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; - byte[] m3 = {1, 2, 3, 4, 5, 6, 7, 8}; - - // - // ISO 9796-2 - Signing - // - Digest dig = new SHA1Digest(); - ISO9796d2Signer eng = new ISO9796d2Signer(rsa, dig); - - // - // check message bounds - // - eng.init(true, privParameters); - - eng.update(m1, 0, m1.length); - - data = eng.generateSignature(); - - eng.init(false, pubParameters); - - eng.update(m2, 0, m2.length); - - if (eng.verifySignature(data)) - { - fail("failed ISO9796-2 m2 verify Test 12"); - } - - eng.init(false, pubParameters); - - eng.update(m3, 0, m3.length); - - if (eng.verifySignature(data)) - { - fail("failed ISO9796-2 m3 verify Test 12"); - } - - eng.init(false, pubParameters); - - eng.update(m1, 0, m1.length); - - if (!eng.verifySignature(data)) - { - fail("failed ISO9796-2 verify Test 12"); - } - } - - private void doTest13() - throws Exception - { - BigInteger modulus = new BigInteger(1, Hex.decode("CDCBDABBF93BE8E8294E32B055256BBD0397735189BF75816341BB0D488D05D627991221DF7D59835C76A4BB4808ADEEB779E7794504E956ADC2A661B46904CDC71337DD29DDDD454124EF79CFDD7BC2C21952573CEFBA485CC38C6BD2428809B5A31A898A6B5648CAA4ED678D9743B589134B7187478996300EDBA16271A861")); - BigInteger pubExp = new BigInteger(1, Hex.decode("010001")); - BigInteger privExp = new BigInteger(1, Hex.decode("4BA6432AD42C74AA5AFCB6DF60FD57846CBC909489994ABD9C59FE439CC6D23D6DE2F3EA65B8335E796FD7904CA37C248367997257AFBD82B26F1A30525C447A236C65E6ADE43ECAAF7283584B2570FA07B340D9C9380D88EAACFFAEEFE7F472DBC9735C3FF3A3211E8A6BBFD94456B6A33C17A2C4EC18CE6335150548ED126D")); - - RSAKeyParameters pubParams = new RSAKeyParameters(false, modulus, pubExp); - RSAKeyParameters privParams = new RSAKeyParameters(true, modulus, privExp); - - AsymmetricBlockCipher rsaEngine = new RSABlindedEngine(); - Digest digest = new SHA256Digest(); - - // set challenge to all zero's for verification - byte[] challenge = new byte[8]; - - // DOES NOT USE FINAL BOOLEAN TO INDICATE RECOVERY - ISO9796d2Signer signer = new ISO9796d2Signer(rsaEngine, digest, false); - - // sign - signer.init(true, privParams); - signer.update(challenge, 0, challenge.length); - - byte[] sig = signer.generateSignature(); - - // verify - signer.init(false, pubParams); - signer.update(challenge, 0, challenge.length); - - if (!signer.verifySignature(sig)) - { - fail("basic verification failed"); - } - - // === LETS ACTUALLY DO SOME RECOVERY, USING INPUT FROM INTERNAL AUTHENTICATE === - - signer.reset(); - - final String args0 = "482E20D1EDDED34359C38F5E7C01203F9D6B2641CDCA5C404D49ADAEDE034C7481D781D043722587761C90468DE69C6585A1E8B9C322F90E1B580EEDAB3F6007D0C366CF92B4DB8B41C8314929DCE2BE889C0129123484D2FD3D12763D2EBFD12AC8E51D7061AFCA1A53DEDEC7B9A617472A78C952CCC72467AE008E5F132994"; - - digest = new SHA1Digest(); - - signer = new ISO9796d2Signer(rsaEngine, digest, true); - - - signer.init(false, pubParams); - final byte[] signature = Hex.decode(args0); - signer.updateWithRecoveredMessage(signature); - signer.update(challenge, 0, challenge.length); - - if (!signer.verifySignature(signature)) - { - fail("recovered + challenge signature failed"); - } - - // === FINALLY, USING SHA-256 === - - signer.reset(); - - digest = new SHA256Digest(); - - // NOTE setting implit to false does not actually do anything for verification !!! - signer = new ISO9796d2Signer(rsaEngine, digest, false); - - - signer.init(true, privParams); - // generate NONCE of correct length using some inner knowledge - int nonceLength = modulus.bitLength() / 8 - 1 - digest.getDigestSize() - 2; - final byte[] nonce = new byte[nonceLength]; - SecureRandom rnd = new SecureRandom(); - - rnd.nextBytes(nonce); - - signer.update(nonce, 0, nonce.length); - signer.update(challenge, 0, challenge.length); - byte[] sig3 = signer.generateSignature(); - - signer.init(false, pubParams); - signer.updateWithRecoveredMessage(sig3); - signer.update(challenge, 0, challenge.length); - if (signer.verifySignature(sig3)) - { - if (signer.hasFullMessage()) - { - fail("signer indicates full message"); - } - byte[] recoverableMessage = signer.getRecoveredMessage(); - - // sanity check, normally the nonce is ignored in eMRTD specs (PKI Technical Report) - if (!Arrays.areEqual(nonce, recoverableMessage)) - { - fail("Nonce compare with recoverable part of message failed"); - } - } - else - { - fail("recoverable + nonce failed."); - } - } - - private static final byte[] longMessage = Base64.decode( - "VVNIKzErU0U2ODAxNTMyOTcxOSsyKzErNisyKzErMTo6OTk5OTk5OTk5OTk5" - + "OTo6OSsyOjo3Nzc3Nzc3Nzc3Nzc3Ojo5Kys1OjIwMTMwNDA1OjExMzUyMCdV" - + "U0ErMTo6OjE2OjEnVVNDKzRmYjk3YzFhNDI5ZGIyZDYnVVNBKzY6MTY6MTox" - + "MDoxKzE0OjIwNDgrMTI6/vn3S0h96eNhfmPN6OZUxXhd815h0tP871Hl+V1r" - + "fHHUXvrPXmjHV0vdb8fYY1zxwvnQUcFBWXT43PFi7Xbow0/9e9l6/mhs1UJq" - + "VPvp+ELbeXfn4Nj02ttk0e3H5Hfa69NYRuHv1WBO6lfizNnM9m9XYmh9TOrg" - + "f9rDRtd+ZNbf4lz9fPTt9OXyxOJWRPr/0FLzxUVsddplfHxM3ndETFD7ffjI" - + "/mhRYuL8WXZ733LeWFRCeOzKzmDz/HvT3GZx/XJMbFpqyOZjedzh6vZr1vrD" - + "615TQfN7wtJJ29bN2Hvzb2f1xGHaXl7af0/w9dpR2dr7/HzuZEJKYc7JSkv4" - + "/k37yERIbcrfbVTeVtR+dcVoeeRT41fmzMfzf8RnWOX4YMNifl0rMTM68EFA" - + "QSdCR00rMzgwKzk5OTk5OTk5J0RUTSsxMzc6MjAxMzA0MDU6MTAyJ0ZUWCtB" - + "QUkrKytJTlZPSUNFIFRFU1QnUkZGK09OOjEyMzQ1NidSRkYrRFE6MjIyMjIy" - + "MjIyJ0RUTSsxNzE6MjAxMzA0MDE6MTAyJ05BRCtTVSs5OTk5OTk5OTk5OTk5" - + "Ojo5KytURVNUIFNVUFBMSUVSOjpUcmFzZSByZWdpc3RlciBYWFhYWFhYK1Rl" - + "c3QgYWRkcmVzcyBzdXBwbGllcitDaXR5KysxMjM0NStERSdSRkYrVkE6QTEy" - + "MzQ1Njc4J05BRCtTQ08rOTk5OTk5OTk5OTk5OTo6OSsrVEVTVCBTVVBQTElF" - + "Ujo6VHJhc2UgcmVnaXN0ZXIgWFhYWFhYWCtUZXN0IGFkZHJlc3Mgc3VwcGxp" - + "ZXIrQ2l0eSsrMTIzNDUrREUnUkZGK1ZBOkExMjM0NTY3OCdOQUQrQlkrODg4" - + "ODg4ODg4ODg4ODo6OSdOQUQrSVYrNzc3Nzc3Nzc3Nzc3Nzo6OSsrVEVTVCBC" - + "VVlFUitUZXN0IGFkZHJlc3MgYnV5ZXIrQ2l0eTIrKzU0MzIxK0RFJ1JGRitW" - + "QTpKODc2NTQzMjEnTkFEK0JDTys3Nzc3Nzc3Nzc3Nzc3Ojo5KytURVNUIEJV" - + "WUVSK1Rlc3QgYWRkcmVzcyBidXllcitDaXR5MisrNTQzMjErREUnUkZGK1ZB" - + "Oko4NzY1NDMyMSdOQUQrRFArODg4ODg4ODg4ODg4ODo6OSdOQUQrUFIrNzc3" - + "Nzc3Nzc3Nzc3Nzo6OSdDVVgrMjpFVVI6NCdQQVQrMzUnRFRNKzEzOjIwMTMw" - + "NjI0OjEwMidMSU4rMSsrMTExMTExMTExMTExMTpFTidQSUErMStBQUFBQUFB" - + "OlNBJ0lNRCtGK00rOjo6UFJPRFVDVCBURVNUIDEnUVRZKzQ3OjEwLjAwMCdN" - + "T0ErNjY6Ny4wMCdQUkkrQUFCOjEuMDAnUFJJK0FBQTowLjcwJ1JGRitPTjox" - + "MjM0NTYnUkZGK0RROjIyMjIyMjIyMidUQVgrNytWQVQrKys6OjoyMS4wMDAn" - + "QUxDK0ErKysxK1REJ1BDRCsxOjMwLjAwMCdNT0ErMjA0OjMuMDAnTElOKzIr" - + "KzIyMjIyMjIyMjIyMjI6RU4nUElBKzErQkJCQkJCQjpTQSdJTUQrRitNKzo6" - + "OlBST0RVQ1QgVEVTVCAyJ1FUWSs0NzoyMC4wMDAnTU9BKzY2OjgwLjAwJ1BS" - + "SStBQUI6NS4wMCdQUkkrQUFBOjQuMDAnUkZGK09OOjEyMzQ1NidSRkYrRFE6" - + "MjIyMjIyMjIyJ1RBWCs3K1ZBVCsrKzo6OjIxLjAwMCdBTEMrQSsrKzErVEQn" - + "UENEKzE6MjAuMDAwJ01PQSsyMDQ6MjAuMDAnVU5TK1MnQ05UKzI6MidNT0Er" - + "Nzk6ODcuMDAnTU9BKzEzOToxMDUuMjcnTU9BKzEyNTo4Ny4wMCdNT0ErMjYw" - + "OjAuMDAnTU9BKzI1OTowLjAwJ01PQSsxNzY6MTguMjcnVEFYKzcrVkFUKysr" - + "Ojo6MjEuMDAwJ01PQSsxNzY6MTguMjcnTU9BKzEyNTo4Ny4wMCc="); - - private static final byte[] shortPartialSig = Base64.decode( - "sb8yyKk6HM1cJhICScMx7QRQunRyrZ1fbI42+T+TBGNjOknvzKuvG7aftGX7" - + "O/RXuYgk6LTxpXv7+O5noUhMBsR2PKaHveuylU1WSPmDxDCui3kp4frqVH0w" - + "8Vjpl5CsKqBsmKkbGCKE+smM0xFXhYxV8QUTB2XsWNCQiFiHPgwbpfWzZUNY" - + "QPWd0A99P64EuUIYz1tkkDnLFmwQ19/PJu1a8orIQInmkVYWSsBsZ/7Ks6lx" - + "nDHpAvgiRe+OXmJ/yuQy1O3FJYdyoqvjYRPBu3qYeBK9+9L3lExLilImH5aD" - + "nJznaXcO8QFOxVPbrF2s4GdPIMDonEyAHdrnzoghlg=="); - - private void doShortPartialTest() - throws Exception - { - byte[] recovered = Hex.decode("5553482b312b534536383031353332393731392b322b312b362b322b312b313a3a393939393939393939393939393a3a392b323a3a373737373737373737373737373a3a392b2b353a32303133303430353a313133"); - BigInteger exp = new BigInteger("10001", 16); - BigInteger mod = new BigInteger("b9b70b083da9e37e23cde8e654855db31e21d2d3fc11a5f91d2b3c311efa8f5e28c757dd6fc798631cb1b9d051c14119749cb122ad76e8c3fd7bd93abe282c026a14fba9f8023977a7a0d8b49a24d1ad87e4379a931846a1ef9520ea57e28c998cf65722683d0caaa0da8306973e2496a25cbd3cb4adb4b284e25604fabf12f385456c75da7c3c4cde37440cfb7db8c8fe6851e2bc59767b9f7218540238ac8acef3bc7bd3dc6671320c2c1a2ac8a6799ce1eaf62b9683ab1e1341b37b9249dbd6cd987b2f27b5c4619a1eda7f0fb0b59a519afbbc3cee640261cec90a4bb8fefbc844082dca9f549e56943e758579a453a357e6ccb37fc46718a5b8c3227e5d", 16); - - AsymmetricKeyParameter pubKey = new RSAKeyParameters(false, mod, exp); - - ISO9796d2PSSSigner pssSign = new ISO9796d2PSSSigner(new RSAEngine(), new SHA1Digest(), 20); - - pssSign.init(false, pubKey); - - pssSign.updateWithRecoveredMessage(shortPartialSig); - - pssSign.update(longMessage, pssSign.getRecoveredMessage().length, longMessage.length - pssSign.getRecoveredMessage().length); - - if (!pssSign.verifySignature(shortPartialSig)) - { - fail("short partial PSS sig verification failed."); - } - - byte[] mm = pssSign.getRecoveredMessage(); - - if (!Arrays.areEqual(recovered, mm)) - { - fail("short partial PSS recovery failed"); - } - } - - private void doFullMessageTest() - throws Exception - { - BigInteger modulus = new BigInteger(1, Hex.decode("CDCBDABBF93BE8E8294E32B055256BBD0397735189BF75816341BB0D488D05D627991221DF7D59835C76A4BB4808ADEEB779E7794504E956ADC2A661B46904CDC71337DD29DDDD454124EF79CFDD7BC2C21952573CEFBA485CC38C6BD2428809B5A31A898A6B5648CAA4ED678D9743B589134B7187478996300EDBA16271A861")); - BigInteger pubExp = new BigInteger(1, Hex.decode("010001")); - BigInteger privExp = new BigInteger(1, Hex.decode("4BA6432AD42C74AA5AFCB6DF60FD57846CBC909489994ABD9C59FE439CC6D23D6DE2F3EA65B8335E796FD7904CA37C248367997257AFBD82B26F1A30525C447A236C65E6ADE43ECAAF7283584B2570FA07B340D9C9380D88EAACFFAEEFE7F472DBC9735C3FF3A3211E8A6BBFD94456B6A33C17A2C4EC18CE6335150548ED126D")); - - RSAKeyParameters pubParams = new RSAKeyParameters(false, modulus, pubExp); - RSAKeyParameters privParams = new RSAKeyParameters(true, modulus, privExp); - - AsymmetricBlockCipher rsaEngine = new RSABlindedEngine(); - - // set challenge to all zero's for verification - byte[] challenge = new byte[8]; - - ISO9796d2PSSSigner pssSign = new ISO9796d2PSSSigner(new RSAEngine(), new SHA256Digest(), 20, true); - - pssSign.init(true, privParams); - - pssSign.update(challenge, 0, challenge.length); - - byte[] sig = pssSign.generateSignature(); - - pssSign.init(false, pubParams); - - pssSign.updateWithRecoveredMessage(sig); - - if (!pssSign.verifySignature(sig)) - { - fail("challenge PSS sig verification failed."); - } - - byte[] mm = pssSign.getRecoveredMessage(); - - if (!Arrays.areEqual(challenge, mm)) - { - fail("challenge partial PSS recovery failed"); - } - } - - public void performTest() - throws Exception - { - doTest1(); - doTest2(); - doTest3(); - doTest4(); - doTest5(); - doTest6(); - doTest7(); - doTest8(); - doTest9(); - doTest10(); - doTest11(); - doTest12(); - doTest13(); - doShortPartialTest(); - doFullMessageTest(); - } - - public static void main( - String[] args) - { - runTest(new ISO9796Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9797Alg3MacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9797Alg3MacTest.java deleted file mode 100644 index 1a2aee97d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ISO9797Alg3MacTest.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.macs.ISO9797Alg3Mac; -import org.spongycastle.crypto.paddings.ISO7816d4Padding; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class ISO9797Alg3MacTest - extends SimpleTest -{ - static byte[] keyBytes = Hex.decode("7CA110454A1A6E570131D9619DC1376E"); - - static byte[] input1 = "Hello World !!!!".getBytes(); - - static byte[] output1 = Hex.decode("F09B856213BAB83B"); - - public ISO9797Alg3MacTest() - { - } - - public void performTest() - { - KeyParameter key = new KeyParameter(keyBytes); - BlockCipher cipher = new DESEngine(); - Mac mac = new ISO9797Alg3Mac(cipher); - - // - // standard DAC - zero IV - // - mac.init(key); - - mac.update(input1, 0, input1.length); - - byte[] out = new byte[8]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output1)) - { - fail("Failed - expected " + new String(Hex.encode(output1)) + " got " + new String(Hex.encode(out))); - } - - // - // reset - // - mac.reset(); - - mac.init(key); - - for (int i = 0; i != input1.length / 2; i++) - { - mac.update(input1[i]); - } - - mac.update(input1, input1.length / 2, input1.length - (input1.length / 2)); - - mac.doFinal(out, 0); - - if (!areEqual(out, output1)) - { - fail("Reset failed - expected " + new String(Hex.encode(output1)) + " got " + new String(Hex.encode(out))); - } - - testMacWithIv(); - } - - private void testMacWithIv() - { - byte[] inputData = new byte[]{0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8}; - byte[] key = new byte[]{0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8}; - byte[] zeroIv = new byte[8]; - byte[] nonZeroIv = new byte[]{0x5, 0x6, 0x7, 0x8, 0x1, 0x2, 0x3, 0x4}; - - KeyParameter simpleParameter = new KeyParameter(key); - ParametersWithIV zeroIvParameter = new ParametersWithIV(new KeyParameter(key), zeroIv); - - ISO9797Alg3Mac mac1 = new ISO9797Alg3Mac(new DESEngine(), new ISO7816d4Padding()); - - // we calculate a reference MAC with a null IV - mac1.init(simpleParameter); - mac1.update(inputData, 0, inputData.length); - byte[] output1 = new byte[mac1.getMacSize()]; - mac1.doFinal(output1, 0); - - // we then check that passing a vector of 0s is the same as not using any IV - ISO9797Alg3Mac mac2 = new ISO9797Alg3Mac(new DESEngine(), new ISO7816d4Padding()); - mac2.init(zeroIvParameter); - mac2.update(inputData, 0, inputData.length); - byte[] output2 = new byte[mac2.getMacSize()]; - mac2.doFinal(output2, 0); - if (!Arrays.areEqual(output1, output2)) - { - fail("zero IV test failed"); - } - - // and then check that a non zero IV parameter produces a different results. - ParametersWithIV nonZeroIvParameter = new ParametersWithIV(new KeyParameter(key), nonZeroIv); - mac2 = new ISO9797Alg3Mac(new DESEngine(), new ISO7816d4Padding()); - mac2.init(nonZeroIvParameter); - mac2.update(inputData, 0, inputData.length); - output2 = new byte[mac2.getMacSize()]; - mac2.doFinal(output2, 0); - if (Arrays.areEqual(output1, output2)) - { - fail("non-zero IV test failed"); - } - } - - public String getName() - { - return "ISO9797Alg3Mac"; - } - - public static void main( - String[] args) - { - runTest(new ISO9797Alg3MacTest()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF1GeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF1GeneratorTest.java deleted file mode 100644 index 0671ef8b0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF1GeneratorTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.digests.ShortenedDigest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.generators.KDF1BytesGenerator; -import org.spongycastle.crypto.params.ISO18033KDFParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * KDF1 tests - vectors from ISO 18033. - */ -public class KDF1GeneratorTest - extends SimpleTest -{ - private byte[] seed1 = Hex.decode("d6e168c5f256a2dcff7ef12facd390f393c7a88d"); - private byte[] mask1 = Hex.decode( - "0742ba966813af75536bb6149cc44fc256fd6406df79665bc31dc5" - + "a62f70535e52c53015b9d37d412ff3c1193439599e1b628774c50d9c" - + "cb78d82c425e4521ee47b8c36a4bcffe8b8112a89312fc04420a39de" - + "99223890e74ce10378bc515a212b97b8a6447ba6a8870278"); - - private byte[] seed2 = Hex.decode( - "032e45326fa859a72ec235acff929b15d1372e30b207255f0611b8f785d7643741" - + "52e0ac009e509e7ba30cd2f1778e113b64e135cf4e2292c75efe5288edfda4"); - private byte[] mask2 = Hex.decode( - "5f8de105b5e96b2e490ddecbd147dd1def7e3b8e0e6a26eb7b956ccb8b3bdc1ca9" - + "75bc57c3989e8fbad31a224655d800c46954840ff32052cdf0d640562bdfadfa263c" - + "fccf3c52b29f2af4a1869959bc77f854cf15bd7a25192985a842dbff8e13efee5b7e" - + "7e55bbe4d389647c686a9a9ab3fb889b2d7767d3837eea4e0a2f04"); - - private byte[] seed3 = seed2; - private byte[] mask3= Hex.decode( - "09e2decf2a6e1666c2f6071ff4298305e2643fd510a2403db42a8743cb989de86e" - + "668d168cbe604611ac179f819a3d18412e9eb45668f2923c087c12fee0c5a0d2a8aa" - + "70185401fbbd99379ec76c663e875a60b4aacb1319fa11c3365a8b79a44669f26fb5" - + "55c80391847b05eca1cb5cf8c2d531448d33fbaca19f6410ee1fcb"); - - - public KDF1GeneratorTest() - { - } - - public void performTest() - { - checkMask(1, new KDF1BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed1, mask1); - checkMask(2, new KDF1BytesGenerator(new SHA1Digest()), seed2, mask2); - checkMask(3, new KDF1BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed3, mask3); - - try - { - new KDF1BytesGenerator(new SHA1Digest()).generateBytes(new byte[10], 0, 20); - - fail("short input array not caught"); - } - catch (DataLengthException e) - { - // expected - } - } - - private void checkMask( - int count, - DerivationFunction kdf, - byte[] seed, - byte[] result) - { - byte[] data = new byte[result.length]; - - kdf.init(new ISO18033KDFParameters(seed)); - - kdf.generateBytes(data, 0, data.length); - - if (!areEqual(result, data)) - { - fail("KDF1 failed generator test " + count); - } - } - - public String getName() - { - return "KDF1"; - } - - public static void main( - String[] args) - { - runTest(new KDF1GeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF2GeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF2GeneratorTest.java deleted file mode 100644 index 676f22b17..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDF2GeneratorTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.ShortenedDigest; -import org.spongycastle.crypto.generators.KDF2BytesGenerator; -import org.spongycastle.crypto.params.KDFParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * KDF2 tests - vectors from ISO 18033. - */ -public class KDF2GeneratorTest - extends SimpleTest -{ - private byte[] seed1 = Hex.decode("d6e168c5f256a2dcff7ef12facd390f393c7a88d"); - private byte[] mask1 = Hex.decode( - "df79665bc31dc5a62f70535e52c53015b9d37d412ff3c119343959" - + "9e1b628774c50d9ccb78d82c425e4521ee47b8c36a4bcffe8b8112a8" - + "9312fc04420a39de99223890e74ce10378bc515a212b97b8a6447ba6" - + "a8870278f0262727ca041fa1aa9f7b5d1cf7f308232fe861"); - - private byte[] seed2 = Hex.decode( - "032e45326fa859a72ec235acff929b15d1372e30b207255f0611b8f785d7643741" - + "52e0ac009e509e7ba30cd2f1778e113b64e135cf4e2292c75efe5288edfda4"); - private byte[] mask2 = Hex.decode( - "10a2403db42a8743cb989de86e668d168cbe604611ac179f819a3d18412e9eb456" - + "68f2923c087c12fee0c5a0d2a8aa70185401fbbd99379ec76c663e875a60b4aacb13" - + "19fa11c3365a8b79a44669f26fb555c80391847b05eca1cb5cf8c2d531448d33fbac" - + "a19f6410ee1fcb260892670e0814c348664f6a7248aaf998a3acc6"); - private byte[] adjustedMask2 = Hex.decode( - "10a2403db42a8743cb989de86e668d168cbe6046e23ff26f741e87949a3bba1311ac1" - + "79f819a3d18412e9eb45668f2923c087c1299005f8d5fd42ca257bc93e8fee0c5a0d2" - + "a8aa70185401fbbd99379ec76c663e9a29d0b70f3fe261a59cdc24875a60b4aacb131" - + "9fa11c3365a8b79a44669f26fba933d012db213d7e3b16349"); - - private byte[] sha1Mask = Hex.decode( - "0e6a26eb7b956ccb8b3bdc1ca975bc57c3989e8fbad31a224655d800c46954840ff32" - + "052cdf0d640562bdfadfa263cfccf3c52b29f2af4a1869959bc77f854cf15bd7a2519" - + "2985a842dbff8e13efee5b7e7e55bbe4d389647c686a9a9ab3fb889b2d7767d3837ee" - + "a4e0a2f04b53ca8f50fb31225c1be2d0126c8c7a4753b0807"); - - private byte[] seed3 = Hex.decode("CA7C0F8C3FFA87A96E1B74AC8E6AF594347BB40A"); - private byte[] mask3 = Hex.decode("744AB703F5BC082E59185F6D049D2D367DB245C2"); - - private byte[] seed4 = Hex.decode("0499B502FC8B5BAFB0F4047E731D1F9FD8CD0D8881"); - private byte[] mask4 = Hex.decode("03C62280C894E103C680B13CD4B4AE740A5EF0C72547292F82DC6B1777F47D63BA9D1EA732DBF386"); - - public KDF2GeneratorTest() - { - } - - public void performTest() - { - checkMask(1, new KDF2BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed1, mask1); - checkMask(2, new KDF2BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed2, mask2); - checkMask(3, new KDF2BytesGenerator(new SHA256Digest()), seed2, adjustedMask2); - checkMask(4, new KDF2BytesGenerator(new SHA1Digest()), seed2, sha1Mask); - checkMask(5, new KDF2BytesGenerator(new SHA1Digest()), seed3, mask3); - checkMask(6, new KDF2BytesGenerator(new SHA1Digest()), seed4, mask4); - - try - { - new KDF2BytesGenerator(new SHA1Digest()).generateBytes(new byte[10], 0, 20); - - fail("short input array not caught"); - } - catch (DataLengthException e) - { - // expected - } - } - - private void checkMask( - int count, - DerivationFunction kdf, - byte[] seed, - byte[] result) - { - byte[] data = new byte[result.length]; - - kdf.init(new KDFParameters(seed, new byte[0])); - - kdf.generateBytes(data, 0, data.length); - - if (!areEqual(result, data)) - { - fail("KDF2 failed generator test " + count); - } - } - - public String getName() - { - return "KDF2"; - } - - public static void main( - String[] args) - { - runTest(new KDF2GeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFCounterGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFCounterGeneratorTest.java deleted file mode 100644 index 3b58db2a2..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFCounterGeneratorTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.Charset; - -import org.spongycastle.crypto.test.cavp.CAVPReader; -import org.spongycastle.crypto.test.cavp.KDFCounterTests; -import org.spongycastle.util.test.SimpleTest; - -public class KDFCounterGeneratorTest - extends SimpleTest -{ - - private static void testCounter() - { - - CAVPReader cavpReader = new CAVPReader(new KDFCounterTests()); - - final InputStream stream = CAVPReader.class.getResourceAsStream("KDFCTR_gen.rsp"); - final Reader reader = new InputStreamReader(stream, Charset.forName("UTF-8")); - cavpReader.setInput("KDFCounter", reader); - - try - { - cavpReader.readAll(); - } - catch (IOException e) - { - throw new IllegalStateException("Something is rotten in the state of Denmark", e); - } - } - - public String getName() - { - return this.getClass().getSimpleName(); - } - - public void performTest() - throws Exception - { - testCounter(); - } - - public static void main(String[] args) - { - runTest(new KDFCounterGeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFDoublePipelineIteratorGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFDoublePipelineIteratorGeneratorTest.java deleted file mode 100644 index d44d1cab6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFDoublePipelineIteratorGeneratorTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.Charset; - -import org.spongycastle.crypto.test.cavp.CAVPReader; -import org.spongycastle.crypto.test.cavp.KDFDoublePipelineCounterTests; -import org.spongycastle.crypto.test.cavp.KDFDoublePipelineIterationNoCounterTests; -import org.spongycastle.util.test.SimpleTest; - -public class KDFDoublePipelineIteratorGeneratorTest - extends SimpleTest -{ - public String getName() - { - return this.getClass().getSimpleName(); - } - - public void performTest() - throws Exception - { - testDoublePipelineIterationCounter(); - testDoublePipelineIterationNoCounter(); - } - - private static void testDoublePipelineIterationCounter() - { - - CAVPReader cavpReader = new CAVPReader(new KDFDoublePipelineCounterTests()); - - final InputStream stream = CAVPReader.class.getResourceAsStream("KDFDblPipelineCounter_gen.rsp"); - final Reader reader = new InputStreamReader(stream, Charset.forName("UTF-8")); - cavpReader.setInput("KDFDoublePipelineIterationCounter", reader); - - try - { - cavpReader.readAll(); - } - catch (IOException e) - { - throw new IllegalStateException("Something is rotten in the state of Denmark", e); - } - } - - private static void testDoublePipelineIterationNoCounter() - { - - CAVPReader cavpReader = new CAVPReader(new KDFDoublePipelineIterationNoCounterTests()); - - final InputStream stream = CAVPReader.class.getResourceAsStream("KDFDblPipelineNoCounter_gen.rsp"); - final Reader reader = new InputStreamReader(stream, Charset.forName("UTF-8")); - cavpReader.setInput("KDFDblPipelineIterationNoCounter", reader); - - try - { - cavpReader.readAll(); - } - catch (IOException e) - { - throw new IllegalStateException("Something is rotten in the state of Denmark", e); - } - } - - public static void main(String[] args) - { - runTest(new KDFDoublePipelineIteratorGeneratorTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFFeedbackGeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFFeedbackGeneratorTest.java deleted file mode 100644 index fa850985a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/KDFFeedbackGeneratorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.Charset; - -import org.spongycastle.crypto.test.cavp.CAVPReader; -import org.spongycastle.crypto.test.cavp.KDFFeedbackCounterTests; -import org.spongycastle.crypto.test.cavp.KDFFeedbackNoCounterTests; -import org.spongycastle.util.test.SimpleTest; - -public class KDFFeedbackGeneratorTest - extends SimpleTest -{ - public String getName() - { - return this.getClass().getSimpleName(); - } - - public void performTest() - throws Exception - { - testFeedbackCounter(); - testFeedbackNoCounter(); - } - - private static void testFeedbackCounter() - { - - CAVPReader cavpReader = new CAVPReader(new KDFFeedbackCounterTests()); - - final InputStream stream = CAVPReader.class.getResourceAsStream("KDFFeedbackCounter_gen.rsp"); - final Reader reader = new InputStreamReader(stream, Charset.forName("UTF-8")); - cavpReader.setInput("KDFFeedbackCounter", reader); - - try - { - cavpReader.readAll(); - } - catch (IOException e) - { - throw new IllegalStateException("Something is rotten in the state of Denmark ", e); - } - } - - private static void testFeedbackNoCounter() - { - - CAVPReader cavpReader = new CAVPReader(new KDFFeedbackNoCounterTests()); - - final InputStream stream = CAVPReader.class.getResourceAsStream("KDFFeedbackNoCounter_gen.rsp"); - final Reader reader = new InputStreamReader(stream, Charset.forName("UTF-8")); - cavpReader.setInput("KDFFeedbackNoCounter", reader); - - try - { - cavpReader.readAll(); - } - catch (IOException e) - { - throw new IllegalStateException("Something is rotten in the state of Denmark", e); - } - } - - public static void main(String[] args) - { - runTest(new KDFDoublePipelineIteratorGeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD2DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD2DigestTest.java deleted file mode 100644 index e393f7994..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD2DigestTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.MD2Digest; - -/** - * standard vector test for MD2 - * from RFC1319 by B.Kaliski of RSA Laboratories April 1992 - * - */ -public class MD2DigestTest - extends DigestTest -{ - static final String messages[] = - { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - static final String digests[] = - { - "8350e5a3e24c153df2275c9f80692773", - "32ec01ec4a6dac72c0ab96fb34c0b5d1", - "da853b0d3f88d99b30283a69e6ded6bb", - "ab4f496bfb2a530b219ff33031fe06b0", - "4e8ddff3650292ab5a4108c3aa47940b", - "da33def2a42df13975352846c30338cd", - "d5976f79d83d3a0dc9806c3c66f3efd8" - }; - - MD2DigestTest() - { - super(new MD2Digest(), messages, digests); - } - - protected Digest cloneDigest( - Digest digest) - { - return new MD2Digest((MD2Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new MD2DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD4DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD4DigestTest.java deleted file mode 100644 index 9175e2fe4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD4DigestTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.MD4Digest; - -/** - * standard vector test for MD4 from RFC 1320. - */ -public class MD4DigestTest - extends DigestTest -{ - static private String[] messages = - { - "", - "a", - "abc", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - static private String[] digests = - { - "31d6cfe0d16ae931b73c59d7e0c089c0", - "bde52cb31de33e46245e05fbdbd6fb24", - "a448017aaf21d8525fc10ae87aa6729d", - "e33b4ddc9c38f2199c3e7b164fcc0536" - }; - - MD4DigestTest() - { - super(new MD4Digest(), messages, digests); - } - - protected Digest cloneDigest(Digest digest) - { - return new MD4Digest((MD4Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new MD4DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5DigestTest.java deleted file mode 100644 index f39944d15..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5DigestTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.MD5Digest; - -/** - * standard vector test for MD5 from "Handbook of Applied Cryptography", page 345. - */ -public class MD5DigestTest - extends DigestTest -{ - static final String[] messages = - { - "", - "a", - "abc", - "abcdefghijklmnopqrstuvwxyz" - }; - - static final String[] digests = - { - "d41d8cd98f00b204e9800998ecf8427e", - "0cc175b9c0f1b6a831c399e269772661", - "900150983cd24fb0d6963f7d28e17f72", - "c3fcd3d76192e4007dfb496cca67e13b" - }; - - MD5DigestTest() - { - super(new MD5Digest(), messages, digests); - } - - protected Digest cloneDigest(Digest digest) - { - return new MD5Digest((MD5Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new MD5DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5HMacTest.java deleted file mode 100644 index 76d8e2149..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MD5HMacTest.java +++ /dev/null @@ -1,98 +0,0 @@ - -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.MD5Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * MD5 HMac Test, test vectors from RFC 2202 - */ -public class MD5HMacTest - extends SimpleTest -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "9294727a3638bb1c13f48ef8158bfc9d", - "750c783e6ab0b503eaa86e310a5db738", - "56be34521d144c88dbb8c733f0e8b3f6", - "697eaf0aca3a3aea3a75164746ffaa79", - "56461ef2342edc00f9bab995690efd4c", - "6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd", - "6f630fad67cda0ee1fb1f562db3aa53e" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" - }; - - public String getName() - { - return "MD5HMac"; - } - - public void performTest() - { - HMac hmac = new HMac(new MD5Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!areEqual(resBuf, Hex.decode(digests[i]))) - { - fail("Vector " + i + " failed"); - } - } - - // test reset - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!areEqual(resBuf, Hex.decode(digests[vector]))) - { - fail("Reset with vector " + vector + " failed"); - } - } - - public static void main( - String[] args) - { - runTest(new MD5HMacTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MGF1GeneratorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MGF1GeneratorTest.java deleted file mode 100644 index 0c7a2fec9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MGF1GeneratorTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.DerivationFunction; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.ShortenedDigest; -import org.spongycastle.crypto.generators.MGF1BytesGenerator; -import org.spongycastle.crypto.params.MGFParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * MGF1 tests - vectors from ISO 18033 for KDF1 (equivalent). - */ -public class MGF1GeneratorTest - extends SimpleTest -{ - private byte[] seed1 = Hex.decode("d6e168c5f256a2dcff7ef12facd390f393c7a88d"); - private byte[] mask1 = Hex.decode( - "0742ba966813af75536bb6149cc44fc256fd6406df79665bc31dc5" - + "a62f70535e52c53015b9d37d412ff3c1193439599e1b628774c50d9c" - + "cb78d82c425e4521ee47b8c36a4bcffe8b8112a89312fc04420a39de" - + "99223890e74ce10378bc515a212b97b8a6447ba6a8870278"); - - private byte[] seed2 = Hex.decode( - "032e45326fa859a72ec235acff929b15d1372e30b207255f0611b8f785d7643741" - + "52e0ac009e509e7ba30cd2f1778e113b64e135cf4e2292c75efe5288edfda4"); - private byte[] mask2 = Hex.decode( - "5f8de105b5e96b2e490ddecbd147dd1def7e3b8e0e6a26eb7b956ccb8b3bdc1ca9" - + "75bc57c3989e8fbad31a224655d800c46954840ff32052cdf0d640562bdfadfa263c" - + "fccf3c52b29f2af4a1869959bc77f854cf15bd7a25192985a842dbff8e13efee5b7e" - + "7e55bbe4d389647c686a9a9ab3fb889b2d7767d3837eea4e0a2f04"); - - private byte[] seed3 = seed2; - private byte[] mask3= Hex.decode( - "09e2decf2a6e1666c2f6071ff4298305e2643fd510a2403db42a8743cb989de86e" - + "668d168cbe604611ac179f819a3d18412e9eb45668f2923c087c12fee0c5a0d2a8aa" - + "70185401fbbd99379ec76c663e875a60b4aacb1319fa11c3365a8b79a44669f26fb5" - + "55c80391847b05eca1cb5cf8c2d531448d33fbaca19f6410ee1fcb"); - - public void performTest() - { - checkMask(1, new MGF1BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed1, mask1); - checkMask(2, new MGF1BytesGenerator(new SHA1Digest()), seed2, mask2); - checkMask(3, new MGF1BytesGenerator(new ShortenedDigest(new SHA256Digest(), 20)), seed3, mask3); - - try - { - new MGF1BytesGenerator(new SHA1Digest()).generateBytes(new byte[10], 0, 20); - - fail("short input array not caught"); - } - catch (DataLengthException e) - { - // expected - } - } - - private void checkMask( - int count, - DerivationFunction kdf, - byte[] seed, - byte[] result) - { - byte[] data = new byte[result.length]; - - kdf.init(new MGFParameters(seed)); - - kdf.generateBytes(data, 0, data.length); - - if (!areEqual(result, data)) - { - fail("MGF1 failed generator test " + count); - } - } - - public String getName() - { - return "MGF1"; - } - - public static void main( - String[] args) - { - runTest(new MGF1GeneratorTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java deleted file mode 100644 index 1ae2bca1b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.macs.CBCBlockCipherMac; -import org.spongycastle.crypto.macs.CFBBlockCipherMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.paddings.PKCS7Padding; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * MAC tester - vectors from - * FIP 81 and - * FIP 113. - */ -public class MacTest - extends SimpleTest -{ - static byte[] keyBytes = Hex.decode("0123456789abcdef"); - static byte[] ivBytes = Hex.decode("1234567890abcdef"); - - static byte[] input1 = Hex.decode("37363534333231204e6f77206973207468652074696d6520666f7220"); - - static byte[] output1 = Hex.decode("f1d30f68"); - static byte[] output2 = Hex.decode("58d2e77e"); - static byte[] output3 = Hex.decode("cd647403"); - - // - // these aren't NIST vectors, just for regression testing. - // - static byte[] input2 = Hex.decode("3736353433323120"); - - static byte[] output4 = Hex.decode("3af549c9"); - static byte[] output5 = Hex.decode("188fbdd5"); - static byte[] output6 = Hex.decode("7045eecd"); - - public MacTest() - { - } - - public void performTest() - { - KeyParameter key = new KeyParameter(keyBytes); - BlockCipher cipher = new DESEngine(); - Mac mac = new CBCBlockCipherMac(cipher); - - // - // standard DAC - zero IV - // - mac.init(key); - - mac.update(input1, 0, input1.length); - - byte[] out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output1)) - { - fail("Failed - expected " + new String(Hex.encode(output1)) + " got " + new String(Hex.encode(out))); - } - - // - // mac with IV. - // - ParametersWithIV param = new ParametersWithIV(key, ivBytes); - - mac.init(param); - - mac.update(input1, 0, input1.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output2)) - { - fail("Failed - expected " + new String(Hex.encode(output2)) + " got " + new String(Hex.encode(out))); - } - - // - // CFB mac with IV - 8 bit CFB mode - // - param = new ParametersWithIV(key, ivBytes); - - mac = new CFBBlockCipherMac(cipher); - - mac.init(param); - - mac.update(input1, 0, input1.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output3)) - { - fail("Failed - expected " + new String(Hex.encode(output3)) + " got " + new String(Hex.encode(out))); - } - - // - // word aligned data - zero IV - // - mac.init(key); - - mac.update(input2, 0, input2.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output4)) - { - fail("Failed - expected " + new String(Hex.encode(output4)) + " got " + new String(Hex.encode(out))); - } - - // - // word aligned data - zero IV - CBC padding - // - mac = new CBCBlockCipherMac(cipher, new PKCS7Padding()); - - mac.init(key); - - mac.update(input2, 0, input2.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output5)) - { - fail("Failed - expected " + new String(Hex.encode(output5)) + " got " + new String(Hex.encode(out))); - } - - // - // non-word aligned data - zero IV - CBC padding - // - mac.reset(); - - mac.update(input1, 0, input1.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output6)) - { - fail("Failed - expected " + new String(Hex.encode(output6)) + " got " + new String(Hex.encode(out))); - } - - // - // non-word aligned data - zero IV - CBC padding - // - mac.init(key); - - mac.update(input1, 0, input1.length); - - out = new byte[4]; - - mac.doFinal(out, 0); - - if (!areEqual(out, output6)) - { - fail("Failed - expected " + new String(Hex.encode(output6)) + " got " + new String(Hex.encode(out))); - } - } - - public String getName() - { - return "Mac"; - } - - public static void main( - String[] args) - { - runTest(new MacTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ModeTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ModeTest.java deleted file mode 100644 index 19fe1932c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ModeTest.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.modes.CFBBlockCipher; -import org.spongycastle.crypto.modes.OFBBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * CFB/OFB Mode test of IV padding. - */ -public class ModeTest - implements Test -{ - public ModeTest() - { - } - - private boolean isEqualTo( - byte[] a, - byte[] b) - { - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - public TestResult perform() - { - KeyParameter key = new KeyParameter(Hex.decode("0011223344556677")); - byte[] input = Hex.decode("4e6f7720"); - byte[] out1 = new byte[4]; - byte[] out2 = new byte[4]; - - - BlockCipher ofb = new OFBBlockCipher(new DESEngine(), 32); - - ofb.init(true, new ParametersWithIV(key, Hex.decode("1122334455667788"))); - - ofb.processBlock(input, 0, out1, 0); - - ofb.init(false, new ParametersWithIV(key, Hex.decode("1122334455667788"))); - ofb.processBlock(out1, 0, out2, 0); - - if (!isEqualTo(out2, input)) - { - return new SimpleTestResult(false, getName() + ": test 1 - in != out"); - } - - ofb.init(true, new ParametersWithIV(key, Hex.decode("11223344"))); - - ofb.processBlock(input, 0, out1, 0); - - ofb.init(false, new ParametersWithIV(key, Hex.decode("0000000011223344"))); - ofb.processBlock(out1, 0, out2, 0); - - if (!isEqualTo(out2, input)) - { - return new SimpleTestResult(false, getName() + ": test 2 - in != out"); - } - - BlockCipher cfb = new CFBBlockCipher(new DESEngine(), 32); - - cfb.init(true, new ParametersWithIV(key, Hex.decode("1122334455667788"))); - - cfb.processBlock(input, 0, out1, 0); - - cfb.init(false, new ParametersWithIV(key, Hex.decode("1122334455667788"))); - cfb.processBlock(out1, 0, out2, 0); - - if (!isEqualTo(out2, input)) - { - return new SimpleTestResult(false, getName() + ": test 3 - in != out"); - } - - cfb.init(true, new ParametersWithIV(key, Hex.decode("11223344"))); - - cfb.processBlock(input, 0, out1, 0); - - cfb.init(false, new ParametersWithIV(key, Hex.decode("0000000011223344"))); - cfb.processBlock(out1, 0, out2, 0); - - if (!isEqualTo(out2, input)) - { - return new SimpleTestResult(false, getName() + ": test 4 - in != out"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "ModeTest"; - } - - public static void main( - String[] args) - { - ModeTest test = new ModeTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NaccacheSternTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NaccacheSternTest.java deleted file mode 100644 index 1bde2f458..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NaccacheSternTest.java +++ /dev/null @@ -1,354 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.Vector; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.NaccacheSternEngine; -import org.spongycastle.crypto.generators.NaccacheSternKeyPairGenerator; -import org.spongycastle.crypto.params.NaccacheSternKeyGenerationParameters; -import org.spongycastle.crypto.params.NaccacheSternKeyParameters; -import org.spongycastle.crypto.params.NaccacheSternPrivateKeyParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test case for NaccacheStern cipher. For details on this cipher, please see - * - * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf - * - * Performs the following tests: - *
      - *
    • Toy example from the NaccacheSternPaper
    • - *
    • 768 bit test with text "Now is the time for all good men." (ripped from RSA test) and - * the same test with the first byte replaced by 0xFF
    • - *
    • 1024 bit test analog to 768 bit test
    • - *
    - */ -public class NaccacheSternTest - extends SimpleTest -{ - static final boolean debug = false; - - static final NaccacheSternEngine cryptEng = new NaccacheSternEngine(); - - static final NaccacheSternEngine decryptEng = new NaccacheSternEngine(); - - static - { - cryptEng.setDebug(debug); - decryptEng.setDebug(debug); - } - - // Values from NaccacheStern paper - static final BigInteger a = BigInteger.valueOf(101); - - static final BigInteger u1 = BigInteger.valueOf(3); - - static final BigInteger u2 = BigInteger.valueOf(5); - - static final BigInteger u3 = BigInteger.valueOf(7); - - static final BigInteger b = BigInteger.valueOf(191); - - static final BigInteger v1 = BigInteger.valueOf(11); - - static final BigInteger v2 = BigInteger.valueOf(13); - - static final BigInteger v3 = BigInteger.valueOf(17); - - static final BigInteger ONE = BigInteger.valueOf(1); - - static final BigInteger TWO = BigInteger.valueOf(2); - - static final BigInteger sigma = u1.multiply(u2).multiply(u3).multiply(v1) - .multiply(v2).multiply(v3); - - static final BigInteger p = TWO.multiply(a).multiply(u1).multiply(u2) - .multiply(u3).add(ONE); - - static final BigInteger q = TWO.multiply(b).multiply(v1).multiply(v2) - .multiply(v3).add(ONE); - - static final BigInteger n = p.multiply(q); - - static final BigInteger phi_n = p.subtract(ONE).multiply(q.subtract(ONE)); - - static final BigInteger g = BigInteger.valueOf(131); - - static final Vector smallPrimes = new Vector(); - - // static final BigInteger paperTest = BigInteger.valueOf(202); - - static final String input = "4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - static final BigInteger paperTest = BigInteger.valueOf(202); - - // - // to check that we handling byte extension by big number correctly. - // - static final String edgeInput = "ff6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - public String getName() - { - return "NaccacheStern"; - } - - public void performTest() - { - // Test with given key from NaccacheSternPaper (totally insecure) - - // First the Parameters from the NaccacheStern Paper - // (see http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf ) - - smallPrimes.addElement(u1); - smallPrimes.addElement(u2); - smallPrimes.addElement(u3); - smallPrimes.addElement(v1); - smallPrimes.addElement(v2); - smallPrimes.addElement(v3); - - NaccacheSternKeyParameters pubParameters = new NaccacheSternKeyParameters(false, g, n, sigma.bitLength()); - - NaccacheSternPrivateKeyParameters privParameters = new NaccacheSternPrivateKeyParameters(g, n, sigma.bitLength(), smallPrimes, phi_n); - - AsymmetricCipherKeyPair pair = new AsymmetricCipherKeyPair(pubParameters, privParameters); - - // Initialize Engines with KeyPair - - if (debug) - { - System.out.println("initializing encryption engine"); - } - cryptEng.init(true, pair.getPublic()); - - if (debug) - { - System.out.println("initializing decryption engine"); - } - decryptEng.init(false, pair.getPrivate()); - - byte[] data = paperTest.toByteArray(); - - if (!new BigInteger(data).equals(new BigInteger(enDeCrypt(data)))) - { - fail("failed NaccacheStern paper test"); - } - - // - // key generation test - // - - // - // 768 Bit test - // - - if (debug) - { - System.out.println(); - System.out.println("768 Bit TEST"); - } - - // specify key generation parameters - NaccacheSternKeyGenerationParameters genParam - = new NaccacheSternKeyGenerationParameters(new SecureRandom(), 768, 8, 30, debug); - - // Initialize Key generator and generate key pair - NaccacheSternKeyPairGenerator pGen = new NaccacheSternKeyPairGenerator(); - pGen.init(genParam); - - pair = pGen.generateKeyPair(); - - if (((NaccacheSternKeyParameters)pair.getPublic()).getModulus().bitLength() < 768) - { - System.out.println("FAILED: key size is <786 bit, exactly " - + ((NaccacheSternKeyParameters)pair.getPublic()).getModulus().bitLength() + " bit"); - fail("failed key generation (768) length test"); - } - - // Initialize Engines with KeyPair - - if (debug) - { - System.out.println("initializing " + genParam.getStrength() + " bit encryption engine"); - } - cryptEng.init(true, pair.getPublic()); - - if (debug) - { - System.out.println("initializing " + genParam.getStrength() + " bit decryption engine"); - } - decryptEng.init(false, pair.getPrivate()); - - // Basic data input - data = Hex.decode(input); - - if (!new BigInteger(1, data).equals(new BigInteger(1, enDeCrypt(data)))) - { - fail("failed encryption decryption (" + genParam.getStrength() + ") basic test"); - } - - // Data starting with FF byte (would be interpreted as negative - // BigInteger) - - data = Hex.decode(edgeInput); - - if (!new BigInteger(1, data).equals(new BigInteger(1, enDeCrypt(data)))) - { - fail("failed encryption decryption (" + genParam.getStrength() + ") edgeInput test"); - } - - // - // 1024 Bit Test - // -/* - if (debug) - { - System.out.println(); - System.out.println("1024 Bit TEST"); - } - - // specify key generation parameters - genParam = new NaccacheSternKeyGenerationParameters(new SecureRandom(), 1024, 8, 40); - - pGen.init(genParam); - pair = pGen.generateKeyPair(); - - if (((NaccacheSternKeyParameters)pair.getPublic()).getModulus().bitLength() < 1024) - { - if (debug) - { - System.out.println("FAILED: key size is <1024 bit, exactly " - + ((NaccacheSternKeyParameters)pair.getPublic()).getModulus().bitLength() + " bit"); - } - fail("failed key generation (1024) length test"); - } - - // Initialize Engines with KeyPair - - if (debug) - { - System.out.println("initializing " + genParam.getStrength() + " bit encryption engine"); - } - cryptEng.init(true, pair.getPublic()); - - if (debug) - { - System.out.println("initializing " + genParam.getStrength() + " bit decryption engine"); - } - decryptEng.init(false, pair.getPrivate()); - - if (debug) - { - System.out.println("Data is " + new BigInteger(1, data)); - } - - // Basic data input - data = Hex.decode(input); - - if (!new BigInteger(1, data).equals(new BigInteger(1, enDeCrypt(data)))) - { - fail("failed encryption decryption (" + genParam.getStrength() + ") basic test"); - } - - // Data starting with FF byte (would be interpreted as negative - // BigInteger) - - data = Hex.decode(edgeInput); - - if (!new BigInteger(1, data).equals(new BigInteger(1, enDeCrypt(data)))) - { - fail("failed encryption decryption (" + genParam.getStrength() + ") edgeInput test"); - } -*/ - // END OF TEST CASE - - try - { - new NaccacheSternEngine().processBlock(new byte[]{ 1 }, 0, 1); - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - catch (InvalidCipherTextException e) - { - fail("failed initialisation check"); - } - - if (debug) - { - System.out.println("All tests successful"); - } - } - - private byte[] enDeCrypt(byte[] input) - { - - // create work array - byte[] data = new byte[input.length]; - System.arraycopy(input, 0, data, 0, data.length); - - // Perform encryption like in the paper from Naccache-Stern - if (debug) - { - System.out.println("encrypting data. Data representation\n" - // + "As String:.... " + new String(data) + "\n" - + "As BigInteger: " + new BigInteger(1, data)); - System.out.println("data length is " + data.length); - } - - try - { - data = cryptEng.processData(data); - } - catch (InvalidCipherTextException e) - { - if (debug) - { - System.out.println("failed - exception " + e.toString() + "\n" + e.getMessage()); - } - fail("failed - exception " + e.toString() + "\n" + e.getMessage()); - } - - if (debug) - { - System.out.println("enrypted data representation\n" - // + "As String:.... " + new String(data) + "\n" - + "As BigInteger: " + new BigInteger(1, data)); - System.out.println("data length is " + data.length); - } - - try - { - data = decryptEng.processData(data); - } - catch (InvalidCipherTextException e) - { - if (debug) - { - System.out.println("failed - exception " + e.toString() + "\n" + e.getMessage()); - } - fail("failed - exception " + e.toString() + "\n" + e.getMessage()); - } - - if (debug) - { - System.out.println("decrypted data representation\n" - // + "As String:.... " + new String(data) + "\n" - + "As BigInteger: " + new BigInteger(1, data)); - System.out.println("data length is " + data.length); - } - - return data; - - } - - public static void main(String[] args) - { - runTest(new NaccacheSternTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NoekeonTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NoekeonTest.java deleted file mode 100644 index f17ff0ffe..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NoekeonTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.NoekeonEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Noekeon tester - */ -public class NoekeonTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new NoekeonEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", - "b1656851699e29fa24b70148503d2dfc"), - new BlockCipherVectorTest(1, new NoekeonEngine(), - new KeyParameter(Hex.decode("ffffffffffffffffffffffffffffffff")), - "ffffffffffffffffffffffffffffffff", - "2a78421b87c7d0924f26113f1d1349b2"), - new BlockCipherVectorTest(2, new NoekeonEngine(), - new KeyParameter(Hex.decode("b1656851699e29fa24b70148503d2dfc")), - "2a78421b87c7d0924f26113f1d1349b2", - "e2f687e07b75660ffc372233bc47532c") - }; - - NoekeonTest() - { - super(tests, new NoekeonEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "Noekeon"; - } - - public static void main( - String[] args) - { - runTest(new NoekeonTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NonMemoableDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NonMemoableDigestTest.java deleted file mode 100644 index 8abb02293..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NonMemoableDigestTest.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.NonMemoableDigest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA1 HMac Test, test vectors from RFC 2202 - */ -public class NonMemoableDigestTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "b617318655057264e28bc0b6fb378c8ef146be00", - "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79", - "125d7342b9ac11cd91a39af48aa17b4f63f175d3", - "4c9007f4026250c6bc8414f9bf50c86c2d7235da", - "4c1a03424b55e07fe7f27be1d58bb9324a9a5a04", - "aa4ae5e15272d00e95705637ce8a3b55ed402112", - "e8e99d0f45237d786d6bbaa7965c7808bbff1a91", - "4c1a03424b55e07fe7f27be1d58bb9324a9a5a04", - "aa4ae5e15272d00e95705637ce8a3b55ed402112", - "e8e99d0f45237d786d6bbaa7965c7808bbff1a91" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" - }; - - public String getName() - { - return "NonMemoableDigest"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new NonMemoableDigest(new SHA1Digest())); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed"); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - NonMemoableDigestTest test = new NonMemoableDigestTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NullTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NullTest.java deleted file mode 100644 index f384cfc4c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/NullTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.engines.NullEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class NullTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new NullEngine(), - new KeyParameter(Hex.decode("00")), "00", "00") - }; - - NullTest() - { - super(tests, new NullEngine(), new KeyParameter(new byte[2])); - } - - public String getName() - { - return "Null"; - } - - public void performTest() - throws Exception - { - super.performTest(); - - BlockCipher engine = new NullEngine(); - - engine.init(true, null); - - byte[] buf = new byte[1]; - - engine.processBlock(buf, 0, buf, 0); - - if (buf[0] != 0) - { - fail("NullCipher changed data!"); - } - - byte[] shortBuf = new byte[0]; - - try - { - engine.processBlock(shortBuf, 0, buf, 0); - - fail("failed short input check"); - } - catch (DataLengthException e) - { - // expected - } - - try - { - engine.processBlock(buf, 0, shortBuf, 0); - - fail("failed short output check"); - } - catch (DataLengthException e) - { - // expected - } - } - - public static void main( - String[] args) - { - runTest(new NullTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OAEPTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OAEPTest.java deleted file mode 100644 index 30c575deb..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OAEPTest.java +++ /dev/null @@ -1,830 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.ByteArrayInputStream; -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.pkcs.PrivateKeyInfo; -import org.spongycastle.asn1.pkcs.RSAPrivateKey; -import org.spongycastle.asn1.pkcs.RSAPublicKey; -import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.encodings.OAEPEncoding; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class OAEPTest - extends SimpleTest -{ - static byte[] pubKeyEnc1 = - { - (byte)0x30, (byte)0x5a, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, - (byte)0x48, (byte)0x86, (byte)0xf7, (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, - (byte)0x00, (byte)0x03, (byte)0x49, (byte)0x00, (byte)0x30, (byte)0x46, (byte)0x02, (byte)0x41, - (byte)0x00, (byte)0xaa, (byte)0x36, (byte)0xab, (byte)0xce, (byte)0x88, (byte)0xac, (byte)0xfd, - (byte)0xff, (byte)0x55, (byte)0x52, (byte)0x3c, (byte)0x7f, (byte)0xc4, (byte)0x52, (byte)0x3f, - (byte)0x90, (byte)0xef, (byte)0xa0, (byte)0x0d, (byte)0xf3, (byte)0x77, (byte)0x4a, (byte)0x25, - (byte)0x9f, (byte)0x2e, (byte)0x62, (byte)0xb4, (byte)0xc5, (byte)0xd9, (byte)0x9c, (byte)0xb5, - (byte)0xad, (byte)0xb3, (byte)0x00, (byte)0xa0, (byte)0x28, (byte)0x5e, (byte)0x53, (byte)0x01, - (byte)0x93, (byte)0x0e, (byte)0x0c, (byte)0x70, (byte)0xfb, (byte)0x68, (byte)0x76, (byte)0x93, - (byte)0x9c, (byte)0xe6, (byte)0x16, (byte)0xce, (byte)0x62, (byte)0x4a, (byte)0x11, (byte)0xe0, - (byte)0x08, (byte)0x6d, (byte)0x34, (byte)0x1e, (byte)0xbc, (byte)0xac, (byte)0xa0, (byte)0xa1, - (byte)0xf5, (byte)0x02, (byte)0x01, (byte)0x11 - }; - - static byte[] privKeyEnc1 = - { - (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x52, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, - (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7, - (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, (byte)0x00, (byte)0x04, (byte)0x82, - (byte)0x01, (byte)0x3c, (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x38, (byte)0x02, (byte)0x01, - (byte)0x00, (byte)0x02, (byte)0x41, (byte)0x00, (byte)0xaa, (byte)0x36, (byte)0xab, (byte)0xce, - (byte)0x88, (byte)0xac, (byte)0xfd, (byte)0xff, (byte)0x55, (byte)0x52, (byte)0x3c, (byte)0x7f, - (byte)0xc4, (byte)0x52, (byte)0x3f, (byte)0x90, (byte)0xef, (byte)0xa0, (byte)0x0d, (byte)0xf3, - (byte)0x77, (byte)0x4a, (byte)0x25, (byte)0x9f, (byte)0x2e, (byte)0x62, (byte)0xb4, (byte)0xc5, - (byte)0xd9, (byte)0x9c, (byte)0xb5, (byte)0xad, (byte)0xb3, (byte)0x00, (byte)0xa0, (byte)0x28, - (byte)0x5e, (byte)0x53, (byte)0x01, (byte)0x93, (byte)0x0e, (byte)0x0c, (byte)0x70, (byte)0xfb, - (byte)0x68, (byte)0x76, (byte)0x93, (byte)0x9c, (byte)0xe6, (byte)0x16, (byte)0xce, (byte)0x62, - (byte)0x4a, (byte)0x11, (byte)0xe0, (byte)0x08, (byte)0x6d, (byte)0x34, (byte)0x1e, (byte)0xbc, - (byte)0xac, (byte)0xa0, (byte)0xa1, (byte)0xf5, (byte)0x02, (byte)0x01, (byte)0x11, (byte)0x02, - (byte)0x40, (byte)0x0a, (byte)0x03, (byte)0x37, (byte)0x48, (byte)0x62, (byte)0x64, (byte)0x87, - (byte)0x69, (byte)0x5f, (byte)0x5f, (byte)0x30, (byte)0xbc, (byte)0x38, (byte)0xb9, (byte)0x8b, - (byte)0x44, (byte)0xc2, (byte)0xcd, (byte)0x2d, (byte)0xff, (byte)0x43, (byte)0x40, (byte)0x98, - (byte)0xcd, (byte)0x20, (byte)0xd8, (byte)0xa1, (byte)0x38, (byte)0xd0, (byte)0x90, (byte)0xbf, - (byte)0x64, (byte)0x79, (byte)0x7c, (byte)0x3f, (byte)0xa7, (byte)0xa2, (byte)0xcd, (byte)0xcb, - (byte)0x3c, (byte)0xd1, (byte)0xe0, (byte)0xbd, (byte)0xba, (byte)0x26, (byte)0x54, (byte)0xb4, - (byte)0xf9, (byte)0xdf, (byte)0x8e, (byte)0x8a, (byte)0xe5, (byte)0x9d, (byte)0x73, (byte)0x3d, - (byte)0x9f, (byte)0x33, (byte)0xb3, (byte)0x01, (byte)0x62, (byte)0x4a, (byte)0xfd, (byte)0x1d, - (byte)0x51, (byte)0x02, (byte)0x21, (byte)0x00, (byte)0xd8, (byte)0x40, (byte)0xb4, (byte)0x16, - (byte)0x66, (byte)0xb4, (byte)0x2e, (byte)0x92, (byte)0xea, (byte)0x0d, (byte)0xa3, (byte)0xb4, - (byte)0x32, (byte)0x04, (byte)0xb5, (byte)0xcf, (byte)0xce, (byte)0x33, (byte)0x52, (byte)0x52, - (byte)0x4d, (byte)0x04, (byte)0x16, (byte)0xa5, (byte)0xa4, (byte)0x41, (byte)0xe7, (byte)0x00, - (byte)0xaf, (byte)0x46, (byte)0x12, (byte)0x0d, (byte)0x02, (byte)0x21, (byte)0x00, (byte)0xc9, - (byte)0x7f, (byte)0xb1, (byte)0xf0, (byte)0x27, (byte)0xf4, (byte)0x53, (byte)0xf6, (byte)0x34, - (byte)0x12, (byte)0x33, (byte)0xea, (byte)0xaa, (byte)0xd1, (byte)0xd9, (byte)0x35, (byte)0x3f, - (byte)0x6c, (byte)0x42, (byte)0xd0, (byte)0x88, (byte)0x66, (byte)0xb1, (byte)0xd0, (byte)0x5a, - (byte)0x0f, (byte)0x20, (byte)0x35, (byte)0x02, (byte)0x8b, (byte)0x9d, (byte)0x89, (byte)0x02, - (byte)0x20, (byte)0x59, (byte)0x0b, (byte)0x95, (byte)0x72, (byte)0xa2, (byte)0xc2, (byte)0xa9, - (byte)0xc4, (byte)0x06, (byte)0x05, (byte)0x9d, (byte)0xc2, (byte)0xab, (byte)0x2f, (byte)0x1d, - (byte)0xaf, (byte)0xeb, (byte)0x7e, (byte)0x8b, (byte)0x4f, (byte)0x10, (byte)0xa7, (byte)0x54, - (byte)0x9e, (byte)0x8e, (byte)0xed, (byte)0xf5, (byte)0xb4, (byte)0xfc, (byte)0xe0, (byte)0x9e, - (byte)0x05, (byte)0x02, (byte)0x21, (byte)0x00, (byte)0x8e, (byte)0x3c, (byte)0x05, (byte)0x21, - (byte)0xfe, (byte)0x15, (byte)0xe0, (byte)0xea, (byte)0x06, (byte)0xa3, (byte)0x6f, (byte)0xf0, - (byte)0xf1, (byte)0x0c, (byte)0x99, (byte)0x52, (byte)0xc3, (byte)0x5b, (byte)0x7a, (byte)0x75, - (byte)0x14, (byte)0xfd, (byte)0x32, (byte)0x38, (byte)0xb8, (byte)0x0a, (byte)0xad, (byte)0x52, - (byte)0x98, (byte)0x62, (byte)0x8d, (byte)0x51, (byte)0x02, (byte)0x20, (byte)0x36, (byte)0x3f, - (byte)0xf7, (byte)0x18, (byte)0x9d, (byte)0xa8, (byte)0xe9, (byte)0x0b, (byte)0x1d, (byte)0x34, - (byte)0x1f, (byte)0x71, (byte)0xd0, (byte)0x9b, (byte)0x76, (byte)0xa8, (byte)0xa9, (byte)0x43, - (byte)0xe1, (byte)0x1d, (byte)0x10, (byte)0xb2, (byte)0x4d, (byte)0x24, (byte)0x9f, (byte)0x2d, - (byte)0xea, (byte)0xfe, (byte)0xf8, (byte)0x0c, (byte)0x18, (byte)0x26 - }; - - static byte[] output1 = - { - (byte)0x1b, (byte)0x8f, (byte)0x05, (byte)0xf9, (byte)0xca, (byte)0x1a, (byte)0x79, (byte)0x52, - (byte)0x6e, (byte)0x53, (byte)0xf3, (byte)0xcc, (byte)0x51, (byte)0x4f, (byte)0xdb, (byte)0x89, - (byte)0x2b, (byte)0xfb, (byte)0x91, (byte)0x93, (byte)0x23, (byte)0x1e, (byte)0x78, (byte)0xb9, - (byte)0x92, (byte)0xe6, (byte)0x8d, (byte)0x50, (byte)0xa4, (byte)0x80, (byte)0xcb, (byte)0x52, - (byte)0x33, (byte)0x89, (byte)0x5c, (byte)0x74, (byte)0x95, (byte)0x8d, (byte)0x5d, (byte)0x02, - (byte)0xab, (byte)0x8c, (byte)0x0f, (byte)0xd0, (byte)0x40, (byte)0xeb, (byte)0x58, (byte)0x44, - (byte)0xb0, (byte)0x05, (byte)0xc3, (byte)0x9e, (byte)0xd8, (byte)0x27, (byte)0x4a, (byte)0x9d, - (byte)0xbf, (byte)0xa8, (byte)0x06, (byte)0x71, (byte)0x40, (byte)0x94, (byte)0x39, (byte)0xd2 - }; - - static byte[] pubKeyEnc2 = - { - (byte)0x30, (byte)0x4c, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, - (byte)0x48, (byte)0x86, (byte)0xf7, (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, - (byte)0x00, (byte)0x03, (byte)0x3b, (byte)0x00, (byte)0x30, (byte)0x38, (byte)0x02, (byte)0x33, - (byte)0x00, (byte)0xa3, (byte)0x07, (byte)0x9a, (byte)0x90, (byte)0xdf, (byte)0x0d, (byte)0xfd, - (byte)0x72, (byte)0xac, (byte)0x09, (byte)0x0c, (byte)0xcc, (byte)0x2a, (byte)0x78, (byte)0xb8, - (byte)0x74, (byte)0x13, (byte)0x13, (byte)0x3e, (byte)0x40, (byte)0x75, (byte)0x9c, (byte)0x98, - (byte)0xfa, (byte)0xf8, (byte)0x20, (byte)0x4f, (byte)0x35, (byte)0x8a, (byte)0x0b, (byte)0x26, - (byte)0x3c, (byte)0x67, (byte)0x70, (byte)0xe7, (byte)0x83, (byte)0xa9, (byte)0x3b, (byte)0x69, - (byte)0x71, (byte)0xb7, (byte)0x37, (byte)0x79, (byte)0xd2, (byte)0x71, (byte)0x7b, (byte)0xe8, - (byte)0x34, (byte)0x77, (byte)0xcf, (byte)0x02, (byte)0x01, (byte)0x03 - }; - - static byte[] privKeyEnc2 = - { - (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x13, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, - (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7, - (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, (byte)0x00, (byte)0x04, (byte)0x81, - (byte)0xfe, (byte)0x30, (byte)0x81, (byte)0xfb, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x02, - (byte)0x33, (byte)0x00, (byte)0xa3, (byte)0x07, (byte)0x9a, (byte)0x90, (byte)0xdf, (byte)0x0d, - (byte)0xfd, (byte)0x72, (byte)0xac, (byte)0x09, (byte)0x0c, (byte)0xcc, (byte)0x2a, (byte)0x78, - (byte)0xb8, (byte)0x74, (byte)0x13, (byte)0x13, (byte)0x3e, (byte)0x40, (byte)0x75, (byte)0x9c, - (byte)0x98, (byte)0xfa, (byte)0xf8, (byte)0x20, (byte)0x4f, (byte)0x35, (byte)0x8a, (byte)0x0b, - (byte)0x26, (byte)0x3c, (byte)0x67, (byte)0x70, (byte)0xe7, (byte)0x83, (byte)0xa9, (byte)0x3b, - (byte)0x69, (byte)0x71, (byte)0xb7, (byte)0x37, (byte)0x79, (byte)0xd2, (byte)0x71, (byte)0x7b, - (byte)0xe8, (byte)0x34, (byte)0x77, (byte)0xcf, (byte)0x02, (byte)0x01, (byte)0x03, (byte)0x02, - (byte)0x32, (byte)0x6c, (byte)0xaf, (byte)0xbc, (byte)0x60, (byte)0x94, (byte)0xb3, (byte)0xfe, - (byte)0x4c, (byte)0x72, (byte)0xb0, (byte)0xb3, (byte)0x32, (byte)0xc6, (byte)0xfb, (byte)0x25, - (byte)0xa2, (byte)0xb7, (byte)0x62, (byte)0x29, (byte)0x80, (byte)0x4e, (byte)0x68, (byte)0x65, - (byte)0xfc, (byte)0xa4, (byte)0x5a, (byte)0x74, (byte)0xdf, (byte)0x0f, (byte)0x8f, (byte)0xb8, - (byte)0x41, (byte)0x3b, (byte)0x52, (byte)0xc0, (byte)0xd0, (byte)0xe5, (byte)0x3d, (byte)0x9b, - (byte)0x59, (byte)0x0f, (byte)0xf1, (byte)0x9b, (byte)0xe7, (byte)0x9f, (byte)0x49, (byte)0xdd, - (byte)0x21, (byte)0xe5, (byte)0xeb, (byte)0x02, (byte)0x1a, (byte)0x00, (byte)0xcf, (byte)0x20, - (byte)0x35, (byte)0x02, (byte)0x8b, (byte)0x9d, (byte)0x86, (byte)0x98, (byte)0x40, (byte)0xb4, - (byte)0x16, (byte)0x66, (byte)0xb4, (byte)0x2e, (byte)0x92, (byte)0xea, (byte)0x0d, (byte)0xa3, - (byte)0xb4, (byte)0x32, (byte)0x04, (byte)0xb5, (byte)0xcf, (byte)0xce, (byte)0x91, (byte)0x02, - (byte)0x1a, (byte)0x00, (byte)0xc9, (byte)0x7f, (byte)0xb1, (byte)0xf0, (byte)0x27, (byte)0xf4, - (byte)0x53, (byte)0xf6, (byte)0x34, (byte)0x12, (byte)0x33, (byte)0xea, (byte)0xaa, (byte)0xd1, - (byte)0xd9, (byte)0x35, (byte)0x3f, (byte)0x6c, (byte)0x42, (byte)0xd0, (byte)0x88, (byte)0x66, - (byte)0xb1, (byte)0xd0, (byte)0x5f, (byte)0x02, (byte)0x1a, (byte)0x00, (byte)0x8a, (byte)0x15, - (byte)0x78, (byte)0xac, (byte)0x5d, (byte)0x13, (byte)0xaf, (byte)0x10, (byte)0x2b, (byte)0x22, - (byte)0xb9, (byte)0x99, (byte)0xcd, (byte)0x74, (byte)0x61, (byte)0xf1, (byte)0x5e, (byte)0x6d, - (byte)0x22, (byte)0xcc, (byte)0x03, (byte)0x23, (byte)0xdf, (byte)0xdf, (byte)0x0b, (byte)0x02, - (byte)0x1a, (byte)0x00, (byte)0x86, (byte)0x55, (byte)0x21, (byte)0x4a, (byte)0xc5, (byte)0x4d, - (byte)0x8d, (byte)0x4e, (byte)0xcd, (byte)0x61, (byte)0x77, (byte)0xf1, (byte)0xc7, (byte)0x36, - (byte)0x90, (byte)0xce, (byte)0x2a, (byte)0x48, (byte)0x2c, (byte)0x8b, (byte)0x05, (byte)0x99, - (byte)0xcb, (byte)0xe0, (byte)0x3f, (byte)0x02, (byte)0x1a, (byte)0x00, (byte)0x83, (byte)0xef, - (byte)0xef, (byte)0xb8, (byte)0xa9, (byte)0xa4, (byte)0x0d, (byte)0x1d, (byte)0xb6, (byte)0xed, - (byte)0x98, (byte)0xad, (byte)0x84, (byte)0xed, (byte)0x13, (byte)0x35, (byte)0xdc, (byte)0xc1, - (byte)0x08, (byte)0xf3, (byte)0x22, (byte)0xd0, (byte)0x57, (byte)0xcf, (byte)0x8d - }; - - static byte[] output2 = - { - (byte)0x14, (byte)0xbd, (byte)0xdd, (byte)0x28, (byte)0xc9, (byte)0x83, (byte)0x35, (byte)0x19, - (byte)0x23, (byte)0x80, (byte)0xe8, (byte)0xe5, (byte)0x49, (byte)0xb1, (byte)0x58, (byte)0x2a, - (byte)0x8b, (byte)0x40, (byte)0xb4, (byte)0x48, (byte)0x6d, (byte)0x03, (byte)0xa6, (byte)0xa5, - (byte)0x31, (byte)0x1f, (byte)0x1f, (byte)0xd5, (byte)0xf0, (byte)0xa1, (byte)0x80, (byte)0xe4, - (byte)0x17, (byte)0x53, (byte)0x03, (byte)0x29, (byte)0xa9, (byte)0x34, (byte)0x90, (byte)0x74, - (byte)0xb1, (byte)0x52, (byte)0x13, (byte)0x54, (byte)0x29, (byte)0x08, (byte)0x24, (byte)0x52, - (byte)0x62, (byte)0x51 - }; - - static byte[] pubKeyEnc3 = - { - (byte)0x30, (byte)0x81, (byte)0x9d, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, - (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7, (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, - (byte)0x05, (byte)0x00, (byte)0x03, (byte)0x81, (byte)0x8b, (byte)0x00, (byte)0x30, (byte)0x81, - (byte)0x87, (byte)0x02, (byte)0x81, (byte)0x81, (byte)0x00, (byte)0xbb, (byte)0xf8, (byte)0x2f, - (byte)0x09, (byte)0x06, (byte)0x82, (byte)0xce, (byte)0x9c, (byte)0x23, (byte)0x38, (byte)0xac, - (byte)0x2b, (byte)0x9d, (byte)0xa8, (byte)0x71, (byte)0xf7, (byte)0x36, (byte)0x8d, (byte)0x07, - (byte)0xee, (byte)0xd4, (byte)0x10, (byte)0x43, (byte)0xa4, (byte)0x40, (byte)0xd6, (byte)0xb6, - (byte)0xf0, (byte)0x74, (byte)0x54, (byte)0xf5, (byte)0x1f, (byte)0xb8, (byte)0xdf, (byte)0xba, - (byte)0xaf, (byte)0x03, (byte)0x5c, (byte)0x02, (byte)0xab, (byte)0x61, (byte)0xea, (byte)0x48, - (byte)0xce, (byte)0xeb, (byte)0x6f, (byte)0xcd, (byte)0x48, (byte)0x76, (byte)0xed, (byte)0x52, - (byte)0x0d, (byte)0x60, (byte)0xe1, (byte)0xec, (byte)0x46, (byte)0x19, (byte)0x71, (byte)0x9d, - (byte)0x8a, (byte)0x5b, (byte)0x8b, (byte)0x80, (byte)0x7f, (byte)0xaf, (byte)0xb8, (byte)0xe0, - (byte)0xa3, (byte)0xdf, (byte)0xc7, (byte)0x37, (byte)0x72, (byte)0x3e, (byte)0xe6, (byte)0xb4, - (byte)0xb7, (byte)0xd9, (byte)0x3a, (byte)0x25, (byte)0x84, (byte)0xee, (byte)0x6a, (byte)0x64, - (byte)0x9d, (byte)0x06, (byte)0x09, (byte)0x53, (byte)0x74, (byte)0x88, (byte)0x34, (byte)0xb2, - (byte)0x45, (byte)0x45, (byte)0x98, (byte)0x39, (byte)0x4e, (byte)0xe0, (byte)0xaa, (byte)0xb1, - (byte)0x2d, (byte)0x7b, (byte)0x61, (byte)0xa5, (byte)0x1f, (byte)0x52, (byte)0x7a, (byte)0x9a, - (byte)0x41, (byte)0xf6, (byte)0xc1, (byte)0x68, (byte)0x7f, (byte)0xe2, (byte)0x53, (byte)0x72, - (byte)0x98, (byte)0xca, (byte)0x2a, (byte)0x8f, (byte)0x59, (byte)0x46, (byte)0xf8, (byte)0xe5, - (byte)0xfd, (byte)0x09, (byte)0x1d, (byte)0xbd, (byte)0xcb, (byte)0x02, (byte)0x01, (byte)0x11 - }; - - static byte[] privKeyEnc3 = - { - (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x75, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, - (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7, - (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, (byte)0x00, (byte)0x04, (byte)0x82, - (byte)0x02, (byte)0x5f, (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x5b, (byte)0x02, (byte)0x01, - (byte)0x00, (byte)0x02, (byte)0x81, (byte)0x81, (byte)0x00, (byte)0xbb, (byte)0xf8, (byte)0x2f, - (byte)0x09, (byte)0x06, (byte)0x82, (byte)0xce, (byte)0x9c, (byte)0x23, (byte)0x38, (byte)0xac, - (byte)0x2b, (byte)0x9d, (byte)0xa8, (byte)0x71, (byte)0xf7, (byte)0x36, (byte)0x8d, (byte)0x07, - (byte)0xee, (byte)0xd4, (byte)0x10, (byte)0x43, (byte)0xa4, (byte)0x40, (byte)0xd6, (byte)0xb6, - (byte)0xf0, (byte)0x74, (byte)0x54, (byte)0xf5, (byte)0x1f, (byte)0xb8, (byte)0xdf, (byte)0xba, - (byte)0xaf, (byte)0x03, (byte)0x5c, (byte)0x02, (byte)0xab, (byte)0x61, (byte)0xea, (byte)0x48, - (byte)0xce, (byte)0xeb, (byte)0x6f, (byte)0xcd, (byte)0x48, (byte)0x76, (byte)0xed, (byte)0x52, - (byte)0x0d, (byte)0x60, (byte)0xe1, (byte)0xec, (byte)0x46, (byte)0x19, (byte)0x71, (byte)0x9d, - (byte)0x8a, (byte)0x5b, (byte)0x8b, (byte)0x80, (byte)0x7f, (byte)0xaf, (byte)0xb8, (byte)0xe0, - (byte)0xa3, (byte)0xdf, (byte)0xc7, (byte)0x37, (byte)0x72, (byte)0x3e, (byte)0xe6, (byte)0xb4, - (byte)0xb7, (byte)0xd9, (byte)0x3a, (byte)0x25, (byte)0x84, (byte)0xee, (byte)0x6a, (byte)0x64, - (byte)0x9d, (byte)0x06, (byte)0x09, (byte)0x53, (byte)0x74, (byte)0x88, (byte)0x34, (byte)0xb2, - (byte)0x45, (byte)0x45, (byte)0x98, (byte)0x39, (byte)0x4e, (byte)0xe0, (byte)0xaa, (byte)0xb1, - (byte)0x2d, (byte)0x7b, (byte)0x61, (byte)0xa5, (byte)0x1f, (byte)0x52, (byte)0x7a, (byte)0x9a, - (byte)0x41, (byte)0xf6, (byte)0xc1, (byte)0x68, (byte)0x7f, (byte)0xe2, (byte)0x53, (byte)0x72, - (byte)0x98, (byte)0xca, (byte)0x2a, (byte)0x8f, (byte)0x59, (byte)0x46, (byte)0xf8, (byte)0xe5, - (byte)0xfd, (byte)0x09, (byte)0x1d, (byte)0xbd, (byte)0xcb, (byte)0x02, (byte)0x01, (byte)0x11, - (byte)0x02, (byte)0x81, (byte)0x81, (byte)0x00, (byte)0xa5, (byte)0xda, (byte)0xfc, (byte)0x53, - (byte)0x41, (byte)0xfa, (byte)0xf2, (byte)0x89, (byte)0xc4, (byte)0xb9, (byte)0x88, (byte)0xdb, - (byte)0x30, (byte)0xc1, (byte)0xcd, (byte)0xf8, (byte)0x3f, (byte)0x31, (byte)0x25, (byte)0x1e, - (byte)0x06, (byte)0x68, (byte)0xb4, (byte)0x27, (byte)0x84, (byte)0x81, (byte)0x38, (byte)0x01, - (byte)0x57, (byte)0x96, (byte)0x41, (byte)0xb2, (byte)0x94, (byte)0x10, (byte)0xb3, (byte)0xc7, - (byte)0x99, (byte)0x8d, (byte)0x6b, (byte)0xc4, (byte)0x65, (byte)0x74, (byte)0x5e, (byte)0x5c, - (byte)0x39, (byte)0x26, (byte)0x69, (byte)0xd6, (byte)0x87, (byte)0x0d, (byte)0xa2, (byte)0xc0, - (byte)0x82, (byte)0xa9, (byte)0x39, (byte)0xe3, (byte)0x7f, (byte)0xdc, (byte)0xb8, (byte)0x2e, - (byte)0xc9, (byte)0x3e, (byte)0xda, (byte)0xc9, (byte)0x7f, (byte)0xf3, (byte)0xad, (byte)0x59, - (byte)0x50, (byte)0xac, (byte)0xcf, (byte)0xbc, (byte)0x11, (byte)0x1c, (byte)0x76, (byte)0xf1, - (byte)0xa9, (byte)0x52, (byte)0x94, (byte)0x44, (byte)0xe5, (byte)0x6a, (byte)0xaf, (byte)0x68, - (byte)0xc5, (byte)0x6c, (byte)0x09, (byte)0x2c, (byte)0xd3, (byte)0x8d, (byte)0xc3, (byte)0xbe, - (byte)0xf5, (byte)0xd2, (byte)0x0a, (byte)0x93, (byte)0x99, (byte)0x26, (byte)0xed, (byte)0x4f, - (byte)0x74, (byte)0xa1, (byte)0x3e, (byte)0xdd, (byte)0xfb, (byte)0xe1, (byte)0xa1, (byte)0xce, - (byte)0xcc, (byte)0x48, (byte)0x94, (byte)0xaf, (byte)0x94, (byte)0x28, (byte)0xc2, (byte)0xb7, - (byte)0xb8, (byte)0x88, (byte)0x3f, (byte)0xe4, (byte)0x46, (byte)0x3a, (byte)0x4b, (byte)0xc8, - (byte)0x5b, (byte)0x1c, (byte)0xb3, (byte)0xc1, (byte)0x02, (byte)0x41, (byte)0x00, (byte)0xee, - (byte)0xcf, (byte)0xae, (byte)0x81, (byte)0xb1, (byte)0xb9, (byte)0xb3, (byte)0xc9, (byte)0x08, - (byte)0x81, (byte)0x0b, (byte)0x10, (byte)0xa1, (byte)0xb5, (byte)0x60, (byte)0x01, (byte)0x99, - (byte)0xeb, (byte)0x9f, (byte)0x44, (byte)0xae, (byte)0xf4, (byte)0xfd, (byte)0xa4, (byte)0x93, - (byte)0xb8, (byte)0x1a, (byte)0x9e, (byte)0x3d, (byte)0x84, (byte)0xf6, (byte)0x32, (byte)0x12, - (byte)0x4e, (byte)0xf0, (byte)0x23, (byte)0x6e, (byte)0x5d, (byte)0x1e, (byte)0x3b, (byte)0x7e, - (byte)0x28, (byte)0xfa, (byte)0xe7, (byte)0xaa, (byte)0x04, (byte)0x0a, (byte)0x2d, (byte)0x5b, - (byte)0x25, (byte)0x21, (byte)0x76, (byte)0x45, (byte)0x9d, (byte)0x1f, (byte)0x39, (byte)0x75, - (byte)0x41, (byte)0xba, (byte)0x2a, (byte)0x58, (byte)0xfb, (byte)0x65, (byte)0x99, (byte)0x02, - (byte)0x41, (byte)0x00, (byte)0xc9, (byte)0x7f, (byte)0xb1, (byte)0xf0, (byte)0x27, (byte)0xf4, - (byte)0x53, (byte)0xf6, (byte)0x34, (byte)0x12, (byte)0x33, (byte)0xea, (byte)0xaa, (byte)0xd1, - (byte)0xd9, (byte)0x35, (byte)0x3f, (byte)0x6c, (byte)0x42, (byte)0xd0, (byte)0x88, (byte)0x66, - (byte)0xb1, (byte)0xd0, (byte)0x5a, (byte)0x0f, (byte)0x20, (byte)0x35, (byte)0x02, (byte)0x8b, - (byte)0x9d, (byte)0x86, (byte)0x98, (byte)0x40, (byte)0xb4, (byte)0x16, (byte)0x66, (byte)0xb4, - (byte)0x2e, (byte)0x92, (byte)0xea, (byte)0x0d, (byte)0xa3, (byte)0xb4, (byte)0x32, (byte)0x04, - (byte)0xb5, (byte)0xcf, (byte)0xce, (byte)0x33, (byte)0x52, (byte)0x52, (byte)0x4d, (byte)0x04, - (byte)0x16, (byte)0xa5, (byte)0xa4, (byte)0x41, (byte)0xe7, (byte)0x00, (byte)0xaf, (byte)0x46, - (byte)0x15, (byte)0x03, (byte)0x02, (byte)0x40, (byte)0x54, (byte)0x49, (byte)0x4c, (byte)0xa6, - (byte)0x3e, (byte)0xba, (byte)0x03, (byte)0x37, (byte)0xe4, (byte)0xe2, (byte)0x40, (byte)0x23, - (byte)0xfc, (byte)0xd6, (byte)0x9a, (byte)0x5a, (byte)0xeb, (byte)0x07, (byte)0xdd, (byte)0xdc, - (byte)0x01, (byte)0x83, (byte)0xa4, (byte)0xd0, (byte)0xac, (byte)0x9b, (byte)0x54, (byte)0xb0, - (byte)0x51, (byte)0xf2, (byte)0xb1, (byte)0x3e, (byte)0xd9, (byte)0x49, (byte)0x09, (byte)0x75, - (byte)0xea, (byte)0xb7, (byte)0x74, (byte)0x14, (byte)0xff, (byte)0x59, (byte)0xc1, (byte)0xf7, - (byte)0x69, (byte)0x2e, (byte)0x9a, (byte)0x2e, (byte)0x20, (byte)0x2b, (byte)0x38, (byte)0xfc, - (byte)0x91, (byte)0x0a, (byte)0x47, (byte)0x41, (byte)0x74, (byte)0xad, (byte)0xc9, (byte)0x3c, - (byte)0x1f, (byte)0x67, (byte)0xc9, (byte)0x81, (byte)0x02, (byte)0x40, (byte)0x47, (byte)0x1e, - (byte)0x02, (byte)0x90, (byte)0xff, (byte)0x0a, (byte)0xf0, (byte)0x75, (byte)0x03, (byte)0x51, - (byte)0xb7, (byte)0xf8, (byte)0x78, (byte)0x86, (byte)0x4c, (byte)0xa9, (byte)0x61, (byte)0xad, - (byte)0xbd, (byte)0x3a, (byte)0x8a, (byte)0x7e, (byte)0x99, (byte)0x1c, (byte)0x5c, (byte)0x05, - (byte)0x56, (byte)0xa9, (byte)0x4c, (byte)0x31, (byte)0x46, (byte)0xa7, (byte)0xf9, (byte)0x80, - (byte)0x3f, (byte)0x8f, (byte)0x6f, (byte)0x8a, (byte)0xe3, (byte)0x42, (byte)0xe9, (byte)0x31, - (byte)0xfd, (byte)0x8a, (byte)0xe4, (byte)0x7a, (byte)0x22, (byte)0x0d, (byte)0x1b, (byte)0x99, - (byte)0xa4, (byte)0x95, (byte)0x84, (byte)0x98, (byte)0x07, (byte)0xfe, (byte)0x39, (byte)0xf9, - (byte)0x24, (byte)0x5a, (byte)0x98, (byte)0x36, (byte)0xda, (byte)0x3d, (byte)0x02, (byte)0x41, - (byte)0x00, (byte)0xb0, (byte)0x6c, (byte)0x4f, (byte)0xda, (byte)0xbb, (byte)0x63, (byte)0x01, - (byte)0x19, (byte)0x8d, (byte)0x26, (byte)0x5b, (byte)0xdb, (byte)0xae, (byte)0x94, (byte)0x23, - (byte)0xb3, (byte)0x80, (byte)0xf2, (byte)0x71, (byte)0xf7, (byte)0x34, (byte)0x53, (byte)0x88, - (byte)0x50, (byte)0x93, (byte)0x07, (byte)0x7f, (byte)0xcd, (byte)0x39, (byte)0xe2, (byte)0x11, - (byte)0x9f, (byte)0xc9, (byte)0x86, (byte)0x32, (byte)0x15, (byte)0x4f, (byte)0x58, (byte)0x83, - (byte)0xb1, (byte)0x67, (byte)0xa9, (byte)0x67, (byte)0xbf, (byte)0x40, (byte)0x2b, (byte)0x4e, - (byte)0x9e, (byte)0x2e, (byte)0x0f, (byte)0x96, (byte)0x56, (byte)0xe6, (byte)0x98, (byte)0xea, - (byte)0x36, (byte)0x66, (byte)0xed, (byte)0xfb, (byte)0x25, (byte)0x79, (byte)0x80, (byte)0x39, - (byte)0xf7 - }; - - static byte[] output3 = Hex.decode( - "b8246b56a6ed5881aeb585d9a25b2ad790c417e080681bf1ac2bc3deb69d8bce" - + "f0c4366fec400af052a72e9b0effb5b3f2f192dbeaca03c12740057113bf1f06" - + "69ac22e9f3a7852e3c15d913cab0b8863a95c99294ce8674214954610346f4d4" - + "74b26f7c48b42ee68e1f572a1fc4026ac456b4f59f7b621ea1b9d88f64202fb1"); - - byte[] seed = { - (byte)0xaa, (byte)0xfd, (byte)0x12, (byte)0xf6, (byte)0x59, - (byte)0xca, (byte)0xe6, (byte)0x34, (byte)0x89, (byte)0xb4, - (byte)0x79, (byte)0xe5, (byte)0x07, (byte)0x6d, (byte)0xde, - (byte)0xc2, (byte)0xf0, (byte)0x6c, (byte)0xb5, (byte)0x8f - }; - - private class VecRand extends SecureRandom - { - byte[] seed; - - VecRand(byte[] seed) - { - this.seed = seed; - } - - public void nextBytes( - byte[] bytes) - { - System.arraycopy(seed, 0, bytes, 0, bytes.length); - } - } - - private void baseOaepTest( - int id, - byte[] pubKeyEnc, - byte[] privKeyEnc, - byte[] output) - throws Exception - { - ByteArrayInputStream bIn = new ByteArrayInputStream(pubKeyEnc); - ASN1InputStream dIn = new ASN1InputStream(bIn); - - // - // extract the public key info. - // - RSAPublicKey pubStruct; - - pubStruct = RSAPublicKey.getInstance(new SubjectPublicKeyInfo((ASN1Sequence)dIn.readObject()).parsePublicKey()); - - - bIn = new ByteArrayInputStream(privKeyEnc); - dIn = new ASN1InputStream(bIn); - - // - // extract the private key info. - // - RSAPrivateKey privStruct; - - privStruct = RSAPrivateKey.getInstance(new PrivateKeyInfo((ASN1Sequence)dIn.readObject()).parsePrivateKey()); - - RSAKeyParameters pubParameters = new RSAKeyParameters( - false, - pubStruct.getModulus(), - pubStruct.getPublicExponent()); - - RSAKeyParameters privParameters = new RSAPrivateCrtKeyParameters( - privStruct.getModulus(), - privStruct.getPublicExponent(), - privStruct.getPrivateExponent(), - privStruct.getPrime1(), - privStruct.getPrime2(), - privStruct.getExponent1(), - privStruct.getExponent2(), - privStruct.getCoefficient()); - - byte[] input = new byte[] - { (byte)0x54, (byte)0x85, (byte)0x9b, (byte)0x34, (byte)0x2c, (byte)0x49, (byte)0xea, (byte)0x2a }; - - encDec("id(" + id + ")", pubParameters, privParameters, seed, input, output); - - } - - private void encDec( - String label, - RSAKeyParameters pubParameters, - RSAKeyParameters privParameters, - byte[] seed, - byte[] input, - byte[] output) - throws InvalidCipherTextException - { - AsymmetricBlockCipher cipher = new OAEPEncoding(new RSAEngine()); - - cipher.init(true, new ParametersWithRandom(pubParameters, new VecRand(seed))); - - byte[] out; - - out = cipher.processBlock(input, 0, input.length); - - for (int i = 0; i != output.length; i++) - { - if (out[i] != output[i]) - { - fail(label + " failed encryption"); - } - } - - cipher.init(false, privParameters); - - out = cipher.processBlock(output, 0, output.length); - - for (int i = 0; i != input.length; i++) - { - if (out[i] != input[i]) - { - fail(label + " failed decoding"); - } - } - } - - /* - * RSA vector tests from PKCS#1 page - */ - byte[] modulus_1024 = Hex.decode( - "a8b3b284af8eb50b387034a860f146c4" - + "919f318763cd6c5598c8ae4811a1e0ab" - + "c4c7e0b082d693a5e7fced675cf46685" - + "12772c0cbc64a742c6c630f533c8cc72" - + "f62ae833c40bf25842e984bb78bdbf97" - + "c0107d55bdb662f5c4e0fab9845cb514" - + "8ef7392dd3aaff93ae1e6b667bb3d424" - + "7616d4f5ba10d4cfd226de88d39f16fb"); - - byte[] pubExp_1024 = Hex.decode( - "010001"); - - byte[] privExp_1024 = Hex.decode( - "53339cfdb79fc8466a655c7316aca85c" - + "55fd8f6dd898fdaf119517ef4f52e8fd" - + "8e258df93fee180fa0e4ab29693cd83b" - + "152a553d4ac4d1812b8b9fa5af0e7f55" - + "fe7304df41570926f3311f15c4d65a73" - + "2c483116ee3d3d2d0af3549ad9bf7cbf" - + "b78ad884f84d5beb04724dc7369b31de" - + "f37d0cf539e9cfcdd3de653729ead5d1"); - - byte[] prime1_1024 = Hex.decode( - "d32737e7267ffe1341b2d5c0d150a81b" - + "586fb3132bed2f8d5262864a9cb9f30a" - + "f38be448598d413a172efb802c21acf1" - + "c11c520c2f26a471dcad212eac7ca39d"); - - byte[] prime2_1024 = Hex.decode( - "cc8853d1d54da630fac004f471f281c7" - + "b8982d8224a490edbeb33d3e3d5cc93c" - + "4765703d1dd791642f1f116a0dd852be" - + "2419b2af72bfe9a030e860b0288b5d77"); - - byte[] primeExp1_1024 = Hex.decode( - "0e12bf1718e9cef5599ba1c3882fe804" - + "6a90874eefce8f2ccc20e4f2741fb0a3" - + "3a3848aec9c9305fbecbd2d76819967d" - + "4671acc6431e4037968db37878e695c1"); - - byte[] primeExp2_1024 = Hex.decode( - "95297b0f95a2fa67d00707d609dfd4fc" - + "05c89dafc2ef6d6ea55bec771ea33373" - + "4d9251e79082ecda866efef13c459e1a" - + "631386b7e354c899f5f112ca85d71583"); - - byte[] crtCoef_1024 = Hex.decode( - "4f456c502493bdc0ed2ab756a3a6ed4d" - + "67352a697d4216e93212b127a63d5411" - + "ce6fa98d5dbefd73263e372814274381" - + "8166ed7dd63687dd2a8ca1d2f4fbd8e1"); - - byte[] input_1024_1 = Hex.decode( - "6628194e12073db03ba94cda9ef95323" - + "97d50dba79b987004afefe34"); - - byte[] seed_1024_1 = Hex.decode( - "18b776ea21069d69776a33e96bad48e1" - + "dda0a5ef"); - - byte[] output_1024_1 = Hex.decode( - "354fe67b4a126d5d35fe36c777791a3f" - + "7ba13def484e2d3908aff722fad468fb" - + "21696de95d0be911c2d3174f8afcc201" - + "035f7b6d8e69402de5451618c21a535f" - + "a9d7bfc5b8dd9fc243f8cf927db31322" - + "d6e881eaa91a996170e657a05a266426" - + "d98c88003f8477c1227094a0d9fa1e8c" - + "4024309ce1ecccb5210035d47ac72e8a"); - - byte[] input_1024_2 = Hex.decode( - "750c4047f547e8e41411856523298ac9" - + "bae245efaf1397fbe56f9dd5"); - - byte[] seed_1024_2 = Hex.decode( - "0cc742ce4a9b7f32f951bcb251efd925" - + "fe4fe35f"); - - byte[] output_1024_2 = Hex.decode( - "640db1acc58e0568fe5407e5f9b701df" - + "f8c3c91e716c536fc7fcec6cb5b71c11" - + "65988d4a279e1577d730fc7a29932e3f" - + "00c81515236d8d8e31017a7a09df4352" - + "d904cdeb79aa583adcc31ea698a4c052" - + "83daba9089be5491f67c1a4ee48dc74b" - + "bbe6643aef846679b4cb395a352d5ed1" - + "15912df696ffe0702932946d71492b44"); - - byte[] input_1024_3 = Hex.decode( - "d94ae0832e6445ce42331cb06d531a82" - + "b1db4baad30f746dc916df24d4e3c245" - + "1fff59a6423eb0e1d02d4fe646cf699d" - + "fd818c6e97b051"); - - byte[] seed_1024_3 = Hex.decode( - "2514df4695755a67b288eaf4905c36ee" - + "c66fd2fd"); - - byte[] output_1024_3 = Hex.decode( - "423736ed035f6026af276c35c0b3741b" - + "365e5f76ca091b4e8c29e2f0befee603" - + "595aa8322d602d2e625e95eb81b2f1c9" - + "724e822eca76db8618cf09c5343503a4" - + "360835b5903bc637e3879fb05e0ef326" - + "85d5aec5067cd7cc96fe4b2670b6eac3" - + "066b1fcf5686b68589aafb7d629b02d8" - + "f8625ca3833624d4800fb081b1cf94eb"); - - byte[] input_1024_4 = Hex.decode( - "52e650d98e7f2a048b4f86852153b97e" - + "01dd316f346a19f67a85"); - - byte[] seed_1024_4 = Hex.decode( - "c4435a3e1a18a68b6820436290a37cef" - + "b85db3fb"); - - byte[] output_1024_4 = Hex.decode( - "45ead4ca551e662c9800f1aca8283b05" - + "25e6abae30be4b4aba762fa40fd3d38e" - + "22abefc69794f6ebbbc05ddbb1121624" - + "7d2f412fd0fba87c6e3acd888813646f" - + "d0e48e785204f9c3f73d6d8239562722" - + "dddd8771fec48b83a31ee6f592c4cfd4" - + "bc88174f3b13a112aae3b9f7b80e0fc6" - + "f7255ba880dc7d8021e22ad6a85f0755"); - - byte[] input_1024_5 = Hex.decode( - "8da89fd9e5f974a29feffb462b49180f" - + "6cf9e802"); - - byte[] seed_1024_5 = Hex.decode( - "b318c42df3be0f83fea823f5a7b47ed5" - + "e425a3b5"); - - byte[] output_1024_5 = Hex.decode( - "36f6e34d94a8d34daacba33a2139d00a" - + "d85a9345a86051e73071620056b920e2" - + "19005855a213a0f23897cdcd731b4525" - + "7c777fe908202befdd0b58386b1244ea" - + "0cf539a05d5d10329da44e13030fd760" - + "dcd644cfef2094d1910d3f433e1c7c6d" - + "d18bc1f2df7f643d662fb9dd37ead905" - + "9190f4fa66ca39e869c4eb449cbdc439"); - - byte[] input_1024_6 = Hex.decode( - "26521050844271"); - - byte[] seed_1024_6 = Hex.decode( - "e4ec0982c2336f3a677f6a356174eb0c" - + "e887abc2"); - - byte[] output_1024_6 = Hex.decode( - "42cee2617b1ecea4db3f4829386fbd61" - + "dafbf038e180d837c96366df24c097b4" - + "ab0fac6bdf590d821c9f10642e681ad0" - + "5b8d78b378c0f46ce2fad63f74e0ad3d" - + "f06b075d7eb5f5636f8d403b9059ca76" - + "1b5c62bb52aa45002ea70baace08ded2" - + "43b9d8cbd62a68ade265832b56564e43" - + "a6fa42ed199a099769742df1539e8255"); - - byte[] modulus_1027 = Hex.decode( - "051240b6cc0004fa48d0134671c078c7" - + "c8dec3b3e2f25bc2564467339db38853" - + "d06b85eea5b2de353bff42ac2e46bc97" - + "fae6ac9618da9537a5c8f553c1e35762" - + "5991d6108dcd7885fb3a25413f53efca" - + "d948cb35cd9b9ae9c1c67626d113d57d" - + "de4c5bea76bb5bb7de96c00d07372e96" - + "85a6d75cf9d239fa148d70931b5f3fb0" - + "39"); - - byte[] pubExp_1027 = Hex.decode( - "010001"); - - byte[] privExp_1027 = Hex.decode( - "0411ffca3b7ca5e9e9be7fe38a85105e" - + "353896db05c5796aecd2a725161eb365" - + "1c8629a9b862b904d7b0c7b37f8cb5a1" - + "c2b54001018a00a1eb2cafe4ee4e9492" - + "c348bc2bedab4b9ebbf064e8eff322b9" - + "009f8eec653905f40df88a3cdc49d456" - + "7f75627d41aca624129b46a0b7c698e5" - + "e65f2b7ba102c749a10135b6540d0401"); - - byte[] prime1_1027 = Hex.decode( - "027458c19ec1636919e736c9af25d609" - + "a51b8f561d19c6bf6943dd1ee1ab8a4a" - + "3f232100bd40b88decc6ba235548b6ef" - + "792a11c9de823d0a7922c7095b6eba57" - + "01"); - - byte[] prime2_1027 = Hex.decode( - "0210ee9b33ab61716e27d251bd465f4b" - + "35a1a232e2da00901c294bf22350ce49" - + "0d099f642b5375612db63ba1f2038649" - + "2bf04d34b3c22bceb909d13441b53b51" - + "39"); - - byte[] primeExp1_1027 = Hex.decode( - "39fa028b826e88c1121b750a8b242fa9" - + "a35c5b66bdfd1fa637d3cc48a84a4f45" - + "7a194e7727e49f7bcc6e5a5a412657fc" - + "470c7322ebc37416ef458c307a8c0901"); - - byte[] primeExp2_1027 = Hex.decode( - "015d99a84195943979fa9e1be2c3c1b6" - + "9f432f46fd03e47d5befbbbfd6b1d137" - + "1d83efb330a3e020942b2fed115e5d02" - + "be24fd92c9019d1cecd6dd4cf1e54cc8" - + "99"); - - byte[] crtCoef_1027 = Hex.decode( - "01f0b7015170b3f5e42223ba30301c41" - + "a6d87cbb70e30cb7d3c67d25473db1f6" - + "cbf03e3f9126e3e97968279a865b2c2b" - + "426524cfc52a683d31ed30eb984be412" - + "ba"); - - byte[] input_1027_1 = Hex.decode( - "4a86609534ee434a6cbca3f7e962e76d" - + "455e3264c19f605f6e5ff6137c65c56d" - + "7fb344cd52bc93374f3d166c9f0c6f9c" - + "506bad19330972d2"); - - byte[] seed_1027_1 = Hex.decode( - "1cac19ce993def55f98203f6852896c9" - + "5ccca1f3"); - - byte[] output_1027_1 = Hex.decode( - "04cce19614845e094152a3fe18e54e33" - + "30c44e5efbc64ae16886cb1869014cc5" - + "781b1f8f9e045384d0112a135ca0d12e" - + "9c88a8e4063416deaae3844f60d6e96f" - + "e155145f4525b9a34431ca3766180f70" - + "e15a5e5d8e8b1a516ff870609f13f896" - + "935ced188279a58ed13d07114277d75c" - + "6568607e0ab092fd803a223e4a8ee0b1" - + "a8"); - - byte[] input_1027_2 = Hex.decode( - "b0adc4f3fe11da59ce992773d9059943" - + "c03046497ee9d9f9a06df1166db46d98" - + "f58d27ec074c02eee6cbe2449c8b9fc5" - + "080c5c3f4433092512ec46aa793743c8"); - - byte[] seed_1027_2 = Hex.decode( - "f545d5897585e3db71aa0cb8da76c51d" - + "032ae963"); - - byte[] output_1027_2 = Hex.decode( - "0097b698c6165645b303486fbf5a2a44" - + "79c0ee85889b541a6f0b858d6b6597b1" - + "3b854eb4f839af03399a80d79bda6578" - + "c841f90d645715b280d37143992dd186" - + "c80b949b775cae97370e4ec97443136c" - + "6da484e970ffdb1323a20847821d3b18" - + "381de13bb49aaea66530c4a4b8271f3e" - + "ae172cd366e07e6636f1019d2a28aed1" - + "5e"); - - byte[] input_1027_3 = Hex.decode( - "bf6d42e701707b1d0206b0c8b45a1c72" - + "641ff12889219a82bdea965b5e79a96b" - + "0d0163ed9d578ec9ada20f2fbcf1ea3c" - + "4089d83419ba81b0c60f3606da99"); - - byte[] seed_1027_3 = Hex.decode( - "ad997feef730d6ea7be60d0dc52e72ea" - + "cbfdd275"); - - byte[] output_1027_3 = Hex.decode( - "0301f935e9c47abcb48acbbe09895d9f" - + "5971af14839da4ff95417ee453d1fd77" - + "319072bb7297e1b55d7561cd9d1bb24c" - + "1a9a37c619864308242804879d86ebd0" - + "01dce5183975e1506989b70e5a834341" - + "54d5cbfd6a24787e60eb0c658d2ac193" - + "302d1192c6e622d4a12ad4b53923bca2" - + "46df31c6395e37702c6a78ae081fb9d0" - + "65"); - - byte[] input_1027_4 = Hex.decode( - "fb2ef112f5e766eb94019297934794f7" - + "be2f6fc1c58e"); - - byte[] seed_1027_4 = Hex.decode( - "136454df5730f73c807a7e40d8c1a312" - + "ac5b9dd3"); - - byte[] output_1027_4 = Hex.decode( - "02d110ad30afb727beb691dd0cf17d0a" - + "f1a1e7fa0cc040ec1a4ba26a42c59d0a" - + "796a2e22c8f357ccc98b6519aceb682e" - + "945e62cb734614a529407cd452bee3e4" - + "4fece8423cc19e55548b8b994b849c7e" - + "cde4933e76037e1d0ce44275b08710c6" - + "8e430130b929730ed77e09b015642c55" - + "93f04e4ffb9410798102a8e96ffdfe11" - + "e4"); - - byte[] input_1027_5 = Hex.decode( - "28ccd447bb9e85166dabb9e5b7d1adad" - + "c4b9d39f204e96d5e440ce9ad928bc1c" - + "2284"); - - byte[] seed_1027_5 = Hex.decode( - "bca8057f824b2ea257f2861407eef63d" - + "33208681"); - - byte[] output_1027_5 = Hex.decode( - "00dbb8a7439d90efd919a377c54fae8f" - + "e11ec58c3b858362e23ad1b8a4431079" - + "9066b99347aa525691d2adc58d9b06e3" - + "4f288c170390c5f0e11c0aa3645959f1" - + "8ee79e8f2be8d7ac5c23d061f18dd74b" - + "8c5f2a58fcb5eb0c54f99f01a8324756" - + "8292536583340948d7a8c97c4acd1e98" - + "d1e29dc320e97a260532a8aa7a758a1e" - + "c2"); - - byte[] input_1027_6 = Hex.decode( - "f22242751ec6b1"); - - byte[] seed_1027_6 = Hex.decode( - "2e7e1e17f647b5ddd033e15472f90f68" - + "12f3ac4e"); - - byte[] output_1027_6 = Hex.decode( - "00a5ffa4768c8bbecaee2db77e8f2eec" - + "99595933545520835e5ba7db9493d3e1" - + "7cddefe6a5f567624471908db4e2d83a" - + "0fbee60608fc84049503b2234a07dc83" - + "b27b22847ad8920ff42f674ef79b7628" - + "0b00233d2b51b8cb2703a9d42bfbc825" - + "0c96ec32c051e57f1b4ba528db89c37e" - + "4c54e27e6e64ac69635ae887d9541619" - + "a9"); - - private void oaepVecTest( - int keySize, - int no, - RSAKeyParameters pubParam, - RSAKeyParameters privParam, - byte[] seed, - byte[] input, - byte[] output) - throws Exception - { - encDec(keySize + " " + no, pubParam, privParam, seed, input, output); - } - - public OAEPTest() - { - } - - public String getName() - { - return "OAEP"; - } - - public void performTest() throws Exception - { - baseOaepTest(1, pubKeyEnc1, privKeyEnc1, output1); - baseOaepTest(2, pubKeyEnc2, privKeyEnc2, output2); - baseOaepTest(3, pubKeyEnc3, privKeyEnc3, output3); - - RSAKeyParameters pubParam = new RSAKeyParameters(false, new BigInteger(1, modulus_1024), new BigInteger(1, pubExp_1024)); - RSAKeyParameters privParam = new RSAPrivateCrtKeyParameters(pubParam.getModulus(), pubParam.getExponent(), new BigInteger(1, privExp_1024), new BigInteger(1, prime1_1024), new BigInteger(1, prime2_1024), new BigInteger(1, primeExp1_1024), new BigInteger(1, primeExp2_1024), new BigInteger(1, crtCoef_1024)); - - oaepVecTest(1024, 1, pubParam, privParam, seed_1024_1, input_1024_1, output_1024_1); - oaepVecTest(1024, 2, pubParam, privParam, seed_1024_2, input_1024_2, output_1024_2); - oaepVecTest(1024, 3, pubParam, privParam, seed_1024_3, input_1024_3, output_1024_3); - oaepVecTest(1024, 4, pubParam, privParam, seed_1024_4, input_1024_4, output_1024_4); - oaepVecTest(1024, 5, pubParam, privParam, seed_1024_5, input_1024_5, output_1024_5); - oaepVecTest(1024, 6, pubParam, privParam, seed_1024_6, input_1024_6, output_1024_6); - - pubParam = new RSAKeyParameters(false, new BigInteger(1, modulus_1027), new BigInteger(1, pubExp_1027)); - privParam = new RSAPrivateCrtKeyParameters(pubParam.getModulus(), pubParam.getExponent(), new BigInteger(1, privExp_1027), new BigInteger(1, prime1_1027), new BigInteger(1, prime2_1027), new BigInteger(1, primeExp1_1027), new BigInteger(1, primeExp2_1027), new BigInteger(1, crtCoef_1027)); - - oaepVecTest(1027, 1, pubParam, privParam, seed_1027_1, input_1027_1, output_1027_1); - oaepVecTest(1027, 2, pubParam, privParam, seed_1027_2, input_1027_2, output_1027_2); - oaepVecTest(1027, 3, pubParam, privParam, seed_1027_3, input_1027_3, output_1027_3); - oaepVecTest(1027, 4, pubParam, privParam, seed_1027_4, input_1027_4, output_1027_4); - oaepVecTest(1027, 5, pubParam, privParam, seed_1027_5, input_1027_5, output_1027_5); - oaepVecTest(1027, 6, pubParam, privParam, seed_1027_6, input_1027_6, output_1027_6); - - // - // OAEP - public encrypt, private decrypt differring hashes - // - AsymmetricBlockCipher cipher = new OAEPEncoding(new RSAEngine(), new SHA256Digest(), new SHA1Digest(), new byte[10]); - - cipher.init(true, new ParametersWithRandom(pubParam, new SecureRandom())); - - byte[] input = new byte[10]; - - byte[] out = cipher.processBlock(input, 0, input.length); - - cipher.init(false, privParam); - - out = cipher.processBlock(out, 0, out.length); - - for (int i = 0; i != input.length; i++) - { - if (out[i] != input[i]) - { - fail("mixed digest failed decoding"); - } - } - - cipher = new OAEPEncoding(new RSAEngine(), new SHA1Digest(), new SHA256Digest(), new byte[10]); - - cipher.init(true, new ParametersWithRandom(pubParam, new SecureRandom())); - - out = cipher.processBlock(input, 0, input.length); - - cipher.init(false, privParam); - - out = cipher.processBlock(out, 0, out.length); - - for (int i = 0; i != input.length; i++) - { - if (out[i] != input[i]) - { - fail("mixed digest failed decoding"); - } - } - } - - public static void main( - String[] args) - { - runTest(new OAEPTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OCBTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OCBTest.java deleted file mode 100644 index d3bd2b784..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/OCBTest.java +++ /dev/null @@ -1,296 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.AESEngine; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.modes.AEADBlockCipher; -import org.spongycastle.crypto.modes.OCBBlockCipher; -import org.spongycastle.crypto.params.AEADParameters; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from the "work in progress" Internet-Draft The OCB Authenticated-Encryption - * Algorithm - */ -public class OCBTest - extends SimpleTest -{ - - private static final String K = "000102030405060708090A0B0C0D0E0F"; - private static final String N = "000102030405060708090A0B"; - - // Each test vector contains the strings A, P, C in order - private static final String[][] TEST_VECTORS = new String[][]{ - {"", "", "197B9C3C441D3C83EAFB2BEF633B9182"}, - {"0001020304050607", "0001020304050607", - "92B657130A74B85A16DC76A46D47E1EAD537209E8A96D14E"}, - {"0001020304050607", "", "98B91552C8C009185044E30A6EB2FE21"}, - {"", "0001020304050607", "92B657130A74B85A971EFFCAE19AD4716F88E87B871FBEED"}, - {"000102030405060708090A0B0C0D0E0F", "000102030405060708090A0B0C0D0E0F", - "BEA5E8798DBE7110031C144DA0B26122776C9924D6723A1F" + "C4524532AC3E5BEB"}, - {"000102030405060708090A0B0C0D0E0F", "", "7DDB8E6CEA6814866212509619B19CC6"}, - {"", "000102030405060708090A0B0C0D0E0F", - "BEA5E8798DBE7110031C144DA0B2612213CC8B747807121A" + "4CBB3E4BD6B456AF"}, - {"000102030405060708090A0B0C0D0E0F1011121314151617", - "000102030405060708090A0B0C0D0E0F1011121314151617", - "BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48" + "5FA94FC3F38820F1DC3F3D1FD4E55E1C"}, - {"000102030405060708090A0B0C0D0E0F1011121314151617", "", - "282026DA3068BC9FA118681D559F10F6"}, - {"", "000102030405060708090A0B0C0D0E0F1011121314151617", - "BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48" + "6EF2F52587FDA0ED97DC7EEDE241DF68"}, - { - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", - "BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A6" - + "57149D53773463CBB2A040DD3BD5164372D76D7BB6824240"}, - {"000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", "", - "E1E072633BADE51A60E85951D9C42A1B"}, - { - "", - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", - "BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A6" - + "57149D53773463CB4A3BAE824465CFDAF8C41FC50C7DF9D9"}, - { - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", - "BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A6" - + "57149D53773463CB68C65778B058A635659C623211DEEA0D" + "E30D2C381879F4C8"}, - {"000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", - "", "7AEB7A69A1687DD082CA27B0D9A37096"}, - { - "", - "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", - "BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A6" - + "57149D53773463CB68C65778B058A635060C8467F4ABAB5E" + "8B3C2067A2E115DC"}, - - }; - - public String getName() - { - return "OCB"; - } - - public void performTest() - throws Exception - { - for (int i = 0; i < TEST_VECTORS.length; ++i) - { - runTestCase("Test Case " + i, TEST_VECTORS[i]); - } - - runLongerTestCase(128, 128, Hex.decode("B2B41CBF9B05037DA7F16C24A35C1C94")); - runLongerTestCase(192, 128, Hex.decode("1529F894659D2B51B776740211E7D083")); - runLongerTestCase(256, 128, Hex.decode("42B83106E473C0EEE086C8D631FD4C7B")); - runLongerTestCase(128, 96, Hex.decode("1A4F0654277709A5BDA0D380")); - runLongerTestCase(192, 96, Hex.decode("AD819483E01DD648978F4522")); - runLongerTestCase(256, 96, Hex.decode("CD2E41379C7E7C4458CCFB4A")); - runLongerTestCase(128, 64, Hex.decode("B7ECE9D381FE437F")); - runLongerTestCase(192, 64, Hex.decode("DE0574C87FF06DF9")); - runLongerTestCase(256, 64, Hex.decode("833E45FF7D332F7E")); - - testExceptions(); - } - - private void testExceptions() throws InvalidCipherTextException - { - OCBBlockCipher ocb = new OCBBlockCipher(new AESFastEngine(), new AESFastEngine()); - - try - { - ocb = new OCBBlockCipher(new DESEngine(), new DESEngine()); - - fail("incorrect block size not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - ocb.init(false, new KeyParameter(new byte[16])); - - fail("illegal argument not picked up"); - } - catch (IllegalArgumentException e) - { - // expected - } - - AEADTestUtil.testReset(this, new OCBBlockCipher(new AESEngine(), new AESEngine()), new OCBBlockCipher(new AESEngine(), new AESEngine()), new AEADParameters(new KeyParameter(new byte[16]), 128, new byte[15])); - AEADTestUtil.testTampering(this, ocb, new AEADParameters(new KeyParameter(new byte[16]), 128, new byte[15])); - } - - private void runTestCase(String testName, String[] testVector) - throws InvalidCipherTextException - { - - runTestCase(testName, testVector, 128); - } - - private void runTestCase(String testName, String[] testVector, int macLengthBits) - throws InvalidCipherTextException - { - - byte[] key = Hex.decode(K); - byte[] nonce = Hex.decode(N); - - int pos = 0; - byte[] A = Hex.decode(testVector[pos++]); - byte[] P = Hex.decode(testVector[pos++]); - byte[] C = Hex.decode(testVector[pos++]); - - int macLengthBytes = macLengthBits / 8; - - // TODO Variations processing AAD and cipher bytes incrementally - - KeyParameter keyParameter = new KeyParameter(key); - AEADParameters aeadParameters = new AEADParameters(keyParameter, macLengthBits, nonce, A); - - OCBBlockCipher encCipher = initCipher(true, aeadParameters); - OCBBlockCipher decCipher = initCipher(false, aeadParameters); - - checkTestCase(encCipher, decCipher, testName, macLengthBytes, P, C); - checkTestCase(encCipher, decCipher, testName + " (reused)", macLengthBytes, P, C); - - // TODO Key reuse - } - - private OCBBlockCipher initCipher(boolean forEncryption, AEADParameters parameters) - { - OCBBlockCipher c = new OCBBlockCipher(new AESFastEngine(), new AESFastEngine()); - c.init(forEncryption, parameters); - return c; - } - - private void checkTestCase(OCBBlockCipher encCipher, OCBBlockCipher decCipher, String testName, - int macLengthBytes, byte[] P, byte[] C) - throws InvalidCipherTextException - { - - byte[] tag = Arrays.copyOfRange(C, C.length - macLengthBytes, C.length); - - { - byte[] enc = new byte[encCipher.getOutputSize(P.length)]; - int len = encCipher.processBytes(P, 0, P.length, enc, 0); - len += encCipher.doFinal(enc, len); - - if (enc.length != len) - { - fail("encryption reported incorrect length: " + testName); - } - - if (!areEqual(C, enc)) - { - fail("incorrect encrypt in: " + testName); - } - - if (!areEqual(tag, encCipher.getMac())) - { - fail("getMac() not the same as the appended tag: " + testName); - } - } - - { - byte[] dec = new byte[decCipher.getOutputSize(C.length)]; - int len = decCipher.processBytes(C, 0, C.length, dec, 0); - len += decCipher.doFinal(dec, len); - - if (dec.length != len) - { - fail("decryption reported incorrect length: " + testName); - } - - if (!areEqual(P, dec)) - { - fail("incorrect decrypt in: " + testName); - } - - if (!areEqual(tag, decCipher.getMac())) - { - fail("getMac() not the same as the appended tag: " + testName); - } - } - } - - private void runLongerTestCase(int aesKeySize, int tagLen, byte[] expectedOutput) - throws InvalidCipherTextException - { - KeyParameter key = new KeyParameter(new byte[aesKeySize / 8]); - byte[] N = new byte[12]; - - AEADBlockCipher c1 = new OCBBlockCipher(new AESFastEngine(), new AESFastEngine()); - c1.init(true, new AEADParameters(key, tagLen, N)); - - AEADBlockCipher c2 = new OCBBlockCipher(new AESFastEngine(), new AESFastEngine()); - - long total = 0; - - byte[] S = new byte[128]; - - for (int i = 0; i < 128; ++i) - { - N[11] = (byte)i; - - c2.init(true, new AEADParameters(key, tagLen, N)); - - total += updateCiphers(c1, c2, S, i, true, true); - total += updateCiphers(c1, c2, S, i, false, true); - total += updateCiphers(c1, c2, S, i, true, false); - } - - long expectedTotal = 16256 + (48 * tagLen); - - if (total != expectedTotal) - { - fail("test generated the wrong amount of input: " + total); - } - - byte[] output = new byte[c1.getOutputSize(0)]; - c1.doFinal(output, 0); - - if (!areEqual(expectedOutput, output)) - { - fail("incorrect encrypt in long-form test"); - } - } - - private int updateCiphers(AEADBlockCipher c1, AEADBlockCipher c2, byte[] S, int i, - boolean includeAAD, boolean includePlaintext) - throws InvalidCipherTextException - { - - int inputLen = includePlaintext ? i : 0; - int outputLen = c2.getOutputSize(inputLen); - - byte[] output = new byte[outputLen]; - - int len = 0; - - if (includeAAD) - { - c2.processAADBytes(S, 0, i); - } - - if (includePlaintext) - { - len += c2.processBytes(S, 0, i, output, len); - } - - len += c2.doFinal(output, len); - - c1.processAADBytes(output, 0, len); - - return len; - } - - public static void main(String[] args) - { - runTest(new OCBTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS12Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS12Test.java deleted file mode 100644 index 5374116a7..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS12Test.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.generators.PKCS12ParametersGenerator; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * test for PKCS12 key generation - vectors from - * - * http://www.drh-consultancy.demon.co.uk/test.txt - */ -public class PKCS12Test - implements Test -{ - char[] password1 = { 's', 'm', 'e', 'g' }; - char[] password2 = { 'q', 'u', 'e', 'e', 'g' }; - - private boolean isEqual( - byte[] a, - byte[] b) - { - if (a.length != b.length) - { - return false; - } - - for (int i = 0; i != a.length; i++) - { - if (a[i] != b[i]) - { - return false; - } - } - - return true; - } - - private TestResult run1( - int id, - char[] password, - byte[] salt, - int iCount, - byte[] result) - { - PBEParametersGenerator generator = new PKCS12ParametersGenerator( - new SHA1Digest()); - - generator.init( - PBEParametersGenerator.PKCS12PasswordToBytes(password), - salt, - iCount); - - CipherParameters key = generator.generateDerivedParameters(24 * 8); - - if (isEqual(result, ((KeyParameter)key).getKey())) - { - return new SimpleTestResult(true, "PKCS12Test: Okay"); - } - else - { - return new SimpleTestResult(false, "PKCS12Test: id " - + id + " Failed"); - } - } - - private TestResult run2( - int id, - char[] password, - byte[] salt, - int iCount, - byte[] result) - { - PBEParametersGenerator generator = new PKCS12ParametersGenerator( - new SHA1Digest()); - - generator.init( - PBEParametersGenerator.PKCS12PasswordToBytes(password), - salt, - iCount); - - ParametersWithIV params = (ParametersWithIV)generator.generateDerivedParameters(64, 64); - - if (isEqual(result, params.getIV())) - { - return new SimpleTestResult(true, "PKCS12Test: Okay"); - } - else - { - return new SimpleTestResult(false, "PKCS12Test: id " - + id + " Failed"); - } - } - - private TestResult run3( - int id, - char[] password, - byte[] salt, - int iCount, - byte[] result) - { - PBEParametersGenerator generator = new PKCS12ParametersGenerator( - new SHA1Digest()); - - generator.init( - PBEParametersGenerator.PKCS12PasswordToBytes(password), - salt, - iCount); - - CipherParameters key = generator.generateDerivedMacParameters(160); - - if (isEqual(result, ((KeyParameter)key).getKey())) - { - return new SimpleTestResult(true, "PKCS12Test: Okay"); - } - else - { - return new SimpleTestResult(false, "PKCS12Test: id " - + id + " Failed"); - } - } - - public String getName() - { - return "PKCS12Test"; - } - - public TestResult perform() - { - TestResult result; - - result = run1(1, password1, Hex.decode("0A58CF64530D823F"), 1, - Hex.decode("8AAAE6297B6CB04642AB5B077851284EB7128F1A2A7FBCA3")); - - if (result.isSuccessful()) - { - result = run2(2, password1, Hex.decode("0A58CF64530D823F"), 1, - Hex.decode("79993DFE048D3B76")); - } - - if (result.isSuccessful()) - { - result = run1(3, password1, Hex.decode("642B99AB44FB4B1F"), 1, - Hex.decode("F3A95FEC48D7711E985CFE67908C5AB79FA3D7C5CAA5D966")); - } - - if (result.isSuccessful()) - { - result = run2(4, password1, Hex.decode("642B99AB44FB4B1F"), 1, - Hex.decode("C0A38D64A79BEA1D")); - } - - if (result.isSuccessful()) - { - result = run3(5, password1, Hex.decode("3D83C0E4546AC140"), 1, - Hex.decode("8D967D88F6CAA9D714800AB3D48051D63F73A312")); - } - - if (result.isSuccessful()) - { - result = run1(6, password2, Hex.decode("05DEC959ACFF72F7"), 1000, - Hex.decode("ED2034E36328830FF09DF1E1A07DD357185DAC0D4F9EB3D4")); - } - - if (result.isSuccessful()) - { - result = run2(7, password2, Hex.decode("05DEC959ACFF72F7"), 1000, - Hex.decode("11DEDAD7758D4860")); - } - - if (result.isSuccessful()) - { - result = run1(8, password2, Hex.decode("1682C0FC5B3F7EC5"), 1000, - Hex.decode("483DD6E919D7DE2E8E648BA8F862F3FBFBDC2BCB2C02957F")); - } - - if (result.isSuccessful()) - { - result = run2(9, password2, Hex.decode("1682C0FC5B3F7EC5"), 1000, - Hex.decode("9D461D1B00355C50")); - } - - if (result.isSuccessful()) - { - result = run3(10, password2, Hex.decode("263216FCC2FAB31C"), 1000, - Hex.decode("5EC4C7A80DF652294C3925B6489A7AB857C83476")); - } - - return result; - } - - public static void main( - String[] args) - { - PKCS12Test test = new PKCS12Test(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS5Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS5Test.java deleted file mode 100644 index 66aef5ebe..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PKCS5Test.java +++ /dev/null @@ -1,265 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.ByteArrayInputStream; - -import org.spongycastle.asn1.ASN1InputStream; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.pkcs.EncryptedPrivateKeyInfo; -import org.spongycastle.asn1.pkcs.EncryptionScheme; -import org.spongycastle.asn1.pkcs.KeyDerivationFunc; -import org.spongycastle.asn1.pkcs.PBES2Parameters; -import org.spongycastle.asn1.pkcs.PBKDF2Params; -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.pkcs.RC2CBCParameter; -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.PBEParametersGenerator; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.RC2Engine; -import org.spongycastle.crypto.generators.PKCS5S2ParametersGenerator; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * A test class for PKCS5 PBES2 with PBKDF2 (PKCS5 v2.0) using - * test vectors provider at - * - * RSA's PKCS5 Page - *
    - * The vectors are Base 64 encoded and encrypted using the password "password" - * (without quotes). They should all yield the same PrivateKeyInfo object. - */ -public class PKCS5Test - extends SimpleTest -{ - /** - * encrypted using des-cbc. - */ - static byte[] sample1 = Base64.decode( - "MIIBozA9BgkqhkiG9w0BBQ0wMDAbBgkqhkiG9w0BBQwwDgQIfWBDXwLp4K4CAggA" - + "MBEGBSsOAwIHBAiaCF/AvOgQ6QSCAWDWX4BdAzCRNSQSANSuNsT5X8mWYO27mr3Y" - + "9c9LoBVXGNmYWKA77MI4967f7SmjNcgXj3xNE/jmnVz6hhsjS8E5VPT3kfyVkpdZ" - + "0lr5e9Yk2m3JWpPU7++v5zBkZmC4V/MwV/XuIs6U+vykgzMgpxQg0oZKS9zgmiZo" - + "f/4dOCL0UtCDnyOSvqT7mCVIcMDIEKu8QbVlgZYBop08l60EuEU3gARUo8WsYQmO" - + "Dz/ldx0Z+znIT0SXVuOwc+RVItC5T/Qx+aijmmpt+9l14nmaGBrEkmuhmtdvU/4v" - + "aptewGRgmjOfD6cqK+zs0O5NrrJ3P/6ZSxXj91CQgrThGfOv72bUncXEMNtc8pks" - + "2jpHFjGMdKufnadAD7XuMgzkkaklEXZ4f5tU6heIIwr51g0GBEGF96gYPFnjnSQM" - + "75JE02Clo+DfcfXpcybPTwwFg2jd6JTTOfkdf6OdSlA/1XNK43FA"); - - /** - * encrypted using des-ede3-cbc. - */ - static byte[] sample2 = Base64.decode( - "MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIeFeOWl1jywYCAggA" - + "MBQGCCqGSIb3DQMHBAjUJ5eGBhQGtQSCAWBrHrRgqO8UUMLcWzZEtpk1l3mjxiF/" - + "koCMkHsFwowgyWhEbgIkTgbSViK54LVK8PskekcGNLph+rB6bGZ7pPbL5pbXASJ8" - + "+MkQcG3FZdlS4Ek9tTJDApj3O1UubZGFG4uvTlJJFbF1BOJ3MkY3XQ9Gl1qwv7j5" - + "6e103Da7Cq9+oIDKmznza78XXQYrUsPo8mJGjUxPskEYlzwvHjKubRnYm/K6RKhi" - + "5f4zX4BQ/Dt3H812ZjRXrsjAJP0KrD/jyD/jCT7zNBVPH1izBds+RwizyQAHwfNJ" - + "BFR78TH4cgzB619X47FDVOnT0LqQNVd0O3cSwnPrXE9XR3tPayE+iOB15llFSmi8" - + "z0ByOXldEpkezCn92Umk++suzIVj1qfsK+bv2phZWJPbLEIWPDRHUbYf76q5ArAr" - + "u4xtxT/hoK3krEs/IN3d70qjlUJ36SEw1UaZ82PWhakQbdtu39ZraMJB"); - - /** - * encrypted using rc2-cbc. - */ - static byte[] sample3 = Base64.decode( - "MIIBrjBIBgkqhkiG9w0BBQ0wOzAeBgkqhkiG9w0BBQwwEQQIrHyQPBZqWLUCAggA" - + "AgEQMBkGCCqGSIb3DQMCMA0CAToECEhbh7YZKiPSBIIBYCT1zp6o5jpFlIkgwPop" - + "7bW1+8ACr4exqzkeb3WflQ8cWJ4cURxzVdvxUnXeW1VJdaQZtjS/QHs5GhPTG/0f" - + "wtvnaPfwrIJ3FeGaZfcg2CrYhalOFmEb4xrE4KyoEQmUN8tb/Cg94uzd16BOPw21" - + "RDnE8bnPdIGY7TyL95kbkqH23mK53pi7h+xWIgduW+atIqDyyt55f7WMZcvDvlj6" - + "VpN/V0h+qxBHL274WA4dj6GYgeyUFpi60HdGCK7By2TBy8h1ZvKGjmB9h8jZvkx1" - + "MkbRumXxyFsowTZawyYvO8Um6lbfEDP9zIEUq0IV8RqH2MRyblsPNSikyYhxX/cz" - + "tdDxRKhilySbSBg5Kr8OfcwKp9bpinN96nmG4xr3Tch1bnVvqJzOQ5+Vva2WwVvH" - + "2JkWvYm5WaANg4Q6bRxu9vz7DuhbJjQdZbxFezIAgrJdSe92B00jO/0Kny1WjiVO" - + "6DA="); - - static byte[] result = Hex.decode( - "30820155020100300d06092a864886f70d01010105000482013f3082013b020100024100" - + "debbfc2c09d61bada2a9462f24224e54cc6b3cc0755f15ce318ef57e79df17026b6a85cc" - + "a12428027245045df2052a329a2f9ad3d17b78a10572ad9b22bf343b020301000102402d" - + "90a96adcec472743527bc023153d8f0d6e96b40c8ed228276d467d843306429f8670559b" - + "f376dd41857f6397c2fc8d95e0e53ed62de420b855430ee4a1b8a1022100ffcaf0838239" - + "31e073ff534f06a5d415b3d414bc614a4544a3dff7ed271817eb022100deea30242117db" - + "2d3b8837f58f1da530ff83cf9283680da33683ec4e583610f1022100e6026381adb0a683" - + "f16a8f4c096b462979b9e4277cc89f3ed8a905b46fa9ff9f02210097c146d4d1d2b3dbaf" - + "53a504ff51674c5c271800de84d003f4f10ac6ab36e38102202bfa141f10bda874e1017d" - + "845e82767c1c38e82745daf421f0c8cd09d7652387"); - - private class PBETest - extends SimpleTest - { - int id; - BufferedBlockCipher cipher; - byte[] sample; - int keySize; - - PBETest( - int id, - BufferedBlockCipher cipher, - byte[] sample, - int keySize) - { - this.id = id; - this.cipher = cipher; - this.sample = sample; - this.keySize = keySize; - } - - public String getName() - { - return cipher.getUnderlyingCipher().getAlgorithmName() + " PKCS5S2 Test " + id; - } - - public void performTest() - { - char[] password = { 'p', 'a', 's', 's', 'w', 'o', 'r', 'd' }; - PBEParametersGenerator generator = new PKCS5S2ParametersGenerator(); - ByteArrayInputStream bIn = new ByteArrayInputStream(sample); - ASN1InputStream dIn = new ASN1InputStream(bIn); - EncryptedPrivateKeyInfo info = null; - - try - { - info = EncryptedPrivateKeyInfo.getInstance(dIn.readObject()); - } - catch (Exception e) - { - fail("failed construction - exception " + e.toString(), e); - } - - PBES2Parameters alg = PBES2Parameters.getInstance(info.getEncryptionAlgorithm().getParameters()); - PBKDF2Params func = PBKDF2Params.getInstance(alg.getKeyDerivationFunc().getParameters()); - EncryptionScheme scheme = alg.getEncryptionScheme(); - - if (func.getKeyLength() != null) - { - keySize = func.getKeyLength().intValue() * 8; - } - - int iterationCount = func.getIterationCount().intValue(); - byte[] salt = func.getSalt(); - - generator.init( - PBEParametersGenerator.PKCS5PasswordToBytes(password), - salt, - iterationCount); - - CipherParameters param; - - if (scheme.getAlgorithm().equals(PKCSObjectIdentifiers.RC2_CBC)) - { - RC2CBCParameter rc2Params = RC2CBCParameter.getInstance(scheme.getParameters()); - byte[] iv = rc2Params.getIV(); - - param = new ParametersWithIV(generator.generateDerivedParameters(keySize), iv); - } - else - { - byte[] iv = ASN1OctetString.getInstance(scheme.getParameters()).getOctets(); - - param = new ParametersWithIV(generator.generateDerivedParameters(keySize), iv); - } - - cipher.init(false, param); - - byte[] data = info.getEncryptedData(); - byte[] out = new byte[cipher.getOutputSize(data.length)]; - int len = cipher.processBytes(data, 0, data.length, out, 0); - - try - { - len += cipher.doFinal(out, len); - } - catch (Exception e) - { - fail("failed doFinal - exception " + e.toString()); - } - - if (result.length != len) - { - fail("failed length"); - } - - for (int i = 0; i != len; i++) - { - if (out[i] != result[i]) - { - fail("failed comparison"); - } - } - } - } - - public String getName() - { - return "PKCS5S2"; - } - - public void performTest() - throws Exception - { - BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new DESEngine())); - SimpleTest test = new PBETest(0, cipher, sample1, 64); - - test.performTest(); - - cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new DESedeEngine())); - test = new PBETest(1, cipher, sample2, 192); - - test.performTest(); - - cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new RC2Engine())); - test = new PBETest(2, cipher, sample3, 0); - test.performTest(); - - // - // RFC 3211 tests - // - char[] password = { 'p', 'a', 's', 's', 'w', 'o', 'r', 'd' }; - PBEParametersGenerator generator = new PKCS5S2ParametersGenerator(); - - byte[] salt = Hex.decode("1234567878563412"); - - generator.init( - PBEParametersGenerator.PKCS5PasswordToBytes(password), - salt, - 5); - - if (!areEqual(((KeyParameter)generator.generateDerivedParameters(64)).getKey(), Hex.decode("d1daa78615f287e6"))) - { - fail("64 test failed"); - } - - password = "All n-entities must communicate with other n-entities via n-1 entiteeheehees".toCharArray(); - - generator.init( - PBEParametersGenerator.PKCS5PasswordToBytes(password), - salt, - 500); - - if (!areEqual(((KeyParameter)generator.generateDerivedParameters(192)).getKey(), Hex.decode("6a8970bf68c92caea84a8df28510858607126380cc47ab2d"))) - { - fail("192 test failed"); - } - - generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, 60000); - if (!areEqual(((KeyParameter)generator.generateDerivedParameters(192)).getKey(), Hex.decode("29aaef810c12ecd2236bbcfb55407f9852b5573dc1c095bb"))) - { - fail("192 (60000) test failed"); - } - } - - public static void main( - String[] args) - { - runTest(new PKCS5Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSBlindTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSBlindTest.java deleted file mode 100644 index 36362bca7..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSBlindTest.java +++ /dev/null @@ -1,398 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.engines.RSABlindingEngine; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.generators.RSABlindingFactorGenerator; -import org.spongycastle.crypto.generators.RSAKeyPairGenerator; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSABlindingParameters; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.crypto.signers.PSSSigner; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -import java.math.BigInteger; -import java.security.SecureRandom; - -/* - * RSA PSS test vectors for PKCS#1 V2.1 with blinding - */ -public class PSSBlindTest - extends SimpleTest -{ - private final int DATA_LENGTH = 1000; - private final int NUM_TESTS = 50; - private final int NUM_TESTS_WITH_KEY_GENERATION = 10; - - private class FixedRandom - extends SecureRandom - { - byte[] vals; - - FixedRandom( - byte[] vals) - { - this.vals = vals; - } - - public void nextBytes( - byte[] bytes) - { - System.arraycopy(vals, 0, bytes, 0, vals.length); - } - } - - // - // Example 1: A 1024-bit RSA keypair - // - private RSAKeyParameters pub1 = new RSAKeyParameters(false, - new BigInteger("a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137",16), - new BigInteger("010001",16)); - - private RSAKeyParameters prv1 = new RSAPrivateCrtKeyParameters( - new BigInteger("a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137",16), - new BigInteger("010001",16), - new BigInteger("33a5042a90b27d4f5451ca9bbbd0b44771a101af884340aef9885f2a4bbe92e894a724ac3c568c8f97853ad07c0266c8c6a3ca0929f1e8f11231884429fc4d9ae55fee896a10ce707c3ed7e734e44727a39574501a532683109c2abacaba283c31b4bd2f53c3ee37e352cee34f9e503bd80c0622ad79c6dcee883547c6a3b325",16), - new BigInteger("e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443",16), - new BigInteger("b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd",16), - new BigInteger("28fa13938655be1f8a159cbaca5a72ea190c30089e19cd274a556f36c4f6e19f554b34c077790427bbdd8dd3ede2448328f385d81b30e8e43b2fffa027861979",16), - new BigInteger("1a8b38f398fa712049898d7fb79ee0a77668791299cdfa09efc0e507acb21ed74301ef5bfd48be455eaeb6e1678255827580a8e4e8e14151d1510a82a3f2e729",16), - new BigInteger("27156aba4126d24a81f3a528cbfb27f56886f840a9f6e86e17a44b94fe9319584b8e22fdde1e5a2e3bd8aa5ba8d8584194eb2190acf832b847f13a3d24a79f4d",16)); - - // PSSExample1.1 - - private byte[] msg1a = Hex.decode("cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b62371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb769757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb061a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d6193c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0"); - - private byte[] slt1a = Hex.decode("dee959c7e06411361420ff80185ed57f3e6776af"); - - private byte[] sig1a = Hex.decode("9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c"); - - // PSSExample1.2 - - private byte[] msg1b = Hex.decode("851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f71a1cca582d43ecc72b1bca16dfc7013226b9e"); - - private byte[] slt1b = Hex.decode("ef2869fa40c346cb183dab3d7bffc98fd56df42d"); - - private byte[] sig1b = Hex.decode("3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843"); - - // - // Example 2: A 1025-bit RSA keypair - // - - private RSAKeyParameters pub2 = new RSAKeyParameters(false, - new BigInteger("01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv2 = new RSAPrivateCrtKeyParameters( - new BigInteger("01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9", 16), - new BigInteger("010001", 16), - new BigInteger("027d147e4673057377fd1ea201565772176a7dc38358d376045685a2e787c23c15576bc16b9f444402d6bfc5d98a3e88ea13ef67c353eca0c0ddba9255bd7b8bb50a644afdfd1dd51695b252d22e7318d1b6687a1c10ff75545f3db0fe602d5f2b7f294e3601eab7b9d1cecd767f64692e3e536ca2846cb0c2dd486a39fa75b1", 16), - new BigInteger("016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1", 16), - new BigInteger("014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079", 16), - new BigInteger("e247cce504939b8f0a36090de200938755e2444b29539a7da7a902f6056835c0db7b52559497cfe2c61a8086d0213c472c78851800b171f6401de2e9c2756f31", 16), - new BigInteger("b12fba757855e586e46f64c38a70c68b3f548d93d787b399999d4c8f0bbd2581c21e19ed0018a6d5d3df86424b3abcad40199d31495b61309f27c1bf55d487c1", 16), - new BigInteger("564b1e1fa003bda91e89090425aac05b91da9ee25061e7628d5f51304a84992fdc33762bd378a59f030a334d532bd0dae8f298ea9ed844636ad5fb8cbdc03cad", 16)); - - // PSS Example 2.1 - - private byte[] msg2a = Hex.decode("daba032066263faedb659848115278a52c44faa3a76f37515ed336321072c40a9d9b53bc05014078adf520875146aae70ff060226dcb7b1f1fc27e9360"); - private byte[] slt2a = Hex.decode("57bf160bcb02bb1dc7280cf0458530b7d2832ff7"); - private byte[] sig2a = Hex.decode("014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3"); - - // PSS Example 2.2 - - private byte[] msg2b = Hex.decode("e4f8601a8a6da1be34447c0959c058570c3668cfd51dd5f9ccd6ad4411fe8213486d78a6c49f93efc2ca2288cebc2b9b60bd04b1e220d86e3d4848d709d032d1e8c6a070c6af9a499fcf95354b14ba6127c739de1bb0fd16431e46938aec0cf8ad9eb72e832a7035de9b7807bdc0ed8b68eb0f5ac2216be40ce920c0db0eddd3860ed788efaccaca502d8f2bd6d1a7c1f41ff46f1681c8f1f818e9c4f6d91a0c7803ccc63d76a6544d843e084e363b8acc55aa531733edb5dee5b5196e9f03e8b731b3776428d9e457fe3fbcb3db7274442d785890e9cb0854b6444dace791d7273de1889719338a77fe"); - private byte[] slt2b = Hex.decode("7f6dd359e604e60870e898e47b19bf2e5a7b2a90"); - private byte[] sig2b = Hex.decode("010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea"); - - // - // Example 4: A 1027-bit RSA key pair - // - - private RSAKeyParameters pub4 = new RSAKeyParameters(false, - new BigInteger("054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv4 = new RSAPrivateCrtKeyParameters( - new BigInteger("054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705", 16), - new BigInteger("010001", 16), - new BigInteger("fa041f8cd9697ceed38ec8caa275523b4dd72b09a301d3541d72f5d31c05cbce2d6983b36183af10690bd46c46131e35789431a556771dd0049b57461bf060c1f68472e8a67c25f357e5b6b4738fa541a730346b4a07649a2dfa806a69c975b6aba64678acc7f5913e89c622f2d8abb1e3e32554e39df94ba60c002e387d9011", 16), - new BigInteger("029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995", 16), - new BigInteger("020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1", 16), - new BigInteger("026e7e28010ecf2412d9523ad704647fb4fe9b66b1a681581b0e15553a89b1542828898f27243ebab45ff5e1acb9d4df1b051fbc62824dbc6f6c93261a78b9a759", 16), - new BigInteger("012ddcc86ef655998c39ddae11718669e5e46cf1495b07e13b1014cd69b3af68304ad2a6b64321e78bf3bbca9bb494e91d451717e2d97564c6549465d0205cf421", 16), - new BigInteger("010600c4c21847459fe576703e2ebecae8a5094ee63f536bf4ac68d3c13e5e4f12ac5cc10ab6a2d05a199214d1824747d551909636b774c22cac0b837599abcc75", 16)); - - // PSS Example 4.1 - - private byte[] msg4a = Hex.decode("9fb03b827c8217d9"); - - private byte[] slt4a = Hex.decode("ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d"); - - private byte[] sig4a = Hex.decode("0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948"); - - // PSS Example 4.2 - - private byte[] msg4b = Hex.decode("0ca2ad77797ece86de5bf768750ddb5ed6a3116ad99bbd17edf7f782f0db1cd05b0f677468c5ea420dc116b10e80d110de2b0461ea14a38be68620392e7e893cb4ea9393fb886c20ff790642305bf302003892e54df9f667509dc53920df583f50a3dd61abb6fab75d600377e383e6aca6710eeea27156e06752c94ce25ae99fcbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8fe369d90b3ca612f9f"); - - private byte[] slt4b = Hex.decode("22d71d54363a4217aa55113f059b3384e3e57e44"); - - private byte[] sig4b = Hex.decode("049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598"); - - - // - // Example 8: A 1031-bit RSA key pair - // - - private RSAKeyParameters pub8 = new RSAKeyParameters(false, - new BigInteger("495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv8 = new RSAPrivateCrtKeyParameters( - new BigInteger("495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f", 16), - new BigInteger("010001", 16), - new BigInteger("6c66ffe98980c38fcdeab5159898836165f4b4b817c4f6a8d486ee4ea9130fe9b9092bd136d184f95f504a607eac565846d2fdd6597a8967c7396ef95a6eeebb4578a643966dca4d8ee3de842de63279c618159c1ab54a89437b6a6120e4930afb52a4ba6ced8a4947ac64b30a3497cbe701c2d6266d517219ad0ec6d347dbe9", 16), - new BigInteger("08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb", 16), - new BigInteger("0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d", 16), - new BigInteger("05c2a83c124b3621a2aa57ea2c3efe035eff4560f33ddebb7adab81fce69a0c8c2edc16520dda83d59a23be867963ac65f2cc710bbcfb96ee103deb771d105fd85", 16), - new BigInteger("04cae8aa0d9faa165c87b682ec140b8ed3b50b24594b7a3b2c220b3669bb819f984f55310a1ae7823651d4a02e99447972595139363434e5e30a7e7d241551e1b9", 16), - new BigInteger("07d3e47bf686600b11ac283ce88dbb3f6051e8efd04680e44c171ef531b80b2b7c39fc766320e2cf15d8d99820e96ff30dc69691839c4b40d7b06e45307dc91f3f", 16)); - - // PSS Example 8.1 - - private byte[] msg8a = Hex.decode("81332f4be62948415ea1d899792eeacf6c6e1db1da8be13b5cea41db2fed467092e1ff398914c714259775f595f8547f735692a575e6923af78f22c6997ddb90fb6f72d7bb0dd5744a31decd3dc3685849836ed34aec596304ad11843c4f88489f209735f5fb7fdaf7cec8addc5818168f880acbf490d51005b7a8e84e43e54287977571dd99eea4b161eb2df1f5108f12a4142a83322edb05a75487a3435c9a78ce53ed93bc550857d7a9fb"); - - private byte[] slt8a = Hex.decode("1d65491d79c864b373009be6f6f2467bac4c78fa"); - - private byte[] sig8a = Hex.decode("0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5"); - - // PSS Example 8.2 - - private byte[] msg8b = Hex.decode("e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3cede9d0faabf4fcc8e60a973e5595fd9ea08"); - - private byte[] slt8b = Hex.decode("435c098aa9909eb2377f1248b091b68987ff1838"); - - private byte[] sig8b = Hex.decode("2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e"); - - // - // Example 9: A 1536-bit RSA key pair - // - - private RSAKeyParameters pub9 = new RSAKeyParameters(false, - new BigInteger("e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv9 = new RSAPrivateCrtKeyParameters( - new BigInteger("e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b", 16), - new BigInteger("010001", 16), - new BigInteger("6a7fd84fb85fad073b34406db74f8d61a6abc12196a961dd79565e9da6e5187bce2d980250f7359575359270d91590bb0e427c71460b55d51410b191bcf309fea131a92c8e702738fa719f1e0041f52e40e91f229f4d96a1e6f172e15596b4510a6daec26105f2bebc53316b87bdf21311666070e8dfee69d52c71a976caae79c72b68d28580dc686d9f5129d225f82b3d615513a882b3db91416b48ce08888213e37eeb9af800d81cab328ce420689903c00c7b5fd31b75503a6d419684d629", 16), - new BigInteger("f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367", 16), - new BigInteger("ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d", 16), - new BigInteger("2bb68bddfb0c4f56c8558bffaf892d8043037841e7fa81cfa61a38c5e39b901c8ee71122a5da2227bd6cdeeb481452c12ad3d61d5e4f776a0ab556591befe3e59e5a7fddb8345e1f2f35b9f4cee57c32414c086aec993e9353e480d9eec6289f", 16), - new BigInteger("4ff897709fad079746494578e70fd8546130eeab5627c49b080f05ee4ad9f3e4b7cba9d6a5dff113a41c3409336833f190816d8a6bc42e9bec56b7567d0f3c9c696db619b245d901dd856db7c8092e77e9a1cccd56ee4dba42c5fdb61aec2669", 16), - new BigInteger("77b9d1137b50404a982729316efafc7dfe66d34e5a182600d5f30a0a8512051c560d081d4d0a1835ec3d25a60f4e4d6aa948b2bf3dbb5b124cbbc3489255a3a948372f6978496745f943e1db4f18382ceaa505dfc65757bb3f857a58dce52156", 16)); - - // PSS Example 9.1 - - private byte[] msg9a = Hex.decode("a88e265855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef43795922028bc2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b278872bf51321c4a972f3c95570f3445d4f57980e0f20df54846e6a52c668f1288c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55cf979f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60ca709e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c244159420637028df0a18079d6208ea8b4711a2c750f5"); - - private byte[] slt9a = Hex.decode("c0a425313df8d7564bd2434d311523d5257eed80"); - - private byte[] sig9a = Hex.decode("586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e"); - - // PSS Example 9.2 - - private byte[] msg9b = Hex.decode("c8c9c6af04acda414d227ef23e0820c3732c500dc87275e95b0d095413993c2658bc1d988581ba879c2d201f14cb88ced153a01969a7bf0a7be79c84c1486bc12b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb96d90a82ebab69f86350e1822e8bd536a2e"); - - private byte[] slt9b = Hex.decode("b307c43b4850a8dac2f15f32e37839ef8c5c0e91"); - - private byte[] sig9b = Hex.decode("80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958"); - - - public String getName() - { - return "PSSBlindTest"; - } - - private void testSig( - int id, - RSAKeyParameters pub, - RSAKeyParameters prv, - byte[] slt, - byte[] msg, - byte[] sig) - throws Exception - { - RSABlindingFactorGenerator blindFactorGen = new RSABlindingFactorGenerator(); - RSABlindingEngine blindingEngine = new RSABlindingEngine(); - PSSSigner blindSigner = new PSSSigner(blindingEngine, new SHA1Digest(), 20); - PSSSigner signer = new PSSSigner(new RSAEngine(), new SHA1Digest(), 20); - - blindFactorGen.init(pub); - - BigInteger blindFactor = blindFactorGen.generateBlindingFactor(); - RSABlindingParameters params = new RSABlindingParameters(pub, blindFactor); - - // generate a blind signature - blindSigner.init(true, new ParametersWithRandom(params, new FixedRandom(slt))); - - blindSigner.update(msg, 0, msg.length); - - byte[] blindedData = blindSigner.generateSignature(); - - RSAEngine signerEngine = new RSAEngine(); - - signerEngine.init(true, prv); - - byte[] blindedSig = signerEngine.processBlock(blindedData, 0, blindedData.length); - - // unblind the signature - blindingEngine.init(false, params); - - byte[] s = blindingEngine.processBlock(blindedSig, 0, blindedSig.length); - - //signature verification - if (!areEqual(s, sig)) - { - fail("test " + id + " failed generation"); - } - - //verify signature with PSSSigner - signer.init(false, pub); - signer.update(msg, 0, msg.length); - - if (!signer.verifySignature(s)) - { - fail("test " + id + " failed PSSSigner verification"); - } - } - - private boolean isProcessingOkay( - RSAKeyParameters pub, - RSAKeyParameters prv, - byte[] data, - SecureRandom random) - throws Exception - { - RSABlindingFactorGenerator blindFactorGen = new RSABlindingFactorGenerator(); - RSABlindingEngine blindingEngine = new RSABlindingEngine(); - PSSSigner blindSigner = new PSSSigner(blindingEngine, new SHA1Digest(), 20); - PSSSigner pssEng = new PSSSigner(new RSAEngine(), new SHA1Digest(), 20); - - random.nextBytes(data); - - blindFactorGen.init(pub); - - BigInteger blindFactor = blindFactorGen.generateBlindingFactor(); - RSABlindingParameters params = new RSABlindingParameters(pub, blindFactor); - - // generate a blind signature - blindSigner.init(true, new ParametersWithRandom(params, random)); - - blindSigner.update(data, 0, data.length); - - byte[] blindedData = blindSigner.generateSignature(); - - RSAEngine signerEngine = new RSAEngine(); - - signerEngine.init(true, prv); - - byte[] blindedSig = signerEngine.processBlock(blindedData, 0, blindedData.length); - - // unblind the signature - blindingEngine.init(false, params); - - byte[] s = blindingEngine.processBlock(blindedSig, 0, blindedSig.length); - - //verify signature with PSSSigner - pssEng.init(false, pub); - pssEng.update(data, 0, data.length); - - return pssEng.verifySignature(s); - } - - public void performTest() - throws Exception - { - testSig(1, pub1, prv1, slt1a, msg1a, sig1a); - testSig(2, pub1, prv1, slt1b, msg1b, sig1b); - testSig(3, pub2, prv2, slt2a, msg2a, sig2a); - testSig(4, pub2, prv2, slt2b, msg2b, sig2b); - testSig(5, pub4, prv4, slt4a, msg4a, sig4a); - testSig(6, pub4, prv4, slt4b, msg4b, sig4b); - testSig(7, pub8, prv8, slt8a, msg8a, sig8a); - testSig(8, pub8, prv8, slt8b, msg8b, sig8b); - testSig(9, pub9, prv9, slt9a, msg9a, sig9a); - testSig(10, pub9, prv9, slt9b, msg9b, sig9b); - - // - // loop test - // - int failed = 0; - byte[] data = new byte[DATA_LENGTH]; - - SecureRandom random = new SecureRandom(); - - - RSAKeyParameters[] kprv ={prv1, prv2, prv4, prv8, prv9}; - RSAKeyParameters[] kpub ={pub1, pub2, pub4, pub8, pub9}; - - int i = 0; - for (int j = 0; j < NUM_TESTS; j++, i++) - { - if (i == kprv.length) - { - i = 0; - } - - if (!isProcessingOkay(kpub[i], kprv[i], data, random)) - { - failed++; - } - } - - if (failed != 0) - { - fail("loop test failed - failures: " + failed); - } - - // - // key generation test - // - RSAKeyPairGenerator pGen = new RSAKeyPairGenerator(); - RSAKeyGenerationParameters genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 1024, 25); - - pGen.init(genParam); - failed = 0; - - for (int k = 0; k < NUM_TESTS_WITH_KEY_GENERATION; k++) - { - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - for (int j = 0; j < NUM_TESTS; j++) - { - if (!isProcessingOkay((RSAKeyParameters)pair.getPublic(), (RSAKeyParameters)pair.getPrivate(), data, random)) - { - failed++; - } - } - - } - - if (failed != 0) - { - fail("loop test with key generation failed - failures: " + failed); - } - } - - public static void main( - String[] args) - { - runTest(new PSSBlindTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSTest.java deleted file mode 100644 index 517433a61..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PSSTest.java +++ /dev/null @@ -1,332 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.crypto.signers.PSSSigner; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/* - * RSA PSS test vectors for PKCS#1 V2.1 - */ -public class PSSTest - extends SimpleTest -{ - private final int DATA_LENGTH = 1000; - private final int NUM_TESTS = 500; - - private class FixedRandom - extends SecureRandom - { - byte[] vals; - - FixedRandom( - byte[] vals) - { - this.vals = vals; - } - - public void nextBytes( - byte[] bytes) - { - System.arraycopy(vals, 0, bytes, 0, vals.length); - } - } - - // - // Example 1: A 1024-bit RSA keypair - // - private RSAKeyParameters pub1 = new RSAKeyParameters(false, - new BigInteger("a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137",16), - new BigInteger("010001",16)); - - private RSAKeyParameters prv1 = new RSAPrivateCrtKeyParameters( - new BigInteger("a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137",16), - new BigInteger("010001",16), - new BigInteger("33a5042a90b27d4f5451ca9bbbd0b44771a101af884340aef9885f2a4bbe92e894a724ac3c568c8f97853ad07c0266c8c6a3ca0929f1e8f11231884429fc4d9ae55fee896a10ce707c3ed7e734e44727a39574501a532683109c2abacaba283c31b4bd2f53c3ee37e352cee34f9e503bd80c0622ad79c6dcee883547c6a3b325",16), - new BigInteger("e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443",16), - new BigInteger("b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd",16), - new BigInteger("28fa13938655be1f8a159cbaca5a72ea190c30089e19cd274a556f36c4f6e19f554b34c077790427bbdd8dd3ede2448328f385d81b30e8e43b2fffa027861979",16), - new BigInteger("1a8b38f398fa712049898d7fb79ee0a77668791299cdfa09efc0e507acb21ed74301ef5bfd48be455eaeb6e1678255827580a8e4e8e14151d1510a82a3f2e729",16), - new BigInteger("27156aba4126d24a81f3a528cbfb27f56886f840a9f6e86e17a44b94fe9319584b8e22fdde1e5a2e3bd8aa5ba8d8584194eb2190acf832b847f13a3d24a79f4d",16)); - - // PSSExample1.1 - - private byte[] msg1a = Hex.decode("cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b62371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb769757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb061a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d6193c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0"); - - private byte[] slt1a = Hex.decode("dee959c7e06411361420ff80185ed57f3e6776af"); - - private byte[] sig1a = Hex.decode("9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c"); - - // PSSExample1.2 - - private byte[] msg1b = Hex.decode("851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f71a1cca582d43ecc72b1bca16dfc7013226b9e"); - - private byte[] slt1b = Hex.decode("ef2869fa40c346cb183dab3d7bffc98fd56df42d"); - - private byte[] sig1b = Hex.decode("3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843"); - - // - // Example 2: A 1025-bit RSA keypair - // - - private RSAKeyParameters pub2 = new RSAKeyParameters(false, - new BigInteger("01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv2 = new RSAPrivateCrtKeyParameters( - new BigInteger("01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9", 16), - new BigInteger("010001", 16), - new BigInteger("027d147e4673057377fd1ea201565772176a7dc38358d376045685a2e787c23c15576bc16b9f444402d6bfc5d98a3e88ea13ef67c353eca0c0ddba9255bd7b8bb50a644afdfd1dd51695b252d22e7318d1b6687a1c10ff75545f3db0fe602d5f2b7f294e3601eab7b9d1cecd767f64692e3e536ca2846cb0c2dd486a39fa75b1", 16), - new BigInteger("016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1", 16), - new BigInteger("014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079", 16), - new BigInteger("e247cce504939b8f0a36090de200938755e2444b29539a7da7a902f6056835c0db7b52559497cfe2c61a8086d0213c472c78851800b171f6401de2e9c2756f31", 16), - new BigInteger("b12fba757855e586e46f64c38a70c68b3f548d93d787b399999d4c8f0bbd2581c21e19ed0018a6d5d3df86424b3abcad40199d31495b61309f27c1bf55d487c1", 16), - new BigInteger("564b1e1fa003bda91e89090425aac05b91da9ee25061e7628d5f51304a84992fdc33762bd378a59f030a334d532bd0dae8f298ea9ed844636ad5fb8cbdc03cad", 16)); - - // PSS Example 2.1 - - private byte[] msg2a = Hex.decode("daba032066263faedb659848115278a52c44faa3a76f37515ed336321072c40a9d9b53bc05014078adf520875146aae70ff060226dcb7b1f1fc27e9360"); - private byte[] slt2a = Hex.decode("57bf160bcb02bb1dc7280cf0458530b7d2832ff7"); - private byte[] sig2a = Hex.decode("014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3"); - - // PSS Example 2.2 - - private byte[] msg2b = Hex.decode("e4f8601a8a6da1be34447c0959c058570c3668cfd51dd5f9ccd6ad4411fe8213486d78a6c49f93efc2ca2288cebc2b9b60bd04b1e220d86e3d4848d709d032d1e8c6a070c6af9a499fcf95354b14ba6127c739de1bb0fd16431e46938aec0cf8ad9eb72e832a7035de9b7807bdc0ed8b68eb0f5ac2216be40ce920c0db0eddd3860ed788efaccaca502d8f2bd6d1a7c1f41ff46f1681c8f1f818e9c4f6d91a0c7803ccc63d76a6544d843e084e363b8acc55aa531733edb5dee5b5196e9f03e8b731b3776428d9e457fe3fbcb3db7274442d785890e9cb0854b6444dace791d7273de1889719338a77fe"); - private byte[] slt2b = Hex.decode("7f6dd359e604e60870e898e47b19bf2e5a7b2a90"); - private byte[] sig2b = Hex.decode("010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea"); - - // - // Example 4: A 1027-bit RSA key pair - // - - private RSAKeyParameters pub4 = new RSAKeyParameters(false, - new BigInteger("054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv4 = new RSAPrivateCrtKeyParameters( - new BigInteger("054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705", 16), - new BigInteger("010001", 16), - new BigInteger("fa041f8cd9697ceed38ec8caa275523b4dd72b09a301d3541d72f5d31c05cbce2d6983b36183af10690bd46c46131e35789431a556771dd0049b57461bf060c1f68472e8a67c25f357e5b6b4738fa541a730346b4a07649a2dfa806a69c975b6aba64678acc7f5913e89c622f2d8abb1e3e32554e39df94ba60c002e387d9011", 16), - new BigInteger("029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995", 16), - new BigInteger("020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1", 16), - new BigInteger("026e7e28010ecf2412d9523ad704647fb4fe9b66b1a681581b0e15553a89b1542828898f27243ebab45ff5e1acb9d4df1b051fbc62824dbc6f6c93261a78b9a759", 16), - new BigInteger("012ddcc86ef655998c39ddae11718669e5e46cf1495b07e13b1014cd69b3af68304ad2a6b64321e78bf3bbca9bb494e91d451717e2d97564c6549465d0205cf421", 16), - new BigInteger("010600c4c21847459fe576703e2ebecae8a5094ee63f536bf4ac68d3c13e5e4f12ac5cc10ab6a2d05a199214d1824747d551909636b774c22cac0b837599abcc75", 16)); - - // PSS Example 4.1 - - private byte[] msg4a = Hex.decode("9fb03b827c8217d9"); - - private byte[] slt4a = Hex.decode("ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d"); - - private byte[] sig4a = Hex.decode("0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948"); - - // PSS Example 4.2 - - private byte[] msg4b = Hex.decode("0ca2ad77797ece86de5bf768750ddb5ed6a3116ad99bbd17edf7f782f0db1cd05b0f677468c5ea420dc116b10e80d110de2b0461ea14a38be68620392e7e893cb4ea9393fb886c20ff790642305bf302003892e54df9f667509dc53920df583f50a3dd61abb6fab75d600377e383e6aca6710eeea27156e06752c94ce25ae99fcbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8fe369d90b3ca612f9f"); - - private byte[] slt4b = Hex.decode("22d71d54363a4217aa55113f059b3384e3e57e44"); - - private byte[] sig4b = Hex.decode("049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598"); - - - // - // Example 8: A 1031-bit RSA key pair - // - - private RSAKeyParameters pub8 = new RSAKeyParameters(false, - new BigInteger("495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv8 = new RSAPrivateCrtKeyParameters( - new BigInteger("495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f", 16), - new BigInteger("010001", 16), - new BigInteger("6c66ffe98980c38fcdeab5159898836165f4b4b817c4f6a8d486ee4ea9130fe9b9092bd136d184f95f504a607eac565846d2fdd6597a8967c7396ef95a6eeebb4578a643966dca4d8ee3de842de63279c618159c1ab54a89437b6a6120e4930afb52a4ba6ced8a4947ac64b30a3497cbe701c2d6266d517219ad0ec6d347dbe9", 16), - new BigInteger("08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb", 16), - new BigInteger("0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d", 16), - new BigInteger("05c2a83c124b3621a2aa57ea2c3efe035eff4560f33ddebb7adab81fce69a0c8c2edc16520dda83d59a23be867963ac65f2cc710bbcfb96ee103deb771d105fd85", 16), - new BigInteger("04cae8aa0d9faa165c87b682ec140b8ed3b50b24594b7a3b2c220b3669bb819f984f55310a1ae7823651d4a02e99447972595139363434e5e30a7e7d241551e1b9", 16), - new BigInteger("07d3e47bf686600b11ac283ce88dbb3f6051e8efd04680e44c171ef531b80b2b7c39fc766320e2cf15d8d99820e96ff30dc69691839c4b40d7b06e45307dc91f3f", 16)); - - // PSS Example 8.1 - - private byte[] msg8a = Hex.decode("81332f4be62948415ea1d899792eeacf6c6e1db1da8be13b5cea41db2fed467092e1ff398914c714259775f595f8547f735692a575e6923af78f22c6997ddb90fb6f72d7bb0dd5744a31decd3dc3685849836ed34aec596304ad11843c4f88489f209735f5fb7fdaf7cec8addc5818168f880acbf490d51005b7a8e84e43e54287977571dd99eea4b161eb2df1f5108f12a4142a83322edb05a75487a3435c9a78ce53ed93bc550857d7a9fb"); - - private byte[] slt8a = Hex.decode("1d65491d79c864b373009be6f6f2467bac4c78fa"); - - private byte[] sig8a = Hex.decode("0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5"); - - // PSS Example 8.2 - - private byte[] msg8b = Hex.decode("e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3cede9d0faabf4fcc8e60a973e5595fd9ea08"); - - private byte[] slt8b = Hex.decode("435c098aa9909eb2377f1248b091b68987ff1838"); - - private byte[] sig8b = Hex.decode("2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e"); - - // - // Example 9: A 1536-bit RSA key pair - // - - private RSAKeyParameters pub9 = new RSAKeyParameters(false, - new BigInteger("e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b", 16), - new BigInteger("010001", 16)); - - private RSAKeyParameters prv9 = new RSAPrivateCrtKeyParameters( - new BigInteger("e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b", 16), - new BigInteger("010001", 16), - new BigInteger("6a7fd84fb85fad073b34406db74f8d61a6abc12196a961dd79565e9da6e5187bce2d980250f7359575359270d91590bb0e427c71460b55d51410b191bcf309fea131a92c8e702738fa719f1e0041f52e40e91f229f4d96a1e6f172e15596b4510a6daec26105f2bebc53316b87bdf21311666070e8dfee69d52c71a976caae79c72b68d28580dc686d9f5129d225f82b3d615513a882b3db91416b48ce08888213e37eeb9af800d81cab328ce420689903c00c7b5fd31b75503a6d419684d629", 16), - new BigInteger("f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367", 16), - new BigInteger("ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d", 16), - new BigInteger("2bb68bddfb0c4f56c8558bffaf892d8043037841e7fa81cfa61a38c5e39b901c8ee71122a5da2227bd6cdeeb481452c12ad3d61d5e4f776a0ab556591befe3e59e5a7fddb8345e1f2f35b9f4cee57c32414c086aec993e9353e480d9eec6289f", 16), - new BigInteger("4ff897709fad079746494578e70fd8546130eeab5627c49b080f05ee4ad9f3e4b7cba9d6a5dff113a41c3409336833f190816d8a6bc42e9bec56b7567d0f3c9c696db619b245d901dd856db7c8092e77e9a1cccd56ee4dba42c5fdb61aec2669", 16), - new BigInteger("77b9d1137b50404a982729316efafc7dfe66d34e5a182600d5f30a0a8512051c560d081d4d0a1835ec3d25a60f4e4d6aa948b2bf3dbb5b124cbbc3489255a3a948372f6978496745f943e1db4f18382ceaa505dfc65757bb3f857a58dce52156", 16)); - - // PSS Example 9.1 - - private byte[] msg9a = Hex.decode("a88e265855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef43795922028bc2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b278872bf51321c4a972f3c95570f3445d4f57980e0f20df54846e6a52c668f1288c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55cf979f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60ca709e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c244159420637028df0a18079d6208ea8b4711a2c750f5"); - - private byte[] slt9a = Hex.decode("c0a425313df8d7564bd2434d311523d5257eed80"); - - private byte[] sig9a = Hex.decode("586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e"); - - // PSS Example 9.2 - - private byte[] msg9b = Hex.decode("c8c9c6af04acda414d227ef23e0820c3732c500dc87275e95b0d095413993c2658bc1d988581ba879c2d201f14cb88ced153a01969a7bf0a7be79c84c1486bc12b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb96d90a82ebab69f86350e1822e8bd536a2e"); - - private byte[] slt9b = Hex.decode("b307c43b4850a8dac2f15f32e37839ef8c5c0e91"); - - private byte[] sig9b = Hex.decode("80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958"); - - - public String getName() - { - return "PSSTest"; - } - - private void testSig( - int id, - RSAKeyParameters pub, - RSAKeyParameters prv, - byte[] slt, - byte[] msg, - byte[] sig) - throws Exception - { - PSSSigner eng = new PSSSigner(new RSAEngine(), new SHA1Digest(), 20); - - eng.init(true, new ParametersWithRandom(prv, new FixedRandom(slt))); - - eng.update(msg, 0, msg.length); - - byte[] s = eng.generateSignature(); - - if (!areEqual(s, sig)) - { - fail("test " + id + " failed generation"); - } - - eng.init(false, pub); - - eng.update(msg, 0, msg.length); - - if (!eng.verifySignature(s)) - { - fail("test " + id + " failed verification"); - } - } - - public void performTest() - throws Exception - { - testSig(1, pub1, prv1, slt1a, msg1a, sig1a); - testSig(2, pub1, prv1, slt1b, msg1b, sig1b); - testSig(3, pub2, prv2, slt2a, msg2a, sig2a); - testSig(4, pub2, prv2, slt2b, msg2b, sig2b); - testSig(5, pub4, prv4, slt4a, msg4a, sig4a); - testSig(6, pub4, prv4, slt4b, msg4b, sig4b); - testSig(7, pub8, prv8, slt8a, msg8a, sig8a); - testSig(8, pub8, prv8, slt8b, msg8b, sig8b); - testSig(9, pub9, prv9, slt9a, msg9a, sig9a); - testSig(10, pub9, prv9, slt9b, msg9b, sig9b); - - // - // loop test - sha-1 only - // - PSSSigner eng = new PSSSigner(new RSAEngine(), new SHA1Digest(), 20); - int failed = 0; - byte[] data = new byte[DATA_LENGTH]; - - SecureRandom random = new SecureRandom(); - random.nextBytes(data); - - for (int j = 0; j < NUM_TESTS; j++) - { - eng.init(true, new ParametersWithRandom(prv8, random)); - - eng.update(data, 0, data.length); - - byte[] s = eng.generateSignature(); - - eng.init(false, pub8); - - eng.update(data, 0, data.length); - - if (!eng.verifySignature(s)) - { - failed++; - } - } - - if (failed != 0) - { - fail("loop test failed - failures: " + failed); - } - - // - // loop test - sha-256 and sha-1 - // - eng = new PSSSigner(new RSAEngine(), new SHA256Digest(), new SHA1Digest(), 20); - failed = 0; - data = new byte[DATA_LENGTH]; - - random.nextBytes(data); - - for (int j = 0; j < NUM_TESTS; j++) - { - eng.init(true, new ParametersWithRandom(prv8, random)); - - eng.update(data, 0, data.length); - - byte[] s = eng.generateSignature(); - - eng.init(false, pub8); - - eng.update(data, 0, data.length); - - if (!eng.verifySignature(s)) - { - failed++; - } - } - - if (failed != 0) - { - fail("loop test failed - failures: " + failed); - } - } - - public static void main( - String[] args) - { - runTest(new PSSTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PaddingTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PaddingTest.java deleted file mode 100644 index a1d62fd8c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/PaddingTest.java +++ /dev/null @@ -1,167 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.paddings.BlockCipherPadding; -import org.spongycastle.crypto.paddings.ISO10126d2Padding; -import org.spongycastle.crypto.paddings.ISO7816d4Padding; -import org.spongycastle.crypto.paddings.PKCS7Padding; -import org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.spongycastle.crypto.paddings.TBCPadding; -import org.spongycastle.crypto.paddings.X923Padding; -import org.spongycastle.crypto.paddings.ZeroBytePadding; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * General Padding tests. - */ -public class PaddingTest - extends SimpleTest -{ - public PaddingTest() - { - } - - private void blockCheck( - PaddedBufferedBlockCipher cipher, - BlockCipherPadding padding, - KeyParameter key, - byte[] data) - { - byte[] out = new byte[data.length + 8]; - byte[] dec = new byte[data.length]; - - try - { - cipher.init(true, key); - - int len = cipher.processBytes(data, 0, data.length, out, 0); - - len += cipher.doFinal(out, len); - - cipher.init(false, key); - - int decLen = cipher.processBytes(out, 0, len, dec, 0); - - decLen += cipher.doFinal(dec, decLen); - - if (!areEqual(data, dec)) - { - fail("failed to decrypt - i = " + data.length + ", padding = " + padding.getPaddingName()); - } - } - catch (Exception e) - { - fail("Exception - " + e.toString(), e); - } - } - - public void testPadding( - BlockCipherPadding padding, - SecureRandom rand, - byte[] ffVector, - byte[] ZeroVector) - { - PaddedBufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new DESEngine(), padding); - KeyParameter key = new KeyParameter(Hex.decode("0011223344556677")); - - // - // ff test - // - byte[] data = { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0 }; - - if (ffVector != null) - { - padding.addPadding(data, 3); - - if (!areEqual(data, ffVector)) - { - fail("failed ff test for " + padding.getPaddingName()); - } - } - - // - // zero test - // - if (ZeroVector != null) - { - data = new byte[8]; - padding.addPadding(data, 4); - - if (!areEqual(data, ZeroVector)) - { - fail("failed zero test for " + padding.getPaddingName()); - } - } - - for (int i = 1; i != 200; i++) - { - data = new byte[i]; - - rand.nextBytes(data); - - blockCheck(cipher, padding, key, data); - } - } - - public void performTest() - { - SecureRandom rand = new SecureRandom(new byte[20]); - - rand.setSeed(System.currentTimeMillis()); - - testPadding(new PKCS7Padding(), rand, - Hex.decode("ffffff0505050505"), - Hex.decode("0000000004040404")); - - PKCS7Padding padder = new PKCS7Padding(); - try - { - padder.padCount(new byte[8]); - - fail("invalid padding not detected"); - } - catch (InvalidCipherTextException e) - { - if (!"pad block corrupted".equals(e.getMessage())) - { - fail("wrong exception for corrupt padding: " + e); - } - } - - testPadding(new ISO10126d2Padding(), rand, - null, - null); - - testPadding(new X923Padding(), rand, - null, - null); - - testPadding(new TBCPadding(), rand, - Hex.decode("ffffff0000000000"), - Hex.decode("00000000ffffffff")); - - testPadding(new ZeroBytePadding(), rand, - Hex.decode("ffffff0000000000"), - null); - - testPadding(new ISO7816d4Padding(), rand, - Hex.decode("ffffff8000000000"), - Hex.decode("0000000080000000")); - } - - public String getName() - { - return "PaddingTest"; - } - - public static void main( - String[] args) - { - runTest(new PaddingTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Poly1305Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Poly1305Test.java deleted file mode 100644 index 2410f249d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Poly1305Test.java +++ /dev/null @@ -1,388 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherKeyGenerator; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.generators.Poly1305KeyGenerator; -import org.spongycastle.crypto.macs.Poly1305; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/* - */ -public class Poly1305Test - extends SimpleTest -{ - private static final int MAXLEN = 1000; - - private static class KeyEngine - implements BlockCipher - { - - private byte[] key; - private final int blockSize; - - public KeyEngine(int blockSize) - { - this.blockSize = blockSize; - } - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - if (params instanceof KeyParameter) - { - this.key = ((KeyParameter)params).getKey(); - } - } - - public String getAlgorithmName() - { - return "Key"; - } - - public int getBlockSize() - { - return blockSize; - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, - IllegalStateException - { - System.arraycopy(key, 0, out, outOff, key.length); - return key.length; - } - - public void reset() - { - } - - } - - private static class TestCase - { - private final byte[] key; - private final byte[] nonce; - private final byte[] message; - private final byte[] expectedMac; - - public TestCase(String key, String nonce, String message, String expectedMac) - { - this.key = Hex.decode(key); - // nacl test case keys are not pre-clamped - Poly1305KeyGenerator.clamp(this.key); - this.nonce = (nonce == null) ? null : Hex.decode(nonce); - this.message = Hex.decode(message); - this.expectedMac = Hex.decode(expectedMac); - } - } - - private static TestCase[] CASES = { - // Raw Poly1305 - // onetimeauth.c from nacl-20110221 - new TestCase("2539121d8e234e652d651fa4c8cff880eea6a7251c1e72916d11c2cb214d3c25", null, - "8e993b9f48681273c29650ba32fc76ce48332ea7164d96a4476fb8c531a1186a" - + "c0dfc17c98dce87b4da7f011ec48c97271d2c20f9b928fe2270d6fb863d51738" - + "b48eeee314a7cc8ab932164548e526ae90224368517acfeabd6bb3732bc0e9da" - + "99832b61ca01b6de56244a9e88d5f9b37973f622a43d14a6599b1f654cb45a74e355a5", - "f3ffc7703f9400e52a7dfb4b3d3305d9"), - - // Poly1305-AES - // Loop 1 of test-poly1305aes from poly1305aes-20050218 - new TestCase("0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000", "", "66e94bd4ef8a2c3b884cfa59ca342b2e"), - new TestCase("f795bd4a52e29ed713d313fa20e98dbcf795bd0a50e29e0710d3130a20e98d0c", - "917cf69ebd68b2ec9b9fe9a3eadda692", "66f7", "5ca585c75e8f8f025e710cabc9a1508b"), - new TestCase("e69dae0aab9f91c03a325dcc9436fa903ef49901c8e11c000430d90ad45e7603", - "166450152e2394835606a9d1dd2cdc8b", "66f75c0e0c7a406586", "2924f51b9c2eff5df09db61dd03a9ca1"), - new TestCase("85a4ea91a7de0b0d96eed0d4bf6ecf1cda4afc035087d90e503f8f0ea08c3e0d", - "0b6ef7a0b8f8c738b0f8d5995415271f", - "66f75c0e0c7a40658629e3392f7f8e3349a02191ffd49f39879a8d9d1d0e23ea", - "3c5a13adb18d31c64cc29972030c917d"), - new TestCase( - "25eb69bac5cdf7d6bfcee4d9d5507b82ca3c6a0da0a864024ca3090628c28e0d", - "046772a4f0a8de92e4f0d628cdb04484", - "66f75c0e0c7a40658629e3392f7f8e3349a02191ffd49f39879a8d9d1d0e23ea3caa4d240bd2ab8a8c4a6bb8d3288d9de4b793f05e97646dd4d98055de", - "fc5fb58dc65daf19b14d1d05da1064e8"), - - // Specific test cases generated from test-poly1305aes from poly1305aes-20050218 that - // expose Java unsigned integer problems - new TestCase( - "95cc0e44d0b79a8856afcae1bec4fe3c" + "01bcb20bfc8b6e03609ddd09f44b060f", - null, - "66f75c0e0c7a40658629e3392f7f8e3349a02191ffd49f39879a8d9d1d0e23ea3caa4d240bd2ab8a8c4a6bb8d3288d9de4b793f05e97646dd4d98055de" - + "fc3e0677d956b4c62664bac15962ab15d93ccbbc03aafdbde779162ed93b55361f0f8acaa41d50ef5175927fe79ea316186516eef15001cd04d3524a55" - + "e4fa3c5ca479d3aaa8a897c21807f721b6270ffc68b6889d81a116799f6aaa35d8e04c7a7dd5e6da2519e8759f54e906696f5772fee093283bcef7b930" - + "aed50323bcbc8c820c67422c1e16bdc022a9c0277c9d95fef0ea4ee11e2b27276da811523c5acb80154989f8a67ee9e3fa30b73b0c1c34bf46e3464d97" - + "7cd7fcd0ac3b82721080bb0d9b982ee2c77feee983d7ba35da88ce86955002940652ab63bc56fb16f994da2b01d74356509d7d1b6d7956b0e5a557757b" - + "d1ced2eef8650bc5b6d426108c1518abcbd0befb6a0d5fd57a3e2dbf31458eab63df66613653d4beae73f5c40eb438fbcfdcf4a4ba46320184b9ca0da4" - + "dfae77de7ccc910356caea3243f33a3c81b064b3b7cedc7435c223f664227215715980e6e0bb570d459ba80d7512dbe458c8f0f3f52d659b6e8eef19ee" - + "71aea2ced85c7a42ffca6522a62db49a2a46eff72bd7f7e0883acd087183f0627f3537a4d558754ed63358e8182bee196735b361dc9bd64d5e34e1074a" - + "855655d2974cc6fa1653754cf40f561d8c7dc526aab2908ec2d2b977cde1a1fb1071e32f40e049ea20f30368ba1592b4fe57fb51595d23acbdace324cd" - + "d78060a17187c662368854e915402d9b52fb21e984663e41c26a109437e162cfaf071b53f77e50000a5388ff183b82ce7a1af476c416d7d204157b3633" - + "b2f4ec077b699b032816997e37bceded8d4a04976fd7d0c0b029f290794c3be504c5242287ea2f831f11ed5690d92775cd6e863d7731fd4da687ebfb13" - + "df4c41dc0fb8", "ae345d555eb04d6947bb95c0965237e2"), - new TestCase( - "76fb3635a2dc92a1f768163ab12f2187" + "cd07fd0ef8c0be0afcbdb30af4af0009", - null, - "f05204a74f0f88a7fa1a95b84ec3d8ffb36fcdc7723ea65dfe7cd464e86e0abf6b9d51db3220cfd8496ad6e6d36ebee8d990f9ce0d3bb7f72b7ab5b3ab0a73240d11efe772c857021ae859db4933cdde4387b471d2ce700fef4b81087f8f47c307881fd83017afcd15b8d21edf9b704677f46df97b07e5b83f87c8abd90af9b1d0f9e2710e8ebd0d4d1c6a055abea861f42368bed94d9373e909c1d3715b221c16bc524c55c31ec3eab204850bb2474a84f9917038eff9d921130951391b5c54f09b5e1de833ea2cd7d3b306740abb7096d1e173da83427da2adddd3631eda30b54dbf487f2b082e8646f07d6e0a87e97522ca38d4ace4954bf3db6dd3a93b06fa18eb56856627ed6cffcd7ae26374554ca18ab8905f26331d323fe10e6e70624c7bc07a70f06ecd804b48f8f7e75e910165e1beb554f1f0ec7949c9c8d429a206b4d5c0653102249b6098e6b45fac2a07ff0220b0b8ae8f4c6bcc0c813a7cd141fa8b398b42575fc395747c5a0257ac41d6c1f434cfbf5dfe8349f5347ef6b60e611f5d6c3cbc20ca2555274d1934325824cef4809da293ea13f181929e2af025bbd1c9abdc3af93afd4c50a2854ade3887f4d2c8c225168052c16e74d76d2dd3e9467a2c5b8e15c06ffbffa42b8536384139f07e195a8c9f70f514f31dca4eb2cf262c0dcbde53654b6250a29efe21d54e83c80e005a1cad36d5934ff01c32e4bc5fe06d03064ff4a268517df4a94c759289f323734318cfa5d859d4ce9c16e63d02dff0896976f521607638535d2ee8dd3312e1ddc80a55d34fe829ab954c1ebd54d929954770f1be9d32b4c05003c5c9e97943b6431e2afe820b1e967b19843e5985a131b1100517cdc363799104af91e2cf3f53cb8fd003653a6dd8a31a3f9d566a7124b0ffe9695bcb87c482eb60106f88198f766a40bc0f4873c23653c5f9e7a8e446f770beb8034cf01d21028ba15ccee21a8db918c4829d61c88bfa927bc5def831501796c5b401a60a6b1b433c9fb905c8cd40412fffee81ab", - "045be28cc52009f506bdbfabedacf0b4"), - - }; - - public String getName() - { - return "Poly1305"; - } - - public void performTest() - throws Exception - { - testKeyGenerator(); - testInit(); - for (int i = 0; i < CASES.length; i++) - { - testCase(i); - } - testSequential(); - testReset(); - } - - private void testCase(int i) - { - byte[] out = new byte[16]; - TestCase tc = CASES[i]; - - final Mac mac; - if (tc.nonce == null) - { - // Raw Poly1305 test - don't do any transform on AES key part - mac = new Poly1305(new KeyEngine(16)); - mac.init(new ParametersWithIV(new KeyParameter(tc.key), new byte[16])); - } - else - { - mac = new Poly1305(new AESFastEngine()); - mac.init(new ParametersWithIV(new KeyParameter(tc.key), tc.nonce)); - } - mac.update(tc.message, 0, tc.message.length); - mac.doFinal(out, 0); - - if (!Arrays.areEqual(out, tc.expectedMac)) - { - fail("Mismatched output " + i, new String(Hex.encode(tc.expectedMac)), new String(Hex.encode(out))); - } - } - - private void testSequential() - { - // Sequential test, adapted from test-poly1305aes - int len; - byte[] kr = new byte[32]; - byte[] m = new byte[MAXLEN]; - byte[] n = new byte[16]; - byte[] out = new byte[16]; - - int c = 0; - final Mac mac = new Poly1305(new AESFastEngine()); - for (int loop = 0; loop < 13; loop++) - { - len = 0; - for (;;) - { - c++; - mac.init(new ParametersWithIV(new KeyParameter(kr), n)); - mac.update(m, 0, len); - mac.doFinal(out, 0); - - // if (c == 678) - // { - // TestCase tc = CASES[0]; - // - // if (!Arrays.areEqual(tc.key, kr)) - // { - // System.err.println("Key bad"); - // System.err.println(new String(Hex.encode(tc.key))); - // System.err.println(new String(Hex.encode(kr))); - // System.exit(1); - // } - // if (!Arrays.areEqual(tc.nonce, n)) - // { - // System.err.println("Nonce bad"); - // System.exit(1); - // } - // System.out.printf("[%d] m: %s\n", c, new String(Hex.encode(m, 0, len))); - // System.out.printf("[%d] K: %s\n", c, new String(Hex.encodje(kr))); - // System.out.printf("[%d] N: %s\n", c, new String(Hex.encode(n))); - // System.out.printf("[%d] M: ", c); - // } - // System.out.printf("%d/%s\n", c, new String(Hex.encode(out))); - - if (len >= MAXLEN) - break; - n[0] ^= loop; - for (int i = 0; i < 16; ++i) - n[i] ^= out[i]; - if (len % 2 != 0) - for (int i = 0; i < 16; ++i) - kr[i] ^= out[i]; - if (len % 3 != 0) - for (int i = 0; i < 16; ++i) - kr[i + 16] ^= out[i]; - Poly1305KeyGenerator.clamp(kr); - m[len++] ^= out[0]; - } - } - // Output after 13 loops as generated by poly1305 ref - if (c != 13013 || !Arrays.areEqual(out, Hex.decode("c96f60a23701a5b0fd2016f58cbe4f7e"))) - { - fail("Sequential Poly1305 " + c, "c96f60a23701a5b0fd2016f58cbe4f7e", new String(Hex.encode(out))); - } - } - - private void testReset() - { - CipherKeyGenerator gen = new Poly1305KeyGenerator(); - gen.init(new KeyGenerationParameters(new SecureRandom(), 256)); - byte[] k = gen.generateKey(); - - byte[] m = new byte[10000]; - byte[] check = new byte[16]; - byte[] out = new byte[16]; - - // Generate baseline - Mac poly = new Poly1305(new AESFastEngine()); - poly.init(new ParametersWithIV(new KeyParameter(k), new byte[16])); - - poly.update(m, 0, m.length); - poly.doFinal(check, 0); - - // Check reset after doFinal - poly.update(m, 0, m.length); - poly.doFinal(out, 0); - - if (!Arrays.areEqual(check, out)) - { - fail("Mac not reset after doFinal"); - } - - // Check reset - poly.update((byte)1); - poly.update((byte)2); - poly.reset(); - poly.update(m, 0, m.length); - poly.doFinal(out, 0); - - if (!Arrays.areEqual(check, out)) - { - fail("Mac not reset after doFinal"); - } - - // Check init resets - poly.update((byte)1); - poly.update((byte)2); - poly.init(new ParametersWithIV(new KeyParameter(k), new byte[16])); - poly.update(m, 0, m.length); - poly.doFinal(out, 0); - - if (!Arrays.areEqual(check, out)) - { - fail("Mac not reset after doFinal"); - } - } - - private void testInit() - { - CipherKeyGenerator gen = new Poly1305KeyGenerator(); - gen.init(new KeyGenerationParameters(new SecureRandom(), 256)); - byte[] k = gen.generateKey(); - - Mac poly = new Poly1305(new AESFastEngine()); - poly.init(new ParametersWithIV(new KeyParameter(k), new byte[16])); - - try - { - poly.init(new ParametersWithIV(new KeyParameter(k), new byte[15])); - fail("16 byte nonce required"); - } catch (IllegalArgumentException e) - { - // Expected - } - - try - { - byte[] k2 = new byte[k.length - 1]; - System.arraycopy(k, 0, k2, 0, k2.length); - poly.init(new ParametersWithIV(new KeyParameter(k2), new byte[16])); - fail("32 byte key required"); - } catch (IllegalArgumentException e) - { - // Expected - } - - try - { - k[19] = (byte)0xFF; - poly.init(new ParametersWithIV(new KeyParameter(k), new byte[16])); - fail("Unclamped key should not be accepted."); - } catch (IllegalArgumentException e) - { - // Expected - } - - } - - private void testKeyGenerator() - { - CipherKeyGenerator gen = new Poly1305KeyGenerator(); - gen.init(new KeyGenerationParameters(new SecureRandom(), 256)); - byte[] k = gen.generateKey(); - - if (k.length != 32) - { - fail("Poly1305 key should be 256 bits."); - } - - try - { - Poly1305KeyGenerator.checkKey(k); - } catch (IllegalArgumentException e) - { - fail("Poly1305 key should be clamped on generation."); - } - - byte[] k2 = new byte[k.length]; - System.arraycopy(k, 0, k2, 0, k2.length); - Poly1305KeyGenerator.clamp(k); - if (!Arrays.areEqual(k, k2)) - { - fail("Poly1305 key should be clamped on generation."); - } - - try - { - k2[19] = (byte)0xff; - Poly1305KeyGenerator.checkKey(k2); - fail("Unclamped key should fail check."); - } catch (IllegalArgumentException e) - { - // Expected - } - } - - public static void main(String[] args) - throws Exception - { - runTest(new Poly1305Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2Test.java deleted file mode 100644 index fde133471..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2Test.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.RC2Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RC2Parameters; -import org.spongycastle.util.encoders.Hex; - -/** - * RC2 tester - vectors from ftp://ftp.isi.edu/in-notes/rfc2268.txt - * - * RFC 2268 "A Description of the RC2(r) Encryption Algorithm" - */ -public class RC2Test - extends CipherTest -{ - static BlockCipherVectorTest[] tests = - { - new BlockCipherVectorTest(0, new RC2Engine(), - new RC2Parameters(Hex.decode("0000000000000000"), 63), - "0000000000000000", "ebb773f993278eff"), - - new BlockCipherVectorTest(1, new RC2Engine(), - new RC2Parameters(Hex.decode("ffffffffffffffff"), 64), - "ffffffffffffffff", "278b27e42e2f0d49"), - - new BlockCipherVectorTest(2, new RC2Engine(), - new RC2Parameters(Hex.decode("3000000000000000"), 64), - "1000000000000001", "30649edf9be7d2c2"), - - new BlockCipherVectorTest(3, new RC2Engine(), - new RC2Parameters(Hex.decode("88"), 64), - "0000000000000000", "61a8a244adacccf0"), - - new BlockCipherVectorTest(4, new RC2Engine(), - new RC2Parameters(Hex.decode("88bca90e90875a"), 64), - "0000000000000000", "6ccf4308974c267f"), - - new BlockCipherVectorTest(5, new RC2Engine(), - new RC2Parameters(Hex.decode("88bca90e90875a7f0f79c384627bafb2"), 64), - "0000000000000000", "1a807d272bbe5db1"), - - new BlockCipherVectorTest(6, new RC2Engine(), - new RC2Parameters(Hex.decode("88bca90e90875a7f0f79c384627bafb2"), 128), - "0000000000000000", "2269552ab0f85ca6"), - - new BlockCipherVectorTest(7, new RC2Engine(), - new RC2Parameters(Hex.decode("88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1e"), 129), - "0000000000000000", "5b78d3a43dfff1f1") - }; - - RC2Test() - { - super(tests, new RC2Engine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "RC2"; - } - - public static void main( - String[] args) - { - runTest(new RC2Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2WrapTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2WrapTest.java deleted file mode 100644 index 27cca204d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC2WrapTest.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.engines.RC2WrapEngine; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.params.RC2Parameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * RC2 wrap tester - */ -public class RC2WrapTest - implements Test -{ - private class RFCRandom - extends SecureRandom - { - public void nextBytes( - byte[] nextBytes) - { - System.arraycopy(Hex.decode("4845cce7fd1250"), 0, nextBytes, 0, nextBytes.length); - } - } - - private TestResult wrapTest( - int id, - CipherParameters paramsWrap, - CipherParameters paramsUnwrap, - byte[] in, - byte[] out) - { - Wrapper wrapper = new RC2WrapEngine(); - - wrapper.init(true, paramsWrap); - - try - { - byte[] cText = wrapper.wrap(in, 0, in.length); - if (!Arrays.areEqual(cText, out)) - { - return new SimpleTestResult(false, getName() + ": failed wrap test " + id + " expected " + new String(Hex.encode(out)) + " got " + new String(Hex.encode(cText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed wrap test exception " + e.toString(), e); - } - - wrapper.init(false, paramsUnwrap); - - try - { - byte[] pText = wrapper.unwrap(out, 0, out.length); - if (!Arrays.areEqual(pText, in)) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test " + id + " expected " + new String(Hex.encode(in)) + " got " + new String(Hex.encode(pText))); - } - } - catch (Exception e) - { - return new SimpleTestResult(false, getName() + ": failed unwrap test exception " + e.toString(), e); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public TestResult perform() - { - byte[] kek1 = Hex.decode("fd04fd08060707fb0003fefffd02fe05"); - byte[] iv1 = Hex.decode("c7d90059b29e97f7"); - byte[] in1 = Hex.decode("b70a25fbc9d86a86050ce0d711ead4d9"); - byte[] out1 = Hex.decode("70e699fb5701f7833330fb71e87c85a420bdc99af05d22af5a0e48d35f3138986cbaafb4b28d4f35"); - // - // note the RFC 3217 test specifies a key to be used with an effective key size of - // 40 bits which is why it is done here - in practice nothing less than 128 bits should be used. - // - CipherParameters paramWrap = new ParametersWithRandom(new ParametersWithIV(new RC2Parameters(kek1, 40), iv1), new RFCRandom()); - CipherParameters paramUnwrap = new RC2Parameters(kek1, 40); - - TestResult result = wrapTest(1, paramWrap, paramUnwrap, in1, out1); - - if (!result.isSuccessful()) - { - return result; - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public String getName() - { - return "RC2Wrap"; - } - - public static void main( - String[] args) - { - RC2WrapTest test = new RC2WrapTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC4Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC4Test.java deleted file mode 100644 index c03b4e51a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC4Test.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.RC4Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * RC4 Test - */ -public class RC4Test - extends SimpleTest -{ - StreamCipherVectorTest[] tests = - { - new StreamCipherVectorTest(0, new RC4Engine(), - new KeyParameter(Hex.decode("0123456789ABCDEF")), - "4e6f772069732074", "3afbb5c77938280d"), - new StreamCipherVectorTest(0, new RC4Engine(), - new KeyParameter(Hex.decode("0123456789ABCDEF")), - "68652074696d6520", "1cf1e29379266d59"), - new StreamCipherVectorTest(0, new RC4Engine(), - new KeyParameter(Hex.decode("0123456789ABCDEF")), - "666f7220616c6c20", "12fbb0c771276459") - }; - - public String getName() - { - return "RC4"; - } - - public void performTest() - { - for (int i = 0; i != tests.length; i++) - { - tests[i].performTest(); - } - } - - public static void main( - String[] args) - { - runTest(new RC4Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC5Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC5Test.java deleted file mode 100644 index 29686ee0d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC5Test.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.RC532Engine; -import org.spongycastle.crypto.engines.RC564Engine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.RC5Parameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * RC5 tester - vectors from ftp://ftp.nordu.net/rfc/rfc2040.txt - * - * RFC 2040 "The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms" - */ -public class RC5Test - implements Test -{ - BlockCipherVectorTest[] tests = - { - new BlockCipherVectorTest(0, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("0000000000000000")), - "0000000000000000", "7a7bba4d79111d1e"), - new BlockCipherVectorTest(1, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "797bba4d78111d1e"), - new BlockCipherVectorTest(2, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("0000000000000001")), - "0000000000000000", "7a7bba4d79111d1f"), - new BlockCipherVectorTest(3, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("0000000000000000")), - "0000000000000001", "7a7bba4d79111d1f"), - new BlockCipherVectorTest(4, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("0102030405060708")), - "1020304050607080", "8b9ded91ce7794a6"), - new BlockCipherVectorTest(5, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("11"), 1), - Hex.decode("0000000000000000")), - "0000000000000000", "2f759fe7ad86a378"), - new BlockCipherVectorTest(6, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 2), - Hex.decode("0000000000000000")), - "0000000000000000", "dca2694bf40e0788"), - new BlockCipherVectorTest(7, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00000000"), 2), - Hex.decode("0000000000000000")), - "0000000000000000", "dca2694bf40e0788"), - new BlockCipherVectorTest(8, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00000000"), 8), - Hex.decode("0000000000000000")), - "0000000000000000", "dcfe098577eca5ff"), - new BlockCipherVectorTest(9, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 8), - Hex.decode("0102030405060708")), - "1020304050607080", "9646fb77638f9ca8"), - new BlockCipherVectorTest(10, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 12), - Hex.decode("0102030405060708")), - "1020304050607080", "b2b3209db6594da4"), - new BlockCipherVectorTest(11, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 16), - Hex.decode("0102030405060708")), - "1020304050607080", "545f7f32a5fc3836"), - new BlockCipherVectorTest(12, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304"), 8), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "8285e7c1b5bc7402"), - new BlockCipherVectorTest(13, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304"), 12), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "fc586f92f7080934"), - new BlockCipherVectorTest(14, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304"), 16), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "cf270ef9717ff7c4"), - new BlockCipherVectorTest(15, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405060708"), 12), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "e493f1c1bb4d6e8c"), - new BlockCipherVectorTest(16, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405060708"), 8), - Hex.decode("0102030405060708")), - "1020304050607080", "5c4c041e0f217ac3"), - new BlockCipherVectorTest(17, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405060708"), 12), - Hex.decode("0102030405060708")), - "1020304050607080", "921f12485373b4f7"), - new BlockCipherVectorTest(18, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405060708"), 16), - Hex.decode("0102030405060708")), - "1020304050607080", "5ba0ca6bbe7f5fad"), - new BlockCipherVectorTest(19, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304050607081020304050607080"), 8), - Hex.decode("0102030405060708")), - "1020304050607080", "c533771cd0110e63"), - new BlockCipherVectorTest(20, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304050607081020304050607080"), 12), - Hex.decode("0102030405060708")), - "1020304050607080", "294ddb46b3278d60"), - new BlockCipherVectorTest(21, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("01020304050607081020304050607080"), 16), - Hex.decode("0102030405060708")), - "1020304050607080", "dad6bda9dfe8f7e8"), - new BlockCipherVectorTest(22, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405"), 12), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "97e0787837ed317f"), - new BlockCipherVectorTest(23, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405"), 8), - Hex.decode("0000000000000000")), - "ffffffffffffffff", "7875dbf6738c6478"), - new BlockCipherVectorTest(23, new CBCBlockCipher(new RC532Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("0102030405"), 8), - Hex.decode("7875dbf6738c6478")), - "0808080808080808", "8f34c3c681c99695"), - new BlockCipherVectorTest(640, new CBCBlockCipher(new RC564Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "9f09b98d3f6062d9d4d59973d00e0e63"), - new BlockCipherVectorTest(641, new CBCBlockCipher(new RC564Engine()), - new ParametersWithIV( - new RC5Parameters(Hex.decode("00"), 0), - Hex.decode("00000000000000000000000000000000")), - "ffffffffffffffffffffffffffffffff", "9e09b98d3f6062d9d3d59973d00e0e63") - }; - - public String getName() - { - return "RC5"; - } - - public TestResult perform() - { - for (int i = 0; i != tests.length; i++) - { - TestResult res = tests[i].perform(); - - if (!res.isSuccessful()) - { - return res; - } - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - RC5Test test = new RC5Test(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC6Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC6Test.java deleted file mode 100644 index 9d91547bd..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RC6Test.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.RC6Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * RC6 Test - test vectors from AES Submitted RSA Reference implementation. - * ftp://ftp.funet.fi/pub/crypt/cryptography/symmetric/aes/rc6-unix-refc.tar - */ -public class RC6Test - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new RC6Engine(), - new KeyParameter( - Hex.decode("00000000000000000000000000000000")), - "80000000000000000000000000000000", - "f71f65e7b80c0c6966fee607984b5cdf"), - new BlockCipherVectorTest(1, new RC6Engine(), - new KeyParameter( - Hex.decode("000000000000000000000000000000008000000000000000")), - "00000000000000000000000000000000", - "dd04c176440bbc6686c90aee775bd368"), - new BlockCipherVectorTest(2, new RC6Engine(), - new KeyParameter( - Hex.decode("000000000000000000000000000000000000001000000000")), - "00000000000000000000000000000000", - "937fe02d20fcb72f0f57201012b88ba4"), - new BlockCipherVectorTest(3, new RC6Engine(), - new KeyParameter( - Hex.decode("00000001000000000000000000000000")), - "00000000000000000000000000000000", - "8a380594d7396453771a1dfbe2914c8e"), - new BlockCipherVectorTest(4, new RC6Engine(), - new KeyParameter( - Hex.decode("1000000000000000000000000000000000000000000000000000000000000000")), - "00000000000000000000000000000000", - "11395d4bfe4c8258979ee2bf2d24dff4"), - new BlockCipherVectorTest(5, new RC6Engine(), - new KeyParameter( - Hex.decode("0000000000000000000000000000000000080000000000000000000000000000")), - "00000000000000000000000000000000", - "3d6f7e99f6512553bb983e8f75672b97") - }; - - RC6Test() - { - super(tests, new RC6Engine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "RC6"; - } - - public static void main( - String[] args) - { - runTest(new RC6Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RFC3211WrapTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RFC3211WrapTest.java deleted file mode 100644 index 8568e5903..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RFC3211WrapTest.java +++ /dev/null @@ -1,220 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.Wrapper; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.engines.RFC3211WrapEngine; -import org.spongycastle.crypto.modes.CBCBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -import java.security.SecureRandom; - -/** - * Wrap Test based on RFC3211 test vectors - */ -public class RFC3211WrapTest - extends SimpleTest -{ - SecureRandom r1 = new SecureRandom() - { - int[] ints = { 0xC4, 0x36, 0xF5, 0x41 }; - int count = 0; - - public int nextInt() - { - return ints[count++]; - } - }; - - SecureRandom r2 = new SecureRandom() - { - int[] ints = { 0xFA, 0x06, 0x0A, 0x45 }; - int count = 0; - - public int nextInt() - { - return ints[count++]; - } - }; - - public String getName() - { - return "RFC3211Wrap"; - } - - private void wrapTest( - int id, - BlockCipher engine, - byte[] kek, - byte[] iv, - SecureRandom rand, - byte[] in, - byte[] out) - throws Exception - { - Wrapper wrapper = new RFC3211WrapEngine(engine); - - wrapper.init(true, new ParametersWithRandom(new ParametersWithIV(new KeyParameter(kek), iv), rand)); - - byte[] cText = wrapper.wrap(in, 0, in.length); - if (!Arrays.areEqual(cText, out)) - { - fail("failed wrap test " + id + " expected " + new String(Hex.encode(out)) + " got " + new String(Hex.encode(cText))); - } - - wrapper.init(false, new ParametersWithIV(new KeyParameter(kek), iv)); - - byte[] pText = wrapper.unwrap(out, 0, out.length); - if (!Arrays.areEqual(pText, in)) - { - fail("rfailed unwrap test " + id + " expected " + new String(Hex.encode(in)) + " got " + new String(Hex.encode(pText))); - } - } - - private void testCorruption() - throws InvalidCipherTextException - { - byte[] kek = Hex.decode("D1DAA78615F287E6"); - byte[] iv = Hex.decode("EFE598EF21B33D6D"); - - Wrapper wrapper = new RFC3211WrapEngine(new DESEngine()); - - wrapper.init(false, new ParametersWithIV(new KeyParameter(kek), iv)); - - byte[] block = Hex.decode("ff739D838C627C897323A2F8C436F541"); - encryptBlock(kek, iv, block); - - try - { - wrapper.unwrap(block, 0, block.length); - - fail("bad length not detected"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals("wrapped key corrupted")) - { - fail("wrong exception on length"); - } - } - - block = Hex.decode("08639D838C627C897323A2F8C436F541"); - testChecksum(kek, iv, block, wrapper); - - block = Hex.decode("08736D838C627C897323A2F8C436F541"); - testChecksum(kek, iv, block, wrapper); - - block = Hex.decode("08739D638C627C897323A2F8C436F541"); - testChecksum(kek, iv, block, wrapper); - } - - private void testChecksum(byte[] kek, byte[] iv, byte[] block, Wrapper wrapper) - { - encryptBlock(kek, iv, block); - - try - { - wrapper.unwrap(block, 0, block.length); - - fail("bad checksum not detected"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals("wrapped key fails checksum")) - { - fail("wrong exception"); - } - } - } - - private void encryptBlock(byte[] key, byte[] iv, byte[] cekBlock) - { - BlockCipher engine = new CBCBlockCipher(new DESEngine()); - - engine.init(true, new ParametersWithIV(new KeyParameter(key), iv)); - - for (int i = 0; i < cekBlock.length; i += 8) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - - for (int i = 0; i < cekBlock.length; i += 8) - { - engine.processBlock(cekBlock, i, cekBlock, i); - } - } - - public void performTest() - throws Exception - { - wrapTest(1, new DESEngine(), Hex.decode("D1DAA78615F287E6"), Hex.decode("EFE598EF21B33D6D"), r1, Hex.decode("8C627C897323A2F8"), Hex.decode("B81B2565EE373CA6DEDCA26A178B0C10")); - wrapTest(2, new DESedeEngine(), Hex.decode("6A8970BF68C92CAEA84A8DF28510858607126380CC47AB2D"), Hex.decode("BAF1CA7931213C4E"), r2, - Hex.decode("8C637D887223A2F965B566EB014B0FA5D52300A3F7EA40FFFC577203C71BAF3B"), - Hex.decode("C03C514ABDB9E2C5AAC038572B5E24553876B377AAFB82ECA5A9D73F8AB143D9EC74E6CAD7DB260C")); - - testCorruption(); - - Wrapper wrapper = new RFC3211WrapEngine(new DESEngine()); - ParametersWithIV params = new ParametersWithIV(new KeyParameter(new byte[16]), new byte[16]); - byte[] buf = new byte[16]; - - try - { - wrapper.init(true, params); - - wrapper.unwrap(buf, 0, buf.length); - - fail("failed unwrap state test."); - } - catch (IllegalStateException e) - { - // expected - } - catch (InvalidCipherTextException e) - { - fail("unexpected exception: " + e, e); - } - - try - { - wrapper.init(false, params); - - wrapper.wrap(buf, 0, buf.length); - - fail("failed unwrap state test."); - } - catch (IllegalStateException e) - { - // expected - } - - // - // short test - // - try - { - wrapper.init(false, params); - - wrapper.unwrap(buf, 0, buf.length / 2); - - fail("failed unwrap short test."); - } - catch (InvalidCipherTextException e) - { - // expected - } - } - - public static void main( - String[] args) - { - runTest(new RFC3211WrapTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128DigestTest.java deleted file mode 100644 index 04c1c2b2f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128DigestTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.RIPEMD128Digest; - -/** - * RIPEMD128 Digest Test - */ -public class RIPEMD128DigestTest - extends DigestTest -{ - final static String[] messages = { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - final static String[] digests = { - "cdf26213a150dc3ecb610f18f6b38b46", - "86be7afa339d0fc7cfc785e72f578d33", - "c14a12199c66e4ba84636b0f69144c77", - "9e327b3d6e523062afc1132d7df9d1b8", - "fd2aa607f71dc8f510714922b371834e", - "a1aa0689d0fafa2ddc22e88b49133a06", - "d1e959eb179c911faea4624c60c5c702", - "3f45ef194732c2dbb2c4a2c769795fa3" - }; - - final static String million_a_digest = "4a7f5723f954eba1216c9d8f6320431f"; - - RIPEMD128DigestTest() - { - super(new RIPEMD128Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new RIPEMD128Digest((RIPEMD128Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new RIPEMD128DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128HMacTest.java deleted file mode 100644 index 8a0a07c21..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD128HMacTest.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.RIPEMD128Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * RIPEMD128 HMac Test, test vectors from RFC 2286 - */ -public class RIPEMD128HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "fbf61f9492aa4bbf81c172e84e0734db", - "875f828862b6b334b427c55f9f7ff09b", - "09f0b2846d2f543da363cbec8d62a38d", - "bdbbd7cf03e44b5aa60af815be4d2294", - "e79808f24b25fd031c155f0d551d9a3a", - "dc732928de98104a1f59d373c150acbb", - "5c6bec96793e16d40690c237635f30c5" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" - }; - - public String getName() - { - return "RIPEMD128HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new RIPEMD128Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed"); - } - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - RIPEMD128HMacTest test = new RIPEMD128HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160DigestTest.java deleted file mode 100644 index 9af98c926..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160DigestTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.RIPEMD160Digest; - -/** - * RIPEMD160 Digest Test - */ -public class RIPEMD160DigestTest - extends DigestTest -{ - final static String[] messages = { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - final static String[] digests = { - "9c1185a5c5e9fc54612808977ee8f548b2258d31", - "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe", - "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc", - "5d0689ef49d2fae572b881b123a85ffa21595f36", - "f71c27109c692c1b56bbdceb5b9d2865b3708dbc", - "12a053384a9c0c88e405a06c27dcf49ada62eb2b", - "b0e20b6e3116640286ed3a87a5713079b21f5189", - "9b752e45573d4b39f4dbd3323cab82bf63326bfb" - }; - - final static String million_a_digest = "52783243c1697bdbe16d37f97f68f08325dc1528"; - - RIPEMD160DigestTest() - { - super(new RIPEMD160Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new RIPEMD160Digest((RIPEMD160Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new RIPEMD160DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160HMacTest.java deleted file mode 100644 index 1676fef34..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD160HMacTest.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.RIPEMD160Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * RIPEMD160 HMac Test, test vectors from RFC 2286 - */ -public class RIPEMD160HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668", - "dda6c0213a485a9e24f4742064a7f033b43c4069", - "b0b105360de759960ab4f35298e116e295d8e7c1", - "d5ca862f4d21d5e610e18b4cf1beb97a4365ecf4", - "7619693978f91d90539ae786500ff3d8e0518e39", - "6466ca07ac5eac29e1bd523e5ada7605b791fd8b", - "69ea60798d71616cce5fd0871e23754cd75d5a0a" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" - }; - - public String getName() - { - return "RIPEMD160HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new RIPEMD160Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed"); - } - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - RIPEMD160HMacTest test = new RIPEMD160HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD256DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD256DigestTest.java deleted file mode 100644 index dd8a1b9c5..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD256DigestTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.RIPEMD256Digest; - -/** - * RIPEMD128 Digest Test - */ -public class RIPEMD256DigestTest - extends DigestTest -{ - final static String[] messages = { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - final static String[] digests = { - "02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d", - "f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925", - "afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65", - "87e971759a1ce47a514d5c914c392c9018c7c46bc14465554afcdf54a5070c0e", - "649d3034751ea216776bf9a18acc81bc7896118a5197968782dd1fd97d8d5133", - "3843045583aac6c8c8d9128573e7a9809afb2a0f34ccc36ea9e72f16f6368e3f", - "5740a408ac16b720b84424ae931cbb1fe363d1d0bf4017f1a89f7ea6de77a0b8", - "06fdcc7a409548aaf91368c06a6275b553e3f099bf0ea4edfd6778df89a890dd" - }; - - final static String million_a_digest = "ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978"; - - RIPEMD256DigestTest() - { - super(new RIPEMD256Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new RIPEMD256Digest((RIPEMD256Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new RIPEMD256DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD320DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD320DigestTest.java deleted file mode 100644 index c64616ba3..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RIPEMD320DigestTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.RIPEMD320Digest; - -/** - * RIPEMD320 Digest Test - */ -public class RIPEMD320DigestTest - extends DigestTest -{ - final static String[] messages = { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890" - }; - - final static String[] digests = { - "22d65d5661536cdc75c1fdf5c6de7b41b9f27325ebc61e8557177d705a0ec880151c3a32a00899b8", - "ce78850638f92658a5a585097579926dda667a5716562cfcf6fbe77f63542f99b04705d6970dff5d", - "de4c01b3054f8930a79d09ae738e92301e5a17085beffdc1b8d116713e74f82fa942d64cdbc4682d", - "3a8e28502ed45d422f68844f9dd316e7b98533fa3f2a91d29f84d425c88d6b4eff727df66a7c0197", - "cabdb1810b92470a2093aa6bce05952c28348cf43ff60841975166bb40ed234004b8824463e6b009", - "d034a7950cf722021ba4b84df769a5de2060e259df4c9bb4a4268c0e935bbc7470a969c9d072a1ac", - "ed544940c86d67f250d232c30b7b3e5770e0c60c8cb9a4cafe3b11388af9920e1b99230b843c86a4", - "557888af5f6d8ed62ab66945c6d2a0a47ecd5341e915eb8fea1d0524955f825dc717e4a008ab2d42" - }; - - final static String million_a_digest = "bdee37f4371e20646b8b0d862dda16292ae36f40965e8c8509e63d1dbddecc503e2b63eb9245bb66"; - - RIPEMD320DigestTest() - { - super(new RIPEMD320Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new RIPEMD320Digest((RIPEMD320Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new RIPEMD320DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSABlindedTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSABlindedTest.java deleted file mode 100644 index 749e6ba1c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSABlindedTest.java +++ /dev/null @@ -1,437 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.encodings.OAEPEncoding; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSABlindedEngine; -import org.spongycastle.crypto.generators.RSAKeyPairGenerator; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -import java.math.BigInteger; -import java.security.SecureRandom; - -public class RSABlindedTest - extends SimpleTest -{ - static BigInteger mod = new BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16); - static BigInteger pubExp = new BigInteger("11", 16); - static BigInteger privExp = new BigInteger("92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619", 16); - static BigInteger p = new BigInteger("f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4b929d9555853004c7c8b30ee6a213c3d1bb7415d03", 16); - static BigInteger q = new BigInteger("b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947", 16); - static BigInteger pExp = new BigInteger("1d1a2d3ca8e52068b3094d501c9a842fec37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5", 16); - static BigInteger qExp = new BigInteger("6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded", 16); - static BigInteger crtCoef = new BigInteger("dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339", 16); - - static String input = "4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - // - // to check that we handling byte extension by big number correctly. - // - static String edgeInput = "ff6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - static byte[] oversizedSig = Hex.decode("01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] dudBlock = Hex.decode("000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] truncatedDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] incorrectPadding = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] missingDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - - public String getName() - { - return "RSABlinded"; - } - - private void testStrictPKCS1Length(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - AsymmetricBlockCipher eng = new RSABlindedEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(oversizedSig, 0, oversizedSig.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("oversized signature block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals("block incorrect size")) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - - //System.setProperty(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY, "false"); - - System.getProperties().put(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY, "false"); - eng = new PKCS1Encoding(new RSABlindedEngine()); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (InvalidCipherTextException e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - System.getProperties().remove(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY); - } - - private void testTruncatedPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, truncatedDataBlock, "block truncated"); - } - - private void testDudPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, dudBlock, "unknown block type"); - } - - private void testWrongPaddingPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, incorrectPadding, "block padding incorrect"); - } - - private void testMissingDataPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, missingDataBlock, "no data in block"); - } - - private void checkForPKCS1Exception(RSAKeyParameters pubParameters, RSAKeyParameters privParameters, byte[] inputData, String expectedMessage) - { - AsymmetricBlockCipher eng = new RSABlindedEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(inputData, 0, inputData.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("missing data block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals(expectedMessage)) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - } - - private void testOAEP(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - // - // OAEP - public encrypt, private decrypt - // - AsymmetricBlockCipher eng = new OAEPEncoding(new RSABlindedEngine()); - byte[] data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed OAEP Test"); - } - } - - public void performTest() - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAPrivateCrtKeyParameters(mod, pubExp, privExp, p, q, pExp, qExp, crtCoef); - byte[] data = Hex.decode(edgeInput); - - // - // RAW - // - AsymmetricBlockCipher eng = new RSABlindedEngine(); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!edgeInput.equals(new String(Hex.encode(data)))) - { - fail("failed RAW edge Test"); - } - - data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed RAW Test"); - } - - // - // PKCS1 - public encrypt, private decrypt - // - eng = new PKCS1Encoding(eng); - - eng.init(true, pubParameters); - - if (eng.getOutputBlockSize() != ((PKCS1Encoding)eng).getUnderlyingCipher().getOutputBlockSize()) - { - fail("PKCS1 output block size incorrect"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 public/private Test"); - } - - // - // PKCS1 - private encrypt, public decrypt - // - eng = new PKCS1Encoding(((PKCS1Encoding)eng).getUnderlyingCipher()); - - eng.init(true, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 private/public Test"); - } - - // - // key generation test - // - RSAKeyPairGenerator pGen = new RSAKeyPairGenerator(); - RSAKeyGenerationParameters genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 768, 25); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - eng = new RSABlindedEngine(); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 768) - { - fail("failed key generation (768) length test"); - } - - eng.init(true, pair.getPublic()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (768) Test"); - } - - genParam = new RSAKeyGenerationParameters(BigInteger.valueOf(0x11), new SecureRandom(), 1024, 25); - - pGen.init(genParam); - pair = pGen.generateKeyPair(); - - eng.init(true, pair.getPublic()); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 1024) - { - fail("failed key generation (1024) length test"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (1024) test"); - } - - testOAEP(pubParameters, privParameters); - testStrictPKCS1Length(pubParameters, privParameters); - testDudPKCS1Block(pubParameters, privParameters); - testMissingDataPKCS1Block(pubParameters, privParameters); - testTruncatedPKCS1Block(pubParameters, privParameters); - testWrongPaddingPKCS1Block(pubParameters, privParameters); - - try - { - new RSABlindedEngine().processBlock(new byte[]{ 1 }, 0, 1); - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - } - - - public static void main( - String[] args) - { - runTest(new RSABlindedTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSADigestSignerTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSADigestSignerTest.java deleted file mode 100644 index 5587dcf8a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSADigestSignerTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.crypto.signers.RSADigestSigner; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.test.SimpleTest; - -import java.math.BigInteger; - -public class RSADigestSignerTest - extends SimpleTest -{ - public String getName() - { - return "RSADigestSigner"; - } - - public void performTest() throws Exception - { - BigInteger rsaPubMod = new BigInteger(Base64.decode("AIASoe2PQb1IP7bTyC9usjHP7FvnUMVpKW49iuFtrw/dMpYlsMMoIU2jupfifDpdFxIktSB4P+6Ymg5WjvHKTIrvQ7SR4zV4jaPTu56Ys0pZ9EDA6gb3HLjtU+8Bb1mfWM+yjKxcPDuFjwEtjGlPHg1Vq+CA9HNcMSKNn2+tW6qt")); - BigInteger rsaPubExp = new BigInteger(Base64.decode("EQ==")); - BigInteger rsaPrivMod = new BigInteger(Base64.decode("AIASoe2PQb1IP7bTyC9usjHP7FvnUMVpKW49iuFtrw/dMpYlsMMoIU2jupfifDpdFxIktSB4P+6Ymg5WjvHKTIrvQ7SR4zV4jaPTu56Ys0pZ9EDA6gb3HLjtU+8Bb1mfWM+yjKxcPDuFjwEtjGlPHg1Vq+CA9HNcMSKNn2+tW6qt")); - BigInteger rsaPrivDP = new BigInteger(Base64.decode("JXzfzG5v+HtLJIZqYMUefJfFLu8DPuJGaLD6lI3cZ0babWZ/oPGoJa5iHpX4Ul/7l3s1PFsuy1GhzCdOdlfRcQ==")); - BigInteger rsaPrivDQ = new BigInteger(Base64.decode("YNdJhw3cn0gBoVmMIFRZzflPDNthBiWy/dUMSRfJCxoZjSnr1gysZHK01HteV1YYNGcwPdr3j4FbOfri5c6DUQ==")); - BigInteger rsaPrivExp = new BigInteger(Base64.decode("DxFAOhDajr00rBjqX+7nyZ/9sHWRCCp9WEN5wCsFiWVRPtdB+NeLcou7mWXwf1Y+8xNgmmh//fPV45G2dsyBeZbXeJwB7bzx9NMEAfedchyOwjR8PYdjK3NpTLKtZlEJ6Jkh4QihrXpZMO4fKZWUm9bid3+lmiq43FwW+Hof8/E=")); - BigInteger rsaPrivP = new BigInteger(Base64.decode("AJ9StyTVW+AL/1s7RBtFwZGFBgd3zctBqzzwKPda6LbtIFDznmwDCqAlIQH9X14X7UPLokCDhuAa76OnDXb1OiE=")); - BigInteger rsaPrivQ = new BigInteger(Base64.decode("AM3JfD79dNJ5A3beScSzPtWxx/tSLi0QHFtkuhtSizeXdkv5FSba7lVzwEOGKHmW829bRoNxThDy4ds1IihW1w0=")); - BigInteger rsaPrivQinv = new BigInteger(Base64.decode("Lt0g7wrsNsQxuDdB8q/rH8fSFeBXMGLtCIqfOec1j7FEIuYA/ACiRDgXkHa0WgN7nLXSjHoy630wC5Toq8vvUg==")); - RSAKeyParameters rsaPublic = new RSAKeyParameters(false, rsaPubMod, rsaPubExp); - RSAPrivateCrtKeyParameters rsaPrivate = new RSAPrivateCrtKeyParameters(rsaPrivMod, rsaPubExp, rsaPrivExp, rsaPrivP, rsaPrivQ, rsaPrivDP, rsaPrivDQ, rsaPrivQinv); - - byte[] msg = new byte[] { 1, 6, 3, 32, 7, 43, 2, 5, 7, 78, 4, 23 }; - - RSADigestSigner signer = new RSADigestSigner(new SHA1Digest()); - signer.init(true, rsaPrivate); - signer.update(msg, 0, msg.length); - byte[] sig = signer.generateSignature(); - - signer = new RSADigestSigner(new SHA1Digest(), X509ObjectIdentifiers.id_SHA1); - signer.init(false, rsaPublic); - signer.update(msg, 0, msg.length); - if (!signer.verifySignature(sig)) - { - fail("RSA Digest Signer failed."); - } - } - - public static void main(String[] args) - { - runTest(new RSADigestSignerTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSAKeyEncapsulationTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSAKeyEncapsulationTest.java deleted file mode 100755 index b2f0f8fde..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSAKeyEncapsulationTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.generators.KDF2BytesGenerator; -import org.spongycastle.crypto.generators.RSAKeyPairGenerator; -import org.spongycastle.crypto.kems.RSAKeyEncapsulation; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.util.test.SimpleTest; - -/** - * Tests for the RSA Key Encapsulation Mechanism - */ -public class RSAKeyEncapsulationTest - extends SimpleTest -{ - public String getName() - { - return "RSAKeyEncapsulation"; - } - - public void performTest() - throws Exception - { - // Generate RSA key pair - RSAKeyPairGenerator rsaGen = new RSAKeyPairGenerator(); - rsaGen.init(new RSAKeyGenerationParameters(BigInteger.valueOf(65537), new SecureRandom(), 1024, 5)); - AsymmetricCipherKeyPair keys = rsaGen.generateKeyPair(); - - // Set RSA-KEM parameters - RSAKeyEncapsulation kem; - KDF2BytesGenerator kdf = new KDF2BytesGenerator(new SHA1Digest()); - SecureRandom rnd = new SecureRandom(); - byte[] out = new byte[128]; - KeyParameter key1, key2; - - // Test RSA-KEM - kem = new RSAKeyEncapsulation(kdf, rnd); - - kem.init(keys.getPublic()); - key1 = (KeyParameter)kem.encrypt(out, 128); - - kem.init(keys.getPrivate()); - key2 = (KeyParameter)kem.decrypt(out, 128); - - if (!areEqual(key1.getKey(), key2.getKey())) - { - fail("failed test"); - } - } - - public static void main( - String[] args) - { - runTest(new RSAKeyEncapsulationTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSATest.java deleted file mode 100644 index bf1150032..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RSATest.java +++ /dev/null @@ -1,498 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricBlockCipher; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.encodings.OAEPEncoding; -import org.spongycastle.crypto.encodings.PKCS1Encoding; -import org.spongycastle.crypto.engines.RSAEngine; -import org.spongycastle.crypto.generators.RSAKeyPairGenerator; -import org.spongycastle.crypto.params.RSAKeyGenerationParameters; -import org.spongycastle.crypto.params.RSAKeyParameters; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class RSATest - extends SimpleTest -{ - static BigInteger mod = new BigInteger("b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5", 16); - static BigInteger pubExp = new BigInteger("11", 16); - static BigInteger privExp = new BigInteger("92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619", 16); - static BigInteger p = new BigInteger("f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4b929d9555853004c7c8b30ee6a213c3d1bb7415d03", 16); - static BigInteger q = new BigInteger("b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947", 16); - static BigInteger pExp = new BigInteger("1d1a2d3ca8e52068b3094d501c9a842fec37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5", 16); - static BigInteger qExp = new BigInteger("6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded", 16); - static BigInteger crtCoef = new BigInteger("dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339", 16); - - static String input = "4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - // - // to check that we handling byte extension by big number correctly. - // - static String edgeInput = "ff6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"; - - static byte[] oversizedSig = Hex.decode("01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] dudBlock = Hex.decode("000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] truncatedDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] incorrectPadding = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e"); - static byte[] missingDataBlock = Hex.decode("0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - - public String getName() - { - return "RSA"; - } - - private void testStrictPKCS1Length(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(oversizedSig, 0, oversizedSig.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("oversized signature block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals("block incorrect size")) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - - //System.setProperty(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY, "false"); - - System.getProperties().put(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY, "false"); - eng = new PKCS1Encoding(new RSAEngine()); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (InvalidCipherTextException e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - System.getProperties().remove(PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY); - } - - private void testTruncatedPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, truncatedDataBlock, "block truncated"); - } - - private void testDudPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, dudBlock, "unknown block type"); - } - - private void testWrongPaddingPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, incorrectPadding, "block padding incorrect"); - } - - private void testMissingDataPKCS1Block(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - checkForPKCS1Exception(pubParameters, privParameters, missingDataBlock, "no data in block"); - } - - private void checkForPKCS1Exception(RSAKeyParameters pubParameters, RSAKeyParameters privParameters, byte[] inputData, String expectedMessage) - { - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, privParameters); - - byte[] data = null; - - try - { - data = eng.processBlock(inputData, 0, inputData.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng = new PKCS1Encoding(eng); - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - - fail("missing data block not recognised"); - } - catch (InvalidCipherTextException e) - { - if (!e.getMessage().equals(expectedMessage)) - { - fail("RSA: failed - exception " + e.toString(), e); - } - } - } - - private void testOAEP(RSAKeyParameters pubParameters, RSAKeyParameters privParameters) - { - // - // OAEP - public encrypt, private decrypt - // - AsymmetricBlockCipher eng = new OAEPEncoding(new RSAEngine()); - byte[] data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed OAEP Test"); - } - } - - private void zeroBlockTest(CipherParameters encParameters, CipherParameters decParameters) - { - AsymmetricBlockCipher eng = new PKCS1Encoding(new RSAEngine()); - - eng.init(true, encParameters); - - if (eng.getOutputBlockSize() != ((PKCS1Encoding)eng).getUnderlyingCipher().getOutputBlockSize()) - { - fail("PKCS1 output block size incorrect"); - } - - byte[] zero = new byte[0]; - byte[] data = null; - - try - { - data = eng.processBlock(zero, 0, zero.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, decParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!Arrays.areEqual(zero, data)) - { - fail("failed PKCS1 zero Test"); - } - } - - public void performTest() - { - RSAKeyParameters pubParameters = new RSAKeyParameters(false, mod, pubExp); - RSAKeyParameters privParameters = new RSAPrivateCrtKeyParameters(mod, pubExp, privExp, p, q, pExp, qExp, crtCoef); - byte[] data = Hex.decode(edgeInput); - - // - // RAW - // - AsymmetricBlockCipher eng = new RSAEngine(); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("RSA: failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!edgeInput.equals(new String(Hex.encode(data)))) - { - fail("failed RAW edge Test"); - } - - data = Hex.decode(input); - - eng.init(true, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed RAW Test"); - } - - // - // PKCS1 - public encrypt, private decrypt - // - eng = new PKCS1Encoding(eng); - - eng.init(true, pubParameters); - - if (eng.getOutputBlockSize() != ((PKCS1Encoding)eng).getUnderlyingCipher().getOutputBlockSize()) - { - fail("PKCS1 output block size incorrect"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 public/private Test"); - } - - // - // PKCS1 - private encrypt, public decrypt - // - eng = new PKCS1Encoding(((PKCS1Encoding)eng).getUnderlyingCipher()); - - eng.init(true, privParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pubParameters); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed PKCS1 private/public Test"); - } - - zeroBlockTest(pubParameters, privParameters); - zeroBlockTest(privParameters, pubParameters); - - // - // key generation test - // - RSAKeyPairGenerator pGen = new RSAKeyPairGenerator(); - RSAKeyGenerationParameters genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 768, 25); - - pGen.init(genParam); - - AsymmetricCipherKeyPair pair = pGen.generateKeyPair(); - - eng = new RSAEngine(); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 768) - { - fail("failed key generation (768) length test"); - } - - eng.init(true, pair.getPublic()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (768) Test"); - } - - genParam = new RSAKeyGenerationParameters(BigInteger.valueOf(0x11), new SecureRandom(), 1024, 25); - - pGen.init(genParam); - pair = pGen.generateKeyPair(); - - eng.init(true, pair.getPublic()); - - if (((RSAKeyParameters)pair.getPublic()).getModulus().bitLength() < 1024) - { - fail("failed key generation (1024) length test"); - } - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - eng.init(false, pair.getPrivate()); - - try - { - data = eng.processBlock(data, 0, data.length); - } - catch (Exception e) - { - fail("failed - exception " + e.toString(), e); - } - - if (!input.equals(new String(Hex.encode(data)))) - { - fail("failed key generation (1024) test"); - } - - genParam = new RSAKeyGenerationParameters( - BigInteger.valueOf(0x11), new SecureRandom(), 16, 25); - pGen.init(genParam); - - for (int i = 0; i < 100; ++i) - { - pair = pGen.generateKeyPair(); - RSAPrivateCrtKeyParameters privKey = (RSAPrivateCrtKeyParameters) pair.getPrivate(); - BigInteger pqDiff = privKey.getP().subtract(privKey.getQ()).abs(); - - if (pqDiff.bitLength() < 5) - { - fail("P and Q too close in RSA key pair"); - } - } - - testOAEP(pubParameters, privParameters); - testStrictPKCS1Length(pubParameters, privParameters); - testDudPKCS1Block(pubParameters, privParameters); - testMissingDataPKCS1Block(pubParameters, privParameters); - testTruncatedPKCS1Block(pubParameters, privParameters); - testWrongPaddingPKCS1Block(pubParameters, privParameters); - - try - { - new RSAEngine().processBlock(new byte[]{ 1 }, 0, 1); - fail("failed initialisation check"); - } - catch (IllegalStateException e) - { - // expected - } - } - - - public static void main( - String[] args) - { - runTest(new RSATest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RegressionTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RegressionTest.java deleted file mode 100644 index 63dd638e1..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RegressionTest.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = - { - new AESTest(), - new AESLightTest(), - new AESFastTest(), - new AESWrapTest(), - new DESTest(), - new DESedeTest(), - new ModeTest(), - new PaddingTest(), - new DHTest(), - new ElGamalTest(), - new DSATest(), - new ECTest(), - new DeterministicDSATest(), - new GOST3410Test(), - new ECGOST3410Test(), - new ECIESTest(), - new ECNRTest(), - new MacTest(), - new GOST28147MacTest(), - new RC2Test(), - new RC2WrapTest(), - new RC4Test(), - new RC5Test(), - new RC6Test(), - new RijndaelTest(), - new SerpentTest(), - new CamelliaTest(), - new CamelliaLightTest(), - new DigestRandomNumberTest(), - new SkipjackTest(), - new BlowfishTest(), - new TwofishTest(), - new Threefish256Test(), - new Threefish512Test(), - new Threefish1024Test(), - new SkeinDigestTest(), - new SkeinMacTest(), - new CAST5Test(), - new CAST6Test(), - new GOST28147Test(), - new IDEATest(), - new RSATest(), - new RSABlindedTest(), - new RSADigestSignerTest(), - new PSSBlindTest(), - new ISO9796Test(), - new ISO9797Alg3MacTest(), - new MD2DigestTest(), - new MD4DigestTest(), - new MD5DigestTest(), - new SHA1DigestTest(), - new SHA224DigestTest(), - new SHA256DigestTest(), - new SHA384DigestTest(), - new SHA512DigestTest(), - new SHA512t224DigestTest(), - new SHA512t256DigestTest(), - new SHA3DigestTest(), - new RIPEMD128DigestTest(), - new RIPEMD160DigestTest(), - new RIPEMD256DigestTest(), - new RIPEMD320DigestTest(), - new TigerDigestTest(), - new GOST3411DigestTest(), - new WhirlpoolDigestTest(), - new MD5HMacTest(), - new SHA1HMacTest(), - new SHA224HMacTest(), - new SHA256HMacTest(), - new SHA384HMacTest(), - new SHA512HMacTest(), - new RIPEMD128HMacTest(), - new RIPEMD160HMacTest(), - new OAEPTest(), - new PSSTest(), - new CTSTest(), - new CCMTest(), - new PKCS5Test(), - new PKCS12Test(), - new KDF1GeneratorTest(), - new KDF2GeneratorTest(), - new MGF1GeneratorTest(), - new HKDFGeneratorTest(), - new DHKEKGeneratorTest(), - new ECDHKEKGeneratorTest(), - new ShortenedDigestTest(), - new EqualsHashCodeTest(), - new TEATest(), - new XTEATest(), - new RFC3211WrapTest(), - new SEEDTest(), - new Salsa20Test(), - new XSalsa20Test(), - new ChaChaTest(), - new CMacTest(), - new EAXTest(), - new GCMTest(), - new GMacTest(), - new HCFamilyTest(), - new HCFamilyVecTest(), - new ISAACTest(), - new NoekeonTest(), - new VMPCKSA3Test(), - new VMPCMacTest(), - new VMPCTest(), - new Grainv1Test(), - new Grain128Test(), - //new NaccacheSternTest(), - new SRP6Test(), - new SCryptTest(), - new ResetTest(), - new NullTest(), - new DSTU4145Test(), - new SipHashTest(), - new Poly1305Test(), - new OCBTest(), - new NonMemoableDigestTest(), - new RSAKeyEncapsulationTest(), - new ECIESKeyEncapsulationTest(), - new HashCommitmentTest(), - new CipherStreamTest(), - new BlockCipherResetTest(), - new StreamCipherResetTest(), - new SM3DigestTest(), - new Shacal2Test(), - new KDFCounterGeneratorTest(), - new KDFDoublePipelineIteratorGeneratorTest(), - new KDFFeedbackGeneratorTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ResetTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ResetTest.java deleted file mode 100644 index dd323d7d4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ResetTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BufferedBlockCipher; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.engines.DESEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class ResetTest - extends SimpleTest -{ - private static final byte[] input = Hex.decode("4e6f77206973207468652074696d6520666f7220616c6c20"); - private static final byte[] output = Hex.decode("3fa40e8a984d48156a271787ab8883f9893d51ec4b563b53"); - public String getName() - { - return "Reset"; - } - - public void performTest() - throws Exception - { - BufferedBlockCipher cipher = new BufferedBlockCipher(new DESEngine()); - - KeyParameter param = new KeyParameter(Hex.decode("0123456789abcdef")); - - basicTrial(cipher, param); - - cipher.init(false, param); - - byte[] out = new byte[input.length]; - - int len2 = cipher.processBytes(output, 0, output.length - 1, out, 0); - - try - { - cipher.doFinal(out, len2); - fail("no DataLengthException - short input"); - } - catch (DataLengthException e) - { - // ignore - } - - len2 = cipher.processBytes(output, 0, output.length, out, 0); - - cipher.doFinal(out, len2); - - if (!areEqual(input, out)) - { - fail("failed reversal one got " + new String(Hex.encode(out))); - } - - len2 = cipher.processBytes(output, 0, output.length - 1, out, 0); - - try - { - cipher.doFinal(out, len2); - fail("no DataLengthException - short output"); - } - catch (DataLengthException e) - { - // ignore - } - - len2 = cipher.processBytes(output, 0, output.length, out, 0); - - cipher.doFinal(out, len2); - - if (!areEqual(input, out)) - { - fail("failed reversal two got " + new String(Hex.encode(out))); - } - } - - private void basicTrial(BufferedBlockCipher cipher, KeyParameter param) - throws InvalidCipherTextException - { - cipher.init(true, param); - - byte[] out = new byte[input.length]; - - int len1 = cipher.processBytes(input, 0, input.length, out, 0); - - cipher.doFinal(out, len1); - - if (!areEqual(out, output)) - { - fail("failed - " + "expected " + new String(Hex.encode(output)) + " got " + new String(Hex.encode(out))); - } - } - - public static void main( - String[] args) - { - runTest(new ResetTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RijndaelTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RijndaelTest.java deleted file mode 100644 index 6c5d742bc..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/RijndaelTest.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.RijndaelEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test vectors from the NIST standard tests and Brian Gladman's vector set - * - * http://fp.gladman.plus.com/cryptography_technology/rijndael/ - */ -public class RijndaelTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new RijndaelEngine(128), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "0EDD33D3C621E546455BD8BA1418BEC8"), - new BlockCipherVectorTest(1, new RijndaelEngine(128), - new KeyParameter(Hex.decode("00000000000000000000000000000080")), - "00000000000000000000000000000000", "172AEAB3D507678ECAF455C12587ADB7"), - new BlockCipherMonteCarloTest(2, 10000, new RijndaelEngine(128), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000000000000000", "C34C052CC0DA8D73451AFE5F03BE297F"), - new BlockCipherMonteCarloTest(3, 10000, new RijndaelEngine(128), - new KeyParameter(Hex.decode("5F060D3716B345C253F6749ABAC10917")), - "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A"), - new BlockCipherVectorTest(4, new RijndaelEngine(128), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "6CD02513E8D4DC986B4AFE087A60BD0C"), - new BlockCipherMonteCarloTest(5, 10000, new RijndaelEngine(128), - new KeyParameter(Hex.decode("AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114")), - "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172"), - new BlockCipherVectorTest(6, new RijndaelEngine(128), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "80000000000000000000000000000000", "DDC6BF790C15760D8D9AEB6F9A75FD4E"), - new BlockCipherMonteCarloTest(7, 10000, new RijndaelEngine(128), - new KeyParameter(Hex.decode("28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386")), - "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168"), - new BlockCipherVectorTest(8, new RijndaelEngine(160), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c")), - "3243f6a8885a308d313198a2e03707344a409382", "16e73aec921314c29df905432bc8968ab64b1f51"), - new BlockCipherVectorTest(8, new RijndaelEngine(160), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160")), - "3243f6a8885a308d313198a2e03707344a409382", "0553eb691670dd8a5a5b5addf1aa7450f7a0e587"), - new BlockCipherVectorTest(8, new RijndaelEngine(160), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da5")), - "3243f6a8885a308d313198a2e03707344a409382", "73cd6f3423036790463aa9e19cfcde894ea16623"), - new BlockCipherVectorTest(8, new RijndaelEngine(160), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d90")), - "3243f6a8885a308d313198a2e03707344a409382", "601b5dcd1cf4ece954c740445340bf0afdc048df"), - new BlockCipherVectorTest(8, new RijndaelEngine(160), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d9045190cfe")), - "3243f6a8885a308d313198a2e03707344a409382", "579e930b36c1529aa3e86628bacfe146942882cf"), - new BlockCipherVectorTest(8, new RijndaelEngine(192), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d", "b24d275489e82bb8f7375e0d5fcdb1f481757c538b65148a"), - new BlockCipherVectorTest(9, new RijndaelEngine(192), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da5")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d", "725ae43b5f3161de806a7c93e0bca93c967ec1ae1b71e1cf"), - new BlockCipherVectorTest(10, new RijndaelEngine(192), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d90")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d", "bbfc14180afbf6a36382a061843f0b63e769acdc98769130"), - new BlockCipherVectorTest(11, new RijndaelEngine(192), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d9045190cfe")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d", "0ebacf199e3315c2e34b24fcc7c46ef4388aa475d66c194c"), - new BlockCipherVectorTest(12, new RijndaelEngine(224), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa9", "b0a8f78f6b3c66213f792ffd2a61631f79331407a5e5c8d3793aceb1"), - new BlockCipherVectorTest(13, new RijndaelEngine(224), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa9", "08b99944edfce33a2acb131183ab0168446b2d15e958480010f545e3"), - new BlockCipherVectorTest(14, new RijndaelEngine(224), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da5")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa9", "be4c597d8f7efe22a2f7e5b1938e2564d452a5bfe72399c7af1101e2"), - new BlockCipherVectorTest(15, new RijndaelEngine(224), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d90")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa9", "ef529598ecbce297811b49bbed2c33bbe1241d6e1a833dbe119569e8"), - new BlockCipherVectorTest(16, new RijndaelEngine(224), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d9045190cfe")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa9", "02fafc200176ed05deb8edb82a3555b0b10d47a388dfd59cab2f6c11"), - new BlockCipherVectorTest(17, new RijndaelEngine(256), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa98ec4e6c8", "7d15479076b69a46ffb3b3beae97ad8313f622f67fedb487de9f06b9ed9c8f19"), - new BlockCipherVectorTest(18, new RijndaelEngine(256), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa98ec4e6c8", "514f93fb296b5ad16aa7df8b577abcbd484decacccc7fb1f18dc567309ceeffd"), - new BlockCipherVectorTest(19, new RijndaelEngine(256), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da5")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa98ec4e6c8", "5d7101727bb25781bf6715b0e6955282b9610e23a43c2eb062699f0ebf5887b2"), - new BlockCipherVectorTest(20, new RijndaelEngine(256), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d90")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa98ec4e6c8", "d56c5a63627432579e1dd308b2c8f157b40a4bfb56fea1377b25d3ed3d6dbf80"), - new BlockCipherVectorTest(21, new RijndaelEngine(256), - new KeyParameter(Hex.decode("2b7e151628aed2a6abf7158809cf4f3c762e7160f38b4da56a784d9045190cfe")), - "3243f6a8885a308d313198a2e03707344a4093822299f31d0082efa98ec4e6c8", "a49406115dfb30a40418aafa4869b7c6a886ff31602a7dd19c889dc64f7e4e7a") - }; - - RijndaelTest() - { - super(tests, new RijndaelEngine(128), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "Rijndael"; - } - - public static void main( - String[] args) - { - runTest(new RijndaelTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SCryptTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SCryptTest.java deleted file mode 100644 index 95731f087..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SCryptTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.BufferedReader; -import java.io.InputStreamReader; - -import org.spongycastle.crypto.generators.SCrypt; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/* - * scrypt test vectors from "Stronger Key Derivation Via Sequential Memory-hard Functions" Appendix B. - * (http://www.tarsnap.com/scrypt/scrypt.pdf) - */ -public class SCryptTest extends SimpleTest -{ - public String getName() - { - return "SCrypt"; - } - - public void performTest() throws Exception - { - BufferedReader br = new BufferedReader(new InputStreamReader( - getClass().getResourceAsStream("SCryptTestVectors.txt"))); - - int count = 0; - String line = br.readLine(); - - while (line != null) - { - ++count; - String header = line; - StringBuffer data = new StringBuffer(); - - while (!isEndData(line = br.readLine())) - { - for (int i = 0; i != line.length(); i++) - { - if (line.charAt(i) != ' ') - { - data.append(line.charAt(i)); - } - } - } - - int start = header.indexOf('(') + 1; - int limit = header.lastIndexOf(')'); - String argStr = header.substring(start, limit); - String[] args = Strings.split(argStr, ','); - - byte[] P = extractQuotedString(args[0]); - byte[] S = extractQuotedString(args[1]); - int N = extractInteger(args[2]); - int r = extractInteger(args[3]); - int p = extractInteger(args[4]); - int dkLen = extractInteger(args[5]); - byte[] expected = Hex.decode(data.toString()); - - // This skips very expensive test case(s), remove check to re-enable - if (N <= 16384) - { - byte[] result = SCrypt.generate(P, S, N, r, p, dkLen); - - if (!areEqual(expected, result)) - { - fail("Result does not match expected value in test case " + count); - } - } - } - - br.close(); - } - - private static boolean isEndData(String line) - { - return line == null || line.startsWith("scrypt"); - } - - private static byte[] extractQuotedString(String arg) - { - arg = arg.trim(); - arg = arg.substring(1, arg.length() - 1); - return Strings.toByteArray(arg); - } - - private static int extractInteger(String arg) - { - return Integer.parseInt(arg.trim()); - } - - public static void main(String[] args) - { - runTest(new SCryptTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SEEDTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SEEDTest.java deleted file mode 100644 index a38c59c15..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SEEDTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.SEEDEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * SEED tester - vectors http://www.ietf.org/rfc/rfc4009.txt - */ -public class SEEDTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new SEEDEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "000102030405060708090a0b0c0d0e0f", - "5EBAC6E0054E166819AFF1CC6D346CDB"), - new BlockCipherVectorTest(0, new SEEDEngine(), - new KeyParameter(Hex.decode("000102030405060708090a0b0c0d0e0f")), - "00000000000000000000000000000000", - "c11f22f20140505084483597e4370f43"), - new BlockCipherVectorTest(0, new SEEDEngine(), - new KeyParameter(Hex.decode("4706480851E61BE85D74BFB3FD956185")), - "83A2F8A288641FB9A4E9A5CC2F131C7D", - "EE54D13EBCAE706D226BC3142CD40D4A"), - new BlockCipherVectorTest(0, new SEEDEngine(), - new KeyParameter(Hex.decode("28DBC3BC49FFD87DCFA509B11D422BE7")), - "B41E6BE2EBA84A148E2EED84593C5EC7", - "9B9B7BFCD1813CB95D0B3618F40F5122"), - new BlockCipherVectorTest(0, new SEEDEngine(), - new KeyParameter(Hex.decode("0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E")), - "0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E", - "8296F2F1B007AB9D533FDEE35A9AD850"), - }; - - SEEDTest() - { - super(tests, new SEEDEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "SEED"; - } - - public static void main( - String[] args) - { - runTest(new SEEDTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1DigestTest.java deleted file mode 100644 index 0dc1bdcfd..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1DigestTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; - -/** - * standard vector test for SHA-1 from "Handbook of Applied Cryptography", page 345. - */ -public class SHA1DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdefghijklmnopqrstuvwxyz" - }; - - private static String[] digests = - { - "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "86f7e437faa5a7fce15d1ddcb9eaeaea377667b8", - "a9993e364706816aba3e25717850c26c9cd0d89d", - "32d10c7b8cf96570ca04ce37f2a19d84240d3a89" - }; - - SHA1DigestTest() - { - super(new SHA1Digest(), messages, digests); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA1Digest((SHA1Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA1DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1HMacTest.java deleted file mode 100644 index 4740988ce..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA1HMacTest.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA1 HMac Test, test vectors from RFC 2202 - */ -public class SHA1HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F" - }; - - final static String[] digests = { - "b617318655057264e28bc0b6fb378c8ef146be00", - "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79", - "125d7342b9ac11cd91a39af48aa17b4f63f175d3", - "4c9007f4026250c6bc8414f9bf50c86c2d7235da", - "4c1a03424b55e07fe7f27be1d58bb9324a9a5a04", - "aa4ae5e15272d00e95705637ce8a3b55ed402112", - "e8e99d0f45237d786d6bbaa7965c7808bbff1a91", - "5FD596EE78D5553C8FF4E72D266DFD192366DA29" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data", - "Sample message for keylen=blocklen" - }; - - public String getName() - { - return "SHA1HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new SHA1Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed"); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - SHA1HMacTest test = new SHA1HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224DigestTest.java deleted file mode 100644 index 2e793dfd9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224DigestTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA224Digest; - -/** - * standard vector test for SHA-224 from RFC 3874 - only the last three are in - * the RFC. - */ -public class SHA224DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - }; - - private static String[] digests = - { - "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f", - "abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5", - "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7", - "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525" - }; - - // 1 million 'a' - static private String million_a_digest = "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67"; - - SHA224DigestTest() - { - super(new SHA224Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA224Digest((SHA224Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA224DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224HMacTest.java deleted file mode 100644 index 5f4c73ed8..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA224HMacTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA224 HMac Test - */ -public class SHA224HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "896fb1128abbdf196832107cd49df33f47b4b1169912ba4f53684b22", - "a30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44", - "7fb3cb3588c6c1f6ffa9694d7d6ad2649365b0c1f65d69d1ec8333ea", - "6c11506874013cac6a2abc1bb382627cec6a90d86efc012de7afec5a", - "0e2aea68a90c8d37c988bcdb9fca6fa8099cd857c7ec4a1815cac54c", - "95e9a0db962095adaebe9b2d6f0dbce2d499f112f2d2b7273fa6870e", - "3a854166ac5d9f023f54d517d0b39dbd946770db9c2b95c9f6f565d1" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "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." - }; - - public String getName() - { - return "SHA224HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new SHA224Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed got -" + new String(Hex.encode(resBuf))); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - SHA224HMacTest test = new SHA224HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256DigestTest.java deleted file mode 100644 index 556962659..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256DigestTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; - -/** - * standard vector test for SHA-256 from FIPS Draft 180-2. - * - * Note, the first two vectors are _not_ from the draft, the last three are. - */ -public class SHA256DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - }; - - private static String[] digests = - { - "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb", - "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", - "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1" - }; - - // 1 million 'a' - static private String million_a_digest = "cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0"; - - SHA256DigestTest() - { - super(new SHA256Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA256Digest((SHA256Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA256DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256HMacTest.java deleted file mode 100644 index f29a81d16..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA256HMacTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA256 HMac Test - */ -public class SHA256HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7", - "5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843", - "773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe", - "82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b", - "a3b6167473100ee06e0c796c2955552bfa6f7c0a6a8aef8b93f860aab0cd20c5", - "60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54", - "9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "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." - }; - - public String getName() - { - return "SHA256HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new SHA256Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed got -" + new String(Hex.encode(resBuf))); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - SHA256HMacTest test = new SHA256HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384DigestTest.java deleted file mode 100644 index 5b8af467f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384DigestTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA384Digest; - -/** - * standard vector test for SHA-384 from FIPS Draft 180-2. - * - * Note, the first two vectors are _not_ from the draft, the last three are. - */ -public class SHA384DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" - }; - - private static String[] digests = - { - "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b", - "54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31", - "cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7", - "09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039" - }; - - static private String million_a_digest = "9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985"; - - SHA384DigestTest() - { - super(new SHA384Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA384Digest((SHA384Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA384DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384HMacTest.java deleted file mode 100644 index 771524710..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA384HMacTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA384 HMac Test - */ -public class SHA384HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6", - "af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649", - "88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27", - "3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffb", - "3abf34c3503b2a23a46efc619baef897f4c8e42c934ce55ccbae9740fcbc1af4ca62269e2a37cd88ba926341efe4aeea", - "4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952", - "6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523e" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "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." - }; - - public String getName() - { - return "SHA384HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new SHA384Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed got -" + new String(Hex.encode(resBuf))); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - SHA384HMacTest test = new SHA384HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA3DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA3DigestTest.java deleted file mode 100644 index eb636e2aa..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA3DigestTest.java +++ /dev/null @@ -1,363 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.digests.SHA3Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * SHA3 Digest Test - */ -public class SHA3DigestTest - extends SimpleTest -{ - final static String[] messages = { - "", - "54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f67", - "54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f672e" - }; - - final static String[] digests288 = { // the default settings - "6753e3380c09e385d0339eb6b050a68f66cfd60a73476e6fd6adeb72f5edd7c6f04a5d01", // message[0] - "0bbe6afae0d7e89054085c1cc47b1689772c89a41796891e197d1ca1b76f288154933ded", // message[1] - "82558a209b960ddeb531e6dcb281885b2400ca160472462486e79f071e88a3330a8a303d", // message[2] - "94049e1ad7ef5d5b0df2b880489e7ab09ec937c3bfc1b04470e503e1ac7b1133c18f86da", // 64k a-test - "a9cb5a75b5b81b7528301e72553ed6770214fa963956e790528afe420de33c074e6f4220", // random alphabet test - "eadaf5ba2ad6a2f6f338fce0e1efdad2a61bb38f6be6068b01093977acf99e97a5d5827c" // extremely long data test - }; - - final static String[] digests224 = { - "f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd", - "310aee6b30c47350576ac2873fa89fd190cdc488442f3ef654cf23fe", - "c59d4eaeac728671c635ff645014e2afa935bebffdb5fbd207ffdeab", - "f621e11c142fbf35fa8c22841c3a812ba1e0151be4f38d80b9f1ff53", - "68b5fc8c87193155bba68a2485377e809ee4f81a85ef023b9e64add0", - "c42e4aee858e1a8ad2976896b9d23dd187f64436ee15969afdbc68c5" - }; - - final static String[] digests256 = { - "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15", - "578951e24efd62a3d63a86f7cd19aaa53c898fe287d2552133220370240b572d", - "0047a916daa1f92130d870b542e22d3108444f5a7e4429f05762fb647e6ed9ed", - "db368762253ede6d4f1db87e0b799b96e554eae005747a2ea687456ca8bcbd03", - "5f313c39963dcf792b5470d4ade9f3a356a3e4021748690a958372e2b06f82a4" - }; - - final static String[] digests384 = { - "2c23146a63a29acf99e73b88f8c24eaa7dc60aa771780ccc006afbfa8fe2479b2dd2b21362337441ac12b515911957ff", - "283990fa9d5fb731d786c5bbee94ea4db4910f18c62c03d173fc0a5e494422e8a0b3da7574dae7fa0baf005e504063b3", - "9ad8e17325408eddb6edee6147f13856ad819bb7532668b605a24a2d958f88bd5c169e56dc4b2f89ffd325f6006d820b", - "c704cfe7a1a53208ca9526cd24251e0acdc252ecd978eee05acd16425cfb404ea81f5a9e2e5e97784d63ee6a0618a398", - "d4fe8586fd8f858dd2e4dee0bafc19b4c12b4e2a856054abc4b14927354931675cdcaf942267f204ea706c19f7beefc4", - "9b7168b4494a80a86408e6b9dc4e5a1837c85dd8ff452ed410f2832959c08c8c0d040a892eb9a755776372d4a8732315" - }; - - final static String[] digests512 = { - "0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e", - "d135bb84d0439dbac432247ee573a23ea7d3c9deb2a968eb31d47c4fb45f1ef4422d6c531b5b9bd6f449ebcc449ea94d0a8f05f62130fda612da53c79659f609", - "ab7192d2b11f51c7dd744e7b3441febf397ca07bf812cceae122ca4ded6387889064f8db9230f173f6d1ab6e24b6e50f065b039f799f5592360a6558eb52d760", - "34341ead153aa1d1fdcf6cf624c2b4f6894b6fd16dc38bd4ec971ac0385ad54fafcb2e0ed86a1e509456f4246fdcb02c3172824cd649d9ad54c51f7fb49ea67c", - "dc44d4f4d36b07ab5fc04016cbe53548e5a7778671c58a43cb379fd00c06719b8073141fc22191ffc3db5f8b8983ae8341fa37f18c1c969664393aa5ceade64e", - "3e122edaf37398231cfaca4c7c216c9d66d5b899ec1d7ac617c40c7261906a45fc01617a021e5da3bd8d4182695b5cb785a28237cbb167590e34718e56d8aab8" - }; - - // test vectors from http://www.di-mgt.com.au/hmac_sha3_testvectors.html - final static byte[][] macKeys = - { - Hex.decode("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"), - Hex.decode("4a656665"), - Hex.decode("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), - Hex.decode("0102030405060708090a0b0c0d0e0f10111213141516171819"), - Hex.decode("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaa"), - Hex.decode("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaa"), - Hex.decode("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") - }; - - final static String[] macData = - { - "4869205468657265", - "7768617420646f2079612077616e7420666f72206e6f7468696e673f", - "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" + - "dddddddddddddddddddddddddddddddddddd", - "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd" + - "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a" + - "65204b6579202d2048617368204b6579204669727374", - "5468697320697320612074657374207573696e672061206c6172676572207468" + - "616e20626c6f636b2d73697a65206b657920616e642061206c61726765722074" + - "68616e20626c6f636b2d73697a6520646174612e20546865206b6579206e6565" + - "647320746f20626520686173686564206265666f7265206265696e6720757365" + - "642062792074686520484d414320616c676f726974686d2e", - "5468697320697320612074657374207573696e672061206c6172676572207468" + - "616e20626c6f636b2d73697a65206b657920616e642061206c61726765722074" + - "68616e20626c6f636b2d73697a6520646174612e20546865206b6579206e6565" + - "647320746f20626520686173686564206265666f7265206265696e6720757365\n" + - "642062792074686520484d414320616c676f726974686d2e" - }; - - final static String[] mac224 = - { - "b73d595a2ba9af815e9f2b4e53e78581ebd34a80b3bbaac4e702c4cc", - "e824fec96c074f22f99235bb942da1982664ab692ca8501053cbd414", - "770df38c99d6e2bacd68056dcfe07d4c89ae20b2686a6185e1faa449", - "305a8f2dfb94bad28861a03cbc4d590febe775c58cb4961c28428a0b", - "e7a52dfa45f95a217c100066b239aa8ad519be9b35d667268b1b57ff", - "ba13009405a929f398b348885caa5419191bb948ada32194afc84104", - "92649468be236c3c72c189909c063b13f994be05749dc91310db639e" - }; - - final static String[] mac256 = - { - "9663d10c73ee294054dc9faf95647cb99731d12210ff7075fb3d3395abfb9821", - "aa9aed448c7abc8b5e326ffa6a01cdedf7b4b831881468c044ba8dd4566369a1", - "95f43e50f8df80a21977d51a8db3ba572dcd71db24687e6f86f47c1139b26260", - "6331ba9b4af5804a68725b3663eb74814494b63c6093e35fb320a85d507936fd", - "b4d0cdee7ec2ba81a88b86918958312300a15622377929a054a9ce3ae1fac2b6", - "1fdc8cb4e27d07c10d897dec39c217792a6e64fa9c63a77ce42ad106ef284e02", - "fdaa10a0299aecff9bb411cf2d7748a4022e4a26be3fb5b11b33d8c2b7ef5484" - }; - - final static String[] mac384 = - { - "892dfdf5d51e4679bf320cd16d4c9dc6f749744608e003add7fba894acff87361efa4e5799be06b6461f43b60ae97048", - "5af5c9a77a23a6a93d80649e562ab77f4f3552e3c5caffd93bdf8b3cfc6920e3023fc26775d9df1f3c94613146ad2c9d", - "4243c29f2201992ff96441e3b91ff81d8c601d706fbc83252684a4bc51101ca9b2c06ddd03677303c502ac5331752a3c", - "b730724d3d4090cda1be799f63acbbe389fef7792fc18676fa5453aab398664650ed029c3498bbe8056f06c658e1e693", - "d62482ef601d7847439b55236e9679388ffcd53c62cd126f39be6ea63de762e26cd5974cb9a8de401b786b5555040f6f", - "4860ea191ac34994cf88957afe5a836ef36e4cc1a66d75bf77defb7576122d75f60660e4cf731c6effac06402787e2b9", - "fe9357e3cfa538eb0373a2ce8f1e26ad6590afdaf266f1300522e8896d27e73f654d0631c8fa598d4bb82af6b744f4f5" - }; - - final static String[] mac512 = - { - "8852c63be8cfc21541a4ee5e5a9a852fc2f7a9adec2ff3a13718ab4ed81aaea0b87b7eb397323548e261a64e7fc75198f6663a11b22cd957f7c8ec858a1c7755", - "c2962e5bbe1238007852f79d814dbbecd4682e6f097d37a363587c03bfa2eb0859d8d9c701e04cececfd3dd7bfd438f20b8b648e01bf8c11d26824b96cebbdcb", - "eb0ed9580e0ec11fc66cbb646b1be904eaff6da4556d9334f65ee4b2c85739157bae9027c51505e49d1bb81cfa55e6822db55262d5a252c088a29a5e95b84a66", - "b46193bb59f4f696bf702597616da91e2a4558a593f4b015e69141ba81e1e50ea580834c2b87f87baa25a3a03bfc9bb389847f2dc820beae69d30c4bb75369cb", - "d05888a6ebf8460423ea7bc85ea4ffda847b32df32291d2ce115fd187707325c7ce4f71880d91008084ce24a38795d20e6a28328a0f0712dc38253370da3ebb5", - "2c6b9748d35c4c8db0b4407dd2ed2381f133bdbd1dfaa69e30051eb6badfcca64299b88ae05fdbd3dd3dd7fe627e42e39e48b0fe8c7f1e85f2dbd52c2d753572", - "6adc502f14e27812402fc81a807b28bf8a53c87bea7a1df6256bf66f5de1a4cb741407ad15ab8abc136846057f881969fbb159c321c904bfb557b77afb7778c8" - }; - - final static KeyParameter truncKey = new KeyParameter(Hex.decode("0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c")); - final static byte[] truncData = Hex.decode("546573742057697468205472756e636174696f6e"); - - final static byte[] trunc224 = Hex.decode("f52bbcfd654264e7133085c5e69b72c3"); - final static byte[] trunc256 = Hex.decode("745e7e687f8335280d54202ef13cecc6"); - final static byte[] trunc384 = Hex.decode("fa9aea2bc1e181e47cbb8c3df243814d"); - final static byte[] trunc512 = Hex.decode("04c929fead434bba190dacfa554ce3f5"); - - final static byte[] xtremeData = Hex.decode("61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f"); - - SHA3DigestTest() - { - } - - public String getName() - { - return "SHA3"; - } - - private void testDigest(Digest digest, String[] expected) - { - byte[] hash = new byte[digest.getDigestSize()]; - - for (int i = 0; i != messages.length; i++) - { - if (messages.length != 0) - { - byte[] data = Hex.decode(messages[i]); - - digest.update(data, 0, data.length); - } - - digest.doFinal(hash, 0); - - if (!Arrays.areEqual(Hex.decode(expected[i]), hash)) - { - fail("sha3 mismatch on " + digest.getAlgorithmName() + " index " + i); - } - } - - byte[] k64 = new byte[1024 * 64]; - - for (int i = 0; i != k64.length; i++) - { - k64[i] = (byte)'a'; - } - - digest.update(k64, 0, k64.length); - - digest.doFinal(hash, 0); - - if (!Arrays.areEqual(Hex.decode(expected[messages.length]), hash)) - { - fail("sha3 mismatch on " + digest.getAlgorithmName() + " 64k a"); - } - - for (int i = 0; i != k64.length; i++) - { - digest.update((byte)'a'); - } - - digest.doFinal(hash, 0); - - if (!Arrays.areEqual(Hex.decode(expected[messages.length]), hash)) - { - fail("sha3 mismatch on " + digest.getAlgorithmName() + " 64k a single"); - } - - - for (int i = 0; i != k64.length; i++) - { - k64[i] = (byte)('a' + (i % 26)); - } - - digest.update(k64, 0, k64.length); - - digest.doFinal(hash, 0); - - if (!Arrays.areEqual(Hex.decode(expected[messages.length + 1]), hash)) - { - fail("sha3 mismatch on " + digest.getAlgorithmName() + " 64k alpha"); - } - - for (int i = 0; i != 64; i++) - { - digest.update(k64[i * 1024]); - digest.update(k64, i * 1024 + 1, 1023); - } - - digest.doFinal(hash, 0); - - if (!Arrays.areEqual(Hex.decode(expected[messages.length + 1]), hash)) - { - fail("sha3 mismatch on " + digest.getAlgorithmName() + " 64k chunked alpha"); - } - - testDigestDoFinal(digest); - - // - // extremely long data test - // -// System.out.println("Starting very long"); -// for (int i = 0; i != 16384; i++) -// { -// for (int j = 0; j != 1024; j++) -// { -// digest.update(xtremeData, 0, xtremeData.length); -// } -// } -// -// digest.doFinal(hash, 0); -// -// if (!Arrays.areEqual(Hex.decode(expected[messages.length + 2]), hash)) -// { -// fail("sha3 mismatch on " + digest.getAlgorithmName() + " extreme data test"); -// } -// System.out.println("Done"); - } - - private void testDigestDoFinal(Digest digest) - { - byte[] hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - - for (int i = 0; i <= digest.getDigestSize(); ++i) - { - byte[] cmp = new byte[2 * digest.getDigestSize()]; - System.arraycopy(hash, 0, cmp, i, hash.length); - - byte[] buf = new byte[2 * digest.getDigestSize()]; - digest.doFinal(buf, i); - - if (!Arrays.areEqual(cmp, buf)) - { - fail("sha3 offset doFinal on " + digest.getAlgorithmName()); - } - } - } - - private void testMac(Digest digest, byte[][] keys, String[] data, String[] expected, byte[] truncExpected) - { - Mac mac = new HMac(digest); - - for (int i = 0; i != keys.length; i++) - { - mac.init(new KeyParameter(keys[i])); - - byte[] mData = Hex.decode(data[i]); - - mac.update(mData, 0, mData.length); - - byte[] macV = new byte[mac.getMacSize()]; - - mac.doFinal(macV, 0); - - if (!Arrays.areEqual(Hex.decode(expected[i]), macV)) - { - fail("sha3 HMAC mismatch on " + digest.getAlgorithmName()); - } - } - - mac = new HMac(digest); - - mac.init(truncKey); - - mac.update(truncData, 0, truncData.length); - - byte[] macV = new byte[mac.getMacSize()]; - - mac.doFinal(macV, 0); - - for (int i = 0; i != truncExpected.length; i++) - { - if (macV[i] != truncExpected[i]) - { - fail("mismatch on truncated HMAC for " + digest.getAlgorithmName()); - } - } - } - - public void performTest() - { - testDigest(new SHA3Digest(), digests288); - testDigest(new SHA3Digest(224), digests224); - testDigest(new SHA3Digest(256), digests256); - testDigest(new SHA3Digest(384), digests384); - testDigest(new SHA3Digest(512), digests512); - - testMac(new SHA3Digest(224), macKeys, macData, mac224, trunc224); - testMac(new SHA3Digest(256), macKeys, macData, mac256, trunc256); - testMac(new SHA3Digest(384), macKeys, macData, mac384, trunc384); - testMac(new SHA3Digest(512), macKeys, macData, mac512, trunc512); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA3Digest((SHA3Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA3DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512DigestTest.java deleted file mode 100644 index 6e9e6272f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512DigestTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA512Digest; - -/** - * standard vector test for SHA-512 from FIPS Draft 180-2. - * - * Note, the first two vectors are _not_ from the draft, the last three are. - */ -public class SHA512DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" - }; - - private static String[] digests = - { - "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e", - "1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75", - "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f", - "8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909" - }; - - // 1 million 'a' - static private String million_a_digest = "e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b"; - - SHA512DigestTest() - { - super(new SHA512Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA512Digest((SHA512Digest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA512DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512HMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512HMacTest.java deleted file mode 100644 index c4b4d66ae..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512HMacTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -/** - * SHA512 HMac Test - */ -public class SHA512HMacTest - implements Test -{ - final static String[] keys = { - "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "4a656665", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "0102030405060708090a0b0c0d0e0f10111213141516171819", - "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - }; - - final static String[] digests = { - "87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854", - "164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737", - "fa73b0089d56a284efb0f0756c890be9b1b5dbdd8ee81a3655f83e33b2279d39bf3e848279a722c806b485a47e67c807b946a337bee8942674278859e13292fb", - "b0ba465637458c6990e5a8c5f61d4af7e576d97ff94b872de76f8050361ee3dba91ca5c11aa25eb4d679275cc5788063a5f19741120c4f2de2adebeb10a298dd", - "415fad6271580a531d4179bc891d87a650188707922a4fbb36663a1eb16da008711c5b50ddd0fc235084eb9d3364a1454fb2ef67cd1d29fe6773068ea266e96b", - "80b24263c7c1a3ebb71493c1dd7be8b49b46d1f41b4aeec1121b013783f8f3526b56d037e05f2598bd0fd2215d6a1e5295e64f73f63f0aec8b915a985d786598", - "e37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58" - }; - - final static String[] messages = { - "Hi There", - "what do ya want for nothing?", - "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", - "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", - "Test With Truncation", - "Test Using Larger Than Block-Size Key - Hash Key First", - "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." - }; - - public String getName() - { - return "SHA512HMac"; - } - - public TestResult perform() - { - HMac hmac = new HMac(new SHA512Digest()); - byte[] resBuf = new byte[hmac.getMacSize()]; - - for (int i = 0; i < messages.length; i++) - { - byte[] m = messages[i].getBytes(); - if (messages[i].startsWith("0x")) - { - m = Hex.decode(messages[i].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[i]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[i]))) - { - return new SimpleTestResult(false, getName() + ": Vector " + i + " failed got -" + new String(Hex.encode(resBuf))); - } - } - - // - // test reset - // - int vector = 0; // vector used for test - byte[] m = messages[vector].getBytes(); - if (messages[vector].startsWith("0x")) - { - m = Hex.decode(messages[vector].substring(2)); - } - hmac.init(new KeyParameter(Hex.decode(keys[vector]))); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - hmac.reset(); - hmac.update(m, 0, m.length); - hmac.doFinal(resBuf, 0); - - if (!Arrays.areEqual(resBuf, Hex.decode(digests[vector]))) - { - return new SimpleTestResult(false, getName() + - "Reset with vector " + vector + " failed"); - } - - return new SimpleTestResult(true, getName() + ": Okay"); - } - - public static void main( - String[] args) - { - SHA512HMacTest test = new SHA512HMacTest(); - TestResult result = test.perform(); - - System.out.println(result); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t224DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t224DigestTest.java deleted file mode 100644 index c2f75969b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t224DigestTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA512tDigest; - -/** - * standard vector test for SHA-512/224 from FIPS 180-4. - * - * Note, only the last 2 message entries are FIPS originated.. - */ -public class SHA512t224DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" - }; - - private static String[] digests = - { - "6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4", - "d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327", - "4634270F707B6A54DAAE7530460842E20E37ED265CEEE9A43E8924AA", - "23FEC5BB94D60B23308192640B0C453335D664734FE40E7268674AF9" - }; - - // 1 million 'a' - static private String million_a_digest = "37ab331d76f0d36de422bd0edeb22a28accd487b7a8453ae965dd287"; - - SHA512t224DigestTest() - { - super(new SHA512tDigest(224), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA512tDigest((SHA512tDigest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA512t224DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t256DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t256DigestTest.java deleted file mode 100644 index ee6f13efb..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SHA512t256DigestTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA512tDigest; - -/** - * standard vector test for SHA-512/256 from FIPS 180-4. - * - * Note, only the last 2 message entries are FIPS originated.. - */ -public class SHA512t256DigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" - }; - - private static String[] digests = - { - "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a", - "455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8", - "53048E2681941EF99B2E29B76B4C7DABE4C2D0C634FC6D46E0E2F13107E7AF23", - "3928E184FB8690F840DA3988121D31BE65CB9D3EF83EE6146FEAC861E19B563A" - }; - - // 1 million 'a' - static private String million_a_digest = "9a59a052930187a97038cae692f30708aa6491923ef5194394dc68d56c74fb21"; - - SHA512t256DigestTest() - { - super(new SHA512tDigest(256), messages, digests); - } - - public void performTest() - { - super.performTest(); - - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SHA512tDigest((SHA512tDigest)digest); - } - - public static void main( - String[] args) - { - runTest(new SHA512t256DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SM3DigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SM3DigestTest.java deleted file mode 100644 index df0bec325..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SM3DigestTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SM3Digest; - -/** - * standard vector test for SM3 digest from chinese specification - */ -public class SM3DigestTest - extends DigestTest -{ - private static String[] messages = { - // Standard test vectors - "abc", - "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", - // Non-standard test vectors - "", - "a", - "abcdefghijklmnopqrstuvwxyz", - }; - - private static String[] digests = { - // Standard test vectors - "66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0", - "debe9ff92275b8a138604889c18e5a4d6fdb70e5387e5765293dcba39c0c5732", - // Non-standard test vectors - "1ab21d8355cfa17f8e61194831e81a8f22bec8c728fefb747ed035eb5082aa2b", - "623476ac18f65a2909e43c7fec61b49c7e764a91a18ccb82f1917a29c86c5e88", - "b80fe97a4da24afc277564f66a359ef440462ad28dcc6d63adb24d5c20a61595", - }; - - final static String sixtyFourKdigest = "97049bdc8f0736bc7300eafa9980aeb9cf00f24f7ec3a8f1f8884954d7655c1d"; - final static String million_a_digest = "c8aaf89429554029e231941a2acc0ad61ff2a5acd8fadd25847a3a732b3b02c3"; - - SM3DigestTest() - { - super(new SM3Digest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - sixtyFourKTest(sixtyFourKdigest); - millionATest(million_a_digest); - } - - protected Digest cloneDigest(Digest digest) - { - return new SM3Digest((SM3Digest)digest); - } - - public static void main(String[] args) - { - runTest(new SM3DigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SRP6Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SRP6Test.java deleted file mode 100644 index c2ab0ad82..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SRP6Test.java +++ /dev/null @@ -1,276 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.CryptoException; -import org.spongycastle.crypto.agreement.srp.SRP6Client; -import org.spongycastle.crypto.agreement.srp.SRP6Server; -import org.spongycastle.crypto.agreement.srp.SRP6Util; -import org.spongycastle.crypto.agreement.srp.SRP6VerifierGenerator; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.generators.DHParametersGenerator; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class SRP6Test extends SimpleTest -{ - private static final BigInteger ZERO = BigInteger.valueOf(0); - - private static BigInteger fromHex(String hex) - { - return new BigInteger(1, Hex.decode(hex)); - } - - // 1024 bit example prime from RFC5054 and corresponding generator - private static final BigInteger N_1024 = fromHex("EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C" - + "9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE4" - + "8E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B29" - + "7BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9A" - + "FD5138FE8376435B9FC61D2FC0EB06E3"); - private static final BigInteger g_1024 = BigInteger.valueOf(2); - - private final SecureRandom random = new SecureRandom(); - - public String getName() - { - return "SRP6"; - } - - public void performTest() throws Exception - { - rfc5054AppendixBTestVectors(); - - testMutualVerification(N_1024, g_1024); - testClientCatchesBadB(N_1024, g_1024); - testServerCatchesBadA(N_1024, g_1024); - - testWithRandomParams(256); - testWithRandomParams(384); - testWithRandomParams(512); - } - - private void rfc5054AppendixBTestVectors() throws Exception - { - byte[] I = "alice".getBytes("UTF8"); - byte[] P = "password123".getBytes("UTF8"); - byte[] s = Hex.decode("BEB25379D1A8581EB5A727673A2441EE"); - BigInteger N = N_1024; - BigInteger g = g_1024; - BigInteger a = fromHex("60975527035CF2AD1989806F0407210BC81EDC04E2762A56AFD529DDDA2D4393"); - BigInteger b = fromHex("E487CB59D31AC550471E81F00F6928E01DDA08E974A004F49E61F5D105284D20"); - - BigInteger expect_k = fromHex("7556AA045AEF2CDD07ABAF0F665C3E818913186F"); - BigInteger expect_x = fromHex("94B7555AABE9127CC58CCF4993DB6CF84D16C124"); - BigInteger expect_v = fromHex("7E273DE8696FFC4F4E337D05B4B375BEB0DDE1569E8FA00A9886D812" - + "9BADA1F1822223CA1A605B530E379BA4729FDC59F105B4787E5186F5" - + "C671085A1447B52A48CF1970B4FB6F8400BBF4CEBFBB168152E08AB5" - + "EA53D15C1AFF87B2B9DA6E04E058AD51CC72BFC9033B564E26480D78" - + "E955A5E29E7AB245DB2BE315E2099AFB"); - BigInteger expect_A = fromHex("61D5E490F6F1B79547B0704C436F523DD0E560F0C64115BB72557EC4" - + "4352E8903211C04692272D8B2D1A5358A2CF1B6E0BFCF99F921530EC" - + "8E39356179EAE45E42BA92AEACED825171E1E8B9AF6D9C03E1327F44" - + "BE087EF06530E69F66615261EEF54073CA11CF5858F0EDFDFE15EFEA" - + "B349EF5D76988A3672FAC47B0769447B"); - BigInteger expect_B = fromHex("BD0C61512C692C0CB6D041FA01BB152D4916A1E77AF46AE105393011" - + "BAF38964DC46A0670DD125B95A981652236F99D9B681CBF87837EC99" - + "6C6DA04453728610D0C6DDB58B318885D7D82C7F8DEB75CE7BD4FBAA" - + "37089E6F9C6059F388838E7A00030B331EB76840910440B1B27AAEAE" - + "EB4012B7D7665238A8E3FB004B117B58"); - BigInteger expect_u = fromHex("CE38B9593487DA98554ED47D70A7AE5F462EF019"); - BigInteger expect_S = fromHex("B0DC82BABCF30674AE450C0287745E7990A3381F63B387AAF271A10D" - + "233861E359B48220F7C4693C9AE12B0A6F67809F0876E2D013800D6C" - + "41BB59B6D5979B5C00A172B4A2A5903A0BDCAF8A709585EB2AFAFA8F" - + "3499B200210DCC1F10EB33943CD67FC88A2F39A4BE5BEC4EC0A3212D" - + "C346D7E474B29EDE8A469FFECA686E5A"); - - BigInteger k = SRP6Util.calculateK(new SHA1Digest(), N, g); - if (!k.equals(expect_k)) - { - fail("wrong value of 'k'"); - } - - BigInteger x = SRP6Util.calculateX(new SHA1Digest(), N, s, I, P); - if (!x.equals(expect_x)) - { - fail("wrong value of 'x'"); - } - - SRP6VerifierGenerator gen = new SRP6VerifierGenerator(); - gen.init(N, g, new SHA1Digest()); - BigInteger v = gen.generateVerifier(s, I, P); - if (!v.equals(expect_v)) - { - fail("wrong value of 'v'"); - } - - final BigInteger aVal = a; - SRP6Client client = new SRP6Client() - { - protected BigInteger selectPrivateValue() - { - return aVal; - } - }; - client.init(N, g, new SHA1Digest(), random); - - BigInteger A = client.generateClientCredentials(s, I, P); - if (!A.equals(expect_A)) - { - fail("wrong value of 'A'"); - } - - final BigInteger bVal = b; - SRP6Server server = new SRP6Server() - { - protected BigInteger selectPrivateValue() - { - return bVal; - } - }; - server.init(N, g, v, new SHA1Digest(), random); - - BigInteger B = server.generateServerCredentials(); - if (!B.equals(expect_B)) - { - fail("wrong value of 'B'"); - } - - BigInteger u = SRP6Util.calculateU(new SHA1Digest(), N, A, B); - if (!u.equals(expect_u)) - { - fail("wrong value of 'u'"); - } - - BigInteger clientS = client.calculateSecret(B); - if (!clientS.equals(expect_S)) - { - fail("wrong value of 'S' (client)"); - } - - BigInteger serverS = server.calculateSecret(A); - if (!serverS.equals(expect_S)) - { - fail("wrong value of 'S' (server)"); - } - } - - private void testWithRandomParams(int bits) throws CryptoException - { - DHParametersGenerator paramGen = new DHParametersGenerator(); - paramGen.init(bits, 25, random); - DHParameters parameters = paramGen.generateParameters(); - - BigInteger g = parameters.getG(); - BigInteger p = parameters.getP(); - - testMutualVerification(p, g); - } - - private void testMutualVerification(BigInteger N, BigInteger g) throws CryptoException - { - byte[] I = "username".getBytes(); - byte[] P = "password".getBytes(); - byte[] s = new byte[16]; - random.nextBytes(s); - - SRP6VerifierGenerator gen = new SRP6VerifierGenerator(); - gen.init(N, g, new SHA256Digest()); - BigInteger v = gen.generateVerifier(s, I, P); - - SRP6Client client = new SRP6Client(); - client.init(N, g, new SHA256Digest(), random); - - SRP6Server server = new SRP6Server(); - server.init(N, g, v, new SHA256Digest(), random); - - BigInteger A = client.generateClientCredentials(s, I, P); - BigInteger B = server.generateServerCredentials(); - - BigInteger clientS = client.calculateSecret(B); - BigInteger serverS = server.calculateSecret(A); - - if (!clientS.equals(serverS)) - { - fail("SRP agreement failed - client/server calculated different secrets"); - } - } - - private void testClientCatchesBadB(BigInteger N, BigInteger g) - { - byte[] I = "username".getBytes(); - byte[] P = "password".getBytes(); - byte[] s = new byte[16]; - random.nextBytes(s); - - SRP6Client client = new SRP6Client(); - client.init(N, g, new SHA256Digest(), random); - - client.generateClientCredentials(s, I, P); - - try - { - client.calculateSecret(ZERO); - fail("Client failed to detect invalid value for 'B'"); - } - catch (CryptoException e) - { - // Expected - } - - try - { - client.calculateSecret(N); - fail("Client failed to detect invalid value for 'B'"); - } - catch (CryptoException e) - { - // Expected - } - } - - private void testServerCatchesBadA(BigInteger N, BigInteger g) - { - byte[] I = "username".getBytes(); - byte[] P = "password".getBytes(); - byte[] s = new byte[16]; - random.nextBytes(s); - - SRP6VerifierGenerator gen = new SRP6VerifierGenerator(); - gen.init(N, g, new SHA256Digest()); - BigInteger v = gen.generateVerifier(s, I, P); - - SRP6Server server = new SRP6Server(); - server.init(N, g, v, new SHA256Digest(), random); - - server.generateServerCredentials(); - - try - { - server.calculateSecret(ZERO); - fail("Client failed to detect invalid value for 'A'"); - } - catch (CryptoException e) - { - // Expected - } - - try - { - server.calculateSecret(N); - fail("Client failed to detect invalid value for 'A'"); - } - catch (CryptoException e) - { - // Expected - } - } - - public static void main(String[] args) - { - runTest(new SRP6Test()); - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Salsa20Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Salsa20Test.java deleted file mode 100644 index 1fc90b849..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Salsa20Test.java +++ /dev/null @@ -1,270 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.Salsa20Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Salsa20 Test - */ -public class Salsa20Test - extends SimpleTest -{ - byte[] zeroes = Hex.decode( - "00000000000000000000000000000000" - + "00000000000000000000000000000000" - + "00000000000000000000000000000000" - + "00000000000000000000000000000000"); - - String set1v0_0 = "4DFA5E481DA23EA09A31022050859936" - + "DA52FCEE218005164F267CB65F5CFD7F" - + "2B4F97E0FF16924A52DF269515110A07" - + "F9E460BC65EF95DA58F740B7D1DBB0AA"; - - String set1v0_192 = "DA9C1581F429E0A00F7D67E23B730676" - + "783B262E8EB43A25F55FB90B3E753AEF" - + "8C6713EC66C51881111593CCB3E8CB8F" - + "8DE124080501EEEB389C4BCB6977CF95"; - - String set1v0_256 = "7D5789631EB4554400E1E025935DFA7B" - + "3E9039D61BDC58A8697D36815BF1985C" - + "EFDF7AE112E5BB81E37ECF0616CE7147" - + "FC08A93A367E08631F23C03B00A8DA2F"; - - String set1v0_448 = "B375703739DACED4DD4059FD71C3C47F" - + "C2F9939670FAD4A46066ADCC6A564578" - + "3308B90FFB72BE04A6B147CBE38CC0C3" - + "B9267C296A92A7C69873F9F263BE9703"; - - String set1v9_0 = "0471076057830FB99202291177FBFE5D" - + "38C888944DF8917CAB82788B91B53D1C" - + "FB06D07A304B18BB763F888A61BB6B75" - + "5CD58BEC9C4CFB7569CB91862E79C459"; - - String set1v9_192 = "D1D7E97556426E6CFC21312AE3811425" - + "9E5A6FB10DACBD88E4354B0472556935" - + "2B6DA5ACAFACD5E266F9575C2ED8E6F2" - + "EFE4B4D36114C3A623DD49F4794F865B"; - - String set1v9_256 = "AF06FAA82C73291231E1BD916A773DE1" - + "52FD2126C40A10C3A6EB40F22834B8CC" - + "68BD5C6DBD7FC1EC8F34165C517C0B63" - + "9DB0C60506D3606906B8463AA0D0EC2F"; - - String set1v9_448 = "AB3216F1216379EFD5EC589510B8FD35" - + "014D0AA0B613040BAE63ECAB90A9AF79" - + "661F8DA2F853A5204B0F8E72E9D9EB4D" - + "BA5A4690E73A4D25F61EE7295215140C"; - - String set6v0_0 = "F5FAD53F79F9DF58C4AEA0D0ED9A9601" - + "F278112CA7180D565B420A48019670EA" - + "F24CE493A86263F677B46ACE1924773D" - + "2BB25571E1AA8593758FC382B1280B71"; - - String set6v0_65472 = "B70C50139C63332EF6E77AC54338A407" - + "9B82BEC9F9A403DFEA821B83F7860791" - + "650EF1B2489D0590B1DE772EEDA4E3BC" - + "D60FA7CE9CD623D9D2FD5758B8653E70"; - - String set6v0_65536 = "81582C65D7562B80AEC2F1A673A9D01C" - + "9F892A23D4919F6AB47B9154E08E699B" - + "4117D7C666477B60F8391481682F5D95" - + "D96623DBC489D88DAA6956B9F0646B6E"; - - String set6v1_0 = "3944F6DC9F85B128083879FDF190F7DE" - + "E4053A07BC09896D51D0690BD4DA4AC1" - + "062F1E47D3D0716F80A9B4D85E6D6085" - + "EE06947601C85F1A27A2F76E45A6AA87"; - - String set6v1_65472 = "36E03B4B54B0B2E04D069E690082C8C5" - + "92DF56E633F5D8C7682A02A65ECD1371" - + "8CA4352AACCB0DA20ED6BBBA62E177F2" - + "10E3560E63BB822C4158CAA806A88C82"; - - String set6v1_65536 = "1B779E7A917C8C26039FFB23CF0EF8E0" - + "8A1A13B43ACDD9402CF5DF38501098DF" - + "C945A6CC69A6A17367BC03431A86B3ED" - + "04B0245B56379BF997E25800AD837D7D"; - - // Salsa20/12 - String salsa12_set1v0_0 = "FC207DBFC76C5E1774961E7A5AAD0906" - + "9B2225AC1CE0FE7A0CE77003E7E5BDF8" - + "B31AF821000813E6C56B8C1771D6EE70" - + "39B2FBD0A68E8AD70A3944B677937897"; - - String salsa12_set1v0_192 = "4B62A4881FA1AF9560586510D5527ED4" - + "8A51ECAFA4DECEEBBDDC10E9918D44AB" - + "26B10C0A31ED242F146C72940C6E9C37" - + "53F641DA84E9F68B4F9E76B6C48CA5AC"; - - String salsa12_set1v0_256 = "F52383D9DEFB20810325F7AEC9EADE34" - + "D9D883FEE37E05F74BF40875B2D0BE79" - + "ED8886E5BFF556CEA8D1D9E86B1F68A9" - + "64598C34F177F8163E271B8D2FEB5996"; - - String salsa12_set1v0_448 = "A52ED8C37014B10EC0AA8E05B5CEEE12" - + "3A1017557FB3B15C53E6C5EA8300BF74" - + "264A73B5315DC821AD2CAB0F3BB2F152" - + "BDAEA3AEE97BA04B8E72A7B40DCC6BA4"; - - // Salsa20/8 - String salsa8_set1v0_0 = "A9C9F888AB552A2D1BBFF9F36BEBEB33" - + "7A8B4B107C75B63BAE26CB9A235BBA9D" - + "784F38BEFC3ADF4CD3E266687EA7B9F0" - + "9BA650AE81EAC6063AE31FF12218DDC5"; - - String salsa8_set1v0_192 = "BB5B6BB2CC8B8A0222DCCC1753ED4AEB" - + "23377ACCBD5D4C0B69A8A03BB115EF71" - + "871BC10559080ACA7C68F0DEF32A80DD" - + "BAF497259BB76A3853A7183B51CC4B9F"; - - String salsa8_set1v0_256 = "4436CDC0BE39559F5E5A6B79FBDB2CAE" - + "4782910F27FFC2391E05CFC78D601AD8" - + "CD7D87B074169361D997D1BED9729C0D" - + "EB23418E0646B7997C06AA84E7640CE3"; - - String salsa8_set1v0_448 = "BEE85903BEA506B05FC04795836FAAAC" - + "7F93F785D473EB762576D96B4A65FFE4" - + "63B34AAE696777FC6351B67C3753B89B" - + "A6B197BD655D1D9CA86E067F4D770220"; - - - public String getName() - { - return "Salsa20"; - } - - public void performTest() - { - salsa20Test1(20, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - set1v0_0, set1v0_192, set1v0_256, set1v0_448); - salsa20Test1(20, new ParametersWithIV(new KeyParameter(Hex.decode("00400000000000000000000000000000")), Hex.decode("0000000000000000")), - set1v9_0, set1v9_192, set1v9_256, set1v9_448); - salsa20Test1(12, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - salsa12_set1v0_0, salsa12_set1v0_192, salsa12_set1v0_256, salsa12_set1v0_448); - salsa20Test1(8, new ParametersWithIV(new KeyParameter(Hex.decode("80000000000000000000000000000000")), Hex.decode("0000000000000000")), - salsa8_set1v0_0, salsa8_set1v0_192, salsa8_set1v0_256, salsa8_set1v0_448); - salsa20Test2(new ParametersWithIV(new KeyParameter(Hex.decode("0053A6F94C9FF24598EB3E91E4378ADD3083D6297CCF2275C81B6EC11467BA0D")), Hex.decode("0D74DB42A91077DE")), - set6v0_0, set6v0_65472, set6v0_65536); - salsa20Test2(new ParametersWithIV(new KeyParameter(Hex.decode("0558ABFE51A4F74A9DF04396E93C8FE23588DB2E81D4277ACD2073C6196CBF12")), Hex.decode("167DE44BB21980E7")), - set6v1_0, set6v1_65472, set6v1_65536); - reinitBug(); - } - - private void salsa20Test1(int rounds, CipherParameters params, String v0, String v192, String v256, String v448) - { - StreamCipher salsa = new Salsa20Engine(rounds); - byte[] buf = new byte[64]; - - salsa.init(true, params); - - for (int i = 0; i != 7; i++) - { - salsa.processBytes(zeroes, 0, 64, buf, 0); - switch (i) - { - case 0: - if (!areEqual(buf, Hex.decode(v0))) - { - mismatch("v0/" + rounds, v0, buf); - } - break; - case 3: - if (!areEqual(buf, Hex.decode(v192))) - { - mismatch("v192/" + rounds, v192, buf); - } - break; - case 4: - if (!areEqual(buf, Hex.decode(v256))) - { - mismatch("v256/" + rounds, v256, buf); - } - break; - default: - // ignore - } - } - - for (int i = 0; i != 64; i++) - { - buf[i] = salsa.returnByte(zeroes[i]); - } - - if (!areEqual(buf, Hex.decode(v448))) - { - mismatch("v448", v448, buf); - } - } - - private void salsa20Test2(CipherParameters params, String v0, String v65472, String v65536) - { - StreamCipher salsa = new Salsa20Engine(); - byte[] buf = new byte[64]; - - salsa.init(true, params); - - for (int i = 0; i != 1025; i++) - { - salsa.processBytes(zeroes, 0, 64, buf, 0); - switch (i) - { - case 0: - if (!areEqual(buf, Hex.decode(v0))) - { - mismatch("v0", v0, buf); - } - break; - case 1023: - if (!areEqual(buf, Hex.decode(v65472))) - { - mismatch("v65472", v65472, buf); - } - break; - case 1024: - if (!areEqual(buf, Hex.decode(v65536))) - { - mismatch("v65536", v65536, buf); - } - break; - default: - // ignore - } - } - } - - private void mismatch(String name, String expected, byte[] found) - { - fail("mismatch on " + name, expected, new String(Hex.encode(found))); - } - - - private void reinitBug() - { - KeyParameter key = new KeyParameter(Hex.decode("80000000000000000000000000000000")); - ParametersWithIV parameters = new ParametersWithIV(key, Hex.decode("0000000000000000")); - - StreamCipher salsa = new Salsa20Engine(); - - salsa.init(true, parameters); - - try - { - salsa.init(true, key); - fail("Salsa20 should throw exception if no IV in Init"); - } - catch (IllegalArgumentException e) - { - } - } - - public static void main( - String[] args) - { - runTest(new Salsa20Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SerpentTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SerpentTest.java deleted file mode 100644 index bf687980e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SerpentTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.SerpentEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - */ -public class SerpentTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new SerpentEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "00000000000000000000000000000000", "8910494504181950f98dd998a82b6749"), - new BlockCipherVectorTest(1, new SerpentEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "80000000000000000000000000000000", "10b5ffb720b8cb9002a1142b0ba2e94a"), - new BlockCipherVectorTest(2, new SerpentEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000008000000000000000000000", "4f057a42d8d5bd9746e434680ddcd5e5"), - new BlockCipherVectorTest(3, new SerpentEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "00000000000000000000400000000000", "99407bf8582ef12550886ef5b6f169b9"), - new BlockCipherVectorTest(4, new SerpentEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "40000000000000000000000000000000", "d522a3b8d6d89d4d2a124fdd88f36896"), - new BlockCipherVectorTest(5, new SerpentEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "00000000000200000000000000000000", "189b8ec3470085b3da97e82ca8964e32"), - new BlockCipherVectorTest(6, new SerpentEngine(), - new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")), - "00000000000000000000008000000000", "f77d868cf760b9143a89809510ccb099"), - new BlockCipherVectorTest(7, new SerpentEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "08000000000000000000000000000000", "d43b7b981b829342fce0e3ec6f5f4c82"), - new BlockCipherVectorTest(8, new SerpentEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "00000000000000000100000000000000", "0bf30e1a0c33ccf6d5293177886912a7"), - new BlockCipherVectorTest(9, new SerpentEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000000000000")), - "00000000000000000000000000000001", "6a7f3b805d2ddcba49b89770ade5e507"), - new BlockCipherVectorTest(10, new SerpentEngine(), - new KeyParameter(Hex.decode("80000000000000000000000000000000")), - "00000000000000000000000000000000", "49afbfad9d5a34052cd8ffa5986bd2dd"), - new BlockCipherVectorTest(11, new SerpentEngine(), - new KeyParameter(Hex.decode("000000000000000000000000004000000000000000000000")), - "00000000000000000000000000000000", "ba8829b1de058c4b48615d851fc74f17"), - new BlockCipherVectorTest(12, new SerpentEngine(), - new KeyParameter(Hex.decode("0000000000000000000000000000000000000000000000000000000100000000")), - "00000000000000000000000000000000", "89f64377bf1e8a46c8247044e8056a98"), -/* - new BlockCipherMonteCarloTest(13, 10000, new SerpentEngine(), - new KeyParameter(Hex.decode("47f5f881daab9b67b43bd1342e339c19")), - "7a4f7db38c52a8b711b778a38d203b6b", "003380e19f10065740394f48e2fe80b7"), -*/ - new BlockCipherMonteCarloTest(13, 100, new SerpentEngine(), - new KeyParameter(Hex.decode("47f5f881daab9b67b43bd1342e339c19")), - "7a4f7db38c52a8b711b778a38d203b6b", "4db75303d815c2f7cc6ca935d1c5a046"), -/* - new BlockCipherMonteCarloTest(14, 10000, new SerpentEngine(), - new KeyParameter(Hex.decode("31fba879ebc5e80df35e6fa33eaf92d6")), - "70a05e12f74589009692a337f53ff614", "afb5425426906db26b70bdf842ac5400"), -*/ - new BlockCipherMonteCarloTest(14, 100, new SerpentEngine(), - new KeyParameter(Hex.decode("31fba879ebc5e80df35e6fa33eaf92d6")), - "70a05e12f74589009692a337f53ff614", "fc53a50f4d3bc9836001893d2f41742d"), -/* - new BlockCipherMonteCarloTest(15, 10000, new SerpentEngine(), - new KeyParameter(Hex.decode("bde6dd392307984695aee80e574f9977caae9aa78eda53e8")), - "9cc523d034a93740a0aa4e2054bb34d8", "1949d506ada7de1f1344986e8ea049b2"), -*/ - new BlockCipherMonteCarloTest(15, 100, new SerpentEngine(), - new KeyParameter(Hex.decode("bde6dd392307984695aee80e574f9977caae9aa78eda53e8")), - "9cc523d034a93740a0aa4e2054bb34d8", "77117e6a9e80f40b2a36b7d755573c2d"), -/* - new BlockCipherMonteCarloTest(16, 10000, new SerpentEngine(), - new KeyParameter(Hex.decode("60f6f8ad4290699dc50921a1bbcca92da914e7d9cf01a9317c79c0af8f2487a1")), - "ee1a61106fae2d381d686cbf854bab65", "e57f45559027cb1f2ed9603d814e1c34"), -*/ - new BlockCipherMonteCarloTest(16, 100, new SerpentEngine(), - new KeyParameter(Hex.decode("60f6f8ad4290699dc50921a1bbcca92da914e7d9cf01a9317c79c0af8f2487a1")), - "ee1a61106fae2d381d686cbf854bab65", "dcd7f13ea0dcdfd0139d1a42e2ffb84b") - }; - - SerpentTest() - { - super(tests, new SerpentEngine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "Serpent"; - } - - public static void main( - String[] args) - { - runTest(new SerpentTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Shacal2Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Shacal2Test.java deleted file mode 100644 index 5ffd94734..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Shacal2Test.java +++ /dev/null @@ -1,200 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.Shacal2Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Shacal2 tester - vectors from https://www.cosic.esat.kuleuven.be/nessie/testvectors/ - */ -public class Shacal2Test - extends CipherTest -{ - static SimpleTest[] tests = - { - // set 8.0 - new BlockCipherVectorTest(0, new Shacal2Engine(), - new KeyParameter(Hex.decode("000102030405060708090A0B0C0D0E0F" + - "101112131415161718191A1B1C1D1E1F" + - "202122232425262728292A2B2C2D2E2F" + - "303132333435363738393A3B3C3D3E3F")), - "98BCC10405AB0BFC686BECECAAD01AC1" + - "9B452511BCEB9CB094F905C51CA45430", - "00112233445566778899AABBCCDDEEFF" + - "102132435465768798A9BACBDCEDFE0F"), - // set 8.1 - new BlockCipherVectorTest(1, new Shacal2Engine(), - new KeyParameter(Hex.decode("2BD6459F82C5B300952C49104881FF48" + - "2BD6459F82C5B300952C49104881FF48" + - "2BD6459F82C5B300952C49104881FF48" + - "2BD6459F82C5B300952C49104881FF48")), - "481F122A75F2C4C3395140B5A951EBBA" + - "06D96BDFD9D8FF4FB59CBD1287808D5A", - "EA024714AD5C4D84EA024714AD5C4D84" + - "EA024714AD5C4D84EA024714AD5C4D84"), - // 7.255 - new BlockCipherVectorTest(2, new Shacal2Engine(), - new KeyParameter(Hex.decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF")), - "94FEDFF2A0CFE3C983D340C88D73F8CF" + - "4B79FC581797EC10B27D4DA1B51E1BC7", - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"), - // 7.100 - new BlockCipherVectorTest(3, new Shacal2Engine(), - new KeyParameter(Hex.decode("64646464646464646464646464646464" + - "64646464646464646464646464646464" + - "64646464646464646464646464646464" + - "64646464646464646464646464646464")), - "6643CB84B3B3F126F5E50959EF4CE73D" + - "B8500918ABE1056368DB06CA8C1C0D45", - "64646464646464646464646464646464" + - "64646464646464646464646464646464"), - // 7.50 - new BlockCipherVectorTest(4, new Shacal2Engine(), - new KeyParameter(Hex.decode("32323232323232323232323232323232" + - "32323232323232323232323232323232" + - "32323232323232323232323232323232" + - "32323232323232323232323232323232")), - "92E937285AB11FE3561542C43C918966" + - "971DE722E9B9D38BD69EAC77899DCF81", - "32323232323232323232323232323232" + - "32323232323232323232323232323232"), - // 7.0 - new BlockCipherVectorTest(5, new Shacal2Engine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000")), - "F8C9259FA4F5D787B570AFA9219166A6" + - "3636FC5C30AC289155D0CC4FFCB4B03D", - "00000000000000000000000000000000" + - "00000000000000000000000000000000"), - // 6.255 - new BlockCipherVectorTest(6, new Shacal2Engine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000")), - "F4E976DF0172CD961D4C8D466A12F676" + - "5B9089046E747CD2A41BF43C18A8328E", - "00000000000000000000000000000000" + - "00000000000000000000000000000001"), - // 6.100 - new BlockCipherVectorTest(7, new Shacal2Engine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000")), - "3B929F0597E21D0076EC399D21B67713" + - "B40E3AD559704219A26A3380212D5AD6", - "00000000000000000000000008000000" + - "00000000000000000000000000000000"), - - // 6.0 - new BlockCipherVectorTest(8, new Shacal2Engine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000")), - "43A0DAD8307F19FBBCF166FE20BAC075" + - "C56FF14042550E472094B042BE5963EE", - "80000000000000000000000000000000" + - "00000000000000000000000000000000"), - }; - - Shacal2Test() - { - super(tests, new Shacal2Engine(), new KeyParameter(new byte[16])); - } - - public void performTest() - throws Exception - { - super.performTest(); - - // 1.0 - iteratedTest(0, - Hex.decode("80000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000"), - Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000"), - Hex.decode("361AB6322FA9E7A7BB23818D839E01BD" + - "DAFDF47305426EDD297AEDB9F6202BAE"), - Hex.decode("226A582DE04383D0F3E7DE655DD848AC" + - "3E14CCFB4E76F7B7069879F67C4D5420"), - Hex.decode("B05D5A18C0712082CFF5BA9DBBCD7269" + - "114FC3DF83B42DAC306D95BBC473D839")); - - // 1.100 - iteratedTest(1, - Hex.decode("00000000000000000000000008000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000" + - "00000000000000000000000000000000"), - Hex.decode("00000000000000000000000000000000" + - "00000000000000000000000000000000"), - Hex.decode("F703282E54592A5617E10618027BB67F" + - "639E43A90767150D8B7F5E83054B3CBD"), - Hex.decode("3B442692B579485B8BA2F92CE3B90DE7" + - "D2EA03D8B3C8E7BE7BF6415F798EED90"), - Hex.decode("331B9B65F06230380BBEECFBFBA94BCF" + - "92AF6341F815D7651F996144A5377263")); - } - - private void iteratedTest(int index, byte[] key, byte[] plain, byte[] cipher, byte[] cipher100, byte[] cipher1000) - { - BlockCipher engine = new Shacal2Engine(); - - engine.init(true, new KeyParameter(key)); - - byte[] buf = new byte[plain.length]; - - System.arraycopy(plain, 0, buf, 0, plain.length); - - engine.processBlock(buf, 0, buf, 0); - - if (!Arrays.areEqual(cipher, buf)) - { - fail(index + " single count failed"); - } - - for (int i = 1; i != 100; i++) - { - engine.processBlock(buf, 0, buf, 0); - } - - if (!Arrays.areEqual(cipher100, buf)) - { - fail(index + " 100 count failed"); - } - - for (int i = 100; i != 1000; i++) - { - engine.processBlock(buf, 0, buf, 0); - } - - if (!Arrays.areEqual(cipher1000, buf)) - { - fail(index + " 1000 count failed"); - } - } - - public String getName() - { - return "Shacal2"; - } - - public static void main( - String[] args) - { - runTest(new Shacal2Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java deleted file mode 100644 index 58b701490..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Created on 6/05/2006 - * - * To change the template for this generated file go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.ExtendedDigest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.digests.ShortenedDigest; -import org.spongycastle.util.test.SimpleTest; - -public class ShortenedDigestTest - extends SimpleTest -{ - public void performTest() - { - ExtendedDigest d = new SHA1Digest(); - ShortenedDigest sd = new ShortenedDigest(new SHA1Digest(), 10); - - if (sd.getDigestSize() != 10) - { - fail("size check wrong for SHA-1"); - } - - if (sd.getByteLength() != d.getByteLength()) - { - fail("byte length check wrong for SHA-1"); - } - - // - // check output fits - // - sd.doFinal(new byte[10], 0); - - d = new SHA512Digest(); - sd = new ShortenedDigest(new SHA512Digest(), 20); - - if (sd.getDigestSize() != 20) - { - fail("size check wrong for SHA-512"); - } - - if (sd.getByteLength() != d.getByteLength()) - { - fail("byte length check wrong for SHA-512"); - } - - // - // check output fits - // - sd.doFinal(new byte[20], 0); - - try - { - new ShortenedDigest(null, 20); - - fail("null parameter not caught"); - } - catch (IllegalArgumentException e) - { - // expected - } - - try - { - new ShortenedDigest(new SHA1Digest(), 50); - - fail("short digest not caught"); - } - catch (IllegalArgumentException e) - { - // expected - } - } - - public String getName() - { - return "ShortenedDigest"; - } - - public static void main( - String[] args) - { - runTest(new ShortenedDigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SipHashTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SipHashTest.java deleted file mode 100644 index ba07cc36e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SipHashTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.macs.SipHash; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.util.Pack; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/* - * SipHash test values from "SipHash: a fast short-input PRF", by Jean-Philippe - * Aumasson and Daniel J. Bernstein (https://131002.net/siphash/siphash.pdf), Appendix A. - */ -public class SipHashTest - extends SimpleTest -{ - - public String getName() - { - return "SipHash"; - } - - public void performTest() - throws Exception - { - - byte[] key = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] input = Hex.decode("000102030405060708090a0b0c0d0e"); - - long expected = 0xa129ca6149be45e5L; - - SipHash mac = new SipHash(); - mac.init(new KeyParameter(key)); - mac.update(input, 0, input.length); - - long result = mac.doFinal(); - if (expected != result) - { - fail("Result does not match expected value for doFinal()"); - } - - byte[] expectedBytes = new byte[8]; - Pack.longToLittleEndian(expected, expectedBytes, 0); - - mac.update(input, 0, input.length); - - byte[] output = new byte[mac.getMacSize()]; - int len = mac.doFinal(output, 0); - if (len != output.length) - { - fail("Result length does not equal getMacSize() for doFinal(byte[],int)"); - } - if (!areEqual(expectedBytes, output)) - { - fail("Result does not match expected value for doFinal(byte[],int)"); - } - } - - public static void main(String[] args) - { - runTest(new SipHashTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinDigestTest.java deleted file mode 100644 index cb5c8648a..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinDigestTest.java +++ /dev/null @@ -1,294 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SkeinDigest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Memoable; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class SkeinDigestTest - extends SimpleTest -{ - private static class Case - { - private byte[] message; - private byte[] digest; - private int blockSize; - private int outputSize; - - public Case(int blockSize, int outputSize, String message, String digest) - { - this.blockSize = blockSize; - this.outputSize = outputSize; - this.message = Hex.decode(message); - this.digest = Hex.decode(digest); - } - - public int getOutputSize() - { - return outputSize; - } - - public int getBlockSize() - { - return blockSize; - } - - public byte[] getMessage() - { - return message; - } - - public byte[] getDigest() - { - return digest; - } - - } - - // Test cases from skein_golden_kat.txt and skein_golden_kat_short.txt in Skein 1.3 NIST CD - private static final Case[] TEST_CASES = { - new Case(256, 256, "", "c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba"), - new Case(256, 256, "fb", "088eb23cc2bccfb8171aa64e966d4af937325167dfcd170700ffd21f8a4cbdac"), - new Case(256, 256, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8", - "5c3002ff57a627089ea2f97a5000d5678416389019e80e45a3bbcab118315d26"), - new Case(256, 256, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a129233", - "640c894a4bba6574c83e920ddf7dd2982fc634881bbbcb9d774eae0a285e89ce"), - new Case(256, 160, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "0cd491b7715704c3a15a45a1ca8d93f8f646d3a1"), - new Case(256, 224, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "afd1e2d0f5b6cd4e1f8b3935fa2497d27ee97e72060adac099543487"), - new Case(256, 256, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "4de6fe2bfdaa3717a4261030ef0e044ced9225d066354610842a24a3eafd1dcf"), - new Case(256, 384, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "954620fb31e8b782a2794c6542827026fe069d715df04261629fcbe81d7d529b" - + "95ba021fa4239fb00afaa75f5fd8e78b"), - new Case(256, 512, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "51347e27c7eabba514959f899a6715ef6ad5cf01c23170590e6a8af399470bf9" - + "0ea7409960a708c1dbaa90e86389df254abc763639bb8cdf7fb663b29d9557c3"), - new Case(256, 1024, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "6c9b6facbaf116b538aa655e0be0168084aa9f1be445f7e06714585e5999a6c9" - + "84fffa9d41a316028692d4aad18f573fbf27cf78e84de26da1928382b023987d" - + "cfe002b6201ea33713c54a8a5d9eb346f0365e04330d2faaf7bc8aba92a5d7fb" - + "6345c6fb26750bce65ab2045c233627679ac6e9acb33602e26fe3526063ecc8b"), - - new Case(512, 512, "", "bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af4" - + "1fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a"), - new Case(512, 512, "fb", "c49e03d50b4b2cc46bd3b7ef7014c8a45b016399fd1714467b7596c86de98240" - + "e35bf7f9772b7d65465cd4cffab14e6bc154c54fc67b8bc340abf08eff572b9e"), - new Case(512, 512, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8", - "abefb179d52f68f86941acbbe014cc67ec66ad78b7ba9508eb1400ee2cbdb06f" - + "9fe7c2a260a0272d0d80e8ef5e8737c0c6a5f1c02ceb00fb2746f664b85fcef5"), - new Case(512, 512, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a129233", - "5c5b7956f9d973c0989aa40a71aa9c48a65af2757590e9a758343c7e23ea2df4" - + "057ce0b49f9514987feff97f648e1dd065926e2c371a0211ca977c213f14149f"), - new Case(512, 160, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "ef03079d61b57c6047e15fa2b35b46fa24279539"), - new Case(512, 224, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "d9e3219b214e15246a2038f76a573e018ef69b385b3bd0576b558231"), - new Case(512, 256, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "809dd3f763a11af90912bbb92bc0d94361cbadab10142992000c88b4ceb88648"), - new Case(512, 384, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "825f5cbd5da8807a7b4d3e7bd9cd089ca3a256bcc064cd73a9355bf3ae67f2bf" - + "93ac7074b3b19907a0665ba3a878b262"), - new Case(512, 512, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "1a0d5abf4432e7c612d658f8dcfa35b0d1ab68b8d6bd4dd115c23cc57b5c5bcd" - + "de9bff0ece4208596e499f211bc07594d0cb6f3c12b0e110174b2a9b4b2cb6a9"), - - new Case(1024, 1024, "", "0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62" - + "645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297" - + "d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890" - + "bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6"), - new Case(1024, 1024, "fb", "6426bdc57b2771a6ef1b0dd39f8096a9a07554565743ac3de851d28258fcff22" - + "9993e11c4e6bebc8b6ecb0ad1b140276081aa390ec3875960336119427827473" - + "4770671b79f076771e2cfdaaf5adc9b10cbae43d8e6cd2b1c1f5d6c82dc96618" - + "00ddc476f25865b8748253173187d81da971c027d91d32fb390301c2110d2db2"), - new Case(1024, 1024, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8", - "140e93726ab0b0467c0b8a834ad8cda4d1769d273661902b70db0dcb5ee692ac" - + "b3f852d03b11f857850f2428432811309c1dcbe5724f00267ea3667e89fadb4e" - + "4911da6b0ba8a7eddf87c1c67152ef0f07b7fead3557318478bdef5ad1e5926d" - + "7071fdd4bfa5076d4b3253f8de479ebdf5357676f1641b2f097e9b785e9e528e"), - new Case(1024, 1024, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a129233", - "31105e1ef042c30b95b16e0f6e6a1a19172bb7d54a0597dd0c711194888efe1d" - + "bce82d47416df9577ca387219f06e45cd10964ff36f6711edbbea0e9595b0f66" - + "f72b755d70a46857e0aec98561a743d49370d8e572e212811273125f66cc30bf" - + "117d3221894c48012bf6e2219de91e064b01523517420a1e00f71c4cc04bab62"), - new Case(1024, 160, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "2e6a4cbf2ef05ea9c24b93e8d1de732ddf2739eb"), - new Case(1024, 224, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "1d6de19f37f7a3c265440eecb4b9fbd3300bb5ac60895cfc0d4d3c72"), - new Case(1024, 256, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "986a4d472b123e8148731a8eac9db23325f0058c4ccbc44a5bb6fe3a8db672d7"), - new Case(1024, 384, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "9c3d0648c11f31c18395d5e6c8ebd73f43d189843fc45235e2c35e345e12d62b" - + "c21a41f65896ddc6a04969654c2e2ce9"), - new Case(1024, 512, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "5d0416f49c2d08dfd40a1446169dc6a1d516e23b8b853be4933513051de8d5c2" - + "6baccffb08d3b16516ba3c6ccf3e9a6c78fff6ef955f2dbc56e1459a7cdba9a5"), - new Case(1024, 1024, "fbd17c26b61a82e12e125f0d459b96c91ab4837dff22b39b78439430cdfc5dc8" - + "78bb393a1a5f79bef30995a85a12923339ba8ab7d8fc6dc5fec6f4ed22c122bb" - + "e7eb61981892966de5cef576f71fc7a80d14dab2d0c03940b95b9fb3a727c66a" - + "6e1ff0dc311b9aa21a3054484802154c1826c2a27a0914152aeb76f1168d4410", - "96ca81f586c825d0360aef5acaec49ad55289e1797072eee198b64f349ce65b6" - + "e6ed804fe38f05135fe769cc56240ddda5098f620865ce4a4278c77fa2ec6bc3" - + "1c0f354ca78c7ca81665bfcc5dc54258c3b8310ed421d9157f36c093814d9b25" - + "103d83e0ddd89c52d0050e13a64c6140e6388431961685734b1f138fe2243086"), - - }; - - public String getName() - { - return "SkeinDigest"; - } - - public void performTest() - throws Exception - { - runTest(TEST_CASES[7]); - for (int i = 0; i < TEST_CASES.length; i++) - { - Case test = TEST_CASES[i]; - runTest(test); - } - } - - private void runTest(Case dc) - { - SkeinDigest digest = new SkeinDigest(dc.getBlockSize(), dc.getOutputSize()); - - byte[] message = dc.getMessage(); - digest.update(message, 0, message.length); - - byte[] output = new byte[digest.getDigestSize()]; - digest.doFinal(output, 0); - - if (!Arrays.areEqual(output, dc.getDigest())) - { - fail(digest.getAlgorithmName() + " message mismatch.\n Message " + new String(Hex.encode(dc.getMessage())), - new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - - // Clone test - digest.update(message, 0, message.length / 2); - - // clone the Digest - Digest d = new SkeinDigest(digest); - - digest.update(message, message.length / 2, message.length - message.length / 2); - digest.doFinal(output, 0); - - if (!areEqual(dc.getDigest(), output)) - { - fail("failing clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - - d.update(message, message.length / 2, message.length - message.length / 2); - d.doFinal(output, 0); - - if (!areEqual(dc.getDigest(), output)) - { - fail("failing second clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - - // - // memo test - // - Memoable m = (Memoable)digest; - - digest.update(message, 0, message.length / 2); - - // copy the Digest - Memoable copy1 = m.copy(); - Memoable copy2 = copy1.copy(); - - digest.update(message, message.length / 2, message.length - message.length / 2); - digest.doFinal(output, 0); - - if (!areEqual(dc.getDigest(), output)) - { - fail("failing memo vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - - m.reset(copy1); - - digest.update(message, message.length / 2, message.length - message.length / 2); - digest.doFinal(output, 0); - - if (!areEqual(dc.getDigest(), output)) - { - fail("failing memo reset vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - - Digest md = (Digest)copy2; - - md.update(message, message.length / 2, message.length - message.length / 2); - md.doFinal(output, 0); - - if (!areEqual(dc.getDigest(), output)) - { - fail("failing memo copy vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output))); - } - } - - public static void main(String[] args) - throws IOException - { - // generateTests(); - runTest(new SkeinDigestTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinMacTest.java deleted file mode 100644 index 3f1c616f6..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkeinMacTest.java +++ /dev/null @@ -1,162 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.io.IOException; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class SkeinMacTest - extends SimpleTest -{ - private static class Case - { - private byte[] message; - private byte[] digest; - private byte[] key; - private int blockSize; - private int outputSize; - - public Case(int blockSize, int outputSize, String message, String key, String digest) - { - this.blockSize = blockSize; - this.outputSize = outputSize; - this.message = Hex.decode(message); - this.key = Hex.decode(key); - this.digest = Hex.decode(digest); - } - - public int getOutputSize() - { - return outputSize; - } - - public int getBlockSize() - { - return blockSize; - } - - public byte[] getMessage() - { - return message; - } - - public byte[] getKey() - { - return key; - } - - public byte[] getDigest() - { - return digest; - } - - public String toString() - { - return "new Case(" + blockSize + ", " + outputSize + ", \"" + new String(Hex.encode(message)) + "\", \"" - + new String(Hex.encode(key)) + "\", \"" + new String(Hex.encode(digest)) + "\""; - } - - } - - // Test cases from skein_golden_kat.txt in Skein 1.3 NIST CD - // Excludes empty '(none)' key 'random+MAC' tests, which are in effect digest - private static final Case[] TEST_CASES = { - new Case(256, 256, "", "cb41f1706cde09651203c2d0efbaddf8", "886e4efefc15f06aa298963971d7a25398fffe5681c84db39bd00851f64ae29d"), - new Case(256, 256, "d3", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "979422a94e3afaa46664124d4e5e8b9422b1d8baf11c6ae6725992ac72a112ca"), - new Case(256, 256, "d3090c72", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "1d658372cbea2f9928493cc47599d6f4ad8ce33536bedfa20b739f07516519d5"), - new Case(256, 256, "d3090c72167517f7", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e92", "41ef6b0f0fad81c040284f3b1a91e9c44e4c26a6d7207f3aac4362856ef12aca"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "ca8208119b9e4e4057631ab31015cfd256f6763a0a34381633d97f640899b84f"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "9e9980fcc16ee082cf164a5147d0e0692aeffe3dcb8d620e2bb542091162e2e9"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc235", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "c353a316558ec34f8245dd2f9c2c4961fbc7decc3b69053c103e4b8aaaf20394"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdf", "cb41f1706cde09651203c2d0efbaddf8", "b1b8c18188e69a6ecae0b6018e6b638c6a91e6de6881e32a60858468c17b520d"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e92", "1dfd2515a412e78852cd81a7f2167711b4ca19b2891c2ea36ba94f8451944793"), - new Case(256, 224, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf8", "a097340709b443ed2c0a921f5dcefef3ead65c4f0bcd5f13da54d7ed"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "ac1b4fab6561c92d0c487e082daec53e0db4f505e08bf51cae4fd5375e37fc04"), - new Case(256, 384, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e92", "96e6cebb23573d0a70ce36a67aa05d2403148093f25c695e1254887cc97f9771d2518413af4286bf2a06b61a53f7fcec"), - new Case(256, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "0e95e597e71d6350f20b99c4179f54f43a4722705c06ba765a82cb0a314fe2fe87ef8090063b757e53182706ed18737dadc0da1e1c66518f08334052702c5ed7"), - new Case(256, 264, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf8", "064abd4896f460b1953f5a357e7f7c5256e29cdb62b8740d0b52295cfa2ef4c7a2"), - new Case(256, 520, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "edf220e43e048603bd16197d59b673b9974de5b8bcf7cb1558a4799f6fd3743eb5fb400cd6129afc0c60e7b741b7e5806f0e0b93eb8429fbc7efa222175a9c80fd"), - new Case(256, 1032, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e92", "f3f59fb07399c7b73aae02a8590883cb2fdfde75c55654e71846522301bde48d267169adcc559e038e8c2f28faa552b550d51874055384adea93c036c71a1f0af0c7bcc3bc923738d5307b9da7cb423d4e615c629c4aba71f70d4c9d1fa008176825e51bfa0203445a4083947ec19f6a0fbd082b5b970f2396fb67420639410447"), - new Case(256, 2056, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "80eb80d9b8836b32fa576fc84ba08edfbdfd6979123d61914e610a70a372b37f560a10909484f9f4a377c93e29ba681dfe522c41dc83b5ee0567e5370007c7bbe4df0b2b4a25e088f80d72fc30734cdcd76d817b42fbd44dca881019afb25306f19d4e91848778af306517d2072cef72caa327e877c5b6554f83cec3d00877131b47c4d3b557f5a13541c4d5080ee3ce7a658993d083efd0db3496a8752060c3c8552f44b290cabdcc867f691ad605836c08dbd59c9528d885b600b85fdfc8a9d0e636ac3ad8b4295bcb0169e78dc358e77eacc8c4b61bddfa9e5f32d2268a006cfe05c57150fe8e68cabd21cf6cf6035aa1fe4db36c922b765aad0b64e82a2c37"), - new Case(256, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed696e6c9db1e6abea026288954a9c2d5758d7c5db7c9e48aa3d21cae3d977a7c3926066aa393dbd538dd0c30da8916c8757f24c18488014668a2627163a37b261833dc2f8c3c56b1b2e0be21fd3fbdb507b2950b77a6cc02efb393e57419383a920767bca2c972107aa61384542d47cbfb82cfe5c415389d1b0a2d74e2c5da851", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "8f88de68f03cd2f396ccdd49c3a0f4ff15bcda7eb357da9753f6116b124de91d"), - new Case(512, 512, "", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "9bd43d2a2fcfa92becb9f69faab3936978f1b865b7e44338fc9c8f16aba949ba340291082834a1fc5aa81649e13d50cd98641a1d0883062bfe2c16d1faa7e3aa"), - new Case(512, 512, "d3", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "f0c0a10f031c8fc69cfabcd54154c318b5d6cd95d06b12cf20264402492211ee010d5cecc2dc37fd772afac0596b2bf71e6020ef2dee7c860628b6e643ed9ff6"), - new Case(512, 512, "d3090c72167517f7", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "0c1f1921253dd8e5c2d4c5f4099f851042d91147892705829161f5fc64d89785226eb6e187068493ee4c78a4b7c0f55a8cbbb1a5982c2daf638fc6a74b16b0d7"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "478d7b6c0cc6e35d9ebbdedf39128e5a36585db6222891692d1747d401de34ce3db6fcbab6c968b7f2620f4a844a2903b547775579993736d2493a75ff6752a1"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e59", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "13c170bac1de35e5fb843f65fabecf214a54a6e0458a4ff6ea5df91915468f4efcd371effa8965a9e82c5388d84730490dcf3976af157b8baf550655a5a6ab78"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc235", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "a947812529a72fd3b8967ec391b298bee891babc8487a1ec4ea3d88f6b2b5be09ac6a780f30f8e8c3bbb4f18bc302a28f3e87d170ba0f858a8fefe3487478cca"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdf", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "7690ba61f10e0bba312980b0212e6a9a51b0e9aadfde7ca535754a706e042335b29172aae29d8bad18efaf92d43e6406f3098e253f41f2931eda5911dc740352"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "d10e3ba81855ac087fbf5a3bc1f99b27d05f98ba22441138026225d34a418b93fd9e8dfaf5120757451adabe050d0eb59d271b0fe1bbf04badbcf9ba25a8791b"), - new Case(512, 160, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "5670b226156570dff3efe16661ab86eb24982cdf"), - new Case(512, 224, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "c41b9ff9753e6c0f8ed88866e320535e927fe4da552c289841a920db"), - new Case(512, 384, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "dfbf5c1319a1d9d70efb2f1600fbcf694f935907f31d24a16d6cd2fb2d7855a769681766c0a29da778eed346cd1d740f"), - new Case(512, 512, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "04d8cddb0ad931d54d195899a094684344e902286037272890bce98a41813edc37a3cee190a693fcca613ee30049ce7ec2bdff9613f56778a13f8c28a21d167a"), - new Case(512, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c193", "08fca368b3b14ac406676adf37ac9be2dbb8704e694055a0c6331184d4f0070098f23f0963ee29002495771bf56fb4d3d9ff3506abcd80be927379f7880d5d7703919fbf92184f498ac44f47f015ce676eded9165d47d53733f5a27abbc05f45acd98b97cc15ffdced641defd1a5119ef841b452a1b8f94ee69004466ccdc143"), - new Case(512, 264, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "669e770ebe7eacc2b64caaf049923ad297a5b37cfa61c283392d81ccfcb9bbbc09"), - new Case(512, 1032, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e", "acc2e03f07f33e9820a6038421089429adcd6a7a83f733beec048c05bf37531a170a5537fcb565c348a70a83217f8be768ff6f95fd2b3d89cb7d8a3dc849505e3710eb4e65a8e7134bbf580d92fe18c9aa987563669b1f014aa5e092519089355534eaa9f0bdc99f6839f54080ffe74623254c906ecb8896b4346c3178a0bc2898"), - new Case(512, 2056, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "9f3e082223c43090a4a3ffbdcd469cbabfe0c1399d1edf45a5dfc18f4db5428928a76e979b8d0d5dffec0e6a59ada448c1ffbc06cc80a2006f002adc0c6dbf458563762228dce4381944e460ebebfe06f1237093634625107469a22a189a47f8b025899265d8890a1b39df64552394377e88ba2ad44a8c8d174f884ac8c3ae24ddb0affca5fceb6aa76e09706881e8371774b9b050a69b96ef5e97e81043f8b7e9479e287ab441bacd62caf768a82c8c3e3107be70eb8799a39856fe29842a04e25de0ef9de1b7e65bd0f1f7306835287fc957388e2035b7d22d3aa9c06a9fefbca16f3f60e1c4def89038d918942152a069aa2e0be8ae7475d859031adec84583"), - new Case(1024, 1024, "", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc81463134", "bcf37b3459c88959d6b6b58b2bfe142cef60c6f4ec56b0702480d7893a2b0595aa354e87102a788b61996b9cbc1eade7dafbf6581135572c09666d844c90f066b800fc4f5fd1737644894ef7d588afc5c38f5d920bdbd3b738aea3a3267d161ed65284d1f57da73b68817e17e381ca169115152b869c66b812bb9a84275303f0"), - new Case(1024, 1024, "d3090c72", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "df0596e5808835a3e304aa27923db05f61dac57c0696a1d19abf188e70aa9dbcc659e9510f7c9a37fbc025bd4e5ea293e78ed7838dd0b08864e8ad40ddb3a88031ebefc21572a89960d1916107a7da7ac0c067e34ec46a86a29ca63fa250bd398eb32ec1ed0f8ac8329f26da018b029e41e2e58d1dfc44de81615e6c987ed9c9"), - new Case(1024, 1024, "d3090c72167517f7", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c042eb4187aa1c015a4767032c0bb28f076b66485f51531c12e948f47dbc2cb904a4b75d1e8a6d931dab4a07e0a54d1bb5b55e602141746bd09fb15e8f01a8d74e9e63959cb37336bc1b896ec78da734c15e362db04368fbba280f20a043e0d0941e9f5193e1b360a33c43b266524880125222e648f05f28be34ba3cabfc9c544", "3cfbb79cd88af8ee09c7670bcbab6907a31f80fa31d9d7c9d50826c9568f307a78bd254961398c76b6e338fd9ca5f351059350d30963c3320659b223b991fc46d1307686fe2b4763d9f593c57ad5adbc45caf2ea3dc6090f5a74fa5fa6d9e9838964ea0a2aa216831ab069b00629a1a9b037083403bdb25d3d06a21c430c87dd"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e59", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "0a1b960099fc9d653b0fd1f5b6b972fb366907b772cbce5a59b6171d7935506f70c212bd169d68c5cfd8618343611b7eb2e686ff1dc7c03a57e1a55ed10726848161eea903d53b58459be42d95df989c66c2eea4e51cde272c2d8be67bf3bca2aee633777eb8486781eaa060d0f538abd6c93dbd2d1bf66e6f50bfdcac3725a4"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "3e0cd7938d71c39ffbb08a6ba7995ade3ad140e2c0c45cdbafb099247e08e4c20b61c1f885ced5ed2f816680925034918236e5807f0eecf3f27e9cfca36675eb75873efa1fb41f17541dc2f7c2469eaecb35cc7ca58e489804caf56f09fb97c9f689c64ad49c6888f86c483e901bd3d25798b394ef93faf9154900f92f31f433"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdf", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc81463134", "7266752f7e9aa04bd7d8a1b16030677de6021301f6a62473c76bae2b98bbf8aad73bd00a4b5035f741caf2317ab80e4e97f5c5bbe8acc0e8b424bcb13c7c6740a985801fba54addde8d4f13f69d2bfc98ae104d46a211145217e51d510ea846cec9581d14fda079f775c8b18d66cb31bf7060996ee8a69eee7f107909ce59a97"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c042eb4187aa1c015a4767032c0bb28f076b66485f51531c12e948f47dbc2cb904a4b75d1e8a6d931dab4a07e0a54d1bb5b55e602141746bd09fb15e8f01a8d74e9e63959cb37336bc1b896ec78da734c15e362db04368fbba280f20a043e0d0941e9f5193e1b360a33c43b266524880125222e648f05f28be34ba3cabfc9c544", "71f40bf2aa635125ef83c8df0d4e9ea18b73b56be4f45e89b910a7c68d396b65b09d18abc7d1b6de3f53fd5de583e6f22e612dd17b292068af6027daaf8b4cd60acf5bc85044741e9f7a1f423f5827f5e360930a2e71912239af9fc6343604fdcf3f3569854f2bb8d25a81e3b3f5261a02fe8292aaaa50c324101ab2c7a2f349"), - new Case(1024, 160, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "17c3c533b27d666da556ae586e641b7a3a0bcc45"), - new Case(1024, 224, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc81463134", "6625df9801581009125ea4e5c94ad6f1a2d692c278822ccb6eb67235"), - new Case(1024, 256, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "6c5b671c1766f6eecea6d24b641d4a6bf84bba13a1976f8f80b3f30ee2f93de6"), - new Case(1024, 384, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c042eb4187aa1c015a4767032c0bb28f076b66485f51531c12e948f47dbc2cb904a4b75d1e8a6d931dab4a07e0a54d1bb5b55e602141746bd09fb15e8f01a8d74e9e63959cb37336bc1b896ec78da734c15e362db04368fbba280f20a043e0d0941e9f5193e1b360a33c43b266524880125222e648f05f28be34ba3cabfc9c544", "98af454d7fa3706dfaafbf58c3f9944868b57f68f493987347a69fce19865febba0407a16b4e82065035651f0b1e0327"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1", "211ac479e9961141da3aac19d320a1dbbbfad55d2dce87e6a345fcd58e36827597378432b482d89bad44dddb13e6ad86e0ee1e0882b4eb0cd6a181e9685e18dd302ebb3aa74502c06254dcadfb2bd45d288f82366b7afc3bc0f6b1a3c2e8f84d37fbedd07a3f8fcff84faf24c53c11da600aaa118e76cfdcb366d0b3f7729dce"), - new Case(1024, 264, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc81463134", "dc1d253b7cadbdaef18503b1809a7f1d4f8c323b7f6f8ca50b76d3864649ce1c7d"), - new Case(1024, 520, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "decd79578d12bf6806530c382230a2c7836429c70cac941179e1dd982938bab91fb6f3638df1cc1ef615ecfc4249e5aca8a73c4c1eebef662a836d0be903b00146"), - new Case(1024, 1032, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c042eb4187aa1c015a4767032c0bb28f076b66485f51531c12e948f47dbc2cb904a4b75d1e8a6d931dab4a07e0a54d1bb5b55e602141746bd09fb15e8f01a8d74e9e63959cb37336bc1b896ec78da734c15e362db04368fbba280f20a043e0d0941e9f5193e1b360a33c43b266524880125222e648f05f28be34ba3cabfc9c544", "440fe691e04f1fed8c253d6c4670646156f33fffaea702de9445df5739eb960cecf85d56e2e6860a610211a5c909932ab774b978aa0b0d5bbce82775172ab12dceddd51d1eb030057ce61bea6c18f6bb368d26ae76a9e44a962eb132e6c42c25d9fecc4f13348300ca55c78e0990de96c1ae24eb3ee3324782c93dd628260a2c8d"), - new Case(1024, 1024, "d3090c72167517f7c7ad82a70c2fd3f6443f608301591e598eadb195e8357135ba26fede2ee187417f816048d00fc23512737a2113709a77e4170c49a94b7fdff45ff579a72287743102e7766c35ca5abc5dfe2f63a1e726ce5fbd2926db03a2dd18b03fc1508a9aac45eb362440203a323e09edee6324ee2e37b4432c1867ed696e6c9db1e6abea026288954a9c2d5758d7c5db7c9e48aa3d21cae3d977a7c3926066aa393dbd538dd0c30da8916c8757f24c18488014668a2627163a37b261833dc2f8c3c56b1b2e0be21fd3fbdb507b2950b77a6cc02efb393e57419383a920767bca2c972107aa61384542d47cbfb82cfe5c415389d1b0a2d74e2c5da851", "cb41f1706cde09651203c2d0efbaddf847a0d315cb2e53ff8bac41da0002672e920244c66e02d5f0dad3e94c42bb65f0d14157decf4105ef5609d5b0984457c1935df3061ff06e9f204192ba11e5bb2cac0430c1c370cb3d113fea5ec1021eb875e5946d7a96ac69a1626c6206b7252736f24253c9ee9b85eb852dfc814631346c", "46a42b0d7b8679f8fcea156c072cf9833c468a7d59ac5e5d326957d60dfe1cdfb27eb54c760b9e049fda47f0b847ac68d6b340c02c39d4a18c1bdfece3f405fae8aa848bdbefe3a4c277a095e921228618d3be8bd1999a071682810de748440ad416a97742cc9e8a9b85455b1d76472cf562f525116698d5cd0a35ddf86e7f8a"), - - }; - - public String getName() - { - return "SkeinMac"; - } - - public void performTest() - throws Exception - { - for (int i = 0; i < TEST_CASES.length; i++) - { - Case test = TEST_CASES[i]; - runTest(test); - } - } - - private void runTest(Case dc) - { - Mac digest = new SkeinMac(dc.getBlockSize(), dc.getOutputSize()); - digest.init(new KeyParameter(dc.getKey())); - - byte[] message = dc.getMessage(); - digest.update(message, 0, message.length); - - byte[] output = new byte[digest.getMacSize()]; - digest.doFinal(output, 0); - - if (!Arrays.areEqual(output, dc.getDigest())) - { - fail(digest.getAlgorithmName() + " message " + (dc.getMessage().length * 8) + " mismatch.\n Message " + new String(Hex.encode(dc.getMessage())) - + "\n Key " + new String(Hex.encode(dc.getKey())) + "\n Expected " - + new String(Hex.encode(dc.getDigest())) + "\n Actual " + new String(Hex.encode(output))); - } - - } - - public static void main(String[] args) - throws IOException - { - runTest(new SkeinMacTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkipjackTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkipjackTest.java deleted file mode 100644 index e7b2d8679..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/SkipjackTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.SkipjackEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - */ -public class SkipjackTest - extends CipherTest -{ - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new SkipjackEngine(), - new KeyParameter(Hex.decode("00998877665544332211")), - "33221100ddccbbaa", "2587cae27a12d300") - }; - - SkipjackTest() - { - super(tests, new SkipjackEngine(), new KeyParameter(Hex.decode("00998877665544332211"))); - } - - public String getName() - { - return "SKIPJACK"; - } - - public static void main( - String[] args) - { - runTest(new SkipjackTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherResetTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherResetTest.java deleted file mode 100644 index 7c166adab..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherResetTest.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.crypto.engines.ChaChaEngine; -import org.spongycastle.crypto.engines.Grain128Engine; -import org.spongycastle.crypto.engines.Grainv1Engine; -import org.spongycastle.crypto.engines.HC128Engine; -import org.spongycastle.crypto.engines.HC256Engine; -import org.spongycastle.crypto.engines.ISAACEngine; -import org.spongycastle.crypto.engines.RC4Engine; -import org.spongycastle.crypto.engines.Salsa20Engine; -import org.spongycastle.crypto.engines.XSalsa20Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test whether block ciphers implement reset contract on init, encrypt/decrypt and reset. - */ -public class StreamCipherResetTest - extends SimpleTest -{ - public String getName() - { - return "Stream Cipher Reset"; - } - - public void performTest() - throws Exception - { - testReset(new Salsa20Engine(), new Salsa20Engine(), new ParametersWithIV(new KeyParameter(random(32)), - random(8))); - testReset(new Salsa20Engine(), new Salsa20Engine(), new ParametersWithIV(new KeyParameter(random(16)), - random(8))); - testReset(new XSalsa20Engine(), new XSalsa20Engine(), new ParametersWithIV(new KeyParameter(random(32)), - random(24))); - testReset(new ChaChaEngine(), new ChaChaEngine(), new ParametersWithIV(new KeyParameter(random(32)), random(8))); - testReset(new ChaChaEngine(), new ChaChaEngine(), new ParametersWithIV(new KeyParameter(random(16)), random(8))); - testReset(new RC4Engine(), new RC4Engine(), new KeyParameter(random(16))); - testReset(new ISAACEngine(), new ISAACEngine(), new KeyParameter(random(16))); - testReset(new HC128Engine(), new HC128Engine(), new ParametersWithIV(new KeyParameter(random(16)), random(16))); - testReset(new HC256Engine(), new HC256Engine(), new ParametersWithIV(new KeyParameter(random(16)), random(16))); - testReset(new Grainv1Engine(), new Grainv1Engine(), new ParametersWithIV(new KeyParameter(random(16)), - random(8))); - testReset(new Grain128Engine(), new Grain128Engine(), new ParametersWithIV(new KeyParameter(random(16)), - random(12))); - } - - private static final SecureRandom RAND = new SecureRandom(); - - private byte[] random(int size) - { - final byte[] data = new byte[size]; - RAND.nextBytes(data); - return data; - } - - private void testReset(StreamCipher cipher1, StreamCipher cipher2, CipherParameters params) - throws InvalidCipherTextException - { - cipher1.init(true, params); - - byte[] plaintext = new byte[1023]; - byte[] ciphertext = new byte[plaintext.length]; - - // Establish baseline answer - cipher1.processBytes(plaintext, 0, plaintext.length, ciphertext, 0); - - // Test encryption resets - checkReset(cipher1, params, true, plaintext, ciphertext); - - // Test decryption resets with fresh instance - cipher2.init(false, params); - checkReset(cipher2, params, false, ciphertext, plaintext); - } - - private void checkReset(StreamCipher cipher, - CipherParameters params, - boolean encrypt, - byte[] pretext, - byte[] posttext) - throws InvalidCipherTextException - { - // Do initial run - byte[] output = new byte[posttext.length]; - cipher.processBytes(pretext, 0, pretext.length, output, 0); - - // Check encrypt resets cipher - cipher.init(encrypt, params); - - try - { - cipher.processBytes(pretext, 0, pretext.length, output, 0); - } - catch (Exception e) - { - fail(cipher.getAlgorithmName() + " init did not reset: " + e.getMessage()); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(cipher.getAlgorithmName() + " init did not reset.", new String(Hex.encode(posttext)), - new String(Hex.encode(output))); - } - - // Check reset resets data - cipher.reset(); - - try - { - cipher.processBytes(pretext, 0, pretext.length, output, 0); - } - catch (Exception e) - { - fail(cipher.getAlgorithmName() + " reset did not reset: " + e.getMessage()); - } - if (!Arrays.areEqual(output, posttext)) - { - fail(cipher.getAlgorithmName() + " reset did not reset."); - } - } - - public static void main(String[] args) - { - runTest(new StreamCipherResetTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherVectorTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherVectorTest.java deleted file mode 100644 index 2d3b197db..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/StreamCipherVectorTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.StreamCipher; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * a basic test that takes a stream cipher, key parameter, and an input - * and output string. - */ -public class StreamCipherVectorTest - extends SimpleTest -{ - int id; - StreamCipher cipher; - CipherParameters param; - byte[] input; - byte[] output; - - public StreamCipherVectorTest( - int id, - StreamCipher cipher, - CipherParameters param, - String input, - String output) - { - this.id = id; - this.cipher = cipher; - this.param = param; - this.input = Hex.decode(input); - this.output = Hex.decode(output); - } - - public String getName() - { - return cipher.getAlgorithmName() + " Vector Test " + id; - } - - public void performTest() - { - cipher.init(true, param); - - byte[] out = new byte[input.length]; - - cipher.processBytes(input, 0, input.length, out, 0); - - if (!areEqual(out, output)) - { - fail("failed.", new String(Hex.encode(output)) , new String(Hex.encode(out))); - } - - cipher.init(false, param); - - cipher.processBytes(output, 0, output.length, out, 0); - - if (!areEqual(input, out)) - { - fail("failed reversal"); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TEATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TEATest.java deleted file mode 100644 index a2740600e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TEATest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.TEAEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * TEA tester - based on C implementation results from http://www.simonshepherd.supanet.com/tea.htm - */ -public class TEATest - extends CipherTest -{ - static SimpleTest[] tests = { - new BlockCipherVectorTest(0, new TEAEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "0000000000000000", - "41ea3a0a94baa940"), - new BlockCipherVectorTest(1, new TEAEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "0102030405060708", - "6a2f9cf3fccf3c55"), - new BlockCipherVectorTest(2, new TEAEngine(), - new KeyParameter(Hex.decode("0123456712345678234567893456789A")), - "0000000000000000", - "34e943b0900f5dcb"), - new BlockCipherVectorTest(3, new TEAEngine(), - new KeyParameter(Hex.decode("0123456712345678234567893456789A")), - "0102030405060708", - "773dc179878a81c0"), - }; - - TEATest() - { - super(tests, new TEAEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "TEA"; - } - - public static void main( - String[] args) - { - runTest(new TEATest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish1024Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish1024Test.java deleted file mode 100644 index 9e087187d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish1024Test.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class Threefish1024Test - extends CipherTest -{ - // Test cases from skein_golden_kat_internals.txt in Skein 1.3 NIST CD - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024), - new TweakableBlockCipherParameters( - new KeyParameter(new byte[128]), - new byte[16]), - "0000000000000000000000000000000000000000000000000000000000000000" + - "0000000000000000000000000000000000000000000000000000000000000000" + - "0000000000000000000000000000000000000000000000000000000000000000" + - "0000000000000000000000000000000000000000000000000000000000000000", - "f05c3d0a3d05b304f785ddc7d1e036015c8aa76e2f217b06c6e1544c0bc1a90d" + - "f0accb9473c24e0fd54fea68057f43329cb454761d6df5cf7b2e9b3614fbd5a2" + - "0b2e4760b40603540d82eabc5482c171c832afbe68406bc39500367a592943fa" + - "9a5b4a43286ca3c4cf46104b443143d560a4b230488311df4feef7e1dfe8391e"), - new BlockCipherVectorTest(1, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024), - new TweakableBlockCipherParameters( - new KeyParameter(Hex.decode( - "101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f" + - "303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f" + - "505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f" + - "707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f")), - Hex.decode("000102030405060708090a0b0c0d0e0f")), - "fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0" + - "dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0" + - "bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0" + - "9f9e9d9c9b9a999897969594939291908f8e8d8c8b8a89888786858483828180", - "a6654ddbd73cc3b05dd777105aa849bce49372eaaffc5568d254771bab85531c" + - "94f780e7ffaae430d5d8af8c70eebbe1760f3b42b737a89cb363490d670314bd" + - "8aa41ee63c2e1f45fbd477922f8360b388d6125ea6c7af0ad7056d01796e90c8" + - "3313f4150a5716b30ed5f569288ae974ce2b4347926fce57de44512177dd7cde") - }; - - Threefish1024Test() - { - super(tests, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024), new KeyParameter(new byte[128])); - } - - public String getName() - { - return "Threefish-1024"; - } - - public static void main( - String[] args) - { - runTest(new Threefish1024Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish256Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish256Test.java deleted file mode 100644 index 6753c2452..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish256Test.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class Threefish256Test - extends CipherTest -{ - // Test cases from skein_golden_kat_internals.txt in Skein 1.3 NIST CD - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256), - new TweakableBlockCipherParameters( - new KeyParameter(new byte[32]), - new byte[16]), - "0000000000000000000000000000000000000000000000000000000000000000", - "84da2a1f8beaee947066ae3e3103f1ad536db1f4a1192495116b9f3ce6133fd8"), - new BlockCipherVectorTest(1, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256), - new TweakableBlockCipherParameters( - new KeyParameter(Hex.decode( - "101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f")), - Hex.decode("000102030405060708090a0b0c0d0e0f")), - "FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0", - "e0d091ff0eea8fdfc98192e62ed80ad59d865d08588df476657056b5955e97df") - }; - - Threefish256Test() - { - super(tests, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "Threefish-256"; - } - - public static void main( - String[] args) - { - runTest(new Threefish256Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish512Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish512Test.java deleted file mode 100644 index ba5447f46..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/Threefish512Test.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class Threefish512Test - extends CipherTest -{ - // Test cases from skein_golden_kat_internals.txt in Skein 1.3 NIST CD - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), - new TweakableBlockCipherParameters( - new KeyParameter(new byte[64]), - new byte[16]), - "0000000000000000000000000000000000000000000000000000000000000000" + - "0000000000000000000000000000000000000000000000000000000000000000", - "b1a2bbc6ef6025bc40eb3822161f36e375d1bb0aee3186fbd19e47c5d479947b" + - "7bc2f8586e35f0cff7e7f03084b0b7b1f1ab3961a580a3e97eb41ea14a6d7bbe"), - new BlockCipherVectorTest(1, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), - new TweakableBlockCipherParameters( - new KeyParameter(Hex.decode( - "101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f" + - "303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f")), - Hex.decode("000102030405060708090a0b0c0d0e0f")), - "fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0" + - "dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0", - "e304439626d45a2cb401cad8d636249a6338330eb06d45dd8b36b90e97254779" + - "272a0a8d99463504784420ea18c9a725af11dffea10162348927673d5c1caf3d") - }; - - Threefish512Test() - { - super(tests, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), new KeyParameter(new byte[64])); - } - - public String getName() - { - return "Threefish-512"; - } - - public static void main( - String[] args) - { - runTest(new Threefish512Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TigerDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TigerDigestTest.java deleted file mode 100644 index b9a40655d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TigerDigestTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.TigerDigest; - -/** - * Tiger Digest Test - */ -public class TigerDigestTest - extends DigestTest -{ - final static String[] messages = { - "", - "abc", - "Tiger", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw", - "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", - "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham, proceedings of Fast Software Encryption 3, Cambridge, 1996.", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-" - }; - - final static String[] digests = { - "3293AC630C13F0245F92BBB1766E16167A4E58492DDE73F3", - "2AAB1484E8C158F2BFB8C5FF41B57A525129131C957B5F93", - "DD00230799F5009FEC6DEBC838BB6A27DF2B9D6F110C7937", - "F71C8583902AFB879EDFE610F82C0D4786A3A534504486B5", - "38F41D9D9A710A10C3727AC0DEEAA270727D9F926EC10139", - "48CEEB6308B87D46E95D656112CDF18D97915F9765658957", - "631ABDD103EB9A3D245B6DFD4D77B257FC7439501D1568DD", - "C54034E5B43EB8005848A7E0AE6AAC76E4FF590AE715FD25", - "C54034E5B43EB8005848A7E0AE6AAC76E4FF590AE715FD25" - }; - - final static String hash64k = "FDF4F5B35139F48E710E421BE5AF411DE1A8AAC333F26204"; - - TigerDigestTest() - { - super(new TigerDigest(), messages, digests); - } - - public void performTest() - { - super.performTest(); - - sixtyFourKTest(hash64k); - } - - protected Digest cloneDigest(Digest digest) - { - return new TigerDigest((TigerDigest)digest); - } - - public static void main( - String[] args) - { - runTest(new TigerDigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TwofishTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TwofishTest.java deleted file mode 100644 index 84f3e7fcd..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/TwofishTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.TwofishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class TwofishTest - extends CipherTest -{ - static String key1 = "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"; - static String key2 = "000102030405060708090a0b0c0d0e0f1011121314151617"; - static String key3 = "000102030405060708090a0b0c0d0e0f"; - - static String input = "000102030405060708090A0B0C0D0E0F"; - - static SimpleTest[] tests = - { - new BlockCipherVectorTest(0, new TwofishEngine(), - new KeyParameter(Hex.decode(key1)), - input, "8ef0272c42db838bcf7b07af0ec30f38"), - new BlockCipherVectorTest(1, new TwofishEngine(), - new KeyParameter(Hex.decode(key2)), - input, "95accc625366547617f8be4373d10cd7"), - new BlockCipherVectorTest(2, new TwofishEngine(), - new KeyParameter(Hex.decode(key3)), - input, "9fb63337151be9c71306d159ea7afaa4") - }; - - TwofishTest() - { - super(tests, new TwofishEngine(), new KeyParameter(new byte[32])); - } - - public String getName() - { - return "Twofish"; - } - - public static void main( - String[] args) - { - runTest(new TwofishTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCKSA3Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCKSA3Test.java deleted file mode 100644 index 21000db93..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCKSA3Test.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.engines.VMPCKSA3Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * VMPC Test - */ -public class VMPCKSA3Test extends SimpleTest -{ - private static final byte[] input = new byte[1000000]; - - public String getName() - { - return "VMPC-KSA3"; - } - - private void checkByte(byte[] array, int position, byte b) - { - if (array[position] != b) - { - fail("Fail on position " + position, - new String(Hex.encode(new byte[] { b })), - new String(Hex.encode(new byte[] { array[position] }))); - } - } - - public void performTest() - { - byte[] key = Hex.decode("9661410AB797D8A9EB767C21172DF6C7"); - byte[] iv = Hex.decode("4B5C2F003E67F39557A8D26F3DA2B155"); - CipherParameters kp = new KeyParameter(key); - CipherParameters kpwiv = new ParametersWithIV(kp, iv); - - VMPCKSA3Engine engine = new VMPCKSA3Engine(); - - try - { - engine.init(true, kp); - fail("init failed to throw expected exception"); - } - catch (IllegalArgumentException e) - { - // Expected - } - - engine.init(true, kpwiv); - checkEngine(engine); - - engine.reset(); - byte[] output = checkEngine(engine); - - engine.init(false, kpwiv); - byte[] recovered = new byte[output.length]; - engine.processBytes(output, 0, output.length, recovered, 0); - - if (!Arrays.areEqual(input, recovered)) - { - fail("decrypted bytes differ from original bytes"); - } - } - - private byte[] checkEngine(VMPCKSA3Engine engine) - { - byte[] output = new byte[input.length]; - engine.processBytes(input, 0, output.length, output, 0); - - checkByte(output, 0, (byte) 0xB6); - checkByte(output, 1, (byte) 0xEB); - checkByte(output, 2, (byte) 0xAE); - checkByte(output, 3, (byte) 0xFE); - checkByte(output, 252, (byte) 0x48); - checkByte(output, 253, (byte) 0x17); - checkByte(output, 254, (byte) 0x24); - checkByte(output, 255, (byte) 0x73); - checkByte(output, 1020, (byte) 0x1D); - checkByte(output, 1021, (byte) 0xAE); - checkByte(output, 1022, (byte) 0xC3); - checkByte(output, 1023, (byte) 0x5A); - checkByte(output, 102396, (byte) 0x1D); - checkByte(output, 102397, (byte) 0xA7); - checkByte(output, 102398, (byte) 0xE1); - checkByte(output, 102399, (byte) 0xDC); - - return output; - } - - public static void main(String[] args) - { - runTest(new VMPCKSA3Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCMacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCMacTest.java deleted file mode 100644 index a8d840293..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCMacTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.macs.VMPCMac; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class VMPCMacTest extends SimpleTest -{ - public String getName() - { - return "VMPC-MAC"; - } - - public static void main(String[] args) - { - runTest(new VMPCMacTest()); - } - - static byte[] output1 = Hex.decode("9BDA16E2AD0E284774A3ACBC8835A8326C11FAAD"); - - public void performTest() throws Exception - { - CipherParameters kp = new KeyParameter( - Hex.decode("9661410AB797D8A9EB767C21172DF6C7")); - CipherParameters kpwiv = new ParametersWithIV(kp, - Hex.decode("4B5C2F003E67F39557A8D26F3DA2B155")); - - byte[] m = new byte[256]; - for (int i = 0; i < 256; i++) - { - m[i] = (byte) i; - } - - VMPCMac mac = new VMPCMac(); - mac.init(kpwiv); - - mac.update(m, 0, m.length); - - byte[] out = new byte[20]; - mac.doFinal(out, 0); - - if (!Arrays.areEqual(out, output1)) - { - fail("Fail", new String(Hex.encode(output1)), new String(Hex.encode(out))); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCTest.java deleted file mode 100644 index 8155ddccf..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/VMPCTest.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.engines.VMPCEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * VMPC Test - */ -public class VMPCTest extends SimpleTest -{ - private static final byte[] input = new byte[1000000]; - - public String getName() - { - return "VMPC"; - } - - private void checkByte(byte[] array, int position, byte b) - { - if (array[position] != b) - { - fail("Fail on position " + position, - new String(Hex.encode(new byte[] { b })), - new String(Hex.encode(new byte[] { array[position] }))); - } - } - - public void performTest() - { - byte[] key = Hex.decode("9661410AB797D8A9EB767C21172DF6C7"); - byte[] iv = Hex.decode("4B5C2F003E67F39557A8D26F3DA2B155"); - CipherParameters kp = new KeyParameter(key); - CipherParameters kpwiv = new ParametersWithIV(kp, iv); - - VMPCEngine engine = new VMPCEngine(); - - try - { - engine.init(true, kp); - fail("init failed to throw expected exception"); - } - catch (IllegalArgumentException e) - { - // Expected - } - - engine.init(true, kpwiv); - checkEngine(engine); - - engine.reset(); - byte[] output = checkEngine(engine); - - engine.init(false, kpwiv); - byte[] recovered = new byte[output.length]; - engine.processBytes(output, 0, output.length, recovered, 0); - - if (!Arrays.areEqual(input, recovered)) - { - fail("decrypted bytes differ from original bytes"); - } - } - - private byte[] checkEngine(VMPCEngine engine) - { - byte[] output = new byte[input.length]; - engine.processBytes(input, 0, output.length, output, 0); - - checkByte(output, 0, (byte) 0xA8); - checkByte(output, 1, (byte) 0x24); - checkByte(output, 2, (byte) 0x79); - checkByte(output, 3, (byte) 0xF5); - checkByte(output, 252, (byte) 0xB8); - checkByte(output, 253, (byte) 0xFC); - checkByte(output, 254, (byte) 0x66); - checkByte(output, 255, (byte) 0xA4); - checkByte(output, 1020, (byte) 0xE0); - checkByte(output, 1021, (byte) 0x56); - checkByte(output, 1022, (byte) 0x40); - checkByte(output, 1023, (byte) 0xA5); - checkByte(output, 102396, (byte) 0x81); - checkByte(output, 102397, (byte) 0xCA); - checkByte(output, 102398, (byte) 0x49); - checkByte(output, 102399, (byte) 0x9A); - - return output; - } - - public static void main(String[] args) - { - runTest(new VMPCTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/WhirlpoolDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/WhirlpoolDigestTest.java deleted file mode 100644 index 806f5cc28..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/WhirlpoolDigestTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.WhirlpoolDigest; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * ISO vector test for Whirlpool - * - */ -public class WhirlpoolDigestTest - extends DigestTest -{ - private static String[] messages = - { - "", - "a", - "abc", - "message digest", - "abcdefghijklmnopqrstuvwxyz", - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "12345678901234567890123456789012345678901234567890123456789012345678901234567890", - "abcdbcdecdefdefgefghfghighijhijk" - }; - - private static String[] digests = - { - "19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3", - "8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A", - "4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5", - "378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E", - "F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B", - "DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467", - "466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B", - "2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD" - }; - - WhirlpoolDigestTest() - { - super(new WhirlpoolDigest(), messages, digests); - } - - protected Digest cloneDigest(Digest digest) - { - return new WhirlpoolDigest((WhirlpoolDigest)digest); - } - - private static String _millionAResultVector = "0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01"; - - private static String _thirtyOneZeros = "3E3F188F8FEBBEB17A933FEAF7FE53A4858D80C915AD6A1418F0318E68D49B4E459223CD414E0FBC8A57578FD755D86E827ABEF4070FC1503E25D99E382F72BA"; - - public String getName() - { - return "Whirlpool"; - } - - public void performTest() - { - super.performTest(); - - byte[] thirtyOneZeros = new byte[31]; - performStandardVectorTest("31 zeroes test", - thirtyOneZeros, _thirtyOneZeros); - - byte[] millionAInByteArray = new byte[1000000]; - Arrays.fill(millionAInByteArray, (byte)'a'); - - performStandardVectorTest("Million 'a' test", - millionAInByteArray, _millionAResultVector); - } - - private void performStandardVectorTest(String testTitle, byte[] inputBytes, - String resultsAsHex) - { - doPerformTest(testTitle, inputBytes, resultsAsHex); - } - - private void doPerformTest(String testTitle, byte[] inputBytes, String resultsAsHex) - { - String resStr = createHexOutputFromDigest(inputBytes); - if (!resultsAsHex.equals(resStr.toUpperCase())) - { - fail(testTitle, resultsAsHex, resStr); - } - } - - private String createHexOutputFromDigest(byte[] digestBytes) - { - String resStr; - Digest digest = new WhirlpoolDigest(); - byte[] resBuf = new byte[digest.getDigestSize()]; - digest.update(digestBytes, 0, digestBytes.length); - digest.doFinal(resBuf, 0); - resStr = new String(Hex.encode(resBuf)); - return resStr; - } - - public static void main(String[] args) - { - runTest(new WhirlpoolDigestTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XSalsa20Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XSalsa20Test.java deleted file mode 100644 index 6c0ab4864..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XSalsa20Test.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.XSalsa20Engine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class XSalsa20Test extends SimpleTest -{ - private static class TestCase - { - - private byte[] key; - private byte[] iv; - private byte[] plaintext; - private byte[] ciphertext; - - public TestCase(String key, String iv, String plaintext, String ciphertext) - { - this.key = Hex.decode(key); - this.iv = Hex.decode(iv); - this.plaintext = Hex.decode(plaintext); - this.ciphertext = Hex.decode(ciphertext); - } - - public byte[] getKey() - { - return key; - } - - public byte[] getIv() - { - return iv; - } - - public byte[] getPlaintext() - { - return plaintext; - } - - public byte[] getCiphertext() - { - return ciphertext; - } - } - - // Test cases generated by naclcrypto-20090308, as used by cryptopp - private static final TestCase[] TEST_CASES = new TestCase[] { - new TestCase( - "a6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff88030", - "9e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c", - "093c5e5585579625337bd3ab619d615760d8c5b224a85b1d0efe0eb8a7ee163abb0376529fcc09bab506c618e13ce777d82c3ae9d1a6f972d4160287cbfe60bf2130fc0a6ff6049d0a5c8a82f429231f008082e845d7e189d37f9ed2b464e6b919e6523a8c1210bd52a02a4c3fe406d3085f5068d1909eeeca6369abc981a42e87fe665583f0ab85ae71f6f84f528e6b397af86f6917d9754b7320dbdc2fea81496f2732f532ac78c4e9c6cfb18f8e9bdf74622eb126141416776971a84f94d156beaf67aecbf2ad412e76e66e8fad7633f5b6d7f3d64b5c6c69ce29003c6024465ae3b89be78e915d88b4b5621d", - "b2af688e7d8fc4b508c05cc39dd583d6714322c64d7f3e63147aede2d9534934b04ff6f337b031815cd094bdbc6d7a92077dce709412286822ef0737ee47f6b7ffa22f9d53f11dd2b0a3bb9fc01d9a88f9d53c26e9365c2c3c063bc4840bfc812e4b80463e69d179530b25c158f543191cff993106511aa036043bbc75866ab7e34afc57e2cce4934a5faae6eabe4f221770183dd060467827c27a354159a081275a291f69d946d6fe28ed0b9ce08206cf484925a51b9498dbde178ddd3ae91a8581b91682d860f840782f6eea49dbb9bd721501d2c67122dea3b7283848c5f13e0c0de876bd227a856e4de593a3"), - new TestCase( - "9e1da239d155f52ad37f75c7368a536668b051952923ad44f57e75ab588e475a", - "af06f17859dffa799891c4288f6635b5c5a45eee9017fd72", - "feac9d54fc8c115ae247d9a7e919dd76cfcbc72d32cae4944860817cbdfb8c04e6b1df76a16517cd33ccf1acda9206389e9e318f5966c093cfb3ec2d9ee2de856437ed581f552f26ac2907609df8c613b9e33d44bfc21ff79153e9ef81a9d66cc317857f752cc175fd8891fefebb7d041e6517c3162d197e2112837d3bc4104312ad35b75ea686e7c70d4ec04746b52ff09c421451459fb59f", - "2c261a2f4e61a62e1b27689916bf03453fcbc97bb2af6f329391ef063b5a219bf984d07d70f602d85f6db61474e9d9f5a2deecb4fcd90184d16f3b5b5e168ee03ea8c93f3933a22bc3d1a5ae8c2d8b02757c87c073409052a2a8a41e7f487e041f9a49a0997b540e18621cad3a24f0a56d9b19227929057ab3ba950f6274b121f193e32e06e5388781a1cb57317c0ba6305e910961d01002f0"), - new TestCase("d5c7f6797b7e7e9c1d7fd2610b2abf2bc5a7885fb3ff78092fb3abe8986d35e2", - "744e17312b27969d826444640e9c4a378ae334f185369c95", - "7758298c628eb3a4b6963c5445ef66971222be5d1a4ad839715d1188071739b77cc6e05d5410f963a64167629757", - "27b8cfe81416a76301fd1eec6a4d99675069b2da2776c360db1bdfea7c0aa613913e10f7a60fec04d11e65f2d64e"), - new TestCase( - "737d7811ce96472efed12258b78122f11deaec8759ccbd71eac6bbefa627785c", - "6fb2ee3dda6dbd12f1274f126701ec75c35c86607adb3edd", - "501325fb2645264864df11faa17bbd58312b77cad3d94ac8fb8542f0eb653ad73d7fce932bb874cb89ac39fc47f8267cf0f0c209f204b2d8578a3bdf461cb6a271a468bebaccd9685014ccbc9a73618c6a5e778a21cc8416c60ad24ddc417a130d53eda6dfbfe47d09170a7be1a708b7b5f3ad464310be36d9a2a95dc39e83d38667e842eb6411e8a23712297b165f690c2d7ca1b1346e3c1fccf5cafd4f8be0", - "6724c372d2e9074da5e27a6c54b2d703dc1d4c9b1f8d90f00c122e692ace7700eadca942544507f1375b6581d5a8fb39981c1c0e6e1ff2140b082e9ec016fce141d5199647d43b0b68bfd0fea5e00f468962c7384dd6129aea6a3fdfe75abb210ed5607cef8fa0e152833d5ac37d52e557b91098a322e76a45bbbcf4899e790618aa3f4c2e5e0fc3de93269a577d77a5502e8ea02f717b1dd2df1ec69d8b61ca"), - new TestCase( - "760158da09f89bbab2c99e6997f9523a95fcef10239bcca2573b7105f6898d34", - "43636b2cc346fc8b7c85a19bf507bdc3dafe953b88c69dba", - "d30a6d42dff49f0ed039a306bae9dec8d9e88366cc19e8c3642fd58fa0794ebf8029d949730339b0823a51f0f49f0d2c71f1051c1e0e2c86941f172789cdb1b0107413e70f982ff9761877bb526ef1c3eb1106a948d60ef21bd35d32cfd64f89b79ed63ecc5cca56246af736766f285d8e6b0da9cb1cd21020223ffacc5a32", - "c815b6b79b64f9369aec8dce8c753df8a50f2bc97c70ce2f014db33a65ac5816bac9e30ac08bdded308c65cb87e28e2e71b677dc25c5a6499c1553555daf1f55270a56959dffa0c66f24e0af00951ec4bb59ccc3a6c5f52e0981647e53e439313a52c40fa7004c855b6e6eb25b212a138e843a9ba46edb2a039ee82a263abe"), - new TestCase( - "27ba7e81e7edd4e71be53c07ce8e633138f287e155c7fa9e84c4ad804b7fa1b9", - "ea05f4ebcd2fb6b000da0612861ba54ff5c176fb601391aa", - "e09ff5d2cb050d69b2d42494bde5825238c756d6991d99d7a20d1ef0b83c371c89872690b2fc11d5369f4fc4971b6d3d6c078aef9b0f05c0e61ab89c025168054defeb03fef633858700c58b1262ce011300012673e893e44901dc18eee3105699c44c805897bdaf776af1833162a21a", - "a23e7ef93c5d0667c96d9e404dcbe6be62026fa98f7a3ff9ba5d458643a16a1cef7272dc6097a9b52f35983557c77a11b314b4f7d5dc2cca15ee47616f861873cbfed1d32372171a61e38e447f3cf362b3abbb2ed4170d89dcb28187b7bfd206a3e026f084a7e0ed63d319de6bc9afc0"), - new TestCase("6799d76e5ffb5b4920bc2768bafd3f8c16554e65efcf9a16f4683a7a06927c11", - "61ab951921e54ff06d9b77f313a4e49df7a057d5fd627989", "472766", "8fd7df"), - new TestCase( - "f68238c08365bb293d26980a606488d09c2f109edafa0bbae9937b5cc219a49c", - "5190b51e9b708624820b5abdf4e40fad1fb950ad1adc2d26", - "47ec6b1f73c4b7ff5274a0bfd7f45f864812c85a12fbcb3c2cf8a3e90cf66ccf2eacb521e748363c77f52eb426ae57a0c6c78f75af71284569e79d1a92f949a9d69c4efc0b69902f1e36d7562765543e2d3942d9f6ff5948d8a312cff72c1afd9ea3088aff7640bfd265f7a9946e606abc77bcedae6bddc75a0dba0bd917d73e3bd1268f727e0096345da1ed25cf553ea7a98fea6b6f285732de37431561ee1b3064887fbcbd71935e02", - "36160e88d3500529ba4edba17bc24d8cfaca9a0680b3b1fc97cf03f3675b7ac301c883a68c071bc54acdd3b63af4a2d72f985e51f9d60a4c7fd481af10b2fc75e252fdee7ea6b6453190617dcc6e2fe1cd56585fc2f0b0e97c5c3f8ad7eb4f31bc4890c03882aac24cc53acc1982296526690a220271c2f6e326750d3fbda5d5b63512c831f67830f59ac49aae330b3e0e02c9ea0091d19841f1b0e13d69c9fbfe8a12d6f30bb734d9d2"), - new TestCase( - "45b2bd0de4ed9293ec3e26c4840faaf64b7d619d51e9d7a2c7e36c83d584c3df", - "546c8c5d6be8f90952cab3f36d7c1957baaa7a59abe3d7e5", - "5007c8cd5b3c40e17d7fe423a87ae0ced86bec1c39dc07a25772f3e96dabd56cd3fd7319f6c9654925f2d87087a700e1b130da796895d1c9b9acd62b266144067d373ed51e787498b03c52faad16bb3826fa511b0ed2a19a8663f5ba2d6ea7c38e7212e9697d91486c49d8a000b9a1935d6a7ff7ef23e720a45855481440463b4ac8c4f6e7062adc1f1e1e25d3d65a31812f58a71160", - "8eacfba568898b10c0957a7d44100685e8763a71a69a8d16bc7b3f88085bb9a2f09642e4d09a9f0ad09d0aad66b22610c8bd02ff6679bb92c2c026a216bf425c6be35fb8dae7ff0c72b0efd6a18037c70eed0ca90062a49a3c97fdc90a8f9c2ea536bfdc41918a7582c9927fae47efaa3dc87967b7887dee1bf071734c7665901d9105dae2fdf66b4918e51d8f4a48c60d19fbfbbcba"), - new TestCase( - "fe559c9a282beb40814d016d6bfcb2c0c0d8bf077b1110b8703a3ce39d70e0e1", - "b076200cc7011259805e18b304092754002723ebec5d6200", - "6db65b9ec8b114a944137c821fd606be75478d928366d5284096cdef782fcff7e8f59cb8ffcda979757902c5ffa6bc477ceaa4cb5d5ea76f94d91e833f823a6bc78f1055dfa6a97bea8965c1cde67a668e001257334a585727d9e0f7c1a06e88d3d25a4e6d9096c968bf138e116a3ebeffd4bb4808adb1fd698164ba0a35c709a47f16f1f4435a2345a9194a00b95abd51851d505809a6077da9baca5831afff31578c487ee68f2767974a98a7e803aac788da98319c4ea8eaa3d394855651f484cef543f537e35158ee29", - "4dce9c8f97a028051b0727f34e1b9ef21f06f0760f36e71713204027902090ba2bb6b13436ee778d9f50530efbd7a32b0d41443f58ccaee781c7b716d3a96fdec0e3764ed7959f34c3941278591ea033b5cbadc0f1916032e9bebbd1a8395b83fb63b1454bd775bd20b3a2a96f951246ac14daf68166ba62f6cbff8bd121ac9498ff8852fd2be975df52b5daef3829d18eda42e715022dcbf930d0a789ee6a146c2c7088c35773c63c06b4af4559856ac199ced86863e4294707825337c5857970eb7fddeb263781309011"), - new TestCase( - "0ae10012d7e56614b03dcc89b14bae9242ffe630f3d7e35ce8bbb97bbc2c92c3", - "f96b025d6cf46a8a12ac2af1e2aef1fb83590adadaa5c5ea", - "ea0f354e96f12bc72bbaa3d12b4a8ed879b042f0689878f46b651cc4116d6f78409b11430b3aaa30b2076891e8e1fa528f2fd169ed93dc9f84e24409eec2101daf4d057be2492d11de640cbd7b355ad29fb70400fffd7cd6d425abeeb732a0eaa4330af4c656252c4173deab653eb85c58462d7ab0f35fd12b613d29d473d330310dc323d3c66348bbdbb68a326324657cae7b77a9e34358f2cec50c85609e73056856796e3be8d62b6e2fe9f953", - "e8abd48924b54e5b80866be7d4ebe5cf4274cafff08b39cb2d40a8f0b472398aedc776e0793812fbf1f60078635d2ed86b15efcdba60411ee23b07233592a44ec31b1013ce8964236675f8f183aef885e864f2a72edf4215b5338fa2b54653dfa1a8c55ce5d95cc605b9b311527f2e3463ffbec78a9d1d65dabad2f338769c9f43f133a791a11c7eca9af0b771a4ac32963dc8f631a2c11217ac6e1b9430c1aae1ceebe22703f429998a8fb8c641"), - new TestCase( - "082c539bc5b20f97d767cd3f229eda80b2adc4fe49c86329b5cd6250a9877450", - "845543502e8b64912d8f2c8d9fffb3c69365686587c08d0c", - "a96bb7e910281a6dfad7c8a9c370674f0ceec1ad8d4f0de32f9ae4a23ed329e3d6bc708f876640a229153ac0e7281a8188dd77695138f01cda5f41d5215fd5c6bdd46d982cb73b1efe2997970a9fdbdb1e768d7e5db712068d8ba1af6067b5753495e23e6e1963af012f9c7ce450bf2de619d3d59542fb55f3", - "835da74fc6de08cbda277a7966a07c8dcd627e7b17adde6d930b6581e3124b8baad096f693991fedb1572930601fc7709541839b8e3ffd5f033d2060d999c6c6e3048276613e648000acb5212cc632a916afce290e20ebdf612d08a6aa4c79a74b070d3f872a861f8dc6bb07614db515d363349d3a8e3336a3"), - new TestCase("3d02bff3375d403027356b94f514203737ee9a85d2052db3e4e5a217c259d18a", - "74216c95031895f48c1dba651555ebfa3ca326a755237025", - "0d4b0f54fd09ae39baa5fa4baccf2e6682e61b257e01f42b8f", - "16c4006c28365190411eb1593814cf15e74c22238f210afc3d"), - new TestCase( - "ad1a5c47688874e6663a0f3fa16fa7efb7ecadc175c468e5432914bdb480ffc6", - "e489eed440f1aae1fac8fb7a9825635454f8f8f1f52e2fcc", - "aa6c1e53580f03a9abb73bfdadedfecada4c6b0ebe020ef10db745e54ba861caf65f0e40dfc520203bb54d29e0a8f78f16b3f1aa525d6bfa33c54726e59988cfbec78056", - "02fe84ce81e178e7aabdd3ba925a766c3c24756eefae33942af75e8b464556b5997e616f3f2dfc7fce91848afd79912d9fb55201b5813a5a074d2c0d4292c1fd441807c5"), - new TestCase( - "053a02bedd6368c1fb8afc7a1b199f7f7ea2220c9a4b642a6850091c9d20ab9c", - "c713eea5c26dad75ad3f52451e003a9cb0d649f917c89dde", - "8f0a8a164760426567e388840276de3f95cb5e3fadc6ed3f3e4fe8bc169d9388804dcb94b6587dbb66cb0bd5f87b8e98b52af37ba290629b858e0e2aa7378047a26602", - "516710e59843e6fbd4f25d0d8ca0ec0d47d39d125e9dad987e0518d49107014cb0ae405e30c2eb3794750bca142ce95e290cf95abe15e822823e2e7d3ab21bc8fbd445"), - new TestCase( - "5b14ab0fbed4c58952548a6cb1e0000cf4481421f41288ea0aa84add9f7deb96", - "54bf52b911231b952ba1a6af8e45b1c5a29d97e2abad7c83", - "37fb44a675978b560ff9a4a87011d6f3ad2d37a2c3815b45a3c0e6d1b1d8b1784cd468927c2ee39e1dccd4765e1c3d676a335be1ccd6900a45f5d41a317648315d8a8c24adc64eb285f6aeba05b9029586353d303f17a807658b9ff790474e1737bd5fdc604aeff8dfcaf1427dcc3aacbb0256badcd183ed75a2dc52452f87d3c1ed2aa583472b0ab91cda20614e9b6fdbda3b49b098c95823cc72d8e5b717f2314b0324e9ce", - "ae6deb5d6ce43d4b09d0e6b1c0e9f46157bcd8ab50eaa3197ff9fa2bf7af649eb52c68544fd3adfe6b1eb316f1f23538d470c30dbfec7e57b60cbcd096c782e7736b669199c8253e70214cf2a098fda8eac5da79a9496a3aae754d03b17c6d70d1027f42bf7f95ce3d1d9c338854e158fcc803e4d6262fb639521e47116ef78a7a437ca9427ba645cd646832feab822a208278e45e93e118d780b988d65397eddfd7a819526e"), - new TestCase( - "d74636e3413a88d85f322ca80fb0bd650bd0bf0134e2329160b69609cd58a4b0", - "efb606aa1d9d9f0f465eaa7f8165f1ac09f5cb46fecf2a57", - "f85471b75f6ec81abac2799ec09e98e280b2ffd64ca285e5a0109cfb31ffab2d617b2c2952a2a8a788fc0da2af7f530758f74f1ab56391ab5ff2adbcc5be2d6c7f49fbe8118104c6ff9a23c6dfe52f57954e6a69dcee5db06f514f4a0a572a9a8525d961dae72269b987189d465df6107119c7fa790853e063cba0fab7800ca932e258880fd74c33c784675bedad0e7c09e9cc4d63dd5e9713d5d4a0196e6b562226ac31b4f57c04f90a181973737ddc7e80f364112a9fbb435ebdbcabf7d490ce52", - "b2b795fe6c1d4c83c1327e015a67d4465fd8e32813575cbab263e20ef05864d2dc17e0e4eb81436adfe9f638dcc1c8d78f6b0306baf938e5d2ab0b3e05e735cc6fff2d6e02e3d60484bea7c7a8e13e23197fea7b04d47d48f4a4e5944174539492800d3ef51e2ee5e4c8a0bdf050c2dd3dd74fce5e7e5c37364f7547a11480a3063b9a0a157b15b10a5a954de2731ced055aa2e2767f0891d4329c426f3808ee867bed0dc75b5922b7cfb895700fda016105a4c7b7f0bb90f029f6bbcb04ac36ac16") }; - - public String getName() - { - return "XSalsa20"; - } - - public void performTest() throws Exception - { - for (int i = 0; i < TEST_CASES.length; i++) - { - performTest(i, TEST_CASES[i]); - } - } - - private void performTest(int number, TestCase testCase) - { - final byte[] plaintext = testCase.getPlaintext(); - byte[] output = new byte[plaintext.length]; - - XSalsa20Engine engine = new XSalsa20Engine(); - engine.init(false, new ParametersWithIV(new KeyParameter(testCase.getKey()), testCase.getIv())); - - engine.processBytes(testCase.getPlaintext(), 0, testCase.getPlaintext().length, output, 0); - - if (!Arrays.areEqual(testCase.getCiphertext(), output)) - { - fail("mismatch on " + number, new String(Hex.encode(testCase.getCiphertext())), - new String(Hex.encode(output))); - } - } - - public static void main(String[] args) - { - runTest(new XSalsa20Test()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XTEATest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XTEATest.java deleted file mode 100644 index 74da43bed..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/XTEATest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.crypto.engines.XTEAEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -/** - * TEA tester - based on C implementation results from http://www.simonshepherd.supanet.com/tea.htm - */ -public class XTEATest - extends CipherTest -{ - static SimpleTest[] tests = { - new BlockCipherVectorTest(0, new XTEAEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "0000000000000000", - "dee9d4d8f7131ed9"), - new BlockCipherVectorTest(1, new XTEAEngine(), - new KeyParameter(Hex.decode("00000000000000000000000000000000")), - "0102030405060708", - "065c1b8975c6a816"), - new BlockCipherVectorTest(2, new XTEAEngine(), - new KeyParameter(Hex.decode("0123456712345678234567893456789A")), - "0000000000000000", - "1ff9a0261ac64264"), - new BlockCipherVectorTest(3, new XTEAEngine(), - new KeyParameter(Hex.decode("0123456712345678234567893456789A")), - "0102030405060708", - "8c67155b2ef91ead"), - }; - - XTEATest() - { - super(tests, new XTEAEngine(), new KeyParameter(new byte[16])); - } - - public String getName() - { - return "XTEA"; - } - - public static void main( - String[] args) - { - runTest(new XTEATest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPListener.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPListener.java deleted file mode 100644 index 71011614b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPListener.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.util.Properties; - -public interface CAVPListener -{ - public void setup(); - - public void receiveStart(String name); - - public void receiveCAVPVectors(String name, Properties config, Properties vectors); - - public void receiveCommentLine(String commentLine); - - public void receiveEnd(); - - public void tearDown(); -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPReader.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPReader.java deleted file mode 100644 index 2cee45590..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/CAVPReader.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.Reader; -import java.util.Properties; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.DESedeEngine; -import org.spongycastle.crypto.macs.CMac; -import org.spongycastle.crypto.macs.HMac; - -public class CAVPReader -{ - - private static final Pattern COMMENT_PATTERN = Pattern.compile("^\\s*\\#\\s*(.*)$"); - private static final Pattern CONFIG_PATTERN = Pattern.compile("^\\s*+\\[\\s*+(.*?)\\s*+=\\s*+(.*?)\\s*+\\]\\s*+$"); - private static final Pattern VECTOR_PATTERN = Pattern.compile("^\\s*+(.*?)\\s*+=\\s*+(.*?)\\s*+$"); - private static final Pattern EMPTY_PATTERN = Pattern.compile("^\\s*+$"); - static final Pattern PATTERN_FOR_R = Pattern.compile("(\\d+)_BITS"); - private final CAVPListener listener; - private String name; - private BufferedReader lineReader; - - - public CAVPReader(CAVPListener listener) - { - this.listener = listener; - } - - public void setInput(String name, Reader reader) - { - this.name = name; - this.lineReader = new BufferedReader(reader); - } - - public void readAll() - throws IOException - { - - listener.setup(); - - Properties config = new Properties(); - - boolean startNewVector = true; - - Properties vectors = new Properties(); - - while (true) - { - final String line = lineReader.readLine(); - if (line == null) - { - listener.receiveEnd(); - break; - } - - final Matcher commentMatcher = COMMENT_PATTERN.matcher(line); - if (commentMatcher.matches()) - { - listener.receiveCommentLine(commentMatcher.group(1)); - continue; - } - - final Matcher configMatcher = CONFIG_PATTERN.matcher(line); - if (configMatcher.matches()) - { - config.put(configMatcher.group(1), configMatcher.group(2)); - continue; - } - - final Matcher vectorMatcher = VECTOR_PATTERN.matcher(line); - if (vectorMatcher.matches()) - { - vectors.put(vectorMatcher.group(1), vectorMatcher.group(2)); - startNewVector = false; - continue; - } - - final Matcher emptyMatcher = EMPTY_PATTERN.matcher(line); - if (emptyMatcher.matches()) - { - if (startNewVector) - { - continue; - } - - listener.receiveCAVPVectors(name, config, vectors); - vectors = new Properties(); - startNewVector = true; - } - } - - listener.tearDown(); - } - - static Mac createPRF(Properties config) - { - final Mac prf; - if (config.getProperty("PRF").matches("CMAC_AES\\d\\d\\d")) - { - BlockCipher blockCipher = new AESFastEngine(); - prf = new CMac(blockCipher); - } - else if (config.getProperty("PRF").matches("CMAC_TDES\\d")) - { - BlockCipher blockCipher = new DESedeEngine(); - prf = new CMac(blockCipher); - } - else if (config.getProperty("PRF").matches("HMAC_SHA1")) - { - Digest digest = new SHA1Digest(); - prf = new HMac(digest); - } - else if (config.getProperty("PRF").matches("HMAC_SHA224")) - { - Digest digest = new SHA224Digest(); - prf = new HMac(digest); - } - else if (config.getProperty("PRF").matches("HMAC_SHA256")) - { - Digest digest = new SHA256Digest(); - prf = new HMac(digest); - } - else if (config.getProperty("PRF").matches("HMAC_SHA384")) - { - Digest digest = new SHA384Digest(); - prf = new HMac(digest); - } - else if (config.getProperty("PRF").matches("HMAC_SHA512")) - { - Digest digest = new SHA512Digest(); - prf = new HMac(digest); - } - else - { - throw new IllegalStateException("Unknown Mac for PRF"); - } - return prf; - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFCounterTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFCounterTests.java deleted file mode 100644 index b8a00fe06..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFCounterTests.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Properties; -import java.util.regex.Matcher; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.KDFCounterBytesGenerator; -import org.spongycastle.crypto.params.KDFCounterParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.TestFailedException; - -public final class KDFCounterTests - implements CAVPListener -{ - private PrintWriter out; - - public void receiveCAVPVectors(String name, Properties config, - Properties vectors) - { - - // always skip AFTER_FIXED, not included in SP 800-108 - if (config.getProperty("CTRLOCATION").matches("AFTER_FIXED")) - { - return; - } - - // create Mac based PRF from PRF property, create the KDF - final Mac prf = CAVPReader.createPRF(config); - final KDFCounterBytesGenerator gen = new KDFCounterBytesGenerator(prf); - - - Matcher matcherForR = CAVPReader.PATTERN_FOR_R.matcher(config.getProperty("RLEN")); - if (!matcherForR.matches()) - { - throw new IllegalStateException("RLEN value should always match"); - } - final int r = Integer.parseInt(matcherForR.group(1)); - - final int count = Integer.parseInt(vectors.getProperty("COUNT")); - final int l = Integer.parseInt(vectors.getProperty("L")); - final byte[] ki = Hex.decode(vectors.getProperty("KI")); - final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData")); - final KDFCounterParameters params = new KDFCounterParameters(ki, fixedInputData, r); - gen.init(params); - - final byte[] koGenerated = new byte[l / 8]; - gen.generateBytes(koGenerated, 0, koGenerated.length); - - final byte[] koVectors = Hex.decode(vectors.getProperty("KO")); - - compareKO(name, config, count, koGenerated, koVectors); - } - - private static void compareKO( - String name, Properties config, int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!Arrays.areEqual(calculatedOKM, testOKM)) - { - throw new TestFailedException(new SimpleTestResult( - false, name + " using " + config + " test " + test + " failed")); - - } - } - - public void receiveCommentLine(String commentLine) - { - // out.println("# " + commentLine); - } - - public void receiveStart(String name) - { - // do nothing - } - - public void receiveEnd() - { - out.println(" *** *** *** "); - } - - public void setup() - { - try - { - out = new PrintWriter(new FileWriter("KDFCTR.gen")); - } - catch (IOException e) - { - throw new IllegalStateException(e); - } - } - - public void tearDown() - { - out.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineCounterTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineCounterTests.java deleted file mode 100644 index 8f58be497..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineCounterTests.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Properties; -import java.util.regex.Matcher; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator; -import org.spongycastle.crypto.params.KDFDoublePipelineIterationParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.TestFailedException; - -public final class KDFDoublePipelineCounterTests - implements CAVPListener -{ - private PrintWriter out; - - public void receiveCAVPVectors(String name, Properties config, - Properties vectors) - { - // out.println(" === " + name + " === "); - // out.println(" --- config --- "); - // out.println(config); - // out.println(" --- vectors --- "); - // out.println(vectors); - - // always skip AFTER_FIXED - if (!config.getProperty("CTRLOCATION").matches("AFTER_ITER")) - { - return; - } - - // create Mac based PRF from PRF property, create the KDF - final Mac prf = CAVPReader.createPRF(config); - final KDFDoublePipelineIterationBytesGenerator gen = new KDFDoublePipelineIterationBytesGenerator(prf); - - - Matcher matcherForR = CAVPReader.PATTERN_FOR_R.matcher(config.getProperty("RLEN")); - if (!matcherForR.matches()) - { - throw new IllegalStateException("RLEN value should always match"); - } - final int r = Integer.parseInt(matcherForR.group(1)); - - final int count = Integer.parseInt(vectors.getProperty("COUNT")); - final int l = Integer.parseInt(vectors.getProperty("L")); - final byte[] ki = Hex.decode(vectors.getProperty("KI")); - final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData")); - final KDFDoublePipelineIterationParameters params = KDFDoublePipelineIterationParameters.createWithCounter(ki, fixedInputData, r); - gen.init(params); - - final byte[] koGenerated = new byte[l / 8]; - gen.generateBytes(koGenerated, 0, koGenerated.length); - - final byte[] koVectors = Hex.decode(vectors.getProperty("KO")); - - compareKO(name, config, count, koGenerated, koVectors); - } - - private static void compareKO( - String name, Properties config, int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!Arrays.areEqual(calculatedOKM, testOKM)) - { - throw new TestFailedException(new SimpleTestResult( - false, name + " using " + config + " test " + test + " failed")); - - } - } - - public void receiveCommentLine(String commentLine) - { - // out.println("# " + commentLine); - } - - public void receiveStart(String name) - { - // do nothing - } - - public void receiveEnd() - { - out.println(" *** *** *** "); - } - - public void setup() - { - try - { - out = new PrintWriter(new FileWriter("KDFDblPipelineCounter.gen")); - } - catch (IOException e) - { - throw new IllegalStateException(e); - } - } - - public void tearDown() - { - out.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineIterationNoCounterTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineIterationNoCounterTests.java deleted file mode 100644 index 512568f51..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFDoublePipelineIterationNoCounterTests.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Properties; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator; -import org.spongycastle.crypto.params.KDFDoublePipelineIterationParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.TestFailedException; - -public final class KDFDoublePipelineIterationNoCounterTests - implements CAVPListener -{ - private PrintWriter out; - - public void receiveCAVPVectors(String name, Properties config, - Properties vectors) - { - - - // create Mac based PRF from PRF property, create the KDF - final Mac prf = CAVPReader.createPRF(config); - final KDFDoublePipelineIterationBytesGenerator gen = new KDFDoublePipelineIterationBytesGenerator(prf); - - final int count = Integer.parseInt(vectors.getProperty("COUNT")); - final int l = Integer.parseInt(vectors.getProperty("L")); - final byte[] ki = Hex.decode(vectors.getProperty("KI")); - final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData")); - final KDFDoublePipelineIterationParameters params = KDFDoublePipelineIterationParameters.createWithoutCounter(ki, fixedInputData); - gen.init(params); - - final byte[] koGenerated = new byte[l / 8]; - gen.generateBytes(koGenerated, 0, koGenerated.length); - - final byte[] koVectors = Hex.decode(vectors.getProperty("KO")); - - compareKO(name, config, count, koGenerated, koVectors); - } - - private static void compareKO( - String name, Properties config, int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!Arrays.areEqual(calculatedOKM, testOKM)) - { - throw new TestFailedException(new SimpleTestResult( - false, name + " using " + config + " test " + test + " failed")); - - } - } - - public void receiveCommentLine(String commentLine) - { - // out.println("# " + commentLine); - } - - public void receiveStart(String name) - { - // do nothing - } - - public void receiveEnd() - { - out.println(" *** *** *** "); - } - - public void setup() - { - try - { - out = new PrintWriter(new FileWriter("KDFDblPipelineNoCounter.gen")); - } - catch (IOException e) - { - throw new IllegalStateException(e); - } - } - - public void tearDown() - { - out.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackCounterTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackCounterTests.java deleted file mode 100644 index 84cd4dd83..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackCounterTests.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Properties; -import java.util.regex.Matcher; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.KDFFeedbackBytesGenerator; -import org.spongycastle.crypto.params.KDFFeedbackParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.TestFailedException; - -public final class KDFFeedbackCounterTests - implements CAVPListener -{ - private PrintWriter out; - - public void receiveCAVPVectors(String name, Properties config, - Properties vectors) - { - // out.println(" === " + name + " === "); - // out.println(" --- config --- "); - // out.println(config); - // out.println(" --- vectors --- "); - // out.println(vectors); - - // always skip AFTER_FIXED - if (!config.getProperty("CTRLOCATION").matches("AFTER_ITER")) - { - return; - } - - // create Mac based PRF from PRF property, create the KDF - final Mac prf = CAVPReader.createPRF(config); - final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf); - - - Matcher matcherForR = CAVPReader.PATTERN_FOR_R.matcher(config.getProperty("RLEN")); - if (!matcherForR.matches()) - { - throw new IllegalStateException("RLEN value should always match"); - } - final int r = Integer.parseInt(matcherForR.group(1)); - - final int count = Integer.parseInt(vectors.getProperty("COUNT")); - final int l = Integer.parseInt(vectors.getProperty("L")); - final byte[] ki = Hex.decode(vectors.getProperty("KI")); - final byte[] iv = Hex.decode(vectors.getProperty("IV")); - final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData")); - final KDFFeedbackParameters params = KDFFeedbackParameters.createWithCounter(ki, iv, fixedInputData, r); - gen.init(params); - - final byte[] koGenerated = new byte[l / 8]; - gen.generateBytes(koGenerated, 0, koGenerated.length); - - final byte[] koVectors = Hex.decode(vectors.getProperty("KO")); - - compareKO(name, config, count, koGenerated, koVectors); - } - - private static void compareKO( - String name, Properties config, int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!Arrays.areEqual(calculatedOKM, testOKM)) - { - throw new TestFailedException(new SimpleTestResult( - false, name + " using " + config + " test " + test + " failed")); - - } - } - - public void receiveCommentLine(String commentLine) - { - // out.println("# " + commentLine); - } - - public void receiveStart(String name) - { - // do nothing - } - - public void receiveEnd() - { - out.println(" *** *** *** "); - } - - public void setup() - { - try - { - out = new PrintWriter(new FileWriter("KDFFeedbackCounter.gen")); - } - catch (IOException e) - { - throw new IllegalStateException(e); - } - } - - public void tearDown() - { - out.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounterTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounterTests.java deleted file mode 100644 index 4c6fa942b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounterTests.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.spongycastle.crypto.test.cavp; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Properties; - -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.KDFFeedbackBytesGenerator; -import org.spongycastle.crypto.params.KDFFeedbackParameters; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTestResult; -import org.spongycastle.util.test.TestFailedException; - -public final class KDFFeedbackNoCounterTests - implements CAVPListener -{ - private PrintWriter out; - - public void receiveCAVPVectors(String name, Properties config, - Properties vectors) - { - - - // create Mac based PRF from PRF property, create the KDF - final Mac prf = CAVPReader.createPRF(config); - final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf); - - final int count = Integer.parseInt(vectors.getProperty("COUNT")); - final int l = Integer.parseInt(vectors.getProperty("L")); - final byte[] ki = Hex.decode(vectors.getProperty("KI")); - final byte[] iv = Hex.decode(vectors.getProperty("IV")); - final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData")); - final KDFFeedbackParameters params = KDFFeedbackParameters.createWithoutCounter(ki, iv, fixedInputData); - gen.init(params); - - final byte[] koGenerated = new byte[l / 8]; - gen.generateBytes(koGenerated, 0, koGenerated.length); - - final byte[] koVectors = Hex.decode(vectors.getProperty("KO")); - - compareKO(name, config, count, koGenerated, koVectors); - } - - private static void compareKO( - String name, Properties config, int test, byte[] calculatedOKM, byte[] testOKM) - { - - if (!Arrays.areEqual(calculatedOKM, testOKM)) - { - throw new TestFailedException(new SimpleTestResult( - false, name + " using " + config + " test " + test + " failed")); - - } - } - - public void receiveCommentLine(String commentLine) - { -// out.println("# " + commentLine); - } - - public void receiveStart(String name) - { - // do nothing - } - - public void receiveEnd() - { - out.println(" *** *** *** "); - } - - public void setup() - { - try - { - out = new PrintWriter(new FileWriter("KDFFeedbackNoCounter.gen")); - } - catch (IOException e) - { - throw new IllegalStateException(e); - } - } - - public void tearDown() - { - out.close(); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/MacThroughputTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/MacThroughputTest.java deleted file mode 100644 index ffbc673f9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/MacThroughputTest.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.spongycastle.crypto.test.speedy; - -import java.security.SecureRandom; - -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.NullEngine; -import org.spongycastle.crypto.generators.Poly1305KeyGenerator; -import org.spongycastle.crypto.macs.CMac; -import org.spongycastle.crypto.macs.GMac; -import org.spongycastle.crypto.macs.HMac; -import org.spongycastle.crypto.macs.Poly1305; -import org.spongycastle.crypto.macs.SipHash; -import org.spongycastle.crypto.macs.SkeinMac; -import org.spongycastle.crypto.modes.GCMBlockCipher; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Microbenchmark of MACs on short, medium, long messages, with optional object creation cost. - */ -public class MacThroughputTest -{ - - private static final long CLOCK_SPEED = 2400000000L; - - private static final SecureRandom RANDOM = new SecureRandom(); - private static Poly1305KeyGenerator kg = new Poly1305KeyGenerator();; - - private static final byte[] SHORT_MESSAGE = new byte[16]; - private static final byte[] MEDIUM_MESSAGE = new byte[256]; - private static final byte[] LONG_MESSAGE = new byte[8192]; - static - { - RANDOM.nextBytes(SHORT_MESSAGE); - RANDOM.nextBytes(MEDIUM_MESSAGE); - RANDOM.nextBytes(LONG_MESSAGE); - } - - private static final int SHORT_MESSAGE_COUNT = 20000000; - private static final int MEDIUM_MESSAGE_COUNT = 2200000; - private static final int LONG_MESSAGE_COUNT = 80000; - - static - { - kg.init(new KeyGenerationParameters(RANDOM, 256)); - } - - private static KeyParameter generatePoly1305Key() - { - return new KeyParameter(kg.generateKey()); - } - - public static void main(String[] args) - { - testMac(new HMac(new SHA1Digest()), new KeyParameter(generateNonce(20)), 3); - testMac(new SkeinMac(SkeinMac.SKEIN_512, 128), new KeyParameter(generateNonce(64)), 2); - testMac(new SipHash(), new KeyParameter(generateNonce(16)), 1); - testMac(new CMac(new AESFastEngine()), new KeyParameter(generateNonce(16)), 3); - testMac(new GMac(new GCMBlockCipher(new AESFastEngine())), new ParametersWithIV(new KeyParameter( - generateNonce(16)), generateNonce(16)), 5); - testMac(new Poly1305(new NullEngine(16)), new ParametersWithIV(generatePoly1305Key(), generateNonce(16)), 1); - testMac(new Poly1305(new AESFastEngine()), new ParametersWithIV(generatePoly1305Key(), generateNonce(16)), 1); - testMac(new Poly1305Reference(new NullEngine(16)), new ParametersWithIV(generatePoly1305Key(), - generateNonce(16)), 1); - } - - private static byte[] generateNonce(int sizeBytes) - { - byte[] nonce = new byte[16]; - RANDOM.nextBytes(nonce); - return nonce; - } - - private static void testMac(Mac mac, CipherParameters params, int rateFactor) - { - System.out.println("========================="); - - long total = testRun(mac, params, false, MEDIUM_MESSAGE, adjust(MEDIUM_MESSAGE_COUNT, rateFactor)); - System.out.printf("%s Warmup 1 run time: %,d ms\n", mac.getAlgorithmName(), total / 1000000); - total = testRun(mac, params, false, MEDIUM_MESSAGE, adjust(MEDIUM_MESSAGE_COUNT, rateFactor)); - System.out.printf("%s Warmup 2 run time: %,d ms\n", mac.getAlgorithmName(), total / 1000000); - System.gc(); - try - { - Thread.sleep(1000); - } catch (InterruptedException e) - { - } - - test("Short", mac, params, false, SHORT_MESSAGE, adjust(SHORT_MESSAGE_COUNT, rateFactor)); - // test("Short", mac, params, true, SHORT_MESSAGE, adjust(SHORT_MESSAGE_COUNT, rateFactor)); - test("Medium", mac, params, false, MEDIUM_MESSAGE, adjust(MEDIUM_MESSAGE_COUNT, rateFactor)); - // test("Medium", mac, params, true, MEDIUM_MESSAGE, adjust(MEDIUM_MESSAGE_COUNT, - // rateFactor)); - test("Long", mac, params, false, LONG_MESSAGE, adjust(LONG_MESSAGE_COUNT, rateFactor)); - // test("Long", mac, params, true, LONG_MESSAGE, adjust(LONG_MESSAGE_COUNT, rateFactor)); - } - - private static int adjust(int iterationCount, int rateFactor) - { - return (int)(iterationCount * (1.0f / rateFactor)); - } - - private static void test(String name, - Mac mac, - CipherParameters params, - boolean initPerMessage, - byte[] message, - int adjustedCount) - { - System.out.println("========================="); - long total = testRun(mac, params, initPerMessage, message, adjustedCount); - - long averageRuntime = total / adjustedCount; - System.out.printf("%s %-7s%s Total run time: %,d ms\n", mac.getAlgorithmName(), name, initPerMessage ? "*" - : " ", total / 1000000); - System.out.printf("%s %-7s%s Average run time: %,d ns\n", mac.getAlgorithmName(), name, initPerMessage ? "*" - : " ", averageRuntime); - final long mbPerSecond = (long)((double)message.length / averageRuntime * 1000000000 / (1024 * 1024)); - System.out.printf("%s %-7s%s Average speed: %,d MB/s\n", mac.getAlgorithmName(), name, initPerMessage ? "*" - : " ", mbPerSecond); - System.out.printf("%s %-7s%s Average speed: %,f c/b\n", mac.getAlgorithmName(), name, initPerMessage ? "*" - : " ", CLOCK_SPEED / (double)(mbPerSecond * (1024 * 1024))); - } - - private static long testRun(Mac mac, - CipherParameters params, - boolean initPerMessage, - byte[] message, - int adjustedCount) - { - byte[] out = new byte[mac.getMacSize()]; - - if (!initPerMessage) - { - mac.init(params); - } - long start = System.nanoTime(); - - for (int i = 0; i < adjustedCount; i++) - { - if (initPerMessage) - { - mac.init(params); - } - mac.update(message, 0, message.length); - mac.doFinal(out, 0); - } - long total = System.nanoTime() - start; - return total; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/Poly1305Reference.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/Poly1305Reference.java deleted file mode 100644 index a30c11168..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/Poly1305Reference.java +++ /dev/null @@ -1,292 +0,0 @@ -package org.spongycastle.crypto.test.speedy; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.Mac; -import org.spongycastle.crypto.generators.Poly1305KeyGenerator; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.ParametersWithIV; - -/** - * Poly1305 message authentication code, designed by D. J. Bernstein. - *

    - * Poly1305 computes a 128-bit (16 bytes) authenticator, using a 128 bit nonce and a 256 bit key - * consisting of a 128 bit key applied to an underlying cipher, and a 128 bit key (with 106 - * effective key bits) used in the authenticator. - *

    - * This implementation is adapted from the public domain nacl - * ref implementation, and is probably too slow for real usage. - * - * @see Poly1305KeyGenerator - */ -public class Poly1305Reference - implements Mac -{ - private static final int BLOCK_SIZE = 16; - private static final int STATE_SIZE = BLOCK_SIZE + 1; - private static int[] minusp = {5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252}; - - private final BlockCipher cipher; - - /** Encrypted nonce */ - private final byte[] encryptedNonce = new byte[BLOCK_SIZE]; - - /** Private integer r *, expanded to 17 bytes */ - private final int[] r = new int[STATE_SIZE]; - - /** Accumulated authenticator value */ - private final int[] h = new int[STATE_SIZE]; - - /** Temp buffer for incorporating into authenticator */ - private final int[] c = new int[STATE_SIZE]; - - private final byte[] singleByte = new byte[1]; - - /** Current block of buffered input */ - private final byte[] currentBlock = new byte[BLOCK_SIZE]; - - /** Current offset in input buffer */ - private int currentBlockOffset = 0; - - public Poly1305Reference(BlockCipher cipher) - { - if (cipher.getBlockSize() != BLOCK_SIZE) - { - throw new IllegalArgumentException("Poly1305 requires a 128 bit block cipher."); - } - this.cipher = cipher; - } - - public void init(CipherParameters params) - throws IllegalArgumentException - { - final byte[] nonce; - final byte[] key; - if ((params instanceof ParametersWithIV) && ((ParametersWithIV)params).getParameters() instanceof KeyParameter) - { - nonce = ((ParametersWithIV)params).getIV(); - key = ((KeyParameter)((ParametersWithIV)params).getParameters()).getKey(); - } - else - { - throw new IllegalArgumentException("Poly1305 requires a key and and IV."); - } - - setKey(key, nonce); - reset(); - } - - private void setKey(byte[] key, byte[] nonce) - { - if (nonce.length != BLOCK_SIZE) - { - throw new IllegalArgumentException("Poly1305 requires a 128 bit IV."); - } - Poly1305KeyGenerator.checkKey(key); - - // Expand private integer r - for (int i = 0; i < BLOCK_SIZE; i++) - { - r[i] = key[BLOCK_SIZE + i] & 0xFF; - } - r[BLOCK_SIZE] = 0; - - // Calculate encrypted nonce - final byte[] cipherKey = new byte[BLOCK_SIZE]; - System.arraycopy(key, 0, cipherKey, 0, cipherKey.length); - - cipher.init(true, new KeyParameter(cipherKey)); - cipher.processBlock(nonce, 0, this.encryptedNonce, 0); - } - - public String getAlgorithmName() - { - return "Poly1305-Ref-" + cipher.getAlgorithmName(); - } - - public int getMacSize() - { - return BLOCK_SIZE; - } - - public void update(byte in) - throws IllegalStateException - { - singleByte[0] = in; - update(singleByte, 0, 1); - } - - public void update(byte[] in, int inOff, int len) - throws DataLengthException, - IllegalStateException - { - int copied = 0; - while (len > copied) - { - if (currentBlockOffset == currentBlock.length) - { - processBlock(); - currentBlockOffset = 0; - } - - int toCopy = Math.min((len - copied), currentBlock.length - currentBlockOffset); - System.arraycopy(in, copied + inOff, currentBlock, currentBlockOffset, toCopy); - copied += toCopy; - currentBlockOffset += toCopy; - } - - } - - /** - * Add a full block of 16 bytes of data, padded to 17 bytes, to the MAC - */ - private void processBlock() - { - for (int i = 0; i < currentBlockOffset; i++) - { - c[i] = currentBlock[i] & 0xFF; - } - c[currentBlockOffset] = 1; - for (int i = currentBlockOffset + 1; i < c.length; i++) - { - c[i] = 0; - } - add(h, c); - mulmod(h, r); - } - - public int doFinal(byte[] out, int outOff) - throws DataLengthException, - IllegalStateException - { - if (outOff + BLOCK_SIZE > out.length) - { - throw new DataLengthException("Output buffer is too short."); - } - - if (currentBlockOffset > 0) - { - // Process padded final block - processBlock(); - } - - freeze(h); - - // Add encrypted nonce to result - for (int i = 0; i < BLOCK_SIZE; i++) - { - c[i] = encryptedNonce[i] & 0xFF; - } - c[BLOCK_SIZE] = 0; - add(h, c); - - for (int i = 0; i < BLOCK_SIZE; i++) - { - out[outOff + i] = (byte)h[i]; - } - - reset(); - return BLOCK_SIZE; - } - - public void reset() - { - currentBlockOffset = 0; - for (int i = 0; i < h.length; i++) - { - h[i] = 0; - } - } - - // 130 bit math adapted from nacl ref implementation - - /** - * 130 bit add with carry. - */ - private static void add(int[] h, int[] c) - { - int u = 0; - for (int j = 0; j < 17; ++j) - { - u += h[j] + c[j]; - h[j] = u & 255; - u >>= 8; - } - } - - /** - * 130 bit multiplication mod 2^130-5 - */ - private void mulmod(int[] h, int[] r) - { - final int[] hr = c; - - for (int i = 0; i < 17; ++i) - { - int u = 0; - /* Basic multiply to compute term i */ - for (int j = 0; j <= i; ++j) - { - u += h[j] * r[i - j]; - } - - /* - * Modular reduction - * - * Shift overflow >> 130 bits == (>> 17 bytes = 136 bits) + (<< 6 bits = * 64) - * - * Reduction mod 2^130-5 leaves 5x remainder, so 64 * 5 = 320. - */ - for (int j = i + 1; j < 17; ++j) - { - u += 320 * h[j] * r[i + 17 - j]; - } - hr[i] = u; - } - System.arraycopy(hr, 0, h, 0, h.length); - squeeze(h); - } - - /** - * Propagate carries following a modular multiplication. - */ - private static void squeeze(int[] h) - { - int u = 0; - for (int j = 0; j < 16; ++j) - { - u += h[j]; - h[j] = u & 255; - u >>= 8; - } - u += h[16]; - h[16] = u & 3; - u = 5 * (u >> 2); - for (int j = 0; j < 16; ++j) - { - u += h[j]; - h[j] = u & 255; - u >>= 8; - } - u += h[16]; - h[16] = u; - } - - /** - * Constant time correction of h to be < p (2^130 - 5). - */ - private void freeze(int[] h) - { - final int[] horig = c; - System.arraycopy(h, 0, horig, 0, h.length); - - add(h, minusp); - final int negative = -(h[16] >> 7); - for (int j = 0; j < 17; ++j) - { - h[j] ^= negative & (horig[j] ^ h[j]); - } - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThreefishReferenceEngine.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThreefishReferenceEngine.java deleted file mode 100644 index 768bb9542..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThreefishReferenceEngine.java +++ /dev/null @@ -1,395 +0,0 @@ -package org.spongycastle.crypto.test.speedy; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; - -public class ThreefishReferenceEngine - implements BlockCipher -{ - - /** - * The tweak input is always 128 bits - */ - private static final int TWEAK_SIZE = 16; - - private static long C_240 = 0x1BD11BDAA9FC1A22L; - - private final int blocksize = 64; - private final int rounds = 72; - private final int words = 8; - - private boolean forEncryption; - - private long[] block = new long[words]; - - private int[][] rotations = R8; - - /** - * Rotation constants Rd,j for Nw = 8. - */ - private static final int[][] R8 = { - {46, 36, 19, 37}, - {33, 27, 14, 42}, - {17, 49, 36, 39}, - {44, 9, 54, 56}, - {39, 30, 34, 24}, - {13, 50, 10, 17}, - {25, 29, 39, 43}, - {8, 35, 56, 22}}; - - private long[] t; - - private long kw[]; - - public void init(boolean forEncryption, CipherParameters params) - throws IllegalArgumentException - { - if (params instanceof TweakableBlockCipherParameters) - { - init(forEncryption, (TweakableBlockCipherParameters)params); - } - else if (params instanceof KeyParameter) - { - init(forEncryption, new TweakableBlockCipherParameters((KeyParameter)params, new byte[TWEAK_SIZE])); - } - else - { - throw new IllegalArgumentException("Invalid parameter passed to Threefish init - " - + params.getClass().getName()); - } - } - - public void init(boolean forEncryption, TweakableBlockCipherParameters params) - throws IllegalArgumentException - { - // TODO: Remove some of the NPEs that can be avoided in the Params - // classes - if ((params.getKey() == null) || (params.getKey().getKey() == null) - || (params.getKey().getKey().length != blocksize)) - { - throw new IllegalArgumentException("Threefish key must be same size as block (%d bytes)" + blocksize); - } - - if ((params.getTweak() == null) || (params.getTweak().length != TWEAK_SIZE)) - { - throw new IllegalArgumentException("Threefish tweak must be %d bytes" + TWEAK_SIZE); - } - - this.forEncryption = forEncryption; - - generateKeySchedule(params.getKey().getKey(), params.getTweak()); - } - - private void generateKeySchedule(byte[] key, byte[] tweak) - { - // TODO: This key schedule can/should be generated incrementally/on demand during encrypt/decrypt - // to reduce memory overhead (currently 1.2MB = (rounds/4+1)=19 * words=8 * 8 bytes/word) - - t = new long[3]; - t[0] = BytesToWord(tweak, 0); - t[1] = BytesToWord(tweak, 8); - t[2] = t[0] ^ t[1]; - - kw = new long[words + 1]; - - long knw = C_240; - for (int i = 0; i < words; i++) - { - kw[i] = BytesToWord(key, i * 8); - knw = knw ^ kw[i]; - } - kw[kw.length - 1] = knw; - } - - private static long BytesToWord(byte[] bytes, int off) - { - long word = 0; - int index = off; - - word = (bytes[index++] & 0xffL); - word |= (bytes[index++] & 0xffL) << 8; - word |= (bytes[index++] & 0xffL) << 16; - word |= (bytes[index++] & 0xffL) << 24; - word |= (bytes[index++] & 0xffL) << 32; - word |= (bytes[index++] & 0xffL) << 40; - word |= (bytes[index++] & 0xffL) << 48; - word |= (bytes[index++] & 0xffL) << 56; - - return word; - } - - private static void WordToBytes(long word, byte[] bytes, int off) - { - int index = off; - - bytes[index++] = (byte)word; - bytes[index++] = (byte)(word >> 8); - bytes[index++] = (byte)(word >> 16); - bytes[index++] = (byte)(word >> 24); - bytes[index++] = (byte)(word >> 32); - bytes[index++] = (byte)(word >> 40); - bytes[index++] = (byte)(word >> 48); - bytes[index++] = (byte)(word >> 56); - } - - public String getAlgorithmName() - { - return "Threefish"; - } - - public int getBlockSize() - { - return blocksize; - } - - public int processBlock(byte[] in, int inOff, byte[] out, int outOff) - throws DataLengthException, - IllegalStateException - { - // TODO: Check init state - if (kw == null) - { - throw new IllegalStateException("Threefish engine not initialised"); - } - - if ((inOff + blocksize) > in.length) - { - throw new DataLengthException("Input buffer too short"); - } - - if ((outOff + blocksize) > out.length) - { - throw new DataLengthException("Output buffer too short"); - } - - if (forEncryption) - { - unpackBlock(in, inOff); - encryptBlock(); - packBlock(out, outOff); - } - else - { - unpackBlock(in, inOff); - decryptBlock(); - packBlock(out, outOff); - } - - return blocksize; - } - - private void decryptBlock() - { - for (int d = rounds; d > 0; d--) - { - // Add subkey every 4 rounds - if ((d % 4) == 0) - { - uninjectSubkey(d / 4); - } - - // Permute - unpermute(); - - // Mix - for (int j = 0; j < words / 2; j++) - { - unmix(j, d - 1); - } - } - - // Remove first subkey - uninjectSubkey(0); - } - - private void injectSubkey(int s) - { - for (int i = 0; i < (words - 3); i++) - { - block[i] += kw[(s + i) % (words + 1)]; - } - block[words - 3] += kw[(s + words - 3) % (words + 1)] + t[s % 3]; - block[words - 2] += kw[(s + words - 2) % (words + 1)] + t[(s + 1) % 3]; - block[words - 1] += kw[(s + words - 1) % (words + 1)] + s; - } - - private void uninjectSubkey(int s) - { - for (int i = 0; i < (words - 3); i++) - { - block[i] -= kw[(s + i) % (words + 1)]; - } - block[words - 3] -= kw[(s + words - 3) % (words + 1)] + t[s % 3]; - block[words - 2] -= kw[(s + words - 2) % (words + 1)] + t[(s + 1) % 3]; - block[words - 1] -= kw[(s + words - 1) % (words + 1)] + s; - } - - private void encryptBlock() - { - for (int d = 0; d < rounds; d++) - { - // Add subkey every 4 rounds - if ((d % 4) == 0) - { - injectSubkey(d / 4); - } - - // Mix - for (int j = 0; j < words / 2; j++) - { - mix(j, d); - } - - // Permute - permute(); - } - - // Final key addition - injectSubkey(rounds / 4); - } - - private void permute() - { - // Permute in place for Nw = 8 - long f0 = block[0]; - long f3 = block[3]; - - block[0] = block[2]; - block[1] = block[1]; - block[2] = block[4]; - block[3] = block[7]; - block[4] = block[6]; - block[5] = block[5]; - block[6] = f0; - block[7] = f3; - } - - private void unpermute() - { - // TODO: Change these to tables - // Permute in place for Nw = 8 - long f6 = block[6]; - long f7 = block[7]; - - block[7] = block[3]; - block[6] = block[4]; - block[5] = block[5]; - block[4] = block[2]; - block[3] = f7; - block[2] = block[0]; - block[1] = block[1]; - block[0] = f6; - } - - private void mix(int j, int d) - { - // ed,2j and ed,2j+1 - int b0 = 2 * j; - int b1 = b0 + 1; - - // y0 = x0 + x1 - block[b0] = block[b0] + block[b1]; - - // y1 = (x1 <<< R(d mod 8,j)) xor y0 - block[b1] = Long.rotateLeft(block[b1], rotations[d % 8][j]) ^ block[b0]; - } - - private void unmix(int j, int d) - { - // ed,2j and ed,2j+1 - int b0 = 2 * j; - int b1 = b0 + 1; - - // x1 = (y1 ^ y0) >>> R(d mod 8, j)) - block[b1] = Long.rotateRight(block[b1] ^ block[b0], rotations[d % 8][j]); - - // x0 = y0 - x1 - block[b0] = block[b0] - block[b1]; - - } - - public static void main(String[] args) - { - ThreefishReferenceEngine engine = new ThreefishReferenceEngine(); - engine.fu(); - } - - private void fu() - { - block[0] = 0x12; - block[1] = 0x34; - block[2] = 0x56; - block[3] = 0x78; - block[4] = 0x90; - block[5] = 0xAB; - block[6] = 0xCD; - block[7] = 0xEF; - - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - mix(0, 4); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - unmix(0, 4); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - permute(); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - unpermute(); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - generateKeySchedule(new byte[blocksize], new byte[TWEAK_SIZE]); - injectSubkey(5); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - uninjectSubkey(5); - System.err.println("========="); - for (int i = 0; i < block.length; i++) - { - System.err.println(i + " : " + Long.toHexString(block[i])); - } - } - - private void packBlock(byte[] out, int outOff) - { - for (int i = 0; i < block.length; i++) - { - WordToBytes(block[i], out, outOff + (i * 8)); - } - } - - private long[] unpackBlock(byte[] bytes, int index) - { - for (int i = 0; i < block.length; i++) - { - block[i] = BytesToWord(bytes, index + (i * 8)); - } - return block; - } - - public void reset() - { - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThroughputTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThroughputTest.java deleted file mode 100644 index 69b942fc8..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/speedy/ThroughputTest.java +++ /dev/null @@ -1,203 +0,0 @@ -package org.spongycastle.crypto.test.speedy; - -import java.io.IOException; -import java.security.SecureRandom; - -import org.spongycastle.crypto.BlockCipher; -import org.spongycastle.crypto.engines.AESFastEngine; -import org.spongycastle.crypto.engines.ThreefishEngine; -import org.spongycastle.crypto.params.KeyParameter; -import org.spongycastle.crypto.params.TweakableBlockCipherParameters; -import org.spongycastle.util.encoders.Hex; - -public class ThroughputTest -{ - - private static final int DATA_SIZE = 100 * 1024 * 1024; - private static final int RUNS = 1; - private static final long CLOCK_SPEED = 2400000000L; - - private static SecureRandom rand = new SecureRandom(); - - public static void main(String[] args) - throws InterruptedException, IOException - { -// testTF_1024_1(); -// testTF_1024_2(); - testTF_512_1(); - testTF_512_2(); -// testTF_256_1(); -// testTF_256_2(); - System.out.println("Initialising test data."); - byte[] input = new byte[DATA_SIZE]; - rand.nextBytes(input); - - System.out.println("Init complete."); -// speedTestCipher(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256), input); - speedTestCipher(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512), input); -// speedTestCipher(new Skein3FishEngine(), input); -// speedTestCipher(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024), input); -// speedTestCipher(new ThreefishReferenceEngine(), input); - speedTestCipher(new AESFastEngine(), input); -// speedTestCipher(new TwofishEngine(), input); -// speedTestCipher(new BlowfishEngine(), input); - } - - private static void testTF_512_1() - throws IOException - { - byte[] key = new byte[64]; - byte[] tweak = new byte[16]; - byte[] plaintext = new byte[64]; - byte[] expected = Hex.decode("b1a2bbc6ef6025bc40eb3822161f36e375d1bb0aee3186fbd19e47c5d479947b7bc2f8586e35f0cff7e7f03084b0b7b1f1ab3961a580a3e97eb41ea14a6d7bbe"); - - runTestVector("Threefish-512-1: Fast", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512)); - runTestVector("Threefish-512-1: Reference", key, tweak, plaintext, expected, new ThreefishReferenceEngine()); - } - - private static void testTF_256_1() - throws IOException - { - byte[] key = new byte[32]; - byte[] tweak = new byte[16]; - byte[] plaintext = new byte[32]; - byte[] expected = Hex.decode("84da2a1f8beaee947066ae3e3103f1ad536db1f4a1192495116b9f3ce6133fd8"); - - runTestVector("Threefish-256-1: ", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256)); - } - - private static void testTF_1024_1() - throws IOException - { - byte[] key = new byte[128]; - byte[] tweak = new byte[16]; - byte[] plaintext = new byte[128]; - byte[] expected = Hex.decode("f05c3d0a3d05b304f785ddc7d1e036015c8aa76e2f217b06c6e1544c0bc1a90df0accb9473c24e0fd54fea68057f43329cb454761d6df5cf7b2e9b3614fbd5a20b2e4760b40603540d82eabc5482c171c832afbe68406bc39500367a592943fa9a5b4a43286ca3c4cf46104b443143d560a4b230488311df4feef7e1dfe8391e"); - - runTestVector("Threefish-1024-1: ", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024)); - } - - private static void runTestVector(String name, byte[] key, byte[] tweak, byte[] plaintext, byte[] expected, BlockCipher cipher) - { - System.out.println("===="); - System.out.println(name + ": "); - cipher.init(true, new TweakableBlockCipherParameters(new KeyParameter(key), tweak)); - - byte[] ciphertext = new byte[key.length]; - cipher.processBlock(plaintext, 0, ciphertext, 0); - - System.out.println("Plaintext : " + new String(Hex.encode(plaintext))); - System.out.println("Expected : " + new String(Hex.encode(expected))); - System.out.println("Ciphertext : " + new String(Hex.encode(ciphertext))); - System.out.println(" Encrypt : " + org.spongycastle.util.Arrays.areEqual(expected, ciphertext)); - - cipher.init(false, new TweakableBlockCipherParameters(new KeyParameter(key), tweak)); - byte[] replain = new byte[plaintext.length]; - cipher.processBlock(ciphertext, 0, replain, 0); - - System.out.println("Replain : " + new String(Hex.encode(replain))); - System.out.println(" Decrypt : " + org.spongycastle.util.Arrays.areEqual(plaintext, replain)); - } - - private static void testTF_512_2() - throws IOException - { - byte[] key = Hex.decode("101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f"); - byte[] tweak = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] plaintext = Hex.decode("fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0"); - byte[] expected = Hex.decode("e304439626d45a2cb401cad8d636249a6338330eb06d45dd8b36b90e97254779272a0a8d99463504784420ea18c9a725af11dffea10162348927673d5c1caf3d"); - - runTestVector("Threefish-512-2: Fast", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512)); - runTestVector("Threefish-512-2: Reference", key, tweak, plaintext, expected, new ThreefishReferenceEngine()); - } - - private static void testTF_256_2() - throws IOException - { - byte[] key = Hex.decode("101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f"); - byte[] tweak = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] plaintext = Hex.decode("FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0"); - byte[] expected = Hex.decode("e0d091ff0eea8fdfc98192e62ed80ad59d865d08588df476657056b5955e97df"); - - runTestVector("Threefish-256-2: ", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256)); - } - - private static void testTF_1024_2() - throws IOException - { - byte[] key = Hex.decode("101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f"); - byte[] tweak = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] plaintext = Hex.decode("fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a89888786858483828180"); - byte[] expected = Hex.decode("a6654ddbd73cc3b05dd777105aa849bce49372eaaffc5568d254771bab85531c94f780e7ffaae430d5d8af8c70eebbe1760f3b42b737a89cb363490d670314bd8aa41ee63c2e1f45fbd477922f8360b388d6125ea6c7af0ad7056d01796e90c83313f4150a5716b30ed5f569288ae974ce2b4347926fce57de44512177dd7cde"); - - runTestVector("Threefish-1024-2: ", key, tweak, plaintext, expected, new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024)); - } - - private static void speedTestCipher(BlockCipher cipher, byte[] input) - throws InterruptedException - { - byte[] key = new byte[cipher.getBlockSize()]; - rand.nextBytes(key); - - cipher.init(true, new KeyParameter(key)); - speedTestCipherForMode("encrypt", cipher, input); - cipher.init(false, new KeyParameter(key)); - speedTestCipherForMode("decrypt", cipher, input); - } - - private static void speedTestCipherForMode(String mode, BlockCipher cipher, byte[] input) - throws InterruptedException - { - System.out.println("======"); - System.out.println("Testing " + cipher.getAlgorithmName() + " " + cipher.getBlockSize() * 8 + " " + mode); - System.out.println("Beginning warmup run."); - - long warmup = testCipher(cipher, input); - System.out.println("Warmup run 1 in " + (warmup / 1000000) + "ms"); - Thread.sleep(100); - warmup = testCipher(cipher, input); - System.out.println("Warmup run 2 in " + (warmup / 1000000) + "ms"); - - System.gc(); - Thread.sleep(500); - System.gc(); - Thread.sleep(500); - - System.out.println("Beginning " + RUNS + " hot runs."); - - long[] runtimes = new long[RUNS]; - long total = 0; - for (int i = 0; i < RUNS; i++) - { - runtimes[i] = testCipher(cipher, input); - total += runtimes[i]; - System.out.println("Run " + (i + 1) + ": " + runtimes[i] / 100000 + "ms"); - } - long averageRuntime = total / RUNS; - System.out.println(cipher.getAlgorithmName() + " Average run time: " + averageRuntime / 1000000 + "ms"); - final long mbPerSecond = (long)((double)DATA_SIZE / averageRuntime * 1000000000 / (1024 * 1024)); - System.out.println(cipher.getAlgorithmName() + " Average speed: " + mbPerSecond + " MB/s"); - System.out.println(cipher.getAlgorithmName() + " Average speed: " + CLOCK_SPEED / (double)(mbPerSecond * (1024 * 1024)) + " c/b"); - } - - private static long testCipher(BlockCipher cipher, byte[] input) - { - long start = System.nanoTime(); - int blockSize = cipher.getBlockSize(); - byte[] out = new byte[blockSize]; - - for (int i = 0; i < (input.length - blockSize); i += blockSize) - { - cipher.processBlock(input, i, out, 0); -// byte[] test = new byte[blockSize]; -// System.arraycopy(input, i, test, 0, test.length); -// if (!Arrays.equals(out, test)) { -// System.err.println(":("); -// } - } - - long end = System.nanoTime(); - long delta = end - start; - return delta; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/AllTests.java deleted file mode 100644 index 6970aa1d4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/AllTests.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTests -{ - public static void main(String[] args) - throws Exception - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - throws Exception - { - TestSuite suite = new TestSuite("TLS tests"); - - suite.addTest(BasicTlsTest.suite()); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/BasicTlsTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/BasicTlsTest.java deleted file mode 100644 index 911949920..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/BasicTlsTest.java +++ /dev/null @@ -1,200 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PrintStream; -import java.net.Socket; - -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.crypto.tls.AlertDescription; -import org.spongycastle.crypto.tls.AlertLevel; -import org.spongycastle.crypto.tls.AlwaysValidVerifyer; -import org.spongycastle.crypto.tls.Certificate; -import org.spongycastle.crypto.tls.CipherSuite; -import org.spongycastle.crypto.tls.DefaultTlsClient; -import org.spongycastle.crypto.tls.LegacyTlsClient; -import org.spongycastle.crypto.tls.TlsAuthentication; -import org.spongycastle.crypto.tls.TlsClient; -import org.spongycastle.crypto.tls.TlsClientProtocol; -import org.spongycastle.crypto.tls.TlsFatalAlert; -import org.spongycastle.crypto.tls.TlsKeyExchange; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -public class BasicTlsTest - extends TestCase -{ - private static final int PORT_NO = 8003; - - // private static final String CLIENT = "client"; - // private static final char[] CLIENT_PASSWORD = "clientPassword".toCharArray(); - // private static final char[] SERVER_PASSWORD = "serverPassword".toCharArray(); - // private static final char[] TRUST_STORE_PASSWORD = "trustPassword".toCharArray(); - - public void testConnection() - throws Exception - { - String vmVersion = System.getProperty("java.specification.version"); - - if (vmVersion == null || !vmVersion.equals("1.7")) - { - return; // only works on later VMs. - } - - Thread server = new HTTPSServerThread(); - - server.start(); - - Thread.yield(); - - AlwaysValidVerifyer verifyer = new AlwaysValidVerifyer(); - Socket s = null; - - for (int i = 0; s == null && i != 3; i++) - { - Thread.sleep(1000); - - try - { - s = new Socket("localhost", PORT_NO); - } - catch (IOException e) - { - // ignore - } - } - - if (s == null) - { - throw new IOException("unable to connect"); - } - - // long time = System.currentTimeMillis(); - TlsClientProtocol protocol = new TlsClientProtocol(s.getInputStream(), s.getOutputStream()); - protocol.connect(new LegacyTlsClient(verifyer)); - InputStream is = protocol.getInputStream(); - OutputStream os = protocol.getOutputStream(); - - os.write("GET / HTTP/1.1\r\n\r\n".getBytes()); - - // time = System.currentTimeMillis(); - byte[] buf = new byte[4096]; - int read = 0; - int total = 0; - - while ((read = is.read(buf, total, buf.length - total)) > 0) - { - total += read; - } - - is.close(); - - byte[] expected = Hex.decode("485454502f312e3120323030204f4b0d0a436f6e74656e742d547970653a20746578742f68" - + "746d6c0d0a0d0a3c68746d6c3e0d0a3c626f64793e0d0a48656c6c6f20576f726c64210d0a3c2f626f64793e0d0a3c2f" - + "68746d6c3e0d0a"); - assertEquals(total, expected.length); - - byte[] tmp = new byte[expected.length]; - System.arraycopy(buf, 0, tmp, 0, total); - assertTrue(Arrays.areEqual(expected, tmp)); - } - - public void testRSAConnectionClient() - throws Exception - { - MyTlsClient client = new MyTlsClient(null); - - checkConnectionClient(client, CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA, TlsTestUtils.rsaCertData); - checkConnectionClient(client, CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA, TlsTestUtils.rsaCertData); - checkConnectionClient(client, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA, TlsTestUtils.rsaCertData); - checkConnectionClient(client, CipherSuite.TLS_RSA_WITH_RC4_128_SHA, TlsTestUtils.rsaCertData); - - try - { - checkConnectionClient(client, CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA, TlsTestUtils.dudRsaCertData); - - fail("dud certificate not caught"); - } - catch (TlsFatalAlert e) - { - assertEquals(AlertDescription.certificate_unknown, e.getAlertDescription()); - } - - try - { - checkConnectionClient(client, CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TlsTestUtils.rsaCertData); - - fail("wrong certificate not caught"); - } - catch (TlsFatalAlert e) - { - assertEquals(AlertDescription.internal_error, e.getAlertDescription()); - } - } - - private void checkConnectionClient(TlsClient client, int cipherSuite, byte[] encCert) - throws Exception - { - client.notifySelectedCipherSuite(cipherSuite); - - TlsKeyExchange keyExchange = client.getKeyExchange(); - - keyExchange - .processServerCertificate(new Certificate( - new org.spongycastle.asn1.x509.Certificate[]{org.spongycastle.asn1.x509.Certificate - .getInstance(encCert)})); - } - - public static TestSuite suite() - { - return new TestSuite(BasicTlsTest.class); - } - - public static void main(String[] args) - throws Exception - { - junit.textui.TestRunner.run(suite()); - } - - static class MyTlsClient - extends DefaultTlsClient - { - - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); - } - - private final TlsAuthentication authentication; - - MyTlsClient(TlsAuthentication authentication) - { - this.authentication = authentication; - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return authentication; - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSClientTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSClientTest.java deleted file mode 100644 index d091a1326..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSClientTest.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.security.SecureRandom; - -import org.spongycastle.crypto.tls.DTLSClientProtocol; -import org.spongycastle.crypto.tls.DTLSTransport; -import org.spongycastle.crypto.tls.DatagramTransport; -import org.spongycastle.crypto.tls.TlsClient; -import org.spongycastle.crypto.tls.TlsSession; -import org.spongycastle.crypto.tls.UDPTransport; - -/** - * A simple test designed to conduct a DTLS handshake with an external DTLS server. - *

    - * Please refer to GnuTLSSetup.txt or OpenSSLSetup.txt, and x509-*.pem files in this package for - * help configuring an external DTLS server. - */ -public class DTLSClientTest -{ - private static final SecureRandom secureRandom = new SecureRandom(); - - public static void main(String[] args) - throws Exception - { - InetAddress address = InetAddress.getLocalHost(); - int port = 5556; - - TlsSession session = createSession(address, port); - - MockDTLSClient client = new MockDTLSClient(session); - - DTLSTransport dtls = openDTLSConnection(address, port, client); - - System.out.println("Receive limit: " + dtls.getReceiveLimit()); - System.out.println("Send limit: " + dtls.getSendLimit()); - - // Send and hopefully receive a packet back - - byte[] request = "Hello World!\n".getBytes("UTF-8"); - dtls.send(request, 0, request.length); - - byte[] response = new byte[dtls.getReceiveLimit()]; - int received = dtls.receive(response, 0, response.length, 30000); - if (received >= 0) - { - System.out.println(new String(response, 0, received, "UTF-8")); - } - - dtls.close(); - } - - private static TlsSession createSession(InetAddress address, int port) - throws IOException - { - MockDTLSClient client = new MockDTLSClient(null); - DTLSTransport dtls = openDTLSConnection(address, port, client); - TlsSession session = client.getSessionToResume(); - dtls.close(); - return session; - } - - private static DTLSTransport openDTLSConnection(InetAddress address, int port, TlsClient client) - throws IOException - { - DatagramSocket socket = new DatagramSocket(); - socket.connect(address, port); - - int mtu = 1500; - DatagramTransport transport = new UDPTransport(socket, mtu); - transport = new UnreliableDatagramTransport(transport, secureRandom, 0, 0); - transport = new LoggingDatagramTransport(transport, System.out); - - DTLSClientProtocol protocol = new DTLSClientProtocol(secureRandom); - - return protocol.connect(client, transport); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSProtocolTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSProtocolTest.java deleted file mode 100644 index 1d30ede85..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/DTLSProtocolTest.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.security.SecureRandom; - -import junit.framework.TestCase; - -import org.spongycastle.crypto.tls.DTLSClientProtocol; -import org.spongycastle.crypto.tls.DTLSServerProtocol; -import org.spongycastle.crypto.tls.DTLSTransport; -import org.spongycastle.crypto.tls.DatagramTransport; -import org.spongycastle.crypto.tls.ProtocolVersion; -import org.spongycastle.util.Arrays; - -public class DTLSProtocolTest - extends TestCase -{ - public void testClientServer() - throws Exception - { - SecureRandom secureRandom = new SecureRandom(); - - DTLSClientProtocol clientProtocol = new DTLSClientProtocol(secureRandom); - DTLSServerProtocol serverProtocol = new DTLSServerProtocol(secureRandom); - - MockDatagramAssociation network = new MockDatagramAssociation(1500); - - ServerThread serverThread = new ServerThread(serverProtocol, network.getServer()); - serverThread.start(); - - DatagramTransport clientTransport = network.getClient(); - - clientTransport = new UnreliableDatagramTransport(clientTransport, secureRandom, 0, 0); - - clientTransport = new LoggingDatagramTransport(clientTransport, System.out); - - MockDTLSClient client = new MockDTLSClient(null); - - DTLSTransport dtlsClient = clientProtocol.connect(client, clientTransport); - - for (int i = 1; i <= 10; ++i) - { - byte[] data = new byte[i]; - Arrays.fill(data, (byte)i); - dtlsClient.send(data, 0, data.length); - } - - byte[] buf = new byte[dtlsClient.getReceiveLimit()]; - while (dtlsClient.receive(buf, 0, buf.length, 1000) >= 0) - { - ; - } - - dtlsClient.close(); - - serverThread.shutdown(); - } - - static class ServerThread - extends Thread - { - private final DTLSServerProtocol serverProtocol; - private final DatagramTransport serverTransport; - private volatile boolean isShutdown = false; - - ServerThread(DTLSServerProtocol serverProtocol, DatagramTransport serverTransport) - { - this.serverProtocol = serverProtocol; - this.serverTransport = serverTransport; - } - - public void run() - { - try - { - MockDTLSServer server = new MockDTLSServer(); - DTLSTransport dtlsServer = serverProtocol.accept(server, serverTransport); - byte[] buf = new byte[dtlsServer.getReceiveLimit()]; - while (!isShutdown) - { - int length = dtlsServer.receive(buf, 0, buf.length, 1000); - if (length >= 0) - { - dtlsServer.send(buf, 0, length); - } - } - dtlsServer.close(); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - void shutdown() - throws InterruptedException - { - if (!isShutdown) - { - isShutdown = true; - this.join(); - } - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/GnuTLSSetup.txt b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/GnuTLSSetup.txt deleted file mode 100644 index 62c595094..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/GnuTLSSetup.txt +++ /dev/null @@ -1,18 +0,0 @@ ------------------------------------------------------------------------ -Instructions for setting up a GnuTLS server for use with DTLSClientTest ------------------------------------------------------------------------ - -- Download GnuTLS from http://www.gnutls.org/download.html - -- Unpack to folder and add ${GNUTLS_HOME}/bin to PATH - -- Make a working folder somewhere and copy the x509-*.pem from this package (in src/test/resources) to there. - -- Go to working folder and start GnuTLS server (defaults to port 5556): -TLS: - gnutls-serv --http --x509cafile x509-ca.pem --x509keyfile x509-server-key.pem --x509certfile x509-server.pem -DTLS: - gnutls-serv --echo --udp --mtu 1500 --x509cafile x509-ca.pem --x509keyfile x509-server-key.pem --x509certfile x509-server.pem - -- Further information in GnuTLS documentation at http://www.gnutls.org/documentation.html - see "7.2. Invoking gnutls-serv", section titled "gnutls-serv Examples" if you want to generate your own keys and certificates. diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/HTTPSServerThread.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/HTTPSServerThread.java deleted file mode 100644 index 07eb86e01..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/HTTPSServerThread.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.security.KeyStore; - -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLServerSocket; -import javax.net.ssl.SSLServerSocketFactory; -import javax.net.ssl.SSLSession; -import javax.net.ssl.SSLSocket; -import javax.net.ssl.TrustManagerFactory; - -public class HTTPSServerThread - extends Thread -{ - private static final int PORT_NO = 8003; - private static final char[] SERVER_PASSWORD = "serverPassword".toCharArray(); - private static final char[] TRUST_STORE_PASSWORD = "trustPassword".toCharArray(); - - /** - * Read a HTTP request - */ - private void readRequest( - InputStream in) - throws IOException - { - int ch = 0; - int lastCh = 0; - while ((ch = in.read()) >= 0 && (ch != '\n' && lastCh != '\n')) - { - if (ch != '\r') - { - lastCh = ch; - } - } - } - - /** - * Send a response - */ - private void sendResponse( - OutputStream out) - { - PrintWriter pWrt = new PrintWriter(new OutputStreamWriter(out)); - pWrt.print("HTTP/1.1 200 OK\r\n"); - pWrt.print("Content-Type: text/html\r\n"); - pWrt.print("\r\n"); - pWrt.print("\r\n"); - pWrt.print("\r\n"); - pWrt.print("Hello World!\r\n"); - pWrt.print("\r\n"); - pWrt.print("\r\n"); - pWrt.flush(); - } - - SSLContext createSSLContext() - throws Exception - { - KeyManagerFactory mgrFact = KeyManagerFactory.getInstance("SunX509"); - KeyStore serverStore = KeyStore.getInstance("JKS"); - - serverStore.load(new ByteArrayInputStream(KeyStores.server), SERVER_PASSWORD); - - mgrFact.init(serverStore, SERVER_PASSWORD); - - // set up a trust manager so we can recognize the server - TrustManagerFactory trustFact = TrustManagerFactory.getInstance("SunX509"); - KeyStore trustStore = KeyStore.getInstance("JKS"); - - trustStore.load(new ByteArrayInputStream(KeyStores.trustStore), TRUST_STORE_PASSWORD); - - trustFact.init(trustStore); - - // create a context and set up a socket factory - SSLContext sslContext = SSLContext.getInstance("TLS"); - - sslContext.init(mgrFact.getKeyManagers(), trustFact.getTrustManagers(), null); - - return sslContext; - } - - public void run() - { - try - { - SSLContext sslContext = createSSLContext(); - SSLServerSocketFactory fact = sslContext.getServerSocketFactory(); - - SSLServerSocket sSock = (SSLServerSocket)fact.createServerSocket(PORT_NO); - SSLSocket sslSock = (SSLSocket)sSock.accept(); - - sslSock.startHandshake(); - - readRequest(sslSock.getInputStream()); - - SSLSession session = sslSock.getSession(); - - sendResponse(sslSock.getOutputStream()); - - sslSock.close(); - } - catch (Exception e) - { - throw new RuntimeException(e); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/KeyStores.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/KeyStores.java deleted file mode 100644 index 5aa0b3960..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/KeyStores.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import org.spongycastle.util.encoders.Base64; - -public class KeyStores -{ - static final byte[] trustStore = Base64.decode( - "/u3+7QAAAAIAAAABAAAAAgAGc2VydmVyAAABD34zDJEABVguNTA5AAABrzCC" - + "AaswggEUAgEBMA0GCSqGSIb3DQEBBQUAMB4xHDAaBgNVBAMTE1Rlc3QgQ0Eg" - + "Q2VydGlmaWNhdGUwHhcNMDYxMjEzMjM0MzI5WhcNMDYxMjIwMjM0MzI5WjAe" - + "MRwwGgYDVQQDExNUZXN0IENBIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEB" - + "AQUAA4GNADCBiQKBgQCmOumCM46ehsdcrZMw6tj0hMl5D0xf21gcyBj/ByIv" - + "pe008ukaN3zCXIUUUlAu0GkbI1sCbTD1V4qVZuaHqtfa/FINJjyZJy5w7KEx" - + "93OOF2/gyPlnEPGs6RPdThAPliSBsWKBKqtOdmKpwYn/NKuUNFRkFXVLLUPn" - + "jyEKjIcNywIDAQABMA0GCSqGSIb3DQEBBQUAA4GBACi8J7raYqDFjXqAXXPJ" - + "ljZHqvzJNVaSWvBtK/oY7g0+sdGIjPR526fhSCxOZRr7G157ERqMnPjuFjcm" - + "cRlUOPsQtTl6KbUnxmKxa04UzDuNXzSx2oyGx5GCWx9u62hpO6vSpK69L9gH" - + "OUtM5dQXcoK4i3olScKaU8qaYb0mBAy8fnx5pen8B0bIg+pz47l5VxQ5NO8="); - - static final byte[] server = Base64.decode( - "/u3+7QAAAAIAAAABAAAAAQAGc2VydmVyAAABD34zDJIAAAK8MIICuDAOBgor" - + "BgEEASoCEQEBBQAEggKk9OXWj3aBr6rV9Grcsm2YL+/2ShVsxbJVGMSWll1f" - + "U8z/mjhv5K/skgleTIMoyE5FzDDxJIGEmSMCkcHsnseXzxyhLpKBaz3N1Tk7" - + "KVPzXfrNh0FJwzw3lPWyC2ayT+ObQfAtzuI9SUWNLBzzpWeolUJ8gkXnLshX" - + "5RqmR735NRZdjgQOtNYBBErX/NOhTyi009/CZDNxgJQzywFmQcXBLhNSA+0i" - + "cE+LwZ4sZV0NXshPZiyNnsfqN/XNOyhpKr8a3VyVtee2nhO9+FY5IDEviHmR" - + "WDvH5TmB6Os3L6xvwE1ZQCPElk/cK2G1q9+zDBe4JDeo8o7lPhiNpVfcivnr" - + "+tyK9m7PqlssR0+ohuZGwrFMyzLugkOWh+qZ3pk8/7AwJosMvvTvIg36nN7R" - + "pdnouQNKqTm1Sr/UUnKyWqfG7zqKIuF72IkDwwafwuQ9YRX5PAOuRfo6bCyb" - + "D4w1OWdfGFciKMc1BrT+8JzhiTkzNe+jWEA5Tw1zeazPGpp1RHPz2np50G2s" - + "v025uiOSUilBe13Qpx0mAyx7z8Gl6eOxai6rQ/eB/Fu++BMx0OX8vO/K4//Q" - + "w43IPVPklGlb/3Qt7eoNf4tichuxrYJjHu4XbwnzB29Vmsan0XZFER7epvFj" - + "cAZCSG+O6G/f6Ib+7d7xYjLdUaPI60tJ4/C+AuYwZn4jJwTnMnMmwIypz4Z8" - + "XPXW5SbHlV5OkkFC+eAuuN4b2YXZmifeWv4fx65Ioir921LMJrorMizH41RJ" - + "/rAO5wGSwjeDJ784QhhLGbEUMygraRtdaz6MRx26InnoHY7V58ET3Z5YGV39" - + "p+9AtVhYw/QQmTZiF7hqnEMf9AMVFfac9qFF2+IN3g9HAMC6QLxJ1VuPn5oo" - + "lS//axPfjckO7iZx9x59/gAAAAEABVguNTA5AAABrzCCAaswggEUAgEBMA0G" - + "CSqGSIb3DQEBBQUAMB4xHDAaBgNVBAMTE1Rlc3QgQ0EgQ2VydGlmaWNhdGUw" - + "HhcNMDYxMjEzMjM0MzI5WhcNMDYxMjIwMjM0MzI5WjAeMRwwGgYDVQQDExNU" - + "ZXN0IENBIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB" - + "gQCmOumCM46ehsdcrZMw6tj0hMl5D0xf21gcyBj/ByIvpe008ukaN3zCXIUU" - + "UlAu0GkbI1sCbTD1V4qVZuaHqtfa/FINJjyZJy5w7KEx93OOF2/gyPlnEPGs" - + "6RPdThAPliSBsWKBKqtOdmKpwYn/NKuUNFRkFXVLLUPnjyEKjIcNywIDAQAB" - + "MA0GCSqGSIb3DQEBBQUAA4GBACi8J7raYqDFjXqAXXPJljZHqvzJNVaSWvBt" - + "K/oY7g0+sdGIjPR526fhSCxOZRr7G157ERqMnPjuFjcmcRlUOPsQtTl6KbUn" - + "xmKxa04UzDuNXzSx2oyGx5GCWx9u62hpO6vSpK69L9gHOUtM5dQXcoK4i3ol" - + "ScKaU8qaYb0mBAy87VQaPfaiQqqxSgqifbSowlg+0fg="); - - static final byte[] client = Base64.decode( - "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"); -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/LoggingDatagramTransport.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/LoggingDatagramTransport.java deleted file mode 100644 index ff9bdc04c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/LoggingDatagramTransport.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.PrintStream; - -import org.spongycastle.crypto.tls.DatagramTransport; - -public class LoggingDatagramTransport - implements DatagramTransport -{ - - private static final String HEX_CHARS = "0123456789ABCDEF"; - - private final DatagramTransport transport; - private final PrintStream output; - private final long launchTimestamp; - - public LoggingDatagramTransport(DatagramTransport transport, PrintStream output) - { - this.transport = transport; - this.output = output; - this.launchTimestamp = System.currentTimeMillis(); - } - - public int getReceiveLimit() - throws IOException - { - return transport.getReceiveLimit(); - } - - public int getSendLimit() - throws IOException - { - return transport.getSendLimit(); - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - int length = transport.receive(buf, off, len, waitMillis); - if (length >= 0) - { - dumpDatagram("Received", buf, off, length); - } - return length; - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - dumpDatagram("Sending", buf, off, len); - transport.send(buf, off, len); - } - - public void close() - throws IOException - { - } - - private void dumpDatagram(String verb, byte[] buf, int off, int len) - throws IOException - { - long timestamp = System.currentTimeMillis() - launchTimestamp; - StringBuffer sb = new StringBuffer("(+" + timestamp + "ms) " + verb + " " + len + " byte datagram:"); - for (int pos = 0; pos < len; ++pos) - { - if (pos % 16 == 0) - { - sb.append(System.getProperty("line.separator")); - sb.append(" "); - } - else if (pos % 16 == 8) - { - sb.append('-'); - } - else - { - sb.append(' '); - } - int val = buf[off + pos] & 0xFF; - sb.append(HEX_CHARS.charAt(val >> 4)); - sb.append(HEX_CHARS.charAt(val & 0xF)); - } - dump(sb.toString()); - } - - private synchronized void dump(String s) - { - output.println(s); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSClient.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSClient.java deleted file mode 100644 index 713599364..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSClient.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.PrintStream; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.crypto.tls.AlertLevel; -import org.spongycastle.crypto.tls.CertificateRequest; -import org.spongycastle.crypto.tls.CipherSuite; -import org.spongycastle.crypto.tls.ClientCertificateType; -import org.spongycastle.crypto.tls.DefaultTlsClient; -import org.spongycastle.crypto.tls.MaxFragmentLength; -import org.spongycastle.crypto.tls.ProtocolVersion; -import org.spongycastle.crypto.tls.SignatureAlgorithm; -import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm; -import org.spongycastle.crypto.tls.TlsAuthentication; -import org.spongycastle.crypto.tls.TlsCredentials; -import org.spongycastle.crypto.tls.TlsExtensionsUtils; -import org.spongycastle.crypto.tls.TlsSession; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -public class MockDTLSClient - extends DefaultTlsClient -{ - protected TlsSession session; - - public MockDTLSClient(TlsSession session) - { - this.session = session; - } - - public TlsSession getSessionToResume() - { - return this.session; - } - - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("DTLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("DTLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - } - - public ProtocolVersion getClientVersion() - { - return ProtocolVersion.DTLSv12; - } - - public ProtocolVersion getMinimumVersion() - { - return ProtocolVersion.DTLSv10; - } - - public Hashtable getClientExtensions() throws IOException - { - Hashtable clientExtensions = super.getClientExtensions(); - if (clientExtensions == null) - { - clientExtensions = new Hashtable(); - } - TlsExtensionsUtils.addMaxFragmentLengthExtension(clientExtensions, MaxFragmentLength.pow2_9); - TlsExtensionsUtils.addTruncatedHMacExtension(clientExtensions); - return clientExtensions; - } - - public void notifyServerVersion(ProtocolVersion serverVersion) throws IOException - { - super.notifyServerVersion(serverVersion); - - System.out.println("Negotiated " + serverVersion); - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return new TlsAuthentication() - { - public void notifyServerCertificate(org.spongycastle.crypto.tls.Certificate serverCertificate) - throws IOException - { - Certificate[] chain = serverCertificate.getCertificateList(); - System.out.println("Received server certificate chain of length " + chain.length); - for (int i = 0; i != chain.length; i++) - { - Certificate entry = chain[i]; - // TODO Create fingerprint based on certificate signature algorithm digest - System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" - + entry.getSubject() + ")"); - } - } - - public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) - throws IOException - { - short[] certificateTypes = certificateRequest.getCertificateTypes(); - if (certificateTypes == null || !Arrays.contains(certificateTypes, ClientCertificateType.rsa_sign)) - { - return null; - } - - SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; - Vector sigAlgs = certificateRequest.getSupportedSignatureAlgorithms(); - if (sigAlgs != null) - { - for (int i = 0; i < sigAlgs.size(); ++i) - { - SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) - sigAlgs.elementAt(i); - if (sigAlg.getSignature() == SignatureAlgorithm.rsa) - { - signatureAndHashAlgorithm = sigAlg; - break; - } - } - - if (signatureAndHashAlgorithm == null) - { - return null; - } - } - - // TODO Create a distinct client certificate for use here - return TlsTestUtils.loadSignerCredentials(context, new String[] { "x509-server.pem", "x509-ca.pem" }, - "x509-server-key.pem", signatureAndHashAlgorithm); - } - }; - } - - public void notifyHandshakeComplete() throws IOException - { - super.notifyHandshakeComplete(); - - TlsSession newSession = context.getResumableSession(); - if (newSession != null) - { - byte[] newSessionID = newSession.getSessionID(); - String hex = Hex.toHexString(newSessionID); - - if (this.session != null && Arrays.areEqual(this.session.getSessionID(), newSessionID)) - { - System.out.println("Resumed session: " + hex); - } - else - { - System.out.println("Established session: " + hex); - } - - this.session = newSession; - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSServer.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSServer.java deleted file mode 100644 index b8a5de9ea..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDTLSServer.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.PrintStream; -import java.util.Vector; - -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.crypto.tls.AlertLevel; -import org.spongycastle.crypto.tls.CertificateRequest; -import org.spongycastle.crypto.tls.CipherSuite; -import org.spongycastle.crypto.tls.ClientCertificateType; -import org.spongycastle.crypto.tls.DefaultTlsServer; -import org.spongycastle.crypto.tls.HashAlgorithm; -import org.spongycastle.crypto.tls.ProtocolVersion; -import org.spongycastle.crypto.tls.SignatureAlgorithm; -import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm; -import org.spongycastle.crypto.tls.TlsEncryptionCredentials; -import org.spongycastle.crypto.tls.TlsSignerCredentials; -import org.spongycastle.crypto.tls.TlsUtils; - -public class MockDTLSServer - extends DefaultTlsServer -{ - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("DTLS server raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("DTLS server received alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - } - - protected int[] getCipherSuites() - { - return new int[] { CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384, - CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA }; - } - - public CertificateRequest getCertificateRequest() - { - Vector serverSigAlgs = null; - - if (TlsUtils.isSignatureAlgorithmsExtensionAllowed(serverVersion)) - { - short[] hashAlgorithms = new short[]{ HashAlgorithm.sha512, HashAlgorithm.sha384, HashAlgorithm.sha256, - HashAlgorithm.sha224, HashAlgorithm.sha1 }; - short[] signatureAlgorithms = new short[]{ SignatureAlgorithm.rsa }; - - serverSigAlgs = new Vector(); - for (int i = 0; i < hashAlgorithms.length; ++i) - { - for (int j = 0; j < signatureAlgorithms.length; ++j) - { - serverSigAlgs.addElement(new SignatureAndHashAlgorithm(hashAlgorithms[i], - signatureAlgorithms[j])); - } - } - } - - return new CertificateRequest(new short[]{ ClientCertificateType.rsa_sign }, serverSigAlgs, null); - } - - public void notifyClientCertificate(org.spongycastle.crypto.tls.Certificate clientCertificate) - throws IOException - { - Certificate[] chain = clientCertificate.getCertificateList(); - System.out.println("Received client certificate chain of length " + chain.length); - for (int i = 0; i != chain.length; i++) - { - Certificate entry = chain[i]; - // TODO Create fingerprint based on certificate signature algorithm digest - System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" + entry.getSubject() - + ")"); - } - } - - protected ProtocolVersion getMaximumVersion() - { - return ProtocolVersion.DTLSv12; - } - - protected ProtocolVersion getMinimumVersion() - { - return ProtocolVersion.DTLSv10; - } - - protected TlsEncryptionCredentials getRSAEncryptionCredentials() - throws IOException - { - return TlsTestUtils.loadEncryptionCredentials(context, new String[]{"x509-server.pem", "x509-ca.pem"}, - "x509-server-key.pem"); - } - - protected TlsSignerCredentials getRSASignerCredentials() - throws IOException - { - /* - * TODO Note that this code fails to provide default value for the client supported - * algorithms if it wasn't sent. - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; - Vector sigAlgs = supportedSignatureAlgorithms; - if (sigAlgs != null) - { - for (int i = 0; i < sigAlgs.size(); ++i) - { - SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) - sigAlgs.elementAt(i); - if (sigAlg.getSignature() == SignatureAlgorithm.rsa) - { - signatureAndHashAlgorithm = sigAlg; - break; - } - } - - if (signatureAndHashAlgorithm == null) - { - return null; - } - } - return TlsTestUtils.loadSignerCredentials(context, new String[]{"x509-server.pem", "x509-ca.pem"}, - "x509-server-key.pem", signatureAndHashAlgorithm); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDatagramAssociation.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDatagramAssociation.java deleted file mode 100644 index 2693df37b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/MockDatagramAssociation.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.util.Vector; - -import org.spongycastle.crypto.tls.DatagramTransport; - -public class MockDatagramAssociation -{ - - private int mtu; - private MockDatagramTransport client, server; - - public MockDatagramAssociation(int mtu) - { - - this.mtu = mtu; - - Vector clientQueue = new Vector(); - Vector serverQueue = new Vector(); - - this.client = new MockDatagramTransport(clientQueue, serverQueue); - this.server = new MockDatagramTransport(serverQueue, clientQueue); - } - - public DatagramTransport getClient() - { - return client; - } - - public DatagramTransport getServer() - { - return server; - } - - private class MockDatagramTransport - implements DatagramTransport - { - - private Vector receiveQueue, sendQueue; - - MockDatagramTransport(Vector receiveQueue, Vector sendQueue) - { - this.receiveQueue = receiveQueue; - this.sendQueue = sendQueue; - } - - public int getReceiveLimit() - throws IOException - { - return mtu; - } - - public int getSendLimit() - throws IOException - { - return mtu; - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - synchronized (receiveQueue) - { - if (receiveQueue.isEmpty()) - { - try - { - receiveQueue.wait(waitMillis); - } - catch (InterruptedException e) - { - // TODO Keep waiting until full wait expired? - } - if (receiveQueue.isEmpty()) - { - return -1; - } - } - DatagramPacket packet = (DatagramPacket)receiveQueue.remove(0); - int copyLength = Math.min(len, packet.getLength()); - System.arraycopy(packet.getData(), packet.getOffset(), buf, off, copyLength); - return copyLength; - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (len > mtu) - { - // TODO Simulate rejection? - } - - byte[] copy = new byte[len]; - System.arraycopy(buf, off, copy, 0, len); - DatagramPacket packet = new DatagramPacket(copy, len); - - synchronized (sendQueue) - { - sendQueue.addElement(packet); - sendQueue.notify(); - } - } - - public void close() - throws IOException - { - // TODO? - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/OpenSSLSetup.txt b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/OpenSSLSetup.txt deleted file mode 100644 index a2c925f50..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/OpenSSLSetup.txt +++ /dev/null @@ -1,16 +0,0 @@ -------------------------------------------------------------------------- -Instructions for setting up an OpenSSL server for use with DTLSClientTest -------------------------------------------------------------------------- - -- Download and Install OpenSSL (exercise for the reader) - -- Make a working folder somewhere and copy the x509-*.pem from this package (in src/test/resources) to there. - -- Go to working folder and start OpenSSL server: -TLS: - openssl s_server -accept 5556 -debug -msg -state -tls1_1 -www -CAfile x509-ca.pem -cert x509-server.pem -key x509-server-key.pem -DTLS: - openssl s_server -accept 5556 -mtu 1500 -debug -msg -state -dtls1 -CAfile x509-ca.pem -cert x509-server.pem -key x509-server-key.pem - -NOTE: This is mainly of use to test the handshake. There doesn't appear to be an 'echo server' option with DTLS, but it will print - to stdout anything you send it, and lines you type into stdin (at the server) will be sent to the client. diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TestTlsClient.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TestTlsClient.java deleted file mode 100644 index affc116e4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TestTlsClient.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; - -import org.spongycastle.crypto.tls.DefaultTlsClient; -import org.spongycastle.crypto.tls.TlsAuthentication; - -public class TestTlsClient - extends DefaultTlsClient -{ - private final TlsAuthentication authentication; - - TestTlsClient(TlsAuthentication authentication) - { - this.authentication = authentication; - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return authentication; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsClientTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsClientTest.java deleted file mode 100644 index 7c91a2c4c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsClientTest.java +++ /dev/null @@ -1,222 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.PrintStream; -import java.net.InetAddress; -import java.net.Socket; -import java.security.SecureRandom; -import java.util.Hashtable; -import java.util.Vector; - -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.crypto.tls.AlertLevel; -import org.spongycastle.crypto.tls.CertificateRequest; -import org.spongycastle.crypto.tls.CipherSuite; -import org.spongycastle.crypto.tls.ClientCertificateType; -import org.spongycastle.crypto.tls.DefaultTlsClient; -import org.spongycastle.crypto.tls.MaxFragmentLength; -import org.spongycastle.crypto.tls.ProtocolVersion; -import org.spongycastle.crypto.tls.SignatureAlgorithm; -import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm; -import org.spongycastle.crypto.tls.TlsAuthentication; -import org.spongycastle.crypto.tls.TlsClient; -import org.spongycastle.crypto.tls.TlsClientProtocol; -import org.spongycastle.crypto.tls.TlsCredentials; -import org.spongycastle.crypto.tls.TlsExtensionsUtils; -import org.spongycastle.crypto.tls.TlsSession; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.encoders.Hex; - -/** - * A simple test designed to conduct a TLS handshake with an external TLS server. - *

    - * Please refer to GnuTLSSetup.txt or OpenSSLSetup.txt, and x509-*.pem files in this package for - * help configuring an external TLS server. - */ -public class TlsClientTest -{ - private static final SecureRandom secureRandom = new SecureRandom(); - - public static void main(String[] args) - throws Exception - { - InetAddress address = InetAddress.getLocalHost(); - int port = 5556; - - long time1 = System.currentTimeMillis(); - - MyTlsClient client = new MyTlsClient(null); - TlsClientProtocol protocol = openTlsConnection(address, port, client); - protocol.close(); - - long time2 = System.currentTimeMillis(); - System.out.println("Elapsed 1: " + (time2 - time1) + "ms"); - - client = new MyTlsClient(client.getSessionToResume()); - protocol = openTlsConnection(address, port, client); - - long time3 = System.currentTimeMillis(); - System.out.println("Elapsed 2: " + (time3 - time2) + "ms"); - - OutputStream output = protocol.getOutputStream(); - output.write("GET / HTTP/1.1\r\n\r\n".getBytes("UTF-8")); - output.flush(); - - InputStream input = protocol.getInputStream(); - BufferedReader reader = new BufferedReader(new InputStreamReader(input)); - - String line; - while ((line = reader.readLine()) != null) - { - System.out.println(">>> " + line); - } - - protocol.close(); - } - - static TlsClientProtocol openTlsConnection(InetAddress address, int port, TlsClient client) throws IOException - { - Socket s = new Socket(address, port); - TlsClientProtocol protocol = new TlsClientProtocol(s.getInputStream(), s.getOutputStream(), secureRandom); - protocol.connect(client); - return protocol; - } - - static class MyTlsClient - extends DefaultTlsClient - { - TlsSession session; - - MyTlsClient(TlsSession session) - { - this.session = session; - } - - public TlsSession getSessionToResume() - { - return this.session; - } - - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); - } - - public Hashtable getClientExtensions() throws IOException - { - Hashtable clientExtensions = TlsExtensionsUtils.ensureExtensionsInitialised(super.getClientExtensions()); - TlsExtensionsUtils.addMaxFragmentLengthExtension(clientExtensions, MaxFragmentLength.pow2_9); - TlsExtensionsUtils.addTruncatedHMacExtension(clientExtensions); - // For testing draft-gutmann-tls-encrypt-then-mac -// clientExtensions.put(Integers.valueOf(0x42), TlsExtensionsUtils.createEmptyExtensionData()); - return clientExtensions; - } - - public void notifyServerVersion(ProtocolVersion serverVersion) throws IOException - { - super.notifyServerVersion(serverVersion); - - System.out.println("Negotiated " + serverVersion); - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return new TlsAuthentication() - { - public void notifyServerCertificate(org.spongycastle.crypto.tls.Certificate serverCertificate) - throws IOException - { - Certificate[] chain = serverCertificate.getCertificateList(); - System.out.println("Received server certificate chain of length " + chain.length); - for (int i = 0; i != chain.length; i++) - { - Certificate entry = chain[i]; - // TODO Create fingerprint based on certificate signature algorithm digest - System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" - + entry.getSubject() + ")"); - } - } - - public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) - throws IOException - { - short[] certificateTypes = certificateRequest.getCertificateTypes(); - if (certificateTypes == null || !Arrays.contains(certificateTypes, ClientCertificateType.rsa_sign)) - { - return null; - } - - SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; - Vector sigAlgs = certificateRequest.getSupportedSignatureAlgorithms(); - if (sigAlgs != null) - { - for (int i = 0; i < sigAlgs.size(); ++i) - { - SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) - sigAlgs.elementAt(i); - if (sigAlg.getSignature() == SignatureAlgorithm.rsa) - { - signatureAndHashAlgorithm = sigAlg; - break; - } - } - - if (signatureAndHashAlgorithm == null) - { - return null; - } - } - - // TODO Create a distinct client certificate for use here - return TlsTestUtils.loadSignerCredentials(context, new String[] { "x509-server.pem", "x509-ca.pem" }, - "x509-server-key.pem", signatureAndHashAlgorithm); - } - }; - } - - public void notifyHandshakeComplete() throws IOException - { - super.notifyHandshakeComplete(); - - TlsSession newSession = context.getResumableSession(); - if (newSession != null) - { - byte[] newSessionID = newSession.getSessionID(); - String hex = Hex.toHexString(newSessionID); - - if (this.session != null && Arrays.areEqual(this.session.getSessionID(), newSessionID)) - { - System.out.println("Resumed session: " + hex); - } - else - { - System.out.println("Established session: " + hex); - } - - this.session = newSession; - } - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsProtocolTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsProtocolTest.java deleted file mode 100644 index 7567b858c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsProtocolTest.java +++ /dev/null @@ -1,294 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.io.PrintStream; -import java.security.SecureRandom; -import java.util.Vector; - -import junit.framework.TestCase; - -import org.spongycastle.asn1.x509.Certificate; -import org.spongycastle.crypto.tls.AlertLevel; -import org.spongycastle.crypto.tls.CertificateRequest; -import org.spongycastle.crypto.tls.CipherSuite; -import org.spongycastle.crypto.tls.ClientCertificateType; -import org.spongycastle.crypto.tls.DefaultTlsClient; -import org.spongycastle.crypto.tls.DefaultTlsServer; -import org.spongycastle.crypto.tls.HashAlgorithm; -import org.spongycastle.crypto.tls.ProtocolVersion; -import org.spongycastle.crypto.tls.SignatureAlgorithm; -import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm; -import org.spongycastle.crypto.tls.TlsAuthentication; -import org.spongycastle.crypto.tls.TlsClientProtocol; -import org.spongycastle.crypto.tls.TlsCredentials; -import org.spongycastle.crypto.tls.TlsEncryptionCredentials; -import org.spongycastle.crypto.tls.TlsServerProtocol; -import org.spongycastle.crypto.tls.TlsSignerCredentials; -import org.spongycastle.crypto.tls.TlsUtils; -import org.spongycastle.util.Arrays; - -public class TlsProtocolTest - extends TestCase -{ - public void testClientServer() - throws Exception - { - SecureRandom secureRandom = new SecureRandom(); - - PipedInputStream clientRead = new PipedInputStream(); - PipedInputStream serverRead = new PipedInputStream(); - PipedOutputStream clientWrite = new PipedOutputStream(serverRead); - PipedOutputStream serverWrite = new PipedOutputStream(clientRead); - - TlsClientProtocol clientProtocol = new TlsClientProtocol(clientRead, clientWrite, secureRandom); - TlsServerProtocol serverProtocol = new TlsServerProtocol(serverRead, serverWrite, secureRandom); - - ServerThread serverThread = new ServerThread(serverProtocol); - serverThread.start(); - - MyTlsClient client = new MyTlsClient(); - clientProtocol.connect(client); - - // byte[] data = new byte[64]; - // secureRandom.nextBytes(data); - // - // OutputStream output = clientProtocol.getOutputStream(); - // output.write(data); - // output.close(); - // - // byte[] echo = Streams.readAll(clientProtocol.getInputStream()); - serverThread.join(); - - // assertTrue(Arrays.areEqual(data, echo)); - } - - static class ServerThread - extends Thread - { - private final TlsServerProtocol serverProtocol; - - ServerThread(TlsServerProtocol serverProtocol) - { - this.serverProtocol = serverProtocol; - } - - public void run() - { - try - { - MyTlsServer server = new MyTlsServer(); - serverProtocol.accept(server); - // Streams.pipeAll(serverProtocol.getInputStream(), - // serverProtocol.getOutputStream()); - serverProtocol.close(); - } - catch (Exception e) - { - throw new RuntimeException(e); - } - } - } - - static class MyTlsClient - extends DefaultTlsClient - { - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS client received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); - } - - public TlsAuthentication getAuthentication() - throws IOException - { - return new TlsAuthentication() - { - public void notifyServerCertificate(org.spongycastle.crypto.tls.Certificate serverCertificate) - throws IOException - { - Certificate[] chain = serverCertificate.getCertificateList(); - System.out.println("Received server certificate chain of length " + chain.length); - for (int i = 0; i != chain.length; i++) - { - Certificate entry = chain[i]; - // TODO Create fingerprint based on certificate signature algorithm digest - System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" - + entry.getSubject() + ")"); - } - } - - public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) - throws IOException - { - short[] certificateTypes = certificateRequest.getCertificateTypes(); - if (certificateTypes == null || !Arrays.contains(certificateTypes, ClientCertificateType.rsa_sign)) - { - return null; - } - - SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; - Vector sigAlgs = certificateRequest.getSupportedSignatureAlgorithms(); - if (sigAlgs != null) - { - for (int i = 0; i < sigAlgs.size(); ++i) - { - SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) - sigAlgs.elementAt(i); - if (sigAlg.getSignature() == SignatureAlgorithm.rsa) - { - signatureAndHashAlgorithm = sigAlg; - break; - } - } - - if (signatureAndHashAlgorithm == null) - { - return null; - } - } - - // TODO Create a distinct client certificate for use here - return TlsTestUtils.loadSignerCredentials(context, new String[] { "x509-server.pem", "x509-ca.pem" }, - "x509-server-key.pem", signatureAndHashAlgorithm); - } - }; - } - } - - static class MyTlsServer - extends DefaultTlsServer - { - public void notifyAlertRaised(short alertLevel, short alertDescription, String message, Exception cause) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS server raised alert (AlertLevel." + alertLevel + ", AlertDescription." + alertDescription - + ")"); - if (message != null) - { - out.println(message); - } - if (cause != null) - { - cause.printStackTrace(out); - } - } - - public void notifyAlertReceived(short alertLevel, short alertDescription) - { - PrintStream out = (alertLevel == AlertLevel.fatal) ? System.err : System.out; - out.println("TLS server received alert (AlertLevel." + alertLevel + ", AlertDescription." - + alertDescription + ")"); - } - - protected int[] getCipherSuites() - { - return new int[] { CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384, - CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA, - CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA }; - } - - protected ProtocolVersion getMaximumVersion() - { - return ProtocolVersion.TLSv12; - } - - public CertificateRequest getCertificateRequest() throws IOException - { - Vector serverSigAlgs = null; - - if (TlsUtils.isSignatureAlgorithmsExtensionAllowed(serverVersion)) - { - short[] hashAlgorithms = new short[]{ HashAlgorithm.sha512, HashAlgorithm.sha384, HashAlgorithm.sha256, - HashAlgorithm.sha224, HashAlgorithm.sha1 }; - short[] signatureAlgorithms = new short[]{ SignatureAlgorithm.rsa }; - - serverSigAlgs = new Vector(); - for (int i = 0; i < hashAlgorithms.length; ++i) - { - for (int j = 0; j < signatureAlgorithms.length; ++j) - { - serverSigAlgs.addElement(new SignatureAndHashAlgorithm(hashAlgorithms[i], - signatureAlgorithms[j])); - } - } - } - - return new CertificateRequest(new short[]{ ClientCertificateType.rsa_sign }, serverSigAlgs, null); - } - - public void notifyClientCertificate(org.spongycastle.crypto.tls.Certificate clientCertificate) - throws IOException - { - Certificate[] chain = clientCertificate.getCertificateList(); - System.out.println("Received client certificate chain of length " + chain.length); - for (int i = 0; i != chain.length; i++) - { - Certificate entry = chain[i]; - // TODO Create fingerprint based on certificate signature algorithm digest - System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" - + entry.getSubject() + ")"); - } - } - - protected TlsEncryptionCredentials getRSAEncryptionCredentials() - throws IOException - { - return TlsTestUtils.loadEncryptionCredentials(context, new String[]{"x509-server.pem", "x509-ca.pem"}, - "x509-server-key.pem"); - } - - protected TlsSignerCredentials getRSASignerCredentials() - throws IOException - { - /* - * TODO Note that this code fails to provide default value for the client supported - * algorithms if it wasn't sent. - */ - SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; - Vector sigAlgs = supportedSignatureAlgorithms; - if (sigAlgs != null) - { - for (int i = 0; i < sigAlgs.size(); ++i) - { - SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) - sigAlgs.elementAt(i); - if (sigAlg.getSignature() == SignatureAlgorithm.rsa) - { - signatureAndHashAlgorithm = sigAlg; - break; - } - } - - if (signatureAndHashAlgorithm == null) - { - return null; - } - } - - return TlsTestUtils.loadSignerCredentials(context, new String[]{"x509-server.pem", "x509-ca.pem"}, - "x509-server-key.pem", signatureAndHashAlgorithm); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java deleted file mode 100644 index 4bdf154a0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; - -import org.spongycastle.asn1.pkcs.RSAPrivateKey; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters; -import org.spongycastle.crypto.tls.Certificate; -import org.spongycastle.crypto.tls.DefaultTlsAgreementCredentials; -import org.spongycastle.crypto.tls.DefaultTlsEncryptionCredentials; -import org.spongycastle.crypto.tls.DefaultTlsSignerCredentials; -import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm; -import org.spongycastle.crypto.tls.TlsAgreementCredentials; -import org.spongycastle.crypto.tls.TlsContext; -import org.spongycastle.crypto.tls.TlsEncryptionCredentials; -import org.spongycastle.crypto.tls.TlsSignerCredentials; -import org.spongycastle.crypto.util.PrivateKeyFactory; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.io.pem.PemObject; -import org.spongycastle.util.io.pem.PemReader; - -public class TlsTestUtils -{ - static final byte[] rsaCertData = Base64 - .decode("MIICUzCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1RoZSBMZWdpb2" - + "4gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJuZTERMA8GA1UECAwIVmljdG9yaWExLzAtBgkq" - + "hkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3VuY3ljYXN0bGUub3JnMB4XDTEzMDIyNTA2MDIwNVoXDTEzMDIyNT" - + "A2MDM0NVowgY8xCzAJBgNVBAYTAkFVMSgwJgYDVQQKDB9UaGUgTGVnaW9uIG9mIHRoZSBCb3VuY3kgQ2FzdGxlMRIw" - + "EAYDVQQHDAlNZWxib3VybmUxETAPBgNVBAgMCFZpY3RvcmlhMS8wLQYJKoZIhvcNAQkBFiBmZWVkYmFjay1jcnlwdG" - + "9AYm91bmN5Y2FzdGxlLm9yZzBaMA0GCSqGSIb3DQEBAQUAA0kAMEYCQQC0p+RhcFdPFqlwgrIr5YtqKmKXmEGb4Shy" - + "pL26Ymz66ZAPdqv7EhOdzl3lZWT6srZUMWWgQMYGiHQg4z2R7X7XAgERo0QwQjAOBgNVHQ8BAf8EBAMCBSAwEgYDVR" - + "0lAQH/BAgwBgYEVR0lADAcBgNVHREBAf8EEjAQgQ50ZXN0QHRlc3QudGVzdDANBgkqhkiG9w0BAQQFAANBAHU55Ncz" - + "eglREcTg54YLUlGWu2WOYWhit/iM1eeq8Kivro7q98eW52jTuMI3CI5ulqd0hYzshQKQaZ5GDzErMyM="); - - static final byte[] dudRsaCertData = Base64 - .decode("MIICUzCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1RoZSBMZWdpb2" - + "4gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJuZTERMA8GA1UECAwIVmljdG9yaWExLzAtBgkq" - + "hkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3VuY3ljYXN0bGUub3JnMB4XDTEzMDIyNTA1NDcyOFoXDTEzMDIyNT" - + "A1NDkwOFowgY8xCzAJBgNVBAYTAkFVMSgwJgYDVQQKDB9UaGUgTGVnaW9uIG9mIHRoZSBCb3VuY3kgQ2FzdGxlMRIw" - + "EAYDVQQHDAlNZWxib3VybmUxETAPBgNVBAgMCFZpY3RvcmlhMS8wLQYJKoZIhvcNAQkBFiBmZWVkYmFjay1jcnlwdG" - + "9AYm91bmN5Y2FzdGxlLm9yZzBaMA0GCSqGSIb3DQEBAQUAA0kAMEYCQQC0p+RhcFdPFqlwgrIr5YtqKmKXmEGb4Shy" - + "pL26Ymz66ZAPdqv7EhOdzl3lZWT6srZUMWWgQMYGiHQg4z2R7X7XAgERo0QwQjAOBgNVHQ8BAf8EBAMCAAEwEgYDVR" - + "0lAQH/BAgwBgYEVR0lADAcBgNVHREBAf8EEjAQgQ50ZXN0QHRlc3QudGVzdDANBgkqhkiG9w0BAQQFAANBAJg55PBS" - + "weg6obRUKF4FF6fCrWFi6oCYSQ99LWcAeupc5BofW5MstFMhCOaEucuGVqunwT5G7/DweazzCIrSzB0="); - - static String fingerprint(org.spongycastle.asn1.x509.Certificate c) - throws IOException - { - byte[] der = c.getEncoded(); - byte[] sha1 = sha256DigestOf(der); - byte[] hexBytes = Hex.encode(sha1); - String hex = new String(hexBytes, "ASCII").toUpperCase(); - - StringBuffer fp = new StringBuffer(); - int i = 0; - fp.append(hex.substring(i, i + 2)); - while ((i += 2) < hex.length()) - { - fp.append(':'); - fp.append(hex.substring(i, i + 2)); - } - return fp.toString(); - } - - static byte[] sha256DigestOf(byte[] input) - { - SHA256Digest d = new SHA256Digest(); - d.update(input, 0, input.length); - byte[] result = new byte[d.getDigestSize()]; - d.doFinal(result, 0); - return result; - } - - static TlsAgreementCredentials loadAgreementCredentials(TlsContext context, - String[] certResources, String keyResource) - throws IOException - { - Certificate certificate = loadCertificateChain(certResources); - AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource); - - return new DefaultTlsAgreementCredentials(certificate, privateKey); - } - - static TlsEncryptionCredentials loadEncryptionCredentials(TlsContext context, - String[] certResources, String keyResource) - throws IOException - { - Certificate certificate = loadCertificateChain(certResources); - AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource); - - return new DefaultTlsEncryptionCredentials(context, certificate, privateKey); - } - - static TlsSignerCredentials loadSignerCredentials(TlsContext context, String[] certResources, - String keyResource, SignatureAndHashAlgorithm signatureAndHashAlgorithm) - throws IOException - { - Certificate certificate = loadCertificateChain(certResources); - AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource); - - return new DefaultTlsSignerCredentials(context, certificate, privateKey, signatureAndHashAlgorithm); - } - - static Certificate loadCertificateChain(String[] resources) - throws IOException - { - org.spongycastle.asn1.x509.Certificate[] chain = new org.spongycastle.asn1.x509.Certificate[resources.length]; - for (int i = 0; i < resources.length; ++i) - { - chain[i] = loadCertificateResource(resources[i]); - } - return new Certificate(chain); - } - - static org.spongycastle.asn1.x509.Certificate loadCertificateResource(String resource) - throws IOException - { - PemObject pem = loadPemResource(resource); - if (pem.getType().endsWith("CERTIFICATE")) - { - return org.spongycastle.asn1.x509.Certificate.getInstance(pem.getContent()); - } - throw new IllegalArgumentException("'resource' doesn't specify a valid certificate"); - } - - static AsymmetricKeyParameter loadPrivateKeyResource(String resource) - throws IOException - { - PemObject pem = loadPemResource(resource); - if (pem.getType().endsWith("RSA PRIVATE KEY")) - { - RSAPrivateKey rsa = RSAPrivateKey.getInstance(pem.getContent()); - return new RSAPrivateCrtKeyParameters(rsa.getModulus(), rsa.getPublicExponent(), - rsa.getPrivateExponent(), rsa.getPrime1(), rsa.getPrime2(), rsa.getExponent1(), - rsa.getExponent2(), rsa.getCoefficient()); - } - if (pem.getType().endsWith("PRIVATE KEY")) - { - return PrivateKeyFactory.createKey(pem.getContent()); - } - throw new IllegalArgumentException("'resource' doesn't specify a valid private key"); - } - - static PemObject loadPemResource(String resource) - throws IOException - { - InputStream s = TlsTestUtils.class.getResourceAsStream(resource); - PemReader p = new PemReader(new InputStreamReader(s)); - PemObject o = p.readPemObject(); - p.close(); - return o; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/UnreliableDatagramTransport.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/UnreliableDatagramTransport.java deleted file mode 100644 index b1b388179..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/UnreliableDatagramTransport.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.crypto.tls.test; - -import java.io.IOException; -import java.util.Random; - -import org.spongycastle.crypto.tls.DatagramTransport; - -public class UnreliableDatagramTransport - implements DatagramTransport -{ - - private final DatagramTransport transport; - private final Random random; - private final int percentPacketLossReceiving, percentPacketLossSending; - - public UnreliableDatagramTransport(DatagramTransport transport, Random random, - int percentPacketLossReceiving, int percentPacketLossSending) - { - if (percentPacketLossReceiving < 0 || percentPacketLossReceiving > 100) - { - throw new IllegalArgumentException("'percentPacketLossReceiving' out of range"); - } - if (percentPacketLossSending < 0 || percentPacketLossSending > 100) - { - throw new IllegalArgumentException("'percentPacketLossSending' out of range"); - } - - this.transport = transport; - this.random = random; - this.percentPacketLossReceiving = percentPacketLossReceiving; - this.percentPacketLossSending = percentPacketLossSending; - } - - public int getReceiveLimit() - throws IOException - { - return transport.getReceiveLimit(); - } - - public int getSendLimit() - throws IOException - { - return transport.getSendLimit(); - } - - public int receive(byte[] buf, int off, int len, int waitMillis) - throws IOException - { - long endMillis = System.currentTimeMillis() + waitMillis; - for (; ; ) - { - int length = transport.receive(buf, off, len, waitMillis); - if (length < 0 || !lostPacket(percentPacketLossReceiving)) - { - return length; - } - - System.out.println("PACKET LOSS (" + length + " byte packet not received)"); - - long now = System.currentTimeMillis(); - if (now >= endMillis) - { - return -1; - } - - waitMillis = (int)(endMillis - now); - } - } - - public void send(byte[] buf, int off, int len) - throws IOException - { - if (lostPacket(percentPacketLossSending)) - { - System.out.println("PACKET LOSS (" + len + " byte packet not sent)"); - } - else - { - transport.send(buf, off, len); - } - } - - public void close() - throws IOException - { - transport.close(); - } - - private boolean lostPacket(int percentPacketLoss) - { - return percentPacketLoss > 0 && random.nextInt(100) < percentPacketLoss; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/HTMLFilterTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/HTMLFilterTest.java deleted file mode 100644 index bd6716b06..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/HTMLFilterTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.i18n.filter.test; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.HTMLFilter; - -import junit.framework.TestCase; - -public class HTMLFilterTest extends TestCase -{ - - private static final String test1 = "hello world"; - - private static final String test2 = ""; - - private static final String test3 = "javascript:attack()"; - - private static final String test4 = "\"hello\""; - - public void testDoFilter() - { - Filter dummy = new HTMLFilter(); - - assertEquals("No filtering", "hello world", dummy.doFilter(test1)); - assertEquals("script tags", "<script></script>", dummy.doFilter(test2)); - assertEquals("javascript link", "javascript:attack()", dummy.doFilter(test3)); - assertEquals("", ""hello"", dummy.doFilter(test4)); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/SQLFilterTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/SQLFilterTest.java deleted file mode 100644 index a8340c024..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/filter/test/SQLFilterTest.java +++ /dev/null @@ -1,20 +0,0 @@ - -package org.spongycastle.i18n.filter.test; - -import org.spongycastle.i18n.filter.Filter; -import org.spongycastle.i18n.filter.SQLFilter; - -import junit.framework.TestCase; - -public class SQLFilterTest extends TestCase -{ - - private static final String test1 = "\'\"=-/\\;\r\n"; - - public void testDoFilter() - { - Filter filter = new SQLFilter(); - assertEquals("encode special charaters","\\\'\\\"\\=\\-\\/\\\\\\;\\r\\n",filter.doFilter(test1)); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/AllTests.java deleted file mode 100644 index d9872801c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/AllTests.java +++ /dev/null @@ -1,28 +0,0 @@ - -package org.spongycastle.i18n.test; - -import org.spongycastle.i18n.filter.test.HTMLFilterTest; -import org.spongycastle.i18n.filter.test.SQLFilterTest; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests extends TestCase -{ - - public static void main (String[] args) - { - junit.textui.TestRunner.run (suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("i18n tests"); - suite.addTestSuite(LocalizedMessageTest.class); - suite.addTestSuite(HTMLFilterTest.class); - suite.addTestSuite(SQLFilterTest.class); - return suite; - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/LocalizedMessageTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/LocalizedMessageTest.java deleted file mode 100644 index 65e03f547..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/i18n/test/LocalizedMessageTest.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.spongycastle.i18n.test; - -import junit.framework.TestCase; -import org.spongycastle.i18n.LocaleString; -import org.spongycastle.i18n.LocalizedMessage; -import org.spongycastle.i18n.MissingEntryException; -import org.spongycastle.i18n.filter.HTMLFilter; -import org.spongycastle.i18n.filter.TrustedInput; -import org.spongycastle.util.encoders.Hex; - -import java.io.UnsupportedEncodingException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; - -public class LocalizedMessageTest extends TestCase -{ - - private static final String TEST_RESOURCE = "org.spongycastle.i18n.test.I18nTestMessages"; - private static final String UTF8_TEST_RESOURCE = "org.spongycastle.i18n.test.I18nUTF8TestMessages"; - - /* - * test message id's - */ - private static final String timeTestId = "time"; - private static final String argsTestId = "arguments"; - private static final String localeTestId = "hello"; - private static final String missingTestId = "missing"; - private static final String filterTestId = "filter"; - private static final String utf8TestId = "utf8"; - - /* - * Test method for 'org.spongycastle.i18n.LocalizedMessage.getEntry(String, - * Locale, TimeZone)' - */ - public void testGetEntry() - { - LocalizedMessage msg; - - // test different locales - msg = new LocalizedMessage(TEST_RESOURCE, localeTestId); - assertEquals("Hello world.", msg.getEntry("text", Locale.ENGLISH, - TimeZone.getDefault())); - assertEquals("Hallo Welt.", msg.getEntry("text", Locale.GERMAN, - TimeZone.getDefault())); - - // test arguments - Object[] args = new Object[] { "Nobody" }; - msg = new LocalizedMessage(TEST_RESOURCE, argsTestId, args); - assertEquals("My name is Nobody.", msg.getEntry("text", Locale.ENGLISH, - TimeZone.getDefault())); - assertEquals("Mein Name ist Nobody.", msg.getEntry("text", - Locale.GERMAN, TimeZone.getDefault())); - - // test timezones - // test date 17. Aug. 13:12:00 GMT - Date testDate = new Date(1155820320000l); - args = new Object[] { new TrustedInput(testDate) }; - msg = new LocalizedMessage(TEST_RESOURCE, timeTestId, args); - assertEquals("It's 1:12:00 PM GMT at Aug 17, 2006.", msg.getEntry( - "text", Locale.ENGLISH, TimeZone.getTimeZone("GMT"))); - // NOTE: Older JDKs appear to use '.' as the time separator for German locale - assertEquals("Es ist 13:12 Uhr GMT am 17.08.2006.", msg.getEntry( - "text", Locale.GERMAN, TimeZone.getTimeZone("GMT")).replace("13.12", "13:12")); - - // test time with filter - args = new Object[] { new TrustedInput(testDate) }; - msg = new LocalizedMessage(TEST_RESOURCE, timeTestId, args); - msg.setFilter(new HTMLFilter()); - assertEquals("It's 1:12:00 PM GMT at Aug 17, 2006.", msg.getEntry( - "text", Locale.ENGLISH, TimeZone.getTimeZone("GMT"))); - // NOTE: Older JDKs appear to use '.' as the time separator for German locale - assertEquals("Es ist 13:12 Uhr GMT am 17.08.2006.", msg.getEntry( - "text", Locale.GERMAN, TimeZone.getTimeZone("GMT")).replace("13.12", "13:12")); - - // test number - args = new Object[] { new TrustedInput(new Float(0.2)) }; - msg = new LocalizedMessage(TEST_RESOURCE, "number", args); - assertEquals("20%", msg.getEntry("text", Locale.ENGLISH, TimeZone.getDefault())); - - // test filters - String untrusted = ""; - args = new Object[] { untrusted }; - msg = new LocalizedMessage(TEST_RESOURCE,filterTestId,args); - msg.setFilter(new HTMLFilter()); - assertEquals("The following part should contain no HTML tags: " - + "<script>doBadThings()</script>", - msg.getEntry("text",Locale.ENGLISH, TimeZone.getDefault())); - - // test missing entry - msg = new LocalizedMessage(TEST_RESOURCE, missingTestId); - try - { - String text = msg.getEntry("text", Locale.UK, TimeZone - .getDefault()); - fail(); - } - catch (MissingEntryException e) - { -// System.out.println(e.getDebugMsg()); - } - - // test missing entry - try - { - URLClassLoader cl = URLClassLoader.newInstance(new URL[] {new URL("file:///nonexistent/")}); - msg = new LocalizedMessage(TEST_RESOURCE, missingTestId); - msg.setClassLoader(cl); - try - { - String text = msg.getEntry("text", Locale.UK, TimeZone - .getDefault()); - fail(); - } - catch (MissingEntryException e) - { -// System.out.println(e.getDebugMsg()); - } - } - catch (MalformedURLException e) - { - - } - - // test utf8 - try - { -// String expectedUtf8 = "some umlauts äöüèéà"; - String expectedUtf8 = new String(Hex.decode("736f6d6520756d6c6175747320c3a4c3b6c3bcc3a8c3a9c3a0"), "UTF-8"); - msg = new LocalizedMessage(UTF8_TEST_RESOURCE, utf8TestId, "UTF-8"); - assertEquals(expectedUtf8, msg.getEntry("text", Locale.GERMAN, TimeZone.getDefault())); - } - catch (UnsupportedEncodingException e) - { - - } - - } - - public void testLocalizedArgs() - { - LocaleString ls = new LocaleString(TEST_RESOURCE, "name"); - - // without filter - Object[] args = new Object[] { ls }; - LocalizedMessage msg = new LocalizedMessage(TEST_RESOURCE, argsTestId, args); - assertEquals("My name is John.", msg.getEntry("text", Locale.ENGLISH, - TimeZone.getDefault())); - assertEquals("Mein Name ist Hans.", msg.getEntry("text", - Locale.GERMAN, TimeZone.getDefault())); - - // with filter - msg.setFilter(new HTMLFilter()); - assertEquals("My name is John.", msg.getEntry("text", Locale.ENGLISH, - TimeZone.getDefault())); - assertEquals("Mein Name ist Hans.", msg.getEntry("text", - Locale.GERMAN, TimeZone.getDefault())); - - // add extra args - LocaleString lsExtra = new LocaleString(TEST_RESOURCE, "hello.text"); - msg.setExtraArguments(new Object[] {" ", lsExtra}); - assertEquals("My name is John. Hello world.", msg.getEntry("text", Locale.ENGLISH, - TimeZone.getDefault())); - assertEquals("Mein Name ist Hans. Hallo Welt.", msg.getEntry("text", - Locale.GERMAN, TimeZone.getDefault())); - - // missing localized arg - try - { - ls = new LocaleString(TEST_RESOURCE, "noname"); - args = new Object[] { ls }; - msg = new LocalizedMessage(TEST_RESOURCE, argsTestId, args); - msg.getEntry("text", Locale.ENGLISH, TimeZone.getDefault()); - fail(); - } - catch (MissingEntryException e) - { - assertEquals("Can't find entry noname in resource file org.spongycastle.i18n.test.I18nTestMessages.", e.getMessage()); - } - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/AllTests.java deleted file mode 100644 index bab276e4c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/AllTests.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.math.ec.test; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTests -{ - public static void main (String[] args) - throws Exception - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - throws Exception - { - TestSuite suite = new TestSuite("EC Math tests"); - - suite.addTest(ECPointTest.suite()); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointPerformanceTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointPerformanceTest.java deleted file mode 100644 index b1fb643da..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointPerformanceTest.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.spongycastle.math.ec.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import junit.framework.TestCase; - -import org.spongycastle.asn1.x9.ECNamedCurveTable; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -/** - * Compares the performance of the the window NAF point multiplication against - * conventional point multiplication. - */ -public class ECPointPerformanceTest extends TestCase -{ - public static final int PRE_ROUNDS = 10; - public static final int NUM_ROUNDS = 100; - - private static String[] COORD_NAMES = new String[]{ "AFFINE", "HOMOGENEOUS", "JACOBIAN", "JACOBIAN-CHUDNOVSKY", - "JACOBIAN-MODIFIED", "LAMBDA-AFFINE", "LAMBDA-PROJECTIVE", "SKEWED" }; - - private void randMult(final String curveName) throws Exception - { - X9ECParameters spec = ECNamedCurveTable.getByName(curveName); - ECCurve C = spec.getCurve(); - ECPoint G = (ECPoint) spec.getG(); - BigInteger n = spec.getN(); - - SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN"); - random.setSeed(System.currentTimeMillis()); - - System.out.println(curveName); - - int[] coords = ECCurve.getAllCoordinateSystems(); - for (int i = 0; i < coords.length; ++i) - { - int coord = coords[i]; - if (C.supportsCoordinateSystem(coord)) - { - ECCurve c = C; - ECPoint g = G; - if (c.getCoordinateSystem() != coord) - { - c = C.configure().setCoordinateSystem(coord).create(); - g = c.importPoint(G); - } - - double avgDuration = randMult(random, c, g, n); - String coordName = COORD_NAMES[coord]; - StringBuffer sb = new StringBuffer(); - sb.append(" "); - sb.append(coordName); - for (int j = coordName.length(); j < 30; ++j) - { - sb.append(' '); - } - sb.append(": "); - sb.append(avgDuration); - sb.append("ms"); - System.out.println(sb.toString()); - } - } - - System.out.println(); - } - - private double randMult(SecureRandom random, ECCurve c, ECPoint g, BigInteger n) throws Exception - { - BigInteger[] ks = new BigInteger[16]; - for (int i = 0; i < ks.length; ++i) - { - ks[i] = new BigInteger(n.bitLength() - 1, random); - } - - int ki = 0; - ECPoint p = g; - for (int i = 1; i <= PRE_ROUNDS; i++) - { - BigInteger k = ks[ki]; - p = g.multiply(k); - if (++ki == ks.length) - { - ki = 0; - g = p; - } - } - long startTime = System.currentTimeMillis(); - for (int i = 1; i <= NUM_ROUNDS; i++) - { - BigInteger k = ks[ki]; - p = g.multiply(k); - if (++ki == ks.length) - { - ki = 0; - g = p; - } - } - long endTime = System.currentTimeMillis(); - - return (double) (endTime - startTime) / NUM_ROUNDS; - } - - public void testMultiply() throws Exception - { -// Enumeration e = SECNamedCurves.getNames(); -// while (e.hasMoreElements()) -// { -// String name = (String)e.nextElement(); -// randMult(name); -// } - - - randMult("sect113r1"); - randMult("sect113r2"); - randMult("sect131r1"); - randMult("sect131r2"); - randMult("sect163k1"); - randMult("sect163r1"); - randMult("sect163r2"); - randMult("sect193r1"); - randMult("sect193r2"); - randMult("sect233k1"); - randMult("sect233r1"); - randMult("sect239k1"); - randMult("sect283k1"); - randMult("sect283r1"); - randMult("sect409k1"); - randMult("sect409r1"); - randMult("sect571k1"); - randMult("sect571r1"); - - randMult("secp112r1"); - randMult("secp112r2"); - randMult("secp128r1"); - randMult("secp128r2"); - randMult("secp160k1"); - randMult("secp160r1"); - randMult("secp160r2"); - randMult("secp192k1"); - randMult("secp192r1"); - randMult("secp224k1"); - randMult("secp224r1"); - randMult("secp256k1"); - randMult("secp256r1"); - randMult("secp384r1"); - randMult("secp521r1"); - - randMult("brainpoolp160r1"); - randMult("brainpoolp160t1"); - randMult("brainpoolp192r1"); - randMult("brainpoolp192t1"); - randMult("brainpoolp224r1"); - randMult("brainpoolp224t1"); - randMult("brainpoolp256r1"); - randMult("brainpoolp256t1"); - randMult("brainpoolp320r1"); - randMult("brainpoolp320t1"); - randMult("brainpoolp384r1"); - randMult("brainpoolp384t1"); - randMult("brainpoolp512r1"); - randMult("brainpoolp512t1"); - } - - // public static void main(String argv[]) throws Exception - // { - // ECMultiplyPerformanceTest test = new ECMultiplyPerformanceTest(); - // test.testMultiply(); - // } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointTest.java deleted file mode 100644 index a14e062d0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/ECPointTest.java +++ /dev/null @@ -1,455 +0,0 @@ -package org.spongycastle.math.ec.test; - -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.Enumeration; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.math.ec.ECCurve; -import org.spongycastle.math.ec.ECPoint; - -/** - * Test class for {@link org.spongycastle.math.ec.ECPoint ECPoint}. All - * literature values are taken from "Guide to elliptic curve cryptography", - * Darrel Hankerson, Alfred J. Menezes, Scott Vanstone, 2004, Springer-Verlag - * New York, Inc. - */ -public class ECPointTest extends TestCase -{ - /** - * Random source used to generate random points - */ - private SecureRandom secRand = new SecureRandom(); - - private ECPointTest.Fp fp = null; - - private ECPointTest.F2m f2m = null; - - /** - * Nested class containing sample literature values for Fp. - */ - public static class Fp - { - private final BigInteger q = new BigInteger("29"); - - private final BigInteger a = new BigInteger("4"); - - private final BigInteger b = new BigInteger("20"); - - private final ECCurve curve = new ECCurve.Fp(q, a, b); - - private final ECPoint infinity = curve.getInfinity(); - - private final int[] pointSource = { 5, 22, 16, 27, 13, 6, 14, 6 }; - - private ECPoint[] p = new ECPoint[pointSource.length / 2]; - - /** - * Creates the points on the curve with literature values. - */ - private void createPoints() - { - for (int i = 0; i < pointSource.length / 2; i++) - { - p[i] = curve.createPoint( - new BigInteger(Integer.toString(pointSource[2 * i])), - new BigInteger(Integer.toString(pointSource[2 * i + 1]))); - } - } - } - - /** - * Nested class containing sample literature values for F2m. - */ - public static class F2m - { - // Irreducible polynomial for TPB z^4 + z + 1 - private final int m = 4; - - private final int k1 = 1; - - // a = z^3 - private final BigInteger aTpb = new BigInteger("1000", 2); - - // b = z^3 + 1 - private final BigInteger bTpb = new BigInteger("1001", 2); - - private final ECCurve.F2m curve = new ECCurve.F2m(m, k1, aTpb, bTpb); - - private final ECPoint.F2m infinity = (ECPoint.F2m) curve.getInfinity(); - - private final String[] pointSource = { "0010", "1111", "1100", "1100", - "0001", "0001", "1011", "0010" }; - - private ECPoint[] p = new ECPoint[pointSource.length / 2]; - - /** - * Creates the points on the curve with literature values. - */ - private void createPoints() - { - for (int i = 0; i < pointSource.length / 2; i++) - { - p[i] = curve.createPoint( - new BigInteger(pointSource[2 * i], 2), - new BigInteger(pointSource[2 * i + 1], 2)); - } - } - } - - public void setUp() - { - fp = new ECPointTest.Fp(); - fp.createPoints(); - - f2m = new ECPointTest.F2m(); - f2m.createPoints(); - } - - /** - * Tests, if inconsistent points can be created, i.e. points with exactly - * one null coordinate (not permitted). - */ - public void testPointCreationConsistency() - { - try - { - ECPoint bad = fp.curve.createPoint(new BigInteger("12"), null); - fail(); - } - catch (IllegalArgumentException expected) - { - } - - try - { - ECPoint bad = fp.curve.createPoint(null, new BigInteger("12")); - fail(); - } - catch (IllegalArgumentException expected) - { - } - - try - { - ECPoint bad = f2m.curve.createPoint(new BigInteger("1011"), null); - fail(); - } - catch (IllegalArgumentException expected) - { - } - - try - { - ECPoint bad = f2m.curve.createPoint(null, new BigInteger("1011")); - fail(); - } - catch (IllegalArgumentException expected) - { - } - } - - /** - * Tests ECPoint.add() against literature values. - * - * @param p - * The array of literature values. - * @param infinity - * The point at infinity on the respective curve. - */ - private void implTestAdd(ECPoint[] p, ECPoint infinity) - { - assertPointsEqual("p0 plus p1 does not equal p2", p[2], p[0].add(p[1])); - assertPointsEqual("p1 plus p0 does not equal p2", p[2], p[1].add(p[0])); - for (int i = 0; i < p.length; i++) - { - assertPointsEqual("Adding infinity failed", p[i], p[i].add(infinity)); - assertPointsEqual("Adding to infinity failed", p[i], infinity.add(p[i])); - } - } - - /** - * Calls implTestAdd() for Fp and - * F2m. - */ - public void testAdd() - { - implTestAdd(fp.p, fp.infinity); - implTestAdd(f2m.p, f2m.infinity); - } - - /** - * Tests ECPoint.twice() against literature values. - * - * @param p - * The array of literature values. - */ - private void implTestTwice(ECPoint[] p) - { - assertPointsEqual("Twice incorrect", p[3], p[0].twice()); - assertPointsEqual("Add same point incorrect", p[3], p[0].add(p[0])); - } - - /** - * Calls implTestTwice() for Fp and - * F2m. - */ - public void testTwice() - { - implTestTwice(fp.p); - implTestTwice(f2m.p); - } - - private void implTestThreeTimes(ECPoint[] p) - { - ECPoint P = p[0]; - ECPoint _3P = P.add(P).add(P); - assertPointsEqual("ThreeTimes incorrect", _3P, P.threeTimes()); - assertPointsEqual("TwicePlus incorrect", _3P, P.twicePlus(P)); - } - - /** - * Calls implTestThreeTimes() for Fp and - * F2m. - */ - public void testThreeTimes() - { - implTestThreeTimes(fp.p); - implTestThreeTimes(f2m.p); - } - - /** - * Goes through all points on an elliptic curve and checks, if adding a - * point k-times is the same as multiplying the point by - * k, for all k. Should be called for points - * on very small elliptic curves only. - * - * @param p - * The base point on the elliptic curve. - * @param infinity - * The point at infinity on the elliptic curve. - */ - private void implTestAllPoints(ECPoint p, ECPoint infinity) - { - ECPoint adder = infinity; - ECPoint multiplier = infinity; - - BigInteger i = BigInteger.valueOf(1); - do - { - adder = adder.add(p); - multiplier = p.multiply(i); - assertPointsEqual("Results of add() and multiply() are inconsistent " - + i, adder, multiplier); - i = i.add(BigInteger.ONE); - } - while (!(adder.equals(infinity))); - } - - /** - * Calls implTestAllPoints() for the small literature curves, - * both for Fp and F2m. - */ - public void testAllPoints() - { - for (int i = 0; i < fp.p.length; i++) - { - implTestAllPoints(fp.p[0], fp.infinity); - } - - for (int i = 0; i < f2m.p.length; i++) - { - implTestAllPoints(f2m.p[0], f2m.infinity); - } - } - - /** - * Simple shift-and-add multiplication. Serves as reference implementation - * to verify (possibly faster) implementations in - * {@link org.spongycastle.math.ec.ECPoint ECPoint}. - * - * @param p - * The point to multiply. - * @param k - * The multiplier. - * @return The result of the point multiplication kP. - */ - private ECPoint multiply(ECPoint p, BigInteger k) - { - ECPoint q = p.getCurve().getInfinity(); - int t = k.bitLength(); - for (int i = 0; i < t; i++) - { - if (i != 0) - { - p = p.twice(); - } - if (k.testBit(i)) - { - q = q.add(p); - } - } - return q; - } - - /** - * Checks, if the point multiplication algorithm of the given point yields - * the same result as point multiplication done by the reference - * implementation given in multiply(). This method chooses a - * random number by which the given point p is multiplied. - * - * @param p - * The point to be multiplied. - * @param numBits - * The bitlength of the random number by which p - * is multiplied. - */ - private void implTestMultiply(ECPoint p, int numBits) - { - BigInteger k = new BigInteger(numBits, secRand); - ECPoint ref = multiply(p, k); - ECPoint q = p.multiply(k); - assertPointsEqual("ECPoint.multiply is incorrect", ref, q); - } - - /** - * Checks, if the point multiplication algorithm of the given point yields - * the same result as point multiplication done by the reference - * implementation given in multiply(). This method tests - * multiplication of p by every number of bitlength - * numBits or less. - * - * @param p - * The point to be multiplied. - * @param numBits - * Try every multiplier up to this bitlength - */ - private void implTestMultiplyAll(ECPoint p, int numBits) - { - BigInteger bound = BigInteger.ONE.shiftLeft(numBits); - BigInteger k = BigInteger.ZERO; - - do - { - ECPoint ref = multiply(p, k); - ECPoint q = p.multiply(k); - assertPointsEqual("ECPoint.multiply is incorrect", ref, q); - k = k.add(BigInteger.ONE); - } - while (k.compareTo(bound) < 0); - } - - /** - * Tests ECPoint.add() and ECPoint.subtract() - * for the given point and the given point at infinity. - * - * @param p - * The point on which the tests are performed. - * @param infinity - * The point at infinity on the same curve as p. - */ - private void implTestAddSubtract(ECPoint p, ECPoint infinity) - { - assertPointsEqual("Twice and Add inconsistent", p.twice(), p.add(p)); - assertPointsEqual("Twice p - p is not p", p, p.twice().subtract(p)); - assertPointsEqual("TwicePlus(p, -p) is not p", p, p.twicePlus(p.negate())); - assertPointsEqual("p - p is not infinity", infinity, p.subtract(p)); - assertPointsEqual("p plus infinity is not p", p, p.add(infinity)); - assertPointsEqual("infinity plus p is not p", p, infinity.add(p)); - assertPointsEqual("infinity plus infinity is not infinity ", infinity, infinity.add(infinity)); - assertPointsEqual("Twice infinity is not infinity ", infinity, infinity.twice()); - } - - /** - * Calls implTestAddSubtract() for literature values, both - * for Fp and F2m. - */ - public void testAddSubtractMultiplySimple() - { - for (int iFp = 0; iFp < fp.pointSource.length / 2; iFp++) - { - implTestAddSubtract(fp.p[iFp], fp.infinity); - - // Could be any numBits, 6 is chosen at will - implTestMultiplyAll(fp.p[iFp], 6); - implTestMultiplyAll(fp.infinity, 6); - } - - for (int iF2m = 0; iF2m < f2m.pointSource.length / 2; iF2m++) - { - implTestAddSubtract(f2m.p[iF2m], f2m.infinity); - - // Could be any numBits, 6 is chosen at will - implTestMultiplyAll(f2m.p[iF2m], 6); - implTestMultiplyAll(f2m.infinity, 6); - } - } - - /** - * Test encoding with and without point compression. - * - * @param p - * The point to be encoded and decoded. - */ - private void implTestEncoding(ECPoint p) - { - // Not Point Compression - ECPoint unCompP = p.getCurve().createPoint(p.getAffineXCoord().toBigInteger(), p.getAffineYCoord().toBigInteger(), false); - - // Point compression - ECPoint compP = p.getCurve().createPoint(p.getAffineXCoord().toBigInteger(), p.getAffineYCoord().toBigInteger(), true); - - byte[] unCompBarr = unCompP.getEncoded(); - ECPoint decUnComp = p.getCurve().decodePoint(unCompBarr); - assertPointsEqual("Error decoding uncompressed point", p, decUnComp); - - byte[] compBarr = compP.getEncoded(); - ECPoint decComp = p.getCurve().decodePoint(compBarr); - assertPointsEqual("Error decoding compressed point", p, decComp); - } - - /** - * Calls implTestAddSubtract(), - * implTestMultiply and implTestEncoding for - * the standard elliptic curves as given in SECNamedCurves. - */ - public void testAddSubtractMultiplyTwiceEncoding() - { - Enumeration curveEnum = SECNamedCurves.getNames(); - while (curveEnum.hasMoreElements()) - { - String name = (String) curveEnum.nextElement(); - X9ECParameters x9ECParameters = SECNamedCurves.getByName(name); - - BigInteger n = x9ECParameters.getN(); - - // The generator is multiplied by random b to get random q - BigInteger b = new BigInteger(n.bitLength(), secRand); - ECPoint g = x9ECParameters.getG(); - ECPoint q = g.multiply(b).normalize(); - - // Get point at infinity on the curve - ECPoint infinity = x9ECParameters.getCurve().getInfinity(); - - implTestAddSubtract(q, infinity); - implTestMultiply(q, n.bitLength()); - implTestMultiply(infinity, n.bitLength()); - implTestEncoding(q); - } - } - - private void assertPointsEqual(String message, ECPoint a, ECPoint b) - { - assertEquals(message, a, b); - } - - public static Test suite() - { - return new TestSuite(ECPointTest.class); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/F2mProofer.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/F2mProofer.java deleted file mode 100644 index 9d7e5195b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/F2mProofer.java +++ /dev/null @@ -1,203 +0,0 @@ -package org.spongycastle.math.ec.test; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.util.Iterator; -import java.util.Properties; -import java.util.Set; - -import org.spongycastle.asn1.sec.SECNamedCurves; -import org.spongycastle.asn1.x9.X9ECParameters; -import org.spongycastle.math.ec.ECFieldElement; -import org.spongycastle.math.ec.ECPoint; - -public class F2mProofer -{ - private static final int NUM_SAMPLES = 1000; - - private static final String PATH = "crypto/test/src/org/spongycastle/math/ec/test/samples/"; - - private static final String INPUT_FILE_NAME_PREFIX = "Input_"; - - private static final String RESULT_FILE_NAME_PREFIX = "Output_"; - - /** - * The standard curves on which the tests are done - */ - public static final String[] CURVES = { "sect163r2", "sect233r1", - "sect283r1", "sect409r1", "sect571r1" }; - - private String pointToString(ECPoint.F2m p) - { - ECFieldElement.F2m x = (ECFieldElement.F2m) p.getAffineXCoord(); - ECFieldElement.F2m y = (ECFieldElement.F2m) p.getAffineYCoord(); - - int m = x.getM(); - int len = m / 2 + 5; - - StringBuffer sb = new StringBuffer(len); - sb.append('('); - sb.append(x.toBigInteger().toString(16)); - sb.append(", "); - sb.append(y.toBigInteger().toString(16)); - sb.append(')'); - - return sb.toString(); - } - - private void generateRandomInput(X9ECParameters x9ECParameters) - throws NoSuchAlgorithmException, IOException - { - ECPoint.F2m g = (ECPoint.F2m) x9ECParameters.getG(); - int m = ((ECFieldElement.F2m) (g.getAffineXCoord())).getM(); - - SecureRandom secRand = SecureRandom.getInstance("SHA1PRNG"); - Properties inputProps = new Properties(); - for (int i = 0; i < NUM_SAMPLES; i++) - { - BigInteger rand = new BigInteger(m, secRand); - inputProps.put(Integer.toString(i), rand.toString(16)); - } - String bits = Integer.toString(m); - FileOutputStream fos = new FileOutputStream(PATH - + INPUT_FILE_NAME_PREFIX + bits + ".properties"); - inputProps.store(fos, "Input Samples of length" + bits); - } - - private void multiplyPoints(X9ECParameters x9ECParameters, - String classPrefix) throws IOException - { - ECPoint.F2m g = (ECPoint.F2m) x9ECParameters.getG(); - int m = ((ECFieldElement.F2m) (g.getAffineXCoord())).getM(); - - String inputFileName = PATH + INPUT_FILE_NAME_PREFIX + m - + ".properties"; - Properties inputProps = new Properties(); - inputProps.load(new FileInputStream(inputFileName)); - - Properties outputProps = new Properties(); - - for (int i = 0; i < NUM_SAMPLES; i++) - { - BigInteger rand = new BigInteger(inputProps.getProperty(Integer - .toString(i)), 16); - ECPoint.F2m result = (ECPoint.F2m) g.multiply(rand).normalize(); - String resultStr = pointToString(result); - outputProps.setProperty(Integer.toString(i), resultStr); - } - - String outputFileName = PATH + RESULT_FILE_NAME_PREFIX + classPrefix - + "_" + m + ".properties"; - FileOutputStream fos = new FileOutputStream(outputFileName); - outputProps.store(fos, "Output Samples of length" + m); - } - - private Properties loadResults(String classPrefix, int m) - throws IOException - { - FileInputStream fis = new FileInputStream(PATH - + RESULT_FILE_NAME_PREFIX + classPrefix + "_" + m + ".properties"); - Properties res = new Properties(); - res.load(fis); - return res; - - } - - private void compareResult(X9ECParameters x9ECParameters, - String classPrefix1, String classPrefix2) throws IOException - { - ECPoint.F2m g = (ECPoint.F2m) x9ECParameters.getG(); - int m = ((ECFieldElement.F2m) (g.getAffineXCoord())).getM(); - - Properties res1 = loadResults(classPrefix1, m); - Properties res2 = loadResults(classPrefix2, m); - - Set keys = res1.keySet(); - Iterator iter = keys.iterator(); - while (iter.hasNext()) - { - String key = (String) iter.next(); - String result1 = res1.getProperty(key); - String result2 = res2.getProperty(key); - if (!(result1.equals(result2))) - { - System.err.println("Difference found: m = " + m + ", " - + result1 + " does not equal " + result2); - } - } - - } - - private static void usage() - { - System.err.println("Usage: F2mProofer [-init | -multiply " - + "| -compare ]"); - } - - public static void main(String[] args) throws Exception - { - if (args.length == 0) - { - usage(); - return; - } - F2mProofer proofer = new F2mProofer(); - if (args[0].equals("-init")) - { - System.out.println("Generating random input..."); - for (int i = 0; i < CURVES.length; i++) - { - X9ECParameters x9ECParameters = SECNamedCurves - .getByName(CURVES[i]); - proofer.generateRandomInput(x9ECParameters); - } - System.out - .println("Successfully generated random input in " + PATH); - } - else if (args[0].equals("-compare")) - { - if (args.length < 3) - { - usage(); - return; - } - String classPrefix1 = args[1]; - String classPrefix2 = args[2]; - System.out.println("Comparing results..."); - for (int i = 0; i < CURVES.length; i++) - { - X9ECParameters x9ECParameters = SECNamedCurves - .getByName(CURVES[i]); - proofer.compareResult(x9ECParameters, classPrefix1, - classPrefix2); - } - System.out.println("Successfully compared results in " + PATH); - } - else if (args[0].equals("-multiply")) - { - if (args.length < 2) - { - usage(); - return; - } - String classPrefix = args[1]; - System.out.println("Multiplying points..."); - for (int i = 0; i < CURVES.length; i++) - { - X9ECParameters x9ECParameters = SECNamedCurves - .getByName(CURVES[i]); - proofer.multiplyPoints(x9ECParameters, classPrefix); - } - System.out.println("Successfully generated multiplied points in " - + PATH); - } - else - { - usage(); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/TnafTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/TnafTest.java deleted file mode 100644 index bd527c6fb..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/math/ec/test/TnafTest.java +++ /dev/null @@ -1,152 +0,0 @@ -//package org.spongycastle.math.ec.test; -// -//import java.math.BigInteger; -//import java.util.Random; -// -//import junit.framework.TestCase; -// -//import org.spongycastle.asn1.sec.SECNamedCurves; -//import org.spongycastle.asn1.x9.X9ECParameters; -//import org.spongycastle.math.ec.ECCurve; -//import org.spongycastle.math.ec.ECPoint; -//import org.spongycastle.math.ec.NafL2RMultiplier; -//import org.spongycastle.math.ec.ReferenceMultiplier; -//import org.spongycastle.math.ec.WNafL2RMultiplier; -//import org.spongycastle.math.ec.WTauNafMultiplier; -// -//public class TnafTest extends TestCase -//{ -// private Random m_rand = new Random(); -// -// private String ecPointToString(ECPoint p) { -// StringBuffer sb = new StringBuffer("x = "); -// sb.append(p.getX().toBigInteger().toString()); -// sb.append("; y = "); -// sb.append(p.getY().toBigInteger().toString()); -// return sb.toString(); -// } -// -// private ECPoint repeatedMultiply(ECPoint p, BigInteger k) -// { -// ECPoint result = p.multiply(k); -// for (int i = 1; i < 10; ++i) -// { -// ECPoint check = p.multiply(k); -// assertEquals(result, check); -// } -// return result; -// } -// -// private void implTestMultiplyTnaf(String curveName) { -// X9ECParameters x9ECParameters = SECNamedCurves.getByName(curveName); -// -// ECCurve.F2m curve = (ECCurve.F2m)x9ECParameters.getCurve(); -// BigInteger n = curve.getN(); -// -// // The generator is multiplied by random b to get random q -// BigInteger b = new BigInteger(n.bitLength(), m_rand); -// ECPoint g = x9ECParameters.getG(); -// ECPoint.F2m p = (ECPoint.F2m)g.multiply(b); -// -// BigInteger k = new BigInteger(n.bitLength(), m_rand); -// long now1 = System.currentTimeMillis(); -// p.setECMultiplier(new WTauNafMultiplier()); -// ECPoint refRWTnaf = repeatedMultiply(p, k); -// long now2 = System.currentTimeMillis(); -// p.setECMultiplier(new WNafL2RMultiplier()); -// ECPoint refWnaf = repeatedMultiply(p, k); -// long now3 = System.currentTimeMillis(); -// p.setECMultiplier(new NafL2RMultiplier()); -// ECPoint refFpNaf = repeatedMultiply(p, k); -// long now4 = System.currentTimeMillis(); -// p.setECMultiplier(new ReferenceMultiplier()); -// ECPoint reference = repeatedMultiply(p, k); -// long now5 = System.currentTimeMillis(); -// -// assertEquals("WTNAF multiplication is incorrect", refRWTnaf, reference); -// assertEquals("FPNAF multiplication is incorrect", refFpNaf, reference); -// assertEquals("WNAF multiplication is incorrect", refWnaf, reference); -// -// System.out.println(curveName + ": Multiply WTNAF took millis: " + (now2 - now1)); -// System.out.println(curveName + ": Multiply WNAF took millis: " + (now3 - now2)); -// System.out.println(curveName + ": Multiply FPNAF took millis: " + (now4 - now3)); -// System.out.println(curveName + ": Multiply REFE took millis: " + (now5 - now4)); -// -//// System.out.println(curveName + ": refRWTnaf = " + ecPointToString(refRWTnaf)); -//// System.out.println(curveName + ": refWnaf = " + ecPointToString(refWnaf)); -//// System.out.println(curveName + ": refFpNaf = " + ecPointToString(refFpNaf)); -//// System.out.println(curveName + ": reference = " + ecPointToString(reference) + "\n"); -// System.out.println(); -// } -// -// public void testMultiplyTnaf() { -// System.out.println("\n\n\n***** Start test multiplications on F2m (Koblitz) *****"); -// implTestMultiplyTnaf("sect163k1"); -// implTestMultiplyTnaf("sect233k1"); -// implTestMultiplyTnaf("sect239k1"); -// implTestMultiplyTnaf("sect283k1"); -// implTestMultiplyTnaf("sect409k1"); -// implTestMultiplyTnaf("sect571k1"); -// } -// -// private void implTestMultiplyWnaf(String curveName) { -// X9ECParameters x9ECParameters = SECNamedCurves.getByName(curveName); -// -// BigInteger r = x9ECParameters.getN(); -// -// // The generator is multiplied by random b to get random q -// BigInteger b = new BigInteger(r.bitLength(), m_rand); -// ECPoint g = x9ECParameters.getG(); -// ECPoint p = g.multiply(b); -// -// BigInteger k = new BigInteger(r.bitLength(), m_rand); -// long now1 = System.currentTimeMillis(); -// p.setECMultiplier(new WNafL2RMultiplier()); -// ECPoint refWnaf = repeatedMultiply(p, k); -// long now2 = System.currentTimeMillis(); -// p.setECMultiplier(new NafL2RMultiplier()); -// ECPoint refFpNaf = repeatedMultiply(p, k); -// long now3 = System.currentTimeMillis(); -// p.setECMultiplier(new ReferenceMultiplier()); -// ECPoint reference = repeatedMultiply(p, k); -// long now4 = System.currentTimeMillis(); -// -// assertEquals("WNAF multiplication is incorrect", refWnaf, reference); -// assertEquals("FPNAF multiplication is incorrect", refFpNaf, reference); -// -// System.out.println(curveName + ": Multiply WNAF took millis: " + (now2 - now1)); -// System.out.println(curveName + ": Multiply FPNAF took millis: " + (now3 - now2)); -// System.out.println(curveName + ": Multiply REFE took millis: " + (now4 - now3)); -// -//// System.out.println(curveName + ": refWnaf = " + ecPointToString(refWnaf)); -//// System.out.println(curveName + ": refFpNaf = " + ecPointToString(refFpNaf)); -//// System.out.println(curveName + ": reference = " + ecPointToString(reference)); -// System.out.println(); -// } -// -// public void testMultiplyWnaf() { -// System.out.println("\n\n\n***** Start test multiplications on F2m *****"); -// implTestMultiplyWnaf("sect113r1"); -// implTestMultiplyWnaf("sect113r2"); -// implTestMultiplyWnaf("sect131r1"); -// implTestMultiplyWnaf("sect131r2"); -// implTestMultiplyWnaf("sect163r1"); -// implTestMultiplyWnaf("sect163r2"); -// implTestMultiplyWnaf("sect193r1"); -// implTestMultiplyWnaf("sect193r2"); -// implTestMultiplyWnaf("sect233r1"); -// implTestMultiplyWnaf("sect283r1"); -// implTestMultiplyWnaf("sect409r1"); -// implTestMultiplyWnaf("sect571r1"); -// -// System.out.println("\n\n\n***** Start test multiplications on Fp *****"); -// implTestMultiplyWnaf("secp112r1"); -// implTestMultiplyWnaf("secp128r1"); -// implTestMultiplyWnaf("secp160r1"); -// implTestMultiplyWnaf("secp192r1"); -// implTestMultiplyWnaf("secp224r1"); -// implTestMultiplyWnaf("secp256r1"); -// implTestMultiplyWnaf("secp384r1"); -// implTestMultiplyWnaf("secp521r1"); -// } -//} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/AllTests.java deleted file mode 100644 index 20c8a1546..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/AllTests.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testCrypto() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("Lightweight PQ Crypto Tests"); - - suite.addTestSuite(AllTests.class); - suite.addTestSuite(BitStringTest.class); - suite.addTestSuite(EncryptionKeyTest.class); - suite.addTestSuite(NTRUEncryptionParametersTest.class); - suite.addTestSuite(NTRUEncryptTest.class); - suite.addTestSuite(NTRUSignatureParametersTest.class); - suite.addTestSuite(NTRUSignatureKeyTest.class); - suite.addTestSuite(NTRUSignerTest.class); - suite.addTestSuite(NTRUSigningParametersTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/BitStringTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/BitStringTest.java deleted file mode 100644 index 449c83ebe..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/BitStringTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.IndexGenerator.BitString; -import org.spongycastle.util.Arrays; - -public class BitStringTest - extends TestCase -{ - public void testAppendBitsByteArray() - { - BitString bs = new BitString(); - bs.appendBits((byte)78); - assertBitStringEquals(bs, new byte[]{78}); - bs.appendBits((byte)-5); - assertBitStringEquals(bs, new byte[]{78, -5}); - bs.appendBits((byte)127); - assertBitStringEquals(bs, new byte[]{78, -5, 127}); - bs.appendBits((byte)0); - assertBitStringEquals(bs, new byte[]{78, -5, 127, 0}); - bs.appendBits((byte)100); - assertBitStringEquals(bs, new byte[]{78, -5, 127, 0, 100}); - } - - private void assertBitStringEquals(BitString bs, byte[] arr) - { - byte[] bsBytes = bs.getBytes(); - - assertTrue(bsBytes.length >= arr.length); - arr = copyOf(arr, bsBytes.length); - assertTrue(Arrays.areEqual(arr, bsBytes)); - } - - public void testGetTrailing() - { - BitString bs = new BitString(); - bs.appendBits((byte)78); - BitString bs2 = bs.getTrailing(3); - assertBitStringEquals(bs2, new byte[]{6}); - - bs = new BitString(); - bs.appendBits((byte)78); - bs.appendBits((byte)-5); - bs2 = bs.getTrailing(9); - assertBitStringEquals(bs2, new byte[]{78, 1}); - - bs2.appendBits((byte)100); - assertBitStringEquals(bs2, new byte[]{78, -55}); - bs = bs2.getTrailing(13); - assertBitStringEquals(bs, new byte[]{78, 9}); - bs2 = bs2.getTrailing(11); - assertBitStringEquals(bs2, new byte[]{78, 1}); - - bs2.appendBits((byte)100); - assertBitStringEquals(bs2, new byte[]{78, 33, 3}); - bs2 = bs2.getTrailing(16); - assertBitStringEquals(bs2, new byte[]{78, 33}); - } - - public void testGetLeadingAsInt() - { - BitString bs = new BitString(); - bs.appendBits((byte)78); - bs.appendBits((byte)42); - assertEquals(1, bs.getLeadingAsInt(3)); - assertEquals(84, bs.getLeadingAsInt(9)); - assertEquals(338, bs.getLeadingAsInt(11)); - - BitString bs2 = bs.getTrailing(11); - assertBitStringEquals(bs2, new byte[]{78, 2}); - assertEquals(590, bs2.getLeadingAsInt(11)); - assertEquals(9, bs2.getLeadingAsInt(5)); - - bs2.appendBits((byte)115); - assertEquals(230, bs2.getLeadingAsInt(9)); - assertEquals(922, bs2.getLeadingAsInt(11)); - - bs2.appendBits((byte)-36); - assertEquals(55, bs2.getLeadingAsInt(6)); - } - - private byte[] copyOf(byte[] src, int length) - { - byte[] tmp = new byte[length]; - System.arraycopy(src, 0, tmp, 0, tmp.length > src.length ? src.length : tmp.length); - return tmp; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/EncryptionKeyTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/EncryptionKeyTest.java deleted file mode 100644 index 1b152bffd..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/EncryptionKeyTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyPairGenerator; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyGenerationParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionPrivateKeyParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionPublicKeyParameters; - -public class EncryptionKeyTest - extends TestCase -{ - public void testEncode() - throws IOException - { - for (NTRUEncryptionKeyGenerationParameters params : new NTRUEncryptionKeyGenerationParameters[]{NTRUEncryptionKeyGenerationParameters.APR2011_743, NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST, NTRUEncryptionKeyGenerationParameters.EES1499EP1}) - { - testEncode(params); - } - } - - private void testEncode(NTRUEncryptionKeyGenerationParameters params) - throws IOException - { - NTRUEncryptionKeyPairGenerator kpGen = new NTRUEncryptionKeyPairGenerator(); - - kpGen.init(params); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - byte[] priv = ((NTRUEncryptionPrivateKeyParameters)kp.getPrivate()).getEncoded(); - byte[] pub = ((NTRUEncryptionPublicKeyParameters)kp.getPublic()).getEncoded(); - - AsymmetricCipherKeyPair kp2 = new AsymmetricCipherKeyPair(new NTRUEncryptionPublicKeyParameters(pub, params.getEncryptionParameters()), new NTRUEncryptionPrivateKeyParameters(priv, params.getEncryptionParameters())); - assertEquals(kp.getPublic(), kp2.getPublic()); - assertEquals(kp.getPrivate(), kp2.getPrivate()); - - ByteArrayOutputStream bos1 = new ByteArrayOutputStream(); - ByteArrayOutputStream bos2 = new ByteArrayOutputStream(); - ((NTRUEncryptionPrivateKeyParameters)kp.getPrivate()).writeTo(bos1); - ((NTRUEncryptionPublicKeyParameters)kp.getPublic()).writeTo(bos2); - ByteArrayInputStream bis1 = new ByteArrayInputStream(bos1.toByteArray()); - ByteArrayInputStream bis2 = new ByteArrayInputStream(bos2.toByteArray()); - AsymmetricCipherKeyPair kp3 = new AsymmetricCipherKeyPair(new NTRUEncryptionPublicKeyParameters(bis2, params.getEncryptionParameters()), new NTRUEncryptionPrivateKeyParameters(bis1, params.getEncryptionParameters())); - assertEquals(kp.getPublic(), kp3.getPublic()); - assertEquals(kp.getPrivate(), kp3.getPrivate()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/GMSSSignerTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/GMSSSignerTest.java deleted file mode 100644 index 476322eb2..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/GMSSSignerTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.Signer; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.DigestingMessageSigner; -import org.spongycastle.pqc.crypto.gmss.GMSSDigestProvider; -import org.spongycastle.pqc.crypto.gmss.GMSSKeyGenerationParameters; -import org.spongycastle.pqc.crypto.gmss.GMSSKeyPairGenerator; -import org.spongycastle.pqc.crypto.gmss.GMSSParameters; -import org.spongycastle.pqc.crypto.gmss.GMSSPrivateKeyParameters; -import org.spongycastle.pqc.crypto.gmss.GMSSSigner; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - - -public class GMSSSignerTest - extends SimpleTest -{ - byte[] keyData = Hex.decode("b5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - - SecureRandom keyRandom = new FixedSecureRandom(new byte[][]{keyData, keyData}); - - public String getName() - { - return "GMSS"; - } - - public void performTest() - throws Exception - { - - GMSSParameters params = new GMSSParameters(3, - new int[]{15, 15, 10}, new int[]{5, 5, 4}, new int[]{3, 3, 2}); - - GMSSDigestProvider digProvider = new GMSSDigestProvider() - { - public Digest get() - { - return new SHA224Digest(); - } - }; - - GMSSKeyPairGenerator gmssKeyGen = new GMSSKeyPairGenerator(digProvider); - - GMSSKeyGenerationParameters genParam = new GMSSKeyGenerationParameters(keyRandom, params); - - gmssKeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = gmssKeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom); - - // TODO - Signer gmssSigner = new DigestingMessageSigner(new GMSSSigner(digProvider), new SHA224Digest()); - gmssSigner.init(true, param); - - byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517")); - gmssSigner.update(message, 0, message.length); - byte[] sig = gmssSigner.generateSignature(); - - - gmssSigner.init(false, pair.getPublic()); - gmssSigner.update(message, 0, message.length); - if (!gmssSigner.verifySignature(sig)) - { - fail("verification fails"); - } - - if (!((GMSSPrivateKeyParameters)pair.getPrivate()).isUsed()) - { - fail("private key not marked as used"); - } - } - - public static void main( - String[] args) - { - runTest(new GMSSSignerTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceFujisakiCipherTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceFujisakiCipherTest.java deleted file mode 100644 index d36107c23..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceFujisakiCipherTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.security.SecureRandom; -import java.util.Random; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2Parameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceFujisakiCipher; -import org.spongycastle.pqc.crypto.mceliece.McElieceFujisakiDigestCipher; -import org.spongycastle.util.test.SimpleTest; - -public class McElieceFujisakiCipherTest - extends SimpleTest -{ - - SecureRandom keyRandom = new SecureRandom(); - - public String getName() - { - return "McElieceFujisaki"; - - } - - - public void performTest() - { - int numPassesKPG = 1; - int numPassesEncDec = 10; - Random rand = new Random(); - byte[] mBytes; - for (int j = 0; j < numPassesKPG; j++) - { - - McElieceCCA2Parameters params = new McElieceCCA2Parameters(); - McElieceCCA2KeyPairGenerator mcElieceCCA2KeyGen = new McElieceCCA2KeyPairGenerator(); - McElieceCCA2KeyGenerationParameters genParam = new McElieceCCA2KeyGenerationParameters(keyRandom, params); - - mcElieceCCA2KeyGen.init(genParam); - AsymmetricCipherKeyPair pair = mcElieceCCA2KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPublic(), keyRandom); - Digest msgDigest = new SHA256Digest(); - McElieceFujisakiDigestCipher mcElieceFujisakiDigestCipher = new McElieceFujisakiDigestCipher(new McElieceFujisakiCipher(), msgDigest); - - - for (int k = 1; k <= numPassesEncDec; k++) - { - System.out.println("############### test: " + k); - // initialize for encryption - mcElieceFujisakiDigestCipher.init(true, param); - - // generate random message - int mLength = (rand.nextInt() & 0x1f) + 1;; - mBytes = new byte[mLength]; - rand.nextBytes(mBytes); - - // encrypt - mcElieceFujisakiDigestCipher.update(mBytes, 0, mBytes.length); - byte[] enc = mcElieceFujisakiDigestCipher.messageEncrypt(); - - // initialize for decryption - mcElieceFujisakiDigestCipher.init(false, pair.getPrivate()); - byte[] constructedmessage = mcElieceFujisakiDigestCipher.messageDecrypt(enc); - - // XXX write in McElieceFujisakiDigestCipher? - msgDigest.update(mBytes, 0, mBytes.length); - byte[] hash = new byte[msgDigest.getDigestSize()]; - msgDigest.doFinal(hash, 0); - - boolean verified = true; - for (int i = 0; i < hash.length; i++) - { - verified = verified && hash[i] == constructedmessage[i]; - } - - if (!verified) - { - fail("en/decryption fails"); - } - else - { - System.out.println("test okay"); - System.out.println(); - } - - } - } - - } - - public static void main( - String[] args) - { - runTest(new McElieceFujisakiCipherTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceKobaraImaiCipherTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceKobaraImaiCipherTest.java deleted file mode 100644 index df8d4ed97..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McElieceKobaraImaiCipherTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.security.SecureRandom; -import java.util.Random; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2Parameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceKobaraImaiCipher; -import org.spongycastle.pqc.crypto.mceliece.McElieceKobaraImaiDigestCipher; -import org.spongycastle.util.test.SimpleTest; - -public class McElieceKobaraImaiCipherTest - extends SimpleTest -{ - - SecureRandom keyRandom = new SecureRandom(); - - public String getName() - { - return "McElieceKobaraImai"; - - } - - - public void performTest() - { - int numPassesKPG = 1; - int numPassesEncDec = 10; - Random rand = new Random(); - byte[] mBytes; - for (int j = 0; j < numPassesKPG; j++) - { - - McElieceCCA2Parameters params = new McElieceCCA2Parameters(); - McElieceCCA2KeyPairGenerator mcElieceCCA2KeyGen = new McElieceCCA2KeyPairGenerator(); - McElieceCCA2KeyGenerationParameters genParam = new McElieceCCA2KeyGenerationParameters(keyRandom, params); - - mcElieceCCA2KeyGen.init(genParam); - AsymmetricCipherKeyPair pair = mcElieceCCA2KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPublic(), keyRandom); - Digest msgDigest = new SHA256Digest(); - McElieceKobaraImaiDigestCipher mcElieceKobaraImaiDigestCipher = new McElieceKobaraImaiDigestCipher(new McElieceKobaraImaiCipher(), msgDigest); - - - for (int k = 1; k <= numPassesEncDec; k++) - { - System.out.println("############### test: " + k); - // initialize for encryption - mcElieceKobaraImaiDigestCipher.init(true, param); - - // generate random message - int mLength = (rand.nextInt() & 0x1f) + 1; - mBytes = new byte[mLength]; - rand.nextBytes(mBytes); - - // encrypt - mcElieceKobaraImaiDigestCipher.update(mBytes, 0, mBytes.length); - byte[] enc = mcElieceKobaraImaiDigestCipher.messageEncrypt(); - - // initialize for decryption - mcElieceKobaraImaiDigestCipher.init(false, pair.getPrivate()); - byte[] constructedmessage = mcElieceKobaraImaiDigestCipher.messageDecrypt(enc); - - // XXX write in McElieceFujisakiDigestCipher? - msgDigest.update(mBytes, 0, mBytes.length); - byte[] hash = new byte[msgDigest.getDigestSize()]; - msgDigest.doFinal(hash, 0); - - boolean verified = true; - for (int i = 0; i < hash.length; i++) - { - verified = verified && hash[i] == constructedmessage[i]; - } - - if (!verified) - { - fail("en/decryption fails"); - } - else - { - System.out.println("test okay"); - System.out.println(); - } - - } - } - - } - - public static void main( - String[] args) - { - runTest(new McElieceKobaraImaiCipherTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePKCSCipherTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePKCSCipherTest.java deleted file mode 100644 index 8578d808f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePKCSCipherTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.security.SecureRandom; -import java.util.Random; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.mceliece.McElieceKeyGenerationParameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceKeyPairGenerator; -import org.spongycastle.pqc.crypto.mceliece.McEliecePKCSCipher; -import org.spongycastle.pqc.crypto.mceliece.McEliecePKCSDigestCipher; -import org.spongycastle.pqc.crypto.mceliece.McElieceParameters; -import org.spongycastle.util.test.SimpleTest; - -public class McEliecePKCSCipherTest - extends SimpleTest -{ - - SecureRandom keyRandom = new SecureRandom(); - - public String getName() - { - return "McEliecePKCS"; - - } - - - public void performTest() - { - int numPassesKPG = 1; - int numPassesEncDec = 10; - Random rand = new Random(); - byte[] mBytes; - for (int j = 0; j < numPassesKPG; j++) - { - - McElieceParameters params = new McElieceParameters(); - McElieceKeyPairGenerator mcElieceKeyGen = new McElieceKeyPairGenerator(); - McElieceKeyGenerationParameters genParam = new McElieceKeyGenerationParameters(keyRandom, params); - - mcElieceKeyGen.init(genParam); - AsymmetricCipherKeyPair pair = mcElieceKeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPublic(), keyRandom); - Digest msgDigest = new SHA256Digest(); - McEliecePKCSDigestCipher mcEliecePKCSDigestCipher = new McEliecePKCSDigestCipher(new McEliecePKCSCipher(), msgDigest); - - - for (int k = 1; k <= numPassesEncDec; k++) - { - System.out.println("############### test: " + k); - // initialize for encryption - mcEliecePKCSDigestCipher.init(true, param); - - // generate random message - int mLength = (rand.nextInt() & 0x1f) + 1; - mBytes = new byte[mLength]; - rand.nextBytes(mBytes); - - // encrypt - mcEliecePKCSDigestCipher.update(mBytes, 0, mBytes.length); - byte[] enc = mcEliecePKCSDigestCipher.messageEncrypt(); - - // initialize for decryption - mcEliecePKCSDigestCipher.init(false, pair.getPrivate()); - byte[] constructedmessage = mcEliecePKCSDigestCipher.messageDecrypt(enc); - - // XXX write in McElieceFujisakiDigestCipher? - msgDigest.update(mBytes, 0, mBytes.length); - byte[] hash = new byte[msgDigest.getDigestSize()]; - msgDigest.doFinal(hash, 0); - - boolean verified = true; - for (int i = 0; i < hash.length; i++) - { - verified = verified && hash[i] == constructedmessage[i]; - } - - if (!verified) - { - fail("en/decryption fails"); - } - else - { - System.out.println("test okay"); - System.out.println(); - } - - } - } - - } - - public static void main( - String[] args) - { - runTest(new McEliecePKCSCipherTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePointchevalCipherTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePointchevalCipherTest.java deleted file mode 100644 index ba41fcfdb..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/McEliecePointchevalCipherTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.security.SecureRandom; -import java.util.Random; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator; -import org.spongycastle.pqc.crypto.mceliece.McElieceCCA2Parameters; -import org.spongycastle.pqc.crypto.mceliece.McEliecePointchevalCipher; -import org.spongycastle.pqc.crypto.mceliece.McEliecePointchevalDigestCipher; -import org.spongycastle.util.test.SimpleTest; - -public class McEliecePointchevalCipherTest - extends SimpleTest -{ - - SecureRandom keyRandom = new SecureRandom(); - - public String getName() - { - return "McElieceFujisaki"; - - } - - - public void performTest() - { - int numPassesKPG = 1; - int numPassesEncDec = 10; - Random rand = new Random(); - byte[] mBytes; - for (int j = 0; j < numPassesKPG; j++) - { - - McElieceCCA2Parameters params = new McElieceCCA2Parameters(); - McElieceCCA2KeyPairGenerator mcElieceCCA2KeyGen = new McElieceCCA2KeyPairGenerator(); - McElieceCCA2KeyGenerationParameters genParam = new McElieceCCA2KeyGenerationParameters(keyRandom, params); - - mcElieceCCA2KeyGen.init(genParam); - AsymmetricCipherKeyPair pair = mcElieceCCA2KeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPublic(), keyRandom); - Digest msgDigest = new SHA256Digest(); - McEliecePointchevalDigestCipher mcEliecePointchevalDigestCipher = new McEliecePointchevalDigestCipher(new McEliecePointchevalCipher(), msgDigest); - - - for (int k = 1; k <= numPassesEncDec; k++) - { - System.out.println("############### test: " + k); - // initialize for encryption - mcEliecePointchevalDigestCipher.init(true, param); - - // generate random message - int mLength = (rand.nextInt() & 0x1f) + 1; - mBytes = new byte[mLength]; - rand.nextBytes(mBytes); - - // encrypt - mcEliecePointchevalDigestCipher.update(mBytes, 0, mBytes.length); - byte[] enc = mcEliecePointchevalDigestCipher.messageEncrypt(); - - // initialize for decryption - mcEliecePointchevalDigestCipher.init(false, pair.getPrivate()); - byte[] constructedmessage = mcEliecePointchevalDigestCipher.messageDecrypt(enc); - - // XXX write in McElieceFujisakiDigestCipher? - msgDigest.update(mBytes, 0, mBytes.length); - byte[] hash = new byte[msgDigest.getDigestSize()]; - msgDigest.doFinal(hash, 0); - - boolean verified = true; - for (int i = 0; i < hash.length; i++) - { - verified = verified && hash[i] == constructedmessage[i]; - } - - if (!verified) - { - fail("en/decryption fails"); - } - else - { - System.out.println("test okay"); - System.out.println(); - } - - } - } - - } - - public static void main( - String[] args) - { - runTest(new McEliecePointchevalCipherTest()); - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptTest.java deleted file mode 100644 index f61cb6e84..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptTest.java +++ /dev/null @@ -1,298 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.IOException; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.DataLengthException; -import org.spongycastle.crypto.InvalidCipherTextException; -import org.spongycastle.pqc.crypto.ntru.NTRUEngine; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyPairGenerator; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyGenerationParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionPrivateKeyParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionPublicKeyParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUParameters; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.TernaryPolynomial; -import org.spongycastle.util.Arrays; - -public class NTRUEncryptTest - extends TestCase -{ - public void testEncryptDecrypt() - throws InvalidCipherTextException - { - NTRUEncryptionKeyGenerationParameters params = NTRUEncryptionKeyGenerationParameters.APR2011_743.clone(); - // set df1..df3 and dr1..dr3 so params can be used for SIMPLE as well as PRODUCT - params.df1 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.df1; - params.df2 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.df2; - params.df3 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.df3; - params.dr1 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.dr1; - params.dr2 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.dr2; - params.dr3 = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST.dr3; - - int[] values = new int[] { NTRUParameters.TERNARY_POLYNOMIAL_TYPE_SIMPLE, NTRUParameters.TERNARY_POLYNOMIAL_TYPE_PRODUCT }; - - for (int i = 0; i != values.length; i++) - { - int polyType = values[i]; - - boolean[] booleans = {true, false}; - for (int j = 0; j != booleans.length; j++) - { - params.polyType = polyType; - params.fastFp = booleans[j]; - - VisibleNTRUEngine ntru = new VisibleNTRUEngine(); - NTRUEncryptionKeyPairGenerator ntruGen = new NTRUEncryptionKeyPairGenerator(); - - ntruGen.init(params); - - AsymmetricCipherKeyPair kp = ntruGen.generateKeyPair(); - - testPolynomial(ntru, kp, params); - - testText(ntru, kp, params); - // sparse/dense - params.sparse = !params.sparse; - testText(ntru, kp, params); - params.sparse = !params.sparse; - - testEmpty(ntru, kp, params); - testMaxLength(ntru, kp, params); - testTooLong(ntru, kp, params); - testInvalidEncoding(ntru, kp, params); - } - } - } - - // encrypts and decrypts a polynomial - private void testPolynomial(VisibleNTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - { - SecureRandom random = new SecureRandom(); - IntegerPolynomial m = DenseTernaryPolynomial.generateRandom(params.N, random); - SparseTernaryPolynomial r = SparseTernaryPolynomial.generateRandom(params.N, params.dr, params.dr, random); - - ntru.init(true, kp.getPublic()); // just to set params - - IntegerPolynomial e = ntru.encrypt(m, r, ((NTRUEncryptionPublicKeyParameters)kp.getPublic()).h); - IntegerPolynomial c = ntru.decrypt(e, ((NTRUEncryptionPrivateKeyParameters)kp.getPrivate()).t, ((NTRUEncryptionPrivateKeyParameters)kp.getPrivate()).fp); - - assertTrue(Arrays.areEqual(m.coeffs, c.coeffs)); - } - - // encrypts and decrypts text - private void testText(NTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - throws InvalidCipherTextException - { - byte[] plainText = "text to encrypt".getBytes(); - - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - } - - // tests an empty message - private void testEmpty(NTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - throws InvalidCipherTextException - { - byte[] plainText = "".getBytes(); - - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - } - - // tests a message of the maximum allowed length - private void testMaxLength(NTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - throws InvalidCipherTextException - { - byte[] plainText = new byte[params.maxMsgLenBytes]; - System.arraycopy("secret encrypted text".getBytes(), 0, plainText, 0, 21); - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - } - - // tests a message that is too long - private void testTooLong(NTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - { - byte[] plainText = new byte[params.maxMsgLenBytes + 1]; - try - { - System.arraycopy("secret encrypted text".getBytes(), 0, plainText, 0, 21); - - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - fail("An exception should have been thrown!"); - } - catch (DataLengthException ex) - { - assertEquals("Message too long: " + plainText.length + ">" + params.maxMsgLenBytes, ex.getMessage()); - } - catch (InvalidCipherTextException e) - { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - } - - // tests that altering the public key *AFTER* encryption causes the decrypted message to be rejected - private void testInvalidEncoding(NTRUEngine ntru, AsymmetricCipherKeyPair kp, NTRUEncryptionKeyGenerationParameters params) - { - try - { - byte[] plainText = "secret encrypted text".getBytes(); - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - NTRUEncryptionPrivateKeyParameters orig = (NTRUEncryptionPrivateKeyParameters)kp.getPrivate(); - IntegerPolynomial h = (IntegerPolynomial)((NTRUEncryptionPublicKeyParameters)kp.getPublic()).h.clone(); - h.coeffs[0] = (h.coeffs[0] + 111) % params.q; // alter h - NTRUEncryptionPrivateKeyParameters privKey = new NTRUEncryptionPrivateKeyParameters(h, orig.t, orig.fp, params.getEncryptionParameters()); - - ntru.init(false, privKey); - - ntru.processBlock(encrypted, 0, encrypted.length); - - fail("An exception should have been thrown!"); - } - catch (InvalidCipherTextException ex) - { - assertEquals("Invalid message encoding", ex.getMessage()); - } - } - - // encrypts and decrypts text using an encoded key pair (fastFp=false, simple ternary polynomials) - public void testEncodedKeysSlow() - throws IOException, InvalidCipherTextException - { - byte[] plainText = "secret encrypted text".getBytes(); - - // dense polynomials - NTRUEncryptionKeyGenerationParameters params = NTRUEncryptionKeyGenerationParameters.APR2011_743; - NTRUEngine ntru = new NTRUEngine(); - - byte[] privBytes = {2, -94, 95, 65, -107, 27, 98, 62, -15, -62, 21, -4, 119, -117, 7, 68, 100, 113, -36, -82, 87, -87, -82, 24, -45, -75, -74, -108, 105, 24, 123, 117, 124, 74, -27, 42, -106, -78, 114, 27, 18, 77, -41, 105, -113, 39, 49, 46, 109, -69, 61, 77, 49, 117, 14, -29, 42, 3, 120, -121, -120, -37, 95, 84, 60, -9, -31, -64, 31, 72, 115, -15, 21, -6, 27, -60, -73, -29, -33, -81, -43, 106, 65, 114, 102, -14, -115, -96, 9, 54, 23, -18, -24, -76, 84, -41, -79, 35, 88, 11, 41, 67, 44, -63, -28, 76, 84, -41, -103, 106, -22, 35, -2, -40, -48, -121, -128, 76, 63, 123, -11, 103, -35, -32, 21, -51, -99, -40, -103, -12, 64, -80, 57, -56, 1, -51, 103, 83, 50, 111, -87, -98, 7, -109, 25, -51, 23, -92}; - byte[] pubBytes = {91, -66, -25, -81, -66, -33, 25, -31, 48, 23, -38, 20, -30, -120, -17, 1, 21, 51, -11, 102, -50, 62, 71, 79, 32, -49, -57, 105, 21, -34, -45, -67, 113, -46, -103, 57, 28, -54, -21, 94, -112, -63, 105, -100, -95, 21, -52, 50, 11, -22, -63, -35, -42, 50, 93, -40, 23, 0, 121, 23, -93, 111, -98, -14, 92, -24, -117, -8, -109, -118, -4, -107, -60, 100, -128, -47, -92, -117, -108, 39, -113, 43, 48, 68, 95, 123, -112, 41, -27, -99, 59, 33, -57, -120, -44, 72, -98, -105, -91, -52, -89, 107, 119, 87, -36, -102, -83, 67, -8, 30, -54, 74, 93, 119, -3, 126, 69, -104, -44, -24, 124, 108, -125, 73, 98, 121, -49, -37, -24, 87, -71, 91, 8, -31, -50, 95, 112, 27, 97, -93, 3, -73, -54, -16, -92, -108, -74, 88, -5, 23, 70, 69, -49, -46, -50, 65, 69, -54, -41, 109, 8, -80, -23, -84, 120, -77, 26, 99, -104, -33, 82, 91, 22, -17, 113, -29, 66, -7, -114, -101, -111, -47, -1, -3, -57, 62, 79, -70, -58, 45, 76, 28, -117, 59, -117, 113, 84, -55, 48, 119, 58, -105, -20, 80, 102, 14, -69, -69, 5, 11, -87, 107, 15, 105, -69, -27, -24, 47, -18, -54, -45, -67, 27, -52, -20, -94, 64, -26, -58, 98, 33, -61, 71, -101, 120, 28, 113, 72, 127, 50, 123, 36, -97, 78, 32, -74, 105, 62, 92, 84, -17, 21, -75, 24, -90, -78, -4, -121, 47, -82, 119, 27, -61, 17, -66, 43, 96, -49, -6, 66, -13, -75, -95, 64, -12, -39, 111, 46, -3, -123, 82, 12, -26, -30, -29, 71, -108, -79, -112, 13, 16, -70, 7, 100, 84, 89, -100, 114, 47, 56, 71, 83, 63, -61, -39, -53, -100, 23, -31, -52, -46, 36, -13, 62, 107, 28, -28, 92, 116, -59, 28, -111, -23, -44, 21, -2, 127, -112, 54, -126, 13, -104, 47, -43, -109, -19, 107, -94, -126, 50, 92, -69, 1, 115, -121, -52, -100, 25, 126, -7, 86, 77, 72, -2, -104, -42, 98, -16, 54, -67, 117, 14, -73, 4, 58, 121, 35, 1, 99, -127, -9, -60, 32, -37, -106, 6, -108, -13, -62, 23, -20, -9, 21, 15, 4, 126, -112, 123, 34, -67, -51, 43, -30, -75, 119, -112, -58, -55, -90, 2, -5, -46, -12, 119, 87, 24, -52, 2, -29, 113, 61, -82, -101, 57, -11, -107, -11, 67, -42, -43, -13, 112, -49, 82, 60, 13, -50, 108, 64, -64, 53, -107, -9, 102, -33, 75, -100, -115, 102, -113, -48, 19, -119, -72, -65, 22, -65, -93, 34, -71, 75, 101, 54, 126, 75, 34, -21, -53, -36, 127, -21, 70, 24, 89, -88, 63, -43, -4, 68, 97, -45, -101, -125, -38, 98, -118, -34, -63, 23, 78, 15, 17, 101, -107, 119, -41, 107, 117, 17, 108, 43, -93, -6, -23, -30, 49, -61, 27, 61, -125, -68, 51, 40, -106, -61, 51, 127, 2, 123, 7, -50, -115, -32, -95, -96, 67, 4, 5, 59, -45, 61, 95, 14, 2, -76, -121, 8, 125, 16, -126, 58, 118, -32, 19, -113, -113, 120, -101, 86, 76, -90, 50, -92, 51, -92, 1, 121, -74, -101, -33, 53, -53, -83, 46, 20, -87, -112, -61, -87, 106, -126, 64, 99, -60, 70, 120, 47, -53, 36, 20, -90, 110, 61, -93, 55, -10, 85, 45, 52, 79, 87, 100, -81, -85, 34, 55, -91, 27, 116, -18, -71, -11, 87, -11, 76, 48, 97, -78, 64, -100, -59, -12, 19, -90, 121, 48, -19, 64, 113, -70, -14, -70, 92, 124, 42, 95, 7, -115, 36, 127, 73, 33, 30, 121, 88, 16, -90, 99, 120, -68, 64, -125, -78, 76, 112, 68, 8, 105, 10, -47, -124, 39, -107, -101, 46, -61, 118, -74, 102, -62, -6, -128, 17, -45, 61, 76, 63, -10, -41, 50, -113, 75, -83, -59, -51, -23, -61, 47, 7, -80, 126, -2, 79, -53, 110, -93, -38, -91, -22, 20, -84, -113, -124, -73, 124, 0, 33, -58, 63, -26, 52, 7, 74, 65, 38, -33, 21, -9, -1, 120, -16, 47, -96, 59, -64, 74, 6, 48, -67, -32, -26, 35, 68, 47, 82, 36, 52, 41, 112, -28, -22, -51, -6, -49, 105, 16, -34, 99, -41, 75, 7, 79, -22, -125, -30, -126, 35, 119, -43, -30, 32, 8, 44, -42, -98, 78, -92, -95, -10, -94, -1, -91, -122, 77, 0, 40, -23, 36, 85, 123, -57, -74, -69, -90, 89, 111, -120, 22, 5, -48, 114, 59, 31, 31, -25, -3, 24, 110, -110, 73, -40, 92, -26, -12, 52, 83, -98, -119, -6, -117, -89, 95, 83, -25, 122, -26, 114, 81, 25, 110, 79, -49, -39, 10, -78, -65, 57, -90, -46, -126, 15, -124, -104, -89, -66, -87, 24, -45, 39, -34, -40, -13, 106, 12, -25, -116, -47, 79, -81, 64, -17, -31, -70, 87, 36, 46, 102, 107, 48, 88, 34, 46, 24, 63, -100, 106, 27, 58, -71, 38, 60, -66, 45, -89, 39, -60, -116, -14, -119, 118, 0, -24, -9, 38, -71, -79, 124, -119, -64, -9, 71, -56, -82, -73, -69, 127, -1, -20, 123, 32, -43, 49, 5, 49, 105, -5, -2, 5, -105, -111, 89, -30, -41, -49, 61, 80, 69, 44, -33, -116, -45, -96, 63, 28, -17, -106, -94, 90, -40, -88, 122, 116, 116, 113, -65, 104, 119, -3, 96, -45, 18, -120, -111, 83, 43, -5, 101, 71, 48, 104, -112, -95, -46, 53, -96, -93, -126, 96, 56, 104, -111, 114, -1, -44, -120, -112, -19, 100, 41, -122, 23, -78, 33, -35, 11, 57, -18, 106, -40, 74, 61, 66, 54, -77, 96, 70, 108, -128, 91, -97, -36, -23, -86, -91, 44, 58, 117, 2, 26, 44, 95, 79, -101, -81, -92, 110, -81, -12, -88, -21, -83, 60, 93, -121, -114, -48, -34, -119, -1, 127, -121, 54, -128, -106, -39, -108, 81, 17, -3, -13, -57, 74, 41, -122, -65, -107, -118, -65, -61, 103, -69, 19}; - - byte[] fullBytes = new byte[pubBytes.length + privBytes.length]; - - System.arraycopy(pubBytes, 0, fullBytes, 0, pubBytes.length); - System.arraycopy(privBytes, 0, fullBytes, pubBytes.length, privBytes.length); - - NTRUEncryptionPrivateKeyParameters priv = new NTRUEncryptionPrivateKeyParameters(fullBytes, params.getEncryptionParameters()); - NTRUEncryptionPublicKeyParameters pub = new NTRUEncryptionPublicKeyParameters(pubBytes, params.getEncryptionParameters()); - AsymmetricCipherKeyPair kp = new AsymmetricCipherKeyPair(pub, priv); - - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - assertTrue(Arrays.areEqual(plainText, decrypted)); - - // sparse polynomials - params = NTRUEncryptionKeyGenerationParameters.EES1499EP1; - ntru = new NTRUEngine(); - privBytes = new byte[] {116, 7, 118, 121, 6, 77, -36, 60, 65, 108, 10, -106, 12, 9, -22, -113, 122, -31, -31, 18, 120, 81, -33, 5, 122, -76, 109, -30, -101, -45, 21, 13, -11, -49, -111, 46, 91, 4, -28, -109, 121, -119, -121, -58, -113, -9, -10, -25, -53, 40, -86, -22, -50, 42, 52, 107, 119, 17, 33, 125, -26, 33, 55, 25, -77, -65, -106, 116, -67, 91, 105, -7, 42, -107, -54, 101, 12, -12, 57, -116, 45, -107, -17, 110, 35, -64, 19, -38, -122, 115, -93, 53, 69, 66, -106, 17, 20, -71, 121, 23, -21, -45, 108, 97, 23, -98, -12, -41, -31, -53, 30, -42, 15, 85, -21, -89, 118, 42, -117, -39, 69, 0, -63, 83, 48, -80, -14, -123, -4, -116, -90, -107, -89, 119, 29, -30, 69, 22, -84, 47, 117, -123, 102, -116, 35, 93, -13, 84, -9, -122, 58, 101, 93, -106, -119, -35, -75, 76, 27, -125, -22, 68, 101, 49, 103, -13, -98, 93, -56, -110, -19, -12, 74, 104, 7, 6, -11, 47, 57, 90, 75, -30, 47, 66, -58, 14, 14, 70, 11, -119, -36, -118, -55, -53, 101, -73, -77, 33, -29, 96, -86, 38, 47, 103, 19, -37, -17, -50, -82, -87, -119, 37, -54, 77, -69, -16, -48, -52, 110, -26, 111, 35, 26, -53, -10, 9, -108, -34, 102, 7, -18, -72, -26, 24, -50, -43, 92, 56, -94, 23, -36, 60, 28, -121, 27, 127, -93, -79, -45, -60, 105, -6, -88, 72, -41, 47, -51, 3, 91, 116, 75, 122, -94, -113, 28, -96, -62, -29, -74, -85, -93, 51, 58, 72, 44, 9, 18, -48, -24, 73, 122, 60, -23, 83, -110, -7, -111, -69, 106, 51, 118, -83, -18, 109, -32, 40, 22}; - - pubBytes = new byte[] {-62, 56, 59, -46, 30, -19, 22, -115, -20, 117, -14, 3, 2, -57, 85, -24, 27, 57, 49, -93, -52, 87, 49, 96, 15, 95, -95, -86, -61, 50, -18, 3, 109, -55, -110, -57, 82, 124, -5, -57, 68, -18, 126, 114, 6, -22, 8, 121, 125, 29, -16, 112, -81, 27, -7, 109, -44, -123, -15, -14, 74, -126, 95, -94, -91, 119, 80, -48, 41, 49, 6, 104, 93, -97, -108, -82, 93, 70, -127, -113, -22, -103, 35, -115, 20, -115, 63, 57, -84, -18, -107, 81, 44, -16, 83, 71, -27, -2, -125, 87, 26, 100, -116, 110, 94, -46, -56, -82, 119, -110, -127, -99, -8, -118, 90, 64, -29, 102, 99, 92, 86, -117, 26, -89, 32, 17, 55, -65, -10, -5, -74, 19, 13, 113, -15, -103, 17, 10, -127, -95, -79, 19, 11, -24, 59, 28, -70, -55, -69, -105, -20, -117, 66, 4, 77, 116, -124, -62, 19, 109, 49, -120, 10, -15, 108, 84, 126, 122, -46, -37, 114, -78, -72, 34, -12, 25, -104, -3, 114, -94, 16, 31, 31, -124, -109, -64, 57, -47, -113, -26, 97, -58, 112, -40, 49, 80, -54, -115, -98, -60, -123, 91, 14, 75, -86, 77, -93, 68, 112, 82, 79, 28, -25, 49, -27, -112, 103, 60, -128, 95, -63, 2, -51, 2, -107, 80, 113, 18, 123, 24, 70, 77, -56, -48, 33, 89, 88, 29, 112, -102, -15, 52, -96, 17, -9, 6, -11, -119, 29, -107, -84, -19, 84, 124, 19, 90, -60, -41, 123, -81, 96, -119, 17, -61, 62, 55, 95, -73, -13, -60, 56, 77, 24, -39, -107, -78, 47, -91, 88, 90, 34, 112, -80, 83, -58, 127, 76, -97, -40, 78, -20, -1, -62, 19, 6, -43, -46, -36, -53, -22, -28, -119, 8, 19, 79, -9, -54, -126, -3, -20, -110, -82, 51, 3, 1, -123, -41, -40, -11, 91, -52, 48, 104, -11, -2, 49, 45, 52, -33, 109, -44, -30, -44, -83, -108, -10, 77, 106, 82, 3, 14, -48, -18, -79, -64, -34, -63, -18, 122, 33, 25, 44, 82, -112, 111, 68, 97, -58, -38, 25, 62, 78, 97, -36, 57, -19, 122, -18, -74, 67, -127, -24, 32, -45, 67, -106, 90, 0, 1, 91, 30, -80, 95, 9, 78, -4, -14, 16, 111, -56, -102, -90, 52, -1, 116, 19, -127, -23, -87, 103, -94, -111, 118, 53, -69, 77, 17, -3, 31, -53, -21, -78, 124, -88, 52, 117, 34, -52, -77, -107, -38, -102, 23, 73, -76, -88, 95, 64, -85, 12, 36, -86, 86, -17, 77, 121, 90, 24, -49, -107, 33, -116, 65, 13, 91, 118, -107, -21, 65, -59, 18, 125, 61, -65, -68, -19, 23, 88, 60, -6, 78, -8, 69, -62, -118, -93, 97, -64, -67, 28, 28, -87, -97, 72, -125, -119, 4, -43, 7, 22, -15, 52, 52, -82, -5, -51, 99, 20, -59, -2, -54, -67, 40, -128, -20, -37, 50, 123, 32, 8, -39, -105, 93, 73, 77, 84, 43, 89, 88, -6, 7, -108, 81, 27, 1, 50, 16, -101, 67, 95, 119, 105, 70, 99, -127, 22, 127, -33, -19, -113, -55, -100, 122, -86, 98, 53, 27, -95, 4, -121, -96, 87, 67, -98, -37, -10, 92, 29, -3, -115, -23, 37, 8, -30, 99, -117, 62, 101, 83, 49, 60, -83, -47, -33, 41, -118, 76, -7, 111, -15, 123, -59, 53, 2, -20, -57, 24, 57, 62, 84, -26, -11, 93, -118, 54, -13, 56, 77, -66, 18, -62, -76, 80, 98, 26, 120, -93, 55, 103, -1, 78, -92, 120, -23, -60, -75, 11, 53, -62, -94, -80, 120, 113, 33, -24, -64, -5, 23, 120, -14, 61, 26, -1, 56, 79, 34, 116, -16, -95, -71, 40, -89, -50, 71, -117, -109, 2, -2, -34, 94, -78, -88, -27, 70, 94, -86, 123, -49, 107, -65, -67, 84, 90, 123, -61, -2, 43, -119, -93, 75, -4, -81, 98, -36, 125, -23, -37, 81, 104, 90, -63, -52, 88, -96, -44, 25, 3, -37, -123, -48, 113, -76, -94, -109, -115, 37, -39, 104, -124, 82, -73, 100, 48, -54, -40, -65, 81, 16, -85, -41, 60, 42, 117, 65, 77, 14, -8, -56, 52, -118, -109, 125, 13, 64, -20, 125, -37, -74, -28, 118, 112, -126, 18, -101, 11, 75, 30, -4, -121, -13, -65, -13, -122, -53, -52, 20, -2, 67, 18, -106, 67, 83, -111, 15, 106, 10, 113, 53, -112, -3, 118, 8, -56, 40, 53, 23, -123, 96, 87, -118, -97, -116, -47, 85, -73, -85, -82, 124, -55, 55, 61, 46, 12, -6, 34, 22, -22, 3, 115, -49, 102, 23, 46, 39, 0, 118, 3, -45, 48, -73, -38, 29, -36, 11, -127, -86, 30, 29, -2, -108, -114, 64, 110, 86, -46, -91, -64, 95, -40, -65, 49, -79, -126, -37, -103, -71, 53, -85, 45, -51, 33, -28, -126, 36, -77, -120, 55, -54, 72, -21, 58, -87, -73, 18, -12, 20, -100, 30, 118, -83, -22, -90, 71, -64, 108, 101, -46, 36, 105, -46, -91, 60, -113, 72, 100, 82, -90, 106, -127, 65, -94, 17, 77, -10, -112, 46, 118, 72, -84, 57, -86, -114, 88, 91, 79, 30, 107, -35, 61, 81, 71, 40, -29, -6, -107, 61, -62, -6, 65, -68, 118, 61, 110, -115, -119, -73, 104, 59, -66, -89, -127, -8, -67, 122, -38, 79, -13, 93, 1, -32, -47, -3, 62, 88, -112, 105, 73, 96, 73, -104, -126, -69, 21, -22, 16, -85, 116, 9, 82, 54, -15, -55, -67, 68, -23, 16, -89, 48, -17, -107, 60, -43, -34, 66, -114, 63, -3, -26, 68, 68, -86, 120, -111, 99, 61, 101, 27, 93, 31, 90, -33, -94, 29, -89, 41, -80, 26, -23, -80, 27, 107, 69, -45, -123, 62, 63, 80, 1, -28, 52, -8, 35, -86, -127, 76, 102, 83, -104, -79, -98, 77, -28, 118, 18, -15, -98, -39, 2, -58, 95, 64, 105, -82, -7, 96, 110, 104, 127, 126, -124, 26, 36, 33, -42, 59, 82, 127, 42, -24, -61, -50, -18, -87, 22, -32, -125, -70, 103, -121, -112, -94, 58, -95, -97, 53, 95, -61, -83, 42, 37, 80, 51, -118, 125, 15, 67, 41, -97, 41, -121, 29, -88, 100, -113, 39, 101, 47, 91, -36, 48, -56, -13, 12, 37, 0, 81, 3, -40, 8, 36, -65, -11, -32, 108, 62, 79, 70, 91, -83, 2, -47, 0, 91, 10, 87, -19, -40, 96, 106, 41, 120, -53, 40, -114, 90, 64, 59, -115, 39, 2, 53, -49, -72, -114, 94, 5, 49, 74, 13, 50, -14, 76, -123, -11, -81, 100, 120, 16, -41, -72, -118, 28, 41, 98, 122, 27, 18, -108, -43, 51, -71, 93, -13, -42, -64, -118, -106, 45, 108, 72, -128, 58, -123, -29, -114, 15, 52, -72, 108, -62, 75, -15, 105, -89, 25, 37, 13, -21, -109, 68, 5, -89, 69, 10, -46, 18, -57, 77, -103, -74, 57, -43, -110, 1, -80, 82, 5, -9, -49, -53, 83, 4, 44, 64, -117, -67, -11, 1, -65, -81, 34, -23, -71, 14, 105, -93, 2, -120, 90, 92, -6, -128, -16, -51, 27, 123, 71, -117, -72, -81, 26, 28, 5, -117, -30, 22, -72, -76, -32, -14, 82, 90, 69, 74, -94, -72, -30, -17, 12, -37, -3, -80, 72, 2, -40, 41, 0, -53, 48, -37, -117, -128, -120, -80, 28, 49, -52, 114, -119, 92, -42, -105, 125, -95, 78, 76, 123, -56, 32, -66, 69, -58, 57, -77, -100, -70, 125, 53, -115, 8, 116, 88, -34, 86, -75, 55, 64, 79, -113, -124, -91, 50, -82, -119, 50, 11, 87, -14, -25, 15, -1, -49, -127, -5, -50, 72, -29, -78, 101, -119, -21, -15, 97, -63, 57, -123, -94, -24, -8, 104, 86, 79, 49, 102, -8, -76, 8, 69, 99, -64, -108, 70, 36, 71, -127, 56, 39, 78, 109, 42, -42, -2, 126, 17, -88, -65, -23, -64, 78, 87, 7, 6, -82, -98, 41, -46, -10, -25, 90, -73, 24, 127, -27, 118, -9, 81, -3, 115, -4, 47, 86, -30, -9, -50, 32, 86, 114, 58, -5, 78, 74, 36, 29, -126, 116, 117, -114, -92, -121, -36, -86, -18, 55, 49, 112, 43, 111, -99, -116, 70, 60, -63, 87, -4, -35, 15, 28, -27, -65, 66, 115, -33, 112, 94, 74, -22, 104, -56, -27, 39, -8, -53, -120, 8, -109, 73, -68, 67, 40, -59, 59, 121, -76, -41, -80, -54, -88, -120, -121, -118, -58, 74, -120, 82, -88, -113, 30, -8, 54, -126, -106, 37, -43, -74, -56, 40, -76, 93, 91, 28, -59, -30, -2, 107, 6, -89, -69, -121, -125, -109, 5, -94, -7, -2, -5, -67, 54, -90, 39, 5, -80, 93, -99, 82, -100, -128, -8, -39, -109, 66, -11, 99, -41, 18, -32, -122, 69, 6, -95, -21, 9, 19, -117, -34, -42, 11, 20, 84, 89, 91, -61, -13, -7, 55, 90, -15, 62, 59, -4, 125, -127, -24, -124, -99, -63, -23, 52, 111, -52, -60, -113, -65, -26, 127, 57, 21, 102, 101, -77, 66, -116, 117, 80, 7, 1, -96, -29, -99, 75, -73, 44, -99, 61, -73, 15, -18, 89, 95, 104, -12, 94, 33, 13, -49, 118, -84, -122, -2, -121, 62, -32, -80, 11, -10, 102, -67, 20, -3, 25, -6, 51, -17, -123, -76, 103, 3, 127, -107, -5, 122, 65, 22, 113, 120, 6, -19, -110, 86, 55, -88, -124, 0, -54, 17, 112, 15, 105, -28, 111, -93, 85, -59, -88, 28, 123, 55, 117, 10, 76, 54, -98, 116, 40, -65, -53, -80, 46, 66, -8, -114, 102, 66, 67, -117, 46, 21, -116, -38, 58, -105, 101, 37, -16, 5, 55, -33, -87, 72, 122, -114, -91, 41, -114, 77, 50, 109, 35, -61, 9, -55, -118, 126, -35, -108, 5, 62, 125, -109, -115, -55, 32, -71, 69, 110, 87, -82, 119, 26, 103, -77, -38, -13, 113, 74, 69, 116, 94, -21, 5, 35, 73, -80, -87, 80, 13, 108, 1, 82, -56, -35, -21, -78, -98, 121, 112, -117, 72, 47, 76, -97, -84, -110, -35, -19, -120, -13, 127, 5, 56, 72, -22, 110, -8, -71, 0, -57, -125, -101, 60, -64, -32, 1, 126, -109, 9, 84, 117, 62, -68, -106, 28, -118, -52, -81, 112, 11, 55, 68, -86, -65, 123, 83, 55, -72, 110, 63, -90, 31, 11, 90, -60, 20, 14, -36, 5, -92, 11, -100, 64, -57, -72, -105, 7, 103, 125, 99, -88, 32, -5, 41, -115, -11, 89, 81, 77, -33, -7, -123, -17, 109, 59, 40, -12, -61, 98, -91, 19, -36, 108, 118, -124, -82, -40, -124, -66, 19, 127, -73, -39, 99, 43, -16, -44, -83, -77, -34, 68, -118, -71, -116, 114, 120, -34, -105, -32, -46, 102, 73, -79, 7, 42, 35, -66, 125, 34, 113, 66, 78, 71, 6, 44, -17, 4, -80, 38, -59, 12, -8, -78, 103, 8, 80, 18, -74, 20, 3, 56, -20, 106, -1, -12, 83, 4, 68, -119, 84, -87, 97, -53, 102, 119, 34, -85, 22, -26, 55, -107, 96, -70, 77, -68, -96, -15, -22, -77, -55, 5, 103, -42, -87, 122, -80, -103, -37, -120, -56, -16, -51, -7, -19, -104, 120, 9, 54, -85, 48, -76, -38, 58, -68, 116, -20, -44, 22, -32, 75, -46, -41, 13, -100, 16, -59, -93, -115, 54, 22, -110, -46, -119, 44, -98, -48, 4, -58, -115, -57, 103, -56, 36, -63, 104, -114, -125, 92, 65, 117, -21, -59, -31, 56, -98, -126, 56, 47, -116, 100, 122, -98, 4, 26, -29, -127, -113, 73, 48, 106, 125, -69, -127, 62, 56, -79, 76, 84, -46, -31, -17, 94, -98, 62, 63, 118, -24, 63, 123, -93, -46, 103, 117, -120, -35, 19, 25, 15, -110, -125, 12, -75, -50, 103, 49, 47, 98, 92, 10, -88, 54, -53, 19, 25, -90, 93, -49, 64, 126, -106, -30, -52, 58, 37, 68, -18, -60, 15, -27, 93, -124, 88, 110, -80, -106, 88, 55, 108, -58, -43, -70, 76, 85, 98, 27, -66, 18, 75, 69, 114, 90, -26, -10, -12, -126, 84, -109, 108, 15, -115, 90, 11, -127, 63, -7, 47, 92, -72, 38, -58, -35, 18, 25, 12, -103, 0}; - - fullBytes = new byte[pubBytes.length + privBytes.length]; - - System.arraycopy(pubBytes, 0, fullBytes, 0, pubBytes.length); - System.arraycopy(privBytes, 0, fullBytes, pubBytes.length, privBytes.length); - - priv = new NTRUEncryptionPrivateKeyParameters(fullBytes, params.getEncryptionParameters()); - pub = new NTRUEncryptionPublicKeyParameters(pubBytes, params.getEncryptionParameters()); - kp = new AsymmetricCipherKeyPair(pub, priv); - ntru.init(true, kp.getPublic()); - - encrypted = ntru.processBlock(plainText, 0, plainText.length); - - ntru.init(false, kp.getPrivate()); - - decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - } - - // encrypts and decrypts text using an encoded key pair (fastFp=true) - public void testEncodedKeysFast() - throws IOException, InvalidCipherTextException - { - byte[] plainText = "secret encrypted text".getBytes(); - - NTRUEncryptionKeyGenerationParameters params = NTRUEncryptionKeyGenerationParameters.APR2011_743_FAST; - NTRUEngine ntru = new NTRUEngine(); - byte[] privBytes = {10, 16, 2, 30, -40, -63, -109, -77, -72, -122, 66, 23, -30, -44, -82, 0, 95, 64, 68, 48, -62, -14, 26, -19, -72, -25, 72, 123, 98, 84, -83, 0, 7, 40, 65, 35, 68, 113, 12, -112, 32, -123, 58, 85, -30, -109, -74, 0, 34, -8, -126, 57, 30, 98, -107, -45, -88, 102, 68, 42, -30, -108, -89, 0, 38, -40, -61, 37, 82, 113, -115, 123, -100, 5, 46, 125, -23, 78, -111, -76, 36, -90, 67, -31, 10, 2, 96, -127, 21, 50, -79, 13, -125, -124, 38, 55, -67, -95, 81, -107, 12, 117, -86, 99, -127, 11}; - byte[] pubBytes = {108, -76, -104, -75, -87, -65, -18, -5, 45, -57, -100, -83, 51, 99, 94, 15, -73, 89, -100, 40, -114, 91, -107, 104, 127, 22, 13, 5, -16, 69, -104, -126, -44, 119, 47, -48, 75, 66, 83, -37, -66, -84, 73, 52, 23, -27, 53, 63, 56, 14, -2, 43, -59, -85, -80, 46, 38, -126, 75, -8, -63, 88, 104, 13, 72, -25, -10, -58, -51, 117, -84, 115, -24, -53, 83, -103, -97, 46, 90, -82, -61, 113, -49, -24, -72, 24, -124, -42, -36, 7, 41, 8, 14, -71, -75, -84, -24, -39, 56, 67, 88, 67, 66, -13, 70, -119, -64, 74, -100, -58, 35, 105, -20, 93, 80, -116, -55, 37, -52, 64, 0, -36, -71, 8, 77, -10, -41, -22, -73, 4, -115, -74, -74, -73, 23, -10, -26, 48, 125, -114, -32, -116, 74, 19, -104, 59, 43, 4, 97, -84, 112, 45, 16, 3, -110, -13, 119, -6, 29, -80, 109, 82, -31, 82, 30, 76, -111, -122, -50, -69, -41, -123, 107, 78, -35, 24, -121, -87, -108, 13, 70, 32, -74, 112, 104, -40, -61, 86, -125, 60, -94, -5, -18, 55, 54, -128, 83, -88, 71, 71, -66, 29, -113, 120, 30, 16, -38, 37, 96, -90, 38, -85, 88, 59, 15, -69, 6, -8, 1, 1, 71, 12, 60, -26, -110, 97, 77, 33, 58, 63, 104, 108, 83, 72, -21, -99, 115, -125, -16, 12, 99, 68, 39, -97, -6, 17, 26, -59, 123, -110, -37, -71, 47, 50, 5, 110, -34, 89, -74, 20, 79, -108, -7, 42, 106, -112, 44, 107, 106, -50, 55, 127, -124, 53, 123, -119, -46, -114, -52, -85, 75, 34, -39, -125, 58, -5, -31, -81, -37, -94, -123, 113, 11, -104, -124, 96, -103, 9, 108, 115, 97, -6, 98, -43, 26, -89, -23, 83, 60, 34, -86, -54, 107, 78, -48, 118, -31, -19, 29, -106, 108, 117, 83, 119, 51, -45, 115, 108, -13, -89, -29, 29, -120, 108, 20, 22, -3, 22, 78, -109, 95, 3, -68, -10, -53, -117, -96, -49, 9, 7, 38, 116, 33, -65, 31, 9, -5, -73, 127, 52, 113, 87, -39, 119, -96, 74, -105, 75, -89, 63, 69, -109, -127, 92, -54, 17, -98, -23, -69, 123, -125, 23, -93, 44, -11, -25, -101, 120, -29, 113, -33, 0, -117, -100, -114, 22, 41, -46, 29, -109, 107, 37, -94, 125, 46, 17, 16, -65, -14, 105, -118, 51, -21, 121, -5, 56, 29, 30, -69, -38, -10, -77, -74, 6, -105, 83, 110, 23, 114, -11, -123, -14, 30, -11, -9, 84, -90, -20, -29, 72, -85, 97, -74, -59, -112, -15, -51, -105, 117, 123, -17, -64, -127, 127, -33, -102, 88, 77, 122, -127, -15, 121, -125, -32, 53, 113, 45, -22, 84, -87, 20, 36, 65, 83, -84, -66, -22, 4, 15, -108, -92, 109, -128, -48, 4, -27, -13, 25, 51, -10, 34, 87, 88, 38, -87, 89, -64, -62, 20, 78, 35, -26, -2, 55, 3, -72, -64, 30, 28, -105, 6, -37, -38, -8, 26, -118, 105, -37, -30, 85, -66, 105, -46, -37, -11, -72, 71, 43, -65, -44, 17, -79, 98, 79, -77, -111, 95, 74, 101, -40, -106, 14, -108, -112, 86, 108, 49, 72, -38, -103, -31, 65, -119, 8, 78, -89, 100, -28, 116, 94, 15, -18, 108, 101, 85, 8, -6, 111, -82, -49, -66, -89, 28, -84, -85, -119, 111, 45, 83, -60, -40, -45, -101, -105, -35, 123, -1, 13, -112, 79, -80, -85, -109, -71, 69, 104, 95, -93, 121, -17, 83, 117, -73, -63, -65, -107, -72, 118, -102, -56, 38, 79, 121, -25, -86, -81, -38, 8, 122, 97, 37, 82, -40, 53, 11, 124, -94, -76, -107, -125, -9, -119, 63, 52, -34, -72, -21, 59, 3, -100, -127, 47, -102, 19, -37, -45, -114, -65, 39, -106, 6, -127, -110, -38, 96, -38, -51, 110, -3, 28, 8, 102, -102, 96, -127, 109, -56, -53, -13, 59, -98, 92, 80, 1, 55, -91, -122, -105, 28, 69, -85, 109, -38, 105, 87, -5, 3, -102, 62, -92, 60, 43, -20, -7, -23, -84, 106, 121, -48, 123, -112, 56, -17, -52, 14, -123, -122, 64, 14, -23, -71, 60, 70, -121, 6, 37, -15, 77, 96, 104, -34, 58, -125, -61, 1, -26, 118, -78, -35, -1, 0, 5, 33, -98, -86, -127, 25, 56, -91, 82, -33, 60, -64, -86, 27, 31, -80, -79, 118, -12, -18, 40, -72, 32, 119, -28, -62, 100, -121, -71, -79, -9, 38, -37, 25, 65, -46, 8, -112, 37, 9, -56, 123, -40, -44, -90, -21, -54, -2, -7, 107, -93, 24, -126, 69, 42, -111, -84, 57, 69, -119, 21, 60, 57, -122, 111, -99, 49, -46, -119, 100, 98, 24, -62, 112, 122, 46, 18, -35, -67, 89, 104, 82, 12, 125, 57, -70, -112, -109, 96, 51, -68, 1, -101, -59, -92, 54, 85, -41, 17, 31, 94, 75, -128, 53, 84, 0, -83, -94, -123, 49, -30, -24, 18, 46, 48, -33, 120, 66, -69, 70, 23, -124, -117, 81, 96, 46, 47, -33, 83, -13, -14, -94, 49, 66, -46, 84, -27, -77, 6, 0, -75, -18, 86, -119, -88, 82, -50, 55, -20, 63, 55, -57, 22, -108, -103, -17, -22, 64, 65, 90, -34, -96, -117, 51, 119, -103, -35, 95, -15, -118, 2, -31, 31, -9, -58, 84, -75, 80, 39, -101, -56, 16, -75, 59, 48, -63, -24, -95, 119, 73, -110, -115, 49, -18, 54, -124, 112, -61, -40, -105, -118, -66, 15, -107, 75, 82, -70, -87, -11, -11, 48, 41, 119, -42, -34, -33, 57, 23, -14, -45, -125, -108, -75, 3, 44, 44, 58, 126, -126, -20, -123, 58, 114, 79, -102, -115, 115, 12, 66, 108, 84, 43, -46, -80, -41, -70, 111, -114, 123, 21, 1, 34, -72, 23, 105, -52, -39, -54, -119, 45, 77, -16, -66, -105, -11, 91, -46, 77, -104, -93, 52, -3, 17, 55, -10, 67, -33, 43, 75, -103, 106, 7, -35, -65, -21, 68, 118, -38, 59, -115, 31}; - - byte[] fullBytes = new byte[pubBytes.length + privBytes.length]; - - System.arraycopy(pubBytes, 0, fullBytes, 0, pubBytes.length); - System.arraycopy(privBytes, 0, fullBytes, pubBytes.length, privBytes.length); - - NTRUEncryptionPrivateKeyParameters priv = new NTRUEncryptionPrivateKeyParameters(fullBytes, params.getEncryptionParameters()); - NTRUEncryptionPublicKeyParameters pub = new NTRUEncryptionPublicKeyParameters(pubBytes, params.getEncryptionParameters()); - AsymmetricCipherKeyPair kp = new AsymmetricCipherKeyPair(pub, priv); - - ntru.init(true, kp.getPublic()); - - byte[] encrypted = ntru.processBlock(plainText, 0, plainText.length); - - assertEquals(encrypted.length, ntru.getOutputBlockSize()); - - ntru.init(false, kp.getPrivate()); - - byte[] decrypted = ntru.processBlock(encrypted, 0, encrypted.length); - - assertTrue(Arrays.areEqual(plainText, decrypted)); - } - - private class VisibleNTRUEngine - extends NTRUEngine - { - public IntegerPolynomial encrypt(IntegerPolynomial m, TernaryPolynomial r, IntegerPolynomial pubKey) - { - return super.encrypt(m, r, pubKey); - } - - public IntegerPolynomial decrypt(IntegerPolynomial e, Polynomial priv_t, IntegerPolynomial priv_fp) - { - return super.decrypt(e, priv_t, priv_fp); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptionParametersTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptionParametersTest.java deleted file mode 100644 index c05ea7d01..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUEncryptionParametersTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyGenerationParameters; - -public class NTRUEncryptionParametersTest - extends TestCase -{ - public void testLoadSave() - throws IOException - { - NTRUEncryptionKeyGenerationParameters params = NTRUEncryptionKeyGenerationParameters.EES1499EP1; - ByteArrayOutputStream os = new ByteArrayOutputStream(); - params.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - assertEquals(params, new NTRUEncryptionKeyGenerationParameters(is)); - } - - public void testEqualsHashCode() - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - NTRUEncryptionKeyGenerationParameters.EES1499EP1.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - NTRUEncryptionKeyGenerationParameters params = new NTRUEncryptionKeyGenerationParameters(is); - - assertEquals(params, NTRUEncryptionKeyGenerationParameters.EES1499EP1); - assertEquals(params.hashCode(), NTRUEncryptionKeyGenerationParameters.EES1499EP1.hashCode()); - - params.N += 1; - assertFalse(params.equals(NTRUEncryptionKeyGenerationParameters.EES1499EP1)); - assertFalse(NTRUEncryptionKeyGenerationParameters.EES1499EP1.equals(params)); - assertFalse(params.hashCode() == NTRUEncryptionKeyGenerationParameters.EES1499EP1.hashCode()); - } - - public void testClone() - { - NTRUEncryptionKeyGenerationParameters params = NTRUEncryptionKeyGenerationParameters.APR2011_439; - assertEquals(params, params.clone()); - - params = NTRUEncryptionKeyGenerationParameters.APR2011_439_FAST; - assertEquals(params, params.clone()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureKeyTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureKeyTest.java deleted file mode 100644 index f741532ce..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureKeyTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.pqc.crypto.ntru.NTRUSigner; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyPairGenerator; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningPrivateKeyParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningPublicKeyParameters; - -public class NTRUSignatureKeyTest - extends TestCase -{ - public void testEncode() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - testEncode(params); - } - } - - private void testEncode(NTRUSigningKeyGenerationParameters params) - throws IOException - { - NTRUSigner ntru = new NTRUSigner(params.getSigningParameters()); - NTRUSigningKeyPairGenerator kGen = new NTRUSigningKeyPairGenerator(); - - kGen.init(params); - - AsymmetricCipherKeyPair kp = kGen.generateKeyPair(); - - NTRUSigningPrivateKeyParameters kPriv = (NTRUSigningPrivateKeyParameters)kp.getPrivate(); - NTRUSigningPublicKeyParameters kPub = (NTRUSigningPublicKeyParameters)kp.getPublic(); - - // encode to byte[] and reconstruct - byte[] priv = kPriv.getEncoded(); - byte[] pub = kPub.getEncoded(); - AsymmetricCipherKeyPair kp2 = new AsymmetricCipherKeyPair(new NTRUSigningPublicKeyParameters(pub, params.getSigningParameters()), new NTRUSigningPrivateKeyParameters(priv, params)); - assertEquals(kPub, kp2.getPublic()); - assertEquals(kPriv, kp2.getPrivate()); - - // encode to OutputStream and reconstruct - ByteArrayOutputStream bos1 = new ByteArrayOutputStream(); - ByteArrayOutputStream bos2 = new ByteArrayOutputStream(); - kPriv.writeTo(bos1); - kPub.writeTo(bos2); - ByteArrayInputStream bis1 = new ByteArrayInputStream(bos1.toByteArray()); - ByteArrayInputStream bis2 = new ByteArrayInputStream(bos2.toByteArray()); - AsymmetricCipherKeyPair kp3 = new AsymmetricCipherKeyPair(new NTRUSigningPublicKeyParameters(bis2, params.getSigningParameters()), new NTRUSigningPrivateKeyParameters(bis1, params)); - assertEquals(kPub, kp3.getPublic()); - assertEquals(kPriv, kp3.getPrivate()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java deleted file mode 100644 index 6f802a2da..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; - -public class NTRUSignatureParametersTest - extends TestCase -{ - public void testLoadSave() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - testLoadSave(params); - } - } - - private void testLoadSave(NTRUSigningKeyGenerationParameters params) - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - params.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - assertEquals(params, new NTRUSigningKeyGenerationParameters(is)); - } - - public void testEqualsHashCode() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - testEqualsHashCode(params); - } - } - - private void testEqualsHashCode(NTRUSigningKeyGenerationParameters params) - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - params.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - NTRUSigningKeyGenerationParameters params2 = new NTRUSigningKeyGenerationParameters(is); - - assertEquals(params, params2); - assertEquals(params.hashCode(), params2.hashCode()); - - params.N += 1; - assertFalse(params.equals(params2)); - assertFalse(params.equals(params2)); - assertFalse(params.hashCode() == params2.hashCode()); - } - - public void testClone() - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - assertEquals(params, params.clone()); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignerTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignerTest.java deleted file mode 100644 index 4b5b71d72..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignerTest.java +++ /dev/null @@ -1,303 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - - -import java.io.IOException; -import java.util.Random; - -import junit.framework.TestCase; -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.pqc.crypto.ntru.NTRUSigner; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyPairGenerator; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningPrivateKeyParameters; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningPublicKeyParameters; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Polynomial; -import org.spongycastle.util.Arrays; - -public class NTRUSignerTest - extends TestCase -{ - public void testCreateBasis() - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157.clone(), NTRUSigningKeyGenerationParameters.TEST157_PROD.clone()}) - { - testCreateBasis(params); - } - } - - private void testCreateBasis(NTRUSigningKeyGenerationParameters params) - { - NTRUSigningKeyPairGenerator ntru = new NTRUSigningKeyPairGenerator(); - - ntru.init(params); - - NTRUSigningKeyPairGenerator.FGBasis basis = (NTRUSigningKeyPairGenerator.FGBasis)ntru.generateBoundedBasis(); - assertTrue(equalsQ(basis.f, basis.fPrime, basis.F, basis.G, params.q, params.N)); - - // test KeyGenAlg.FLOAT (default=RESULTANT) - params.keyGenAlg = NTRUSigningKeyGenerationParameters.KEY_GEN_ALG_FLOAT; - ntru.init(params); - basis = (NTRUSigningKeyPairGenerator.FGBasis)ntru.generateBoundedBasis(); - assertTrue(equalsQ(basis.f, basis.fPrime, basis.F, basis.G, params.q, params.N)); - } - - // verifies that f*G-g*F=q - private boolean equalsQ(Polynomial f, Polynomial g, IntegerPolynomial F, IntegerPolynomial G, int q, int N) - { - IntegerPolynomial x = f.mult(G); - x.sub(g.mult(F)); - boolean equalsQ = true; - for (int i = 1; i < x.coeffs.length; i++) - { - equalsQ &= x.coeffs[i] == 0; - } - equalsQ &= x.coeffs[0] == q; - return equalsQ; - } - - /** - * a test for the one-method-call variants: sign(byte, SignatureKeyPair) and verify(byte[], byte[], SignatureKeyPair) - */ - public void testSignVerify() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157.clone(), NTRUSigningKeyGenerationParameters.TEST157_PROD.clone()}) - { - testSignVerify(params); - } - } - - private void testSignVerify(NTRUSigningKeyGenerationParameters params) - throws IOException - { - NTRUSigner ntru = new NTRUSigner(params.getSigningParameters()); - NTRUSigningKeyPairGenerator kGen = new NTRUSigningKeyPairGenerator(); - - kGen.init(params); - - AsymmetricCipherKeyPair kp = kGen.generateKeyPair(); - - Random rng = new Random(); - byte[] msg = new byte[10 + rng.nextInt(1000)]; - rng.nextBytes(msg); - - // sign and verify - ntru.init(true, kp.getPrivate()); - - ntru.update(msg, 0, msg.length); - - byte[] s = ntru.generateSignature(); - - ntru.init(false, kp.getPublic()); - - ntru.update(msg, 0, msg.length); - - boolean valid = ntru.verifySignature(s); - - assertTrue(valid); - - // altering the signature should make it invalid - s[rng.nextInt(params.N)] += 1; - ntru.init(false, kp.getPublic()); - - ntru.update(msg, 0, msg.length); - - valid = ntru.verifySignature(s); - assertFalse(valid); - - // test that a random signature fails - rng.nextBytes(s); - - ntru.init(false, kp.getPublic()); - - ntru.update(msg, 0, msg.length); - - valid = ntru.verifySignature(s); - assertFalse(valid); - - // encode, decode keypair, test - NTRUSigningPrivateKeyParameters priv = new NTRUSigningPrivateKeyParameters(((NTRUSigningPrivateKeyParameters)kp.getPrivate()).getEncoded(), params); - NTRUSigningPublicKeyParameters pub = new NTRUSigningPublicKeyParameters(((NTRUSigningPublicKeyParameters)kp.getPublic()).getEncoded(), params.getSigningParameters()); - kp = new AsymmetricCipherKeyPair(pub, priv); - - ntru.init(true, kp.getPrivate()); - ntru.update(msg, 0, msg.length); - - s = ntru.generateSignature(); - - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - - valid = ntru.verifySignature(s); - assertTrue(valid); - - // altering the signature should make it invalid - s[rng.nextInt(s.length)] += 1; - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - assertFalse(valid); - - // sparse/dense - params.sparse = !params.sparse; - - ntru.init(true, kp.getPrivate()); - ntru.update(msg, 0, msg.length); - - s = ntru.generateSignature(); - - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - assertTrue(valid); - - s[rng.nextInt(s.length)] += 1; - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - assertFalse(valid); - params.sparse = !params.sparse; - - // decrease NormBound to force multiple signing attempts - NTRUSigningKeyGenerationParameters params2 = params.clone(); - params2.normBoundSq *= 4.0 / 9; - params2.signFailTolerance = 10000; - ntru = new NTRUSigner(params2.getSigningParameters()); - - ntru.init(true, kp.getPrivate()); - ntru.update(msg, 0, msg.length); - - s = ntru.generateSignature(); - - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - - assertTrue(valid); - - // test KeyGenAlg.FLOAT (default=RESULTANT) - params2 = params.clone(); - params.keyGenAlg = NTRUSigningKeyGenerationParameters.KEY_GEN_ALG_FLOAT; - ntru = new NTRUSigner(params.getSigningParameters()); - - kGen.init(params); - - kp = kGen.generateKeyPair(); - ntru.init(true, kp.getPrivate()); - ntru.update(msg, 0, msg.length); - - s = ntru.generateSignature(); - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - assertTrue(valid); - s[rng.nextInt(s.length)] += 1; - ntru.init(false, kp.getPublic()); - ntru.update(msg, 0, msg.length); - valid = ntru.verifySignature(s); - assertFalse(valid); - } - - /** - * test for the initSign/update/sign and initVerify/update/verify variant - */ - public void testInitUpdateSign() - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157.clone(), NTRUSigningKeyGenerationParameters.TEST157_PROD.clone()}) - { - testInitUpdateSign(params); - } - } - - private void testInitUpdateSign(NTRUSigningKeyGenerationParameters params) - { - NTRUSigner ntru = new NTRUSigner(params.getSigningParameters()); - NTRUSigningKeyPairGenerator kGen = new NTRUSigningKeyPairGenerator(); - - kGen.init(params); - - AsymmetricCipherKeyPair kp = kGen.generateKeyPair(); - - Random rng = new Random(); - byte[] msg = new byte[10 + rng.nextInt(1000)]; - rng.nextBytes(msg); - - // sign and verify a message in two pieces each - ntru.init(true, kp.getPrivate()); - int splitIdx = rng.nextInt(msg.length); - ntru.update(msg[0]); // first byte - ntru.update(msg, 1, splitIdx - 1); // part 1 of msg - ntru.update(msg, splitIdx, msg.length - splitIdx); - byte[] s = ntru.generateSignature(); // part 2 of msg - ntru.init(false, kp.getPublic()); - splitIdx = rng.nextInt(msg.length); - ntru.update(msg, 0, splitIdx); // part 1 of msg - ntru.update(msg, splitIdx, msg.length - splitIdx); // part 2 of msg - boolean valid = ntru.verifySignature(s); - assertTrue(valid); - // verify the same signature with the one-step method - ntru.init(false, (NTRUSigningPublicKeyParameters)kp.getPublic()); - ntru.update(msg, 0, msg.length); // part 1 of msg - valid = ntru.verifySignature(s); - assertTrue(valid); - - // sign using the one-step method and verify using the multi-step method - ntru.init(true, kp.getPrivate()); - ntru.update(msg, 0, msg.length); - s = ntru.generateSignature(); - ntru.init(false, (NTRUSigningPublicKeyParameters)kp.getPublic()); - splitIdx = rng.nextInt(msg.length); - ntru.update(msg, 0, splitIdx); // part 1 of msg - ntru.update(msg, splitIdx, msg.length - splitIdx); // part 2 of msg - valid = ntru.verifySignature(s); - assertTrue(valid); - } - - public void testCreateMsgRep() - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157.clone(), NTRUSigningKeyGenerationParameters.TEST157_PROD.clone()}) - { - testCreateMsgRep(params); - } - } - - private void testCreateMsgRep(NTRUSigningKeyGenerationParameters params) - { - VisibleNTRUSigner ntru = new VisibleNTRUSigner(params.getSigningParameters()); - byte[] msgHash = "adfsadfsdfs23234234".getBytes(); - - // verify that the message representative is reproducible - IntegerPolynomial i1 = ntru.createMsgRep(msgHash, 1); - IntegerPolynomial i2 = ntru.createMsgRep(msgHash, 1); - assertTrue(Arrays.areEqual(i1.coeffs, i2.coeffs)); - i1 = ntru.createMsgRep(msgHash, 5); - i2 = ntru.createMsgRep(msgHash, 5); - assertTrue(Arrays.areEqual(i1.coeffs, i2.coeffs)); - - i1 = ntru.createMsgRep(msgHash, 2); - i2 = ntru.createMsgRep(msgHash, 3); - assertFalse(Arrays.areEqual(i1.coeffs, i2.coeffs)); - } - - private class VisibleNTRUSigner - extends NTRUSigner - { - - /** - * Constructs a new instance with a set of signature parameters. - * - * @param params signature parameters - */ - public VisibleNTRUSigner(NTRUSigningParameters params) - { - super(params); - } - - public IntegerPolynomial createMsgRep(byte[] hash, int i) - { - return super.createMsgRep(hash, i); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSigningParametersTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSigningParametersTest.java deleted file mode 100644 index b9129f003..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSigningParametersTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; - -public class NTRUSigningParametersTest - extends TestCase -{ - - public void testLoadSave() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - testLoadSave(params); - } - } - - private void testLoadSave(NTRUSigningKeyGenerationParameters params) - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - params.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - assertEquals(params, new NTRUSigningKeyGenerationParameters(is)); - } - - public void testEqualsHashCode() - throws IOException - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - testEqualsHashCode(params); - } - } - - private void testEqualsHashCode(NTRUSigningKeyGenerationParameters params) - throws IOException - { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - params.writeTo(os); - ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); - NTRUSigningKeyGenerationParameters params2 = new NTRUSigningKeyGenerationParameters(is); - - assertEquals(params, params2); - assertEquals(params.hashCode(), params2.hashCode()); - - params.N += 1; - assertFalse(params.equals(params2)); - assertFalse(params.equals(params2)); - assertFalse(params.hashCode() == params2.hashCode()); - } - - public void testClone() - { - for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD}) - { - assertEquals(params, params.clone()); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RainbowSignerTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RainbowSignerTest.java deleted file mode 100644 index 361a80a5b..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RainbowSignerTest.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.DigestingMessageSigner; -import org.spongycastle.pqc.crypto.rainbow.RainbowKeyGenerationParameters; -import org.spongycastle.pqc.crypto.rainbow.RainbowKeyPairGenerator; -import org.spongycastle.pqc.crypto.rainbow.RainbowParameters; -import org.spongycastle.pqc.crypto.rainbow.RainbowSigner; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - - -public class RainbowSignerTest -extends SimpleTest -{ - byte[] keyData = Hex.decode("b5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - - SecureRandom keyRandom = new FixedSecureRandom(new byte[][] { keyData, keyData }); - - - public String getName() - { - return "Rainbow"; - } - - public void performTest() - { - RainbowParameters params = new RainbowParameters(); - - RainbowKeyPairGenerator rainbowKeyGen = new RainbowKeyPairGenerator(); - RainbowKeyGenerationParameters genParam = new RainbowKeyGenerationParameters(keyRandom, params); - - rainbowKeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = rainbowKeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom); - - DigestingMessageSigner rainbowSigner = new DigestingMessageSigner(new RainbowSigner() , new SHA224Digest()); - rainbowSigner.init(true, param); - - byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517")); - rainbowSigner.update(message, 0, message.length); - byte[] sig = rainbowSigner.generateSignature(); - - rainbowSigner.init(false, pair.getPublic()); - rainbowSigner.update(message, 0, message.length); - if (!rainbowSigner.verify(sig)) - { - fail("verification fails"); - } - } - - public static void main( - String[] args) - { - runTest(new RainbowSignerTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RegressionTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RegressionTest.java deleted file mode 100644 index a081ec899..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/crypto/test/RegressionTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new GMSSSignerTest(), - new McElieceFujisakiCipherTest(), - new McElieceKobaraImaiCipherTest(), - new McEliecePKCSCipherTest(), - new McEliecePointchevalCipherTest(), - new RainbowSignerTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/AllTests.java deleted file mode 100644 index 051581f8e..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/AllTests.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.spongycastle.pqc.math.ntru.euclid.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests - extends TestCase -{ - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("NTRU Euclid Tests"); - - suite.addTestSuite(BigIntEuclideanTest.class); - suite.addTestSuite(IntEuclideanTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java deleted file mode 100644 index 5078090a0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.pqc.math.ntru.euclid.test; - -import java.math.BigInteger; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.euclid.BigIntEuclidean; - -public class BigIntEuclideanTest - extends TestCase -{ - public void testCalculate() - { - BigIntEuclidean r = BigIntEuclidean.calculate(BigInteger.valueOf(120), BigInteger.valueOf(23)); - assertEquals(BigInteger.valueOf(-9), r.x); - assertEquals(BigInteger.valueOf(47), r.y); - assertEquals(BigInteger.valueOf(1), r.gcd); - - r = BigIntEuclidean.calculate(BigInteger.valueOf(126), BigInteger.valueOf(231)); - assertEquals(BigInteger.valueOf(2), r.x); - assertEquals(BigInteger.valueOf(-1), r.y); - assertEquals(BigInteger.valueOf(21), r.gcd); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java deleted file mode 100644 index 9cfa62b0c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2011 Tim Buktu (tbuktu@hotmail.com) - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -package org.spongycastle.pqc.math.ntru.euclid.test; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.euclid.IntEuclidean; - -public class IntEuclideanTest - extends TestCase -{ - public void testCalculate() - { - IntEuclidean r = IntEuclidean.calculate(120, 23); - assertEquals(-9, r.x); - assertEquals(47, r.y); - assertEquals(1, r.gcd); - - r = IntEuclidean.calculate(126, 231); - assertEquals(2, r.x); - assertEquals(-1, r.y); - assertEquals(21, r.gcd); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/AllTests.java deleted file mode 100644 index ce9c6d60d..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/AllTests.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests - extends TestCase -{ - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("NTRU Polynomial Tests"); - - suite.addTestSuite(BigDecimalPolynomialTest.class); - suite.addTestSuite(BigIntPolynomialTest.class); - suite.addTestSuite(IntegerPolynomialTest.class); - suite.addTestSuite(LongPolynomial2Test.class); - suite.addTestSuite(LongPolynomial5Test.class); - suite.addTestSuite(ProductFormPolynomialTest.class); - suite.addTestSuite(SparseTernaryPolynomialTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigDecimalPolynomialTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigDecimalPolynomialTest.java deleted file mode 100644 index fdeb68555..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigDecimalPolynomialTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.math.BigDecimal; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.BigDecimalPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.BigIntPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; - -public class BigDecimalPolynomialTest - extends TestCase -{ - public void testMult() - { - BigDecimalPolynomial a = new BigDecimalPolynomial(new BigIntPolynomial(new IntegerPolynomial(new int[]{4, -1, 9, 2, 1, -5, 12, -7, 0, -9, 5}))); - BigDecimalPolynomial b = new BigDecimalPolynomial(new BigIntPolynomial(new IntegerPolynomial(new int[]{-6, 0, 0, 13, 3, -2, -4, 10, 11, 2, -1}))); - BigDecimalPolynomial c = a.mult(b); - BigDecimal[] expectedCoeffs = new BigDecimalPolynomial(new BigIntPolynomial(new IntegerPolynomial(new int[]{2, -189, 77, 124, -29, 0, -75, 124, -49, 267, 34}))).getCoeffs(); - - BigDecimal[] cCoeffs = c.getCoeffs(); - - assertEquals(expectedCoeffs.length, cCoeffs.length); - for (int i = 0; i != cCoeffs.length; i++) - { - assertEquals(expectedCoeffs[i], cCoeffs[i]); - } - - // multiply a polynomial by its inverse modulo 2048 and check that the result is 1 - SecureRandom random = new SecureRandom(); - IntegerPolynomial d, dInv; - do - { - d = DenseTernaryPolynomial.generateRandom(1001, 333, 334, random); - dInv = d.invertFq(2048); - } - while (dInv == null); - - d.mod(2048); - BigDecimalPolynomial e = new BigDecimalPolynomial(new BigIntPolynomial(d)); - BigIntPolynomial f = new BigIntPolynomial(dInv); - IntegerPolynomial g = new IntegerPolynomial(e.mult(f).round()); - g.modPositive(2048); - assertTrue(g.equalsOne()); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigIntPolynomialTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigIntPolynomialTest.java deleted file mode 100644 index 334ece968..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/BigIntPolynomialTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.math.BigInteger; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.BigIntPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; - -public class BigIntPolynomialTest - extends TestCase -{ - public void testMult() - { - BigIntPolynomial a = new BigIntPolynomial(new IntegerPolynomial(new int[]{4, -1, 9, 2, 1, -5, 12, -7, 0, -9, 5})); - BigIntPolynomial b = new BigIntPolynomial(new IntegerPolynomial(new int[]{-6, 0, 0, 13, 3, -2, -4, 10, 11, 2, -1})); - BigIntPolynomial c = a.mult(b); - BigInteger[] expectedCoeffs = new BigIntPolynomial(new IntegerPolynomial(new int[]{2, -189, 77, 124, -29, 0, -75, 124, -49, 267, 34})).getCoeffs(); - BigInteger[] cCoeffs = c.getCoeffs(); - - assertEquals(expectedCoeffs.length, cCoeffs.length); - for (int i = 0; i != cCoeffs.length; i++) - { - assertEquals(expectedCoeffs[i], cCoeffs[i]); - } - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/IntegerPolynomialTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/IntegerPolynomialTest.java deleted file mode 100644 index 1c7fcabf4..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/IntegerPolynomialTest.java +++ /dev/null @@ -1,230 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; -import org.spongycastle.pqc.math.ntru.polynomial.BigIntPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.Resultant; -import org.spongycastle.util.Arrays; - - -public class IntegerPolynomialTest - extends TestCase -{ - public void testMult() - { - // multiplication modulo q - IntegerPolynomial a = new IntegerPolynomial(new int[]{-1, 1, 1, 0, -1, 0, 1, 0, 0, 1, -1}); - IntegerPolynomial b = new IntegerPolynomial(new int[]{14, 11, 26, 24, 14, 16, 30, 7, 25, 6, 19}); - IntegerPolynomial c = a.mult(b, 32); - assertEqualsMod(new int[]{3, -7, -10, -11, 10, 7, 6, 7, 5, -3, -7}, c.coeffs, 32); - - a = new IntegerPolynomial(new int[]{15, 27, 18, 16, 12, 13, 16, 2, 28, 22, 26}); - b = new IntegerPolynomial(new int[]{-1, 0, 1, 1, 0, 1, 0, 0, -1, 0, -1}); - c = a.mult(b, 32); - assertEqualsMod(new int[]{8, 25, 22, 20, 12, 24, 15, 19, 12, 19, 16}, c.coeffs, 32); - - // multiplication without a modulus - a = new IntegerPolynomial(new int[]{1, 1, 0, 0, -1, -1, 0, 0, -1, 0, 1}); - b = new IntegerPolynomial(new int[]{704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); - c = a.mult(b); - - // mult(p, modulus) should give the same result as mult(p) followed by modulus - a = new IntegerPolynomial(new int[]{1, 0, -1, 1, 0, 1, 1, 1, -1, 1, -1}); - b = new IntegerPolynomial(new int[]{0, 1, 1, 0, 0, -1, -1, 1, 1, -1, 1}); - c = a.mult(b); - c.modPositive(20); - IntegerPolynomial d = a.mult(b, 20); - d.modPositive(20); - assertTrue(Arrays.areEqual(c.coeffs, d.coeffs)); - } - - void assertEqualsMod(int[] arr1, int[] arr2, int m) - { - assertEquals(arr1.length, arr2.length); - for (int i = 0; i < arr1.length; i++) - { - assertEquals((arr1[i] + m) % m, (arr2[i] + m) % m); - } - } - - public void testInvertFq() - { - SecureRandom random = new SecureRandom(); - // Verify an example from the NTRU tutorial - IntegerPolynomial a = new IntegerPolynomial(new int[]{-1, 1, 1, 0, -1, 0, 1, 0, 0, 1, -1}); - IntegerPolynomial b = a.invertFq(32); - assertEqualsMod(new int[]{5, 9, 6, 16, 4, 15, 16, 22, 20, 18, 30}, b.coeffs, 32); - verifyInverse(a, b, 32); - - // test 3 random polynomials - int numInvertible = 0; - while (numInvertible < 3) - { - a = DenseTernaryPolynomial.generateRandom(853, random); - b = a.invertFq(2048); - if (b != null) - { - numInvertible++; - verifyInverse(a, b, 2048); - } - } - - // test a non-invertible polynomial - a = new IntegerPolynomial(new int[]{-1, 0, 1, 1, 0, 0, -1, 0, -1, 0, 1}); - b = a.invertFq(32); - assertNull(b); - } - - public void testInvertF3() - { - IntegerPolynomial a = new IntegerPolynomial(new int[]{-1, 1, 1, 0, -1, 0, 1, 0, 0, 1, -1}); - IntegerPolynomial b = a.invertF3(); - assertEqualsMod(new int[]{1, 2, 0, 2, 2, 1, 0, 2, 1, 2, 0}, b.coeffs, 3); - verifyInverse(a, b, 3); - - // test a non-invertible polynomial - a = new IntegerPolynomial(new int[]{0, 1, -1, 1, 0, 0, 0, 0, -1, 0, 0}); - b = a.invertF3(); - assertNull(b); - } - - // tests if a*b=1 (mod modulus) - private void verifyInverse(IntegerPolynomial a, IntegerPolynomial b, int modulus) - { - IntegerPolynomial c = a.mult(b, modulus); - for (int i = 1; i < c.coeffs.length; i++) - { - c.coeffs[i] %= modulus; - } - c.ensurePositive(modulus); - assertTrue(c.equalsOne()); - } - - public void testFromToBinary() - { - byte[] a = new byte[]{-44, -33, 30, -109, 101, -28, -6, -105, -45, 113, -72, 99, 101, 15, 9, 49, -80, -76, 58, 42, -57, -113, -89, -14, -125, 24, 125, -16, 37, -58, 10, -49, -77, -31, 120, 103, -29, 105, -56, -126, -92, 36, 125, 127, -90, 38, 9, 4, 104, 10, -78, -106, -88, -1, -1, -43, -19, 90, 41, 0, -43, 102, 118, -72, -122, 19, -76, 57, -59, -2, 35, 47, 83, 114, 86, -115, -125, 58, 75, 115, -29, -6, 108, 6, -77, -51, 127, -8, -8, -58, -30, -126, 110, -5, -35, -41, -37, 69, 22, -48, 26, 4, -120, -19, -32, -81, -77, 124, -7, -2, -46, -96, 38, -35, 88, 4, -5, 16, 101, 29, 7, 2, 88, 35, -64, 31, -66, -70, 120, -97, 76, -74, -97, -61, 52, -56, 87, -35, 5, 95, -93, -30, 10, 38, 17, -102, -25, 86, 7, -43, 44, -52, -108, 33, -18, -110, -9, -115, 66, -71, 66, 1, -90, -72, 90, -88, -38, 75, 47, -124, -120, -15, -49, -8, 85, 5, 17, -88, 76, 99, -4, 83, 16, -91, 82, 116, 112, -83, 56, -45, -26, 125, 13, -75, -115, 92, -12, -59, 3, -12, 14, -6, 43, -17, 121, 122, 22, 92, -74, 99, -59, -103, 113, 8, -103, 114, 99, -48, 92, -88, 77, 81, 5, 31, -4, -69, -24, 23, 94, 126, 71, 93, 20, 77, 82, -54, -14, 86, 45, -81, 0, 52, -63, -66, 48, 104, -54, 15, -73, -2, -52, 115, 76, 28, -5, -94, -63, 117, -69, 0, 61, 22, -1, 71, -115, 9, -73, -100, -128, -31, 106, -74, -61, -37, 98, -6, 11, -5, 6, -18, -53, -6, 11, -49, 62, 23, 6, -128, 38, -91, 89, -34, 18, -38, -110, -101, 43, 36, 62, 101, 112, 59, -91, 78, -81, 61, 126, -21, -42, -110, -38, -27, 69, 57, 9, 24, -50, -118, 31, -17, 42, 87, -54, 122, -16, 42, -47, -19, -80, 16, 54, -97, -89, 81, -22, -35, 45, 54, -46, 22, -122, -95, -17, 7, -127, 105, -100, -56, -98, -105, 101, -81, 104, 121, -7, 33, 126, 110, -125, -85, 111, -52, 123, -98, 41, -42, 88, -68, -17, 39, -19, -96, -10, -117, 13, -88, -75, -101, -16, -7, 73, 23, -12, 41, -116, -105, -64, -4, 103, 49, -15, -49, 60, 88, -25, -21, 42, 26, 95, -90, -83, -69, 64, -2, 50, -116, -64, 26, -29, -93, -120, -70, 32, -38, 39, -126, -19, 103, 127, 65, 54, 110, 94, 126, -82, -80, -18, 43, 45, 56, -118, 109, 36, -8, 10, 113, 69, 53, -122, -127, 92, -127, -73, 70, -19, -105, -80, -15, -5, 99, -109, -27, 119, -76, -57, -48, 42, -35, 23, 39, -126, 44, -107, -100, -125, 117, -50, 115, -79, -16, 104, 8, -102, 83, -73, 21, -85, 113, -87, -54, 93, 63, -108, -64, 109, -74, 15, 14, -119, -6, -68, 45, 37, -15, -97, -95, -55, 89, 25, -63, -92, -80, -27, -8, 55, 50, 96, -91, 40, -74, 110, -96, 94, 6, 85, 92, 0, 34, -122, 5, -126, 123, 37, -90, -94, 60, 14, 36, 49, -98, -23, 57, 75, 63, 106, -7, -36, -89, 84, 71, 60, -21, 104, -47, 90, -52, -66, 88, -91, -81, -3, 116, 23, 62, -47, -84, -118, 65, 31, 7, -103, 37, -29, 115, -114, 73, 12, -121, 96, -91, -7, 56, 10, -72, 27, -45, 122, -27, -38, 74, 64, 30, -60, 64, -21, 48, 101, 113, 126, -60, -103, 71, 100, -117, 124, -125, 116, 78, 114, -74, 42, -81, -54, 34, 33, -10, 19, 23, 24, 40, 0, -8, 78, 100, 73, -88, -95, -62, -115, -18, 47, 10, -14, -39, 82, 27, -9, -115, -70, 92, -6, 39, 45, -71, -109, -41, 94, -88, -63, 19, -58, -37, -31, 1, 127, -42, 125, -120, -57, 120, -86, -6, 17, -27, -37, 47, 55, -22, -11, -31, 38, -1, 29, 56, -34, -104, -66, -62, 72, -11, -30, -30, 61, -31, 10, -63, 116, -84, 118, -127, 6, 17, -36, 91, 123, 77, 35, 22, 110, 114, 107, -3, 52, 11, 86, 68, -56, 0, 119, -43, -73, 112, 89, -4, -122, -71, -26, 103, -118, -61, -112, -108, -44, -25, -22, 4, 24, 53, -5, -71, 9, -41, 84, -28, 22, 99, 39, -26, -2, -51, 68, 63, -15, 99, 66, -78, 46, -89, 21, -38, -114, -51, 100, -59, 84, -76, -105, 51, 28, 19, 74, 42, 91, -73, 12, -89, -128, 34, 38, -100, 121, -78, 114, -28, 127, -29, 50, 105, -6, 36, 98, -35, 79, -58, 5, -13, -86, -101, -108, -99, -70, 25, 103, 63, 57, 79, -12, -63, 125, -54, 61, 15, 6, -79, 90, 76, 103, -45, 7, 39, 93, 107, 58, 76, 80, 56, -108, 55, -22, 36, 125, -91, -65, 11, 69, 10, -19, -14, -4, -26, -36, 114, 124, 63, -31, 88, 92, 108, 33, -52, -22, 80, -65, 57, 126, 43, -13, 122, -8, 68, 72, 92, -50, 100, -91, 1, -81, 75, 95, -11, -99, 38, 121, -20, -70, 82, -125, -94, -18, 16, 59, 89, 18, -96, 91, -97, 62, -96, 127, 45, 70, 16, 84, -43, -75, -118, 81, 58, 84, -115, -120, -3, 41, -103, -70, 123, 26, 101, 33, 58, 13, -11, -73, -84, -47, -7, 81, -63, 60, -45, 30, 100, -51, -15, 73, 58, -119, -3, 62, -63, -17, -69, -44, 60, -54, -115, -59, 23, -59, 98, -89, -72, 20, -96, 27, 53, -89, 59, -85, -29, 120, 23, 62, 8, -86, 113, 87, -15, 102, 106, -104, 57, -57, 37, 110, 118, 109, 25, 64, 26, -20, -86, -2, 60, -70, -33, 67, 13, -28, -29, -63, -37, 67, 99, 84, 121, -126, -38, 45, 24, 122, 51, 11, -19, -80, 26, -106, -95, 82, 69, -2, -75, 62, 106, -120, 87, -107, 87, 17, 102, -52, -16, 22, 12, -86, -48, -95, -61, 109, 64, -29, 111, 40, -90, -35, 49, 88, -15, 122, 127, 87, 113, 116, 93, 100, 28, -70, -87, -40, -1, -126, -114, 7, 79, 16, 2, -47, -98, -102, 49, 58, 61, -32, 44, 18, -26, 37, 27, -123, -76, 56, 91, 51, -21, -48, -122, -33, 40, -8, -62, -56, -126, 91, -51, 76, -29, 127, -22, -18, -110, 27, 13, -111, 81, 51, -104, 70, 98, 12, 120, -7, 15, 104, -43, -104, 124, 46, 116, 7, -26, 21, 33, 105, 17, -99, -42, -106, 8, -85, 39, 8, 79, -54, -81, 109, 40, 25, 29, -18, -90, 22, 85, -12, -16, 61, 49, -31, 127, 64, 5, 25, 39, -65, -42, 13, -97, -92, 36, -126, -18, -4, -22, -14, 109, -93, -76, -5, 13, 74, 44, 103, 79, 110, 85, 58, 39, -24, 119, 120, 122, 120, 43, 110, 67, 21, 47, 39, -48, 7, 91, -51, 126, 100, -38, -124, 0, -97, 99, -123, 118, -27, 8, 102, -106, -23, -53, -4, -56, -9, -126, -85, 93, -4, -5, 4, 49, 29, 2, 63, 78, -32, -106, 118, 111, 52, 54, 74, 53, 106, 39, -95, -38, -18, 118, -5, 94, -83, -97, -27, 62, -56, -90, -36, 43, 43, -113, 119, -89, 44, -108, -46, 66, 28, 66, -38, 3, -62, -83, -35, -127, -2, 51, 104, 105, 40, 76, -10, -124, -95, 52, 11, 101, -32, -122, -73, -17, 37, -126, 68, -126, 55, 112, -126, 38, 99, -63, 123, -74, -31, 58, 8, 93, -68, 111, -22, -24, -23, 9, -87, -25, -115, 81, -116, -91, 60, 96, -102, -1, -7, 73, 99, 46, -78, 62, 48, -116, -52, -44, -5, 82, -45, 5, -55, -101, 101, 65, -109, -108, 26, 98, -55, 11, -86, 57, 30, 92, -58, 20, 82, 65, 103, 27, -64, 76, 123, -56, -16, -111, -83, 125, 65, 111, 9, 123, 14, 119, 126, -80, 79, 94, -19, 66, -25, 35, 112, -64, 10, -66, -86, 51, 56, -78, 103, 92, -116, 8, 75, 41, -49, -79, -53, 125, -32, -76, -27, 59, -8, -4, -94, -104, -15, 79, -7, -124, 32, -87, -104, 85, -118, -36, 125, 65, 111, -105, 5, -105, 40, -50, 2, 118, 123, -54, 59, -22, 94, 20, 99, -87, -27, 28, -30, -109, 72, -19, 92, 60, 19, 115, 47, 96, -96, 10, -74, 60, 96, -86, 101, 101, 68, -44, -72, 9, -36, 126, 96, -45, -12, 9, 14, -15, 79, -79, -48, 8, -107, -81, 47, 35, -36, -107, -120, -36, -124, 37, 103, -60, -35, -74, 100, -38, -88, -99, -99, -94, -107, 79, 115, 108, 54, 119, 73, 84, 110, -74, 92, 57, 108, 80, 47, -36, -119, -115, 58, -62, -4, -97, 43, -98, 5, 112, 47, 59, -89, 82, -69, -103, 39, -29, 75, -9, -94, -72, 99, -64, 22, -10, 21, 89, 101, 21, 94, -30, -17, 73, -36, -68, -89, -91, -94, 99, -106, 119, -116, 123, -19, 54, -99, 64, -119, 82, 120, -106, -99, 80, 69, 29, -48, 77, 28, 13, 92, -107, -77, 94, -116, 108, 89, -115, 96, -41, 25, 99, -65, 118, -5, -16, 48, -122, 5, 50, -123, -115, 13, 24, 7, 15, -103, -62, -71, 92, -82, -5, -70, 49, -6, -51, -17, -47, 12, 46, -86, 30, 93, 84, -101, 43, -92, -87, -118, -110, -32, 52, 115, -4, 36, -2, -79, -69, -46, -110, 70, -82, 6, 21, -27, -11, 94, 42, -81, -96, 116, -102, -38, 36, 32, 91, 28, 80, -45, 116, -94, -33, -5, -102, 64, -96, 27, -2, 100, -126, 59, -71, 33, -36, -124, 123, 99, -76, 108, 127, -11, -24, -19, 84, -6, 19, 105, -19, -18, 120, -14, 23, 39, 54, 87, 105, 58, -95, -15, 127, -65, 114, 49, 4, -66, 32, -7, 84, 43, -103, 76, 11, 36, -68, -3, -98, -5, -43, 35, -48, 20, -40, -33, -123, 1, -54, -44, 99, -68, 8, -100, 97, -49, -10, 110, 49, 84, 46, -85, 98, -103, -58, -4, 104, -100, -40, -79, 67, -20, -95, 85, 51, 73, 10, -25, 102, 68, -97, -83, -39, 35, 2, -111, 71, 62, -89, 20, 25, -126, 17, -81, -29, 39, -27, -55, 55, -122, 97, 23, -99, 55, 86, 33, -9, 8, 55, -40, -84, 39, 38, 37, -29, 87, 113, -118, -26, 123, -95, 24, -126, 119, -94, 17, 83, -43, 10, 63, -98, 72, 8, 16, -95, -96, 119, -91, 6, 71, -60, 1, -77, 4, 53, -121, 55, 7, 36, -86, -49, -118, -121, 56, 84, -49, -57, -99, 3, -68, 37, -108, -72, 114, -74, 120, 3, 121, -28, -106, 54, -20, 63, -121, -85, -59, -111, 32, 13, -69, 122, 90, 5, 40, 88, 15, -90, 125, -28, 89, 95, 73, 96, 60, -60, -51, 102, 7, 57, 91, 59, 15, 92, -76, -34, -23, -77, 90, 45, 91, 77, -63, 94, -127, 74, -97, -44, 50, -87, -94, -25, -71, 112, 127, -117, 6, 32, -113, 54, 83, -31, 111, -73, 53, 34, -32, -98, 125, -39, 63, 15, 72, -69, 87, -118, 108, 17, 84, 15, 61, -47, 54, -24, -79, 91, 28, -28, 66, 53, 22, 9, -28, -12, 38, 64, 75, -122, 96, -59, -45, 4, -19, 47, -30, 75, -94, 62, -64, 76, -49, 19, -66, -34, 3, 84, -2, -54, 13, -84, 86, -117, 94, -27, 89, 16, 96, 52, -77, -36, -116, 27, -52, -33, -50, 14, -59, 77, 93, -109, 8, -89, 81, -114, -29, -94, 73, -119, -56, -19, 88, -17, -33, 125, -18, -68, 113, 40, -128, -112, -119, -106, -106, -30, 23, -77, 49, 3, 98, -101, 99, -107, -121, -12, -112, 24, -74, -74, 79, -17, 96, 65, -52, 86, -63, 45, 84, 119, -42, 61, -91, 29, -87, 65, -85, 99, -14, 71, 33, -41, -48, -2, -121, 78, -38, 41, -7, -37, 48, 122, 61, -124, 42, -22, 24, 2, -49, 74, -81, -88, -89, -107, 109, 53, -68, 90, -117, 123, -109, -28, 12, 80, 120, 26, -104, 73, 70, -36, 34, -80, -104, 23, 16, 14, -96, -5, 27, 71, 25, -8, -125, 58, 88, -52, -97, -97, -93, 11, -44, 116, 42, -102, -100, -31, -86, 71, 84, 70, 27, 117, -67, 92, -84, -13, 54, -102, 34, 5, 19, -76, 71, 89, 22, -49, -34, -29}; - IntegerPolynomial poly = IntegerPolynomial.fromBinary(a, 1499, 2048); - byte[] b = poly.toBinary(2048); - // verify that bytes 0..2047 match, ignore non-relevant bits of byte 2048 - assertTrue(Arrays.areEqual(copyOf(a, 2047), copyOf(b, 2047))); - assertEquals((a[a.length - 1] & 1) >> (7 - (1499 * 11) % 8), (b[b.length - 1] & 1) >> (7 - (1499 * 11) % 8)); - } - - public void testFromToBinary3Sves() - { - byte[] a = new byte[]{-112, -78, 19, 15, 99, -65, -56, -90, 44, -93, -109, 104, 40, 90, -84, -21, -124, 51, -33, 4, -51, -106, 33, 86, -76, 42, 41, -17, 47, 79, 81, -29, 15, 116, 101, 120, 116, 32, 116, 111, 32, 101, 110, 99, 114, 121, 112, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - IntegerPolynomial poly = IntegerPolynomial.fromBinary3Sves(a, 1499); - byte[] b = poly.toBinary3Sves(); - assertTrue(Arrays.areEqual(a, b)); - } - - public void testFromToBinary3Tight() - { - int[] c = new int[]{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 1, 0, -1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0}; - IntegerPolynomial poly1 = new IntegerPolynomial(c); - IntegerPolynomial poly2 = IntegerPolynomial.fromBinary3Tight(poly1.toBinary3Tight(), c.length); - assertTrue(Arrays.areEqual(poly1.coeffs, poly2.coeffs)); - - IntegerPolynomial poly3 = new IntegerPolynomial(new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}); - byte[] arr = poly3.toBinary3Tight(); - IntegerPolynomial poly4 = IntegerPolynomial.fromBinary3Tight(arr, 1499); - assertTrue(Arrays.areEqual(poly3.coeffs, poly4.coeffs)); - - IntegerPolynomial poly5 = new IntegerPolynomial(new int[]{0, 0, 0, 1, -1, -1, -1}); - arr = poly5.toBinary3Tight(); - IntegerPolynomial poly6 = IntegerPolynomial.fromBinary3Tight(arr, 7); - assertTrue(Arrays.areEqual(poly5.coeffs, poly6.coeffs)); - - SecureRandom random = new SecureRandom(); - - for (int i = 0; i < 100; i++) - { - IntegerPolynomial poly7 = DenseTernaryPolynomial.generateRandom(157, random); - arr = poly7.toBinary3Tight(); - IntegerPolynomial poly8 = IntegerPolynomial.fromBinary3Tight(arr, 157); - assertTrue(Arrays.areEqual(poly7.coeffs, poly8.coeffs)); - } - } - - public void testResultant() - { - SecureRandom random = new SecureRandom(); - NTRUSigningKeyGenerationParameters params = NTRUSigningKeyGenerationParameters.APR2011_439; - IntegerPolynomial a = DenseTernaryPolynomial.generateRandom(params.N, params.d, params.d, random); - verifyResultant(a, a.resultant()); - - a = new IntegerPolynomial(new int[]{0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, 0, -1, 1, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 1, 1, -1, -1, -1, 0, -1, -1, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 1, 1, -1, 0, 1, -1, 0, 1, 0, 1, 0, -1, -1, 0, 1, 0, -1, 1, 1, 1, 1, 0, 0, -1, -1, 1, 0, 0, -1, -1, 0, -1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, -1, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 1, 1, 0, 0, -1, 1, 0, 0, 0, -1, 1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 1, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, -1, -1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 1, -1, 1, -1, -1, 1, -1, 0, 1, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, -1, 0, 0, 1, 1, 0, 0, 1, 1, 0, -1, 0, -1, 1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, -1, -1, 0, 0, -1, 0, 1, 1, -1, 1, -1, 0, 0, 0, 1}); - verifyResultant(a, a.resultant()); - } - - // verifies that res=rho*a mod x^n-1 - private void verifyResultant(IntegerPolynomial a, Resultant r) - { - BigIntPolynomial b = new BigIntPolynomial(a).mult(r.rho); - BigInteger[] bCoeffs = b.getCoeffs(); - - for (int j = 1; j < bCoeffs.length - 1; j++) - { - assertEquals(BigInteger.ZERO, bCoeffs[j]); - } - if (r.res.equals(BigInteger.ZERO)) - { - assertEquals(BigInteger.ZERO, bCoeffs[0].subtract(bCoeffs[bCoeffs.length - 1])); - } - else - { - assertEquals(BigInteger.ZERO, (bCoeffs[0].subtract(bCoeffs[bCoeffs.length - 1]).mod(r.res))); - } - assertEquals(bCoeffs[0].subtract(r.res), bCoeffs[bCoeffs.length - 1].negate()); - } - - public void testResultantMod() - { - int p = 46337; // prime; must be less than sqrt(2^31) or integer overflows will occur - - IntegerPolynomial a = new IntegerPolynomial(new int[]{0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, 0, -1, 1, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 1, 1, -1, -1, -1, 0, -1, -1, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 1, 1, -1, 0, 1, -1, 0, 1, 0, 1, 0, -1, -1, 0, 1, 0, -1, 1, 1, 1, 1, 0, 0, -1, -1, 1, 0, 0, -1, -1, 0, -1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, -1, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 1, 1, 0, 0, -1, 1, 0, 0, 0, -1, 1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 1, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, -1, -1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 1, -1, 1, -1, -1, 1, -1, 0, 1, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, -1, 0, 0, 1, 1, 0, 0, 1, 1, 0, -1, 0, -1, 1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, -1, 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, -1, -1, 0, 0, -1, 0, 1, 1, -1, 1, -1, 0, 0, 0, 1}); - verifyResultant(a, a.resultant(p), p); - - SecureRandom random = new SecureRandom(); - - for (int i = 0; i < 10; i++) - { - a = DenseTernaryPolynomial.generateRandom(853, random); - verifyResultant(a, a.resultant(p), p); - } - } - - // verifies that res=rho*a mod x^n-1 mod p - private void verifyResultant(IntegerPolynomial a, Resultant r, int p) - { - BigIntPolynomial b = new BigIntPolynomial(a).mult(r.rho); - b.mod(BigInteger.valueOf(p)); - BigInteger[] bCoeffs = b.getCoeffs(); - - for (int j = 1; j < bCoeffs.length - 1; j++) - { - assertEquals(BigInteger.ZERO, bCoeffs[j]); - } - if (r.res.equals(BigInteger.ZERO)) - { - assertEquals(BigInteger.ZERO, bCoeffs[0].subtract(bCoeffs[bCoeffs.length - 1])); - } - else - { - assertEquals(BigInteger.ZERO, (bCoeffs[0].subtract(bCoeffs[bCoeffs.length - 1]).subtract(r.res).mod(BigInteger.valueOf(p)))); - } - assertEquals(BigInteger.ZERO, bCoeffs[0].subtract(r.res).subtract(bCoeffs[bCoeffs.length - 1].negate()).mod(BigInteger.valueOf(p))); - } - - private byte[] copyOf(byte[] src, int length) - { - byte[] tmp = new byte[length]; - System.arraycopy(src, 0, tmp, 0, tmp.length); - return tmp; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java deleted file mode 100644 index cff9fa747..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.util.Random; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.LongPolynomial2; -import org.spongycastle.util.Arrays; - -public class LongPolynomial2Test - extends TestCase -{ - public void testMult() - { - IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608}); - IntegerPolynomial i2 = new IntegerPolynomial(new int[]{1729, 1924, 806, 179, 1530, 1381, 1695, 60}); - LongPolynomial2 a = new LongPolynomial2(i1); - LongPolynomial2 b = new LongPolynomial2(i2); - IntegerPolynomial c1 = i1.mult(i2, 2048); - IntegerPolynomial c2 = a.mult(b).toIntegerPolynomial(); - assertTrue(Arrays.areEqual(c1.coeffs, c2.coeffs)); - - // test 10 random polynomials - Random rng = new Random(); - for (int i = 0; i < 10; i++) - { - int N = 2 + rng.nextInt(2000); - i1 = PolynomialGenerator.generateRandom(N, 2048); - i2 = PolynomialGenerator.generateRandom(N, 2048); - a = new LongPolynomial2(i1); - b = new LongPolynomial2(i2); - c1 = i1.mult(i2); - c1.modPositive(2048); - c2 = a.mult(b).toIntegerPolynomial(); - assertTrue(Arrays.areEqual(c1.coeffs, c2.coeffs)); - } - } - - public void testSubAnd() - { - IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608}); - IntegerPolynomial i2 = new IntegerPolynomial(new int[]{1729, 1924, 806, 179, 1530, 1381, 1695, 60}); - LongPolynomial2 a = new LongPolynomial2(i1); - LongPolynomial2 b = new LongPolynomial2(i2); - a.subAnd(b, 2047); - i1.sub(i2); - i1.modPositive(2048); - assertTrue(Arrays.areEqual(a.toIntegerPolynomial().coeffs, i1.coeffs)); - } - - public void testMult2And() - { - IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608}); - LongPolynomial2 i2 = new LongPolynomial2(i1); - i2.mult2And(2047); - i1.mult(2); - i1.modPositive(2048); - assertTrue(Arrays.areEqual(i1.coeffs, i2.toIntegerPolynomial().coeffs)); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial5Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial5Test.java deleted file mode 100644 index a5e653415..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial5Test.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.LongPolynomial5; -import org.spongycastle.util.Arrays; - -public class LongPolynomial5Test - extends TestCase -{ - public void testMult() - { - testMult(new int[]{2}, new int[]{-1}); - testMult(new int[]{2, 0}, new int[]{-1, 0}); - testMult(new int[]{2, 0, 3}, new int[]{-1, 0, 1}); - testMult(new int[]{2, 0, 3, 1}, new int[]{-1, 0, 1, 1}); - testMult(new int[]{2, 0, 3, 1, 2}, new int[]{-1, 0, 1, 1, 0}); - testMult(new int[]{2, 0, 3, 1, 1, 5}, new int[]{1, -1, 1, 1, 0, 1}); - testMult(new int[]{2, 0, 3, 1, 1, 5, 1, 4}, new int[]{1, 0, 1, 1, -1, 1, 0, -1}); - testMult(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608}, new int[]{1, 0, 1, 1, -1, 1, 0, -1}); - - // test random polynomials - SecureRandom rng = new SecureRandom(); - for (int i = 0; i < 10; i++) - { - int[] coeffs1 = new int[rng.nextInt(2000) + 1]; - int[] coeffs2 = DenseTernaryPolynomial.generateRandom(coeffs1.length, rng).coeffs; - testMult(coeffs1, coeffs2); - } - } - - private void testMult(int[] coeffs1, int[] coeffs2) - { - IntegerPolynomial i1 = new IntegerPolynomial(coeffs1); - IntegerPolynomial i2 = new IntegerPolynomial(coeffs2); - - LongPolynomial5 a = new LongPolynomial5(i1); - DenseTernaryPolynomial b = new DenseTernaryPolynomial(i2); - IntegerPolynomial c1 = i1.mult(i2, 2048); - IntegerPolynomial c2 = a.mult(b).toIntegerPolynomial(); - assertEqualsMod(c1.coeffs, c2.coeffs, 2048); - } - - private void assertEqualsMod(int[] arr1, int[] arr2, int m) - { - assertEquals(arr1.length, arr2.length); - for (int i = 0; i < arr1.length; i++) - { - assertEquals((arr1[i] + m) % m, (arr2[i] + m) % m); - } - } - - public void testToIntegerPolynomial() - { - int[] coeffs = new int[]{2, 0, 3, 1, 1, 5, 1, 4}; - LongPolynomial5 p = new LongPolynomial5(new IntegerPolynomial(coeffs)); - assertTrue(Arrays.areEqual(coeffs, p.toIntegerPolynomial().coeffs)); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/PolynomialGenerator.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/PolynomialGenerator.java deleted file mode 100644 index a30fea4d3..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/PolynomialGenerator.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.util.Random; - -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; - -public class PolynomialGenerator -{ - /** - * Creates a random polynomial with N coefficients - * between 0 and q-1. - * - * @param N length of the polynomial - * @param q coefficients will all be below this number - * @return a random polynomial - */ - public static IntegerPolynomial generateRandom(int N, int q) - { - Random rng = new Random(); - int[] coeffs = new int[N]; - for (int i = 0; i < N; i++) - { - coeffs[i] = rng.nextInt(q); - } - return new IntegerPolynomial(coeffs); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/ProductFormPolynomialTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/ProductFormPolynomialTest.java deleted file mode 100644 index 96506ed47..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/ProductFormPolynomialTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.pqc.crypto.ntru.NTRUEncryptionKeyGenerationParameters; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.ProductFormPolynomial; - -public class ProductFormPolynomialTest - extends TestCase -{ - private NTRUEncryptionKeyGenerationParameters params; - private int N; - private int df1; - private int df2; - private int df3; - private int q; - - public void setUp() - { - params = NTRUEncryptionKeyGenerationParameters.APR2011_439_FAST; - N = params.N; - df1 = params.df1; - df2 = params.df2; - df3 = params.df3; - q = params.q; - } - - public void testFromToBinary() - throws Exception - { - ProductFormPolynomial p1 = ProductFormPolynomial.generateRandom(N, df1, df2, df3, df3 - 1, new SecureRandom()); - byte[] bin1 = p1.toBinary(); - ProductFormPolynomial p2 = ProductFormPolynomial.fromBinary(bin1, N, df1, df2, df3, df3 - 1); - assertEquals(p1, p2); - } - - public void testMult() - { - ProductFormPolynomial p1 = ProductFormPolynomial.generateRandom(N, df1, df2, df3, df3 - 1, new SecureRandom()); - IntegerPolynomial p2 = PolynomialGenerator.generateRandom(N, q); - IntegerPolynomial p3 = p1.mult(p2); - IntegerPolynomial p4 = p1.toIntegerPolynomial().mult(p2); - assertEquals(p3, p4); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/SparseTernaryPolynomialTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/SparseTernaryPolynomialTest.java deleted file mode 100644 index a4d9ce7e9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/SparseTernaryPolynomialTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.spongycastle.pqc.math.ntru.polynomial.test; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.security.SecureRandom; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.BigIntPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.SparseTernaryPolynomial; - -public class SparseTernaryPolynomialTest - extends TestCase -{ - - /** - * tests mult(IntegerPolynomial) and mult(BigIntPolynomial) - */ - public void testMult() - { - SecureRandom random = new SecureRandom(); - SparseTernaryPolynomial p1 = SparseTernaryPolynomial.generateRandom(1000, 500, 500, random); - IntegerPolynomial p2 = DenseTernaryPolynomial.generateRandom(1000, random); - - IntegerPolynomial prod1 = p1.mult(p2); - IntegerPolynomial prod2 = p1.mult(p2); - assertEquals(prod1, prod2); - - BigIntPolynomial p3 = new BigIntPolynomial(p2); - BigIntPolynomial prod3 = p1.mult(p3); - - assertEquals(new BigIntPolynomial(prod1), prod3); - } - - public void testFromToBinary() - throws IOException - { - SecureRandom random = new SecureRandom(); - SparseTernaryPolynomial poly1 = SparseTernaryPolynomial.generateRandom(1000, 100, 101, random); - ByteArrayInputStream poly1Stream = new ByteArrayInputStream(poly1.toBinary()); - SparseTernaryPolynomial poly2 = SparseTernaryPolynomial.fromBinary(poly1Stream, 1000, 100, 101); - assertEquals(poly1, poly2); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/AllTests.java deleted file mode 100644 index ff675a73f..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/AllTests.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.spongycastle.pqc.math.ntru.util.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests - extends TestCase -{ - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("NTRU ArrayEncoder Tests"); - - suite.addTestSuite(ArrayEncoderTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/ArrayEncoderTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/ArrayEncoderTest.java deleted file mode 100644 index ebd96d1c0..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/pqc/math/ntru/util/test/ArrayEncoderTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.pqc.math.ntru.util.test; - -import java.security.SecureRandom; -import java.util.Random; - -import junit.framework.TestCase; -import org.spongycastle.pqc.math.ntru.polynomial.DenseTernaryPolynomial; -import org.spongycastle.pqc.math.ntru.polynomial.test.PolynomialGenerator; -import org.spongycastle.pqc.math.ntru.util.ArrayEncoder; -import org.spongycastle.util.Arrays; - -public class ArrayEncoderTest - extends TestCase -{ - public void testEncodeDecodeModQ() - { - int[] coeffs = PolynomialGenerator.generateRandom(1000, 2048).coeffs; - byte[] data = ArrayEncoder.encodeModQ(coeffs, 2048); - int[] coeffs2 = ArrayEncoder.decodeModQ(data, 1000, 2048); - assertTrue(Arrays.areEqual(coeffs, coeffs2)); - } - - public void testEncodeDecodeMod3Sves() - { - Random rng = new Random(); - byte[] data = new byte[180]; - rng.nextBytes(data); - int[] coeffs = ArrayEncoder.decodeMod3Sves(data, 960); - byte[] data2 = ArrayEncoder.encodeMod3Sves(coeffs); - assertTrue(Arrays.areEqual(data, data2)); - } - - public void testEncodeDecodeMod3Tight() - { - SecureRandom random = new SecureRandom(); - - int[] coeffs = DenseTernaryPolynomial.generateRandom(1000, random).coeffs; - byte[] data = ArrayEncoder.encodeMod3Tight(coeffs); - int[] coeffs2 = ArrayEncoder.decodeMod3Tight(data, 1000); - assertTrue(Arrays.areEqual(coeffs, coeffs2)); - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AbstractCoderTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AbstractCoderTest.java deleted file mode 100644 index 03f0bf771..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AbstractCoderTest.java +++ /dev/null @@ -1,211 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Arrays; -import java.util.Random; - -import junit.framework.TestCase; - -import org.spongycastle.util.encoders.Encoder; - -public abstract class AbstractCoderTest extends TestCase -{ - - private static final int[] SIZES_TO_CHECK = {64, 128, 1024, 1025, 1026, 2048, - 2049, 2050, 4096, 4097, 4098, 8192, 8193, 8194}; - - protected Encoder enc; - private Random r; - - AbstractCoderTest( - String name) - { - super(name); - } - - protected void setUp() - { - r = new Random(); - } - - private void checkArrayOfSize(int size) - throws IOException - { - byte[] original = new byte[size]; - r.nextBytes(original); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - enc.encode(original, 0, original.length, bOut); - - byte[] encoded = bOut.toByteArray(); - - assertTrue(encoded.length > original.length); - assertTrue(encoded.length <= (original.length * 2)); - checkEncoding(encoded); - checkSimpleDecode(original, encoded); - checkStringDecode(original, encoded); - checkOutputStreamDecode(original, encoded); - - int offset = r.nextInt(20); - byte[] offsetEncoded = new byte[offset + encoded.length]; - System.arraycopy(encoded, 0, offsetEncoded, offset, encoded.length); - checkOffsetDecode(original, offsetEncoded, offset, encoded.length); - - offset = r.nextInt(20); - byte[] offsetOriginal = new byte[offset + original.length]; - System.arraycopy(original, 0, offsetOriginal, offset, original.length); - checkOffsetEncode(original, offsetOriginal, offset, original.length); - - byte[] encodedWithSpace = addWhitespace(encoded); - checkSimpleDecode(original, encodedWithSpace); - checkStringDecode(original, encodedWithSpace); - checkOutputStreamDecode(original, encodedWithSpace); - } - - public void testEncode() - throws IOException - { - for (int i = 0; i < SIZES_TO_CHECK.length; i++) - { - checkArrayOfSize(SIZES_TO_CHECK[i]); - } - } - - private void checkEncoding(byte[] encoded) - { - String encString = convertBytesToString(encoded); - for (int i = 0; i < encString.length(); i++) - { - char c = encString.charAt(i); - if (c == paddingChar()) - { - // should only be padding at end of string - assertTrue(i > encString.length() - 3); - continue; - } - else if (isEncodedChar(c)) - { - continue; - } - fail("Unexpected encoded character " + c); - } - } - - private void checkOutputStreamDecode(byte[] original, byte[] encoded) - { - String encString = convertBytesToString(encoded); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - try - { - assertEquals(original.length, enc.decode(encString, out)); - assertTrue(Arrays.equals(original, out.toByteArray())); - } - catch (IOException e) - { - fail("This shouldn't happen"); - } - } - - private void checkSimpleDecode(byte[] original, byte[] encoded) - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - enc.decode(encoded, 0, encoded.length, bOut); - - assertTrue(Arrays.equals(original, bOut.toByteArray())); - } - - private void checkOffsetEncode(byte[] original, byte[] offsetOriginal, int off, int length) - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - - enc.encode(offsetOriginal, off, length, bOut); - - byte[] encoded = bOut.toByteArray(); - - bOut.reset(); - - enc.decode(encoded, 0, encoded.length, bOut); - - assertTrue(Arrays.equals(original, bOut.toByteArray())); - } - - private void checkOffsetDecode(byte[] original, byte[] encoded, int off, int length) - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - enc.decode(encoded, off, length, bOut); - - assertTrue(Arrays.equals(original, bOut.toByteArray())); - } - - private void checkStringDecode(byte[] original, byte[] encoded) - throws IOException - { - String encString = convertBytesToString(encoded); - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - enc.decode(encString, bOut); - assertTrue(Arrays.equals(original, bOut.toByteArray())); - } - - private byte[] addWhitespace(byte[] encoded) - { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - addSpace(out); - for (int i = 0; i < encoded.length - 5; i++) - { - out.write(encoded, i, 1); - if (r.nextInt(100) < 5) - { - addSpace(out); - } - } - for (int i = encoded.length - 5; i < encoded.length; i++) - { - out.write(encoded, i, 1); - } - addSpace(out); - return out.toByteArray(); - } - - private void addSpace(ByteArrayOutputStream out) - { - do - { - switch (r.nextInt(3)) - { - case 0 : - out.write((int) '\n'); - break; - case 1 : - out.write((int) '\r'); - break; - case 2 : - out.write((int) '\t'); - break; - case 3 : - out.write((int) ' '); - break; - } - } while (r.nextBoolean()); - } - - private String convertBytesToString(byte[] encoded) - { - StringBuffer b = new StringBuffer(); - - for (int i = 0; i != encoded.length; i++) - { - b.append((char)(encoded[i] & 0xff)); - } - - return b.toString(); - } - - abstract protected char paddingChar(); - - abstract protected boolean isEncodedChar(char c); - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AllTests.java deleted file mode 100644 index a31c5ad2c..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/AllTests.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import junit.framework.*; - -public class AllTests -{ - public static void main (String[] args) - { - junit.textui.TestRunner.run (suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("encoder tests"); - suite.addTestSuite(Base64Test.class); - suite.addTestSuite(UrlBase64Test.class); - suite.addTestSuite(HexTest.class); - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/Base64Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/Base64Test.java deleted file mode 100644 index f74f7eed5..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/Base64Test.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Base64Encoder; -import org.spongycastle.util.encoders.DecoderException; -import org.spongycastle.util.encoders.Hex; - -public class Base64Test extends AbstractCoderTest -{ - private static final String sample1 = "mO4TyLWG7vjFWdKT8IJcVbZ/jwc="; - private static final byte[] sample1Bytes = Hex.decode("98ee13c8b586eef8c559d293f0825c55b67f8f07"); - private static final String sample2 = "F4I4p8Vf/mS+Kxvri3FPoMcqmJ1f"; - private static final byte[] sample2Bytes = Hex.decode("178238a7c55ffe64be2b1beb8b714fa0c72a989d5f"); - private static final String sample3 = "UJmEdJYodqHJmd7Rtv6/OP29/jUEFw=="; - private static final byte[] sample3Bytes = Hex.decode("50998474962876a1c999ded1b6febf38fdbdfe350417"); - - private static final String invalid1 = "%O4TyLWG7vjFWdKT8IJcVbZ/jwc="; - private static final String invalid2 = "F%I4p8Vf/mS+Kxvri3FPoMcqmJ1f"; - private static final String invalid3 = "UJ%EdJYodqHJmd7Rtv6/OP29/jUEFw=="; - private static final String invalid4 = "mO4%yLWG7vjFWdKT8IJcVbZ/jwc="; - private static final String invalid5 = "UJmEdJYodqHJmd7Rtv6/OP29/jUEF%=="; - private static final String invalid6 = "mO4TyLWG7vjFWdKT8IJcVbZ/jw%="; - private static final String invalid7 = "F4I4p8Vf/mS+Kxvri3FPoMcqmJ1%"; - private static final String invalid8 = "UJmEdJYodqHJmd7Rtv6/OP29/jUE%c=="; - private static final String invalid9 = "mO4TyLWG7vjFWdKT8IJcVbZ/j%c="; - private static final String invalida = "F4I4p8Vf/mS+Kxvri3FPoMcqmJ%1"; - private static final String invalidb = "UJmEdJYodqHJmd7Rtv6/OP29/jU%Fc=="; - private static final String invalidc = "mO4TyLWG7vjFWdKT8IJcVbZ/%wc="; - private static final String invalidd = "F4I4p8Vf/mS+Kxvri3FPoMcqm%1c"; - - - public Base64Test( - String name) - { - super(name); - } - - protected void setUp() - { - super.setUp(); - enc = new Base64Encoder(); - } - - public void testSamples() - throws IOException - { - assertTrue(Arrays.areEqual(sample1Bytes, Base64.decode(sample1))); - assertTrue(Arrays.areEqual(sample1Bytes, Base64.decode(Strings.toByteArray(sample1)))); - assertTrue(Arrays.areEqual(sample2Bytes, Base64.decode(sample2))); - assertTrue(Arrays.areEqual(sample2Bytes, Base64.decode(Strings.toByteArray(sample2)))); - assertTrue(Arrays.areEqual(sample3Bytes, Base64.decode(sample3))); - assertTrue(Arrays.areEqual(sample3Bytes, Base64.decode(Strings.toByteArray(sample3)))); - } - - public void testInvalidInput() - throws IOException - { - String[] invalid = new String[] { invalid1, invalid2, invalid3, invalid4, invalid5, invalid6, invalid7, invalid8, invalid9, invalida, invalidb, invalidc, invalidd }; - - for (int i = 0; i != invalid.length; i++) - { - invalidTest(invalid[i]); - invalidTest(Strings.toByteArray(invalid[i])); - } - } - - private void invalidTest(String data) - { - try - { - Base64.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid String data parsed"); - } - - private void invalidTest(byte[] data) - { - try - { - Base64.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid byte data parsed"); - } - - protected char paddingChar() - { - return '='; - } - - protected boolean isEncodedChar(char c) - { - if (Character.isLetterOrDigit(c)) - { - return true; - } - else if (c == '+') - { - return true; - } - else if (c == '/') - { - return true; - } - return false; - } - -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java deleted file mode 100644 index 4e0e79c20..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java +++ /dev/null @@ -1,250 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import java.util.Arrays; -import java.util.Random; - -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class EncoderTest - extends SimpleTest -{ - public static final boolean DEBUG = true; - - - public static void main( - String[] args) - { - runTest(new EncoderTest()); - } - - public String getName() - { - return "Encoder"; - } - - /* - * - * TESTS - * - */ - - public void performTest() - { - testHex(); - testBase64(); - testBase64WithNL(); - } - - - public void testBase64() - { - try - { - Random _r = new Random(); - - byte[] _orig1024 = new byte[1024]; - _r.nextBytes(_orig1024); - - byte[] _orig2048 = new byte[2048]; - _r.nextBytes(_orig2048); - - byte[] _orig4096 = new byte[4096]; - _r.nextBytes(_orig4096); - - byte[] _orig8192 = new byte[8192]; - _r.nextBytes(_orig8192); - - byte[] _enc1024 = Base64.encode(_orig1024); - byte[] _enc2048 = Base64.encode(_orig2048); - byte[] _enc4096 = Base64.encode(_orig4096); - byte[] _enc8192 = Base64.encode(_orig8192); - - byte[] _dec1024 = Base64.decode(_enc1024); - byte[] _dec2048 = Base64.decode(_enc2048); - byte[] _dec4096 = Base64.decode(_enc4096); - byte[] _dec8192 = Base64.decode(_enc8192); - - if(!Arrays.equals(_orig1024, _dec1024)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig2048, _dec2048)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig4096, _dec4096)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig8192, _dec8192)) - { - fail("Failed Base64 test"); - } - - - - byte[] _orig1025 = new byte[1025]; - _r.nextBytes(_orig1025); - - byte[] _orig2049 = new byte[2049]; - _r.nextBytes(_orig2049); - - byte[] _orig4097 = new byte[4097]; - _r.nextBytes(_orig4097); - - byte[] _orig8193 = new byte[8193]; - _r.nextBytes(_orig8193); - - byte[] _enc1025 = Base64.encode(_orig1025); - byte[] _enc2049 = Base64.encode(_orig2049); - byte[] _enc4097 = Base64.encode(_orig4097); - byte[] _enc8193 = Base64.encode(_orig8193); - - byte[] _dec1025 = Base64.decode(_enc1025); - byte[] _dec2049 = Base64.decode(_enc2049); - byte[] _dec4097 = Base64.decode(_enc4097); - byte[] _dec8193 = Base64.decode(_enc8193); - - if(!Arrays.equals(_orig1025, _dec1025)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig2049, _dec2049)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig4097, _dec4097)) - { - fail("Failed Base64 test"); - } - - if(!Arrays.equals(_orig8193, _dec8193)) - { - fail("Failed Base64 test"); - } - } - catch(Exception ex) - { - fail("Failed Base64 test"); - } - } - - public void testBase64WithNL() - { - byte[] dec = Base64.decode("SVNC" + "\n" + "QUQ=\n"); - - if (dec.length != 5) - { - fail("got length " + dec.length + " when expecting 10"); - } - - if (!areEqual(dec, Base64.decode("SVNCQUQ="))) - { - fail("decodings are not equal"); - } - } - - public void testHex() - { - try - { - Random _r = new Random(); - - byte[] _orig1024 = new byte[1024]; - _r.nextBytes(_orig1024); - - byte[] _orig2048 = new byte[2048]; - _r.nextBytes(_orig2048); - - byte[] _orig4096 = new byte[4096]; - _r.nextBytes(_orig4096); - - byte[] _orig8192 = new byte[8192]; - _r.nextBytes(_orig8192); - - byte[] _enc1024 = Hex.encode(_orig1024); - byte[] _enc2048 = Hex.encode(_orig2048); - byte[] _enc4096 = Hex.encode(_orig4096); - byte[] _enc8192 = Hex.encode(_orig8192); - - byte[] _dec1024 = Hex.decode(_enc1024); - byte[] _dec2048 = Hex.decode(_enc2048); - byte[] _dec4096 = Hex.decode(_enc4096); - byte[] _dec8192 = Hex.decode(_enc8192); - - if(!Arrays.equals(_orig1024, _dec1024)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig2048, _dec2048)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig4096, _dec4096)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig8192, _dec8192)) - { - fail("Failed Hex test"); - } - - - byte[] _orig1025 = new byte[1025]; - _r.nextBytes(_orig1025); - - byte[] _orig2049 = new byte[2049]; - _r.nextBytes(_orig2049); - - byte[] _orig4097 = new byte[4097]; - _r.nextBytes(_orig4097); - - byte[] _orig8193 = new byte[8193]; - _r.nextBytes(_orig8193); - - byte[] _enc1025 = Hex.encode(_orig1025); - byte[] _enc2049 = Hex.encode(_orig2049); - byte[] _enc4097 = Hex.encode(_orig4097); - byte[] _enc8193 = Hex.encode(_orig8193); - - byte[] _dec1025 = Hex.decode(_enc1025); - byte[] _dec2049 = Hex.decode(_enc2049); - byte[] _dec4097 = Hex.decode(_enc4097); - byte[] _dec8193 = Hex.decode(_enc8193); - - if(!Arrays.equals(_orig1025, _dec1025)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig2049, _dec2049)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig4097, _dec4097)) - { - fail("Failed Hex test"); - } - - if(!Arrays.equals(_orig8193, _dec8193)) - { - fail("Failed Hex test"); - } - } - catch(Exception ex) - { - fail("Failed Hex test"); - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/HexTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/HexTest.java deleted file mode 100644 index a0c101bc9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/HexTest.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import java.io.IOException; - -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.DecoderException; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.encoders.HexEncoder; - -public class HexTest extends AbstractCoderTest -{ - private static final String invalid1 = "%O4T"; - private static final String invalid2 = "FZI4"; - private static final String invalid3 = "ae%E"; - private static final String invalid4 = "fO4%"; - private static final String invalid5 = "beefe"; - private static final String invalid6 = "beefs"; - - public HexTest( - String name) - { - super(name); - } - - protected void setUp() - { - super.setUp(); - enc = new HexEncoder(); - } - - protected char paddingChar() - { - return 0; - } - - protected boolean isEncodedChar(char c) - { - if ('A' <= c && c <= 'F') - { - return true; - } - if ('a' <= c && c <= 'f') - { - return true; - } - if ('0' <= c && c <= '9') - { - return true; - } - return false; - } - - public void testInvalidInput() - throws IOException - { - String[] invalid = new String[] { invalid1, invalid2, invalid3, invalid4, invalid5, invalid6 }; - - for (int i = 0; i != invalid.length; i++) - { - invalidTest(invalid[i]); - invalidTest(Strings.toByteArray(invalid[i])); - } - } - - private void invalidTest(String data) - { - try - { - Hex.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid String data parsed"); - } - - private void invalidTest(byte[] data) - { - try - { - Hex.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid byte data parsed"); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/UrlBase64Test.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/UrlBase64Test.java deleted file mode 100644 index 9822efea9..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/encoders/test/UrlBase64Test.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.spongycastle.util.encoders.test; - -import java.io.IOException; - -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.DecoderException; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.encoders.UrlBase64; -import org.spongycastle.util.encoders.UrlBase64Encoder; - -public class UrlBase64Test extends AbstractCoderTest -{ - private static final String sample1 = "mO4TyLWG7vjFWdKT8IJcVbZ_jwc."; - private static final byte[] sample1Bytes = Hex.decode("98ee13c8b586eef8c559d293f0825c55b67f8f07"); - private static final String sample2 = "F4I4p8Vf_mS-Kxvri3FPoMcqmJ1f"; - private static final byte[] sample2Bytes = Hex.decode("178238a7c55ffe64be2b1beb8b714fa0c72a989d5f"); - private static final String sample3 = "UJmEdJYodqHJmd7Rtv6_OP29_jUEFw.."; - private static final byte[] sample3Bytes = Hex.decode("50998474962876a1c999ded1b6febf38fdbdfe350417"); - - private static final String invalid1 = "%O4TyLWG7vjFWdKT8IJcVbZ_jwc."; - private static final String invalid2 = "F%I4p8Vf_mS-Kxvri3FPoMcqmJ1f"; - private static final String invalid3 = "UJ%EdJYodqHJmd7Rtv6_OP29_jUEFw.."; - private static final String invalid4 = "mO4%yLWG7vjFWdKT8IJcVbZ_jwc."; - private static final String invalid5 = "UJmEdJYodqHJmd7Rtv6_OP29_jUEF%.."; - private static final String invalid6 = "mO4TyLWG7vjFWdKT8IJcVbZ_jw%."; - private static final String invalid7 = "F4I4p8Vf_mS-Kxvri3FPoMcqmJ1%"; - private static final String invalid8 = "UJmEdJYodqHJmd7Rtv6_OP29_jUE%c.."; - private static final String invalid9 = "mO4TyLWG7vjFWdKT8IJcVbZ_j%c."; - private static final String invalida = "F4I4p8Vf_mS-Kxvri3FPoMcqmJ%1"; - private static final String invalidb = "UJmEdJYodqHJmd7Rtv6_OP29_jU%Fc.."; - private static final String invalidc = "mO4TyLWG7vjFWdKT8IJcVbZ_%wc."; - private static final String invalidd = "F4I4p8Vf_mS-Kxvri3FPoMcqm%1c"; - - public UrlBase64Test( - String name) - { - super(name); - } - - protected void setUp() - { - super.setUp(); - enc = new UrlBase64Encoder(); - } - - public void testSamples() - throws IOException - { - assertTrue(Arrays.areEqual(sample1Bytes, UrlBase64.decode(sample1))); - assertTrue(Arrays.areEqual(sample1Bytes, UrlBase64.decode(Strings.toByteArray(sample1)))); - assertTrue(Arrays.areEqual(sample2Bytes, UrlBase64.decode(sample2))); - assertTrue(Arrays.areEqual(sample2Bytes, UrlBase64.decode(Strings.toByteArray(sample2)))); - assertTrue(Arrays.areEqual(sample3Bytes, UrlBase64.decode(sample3))); - assertTrue(Arrays.areEqual(sample3Bytes, UrlBase64.decode(Strings.toByteArray(sample3)))); - } - - public void testInvalidInput() - throws IOException - { - String[] invalid = new String[] { invalid1, invalid2, invalid3, invalid4, invalid5, invalid6, invalid7, invalid8, invalid9, invalida, invalidb, invalidc, invalidd }; - - for (int i = 0; i != invalid.length; i++) - { - invalidTest(invalid[i]); - invalidTest(Strings.toByteArray(invalid[i])); - } - } - - private void invalidTest(String data) - { - try - { - UrlBase64.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid String data parsed"); - } - - private void invalidTest(byte[] data) - { - try - { - UrlBase64.decode(data); - } - catch (DecoderException e) - { - return; - } - - fail("invalid byte data parsed"); - } - - protected char paddingChar() - { - return '.'; - } - - protected boolean isEncodedChar(char c) - { - if (Character.isLetterOrDigit(c)) - { - return true; - } - else if (c == '-') - { - return true; - } - else if (c == '_') - { - return true; - } - return false; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/pem/test/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/pem/test/AllTests.java deleted file mode 100644 index 6c04ace63..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/pem/test/AllTests.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.util.io.pem.test; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.io.pem.PemHeader; -import org.spongycastle.util.io.pem.PemObject; -import org.spongycastle.util.io.pem.PemWriter; - -public class AllTests - extends TestCase -{ - public void testPemLength() - throws IOException - { - for (int i = 1; i != 60; i++) - { - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[i]); - } - - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[100]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[101]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[102]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[103]); - - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[1000]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[1001]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[1002]); - lengthTest("CERTIFICATE", Collections.EMPTY_LIST, new byte[1003]); - - List headers = new ArrayList(); - - headers.add(new PemHeader("Proc-Type", "4,ENCRYPTED")); - headers.add(new PemHeader("DEK-Info", "DES3,0001020304050607")); - - lengthTest("RSA PRIVATE KEY", headers, new byte[103]); - } - - private void lengthTest(String type, List headers, byte[] data) - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - PemWriter pWrt = new PemWriter(new OutputStreamWriter(bOut)); - - PemObject pemObj = new PemObject(type, headers, data); - pWrt.writeObject(pemObj); - - pWrt.close(); - - assertEquals(bOut.toByteArray().length, pWrt.getOutputSize(pemObj)); - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run (suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("util tests"); - suite.addTestSuite(AllTests.class); - return suite; - } -} \ No newline at end of file diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/test/BufferingOutputStreamTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/test/BufferingOutputStreamTest.java deleted file mode 100644 index faaaa5329..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/io/test/BufferingOutputStreamTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.spongycastle.util.io.test; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.SecureRandom; - -import org.spongycastle.util.io.BufferingOutputStream; -import org.spongycastle.util.test.SimpleTest; - -public class BufferingOutputStreamTest - extends SimpleTest -{ - public String getName() - { - return "BufferingStreamTest"; - } - - public void performTest() - throws Exception - { - SecureRandom random = new SecureRandom(); - - for (int i = 1; i != 256; i++) - { - byte[] data = new byte[i]; - - random.nextBytes(data); - - checkStream(data, 16); - checkStream(data, 33); - checkStream(data, 128); - } - } - - private void checkStream(byte[] data, int bufsize) - throws IOException - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BufferingOutputStream bfOut = new BufferingOutputStream(bOut, bufsize); - - for (int i = 0; i != 10; i++) - { - bfOut.write(data[0]); - bfOut.write(data, 1, data.length - 1); - } - - bfOut.close(); - - byte[] output = bOut.toByteArray(); - - for (int i = 0; i != 10; i++) - { - for (int j = 0; j != data.length; j++) - { - if (output[i * data.length + j] != data[j]) - { - fail("data mismatch!"); - } - } - } - } - - public static void main( - String[] args) - { - runTest(new BufferingOutputStreamTest()); - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/AllTests.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/AllTests.java deleted file mode 100644 index 37c73eb82..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/AllTests.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.spongycastle.util.utiltest; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTests -{ - public static void main (String[] args) - { - junit.textui.TestRunner.run (suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("util tests"); - suite.addTestSuite(IPTest.class); - suite.addTestSuite(BigIntegersTest.class); - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java deleted file mode 100644 index f17745eee..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.spongycastle.util.utiltest; - -import java.math.BigInteger; - -import junit.framework.Assert; -import junit.framework.TestCase; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.IPAddress; -import org.spongycastle.util.encoders.Hex; - -public class BigIntegersTest - extends TestCase -{ - public String getName() - { - return "BigIntegers"; - } - - public void testAsUnsignedByteArray() - { - BigInteger a = new BigInteger(1, Hex.decode("ff12345678")); - - byte[] a5 = BigIntegers.asUnsignedByteArray(a); - - Assert.assertEquals(5, a5.length); - Assert.assertTrue(Arrays.areEqual(a5, Hex.decode("ff12345678"))); - - BigInteger b = new BigInteger(1, Hex.decode("0f12345678")); - - byte[] b5 = BigIntegers.asUnsignedByteArray(b); - - Assert.assertEquals(5, b5.length); - Assert.assertTrue(Arrays.areEqual(b5, Hex.decode("0f12345678"))); - } - - public void testFixedLengthUnsignedByteArray() - { - BigInteger a = new BigInteger(1, Hex.decode("ff12345678")); - - byte[] a5 = BigIntegers.asUnsignedByteArray(5, a); - - Assert.assertEquals(5, a5.length); - Assert.assertTrue(Arrays.areEqual(a5, Hex.decode("ff12345678"))); - - byte[] a6 = BigIntegers.asUnsignedByteArray(6, a); - - Assert.assertEquals(6, a6.length); - Assert.assertEquals(0, a6[0]); - Assert.assertTrue(Arrays.areEqual(a6, Hex.decode("00ff12345678"))); - - BigInteger b = new BigInteger(1, Hex.decode("0f12345678")); - - byte[] b5 = BigIntegers.asUnsignedByteArray(5, b); - - Assert.assertEquals(5, b5.length); - Assert.assertTrue(Arrays.areEqual(b5, Hex.decode("0f12345678"))); - - byte[] b6 = BigIntegers.asUnsignedByteArray(6, b); - - Assert.assertEquals(6, b6.length); - Assert.assertEquals(0, b6[0]); - Assert.assertTrue(Arrays.areEqual(b6, Hex.decode("000f12345678"))); - - BigInteger c = new BigInteger(1, Hex.decode("ff123456789a")); - - try - { - byte[] c5 = BigIntegers.asUnsignedByteArray(5, c); - - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - // ignore - } - - BigInteger d = new BigInteger(1, Hex.decode("0f123456789a")); - try - { - byte[] c5 = BigIntegers.asUnsignedByteArray(5, d); - - fail("no exception thrown"); - } - catch (IllegalArgumentException e) - { - // ignore - } - } -} diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/IPTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/IPTest.java deleted file mode 100644 index 93df95b97..000000000 --- a/libraries/spongycastle/core/src/test/java/org/spongycastle/util/utiltest/IPTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.spongycastle.util.utiltest; - -import junit.framework.TestCase; -import org.spongycastle.util.IPAddress; - -public class IPTest - extends TestCase -{ - - private static final String validIP4v[] = new String[] - { "0.0.0.0", "255.255.255.255", "192.168.0.0" }; - - private static final String invalidIP4v[] = new String[] - { "0.0.0.0.1", "256.255.255.255", "1", "A.B.C", "1:.4.6.5" }; - - private static final String validIP6v[] = new String[] - { "0:0:0:0:0:0:0:0", "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", - "0:1:2:3:FFFF:5:FFFF:1" }; - - private static final String invalidIP6v[] = new String[] - { "0.0.0.0:1", "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFFF" }; - - private void testIP(String[] valid, String[] invalid) - { - for (int i = 0; i < valid.length; i++) - { - if (!IPAddress.isValid(valid[i])) - { - fail("Valid input string not accepted: " + valid[i] + "."); - } - } - for (int i = 0; i < invalid.length; i++) - { - if (IPAddress.isValid(invalid[i])) - { - fail("Invalid input string accepted: " + invalid[i] + "."); - } - } - } - - public String getName() - { - return "IPTest"; - } - - public void testIPv4() - { - testIP(validIP4v, invalidIP4v); - } - - public void testIPv6() - { - testIP(validIP6v, invalidIP6v); - } -} diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/asn1/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/asn1/test/package.html deleted file mode 100644 index df45e190e..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/asn1/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Test programs for the ASN.1 package. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/cms/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/cms/test/package.html deleted file mode 100644 index a24291993..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/cms/test/package.html +++ /dev/null @@ -1,7 +0,0 @@ - - -Regression tests for the org.spongycastle.cms package. -

    -Note: The classes in this package are also a useful source of example code. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/test/package.html deleted file mode 100644 index 7bb5e6b1a..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Example code and test classes for the lightweight API. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/tls/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/tls/package.html deleted file mode 100644 index ee59f8afb..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/crypto/tls/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -A lightweight TLS API. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mail/smime/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mail/smime/test/package.html deleted file mode 100644 index ba0911ef9..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mail/smime/test/package.html +++ /dev/null @@ -1,7 +0,0 @@ - - -Regression tests for the org.spongycastle.mail.smime package. -

    -Note: The classes in this package are also a useful source of example code. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mozilla/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mozilla/test/package.html deleted file mode 100644 index 54047adcf..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/mozilla/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Test class for mozilla signed public key and challenge. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/ocsp/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/ocsp/test/package.html deleted file mode 100644 index 6ce2e3a0e..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/ocsp/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Test class for OCSP messages. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openpgp/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openpgp/test/package.html deleted file mode 100644 index f7da1f81c..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openpgp/test/package.html +++ /dev/null @@ -1,7 +0,0 @@ - - -Regression tests and further examples of use for the org.spongycastle.openpgp package. -

    -Note: The classes in this package are also a useful source of example code. - - diff --git a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openssl/test/package.html b/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openssl/test/package.html deleted file mode 100644 index 368d7096b..000000000 --- a/libraries/spongycastle/core/src/test/javadoc/org/spongycastle/openssl/test/package.html +++ /dev/null @@ -1,5 +0,0 @@ - - -Test class for OpenSSL PEMReader. - - diff --git a/libraries/spongycastle/core/src/test/jdk1.1/org/spongycastle/asn1/test/RegressionTest.java b/libraries/spongycastle/core/src/test/jdk1.1/org/spongycastle/asn1/test/RegressionTest.java deleted file mode 100644 index 01633bd32..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.1/org/spongycastle/asn1/test/RegressionTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new InputStreamTest(), - new EqualsAndHashCodeTest(), - new TagTest(), - new SetTest(), - new DERUTF8StringTest(), - new CertificateTest(), - new GenerationTest(), - new CMSTest(), - new OCSPTest(), - new OIDTest(), - new PKCS10Test(), - new PKCS12Test(), - new X509NameTest(), - new X500NameTest(), - new X509ExtensionsTest(), - new GeneralizedTimeTest(), - new BitStringTest(), - new MiscTest(), - new SMIMETest(), - new X9Test(), - new MonetaryValueUnitTest(), - new BiometricDataUnitTest(), - new Iso4217CurrencyCodeUnitTest(), - new SemanticsInformationUnitTest(), - new QCStatementUnitTest(), - new TypeOfBiometricDataUnitTest(), - new SignerLocationUnitTest(), - new CommitmentTypeQualifierUnitTest(), - new CommitmentTypeIndicationUnitTest(), - new EncryptedPrivateKeyInfoTest(), - new DataGroupHashUnitTest(), - new LDSSecurityObjectUnitTest(), - // new CscaMasterListTest(), - new AttributeTableUnitTest(), - new ReasonFlagsTest(), - new NetscapeCertTypeTest(), - new PKIFailureInfoTest(), - new KeyUsageTest(), - new StringTest(), - new UTCTimeTest(), - new RequestedCertificateUnitTest(), - new OtherCertIDUnitTest(), - new OtherSigningCertificateUnitTest(), - new ContentHintsUnitTest(), - new CertHashUnitTest(), - new AdditionalInformationSyntaxUnitTest(), - new AdmissionSyntaxUnitTest(), - new AdmissionsUnitTest(), - new DeclarationOfMajorityUnitTest(), - new ProcurationSyntaxUnitTest(), - new ProfessionInfoUnitTest(), - new RestrictionUnitTest(), - new NamingAuthorityUnitTest(), - new MonetaryLimitUnitTest(), - new NameOrPseudonymUnitTest(), - new PersonalDataUnitTest(), - new DERApplicationSpecificTest(), - new IssuingDistributionPointUnitTest(), - new TargetInformationTest(), - new SubjectKeyIdentifierTest(), - new ESSCertIDv2UnitTest(), - new ParsingTest(), - new GeneralNameTest(), - new RFC4519Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/jdk1.2/org/spongycastle/asn1/test/RegressionTest.java b/libraries/spongycastle/core/src/test/jdk1.2/org/spongycastle/asn1/test/RegressionTest.java deleted file mode 100644 index 01633bd32..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.2/org/spongycastle/asn1/test/RegressionTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.spongycastle.asn1.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = { - new InputStreamTest(), - new EqualsAndHashCodeTest(), - new TagTest(), - new SetTest(), - new DERUTF8StringTest(), - new CertificateTest(), - new GenerationTest(), - new CMSTest(), - new OCSPTest(), - new OIDTest(), - new PKCS10Test(), - new PKCS12Test(), - new X509NameTest(), - new X500NameTest(), - new X509ExtensionsTest(), - new GeneralizedTimeTest(), - new BitStringTest(), - new MiscTest(), - new SMIMETest(), - new X9Test(), - new MonetaryValueUnitTest(), - new BiometricDataUnitTest(), - new Iso4217CurrencyCodeUnitTest(), - new SemanticsInformationUnitTest(), - new QCStatementUnitTest(), - new TypeOfBiometricDataUnitTest(), - new SignerLocationUnitTest(), - new CommitmentTypeQualifierUnitTest(), - new CommitmentTypeIndicationUnitTest(), - new EncryptedPrivateKeyInfoTest(), - new DataGroupHashUnitTest(), - new LDSSecurityObjectUnitTest(), - // new CscaMasterListTest(), - new AttributeTableUnitTest(), - new ReasonFlagsTest(), - new NetscapeCertTypeTest(), - new PKIFailureInfoTest(), - new KeyUsageTest(), - new StringTest(), - new UTCTimeTest(), - new RequestedCertificateUnitTest(), - new OtherCertIDUnitTest(), - new OtherSigningCertificateUnitTest(), - new ContentHintsUnitTest(), - new CertHashUnitTest(), - new AdditionalInformationSyntaxUnitTest(), - new AdmissionSyntaxUnitTest(), - new AdmissionsUnitTest(), - new DeclarationOfMajorityUnitTest(), - new ProcurationSyntaxUnitTest(), - new ProfessionInfoUnitTest(), - new RestrictionUnitTest(), - new NamingAuthorityUnitTest(), - new MonetaryLimitUnitTest(), - new NameOrPseudonymUnitTest(), - new PersonalDataUnitTest(), - new DERApplicationSpecificTest(), - new IssuingDistributionPointUnitTest(), - new TargetInformationTest(), - new SubjectKeyIdentifierTest(), - new ESSCertIDv2UnitTest(), - new ParsingTest(), - new GeneralNameTest(), - new RFC4519Test() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} - diff --git a/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/crypto/test/DSATest.java b/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/crypto/test/DSATest.java deleted file mode 100644 index d1d835d85..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/crypto/test/DSATest.java +++ /dev/null @@ -1,602 +0,0 @@ -package org.spongycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.generators.DSAKeyPairGenerator; -import org.spongycastle.crypto.generators.DSAParametersGenerator; -import org.spongycastle.crypto.params.DSAKeyGenerationParameters; -import org.spongycastle.crypto.params.DSAParameterGenerationParameters; -import org.spongycastle.crypto.params.DSAParameters; -import org.spongycastle.crypto.params.DSAPrivateKeyParameters; -import org.spongycastle.crypto.params.DSAPublicKeyParameters; -import org.spongycastle.crypto.params.DSAValidationParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.crypto.signers.DSASigner; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.BigIntegers; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.FixedSecureRandom; -import org.spongycastle.util.test.SimpleTest; - -/** - * Test based on FIPS 186-2, Appendix 5, an example of DSA, and FIPS 168-3 test vectors. - */ -public class DSATest - extends SimpleTest -{ - byte[] k1 = Hex.decode("d5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - byte[] k2 = Hex.decode("345e8d05c075c3a508df729a1685690e68fcfb8c8117847e89063bca1f85d968fd281540b6e13bd1af989a1fbf17e06462bf511f9d0b140fb48ac1b1baa5bded"); - - SecureRandom random = new FixedSecureRandom(new byte[][] { k1, k2}); - - byte[] keyData = Hex.decode("b5014e4b60ef2ba8b6211b4062ba3224e0427dd3"); - - SecureRandom keyRandom = new FixedSecureRandom(new byte[][] { keyData, keyData }); - - BigInteger pValue = new BigInteger("8df2a494492276aa3d25759bb06869cbeac0d83afb8d0cf7cbb8324f0d7882e5d0762fc5b7210eafc2e9adac32ab7aac49693dfbf83724c2ec0736ee31c80291", 16); - BigInteger qValue = new BigInteger("c773218c737ec8ee993b4f2ded30f48edace915f", 16); - - public String getName() - { - return "DSA"; - } - - public void performTest() - { - BigInteger r = new BigInteger("68076202252361894315274692543577577550894681403"); - BigInteger s = new BigInteger("1089214853334067536215539335472893651470583479365"); - DSAParametersGenerator pGen = new DSAParametersGenerator(); - - pGen.init(512, 20, random); - - DSAParameters params = pGen.generateParameters(); - DSAValidationParameters pValid = params.getValidationParameters(); - - if (pValid.getCounter() != 105) - { - fail("Counter wrong"); - } - - if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ())) - { - fail("p or q wrong"); - } - - DSAKeyPairGenerator dsaKeyGen = new DSAKeyPairGenerator(); - DSAKeyGenerationParameters genParam = new DSAKeyGenerationParameters(keyRandom, params); - - dsaKeyGen.init(genParam); - - AsymmetricCipherKeyPair pair = dsaKeyGen.generateKeyPair(); - - ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom); - - DSASigner dsa = new DSASigner(); - - dsa.init(true, param); - - byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517")); - BigInteger[] sig = dsa.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong.", r, sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong.", s, sig[1]); - } - - dsa.init(false, pair.getPublic()); - - if (!dsa.verifySignature(message, sig[0], sig[1])) - { - fail("verification fails"); - } - - //dsa2Test1(); - //dsa2Test2(); - //dsa2Test3(); - //dsa2Test4(); - } - - private void dsa2Test1() - { - byte[] seed = Hex.decode("ED8BEE8D1CB89229D2903CBF0E51EE7377F48698"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(); - - pGen.init(new DSAParameterGenerationParameters(1024, 160, 10, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 5) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("E950511EAB424B9A19A2AEB4E159B7844C589C4F", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "E0A67598CD1B763B" + - "C98C8ABB333E5DDA0CD3AA0E5E1FB5BA8A7B4EABC10BA338" + - "FAE06DD4B90FDA70D7CF0CB0C638BE3341BEC0AF8A7330A3" + - "307DED2299A0EE606DF035177A239C34A912C202AA5F83B9" + - "C4A7CF0235B5316BFC6EFB9A248411258B30B839AF172440" + - "F32563056CB67A861158DDD90E6A894C72A5BBEF9E286C6B", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "D29D5121B0423C27" + - "69AB21843E5A3240FF19CACC792264E3BB6BE4F78EDD1B15" + - "C4DFF7F1D905431F0AB16790E1F773B5CE01C804E509066A" + - "9919F5195F4ABC58189FD9FF987389CB5BEDF21B4DAB4F8B" + - "76A055FFE2770988FE2EC2DE11AD92219F0B351869AC24DA" + - "3D7BA87011A701CE8EE7BFE49486ED4527B7186CA4610A75", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("D0EC4E50BB290A42E9E355C73D8809345DE2E139")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "25282217F5730501" + - "DD8DBA3EDFCF349AAFFEC20921128D70FAC44110332201BB" + - "A3F10986140CBB97C726938060473C8EC97B4731DB004293" + - "B5E730363609DF9780F8D883D8C4D41DED6A2F1E1BBBDC97" + - "9E1B9D6D3C940301F4E978D65B19041FCF1E8B518F5C0576" + - "C770FE5A7A485D8329EE2914A2DE1B5DA4A6128CEAB70F79", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("D0EC4E50BB290A42E9E355C73D8809345DE2E139", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("349C55648DCF992F3F33E8026CFAC87C1D2BA075")))); - - byte[] msg = Hex.decode("A9993E364706816ABA3E25717850C26C9CD0D89D"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("636155AC9A4633B4665D179F9E4117DF68601F34", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("6C540B02D9D4852F89DF8CFC99963204F4347704", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - - } - - private void dsa2Test2() - { - byte[] seed = Hex.decode("5AFCC1EFFC079A9CCA6ECA86D6E3CC3B18642D9BE1CC6207C84002A9"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA224Digest()); - - pGen.init(new DSAParameterGenerationParameters(2048, 224, 10, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 21) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("90EAF4D1AF0708B1B612FF35E0A2997EB9E9D263C9CE659528945C0D", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "C196BA05AC29E1F9C3C72D56DFFC6154" + - "A033F1477AC88EC37F09BE6C5BB95F51C296DD20D1A28A06" + - "7CCC4D4316A4BD1DCA55ED1066D438C35AEBAABF57E7DAE4" + - "28782A95ECA1C143DB701FD48533A3C18F0FE23557EA7AE6" + - "19ECACC7E0B51652A8776D02A425567DED36EABD90CA33A1" + - "E8D988F0BBB92D02D1D20290113BB562CE1FC856EEB7CDD9" + - "2D33EEA6F410859B179E7E789A8F75F645FAE2E136D252BF" + - "FAFF89528945C1ABE705A38DBC2D364AADE99BE0D0AAD82E" + - "5320121496DC65B3930E38047294FF877831A16D5228418D" + - "E8AB275D7D75651CEFED65F78AFC3EA7FE4D79B35F62A040" + - "2A1117599ADAC7B269A59F353CF450E6982D3B1702D9CA83", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "A59A749A11242C58C894E9E5A91804E8"+ - "FA0AC64B56288F8D47D51B1EDC4D65444FECA0111D78F35F"+ - "C9FDD4CB1F1B79A3BA9CBEE83A3F811012503C8117F98E50"+ - "48B089E387AF6949BF8784EBD9EF45876F2E6A5A495BE64B"+ - "6E770409494B7FEE1DBB1E4B2BC2A53D4F893D418B715959"+ - "2E4FFFDF6969E91D770DAEBD0B5CB14C00AD68EC7DC1E574"+ - "5EA55C706C4A1C5C88964E34D09DEB753AD418C1AD0F4FDF"+ - "D049A955E5D78491C0B7A2F1575A008CCD727AB376DB6E69"+ - "5515B05BD412F5B8C2F4C77EE10DA48ABD53F5DD498927EE"+ - "7B692BBBCDA2FB23A516C5B4533D73980B2A3B60E384ED20"+ - "0AE21B40D273651AD6060C13D97FD69AA13C5611A51B9085", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("00D0F09ED3E2568F6CADF9224117DA2AEC5A4300E009DE1366023E17")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "70035C9A3B225B258F16741F3941FBF0" + - "6F3D056CD7BD864604CBB5EE9DD85304EE8E8E4ABD5E9032" + - "11DDF25CE149075510ACE166970AFDC7DF552B7244F342FA" + - "02F7A621405B754909D757F97290E1FE5036E904CF593446" + - "0C046D95659821E1597ED9F2B1F0E20863A6BBD0CE74DACB" + - "A5D8C68A90B29C2157CDEDB82EC12B81EE3068F9BF5F7F34" + - "6ECA41ED174CCCD7D154FA4F42F80FFE1BF46AE9D8125DEB" + - "5B4BA08A72BDD86596DBEDDC9550FDD650C58F5AE5133509" + - "A702F79A31ECB490F7A3C5581631F7C5BE4FF7F9E9F27FA3" + - "90E47347AD1183509FED6FCF198BA9A71AB3335B4F38BE8D" + - "15496A00B6DC2263E20A5F6B662320A3A1EC033AA61E3B68", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("00D0F09ED3E2568F6CADF9224117DA2AEC5A4300E009DE1366023E17", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("735959CC4463B8B440E407EECA8A473BF6A6D1FE657546F67D401F05")))); - - byte[] msg = Hex.decode("23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("4400138D05F9639CAF54A583CAAF25D2B76D0C3EAD752CE17DBC85FE", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("874D4F12CB13B61732D398445698CFA9D92381D938AA57EE2C9327B3", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - private void dsa2Test3() - { - byte[] seed = Hex.decode("4783081972865EA95D43318AB2EAF9C61A2FC7BBF1B772A09017BDF5A58F4FF0"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA256Digest()); - - pGen.init(new DSAParameterGenerationParameters(2048, 256, 10, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 12) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("C24ED361870B61E0D367F008F99F8A1F75525889C89DB1B673C45AF5867CB467", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "F56C2A7D366E3EBDEAA1891FD2A0D099" + - "436438A673FED4D75F594959CFFEBCA7BE0FC72E4FE67D91" + - "D801CBA0693AC4ED9E411B41D19E2FD1699C4390AD27D94C" + - "69C0B143F1DC88932CFE2310C886412047BD9B1C7A67F8A2" + - "5909132627F51A0C866877E672E555342BDF9355347DBD43" + - "B47156B2C20BAD9D2B071BC2FDCF9757F75C168C5D9FC431" + - "31BE162A0756D1BDEC2CA0EB0E3B018A8B38D3EF2487782A" + - "EB9FBF99D8B30499C55E4F61E5C7DCEE2A2BB55BD7F75FCD" + - "F00E48F2E8356BDB59D86114028F67B8E07B127744778AFF" + - "1CF1399A4D679D92FDE7D941C5C85C5D7BFF91BA69F9489D" + - "531D1EBFA727CFDA651390F8021719FA9F7216CEB177BD75", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "8DC6CC814CAE4A1C05A3E186A6FE27EA" + - "BA8CDB133FDCE14A963A92E809790CBA096EAA26140550C1" + - "29FA2B98C16E84236AA33BF919CD6F587E048C52666576DB" + - "6E925C6CBE9B9EC5C16020F9A44C9F1C8F7A8E611C1F6EC2" + - "513EA6AA0B8D0F72FED73CA37DF240DB57BBB27431D61869" + - "7B9E771B0B301D5DF05955425061A30DC6D33BB6D2A32BD0" + - "A75A0A71D2184F506372ABF84A56AEEEA8EB693BF29A6403" + - "45FA1298A16E85421B2208D00068A5A42915F82CF0B858C8" + - "FA39D43D704B6927E0B2F916304E86FB6A1B487F07D8139E" + - "428BB096C6D67A76EC0B8D4EF274B8A2CF556D279AD267CC" + - "EF5AF477AFED029F485B5597739F5D0240F67C2D948A6279", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "2828003D7C747199143C370FDD07A286" + - "1524514ACC57F63F80C38C2087C6B795B62DE1C224BF8D1D" + - "1424E60CE3F5AE3F76C754A2464AF292286D873A7A30B7EA" + - "CBBC75AAFDE7191D9157598CDB0B60E0C5AA3F6EBE425500" + - "C611957DBF5ED35490714A42811FDCDEB19AF2AB30BEADFF" + - "2907931CEE7F3B55532CFFAEB371F84F01347630EB227A41" + - "9B1F3F558BC8A509D64A765D8987D493B007C4412C297CAF" + - "41566E26FAEE475137EC781A0DC088A26C8804A98C23140E" + - "7C936281864B99571EE95C416AA38CEEBB41FDBFF1EB1D1D" + - "C97B63CE1355257627C8B0FD840DDB20ED35BE92F08C49AE" + - "A5613957D7E5C7A6D5A5834B4CB069E0831753ECF65BA02B", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C")))); - - byte[] msg = Hex.decode("BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("315C875DCD4850E948B8AC42824E9483A32D5BA5ABE0681B9B9448D444F2BE3C", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("89718D12E54A8D9ED066E4A55F7ED5A2229CD23B9A3CEE78F83ED6AA61F6BCB9", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - private void dsa2Test4() - { - byte[] seed = Hex.decode("193AFCA7C1E77B3C1ECC618C81322E47B8B8B997C9C83515C59CC446C2D9BD47"); - - DSAParametersGenerator pGen = new DSAParametersGenerator(new SHA256Digest()); - - pGen.init(new DSAParameterGenerationParameters(3072, 256, 10, new DSATestSecureRandom(seed))); - - DSAParameters params = pGen.generateParameters(); - - DSAValidationParameters pv = params.getValidationParameters(); - - if (pv.getCounter() != 20) - { - fail("counter incorrect"); - } - - if (!Arrays.areEqual(seed, pv.getSeed())) - { - fail("seed incorrect"); - } - - if (!params.getQ().equals(new BigInteger("CFA0478A54717B08CE64805B76E5B14249A77A4838469DF7F7DC987EFCCFB11D", 16))) - { - fail("Q incorrect"); - } - - if (!params.getP().equals(new BigInteger( - "90066455B5CFC38F9CAA4A48B4281F292C260FEEF01FD610" + - "37E56258A7795A1C7AD46076982CE6BB956936C6AB4DCFE0" + - "5E6784586940CA544B9B2140E1EB523F009D20A7E7880E4E" + - "5BFA690F1B9004A27811CD9904AF70420EEFD6EA11EF7DA1" + - "29F58835FF56B89FAA637BC9AC2EFAAB903402229F491D8D" + - "3485261CD068699B6BA58A1DDBBEF6DB51E8FE34E8A78E54" + - "2D7BA351C21EA8D8F1D29F5D5D15939487E27F4416B0CA63" + - "2C59EFD1B1EB66511A5A0FBF615B766C5862D0BD8A3FE7A0" + - "E0DA0FB2FE1FCB19E8F9996A8EA0FCCDE538175238FC8B0E" + - "E6F29AF7F642773EBE8CD5402415A01451A840476B2FCEB0" + - "E388D30D4B376C37FE401C2A2C2F941DAD179C540C1C8CE0" + - "30D460C4D983BE9AB0B20F69144C1AE13F9383EA1C08504F" + - "B0BF321503EFE43488310DD8DC77EC5B8349B8BFE97C2C56" + - "0EA878DE87C11E3D597F1FEA742D73EEC7F37BE43949EF1A" + - "0D15C3F3E3FC0A8335617055AC91328EC22B50FC15B941D3" + - "D1624CD88BC25F3E941FDDC6200689581BFEC416B4B2CB73", 16))) - { - fail("P incorrect"); - } - - if (!params.getG().equals(new BigInteger( - "5E5CBA992E0A680D885EB903AEA78E4A45A469103D448EDE" + - "3B7ACCC54D521E37F84A4BDD5B06B0970CC2D2BBB715F7B8" + - "2846F9A0C393914C792E6A923E2117AB805276A975AADB52" + - "61D91673EA9AAFFEECBFA6183DFCB5D3B7332AA19275AFA1" + - "F8EC0B60FB6F66CC23AE4870791D5982AAD1AA9485FD8F4A" + - "60126FEB2CF05DB8A7F0F09B3397F3937F2E90B9E5B9C9B6" + - "EFEF642BC48351C46FB171B9BFA9EF17A961CE96C7E7A7CC" + - "3D3D03DFAD1078BA21DA425198F07D2481622BCE45969D9C" + - "4D6063D72AB7A0F08B2F49A7CC6AF335E08C4720E31476B6" + - "7299E231F8BD90B39AC3AE3BE0C6B6CACEF8289A2E2873D5" + - "8E51E029CAFBD55E6841489AB66B5B4B9BA6E2F784660896" + - "AFF387D92844CCB8B69475496DE19DA2E58259B090489AC8" + - "E62363CDF82CFD8EF2A427ABCD65750B506F56DDE3B98856" + - "7A88126B914D7828E2B63A6D7ED0747EC59E0E0A23CE7D8A" + - "74C1D2C2A7AFB6A29799620F00E11C33787F7DED3B30E1A2" + - "2D09F1FBDA1ABBBFBF25CAE05A13F812E34563F99410E73B", 16))) - { - fail("G incorrect"); - } - - DSAKeyPairGenerator kpGen = new DSAKeyPairGenerator(); - - kpGen.init(new DSAKeyGenerationParameters(new FixedSecureRandom(Hex.decode("3ABC1587297CE7B9EA1AD6651CF2BC4D7F92ED25CABC8553F567D1B40EBB8764")), params)); - - AsymmetricCipherKeyPair kp = kpGen.generateKeyPair(); - - DSAPublicKeyParameters pub = (DSAPublicKeyParameters)kp.getPublic(); - DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters)kp.getPrivate(); - - if (!pub.getY().equals(new BigInteger( - "8B891C8692D3DE875879390F2698B26FBECCA6B075535DCE" + - "6B0C862577F9FA0DEF6074E7A7624121224A595896ABD4CD" + - "A56B2CEFB942E025D2A4282FFAA98A48CDB47E1A6FCB5CFB" + - "393EF35AF9DF913102BB303C2B5C36C3F8FC04ED7B8B69FE" + - "FE0CF3E1FC05CFA713B3435B2656E913BA8874AEA9F93600" + - "6AEB448BCD005D18EC3562A33D04CF25C8D3D69844343442" + - "FA3DB7DE618C5E2DA064573E61E6D5581BFB694A23AC87FD" + - "5B52D62E954E1376DB8DDB524FFC0D469DF978792EE44173" + - "8E5DB05A7DC43E94C11A2E7A4FBE383071FA36D2A7EC8A93" + - "88FE1C4F79888A99D3B6105697C2556B79BB4D7E781CEBB3" + - "D4866AD825A5E830846072289FDBC941FA679CA82F5F78B7" + - "461B2404DB883D215F4E0676CF5493950AC5591697BFEA8D" + - "1EE6EC016B89BA51CAFB5F9C84C989FA117375E94578F28B" + - "E0B34CE0545DA46266FD77F62D8F2CEE92AB77012AFEBC11" + - "008985A821CD2D978C7E6FE7499D1AAF8DE632C21BB48CA5" + - "CBF9F31098FD3FD3854C49A65D9201744AACE540354974F9", 16))) - { - fail("Y value incorrect"); - } - - if (!priv.getX().equals( - new BigInteger("3ABC1587297CE7B9EA1AD6651CF2BC4D7F92ED25CABC8553F567D1B40EBB8764", 16))) - { - fail("X value incorrect"); - } - - DSASigner signer = new DSASigner(); - - signer.init(true, new ParametersWithRandom(kp.getPrivate(), new FixedSecureRandom(Hex.decode("A6902C1E6E3943C5628061588A8B007BCCEA91DBF12915483F04B24AB0678BEE")))); - - byte[] msg = Hex.decode("BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"); - - BigInteger[] sig = signer.generateSignature(msg); - - if (!sig[0].equals(new BigInteger("5F184E645A38BE8FB4A6871B6503A9D12924C7ABE04B71410066C2ECA6E3BE3E", 16))) - { - fail("R value incorrect"); - } - - if (!sig[1].equals(new BigInteger("91EB0C7BA3D4B9B60B825C3D9F2CADA8A2C9D7723267B033CBCDCF8803DB9C18", 16))) - { - fail("S value incorrect"); - } - - signer.init(false, kp.getPublic()); - - if (!signer.verifySignature(msg, sig[0], sig[1])) - { - fail("signature not verified"); - } - } - - public static void main( - String[] args) - { - runTest(new DSATest()); - } - - private class DSATestSecureRandom - extends FixedSecureRandom - { - private boolean first = true; - - public DSATestSecureRandom(byte[] value) - { - super(value); - } - - public void nextBytes(byte[] bytes) - { - if (first) - { - super.nextBytes(bytes); - first = false; - } - else - { - bytes[bytes.length - 1] = 2; - } - } - } -} diff --git a/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/i18n/test/AllTests.java b/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/i18n/test/AllTests.java deleted file mode 100644 index 3784fd7b4..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.3/org/spongycastle/i18n/test/AllTests.java +++ /dev/null @@ -1,27 +0,0 @@ - -package org.spongycastle.i18n.test; - -import org.spongycastle.i18n.filter.test.HTMLFilterTest; -import org.spongycastle.i18n.filter.test.SQLFilterTest; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class AllTests extends TestCase -{ - - public static void main (String[] args) - { - junit.textui.TestRunner.run (suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("i18n tests"); - suite.addTestSuite(HTMLFilterTest.class); - suite.addTestSuite(SQLFilterTest.class); - return suite; - } - -} diff --git a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/asn1/test/AllTests.java b/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/asn1/test/AllTests.java deleted file mode 100644 index ca75ad288..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/asn1/test/AllTests.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.spongycastle.asn1.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testASN1() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - - for (int i = 0; i != tests.length; i++) - { - SimpleTestResult result = (SimpleTestResult)tests[i].perform(); - - if (!result.isSuccessful()) - { - fail(result.toString()); - } - } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("ASN.1 Tests"); - - suite.addTestSuite(AllTests.class); - suite.addTestSuite(ASN1SequenceParserTest.class); - suite.addTestSuite(OctetStringTest.class); - suite.addTestSuite(ParseTest.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/crypto/test/RegressionTest.java b/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/crypto/test/RegressionTest.java deleted file mode 100644 index 7bf7fd648..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/crypto/test/RegressionTest.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.spongycastle.crypto.test; - -import org.spongycastle.util.test.Test; -import org.spongycastle.util.test.TestResult; - -public class RegressionTest -{ - public static Test[] tests = - { - new AESTest(), - new AESLightTest(), - new AESFastTest(), - new AESWrapTest(), - new DESTest(), - new DESedeTest(), - new ModeTest(), - new PaddingTest(), - new DHTest(), - new ElGamalTest(), - new DSATest(), - new ECTest(), - new GOST3410Test(), - new ECGOST3410Test(), - new ECIESTest(), - new ECNRTest(), - new MacTest(), - new GOST28147MacTest(), - new RC2Test(), - new RC2WrapTest(), - new RC4Test(), - new RC5Test(), - new RC6Test(), - new RijndaelTest(), - new SerpentTest(), - new CamelliaTest(), - new CamelliaLightTest(), - new DigestRandomNumberTest(), - new SkipjackTest(), - new BlowfishTest(), - new TwofishTest(), - new Threefish256Test(), - new Threefish512Test(), - new Threefish1024Test(), - new SkeinDigestTest(), - new SkeinMacTest(), - new CAST5Test(), - new CAST6Test(), - new GOST28147Test(), - new IDEATest(), - new RSATest(), - new RSABlindedTest(), - new RSADigestSignerTest(), - new PSSBlindTest(), - new ISO9796Test(), - new ISO9797Alg3MacTest(), - new MD2DigestTest(), - new MD4DigestTest(), - new MD5DigestTest(), - new SHA1DigestTest(), - new SHA224DigestTest(), - new SHA256DigestTest(), - new SHA384DigestTest(), - new SHA512DigestTest(), - new SHA512t224DigestTest(), - new SHA512t256DigestTest(), - new SHA3DigestTest(), - new RIPEMD128DigestTest(), - new RIPEMD160DigestTest(), - new RIPEMD256DigestTest(), - new RIPEMD320DigestTest(), - new TigerDigestTest(), - new GOST3411DigestTest(), - new WhirlpoolDigestTest(), - new MD5HMacTest(), - new SHA1HMacTest(), - new SHA224HMacTest(), - new SHA256HMacTest(), - new SHA384HMacTest(), - new SHA512HMacTest(), - new RIPEMD128HMacTest(), - new RIPEMD160HMacTest(), - new OAEPTest(), - new PSSTest(), - new CTSTest(), - new CCMTest(), - new PKCS5Test(), - new PKCS12Test(), - new KDF1GeneratorTest(), - new KDF2GeneratorTest(), - new MGF1GeneratorTest(), - new HKDFGeneratorTest(), - new DHKEKGeneratorTest(), - new ECDHKEKGeneratorTest(), - new ShortenedDigestTest(), - new EqualsHashCodeTest(), - new TEATest(), - new XTEATest(), - new RFC3211WrapTest(), - new SEEDTest(), - new Salsa20Test(), - new XSalsa20Test(), - new ChaChaTest(), - new CMacTest(), - new EAXTest(), - new GCMTest(), - new GMacTest(), - new HCFamilyTest(), - new HCFamilyVecTest(), - new ISAACTest(), - new NoekeonTest(), - new VMPCKSA3Test(), - new VMPCMacTest(), - new VMPCTest(), - new Grainv1Test(), - new Grain128Test(), - //new NaccacheSternTest(), - new SRP6Test(), - new SCryptTest(), - new ResetTest(), - new NullTest(), - new DSTU4145Test(), - new SipHashTest(), - new Poly1305Test(), - new OCBTest(), - new NonMemoableDigestTest(), - new RSAKeyEncapsulationTest(), - new ECIESKeyEncapsulationTest(), - new HashCommitmentTest(), - new CipherStreamTest(), - new BlockCipherResetTest(), - new StreamCipherResetTest(), - new SM3DigestTest() - }; - - public static void main( - String[] args) - { - for (int i = 0; i != tests.length; i++) - { - TestResult result = tests[i].perform(); - - if (result.getException() != null) - { - result.getException().printStackTrace(); - } - - System.out.println(result); - } - } -} diff --git a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/pqc/crypto/test/AllTests.java b/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/pqc/crypto/test/AllTests.java deleted file mode 100644 index 2a7d87e0e..000000000 --- a/libraries/spongycastle/core/src/test/jdk1.4/org/spongycastle/pqc/crypto/test/AllTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.spongycastle.pqc.crypto.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.util.test.SimpleTestResult; - -public class AllTests - extends TestCase -{ - public void testCrypto() - { - org.spongycastle.util.test.Test[] tests = RegressionTest.tests; - -// for (int i = 0; i != tests.length; i++) -// { -// SimpleTestResult result = (SimpleTestResult)tests[i].perform(); -// -// if (!result.isSuccessful()) -// { -// fail(result.toString()); -// } -// } - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("Lightweight PQ Crypto Tests"); - - suite.addTestSuite(AllTests.class); - - return suite; - } -} diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/asn1/test/masterlist-content.data b/libraries/spongycastle/core/src/test/resources/org/spongycastle/asn1/test/masterlist-content.data deleted file mode 100644 index d462f0d8d..000000000 Binary files a/libraries/spongycastle/core/src/test/resources/org/spongycastle/asn1/test/masterlist-content.data and /dev/null differ diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/SCryptTestVectors.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/SCryptTestVectors.txt deleted file mode 100644 index b050e9f8f..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/SCryptTestVectors.txt +++ /dev/null @@ -1,20 +0,0 @@ -scrypt(, , 16, 1, 1, 64) = -77 d6 57 62 38 65 7b 20 3b 19 ca 42 c1 8a 04 97 -f1 6b 48 44 e3 07 4a e8 df df fa 3f ed e2 14 42 -fc d0 06 9d ed 09 48 f8 32 6a 75 3a 0f c8 1f 17 -e8 d3 e0 fb 2e 0d 36 28 cf 35 e2 0c 38 d1 89 06 -scrypt(password, NaCl, 1024, 8, 16, 64) = -fd ba be 1c 9d 34 72 00 78 56 e7 19 0d 01 e9 fe -7c 6a d7 cb c8 23 78 30 e7 73 76 63 4b 37 31 62 -2e af 30 d9 2e 22 a3 88 6f f1 09 27 9d 98 30 da -c7 27 af b9 4a 83 ee 6d 83 60 cb df a2 cc 06 40 -scrypt(pleaseletmein, SodiumChloride, 16384, 8, 1, 64) = -70 23 bd cb 3a fd 73 48 46 1c 06 cd 81 fd 38 eb -fd a8 fb ba 90 4f 8e 3e a9 b5 43 f6 54 5d a1 f2 -d5 43 29 55 61 3f 0f cf 62 d4 97 05 24 2a 9a f9 -e6 1e 85 dc 0d 65 1e 40 df cf 01 7b 45 57 58 87 -scrypt(pleaseletmein, SodiumChloride, 1048576, 8, 1, 64) = -21 01 cb 9b 6a 51 1a ae ad db be 09 cf 70 f8 81 -ec 56 8d 57 4a 2f fd 4d ab e5 ee 98 20 ad aa 47 -8e 56 fd 8f 4b a5 d0 9f fa 1c 6d 92 7c 40 f4 c3 -37 30 40 49 e8 a9 52 fb cb f4 5c 6f a7 7a 41 a4 diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFCTR_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFCTR_gen.rsp deleted file mode 100644 index 8121dc644..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFCTR_gen.rsp +++ /dev/null @@ -1,22887 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "countermode" -# KDF Mode Supported: Counter Mode -# Location of counter tested: (Before Fixed Input Data) (After Fixed Input Data) -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 13:45:43 2012 - - - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 8727a40ebd82329e6b3b4e29fa3b004b -FixedInputDataByteLen = 60 -FixedInputData = 16f1a4329f9455c192a0348a8b6b7708bc237016bcdafb60d1cf6a4d40a1e3fed3e9a6584cd4ada4a24c53c0e99e7f7d6d0a767cc6725b55b808191f -KO = 136e31a23449240be24f5ba5c169e6b4 - -COUNT=1 -L = 128 -KI = aa80ae0727cfdccfc73aeba772460a55 -FixedInputDataByteLen = 60 -FixedInputData = b264551373c6657efb7e19bae05d26c153bdcefa6dfdb498e8ade5391ece3e71a16b47596e5b751683850be55ea792502a19e2c5010eb0e7e2d827b3 -KO = c8fabda7242b6313a8e9703568d3c1bf - -COUNT=2 -L = 128 -KI = 7a06b3a1ce70a0f062779be429bf6b2c -FixedInputDataByteLen = 60 -FixedInputData = 3c103c343ee4e3835dee757940d960765155c48140869438bb8800589f9a43194e5e04614aa0dbe1ff83b5b3343248fa96e265f68e4b5ac12acd6dd2 -KO = 72ff119cb7b48d7859e651b5ce80045e - -COUNT=3 -L = 128 -KI = f0dabb6c72eea27e474ae2a94952fbde -FixedInputDataByteLen = 60 -FixedInputData = e81184eb1f4885f229c0b2a61d19b38d93838541e791fadf29afeba53cbad1c20436882e9dbf77216db5b7f5b696a07e6b75868b13aa1428ce2d8d03 -KO = a3f11e482901b963e37a01e9a6b5f624 - -COUNT=4 -L = 128 -KI = 10a078449b84d0f4204df1cb42626768 -FixedInputDataByteLen = 60 -FixedInputData = ed5c8948667eb1fb122e54c7ba7c86bd486fcc1913dd84590e05b3108006562b2ad102bb4081bc27c40bceb880e9c89802d7ba9c1b8ceac6ac5c0b51 -KO = 91e180a49718ab50d8477f529320dc5a - -COUNT=5 -L = 128 -KI = d79f7580a0b484f113675134da6b7aba -FixedInputDataByteLen = 60 -FixedInputData = 21971e0fdac4d4aacd4f90c89bdc1b9d7aff24d7af8b54394b08c80347f8a4f93ab056aa8ffcdbe4bc1dc67a9be34be2e9c43374033fb18dadf263a9 -KO = f26903a976401073646fe5ee911d55d9 - -COUNT=6 -L = 128 -KI = 731d94a8b6697de60c4d30dd7ea5ba7a -FixedInputDataByteLen = 60 -FixedInputData = a8cc0e2d2c6b6b4606d92c5ea67904b9bcf0a5700afb5da9fc79ae3cf368993439554629767670d30be90e7fbbf3a0902c94e7d3983e82eb7cde0db9 -KO = 8db0c462db1c49bc17efc6d740ec9602 - -COUNT=7 -L = 128 -KI = 1a75feeb6c4832624771cdb6fd6d9af0 -FixedInputDataByteLen = 60 -FixedInputData = eafb2667fc0f930c1e63492ded26499d441a351d7091437b9ccce2d72e339e2f93ef4bc50bdf45c3901dfbf0223c2fdbc0c21eb23e1014759df07a9c -KO = 3633bcf9cc605ace74888b46e1139fa0 - -COUNT=8 -L = 128 -KI = 20b3073c78972a288e24fc4992682c63 -FixedInputDataByteLen = 60 -FixedInputData = 8dc8e3d84158586175eb0f3ce4fad506bceec166d07c22a797de3a4a0aa2afc179e88b6e7c91f4b94212d9cee4efd99314e002fe0670f61af3b4474b -KO = df890e833640ad5ff26b6d3e72ababbb - -COUNT=9 -L = 128 -KI = d602fe1cb28ce606d91aa868811f44b0 -FixedInputDataByteLen = 60 -FixedInputData = a34c00572a221a4466f4bb2b983d80b21e641d01de1ed331cb448dd121bffaef43cac9acc24ca9b558f15aab1081bf2c678025c004336f87beae1bf0 -KO = d6f4cd4cb31b91a3accfe754d3ffa957 - -COUNT=10 -L = 512 -KI = 3c69edfcd7c08815f0c171416c8aab40 -FixedInputDataByteLen = 60 -FixedInputData = 19dce437d98f56ae8808020abd73d72c315742c9810747e1f17217fd5f99da4bbf696be9b5e89fb5d9b702cbfa66d4f98db73ddc198c65ef44fc2189 -KO = 6f26feb891766b29a9e856afb3a5e16a11b134ee5cfb6a2b40f4cfc5e0f47e0c9b90cc2e22ce3923261553cf6730c72469e5e30edb8da5169d99bbe34bbbd8fd - -COUNT=11 -L = 512 -KI = a875ac7e544502c68facee7a69dc89a2 -FixedInputDataByteLen = 60 -FixedInputData = 5a9b56e4b553adb8e174840b9f96ed529dcd3d13613f40f07ae54ee4380b27f76e3e55ee39f87b2344796a63ce41c305cdec7b194597bb605fa97aad -KO = 924265ddab57676f6dd3c794c16d62ae563da828ef51ac0dc8a760214505f41580dd3e2df0056992f8b6482dd4d23351a91dee875a45210c74a9056360582f29 - -COUNT=12 -L = 512 -KI = 4ae3e75a1e106094602336fd281ce921 -FixedInputDataByteLen = 60 -FixedInputData = 9d3533dc102323f7d65e9b06044656be9cd5869931cce40d8f123c949000d533c718e59d4f9440b0eccba90596dcf6fee8ca47b0c3c2948ba20fd72b -KO = 11fa45fe569c60e2b874edc71716728d13eb5196cd620ae70e15b00c0fd68ef259f0c1d20f74d7dcba3c08fbff17b8a1e367a36c7dd7d875091993a23490d92d - -COUNT=13 -L = 512 -KI = 8b04de1661e84247ff7ca680f59cf943 -FixedInputDataByteLen = 60 -FixedInputData = 2aa5ae2bd9e31b66fa71ef724a9c94d28947c842adb9568dcf271001448781188e6755f3767de27513cd6d97f308b88a933014de461a2458b8a5344e -KO = eb5fa83ceaef4dbd055bc2d9d75b8aa1f0f75a4e8cf6026aafdf0c10966485ac6ea6c3f0a988e209f0aeb412e00da80cf692c41989b9173342d8cee2da4d04e0 - -COUNT=14 -L = 512 -KI = 2e2eb513ced3692df0aba1787259f5cd -FixedInputDataByteLen = 60 -FixedInputData = 52900c7f0a1d7e8d5406b5b0a64888f8ace497c50c556e40a37fc95c3a12e1286c1b87d94d63b638d79e25c8a513f77f86d26c0be5231ee88e98095a -KO = 42cf06be6d859ddb4de2ace5bc273351b0f7dab004048014bda3da3f11ba52912c2ac132e7dc0e1a89b7047050e5bad665f782385614c2339e49c8f12707237d - -COUNT=15 -L = 512 -KI = 0fe0b8d4db3077c1aab33e2c4d314c66 -FixedInputDataByteLen = 60 -FixedInputData = a43252c11bafbec47acd87f099d97a2ba47a4d5ada1c93c03604a359f70d0851e170310ef875c699207bf899b788a6125ee3563b34c24275ec8a396e -KO = b38348ee8845cda7ba15f4dcb7fbdde851cde74106ae476d7a530d0e47c927af145cc0e457999cb7c74f6a72655f71c7589fd6d8240420736334b287bc679c08 - -COUNT=16 -L = 512 -KI = f1ffe2e597854d88a16bf6c0449405fa -FixedInputDataByteLen = 60 -FixedInputData = d7567df4eb8eb6ca1d7569bd7b9f4ef954e246cf46fbcfb68d55fbb40eac2c059417f2d6bc639779ec7c68b78b3cbfab319a039cba37ab9abfb8f492 -KO = a73ece8f751ff160c60fd56e7c056b793e2874f97ce90584e0afdf3a969327e9e08114f7e6fc04da6f2f5b287877cae477b19a4e14506ebb001117b8bdcfe940 - -COUNT=17 -L = 512 -KI = 0218d23792c453c9a481c4eec1273394 -FixedInputDataByteLen = 60 -FixedInputData = 4fd7bc675cf0a0bb839e4c389b0f3f6b21af30724aef935457b05734b9088737f043d8a7ee49e2482ee48151c5a7f90bac0521fcb89b26049cbf7839 -KO = aa047daa0a016dd990ecab0a96a9fa53429d5a3a0225e0911b9e274c0155ba5d80909fe5df5330a04192a32fe9a4b59f8806125927541e9c9ea78f9a456193ba - -COUNT=18 -L = 512 -KI = c2476723e594fa581ae3d0ded087399b -FixedInputDataByteLen = 60 -FixedInputData = 6d6c3a96cc7b99a54dd7a5c9fd1d5ad95499e515a4bb29d410e013aa09c37cf458ef7a7429dadcefaf4b629dc1aca0c0791d6767d21d5d1cd3651f67 -KO = bd4f913383d5642c72d84c16443eaa50ad8757b73002c7586b14d412e91999e662b6ad0bcbb02c3d8aaa3d865a627e4e96ac89cb61adfbfa68696062d2508f54 - -COUNT=19 -L = 512 -KI = 200b062c6ce2a9ee77ecd51c1c94cf1b -FixedInputDataByteLen = 60 -FixedInputData = bc9d01dbbf62160e7c844cf42ce86afe65587d0e16694faa7b6b7894a995b380cb10ea83d61565c4144354e1f3b6b67fc3d1a2a9ef500b4fbef524ab -KO = 07cdcdf7ccc7efbae388217d158121faaf16994bf633600c6a7f427e86309724486442e7d71ef5f1d49ee8bcf62037da47c2c3abfcfbf1c7fb541649e084a9aa - -COUNT=20 -L = 160 -KI = 9f6f52bf06de11f9f282fe9ef4c3656e -FixedInputDataByteLen = 60 -FixedInputData = 7e3550dea847e77e57fa57708dbdb2e9d32caa95f6406f0ef9ca7e0bc6f5a8fb0fde5477b7b7b79e2199477010d49831579b993e66bc4f5c65c6a84c -KO = b3f6a951e530e7dc4410f26b2296389619259e04 - -COUNT=21 -L = 160 -KI = 9337aca9e666c3ccbb2016fe3d8865e4 -FixedInputDataByteLen = 60 -FixedInputData = 67c8ce7a641854eb4993f6688db79eea7e85e3989e6501ac68318b78769e2d8fa6556702f29fdb3bb1c340b094aed232e41f65ef9247e44e5ce44038 -KO = 0888c1cfec449483308c61fbbdd2361c7d8dbe18 - -COUNT=22 -L = 160 -KI = d8a3fa871b89fc2f85a3a91013735386 -FixedInputDataByteLen = 60 -FixedInputData = 90281a9f6585090db0d48f2c3384d0eb974e5902628084e4f27798637b639e6a790d0f42942877cb647cf9354e8e9e87b62b1c70eb08d5504ac89c4b -KO = a666e0d3f09112b77a8bd3cfac77c1ec20823705 - -COUNT=23 -L = 160 -KI = c366c16b0d5e79003e2ea8a26b37020c -FixedInputDataByteLen = 60 -FixedInputData = 741b27ddc16b3a6c28815787cebab9633845303456e3239d6ef04db3ca7533c1a1cee2a4672501c9b36e6a498595c75ffd980392bd9ee7339a5afb4c -KO = 1446658b52e50c66f1128ecb7aaa321df2d6a3e4 - -COUNT=24 -L = 160 -KI = 76152e39cded1a51ed57d7fe16764389 -FixedInputDataByteLen = 60 -FixedInputData = c96ccfc87a3bf49e5f9a45444536619b4b37263d80545f8e4413e1c45f2e7e494de692a4deed65b4a0000f788da5af84b622f9baa6d278443f3010e6 -KO = f88e87b70b62b4d64eaf7da53af8bc00f44bd763 - -COUNT=25 -L = 160 -KI = dbd136d17c64c5d210d381b33be01289 -FixedInputDataByteLen = 60 -FixedInputData = 090622009df2f0c69b66634a357f2a26fbe5034e9918e66d17f6679150770ed45dbbdbb2e7f93622c6a7ba37c58af1cff69f2387e5c217ff97a25094 -KO = 3bbe97093daae6996cc2a379ddc774089439b659 - -COUNT=26 -L = 160 -KI = 3ad5c080e38074f5442d8b897397f8cd -FixedInputDataByteLen = 60 -FixedInputData = 99f6295d2fa7fdc687a8076c3f27c5a65b376c4965a2a8b3f0e551b79e661fb9a6b34d7ee60f4089e5b93586be2b855d536706b9566616774d5beaf9 -KO = 628f09aa23069eeb0642d111e07ff0f5f7cbc7c5 - -COUNT=27 -L = 160 -KI = 37e6ba7300d45dd2dcc13e7e8641a3ce -FixedInputDataByteLen = 60 -FixedInputData = bbdabc8938de66242c149a62dbd2d26d1fc8468d7914056a3789005d59dcd61e9bdd2c1cda8d7e15f23bb6f5de79594d623ee8ba16f86ce7c7d51447 -KO = 16c6244e0b94d279c82b9c5307cb9fc970b9430f - -COUNT=28 -L = 160 -KI = c04b67122fec799b8a8647780ac8d441 -FixedInputDataByteLen = 60 -FixedInputData = 19105945d84aba0804496aecf1178f8ba6e1cc2afa74353cc6f75e3b74a0c2d7e8354035fdc318dee5a87ec25385a93a393b3175c8291f37c50e07f8 -KO = e87a617ac95c1ddfb9b915bbc23a21d236e97846 - -COUNT=29 -L = 160 -KI = 9aea2e491b0cdf3cb6837bce4a3e00f3 -FixedInputDataByteLen = 60 -FixedInputData = a739d0ffd8408161fd95e888e468eec3de312f768f7da47fa9e9b76656f2837ec2f6465cda0e535cb95d00ff1f78014354bbce2bf9cd9a0bd8596a51 -KO = 604f894174b9e7ed2e7018cdf0119369f2026e2d - -COUNT=30 -L = 560 -KI = fa435c2e451e6fe8db5ca314a6fe98f5 -FixedInputDataByteLen = 60 -FixedInputData = d4a2e6958c297aa8d04bbb47b5d98f5ed6e663cb17244d6b83b31b8d51e6ac043f8d7b6f1d5883c2a89d2a76fca323a66d2780e64ef6f443242985b1 -KO = 30a07a974b6d15b7e436eb6e10e0162a02ac26fc42b87624e333daf3d87cb0942416855c426d0b0bf7364880321d63e1b9ac7a588228bc12116a07957b738bbc2f20a32239a9 - -COUNT=31 -L = 560 -KI = e722833615873f4f1dd5901b8c7946f1 -FixedInputDataByteLen = 60 -FixedInputData = 43dbc55ce26a64c4463088d464718906b77f5b0baaf8a0b4d98a88f66e0e5f3060a7dbd7ebddf812999f47eea5fd98cc27544c21ad860e9fe1061efc -KO = 2178a7274460edd47e60ccde3e83e0b30a0fceffa4f6941d471e4b0059b8de216e417d9aa9a7af9b487172f519d410598a4c5bb1d7e4510b346f452251675e9ea3a095308116 - -COUNT=32 -L = 560 -KI = 2055f9ee6170f18437df8f3c739a56b7 -FixedInputDataByteLen = 60 -FixedInputData = 819e1fffa758cf84194f16fab104c8b80543e0eceafb8bbb8234975ed4112c76ac3db22026f66c8b3f0e4a731f288e451b2e09a6a67dc9d24d89fe9d -KO = d637ea41e8aef92d8a496381db2044d85f8f9736f3557a637254fddca38ef4bec0c0850b4035dc7373b3432f6aa251e6975efe018bc035e78c49720b345a3fbe2a35c2430dc7 - -COUNT=33 -L = 560 -KI = 35c0acd5a4736464e5227f5a9b4cc4ca -FixedInputDataByteLen = 60 -FixedInputData = 7e27a4b63b72d34a63a6776b8e276c0cfbd9f71ad08194afac6a3fb99c17cbb9c145886099b4849e8e8d9c839787eaf6812b2cf8b915eadd9425abd9 -KO = e0a580e3b84cdc75c9cf1b905c12d5ab8e5a4e12ee9782fb0a0a190f9f575774c344428469ebb05479efe95e35362540727c939cffaf6fe67f2baa02f0a4f69448acbd2b2eb6 - -COUNT=34 -L = 560 -KI = 745fea367c3907b16a9aadbc27e8e2f6 -FixedInputDataByteLen = 60 -FixedInputData = 001b420c2d41ca16748d532dd752d19715b043b8e0100c3ab7c2f69d636ccbad5de88622da7b1a267b823be04194b0dccffb2f428ec161358e0b5be8 -KO = cbca48a7b6921b2e71535bd55fbeb284f466ac432235d506b27594a2d980a9c6ddb79824c6fbc066edd2466714c8c774c78eb8dc13eabbd424f53c6a2d34c6dc3480cd6f3f0d - -COUNT=35 -L = 560 -KI = b0b8cbd1b1c7503d40624bfcbc18e026 -FixedInputDataByteLen = 60 -FixedInputData = c8bafa459c03de7bfa8c0523e1309a6c9676fc6c19546610f15be25d349429802784a2f9a79f6ab27422aebcd6c0dcf5fee51fdf969b638d90586e68 -KO = b528434841a6b9b0d0522d98638a53a894fb967ee818552b80e9622a3d06069640baef4c01a41be5c3ac874494d223528e1b3bd72d0bf88a742b4384ce598035d7c2133e9e32 - -COUNT=36 -L = 560 -KI = e76d7df59025afd56887a37b9e835215 -FixedInputDataByteLen = 60 -FixedInputData = 81649a53022c2037517a7a72c66e8edb44c4df41e695f828d446e7363f1c1769f353ba968e916a309e9ebf486207caeaf0a7d1c58bdcf25845bc2c68 -KO = 912d9e541ba76a87fc78b6e7d9f9242a06e575aa4d7e97e5bad5e0b74244b814ec33dae30de27e7066941a9724d11d91e3b882714019d59865208c1d6438746fcd202fc86447 - -COUNT=37 -L = 560 -KI = 05f9203a16047aaecce0086e90163378 -FixedInputDataByteLen = 60 -FixedInputData = d0fd636d79e82e2637512c29898f6d1c0f6fa1520d514e26866dac7a4459a505ee9642a6f010a2b505b1cc32a993a72466e79f73e018aeee1a4e0950 -KO = 97402032fe25b211304554b330aabeb4e4d836fe3120f6eda768a4ea872c4d989d7fdfc70a226d883b01c2070a1ffdc8ccc2cc4ed7fec65576f94ceec5e703c3048efccdcf27 - -COUNT=38 -L = 560 -KI = e3c9858259efbfdf681181d702758ea8 -FixedInputDataByteLen = 60 -FixedInputData = 9dc29b3b90a4354ed2438b59b3237c3e807a088129f76e8deda4f13ce84fac6ac472ce4ebc3a7af670fea5ae7b99029a75d4185dee4738ba7d9e58b4 -KO = a36451f762c78323ddd473b9b9075a8f79a582b42bedc80109c82980ecce16a89e6dd161fc25199d247233557dd3152eeecf0e0a3c88e0df5e33d71a051b43fc0045c5a82860 - -COUNT=39 -L = 560 -KI = 275e34cdb632af8aff8c73387efb2f0f -FixedInputDataByteLen = 60 -FixedInputData = 8cac042a9b3e99365e5a18c5df6f6e00b86f576bd60a0646f9acb267d257ffbd55ca29ebc189543819faa0417b46fcca7bfcc9a1b28a43df5f082115 -KO = 781284fbc820fff774e971d5580ea4cf7f99629db9fc8b11f1e437854bc79f46bc8451088ed2ed9d8b2c00bf0c979877e9e356d9e584a92bcada40ad0d20be282cc8f51e84bb - - - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 270b1b3a7dd56426a79c9343a1e7ae4d -FixedInputDataByteLen = 60 -FixedInputData = a431228aa2d467ade5634fcc8b54ff810ee3115c90a83fcd7fac4876c94cbe16fdbe7c1b30e207b0165427e87341a7fbdb19e5d31a0c9bcfa9d804a9 -KO = f48783479d31386ec7276f72bc764952 - -COUNT=1 -L = 128 -KI = e9bf5576dfcbbe8ca08a4744d37c0f2b -FixedInputDataByteLen = 60 -FixedInputData = d0a9e14ca283ceaaacb037f05938e763d15f4274fb9d9a905d50205df07674614441554f18b45d24e3caf4ee0e649690e266dd93a57747bc5e79b3b8 -KO = 14cd473ac912471c6c49c812608ae17f - -COUNT=2 -L = 128 -KI = bf7970bcf9a40cb3086a3495d20ac3c5 -FixedInputDataByteLen = 60 -FixedInputData = 95dd4fdfd6cc6d9ccf6d461ca371ec7869f7ccf0d6f545de75e394986e3cd107138537111ee7343e0585a468efcda24b57234aa237f979e908d90b6a -KO = c9c76777dcadaa135a9b93121183f74a - -COUNT=3 -L = 128 -KI = 9f2cca84896eb931a203fb2259a88042 -FixedInputDataByteLen = 60 -FixedInputData = 5480dd34afb282fa6ed741cba614d99135cab367556b77af2729533a381c3a40a2d9d26e422656e450bcad7d6d23650777936a7bfda37a1337a394ce -KO = fa0debcef1702fbd6144f24e159a5cbd - -COUNT=4 -L = 128 -KI = 89c20e6dbfce766dbe490ff0048cce47 -FixedInputDataByteLen = 60 -FixedInputData = 30bf59f56352774b0824b31e4cf3c6bfe2385448c765e75802bb912ddca375b40472eca9675b33e8a3caf85128e93346f7d309d9226e3d306a9aea4a -KO = e8a1d146910001ff0e764b5cb387153f - -COUNT=5 -L = 128 -KI = 38f222d89434d6a451208c05249745aa -FixedInputDataByteLen = 60 -FixedInputData = 7cb3219db7ae09e3e6d6c52c5bfc768949584e392ccb9143e8426001edc4a57ca427e44e8aa5f6b0a219558fd8219edc321d1d82e78d34b1465fcbf7 -KO = 1b033f4c26f1f4575bb8a014ddbfe83d - -COUNT=6 -L = 128 -KI = 12cf98fb7a68220dc5498a1864785b12 -FixedInputDataByteLen = 60 -FixedInputData = f2a86286d844898d1b02eb054e93b6c170ad5dc4e046470ef74add6d091961c5837950fd2d82e435903ac39c3b305d97b487ecc185147d933e2acd44 -KO = 928cec2efd0a53af787397291cb135ce - -COUNT=7 -L = 128 -KI = 2a7456a3967392872bc7b66cebe86dfe -FixedInputDataByteLen = 60 -FixedInputData = 8f38d9cdcf4205d48de5fc81a8f46d6bcd3ce8924067e0d64bdc950f13973b36f3f725a4d4a3c39994294b7319e5e8d40105278a22f79656a890a11d -KO = 208105da816105f235ae701775dae61f - -COUNT=8 -L = 128 -KI = 4e04aff4bdde5b8d70974f09e37353a9 -FixedInputDataByteLen = 60 -FixedInputData = b9d4980340e80dcdcd66ba905d07bf353a27a6243950f0001d86694edd3c451a4e1ce3cc512ab521c25810829d1d97eefcd674e4f0f2ec99c3fb464f -KO = 3bfa786b6e968c46a12c570436589b5d - -COUNT=9 -L = 128 -KI = ce4c20f0c5bd1db6aae073e32d05a567 -FixedInputDataByteLen = 60 -FixedInputData = 56ee22f642a58acca80434a29a9987e55ec7d5c911869ce184c78c395b36aed40bf7f17d316ff6c2f30170c46587df5cf160428bc161c2407ba4dcbc -KO = 63b0a3a6693a8ce3351422e87ccc1706 - -COUNT=10 -L = 512 -KI = 0b05721c6c0c59a14c627352907fcb1d -FixedInputDataByteLen = 60 -FixedInputData = 6835586a80943559d1022048ff1957cb394323326b4acbd405d2f79f382bf0bdd079193c4d01ef1f67ae80091b92d44b04d1cc39868622ead3a40943 -KO = 1662abe043da441e19c019f4c81419c7b4d0173f2ab844d512e58aaa3f5f7ccc8c4f3235c4456fe300ea926ef5913c24af1164f884e9e7dc49e6bc14edd2ca4c - -COUNT=11 -L = 512 -KI = f6b38eb4b31cabb100425cb337c0cb87 -FixedInputDataByteLen = 60 -FixedInputData = c06fb25b29fed5d7a116c8d1944460407c1bd671770dfae46deae0a722a6c99194e2ffa1302c5507aa57dc8cf9e7bf06543a211ba14bd5624ad40259 -KO = b1fd7632f5fe9bf8ba80d3b22b9f2c2a2279ad83e51fdcf86474dfe907a056d6b195f8c0d9166834027a13ac872718bffb787ba6ea9f53e265e442422fa99b57 - -COUNT=12 -L = 512 -KI = 7accb3b36441bedceb93c04375c97c80 -FixedInputDataByteLen = 60 -FixedInputData = 2ee664675632296ebde5a6996fa82e3bf5fb806685b49769fc54793f67ab3ec990b969b23675d2ef797311512d28e28ee8dac467d4724afd5e63be88 -KO = 6a019d68a6dade7097de30470dfc2a8e24e3044de015d0c0fa476968fa65d79735d63491489f40cfdb9b9fc05c7288e4ca1e31154b621f265d3431173debc47a - -COUNT=13 -L = 512 -KI = 0a2c749387e6f7cf2cda973168d91dc3 -FixedInputDataByteLen = 60 -FixedInputData = 92bee459e602f41676dd648691450fc1fbb906fbb7460260d1ea16e5b383b0dca7b8a44a076621018ce7141fad51acbaff8602462713dff158dbf3c5 -KO = a5520a393db2e5153120660a0c0deb145d8125099b4c27f634e6f7e21c98d45c8839740198d0b16e8bb5dad59975fad3cf8bf58aad39bf7630cf471588d6fa8c - -COUNT=14 -L = 512 -KI = 3aebfd0c9370484dc7586c6fc07ce155 -FixedInputDataByteLen = 60 -FixedInputData = 1fd00713cb05f8ab6f3ead9ff17abe20051064362bb05ce20d11c086bd7944736b6596a161d29033dfbd585da78a41203611c2c48828a0c98467dfc3 -KO = eb59537077219e10ec7b978d0a0bbd3e26f9d7e81507d81c4b26a2b5197a7063ba0471b5dfd93e24137c145e49024de8645f03bf1749ee9f9ac286a77a764358 - -COUNT=15 -L = 512 -KI = 9a9cdaf5eebb593b899a4ec71f935340 -FixedInputDataByteLen = 60 -FixedInputData = 6f401269692c65f92b33ce723ae1748f346f5352cb33a57d790e403097b67b539f6c8adbc4444f8194331df72417b4ad0e6bff51d18f69a046e1059e -KO = 8c5e70f1acd11485186a5594e2c2717006e09d2414bcd0ef9d2fe2348daf5fcb20b2d4f3f153300659429764bd1eced190d7ca6975c27f3d8724b743b750d227 - -COUNT=16 -L = 512 -KI = 2cc64be18dad1d9fc564fa5025c6e6f1 -FixedInputDataByteLen = 60 -FixedInputData = d30d8b72ce0ab7ff32ae3add0f28d2e9477a2536d2010115ffd666363f2dabe2117562ca05e8a42aff368beae32ecb9297539b6184b2f0a251fede70 -KO = a8f4fecc6da5fa0f69f8244d7f4feeb71b2bfd3ad40fb623008ed9dfd4a1775be8d35f27cd89c2f9e4346cac14492927450aa8ebe5e4f11101055de98b5019f9 - -COUNT=17 -L = 512 -KI = 0b10cbe3da11bacb3d04fd6329601183 -FixedInputDataByteLen = 60 -FixedInputData = a5eff6f6a42539d119f452e2155b12e2c483beb69fe4f0d5dc4d24c53ff7c88bad9e5b173382fa39372165cc4a119504531d490fd1b6376a4d781213 -KO = 3344b420296d880aa7423f730a501c9f59617a3b5463d9671959e1cb5179bee3920b3609ad19bffca7c65a1408070d38d0fd0fb509465449188929c287d12906 - -COUNT=18 -L = 512 -KI = bde8a55a734dffac49ed52fa99cd5162 -FixedInputDataByteLen = 60 -FixedInputData = 90ad032ede9f58f05f75e18eb6034adb180803daa2bf8e627fc5753e9e9601ccbc2586b0ad560feed586eed11868602d8f8c28b01f618cedb5a43dd7 -KO = 64ccc0e223fead75112230f4b2e763225d64ab285fcae03370b66f99a48349f1cbea318910e193187f71c21ab880bedcfb8fc8597ca71702bd9dbc9876d630f8 - -COUNT=19 -L = 512 -KI = 7aabc3c0614f064559d1bd931347d7d8 -FixedInputDataByteLen = 60 -FixedInputData = 4e19bd1de32f4040eaac76812437f30c431bd116237fcbc1a1966b0882cddd16347948cce26cbec5c5fc46d89da6999fd62a96e07ced570ea12480a2 -KO = a795f4a89cd23d3b00fa52cf6dca1e0414033dce7f677dbdabee9645c718028f6703724feb84c05f96a30a6a625e9699755681bf926badc3d87732e4b443ae59 - -COUNT=20 -L = 160 -KI = c718451203e90b93c567f1a6605b2e5b -FixedInputDataByteLen = 60 -FixedInputData = 37f34246084b055fa5800ace85f869f7a100665b5322989c40fd90f6e18f5dc940dffbca550b6ca02557200461d752bc01325f64237f2919bc6c93eb -KO = 33a45fcc1861af9cdd4365e853c7dbb6443eced6 - -COUNT=21 -L = 160 -KI = 346a0c53f775630a45c8c19c04a1329b -FixedInputDataByteLen = 60 -FixedInputData = 55cab498a21d26663ac04cfd557585d1655a8e4f5ff001b2c95a2c7400882526374a6e0c48d3ddab1a13678458dcd9ac957e89e64027c412dee98311 -KO = 766d3299205b5d65fa2241299e663a3a2d2e48c7 - -COUNT=22 -L = 160 -KI = 72eb7c2fda58d96ff9dd8048400efe75 -FixedInputDataByteLen = 60 -FixedInputData = 56d621b27f44bf0754999172151d8f85fb9b9cd5fea59d5c3a8349e6c21c2e5ad0ea385df6251d1cf3a69fe92b4733cded77d4cea682118b8ff9ebbf -KO = 43189d277b7d190b8ff83a2ed0a92591606dcfb5 - -COUNT=23 -L = 160 -KI = 77fa5be654d244658e884dcee2c79b31 -FixedInputDataByteLen = 60 -FixedInputData = f7ba06afde04e7a5e7058629929e70618fec354896fc650f7e5104b24761c9f1823230c2ec1326d2ae3666e21f48c166e486a4d861bfd25c75a68638 -KO = f84ff1a116f1a3200f5893485ae88aaf0272d9d8 - -COUNT=24 -L = 160 -KI = 19969c4f2efd03937235e9d967a08a0a -FixedInputDataByteLen = 60 -FixedInputData = c7854a816b3d767da921a9a070f1908282a9c7209bf77858200726adf7aec63e1a077551462b83269e8706c897b3707fcdf5bb3a1b1dcc6749df3da1 -KO = 809365e24203928bc0f6ca58d7df1f4fd975e7ed - -COUNT=25 -L = 160 -KI = 2fe4703b78562f3eb6946ea937348bfb -FixedInputDataByteLen = 60 -FixedInputData = 14c5273c5ab6e611246c97ddd8994bd0287f757b3f980bf4000c3767782857338cfc3b090ec1eca5bbc7c5b26502fd69edf838a08d114ad6ea4b439f -KO = d2d13c0e66c7204781b0b787a6315ee79082716f - -COUNT=26 -L = 160 -KI = 97a93bec56469db7a11916190e750079 -FixedInputDataByteLen = 60 -FixedInputData = f90c0de797042750aec80f71ddb029cd90ac0eace0990d953b4c6bc6ec431a474190748a66cb96d44891f2371e05ed82893ff3c6985f08b96ff4c34a -KO = d874a654284946331ae58aa016fce8a4d11bb066 - -COUNT=27 -L = 160 -KI = f172338a5cde8917d0e9d69f532d830d -FixedInputDataByteLen = 60 -FixedInputData = 96f0963ec623c950005336fd70c0f163c5b554394bb54ae2b3188b1bbb6f7415caf180338e6bd6ca6f31fb44daa8aa009d49f21dd97f46cb2dd71f50 -KO = 16fc867cd061e7ec230dfbf9107c566e22f4bb82 - -COUNT=28 -L = 160 -KI = d865e4c0be44740c49a04f5cbc8dfed6 -FixedInputDataByteLen = 60 -FixedInputData = d4caae83cf7abf03742f07cb7603253ec002e81b31fce52a5a55011b41b0e77125270c622dcad840c84748f91e80c7967fbd41b6ec6d3692c390d343 -KO = 0a14f12da9f1b131a4949c06e545513c99289d65 - -COUNT=29 -L = 160 -KI = 6a6f7306c7d5e36c7ae192063773768f -FixedInputDataByteLen = 60 -FixedInputData = ead74e748724714f99172ea53423a868b4e7428aab7b370a7d4eaad8f2be617e50b2b37556258bbef3a86778e785048427480eaf70ee25ad95fa0188 -KO = 84afa8569f2f8d0a2da482e9f36c15e0f6dae287 - -COUNT=30 -L = 560 -KI = b45a31caaae358def77622fb9bc2ce4c -FixedInputDataByteLen = 60 -FixedInputData = d46af462a4fbaba13b3a51b03ea027950cd8e5264cbfbeda73780475a96d154084340e17513260b79274d3827bfcb713e9bea6b1388a63a9982ab4f3 -KO = 98d37b8d3667701d4cce6736d44b58e23bb1ca5e44f73192a6c15b983318bcf4fd4127a66ccee78e62024276fb987412a41fd89b472f65863949df293df3413ee8d37fee2e12 - -COUNT=31 -L = 560 -KI = e3f787e64d29977a687c7941584fce1a -FixedInputDataByteLen = 60 -FixedInputData = f91960f2be77daa414f1b4c7effe781748822973d390fb32ebdc6ae1c97ae93d8256d83ed424564376f23a05ed8251af3419e15102974fb2b941ce17 -KO = 71df8fa244809b4f03624e85db9c265d48492fd7355720253d3bbce9371a305e5045fb6a0ebd3d95c5c10a83b6209f559f8dff86268690c840fb86ba128218a9b569e2ee8f91 - -COUNT=32 -L = 560 -KI = 29a5dbed5d01b44048a60a85e6cc2907 -FixedInputDataByteLen = 60 -FixedInputData = c39659ffa75c525bf4ee00008cc6cf558fd0242cdaaa107405be1974a9d45f6240877c06ce6f9545e8f8adaf00159cc96b5809098ba5dac8cce7fee6 -KO = a6b7a949df7a77273c09e35b4f4cbf36502126fccfc9f37372f453a34c269d6091f10673b4b75bea4a54c206b9b63d5d11df7055e2be49b7e9c9fe8f31b737c3874249a67fd8 - -COUNT=33 -L = 560 -KI = fed6f6f9a4d100ebb2cc0416144834bd -FixedInputDataByteLen = 60 -FixedInputData = 0e8c78195929934afd209c40b3c4bc0ed574bcbaac1d01f1cacbb2ad5d50ab357872c06d7195aac4d87f3ca7d00092754211068a8fc52dc554fa197e -KO = 2a1c6ba49a585ceed6f39afdd9601e5fde39208163d30c7dac36def83d18e1314a44450e263f5ba2d0106c12b70a326f87aab98a335dd15a2caf182b5fc5ec3fed529a728543 - -COUNT=34 -L = 560 -KI = 1a40fd77ffe14c475eed86f80ebd14dc -FixedInputDataByteLen = 60 -FixedInputData = a605de58c7db88f17767ad650c6d274138d65466a5e0df27a30077142975072b5d8ef93d1ca1ab490cb9e7c2fb2c71eb7ed4397dcca8e467451cb83c -KO = 4d18d5d0f7f0c05f67bc8bedd862e25d77cb26c60590c045d832128e99e2c09bba67abb1b343a7e0cb8e737fd436ac3a96d3843293028d846d07552898007c2ced9f542a7485 - -COUNT=35 -L = 560 -KI = f412cbce703308860ed2f03f5e71f746 -FixedInputDataByteLen = 60 -FixedInputData = b9755e592950918cbe96711d407727f067be72d7d06cff965bd8fa81cb2fa5d58e1705f420e7e4cfbc8c68e7efa9d0f94972bce17354ce7eecb36322 -KO = e286549c2454071027c98076cf495f8a5cad622a7bc7e6c942120000c602e75c13982b6850fc0e6e3fc7d320589c997cb48203732136ec809b63dac06e772543f75c63cf54c2 - -COUNT=36 -L = 560 -KI = d8c84e4d7f9198625f9d7613181fb0ba -FixedInputDataByteLen = 60 -FixedInputData = c359e30bd1ecc9d4beacd9d434ef09ed8ba20b5cc6ea7104c94d59c8755cc12d48bde7729f01b7d2b64b01edfb7f2cef11e5743214b9dac377215126 -KO = e4809ee282e99b13bccbf105024af69602341392c984af1927f1f4d81b107cbce154f90f77026a97813e19c3a6274d4d60f57e950b8a8d3315f436cfcb26976a2beb57436099 - -COUNT=37 -L = 560 -KI = 94e13488abcba22165e03fdc7075d7bf -FixedInputDataByteLen = 60 -FixedInputData = 963cb803c0aa7ceb9b5b8e51e0a9cfd1f99c7d5e9044e8927eb3d47c3d166dec78e475156d0c73308ca4b819c10947af50ff4def7a7498e2f5638270 -KO = a3f693b326ffceb7611e59f2913fc45361ed4068fa49b6c7d71ab27c12cc6b29a8677482cfdae5c4a95f779a5969275d17ae6dcec226cab62f27c9e272fcf3f25ab4fc4602ed - -COUNT=38 -L = 560 -KI = 2440974cb0d87b8127cf90ca88b93e69 -FixedInputDataByteLen = 60 -FixedInputData = 2c0f658b4976458f29c65323bd68e7c957a2c8921189d819dbecdeb2cafcbe5929fb517a44ff1ffb51b94dab77eda28417249dfdfa8e75f78d6fd84b -KO = b395e4ada0b4d879554f2b10b057b41d82acd6c32ff1a60a63d6ea47af64251166d2652dd870e1ff997f9464a9ffc81edb355a001d1ba94544827415e0f0269036fb3f94ae4b - -COUNT=39 -L = 560 -KI = 07e8ddf54d0bced560987fc0f4c8086b -FixedInputDataByteLen = 60 -FixedInputData = 402580fadf3d7c09adcdbe59397f78220dd1ff576a7db4df2c581702aef766b2dfc3a2c0dfeef80d5eeec9abe4d4d638a8d382a9382d959ffa7e3d9b -KO = 8d0112185dcb26bc51bfca436cf35af1d32a8a46e4a6675a1e1132e853ec953f5df178c29cc25a01111a20ca779151ae0c693c51bbec1634c4fb4c87174eb017c5c2e3e67ba8 - - - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 5f906c7f7c3938582275e6b0fc5d6ba4 -FixedInputDataByteLen = 60 -FixedInputData = cb7119656b61766b2370891b0998420407edc0120025363aaf19462132cc97c8cca10e809622410e961c30c7919b5a8dcb737cd9c08284813582e609 -KO = d235102c02b5bfddf5e4806ad5de15f7 - -COUNT=1 -L = 128 -KI = f7016b2bafad619b22f6b4a59e8f2c06 -FixedInputDataByteLen = 60 -FixedInputData = f87a715d9502654cd4141b93b61c0ea5fb5bd5235e2ce357d45d2dbc69c051386fe8e79852c57628222ec742ba44a27ad146cc64fef632b1288af2d0 -KO = 02765ae27f23f8a4e033252038763e0b - -COUNT=2 -L = 128 -KI = 95512bee5f3ab9dc63f11941e2f58361 -FixedInputDataByteLen = 60 -FixedInputData = 6ea37183f7a1978cf45b4bd39f0b4b4686c33973ae3d11074dbc9ab49872dc2b319f4f4f04b79c9db78f3137604e045b5bf4a1aea88a5989edbd7729 -KO = a73e7496c5612ca2dee0fd7ab0bc3747 - -COUNT=3 -L = 128 -KI = adbbcaddf437ab92c34d138a31f500bd -FixedInputDataByteLen = 60 -FixedInputData = 75f41bc33539dfbbf663ed1fbad469f3aa421c92fd3caba5e85adbadab05abc04743c13d56352d1ac6473987260ab28520ecb93692aa2a08c8892a43 -KO = 1c22f89ac00390747587f56c60fd0c25 - -COUNT=4 -L = 128 -KI = 052b41c8f8244fa01d6e0840ac7a793c -FixedInputDataByteLen = 60 -FixedInputData = d5e6b5313e4302c7eb08e24741e428a006a029fda83e3d122d5adb8ed991b6d7349b94cc3dd6d0b253fa0b7f2d7fd078e0b8d30bae93b0686cc0fac6 -KO = 61906802297cd751e8e1ea06f59facf6 - -COUNT=5 -L = 128 -KI = 56abb5f947dc1517dc8c11d36e2d54c0 -FixedInputDataByteLen = 60 -FixedInputData = 93b070cc85d9def4962a5f3ebb61ebd6e0f59a7f060ec104e2d38596ab5e49621edadedf8be2c71542930d57d84783367afd7b2b54dddd17c40dcc9f -KO = c6a261088e40d69d2253e970e54e1d6b - -COUNT=6 -L = 128 -KI = 973f0fdfcf8238075941836c5e153401 -FixedInputDataByteLen = 60 -FixedInputData = 7e2aa323833417ef459b46ac319fdd3b93c2c33184694f9d0819b03b0eb6b5c7f891a4578946bf1107bf7e1303e64b35f9a71705c710400aebd4e1e6 -KO = 9679e5546329beca2edc1d0b590da661 - -COUNT=7 -L = 128 -KI = b8c1118943a62c01797e1ca5e221ddf6 -FixedInputDataByteLen = 60 -FixedInputData = da0b16613de3d45906a4a322095f06a14afbf713cbcb33196c7fec50717d604eaf9adf099346c41ffd9db04b6fd2e233d99ea3f06de25ac2c3285be8 -KO = 93ba80b67135d915fdf75af90b4f535d - -COUNT=8 -L = 128 -KI = a8d10cad54932e5210226a1224198abf -FixedInputDataByteLen = 60 -FixedInputData = d6ea3ad786659e8d54b63344fa6ad62107642529ad991fb49c6bcc3a66f8bffce14c285c2298ed487b0986ae1a7996334574eaa94664b64f660a4938 -KO = ac8e735dd1c4eef7c8c8f2f6ea1cb714 - -COUNT=9 -L = 128 -KI = afd48b2039eb634b4fb2a07ba1f02477 -FixedInputDataByteLen = 60 -FixedInputData = 57ee83d5591ff16ffc74cb33453a02e3bae55812f03ca5053fc33674e11eef41cda4a219a9a98aaba393998596af97d0ef45a8a94f3e47a98fd8022f -KO = b7f7516f6dccc631c535ef49bcc7eefd - -COUNT=10 -L = 512 -KI = fc9e7b3197bf22e1753d8bc84fb58803 -FixedInputDataByteLen = 60 -FixedInputData = f8610d94276b8e8b0046a377efc2ba7e88425639f758a30278f1ed17379c99a3d2399bfb610aa313dfe8f19f18b35f59001072da1fb068d2a5815b6e -KO = cf95372915855d1a14a067e97ace5f003411e5daac57cdf2d2684cd80bff3509e6fdc4025f1214800cbc97f964e57e49e4f7cce489d6b92a1fbf22ad13a45850 - -COUNT=11 -L = 512 -KI = 2b6081ac7716d02b2b89335d52b0fcd7 -FixedInputDataByteLen = 60 -FixedInputData = e1317a69e211d5fa03da844cd595a87f31152c0faa91ce6a73d85b26630585977933db4003792ffaa8dc91fc27c542661b4e19668d7c5090da4c2bcd -KO = a5adbc0aef1cdca36c3766c1f6120a51fa55b445af68464f47e193e4632eb1f1ef11246837eabb300fa87fa7ee6a58b137a71f505e2772dfd51a559520bf5a61 - -COUNT=12 -L = 512 -KI = 7c0ab5b5543636b0413524da5de27cfc -FixedInputDataByteLen = 60 -FixedInputData = f8396b21a4b588b703c420d7213fb9a92a774ee168f7f1c0e7a9d3553b81be1e2ee468a202b16af7db328696eeb11bd0d7d9e8d6ce1f7530eef0638f -KO = dc22b7b0155f3a6c0e8781087c3419773cc330a651c1c609295f7818845fee7cbe30342de17293c4f75ea60fce38a6cbf931f63fe38e3a79434634d37aac7fee - -COUNT=13 -L = 512 -KI = a9d5ff0a6c523de36f6eb583c8a695ef -FixedInputDataByteLen = 60 -FixedInputData = e9b1247785950c892fd006d4b5b086c2e2c903f5f5f744ef8801412ec3687cb2937ba865c440bceb656dccdc103b387f75ef49cad11f3464e5af7620 -KO = 8f735e4dfb0e3b0f4d798374237b00da8a9ca20bd52b9afd5691864d0c18e7ae21e2cbab8f76bcee3cf7d94359a76ee51637eddde0a25c07ba6dfa1efe9ebf40 - -COUNT=14 -L = 512 -KI = 51f6884cde55a1e2127ac6ce9f71d7b3 -FixedInputDataByteLen = 60 -FixedInputData = 5ba9b71c3a30b5a8bfa39a5e417ec5807d026d7800fd8f8f6d7a09c5785236a5087f27a5fed697a444515ac12b9886766516d14b0b79be8714eeaab3 -KO = ce45a600e19fe0ecff41b6dfb45891c95ac8f488b5710e732a7e6d9debeee36d1377ca8c306c3de0a69faef49050177132b048046f64584e57c69aa584d8aebd - -COUNT=15 -L = 512 -KI = f4a14d35665641dd9ea4065affba8bf3 -FixedInputDataByteLen = 60 -FixedInputData = 824c242bcfff22adc8b3eb652c8ee1f7e4c8421748cc33ba7e59cd0f2a62d95bf21601a3fcb36e9e389e9a0c3b5538fbce4795a90c505c34d051b8b0 -KO = e26741bb18e3c2bad97ca9c637b304b454b48278b3c19a0276e6bd3ece19aafc600758fd74f3a6691de6efec99d6f7e6eebba6bc09a10d2d295b8c894200f602 - -COUNT=16 -L = 512 -KI = 33803279bbda42f9fbe771112729c2ef -FixedInputDataByteLen = 60 -FixedInputData = ba1be0c9ba1ea987c150e1fc58323e2a388da8945551193166779e399c8fd1dc8564ca819e367846d2814f51c31056a5fb6c0d4098e2267888a451fb -KO = 024beeacb5e8bb79667e5ed75cb803072e1700710e37ad4d860eb7a60a6ca19e271dddcd6afd6b6dc5a8aec7083ac0a2ab4e8fd68f2456373a25815e514fa634 - -COUNT=17 -L = 512 -KI = b1220221f8db9046cf028be105a307a6 -FixedInputDataByteLen = 60 -FixedInputData = 0e560bcf0861458dafe959d7054f32e3d1d8670ed9753420d488dc8fad2108abb764c365ff599449064e342fcb00817e42dc2e0733f11607417f8b72 -KO = 31754e550b668dfa6907e1a14d22b7457f8e8ecce8b94a8b48b9415284c0f7f2d5eadae38d6dd1fe965cfa18fdf61ab3537e47f96087bb630a3afcf3caa3108c - -COUNT=18 -L = 512 -KI = d5e41b8d3e7b94ca13e97166db67c8ed -FixedInputDataByteLen = 60 -FixedInputData = 80ff770118a557984ce0c9cba06a75f4e17d139435dc0ee4198add042a7649cd2f4b071a1f2a371d766a8407ae6304a49f249074ac9f98cc806b2aea -KO = 27df25a243bfeed5efb1f09e7af5b2ffdd7196c0a801d698d8d8ee051865b1b3636555e678d2fb98b9887433a01b7113ba5e6ca6af21a81996e3e6f34a086bbd - -COUNT=19 -L = 512 -KI = 595e22e3bf5977a55225b9ba0394c435 -FixedInputDataByteLen = 60 -FixedInputData = 60e1b50315c39af572695ef705f96c732c7872244409adabbe08f750c4355ecdf10e7c4ad6366d04f1d885b0e8d59364fad58f9e41000afa539d7fa2 -KO = 2cdc698beaa6c55c9c1dd8f7c0d04c584706ec57d4e6a7e52d23c8ebcadae8c1438973eeee6aa89a9f0e9f41e33d69dd6da5e395db6e59980c9eea0fd7f78a4f - -COUNT=20 -L = 160 -KI = 6fb20a7361d050bd5ca11ac03f7e26ac -FixedInputDataByteLen = 60 -FixedInputData = 84912ae3f776b5641637f4c0f76505ca275b257144990cb1a8f26ee247641fbe1126bf278254fcc6d50cb52e17124a2a88c2915f319ed01727be12c0 -KO = 2c0ba593ffbe25d8685b9a4201b2db9e85bbdff0 - -COUNT=21 -L = 160 -KI = 0eef45653ec53910bcdfa4bad9729c55 -FixedInputDataByteLen = 60 -FixedInputData = 6fcdcf498709ac06af9636e2f014b1fd324c45b7a47f259d5f81019f723241c8a72d85087c98382a1317f0790e05e84dc348db079ff282fc6c062dc9 -KO = c1c8149037361cb65df47336c1b0a5d39a8576e6 - -COUNT=22 -L = 160 -KI = 59fb8ce9e217f95783c66cbab26eed17 -FixedInputDataByteLen = 60 -FixedInputData = d7f07bab05d3a208d4031fc995523f0b067e082eb7ed6bca6467f662106e68b6d5a0401aac209766174f9a83cdbe796c58910465babc3984e5aef746 -KO = 3901cfb5b62b762b6e80b087d856d186e4907ff9 - -COUNT=23 -L = 160 -KI = 49a29fb4877177479fa51096fcaf8bd2 -FixedInputDataByteLen = 60 -FixedInputData = 46f05a9d8c93f2c3b114edfd50b04092426a31868cb3d95e6c522e706f028cac37522307e754f958eae61cf5868e5f21c0b01aec32afd18641b5e701 -KO = 331d154d6448ea879b71ff60de0463315cc402c6 - -COUNT=24 -L = 160 -KI = 6d4fad90e012a446761887eb3cf4ba1e -FixedInputDataByteLen = 60 -FixedInputData = 6b7158714bc21e88a926aea9117b3c6cb860591b77ee41c5237f7cd01262514fafe45cba1ab2885862ccee3d701741918392ebbfbb65efa4f1c6631a -KO = 55b0aca90262356c19a100ac47c4e3d2a391fb14 - -COUNT=25 -L = 160 -KI = 265d4bca1bc1abe0e1894aae8673a1b5 -FixedInputDataByteLen = 60 -FixedInputData = b6bb7040927f13260de02fb9400db9efa3d95e30783ce45cab10d332a3ddbf35428c83323f19df0e346b2b53e81121a51ec69354a2ca9a88b38232cc -KO = 039005c9bf154c52ce599d010bb6081f4a20b8b8 - -COUNT=26 -L = 160 -KI = 65d83a91e91362fc896eb639eb3ce0d8 -FixedInputDataByteLen = 60 -FixedInputData = c4771daa7cb5d1f5de0c16e03bb57212960930935ff21e73f203c8426def4929cb3be8e53e8f7a4eccec393b0e14754d43942864535240d05918132b -KO = 7a011fa69f542aca4d45865ab555be8db9e81051 - -COUNT=27 -L = 160 -KI = ce85e2944bd44aa6737eaf7279b1b950 -FixedInputDataByteLen = 60 -FixedInputData = 00e974dbaef5c4e6b556cf000380d91bdea47f7f54bceafeb87b4b86bd9dfaa2d6a08aa21e5939f36c8cc8950526c123c1c0ce807632fc945076215b -KO = dc521fcb371e5a84ddbe131a1a0e1f72574c1abc - -COUNT=28 -L = 160 -KI = 99802031d2e5ac7555ece7747c7bee0b -FixedInputDataByteLen = 60 -FixedInputData = 71d47a554c00a922d5f962698e4389f4c8c4023c95eefa2134e7913dc65c30810cce89fca715d6a718d5f32690f51f646bd8d3beee95ff2d4d11b1e8 -KO = 0e7f3bd5b4407be8520d8b06b320501688de5f44 - -COUNT=29 -L = 160 -KI = e0c51aaddf6ebdb18846c17bf44433d0 -FixedInputDataByteLen = 60 -FixedInputData = a0ccc5b3867c0fff20f013549bd5315fe8180ed85bad1c990fd0dccfa8af426c3518db12df986565713ce39d4d0dda74ba33dca35dbd9efd224ed2e0 -KO = 774db10912a085b338833713a585d55ccc8e4bd0 - -COUNT=30 -L = 560 -KI = 3b2edd6ae8b536afc33c53154b93535d -FixedInputDataByteLen = 60 -FixedInputData = 3d7757553f4ccd4ad875e16cf8ccaf8e31ee77e91c8c2fbef1ea91df530bd1445270d79d4d4dfc7ed2fb69b51f34df67fd2f52885c459754632bce07 -KO = 221525f97772742b701ff11396e17d26f3d2d5683c08b7b8c123b47e70284d7031c4a210e279c61e9a5fdd3249db758f7284da9ae3520684e878b8df4c46cd4d294f58c31455 - -COUNT=31 -L = 560 -KI = 35ad2adf2ea84ee02afd87ac7477264e -FixedInputDataByteLen = 60 -FixedInputData = 56762058327eed57300bc30368fcdbeceec770e6985b61261b4f087a39a8d794ed40b26ca33ef6f1967e0cfb951732aa8f668328816db8632c02d28c -KO = 38d1cfca21490a87f49964c60add94ab3303249170201059bdaae71945ab2044f76b12b761d4b782911b572c0f78eee2d925ff790eda4ed257c0851809f1460aa9c4e63437fd - -COUNT=32 -L = 560 -KI = 033155de93e63ad99b92a5db709b7e6f -FixedInputDataByteLen = 60 -FixedInputData = b1f7c8113463057ff83a3fa773bad97d6c1b56c30ea4e9db4d472da8d348099bb73c1beea1687160d071610a433ee6b09d27506fccf4d199fc35eb89 -KO = 3ef2702f0b36b954900fa6b5f7a7976702915f542b98c044737fe77935c50186ca88e05edaded10877848f3cf452c92732574303a4d616cd55081401d70d2622c91266fa6f6f - -COUNT=33 -L = 560 -KI = b986930452d91558f9618cceb532c7f1 -FixedInputDataByteLen = 60 -FixedInputData = 2d3c857447435448e5d8e7c3fd4337ce926a5a55a8d1c59d99ecef957f378c5ef1207493c4542c9cbbe317768be79f90ea7ad40a59fc7376201f3524 -KO = 16147e040badafd3f901aad54cb4bff9944c60d9c17fcd91814095079c83b7271832826bc1cec45919b138cd085048596105c893302466c0ff4b9443e0211478ef85148c0158 - -COUNT=34 -L = 560 -KI = a460dbf534e28f2bb93735c0eb0ca10b -FixedInputDataByteLen = 60 -FixedInputData = 2921cd31c233657d23bdc8b18aa317691757f7e274ccf2b7f2edb6ca06e888a7810c00661cb66f175e0f4ce773f6eac2959d2c4c82b246a826d5daa3 -KO = 884902a2c576179aacd70724de0c152398cbb94637661b25a1487f71a6473d547c6bcc7da6f2e95975da376b9ea1dde171efde28a80b6537d27d7ad05cf807a8e6ed95994860 - -COUNT=35 -L = 560 -KI = 2ed40d1099240815aca52b3a1fee8de2 -FixedInputDataByteLen = 60 -FixedInputData = e55eda1cbdd679da40cb04def8ff269910ec205f8cebcb116a2d57f346ee19f6ddb8ded8fda5232fa2d48f9923c15ebc2cedbb48de41f21c2f5d0137 -KO = 3723299db81bad5bb56ffeafce0718811ecad2002efb26b92c92fe6079175a9e9033199891472d8430b3e3872ff78df378d59149bbf7f5366deb86f38ea455235916213088f7 - -COUNT=36 -L = 560 -KI = e816bf16cb16d92e6e623b71e1e381d6 -FixedInputDataByteLen = 60 -FixedInputData = 62198c7b291e785951221155f1410350e7bbf1d59a29bc6d432b61db73f8dddbeee442d80e0a48aaaf76587e52476fef221dcdeb06c56ba1400ed1ed -KO = 5ae72decf9c9ad4781c32a638d265a4e01331e6b159a33d05d285e8ad7d8fb9bf112f4711145f34c51e4d6c22427370f8d0d65cc2540defe7ae3f224ce314d1a8c130a49e22e - -COUNT=37 -L = 560 -KI = cdf0c5255dc06d2f0979fa625edf9dab -FixedInputDataByteLen = 60 -FixedInputData = bd9498e71e4b0c62d20e4e9fbfd27ba103d4a0d5bdf511e8a1ea099444b0a00055d48c5c8b72d5b8f89c473b5a74b26e30a78ef365fe8c263abdd2fb -KO = d2b822e28503547a18dfea633780a2edb28eab552a3aec664f667c24806fe496d26d998ddf788df4a52438c66aa7d0dc220b502e216b7be81e645c69c9787daa2fcaa09285e6 - -COUNT=38 -L = 560 -KI = 46122c6f2c573c3a8ebbb2aeff0d7d86 -FixedInputDataByteLen = 60 -FixedInputData = 8d5c897f5aa588742251eb52b52a4b10a069fbed186db48d262b03af00c5076f7aa06d042f14a4c4d7e5cacef8fea51099ba4cdf321cabc5514492c9 -KO = 36ff876d9675381b3ca88d628c23c7d7dd5a971c6250f696ccd49f86ccb50fdfa82fc64f9f3f4bb3993200a8402b13f257eaaea488e701f7d8a7370428eeb8ef26314decd4d2 - -COUNT=39 -L = 560 -KI = 172466e89f161ee13897782bb3b63ee1 -FixedInputDataByteLen = 60 -FixedInputData = bc465b45eb3fc90e31914460edcfd17789b6b64abaf020f6c26ff7e4499a71d6aa7bbcf2240a76bb1e770c10e082271cd78de99cd42a18075a526588 -KO = 3bbfad32c23f5413025640d9b758fe5720cc6bcf564c9fb378fb179c990064858ea224ce0ed97d233441c90dbdca440cd571963ab63b27594475f8706ce91e326b43d0174d2e - - - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 4842664f91bd07f96405ef1cf2cbf31d -FixedInputDataByteLen = 60 -FixedInputData = 9a91ac6338fb7e3290221951415dea40bafa39de4e6907eff557bca04cfd74b2486435287d6f7038e6b3bc4c6d157becc357024af49a49ce38c2682f -KO = 82eae7906f79c001d90b5e931e0464ea - -COUNT=1 -L = 128 -KI = 7ea5388fad2e0be399f2b6a6b6dfaa50 -FixedInputDataByteLen = 60 -FixedInputData = 3eebf7a3fa31ef13b46c79855b64db26d4fdb315d94a2b266b9520f545215e1178c798385b5ade5eff5c8bd78cc63779fde0de2ac3f9f3cd03d3a4c7 -KO = 2a20d5451113f6e27c68fc32b3f69bab - -COUNT=2 -L = 128 -KI = 1292fba2b96b474f63d15a302ea52197 -FixedInputDataByteLen = 60 -FixedInputData = 480d576e2bcc850c3871daf8ece97fd03809b535dc7186f599ecb8839fe04d703498d3c52e8bfb068855cfb9d62c5caefea82e8814ef62d73fd0dea1 -KO = 04b51451d5227d2528640440b791e981 - -COUNT=3 -L = 128 -KI = 44df1bb2d6db0f22147a547efe3b7935 -FixedInputDataByteLen = 60 -FixedInputData = c763957ddbf9514171ed08f24790e8752e64faba7ba753ba2fa5a2a6f364e84d0ab3199fa5b58706c7198ca3b51e498cfc07a23696a3d5f74ad3b72f -KO = eba24b0d49594cd2318e4f97cd3614a3 - -COUNT=4 -L = 128 -KI = fb63f19990e60030c64ee0f5c698e28a -FixedInputDataByteLen = 60 -FixedInputData = 2a034a27018a35ab43822725287de168dc81b7270a9a46fdb6369e8eca25827e91acc18baf7d0ae40c700407f66699c3f5ab6ce19b1a6e105a996473 -KO = ee7966bed69ca6469165a58cebdeb0c1 - -COUNT=5 -L = 128 -KI = 823e12bbab8e6d9a94ec17fdb1f44d3c -FixedInputDataByteLen = 60 -FixedInputData = 24a3b27317e05bf1787dfac573b015d1a5fcac7d8a8cd1d7b5369528bd6a7690b7fd942b386faf5fc89ef31cb738dcffabb52aa73219bc2655de19e1 -KO = 4ce8ef9b2057419fe1857a0ab99575d2 - -COUNT=6 -L = 128 -KI = b6a5fbed807c88b37f446da05c41a221 -FixedInputDataByteLen = 60 -FixedInputData = 650b80ff0e8d8b981d953e5ef52d36ad80c2a962705fbf014d681a31c9693839d22c05c65daf0608dec7fd0842ace18f7f9cdb889c9c8ac306f942ae -KO = 92d1f539086517ac49f7e83e6aec3991 - -COUNT=7 -L = 128 -KI = 7ca037dc992bbefb43c1a2007cfff92e -FixedInputDataByteLen = 60 -FixedInputData = 42e727bbdedef4beb6123110e4360974ba31aafe07fe613e9c75b9196d6d9fe2329d3dfb28071158d3f53de3d595a1142048e980da93c428e1de1e98 -KO = c90e3ae96c868ea1ef7e54abd7f648e5 - -COUNT=8 -L = 128 -KI = 84c64f4bec83d8b139fe312109c50b5d -FixedInputDataByteLen = 60 -FixedInputData = 0be4885dd0e32928aa31b6dc58f8350496b248171144878a5add0187c74214a267417ca74b392b46723f98d9cba9e16e7a769217889406453bab2b05 -KO = 2b322a3bb715fdad78ff1c8ab7a047e2 - -COUNT=9 -L = 128 -KI = 2a2f83f0bf3c51b03667df10d7738d52 -FixedInputDataByteLen = 60 -FixedInputData = 53c129dcacc0323a3f553695a4c9e5a36edb4c2fcd61a783a8c6ae48337f31f7e7ef2e4d6fac9fb921783246d5c31fe673a01113b28578a9332fcb07 -KO = 9b46b71f76dae83c567541388fcb6403 - -COUNT=10 -L = 512 -KI = 56b6f88e1e84279b41dfcde31da4d06b -FixedInputDataByteLen = 60 -FixedInputData = 1e89b3ae8541a49bb5dee2f790398cde824a5f15f166b3e1c7e36306a1f52b7116f94ab83ca23470e43f4706a37a23ac1cbb9cf0eac5960973bd5ff7 -KO = 6375daf5e86552cb89bf14823753655850b65f489706f167181c0fe03cd23cad7746a34a69e94bd77ca5fd1c8792ceb86a693036071d922c32a5cfe80d73451b - -COUNT=11 -L = 512 -KI = 7dd982b70abd61404c9b273c71fce002 -FixedInputDataByteLen = 60 -FixedInputData = 55eedf7b14da2c26af78c8105329e40d923db7925f6acb108806601612623149bf1cdda45b17ca90dc00c891def76c5e0c6c3dd4de7d037d5801fee8 -KO = 7eed8531a4da727d263b10c14ba786af750ad0ffa2d5f7ad32613b7cea9156c821432054206aeebaa90e8218af180dd88dd429dcfe4171bcef16c284a5389571 - -COUNT=12 -L = 512 -KI = 86bee41533a24f7648b2c519a994c036 -FixedInputDataByteLen = 60 -FixedInputData = badacf58046d318a90a177f5bf5c37c8efe17f1bfcf9ab053bc7d6c53e405afee9dd7af2d74b62403f6d51950efdf1524745b01f2124387ad6da744e -KO = efe3c63c451b98f7d6d607dc595237f6bdf83ff2e3233f97d14c0a04316ee95735fa767cab6813a4563ff52e446b4303fa0538e054df4bd396286f001f0ad0c6 - -COUNT=13 -L = 512 -KI = fbb972865cd25997086cadd924e9b182 -FixedInputDataByteLen = 60 -FixedInputData = e29896da1842c8b0cdfc51630beb7c71a391eec9691ba900383d9bda3cb4d66830cb1b4effb80426f8d479585ccbd45926f3b8b674289c7f53349f19 -KO = 565cf6299dd27017b2749eaba06b683a3feb919c737c496c72716a4c356c4a94ff8e30e1c8627cd5cd7ba323485f90aad42256cafff3dc345912fc00953ec222 - -COUNT=14 -L = 512 -KI = 9d6498699cc6d914c37204b5d2a8ebf6 -FixedInputDataByteLen = 60 -FixedInputData = fdfaacc91217adc219dda5a63a1085cb9274850801eace8099fee126813fdad47c5ec40ead2b327eb49109cb192d7cbd374481e0b2b63d591b3adbf8 -KO = e007d28183a222d34d4a9ac39519c5fd591fa31a7e62b83acec56a18bbc5551437b295f2750f95616ac408612d8868f1647c81d3c4345d8150dc18f740590f06 - -COUNT=15 -L = 512 -KI = 1c3b89aee0025d7bad77be5c1f47c9b0 -FixedInputDataByteLen = 60 -FixedInputData = b642b74c463c063a446931121cf60b46b5e868364d2b35a7318e3d5f03adc654e0aec48b54a4dec884728ca81c7c3d5e89b6882b2c51da5d1d3dd92b -KO = dc3ea74482198e5a63e06576a2fda2f5891fab84cc699d3c78b9f3085fc72c280502f23cd21027ddd0ab05cf5f3e7bb2dbf8620e564d3e585887932f7a1709a3 - -COUNT=16 -L = 512 -KI = ffec215605adb51d2f2f57d2fe3008bd -FixedInputDataByteLen = 60 -FixedInputData = e756b65e6ec85395da95416d090128cc59de6bb6ed40372d9c408c7a50b80eaa966141d757ab92996f2a3484a0f0846cfd7775de63302159658a7b23 -KO = 18dc2ea2b8f1377b3ac5fcb44a713946436ff069679d1477d40279e3210aefa3daaa620c159ffa8a044181e0b76d2b5dd77ca858ad1f0f02b3f228ea600c724f - -COUNT=17 -L = 512 -KI = 6cb73e82ed4aa57a0da62ac39dba738f -FixedInputDataByteLen = 60 -FixedInputData = 9f16a5e8931819fa430328b20eff498f86a93cb002b92834663e85b0e89f39e7306046fbcb86b3f1a073b80e8d26b2f157a955581e48f9d839e20eb3 -KO = 6bafdc95b3c63bfdca5f325bbf96fca0954f0738ce26d0c6a0b755cb2fe8585b602ff2a4a78020bd0c2e1dede979de908dca48de38237fe10f53951112564e02 - -COUNT=18 -L = 512 -KI = 3350113dcbaaa9433c50bd7c140408f5 -FixedInputDataByteLen = 60 -FixedInputData = 8c4765f4bd71aa6c232209314006304aa7f2ae0320d82d04b247b40e47664bff17c82027f1e57764299acd8ed68c01a41745c9a3208399fc680c09fa -KO = 215fbeb79899408b38bef2e50617db160f72cac5bf728ff7a8da043ef5cce4e020db0957258c44b2c12429b9e8c0be74b4d5da862d7e3db5777fd927c0086e58 - -COUNT=19 -L = 512 -KI = 684554f3a5d25ec3dbb83e168e12fee7 -FixedInputDataByteLen = 60 -FixedInputData = 4ed8c4ff13fb728a7924917c4883c7e24aa4e226fe51b16ab59bc079fdd31462a44e659b9135b7ddc68f30d98080cdecf44ac6f0029ee4e2351f57c8 -KO = c757baa64c0e23f28a3277e89f57877d4649e2f1675e12a329f23ebf2714df51e7f6c07f78f41d366c1f91e4530959ca89a59d4653eab1e64fa087e871b1bde7 - -COUNT=20 -L = 160 -KI = 2400a1b9f90310998469c0d238981955 -FixedInputDataByteLen = 60 -FixedInputData = a1ddeaf299c984c4cf2eba9643b553bbe68ba631e724a19c99294908b9f71d07afe7d39e689c77a17a9f51d6a4790c3670e6720e1d45e63fbe6923ff -KO = cbe4787d6ee19dd90d163d9f3615240bdcc67aa6 - -COUNT=21 -L = 160 -KI = 163cffb1b089bdba7e02984f01e89d2a -FixedInputDataByteLen = 60 -FixedInputData = cea3aa0a49a1bd87f3df44db783df160a615042bfa6602ad6b48ecb9c525f2c71438d46fe1a31e6554ba2c0dee4662204f6f84f2eebb06bb023ac390 -KO = 686cf5afccf865ceee42e67b8ac3d974059127c9 - -COUNT=22 -L = 160 -KI = 4ee820f470153b1766d203a9f99f9924 -FixedInputDataByteLen = 60 -FixedInputData = cfe408a95afdd6c941834ab10a9342eabfa3557ea667f0da963d0c4ed6892446e0231b72f1e176323ff381828e2d7645329e5bf4d741e644253a7589 -KO = 9125134d28fe628b412323b112fb299bd16928e8 - -COUNT=23 -L = 160 -KI = 98459a451ecb52bb8de99c117ff33c2a -FixedInputDataByteLen = 60 -FixedInputData = 71a3dd83f6069717f92ba55714c0fb4464102e8dbd77b777cc5daba62a785ab44bdaf75d36f8f9c4e162ad8725c0f12bf88a799ab2ef0e2ee468e23c -KO = 6fc18488d2a66d5d0ac3221a140a0141abf38236 - -COUNT=24 -L = 160 -KI = 2be4e961e8b52f52a648db227387dea7 -FixedInputDataByteLen = 60 -FixedInputData = d9d52392fcaa6cf37f82297539191f8c97bcd7cba33d74119851ac5fbb4743b2a4f6f34a3072a7a355efe310e19fc375a4d43578f4fe7f5cd06ebd5e -KO = 6b74da0e25b1d7d2f3a5e2b8041720bb99488e86 - -COUNT=25 -L = 160 -KI = e63d8efcbb48a3995b5f04b2acf53634 -FixedInputDataByteLen = 60 -FixedInputData = 5c2e6640f13f551662b5df6b667bfb880c4b925cb24f578ca89ba08940ec7f622b42f7d5a59ff5f41f53f62d2b45ce36e0e24aa56fcc748239ee43ec -KO = 091b13add7c3e4146fe8e5799ba2b5ad253f6f68 - -COUNT=26 -L = 160 -KI = faeeb27b11defa6df7216b560850a719 -FixedInputDataByteLen = 60 -FixedInputData = 58e3f090cfbcee1dcd26b22b7fc7d56cd9af3c3feb4069d0325456fd115505875b869860e2bd7b9d505ecf2d7cc1f2313c8123a994ff1c53e9a4e331 -KO = 953e98086b10b0b8f622686799b67fc871d5617f - -COUNT=27 -L = 160 -KI = 81f8f10440791d37370f33788f55687b -FixedInputDataByteLen = 60 -FixedInputData = 3b0971eb1c0fa55860325d2413ef586f1f6c6c020666339606e7198034d36bcec5356182664034985bc5ba21356c285fd856ade1781e2479e85ccfe6 -KO = 74f46978201a1975296ef23a52e6ba9d97d5671f - -COUNT=28 -L = 160 -KI = 1aae272c54ab96522b35fa3d8772ac40 -FixedInputDataByteLen = 60 -FixedInputData = a849867263f30d987e43317cf4990172b439b3048a483b7d57fa1d9f12f371da18ac3697a9b67b64cff2a9ec630935d0529bd25fa1e6ed809b7192a8 -KO = 9e0f3a2f7da127dce19d9f800a4dd00544b4cdd9 - -COUNT=29 -L = 160 -KI = c725a860d0e2c465428d6cbb565edcfa -FixedInputDataByteLen = 60 -FixedInputData = 28ab8ceb240d769591d873950f8aa4f9c6ae414d5f3179ba979f2cb4ba348ec792d1c873a85b618b5e5d020184fa624b1626791d5df54c99e557e5c5 -KO = 6844eead710f7ced411e54a77805d21d211c31cc - -COUNT=30 -L = 560 -KI = 5113ad695ec36f098f83942fdb3bd48e -FixedInputDataByteLen = 60 -FixedInputData = a9fa98dffbe3dd9b21d2f9a96325b119f358ec3abac760fe49993398f21785bf923ae17744715ea97f6d3ce3267479a63c17d66ce61370f3ff846d8e -KO = 4cc2a3cd9fbe2d605b69a1984bcd23a1b97e7bcdea9137d10f945c4d3ac10a63eae5c3f4c65ab1b1958eba535247e692ffe9e828651a65a426c161c08263b9f180d737fb4950 - -COUNT=31 -L = 560 -KI = ac34be7146fb6cb279e83c0086520989 -FixedInputDataByteLen = 60 -FixedInputData = eba4a935d1f9f155fabb7958facb3c9551aa11629ffe9e03942ea98d53f72ede305a20475a53f5e481254074e9fb15f5c24ffc2102ee7226c4177db1 -KO = 708a8b477d8e2c75dc25ff867972d1cd04583556d2bcc54b1c189a58b5b24d8d17a7a2c3c645a2e229f9b15e5af96d6d124f6d3469cecac901ee6541baf0fbe861390d1864dd - -COUNT=32 -L = 560 -KI = afcdc69fbb0d28ee3cd5deccdd829404 -FixedInputDataByteLen = 60 -FixedInputData = 7e27e423268b08fad4760c06fc95e9a6bd19cdfc80ac309e1083e4966a149b6a93cbd160d7778ff06df1b3e1f300321cced0bb38c5a205f126104188 -KO = 0427ef93ef3a5be9a1a5a56d9e1864543f27a6babe43552425e8a85ff875cd9c544e40dc9e7cb38247f27a296e2cb0ce659e89a71ce2c00cb2ae6dd238c57290a8dd34d7e654 - -COUNT=33 -L = 560 -KI = 2a31d8a5326c68aafba173a0d6432097 -FixedInputDataByteLen = 60 -FixedInputData = 6bf4edf75e415ff6f3b71a6912243f001237c31703010b164f624420810600c313600ce69c466ddfe0df17e399c01901e0a98b772562132902048a4e -KO = 99718edd377ce0ccd52ebe71647c2a5b92524f958101ff6cc88cf9674bded36b913b70039c7387100e852bb990bbea1b3eccd1bdb1ea947bbdc826d05d37b280ff84d9a3ac78 - -COUNT=34 -L = 560 -KI = cfcc9202b67695629d98209d32e2b5a1 -FixedInputDataByteLen = 60 -FixedInputData = 16d9cb40c40bffc9ee65bea83704d0e018031d0d286ef635e2a6af750511cbacfcf09ba6122d598f947f8dc03691a42ab9c71d5de1f743a201b304de -KO = 851df25257f00f04de3ea29e77bed4b66302b369ea1df69a7c032ac012658eedf01345ed18d9c7e92715354900b602c746a8ef8a845994fd518d563a3c3ce6ad6b70bf358559 - -COUNT=35 -L = 560 -KI = 17b844867d9e7460272094248bb6c111 -FixedInputDataByteLen = 60 -FixedInputData = 88b1aa35748f9df3a27e70dc3901facdd4c38316b85de40a4b2aca7aeec271c3fd1ee7fd977ee32970ee2af90490f700f1643e87bbcf8ac1e1d78dc4 -KO = 14370d06329ecd1698f43c4fa773387db9f7510a69518a7a0d6b26a9e29c0d349f0b2a9d753e57b3c0089887af5387ce2fcda998665da6b9da3d172ca16e3666b441740285e5 - -COUNT=36 -L = 560 -KI = b06db0aa1020cc10a128a0782d51c6eb -FixedInputDataByteLen = 60 -FixedInputData = 11c27c90ea80a2e62b7b43fbcf9a749332c4c60ea26417cdf86f8df4690758b3c1628bd381960574e898bde9e7ec0db990ed0c939aec5c59e1a4ae58 -KO = 04ecfd443d00c2430a682d8026815f2d5a41a42b82309130ed44f029edbe52a41eeb12d7fc7ef91cfe095d42e3478328b11fd8824b11245902bdc3fb5965f6233c55f0aa49e2 - -COUNT=37 -L = 560 -KI = db76d3398adf72e63161f58b9ff1c89a -FixedInputDataByteLen = 60 -FixedInputData = 97444396abb05542b0a81535b333f774bfca1515baddfe977ea7c7be2dbec81814cf23fa022c3c17d27ceb88a3c8f0e0851b6d174be88c4eef5caba2 -KO = 081f22b2aad4c1e93f30bc4f74b3a769d1de0c2050bd5286c66c89c715138b900df013bd1ace2bf3a6712172f10d77e047b5a70c27540a0ce6d5e0dc53c84ca04f6279939fbb - -COUNT=38 -L = 560 -KI = 7cebb2832d8fcb8357da4fe726d9a3ce -FixedInputDataByteLen = 60 -FixedInputData = c6d86994751549af4494793e9b7433b4b5f1363739aa2638a90b9ac57cfdd1b59359684627f20d64675de94dfb45254f333860337689c88965fd7cba -KO = 9e782ac86ec3581919b8fbcd2b0b804e8a952d0f480b48d77044428a2038bad3bf07a6c8fdeb89aa197529df0e9b556d0d2779afcd9066d5c988e81d9a6920b546307272e2ae - -COUNT=39 -L = 560 -KI = 24e587537fd79e7370a04aa431c25559 -FixedInputDataByteLen = 60 -FixedInputData = c89dbc2a15a1d57af64d7bb120f6ead10ddbae1acc52fc7bcbe3decbdde86f239b6cc933a2a9a53b2ae81e3a76c8060c0ec84a30d28227d46e3d1f26 -KO = c213ce495c1477d91f62febacc7fedbe41aa6f526e802e484a31fa4f7da5aa27c3f21b3011382328d32baaced66e2b1e6fe25b551749aa124082c2332cb301cb123e06e44418 - - - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 5b040c4ba6de47226923f1ffa08ce5fd -FixedInputDataByteLen = 60 -FixedInputData = 94732721a42da813aee2f6cbbb5586b77ba2207bbed5df942d5287288e70492cf9f3171586cdac0b454f8281019abf5d8ae09de1a26b0e6c0b484e2e -KO = 0613514aa68e0de63128060873be9aa3 - -COUNT=1 -L = 128 -KI = 3cc2da8de07c42defc2203be13952577 -FixedInputDataByteLen = 60 -FixedInputData = 8574a5f692281424f360c60b37538012f880675fb519b47b545931be8d90099a9807f55f4456e72e26203cdcd1e2164210b704d7dd868ce5cdf11821 -KO = aadc60871032bcbd542eb01357d75337 - -COUNT=2 -L = 128 -KI = 0323459b4080ad4a3594679af16bf05c -FixedInputDataByteLen = 60 -FixedInputData = 5ec02875357ef0d5b76f232199dab83f4c38791c7d60003718abd5c03e4fec2c430895d6bfc5f2cdc3ce84fff1711fc14ad0d919c80960b8d4f85327 -KO = d283350069cc4c1f40aa5d7ab112641e - -COUNT=3 -L = 128 -KI = 33f6decf22ed05fcaa5f19c13552e21e -FixedInputDataByteLen = 60 -FixedInputData = f226696945d769bdef5ed2f6f4a0a59707287489424f35fd1028a3440bf78a1ba56a4a55844751ce652b8f75896258a5de7bff92325353a610125263 -KO = 39f1f1640433aba5954e31fc15f932dd - -COUNT=4 -L = 128 -KI = c8d56894616c002eb4932bf0ec8a914a -FixedInputDataByteLen = 60 -FixedInputData = f8f2b13f29f9a111fef53d795917282f632785d96cea97c7cb45814b2374e89b883d83ec139b04146eda4555602a2f216579764f919f188bb3b5642b -KO = a8d94d21055ef59d4ca972a271d39712 - -COUNT=5 -L = 128 -KI = d5aa78ce6c430bedce706bb16764edb8 -FixedInputDataByteLen = 60 -FixedInputData = bdd04caf1e71e2f6fdf11ea53f4a86b69160c8d0601015599b2e15f98167702cfa95171ef19ad8d9fd863e1a60e4dedee1fcd8ee5b22981f1a8eb14d -KO = 5e152f898ee546facd2380c8f8895976 - -COUNT=6 -L = 128 -KI = 43746f33a88dc2ae16f127e02f96932f -FixedInputDataByteLen = 60 -FixedInputData = 9d5953e348306b353f268626686841152ee63784dba5fbd0c04844f8166c38615495f690229f6c20c8189eed753d78c1e7afa38cc036c5411d7e42e2 -KO = b1adb62e9f1e547d6a947263a7da6d01 - -COUNT=7 -L = 128 -KI = df2b27e777aecc88bb5bbe85e66fe723 -FixedInputDataByteLen = 60 -FixedInputData = c5c30369ec77532c23e524bd5ba2681fa8a191e9d7a1fff107beab2fadc8b4473830003b6e09c2d972be1b64e4eb3335d3aa1891f85c2928964665cc -KO = 1bb530be2820220bc5400444aeef72c6 - -COUNT=8 -L = 128 -KI = d22cf1530d931a58f7a94f915805dc9e -FixedInputDataByteLen = 60 -FixedInputData = a4b83e8069bfc28abac9f3d5b29da24c244cef3f1e6210e3add003cc3c29e9b12d51be79daf78c97b21065231f40a67bd6ad2dfea4d28b42d17e90a4 -KO = 9d3f100003d04594e445d8a6a603bdff - -COUNT=9 -L = 128 -KI = 0ecb0b8e8bba35bf15ec94c2e855f277 -FixedInputDataByteLen = 60 -FixedInputData = c8a0069c19a5a4f7d167d7ab0adf03cee9044edaa52a13466cf4420848ff25dcaacb59e5514d277fff0239977632ef8a607df5d4d267db2864db64a0 -KO = 9f28ce7e615a8e6c2a13c35bf85138cf - -COUNT=10 -L = 512 -KI = f1ab9cf2acabad201610b874bb08154e -FixedInputDataByteLen = 60 -FixedInputData = ee6e6121144aa6437f8f3d2fa080dbddc0c1522fba252dabdf9cfa74cb32ccc338db817cb10b2156917ca4c9088e484206c66c46f115a63d2476d7d5 -KO = b4137592e38f99ca7ec5570f114d63dd260de111868a11f70f383ba017509be76ce1b582d639f5541fd69e5ea6d82ef7375e5b8fe7d88e8c127e2ecbeb49d3f0 - -COUNT=11 -L = 512 -KI = 72e2f5f173b0091c542790b6b5bd9539 -FixedInputDataByteLen = 60 -FixedInputData = 8645eae7a90f64c8b99a71bc3878042dcf5a338d8b333b3fb8f8fdc2c9f371fe27aef09ad3a438e471983dc71df22536b71d58b571131479170f39c5 -KO = 53e69bf63f910f4286f3aa2e04fc9b592b0032c0c60baed85b573a94e7bde1b4a0505886bba599ae51ca6d902de51279ada505bb2e7b1a8b487f008512d4aab5 - -COUNT=12 -L = 512 -KI = bc317991e2ef8bdd304684292e202489 -FixedInputDataByteLen = 60 -FixedInputData = b79ca8e82c13b541d91621873770a4c62db82d9da7fa1dd6c64b14e883c8a5311cadcd6df0fcc9aeabb0b0d3e9fc202c802399238e27bdf29376b03b -KO = b2dd4f470aee30cd89696fda9368b7bbda8b03d986b21c9f16984535757b384788102403f121f166d22d4fc95ce28f1a113ab2fe77bb416873d2c1d9796e5a4d - -COUNT=13 -L = 512 -KI = ab1e91adeeee260caf2757f946f8e80f -FixedInputDataByteLen = 60 -FixedInputData = a9917afad11806e8a455ee9d16d298ca4da10290cecfdf54635c532e19bf18bcf1964693aa9e9a6a765f5d36ef0bf20e766a469edc45bb5e55efd32b -KO = fa305cdb1832faa70e3ba03d89cce853430c7fe6e83e01f921ab8a18d5b5dcf6fcef84a50ba28471c0cf38d493391bb055ab67464ecc6b4569f7e126c5b52e79 - -COUNT=14 -L = 512 -KI = 32d75a095924fdb6d1dbd5a0a8562951 -FixedInputDataByteLen = 60 -FixedInputData = 144b8f86ca30d160805dd8245b390beb8af756d19ba1469aa215839b5b3d0199ff44ff66959961d923ebaefc3acdf1b6bfa4528e0a66bc419afb51ff -KO = 37b061d5dd3e58ab1eb7c9ec0f46a2e4ebf0203e2adb1293f6892476d32d25a33555611558942b32eb7aa0f032cbb8d02096d6e3776bec82c7a0dd2a49104301 - -COUNT=15 -L = 512 -KI = 27abee50b89009c62b92d6fdbeecc05e -FixedInputDataByteLen = 60 -FixedInputData = 14603af3cbce2f846d76dde547e7579e502c5b990984ad81f9acbf7fe7ff4f35c7a6f6a30e5c4760f1700d6c2b94a54c3cb972725777d4e46a03bf4e -KO = 247112bde56cf40eda4889c89183c3a10891dce0007983814865fbee0b54c4af55e6397b6b65efb43babb62940af901a7bc40130372e555ed44b6a7897979055 - -COUNT=16 -L = 512 -KI = 6f9b28492aa78ea74fc003c0fccc3323 -FixedInputDataByteLen = 60 -FixedInputData = 105876d9dec378bd1206367fc13f80b060abcdec67cf17ffab36774173fd73cc0a2d00b2d4334fb3000c5130a5b18ef0a633bc876f8904a0ee63f2b6 -KO = 00456f1d59718bb51bb46dcd163d165374c43b808bf80f4e1d80ceb3c2899e77d34d6e5b7c970953741d8131e39c84d7042001d8d93335dbb6f55d61749cb104 - -COUNT=17 -L = 512 -KI = bddd983844a7dbffbb088b45c4328c64 -FixedInputDataByteLen = 60 -FixedInputData = 7e97df5f465a49871bc8682e6079b6d2d475bde4ea74c182fa42df0a28fbe15fe573b36d44f4f4f8cfb7bb527179b9213b468328da964fcb4166dd46 -KO = 85332a15d1c6fef48a6142e02f924965776e9993be661026eb5a35c8a4dcf3784d29e7a76574294f3394654e1567ebb9a8a00a7d7157dc8180d5d46b2cdd4102 - -COUNT=18 -L = 512 -KI = 0354954d184472253f93650c09760fe9 -FixedInputDataByteLen = 60 -FixedInputData = e45d27bf24fe796b544262cfddd563ce16cf5852e2d46badfd7c4bc21ad324b03f5bcca8c0faae3c4583a8fdad7853d27d762c1fa6e4a06888ae4960 -KO = dffbf10ed8eaa4159681ed64a4e574658222240ff2780bae5e4af866d9aa2ea337a7fa81f3d07ae0e465bc2583b6552f0eed3e931f7dab0b34853931ed081298 - -COUNT=19 -L = 512 -KI = d8c60d34d78227d57077db124928d8ef -FixedInputDataByteLen = 60 -FixedInputData = 6282590144f85678ec80d0680283d9ba99354498f5a22ef3fff5e63ce2b9b360662d8504701db9ad026d64a005a5e552c1901ae6f303c435fe125ccc -KO = 2e5d0fd5e75a1789fbe534711bc892c0f72a37ec91fc045b78b85301d0f74b2eedb445146ffd13ae6f66bddf57bfcc2acea170999ac1d3f1223aea385e0c77af - -COUNT=20 -L = 160 -KI = d46966e24523f921cfa4d71d628c99d0 -FixedInputDataByteLen = 60 -FixedInputData = a5b9ff3eac18230fc3cc9b3ea46fb9bf6360dbee4a6a4a1a77bba9c980690920f7ed0d3fa089469e976d9826c460879483ae62599014c18d54469c95 -KO = 47605910437b3f1a5e41f3806839c85c41fce6f2 - -COUNT=21 -L = 160 -KI = 79dda597307fd3bfc51f5fa7f09f6dbf -FixedInputDataByteLen = 60 -FixedInputData = 9b776091563cc04110693a798926f345752d06732c8d94a41f0368ccd75c2a60e0b8b0e100b303993bf6ce649c155444c5a858c1de73da7f4c4fce87 -KO = ab7d7bd3cf933ba344c7c06dfa5856b9555f98b1 - -COUNT=22 -L = 160 -KI = ec633b7f3c227e1f89b05e83761d68dc -FixedInputDataByteLen = 60 -FixedInputData = d107865b4776929106cc724d3df3c15a30d119a480fd70c1e760c143078db7babb01b87364ca35e8b6c70c7537bddad4a017c367bcfd8adefa511c18 -KO = 1520f2f3cf8af330ac589553625b939637876f88 - -COUNT=23 -L = 160 -KI = 51cffd31e551339a5fd08214d507d18e -FixedInputDataByteLen = 60 -FixedInputData = 0ab1f831d2ae39ba5e77d0468d15f568feef5dfa694a63b8ba8daa8efa12c89bce5790fc5f6d7d66d0fb7850283e33d3b9df04188cf541a7ed21ea01 -KO = 82396f4e16ed3dac7d302ed33ad53cdeb17f78bf - -COUNT=24 -L = 160 -KI = 807859c8a16a1aaf9711d206a8cbce4a -FixedInputDataByteLen = 60 -FixedInputData = 7e2cebceea01039cb08042dc126de7ce5b79231d9c78eb86bb62f5034e754bc50187402c737251d55466e6724c3762ee3af562d5e5e318cd8cb6b808 -KO = f17938947dc2f999110a16f5436f4cdd535208dd - -COUNT=25 -L = 160 -KI = 14b99c3298a26bf67d8e0ada8a64496d -FixedInputDataByteLen = 60 -FixedInputData = ed5d91e3dac92158c3177acbb10feb446d2831f478e28e66af019995dbde4b9340e49a9d8afff87a925bda27ed282b4b53611d29981cb5c38fad34fd -KO = 4383b485ae4b4ab6e4e5ec71a46576e874b3c613 - -COUNT=26 -L = 160 -KI = 202bc5db05fa1cff924f31cdc49c5327 -FixedInputDataByteLen = 60 -FixedInputData = 3ed15ed21791443cc80b8d6f7d21beea070a776d833eed6d5266e4f1980341c0e9c22b0df3a7ebf462da786b9dda77add6da296807da2716c3ec8f3f -KO = 2a0a114d12c1d68808faeb8178d7a274b9ec2edd - -COUNT=27 -L = 160 -KI = 950fe3c9593db2135bf665cdfba735a3 -FixedInputDataByteLen = 60 -FixedInputData = d0139da7de8e8a0c7cd3488b067e601746355ac4580f413f9c839deaf16173a5759546cecf22d36e458baeeb4917892b12a3d4679c5f5b4a5a3ac17e -KO = 9bf21c925a0483fd0683623c7daa6af272c2d71d - -COUNT=28 -L = 160 -KI = a1359f4b61ae011b7751b548a7f3d6d5 -FixedInputDataByteLen = 60 -FixedInputData = 44e2e5a6ba99227900f312d3761075885eb48694212e2fed8501a8ad5a4854267fab99f57365bac340faac16961ec9b460588751a9f03b69e2039db0 -KO = d8dbac9d60c5077fd12491d7e323abf7b7d845fe - -COUNT=29 -L = 160 -KI = 83e39eaac20aba432ea183de85936d0e -FixedInputDataByteLen = 60 -FixedInputData = d5580384e488e5fb0eeed6f96015f8cd44192d5baae2b203139501a82b5dea63c15a34dbf9f17b90f01d84220993449d902d8a4e18c3cbc75a58fb81 -KO = 8ba0320990061b8d3a193459dae018a493ab7086 - -COUNT=30 -L = 560 -KI = e0f47bf9fde0c2f899379cfddcfd4679 -FixedInputDataByteLen = 60 -FixedInputData = f877a70e85afedebf029f1ff75fd233e28abd1812853564f81fa18d900418c4ab0074bb70d934e30c6d293bc55c2a7da595606e30eee18d24c5e95bb -KO = a637deb6b025f222456c4027dba4845ccba676fe52f85dee714739daafbd15657747aadba176926a43b68da26ca3535bbcaeac99de5c813f2e0e55c660a7678ddae98c16d1c4 - -COUNT=31 -L = 560 -KI = 211871e95fb13cb44fa84d54d5abc997 -FixedInputDataByteLen = 60 -FixedInputData = 94bd38cba85a5e1248f9df0040b8befc916f8e9566d74057a35ce191223874879cd03408e03d45128495d27c3ea711632b10e752b42ad1e29e999445 -KO = ba87604a587c4ecc39d50ac34edd27f935272899e0fa730baca8695c9149bc21251323b031382bc0d2c87d84ac4038945cca5fda54807643a899f9715786e1c67761bebe5956 - -COUNT=32 -L = 560 -KI = b24d2ec10aa567bba72221a7bd100d40 -FixedInputDataByteLen = 60 -FixedInputData = 8c61b722e5844dc4a2a6b3b4249532d331e76be4fbf52d1bfd07d469a12bac37fc644d259c557eec980bf803daeef5d4a99afda0e078259006e7d6bd -KO = 310abcb95c8ffb1916c71ad98b911d3f42422fc46f24b41db4b6be47e8af54ad4c7fc810a0c1020ba262d78191b5239052953048d2d751ff415359d56cbed3d215784ac302a7 - -COUNT=33 -L = 560 -KI = 9ed83dc6350fc116a3c6c35446795b58 -FixedInputDataByteLen = 60 -FixedInputData = 28dc7d8a326e29c16f899cdc7ae5fcd8e48d1a66f7d86573617083f16de5a15c0f57917c1e48938eb2b41dee3cd43cc1c6b24d24b4f362d3cd7a01cb -KO = ceaedc390c33684db2831486b9db0a02b182afcd991a896d28392563f86489ed6b729be4bc74aae356d9880ae0fee519ca9faa226aaa94f4423dad1e4c9b22c22752a351a6a4 - -COUNT=34 -L = 560 -KI = 56c8e808bffd24a59df8292f89219236 -FixedInputDataByteLen = 60 -FixedInputData = 89acef8d79a5fb46641c2296c5e3c54aa683836439d3e158fc00318bc6ff046b81aa0a876515be17d3bc27f523d34e63d6a04a5e95014cb76c554ac2 -KO = bc9e60202e8d9eedec0254c71e31a5327d9f6ab169b2103f722bf124a8f067d3fafbdde5b02ce463f5e9fd0d2a21fc2f403a2aec72ea6d7f0c5d154724d56d5060b9d471ad05 - -COUNT=35 -L = 560 -KI = b4909358be8ffc799e8c02be799b0ff3 -FixedInputDataByteLen = 60 -FixedInputData = c6fb1fb8f08613118f8839870fb0de38599f764ff93e6c17f2a9983f82347c677be6183159e2eabb5c7477fe5ac55e8d96caa1e074595965c2bf35d6 -KO = 749617cc19d5ea37860bd374c622e3d7604ecd93f83ba059ac8e3432a6212941f445eb1491da4451c53d2cb2ec58d1acb8cfe1a48f6de0852b01e0b2b5a446845517c2aada58 - -COUNT=36 -L = 560 -KI = 10727d2e0289316ec45a0e8f7d7e0c1f -FixedInputDataByteLen = 60 -FixedInputData = d003bf14c6c29afee88354268eb9397329531ed8736e885d755f84d5d38ce4b87a13d6a4ea6e697327937e2b377f4c677ab00097468fcff260bbc442 -KO = 00cd104e7716e88b0eb9490e75fdf724c3925f3e8ae26243219a04c6db72c6430c23a84d477c366089274174979befb21b14fb3fdad6f9885cadab3519b281596afd30eb8dc5 - -COUNT=37 -L = 560 -KI = 4aed3290b4ec1e41663433c56fcaca79 -FixedInputDataByteLen = 60 -FixedInputData = c4831732f3abacb9708695c8bd1b035853161251c0249f230e408488a2de02fc64b538d3d1965e2658340a3f8f0bca557c3d144a759223106728aaa6 -KO = db56e456228188f77d872abfd995e23ede62bf3f1c4861a73f236dfeeb94a33892a70104952c20334b979d3fa82f8c920d53ec87fc64ee133dabe462d2b2c200fe35ba4897e6 - -COUNT=38 -L = 560 -KI = f7bde2d27322d9b9c025eef520cb06f2 -FixedInputDataByteLen = 60 -FixedInputData = 94046c51a46391b70be7f2b9e373f3c7cbb4acea11c33fa7fbe78e9bb182ef48fed17985426c4182820c014d3ca342552f5c705468e4a15ebb38ced9 -KO = 35e0d07d03ba891e8801e3aedb9626c161ff02ff718660601b75851bfaee1cc7eb91b2803974ea33cc53feeca9c724ba2d1d71512b643a98206e3b104e72c4d4ba402e9c09bf - -COUNT=39 -L = 560 -KI = d4bc5ff41d08b3021e16e9fefad776ca -FixedInputDataByteLen = 60 -FixedInputData = 9c64b266070d8c0fdb46e7ff84bccd7f1952e2761af0460c6e15a63961c381463e049d420758ecf8c080048cffbf2448f775e036651f9db7a700c681 -KO = 6dfe105a0a1fe92d0e6c5b4f631347a0695045788c2270a02ca20b516f1208f2f1f9b456e17f45b0e0057ce326cfbe4eb5279824c242004b60591082b84fe4c1f4e83835d362 - - - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 812abcdec70f51b3a4a768dd810c421e -FixedInputDataByteLen = 60 -FixedInputData = 0324d9fe5a5d91b9cb6153917afef0db1c01da3c5643decf6786bd7138b8bd3223bae08e8861db0d337175aff1ba5a604a47e36b0103521cc417c123 -KO = 56e1d29440282c9508e26559341ebaf8 - -COUNT=1 -L = 128 -KI = e72e29b95709f4a0f75bb8ecf13dc346 -FixedInputDataByteLen = 60 -FixedInputData = b1aebe1b6f3aa2930fd0b8a1e1a5805fdc5396404375e37ff12aa3b776713fe03d55400141f280694643f7f651dc0d4d6b25d0e6a01adf2df98cf165 -KO = 31816c864cdabcdeaaa4d01d2eec4d16 - -COUNT=2 -L = 128 -KI = fda57196ca273b9a51e3278a765ad348 -FixedInputDataByteLen = 60 -FixedInputData = e097bd2599c5abc5fb03a91f3d30ab0691c1bb40d317b861639061a86d271a220b8d90e85c4ee33b8777e685f0d5e2abda7ea07094b17d04d05b1410 -KO = d2fa3aa916aafd7443538a5d2f6e168a - -COUNT=3 -L = 128 -KI = 5ea05661f6309c9e219879b20d926a23 -FixedInputDataByteLen = 60 -FixedInputData = b41d210f26029177714dcb7722f4cb9840c280a281b92bddef823139ff66b954dc49b1aa32d81bf26583c9aa96b45a71501cec77d05e16c0a1c7feed -KO = 7e02f6fee39fe875888769415834ba6b - -COUNT=4 -L = 128 -KI = bc813178a1ec0f64e82777bf6bb817ef -FixedInputDataByteLen = 60 -FixedInputData = c7bb8ba3c130d47ac93d93511a3c702ecfc79d49cf72b20a18d1427762dff2494b8661855b942d0887b64ce849af5ad9fc4de05843e954414ba06ab2 -KO = 66064eefe5683a6f64766ec08bfb382b - -COUNT=5 -L = 128 -KI = 823a5346b06ab18c15afd85382cd17ce -FixedInputDataByteLen = 60 -FixedInputData = 177be911fa564d7604e06b8b89f45931ffff29fc5f9ba90195635d46044564f1750949bd1ebd473944df47b042583232e163e1a9459782efcb1a62c1 -KO = d7624f9b39d4669f057e0af04dc8a465 - -COUNT=6 -L = 128 -KI = 7c7829b842a86f4ff38f8c16e75269a3 -FixedInputDataByteLen = 60 -FixedInputData = ab92dafd9c54eb97fcfa9e618a9b2014c2dff9ff68034d62151c8d28c8b0558423771994d6a0403ef7e8a37effbf396f18a9fb96677400b141000a77 -KO = f86025951e63cf32dba2699c2617dc86 - -COUNT=7 -L = 128 -KI = a017326301a43926ef27df114c984172 -FixedInputDataByteLen = 60 -FixedInputData = bb1d7307b39f044c3fd4800bd8e028a80f2021629dd46426255b8fb36662942e6bb074843058d6b2ab69c901decd6106621d30f3f4e62451aa33c48e -KO = aa8239b2894090ee9d6ebcd8552c11aa - -COUNT=8 -L = 128 -KI = 13e3a24798b56ec8f2265a2e454f9480 -FixedInputDataByteLen = 60 -FixedInputData = e0585c23afdb342e219794cbdc41499251bca6ea910be093b7221c2c24023ca45a29e4e88313512ee8c2b6186ced862ce950d5b70407f55d93bd9783 -KO = 1dc730b03ae56145b9876dcebe2f36b9 - -COUNT=9 -L = 128 -KI = f9cabedfc837252099c84726a6de902d -FixedInputDataByteLen = 60 -FixedInputData = 29eb7a3dd2efc02836fd3d8e14d1424a7ecf8fae09a937532b96bd3a06c803a83bf7e118ed2951cc83782477248e92259f04ad4c9c8d7cc49c74276b -KO = 55908d61cd89730c4be220929ffc2095 - -COUNT=10 -L = 512 -KI = 646c9031b93b8f185875aeca93715297 -FixedInputDataByteLen = 60 -FixedInputData = fa59c1caa20629747c51c85f7d500f7d0bd63d58ac84096579b236c80007642c16e3ee9e42493320ab5c5bf2d34ab1d8a2605574b4c96fdde918a206 -KO = 1aaeb592263aee88e30da31cc736619e58dc2720548a7feb8c6ff593570f2dff652ba9355aff1cea4e1ea99e06efbeb20c439e2fe4a8043f6cf3b375b359cea8 - -COUNT=11 -L = 512 -KI = 3c0382fcffa7adb273fccba9a3b1ed5b -FixedInputDataByteLen = 60 -FixedInputData = 2bc20ee0533ecf5da6cdd9458d13c90397f14274d91669251f34d44abe13aaa55ee4ad895c119772da883a2660215a65bc35ee6eebbf5203324e112a -KO = 19038a6c5151cee73e70276dc2135e7817864e356da8a497c5ac588d6b07215b4f28db9866d27cacf650c9dfbfbc43460d982188d4c3704f6858c33197a89fdc - -COUNT=12 -L = 512 -KI = e2a3ebe3923258dd2d1ae3f3e33d94d2 -FixedInputDataByteLen = 60 -FixedInputData = 07e6e8add489d3c8b12c8c629d11fbee390617e75c85597df408f67b46f578cb6dab4af96862f5c5f02c6c4b6318beafb9cd3f9d3316fe67aba63567 -KO = 0f78b0511de07efa9fd749c6f11cc4cef67c60218bc8dc747242e48569870354d49c71fc9c64743e0d94ec93d262607c5eb9045b52bbad460d8f034bd21d9a07 - -COUNT=13 -L = 512 -KI = 747648c216680f58e99f5788456b84c6 -FixedInputDataByteLen = 60 -FixedInputData = 65c13993bce82d2b22164059abf2d170387f74f5101a1485dcb7f312bd429bf88d616b8f9e8fd0f00db9718050a75691bd44b07bfca6ce4d620e45f5 -KO = 6c8d291d496908c37ef1b18c16945db8b4260d0018a9568f2facad131a0086f53fbd01d5964a6979fcd09ed19f12dd6119450e314c9ce5b5749664ab0a7572f6 - -COUNT=14 -L = 512 -KI = 33d62042b59f23d42664ba730334a950 -FixedInputDataByteLen = 60 -FixedInputData = 1eafc62edf5c72cfd653977f8b47b533893c9c50a2520f833085d4d6e8a1e553d2622da8a1f2f9301fc7146a2c1f377737f9a622c8a703e197159954 -KO = c20cc30843c05006f631596a923ffff5961887bf6193f5c79855e07bc0962232a7093cf6e8d814dda9bb52772464fdf9001b44afff8b00598380ef23ed9129d4 - -COUNT=15 -L = 512 -KI = 6281351140f4beb5abfb7833b01af167 -FixedInputDataByteLen = 60 -FixedInputData = 17805f1e8a320bc9d329404fb55697b0dc05f502f2505b86970803bb384b71a4969eab36816d92c2014574e42e0322c427e0f1e80065127f90b417f7 -KO = 831be69f69dc2bf9b27d91f560ea1984a25244435a29e37454a14ab3a6c5a9013fbec9842e31f56e1e4b6831e3362ffb71f3f231f979cfbe5a44f0193d1346a4 - -COUNT=16 -L = 512 -KI = f6473051b0edfe2a0203a4803a89f443 -FixedInputDataByteLen = 60 -FixedInputData = fc976de13a3b74381331bc207206868328777817310abc41c863931ba96055b69f597ce3a28614f9e6a388a3c704abad1d2d58a2ae69e1ec5482ccfd -KO = fc53b1234dadcff0a4781c86543dbf2ec80faa044bebce62d1ebfa93c067522a21a0fcb7407307e3540f7fe1c277e193823b22ff789f10e49ffdcd835552dd2f - -COUNT=17 -L = 512 -KI = bbddf933431efdfc9fd4b36e48162a3b -FixedInputDataByteLen = 60 -FixedInputData = 6c63fdd70d66ff1da93aa7ee602dd34015dbf0b42932902547a2c69244bd139747ab80ffd4d1c9f866e2f7802377388ef792cbdd17e7e64f372a50f1 -KO = 15909b35ddbaebeba2f9a7e9a8ff4254bbbc0f3cc2a221686e8e55bacb86dfb9a549d33a595b0c019b3000186e09f43435d4b78b156d80ae8e0faade5667e4c3 - -COUNT=18 -L = 512 -KI = 02d8b1c89477f0f3dd14d7c416fbb51b -FixedInputDataByteLen = 60 -FixedInputData = 615d7da980bb160abeb4af07e6b8d5b51d101d88a17ca602bf69a0630c431b8035e4acdb25f88872c16fba75a8bffc4de56a3a3a5e41334160824f8a -KO = 243701be2a1eb0da302bc8565af717f205978920bfd14fe4fbf55e1cb0045adc686dbb9f808ff3c80840029de4ee35e8bb3775514babda8625c26b3cd091a42d - -COUNT=19 -L = 512 -KI = 678f1b72c0b481039aee66881dded4dd -FixedInputDataByteLen = 60 -FixedInputData = 4b8c173ec4a3ee462501f4872a87567dcf014ce3360df7be2cd2e791c1076b21822896f9eb4882e63c8031435a0c9b701629db5cfd29e68a6990e2a3 -KO = 66867ac18efb432ee20c6f2381929499d3834285bfbcaa7d7a9133655b924408b7579e35c0fd271eab7e2126e0268ebda823282abdcc1f0ded8d7a02341be68c - -COUNT=20 -L = 160 -KI = 6eee67ec4165f38ffe3bcfbb0fafe791 -FixedInputDataByteLen = 60 -FixedInputData = d57698757f26ee4e9c9ebd44dd763e52a20eec879848a0b10e730a2642b99c23efa641e2fe35078b0fc531ff49c5da984b52560689c5e629c4cc4960 -KO = f71f4cab5edefd67e45d11e29988aa5210947b33 - -COUNT=21 -L = 160 -KI = c29e96ed446e5b02bb9b18151916b905 -FixedInputDataByteLen = 60 -FixedInputData = cb3197895e75523c72785078e155c3d03153381fbe2ad3cc1720a1445c2f134906a3d98207d4d12f8a9f775eb91c56b8d2b6c613bec617aa02f59fa7 -KO = 24bc3bfa0ea1eefbd2d138424a49b7cf17caa156 - -COUNT=22 -L = 160 -KI = 6c19e949551a6ca38969f4b51d544859 -FixedInputDataByteLen = 60 -FixedInputData = 32c0f308309be6f23c1b54f69e6402224142fd6fc0fdff3b6add0430be479f84a226db207b4c54aa1b2cc67176689cfed0dc9d761f77546a2f2b82e5 -KO = 2c74df154443f417045d7fbf64f8083c29caf25c - -COUNT=23 -L = 160 -KI = 7de9d29e730bf48c2eca720a2c5fd893 -FixedInputDataByteLen = 60 -FixedInputData = 1719a20969dfb4b1f1d6176804256387d889aaf078fed2d9dca74fd37b050a6cff17524c4b6a6e61c1fd9c63546c5c69603a9e63d22a420585d74317 -KO = f1e8c21ac83a437e00799f6f42b2077efe457fd8 - -COUNT=24 -L = 160 -KI = 27f235a9f039499540531442b6a817c1 -FixedInputDataByteLen = 60 -FixedInputData = 1c1fe01df8d2126ca4479d109e48ac47f26ec4a1904451bf295266cc9515dc5d762d910d5055e62d468ffacc3102cd65656db01b52eb47e0f5a7bcaa -KO = c87c88544d2dfd1b3d86cc227bfa3c1219f27829 - -COUNT=25 -L = 160 -KI = 43a8d08e1539c6a0ba9fd8b1f9885bcc -FixedInputDataByteLen = 60 -FixedInputData = 4ef954c9cae40808930aa6bf59f0345dea691149b869a2b1cc64f4943a75759cc772324021a42d5abb97b272fc6363d21371d876bc7c6d512ce130ac -KO = 5b9d943591f87e5331d15e5bdc6dcf1e5e0424bd - -COUNT=26 -L = 160 -KI = e992ae572440bea9bfe1f486715f1d16 -FixedInputDataByteLen = 60 -FixedInputData = ffdb17a8ff625f37d754c40a18322806b8f302c11a1dd7acb6c984d1de8def7eb4a36a4ebc80bd29f348c8f42afc044d4ab1637cf9f29c9db500b5e5 -KO = 57a8c436f5e18b305795813d0c24b4e61d06b3ca - -COUNT=27 -L = 160 -KI = a2ce5f4868266c852a697b13fb94b15f -FixedInputDataByteLen = 60 -FixedInputData = 5182fbf5fa62282d39de6b531c255accfa8a37e8bfaf90716e63f009d33b1cf81b0040ef3fdefce9029336be241f9b5d33d3bf882cb95e5055b69e8b -KO = 7d1340405dfc1d219dc1cade237c70ed4c7d4aad - -COUNT=28 -L = 160 -KI = 140b34de2f0cc5051bd588acf3928bfb -FixedInputDataByteLen = 60 -FixedInputData = 69b1129a01e118b3dc7e8ab3b6bca6ce87384d0ec213ad73e3a271c780bed1aa38e07db51180ad9585119d708cb3d819ac627e3230eaa3604945eb02 -KO = 05b4452fbd6319b0e226b47416db7f017b72e9a6 - -COUNT=29 -L = 160 -KI = e3fd3417efe31a1cf1fb8c23b9bf82ab -FixedInputDataByteLen = 60 -FixedInputData = 9b416f314dc0d122204e02ee70971067a237c8c1ca9e65d81bac5dbb9ef10744b594aea64797637073e1fad3d3346d3f0b3721d25631fc4a33183ef4 -KO = e4b88d2aa83c392bf490d0922faf03cc7ec11128 - -COUNT=30 -L = 560 -KI = 12ac3d5869a4bf2a0924d9a506712a7a -FixedInputDataByteLen = 60 -FixedInputData = d1e10a1afb3ec8d882138219c25efb1952f4cbdb1c3adaee02ad43afd6daa879a1b6899e864348e53c99cc9329e251e2e20740a21b3cadabe6929e27 -KO = 631721af92945f1257548211efcd323470c6512c85e9304a032ee4ab32c2e53c0cc77c886447fdf09acd842015ad0c889558aa5d80777391dc8259dfdccb8f8612fc91256e1b - -COUNT=31 -L = 560 -KI = 70da411ee4ef745ab4bbf32dd6e70fa9 -FixedInputDataByteLen = 60 -FixedInputData = abd9ccd7870744fbee130f9dfeda83a7c94b1412362c02f8e50aed15df9ee49c1623bdc6f6d7157f85afb5771c8d57e7920ec56c6015f2ba3af5e7f1 -KO = 55c8b289926f2e3fb2ea269faa333722b88c48a2d5565e69f815a6c88235fc4546732cfa783e73d30bfbe58b08f71c00fe337dc041ced52eb0ea7580fae3f90fbc8c2f506536 - -COUNT=32 -L = 560 -KI = dfbe5ae6de4d52bae531f31c09746d7d -FixedInputDataByteLen = 60 -FixedInputData = fc71384880ab845c7d378a71cb15239d45393ba66b559e50bf4eb029ec57e7de5890538dd1d71e3e0bd3fddcfb8cdeaefaaf53362ccd62b661ddf686 -KO = 56a65a249b33424d550e9b97f3b393293365c07687c7301937ebaee69651f219d759ee31be4747777895998201714a66c3dc104b95ca782d8daa0b507f73ce7ffc77357e6a98 - -COUNT=33 -L = 560 -KI = 18f55c450ab99a6d8602ab77f21012b9 -FixedInputDataByteLen = 60 -FixedInputData = ae51e4a58788df617e6a0a8385e7adc5c91620cb225aff01af308ec9a0a20c931dffc761f269d9e72a731450db18b15f11da76705dc60b79e3971137 -KO = 862369667758f990007418a09207100f14f9b7126456823379caab2928e74e7b01f7287c8d3844b79576247f4b261793e225bc1dd1656c0e768ca525a3201b85ee4cab21dc95 - -COUNT=34 -L = 560 -KI = 4304ffc3b23102a18bb61ae68a722d45 -FixedInputDataByteLen = 60 -FixedInputData = c00ea2af4e19251c8ebc557d47daa4d1d4eee16cb466a68d03be09d7956720050fd560d32ea047737aa3bf7c6985d86ff1ef5451d709c813d25e30c1 -KO = 63e95c934f7dc76cf8abeaf005ab0cc8a54d7e665c685dc71b1a0cb3430e106aba80a7c164dae10707975d232e076d228a407560351aba6e63b1f2b4ce0086869d2c110ed89d - -COUNT=35 -L = 560 -KI = d95fdcfe3b36ce65046877e9acf3f318 -FixedInputDataByteLen = 60 -FixedInputData = b804f63befdff27f03f4d91f0bca70f6501f6d19ade31e17968fa5aa12465ae779d44b2e32cc398ce471c751a2e963faa4f43d7f40f0a65eee6fa353 -KO = 9c8c01d393ddef64f5a51a79348f062fbff4a1afb5aa08e9dc34c00ff5800ab3f7a6613253d04d59afd3d8d631cfb5e75be5aa048435cdf151742ed7a7bb3891c914464c5fab - -COUNT=36 -L = 560 -KI = 2d565affb4c201660fd135a9b51cd748 -FixedInputDataByteLen = 60 -FixedInputData = 411a0ff78d2e704485e713debb91adc20f8de20f787ac08e2d659203d5a83edab8f8f2d5d4f78b8a73b9032c35e19b5c5c27a63e4a1c52cc88638556 -KO = eebf0c33b47d0d556fdafe32bccacc457e8b8d5e50381a5f926886c5e08934228c7b4747a9647bd192a7d0cbd514884dd764de4cc8a30d6c784fb5f8ff12e4b2a52e48c15b6d - -COUNT=37 -L = 560 -KI = 50707e5a51d26dc9542df2e6d5741594 -FixedInputDataByteLen = 60 -FixedInputData = b95d0cd02eabe4ffdebb33b0254505cb9ac1353a92a717b3167753075c31f0bf8cbf17e1030d54795de24fc165c103d07d75e5828bfcec41d096f4cb -KO = 287127e4083ae838b23ae3d759b5cf8ec6c9d9d258f50491c769755f004872026f8b908940bc5cb531676f8d16bab898edd0055fbe6a2b45412799d04f0bdf7bc1548b85b927 - -COUNT=38 -L = 560 -KI = 0a672c2392d7bc172c0dd5ccd4840a40 -FixedInputDataByteLen = 60 -FixedInputData = a2ed2cce560e3134eb89d4a067ebd8489f58f0756bb41fbbbb91478bef609887ad8976787e8da4fcf94eca485978959dcce2d401f60aa6373cdb34d6 -KO = 5fa5047d999c4146021c83c5f10e585c9be224475b4963535a2eb845a5c7761c539727aff72365f00eb7cfe202e59ea79a824804d71c7097c88a27444081f582c97896c22d74 - -COUNT=39 -L = 560 -KI = 046cdf27c5cd6b977f86f15d0f828acd -FixedInputDataByteLen = 60 -FixedInputData = 301d13b38ca4a15523bfd7a1b04c9ec97c33a6192c1d5d193a048e5d9cc8191a96894d5e8d415b754905469c62befb1ffd3811e3b019b358c1cfa88f -KO = 5f0aaa1b6a2077939dd8cfed1124a474d8e734c589dbdf4604bd250d04d08a8d5b045157fdad8039a88a160964f2429dc441e7e28f62cfd0274a2b53f599725e370533a28fad - - - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 7771139771fc611c16f43d18759e4921 -FixedInputDataByteLen = 60 -FixedInputData = 9769d6f02bba4ee58f4109457e4b3c855dbe1a884dfa0a37a8e476daecb4263b6e5c5b6e4ebe544af2910966872418f6470b894629067b9b4a965735 -KO = 3149f48a9aa5cfb6030da6b12f76dd1a - -COUNT=1 -L = 128 -KI = 6e78b0bab1ba84539ed787a8715104cd -FixedInputDataByteLen = 60 -FixedInputData = 0e371ca7e331267623d52274a3c00a25532a0d96c2e9ccdd5f1c228ce19e0228718bb2c8e78d4fdeee5f98bca5eebdf32911d7ede75aa6b0e2aa2f7a -KO = d7f76a659660445508dc84d4500ef0f0 - -COUNT=2 -L = 128 -KI = 2d3192d32e7b8f885eb79da8c3f1b222 -FixedInputDataByteLen = 60 -FixedInputData = 4627e8f5f27dfb5e944a95c93e2c3f3219dea9b153df4abb145668a58ac1720d335c765b6432b43d15806a910fdeabe270aed64af97995df00281c15 -KO = 6908d2cbe7fbf2060f5f4500f4868759 - -COUNT=3 -L = 128 -KI = d1dcdf2bc4062749ffa61bb0f4847d74 -FixedInputDataByteLen = 60 -FixedInputData = 477faf44cb60e495bf53e7008705d133bb122cc0348717a7aa88167c4d564f447cd6e961de0caabe4dd849fcfae8d2bc5c3ff31d868516c0e46b8e48 -KO = 42f66288611a7490952a984a5a266897 - -COUNT=4 -L = 128 -KI = bc9cbf649ddf7541c436723b540f5293 -FixedInputDataByteLen = 60 -FixedInputData = 4ed92bc8bce161030649ffcac8b3923f976bdf678c2e036f6139eab84551c42fb4c4d1bb346fbfcec357ffa93a10d521052cf9097a0cf35ded8cb5de -KO = 6de6642c7fe890d5e52b62836add1ec7 - -COUNT=5 -L = 128 -KI = f8387e26ecb14d5f13aca0fc71b70c5e -FixedInputDataByteLen = 60 -FixedInputData = ccfa9aa5b89e8aa01161daf27d71fcd045ff68629dee5e5a759294d92cf3fdc2c3afd95a132cfdb1876dd8d363e9d7070e904bd45ee8b688ee07df3e -KO = d59d1be24510b7764960ed1cb8abfb42 - -COUNT=6 -L = 128 -KI = dfe33b22323fcc043cd65f35b1ddabde -FixedInputDataByteLen = 60 -FixedInputData = d181f70c4fce9b26c09afb40be7e47e95d16a62b9599b4a7a3679727e290f797564ce6ae8c19632c95a673dd4034b9b29d9760168f421e5a8119d231 -KO = 98784a7ddee84df538b325a0e58e36e5 - -COUNT=7 -L = 128 -KI = 4dd9a58351ce808a0b47884376704f1a -FixedInputDataByteLen = 60 -FixedInputData = 474fda5fe559501c817227363991b4c418858d7ed8179565c16e07a293bad19593059b02c06e06318aa575ec26af2d3be2c6418ddc8ba974d969c64d -KO = 72f0748c0dcdd50def02f9d760f57228 - -COUNT=8 -L = 128 -KI = 11bb513d70079e4298505a5ccfacdd5a -FixedInputDataByteLen = 60 -FixedInputData = 39bf785d40d8c8d74f4f6e56217f3a74f7a3f4cc529d239d14d89e21fb2d5c087aac2b877c79c6fd3c511f6cba1e3d75a0766deae7062f8e8164ba81 -KO = 2f4e9ac40edb69ea0f98371b34ddf918 - -COUNT=9 -L = 128 -KI = 289008e44a8d7a317c0690fba7618b4f -FixedInputDataByteLen = 60 -FixedInputData = b3ee57b9c3b50436041464a64069aa871cd7bf25d57056df0cd904069837ef963815d669caddc104a492150909c6ff8339e6b6bd7a5338c86337b108 -KO = c4aba6381126aee8c577ee355155631b - -COUNT=10 -L = 512 -KI = e05c801e2b24bf012c1768fd04f36ea4 -FixedInputDataByteLen = 60 -FixedInputData = 80c02d9e092a9e31e5ac7a7c5c01a4d31eb489b20a00d2b55e2bec923c07bc79a2bc51af27c9732d22eb7a7a7b6bbbcc5d35807c8c38d9e54715f3d9 -KO = d3eecbcdf6ca38018a3ed9f2b3fc47253b0ccc8c5fe0fbcefda14ecfcf4810946cdf81a02df2896cff5149886deb6d9ea7b21c5263b1471bc6e1161bdfa6c8ab - -COUNT=11 -L = 512 -KI = 7557edda69a021b7e7b339d444093d11 -FixedInputDataByteLen = 60 -FixedInputData = d3c77ac4dc323ed136ba6164f23469e303b7cd2b30ca7358473f6239d20e04cf3b95dcc349680f75d18dfddcb467b0d4c762ce5de279194200b0dff6 -KO = 47693028b68e6438133db8a44a35c09da29fe31cc711a3e04cb9ef7bb687af6a5c3b75549e792fc0c7d708eed67e833565da37a673606da8cd8054f6c9daf7b8 - -COUNT=12 -L = 512 -KI = 363a4f3786a9a3101b8125153336bc22 -FixedInputDataByteLen = 60 -FixedInputData = 606d4e2e5dd9711b6b2a422382414b68bc7d3eaf487259cf97c654dc5707352b149c89aba31644863f8a76063457966e7e611fd2002aea61d6e7a553 -KO = c30b412b885c5e89b3306e5d00af6fef4491abc3e7dd0a5a62e98935a01c6404c81806cf656a831bd86490ff2da078b7d085b95d995a18c49bee3c9b4100e568 - -COUNT=13 -L = 512 -KI = 402655258a0496ce1bf8e3aba41c5bb2 -FixedInputDataByteLen = 60 -FixedInputData = a03d0a63df65d4073e2f838fb5e7bdaf488a3eaf4bbff638fcccb800aa6b74bbcfe3eb8fe2aec272fc7cf6d8017278197023bb9aa3f4bc3998013875 -KO = 55a0d2c379471c443977276c4351c240c4ab662dcd5f1ceeafc3dba1c0f4f944a41240a13f94ea3a123956332e53e88f59f6d8f68e65d221161ab99b503d2a1c - -COUNT=14 -L = 512 -KI = 1398b71ce2ef4b34ad2e47e3f0d2696a -FixedInputDataByteLen = 60 -FixedInputData = 2aba30411762602ab314f5bab85757eb579ef75a1b11c5a368d85f4ccac3b6c0414ceb977316404d6671ae7365b6364874e568396ebeaac1d6ddee8f -KO = 4e24229e33bdcb6b2d6a217425b7f57eaa15af2e8d96f36efec754a3462728b30207463f07c82e927ed38230179fa2c52bbb49541616643496c09c008968fa4b - -COUNT=15 -L = 512 -KI = d0b47d9d38839ec3d897fedaae993325 -FixedInputDataByteLen = 60 -FixedInputData = c650c038766e980f9a9cef185148182eaa6fab4f1133e02eee73a3445b131256d511ff94a52eeec623c49f3add356407084d1c1e45156c9f80ddb38b -KO = 5264181dbc3dbd16c7128a9d0fab381851a4dae076ecb27185ae7f8fc89953d3367738a08e897964904082e3f9a6f74586f5bb33b474d79191d516929a5bf441 - -COUNT=16 -L = 512 -KI = e23cd2b6bbc75e2fd03d6b9b8d210f4e -FixedInputDataByteLen = 60 -FixedInputData = 2b87af643a047e88288fd0506ec6aa55f08d20e748642b8a1adde225ea498c793c451580da2d1c285a05eecadd6492be36af9909629f011a0d3fa3d2 -KO = 4fba45fa26276c52eea16bfff7e04f45d886a1d3536d47ac244fca283cabb8bad02b8400717c364d2ed7cb0da81eeb749fa70f565735f0b0379de03963f53e96 - -COUNT=17 -L = 512 -KI = 56cd1aa40c9fdc502300d09aea849658 -FixedInputDataByteLen = 60 -FixedInputData = 10b693bf4c1640e94adc5b48075ba5d6fba9761abf399e81407dd4252fb0e9dde9475d8a74e9ae0d19da798f934bae97537ee54c0590a0dbbfa5fe70 -KO = d5a59f279e3e3d5191728ca616a762280e75d55bf59c7d5a7e31c7c30fa04e8d696850ec5781601d8661e2da7165e4e9b306542dc26696eb2c1117cc1e72acb1 - -COUNT=18 -L = 512 -KI = 98b850e45ada87ba2fb1d13562929414 -FixedInputDataByteLen = 60 -FixedInputData = 49f69ec2dbff4c5d57a8b2b5f7d38114df209c051a2b37b2f2a32e059e15cc117d8eeb18a24b8650cc981968a264d31d0a9996be56102cb67c284b4a -KO = 29b6c7eda298544984314512268b3fa8599b74f90933822dca90025fa1c65395a83cf96150fb5335c9cb7ce8aeae60c5d5d57f85ceb2218461923385affc696b - -COUNT=19 -L = 512 -KI = ee9a511e28a4423e23201d25da86071c -FixedInputDataByteLen = 60 -FixedInputData = f85c3f6ea92e35c8e977ca1e98484cc3acf3499f5b6e4e16b2bd8843a52fd1788d23351102932c8e699c760278a19f1a1263c9cdf5154eda4b015202 -KO = 9121767ea0fa92c5e4b36b1d89271937ad346631be9a105a0fced4b788cab18e82bc029a4bef027ab22f9f4ae20dbeee19061c590f4b316c5bc46b0810c209f3 - -COUNT=20 -L = 160 -KI = 9188602c89b7a3437de60815d3eafb13 -FixedInputDataByteLen = 60 -FixedInputData = 57adae360e70656c0c5f60a42288f2f5707b49ecf83e47d11a62c5669c0ff53637d40b02590f14a6633e36699be8aa2d04bf63faf9b6be135515b46b -KO = 73321db057f7e820f610f54f0664f6764b9fdb49 - -COUNT=21 -L = 160 -KI = 5730c6896ce4eac1a62f6b19b90e1171 -FixedInputDataByteLen = 60 -FixedInputData = 8e8348d47a34922329d3f486c9ff0259274e873dcc0d4e890b8f0c443f2bc4528d7718d485a9e97cdca9e2a6a5d60a5d537aab21fc1970fe0aaa187d -KO = 0a27b1789d50163ba2c67bcb7b0a161338ed8d56 - -COUNT=22 -L = 160 -KI = bfbac59907f7070363054deada6a6e11 -FixedInputDataByteLen = 60 -FixedInputData = 5787ad370c8e0a6825d6d61228fe590ea9c6c9222fabca0fae5e78d04183d0cfb2ed2ed427c576f452c1878f0ece1b4650428c1b6866fd45f733ec18 -KO = c6668edcd056ff306b469a7467b3c870600649c1 - -COUNT=23 -L = 160 -KI = a9a835ffa714e51aebf26a9ebfbdf763 -FixedInputDataByteLen = 60 -FixedInputData = 4c28590f137cb848128f39ded2d3e0db4f2f42d735892c6ed03feb2c9cf042dc2a8b2dc9a6b3037e4561cbc6a8592e2649b633478eb421af7404ae5f -KO = e1bd26e6b48accaf5942c654976385432fc6ff8f - -COUNT=24 -L = 160 -KI = 34bdcbaa424b994c02919de65b1ab04b -FixedInputDataByteLen = 60 -FixedInputData = 338ff6f83971ba6c09b4519ab9530cfb2c69ef9a482dbee6eab193a4b210c0591ba59652fa6101577dd81e704475dd7b24ca812fa2b77ed48a62a4ab -KO = 1b9645c2efb3b2c6e1c001c8b0fb89ab4b3d5c09 - -COUNT=25 -L = 160 -KI = f3abff4a313c74ac23018227152a8499 -FixedInputDataByteLen = 60 -FixedInputData = dc148a3e45f03920c6dad2151749fc74f3a39c3f5a695322eb52b90881293575e57c4a7cc7e7cbe2d979ce811669c0739b419e2d305771494907b722 -KO = a692fccf9297130234cd770f32e56e02819f5f87 - -COUNT=26 -L = 160 -KI = 0bc2cb7315ac801798270d079a22c07e -FixedInputDataByteLen = 60 -FixedInputData = 4a5d6740725d9da16abc9f8f43db9d0041f1068ca9d25648233ec5619901ee7224932ce7cee4aa884042adaddf5f39ce4dbb7d4223cfa4da44b92dff -KO = fc23cd843adbe7be79924d6b639b3819c2b0f728 - -COUNT=27 -L = 160 -KI = 8e9487ab259844c2d3bca4371b67e118 -FixedInputDataByteLen = 60 -FixedInputData = 2f4a6da6b4ee8caffb34c31495c57d80cc8e6d99ddc470e448232e3fd5b2f86e7c63bdffa779da74097cfc602e44eed57254655ad0a6ae5cb2673a10 -KO = 954d1aa313524afb3b96e7441c7a59b4939eb86b - -COUNT=28 -L = 160 -KI = 420f0d90ff0a4084f472fe03fe6fee5c -FixedInputDataByteLen = 60 -FixedInputData = c9392b746278a45941b98cec6ba5faf3c47e7a196e2f6a648fed15a59054e18ab2a557593aacd193fff7f06a7bbe0649d2266cb56620d3a060b919d0 -KO = 3fb27485c4c96b7636a9ba1a2b97e82edf3b8244 - -COUNT=29 -L = 160 -KI = 66d0220365abcfe3311d3400e498a7cb -FixedInputDataByteLen = 60 -FixedInputData = ccf70f3a1431e459be93a4de11f605b91933b6cecd9c3057acf820ca560c4ad6e863b5844b9101cb56f042d69efdb4146d3fa3f6698417ac150b5972 -KO = 35f69c7832d6e89a3dbb3c9ad89924c0f0966c89 - -COUNT=30 -L = 560 -KI = e05093d34f5e578cbada68924b69bdd9 -FixedInputDataByteLen = 60 -FixedInputData = 30387ae1bcb418aceab5130122cbe7e5fd7ff8ce46b3681a39895fafc75a3b836d6ce5cff6276a6352b6645055a735361ed8fa8abbb0345f8fc31d20 -KO = f4c3db451e48b658f4ba8bf6f97ea500013e26d6950f7b2ff01eee8663d5dfee74a83d5a6f5496bc753a1a80b1e26da11603afe07de39a7cf3a4103ae181190ea59b69824847 - -COUNT=31 -L = 560 -KI = 626c6a509bc553bd5a8a3880fdaee936 -FixedInputDataByteLen = 60 -FixedInputData = 2b630ac48306e47fa2f5567bd923dd5326569aa2f9d7e4176c1f9f4d10ee87352028721bffa52266b1a1b3c33706bc82d6d769903fd730150601f226 -KO = 2af47114ba51ba6420005f4af6d060a9a6072f845abe6e3869760ab26db55d9235a9471e13aeb5bc388e536ba973a39561af02b1325d9be503be1d4abd88adaf3764ebc62784 - -COUNT=32 -L = 560 -KI = 35044592ccd0fcc6b779769d7b6825c4 -FixedInputDataByteLen = 60 -FixedInputData = 95ed9bf8c9f83c3366abf68a0a634299319f02310bff4e8a84f5ceed71e770d86e2cbd201f31bb1e0b004261d4c21871429b5f0169fbfd3d32250ae2 -KO = f7cc1603f0ebaf6dfd36d0deceebe2e4fe373834efc6a821b447e45b038e279b5904b9462cfbb64a6f17a62ecfc7d6b06f2eea69f3bcd09ff24c590fb34749002cd7bca7b0bf - -COUNT=33 -L = 560 -KI = e8b291c020d24e1e8f9cffffa7a4ac88 -FixedInputDataByteLen = 60 -FixedInputData = 18f8828958b856bec117927d050e2391458392ec1f37a348a29e9a24a8846b9dc8f84a02e7b80fc7ba27ea23eb1888b1e1253ca94989dfd6ec2d0a8f -KO = 5c9f2fdd8097284a4cf2b2f541e5f6a8197d47ec4471ec0d44b9931d82f2dcf1197bee628698ccb16ed83f73a8b18061936c93c3e01b01639fe483b464bafdb7a2eab08dba8b - -COUNT=34 -L = 560 -KI = aaffe9e5469767d239b2d64deca2830e -FixedInputDataByteLen = 60 -FixedInputData = 32a0294048d8a030a37c1782a7c404d66c9adc960b48d07ec1e0cd9819eff8af4c5179227e9c19bc56fdca0bb9fb2d1b6c7051c163e65bdca5c09fbf -KO = d5ed050fd9fac94b308c057be498273c710da6516b8371f53f7640ceb775065540315f36202c5c9f5dc6b61f235dd795c82b6c68b68c44f830899ed9b01af6f8d1d30d6da0c9 - -COUNT=35 -L = 560 -KI = 39b3006d8583a534eccd7778a2bb2407 -FixedInputDataByteLen = 60 -FixedInputData = 97a1abc233a0a372770175d9799b21fc68ab708b2a2e8018aad85ec5a0e5c20a14b9608bbfcfaf478aff0441a9f62a553f5769ee7b7ba2229e2c6675 -KO = 088bbd47bd7b5ed51deb410c0f94e37f3eb51b8ad7eeb2c6aa1804a5998f45a00629226c65fecd25a0c763a6e1de9d71d2fafef1171f9e799c5f1b1b02e075920f3c0445cee6 - -COUNT=36 -L = 560 -KI = 70fec1a9ca98911af3838bfbab1cde69 -FixedInputDataByteLen = 60 -FixedInputData = e0f8a5d01f730ce9876361688bbb38bdc77052a1395556a78a55cafdd7e768abf45339cc761a5dbba5b3f00108d6a37d250f699f0080665cd2356c77 -KO = cf38b390209cd7f68576961e9dfb695d79cf4b2cd9c9f00e09429e331e8ef24e26b9161d903febbd4601b7d723f8159cf18d314c2246aaf5bf9230144002c1610f0788b62c74 - -COUNT=37 -L = 560 -KI = 57da76c27cf483209dca1f0e87bb06a3 -FixedInputDataByteLen = 60 -FixedInputData = cdbd2fe228af1bdc4bb361e70e6fd2fd099f84b89e3dafbbcdf82a85a5e607cad13f5d52271d069193354ef468e41a6d61df0e86af2896e263ed61bb -KO = 6170fd6a92dfb04783a72035d742904b6169e3d613fbb10c637324a148ed3131891355aa9b49d8e87c5e96b77a2679b8f53b6c91a4f18089585419d5fe6f710dbfe441e40c53 - -COUNT=38 -L = 560 -KI = 121faf0900d81c07ae1ed09017989ea6 -FixedInputDataByteLen = 60 -FixedInputData = a589aa3fd4889ba378353b91baa7cb938a74b8aa10c666b892321fb2e317df0eaca09869552b3ab946e79153806488f4b753195ab6e7322f5fc1daf1 -KO = 09920e894caabf80129f64193c4491b7b89fbf97baed23ff873c6b86b610801ede6d81175a9579e20877e3e87246df84fb450cca66625ede714c84ac27c5bc38f69d65ebc8e7 - -COUNT=39 -L = 560 -KI = b0e58cd3ef652d5656f2c1b1f29a52ac -FixedInputDataByteLen = 60 -FixedInputData = d56428a5ba4120c715cc6f538e169156ae39fc28048b5324e46a58242c93ea5262a57de2802c0fa1aefcf6f93b0232965e3c737809c053979beb2709 -KO = 8470b19534d9e2e2559f215c41e733422417c9591779b59504d3b0ecb305b00872e8a079ee8c733901ebe95518fd3976fb98b40ff89a6bd5c09090dd21fac7501f4278f60380 - - - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 0d4f47f6733431044858d334f5a74a89 -FixedInputDataByteLen = 60 -FixedInputData = 7c6d557aaeff548b3ea6dd368726098f298a533cecb6622cf981c43e2eb62b7fc9dcd432104119e09c17d482000e9d3dbcfe93db3284bc398161f3ea -KO = 386ceada38d555e7c845975c7f0da852 - -COUNT=1 -L = 128 -KI = 4f7353d26c528675695a8070a815ff75 -FixedInputDataByteLen = 60 -FixedInputData = 6b8099274491bc2c085fdba24815743f006d4513fce9eec14919dcd7948c4184ebfe35941e7d7989ec958afac3d47e4162f5613ab1feaa0eb94d53c8 -KO = 5c91ff4fc8110bf147924045c7bd76fc - -COUNT=2 -L = 128 -KI = 0ce8fb1fb1f6e72061ee514783f1a54e -FixedInputDataByteLen = 60 -FixedInputData = 5518f21f06f902da9a9e70e118c32f7e30bade0f855a499423309296b626f0ccf82266917ce73a5329e7fcd6870699cb1047fd41f5db26cce0560b4e -KO = 70a956384e79ead112434c490323fbc3 - -COUNT=3 -L = 128 -KI = 797a524c364c599c222eade815a6d4ce -FixedInputDataByteLen = 60 -FixedInputData = 9251376ee1683b49e161c8cc1ce1a93fa0713ad97228f74764a20db2f44dd8c2dd1f705304bcf73244f1d6ea84fa7d21ab752f30db968d0e23fbe88f -KO = 1bcdc1b0cd73ee19288be6cfd5e8d9c6 - -COUNT=4 -L = 128 -KI = eb4f79dedde4a7cced5cc34790fd4324 -FixedInputDataByteLen = 60 -FixedInputData = cfcafd81a2879fb3ac81fb5247e06cfadf66bee81bc2bc0e703db1ba373cf1d08891e6756744cb43e56f855ceeead66d0ca07140b2f44e98c2838289 -KO = 6a87fcf06e232478417a74857f5dcb4e - -COUNT=5 -L = 128 -KI = 3f091e5202aa951af176eb798fffda56 -FixedInputDataByteLen = 60 -FixedInputData = fa6fc0fb9c41a6d7fa5f03b0ff60d011e3b40ba6207fb880859cf15884724e78506b3cb029c5c1701f8fe0f3338a51d2983308e7951bd03add046252 -KO = ba615373033579a1f4cb9782cdb6df97 - -COUNT=6 -L = 128 -KI = 269909a6ec23421e9f26b3164469a413 -FixedInputDataByteLen = 60 -FixedInputData = 33606210cef063754583905997a45c982c72ca14cffeb186829a67d3e9b913874127bab483b18a0eb360f947d6c4320fb0e0e50372295c728c47bc9e -KO = 4edd660d128fb19ac6a9c53385aed37f - -COUNT=7 -L = 128 -KI = 724b37225306e7ebe5b5dd79b34974ce -FixedInputDataByteLen = 60 -FixedInputData = 1c5a8c2111186ead3c7d55332aa41c0e5f9b2aa9e1dde2e1df4409d996dc360c6b3d2abe436d56dc260321677863af05d18a41664f78db2762a915bd -KO = 68837a903278769db1f99acc58e94d96 - -COUNT=8 -L = 128 -KI = b3d210d13f373d18156ed35430285314 -FixedInputDataByteLen = 60 -FixedInputData = aff0eb80e76ee3af7c5f0005f24ecf326e48a3f30605e9b70a5d46c1a15c30acea0fc3c6945f874dbe8d7c8fdef12506daf5ec3743236ad9637abd0f -KO = fabe2bfb1084537b0c9422abf9113de4 - -COUNT=9 -L = 128 -KI = be80671c34569c8614e344d5b8f79a18 -FixedInputDataByteLen = 60 -FixedInputData = 2e6ec4aa8a6f9a5c07c623724aea8e7033faca85c974448f6b5a96072e528af2d38b43c0593ce5b2ae311d51fb040c6f535a663273f0f6436eefc727 -KO = 9afd6008bd4c15860e0c7fa4fc47a8fd - -COUNT=10 -L = 512 -KI = 574240f2e0f7ad6642b8dacddd4e28db -FixedInputDataByteLen = 60 -FixedInputData = 46d1d5eba429c2a9d4c2b6b90249036d6d28124414e165e7710622343905b5f3ca3932e14d9ac07c65e3031faf51f77a2c2d83b1faac3d431f27596e -KO = 69b5f13af27929d87394b8c96652b216071049d6f0cdbbc38036b0638040282c2071cc1facc0b65ce73f5e9fc1bd5fb06c6459937f66ab57450550041d9094b4 - -COUNT=11 -L = 512 -KI = e9a6dc43887ac2ee6596c8f6365f9df8 -FixedInputDataByteLen = 60 -FixedInputData = aa2460a2fc1f37681f8788614a89384b91224db3ece09d29b6ac86590cea7fe333e17178f5e35a24eb2396e02722304736bbb26f53bb076d442829ef -KO = 066a02dc76e6c5268c802fafcacda7b2cece7ca7fb3c407f01bd4b29d36b99b060a9138abb3c0cc993a697881f7eeb43af2f6449a11d6d93a5769a6baa3e3f80 - -COUNT=12 -L = 512 -KI = 9ce5a73bea72f56a90e8da4c589d2571 -FixedInputDataByteLen = 60 -FixedInputData = 4262d1104e13cd8a9bda4c1b51bd3c3f09cd932fba1de0c94c860745271645f303e23379946dde96ce1bbb18160e0030fbee5e5b40ceb8d3e2a897a6 -KO = 5052572b162ee482bd607f9c87deb52b8e2e7d14ba5c21f96ea890a38f0c8d7ded8acbd2b931e730a2e158da02ce18602065b6eabf3c4d2878e25c3771b1d3c4 - -COUNT=13 -L = 512 -KI = 19570a9c7a991c3f15bf5555709bf44a -FixedInputDataByteLen = 60 -FixedInputData = 746483db2a2a834dee1578fd482f8398f175fae1de2907bffaef3f1ddd7d2bc1ec1f11fd5f4096a923e016a5f6fa97daa3754e278df630b9ba838967 -KO = b9a763413e7e063dac470e8d6226939671f9353c25b04512ac4db9b91d9459ff41d8cde82ffc808a092b546569b0f219f62a919ce8e674b571ce2a5c315d49b1 - -COUNT=14 -L = 512 -KI = 22a0af21a1c2bdd7d2786706bfb94d3f -FixedInputDataByteLen = 60 -FixedInputData = 683b0faefadf7d6e2e72b75079fbc1d4f112cdebef659768c0d1bc665cc249b35044b1de6950af6a865441ce65df7df15a611205df0eed0779b4640d -KO = d43f60b4fa9b96ec00ddc8582517aa9ea95bd6e2f9e5d85aee295048dc72771322033b014b7bdde5c076c2bb96858c0a48d2fa8dbb8b5e4759fdcac7bfd0ff9d - -COUNT=15 -L = 512 -KI = f643af53516d065611b5c89ed7caa1f8 -FixedInputDataByteLen = 60 -FixedInputData = dc29fdc1dbba875d4888999ec04907969c17cd1678ab17d724377d15a3d5f0538a83f0a77d0bd83963b438dcdf8cd8d0496808a7b24c2399d1462c5b -KO = 5a50c60ebf3a16227a1f6732c2a815b046cb36d95339621cc7a235559b3081ac6b3646ffb16869b1adc0a03fcfdff0a7cf9b21fc2eea3d6377ebe459f9c3bbe5 - -COUNT=16 -L = 512 -KI = b1eb0b002160e11b0266843e71fa508c -FixedInputDataByteLen = 60 -FixedInputData = 1097b9f72dd90844ddb6bbc2dbd3b2ca293d63686a81746f2c56822b812fac743b6693bdff1e65a46f98781ad1b7a6c22a0c8a24a8e363a77ff1ca00 -KO = d84599c29ced9de48161f22282343056cefacf5eef11383ac06b6111cab3bdd89eb8b55e574ce9760f12ab04f10d7948fffbb063bfa0aed298d73c6ccd5a40d8 - -COUNT=17 -L = 512 -KI = 0af327a124a4914ab718ab7ea5d5b9b1 -FixedInputDataByteLen = 60 -FixedInputData = 56c9c6d14e477f5dda7a0485d92cf9d822df33ea977da40ef88273c0a46576b13cfb971638a9001d13ffaf25fe06434349b963db5f74735dc577b87a -KO = 07054a756b76b6cc4754b4cc885dcd314bb61fcaae1fd19c4f84275a8bca328c7f25f48618f366ef2efea878ec83692b4edf87ce41fd3b16dfb8c35893144e43 - -COUNT=18 -L = 512 -KI = d47291c7fcd6d1248c7baf17ce3efdc2 -FixedInputDataByteLen = 60 -FixedInputData = 3a8c9dacc0ba9787272c393b2476f15ae45b2d91ae87593a30d4c8d9522977f04bcb3665a2d4b3bae2f9c3625325438f9b90078b445081238e6d7833 -KO = df1af1f437cdc40178ecdec961ff48135cc56c1e91e000df2745be547b604909ae02752a4ee346440bfa2d7e7a08850e557ced01a3dcbf09e23e9ae06744586d - -COUNT=19 -L = 512 -KI = 60f75bbbfbe5d659a40df151993a5ea5 -FixedInputDataByteLen = 60 -FixedInputData = d19a9b401451920c997f7807685f69888e833db9f224094cf06f55a271b0e084bc14c23223d8b5a7b50e60ffac3e84a0ac822cf41e39f0ea24f81e99 -KO = 1eaacb1d82930e03040d9f1f8acda4cbe0df9a19c212e814fe0662a21a2c613cf200a7c4298519477e4816b86083b668b37a4deb0e379a2865aa8ec815005d20 - -COUNT=20 -L = 160 -KI = ca591238b41a64fa34f635ba691f4c83 -FixedInputDataByteLen = 60 -FixedInputData = 9ca1d3e26b796f17f682a2f39d8da7881c9db3ddc68d443ce640c21437967b732b248acee5f671879d992591454117bf2b84f297d9e02de789eab81c -KO = ef062c109418862cb28cae4155f68545778152ce - -COUNT=21 -L = 160 -KI = b543eb1a15889fcb4b6e0036d27839b5 -FixedInputDataByteLen = 60 -FixedInputData = 2b9da67414c7e007e37c31fd8dfe6483597a1024aa073396fdfe2096449da55cd16586f4b42dd42a361be4082e71118b81cd0d663200e79c2a1c128e -KO = fd68a5bea714cf733ee8f99a48be7b404b363636 - -COUNT=22 -L = 160 -KI = 2bb9df7656b47bd3a926d251597c37c8 -FixedInputDataByteLen = 60 -FixedInputData = 0a797050fb30380d3590b736a8621a4b99cb9b48a115a8b0893a32b471bf58b6d2b06e4b85467a81667ac718c6e45db9edd3660ca0c7da398f2a5125 -KO = 10fb9f9ddc600a9f3104e052483b3e6439b03f44 - -COUNT=23 -L = 160 -KI = 36dc347794b3001ec73f66a0cd1621c0 -FixedInputDataByteLen = 60 -FixedInputData = 2f6a0bb0c67294313cdf9fdcd25ef1299c74dfe323f77031862602139054f91e003e7fb2d90798d531119968a72f516bcf2481d08364e226c97075fa -KO = 4e783040a24b5a6bac1a8b391e1124405f8524a5 - -COUNT=24 -L = 160 -KI = c5fd23f2e8b8c44bf2601fec80d3b370 -FixedInputDataByteLen = 60 -FixedInputData = ef2805b9bcb5b1accfde2ce071312466d4bd1bfe54b664ac045b89bbfce8798042fde2e171a3259f2b4ce0b200ed86eb038d0580680a09be47df4c5a -KO = 53f86e5a5b41d232f3f0f97689f7f2afaed5a290 - -COUNT=25 -L = 160 -KI = f514157112ac290d398db867104e5e97 -FixedInputDataByteLen = 60 -FixedInputData = e9d64892c4391141baa7eb94e985f32ff7a3e409771669ebab488820b504f96063164a4eabdfe0752e5cfb0e501d6ec1f3b46954415e11e47ec6d71d -KO = 30ad7df2b705250fac2788075ffa2bdf339414a4 - -COUNT=26 -L = 160 -KI = a1e8208a66828f428f12973a42ad0ba0 -FixedInputDataByteLen = 60 -FixedInputData = ace6a1e574ea5a7bed69afe29a064d7f08e59a58d1d80f9e83c748e72c6c49c1ecd8de69f261ae1542cdc07ad0b1c7d8c62e075c92001efb19e20a0b -KO = b5939e4a67c4525f574f5638940238f2c890b12c - -COUNT=27 -L = 160 -KI = 27360a22704a266c2220cbffc122778b -FixedInputDataByteLen = 60 -FixedInputData = b974018129cd8e661731956c954861c67715dd3cb371f09a2ca725fd9d82dca02072263fdddb30d72d7e29866d3cf7cb07cd2fad793f3a96fc52a61a -KO = 9df2280dfa2548bdc8260b200a4d21296e419f1e - -COUNT=28 -L = 160 -KI = b2834e27f474bd86e2f7babf169acf52 -FixedInputDataByteLen = 60 -FixedInputData = f6dbb4e48901a141d34a62e0c6d76a378db464b297ae5ce1c277cbdffbf64c423a65e6a6f5f69a4d8ee252a6f69ad501f6a9bc4272b788d2eff64568 -KO = 4e2d5941813bbb770b256fd0e444d3fb95e4c439 - -COUNT=29 -L = 160 -KI = 9d593bcb357730a6a761ddc35a455c2c -FixedInputDataByteLen = 60 -FixedInputData = 9c9e4a6851ce0875b84b1dd004c7cc9687fdbb8a46bdfc54eb52969f5fae8a6c986d46b77031757ee349ab06de8309a32942e4fcc15c9d71b0e6c431 -KO = ae3434a5c505e3f7a82ba91577cca5f96d502bb5 - -COUNT=30 -L = 560 -KI = bbff210680837bc5984a966f337f1450 -FixedInputDataByteLen = 60 -FixedInputData = a8892850814184d499079cff30a3c093c56c5c43c0438c5e2d79c10e47bcdaa9bde8d2492d39edb1440f2aecbea7234636cee242c605d01723186ea2 -KO = 82738d96db10a71e54e5c00b96c3f3a79682203562280e85530f123a0f4f6603734dd561d1d1670783d44792dd9a96a554e7a4c9e7abc855491721f41d68fa4398a355f442a3 - -COUNT=31 -L = 560 -KI = 2c42d4e26e331740c8191605671e13d0 -FixedInputDataByteLen = 60 -FixedInputData = 7b87a4668f0ae632a8c2b97cb7116d967ebaea82a15dfbbe1f5346a05502bf0292ae57419e41242e6bd666caed011123fab645d9fe8664233e5b22bb -KO = 1049774ef92a353a5e9b3eaf38814b6591019bfd1eded344c75f129df1210fdea99970242195309e97dfe41176837e29393663ef7c037c0e8c5eb72ee72cdf4185fb013b3704 - -COUNT=32 -L = 560 -KI = 60c6bc13478ae7bd550b895fc27bf9e1 -FixedInputDataByteLen = 60 -FixedInputData = 1d2790a12d45c428d3a0303818dcaaf099b70de54683ea61d82cbec1598061ffa1045924cd0b6aa9c9eb48400c220dd6645894a1a2d4f63730ac576f -KO = 866b6db716321d223233142e4c8a8a0f2638e30314745557aa137bfa464fb91a1d4020423f51936c29f5e2a429e4be3669590c1d6f3de922933835a7de48d49f5ba221f4f538 - -COUNT=33 -L = 560 -KI = 3badeabb45049eaba0afabfe736c8abb -FixedInputDataByteLen = 60 -FixedInputData = 90e34dc3d05050939aaf3cbfbc120d684c58db7fade8c1ad7ba458469c2794cfa4ddbf8c2f8d135cf48d05c1d687795532646b9f9d0681021d0638ab -KO = 9cb8886cefb51fb962891ad35e75bb5ad054c3bca144b75618240c8877546d722222d379a7b93866f85af1ea524e4f70f6103edcfa4782f40053e8ba0db4c3b49bd3dba0ed64 - -COUNT=34 -L = 560 -KI = d45ba96d8b456ab68fe6e2eea4095940 -FixedInputDataByteLen = 60 -FixedInputData = cb44a18e01805109500d95d38c07c14476e65d704b154f08d90a05736860fb59696c7a6928198986544f772e6792ff46e6e06ab80a6921ad8228b1c2 -KO = ad8b5a1a5fc2d0fa575f613046e848a5960032c2b67517d06b4c9fcb1eee86b1e0a95941351f042ebab6a615effebd5cb137b342cb7bcfc286cbca15b1e891bc3bf045e4c8cf - -COUNT=35 -L = 560 -KI = 58b4fa442ed068b4d9ddb216ee144a6f -FixedInputDataByteLen = 60 -FixedInputData = 778a50e92418aa568b1e494f61d773cb29d71a853857ab0d526410b42853ac7750fac7fee75bacbf126fde40f6801fc08a3cb81947d55cd8919d9502 -KO = 92e5e1176b5d19a28051751a0a7c2f9cbaed80c000209c6bcdf0fecfe39dffe252f825c2547730359e72b6306a3870fd7f52861f09f16ead402eb9716da5ac95fa40cac340ae - -COUNT=36 -L = 560 -KI = e2a46a956d3b6eee4d319d59248a4514 -FixedInputDataByteLen = 60 -FixedInputData = a470146f8f39915fc85f8430a97c325cbcd1086285385bd3f660e6ac52c7f561dc20373f29480902c875bb19b600029c5c27da5e0ad1734ee617cf8b -KO = 6c261afd45e3baac484b1e3b985febe4f7f07608e86e9163bcd0915a56f14ea79c31addc65c5726b853b9b07809658531cbba7da991cfa696a293973182bcd9436e6c81d3070 - -COUNT=37 -L = 560 -KI = 17a8ade79ec4d0caa0f899cbcc6fa0c4 -FixedInputDataByteLen = 60 -FixedInputData = 01108a3b6edbae5d0b3284aa13808790cc795edf76552795f28ccb900b8919f672bc7245fcd8fd3643a496df1b29f224d99d752ab463579a685900e7 -KO = bcee2f441c01dc07099b599b17a46bcb4d98f128805e0a6b204c57fe93a3f8a838cbbce4cc1198d660fedc76f8cafbf2f98896d60f38ca888d4d5491b46ddd43265158535bfb - -COUNT=38 -L = 560 -KI = a74336cb4feeccf360fd53db9f1b6649 -FixedInputDataByteLen = 60 -FixedInputData = 6b6f84829a4250996b15c57d31b253a8a113179899842c8c58f12cc844be7e7f360ad0b9dd06116480039a0ac40ad90dd74c12b7769db819f0fe4985 -KO = b085d1ff450bc16841e4a8d742410bb905c8ac5a7ea59a6cc2ad771fa8187368f5cca84fb5d953590103c78943018790c087644f1b09bdff9cd1c16a9313df4e1307649d3a18 - -COUNT=39 -L = 560 -KI = cf8ea319715faf3785cb134f4cf8f8ad -FixedInputDataByteLen = 60 -FixedInputData = f9a4891654ed5b216712d9bd3e28df9a9d7214baeb8bd4ec81f58b1a1c1a6ec135b8993a9a239a591a12cabe29d3d69b28f97b3bf33383677f802fcb -KO = d0ac60d03bcef547922622e42ecc6609f268b562bf9a4e0900c7259a2c4fba2bf5d27b752ca38065365f203c725ad0b7654d69ca7d9b75bb9b9122e09edf89685419c65148ab - - - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 04d39ec14bd9efb24d0b9e112f45253fa19c4cefd895ec17 -FixedInputDataByteLen = 60 -FixedInputData = a948574473683c7326be4dbf8ea9c6fe795aa32b803316ef338295535572212bfd92f7d55dbe1e6edac6936a58a2e8e74dc4d3f8b766ba5806fac304 -KO = 229808cc16f19e20891d30ea4f2d6ca1 - -COUNT=1 -L = 128 -KI = 620d1462472083b6917bfcdceb9980b37ca12b616cf4ee48 -FixedInputDataByteLen = 60 -FixedInputData = 026b2bb53f9cc2253812b4178e9bcacf559d813543f52de8511c6f3ebd1c0081ca22b9e46fd762e4b49ee25d1693e2b74fd3110cb9522ce64ee91812 -KO = d8604cb6389413fdbfc53382967ee107 - -COUNT=2 -L = 128 -KI = 37a170b8592dc58ec6f69e7152c476291dc89a82b949993d -FixedInputDataByteLen = 60 -FixedInputData = 3bba7b2c288fbca06c4003963fd73aaaf918da676050514a43c67ea53cd1c22a52ef620b43928bcfed829e92eb1f5b7e03378297f3c247135f20074f -KO = ff539440dcc84dec0c091e048bfab88d - -COUNT=3 -L = 128 -KI = 9020665541d071b53192f0c0d7ef5ce1b1fa3b9f5c7121cd -FixedInputDataByteLen = 60 -FixedInputData = e1db1664389bb6b8b89e120923c3ca3402831cdb7f88e1700daeef0aebbe46f32d056a2878d5e05833b4e29b62794083e7b3bdbb5b54fc09deb19ff4 -KO = a05d56ab5c75118ecce39e175ee07184 - -COUNT=4 -L = 128 -KI = ea29acb69f026ebee7da18d6176d25ec289622f97da02377 -FixedInputDataByteLen = 60 -FixedInputData = 85a3fdffc62f737269158a0e157d6a4b3cfc03cad94e327c8feb73c4c81a4dcca90b28593e08cc4d3c3756cfda7158522db7799f6bd85a1bada58d0e -KO = d18c06fb44fcae96991fa13171b465f0 - -COUNT=5 -L = 128 -KI = 8c61bf40cc71591bf08ce8222f1f085d699e06b14dfc57ff -FixedInputDataByteLen = 60 -FixedInputData = 4d206d51f5209061302cdb99ed04638096a34b0d444b37161eb8f9d90c213af2cb3cf1d2a52d7d15986c4b9ff62e73fc8b81ca70b2d4f1cdef4fc1d9 -KO = eef6e21ef8672db1200571fde9cf668c - -COUNT=6 -L = 128 -KI = 0e034b35dfbe205314186077615abd951d5c42c72a70a858 -FixedInputDataByteLen = 60 -FixedInputData = 7478f25db66c01e708bf64fb31ecde0ec1eb79936c248028467436056b7d09b376e3d73db3fa558be7005b77e8a2fd9570e8caa18668b666050aeb26 -KO = 73713e8a06a90e23e6fa202af6d31863 - -COUNT=7 -L = 128 -KI = 1f7dc96e16942bf79ec684b1e6b258d9f2d25a7c90bcbecc -FixedInputDataByteLen = 60 -FixedInputData = bd6cb3cde22b6d6c9fcc3395690809c56a0b8cfafbb7f3060e998ff6d7251fa1f52cb9df365940884d7d856938b1ec648be1415be97953f49e712029 -KO = 42ced2f8a1a63c1841229f660e11583e - -COUNT=8 -L = 128 -KI = 6cc9f7f3c97bee6dc22682dcf7e41c00d3d0ac51bdbdefd3 -FixedInputDataByteLen = 60 -FixedInputData = 31373d37f43bdd3d501e5a39df8c732a1292cfcbd1c004be402d627113d30d37da3f728accaf9b08a35db23fa48414da8b3f1ba8801107f26d30cf47 -KO = 8c8fca6a768ba523286d3bdac310e0e7 - -COUNT=9 -L = 128 -KI = f72c20039db2235d6fb29bb704451b3d24463075bc2c61cc -FixedInputDataByteLen = 60 -FixedInputData = 45425ed04876ccce7e04b2800afd18cdddadca6dac009f1ccacf7deba3f0f246805f1f0d61b45bafc4c11dbfc015ad01274955da8ec67cc5b132df2b -KO = 397e1bf57cfa6b5768ee3f905ce82ad1 - -COUNT=10 -L = 512 -KI = f172781258aad6bbe0cbe197b862668d8a8648af6f96364c -FixedInputDataByteLen = 60 -FixedInputData = 89b27e26efc1077719b0aaba2cb4a556854c92c8b8d796426e9f7e3887afd54ebf647118a97b1fa594fd5e990aed3f624460201014585e6dec56c8f9 -KO = e9587bb27f6af68b4118e26b2292e85a5d8a767895eb8dc10104b39ab46604878caccf13757be67c18a477b9a131d6b948efd3369a38c8eb4d1fa8c2ebf67e37 - -COUNT=11 -L = 512 -KI = ffe88a449fcafb12476e6569b8752e0a66ae485c4c643cf8 -FixedInputDataByteLen = 60 -FixedInputData = d7c720f4c33d7c1d282bf0ed979c7a9b40913fa3725fdeb51ea332c339c328fdcf3a7cff092baed271e4351b0756a3dfc93fc0ca2adc073f75a8b29a -KO = 122962fd3ea4828a45e785fa00241bca9f51c1f61b908b4084f13dae5efae27d0571588193295ef5ac77053d2773b6861012f340c30b20b6634596c321f1ccfc - -COUNT=12 -L = 512 -KI = c5aecd1f205b4c0a18e595352e69d4b5757250d4799494ca -FixedInputDataByteLen = 60 -FixedInputData = 0cd9e20f69d3baa58ffcfc83e316e17b882879cc59046ff3e17870b9d6644a5c0d80c0503a92780d7f6203efad453c644ac948fbf7f0b1f0d99e0aba -KO = 914f36b327d9ff5fc7260bc5ce586e341558397a1d5b72c4eaacd3d9aa9ca3c69a00605957ca90968fbdfe94deb9458c4a18ebc87d1205557cae2cd2f31fb0ed - -COUNT=13 -L = 512 -KI = f3650d1d9673d027c82580359103c080d5616adf9c8b2f18 -FixedInputDataByteLen = 60 -FixedInputData = baa1094e368c1db88a4a8152ebd5dcc9f5cba7ed612467700158d80b40ce16de549d06c466f9ffb7fbadf2d163e595de40fab7993750233e8ae09f77 -KO = d1c5611a9c462450f55fc34ac7dac86f7a787153810d0d1ca2ea9ec9b6ef5d3450574f8e9565a0d87b476b8d1f8defcc13a311f1b15c255bbe6bb76cec8ed1f2 - -COUNT=14 -L = 512 -KI = ff2f02e6e07acbaacf969b9e2de2e1bfa4dcffde06644584 -FixedInputDataByteLen = 60 -FixedInputData = 19a7408c2975e7c7d1e9b4a19fe8d289dd8319a141dda47cdab202204ee6f4d957344c25b57b5ab9bed4dc6247ba98f1e9a07da66503d902953e48a0 -KO = 4fb0097931e35e5ef9c2cc07a93bdcb3ccb459a013dd91b0ee3b0c46cc00684874a1096d3777cd00bdcb3bb210d7ee05377573fe6a9de82676df068d1d1ac278 - -COUNT=15 -L = 512 -KI = 7fe62f1e0e24c7c648d8d9f8153b10d60d1b78910807b978 -FixedInputDataByteLen = 60 -FixedInputData = 6360f2b33907440b65598c4f4991311a62bcb28031a32e2665aca498b9909ca4f6da8bbdf89d78af4cd4fc14f32aed86f761fbb547f987ecf4a1cb74 -KO = 72edeb5f8a557ff5e188dcc264504ad35bd19970556718e791467988a4f0408386da2759871f660685017e26f90d764919b96dab9baaa77ec94deb426cbd7244 - -COUNT=16 -L = 512 -KI = 957e7bfe3555f58e9759d252386eef6f5af9c6dbcbf38062 -FixedInputDataByteLen = 60 -FixedInputData = 4e93a32c776a407ef93e8ddedf09606328db2279cafb8da342e585a3c8a8d32d92450a44156d17ee0e4f447e9d7ff9e5db8a790b358ce7330888c27e -KO = 212816246866a3447d4b8bee7d4cbbe6257b43d93ee62f58e384a6d24b4a44a37e210462dbe419b0b3cd75e6edf162ac75ee4d8848f74d318b2e21a2af3009ea - -COUNT=17 -L = 512 -KI = ce49cd508b7659f07366b21f272ef15737f5cc3c39050f69 -FixedInputDataByteLen = 60 -FixedInputData = 5c970719b99cf4ffd3c708d48b94497f47eadac7d632ee0e33d0a11e5c096c82f623a7cddbb7176785a3362a01554bbeefaae0b4a2b00e9a5662ee69 -KO = 832b32046d73b7f2d112deda9428d9c0264f0045d314373507f85995713040af440fd6aca9e5c8cde49b760f5eacf741dfdd0e63267288b65f6417b515b7a32b - -COUNT=18 -L = 512 -KI = 9613ac7becebb37149da6eab8ab6d910dd4dd29826039bcc -FixedInputDataByteLen = 60 -FixedInputData = a0ed49a31f044452d472dd83130db468e66d8c5115575684294b084770fcad06e93cae8d944bfba37b615443f7722ee5916974973e47ad8d078d106a -KO = 280de6341ca1e5c1dd02ff67d4886f1b51953af66fbc837b8e527016d4c6cc4683e6a6e5dd3df9300633901809cfacb2fb6c4a3f05f2a557dcca487da2bc1d4a - -COUNT=19 -L = 512 -KI = 36e834d630950c30749c8c05d06bb815a226d916b964bff8 -FixedInputDataByteLen = 60 -FixedInputData = e02f807587544be4d7bf04206acf1940f7f7e99d5075b4fdd284bc07f6be78ab07cbc37f71efc348180da1238ca433bc0ee8442916b4825e8dea3e77 -KO = c976cca00976f17755193e493dc04c476c9f3ea6bd82281c3371155a919be10182eb3d6fa0577a4fa300024609fc7e90c6becc425b1071d0a4b0867605c76106 - -COUNT=20 -L = 160 -KI = 644476d1b3551258cf18b669869accbe799a96abc573dde1 -FixedInputDataByteLen = 60 -FixedInputData = 4d5414dacca42af09352d6230c44b0b3321ac5f2292aae393b10cf27f121691c1d2f4ca7415b78a1945d639956a6c18a153b9c7bbc6473ef953b3507 -KO = 8019261f7c8a22ba14245e9dd55c01efda4fa52c - -COUNT=21 -L = 160 -KI = bc8038364880a11c327e095b3dcf98ef84b15e3048605a91 -FixedInputDataByteLen = 60 -FixedInputData = 6f1ab4db480d855a58a8c9a23ec2c8cfb7b7cf94d6ea3588f34f5913372a2920649fd72c9aa973ae68b7fa83cf1be53390c3cf77a0998940d00943e8 -KO = 002433950170833b7461e1b05dc75c68337f85bf - -COUNT=22 -L = 160 -KI = 77fca9344154b7b20306a5c3ad031e786242870985e108a7 -FixedInputDataByteLen = 60 -FixedInputData = 922c660eeabec112ad0dfa376c816b6d3b1777484a5ed6f927999d357de72b51a6ad183de696375fb64d6d411696356bb7965710dbb9dd9f8fbca51a -KO = 7c9bd743b1baaafeeec22cfe92cd9ec966a60496 - -COUNT=23 -L = 160 -KI = 8816c51601d5f8e53ac113aae5f3f94da93cec0a706e637e -FixedInputDataByteLen = 60 -FixedInputData = 46e164337cd493057ce1ec9af62983c3c0bfb9087b7a98480285606c9dbae0957aaf07e23a2513a43343eef9429b3eedb2eae7016b2696c8c198d947 -KO = 6680511ab4d2625946e3516a2fc9c8150dd268b5 - -COUNT=24 -L = 160 -KI = ec3f422b301003e9847b84e834b7f591bbb4266b215332e3 -FixedInputDataByteLen = 60 -FixedInputData = fd68744b28040e2ed7363ae6c2dac8c4296fc32e8a4908da8bb64bbe616456036a5a5de5d11c0394f75bd954f9a11b220a18237fdcdf7ba87e8eb0b0 -KO = 2c61b9825250cac89fc6b2ea2c3d190c05da5b2b - -COUNT=25 -L = 160 -KI = 865baf1ca1bf5dcf6cfe541ffd9ff59cde3965a236d040f2 -FixedInputDataByteLen = 60 -FixedInputData = 9f844d66fc9c909d4b02b3d6e7bd6d50e5db6aea3636188cdea1ee966c4243d770ed3d96fce6766a2dacbc315b4eeb1b7d7805707f5cad3ed1904c6a -KO = 164b7d5795980477c0271357037d83f3b5be072e - -COUNT=26 -L = 160 -KI = 9c6310139fe36ea0ad64ef2fee0d571e10018046c8f4612d -FixedInputDataByteLen = 60 -FixedInputData = d8dce78dcba90ea2b62677732f52ba9706a228afc274e3ea89827896eecf267c2047b49d532f90bb95f25ae4b0271e6d3124e03fb700669962b2d549 -KO = dffacd6b9f77b8d0eafb76aa37f3bdc087786289 - -COUNT=27 -L = 160 -KI = 73722400d7992ee2e3b8ab9492ed62f7cc9efbd15d50dd8c -FixedInputDataByteLen = 60 -FixedInputData = 57f0587deb97c396d9edf2287d581d51ab1aceefaa74da28bc9ad04459355faa61e6aad3dee5b1370e431b7d4d6c6fe9b4b2aedfda3787191b73779a -KO = 8c0e798c6c085c2776307288e547c4f652bd9918 - -COUNT=28 -L = 160 -KI = f4d7a4e693420c299130c8f984b2ea98c76814701f83586a -FixedInputDataByteLen = 60 -FixedInputData = 845ebb25fdd516a1761c892d5afa3c0ff16f160fb7b01e6ec849596f7773be5bb193e5dbc5c53227a7506ddf3b6bb1730793bf5e286f933bc61975eb -KO = 7364531e20be13c39dc5bd221aa501befc9f7f59 - -COUNT=29 -L = 160 -KI = 4e38d0ce241947e00e5e311b563c3439db01088c2afff3c3 -FixedInputDataByteLen = 60 -FixedInputData = d350f580c3c9d3726fb1d125f9f8e57ebab04e11c49b7c87000e70591d511cda60807bcd9f6dcdfd41a356e765db2136e110bbf1251b0ed5248c3503 -KO = a10c5de0a22d7ec962c6f9ad8e113ac5db26aaeb - -COUNT=30 -L = 560 -KI = c2d0f28e449b3fc296d15673c448f2c0f6618092322abf30 -FixedInputDataByteLen = 60 -FixedInputData = 0a47c2d4946e2a7fb1a319e0c5a4c276aa081ac8757fc66f0124e58cee7b9e2fc8979032a9356024c140cb89403a36e5a9dc6486abe6edbf49f644be -KO = 9ec5f882742f9045feb9835e069050a0609e1b89a079fac40e00c50ae3f691be90d8bddb6e6dd0866f73896e94f9f2214cdcc368fc8c748a660839b5aa25a6f2f3c7583eda8c - -COUNT=31 -L = 560 -KI = 56ae8125dfdc88b510d030bc187e5fb958a9593bf3bd03e9 -FixedInputDataByteLen = 60 -FixedInputData = 0770e9c0c754fad1d2c7d00fcee1b211df94ba00e9f4ca41efef09728b57a4a642740adac40cd857283c06d47bb664f7f2a52dd73dac8ece4d90605a -KO = 53e2621710737e210e449a34ef4f64dc1e2951ab6fd5959a45a74409e2ead89af71a4648a40a9ceb1386eb5f7dcf5bfebbf1bc04d34a52bd406fd1558d14a79f618f1362c1a7 - -COUNT=32 -L = 560 -KI = 4f70708b8bff2a958650a2319ce6e238f4e6a441988adbed -FixedInputDataByteLen = 60 -FixedInputData = 62c5817724bbad0e9b79b6d9d58b1ee40a3acf48d1859c0aba404c3b79ca946a5e30a490d1ae26ed2ed15e452afb381e791f74b3c2bc24a08e5900db -KO = 2cb4a1396da7fc959e7279f34b0c55cb16c30e2b31ebe5030c2525701f46966f3065a7eb4400fd0b7ce4780b3ff8a60fb3e06bc40451be854aeb3c4934dbfac50d4b5c5623ae - -COUNT=33 -L = 560 -KI = df012631bff6af48839543016be72cc1482f9478d167355b -FixedInputDataByteLen = 60 -FixedInputData = 7c5612046dc231dc99a898d02fcdbdb8193721201d759a36917bc1c84c2423ecea74e7b8076e7760ad2ae55b2a5d321c129ace56d24e2836af85d340 -KO = 3018c7c0a43fa135ed7908e919251dee3b6c09e777e987f910454cf9a7d736e48c3ea0082fb55eef939aaf8400ce8a3cd473ff81772c7bd317782fd81d447395bdbb6390bafd - -COUNT=34 -L = 560 -KI = b920cd9d15a77045b108eb007caad7d52b79b9b0eac616cb -FixedInputDataByteLen = 60 -FixedInputData = 001a0ceed02ea391989288ea177d57e1a762052fca06fb8db36e988de882d9c28376d2bc825e0bdd08126e9893603acc8ff2e98f099db633e459e763 -KO = d3fbc70a1b66c6f46cb93a207a7b18116448e0f94f294cb553280023214d29bf7cf1d3a89f208706c6f912b7930b241de03919292c52162bedd17ef033ab133ef5a3a1591139 - -COUNT=35 -L = 560 -KI = 7033c011d1d6e49c932472457ba8895d3ee1b7a168c03d43 -FixedInputDataByteLen = 60 -FixedInputData = c7e7e7d66a57c22fb4163d17505666fffb92c0a0abd323d70efed89a5ed14901163d84c15af3cedc80d8344d1c77f04bc3c6f6e73334dc085a28d8c0 -KO = d64c359058ac48cc58f02527794bc81a524f24087ba9d56602633f657d343bcb143795fc60fc4eddb9e7d0566b5bbd997d13060765662e42bacaf46d090313ab7bdc1d6a6dfa - -COUNT=36 -L = 560 -KI = 48a94a78c41576566ebcbafdab439359afcd400bb4dd2b71 -FixedInputDataByteLen = 60 -FixedInputData = 5ebc27373cc773f5baba4804eec3e3744b42c1b8527d16b8faf19d537947fa05a7ca62dc8c9c646b36d504116949dda79bf50356cc6c5526c3b7ad4b -KO = 251cb0a56ef5cda565a32ef52c53efaeafac32211f57c4c7da455aa09d46825419a7685a293e0e0a1eea3ed3692f058e75ec017534a94e4bd332df94a317c867256849577a64 - -COUNT=37 -L = 560 -KI = a1085c211533b79cf9a145c70e892a5e71a0c6a314227ccc -FixedInputDataByteLen = 60 -FixedInputData = b20894a26b347b0cd5183488b36222a202ecd73063539fa1b20219ee2771043a7024e45aabd625c62a9ba3606d15029f34ac068dbb471bb2a30deaa2 -KO = e149362d105b664af5435386774c28945b351a3bf1a637f572263f0dc3df15b33c30c9747c0abe21797aac681bdcf44adb65e826aa76a77a37eab11f6eb19dc914b13279a193 - -COUNT=38 -L = 560 -KI = bcc7017c73a82a793ab9adcfd63708f05bd2e271989a99ce -FixedInputDataByteLen = 60 -FixedInputData = ed689cc9a7fae2c8dcb5eda4cbf28e9a9ce6a45581bdf0e080eb650d3c3209305a52de2d1efc02e6b3f9788c1182d7f95655764c63293992de733318 -KO = c6878e82bfa868cd3e710bff4c8dc736689109dbcee034e90ee7e8389668800bc41cba31be89e2d136b35991882ad75168ef9c9bc7c7b74e58932fd6414081b8243a31de75f7 - -COUNT=39 -L = 560 -KI = 24b5ca36a4dc671ccaf861ca8b8e17b8f2e5a8cb4ad0cb53 -FixedInputDataByteLen = 60 -FixedInputData = 802927c94dc72c3916e7ba186b64a0349bd9af767b78dcc9cc3a37c36b312aa6b639cd3f7298d37c612a0367d965705bf06f66e202cbc649305ec10f -KO = 9d132788f978d96b86512f461caa4fb842e50d42f3ac980ba246dc5981e991d8dad7fd6efff493d75992861d887b1f143c316a34f81af8ca3ff3c8a11ea5d0a89f87b1705c13 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 434d63814b608f3abf1367ab7166f40557fb1b65031d1f11 -FixedInputDataByteLen = 60 -FixedInputData = 3149625cd291ac1aab5080992d7c9a104f96f2fb92ffe49ac62a1346746d5df469210602823ef790d1d0106e5a3249fe7bd4463036be54016f4c96d8 -KO = ec55f9b9eeb728e380cc7097fc8bd28d - -COUNT=1 -L = 128 -KI = 9ba84d52a5827a1c89d0623fe01fd6a2f9fe5b7ea683baf8 -FixedInputDataByteLen = 60 -FixedInputData = c2528f144705f64aebbba3322e9f3dd5c9e8ee53623280a9bbee05c69d2df4ac4ff6f9022b3af96aad6f441afbf38e8cb4d3398e30de1f1f602cc678 -KO = e8fabd03661e121b179dbd4677b75bbf - -COUNT=2 -L = 128 -KI = 94491bbdb8f76d96912c4fdbe5c8eadef0f5fc6896a1bc7c -FixedInputDataByteLen = 60 -FixedInputData = 0f3cd1ca91a8ad1cef14e6aa69d215349eee2ce3f97348bfbbd533ea78779cddf516bb2e3a2d6244943865c6296845b8cee3741834a4a5d89d4c6bc0 -KO = 6176578c10291773116b3dd325be5044 - -COUNT=3 -L = 128 -KI = 69d099189d8cee1d5c66ff051ed4e75899c7f176c74f282d -FixedInputDataByteLen = 60 -FixedInputData = c8f6a188e36a45e3e5a0baaad0428e2a8609d8ad0312c81e486a2479e9d3ecc733ba4124708315d58de3097aa93e831cadcf61f966e81982f95cbc1b -KO = 9957a0708c23ef1e3dece40e50f8b3e6 - -COUNT=4 -L = 128 -KI = 8088732d5aaa6c1fd934490c2f5bdf823a958662189abd9e -FixedInputDataByteLen = 60 -FixedInputData = 57854bb7fcc27d5fed6b40c7e20922fa6c3e47abffe7cf64b53d709a8c931b52345adbaadfbbc7fcfeaa28c4772df5c323098242cb51467df2d4e30e -KO = 632eadd9d0cddbd489f2bf0982111c01 - -COUNT=5 -L = 128 -KI = 0f72c126b19539fd03a10a45db849e4246f298e5086fe751 -FixedInputDataByteLen = 60 -FixedInputData = 7b69b166bcac7918fc5dd8f1e07eb71d1a800bfec553f2913bb51703ff3c065e0bcbae4851bbf24c765ef0433b22ad8d25795661138c594d342632e0 -KO = ac72c59c7749067ab24adc8ba6e44a10 - -COUNT=6 -L = 128 -KI = 62dc193dc63bdd85ebed5fc31e146ecbdc1a4b5bb2020c13 -FixedInputDataByteLen = 60 -FixedInputData = 5debc819a9fa09eca89ad9b42da1e83da4a51a0390673be0b23a1e835f22bbc40b07448dabe84e13059d45ffaacd946c04690890af0099155834246c -KO = f3c77db01ee09f95716ba9a0a1240975 - -COUNT=7 -L = 128 -KI = 8f735494d5ecac9adeb0070d0cd16d77892f2a2782ec7fa8 -FixedInputDataByteLen = 60 -FixedInputData = edc22c4ff2881b6bc192d8801df152bf2c31c5368b1770856df7690a6eda060534d671638412af578786d80c57ad718f2e9867f0e6e41a250bb62d3e -KO = 1990aea63f1ae5672f5f44f7fc5c5e9d - -COUNT=8 -L = 128 -KI = c5bb9b9d78ca42cfe33797f2b6f3b542829565e67636ba43 -FixedInputDataByteLen = 60 -FixedInputData = e96099219d3f0202e88acff37877e0dae5b5d9e71c99e3f651cc84a804a07f045806a9d941b9fb4bfb5914619780200ef1db7cb2496d7496899e6577 -KO = 92f565ae70a452480fa39380292d6e24 - -COUNT=9 -L = 128 -KI = 36cd61578b3325c7f96018e60ae97b4c2fc9c056c2f7aa18 -FixedInputDataByteLen = 60 -FixedInputData = 76370c1e50753f736091dff135c3978980e9c667008580f48afc83f277c6353633a522ed67c6363206a8352284398511af8946412ce38207793af845 -KO = 67e75d7b036632dbcd9b5d294036ebcd - -COUNT=10 -L = 512 -KI = b6b8260996dbf662e975529ac7890bbf630ecf5417a72295 -FixedInputDataByteLen = 60 -FixedInputData = 35365e296e81dce0f2e959a65ec164e947e4bd28a06970dbf82f4774796448d0f23e2d6792b3cc21f1e6a223dee96db773ce8500723a2e2c70e5ab4a -KO = 846b58c1b94f35110ac2b0194237bec4b88749e59f7587717b510c033402639e59c1a5030823d38514ff83d4ae530f908522390da181285971bfbd57a49f8b2e - -COUNT=11 -L = 512 -KI = f573a59e836d68f0453023ba6551f43473496dc12f683f6b -FixedInputDataByteLen = 60 -FixedInputData = 7998fb7fbf2a02842253bb2eacffec05d5fc843a2f7f63f8b136c90f9ae0b6ed53cdaa42e1f9c8c3faceb707e4514fdb5157a20c5309d7538800766c -KO = 88cff54f945cf153bf3e517b7c778acddb6ebfe390782f8be7b4817ebfe6dead127891b0341646bb58a4ea6939e67a54019bb187886be99e334ece91158fe215 - -COUNT=12 -L = 512 -KI = 34881abc36ed3ce097a234f2162a99f82cdfe6a91b4c4f0a -FixedInputDataByteLen = 60 -FixedInputData = 7a3a7e3804302a85e8e65f8de50efd8b93c685a138d608c84a2a6614ba5f5cff8858713636231e0d8d38915c90accb718e47c245e8b3f560b47e85e6 -KO = eb050d5e7ad9b49895058deb9ada2978632c55cfe2e1450ba1f81be370f0351e0ab763272ce2be017b6072c1588db6dd1309d9f89a113d28e71c9ab5a58f3fe7 - -COUNT=13 -L = 512 -KI = 6c68ae2073a61e746ce574b1c11332201be680b217958400 -FixedInputDataByteLen = 60 -FixedInputData = 3ebfa08646c75d9d8224b02b5adb5d6cd62f4b5416df4b2fd647053b8baa80385107645ca7f162608f2e5c6cf0b4d26bb8f1b6738acd08055ad65501 -KO = 3c0e87633d74528ea429be77733447d092c85d9d540e06d73481384a4ae218597d75a1b94236b61c15ef05c305a6aa07efa50b4982b746c04d2b20b7a0bfd02d - -COUNT=14 -L = 512 -KI = 5f0f5100cd71d18690b41d5d120f805af97b3fa51f20e111 -FixedInputDataByteLen = 60 -FixedInputData = 316e2b20fb318c466f6f74a56326dded4a40e983d61d66e05a5d5c742a6c77ace56594084cf64f7654301df633a3abb74741f11e2363df67324a8a48 -KO = 834327fb89801477f923d06095e6238f0be5faa359f1f7f993660feb7ab6c2ba2fe0a9cd5d86313ba92071ff004433b153563732f092bc4131cfb176ed1c6ec3 - -COUNT=15 -L = 512 -KI = 04a1d8de8f8e7931a0da198dfdba44e9c10d8e1b94a2aa78 -FixedInputDataByteLen = 60 -FixedInputData = e9c4d51f0d4668bc461f29a12c78b76c2f279da172c765b2294213410f907ee3cd03d750c858fc4d4fc8dcd46a7e56d85dc75f68323070cdb7b31ad9 -KO = 147a7dcbc7ddf783482a0c36235ecdc9b6560b02eda0fc55e5a252ab0648f184b71bd4c58f39c9c34dda735bbc005d06f36425e7375462d3353e7038610a7876 - -COUNT=16 -L = 512 -KI = 4dcb0bcb1c7c62aa666b4dbe7e0e3dda23ec06b11d400e47 -FixedInputDataByteLen = 60 -FixedInputData = 185520cf91cb3c15a883963d59a9860eb3f212ea504ac30ea9c70280a8802212cda5067584564ab7a8592b7adf3d530e0d0652e36c3873bf10b426fe -KO = 69755bf977ef962432521034974e12a13fdee56b1080659431f4ff354ec4de008ce0bab2fa7a572513079022a89a7a0c36fba42312e9c225f46378c0a5243aa4 - -COUNT=17 -L = 512 -KI = dc7cc6bf4e39ab0fbf6ebc7f582ad9f31d728ce0aa8a07d3 -FixedInputDataByteLen = 60 -FixedInputData = 22b79ccf35279cf788b966052309d80190d2b226382f2172878b139d7946d49bdd5fe6c5df116b97b9a2f3d664b32188125a0b63c675d57c87c61802 -KO = 9572db8d150769fa484a9e21563c5f123ec81b7e221462121e61a4e89e082aaeb41cd20a3d8a1b0d0f3c2935ecae9e2dc0b95642aa82d91a6eb6987f614038a6 - -COUNT=18 -L = 512 -KI = a55827e54dad43a4e1704f017844a78a71eff6d3208ae76e -FixedInputDataByteLen = 60 -FixedInputData = 227ade2067e46d7fd08060e93ce808ca9e8adef8bd3bdf90c7f09dc9c6d4160f48123b20e4badfcc99d739141825efbd9b9f2546510c572e3b244f3d -KO = 3a3bdca281674dc3fc37d952e6df43359239adb610cd5f01e81401d319ce33e31e11ced60335ec8463caf9b7ac4757b199aa4bfcff82dd99b43a003ccb143a3e - -COUNT=19 -L = 512 -KI = 3d1953eeafc3ebb41c86d52c5097e032195aa23e8c2c01e2 -FixedInputDataByteLen = 60 -FixedInputData = e3646dbac4350ebdcbe7d8c2ac428fab5174461d8263b44ce32a88d127d21472c47bde53cf5ff949693b9b3d71183fd63225cc15b19ed4c5de8aa11b -KO = 71dbf4401719680156e4dc74fa29fa5410f31bdc9f80c7b55d2a086ae4365f896e899966c5f9d91765b041559c394ada0c1f3378896a2450ab9479d47463e8e3 - -COUNT=20 -L = 160 -KI = 506931af46a78838a2b75f10c4306bcdafc40614b3983df0 -FixedInputDataByteLen = 60 -FixedInputData = 7361916a8c3cce1ba4a721c257da2d54cc21681030a2d29406e481f84544eaa5319511033dd9938fa1759861abd5f501e8299a035c18753090f573f6 -KO = d99125b22ed270d4a9335d11fdb4d27b7a8ad9f7 - -COUNT=21 -L = 160 -KI = d8b4cc4500682f1fe4f44598b0fdf5a4e500caec7b5b3798 -FixedInputDataByteLen = 60 -FixedInputData = 9e723b76bc9bd247e2d9621bfcd02eb97b03a276cf86e19edd1719d2f9a62f1266d8534ff509cb1dd70191e8236daadd9ad1d8258ac21e55b647baae -KO = c82a3191c76353602ac32621a17361ed33dbbdd7 - -COUNT=22 -L = 160 -KI = 043c51b035060e2b2c89a30be4bf1ce2655ce7b27a1e9191 -FixedInputDataByteLen = 60 -FixedInputData = f3fdadd33596eadbf7c54e99925983811ea7f509aab7cac27b24761e8e15771e5f099da834d18fc8d5864563f511937fa23f2fdae00458bbb29dd67f -KO = 698cfba11720f95db6db31222dfb0d84f78ce007 - -COUNT=23 -L = 160 -KI = 5c96ef78476040dda8a33039e219471f31b473d094b78ee5 -FixedInputDataByteLen = 60 -FixedInputData = a5017d546c9cfc288d67782d2cb3944913b0e081c71e604dc788fc84c7533535c1731986cd3f3c02998dcb6487ad9f16fa656ac13cba1d091248d043 -KO = c2d648bdb870b1b4f5524c5e49d87d18d92b50c5 - -COUNT=24 -L = 160 -KI = 7987aaa3e089e4d1504e143b6130d1f77fefcfc694cd2417 -FixedInputDataByteLen = 60 -FixedInputData = 8c7d7686c0174cb06689af3670dba61299a8dd1b912ede3218816b30706a5e820d961577bdfc993a9e4a5cf15fd0eadc086f2d3032e7a5b07f607ed0 -KO = 7320ad7d3e19070254856e92b05c86bab853e018 - -COUNT=25 -L = 160 -KI = ff34134b8c34d1a6635890d99ea9bf8dbfe3c90e7036fd7c -FixedInputDataByteLen = 60 -FixedInputData = d5a5350159eedcec7f9092fa23dcfa536899e91e2669597415486b5c7fd8050de91dd9963b45d33265a7a85290ec27684fbe8be5e07d5318b61e8190 -KO = 7267190924fb18090aabe1177713c20d5441e609 - -COUNT=26 -L = 160 -KI = f0917495082b450142b89f35f2a38954a990a3fe416c47f2 -FixedInputDataByteLen = 60 -FixedInputData = 0998273025ca50edc11148d193b84245e147e221213c3754e6fc60cb413cbf0c1fb99642e93c46d98a402bffda2a80e196197fb84e276fc872dc9741 -KO = fc07b8b18d8ba5d7ebf3a84457df6c686e347ba1 - -COUNT=27 -L = 160 -KI = b64dc7266944534022dbb0246354971e69e6faf1b61d1454 -FixedInputDataByteLen = 60 -FixedInputData = bf55b4ef045a53cf2b52b25da7f0b9f9582fa4cfa13db3b917dd88787b5bda8affd45fa57655eddb802159f66edc0991560eb15dcd228219ce3f9e35 -KO = 6c15d62d7c1d93bd213d21de7707fe6fd1a06c04 - -COUNT=28 -L = 160 -KI = 9b1fd02d4ddb2ebab0ee8111e9d437fbeedfa42302dd75cd -FixedInputDataByteLen = 60 -FixedInputData = 923c8aeb37ddced0c20f07eb273a1ab1791f090f09226e35f398d803d81f09c8183d09259abedef67407c4125bc9fbd9d3dff1de2a300bf539e6077a -KO = 29470f6ec3ad22179d3cbe7da9b899eaba64e031 - -COUNT=29 -L = 160 -KI = dbd13481672c5f4e8dfffa16b98928b1afb677a8a18a417f -FixedInputDataByteLen = 60 -FixedInputData = 46bf0b6b018e98b9f840ae6f67658eb30706ae75629b326584a0947f60f40e110c03558d04af6c6ed4173652c3e7d209519302e9b2f658652195d806 -KO = f31a6b8519d430b8da3fa1aaa2be3df19d472beb - -COUNT=30 -L = 560 -KI = e07baccb2c01e29d1d36bc2a02582b09b8733ce088ae82de -FixedInputDataByteLen = 60 -FixedInputData = a2c423821ab7753ab4dd78bb70b4308f011c321ee3f6340911c29df8710528157d01aee100c0d9ba1f3126c5f6dddf07c6986b87d01580785736068c -KO = 120a1054bbcb15eb42a0bd42226a31675a2bdb190785439573ac9f1f1b7ec38c03b4d6d6eb24d53049064e0f611385f5b0da187690aa95efd7a57d8f7e319ea934649e630c66 - -COUNT=31 -L = 560 -KI = de80969f932c3a85b27d18dffca947def7c1468f36269ec8 -FixedInputDataByteLen = 60 -FixedInputData = 339e02de9b0e7f18333b932ea2b539365c3d3418e39d469ce474b8cd1524e561298d5d956d5aaaadfd792c3ae8871f6921e374f49e4111678ee2263a -KO = 110da5bf815094dec2b16c0bd8d85ebbc1cfdfb120813c0f35f3f8a06977118ea09fafe15851b056e319b215a4646e679b553e5d318bf0c5d394c89d6ff63f222554f4ea92e4 - -COUNT=32 -L = 560 -KI = db81205787d1d854940b02d38551e65e1ca176cb1d886824 -FixedInputDataByteLen = 60 -FixedInputData = b47a71f9939757c8b0fba1ed5c8153930fb9f954798b7f6e1ab9c4d873b67358fbd01bdc935d02a30fd5c8c66f624f1c08664a0ff8a283946156834d -KO = 4d44f075341ddcea98ee461dde6229c049b7d33e8475558fae31049bd02e119623264accb90b554cd118264396c3ff3c4e5f63e82c01721d882da1c6cdc70eca7d0c4d02b757 - -COUNT=33 -L = 560 -KI = 4e018afc29d494687ccfd2f8abca256e1288f7966b68463e -FixedInputDataByteLen = 60 -FixedInputData = 3ee6cf2dfe6b7d20ac2223fdaa384711ea7bd9e629c343ca3c4dd0550e10769148f8e55865a224d0ec01d783baa1c1a3ff4f74d96884da0141ffeed1 -KO = 624eec5644e7a1b5560b8bcbb6a6c59e95105152167de4f5734305d5071da35e4113679d96fb83fa69b00f38bb377a2bf39e5bb008ebf949133ecf0dcfe04921f839a93e8295 - -COUNT=34 -L = 560 -KI = 190a0608c2f2dfb48d98852d4e79cf41575a751eb12a77d7 -FixedInputDataByteLen = 60 -FixedInputData = 697c86fa7031862bb689eadd801fcb767db9df90a1335d50e39c83ec334fc550259a686a3a14dc6b570e792fb736b6839b392044a63ddb15c95139bb -KO = d92c12f07212629c7a835189b23355425d46cecf4bd9b4c337ad4029125365e7d70bca82291e3267234e9d2dd54d6b8bd12a5fb3a2bd031dfcb8bd9b7534fd6b74d154a61696 - -COUNT=35 -L = 560 -KI = b2d39ab9ac74daa0b15da1ada26705b50b4d86f16fa4375c -FixedInputDataByteLen = 60 -FixedInputData = 896b92bdbee9f39deda0410d74da3feae113ab5431be0eedfb3744915c83ae1f4ceda44652e74d8fe9d8d4b0ec6f3305e70c49e35760da32a9b790c2 -KO = 26b9bdf2ab6ffef8de486af788203ac3d51a548250bd7425cbbbd49cd958d79383a8890dc1d5fc68b43940bfb4f00c9df28836920752e47afe266a2efe72f408c5343e467ccc - -COUNT=36 -L = 560 -KI = b764b17044e07872baa9622501a690f0a0efa94c8abb0835 -FixedInputDataByteLen = 60 -FixedInputData = abe9e5f138f1c3e8f9f6d342a158f9c81a8d31dac026d8d8d4f87e950eb39d21723af669b82786d7baba40b0c52ff45938ddbbdfd3f3fe4324feb61b -KO = 53dbdcdbd6940078169fd449971fb1997b76dcc3998ae59f12c7be4ca0a4288d5c6f542028dc80ad6209b5e6f8cabaa59cf0d47d268d60e96a385fa71882e85bd995e810818d - -COUNT=37 -L = 560 -KI = a5e94c251c1e6129e63288d2965c577e2032bd124d851974 -FixedInputDataByteLen = 60 -FixedInputData = 0fa90adc24534b18a96d193adaf4c55d9898fd9e34ed825cc04d57238b4bf1b0d7559dd833fb9495f06727febba41cb6ee37534003dc0da6f6c869db -KO = 777db1e925b7ac1e6da805b98a64bbc857a408e44db595d1dfa58d52154890e0f5f6b56c439aeefc959009bf531e84c63cfa8e15fe6f3e0db711be05960f760865b8f7113667 - -COUNT=38 -L = 560 -KI = 7a335c90f1d3ed76b2fd99904cff791c4dda9c7ba9706bb3 -FixedInputDataByteLen = 60 -FixedInputData = d1d7a548957c2fecc179433b6b3b3f1450c1286fbb0ed36749a9c604c577f76d78c968f894b05556fe3d893a88dbaf3a6cd5b7f96c4ec2ae4d11d160 -KO = 401d4a86831215d3b66423f8d05b333fe6df651009cf457ca5b1d33428e7131239d2848c72ce9e22b645d6277a5d17f5dab011d27bcecca420e919911d3b1ac29e75c9ff48fc - -COUNT=39 -L = 560 -KI = e1a58d799df20c79c0241fff27a39390a9630281a550806b -FixedInputDataByteLen = 60 -FixedInputData = 32dafe01c7eadca94b36c13722d41885dbe479132383254f5bebf9f0baf47d55d028541d04c29c92c724403e32151e9fab4e34f40ccd1692bb82d09f -KO = e7d25560aea2adfa00f42e6947f510b11787bb3df25dd1f01adce04358a96d19d990ea1ee896ecfb9874cea9b53260ced2d137d5d83765030efe59ca8a437cbddd9a053ecfc6 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = b2b7e326ea3947a74be25f5e923b23d619ca603a99f528c3 -FixedInputDataByteLen = 60 -FixedInputData = 651c5ca8e4eac484f788dd37d3db4b376d6f26e6a06dfb3c9e6b57c6ff7063861656960da704e2a162687193988760b1262217859c94292eb8ec0163 -KO = b8f09ae6bd5b93bb43ba801eee3e0c44 - -COUNT=1 -L = 128 -KI = dc6d2c4d117fbd946971fed1ff83eff250d011821c1ebf67 -FixedInputDataByteLen = 60 -FixedInputData = ac7cfb5af62de229a2a19e4ba6e83bcf110082ea1d6d09b706875a1871aa62d551c51b85d8ac84a8fa901cdb745c90bd92772d0e68ce9f7deb58b5cc -KO = a4055c2d392b6632192211fcc1052937 - -COUNT=2 -L = 128 -KI = 597002a88f06420391801116c3388eb6bfd7a7f4c348d0a6 -FixedInputDataByteLen = 60 -FixedInputData = 24a36b1852bed789b9409ac5e613a7373b5c3bed7b0bcb13e3034ae7ab749c4fe26f2b53c3367134b34fe8ec7397c2df134134c27a0981cc75197043 -KO = adc63b9769c7e9bdd35a60b804de7660 - -COUNT=3 -L = 128 -KI = 6d6e764813a6ac17c892c8aa3874517232ff5225b1a1d7e3 -FixedInputDataByteLen = 60 -FixedInputData = a4c709949ac1fb6a655a4ed20e47408077e5fd4670c7a7388b0cb9ad3130a9f102a10110b82a1d27d134b176754dcfbe24a8f23260687b8d76179f2b -KO = 2aa987fe9ee85d542acdc481b618571e - -COUNT=4 -L = 128 -KI = a2eacb6ab019a4763913be1e51330f2d03069d650dee9e4d -FixedInputDataByteLen = 60 -FixedInputData = bb3f1e8c3969f4e9e5d5fdc764b7d639b7447806144f6b734ecd58fe6ec209074f620d620c619d587ea88ac70c32afd5818f7130fbc8bdd3a8a99ed6 -KO = 32550ff97e2d460bf673cc8be2fb823c - -COUNT=5 -L = 128 -KI = 74cee26caa851a9165ee7ffeb2b4572f3ea50ebb6bea0c08 -FixedInputDataByteLen = 60 -FixedInputData = 7f907b73c94e2c6aa21b4a941f842c3036a4629246346c537cfd3c9c483774c12b3a956a9eda625ce8034e37e0ae757c9f2a9812e3bb859c55f838b9 -KO = cfe56586aa203c9c3b203ad7a3170208 - -COUNT=6 -L = 128 -KI = 6d5394397b7218579e815f987f189f709c76476665cddffa -FixedInputDataByteLen = 60 -FixedInputData = 230cff9a19a9fe8fa733110572802d0c0117ec6ef082c0a4c99befbdd7183fbf518f7751e9f812e6dc53f8fa39e87676f2b5146445f65589f2899c10 -KO = 5036d00cc2ad8d9c53440cafb54d1b1f - -COUNT=7 -L = 128 -KI = 0ca7cb6fbf5cc1928abee7d9ee42faa19ca9a01545397e02 -FixedInputDataByteLen = 60 -FixedInputData = dcdf59f9f8abc27a12aab5f618a4cadea5cb6ee4e53078a3a09dc67c674b172cc90d8f010275a1ff5c7a4b677bfb2201731c3961edbab6e1ff572352 -KO = f981733e5a88d351dae8d455f68d14c9 - -COUNT=8 -L = 128 -KI = d4240e4d7b5f81821098da8f7d38dc79dbd907620059a732 -FixedInputDataByteLen = 60 -FixedInputData = 3139f53636041edd78a93b2d50ebcb87177ed0be8c4c39c560e99783b69df92e1185fb5b7c4c17731cfaf1a9164181d5fb37a8d4f245207ec5a2437f -KO = 9e0b3e8d6461bc7cd5409668f736af67 - -COUNT=9 -L = 128 -KI = 717a66f017e26b07902e482f905c508d9b5c9de28ab6d7e2 -FixedInputDataByteLen = 60 -FixedInputData = b3dc28f3c0e2f65156d2f1f4baaded7f677c5079c81cc8bebbd25dd4222b55c212dbbfe03ad76548f2c0b2ccbccb9d851eca3e5a3040a7fe975b9e8e -KO = 6e95138c67c758792294f0aff47a65b2 - -COUNT=10 -L = 512 -KI = 151de105221801503010fcdee626aa5cd864a86df56ff841 -FixedInputDataByteLen = 60 -FixedInputData = 947d4f5019002b024e836834229c679b6f5720181e577a5082ffa2a7073e5379ae891605ba77045611d0bc67356686fd3e80aabf55863bb4a144ba08 -KO = 6ddec1ecc75a5b8ecaafaf3476074d76ffa3b443ebe546289f57186427804b3bca7e1ec98ec8e356e2702dbb318fcd2676f417617522f2fb5588f5be5c4f5ba1 - -COUNT=11 -L = 512 -KI = 6a69f5bd73e0b1f9eb80bd1b35329be48424c8f5bb257512 -FixedInputDataByteLen = 60 -FixedInputData = d4c5229cee6573fa8bf139d4d0709939c185940c293f157cc85618702705c25dd8334a23b64360a5365729150df34a02a6776adb1d66236c4f9e18ac -KO = 28e1e18538d299317ffca330097e5c72a3c438a37e52244de69c71bbab2c1a32a52cf1b210391349dbc238b4ecb64a0a63c8c7fadd7a2f5bf2280dac7a181afb - -COUNT=12 -L = 512 -KI = 52ccea028ef01ffa1608412e657b12b3d3580407e0cedfbb -FixedInputDataByteLen = 60 -FixedInputData = bce61aec4bca6edd8764ffe1dec4edf8884adc3380ab4ffef896d6ca74379ee178c972d471d48ecc7d421e396a96ca24a681c5fb6cfed38fdb26dcc3 -KO = 6ab5a616bf17da409985dabad652e59b65d898c2b905644b6d9a85e70a3a9aa031a065b2aa0aa0663652aa65cf6657ac6ee5c686409c2d5d09a64caf457f1e5a - -COUNT=13 -L = 512 -KI = e8ee38a6e915e2cba7241b439f6795be8606969cb0d2abff -FixedInputDataByteLen = 60 -FixedInputData = 3b371c6c6cb9e8b1a0e99810a605b23afa6c6deae2fe8a497410927dc01c9764bc43d6de4c89ab4df0639142153e91b07a8cf1de35ffae1c69bb7ce9 -KO = 7e30f5365ec46461356fd189e30923b4d73e4a3f51465702872fdf525e4cf342a574185b0d068d802204aa970643a9d3e925439366453f9cdbda80e560ad9407 - -COUNT=14 -L = 512 -KI = 1750ea91e42209889531c4e1163f1e9545cd39a472fd2307 -FixedInputDataByteLen = 60 -FixedInputData = 771a97a2d1487e9d9bdfd5c5fc6d077969ec4541342320e8315aaa2e5d8ad96f1fdc93b23c1b9e707ad50caff62c4dd94d36bb473580c2c7b5626be2 -KO = 2f55ec36d977984371bb192578594ad8d32a5dd9277359a1e33fd115148da2db9316014a29e8fd3288ed2d9f49a6de1416e8e694749b50b4deba567c24b6943f - -COUNT=15 -L = 512 -KI = e512bd9b1d267c2ffb0c43f3fef28cfd32972da513ac03ee -FixedInputDataByteLen = 60 -FixedInputData = 49707e26bc08b192e5bf15897548bdc1272e5a10db047113792d1581516a9b9dec1a5ca633a5f96324d3376277ff6def5aac2f711e3e4b5b85297e06 -KO = d08bdbeebdd9ac6a2c1fcac9187f2fd973d8acaf7ff5a1a49cea21c9cbc4b207701eb9f75b77aa4dac827367bc3f0f28fdb64b0a7305cc4cb4a339340ac5cbde - -COUNT=16 -L = 512 -KI = 6d357e5f4b9f97c9cd3a8c57c8e2e2c0dffef3dd4d8f3c16 -FixedInputDataByteLen = 60 -FixedInputData = 8910a7e441b95d55b119bd00fdf05f4eb6810a45dda85d4d7107856266ef69d87cbca6df57ddc47f64e489e64aee881915b0d95b6b6a6cedec49be25 -KO = 653eb74bcbe0a886fd269b6471b40fc3638c5d625a02b5d8e573bc45083e7005092e713bf39be842a07e00be0955d85eb9c0336f99d7cab79744554d80aab245 - -COUNT=17 -L = 512 -KI = 339b28b4fba726a95a0df3145c2bf06e26051cbec237545a -FixedInputDataByteLen = 60 -FixedInputData = 2b8e811964ecc7fd951264d8890c698e89ce1ca14e4241fd1146d64235db0120494531ba3fe872d7d241e58b087fb1f5a1e836e3bd2cb436e042b42f -KO = c704bda8a11b5f0b3fc65c586ee0a117f51d2091c3bed750df63c3a03407d4c6d56cc705a680a79628f50c84e5012a79ffe0f048293e561371915a713dfd4c0b - -COUNT=18 -L = 512 -KI = ed1023c20795559e3cb5a372116bf1c4c10396b5afca3756 -FixedInputDataByteLen = 60 -FixedInputData = c9f4c8d989eb49d0dcd0ea6cf97bcf275ef108e47bedd6b62bd7f0b37c2596e19c3d781f8a51d8b5992ae32cc49865a1c32598accc0da80c7a7408eb -KO = bc3240608399518b8d37009724222fc3353cef33a968beb31d41891b2cbed84c61cdbd1da7854296b370e2d5943503e7b78186e3dfa0b8995f79a0559a11bc9f - -COUNT=19 -L = 512 -KI = 464b62e42f161660d623f3b33e1e7648878f263cc0b588b4 -FixedInputDataByteLen = 60 -FixedInputData = de9d5b68bba56e2312d5c5ce2032f30c5ef1b3609e837123a6e8871d82654c6f48aab9411089d4dd2bbb4985f34521c6bc40affad6eacfc3c7af6ea4 -KO = 352981d02e1af2c6b12b38e2e2c232c2a8f0750402aa34b14187019e2b39d6ca9bb5240983de7a850764f4574afe24b666024c06dd29e71d4395ae0edb1081c9 - -COUNT=20 -L = 160 -KI = e3e0c1ccdffce15d53831973dd78bc75e5deff10749d2044 -FixedInputDataByteLen = 60 -FixedInputData = 33f30e4eda2be52c470331fde9d5096a28237c4205584ebd51cead5a4ab34e58c3ddf909c5956841a6738e93902817c486adb9ac3fd21edc061d0a7f -KO = bfcbc82620bf9ac3f6850ee298f88710e50fec84 - -COUNT=21 -L = 160 -KI = fac0edc77afe1c0f33384c2f796c3c3a0f09cf349ea538c9 -FixedInputDataByteLen = 60 -FixedInputData = 56bf0872acd8a54f5e2992ec97c0573c692c3584ed7792c5c46462c70bc97bc2092a61e8b1113e636fd7f5320ba9141be54a0247baaf3d56373445dc -KO = 45a1b1323729d515909e0b817df0a7ccc6835152 - -COUNT=22 -L = 160 -KI = bbd3c21dad9f061b95b9ae5fa9d69c9503c6439040d6171b -FixedInputDataByteLen = 60 -FixedInputData = c894e08e91aed0d8216b5a783177bd9d5808b400d0775e36b9bb8140d913f39fe2bc3b375fbea4c782711d854bbd65e3f9fc83590ac2d4e71b24508f -KO = a7a7ca58b77616e9dc48522eb787ccd264f51daa - -COUNT=23 -L = 160 -KI = 40afb760c8a8e83aab262b1b47416c03cc2a88d4ffae3b8d -FixedInputDataByteLen = 60 -FixedInputData = 4fdbe33b390b321f270af5e2e9fa8a3b964651180c98042a18e2186948089fba1cd4d202a3ab9d0a2c86ca2f5f8bdb22256a52acbd1ca99b5fee334c -KO = b67ab223e2f3e65fd121a7ab28b89f22db389e4d - -COUNT=24 -L = 160 -KI = 330e6468a575e7c3b7089b59885056f9a25897037c9cc66a -FixedInputDataByteLen = 60 -FixedInputData = b6366c5f2e5400f0c349f7420dcb0e6798c95d4343dcf59d28b3c1f19de127480d070c2990e2b832b2832dfda91f1a7cfd2471242b30fbd852a87bb3 -KO = 119958d22fcf6c638090fd58d3d7225e1422da8b - -COUNT=25 -L = 160 -KI = 955d172cd9594475df7242b7ca626c517bf6aef6f4e8e3bb -FixedInputDataByteLen = 60 -FixedInputData = 7413d7ddb7ded7c78cda6c42392b9daa282c43f97bc77ecdb55c30f78745db515e84d22d2cb0c0a2673350c04985d50332659b9b89e619aa259e70a6 -KO = 632766adbb36def8cd38c4e7bf5e15b36d4695c6 - -COUNT=26 -L = 160 -KI = 97ab26a8ce6a460b988e8a60df0bdb4626b9937b808bf71a -FixedInputDataByteLen = 60 -FixedInputData = dcacbf9729eb8606a08528e96b9f9874404e3766a56d4a43ae8f7474d7a93b252346052ccb882b732729c7998410db622cad49657b8d67940055c16f -KO = 880b1456cdd52c4ba2f5fc416ce5d902bfb55cd5 - -COUNT=27 -L = 160 -KI = 3887b6f5a504a5da6c1593c2502bcf2f162e79dd22617e00 -FixedInputDataByteLen = 60 -FixedInputData = f87c2237dd1c133ba9328b9438e4168019e4b4b4bf5fd034ae048b8b02dc2d0af863e8266a2ea0a6e2acd90e3de2377dd0fe0817fc282e0a4071f709 -KO = bcae9d986addc3be4b3ac4dd9a7b0fc386a4582e - -COUNT=28 -L = 160 -KI = 288c5bd4c9d3a8c901cce916ea7d53ce3d49fdb606adbbae -FixedInputDataByteLen = 60 -FixedInputData = a40b432afa2d4cd2e7768a2de74d8023df031b80900eab33e1a116c2b61df507219282586fa5889648ac80e9aae1a269b4c87798ec81ea0ddd7b9b11 -KO = d7669a3497e7999c3934eae46cb4f2dfcd6848ce - -COUNT=29 -L = 160 -KI = cc141158549d4e5f978ca41265277a735567ce8c4debde1a -FixedInputDataByteLen = 60 -FixedInputData = dd2623c2c2183312de2977abdb40706d19ca95b144e5e30d063351a1ac1f2c33d5e42e0e0c214ab097010cdfdcbf5d1c08843c8c4fec80d1b8759ba7 -KO = e6b1d78b30a36c4dce64aa998f684868e0b0cd68 - -COUNT=30 -L = 560 -KI = f17ece866d0d6e6b7d3efcbcb8b9f4cfda1c0085c71db2ef -FixedInputDataByteLen = 60 -FixedInputData = 6d0114991e43fb669b9eda9dad9aef0764ad2ececf6650781e554428107ea3d7c6b2516e780cdeb938e1ce0c6332925980c2901cc8429ff124513067 -KO = 094b373f7bb18ec1b4d5362dbe9d0e51cc263906210d32d263de6e607805fca59f631f6deb13d4f666c010e06915add985873fc888f4f87bdd2309140a74b9ac85495d613006 - -COUNT=31 -L = 560 -KI = 2eda80414413597381fa270b436e39e68caa28cef9d00207 -FixedInputDataByteLen = 60 -FixedInputData = 2df429d444c646e972439e7c85809de12161ef43f516e21fe7201c65318c2d4f91f7f8ed9243de550f5b7f129b214338fe14cbe5f554e92f9a8607a7 -KO = c7168fefd85d4c03ef7ca5ded01c5c907d330edbf3e20dc9f6a711ad8ea6df9fb902cb37e805fad09d63e35347bae25ac182b0ee17fca20292f6bec6774d1ea96b5850892177 - -COUNT=32 -L = 560 -KI = 6aab4462dee618c8b91b4fe1371d80aa7691abbd91eb0a95 -FixedInputDataByteLen = 60 -FixedInputData = a7ec2cfa32aa20046b5f773af306cc2fd375f240fbdddb1fc9475df6e9c0c0e793dc03eebc73bf1c9e56e67788930e6c4f656c1d3141df9c30339f71 -KO = 16d2766ae5b7422f5e3fbf3ab6ec4a509b9523e164bd5460e5cd8885684f711c908d2e3fa1c9f01ce17821990145c0bb2897ddc40a4e57e72a0e2738da573a0b327fcc00846d - -COUNT=33 -L = 560 -KI = 26c906ee25a5fd74a0cd51abb1ff4f73579de2775379c22f -FixedInputDataByteLen = 60 -FixedInputData = 40c2431fc3a7fc3fee465cf1d6e9df73dcfeeba96fa377c744af5815d060158a15c39f58e79b942af789dc5ee35e5a17a7a5987cc7b95caaea10adff -KO = 7887f71b8fd88d6ee19acd44b350a63672b785fd5e061f513505259fb4d81bfd5cbfc3be5b752d18b20c62fb6d811e8e1ffb98bda83495ed9863dfd7b68709739b9ddddf143d - -COUNT=34 -L = 560 -KI = bd3ecfee5358cf21c4def3faffc6bd0051fa5cbc9a97085b -FixedInputDataByteLen = 60 -FixedInputData = 481d7b7cb9509780dc1f76cdaf983eb0fd5c793995420e603e3a235be4739a4c33592c353c2ec66b3042f708c16dac7f1e162845321b319adca510a0 -KO = 5913ed22899ada4d0858fb7abe37081d0b7d6ec5c8617262a52c32c509ead00ec360517ef7ccd231f5daf8d7438031ab60eebd892678fc84f8a06e7d3b94616ec204f8b33044 - -COUNT=35 -L = 560 -KI = 53ef7f9224b25fdd4f88621e3e00518d979de18f8e86aeda -FixedInputDataByteLen = 60 -FixedInputData = 31f6b470d387af167e96db3671fafea7301919a9ae9569d166397f1019f0c062906debf920bad5426c17e365f3cea1b53bcb238be5448cffe8945f90 -KO = 92bdd2a0ee139ff5cbe2bd667b06d2f983fac630feafb81f61e83fc086057270266d9b43c4b2157f38a1680c134279e4c188cee09f9e8ef596cd2757c760f1eba2959800e853 - -COUNT=36 -L = 560 -KI = f4f0129e2f86d217320101fcc05434f7d033e390c9d25760 -FixedInputDataByteLen = 60 -FixedInputData = 21d4239a3533f4265280b4f27f1d8dd9ecfa6767f994e027e92ba4ea942b425cfe01adf7ce234e452711fc6c63e44d30bb02d97e21317be38f027be1 -KO = d325dabc72f7ba23be7fccd82909ea5c545d484f3049da48bcea0956498f4d49e4a891ee5c677e50ef5e9e06085c598c26a4d5a23e4baa14957ef65622d21dd58606e4179811 - -COUNT=37 -L = 560 -KI = e623247deb9bfe2d58127dc3ee36e695536342f5211a1148 -FixedInputDataByteLen = 60 -FixedInputData = 7bd2a533086f7c9b6ecfc00db45d4b2fd20192edba691a0d55f98255ae32483b106d64b76bf8a811251c9398b974964b4a12a3f8e3e09f0ccc679398 -KO = 5cc638c878e754afbb5482e9070f735e800cda8827067dbcca35471ced942a7f2514275ff818e8ab1b2571c6e72d66ace0824113c13ea30e9ce8ac1a7ad295d8d5f865f5727e - -COUNT=38 -L = 560 -KI = af517db6871be39b2c4ebd6264c2dfb854df83396eeaec88 -FixedInputDataByteLen = 60 -FixedInputData = 93c5e3f8bcdc162426839c0158a982df1cfbebfba2395e0e3826187bbcd12993601047260d0c1c8ce7085d4a2f39a1fd2492558348b69ddd189275a2 -KO = 9f4f2f88c6f51f268510a3408af447ea2b7b98aa2dd00296a2a64ff9ac84b4bd212f306920bc36f9938329bb69cffb4523d244943efe91a8e66720e32094c2e61f39bd7ebd4d - -COUNT=39 -L = 560 -KI = 6c4374450b4b67c37ba44fa5370431b7ffbc5a2539b2529d -FixedInputDataByteLen = 60 -FixedInputData = 16e259b313f5a301de77512d311d76c74fb67e004898a250cb11a03dc74d80b45d30f7d83d22c4e24a25dbc0a765e53fb28b63a0c77d387a049efc5f -KO = aa0b3c9aa35d16605e9ccec231500f4b4df0d3787ac46a6c37c296d5f42745715f852be9c81467d5be79800df486c9d4cc245a059e6cb5e94728077c8e887dd728b52f0bc2a0 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 536c5505a98fc54a4a6cb639c2e7c34273c57d38422bdeb5 -FixedInputDataByteLen = 60 -FixedInputData = 4cf609cc12c4bbdeaad49ecaba1fc4eaa4f2ab6f896c8d8e4cd242c2be5c6c5a8a4a4d7f2a13d239b7a64ba6715d2590ad2fccf56936d227475dfa11 -KO = 6a433ae7511c5de339b6131a1c78d106 - -COUNT=1 -L = 128 -KI = aacf690606fcd03c52c8e78490909504d2f08d1bccd0ab9c -FixedInputDataByteLen = 60 -FixedInputData = d74781dcac97803a029b8fd829d482730a07977574d9a5f8138bd353b33af97024a7118e0eafe33b675c517ccd73eac509923915ee08ae228f30c64a -KO = 3fb6f988a7b3d975c398cceeff35a26a - -COUNT=2 -L = 128 -KI = 03ada0801fb478b46044cd2b7f621f7455554d38b1018bea -FixedInputDataByteLen = 60 -FixedInputData = c786ffa3e044a8e7998ecabafcfa50b7324fad3a942643d5c6be07fc6651b07f8553095c15c966cb65f92892e87b7d491793551a995872457dae384f -KO = a0c7fe524f327421a1b9f85cc1500649 - -COUNT=3 -L = 128 -KI = 62e12a861ab7c15414f8b4ddbacecf25e953baaeda851be6 -FixedInputDataByteLen = 60 -FixedInputData = e0e5cc50e1dea71d2b475a984b4d7e2588a263f8e7803c827babf27131eb18aae70bbe80305ff78b3165e3166dd45aaec49da1524818dcf55ce3299b -KO = b71aa85c302409b44990303dbe5cf00f - -COUNT=4 -L = 128 -KI = 11bd570ff29e23d3b0585daac6a25d3cbcfc77841621ae45 -FixedInputDataByteLen = 60 -FixedInputData = 8acdba1f7d0948ec0a5a57108f0ce5197533645ea0deab93e9a43f4c9cea030e201956d5b6edf0c92c61a73b7feb9694c48a164598d46ef9d692fab5 -KO = 812eae48e56a706b6d74d637eed13dba - -COUNT=5 -L = 128 -KI = c804d8736c30230f14d2133b6a2c0473f58a11656b42c535 -FixedInputDataByteLen = 60 -FixedInputData = 0b2f73583ed73b1de74ece149b3cf2a7bdf8423dd2fc183976e1eb4ac5a104d110cea49113f71c42119bf39ca6d9cc1c85d1a2339dc7337935732252 -KO = c7ac42d2140b711a9c4240a4f083dad3 - -COUNT=6 -L = 128 -KI = 14ee75d885ba519636f97f7922265eb29bbfa7a4346ede18 -FixedInputDataByteLen = 60 -FixedInputData = 477176331ead615d27e5d4b7091891a5c124b95e70f2985655291466ec879ad3faef8391ed9855e8be612ed8438f76de35d31cdda4fc83b3ce63a750 -KO = 4411bf4a91b1eb4bdbff8e782345a170 - -COUNT=7 -L = 128 -KI = bb40ece1f3886a05c465bd2b591a8665a1d278634bd8b59a -FixedInputDataByteLen = 60 -FixedInputData = df0e654097265500f246c291438b7e439ad749406f154c678d767d9029c14907527439dc05e876b6de0ab950eb8ecaa61433afb5636038c00eb3e581 -KO = a115218279139bcd7ccb3e4d61d2ec51 - -COUNT=8 -L = 128 -KI = 3413c5653595cd1b76e1437b6bf6f1094db822e31c7c0703 -FixedInputDataByteLen = 60 -FixedInputData = 62c4055410933c3af5fbfec7ff09831249d02f3f4c53c0158e64cc591da72df6b46087b132145dc4e48e0b0d455eb431b567d8c4d3b31510abc8ed64 -KO = 6f3726a600ac24950f466e06b68d3e65 - -COUNT=9 -L = 128 -KI = 1d98a613111e1bd183867e73723ccfc7214a2b9f2306acc7 -FixedInputDataByteLen = 60 -FixedInputData = b3fe0f4b6cd52401098c031aff0ed1dc5a68800ff47224ea8e0d814d939525c7aec6a3a63e06ae8428f167150b58773dd9d2e7a07007f3cd70f9a891 -KO = e5326e28001b45f373e85889c546615a - -COUNT=10 -L = 512 -KI = d549632a733a8694d7e5eb2373aabce2e3651fc941739d71 -FixedInputDataByteLen = 60 -FixedInputData = 81c7f863ab64ebacebc1e772ca42bf07dadef024bb015c30456e6411479c811627b4c897a3524ec992bfdede931054961cfc3db9700bc6657469bfe8 -KO = de9ee493d303a5e1ef36089b7b726a0ffcd6245db20c845cff5e63a5e4a5da1d4457f1da1a85ebb337036642ece936069c134cc68ebc6fbc52ff98f79686a1f2 - -COUNT=11 -L = 512 -KI = 0203e59f3426805e67bde92943b8fc3e6f149983bd439413 -FixedInputDataByteLen = 60 -FixedInputData = 956084782edb6d6a305d0a9306c603e9ed1051e2a7b2ea5a796baea52b5ceacc0a950bf79cfb366c32baac5489809b6c8e2071ba495b79c852b75dd1 -KO = 08e0ceeab57fb8c27baf2ab5fc9f59c3be8bb8ec3c629e63f361d804c0dcb458dc4a6ab199c3d41c8578a7f556ba9872a5aa7cf146f5d8ddb927bff3dc164dab - -COUNT=12 -L = 512 -KI = e90aee7decac22147acef5fec5aadb27cd9335b4cea60d15 -FixedInputDataByteLen = 60 -FixedInputData = cb90fc701b6055b8372df5410f606aa4593d2fc85cea5b28c9131559996f10a10ccd0b5409844067a78659af1deca0fd12caa606cdf3ff28dd6cdc1b -KO = d8933da4582e76707f38ba6ef17448c4cad58d62056c9ff41a31e222660b67011f048f92598e379298a1d0c6fb9f46e6bfd7948b0220ba52fded7721c58893b6 - -COUNT=13 -L = 512 -KI = 4eacb11953fd6b0f7c2b7eb1333faa24ba57e0cebc17ca38 -FixedInputDataByteLen = 60 -FixedInputData = 62fd78f58f546a62411e1d3558b42d9aeee0c8e755f7b0e6d7ac08af68dd8594c8e2043d566b9da7c1eb5f5a938dbcb0273e3f8394f570d57d756539 -KO = 54ae7745e97759a01e90ed6d2d198e0afb8112276997126e4622a1624a69c4031badf601eac46d5d72d655c3bef1bbcb56e55d11e721f1bdfed6c03d52bf8a0b - -COUNT=14 -L = 512 -KI = 5682e351ffb2e8f24334b419f6ddffa4b39a72dbc01e224f -FixedInputDataByteLen = 60 -FixedInputData = 39fff439def3e5a962fb085e0c7ae0e4a6b336e1b61c2ccb565c4293f8b20eae13cd1ae315508faa37d9817ba783f3c26f57c5e8459ac0b7f42ec51d -KO = 3c3293da036057ef51c2f4d922f76a6346ef73f0fbff103f54beb3ef9f66c26888b6d3ac855a35af2cbb515649edd9c0d7896aebeaf2aab60698f1bb4eb31ace - -COUNT=15 -L = 512 -KI = 8d5efcb30dd85a50afe214f01706c57a15869010bbb72a30 -FixedInputDataByteLen = 60 -FixedInputData = 62aa5904fcb9ef8278a1712a71ee9a34f31e45caa780e02ce4699533d6ccc66c9c8973b16fecd4f954f9e4bb5ede6516d05fa936539fe55dcc6f04f0 -KO = 03853e4536bcdf5afa2c953e82fa0c1252067dd6abf564427ea62bdf3df45602a989961269e17aa55a548887ac992c064a5f8839e363e3920a51598da23f61bf - -COUNT=16 -L = 512 -KI = e0fa8fdfac8a1c555689f471b92ffe9f1ed7b493abeb05c7 -FixedInputDataByteLen = 60 -FixedInputData = 52b349a68f8fea5c0a8df285a3e81fd0df2f82b52eca3e9f9a9a647009de32d4e18726b019a8576f7d7a3262dfa23f1da3c113fb177ebdb3ea72f649 -KO = 921add14eedc28adb37345506217b6b3aa3f99b995013be3a22e5afb716df9761c0c18fad757210afa32ff05c3f6b8af31372321c0ee9601a415fdbcc632082f - -COUNT=17 -L = 512 -KI = 6f6c29e07780096c5dd5d038fbe12624b8b772b2d1147935 -FixedInputDataByteLen = 60 -FixedInputData = a193c5e8fa06831b472cc718e22e760e7004ecd2ee1f2ebd212ca56273a531c202187ea8a8e889594625a52a3f6106600352019f9a03ee91b9fa07eb -KO = 8ab5a74fa9d5a10bb9fcad7dd2ce53dcb338e4f70d766615f6101bb009486bc8baafa1161a4105883ce25aa597374dacdb3bf8c9ca6b474918713c6f21c2f0ac - -COUNT=18 -L = 512 -KI = 180ab774fbdfa35f6895409489637f21fdbe15c2728294e2 -FixedInputDataByteLen = 60 -FixedInputData = 809bdaf4527cf963fb0619c4c10afefbda06f1dfdec29269b56517280a635c64380fa4ed6a96aefdfa692608da0a11bfe0a5868059c4d07db479691b -KO = 3c2581eeb1e51c03a2f09b10cf8d6e333a59bc7142cbda8f528213ac600ad9522057283d0d56ce145377cf8d4ac7185cabd6d79f1ebad11367eb59a7358207fe - -COUNT=19 -L = 512 -KI = 10ca40a5d3ec90512a07e173d1fc0407e8667747444bd1bc -FixedInputDataByteLen = 60 -FixedInputData = 4ae20a149ee67756c4f6cd7a0ffa1f02f53cdd2c49d0e9b08521d9db200a88b295be1001a2d7ac6a009c5b47027e8204921ba8f01663f88cf9a2763f -KO = 389c6f896369ab50a583f12bd76a929d15bf536c76981666a9e139784341a4e60fbcac484bb657d6149a688800b0b06f9655ae804f65c43fe7ce6e773960239c - -COUNT=20 -L = 160 -KI = 16926ec2fe7f547998a6a21f1f1d3f7b228dcc432734b308 -FixedInputDataByteLen = 60 -FixedInputData = 55f79944c541aafa2e5da0871de71c3e522d6e5d8019e692421f0d187ea73ea092c19b5c3c327a76f833b400fb97149d5c8b4cc9cc9baa74707775b1 -KO = d56bdf2a5eed49fa80014aee4fccb0b06396ef26 - -COUNT=21 -L = 160 -KI = 79e14eb4e1e67fbd41ffb3488a0ac8de1a3d79c83161d649 -FixedInputDataByteLen = 60 -FixedInputData = 1708b937fbb33af5c8ad6fc6c51a5e7a0b0235e3402f2d6723d5e01954ba897017d5fea588dd46a129a853229262d7db51c8e9b99a670de66be9475a -KO = ac16663efbae238e5a736c9e25d6c5b6117c0578 - -COUNT=22 -L = 160 -KI = 7b840d8c82fb9f8cd51fa5ddafc1e91ad1f44b0aa4c7bd90 -FixedInputDataByteLen = 60 -FixedInputData = ed6af03dbea05c6de0ce1e1c3a91d3652ebef847d9a6a06fed4961b4866921d914e7fb6d7e215ae15e8984e80c49d8b8d227114982de6f0b1e9eaae7 -KO = b2dec9f04389bd1fc24de023ab0f61d474ffea05 - -COUNT=23 -L = 160 -KI = 9ed3c72d669f7dce1bdf53f7b341fec1c944c45ae85d0cbe -FixedInputDataByteLen = 60 -FixedInputData = 3b8e7b516fd184b9f49db53bbc9ff26468cf617430731c594d18d76ff574508320cb54f17d7889b56a096b9fb367b14ba6f930494da795d7cbb58ac2 -KO = a3364ec084d6623c18f99d1d80cc600e36d18fbc - -COUNT=24 -L = 160 -KI = a4bc5a505e4ffa6c5dced7786fe26792e575602d1bd2f0e9 -FixedInputDataByteLen = 60 -FixedInputData = 552d752c2337f639bbbb67f111c3ebb397d43fe094be0a0de1fea31cf5b4599f4eacd0dfce05ebc8f2c4fa80555a45f4aef7a4fdda2022ea7c0d8ef1 -KO = daad49391695b72aae33ddd4948bbcfee94e8cca - -COUNT=25 -L = 160 -KI = 9f780883068b7335bf63d604f5d1b4d3084fa70746990d01 -FixedInputDataByteLen = 60 -FixedInputData = 9be0aec3d3e0cf8223f9077ea1f51542de7b35815429b7c39dbbc0c832b7c48923d7ecfed9e7481db7814f3b51f2c0599124eaa80b2321238e90e462 -KO = e7cb200e51d4cd2c53d53dc454222c00d8ab522d - -COUNT=26 -L = 160 -KI = 9788f07bba7071c11c9f3c10787ee838cd0c8df9b307ff66 -FixedInputDataByteLen = 60 -FixedInputData = 0e453624b51b0345a414ea6d6c08d20a420e17f4e9ab1d42262a9f32710f5afb0674864e5d81b393bd8d5f9fa255fe762ad5438a5812ec9c32a16bea -KO = 82c53e5b81a2e274f73b3c301a9b55b24d549013 - -COUNT=27 -L = 160 -KI = ea658b578db26467c335e6a481ecc9a6b1692f3d9ffdb47c -FixedInputDataByteLen = 60 -FixedInputData = 879fb9b76dea46f3e2cfa66391fce921978b7946f9fa0b18adb6c5b65e0a708e428aebf2a22d7ec36e9650577ce707c5784aea7b0330c8c5286e1ea8 -KO = 36b78dea2a173022bad77d1ba5f0324b64843e24 - -COUNT=28 -L = 160 -KI = 2eec8b7a1d0a72adf0f3b66bbcec79de4eb28a172e347865 -FixedInputDataByteLen = 60 -FixedInputData = 967967a0fbf9324fe47c97f9cf9f91480afb7b30f2cbfbe146167026ffa298f67d4b4333c2489b70e9cffb1b56ccb2dfddef9ede511f781a3c44f710 -KO = 687838d85045d9f3d6e32c382ce118de17520f39 - -COUNT=29 -L = 160 -KI = 52caf71ac6d646874b8fd512ede0ec2b13a5183406d253ed -FixedInputDataByteLen = 60 -FixedInputData = 743881d70a5155b6410ee497ef3f9be089178cebb1a26bdce18788eaa1520487300e881bfb84627aca5c1685b3cd5c68b2b6b75c1de779b05f2cf989 -KO = b9d3bfd8065f236ec6b8ab0b5fd962287caaa01c - -COUNT=30 -L = 560 -KI = d500d69d3556fa109773cd04423fa4511c529dfc1aaeeac1 -FixedInputDataByteLen = 60 -FixedInputData = 3118efd49bd7b97dcfffd8edbf4cea02c0b9c2257bed86d1758928a3c9f60b27dc29fe980583849304e7d08e47ae307ec0faa716adabbe24b64aa2e3 -KO = 5e79b881b5f00feae423734089eb27ee6fb19c9ad1f5e4bc516e8282c7dcd30f76927928317ad121e724141d656d3c401b1abcb906af7313e43e44abba7ff74262517968c16b - -COUNT=31 -L = 560 -KI = 7df5436a3292a2708c562f826f434141252046715b656baf -FixedInputDataByteLen = 60 -FixedInputData = ebf2f15c3ccdae9eb718fa2ed1b1fa981d8dff1c6d2eef4e1c4c862415e11cf33ad305504d17561e6a53443edb5224cd3fd916638af904cb16c69899 -KO = eaa9a004badd2eb592224533eba3ab7933a47c7087d5ac46b8b0aa75cf4f1b9eadc492ea2c1c828318fe694f8e87ab16990cc3487f09e0ff3d3fb68571d8e36c976c7a82590b - -COUNT=32 -L = 560 -KI = 911d8ba31be4d9ebbd160036684deb6bbb978952488bb0c7 -FixedInputDataByteLen = 60 -FixedInputData = 635504cf19da031120cda00524336071ebfac695edfa1534aa99e56db4eed8a05eb2f58da4134be13fad13e9e93819541870714fd68646acf7eaaa6a -KO = c07e9becb33f0df3c411f6526cd24ef14db9837cd8a60c8fcf2759d99529f9da405b80786581bbbf4bd7267b504ed2a3604827f07f4cf50cc9ac3a20052e8428885c4fb58899 - -COUNT=33 -L = 560 -KI = f613edc277bd249129d8c22c826e75df33c7263b8034a110 -FixedInputDataByteLen = 60 -FixedInputData = 725aa1e0b0ca5a42de3575fccbbe1c6bd59224772e5d29e384acf62381b64f20459039656016026b14b8bbac38c7da0217a7a5a4ecca588ff50b5e82 -KO = a0998afaa887bcf88a2a2963b03fa9c51f270048e0a1c7475bcdd78d8ffbdd74298d53ef57b3a539b893f9c2bc71964578cfd0d2cc41208bb51f6185205623b41b935f335cd8 - -COUNT=34 -L = 560 -KI = d198277ac4fdc4911b8bce225beb0770bcb94d57dc044633 -FixedInputDataByteLen = 60 -FixedInputData = 7950e2d8ab9af988b7bc62004e96529562bb651c8042fae7ac7cf4503b18e56ad3a2aedb420123f157b552331c32883a33de43cbef895a6ee24e2871 -KO = bb2d6c5e42872f3254b0c39b7d09b793228c06227cd67804e961b74eb75cb6d70bf23011894e15e17c228e824538071eca603f9d85ca40d9ab0d7df0f7be87dd5d01a2739b56 - -COUNT=35 -L = 560 -KI = 09f87fa8431e2484bc90bcf093075b730b29059801fc38ea -FixedInputDataByteLen = 60 -FixedInputData = 191dedb5d36dd09b2b2c4b98445eac6c9672ac39efd70ee1737410e9ab76a69dc217d76e84c5f166c757c36f4f262337ecaf337232c2a8c11bcaf65b -KO = 45e1e3048d251efa203d24bdf1ddac53984f616c1049a10702d71c5af02aa54e33bf8dbc74c13c7a3a13cbadd3024d5cf677aa9de112e13d16844aecce460b91c5f43775f0fd - -COUNT=36 -L = 560 -KI = abd93fa2cbb6d30522e5df9d2f7bfbb100eeb69401359186 -FixedInputDataByteLen = 60 -FixedInputData = 5fbe97bb20e70ce7031119962b85b4f04382b842137bf368425fd16021b5e544e4e4029bd1339554be008980bdf1666b59308504eddd94c178564dfc -KO = 293926b4606797dc7431d2c5b2941e1167af30d611d2a4ff2c34ca860b471eafc7fe93ae9a04d4207e0bb38eb1765eb65740858eb6e16b60e8e9b45381837e30351416e4f9df - -COUNT=37 -L = 560 -KI = ebea4ac56e024c56baea618077e17a12a4d8f35d97ef0ee2 -FixedInputDataByteLen = 60 -FixedInputData = 7fbf434db18cfcb11eeedbd590980167fea7bbc7340a85af68920a4f8d1d07cb7ea1f82911335d077f361bbf7e7604aa5778201c9df1f24163b801db -KO = 210699e3d30b73968f26331d17c8e2f8680740026c9a9fd200cb892bced781f29dc833f75f509796621fdaf959ea26e453d7969c84c9238ca1daec51660980f85f68ab6f1094 - -COUNT=38 -L = 560 -KI = 916ce0ddb9a80a65a41e7744a6bd81b5f57ef99ddac3a33f -FixedInputDataByteLen = 60 -FixedInputData = 560b1129724fcc31f1c7b1516d489772ad7c1271a75806fdae9f5923f5bee7978fb0336006f94e1e780b35d6fa94ac65e9349ea4c9843c136ae408a7 -KO = 13b36fca3402e9fbe5708f37c2c49b37b7bf27a389e9a0b237d3523e47ef2ef14eb79c5c6f597230dcaec1034186ae4c666aa41bffb39689ea3609933af732b5df8b6a02009a - -COUNT=39 -L = 560 -KI = 6764c36083d116ef01cf903ef5eb3e356e97db105663b188 -FixedInputDataByteLen = 60 -FixedInputData = 4c2c717907d7f29e6ee4a1732e6c26678ff9615ccc57a1ae2056ea16535d15d85281b9c085330813b4401e1fffafe6eec1137dcb9cca8c9b629823fe -KO = e82c99525015d49267b491dc3ad8690b132f8be3a2d911e8cf269b3ec7ba7b1a5b222c110408a1c8dfabf800125bd50cc07dd49ae9b7b152a2b71e0d6605bc8b8f296dfa2ee1 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 8eb3ddb89335ee9273c4dcff380145a61c356cb9da4a62b2 -FixedInputDataByteLen = 60 -FixedInputData = 978f243b967c13f345bc724239b78bf52cc0756984fe5dc931eb7a1f90b502da8c3c4dd1bbef6cff891f403bd43aabb7d85e24c6198f3c251ceacd3b -KO = 08eecfdaf8b20f04bc8a4c210576d3b1 - -COUNT=1 -L = 128 -KI = 2450a713d89c148a901e2400356b602d81de87389a844cea -FixedInputDataByteLen = 60 -FixedInputData = 3531a88bf2dc974eb2378c54148e82e2d9510af7cb2ceb071bf4980e603bbfc0e749817c31aaea08cb4d1bec6c170c00ec8a246a472594df34e2f651 -KO = 766f9a76958257cccebf48aa530aff14 - -COUNT=2 -L = 128 -KI = 4e2f9c8100374ad322e2144960bb9acb91f5ba6ed94e8e53 -FixedInputDataByteLen = 60 -FixedInputData = 39d0abc433c0fee49933f129f4bc0195de29f301887f3f8039e0786fa93e57783a5c36b35383f5d6419ecae7fc1c3a8e523aa51fc593a625ddf451c6 -KO = 799ba01c8729c503836a3c09ec3cf52e - -COUNT=3 -L = 128 -KI = 9a9e06ffc6c9e95a6ce288c999d143071b63ead12c2f4996 -FixedInputDataByteLen = 60 -FixedInputData = 63c0224a1d0431a46fee2924b5f049a54cb9c16dfb136aeaf3fd6adb04d1b410194c90ca2159eeac12026bd00e43b15a2c97996f69b538897c20c175 -KO = bea09a8394b68f0e40f5e7aaa3b9b9c4 - -COUNT=4 -L = 128 -KI = 40790a643f0ac06fd12b1c6f91a14fc8d42b96096aea606b -FixedInputDataByteLen = 60 -FixedInputData = bdeece796b2818f6780281849ea16690a60235841f10a1d1ad3cbad9dd4943f21515cef1b34b837a7d81bfc2a782753333e0e0047c56e4301f4a39dd -KO = a524d5801ffaaa4ed8996f910eee2063 - -COUNT=5 -L = 128 -KI = c80c40ab21f8aaeb6ac7a0141b7c1af4aa463c143ce0bfd4 -FixedInputDataByteLen = 60 -FixedInputData = 537401d8f95a1005f0baa7920baf310e6949a3623347f02b488d3ca84aa72adf5c5e43791881b4b417ab3453b47b5aba8d0e4ceb5971e15519276e0b -KO = 96f74a3c2c63d0d29a9272f7df1626f5 - -COUNT=6 -L = 128 -KI = 1f0fe3147befbb1534080b7fbf4b655adeec2af84011d747 -FixedInputDataByteLen = 60 -FixedInputData = dc81b6198dbda0f2088375d6290a1ebc93a624a27e2ccbab9303d5ea2a312e9bb6d758b58170692d857456599b6d1a7c85a100b315f0212de889cfbc -KO = fcb9b444f0d35c8820e680a89162f74a - -COUNT=7 -L = 128 -KI = 2df9313aff7d78cd79dd71d18c2b2b1704a7af0cec242ef1 -FixedInputDataByteLen = 60 -FixedInputData = 375ad3418f8c83c72b739df4604bd4fec45899ad7e68ba650e59bb14935e0dc859e3abb9cf8f303ff4d17d15891c067538abbf02e77a50d3598641a4 -KO = 1cf62a9f71a2d178e9e76cbb8d6f9134 - -COUNT=8 -L = 128 -KI = 2f8129d5a5e490f32f3456c7871dadab7054a14b59644fb3 -FixedInputDataByteLen = 60 -FixedInputData = 35456252f401dab86696731d86025c426c67979a6bbc8004d021ab7db5ecd36257cd3e15eb5d7f85cae540bebb9e54df2ac6b3c07646d101b0d42a62 -KO = eceec80ee30171bd386d205eed76424c - -COUNT=9 -L = 128 -KI = b79b123cdd5a0765442830dac90f5162d705b4256d142051 -FixedInputDataByteLen = 60 -FixedInputData = 42bc8767ecae0ddddd04143bb097adeebf5b176da113ced72fca5231552aa8b423f3df2e33202233cc6ebf3207229a0b142dcceae1652d9ee9d1e7b9 -KO = 44e2021d66c1349f058ad54fd3f2b9df - -COUNT=10 -L = 512 -KI = 1f412a88b9afd9a1e9f6a5bba44120c931aa62bd0bc8ab1f -FixedInputDataByteLen = 60 -FixedInputData = 3d22de1e137f86816922cb36362ed266bdd6521bc3ca171ab4add00838d4185921a2654547f02a2b045259dfcb2b998a177bf05694a092a90ad7d77d -KO = eb61e50f3d5d79ae0fef0f228e51237226ecff6dc1aa49b844465862a1d41687242ecea7f1eea24bdf66ec1702c8f096b8fa1152c5a755469bb606bec6b85269 - -COUNT=11 -L = 512 -KI = d727963eae258850aa0eb295b030e17033271c31a087c9c9 -FixedInputDataByteLen = 60 -FixedInputData = 7cc6555e801174b623650ef256133cadce439050567590a2f612d27d493338eaf46525cd2eda8e91026987c45f313abd98bf70933724cec3a3fb6846 -KO = cb6578f45a4a6d546bbc3a2324e83db36354b08807d48ca44b7565c9a2645088f7fd50b7fa1463bb25c00b6e73c1a0cbf93450f9b4eb2d04572e741ca925afd1 - -COUNT=12 -L = 512 -KI = 6ac02c721c91df4bfad4aa2aca86db506bb6b59567fe9842 -FixedInputDataByteLen = 60 -FixedInputData = 394bc42598652792ae83044f69eb31ee1b269e69b2d7a27380b3e17722ce8d1716b55085ab4a5940ec58c536e937364483c74a4c9823319edd71f5de -KO = f39e7856a23cefadfa24581b524230816cb0bb047c0199d243d1e5570f0273dc068f6e423d89ceb4e1dec84f19f27820f7a8695704903d21cba59dd6faed6304 - -COUNT=13 -L = 512 -KI = 6088ccbe2f0fc12311a62aed9b170930058326c1abdf8c03 -FixedInputDataByteLen = 60 -FixedInputData = 2a9e9c7b94d14977fddfb612a6ee9a2d355dcf01d501dabb8f3b4b57cee0eb66f1b9d27930c41f318824d65e7aa515cf1a68ef96c92822050b01611e -KO = 49d9e5b89649c8b2004f2a2d0608225bc3833a0bc283ce3122c04b323da2f9574b6c13c91f133e9c113344d4cb8c799633dc1fd2543d5d8a93346d4e68622d3e - -COUNT=14 -L = 512 -KI = 8783b40a2633e1b347fb6df50322f3193c401d90ac52cd24 -FixedInputDataByteLen = 60 -FixedInputData = a052c9e738ced458f38cf11852339dd6870825cd1e52429b3df78ddde34247188ea848fb68216fcefcc79ee77b3bf2a2b93518af4d0395b587b564f7 -KO = e3e1e08d8b6124786fc02b7bc19a1c6d81f01b502c174a82c704903ec8c1870447777500f4035f26c7434dc5d6cd4d97e07b5037c17baa31d2203e8e771cc390 - -COUNT=15 -L = 512 -KI = 6b92cdd165867d1e147835e37ee7e4e69f9cb1e9793af3f2 -FixedInputDataByteLen = 60 -FixedInputData = b4bd9af37db31e2d54e5e5746d388ad1f0611453ea909950b41a8a9fce2b5e39ef35035e2a406e2be3c89fe03ff19784e9e7ba7ec0f3a3578e8b84f8 -KO = c300a98af329dc5e1df8f305a4525b5bffa67f2e53da79aedee71b41b3ad56e7171056cdbd46df3df032116bf06ded5b49f58c19bfb8ccc07e798d0cf5d8649a - -COUNT=16 -L = 512 -KI = 36f485b398862af374bc311de51de2470ccbe18343b39140 -FixedInputDataByteLen = 60 -FixedInputData = 4d16e0c344af6b63dce231d8d47b8f2ca31b3e4394658cb8aba333d55d8fa5feb1d7ba9b70d12dadb6904e368db729990351ee58a29374b22bb1f24b -KO = 943c021a49ec17d72c1d6cab7c36db72a12683e8c8d857da1dfb970bb8e861fc7968775a9acbb0ea8307289443e1b306fac53cb155979f4e3bc7644cfbe647ab - -COUNT=17 -L = 512 -KI = 739ace1983bf87d51ae4cddaa692c7d872e072ad207599d7 -FixedInputDataByteLen = 60 -FixedInputData = 430fa1a33fb7745a0279d6c596a0cad31aa61f296e31080488a4bd6265a87b04e8f93f9dd1f83b8505e3a76ea586c2c12d44f0cdde9f8feeb1bea194 -KO = a2e191729d98d120057b7f4cb501540978d76c53b445a0c7dfe8698162d62755b38338b0a7d1e3fc70fec52d01252193f9f18ce449deda7ca012e0530010ff97 - -COUNT=18 -L = 512 -KI = 51bdc837125a8a4faa9e31a4dace81ddc8a0a90fd350b089 -FixedInputDataByteLen = 60 -FixedInputData = 126a24131c3b5d93922ef50a4186e6c7366be652fd1c4903e9559acb6d9251db80bfec314a5f1b217a1bc27ceeaa5e89675a067d4b5f1b03306bc4cf -KO = c5d20cb27dc0082ee7e05ea4d08a40c47f997cbb34432f4fb1dc656e565f91cc8fe2bdfa466e4f7e71eae3269ef93005880102987c66883e02fdf1075a8422df - -COUNT=19 -L = 512 -KI = 57a86d39d5de84472d7b9161fefb074700870fed4560ceb0 -FixedInputDataByteLen = 60 -FixedInputData = 9a574594e3d60be4d8993dafd6146afe4d9715b543b338457c92392e42f64162d137c7442b4a98a1bba55c39b044a5365aaee979324b4a7f7bbb03ab -KO = 5c4ebd675e6a43b923eb0fe1b56e3b1d78f699918da6aecc7f6e420f6a65aa0a49b2c943226af6c47dcbe97e9d7b0c03c7c30de53f8a1ce3c6082f686c367f47 - -COUNT=20 -L = 160 -KI = 57c0e88a452ec7e14ffbdb3ece420b3ecda35eae39f35c1a -FixedInputDataByteLen = 60 -FixedInputData = 800dfb58f6f5688be7e1433bdae12808a014e80be543a1b259f330cc11420da9fc9605cabb16f4d55a0568c11cbeff08f04d0f953e8071df6b6b918d -KO = 6d303d91930053a0cf18bb5d20526345f5bcd95b - -COUNT=21 -L = 160 -KI = 1305ed5d608938bf65b3e7994f206f42240b60abf7c795eb -FixedInputDataByteLen = 60 -FixedInputData = 8549568b08ee3375fea17e5c7a9e244403e246445e382f2f1a1b81f26b5281ea9fd0c5edfde6071c22bf688aa590d9cb4e51ec53e728e0eb1fe44098 -KO = 9041a25ace3897879e8290653d35cb2658c981e4 - -COUNT=22 -L = 160 -KI = 169a962d652c41c0882134d1bdf42cc778e6742c54887aa6 -FixedInputDataByteLen = 60 -FixedInputData = 403883d466c53b70d94b0cded8ed4f7399131dcbaf56331f3caf1f34f47514e5c823cac984f72c01fb9af1e949f57d0ec9811d745fd8f03da2005c8c -KO = 832a21d8ee48cfb82443dcda18b54d670911331b - -COUNT=23 -L = 160 -KI = a644599526750b6b424090fdf5310f278dc95dc573dc7b70 -FixedInputDataByteLen = 60 -FixedInputData = 691c4c202f45659b86ef5e2b09d147462ce723b3d4884c95be73722caf7b115c40b84d75a4684117c83bf350503db8eaa7e38d8d00c36cec3fabe4d5 -KO = 5c2e4735bb1d4b9a08f891f28e1cacb0ddedbcf9 - -COUNT=24 -L = 160 -KI = aedffa793ffd3fa5ba58aef3ba36567e36c3ee57cb583d36 -FixedInputDataByteLen = 60 -FixedInputData = 50c1d44d86f8d93ed41c8e0f75549eae94986815b5f7e823ef5e21c1fd8065b671f0454ef1a5b8826a3edf4b166e83eeefa30686e713d868b1ff9f18 -KO = 7d7679b177c220a08ce157092ee2df27bd81ffb7 - -COUNT=25 -L = 160 -KI = e03ce271b99e82e3dfa1e21be6d2fc8d386961b0d04a9d6c -FixedInputDataByteLen = 60 -FixedInputData = fa76a11b2867237f840bffd6434b72c76c9a1814b7d83002acfbac6671cbd11af96efa7943c3e5310b05ba28a0764b7161c921533846c6af36fa1904 -KO = e05b7f59d5e34331e56eaafea173357f588206a8 - -COUNT=26 -L = 160 -KI = 0535397ca38a6c8debcaa43f8065bb2264366093b8a4fa94 -FixedInputDataByteLen = 60 -FixedInputData = d4ad50afdd1e251b505aa303ae866e8625238026927dd4be86a59517ddb15cedc4d10ede243565ae1a93d1485d9cc0ad5a3123dee4ee7877725e7fe3 -KO = f50a326c879afe16dc10c2203723a26fe3180913 - -COUNT=27 -L = 160 -KI = ba8b8cfdae21447a18cb9d85f4fe8851f617d09d42e7495d -FixedInputDataByteLen = 60 -FixedInputData = c905516d617bcaa5e5b670daa6cf057d43bcae68647afa52c2ffc915e1bb399f1a19e9781b8d02d88df655bf7e94c1a028218e84a2ee28789ea5e8a3 -KO = 7cd1d3b413d1c16646e98ddd9ea69de1ec6d6234 - -COUNT=28 -L = 160 -KI = 77ea1fdff180301b00261d0767ea78d11991860b84e99576 -FixedInputDataByteLen = 60 -FixedInputData = 72070397f656f22ae1a09969edc93418876cc581405dcf4888637243a3d8a083bb5f787cb052053251cd9db9b1e97c7462b3b7d98558f594554b0b4a -KO = a26406ca642d81f2fab25e9402fa463574ab0947 - -COUNT=29 -L = 160 -KI = 0da59497e39b36e2936efd2fae2eeb92f7ef1d1cbe447251 -FixedInputDataByteLen = 60 -FixedInputData = 9018f45d918666c6243c93ccd0d4865a0df47664f5c8be5225dea4d2b12e8410e5e41347de604f714c2c9e5846a813cb5d030066869fca590007721c -KO = 46f67af7c2181866c19bee36075b588598828583 - -COUNT=30 -L = 560 -KI = f75bb64991eb26bb799b959328b949eff3f040e1500a5d8e -FixedInputDataByteLen = 60 -FixedInputData = 3ba312a5cea3b431b654c658c5f88a28d7deffb8003b1347617fe0cd7b422db1ec9ed8e77fbd422c4194622e80d6191c1ee0f4443b3bae0445e677d3 -KO = 2ea1b06e4caa6ac2befbeac202489fb842116ac5c513ee744ab30944c3885840a66ce9054c6eb22b62df88f7c4bc2f9a81a698e11c405fe2cda139d5f430ab77cca16ca6479f - -COUNT=31 -L = 560 -KI = f6c96c421f7b33283eb422a61db44517f1838b7435cb0eee -FixedInputDataByteLen = 60 -FixedInputData = c0def0ad7b278008092c7a34279d781a81d785202587e45fb6a5a73cf5f563aa9b571485f623c3c772146c2d6a017edcd56f17bdc6ce7f7e628ccffa -KO = ab44dd3aa5771cf02bfa79b9573f1374b1c97d9bf0ce08d98d2b8cd93ee5fbec816682f18e8c187574f8416f43f5993f396a1c855fb47b586207f064801c10794dc7a619b510 - -COUNT=32 -L = 560 -KI = b59ef8500910340c9fa14a0b5469c188f8f667383b1d528c -FixedInputDataByteLen = 60 -FixedInputData = 69a5ec4dd940df10368cc7b07db1d0968abb82edbacac2e9f6a833cdc07cdd6a4a5aafe27b7cce3cbbbd8e28086118f0705984348882b4600b4fe0e8 -KO = 7287b956b01a98918836948454d71d75494a4a5a8c36f16d31a1ed0b81e2db11c73a9d21f2ba2a4b5eb015d25050e0f476ce175df84df2221fb7ce3a44a081f2780beaf59c24 - -COUNT=33 -L = 560 -KI = 314a2e5ddf75ab83902189115a0bb0889dfbd217ae03d14f -FixedInputDataByteLen = 60 -FixedInputData = 1cfebbbdcc630abfe2665ca3605c08019378260db6b7276d73d317ce3d95029657262d17176866080187d9500e3dd8c32ebee00485dd3506768baa9a -KO = 3d978e66276d31e3a3538eae4a6db52aba8e529354753071e8daf4dd06202170d73268730882ea143b936bf37a5b5d5da73b73647c1ff52f55604e24b4b0d6ef1dad69e842a5 - -COUNT=34 -L = 560 -KI = 807a5e100859f278223d9e71ae37e2e6339cc736f2dd37c8 -FixedInputDataByteLen = 60 -FixedInputData = bd2cb502e0aa2e2e1effabc4a9a3a7c50cb6cab41652fcb9014c296c949e0601096274515172775e0c4fa33958c7f6de65136d129c99c9f55d308f83 -KO = d5cbeea8d66785731cd7d4464a6e97c3e98ea508f5c04a413be6c3d77e334efe9a1b913818e13a0fbaf1ccd8cb8cf8d08595c9ed524112cef54408335d14d445ad4590cacee8 - -COUNT=35 -L = 560 -KI = 8211778557c61655647200143f0f35a93b9f564d78f529bd -FixedInputDataByteLen = 60 -FixedInputData = c91a769738372371094d053a80a60c6abf87eee1ff0e1e00c5383e609e777508efc269e69e53a4d6fbc8cf27c458b13122cb879757c73568d1636048 -KO = 5977c833f579b9f2ebfc3cfb372e7fd81e0042ae30ce9d1cbd8cfaa0eb5ed07a9f368401883d2735456b73f60aa13205836ace3088242fcace4f5330003cd27dde24ccd74042 - -COUNT=36 -L = 560 -KI = 11bd228a4a83bda9268fa327fff1afb040c4ea7b0f218e1f -FixedInputDataByteLen = 60 -FixedInputData = 2dfe24ddcf2a72e9834c1272145be6b6e8cde346aa7a66ca524817cd298e7a22e4ad3bf0ea76971a3921435a7ab2ba63436b5ad9ed8aaf2e34da9d13 -KO = 7cf797e5cc8f4353c8cf5628d05e9700fd11f8e8d83cfcb1500cc595a3a1f10a8c9e49f9f9690c3b0ab94631fcbaf3dc092dfac09b628be5d1f5dcc68961c10d70a2f431d125 - -COUNT=37 -L = 560 -KI = 4f04c0f2e56b766ca94937d51c8db36ded17e4c6d3f61c52 -FixedInputDataByteLen = 60 -FixedInputData = 86c963ede0e3949b80bff8fb41f57249926c9689f3efd4d8b6f2f75404b5a2657ebe795c9d2f0f0242bcb88fcb6bf59838c0779f7012636d9d73e687 -KO = 43dbdcd4928632eb82db26ecbceea6ebb6002139d6b7b0b8a939940ed2237d298a302660838bf51c2b3179c09ec811c19472d2d91d9e0d35a02bcf48c6884fae1977b8b51043 - -COUNT=38 -L = 560 -KI = f7bc1943e5e29f2f4dfb4b361b42e00b3617c84ec6ba73aa -FixedInputDataByteLen = 60 -FixedInputData = 1d9ccb804f01ca81380ce3fcf36deb357697d5cde28438daaec0e4b5fb1fa42a10c381ac34890cab30a5a73ad492e91bfed1871580c623d151bfe79b -KO = b3caa7d77916a9d903230a7f5e1d67ba8fd747ef57546683cc26b117465a569573d74e3877f882a1dce6c7761655ddf4388d67f01cbefc5c6d3b55c1760186f8772073214b85 - -COUNT=39 -L = 560 -KI = 7de4c544db806c7ec6a581106620fcb5d427e5962608680f -FixedInputDataByteLen = 60 -FixedInputData = 7cb8ef0c1b6ba0afdca206a49986d98783053e24e7d76e45db1a44500be7861958c076220f929ded1c1643318067bc32749bd2150ba6bf1718373886 -KO = 3ebd8ad6d6259324e16a1c3c5cd67fb513cc468a92bef4352dc3ec758fda8fbc1ece04a31bf77febb34174f46bd6c24ea24ac9f3764f992267a60086211d360ad4c3e7beefc1 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = deed9f380747789c1c7d275cd1c46fac0c8fd5552b3fe690 -FixedInputDataByteLen = 60 -FixedInputData = 4590660b7e09a03a464238bc99941f793d52bc0869b5e295147445c2c56307603f5afa8f6cd5bae65ddbd3040c02b713b5c48790a0b376f64049de8a -KO = f85be764b6e0f40f01e750dcd24f399d - -COUNT=1 -L = 128 -KI = 167e5a288cfc6b6c631a3795f4394a17c838ed989db64357 -FixedInputDataByteLen = 60 -FixedInputData = bc36603cae0297c3184131633f8bd55195e518f223402b15da835fea0bb2323e0c0e870b595f31593ffa0794fbef4e4f5012fe5ca684eaaabc6fe839 -KO = 513d5c8bcf4dfe642e5d612a59523c48 - -COUNT=2 -L = 128 -KI = 053541d4a300de6440b2df82f60b20764edf250a993abebb -FixedInputDataByteLen = 60 -FixedInputData = 0fc9fa270aca9823b90abfafaddfa7b0f5265518e0b449f061b475300d64997ecb33e1301d0fede71846b814033868383db78fb591d750aecf660b12 -KO = bc17328ff05b84393fec3bad321fd562 - -COUNT=3 -L = 128 -KI = ca60f95417ad39cb5d77b4da2d2546e1be70fa71b647d27c -FixedInputDataByteLen = 60 -FixedInputData = e038a3f005ae955103bb93cc2e5f2bb9d2ed7ad1418fb99c6672c36a1ba578475c6843b5c16703ee7af30ac03f14a6ff55ef5cf5b1cb6bcbb97460fb -KO = dac1b647b9561019fc79009cad181c61 - -COUNT=4 -L = 128 -KI = 64a7cf23d912917902f703c720b5f44ed149823b92ff4096 -FixedInputDataByteLen = 60 -FixedInputData = d08bb627720bc57690df52b5923df8249fc819fdfa2324ef8cf4189c541f8dd2263f760070f910d8d3e00b67d3d1b63759011248c671e2ff8a7dac8b -KO = c2d195cb4a77e1f479a2d1290413276f - -COUNT=5 -L = 128 -KI = 07aebda8b9a36455860ad98932c65625085160dc82b0ea39 -FixedInputDataByteLen = 60 -FixedInputData = 14fc5cf8b17f03e02f3d000c93b0ee04ca744ce94ab4b797720eaeee3fca5b29df62aeecfddbb8db201ae6b2b0928dc19d1b025d3d5c25927d58712f -KO = d0c20f63fdfc75d2a31d020fef8d4ac8 - -COUNT=6 -L = 128 -KI = 8a49063ff8c2913e3b61e1de79ee82e15bcd709e813c2e6a -FixedInputDataByteLen = 60 -FixedInputData = f0871b08eba3d523a2af7a61436b2d93ff6d424e7abe02850e614347a8023982058137451ac4fbdd2a3bee8cb90ff44889d85f8fb591129c554544a8 -KO = 20e6e52176596d65664a264081e145c6 - -COUNT=7 -L = 128 -KI = 97f31c7a663fc14698cee34d4bc4382ffc5a87f11e48fd19 -FixedInputDataByteLen = 60 -FixedInputData = 6d1e7fc9c6c83cd8f447600ffd4dc8d3ab5f54daa4e53d7502bfbd839fda450e13bfdbca0d4add595ddb0b67cd5213a093300a37a511f7195207070b -KO = 55d59d78b36f7299a0e2ab4a126778d5 - -COUNT=8 -L = 128 -KI = 63fefc89f44fcc603f1639df109a10dad76357c318eaa2ca -FixedInputDataByteLen = 60 -FixedInputData = 8ef7fc4354ecc13d0c392573e9c17a61420df7140f0dc03bd14bcd2286a32ee88ffcd3bd273902a462f02d0c270d2030d5f2a936cb5ba0bb5826d256 -KO = 2d8a7540bb0dd2abf33b7e47c27d6526 - -COUNT=9 -L = 128 -KI = 172eb67c739b82eaf6a42364a8ddd090c46c4dcccfc289cb -FixedInputDataByteLen = 60 -FixedInputData = daafab72d6372da02acc30be1678df7c46326ec713b735e22741c4068effa56ed04a09ade95830c91ab1d54ee878e614100369e313e7d53d7ad2b8b2 -KO = 3430d9b85a025a528b91ce320855a7e2 - -COUNT=10 -L = 512 -KI = 0b88718641472546564eb72b99dc138cbf7e3dcc01e4ea7d -FixedInputDataByteLen = 60 -FixedInputData = 74c50d0055e381c6c32beebfaadfbe4b013415d01eaaddbdf38cbe68acb6d1de3f6feb4caa985547cb003433fff0f5b90c0152c494b957498f45e952 -KO = e487d6f0db5068aaafc2686c305510e16e5c4a0673fd23eaf1dd2489003b4d7d3f34203b3d3d29ecaa94fbe548d887b290890e6813c22d96a626e641a350a72b - -COUNT=11 -L = 512 -KI = 66eb289504594c803b22e65d3ce7230e8dc952348c59e716 -FixedInputDataByteLen = 60 -FixedInputData = ed98d697f5796ec60b97b4ff157f2cd073ca9939fa8f940e8565bce784a184a752fe4c64f2b3467ff4449645b08f38b0188c345c3ac11c0c30d7481f -KO = 77cb50144802ebdcdf0e696d46559550c328a13edd7aff30f581ccc7add46e6dfb029565fedb338fd02c36b1c9f0ac0d7ac12a0f30acd0063790c908c8ff9689 - -COUNT=12 -L = 512 -KI = e7e62726e123384815685d14a7ed8190b0d82fe2599c660c -FixedInputDataByteLen = 60 -FixedInputData = 6a879e79abc951078efd7faa47f4c69635efe963bcc016a497f9f13661bd39fd226cc70ab733f18a2c78b7fcb5cf9598200c42c347fbd52ceec9ca29 -KO = fca3071e66e82d848473ee0522bfac54cc376869ec87a8df947c5b163013677f4d2882bf3314d1e57ceb2a8a99fca8b2e893f971097a29535bbd00c000f73ef7 - -COUNT=13 -L = 512 -KI = e9a8ec51082a6ed4f6c73afd844c5a6a8727cb6c401d7d7a -FixedInputDataByteLen = 60 -FixedInputData = fb43ccd97e084c54590d2e3920f052dd9c312905a317054fc2d5760fa0a77848330747e61633feff1d5ec03016d4676a16dbba146e4a904158824c4d -KO = 419a58ff660869d4eaeaa3d3ba4fbf059f55a2df1d0db025d5e2f9cfd97ac3ed73449899aaed87f0c6a026752f639d6ab3ade2c4ee655d329dc218ef1ad03577 - -COUNT=14 -L = 512 -KI = 77fd2999e99c4c894795bb03ba6e39edcdb672e12aa10cc3 -FixedInputDataByteLen = 60 -FixedInputData = 9a30fbc8b151e9c7345c941159b142fa5a57cc34b68b170c2d7b9e33c0813ba603f7353a1c8aeb8c544c6020697ea8bcca6d67a54f73712b98f7e88b -KO = 52a30764e7a94367f2fad4f880fab2ac485c51a0f69ef80de91b9bf0987cdf634c995d111f9b8b1708f9bd6ce8277519832eccd895d515453f1b39f505ed9c26 - -COUNT=15 -L = 512 -KI = 27954aa50df41d1370a024f78a6ff98d8c6c3d92448a5a38 -FixedInputDataByteLen = 60 -FixedInputData = 4919de4361fe964aaa0a48e052a883c086306ecbe47beba117a2511b65ef83d9dcb5144a6451d417cfe106d86a04a75c8c9c587465e8beda81f9b12c -KO = 0189f5f57da0c89c0475e9f085de571263deacd6503dcb2a8dd49569bdc6c6f1ce31aa670d32fa130e19ca534ca06c7003540b431bd44d044d4c88ea50623ce1 - -COUNT=16 -L = 512 -KI = e6d37befc7ab07b29118a96e9341af8c17f8c825f9828eb1 -FixedInputDataByteLen = 60 -FixedInputData = 9459faab2d5b3994e48ebc5cca386130b175aabae26377a392facec9b6ab55f127f022fde1c5a0e89f42e0d52c5a48cdcbe4fb7b1399ad6cb30f85ed -KO = dcbe73db3dcba4e1764dbf4c1a4088a4f6a07024b6766c87cda33d20d21279090d7bca1b9e051b6c1d080d6d3138e272a4c6b8c8a8bac2935a7e5a1dc9ce15d9 - -COUNT=17 -L = 512 -KI = 02040bcb30df6b14ce9f1d13702b3d16c3a1ed27c2247f28 -FixedInputDataByteLen = 60 -FixedInputData = 06593407097d73196bf2239e384579775bf2ad196e81d77203866a8e12f0835fc376ab3e5036ab456107ff435ab7341174d4c9e1fb34321f3a2b9763 -KO = 72a65eaddc61e4a1cce6acea5ae754612a210043f2f41ec30ac3f4e6909ba8f9933003c3298b81b624b078811a5bd9d03d231406a7b74139870b6112cf239c87 - -COUNT=18 -L = 512 -KI = 6740315364c084e25957a82999274a31b6d78cf6a2e720da -FixedInputDataByteLen = 60 -FixedInputData = 755fd38497c949ce3d76e898065edb4e08fe9779daaf2e30b4788e13ac2f98d52544fd053cffb0928acf4a89a22f762f5ebe95629c923b906f62178f -KO = 7f54752946161d4014c108edd3dcfa313ec230595519a4b9e3905b1fcbe7d60f6c8ecac0716a8ec978ea163b97f50cf7f8789e8f7d18b3e0fd94af7dd6265f27 - -COUNT=19 -L = 512 -KI = d6842df27ed0c669e0924e44d2371630fe08b9620023cffb -FixedInputDataByteLen = 60 -FixedInputData = ced590221e25fd9af9880f8a5b0bed504cff221d2e0f855149c06ee378b939db64784ca8364e211c6dbb4a2bd4745b670c0cfd9d5a445490fdac619e -KO = f2360083d4f6f6c2c553f315103d85312473d5815e678b0f80d02bd201976f2f46eed63755225d16a7896d0378baa5ece87e7e8afc23da929c78e79490e3f370 - -COUNT=20 -L = 160 -KI = 9501fdf22b8a5e88ef66d12102566a881699f5415ff57fcf -FixedInputDataByteLen = 60 -FixedInputData = fcab815e3d55a4d451797b4ee76cf4883307b19b181c8e8c23ffdbd7b5e0e68c8aeaba4d4cb3be88e07d50a0a24d4b7547d4e82f74e1ca288a857219 -KO = f591cba685f6fb716bbca395b7cc8b5c0745f60f - -COUNT=21 -L = 160 -KI = acf731bc03654073c76d475d65bd4aa605228f080c98d959 -FixedInputDataByteLen = 60 -FixedInputData = bd56f3d6cc1b917ab81a138236c714477d27b5e218334d5d4a12f813715a6b866dee2c589f3c75a30e570b8ff1677b9b1409d2dede567fd28ee60011 -KO = cac73929331cc843d0d21a0386b5aeef83996a08 - -COUNT=22 -L = 160 -KI = f1dcf87b75f9a2230cdd74b832685d256b09e989c180fa00 -FixedInputDataByteLen = 60 -FixedInputData = e88c09750361373ebf323d54332e5b37a6acb9c079ac069ff66af3d3abf9de5188a382871142928556745972dafa14f9d999f552c5ef54a8f021be83 -KO = b4097eb4f227cfa75a400c466d532d3b19f472c6 - -COUNT=23 -L = 160 -KI = 96cfbde81bdd5fcda392bfd5ba09ef82a10782358c23644f -FixedInputDataByteLen = 60 -FixedInputData = 0c9fcca12bd3d00038421ef127da2f0359c3dcb6edb37dfbb86a3930fdb397aa947d4e0bf3b5f495c53561c369d3e07d3254badf6166cf294de98109 -KO = 345c14f7b2438c73bfafafaef2a653533079334e - -COUNT=24 -L = 160 -KI = afb1a460f667d19b637bba4777da7195bb761d9895211fb8 -FixedInputDataByteLen = 60 -FixedInputData = 2a8f44e030b753a170d57f656179729ead0ecf7f25b602ac87155b2808266f21d8d19a09ba8367c9568b792418c6d30bce63819e904b154c035e39c8 -KO = f5a4280aa4f2ea0c6e8a6dbe3d01d731132450b3 - -COUNT=25 -L = 160 -KI = 4325b5209688b91e08326d1ffb02bbd132056664cd2ea898 -FixedInputDataByteLen = 60 -FixedInputData = bbe155acdb7e0d0e8bf0dbbdf33945b3801d3d3c04f61a0618e9f921545cb32e385e8b3d3459b1ce9d11bd5a1385f5e34bd22258c05f4d417637a358 -KO = 31d9eac739537f315be042edc25d8d98f87b4fce - -COUNT=26 -L = 160 -KI = a8add580abb507d93533501747bb1127e244df2d8db694c5 -FixedInputDataByteLen = 60 -FixedInputData = d2bdf7f12a85433db9ef001d0c065ef1a7542c6f7a0dadf5a319ba08c528816f8c50599c67f110761b16e5664ea8b68624373dd47396ee4c1ab0f6dc -KO = 14ee7dd3aba9038f558fc92fdd5b4a0dfa77605b - -COUNT=27 -L = 160 -KI = 73b99285e4c1678106866ddb9506c81a881330edaae57084 -FixedInputDataByteLen = 60 -FixedInputData = c378c71ea483553efebc4414a06deacaca6b5fe0d885d5c0416c02e8542e43ceff2607cec9a60e1628b3633785f39fe374fcfe0db6f3231974284da7 -KO = 838799203e56fbe298de569f52e0d6651ad7853c - -COUNT=28 -L = 160 -KI = 1e4126d8e215afee0b3d58e23860db5b6ef9b6ee749d2623 -FixedInputDataByteLen = 60 -FixedInputData = b28db478f6ae764747cf9b4e9915b8f858de0973728e513be14cf54a5d4a49bdbbdd4fc80b4f7c2343bc84e90e66a1c97edc0d432114a50948362712 -KO = 50017663881b5038fd54ad1b2bf6ede84e620df6 - -COUNT=29 -L = 160 -KI = cf1cf790eb05868628e9cd5141a0c9b5201434e13ca95cc1 -FixedInputDataByteLen = 60 -FixedInputData = 492328c0e01b738917c04dbeb28c537250ee7f76f71cbd8116f8e6fdb109c89130cccfe69b5aa15b7cf39fba05630eebf5701508d0f520435b158d41 -KO = bd40171f8534ec1c316202075517cffd3e0968ac - -COUNT=30 -L = 560 -KI = 2ebcd6142bdab8c77fdfc9ee4251f2566d97787567f438c3 -FixedInputDataByteLen = 60 -FixedInputData = e71e75d0ae331d3e34b5b89664423068379d1917078f0818c4d67a953010746ea30ee9dd97171cc707a5f55d9ac42d7489bac59e3ad3c1ef06aa342b -KO = 31b9812ae49ced49a26b20a9b512a6d50aa3c9d980048bfd417282f7fe1ba8823142db16426410ed594600d3efcd65b5164854f6abe5cae0b89819d1309ebeafd9ac56dbd4af - -COUNT=31 -L = 560 -KI = 1a61ff11434fb160066c5b2408d2c6baa07f9e46f967228c -FixedInputDataByteLen = 60 -FixedInputData = 26f1dbc95983c9d2f70af460e62f31d630591925a62a93dfadd7dd0e5bf9ca6e95c0931e54099f3205e22c46ebec2e01980c093ff23eccf2dd320f42 -KO = dddca206508d28b63559bce91e45d019298ac4e103e518b8567ef4fedf8e8f07e239b0d355da7f6cc961b929054c2638e0e1bfd09e0544295f82fd514d53ff987293564a6f85 - -COUNT=32 -L = 560 -KI = 03c869eb699b0b3de4c251a87164c01b99b8758e49b413a7 -FixedInputDataByteLen = 60 -FixedInputData = 55ceb454b721459b20b500fc51749ced5ea0baa49200b3f368fed21a592e99ed297f0eb09b6fc057f8d01f2afb800494ec895bab6fdb39d434cd746d -KO = 6ffb0eb138d3758e23d87b9aae7e50246c54f86571069a84109819c2db9152404ed5c397da64f101e33d5f387263f673e0c23e68d85d87f11ac521967ffd05b3f9aaed7d637a - -COUNT=33 -L = 560 -KI = 0d0faa316e98adae33d6620b791453744266f3153c529bb9 -FixedInputDataByteLen = 60 -FixedInputData = feabb5020ec2729400af5b4e449ae510ff3af4be22e40161e36246f1870d8ccbd9858621f466cfffe30ff19fbe71df6f1f246c48190b31f8a1d6a244 -KO = 63ecc97c73ee9fdedfa67e63ddd5ab5a0c7ec05fdc508076124c4c6836bc87b8b76000e77dfd7144d37546883ea88725be08f55c63f9c1e56806dd090daa0423681db5fe2d7a - -COUNT=34 -L = 560 -KI = e245bcbdbbbdfdd5a8aade19f6336538d413f172bdf7bf09 -FixedInputDataByteLen = 60 -FixedInputData = 28803c87353a76c254cedc52750cd16211d80d7ead683d0e1a1fcd560b2550c40014b02b11214c60be446b38438399ae0704a9791491c7c8f856167e -KO = a31c5cd2c5392f5442df45267e556a8407c8137961f0e64c84cea85d4113f06c1ca705c564fa7bce44daeba4c57ea77df28ee5e4c935d6884da08a380eb246d57535a3cd04f3 - -COUNT=35 -L = 560 -KI = b31c69853717dff44ece6f57e7353fab9dff1a3eb5d16530 -FixedInputDataByteLen = 60 -FixedInputData = 339c9bfd619ea0fd89746140d62653ab9454d7ad8a1bce2f9cafe4a641ba596a292a0d825b464d5ec212a5f0a4df5b038288140386494c902692670f -KO = 2517aec5717385494e49ad4715e75bf02789cc5402df3f5558f0c03a9343854be43460c5565e2d5a5465570bb626c10321a7995d5c815eba6735bd045afe35c19768f2b679fa - -COUNT=36 -L = 560 -KI = ad78b43399817c866c01e244c56abb42f508fcd6004cd0f6 -FixedInputDataByteLen = 60 -FixedInputData = 7323f399b3c37e3ce1b4b2ba888ab1cc3e3959b1c6b7a3ddc8fb7a44381dac106e91bd2d88fd20b8e02055c78d7221062c30c227293224e0b3eaefa3 -KO = 525cface57c79003d8e1ca0b2ef294184ff1779453bcd200d72dee11e07e1aca0689ecc0a5dcd72ec48dd56901ff38e3fe1005bc96e2bc17a9b9b8cfe9079e4c27aaa94ef465 - -COUNT=37 -L = 560 -KI = 36dc08902aec4e92da0b01ae7f2da538af6c3810b0262e94 -FixedInputDataByteLen = 60 -FixedInputData = ff875523845de7fd6f152fbffe1839b74cfd5dc5488dc6533642bc8f723b6fe1e5b5eb0ce052d9d12077422a7dd0ecc022a1619809cbdc6043674484 -KO = fd5c9b13d07390bd9ece276f33734d5b884fd3dba115147ee5e535b51e3d55f1e62a09915070335c40213e387f64a7a1d2df8aa98dbefb9a6ef594b3d1b4a0c4d5d49a415219 - -COUNT=38 -L = 560 -KI = b8403d5bf3eb337cf94cf14af506b186b5dafeb2e7316765 -FixedInputDataByteLen = 60 -FixedInputData = 88a54cc72860d6b6414eccce6e95aba1dd47cac6e90b46baba22fdaae7962d2f9eecdd725e7536eeab1f30e80772b6d4173d5d80cdd216b76c79da43 -KO = 8134de0e84313e3d10dcd71714a672ed4a217432c37a613a4f0012152708be7ddeb443f97076dcd8811e65b4ab5e7ae60aaad3d6f42ea0cfa9caf44765d3948c67745d7ad8ba - -COUNT=39 -L = 560 -KI = d94410c394fa48d121b742482feeb44eb92fc7b094d9576c -FixedInputDataByteLen = 60 -FixedInputData = 4372fb2524a01e10134348ccf72e88731284e837a41035fe4dc534226a655f1d905670f4d4a52f182a7d19335a93c05f27276bde34b02103445de9c4 -KO = c411ebd8f7adbe689a29d5cd43a89a09067c81f21f067bde6b577b2c0dae19156e04058e2091f2e490441588c570f22e175620ff2c2c6750319b2152c4c521e41a74a7f53283 - - - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 89de1e61ef03f927dcef48a08bff239468078a3ba12deefc -FixedInputDataByteLen = 60 -FixedInputData = 4eaba341a9688f7d3f4f18f3ea0af2ccfb9eeb76cddad7cfdf5ca970fe2ec35444258aaa4dba9e08a72778592c8c11195bb053cf0c75f24694f5bd6a -KO = 72852758452759155d581d76e569945f - -COUNT=1 -L = 128 -KI = 536e38eab23b8f97c9932a3a397e4ff9f9b4d5b5d3b4cf35 -FixedInputDataByteLen = 60 -FixedInputData = dc3df34085770a1ec7566ba12282f9ffef1cd7c6a8b858da2d045ce16d8632ca0bb9bb32363e63fac014236f6f8f032f333afb4d902dd20718f217d9 -KO = 78454b25f1a6e77b179abd993f65d8bc - -COUNT=2 -L = 128 -KI = dcaf69da81e3b16220c8adaacb6529452d7449b8368a4802 -FixedInputDataByteLen = 60 -FixedInputData = 5fa0aa289cd4480b9e989925793162bfc14b8c15a4c1913567a7f965ed5c89cfa3f9aa0d779e1ee91d70a03ee7516ccb2c0b36c86c558b21d5ec804a -KO = 22f448a17403ecdd5d6ec50428f80881 - -COUNT=3 -L = 128 -KI = 4323488526332466e11340e64512808ab8c49331397db03b -FixedInputDataByteLen = 60 -FixedInputData = e30d8bbf4fabc76f306a2fda201fdb5255bcd34d641f9b2b65bb3b4e349303bbbbb58a51c7743324b806d488aeb867216ec0c2b57d06fac964dd7761 -KO = 3013890885cc556b591da4a9a24dd31b - -COUNT=4 -L = 128 -KI = 366b7f6b9e998552de7c0b1f9a867c2ddf0f74bdac22c8bb -FixedInputDataByteLen = 60 -FixedInputData = 431bb1f1346a7fa76be05cbdebec9b38af9acc8825bd2c50bb1ddf6425474f315b6cf04f63e62118d7d5f967e906f4f2a817619bdf62d5a2fe9f18f2 -KO = 8cae150c6eabf0d2f52e934a9f44fba1 - -COUNT=5 -L = 128 -KI = 8082b9d4e799955a29ee58b9cae48283834d96ac52098e7c -FixedInputDataByteLen = 60 -FixedInputData = f7b7ce6149e298a9728a6cffdcb8532f4ffe48b2f69a932b8384e949bca25d32bdb7efd6fe642f3838667aaaf7de642bd69cc69dbae98726f0869d9c -KO = 91b617d0af2dd6fa049d6e99c24f6f28 - -COUNT=6 -L = 128 -KI = a8ce7992e8140357cfdf7eedf659a86abdbe4184a88c1941 -FixedInputDataByteLen = 60 -FixedInputData = bb782722a644eb4c39a0b52d4e4c066e51c9cb8c1fa462fa67d790fff026d0705d637086ac949c8e9650af1af8b7e55f724b09948abd8075c8c90a54 -KO = f2e5996339e1231220885f698885e634 - -COUNT=7 -L = 128 -KI = 192e1181a970aa88844fcfc9b38002dff8ba4c50547ae6eb -FixedInputDataByteLen = 60 -FixedInputData = d837ea3d30695635f36c8e1a799dcbdcc4a98ee285b40d19781dea0c6d01b73812ed3c1e626b10f9bcca6dd0a5aaf924f695ce09c250c43344c1c088 -KO = e66898205c74a2f5c59bf4c01c0e689b - -COUNT=8 -L = 128 -KI = 9471bc25e72cde7c26e191f72248ae9373fdb8261bb9f23a -FixedInputDataByteLen = 60 -FixedInputData = 4daa6f437c8e689a562bda588f7dc8ea02cf3657f3813a7c124563c6b68a435154747f2d91291075e2b3f5481380a3c4262bcca46df0fa8f1fdffe69 -KO = b2c44dc187ee16d9fb260c7421d0d318 - -COUNT=9 -L = 128 -KI = bf0dee840c58c7a26f63723ef0c334bcead92f491630a167 -FixedInputDataByteLen = 60 -FixedInputData = ed8692338f06c708dee3209040efb0118707ab05dc1c93c4b1e04bfc00405036aae366b84c46e27e198f2c797921f237648185e62ce5c8a6e166bdd7 -KO = 2eb37c948a01d0dde63abafac2bf6c3c - -COUNT=10 -L = 512 -KI = 9d8911b22d37a4e5230919498edffac028444d58beb381e4 -FixedInputDataByteLen = 60 -FixedInputData = ed946d99e1d2d6bfa3299cc9585f6500540cfb9f89e0f6cfae7b5276bafc6c867c050a648b83c27c8aeb2935a8aeb0966d533e5864218f26e0e62d3b -KO = 6df58be1d9ceedd56a8b9172829a2861cf24c85bf5a299b7f02fc1980df0339459e006a0686758cf6250d8ecf778ac88efd1b4744d8ba9aabe0a525eb963c5f5 - -COUNT=11 -L = 512 -KI = 59d85cf7bc7fddb8d9ca4288ceff3d967a2403563d17a8f2 -FixedInputDataByteLen = 60 -FixedInputData = 4c618362041251bf9b73fc6a8cb598667d8d7214da04738c3ea3ab8dc94e9012e6761d1993ecde7c60da6eda80930a76df8955b84bdee6f0a82620e3 -KO = 9f64ea0843f56148e1d85faddaeb61330fac7ab20b9a36ae9bc6832c11ff5b06101c4d68b666897cd6715ad93c85703fe4fff37841361d90105904806503111d - -COUNT=12 -L = 512 -KI = f52d6e68e19022986219a4e33ea70a314b8a1cae2348054c -FixedInputDataByteLen = 60 -FixedInputData = 1c47ef64d1d935fe8003f57a392e5414735d8d0e439243236d878bc18103f260b36ab288803cd9d88a4d82477abed30eb6e09e048c75483777af6d7a -KO = d48ad87564dbce5f1c532f919467d6f7233e190ecb42ab53a20017c8ad505a4ac0e53b0afea66062589f3451f0395de7fadda19af17db9e9e318529d73d475f9 - -COUNT=13 -L = 512 -KI = 2180515191b204c01f99c064cae92174b1b125bfadbdbcd8 -FixedInputDataByteLen = 60 -FixedInputData = a3bbd0a97ef32756ef3392b2b213e0c962866b945698c452fa7bbb71cb93e008723d49607f112aa18f20da942b75d69bff09c8fbd2317c37a8be6948 -KO = 7ab03d31b3ce0563b2cff39b83e6e55a50e136e74dfd6ce57bda4ad4b831c92bdfed6f389b58de66dde5ba4049a73171c21783cd38e32551b85d640022bdd51d - -COUNT=14 -L = 512 -KI = 037026c091d3a162d8d8220cda25726f62c962c5b596cfdf -FixedInputDataByteLen = 60 -FixedInputData = 3f64d62c917e9865dd2bf874b1b45ab35c98852f4cc4ffa8ef43257c0188bb1bf8889f768006f235c16394c5bbe48c43493742e434a890256e479f46 -KO = 5cd2c339f5124e94ad4e0ff197418582408800b66946055c088fa70e0090c024c403289616a46d30e118aac0af956a28a34a1d179003405fb1afbf36bbc56d53 - -COUNT=15 -L = 512 -KI = 3fdc24d6d28ff5728d47bf998b7fb7b723a476c6927385ac -FixedInputDataByteLen = 60 -FixedInputData = 983b782ff7414ded8302fdd5adb4b936ce46a91d13b29303401b189d64db7999506eadbe431528d7cd0f50f28a854669562e314c7d0bd526907db341 -KO = dff4a6db753cca72f5b844f0cc4750fd00b18db479cd819f45e3024087bd33bae4188bbd0685b9498f75f026ea7f3bae7389e9b54dd70d2883dd29b98dbbc944 - -COUNT=16 -L = 512 -KI = 6d69fd1f5998c9e6a9a2b57fc91c35e9f8d47275bce24ce4 -FixedInputDataByteLen = 60 -FixedInputData = 5d5b3806b9f74d5df29a5c37c3f6541fac6e3cba91e76e282e38205c7d2b123bc44e23434ebd2be1044779d47b6f01033953524d83f7dfce396666f7 -KO = 108a0d65b9ac0f7a3c70dc2a457bad1e814883a552cf245455bc8d63e25a9663a002b1e5977245fb6a35022f8b7fba9a90cd929d3668bcaeea423d83ef08ed00 - -COUNT=17 -L = 512 -KI = 911e43ba6185651c2424fdaf4096f89aea0a3deb923791a1 -FixedInputDataByteLen = 60 -FixedInputData = d6833248a9b82b4e6e6b2da17569e0e0eb2198b454557ff9a7b34f50d5ded3237acc9044915d2fdbbf885bbeddcf55cf21f4581543d152956efb178e -KO = d5e24e6e5a88750368e1ce675757bbbf9d37cdebdee85f9a522247b7fc268324cf0acdacbcf961f317c6f071067587480f82e447cf772c9b3f71ea21eceeb4f0 - -COUNT=18 -L = 512 -KI = 5ef8b910f411206515719038b144e2f5c68154fb17247fbb -FixedInputDataByteLen = 60 -FixedInputData = a53b9f24c885e6fa894bbe607e8be71268bc100dde2b58892305ceb002b5c820576cb75be49bb241a02d8364df00f22978e0cad0c27f86b98e872d56 -KO = 14b80755e8e62c610fc802e33bc27847a4a8bc7b61c9cb618f85fca6944d3c9573647bb2238ff13a7d755c03828377e7d59dc790f73b204272aa2cf9570d9dc3 - -COUNT=19 -L = 512 -KI = ace21588022fe8f8203cd8bdfd379048efba762315e7b9eb -FixedInputDataByteLen = 60 -FixedInputData = 6d64181e75703b34558728dde38c0e581975e8bb9c1827f57f0fdb7adf228fa3c31e13652e3adc058d5e6836e0186c533b62f0c0a192160b43885fa3 -KO = e7026297bab061265317947605bdb5741b7aa3cb5c312c504959d6befa4b17f9d342b33031357168d9902aa7fff7b9ca4172932bde9353c062dc1b5400fecb09 - -COUNT=20 -L = 160 -KI = 996c444b28cd01dbef05958eb34f028732fc26adc7f74cd6 -FixedInputDataByteLen = 60 -FixedInputData = c36e71a21bd613b255a7438a94dd6c6fe2ed298ac2a1d614a7654352d507ea767d84caa127f4a7bd132a5639632c3cd7e2f4a2cf4cab44c31688e384 -KO = 4816e53f9280633bb04e9924d5739ee4198acc15 - -COUNT=21 -L = 160 -KI = 24354b476dc3b457323aa3f5aca2eee41890da31cf33e51a -FixedInputDataByteLen = 60 -FixedInputData = 2e6267c44f2ddbfad3d76abf390e1a3f37e73bc7d12c76342669667d6fcafcb22b4c1ffd5edfbb7d01a5b45795d0d30c6a2d833f2588b9eee48f9495 -KO = 8dfab94c5c1f7bf785ca78ea32cb913fa51f95f9 - -COUNT=22 -L = 160 -KI = 5f3c40440af7d360b3751b2afe77bea2cd2509519e8fa5e2 -FixedInputDataByteLen = 60 -FixedInputData = 6238f300c68ec5d5284ecc7cc3b2a83a41a4a3799f7b12741e1d17f98f0da09773a95a409a6a1296cb404b46e4e54df603681dc395bc1efda43a6c56 -KO = 33dfdaba8cf58a104aafe7da05f8afe7724d91fa - -COUNT=23 -L = 160 -KI = 72e56617381f4f9c89686bf9548ceddfc13b3b578fbb6480 -FixedInputDataByteLen = 60 -FixedInputData = abc3ed70ecdf534d784ec600d1ddb203bc996b4fe2b606ce8df6fc8f78a8c79c31cc80e6be4e35a73a6e6c3b14f7f387098a69e7b034a98799e894e0 -KO = 3bea7f3011e3c125e0e7e037a9be7c9c7b29f29c - -COUNT=24 -L = 160 -KI = 6691d63a94d0e248882c8ccb241463bdef770bfaa9bb7d44 -FixedInputDataByteLen = 60 -FixedInputData = 6676782c4df5f6f1cfe395f866e45e2fe0a368c891655f231e30d750c80fede5bbc95111b7b99a00d96c25293933cf4f4e4219a3afd4139ef47867d6 -KO = 736bc1b14a456ccbbf14cfcdb56e97b9939deb79 - -COUNT=25 -L = 160 -KI = 7918da2e4690a12a98950dbf44edb1512e3e2e1bef68d8cb -FixedInputDataByteLen = 60 -FixedInputData = f5cebfa2dd4a496f4b45c3711914ea0be4019b6203e9924b379a3cc7c07b12ad8bac9f5ddfe8f80114f1fc424094fbe2eab10c1c4fd2a76b0791132f -KO = f79d056bb0f9bcfe6ed7af51962e834ba2928032 - -COUNT=26 -L = 160 -KI = 93b9c91ccfb4ac54065e120dd72d86dffd14e5dc0b50bce9 -FixedInputDataByteLen = 60 -FixedInputData = a55e739096d9c21d1edd3fc9b3bfb48321e66b65fbd30a40dca6051c8716f9c624405eef091770a496f7f4455552903daef5b72c67849c30d548f7c5 -KO = 1c761664743bfe6365426b8c4f7efd0ee6b44980 - -COUNT=27 -L = 160 -KI = 352447a23668e96ad918b07eea5f3a9b446800bc71f08e17 -FixedInputDataByteLen = 60 -FixedInputData = f28f2c85da45ac6d8a0bbf7a6a08250ef2f2c89586b5aaeddaed551b90fc254bc3238f294c946eff1973f02a3d8c092763990d55f6ef36f314c01d72 -KO = f6210bb3e78f0bd6a82d33a601d40a749e08aeaa - -COUNT=28 -L = 160 -KI = 50b573e5e88267354e45133d7d90a138bd92f0a80c3115e6 -FixedInputDataByteLen = 60 -FixedInputData = 7521d02ec04f5e4c32f1e121b4517449c02b4bfca1c684bc692eac32bb8342098a715cb839e42f6f621b834f7fe6badb5116dbf36dcd26940d043539 -KO = d82826bb6b7ffc68ca123c5fb97b99c4493e4c77 - -COUNT=29 -L = 160 -KI = 980badda04f91685d40391efee416842264a248d40aedf71 -FixedInputDataByteLen = 60 -FixedInputData = 83fb30cbc31544f2db54fced158640d0039b606adafbd1de45b076ed223a0668322a46f717a92c04e71b286cc9ff309058725e864f944732f2fd1979 -KO = 78d66b0a062f2f1b2373cf4a635e1a5744fb6a18 - -COUNT=30 -L = 560 -KI = 06b1094e0bf832ae864fb87e71a59d003f346ff846bb8bb7 -FixedInputDataByteLen = 60 -FixedInputData = d7ff0036ca1dee5418873a6ab3de9389a7dc02d11484dc6a2775ba4eaf647c1735a80462a7a127724b3979914b82c4a8f21d861047cc05adef857603 -KO = d73c0857bed9667b027dc7c03d1877ed6c40bbb70717e8871036ddfc4416a8cd822f8322d686c9d59864ea5f09bef571d84b0ce7199ee08d0fb5fa557e86b7655cb1ce86947e - -COUNT=31 -L = 560 -KI = ee22a4d85623b1b29924181deba303f5c25ff6ec390d857d -FixedInputDataByteLen = 60 -FixedInputData = b0e73e6d403bdba0acfa32650cdd26ed64a32d54fdb5453eaa93daa24e221249e8b4e8c7620203a38e66ce92ebbf70ee50fe2b8e9b720523092e7c66 -KO = 5bc46b1e892fd4ff636a93826ffc194c89c9c9e0fb53fc9bdd0a2315da91011850f93af1a70fa1b83d1a4a74e1bb3e3da47c1984cbde50c61034b097b32eb35e114069e945cd - -COUNT=32 -L = 560 -KI = 25509f8368312452d3984df97c78893a7e38ebb82b108a32 -FixedInputDataByteLen = 60 -FixedInputData = 1bc5acf85052e814785f8dc064a12c0ec0cc2032f0e1ec7133c19a1099482a5b03ed3e5d2df3160cc4df46b4221b5d1e104cbc78af0f7bd8ab1eebdb -KO = d8b57f260d80cbff06f33cb8afbe0956de65e323c7b6abb1ba0e4a6e7d9373de3a43e287a3cbf275fea5d2badd09c84f3559e66c31ef1a1ab330f5e7c97c7ccdc1b53c426b1b - -COUNT=33 -L = 560 -KI = 1003d0b519c027d784b1972262a969b2ad49b04788fe0fec -FixedInputDataByteLen = 60 -FixedInputData = 2b83e215057f49978f9bd005b2e8b4e6473840f0ba49a067f3f3c9cfdfdc7819e7c370d0d5f69f64033191024057681ffc6cebd6efe55abb91902fcd -KO = a936cff4f3865af005ce7cca571b5f62b1440147d3eeec8f11162231d8f23911f78f3cef9bde082ad01e6646faacbd3b26395dac6de87f1da21d4af525259e65bf4433110d41 - -COUNT=34 -L = 560 -KI = 4401cedc2cf617ece067e5d9a5411a17fa91d62c310ba237 -FixedInputDataByteLen = 60 -FixedInputData = e2a476e1800997c5c13f5f8181a1557fc7ccfec8e51d9e24385dc2a50d29f27bfd4abd1dc288ee3e44fc0a9e99cdb449cc102853e101fbf81d1a3eb1 -KO = 99ce9a5139ccd87495ea6ef3d4da90f11e700b85522ee4f5fda933045d195d33ec2d8d9701a3643c8bab9289155f9582475e873bfc9c6ba830be1ab6210c690078e56b77630f - -COUNT=35 -L = 560 -KI = 71b46abc3976a5ad9e0d0b10c974281adc4ead663963e7a6 -FixedInputDataByteLen = 60 -FixedInputData = 598f6708e1dfc05cca4a78b69632fb0c6f24897a57e56bec9764a38fc495b870edba71d5854e7e0590049c55ad5914bebff73ad54d9a324f0f373d4d -KO = 28ae186478eecc00ccfa115f439cb9dabc8e728a29e4cab0d2515033e2046c383a61fa041487e04e8cc769dfcbcde5faa35cd5e6890a00a25038ca2c99bc8794df99d82dac23 - -COUNT=36 -L = 560 -KI = 041fcdf22562d0c0bcf27f405b3b53323e1b8210c727ccfa -FixedInputDataByteLen = 60 -FixedInputData = 9883f34bee7175fbf2941cdb21986bcbfb05a32523ebe2234d94e42ef5f65a80202880ad5f569d495f5b8abd7b9b26844aaa6ae4c3a6dc757bec1091 -KO = c9bc7ed0215a96ab20b0d8163287fdc7e6e174fac7184b41bfc34d6b276fc6d6c839cf915119644a3db44e1114190e48b1ca851a1c51964995d2d52d18f839706ee278fab347 - -COUNT=37 -L = 560 -KI = 5a8c1ddff3c3c3346044cfcd71b84716769b6a4ff70e14e2 -FixedInputDataByteLen = 60 -FixedInputData = f6307cf710ce4d955bb79c37ba7253555a9ca2f111491388106e6f09893a624909eaa162c95d6c5122c394059f262ba2c23563ee844d2a6bca00e25f -KO = bff28b669f36eadc0167f2776375ac05418caac27c121224f568ba6830bc664246c243d2ea44fa3e166f4c855ff85dc3fb1c667987f46f825583f0106f6ef76552d7b5fc321d - -COUNT=38 -L = 560 -KI = 214f078efe99c6dd06408d8a4733996a692b6509b49fbaac -FixedInputDataByteLen = 60 -FixedInputData = 4f5b18b555f50b7d07aacfa939ffe69914dcfb5f5830dc1b5eac1aafb680be3c173f27e2d7ed227d8eabb7b1c824ee431e166b98ce75952f2e3e680a -KO = 0c04387c3c75271f94f18d1aa5b9a5cf94f6b661ee0f54bbd83fbffbd9c0b43957667271c81f5ababed656a21ecd6fbefc045f35331cfa136b212a6d0ccbfb6066e2da9b516b - -COUNT=39 -L = 560 -KI = 82db9632a80153b2179f0d42c8f7396b387c445ada7f24d4 -FixedInputDataByteLen = 60 -FixedInputData = 3801a9ba863168b4e2c3789085f635e5746888bc0c0c90efd2e99602ef78b31c13e2374b4ff38457b22933d2268653b1df333b10135f4e7cd6ba11fe -KO = 6d0350d0caae44cc8400777a591a89ca03decd26e1cb64f48a7b2c6f4cb50f6c5de41fef22581af79b57f6db06dfd893e76aedf742b277aa2579c4fb6ee5c24ab85f7b0a03db - - - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 509167af66607b2c223bf46c010b6c0d368316c355e6577e -FixedInputDataByteLen = 60 -FixedInputData = a0efbf57ef47af3aca70c586235e7316fd0f53f1754d1be2a95dbeefdc0f87f6d90026ae1c08dbbec6cc814948aea7590055e9b8bdaddebe46a6b4c5 -KO = b3b46eb5b8427f5ae8255180ce83439f - -COUNT=1 -L = 128 -KI = d2d8a5be57d12122958976f54e1d82d64652cdbf2ccb603c -FixedInputDataByteLen = 60 -FixedInputData = d4093f34cce964f0e6832a8d3ddc91568b7802849101ebc1491660059fcd524b4c4987b48cd085223421969fa2ddd5d6f012aaba2db86ed7c5470b64 -KO = e56cc04c5da1d7317836c13a11176889 - -COUNT=2 -L = 128 -KI = 31260b80856d5a6e73564c36a62fa10cc5014bfbd1771645 -FixedInputDataByteLen = 60 -FixedInputData = be3d7809bd8b04c875502369b98cc1dc9224772adb28eac83ae2cfd33068c229ca0ed84d572c8b2917939d1b8435084bb87449cc45ab6b7a13e7c4e2 -KO = 7067f445562d6bd6b0e4513e44c952fe - -COUNT=3 -L = 128 -KI = 155d8400b1cdf54a78f827000e8f52c40e331969a1a52414 -FixedInputDataByteLen = 60 -FixedInputData = 430845074a48533695b146262af6389ad0672cb50937bbfd55e33d8d1ace4ccf8a8240fe75a72511c20eb3cde90e35296ae615241d6dfd7879b1fecf -KO = d070158d2fd40ca5d8cd05dc12fe2d2a - -COUNT=4 -L = 128 -KI = b308bba6cc1910e35c2e08efebab1edbf35a1b0daa6edf71 -FixedInputDataByteLen = 60 -FixedInputData = c8c7cd5669efb2d9be9c00819b871bb30bf23c28a5dc04aa8f471e802e1996458ce986ff37ef88b653fec8e3f90528b29f1958fd2f5f92a12ff0554b -KO = b10df958eedbf82762a46854201ae8fd - -COUNT=5 -L = 128 -KI = 6d942b4d461be37b39df7d395bd163e48a09aa8c7d555757 -FixedInputDataByteLen = 60 -FixedInputData = 74e0500a0c07ef468f1a3b0a9d7f48f2094a456c9672ec3face381a695ea326ba3a74049a7db823e43bbf320305dfe294c34c26f5f98cc134aa9af82 -KO = 919b6cc5477f497b212867fe37981e39 - -COUNT=6 -L = 128 -KI = e3355b85712f134fb061a9ed06c4ff804384eecc011451e7 -FixedInputDataByteLen = 60 -FixedInputData = 3fae119df1ba3e9b6f6094bc77020b4087308eda3175dd2377e4c48e58406aa9ea66aa6e2745864822662b475f05158f23d3f918350e9b91bb3490b2 -KO = fbde1d4e435dfc93dfd38c44df6f5a7f - -COUNT=7 -L = 128 -KI = 4d1e4c580f9e5a0fca4b5d6dab3bae1b29d6b8080f06a444 -FixedInputDataByteLen = 60 -FixedInputData = df07e77c205af9edda4ea6838a5fac9f5385c0a96239978f57ce271a6364c8f6634d77c30203265c201f8295f85dd22239056d73aee8dd87a91f81e4 -KO = 030b5c7c79aa5ffcea762bcbc0bbf85c - -COUNT=8 -L = 128 -KI = 3134b7e27fcfc370facb5760019a6e6a6a067b67c2291616 -FixedInputDataByteLen = 60 -FixedInputData = 8d53a37a0ebf54e6ca194d62dc839dc22611535e2fe5c7a36a25b61cabf30b88ad83e80487b5fbedcdbf452bbac0f02508ddb48849c6927b96263bcd -KO = f404f790cdf81cabafd981f915ea8f10 - -COUNT=9 -L = 128 -KI = 767eaa0f7dc58d5e6c507832d27c221f85a6fbe8dc441e4b -FixedInputDataByteLen = 60 -FixedInputData = 85557495ae1f92ff833a66633679b9be9431340acb0101a41c806761804b0846b2a1edbe742e3f89c8cb3c4dcd2980d18f5f288852f1c2103efe9fbe -KO = ffccb6358bb46a7a6cceb23bc06425c2 - -COUNT=10 -L = 512 -KI = 8f4f69e3fc157670c2f289f8e4734620395ac90790d6d744 -FixedInputDataByteLen = 60 -FixedInputData = 7f7cd8f9fbfb065be125e7215beb7806faef9381e5185ed05975cd61b395b98a0115653cee01ecefb2636ca4a8e3d90c406747fd60cf8a343efd9f85 -KO = f81c7365356fd4c2fcf0ec0f722952be5daa160df75d1468b7a8ab27fbd05b380eb3597b62936468a369c7de23b5b3524ee65ac57e0441be062282febfb6159c - -COUNT=11 -L = 512 -KI = 8d2247c0d1ff5facd9bf7dd5b7c2956ecb1bece298271938 -FixedInputDataByteLen = 60 -FixedInputData = 273d93c521ecbbb19770b64da22cee93813b3d9835f10ec610ccf5a44da34cdb1a4f5941966f33a8746ccca54c56def52f3583ce4b3e32b067708a25 -KO = 0ddaa0e2e929597c643ed6e513d31288fd1ad32d5499d624fe815549d6350f76fad66a7cb1e96d8a099ea0e99f667a90bb6f8bb4883bd5b09bcd0a8e3a1112eb - -COUNT=12 -L = 512 -KI = bc0000cbc505da87d89bd169864f13326642ca2df0a1c42d -FixedInputDataByteLen = 60 -FixedInputData = cc7d7608edfb2c4f6ca4ff84ff55bbb9b7921d869563d7d1f7a9209350d85918d6adc6db974975093b0645dfb3e5b67724086fe1dd034febc37adca4 -KO = dd7dab9988be5a3bc2361c2d44015fd6849a7840eee9e30d912612c612576d552bd57f298c4bd9e748d507e33e5696a60c3028f81b4273d84cbc19602fc150a2 - -COUNT=13 -L = 512 -KI = ddfc7308cb8663870f09e7bb9b0b146c1adc503a627c434f -FixedInputDataByteLen = 60 -FixedInputData = 06fab9e7e2afec565ff68fb0ad6e3000844110babcf556e3b25c36c79aeacbda84d502447963652bb5592179cff9d5878e6587134a181aac30e70b95 -KO = 81bff9b4a99d28fbf856229ce4afa0d07e7b5beb8c425120f9fda02e3e89fb942806692d16ac4c16fbf6002d496afaa69b74f9b09db4d4c22e381280ed2f948d - -COUNT=14 -L = 512 -KI = a5afc584532e5cc2b0b3bc2a4a16eeb319f6d90555edf2af -FixedInputDataByteLen = 60 -FixedInputData = b9bf09e5156a00c0ca63c7f473e6939836fc5bb3df501cba4249612445e91da9d0a05bf80a84bfaef1cfba0c6d13f16217eaabc1e4a5bb5d2abfe9d9 -KO = ae32bff8a0078edee4f245a01095f6abf6b772a9e82b61a583d48199aafd30d71904b3dfdf78d15093bada6e3629d986c61ea6f9b1ec1564eea137231cfed96a - -COUNT=15 -L = 512 -KI = afeab17fdd2e8de22ed5cb518c5621084534b43b619962ae -FixedInputDataByteLen = 60 -FixedInputData = a93896585d12d6e533819748206d733abc5bd557172a5ed9a87e35e2b5f49ce9650a52ca22088392a404a5ae6f3768192c4d16a261670c9b9d036354 -KO = 56aa71a60f09e70cebca75dd2e0634be259ceff9e1f2b82c014638d286ab16c3076fcf2d8b1693831997118d95916ce04c719eff230e71ef0090392fe363ee2d - -COUNT=16 -L = 512 -KI = 7b6b28ca87e68bf4e57111ccf11b32be6f376baa7c7502af -FixedInputDataByteLen = 60 -FixedInputData = 2d8bb14451273095703a49fbf77d3038632e017dcb78394fd7c5259f044a6619088e07d79f5ba22423fd260e9eeb57d504c51f3800c25749a541c931 -KO = 5241c57007013ad55fe4f83b3ef5d2bda5f0e3dfabe07e8564fe16fc0a2fb8dfc6b18ef40b20c59a25fe7cb80d55bc8324e960a8ddcd41591c3f8bc69a11defb - -COUNT=17 -L = 512 -KI = 44618b96d0102b8ef4024172c68c4f197d512b4118e4389b -FixedInputDataByteLen = 60 -FixedInputData = 35edcd9c238ef0dabb32122f234b88b1bdcf59fe1a9e9900fc60901fc474e8c48908c96b0b00c1a742072d4b0393c6835cd55dad4a717811cc5d3db6 -KO = 89a99fdb525ff57022fc8abcdf0f3f086903a8bfe889a5b63082ad08e65450b874f6984dd4b227f915a44138417a093b1def7aa10ec2a9f3e5474e947512de2e - -COUNT=18 -L = 512 -KI = c88d397bd9ea45ad02debe62369b592aa05658b2fb72c9aa -FixedInputDataByteLen = 60 -FixedInputData = b74ffca0330cb1154bb738b0b1e05cd9a4ad16c4ce9628e605349ab1df482882d59f0c71db62305a3243282fcdb290e5ad0a5cce42b6abad3ae75940 -KO = 44a9e4ab55804aa4f8dc9e5d5f6c88d60ce32f0c489fa9f1e207de772c8d78c392ab1103e42431ca7b5e6224a2d65fe33717788cd445ab9cce0bce6d6e6db259 - -COUNT=19 -L = 512 -KI = 061a908e05a6c029af1c518bbbdcbf637c7fdaaf4293c792 -FixedInputDataByteLen = 60 -FixedInputData = 2a9b824d0b30b3b56faaf879c9da524974c75fe660ec8b60226c041f9f6fdd843b3a4500317cd96779324358d433139d759f1c23153e557add223dc7 -KO = 7bf6baabd72a13dc9a021874e10681b2579e2f36627e5c81c5a716c199594074b9cb8b832cebedb65f9eeb609b40f448d5786ecbe93aa20cff18c062cd0040d1 - -COUNT=20 -L = 160 -KI = 24df439e60eb0fc53a0db996777c8bf8f71e8a62605c7b1e -FixedInputDataByteLen = 60 -FixedInputData = 9bd41cb58eb999a73312ba90047d2c8b6d2b5e7005af6350df079d583f1416ec06033826717cdcdd7c6fcf9f94a6571a44c9d6490ae30bce30f56500 -KO = bee7910caa6b46d37e7e1184dcec2147b4f25ded - -COUNT=21 -L = 160 -KI = 552f4b7179f6d5a555855b13e1ffdb7985004909a3670f42 -FixedInputDataByteLen = 60 -FixedInputData = 837400129dc2bad12df9e41f7f45eaab0db5e80424ef30e74fa6f2df9831058f66fc2ee269504539161958bd643224ccc0dad3f12f75417c9e3b27b6 -KO = 361a204fc978617a070a2c0527a6206f61851226 - -COUNT=22 -L = 160 -KI = 9842d0a16cf6248edcc3a33c01412cc17519f1f078571eff -FixedInputDataByteLen = 60 -FixedInputData = b90a4016d1892479e24d943b9d9c730ce2558f219d095822e7fedbd8c14e8f481d14484299d8dba060f45fcdbe94376ffa49c0add16e70832de5bd2d -KO = c994dc19acd86225d0caa051ba0b3f3e01917336 - -COUNT=23 -L = 160 -KI = 22113107e918fdb0c05e4e96a69470c5bf4002c239da5b8f -FixedInputDataByteLen = 60 -FixedInputData = e49f76910cdfbc291091d07f1dd6bfc9fde19701fd1b2aa12647a9450352669367bc4be7d38e2be24780a2f66214db9238ef6856a4c77e42e932b915 -KO = 4684dd508095c648a3c4959a505e178cff3896f4 - -COUNT=24 -L = 160 -KI = 50f1ef245c1e521bddb41f6e2e868f3ccd15c9ef94cb2697 -FixedInputDataByteLen = 60 -FixedInputData = 8588bd0c76578983460b6c7f4a6b44ad5c38a714c1852b490db300544a3f04129057d90918e1b5b1eaa9ded4b8c88057cd8c18cb3fcc23f9cc071b96 -KO = adb472693f376408d667ec968bb230f7c5ed141b - -COUNT=25 -L = 160 -KI = f8741fab8ac8c0f6829b8f103a6f3285e2c05da0a2c51ed5 -FixedInputDataByteLen = 60 -FixedInputData = cad8211336caf37206279d016a3d201506299a0a3685f0d55bd7c21c7bf31d78c5c871394d051e36f43cd6a688d230abf9ec0533470bf828f9a10765 -KO = 62fdb17b7aff7efe0f71473dd7d195335540f421 - -COUNT=26 -L = 160 -KI = 7234541ee08d26e9fec60c773f89e625ebd24f49eb66f4e9 -FixedInputDataByteLen = 60 -FixedInputData = be7a386a4477f0a875b6861a94b92d58e33209ba66ade63f1d69d35ef2fe80cd54865fbc3c70241b52b27e22c0964d814548051fb13acf0673a9733b -KO = 683965d7c1bb4fa774dae2b4c3f8facc37b139cb - -COUNT=27 -L = 160 -KI = 0ded81f8b91773f9452c7b8cd72a09e0a48f6d678740ef13 -FixedInputDataByteLen = 60 -FixedInputData = 9e4285884efb2e5fc8376702e195fb57b1e08690f57740a242ffbec40a9633f674ac69164d2419425181dae4427979740a104fd7cc8bfc29ad8c6712 -KO = 1074a465457a611d44117edacfca5fc72badbc51 - -COUNT=28 -L = 160 -KI = 5a3fc8616f9ef00c9280148e0329bbd2b18fb4dfbebe24b3 -FixedInputDataByteLen = 60 -FixedInputData = c510e1a5ccbc1c16d5c7ad790dceca461ede4b12c8df2b0fa3b6f759211316ba4c4fe43f54bad5d55ae8a4d39733358b845f654626dbc0a8126acafa -KO = 4974c8edc11d6d88059d1fcd34953552936f468f - -COUNT=29 -L = 160 -KI = 41f822d892faf33cf89db9acc7a8f4495641dd990afb1a0f -FixedInputDataByteLen = 60 -FixedInputData = f3fb115c5d1455f50e79866d2906889f88cdf8cc76bab2bf17306ba5515ae0c4687efd39df2e94f17d5bb85a5886876279372b66aa874deec387ad5c -KO = 9fffff77639ccd9755f742a764a646d64a96912f - -COUNT=30 -L = 560 -KI = 7d800b0e2cf190f00a62f9e4c0270275e6f26e6d7cbb77ce -FixedInputDataByteLen = 60 -FixedInputData = 6b85ce3971802d709f97467a05fc191eb5222e4fd12fa75ad490bdd1aed137af30debc4a889e166db2d7774b18a8ee822c58c832bfdcd050997cb7c8 -KO = 9dbfbe47a1182e4d8bdd41d333320d7f50f5e9b49b852514b196a553cc5e4967a0e3bc86d8af7787199b92b7dddc45f7a4531c37944f76c4399d3d8bbc95b272631eb57e1769 - -COUNT=31 -L = 560 -KI = fa009128117f7cad9d3ddb3c61ee76f06b25db070e235162 -FixedInputDataByteLen = 60 -FixedInputData = 16d58791a0ee414758695d1b51599fcf6f031322a53f4a66c704bb9ba3c369f0737cd942a918c0b4a4ddcb27a401c5025b7a9c86ba2159b76f0d9110 -KO = 8ff6c8526deb4bdb34573cfd5d965522dba93b7622a031b1a3960d2f76ed612632453cf29669850b964b28c3e9234de1bc2bcdcaf2d95590698e3405532cd01b6114958d59be - -COUNT=32 -L = 560 -KI = b22ac8642e76a2bdbce73bb81f06f7fbdc0be4a442192a73 -FixedInputDataByteLen = 60 -FixedInputData = 9c7b801c8f18f7b5e07c1fc1a474032e497ec23fc166be1adf09f8bc6c114a91f4c2447702d25f43b3dab19defb02d5cc3b94666fe9cf4ab29e7aa32 -KO = 760088e44a5171e0925b02c50d788c41fc3f9af215052f24fbabfa94d0936796e9728ff6a372c7f5474bfe269c3c13e9fecf69b0ef0cf8a9822f9e2b3941f9c68f0f04b18d06 - -COUNT=33 -L = 560 -KI = 3cb6b3df079ca591254b66794a0ce4e8e6c64029d4a6f8b1 -FixedInputDataByteLen = 60 -FixedInputData = 7e6f033c1a1d15386e333813cb7348d7fd4cf2b6775fad7ad478dd3898b3195af0d069aeee64fef2837a9de8a7185aca01c0294cd6dd6d97c381428b -KO = 5e8e14c348a5ce6a19b5ac5efd5222ce17fbda630f042207f85130a60e53147d2a94d313ed7efcd2fc09a710e8e5750259914a6f1a3c6a8a406601c15cb95f32ffd6c9bd1f2c - -COUNT=34 -L = 560 -KI = 3fd2917084df4f59608de4c8f93c1f4c6f9f4009ebc0005b -FixedInputDataByteLen = 60 -FixedInputData = a2d4539c93917e16751a57cc6abc5ba58382ce2843843ef1187e66d7e571ed35e491c7cdd2434e4a7f9698c77c114abc51f96ecbdf3223e3d7653513 -KO = 436cfacb41a97c4e68a49a28c2afbb88a271591e9e5d2d00e74561e5520da7026e3456ebe46785a006ffb23fbd6ec273379cf65fe14dcab4aeaadea73dc31340cc00e805b945 - -COUNT=35 -L = 560 -KI = 7c6a4dd8056a246499f0aafe35a6d94eb072e79b010604fc -FixedInputDataByteLen = 60 -FixedInputData = 2f0ecaf2c4d18c75e5b307001c99271083dadede9d0ab4bdbb5a5e26f7fc04dab808217197cea63df860aec1d90cc79bff979d57ddea2559aadf4734 -KO = e42f43bc9adc4707a78d4e83e9fd979d6003929df72d45f35c6678220ba62e3c5a5d390a870ab8558ff89719eb20b95f8fd7f62613629d4ecdc4faf9cb5d1eccbd017b9720fb - -COUNT=36 -L = 560 -KI = ac06bb06c1de715bd52756c8d9b70329b48a6e7205359057 -FixedInputDataByteLen = 60 -FixedInputData = 3c5a3404dcf229128eea91a7b920241e25bdc3341ee4bb0f66e4424c1ac944dd4aaac9b07d66faceec3b05e178d3fe6ad8a67897d19edec81bd23a22 -KO = 79746ec366220f0a0d814288a2e8fd3ef4df0ba747cd38b3fa28b2aaa91786f33d25965231a1d97b55ea32629fe606c286adcad13767ff5d69a7aa55214239b4844464092de5 - -COUNT=37 -L = 560 -KI = 5bf109cf727fcccb80d2bf08089259f333fb686ebfd220be -FixedInputDataByteLen = 60 -FixedInputData = c56f5f25630ceadc1e08e94efcf44cec26f7f59d5931b53bd4302b13188068622721979abe19d9bb7110e52db57a8237411efa2a0aec630e38fda935 -KO = 3c0fb8b49da8c15daa9863cf44db63c97084e304d2e908381b67d0916c58ede357060ffefe45eaa98d102e4ec463c08934e8fe0c005b6ce995508268bc4238bc400171d313a6 - -COUNT=38 -L = 560 -KI = 0b32336db73fd108172a2018c17db31d2a2a0df1615c4784 -FixedInputDataByteLen = 60 -FixedInputData = 229472aab4942f61c2893e5218e75ffc914613d5d56e2f367086412913d25ea7bcc4e74a9340906b8aa27ad60b5c01b671514a87efd9ff3d66d0e643 -KO = 406532be217485bfac8a5de1b57dff127bf3e222b75a1f8cf41a3ce836970dd24278061fecde9841d7d2380a6a05e5869872dc0f86feec70ca7bc1a7b6327e9b606ead641c72 - -COUNT=39 -L = 560 -KI = 57705073347981039b7648d72ae2a950ec8446f2431d4c02 -FixedInputDataByteLen = 60 -FixedInputData = 1e6dcc4d03bd9477892ab67bfc839922565105f8cbe2bb82497a27969c8ebe533ac2f7883300721d3d01c6b4e11b7aebdf3bfcfda3430e9bff32aada -KO = 5c6c85576d40deb7ea9a8769fa730ffc3cbd426967102ef6a63c10aadf4da70e77a856a765437a900fccaaf01d5333c348428a7fca661d57b7737fa1f4464fa136c0021b9a73 - - - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = a766032cc67c0759b7357301050ea2368fe644989a15cd0c80a20e9a90273e5b -FixedInputDataByteLen = 60 -FixedInputData = f74828de2274bb2514dae7ca1ecfb79bbad99533ae920cee9e1a55f7dceda29876a497d6612fbd47069c27116feb7a7c9e221d4a2fbd665a5aa3fac2 -KO = f1b041ff130eb0f85a1d8dee37da4934 - -COUNT=1 -L = 128 -KI = 1285cc29898a090b3a5325bfffa97b5a73a300fc309e68e980651f56d6bb29d6 -FixedInputDataByteLen = 60 -FixedInputData = ed3f86e1254ece6c614449220133fe8b37cbf57d5f681b22e99f38f17d1ef137494cdd3d0e4b213bea59962cc900be8e0350423d40a34e20b79691ef -KO = 6b94d12a9226f0598a908a483c2d2c40 - -COUNT=2 -L = 128 -KI = 436c7148c6da6888819d0529cd9a79ee3c4896c115c1b64e9c678831e6ab0811 -FixedInputDataByteLen = 60 -FixedInputData = 6541470b469072d114d39efac655e971408957391c5d3d8a03806c576d4faa9fb5df1b82d614334f415bea6983cfeca1f43e6c56c622c7c6830f7656 -KO = 571317a5c1b3182140123b83a9fd3e4e - -COUNT=3 -L = 128 -KI = c07047b80ebee06a12bf8fd042afcbe0da30becc5c8abd0b6af30743251371c2 -FixedInputDataByteLen = 60 -FixedInputData = ac8b854593c9f5e8766f818ce3d1f28c0177eb15faf3bdb3fdb8367d8c551cccf28c5e4f472047f98cddcffc44df622bc8c4b426b9016bbf490de8fd -KO = 6dab50a04f2748cf9799c0c4fafeddbc - -COUNT=4 -L = 128 -KI = fb1f6d303d584286d55e50eb080c8bd0e6d4b2de0877e1e2e7bea1de7e5ac2d1 -FixedInputDataByteLen = 60 -FixedInputData = 767a4692c121e0db08b11dc0a54d64b45e7b791d00734dd96e1a1613f0b0b13f0be8538d38a5c2cbb5ab2a7f32b60b532c4301dfa321a45269a5822d -KO = 61459e075fc6aea65d8b78bf071f14d0 - -COUNT=5 -L = 128 -KI = 6a98d2c374bbeafb1f9ed44aacdcb2ac3e169985384b3ba01a59865a431f6f5b -FixedInputDataByteLen = 60 -FixedInputData = 368e0a1c7a1a9d9bf304e9c8967718a4cbe62e67174f10dad2722c160eb9033db8c7ce658f6a2ed7ed74dfb9f8f4eccd83ac06753029ee628bfc8045 -KO = 55d95d7478dab25bf327f7e8015b8c84 - -COUNT=6 -L = 128 -KI = de11b9430f9d6c7c55593d54a196f16a4fcb202a43c0c6442a8eaf9a476ec485 -FixedInputDataByteLen = 60 -FixedInputData = 8939bd1992650cdb0e2c886c9e4d7fe71962c3aeec0de592615576dfd8876a88fbf1c8deb87e9a112f7864766b21dbd716b1cafb1c3e9cf56fab2aab -KO = 2890ce776baf5a6ae33862f8701d6548 - -COUNT=7 -L = 128 -KI = f92191ceef6dd2b3b0d5846222026ccd70f8106475f632f48958d40121bb8f29 -FixedInputDataByteLen = 60 -FixedInputData = 3dd2498200f81e7fd6025c4e47cdb34011280c93a09e845ff4c2468d795b2dc7f1176b8eba7c73945c422b88dd1d0880ed7f2fc0bbed9bddd843d7a6 -KO = d4386b2ae5b74b7e9533ac5ec32fd9cf - -COUNT=8 -L = 128 -KI = ac285dc13f1adf8525c957d684b39f57c4653afaa9fbdb225267511894205874 -FixedInputDataByteLen = 60 -FixedInputData = a66692de7cc453d27811ef78f98d52f1d6d49cc780277e38e7bc3d4c9bf2b0526932455a905a359b89be5a8f4c26ca4c2e63bb8c88775b1069ea3193 -KO = 88bea8a8ecd09d4df5d0dd12c62a1083 - -COUNT=9 -L = 128 -KI = ca872420e0e0a3751d3b389e543f8b4bce9330cc04c8626b02c6a1363dbb83a7 -FixedInputDataByteLen = 60 -FixedInputData = 4b4a04b31b6fb9b69257474d93360976c8e1d9cea6ac1bc8376303f7ce629820aa9b7906a9cac530d6dee8ec08cf7f6950acac35b0d72095b95c08de -KO = d50aa971dc3038b73470dc36e0028a44 - -COUNT=10 -L = 512 -KI = cd58abe0d608d94648dcdb5d17202f7e791105bdb076a23116c741ef5590b34d -FixedInputDataByteLen = 60 -FixedInputData = 26093c6f2732790910000cfde9242ea1660e90ffa2cdae9c51716b91184cc3b75286d52a3511d828e37885ae3076f714408e7a4dca9a9ed13a464185 -KO = 427813e076a2c6dff48125cf03c83c8f6bb55d68e14828057dae2b54b6f067d1923523fb2df0c3936d61fa50cf36e53c6b61a2fa69322a20ca633d019ab68fc1 - -COUNT=11 -L = 512 -KI = eceb70b0d8739b5e1cc70116462eb329856726a1a20cbda5af1d6d93ff2ed49f -FixedInputDataByteLen = 60 -FixedInputData = c99c9c36791b1c3cd8a72ea0f13877e732598ec059dac8b71b20a00be174fcfcf8b64e629db69bb25d6f4ed755aa6050afa727ac04c7bbf17d3394eb -KO = b9adb83a51dd284dfc7afe07b7dd8e7399f6d7226bd0750e026119a2956985ac006b42e84fe06e5a4cba49be307ea276a8f9229c565055d199f9d92ac862c4b1 - -COUNT=12 -L = 512 -KI = 9135fbcf7d436f385141ac8ad7811007b1cd033af9f6329dc445235087ff6e35 -FixedInputDataByteLen = 60 -FixedInputData = 725218b0abcbb861848e754a1ac14ef3511b3c56f518036c381dab64e4523c430932cac2a22d4e73acffe28d729747b65da2a99d2e302a8ea121bdaa -KO = d75d6ace915b5876ee72efc212d5ff6940765211f37eb1f616fa9649e5729c3cc2371570f96d9b2e3bfc571fa2297bc153a01148708b01360d847f5fa12aa5b5 - -COUNT=13 -L = 512 -KI = 8136062fb56f1ce0673a1a90800aa84390dd86e228635b69b2c4f1dd94f9c08d -FixedInputDataByteLen = 60 -FixedInputData = 5997d5b946b1ec447fdddee59ac489bba7b21ed56b4297175fd96a4324ba5bbc963d80f60a7448ef635c88ed85527d28e476a12948adfb776948c4f4 -KO = 34e613b8d1bb322201eb63a74c9f9157a4715439a26a4505aab2ea8ba787634c221f7cdfce030527b976b60f9da8c3db65f3fc06b7d6a676dc36b1d05bd9f9e7 - -COUNT=14 -L = 512 -KI = 19d5937d5be3be84840e69b8d8346caa92b4e543486aad90733bf3e002a9be62 -FixedInputDataByteLen = 60 -FixedInputData = 3a69cb8fe4da69e5c68516601aef2901db4f89f7f45d31cb924d4b630263e4fe2601d246b9104514fb154b7359d503ab49f0aee5a8b4a57fb4c1acd9 -KO = 8d6a6a13dbef34d447b057138844c993eda3c03ce9facfa10f8eff5782d6128528575e8f25fa3e93cfeb516743eb48fe91586bfb6fdee289cb03bc20ca9f1b5d - -COUNT=15 -L = 512 -KI = 28c5420fd24f0588b3872152e92f783bdb4b2eea05246be192a9712f2fe33828 -FixedInputDataByteLen = 60 -FixedInputData = b596a4fe4abd7d897c34e31827e5258c6c03d86a6d06678389e8bb40f05408e523800b5f3b4f53d2f0ce92666d2a7356176a25fdfb05bfc60802e06e -KO = 2f81429f0d47232ff52f1860c49f65030c564edd38460802752944ea11b87f776a2dc84092d9e97b953d91514d453b27b28fc4c789ffdfa0b90819c74f00003f - -COUNT=16 -L = 512 -KI = 3b10629087ed0a1e65c9a8509f2925f206bab9b2cd6fcb58184a049846daf50e -FixedInputDataByteLen = 60 -FixedInputData = 30b7322c2fccdec1a719e2a98b7535999f3d3939258e1f73b96dfead219972002fa37d49a08d5a7ecd1a7b0dfca2bfdfec3de9cc1efb3e59f5c02797 -KO = 586023e13cebe99cc9db14fc6c702c58a966814300e845e5e651b46031442f2781cc2a6d1854787558e5f2fa0b003216b976962e045e83ac38da24b40d1efa09 - -COUNT=17 -L = 512 -KI = 21321ffd5fb3614794973801b7a2aa756dbffb3142927d1534644d858d70b30c -FixedInputDataByteLen = 60 -FixedInputData = 31b48398039a42feeefca67b2d5bd26a575f235e1cdcdc7fa82e1310c3647c3ef6c58383a737000f5b5fb36745f2f5aa64068d9c5b19ddf3e3462257 -KO = a3aa3668fb5615dcf081adcf5c724f513ebd609b73bb3d4c3445d4a5c2e8329abfcc205e4e1069a9f7b8dffb3f1f992c9f5fabb28586fc919fed66483f6d9ae4 - -COUNT=18 -L = 512 -KI = 24bc74ae10d5561e2deb431413a394a3b8bbb6514a97829b7a9e9d61b4d7ec57 -FixedInputDataByteLen = 60 -FixedInputData = 887f35f8a0b19aa012c1a64aa011a40f616c8a657d7315be778cb7ecc1306951d1ab7fb947dc2cff892a995e8a8b4c8fa5349eebce00f36d7e188b26 -KO = 5d69211667c38a8f3799de65e547888fe19cd521873cfaf5540048f6cc0ea360f53be7c09db3c229342c3f4d182a880efdb290363fa90aa5e157fbc6847e1f94 - -COUNT=19 -L = 512 -KI = 35b3ce53cd070d5c7f4d969172d3e153390b3ff2021740e938b500757ed6de2e -FixedInputDataByteLen = 60 -FixedInputData = fb1a6bd6b434018cd74f54b026cf400022ca04d1f05abb384ab1410bfc67e82bba648e2147847b897efb52d5fb6ec4a578b07288ffecc83e98038484 -KO = 675b0cb54b1be30fe0e692ec8a8960f41ba42f42898ee368a0235d094a8a5a64862bb563c944ae23c3f0daca0b0c72b27e7d22760733fe8361be78a1e26da7d6 - -COUNT=20 -L = 160 -KI = a8573ee14da38fa7250b2fa38ff34aa3a0ac1bcfae9718dc1ea71db085b75c15 -FixedInputDataByteLen = 60 -FixedInputData = f0e1fb38e8cf21b9ce19465e81c89837e92aa3a1a6dea73f101bd74827bb9cc48577a1fe8271348fd5d41cfca7ff0eb26291cf3171f7b9c278e2c3a2 -KO = 858e4bd5efdc4ec94e8c442458d23b09b1ff4451 - -COUNT=21 -L = 160 -KI = bacf82d7f7a4a3d98a2ab65eaa8299b96862b7dca9a3931bd6db094bacc0fc88 -FixedInputDataByteLen = 60 -FixedInputData = dd3dc1c29142ac274abb97f0f4a1b32f8ae6a537299eb72c2b6301b0149d40af130ace27cd96ac31dca1e26c512b6412c33cc76113ad4f7a250084f0 -KO = 1d733c69ac41345e9d527830a3b4cbbe09f70f57 - -COUNT=22 -L = 160 -KI = bdbafcfcbd112568c537a4757a7a91f242f3c1794121b81d6ed9288c74fe47a3 -FixedInputDataByteLen = 60 -FixedInputData = 8a26285767319c7710eee9f004b8399156ab22019752cdd50438f8f9bd6e04e530f88039f06411339bc170322f1521989bc24efbc7466336b7d4da67 -KO = dc1890c9459b29fe0f2331f03202d523633daeae - -COUNT=23 -L = 160 -KI = 274e151cb66c77ffd0f68032d3b1ea54b1e13bd381272e20223c3750dd752c89 -FixedInputDataByteLen = 60 -FixedInputData = 9f619b3ff36a1cc6fa33c8e947c995d6fa46e7d75807eef18779c4800c205b4490e1e21c1be74fda6de369e66d5943133933dabd383cccda2737b615 -KO = 187e28078829906cbec5d9fa15d7c89f834e181e - -COUNT=24 -L = 160 -KI = b67b1556313bc83b02eac9595da3760d2aa618f9d20d2be9afa4ba5d57869295 -FixedInputDataByteLen = 60 -FixedInputData = 2b676b58b27f15dde0b36dbdd466ce55f48a589b52b45249a61a443c49c6b9e2e513ec880267ee10c89b73b3f572e614b04d63bb0944069241dcc48f -KO = 675dfbc356dc5b0fb23f27dd80f1f5f0b5c6ba62 - -COUNT=25 -L = 160 -KI = f2f380f3cba827a3d2195145a9410c15376ccc6bd772f223cce62c8462e15a9c -FixedInputDataByteLen = 60 -FixedInputData = bf3639a9892e473393fedaf96685076f0d054194e34b70b436937c2c3ab1b3c1a77b88545e8efa53b47721c65983fd51b81c37da9975835ffcc8cdb1 -KO = c71d383deb1f4ccef1ed2f738a6af7fffecca819 - -COUNT=26 -L = 160 -KI = b9a8038fb7fb5de8119a2b19c4824e3bb6a52c134aa5fabe13330f42c78316b5 -FixedInputDataByteLen = 60 -FixedInputData = e258eff2529a64d085e7748802723c1dd5c7be639f28bfcfe06547b8d5986ed50836012b6dfa3e5482ad447f762baab81a783aa0eb8673a6ee7022f4 -KO = 5ce8e12263cd4b0f2fbc6a616f557a55c05271e7 - -COUNT=27 -L = 160 -KI = cdd25c3e65c9e979252e56227aa255e6333c12b52a77ec23704fa0c7d44b777b -FixedInputDataByteLen = 60 -FixedInputData = e040eb5530cd705655d5c16c56aa3097993d843df3f80248bdbf12b4a14bb87ae87edcba7ac8c75fc1c5dbf44312e5402e970f5a9f935e5ae933698b -KO = 5e358783f147928f9392fef2262bf75d3f4380f7 - -COUNT=28 -L = 160 -KI = 3159da5970737f2e7d6eb8aace26a0c1ba1f49c534570959c07c77e861097868 -FixedInputDataByteLen = 60 -FixedInputData = 17e58d325f791ec2a0f328da6c9c5f3b3a7d413b37ebb97ac3f0524f66e2da8ffa958108127fb258497c492f4190dcaba8634b602f32c6925a12ce81 -KO = 925a06fcd9faf32129a2605137f2f4ac8ae68e96 - -COUNT=29 -L = 160 -KI = 0832c45d87312f2e80d19686ce1bce9d39e4cc9629967f8c88820d9b2a92758e -FixedInputDataByteLen = 60 -FixedInputData = f8c7875f3ba41d008df3d9661bb8cf4e0527a6a1a75c51733412e8d8e516e40bc757218da1a46b49a5c6e1b44ab3554a27243965d347312b253d1eca -KO = c144f997cb770f2e089aea2f5a49d7e373b8bdf9 - -COUNT=30 -L = 560 -KI = 9d42388da682b2a3fa6966edc3a4b50067d24ca3fd07b4cd33fa7110e83f251b -FixedInputDataByteLen = 60 -FixedInputData = ddbefe02e0754044c5522bb7014cc4b33d12e9627a0f82018b0377cdec39f3d263c0f05dd544f108b79fd637554bce44aeed3e38a0d8fc43d2a79150 -KO = 4239ed6bcaccc071b510d184dd58e9c34d8e890c87edce7a0d93dc521c245af84e2e7cd83acc8c131aa976a2d56c681e58a6f8f23457f684186f365782e64b35acf935018380 - -COUNT=31 -L = 560 -KI = c3e0543a1cbe55c22bee220a19444f35c5d3930840a8a603b2a372f3a9fc0a6b -FixedInputDataByteLen = 60 -FixedInputData = 0e9ed3a40681e7bf297300a6b2de826a07b4f5601e3af43a4c90c49b74029148cf16dcfb8977d21205be5ff0708ab0369a6fa32a1707065d2b913542 -KO = 4cee549d8231e2c6a53eca995d09f1befc52794e6af98762a75a8782b16c964d9f4886319cdce9434192cc024bc10d444410da9264ea01b95faa9d02dec9e3a80c58f092ebeb - -COUNT=32 -L = 560 -KI = 406ff13a9eb573b6720fc6638e72360aa6f607b05925d45bbb6e093855a9938c -FixedInputDataByteLen = 60 -FixedInputData = 4b87b46f69927e894599b8bf80cd32695327c3e46c663f1977b78aa9774e480a7ff02ef48df7b28346e2215f085bca52f1458b0da6a0da95ba474766 -KO = 0b0caf2870ee807bb5eecfa24c005d233f965f6711784ed509245b9480c30d1545f99313b7d4bcb9dbade85bae96cba6ca9e84011279183565510c4683e1de13ed422d71e7d1 - -COUNT=33 -L = 560 -KI = 605509536739c7077595a6db522094e1af3f5319f6444f46e3a28ab613f4dca8 -FixedInputDataByteLen = 60 -FixedInputData = af3dc43a4376ada0f5b0cfb75d66d8ac9445ab424222776729ef5d8452c775395f69c57a7bdb3738e947ad46313ba033abb0a643dbfa6070d51ab451 -KO = 56e64087a6705d19bf1cf48a3a4567557234a4b34c9f11d9962f98f391bb196f852fafd7872b5bad17faf5f2798ef01c2b3e9ade87b661d37ee40bdc8848a00da231dce666e5 - -COUNT=34 -L = 560 -KI = c4562fa8e0a448e7b54f46de038104499924eecf690dbfe9ef972003f64c0862 -FixedInputDataByteLen = 60 -FixedInputData = a9f09b940ab2070a438ea6883e281206642614a7362c916c1dc57b3f86519832ccdb9e4ffd9a26415fdd2ddde6b2a7a631349c502ff145d4a49fb6b1 -KO = 2817bc2a193865559b3ab215a19ff390fa8032accb370ddf883ff4a48c9e903d0285976b066201c123ec0b0b71b16898db9c6bbc733f28b67dcedd8543b48ada2d8d829f0db3 - -COUNT=35 -L = 560 -KI = 1e6778c5adf6f93d7409d06a8077c0a20a231a0b98ccf30dc262309af4c1519a -FixedInputDataByteLen = 60 -FixedInputData = 776a84b5d29cf212fbd8acdafaae10cc1a5dcfbbf046182d1c9145dcce5443d1b4bda52f739ca0945967526f7c781387b6b14a4ff099a5bee823ad75 -KO = 1334ccddfe71d48fe995e46805819dd23080d1d4440067527838d67469e1ce72e25b58792eb8ff9311a173c531eab8e7ee9964b0308fa795a25e05c347b0c641df2bfa2fac73 - -COUNT=36 -L = 560 -KI = cee3dfa591c16baa4b5bfe10e3d1757bd6ef8bde6e9176274edd7a09d11bd759 -FixedInputDataByteLen = 60 -FixedInputData = 8307b0372075370da90bf8a7d618426c90391c0cf4223828174063942ee05d5dc4e2ee842ba4c23fc721bca2dd16cebd513612c4208bfbd977bf1d7b -KO = 95999bb68bef681390295032c6255b5eb705355fb9a6dc9649ff1f64e620d97a59e9d157ed62e291382b25736918298abb1bdff57796bd6f5f32dd9aa416dbdd64b225f01b52 - -COUNT=37 -L = 560 -KI = cfec7fac9b4bf0a5563ac1ef75b63214e7ee868fcc5a8da0769cf827da591993 -FixedInputDataByteLen = 60 -FixedInputData = fc31c33e0d46ad6ae7ce7f1c05f17b4674c448ad4ac8d47b8550f5dceb482a8b1af7af579fd0d5d962c8d89f2587fb743a2ee20754b35a5c567eccbc -KO = d6e40e2877a7bf596ad1c7097f5610995c1f5e54c0c348413da1eb3a4ff458607c8c063bad3ec5aee9bf3cbeeeceef016158c1300b5ccefdab5dc700b6b32989a50278134541 - -COUNT=38 -L = 560 -KI = 262ec1e79d085b517c422db4104af526debe641d6d0d4f83a07c1fe10445e5fc -FixedInputDataByteLen = 60 -FixedInputData = 8e4eda2ac59d10b5d0615b16658995d6ed4eafcfecea3d4ae7eac7f3efb7f85ab4573a595f89a16a9d17b374047072cc5678b89e4f174b9ba722a076 -KO = 4b9e24d419199e6c368c5d2f943402e6ebe7526353ac8a4022fc15a27c38cfa4f9fc0a4fcfd8c50e2c9421a073547fa30c28caf413fb958caaad1cb246e1dd862bf86ac3b3db - -COUNT=39 -L = 560 -KI = 116e02f84f08a72dadcd856a2facb8634ace8caba3ff0aaf52f223f14ce0c736 -FixedInputDataByteLen = 60 -FixedInputData = a22c7d0bf301f6d4490767b1f7127ce74a309488bf25e94d2cc08993f071d2eb2ccb4eb5960fcc0332993635d9b350ebcc9cf439e3c08d1d2b572f0c -KO = cbc5dd9365c2b1129a2c17fe05d55b0a8d1ea55aa76d4af7fd4ba043f137bcbed953d4ae9ae0a57289331ed83ffecba36d94f26d2f3affc6acfb6cd27baac335f7633d3df71e - - - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = aa6e1bc1bc2074274cd373c0651070a4dfa3a842e39a0ba91b15f076ba9cf7c2 -FixedInputDataByteLen = 60 -FixedInputData = ad30c14285e5fd32b85b165b9d81b9e8de12126eed2c36a2591a127489960ad22cd1328d1abac9aef2ccc82f4908eda3d32c2cd6b616e11503c89019 -KO = bec356a07f2f4c8ad0b6120a0003e198 - -COUNT=1 -L = 128 -KI = 1ce62f2a8f0a8203da617d9ee9dbc81c621178271eabe5aa9fbe278f0cb1b422 -FixedInputDataByteLen = 60 -FixedInputData = 4c0fb0fc49eaa523e27fd9c401f3edb6f1436bc8185322e8f9e3a1260d363ac979c29a8f10fdb4595fae857bfba52cf1cb5e532a4fc6c9e8b73ca21f -KO = 060e18a7ef2aebd43f8a8272306e67dd - -COUNT=2 -L = 128 -KI = a39922a4fabfb174d1ba8abd21e63bb5919f561efeca8f43f1c89650e707e445 -FixedInputDataByteLen = 60 -FixedInputData = 0ac3f6fc0e3229af9fddcf75ae9daa3398b141698db9b19bf0460c3716933c76be91f7bbf492696dda942b64657e0b7ca66cb2984e3e0f4274ead7c5 -KO = 07055c35d434788691cc1311d468647e - -COUNT=3 -L = 128 -KI = 9b3ef9d95a6476e7ea86d1110b5c7a2ce2b648ccab27f5937e84bfb667a452ec -FixedInputDataByteLen = 60 -FixedInputData = 9a6ffb124b16299c4d2bf7ae5136af945d5fedd2e912040bdee18f17dec9c303a0fcea33039fb722e0019d98e8afecadccff502c88f989c4538fafe8 -KO = 6198e7a370db76c90ef433d265aeec26 - -COUNT=4 -L = 128 -KI = 02cb0efb71b182725505bea332380ab2e973a5cefa7e0799937b561b82df4431 -FixedInputDataByteLen = 60 -FixedInputData = a3d7be9430c057c862da3c298fcafa20cdb4edb3bfcacb64534ef8a474e5b26886cfdd987e67636306965ed5793cf7f0e7ddf993e74cfeb75bb7282d -KO = 13289f5fd9ddc6d45c3e4a4f34f8fb17 - -COUNT=5 -L = 128 -KI = b2706e2bbf83097f11c84f4f1e5d17ca6653063085f9b92b5bad26015fb6d87c -FixedInputDataByteLen = 60 -FixedInputData = c4854caf45e2bbdcdf3bd80fd95e3e0761f0472a73c697c62e3b66f28b68aedf9b34f664a3d8429f2da5e275ee97c33a677bc90a4fffb7111af1e447 -KO = 1d5286a84a0b4574a1c452256a4fc225 - -COUNT=6 -L = 128 -KI = 5e028d5c873d8d1619c1eae7b57f60886c277170bcb05f72ee2a27e44989333d -FixedInputDataByteLen = 60 -FixedInputData = 7c49e7cc6e3d06c9054edf7eedc660a3edb968e78548e964ae062e25ef6ca9c5a67bb50a1e9d0daf85a26a286adb1aff56e39d1c86bcb03e38486d84 -KO = c7d740281698dfb9b8cd22f73f19538e - -COUNT=7 -L = 128 -KI = 5335846a6650bd6ad41140f4448873b6e7b4edc77b78628bf7847b6de047d10f -FixedInputDataByteLen = 60 -FixedInputData = f929ce9dc6908f753516e57a1a993497bda5e757de61ac8a77decf34ead8b0ab38afd081cdac86f234f088a19293f9b285424b4824eeaec71266f3c0 -KO = 0bd9872dd087c3de3d5d50e6701ea230 - -COUNT=8 -L = 128 -KI = adcf156556178a19c14e8b648e97c4d630781457b1c84825add0dce2c48bfcbe -FixedInputDataByteLen = 60 -FixedInputData = 690268926870b44f3d105ede7c246e418ff113754e3ea3be2949a37ec172b10a91d559225ff9d405d0bde7053d7722076866c34558cdc56e1807af4e -KO = 6382de7cb62e7e9f807113a10c166e85 - -COUNT=9 -L = 128 -KI = 90342c233d7ca78bb0978ed9f7dd4e18c8e3b2f645cf3e5b6bc37c55b097e75a -FixedInputDataByteLen = 60 -FixedInputData = be3326c3542e256471e55b93305f0fbbff963570238bdd2f910e42f18ea05b28c5b7857d0247d93f00356d717fa27d9543d5319ff91bc544e7d5e6d5 -KO = 003cba86c72e58fa955fd1e98e01728d - -COUNT=10 -L = 512 -KI = 69072fac7a4f6b84a992339814b158e0891b8774e64e86e8c6961ef34005cdfd -FixedInputDataByteLen = 60 -FixedInputData = 4f470758a7a05a6e910b7959f77268015e096d767aa47bdea45f2946a2ae6623491d191fdc434ca2183fc9570176d6a8438e92e89ee0117cfd539068 -KO = 8533b707eb8d55ff27f79c676db832d6bdb6f99157bfac368cd361bed5ca5757beb33ee8ef6b48c2880fe0f1ff09870418c54a5a2b1f88a52377e3fd64e39e61 - -COUNT=11 -L = 512 -KI = caa88bc27173d430cd7d7d2d45b36704ff4adc6ccd2dcaeb4e85c82f703cde95 -FixedInputDataByteLen = 60 -FixedInputData = f1a4318ee0cf0b7efb5a2d6325531f8ebe170f0b635cb919ba28797370e9c1ca760dc6b725aa74c26d39b1d2d3be21458703023b51f362e764e235f5 -KO = 39efc8d641737aee349eb4cb878bb8ea25910e5c045982a0ea9f76ba28938011887dc758532a8cd42ce393016a8c90ff2dfd02991cd75cacc94c0ce40eac8c89 - -COUNT=12 -L = 512 -KI = 31ebd5b4f5fd56d0bcca041c1b7443b2fdfa171263d2630168f26ab22444e3dd -FixedInputDataByteLen = 60 -FixedInputData = fe550e33a6161645dd0262f18940d8b5edb66e131017f2eea5d6f82e833acddc529bb46e56511fce3950d5e621987c6cca6981a0ecebb1c5cb213176 -KO = 031ec294e7689e61b8c92f865433ea8272955e35b602f53e2ec585a9af0a263b89adaa9548bb1445eca2d1d5bbb2d044f816d0ad612dc408af7ef8560ff123ef - -COUNT=13 -L = 512 -KI = 970e4c2879d4d823a0d15a23a028cc49eead4865c59796cbc0f3280057deaa1c -FixedInputDataByteLen = 60 -FixedInputData = e6d556febf98e2008521b3daa8d1f2c79024eb3bed3d8eaba8171c6dce8ed4e1e63d61f818aeabfbdddc573b29ec9b7faca09674e6aa03788bd8375b -KO = 2716d4d7b486c9b76a70ada811cd2b52a0696928e45e6617117c517d6d098621f9ca024591c3e44dbaffffc416bcc3da9ac5cdd16f3d3825b4eee827b44abf19 - -COUNT=14 -L = 512 -KI = 46488da9bfd3ce4654043f2f99c40b961aa2db0b6c7c007551a53489c911e636 -FixedInputDataByteLen = 60 -FixedInputData = d202da20f2aa990d265d03185f075d0c56f633bea006afbadffebe4ec1b1d4daa822ab5a988559f994c93114ad8c14861ef1fa38cbf6cf44933ad7da -KO = e63d99cfb191e346e291e6a40f877760bf22ce9e938cadeaff111a3ac731c608058f0deb9146f49bc9d2523ed28295758a3b8dbdac04c7ae39b4c06f5b5020dc - -COUNT=15 -L = 512 -KI = 086eb34ada612b1b3b39a329d38b6d25e1fc45c96a51536a58b3674925dbca09 -FixedInputDataByteLen = 60 -FixedInputData = 8368f4865ef4630749f3c8d2ac97ca6e5333ff050ab8952eee7f778e5a79f28053c844f304222ad4a41c898823205258d7edf912766230a66230c00a -KO = b373140cc72498a8e79c055881ac30614c136b01c172b8ccdd1d7768c3bc1e77cf6bb02717d22e6d920c5b5175d5fbfa5cd520cec90102599eee0b4b091d13af - -COUNT=16 -L = 512 -KI = dd5afb542cd2abd27fc84203b5bb1e6f974fda5f2fb5da5a86869995942b5046 -FixedInputDataByteLen = 60 -FixedInputData = 5ead61a54f9d370d3bb1acb854d14278f6f260a8290497d3fd162536cc61b41426f79d04f22a98870ebde20ae8d9c986125eb08ba33e172f32faa8b7 -KO = 9c9b35cfdc3813ef03ea0a0fc125df151face0bafddf26784e33f22873d254a49ed994903ed5d244a8b4864fe16f17d5db90d5256962c1518478fe520bd12245 - -COUNT=17 -L = 512 -KI = 5aabeaca58abf109d6f026a539feac6af3184bf4f053d8e3113ec46a75416806 -FixedInputDataByteLen = 60 -FixedInputData = 47810198decade3d18cfc69c95dc85e2a84e48111caafb013abe66ecc7d6b7bc49c8ff5c8a74d7a73c364c53d8bf46ee6754a20da98442b586078d32 -KO = 343fc0f24547a1423225e574c9546d9d81b84f3ead7e6f3d5800796c3f279f7f5d97f91a7ebc5999221f63e47840c74cfd0ea2c306b742ae47ee75f4bd1fdb45 - -COUNT=18 -L = 512 -KI = ec17af0b6fef4c557bf2c373f97026a66e94a704845d64164a6beb10c1f57e14 -FixedInputDataByteLen = 60 -FixedInputData = 6846d5a7403a77822100c69a1c67a9452ef2e7a702eb254abf71d67c7520f9b1593e9be6d9fcfb4fd9ed6edc7811d9342029234d4d581899bb808ebc -KO = 81b9f100b719fbda1191ce92cafdd039355bec75808bbdedf5e3bb1be20b77ee4721624665eac780b5492b81b52840766e0e7888bca016b7a653be332e890d60 - -COUNT=19 -L = 512 -KI = b22d90bc73ceae9ca304062514a9e4ca58a29035b505c178294ccdc7c8f28618 -FixedInputDataByteLen = 60 -FixedInputData = 912fe0d2868356a4403806dca417c4e66466990ee0b216afe2dd6c2530012f286c99f021179ede9997f93604ace001f5a91336558aa73a78082cef86 -KO = 0a8ae0d08285a8590db5ab8d294cf4d2d8966da83ca6cfaf0445698574a655c2d625a9bb31c9f70371c7f63cbf041b30ae8a8c41fcaa7e6871d644f793fd17c9 - -COUNT=20 -L = 160 -KI = 9a6921a0a4cfef512a74c6035c58fc74a48454819f9bc2dad460c1c4c8ebdaeb -FixedInputDataByteLen = 60 -FixedInputData = 5a881a5ea48aba36c856b2d49e226e6bf4b32466fd4233519dd2956b6c0fd63e5979fd9a37f66a0b2373bb79e1f2f839fa00ad7fbd720738310a0844 -KO = 0ec41fe807822437344564c5345171714aaf107e - -COUNT=21 -L = 160 -KI = 3faa1daf931517f3b852b02b0f764e3da3fb40ff04a0f8cbba8e7423fc8f49ec -FixedInputDataByteLen = 60 -FixedInputData = febbac55b03e4b17f6e87d7f4495ec68f9739117d978e1e6ab61970e9198d06c08f0a4cbd656e63d7d7296605b96bb731087582acffa9041a14b10c6 -KO = b63d2063bd77d5f9ea9dda588e7c7d424d1e2ac9 - -COUNT=22 -L = 160 -KI = 1f88628ff17129a48c616ca8fcd35bd96867d5acb3d1f4b846df0b852d70f378 -FixedInputDataByteLen = 60 -FixedInputData = 79ada75f086ae3239d9b920ffdfa00491fceffd3e2458816a23fac694f84ce77279ca419a2d7f8622833c51cad2fb524bf5bc709642d030ee80d3c69 -KO = 897d076778684232b2f8ab9ddbb8cebfb056514d - -COUNT=23 -L = 160 -KI = d9e6d5184e8e4fe4c0be8f0db21d8193445f41c7cb4dce11d29c2b276a543c80 -FixedInputDataByteLen = 60 -FixedInputData = 480f7ddcaecc8e26d0d44c731b2db6530d192e7e68cdf0a1f5e6f85741dc39255292640ec4b2cdf24cf3afd93b7a504cb2d83774a92381a382e118c8 -KO = de58db3e31a10fa358d32392478549e92086588e - -COUNT=24 -L = 160 -KI = 32976882856f3de568e00682c38065212208ee91998940026fe6c2168c395222 -FixedInputDataByteLen = 60 -FixedInputData = c566a9bb59b3a5d538b6b62a5bcb93db5e76bfdf36b64cfe45275f028d8caabab0a4727315d3ac932bfbc85755fdc314307fdef18798ff3a556d6e65 -KO = a33e1a7f2b90d8306209c75fdb67bfb72a9b2d1f - -COUNT=25 -L = 160 -KI = c0bd0ee459bca66f46309af9b7d81f4f99b1767e7e883f8dcc7a21d65be398e7 -FixedInputDataByteLen = 60 -FixedInputData = 85fb40b0d11929f7978d8f061bff56b67aa35149b9787a6821327a1efe21aab4d9b9f65af616e0aa1befcfe542d63c43e9477f640c5ed0b65ca0bd18 -KO = 6ae087855290dee2dbc2d5dddb91305eae3d298c - -COUNT=26 -L = 160 -KI = 5cef4e95a4ad47b1283eb60037b2d37d450fb17724d5fc7818d1ce40e654ef13 -FixedInputDataByteLen = 60 -FixedInputData = a4feab70ecf70346453a963c62007dd47ebb2b423fe7878c8f181737d6316722bab34a4d15a64f9407e21604b9c1ec0edb45d77f754d4c3dbef392e7 -KO = 6ca50ba7d2509cbbc4984de40d8e12588bb8d3fc - -COUNT=27 -L = 160 -KI = 4d5d5c09e7274b70a8bbea2069ac125490c9486db12eeb59a1fd6afad4788fc5 -FixedInputDataByteLen = 60 -FixedInputData = 37397b1c94dbbc83e8838e61a2820fc6553c2f96e47d332e0c206139ca82a219efa947c221426347da8ab5adc7c1985bc16019491d7e59b8ff942f83 -KO = ecec7e5de697530d970007f83fe78e033c10a383 - -COUNT=28 -L = 160 -KI = 8d24cc990b71bf74ddd7383382a689913edf487c02c320356843ae381d23223f -FixedInputDataByteLen = 60 -FixedInputData = 1c16de6e36aa5059439328073a6b1b9a9da1e85232c0e3770e15e6341f72f5ea4f90fd1b533f191f9b1f09e0ffe5c2c05ebf104b40c98d606e922bd4 -KO = 5122cbce481e1e5010d5e4ee8c583d212931492d - -COUNT=29 -L = 160 -KI = c604909d3bce46235ce6001f85f872c3f0636fc1162dccfc1e57b3ae7523b99e -FixedInputDataByteLen = 60 -FixedInputData = adf4699b2f0e48b82bf95460ef165c3f06ae024598881f21821037dc1ee1a85963b0c5365dbc185fedc6f9c004b1d3c1d3fa9743a0e3e65d6c9976f8 -KO = 7b1dc42b0f8c98d34ec77d61c0b11a1b9fdcc7d6 - -COUNT=30 -L = 560 -KI = bc9708eccc9703bd9b62b53b5c47688c73d227d8210823e794854cc00026cb2b -FixedInputDataByteLen = 60 -FixedInputData = a6d6cf3e08036cc5b765fbc1f23d940153621cc09ac24aaae9ab75dd097a3cc6f437e7458a01b6d9e55742a17baf605ddb12671d843e4f67b855b21b -KO = ea63cb97107cd0bf7f93134d173745828770019f3628c1d1e02ccb2c4b35cd3b82b6f7d31c1101bc6f6b6f764d0b3313340a1f36d80579f92eea08cad7f14b57da74ee16411f - -COUNT=31 -L = 560 -KI = 04969609a5fc5899b1c8046519b7725eb4d6ef1c69ff0fb1c7f3406b96146b0e -FixedInputDataByteLen = 60 -FixedInputData = c4c2d704ec047c9f8e2370c73944a614ab0985f539eeae962ce9085a640ef914b65634c6dbd21125bcdf1395bf262e6b0c9d75ce55728c2c12bfdceb -KO = b306f09fdbaa20ddd9ce2572000342875025566d5df5bd07a2cdf0ef64dab31ff3d887a09d0998b71879505d1cf3fdf2a49be5d8d226a29d8c885ba4df9e6cb77901e9078510 - -COUNT=32 -L = 560 -KI = 5e3a15f97840cccf61a96ece9236a7b411135088b4375c8e6fc05a1fb1ea0419 -FixedInputDataByteLen = 60 -FixedInputData = 1d9eec086427724a61e7f62a33f0828e34ad379901aff9687fdf887c898e0d8c532de3f201ef6a216d88c64eec6588e0fbb40cabcea4b2c7949e2a4d -KO = 98d68e0e6b1d0486acc87ef38decaa04458f06fddd4d955da75c48df0456b21dd82b35bba49a3b887d91c159459f2f6c64f6e1f62410868a55fdae8442b195a6b48877feb0ba - -COUNT=33 -L = 560 -KI = 6938ae4dff77640c2fb8f6f263af35c10c7055adfed5b8355daa5702f17db4bb -FixedInputDataByteLen = 60 -FixedInputData = d11241583a75f639a674a180f69f03ee67d1d8f58a2cb96ed710992e21407057e43dde6f9fb128624ced3a7faa921043d5579325debd51927ad6a0c7 -KO = 42fb99b59dae1f0025196b4c9de01668dada1430d2f62f4f88ac488d6ac3596fc044ed10f2fd154da26fe5d564cfb8a06973a66d67b1aef7745b8190481c4d48a266e5f24a00 - -COUNT=34 -L = 560 -KI = f8b557ae32947369cca5af800b2b781436b6778cdf2527ee34dd92d50f0054cf -FixedInputDataByteLen = 60 -FixedInputData = 4820d02bb45106676352a61bae3a50ab31a654afb188235e322d9cba5826026185161fd460d6219d1b089cd92b8701fca4c63f8450288ae50726f371 -KO = 6d3c196d0ff38f7a8234ad065e2a0447f1b0c758bd7440c3e1a0e8e952c50d131a9a40c7c3e6b451a84657c842e66d5174ac91791a50ccf5e8c043eda78b6aa3f79a0c018750 - -COUNT=35 -L = 560 -KI = f05b26e72d8d2769da5735eee090cbe62bf322098a4d751cf992509d3440aacb -FixedInputDataByteLen = 60 -FixedInputData = 07cc48c3999876907bda357b5fd6d8f577f9bd54f63f90be6654f3297687bb54ba3d4ca6e137cbf6c9402c58de9cec363c6be1e9519f321a4de1b7b5 -KO = 37bc1b2b52c38084ff9fb7c28f7f725fc15bc0cd2de151de396816ba55d66b97b5e2c93b519a0fceab4a26069fbc9c1754ca9520cf4f37da14d24e14c77a376d9994b086b425 - -COUNT=36 -L = 560 -KI = 32a431b6064c4c6717e6c92961fd2295611203044199bd55d32cdb67703c3116 -FixedInputDataByteLen = 60 -FixedInputData = 32f1542b0bccac03b0d4c1be90a3cd4a3284e4d0866e9ccd0968f1536728d07050fdee989b928f5ef977061992af98875b4bd63277ce2545c88234b6 -KO = 91d57f3a04194e687bdccd3c33bb6457d47e43d6fcec87da0db905577507a9084c48590655e5a3acc683b9c9d5148e3588147105f223b61fe76b125c363572352ce44cfc5391 - -COUNT=37 -L = 560 -KI = b69af29e4ee1e12e155ed2165502dffc99583a01224654748432333ed7918fcf -FixedInputDataByteLen = 60 -FixedInputData = 47ea2490b5de0b0cfa6cf8deacf838e029d2911e978bf54ccbf17dfbdb12812427e577250d69bf65c5b05a28e76d1f3487bbd2d4667835eaff9f11e5 -KO = d013a10a7dbfeaf5844650293e6cc7595433cff5622e6760dac5f6d1b42d4bdd46d0e9bfdfe4fdc1d3d4ece0f01e6f00c855f510b649e20993b4a7a1348b9a1d880a9ce7b053 - -COUNT=38 -L = 560 -KI = e83f2e06d62d18aa0ba883994f47a8fb690ad067305a2abdd572ff5b2727ad2f -FixedInputDataByteLen = 60 -FixedInputData = edc087f9ee9675c56b3bce6c375ce4ddf27b1e62061312c46e749b5e18663612cc8cdf41606094159fb7f04b345bd993b3c16bc580cd66a5f0332547 -KO = d0931291b8ac70c87d380a1cf0dfa0f8f10ee3f5dd07be2e5493223d41b1da76b1de9ed99cdc126e9f027dc2309d6d46c3725388af95320255afccfc4379c366273fc13dceb5 - -COUNT=39 -L = 560 -KI = 5552b97075290593419478873171f4fe0715cb9eb5ba0c5de2377f6d37b94ebb -FixedInputDataByteLen = 60 -FixedInputData = 6e05515f257f973080115ce8c73ca5eb98debc42a7e6feae66ee81f0adcb91deefe788fac3942bb4363b0972113490bb86710718d2c9a5f94a3a78b5 -KO = d9abd7e93d04a6fde60dfb5d9fecda676f0c5d095ba5b1ef66cbdd755557428db2c1d75693cb7147d97afecb5ab610804f681e89d14e19ba75686d8c5f6f668b4f9a20225c00 - - - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 470308f8267491917f4284684a6a17010109cce0740742fa2fb96048ff10d31c -FixedInputDataByteLen = 60 -FixedInputData = 338b7821ad3da0f6134a2353ed30c7764f34c5a31ec73199795c9aa3e9b8243ce554c42c8e9ed727a35d043b444c073f43219369e5f38b9add97fb6c -KO = 36db9c8acddb8e9efed5e0899238ce62 - -COUNT=1 -L = 128 -KI = 0bd9e785c566fefba85d2044269cef2f9fcb390fe6a567b6f4c2a97caf5f9765 -FixedInputDataByteLen = 60 -FixedInputData = f8e282a6d3c7e8959a5ea1a83dabc51695a309d3535353003b1239eb586d93b8c32ad5d1106d02e91b9e374cae4f16559f0ee1929e6f3c51a13c6830 -KO = 9332252343a7b6dab9f9edda9b174b09 - -COUNT=2 -L = 128 -KI = f4769769c18a7d2a4a4581185622dcef88f8428c037a24d39b54cae2a35a13f4 -FixedInputDataByteLen = 60 -FixedInputData = b31370d85e22cddac202f5e7724b8bbf3438369ebb20ae97a6e8d24f47d874fad1c4a81b5f70f149ad1ba4b82f1878bba8aace021d32a2a281723d2d -KO = bd42534f0a226d06ddd80d285d48cfd1 - -COUNT=3 -L = 128 -KI = 797daf34a6b7e2f986a824155c9656e9ed58b3fe2bf8f7b803821f65f819cfb0 -FixedInputDataByteLen = 60 -FixedInputData = 7d002032b7b8f9960df263f141979d8ce93ca721261f40f2e78a77755404d593ee023951517956fad6dba5a9bf33089d183a23e7b7e93af3f360c6a0 -KO = e7317b5af6573751fa5dbc27019fd3ff - -COUNT=4 -L = 128 -KI = ae9c4ca0189e96ded42a510566d494ba7515336b7fdfd85dd373fd3244fa7937 -FixedInputDataByteLen = 60 -FixedInputData = 4c71d6474856648ea7167156140645780c814dfba6df41bcf6965a3f85e1609a9dbb957478a5b6e0a0134b7f70375aeb1f5a8dd0c6975b5a0ed4020e -KO = cb4d40d3a720310388961a1a802635c0 - -COUNT=5 -L = 128 -KI = 00de23d44bca24122d183f6068f08eef42870c771acb51969a7e8e5719123de2 -FixedInputDataByteLen = 60 -FixedInputData = a59028463dc396fc14d649b63b2f59312ea3b6029607e4c1535962ae1de70b6e5ffbdd32f5dfb5db95ffd18ed41ef0f15b93bf3b9f47f590d75aef9f -KO = a233b27e7271b5d7fd4f824564c03c55 - -COUNT=6 -L = 128 -KI = b11cf2bf754e270bf0b927dfd1fd07cf9489116947b0535f207197e698960bb2 -FixedInputDataByteLen = 60 -FixedInputData = c71992c2c964bd4c553f63baba88d4d8579c60ec23c61a5ed583f2419de1b78d88120468d07a00c537f84fbcbde0cdd33ea2d44ed3b15333c0a52734 -KO = 2343cc85604d69951ec1dee55aa60140 - -COUNT=7 -L = 128 -KI = c2912a4be3d8ecb7caff120fcb02bdd1f79a888105e7b716ad56c371547020d5 -FixedInputDataByteLen = 60 -FixedInputData = 2840373ea7167830bec897186518572db1989013dcb50986566692888aec9708a635c5523f4abc61768d317a3c1c10ef2fd057d9d8dd57a80f84bb29 -KO = c9144e9a3ddfd60fe41027aae5e13ce3 - -COUNT=8 -L = 128 -KI = 29e66e9d5614aac10ee0564c3d89be291181e3d6e3c9690f3dbe892b5a180e98 -FixedInputDataByteLen = 60 -FixedInputData = aba3e62703fbd46d287e1b5cf5c174ffa0b06940eab8e4f4022e1a8fb13307e1f81af5399739e0ad44f93d5d5f7bdb58a233a2abf4f0c81c7a58d2fa -KO = 3888a8832cfeed5b86eac18d3e0068a4 - -COUNT=9 -L = 128 -KI = 821028e2e1543b8f7f97dbd04af1bd089e772bc9e452f36834ad0515e8ac7a50 -FixedInputDataByteLen = 60 -FixedInputData = 4bb94a1b3bce2c9411e2dd3b0e7e2c7471c22675564cb76afbe8a91f60328f7221c2ec5ff1ad4875fca95f77c87b3374e4bdedbdbab5b277f239b480 -KO = 0e028d3c260f43136e86bc355376c17d - -COUNT=10 -L = 512 -KI = dc1c9d80754cdb7d9c4f7d0ec8146fbc8a3fc4b07e013e24a5b221446c32c024 -FixedInputDataByteLen = 60 -FixedInputData = 62731c787797c3193860397afe7ccd45e30f512aa053d801034e2dffdaf758263339d4ec5af495dc3fe4368212f912ca00684c05fa1d839ecf144afe -KO = db355d1000521873d029524083d59fcfb8261c88fd2dc76acfec823e5a0bc4545454d9c862fe0a237f7157ee5dacbdba9b79aff28b87b3562d1a664ca24980e7 - -COUNT=11 -L = 512 -KI = 63fe014aa2a083588c06088d5fb15e5b57feb0b167b448d96976a610560606a0 -FixedInputDataByteLen = 60 -FixedInputData = 65146c8ac8b4ca233fd1b4859d2075d5b832aceacb96d221ea6ab8dc5fea25410382bf850e6b2144c206768f00c0f34e223e0976b21c12cab67e74f9 -KO = d61f2fde6d50147ae7e7ef467f7477468bf4a424aa6efff3733473be0d372953217e25a79bab678856a75d71ab45f78afb7fdfc508688a5ce57dbbd5d83365d5 - -COUNT=12 -L = 512 -KI = e9f4c6d8ae8b33d67fe2291b9aa5c78263a1953049628e4b091c1a09ac19b161 -FixedInputDataByteLen = 60 -FixedInputData = 7862c2bf544d67cfd620d61463c760e60fce4666887ab373e95b95789b87c2e57da946723edd7bb9aee73f008b1e3c655f380c6820c4a73a77117236 -KO = fad7dde8ebadb2e3bc001ecb30406b51987141df75fe78cdb699991200c4f1388affb99232cabcbda5b5c6791eb14bc81f695a11c9c360bfc40d52b339dbb694 - -COUNT=13 -L = 512 -KI = 66295580063e989d4fdc98b2b22f7934e6d72fa1f134ccf3158f7e831d88ac3d -FixedInputDataByteLen = 60 -FixedInputData = 80b7bbbc56b11d87a8101e1e3138a36700416aa9027769c13299a124f28b32994032d0ae5340b94f047805b5f5690e27541438bf21a4df7ecf07d33c -KO = 6bdc73cd6595d67c7df300d0741cc9bf7bc152843bcca126d0ce28e7047274a82c939125c63d5dd1d52dcd11d21c31e4dd2441cf5bc25eeeac080aebfd17016a - -COUNT=14 -L = 512 -KI = d82f854fad055aabde075981fc4feaffcc99e05d43ee1e6066e672190730ef06 -FixedInputDataByteLen = 60 -FixedInputData = 08c5c74af914a487135bf5d9c144c557fc8ec895e1e4f518b0993eb0170c4b325d46854bf1d10f89f68881613988300b18d53bac5b480c1ff166e83b -KO = f86c6face44a7e163a58389bd2a9ed774c239d56fa523b781ce641ad8c3d8a81351e54600641713f4e39be222d53e0df908bd7b87480cc07f83a334d41eee0d2 - -COUNT=15 -L = 512 -KI = d350b610c6e2bf802ad0115739ee5bceb440e5c7fe333dff3bb7322c6c8fd6d1 -FixedInputDataByteLen = 60 -FixedInputData = 34c3d3161b104af637eaf88b1066174fe94c2d1b9425a43501c434a334cc5b6680fc54e16d9a37184f5cadec02fc0f7ba3f70a8995164915910a1c4c -KO = e94d85f15f7d45e2e3df87416833cc95bae775da291a0de92f886dcb6c43cdf866db9ed10d023fc630a18c68bba7bfec3908a9f341eae7a9c65e574af8b2e957 - -COUNT=16 -L = 512 -KI = e8ebbb746676cf2b75667b403fbf401aff209e7e8daff958bb385f8c49d2f398 -FixedInputDataByteLen = 60 -FixedInputData = c0bffdcd9708f26c85c599b00e4ee47d201fbb4815f6f9650890cce3b5c9decf29edf48db8caf2ee77894b48114d6dd105ac2caca3612efa59ed888d -KO = 8399d3bdab23b653ed193c4614df408dad91e53d19dfe791326617ddeccdd2d27877b253e10c36233f2e9da819a16eee20558d39bb26b8d286dd5360456c3f13 - -COUNT=17 -L = 512 -KI = 562dd6711e2873c28e455320d6ff737743cc6d18a1a0c463f389f52b2ae8dfdc -FixedInputDataByteLen = 60 -FixedInputData = 2fe47d0e9030f341be2b42e2114d550f69ab916a5418cedc5f68c927231ae644fc9df99a4d7028b1a50560f385c37fc99c2ef68f7d2c68b160f29e48 -KO = f48dbfdff98d1a46c7c1becbd71ab7fea196715864afa11b457e2c6690a559bb738c7a7c7fe3f33592c2c6dc5c2e67d4cbb7ab64c808c091780c4ec508ddb4aa - -COUNT=18 -L = 512 -KI = af766ac8c0703af095ab0b871b3f283e7dd399461ad1d9bb18ae531134e54229 -FixedInputDataByteLen = 60 -FixedInputData = cc0f15eb452459d0f7338c9c7ceedabbd5438c149953863738383485800cb66b8f1aa92b914fc711c8363b8215a51917f991ec7f1619a8aa91552d97 -KO = 8e6467f1f879125ec8bd57bd71e8cf6d7032135f542fd29c896a7215c8170384e1adc3b5f36d9320b6efcaa145a596f7dee518e346483f6f1556cccefdea9a52 - -COUNT=19 -L = 512 -KI = 0ac9a4b041d634065e4e3fc8e5d0f4b0418aa87a1bf343767c2a4963966d3428 -FixedInputDataByteLen = 60 -FixedInputData = 2469ae2b4afc92cf191f5c4373a87b978bf51341e06ce720279ae576af3af7370231279fb0e1bc7cf77a496ae4b1250ebde83f735cce202fe7d9ce5d -KO = e513cab1105c0a117894e77f83a7efa7b752a98a3ab739ff854b3f4c47ea22cb934bf8df4e5bd34ad21d4fc834e59de8692e25555b3e0ed604c0f182aa31fa8c - -COUNT=20 -L = 160 -KI = 5117f1bb558198b9b0e1f45aa47c954f48e0d3d9ea30dbc0b9064a3622840e01 -FixedInputDataByteLen = 60 -FixedInputData = 8b7ae5f08d222fc079cc4ea4d2157a3ec451788fbe62fc1a72265c4838701a2005c9379e73924bd0e21805e1e7102f2455424f1fecc62ede99a88687 -KO = 31ee4a21ed3c0ef744fcc3cdda0c15b8acf71d86 - -COUNT=21 -L = 160 -KI = ac668d73c8e60911a73cec987b3cbf8f64c30213299efd0113897dc283f61c07 -FixedInputDataByteLen = 60 -FixedInputData = 4e0a449b1014ed4500eb5ac8a5baca7ee0aca8af17335a2aa9ba840a5cad5c653cefbf71d85230d2bef5c356155fa81fb1ce4cb6400bafb1d2ce26f3 -KO = 10248e1f15bb0fb6d26e50d37b1ae46ad19005b7 - -COUNT=22 -L = 160 -KI = 2cb14efb2a5ef1488623d9af070560e53cac79fae10671d2722b3b36f336bdaa -FixedInputDataByteLen = 60 -FixedInputData = 3ae805b72e57865d5a82bf0935149820be249eeabea6686048b3a3edb10a1ff269a7a80474f1cef56390f31759c398d2f157f8dd72721983facf4be5 -KO = 42af1683d7c43a65cbc59023be9d4289b995aa9b - -COUNT=23 -L = 160 -KI = bb38653efe82f45963cb46ef82a9976fe2e4bdcc6b19bd4d6b9704b6ea44ce26 -FixedInputDataByteLen = 60 -FixedInputData = 3019d947b9fb158909bfd6032674bb0264be29d762ab3c5d04238b8bd90c381129e81ba987f6751ea4ec8af7c619938dd0f9bf275aad447e33d92520 -KO = 5784101ee66bea4bcd03182e8b7d65519cc7f743 - -COUNT=24 -L = 160 -KI = 747c35e147eb3b5949dbae4dd15e1884b7f02a81debcee8865371425bd49f9cc -FixedInputDataByteLen = 60 -FixedInputData = 06f907eaee57325e1e32ca782bde255d4224fc90c277bb47e5b641910bff294d682df132259b88c57b47206d181e270387311c815db2e5f31a3178b3 -KO = ccb5cda27db296fa58b247a99d2487d8f014dabc - -COUNT=25 -L = 160 -KI = ca3523cd5b82b73b060cb30a79077314eb28c188defd8ed9f670198e24901607 -FixedInputDataByteLen = 60 -FixedInputData = c7b72ed531960e19fd0d7beafaf3c44b0680e23129c96b6c5b7b4504d433573b334fe84ab2fd3aee27570cb663d9a221afcd4b3c87b3b98289dd2f5f -KO = 20c8c73a925c2fe5299471d538c1aab6c5df0f7d - -COUNT=26 -L = 160 -KI = e548a28464ebca5648ab023f4dee382fea46b48ee0eae0a169ca7ef5919f9c0b -FixedInputDataByteLen = 60 -FixedInputData = 0d4b6d6f38c4fd2cec77be7afda2b12401ab917e2d523689410098b020ce1cda06d4066348bd2e0524d9af77441485bf0c4fa2c8f922dfd6788f8471 -KO = b1043c19794c70da306735a2a91dd2edb75ea67d - -COUNT=27 -L = 160 -KI = 931c4a042c7390c6990e5f0d16a3ccfc68654e22315aecbc73dce6d1b466b6b9 -FixedInputDataByteLen = 60 -FixedInputData = 5206f2d04cf4f50f07e1264af46aabd2ca39d59b83fb5bea788950200741238af20253d32d28a6b20bceb0894b9797089757f3f45bcd93e8a2b9e082 -KO = e5eea7283248b748989f64af758171a0caaa288f - -COUNT=28 -L = 160 -KI = c95969b5ad572f80422df70acef66efc80249233c53cd59bb72ea771423b5a81 -FixedInputDataByteLen = 60 -FixedInputData = 769341c0fec9945d14a6441dc3866d1e5ce543ab9f8cfc0176d0d75709a54127016be3655556318ba6acaf955c3e964d42311e96ac66d81296b8f379 -KO = 525df7735b8adf0a4a74dc40b8930fc8ed385ebf - -COUNT=29 -L = 160 -KI = 61cb012a8e06bfe79f1de0628f73cba0a5a73601991f37f19c59cf246402912c -FixedInputDataByteLen = 60 -FixedInputData = d7d224b74d9748e691c3ebba4ec98ff00bcce36791d6dae6946a576c9412701d4185773063653b4a19b414ad6e591cb4aef54328e81fcfc36c9ea8da -KO = f8fd50baf0406a7cf35129a7f7146e1b7c88f470 - -COUNT=30 -L = 560 -KI = 25aac87692ddd948a27ee973264973ed0c3ef125000e05857109a0853ac2a3d8 -FixedInputDataByteLen = 60 -FixedInputData = d2d38a20b9afb10591c1d9e0d54b63067f4d416b02ae9088735f7ea4cf71b2cd3370448eb64c0e6a1b55fdff18652f01b0075e49cdbd6ef0bf26f632 -KO = aaa43cfe874a6f223cae378247e0d77091a2622b42162857214019da59e828bfa0de22d2750ce15a41493cc00023526e68c5d7861e40ab9eb7a9f200c44551a63bdae268c0e3 - -COUNT=31 -L = 560 -KI = c5420193ab272a7b80b15ee8c5f5484ce474e808e047ec9527e63e3564a45f0e -FixedInputDataByteLen = 60 -FixedInputData = 7f65f751b012f5a196dfe90dd84b2327bb9a736c7862869acac4fca3d9c312bdc1557f099d3e75245e0ad7d10e695e451b06c7ece622ab39e9ff9cb2 -KO = 4fd95bc6b85176082646833c94a3010a2de171504465da291d5ed3e0aebb9b95b9fc4e126dd02b964600ccd18b352aa1d9078b8d5f4e042d83464b9c9daf05df69945e10fc73 - -COUNT=32 -L = 560 -KI = dae4954197c6c797a8a0edf60517bcd2123d5b1f5c7fb6d8fdd9893d377e4851 -FixedInputDataByteLen = 60 -FixedInputData = 04ca2c824ea2fb2c770e4e3738f296de6da24bc6b8323f8511028945653cd263ad2e8ed458677cdef9a90fa02cbf5081aeb0717cdd6c07af236b7a66 -KO = 6b1e029f5184204f7d58d675d59702cebfa5f6182fb69ecdd921dd4c977cf78013b326c13032bbddab72beb15d29ac4a0b756b33f1c24ed39b79ec448712f4dbcc6766bc4931 - -COUNT=33 -L = 560 -KI = 4418fb196f3dc07e1a0783ba8e00ceddffab7923faaa665d648c2ea7895694d2 -FixedInputDataByteLen = 60 -FixedInputData = 53597e552b8eb7920864410c4f0a9e3159154bf22bb16355780ae071138ab376bb789a774fbfabbbe4ef39755e96dbb2e9f06f35a014b4e86cfc93fa -KO = be4eb511f5aea6b32f7c3d5c6a777fa25eaed8b825f5927ffdd718aee807f50e689c384ba651f273ce2699d1269b7e082de260842392b904b3c2b217a4c341ea1e3bb2422680 - -COUNT=34 -L = 560 -KI = d815d867eb1da157d67ee316bdae04db7e75b11f9757bbc7ea16960112ecdf3b -FixedInputDataByteLen = 60 -FixedInputData = dea96e114c57c5ebded3712438b0763f17cb33978be7438312e17720dc8b0f15c6df1d8fc886ca7c4aad62091b12d894122a82606ae630d51b0b28ab -KO = 04a7abeed0c8a240f05e3daa98693bc00f8bfc9794d82c26ae6e621c6d458ca1eb1d40d7bf3f9d97d301293015c0875b135731dc0b8e90d24bb8ee3780b747a67bb05428418d - -COUNT=35 -L = 560 -KI = cbd485ccd2ea2ff8c2d086cbef22162aa09686da81908b07a9921072b6d12f5c -FixedInputDataByteLen = 60 -FixedInputData = a610a10c647dc385062d39e4775fe0242f7558f9918cbc1fcd2b87a99ce3976cb74eab73d9ff9c7ab70c749f3b361bf574b5ccdf9934a15d20614ee5 -KO = b790a7412f191606c78407eb0b43155fffb1f0cc96439196dbd3cd5bd14918fead459bcf92f7da00aa54446975124e4a055df03f7792b90213e565666117f2a973595c160ceb - -COUNT=36 -L = 560 -KI = 7f7a97be8a39d23173446273520b3affeac6676886d36493a28a901a287ba20d -FixedInputDataByteLen = 60 -FixedInputData = d1dc60ade33940ca993561b39ae0ce1e15cfc7904430f70bf9bc2478d5722f4e6932c9ae302ff1e2e5e9ff8812251ab697560afa7f52b05a2fbf70a1 -KO = 10bde8d08a49faa0421214ded7613e585de6385a50bb97f6b5200273a44b2af07987355e44a025379957c961e141e08c5b8b2df46491a04602f8171c41fbb08f7c0a8810f58b - -COUNT=37 -L = 560 -KI = 2ac5a7a54f71f04d21433281071fe0e10873682e68ef766fdbc7007ceab6c7a2 -FixedInputDataByteLen = 60 -FixedInputData = 502e8784f1d6ee890bc1c9b56e119bd1c7ae62ca9df262e24635bb6a3a896658aabf6511feeb4336a2d7b699dd4c268d1e15b0697bebb2f8a9f43e91 -KO = fd6a6b1e627a307d13ba2fb1fcdd82dd18dc2455af85220da82559b2e32732b1bd60c5c67e9e743e30f96368924b4a297699784ed1ee0d8e0c17adb02a387bcc8d2a399642f4 - -COUNT=38 -L = 560 -KI = 91bcf927623bf27c80268b97223074b8b18a0f57c1c76b61e0269c1a13c1124f -FixedInputDataByteLen = 60 -FixedInputData = 6baa41d91ca045b4ea38652b7cee98d902bb33d6b3993f4ba3cd35fb1f7c9a30f90d0fddf80e384de70fde337e331772c28df36f8d3ebb030018ea0c -KO = e99a8bbbccd32f7252a7584e9e37992685a7f1b1b80d4c7e218865113cf32fd3021d84fdfb8cb69cb70a75cb79a92e12a88510ca9c9d3f75e3b2aea9346e0b5e46a77f84f5d5 - -COUNT=39 -L = 560 -KI = 721e30cf51a3745ff9f300002ebbe673afea8c7e890abe006f37a501ef740b86 -FixedInputDataByteLen = 60 -FixedInputData = e1c51bf878ecc7a76fcdc12de9c8ded21ae65d03cc9538cd7e1434de849c4d23a7e1b261c57af01bb9747e9d5c38ab23b398f466f8ded58598f16b6d -KO = 1deee44e3adac4670a5be9393c7c1b6d507970b525c834cbf165f56bdf3760dca946b252172f7789f2a452c50e69eed457b3c63bd28d3e7a71943bd2cfd7979a09b522b217af - - - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = efe634996c23cd4bad291b20c86aa4ec12552a8734e925471cdfd8ddaa24fc3c -FixedInputDataByteLen = 60 -FixedInputData = 4f399ac5fd26151073fdcb71a23c9701333662972a8bcfd2b8418704a4c567b95f525d78562dc6a560f51e989ef2a224d741a4abda1198af2670282f -KO = 5053ba3bd9a50fd8fbf5f7471fb34a6b - -COUNT=1 -L = 128 -KI = 4f4cadc94cf6c791359ac166888ba8ecd09f89369403d0c59aab1cff2b26ec95 -FixedInputDataByteLen = 60 -FixedInputData = 57cc7e845693eef5ec84dbf7301cfdd839eddf220fb30462f09ba0a4bb6e20f32fe53da5f59429009dadfea9a4044dcf412472716469655572e31c4b -KO = 0f5468fe8e3ace15fb9eff0854c37576 - -COUNT=2 -L = 128 -KI = f2fb68165038f4dfd888e591888585c5c6f96942e664c22e5864f01211f09dee -FixedInputDataByteLen = 60 -FixedInputData = d3fc3b3d957f496da0f4b6a064263dde7423c1cd47b3473b2527e627d7138cc138361f0ae44cabd87b1d0638a9ca9110613a6cb14061d3c704a3f2e5 -KO = b4c5e07a06e1258feb7dbae3432072c7 - -COUNT=3 -L = 128 -KI = c066b4cb4f915fe4dc1dd56282abbdbb728c6be10a1322fd8b98f9d53f511049 -FixedInputDataByteLen = 60 -FixedInputData = 73106c32823966952ee97299e21d898b0e93217f7c5d27bf10476c85c3a8b9efc5af23859e11f303f2b875cb30e2a5b77520d5facb675b2d2bb850ba -KO = f2cc3df54c7c7b65e8580f8bc2d9c2fb - -COUNT=4 -L = 128 -KI = 8c06a92f3656c18c99abf57515231d345cc90c991f51453899ca2eea906a05f5 -FixedInputDataByteLen = 60 -FixedInputData = d457173912d331061c2cb3b3b217efdf2061d9e971b7abd04bf1540aaa30003bb49026d8b39aec4c1a6fc4c82915a929ffd1fd24aedccd68c5fa8a5d -KO = 05396646909f8fc12c8270e4560c4d63 - -COUNT=5 -L = 128 -KI = c38642a64c35437b7eaca0f3b2b4e490b6887c145f3b331d4156089dfa734986 -FixedInputDataByteLen = 60 -FixedInputData = fe5c7552c954b0a88c48012bd9b6582c450e673b1bd620b70353d424f65aaadc9ad6829b1403b08168b6f119906d7d18e7021935067ec3ced3decf6f -KO = 84055dd07bb61ea800f5d53160e1b42a - -COUNT=6 -L = 128 -KI = 21f660c9f87900c3124bfe034362152deb332d00500db81ad8632fbdf3974871 -FixedInputDataByteLen = 60 -FixedInputData = bd397b4c315ee02cbb3405d9b9cfdb4ba5c2623aca60563e7ed0f0c675f8245d74dab64d16a7da6d1f686592c9a72cdb6d34a6c750a10dfdf5d0ccb1 -KO = 43813d5437ea6f22f6851c4d55e45c3d - -COUNT=7 -L = 128 -KI = 3cf2988d1cd8163d28df69cfa8f5f745e2d9b923eba8f2ea592aa0bf25be1525 -FixedInputDataByteLen = 60 -FixedInputData = cc4f793a876e4aa87e1d506d78d0bcbbf9f1fb116f71e6cc6c7fdc7bff61035a7e008b6019882a22af46b7a54cd6e05000306ab9a8d3e74309dde7ea -KO = 260edf170a370f244ffd6c81ab9fa8e2 - -COUNT=8 -L = 128 -KI = 6538f16f97827b7d67c5296f27d915a584a64ca33c4af8a8af16fd3e1ea85908 -FixedInputDataByteLen = 60 -FixedInputData = ff6ff91966019d81fa4b4727a6bf2ab6377a8e407844546e4c95e5c347ff26142bdc3b587dba69036e4be976a00e96be378aed216e4e817ee2a70ca6 -KO = 1ba1a1d94ed471e78edd4d4ba0df76f2 - -COUNT=9 -L = 128 -KI = 2347e51fe4fe16fd3e3e91eefccdd1a145ddf679a86f42d5a34e4141cdecb1cb -FixedInputDataByteLen = 60 -FixedInputData = 9fe52060ee9a8e11b66409ea1bfa65fd5be45a0e01da42dac1aee49075394f114f4b6787c0a6213cf0c539eebde46f0f2b32b5bd3afebe9d5c6a176c -KO = 8d5a09302115e4ecdaf7fbc87dba0c61 - -COUNT=10 -L = 512 -KI = 9f3b475754814fb95230c30703c362e16b9a2411e116c8e5f5ba8b868972ced5 -FixedInputDataByteLen = 60 -FixedInputData = bdf18fb5b1632aa4a4533fbb6cf433460cb9e9e44726e9d9a97fcf7ea8d9f046832c47fb3f9f2f28e1495c01db2a6f5760c05d21db22b1e1fde11df9 -KO = 841c97478b6981b9fff9cc4fb14792b0eebb001df6ac30ec934268edae8f4e175b83d9d8e8fc3746cb1741a116e91f5366a2d913dcd4ac1973475432d3361eb3 - -COUNT=11 -L = 512 -KI = a8142f27de0a3bfc32fd78bd42380c626bf4dc169a1b983ccfe15108c6c39bd0 -FixedInputDataByteLen = 60 -FixedInputData = c7aa80e6f46294007a3cc4f101fbe774a888a44d236cc55bbdde9b685e7a75cfe172d73ee256cb30be7b3d8b599a97c48e7f59fd67980375c2ed0428 -KO = e96b9bcede448e14e0434dac22360303fee942fcc656de7856b9d0ff81d47833dcbdbacb1d9e08fe1d2d0d1eff3769e9b526a2d47bd6904c8e811cac845dbbdb - -COUNT=12 -L = 512 -KI = b3722643a7a5d651a303ff8c48e7f5146a6646388dce2e73b79ed293ec9b6bca -FixedInputDataByteLen = 60 -FixedInputData = 04927f15955f99b1655682995ba1f4c27559b92426c3a3f4f5243ef28fb25d857669d5d32f5469d3ebb5e5b4c2b5b55c8f1c36db7bcb1bdd77b6fb3f -KO = 6555af7cff2fe52d971223ba25185ab47eb1afdc4f9d365de8ef5d742ef75be716300a6c9d488a77bdeb1966368001678c9840633d125c9f684be71d5316fecf - -COUNT=13 -L = 512 -KI = 021855cedf281cfe65429876d0caa6e68fd0edeb9dee92a3c173c0366bf9b383 -FixedInputDataByteLen = 60 -FixedInputData = 342e52a8456f4e442b299f9099a135b6233cd124af22f815ac68cf4a62c30c4a35c9920ce716f93ab89f18a8c5645b65946c3905fc02d8d868b9b578 -KO = f85f9cae214edbc16e1f634a250dcb68f40b96257475cd97c981f9d0b1f9f48f9561f22b770a3c3b31c552257a7a95b287d7b9fab3703199a743013531997ab3 - -COUNT=14 -L = 512 -KI = 4edc8dc9a60b62c9b2c694bedff3d8b8bd3b982c8b9b7486177bbbabe5793b17 -FixedInputDataByteLen = 60 -FixedInputData = 09e2c5e643d19847dd1995abbf234bcada6e7724ace34ae842d4289a2d372b49186a259e606a022b52ac2685f9c0638f080de5583ad9f181e87098cd -KO = 7cb00c8799b7a87bc6aa10d96ef2d127bbac97cf41c72534a447dc6deda10f48597da6cd951910691398f0ed7c833ced9b3eeceddf9fdb5f8edcf14127810700 - -COUNT=15 -L = 512 -KI = d60795b09991b6ac8d2b3bf0226b391f97d4f8fe87bb5c8da37aa78a4e659abf -FixedInputDataByteLen = 60 -FixedInputData = 1b649ffb4bc1bba4bbdc274d9fa0d1cbcdb16f6f094f40cc89af6af49cd5f23a3eab2b2214472060b0e05ef77d8969a49f61a92c9e41c36450e748bc -KO = c2d215a91d385bf1132e4a7e80e0967af6df01244de3f2941615501183d0f3cac6e41c92528bc99badbc730b2d1ecd69a2fc821e47b8300bffd2fd0d5d889955 - -COUNT=16 -L = 512 -KI = ebf0e4c0825371baa63a8ff719068d240fcc39f7d912a82db2d78c2e68c0095b -FixedInputDataByteLen = 60 -FixedInputData = 0a77d88c93ac4e93202f44ade5c39ec6964c3b6b784a96506c82b56e21f763a2882799cc2eb3cae2abb885b2047ee05d718e06469ca7ae0340abd2ed -KO = 450ff44ef035f4c6516e1c61c60ce53ba4663e68f25caddad883dd4b35438d153f8bd9bbd81580e988a698f3f0ef31bf41ba7b0d9576f76cca46fd261270062a - -COUNT=17 -L = 512 -KI = f01185ffd79027be8b1616586a002584ed81a930657770c1ba3ffeb76a3a039a -FixedInputDataByteLen = 60 -FixedInputData = 08c6983971e4fa132d5ac4213eb83fb583c354c54fd8c1229907214a4c1ec9630f275bc1edb11613cec840c65a5d7f335528dea4f3abf892d2886f2f -KO = 827e65d475d03e794024b20a9b769bc1667c75a5d8f1ff85da51d1528e8b2bd680fc527e7b61bd254cb9779c9426ed520830e7bce8ebd68221cda1c09b8e798a - -COUNT=18 -L = 512 -KI = c7c8c14527eb6c7afa8ccd57fe540ce7f7003e33b6ee013faf539723e1497e55 -FixedInputDataByteLen = 60 -FixedInputData = 3ae294a5f396182c8b161fa3841d91d77735afb4a34134f78c7954cad95ad34bfa01997eb9b87ac306fba89d96946d5845c5c75f95315c5ff2ce398c -KO = 650938efd3b5ddbba83e796174c545a469a0a888049746129382d5ec56a597b7729433b4e3d43100b9a551afc6d015f08ee677515d3e3dd1dff202991fe9b373 - -COUNT=19 -L = 512 -KI = d4185f6047e709e9b2df660bc909184eba624b963a0e4b01dc1c3c9020e27a1c -FixedInputDataByteLen = 60 -FixedInputData = 1f0ed42531345b5fb39265459dfdbc018e041f0d0bbae942e5c35f8c0f1c828bb7cd4d1187fc6bcac6c4752b0cb3034408570fd024a47dee00c3190d -KO = d046fcb4b1077e84fc9eb8c170dd3bc264a621e722d99ab42c414533f5fe6b46610273f425e404e8961576f9c475d62cacd281dc66abd5af0e48cc1d8796078a - -COUNT=20 -L = 160 -KI = d041756ded0c15ccc87df41c341d4679ae2969e2e9bbd886313e28b0f0748c3b -FixedInputDataByteLen = 60 -FixedInputData = e053012b7938736f7bcc2e92126541558fa5b5d6e8028308ec32eeadbe5c21e8ead6947f571ea18a01eb67f52ed72ea86fdb469cc9eb38c0286fa93f -KO = aa486c3bd21e093a78626cb3ee6517bdeaa798a1 - -COUNT=21 -L = 160 -KI = 41746e5cfa7a7323830d113cceb5cb71b1c24ba0c90bc414ce75e7bcf41dca16 -FixedInputDataByteLen = 60 -FixedInputData = 19a93b6c074a06a726282b4e1558ddaf784f6d2972d632c3b59268e434f8db00bb5ba0f5045d656d7a3205ae1b2b39ad8dfb512e9c8d1e0f173daaea -KO = 0270b4d14d293e8aec9419fa036d0696fde609d0 - -COUNT=22 -L = 160 -KI = fb46764221b5e3af8c4aac7d353e34f2d3f8d737d75e180d7f22074554445270 -FixedInputDataByteLen = 60 -FixedInputData = de6e86ceaa9abf8eca32ea85dce9b3137f5e220413beadff79405c6e6ee89278e7f2f7b46dca6e267aac60207064f384ca6a742ea770525120cfecff -KO = 8f7cbf537846e10ee5c097668d677ebe09891818 - -COUNT=23 -L = 160 -KI = 2e2dccc51bf3f82f3242fae2f4b0fb68957e4d14dfbd3555b65d1b59c701b6d8 -FixedInputDataByteLen = 60 -FixedInputData = 400968f3e44fb03c0ab55cd5250edce1366453e2ca412b88b132854d286fde7af75d8f8b166955b8f2e3503f3f2dd6338d7b7fe54463137b3ccee361 -KO = 2492f4b00e6412d04cd57e72a9dffa4c6e164559 - -COUNT=24 -L = 160 -KI = 04d21cc27d56a56d8f6c409be9861dff7fa58a35c47ef1bc1eefc883da0a9670 -FixedInputDataByteLen = 60 -FixedInputData = 83dec0c1fc7fda22e9d050adc10d333ec43daa3f085eae55885fe9fac2c91ca50dcd1306a67f16a25ebddb2db090a6c9f5e423385231e8059c75c155 -KO = 7bed03993600a2adc3d0c5abb05b857b279737a2 - -COUNT=25 -L = 160 -KI = aacb469937c96845f83790df2dde0d1ee6d863ce5b6f98c3b224c6d1ae175f58 -FixedInputDataByteLen = 60 -FixedInputData = db357dabe6129cd1fd3b9ae9e5d52db85db9784f8eb332b441688c50204629733059b8a361a54bf66dd5e08849826bffd513021e16c4974666431de6 -KO = 60dae36390de06fa827759bb5fa08abd739e9b82 - -COUNT=26 -L = 160 -KI = 4c465536b23c9b5eb538a1106aa48ab6cbfd92dc435b16452e08b8bf85cd8412 -FixedInputDataByteLen = 60 -FixedInputData = 9016f68f1949a1697d9f50fcd9d5813214af26330251f3c6368c613d45fe11f84c99774ade8852aac06ed62ddc4a8ae15ae2b6fab92df351d3d59101 -KO = 2545902febe73002067bda52265f35a1ba07b7a6 - -COUNT=27 -L = 160 -KI = 640303c3f17f905c00b7e3d870e99c9c960ae30746dd10dea0297b1bc51dac78 -FixedInputDataByteLen = 60 -FixedInputData = 786ca62b3e88f7f437e223596161a1f1925bac5d61e10b072f2e1b22dd41c757c9a6d2490035b17cc58a9721eb0ee34299f7bd5578cbcffceb5285da -KO = c3abf74f314417c87d26ba7a9854c134ed2285a8 - -COUNT=28 -L = 160 -KI = 569fa134975602fdcb6dd96f569f5ea25e45c365ec9a69d287154ecec6c1e95f -FixedInputDataByteLen = 60 -FixedInputData = 6857b4a2accb68931b9274f8f40f4d1f8cd9e99019df7eb76f77fd20610a8fead6de20fbded5fcc37e51ede3440ed73ec45108a6d30b3de44a917938 -KO = adb7d77f04261bdd3ce82ab8f87c852bacf01952 - -COUNT=29 -L = 160 -KI = 68141977fee01ebf258157bb3b4368f7059df6803dc67926db7e323b1a0c2107 -FixedInputDataByteLen = 60 -FixedInputData = 1b2b8f6c64f3f4d9dbf224cd0ebfb92110a7f40b892c8d8a1c68d535ec19cc3aa3ee6b20dedae60bc358f6aaa53e19a522e518804c16e11a63edf97d -KO = a02bd2ae266796ea0d7d1f332a971cb59cf0b1a2 - -COUNT=30 -L = 560 -KI = 7def69789cd3937ac39ee5bf9a30d6a96fa81383090ee198b20f51bcb6d83424 -FixedInputDataByteLen = 60 -FixedInputData = f78488039d462b1367b66f61b034463f00f5809f6f44896003a19e23f03bde09b2ff9652024c57530d73f12832624903ab61ee28210405233840fd2f -KO = 702524d0ceb80f02502e124aafa24fb9bf544c7ce48eba48462ce30bea16e5a5fe8cde9c9809cb0e555b2bdb4a05423a0a0796764a62c214a857e6e6e8808360e4851a0231d3 - -COUNT=31 -L = 560 -KI = f6a88c61addfe025bfc1a170a20cab410dc2a5924e77a38ab8b957ca6ba0572d -FixedInputDataByteLen = 60 -FixedInputData = 50dafd4ce108ec31892e6edfa3ec894f230bad05c031a07ae610656d09deb7d371dd8a974f6c2d1daacb112c80ab219521a2fa07e2252092d3094bea -KO = c4d7734b045e336cbb28a71a4fccc1e15fe3b75b1c372c2e3d32f5ec96ad4a49974b944fdebbb8ae18676b7f9cca272af9acf5c978ebbf37412c49cecb97a97ab52d95d24b77 - -COUNT=32 -L = 560 -KI = d8d9defbcc7045cab5e3e2741efd13332f23fc7014425cec986e86acdd555f8f -FixedInputDataByteLen = 60 -FixedInputData = fc23fda541dfc3d480e6b8cd33367654f3f97365cd6147be58e0bd62497528e21a015b426ed53a118faf03eb4b9a24b33112771d2136c62b22922665 -KO = 76e1a6a20fdae18a75c46f5778fd3683f1c114552dea5572d16d3b13134bd613da1f2830ecbdb0fb673ef206bee95c626924c96992177242621299dca6788ed35af18c62ea74 - -COUNT=33 -L = 560 -KI = da70694079140716ad2592165a81baf1bd9334289e20fd146f84558769adc126 -FixedInputDataByteLen = 60 -FixedInputData = 569aa170665a3953917bb17f6361570e8a644bb67b5d66c4a72ec7b1fdee3eb7669c7219cf187215034ebdddd3a48524b0f28e61f13c97c81c8e18b6 -KO = 369eb46e68a495bf635d3c8f0311b71a80cd0135750b4efb30db38229046be8662eb9347ac975aa9e90eeb315de593be220f4eda23cc86a894c041a6fc95209d4bf7b958ef3c - -COUNT=34 -L = 560 -KI = 338f7510be4da755443a557fb0f64a3d796634702418e4d7fb3b9a0474e1ceab -FixedInputDataByteLen = 60 -FixedInputData = d769e27c3de4abae042be91e0eb5ade145cbc2ab64ca652dd07219f32c4da9f8aa700889b919a1063dd0851a631026a927e56ec986b5bd92245dca7c -KO = bd2c96a9d649694703f20eae19351f4102507e8e7cec9e35350924cfba9d1d647fb0304fe7ba19fdaf3c078e35c37057c8e1c7ec7a67d61773e9e7ee401eb1edea7f2cc6fd6c - -COUNT=35 -L = 560 -KI = bafc8f6cc53f38987a35769074930efbdb1671c9fd750a3d842a3f823e888c0f -FixedInputDataByteLen = 60 -FixedInputData = 1471a6aa6da3d17003826378591a548804d6af230ed35f57ea54a161f08ebf0d8060c923b4b9f0a94fb0b5e5cd2d22672ee17b2b07bb0980612c6f6b -KO = 65e0eaa154de2a4fbb40a6f9b3ebe851a8e431afb42033537d278abc6f3d761531289030d3be5a1b7a73969b55b4bc717a2fac798c1fec57c1668360007256d8a58500a507f1 - -COUNT=36 -L = 560 -KI = 5ca6bb13351c3491ac55f086c1814073f3ded3e435e88eb1ce45cfba47eb98f8 -FixedInputDataByteLen = 60 -FixedInputData = ed754278134d32647576ea0084109c98279c52e70406a09909fb793478eb131626802e22fd77e53bcdf85d37bd273bc6db302894acef1f0913553747 -KO = 4df642b0b2e42965609e94f3ecd2e7a3e18f4f9f0e18dd3274c5927c36c4ad6856e423678f0eddacd7a19c18763c99dab92877e75f926732948c07e354d3bc68ba5201775c7b - -COUNT=37 -L = 560 -KI = 40c84e44e6f7241d3a6bc76965ff2e44b41e9ee75702d9a780d2094b35504f50 -FixedInputDataByteLen = 60 -FixedInputData = 3aaec3095d776d4970280341417182b2af8cb9866cd5a05e2c8d5ec3e9ce23caca4ffc8dec9e9dbec5962dd8c6ab5045a01ab3f806639c59807ef7e8 -KO = 8e37a56b93140c78b39056e25073cf9a5160434d260d3cf4f431deb4f9475a598fbab8253e04cbfeeaca782cdf3f8fff3126fe373b830fab0ccb5efe24610c47b888f16aceae - -COUNT=38 -L = 560 -KI = 1a6f22e33f42c29943b8b584e61efebf81c350d3147d8bf9cb772d16040c1cc6 -FixedInputDataByteLen = 60 -FixedInputData = 7741531f6ba8a4572657fe1f606de9be4aba5cb160c4f008ad127d5254e6b2c6e66bba23e388c4a30c283d54a4131e5002e5810a4e7a1e4c46c661c2 -KO = 023a23917aea61d3687e5f5602e6d7621517381d9673588fd850d96c52caa8b1e7066c0e621058b9e8d6f241991fbf0079ce8a9bc9837a5a3ebd7e1d12cb0beb08b2550c8a61 - -COUNT=39 -L = 560 -KI = fabc2b145872b83c7e7416bd51b0782b5c54f74f4e81e232744043b34a465cee -FixedInputDataByteLen = 60 -FixedInputData = c114a0a4037a48b55393523b912c7da054e29faa55c63b500e859334dd4cbe2ed1b461c89155fd8396a437efcc7a8ead4704bae9053077d9a056bc5c -KO = 29c6ffdee4cec08aeaaee2846e222d893e659ce242e3157f83ff612596b181e90772d31ff09cc76daa09138bf747fd5d2f45eeea2e33129e5f2a02c3d918bc7b703dd1d658cd - - - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 08a1731cf7198426e5556fc38ef831f1d5f46696650702587b09bbac9d850f5f -FixedInputDataByteLen = 60 -FixedInputData = 46bcc5ea71eb6ef6043c9f5a9276a632b08e85b4c7678c550de6316ca951468b78a17939f1b91730f1c467b10d9bacfe2216799db521ca788089b6f8 -KO = 069cbd8627c967d12c6ad55f7e32421f - -COUNT=1 -L = 128 -KI = 9180144a8189909e8db1defb6de7fef5bdaf1d1ac32d156afa942990b8c48fe7 -FixedInputDataByteLen = 60 -FixedInputData = eb8eaf70b33d42c82a02ce838fe491da6c6e31c4df4bc92b73b02270365dc30db248853c552e144b97bcf13500364c385631d73997dcc7fb4a1fd956 -KO = 2e00780caceee87103dc2a52d458fc9c - -COUNT=2 -L = 128 -KI = d65d87c8c79601864dd591d89a26e582c192d049f36af86948d10b8f27ed7b6a -FixedInputDataByteLen = 60 -FixedInputData = 8d55ffe87d70217a05260042b7eb1ddf5ebc5b5fde0cdd3bc041b74ac77df0e19a0cf6fe025dbc32c1181988cc6d368af8ad47c973c99aebb1a1227e -KO = 19b99fcec0f5ac655495438a802acf9c - -COUNT=3 -L = 128 -KI = 7479246a034a3f0bf8ec6b955ecfa4b4f891461a15fc4cae03ec266d9cf8f6aa -FixedInputDataByteLen = 60 -FixedInputData = 472e88f6c81429ad2c8c2652eab4913e50a51f4d23bacd466bf2df6c30673dbf68457b1f7c627b849ca799c95010fcc24c0894107461b9a8a6da7ec4 -KO = f63403ecdbdb63459c9d6148e2af611e - -COUNT=4 -L = 128 -KI = d85a6c3e2f88b311042e3d3efa4f958e17cd7725e438de7dff33e78609511cc6 -FixedInputDataByteLen = 60 -FixedInputData = 91b5f4d9de69b077be81a26662f02f7989c3429ba014c2d857a36f5484581e0d0d80d8d0361ff5748351b50872c15ab06d28b1fefb563b6ae6904ffa -KO = f4da3f6f79e2fed5ecab81646b28b0eb - -COUNT=5 -L = 128 -KI = 400279bb796c07d2f280184fee7466f19c4c4dc646bc485d47a6989a45fc24aa -FixedInputDataByteLen = 60 -FixedInputData = c2bd78039c9ff577c0d16e4585b0644cdef1bb74f46e198bc1ef9333cfac51e4f9fdafbd327194de7d7e66387103cbc2d4cad8bf1f7c9f3b59914457 -KO = 6db231e30a5fda80fd0ccec8f275406c - -COUNT=6 -L = 128 -KI = 784ea43e6d6695a2b0c7571d6603bb64c5d5cd955fdd482384ecc759d323d60e -FixedInputDataByteLen = 60 -FixedInputData = bfdf114664949c17235d9e67e9d46eefd083310e8f13b3de5de67dd1e080d8460244bdf1cdc408e8829af636667554de4c138c7d1035275d35441327 -KO = 07ff5ac5f372decba9987a5514d23176 - -COUNT=7 -L = 128 -KI = 161d92170f4d7cf6ce2aefc5ff8b53e154346be46708759bd641f09161790eb2 -FixedInputDataByteLen = 60 -FixedInputData = 0c4578a7a0e96c925d6e8dd2266ef34f95061f15016910d8b263ff116f2d6cc9f931f99269a01bb929616a48cb77396988f4083b3aee91b096f98a66 -KO = 3a0d320af0f83287537a7b91e5c2cff7 - -COUNT=8 -L = 128 -KI = deab5db55acd4152548707493996946dc794db0adace0b113e94ce4ccf3d074f -FixedInputDataByteLen = 60 -FixedInputData = ea7284a1174a1777db65d0b1b6267972244217c2e2a41f05e82abbcdbdcf69b586e7b53085e08c869d65611f8ba7743e3c3973ecb587ca1bbb88cd21 -KO = f17e40467b45021c4a49b23cdf9266d5 - -COUNT=9 -L = 128 -KI = 7d4592261da0e5a39fa15da70527463b7d8ba0912b85c36943f79400e1c3ada6 -FixedInputDataByteLen = 60 -FixedInputData = 2a044925f3324009f5790b79266ea835991dbf00ac5806fdd7da53385aa78577bc57b44880c360fae1c70500b273a37375ded884269992225b394085 -KO = 0736e70e59b6f3b14c59601b8b625931 - -COUNT=10 -L = 512 -KI = baea7d7b4015fba32056eee06fe22392d687a4c6819e9def162024c54ffbee3f -FixedInputDataByteLen = 60 -FixedInputData = 2a5193a50cd6722f976a44ebe3cdd41277602ce0674b4957c18c872667fee606ccd08b3a9e48ad9668d681621c348f7fe723fbdd3895e7c07de65898 -KO = 2ea68ea954eae57ffa561c8a5ab1789160fe34f88e56330ae98bb923d71482caaab056ff584cad42fa69551bc08fde75d3c8d4ba1025b5f6c11b45a4f65397b4 - -COUNT=11 -L = 512 -KI = 93c012e3d90e453c407a87a776906881f2c8dc92fba322c05922c0a705888983 -FixedInputDataByteLen = 60 -FixedInputData = edc21ea020371d8849ffec6e1299cf69c337004502800c75bd2292bd68977d8821d72b745526caee1d311d3b49387d97ad8468c5598f6b4ea410f3ef -KO = 8f678ad55ab11954ab8fd2675ca15801bb17b22779419cf7f6398365cf0db0994d3fde6b2c54086e81d50ce68b477f9ccdd4904ffefc9476da34c16e0b531f13 - -COUNT=12 -L = 512 -KI = 84fae4460133345a2a45137ceeb9a5d2b533f2808c8e808c51c1f3434105d76e -FixedInputDataByteLen = 60 -FixedInputData = 579505ba53e7dbb15d8dcaaf0f7eec4f88e55e60ce0818654993e6da22513e1dd02dc1beb602b5eedd491558118a89deb135ed0d99a9ef6b50a359ed -KO = 289a37e134ce1b62b85016ea60f19a47f21a01e45a3e9417cba77848fc829da2169fd7d3dd913cbc18bf64b6a26bc3cbd8837ea08c7de6522202e68f486dc957 - -COUNT=13 -L = 512 -KI = be7706a8bc60e83cf90caad57eab636943a9a46e5ace1f5b9e9964e18cc06a71 -FixedInputDataByteLen = 60 -FixedInputData = 53f2e4f3e009e4551cc33519f671001e0e9cfb42104c2c24363cc7d055523c29c727060a47875e28a20d5cec0cc65895dd6ebbe98fab119207b177f3 -KO = 974074f2bc28f878f68d8259c2ba7fe829d24a315f6470d7708d9efe48e0858c7af8cfbfcf917a7cf0471f42fb9659d5f88d8e82ad76993345a2607d3b4abbfc - -COUNT=14 -L = 512 -KI = be6cdce0ec1ff50392e3f8924a9858c0d3a67407781b73e6d2cb41950be73c27 -FixedInputDataByteLen = 60 -FixedInputData = 2a35eb20f9a4e0e09f8c44f4c31c92de48ec5ec1f516bf0ee6876fda0ca62513cf78784546d7da8af1fcc20c02cdb122fbaa860d58ab74f7f7fd243a -KO = af475c1f60393be92740bbe77f51264e197530b7bed92a0ea4c7c76c0ac820f7bc3214fba2aed54525c24fde915949993bbcc055d4bb5ee4a65b1346011bd423 - -COUNT=15 -L = 512 -KI = b8a3257a673bc44179b96b050b09fba35fabd6b819aee6035b61f22422ffae8a -FixedInputDataByteLen = 60 -FixedInputData = ecc2f196a841af7d6c4a2f9c88351cc7ec601d444fd0610791a471458c7393f05b0c4eb34c361f626ed43d6a33f5d1dd73c5ca7176ff6ed8ae809892 -KO = 22a05bdff57143727785c21e64fa4fdf815a7d57cc4f735e68fc8c489cde8aa3942694377c30b32e662be382a8ddfe88438794bf80def18e6bed7347931b2224 - -COUNT=16 -L = 512 -KI = fea48f851c8c15653238eca56eb57f4545d4f0159191fb9fb8b534322bf7e160 -FixedInputDataByteLen = 60 -FixedInputData = bda8144c08764d814bcb3fcf70ddbde2de9efd74e79baf9e54e06cda9a0513dad0319c7a4b715346d3fe08cffd08d1688dd66d0121a7b1cd837515b9 -KO = 251bfc51b90aec060a5c9428ae691e5ecd1e11c26ccbee56d1a33aec69561174b47f11ee00ecc3fafc94691cef1bdc0b0144d5dddb5a49990fa71e0bffe433ca - -COUNT=17 -L = 512 -KI = d72828f16c960c6a98e4278a39507b812830a08b11a1a1e0ca7ce4a72a0209d1 -FixedInputDataByteLen = 60 -FixedInputData = 5b51d88720c52d74cf8feeaec8e527029d097069617805a3f7d6023c4fd4beb829fdd64f0aa6973bce1860f9ac304de3dca27fd90f5c1fc5a30bf5d9 -KO = 18e2d1cc4a558f4a91bb258ffde3a92c717797fc54a96201bb348637762d2515f60a2bc8baf9e19e2f9d7cdce2b5fe41d738f8c6bb588dc9db6857eadda7f5ee - -COUNT=18 -L = 512 -KI = 7e970da458ea0484f117778a680b544e00160dc4cc4dfcfd31f05a512b3093f6 -FixedInputDataByteLen = 60 -FixedInputData = 3cf73c0768b01ee519bdf645efa1602da32f5a6bf85df6ebb6fc6b22486be732eff5eb27b587a74428124f13b10491b3e963e31d904995174379f0cc -KO = 1015e09380201935000241e77fbef9f54dc530ecf531c49651f0c49ce615435604a96411f55805ef1d0ec18c0e0c65666ff1e0ebf370950b982a3beaf54bfdfc - -COUNT=19 -L = 512 -KI = 3839e1396bedb5c24c7ac1e7d2baa6909de266dba4435751b8ab36f327cac6f2 -FixedInputDataByteLen = 60 -FixedInputData = 8c1f58bcad8eacdb00458e829c88e03862c3ebfeb342f416b823310d33999cd58fb24bb51f38aefdd49dee1093ebea02fd34c0bd01e6c94d9c938330 -KO = 66cafe202376db91aa6bb4c17451575916d1487233957e211752b9e4aa11514c4044a3b3b5c60ee3eeafaa93c9addd59b85b5f768ab589ded5d2f6d5c78235d6 - -COUNT=20 -L = 160 -KI = e4d7e7e45ac16a4d5d25f558d05014c8326901735fadde99d39f33401c69dbb9 -FixedInputDataByteLen = 60 -FixedInputData = 4707fea46815ca55a993d635077e5cc323dad5f5e535d6f9416ec71d230fc2665fadfaa1e2cd79cebe9541481c67f4d87d89009f7b85a2b3864d2d93 -KO = d94c3cadfc212a65d1cceacec75c275c9580d040 - -COUNT=21 -L = 160 -KI = 794dcc9e8179477e525ebd529fd7fcd42288b46ac29e608e0b73613fb99c9aae -FixedInputDataByteLen = 60 -FixedInputData = 85b2d42933479b7ba98ec4ebd4548ef3e5d231120f26f8fdc55c2f9257827c4a285c2b2aa01b2ad742e62eb6991f298a01fab3e67d9b21304ef7221a -KO = f714d0ce1a0e3479857f1e95f95917ca363eb9ae - -COUNT=22 -L = 160 -KI = da2e0db6260f933ef2369199752726281af144538a0290f2c4f52b325a1287ba -FixedInputDataByteLen = 60 -FixedInputData = 39dd5cdd4758c380e29f74278209e256b4d2af0c13f7bc66702a70fdeb531bcf7e1157eedd85eb0af047f77d9f3a5a68dffd9dc4d9b3e5c8487de041 -KO = 1be0a902293f8b6f9aa180c8a2c96695425e7e6d - -COUNT=23 -L = 160 -KI = 52545ace8503914e6ad82512bb44c50d378f8cbf42e89d68e07b6e19359d7f65 -FixedInputDataByteLen = 60 -FixedInputData = 11471f3b9a396092033e8968a273be23d09b06caa4e0f62b073dc3730436e73bd5940fc72cb40bca00dc07fb8f0cae3ba3aa526d947ca3997c76717d -KO = 08a311d1d128fc61c904361eec69089dd9ae009e - -COUNT=24 -L = 160 -KI = b48e5e3ca6dd01054b2b0148e3d9dcecba0a1048419cc29ae65177fbdf2b8596 -FixedInputDataByteLen = 60 -FixedInputData = e4176cfa2ff5906f4b0c90f1f565c03a2fb666cbc6f13e495eef3fa4ae41bb0ca3fa2f30254b6b8f4c5713de4056f228f67396d23114782be0e9e128 -KO = 2beb7f1345097e356686d0c4deec2954e2b48140 - -COUNT=25 -L = 160 -KI = 3a6944bedc954344d36ba52be428b0f7f41015c4f527d81b6d26ef08ad550204 -FixedInputDataByteLen = 60 -FixedInputData = 555fed3bf55d4b2c24fffc5d31b8c63b1e48928f54cef58751944be8689d79025b70a0c259b58e16e3d42932ccb2067d3fb5d2af22949e094fd5554e -KO = 73a977a17c8ac886417b4d0f4dfbb7042ceb7e5f - -COUNT=26 -L = 160 -KI = 77051106bb6383574da232cb44b77b10347316250dd7576ccf00b9e8853993fb -FixedInputDataByteLen = 60 -FixedInputData = c40e1b6c9208c6cb506e5848d11bf26dbb5aecce196dea357782b113fee1312bda51fba5e26687b15a4265177854e0b430366308cfa93745755befca -KO = 65737b02fae18992018e269f2446bf4444261b2f - -COUNT=27 -L = 160 -KI = 282dafc77da73f619fb6e9d98e347eab43213d0e3867c7dc1d5f5efc2d13381c -FixedInputDataByteLen = 60 -FixedInputData = 62e20ef467114b6526bdb7247177cb0cd179cf1e4f349129c6032beabb6eac6b6656c7f65e0763eca1a88b1a7880391301a65063a8ce06a617b263b6 -KO = 07ae7576955ac50e4235c96e25bdd2cdce5a1d47 - -COUNT=28 -L = 160 -KI = b3f6a00eb8e3cdd414d1f10662b6c40b2e80d8da753904aabfcb8be274df87de -FixedInputDataByteLen = 60 -FixedInputData = 59189425c5843d1143045fd793ff78165c5c0d74dc750be9e2af28f6f4ce920d58bb05eca1daf661bbb8a55fa0c0e157f34a62c2ba0f0a5e3ba450ef -KO = d0cf1a49b45ce7188f0a56e8679eb97388a4b4e5 - -COUNT=29 -L = 160 -KI = ce8297220862a7d70855c8db10c729ba24efefc20a89e03cd12d483bdaae22ee -FixedInputDataByteLen = 60 -FixedInputData = aed533843d945d05c513d88c53ce1bf9e1cdf5beb0e85c9225425bea43c03d7d42b94be2f75a91ccf710efe3646672e37bff7cb295d3d40b3ba98fff -KO = 92d4c455d36b6f56deabf9ab38d36958ce35824f - -COUNT=30 -L = 560 -KI = ffee3a567074cf97fd3bec9669eccd4e7cf8291daadeba05f7f2780707e2c163 -FixedInputDataByteLen = 60 -FixedInputData = 4d1b55cddfa06b2d251099310622c3b68887cc5b61a2711cc5c371e464843b7096bcd65000745048a0a5b020b61504f10ffdc55a47a8fb0cb570dd66 -KO = aff3420f91d3c72e51cc001bb8ca65c34cb3334b68aabc95b892945d81e02fe8aed6b982b97b73eb4a16ed3413f3a3087e141b16db420fd2be2ff178746afc28a520af68c4e6 - -COUNT=31 -L = 560 -KI = d8cc02ceeb13a847d036470a25c9adb5424b3f3507602a15e34d5a39bdae3252 -FixedInputDataByteLen = 60 -FixedInputData = 8491b0ef78785d832aec897e3033ccb7c7ca24ee8ecabfb3c6f2e31b4f45c3fda8e63960b192bb00e0d117e9125a774f54e5e5c4c76c3ec879aa87bc -KO = 1237b8be3b12d2f3a1cf9bf027d90873cfaff15bea165cf1b31cc34eb3f68c0635973eac81659bfd5d3b1877885f7c451bb890191cb00a08997b7d620d05c80776f9ee4c8518 - -COUNT=32 -L = 560 -KI = 6bd3755387658336c7a83acdbe708236362845ca2d40a5befebe2c57e570550e -FixedInputDataByteLen = 60 -FixedInputData = a7db57cc3a910ed652b9be45d75b73a466f42f0bec9e141e6d6b37c173ae937a304a0b172ba1ffaea63720d570259421509da012146cbc0d7e3c67d5 -KO = a7f2592db5e493a208f85fff8cc20ea6fedc92ec6456164959e0ac80d6ad86d8356768a554c86bee018a6049dd1653b43417b125ffb27cbda81813ff7cd9306a402584685a53 - -COUNT=33 -L = 560 -KI = d286742adfc42a41573198727c7ab423ca7edcf2f6fbe46b2c397f6666b4698c -FixedInputDataByteLen = 60 -FixedInputData = ba2169499ab0045bee6a9d8d260475dd5ca7c6be1a2785656d26fcc57fb06c402ac8096f2d54ea017b899c61cd8b2839ff7a190b660332e5673276c0 -KO = a1c5d925f418b2e05f8bf955719953c06a87dd1a014ad4a523e0ff210ffd974459700ebcf292a27c8fa8dd41d40a9ab2109698f988f1fdbc02e7b69be0cfe45a911a548be6a8 - -COUNT=34 -L = 560 -KI = 584c315b3dcae687d91d366271b329122147decb260691be1c857edf5ff54fcc -FixedInputDataByteLen = 60 -FixedInputData = e1c657758aa2d7b24e22986aa5d7bac3f10bfe636ed6d1cb201094a145f8830767114ce19322dc7bcd07ec1894b60738d7e338d87373e280d4a5311b -KO = 900f9ea267c609d00411cc65c6ceea9e78f1c92b2f875527b5c2ee558d51dc8089df959d213bc3bcb0b214c000c2fde4b3131032f8b2e190dbe3091c1b9d24ce8355591a8a11 - -COUNT=35 -L = 560 -KI = daeade92ee9673bdf1169694674e4180d613eb5786e84376dcbe27571e207840 -FixedInputDataByteLen = 60 -FixedInputData = 0fe2b7a91706320efa17cea64f677d46de56c861e159bd056f3beff03d36885f008319f7a7152230b0990a6f5d086f09153d12f7fad6ec17c0936bd9 -KO = eedf61d629172e3fd37c9e4c044d0a6f13834d6a8e5b8a01b477d8dfe770f42992fb9edb8aa087973c6314e450ef5470ee5a856f9d258600cfa9d2416ff9d2f7b37398be1556 - -COUNT=36 -L = 560 -KI = 98b480c6759a9f2bcac688b65ce05aac089acc815ddf1dec7fec7fccd9e0ad22 -FixedInputDataByteLen = 60 -FixedInputData = 26ab742b67c3e40a6fde8c91cd2e51e74e7ff918f60adfb94250207cdaed3f09c286798d07273159ca0dfe65beb8f9c7b7d0312caf2f731a26620113 -KO = af4d77b9021c8af77918ee012df67288d63b166c32fadd920273f50e573492e74d87e4ef2798f3a3b36e43732b2d645775a402a4c2b1c48e428b1064dfd9e506dad76d3501f1 - -COUNT=37 -L = 560 -KI = ae1d7399e75a3408e450e434be877a30da88998bac5ec985fd964a4c26621c76 -FixedInputDataByteLen = 60 -FixedInputData = 874cb52b8a49ebce6a3b35e000877eaf610ca948ae01eabe596bc8c1f0e2c2765a854240bd5c0f75d74a4a8e21c6f9c33f70d0f914a402cfe12d9c13 -KO = 97571c3845d248e697ac933704227860a0b3ab8b01cda3b0ce2d4b54e80235043e9a3dffabeaa1db2e553710b6606d482870b8bff68f4f5396d304cbda9240e167b4454c67eb - -COUNT=38 -L = 560 -KI = 9ab9acd16a3094512ffe12120c054863b163902106f2a1527904a93d469ea478 -FixedInputDataByteLen = 60 -FixedInputData = 8e3f8e88444c3088bd67f171e1b530d3c6954be4e1254063b3405ef145a8ec91c788322de0bb03dd31eaaa09f667bbb523b3456485ab0ee2de717dd5 -KO = 5919d0a88140329fffba7a382a2e08d7bea15ba2c56d445c65d1abdce4490e69c9df274b76b84bba43ad09ed9d72f4b780cbed134e003f08dc8f098f998fb682d2e231635d84 - -COUNT=39 -L = 560 -KI = 5dd45f71834a7a674b02f59d4d4e230e6000054241edd9d855ac28ef41260965 -FixedInputDataByteLen = 60 -FixedInputData = 3855c4c851fe4c958abeb446d35650004f029c2a0a34b99da195df8f16717bbcfa5c1abcd7b5f7bcc8da4e104026159ada456738049856415ce1e09f -KO = d6f946a84b812d0d638bb705c75568a127c6cbf061dd7a4c7ff911f236f5236eca12a5615c7f5b6745d34be149052ebeec1b6d117298e768662dda888fb9788de32a80a1719c - - - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 5f40a6b894b90c115e36728f2f96fe83a229211d7d18b74cbc6795f118a8e435 -FixedInputDataByteLen = 60 -FixedInputData = e4aa31132c74cf050c4cad757b706c1726bd12eadfd23f314cd42672751a04ebf4799fc03fa4f7e458f8b030a05324a2bdab1ef99bbc04d3236e8cce -KO = 28c31160ca016705752ff7cf3a32aecd - -COUNT=1 -L = 128 -KI = 80c918a013210a4e94386df9d5a639e45d114755ebfe9f83324b9eb0f21cf689 -FixedInputDataByteLen = 60 -FixedInputData = 41aaa6b21c0d18077c89a0df5ddb707bfcbedc17ceb6a3168cadcfd9cca3646a1d92b524ba5efb5b27d2638578f1b5ba1125c026733aeafb17ceb6e6 -KO = cda842b8a2910edaa67377151f62c97f - -COUNT=2 -L = 128 -KI = 255088e71162cffa74a7ae06be0891e72589e11d14c5d3d3a41dbb77905491a5 -FixedInputDataByteLen = 60 -FixedInputData = 0627d9e2919e61992dd982b827142540b7db3753e1f54364852a47334953b1d601b05d514931d26b6ec868027ede66cd589f34e6a9738b12bd282800 -KO = 501fc6116e7155b7bcec7f4031c66c68 - -COUNT=3 -L = 128 -KI = 23363f9b048ac8b29d905af0a4e63ec0aa79bed728421d2d75a1c3d5c130b861 -FixedInputDataByteLen = 60 -FixedInputData = aeeced57f3da6c30975451a3f27601f7fd3050de2c744d6ac79b2822dee047699986970e9d89f547a960ca6e3882cff5e8fa55fd59862cfe87d670bb -KO = 319c70f07488d948186a4f04660f7abb - -COUNT=4 -L = 128 -KI = 17aa27df5cf5bc6a4fe1ecc099a34dbad0bfe51b601de6ed4234b915b9982428 -FixedInputDataByteLen = 60 -FixedInputData = 941d54a3dc73a3d3fe26a61c8fdaeaf91954620e2da59bfaaddb30e41e778768d6f925a030702fc89143f9d81ca2208bd1a4257643d44ba70e9dca5b -KO = 06ec5356a6b3088b71999644509a7143 - -COUNT=5 -L = 128 -KI = 7985e679e6f95f2531f4a979d27da2d026d6dd4f41f7b902d8035929855aa11c -FixedInputDataByteLen = 60 -FixedInputData = c03c9426a71e7b1fd86d84e337eecdc010bce6d0b69826bbf45a19a751bf0fd7b72099ee9f74cfa25893346f06e9cdc6eed6b53b3cc3b1038506afe3 -KO = 4ac22ab30aca63825ccded0f7ceae5d0 - -COUNT=6 -L = 128 -KI = b2d4b77bf009a195feaa226d55e4d432d80123d292eba73da4054efe412501b5 -FixedInputDataByteLen = 60 -FixedInputData = 0613fc8003049d711c4761e8ccad8410bd547dc20e2641c0a917d15a9d909348eb4655bbc94d8119376bcc3e32546a21671b21f5eed59049f7f50a84 -KO = 0142629771a803750be05c656de634ce - -COUNT=7 -L = 128 -KI = 22b5da3dbe467c3ab75f28955466c38784f64f2d63af48a50e93d80248401e23 -FixedInputDataByteLen = 60 -FixedInputData = 79a9bcd8266aa2cabe163b16b98be207d5ba180f8fab01383e2d3a756ae61c0931cc1d8c5bf22e9a9a1502affc7776ad5fc7d1a204e2eeb1f3493a68 -KO = ee89876068060cb37021a2f987e00ff7 - -COUNT=8 -L = 128 -KI = b78163bf7a7d0f817c9b9aa41363229f4ef51a555d3f62770e6b1a348f379e06 -FixedInputDataByteLen = 60 -FixedInputData = 5a74626cad30e9e0ff5ce68a9fb5edbc5be98fc9e1a76e0c6b0c50ba7a73e1e3cc7dcca9a05c728e3c96161d064237d485ecdac971ee789bd50e8800 -KO = c0992005e57567deba07ed59243c012c - -COUNT=9 -L = 128 -KI = 6b18b18822e90edf8c0310b7bb136fad5534508fd615c893801368de2eea5388 -FixedInputDataByteLen = 60 -FixedInputData = 46768e8e78d22b651d1e2464462d84963113d72b58b8f1ad53ae00c986c9407847aec2c93d1d1cd21263488116bc4b1d9e0cebb421a9db6fcc323754 -KO = 37ae1b6dcad218adf33c0e71baf72c6b - -COUNT=10 -L = 512 -KI = a72536e76a43061ed6a0053f2bd238c5eb52786de7ef5f5ca6e2bf3e16728db8 -FixedInputDataByteLen = 60 -FixedInputData = a6acc2ac8aee58737f865c6d073b6d008b3338aca6ad95858e57141c1e62626acf5efaee0a6d6fa6f7e89f4ce08b1d0bca9e144a1d205d1158e1e419 -KO = 0eedc0c3e08b8b490201e8800f841f1b2ecadbe900d2fc41e9b7ea7afa9ed34ef14bf36d39718a8327fe0ff7dfdd619895285248a64d6657d6554e07db318adc - -COUNT=11 -L = 512 -KI = 26e1be4c1be5152479561a9003518f215fb1e05cb345572b6133868e3ec964a1 -FixedInputDataByteLen = 60 -FixedInputData = 642163f937d27a67d9b45b423fa1a35fc2c5fd2c495feddf3addb25018a034f0abdb8bf26d9964e6dfb06a1b73b75d584786fc6d96ebb931cf6f27c4 -KO = 08857a14d7108ba80c24db597d13c5c19d78c14adf0774568ed69a64c5a3c646fc44c4d9ec7d6f6526ff0b67c135dc0670bcb77efc964e9beb9f26b696f41691 - -COUNT=12 -L = 512 -KI = e143690a9b2a49b5383b7839425269a95fc38f96efdeb1e50117cc2aa7140cad -FixedInputDataByteLen = 60 -FixedInputData = 445ebe4014baab6c6be92437238c1d3cf94c6d77699c1461b2bb3f72fb6789811f710146c3b415cf921b564eeacd9a2d5df283864aa1c9aafd0f4831 -KO = 3b17777e45645325fca1586c9775e1ccbd4974e031eddea42e29e179c75d295b9cfe067b8ac4acc1c112b2448dc743dd18cc5bd80877fdf032a01de974d1bcc5 - -COUNT=13 -L = 512 -KI = c896574dd74975f2f510635e53177692fb368a3dbc26fa78eddc0c3718f4edd0 -FixedInputDataByteLen = 60 -FixedInputData = a388b295788265e2ff0829488a80d55650f0d5e6ff31669b7920c9f47067b995578dc4816ca7bf44a6ef2400e7eaf346bc880ba8e172129755baf06e -KO = e1d5afe617a5735a7b1816af53717cf14f056c05b330baa98f2b7c41a130f96bd05b9794c0692fc69130a708fbef30e16cc5180a267cde831702f685be7db158 - -COUNT=14 -L = 512 -KI = 86c2b22dbf6d31766ac17a0baafa9d00c8b571379f9959e30fe477a26bb5f159 -FixedInputDataByteLen = 60 -FixedInputData = f912ea59a6f4ced73bfa42a1fb76084704bf12e87414ba1ace7d074a380604c9b66ecfe99188018fbc8435ef1cdc80426fbf320f02bb1332a1335ebb -KO = 521f960e2b878a78733928acb17c9c9e09c629f38a94ff5501faa3f94c2219a95cef9d08ec2c091ef5dae5eaad3f1b1c6c7e4e25fd4db50fdd0f31ddf241dfdc - -COUNT=15 -L = 512 -KI = c20f8f0b9fce7bdb1b0c32c524708af33d437d28237421cc121cb752cb5f7c4f -FixedInputDataByteLen = 60 -FixedInputData = 4ba689e32f4acb69723c78ab44a3b79455a67db8f11b92e184c2406332e8bb89efd7a80826180b5cc214c01989c9403146f4d5cfc803471ada480b7a -KO = 13d0441d4de618abf343e5bb9beabd11ddde45718f84502656e7abbeeac679e1a9bbef4d9c91e13a88f26b77adf2c46d96707570395157ea5b39e256b953e6d0 - -COUNT=16 -L = 512 -KI = 2679f775185e8e5334bfe94a0e3d517d029b4820a6ae97edcbe0097beccf74b5 -FixedInputDataByteLen = 60 -FixedInputData = c0cd199918b4b814eca30513abe2acc8017c7726c07bbaaeda171818707227f3cc3210dcb6d12be4e8e18dce773d9ec363d6909fc1ca010764adacf1 -KO = fe0dc6459dbc71ed19b3252a7ab3c6ec4660d373cfca7f43b3d3eb409667c96418caec57c734000f69891d25dd877df441051f2f465cddb4659d457c9f33c043 - -COUNT=17 -L = 512 -KI = b82c45bc8e9093d8c1ab0a8f8c24daaecc9e3271fc961136ce41a5c9515dc678 -FixedInputDataByteLen = 60 -FixedInputData = cd5bd576af0c27f1cbd7c1cf591514eec2ab1ebbbe664612260b074d7176011d6614976d2b900f0607c8951e7fb612ce9ba55de678e2f1891080de00 -KO = b4b29e3b594071678667478799a87bb4682feac416c5dee94d485fcecbc74b8ae14e70235a00f3268a6f90882f04ea6006287e20151469ecbcf5e4c8c91e1332 - -COUNT=18 -L = 512 -KI = 58693cc30d4d4a00fe470da06d11696fec707b438c25e9119c88e1c62ef8f2d4 -FixedInputDataByteLen = 60 -FixedInputData = e80b393a6fce11c73b990c4338c1f33123be54093019b610559b6f40578e020a11611e253d84d3c0cf38d22eb462c54ae99b30399070bf66268e1e49 -KO = b386e7570a2e4f0497d6b3f0d1ea651184f35637a76223366a1911da46f3eb477096c29e63b994fc585916ab4dd973d7797acb937f8ade42e7df29e6c2c603ff - -COUNT=19 -L = 512 -KI = a38e98b1f380268e64840a69246e5e142a94c9062affab1a583b8e220fb25302 -FixedInputDataByteLen = 60 -FixedInputData = 963468478e8f8e59efa5b04344ab10fb9c6e230a86a9d2f52a8ebdb604123c044344ba7d3df2f20254cbe0edcf5f6e9200ff087b117ac0cb8677c1cf -KO = 399715b0e61d5e05459f011dbb38de27da7bc9c95e1fa9c994508ee1195ffdec0c30fef4c427766f312e514b12c1825649746572778c9104378730f33843dd17 - -COUNT=20 -L = 160 -KI = 33f0cc129b78e42d06bfa9b4bb82c34dde68df8ba9ad49837a6a1c9b9d74f452 -FixedInputDataByteLen = 60 -FixedInputData = 21a02be9a8d4db917d3ebe3996596a614a85e1eb296f113ef4fad8cd6eee382f0d4e7c672b55e4e3cffd4d57b4054a0d359039e79086419ea6f9c9a5 -KO = 565d8d6af1faea22e69249b3839952d4e826cce1 - -COUNT=21 -L = 160 -KI = 3a53d0d97678a57ce984c5c1a610a115475d361e8d081846c59dce271f8eafbf -FixedInputDataByteLen = 60 -FixedInputData = 390df4e34ac9a599fb3181fc911073dcc07f05b52a1cb326301ca4f9b05cd6b22eca7781c3a9fe208356f08c9c11db61530b0090485f97c76585ba9b -KO = 93375766dec9bd43b094b450b3836677c142ecbc - -COUNT=22 -L = 160 -KI = 7d2c3d68d264dea04ecba5c5b1d757e04b324894caf83d8f684c5589ca011481 -FixedInputDataByteLen = 60 -FixedInputData = 7c68606cbf8f937048c908c93376ce7bc364b335c2809eee6885559da9f4a29142ba22b8fda9ae13a09ea9c1e41b4bf9a33c3a8ff640cd67f2cfcebf -KO = 3bdef62a2f74a5a689b3d17d559556acf311b740 - -COUNT=23 -L = 160 -KI = 86ea1b9a4e2f238037679b5b3e27542001f703a33a7f673d6efed785c3d6f4bc -FixedInputDataByteLen = 60 -FixedInputData = cde4d03603339d47be72a6a571e80c3b770223024d3f40b40704231df0da4ec05b37b75bd207bb67862f522d0efc8685fa919d6baa4176d37a5c5608 -KO = 67d1e4cc3c66165c0139dace5fadaedcd3db923f - -COUNT=24 -L = 160 -KI = df0cf94d61bcd78921eceff5cfcded99c9508a4e178d12d5d21ca4e5863e8b67 -FixedInputDataByteLen = 60 -FixedInputData = ee91d7a144fdd0df16a71db4208870a92f8fcd9393f472e126dde6497aeb00998e6b0863d0ff6e7fb6d704e9f981013122019dd45221ea5f5778110e -KO = 180a49470d849713aa9923f7eed24b53b56ec18d - -COUNT=25 -L = 160 -KI = 468a395eff3e37a70d68a11374991531ba3f5ea515eb1fcb82faa11db244b583 -FixedInputDataByteLen = 60 -FixedInputData = 7599f0b0b106386fa73b71efaa4c0295565a4b905557da7f3ec6c3092bfc411bd8247554de2e5fa521ec37324e2536371997ba926e96cb7e36432876 -KO = 4d25a60bfeddae376751ec7a52b63ceada290d96 - -COUNT=26 -L = 160 -KI = aa922623d09a6c50cb8992a3f13e2d56b220a90cdfd3663aae2c2f682c9f9a33 -FixedInputDataByteLen = 60 -FixedInputData = b31a62fd5ae58328d48e1018b4cd3edc7d92f740db74a5366bc49e2cf79391caef3d0b68b659af0fcc0af8029cbf2c49d9dec333225d987a8aede4a3 -KO = a6252294d76e9dbbb05452203ecc2d2d0e3bb47a - -COUNT=27 -L = 160 -KI = e1b4c09459abaf4d0fc62cb1af41fb9847bf61042b9361249f62e4b584983e30 -FixedInputDataByteLen = 60 -FixedInputData = a7801131503684e098b6fbc9d6dcfa73998c7c4694b029738721584c4db9d8b1a0d2241f6349385223f43abe04546a66837f09697413b88ba008dac5 -KO = 5470492ee041fd4a9dbd0860a504b4c6161a4932 - -COUNT=28 -L = 160 -KI = 74da827abf17b42d3a05017a6eaaadfd40d5158f20a805fbf9e6827e59124f5b -FixedInputDataByteLen = 60 -FixedInputData = 4439e1850a1de1e5fc962b87ee10dd9148ecdfce6f9e4eb7c7b12fb39e40890be449fd31156a1cf19a24fbb44420a5aeae6c14b9ef733c00a87abbc3 -KO = 043e22ccefd16d8a4bc1a2b4e997fbc28dceeddb - -COUNT=29 -L = 160 -KI = 2f242f0c84a4d54c7a60d7c343fa4cbada5d1890fd2ac6d656f0935ac37aef7c -FixedInputDataByteLen = 60 -FixedInputData = 08421c03772ad918dab1eda7ec9a30659c573cb292932ad0929b6579af6fd4201a17d8a11261af510aaa56d0472fd77303c0ad1618d8903a58e6cae3 -KO = 519c1f69fdc9bcd792b0b83bd35fa88e6c508b85 - -COUNT=30 -L = 560 -KI = 126e03a2ba998deec2d42f57fcc556f7b3b66691256c7158b35504e8080017a3 -FixedInputDataByteLen = 60 -FixedInputData = 4272f930329727255b667f297d6e511b79914e9b6a8f6a27d1a91284bbe4543273f767f7e534803c06150295afcec2f451938eb1fa10bf11990519fb -KO = 0f602705aadcd8fd0290d9be8e5b641f7cfee9d8dd5d7c63d7ebbffaca8e60b150d5bf3b038a61536bce58704eeb9dc6d44896cab6f764e6ed3de5ce6d60a771e0221e324072 - -COUNT=31 -L = 560 -KI = 1995ad5b84d8aeb850b9111f718c781f47ca089195e110d6a0d1256481989e71 -FixedInputDataByteLen = 60 -FixedInputData = 6a23b9a0c9c8b2e51a6770f767ab09656f7ce55f7a9021d207313e119d50e2116e0d2589f1d1b5364fa7018184e2566e28f5ce8112c24f44612f8b54 -KO = feb9ba40017e82563a16416095bb5df63174214890aa559f5f25e1563524a83ba7803903d81eb2b7c9a83780ab1705989daecfca2841e32cf66e66a8c369073de37cee50fcf8 - -COUNT=32 -L = 560 -KI = 60221b1a5d50e2679773b9a72d365345546da584a36815bcb8da748a38225fbb -FixedInputDataByteLen = 60 -FixedInputData = e19d48583ac8f1dfa5b151aa61c64a42807a0f75dee770c05ee9c21a1bdb74a81c10a80489438ca22eff64872c72979b14f91c518cddddb99f2ac5cf -KO = d44db57fd5bbaeeddf49014edc843c2b965238c0c4c3905b2cf4f8371df4bc9040a6574cbf3f11702b1b7a98dc739a6070168af3293b58aae2da2bbb95a3f4cdc0efbf140017 - -COUNT=33 -L = 560 -KI = 073dbfa4e787de47e6aea5e213ceb108affea34487dfbc80fcf7e9f04506e787 -FixedInputDataByteLen = 60 -FixedInputData = 4065fe444b2e6678a3db9d673de9265ca93d2d9a9a5843268154dd30f544a546577756eafa7c3104761e231fc1b6cbd1c20272d9c47b3eaf08102140 -KO = 54a5e009197af6bb66a15427a4aa6873e63dece98c99c47debe92a4b157ae2fbcf74814ae71aeed6c06a019bd194255172ad2498064823cb81cf5c1a38392d369cef9daeaff5 - -COUNT=34 -L = 560 -KI = 160b420426de3c2e6e393180d89cfed3cfbf9878e95914efd7d702b4015ababc -FixedInputDataByteLen = 60 -FixedInputData = 7bbe2e579207867db2e113c6979fb69ba75ef77d6c5e6328e1fe7bc95a79619636b7a70b0d717573c132677ee6cd32d75a79b4204422216402f60f6e -KO = ef73d219a79233e44ce6dc78fc1e3880edccd6849cf0aa9c733e4a846e6d73b287037af4c2fe223610b01be7fb667dfa1e3647ce8af743dbc391b63bb1aaac7a1d8c988a7029 - -COUNT=35 -L = 560 -KI = 0621fc6036843c5ffe3e8ccadbe234bed1f9d29c983e5acd956e71c7ca85540c -FixedInputDataByteLen = 60 -FixedInputData = 681758ae2831ae9067090de931ff6ba957ba2c67419f2b0f7c8851323d9ebe221d9540c752ccd09f549779b73e3310b78816c0ae0d0bcb25303f4902 -KO = 56be20391bb2d8568151d2c97a6f7b277a860c8121b5d0ee29885dd7d7763c1c8b87c6be6dda3e87cfd52932b59d9fd28dd85d35c3c8e667426d85cde1c3605960ae5443f78d - -COUNT=36 -L = 560 -KI = e43f5e92d97b895f4845e0d58bf1ba9a531608fc2737e2c3a8a988c22f7f2777 -FixedInputDataByteLen = 60 -FixedInputData = 2fa9874c031100ab9acd49bca6147e6fc8d2087203b16dfe440723352db4b0c2c2a8e5777e48c6f53bfe77368d25057846bb31321b61641427c7bf8a -KO = a8dff0acc86745b5c264163caae42a3dc80f20decf7605b3347e97d231b26233aab1e0a09e9a1fbab045f4e660ed47efaf5002974f836f98d6e90e0776ddb0a23c99b318b2b7 - -COUNT=37 -L = 560 -KI = 4e021798c8436dab4418b1c112822a27c47b91b1bbf04c338962047cb0d7063a -FixedInputDataByteLen = 60 -FixedInputData = 8ee8ebbf8321120929f5f6f46f0bf592c615e677a9a9136a702df2d5df1ff92fd2decb72c71b32b870dc6bc92069376b224059889e49f4d533701662 -KO = 0e138974e07e59eb43f6c54c06abdcaa03fff53a298955a76ee767bc9311e08b6d0b9e063fbf2077e59ea3257ee8c7404aac9787004db7bcafaef511f435aa4e535b0f2e1290 - -COUNT=38 -L = 560 -KI = adfbc32c69a51c36a80eddeb5e087181d4b1bff92ebd3e1ef1e45dbc2a0bb234 -FixedInputDataByteLen = 60 -FixedInputData = 507be35937b2073c90097de5ea8caf00d015a6ad6a48f3c4d606d9d1baa41e676b06d32cf3d2767b9e1c277937085b982eb2c16debb1a50fae0f6e45 -KO = a5ece3f0fedaa4e46462af9a37a348894b3a7167a5fe6ec5d3b67218e0b830969518ec45dc412aae35e27ca775b8306e2b03137f98e9c7cc63b62b6627934209d192824b034b - -COUNT=39 -L = 560 -KI = 90910640a3066b946cfa189411fc652f2b91d3fcd9bd20228457a7779a7d4db2 -FixedInputDataByteLen = 60 -FixedInputData = a24f9375ba2aee43f7e059c201ba3655f7fbee8b17e2c6e744573df192a65e9385917f313590dc75802942e7b73607b55a43a205c6169ca082067efe -KO = a27be3c94bb613a846e3cca935f25ce90830b7ae659e0771e3ddfb2dfa3e9e27b9a8be1d88644a9d32ca1195f944c71363ca12c56229e3028567bcce0203cbf7af4be5a6bf5b - - - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = d484a68d2b6679b31c6ed4a2d83680498373edc0f59803d9d625d12d1d32acfe -FixedInputDataByteLen = 60 -FixedInputData = 8fda93bade49e6c1317c7883a6d4b0abfb33270d8d4197a183f8cd25c99cde2e4663dff2470d75f5c096ef2cb435d3bbc44c7801da77a76fd8c3e8ce -KO = a268d5f4ef5e738dd1608e8d0ee74be0 - -COUNT=1 -L = 128 -KI = fba7b0266d377dce2082a28598ad4e3374a90c4ae3fa8e256cc15d23b2f10916 -FixedInputDataByteLen = 60 -FixedInputData = 5938b6e5c1b1dea6bf3418d5fc3ebfcdf510603ce3543072b9be9bc83066d362b8d4defc01e9c812ff70b999198f6b7f01936915640a689d9668f7c8 -KO = baf8d25756fe8b0c31816067da3cec86 - -COUNT=2 -L = 128 -KI = 3caa69c6080bfad2952acaa19f9f927e267b26a58ad3c7205cdf62662cad4ad7 -FixedInputDataByteLen = 60 -FixedInputData = c495c76bf8b4a34243f208b6d3d69cbc8034cd4e31b9096668f10d3243de499ae252c8774313591975f995e42ac3b90ea77b833163efc0ddc714645c -KO = 9c7dd177b823d11292eb633a38ce89c4 - -COUNT=3 -L = 128 -KI = 37ddb8fa551d947da8e7478a848cd0dbfe12df3de8862d6c61fad5c0e8617fd5 -FixedInputDataByteLen = 60 -FixedInputData = 7d9923da96e9733fe465c4eeaabaf8364fbf768c6d5b532a2fb1ef38e308f188d07335e9ee585987981a0f322f7e8344d9a0da2d4a1b9a3dfa6a22f6 -KO = 81990f8f217a6cb14f76eea029e0e629 - -COUNT=4 -L = 128 -KI = 3601dc7a84711afb7529db5aa5a394f051843353d7ac18074dcd936ab99e4762 -FixedInputDataByteLen = 60 -FixedInputData = 715a01de044e9eb0ff35b55f262976e1a4c9bd80c86cf1dcf3932732161cff214078895794c52b0cc02b902cb2b888c2a8ab32b51d5647171ad73a55 -KO = d290ed1c10e7b8e2e9f12b0b248b9268 - -COUNT=5 -L = 128 -KI = 2847c51770e24b70f2ae635c4841d9d096f5fe615228e22d2498d3d7e306ed5b -FixedInputDataByteLen = 60 -FixedInputData = b4974bc85e11a8ff658e2b82ba56d4424d2e983e7be93c6f33d4f64e5002bbd7806b1eeb2d87f121dbf457a2bfd6b3c6f203a4549021e3d66ea75d47 -KO = f691b6c798e75543e74e9333d2e0dcce - -COUNT=6 -L = 128 -KI = 4c3f7517c5aff6a57e4ed439f9ccd7c806e28badbc7dc6a28a901ffc693c62c1 -FixedInputDataByteLen = 60 -FixedInputData = ac81b743e13287050be510a64212e6d59302ec0859397cde0de74b4f678494734c5ea412de70463404ecf09c88915dc537c71ba9321b0bd6d7ac5bae -KO = 6d30e3c2931759484e812cae7d1fa1e0 - -COUNT=7 -L = 128 -KI = fb61c6a5ada833a63885fcf2f14b44a7be62ae2dfadcc7e5020e7bfff991a4ed -FixedInputDataByteLen = 60 -FixedInputData = 81f08bdc817d760307f0f344a73a8378d319989d585f126162603f2bb266cb8b5c86089981e6af38d4141e8f12fdae1563e1f0c905f9614545cccae3 -KO = 984bd18018cced5018381759207f8f15 - -COUNT=8 -L = 128 -KI = d678c712000bfd29ce86678d4678aba70780e8dac2b1190efb2c72ac37a67e0e -FixedInputDataByteLen = 60 -FixedInputData = 868309e988c8c87d1723f6cadb41b037c669016b2fbfd16ba2559dcd3bda87ea0e3a3685629f432bf21d2c7b10a113a8382a34bb0309f67c4733f417 -KO = 7ca453236b681ae3f50cce2ec2926abe - -COUNT=9 -L = 128 -KI = 7471bb2ab9039333870f96964793204d882dd409976610bfa01fd3f3abc44f97 -FixedInputDataByteLen = 60 -FixedInputData = 3ebafa76fcd3b39860736a0261f52831d516e8bc2e9ee7a75c168cd126e4e9ca21ee0cdf2bf42cdd1b062aa1553ee6c37c6b0a5870e1de5d5b10958f -KO = ed95e892efc9f90b5761a256abcd6dbd - -COUNT=10 -L = 512 -KI = 8857a79a6463b600e98293ae7e15f3e0ed785ea78c53aecd04cb15db44b8d3de -FixedInputDataByteLen = 60 -FixedInputData = 5d6d90bb1a34b5b2abaa0c5824be5c6633b6474ff8d07db950a3e806da2320930fdb944f627ee1aa50ed4c45124260f36ef6cb489ed0077f9a48339f -KO = b8e53f6e002a1a487315dca60436bbcfd9f0374940b5b6b2655bca34bdd1d8679b5a7f1490eec060e51552102aae0dbb2eb48963159ac58c7959bde12634e82a - -COUNT=11 -L = 512 -KI = b5e90a076c356ca070f0523afc7202154675c0f91ba58aadd390c4368a97922d -FixedInputDataByteLen = 60 -FixedInputData = dce5ca749387a46c18b2f972838df73f6ef6fdad9b1066571bfe90d9cb2d587fc778c6e64a571a07a6404d2bb64296bd5571415212e7d6572a16907e -KO = 7cb33ca8df70350e1b4e9c9e4e931389b5bb3137f22945ccb18f816dd849619a4e93b6bbef1ad0b8f507d922145fe32178c057f3183d1967270c362752ab47ba - -COUNT=12 -L = 512 -KI = ee42d21078f7a321e4ecb892c91c1894bdd722e254aa93d1dd2cf97b2610a996 -FixedInputDataByteLen = 60 -FixedInputData = b3cfaac893a21a38c1557151419d0972aece914acc344fb1f53cc365457c3b478ec06bfe2c59d968efc837a1c9555f6fb723641064df50db6a762057 -KO = 044eaccff0ae862be9de0a2bf6035e51ac9ba179645ebd180421c09a909bfbdfa6cc0c513ac681cfa35d79a700bff90de17480212a26091fd287daea5abecfac - -COUNT=13 -L = 512 -KI = 2a5374c3e49f2167185cb55da4a111fdaf832fd886216aeb58431ab7e6e3eb1f -FixedInputDataByteLen = 60 -FixedInputData = 41645f866225ee85c88af21f671793fc8e3c8a4b46c48e9d43f3124ff4b20b23698e787d62e0843155d6f5f62d446b7974b0fd8f6b5da24ef34ae87a -KO = fa1fb8ee930be7ba56b4ec491f0572d8cce53b2ff4ef915e771b326e4f2001dec86d06f44a919770d27d5591282a46253f3cf408f5d25edceb40ef457a9429ca - -COUNT=14 -L = 512 -KI = 1c8321a5a9114df7583a1ac5f00978611a81c187b22468afbdbc3dd00bcf716f -FixedInputDataByteLen = 60 -FixedInputData = 9a135649ee705110d7d78ce0eeacdd0b4df80eaa3afe8ae0d40a63c9da7f7af49bc1fe7ac553ec64a2bbe9f41d2fd43c737e9de4f373dfc8e9c8ba92 -KO = 76e9a0627a5a9517f4a6ceda2a40e8dc423e26ef25c365b9283c8340a7ab0f975cd67dfa41f6de103fb6e019c9cdcc021afb1261cea88eb2f5624bd18f9b166d - -COUNT=15 -L = 512 -KI = 570c3518866144b52dfa18cde4758528d255b4a38ff8f1918bd6144783ed4f0a -FixedInputDataByteLen = 60 -FixedInputData = 2e343bb42907f50b265977071efbb0da3df14350d6ec9e09e54b4365df88ded630031e0afb5f1642df34a1581517c933b37c8e89f77077f3bb0b6d55 -KO = af6ddf4547c3c7596e6a204a33f98d90c63db25f80b1ac31c5dd10b91288f835a08ec6a6619190ddd2871770995dd7d5dc1ba69a3cde9badc6cb2efdfcc6a324 - -COUNT=16 -L = 512 -KI = 2557e632ccf0f41cdfdefc7edb317d102e95bfdbeefded7eb7bbbec31cbd3ffa -FixedInputDataByteLen = 60 -FixedInputData = 5c9ccb059d4743f203f9f3152b177a0abbc3ea6979e1554b02065e507427e38be37eb4d91a2511a94e59d58e20339cc57f74c637054fda7f39f40354 -KO = f0c8a23f57e2182c80b1946c8edcfc3354878fa10071879e6fb8378851d5f6db7563e893559a1259190a9cd35307e8805941a0bae0669487907f9ffe1e8cb5a2 - -COUNT=17 -L = 512 -KI = 77281714f01b0ce4d398ef98d43b2f6187dc179cdd4251078390d4b321e24a3f -FixedInputDataByteLen = 60 -FixedInputData = 13531ead5dd572255749cba42c4bf21fa1d1ea1d03e168effdb0833d45cd4a2025a4a8c4dcdd6710db98a49fc8a3e4a2e97abfdd071db1332ccaa413 -KO = a9f67c503ad576689492e871f41dd17aea51909a3e755e6bcab53bd48643ee3704869066dd3bc411c22e926cb216e0b063f8fafbd0cdda25118f95ae3138d98a - -COUNT=18 -L = 512 -KI = e43399d4dc140c983ba7b3043f68996f2b3e5fc16742dd73f441e57e8779addf -FixedInputDataByteLen = 60 -FixedInputData = ddc6daf926636729758af18f72f374c0b6a4e79117f5caa2ebbb44a566444ce9cdb3c1aa910932b1576aacefc69a078353efb6828ff6d2d5a73606e8 -KO = 4549efea0009f88f49a1ec47b65b9bef8a72ef27b7d2a6cd4e351e3bf61e2df2222555ef835e03d0c8ebb58b3715da9a4c1e3a386cafa1fd59ec1a2d828818f3 - -COUNT=19 -L = 512 -KI = eebcd6ff49ccce3a09ea4bb0c8a8aaa2d1f4af3dc79cc619a0d19fc66624721b -FixedInputDataByteLen = 60 -FixedInputData = 32ef1be3dd2f338e5a39315e7f877147853d652f53f23f0cdb06a312803af93946cc009c3e99bff675ef5d33bd9601ed2fdbfdf627d1d3811e7edc2d -KO = 26e750ceb0583df5a8fbe80e7e73d9aa7c32e7b3f96205bf02d6b9284500b1c9ee6b8e9e88e959d96d1c4afde283926e73fd91ea0ba5bcf54d39802771496acf - -COUNT=20 -L = 160 -KI = 7cf60ff2bc4400af81f6b9382ec39756fcedb6a475427fed6285ba6e98b42fdb -FixedInputDataByteLen = 60 -FixedInputData = 4404b487cbe21a51e98db12e0e6787b492affe3f95871f6466ee274dcd88f49bbd92d8176c3a1d1c461b2f2bb5d24457a17c065fd7c0791fd1aa9e42 -KO = a0f3420b2e00012c2fb695d4119e45ea5e0cd314 - -COUNT=21 -L = 160 -KI = 1efd2b8005f23bd91f76a6acf5820588cd31b52c5187bcd35c77d85be6822dce -FixedInputDataByteLen = 60 -FixedInputData = ff0adc253d17c4dbe886679d190d3f9671e67226713035e566eae7b5edd80e947ce704cd130f163f1d77f1a8f6a37e54142c444bbb84d2086018dbae -KO = e758d9b93968450bf15cabd1bffbe7fb8545a75a - -COUNT=22 -L = 160 -KI = d4567a17e9477c3f9ac160c0ec8ea7e8d3042a27793bf3db4c51a725a12fa22a -FixedInputDataByteLen = 60 -FixedInputData = ea8c51c3ff2d4f05f0b4675a08c3767e442620975a059dfa665336c012973d5a6c3cd028490a26bdddd6e4adf9fee90fdb9927679f552b08dcb6fd25 -KO = 3dae0860de3102cb389c5837a71d95123e48246e - -COUNT=23 -L = 160 -KI = 866a017cd7d0eed4929147fd966a7b4bc4e9faeb6608ddbd5bd483d8eed16843 -FixedInputDataByteLen = 60 -FixedInputData = e60ce2855d8268ae0d88b99477f2bf0f4a41fb5b85c7f9b3b331ac9360469c82733aeb3167464729fb92d103ced57d1d36b1d9e7174da08b93b0fc84 -KO = 281fa93a37a83802c864f85d3284e5f1b52bdb32 - -COUNT=24 -L = 160 -KI = 40bf08cd256fb83dafa5b4ec5a4e26e8cd5814ba4b3d8c199ad2ecd6e35f37e6 -FixedInputDataByteLen = 60 -FixedInputData = 171f54bb4532e4660b5cc2a03db8d9f41fd7400cc1496d6cd079f731d329da8f372b5bf1cec2bee7970440b8c2b7c3d939a83130c7330fa06dae622b -KO = 899084a9d13b4c52ba6d56e0e1ff849302985974 - -COUNT=25 -L = 160 -KI = 4c78213db4701cf4cd1416a8436e574a939f24fbe4a5e59148a85d98e63892a7 -FixedInputDataByteLen = 60 -FixedInputData = 20c7a6424848c54ea6602bbb292ecbcb265ff243ae2136b119170b1a58375a753a750f937648a9f4b510b7a580986d537470abea28ba97818caefe7f -KO = f7090ebc34bdf8889fe4994f7e3dfe64e1001ee2 - -COUNT=26 -L = 160 -KI = 4bf78117c2179e41ec4abb8dd15c881b4936d9eb7642c9c109e82331a0749e35 -FixedInputDataByteLen = 60 -FixedInputData = 5c9d611ac5f4faefeab88c232ba782767ca869219d55b2f092dfb5988963c692320e627324b9614cb08f2f9acc7a901e2e7c7ed3a9678f1c3a9e03be -KO = 232364cbdde039de89909167cfffe0de91913e75 - -COUNT=27 -L = 160 -KI = 948065a969c844f5ac2ea97008afee61d576722447191e18b46502c8363841ee -FixedInputDataByteLen = 60 -FixedInputData = 52827fb8b96ba588858933544ec0eeb2e65075fdde468bac706c05caa699fec6eb122f1b283b827fa9413657760ee586cb38b01edb99c427440661ea -KO = 0f1ddb8438bbe2bb34f6aa94997ba251b4cd8e2a - -COUNT=28 -L = 160 -KI = 51090bc0ddac13db78d7afac9e05ee95d0da63dedd0102cc50de8729ebc873e3 -FixedInputDataByteLen = 60 -FixedInputData = 4347fd4537617d34ddb6a3a25bc2e6c7c4715075f102592423ea04a565ecae450afeae5cd76403600239144d3adc4cc199303cb6857e0bcf8e5b4a15 -KO = c2282fa88427352ea732cc71a4269138cfe84488 - -COUNT=29 -L = 160 -KI = be1bd0851747d47ad0802286efd3ea2c261d650fc48a8052f247c389554ed081 -FixedInputDataByteLen = 60 -FixedInputData = 43b04fc00f8a5d7ffc6f2ae42cafed25ca1f243953fea38a55ec1f4c375f9eab2348c9367d533a643457d002b02bdba0ba990cb7c20f260efe3f221f -KO = e14fa6fb0bc27fbd6c0dfb9ef44a57ef8cfda8f5 - -COUNT=30 -L = 560 -KI = e417d642085ec9f732ce6fa2eadea4da812ff336deccd121be9fccc11e87c7d7 -FixedInputDataByteLen = 60 -FixedInputData = 4b7033bac7481e32614eba2fa49bc1a34949a5ec976bfd5c140e20d39cf0ceeca46c8228dcce822f674688ee1b0776caee0844c96bb8680c74b3782e -KO = fc7f69b4ae084ea74463d28a89f11df004c83ed4617fbc8d7d3e61b450a2dde30c52698fb79e4da9c57b45ad59dca7e68f9fcffe6706ba620c14945705355ec97dc23218bc05 - -COUNT=31 -L = 560 -KI = a2c0e6c27b11cf405e6c76606f1e3f861fb8a9c20a1f95f7d93ead018b2dba6d -FixedInputDataByteLen = 60 -FixedInputData = ee0dcdd8d188f07178e74f64f32970659e956de373c8e5240ebc5085d96a5addf56e4b912cc5af2db2169455f051e6e2d94913e7cbc041957403d2ca -KO = a5ac30a956f7220bf5e88112d6aaef63ada21a68c700dea1ec28ab1e4e897caf0a709e4657191d1ea08c3b32c54b0323548277db19a7850d6812be29883b41e8dc8c65ff35d8 - -COUNT=32 -L = 560 -KI = 06b7e66f20115d1b520051c7387d9a9d63978c53e652fca6a9ae198895342f95 -FixedInputDataByteLen = 60 -FixedInputData = 6191e87905eb66c1efdc45d1dbbea7ee48be39dbfdf01ce1aee5d9985ed3485424f06bdc71dcddf19ddf8a7648861a5c1aaa51a65b84e6122ff221db -KO = e29b59d7a38975e3032494234770346d8fa107e2e19637f74da26f6ae207576989161024b22e3146b88e2c9001875066995b9beb21ec00186e58266837c7ddfccf6cf9970ab1 - -COUNT=33 -L = 560 -KI = a3c36a56c88cb2040955807dd0997abf7db54aaa6e3c0fe2e12a4ae9c47ee025 -FixedInputDataByteLen = 60 -FixedInputData = 7b581cd33a6a5d291b321e6ec66d977ccbc432e1c770bcca4fe3b979d0da91176d0938c9cc74cfb7cd37ad0ef726a4fcd640cbd32c92cbca44601ba5 -KO = 4cbe3eaa526ac01cf6169558f566ae683d86f9c5451cd8a174f757dbedf0c9a4f3f9cba4c465ab6070b2187ca12e79fae66892ff5982f63c01498f3ce4996673c5f5aa5e5241 - -COUNT=34 -L = 560 -KI = 742ed1c6ea2725cc55aa907880bba991c6e15d18ca06dc61fa07599837d87c2d -FixedInputDataByteLen = 60 -FixedInputData = c3fb58f87e62d43b5c2f6ddbd42ee3b78c3b26e8373f3860499b169afb2a8dbdc6d7c5fe9d6bbd1f559b44270ad44cd5eb902d3b0b56f87ad1035bc9 -KO = 445d57609403d2b7450ddfa80341dcaba90954f45fc82e34dfb2766bf18248310bb20a89b7652116a90b972dca2df9a61cadc24ef96c8cfddda7f2193e7295655851abc9a995 - -COUNT=35 -L = 560 -KI = ed401b91a5879f50fce53a5da9aeb74520234cc1cc74ad2b22555ec07dcf60e7 -FixedInputDataByteLen = 60 -FixedInputData = deb69ae08881fb4a7b1ae07c9f116a46ec7d4f08bb284d972adf5f13f6a5e1f22e266881afb2a51efb128ea451cbff16ba706d950db9b25bbf752717 -KO = a959f5cc9f29fb171e8f060d2433b18034ba2db6af6cbc9cb0ca25da1ef8915323fb5e42a1c3e43d3546584b8fa89b05cdfc68e8794a73a7153641f1e6545e3e8216096595a2 - -COUNT=36 -L = 560 -KI = 90f67f0cae62d7d16653d53f4a5795a67711d385c1f5997754b46328cae628d1 -FixedInputDataByteLen = 60 -FixedInputData = 33b1f543d79e5ffc42ff2853ba2f3864fdef31ab05e09e49aca9d696aca6ec8dc1117df83f6305dd14967ac341c24a25b92591c880eb4e7ab97bcf00 -KO = ba9bf1b41331b954fd8760c179ff5d3542f5d27fead197046f24d7f719b8be03dd138adde5524e37ec57bfac2351e1aa5d1bee3e6d1589bdb7b06b190272d212e8636f5e0d05 - -COUNT=37 -L = 560 -KI = a8826ec8fe73a267effd2ce76a99540ae7df61ef3840baf7721a22eadfbdd905 -FixedInputDataByteLen = 60 -FixedInputData = 88e77df70bdb73c2bd46bfbad3b1e6d86a75b04b7f22250bc89b90b995e6d2a456f3bfa37e0a53f21cf202d4190b9a7aba1cb9f580716142a5fc0c11 -KO = 464f550811c28edfe35de1d3f2c25080ea56ee5f567c6e1b080bfae14fae01c965516b3180d35b0c692fa3efb1ec36cbce9693a0a878ccd7f50f2189ee14cd0af2ae2083d86c - -COUNT=38 -L = 560 -KI = c5f2af90200a9574f9deccac4bf0ec99a3cb944b53ceea30b4f901cb71403df8 -FixedInputDataByteLen = 60 -FixedInputData = 1c9a8c9068401a6fd1bd93b9986b0156841a90a62df597bbfa1ae60b1f1d8512158397d02bb4670102efc7b615f73a29e4b66945edca8aaf783c8818 -KO = 2400574f887a630656ef22c5c7a2ad0ecdf21d006c3d8208379282ee517c0e35a93086be1d3e3e9c1d18711743a6d889f56f6aa75ef06400039c00179e9a3966c5c6a695a371 - -COUNT=39 -L = 560 -KI = 7975c8ef1edac7810dfce5c1fcbede5d3e1a8d3d351cb52083054674e2ecff40 -FixedInputDataByteLen = 60 -FixedInputData = d1945fbcb6118b93e46de225d0e25cd12afb4ff30f9f74f6f57cdaf9f5f5f86ce4dd828aed1570fd1659e69e6920e7029c010075dd3677f2991f92a2 -KO = b2005614364f9b68206710e0e262d250b068be50a98d78c1a1f003c5ded1757f81357cd5b079de54f3d755198c9709afc7f3472d6011bc9d6efc493902ea494bb2c9a00f763d - - - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 4432d48990f80a56676bce181581138d4836e16c7915017f6add7b6a3fd90a59 -FixedInputDataByteLen = 60 -FixedInputData = f32cb30c7bb4b28e8d9e86f825598f2682cb239001664f7f782fab2eb02f6b9bbc8ee0812b05f45f831a7f76818744aa19bd7e0a4ce75bff91c40d29 -KO = d058d805e5e8d1207db005f16489b739 - -COUNT=1 -L = 128 -KI = bcd2a6715dc1059157da0a58fab416c12cb3628b5536ba1ff755f08abe8dd26c -FixedInputDataByteLen = 60 -FixedInputData = a3afb71a1efb5b63b67ba521e9f5037ee1b58d11f68c4d6cca3b1ca23bcc09fe650eb1b7a13e08374a3c878945ab6e88265733b7a75e2e6f361e8829 -KO = e3f41702647216a2c12c726d507917e0 - -COUNT=2 -L = 128 -KI = 1918c1d849a8d95bca3912a88311cc20cc59689d090d591304a4976bd293229e -FixedInputDataByteLen = 60 -FixedInputData = 7718340b47c987b5d6fd21b6b746677a8306c1b5666266ae9bd596225498fb66e66e6e3136d6868d33437210cbf0889a8cc30641080b03ee9dcfb410 -KO = 28035a133687f033b5de25833788ebc6 - -COUNT=3 -L = 128 -KI = 07d4aa075fc0f53e5d302606e6f0ebac9baaa177767762941da97bbd4f1220c9 -FixedInputDataByteLen = 60 -FixedInputData = 44a3a08d7b0d809ef884685a327e2d852f3246464cd7f2eaa42eb5e94924eb6e02d37cb9eb2dc76146ac6e4bd000eddd0443da9635fd49a5794905a6 -KO = f4bca0f8bf77cc6202e255377ba8401d - -COUNT=4 -L = 128 -KI = 22f551cdfe2c16c9aebbe863e3e3d414a942bc1c90017c6e241dfaa38fbc489e -FixedInputDataByteLen = 60 -FixedInputData = 18e50b5c6f18d25831abe6f536fb64bb8079764fdccb8065baa5a3480acbb02f9f34aec539249973216961ab36e23465287728a00e098a9e80e1035c -KO = 56436d325cd010b0eee4b7a17ebba23a - -COUNT=5 -L = 128 -KI = d9dee35137be4dc2151fd3fc1e73fd6c47500acd88875f1867e40a61f00b7c4c -FixedInputDataByteLen = 60 -FixedInputData = ddc17547106494e87debf50ef10974c9e359c23aaacf1b42c798c0dd92377849fb7995b5503f3e6676702a822833a231907120099b7dcf4767ec17d7 -KO = 168f774d4ddb9ef7d821580fe3090e87 - -COUNT=6 -L = 128 -KI = 316decbf6400d1ae06211121151c82f67f672ee93bd2c46b2b26ecf8fd32a36a -FixedInputDataByteLen = 60 -FixedInputData = e5e68b4eb0cf1d322e2dd66132002ddb0b3d4cde1871b20998a4fe5cba5fafa16d053bc98c9560dc4045750b5b2b9fe489a10ab1122bcd45a7dba2fd -KO = dc46925b2a40fce8e1031bee9d818d11 - -COUNT=7 -L = 128 -KI = ce60773e96d8970591441cd2bc2144c52c8627b7d301f30549279d386eefba2e -FixedInputDataByteLen = 60 -FixedInputData = ceeb1ac21209a344665d78839b980f205967240a4dbe2cce00e86f39c5cfed09e9a6f4c50eab75922bfa30c27eecf49b6afceea4a2e69c3d8f5dd171 -KO = d2dd5eb4d33c7cb5e038fa3fc3fe233b - -COUNT=8 -L = 128 -KI = 3edbee28ccd5609053a515bc06702b2c226da01c1a609f6ed0289e4c238b1824 -FixedInputDataByteLen = 60 -FixedInputData = 2575d98aed5b9b8bfa711e99b221391bbab3151c4263ffff9b16d91b13dff561e9ea1f5477f2278bd49709a4918cdfb2d3446735572372e3dde99421 -KO = 40a9b86bf2e62c87d8ce9c101a6f71b3 - -COUNT=9 -L = 128 -KI = 4cdda96f67f4547cba94c4f602a4f7c32ca04592a791c073d30441415f95dec9 -FixedInputDataByteLen = 60 -FixedInputData = ef7631cb63fa76792507900753e3819db46d30200a4db0b14c2c02e1a6569caba0ca8afef3c7a31c8cfa916e03a9677ef45cc97fa8b8be648c545a2e -KO = 4c309bf994046f5c446f348b0d95cb92 - -COUNT=10 -L = 512 -KI = 014dfb45135644199165e9cf4643c8ad335f65d538c072982363d5b36fe31130 -FixedInputDataByteLen = 60 -FixedInputData = 6b6ac98d85fc5c15b2421b70a7387dd7af4e7ab0e7c133c312fad9acad2e31d7fefe040caca6509d4f4aa782b7bb4d6744002bae7012351e3d99e7f3 -KO = c32c03f5de34ce75718b60a7a5ea760c85348ad06c76cce3cd33b52c825583ed9e701315af09921803842979248e896548e1b188d66fde247974fdc724ba54c3 - -COUNT=11 -L = 512 -KI = 19b6fe3b078c9888a42da4afbc7e92d7585a19b35404046453a6a6d7cef2757c -FixedInputDataByteLen = 60 -FixedInputData = fc67d2fed00501072640c7c53918f15bf4921c727b1f1d8f49cee87a811d6b53507001a899d9188424f63f5374c76b86d30a41f401b3266d807af06d -KO = f443dcef3b9941d9d28cb918f5f78d6121e4eeb63ebfda39e300d62289d42ca817766cd5c8fd1a63c318b39e89a40bfc8c4782e2cca104ab460632814c2bf057 - -COUNT=12 -L = 512 -KI = bd5033b09de95d717d629bdf5ce82e77364b26e363dfb700f1a828ccf8c0a6b3 -FixedInputDataByteLen = 60 -FixedInputData = 0d5a3cf8f4d308bebc42456829cbc1431e2cb886806fe2f237417cd8d118b0bfe37d7f8d373c70f1f8e78f7699ad7f54d53675dc3ef7b463aaaf3764 -KO = 7e35c8c8515d55a8c8de9fbad7486b9aa7739e02c8825145862dd07557404362c8aba2fe0d43c825a7aa54ed6d4bf1ae0930f20a8d311ed4e358de3f94ef63d7 - -COUNT=13 -L = 512 -KI = 3ffe7c0a5a3284c95ba84a3aac20229adb75b6791edd05676c4343f96e17b60f -FixedInputDataByteLen = 60 -FixedInputData = 69a998b206ba063936c3bc172285e95178f709eaec733d7b3ee54818fd45221e7405cc615d7c9f074f9ca9eeff8ee94eec04f836f7e2f51d9c13a0a1 -KO = ceb6e816fd8fcbcd2762481da7c505744045f75276fc2025aa01d03ee915b57d8be5603e6f5ba12762731b72a7547a1178de3a5959f1f53ce8f3556aa04a0379 - -COUNT=14 -L = 512 -KI = d06b4da6fb80f92c549b9fa7b7d91328f47de99ac671f790111cf67893adaa43 -FixedInputDataByteLen = 60 -FixedInputData = 0dc013dbaf4113cd860dd18bd38ccc5ca13c0a3198f8f40a804ff35779ca441c2d13d23f46c96e7048f33f1ebe4ed9707b0f320bec772dc1b945d964 -KO = edf3054014780c2df1de8e8f5d3e7d1f6975a36ebb68bfb4253a5557bf2d5cd04cff7070c0e0a069e2c934873c67cd6398b6352bc1af844dd8e76c3960f3b7fa - -COUNT=15 -L = 512 -KI = 5afa01708ec5e676bd1fba3352d8b341013688e02c7b00eb2d7b9f4b6222a812 -FixedInputDataByteLen = 60 -FixedInputData = 4a2a67b1eb560e0fa42710060ef875dbed0a9da6e0b0c4ea9d1142a81d22eb429488359bd36e06815d9b30092563d72cebac455951fbcb3442f66bd8 -KO = 4c65fa1a6a680a7a28321d689b86cdda30d2a719ef21db135d0757c35c3ffbe01bd51f4fe54701d73368a9c02ad3ac226e25a1a8809300c48ee6519c332148f4 - -COUNT=16 -L = 512 -KI = f3f496c5c009e612b033330167ff8a96cf24d77df3b20b26c325dce855216884 -FixedInputDataByteLen = 60 -FixedInputData = 9836ddbd671902ee24dd96c75bdfae4743bc3cbfd33ae4dfd3dba8804f6bc2e33348e55ae3fcca930b73e232349126f96b1fa217073065187cfe78ec -KO = 186ffa7ae99e3e8bb071dd9fe7ccd029906ea5a78c079ecc687c38cb93f38a654bf4f1c7c4d3e529576a662cb80825bf8b7ad35db19cab10a5e812b617a5b885 - -COUNT=17 -L = 512 -KI = 89b72e30ad59fe9ddb3245aaeade268f31a0972bab9f06280e6168cea83125d1 -FixedInputDataByteLen = 60 -FixedInputData = c1e6162786f9369eab9aad9ba00137d2bff963241896f4de759860facbd6fc20da40f345f9e899f15cf4791c3beedf268a6a427ff50f31dcb426ed78 -KO = 84199514d721c7367a86357aed44e08c3f9eb2ba18e166550b2e5e35f2fce7117c43156356ad447d57634d74dc200bece964cc0f2772b58b175ac558a131b0d6 - -COUNT=18 -L = 512 -KI = 2e8f73ab43bc2e610aff506bc19b857cdcd2f5b3f16faefbb62eaa29a2b6850a -FixedInputDataByteLen = 60 -FixedInputData = 8d2e704b59f9e5ffd0a780fec9faad8011403f70d98c28be82b10bcbf9e8025969c66947912cf0ed1fb0ba24bce763fcebb6d6118f392163cccdd5bc -KO = 024abbb6044ee7caad55458e4b733550ab0c6c4274b207b3e6736efeae76ef5740974faab812910c388ad4f814a887d4f84a3b6f7b86cb5df2d4639de902b24c - -COUNT=19 -L = 512 -KI = f01711fad7f7d68d7035804827c50647b9d999fc04f8d31ebade6a66e46a66f3 -FixedInputDataByteLen = 60 -FixedInputData = c2716d781684cff91a9ee522253c9f11256ea75e80e1a588bb9b4ee0b9650dd183cce3ff3453a10a0d92fcff4d27bf83f31aca04484ce3d03075922f -KO = 035e39875bd87739661e41c39fdf15119b0f9d37382a811e4e618fc48e24c4e2802933d2ec0725399480ffa3018e3b8af4ae02689df513c36c0906f095e5d7f5 - -COUNT=20 -L = 160 -KI = e97498df0e210c0be7499f7105a7fc9c7323280e9b8db74870370bbc801283ed -FixedInputDataByteLen = 60 -FixedInputData = 68f6e4a422138f4e4869d1727e96706495300f3b0f1c05771cbe892e7a3fd6b4a94650549be8aabbbf13cd4fcdc14fcb972cdefe85d92a58f2e55274 -KO = 07f097aa1596f08a4ed34a6bd6d2a8e4a4ba564d - -COUNT=21 -L = 160 -KI = 747a7b9d32356a79c67e16b5e9397134bb6669f22023cf647c276464ca5f94d1 -FixedInputDataByteLen = 60 -FixedInputData = 4c1929cddd16870afa099aabb3fdd31b0835dc4df54e8086ea5f1a20ddf7c836be183b161e32334ca24da813ab48b44953f0d804594b613e120a02db -KO = a6c061152585bb3881859d7eb285e30be34e9b8e - -COUNT=22 -L = 160 -KI = e85197acd5a4a7837747c55cb6cb6da71302a5dfcec3f6e450af548860531584 -FixedInputDataByteLen = 60 -FixedInputData = e2169e0a69078bca8c6de2c9b4c0b3802c60ce6ab7ac329d2ed7f48f736ad3e3d0429812c823129c2f73e665ab1a6bb28dd39536960cf45b53ae835a -KO = 89d5d2f893f3323385a4d1c426532430ec5b4042 - -COUNT=23 -L = 160 -KI = 6e5876d33111655181a96504a09f5a30dcb36b758a7268315d8608e954bcc3e7 -FixedInputDataByteLen = 60 -FixedInputData = 6db0bed6ebea8d8e2d4e6d42d4c7ead176aabe5cb20866ae713ea9a0a3f28fa44b53efcd5498f4dc26642383b6aadef9323df67fd971f3c897318056 -KO = 3116966c6bba7d81eccf3d59269319512db26835 - -COUNT=24 -L = 160 -KI = 8d402606c0f1234b35009f0c3da01b6af0f95c98a2afe91cb7b6499992c63658 -FixedInputDataByteLen = 60 -FixedInputData = e7c1469a70f2e1b648a4a1a8d89f0199400ad16cfbdca139185bb51af7ff99b08d983aee1f0f799b3ffb64cd336ad1326323f7633536b817797d5053 -KO = 8444388e2a24cd05d46e4abbcdb6b6b78ff0b978 - -COUNT=25 -L = 160 -KI = d288bdc7d707564bf76d6bffa317934e590a62f0b1bbe271f59f24592766a76a -FixedInputDataByteLen = 60 -FixedInputData = 357ea50a0032d91df127f4955011865dcd19dd2a5cf5768eff2c8aec91864a4cc99299c14a767166510a6874c88eafb871003327904d81a6885680d9 -KO = 9b4d4d032225c4cff100031b21f0c58b10040a96 - -COUNT=26 -L = 160 -KI = f5474e7e16d01681652257495ee8307e062fa58112f51db328f62dcb5c1c4070 -FixedInputDataByteLen = 60 -FixedInputData = d1c42389a386354fd85c411fb02da886d632c0f485eeba308d45e2a8424bb26f1e2f5f328496cc95c2b91bfed4f577b38b7056132fb0fd10987410d6 -KO = 13851b2d96e1d2aaecd5b42b3525751114cf373b - -COUNT=27 -L = 160 -KI = df1a327f1d70636c30d2e0e48e525104137a60c7afb92e3b13ee3692138bae4c -FixedInputDataByteLen = 60 -FixedInputData = b6466974482bb31aa4ab59ac29451b339147252a72c7caa3065ab0ff0775db0c080dc93aa0cbdfffd7c96be4e8200d7c8d12fdc107dadf7fed0f5aa7 -KO = ad1424913162d9234b4d491f2756b7c2bee75cbb - -COUNT=28 -L = 160 -KI = 5d4f50e2ced248acce1cafdc6b2c182d00e31c672ff120671f0816f8253dd1c2 -FixedInputDataByteLen = 60 -FixedInputData = 7a5b2eb3c79c023e7abb93fcfdb92fe10b4618a19697737572c9d2a842a21c2f4f597cdad4899557fde940684a6df8c1979bc8875dc12207795c1eaf -KO = c835033f450ead0f9e3d619daaa6942b365d8869 - -COUNT=29 -L = 160 -KI = 637484e1ea453e7a92821c3e263de07bc012b3da6e6220874b74c8d3a65332fe -FixedInputDataByteLen = 60 -FixedInputData = 905fcd21aa61c7e56387d13a0b75ad1e25e8e4681c8670bcabbc794a26083770024a9d288c2239c849695e650cdc3d64395b263164c901fdb7d96a18 -KO = ab855280afecac21901b7488cb49b81ed1d34054 - -COUNT=30 -L = 560 -KI = 5d334f37c1063e55098a4d7983f6f51ffbd1643d5e280bb3070f1255279e9674 -FixedInputDataByteLen = 60 -FixedInputData = 6ccb45f47db68168d8fa1fcb612d044dea4b238c80905caede8589684c112bb97636bbe39a4cf25a80bebc182cb19b7b47173aaa08e23db83d7135a5 -KO = 2d1fa08baa9b852e7006676af759429a80d66836da61e7f455979d34508c6a8ea36ac0abb846933afdd60d3e1bab906b4104b398910876441586db4441d46841c4bfd17cff5d - -COUNT=31 -L = 560 -KI = 9410c3b83afc090240cca25fb22b1ac2ff1a1ae111da8d5d66d426ca1bb7b708 -FixedInputDataByteLen = 60 -FixedInputData = ef2cf31d7d32cf5c13ebac60df4fc843f4823c33024cb00b6a7cd4232d6d91015ac31e2bff3283f2f3c6b52f1cba28ba17a7dc7602ff86f137a16e74 -KO = bd4d79b6b9e718845d81d4fc335ee08f55b680b2a619a76a4e7ce237d4322795aac82d2edd6ef6109e6cfb251a0e8ef35e03c142d81a50bc0e7ccbac6d3a70be09ab2d6bfebd - -COUNT=32 -L = 560 -KI = cd02c5125e8efc14f39605fd5622a509ce62d551b8db26ed413cd1e6f49e5509 -FixedInputDataByteLen = 60 -FixedInputData = 38c8506bd72d11551a117cad12bbad151f8f3c84f0b9328dc6d0d9250c04ea4d5e12183ffef95f451c143de419c44995678cc4b139e7be5ce2e22655 -KO = 775adbaf71799346e4b178cb542f792ff261149f1bec14932804c475ffdb78f43cf1cc2b7d11830da93a68542946110418309f0af1d0f44aead3ff368f0aaf3538acc17a0ef1 - -COUNT=33 -L = 560 -KI = f71c4907b62483105cf562e4fca4a3c4b06be4238e3b078fd8a8616bd2f56502 -FixedInputDataByteLen = 60 -FixedInputData = c6d012b58bc0a820e662aa7b2a5620a3d8b027df973e625dbba7fc70b28a78d6ed51ba39aee057ce5ee14238d5fba273a926825c7b31a9e8d03eb9ad -KO = 915854507117a3c9cb2eaa3b33a5aba63b8775635e8e02fef49b00fb09e63a0678c0addcaeb85c23eca4ca7d209cb745524c9a7bedaf6f728d39b64e3695655bb63ebb34f533 - -COUNT=34 -L = 560 -KI = cdedae8309a659ecc98dbf0eb9ef39a2378d8a3ca01478087a03ffab1a2b1ee4 -FixedInputDataByteLen = 60 -FixedInputData = 536f980949031cf215a7473a19a51e3232f151b0182510fc512fc719ed2e6dce3b978438df3df89e83db6e638f77bf8f7ad3e174a2bea1a1d30a7392 -KO = 91bf1a55dbe1e7ca6b260d02e2f41548775140779eb987fe3d711d02163609fcd8d0f2967603103839fe132b13b25c9dc813ecf2653546b85c7ede4bab3bf4a2c78009876531 - -COUNT=35 -L = 560 -KI = d0f196b4e088379f316418078edf5508df81c70b812cd16a42592655f1d6dd39 -FixedInputDataByteLen = 60 -FixedInputData = d01bbbc66941a67c757ed8ebb2dc77dca8b5bb277b3c575a5cd483ab46d86554f13134e408d11d206832e154ff80c83c1c237b4f039455b68dd866d5 -KO = d26f2841fe2e30a3d40a2d99164523e095206dde044889cee87bb8bc5a061613aa56b8e21420a2a6728bfffa4f5ac018ef95b2c3a45544a502ecab3f2f7d229cb260e662fcd9 - -COUNT=36 -L = 560 -KI = cab4484a931fbdf5f91ebed7976ffaecd94f2966b4d9a123e2566d60f6bf32e5 -FixedInputDataByteLen = 60 -FixedInputData = cce7f131e65f052368a661c5283311033596e4c5253f78995c5f3adad12eee916dcd513a36884ea54c01616918e4737db1acc7119837f3676d15355f -KO = 54a0e90cdfa737afa3b178e0b6b76c4a2d6de6e35b5d7597599c5cf894e1db5cc9b62ce76df4164ae56ce86988a9fd5ed0404eed44ad5dca94018def61a2ebcb22c25420af83 - -COUNT=37 -L = 560 -KI = c3d4df8ad84cbb0e2bb4212aab9fddf905b90a5efaf467dff5aaadeffcc22251 -FixedInputDataByteLen = 60 -FixedInputData = eb88d444870b6acf0dff31afdd89fdfc141dc06d55537dd5fea81f654e12b2e728ed9647fb7ccfd7c893db938f8b0d0ffd2a3037894ef37d36ab5df0 -KO = 869c5819ea4a76814f92a2e973b42309a6cc8c888f5c12251139a3b5f909eae4a3098d019042fdb6df64c25a286881491c77f7483cffe745927837248d2b863953fa2323e5b1 - -COUNT=38 -L = 560 -KI = 35ec258f19e1c9b9aedee0e178138139d08effa9af6353dd44a6c450510c599b -FixedInputDataByteLen = 60 -FixedInputData = 2c5880dd272b0adfce0b309c989cdf1249b72b4d608fba67bb3197f510673601d9eaf4baa716df079e6ae98818f22cd68bb5af75df388f96e2f6ef7b -KO = 8e88fc62581023267b202a01dcedd0ffd5b8c4101695a22b2a73fe6f3c81773f288c20dd16eedb36d5e3c77eff8dd69f67892b2583071b6c421f0c6e75f4ba00d52ecd6af318 - -COUNT=39 -L = 560 -KI = 6c66938e69296ccad63db0d27662223ae6fb6d9070e74e6ac0539b1af5677fb2 -FixedInputDataByteLen = 60 -FixedInputData = 942e6fbaa2d0f99c02ee39cb287b0d39265fac54c75567b0f60dadf73885fc49319035048b298f4ded2246fa16dcd78606052d0629ed5417436de988 -KO = 5723ca8eb48c87e99341f29aff4904b5c813e79f51fbaa941d54d31c3962dc117908b624c6630889bb7b3f761d61db07f8755660704f9f59cd77769c033044ec8902a8df142c - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = ad99fa757b693840dcc6ca84bad69d5a -FixedInputDataByteLen = 60 -FixedInputData = 45a6ee260b6962707338d75b67194414c41cd8d09bfcedc48a259d78ccb8940f9e4a7ce1af0b8ff1c3842093f883528eae5a9376cf595ceafbf1aaf5 -KO = 772850d69442b37116f602e6e5d0b69e - -COUNT=1 -L = 128 -KI = d9330d34e24151264747f7afa8a5bc15 -FixedInputDataByteLen = 60 -FixedInputData = 217213b2a9ce19fc5efec4d0c7bd755310bdeffbbc3dae5d897d8b497567a5ef46840d284f951f7d1a6a7a9d69c07cce61daece9872291e9d0443402 -KO = 26843d85d8a9d6a0f8ee8fc881b17339 - -COUNT=2 -L = 128 -KI = f3315ec8c75e88f872f2b1614f8b2ce1 -FixedInputDataByteLen = 60 -FixedInputData = 25b3b2985ad1f4ea4f580465dd7693ccd534368a5ec320834d6c56b7fbe8e14c6be01dc6b98f856c0bec9023d187c2a44975556d64398e7fa5eecba2 -KO = e1ec2a0c6d0bc3274dd1b2f6b0c39251 - -COUNT=3 -L = 128 -KI = 8636c2c8781ae36c99b1137538d267c6 -FixedInputDataByteLen = 60 -FixedInputData = 8a62df41715641403c9cfb04079804f10d4d07d834e9f5c11693221e948128b71d6a49e47d43442f1117549685ef691fff43224fc2af06b428cb270f -KO = 651145c608334c59bddcf601b0625dc3 - -COUNT=4 -L = 128 -KI = 9c7ea7d577feff3d94d8c524a4304ecd -FixedInputDataByteLen = 60 -FixedInputData = 73e86f8f1b3f56c3592af3aa6ec863cb47ead0cf8e875cd77138eb534148be91a9d7d4e5219b2f21687ee4c531b6bea6b9abb4ec721837c2f0ba0161 -KO = 4dec0ab0dd8a18ec9eb6a6b5154baf08 - -COUNT=5 -L = 128 -KI = 9afcd0b6f7fbd778271daf364d53b61d -FixedInputDataByteLen = 60 -FixedInputData = 7fcabdffa6cb3c657d0cdc54c1fade321deff3e294c6a6d8502339b936e30fc44e92fec6ae6ce7ac332f6fdf89a81e905b4cf96a59436a9225140fb9 -KO = 11832085785a3d359060e2557c7241b1 - -COUNT=6 -L = 128 -KI = cd0b271dd584a8c58747684973f18670 -FixedInputDataByteLen = 60 -FixedInputData = 1b8f4a4426c8a086854d17ded979d5e5877b1972a6040b50e696756a1c85eb9ea75ffb43da977e11f5570fad78986f6331dfffee9a9e662b6779b0fe -KO = 096430c082ea28e3e6aaea81d7868842 - -COUNT=7 -L = 128 -KI = 5c859b4ce05453678afff00eb010109f -FixedInputDataByteLen = 60 -FixedInputData = 1ee6c839545cf019906c27a59d0d82826e5de8f98a6fb5b9833f48d472e97148691e45abfae39f7e70b73b3b090741fbf00a43945976ee7c82c4d582 -KO = fad0cfb7fa7fc4f8ceee7e97ace4ab10 - -COUNT=8 -L = 128 -KI = 458cada6b75f01b154115f42cbaff863 -FixedInputDataByteLen = 60 -FixedInputData = ddeb447cffa7ab842964ef3c84be7f804cfae8cd2891570c7ad84e7f314016a7275f3be23a414f62ebb6ebfc2c1dea50f8894bd84b65839fba285fd3 -KO = 3b5caa1117ec3ae9531943d6bd58dfd7 - -COUNT=9 -L = 128 -KI = 856213b7907098e6ed797b3624acfad2 -FixedInputDataByteLen = 60 -FixedInputData = 5073049b51922ea839dfb3263ffd76c9ea351cd57b7bbeac906a48da82392e4319845c9c15bf3b8d38631f58e8f3ba5f963563197ea22b639b7bfac5 -KO = c18170dae8846b391e732d27a9f94afc - -COUNT=10 -L = 512 -KI = 18a45f9ed14a0ef9ec3a17ca6c48b6e6 -FixedInputDataByteLen = 60 -FixedInputData = faf0d26f9b391bb937347c2c9822be6ffa51fc04726f1dfdf58f97c53a91b2e11b7b3aeaa8ac88a2b5eb7a53e2ad0dfed04d2f4202a86201d66ffc28 -KO = 2839d1d9b7d450f028ea76bb5c3287c92158e6013b0cc22433bba1ea98a716db4ac11e0e86e589a9254cf46a3f4a92cbe3091d1418fbcaff95901b0281b64665 - -COUNT=11 -L = 512 -KI = 29296b0c986ecdd428044db278db3711 -FixedInputDataByteLen = 60 -FixedInputData = 5a74de4e36d77c192d5af9bcedb454293eee50f10b2c1113323ad494b07fc42cc33954dda0b0ec85e83066c1876ad8961ed74d2caf97dc7b6a9ca892 -KO = 2774020c13d875a3162aaf601abe57905f338126ced68e5b083c6a24eaa76c85f24c968662b28f42214d518d7b24c13a23ce0e1599dda7a76e0151e5f39c65ae - -COUNT=12 -L = 512 -KI = ad5d5d2bd11728047028c5711424158d -FixedInputDataByteLen = 60 -FixedInputData = aae21abcaf5a8213f64a27b8ffb6375f150b72e95761d36829e441a0921609e65ee63970c283452a902a8e526382c9de44e363340ef5c8c2c7ff3d6d -KO = 4bdd72956e8ac9f559c38991d28a364478a907cb085499f30849d921ecc42da8e228c09e7af4f9f5641bf2d7632b7786c2ee8b14b76648985b0880f1913f5137 - -COUNT=13 -L = 512 -KI = d93c32da541ce8c092db75609e905aa8 -FixedInputDataByteLen = 60 -FixedInputData = 8703af746ddb44f2fe16b60eef2992c6a3d734d8098ba55d739444fdfe465655e321983bf524ea9c3c0c4b38d8e3205987a53fa398274e1cdc38693f -KO = 00c4d5ff271ad4a3740de0acf884077d6868dc100d36a5016d08336dcce485e77d9d89aeb67f15575d6b0667b47e684f76e252336b1a3b9b95e4778c821ca6dc - -COUNT=14 -L = 512 -KI = 38ba7797bad7fa7aa636d073ad632152 -FixedInputDataByteLen = 60 -FixedInputData = fd7ba7a79d6ca96b92f22f6ebd2239b2e43033c25887d5c84333ad7e109fe95ac09763426c6bc2964ba17781affdf6da5cb5d604548a2839728b3d04 -KO = fe88becdb5227f0a261c911a59048e38af5e474ef220d681e26a8253eb954410762faa35b123735834d55078adbe0f1f1bb636e4143d8e1d289be3c5f4738216 - -COUNT=15 -L = 512 -KI = 789c6e6051f13302c85f2565ccc996c4 -FixedInputDataByteLen = 60 -FixedInputData = cd4f5344d00ef5e021c87d9f83770232714fd512e3b4fa9c4d683ad7ee587d7e35f5bf1f7f77d6f9b278a341648b6ca66b2b90f26335276ef06f7e86 -KO = f13fde90b72745a26d349f307d24cb7fae5210f41405ae6cd7c4c5d225793bae939737b546bc3b163d66238964605cab495fa065c743431a09b0877ba0282e64 - -COUNT=16 -L = 512 -KI = ea664b1ee83e101706d5c0d7581cb0e6 -FixedInputDataByteLen = 60 -FixedInputData = 345a3ec27bcf0be669b6108723c2514f41cb0d5b48281bc06b8148f7a1eb7be9f52acea69cd9f8699c3df86d39d92d4ba08d4321a9b75271f678c73f -KO = 63e5a69df7cb7f90a7bb18561e2fc041436e5b48be3571cc0ed817ad9bc602cc2677f03e419217341af61961f938f0991eb975d51df4ad07678a1e41235ca837 - -COUNT=17 -L = 512 -KI = 738495f820e3ec6f47f649a7ff04fbb8 -FixedInputDataByteLen = 60 -FixedInputData = 94f3117f2856e48ab6efd054a0e5ad974c7b374ce89059de6d1d75fd727c549d08a70671518fb476bd527a1e40cfca6ecfbe3a5989b2bb2d5032b4ff -KO = 15cf5db1a90db6a1f45e6075fd7db2f4fd184d540eb635e10484634f91151f724f80b067f8bad84db57912782939e52e7f47943aa983578d91dcf5ac5ad8b4a0 - -COUNT=18 -L = 512 -KI = 35795123e536676649ac8629c2089445 -FixedInputDataByteLen = 60 -FixedInputData = d130fd178ea7374b166ed92dcf3cfb6c63d156ff1464249ae297cbd23f62e9fce6f5fda7706ceaf4f2cd3848941022df38842f3ad6a0b7fb2ce6ddc9 -KO = edc4dfa9bbe4ab6627aa8a738a460b66d34ccdc305cece8feaaff80a34bc6f63ff75a481afbe9b6fcdfb188704e06223acf70d33cc39aa30c65c2ad29400d156 - -COUNT=19 -L = 512 -KI = 57a64d627c8eb5526be1dc6bd90d1d1c -FixedInputDataByteLen = 60 -FixedInputData = 54a14e135684166d2f04409b5c43f3a910973c1c466eba1a9b8843d077d84b479a8195d14326f86ac73906fcef86b01a215a8bf7ba939c069cea7b80 -KO = 32526e417da5ce5f9da55c0c05869c5c33aee31a411dc1498824628cd75c02f048985e166cdd86a5bf446cf8c76c201010cc1c14588b641550f91fe1d4ccfc3c - -COUNT=20 -L = 160 -KI = 936d8948ddac939cf8144ea44dade8c5 -FixedInputDataByteLen = 60 -FixedInputData = 21b56fbeee9e20e387362812e48efecb409c6bc51d1c15a7821e1fffabd52838f2c6239e45cc350b540e8951a396a91cfa59c0bc9a1070547ece34be -KO = f0769a79949bd565c6b905b3274f9e99dfd91807 - -COUNT=21 -L = 160 -KI = e5be6459e6835de05b4f2da7a30feae2 -FixedInputDataByteLen = 60 -FixedInputData = 0f8d496c5458f552fd9318c0cd725a9a75aa5515a78ad30880f0fecf27c92cef56d31458ca3f4ad6c737a1c8b4bdd02cfa4121fee19a10f942413783 -KO = cb13c92a051c9b1140642704c1110f9c6357f98e - -COUNT=22 -L = 160 -KI = 45ff8ae3efc6b5913be757a233f4b7bc -FixedInputDataByteLen = 60 -FixedInputData = 2b8175dfeed7580630fcd98253d5078ca7107759c3b3fd53a75f092c0b6283a51bd5eecc69c01c7469f477a9839be0f53b641bc6f8eb0d952dae75e8 -KO = 01b5f994b16681b80d881def9f40fb742bfd0798 - -COUNT=23 -L = 160 -KI = 07f385f3ba4de1924368bd8b84bc5d11 -FixedInputDataByteLen = 60 -FixedInputData = df15d319c7c89964d78719e49511ef51a1965efc01754186af9ab9d4d7491bd532e8a7dc5ae5250428931dd47ed82f5534780e63fc5125967561d2cf -KO = e3de0074a785b3bee875698d7c52b5ee9156a1b9 - -COUNT=24 -L = 160 -KI = 95466432d7b65fc7b18e5988e83f54c4 -FixedInputDataByteLen = 60 -FixedInputData = d545379f8f5944a6457052dbc49bddcf7bedb50b9d425726ab776f1c3d022ffde8b6fb8441722104084bdda08e5301773ccb762f68af98c4d951f3fc -KO = 3f17ccb0e8e574f8bf59edc8bba22a404c63d2f0 - -COUNT=25 -L = 160 -KI = 1b8d901cc00a53e40e7bb33e3b6f338c -FixedInputDataByteLen = 60 -FixedInputData = 6e064f573204e00574f5e1ee117fa2c5d27bc9388d15caa6616759ac7244e244e7ffd1d46a4e9ed7c2eda3ce83acb706758851bf456e67f0eda35e52 -KO = 352edc6200e6179cefe661feab8bc7cd70abd9af - -COUNT=26 -L = 160 -KI = bb95f85a6f2cb2d647ea3dd25b8ece89 -FixedInputDataByteLen = 60 -FixedInputData = f184cf2db116289484f1d76d943caeaf7faddbe978dec0564776002badd48a5564e7a719e1578325269443eac70308a2def62f992bdd71e067bec769 -KO = 27f692038f0ced50151db83a2104bc8a9a788981 - -COUNT=27 -L = 160 -KI = 8c341b087fe63e60f10b08650e992c59 -FixedInputDataByteLen = 60 -FixedInputData = 03eecf44a1858d24b165b79a3e42663ed5160ff18b99e7d163b36467ef9257203bcfaf0812c8935c3d06e6862790998ff8ae85ef4292541932840e4a -KO = c49e56e5a0360644a2088be1df201e33847b8840 - -COUNT=28 -L = 160 -KI = 702f44db0234ddf2e57774ff6eaaf367 -FixedInputDataByteLen = 60 -FixedInputData = 7bc346284d0be6ee05aa5736e5b0220b0296b85d16e6c707c12fb5eca1c93dba868e1b07f65fa207936ecb2a515d089c7fe99a7b634f1e33755a4543 -KO = 7bca94b90242808b6381af961c8c4f17b9c2d662 - -COUNT=29 -L = 160 -KI = 9adaee9d82994d1996da37ce6ec5577b -FixedInputDataByteLen = 60 -FixedInputData = b26d9599cdaf7455d3076bf3374a5747d1755992c328443c155633604b7b3b7ad0a97bdc2497cab5ba5f1ea8fa8c0f42af49b028687c80cdf087dfd0 -KO = 0586612ca2c8802af2b950d6cb8e8a7cce6ae825 - -COUNT=30 -L = 560 -KI = 2a91af52b8f23c33f119aff821f8721f -FixedInputDataByteLen = 60 -FixedInputData = 8375346d7a9a60d58317936b772393abb0f34127c181a98f41c1d461db5d644828bc38f2ebf2023e1d1a4f50e42e7a242f07026ca3e0cc1d0e102040 -KO = 74034a49c2123f4f1645301edea6b6d8d1264f14baeb626d1cc49b8adf5d06f9696906241426bb24151316547b089ef030e1bf20d572e35573b5ebcc51cc56b35f9970223b14 - -COUNT=31 -L = 560 -KI = 8090a4c928ca736d976482519394804d -FixedInputDataByteLen = 60 -FixedInputData = c777d9550d98eebf50c7eb63b8cc5976b351af9f4d7e394653813549d6ae74e9e116c2d1aca67336d5689e33f4ad2650de183b2f7dac1671651a8c10 -KO = 3610f50ef69940f08bf504ecd4d446cd9f9696d7bd64353b5c08a9a9ea7c3a7ed1ea7e8d1c1a16c3268e7dcc5c1e832442df3abf5df6d81ffa939ff6fd99749659ecc01c40d2 - -COUNT=32 -L = 560 -KI = c564ced9a240f6b15aebe23244a5fadb -FixedInputDataByteLen = 60 -FixedInputData = f95966ea2f8bdc2644734ec039f016d29b0e46e1b4475307721bc3af57a848fe2309869dc221a06e17f90aea27e3b0966b6aa5704f543f9976bb2896 -KO = ee9b4bd8ccfd082754d2efbc64bc81dea2ec62a0ea09f56a4f94b51163eb98b3370da96b7b1463ab4e26f7c65bca185cb81a2dca4fc5a799dbf2e1515b1cde6b7501b0ba1915 - -COUNT=33 -L = 560 -KI = 00f676808d80b97013b5c67a81bbf028 -FixedInputDataByteLen = 60 -FixedInputData = 1ac4dfe01cae13cfe65f21603478c0bd5ba9032a7bfdec08bfb2932f9abb3e4147f549841ec95dc4c0bbf9d5b5bab938bd1743ce903e1cac2356dd5e -KO = c109a1ef82ca76d65695e2df36c720fc946185f3fcb560865eba4c85e6e26e362c72c34184c04bcfd292013255a59c0e5492b4e7e94007376f3e7c456f868a51b7b55693448e - -COUNT=34 -L = 560 -KI = ed6192c130f92d974f218322ad5cf65c -FixedInputDataByteLen = 60 -FixedInputData = f98fb3f2c686114c22723f22170379bf654c1cb70e66a711716d3593c677c7d060a43efa07c9da8935f5a5dea8e7935d8511d047429ef5a82603d1d4 -KO = 12a0f8c1337165ea367cafa90cb6fc3e60bb9214d88d1432a3e6e86ce59800df9b2f8b554f56dcadad9f404fbe1c07977c390a103e743829dcc519cf346566912de2842a7889 - -COUNT=35 -L = 560 -KI = 74aa5bbb69e1bd4b6465095da4465999 -FixedInputDataByteLen = 60 -FixedInputData = 7c10e63a41fce45fba08ec61fd9439e031f0cf05ac2f9c88fe08aa014090433fa0448e8b6a8f7316f77b8ea625402a71b8b51b43ee5815b8d4e9cabe -KO = f77bee40a3be73feaa5e11d65330c9de18f34b8500c9014024bda76b00df6d61f8cd770b9ceea80e37f9cf9228629bcdfe32684f2017adabf869d73400722b562af0627a6bec - -COUNT=36 -L = 560 -KI = d87768c3b01a1a21c0c5a0405b6660e5 -FixedInputDataByteLen = 60 -FixedInputData = 9d419ed903f1fda6fdedb7e78d47acae19beddbcee54e1bcd2e8bc9447517f4fd612b7afac38b900a52b2e01f9acc3b5eaadb5ee3808ac3441d75b70 -KO = 80f0049c89196caffafbcb40b984a30b486be399b0cc43c0778f67a8d4cb0296f886059789025eb01f44284cf97bfe1a8078997a32edf557a2fcc1dd8018b2496d221448d235 - -COUNT=37 -L = 560 -KI = e7d2c61d9cc8a9af0960c3b647d0d7a6 -FixedInputDataByteLen = 60 -FixedInputData = ff988fc66851bf9ad1cfcdfa0d6e00e916a56b613a5d8a871e8aaf98020f29f02d8443bd5f2c9ff66e8d0c7b46ed39d8015fbb265ebb72b0088ac193 -KO = 158102e499f1ce6cc48c8f4eb6e821bb3a47b36e0d6b04547c4df7532895499d4501a617bfde3fe1adbb1d9caa32f27b7a1c281d890344c341ecb72cefdd3bb50fd78be3cefd - -COUNT=38 -L = 560 -KI = 272979ffaed6020e5fa9d6ca88890be2 -FixedInputDataByteLen = 60 -FixedInputData = 99d61c71e9050d00a2d841366f36ec1554e1354730090e754604bc2e3c55f5e5288a8404574e3a19f8ddd08829e5eb1a40f9953b9925f5585c5fc1df -KO = 6c5c2f60cde2a3536aa8a563994510b798b88b7c38f99cf1df584977c4903e846aa3a506ed16ae67babad13094a142ac3b7cddae1f40c5d651f87096c9dbadf28fcdab969163 - -COUNT=39 -L = 560 -KI = 14dc355a070f82a42f0e487c9973fcfd -FixedInputDataByteLen = 60 -FixedInputData = e388ec79269634897f863a08acaacd18f4ffbc5239b4690a931cc8ae3c1115ba556d4372b7ac155890386ae660f0617ca31811d20271952363af6cba -KO = 09ca692916c50825f79407a3cb273d4966695f60aaaa75eeb57004381757e894f273644b4d3305b1ba97d399f04a80da7b9bac179313d5472a6e98a00dc31395d468afb9c66e - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 57648b34ac0b23bd050c0cb6b5a87587 -FixedInputDataByteLen = 60 -FixedInputData = 16f167d4fd2343f1431fa1de145c415fa20428dbe2f5951407ab6fea0ba122e9a9111139cca155383e8dca3c092e940a223c70f8c735ef75a4823eff -KO = 4261b276bf6e455b7fbbbed2034989c9 - -COUNT=1 -L = 128 -KI = 2fb6eb8bd3dd8ddef202ba96e174e81a -FixedInputDataByteLen = 60 -FixedInputData = 73724e8286f15a4fec2423e7c1a76d91b6e2034b6e89190854827ba8fe77774be5e8f9f91702581198f239ff4c9fd487f12c78e8d8b56d6707b66abe -KO = f8e414be3c05512464f86bea57eb3f2b - -COUNT=2 -L = 128 -KI = e6c9a00370dea498ecfa756a601f9071 -FixedInputDataByteLen = 60 -FixedInputData = d3bddd2f931591c69b85f1efbd2b20e81ecf3b06f09dd366ce8070658596bd774b321ef8f56a09d9cdbbcd31690762abe5e35f16c178837fb1c9488f -KO = bb4e11d0c8167c806d690c8ff2852426 - -COUNT=3 -L = 128 -KI = aca56967607eca16e980543ef606228c -FixedInputDataByteLen = 60 -FixedInputData = 9169d58de547c39161ea6536287d0dd9586bcca24fe7f098d6cc7c7676dc1091d42ef30932631d6919cf2c122df420e58b0cae020916455ec04d3b13 -KO = 702d19562da5671abbdb17c73c999cf0 - -COUNT=4 -L = 128 -KI = f4ead78a45d25a81dd9796dec70de369 -FixedInputDataByteLen = 60 -FixedInputData = b34d644c59b58e723d10715cc84245a4863040a9bd2c6e2aa51ffa7bdded9453e944b59dcbbc114892160ddca2322994b1648c22c8974b7e349ac6ee -KO = a0ebe4c1c1562fd22a941c6a7fd84f3e - -COUNT=5 -L = 128 -KI = df84df0b9fca484e57fae10db23e0cb0 -FixedInputDataByteLen = 60 -FixedInputData = 3d20fa68b3a1b3381229e8af3d0113e0bda3ec5f0da1eda069a2ce2d87bbd0cabfcd9c267c2d8bd22142a163453a20edaa5f616576f260d464778a4a -KO = 0da660289c7ff450e70bfe99b7e42d0a - -COUNT=6 -L = 128 -KI = f8b928e080e21299ea729eccacb218d8 -FixedInputDataByteLen = 60 -FixedInputData = 579d5120fd0697f5fc67928d86541e1b7ae9127fed07a1e7606eff6d7a49737b058b80849bf4dd6cb8e361f705778c3954b25ec9f9393ac363a2991b -KO = ad52245843d789c62ae56a203eb2607f - -COUNT=7 -L = 128 -KI = 7f490b9d4357fa719f232ee9e52cb5f0 -FixedInputDataByteLen = 60 -FixedInputData = ecaef2e645e7ac0a7532f1b8fada97d8d394a6b28ca49dddd995944cda723b34680c350fed1bdcb679c3724fb7bc7a5b40a90a40feceabc3c9a185e7 -KO = 4a3578f867d389886c401421e01539c3 - -COUNT=8 -L = 128 -KI = f5e5baf70250f24338fe2352cd758b4c -FixedInputDataByteLen = 60 -FixedInputData = 9f11099c9c186597e9ad3c2d89c130241ca4c15079d867a3045376f341e62e5d098adb4f3aacfccf99da2b9ffd75f73a3ea21f1e64d1de0fe2dad073 -KO = adfc0fc9cff91e7b6700bf027821af96 - -COUNT=9 -L = 128 -KI = 95472f3a8f828728501db404d768ae1b -FixedInputDataByteLen = 60 -FixedInputData = 7aede208ce6d86bed618bfbba315dc30610a178885e7083936ec2bcfe50662b099c2e76e0c6b5a2f02916fee3e03ec738163e4eaa3f5c3066b43fff1 -KO = 3418532af0b3b633343336433f001cba - -COUNT=10 -L = 512 -KI = a4cda047d1f55b2a35b9c197936c65d8 -FixedInputDataByteLen = 60 -FixedInputData = e8761c520d2de33d3b7fbc01a3e13388c8d208625326dfa9bf4bfeb438b5436f397c1574e94e3e9dfe105beafb43f900a4acdc6637507791960a16eb -KO = 5248c1404c7f056bbd70d5308e604e1dc0f7e5ea2d16956fd9179d24a42d69ac560afece3872da026e3bf4dd405e04f2fd6e7f69018b86b9c3cfed367a002058 - -COUNT=11 -L = 512 -KI = 96a93f7d6de15f29125fd9a74d70a4bc -FixedInputDataByteLen = 60 -FixedInputData = 2c146d5b0bc00b3ded2a8e84db893d83eae3ef0c4e4b78e33ac21e922a998b7a11d59a2748f9b13efe7b7c299b41095c14ec8fa039798e7e63c8f897 -KO = ec54a3ff6fd4be05d6fa9b73b388ade42580a1077b89462cc1d8d9d469c20e5ecc16abbf3aad3bf263f36a2d0c9169276667e570d86d1eef6f8433e303b378ae - -COUNT=12 -L = 512 -KI = 2ef3a615a34a6f446ca187252283d1ae -FixedInputDataByteLen = 60 -FixedInputData = 638ea02c35b4848fab2c3d9aea0139b925b958c1535fc273b49c7a7e1eca40efe803c71b4ceedc26e7903460cb2ff302d435187aabb30e1598de1cc3 -KO = 190afc69c889aac2e4e569263dd2b745ab3f5f97b80fd518603cba549b3d6077c4d4f57ad301740701e1f3d1e849e5febad29e321a91438b499afea9ee6f4e46 - -COUNT=13 -L = 512 -KI = 4beac2f2175ad21749589c7fb40bb6c7 -FixedInputDataByteLen = 60 -FixedInputData = f695a8d7ed4db58029b501c95caa237dad2604bcba1e8b3972338515116c9ec5539adf1d36a66bd8f1dab77e7c988f1bb3bc4a9ac107804ca625d0ae -KO = 9b54661b48c9fa734209efff729d321466d6582ae541356c49062e935ac52cec7f2301e5cba11185b15ef1923ecae0aa7d6d8e903fb4b775b3fb2524ab39f717 - -COUNT=14 -L = 512 -KI = a6ee30f1bcd1de6b37c696ba4743c067 -FixedInputDataByteLen = 60 -FixedInputData = 0bbe32e29e045ede21b9e3f1879f0c75cab6ed7e3eadb0b8a19e55df548a2c83616fff371cd0a95a03bb1b3601106c156c6d652d1129269402b138a3 -KO = 22835784544208c3df684f1a695cbbf40b11cb30f853e94a0d061c0d82f51e9ef793a45e2e5fba326a97bdd243dc388159b122fc02fdc4d19b739fe580cc00ea - -COUNT=15 -L = 512 -KI = 98b3831f8d7da8bd8f6bbcef47a5a7f5 -FixedInputDataByteLen = 60 -FixedInputData = 463df6dc91a84e27d6dd6d660c1d603dc6d1129d30af05407a402877b02ec51f4da940c64b873922fde517e627795ddbab1f108bedaf5a871503b102 -KO = ee9c81100fc7ed2762119f1577fdbe25cb241eec716988f334a04e94c742afed4e5b5a2baa3690b87fc06055aebb4349706755c358602ac8a2ac2bb2a0f28eea - -COUNT=16 -L = 512 -KI = cce21ba2569a3d40847763622ea51a4e -FixedInputDataByteLen = 60 -FixedInputData = 60c3d9ea8e3d480528309afb776562683bc45b7cbee111f0d62e812a7d70b2dc545831cc6ed38b9ca7e2f9e2d41f40bd68cf1530e49f045f28e95703 -KO = 21dbbac02a41adb4adce47f634648e81f6a89044029e799bdab8fefb046d6faa599b88d0fc93376b11b7829554b27647594de6f2cb15bddfc751a5b5aa2628ea - -COUNT=17 -L = 512 -KI = 4a9439d2b31890ad77ab806cd15121b8 -FixedInputDataByteLen = 60 -FixedInputData = 4d901bdc38a1d5f664c61ccedd3d9878361eae08d4e4c3783cf4604a39ae7a396f9b529ddc9a5a498a7bc62758458f1c1d5369e5e8b83a2fe0bf0652 -KO = 1d6b1691fa33f2bd4644d6b6f1473e8fb9a1589f7600b92ef5eef38b83fe66ea0e58a5d23acb05cd59b22f1cea29162158b7aab113ba343b0a0738ff9c61cee5 - -COUNT=18 -L = 512 -KI = 0b180511b9d7b9db567202f7a5daea31 -FixedInputDataByteLen = 60 -FixedInputData = 5025827c7cc9f70d4c934fcff9b2217ef8dfd639ed821d9cc6bade1a0d0634319b2dbe225a6940971fa2a68010b7855e3e2ee44aeb6806d399b96ea7 -KO = a6faabb89c898778d028082dafb26a75d72ec3e455e7b37417b8d9626876e6d207b3b2ec8e6c6e4590f211e55a8c2c62969437a3fcc60e4885239aa6c1a3a7c2 - -COUNT=19 -L = 512 -KI = eb4b4abb47d88b08b118001799ddb635 -FixedInputDataByteLen = 60 -FixedInputData = 431e14d60927ae4ac967c821211ff0d8c03fcbc091f2144e29ae7648ee4240d27647d0d2106fc62e7fbd2a01d56846b63de8fb97c229b12eb33eba50 -KO = 35c7889e7e17be733efd0c8a5db70f809515d523bf0d1f342a33c00d0301d7a852e148d9f9b8c895ed255194385d126c46a1dc832c4d39f4286cfb980eefb9ec - -COUNT=20 -L = 160 -KI = 82352333edf897a202f69bd2ffe182ce -FixedInputDataByteLen = 60 -FixedInputData = 5caaff6cd3fecc010ec78529094a9094d6deb6c4dc04a03f6f2bdda04f784cd9761872e9a75c6518f1a6149e68199b0d37337c2a1e1f32e6854f8742 -KO = 7caeff028a371f08f6a590acb0e9101f4b409d96 - -COUNT=21 -L = 160 -KI = c33ce029e8ba36973ba916ea6b7aeaac -FixedInputDataByteLen = 60 -FixedInputData = 5abd39c2979fe618e7bc8089164189b4c6cca03d4c7221bf2cbd7d077a549ea889a79b4af6c57e00fdb9f706d92fbf14050306f96cf6ba106003e337 -KO = 141c05d8353cb13d0b2e9bc5f42ab8bf436596b0 - -COUNT=22 -L = 160 -KI = 86155f62081aa9a400d12397df0ed2b5 -FixedInputDataByteLen = 60 -FixedInputData = 7ab036ca33bbf9ba4a2d0a00842cf76b2883dcd4344b394a69e41310fe6e3c1866957110be313f65b70444d9f46a7151d63a19bd48aea3e02b85d1a3 -KO = 4b0f6f39d635748a77d2de8badb4857ac8bfd36a - -COUNT=23 -L = 160 -KI = aa49479eac5e7d579c96637bfec8e580 -FixedInputDataByteLen = 60 -FixedInputData = 83e6087723cdecf29525f59d217e985e52eaffeded62821fc3574b4700f753519921267233d64fd26b9e50481915bbfcb9db9d951e5bc3cd5f9c0b15 -KO = 9e5e703882f28513f43f46bc6f58041c12bd75b5 - -COUNT=24 -L = 160 -KI = 4763670e1ad3e052018f9d6d3aa0025d -FixedInputDataByteLen = 60 -FixedInputData = 63d3a6828c42dda299dba82ec95c64c178d145c085135dd30171012ca5bf118f67f997ef0ade6223206fa7e3204f8a50e303bb018193090d623841b5 -KO = 000b3d987da3c4535da4279bc4b418bdfa9d36a0 - -COUNT=25 -L = 160 -KI = f1cd3db357ed29b7a3cab498cf06789a -FixedInputDataByteLen = 60 -FixedInputData = 8bee88c9304390cfc708fbf656789e77d5cb086a928bbbb032a96d33757164dee0deb6bb6d4ce8c52f7f79c68c67db705ea6c7ee9afb711498e8364b -KO = a50c58a0057db52e386abbe8ee372067e01d23fe - -COUNT=26 -L = 160 -KI = ae85087a8e87ae8bf20758c37f00c402 -FixedInputDataByteLen = 60 -FixedInputData = b4b3d0f9e2eaab8a39649b3fa8595a62aa98616e3058c7dad4de3bb5f2de5c055c0b24ec16bf892912940c081fa93da8297aad6fdb039c4ea137a07e -KO = 80ae4aa872fb8fbd9075ddd2828f64c8b3b73b27 - -COUNT=27 -L = 160 -KI = 8c63bc1f42d44d21ab08956304550158 -FixedInputDataByteLen = 60 -FixedInputData = 32db59fd980bd6fef62289a30dc594e44494473cc9759b04fcfd12201c7fc2d52eb28e4a629b80a93dcda21aa0af13fb91f094907af5e97952123c07 -KO = 503b7107899cbc2156349b284b2fa428d36f8ded - -COUNT=28 -L = 160 -KI = 75d81557bb2ea17a1b390a1669a50023 -FixedInputDataByteLen = 60 -FixedInputData = 4ba53c3631355164cd84d61e0460ffc9f3e7d0c9079c11874dac645e074b8408417a81dffcb30862ce96d9378260614afdf429c22c2ef85ec0acfbfc -KO = c00324e32dfba12c64805754e241e8f6d47ee49d - -COUNT=29 -L = 160 -KI = 44f7d51a8cfce777096093ac78713ca1 -FixedInputDataByteLen = 60 -FixedInputData = 6b6da95dc4f05542d835c1f970de1e6d0597a44b6024d9c82c8918583e962aff700fdb61e358fc6a16e7b00edcff002b8c3e33a69583b153e21d45cb -KO = 842c57612c6f5111905b503496f66453083ffb59 - -COUNT=30 -L = 560 -KI = a75a963aee22cc1d4f319703ff489267 -FixedInputDataByteLen = 60 -FixedInputData = 214babe53a6867f6fe072665fbb797b758b64e40edbf5ea168d4f16742ce28285c00da6d1965dfeab4c87c6091be12777e6cc8a4f90f817b8ad0877f -KO = 0296de2453645065b42186ce2b8c62ade39e93a71cd3ee538d25a08638cc5d5ab4896c98f867ef9f7188ec18cf6da185be7f047903b7d9e0890d795258e2cda2b2241062ca71 - -COUNT=31 -L = 560 -KI = 8f46ddfbcb74c805c3bed6d381e3a26b -FixedInputDataByteLen = 60 -FixedInputData = e3f8db98cc0fed76d529125ba9d08f84a7725b6144fa156db064b7540d5fce6c4e6414a50580db18a1540fff2c183b218ab86903f505dde3c6be30c7 -KO = 8ba362bbebb729845f13fc8961135c64dc1b2231386acdfb655011dd4d8c9b51652e2608b382bdf7cd24f770bf5d3f3869946ffc4c760c8e9d5e6031cb1123099cebcab4edb1 - -COUNT=32 -L = 560 -KI = 41d54208995bd6e1aaff7b4ee9e15c30 -FixedInputDataByteLen = 60 -FixedInputData = 93cbbd7f41a80ba13cc19e41c44aae786dad64dd3377ea3cbded51266edde7a3b1140bacef54d6c093de09b6092a97c9a4db2d8d80220c5cc063aa42 -KO = 160923088cfedc2e058e0fa1d80b662cf41f6eb01166cacb5c585b998e8b44a55f177a37569f3943696f7990b404ebe51d7cecb80908203bc048cdebd60d607628a6ed2fe8a1 - -COUNT=33 -L = 560 -KI = f0935b54f297130551e9527528a2ae64 -FixedInputDataByteLen = 60 -FixedInputData = 4109c144ab1233d2939fa47b0667b94913a9c2e16a3c027ca31b8c1dd038ba7943f655f002a12abbec93758256f666937a9526c5cf67e1720375db4c -KO = f0c1752b10df65f06c89567f72e33903bd9a611a080823c8d184c97e50233a67a9c0931915ecbf023fe80a1b22524a8d48527fa8c05a1384eef6d0b435e2ecd0433a26177fd2 - -COUNT=34 -L = 560 -KI = 5e745ec255a3dcbcbf5afb925978b32f -FixedInputDataByteLen = 60 -FixedInputData = 45c53995e20c17928cf3f869408eca4a51b866e9bad3a4e7ba8668db46bb4269f1f535f4fa8f3fd3d5f57aa9e9c9933be7bdbf345464540d32ae5708 -KO = 94d22e9912b3055dffa8e4de470ffacf8fc03876d7886a951fc73583810ca1bde7250ca065b7cbf508c5b01c421538ddf2e756b045f10efccf94cd7f220ca7113fa2b3a88797 - -COUNT=35 -L = 560 -KI = 061b47d3df9b9e4f4803603f211da4c5 -FixedInputDataByteLen = 60 -FixedInputData = 07fa35d8f3999df68e99f10c0b41eeb1936c463f112066aa088224f8b320ca31cf70ff33c8edab06b98b389c62bd0046dc4b737a34afb9b06cd8dd01 -KO = 99c97693747a1496f158c27d166a8cab6e5c3f68c2e8c002b502eee860947b0fd88e2005de8b11604f403009f7aa50c3d6f0055ac019bc888d62d8917b47c55cf86f22c41654 - -COUNT=36 -L = 560 -KI = 7cb22d6463b02a4280d3c1eb82db5555 -FixedInputDataByteLen = 60 -FixedInputData = d3704ed7b4afa0af197390d12977bb1d714fa21852a45cf69c6d1c3a58b8805335e81e3164a56e460636f88f5cbbb550694176b1df2562f742dc7658 -KO = ac2ee155c7d760e68c8898176646eebc6aa762eab442a2af9d13af39b0e0b2e47210b0436f7fc03bfe93436895d1802251314c5f0ad37475de69aaff68570c5eb49dfb67f3e8 - -COUNT=37 -L = 560 -KI = 658e48cbc6a5ef028ea4f7790c7b4f94 -FixedInputDataByteLen = 60 -FixedInputData = 72c737d083478d266c18cd9f69e9b15de1f6474521c4b12a99191c353b7da2265f572227ec98e8229e17bd65e7f3a0f73ca32fcb6bc92078a4d80aff -KO = 804970fe13075e7d4f1051b83fd49b9e65aee64bb64b122d14fc9e71bd222387464c89582c00d032cf313cebb2eff1c9c761f48d3c3d23250d68c57c6dd4434e9c4535fe4d8c - -COUNT=38 -L = 560 -KI = fb0272febdfc35dd376417f45270623b -FixedInputDataByteLen = 60 -FixedInputData = 7c3293375ee0f6093f9b6437d3ac3413c150e84d54383c28f209b2e26ac92b52c651864fd550ee7b776c1ce8c37475f76a7625422736200e8c202659 -KO = 7d46cf8fc132649a8088fd6e2f6300f61ae2bcd37e925b18b959a133e01eae15102696f3d6d96f6dbc388700f77a43821803d5235f41c8fbf12e2a6d93edec8a6c8827873cba - -COUNT=39 -L = 560 -KI = 7733b9b65f319e77060dc9a4b1909d0b -FixedInputDataByteLen = 60 -FixedInputData = ac448190d355ea11e355d8c4ff3ca8009987c7a163aef9e019494c48646a80973ec622c1a87509b57f90e8beff54ec25acce105e9a92eef7b13f346b -KO = 9f16949d601221d63cb854bd1fcbc2a62e58f31ed21540c749d740f7425dfcb89786ef25ba813a4cf755c39daf5fdfb38659f253ddf4fb33a9735fadd62aa7aeb27d29109418 - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = dca405d159475690a00e6509d6a88259 -FixedInputDataByteLen = 60 -FixedInputData = e3299c752f593912337f8f6524ea01784e01713c8ea43e9d739e1df42d439203cb91e27cc6a6d3117833a890bee4fa057dd6b06683930f602b2e8f8f -KO = bd94f82819c31719e5af276ed60c4314 - -COUNT=1 -L = 128 -KI = 1876682055d6bcf484bbd36e690ce586 -FixedInputDataByteLen = 60 -FixedInputData = 9b3293ba8933a47fb6cad740f08e160d6d85b4476fb4668f21180ba4a3036831a8acf298a0c84fd97e450b14a033c82683ce59a790c926215bdcd12e -KO = 883c6541f3b86585bf9aca35a9879762 - -COUNT=2 -L = 128 -KI = f72077d4e72d6fdd2d7fda9e8b441fdf -FixedInputDataByteLen = 60 -FixedInputData = e58694ffc054c6bba7a76ab45acf37579a7a39739ddb805de0f6b3bbfebf4137632c68e499c4302222e9e0319474db4e5b5d3218d5cbae850f722cee -KO = 1ad254bd2be99332eb1e0d3de45bb42b - -COUNT=3 -L = 128 -KI = 5e1a986c7dd7307822fa7ba53e05e3cb -FixedInputDataByteLen = 60 -FixedInputData = d637e8bbf80d71e80571f987f1a1b08b87c3be25ccfd1f1d1a95e7b422e4aaf59b6e3760dc61742bd87bb4a111573613e005f1b17e1a1ba911b89877 -KO = 310b47c7fc5075da56b16eb8329d01fe - -COUNT=4 -L = 128 -KI = 34773f7f26ba461dc077c40c14920378 -FixedInputDataByteLen = 60 -FixedInputData = 1db196bc5972cb26efec87e2245bb1984318ca3f5ab5cd2667c52e5892252db66194ca63b7b751cdf0677f68b141b2a123ec4eba9b42c2206014c9b0 -KO = 32e9504800a14862a55642317f22bb24 - -COUNT=5 -L = 128 -KI = f4404a0132e704c3a39152d8f325fbd1 -FixedInputDataByteLen = 60 -FixedInputData = 7e6ae2c60f1af629181c1ed57d0fbec39123b6d7fde879a8121e2445c0105149fb4eea6fd92bb8418a158078d2e84230ff212c9d8f34fbc69590e72d -KO = 3f8a281e3b2c3c3fc3682f33ab93c37b - -COUNT=6 -L = 128 -KI = 0bdfa39e148c339fa522b7d8a9a8300e -FixedInputDataByteLen = 60 -FixedInputData = 7c65d5f145654a1d25d35c934d7b1a25117c73d0d9104564011f46de2d4828f376ea90524a3afdd36644b318a9b2d2bf3d4d3de37e320fb132c6a4e4 -KO = 51449b3ac3a01204128f45e6c5165c7a - -COUNT=7 -L = 128 -KI = eb2c719f40b2aec38b9bae1b78e7e9fd -FixedInputDataByteLen = 60 -FixedInputData = 14d244c7331527b8b89df694a409185c5b201289376bb8e8043d86662359a9ea734a0bd6047c996e82264da5fb0970fdd2fd152162e615073f37b753 -KO = 97b80c34b1d3a699a0121a6074fcae93 - -COUNT=8 -L = 128 -KI = 914ab325e634ee3f749c7bd5330c3e51 -FixedInputDataByteLen = 60 -FixedInputData = a54107a911ce19d37363226b29835966fd08131a387578497c8b4bc72c2574eb0188c1351f96a65b9fea0411542662bdfccd745f03526aa583a1bb60 -KO = 3b5fc2a82e59c36b3c06681c548e927f - -COUNT=9 -L = 128 -KI = 29a8c2fc8de583899417d2822e25200d -FixedInputDataByteLen = 60 -FixedInputData = 50eb0f713f6ae4a0cd583ab22fb6b6ff44a69dc79f3eea8edb14baefc0d14ff5e36ebabea5d6e81209fc7ed3597a5cc8f5314039f0b1916db5d845bf -KO = 7d8857b693e78963e40da65daaccd37c - -COUNT=10 -L = 512 -KI = 010a5548b0b7cf30f0b613231821910e -FixedInputDataByteLen = 60 -FixedInputData = ec0b9c292d62bc358654371c56367df2474bd5929df0dc9bcc0fc4d7c24cf59f1ff494c61374c3e29660e5b178a5b2fb87b552a12790312f23b2ff1f -KO = 5e6005ef1f0802e355bf04efc7f90ca6a12079ce2f407dad4287bdd433b3ba7ffcf84d5dd3885288b18e9c130582f7d8a706920920ad9d81351952eee532db7a - -COUNT=11 -L = 512 -KI = 992597b29c151f36e895dfd042950a2d -FixedInputDataByteLen = 60 -FixedInputData = 568a2fe28bdcfca6587ff51be012c22932f5085d1ce04c05b5fafcf93b285759e4e281ff55809f7abf9faf410694b06e864a47c8b43f6f100485555a -KO = dc052bacdf1cc398cc9f4c95a51aa880e3f2186c5319a8e7304b248d3ecb120da51fed3de761580307e37537983724d96a33f1a52c081a305a528bc5b6f3346a - -COUNT=12 -L = 512 -KI = 11de582d162aac7aaddc616c81c5b896 -FixedInputDataByteLen = 60 -FixedInputData = fdfb1357aa3ccee8bbf9897a85cf84c123c200bc649b6fc23ccf3e98a622134fd6724efb2c01384c8f950c5086cdca8ad7cd9d87aae6fbd619d642bc -KO = da7752b6b11903d47fde82d3fef1db8df989e55f9d8222c8e6ef2a15225a8ea8989c39121ef6a33bdb7a96f32c668a04fa245d10b58fa34ce9fb56ded67435f7 - -COUNT=13 -L = 512 -KI = 89e3f94fd87aaa74725491198da4b836 -FixedInputDataByteLen = 60 -FixedInputData = 349ea194a0d098621801c1da51d7404012889330152ff55026883fa9d412348ad96d75f7a3a98784d9d2cab47be1dcb5e827330907847feaa6fc6ba4 -KO = 445018a2c3582c494ef6f702069e183407e09eacad6e835d0dcae80d55d67c0fd62dba585a843d7feda7faa76ee8d574523422eea8dc2e4bbc3deeb1a59acdd7 - -COUNT=14 -L = 512 -KI = 2b917e2edeb3a069ce797a56f05b6143 -FixedInputDataByteLen = 60 -FixedInputData = cca275f66542507b69a2db5b286166eedf5c911c74ea63eae682d553c10d891a17fbd2c9953936accbd8f072881dc7a8f8dd1dcc72ea92716f02f380 -KO = a0e8ccf75be7843592cb3f3698cecac97199fd7e50cc0aec7fe050b411ecee4ac966976676deaf261d47a8f9fa90cef10845581060f12f2c34d24423b00d7aab - -COUNT=15 -L = 512 -KI = c737f18e0ef7e1918d68eb3ab79e3d52 -FixedInputDataByteLen = 60 -FixedInputData = 1c2a6aa6c77987a043c7abdec77a036834319f12244a288b907ca1d6bc6898fa83d5978ec3effdcfe33dad2c6b4232dad424e053247ac8ec72870988 -KO = 19d783de9e9b099ab31f79b43e2ead5fde3087772d3a7139b6467bd1f2de09583c246b18043710d13c23683b7da03690e5600a8d5847309e843e68deae17797f - -COUNT=16 -L = 512 -KI = aa965b5722b8bcaf0003f718ef3c8258 -FixedInputDataByteLen = 60 -FixedInputData = f3eeee1ee9a643efedacb3c996a13e448680c71fb6b99bb0946e9d4ff0c5513b1296ec033930eb4945763d9d414751164d64fde361d8b2d69b8db7c8 -KO = c0ded8d877921b32034ad7be6190d4eb531a692f1401eeb7e751deb98a75f073a01a1cbe1e155a0c32dbe39833979f9f3a2d604b6355f30badfc042e20e65ab0 - -COUNT=17 -L = 512 -KI = d9c48cf9ca9eecb572c17317c5d68f38 -FixedInputDataByteLen = 60 -FixedInputData = 6a4d6af770a97a43193f56bca72653eec799b84fd112a7d53e5f50beb27f584d731c8175e5040848e915127ea579ad69a69eb3de3790a6199359f945 -KO = c6e9846febef2b19fa94d2d6f134c94d9dbee5f188f8650871274789e61c863c7d7947ee3fa8d1077e6441b1e1eb038ce8d83df59446e1b60a43f21580571d0c - -COUNT=18 -L = 512 -KI = 46593f49c27798efeecd7503db5d3328 -FixedInputDataByteLen = 60 -FixedInputData = a4680cd2699b2859ab48da91a85f059a0203b552f962f7ba76cfc92c5bb76e6bf53c8153769d4b5dd8f1a28056b57f3526dc0db7b5697ccf47cbc449 -KO = 8a91cd9a47e36ddade199f7c0d3d5c0c68b8dbdbc3a2513fafbed7ea0e754cd6ce30511e65f3d5ac5ede3c1658d39cbd1aa5225ef05a367ebd911d520cfbfea9 - -COUNT=19 -L = 512 -KI = bd6bb0d5b4409e44f09d8786c3d1eb03 -FixedInputDataByteLen = 60 -FixedInputData = 42d5554ceb38ca32ccdfde66915ac44b4006fa120c084ffd283098014b9197c877a6651a9c03b567022bf92d760bc20895b750ea7c74fec4ea293a06 -KO = 035e997f1a44e309202cf09f252d89fcbefa672476f3d0272f70b7226f0c9aa52894e841fdda303ab7c750015de0c5ee04b3b43ff15366fbc7809df5e81edcbf - -COUNT=20 -L = 160 -KI = eb1bafe30a14a97eb017745ab41a79e8 -FixedInputDataByteLen = 60 -FixedInputData = cc7936455b7dc319a66139740da66d08e6290c3775b315269a6ab187f8984a3f7af76db619d931c667eb7d306e98f17ae768c5e89b9c85d7cbe32200 -KO = d5a0be529db23f8a81cc847f53bb6ba4b6c97981 - -COUNT=21 -L = 160 -KI = 45105c8e5dd466c2529026b7116cd85c -FixedInputDataByteLen = 60 -FixedInputData = 504e8edeab2f04ceb91411193d3a2218bc58b5a4dcc7d41ff2b24ac0b5d1c77c9c78b583d518d4254ee6c1729f065b33ff9aefb9b17f1e13381747e0 -KO = 5a3b4e507feff80d6a65f627bd2feaee0d8d173a - -COUNT=22 -L = 160 -KI = ba2feca386c5fdf852a16621717c152f -FixedInputDataByteLen = 60 -FixedInputData = c65b321004ca819857710754db26e6b92dcad0820063d9822997e1d91061bebd21386c7bccca1471ebedae3aaf7817a8fb9c257a98f43757bb713896 -KO = adf33997900286919d69b65b1f63dd0d32e7b277 - -COUNT=23 -L = 160 -KI = 704de84368658fae163ed4fab2767cb9 -FixedInputDataByteLen = 60 -FixedInputData = f2a4bb3d67325a2dcb2da4ebcdc10664c7bd019e5eae11167dd88cf49323814565eb85b0357d4a1f725771b70a3a8b9546a3da142b5ac84230f0958d -KO = 33669ea5c81423b9c4ebb035c2f3853eaa22175b - -COUNT=24 -L = 160 -KI = 6d51012e5c81d9557de32fe16e34f42a -FixedInputDataByteLen = 60 -FixedInputData = d17f76cf3a741c162f51b97eb2ea406a99087a49ffb327e7e905a99b12f9084dc2a30d5bdf7ecb938cf380163aaf5780226c604c19a5b59927e4008e -KO = 40b0100d55a7b7403c646aa6a0ce68b3c5c444b1 - -COUNT=25 -L = 160 -KI = 9a6fbb648f7f483b4fa349f67b2b71d2 -FixedInputDataByteLen = 60 -FixedInputData = ba4cd06e44ee4f9e8883e42a1ee635eb4627144ca4fb411a7480f2e7a9a7179e73890463e461795366e402f3be4faa92149ae8a2471c64d6829f5d78 -KO = 2a9d3bf64349e638c4e86c10cba350fb5417f1df - -COUNT=26 -L = 160 -KI = d2b6111da3c0e0372d2288df76646d13 -FixedInputDataByteLen = 60 -FixedInputData = d449f9dfef6f1be9ea27e62ea9ca82ff89ff23767000e910647ac9c4633a969265d35eb66e1b1cc12fb72b241b13e9e9ee59e493805facd4d4383da3 -KO = a3bd1de58c898ccc79cc3111aa08795f3a00bd68 - -COUNT=27 -L = 160 -KI = 151cf28f14baa29625f3d207f13f1e2f -FixedInputDataByteLen = 60 -FixedInputData = 19430dbcf5981dde0c7c949e8a5b68ba67d29c7faba96a48541e698e7511de22317b225b4b4e6a2186e8dc12321b78cb55831efe8c4829b4c2f330c3 -KO = 310044340049665ae569e1d9b1cff97fc323db12 - -COUNT=28 -L = 160 -KI = 95895e630e6ae1df46927817f39d3781 -FixedInputDataByteLen = 60 -FixedInputData = 821bc1d39d693ee0e81c9365f504acc264be65912d2a2a34070b88752540dbfa26d1c4964ff25b1bd748defcc737ca375e8f3907a4a6d4c6efdcca86 -KO = f7fc58b18d594b78724c8759cc757934a71bbde1 - -COUNT=29 -L = 160 -KI = bf45dcc498e034cefa8c096ee751714f -FixedInputDataByteLen = 60 -FixedInputData = 53f1af1eb4f6df77dacd9b694f663451fbfefa1df76ceb79b16125b5d95933ce11917534fb5b6267d392e5e8fae0097608e0c433c1951256d92eb05e -KO = cfe796d512d676f66e219612c832d0c9a0747f7c - -COUNT=30 -L = 560 -KI = 9175bdb3b8b445a7c504b67d8affb61f -FixedInputDataByteLen = 60 -FixedInputData = eb7bff3e2256615b026c7ca815d00bb489297334e5c8a93b5f8076a7ac961d2a87f328bd784d2d4d7c9d8c32c65846a8fdeb30582b5fb60bcbbcbad9 -KO = ab9fd5d8fcab53c90fe47470d21bcd4b716d125cecda1621e5ab81b80e0b59711534a21cddb6a4551d3c4c6b54d050614a25e2f3b7da6374136b88bfe0ddd9bb91317555f07f - -COUNT=31 -L = 560 -KI = 5ac32ed66f4282ee1d995cad53d148ac -FixedInputDataByteLen = 60 -FixedInputData = 5c950d82d947b1b452c6384e7c575635fd3520c3c5a02220ec5325f1e4a862242038513fc93a05ae1d6c2ea23750aafc9556c393602dec7db8e04b66 -KO = e436d5eec5eb37650898f130a9c3500e53af232a182680a3ce5edcd4682dcdb270f329b59e67aaa414d3cc3c84b94450b7837662a08d947b754d3829267f96c4c3d017c92d75 - -COUNT=32 -L = 560 -KI = ba06fcc43a0ebb0f0b8c3ca4fc64e37d -FixedInputDataByteLen = 60 -FixedInputData = c0b59af9348c0c99d2c5c1bb937806905cbb8d31bc2badd1803064f670cf1550852dcb703343b6a7fc1e9d39db3510d31c9c5126075ecbf52f5edf35 -KO = bdbf4e384afe390b178a9ec387370e40cb3efd0c5dc861f38154360395fe3e1d792460306de057a8b261325aa2853664129c2e308f834e5f6e978afcaa202c3c2a8bcac41058 - -COUNT=33 -L = 560 -KI = 9ff5958952867ce97598e0959bc82bf4 -FixedInputDataByteLen = 60 -FixedInputData = d763c82adbc0544da088715631e6cfe72c47ae6d6136695b688d56fd2cae64d92db454aa28627e7d2cd883ce5b6a2f2bc8fb958f0db60f213cb2fe72 -KO = 4d1dac9943c62bac34cf233ee5d29a198463e8e4814299fedb1c4ae567e1c3953a479b9b475605752d18b51cb7e7222e6feca48e20fd09e5233ba1d20d3f9d6cf1e7c5d900e8 - -COUNT=34 -L = 560 -KI = 0dc8a4e52ff6f4951f9560d8bc3298b3 -FixedInputDataByteLen = 60 -FixedInputData = 8cfe6117f353f33b56451b25e3307b803881199f1cb9c2cac90bac099ea624fca23ab2bacaecb74886d8c5594d013462782de58754d327b1059a7d93 -KO = 6bab84ffbeb72ed7d952d11f9b006479644de13d0e30dc2db56aa6442f8126d76b6ff6a1f723342e2c0d2db20ccad4fc953566f12ff921b47d90c894086877694677b917ad17 - -COUNT=35 -L = 560 -KI = dc20e715eb793d91d7a5c763c361bf22 -FixedInputDataByteLen = 60 -FixedInputData = 0b7b764fae22b31e5f0c5283bc353c4773339972e553f271f682ac0883de48c8cfcc7d1042678b14465cf62c1918150684b0f1bb3ce88364d2ee1e7e -KO = c7f1fe3127c8cb7453610cf31bc4cb6856a2e1eb81b57a22c122401148031c06627736f038784f14de4c80fe6ff295ce835828293f76c8960148a9eec355d4ad5b51318d7555 - -COUNT=36 -L = 560 -KI = 7073fa25f59b1bcf9c1f6acbc24044f8 -FixedInputDataByteLen = 60 -FixedInputData = b525e38ca0c349c917841c5f531f4c6aa3a18eb8c355d935e4387f38d696927e2eba734575fa747f3c02096419e34ff5e4d3b05352cfabcfe9b69315 -KO = 6903fda7c3ddb7cbcdd182ad845080bda8aa7931562d1f7d69bb88a9f1505cf0dcdb12c1ad68b754e29487d62c424197cde8baac3a5c56368d5e0b7f19f45ce25040178ddcb1 - -COUNT=37 -L = 560 -KI = 76f2c6125434e70153f2a89dc63eb43d -FixedInputDataByteLen = 60 -FixedInputData = 2e7f02e1379e02163e0079cfd9cc8658cb9298a19961f2dcdb3a04e3b8ca52dc1dc213069737ea5747e6fe51005c7cb0966d7e1ad454c91fb7561a98 -KO = ad3770aab2d2f58aeab81a8be985feac8244a9d8d56ea064d6889e9d3f7df6cc41d9c5a31b11acfd995f535a9a3cd9da7fc5d4aec9098397645813f2cc470569c0ac18d2c836 - -COUNT=38 -L = 560 -KI = f8554ff2756560bd0dc4b5aab3a54027 -FixedInputDataByteLen = 60 -FixedInputData = 40ffe35262b241b6f29a709e19e7006cc33c464cf1764e409e6205ca0539c450e8c0a7daf47b8da76a762eb127cc06df85a2646036d1f8cac3cd97e9 -KO = 9d24b9816b9537d7cd66e844018f5641a7253cdbecdcbb06839f1aef8e681edbf0d39cae884ed6006d614c953f863452893cfec8de175831836475bb3266a05a03f430a32375 - -COUNT=39 -L = 560 -KI = 9f20296992d1e30f991a0079dc834e44 -FixedInputDataByteLen = 60 -FixedInputData = bfc220952f868e32f88ca94db8559755b3a653b4755fc67cb9dba157fc3888007b169067e4272d4ceb75f93eaaa6bc4a5637e3da77a463ec5512167f -KO = 40787b5bc1c7d78b59f2b9503c8993640d55376e68c46bbe49316c05d05c84eab007cbe67071b0da328009117dbe453091a5c9d923556ab1a34e5c41a335d08d3d1ba37dfaea - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 3a120205b31542e3733fa62927ca087d -FixedInputDataByteLen = 60 -FixedInputData = 16ac887eadc0240750ad9b8520a70d4c2b0e2bf325e77f45aa8b8b7915fcf6f5328ffb1331189dd81cb87adb99e7ac2b7c022c0cc22cbd698c3ac1a1 -KO = 551054d217dffdc83e97f37b8d80df5f - -COUNT=1 -L = 128 -KI = dde3b3d4b0d6054aa09ad79e49b4c01f -FixedInputDataByteLen = 60 -FixedInputData = 5cebbbb27d604b461d7f6b8f3698a446cd34b73becdd366d833ef8ae2bb92e95f0f5170867e8a86a2d2c11a830eb2285229159e338af34bb16ecf704 -KO = 10d13ad0c564ecef43f1a45f0c5ff61a - -COUNT=2 -L = 128 -KI = dea7aed2155d7a9498e809e268a42f3a -FixedInputDataByteLen = 60 -FixedInputData = 45bd48fa198ceff415d61879b72d54cf4881021ec0cc843d8da5ec2a855931a18173846367fb2084a8b6dd3350b1a7457e33af6cd4aa1c9e322e3051 -KO = 7ff4ca439630cfdf8da2ae762145343b - -COUNT=3 -L = 128 -KI = 352bf4d8085e0f105a2a940101f2cc87 -FixedInputDataByteLen = 60 -FixedInputData = 4a7ea35738f7f0a7316645a53a5e5cf40c63730bdb6eb879e6c04c34ae83e3d1a5de6393a144d200a134760c15630194537cebd57a26146d75245be9 -KO = 42749e452b22f91485d192ab6f05b67a - -COUNT=4 -L = 128 -KI = 3df708c25cfecec19ae3a37b20acc718 -FixedInputDataByteLen = 60 -FixedInputData = 744cdf36d4c273aa9b363e048f1cd60a5288632d2afe0e7aea9725a200c762fac76136125439d17ba6e1f613d27902e672a6c48e6d56f9e1b3a7bff3 -KO = 97ee78390a2984b36d6d26c00a69ce57 - -COUNT=5 -L = 128 -KI = f964db915cab1e36cdbac2c109560311 -FixedInputDataByteLen = 60 -FixedInputData = c85dabd9a574479659750d5c3633d586114ef4efe09dbb64333f7cb72d8812ac466ed1461a1b585a579bb7117dadeac1dcc5119cd442b00987695131 -KO = 174c25571c8f420c9e0b71e0f957ca04 - -COUNT=6 -L = 128 -KI = 2b6f270b8db022adc17c8827d890dc73 -FixedInputDataByteLen = 60 -FixedInputData = 2af247ea6e5ac942c489af3e7604252daf3d08c5eac34fe207af829c6ddc2a1030de0f6a81da78403d7232573d185a1822e236fd559fdf9f70bf9281 -KO = 008873d96c13d28008130013cadd2e95 - -COUNT=7 -L = 128 -KI = c64a2883ee7698aa5fc8b76c6ccb98a0 -FixedInputDataByteLen = 60 -FixedInputData = d5dbbd25f2fd21a5866923fc4e9dd7e5ba9482b7df06ed560c695f5d2678ae700117afa8ae33aa1b24ff9a954a2aa72e7ab53579c452cef3b5e3fe90 -KO = f41634971a77fd7e63507b811689547e - -COUNT=8 -L = 128 -KI = fb4eef2b370d2d960d9bf4c9fe2a5a66 -FixedInputDataByteLen = 60 -FixedInputData = ed16bcb31bd857e8d2e7a823b2a723c7954ac1cd18e87315c3c7413875ec56608851126ff0bff01282fe10720f2f81e2cdb8805b737f4c3c0b7cc186 -KO = cb98fc38254fbd693199f5f0b6417288 - -COUNT=9 -L = 128 -KI = 38b20c4629055e3956cdfd17ed6c7ad6 -FixedInputDataByteLen = 60 -FixedInputData = 71fa991f5e70dd13af339ddb2c3a66402046ad3a183411d8d7f1d006c99056c4737715fcc4b89a11b9305a405087db84e1991756297d5a5253c78428 -KO = a8e42c3269ff6da4e8fdd5bc7e4d700a - -COUNT=10 -L = 512 -KI = 0d0cb89ae4e2ec6a05f4b38895117dcd -FixedInputDataByteLen = 60 -FixedInputData = ad6161f288c00438b71f43caacf6f7b6313a797ffb4e0d890deb06d142b991c7fcea5b8fe821fcb250927e93297516f73f9fb29eea2629164c68662c -KO = b28d8eb3aef3b1d103330f7379f0c2c6bc99355200516cba5cbdc7cc76fc13875c3ec0e9a8d75349dfb72d838e6c4d38fac54dbc75c7af2237f3ae5e8c7d8d33 - -COUNT=11 -L = 512 -KI = 0bdd3cc640fee4db4834a16cf1e54ac1 -FixedInputDataByteLen = 60 -FixedInputData = 54ab132fcf7c19ce58003d41d2bfade7c9a4fb083819b05d598d481e4d2471ad7ebddb1b378b631a65ad5552d0ed18f1def207839da77918295aff86 -KO = 060ccb305f38eabfebd7094c56ad18a7c9fe78651902b1a90c9fb3a42f7abb1892f543afaaad98f26af78e46fff496e0dd2c8a2ed1df227b946832b99b59204c - -COUNT=12 -L = 512 -KI = e3462852c3656f299b905c1c2b912e2c -FixedInputDataByteLen = 60 -FixedInputData = 15d6b4001fdcd1d87378eae7d9f2fb2f6ab1ab79085676f44592db32ffe2fdb59483955d2b8b744d9718df70e1dc602225bc1b608e643c9f405f80e4 -KO = 9ce997e3ca25eacad104c920f4e823aae5f5aec432c22ed58da0ea5f7f7efbd6751dd8163dde535a8b7fe8485b09584c7b99bc506cafd978b8af9df63532f484 - -COUNT=13 -L = 512 -KI = 88051e5d5e9a7b3250c3d441ae7c01b0 -FixedInputDataByteLen = 60 -FixedInputData = 102c88c1d7ffb84300d359a52b677691b33f19ab3c968571c4319d1fc997152ff09c80ded06fd5d26ff47ca5ec01ac4fc20f55698d8e1b8e14dcbc1d -KO = 3761b1dd92c4b8777ecc59abcd1d82830f18c49d5d3e09394b6584f71ed4e1ba54646f0298d25f0de416af5f4df7872c687913bd014aebb07d6c2da9f0974f62 - -COUNT=14 -L = 512 -KI = 5eb24c29f5c23690aa230e9760210849 -FixedInputDataByteLen = 60 -FixedInputData = 48edc8508cee38adc79be1dd6afffddff9b52f8714b7e26388991ce22dc833268d9fd51f41ae7a355b6a04b735677f4694b00ce56f2d31be49b73fe7 -KO = 3b667bdc154c89e1667ffc4b816f8a2944a103aded1bfc410a2092b4b04d4d18e563e1e054ffb884a331d29eed909e5de84aa9bfe0255759b99d13868ed017de - -COUNT=15 -L = 512 -KI = 07b7796141cdaf98cfd06c03b07a7a12 -FixedInputDataByteLen = 60 -FixedInputData = 81e7c563ee0ff40d4b6a3f67e683fc2be974b4cfcfc11400e0f17625e480027d2d79546e2824fa762881cca5de635f3ae1cbbdae79bba9597fc03b8e -KO = 8fff3e0b61bc0b0e864e26f8ab1b39567c3e132df5de907a2656f52ad20976adbb7ac601f4186ea722570fbc44a462d751d2512533e6b75e32a518a569412740 - -COUNT=16 -L = 512 -KI = 7591b19605c54c94ae242b68916c4430 -FixedInputDataByteLen = 60 -FixedInputData = f28452871507d2e1dbb17e0599dffd7614a0db6a8a16395d10466d9531f3de93d168d9b96aa73f312097445a1ea2ea5d432aa813e4dcb5f27aa71c58 -KO = eb4f4d6dd449f788b5f67f588eb49543a172abd30ea3e03a8f035f544c22d725544986a877cf65363fd93448e9fc2069c8f4c30df9f49b20cff477d82208bc2b - -COUNT=17 -L = 512 -KI = 2745d2d11bacad780311d85b10726dee -FixedInputDataByteLen = 60 -FixedInputData = 7b2bd3785e407089f0e93c2c0f4bbd67fa320bc112a9cb973a2b3b0a03ee17eb02fc3a1796b73dc2cc529085a3084430d08588ea460e25d5daa95bc9 -KO = f52eaa4355fdd207086afaf1d5cfd136234b6322fdcc2a08173bbcb52d110bbb191e88416baa1c44eae275b6c973e2abcdb4ef311cf33f868953408aaa79b733 - -COUNT=18 -L = 512 -KI = fd7cc8d50173fd723c1c8fc80a7babb2 -FixedInputDataByteLen = 60 -FixedInputData = 9a1261c7a58af45513ba380a4191f5fb09852a4d345e55a5f1663617a9d1cf3c9c0b7865c8b38b17f68dda81848a0df6edf82f41ec9d2c46268db57f -KO = d4151c2077c7e1caf6c2e265ae94695ad5cf4e0979409c12fb1ed8cb85031f58950442ca9f35050c8f9519d781855520ad9dead9f0bb3e32ad15292682171df5 - -COUNT=19 -L = 512 -KI = a99dec31135c7aeacceda0ca00f40bcc -FixedInputDataByteLen = 60 -FixedInputData = 5d8304ac46fad708fc3528908914660f7b909818f5b56f646264f3720eea45a13cf2aa50db0f0e23f0b3c93b7e4a2855d790660231dc7b19944b8b95 -KO = 34b811053730f8310a5e52d63535e9a81b459c649a2434c5d62d19ce70e67b21d3e979c522d8a60f4ec75b473d0f3e4beddc90c7b94267c2cae8e339b6845af3 - -COUNT=20 -L = 160 -KI = 8f23dd2310176bbd77f0d93bd08dabd5 -FixedInputDataByteLen = 60 -FixedInputData = a601b0600984dead8734c2b8f36ccef2fe12b8bfa3e467fdf8b8755e625ba1653491d7bdde1226e0070ff7fa24ebfa4ad6b1805e0f2c05b80a495841 -KO = 82eb5e293e4b9a7d100cbe1c48c20b583dccdf61 - -COUNT=21 -L = 160 -KI = efcc9cc9d3083b48f89ecc59577fbcd9 -FixedInputDataByteLen = 60 -FixedInputData = 466bcc815f5bfc14b153eb251b5b59f2f4462c337d4a61dbbe57990cef045548c4b94a9836c72c40801d32bbea80db33cad91995af8a96fc219c9d3c -KO = 03a280aed72e037dfa1fe903b259801c0b55ae50 - -COUNT=22 -L = 160 -KI = d69ebbc1179843ff3d9c9279803dab94 -FixedInputDataByteLen = 60 -FixedInputData = 7f65488e1fcb732fe7c110d9b876f0119ad02ae07d5f567f829241ad427d6f5d20db8decf1ed570814aa2fc655a739a9e3862ee979d2322623636cd5 -KO = 08fb299cf69943a37c9a9f67a00df20bff4b738e - -COUNT=23 -L = 160 -KI = cb5c92c24edac824d4ad60b3d3af346f -FixedInputDataByteLen = 60 -FixedInputData = db1d41c8d1b7ee01adc7582349f28db53d86fbc7c242e4771efee96fa91a8cc71feb62c86670beff97bc1b373a6bc3f604a1d6aa06cc0d9211195028 -KO = e267d4c92bb67481e7fd0c8c060b1d4a707f1086 - -COUNT=24 -L = 160 -KI = 726d701d26876c882bc790ea6cb2101b -FixedInputDataByteLen = 60 -FixedInputData = 6bb88de11746f313a2a85995ef3361fe8d7b66ecc75ff6bc7366776f303a99ede1b51a6ea6e18295f172d8a2eec3ab121bd1846903cc3cdbd84fb813 -KO = d85bded9fdb60c483629a958613a8eafecda04f3 - -COUNT=25 -L = 160 -KI = b75d380c1adab80041f72ffe0f1cfc63 -FixedInputDataByteLen = 60 -FixedInputData = 32d3761a642968a33968fdb9610373b98e3a192c136952201be667a3cbbb8273ab4ac3dbe7736c6c0dc5389d140b69d74a24598f619adeecd1dab6a5 -KO = 8b1b9542be15d4a0fa75f0a9472abed04fbe4a7e - -COUNT=26 -L = 160 -KI = ca5445389517bbfd2e6420dd5ca2972a -FixedInputDataByteLen = 60 -FixedInputData = 4e3afb1af5c19403272b66262cc533be313dc3e81be95c107fd26704ef7ac310d37c62beba3ab5ae0f5893e989fe5ffe2e355b35fc37aadcefea2834 -KO = b49f2d058f29270d72c5c1122c52dc3de93cef73 - -COUNT=27 -L = 160 -KI = fdfa1108b2051c58e9230c4afe482285 -FixedInputDataByteLen = 60 -FixedInputData = 451566ed6270d42b87351f2ee818c9d95ec6d40065d0a206b5b2d00e8be7654183644631ade7fb69dc6e3912fe3f2a3dbc4bf1e48df87bfb6edc2d5e -KO = e037621af43dc0a848f78b1ba6263309e2f4028b - -COUNT=28 -L = 160 -KI = 04fa3dd70eb5bab029a9ee3efce8f4dc -FixedInputDataByteLen = 60 -FixedInputData = 296f3d6815f08f2870d33c8977c38df775d0edac7cf44b4eaf9ee69208cb703be7dede8dcbe1e96025db005d4dbf645e5e44b58198fea54fee149cf2 -KO = efbc0a936a133334c539df182e6711168a7d72ac - -COUNT=29 -L = 160 -KI = 18dafe60760fb14931a0b1a8853d0e6e -FixedInputDataByteLen = 60 -FixedInputData = 84e16d488a0b93989683ef25f08be9c901809099b3450d0115364e197d846de4080552ff502ad4c8ebbd42389bd0e66a91b792f60743aaf4a80d6b7c -KO = 8024be2079fb542eb786de4ebfaa15b31f7e718e - -COUNT=30 -L = 560 -KI = 4e3468460f1a412a4c5b72a4194016ca -FixedInputDataByteLen = 60 -FixedInputData = 2ad6c2a92bfef52486e6f940994583c2eb7a7043f8b494cf00c432be6b5479e6f26bb346fa95e003c3ac756d358f1bab7f76aba0700d41d1f24499f0 -KO = 7cd773c76f3d2d5e7735d4586c1228ad65a531d014ca8fa7dbe50b2b3e39cece1b8a11a6670b201a2d94117d17e4903abf4a4fed62dd8b6139db463cebc6392a96b049a96a1f - -COUNT=31 -L = 560 -KI = 3e6625a3b31c1370615a89deeb73818f -FixedInputDataByteLen = 60 -FixedInputData = 7697b0007a5b484e629944fcca2309513c96ba60d5f01a98fff5cad9bca92c748fd0a81c6d688554465ace1eb53be78ff68d3fe0d55033c6c9e49409 -KO = 93f08a1f61d266972b527b44f6f150f767650871127905eb72964c77df04eba5efd44370958823d8c90ee5d173dddcb7ee840db22e079ce15ef04fac7538bc810d301115faea - -COUNT=32 -L = 560 -KI = cd26ea5f06e37d0e4dbf663c4c1aba94 -FixedInputDataByteLen = 60 -FixedInputData = 884d76211af958e09a28522fa72a23337f412b3a6f7f2b12a5ce5266f569b0d80e255b35f0d20e547b5dae744ec32c0dc0bcaebc48ffc775994835ee -KO = 6e1d68c6bc7dc06a47ef2a9121292e8e7bec6957ae80f820d83e048335744a408306de323d02d60ade8f56c0a1be3cbfcbeb2f5a7b5a6fb824b7493b9ee954652721bfe43ad4 - -COUNT=33 -L = 560 -KI = d02f9ac6c99157ac42ff694dfb648419 -FixedInputDataByteLen = 60 -FixedInputData = 47fc920b904fb87e991b06f745d059427ca1a1ba01aefa325aad22214908bb89135f6c61a50f8be19445aacd8e0026f4cd65fa441c4d08b65ab8311d -KO = e3c10c25ac64bd745457da0802827a37e2603347d8c5d7ed504c48c8c67f8bf8a62126be70ad96bef3cd49453521919378c925826347c436d84617f296c08b002242b64331e0 - -COUNT=34 -L = 560 -KI = 6152b2e457e07e752d21a88a56926d2e -FixedInputDataByteLen = 60 -FixedInputData = 9bfccac959611c86d3ed7bd6bd446221e4fafded461ee9f78f896d4bf69bbe8b2748a9ae476dd29a01a59d6bd10a1c90b9fe193df2ac5414039e8b7d -KO = 55337cb79dfa6340105b6ea2aa685eb389358668042e8d13168d40628b3ca96de2da8389c5bb96783fd9efc2a01d3760926be13994a7e913d6b8b29bc16f0872337baa2525bc - -COUNT=35 -L = 560 -KI = 77c1a804fff7430b1175df91db3f9922 -FixedInputDataByteLen = 60 -FixedInputData = d206308e1df74d6a758f2c02f74d76219e6b5e6bc108b1e65f4924efb383cd842d5e768d3ff1f4deed1320371b256edf0690a11fdb7c8c040a7ab5a3 -KO = 660e11770ebf48ccccad14ba0a2911ed87f576703ccaf0be46e22804706587ae3dd50542b47d47aeab39144c914d4e450e4c36ed5f333b1f59dddf1a1a8732acaae42d5c5b7b - -COUNT=36 -L = 560 -KI = dd33ec2942e7702a4ee81c0e66e10e89 -FixedInputDataByteLen = 60 -FixedInputData = 8743d78ff26ab86aa55b581fdf3d7d68de4858bb8e5b8230cc73b838a798fce6753eea7dfd73348fb141d19b7c32d6f820bc547db3c1542c04b5ee5f -KO = 7465f0c0095cf72c31a874c7736cb966d9d939a33265558a886d265f76fb210a0b91e4146992a781ff56b0169e035dab507a2d1602e2cfe257ac883ae5418f6d3d63d85072ff - -COUNT=37 -L = 560 -KI = 987ff1ef4a7f900dbe74f23fd24832f0 -FixedInputDataByteLen = 60 -FixedInputData = c8f3599a796dd2f3bfec3c0a4901ce3357f85c28a1cb96d4c3539fbb1f48cd448f22b4f113a635f4f0a5de314e7a26510901e2138a1a8cf557228cf3 -KO = 58ac5e27021321eaea84bdfa444f17f8d9422e57d87a543b564bf6fe6bb8e36351408e9153a3511047ddac66def6945514d70343b7c4ce88e57293de8c6e7cc9d46b479683e7 - -COUNT=38 -L = 560 -KI = adfbf376d1b9c4aed41bb429b46280cd -FixedInputDataByteLen = 60 -FixedInputData = 06f03327053a6dc2ce42f08110088341f670055c9dcc395033e0073d00685a257fe03df431177172548589c96907ff01efed2289957c5b2758106870 -KO = 6fb5a7e0b552420cf5948b49a65e09cdab74b97a42722607ab83725ef912af7247efa672912bd8195a176ed5d265999ea1cf19309ab472cf7c1cf0827425b39918fd2fb33483 - -COUNT=39 -L = 560 -KI = cdb92947ecc00f7fdaf8840d4e3f699c -FixedInputDataByteLen = 60 -FixedInputData = 1636b53a3bdab3872c1d37090be38d78478b82995768397fce7212a1a8ac072cdfdb68335098a0a20ea4858f91fd3f223f17642eb28a180ed9778084 -KO = 9c281b83dc197afcfa84259d3afebff11d24cb489d771b0e90030f9da6fe572962702913050707667b44f0bcfdc6e47fe6e259e064698b212901105e0d91c8bbecf1aa70dd5a - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 1bb6a8206f3501d251b4de0477ce970a -FixedInputDataByteLen = 60 -FixedInputData = 8e81ea167d32a2818c8cec68f1d5858f4c6643a749cd699bc7647b0fccf2b402ea2bf4f57e7829ccf8f3430d0176f1ef6576b23984ddcbdb3ce44a6c -KO = 7bdf1db4dc199823d0398117f7f0ba3e - -COUNT=1 -L = 128 -KI = 399ecede97ea47586c376dabd572c810 -FixedInputDataByteLen = 60 -FixedInputData = c50142da148e746983787d10ee50f8fd72d5981fc7e71873f558945bcc337125dfa532c916f8bad565bf6aca30d56a4862baa213a348f7104114a6a7 -KO = 59bebe4b49e1cb276ad158177a82c685 - -COUNT=2 -L = 128 -KI = 6567c8e5c555f658bdb655c28c211a8d -FixedInputDataByteLen = 60 -FixedInputData = eb71ca118d660c0da96d567faa7a2be9e06d68c8dc8ceed38cf713d429e38c31781f91d4b83297a433b2c7824710442f1dcee11268c372cdc26db14e -KO = b91fa9831536d382ed0a6d9180170abc - -COUNT=3 -L = 128 -KI = 68b7e5c19cd4e8b4b219b9f3bf850529 -FixedInputDataByteLen = 60 -FixedInputData = 0b6189c1d871abdb453bdc62906f93db08ddc51335bfaf728a249e069b0f51383d24f54292de21ecc12bc987b7a200bd9ab132f42ff8f3eb4f4f39d0 -KO = 9340dffb4379a490dd3f2f6a2ca2a9f3 - -COUNT=4 -L = 128 -KI = 08c02381f190dc051eb6b68c991b347a -FixedInputDataByteLen = 60 -FixedInputData = 2aa4b9d4f1aa884af5429dde77e911ad93068219db698f69099cd6e72c37e661eaec8b66e39d58008441c66cc016964a7b7c82bd3ada204a27b5fc30 -KO = d875e90bde37b3f67c484643ce34af06 - -COUNT=5 -L = 128 -KI = 415289e69ac269234e352aa6d210cb9e -FixedInputDataByteLen = 60 -FixedInputData = 397ce64509ee8d7b6450a56422c38ce8e1da26035c77a3b3633ae1d0332f660f7469c7050aa5e2955270bb6d7330918849a94d3501831abd4f9b2d4f -KO = 76ffe69d024e319b8f7798f3468db309 - -COUNT=6 -L = 128 -KI = 3081faaa3582b3c85c654936538bd3c2 -FixedInputDataByteLen = 60 -FixedInputData = 04b5e06f9c413e6af5a5a1d35f00a737041279d57e904a825ec3522b3a0afdf9d2fb4280bd79047448dfe1f48e1ea58e5dfe793951edd2004c4633a9 -KO = b98f7f0241b6e6f439a224b8bdc86330 - -COUNT=7 -L = 128 -KI = 6f7ace3dafdacdc9360928af8e9d0297 -FixedInputDataByteLen = 60 -FixedInputData = 7d7f87bdd157a470fb08fb2e7e0c7fd1c15014dd33f5d0c5e8058cfff87bf10847f2b1c57c949d30261c97dd33a59fd13f8bcb9fae2e709f5bf8eb4d -KO = 9d6d38aa0bbdb6ea701503f58781e3a0 - -COUNT=8 -L = 128 -KI = 05c01303bc7665b6c4c783166583f25a -FixedInputDataByteLen = 60 -FixedInputData = 5da91b53d9877f73d6f11eec49a1b6982041cd5ac4ad779e0430f89850b0b531fe49a18571f6186f06e326fa45b05cb8d1b8dc6bbe50ce15bada7c98 -KO = cf180ff6702d26351315f57352fdc910 - -COUNT=9 -L = 128 -KI = f39f74614ea212e3866f579949accd00 -FixedInputDataByteLen = 60 -FixedInputData = 1358b61e9f5faac0ce2d8b051182eed4944fc6cc8b5f7c5f7b404516d0080b36826a0aa81a670fee08d7b360de8da4431e0c6865d94246b96418d63f -KO = f698a20abb54db84dcb5b9a878d2ce52 - -COUNT=10 -L = 512 -KI = 4499a6ccb35c9d1f3e49b3a83c24d83d -FixedInputDataByteLen = 60 -FixedInputData = b0b986be41672b5087099215e011ad2893c2ce650b687147cf59d4cd5945f1f63f78f450909d4534a67b8b4080226da2831935525de75a963b20c2a0 -KO = a58c0be206ad3f8bb0999af767c2f7f590664a725c385c9206b710ac8783c04cc7d6e5045715952a9830df71d633544103846e17988a41cd34ab119d8a3af051 - -COUNT=11 -L = 512 -KI = ab95abc4b3e5ddd038b7d77577710046 -FixedInputDataByteLen = 60 -FixedInputData = 696ed3bd6ecf5b95e9744ad878752d6a559e1f13ff9873b57d5dcd0589939cb250a87a2af36d48b67ba61330501d80bf1d426a83d1a13cac0ce45315 -KO = a7733ee574f3f9a24a4a309faa9bc4d741ef82ff523a88fc207c137e60e2cb72d9ae91b36e140bdbe3c0b9ddf69d82e73abd32bf9f62e61f7ea2be4405b76762 - -COUNT=12 -L = 512 -KI = 20075c9f34306537771d6cab8243fd32 -FixedInputDataByteLen = 60 -FixedInputData = d62f247487e580e99d56cff21412c503f5c10d1b61fac6861e83c83cbb828912db82d364c99b64e2c74fb96e29318f5352d8ddf99ac40f5030f396d9 -KO = 70f28f363eda0a3a2078d8092d2479c877cb1a1881da52c83155200ff9a7fab06f894045b2806df2d69b091adb3e6f0e5808d71929a3d37741a40d9dc7a3dc47 - -COUNT=13 -L = 512 -KI = 11380eae5b42c7acd02ed718a25a56f4 -FixedInputDataByteLen = 60 -FixedInputData = 06335e85436f13cecc64707ea63f98d0e85deca8106a125c7cbc28a5e96fbb65ca86850dcf6bc8e4c0a5c9966213bf371498f0bb1beb62e01012b378 -KO = 265a08df1519f9fe169f7fc8415657e6d1863574b16bf3fa18217a5c95c0723e5bfb2763ac78627d0b6b3f2e34cfc32600cd760a464e535ac95bace9bf75b9d8 - -COUNT=14 -L = 512 -KI = aa0bb28301c41d1dd309564a43d27ed0 -FixedInputDataByteLen = 60 -FixedInputData = 8f7e3c49920d8f0cfa77335a5a575890e5e8635a5802a8fc9c5ede411d3c4717a32f4008894b86e974510ec73254645c67c13a476050e161d4745be0 -KO = 2f2311f017bbdb7031ff1c5d3def82430ca3572e768e0e68e3409cf40b347b4247d222a6d045fef4b5f0c4cec86cfb5fd27a3c88cc06729f86ec88f4f77c4f0e - -COUNT=15 -L = 512 -KI = 46933e79e78037c1130210581277fa7a -FixedInputDataByteLen = 60 -FixedInputData = 5b3f29d8aa3034a610132a864740e95244d06274aa33917ed556db74cf6a178b24f2efebbf78c171fb55a8656ac991b7f68f55b80ea22eb02da736cb -KO = 8c4a11e0a9c86c38181ee6f937717a3842d33da3e872f5e29be967155d053e25a3ad7a2f620b585637e470dc65a9585702f625a66144aa3b674bc0e0afa56546 - -COUNT=16 -L = 512 -KI = fda72f557c8f0d5e6b8b263344c3da98 -FixedInputDataByteLen = 60 -FixedInputData = 1941a361df01c256878a7a1b7e8a44e2d64b3b5492b01f64dce0f2094d437d43755d44400f6c5f05b228d0a8ae863b3ba2533b669e5bf644ef779bce -KO = f8b0ab399f580e9f25129758f7bf243fe0a6644ca7afd9f534d66406c8b1e6c6de1eca641e0f7bda0fdcdab4b9fc976597f59f4692348bc045e8f6c397ee584b - -COUNT=17 -L = 512 -KI = aea3ed0aaef08a177939428330cca579 -FixedInputDataByteLen = 60 -FixedInputData = bc51df8da450643096dc153355ce446b22341654fab3962cfface519bb29ddccb98c4751285d635f704953efcfd3ebe6c87cb98a8c8a5fd9fb92cf51 -KO = ba8a4e179edffe59e3f403dd24da3893d1149a7ee9b9b555cf97a8793f1002e2e7dc619cb6130baccb911cd15ddc76d63ba7e6254098e375afef68c8154bc1c9 - -COUNT=18 -L = 512 -KI = fd2235dff3b0814913da916af2023b8a -FixedInputDataByteLen = 60 -FixedInputData = ec940ba42f1629996b1b9bd4a38f1b2ff8fd4db33c0832229b40df4527bb30a4e3346976d71c8994ed7a9e48d537bc0f3b883872a585ad26a90ea514 -KO = 39d359c3215d067245e4de7f3797f5c8d8c6d162fb07949ea104ebecddfc995ecea878def8deee5d70537cda92d730d523fe8b96839905aeda03f203dc57b9af - -COUNT=19 -L = 512 -KI = e962a53d5efcfa1afc43260d111c6f3b -FixedInputDataByteLen = 60 -FixedInputData = a19f56f236ea5b5b41913e27fa8755940cfa9ce5f3018c27c13643f024ead71eb6011353b4679ff93967937721f0f01161620f6dc34175b7586a9661 -KO = e8e75612462d63b7fde94535fff3728fce67b4035f50c8287b2b66968b5d73ead180f093f73590dd74d2599dddf23d474f8e9a76a97c5fba5b40f1dae3ac7ba0 - -COUNT=20 -L = 160 -KI = 6d145fdbf09fdd608ce75dace3585a6a -FixedInputDataByteLen = 60 -FixedInputData = a267757b852b1f209e2c18752e34c08ecaf1596e3e521e73674b652ebe443fca3b61f70f8b0fd9c785bd291cc41008b6fb6e84ef180309fa3a3d880b -KO = 406d3035a55735be0cd4ad3cdf4f4e21fa5a4f0e - -COUNT=21 -L = 160 -KI = 1e7d4e2cc341fbfa3b00ab0193b9c5b4 -FixedInputDataByteLen = 60 -FixedInputData = f6d6c351ed76d263fead6b716852f3fe3b71fe1367b91843aacd9cb83b074de2896a4261708c23a9b6dbfa6b14264b8117de4023598b0c5011afe3b3 -KO = 047fd519adca2375fe8391698d60b9dfa97ec4f3 - -COUNT=22 -L = 160 -KI = 79577674f3b62b1cb4e25b45bfe1eb92 -FixedInputDataByteLen = 60 -FixedInputData = 76e9d050c9652eecec538459272c22acc1e83d8b5559c1394a4403b826ec06462453c9c4b822d5b0e26045749693c4e389543b4769e118c4764529c3 -KO = 101a9181a69f846680644325ca95e7131e230f2e - -COUNT=23 -L = 160 -KI = 323d1354919f016fc30c1a5f08af4a37 -FixedInputDataByteLen = 60 -FixedInputData = 06f9c8f36eec0e686e554b564f263d8d7927aad5087af71c3c8d11dfff00b53a7d97c56a4b5c02f2eeff09954cb5b02ac2469230793a15d64f3cecef -KO = 4ccbd7d2b2863e87f622a00f25e80f28ac91c814 - -COUNT=24 -L = 160 -KI = 816451dc823b116bf4802cd23c40e76c -FixedInputDataByteLen = 60 -FixedInputData = d3052bec7c0698d0d09e47a33600a9d50d457fcd14c351843d5ffdbf41c2b15c8491f9114231a2a03aab7b483824cae550e219f40359350daeae8bd2 -KO = 8d232e67bfb6c803bac60b7aa55bf33b49063df3 - -COUNT=25 -L = 160 -KI = 930f4b50f6c5e6a7a702b721000fe9a7 -FixedInputDataByteLen = 60 -FixedInputData = 61e861481dbdf3c8659391172da674af4264eff17ba2bd3a5d1230cc6218eb62092d7cb2517a12101febf9fe53e7ce19aae62ecbcf48edcba716a934 -KO = f6a0461c4ea8907f37cc1ad334d8054efdf14ffe - -COUNT=26 -L = 160 -KI = e8d9dedc9c9c22d0b92f6dbe4f155a26 -FixedInputDataByteLen = 60 -FixedInputData = 2c5454c8cad22758a5666afe90b7c0851a0306bdfe8ca679d4367c4ddde9aaf684a8eb6d193330e883f0d8d46c862a64c54267ee15836f32e5959312 -KO = 3e9b234f8a6f1ca4aba7080e1c00d9ea546aec03 - -COUNT=27 -L = 160 -KI = d22f969f9f9d292fa0edd0a6a04c49ce -FixedInputDataByteLen = 60 -FixedInputData = f54ccde3740ef86f1b7fd73417c9997efb5eeea0b9222342507408fd77c282eab2c4b895c427c3affdb364a130ab800ce3538b7123e283ee8c0521b1 -KO = a26f547a99aa977d8e0d3c3c5ae5eff0eb35e2a5 - -COUNT=28 -L = 160 -KI = 81e01b27b865191901c859c4c0e6eae6 -FixedInputDataByteLen = 60 -FixedInputData = e39a4b074f95875a1d8884e283d1942f8a7fcdf9f71938fa150c4c1661fca73ffe9cc619dd544be30579374970fe14f79666fa87b89b2445600b70f9 -KO = 3c42ede701370517057040d503571c368047477a - -COUNT=29 -L = 160 -KI = f2436549f89818dcbdffccf7d5a99485 -FixedInputDataByteLen = 60 -FixedInputData = a86545900ab06d6367c4eaaf8d04b341e25d85ec193282a9f84d7dc43bd183ac0fc870a5af05497ec211033b2477a1c5b0183272051202f9966b5919 -KO = 42d8ea2717b1942b47b89b3a2a456ff6bfd1b004 - -COUNT=30 -L = 560 -KI = e852706e63d29b506a36f01be1c7e59a -FixedInputDataByteLen = 60 -FixedInputData = ba570a5e8d48eb0b768ab7fc71acce4499741ea835d7000a787d333fcefcfbdbcb679f39e245e664c667835a948321223a6bc566ee38447cba969622 -KO = 3e2d61d0b74a1373b24b9fb0b8cfd7af33c2135b567088f145bc0b22b3e53c63c2861ff3aab6e8410fb1e0047297ec48abc203cf449f6cf39c1d2ed2e409becf6af59afa5c5e - -COUNT=31 -L = 560 -KI = 52e0e116bb0443003706d56ad9ee1129 -FixedInputDataByteLen = 60 -FixedInputData = 16111fe8639dbb3145cffe5356518840864ed5b23ec0e7479dea86695fb72deaa12c24d44dfbbeaba5d46188a15728b3bf496551b77e50e18b5b8a89 -KO = 7f2cf9a6860619c03e303b59da2c3ca978d64fa04de8fc52de404b9d2026f03b506ba237fca9eca65f89b7a04c967633f0368ee41ab623b11f5d37bf67a56c25830d5882e79d - -COUNT=32 -L = 560 -KI = 745e48b10ca08fc2d1bbc9a82c8dfd16 -FixedInputDataByteLen = 60 -FixedInputData = c74b64fdb558446350b363bb0ae5bd7312c74b16d330a72989d93649c3bd7dab3b362eab81e8b603817c3aab507281943151e766dd526feb0b2bcac2 -KO = a35556664f46425b3d9dbedf96b2b856d7b5518049c4f53885ad1e10ac49293966b629f15c2cce68d658a644b4d0926a57fb8d63db87eafaf099a8805e50efbe5aca236d133b - -COUNT=33 -L = 560 -KI = 29c148ffa4a90571a6ff16d2a5d4985d -FixedInputDataByteLen = 60 -FixedInputData = ba4efb22997bfa3090c60794073946a2efb14186478ea7c80ddfbfda6112a85395dd8346e5eb966ce04e052487839e8d4ce1eecab3a351074eb0e09d -KO = 77e503f464656b8602a17ca566fff7934cb958a9debbe7b1b57393a0883e360f1a173ffbd50ee6e05096efec70b891d166507d28511df1ec58f2377e4be85047f0df1dfeeb62 - -COUNT=34 -L = 560 -KI = f8ae1ec820149adb18960349e80c8a07 -FixedInputDataByteLen = 60 -FixedInputData = 0565234c7e63801c470c94dee17a817dd786f68fa072b14667dee7fc8bf226079aaa37f976d923f77ee1d2ff0c437f86a8574d0102011b490b47b694 -KO = 8342a4065e4db0df1d0879720d2f5aeedf05bd91afd8928e4bc097d504580870ceda1138b41547fdf4d85785d361317a0f83f319e2499a7c865a4cadced8a3fa36ee5f0453fe - -COUNT=35 -L = 560 -KI = de1debe28b1f24709ec09d8679876a38 -FixedInputDataByteLen = 60 -FixedInputData = 8b99b8aab6f4150558d3b1b897973ffd255114aa3ee530c0629a74d58e91c0c3b430535827e278e29c44e22724411c0091758e801e56617c8e611bf0 -KO = 6dbe0987b31290f7c22432d2b8f50b1f1fc3c7e3b212dd815653fa70e293f30d864913f2d136cac882a9a918d3de8b12db00714fd7380cda8e7c84aea583375a3dbe6df05a43 - -COUNT=36 -L = 560 -KI = 427baa62c061d913a0399f6c3498aa31 -FixedInputDataByteLen = 60 -FixedInputData = 4ac210accaa4a00230554968faf3eb58da98972aba58278265ae99838ebec6bdcef7c83c6a5f1c43cc4c2fe47141ab1c4f53205e9771deb68ff428a9 -KO = 0f66228c92c220bd02b813af713cecbfe52e3ef3ea4b8af34f4956f6775a628b4ed7eba155e93a33c157c53542765ee06c781022e33d84173e338423804c42bc1b1b8e82bc8d - -COUNT=37 -L = 560 -KI = 4de1661aa954704a949aa2f8e9edee24 -FixedInputDataByteLen = 60 -FixedInputData = 7155bcf7d3134c3442a230e731fb1c7b89ea54787efa9c6df9d131c637d52145849630f9fe71fc693786bc9dfa59e984d17736d773f15a1a83249890 -KO = 2867a83f9c04d5f23f26a42c4206584279b1c79f2239fc4c1642460dad98e8ab56096642b5a7a2a1e0688a2835418910e3e5dff504a82bd27ecf0598238cf64c0fab92bc2ab7 - -COUNT=38 -L = 560 -KI = 3b69b8b4ef88821aa090bf7ceb0d4c74 -FixedInputDataByteLen = 60 -FixedInputData = 136ee7a14c14c69a28dc22039d2abb1a9e126d0502aa6f5ef805041a0cbff39638c6df84d97db8bfe4370ebd89e35854b32884a8cb7c6314a60b5b35 -KO = efc0b17fa499e2e68480c210d244b606e961e5e439bc8371faa6766027fcad735082218e3397e54a770762ea8b895aef28fa57ebbe290f026675a3e531aed8bd353a670ae039 - -COUNT=39 -L = 560 -KI = 343dd45325876ee221233396a449cc0c -FixedInputDataByteLen = 60 -FixedInputData = a925f3b7318473389505c0fd95abb89b65d786299fc7120d83b1b8f13e148da5162c994467dc7f63c328c268764c69228178b74c82daa20f8e30961f -KO = 71c784a930cb2190f064d36d637d6a92dec8f85a31467a6680400a5955c7b2db8a768339be44b58522f6c7899e81804b55b1dfe24a46d7d2c55c14ca3f82f7373dc892c1dee5 - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = af789f122d59f6c6a8349fd8ef63deb5 -FixedInputDataByteLen = 60 -FixedInputData = d6486a50fc21581c7d05d3bb360123b858393a1fec196c68388146fa6a358d3d85c29a9743c5cbdf45aa9c65410d6caf0035d6fac4ee280c2b087c07 -KO = 60db853e21cf62afb9fd4ac0d9d28607 - -COUNT=1 -L = 128 -KI = fa291cd3419fda85b31f0ae03b3aac79 -FixedInputDataByteLen = 60 -FixedInputData = 08082a0eba27bc044a943e3b2d6326bbf1db89dc2a248a815fd6bddca19c519a039c72024b6c6542f1ecfc47203d4e1cf2c26c66f58940f71b58b00e -KO = c08aefd2c7b8bb2a18b56490aa8c2786 - -COUNT=2 -L = 128 -KI = 5b8983d4ae08465779497f8dcd7bbcc4 -FixedInputDataByteLen = 60 -FixedInputData = b727b1307092999aa170da60ec239927287a5b67f666d251bb77f50c080df21dded2fdfe57be238686b9690aaeeee36d5a919ece81d5b9a24bfa8d39 -KO = e386e6c906b24d6619d3d12cbc009506 - -COUNT=3 -L = 128 -KI = b83301792d537ebbc9f2e6eaa902dfbc -FixedInputDataByteLen = 60 -FixedInputData = 808671fd30d80fb13b5a06366b775356d472385d02245490d239b5a2bedf25688c4bd6d1c6707d96f8db1a36a2c2601b4b465acfc0e1fb57cf5cc708 -KO = 7fa468ca2ceaf07095f329a0e4e4a2ed - -COUNT=4 -L = 128 -KI = 76cbab2b11d9043f18eec98699020e14 -FixedInputDataByteLen = 60 -FixedInputData = bea5ce1c8fab822b221dc6721503d7e05644b348b61c08e00d5c06451d3700ed6a565da53bc1322d6874ca14ea5e277c8f4af5ac0bcf5302cfd52f18 -KO = 06328ac15a4acb16132a7dd6f7357b7b - -COUNT=5 -L = 128 -KI = 0894d6ea75303e9edb9f6109424ce3b9 -FixedInputDataByteLen = 60 -FixedInputData = 540264cc235675837d2d824924e952008088209f0fdec9f231c99b02bb5dba30452ba2bd8923012469a2cc301c0f77dd8002d691d4cc395e371adbcd -KO = 27df47afaf4d2876b790ca45ea66e243 - -COUNT=6 -L = 128 -KI = cb995cc39bb129ef37183cc355aa3c27 -FixedInputDataByteLen = 60 -FixedInputData = f468dbc5c4e18d809dd084c980d44d8cc52606d01ce7a3613cb70b22bcdea562a674990b47dc7abd99fab484485d9d37b650518c10455fe2ce1191b5 -KO = d7ab2ed3caeb10535fa18707be7bcd01 - -COUNT=7 -L = 128 -KI = c3c13dfe7700c4292c8d4dba45310909 -FixedInputDataByteLen = 60 -FixedInputData = fa587f80db845c4bf91a3b693e6c036f81cc227329ccb4cd7ec1b05709a8e5fe8f3e9abf248842e2c2ea1f71ebf5a76ee4834e18f87324e8dcf46c57 -KO = 525c8e5b94beebda6c3e65084413d8c0 - -COUNT=8 -L = 128 -KI = 503d94d97b5f2418e54bee1de36fd93a -FixedInputDataByteLen = 60 -FixedInputData = 137e41ed4947292e0e0cd091e557f742e78ca41212ecc61274f7a1c457cd4fa90d51ded239bbb0e29cf7392529e8b925ed324ca6ccedcd4b5caeb2e9 -KO = 8d03d8bd65475b53846e06f0ddd4be3f - -COUNT=9 -L = 128 -KI = f68013d0ee220bf93b212eb946371799 -FixedInputDataByteLen = 60 -FixedInputData = c4e773392aca52edc0b1c4492e39d4242a68fabb2f1a319685e0127339ca1fa7d2b6d165a59edb348e7cbee74b583508236f0af24cdb578aae530a8d -KO = f2bd867f61ac4a72c30eb84f170e0e5c - -COUNT=10 -L = 512 -KI = a3a08455fb9ef9a6e99de0726e5a9766 -FixedInputDataByteLen = 60 -FixedInputData = 4e061905c23233c50b75c1827faae70ab9ab1b00163a5fab638af4bb9115fa63dae6aa7e6836af7e719ee7aba5c647f4558c5b1a13b6766c6bc4a544 -KO = 46d55e3613cbc90d1d69fdd446f01a7326c6b6c87c7bb3b32396cf513763507390ea0dee2c15614f95c5a8b1ef466a9d48931566333cd6d845e5f4fd64d43da8 - -COUNT=11 -L = 512 -KI = c171db206a525743c7970315eb6eb2b7 -FixedInputDataByteLen = 60 -FixedInputData = 3724d98e42fd034e71acd1b13183788d4a72209cc2fc86c5ccfba40f7d321c13725343c92e2a6629f60d35006acef887625deeffcdcba66392c823b4 -KO = 53311c6e276b91d59d8e0d3212890a2f9cd155850a5556de768a1ed10c5c765137e3b77e8beeacd26ed21e08345b6304ec8a139d1b1e0d4108b5e1c442115684 - -COUNT=12 -L = 512 -KI = ffdbc3aac998cfe5362e55395da07266 -FixedInputDataByteLen = 60 -FixedInputData = ff5e172a274850d97a394730801a4f6753c7c4fb00168c45c1a9879f292fb9db8b74f5a0fc92aed0c92b73b8a03dc5b7b08582f90b2d8ffc576dcfe7 -KO = 9f15a1ae9af456ef263efabf658a53e1428610c39a97728c3537d0d159699698f9adaece3dc8ce7e20fe4b03cadddf1f8ced712795018e64239b1298777fb7ef - -COUNT=13 -L = 512 -KI = 7a4fe7892ec4bba5afa8074fc06725de -FixedInputDataByteLen = 60 -FixedInputData = aefaaeba33c7ac38eb7a255e0e590cc859e498c7e62e73bee9cbae69b75eff3b6a7d4ce6ce007090b1ed81dd424279cc7d5bc1e76aca5a727adc8f02 -KO = 49a0efa366050f62193dd726bcd10113af10391ac33f5c2cd3ef2e33f290792c184daf494395f7b1b86031d6da4eff703be7fac0619a892f4132f9c462b98289 - -COUNT=14 -L = 512 -KI = 71b2a9b4bec6397c227e8bf80a77927f -FixedInputDataByteLen = 60 -FixedInputData = 106a54ce345588da1ea8cc1a66d6c95ae5edd1cae84c7d07876308aa907211e8b321e533bd9f3ddca40498b744bab213a04e93fddfa44c55d9786977 -KO = 7085506200b5c4afddf350e611cb8712cab90f4bdaa8a9eecc03fb6523140c9fcdf864c6e9fc64b01063bfab8e021cb4578a2c4e015546e185f78bfac1884e09 - -COUNT=15 -L = 512 -KI = e192d6fed52745680fbcf1208b51a08f -FixedInputDataByteLen = 60 -FixedInputData = b97ed0baab58c3244bc4f175835b0e59a7b2928da6775de95e7c78faba703aebc97ca5601d576f3fe2be77c418ad2c11f45c5d22d1e0c1fa25cedbc7 -KO = 6b25008f905a1878ef6f877d6ff043d58b0e7f7c5a059324a937b0a7a66d3afa7bd569c6d285a290f093aca12eb26c0782528acdd53f746df92483dbf977a128 - -COUNT=16 -L = 512 -KI = 52df112f3102261d22a71215c7c7edf3 -FixedInputDataByteLen = 60 -FixedInputData = 171fd1d09dd8c97d496f206612687c10b579f4b4b450357b9d325bf46c282b3a079c0bfb163733a1f2852b40008dad81fc8d6f594e75fc79fe5352a1 -KO = 9e1254171428ef2764b532b49befb62d56ce5dee5ae91df770be6efa2ea178fad8478a4d40f167b6cfe5986556aea1760294907c0d0de819548c8131edddf9e1 - -COUNT=17 -L = 512 -KI = 5b356cff218b9775cbbc3c3516a72a3b -FixedInputDataByteLen = 60 -FixedInputData = 922af17e0e365418c055ee67ab75a08cd5580a481227b69c6b940fad8547c44bd570b10b589883f5a85363ddfa6ebdcad8db060fe0cef6ebe217971d -KO = b2c7c29d1bb7a320b3a764d19a19ae415ec02c7954e3f63e514f0b15ec6e1881a4ff0d53f67470296180dfa638b857d8a7a195ceb150ff9d1765df5544edc484 - -COUNT=18 -L = 512 -KI = 25a2424322119bcb8cce30e24444229d -FixedInputDataByteLen = 60 -FixedInputData = 222afb4a9e7b52ca34168b1c4f3ab573ac978b96febc096c9887f5d4e69c397697bab793c74907311f2b70692fd910119c6902fcf9fc21a028f6442a -KO = afcfe0ae6a20e136deff0ed1bed257885e4f09db1eda828f837e452e1bcfc1e935a548630a83c7915e90e3e623c43136c86def0ab8b217d5a674b469eb18d08c - -COUNT=19 -L = 512 -KI = cee950e187b55d82715e07b63b5e3bec -FixedInputDataByteLen = 60 -FixedInputData = a1f07587e9ca80621a17de7d0c2cd9eb0277efa6030cb9477fa7ffc2203362daed4d2be004efe478d83b7bd8761b56f16f3348415996580f378a79f2 -KO = 7bd7d2b5502930e21dcdec99f93be9d585155efcaaf7d2615e803f4d073a565eea3e3641ce1e3d3c52f8b1f2573b24c9b377139392081bc955d41d3c988f9bdd - -COUNT=20 -L = 160 -KI = 4acd7997d62b9387dbe677aa18e793f0 -FixedInputDataByteLen = 60 -FixedInputData = a728e04a3a1840dc9f2580528e4b2ed63422c8f2859d44b099d087bb4fd428f87df61e58fc18ef8182965182c649adf86fd72753cd1afee087e0e4c4 -KO = 2a70a49332b759fe53248ae4fb33cb26f5925177 - -COUNT=21 -L = 160 -KI = e58db1d24f592153017be27651bee06f -FixedInputDataByteLen = 60 -FixedInputData = 3bc1826e6c8d232720e444103aa5a4c585a503636df0e32408c32a4989e7f6db78421473abf1356a4c67736f094eabccba1a7875b9b3262e89deb491 -KO = 93a87b0970b6700828cef4b7fa1c0a74776bb867 - -COUNT=22 -L = 160 -KI = 09f54eb04d7a7904d3dbf866f7fe70bc -FixedInputDataByteLen = 60 -FixedInputData = 0913b91c074cf9936980d5964ac9bc1a64d1b6dd1773b6faca91a4913988637a9ce4e0c32fdd17d3565fcf469f6dffc32bfd9a403ce9264591b386a2 -KO = 02db6ad98788750e9db6f12229395a3463597f93 - -COUNT=23 -L = 160 -KI = d935c7523d67a0402fe4c91a82726904 -FixedInputDataByteLen = 60 -FixedInputData = 8c7daf5fa40df65d6bdc8b47e17bee1d99ac431e8965ed4da71a3f49b99b770229c43a98ab9b32ea02d2f841df3343d4a978c9c69104a417eb7f3784 -KO = 97f93c7f9306b368483675d697d7574272f59f24 - -COUNT=24 -L = 160 -KI = 671cf1fb028e8e7dc5a6f5aaf9b81a79 -FixedInputDataByteLen = 60 -FixedInputData = 9a81cf9be46f995c88aea3dd57eae5e0f41175795d881a02142dbc3f268ffb33714287feb24e5c82e039b3093e1afdc4d00ac1cc8e1c9d9f5afab269 -KO = 8a9c45ec35b207db3b11ee6cdca2a06a6e71591d - -COUNT=25 -L = 160 -KI = ceaa51735efde958a7c780ac0ac6d31d -FixedInputDataByteLen = 60 -FixedInputData = 266aa947e10f257442f557be9e83a7bb929efa839f274cf45b3ae19f2d453b505e268001d55bb735c5c714a3449ce847af89673342a104b246475f8e -KO = e73d2a86b3be466a8dc72694d766e456b87d79af - -COUNT=26 -L = 160 -KI = 93b9fc58c0010ce6a2e74499cba4fa46 -FixedInputDataByteLen = 60 -FixedInputData = 456f12eb8a77d5ecfa9c1219a1597d5b0282ec17243d561d82054e3068abc7df1510b712f90cf4561ac151f2ff65858251317303f5e1c4b153f26f4a -KO = 3c59bc1844f83bcf888c7877bd77b92b3974dfe4 - -COUNT=27 -L = 160 -KI = e7c3bc3e95932804071b681cf8dfd211 -FixedInputDataByteLen = 60 -FixedInputData = ea006c8e2b46a425e54e6eebc97b0bac1efc006e12f684c20d6e00771502e6f4aeab6e4b2849659e8968b76b24fb05fa7bd4f8ca0b9f652cd50a32b4 -KO = c10f0caecf84dbab9ef438b461b4149b329f3352 - -COUNT=28 -L = 160 -KI = ff8a560b0b931f32765ab9a573f71021 -FixedInputDataByteLen = 60 -FixedInputData = 386dd017a883c4509da69a6d24625e739180a06bdb31983d225b91a27012bc17c13fc2b162776d619d46eb8eadb1963d37311a1d7fe075ce020662ed -KO = 6a48a9d1157239e2bb4c3bf9e39f7f0011036680 - -COUNT=29 -L = 160 -KI = fc4a2c9694906c43243fee74cf1fcce2 -FixedInputDataByteLen = 60 -FixedInputData = 22717bfd30ab1a99dc01bc0437d459d1f06d082d6a9be4722c737f3e9c9f3aa68a3d1c0217fd915965c6fc433efc50de53fa804cab6ad8520c66726a -KO = 3560efeea8df469dd338b0ad9f498206a92a0649 - -COUNT=30 -L = 560 -KI = e6d19c7f22c950a300178b4acff23122 -FixedInputDataByteLen = 60 -FixedInputData = 1333b67ccee5141c390577032e8c7afb87135ae0321a0f82eb2f9aa60d4b5274a7db1fa97e5c0f746246b0b4d67467ead5e7127d20a1935af70b8406 -KO = dd2252fff35d0cdeee8ea5a14b939b900bffb622488e2785ea2903a758c4d0f1e1739ed24e136b98502f717de7ac5fb5234f10e6af401c3cf30394e26dfbb9de889a67208298 - -COUNT=31 -L = 560 -KI = 0166f1e4cf8c97cce44c27f07b27a478 -FixedInputDataByteLen = 60 -FixedInputData = 6506b70d9612222b9f80f8a1a0203a00b42f85d801aa583075ea2adb3b12b595a6878c8c2361c199bde206f820ee2c8a471fb1be814b1c4684e38564 -KO = 7724a0afcc6fc60212b7dd1e719dbbf156a54c1526f732f3bc678a3128fcf523a6addaf373acb4e1c70d45030d886e33e9d5dd48568d72779eba5796ca7ee1e04e663e856e34 - -COUNT=32 -L = 560 -KI = 47d5ed3941368e56fcd9230491bae8b9 -FixedInputDataByteLen = 60 -FixedInputData = c64caf948935d765181e726614c2100856e90e34d122a1e75aa503cd14178f1a5fa9b0415ef17c79ded185f182bcc499246a2d40e78d5cb2a2901cd3 -KO = d025b237a632f60bce89f30cae03202009ca6bba10d2bb130b3e81fe8328df5c3c16efd97cea4a1110300f6a8df0efe805b55103d7658442e8c35683c2af0c27aa5ba38d7cdb - -COUNT=33 -L = 560 -KI = 37a794e0ea9aca35358e49ee36b7ff73 -FixedInputDataByteLen = 60 -FixedInputData = 0aa600ab5e07d7c6d0548f5bc0b4abf6e4f05807b0816c69ebc94b2e923fcaeb296e6c9339692e8e610963693f7c2179c40c3c65eded1518635b7162 -KO = 26a248c0ff6f4c0efdfc3a62aa3bd12a11f8eb0879340c11f3924ab74775eaa2820d4472e3232ebb4a30e864bb08ed575a92b94b33c83a5609e86bfb1d598b84bede001c77bf - -COUNT=34 -L = 560 -KI = b939a22c64b587ac9967abf6bba7aad5 -FixedInputDataByteLen = 60 -FixedInputData = 598472c505469edc436f0dba5720a0221250af76dd54dc3fa9cbd8a7904a00859bf38911bb84253df4fa6138bba3fbe57c0ee6944c8e6e1d2139c962 -KO = 6c8344aabcd104278268b4e9eae60886ce9072f20ccee5630fa6dd921903055ab2b3e950f5f7da6ce081228f9dbbb645cc238a376eb6c72f7a4d12af836eaec8930e8319d62a - -COUNT=35 -L = 560 -KI = bdda58d22c4e205f024d6873bcec43e8 -FixedInputDataByteLen = 60 -FixedInputData = b447f50e033a22dee24b193b29eba581d9955feee80d50e05af71872485fdbed034225d117dbb575153639c2dedd6664b2606b1262f4604542e22814 -KO = 6e7a1daf7aee1047d3331a8cb8df6e1022acf74df597ad76938aafb471acec8856a0a5d1b7d1946e5b497154295e4180a8e83826df42239a6f5186ebec20b8a7dcd77643a450 - -COUNT=36 -L = 560 -KI = d6567caf2e747fb7319e3a2860668d58 -FixedInputDataByteLen = 60 -FixedInputData = 0ccefe1747fb730d96986b598591e9404aa0d6d5abd06ffb653ea23a98560f377867338234c46c85573f80c0fcc08823d82a094a0f8163a472c19d53 -KO = 971b82b42197903ff06bcab0db716a1529b4bd695c9a8bc9ee1842e8ce95cd6ea07d0e8cee130c65577aeabd118f75aecda87db2fdd0585a7f0d5dd514a2730e2355fc691ba0 - -COUNT=37 -L = 560 -KI = 43008bc14ff94d43a023e6ad462960af -FixedInputDataByteLen = 60 -FixedInputData = 6d85c7005e0630f48d3fce6eb9f71eae5f97247767448af501b927ca9c67cbc27f102f786dccb4ce8836987afcbc3894326e080097b37f079372193c -KO = b76425b7374ac82a176ed4b35363e4b0108875a090cbb990be3067a3c86668f9b712ee8e361165d90b0144e2b23f33e8d09cd0a0635a7df9862c8c9ed598b4512b56fb530ff3 - -COUNT=38 -L = 560 -KI = e8f4c31e51e3b61efd62e168157b48ae -FixedInputDataByteLen = 60 -FixedInputData = 90f7f98461d84a99c824c3bac0402b5caff398bd312bb97e05874ff896704cfe29daef3d222469281c905890d246703fb3fbb4428dda00bf6842d9e6 -KO = af87d55db7544e3fc75111da46edc1634e094639e77cb93dcf3e44b7b0e2d47bcfbdb105551f7673d3307df0d19154bcce05f51d7655565d59b51925c0690930241e64632134 - -COUNT=39 -L = 560 -KI = 9f973d8b9b5b889d88422b30eee4d997 -FixedInputDataByteLen = 60 -FixedInputData = 802ec759bcf2bdbb2943b23b374c3a1c04189a5fc968fc276b9c7d8e05f80fde889022d303f0fcc48ad62acfb4a519b560593f72a4b3230d545692a7 -KO = bbd89f10845c8fc473a0796c52d021bcdc8dc520be95a04065bc3ba70a89227c39ae0a3255f240dee5778c12dac3a06abb773459b6bf3782bb02a90406d79f23154292741af8 - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 5ff2011d67f4d9ffe315cc121a9cc21c -FixedInputDataByteLen = 60 -FixedInputData = c15af75b3e5b3875a9d33b6a85c23f64685116996a9d0f92e8b2a31aff926b9672dae536a54d65bdee535ca1468da44863457d23bc6e2df6e428f383 -KO = 126d27700ac33baf1d8af91f40dfed77 - -COUNT=1 -L = 128 -KI = 071c94d2fbc8fd61d071b47cc95eba8e -FixedInputDataByteLen = 60 -FixedInputData = e782739aec6246f5f527db08df07162e5d3189046ee14f5257904acb3ec1f0bbd1dda37fcb9d8fb461fadb8e2fe7a54d482ecc9fc36bcac526c3a7ce -KO = df83787d9198dab61a05803a0c7cbb04 - -COUNT=2 -L = 128 -KI = 7cc6bf8b21901e2e9a95a72b3bcdad2b -FixedInputDataByteLen = 60 -FixedInputData = 9a33df8d6a8220029da0edc06d2a349a252861eb21eb484056a9a8052ffec53f771394b78eb4aa4e491340c38384241a5119d38cb617b7f007290b2e -KO = 25479523a34bec4046ba0206a0595ffd - -COUNT=3 -L = 128 -KI = 4a8614f7cd86110bb6a95db9404890e2 -FixedInputDataByteLen = 60 -FixedInputData = a7f704fe17e194dce1437300ae80c4d9f4629453da069c91e48731f63dd53315687e0babfe88eaa34a21f6df437561306a89b5f19380227480fc6a85 -KO = 62c6b60a68a6b0233391f970e52f140b - -COUNT=4 -L = 128 -KI = c2ac41a85a609fab718926be05ed29b2 -FixedInputDataByteLen = 60 -FixedInputData = 84f317a5faa3ba86019e958dbea7949b0343b03f7ac5d16f744da216ba8cc824b3bc9f36c0da4b1c0604346cbae20ebe3ed2bb60dbd70c7824c74122 -KO = f52f9e3cd79d1d04381b41b9f0bdc5b8 - -COUNT=5 -L = 128 -KI = 3c38988b4380e0af8b68f6b761c8db90 -FixedInputDataByteLen = 60 -FixedInputData = d9cef14495b02aec45e0178d9e964461c25beca9caf72dd77801a5b6af536580324c3ae3e66fa54f8d526701df8741e692f8e79ab02f9a29e7c39955 -KO = df3de1ec9542809258d9897fc04dccdb - -COUNT=6 -L = 128 -KI = 2708f1b25b6915a885b7ff2432802ae4 -FixedInputDataByteLen = 60 -FixedInputData = 2228da1ef487d25ce95a7ed8168f2ea7cb921ddf7dff23947c922e5ba4538dafbe6f1c5408bbd5f8d825f5e9b3f82e06b20392ace93af8c3ccb781f1 -KO = 4fa9d20eb2f8a38393536178e4f8aa73 - -COUNT=7 -L = 128 -KI = 5ac8127cf0211a392b45679f5699f86d -FixedInputDataByteLen = 60 -FixedInputData = e72c3a1f558a3ba35fde8a74032474512447f00d733a78cd1769969e2e283a45d42cbbdda47178142fdbbe9304f19695409700ba5a9430f0351a1008 -KO = 17704dcdffcfef6201a1cd417f718b2e - -COUNT=8 -L = 128 -KI = 1f2331a2418198664976e94c3b8b90c2 -FixedInputDataByteLen = 60 -FixedInputData = 67142cd8fa1fe44fda3c7391861780f5fda53e1ca01b493be33ad34dad09d6ded4f38b3736c03523f078d7afd3b39ee4b1046f53b7639e52f7b11758 -KO = 5a945d1a6d34b7c54376d94dda13ba52 - -COUNT=9 -L = 128 -KI = bb72f73dc1b89d45357d3de6d408c72f -FixedInputDataByteLen = 60 -FixedInputData = dbb67c7a1fd5ec38504a54de15fd799beb21e2e7fdd4370eba491bc4833b0a999cc4d73ebd296f36736dd279030972fc1e438ec7354f0f1076d78951 -KO = 6c776b75d5f24d51524f33da8d449e35 - -COUNT=10 -L = 512 -KI = 85a1d3df23dc8a20a7d3cf35248c8ae4 -FixedInputDataByteLen = 60 -FixedInputData = eae7a72327e46fac587a2c89db7705ca49532ddfb5da4801d70d3c80e5c5a7840633dd2a1d381008e4a5b52ab5d0cea9114b380e2d5cd647b71028bc -KO = 38b510bd80df278d2ee37c88f6254ca4657dcc098e3fdcbc5f2af50033c93157a270693f4a8d46b7fce6ada980361051c961a7e05b6282229556c3ba86a57008 - -COUNT=11 -L = 512 -KI = 135045942f2c36cca832a9f785cc5746 -FixedInputDataByteLen = 60 -FixedInputData = 3d1374a344d81a3c6317283a43d6ea1082a6f5eb4b58e9f9be7e54c180976c8d21f32de31dcceee772cff7a9a46a7d3d2120b0b27b401fffa48c39e9 -KO = 8930dbe6c31bf9b2185f9033d31e15fc2f0c5683bf898e09c2499c16a3446c780088a05fe1b0d6b4c011f90dfdc84df001b204248625d5f700833fe829a90498 - -COUNT=12 -L = 512 -KI = 7701960901460b8b4ab66a6c868c64fa -FixedInputDataByteLen = 60 -FixedInputData = 4dfeef71702824b1f23ced5f30a35fc5c46ddf4ab6d340cc940eced79bf0103062752f6c4552b0a1bca026b6d552a8a40f821ad4aafbfb7c91eccb57 -KO = ecf48d67e6be91ca063dd6789e6c5faf347f6535f76789d8fa2d07f5778f536c91f066f91f8771bec0760dda6598661357d5199806dd4ee808c82f49eedff3e8 - -COUNT=13 -L = 512 -KI = d342f1266bd6b90c4beeba489d7292c7 -FixedInputDataByteLen = 60 -FixedInputData = f30cd38263b75f27299bdb6cff07b56d25512488b87d02bda4b88159fd322d213f0dd29683ea799316f60f3f76b9609d0ca40acf94de6ad307f44fe3 -KO = a0dc7b375bdc142eb743ba51c757d886b110230d8c94732f1468d503ec8c2dbeec3adaea0a73936459ddbdd5e87c36102278f20d9f6e950e24d37c622c340b31 - -COUNT=14 -L = 512 -KI = 80f063e4c47911d92978abeb176d35df -FixedInputDataByteLen = 60 -FixedInputData = c7818b2e6f35322e98a454dce0cdc23f5ed4be8002d8deaa9645b40c2c6a9eb74ef270879790e09408dc3ec922a21096248f149d2d46b83b65ac5ef6 -KO = f7ac62067f28e3071d4a3e9399c3410f367a34e204a6fd4c67ada7b535b4a0d94c10599f2057c26d872f753666e7ade573b88078237fbf2281dacf696594ed53 - -COUNT=15 -L = 512 -KI = 4165d5250a39a3a84a5545b7d02749d5 -FixedInputDataByteLen = 60 -FixedInputData = 1b291da9c4814bff31c0c5efdb228d77f434b6d3f1b55155135b05dcc5af81776fc65848dae95997b1ab73477fbbe284af90216c0483f2ef19782fe7 -KO = ec3de8d61cb23e8f61521da745286a544f586c02b56fa67526ec1746b7794c8b7365b75ce27b21709377d89ff19b3b69aa13e7cc01d87591b5429ba4769726eb - -COUNT=16 -L = 512 -KI = 7ad1fdfd87cfd09d96ffccd28167a5d2 -FixedInputDataByteLen = 60 -FixedInputData = 6738aa1adf5ecdfe2fbb614e5a152387f35204b138549a865d83f3657c81638f038edc455679346c23c93f79d40bf243a1f5f7c7242ca7095680da3f -KO = 6925368c48e8696f4c4c4d2f3b4651e089b112201bd97287c497a4f720baf12df674647294cbc68dc701baf39a9c7e3699f4269b1cc7e0b4a9c9040e75970b0b - -COUNT=17 -L = 512 -KI = 68a5253128d345fe837da458e57ce49d -FixedInputDataByteLen = 60 -FixedInputData = 5b0f59e42f57dc8fa6c2ad4da3d3a7d0cfcaa4e2b278aa138cd1b5a6f80d2f951ccfb8190ff88a07d6dcd2c9eda8978aa1952bd75ebf72f5aff3be96 -KO = ee8548d0f0a775bbaa7862768d9ac591bbbd3b053a70393b22eb73adadfbaa788468e4602c1d8f1966c1f0662957729b2910b0f6616f8b06e9e8e6c856b8d750 - -COUNT=18 -L = 512 -KI = a4cffffec33a4805f613a0da5e8ba1e2 -FixedInputDataByteLen = 60 -FixedInputData = a4f925037bb00139ae2f974e29f153cb90d5843852f96516f25ce473c514b1ef6f1e4b47f3815d88560d6798e928dc5b8e1daa9acfe8b299c14db0e4 -KO = b8a05dbcdc9957a005f7ace9ca53f508a4df97b8617e7d4364c1056f7b8a55e969a3202d888c280fd96956f053a128bd7359d02e24b7e3734153119c24fa628d - -COUNT=19 -L = 512 -KI = 2b36dbad4a9b860dd50e76d1e246d7fd -FixedInputDataByteLen = 60 -FixedInputData = 0c0b73fbdc3604e8a4d461d2d3901732b02c711633015a53999b10ec6eeb42b4c3f75d731f00d621104368d7278ecdd8b9ad85884fb70f4cb4ef38d3 -KO = a038e869bcecf04c93fd74de7d0332540019c9fb060d174333b11ec6e4fd3c545ef5de6b6863a609ffd70ee3a88ba932c6127e7953bb3d834a5a983db71e36a6 - -COUNT=20 -L = 160 -KI = 9251cf299c428398d8e55dabfcc7cc13 -FixedInputDataByteLen = 60 -FixedInputData = 1f3efe4ecd2c224cc5db269347037392918d85b9a6e0428c0a23d226e30cad1b66ce7ee988c2892aa4c6492b267d2c8106bc6db70ccc3990df85c008 -KO = 18806845032dec85518207a457e8fb977c6d44e5 - -COUNT=21 -L = 160 -KI = 533b26120db0535ab592fead8ca7603d -FixedInputDataByteLen = 60 -FixedInputData = aa719a6038bf36c9c4a3851afc1772e5083834c95ade1f19efb4bfa00ce9b764934d953f9f1f42395730db1083c821da8653e1b6a97a67663885afea -KO = aee86aead7a0b092e00b040419b356ec5ec200a4 - -COUNT=22 -L = 160 -KI = 26d812c5ab9080c0ae25cdbe42a606d8 -FixedInputDataByteLen = 60 -FixedInputData = 59bc965fe58ee33cbf06a2ae5dcb5874c6650083fa2aef2d55b9c4839600ff6a14e547e3535355a44b4b624e417301c2ab297d155d75b4c9a1c49adc -KO = 012afb0621ddc9fb8cdf160efe4a230a3fa7ecd1 - -COUNT=23 -L = 160 -KI = 41c3f93eda0ce5af635001f8e60683ab -FixedInputDataByteLen = 60 -FixedInputData = a9e48fccbe0add846111c4faa1eabc2834e7c59e2e591871a6d178d6299de73443292b7a3c0c8fa7831e37acca8ffcc2908a8cfefd1caa260fffc17a -KO = d90b7c3a04c7d1b412123c48c1c2b4f3461c047c - -COUNT=24 -L = 160 -KI = 863f757b39c6b818d70ae5a780f926d8 -FixedInputDataByteLen = 60 -FixedInputData = 781127f33aa108eaf20e833ed8fa9fdb32626d1be26965c66d36ad12a6d774707ea7a949aca0f92e2c777d05163f54d2358a5b432b0c394bec3f9a6a -KO = 46c34c280fd0f63b665f0c5d7e0ebe9e243188a9 - -COUNT=25 -L = 160 -KI = dc7941b50941292ed9418453c5aa124d -FixedInputDataByteLen = 60 -FixedInputData = aeb3039b40340fe997ecc8aa725bcaa7f9088222abe600d42de37bcc10b0950513c8732a1c29c8c3d59b9c77b6ab43344de332ab7e70c4c0d632dc4b -KO = 6587cf2892326a42ce2aa3c3d2bebf18a895118f - -COUNT=26 -L = 160 -KI = 0519a166040443af815885476223f483 -FixedInputDataByteLen = 60 -FixedInputData = 2f9e37438681b8e6335715057be5e3040cefa7b57779770c5f16a937e20e47196a1587e6928c8b2a33e49aaf60edc3d900676177cede9e064f9f9195 -KO = 72add355a69283756eb3bfbe1e54e8868b9a248a - -COUNT=27 -L = 160 -KI = cd34e5e0177858c4ab43de1cdbf71983 -FixedInputDataByteLen = 60 -FixedInputData = babdd1809bc7cccc887d7fb1cbb07f55d28720715f8e39f382a9242948c2e3058b57a95c874306e62224cefc2f738285636c2fef8a228dc287c65a9d -KO = bae68cd5f8df25eef1fc312441107e28d7b7fdcb - -COUNT=28 -L = 160 -KI = 00630012abc83512d683c0fba4e47780 -FixedInputDataByteLen = 60 -FixedInputData = fe4d2f892ddef85e4268d8e60d7f704c636bb51318b1ceb9db34207c8c24fe97f96d3a96f24a0b1b0c046a68c071449f12f59f7b882237650844e653 -KO = 4733af746b7adf1c261d164f7f41bafe941dae46 - -COUNT=29 -L = 160 -KI = e3c5d600c69b6916ed8bb0180f47ac48 -FixedInputDataByteLen = 60 -FixedInputData = ba8272245404171d0073488512ccf2d84efc41b3262e2e30c3f196da4f6ac11289aa9732be517830d3b28f0f051454b071cd21a40869384e19107b35 -KO = 63acdc07985a21119ea9ea1bfcea767adcfe0e07 - -COUNT=30 -L = 560 -KI = d2b6549c8e44b02c72341323eae0e6b3 -FixedInputDataByteLen = 60 -FixedInputData = f503c458c50bee3cc164473361ec3f909b3bed2b837b2ad249b5d795c44b99f4dc91d70fdf778f1d2f3314970598bbcbbebeff22740a2b5f21814e98 -KO = f772108be123e2f25129405d0ffcafe41ec587914da6cac5466c085bd418c62247b0a14d90a331ece8154805d162e02c04c4132ae87ade6ffbf5b330985417e89005f2ca7789 - -COUNT=31 -L = 560 -KI = 45647f663a32895fd22f62efe9eac03f -FixedInputDataByteLen = 60 -FixedInputData = 8d551c94afed8288e8d9a1bcf9dee8c1f4106ee59d4223eb8d97557db95041b14e56029051022d8c1fec9979ed6392dea31f87b56e31913afa02cc3d -KO = d5d28ca9e98abf1b484293af2e3d6a552d12f673a2c6ab559f328bbb29e1d3167010309f37f98d65b269bbd659bc58312c2cf9b1845cbf8327ac0975b08b2ea0b783b2280770 - -COUNT=32 -L = 560 -KI = 7149709b09b3b7e9879f204284c53997 -FixedInputDataByteLen = 60 -FixedInputData = b670279f7bf8696e777625d5eccd17ec9d1a6a05be74f38a38e5f22599b39c0f6f95f9cb43dafeb4bce1ca53b28ffab5ac1bd596c1306707b55d5f11 -KO = 40b3f07d30ec29ec1bce86197c6b97bce40928c6f115e5d0876d82b81a4770cda638dfc7c406d4e93be486710abf6703a23db64b8591a4945d77beb8fe807ca7edf9235a632e - -COUNT=33 -L = 560 -KI = e56bd25b78c4e4eda3943e3355df4ade -FixedInputDataByteLen = 60 -FixedInputData = 3fe7bae0d3a6b510036d18fab2d7714b040d9bbc7bacb17fe8236f71a0b0bf2a129dd48a66c94c5c0cce93a6e074aa3a4f64d745f86f56b158d87be5 -KO = bf01376390d2a33a90b06548f4090e34ac772c3aa17ddcef6b31f2697465dc621592ba52e8fc978b438c8518a33428e94f16f9c0869960aac692032856a5f7598613a6706c05 - -COUNT=34 -L = 560 -KI = 267c976daff1caee27d7ebb8266fa708 -FixedInputDataByteLen = 60 -FixedInputData = 40cadea7c59a938054ac28d87b2cfbd8ef86de6a85c57295cf845382f7755e243bf25ef6b97bd71382555e00a333a5cbe0887eff4afea3272a48a136 -KO = 27799a64abfd0bc1b0ca8b35ac354e2475a1e39b987454fe0a5b8d773cff86f3f24692072554e0edfc91174004edfdaf8e2620f766bb3746b60200555058febf28305517ead1 - -COUNT=35 -L = 560 -KI = 0c8a4b07b472d0adb050376616c0f13c -FixedInputDataByteLen = 60 -FixedInputData = 2d9c930e3477f6865d54866f870fbc447db673e971d44e2d444327c486bd9e02da00897bdd4f74454dfc91f24dac3f575c07370f5a2e0e5ad187d659 -KO = 1872edb5239ebf8679010f69953a3e49ae276a57571746773f1fbaafe9812d776c7cc5b29a1f6a00a60255278145416b898892db3e3a5ef149350e9ea6b209b8791d53bd4dd2 - -COUNT=36 -L = 560 -KI = 07c5e2bc617d9f8869a4b222363a55a0 -FixedInputDataByteLen = 60 -FixedInputData = 73145bd9925873baf75e2c918b5cf3539ba01c2aaa2476ee047aaac5aec2599d9af35bdd576d53b9c594e888b0146ff51430709d3efa9cad3d312b05 -KO = 265e68e4c86652295ecaf51dd31de8e3b20d5ab329a2f387a7920076623c10dda2116aec217896c49995fc9d2e8604f23c2db795742249a542689b4bac0b70123e77eb74c544 - -COUNT=37 -L = 560 -KI = 6a5c637b87efe4306ecaa06bc71c8817 -FixedInputDataByteLen = 60 -FixedInputData = 4ca5d772d25166cbcf73bb2014a46f2dacdbd35d796889bd750dec1c59e3e5d8493b44a671b7e0304c920499dd5bd6e82e7b99522d1d1369224aa823 -KO = 65c4421662c915a0047b609b51424283726ff820d75e2e2b1e0148b53a67afb8bf2f2c991d86e333a613fa6e1f9ee472b2fd3ba6f318244822482e36bfb8f5db2aa85f9393f7 - -COUNT=38 -L = 560 -KI = 5dac7ece1c7e6346b4ce795e73f6eb8e -FixedInputDataByteLen = 60 -FixedInputData = f4bc9a4c05615f013dae7a8e76188182e40f873e783574157beb1913cfd05ef980d137395704a3198bdee35e2c2864b03a51236d1008ef6bfbc9cd42 -KO = 5015e64e5498a23b6c5af926bf6781a5afd903ac2842dcff9e6c6079b0264c19f5b445c089b0c7b045ca1c49faa97fa1178bc8e5e0deb753c077b2accb5d7f69b1c2210659aa - -COUNT=39 -L = 560 -KI = 590b39120259d8983c0ebbebae2bdd77 -FixedInputDataByteLen = 60 -FixedInputData = 53167099214da0321a74b398e2b73624a3e15b19f28aef090cb1db87551ec5a29ed6b84d06c2d3fd6a493e7c9fa6cadbe10d3aa8de3773707ce63e88 -KO = 6d81367343a084780683bb5bbd8b51086f3645e71d89475308009b0a7c75070902a404dcc4a1502c640aa61d4772acdba92fd1c7e795ab0faecbeb005b0daa4ee4b348b8b2c6 - - - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = c157eee767342f7aed9ac96b5e4aed09 -FixedInputDataByteLen = 60 -FixedInputData = 0d29741ed70758a8cc654a6392a3e8d6319c9d840d687e9b5bbdcf0a991e7213ab55dfd532bdbe24ceac3fbeaecd4d3624f95b9e7fbbb6a8850599f8 -KO = e4b334fab14629a29633418803eefaf7 - -COUNT=1 -L = 128 -KI = ddfa7bdba35f4c7a135dcb70b0610203 -FixedInputDataByteLen = 60 -FixedInputData = d0e27be9cf644aa3a650696aaf4369d3338377f86034b1c691693a42f52f341b953759fff3df093d425baca9a8fc5e3a1cb33fa819685185a40f011c -KO = ff7f596307045ed01a56a4777cff03d9 - -COUNT=2 -L = 128 -KI = b16720b9efe16681349bebfca1ab8e2f -FixedInputDataByteLen = 60 -FixedInputData = 004d5b7ec74b05c0d83daab867a70ca7b8d16dd47e5ad0d74a6c55e5d9e555d0bdea105976e5db59864e877741d43da84c369927ae520a2e32288f4f -KO = ee74b86a7dc859ee6b7f2ada035f57e2 - -COUNT=3 -L = 128 -KI = fc466eccbd995e75f9e5f034f7bacfb1 -FixedInputDataByteLen = 60 -FixedInputData = 198c4620646df5beb56002b138ed205d42170597b8150322fabc5ead92e3d79b5abebd13f0140ba51872c8c80aadce187cde7380ed5e8eb3fb22805a -KO = adf6a3ea3d21bf104b7e0613a93dcc28 - -COUNT=4 -L = 128 -KI = 90c90d6afb172fe3587dbd566b47d5d4 -FixedInputDataByteLen = 60 -FixedInputData = e0c8a1008eaf92c9e813870df2d0bedfe787f27acf975785a3927f93fe7993816ad55cce83c0d5d6c6fb016f3e3c0eee53f216d47e53f58fbf0ac766 -KO = 3ba40200b0b84a4d980c9bbec8430b2e - -COUNT=5 -L = 128 -KI = 88582df17cc84e325ac943f0e585a85b -FixedInputDataByteLen = 60 -FixedInputData = eb7bf9040627909ea0df45f5012bd16a2bdcd2b21262861b248970e15bc18db0daf33156c35add0c7f0148500e23b2f78c1a83159293fdccf98d5c4d -KO = d0939695cbf7cbce8755e48e812a28e2 - -COUNT=6 -L = 128 -KI = 5d8b51651a093185d0cf74795bc9250f -FixedInputDataByteLen = 60 -FixedInputData = d7af79c621a0e6213b7bb2702ac4168bca3daf187b924f90af900f814ab7d3edb0adc5b0f1d0553f678cb8cae1d4b2a07ff3179527e61cc7a2f52bd6 -KO = a7745132981731ebeeaf012a1f1c184d - -COUNT=7 -L = 128 -KI = 74cc754c2c4f6927e9e88530a2ab6afe -FixedInputDataByteLen = 60 -FixedInputData = 3c65f2f415dedcfdd0806b0b54ad6269420267c84868d4382bec2beaac9864c2e93575e7258dca4bfb00cfe4d49c35001277803558a1974e0ade4973 -KO = 76c8cf51da943e33b39014a5f2ee9877 - -COUNT=8 -L = 128 -KI = 04d7f011b29ea81e0401014e87595b11 -FixedInputDataByteLen = 60 -FixedInputData = 25756e71205c41e2a957573b50b317e7d08337028758cd3867ceef156d6a0898a84df7936f4391fef3608223bfbf749206cdeafdbf37a2e4839af49b -KO = abbbaee1632c51eef50c461148752d22 - -COUNT=9 -L = 128 -KI = 70adab1dc5b9e60bfe351d01d43cce27 -FixedInputDataByteLen = 60 -FixedInputData = fbfa8b440d88352213fd258a80d6a04619cd7ad5158b7e52ad28f51eb09c525ade28f4dc86639daab0a912c8b48effe8ebea79872026415f26f4e692 -KO = 40781254168d068e2ff39b212adff613 - -COUNT=10 -L = 512 -KI = e7e9d4d6e9017028841cb2300cdbe121 -FixedInputDataByteLen = 60 -FixedInputData = 78662bce85e204ae80c30441d9f4813500650c63259139f7c4433ac54445b961cb4b37285740d1290a59a45a5b21fb99d191b2ea38fbd45af6b2bca4 -KO = f2ea2aa3176dc88e31c0e597b561b1bffd83fc34692d6b938dee1940182ed760f2bf6fde8c331d0ecdba61c4a04f4a1aeadf421d9a077390e262a35f6896073d - -COUNT=11 -L = 512 -KI = 1aceb974fd75c623fb35fc0bb8faabce -FixedInputDataByteLen = 60 -FixedInputData = 994d3f50f124fd63da924e9cac69823ffb67124b075f67c18ac15590b63215a29885854740d3d4f1582d7584afce1f8abfd8112ab6e0f5a8c063399b -KO = 423e94ddd95f1a53f18a7b4d211081a6204a1c62d2f72bc4e64278cd245775ab61503a5b46d5ac8ead650bcdf5effd599c478861729313e1ad535daf8b182fda - -COUNT=12 -L = 512 -KI = fc7ea928ee75c3de9f2d02fd03ecaff6 -FixedInputDataByteLen = 60 -FixedInputData = 1ba78493787e5459396cb8c4da9faa59e9d4f598ff65e7186944bc18e30602e81a67cb2408e8ef28df420cd55e2b0b4eb6912e5c206daf1ba325890d -KO = 09d8e579a7ac0c6a52fbc5a8c0e614dc68ffadb88d623f94e783f6c1c8d4593ff431da38510cdf6497472e7b4ebde9d7c5758f0462ab015b82a773e7d5959e6c - -COUNT=13 -L = 512 -KI = 82bc29e7568185848af4ef1fa081e304 -FixedInputDataByteLen = 60 -FixedInputData = 7fb1969237cf807ad5ce47546352d32cbddcac18d04a4a35a76604560adee54e9972b0d2f18a59ddd9eaf68ecb8588e498252cd1bbf915c34e69b903 -KO = 393302ba03a56648f215098e87f319ec68f4bb8911079ac224b6e7dbc13b772e7b0118584a8ccc1072281ab95049e3b7acd192112a5f22c7fa02366327ac5900 - -COUNT=14 -L = 512 -KI = 5290aa0a6bea4e737d65014be8213954 -FixedInputDataByteLen = 60 -FixedInputData = 516cec94d8e3a23d7fd8f0ae9703363cdcd79bde179f2115492f49ff101fbe75f5367781214043b350b1ea5ee849591ad3a2f6bf58826b85aa0a6c95 -KO = 2816d4cc7671569fd15f7737f8e272ed231676d99970c80685c08cd8d4e1bd056962549d4e6cfa4c282bbfa1ed83bcad573d3bbca8697476c99eca802cd389a7 - -COUNT=15 -L = 512 -KI = f957e4343994fe218b45343bb348a735 -FixedInputDataByteLen = 60 -FixedInputData = 5bc496c1ea4f7866c8c6eb953dc9e837cfd858782cfad5ecefa0cd084d2009fa64c8578aff6437f8fb1a3400d78317def861fef5c243e3454b3aec30 -KO = d7f36b2323d1018709476422eb8a8d7ddca475e8463e397666e79faf56b6d4e61f605fd8101f68d24be8216b7df2ca9520662cfd4cd1afaa46fdf173a8bcca5c - -COUNT=16 -L = 512 -KI = c2479c8a5232bd2da0b322a68c548d10 -FixedInputDataByteLen = 60 -FixedInputData = c2f66266e2cc68f655e9eb924451a3cd59c399bc3ad3098f5bddae776277a1c9b6ff55cc69f01fe22fd642a4c31c6d514c79122e66392a8252f5afaf -KO = 9d3b5a991845395b9770c08abc150b1f10603c3c9417364f4de8738edd9fedbb8583f7372512c89abd8751398e764f3deebc8571803eb67726513d85115a25b7 - -COUNT=17 -L = 512 -KI = 26aefdd5050f3e03f50f8fa3eb7b89df -FixedInputDataByteLen = 60 -FixedInputData = 6a09b1ac03d0340566d7ef207b5c18c0add33c8ce9c44ad2393ec50d3480929ae362a2fd80432ee2ebb757e6c59a829806366e69cd60b8da54e5640b -KO = a45986ac5f2c786ae50b09b910bbb22a415ccb10c5497fe8c2627fe75af94407a42ae6f0d745b9e8c475522247e5a2d0afbede69a1a1398e63c89a65d1c8babb - -COUNT=18 -L = 512 -KI = 7c3c6611d0100ea2c06966e14c95c1d1 -FixedInputDataByteLen = 60 -FixedInputData = 4023d95a5ad573a03caf85e90c724d985aad1883d91da5c8a1bed2643308cbbdf67d4110555a7ea9466b2ba0416fe212fe6f6690e6e17c7347f539dc -KO = 617c9d4c63197912a334cff70611be947e8d161cb0103c06d2bf0d12a4fbd1737a3a70eb3c1909a8aac882f22b5ad279d694af3d9b52fd51e492de1ec1b2cc24 - -COUNT=19 -L = 512 -KI = c00191102fcdd4c39fbb425ebe2ab78d -FixedInputDataByteLen = 60 -FixedInputData = a969b84143e83ff506e8a3d40180226956b101ee61e5f5bdd62dd40a8de639499b6dc13841bbe2f5b5827f15efa9f13218989310862e24e529703890 -KO = 85e635678956d55c1cfefce3f2973534a8bdf91e70c25ee5db2bedc6dacbe9ca32a4fdac6be5fbda6a9959e2a34b08df54471c928dca80efbd290ced350087d1 - -COUNT=20 -L = 160 -KI = f3387f00da1ba777611d7921f4def951 -FixedInputDataByteLen = 60 -FixedInputData = b5c336750788048f925d3b0ef553dea4ff0ac0aac1972b0e58924f90066dface16127ccd9c56901c35bc931956b591c91a8242707e818105b4dc4989 -KO = 6c516d8fe71ffdbde52fea90aa79ef586cb77b91 - -COUNT=21 -L = 160 -KI = 37e5062231bb18ce663d5c360a5a0e6e -FixedInputDataByteLen = 60 -FixedInputData = dc90a06e369f5952ea20ad50661f556f94ad6ad69ffa99be31dd7e15da8cdd1d7ce4576f40cd8293c1872343d691841747ca8ac5544612f23f34c3de -KO = a8f54e4aa87653523d8e9afd0518b180fdda2618 - -COUNT=22 -L = 160 -KI = b6e5aa52eb3a31c0c71d8e93cc2cdf66 -FixedInputDataByteLen = 60 -FixedInputData = ecdb9ed6b2bf23610cb54b4f5e5930d92974ba36fa2d1a39a91bf81e317cd4dac8d9cd3721632a955dd1369dc34b56b8b04acca1a3a4684296dedc5e -KO = 6fc553be29a71533f13675bda22c97f268e741d7 - -COUNT=23 -L = 160 -KI = 6040447aa126884a3dac57709fa13365 -FixedInputDataByteLen = 60 -FixedInputData = 5ab5a0a6e5c86d6be92efb5b8c3ab23478dde946915a0da1ab59daaddafa58a508bb0fae5b08fd14989cbcbc4048d96c5d2148c045c0cb52215ab60f -KO = 14c3ed431ee672376a103665f65d89559cf899d9 - -COUNT=24 -L = 160 -KI = 2fbecb9fdd4e6902cd0bfa511243b447 -FixedInputDataByteLen = 60 -FixedInputData = 49148f04ec709115e68a4d5c69913c40499bba8921575118ec40e058db2d72c93166933b86e8ef3d61b9ae097318d9c9716be1df5d10a8da7071c233 -KO = 849f242819d8ab57affdd5b0488fe7dc4b9bc83c - -COUNT=25 -L = 160 -KI = 48dcb1bdcd3992bc7d84d9f025130af5 -FixedInputDataByteLen = 60 -FixedInputData = a49eae04918d538601d2215b712257140cdba4bd9c19adb1c84e8592521ed7575803000f46b918492677e7855949f5bc8ceece419ede5d1ba2c40a5d -KO = 9084f725a65f8129eab4f35ed68d67613f6ee6c8 - -COUNT=26 -L = 160 -KI = 38a773e1f224cfcfe28d4d53da70e865 -FixedInputDataByteLen = 60 -FixedInputData = cc321c5fe4a29d712eccc591e411c58fd37b888b1875afd58944e0584831a80ae79c9d0726088b81b58420d10a2a2e594023f89d828b210793d2ecf3 -KO = 10e83b3472c9310301c9b0bf7deaa5f210a6d030 - -COUNT=27 -L = 160 -KI = cf3bcb88e9769252f56bd9b87f38c62d -FixedInputDataByteLen = 60 -FixedInputData = 75320883ae722dfdd9383bdec8d7817396ecbe8e171ef29549165c9a452b6cc13bcd572a8a815720f527eaa98512fc5f4f31015183606c4491827326 -KO = c1355dfd3f0b5682fe1c4a1a615aaa47006c7fd6 - -COUNT=28 -L = 160 -KI = 5842f16fe85e4618629f8aa13e921697 -FixedInputDataByteLen = 60 -FixedInputData = 2b8e82ca11b525ec4e3b68fdd4571aab12ac993749fefbfbd9c2c4a0a9e1b50af8f2af470add67c54ae93ff981575047c52de53e98b477b01b36b647 -KO = e0392ce53d10bb4c239d1e64143a4adbb7315033 - -COUNT=29 -L = 160 -KI = a7a9b27e7797b4bfefb490f175049132 -FixedInputDataByteLen = 60 -FixedInputData = b6a35b5787eff369239289ee1231e8f99076a2436b7c380428da003074a058fca11868fe6e2682afcf081133d8dabb2a75100144e2b8d14688586610 -KO = 8188cb460784101cd87757e5e18850f8147374d1 - -COUNT=30 -L = 560 -KI = 3c96c6db7a904e4092e31092dc942100 -FixedInputDataByteLen = 60 -FixedInputData = 9b0c3c7d2e4fc7fce4bcf84f150804868c1387a559f83ab50c4ba6bbe01f60818176e0e0820995a5accbb91162ca0f6a5e48388b1c4ae13dc0d6911b -KO = 30c9cf55bdf32ffadf5af34eae54e69f026351eea2112dbaa6cc4a8b9e0e77044211e4d4664f79f1eaf433ef0f11532e66e45b8e347d3a10f2e5a1c996d4fa8bae245b8479d6 - -COUNT=31 -L = 560 -KI = ea8b1616a3f6442fa3b5911e0d521393 -FixedInputDataByteLen = 60 -FixedInputData = d1f2abf180563de947355e753bc0a1534f7fb267b37ea47de53b668beb995c8cc47c3bec2528ba99cb224316ff173c553ce1a675f656c499d5be9de7 -KO = 642bd7677c4ff6727fcd60b2e1fa1a4b582575e2f0f1d1e0248e77297873e71afb5c32ea6d1e87f72c25c08f505e3e0072063f19c5140ac39bcdbc0426e295ff4aee38992478 - -COUNT=32 -L = 560 -KI = 3ef5da6ceed71f97ab136044a3563f2e -FixedInputDataByteLen = 60 -FixedInputData = 343f1ba49ee508d9a51718c74fc2defce7c60d756d95b7a8da2291c8c549eacc05547c80a7fa98882bce509429181e79a64cd5256dd6caf57f135731 -KO = f7af2aeec774df0f4eb5e22cb1b279fa86320e856fbe9cc34676399c8403bbae671bd54acf5564af19df52b482d0de38edbe630e499180a7fb67aa70a111a007beb89529f14c - -COUNT=33 -L = 560 -KI = 0b05a26e3ef4aaf6004c25b5ae80d276 -FixedInputDataByteLen = 60 -FixedInputData = 65ca7c2d3a98851484a1bf8234fb3392b0742621249cd1061ac243a16f5069392aa6245361aa5df0b36cdc8ea7221a2ed4d5a1985a8b0eff238c8c8a -KO = 10952f00bafb53fa903027ab963056a85d9b77cac1e988fe662d009278008cf946be046f7692c7cee7cf4d351ca2e5015732d34c8d9b964046d2cf5ac1f985fe0aea8865ccac - -COUNT=34 -L = 560 -KI = 932cb7f3f580fb456f4fc626f070b34b -FixedInputDataByteLen = 60 -FixedInputData = 86e9800c923b355b065d908f101e9c15a9ed8cbf9a5b0e9c861803364074c942b12af1f87f0afea7d8abf46bcb61fbf4b5daf88e8fa317ec1da95d70 -KO = 16afbe7cadf3a89411c0d23a2df8714f416089e17f98678e1c02d0cb9a06b158ec427ea17b29471baad6d0549fb8cba90eb92458a6061e3faa880c3af79ecc4aa090c8fe9965 - -COUNT=35 -L = 560 -KI = 7660c8220852056c1abcbac68a20fdd7 -FixedInputDataByteLen = 60 -FixedInputData = 71aca6923f53793cf62ea8ea6e6f0fe4d93a08c7ae1849243a452d0273bf47d3b894f0da653a15d3d56d2af14aab23de98f7fd19120f6548c2bf09ac -KO = 579fa1bde0e1a87601180dc9243167b6018a31a5900ec81c7111bad7a767954e6872e6a9d5f6cc77fbe9c6e1fbe7ce8d456e0f9a2499644d79c3da50e91e9be47158cd34ccae - -COUNT=36 -L = 560 -KI = 449252cd43a205a7ab3017823589e7cd -FixedInputDataByteLen = 60 -FixedInputData = 1ad3925ad8b9a6104b0b58cf9399f9acddeabca5486d68cde228c37c56a52cfe5fbcb68d7dac32935f18d124c7a40b578862b289bfaff0385ad8e81c -KO = 223ddd444f82627ff99a605ac59dcfa2aa6387e4da6bdb6692457c1e0faa26844c12ac0643d312fc0417ffd578cec9c11e7508e91c11e82169cf2531e39626e01816511c7ec8 - -COUNT=37 -L = 560 -KI = ffea6368f7262bc18b8c5e5937195b59 -FixedInputDataByteLen = 60 -FixedInputData = 4d09e415abe1ba4d7b7d0df7ecda9bf30dc2af4dc99294cb4d8ce3c8e74eb6f5851e8fd45f1650abeede682ce934a9236c6fb7606e87645a2dbdcf32 -KO = 6b94d83cfb1372c91a56506484511fd213898ee78ba2923efb77d7f1b21254cfad54e3daf32076d798315939b3e18525750012ee0a773645d308a4455ed7e7eb892bbefa8f25 - -COUNT=38 -L = 560 -KI = 5fd44b1301842168e21ce2bb694bd7cb -FixedInputDataByteLen = 60 -FixedInputData = 9ca3b6bcb56c06ebbd3db4eef0e36fc3bc07673c9533c35a4b5f919dd2229e399f6fbab91d8e95046fe32ade265591814b5a6ae0fe9750bc56dc7f50 -KO = 6cd8fa1c1520d8e66c2179fbea28ba022d8a5c0d8ca9cc02949e61bce3c107a7491d0d0bb5be857391e649cbbaf8b23d78a6f56eb44b23f9c7b856f08bb27f893f787f4dd438 - -COUNT=39 -L = 560 -KI = a3e45f4de27b9387dd2ed9446f131252 -FixedInputDataByteLen = 60 -FixedInputData = 65f6223e8f77739b8d7e5bf88a3c7d86323ac247f407558fd53ddd0fdbfaa79fd4c72c23e5489b0c88a723d0ceb8fbe13d31da66c28e1ec5524ef632 -KO = 4f4bddc3e011bd227ae28f9cdc36e39180970f0b1bbdc3d83319a05ba8f4d3562aa60d9d0398c1d52bfff967b5b007a8b89d18b17a033c38f332d56e1fef78c09573a17c75b9 - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 0b36f4b9fab36bfcd3de2e4250f88cc78fb59bbabfb0ec2b -FixedInputDataByteLen = 60 -FixedInputData = 10b2ec4b6c35e094eaf147cdaccda3222b8a75c45b91af16c827aa513c98761387523ce218f41e835f0ea5aea4c7a9203541db88bcec1ddde6086ccb -KO = 270463c226bfb513f96119a70e8268c7 - -COUNT=1 -L = 128 -KI = a42253ec45378a900ea0731297f33f93edd939f51e2d606a -FixedInputDataByteLen = 60 -FixedInputData = f5fd7dc6c1e9fc340c831289c8931cda9e8b8695e807edd64ec9d5446f76207b488ecb95e088110889c7978d78eff4100c356cb50c532f5a935ed1aa -KO = 350c309cd5d6b80c34573f0980bd80ef - -COUNT=2 -L = 128 -KI = 86b59ef10c1c32fde873fb0acfd3396d0c5cf759b05291a8 -FixedInputDataByteLen = 60 -FixedInputData = d1612592bbdacf0b6b73d7df90c60e9d3cc46da55e834077ff776aa36b3ee8ed59c06df2a1589aa01688bf866d6ef4f8a6e50087d3bca883e929aa86 -KO = ce538102dad47e80f9317816052fe93d - -COUNT=3 -L = 128 -KI = a606aa169b1868835f53ebb39f4b0efee5fa79d6cba82480 -FixedInputDataByteLen = 60 -FixedInputData = 2c895e4844843379679b1b8e6b1fac6e3c826fdaa2b10b352290a199085b05ad16a0e0fcfa7bed3e71f4b3a505273647708ceb60cc7494bc474f7d7a -KO = c22b10dd05dedba1806875ebb79153f4 - -COUNT=4 -L = 128 -KI = ac823998d3e174417be71eeb43b75f31009b212f09e54488 -FixedInputDataByteLen = 60 -FixedInputData = e8d4d5dad71da612b5b0148c80ceedb7ba1778154293cd289703d0032f9f61ea95122672c1e8848aa66cfcf049f91a80874e87d9c9ade6014ccac95b -KO = a604cc1e319837314a3450c4a2bbd59f - -COUNT=5 -L = 128 -KI = b5b15bd4567bd37b83d53358ae7b558b408d3289992a33b2 -FixedInputDataByteLen = 60 -FixedInputData = 1ed05f0481a88648c22a94deced761d24d70ed33f0ec5a8b9455fe6e1544742c8a860b6a95c536ed377f515b321249f2d2e8fbfd5136c41e6fbf437f -KO = 0dbfb5fd06bf8c3f31590e4673cf2ddc - -COUNT=6 -L = 128 -KI = 938659d664f554a887921313e2f98731f30d7812b094bdc9 -FixedInputDataByteLen = 60 -FixedInputData = 484cf9a73172293b1438e7c0c4cb1dc1f9bdb70ab919ddc22b9ea0a0e302b0e118d04ca8a2c6746028505565d22280e7a41aa174c92cdad501fac10d -KO = 88d0f845c9d87c8b725289bd6bb5968c - -COUNT=7 -L = 128 -KI = cf6d55c7dfd291b46000632109c9d098b30e2664352779aa -FixedInputDataByteLen = 60 -FixedInputData = 69ad375a974eaacd7122658418be93f5ad3856b47594da489a23129f418c866308d26601858893cf250ea3d8d4b8e1412201afec664222dcb5933314 -KO = f3f2d392277da877a2b1892bb59d11ac - -COUNT=8 -L = 128 -KI = bc8753d4af5bd0fb5fa252bb98337a45a1bc32e4aec60e0f -FixedInputDataByteLen = 60 -FixedInputData = ff0bfe75c8dfa566b7997907a57e0895533f1cfbd42da863bbef0eb8253905205926440c3b09f62e8cb7c3db6d314ad6808c90b00a0f4769813e4b82 -KO = 319d3b74ab1eb60304cdfc5eca60051a - -COUNT=9 -L = 128 -KI = 22473b58a5bb78388e4072a9ee0c64ad5692e589f911cf99 -FixedInputDataByteLen = 60 -FixedInputData = af261adc4d1eda216dd322b65c2a10e2de698a5456f2af37b3481d926479f67854ab08bc066f7d59404042154fe781a5d4ed59a659bb73680264623c -KO = 17062fee493d276ca41ac68ec2faef53 - -COUNT=10 -L = 512 -KI = de492fe3d40cbe068aa4618ce2459c9eedeb23ca68b04ae6 -FixedInputDataByteLen = 60 -FixedInputData = 6d792343fd4772660b612cd8473932fd98fee74f17cc99504674ac7d6adb8e73870335e107808ae71f80d9b404d98277b4cdf92ebd39e228229fcd6b -KO = 67c7f0ae09513e654f8af6bcb0a71fa58b8f80163ba06484a5a52f170b054dbd3f8fff2efb7a0bfb2f52710fb9d09db9c02471a5ae6aad205314a71ecb81f7f7 - -COUNT=11 -L = 512 -KI = 3d90497e92e3e13a2047de3c67340d653c832a4714376462 -FixedInputDataByteLen = 60 -FixedInputData = 346f93c5568b5bf754f89236b4c7bcafaf27225ae0586514c0fcf8a484daf72be39933479accef43dce6fcf40f93511c920d049c11af4ace90d9af9b -KO = a0e42e58ccfc7c006536b8ba7404bdc4613754c7e9cdbda394ea0cf5084982a651b98ce1d349854c338c91ca25eaa1380a96b1af2d8a47afed1cf72fb95fd9c0 - -COUNT=12 -L = 512 -KI = aac94d52da7f02b32a75ea60734305aa6e60c6009b1fe285 -FixedInputDataByteLen = 60 -FixedInputData = cc673b847c0be7e7c1a546a85c3d8fb742a7d4b4a49242ecf661e73c5c7c9206d3bcb95b395c12f484dbf54fc0b66869749ea709d522088a10b85fc5 -KO = 6248182fa057d8cf5bb125e1241a8a239ec3445a09a89efeabca8ce80fe67c87262bcb40182744f1e9869bc98721c558ee13474093c732a5af1d2d041e0c7a36 - -COUNT=13 -L = 512 -KI = f40f2b4441146f20c651375cef26d4e89d6e9b565edb3b3d -FixedInputDataByteLen = 60 -FixedInputData = 3a6cc2990c051b1e8d384e061e180d904db86632dd6735a27a4b2e5442196462f956993b917d154566b245e05070bb110cd476e3977bd2e9271d1d9e -KO = b0663c7f59ec7fd337979780b5d41fff858443806cd675e658976ddb41dae5120a49bc860d6ffb9a94042f94bd588d5c1ab14378b93b272443a044c9ac7fa0cb - -COUNT=14 -L = 512 -KI = ec5fda86791ba222e4cc26b1b2309922a68ed1bca986c577 -FixedInputDataByteLen = 60 -FixedInputData = e2846c01e57d7a656b9d035fdbce469022ef422605abed3fa68c018e123b90033ad64f521c021470b288c3c8f748409ee61998d75b2d3154411589de -KO = b4de5528ac7ad82aa3221e45b6020aa78ff3ba20c97aff0bf2d103968620aee05109f60f3d7546ace03d20c87541877f59b35b75121903bfbb33c1465a4a2fbf - -COUNT=15 -L = 512 -KI = 7e386c2df623858487743e0dcc554741d8016102eb2e1ff8 -FixedInputDataByteLen = 60 -FixedInputData = 97a181873aeef60f686d84c64f95a57af4d506ab1b80cdbf0943fd3651951793165d79a2d52723d67ea2649e148e04a2f5ae992ef0f2fad41b600de1 -KO = a42dd6f6b24bd66ee7850b01744e42a71bdc8fc5e85fc7b924db305753ff1602a224887270349f55992d33ee1a4904627fdca4612711fa9a79fafd8015acb6d0 - -COUNT=16 -L = 512 -KI = 4ebae8b618d430e27c85b928c2d9745c0745d5f8bc2caac5 -FixedInputDataByteLen = 60 -FixedInputData = 2b452d8bc84b8318ad3e021315d7e933fb1cf16510588b55b3d2dd12039d816dc37a61d19938d171e775aaf160fb1e7ccfb461e94fc9f64974c15734 -KO = 585b5912a8f67fccc7c1bce1c9f8f9aabb11721f621f45dc5d0e80246dc7e24c56c52eeca1dba1c09ef0527461a15250075151c2e70e583e1d1d65dd37381727 - -COUNT=17 -L = 512 -KI = 5fa8c1e48ae4d90d75cb8153cdb24ad745628cf14423a023 -FixedInputDataByteLen = 60 -FixedInputData = e5d5beffe63035518ebd60644c57991717e887d100c89ab394614cf081f07aeaa5fb68d17709eec81526d067e4ed11d08c82d432624d4bc1eb0b49e0 -KO = 2f7791e9661090d43b48bd17251e44324690e52ef0eba3daf0950758470c294e858bf80fa2a47e940895d5876d033b99a8b3915b6b5d1e1dbadf53cedfecde0f - -COUNT=18 -L = 512 -KI = 046ff04b3ad94354e51a50289984f6f537f2421b833540d8 -FixedInputDataByteLen = 60 -FixedInputData = 2af25b9a45b02fa0c4733f3c478e333e295db11314b519456816247ad88e5def9be1a627eacf464d463a8e7c668b6bd62ad4c302d601dc4e3b591600 -KO = 832f0b6d384d28aee0585a8ed0d97dbd5001cda7ce609468fac9a6c94bf954918b94539263fe166ded4b32c3f898e5f012db90976dd2a93faa269b6b565049e8 - -COUNT=19 -L = 512 -KI = 2950614274950a720253c6806902af82e667b31f8557daa7 -FixedInputDataByteLen = 60 -FixedInputData = aeb6e85023780513be9f2d278477e8f94d303172ee5b4088590db41bdec212b963a76264c76c1c990fc6f6db2b5663b6d995d2afa13dd9eaea7ef794 -KO = d42b4b07587498e29edccc182d0deaf2b6d5300f5658d5f6c10f2f698add468832d6de99850a0660b9f5c4d624bfe53454ec397ceb86d3411eabadc5399793f9 - -COUNT=20 -L = 160 -KI = e29a9773a0a3580ebfe71d44e486bb217597c1db549ff305 -FixedInputDataByteLen = 60 -FixedInputData = 5326d48455a00480d579bb2b9a571197117166e3897fb94a1b75fd8f8ba575329addb3f1c915413b64d901944f440d1895297763fc13906b4e9c3658 -KO = 7532143bcd9737867c14950d123dc8d780a2b430 - -COUNT=21 -L = 160 -KI = 7c555ce4bfbff597a8698f7f2cc5c37bfae2e7191de20169 -FixedInputDataByteLen = 60 -FixedInputData = 62f841b5eaf1144b5a4d20bb723f7cf462768c1e05a353e5cab73e480c34f22df96b982a11fc6acdf4d1cc1744af4876062400102082e8ebea52bdf1 -KO = 48d2052a504ea5b61f57000e11e289e7932d8a5e - -COUNT=22 -L = 160 -KI = 8f61a5c6f9fffc13d9343f8aa8377e013d58f976226069a6 -FixedInputDataByteLen = 60 -FixedInputData = 6856330a1990fb49af7228097451ea9b65f3aa520727fe9755f90689ab283e3e8683eb60e7b2506c9a21ffd50db1211ea272cb99115d6f3e23993f3e -KO = 97be5c1094457e1322e3a39c4dfb297457d3c50c - -COUNT=23 -L = 160 -KI = 46fa3128f0bdde5edf8cb3a9c1fb8a2369674816ae6a8575 -FixedInputDataByteLen = 60 -FixedInputData = 6366e7fe3dc70e38bb2c885f1813a0bf524a47d044abbb96311ba8e5bb6c6a235967b78f630fbca46f1ca4d2acd22f644c9219919222f1c446bb7b29 -KO = cbb26b77806facf80ed088ff74580ba1c7733acd - -COUNT=24 -L = 160 -KI = b1d92fd8fa63c3828b48bcfdb45df5761a7fb6734bce728d -FixedInputDataByteLen = 60 -FixedInputData = 2b88f7317653d7a45c0e2e28e5dc115744cca45ff96d824b28377cac3857ae3b25b57d3b722246b05ca06e5868b85e7347f602b00353b4c2305c1e61 -KO = 959cb8a477652d53f30f40cb62aaefca01343a4e - -COUNT=25 -L = 160 -KI = e86fa57bdcc511ff02b97510a20e5bb80786dcc436da2551 -FixedInputDataByteLen = 60 -FixedInputData = a364e2d1e8091035b6d193e200080d20d1cdcef1018b8ef1acf6fe697e436d1dbf831a10df6e7f5558b39379e51373e2806a4d33507baa3faf019760 -KO = 62448e5999986f624e23e7aaaaee090c4f90e027 - -COUNT=26 -L = 160 -KI = 4e37c739cad557f6d56a04865c384cc3216f4403c40c1c20 -FixedInputDataByteLen = 60 -FixedInputData = ad9a7eb5d965e0d8b8895e068540f910fb5262ee2d9d987c89e031e9b1b9504976592c9f3c6f1fec1b7aa8656490bd6d0c16f8be166ec6dc306aa478 -KO = 48f435d7750eba6ddbed6ab113f4c53cdb5479f8 - -COUNT=27 -L = 160 -KI = 4f192cfb19800aeeda2f1257c18c19d21332d6c70b54264b -FixedInputDataByteLen = 60 -FixedInputData = cbb64e07ef8dcf9f336cb7d98c2b230f948ce1992aa71ab4fef7c057e9e0fdd45439e989b9fd13b60798364ce26529800ad56bd26b66534e1fe34bb4 -KO = cabe4fee3385d05ab7d72abecc100f6cfe9bed53 - -COUNT=28 -L = 160 -KI = 5b167da80c1a90a35ba561cf3fd17ce94067a9574f4dcc05 -FixedInputDataByteLen = 60 -FixedInputData = cc018c0507b2a42183f3df13c45ab30fe01c817a1392ba6e591826ca0410f7ab4f804589a0aace973e9e4481b5b3c9b9bd0f465f72b5aed267e8691e -KO = bd99035db8a8ea05bf0257b800057715258496f6 - -COUNT=29 -L = 160 -KI = 4ac3265dd6e1ed751de8ba7215b98468bc326f7b3f83b235 -FixedInputDataByteLen = 60 -FixedInputData = 12aa4a9ede5fdb1aa08a9e88a4db64f2141cea22d58c886ef32979006ed37a04f52a06ce91d21160b0177268ff8f5ed12ba4059278883d74226ac9d0 -KO = f984608a9b8d22d49b91f5b5ac91066845a09561 - -COUNT=30 -L = 560 -KI = 2863bb26165dba5320ffcbd84ac40176c96ee411a0f4a241 -FixedInputDataByteLen = 60 -FixedInputData = 5adb91bfb62c4c9d69021fd541f3040f0df8e69e437eda7003e7573e96b2b8b60c7aacaad099271b55162ccb223a6daa852fbe92cd28c9a4334a2042 -KO = 63049fdc0b4636f4ee136bf5bd957d46d1f0f132e76d87a2e5b12cddc187f7891076fe6c5425b84da1a01f2d0f564ce4bafab0f088f70da88f4018f27d7ad44106e062f5b6e7 - -COUNT=31 -L = 560 -KI = 48e1c98803a0bbbc36c8dd65895c359105d2554bc3822005 -FixedInputDataByteLen = 60 -FixedInputData = 8467bd6cad0821c095cd29b690ee75ecda32e0ebfb2986d523091ab5ce5f4e85fc56402ef86b5b4d83af13a87b10f9e74f774f367f20a4e669202efc -KO = 725663f2fc233405a6076f97d629e4caecfc3421bbe3d6e49c0c8f09b2f263e35266bef8e68c09840ae8409a426d414a02879061bc22dcc16c6753a04373becd66167271a9b6 - -COUNT=32 -L = 560 -KI = e17e53476ebe09a38e09f509dafe6bc553c3fb71a37e896b -FixedInputDataByteLen = 60 -FixedInputData = 13fefe936a561abb01166638960c27ce7e76875dbc5c9830b60daa6c7fc046709fba79d06c75d8a3bb9b8a5d1c442d3c6e0608f42e74a4900c541259 -KO = 58a1c22860e4d63bd003891019a2281625ec703147a9e2d96dc1c054929442af9ad0c0e528fc526cbf1d94a78de10f8612753e644ff04b54df619c62793e9575e90f6705fd7e - -COUNT=33 -L = 560 -KI = 4ff05d5e81d625df8ca84b70546707ca2b24d3da9a75c646 -FixedInputDataByteLen = 60 -FixedInputData = bef905b58530f84e8ff2e9d3ccfefb4ff4b89ac295f6546ae91a30fcd62d5790afde44b55a16d43f9ab06bfd7e0ea119e47639d71ff0f67881828d13 -KO = 62c3a28f5dd3d5bd706fa798910897ccb57aa2bbdf3cfc8f7423ff1bf95c17395430cc1b7489203a1ccad3e8a55bf8fb5d4c18bb931baf1e40cdf412e6d7b3c65d4b51c9ab94 - -COUNT=34 -L = 560 -KI = 3823a38eb80461192b3f1d41ace687fa31728a95d684cdb1 -FixedInputDataByteLen = 60 -FixedInputData = 214666071bcaf3d04d1f726a22989b58a9e0d12c7ba1d43c9a80110c7af37478a64e0bf8cfc2c500820833b16fc4afe5748ee97f83780a3e5ce36f71 -KO = da2cd1ffea60e5a2f84dcf4b65db67d07dcc279753c44b69538e72ee240763ba981ce1e32bd2d5b353c932ddee631a1379a1db833b00dd47080f47aa95f7d13e686ab0480001 - -COUNT=35 -L = 560 -KI = b9a8d9db49ed84182b44330f89fc40b67bef3d7408e50e7e -FixedInputDataByteLen = 60 -FixedInputData = ff73c3daedc02b41dc5bd186ef83a27650bdd4c3faf5b41970b781824d1aef59bffd6659408e560f77f739f21677a744b320ff484a5f6a02ed5aa210 -KO = 84b69b50bc8b94dfc729f927e9a7a90042655f6fa9200e0c6a6e8d8a0b92ea438157a2a32b44acb8523b95009708154c68fbf937947052ef89bb16ed9e158bcee62e9a0c968c - -COUNT=36 -L = 560 -KI = 073710b65a0bf9fe8e9c949edb2f814d40ee9f352f90009a -FixedInputDataByteLen = 60 -FixedInputData = 7c48d821053f3ea8a653884c09cf12e9f7863a767470f3072d2383286d10880b0414652a26c51aa4479bc418e0e436451f4e8e068753854b3a5f281a -KO = 383227d43dc67b666fbb61e5ff6911a3f13e121d2c51ea979ae571f482a173b449e5cb469b0be1f37bee476f05e5da376de73202173ec916253586722082c16c5edcdc4f9524 - -COUNT=37 -L = 560 -KI = b8969c52d09ddf2b45f613176391240de4a9c34ba185a051 -FixedInputDataByteLen = 60 -FixedInputData = ced188c8f30554b76f64a6c42926080962907bfe0beb057fd850851c84bd07d849bcefd7be47cd34ecc033d6a6135df7f2012c12eb17678cf0cc8c26 -KO = 31580842d5a3c833dcc7a96b3e9938eca9c72ddb853a65940e79af52e37dfa039b4eef6facb4dddf1a898f8d6dd0e57fe891d3709f10ff22150251d11e2822ba7a989b6fd95f - -COUNT=38 -L = 560 -KI = 0cac4bfb3cee57bdee198624fa27918dd28c3fbb345c5b9b -FixedInputDataByteLen = 60 -FixedInputData = c6c7e5f6daf10b5ff99baa4cf2c16e3a940058355a713831dd25e2d22112ee36dafc64e51791f455d4311ca00002f53e66d6c7c8ced037e718e07188 -KO = f2bb95846696e769d89f994f0642c853e0facc026146932f31c168bbf2c6040566110055b374c11b5353b287a1aef10458181e062c5e6aab301557d62901f81065d00c29b6e0 - -COUNT=39 -L = 560 -KI = 31887cc6b9ca84e962744eae6e05c0b34f93e20cf0631156 -FixedInputDataByteLen = 60 -FixedInputData = 8476ab7e4c629c61617b825f34580ebe467f6f2c64edbda4f874bfefdc87ad0e0ee8579cd2841a73d4124e7632f230005993122f78c4172b3a9d4cd8 -KO = a8f5422719c148bf26917579fa300d5e776f95b6ad90eb81206bdbd4470ae26ccc0c2c434f8664fe457c75f9aef638dae393c4600618fc56fcbb8c3a8dfbf85255eab19e713d - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = bf4a2b8b9af4ee7d837c1b54635c56557974e6894711592d -FixedInputDataByteLen = 60 -FixedInputData = 7ad7e57be8c49bafe60779110be2cb628ccc4c93dda189ff5f648596ae28a10cec1909477d22b8f077ed13f750f9a3fbb8b6e0bc8ba84d405e1b7a88 -KO = bf0aa084b524985b8172c7be3309025d - -COUNT=1 -L = 128 -KI = b74efbea0ef629c5f5062e0b953d8387743dd99a085b3290 -FixedInputDataByteLen = 60 -FixedInputData = e0b2d0910bde3d09e11ceec37517f81fc79a7223a37904b7867f4f47c20ffffe21113a9a3572889d4cfd93b9b3fcae178b7b1f00cafff7d9afb4c774 -KO = 26394d6ddb6bfb9c53e7c36df164a1ce - -COUNT=2 -L = 128 -KI = 0d1be774a3cdfb221762605fdb2b913090caab8e6180c51c -FixedInputDataByteLen = 60 -FixedInputData = 89db9bda1d27794fc89936489dac09f1f2d04ac25bf8d3d31786f6789c22139edd8eb7d4ab7a1605e68c31c76e6bc20446876e3852565502ddb1378f -KO = fe0dccb89383249376c9c9c87f8c951f - -COUNT=3 -L = 128 -KI = 9f838cb755b776e5c06042b863ed3b372e52da63fc36ab6f -FixedInputDataByteLen = 60 -FixedInputData = ecce5021f44c1693479434b5f7dda17dfac80c8ce9ef4c487ca91292ce003a9892f01408148c5057a3e06ec9e7e137420bc7005524f0fa3f70b4b937 -KO = cedfbf51f576f91d568b0bbda6e7d488 - -COUNT=4 -L = 128 -KI = 0468e6be57e1f53f3e38f52d35f867ef86f582d5931ab794 -FixedInputDataByteLen = 60 -FixedInputData = fdd588035015b9e7eb96741e79a3454c8b4bb5bee0fdbed40f7eaa8d834b0c24eda228af7172e36118d4bb9d474f033953b6bedf2bb6b6fca3e4c600 -KO = 0fad21aacc4a3bd9cd76afe1dca77cc7 - -COUNT=5 -L = 128 -KI = a312951252fca2a82d15aa73b70adb30e801419be01ad85f -FixedInputDataByteLen = 60 -FixedInputData = de1c304d4895d6e88c6f7fa33976147b392f6da52b56952f847b8a61c0726e15d08c80c94e99d28df1dc1d37ad830302d5d692b6501fd53fb9efb1df -KO = a193a6197a29ee94e676e02f26152eb4 - -COUNT=6 -L = 128 -KI = 1141b6e9c440ea52e7fac2d6870f6d83af305492e69ddb4e -FixedInputDataByteLen = 60 -FixedInputData = a0a688502e2c97ed0320d79c9316b760ccd005fbdc0c4dc10d1a76afe2b77d767d250036d6bac066e4570557d81611d70e4e03a3514c9167fe04e9ff -KO = fcdd252cb94bf30d1390a403d0ba48a3 - -COUNT=7 -L = 128 -KI = eff985457208a4510f2ce65bffaf98387a9434a67c3619f0 -FixedInputDataByteLen = 60 -FixedInputData = 487e943d55919b993a85280f34c57a3d12baa686da0906bf2364e0b71bcb2822de22014d6df577605ea7328295c3f8a3de8d4c590f8d885c7d64a14c -KO = c43565e12b44b97d0b03970050525b42 - -COUNT=8 -L = 128 -KI = a007010544a6e4556543fb801218d9912a1bf5cbee2903d6 -FixedInputDataByteLen = 60 -FixedInputData = d57cefafb8b4f453b4c2fc037c8ba29a61ce8c3053e79cc3987b77a9239dfed089e0166b5c7419b059ec773ccf97f700d6f1449660099e91b3985cff -KO = 06f2979e293351cc919ffdaff7cf91c7 - -COUNT=9 -L = 128 -KI = 002e43add4091ed6afec603ba78d553fd2aa657d9735835e -FixedInputDataByteLen = 60 -FixedInputData = 5a4afc33f5c96b36099096751b4e160681d6745b69d757fb61c6f7b74484be84a54893704f88c5c07fe1bae607785f97cf33119f40e70ceb987915fa -KO = 50828c5a3ba258cf9c7b9d091b89fc72 - -COUNT=10 -L = 512 -KI = db8f390b3139d66d8dd050fbfc7474a08a5154f6d281bfae -FixedInputDataByteLen = 60 -FixedInputData = 242982acb8ae55a88b1037ea82ffe634a5c03b69b8c9b80ea58e22d9f97e007b7907ebffa10f3f196326a921ee6bd21772c3c7d591faf893d4fb4b71 -KO = 70c2c0f91ae385379e4df3bd017828abd1e85730baa0767fd19a40e7a12c6b9662f8c21ebc59ca7e81aa6cc76805d667dc9c25b7a38be0826b80e06f88a08a35 - -COUNT=11 -L = 512 -KI = 41c7d27da02cb58b962f30b2f2f9e121a0be34804795563a -FixedInputDataByteLen = 60 -FixedInputData = 46cd82ab5683d1534298e6e0950e7e7cd191f779cb2b5b5fb4892bc82e19433042ac94e5a7c57321d0c051f4dea429ff0c81e1e61f8d90c91e628e91 -KO = 7b689a818301a097e6e9430b70d9d60df9e5c78f3daf0a6187725e17c2d19775c2a9a922b565bd9bc80e33c84ef5a0d1727c313eec7fc874aad0d3a7223de52b - -COUNT=12 -L = 512 -KI = 2cc4ebda9c1e4d8cc816897db15159a23e6378a9ceb9ad0f -FixedInputDataByteLen = 60 -FixedInputData = e8eeb2a318474a04a8c343dc4d3db853327199f96a5f9db4096ebe3f41e9891b4a6c5fa84341c396731889e3e0949254947e9daaf4f7ce5c50267538 -KO = f5991cc365d460cd2ec20f75dbfba0c1f0a76c5815f87acc64b2e41e3faabe00f7822756ceb1dcf13576899012cc953609e34aeb3ae3da47337c78fc10494c8f - -COUNT=13 -L = 512 -KI = 3eb9e1018947b580fd629a60f8023dc7c901dd12e2080aa1 -FixedInputDataByteLen = 60 -FixedInputData = fd086ae0b1bd77c31cad0c2372ed077bf302d211799c42f991914a5fb6de8d7f5c7e599deb29633c422d9ec3821e0ebc0a2c913d533f8ed50466a09e -KO = bb99b54ec773fe50489bf801d13cc67e9e7b1295afbb89c536d7122bebf05bbc836f305bee06288c2efafd1105bdd4b70dd0bc655bd5bf6e2e2e603dab09c41c - -COUNT=14 -L = 512 -KI = 9d95e4b065f2591769ab0bd48c738cb13e9dbb401f1987f4 -FixedInputDataByteLen = 60 -FixedInputData = 5c6256b26b248f95c601cc9f8e4062b07636ddc5d6832b7e86cc89149e379c518465511a24059d0e0ccfc1794c9fabb241f4f222fa26c5f8d15c08bb -KO = bd13a403d3cb3f6b0bca4ab8707282b56f61e0c75a70458cb2df8376648e56435a2e152bcc3eed80f0e0e836641334b54dfc4fcff3918b5fa620c2ed55c72af9 - -COUNT=15 -L = 512 -KI = 493dbb8066a6ca9068516a4cdb1b0a2c2fdde1a5be2ecff9 -FixedInputDataByteLen = 60 -FixedInputData = 116b5ee615eeda1e6e6f6a8e9939b24b53c7dc2fd18b0b77e63c2071e13e5c49bd0283d30c947aea03c30128cd8914eab123cc3e15ba4606208c97c5 -KO = fb2d89fc5828932d7d7fdb50c3fa4a24d3e4340e0673cf52963e7a52f7e3890efee7beb3620d97f7cd938664417b50880c939e3accbd35fbde0da4bd360e31fb - -COUNT=16 -L = 512 -KI = 4f4c7579680ce083d7172da8f9726848cece0d415d31b873 -FixedInputDataByteLen = 60 -FixedInputData = 359346e8fe9efe6930edf4d8ee8ad3cfda1fa6b407227960783e6d8e421966b5aaef1575535d42ab8d50b067f6ec982b6abd2558ff13f265f8c9f1a0 -KO = 0c6c196d5f40714c2019fcff83669237258c617611cca758c0d7e1d51d41d6296706d6f339587338a2e3576f6d232bdb5c3a1640c1bdf2accca52e18bfb21166 - -COUNT=17 -L = 512 -KI = 5712821407a64c46604bfd1db324fcbbf2ca33452118738b -FixedInputDataByteLen = 60 -FixedInputData = 8f114c02fafec8a8ba2879f1e4969bbc4add6894ca9dfbd1b7f1ab79e01bbce517144049dee7b6e22766e398b89eaa69a3dde492ec743d6b1844aca8 -KO = ca88780e242acebe65323aaebd8ab02e66e973f927ac524f3f9d0a50a4c2a9f1bf123faa4b54116921fea364618c7a3faff34405d3232add11c551c1b3ddad64 - -COUNT=18 -L = 512 -KI = bda09c9a9dd1a3cb1d051a0115771462347109e23fa40211 -FixedInputDataByteLen = 60 -FixedInputData = 65124642e4cde8904d7de7b39fd77a72533e62339cf10666fdd1634c6af495e872504e6b33c2ea00798c42dc1535c96a6ceccdc840d1cc9e0b8e394c -KO = 77e316037fac903d194f66532814ae9cd80ef0ca747720f54238ef6574b0a4c046aae5708e30545e72c3dfb8f2e3f8cc9839f047b5d116f33f54ba2784bb5613 - -COUNT=19 -L = 512 -KI = fead0ef36e5500d49943e3e6346cf8797b1d7e21e7250dcf -FixedInputDataByteLen = 60 -FixedInputData = 876db519bee69a0ed25206a1d433db2fda4014bceee3b8d9b5b956e7b48bb7f55060a29ecf5ee2bf05df35f8b4668b0576b9aa0fc0d64c5d9282d1c8 -KO = ed5153b0c1db6505ad5337ef838d8f3fb265c0e9cc67331a7ba3a6a0b433ced61b765ce527127d4e9bca57d21dfce30faf15af7f771bb82aba21bbc5f78c5b61 - -COUNT=20 -L = 160 -KI = e72e364cd45a178d64e06ab3b925aa370df1d55a640f56e4 -FixedInputDataByteLen = 60 -FixedInputData = c8194a7276270dfdc413e87a5377b22fab78b4144f7f1d4961b3b0fe295648c98db30c4090249995f0b3c8866dd3a17ec2007612ba4fe1d788101c3b -KO = b46b0bb8d458850137c89c759a2ac3a0503936ad - -COUNT=21 -L = 160 -KI = ec7b7bdc512421f9b69d9aca17d351418dd88baa3d1d4b66 -FixedInputDataByteLen = 60 -FixedInputData = 3c477fdb2aabe162020a5cba4f5ad40dc8ebb62761bef67df08558d69797c2a97e02058decdcef29cb85eab870c895395c79ac81cdef8e9261519019 -KO = 35294951ad0ce6352cebac5579da621cd4e85733 - -COUNT=22 -L = 160 -KI = 795d9908db78929362285484d24fd41966769fe037060668 -FixedInputDataByteLen = 60 -FixedInputData = dd742dae6981e0c4749fd321ff4f09e5525a2cc3b3c9523f9d9232bd051423179f34fe512988444b260a8f5daf84a4581a2aedbad2633d148febc7ca -KO = 21ee6044b0de1f10e4451bd6c04814cd71a7d593 - -COUNT=23 -L = 160 -KI = ce5d6b10b934938083f25be256dba3ed37500fcf85b56a13 -FixedInputDataByteLen = 60 -FixedInputData = dbfb06e73580335f27bdaf15b89f7bdf24dd79e8357e5f4872592dddf5b12786b680eceb92ef5c54a41f098d7db793f0e463709bc2ba9014045bc99b -KO = a0aefe42a01bee5b570cd1a03630488e26e46728 - -COUNT=24 -L = 160 -KI = 6c557c39cc85488e2af4d1d4f1e14b11cde2a73c889d3fea -FixedInputDataByteLen = 60 -FixedInputData = 9383d6a8b2813b7a9d6cf648f527fe3b7fa96178ded103573ce9c3e06739fdded4ca4033851397afdf583c7f5230b0b240b66104c5020340e029a973 -KO = 748fb50e70222a5b36df6d6a191979b9b53f9d08 - -COUNT=25 -L = 160 -KI = a540a470bd8f6186d83a94e69a5d3611744da8df4ca0d23b -FixedInputDataByteLen = 60 -FixedInputData = 591200c43f07fe90d557fb88dc0d8287eb16212b3a5de63c02059d8bf9540e5f632424e4d47b3bd77f3575837f4abc9eab5683624ea1bee33e96a0f8 -KO = 240e6afe60586e7f3460e887189bcd8badf0d422 - -COUNT=26 -L = 160 -KI = cf2bc83f4cc9851ef533206e704f6a67dc326af1df4b4dad -FixedInputDataByteLen = 60 -FixedInputData = 8e33cfcbf07dd40beabbb1d0d5d9f4b04036ef01b8dfef24657e4913c54407167851b628f2fe65fb5d57cb08c17c2c06f5eefd90f90438797993d052 -KO = 7c62eaa519e4cf75b189c5e3d46381c9fcff2332 - -COUNT=27 -L = 160 -KI = dd7a95db61fbd556c74fd1ee8426c650b0e035253d97bb10 -FixedInputDataByteLen = 60 -FixedInputData = 67c774a337228c27d358c2fa5a7dd6515dd71f4e804578f3087e8d83488b8088cb60ba4fe1f733d4fcbd95224874debacd557e23c1b7a8a3addbac95 -KO = d9ff3b1460b41f364c7b96e499998d6b01d465d9 - -COUNT=28 -L = 160 -KI = 76574b4db79bb153490fbb4e843890e86286d82211d1bca8 -FixedInputDataByteLen = 60 -FixedInputData = c27251bbdce52b4fefde4f03c5bb1cc7d7d396c0a2e42f723f5da3faf5d8c15c5823b90338ab87f1be47fa2a00db00044bfb81c60c15b0edae53cf9b -KO = 00912cd4852cd5e788957fe78351072adf07c875 - -COUNT=29 -L = 160 -KI = 897538ec3f747c8f3172e26d08a098fc2f530ebdb25a4983 -FixedInputDataByteLen = 60 -FixedInputData = da9aae700e2acfe29fbf0c1a1b5a5946416db03b7903f0054a749e3afa62271732f9a526d8f8a3bc12e63bc0a023a59e4e2d10d197fd5da5227ad785 -KO = 89c3d78a6bb7b04ac9af3216d29eaa674516fe6f - -COUNT=30 -L = 560 -KI = 84955c7d9fa09eac8288edabe7367c3445c0610320a737fd -FixedInputDataByteLen = 60 -FixedInputData = 98c7247f6d0685f6357d1efcd7d69f34df600620f881739380572a187a0322cb21381859e7fc3a376bd5eeebcaf890032fc01da32a766dc548dfeb84 -KO = 8f6b62f45a81d7911c7344faa9fb53ac6f2a366915f29aef641f673c8e46f7ccc8690870c3c1d3f9a5cb726aea80b60b28bc39a2100660602f45507cd60c37e14f158ecec366 - -COUNT=31 -L = 560 -KI = 9f4701208d864abf67379fc3bd09464937b663adc2786bdf -FixedInputDataByteLen = 60 -FixedInputData = c1edaf9a07f6e9640c5d98c3fbab017107bb9340faf5d6f2eed8db6084a8c472efb955bc5fa165b3de15454c536df6ccba29e5d9e617397b48241158 -KO = 146baf49f75cf87537c51e5967df7ef15ec7915d4980ecb416794e7ec08068389157adaf22571b9a340ca857b7214a4a0b44c1ab0c6b5156568cff158b4c1bab96ec39e3dcbd - -COUNT=32 -L = 560 -KI = c3e41290bff216ba425c4f1c74e1501a752037dede00049e -FixedInputDataByteLen = 60 -FixedInputData = 72eedf49206ea2de5bb9d4d6eab4427159b07b937da63ae6140e663b607f24b79c4db6522c7104d682db43ca14a606818742b90832755f6c7cef9aa9 -KO = bc4b4e2d26703564b124b547e30a54b45f69262f61449bd117ee52883a940573472e311165cdfcd26d75e5449b4f4817c6a6e39032352871a73a38107f77d7ec095b252704c6 - -COUNT=33 -L = 560 -KI = 7537e6e2363b5af51e07d75d7f0ed379b87fc3dd4ea39e0c -FixedInputDataByteLen = 60 -FixedInputData = f203d62ce1f4905060eeae83e707eb14b546164565422d57ef3a7ecaf04ad24746411d66ee6fbcbbc16264753807575080e75395299aaa01f4260c23 -KO = 01aebddcc3c6ae7d893da3ddd5b6867b653d0557b0c25bd4916f6af95ae81dfd6166138646fa51e87c29d56a0517837d5c9c4673fb1d2d59f1a604e81fb59aedba65df5e6e1e - -COUNT=34 -L = 560 -KI = 1917f8b592ef38190186806c936c490aff83abc49f575b60 -FixedInputDataByteLen = 60 -FixedInputData = 433fba763400aada94eddf1b2e0a8f542aefee0489cabf2b047e63484f71e5730715aa1badd2daa3f3d4321460f988ea9936a100fb18726260265f90 -KO = cfe54287534b8b57a73d1fee5911a105cedc7e2566918a2a18aef29b2ee18011f67db2b4192113790641e682bd5d7fb2393bd8e37ef0f839de4d98c141ef4197052d642e5709 - -COUNT=35 -L = 560 -KI = d85658bb052f01685add1f6eb7ec19583bafb82fa3430942 -FixedInputDataByteLen = 60 -FixedInputData = ba287b4429923c457b258fd6c462d7ef0794669464db7fba53d48165df6f223bbe2faacd3c14b27d1c7cac940c48fe62f2cc1b5149fcd2ceae2cd7a3 -KO = b07481eccfd98dd5681b5b82cef4f1cbe2d0cc9b5eafd83e92c197090f60bf33104410dad3e9dbb460bcf156e26ecffda3644bb12a28bf57bd112b1239ec16531b00da1081f8 - -COUNT=36 -L = 560 -KI = efd02458ef219639550777f20c8a11d6f1b159b5a12ae2de -FixedInputDataByteLen = 60 -FixedInputData = 608fc0f4502909925c3fd63e2af56bb97d5cb0f50a82968a4e66495e6dce626fce5ec70e9ff53bee2d2bbc6f62dc8b7d3c8a38445431b0a768374ae6 -KO = f57c63c787fc5c8327ccb2b013382cbb3b190e8766554d8f302b38696ec50c40f99e858f42b5813d74169baa9051325a9d67a5560cfdea0fe9da3707fe8a4c4051f4fedd4485 - -COUNT=37 -L = 560 -KI = 4133051d1be208f3e4a50cf18c8a7fa8b835cff5f04811a6 -FixedInputDataByteLen = 60 -FixedInputData = 63cb072f78e08402d9df1af6ec0eda74e88d34134fb07d8c31bc3fc053a5675345fe867404cf156ff4e592a1e736e622344a90362304f7073ccab460 -KO = 228f2a4a288ab623dbf0a342d85cea572dd2fc6e0740b40155391a2d336fbb748e7d36c1b23a159964854f61beba3aad9321f82240e6689fd54650b3714fd8cc5699f350af21 - -COUNT=38 -L = 560 -KI = 976f6dfb43660354d75706d3bfc47426a19a22fca9cb70dd -FixedInputDataByteLen = 60 -FixedInputData = e26ddcfe0aebb07efc3fc68e1d6ca7d4d49320bc05cfcb027d9035fc3531c63a8f395042f68337fad26df27503ae6d64cfbda40fbe5f4cd3fae18521 -KO = 9888980758b01c1cfbc514db109f7e45cf7897b0d20fe32a7c6b2872a9dfa46fff26cece823f4189a7067113910640c79e609af9a9b0dd11b713c63581fef33b2cfd11580172 - -COUNT=39 -L = 560 -KI = 79031ce1e2fd04e0eb7e16c70684809cf0a92763ac9c4f0b -FixedInputDataByteLen = 60 -FixedInputData = b3df9539879949a7a16358aeb57dec79863c256e68f532a4bd48efbea9e9e1a24556f9181a3e1fd4a9bbb541e02ba9188a1664bf31995314ff45114e -KO = 7c80aeaf4a9210040701ce7f69d3c640167340012956f5b7607feb74d0f580eae232c8fd501f9e1c0599444dd879c865fcd0f71f8dbf9397670f59894ed6b901087143acd2e8 - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 0b26e2ac05492368baea23136b6102eb002d07ac23a9ffc3 -FixedInputDataByteLen = 60 -FixedInputData = b69430e093fd4be63eda67d6d337ff64c76c49ce87f7fc2358539498873e83f5db764e0c9530d35c46a3b08bd60a1d0fb591e89089f3f8311e6ae289 -KO = e3f7103ea8dbb1b4714dcbcdeb64a55a - -COUNT=1 -L = 128 -KI = 01d8d59004903c02c9228555d2c6f07e2cd38003a257f8ad -FixedInputDataByteLen = 60 -FixedInputData = 8183de2d179739364d301caf66390ab1984279f3b2ddc376045593615c919924ad412163e2559bb7ebcf911641b6003c6285c57fb752e3f845f13a9d -KO = 4bed2e6e38383c8e22ecb172f770dc43 - -COUNT=2 -L = 128 -KI = 8d1fa844dd826a52427a39283e7fd18a6e73fb10097d6581 -FixedInputDataByteLen = 60 -FixedInputData = 5e64857ce77d5d66d64e987b7ed5b9047c520b41572e9f3f0a7fb68e0f71d59839fea4a107d44f73d9b25af659fabcf7d97b72076377fd6ef51a0545 -KO = 2407b6e4e310380ce73616fe023ee6b6 - -COUNT=3 -L = 128 -KI = 1ddc0126f150668eea7f0af6ee8adb161d51b1d7410296ae -FixedInputDataByteLen = 60 -FixedInputData = 3f8c90ff0e5e9c46a798e5c47b6f13b9574b129ec67da0498cd07d9a5314d27c340b97b009432b9ad0df5c9b27cfe7b718d443191ea9529040ac8d2e -KO = 2069d40da181d6b542c4c5d7e397016e - -COUNT=4 -L = 128 -KI = e4384c2200abae7e72b3c0f6298632258bfc552f39a5c03a -FixedInputDataByteLen = 60 -FixedInputData = 004c7e20eebe1b35008c12823a8bf063f5567608b1e13c09f2103139770cc3eb677a6c736761bb539f7cb93ad89976343cf97183c81c8534fbf2f822 -KO = a2dcd9687a4ab2f9050c9aa9124b3b79 - -COUNT=5 -L = 128 -KI = 2ad12bef4a7fe97d9842e77918ca5125a250d6fdec1380b5 -FixedInputDataByteLen = 60 -FixedInputData = 6d516b2556758c70437453128cab9aa95f9decc74ba24bc1fa1fa8568fa768de4b34e7d1405abdd5b8f0fe829b402afb5a0f6119eefe41a8d8d61b3f -KO = 221ceac0192d6ca03b35a0b7b44c75f1 - -COUNT=6 -L = 128 -KI = 4dd6a3bda8a62b6c660fb4ec2abaaa444b95def0e08c533f -FixedInputDataByteLen = 60 -FixedInputData = dad82dbab87a3e5c35fe92097a738e5ad2607a2a4dadd3ed2d08ec9a176f5ab8f83b2a09b450d2cd2999cdb4c82a40864d12235dbab7bb8846b60019 -KO = c1928834eca9aa6671d1b115498bd56a - -COUNT=7 -L = 128 -KI = 1b456dd3ad571dfa653ac45d5d6054b6732af3bbd799dce7 -FixedInputDataByteLen = 60 -FixedInputData = b43438d0d5d11c654d549cf293394ad54065912a6e7b595e128201491a1a8b7cb1fb5fcd88c6e881830dd6f907011fdf12a6bd50afdf81a4fecd2788 -KO = aa8acd93af8826924a4832c6a7a91d5e - -COUNT=8 -L = 128 -KI = a55da9d6b5cb9e6d542dd0964a6356cd0759c0c31fe72e5d -FixedInputDataByteLen = 60 -FixedInputData = 14ea63b9b72eeb46c49b58e216ac310cbd294b1b583e9e605056dc478e5efadd290f297ab376e4275162bdd603158ecaea5cb6cb32c3b9f317bc4120 -KO = 9ab1d33c15529bd4f2ade5e1cc76f4ed - -COUNT=9 -L = 128 -KI = 17165e8538b784fef7d8fc0cc9ed5dd4fe865095f1f31f67 -FixedInputDataByteLen = 60 -FixedInputData = 68a23ad6948418681787fb529ed2ab8f9ea360eba12a3d543ec38fa6100aa45611e72712dfb8c4125b9f6c00abe876c9e0abe0400df9ed47c0791300 -KO = 53e671122e47dc511f788fdb8709a2c5 - -COUNT=10 -L = 512 -KI = 0573bb8d58ef160de05685497983ba7e680d6ba6f2f3e42b -FixedInputDataByteLen = 60 -FixedInputData = de8fa3fe09fac393d8e4c092a5019d1137e8fb529ce39ac0536526740ba3c6da119aa44a07ac448f1270c8ddbf4f9138bf3b2ddf58fbdeafd75f4b29 -KO = 21ce2162f75dec38529edf9a2913bf58ce3a1b0470a1371a9fd83c4b7650b8dceb0a147094746d43a328707abecc2175f350ab1436122f9a8196e0a77f9eda5c - -COUNT=11 -L = 512 -KI = b50ab61dd6d32a0d47af719eeb8982ffd02ad25fabb4bd1b -FixedInputDataByteLen = 60 -FixedInputData = 3cb10d7174f0596bd69f10c1f270b8e44eaed25f823fbef750eadd793ec3feb4d5d39e1c1b07e79c1490a8f15371404002ea398fab4e1dc291a13b03 -KO = 63c6808e8648bc86c867dd83fe518582e29b4220631d5cb88f3776c2153eb12cca16f166d8b9ca13514e653da0c0d4c6c7458cae22e217d9469009200f2e7c6e - -COUNT=12 -L = 512 -KI = 956e849c29f97f127a42b260e005359c7b909597d9443018 -FixedInputDataByteLen = 60 -FixedInputData = e7b6c01f02af97f50f4546853d9162bee2eee6fa84e0ef3c02b2113ec7d7d2f478fdf53d68d7c9df6c34fe4916168a132b68280a4057cfbd037a97d2 -KO = 560704a873f1a08b77c42b305756a9920fe4ac0d72c514c801ac1e09923e59241053efa4a7b1a5db282eb221d952294aa578373341369cf540d1c98488399372 - -COUNT=13 -L = 512 -KI = 906aeae3fa7c5e4947c0534e311fcbacca779d157eb16328 -FixedInputDataByteLen = 60 -FixedInputData = 1742c84c4b3dcdb268610181d54a57acd1526f5266863de2f61a0d2901a01b5861ca4a69021cbd45bd890392ca25118fa47a50737054c66292e317a1 -KO = ea3ec22d2e56ce457cf0689a53c3dc5f766cb0266ac9a1a336c882abef2b0eae3737c57eca91328e56dca2ded08caf5000cd568c64fac89b8669fbbc9d1a3967 - -COUNT=14 -L = 512 -KI = a4f2e71d9e8d8b646b36e225fa278008cec1b8f9b5d7f294 -FixedInputDataByteLen = 60 -FixedInputData = c091e71fd6bb51ec07e631e9622b09c37b2074100e1f638a76199c1ea8e78eadfb9ccd876f56662c072eec8090dccc1ca2082866d428c9b53d8421fb -KO = b40956bc8563700cb879012523cefe6573899dbb8dd6c9a4e26343c9e5c0a83e69ae3564f1fba8ac8f6a94c0953dc50615402f5ddb978f276c92a3ff02af78cd - -COUNT=15 -L = 512 -KI = ece5f10962f6165b6b4cec42f9a4801f09ae220d71dcab17 -FixedInputDataByteLen = 60 -FixedInputData = 177bc7107401cfd6d29918fcbe224741c0da13bd505ee09a1c1c5864ff9fe62f0a241648bb501bcdd1ba8b0ce369e62069414ec41d1fe06dad8b0e18 -KO = 49c648b1611f39b2afa6dd5c6cc2a9ff571354aa908198c74a6a7489446f48f8fdc02caed1b165d45a527ee7fe3e79cf5511db0edc89a8dcec32342950ff1106 - -COUNT=16 -L = 512 -KI = 511f30400d27fef7c2de96fb058794a73c17dcbf6f15798d -FixedInputDataByteLen = 60 -FixedInputData = cfbffeaf64955b740e9f2712fedd679e39342522be247e81e1879eb7c10a65eec20ac7545b865d58db6f432844583f7e34f17f2d66803d68979a85c7 -KO = 8805ae94ba87b6f03dddaa5eeb40054277b3757fa4c4619869a53627060950bc141faf33efc18eafe3f83734f540fa3c6b8fcbccc6770b8c13ddb6f1edc0dbda - -COUNT=17 -L = 512 -KI = d5903118058a83e65e47cefd777041d665588f172c87b1f1 -FixedInputDataByteLen = 60 -FixedInputData = 71573ee97d0bd215b30c49401616619e97111a098b2d8caec156bee11bdb471bf7e5d4814314e1b32e007a30261217b8a4f258dc9e5e31d884dee029 -KO = b6f7146ede32da9582cd5e07e6bddfa70f98cfe09eaa90ed73fbe05b04ddc39700dc237273e81826e8b9c50ae1a3d60c1b0b95bccebb81c82724a6ca78b2ade0 - -COUNT=18 -L = 512 -KI = 4ad50a059b10079858c249be6c1aaa09bfa914ab51a3c391 -FixedInputDataByteLen = 60 -FixedInputData = 10a3cd52a525c353216e9caf2ae346acd18665af2a974fb1556d2dc8eca9425c1423019bda30cda240e87a80d588a73b5d39817b1375a5ba10da4031 -KO = 6954a29470bc824dd71c03632a81da258f7a517aedb5449a68375fd44bde892e09cc26e4eb90dd766766a4cd3805bef60da6df0f761de5e07cb2e0b57ba164ef - -COUNT=19 -L = 512 -KI = d583f27117b0c9c0b3ed69125a5e35517b9eb9781f453387 -FixedInputDataByteLen = 60 -FixedInputData = 8cacfea4344d6f97695eeb1a9769cbba2c3cac75c81e3b5e566f346dacf05a5b4bc565117f45bfd16dd66f97c0e1005a085e4fc92b9ba9640ffea004 -KO = 27318c63bc18874f83a7b05cdcc2bdd8c4f20b651f587fda76c67617cac24a93267d55f67c3d6d3e049d968bae5388ced6c0b667ba8b68eae07896c2fa7ec1de - -COUNT=20 -L = 160 -KI = f431c86d247b61ad4aff2d6a707f9c7b8498ed1ed1837511 -FixedInputDataByteLen = 60 -FixedInputData = 7c454e12d6975cd3d92917d5e2777f4f9c17780e41ed6f398fb49646e2f9bfe7e1769f2efe7360d47b1e78c9a80a323f907951de3227b92ba0fa44fe -KO = 415881cfb811efbbd4623dc1e732b292ebde914d - -COUNT=21 -L = 160 -KI = be60be45c2f5fdb13311fbf4151c12555549e5e17c4a1cd2 -FixedInputDataByteLen = 60 -FixedInputData = 62f373902dd7bf59fe7eadecfbee8980af8803406498161ccd3b26223071c6cd011aa4592c83ff876cea3eaa100fb34e47571a0ded0b2c1ecc00616c -KO = cc3f8f8d7080a47d4c1628d294533ba3451930f1 - -COUNT=22 -L = 160 -KI = 56a42c1ad2c864b724e8d88e84dbeb27eb5e9f34b1fa634c -FixedInputDataByteLen = 60 -FixedInputData = a51554fde49993e94ada1588eedf27f2cd3c89259a0ae782a5079a13933d95ae50a7d198990d3efc05c54bc046a51f068d76944a24883f84ba3e5e0a -KO = d69dbca656dad1d1a9f4174a33b821a5af38b45b - -COUNT=23 -L = 160 -KI = 168d90d50ab016a05d62e67200279a825233647eca5c51db -FixedInputDataByteLen = 60 -FixedInputData = d31ace50b408ec747b2a1cee412f87dbf23f0d2dde68ecfc406ac8bf7459c79249a312cc9511e50400f1f5cc0a67a6df56e41843d290af6bb9a08f5e -KO = b1459696d4d808d5c6ede588af3372a43e7784d2 - -COUNT=24 -L = 160 -KI = b0deaa256ee297c8237d2b03332a686abff4ec42638f55c6 -FixedInputDataByteLen = 60 -FixedInputData = 187e676d459fab22ae21e958ff5ba14df35b018333a929a55632a4971af10b61a9055c1c3601f7e1bdc291c3bdcea255febb425ca7224b5dce62b485 -KO = d321dabdc88c150d31613847a504661bdab34b41 - -COUNT=25 -L = 160 -KI = 0d6f46792dfc05c0a693bf2f7379ef1584bddb2928b498d4 -FixedInputDataByteLen = 60 -FixedInputData = 59a87c3b1a94b280fc6b497a9843d84fc6280d7977df1d599ea8601972884b597be7437b4d9f3e3c44ff38f68a19c0da88e0760af892b9d0ef188511 -KO = 04b204e0086a372b490f86565a0464a30bed40a7 - -COUNT=26 -L = 160 -KI = d84e0f8ca5a51ad7821cb4cf0f3d0b528113ae3b8aef942b -FixedInputDataByteLen = 60 -FixedInputData = ffcd77cc1ba8f5a9c9c571a31e9b4d2007abaf30616ffb01b7b49e337d5e6e4c46cc89cd198b8a7ce336652215fa9dfd84cabf8b4df9c94e290b2829 -KO = 34c6cd14139d5735a407ef5ddd25fc52bc6c4a29 - -COUNT=27 -L = 160 -KI = 3ea8dbae590a7430ad0b5f38fe9bdbdaa2f2e8cbace09a55 -FixedInputDataByteLen = 60 -FixedInputData = dfea6ee2f3b87453ab5cabab44dddfd485d97d1c4ebb68584945cac54533f392c89dc5a8b83278fa60ce715fbaef986d5a2ecce76af245a5bf9a736c -KO = 4e9274e5336997b4efa12eadd624428173bc43e7 - -COUNT=28 -L = 160 -KI = 00f4a36f14dcf8f38d646bd28622f62c024edcdd9986a7c0 -FixedInputDataByteLen = 60 -FixedInputData = 8c6404423f0aa7197406cfe28ffc95f46534ab64406978d42ba5100062eceadeb38a80187220c81476ba067ffbd39b3c8cec41eaf43c5122bf428920 -KO = 824e4941883175f71896c64179801f0961437436 - -COUNT=29 -L = 160 -KI = 0a7ece40b75d692cb4b6a2d4f2745110a76997dba2da08cb -FixedInputDataByteLen = 60 -FixedInputData = 2ccc493a7c92cfe2911a90b687d22ab06832419501ee404d4aa946d018809ff9dad85345661dd802fd49c894edafcae4a743258cdb8b6c1ed9536903 -KO = 359086d11e73d8eae5e98636de3ae80fd772eb56 - -COUNT=30 -L = 560 -KI = b4b0544b5084e286199e6132754739cdba1a24f42a259744 -FixedInputDataByteLen = 60 -FixedInputData = 39e8e6538afe603017335af128c6febb28d24e24db25de46f7f2d00ed0db771f07744597a9ea2c925d0c561cb9513eb499d658a7a74a1f7429a8ce45 -KO = a21654c0c549dbee6540159967b29b9baba1cb3b403b154abc9048a444c22eebd4450015fd1e76616ab95c5084cd7ea72c00db278fb003a76ed1fc9767d86d8b73cc0851a468 - -COUNT=31 -L = 560 -KI = a5ebf5ab83bf8f75a484390536f7668547f69d81eaa9aa4c -FixedInputDataByteLen = 60 -FixedInputData = 976a86ed204b0e1351e592f6b8c3bebf9d613f0cf5674812a5f91ef5d6bec827b0c16d55505dde482137cfc9c87ae9ff38a8fc6e45bc19efbd410c33 -KO = 6e08c7318a5994632eee467371ae4632cecb996395fabf7e2c3384b95b252d33a8d1f3d9f6f4942b68a4855467746bffba84d9b805878141a5294c2df60c399544887c03a46e - -COUNT=32 -L = 560 -KI = 6cf48a310195ff4a4bd716798d16978580f01b22617e2e9b -FixedInputDataByteLen = 60 -FixedInputData = 69feba5f2dedfd281dde5e9157044ddf39ec67777c795d3315cf75dd04754966ae7ec86e2465d38468b9a8f0526fe8f8fbb72cea3ab939673ae728ac -KO = 531350c8f14c04013f33049448a959e15ef1774d16369319a5d48655b8e5165e4f4363ff1db2144b59bd8f19781a638e15a3faf8a5b2209e75735d4f4e13d6de8fff7199d5c2 - -COUNT=33 -L = 560 -KI = 63a369aab0abd16332cf6b83a50a9aba1ab3f2592be2dcee -FixedInputDataByteLen = 60 -FixedInputData = b87410433a836392839a825ef7974c10b7f21a4b402c880998e4edbeb8c585a384b571a7cf8ae6bcfb1fc4536fc3618ec07012c21499320ae18453ae -KO = 071a26d198ec5ce7e64d115f4f8aa1563ed3f47df0dbb8ff62846a6b5ebac1f6ae35e5965ae1219d07cd6b97902dc2d8f8b072989b41be2be00e63baa592b29d7df820922f97 - -COUNT=34 -L = 560 -KI = 6a20c3ba7678eda65284d602b641e3e01bed9a45c976311c -FixedInputDataByteLen = 60 -FixedInputData = fbf9edd03bf7e2a3fc39414bb385836e7373b00dedd437ad2df35268b90b57f1c66fa05863dd6fcacfbc801449d33052771768bf03d2ffe2d2eb0d29 -KO = 93cfedc2c02920ca7e487d75f10765b62dad7dc26664388dcebe9b48248d50d9349114072dbef3bd4fa79ade6320ddc0d9ff71e598a1c3775349de1c2c1a6a879c0aa4732f3c - -COUNT=35 -L = 560 -KI = 6a2780a0d28f9f93b5c6d94868f00a949af72d54a0a81ff5 -FixedInputDataByteLen = 60 -FixedInputData = 30de6f4816f64ffc2d0ae7b5063bb65ac3673ffccf9935f3426c038b295be492a21fe3e921335989da121873fd463a0ae68a27be52c5df797bcd9100 -KO = 2a4fdb23d3964730279df471005d60f37ebd489f60126c44bba4d9bd8b1e8947e4db11e25ffe6a3b69af9cee420f2a646026a2a2356db5734442552bcc5eeddfa036f93bfbe0 - -COUNT=36 -L = 560 -KI = 77ebc829b49f36f02095a73241c3f2188db321a791e19fb9 -FixedInputDataByteLen = 60 -FixedInputData = 3d892c10d8b2cad7e844c16c68d6ee342e9e9252d66df81d46a3d5e353c7f2be9d1c82c3b14e2f654aa90384af11d4fe815108cfe9156922ef717c04 -KO = bc646484a35bda10a22d5739ab418a8ba84e0d481865baeba2a4d323ef9faacf7323b9539f6a2507cdf3031ea84a0568414d9353a7bdad5f0240661f303f0bfc37889d9ac961 - -COUNT=37 -L = 560 -KI = ea73a4b46affa91ccd895903fe4c3fb2999a79d2973d6771 -FixedInputDataByteLen = 60 -FixedInputData = 921294281102eaf0f3573deb19f2580ad10346ef97c5ca52da49585b846963984dfb17a13314054862e8b96ba6bcb63f335174d92b4d4697f328b366 -KO = e04c8d7d382d03e3b448cff02529c06aaa7f193095af52978587d687aa2e8624668e169ad5f8746cf788a3bfa08fb8efe1836b78049d1203deb9f1926290c13896271044725d - -COUNT=38 -L = 560 -KI = c8b968b7f93c841d6009af7cc0a15363632c1b0e3bbe3c7a -FixedInputDataByteLen = 60 -FixedInputData = 7bcc6e60e5dd995195fe31e30fa2841b69663f810e077f0173833adc084c8ec5b3ea54f45ba486de5431366122e9c7a8a05904568314bc6bdca94177 -KO = 4115b8000ff22cd6c6a715272259b22d4db1395c14a40985537dc3b3aa8ae89b86547c74f743d41d2936bfdbb6e6097ba662311819605fa9b352f58c1f5f7a3581c57a851260 - -COUNT=39 -L = 560 -KI = 990e70b18760895878132205f4cab3aeb402c7b3cd15f83e -FixedInputDataByteLen = 60 -FixedInputData = 0f8b73ae3a0f80576f585a2c2104cf9291c28b7db4aa4a0c557a1eab114f31c2c92b72ce13f7e3c80803d9eb5a5c8a9a616e044622cc41ad688ff1ba -KO = 4e1494728c9c32e3f5e204ff9e8bfe00b3a50b3d2f3159530ae28204524be106d442fa288bb70660e2034bbd673a4138647da305e3ae2bfa26731a976512ad8610597b7a5505 - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 8fec72b85ae23c9d563ef99d5deac6ece5c2ddbb904135c5 -FixedInputDataByteLen = 60 -FixedInputData = 3b411957666ab9f1ab2d441ccec175680a424fb129c48dd2050698df96fbcb7b62f15a797c632861c50d94afae867197b2191512d9ea7223d57e85be -KO = 1f8cfbef338709fe8b44973ce4e1694f - -COUNT=1 -L = 128 -KI = fcd441b660b9f16a64f5b49197efaad5ad4ab7221e5b98b2 -FixedInputDataByteLen = 60 -FixedInputData = c7f6f3b7d236cb672c29155d23d40d8d899f644b70c8f554d8465b688edf6d66ad2aa86918dc38ccd0f02b41934c44ea19e3bda3a055e8dd01f48527 -KO = 49fb4bfa8c19eb343967c3fb6c85eea6 - -COUNT=2 -L = 128 -KI = aae962b2117792f5953cdcb601e796e5c8950d6a207f083d -FixedInputDataByteLen = 60 -FixedInputData = c673e8665a76b1def28e0173756a76a451785d5b7078a572116a65fa04b74d29907a41b118b4f7c5dd524ca52ef88477f89acda5c663a5f3b7448b48 -KO = 1f5f4df239423b26f717ab8578c1c6cb - -COUNT=3 -L = 128 -KI = 9923f4c6738a087fb8528a7b6649a478ef2bd060a4e6beb4 -FixedInputDataByteLen = 60 -FixedInputData = ecb60880a9ce809687b97ea90430fd3f121b618adb9f29ac28a7fbdffcc5465081401cf69559ee1b2edd38ebe48373b9703aa3879d43d5aeabc08fe7 -KO = 76d5649a770b28f245a7e14fe21a8a3b - -COUNT=4 -L = 128 -KI = 0aa1be127333afeb5348e8188cd70d1555b82f0fbe6a562d -FixedInputDataByteLen = 60 -FixedInputData = 189a4c3e231c8d2d9a26e04006fed37020e82a0b88ee3976d62d9d292fd7f42d471b4eaf1e373ad6df67a1c47d82fa5a75a7c410e0c5a2c61ed915a1 -KO = e7f74ba21184aa399cd08e0a17f83da5 - -COUNT=5 -L = 128 -KI = 0c7088a4815d486c78f6a4cdbb2ab5049739cf9e074923b4 -FixedInputDataByteLen = 60 -FixedInputData = 34d49fd1a01b635bcca42b936377b519977e810665291b6e790d3b5f30dc0b80f0f9abc39797bbfa7e113f51ae3380352d28de470b997e047fb1650b -KO = 9ac894d33bb08580f47c7b74727cf8ab - -COUNT=6 -L = 128 -KI = 61998e7882d8dbd2fe686c0aba45d7c486687e2000c99b37 -FixedInputDataByteLen = 60 -FixedInputData = 11f9e7864371f34cb49b82015f14b52048ba3572f3c973de96d3e45b85dc37e0cdbe326423b621c183330aaddfda6882f762be156f59208ec857c232 -KO = 1b67c5c589a91d0e44e831763af862f8 - -COUNT=7 -L = 128 -KI = 8c2469d20ae71b088c8cb2286ba63df3b2d6bc01938d2f10 -FixedInputDataByteLen = 60 -FixedInputData = a6d611c3aaa31582a2563888eccbc7998458b61b2c074fa43674ec3f7f1bb5d4fe67bff02a371d75b6291f73afed84379a65837003ccb44a46827fc0 -KO = a5e51fb52712a232c12d4d7a86c83764 - -COUNT=8 -L = 128 -KI = 3107ec249b05b85c588ec588963912d74388ee8668873335 -FixedInputDataByteLen = 60 -FixedInputData = 16c7f3d16ed1782d3e19dca4882e4e83815abce1174395f46698433710b1dc94d4c2d3179c5064f8a7add80e9f9b6fd4078bedf22152ab22942a3367 -KO = 1cbe658e56d1e133b8615b8a0e64537a - -COUNT=9 -L = 128 -KI = 5b3ea7f651fe65b4030f5021acb7e12446209437e9bed8a9 -FixedInputDataByteLen = 60 -FixedInputData = 2983a0c3421420bc24b0b960f1ee83470e79fb832b94ca505a3b7f68c9a4b7cbee209fc1dd5f01daf5b22f2e558157139ea55bebc25d787264ab77f8 -KO = 12724ec927edbe75fda448d0d9cbc3ca - -COUNT=10 -L = 512 -KI = 1f76336c5bd326c5cc6368787426fb23844a5ebddbd18b47 -FixedInputDataByteLen = 60 -FixedInputData = 7ba278742b14a039b6d8886450e63d1cd6c7c6485221e292cf378d2d1b1843beb269824d1774a13f4b25ec4125431dd34735c4f7e52b6cf819203135 -KO = abecb3f8f253b29d9c9460dfe58d73fb0e436cfcecbacb172b284af3ed648c7a0a8664ae28505b4388549bf36aa882a75899d0f81d05e5942bb1aeeafb67b0bd - -COUNT=11 -L = 512 -KI = 51ab595c23efdca844c20a386c223aa8032fd218949b2d97 -FixedInputDataByteLen = 60 -FixedInputData = 5407448706003272bf46d04f0b7ef8efd31d48e1438cc5acbc7478913fe13901d9b671064b539dab5c1a60ccdb4bfeda76ce919d40724aebfac93751 -KO = 93eb6d5e471558d4fb6dcd11450e4f74b2fe5cc9f9be47f6f5589895101ceda075d35eeb4c7d3e73590fc424e62724f141abf512a971b732f89bcb98501c5177 - -COUNT=12 -L = 512 -KI = f1b546954936f2249fd72c4021a22e5c9c8b5dded50f0740 -FixedInputDataByteLen = 60 -FixedInputData = 6f3f18949083b6935578888b5fe683853dfcdf0e1db5df06861e53962e5f6065f0ca36d15131ef0640ee571ecfd03bedb9a33512ef1b125fd4fcbd7a -KO = 05f825b78a1f82b7e751a29c6ed7746143c808a867d24928c5e4b2de1af68ca15ecd2628ca1f4b9afd84bcf1e6a698ec5268ac95a7cf801fde0181517304ae60 - -COUNT=13 -L = 512 -KI = f52a4f271ca1997ead6228d5b494e4bdb98ba296528e0018 -FixedInputDataByteLen = 60 -FixedInputData = 8b5b976d153c7c52dc69ba7b5d38f137e7def8212ba16ab57d6288209bfd9146d744898018f39bdcd08d6dcf12f84713f12608a34f85214914050fea -KO = 7a4d38d18605b4d5de68daf13dde167a307eb60046ff6565a3f0896831d7841acc2e518cf7f7dfe8978eab96f3fbbb2be68f73030ab68bbefe26716ac0d7c401 - -COUNT=14 -L = 512 -KI = e4f795bf1707ef4779a2413ab015b445f013ac9a47d711d2 -FixedInputDataByteLen = 60 -FixedInputData = c7fb20193258114c14e054cf802084204bee1bf0ae0f16a2d283b424ab9b9d91616b8d2aa663ad765bd1d0b3595501dfbf204c8cfdff6757a56ec0b1 -KO = c7aafa10cd9481a0f19bcff4d573eefa012a65921c57671e48cab687163b0de88d7de25491a50298215ec8d0ad0c9e9f0d38d295c6c2ce899350590e2e901170 - -COUNT=15 -L = 512 -KI = d8780e3d06b9de35dba4133a832f4524889c06a69aa18bdb -FixedInputDataByteLen = 60 -FixedInputData = 5835676cb507cd474f84c8d9a2aeb906b6217fd34f065145193e958deac87ce94e1f1b6be42e20507beaa9b2aaae8c31c408a8eb5d5528cd5a39e7c7 -KO = 1dd5917a541520f6455b84105d2f5d63315df0b45b2cc7bc5ffcee0b6cb707caa9976c7277423c27a30f92c2aa194ffcd2977a8fdaa03324fb87916285a89680 - -COUNT=16 -L = 512 -KI = a0590a00a3d684163ea57429ded5859aa81c5d8768d97383 -FixedInputDataByteLen = 60 -FixedInputData = e71605efa6dea302d8d1f4b89b108ceda45cb96af0f50331e4fb7453db855109d2fb70061c507c2be32b8bca5fed8a7a16ebc9d324323d36f1bf18d5 -KO = d6dc3567ef3e423836579aab95052ae7cb99ae9e3390b2151ef5ebedfc9e937ec608c5fffb8f68d53f8b444c4f6ce15cbcce5cef30b13d94ef54d62350f660b1 - -COUNT=17 -L = 512 -KI = 4e2921152b16404bf4ec79a45646656e6f6f35e5513aabba -FixedInputDataByteLen = 60 -FixedInputData = 9848f03df611ef9fe9080f4a3f26102057f5794d9a0d8639c0d5e54e7e8811d5a852b6d09a000fbf0ad224c1638bfe35adce05b40d22f4e8cb2942fd -KO = aa9ec309cc8504d57593727831eb89ea7dd43d3db1aa6a0af46b3c3cb4cd0655297ed89706c36e4e6fb3ac3f60be120bdc425bf1bbd0aff8fafc93f51263e44d - -COUNT=18 -L = 512 -KI = 7666473b66289dfbddb47751cd747f87a3861e6b26201c3d -FixedInputDataByteLen = 60 -FixedInputData = 506108451dba34b7e5b3d866111b6f4f81dcf1dab437f04a39a55415686fcca9e99394831f501ddcd4166b49589c8139c5c1bdd1c1e871d6095a0b40 -KO = f4c2f35c83e665eefea83967706ab361d5d3abd1ca03cfaf17013675bae9c06950bde218fb792521f3d7555503f14041d1f20f35e2813f624efdf36f4c7ef61d - -COUNT=19 -L = 512 -KI = e40f4fc67d6232a5347630bf2042f3d489637d40b621d605 -FixedInputDataByteLen = 60 -FixedInputData = 2dde8034c3843b16ee3a953d35f397910625a6cf80c978148bcd37a77d1e064b5e9533342f015f0bab3d89f14e3fbb01b12be2b81f0fb0686d7a4d9e -KO = 5183bf7f60a6045634aba4198cf2e12365a14c23609ebec51a5cb21a9cf94983fbc5f5c07f59dfacde744fd29f2a1fc9b04c920e0d427418145e5fe777cb9782 - -COUNT=20 -L = 160 -KI = 52e74ecfcbad3ff1a7b0e7f43b748cb218d89cef62077ea1 -FixedInputDataByteLen = 60 -FixedInputData = ecaaaa9ef2905d622b5cf7f31d53f898f43d4a072a2920f656901a5c5251f71ef517792f502abf18bc95b6760aedd8290a0198611a8966e66b917381 -KO = c79ff30e1a39cfd1b5d7b67679c8131bf6c80ee6 - -COUNT=21 -L = 160 -KI = 2f5f3e60d1e2b85557f4125774a6c641ee343f75836296d3 -FixedInputDataByteLen = 60 -FixedInputData = 8a9119e9702a480bb3772f7d55359bf0cad1de4886db4ff3d639abe84d71abaf6d017b8f0cc9025ebe336782ca10975520bbac9eb2f21d78ca99e978 -KO = e00fe2330fdd1b33e34d7a079f21c96ca005f2e7 - -COUNT=22 -L = 160 -KI = 15d323efed23436d6a85cac18bcaa28c1bda265015be40a9 -FixedInputDataByteLen = 60 -FixedInputData = e3a1ebbb55826cb238221f40914dfb24852e695d1d45309932011615ddf9728255f33dca3ca26cc3adaf450780c9e5186d55124210623ba5c2b43505 -KO = e67bd3be1da9e15df8e56466be3b0bf2a3875b3c - -COUNT=23 -L = 160 -KI = 3862915803eba78027653d45461645f42d30f14eebda83e7 -FixedInputDataByteLen = 60 -FixedInputData = 2c4c7d2e653fcebde2783a93195e8f9de69ce0f281706cf06f29be9c77dee098816dd25621e02bbe257c919e3786c48bcd99375ae7c786f493737b05 -KO = 4be049ca865bd1898dfb7b18ef142e6e3e480bc5 - -COUNT=24 -L = 160 -KI = 9ad1d024dcb91996637f2c29323641ab90be04aafd7de34b -FixedInputDataByteLen = 60 -FixedInputData = eca2b3a612f689393c01680476dcd493f4ade964998b12050fb66fa474c918dd093f903e137353651158678bcacedef31d3b5fd2614f9748878f0b1b -KO = 76ffd5f1f6e6e2e6735fa0d7b2422f8efc6847bc - -COUNT=25 -L = 160 -KI = b96c329e5669f9f0c43c97df746904dd9ccdf29d9407183b -FixedInputDataByteLen = 60 -FixedInputData = e867b8ac4bafea5ef126ce08a2e326dfef6537a44eaa1f181f7bc6665fe5a6733c9d93f189159fefe47417b0003950316342cdc5f8ff0ee761befb9e -KO = 37ff49fefccae85718b1bb8bb7ab6f46e9e919dc - -COUNT=26 -L = 160 -KI = 50cf7833a4c56bb370ceaa87ccb5f86dd474119c18060ff4 -FixedInputDataByteLen = 60 -FixedInputData = 7747548bd7c32a4b0e62b9520d1d202518dccad0154c9f471a023da419a8a5aafe7d6e02f1fe0e03eb455ff703ea0dc5a6bab9aac9725e942387825c -KO = 66b6c9928c22a1e8670dde7775a34d3a0bc2b2c1 - -COUNT=27 -L = 160 -KI = 81fc425c99a3c3ce4d6f49c24f9879240e95227d7ce57f86 -FixedInputDataByteLen = 60 -FixedInputData = 9a8325681a0e8cb7979518fa4878e06f53a3788f750770e605b594aa18ea9bfc0b6faa91d67a4e4a048080994ac447d2402c894d0acb81cc392dd695 -KO = 25bd51f4b9585718d9a9163705f26da056a07053 - -COUNT=28 -L = 160 -KI = ad51e67d756453b9079866fdf7bb5f541698cfc326974984 -FixedInputDataByteLen = 60 -FixedInputData = 91d8189fdf3ca51ccbc3989f6b103823fac687c3373c4d5e7b448b35f14bc6208ae6ffa4f8784c8aa05459ef7542b34e73b3ac0a656523d0dfce8de5 -KO = 56fd533d0cf17ae465038cc31e48f0376ca62ee4 - -COUNT=29 -L = 160 -KI = 9ec453c89243df2bb1546c51ead70dc3613625d3d3621929 -FixedInputDataByteLen = 60 -FixedInputData = e133c1afa9286ab593b328cb37a4d29127f8422c04099dd6e4996ad6f39d04123dc01afa42cda1b616b62afdc519d50ee05ad560806d119bcbafbb16 -KO = 3e66964c49f381669a7a2ceb66c2d424c0162677 - -COUNT=30 -L = 560 -KI = dae2c866d36931db011b000373a353a10364e44826b9fe53 -FixedInputDataByteLen = 60 -FixedInputData = 07ff402b888651c836b6960605ce55de6887010ef966bb0ce9a67e93354bebc14eef704758bc1e28dbf6a8f3c3d1bd997a8ca365e8e6ec06e6000395 -KO = 61914244d2c6cc080f1db00e16418d42cf4f2c40c59109e6d348a13c252c953e51f992e6549106d86beb690bdff8b14118d1e5d8f71cf7dd542178d425969e30ceca7adbdd95 - -COUNT=31 -L = 560 -KI = 25175479af92a9e0e80aada1f0a462d0f8c1741aa60a2ebe -FixedInputDataByteLen = 60 -FixedInputData = af2a362be08cc0685aad1e61df43367f82d025fac774426c9fad7004d72298fd014704adc350c7608bf84992da4005fe4a23a2572969d4268d419288 -KO = b05461204923e866eee5c8ad6a95ef617d05dc1d934f9dcf4ba11eeb85b113b147ab4ab2c614258620ae00807cb93943c8ceafb4d9820fb7d8ebd1813ed648d06e286065d395 - -COUNT=32 -L = 560 -KI = 1db2adf3e10f0b167ad215d30b00c51ad3775bc3166f5e1c -FixedInputDataByteLen = 60 -FixedInputData = 43f74f078278c09eaadf3f5672ac05c59b5f61c546302ebf13a9ceca157a715f0b4d29aefbb9dbea33f8c6fe024894f1ee2bd5fb7e2ae84bad219f96 -KO = 35173b349d33dc0ddcc46112afed5335771b98f8eccf1b09d06f6436819f69cfa6982e5a7a76e7d128e0278617f85837e24ce38995ee15edbd8f8fce2ef723abf2e301585972 - -COUNT=33 -L = 560 -KI = 1ff0a4a4b511622a7617134bacffa0a72aee26aebbff559e -FixedInputDataByteLen = 60 -FixedInputData = 643fa570883c93f82436efa298402c64434aa4963f9e177f8f5396e708711cbfefdd0ee5f899a58dee38aa4f67ef5f054566288c1e4da59338f2e5e4 -KO = 9a18319c8752cd98371219a0ff37cb45ae8b34fe3321e690d6dec317563b09c2734a6afa017134550f5f2defd11c0486d85e1fefd4193d512f0a9624d8a0fdef5e5985a49fa1 - -COUNT=34 -L = 560 -KI = 8f9759cd69eff32bb4d093774f45696075f1277bd340e7e9 -FixedInputDataByteLen = 60 -FixedInputData = db5ed62c8bc07862f0a04855cf56a5bfc1b5eef72615593cc4016c9bc49c75958747d4661b9ae2750a2721a2d448dd063f23cd1a43ab3e680686ce0f -KO = abb178bbd0e04439602812113be19d0ebd1be3451736bda5634a367ff3cd42cc18f0e2d9a41164f22ca172e3d6c6462db516238c55b6ab94d3982474f3b8096b92d46d4b44ac - -COUNT=35 -L = 560 -KI = 40e00332a4a80d7dde66911a24121ea438e737fb6c86c8a9 -FixedInputDataByteLen = 60 -FixedInputData = 1672db2c7031d314f0243cd52c7d6e3f88bff62ff78e5c681fe5374e6288e8fb156fafa91124041413df7c6bd7e0f19ed0e3083c2716e34b893827d2 -KO = 3b910a3a2e1790b8b00a6bf5345eaf29f70052fdea58ab282dcd88e041485292c25f830f09445e68e9ca3eb5e77b49641c89551b5bd72244103b5cb84e9b2eecf7a7fac31c88 - -COUNT=36 -L = 560 -KI = 7e4e244c39fa084bdb5cf5f26ecfa11f27c7c2b3f78d9e85 -FixedInputDataByteLen = 60 -FixedInputData = c1bdca1fdeb37f289f6ca81f04eaecdd080ecaec9e38d3dab6a12ded42ec0eceb1720e5c7380742bcb46c73acdd608c168723bc3b3eb0f2c618add08 -KO = e062fd3861e65da206376b8127d3913c0841ba9b525ecaa194efffe6e5144ae8cd1f856be410fc8382d6094e0cedbbb7f9384e5de8d975170a96f043f6eebf6b5856791b5c24 - -COUNT=37 -L = 560 -KI = 26daf3d603261ff53525ca23fea347004d0b8411ad96d4d6 -FixedInputDataByteLen = 60 -FixedInputData = dfcf7ca3a6d522a739b86b48bbc98534d5a9c76888e8fdb65d4b44a0224d602545bf88c11cc6157f30e76db874000911ca47bb2759d234788e128d9c -KO = 77f5e94a0759364d0158f625e597da9c6ed0889979e3f2c392bda2b03aceb0750499815532ff09851f63f8548dc0703f873a3d38f8ae47bd4a5cf89b34236f293ebbc3259e45 - -COUNT=38 -L = 560 -KI = 5cbc02ed0e2665db2c1dec1e42b5334d82cc4b85e2ab8132 -FixedInputDataByteLen = 60 -FixedInputData = b603c5916dacedbd9704a916ad18de6c85977ab7d9350ee3d6f6ef58ac9b85d810192f0b89d3a88d01876a703ebdc79f776436cc8b1cce3f8be1ca37 -KO = f37efa971b9fd3e3ac3655a842fe493d9aba1f43e6c3e57d2242a45baebcf428c33a1515a9541d759624787b016e396a976851b40ce429fd6fe196d91b08593c8801b1e795f9 - -COUNT=39 -L = 560 -KI = 4253a534c616263bad97285025d4e5a2d982984c53e0ec50 -FixedInputDataByteLen = 60 -FixedInputData = 72ad18bca8a183d4f23c4f6078c37eea621a55d73e792e95dc6c9678cd11732987793018716a7c3e66a48648de13d555464043ead3ccd3c0535ac4c4 -KO = cf251f776e5b6c6707c4924fce268cd51961f1361473b1889c5cb8fcce9a282c8233e938507511a77315a4ffe05232bfaa14725b4f9506beaa39a74cd360bca0dce0d07185f8 - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 56fc5d492e9c6cf45e73a852186637d34fc5c7d72aa2f614 -FixedInputDataByteLen = 60 -FixedInputData = 8c220b1a5deef9e8588e078105a711e790d3c07b1c7baf83969fb72b0a3aaf7d1e71ced807594eb1ac2a12d6329b40dfa9c6839fefbc1208e3868ce5 -KO = dca4f678fef8d96202983692c279370d - -COUNT=1 -L = 128 -KI = fc3cfce07f5d529802b25c693be4168cfd08492f7188118f -FixedInputDataByteLen = 60 -FixedInputData = af5288ff9420b17886adb7d11e111f2f7f05fc9ea0c218718e7e42a9a9ed47d562cc97a4a6f046d8e500455484ef1ab6486d434b566523eb93256c41 -KO = 4a217a3690d2cbc03fd6af6dad37a456 - -COUNT=2 -L = 128 -KI = 3ef2e2176acd8c0a38ec690f09fa866a5ac180c895889e00 -FixedInputDataByteLen = 60 -FixedInputData = bea6b15b288e52b54a760d00c3e873843dae4f1780c0a9d748aa89ccf812fbf1ddb376742346ed78fa7d71eb4b363cdb20672be4765c909ce67bda58 -KO = 19876b3ede970576631fe3f971dd67c7 - -COUNT=3 -L = 128 -KI = 902b8520bfc39db67755681e1eaf9c7ff1f16a41e1e27a72 -FixedInputDataByteLen = 60 -FixedInputData = 3689fafa976893428727950f5b589a2caac0271bdf3bd16a9ea0786a9282dff95f5e65e79c983b1a7aff1af4252611a4cf3c5eed70cb10b00131cddb -KO = a20eed596d0382ddb6e6f20a0ee7a19a - -COUNT=4 -L = 128 -KI = f8eb09d9cfc5cb23d5349b92a66ef0d516111c5741f181a3 -FixedInputDataByteLen = 60 -FixedInputData = a2bb997d6ad203e431bcbfa9093dcbdc216ff6c011d831991823e12e2f5009ee126f04c54556c145d23e68a20bd8c0b3471d5db66777b3ec1cd9b89d -KO = 82caf779a870d09278104b153c34a091 - -COUNT=5 -L = 128 -KI = e8fdd20567ea9f9d2c60063d5cd292ca763aed031b5d6003 -FixedInputDataByteLen = 60 -FixedInputData = 1d3404a55d1084b9a64d034dd06fbd7b2251b8a92ed792625a8f71fe617e0d60ee7f8bcd6d6364cab49f3ce3863b6dac68f41161a27dd07a443c3dfd -KO = dacf3c0eabd5cf3a5615a63cc6f10bb8 - -COUNT=6 -L = 128 -KI = de4ba4444152154a8f7111a1ab1165f9e31025f797269a01 -FixedInputDataByteLen = 60 -FixedInputData = 5fe3e9a9afabebe1e516e0ab4b5c4139006be9ab24577e882984c38750924e09c8a8133bf626264393139bbda8042210cadf756fca4819ea873dfd06 -KO = f675b75381c4b44404ba20d543e811da - -COUNT=7 -L = 128 -KI = 888c3c92b9688b0f855d8721e2eadf9fddff7adaa942b648 -FixedInputDataByteLen = 60 -FixedInputData = c7d66aafafcd6c9a1933213f421da5d56601078c03b2698a63eb82d9e597efe2e9069e19ae94ea2702e74c491e0ab7a53f15e1a8683e87b85e0e7c92 -KO = bdd8b735fc4a1fe1795fb7dd1817873f - -COUNT=8 -L = 128 -KI = f339641b98642f9b0db8173e697dcf79b76d654ea36be700 -FixedInputDataByteLen = 60 -FixedInputData = 4bb1f16db9604078e24f80d380d6095b762890f93125ed8339953794467f20b57800ad1e67377e14af2e45f8ce3a73f3163504d88f2dff6440cb6b34 -KO = add05df875b18abd370c04d974166be2 - -COUNT=9 -L = 128 -KI = 53536470388896b10027a7e847df74d34dcf34150ff91e80 -FixedInputDataByteLen = 60 -FixedInputData = 0cfdf5b51841c0964ee3a7e7f6a77ff7efb29aa585200232a012e5417509a6e77e378a8701f6bd4911e586e92edd50e58c1befdecead69b38d5cd9ea -KO = 0ffa7d48f4a76915dea9bb37858f824c - -COUNT=10 -L = 512 -KI = 0c412f8598f2db6fac31b3c9e3b5263308690b033cb038c6 -FixedInputDataByteLen = 60 -FixedInputData = 01c3c09dd75f1d76eda87d680d888a35de1b9d37e9df9f67dd67ad2e931d753284558468117031ad19b6e43041d6c9d3344b30c1fce38a7a4505bd83 -KO = d2059504967d85599abe2779c779389356a8eef00838f852ed232b3eb365e4119b1c91d3dc75706fac6c98f2e6baa3f543e4afec8a2bb1d7f97007bf59a839d7 - -COUNT=11 -L = 512 -KI = e49b065746090f68bd419af9edf1f9a26e1819abb207d13d -FixedInputDataByteLen = 60 -FixedInputData = 0f92e5ca720f09df740f0e784ec8dc137bfe66479f50a53726a847184ac5c1d066637b85309f9923483402b0c289a82ca12ca4845595bf7bb0ee114a -KO = 4c93cd4e7ab60e3ac189a6cdf9d393af0ac93d00702028a518e0eb5fef1220181c0fd573232353d8444c0ad8426c1692717d6c954036cd3f6b1d5d8ebd7b8c6b - -COUNT=12 -L = 512 -KI = 82d9f148ac85623144f33888c8e4d0371154445e29e4aa54 -FixedInputDataByteLen = 60 -FixedInputData = 483f8c45d7d93df427c9416bd41aee1d7bb2bedcce1c9a3491595310a096e138a3bbc41cc2ee3e7effa34fb9accd0263cc1750c1b09bbd1236d548e6 -KO = a36532ab2765b36712164f2d5a33bc953202c98aaab3532610549e7cceeb4299f9ef02b25c4c0d73b599036f2efc537a6bbdc760cd2a07a859e24dbd51612688 - -COUNT=13 -L = 512 -KI = e6241dc0b58e28dbdf2d1b95564304674b27720a13ccadac -FixedInputDataByteLen = 60 -FixedInputData = 58711f3474680a519d4dc5fd91eae54d2d48b02ac6682946ed49dfbf30fd619256637762912b1e552c0e5eee5e641f93fd973412139cacefb280af0f -KO = 8b1619d684a62c715ba8b6da59dac91e5442aabc16ec46e34adec14c93866b649b7645986a5bdc0bb60e58be5d115482eb03e63ad569827cdd5b55605af4d18f - -COUNT=14 -L = 512 -KI = a276a4a46ecd15372e6e5c0e69e7d7e34c3bed51fda526d4 -FixedInputDataByteLen = 60 -FixedInputData = 4dc789b6c25eb02c8357c69cd35fc296c1a53b5ef783c0c9081c52d700adbf37bcdd8ba7711cbeca6e5ce2f8258642b1928f4c8da6aef4da4bc32263 -KO = b092bc15f1bc453bd459220f60c2931f24607e4968dee276195e6c399078453d07d77c3878065d954d57a35f9972da299da4f38105860bd449fe1fbcb7cfabb6 - -COUNT=15 -L = 512 -KI = df460a6c9890e6447204d2f87317e966bf163a9a1112f520 -FixedInputDataByteLen = 60 -FixedInputData = a996becb0388a746daf380d1d54f638449a0ed999feaa088323f6f8b4cf104809c7ea2e8bd1a6e058d4cf33fe21b13dc058c7bf10f94c99a999cf52d -KO = dc708e74f1d673801de8ca7388b5024fb1e81883319f30ddf0f98ed68d8544fc8323232496bd402a7df4fccb04ec88f635c41012080242b9c441b0cfe7bb654f - -COUNT=16 -L = 512 -KI = a509fbcc5bf06803151ca671336771ffd3915ad96fec28d9 -FixedInputDataByteLen = 60 -FixedInputData = dbde6c5856f5c2ad8ca08b192076763d5af270b417d096befd8afca75c138deac076052c3136aab5918bd1528b79b55504166eefcedaa1e7e4dd7edd -KO = 27ee052a66602428c1e2984d14c387067fff5e7f0eef6eaca9b51f0a55268e0b68a7aa26795e08f895c83d59b381f339aed31c08725f53a599bc6aa58147c9d5 - -COUNT=17 -L = 512 -KI = 47cff5534e0568fd3ad2e9b411d0a69088b4fc23572db8ba -FixedInputDataByteLen = 60 -FixedInputData = 1ca101b7e92c3f213339bebcca06d7a0192c937c4b2645159602b5fd9d4eebe125d01c9965ade7f89fc8e4a97408ae93a283f45625de5689c204a5a2 -KO = 4687a5f6d64753fb944e88b7b87c21ceb782c87032dbf36d98d84f36d760b8a0f8124263dad4d4676c71946f14eca1adc4de420aec879ebbc1d64af69fc7395e - -COUNT=18 -L = 512 -KI = 4c39e80b62079cb6002331efe9b31d498517c6a1829b9b0a -FixedInputDataByteLen = 60 -FixedInputData = 4c0ad6d48046d4c5db8828afc76266fea1e17ac9820d627d385c7f4213e799fcb10191ddf7cf10d07e532b5ed8801be814d7583b62cbe5a9c58e955f -KO = c48f3c0d85f0a425422b0091efe7ff7cd02415044262aaae16d9e04d5b9dede19a097d0c4ca4282e7320f4a4a3aed0afdd68684e869c27b311cd0c6bc95ae56b - -COUNT=19 -L = 512 -KI = 22b7fdca4abc1bda12e9dff7a5e3645456004465fb763207 -FixedInputDataByteLen = 60 -FixedInputData = 68e6889b884f4e0b015ac09a7f94525578d6ac6f2d11cd85b68a4fab58bd8edaf806d0a78e5648d7c590c306421bdf9c49ce56d064e8f3a37ddaae3c -KO = 66aadbc6a25dd99f335b2df88d0b433b5e856d12b95c9c949f749317a3f45b97e1efe2f01dd6f302314f9a00d8bd764c0b69bad97ca7c6630849a5ead78e1bc3 - -COUNT=20 -L = 160 -KI = 58e9dacd07308911f670f8ec5e8e17132c182a34f44a9943 -FixedInputDataByteLen = 60 -FixedInputData = e61e60752d234e18c61ba3da17d13b0a368f479ebe083b98bff8c1da48845db58b199061cf94e0b869df1377e11859c3ee8fa78a3e095b077bd16bac -KO = 9ba45297f69aa491d5aec49105f00d7071617a2c - -COUNT=21 -L = 160 -KI = 376e82d1aa15debada0f6c1cc1dbf523410ec1b601e4312d -FixedInputDataByteLen = 60 -FixedInputData = cb922c900bf6ccef33c852b73ede80e4c650f594ce72a393261f78661810a570e317e7b0fe98fbbc79224c185593866d6c5adc3314af11b52ded6d09 -KO = c4cfb8bcbf37f116cd271f54ca779cd72da15513 - -COUNT=22 -L = 160 -KI = f8756e9ee7c04e151d7cb56c8ce5ea71fe4a1b984cf7c7a3 -FixedInputDataByteLen = 60 -FixedInputData = 72c5a823e63ab1ed8c6dc13234adb5c11e546a31075972648451d55a225c7aaaffb85ab6804823529b79d7da30c0c04dd321c2e8dc15330b8e7bd7fe -KO = 757b5f854b3e3156202d4c7e0f008796d1143d2f - -COUNT=23 -L = 160 -KI = ca0a69ee62a759c9aa18ec1fb5ae164ac521e1a6ea8bfba0 -FixedInputDataByteLen = 60 -FixedInputData = e10dc099a6e3c0ba190de69cbf506618e5994c773e86390f46b1e09c847c81ebcb1df83b35e6de8b2ef8bc5597e0375da3201c8aaf24f26dde73f407 -KO = d937a844bfe58720a6ba360ff211e44955553c6d - -COUNT=24 -L = 160 -KI = 048d79bca962ac140ed8b52f1031b2d949e0dcb12e557d54 -FixedInputDataByteLen = 60 -FixedInputData = a376a1c808ee971e6db8c47338372432e241cd0a3e809ee1179d49014c823c25de7417b6a1688ea869ff2a2525f34bfdc449d148ec1c0b0b86d9d518 -KO = 5919070b772e97e8da148ce6c6fdaede3d9b843e - -COUNT=25 -L = 160 -KI = 0006e3f35c06e662fddfddd881c006d0e77bf3aeb452eba9 -FixedInputDataByteLen = 60 -FixedInputData = e4a942adeb8c15800c7c6ee3eae0581609b4ec6356a228406aaa89d4bbd7c10adce3c52d44d4706109943241e6f54603f6e9bfe379b17b46ff956f1f -KO = b1dd89fab0f10edafa932fc0bafedb56d952211a - -COUNT=26 -L = 160 -KI = f11181b57c72ea29502ad35b164c66dceb86e68a2f08b082 -FixedInputDataByteLen = 60 -FixedInputData = b3a5dc1440b3d47191e90ed861aceb007ae4503e7993ee2769f00765122acd67393f539735c44803a29af43185ec6b005fa6d812e3d00010a1781873 -KO = f35013d5766ddad747acdb86d0ba1fa6fcbdee79 - -COUNT=27 -L = 160 -KI = cc04c4a98e2db40833dc6a1899abebc9f2a83911019e1526 -FixedInputDataByteLen = 60 -FixedInputData = adc38c912d94153694555801479c29f4f85ed1ee493c24922c048ef5c916985e3221d87dfa8b79b99084f353865e98280448ff302070a593ed6d71c9 -KO = c5142c2b8a0dcec803ed1288f1a54a88d05840c2 - -COUNT=28 -L = 160 -KI = c25cafed081e46d24c9a71f7e77eb54ac0cfab81c24aed27 -FixedInputDataByteLen = 60 -FixedInputData = 3b95d037604a3dcde40a44dfaa661c83aee1813a529aff014346d6c6b77c4192b9991a7b761807ce27c428ecb79aa629ed6d574f7601402f85eac302 -KO = 8a1b52ea5a003efdfb29235f57c9281fd596f481 - -COUNT=29 -L = 160 -KI = 541a498c204b3fb12f865753926ae3d49710ea42c7d55703 -FixedInputDataByteLen = 60 -FixedInputData = 26f9f98039f47a61488a73359945bc045e5d587e2e783084fdb55a1a4bec2b4442fcc492a227289696f7392be298352fa81de366353c7c03035887e6 -KO = 711915377f34874af70ce0d4e109a70c7160618c - -COUNT=30 -L = 560 -KI = 07d53aef8fd1e7e6d192048c070f21a534b4c9e5782de334 -FixedInputDataByteLen = 60 -FixedInputData = ff4d21296bf624ad6ca2cffedcb16601ff68510836927a188d5c863e08024c13a679013916a80ff77462994678a8fb05bab9a07405bf6c92f2bc404e -KO = 00b5c4965384e3cdb04f7d83adebddc0932c78817f25098b7ad0bb9d155714393e7526e8c6071bd32e65a3f74d848ad58f367f62fe7a28edd8b4df16425b353be294d2b9906e - -COUNT=31 -L = 560 -KI = 2879cceea2680cb1e74a7beade7cdc1f0ab36c27184dd67d -FixedInputDataByteLen = 60 -FixedInputData = 42c325b4afd80383d0f2a70bcaeebb5bd19c26af3b869c3904e7ee7fa6672867b830ce70b2c96f798ac3f454c26841ee6d79b552e41dbd201fc158ee -KO = 2a0187c425985fe0bee300d461b5abbddd0c66e4d04952c8eab686849a263cb45fc9efdec38ae409489fb4c0558b4d7c1bcb5a0394c70d95d6907d0f1dab4d101fbd753e44a7 - -COUNT=32 -L = 560 -KI = 17b5169da881360c3b2f86ec80ee603282538eb93e4f1260 -FixedInputDataByteLen = 60 -FixedInputData = 1d6be9ad01197c07c365e7fa0b2e0cb871a04bf91ff1d3a6dbc49d7df60619dd2efac3072291a2be110e2e2be3fe2eaa34ce7fdc4729feac903cfcea -KO = 08099d5eed1af676c42111c4127a5594f4599c818e2b8a3b10c517372fd78ec08beedbaf97f5f882b66af68f1cffac97ef1e3efe529ec87bab25ba29fd57bc6a4679e25f245a - -COUNT=33 -L = 560 -KI = ee43c37aa7e218cdd20384209e3d152b56da7bb17988615a -FixedInputDataByteLen = 60 -FixedInputData = 6c82b616b1be58a02a8c0381c08b8a3452c808d9a1f18eb6b4fa55ef50a910feacc9a83aa0f0a45288f719d0a32d43ad61a0d155d29e14df129bbf42 -KO = 7c1806aa96cc592235444e2c53275efa75c76eca2de5317b49bdc7db1bcb0a8b8851b1c6ddb9bf89db3d441103448bdbdb28a820b31273a29bbe38ed578aab76edc464439b4e - -COUNT=34 -L = 560 -KI = 17daa9de6f4a7c7a7f51294a98c934ae27fb2f8c18c34355 -FixedInputDataByteLen = 60 -FixedInputData = a34d99846d3dc7e0b096546eee250d1100ce2461630731851702484572ba4918e3c1fa6bce1d450f773815ee235077ac9572bd61ec2f7e0464a30073 -KO = 8a0ebada57e241b992897a66cc7bfb95c4b730c3825fd00c0c21c2186c4b2c2fd2d317b6571f053047250c3c7dae4feaa8c7d1c0adcd28a726aacd6db30e2fd5affce10b7548 - -COUNT=35 -L = 560 -KI = bcc14ebf649e5003c311ddc1e9e4a22415ec0893c87737bd -FixedInputDataByteLen = 60 -FixedInputData = 29f4b9b5ffa9be46ea19a72cc4fc22fee2652b7c0df91871bff020fd1a3abf5292a5e6ad22e0ec6053df6eeedf490180871314af3e85e38ac12adc5c -KO = 79b5b19f4857b8f84148969201634b9d5ccae8cd303c6b3845263fa8cb3cd9159f3ebb8f38d2bcc3ef4720ebf118ba5863bbf24680097d67a0ac08cf37cc8a419dd8ab8fc85d - -COUNT=36 -L = 560 -KI = 9ab8d1722095ee0e06922319c471a15251adb5d1cf5ab524 -FixedInputDataByteLen = 60 -FixedInputData = 71aca9303c778e6f3879760b14a32b0ba9e5ea8c4f20cee4fc6ec399ef3cf6fc8bfb2fcd01b3a22c645ae39f39e83cbfd92289428dfb4ea5759f5c6a -KO = 5fcc37ea26ff4ab3a04edb55ab06e8c73987b86cde78b7788885495186d7e8caf4cc1331f28f154c7f2c28c70f5952e5cf96c7dced4d348169f55500c6f606598bc2ef3400f5 - -COUNT=37 -L = 560 -KI = 73eca01f5990414a2b6855a811303ff966ceb2db53a44980 -FixedInputDataByteLen = 60 -FixedInputData = a7f598b73f25a45cf9f20e873c86bed23faf970264ba7b13f448ded5963c314187c464c4c92a2f481466152893bfcc4776765143f75952994dc2a7fd -KO = b851ef88730d3077094fff0d83e67dc04f86fa6daa86dc2eb3f47cc638bdf5d629942628d5ce2781a808ab15736bc678c09b9e3a2747e53deb99be03a9a86ea1597a0d41c7a7 - -COUNT=38 -L = 560 -KI = 6114f3e55c2472c9e967de0366a6c80fdc0f7d0bd44c110f -FixedInputDataByteLen = 60 -FixedInputData = b81499333d2eca8b212b8e0f01c3a84f2b7b9b5968db0ed4b7c51aa380c2c3117001ebf596d0a6317a4e2c5d199899bee78f5132db83d29707ed4235 -KO = db86e176f40077b0372400ff14550fe797b122a0d2fd32f5770dec69f3778b8f87d589a3e4566a47e49e3b3601cfdfa66732189123a2ad39ff3dcf820f72413267ec0160dfa4 - -COUNT=39 -L = 560 -KI = 0008b8ac90d47001aa5eaece713afd9722738a6de1191939 -FixedInputDataByteLen = 60 -FixedInputData = b38cfe3e364e22435f3dd4efcd7768f9c4335be48d90ddd0b6bc74a3de208857a47468e60ec93f5740c664d7eb8b2b61456c905108fc6008bbced065 -KO = 1321fdbadb72dead495d35991d569c9e0fbab604ad478684f3aca58a873a3b5cbc4105aa674a7453c5c725c78eaf3e7a1eed0f06431c13f8403744c3b1c5bf51d3993be9578d - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 823c64a58c27edde03380bf5ffc7683975ebfaaa3d87e50c -FixedInputDataByteLen = 60 -FixedInputData = da442946f47c74e5fb88918bfbf292d33f2d52168545fe16e4c7038f5c7b996b62cc5faeb0f6b035255616f9c3610586e337d58b7c63409c1433448d -KO = af4e39f81f00e22c32d6cfa6a53ed149 - -COUNT=1 -L = 128 -KI = af3db8c010a3fa31c0213e37ea095d16701770d565712fcc -FixedInputDataByteLen = 60 -FixedInputData = 97a2dc327173cce2429d1ae320851dd3e7f2bbaee7fa97ca2fe943f7d5685c944b932320e00bb7a7ecb27512726d40a38c511d41ea12ccbc8c3bbdad -KO = dce82a7e354bb71aa90b4789ba147978 - -COUNT=2 -L = 128 -KI = 1b8521efe28caa6b0fe12b906d188d08d29f5086b03f9662 -FixedInputDataByteLen = 60 -FixedInputData = ae6eaff5a4edcea721ccfeaf6388e6731d9da430761d536a186c0617f62caf2b5cc71d5bb60b5655dc0c3d04998e2ba5bba0b81f26f700c429acb790 -KO = 2407e6ba7ae26c95fcbd902bc77d374b - -COUNT=3 -L = 128 -KI = 66b7e173f831bc6a8f75c86afeb713e2900f54fe6ae449f7 -FixedInputDataByteLen = 60 -FixedInputData = c8700be6dd573aeb294edc055124fb0dd390580f4435a7482c2be8a405be8c3cf140f6f91a56c3be4c6e127834bd067892ef3712d40e09aa173fc4f1 -KO = 790074c157037c380420cca10c710397 - -COUNT=4 -L = 128 -KI = 50e6bf554d15e7a12ef4fac9f6fd9e740d398ab7d1292116 -FixedInputDataByteLen = 60 -FixedInputData = 2561d78fb488476f43b0d2d6b26c7418cd3a8800520fff5496036f2aa4f9c6b6691f94a364282dea2ff1d4e2ddbda132c5ca2af79b3d4ef73125101f -KO = 208cf835e8c7e7b5a384ba40f4e11744 - -COUNT=5 -L = 128 -KI = be2304871e83145ab290243c5bfb78dfc80f908ce7e00ec9 -FixedInputDataByteLen = 60 -FixedInputData = fe7be520855c7ee4414456c50d935d08a60428b6099f7eeacebce14e4fe679bf598f1ae786cc929868a70412d6e2793e798568137b2b565247246c2b -KO = 10c4f34610ac88958a13857a404714b7 - -COUNT=6 -L = 128 -KI = 3cef0cf65016bde2717f5f0ea592b67013b7b9790d6240a8 -FixedInputDataByteLen = 60 -FixedInputData = 0cdffdb97541dc103df5721350a04afe67a1d8c51290c365ce4784fecd5e0de58112aed3311b77c1083563a8a7f13b8496c63fdaf16cf2daace86f1c -KO = 1c8b33e00d91b335e92e6bd6ea3b8a8a - -COUNT=7 -L = 128 -KI = ef283a8a3f79d51484789d3083c40ce0057d3104615ecdda -FixedInputDataByteLen = 60 -FixedInputData = 59490310d46261d3c096170174c9c088f71557b7b905306ef335bf9e990756cc2031444ef42e91db54fa5fb817bb44484daaf90c606e9bc862d55baf -KO = cb14bc1566868a0e3d785e7a1709db9d - -COUNT=8 -L = 128 -KI = d25790516454855eb8b2c65a6cd961c272f226f831453342 -FixedInputDataByteLen = 60 -FixedInputData = 5c07345294ad8c808904365b5886c955ac39ef6076ad9d7a14d9949cd487d44b49bd619a5c977c0846df0ddb0ee43ce010c33d328cc98ecf53cede1f -KO = 3912b94029eea62b43965e0289f07623 - -COUNT=9 -L = 128 -KI = b54b566df92848fa8d6baefca00ce7f4aded579948480be7 -FixedInputDataByteLen = 60 -FixedInputData = 00e10447256b3be9257ada3674b2faf8249b12e242b653ec3ba87a3f5791656d89b944f48f25c45e3bd8d4bd8939621e652cddc3d44fa302654fc8e4 -KO = 0f372152fb87cfde016c84acde7a0674 - -COUNT=10 -L = 512 -KI = 15f657e238eea1c6e4d144af4e951812854a6ebe385c22fd -FixedInputDataByteLen = 60 -FixedInputData = 83735a13bc0d615cbd0456b9caef3e62fe7d618d04d53574d04cba6b86f72d4f3b7895ef51a6559e201e914d89a429aa679641e251c65329f1464684 -KO = 0adae5e99c982c8a4462d66ffa9a1033dfaeb7969032cbbea6e6fe6f1f3616c82abba54710a464bf6b0d8f27ff969b4788e6937c0bb467a2ba5ff360bc222b74 - -COUNT=11 -L = 512 -KI = 6b36befe68b87dfa6f8a8a2427473f9a6d7224741686c552 -FixedInputDataByteLen = 60 -FixedInputData = 223d76c1fa42d4797de2f9966bf08d3c8110a45fcedc498cac1613c0d50f734ddf8ab47b8e923ac9bd30f65089b0aaf3de560aea5a3e7c450be2088e -KO = 6a942a9025fda0fa1cede165175710ad355cedc9d94696d1b1999df7b2aefaf16c3f018dbd64ab995af2260ee8dc885fae69cd179a99b9beff4e9b2850c50b3d - -COUNT=12 -L = 512 -KI = 6945475ee6dff010b0062afdd7f3085ce6c8b18126dbcc17 -FixedInputDataByteLen = 60 -FixedInputData = f6943687587b36dee84cc89cfddff10cc763a291de9ade1603a1e8e6737f441251aafde69e6eb25f9ecd7f345687ecc62e3f8c6b0b7074abae61afc1 -KO = aaf992033124fc985a3191addc26a0c96c4092114d21fd3c3a36abcc898acd0ba7e12ee4a5f3b7d0449fc7c259b4a904a5b813051726811b798f5c1fb1086490 - -COUNT=13 -L = 512 -KI = e47d3c52e7ba72edcb161eedbe4e0439a18cd20c3db2b594 -FixedInputDataByteLen = 60 -FixedInputData = 826a92161545b86d1945fd40adb1bb588eae73b97ccea81712baa9dea680725662276b4de1664e3f8415b4e7c9986e473cae767e2724997b80a8e151 -KO = ee82ba74f88da9023876b241cd0d40f1e841098701c35269d3e1fd4bf63acf46e228acdd0936e52d4836025dbcfe68155b6ec45902bcd01fff660e04da604aff - -COUNT=14 -L = 512 -KI = c7105f3a07df08b7a9a0e7e5794de754f2115fa00e907670 -FixedInputDataByteLen = 60 -FixedInputData = 5b3a2ffc4b33b203aa0baf1a86218635df9440e37cfe9738d5985a48fba722881139b6bcc1bc5e7fd60ab0f5973379d330c8eb30d3fc81dbb78e6fed -KO = 16cb46353b36c8c4b1a2ac11156ebbccb87c2c3a88dfa6e71feba7129b776fc866b91fee3e96a389c75da58287ac9f4d023508b7f7458fc597ca6cd41658da45 - -COUNT=15 -L = 512 -KI = d85acba9376c4edc541d6b22f7e55b07ca006a995bc7c2a9 -FixedInputDataByteLen = 60 -FixedInputData = 1e3bb2d24494f1b6c8e0a6b9812402c71710879d49be8a9c2469936cab4636ac3ab5477aee51b6806d31feb49476b24595202bc6b87ba0823a7f4d90 -KO = 2ece5d0d8567264d3875f5686b3a574cba11e0fcfbb701d7cdae962c064e7af87da8f7b500708e253ff8c46de8f95c5c4beec288ade73a763587b793384a6896 - -COUNT=16 -L = 512 -KI = 7b333a015551e055d3d5cd9d7e6fe1a677db31f912c24c03 -FixedInputDataByteLen = 60 -FixedInputData = c2c84dd30c5c8a9e71744a282f5dfc03082f90999e3782ed732e80404505f1a69a75055112bf35edf58842f27804d899f6a1bc38c7414451d0804fca -KO = 6b125994a1d6f075cc7c4d9d666a1cd66fe86f9884b7ae3b680d3fbf083f7503b213630fc7d2772e6f6e31315f25226a8edc91b40672cf54e8b62f5e3f449b88 - -COUNT=17 -L = 512 -KI = d157d495843f9479c96865a9d5de1f48e75f42d77c94652a -FixedInputDataByteLen = 60 -FixedInputData = a944045886ebb57d8e2eb1299887845a5ea3cef36b2a41d9b1314d2c3a7a49530ea54051e19281344aa5c88963646dd9712a941c2a20fd49463d6b06 -KO = 43968fbe8a2728177fcdf2061db3bbfdca2df2ab33c3f24ddcb2bb39ff26931062315f6e3ed76d5b9bc51a3c1e72c1b1ab9540233394a31d485461bcf0e91937 - -COUNT=18 -L = 512 -KI = 3c09ee6155d6692b6b5d138fa06e72dde4dcb0df9fd6261b -FixedInputDataByteLen = 60 -FixedInputData = 6edd4858c64a3b056f71846b49196839672a138d8ded169024b025e7ce6d4341e1e4156b46ce9329019c1b9edbb06798d1b1038c201fcbd5bb7f1f90 -KO = 422ef4346146db932a8a11b4af03afb13b5c8a3ad865064323a569b7193bb6fe3639ee0ca3b68df8d85e69371a0ad2a9407dcc86e40403e11c1654e63b489063 - -COUNT=19 -L = 512 -KI = 527cc44547c7219b29158519362852cef4f0f080b4090492 -FixedInputDataByteLen = 60 -FixedInputData = 1617606478a29c4485beef4d4485cedf55a2aaa2f3b8d328d5ed5e14a953ee77e67d3b291cce27b197e72925e6ccb948bafd13dea521e3e1855ef547 -KO = 6ecac5a79c6a20d5982482ab5bf8e39467334461b2ed581d8453e1f8a2c9bf1f7eba31ebc492300cb15f4b3f85aa3589a8fae98512059ee20eba81f93dfae215 - -COUNT=20 -L = 160 -KI = b17a20f8702a1a749cc748e7fd547d18d81be60f02d8bafd -FixedInputDataByteLen = 60 -FixedInputData = 203c29d55f18fd4a1a6f587b4dbc6ff76a4c4397d0a762e5c69e000f24d8117c74b540c3f922bb297c822c683fcb3fd02df4ba063c8eef73180d474b -KO = dd808b7ba4e2b232782b153b3b224c7c8cfdfa61 - -COUNT=21 -L = 160 -KI = 5e3ba3db7e661a6616076ba65fcb4a33b74b966ceb4c05de -FixedInputDataByteLen = 60 -FixedInputData = 6a363febfa4737aa8a043b5091a30048e6a6136b81a8c8a41d050774a0098066ef204712ceab521427f61a7950991e4610fa781a68f92670c3b92bd3 -KO = 4e551b4ba2aa36b29bacd8e7328f27770463d7b8 - -COUNT=22 -L = 160 -KI = 4c9c34dd20742b6520c60486489694feee87d24bfb6c7a7a -FixedInputDataByteLen = 60 -FixedInputData = ba5090e1ac3753c6c43e75771901623050e1999794636b52233ff9803986a7684d399a9cc4b7334cc4cea385a6c0ce782d4b81e2bbd6e36d2cb14a11 -KO = dcd5cb8fdcec25cfb86fc66e869178d5f32f3949 - -COUNT=23 -L = 160 -KI = 7a2c9ac7797ccc807cf23997c3dfd20e721243db6d42d8a1 -FixedInputDataByteLen = 60 -FixedInputData = a4e623f93a30687ddbba4c91e559c341410d831ef379db443836b61c935fd46ca739f58341111c97e82fd9c0801789dd16d3947a47bcc6bfb5ce292d -KO = 94d4302e85fc969101ca08539c057ae72c312428 - -COUNT=24 -L = 160 -KI = 6e1526983db212d4436a73e618976adfba613fa0ad76e007 -FixedInputDataByteLen = 60 -FixedInputData = 2d075ccc85e7fbf0730fb02252b041684b5483022a449f3130b4286609f50111427e544941fc278e35199a5432f8edf77f0489549619dabc4e4a09c1 -KO = 2daec765c4ce686bb9d1e9a5f29a80af3aca4708 - -COUNT=25 -L = 160 -KI = 90589260ef700fa251608d83b7d4bad91cc4ecc6cd18674c -FixedInputDataByteLen = 60 -FixedInputData = a4ab3eff122746ce68708a813df65fbf9e84cc89a4412e91903e0ab012eb03a765791fe4660fce9c98440713a16fed1bbfd92277314516ebf2945152 -KO = 25a983988f77808dd0f566b78feba43f79ae6e86 - -COUNT=26 -L = 160 -KI = ba2bb97a61b6da05dc1cb94c3e572ccd76f698ecacde0ba7 -FixedInputDataByteLen = 60 -FixedInputData = e5336cea711ff76d3a3d9ed6db586191eaaf80eab4432feeaa81ec82efd5dcfc2beb48731d0e923d16b0e15aeb1172925cbd49e0cb736b63f8841962 -KO = bed9016ff9bc346a4d70f4bb2aeeaafc83cd8742 - -COUNT=27 -L = 160 -KI = ad6517915511c26cf55cf52d6c756608fcb93abdd4a2714f -FixedInputDataByteLen = 60 -FixedInputData = ce745d4856dc7910827b44048962f5fee590b5cfe97e9d4bac4049863e67f22d0dba1869815560f131f95b3c70aa0b266504561a49b2896e8abf94a0 -KO = b1dabd74abb91e41a77f6685b56f4a2d2044304d - -COUNT=28 -L = 160 -KI = 5f8e453abf561629b479c75eb271f10e4053f67046873de1 -FixedInputDataByteLen = 60 -FixedInputData = e618e8fedf15d7343f4dc6680a545af53d7997600ca308bed397621e9081a967fd03f280adbf457ed21dae9c1cd8ba5ee269686420456066e420b32d -KO = 4f2e96a9ce462697efaa11fabeca0eff36bcdeb8 - -COUNT=29 -L = 160 -KI = b5a72bdcfc4953324c74985435ee88b2dc41c14927ff0ffe -FixedInputDataByteLen = 60 -FixedInputData = 3276f14cae8f8d3e69fe8f5c747b23751698a875184f10d6ec88e9fe50413d8372286460dd16e49fc66c69cc25a8fb7c3fdcb17610f0cd2fe2a52005 -KO = ce116fadbc786e258f0d4954b9c90a3865bfb906 - -COUNT=30 -L = 560 -KI = 9e2df87e04ca9505b9efd789a9c2391ffb30c1d76d51c8f0 -FixedInputDataByteLen = 60 -FixedInputData = e75e05def062cee6f5f2bceaeb312aef9de9451ef38522f2392cdc7ca900668f0f1618df8fd4ecea0ac005f15ab2fab1835442be9e35a097cb07cd76 -KO = a840b39216990992cede8cd405a006c1a636f1687744c419e67f591ae3cb088d9a062c7d2c94bbcb73d4872768e9eeff7f00055b897df020de7d3cebf7c97222efd8890e2107 - -COUNT=31 -L = 560 -KI = e50a58d57cd8ec2bf7f97e09b68a5ab2a3dc5c6f56a3de8d -FixedInputDataByteLen = 60 -FixedInputData = 5021aaf324b3725b5c05aef667e93b6abea20ddf81c6f50c2a21f9c7806bb2528156f263c0270ff5f9c7f9531187e7afcf91ceb39563cbf111451f8f -KO = a6c58f496aabe301ba9650cd44a71d4e100e508e07439bd4327af427ea8f90dd2fc20ed21c0b2e58b147f97079ab6857ac3328e8eb3f4e20e123743280a3461ae59eba80a36a - -COUNT=32 -L = 560 -KI = ca66014b5853000622133df37a535c5f62e323e2e26dc1e6 -FixedInputDataByteLen = 60 -FixedInputData = 1747177627fb20a92a02c644732effdcfbb912061b508e2807fe643de3ad23d4e14dfde7208299d8d47284179e5c323a763666491c0aaafb1bea02f7 -KO = bbd5f84423544c6c40229929023314b833cda947db29d6e823d52fb3e0b0a4c8dafe5d8c4479faad5b9e594257d581caa6704e99a8864e5b95e14e6874ccd97e0d64239725f3 - -COUNT=33 -L = 560 -KI = d9b96a2cd42f32cf79a75cc0aa6376c3aed9f1538124fa0a -FixedInputDataByteLen = 60 -FixedInputData = 3d4b9e70490c6b1887525f9b0aa01853c57c6a366126c3f17e33bf50f742261f88c086d538ce235ccf272597f5ff5f0b82861d0fc247852a65c934f8 -KO = ed0f4b096912be69f510d28946e07b39ed2e0fc7fed63a7585a495d1ea679ef88b919e233f536c04a85409ad5b1b7c149c41d191ebcb79960f3f7c83ebceb9a8bc8ee8156212 - -COUNT=34 -L = 560 -KI = df6ae9d55da85f6ecad14995681d9f1d23a83b07d7a535cf -FixedInputDataByteLen = 60 -FixedInputData = 124848c2d38e57d88a35b849519f243a5da98967de4fd84d7c74c74499017560058acec3e8d3a05e560ab06179f66fdcdb543001308321c314ddf927 -KO = 3def0e4043537432e661c3f19ed81eb769bac83b0a70aa0a139c4a9851e26aa0bb0277807cd49fc6738080fb8a7e6d7444170928ff1fe5bc526c578d5e816147f265f728f79e - -COUNT=35 -L = 560 -KI = e40a220f65f1dfa4bf02ea39b88fff478154f2712aad47fb -FixedInputDataByteLen = 60 -FixedInputData = 66e0830ce0b25d063aeefb122f89153c07c10605efe0dec8fe3db693ef6d04b36e2aeaddd791277dbbcbc1c159203fabf9c02fc6c43ff11f3633403e -KO = de1eb09a8838d8781ef5cbf6da16be13ed8fad5d409712430f56b72346f3b703b9d1eb97b4584e723977c551459c4dfc7ae955496c545d15d8fecd45b7aae3a518b688cd9b66 - -COUNT=36 -L = 560 -KI = b3991a93442101aa6c6f8a292a67665ace0a68ecc03c423f -FixedInputDataByteLen = 60 -FixedInputData = 81abb55d05a6eda22ce08d1b51ac6a5c05212bb2a86b73c3136a57b05f49075741c6ef9929f1b4d82cf2dc942fb6d01c33a4b0a70fdd38a9e5996262 -KO = ee58016b0903d880dd5b616ef955db3073d47a363b276d83636fd9886e9b41e15f654828c472ea5bf6529164fb8143895b47758f52fa2608c3b62d08b699c13d7f8a25c76d1a - -COUNT=37 -L = 560 -KI = 645737c040a2798e721c403466b96b5a5947b820e77d1540 -FixedInputDataByteLen = 60 -FixedInputData = 2ba91bf6d3fa6e6067f56f59c226aba5ede353cab8ca115521d8cb1786af84b601ece898c3ed9ea1fca95e67a26c4f2208f9c9bf8460d31c15825369 -KO = 94925c7b4cf964265efcdac8678b2b419dd603a2bfcd35aeaa2c4660d032285c5934f2b6aa801163bc4df52244e5dacc04ec38a04372853cb1d00816fe96e14fd6e143790c42 - -COUNT=38 -L = 560 -KI = 8c2e8fba97747d87b61dac45fff56ae196f596f4f4630823 -FixedInputDataByteLen = 60 -FixedInputData = b478b3486e3cff3145095a9eaced2d825fda4f82f69e0115917b143564c62e9fb72098b2a25b6d4601d76f60cd7756d08e0224f1b4b00cf4e7ece02c -KO = 484f9e64e9d5764b75e2e713ecddcbc6a5c61507112b762b71e6c57843608d3d59481252967310f82a95557c87d9f6b53e5c334383ba01599cd09870ce5e5b20a90aa7df366b - -COUNT=39 -L = 560 -KI = f37447961ff6dd08f406b6bd71dab28593e8796d1be5b17f -FixedInputDataByteLen = 60 -FixedInputData = cd404db5a7443d8c399805c0409edec0517a81469f520e74d2760963f1230878813c7439afa64b4eeffabd61fecd0eaf0c532cc35cb8a4da45d2808e -KO = e56c261da01939321bff34000a97b36351eb3ab5bf5be217aec5cb65839623677f2dc1c803abe8fee5c18238c96ab0e56680567305e13b47ca72f36e0cd0cdb14ba3fc61b66b - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 61c503779bfb6bc071ea8cfb6e7bebc9b00eee9ce34aa351 -FixedInputDataByteLen = 60 -FixedInputData = 193197bcfdfc83ce316dd7939444b41ccd59ff763ab30d0e76b973c9930ca3611eeb14365c361a5614383993ea01da0a276396a61ba4d5e630cfb614 -KO = b1d8249de68250c872ddb1b11aa4c62a - -COUNT=1 -L = 128 -KI = f4d06cd4a512ee0174135059a01810b8c178685feb4baaef -FixedInputDataByteLen = 60 -FixedInputData = cb17236edd88ee693443795c4ff82dd37af05ddb20ed6a20ce3367269d7c9d0add7d684b9e0027ea83a90c7634453e5a737a0a7ffe6e9af6a64d6d19 -KO = deb184da05a0a40889742ca41ea5787d - -COUNT=2 -L = 128 -KI = 505633939ad56542b87ce20a01ef3696247d4a742afb35ec -FixedInputDataByteLen = 60 -FixedInputData = 609b8dba0a58dcd168afea59e92dfed27a72f6e43488c3db18cadbcad54f81ffe4fa167acad8baa66456f97556a5911a7637b6e80a3918d4d2ba37c4 -KO = 74c4d472a25641605b07a27a20a125d1 - -COUNT=3 -L = 128 -KI = a6b49f012935d3c3198ea58a9b25ef3bf652ed67a205c1fb -FixedInputDataByteLen = 60 -FixedInputData = 94fe1d212107a95f0f9b78e76362ed572a6659a4995669d240ea4c90b3b59947e35c3d9ccdbcbcc563ec797add9bac453a20bd74dc37ddc713c0b5db -KO = 697f45989a773d9b69c1cdc078db1cf6 - -COUNT=4 -L = 128 -KI = 44ff67d097486fadfa6813265511786804d21101099066a2 -FixedInputDataByteLen = 60 -FixedInputData = dd6b7ca062846dc5ff2ab6ed13fb3bc33b79079074718aa1f98c8887b409cb288fcaa5965c5743a252fc228fee37f37eed2ef917dce652de11540954 -KO = 065b9e1ab6b57028532fbef148dbcfc3 - -COUNT=5 -L = 128 -KI = ffe44b27d684c87c004e85ae2162227755240211d291e51d -FixedInputDataByteLen = 60 -FixedInputData = b611264991f4ab1adcad175d6cd5ccb68a6a0aa0c4b7e2265c62de0c3f2897a5eea54281a55fe143b6402bdd92914cc1954c76cca34f622057c07ccb -KO = 41869e37ca34092aad8f04172f99a613 - -COUNT=6 -L = 128 -KI = b3268f2359b398e19fc0a56cc118b9bfe596d91bc01a610d -FixedInputDataByteLen = 60 -FixedInputData = 6fc6ae01cd0cc9fbe471045f32e5565feb98887084cae47e19b6a300d448c70cf937ac157d67814e5d7dcb3c5515a000ff6081e79b9c146a11c76068 -KO = 28d873404964274f5e099db36ce4fb89 - -COUNT=7 -L = 128 -KI = cb8c0cff66d755061805c9dcf70353c723b42ee4773f43d8 -FixedInputDataByteLen = 60 -FixedInputData = 31e7e74ce000e6c98cefdb4ee4936ce3c1f77b7430aa0d7ae2770449c6503f302b524faf2cb775bd2f0ca4bae8b8ceadec6bfd0c73d5080cc715f6d8 -KO = 2afa6939712ebd34d76523a91fcdac94 - -COUNT=8 -L = 128 -KI = 335a288c71642b7e0fcd4680f8390ada4ed7fdb6bff08014 -FixedInputDataByteLen = 60 -FixedInputData = 0406a99eb1c289515d30a05e1996b8eeb021c0503ff35ff7f9d07cf3e8cc5f806ee5d576f180979a7b8b62c5e989ebfe8bd7e2b532cb2642312846e6 -KO = eea61a9f40f03730643c5969517d534e - -COUNT=9 -L = 128 -KI = ec04f831c5184c6ec2508622037cf1f8ac0577e6d3655e56 -FixedInputDataByteLen = 60 -FixedInputData = bfa5b4d2c5761be55710dd1872ab35e143c982c017d574967f535ea4fd14d560a7a3946ed1cf845529354a00d35c2c753a3b2271957f887e9eaa0084 -KO = 63a074c9da8aaae00f1cbc7bfa5ae2af - -COUNT=10 -L = 512 -KI = d93f3f8ee77073ef76b40337ed1e7c6ed2fb282b5d6c2eb6 -FixedInputDataByteLen = 60 -FixedInputData = 8e9bc25598a0116f739327914dd927b5ec818919561242eee516f9d5332f913814c91fdda201323ece19e5af926cd24c378e18ac66b6d940a7b4bddc -KO = 2148ed1a79261d3dab5932f2676deb5850a48cdb9c0bddb5b74e27e91177b702d93dd4a69e9c8b978028ac49fcf64bbf3ba6cac1afd5365ee4ed704f28609271 - -COUNT=11 -L = 512 -KI = b72e78f9474e4d1c52a3b6d06a7fb7593b7b8f8aa58302ce -FixedInputDataByteLen = 60 -FixedInputData = b5421baf54550c8428ac348571445acb57931e552080db64065f1f184474d0d1b6327c2d84c7787fe82bd09add4f13c514665e781cb720540d23af6c -KO = 9eaa820b2d94b56b91461e46486b62db0c8fdf8fa38fb71fc557a2132005530c1d5f18f34ef7965c7a08ce778733522a88fd6ba0df1b1c48f7236fb278b4c875 - -COUNT=12 -L = 512 -KI = e5c7d466f429f79ca0b7a2cd5bc23e597dc0bdbc73a95cd4 -FixedInputDataByteLen = 60 -FixedInputData = dacc5a9ba97ac8cd0c8e37543dff8dae752a40679b5bd9a7ff203958521dc920e3dffa34780866554c39d15a6599f96f2a22728a801dfa127bfc1451 -KO = 223e359f370bc8d8b6426e4e6ddab664b334272ad7445f9f49d479c7169a0f9cce91705ccb3e8972a09140a081403574d767433b8b6f6532076cfb859c3aacf8 - -COUNT=13 -L = 512 -KI = a997abebec43a9e496588982b2cb884ba11468b572934b16 -FixedInputDataByteLen = 60 -FixedInputData = 57ec4922ecfb041b26bf712aec4e6885f140e0090bced90e44afa950e5fe17fe2a8f8cd341f12272fd879e2b3ed2150f0de21def90fc03194dc455d2 -KO = 7d52f8b86610d33905727989e24ed0083421804f503a3f19f90e8285c3d5344f4abda3982b57fd8427f3350156697c381dc1f92fcaeefab0bd9e65ca00a69db2 - -COUNT=14 -L = 512 -KI = bf80b1ed8be45e55d342138c6a7e258364c0aa7a4bcf6cb5 -FixedInputDataByteLen = 60 -FixedInputData = 315ce3c8bedea3e44afd8585ebc85d1be87db8e76cce0f83ba43ea1bb872d64972a643aef10641e36028dab5d52d268380521320c62accafdaf0d372 -KO = 69715fdba154535d226cb26b468c2a8e70c26444afed30f073e9b7ee266ce1f901b7609136435beaab278a4056ecc121e69d8e04f7c993376df8700d9399a4af - -COUNT=15 -L = 512 -KI = aed7280dd808386de33c42a3b95d411b66d988f425f88062 -FixedInputDataByteLen = 60 -FixedInputData = 26e2811f8e88e8b2b2ab156bd9312e4410dee6b8356ec949520bb1433d4d7b4b7e943df234a1b513a25d6d1a9bca51be733e1850cddce3015194953f -KO = bbe09acc4f69a652c14c6250eaec26085627ca2fd27bc3b158e68a2a6c57b4c41c5023e9491e657914431cca3d6b2382f0fcb0a913b83a409a3f52c3dc338508 - -COUNT=16 -L = 512 -KI = febee74d08c73f23f70f6863160f5457ce350d00c435a4f7 -FixedInputDataByteLen = 60 -FixedInputData = 386ccb39313874d55ae992362dc4cbb7a7066393fdc0a21ed602a43cc56507b555b7967e7585285a017277101a0f59fefc87ae35545255fd2d4f4d07 -KO = 54752236ed45f69d01b0a7d13e82987e750b4d89f608e7f757522b8b0bd34e5ad71b1c041e7d3330eb7c3462961353e7e35c5162995c0249727a621c651ef974 - -COUNT=17 -L = 512 -KI = 064c79ccf44a30db36d950c65042cc5b6e288cf3ad57ebe0 -FixedInputDataByteLen = 60 -FixedInputData = 987f482e160ebe95fd647fcb0a8084011282af0089fe0be91d4428436bdae0ef3be68e80414d974bb0bf94a591067b77ad705941bcc4c0efab0734c4 -KO = d2276eda5a7d2ebd6d7b3cddbb8795e589b45fc62394de4eaa837b7c916ecbf9c6178496540290f6fa900eef27b9485e36678fc9dff98042e454aa154ad16fbc - -COUNT=18 -L = 512 -KI = cd93c23e9e537ab0a538e5a9ff7fccbc37ca21ccd2d1a306 -FixedInputDataByteLen = 60 -FixedInputData = e10d6ab41010e6c1388988a23fec2491ffa10a3a579ddaf216065adcb5d8f842fd81c3dd7802abced2536450f90b8550ae21cf6578903319a72b7f93 -KO = 7af8727aa178752fce64a4cb4aae89f8401ceb4d32d64acce0a907d1883f168e4d1e0c40e42aecea3f63135d82628a35a6943aebd1429f1d73f14603eacf7e56 - -COUNT=19 -L = 512 -KI = 0551a4e2cbe69f1e5535ee90ed38023635ef5269a0402f2f -FixedInputDataByteLen = 60 -FixedInputData = 8cfd8fc56a619bee82db22391bf82c6d236dd313c948196790e4d00991a2b0c0c6e4137a8fa234dd6fe8ebc7ee378b3b85c1276f106c5b3e2a22a114 -KO = cf4414f95436860f20f2dbe1f36342b4d8ac747c6f7e30291265d8b86090b0618471f401c44158cb6eab6b1aaf66fc56b7a50eb8922f1a48198e1b72ca543aea - -COUNT=20 -L = 160 -KI = a6cec036788098de9ca1f2f663bf9bdad49bab13922b345b -FixedInputDataByteLen = 60 -FixedInputData = d57f0ddc7cdbff86e3d861bf54b14a93bc1726cff7d362aee19e146fca12d88bd7dd4671199a30efbef0016175c1f3836a8d3b62b23298e2bc783e99 -KO = f64f57dc88fd459f2700741191f8ab2bc8666072 - -COUNT=21 -L = 160 -KI = e5af17fdbc8a0e954469a6bfdc9a386743def1696ffaa908 -FixedInputDataByteLen = 60 -FixedInputData = 6899d16311b53a21df2f3dbf84fa38370f285cf1dd0904da8f72b1c9e971586fbcd0d2902ff308b02f198b351cfd8a98fa270341ec1c776037b0e885 -KO = 103e656ae975a4b3e00946fd0293a7709eb7541c - -COUNT=22 -L = 160 -KI = 2c48c7b93b74110e2e24f75d12a3276e9700762938a4aadb -FixedInputDataByteLen = 60 -FixedInputData = 63cc43f7985f79580c717dd181acd43a03e485ae3a75bc53b8b5f87bfb524fd33389425622463fff4f5172c2520d54babe946bf3683c8f74a06bd1a6 -KO = 3df3bece0221fa2279622a3013e819e86bf9ffba - -COUNT=23 -L = 160 -KI = f67eab9a1386239221b283224e9a7cfa45e79e6e313feb02 -FixedInputDataByteLen = 60 -FixedInputData = 30e7b6b5f1a6ad6a407d8687ea0c424e9a007a7d0b4eadce26639a1ebaf1e19576ec3e32579cf79155a9ce84feebe5d7a4033630fe6483c7af80c879 -KO = 2ea8e2d153bd9e6e61e2d353029d94a8d7ac78cd - -COUNT=24 -L = 160 -KI = be313dfd9b9c84b32422c4a1dbb55b4232eadcc046a6817f -FixedInputDataByteLen = 60 -FixedInputData = 4034b98315bd2784f3636ba41f5a699cfbac080aec4312d14dd0925acc42ba13bae5a2d69c350ea8432130a5e523c5f62312a1ab0faa86b70c1be09b -KO = 344646c68b2b3a4c28646546b30a526e827cdda9 - -COUNT=25 -L = 160 -KI = ee6a2db76c4010db1275be1efe780c08288735410a529954 -FixedInputDataByteLen = 60 -FixedInputData = ce4c0a3bb31f74afe528e5e0fdb461da2afdb025a88c2bae7a6c05b9ffea203a32ea28bab70df3c5ad519dfd070f6f9617853af11d0a14883dedae78 -KO = 83b1a78cce2c036b24a3512b306737908aecf354 - -COUNT=26 -L = 160 -KI = 8598297d6a20449564963c5bd48c769cadddc5e7c8b8e88c -FixedInputDataByteLen = 60 -FixedInputData = 0789a295572c5acf390759e61d19debfec7395aa41bfa741f0071dac1add5f5bb111b5705e00837348c696a8f103189f52a76b75d66e6a450b5d9305 -KO = 69f44dace2671b5abb3d1ddf725b30375977a273 - -COUNT=27 -L = 160 -KI = 1410acf5e31e2289b23fab696d8ecf8ccf7d58ce5a393259 -FixedInputDataByteLen = 60 -FixedInputData = 9069c6d5c9ecdd6b4ec9b0982c603b26cf90c9856ba053c3119b0643032e5f1a5f5c85f35e46896d6be411145f786fa58cc93b05eb920267be7e14be -KO = e073a8c59506084093bd46bc4e4c5effafbba272 - -COUNT=28 -L = 160 -KI = bcda10a29385bd1b04c0f0a03ac380b772ea590ae7d5bf26 -FixedInputDataByteLen = 60 -FixedInputData = 9a86ec84f3dfe7b713bbaaea70c71a3f35fc471130826115e15fa6a8f9ccaa09de3fae0301085946b0b87c661eadc05d6db03aed66060b2a0da41603 -KO = a65f30b5edc3813ca968e000c71c1d5a270ee296 - -COUNT=29 -L = 160 -KI = 525f9d15469b94082006ff755d8fb81a73f5068ac79747cd -FixedInputDataByteLen = 60 -FixedInputData = da946b639808ad547a542b6054726458ee9b40f24173cf8f5b0ad792b4a2e9095605e5dc7daa99662ce9f45c3ffbda8dc05b0cfd65a1817e9b92de56 -KO = 0f0d28a3593c8bc9adbc55901916490117d9074a - -COUNT=30 -L = 560 -KI = 7c3d901825422321f7be8ae758eecc072b8e029e1e2a50d3 -FixedInputDataByteLen = 60 -FixedInputData = 3ae2a139bd8673e8b59cb7dded91a6c2712227659164f6647985e0a10560c6c956bb69335b1bf5d805226b05e56c393ed545bffadcf03d7906bd554f -KO = dd197f48f9abd8ed057edfe73dd90ada136372a72faf3946e81cbd6c131bbc3960ad219d75a42cbba920d4b28cc85c39f68f0286c0f8b3019eb2aa51479a934465fa6b860ae4 - -COUNT=31 -L = 560 -KI = c713c7cd7ba310eaf7bdb3eb1e8ff701d1ae99d529ee0388 -FixedInputDataByteLen = 60 -FixedInputData = eea521d229ccf46da109028e671b1a79a1b322e2541232aa28ce68b29548ca84444bc96f0e796e352ff5b5851dc9874224c69ed62c8a622860c7a7c2 -KO = e12dc39948d9d297af735b41ccf131679b03de5037c8c9dc32673a7251afb9c2cbdbe12969f542eb85589ab4bd36d7db092743b71a3e29b23fac8457c08d20a209014df81908 - -COUNT=32 -L = 560 -KI = 881b3e20332dfefe4dd29e1d2f7667323364a7656ed67dd7 -FixedInputDataByteLen = 60 -FixedInputData = 9756f32e78829816be5e1d145a5c2ca890d5b6eb21c5d14277683cd933ae676e29dd67011e870d4204e1410724107571a4f36fd9ba2219c04c7f1c70 -KO = bf50b6c903a5989a3f17dfa457601faedbdbc9333140dd1f729afe06b9f11902adbd828da15c187f20f95ff1a41799aa59e6c9e76145576a16c54eab99b546a7eecbc07d0943 - -COUNT=33 -L = 560 -KI = 6274094cd3ea6bfb3b665cef9760623c9bfb986e272aa7c0 -FixedInputDataByteLen = 60 -FixedInputData = 4b50fa2b65a0a75eadc7df7eaaeebfa44f83fc4b739e5a5df806f6eeaad6855a3a98b1330b9587f8fe5b2e305606dc7b2decf76f35a845744013c1e0 -KO = 7768607a3f26c5635ea405bb21365286f53f1a7806112fc5013d597c89af59c75773c52774de548ff2beb00800f9485c90d1fce8d6d7a742728cb13bfb1bfed6a4101ee86e75 - -COUNT=34 -L = 560 -KI = e7df561933bddce9b189a82a7c071b3958010988a01809bd -FixedInputDataByteLen = 60 -FixedInputData = fbddd82da4b86f2aa072be18bc9f7376950277402fe4778c5cb455116657d3f38b35b00c997ff92bf4d862a0582c38aeb4923ed80bbb7c0806483c34 -KO = d5762a9c9972b05eea6642ecdb55e61342ef27ee36d98adf5f70de0b3a522ad537fc3e337cc1f9fe906a3cddaf425436dfdf7bd163b3f96a3435cc29f3cce6dbcda309d37703 - -COUNT=35 -L = 560 -KI = a43e5dd1f75b2600399b5d63307eafef531999b09059cc55 -FixedInputDataByteLen = 60 -FixedInputData = 5b0e625de8fc1ac537c0d796dce14b6e10b70148b798188aa30eeae224417dcb6b8c56f2d008a405a15d4dd9b9925748c04cc14a01c243cab3206fa2 -KO = a8fc2f1d7f6331f1c9fec01ea6443920cca4521a91a14c2c634f6c4ec3da902fddc1b16c6e0d45034c47cee52f89a5cb8e03d795e3a99cc49065caaff9f76a14ebc14a53762a - -COUNT=36 -L = 560 -KI = d495ff3612d9880a216f3f4629d092c2e0cdf524d11306f1 -FixedInputDataByteLen = 60 -FixedInputData = 2b3fbb5cdf730d0958bbbcf1ffd361b5ed7561f41928366e94fec9809d1ccdcea2dadc879a670a77b7b6cb7f90e992b439497590b4ce41bfe28d76fc -KO = 6848378aab086cf6a5121f50b609e7945f3c91fba0570a156b0b0927868e6ce98f578e26da4615b23c5df1fa95189b273879c6fed2756dcde09751bff44963ff54c740cc5cea - -COUNT=37 -L = 560 -KI = cfe0a203a7c62906afc8fced46d3bceadf99aef2162240bd -FixedInputDataByteLen = 60 -FixedInputData = 69e8db711811f57b5062150563b600e615b1946d19db8ea733c58c34b52d6f1393344a776f078733bfce5af3e24bb51d1f792459cf72674e2eda633c -KO = 36db80807a314bfa1b4bd2f2ab140f218df093ed13b235a6ba189df7f2282ae91946cd41d441662d5dfe8630d3cfe79d79840e5a13e6017d66beaee521e4649fada1fdee64e7 - -COUNT=38 -L = 560 -KI = e0696e0f02e647e3d2efc1bb2d84c91c92c0e30d58536060 -FixedInputDataByteLen = 60 -FixedInputData = 88dca990e3dd057eb2e5e0f5bdf3691bfd37d2a7f5719146927585f6425a583b08878a9b73a04ae7606f7f4ddf5b66990a40d09259240d2e05159b64 -KO = 5131bf87f666f461204d5f450ae95f1f145cd57d54ca411f757c7378104b5877df9f39df6980ec3ca7850666c12883c4313478448127a87993a59752a48b06e9484142f89c89 - -COUNT=39 -L = 560 -KI = 1b5745fbabd128ea210b6842612ed8f9aab428c0f9163ef6 -FixedInputDataByteLen = 60 -FixedInputData = ffaf2658540e29bda3330fa7d0c737d9212b48613448604f1ace487d6525ffc93f70c66ad238fd314d99ba9d80f17943cd544c5621d87d0ea0c92504 -KO = 2a1190ec29fd47df768916acf2891422b20f0208deffe649a5c711c222bef3d8f695e4c3b843c603f341ee40c1c0e5bf31a900aae96fd424626ccb7ef63a9d0ee20ab1da32d8 - - - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 25db615a526dd8963491e5b5dd3d1adb256f3bdfea96ed5f -FixedInputDataByteLen = 60 -FixedInputData = 9cd1cfc7048b58ce39895b05731704c581434ac20bf95322c4d5e750f650ca344020a906005feb8eb866d659737886ad15b112621eadc33b27c1f170 -KO = 1f3867fb944b9cd162df8223386803ff - -COUNT=1 -L = 128 -KI = 78e43b77305195ac10962639fdca0c5d92f90a9c6130376c -FixedInputDataByteLen = 60 -FixedInputData = 7aece625ac062f9be68ad238c12c2dd65da1c52a8b00ff55997d885112e01ea85b35997c9a51762c442ee709a7ab311e72825087e78605b54c8bd3d3 -KO = c18d83deeb51b32920ebc7901c2eb34c - -COUNT=2 -L = 128 -KI = 1f0e9932867549838ebed765e9232be8429892e0dd614ce5 -FixedInputDataByteLen = 60 -FixedInputData = 08ec21a7ea5696dc9d5503b41974e384ad8f4d84b50eb4cedb542ce095dd5218fca9a4a6cf30c560f93e80cdd09892761ebaa518a6472de42762bcd9 -KO = 966cba9ac764ce628de1cd7f0667d8cc - -COUNT=3 -L = 128 -KI = 74981aa2632599c0bbad392d675b5162ee2d5296444305a3 -FixedInputDataByteLen = 60 -FixedInputData = 2c29b0af63c13276d3068a3b4ecbd06fded61ffc3e72e0ba1df4f1b5d5e6b97f09c802859324665f87734a14aea20bf093ef98443b2b22d6f8af1b27 -KO = 15bb70fa1df0f3fca0c7df2bae25c9d6 - -COUNT=4 -L = 128 -KI = d2ad4e27f6b33f4f2655b64cf099ed6a584a28b2c80c5829 -FixedInputDataByteLen = 60 -FixedInputData = 01c9722531a2e303449eae05da74c386f0a41f567a2cc4087186cd12d1c3644065def1894b070aa436a28670a2492cfe8230bf8e28567e03af6ed4a8 -KO = 172adc8994966c1dbfa37a0c5283ad54 - -COUNT=5 -L = 128 -KI = 4fb785a23fd2f3733d31a62b65f08e57878ae3667a1629e5 -FixedInputDataByteLen = 60 -FixedInputData = 556e73ff781d7a02b2a3b23d06b55b3a292b3ede762bbd376bbbda77b60cbbc6f9ee38f8b617f92f497a3048656c14092aef4bcc0ac8025e49dc75db -KO = daa62e646c2d2cdb04c7b5244d4a9583 - -COUNT=6 -L = 128 -KI = be744dfbb8a3cd17ccc93e5ec33f28d127884b67f9fac15d -FixedInputDataByteLen = 60 -FixedInputData = 166e5a1e084db1a7c0736c833e49aaf023b49c8cda9be0715c83decf55fb3f19902e71bb32a0b12d4c0ed811931c0f3a21b49fe4e2c5e4d2600a799b -KO = 705681afe0c839400fad16da6a999180 - -COUNT=7 -L = 128 -KI = 901403072d3f7eff23d1a0a37783d2af7e358cfd6ad8e026 -FixedInputDataByteLen = 60 -FixedInputData = 769ca8bc91144043c9706e11076c412218576d35a7f999c00c4367a23c20841328dfa167202fb7439622d8ca9b140c2083311fc5ec30691de205efcf -KO = 07ef4355ba3261cc682b038b2fe1cb73 - -COUNT=8 -L = 128 -KI = 32c2c95aa297b19a064ae6fbbceae070881ecf12eaeab244 -FixedInputDataByteLen = 60 -FixedInputData = aeb13aa02d18c870d2b37944bc259526420755fc86933ee602d344df9593f90ca572bc090bc4d96822fb68cc5fd5a9c16e9e4a4af7c107771f4c69fd -KO = 7bbfd9f227df498f1ff8c5a2ea8afa9a - -COUNT=9 -L = 128 -KI = ff0f5fb1dda97a71c3d7887c26d2140fd2c8f402e5271625 -FixedInputDataByteLen = 60 -FixedInputData = ce02be99f59bd7bd99594931db864155eeffac94b9777d87a86790ba1cc70619963573d2ddef4bca75a2745cc721016a432584de325e23504d62a100 -KO = 16bac68aaaab8a2b29bb84c58e2af9dc - -COUNT=10 -L = 512 -KI = fa6aa7a7e6830c3cfc20681bc880e6b26ebe81441caae59c -FixedInputDataByteLen = 60 -FixedInputData = 9b9ed84ae1d58ee1cf288a9e21effb881e3f1ac4413fe16dd2ed06fc1d887e2d4f201df8cc333480e8f5953c899fa13a1462c4515f7b2347deec9378 -KO = 2903e60b1d5736f5bfe14c3090b1e6aa1ab70d3ce425f39c38ca82f36796ffd56f513dcdfce6ee586cbb8a9d65d5f71cc2660e1ec75a8cef95abcf97585978be - -COUNT=11 -L = 512 -KI = 79c775c7714f4a129850e21b330ae848018d66f7a7db0485 -FixedInputDataByteLen = 60 -FixedInputData = c7a74ee363a4e2906107d0683de858c031c5f20476c8bbcfd48f8a7633d24c0dd2b087f4b772a16e8d5f1b721b5a2fa4259a9a1c3b617729add550bc -KO = d4dd745fe3563562d65cce08324643de2708d52273e4174bbda9c3be1518c55fdac72d3d5d1f8539844baf52358595627e6426869849faa7115abccf28362ac6 - -COUNT=12 -L = 512 -KI = 67229d07949c69bd4da366ef26f19e8d4e6881f42802db97 -FixedInputDataByteLen = 60 -FixedInputData = f972a24327a4be94de5dbd1a26f295a90c6339eae1bdba3f5c5a633426f014cb48091de61ecc4f114f072efdd769d0503197f3fba10ba0a0484bff41 -KO = c139302f16c9b2bf8f9baf7f6a18428c8796f1b3f2c2f3cabb477748761eb70b96254810d51ecab41a9288433baa6bf8ab8d3e56460f1fe649154a147f131bf7 - -COUNT=13 -L = 512 -KI = 410933c801c730cf4cca2c2e5876aac74b92d1c729737c7a -FixedInputDataByteLen = 60 -FixedInputData = bb598291461ac161575e367ab51559f9a45d964a56455a0fabf3b5e99c530d38886f3532872535e009cd148ba40ab638f2ed9a199a967bc7b13b72c0 -KO = 23fcbedc290338b578f5d2da08de9ffd094df0529d32995038c509af6009408c68a94452471eeeadc41368d2faae16ce4714a683dfb25b01e2018cc7902802c3 - -COUNT=14 -L = 512 -KI = 0821cd103a61826983b5b9b4b52e70e6b1ba5e6b1aefac4f -FixedInputDataByteLen = 60 -FixedInputData = a1a30fc5337e0b0975dcfaca97e9cee4a7aeea4c173cb546e1dabef3b32c24f00aef49ad6b81e00d1e655d60697d7a68bc0e2d4fce226cc069a4e8e2 -KO = b0194f1b3f77887cc9443f123e983294ff94545532c980ff376481a2760318b3b977bf072a99ad9bc3ffd3bfe287ff2c0527d783550a77961abaaf28f38c73a3 - -COUNT=15 -L = 512 -KI = 61c6522c6c699572322015c8605dd3833c5d44adbfab565a -FixedInputDataByteLen = 60 -FixedInputData = e2555856f5173872c07b7198f8a3dc3b5bcc6cbd4d33eb5dc9258eb06cd9190fd303ea3c0e654531ce22e449fb24c76973b409c9292b7bc377795164 -KO = 6a849e58069f47b65a37d52477689d0ee12314d72245c07eafb6b0f64e9233a23f0c1dc2a7daea3dd7cef6afe378a8e3b5f96ff425a71ffded8135b4fed970d0 - -COUNT=16 -L = 512 -KI = 1aab92a029bddd253582f73a2061d681abfd5a49b3990d3f -FixedInputDataByteLen = 60 -FixedInputData = a77253b78d38df159fb6059b73c6f2b0d5010f54792135868063f7d2f2cf16dfd425f58b5000ad8ea4051b82850e4ba04336e43050af550adb4306ac -KO = f18ab1f38b27282a7a62bda8378e8073d3e1b0f5468d87af85f78ab8a997c13595731316c571113ca723b7fdff69896541c9e3f4c4c5c525aa7a4e24d3c3d14f - -COUNT=17 -L = 512 -KI = 0c1938ef4b4de92f2ea328be4c6c5b6509aa4f26d4ca70f0 -FixedInputDataByteLen = 60 -FixedInputData = b6c025e591961819ed6c2f7b8bda920c3a751d7b7e29942efd90b75e9a2c4833c2df40a9dbe0aa7152be5a116657f3880dc7fcc4884ff3b80a2a7c50 -KO = a0ab290c60b56adf331f79de18d7f63af274b06859becc4955b4bc2444dcd13e489c8a643441fa373a1a03ded38a9bcd86f499d270b111437af7722c3f15772b - -COUNT=18 -L = 512 -KI = ac7f874fde70a620bd013e85db07ec0e52f9c4d9f61a56cf -FixedInputDataByteLen = 60 -FixedInputData = 82253844bec474dd08f3d76aacd63be75bf55afbf0154ebb00ad5843a8808d865228752427737b9741320763313663fa6943c468a3a90d0213060d0d -KO = eed25bb318adb102110b6132d01d9821609fe5984b4fb140ca7f842f115c941dc1a51fd7f1bae6f5285d60d113785d3ee15ab6a57a7e4fb3d1e8e6dbe9d9bfa7 - -COUNT=19 -L = 512 -KI = 037151659b8855ac4da5bd626bf86bf6a930ae63aeef6208 -FixedInputDataByteLen = 60 -FixedInputData = bea7741c88ef38125a0b7b5eec712b3f6894d6913a185584f3942024b012d28a57afb98eb80200f5f7e8016fa660054a8051ea95cc0c12576136353e -KO = 469ed507db7fcf6ac1a304fce6e84c5b595606b69339d5aeffed29ccbc8028418706c37d0f7b8e2f3a646334bafa49bb7f3f3f7a3b6ebd4b86bbd1be8e78c014 - -COUNT=20 -L = 160 -KI = 121676d0c06849eb34abfb2951a57b280b36f5c9f6a431f3 -FixedInputDataByteLen = 60 -FixedInputData = b3f29e7455eabc0df67c6b9c13b421b3d8924682e770c25803b1f553ade56a4932a677f63a5dedf2289c4c17699a095c2890118958bd008fec5d8787 -KO = 782c7b57dfcefdb8267923542eb41f81a3fe589b - -COUNT=21 -L = 160 -KI = f653190eb04c021005f1daef6eca9db7f3aa14706fa71e17 -FixedInputDataByteLen = 60 -FixedInputData = 5eab71994dfc32b54cde8c41cfb2fb833c04d1c4f878571bb708479fdc6e7c4220890c7404d879399c0a7a25b075a1f8bb9d004d9fc8c4fea14fb0d4 -KO = 71241e7edd73fcfd0c7a1a54eda2c2fa22ce57e7 - -COUNT=22 -L = 160 -KI = ac498cc767ec07438378636c5717a922fce207b8a15b2ba8 -FixedInputDataByteLen = 60 -FixedInputData = 42496f17b4a05c26af13cf4d3c4b2d551637210612b7b6e23e8fa11220d7a534183ab342bf59653f385a0566bd67d8cdd4335bbf593deeb48f57ec74 -KO = 0377da57ecf641626bd3aeba4dc3421f545d838a - -COUNT=23 -L = 160 -KI = 7cd3eb35d50f644b48c4792b0c922f936722d5df7b60fb64 -FixedInputDataByteLen = 60 -FixedInputData = 88ac859b21b949347423d9ca72401ebfba8c957ac53687e9f4df3e71867acc97d38a6fa1ef107b74fd453f079982d3ce94b2e7acaa569b16844ea62c -KO = ad7aafdbb26b2adbf1ff68ac76cb2ae7d36cf619 - -COUNT=24 -L = 160 -KI = 52a05ee5acd16728463086a7aff56f83175057e7467b32e0 -FixedInputDataByteLen = 60 -FixedInputData = 4cc317275abeb02d1316ab9c5e5a5b1f1043330eab06287cf714d11e72bf520bae5c1461784d9eacc1999b0e6e73b7d33a3f64daf9ba7bee097eac81 -KO = f0023d88b36435985146e7ca38a0d7b148beffde - -COUNT=25 -L = 160 -KI = 6c3d24a5c8ee6ba5d05ce9c0e5dd6e4dff1c8fdbc18e0d7e -FixedInputDataByteLen = 60 -FixedInputData = 18e1c76f81a5392728836d9a7ec4cd2478453ff465137b6dfc21fca0ef61e201d5460a38c4ebe5fb193233a994868f4a0c29b7f0206d3f7d5827c53d -KO = ae5814dcffa10990eda5bc87c410e4e2702a9d3a - -COUNT=26 -L = 160 -KI = 8008b42faad5bc5d9ba140d9dabea6945ca7c2e7e6d9aa55 -FixedInputDataByteLen = 60 -FixedInputData = c907652d7a29d2a7f52cf90fb76fefb78a5af234bd256498e4140c7e590dccfb2411c9b4efaf366eb7e4d779a131d1dce9a86c5851511debba9a280e -KO = bdc7d0c439760de60c586759d948f5cc26a4b9e5 - -COUNT=27 -L = 160 -KI = 4b1377e677793dd1f8f606f95985495b3e626ae23b714679 -FixedInputDataByteLen = 60 -FixedInputData = 29db37ad7843a359c324dd171d482ac0b801e0798d6e2331f4d4cff6fde19ec51bf3c4de5739ac68685914e5e37f5ef1107d4367574ba91aa02e4528 -KO = 3a7963dad085394e2868a55eb9c227e773b67383 - -COUNT=28 -L = 160 -KI = a3f245beeb00fa40b117ed236388ff4da58b2901d6cb428e -FixedInputDataByteLen = 60 -FixedInputData = 89ae6be9e38b3d872f4b3722ee21b7a996e58ba2b6686d3f4d706377fcddccd58c2cbc139bdad4c7bfe5489e67331593d1688cfafaacf2a64c568493 -KO = 257b511fc13517c88913d2aaef66cbea6abc386d - -COUNT=29 -L = 160 -KI = fd8f3a5392d139efc400962de5575fb317f187f050b0a154 -FixedInputDataByteLen = 60 -FixedInputData = a2acc169cc3265c678a3e9446cd9a5660b01592fea46e580ab96a1e793210105471f993fc5f0ea3db08eac56f6b1d08be99e15d7abd1eeee729515c7 -KO = 6e526bb5091a8da7f238af251b9a50fc7338344c - -COUNT=30 -L = 560 -KI = 00b224e10a07e69153411a7aa42cd2bba6e7758ab65ae50f -FixedInputDataByteLen = 60 -FixedInputData = 36753b87d20369c6a78286c62d3b2c56bf065314a08c3eb82af704fa2bef2392cf097f230904b6f07692181100795492614a2d4703784dcdf7cecbaf -KO = 7728fbc2ce1d352f8ec3a01ca64ba773c028f45db7384ad2c2659da139318455c3c424f1c6203ea679107491aaa781a6591de470c8b9c71a6f401b149565017be96e72fc3d8b - -COUNT=31 -L = 560 -KI = ea863826f68df668abeff26f656dc5108f75871c672c2547 -FixedInputDataByteLen = 60 -FixedInputData = 41ce67709a7081caa63b50a708d6e416dd0765ea95190d3548fcb588d8cba126c086649ec4dd64e200f51ad4c15267a46833480147de9140eb6ee9d5 -KO = 095d5e920c9fe29ae069c05bc2fe077b1a3272a4c68a4cd72c12d5fb2fa5d818ae045991e8cb6c35c643f5ae92083b38ea95870bececc10ee028240eff89cee723df960eba73 - -COUNT=32 -L = 560 -KI = 1f11eaf4ec63b8ac5765b10c4cb2d729022bc461d9dc6784 -FixedInputDataByteLen = 60 -FixedInputData = dc13a01244189c465d6a62d928b9847d7a022cc9bd8694d33bee561c2d310d0bcb985d7b55d94320b2945a9a5f9c7b0f15dcd19f78c716435e54e48b -KO = c0785fccbd4e1b6acc4d8d241b6f73e78e14ef24e982c47ecebb1c482c7003fecde4f86cb6c3f1b03453917c2b854c22e4ead347666dfa7e5d9de2fef03c7f606202ef0d91c7 - -COUNT=33 -L = 560 -KI = 51f51f947f598af120ba32fabcd73a05ef1fa9d84be6a902 -FixedInputDataByteLen = 60 -FixedInputData = 10b7ff83d5ba3a39dbafbf37523e7b1b697be14594f6879c7a0914fb2bb1b093b7e6d1ac50a9906e2fb1ef3eeda5ed5e6eeb1b632819a926922ce301 -KO = 4bb1ae566ff845030372ed9ba090df753330fd74ba854d83d70ffa90a4351217b75c842776e149989facfb23b0ac9574c85cbf57b82c165ce24548a9dc051ce8eb8849fa8cf1 - -COUNT=34 -L = 560 -KI = 341a6a48328a2a91a27b369064843094cd55944b820b81e4 -FixedInputDataByteLen = 60 -FixedInputData = ed97545ffb058edc0fa24f15c477fbebe73b5fa2851084ca9cf8a80097fe23a2baa2cbbc7f95454de7a80b96cdbfa1c2a3b955212b8fe3f1fd7f569d -KO = 336e68861f491eee3643f36c42806237f73067f36e6fb56aea56c81b78498c2e51c7aa49b1799522d5f1a6e2852ce72a5d1e81df10c7aa0ea0486494d690d4bb7623aad22329 - -COUNT=35 -L = 560 -KI = 41e78249020a94b043cbbb35c7eb20695b8660c1ea55b204 -FixedInputDataByteLen = 60 -FixedInputData = a1901f13088b88195194a71573d7d11177db35924b865c066c6493fcac850907b6f10d6e4fa03c3a6f0a9a89a34e8e72a270ce9aaa5a756cf23fa047 -KO = f337eb8b72338aac7169007b87096f513963d2afdd998a57ccf4a214500d0a3dba7f2406dfd3228971f2133c5516d235a3dd1b41dcbacde3ffd2ffca491f4df5e0d68805e738 - -COUNT=36 -L = 560 -KI = bc50cf9d6299d2cf68284c0f7b374449c2878f9602ecff47 -FixedInputDataByteLen = 60 -FixedInputData = f3efeb78dff562c37065b89317f82f46f488afe0bd8fdaa5e23e98effd5753b43abf7aa59d02da98eb122590f99a8dce0aee8352c792ba1ba0384e87 -KO = 10f6e20f283008eb53c5f77b2df237724c4228dddd66d49e9f872389575954daf299772a4c6ea5910e0e7c08af86405f03d7fcc9e388306d8eaf794807fc7b4b620aca00faae - -COUNT=37 -L = 560 -KI = 4f425a4f20345218f5fd9cf19b349b2935fceeb64cdaebef -FixedInputDataByteLen = 60 -FixedInputData = d597965626b28e68d0a761e144f7fe9c903293a8269863e2bbe4a8eecdaacb4251880a29cba5b1b7b9442aea2825e9a8391cbfb9bd1e6209afdb6d73 -KO = 8dc3b90e5558b619344200618430a419b24a3e248f849b90c0543b3c6d542fbf7859ccea90958eff347b006fc0940a27fd00e324f31e3b02ebb5fadbf3f2fda46bdd50ec029b - -COUNT=38 -L = 560 -KI = 8f463e07c4d59500756d394390bff9957311a4af704a2ac2 -FixedInputDataByteLen = 60 -FixedInputData = 62cf75217d896fec883e7b9c9371ede1e7218033f8185233b6c2764eab7ae29f1a4b0fd27e86dce9876c372d135e442795e1d7cad43a4a656520c9c8 -KO = fad84f4c0717d45eaba58982bdb87ffc715db0007d71fb9fe873d33353df1f42ad92fef7f2c1698a24134d563710cbc5e2d9e0f979df783550c759888b65e988eec93aa6e98b - -COUNT=39 -L = 560 -KI = 245aa6794d0084afbd671e55eb7151f84d7ee15621fcd464 -FixedInputDataByteLen = 60 -FixedInputData = fbacc28af5fd50958529323d3c41f64292c6db4418425c367b05bec3ea3e1b8ac0d43a554f9427d90ad271fec5b8c1c3a7d18186785e5115aa383ad1 -KO = c382b6dd6eb3792ce3a601e8ce12d7a2cfef02bf02fe09c582f2bc6620e2bad6fdf74b2f8e7e78737e8c4a5282e7ac2de3209d96715ed6f3b63ef31ea29879c0635047b443e0 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 8723b723aa398f94af2b61c06cd99de01ef6497b -FixedInputDataByteLen = 60 -FixedInputData = 8aece231d69ab033c9efe824c398da94777b260887c609a34c0206e4abcce0f5709356a7dbb92b8b0d387ccb4945d3b8a5490972205e72531f961b3d -KO = 7596a2c6e19c8f5f52e1e7c6380fa5e5 - -COUNT=1 -L = 128 -KI = 216fe07662d332244962dd26b3dc9d4ec77783b4 -FixedInputDataByteLen = 60 -FixedInputData = 365047101061fd650db1c8356da8a3cc1494c0ec7f9eda7264150391ed07bcb15d86fba7399861061dd37cddbbdad38d1d4902d39ce1f0cd627965fe -KO = 05e1a344b073117cb8743647e5320449 - -COUNT=2 -L = 128 -KI = f339366af87406e2a78b664838764d77107efc91 -FixedInputDataByteLen = 60 -FixedInputData = 56de84d89516fe4c394ef08bf3c85454f696a96bfd59e9b984b530e4c5a46d6283d3fe222f331d9359d8a6341168130f7d3369b5b67b0d625156b4be -KO = c4c8ee27919fe46ea9a388f3f8c922c3 - -COUNT=3 -L = 128 -KI = c7bba5d1b6404478380e7c1befd6fdfbb6779ed5 -FixedInputDataByteLen = 60 -FixedInputData = 412c1bed6ce4d4368c06698e1590533f27fc3d27b4bc50047297582c53cbace0b4855bc21ee04a0593eb87eda38191cae895e3843f5e88f9120511a0 -KO = 0c707ff7ed2264cf872b697a97d0efd7 - -COUNT=4 -L = 128 -KI = d729ab35332f94ddfe093a676ab26bda1d1d8ff6 -FixedInputDataByteLen = 60 -FixedInputData = 90a2450163d423c07f2ae9dd760e97dcb9a8b270881a5961681a0c3316323a118e92ed3e15a7b0132438923b7c3358a620f7b74dd07a44aa6d74a7d3 -KO = ef8c2fd109c9654ed1785cb9107d808c - -COUNT=5 -L = 128 -KI = 0a8e9e1626aa529da5aa4e6046193af913c9619e -FixedInputDataByteLen = 60 -FixedInputData = b1337c86104a466c364f4712b7ece24d5fbe88dde90c74f95e6bc24980b26e34cd2f1243c13b3de6d53843ae49556162ef1b298b8dc32ba36c1527fb -KO = f8901447d8ba86e9dc590ce7a34c61be - -COUNT=6 -L = 128 -KI = 02195ba02b2df4a5d6e9db669f74c0e466d7cd40 -FixedInputDataByteLen = 60 -FixedInputData = 599ff8b1729c28c88adf966986347b80878bd5fcb4aa5f007ba3cb8eba13137615968bf03b47bd0deda25e91d42c2a00c2d6257976b4efd69913606b -KO = e4ce658633275676b58e62af3136cea2 - -COUNT=7 -L = 128 -KI = f4034fb26dc2a67e4a4f29f2aef7e6ad6769c736 -FixedInputDataByteLen = 60 -FixedInputData = 4f7177c3af002f601a06b16a0b58a9339d2fe66ac76667a8285cb686316a13488ce0d829ee92ee2e0235ccde9a64e6e3d5bd3d48a10c7b7182c06f97 -KO = 91e577d1022378bf3d67bf8b8ae37dc7 - -COUNT=8 -L = 128 -KI = a5091f08d77e44d9995f51bce24e31f8d5d06b40 -FixedInputDataByteLen = 60 -FixedInputData = ed30f76a681697f969ecd23284a930b0e280188fa46bc596049c008b98d38153ff524a5ad7589a4d0034ce6bfe2f118cb754fbd3075c03768d7e328e -KO = bc74e8547387fb9b63f1330c1871f29b - -COUNT=9 -L = 128 -KI = 170a1c34db9e59abcdb8c382c01e9c96b0f5fa2c -FixedInputDataByteLen = 60 -FixedInputData = 42db34158f4b8a5f4a7934c0612c02bc8fe0a8901169d8faf71b58f1d4b4251a68b2a24b96f8b9bee0a8be34e824a34ffed5cb1aac1f1fccd89b2301 -KO = b02a3185ecdece230e6d75a50ad61a91 - -COUNT=10 -L = 512 -KI = eda0134ca5238efece65a5ee02bc356f4fe0d5d4 -FixedInputDataByteLen = 60 -FixedInputData = c8c4f85382b3e3d4acc884fdff98582d0c8c61f69d381b0c0803bef29bd4e142784522386a86ee0f864bffc5ff13eb7cb06a6e324e98eb6d561ecbb3 -KO = 5d791c5b6a337cfb4d3b9cf73dd2afc5ff3fe1737880e54bff2f457750398b55fb4ae1c39a4c86dd72ffd453bbf4dccbeaf9a09b2e5ffe4d41f56a67898484a0 - -COUNT=11 -L = 512 -KI = 6056f0a8e4cf86df698940bbdb803841a6ea7eef -FixedInputDataByteLen = 60 -FixedInputData = e50681b692ddd6a85a3de498b252d0bfc1c0ac50287cf62d4481633c61ad5bf2520102a7148c43acee30804374c3989e7ddf43ada69c194e991dcba6 -KO = dfd0d08db56e084e2b0a079ec27d45848fc24bfa7beb7538bfc93cb45bf7e859b486cae2f302f4b4dd892d33edf0efe7aea10d47b0513cbd9cca80d46fc7ca9e - -COUNT=12 -L = 512 -KI = b696b1589f3e230ba564d8690d24672b00e688e3 -FixedInputDataByteLen = 60 -FixedInputData = 3f587c1bd8a3bd6a66f0affafe07f6eea199d9054d337be4227224d80b07775b4ff3f015436ac52085004250dc45ca6f146e4dc3b805fe85f0561f9d -KO = f887d29216afd2b300f8ccef61665dcfae8fb8416d5eaa1e46da064bdbfc4f72d93fdeb2c8d171b0afd631af650849e37421f63fd25ea43d21bbfd92d7e66585 - -COUNT=13 -L = 512 -KI = 12a9be1b5c1624a4cf422d54c9559bc960c7db3f -FixedInputDataByteLen = 60 -FixedInputData = f0d58e06a5c639bb547ab944557c36769484dd8f6af88adcdd8b6fe1a1d1d59a79bf83f6b2d7d5b650f0ed19a29fda06f21b44f6048cb63c3ad17dbb -KO = 477a19c41693c9ab4627bbe835ca9e28def6d0df752a5093ea565e3822ba62b3b4686693b16ea6d457cd91c3f0700d814f22507edd1e69fae4ca0abadb68082f - -COUNT=14 -L = 512 -KI = 769b40a10503f27e94a4f96c460ad5284f2d3c25 -FixedInputDataByteLen = 60 -FixedInputData = 93b46ca3d2c1888b7e1403da7bfca5bc36b57323aa8ee6fdb65d0a847e436c9ccfa03b309e66a7da309a123b348977a8357552684ddf7c9a7296791b -KO = a0346be5c0176f5211add85808f764b6e7d84aef88bc9e0810d0600a0921c213b72af7f7aead140954c3016736c8e5cfd02738adccf5012d08e0ba782b10b4a6 - -COUNT=15 -L = 512 -KI = 4187d9fe7284bdebcfd824d7dfe96570c8200dd9 -FixedInputDataByteLen = 60 -FixedInputData = af2fbed9c040d0901c26d100203c9cb4ddf437aeed12c4cd57a7f6597d6014b51e6242cdf5c141d8b520ecd5f18eaa8437eacefea98aecb326be9d69 -KO = dd257d27ed913cbc611a58fbadcfe65582ce7b093775daada8b4d393ec799966a3daf030ce3334da5d7169e8829ed59e77e214731e62f8ab95ec2d1e60bac7c6 - -COUNT=16 -L = 512 -KI = b809002828b0b2ac870d40fdabe082eb6cfc5d40 -FixedInputDataByteLen = 60 -FixedInputData = 590225ab3e8c30b498e9b620548a6fd7138c4ea95c2127a5080315acd394b7b5f5cb9166f6fe0211202fa192167836ab5040247db5d39062045dce05 -KO = ff1951862aebfe5bffdf6eb2fb4f956def08be672d15a44c494dcae27bcfbc72f634a1af550db438948f9fb2308fbdafa7068a96755270589849865d5bf33c84 - -COUNT=17 -L = 512 -KI = 73e6088a245b6ec120348b690ed3dd176057e171 -FixedInputDataByteLen = 60 -FixedInputData = 4abd4dbeb586a8c584bb1e86fc0da78c4ddf17fe4c2e0abeca3b411e2a3df268f04bf3fa09d7cab0f49723feefcd53b81a0a277aa7c2bae185c8e5de -KO = 956d41fa216ff4604577aaf4f532771f6012e53d5227ec7124a98e08f781efa130e51bbe754e00de2809900a69357d4c7cc16a5e1b3cbf5fbbd9248251c7dadb - -COUNT=18 -L = 512 -KI = aa3183b3065a06cd7106477bc3b502cb099408e4 -FixedInputDataByteLen = 60 -FixedInputData = ac001935523beb00ef49d02d17e215ec89a5af0107898a165fdd2fb61c5ace8825027f757e4abdc8a5b58993c44a0991df606d4c3eb3e1fb5307b792 -KO = 0131b375d62ffe7cbbd4f9cfd0c52a1b99e1f730a238c6e30f702bde022b8e63d2609f274869527c59fb3405055022803ec31566ed99569e536caa53ac5b0fbb - -COUNT=19 -L = 512 -KI = 2e427d7bb67999700711e3e22bde317341f0a543 -FixedInputDataByteLen = 60 -FixedInputData = ffce63dd1aba48216fa719513ac547a9777938bb704d2a784ec8aebd08679c1079808b385f1de4c16e3e14f1844a41c2c2938abd16a36c0ef49f3425 -KO = 945a65a67323d78b28f61bc40072f3d544729ef5b5000c60c42a4d06edc0a5c69fa81ec003d009c008b1b7b54200d98663a1e9c72385a0dc3edf09901ec024d3 - -COUNT=20 -L = 160 -KI = f3c254629e5ba0fabc2e2d271efabfd0a2f6f655 -FixedInputDataByteLen = 60 -FixedInputData = 3ad2c1b1b079aafe492f62f3ce6af7927dddc24265068eb14aa3237a06982eb839f7a173fb8d171387e1232ed9b5cd9f729c7b2612f6e1ce71706834 -KO = b6cac6554beb6cb0a1b176cee539e1a9afbff1b9 - -COUNT=21 -L = 160 -KI = 81f60e42be1b1c909cbe053b8058fa089a546f8b -FixedInputDataByteLen = 60 -FixedInputData = b60769422eabd01d87efc457802b0a32d865e201def38b40aab82a6d1488fca43f82a5124f861d5b76987dffbeb65085849d9df739e1b943bbd61901 -KO = 55b4d52c3d198d8764114fcfc0abf0f253668ce0 - -COUNT=22 -L = 160 -KI = 868654a63dbdcc9d1ff5062928e6e96829db3e00 -FixedInputDataByteLen = 60 -FixedInputData = 8ecc9b3d0eba5f6782de61631308aa5dffc6fd6eaf53e5563654e03d5be722eeb342de5f7de609c03fb26ad602bccf241ed096c86d32ca39afb7e88a -KO = a5eaea32e3b389cba31c44deebde5f1337ecb2a9 - -COUNT=23 -L = 160 -KI = 6cedebdc349eda762e8251428b1a0e5af900c61b -FixedInputDataByteLen = 60 -FixedInputData = 5295102b5cb818c28b750d43fe7970bc37b4a3a4ac726db8d6ee290865ab2f62db172b0656fed6965c5f42d849b266fc85592fee2eb0990a4948f9d0 -KO = 9da7e37eb0e578f3be76c1467a33583b746b78be - -COUNT=24 -L = 160 -KI = aaec2b2b0388a9ecfd8aca14dbd7b6b9aa5d2233 -FixedInputDataByteLen = 60 -FixedInputData = 4718687b29c4984478b9a614afc07cc2e57b8d5bd3e2afb2009c5f1c3946476c23cedff2e96315cf7f2a79a8c8c17be505c620948573ab98b1dce981 -KO = c06fa332f2033fe89b6ea2136261f38725cdb582 - -COUNT=25 -L = 160 -KI = ed28a1ef1cd7c16c0796d5e09ac834153a7cc9dc -FixedInputDataByteLen = 60 -FixedInputData = fd6a0aca705c2f9948fe466dce7e0e83ca76f837ca5a52d65a4226e4e68ac9604a64a71592be2d6df11bd86d495e5b89011844c168359cf933338813 -KO = 9f11292088252ee0878829903f72a08d7643477b - -COUNT=26 -L = 160 -KI = 6e0272690550287c751895b44926b8e0cf073f73 -FixedInputDataByteLen = 60 -FixedInputData = 9c8d32ec84686b93c15717b5ffc59a6a6e6be8e018bfbf6b0164cc30561700f0b996644696461925e2c65405ec48b5df3f78fbcdc1adb8248393a6c6 -KO = 83d670dd1a9ce86187595c56ba4c9539e0a7135d - -COUNT=27 -L = 160 -KI = 552b8166050b5ed9c62300bb7d5e6375db6240be -FixedInputDataByteLen = 60 -FixedInputData = 16e5506ed8f95f2cff3ed3db0a747d69b145e8a18e82aaab15a342382dad4ce917c941ae7ae289bac4a2d601d1ea026a831728de3c965298a29f57aa -KO = f35b855e0597bd9a2e464bbb5e2ee09a74e0360e - -COUNT=28 -L = 160 -KI = a053e9979df0e4bae0cf0edff24972d9e126a267 -FixedInputDataByteLen = 60 -FixedInputData = d2709d5b5aadc70ea272cbb7e36ed53712bca14499888a9e7572b44823088c783d3839ebc20982e8f36f3bfdbc1522f99fcefb2e1dd2473c6e15852a -KO = f0957014911bbb7778823f5653e4b95fe9cdbf87 - -COUNT=29 -L = 160 -KI = 87a1e6d1f6ed76a06e3f1fcb9a13a5189cb643c2 -FixedInputDataByteLen = 60 -FixedInputData = a7a58c2170b23d79267aed913d96e0e91f3a891c36e41ef4c2b38a70ce5b4c77099425013e055767ae02f7e3bdc6dc041cc7b1666145da4ab65929ba -KO = aaf14a53928e4037c5a818c9d6a58f4aae8d4928 - -COUNT=30 -L = 560 -KI = 0bba838bf73f7ef7bc6de18a57eaa33323407e21 -FixedInputDataByteLen = 60 -FixedInputData = 73d30b794f05764e68317286b9d4093a41c699b7048bf572a197c79292455ed31c1192468ffb2b024f63ffa8ab46f85919952815b096f70b59a4c03d -KO = d79ede40eadecc7317cae00091043afa62836c3c9b2ac00d0d9e69f73db38c7fb60e63e7885294bc08e1e91c5be95c8fab52157791486770b61dd3d045fe8f6a748c83c15f9e - -COUNT=31 -L = 560 -KI = 4ab39e9df80adcf92a2534de760c8957956ba001 -FixedInputDataByteLen = 60 -FixedInputData = b9b8aa990bd0523b7931db371bc9e005256e9d0c728cbd1b518d4fb7cccc53bf857d65652213e8d344faf1fa71199c5b3813fa398112208b7d25ee60 -KO = ea6dd76f3bd400839b34948bf6561ca856d3e905b888e8e8705274f6e2e47ab3b63d04bf5c3b396b1e72572353cb3088b4aaaa07a3aa284327d2ab0c20b946a1816a47bafa8b - -COUNT=32 -L = 560 -KI = 64399a45b6f55e15e6caca2c9ac8891a61195817 -FixedInputDataByteLen = 60 -FixedInputData = b6211d030656bd33dc38d625c7a8784cff9f55680a6e8104da8a07f68b4418028fd48c13bdb1bfcf5029be688375cd9d51d4367b7073dfaf80336933 -KO = 5c2af75154c4225e89a0980f523459c0147a0bfe5a7e287fed641475813c70cf46a722244587d14a8bbb6dcfcdfa3b877fdcb06f1f8afad8d9f24d22e9d72c570cac5270fd79 - -COUNT=33 -L = 560 -KI = 90caa1fe50e8100e8bd437b5163f4f69b5bdeb43 -FixedInputDataByteLen = 60 -FixedInputData = 056037714d456609bbbecb5d696f55a787bba30ff468d0236eed15383ed8c9b57b35090b1b4d64b7359e8a137dcd961150e0400c8f3d54e9a66621c3 -KO = 2f86edb7278fa4f5a5b462536ab6e1dea1b3be88d4b4acdc9a903624160ab52bd79eec9c6a0c986735ee14d8017ed384a3e8e09df31a9def31358aaea22c525f7e4f066a34b5 - -COUNT=34 -L = 560 -KI = a6d4c39ae7eeaba4c0c268d1f0d9fcd41646e48b -FixedInputDataByteLen = 60 -FixedInputData = e11ba08676f23f621d7a324b549958cfeaf55fdf3e3eb10c87a42f232322364b527f86f11539052946d3d82e68d3f11f34899b77bb931490d0ebb10c -KO = 00e80a96dddf92a788f5ce545bb23e27a16df17e12112b25bc335047dff432fe771c0b08f267f91b0835e98092a59f13d1b65e6de498b687a10301d710fad7256fa81b8c7b82 - -COUNT=35 -L = 560 -KI = 35bb76a33571d85851dd8038ee2324fa5e63c8fe -FixedInputDataByteLen = 60 -FixedInputData = bbace2effa4c4cede7b27d1abecce70ec1170f543a73acdd5f03f2c57fb387178bd661e47d401831e82c0ddc6e255fc11be6e737d14755ba29dbbb76 -KO = e0f2a9189abe7ded91db1d34d682fdcd1cdf44c2972d78b03cea47d4e75be00efd302564350da030c6108f9fac2f641b4702ea8a14de3fb0ed9d57e5b44d561551c5c783a643 - -COUNT=36 -L = 560 -KI = 0a1bfa231eda3386ef862436d09488fd4946671c -FixedInputDataByteLen = 60 -FixedInputData = 67ed06b70f5b29f8c78d0c26d675ffff74cfbe902feb818dfc84fb681419a44126ca5043a8fccfb8a136035abce32a158c8abb6253d8f0cacfffff62 -KO = 9f4c4416ec45d342b0c8e2702c55fbbd678f097369da5a2b5d3af23217b6f464612f209980fa078c5dd34b041353060994e9802badfc7aaf71a8bde267a94405aeba7fff251a - -COUNT=37 -L = 560 -KI = a986ae234689a52f6ed2474dd00ae1045186c2a3 -FixedInputDataByteLen = 60 -FixedInputData = 21bc50e23f959211c6126f5ca3f636b54678b4e218d6a42194cad7579e7ba040a65fefcd6e1982f5b0cbd0aaeae6add8e919ede5aaf991e7bb770b7e -KO = a088070a80a1074cbdba2519e953f329fee5dbebd60006d99dd89bde5c36df2724ed9f5f1f92ee60c4413d4e62ddd045aab9c9b2d92419b58fbdc3a828e664484833107b7467 - -COUNT=38 -L = 560 -KI = a09163ef44fc716c64f6d0ae7ce42e1cdb2149a8 -FixedInputDataByteLen = 60 -FixedInputData = 84564e7232e5ee331c1915efdcbd8000b5df2b635a379cd558730eb14f11bd0f30e234ad8aad0977f952c616a82390b0ff2a5c16a6a3409d561a238f -KO = fa270c032cd3ec2492ed739ff48a516c2661b5d4911f371d77958df5b2bd7a902e3e679dba49e8861483de45a694c149c2cfc0f5bed1456c28c8f4da1dbad5881e82a004e2a9 - -COUNT=39 -L = 560 -KI = 766f78d115980529623711fc549bc62808ed971a -FixedInputDataByteLen = 60 -FixedInputData = 1000268104ee06c98043ab4c69b0b09672b28bc4573892c245c73ae8ae2c5cca50520fe94d2234ee49efae23474cd901016abaa2d17de4fc71f7eb71 -KO = 3e864cef735e67c833a9caae4f867832851a8c8d341e82fd2866a807da4bdb0e5f6c14cedc9713bb960d84f25d333fcc8737e3d186d60b50d738af6b43ecff20462179bb5fb0 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 4f7c12d3faf9ff00ef65f7345e35b026a0279fda -FixedInputDataByteLen = 60 -FixedInputData = da8242182157b3842c6d992cb8dd2b60fad5383cdc6877eada7b7c20733d084d1609f2554d763813c2b7babbf30e03f096246f38c112fd33ac235ed1 -KO = ef6485b2c0822beea6b3194c6c0c13a5 - -COUNT=1 -L = 128 -KI = 56762d5a3a4374a1e0b29ce4d87e22571e084ca6 -FixedInputDataByteLen = 60 -FixedInputData = 6d4e7956225d1ba938a2ebf19b086b2962577e12160aa5040467dd69716e82cfe0e4f3b7ad0fdf2f03150062e74f02ce7fb6aa25f476c6c793f9eb8a -KO = ea9afaeb20ea665a3f83cc53ae81e70c - -COUNT=2 -L = 128 -KI = 64c599f32caf4c2e82a23ce2ac75b32a5981ccc2 -FixedInputDataByteLen = 60 -FixedInputData = a808bd9da7762411653d8ea30e78499880db67fa3b4a84c22d84d2da3f28765979a55cb8da95e86f65028231a2cbf25f037428b4b668e50ea0b86155 -KO = 6240e73f23fba57c6f64c692cc0c7cff - -COUNT=3 -L = 128 -KI = b68cf3f55c61b85056719265f5f5fa37ce476cb5 -FixedInputDataByteLen = 60 -FixedInputData = 9784c7301cc2d60464439b55aa46cbbca4f45c308a421f36eb27d6a448763d1ccfb7124c4fbbb2c44cbd3660c6b4afee170ebc61d0ddc550b3fc1564 -KO = 08f2111df3c3bcce435d4d71bdb48842 - -COUNT=4 -L = 128 -KI = 4a3def8a5e4546deb10b9f9f54c287dd2c47b268 -FixedInputDataByteLen = 60 -FixedInputData = 9da51cc90ca4b957266f94cea4e52cea1478b67c2cae26c9c439220c1114023f54d40dcfe2440a63db5f02a659ac02be2e29a73d8c94715ec6f43db4 -KO = 225ba3014bd90adfc37eb51574630bcc - -COUNT=5 -L = 128 -KI = 4f941e92c62103164b524b1f039a95c03e16b463 -FixedInputDataByteLen = 60 -FixedInputData = 7de87a8549a2e2d8f2132838cd93b919a90da5b70b05fe79efd69cd3bc9ac92b50960d5e99ee74b77964e4e45fb8bcb6406524154919dfc3c8ebd96b -KO = 6abb54d352cb3a1553ee40124317ef07 - -COUNT=6 -L = 128 -KI = 112bb3c2fe5dbf9619e4a0d2c2bb1130383d604d -FixedInputDataByteLen = 60 -FixedInputData = 3824df1424383953426fe4d9c8e7cd7e06b54304c5a30493822b1e3a42f07de775b46cdf8dd98d902e07b592ec54f88d90ca1cd7a2dfd14039d92597 -KO = f5faa93540c6e8efa5f76908ad49d1f4 - -COUNT=7 -L = 128 -KI = f20de6e41889ae310f5678a3e1cb5076d64e8f57 -FixedInputDataByteLen = 60 -FixedInputData = d4081298f8dba7e5e4f7c89d7fc65f231d36f03183b60b9577fdc5531723167a7a26642dff02fa15c64621ff338e1718b2dd015415b72e251f39cbc9 -KO = 38e775faadab0720493c076e3e086225 - -COUNT=8 -L = 128 -KI = 85b899b801eb53c64f9fd0862944891763cb9167 -FixedInputDataByteLen = 60 -FixedInputData = 317e42ad808505cc20cfa4f885bc7c6890aae14e4c3f3ecfc46fec10b87930c4a7785791f51f8b58f5578015a676a0296d48f436c56783176820254e -KO = aa1275e01e943c031f462fe77dfa08db - -COUNT=9 -L = 128 -KI = 4c3a4d635e0a3f65255e13b6675e98a7b1cc9d30 -FixedInputDataByteLen = 60 -FixedInputData = e1f2721279fbbbd30c7b2ee2852078a7b6f1dc911b3d18d3d8072fa164ac8e103ea6ece993dd2e22d5c899af65c5beeb8d346505c5eb1d1f009d9f87 -KO = 6e3eb296c7dc9dae0d93d056e85f72ee - -COUNT=10 -L = 512 -KI = 4c50cb941505170b6c199f4c554efa1cc455dc55 -FixedInputDataByteLen = 60 -FixedInputData = 51fdbaca13ab90a38236707693d64f435fc486595023800391009bec487e74bcfd56523614df07ac990c893763b3a21200ae3eb6fb338a5b2e7af2be -KO = f800408410f496f83cd1e7d2ad06ce1873e4da1508ccc676f5679312ba8848b90bb9ba090d902822a157855fa8bf1c83c2f1a76cd1bb24cb605e5953676d3479 - -COUNT=11 -L = 512 -KI = 694650ddd60f20d3e27cf2d7cbe7141ee13a5bd1 -FixedInputDataByteLen = 60 -FixedInputData = b2aeda4bc70645bf6b74f0105a108bba81aa5cc904608ff084dcb9527d4134dbec5d529cd12b76805bd4029546df0ce104b74746cab9e5266d137443 -KO = 0cc44cdf75921741eb84ff31faaa13d7266b6d94b0060fa387020a511955b85920fc9bce1c0655a0dd3d4ae626f167e20e754a2b935fe79bb725b17f8b53f64c - -COUNT=12 -L = 512 -KI = 870c5d1dd818e48dcbfd1705655fc493c2f50437 -FixedInputDataByteLen = 60 -FixedInputData = 4e07e1d0b7f7e9f680ff8a30bbbcab9aa217afc0b265115c1f2bcf418dee1ae670503035df88ae6139fa00bbc8866abb214333fc9181dbb609e021f4 -KO = d3337c3e4a9dc3b476e08a7250e87ce8f67a0bd8a76c5bb6b2a2b34c2c54c1c6e6431faa601746e7c0d4d695830b466982abdd8dd6d7a3f56c611e4e8e59a32f - -COUNT=13 -L = 512 -KI = 5b902e0c376609fbef1ccec69ec83ccc5a66eb00 -FixedInputDataByteLen = 60 -FixedInputData = fee7f99e9ca3da299cf2ead4f405be2bdc57ed19030e14aad399a34e204a8c826d99057fec3a5440fe0fde4e012dd3b7d66031b009377700a62927b1 -KO = 3d3bd1314d3fce3505a7ee7609b0ecac104f6befadbc959f05ba8cf97d0cbf3409e64fec34618ae89476ae5e9fddd535331c5579a693e19000a729a888e0b99a - -COUNT=14 -L = 512 -KI = cdfe7ea627cd6591f2a5956d41c4b0892e01079c -FixedInputDataByteLen = 60 -FixedInputData = 519c27a143c8a393219849a6d974265cfdbe54c2bae091dd10b3491e9ee5910d3edac5db6307f6b7ad31f9c06d5d07f7755b16e2b1db35ff771c2a59 -KO = 4fbf32bbd666f6469adf826ac975309f2bde40937b2f6aba5ff6e295d1efc324cb2293b97007636dec92787a5daa00e48cbbd31d3d7e9a191bf2ecfc106e4b7b - -COUNT=15 -L = 512 -KI = c743554635e2cacbb9412929757fbbcaf89ba14d -FixedInputDataByteLen = 60 -FixedInputData = 16032e46d50039700dc46bb0f45382d1373194fd090374e2c5040d77e5731829a749b27331eb87ca03efcd5976b44974c2f7e1f13cdce670bcd3e626 -KO = bb4e3b4951b5b22946b170782ecd9c69ede740834c06f2c0a2e0759b297c207672a0e9e3ed0b544ee3cb53ac69583d90e66fc4883c53d53dc9a24d80a6aa5d21 - -COUNT=16 -L = 512 -KI = 76ccf3bc6a085565389ec95357d3edc2d3aae45a -FixedInputDataByteLen = 60 -FixedInputData = 6d479bb53812b084645323f0a99299080bc76ab7497dab20d2579ea0c42a42c7e90c790be6533bd8e5bc3a1326bd68c2b6bdc73e9c8abc990938ac73 -KO = 28fd8b32d4f1d3263c9116c6194066eb40b83f15f6a10305af88fdad09de774d4f5c60425b36d17fca1f77d76a7a2f4d0ec39e03dfb15551c782521bd996bad8 - -COUNT=17 -L = 512 -KI = 869e5ef9770c4af3a9323237dbc54a71cf69906d -FixedInputDataByteLen = 60 -FixedInputData = 19f45cff02bb34a25f83e9752479f3d644887a94c88d78a35a8d42031b783b1c437f8726ff1346645228891e862750105e94845b5f508c43fddc4639 -KO = f5d9a4a634554b2500f15cab06472de8c2da46c10d17c7c926134539495603d12eece146b6e70faa136acc9cc3befdcda0f1c5cf496722fa92c9cbd64da23723 - -COUNT=18 -L = 512 -KI = c2ec2a27681c7598e264b79c65598f85d318191e -FixedInputDataByteLen = 60 -FixedInputData = 64c9ccd7c8e6873529d6d89a17a7875f97527c21a6608cc5a5b9d4d37b5596a361ee1977aa0100072ab3319668989cc326913f7b4a62fe511dc781ba -KO = ab064a6f14cde5d0e35dad8c242f76b542efa613a54f9bf0dd85a55fda3934d3a19e4274c4a03d7b5397ccc48e669a76850e97628b3cfb8e3c87a47451c9b174 - -COUNT=19 -L = 512 -KI = 639e8253eadee06e9d29d02144de36458d5b8f76 -FixedInputDataByteLen = 60 -FixedInputData = c46815171e67c7fd02d4b02620647de08fc5877bcb830ce583aae64edd8b324f90d80609c37884607d15f8f765651831b5d114e9ea84abff50697a90 -KO = 7080ffe20cf2de0a12678b3dab619f633dddde72dbc9c44afe2b21d0642869efffe4932000263bbfdeef4e292fd1051ed5fd073b1d592e6f9a42b684976b2596 - -COUNT=20 -L = 160 -KI = 9533d8e4f50ad80418d3dd3669973433d3dd19ad -FixedInputDataByteLen = 60 -FixedInputData = 42a56f4c0834e4314c2ca2185ae89503008d20171046f7773c4033f348912210e51dcf524b1e706c59e17545862d6e99a230f8c3dc7793c38e64f7a6 -KO = aac8e6aba7afd43853c959c868a80e78262c8291 - -COUNT=21 -L = 160 -KI = 902c81edfd8412f41f707c9e514b8adc8f11237d -FixedInputDataByteLen = 60 -FixedInputData = 12ec32f374c5487a11d08643d08f79ca391a8047b9b9ae2ac7d1faf1a6fb002ccd62aa6e6d7e04d7ec6f6f84606494279879fb5aa9e5c9b3b13cd455 -KO = 344c7e09a2341c5b15b5956c22f80a604ac03012 - -COUNT=22 -L = 160 -KI = 749e333d884d330b0be6d0fba5044fca32fcd691 -FixedInputDataByteLen = 60 -FixedInputData = fe1a46e9c847047263951b06356cf1fd43a771c41c590dfbd57b2e4faa0185570e227c0407cebdd4889ee91d7af2eada93706b417fd75653fd90d556 -KO = 7121e77792bcecc565245398cf8ec50be6ad046f - -COUNT=23 -L = 160 -KI = c213f61d18b5059234c810043318b544c2d0c800 -FixedInputDataByteLen = 60 -FixedInputData = 97a3b70482f7fdbbff3d96e1c3223c05e232237165676a515c3d5c67aad55ca93f08ca3cc241b5b4b4ae869085c253dbfdab59b4d377e6d008b61bc0 -KO = 261fa607a2e25ea9a7363aec4cacb6bd9b3df5c5 - -COUNT=24 -L = 160 -KI = e5bfb6a71dc8925380c35705103c47b32c0b3afd -FixedInputDataByteLen = 60 -FixedInputData = 10350dbc13f2a7f0abc8400ab6f9fb2fab5211a63f6a15e45c69a7547acf9021016c173e6cfd0b83ad8b5afbc26b6ca8ba0de489691e4a2706798cfb -KO = 00666e18aba83848ead3f6fd0dd1e3144175b959 - -COUNT=25 -L = 160 -KI = e62a7de524eb59d64cd062b06b07d4bf9f8c2701 -FixedInputDataByteLen = 60 -FixedInputData = a535eddf8335b84a9ddad8a72dbea061563ff441ae4e16c6efc41370d76c6e42911afbc054324a91b9af74270e78a95ea78c67dd4aafa39f7915b877 -KO = eebdceb8d0623cb143b5d4b1eb7338395e8e0a26 - -COUNT=26 -L = 160 -KI = d7c9ccceb5d364b628bb4b2d7c1e7fdef39aed49 -FixedInputDataByteLen = 60 -FixedInputData = 1fd52ceed825c858bff705000fe36b4e3715fd1b50ec99903a8325ee1ebb3d501d898e452ce78cc79a819bde3c2da88a98a6b39bf4eb6defe2173bc6 -KO = 1e760a1f8de092aebda955eecb5156470cdebc0f - -COUNT=27 -L = 160 -KI = d16684c78b88a1d2212206690b338fd0fdb5a898 -FixedInputDataByteLen = 60 -FixedInputData = 5258ec4c4490d1b03631c3fa8535bdff546c88cc301499c54d69acfa83d15081b461636bae7815b53f58dc6504115def4e8c9aef70d421aafe15310e -KO = f92d30257d566575d93538a6b309cd0b04f1ba57 - -COUNT=28 -L = 160 -KI = b3d3e1f16e4edd8b0be4f69fd1311499edb1bb8b -FixedInputDataByteLen = 60 -FixedInputData = 0570d3f04749592ad52d3f3da104d9bce59bbcd813da63a46aae8898e471e0220716824070b223bd7deb76b722ebf89415a4c768c060a215d4a13fbf -KO = a57f7fe8814159e1362e9a651833183c1728534f - -COUNT=29 -L = 160 -KI = 85ba90ad374f6af7787772bea72d0d4e130baec1 -FixedInputDataByteLen = 60 -FixedInputData = 9e0a3bdc303d81e7cf00bb5812791a4f935618669fbeb369ac02c1ee8a15f03aceebe75dee8cc4a1ee76afffeba676c91ad1d7782138f39c0787c17b -KO = 4a04544a673fd5481c682e8edd0eb82d175fd3ba - -COUNT=30 -L = 560 -KI = e740902bff4141f9d8525ec64f42518253b6bc47 -FixedInputDataByteLen = 60 -FixedInputData = a9c7fcc4bb2d79f9c293194dede746935b1dcd6866ff756704c59807eedf67722ffe009c98038aa37bdf19a3afbe4f5171e954351a300cd882c44908 -KO = 9292655e74e2ff8224bbbf63029fc4c9cd0e25107b7a49c5508495a80346a50f124494b2c04b82cf2112ea1928ff3570d0945489de222ff5f039269bd1ea21693a9277990a3c - -COUNT=31 -L = 560 -KI = efcc7c9a5c1f91455441124ddbbd4d120ab68322 -FixedInputDataByteLen = 60 -FixedInputData = 593a52f9da3f8dca0161325cb87124680940e3aa1a6a04b7828b587792dd05b45e6a2eeec4c5d3d9b5baf58e5f4258200ceeb5a11d85773356d96d8d -KO = b13be8e4710dda3bde9e9ac5dd7c647c82b5b1ffa0b60498bb4e7db606464f124ad6b3dcde16ac2517c3d086a3a72c73a6d5557b128fb6409c91132f1c567f6b8a3770645145 - -COUNT=32 -L = 560 -KI = 751102d1cf742eaed44ceb7838e13b9c3347a5ef -FixedInputDataByteLen = 60 -FixedInputData = 1925edf2e50316f1625f0331710daeaeb8da416b0eb635f2259d35d541b89c8f626a8ffa1782b09558316119a6ad379bc8dcd53b88b22f6d86497a07 -KO = f2c2cf2d14d06244c865fa0f270c1c4a9c08bd3c1c7c3feb2467255d0089b1bc244af47bd3dbdf3760aaec0ff0a19113d37055db08d50acf88026c5b368b2ee30428544d051f - -COUNT=33 -L = 560 -KI = 999c03692dd1b7b8a0bca8aaab4b7456b758b664 -FixedInputDataByteLen = 60 -FixedInputData = 60b4d17b223f29837fb6cbf2260d48de75348b420941378ebb636be08311fbf46407c56cde5013a2e88f1eb1b31c4c88cc389996f9b194b5a1f7d1cf -KO = 211200f59d9d01e2db0861b205a044f6dc9673dca00319cccd63a1d8723e830c3c85ed5a34122477957ae33533e0a9e7476ced97dcf90cda0a51c27b90a7d9ffa9f5320f8bfc - -COUNT=34 -L = 560 -KI = d8996cfad206aa1191b5730a8147cfad2d3c2bf7 -FixedInputDataByteLen = 60 -FixedInputData = c4a2eb6a44563790704ffe10ba9707262118dcb8689a9833230d2a1cf8546940fb33226ea6d3b52550a843221201f149cd431fa08c46d8025143ec06 -KO = ef3ce1e562b987cb326b6aaa5d4b95ed24f50557937c30d41141a64627e139dafd75237b92e0d60d8353361228c82a13a709ad7d0a638108a7aaab3415a00d115fcf0f3e6532 - -COUNT=35 -L = 560 -KI = 29af73d5b7f97c4d4c9db08f5473b2b4f57edcd5 -FixedInputDataByteLen = 60 -FixedInputData = a4a4606e2a395db0c87d4092f075c273ec711c834ac10cd9d37b4cd5beb1b143a855888ab2490334befa5eb685e35e9940eb058f08d9e3f4420b30e3 -KO = 5fa88a2c2c21f2583275d979cb4efc6120e5eb6898376d49ff0f5a887766e0ffd4f267f6c02e0f8d97227e479fc0d91a8c0e645c82d266aa9bae4a73c8b11f313daf10ddef1e - -COUNT=36 -L = 560 -KI = 96fa3954d8d5bdb7c72c5cf251df6ecac4c54535 -FixedInputDataByteLen = 60 -FixedInputData = 5265fcb944827e3eaf762d8d995ff1bbd1d5d5836ab48a4504ef2c1f2ce458269fc0db9f47cc9f3845c03c73bd56d04a38ff3881dfc4abdf9dce50bc -KO = 279d9c1968a8be2933463eb90bbe613be57fb9a89bfa2fa12d87038a8131cf8fa93da99f09226e570725ec99c1fe22af2d21b0f300f14d98892b0fd30d71e8cef993553f2145 - -COUNT=37 -L = 560 -KI = 9f5c278e366e6d30f6e6dc55ccecae0e2a752f87 -FixedInputDataByteLen = 60 -FixedInputData = 83ad10fc189c77bfa6e3f258363ad4580112049f8d2d29db787e890ea7cf7c7176450fd86f019b7436620489f5634f93d95c78a8a5de33507fc49f16 -KO = e3fb9a350a0febbb84e53ba8276cd6ade0885943513db44253cd6c62379ad7127d241f28fd1ff94a996dda3e0536e29ec7c7571027c051df51d5fa83cbfda2479b47bf23f53a - -COUNT=38 -L = 560 -KI = e933eec5cecab605bbf818778ddfd096a958b4b7 -FixedInputDataByteLen = 60 -FixedInputData = 67eb20b4e9a24dc86de0016b435c49140ad08b4c66d9e0c5a77505a8fdee01162fa5983ed73a82342ef9a818ef3f085f5b44739f31f5189fe182f1fd -KO = de02d2a3f25692ac198ea021f742bf6daf2983af2657a37c8e604bf7e38691f1f313d8ee8c7e8a5662dc081c092468b6d6df7d981cffe994ef5b62c7c8dd5ec0a82a0575b068 - -COUNT=39 -L = 560 -KI = a3f94fdb830a842965d1c07d309bdd828f455e65 -FixedInputDataByteLen = 60 -FixedInputData = 26d1d04037254a3ca059c3c2fb082fccc03128cbf7e89fd7d98ea6d4a1bbf8aaa9960669f947bfd43dc44c4482705e8ba592f11fd01acef6190a0ba4 -KO = 4f6103f783886f614d166c99f3fe8bace78f8922fd4deb4f3105a2784a06e68dd2d942b5e68e56570413b42f442535120f342526090f8c54271c078c4c21a9bf5ae54eb94327 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = c2876bdec3aec4718d0acef50a612a9535bcdf77 -FixedInputDataByteLen = 60 -FixedInputData = 5f01dd57e2bed8c82276c58848f3e36212cafcfeb4fa8ef133b60e9b3bd0e64cf8818d6adfcdda56a338d22f4eb3ad51c3fc48e71cae0f9502114e5a -KO = f2ab76fd5e19153a4a61c74da06c6473 - -COUNT=1 -L = 128 -KI = c646f7e6bc92c7895bc81080893654e82e7d898b -FixedInputDataByteLen = 60 -FixedInputData = 34c81c209ceeb3a42d47512bc282a1174908b67c17c72c007d8429c7a4e1bd0ce8fe18ab2ccf9b1279058a49756b08d6243ee70b0e7da1292529ac72 -KO = b232f85e8359653ef2908b44e9998742 - -COUNT=2 -L = 128 -KI = 72ddb6f292984f6ad94e792cf28d2dfd66043006 -FixedInputDataByteLen = 60 -FixedInputData = bf477c09c8e26dcdc6dc7348adffa0961f36e027b3b79a3e60f2dad4488ffe9a9cb8eb4ebb957631c7309cc237527b233b06791431a43f8c2b294906 -KO = 17f7d4daefefa4a1fb7bc887e9562fd2 - -COUNT=3 -L = 128 -KI = 9b08910592fd5eb8c3760965a0f119c6bbb03b0e -FixedInputDataByteLen = 60 -FixedInputData = e6bebe18dee89fac2cbde37586ba7ecc9cf4baf62aac606ec1aa57ae2d1ce7c4a29b330ae01eb4495b7c305d043480ea690c795e308c303b3db57397 -KO = ef6f9d5a02284290825fe5d225e41333 - -COUNT=4 -L = 128 -KI = defab9c9353bea86812fd6f388c5328901a90e67 -FixedInputDataByteLen = 60 -FixedInputData = 451f209198e4fdd1178b171789472fad6c201b7d2fe40065d256d2e13966c53798aceb58b9b3a96ab974959b83c01d72c6b7f2773146bbbb39da0018 -KO = 4d55f8ece7f404101c94b5ff82325a52 - -COUNT=5 -L = 128 -KI = cf83c2228fa2e51fd6838167a190ec00708e3c27 -FixedInputDataByteLen = 60 -FixedInputData = f4c684f25abaa9c8568c6ce37b4be282b0507df1c3c7898e2e969ffc91048db6e5f33374cd8b1759aa27b5947fcc60ac65719f56ee71f819f2452515 -KO = c0a452e6531d10ef8a5b8404d1e2d1cf - -COUNT=6 -L = 128 -KI = 35a00aad3d44ba361e8e614e61a44c52ebf73ebd -FixedInputDataByteLen = 60 -FixedInputData = c2152f84a478b84b0471de530be95a47fdeaa3ba3710fa2c3160844b67619ecc0339ffa182633d7eb09944e3389b3a87fcf25f9fd95a9dc1d9521e05 -KO = cb7a522f137fdcbe6ec342b18600af09 - -COUNT=7 -L = 128 -KI = dbd34a05e5b8a9835228c20d43b4bb458aa327bd -FixedInputDataByteLen = 60 -FixedInputData = 65a4bc7040ab79c57c63223fe507e8114c15d8f8f00a633587f3376deaf122d9ec865818b0b77801e8fc57d9aa09ed249748f78d38e04fac08789cad -KO = b526671c5cfe4c2b6353c6386264b9c7 - -COUNT=8 -L = 128 -KI = 3ad7c6c276ae54ba2b85ae4d8700b41b747811b3 -FixedInputDataByteLen = 60 -FixedInputData = efb211624e563759243d33a741b5052484ac1f29dad552f727805016ff6c9cadc3248a6d561162ba2df5969f6b5cc03c9b925f0ad38cf08f144b4152 -KO = 370196f9822a0a9670fcc3e93e9f3851 - -COUNT=9 -L = 128 -KI = 349f0661435579d3cdd03e59f8c3fae6ad2fed66 -FixedInputDataByteLen = 60 -FixedInputData = b0927d1ae8bec2efc1b68397705a1e6c010ae3ea92758cf6970782751d14f5d0c53ed46fe0d8a8bf30c048b79aaf506de78a006abe595ad0b906ab99 -KO = 25c0731982dc8dda2e7c3f8d6e8c1ce3 - -COUNT=10 -L = 512 -KI = 8e41ac31de4874d485bcb1ff5a69af3289c101dd -FixedInputDataByteLen = 60 -FixedInputData = d05e3d45c8f1c5d88cd9ca9d1c13ee9b27cbe87198c9969650f82cdee42043ac7107752f10d723d8d8ef07074c03ed3b1ad2bc3ef4617b4594adafa0 -KO = e0f9ebb48557b99adb2eed9d01a111c4dbd5987bfb392e7960c698e6fc8cbf09989a88ab4ed5b404442855873c8e30250a01876d2c6a6123ce0c0a3665af6d78 - -COUNT=11 -L = 512 -KI = 3cfe42004b36688a1fe4389ecaa6fd8f919542d6 -FixedInputDataByteLen = 60 -FixedInputData = b0bfe650bcfc0415134f213a2c3065342369ec9f00cce4a6ba7e7f86c27360bd81a6b1cc7756af3d1f0e3293e3a335422aa6a4bbb9625f8ed1e1074b -KO = 5bc590ddd37b34f638ed28bc2bfc3777358e3279303fb0aa4a66b48ca0992d92fcb988a52beab35ed96c1e8947ecc5797ad7553c923db37fbd7699d5484756cf - -COUNT=12 -L = 512 -KI = 9fe3bd076f088764f65b50785420993374607d95 -FixedInputDataByteLen = 60 -FixedInputData = ebc46cef8e84d6e24ee4826e02380bad679309458f84130edbe30bec024af128ce1ba6bf79fdc2490e57c91b757bd8b5ea2e1ab37e43af773f9d6d53 -KO = 65bbb74e4c2d95b8d7a76de0504f5e5182717bde06b129d51cab42a86bb4120852ee26343510744c4a4fd30bbb6079edc2a86695824e7e84966a2342ce973090 - -COUNT=13 -L = 512 -KI = a02e1ea558cfa08e9eca624501aa18dd51a6b2a3 -FixedInputDataByteLen = 60 -FixedInputData = e2416bdd36880a469814f1890739b0ee14836bcdaf70c35234a7c178af4ee9ec0fb72865469e8f8a9466283ef1d7e661510c6d1593aa051045ac49e5 -KO = 1ff1666a9d6e1d2ae36816153437dfe4e778a8e51a8ed1a6442fc646232a251fe3a5995a242d3a6ea9357a8a7557fbdde24d365503ff1b4d7121defae85cd3cc - -COUNT=14 -L = 512 -KI = 1f656dc38fc0aa5fc7128c94f56eea77538a20bb -FixedInputDataByteLen = 60 -FixedInputData = ab6272d7b67cebe42abc6f6fc512885ad1c894e2c5edf4887313dd8ab5662c1786f4a9c456445690afcde6784854480e15651e4d41e63e7cd057bd09 -KO = f3fd05596c4f2aed72a758748537953184f7174c1a31d7874c495a9be24765322e71b7a03474ba8f0affe50a9a4130b1500cc018e7873c3cd292b3ce94f760e0 - -COUNT=15 -L = 512 -KI = e1fbd7675bf2b04796bc727dfb9e1b89f32109f2 -FixedInputDataByteLen = 60 -FixedInputData = 3524dc7d2fbefac740c7fb7e75aba6921806f3627afda7e2baf6012df52164a8e097f2cc3d915f9d2303c0412cc52083d6df3e9121712fb898f059ed -KO = c758cd25cd94a5a097636622b025ab2547050a8ba9bd8aae37856e0ffbc91d9b5b11a04f2fc0a112e5815076add93ecd6c716a9492a335d74d00a8856ec9e7df - -COUNT=16 -L = 512 -KI = 48ed558aad4fa6178ae3592c24303cd34182d793 -FixedInputDataByteLen = 60 -FixedInputData = 9c7e2f29342287d3b092e600334d44309763dd974d67e1a0e59463c3917523386cd7f6b3a7381347d970c69871fd06a1b0bd8f9adfb446bb25b1b8f1 -KO = 1b7b872f70d47ee6c8480229a320a17191397c0ea26f717c70fee730dc9f6fa8b284793e499020b650d099a975a0e400db7f00bf75f1f58eae4fff8b34295ab2 - -COUNT=17 -L = 512 -KI = aa66be13ca5d59c6ac75814a88aeff57d62775a1 -FixedInputDataByteLen = 60 -FixedInputData = 6d9c06ef949e90fee6c4f814fd818c60e8d29a65184af58e13dd9ddf2665794273c06a7fd9c400808ee5a48a834ca50a8be680c85508bde92830ff7f -KO = 6d5543ceea6ddc4fd112fe91a2b2ae9131abd8900111e218ac4890424589b2dc70eeeb34d849e12b2907f05201b8ca66d39224b99d5c9af08ab54228a8d137e0 - -COUNT=18 -L = 512 -KI = d010f348fdbbf3e8cd13a9c49c2cad54d120963b -FixedInputDataByteLen = 60 -FixedInputData = d588e2856105091bfdbf4e2efef87612b7c53f7ca58850c761093a1f285fcdc0f264f732d23d8747215e022f8cff9fe5e01a4c7347efe49992b10733 -KO = 11e1dea85c546767297403d6238013db801a60ba8e67777fb7f83319c5a6284cc8cbea646c184ff82f443dc321f8b4df3ff1096bf8eddb33c95cea2b413f4efc - -COUNT=19 -L = 512 -KI = a46ad5da6b76b0d98273ccf3fad8b64449673a3f -FixedInputDataByteLen = 60 -FixedInputData = 28e36a353d12f42b5e2be122b6d45c5e7eb789621289b19c1945b0ef16d2687d8eb13309e607322f81006c3bb6141622b08a11d63eb94436ea6d5aa6 -KO = 6e7c73008f0a315bf54c8826b9806e2ff71aef9a2af971ad453444f92216de93fb5647e78f019b81aeb9d4aaf38298d9aef164b3a27574e448bc0425b2e49d60 - -COUNT=20 -L = 160 -KI = 823acb26c44f368d4556b5d120a89dd81d47d6e3 -FixedInputDataByteLen = 60 -FixedInputData = ed9d16b3e2aefe0d7c905383eeefc0dd23526c78703b1d222d2d8385cb82ca7d3932c387fc5ce8f26a810951915ad5e6874f87dde0d1785cb3ec551a -KO = 62b3a58cdd4c89038789b308c55bf5b6dea5c530 - -COUNT=21 -L = 160 -KI = e1755336117535eed4d0a70461de57186814ae26 -FixedInputDataByteLen = 60 -FixedInputData = 4dab050c2551f415703a00d03d1aac503de55e5a47ef5e46e14d8df1c3ad6787dff14c786e7e392168469fc164b99c2ad064d41b44b955b930829359 -KO = 8fe3b06c49b51bc72da1e37c8e7f5d54a6b7bdcf - -COUNT=22 -L = 160 -KI = 4343017b98b10f352b477ed53b568a289bb83a20 -FixedInputDataByteLen = 60 -FixedInputData = a9f3c15e2a8dffef33d5f96a8d4989b7d685fd2a5033f3896d3cee2d16005195a8f9141508c25233f127c693d519fd9a70f756277e2d810833968f46 -KO = e1ea1d3441f7b2535e182eca32c647f2605bb2d4 - -COUNT=23 -L = 160 -KI = 15182216872e3ae714db370240bf85a695fe399c -FixedInputDataByteLen = 60 -FixedInputData = b786054d5f925ea2bab9b7fc7284169d106bef4657cdf7d62838257ce0c8ddcd3428a5fad0691813f865f23363443166425401287b9ea566cd7e0b4d -KO = dfec9b57f594ee05c1977ec0b4e12668e2ea83e1 - -COUNT=24 -L = 160 -KI = 1914bb6db63c172c99164eec1856945f677b47c9 -FixedInputDataByteLen = 60 -FixedInputData = dca0f5e3660d1b7121357fd46db5302108e452be2bdcd666618fea1664acdaacfb2f412267452f749c4c7344c9d8b7f3862bdce448ae1634e040df54 -KO = 3629992f6fc8f1d62957037fdf85235ef82deaf5 - -COUNT=25 -L = 160 -KI = 8c0464133803ab3cf3c1438b61b4b73860babd3f -FixedInputDataByteLen = 60 -FixedInputData = 64535dfc054f1b1184f4e1fcf230b4c5b016e80a6362cedfb5fac441c2671fa1ca59aa0c296064505793398627f8c7039a169177d7fdae517c656ecf -KO = 426f72adfc56444272780a36656424354e5308fa - -COUNT=26 -L = 160 -KI = 1c1b3bee046b636c4871c3ed30f22f6dba0343db -FixedInputDataByteLen = 60 -FixedInputData = b01b094d0334b65925f05ff329a79f34621c6505a124d94f35a9e71b1da8589b6723f3f9bba13331dd685c03b1953f4735fc877096ffde4ce1c4f8c7 -KO = ff2f90b9e88644ea13ed8e0400e6ef1083749f78 - -COUNT=27 -L = 160 -KI = 30de09eadb47437948563877778b3d2d0befdc10 -FixedInputDataByteLen = 60 -FixedInputData = bc07c10b562c73766061ba876139776fc7203d402267472c4804206ddd6f08b863d42552651dceecfd93f3ed29e9c85ea058ff1fa700e3f47bb473c2 -KO = 0ecd3308159064aad10c49b786df17f39c8c4372 - -COUNT=28 -L = 160 -KI = b43d9f0540d99302cc8559e8c84eacf1daa6cb85 -FixedInputDataByteLen = 60 -FixedInputData = db22de1dda594e13d508f6570adc80999e2b4b14813a07befabf08426b51a4fff2b2bcc8260914760441f1b45612e0f91d86e6b44fea6e3a0f2ef6ec -KO = 1b4e2f7351346feb69cc9e305933e1bfa5d40581 - -COUNT=29 -L = 160 -KI = 804fc632ca21de55e8bf45baba08b8c4bf732dd1 -FixedInputDataByteLen = 60 -FixedInputData = 502918fdc709947a474a13a20dc2fc3db77595ed1c5a74389a8caec66ba738d92e62993e45a79998ada352feb1f274c63a0631dd02aac455190b4c8b -KO = 4a6b18a2699ff3c0f5d23ac4adc91891973cdc0f - -COUNT=30 -L = 560 -KI = 3d1967a31385ef5953515f44d10e4f9280afa4b5 -FixedInputDataByteLen = 60 -FixedInputData = f20dbf85e72557e9f05d2792b2dacf2c2300a6cbb5ff31a330a28c946a016fb6911b2d3e1e3c79d2f66c0391f300b3c5c805c2999fdf711bff65063e -KO = cbd3daec689043d8141ad7fca47bd77199a6d1ed1695a4b10b46c5999a33272da85fc6fa6519db069e2dd863a9fbfd01ba6d3c7fc6c7e09c1ccf960f833302ca621e0dfad11e - -COUNT=31 -L = 560 -KI = ecf67e1fb08f1fcb26b87dff82a14fb9514c932a -FixedInputDataByteLen = 60 -FixedInputData = 22d792d5aa360a033b57d8bbec236d14eaea8aa5913b4fa9d831cfa216ffbb31bc3060b1c73f1a12339d88ec3f27b9fac161402c54192956290e9f7b -KO = 2d9d1560559df2139532d4dc254e757ba0f2ca94587a31ab7f2e6b83590b79fea9bdab979a6370b8d983d63585f3654a0803f1e9413b775175dd632fb3520b861a26d81e3230 - -COUNT=32 -L = 560 -KI = 81a9f0d97099736c7a26c3765d390f6577309512 -FixedInputDataByteLen = 60 -FixedInputData = 1fee7081ecaeb539b26f15f19d05c7786a20fdc40657455898a6498ad11f4b2d56ec4ff59aa4d8a8a7c31ac2e5c8a1c8f206231a75576b27ecd650e8 -KO = 03dee0865b51281531684c201d9d5a2c8ce0f08dcdb722f6e262928705a777b4a63e025f1784f74c05754ad4af8e7d54a5b37325004367bc6f7da4adc1f950441bcb3a39cba7 - -COUNT=33 -L = 560 -KI = 8581be9131b98c0467f0f8d07e088a7b8c538cb8 -FixedInputDataByteLen = 60 -FixedInputData = d1b2dc858bcd2ae7f5d378ac20fa0a53bc648ffbf3103609ebf541d435a48270fb64c3fe287dfec197acf1c8273d4cb92151484b6c1f4909827ea0a4 -KO = 9783dc76b130454e66ad861e964db5f0f364aa1ffbd34cee23c3ecd023d893c73c5f0e680e48150b10596bf3313e864934fca419b595127e68e10440bf07f8cf5aeb4fbe7ab3 - -COUNT=34 -L = 560 -KI = d70745310a9bfae870dfbe1eb404019e29109176 -FixedInputDataByteLen = 60 -FixedInputData = 7296d6bccbc14a47ad1b36c9048776cf10942c9e3ccc5be1c53d64df1e9630b1f3900d8912db09a3f3969a6a4911e807e86158fa7548c663d5849edc -KO = c6be13a6908b757ed9849150341d3614d475bd2538e2407526dc8cc5df22c2b96c15575edc698277031e9d6bd1965936e2cf292dab296ab6a4e32d286595c08a327d89063611 - -COUNT=35 -L = 560 -KI = 0dc5087505a46ed086eb32826044196eabb1078a -FixedInputDataByteLen = 60 -FixedInputData = 4e5126455d6c0be2e0a2520cd86682eddf16109a62ca4df35241f433b7aa9c9d783b0dcee9ef790bebafbc3796f980c808c6d3ae72cd2ff57f09f7dc -KO = 1bfc7227530a2c897cccfc2e6d0e53017af7d371eba0bec5fb005837607463784176865565e413e366150e53232c6113e13e8ffccfc8dae6d3676250f3a1e3154dde2f0c4ce2 - -COUNT=36 -L = 560 -KI = 6fdedb25b5d165d9c7a338a1d3b3ce9ab74b38f0 -FixedInputDataByteLen = 60 -FixedInputData = f9c170259e76d7d57c8d32a00142b5a5203732233f4a3fe5fc6eea3856fc002889a715ffabfb28ea927b5c6d3f864226abac7a66989c940e851b9d1f -KO = b5e7d9d8e5a489b959a88b847667c0b56ae87808d5dacc1c0fae7b60378250dc84257ab4b0d8df16616990445192619b52cf8a562bf27b945f4686f94763a096fc5dd7dd20b9 - -COUNT=37 -L = 560 -KI = 224dfefb54fc30c55993fc4a9e44c09da17b0746 -FixedInputDataByteLen = 60 -FixedInputData = 654d3ec8bd145d73fa8c49e5fc436ebaddd2b21b40f03141b5e95c13112b27da3781a571fc6e7b9e852c4fcfee4e8438f4649292f6ca8b501db51eaf -KO = 96f8b45d75f26cab1d0862c3729f982f9bb3db2100f2feec2577c632333940a6136b1ed713a9fc079e0328c568ab1f09ed1a6d3e0315399b72e380e725294ea2159caf035924 - -COUNT=38 -L = 560 -KI = 703b76ad1643fd57779e68bca117fce768fd4fe5 -FixedInputDataByteLen = 60 -FixedInputData = 7b53926eae6e32d519107f57840c7da3033e3a572eea285a92d8d89aedf5c9b606dd0b5608674d2844d6feec160ebdd3d2ef9a32a4a2446ecb364d97 -KO = 7c59dd8464c74f8b06e37e098e913e900c4a7482782df5b58d839b371fbbe7a56bded9fdfd8344c75fd234c1ecaab7da068d2a05ef896df909b02165ae3fd09faaf7bdc7b47d - -COUNT=39 -L = 560 -KI = a8a601ed6bea462fad0d033522906d5bd03b1086 -FixedInputDataByteLen = 60 -FixedInputData = 7fd12d7ad3a42fcfcce06ff1220f74e7391cc50550f02f1ade61729be257c056afde4f21ed84c1de9aaae8e5487162a3a372332c128f5e3eef00fd67 -KO = 2e66e7b335baf4ca47b4b75cae0063276ecb0432d2736500a1e01a346fa4e9acb4a2ffc35b4090b2a4df09699de8a34feec58b1280802a15ebcf34a0a3671aac901ee48d7ea3 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = c1eb6caa44c1e8d48142726f0130cdc466802ac8 -FixedInputDataByteLen = 60 -FixedInputData = 4886f41234b0880a484259d6b9d5241f3ac5de13b93f5c2e93d56309bdc2376596c2eb0178689f195ef609d9ed538ca795756208b58c5774f0f97516 -KO = e6db5de6ac1a6cf578be845ecb8463b4 - -COUNT=1 -L = 128 -KI = c0db06efdfbabcf476244bab0ab4b9057b744b04 -FixedInputDataByteLen = 60 -FixedInputData = 153cf92e8f747c00c2060f9390ff0ffccfa93ee1d2c3503dbc232a3bf00242c146dcf94949cab8f762c271b1e284721bacaa7c3848d7ddcd5f1d97c3 -KO = 0be6f42b48a11db38b8adc04dc08904a - -COUNT=2 -L = 128 -KI = eca793b6e9b7089b596d65e39d1893fb589d615d -FixedInputDataByteLen = 60 -FixedInputData = eb3b27984c077620a0a185a01d151b4039614fea4ff93532c540e0d57378a72e416d90a624dcafb47afe59b39a4074858733760f90bacfcd0d737fb7 -KO = 8223a67160aa619f697b3ffc7ec6bd21 - -COUNT=3 -L = 128 -KI = 5e35611784e38fb09474658024c7b5c295c027d3 -FixedInputDataByteLen = 60 -FixedInputData = a476daa5c8f6bddfd78357dc2e14ab292c418ab63495822b65148f369c1a121bc0c1fa946620e5d5aa0b7006b666652de4992314f7cc3e3cb33a5121 -KO = c7a886a2f9ad8f758c5e9eb8713f62e2 - -COUNT=4 -L = 128 -KI = 645395848959c38e6fa99994639fd43f8d9af143 -FixedInputDataByteLen = 60 -FixedInputData = cf16695fd9ce522be396d24a420d54bc92d0e74eaa06e6b67afc80f8c4e3a351429e3a3662b5e696bf675bd9d7d9010c26397e7ce34a6e4bcc3cda9f -KO = 635194fe76448bdbe160e777b6d11268 - -COUNT=5 -L = 128 -KI = 9e8bdeeade56930f6c5ab5ba0a0cb16fe50860a4 -FixedInputDataByteLen = 60 -FixedInputData = 04a9ab1a77073914b7f8e971f26fb2dcaa8389ebdf9623377e557cf77e915a1bf9f936c5df5af78606fc9366f2e426b7b83b2fda6912849f0e9f748a -KO = 46f536044cf70abb64493b4fac844a1f - -COUNT=6 -L = 128 -KI = f996d4bc46b4f6a0e1694db77ef8a94c33c99725 -FixedInputDataByteLen = 60 -FixedInputData = bf72d17a16b7b377b990a72a4369f8ce1c516981797fa0b7d1669c8c1bb702a7a1f44a5a67feb47def7f8cf39512df49120862a1097b8b5dc94498a2 -KO = 7411d4544dffd39d56f55f70b3b8294d - -COUNT=7 -L = 128 -KI = 22e7dd0f66d4e2c53034bdbc5e662fe5c213d4b2 -FixedInputDataByteLen = 60 -FixedInputData = 816c9876525751d45eab15d226e4f917b195dde526963e53fe391bd24179be8f4f7eeb5406b0ac755300fa8b2a9195cec37915488ed32ce0303687e1 -KO = 973bbc4aebb078d57769eaca39fe5be5 - -COUNT=8 -L = 128 -KI = 5c08fffcb7da230997369222d3e96c1960458af8 -FixedInputDataByteLen = 60 -FixedInputData = 218b9502f82b32f8a68d6e17aa02713b0f1f49566f466ae8d51a040acd4de144f22392eb7e6ff8f4fce77796a56864b7ed5122adda6e558106ee17ff -KO = 8862d6d0c06730b9eed1e2faae83b1d1 - -COUNT=9 -L = 128 -KI = ffa5ade327a831c3eb14d075fbb5e9731673173d -FixedInputDataByteLen = 60 -FixedInputData = 4977d4a01b025da27dee88eff17ab5dbba08601317d89fd079b17ad8bec7d405c9527c56e5a7bd3ae2db4534a2538c67e44d15b0258ef861e1ad2ed1 -KO = d639907a4d504c97298b91f5fbb9b111 - -COUNT=10 -L = 512 -KI = 915d15c69adb4a8b6f79f3072653081b81f8d3d3 -FixedInputDataByteLen = 60 -FixedInputData = f35d58dcfba26326551a986c86020e160b0701d0dcdd51bd3e4f8cc0c9c36f7901360dcecd0dcd6ad33dfefadfd0ece44580e9b385fbc5286123f84a -KO = 14e40318048117388a836778fad115020c16817b47b7c04121dd33275569b2f09cb8c4bebbadb0d252fd20333711d02ebd98513cc5c0e558cf8caa246b106262 - -COUNT=11 -L = 512 -KI = e581008a3b3c9dde51fe58ed2da1dd3e4c1807bf -FixedInputDataByteLen = 60 -FixedInputData = 6b5c6f00906444c3dc8f60287fcb9f07ee8f48881de7f0fa05af3f7810a0ff32b1cb6fd558546a483b44a64b99b0423596e2e236d85e5af58d78f083 -KO = 117a321c29f589cd8e9218022e387ae62203c05f5cbe6fe247e7a080dacdd9e5d825103da9671a01535ae53bc10a88b7a8307a5b47a6ea764c20b48201a04fff - -COUNT=12 -L = 512 -KI = c19cf2dbaf681049826e343a6d265951d0041296 -FixedInputDataByteLen = 60 -FixedInputData = 572c1f4322cdedd152dba6954f61151e31ebba01c303374013ba89e685ca9358800af75a0582a4dc1fc8149102e9f85e2d4d1740bec442370f39f918 -KO = 65e0af2aac0b6a460afa87c84cce2a8d2170f985451a8456a7cd564872d93febc9ed4c3a7911e6e0ee2ddf4042521d244959516444550056c576997cc2cba6b2 - -COUNT=13 -L = 512 -KI = 91ba2b8c231bc12b7c04a227fbd72561231b4d1a -FixedInputDataByteLen = 60 -FixedInputData = 3e943a256292e1f7ee4ee30f89f3b96b105b9361edf2d6f5e11ccc51a6b480d93a98e188bcc9cac6fe6dfc47c8edb5c3912db5e0af0b4a5bc02b056e -KO = 00671cd0bd110aa71d1ad2fb931dd0bee4625e2adf864ebb74b58458e4cb8e8d55a0931f841a8fa564d00437b4434992913bfd4efd607dec9962f4878d8687d6 - -COUNT=14 -L = 512 -KI = 56a385cbe5349249e646d2ba6881211fbcb5c677 -FixedInputDataByteLen = 60 -FixedInputData = 48f86c46aea2ee730d75da63ee38367782d5ac6fd3ff1643ec6d4a63e67b45fdd83ac59bf5dd8173efc8f0a78f64bc2464d86380fafd492c919c4387 -KO = b1d4d041edfc2593286b7cacf02b54580816de3508a39422c785d8b539c6472a56b90b5e81d185f5fe7e0e5e6d0f9abd901cf28b3ec38cc01a51578ad89a28f1 - -COUNT=15 -L = 512 -KI = 64aeea6c9541966126a6e4fbf9933442629f7b7b -FixedInputDataByteLen = 60 -FixedInputData = 26b1dfdc498b1c84cb9b436fb08badeed36040d8e1917ab0a57b5b3b762b60639a102ed4c08d0dbf0a8dfde9e248472446757055566a1ec57e3c6bc6 -KO = 1b51c0220076bf60c0353cc5f57c919b2e3fee539c0b1735ea51a6313b16d719602984670f9883a2e8673638c0bacb1923ed8e4ace07e76132da04d4818ad90a - -COUNT=16 -L = 512 -KI = cf021d13b101844ff6be74626c4edbde7d321ab2 -FixedInputDataByteLen = 60 -FixedInputData = f76ca33964ab7a75a395bc2f98dde5d962749b4fec29c3d7aaa829a8136a02d15530be445857e7830f05a73fcc16f6bb54c75a7032d766748bc7c272 -KO = 61e66525e2e5c2cd90a3e9b482c4448b06e5dd679a89bdb98918bfa0de6f8ce33adb3b82a2a06cf757338f7f980e8426549a4059aa227f217a758a47da056cd0 - -COUNT=17 -L = 512 -KI = c1b402bc573edc554dd28d72e6eaf1ce24b0ab18 -FixedInputDataByteLen = 60 -FixedInputData = d542518f4cd3c45493664d23936773bafd435641c4831820edaf4bd8c7c8995a5fd85719aa643ecbd56d15ea669382b71f5f2ca6b4573c21966eafa1 -KO = cf9d2ffd3b9d653784f4698c9b7a5cca1ea6fccb4f5416ecde4203b03267a6eb946a63985055f64743f8fd24876c508740ca1ebd8c816390ac42791336248b4b - -COUNT=18 -L = 512 -KI = 4254ebb45b5408c30ad5d8f505eb47da6163bb11 -FixedInputDataByteLen = 60 -FixedInputData = 447ab6f4142d0795e90de594251b19370203787a3d931cd688f7a3332afd7e68a348d9adf9b5d3d2f5f28f17c074631043e236c7f1c3da33ff7e7c57 -KO = abe726475c42cc7f8bd3ababa8eb70b0258dade68aea6e01fc7649b83d2af2760548f970c11849cdd2e49a92de6f08047e1021a8114ad8b6b544360cfbead2e5 - -COUNT=19 -L = 512 -KI = aa277c5ae09c309e0ab701a5a7f4a3e838d63424 -FixedInputDataByteLen = 60 -FixedInputData = 29f733823cfdb1c5c4a8be45d31c91ca82c85e1c16b33b1a2fd6b9ea50a7ea71eb7e7f1f988ad7b2e4975843701622cc07f046eb34a1f40832a3792b -KO = 66c3aa10407690ec7c7c05a622f0ac226b39fe68b93c50e9c5fd384ed149241f0309c03b67679aa4c25731d0ffd6b7dee80de4c010387d535a89aef6bc45e4cc - -COUNT=20 -L = 160 -KI = c7377399a3cbd9531d17791f96842c669e06e995 -FixedInputDataByteLen = 60 -FixedInputData = d4f75a47b460c04972286a52b1976fccfdeb15ba60656cdcfed4030489d1a119e3ea2a23237f6f977231c98e947ca71e66c08e4ceaa2c88724c7190f -KO = 9e26688006838977cdf96cf694acb70508e6e2b1 - -COUNT=21 -L = 160 -KI = ff8694400323020138cd0ee319e3b121467ab53d -FixedInputDataByteLen = 60 -FixedInputData = e47ce9435cf37bf8050394fa5c6e639a667b855777c27411f5f3d65631f31b54555ec2de2bce8ebf2c67a60f7a63002d0acc3fd6bc3a53d864077202 -KO = b0f6dc7f903ccccf2949bc4276c3cf031f1b4200 - -COUNT=22 -L = 160 -KI = e934246528240d4587db44afb4cb64d81778118a -FixedInputDataByteLen = 60 -FixedInputData = 4e86ed0b1bac532fd23657a196a196fcfba912475b1b1b6aadd8ba9ca8229dd254734e98665f45cb3229ee5079c14276fdee291c0756920e496946b9 -KO = c5c2e1d5c3adc53043f44265409b0dd89f0ae506 - -COUNT=23 -L = 160 -KI = 9065510ad38df87073755a0557d32abb37911f37 -FixedInputDataByteLen = 60 -FixedInputData = 2c2e7bad52a4367daa27b776e41ea8c4a1a65b425f9381935dcbe4bb028393ed038b9404356ff03d7f28297875ab9d3f1ea542d5b26def81f197949c -KO = 5ed4f41c24f0d9a3f06129d0ec58dfe1c929e51d - -COUNT=24 -L = 160 -KI = b25a221e2303a0f3e007905a26a0025a3765e0f6 -FixedInputDataByteLen = 60 -FixedInputData = 04bd0951fbc1d24deb7405fca5fdaff2a14a2e8a51c6971922b771642ecf1435f658652690e0ec70f8924b36b5d06c44fafe04c9fcdd72f48865967d -KO = 18a1e16a817e12ff115bc75ca3a32c5121f5af69 - -COUNT=25 -L = 160 -KI = 34c34503241ed463e69c401d6c61f6f80fce0177 -FixedInputDataByteLen = 60 -FixedInputData = 67528cfeb2eeeab640ef6830a8a246089602027c27e2b0600d40f6d82822e64ca50fff1f7aaaa301488fdc719548d108f0b3d67863716b6ee70adead -KO = a472fa2006a38348dc7ccaccf53dc7ef6216ffa4 - -COUNT=26 -L = 160 -KI = 1b0dea49fbcfea39732e7a9e1cf9a5c9b88bfbff -FixedInputDataByteLen = 60 -FixedInputData = f7ddec2777932ce1125938eaa22093d03501c9197dd5ea3623d228571cb47a577a9e290cbde9b31725dafb3aefe289d79f65a3f5ff326d2767e8034a -KO = 06ede9f12d2efbf18feb3275ca042b0eca4228fb - -COUNT=27 -L = 160 -KI = 46f3d018402c11b03d2eabce4907de9d41b7918b -FixedInputDataByteLen = 60 -FixedInputData = f9f3392916e1435ab044ae79fcbe0c8935d3d6103be765b15e2e582e220c8189f2aaa67b1f6edad683b371a5ea2d7de74bd3eb6918a0b219babac686 -KO = 9282faa453b2ae3bef6bf9a4054301337ebfa4c1 - -COUNT=28 -L = 160 -KI = 37729e66f174d344c8cb08253b8d7b6862cd02cb -FixedInputDataByteLen = 60 -FixedInputData = 2fc562e7d27210ccb5972e640b88b121a9be49529ee57e11e665733dc92b35c1ecf43c3aacb0aa7042c5b09a979ebeea1a84619d5e3f6301b0df468f -KO = f97d2c03d8732c405fe2f10728563fb209ce4db7 - -COUNT=29 -L = 160 -KI = 4fe382561480aab4fd980fb941a936cf0cc11f2a -FixedInputDataByteLen = 60 -FixedInputData = 785b6c9780b889f7c2e795aaac71a5acce8bce72d79e2e07a0ac8e00fe8dcd8ef7c1eb91ee3e9da1c630122962c7a00d44885e8f8b5a0599980885f5 -KO = 2beeed8cf0ecf3985018b9cb9abfaffe92ccfd6b - -COUNT=30 -L = 560 -KI = 45d98dc49457bc355be67cbe79f6b44f6c2ff49d -FixedInputDataByteLen = 60 -FixedInputData = 92a526d286b0bc4b5331fc17d85ef60e7f21e82e4d84e45014666645d27bdad07436e9445c81d7875b9a3538daffe2b6e14ffaa03ba5086837bbf84a -KO = 42b9d04bdb5af7419b4408fd1d769be7a347cc80d62e29aef38a93cb605a3ffa7d506e23660459c561db01f351345946ef9475628fe8dcecaf32846e0df554a6ef70b30e9373 - -COUNT=31 -L = 560 -KI = e6afb00da12e3c2a922d9f1d5e342e78917ccb70 -FixedInputDataByteLen = 60 -FixedInputData = b0f0597e444d44d72b37bbbb6f7a845b348ccc25a8c6b6cb274ab5ea365cc41ba8d9d5f3d170d41bb11267112b9220b258a5ef57c0a90566fe6ebf7d -KO = d895ff213d32e3725482546e6e2ae8bdb1c104792ea89ff8fd5207013208001b7059f84a51e31d5939f8a7153ff0527b4b5488bacc3080013ddf889d13a6295b730d9ba90fcf - -COUNT=32 -L = 560 -KI = 4d6d3698b100b7d38a8b0aa061abb6a425252a90 -FixedInputDataByteLen = 60 -FixedInputData = 3a63278a6334490d3b54d4a4437472f8f9f2c33180b7a45433ae1e8287390cece630f5ac908f3c3d9b9f168a92e4c02b01b1174bffa4223ad0a9d94f -KO = 69b7d4ed254edff0a2fed2bd650d9867fb2c5d5fbf7179769b7f40602410bfead934bb1294d2e79b5bed2ec2705bd0da0111b7361b2fd785d25c7c2bdabbb6397ac318bd9763 - -COUNT=33 -L = 560 -KI = dee597e7f4200fb52c71c550500512b38af47c03 -FixedInputDataByteLen = 60 -FixedInputData = 1726f1f3ad35eca2998ca661fdb223e6ac61913019abb1220646e059bf0ac31aa5c19060fd4b1af35c20ea43a153c1faa86f04b236bc53e5290567dc -KO = 14a57c1adb2830d539583d635575f0a4a40f80976205b86379c2ff1363c4ad5fa9cc013562b1fb36c0405b03519fb1560412d03e4c835ae88a18cfe67c9947ab84d6afebc82b - -COUNT=34 -L = 560 -KI = c468c5312f0d550e7e478418a5443612bf7887d0 -FixedInputDataByteLen = 60 -FixedInputData = b9a6845c248d7a9805b921101fdf84333505bffcc1960bf2a6233eed5872e48e6597364a7570827ec2ca1d6a022f5921b1a8e733ba03e3a60e5c1332 -KO = 62957b9aa36a4e8b19759a0632787f5fc1ce4b00568e4d7956e7d7257e2d24b73057b5dc8edcaa5264be94ac1426eefb0c755b13fc27e4d178dab86bbbd7d093eafceddfd05d - -COUNT=35 -L = 560 -KI = 9180f0235bb13ed00691f756192e3cd3f569d230 -FixedInputDataByteLen = 60 -FixedInputData = 9c321902a80f95f516bc5b27a5a89f631f492e08d202390bcbd49423ab930ffdba4ea0051195c214e6b18a43a63f75c8c498f66ee1e2e6223699a116 -KO = c31fd0a6935d2dcb91cae230aac68e540bf632e94d06a131dee702abc38ef2d05b1c02260ea2f39887ac5faabefe324124c04931083c6fa05f67aa571e7674a52b91ea8c0965 - -COUNT=36 -L = 560 -KI = 863ae85b6c92fdbda615073d87f08399f636096d -FixedInputDataByteLen = 60 -FixedInputData = de1a7847b144d94802314bb88df1a0308e4e555b9c6509c2d4140d93e297e10664b0727629f1266391508c63457346e41289d74b448f11ec88a359fa -KO = 76490e3a80065faf4e312b1bccbe363ef1104c2d82216f2f2bd6314c34d213d705b4a3e7a3984a0edb42c614dc1649a40d4e340b5969fea37ee7995629c5b568ec17d621edde - -COUNT=37 -L = 560 -KI = f25cbc6446b8516c87f39e4131b2e51ec497534c -FixedInputDataByteLen = 60 -FixedInputData = 8f7ebcf220aa6a18d10cf0ec8d125967fbfa8a67b1ab5c691ccd220d9b1c9a238084369ebcd01b12ba8b847dded854c9a03aad0e22ac20f9e72e061e -KO = 21119f3ec6439c787445ba5790419304b83a3db33ec2f4fc2bc6ecbafe9c9b941e0a947f4091db680ad58edbb7a533b1300ff4dac45ea8937101d926eec735db8d7591c049b2 - -COUNT=38 -L = 560 -KI = a3b5e5699694a47ccbfcc125b32e875c1ef0fe37 -FixedInputDataByteLen = 60 -FixedInputData = 9454458ede7f13866e45ffaffbcd58d4f33611c8dde9fba9057656aa1ea2dedbc2c2c6ccd74db9b71e76d23a22c3b2931386490395d84e10f1f189f8 -KO = 00d017fd49484b65b61839dca6de048a51e187d9aad15bdd119d2e18270fee6176b6a52d8e67923ee874e5221f291bd84e336fd78988ade9c01b1562f81b779d2d91e5c3c233 - -COUNT=39 -L = 560 -KI = 7aef315291bb1296e96b0c5f35b83ab90cc8273d -FixedInputDataByteLen = 60 -FixedInputData = ac52540460154c9be53ae0ce66c741bb36b75500aa1504f96a55a2bfb1b61408dccd418d6501a3d1f768650545692cc3f3bb55834d49ea4acb758069 -KO = 195130256de8427892e6cd3fb79ded36ac6c9366a6761d49743f37a6067b95fabe3487dec2bf526b76ec4d580702566bba2bb096d379f46212d412f67db432b2e73725971617 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = d155aa319d595b5a0bb84920754fa59f0f19c122 -FixedInputDataByteLen = 60 -FixedInputData = 73a60a26593d2738d26546e81d06cb27c462ea6c66be273d37c4efc0fef9bf1c03037835b5122ae3b6603c6a5d5ec7413dc2feaeb6824f588bb9b896 -KO = 060f9bd201ac0242c0db7f169428b475 - -COUNT=1 -L = 128 -KI = cdb93d16de7baf4ee8ff1e697ba57f6b060c9875 -FixedInputDataByteLen = 60 -FixedInputData = e8488140fcbc3acd6a5cb4be3604637cb8a3abc2446cbb0d7d718794f410e2761598569ff0717e0632627d8a4968dbb64a5ec6b57b376a054a98a360 -KO = dd74df465db81aee1d769a26ab26e49d - -COUNT=2 -L = 128 -KI = c3ced2c0af7d67549ecda965d058b90b974d3eb1 -FixedInputDataByteLen = 60 -FixedInputData = 43b57699eb864579ed8e157d9ffda8abd8486bea3306cebb73bd0b91712f44ac415a977b04b83fd09b7c8ca404f441b456e606491a6f386ea6536f96 -KO = 7c2cc9193d806f24f95723c347cbc295 - -COUNT=3 -L = 128 -KI = 93f5fae4cb9e65b3ddacb39fd32da72c37c277c3 -FixedInputDataByteLen = 60 -FixedInputData = 1288fdd94ec91ff93fbf78c66d748b07c6e54c3c43d906ba56b0d0f7a1bdd9202166896658ced938c5e75f022262b74f4da00414b64d180c8a3f1fb6 -KO = 003d1d10e824e84f3c6608ae6630c0b6 - -COUNT=4 -L = 128 -KI = c02613920329f383a265f8caf2cb644dde3ffb73 -FixedInputDataByteLen = 60 -FixedInputData = 74689cee66108c68c73fe432cbbe9d16fcf56dae6f75290d77357a5787a6ea8bd04f12bca41f6e8753b40cfd252ed59af1583b0ddb388ade862d9833 -KO = fe38db219feb8393bf85969528d48378 - -COUNT=5 -L = 128 -KI = 812aff73a46a9c57ac78e9e38492587b620f6183 -FixedInputDataByteLen = 60 -FixedInputData = 80144cd75191d2608145f2b2b56dbc330de8a883992ee3d34541c999249963d41d523a795c06e420258a72be0bd188926dd5e72d32346d76ed15dd44 -KO = 614f2ea86aa6f1701e5905023ce21948 - -COUNT=6 -L = 128 -KI = 229ff5a60ea8c41712adee44e3672e9f4507a4ba -FixedInputDataByteLen = 60 -FixedInputData = 53c11189d4e0d95efa1cd256750f140297cc3da1ad671e2cfc7f58054ca2ace24914492fb747358067c6c40e9e2e10a328c6797e3badcd072dae2a0b -KO = 80932f897b95e2c892cce24cbe47904c - -COUNT=7 -L = 128 -KI = ed694cd5817f24e210c7b199bce878a1ec458382 -FixedInputDataByteLen = 60 -FixedInputData = 9e8a37f90d055b21043b293887f4f19931f2f9a56c1aaa433e75fd12407425b898dca4d4763e88b7267cfd04d07c6300d6bef327f4c41331329707df -KO = 410fdb121fb6b0248eaccd548900947a - -COUNT=8 -L = 128 -KI = 03855b05ce65970634f6c8d5c004cb21a7dfc48a -FixedInputDataByteLen = 60 -FixedInputData = c0bc4e996497377ab32f774deaac2d047ce0f735c7f266263d97833cf64bdaea2a42462d6ffb09dbb71f50a661df47bbd7cd9672e9f86f6699b158fd -KO = 8cd4dc1549465595cce2422d4e01ebcb - -COUNT=9 -L = 128 -KI = df051912b53106e3f9ba7911c3d85ec744505184 -FixedInputDataByteLen = 60 -FixedInputData = 958306f7caec453dfd4fe550e408e9b88499cc286ec175b0130aa6ea4adf1b6f3dfb60e175f29d4209b8943250970e6f248302c63d5650f93ecfab76 -KO = 843041aa40e5751972ca6be3cc8a47ed - -COUNT=10 -L = 512 -KI = 1c4fd9356f57803c33b27d817bcc10b2c7bc5b46 -FixedInputDataByteLen = 60 -FixedInputData = 9daba24080e75ada986c8bb11f2501b86b85a130341cfd8209aee9cc87dab0eab76e3f7502d714edc875dc1b165316a3f070bd1046b93d636720f4fa -KO = 761e3912ef7eddf3ca61e45ac0d1a17f02b51a6b3d75e9b7ef0400b39492dbd273d1b80587384af147ee63698dbae2666c2149044d0ef2216900f3ecff4c0c83 - -COUNT=11 -L = 512 -KI = 97eafd684a34fb969462a2bb2962b68010fd4257 -FixedInputDataByteLen = 60 -FixedInputData = 3ec5e79bb336ce5b762892b1863f180bf4b6bff4ecbfbf3466a8472c351d88c1d564a43d4ccee6db6921d5320ed82680421c9997e3e5094ccd0cf600 -KO = e992b7f6a8984d497c2a5cf0799bd0c01fd5b2bca531afe3d741a7e423e3374e14809dda82ca80cd4983fe815182120db6c19319ed2ed50fe65a1dbfc4e1e63e - -COUNT=12 -L = 512 -KI = 35a6fa95981496839d0cb9f698ab1067fdfd178b -FixedInputDataByteLen = 60 -FixedInputData = 74af4f85ab685bd6d6c74cc203fcea444e21fcf6aab3f62dc4025be294313d4c9f615382854e7d857c8ae6f82e98e89150b9e7eb2b6445f6fcbf0746 -KO = 8aac146ec0412c44a24c03897e05b10feae3d5f3aa8181bc7f45c9cd39b0155dd93efd77d2dc06004cfceeba32ab6a584fd8123331019677078afae4f12d6548 - -COUNT=13 -L = 512 -KI = 1e1bfaeae13a47f851dfc11ec094ce369749950c -FixedInputDataByteLen = 60 -FixedInputData = 0e845b467fd0234b5f4cfa1c353f81e787899a7eb52b37bd4938e20cb22dddde1b5deb8537731e8a0d028b49acbf65edebb68ec55c1a8c569f587859 -KO = 09119834b668b36004678141304702f7372862e6c620c5bc6ae7e5bd1df5509b200bf9e6a107b49cdf1a53aa4b7d5b6877795c19977e2add117bfe523cc7d9f5 - -COUNT=14 -L = 512 -KI = b1eaba7b379610e7988405955132dd720b83b5de -FixedInputDataByteLen = 60 -FixedInputData = d6173a2992fda2fa79be2abb6cb56b7fff1de3dfb68833421dfe0b9bac9100314eb3f65d9c2f3b0b83c03770d0c18feb9499b347c2c462ebeafd28d9 -KO = 7f1742269bdbd2392dff11270dabcbc6fc167f83b7d63cd092c57aafb6cc64e778012d7d588db266545b5261e9a2401122d0a0b3f760bbf1f0c722e4a75df9b2 - -COUNT=15 -L = 512 -KI = 89ca384fe4f1965a80d4a7920d680786751dbcfa -FixedInputDataByteLen = 60 -FixedInputData = d3227e57c37e6ac559701cf93870ed9d8442da2e54f2a7e22be7affea3968b9e453b051061b1e7d9e372223e00721c935b71a52b866fa287253cc8cc -KO = fcccfbd68926755b64ea8d59fd9afe77a95093d1834ae4dcf45b957c5d890fe3110beb8b91b514899e822ae626fb14a8215e318f82bc9e2aee37ce8189ad402a - -COUNT=16 -L = 512 -KI = 5acb382079191f72ad161b84344dad120e16623a -FixedInputDataByteLen = 60 -FixedInputData = 9360c63b00af69049e9247a2475fabf5d8e4d1aa8d692bdf27840ec233d5ee0a53d549f98b9b4ca3f87a012afd21a7ebc1dac698ac581fb869b4e129 -KO = b1ff147c044fd5e3ee84af1f3de3b09e898eb06d8ebfd8172a33762fcaf5f7ee86d41c6b97d106a95afe74abbbd4a17968fd38cc3fe45546aa193b1e06f5add4 - -COUNT=17 -L = 512 -KI = d490884cf10545950ba93b11f9480c84484f449c -FixedInputDataByteLen = 60 -FixedInputData = f52e3593945565222c7ab7043b301e0ff8202a670797bee0f856b181a09aa5d39b18d0822673001a088794f2c6a640537c160f69d2a37994893524a5 -KO = 77a901502205f2192711b3826238e3fb13020e50e27658e55c2e750348029e1b0b76ef5c0e581b596456cb21f990f034fbb073fce3c152137159e2ee138198c2 - -COUNT=18 -L = 512 -KI = b9bf3500c37786244bc2dd918c83cb4e34c5ebca -FixedInputDataByteLen = 60 -FixedInputData = 13386782e0c00ad50c5a6fb2eb335f2af88e1f8746ad4b10100c45b3ef436e99485b15bf3b33354bd17694e6ac2ba1b515e0b1b71d4c1e1bb38c53f4 -KO = fb1b2a7be77f4eb0f08a1e216ebe500264f8366d4ad87f72e1a220b178d8bd3262c2fc627f7915c6d5c92535a16e0dfc3b90ac59afa48918464b02e3e3e181e2 - -COUNT=19 -L = 512 -KI = 98d459d077623c258fd849eecde5209f6263209e -FixedInputDataByteLen = 60 -FixedInputData = dc68aedf028360a286af1ad4a2bdeb1792c6f6c7cdf7279461edd11814ae8120284c57fd7bac37bebb2274b05c35ead4699d3b5fbcf5f9ad84843260 -KO = b4a1bc360e3217e8dcbd5e4282d62f25fcd8d1794ad78b3d7636e57f85e38636dacd8cd3cf2c2f0ba785a3fbf2220608111d474cb359b52a06c0a5de62dd367c - -COUNT=20 -L = 160 -KI = 49e87906caa5fff12363e25881615f7c176ad270 -FixedInputDataByteLen = 60 -FixedInputData = 74e3b5dbe08ca3b7622d84d78a4019cc0ea37c4bff1c04e7ee4908f3f0c217da7a291d81dc1a48c1177f475e2cf8353191dbb5c381ad155f55aa9876 -KO = 9b2bd158f14f92c5ba7a3d7fa95e2f03556e7830 - -COUNT=21 -L = 160 -KI = 32faaa79477b7a7ffa9e07a4fa07af4004c3b13a -FixedInputDataByteLen = 60 -FixedInputData = 4825c389386f394ab82dc365be1c0f0ff9392e96fe1ffa517cf6e6401e59af6b055d900e159a4944f4fceca4ced7efb7ff59ca8896653ec6f09ffd2f -KO = e5635e4792b9f19d040dd0e235617976f248c589 - -COUNT=22 -L = 160 -KI = 27d65f7111eb756ba043dc8db9f83955e42e6714 -FixedInputDataByteLen = 60 -FixedInputData = 1e3381dc7ac79fe650907d53cac2e513e1ad6488ac5956134379188fca848366a9d5239953555dfac9b19c9b5c3b40d2c0b5890e5e6bc69d86170705 -KO = 5c9d73fcc081fcd41bdd76e61563b57e957b1565 - -COUNT=23 -L = 160 -KI = aa2e5895415d70e188efa19addfc68406c25c868 -FixedInputDataByteLen = 60 -FixedInputData = 69772d9b82a47ab4a547444d4b937200a32df60151f4e15c75017d1fa5caae1de24bfbc3e36d01a806fe5e22510811b6837a4b98bf65135003f85738 -KO = 96973a41a0c277e3bcfdc2513427b8808a26f706 - -COUNT=24 -L = 160 -KI = b470db904ae364623625fd8a8d2ba829b2d74ab8 -FixedInputDataByteLen = 60 -FixedInputData = 1474d022e036e7d4c7faa1a2b0f3bcdd2c8dd717e54497dc676ece7de81116998a2e4343c75832549ea0c62cad338ba2a6f3770a78b215f126ee8886 -KO = a8db32a5e2f1a56dd1a10bff452d72e93c00754d - -COUNT=25 -L = 160 -KI = 095941d9c8a59b19727536886d5ca8bac2d1d597 -FixedInputDataByteLen = 60 -FixedInputData = c20f2591bc543421da38f5899500c2c2e9fffd1b52c4086e212953dacbab9d767e695240ccbbe7a5f93ea461289892aa6a821df9cc6d4440bd9f39ff -KO = bea981ee1bf11538179fb3007f648109ce924e25 - -COUNT=26 -L = 160 -KI = efcca3693139af8cb2e9108094e9dd43fadf8779 -FixedInputDataByteLen = 60 -FixedInputData = 5979ce2bbab7764666593ac5af91335f050a9f05f0af71c46723903d615fc3c9ab2dde5dcb99d222bbea95faa831e7a7addd6d2f2ed3b0bb1e25ce4d -KO = cb84219f6a12deb0f94e9798f13d6a1fa802c741 - -COUNT=27 -L = 160 -KI = 59d6f48d4dc0ae9fd7d59492f6421ebc939c68b0 -FixedInputDataByteLen = 60 -FixedInputData = 97de589e266eb7656a65e81a2768b0e4eec90602a89b4315a4384b0b16c792a0f2ad56665b9994cadd6af6d0969995de84bae4d1b3af6e36bb89e90d -KO = 09ef767d60a88f2984e9ca3e082b854f7d217d52 - -COUNT=28 -L = 160 -KI = 0cb7495a7cdfb4525a5d47fc4c9879120844f9e9 -FixedInputDataByteLen = 60 -FixedInputData = a44031c785e1cea3594a022f8a848378a13e7c964424a8507d6cebf0c28320d022bff754638f9ab6f700629612424c9f8b6c167fc1c35ac087ddfc90 -KO = ca445449fbe483101b4b8f1e1f53da3f7881897b - -COUNT=29 -L = 160 -KI = cb2d4baefca1c33ec4552b9f60ecc3fbf2af995d -FixedInputDataByteLen = 60 -FixedInputData = 98942e396c89eee3061cbced58645008cbcc36334566346e7b3c93febe6443346155a2864ae7744d61213c4cf767953304d644f5021be64f58722fd1 -KO = 022279e9009923a306224d80379a46729c6f6eeb - -COUNT=30 -L = 560 -KI = 4b56635a098197b6ac289a434917429795c031d3 -FixedInputDataByteLen = 60 -FixedInputData = 23aa519db2ad0a4598e1a7436646428431dc30389b6ea39b7c695df213b1a201318368d17c00c279dec63c907b37dac6f93fed2b1389687f15508b46 -KO = fc7b64cbb95691309acc3de9b3435b3468581e5e8c503886c28e240ca62190cbcd9e563fbc5342a8ce1f1c7e32795d608ff1665a4689a87c5e9ec1ad238de87dd98044a05456 - -COUNT=31 -L = 560 -KI = 3bc156ac0076783c3f417aaa5b4e3d33e969e266 -FixedInputDataByteLen = 60 -FixedInputData = 6b03e6296413cee1cf8ce5a4b03d54ed560dca914372dfc87980f826ba9b0cdd6c6a5de272b5f900239ddf980f12de47fd3cb32602e71424a30f067f -KO = ea800c1ba46ff9f0b701a4284db8bba64239abb75f0c476417f985c8ee9db7d221c874bb2fabc7a4e42ad60b860ad6408ee1dddd5a41cbad7f279791726405e55d32ad2f1b78 - -COUNT=32 -L = 560 -KI = b1240ab33325c01f0872cbe06b0ca6ff57e64b2d -FixedInputDataByteLen = 60 -FixedInputData = 7cf3c81c1f5f7ddf2868fd8d7c11c1dbb75830fc37f6782462e181660f9bfe04334079ea257758ee04b478c3d4b48f106c8082623e7f0faf1516cce4 -KO = f821b72eb144bf2a44fd57ef4c925c0789b5b48828176ccfb9d5080df13ce9eb0c12b5bb175913cb02697b5c5d4ca2847ed7840d73b4d42c63c6991837e30ade8edd7d932ad5 - -COUNT=33 -L = 560 -KI = ad8cc8b2a75307945c038f8bea066f9c4139cc90 -FixedInputDataByteLen = 60 -FixedInputData = 8eddd9c4d31b75e2bd303f92ec50a37a96cc2eafa8ba70f7abdcfdb628869a1ff1bc859573f998aa1a242c556ddbc54557d86ba447848a1010da06d2 -KO = 124c8910b92cfe6b4cddcc19b32c014535649d4ec9c0864f9112d29389f6d4f9e8d95fdce8d52cff349c6294d88940a707ed7eda2d8c58573befe3563561349d7b65002f8688 - -COUNT=34 -L = 560 -KI = aa1b3a14da2fbba9a56faec2e40b6ff52fa1bcbd -FixedInputDataByteLen = 60 -FixedInputData = 41e1a3fdff501b740c391fe87dc725f228afe9eab7b6fc2e63606a050c8272a581bfc5c57bca6fbbe936e8bb6a13dafece356aa18a8af6e26c4fd792 -KO = de654d9a217798673d835a17762b51126e657c5098aeeb606d119e8e10bb6fdc823fc65adbbe562705e0df8ba8a041920affc53ec912086d4b5a2ba32f4e64ae9e3cbd9550b3 - -COUNT=35 -L = 560 -KI = 53756521d6755084f847973219bd70b00f492b37 -FixedInputDataByteLen = 60 -FixedInputData = 9e6367a6ce628731b8e8f05f2fa395e67c1fc5d796d1be1d3ce0a465b83193db1ba6f52b0a224d409a5f0f576eb2c8adeb19cdb44e999baec900870c -KO = 032ad221349bbe7d34d3b365b92fce62d63da9911f03b23b75194b2f7ba440b1af345f3d66df8daa95593d9627ce912e539df5f365199e712c80fa4cea197cb4b3276d632568 - -COUNT=36 -L = 560 -KI = 82f15e5fd08af5522a14bfb78fb9f966ea41a714 -FixedInputDataByteLen = 60 -FixedInputData = c5096b2f5f97ab9d317d80d2fc4501c12701e3ce4ffa519550ff12dc9f61190a3858621407d1a3bac28f0bef958ac1f5c8d9586decb5002c69952f7c -KO = 25b2983374ea8fc501b3af364cd0370352ffcd81bf7e5bfad48f83d4652b8f9275a8453e74ff86a0a7fec5c98b3608ff15487d2fffd152a208aaf9cda05ef5a0d1cccef71e46 - -COUNT=37 -L = 560 -KI = b601f6438e9a4b02c85a3b34c58881b98ad1f09f -FixedInputDataByteLen = 60 -FixedInputData = d5512e1ba2251826ea4bd073e6d2ca0badc9827f42e0a72e9568b680b45427cfd055a33a7714739a4672f618df0d3c9d0bf619ea14f4bb197ace2946 -KO = fc146b2ed05233a7b9339e4b8d51316f8c5f8018eb3e89bd7f265669ee9b4c905d3188345722d77d3357914e72509992c5c24e3bc205fe2bb9e20d2d1da7693fb312720c5a73 - -COUNT=38 -L = 560 -KI = 8f3ea7dec338df55194c034db6b0a5e5d18fa708 -FixedInputDataByteLen = 60 -FixedInputData = 8d7dcd4d245b619d1f74e0f9d933090a0c0ee3ce2000f0f53fb34c2e6f511293097550564a71cd9a15132699eb2358e88f5e0516c34aae330b72d5cd -KO = b82e6a8ffcbaa442d8a8fdbd623fc3c6cd9abdae79f4a17764c528ed17054999c9892625add1421f44fb501796fa166f128263a49d6a021115ca8c6913b314e2662191ba2488 - -COUNT=39 -L = 560 -KI = b021d40818d2fbcd2772ac15e74b0f547362569c -FixedInputDataByteLen = 60 -FixedInputData = 379f2363c563294abdf6c23ed928a2fb1516b69b773601410d2b9da2b8b5c0f58ef213bc4904871be893ca87725f82437c4883e0b2f9b06d49a74c65 -KO = 98ec1ff01b8265cf59d833d9b75581731bf8fa414297a8ec81d8c55ab76d291ccb3c11845db262273b552e539c1f568f47bb16184c776598733a5729e24e9aec58174018c288 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 867e42be5f3e5d269622da454266a84d4dd50ef4 -FixedInputDataByteLen = 60 -FixedInputData = 099b8f4fb84922e36f402b89d01ec49ba81620214783313ef17ecd37740f3bf1ad0eeb5f757a14c1b965bbf605664bae1dd88cd63281d92f20f178ff -KO = 95e204e181409b4415f76ef1e7cdd941 - -COUNT=1 -L = 128 -KI = 409eb5394e049e20171aa8684e0e757eb0f98ef7 -FixedInputDataByteLen = 60 -FixedInputData = 18bee1d6860694b2a73a7f3db545cf36f1f685f98329d8b7622de839c04a070b116ba9d5881a3a6b14a05f3645d7f0c931164e57825a051d03ab77f8 -KO = 25242d101552b0c5403332f9aac52f08 - -COUNT=2 -L = 128 -KI = 7e8e631e310c110c9d5858b5c9fefb3240be0c30 -FixedInputDataByteLen = 60 -FixedInputData = 4fe0caadb05db3d2cc147f2b92b4fef50eec4aaac71828cc8d16dac651764d32edd79b1f5d9bbd8be283951abfb6eaec4b43e0ee3eaaf4d70e94104e -KO = 8333c0448337d40b625510a72a6347c2 - -COUNT=3 -L = 128 -KI = d2a3840689cbe557b43bc3061b451d5309b41a81 -FixedInputDataByteLen = 60 -FixedInputData = 3a1c2bb1ac7f351c73967d8f9fbe86abe2ebb88a4e7c4145e5c50312e1330ead8b044f5b1b363590dbf9ae30a9704b30e2621cdef8be188edf835e38 -KO = 42799e9d1c00dd27ca8351c913b2a4f8 - -COUNT=4 -L = 128 -KI = 20e69d2dcf20564123a169b3ac354c42154f479b -FixedInputDataByteLen = 60 -FixedInputData = 37b0144cd108e107acc7eaff56ec32a111621cc08549552261aeea0feea1c56628bad18f9fa3fbdc27f8f44f83d62487abb1262c4d71f84f13a101ff -KO = 8cf91eaaa976250939b2e6b23f516bf4 - -COUNT=5 -L = 128 -KI = 16317b7d4394a3161fa76442b9a81c9fe6201d9c -FixedInputDataByteLen = 60 -FixedInputData = 979757b3fc31231387ede6ed52da2cf084f7c6307af07bee5da1353597784c049f2df7252c0538c3d7d71da6918e0def49431b845bcd6d287ba7bd0c -KO = d2a1e0c4427f8458adf62239cc9c2a62 - -COUNT=6 -L = 128 -KI = da149183def75bf8e9078432e49490541bc7304a -FixedInputDataByteLen = 60 -FixedInputData = 78d05c25fcb06bb049ea972e9ec6fa7c1ef1966b74e58ea1dab1917cbd58bff5805443bb70d4cd76133a2525472a7e5c1317ae5e650e19de13add1d5 -KO = c37e18d9f7c9952edba45f65d547fa2b - -COUNT=7 -L = 128 -KI = 6c5e3796c4076030314b9071fc7f7cbccef01523 -FixedInputDataByteLen = 60 -FixedInputData = 9879e043e8aecc02e08d9dd648d1ed124b3f5c5a6cfab8f4ce7ec34335590cc850bbbf63588a4db8ba1bb613989537a432f8166510fbcd2569dbbb19 -KO = 3d1a3b162b194a219cd5baa29c7c85a2 - -COUNT=8 -L = 128 -KI = 661d39f61d3e7ad4e5d4a648a945eecdb4c1ba38 -FixedInputDataByteLen = 60 -FixedInputData = f32274f8d61e77a77764a8981b71b50b53c70d71fe1b0347a62464bbd593bc6f4dd04166b1008e0df634a7cc4a60adf54b2ebd182885407d5c759b68 -KO = c3840a7897663781510cb7649a158192 - -COUNT=9 -L = 128 -KI = 1cd7bf049f28c65b15df6208ec6f047455ea9982 -FixedInputDataByteLen = 60 -FixedInputData = 82bdc2bfcc8336fb61af81025400b556dc90115720b5a6d18656fc699b67bde3a090f699fd2912079fa7c3bd89af8d987c15c9a3c5b3ea7a721c49d3 -KO = 4a7462bbf8291f524fc049839379329f - -COUNT=10 -L = 512 -KI = d3b51da6aef374675e586323e04f3b59891077c3 -FixedInputDataByteLen = 60 -FixedInputData = eb78221394981844a932cb84bad83b80bcee0432b4b5e165a6fef8cc5e56b8b3bfd76d837c45535c19560effd7d6da4507db4519ae35cfab9506614b -KO = 206884806bfc2f704abf3ef295674b8cba08b907fc6da843ce4b496fb3ce1fb294a21586bcdb0286911793c4fedaf54ad45477d5c485a8880af73acfc1e5f58f - -COUNT=11 -L = 512 -KI = 2e1b1318791fbc1345a93904acf9677d5cb6a2e5 -FixedInputDataByteLen = 60 -FixedInputData = 59f47c967e50bfd7b0bb509621c9d319766332b85df2d9c927c47f6046701d4db33a6b19603675b4f417ad7d4a9ed98c416d446afd984aae99917206 -KO = 2660a641b89c24f11a38de7255567e5b730f8f0c14e8d95afc217d93eecd7a8a0ec2b97bbd18df3a8c0c3529f91d22895abce9938344d9ca4435537b199bbd33 - -COUNT=12 -L = 512 -KI = 08e9f5e069ee6fba5ef9ca5b82cdc2d8a3b76cd5 -FixedInputDataByteLen = 60 -FixedInputData = e1775010c32a17e4803fef66885b4c41468a72ad5a43bb745316c9fdcd5736c9d8c76ebd5318864061df333f0f13790e5a38ae9d15cb334a8f70563b -KO = 4134aed861ea8a25a7e63dd1930b78e619dbb81e568d4e1f14a637fa021fafc2f7b188f9badb2b07c58eb639b3438cc98394463dce4c4fde8d84f872da5aeada - -COUNT=13 -L = 512 -KI = 7759b574c978b39eab6fb05ddf06d3c0fd7921b9 -FixedInputDataByteLen = 60 -FixedInputData = 44d64389f2548edf737f886718546022abf45f86b64171683edcbeaae70f50a3614e4b7c628977c5c7e0e66a74cd76b97d27739a8d9a9c7ca66b847b -KO = 3949690cbf17253cc1d4c4e61e0b40b4cb3a2bd1a57e852f7e45c5218d789bd7a89906fd4ecde82bd2e95d2c3d94f572a64d29fd70c6a69fab15bfa039291fd9 - -COUNT=14 -L = 512 -KI = 916f1f25cf2047a482c43b3f8addfa656905fefc -FixedInputDataByteLen = 60 -FixedInputData = 84dbd82830f734383b59eafe5699e952fb09b1a83987af6d66c8fb70ee85352ba5239c57576f9a6cf389cde69962af8c725d39be93600382e2f2815d -KO = 0f58d77d4a8334ba6f097b4edfd4e802a79bfc1c3bf8d9b95f76fc7104f655505c723d82439c9cfff9c69afe5dedf9de343eafdce4a3a8d2547ff873327dbddf - -COUNT=15 -L = 512 -KI = d61a2139b636771dd544c8b121d711db3e109cb7 -FixedInputDataByteLen = 60 -FixedInputData = 3b00bb1f80ce4f63ba08f7710d73cbf64169a0b780ef34b06a51ea82b7ffa0a70e080355f04425252d7e0e8536627aaa73ad614537f408bc6ac0ec88 -KO = 5ccf1789da7ee8302afa191e4b23d941bff88d77ba4f36962127731a889698e7c5e76529c2eefec2222c4cc470279d6b14650301c9af530281eb13b52233aa48 - -COUNT=16 -L = 512 -KI = 589cbb371cd7778dddb5117792ef4c0e09820919 -FixedInputDataByteLen = 60 -FixedInputData = bab1bce02bd658bd61d716d36af7a5914b5d01d3c6a1662fda1cfd7965ba86bfe19f19a098da51ae27aad9cca43e6e201a9070062b7a789f0fe203b2 -KO = 7680f1f8d366fc324dd37d48ba426513c7fad85cb4b3fb16a003815b7cbc64e0266bda9f97c1fd21b3d3f96fe8b55b6ca8c2b258a96f69bdca9f1d08842b652f - -COUNT=17 -L = 512 -KI = 5930b25983b45e4c067b8ffd54a2d0c363ed66e6 -FixedInputDataByteLen = 60 -FixedInputData = f41724a7910608fd4b6fa21dc71d7158b3c42b78de1a886a78fec6ea3908bf553f144cacab7ae1ed59f94d2049d7604e758ec7695fde0b3b18515571 -KO = 2375844eecb60c95c95d50f4d2ad55855b230ac4558b4eb4ca9896a8aafb3cbbb8b85b25011305e62be99e3ca4761e6d617f3d346a03dcdca38d77fc51e29555 - -COUNT=18 -L = 512 -KI = 30ddbcbbdd0f2b9ae7616eaf3efb0942398dd00f -FixedInputDataByteLen = 60 -FixedInputData = ef691b859f3e6579d9a5c7d69efe89d8c6c7d409f44290265378d84861ee06346ead1071f28d195f719cf468c72608d1d4c70c48cdee758614ce67e2 -KO = 9c0173dd947df6a1de601be6cb9efc21d4859d09c24eff4eeacf9201e042d34cc1717329118c529e24c8470af910d73939c661fd2aa9013ee415c23d938561c5 - -COUNT=19 -L = 512 -KI = 1b229fa5d0649634035e08b43f7cc1d39ed83e22 -FixedInputDataByteLen = 60 -FixedInputData = 6e1c8565400bcf76f4579027656aacd847a8db95a57e363c7742d2b4789496fd739af7c39523d41a23511e87bbb73ad5d10523a9164cd23ef3b3145a -KO = 59aee518c854e484ac185cba5011e73fde4158fcbd9ddf68c836d4a12ff40d1e266e297a3f5cb58d5b4b16563a10daea2a2655878738ef4aaa3f161b115716ff - -COUNT=20 -L = 160 -KI = 591c124bec207d48a2e27934a01c54d132c9eac8 -FixedInputDataByteLen = 60 -FixedInputData = 2d75f2c206caa2ebf6a04fc8d95c9aaa98990ea40b166c3005ec350cef252b53b92ea398626141e9b6437df846e9f44c67c95a647cbf717b32f4c401 -KO = 82a72ec213b3abc5ab670797a8df68d7f7f80186 - -COUNT=21 -L = 160 -KI = 5e17a24f8902ea2c95a908d01477f0db424dd57b -FixedInputDataByteLen = 60 -FixedInputData = 702e0656e19a0d94d57f4a9f1731c81bc7f3bf6f493bfb9e61ee8b785613696e218557296c25e3b7205c0bf82a8738743714f51b130bb01af4f75042 -KO = 0df379c8868c97ffeea14dfbcfe24ed775cecf6c - -COUNT=22 -L = 160 -KI = 70a48230c4777e09424ccacdb2ccb4c14b1380fe -FixedInputDataByteLen = 60 -FixedInputData = 3ef33f7fcb098e7e732311b007a654db6ad01bc84071a6500a98f99722c6cd191cedc888015aadb59b76b860265dba8de8dd1ce2639a32a876b81c6d -KO = e8b09df2cd56c1b22ff4df8e6536f4723baa7c07 - -COUNT=23 -L = 160 -KI = 79c650866f4924c89ac6ff10f097aad160f04306 -FixedInputDataByteLen = 60 -FixedInputData = 286a123be7b6ae8d91c0e01ea8345113e1e3ed83abe6f4c9026a5c540cedcb90c808c045ef23c5038d080e71f2bbafbae9e81e8c30164232700fca45 -KO = 53b1c6167f3e09a2b9291b32eeaa084fc79dd581 - -COUNT=24 -L = 160 -KI = c94634775c0550ca009f4669cdce6baa47479f06 -FixedInputDataByteLen = 60 -FixedInputData = 8946a9985c44e97b07766353906906c70c4c3718b66c7c97f41e0f0da25d5ddeefad5c5756a6d9394cc569d7d378ec3c816b121d7cfeba0f9e9c9216 -KO = c0f8766d006d4311ee5bc62589dcb39f1cf30e75 - -COUNT=25 -L = 160 -KI = 22e314932a76e7bfd3f7c1d0fe8aab1e28a5f242 -FixedInputDataByteLen = 60 -FixedInputData = 6468c490165dfc5b38a93f02e392c8ac29f216d8c17740ea6cc465bee7af431f76082c55df77cae0c725884ba5ce55b8c9fe355d800f7d11dad74b5c -KO = b51a50c57a62df3b6424b45e3e52f84c247abc05 - -COUNT=26 -L = 160 -KI = 0e1ac161bbcbdbbcbf88443739a76d86d325ea92 -FixedInputDataByteLen = 60 -FixedInputData = f588817bdd0a1ac36686770e403584841b75c64f7fe720cee65a15d0d6d00f9777550857995afdbb3876f045db7371ee15f87b345f9dc1d5cfec91ce -KO = 78d5bce246bb12368b18ea7fd58ff357291270e4 - -COUNT=27 -L = 160 -KI = db7b3fad67ecb2c50aa70a7b5263710860062fec -FixedInputDataByteLen = 60 -FixedInputData = 7b34762871aa2f11802a891c551f615686c210a26ab5b07cebe93cf05a312b45c21bb2e3a7da7caf972ecc44779ec8405c9f56804197f408e5764574 -KO = 051faec7c6ba74c0c21d75823a40f195b88ace90 - -COUNT=28 -L = 160 -KI = 6cae237b4e4b3ecec3d300284aa68c840fa87b40 -FixedInputDataByteLen = 60 -FixedInputData = 8487bf0bb06675bacc5327abfdf1137bef33a0c28e851f59383240da659653f875ad60153f5718f38bb38a688b539c42c0f8f6bfb4700ab67b8ad4b8 -KO = 755b39ba9072c6ffb3863cadb9fc91c1cb461d8d - -COUNT=29 -L = 160 -KI = 0a1ccc00e8d8b45f9559538f78372a38d9392b09 -FixedInputDataByteLen = 60 -FixedInputData = 2f237c286607985d31159eea0ccb076e0e4a03f1582930f95bb4beb219b2260ba72d51d36bd1fc0fdd2de532d07d9d39dd686c9ea95628d20b530302 -KO = cfbc82d5d81538bdcf79b52bf3d401ac09ae5234 - -COUNT=30 -L = 560 -KI = 5e1f32090e80d323b0f422206869590c7cd6ab3e -FixedInputDataByteLen = 60 -FixedInputData = 4562392ad75b394ee0031cfd3b4c5127ae0cbdf20cca37a02349150a5328c0387fbea0984664a868ce867d22913e7f09ddfc2f7017a6780123216dbe -KO = ed0452a78ce5eb07859a94f3aad6416277e53462a74d7e13698601e0d99c951140a1b88e688694dd00f765f221f3eac1383cd7cb6f9d17a79fcaaa528cb355c219bba9bca1be - -COUNT=31 -L = 560 -KI = b9ef8cf316ce72882e69ce6ca092dc808e9fb7e8 -FixedInputDataByteLen = 60 -FixedInputData = 8d8aaef3e2e418ff00947c4b51a850d8d455ef8f82d1ce6f46db60e9e38eb5efc26d3c487fee245e18d3eaacfe8a81b4b0a606ed26c83cebffda8bc9 -KO = 4d6e17458072af863d839def9c3932c7ebd8fc9019e1e1e664d0ceba2ef59606fc4cb5b7ce75ea25a2ca517008c99c7534d69fbd382ed370a891a8dbf0fa14ad359c5027132b - -COUNT=32 -L = 560 -KI = e23b88d6e5cd8c69e3225c3eb984684bbb28bd25 -FixedInputDataByteLen = 60 -FixedInputData = f3bb5d81ca4a1c72e71f372290d1dbb6ca7a0e0812626db1aeb645d989976b943621f820d27daf325148768797d3905fb87384583f701c37fbd6c53e -KO = df5f8b6baa37804892afc058feee7903de51e2fc404456a9028c4f691d0eae0beaf2b19009d05e3e93c17fb06ff1461e6f7afb36f09ecc029b7e936a2891ea5740f60e80b23a - -COUNT=33 -L = 560 -KI = 0362e47317c5c51fff5e0042e064ae5497c9d44d -FixedInputDataByteLen = 60 -FixedInputData = 87a916fc45dfed621a39e40a2a91b86f98cea021f58ece89b6a37769025903a69f7f6b566c0cc9ade076dcbb2f484f54feb98180a916bff3e051fe11 -KO = a95cb76f70d31d7a0b04116fd79ee35a57087e5a8d8349e1db2ca1cdbbfe94822380d92590a55da6595f8f48cf3f424a865924a380a075588338680c1def73071500ca7c6e34 - -COUNT=34 -L = 560 -KI = bd2e6f670fbdf07c93fff10a4540cb6fb8a38ced -FixedInputDataByteLen = 60 -FixedInputData = daa959729191f265c5269ff9df06a59694554551cbfede1703b42578227d42bdf963b225c1451836244f6ae5986fda29b3aedbc174877d2a38e6094b -KO = 36f11cb30c8308424f198ee11474ee24a062732b37c10c8b109b298f29bf3bc25ef771649cf6a17bcde51dafc468eb52098c7a62cc780e0d4117cf4ac55765f96796cc8ba37a - -COUNT=35 -L = 560 -KI = c1aff080275da40c0a1cf7a6d006e63c1708c7c9 -FixedInputDataByteLen = 60 -FixedInputData = 60e24160db384e7d3eb460f7e78bd9780ca255af497ce30838cab6aacc2fdb3c9fb167f39c978b61919ced640118aca21d58e057dde7d0ef8a019b1e -KO = bac20a7cde2d7b62cc4d6af624ea257c93bd26e750e5403cf52f490e4e8fe4e22c9e1d7adc3f4edb3cf762b73d6a4dc63350aad5c9ba2274456b180f68698f7cca454dd58b48 - -COUNT=36 -L = 560 -KI = 71bb0229bf9af98055360ca9a728a54ea2aa9e03 -FixedInputDataByteLen = 60 -FixedInputData = c470158007a2333584998c7db0c3e3507b816fb2681553779f3321a32600f7d6d526cecfc94547acacbb52170325a5ce0f7623087fa699896943ea42 -KO = 745c2f1fe5d86697601e17238155b272864af4227a88ea3662f1f43c98b444e5bcae2f358d7ac3379bce2a5b261e655d03ce1fcc0d0029bdc97c333d059fc8cff26980dd5ee7 - -COUNT=37 -L = 560 -KI = 18995bd692408202047c7f6057e0c25a46e56290 -FixedInputDataByteLen = 60 -FixedInputData = 6936dd8ca707a424d70583e15570535e6bb169e6be81ad40bc30a0743bbfade1717875cbdbb91bf63694bf05d37abac1a77d090548a02b7bb6709258 -KO = c1fbc636f1330179c47f4a9727660df3adcb3441fda9004ea15d1e4870db8aa3297148b74ec39601dac24d4ed94a620aa3b78b0c252a9b7ebe922f02007b995109f19caa4844 - -COUNT=38 -L = 560 -KI = 4fe4b9c0e9b4a4d6c89fe5f7f5b7ba6ee6c2d5fa -FixedInputDataByteLen = 60 -FixedInputData = 2c6b414400d1b83af9e88c40bffeabc85a3d15a02b00967de16339e7d206012c5726e7e95099f030c8ce170565721257cf0d088394390101550dc543 -KO = 32fb32b34854eb68cac31a41798ab2ceb6a62d9dc97d639011e92b175a6c892c8a16265f39de40b4555ad64c946f78c11447d5b08c3e2dfbfd9be414993c7076c470f8ef34a9 - -COUNT=39 -L = 560 -KI = 4f2d7852e3c026bd68dbc18968e5cf75e29cc9ff -FixedInputDataByteLen = 60 -FixedInputData = d3d6fecc7a83d6e7fa37b03b94b2780fd2bffa50f6805a9eed6725d136b52890cb70d811ab1c717de13ef240e3cf415155f2ab98c7ef056dddb43790 -KO = 94e1a8832d18e10af9590d954c669c87ecc7ff960f40d23109d8bfd86c5bb264ffc887348d07d5003edd1e857aee2884a64d36686ce7268cbfae55d534300674d019dcb4a8b8 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = c1507d007b2b0f45716fab617239f0c5d458ad0d -FixedInputDataByteLen = 60 -FixedInputData = 4d8aa6cf849a139e47f45bd0727603c4bd5d5f49dc9ab10e0e92318ba6f45129467aba23d4ce65098390e6d7743b1ded85347be7c34b18b50fe123a5 -KO = 1abb3fdeebb6927558dc29cd457efaf4 - -COUNT=1 -L = 128 -KI = b7b0df7e2fe378aaeab72b0fad1b5413442ce660 -FixedInputDataByteLen = 60 -FixedInputData = 14e02003be1e28f4b96ab66c0961c6bdf65d7c81d549f15e17a09046e2b5a6c81cea6f3a560a6513a0c2dde99be2861b241c57f48034753f0e63c687 -KO = 7ca2bf0cbf0a6dce50f897b2260b4c32 - -COUNT=2 -L = 128 -KI = 08b59e1898dac74d344f028884f8f6aba5c47d68 -FixedInputDataByteLen = 60 -FixedInputData = 03b142c00009e81f1daa4df2f6f9c86b1376623ed87fea5de09bfd767c15faf24121cca4bc345b3a506e8a00f42fa517171edc8e607d58609b121b36 -KO = 7477629bbb869e35ac4f20c0d9af160a - -COUNT=3 -L = 128 -KI = 9f771511af5f0353080b0df03fb060480486aedd -FixedInputDataByteLen = 60 -FixedInputData = 6f2bfb0c481010fb6c9860b5c4e57fcd59a2fe13774833ce654d875bfd9ac2780f54bcf434e489baa6f5a189dc1df65348bc16b187143ce6e3f23e5b -KO = 99738a7f5a63b9515e3f78b4037930ff - -COUNT=4 -L = 128 -KI = b5c9bb86378541c4fa22a059c065ed7cf5342f18 -FixedInputDataByteLen = 60 -FixedInputData = d0283a2fd1f4884a3392813041f7ee5951b8e2c777df3fc7241774ee6ac8ba250318e60a3065fc1f57e88c2c69001a3f338001b408d0b04c173261f7 -KO = 5b2dfe1cf6594bc7ca890fb5646f1298 - -COUNT=5 -L = 128 -KI = bb9fd093b29f13202a0b64988b84b184a9c9e5d4 -FixedInputDataByteLen = 60 -FixedInputData = 8240090c1a9f31a682b8669a5a206e2f0ba527e7c6d9813304c81adf8b2f7603a00d8180d6a52f775da16086d1fffcb92dc6611ae12aabd16b0b766d -KO = 7e694c95c05ef874b38f734e744c79bf - -COUNT=6 -L = 128 -KI = fcf2b590524d086682e66e349b50955aa87f2ca0 -FixedInputDataByteLen = 60 -FixedInputData = a4fa0e65278396bd37807682e656e20c71faa6eb8f76078388fed72b68922ca421e4dd772c21951d102f5b292a7bf3b7caa754fc6f67939f31ca784b -KO = cf609baf409fb22c6ee305b323bd0a9f - -COUNT=7 -L = 128 -KI = 3f7eda9cb086c65b5fe07a9415b67f318e7c0638 -FixedInputDataByteLen = 60 -FixedInputData = bba8c7fe12b70d58ba5f934555553ef83e379cdb78e7d3f1036b77302ced1e8ab37951a12e0432c1ce56a7af4a628e89c04ca78230f1378ce3aec37f -KO = 374027f712ed1cd92a9f0a17a01aba00 - -COUNT=8 -L = 128 -KI = ed2d1ea80aa4afce91aff8a8f6b6f5f63e5beeb9 -FixedInputDataByteLen = 60 -FixedInputData = 3b1d1d3f56fe3b25e029c926700a89da4b7afb7db5490a50735f4ffd73238c736cc99f36c892a9b0f7044c1539c765d0701807f16fff6a6685ce3805 -KO = 7777bedbc463011357a33bc9b5a69d97 - -COUNT=9 -L = 128 -KI = ba98ab77dcc3a51902077b646842dcfc8ed1ec42 -FixedInputDataByteLen = 60 -FixedInputData = c3ad8fff3be71ef3b2bcfa7eb3a26d5dc714b593bdb9c9731e9a70766bd706361179d7fe82e7785b12adecc5bd234704a074711552cc4582e1c315af -KO = d9f7908703f42f65457ecd976f3ea0b7 - -COUNT=10 -L = 512 -KI = 84ced85f2e5985b555dd94e74de37c3c222ddb04 -FixedInputDataByteLen = 60 -FixedInputData = e2fe2ff71b10b37fde4b9bb1b4e2d8760d7bc16553e2f88ba8e87c89fb7e86fc1a772a9f98b7bcd5dd758eace2468f16fb176b5f203cb67d910c5d8c -KO = 88118a33c5a3c04034767dd1c93d20ab3b6eb567624adb038020bbcc299f5e58ba9b4e331dfbef0eebfd8088b0e879a2f933eecd93ec2b519cf6b70b66b994a2 - -COUNT=11 -L = 512 -KI = daa40a61e4577a5091fc89cb48e576a91816b71f -FixedInputDataByteLen = 60 -FixedInputData = 64a8f565a2f4c41f70b6a8ced1c1fe1574d5203b0a301416300b0ce09e0c0cb2ce109c7a4d2e6f2ab00ba7182843880db58116038b724138d2f0398a -KO = 6a15807d434bcdf5bb8ac0db1c421ba9e035390f4da9ed32ad0885ff4ebb69683ff5954cb78bb0c3ad158280b195c142cdaa164637494274cedc6c84ed6a522a - -COUNT=12 -L = 512 -KI = b7c2a646557a4c43e84317c052bea839ba97b818 -FixedInputDataByteLen = 60 -FixedInputData = 81566c34002758f2c849cce6b1e98eebfca189de71a5531bb1f628e776606caf31672289a240fe88446f1fa8e879d7ff359b36e08c284336e1efb140 -KO = 08673102fd17891d13ed4a101036f087b033012a98a2350f2c939c3317c5e007b32fce2321e652be675a503cf70979a8514b90146adb6337c94e484042aead6f - -COUNT=13 -L = 512 -KI = 8b29a33df5a55b3bdafb18f22dfa3c5823254f37 -FixedInputDataByteLen = 60 -FixedInputData = 91c642bad1de59a62dbfcf52a0d19fa8ecb98aa7edd165015984974cf7a97148e47ddf87759ff72af3e3808596094755bc0faf84c13b161f6e613a9a -KO = f7b5f06331a299cd6da03000b3171ce52fd4472a7b65b7c28e285ec40486e14b3ff3d2733557d5625e89bd33ca241d124c67f270ef8c6ad4a8fe92426825435e - -COUNT=14 -L = 512 -KI = 0c98e3f72369ec379b09b5fb23b61aae6ad6cf4c -FixedInputDataByteLen = 60 -FixedInputData = c2a17490e5156107aefa6fd4c9e8d55d545ecbcd0fd10dc44c36f081ee79cc0367c701cb7fe81608f5d480edb3aa682f334e93462071aad06aa28c02 -KO = c458872ca7ef634df4cecfec3efd3f30b8a0dc3d04de00a7ad3928eff466b2a06ba3d23b706d0fbd105f79e0bfe809861d35a5b2fe2e3665d3a0e08372d0aebb - -COUNT=15 -L = 512 -KI = 28e44dd179a7039c85f6216c356eed3238b5416d -FixedInputDataByteLen = 60 -FixedInputData = 59e3034d14269dee0b85efc738fe31ba75be4f3acf70a9afc3c2570ab627b36a4102b96116c99aee7ae6fdcb57a61c7543269e90a0f77f317df67597 -KO = c07bda19e9b3440cded16a92d22d28c1a795a95e6df02d724af8c97277657e25cfdf9b460fb01686d4819e6de4d8f21e1872956a7dc87afdad815e5b306faa69 - -COUNT=16 -L = 512 -KI = 9f31221e75bbeabf98556fca146c1d32aac6b721 -FixedInputDataByteLen = 60 -FixedInputData = 48d004d540200dbf776afc4f5cb0c3dce9c47c0b7800c596c260197d81e419e367f5941c855b55d086a8ad5299809328d0d8e18c3dd1e9b4205952ae -KO = 444ffd806860166a40f3b0733a2560246ee7742718cb84ec65fe5ffd50df9f91a3e38f5244f3e554997b39c088c036382aa929bfd9027bf529d0b0ea8af56fee - -COUNT=17 -L = 512 -KI = d621b134193ffa118c0d13dea81ccd500aff2da2 -FixedInputDataByteLen = 60 -FixedInputData = 12c09ddc8de6593d5ba4b822a30c17a98504e35cfaff6440c3267fb3eacc05d5b6e442a81f9585c54e754288d4b9a8bfbabab38d60950139dbbaf67b -KO = 248cb6e93b0033a49006e11d8700cdcebc76c2499aed57ad98adc1ee0858d68eed4a626585ae49f0859bde151e17cff78b758bbe8dce9086471c5cb5dd5bdb7d - -COUNT=18 -L = 512 -KI = 541ef924f70941b3e5a9f7783a5a4a19edf13cb7 -FixedInputDataByteLen = 60 -FixedInputData = 89a1910dccd38b8aca5030b3ab9d212267db533e3058c6c206b1c6772dceb27e115edbf2b9471ec527675586253b38531e1feabf9bdd3e0be2004346 -KO = f7df9266256cb0f9710c19ee753d4edb2bb1e307b55e4666f34987edc42c5864b06fb26ebd226f589b5abdce2ccdab3bdf7e1076e104c04da03d36615ef74ce2 - -COUNT=19 -L = 512 -KI = 48c119728c6d8502b727dafa1d459aa2c14140b8 -FixedInputDataByteLen = 60 -FixedInputData = 3081f90b86f7cdf91058635e6e10dbd6356312bf38bf546bf24141a78f6660dbdac389ebf38e59f428b268dd42b392743575a775ee532eb3079e8812 -KO = eb4463cadebd3e0e87f51730ae5290e7aa109a9a3b169cfa701c76244532e4e71a41dce748d4b01421daf28d4fe66227e31ce585ac235978eca62b60d432d49e - -COUNT=20 -L = 160 -KI = 85b3bc9de12e37b8f3138b02fa5571aa888e25d4 -FixedInputDataByteLen = 60 -FixedInputData = fe07e89f9ab0b5b9d02776cbbeca0a89f1dc41c89beb480b62546d105e6c7ed2a442bde315d184cc25f3696e34d0d89f3e405f2686d4c8318a3bad34 -KO = 7e8f80738f0c88e6ae6d851b01dd6b004cca86a3 - -COUNT=21 -L = 160 -KI = a739f8348c0b96e62413f2f8efda1f00ebef4558 -FixedInputDataByteLen = 60 -FixedInputData = 949e81b08f6a430002725c9b27be9dcef729235646b89a3fd6b05483e116c221cea3aea9a14d601216da47a4a5d883dd9afcf79b818e696c05ad24dc -KO = ad30538c3ff29a8d36ff98f4c9687323ebb1d93f - -COUNT=22 -L = 160 -KI = 76b7ec0119d125ac5c89e389fd73c9bff5f1bd72 -FixedInputDataByteLen = 60 -FixedInputData = e2e70e539bcfdb6823f9775490ce3874cc474a40003305e752c74250d963b4ec381c83b01d994cce0cfc81c0ceb74c368bb7e26eded4b23e4b882138 -KO = 7b4f75c7f34200a0c21ffdf9e057e356073f4080 - -COUNT=23 -L = 160 -KI = 2f7ed57f93d4a3acaed863d2587efd30ba41f1d0 -FixedInputDataByteLen = 60 -FixedInputData = 949f4b7d6f99ccee5cbe0cb8466ff37736c1a8acbe55bdeeebfca72f06c3f4d646468f8ff2c29f373f1ad212fc213ed0fc6dedf77addbbb46b5acdeb -KO = 155594cfc60c132fab9b42d343c897d3a2af8b97 - -COUNT=24 -L = 160 -KI = 00026cc064850606916da355e2a48fbbfae859b1 -FixedInputDataByteLen = 60 -FixedInputData = 1d66d954c69739e77e75ed2f6492355c6ab5cbbcac7b36f50da9a8ce00e2f45040ead5263841b3c443f0f15224f5c62df2c1f8d5178e7cd85a414ffa -KO = 7b9365eece4084ba1bf00806e9e4a7106bfab815 - -COUNT=25 -L = 160 -KI = bf3f9f7dbe9b8dc781c5936033b3d3ddd38f0e21 -FixedInputDataByteLen = 60 -FixedInputData = 3e37e9a1a413651ee1a1c04a2e682e444119d390f8be9ab35cd3e0a755e3b67b827be54d8df6cc10365b3dce7abd8f63c41b2effd577d9898c84da8c -KO = 0e899ec15be82ea5a6d9a9bee7e4d69d0789a46c - -COUNT=26 -L = 160 -KI = 8f9d19f303857d6c234cc82afbd5046772bf8f3c -FixedInputDataByteLen = 60 -FixedInputData = 025da1a5dcbd0f0f2e762c2e49dee72a8cff5662233f4cbbae9511b700e0822d6fe7dc60650ea5294ee0246a4b961b5d0ecdd6f3100c2eb958cbb448 -KO = 6ec27871c5191cbede933b1a500f68bfb40e0b83 - -COUNT=27 -L = 160 -KI = 99a55d7400e35b505e3649d384b833c6a021edec -FixedInputDataByteLen = 60 -FixedInputData = f8a51d96eb9f21837ead4c1e016e25f9a3c5afed5e43e5c5e334441a2781c42148a761bed4e9505c2e1b33211ccf33e8ef47b5c82e685fb4893442e9 -KO = fa0ea7f9cd98769c7cded0d9a7120385e138021c - -COUNT=28 -L = 160 -KI = 44f38189707e86da67ef018e45a242475da0de3d -FixedInputDataByteLen = 60 -FixedInputData = e2d2901e858d9fad13fcf3787f046f4c6bcbd9527ada05d4ed0b479283a54f9a37edf71dc120fc74640365f9b89a2b63509afe1eb3e19bbb5393956a -KO = 952e50c5f4f802e187122a19a17dd7820330fb12 - -COUNT=29 -L = 160 -KI = 809b442b150f35086e97b624a26f660229dfc8ae -FixedInputDataByteLen = 60 -FixedInputData = ab992fae38ccceec3f2131403ebe013215eccfe1b4920da4406bcc5e959f4a7b17bf47fdb868783e820dd4d4b1134655e9976eed4306f1a9e286b9ac -KO = 3b2c121e1b5b63a59323961b6fa51c6e5ca5a49f - -COUNT=30 -L = 560 -KI = e141aff6c96c650ae9d1113007684ee0aaada11a -FixedInputDataByteLen = 60 -FixedInputData = 69c13b81368a1f8ccd0b47c546e95db77c155a09ee5b685dbf4973e306288ada19872ee8b3644975bdf36e0fba1b9dc91b8f12fc86e517a25c2cdc05 -KO = 44edb1cc4fce494a027e4d462b65d8e9bf9f896162a35767e89655d14acce0c89cbbc763afb6cacef82be0894a62858d7f403b131013481f8feb1d92387ec99f019a74258324 - -COUNT=31 -L = 560 -KI = d2c4d5db6f5346d2bbfbb0c19078e450da2df2a4 -FixedInputDataByteLen = 60 -FixedInputData = 0e886afc249040b33474e4a0831326fbacd160b403bd6cf6daa58d30bcb355ed2256e07ea5e5bbd554954c025d805a800b14ff7bd4b3a1d28f88bc52 -KO = 662e06714b528c37fce22dabb2d7a7c244d20ff25c8c318f5612ec3a954abb6cbd1f34cff04883919bf0424a3c340b2ee558eddc001cf6c37c0328c1200d3d2097f089b87207 - -COUNT=32 -L = 560 -KI = 6fa9167cc03e1377d1023a3e1f3dbd3c663d4874 -FixedInputDataByteLen = 60 -FixedInputData = aafdb7830380f9e77402b06d5c1e45c21a5f706fcdb1d3ea7de6ed024b4ebae0f392e9cc9224803a3f008e6eb33eb4c1f89154a29c54620ba5722b07 -KO = 1203895029ba79bfeaab5b4fe5bb03905c16685d78a8f9198eac177ad317b469127bbb5ca29ef4cf04e1e88ce70739bc2ff8e782deaaaeab290dcd60ef7f23e367ba6bb76b08 - -COUNT=33 -L = 560 -KI = be712c9cd6fdbd4b6bd04413d153db38162734b5 -FixedInputDataByteLen = 60 -FixedInputData = 7db50c091b23931c8245e0311f1e3705630f48d27c65e3e99b633639160ded328392775ff67ef2c29a3905edf97aca8352fafd3e63f837dfaf1c9151 -KO = f3381ff2575745e00ea2cb9970e890a0a5e5b48004638876c7182718f0ad88dcdd5d232cffa608b4d4ac4e5253270a28cec7a3356410d157d6b75a02cfa4e520c78c0adf410f - -COUNT=34 -L = 560 -KI = e421d05e52287e72618879610cf351e34ad2af9a -FixedInputDataByteLen = 60 -FixedInputData = df1fe3bc7e5f888673b02737f21ed5d257e2ce834ed2f091ebd3f767505e9fb2eb3fab2dfeeaa798720b577123ae2c5edbcfcf6673e6179a48059c7b -KO = 64c2cc9b78856a88225a7b6aea56c2bc3da83fe72a4682451090e0ae6cb7b74b7c0a375e83a6c66aa06da4147c95da8d8329d5948714888b7170f67afa390e5df8969d0af782 - -COUNT=35 -L = 560 -KI = 8a3a1ab1eafc9195b063169e77c324434ca190b5 -FixedInputDataByteLen = 60 -FixedInputData = 271598e8e9062ad1be58bf6625387abd3a9084365292a34af9b371fe13b5563a9af77f5e3a73dcf86a28c12bc836aa5e5fdbb9d3a61e3c63c98574c0 -KO = 394f9beebfe372bc01cec1e16e8cf11bb1a46f87eb45702db0c002edef25a6096bd6c7f0e91db693198d456bb8545f4b3a4aa4ed8547bffbe0fbbc4ecc59f680e22bfcefe9ad - -COUNT=36 -L = 560 -KI = e640f7c20966c6a64359f262508ff6002c7c1eda -FixedInputDataByteLen = 60 -FixedInputData = 572b8bd48af1af41133238170b83661508f4cf716d6711441db6e1bd388c6379aac8024e7994eb57c4f5afb1e9bc9d57985c4531f95d198d166771ad -KO = d891f6627ae344ee8bc459c6da70be2f25ea8caaa23631072444556f55e9842f819999b07944c95ae938524a7c1c087b7e01f0a985701cca0f6c9a02b9634c4189945c1696e3 - -COUNT=37 -L = 560 -KI = 529d1623c60aac3c6e42e49d713302f84a879303 -FixedInputDataByteLen = 60 -FixedInputData = b346c4a854c80bdd5537dd7eb96fc53d2c26c000cb387d067d92802d2df19cc581408478cccd846323a449a9ed82fad645da75f1a9cc058f8a908e73 -KO = 6768ed577d12ea280d45a3fd767b678edf7c5486c6090fd3e9d606e2cb4c071bc07e0edf5ae13e6590cf868b4ca55c681176824bacca89eaff9b6c344915ad4f4f8482e5f1df - -COUNT=38 -L = 560 -KI = 8bd04dc53b0d7ee196d8b977d949ce3d56092961 -FixedInputDataByteLen = 60 -FixedInputData = b1eca6e065d209f3fb0550ca3b1a42a478e7d38c739b82ec82c9ea3c9a2bc74618de7a10faac61c9c08555a8a13a9a057becacf46de13772882efd8e -KO = 039275a2e4d00cc360d5b8e0e707bc2e44701c9b1415f15691aa321c8dd1fb5260e11d32ec50eaf79e70a9a8049a4cf5c171abf5e35360266421ebb696f1cf89eb2e22b3792f - -COUNT=39 -L = 560 -KI = 617074bcedb12e1668de2d6c3e858fb4b084c0cb -FixedInputDataByteLen = 60 -FixedInputData = 44d932db5f2807a46d0c7bc0c6ab370e329ea8d00883ddc3383fafe1e8e357db677adf9bd7e59920afefe9dfc5d478fd65d8fa034e5f7ffb68d023be -KO = 0b95c210b9bb5990cd73502ce06b7df2eafd658da59389b4384c5061dfef0dd286eb7861d9d0f036a33fe2155b464faed98bf4db7dca2a2acffeff8c5df4484719b603af4de5 - - - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 3ec03fe9d35fb5708877249fb78aaf23f365e186 -FixedInputDataByteLen = 60 -FixedInputData = ddb800417fe5cc1120353d752f70079043ef261084a94fa02acccd7f3f16a7ba49073fc5e5dd06289a65f07b52c9e8252fa79e4ca1434c5ae9d05453 -KO = 037aa7ee977f4b002edc8d0816effcbd - -COUNT=1 -L = 128 -KI = 79d6d5fe090f923b5891dd392287ed3e9ab1b1f2 -FixedInputDataByteLen = 60 -FixedInputData = dffa764e8c06a6128b01d9ed2711196c78e23585f97c1c9aa95706a75070593e5d016f9e7d99b5fad8d39f35086927f3ce53cf4ef9291bde126498fe -KO = 72701804cbd9071a7aca9ad439d23154 - -COUNT=2 -L = 128 -KI = bf4e3dbca5a7a00129d9e7ff17a9f4fe71001999 -FixedInputDataByteLen = 60 -FixedInputData = da2206ca49731a899d6cfbfe3bd226403bb860f13c1e6b4e5d624e15a7d69ba69c4bab44b69fa1d31f43bd47420ddf95e9cfedc974ed4afa2b43f276 -KO = 6d88d1445f8cf7a5ab8cd6e534c4f92e - -COUNT=3 -L = 128 -KI = 4bbffb6bf16a1e1a9552ce32752c00bf94c8f165 -FixedInputDataByteLen = 60 -FixedInputData = 31662da20701c052253bc27120772546280b33035dadb070494fe3f8aae37e49ce3104d12655060a4f48b152c0daa5aa82ee0b5d5707e6ec679a2507 -KO = 9c639303ed5db71c224df60b776448d9 - -COUNT=4 -L = 128 -KI = 044de43c27485a96d8077e77354b73f8c198671e -FixedInputDataByteLen = 60 -FixedInputData = d8c8ed835adfb87258023de43a6b3c3f37240a85e90dc1e2e3c266c208284d8f815c52f8e09a70975592b46b7f22dd1da2dcd5c452148ce98b167847 -KO = 312d964eec79db4ce9bbf261eefb8c70 - -COUNT=5 -L = 128 -KI = ddcc26ee7da42d6b57b6e1d3116848efb0ea6058 -FixedInputDataByteLen = 60 -FixedInputData = 3526f837254ee625bd54fb14f4a805b3ca872eefa6ce340a438df52a8394632b4ab6aa9aaa24d717e2fe75b66d0f8da3e508c1b00275fa6c91a1896a -KO = a552c1d3c95f1ba543834a7c0dcfcd82 - -COUNT=6 -L = 128 -KI = 4d3b32ea33cdde50bdae069b127b29ecbb1f763e -FixedInputDataByteLen = 60 -FixedInputData = 3c787be1496367e67bb2521a4d3de48821d713bd352841d72b0885f6a2250147918932239cb8541197efa9f75db518a6b027a5ac83cecf3b6a4ee5a6 -KO = 14303c0a7859c1356af8fbd8f5685071 - -COUNT=7 -L = 128 -KI = 492ebacfb1521255ca79da87e6f4556bc5438e09 -FixedInputDataByteLen = 60 -FixedInputData = ff0aa583d6a757b5e0e3f23c34c7f9ae0c13ad8aceb368d2a5092b25e3c13eecfeb29bec092050e64d2eccde187d33087b0ecca08817ae046ffa3b74 -KO = 2f9574ae99c0125bb654e14d5e91de9e - -COUNT=8 -L = 128 -KI = 281125bb473d36b0338419f2ca2561cbe11a252e -FixedInputDataByteLen = 60 -FixedInputData = 11640297d4eba2f0b0be9ac609f78690eda1ed69a32e66e2655e64649df8e7160668afc9880ca55e4af62482311bf34acf40e0819f3fae6d9d9bf446 -KO = bb59c274b0dddb1df0371122aa04915c - -COUNT=9 -L = 128 -KI = fa53ec895fb2b28ed1d3e19beb53eebac8145152 -FixedInputDataByteLen = 60 -FixedInputData = 8a81915be3ee6e24320eb39f711e89de9fe1bd492eb9f6714ead7e3158bc3b17434dcedfe580200a487e2417afbbb6815fe960b5e321f58d1238eadb -KO = 63db68f81afb270f87cacd7a3443d4c5 - -COUNT=10 -L = 512 -KI = c848a623a1e8cee3f0ebe5c57a0d01808a303df9 -FixedInputDataByteLen = 60 -FixedInputData = 84243227dec1cd67ceb62e0f865dcf9a0b3967d75d4da799acbee81290e42da55d679c91562e77221915dc3f57fd3a71c53600d9ec41efe202006f3c -KO = 4c1407ceaf31673efaebcb4b009d051a2f8e1da682a6a2435972cfc90ec441ccf40691f80990388f94f85821220ea99337397c38d3c99155f4734b0e5332c2fc - -COUNT=11 -L = 512 -KI = 725a42cc042c9c19dc497dd273acf344e66cd229 -FixedInputDataByteLen = 60 -FixedInputData = 3cfabc6a652d13522e908bd9c814c0f045d4602c9db4869d7a39f295f8fd6cb4cc3ba540fa8567595efa456613d8f56f68d913717fba2b89c69d9f89 -KO = af2e26dcd748999d6381ba4443376bfd73aec9cdf511e608850ba59eaae27473359a64274201ddbca3d16f037c45384d18643bb73c640e9e67b2fe96e0c82361 - -COUNT=12 -L = 512 -KI = 103d04af577d3da9fd34193392f5f6c3a7c8b0b1 -FixedInputDataByteLen = 60 -FixedInputData = 6949a729615ecd7a294b1db808bf1088cf2d46ece4416cedaeb3ddfacc2451a70a00e5fde3147e373dcf69b614ebe1816fe50bfb5fbedb3c5e21ff0f -KO = 2b63944f5fc6eb1f8e0d4d64dedf10b3aa74d22c26859a2b5ce408be1e70c0bc9fe05ab884b7993f84f5f76ed03caa1c3669e2893b529b9dcf62dcbc194f598e - -COUNT=13 -L = 512 -KI = a3797d9577038dd4c951eecf95b68d634ff5994d -FixedInputDataByteLen = 60 -FixedInputData = 742d55a93e35b6192a2c282220d6a60257791fa9033ad52dfdc3cb48ecd4a02e113233cff171102cca0bafaf1571171d7ac8f7d1d01725f3d38bcf08 -KO = ba68200846b3499cc8b5959542a38e0cbdb5a58bae92e7af8c7d3f3b40b928155a1a7f6157ed68ceaeb66bae70952afaa338f8f0371b5f4af4be207a9dbe1d05 - -COUNT=14 -L = 512 -KI = 325295dc6de58cade9481121a51fc490e64cca6e -FixedInputDataByteLen = 60 -FixedInputData = 941234a429c447a09c36984b5f05e6ced5c66b80587c8b24aa581ceea209a0f4a0a5037812f9626a437c1f08e3781705af2d3a4788c315809bf944da -KO = 1eca8adacbbfe36b570dfb7153df305642264b04c7df7b76b3129f16fc1049d840d1013339d2a00dcaf8573a6970d2f81ab5da7bf8f5757f04b16377d08f4e5f - -COUNT=15 -L = 512 -KI = 2bb6c6069f095f16bee3a35bdd0fc59b6a348d38 -FixedInputDataByteLen = 60 -FixedInputData = f66a7d6555af1c70d3fe18387c3ab1ae7ab4e40ff768ef20c9a71446dd9338926f46f0ec1bca2e4abac3c4e276b117dbe7988af1b04d44a4bfbf5606 -KO = db4f0bfc57411237fa4e73e1ed56322e3e67001be5a24559dadc8dc4f79735a91575ebad5ee2bcaeb9ed10835bb6fd3f93f85e61503de48ad62334c0ab48feab - -COUNT=16 -L = 512 -KI = 141ba92135ea5f58490acb41058cc7a457fa07b7 -FixedInputDataByteLen = 60 -FixedInputData = ca6de3881409d9551638eedce823b5887df994d923144b18a4c5690b2c76a82fd54ebeba4ff54f25857843ece1510f82bb5e05fde2f4e3e9553f8737 -KO = 91775fc66ce4c1f731f55c2e882fdf55cb620f6ed931272324d4b2161e3096487f7dffc2fd4909f562aebd08e38b41c1f2a4e80b3c8d2702e7097b0494231142 - -COUNT=17 -L = 512 -KI = 74d2ba2e339953f83001debf9df04a69efbb7905 -FixedInputDataByteLen = 60 -FixedInputData = e1abe6acea8653dc46fd260d23e5071e78e5630ba0430407ec3abc90ce11c5348f5f7701643cc6274b448b89d71afa68086c2f0716ee32b554a26434 -KO = 0797be20dfbc86dcff162143d2ab9d55ba97ccedf38e18ad189f69893a9a788ac8c0e193956d15b7a00c03359620c189343db146f77d558a187b7c7ae5739f34 - -COUNT=18 -L = 512 -KI = 1e4eecb34d46d07f7c9ce14dce1870a402b9fc0c -FixedInputDataByteLen = 60 -FixedInputData = abc3e4873d3392d20be29b832fa09faf1d44ff012e27f2ddb543a3114a59234814bf2ab49a0b2c922c41bbfa8e9ba618ff8dd124247d9aa58849d3c7 -KO = afcd8fe1b02f77fee3c08a5f297d7d986f594d24ad266da4b1ca2eda3496690b7fbce6d8aca0fe459b83bda68959c7b56fafa209b7cd78b97a6949228151ca09 - -COUNT=19 -L = 512 -KI = 9d44cf8b817c05fea076a0edc4442a45d804ab43 -FixedInputDataByteLen = 60 -FixedInputData = 5e2276e8082641d039d779d8029696524aa9dfb192c312ecfa24c9a8085fa88b7991260cd31ca1b674688c10ba17ac7186e126eed84790ce0158f64a -KO = b8b6172c6c401f32538bc54ff83565ffb879d97aeda8f16fc12877f176424d4130ef5527557c5bcfeedf27b446c99ede1d3889b8d3e6ed679ec23bcafdfc55a4 - -COUNT=20 -L = 160 -KI = bb479db75e8ce6eaa1691af696e519ef2531bd57 -FixedInputDataByteLen = 60 -FixedInputData = 689431d715ebbea7e598884433eb093b5b5742d676559fe1949bb9f0df387b26477c37bb6932c2374822e4d6a6e2b6bba40049aaccaf36b074eeafdf -KO = 2959cf16e7e0d50b1a424ca7d9a5873e81c0e266 - -COUNT=21 -L = 160 -KI = 904fa1bf1e296acb6d26b3371ba8d68958e3f816 -FixedInputDataByteLen = 60 -FixedInputData = b9abe3aeceeadfd6535a6d1dacd69641e6d018c6097127d009e4abc7332ca0eefe37392043391e538dfcdaca6508d59fa0cc02400ccf202e65e45570 -KO = fe508cd00529ac70d500ae959360d985074ae7ad - -COUNT=22 -L = 160 -KI = 41d9671991af7509cf0f944057264577c6631cee -FixedInputDataByteLen = 60 -FixedInputData = 2adb365726255286950ab9defeef4944946f900fbf99606877867bf7933e09a4df40e0b32367b434213b4504d7bcf52b7be8cf1c0b9fcc08c6b20500 -KO = 773113f2f6375a4064197b8ae2c125bc4e3bb82e - -COUNT=23 -L = 160 -KI = 3bc9440610d19d2d3c1e26d95afa149225a76931 -FixedInputDataByteLen = 60 -FixedInputData = 6991ffc507989f5a0aa65c86e386f2f287f94582db02a1c26f5c5737dcfd0f1fb22f4dbee74546c07c1334f082d7eabcb4038976f551dac6eab1235e -KO = 495a3f3d1457a1ac6f0577571a3e9c1838579fc4 - -COUNT=24 -L = 160 -KI = 1aea8b3c6f94f683d8dfd4dcb30b2adf57555c0b -FixedInputDataByteLen = 60 -FixedInputData = c2eab677a91d9444dc26c7cda0c00a0b6cfca78737cbc8910f4f5e2d6c7d0c76e6db6911eb35643b970929a223bd86227675e26193d590401e1ebb24 -KO = 759abae73485d53de67f6797bb5085b6f7582eb2 - -COUNT=25 -L = 160 -KI = 2b1170f68bbf75e7c4865a9efb1cc5ecbabfb7f7 -FixedInputDataByteLen = 60 -FixedInputData = a1f38002fd49308b40265a5174b75fe10940b41831ef40fc56510e068a455fd57ac64d27575ad9d33c6e4c80230fe88d876e2416c7718364738e4205 -KO = aa8a5ebe2f950a9672bf23771fb4aa0047990d53 - -COUNT=26 -L = 160 -KI = 55f66e983c54cefb205bb0c4f76f5ad860718f4d -FixedInputDataByteLen = 60 -FixedInputData = 4ea8935356700e1066c18232d91476ac8806b5db9d6cca7c93b307ce98880aedb8b5bb0f3898d251f6edcef42d50449039515f6e3e7cffb28132f8ae -KO = b05a30ce48917b1621491eeb04dc704a49e69d94 - -COUNT=27 -L = 160 -KI = bd6223f56596c0d291411c6cb4c5f811400c8053 -FixedInputDataByteLen = 60 -FixedInputData = 868376f5adeeba81a3ea2b89f57be0da59e954f2ebc843681a6bb247a538cca22b2a94d08fdef7d30d6cdc360498d7215e0266ae2b88a8b2108a7cdc -KO = 517a6cc826d9cd83fcf338698293307bbcd38ed3 - -COUNT=28 -L = 160 -KI = f2483108d26f70b715e8e2f3cecb2c1e919f057f -FixedInputDataByteLen = 60 -FixedInputData = f561d158562760476045ba2390859f7ed3ca912a8c7b37a72aae21999045ce3bdae268c7f3c0d7d2aa386108f3b1a754933ea21abe2f0bb8b8e12426 -KO = 145240b3d5705e1c5ef25b9720df9ce1fccf2106 - -COUNT=29 -L = 160 -KI = 5c7a3caeeeab059839cdde8b949d76ec44141d09 -FixedInputDataByteLen = 60 -FixedInputData = ee5694ce850d97410c233d4488b884a3cad909f2427a12be9677c7a690924bf47996c08c58f1d9589f78f4ca56b2742b7076477ae86baa070e1e7008 -KO = c92b34a725a85257bbcd989acadd9811a08e4275 - -COUNT=30 -L = 560 -KI = 509e69957088867c41e54f8eebfd8c66842b1f06 -FixedInputDataByteLen = 60 -FixedInputData = ccfc4b1bce9d0dce52b48465093a6cdc7d25dcf5e3dcfede44eef3391451d16bec1f58d6c8f6a36174248d20ea07515f32266b25bbad21e4bc0b11a2 -KO = 902b4ec547a6f10a948f074937585ee27c36edee77933a6300e62ef03ee637d90fea2ce824019eba3bc206820e5772c7df18d80680eaad5b1324fb77dcc34a4abd1bf3ce2c95 - -COUNT=31 -L = 560 -KI = 451a8a09f6dcddda94596cb22cf43d87f0e26ec0 -FixedInputDataByteLen = 60 -FixedInputData = 9a9087f46d4b80a21acb6c2dbddd8f5a22d898e56a602725e62616ce680cc4389fe2bf26427126297800184b2786cd42efc6222779f24e383cb4b6ee -KO = 6bbf995c657047f058849d4d887966d5af08fc5f2c7de6c98a20259c45aae3247d132529579093203b343c3a2737097487e204978f936e9142b3c1ba4eb899023c22160b9eea - -COUNT=32 -L = 560 -KI = 7d9eadda1d6a0e16726c90773372988af007da85 -FixedInputDataByteLen = 60 -FixedInputData = f35df67fe8ab68eea052964232b8e6581fc27a37a58428f7b4dc2e132a6ee9c83ebab8df1fbc3cf0cdd514749348453572f751ed164a56a6913cdcb0 -KO = 07f15a750603b429620cf66a4897eeb45bc635e17aeda9ee900a9374d68d61ae4f7b2284b26a18d70f594208b9dc35edeb36bd22d25cfbed93c37f6b37dcea965dd95a7f2f09 - -COUNT=33 -L = 560 -KI = fb8f2dc6b489bbd6f789e3c3954e8d928d92db97 -FixedInputDataByteLen = 60 -FixedInputData = 3b7918ffd00da64c04b6f9425281c5622deabc467d82af79cd2e4b5e70082f102f845f129efd95eb402c3347b189fd67918c1e0c31956e99c476799a -KO = dfc9c13aafde5db3c7935b2f089c637a5cd699570cdabc49fe88f02822baf09c9b896ac31e66c601f7120b5dd3151eb6b9aa3c474bac02b780a0fc58f8217a38619c4bab474b - -COUNT=34 -L = 560 -KI = 560bbb6527b7891cca4e09b95d16156250b2634b -FixedInputDataByteLen = 60 -FixedInputData = 6c3c782fcb63b867be2bc12c28b8927b410fda3375b40d2762c10d2b77ed997449f125e41275228f65ff36a964c0326514097683952528773902f269 -KO = 704f62d601a32e5d5b3ffa3c96647a1f09dd372e67efc45a6d03ebe463af9d1465d9d736ad1bbe3f109374893de0db1118bd22b2799c6ae069b9055299b2eaf4a7b75590c3d2 - -COUNT=35 -L = 560 -KI = 8e0f871436bd151c2bb06ed012c401de34c7b1d0 -FixedInputDataByteLen = 60 -FixedInputData = b645dc1db24adb74cd85d0d5cad3d118a633435def5048b9aa904e55f629c45f9744513f799d87e8cf1e850b15761189f496dd955b2f866f800c0324 -KO = d2044ba3a73eee005b59ffa99caa0aeb6e15e12526921dc70c0939a4aa352cbadc9c4475050d69d6bdb0614ec6631bd105dea8067fb02094ab8537ba96be167e272b15bb7226 - -COUNT=36 -L = 560 -KI = 7b027a3a01c2b028c97fabe316fe13afd0abe3b5 -FixedInputDataByteLen = 60 -FixedInputData = e2bd2ea645cdc99b93689ff1b5bacf423edbdfa4bde99570b99cdbb4cf770226cb92d19f9812a52456bada622b0e542f46ef6948699d3a96fc2d422e -KO = d4813e84a43625a9fa2139b9ebf1079fd8febd2453b718b4e7eba1fa5d01b1a73a50a8cdfd59bac68239c220dae989c802f58de7aad6f0d4ea7494d840bbc5ea5bf09951de70 - -COUNT=37 -L = 560 -KI = 9fc95a95aa406da70ada48cf6b82c819532aaf49 -FixedInputDataByteLen = 60 -FixedInputData = 44f02ddf617c2dd23a70e280735fd6c057324d466e471825f42f499c8fc6826a59111ae30f129606814606216553968ad6d63a1912ff26f05992ea8c -KO = d5a8ef0c9c6026c21a3f31a823601679dd787570267ab34bff4f8fe93b79d1e9ec81a4fb9ec3bac4f4c0ae67ea90953e4f897d633021b9d8846edef8b14d23024974a794be4a - -COUNT=38 -L = 560 -KI = 978121c62bd6c1fa3d4f5764caac1c14e487f008 -FixedInputDataByteLen = 60 -FixedInputData = 058ad027583e3cef92a33a2224aa97a3276eb7a7f9effc3476ebc2ee12d6c6305663b57739ac0c42687f591fe6f19c23f8c563843c93207a44a3521a -KO = 965e6e165de32a17c4a6cd5bfd6cb70586b9ea22c1986707f19c236eafef9b0dac7ddbefe5244f49cbe3dd407be594d01a176b3d4b5178eab1dc13e4574b5fa430e3f3919f7a - -COUNT=39 -L = 560 -KI = 90b569443683f3fdefcd00a7c7488727b5b47f09 -FixedInputDataByteLen = 60 -FixedInputData = 9ab4533155fd125c27ccc1c85ce5ca05fb3d66a2db5b1fc64acde8a535d9644d3ef0487fe20734ab0d333b19e179fadca82cd86658b53890093b879a -KO = 50892ac022563019f7114aee73845377ec45d06e67acdd3dbcd0d3535d61e578046f3bb06c6fe4c4de5b60ff1173404ea72b0baa79e29e3d4a43024b980be1403dce6f6aac5e - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = e4e0f745798b025615a82bc8db2ed407a42b7a28945ba1b7ad7e96ab -FixedInputDataByteLen = 60 -FixedInputData = 3475512989e3dc848feb508e940e22e36778b7e8e66c035df0d851d53b83fd8929038b3bde6bd2059b2d392dd0d9c98cbe071f07658937a5fb01742d -KO = 704b5feea93ba6be124c2622fc37154d - -COUNT=1 -L = 128 -KI = 4e3121b4bd6a30484576b257776103e48fa1335c03e5e25192196585 -FixedInputDataByteLen = 60 -FixedInputData = 2b6cae5a3af56d3056ea3623cb48664bfeedb02da7b1b43bffa1cea62a320d335ad342c23f5ed87877e783b1a093e4380ab9c3dfe89ecc4bbbdb8a08 -KO = 488307014cb6d54b13436cb406ded1c3 - -COUNT=2 -L = 128 -KI = fbdfcf42dc51c7fe953f1609ac9a57a56787e76c4427076251124499 -FixedInputDataByteLen = 60 -FixedInputData = 7291e4f4a3905faa584e46ad2d110dc607016c80184db88bdf16cf6b3fb51e46864aa5206d48d7948166d474463e1e903d5825cd5308bb75347d3be9 -KO = cee71d9fc09cd9ab9d2cc22868aff081 - -COUNT=3 -L = 128 -KI = b65e468fe28275bfb291262f97d8ce81c0cf026d167376bdf8cb9d25 -FixedInputDataByteLen = 60 -FixedInputData = 996e093373988080a37793548be4f4db086652bed46c6499e061d9c284cbff5aa6e5e072efa7249cbd576697ad7048c9ca0ec6f89623a89e35a2a062 -KO = b08cb5f4d81ebe34d2622f09610cf194 - -COUNT=4 -L = 128 -KI = c009a89ca5d1b63cea32cd8f5e326d712022bdc9f02f11697625d5d5 -FixedInputDataByteLen = 60 -FixedInputData = cd55b30913d8c93f0944885a58479f05c563737c6be23ff19363aa9c3a1ea3b199b2107178e81b5ddfcb26336af56ee5a1949f6ce93bcd6a42033b8e -KO = b1030ef0c2a3d969cf48164f2ffecd73 - -COUNT=5 -L = 128 -KI = 1480f18e3cf1690c7e2776deeb66d867170eb9ee920e7b3a8c8c9da4 -FixedInputDataByteLen = 60 -FixedInputData = 7e726e0bd12be74cee9c804bc7b8414f1abc80da632aa7eaed4d1973663a88bd590bca01ab7711c99a7304f33e50e005f4d34272f34d8a4936ddec27 -KO = ff12e0e3ecde3b16d39f31e664bdd395 - -COUNT=6 -L = 128 -KI = 92b235717da1e669231c5f003aa511c09493b7b919c252f7dc39e913 -FixedInputDataByteLen = 60 -FixedInputData = 86b550dc4c5c733291b98466e4d10181da3ee5695f597106335d612fe0b83bda1d53f61965cdf765c38e1dbf93ad5c7fbe80425de357431e95a70564 -KO = cedf4b43fbe579efbf1087a41d11536f - -COUNT=7 -L = 128 -KI = fb34a2ee6eac9d86b466aed54ee1cad46e626fecbdbf3935cd43ef37 -FixedInputDataByteLen = 60 -FixedInputData = 08eb497010148a5caf8bafd02a6140c388f53e8caaf1e188478a71e6805d9361e768fcdae3812ae934558506381cca7cdcb2d221fbefa37f728d51ee -KO = fc5fae3a49acfc4b79e6728c2c0c0eec - -COUNT=8 -L = 128 -KI = 7c428098eaacb2ed2541644079595165686553429865cd6c7e5d63d9 -FixedInputDataByteLen = 60 -FixedInputData = bcc59acde8ac445fb6ed95610582299f0691615b817186074ba6b5d53c0afebecdfbbcc5048d19949c308692bdfe28259c6ff70efc5f0b427fca2fd2 -KO = 4110f14f85bcd08d8aa6590251beb1e2 - -COUNT=9 -L = 128 -KI = db1adc2f558b5cbfc2c9c74d428c2a2f6be8bc53d49d72570daa1494 -FixedInputDataByteLen = 60 -FixedInputData = 87d80f0d31698b800c98452547e04f938606dfd9d5f7596997f531317eb25f756b4bad7953cb2435dc92b2c27c7af36dcae532b1dda7a57fc6300191 -KO = 918ff509ed5a3e3650cb95651ccf0685 - -COUNT=10 -L = 512 -KI = 808dc36f67fff738fbdd92ea17ce0f19f72092e1be9b1fa545fb5706 -FixedInputDataByteLen = 60 -FixedInputData = db5a9403b22b034ab2e53f3dd94b32b5d1da1d7acc1a320d8b6bc024547d2235b9717d84582298792ffd4b0e841bc990d4b17d5ab73c5836478d3ee5 -KO = 12ffa59662d480e98784e4ce48fcb53c3469a0170c52bcb09a0a55ed7dc01a4c91cc6675713012e4eca448d7c5312e16ea282b7a3fa1fda6de73d3ccfed7494c - -COUNT=11 -L = 512 -KI = 91a4aacbae7e65d746fe99a0112d67ba8e77883477dbcb987bd04641 -FixedInputDataByteLen = 60 -FixedInputData = 2ed89323b49fd7350df1e106f41fd91d609c4ee629392efde980811394b4dc208545ed8d6e4ad19367024aa8cce87efd40cb118dff48de12a0d64035 -KO = d38d10ac795b5f52b7ea6dfcadef87585edd56e262a88c77160e9a6b9129c228880829d7e8fd4110d4830407cb467b2e1934236819f7200bca55a4239fe02d7a - -COUNT=12 -L = 512 -KI = f98d1d9d2daa8f073d7879a03212d8d6f57ed4c57615522066a65840 -FixedInputDataByteLen = 60 -FixedInputData = 1dbc161254c378013031f48472e040cf8883378b2cc89ffcb490396a6f231fcd2d8443024d99dfeabaac55b2632e6cb8b26684dcddf36f2f3c573bd4 -KO = 349abe804d7d17accfbfef2d1b1d4b9335e97bfba8b653b3f7106ccbcabf662176580553b6d28cb4064be9c07af56de593d4eef62e7d3c8f9d235d52d5deb2a0 - -COUNT=13 -L = 512 -KI = a8cf173f86fec927b45158a3f3bdaebd6e50405bcae8803a17980994 -FixedInputDataByteLen = 60 -FixedInputData = 457f3eed46ae0179d18e5c58324f6086bffffa9b04f8dda7cfbbc8f675688d7ff1cb6361de5be50486953668d72174613e60d37b53f4729d1348c762 -KO = 97d11237207bcb36cc0ce5ec05eb8835ca1adf1c302da41db879241b531942f86926eb6411c0639a73247925d57a7e28c73e77d9731ee76ab81eadac68b83469 - -COUNT=14 -L = 512 -KI = 0647e3200e7d2267d016d51af7dc1ab5a644b8585f0fab64ad2926b3 -FixedInputDataByteLen = 60 -FixedInputData = a48377dcbbbdc9989e0a9d818ebcb98ab23e0cea74118a4f34e8217f383b2e815ba354dd75ff45ab5660dfd8dffcc849b18778b804bc13e03da45e84 -KO = 074eaaec235b573bfe78e183c3deb6fa08f4d28015c6420f46172f1642c1acba31d9c22ae89e9a64bf0baf2450ca4de1ffe2fdc36f0ae65920511913c82e58ea - -COUNT=15 -L = 512 -KI = 3ff2497177a2917d2ac5cf644b73f86632689603a8bca4f13f17d3c4 -FixedInputDataByteLen = 60 -FixedInputData = 591a0d7f5c715cd751715f63aa5b71b57eb2444d00beb1e903137c2820939862a3906a2a9ed883f136a80d4f5965329bc829a3f97e8677acf9202b11 -KO = c3af5f80dac5dd00380e588f1166d68a69d2aa6d4d865ea4a23c89b81cd377816d4904078725f1a69b4053929a70e46f40ae73f8835832f47634578b2c3a2935 - -COUNT=16 -L = 512 -KI = 8eddeb6e05740d2cf04c486823868558a5217bae6260777e9cfabb39 -FixedInputDataByteLen = 60 -FixedInputData = 6d857b70c49e766cd52f6cdb10ac12d758b344b20f25b8840b3ee653d392174ad4846409961c5daae60b85a65b3bfeb77a581c9e887130552d30c305 -KO = 22182ba352523e6ca6421483ae4f391f5b65988bcc853a8561b89cce99c67d9c62a5863d41e2f313010ae484314ee70d0cdd7f1a61b04b71801533d91b978d5b - -COUNT=17 -L = 512 -KI = ea0061f4751e933abb314e2dacc264dc3cd4a5e8fa32995ff99b6a63 -FixedInputDataByteLen = 60 -FixedInputData = 730667ebdfe56d9409ea53fea68cc75579513e6c2affae53745941f5c3cde0d4da7b02868cbedffede8167f486f2fa9f9715f2504c7c1a6e5dc5431e -KO = 85c3d25ee0e133d1dda76a4fe271f296b4d076c69744f00776489c38a4b57f94b4f67982d28e6e958655d95144763f753090fbf98b6c286d8b40cfc482036eda - -COUNT=18 -L = 512 -KI = 411858a0e6315cae50de9142051e89466f3f146dbbcd833574380c06 -FixedInputDataByteLen = 60 -FixedInputData = f048bb76e1786b867e1416bec8b5057e3d8e12813f1fd592f38f285db47ef7c83923f763f393b656ed8c03baacf9935d9bbae263631f4f26bbf308e6 -KO = 46eced330791f19b49fc70b98400e39cd9fb905df96fad6fc2d43c5874b927d965c6a3140b860c3df3ffb1bbec9dd3be8f833ca9434019a299aa83a079333e98 - -COUNT=19 -L = 512 -KI = 9bfd5a1056da5247e910e37e9dc7bc33009d446e24ef1959c378b4f8 -FixedInputDataByteLen = 60 -FixedInputData = 5f3d41e13f4d98d01f7bc9636707c70a74ea994b65ca62330226de9e4f8f7bafa3480f306f13852b1d79f7c3c3cdc12ad2af28f4202a843845c4e47b -KO = 8aea9c50c8986ec0b9bda1a0cfd02d7c532d7f44e5422269bdab979e3b0ba39d004d1a187fc22f17dc40c25852698fe9c978daf60ad7c41463e15cc9e5c4f762 - -COUNT=20 -L = 160 -KI = 8fc5f63572dbd3a70ac9ba250c46cfb9fbd7c73b492f65bfd7cbd21a -FixedInputDataByteLen = 60 -FixedInputData = e53636754bf86dfef51887247e22def11da7eb53b94d1322fc356c8a4a46e11bdc6400a6ef500f9f33f4f71cbc567b014601286998444a50e3a73d36 -KO = c2112db96ce7b0a7bceec8aca30abb6fe3e4106d - -COUNT=21 -L = 160 -KI = ae81a9ec4e45b1b0b17ab88e8ac90782cef10b807976cff05cc8f448 -FixedInputDataByteLen = 60 -FixedInputData = 7200da74443c97e226479258d6cf1b49681bf2f5075374fe6be2c863c54a0e70bf7e85925a080e9e7d2bfcc16d39afd37809a6f1c61b683c73a2e95f -KO = ce43495741f070780dc012db8a13c3ad5e84bcef - -COUNT=22 -L = 160 -KI = 105781a3daa7f4bf62e34f6cc4f7822ec8c5b8a98fe933774a35f4df -FixedInputDataByteLen = 60 -FixedInputData = 87b6c33774a4809a97f041c869efc071c7d6d0e56b9b633d54e35e4e2b3920d218f6c79964d4b17a569434a10b6be2be7d85d53cd169dce0fdcea361 -KO = 69a1c020ffdd5b0bb01a4e20213d4f8cae308f4e - -COUNT=23 -L = 160 -KI = e9e5babc312b6d226d773830758d1a0ae003ece5c189cd325fe907b7 -FixedInputDataByteLen = 60 -FixedInputData = eefc9cd0dde49a8328198c2bc0b01e5d5130ea84cf2fd2a1dddeb2df2ab9036bf625b8e871f130315ccf83d7525770ab0ef64bb59852137a03fa6d13 -KO = 3b2473e16dcdfa244e826a3d3453df2e4b6bfb52 - -COUNT=24 -L = 160 -KI = 9f40b98e9c093f1ad6cdcb9aa61a93782897593ae02e9be670b6e197 -FixedInputDataByteLen = 60 -FixedInputData = 0776a65e0c6e08b4350bca4c12d1319fd793eed4be5a71bce472b131a0ca6d79c773d38dbcccf17ac971d4352c4569faef7a678229552af96946d80f -KO = c50edd39ee9a0ab8a9d3c2148a34d7897ae39188 - -COUNT=25 -L = 160 -KI = 4889494513127bb1a82c363e100f81cdc2777a0d67acc43b61b03426 -FixedInputDataByteLen = 60 -FixedInputData = 0f97777981fa1ff7f3cee8d60c6e4a880e4aceee2f2e777dcae18f94cbb740f74cccaa630292bbfb016bcb820a7151c7877dda5eb93c798bb236ca45 -KO = d93d378cce68f395fd18a948646cd3c19e0749ed - -COUNT=26 -L = 160 -KI = 39345768ce1e1f97fb6e825d51372d967fb32e91d95b5e1d797445ce -FixedInputDataByteLen = 60 -FixedInputData = dc036f7b839397a4037c6e15aae208ca5c708d0ae680dc7d5fb74ea89bf963827b2e0ebc99cab495f33728b7d330075df231fa090c6dc8aa0aa33bd8 -KO = 98072983f6c488ebe4de320c30ce45d7648e3500 - -COUNT=27 -L = 160 -KI = e0ae69ac3991566e6bc768791cdfd72f928bde43fdcc34609bcc59e0 -FixedInputDataByteLen = 60 -FixedInputData = da66494107da9f368d2ae6aa16dea952bd7b43246f168b7f005868cd45aa3d0d099daeb581df1e8a287e18797cc2da71407c386834ee583951e609f0 -KO = 82f32c11905d71ba5034bcf17946d6f524e62563 - -COUNT=28 -L = 160 -KI = a6badb19f0494d097720797c5e12aeba14c0fe7d92c9e420b18c67f8 -FixedInputDataByteLen = 60 -FixedInputData = 8e7467f05f6174f702822022b6c7ae05ec7b1722f778587ab0dccbdf1a8242bc24fdae5878ce2b228c8abab26aa526cd5c30b342b3b1150a46c9ba5c -KO = cbe4c5620ba01938aab184640eb34d3e4e500e57 - -COUNT=29 -L = 160 -KI = 0963aa1356825e610c8d6400e9f83f973f17d97a8996a6be1e01637c -FixedInputDataByteLen = 60 -FixedInputData = 7d790d5e63c89ceff5bc9643ff9b29a610e599e85c0c24c292f8c05c28df7d0ddd2e1dfeb7b450fc2955234087ee9468cb998dc0c6ccff9375e017ed -KO = c7404d4d0cb5bf9ac210c801d1dd23edad59d05b - -COUNT=30 -L = 560 -KI = 0c7f232960bcdefc63670b4d07bd87b796eb7f31b1346705d4be2f31 -FixedInputDataByteLen = 60 -FixedInputData = e342920dbfb4a50a9e5bfeab495e2fc72efdfbbb9442c731db5c6094ed0898a2ed760cda801b167d2e9b4e7c33dc3940f91e415639dd6486ffa6f6e2 -KO = 07f9c67117f170be445492044c68724ee4b3c15fe5da01c65ab15ce2cc072d6a44778babe44f92779124486cdde39fba4aac2ea7230a76df382302848e0673508bc9df4600c6 - -COUNT=31 -L = 560 -KI = f0278a31f7c6ebbbaa70b1252e0578f79d5e64012787a5b96cbcba35 -FixedInputDataByteLen = 60 -FixedInputData = c000c1d360b624286dbffbef9d1215abd41e98f5ab7beef2079f2ecb7b4c8b9e3d6009c7beb02bfc43685bafba60cfbd6778bcb58be62aa28152f648 -KO = 614ca980f2203660248259f5e847d86428d7022b5febeb46208a633675f94ba8228bb548599d99ff5e1deb04aa686def0269ae52ba212b30c36884f67d7597b5cb02dc330431 - -COUNT=32 -L = 560 -KI = db6a9e0a4a514ae85f54f98ceff10e89e34db67faf0ce4296f91a097 -FixedInputDataByteLen = 60 -FixedInputData = cfd8b934b8ac8926a43e2a319c51eb38fb4736f71d4fd3e02525be5cf0d8a106582051eefcd380dcc2c3e87f08bf43b33d834904319360879b472092 -KO = 238dfadbd5daa9f61559f548d897eddb79cd77b4b10641c2d712c1e1974aff9350a30a17393a0c6c214b3c43198d96c5ec87194334a428f56bedfaf56507bccd193d5b2570d3 - -COUNT=33 -L = 560 -KI = 33c48e55073166dcb2905071730c3ab3f81c6045985e879006f998a5 -FixedInputDataByteLen = 60 -FixedInputData = 65cefc2e3920d0d44bd86dde6862d896d1b06dd7cf0040014237571a987540298fe13702a0a027bfab9d74e6d973b7e34530673666f6a3ea4bef5518 -KO = a78c5b0efc6fb600336c12d11941efa47d2b1d74e67914ac6cfd9d48e009b17e2ab13e08ff7260252c88f39f19c4e2b817bc2b57e0e5de2eb0e15983d0c743f8d2cdfdad7d4f - -COUNT=34 -L = 560 -KI = 6eb7abad7219bdee8ad056b24a0de54e2cb39485e9ee4217837c7e56 -FixedInputDataByteLen = 60 -FixedInputData = 6b1cdc064e0641e6a52957e929604b1481f5879a909ed253c72b7babea1f46d3e3689661b0525bc5e01ab05bb1356805b4975819f79e1e18aaeea74c -KO = 86d42babf6cfe3a2cb5306064c9c011c043398fa36620c911da19e92a92f74b7c366bf370b785c8dfa89cc74a4e07f3833be5a8207256dcf1514add590b68f508fd4cfa8f4ce - -COUNT=35 -L = 560 -KI = be54a58c5704b0921577e1b5a7de51cadf48525e4c7e12d0c5612cde -FixedInputDataByteLen = 60 -FixedInputData = dcb8410043498a9c127779e04916d677e74c25c1cdc340027bc2e1ebbe551aa808ecaa7886ee58ee261f36739b9a0bb2cfed8142cf9fc6dc3e73e48e -KO = 56256fdee17215e4fbe48175094b089923b205034a788318e1e5a6d019ea4936421e2edfb0d5b02f4edec8a1065ab8632e7f5ad5cdc382d6464aba8816463f11686adfe986de - -COUNT=36 -L = 560 -KI = dd4e47be6e84a6fb6f752c79bf993e36cc5b3a2e2bac4616a76ad624 -FixedInputDataByteLen = 60 -FixedInputData = 52ee7861ae6c0e4585b944ab9521a5c8a383321f649ffff0266fe44d53f7e6e6e267f21ef675821a88cc6912ca6805042b5dc326af53672f01c875cd -KO = fbd6377ebb5421541e9f13b04cc0ff106e2f095d95ff191cae1b6a912ec76471e22f013a3f4bb7d293d326a2a92742e7ba6512a11f715c9a805a439a5285f13e59650c2942ac - -COUNT=37 -L = 560 -KI = d39707bf7e1bcf164394d19b3355ea5e7e4f6f59c438a2f2157b5344 -FixedInputDataByteLen = 60 -FixedInputData = 27c2e7bb69ca54ea9e4339cc21fd78e2bacb651b43c854997e6defcd4f2603444aea4e0a21acfbf99f7773738c1d5ffc81c9727f04958e9a638547e9 -KO = 89eb147e31be8981aa2f3f5dd9f31446d814f68206803f17322731b58b5713d022eae66f093a217a7ac48439e61260099c047a2606dcb2075ecce384f2179e362cef39ec8dc3 - -COUNT=38 -L = 560 -KI = dcb6ca9958769adcda39f462cab66e3b86668c5419285d5d78580f74 -FixedInputDataByteLen = 60 -FixedInputData = 381c9663a6bf2ac98ff09ab0335f43c0fdc6d8d0e636ed4362d77a13f22aebbc27b7c5417a48edba5fd53d8b8769bd31f3ba3ddf110f8cf1e7f1e9d2 -KO = 91b1f253b189fad3a630b42862e49ee9c07a6b5fea33e204c6bcfb2143a7e28264503c33f01c8b0ca6bd78f36c97d7a284d6822ab1660dad32b4f9a683c92f7c93ccb4800cb2 - -COUNT=39 -L = 560 -KI = ea3abbf9ad39e91f4f318c78c4fd9e51ea2b81a20c54ae0d462e7b74 -FixedInputDataByteLen = 60 -FixedInputData = e02349821ae793982fe4f122d28ebafd2bc7415a96c48a12f055e3c361b9c86a5bae2311f526e5d462866742126b6602a8270a30574d1ed1ab2f473f -KO = a0f4aa0f72886f525acd6a3cfb41f2b242954e170603cae8d98bf2db76551005e26a61c0c351b498b4de3d84bd18e48aa32c6742de0d66b0ab9e011050c20337bd3d0e037bac - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 4b56b6255a60a34ad2c2799602075a9794d4642de3958badbac66af3 -FixedInputDataByteLen = 60 -FixedInputData = 4405f51764497f39689d7bfece4c40bab359bc31a664390c433e4713686b4c9db1cd0b837a77805d94b080c5daa192e88bf429838ff1a44096146610 -KO = 08c3be777547bc84eb7a964ccc437b27 - -COUNT=1 -L = 128 -KI = ba7dc356836228e8d970db4c70bf0574a8b78129b99a2d8ebec6a9af -FixedInputDataByteLen = 60 -FixedInputData = c723f0d86eefd13e2d9a01c0d3b7c3a5d7d45aa264c3410f7af8a673aea8ae048bf08cf7fd5f9ce5045830acab3287294530b142c5e069724ed6c057 -KO = cb677fd7eff9360a8d68ed9317542109 - -COUNT=2 -L = 128 -KI = aa1ddb996541508f7e6a406d041711e7c921abf32abf94a6052a5420 -FixedInputDataByteLen = 60 -FixedInputData = ba4446dc8977704b961569c02f44e7655cd1b14f790bcf0e8981184a75f358ff807d717a192c32578e86a119f43f47771b14f4eba29f4a794e06b248 -KO = 4f1de3784fbd98aa601447f05bab2a94 - -COUNT=3 -L = 128 -KI = 8bd7589fc840a5dbdabdff8c36f6c06db9b12bfe9624dadb9b7eaeec -FixedInputDataByteLen = 60 -FixedInputData = 6d86af5ef2d9ff10f2ad523dc91ebcdd7f08db851d7386b4b67d88b7bf85b13a9493c16667eec964253d1571edab04dbe6c87f3f4d9facf477145102 -KO = 8210f41a1297c5f3b4bdf86f1e6e8856 - -COUNT=4 -L = 128 -KI = fd6517d8b6b1282dc213a6bc641e4b8f09f60f3647f5f2b16d9f1a0e -FixedInputDataByteLen = 60 -FixedInputData = 85f4645dab2cd27528b017607dde53e03e4a9f1eb7b61d25c57a4fd1a1d72865bf11d88a625159ffddeb6af935d61a3a737c659893a700a08379c265 -KO = 407fc10a79600f4fb62dd3e088d93482 - -COUNT=5 -L = 128 -KI = 544e69fd822adb47ce34be99d93a7ea07bf8118f40a06a974bbc981a -FixedInputDataByteLen = 60 -FixedInputData = bfd52b4ed16a265603ffaec6e2852547cbd30a926aaf84af451f15db171c1e45e68e461026a657b94529ec256e8bfc9148a70c43b1d49fdecb419cf0 -KO = da37e8e4218bf7a33818c1a6512b3d40 - -COUNT=6 -L = 128 -KI = 99c45f47a177f141d76e1356307f81e0539a93cf666796c516dd621b -FixedInputDataByteLen = 60 -FixedInputData = 0a38c4a0161e79c2a0604ebf36a3b2b602d5b7c7a4bf7be56911ce807602e894d12d993a964cdb86eaeedb557c6de02c45e144758aa956d16c31ddcf -KO = bddec7c557d9b66e40b2e2603603b46e - -COUNT=7 -L = 128 -KI = 600eda43b8cd736315a865315704a3837b08b17be45fc3e2c7bc74a9 -FixedInputDataByteLen = 60 -FixedInputData = 9c8d1bcedfd598b5fb9cead3d79c110de5fa7c12438bb76aee5e8d51670461c926e6ec697e83cea4fd98e1690ef6100b12fcf31309fd746aa0987771 -KO = aca5e26bf24ec07a166def032231b19d - -COUNT=8 -L = 128 -KI = 1ea20b125d060f73a80a866b96dbf9c7c7f479f82667fccd2a16aa56 -FixedInputDataByteLen = 60 -FixedInputData = 7729fbfd96e1428e1cf91f204d115f86e20628c96b3bd74472c1b71b6c1a5fc12c15ae344252e40fd875de7ff4cdf86dcffa54ce7abe3d3e0f37c5c5 -KO = 4a31e8f23be76c390a95bf2661f8af70 - -COUNT=9 -L = 128 -KI = c867eca4213814f9af81a313d301e5e674bbb367d8de5eee2fe9cb2f -FixedInputDataByteLen = 60 -FixedInputData = b3b32744e9add11c03a9a3320214d2b20f3e9b8645216fd573ffe5542dc66e3f7785ce5ccd298b7600fd09640d65b63d464b9937f3015487f49a5994 -KO = 980a3873fe931c446c2410381e42b98c - -COUNT=10 -L = 512 -KI = 5386a92636b4329c30ac58ed2633be90264bdcd63fdda93b1b59cd26 -FixedInputDataByteLen = 60 -FixedInputData = cb05d332da2663f1121dbe1fb91ed3219c6758e826b3ff596735b8b2dfcdcceadc9b255d58aba1f5ef06f24e40a30661e696a7d8bb69b4d972cc669e -KO = 09b7a71700dda3fd53b14d1a19182f747a8f91727a0c4f166143854dbb77836ce7f95a8f1649ecc4b1f9a3b66e755a59f21082bd5a7a1c5c86707b0dddf4fc26 - -COUNT=11 -L = 512 -KI = 235f018bb922774a63aa7c6b4e21c94107f6bc9657807df8a87fbd50 -FixedInputDataByteLen = 60 -FixedInputData = 02074e12f953542a405ad1520da0c1722af5e0e71ce66447ace4900e0b69f2eca681ee66c2f6b3859302dd5983b3afb7a86e289b3382ccb8d1064e3f -KO = 335f4593386ad186d4e6ffa6cc9cba952870341d73932b4bc00ccb837c45df0d3f2cbc36e8168cea2c9b122389a9678b3c68499a7d773150761f5c6562957199 - -COUNT=12 -L = 512 -KI = 39231d5d37f20f0145eb79a648549dbcdd3731bf7c498619d709aa51 -FixedInputDataByteLen = 60 -FixedInputData = 09d0839c0b5b907647cfc22001b9a40fb3118d2a822347fcd1f3404032238e3d0dcbd56c941b8951ae5c6accf32b4b6a3cc8bf9c73d6bf936d4026fe -KO = 0e04bfd464216a7a66fc578566b4e7e3d6017bc99f52003aca131711d49acbdd3d7367a54d299d05d237e371830c6e9a96d5e5b4865522489d60c6fe82d92172 - -COUNT=13 -L = 512 -KI = 8c0074ac0bcce5281f0641b2b8f4cc7f17ca4ed862cdc9db4c003c7a -FixedInputDataByteLen = 60 -FixedInputData = 802d837cb6c3bacfe0f8ed01b1f41a244a888fa6a0c63b17152f04b10137af20885ce7039f8d4a6f04d594b034edc9afba5ad46b7ee60d631696681b -KO = 7e92c6b026ccdfb6ace26dde559cc82bfa0337867d9d47912595e6063c4c7366f914e7d515c505eb68d923c3b5a108cf90a342c874d9d67d25bd095bee0bc639 - -COUNT=14 -L = 512 -KI = fd84015105955d318422af4c7c9a7ed7bf1eb6e1405c303b385e31e3 -FixedInputDataByteLen = 60 -FixedInputData = f4f43e3926b0d464cb5bd89a48c5b451246c9ac1fcab985b3d36fa37dfc4d0343a8dc977813b9f9e49e814ac33c9d4cfff66fffb006231c891f14c49 -KO = adb4b7b39f5216a5193e423d207024c1f2f7e25729595e0250c16ba546c1aba93de05ef427425757a753b1f048d8687957fef11f2e34c3c40515f20650238136 - -COUNT=15 -L = 512 -KI = e1440717879d9e6ac4bf23e3c0e62aabe0106667855085c90f92c4b0 -FixedInputDataByteLen = 60 -FixedInputData = c8d8b6c8d7d9d5b8c89deca1c38883d1d3d6dfb98e62cdf3d8d8a6c6e3e64fb3e1d3e9224fb5ee693c36ab5ed0c7f1369e0271928b206a42884d8c52 -KO = 38fa6f53ed72a6455a85384b35b1411a51239c4ee1eb9c07149eb17faf820bdfece05a75682275f6e5cb3135325328de73e124c4d8b57102ff61989459af167d - -COUNT=16 -L = 512 -KI = 43d5fafc52a961e11d7c3b1558905328ee5a78a67d40927447545526 -FixedInputDataByteLen = 60 -FixedInputData = a229604637412b95ce7eea9dad5631155691d64faed038f6d090e3c838339f723c9a1be17bf1c4d46bd2c6af13c467f03da361b72990ef368323ee30 -KO = 569cf66776a460e579207af9c8887ac972b403a5dff798cc7a3215facbc73aa6e1dd5362f1ce3df97f43e83b55b9f929e382599761a22679c2c06eaf3a9bf100 - -COUNT=17 -L = 512 -KI = e9e3f3e080a305e9562ab94ba11c47d325423675e1c35d8f783d4f2b -FixedInputDataByteLen = 60 -FixedInputData = 4ea089b3326de20370a0b070cb6571b2844d1d7837d80bfc7997c025305c7a0a512eddedf24b28e8d8d42f8e04738735cd44bd8ff3456635d31f1fae -KO = 4a6a954df3195895fa37f33d0845f936b3af97e6f0bdb6a5aa3f737f994c4ac24317bfaf4515c2ebe4a843a743fde1e23dcb508762d0267c11e5e454c9482b0e - -COUNT=18 -L = 512 -KI = b7f47ad4172d22f038b322db4c1565030bee29af03043623c5c91abd -FixedInputDataByteLen = 60 -FixedInputData = 27f469ebea608c20ddf389ef081492e2a492a446afeb68051137b9129cfa44f3673732a1ddb9aa3258278c2d53d8dd351d5694336d4926a6f127ef46 -KO = 3d4243c2459c73fd2202df4bbbefd7a27dd6ba0bd33430492d291d65f86d1ba8aebbdb2bbc3d7c39de68d3510e5f89e471e19693a87884ed4013ba07d3a2e354 - -COUNT=19 -L = 512 -KI = f4af8fd4f29faac9981f5f3fa8e070666a0b33e8928a850490411057 -FixedInputDataByteLen = 60 -FixedInputData = ffa0bd09f6f22b6ecbba390f8fc8814af4106b382bec2b5a30aa44c8c1478e7516d6b63055c4a50fcd9bac6228906c0f79e45e168c8e47da62ac7c26 -KO = c428adc645e0a69d4fb591d710fe04963be82f315d71a0db051b2e30e03b62b1d8107f3623dbacf27e54ff47efa5f224e30048c398e3eabd39071fbb30e8f36b - -COUNT=20 -L = 160 -KI = a1fd956d8f7a6d5f8932d2b1e241056e374c726e320d557f7e1ab0cc -FixedInputDataByteLen = 60 -FixedInputData = 757891abd4ed02a8f42c30ed3aa151c0068ae8e03115021602b7b03868e589d62bd8295f2e5528d4b6cd53a07313515e9050ac3f42a06eebcbf4ef8c -KO = e4cc28f92083e989102b0db61e8c07906ea17357 - -COUNT=21 -L = 160 -KI = e47663819529cbdbd0bd694c2af409df6dc2ec3be07717a436d39041 -FixedInputDataByteLen = 60 -FixedInputData = b136fa7f4f42fb3f05b87aa65877d96f92cd906e0aa46cc6407af6afca77c0310527fd03a161032576272a616cee5e5e52b76d41beef9ef4793744f3 -KO = 79d0afd023831957d7e657f698ebaa2a9c75b5b4 - -COUNT=22 -L = 160 -KI = fb53e72b26bcc4883100da51071fd5b20d79fee97014b903c9ea1abb -FixedInputDataByteLen = 60 -FixedInputData = dcdf4531d5dcc07839e7963961d401b18a3331c7c2b3c6aebbea3e67e804e4050ed736b215fd1763872e671594290483df15eea8016adfac63ed25dd -KO = 476ce61eb8a8374a978375e3e1807c217929a6ad - -COUNT=23 -L = 160 -KI = b99a502f82dfcedc9db92a9ebac3fb661e4a93f40e0cffb17b5a2b5c -FixedInputDataByteLen = 60 -FixedInputData = 214ab9b6eefc7dcdca8064c46d7dba1ed5f58c5869e5d965189023607e7515b28c8fb2c07075c39300bbca03ba599829f7087713aa59c7430e3c8a43 -KO = c5bcf17524a785f42f2450aaeaea7e2fc10abc59 - -COUNT=24 -L = 160 -KI = 330c420f5a47911bca4b0630d998333c7a7d59b6a960e4d6c2ad2064 -FixedInputDataByteLen = 60 -FixedInputData = 31868dd6b8531c49f6e3f57242fa0b31d754f062a0675ea24ff312cc13f11a979f27fdc9b06081aa16712351debf69e5cc0f60af6514cb9d45b8c534 -KO = 32670b030b10dc6b4de682fcd4c261044de5c128 - -COUNT=25 -L = 160 -KI = f56b9a402e6286340431fcce6d083f2eb530e34d47b66fb8674168fd -FixedInputDataByteLen = 60 -FixedInputData = 1c57321d7f18a2d6440f1fa82c62674a7fa6d0260c5b0be1e8c3b0879d7342637fd4b9c6366cda753403f7cb51a01f03ec0d3c9d42713cf340ed2d1c -KO = bffbbf01d52d1f487f7201baef39662b92d413df - -COUNT=26 -L = 160 -KI = df2b4253a35bdb636276f9432629cf2cff3e36cb7a69b7184d0cb2ab -FixedInputDataByteLen = 60 -FixedInputData = d5e015796221dd71c25d326a9f760c609e6485e183b4bb0d5c3237d07ce63fb0075929eda3f2c25c215992875ef2012197340ac4c9a60a8ab13bc1cc -KO = 7192f7100e9336c17a79bf495e10aa77c7ba675d - -COUNT=27 -L = 160 -KI = 9bcc13bff0465c226842592f2e1b03370d6e91090f40bd398df20fa8 -FixedInputDataByteLen = 60 -FixedInputData = 8f628ae59e0479660d8b27a6eea8f36ab2c79b466ba8ac7c320fe6f552b69749a18fa86dbcf0440c92d62fb2aeba255f156c0dfdf2ee30d16284be2d -KO = f03fa7125549275fb7094efa316f02d9ac43df69 - -COUNT=28 -L = 160 -KI = 3416aac8e65a0a06268ccabf68d35250412456f34b4b471a085d21fa -FixedInputDataByteLen = 60 -FixedInputData = dac2a3325b5f296bb3ae3ff3cb052e850625fe2e739c6a333a4fd79ba703cc2f3a3eaaef718bbdfbec658b1b5a4a014156657b20207c8d9d35dfa132 -KO = 1cb474113ab0d4ea59ef4171e04b8aa6ab1984b3 - -COUNT=29 -L = 160 -KI = ef2b9324011309afe76c70f937a751fda55702a0c0edfc4358d8eab8 -FixedInputDataByteLen = 60 -FixedInputData = 923576d5717f2ad2756dd2f7977f196b6fddab28642a9695240a79a85b2b777cd55b33f2b856483ce2665a1d6325afea3a7ba53b550e36d876a6749d -KO = 0b8985bbe29d7310b215e8119b7b01d6af419e70 - -COUNT=30 -L = 560 -KI = d3c1bffcb4953051f8f7e550e95975d11e528b8a25d3a7d9abdf043c -FixedInputDataByteLen = 60 -FixedInputData = 97f77c46b94b331ea646fe86860940f9e7975ad54406b6bc3b091bda11e5cf827114fff40ae0f16a645628448143275944d14e00d38d15f5799bbb20 -KO = bab0335b50c2a78b72bffca592334a0e30df38ab2bdd7ff5fb35da8aa60952f5088f7b6c124d48a2f19187aed7f88ece39b1e6f96b9c2b6e51b080dfb1e0bb0dc3add265148c - -COUNT=31 -L = 560 -KI = 2fa349fa398ccefccaa2d43642023cc0bb35ba3e866e5ca8cd2f56bd -FixedInputDataByteLen = 60 -FixedInputData = 31f1c01e5110338f735d829b8a43f1f96a030feadb79f09b2f08ce1310dd759bbf4398a9c44d043319810920ef3bd79aeca923f9e7228841e444d847 -KO = 8db88182df5d5c70c203e83c793943ea329878be39f4ad4d20be21e60f5f011c2439bb78d29d08c23a053c154f79312a086a31d82ed26c7f44d4e02a5fdfeeeabbac19fbe428 - -COUNT=32 -L = 560 -KI = e37214165260fc4b4ecb3820e80ec9d52fe8e999a4c6b65b49fce716 -FixedInputDataByteLen = 60 -FixedInputData = 51b2c049e03f126358c85a2d9083e26be99549c8cc9c4c362dcec3c336a73a4b252bec71cebedc5c9928742e5d6fd13ff1bfa6a0e71e95bce3c7ab90 -KO = 98f05c0cb39bcc7b65134f84aa716134f07c4c9fd1f537c026aa4b3f2f7c33c4041782d5f62bbcc27e0e81ea1fedf91b00da0e84b4048d2382dd6b7ddd304e5cdff2844a8a51 - -COUNT=33 -L = 560 -KI = d93f81bbb2b2cc0383563807879a706e3c08d4a27e962c72cb2af077 -FixedInputDataByteLen = 60 -FixedInputData = 46f98a5b536218d14bd945d4389ed584c0a8ed0ef683b3d64d28a5d9e1a12b511f62631a7180eaa759ccd9d28df73e7a3b10f63f2be6b228cd24ba3a -KO = ec5e7228f66fc70cf730c846331200181b6efbf65574ea6083f5c24dd0501513a3bb0a2b1436a5b398996a0df05ad63f6cd6f96f5cd194460fb874de7b32450535c8c611e775 - -COUNT=34 -L = 560 -KI = 82fe0f861c2e45185dba404efef08e67e5abd8e4eb5fe7d47e984613 -FixedInputDataByteLen = 60 -FixedInputData = 3f9574366a31c2b08305acb9bf6550ab689d1c004e6fd6d76f34ffb1015103c8cfc6f60b7b19208c6c68214126df79b0f1f3218b1b713acd940eeec9 -KO = d2a93a6fa077a3b0839d910cfc68d4ae9b43cbf8c4c8f6310ea86e57ef6a2efe69a9cb216e86f5636bca6db588e417128b09616f4a63d621470e106ab5c20d573c357873a2bd - -COUNT=35 -L = 560 -KI = 72c3bb2b3d1de6cf432da18fdae09bd08d56ac28fff19f11b877a725 -FixedInputDataByteLen = 60 -FixedInputData = 120754bb57ff0943f01bce0d1fd3637fa842c9f5eda9d156e3ba1f0101b2584c837bd4eb95581c16fa25c0a546b3d9cbee597dad632eb1332d9f7d77 -KO = 2df52712c743cc0d62bac9892d76ef0be31ce4412b12a18b8639588a152a8819b9742dc6cdbc84ee0b3c7a7c6dd195bbdb85980bb9be93fad03ac60ab5b2081a42a28eed55bd - -COUNT=36 -L = 560 -KI = 5a2a0ed22f60f9540e695977424ac0e264b5d239f932eb87f5ac333a -FixedInputDataByteLen = 60 -FixedInputData = a3c3c866344495210bc3abcf8494ce01b1096848bad833c82cf5e581bf1912bf38638538723b8ec242ac8b67da069edebfd8cf52b11912ab900caf9c -KO = 7867927241957dc2f3693827f6ee12f77ab04f847f00ba23613a22a805bd6d7d5de5f841e18a8f38726444a200578341c0a45a4e630dbb3d5e1e9b240c84365b15f73ca93e2d - -COUNT=37 -L = 560 -KI = a158f9b68127df25b96c2afa949dffbb43f1118f2d63a1d421ad8c61 -FixedInputDataByteLen = 60 -FixedInputData = 9da4b832451f8781836f6595f6eeea185501b0722c13a54ce66a1489332ef3612a9aedf1249aa46c62c6ef76596a5b5bc09a3780f9e83cad0679d0a6 -KO = ac371e5a283aefcb80e6f47880a21f31e98046ae29f8b060677bff331955ef214580447283185c62db4024a5695cb62877fe3007c7d1b49bda52347364a898f1beea921547b9 - -COUNT=38 -L = 560 -KI = 91e712f2d61bfacb213bef433a5a00750e41c85b2ebc85bc087bcb94 -FixedInputDataByteLen = 60 -FixedInputData = 8663b0f892ab5600aad3bb1a0ace0fa2878ee439a3147e80101cd9001fe9288dab11463bc40a74c186b62da21a829e9674aea16634b7b17405a2a863 -KO = 286a3309fecb2733146bd00188d31ad5400664528e528b7a325836f6125dfba7ed06124781c8df928a4c8c8f293325a1bc75e51d7a9872f3b59c084dd24c679ab68fbdbc350a - -COUNT=39 -L = 560 -KI = 26249771a4d79f0143b95238413e297596e4b86dd884bc6186fff79d -FixedInputDataByteLen = 60 -FixedInputData = 061d8e4669a9ae0b2ca8aa0447e0d9cdd29dcc183f3c671ab41aade4078ec89bcdb016bb625bda64439895fbcf6a5e75b48bb5bc6a8d8f64d39241c9 -KO = 44807c115096f022ef2e118ed0a900536c39f9221b1f55b34f4031e0359be92f52ce776dc8e7e2f4f4cdcd2270d5330db2093062235d00f26ce5801ba032b254281ea7882e53 - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 9482571be6a1ab668563c146f841751d1fbc919779b3d9275524580c -FixedInputDataByteLen = 60 -FixedInputData = 5d49d95be4f4454c03faf209e05ca5b858cc4d0d14dc2efeeed8e9978b63fbb140790056ac160600a72195b77ae61921e26fa11d4a17677ff3b68fab -KO = f0f6afb3dcd8691eb8af9c7cdb37eb16 - -COUNT=1 -L = 128 -KI = d3808de75475a90051959dbd470da5509fcc7fa74786d95b7512a632 -FixedInputDataByteLen = 60 -FixedInputData = 2dfd23c735febc7537600ded34e0f2152531c249c4b7ecda4b2f10c7388fef73bbc132c5e452d9d99cd5b00989df1ca194fb3d251b1c6d019ba4036b -KO = cc29196c4853799a456b3d5cbc0bf0fc - -COUNT=2 -L = 128 -KI = 7d9134c4fb4e9cbecc5882fc21ada647bc4261ca26e158b6d821a9ae -FixedInputDataByteLen = 60 -FixedInputData = d44ad76502dae7d0b02aabb55bfb08cdef581a683f7f46408986063c162858df293d9082758cfa9a577294f6ea45c7d344a748384b99b9d9b588b67e -KO = 5496516fc7cb43063ab058a2e3d76f9b - -COUNT=3 -L = 128 -KI = fcc04a7dc78373243a768b1c8847338c333a3c4f1d06c2348c40b1a1 -FixedInputDataByteLen = 60 -FixedInputData = a0452c6341775c5949724a6c07c913b2816f1a92d143b01de0e203b6d6c8fc02636900a5042448695e62470e76072c16c11691819c6dccca98a53d9c -KO = d7dc49a84f7c77aa415ce3ed037ccc5e - -COUNT=4 -L = 128 -KI = 57fb8982ae63af23718959148cb96767a7159ccf2df170cbc3b5ef94 -FixedInputDataByteLen = 60 -FixedInputData = 4da0b337a6cca0ff1a3f7a500dcba89a90c45ffa41afb94837f24db013a5d5d0f3bd769fc1bbc58cd2b7bad8ec36aefda3056597547b49fa9fb923ac -KO = 133000998cbf77b74d59375e32c1eda2 - -COUNT=5 -L = 128 -KI = 84929ef68a3745e546297066d53ac87e3c724692c613ae9a955900d6 -FixedInputDataByteLen = 60 -FixedInputData = 7c5dd1005168099a526220360b7ddcf532f1f22e5fdefa77cee10e2edfa13190d5a1f59f7c4f1b228a81f22a2e8256e6528a82913cafa1a0bd9aa379 -KO = 331938d37ae8761fa28810dd130f1675 - -COUNT=6 -L = 128 -KI = ec00759da29a50cde89e1a53978604888898bd4455fdf9db2e9806dc -FixedInputDataByteLen = 60 -FixedInputData = 3ab6de4863f00c0df6a77b81fc9a6223ba2138ec6fa8c094ced3b738063c6d38765b813b3189c013ff6bf2d78eea673869231175ff1b577a22ed713f -KO = e69d4cfb4a8c3d787b475677a3f5e2ce - -COUNT=7 -L = 128 -KI = 636b7b00df01a1c0e457308f0d6c3bc49ef519149e9a4e0092e802f8 -FixedInputDataByteLen = 60 -FixedInputData = 29e946bede2fc4154e832e8dd59ac2f02882d761228cc3c89b8b05acbcbcffc5774e2ca81e44d224f9c4bef7d1bbc561da8187f14bfddd41fca93c81 -KO = e10b368efbe2663833793ab1c62e6852 - -COUNT=8 -L = 128 -KI = 790a9814b7691d614ff43b107aa2837f076764561785c20038c3f727 -FixedInputDataByteLen = 60 -FixedInputData = 4760b8d4f6e588ab0f821308445af8f255f10b6b4034241631400d1e64b0b8d325dd04999f5e50ecfa3a4010a4b76fb1f1d88fbdbee4aaf72acf68a7 -KO = f08642982ed0c89392efb19292404f3f - -COUNT=9 -L = 128 -KI = e6ccafc9d7d41474f6362214f3967855a1190ba3d10a502163e9ae60 -FixedInputDataByteLen = 60 -FixedInputData = c8e26e8cbcf1f87e0072e11d7e07d8ae377203f1db1c5f2f98f448fa39dcf9411e8536d4176d1deb2d1a6bc831e4274356c2f2015937ead01ed9bb76 -KO = b3ec1d3f9e2aaa833fbd1f7087e8a5ca - -COUNT=10 -L = 512 -KI = 6e00001ddb336f3c58c4926e82158123b684e6a80a18135c690fedfb -FixedInputDataByteLen = 60 -FixedInputData = 6088c15867a571bcce6ecbf5dc440e65f9088261fbcb81da132cf85e06ffd9c02e121e17d74cb7d654c724831563e790ab366a542431ec56ab6c0430 -KO = 93c7bc8921960658a6dea8f328000368eb6bca68c6e0a2a73de150c82c173fad7923a5269472aaf25823bf532a50d21de676c43efa4b0ece02b10ee5b33bc68a - -COUNT=11 -L = 512 -KI = f25e8fb2e9506f390bceacf237e0b7c3475644f1c15a60b42ee477c2 -FixedInputDataByteLen = 60 -FixedInputData = e254d8a2db8b912ec1e61ac93ad6f6e50de6e6625f283d382b8a2665a9872749b7732f8b9f2bea965182b0fce385d16e9cffbd2f30a8dba4ec1a10ff -KO = bcc45c02b6b2c97670137f085b177ef2ba65e604059cf282628456252c308e98d6e2f7734705aa836f63cf74381134d515dbc62f9c1f463bedebd2d3dd30d50b - -COUNT=12 -L = 512 -KI = 3c1f66c5efe58d1f5f6c10b7dce5f91a579e180ecb2b218bbb219784 -FixedInputDataByteLen = 60 -FixedInputData = 47ad608c6081d8ca4b858e1172d4c498e0586f5a4f6951140ed83a0745af03ccf3d0cc4e284ffc8fe382b26059d18ddc526dd2f9723303b7b10fe4ad -KO = c7260312a1c1fef2b2cb5f2bb0d672e9f83ab8699d73c904df57e031202df7fe8ba9c390c0bcfff26d32ee939a54ac6f7c5c6587a9ac6b3c9e09419fd89e0e95 - -COUNT=13 -L = 512 -KI = e426e24d9687d43a8d898ba9b7bc58e2fe1a703fe0ec754682786a12 -FixedInputDataByteLen = 60 -FixedInputData = bfa771b5a063ee0e7ff942eac5dc8a1bc8e20b797148ab05bdbc80ea0ecfaea1c6170781a1819cc235e2b48b4e668c1f82c23b1e5b45500429cec886 -KO = 04babe3d05b70420e020b5facec35c4c8a47a88c4875c8229ce7a67ed09205009be07e4d22ab463d87e5601834b019df4d476e924d6e7d78528454783e0a5455 - -COUNT=14 -L = 512 -KI = 3c42912fa542acdc310609648480449d46d8d88803ebca9ea5302135 -FixedInputDataByteLen = 60 -FixedInputData = 9aa7996b5d118e4ffa488d3c6398d9230577ee004fd694455e62bd83f4361afadb157eb48e38d1930590329ac918ffb1061e0bfa576fb34e53eb7fc0 -KO = cc86589cb87214acb656bdb67f0d3f75e7262504027305ab40d3f7027894b8d82a65cf7b4205c8400508a4f72efe5f166cb5c3b5f5268e5bf2183c1bc1b1e72d - -COUNT=15 -L = 512 -KI = 1e10fa658f8d28b3b3e3ef9fae3a51969bbe0f6563a21eb82da77e6c -FixedInputDataByteLen = 60 -FixedInputData = 53de42807315bfd36c21b99a55e7774f42135f5e9da294db3a3f7bed1254600d128447b4d50974ffac0168a2e49826755f7b25c89b9ea99f4ae9cc6c -KO = 88631fa1f6045484e35c59842dbea4c1afaea10d2c43000d8012d8bd0ea7dda4a4aeb58f5044508ac929424672ca937114c3597ad32282879575e1bb0bdee560 - -COUNT=16 -L = 512 -KI = 4172e18d9d25571e20350e4782c5e779c2ce60f737b84cf8ea2bf021 -FixedInputDataByteLen = 60 -FixedInputData = fb8a65a0e8ae09da4e3d8b9ba4c14ec81d13f78343c8cbb1ae691c65145e72959428cc689395508226516f01c3da3909a0cdeea0f4c0800bd8275b77 -KO = 55c73917a5d084ab36101db25fe5b87966c56cfcf852d5b52de60921ad7f07fc4edf81082161ada336b3363811d258bb6ce2b8144c701f5f39bef70cf952c07b - -COUNT=17 -L = 512 -KI = 8c44afe69b8af15ced57be79a39f63c23c894f46e6b11e0f93bcbd80 -FixedInputDataByteLen = 60 -FixedInputData = aefc0e742000ba469452d7ddb8c6bfa82f6cf9dce48d93a88a471a3eb1ad2f597b324a579cb266da205e45d411f855aa2580624ebc19e7dfa674a6f1 -KO = 2949445dc65d1849de2abb5f61f7cd8726811b5cfc48aa221441ca84d76a5ae831145c58de3de5650649fdbdfbdfad3f24ad2b42a7c678e6c9ac2243505d5db1 - -COUNT=18 -L = 512 -KI = 908394bebe3cc0fdcb5abf0563e5c33f1fda8e43d1a652669fa4641b -FixedInputDataByteLen = 60 -FixedInputData = c57150a87fbc712c1f7b283f3a645ced136aa7e32fe8f58f89c9aa76a806abe1396702db821a2afbcebd3a4ad7e7c85d35038c81b1b10ff798ef3af5 -KO = f61a6b31114753a781315bdc9d98041aa1c71b73d87320aeb0333eb21075c60a3cfdeaed4ba950e29f52f93c136336c3750e89e88441437c6fe0afa7c833a322 - -COUNT=19 -L = 512 -KI = d225fdd244f2d84f43fddffa9c51824d5f3966aac439cf484972a909 -FixedInputDataByteLen = 60 -FixedInputData = e8433f380003b5b28200f5a7ee4c4ba269160ab27dfb275eba6bf0aad157990ec8ff8cd082491c5bc0676f7ca421fa89e2ad19906eea1acfc3bb69b0 -KO = a34c27d44929e6b8edb26407b70963d45798057eaaeec8d9777095504e875f0b418f9e619b191702af3516a27c723c7b46807c0f24b089b8ed2db7091fd74f0c - -COUNT=20 -L = 160 -KI = bc195b5ed1de45d68d1b7b89492dfc2b5c0b98bb4cd4ad7472bb27a5 -FixedInputDataByteLen = 60 -FixedInputData = 1133991e02a3761ed1ca6f8a4a0b2b8c718567e227a7dd094da61889af2ea0807e489daa52e47425a753dbb6688f4d7486786f3b0132c59e092dda38 -KO = e5523f60470745cf5e546739d68c83a6e2f5438c - -COUNT=21 -L = 160 -KI = 46e1392d17c328b65d2de1db0fb71bb324b7379fde37a75305a6f8d8 -FixedInputDataByteLen = 60 -FixedInputData = b0d88b1cff0e93c9101d098b3852d742a445617e1f96e3e085934fe271005109349b18d555c6d984eb882ecbc9392fce83c2d94c11063805f9d45bd6 -KO = 973661fdbb49bb85521a8987baf06b04c604ddda - -COUNT=22 -L = 160 -KI = d9de1e8849ad485cd5b05694871e64af414cc1b573b6bae467a9ec10 -FixedInputDataByteLen = 60 -FixedInputData = 12118e00ffd27e63580e9d872542d88bee2092ec964392595ec67453baca76747366bcf36ebdf9086f8e014218655c4daca96a3fec58d0797beb43c7 -KO = 0aff083c1e64bf3ac3412420dc60d2e28a6eb9e1 - -COUNT=23 -L = 160 -KI = c32ed8ea75699895f9e01b780926f2eab6afe962e5b86650188957bb -FixedInputDataByteLen = 60 -FixedInputData = b35f7c067301bc9743e2ec256e0104ff8e21780c6b461b70eff2a78fbe15a18034806afd35f237a1e3a85d8d03322c00f243abeae386a7e14b6874ba -KO = 5503048a9500cf56604950c428af26fe51fab094 - -COUNT=24 -L = 160 -KI = 56d45dbec68055fa1dfe615460707ea9310f99323dc3ea6b95351874 -FixedInputDataByteLen = 60 -FixedInputData = 34b8f7d0777633cc03896dc8b27df6d125b5f9c1467c83242cbf1ab16f13dcc7e6f5b8829423c3e0d4ba347f019346863b3a52df8c2ee519ee2bef48 -KO = 8eca23304c12762ddeb264144049ca625d38120a - -COUNT=25 -L = 160 -KI = b750e78eaa75fe82264cc44f64ed9a9280103e410f0e317691745b9d -FixedInputDataByteLen = 60 -FixedInputData = a5a7f6dc798aca3b4270c089e3181b203a8358f421123e46550a0185a25eff7caa3ff66c1f49b19b970bf8a2aaf78fbefd7bd626f2c06bc145461164 -KO = e0064aa3f02253ada3abc8446f481bd20ed17222 - -COUNT=26 -L = 160 -KI = ff424f9daee06a07b757b0ca7a2c16cbc48cfa310e7fae796f0d7edc -FixedInputDataByteLen = 60 -FixedInputData = 627802027a116a7ade65d5ac2e208288d6e1b390567cc593e8500ba1fe0a7849e43601e6b68bed6050de9d26bde124c949f4ba7a49e499a0793826aa -KO = 3f9b83eca6a1597d8fa7cd54ee6a36825f5e8dbe - -COUNT=27 -L = 160 -KI = 69ae7d0df5e6b9a3f42ea2d9862aa8a6deb0b3eeeba3ceb44b16b320 -FixedInputDataByteLen = 60 -FixedInputData = 97accf6a087e6c9a3d2718620d6acfc5ae081364a5988d1f00c63d52dcfe736901c7d49ef297d73fd59ef7c238fe04189a703d44f6a83ae8ad7bc3c0 -KO = efecfd2ab1806d6a116f07bd67b79bf200dcc70c - -COUNT=28 -L = 160 -KI = 4cb5cac2f9c1bb6027f253a816082bbab722761e2dd4cafff5aa4b52 -FixedInputDataByteLen = 60 -FixedInputData = 5d0551b1e655511d67ddc5196d347acd1456163c3868a127d3d747de8365e6b6e1bc1afe8cbecb5961759036869d2477175bb3929a15e815a86b77f5 -KO = 91b84f773fce9c1b8b0a7727ee59f11067a2be47 - -COUNT=29 -L = 160 -KI = a098ed67c8a948231845267fe1cfa9e59f87258ffb57920416a5869b -FixedInputDataByteLen = 60 -FixedInputData = ba2e0af21d2d8a854141a7b0e1f166eb8badd47ebf2632fc1b9baec9c8cf2d979d16805e9e2c4ca6f7ba94218e96c99968d2cc8a1a127c5f603ca53e -KO = b0d03125bb9d0dd7c3b1cebdedeb15e3d355f4a1 - -COUNT=30 -L = 560 -KI = 75aaedd60daa340deba5c779d5d1e649d5e6c9e99b0b2c40723b87a0 -FixedInputDataByteLen = 60 -FixedInputData = 4a7b662e804a560a43a488d52ab860531da0d7747b6590b2a72e4c28d7db6526810f5550b26157d14bfb56e86baf85005cf379ac32bbc38b65007c49 -KO = 6768dd735bb19116b9e5079bc77ccf0d9867585656995613bc4dc1e0ac1efadc09d080850d22c6df8a6cc77df3ed6eb610785b07adda69ceba82df66b073f33311f57654bfce - -COUNT=31 -L = 560 -KI = 523c69ae82acacd0d8a2028d1abf7ae8442dc3537f6ff6534ca00450 -FixedInputDataByteLen = 60 -FixedInputData = 393b3ccf5d16e08c9624adc0bf11a10c7aac33ba8976821177f643727ad438b667d04b0e6006e92eae5e79c1e43225de121384f5c8322e7a2e5f816b -KO = 66e733908e3e83689d847d36a8e98c74e66e6a9134b4430e9167274af795663adc62ee88253042a34cc62b0dc6025fd3e7988143e0110e71052e74bf8967f7290504ee477a87 - -COUNT=32 -L = 560 -KI = 8a462fab52bc93468c0d79247ee3f3129892a487fb4055b6e96479a9 -FixedInputDataByteLen = 60 -FixedInputData = e300fdb80b3a2b42aac5fd69114c2e4660a86e537e43df665233010069829061cf3bd4acca198116abdd15e3bbf1d9dfdecda28676c1a97a6473ae11 -KO = f1888e147d10ceccc0b39962bfb5a4ce87f2362beb9687cf92979cf2de08556988ad12216f58d227fcdbc8ea81d04a4b4517e6677b620b5afce25c1199435efe53dd417ad726 - -COUNT=33 -L = 560 -KI = 02b2142c8aa426cd63f58b0ac4c8f30b7f0691b16e3dad4fd9353855 -FixedInputDataByteLen = 60 -FixedInputData = 188f6c1d5424e271c1a0e36d4188a5ccedbd4c77c84226fe6d0af4b39a328594846e068cd19cd482a06c975716ba8a6fab57ed6c87c5b4737776fb1e -KO = 5c3bf7f1e107c65023ebea30575ad9d040628077ac2b27d2361b53f6f47866f98b2508a71250fdc5df5f07dad5cccc80061796cb5b2db0294ddff38e623a6928760599bfbb20 - -COUNT=34 -L = 560 -KI = 0f9c1140c80dbb2dd5c8af5a9ead069dd56ac35f44b4eab815d83604 -FixedInputDataByteLen = 60 -FixedInputData = a7b2e59e4e6aa76bbcce63ab2a76c404ac2215ba0ba160a11d331a111818abd0b0571533e87f357f8bd5c6b8ebc42941e03e742909037621629e473c -KO = ffed23ac069948d854d6a32a84da7a78ea3f2b5382875a72dd909af0d42482e5e0e48ba0060aaf8c113a8aa0e5caab20f3cc08143a63dd242be7c19320195e897864fda1b93a - -COUNT=35 -L = 560 -KI = a68e113e028636093e090756bc7d4cd9c80554c3bd6bb35b81cb4842 -FixedInputDataByteLen = 60 -FixedInputData = 3340035afb5dfaab71599d9acb05b99c28da45134ca9a948c153987d2f7e0b08e0970a45c226c466ab9ad72410bac5a838de213d61b01a916dcd25e8 -KO = 6934ecadd8a2d534a9013375438a2e0f2bdde673e6cd80d85c5273010c031f537b0530f3a863c67b4af190950b260fe68a74f214389a7dae856394e6a4e508ab232f179bdf6d - -COUNT=36 -L = 560 -KI = cb8c0bf35b2cb2500306078c4e9345d55870eb7c0bd50facb4478057 -FixedInputDataByteLen = 60 -FixedInputData = 03cb920f86c54aeb5172d75b8477e0b7a9f1db6ac85a894087131f8c542917e34a2ee69bd0ddfe9bfbea13dd56335aff0464ddaa74e7b8b369dbd8fd -KO = 6501773dae9ac9aa5ee06128e7002f88770f15f0e022421c28d979ca6d8db2bf34eb6361ecf105872ba52058203ce4f91139290d60962ee0eed596c07af2a893a67e2de057fa - -COUNT=37 -L = 560 -KI = cf00d08c309b264fe1e6b7d9dc4641fc14806262bd127d7f3dcaf86d -FixedInputDataByteLen = 60 -FixedInputData = 2d55e5f8563f6b6d4a40288a82bd05dc3ef15986c9e9a5d49c968f499fdeb011ce214149f031a6d4de13ee4b222c523f794fd925061f94c005b23045 -KO = d7baaaa272a067fb1c40952f5f4cd1a627c7f07d06e408bc2373b7dd4a764543ce0d96275064ddd7719a7718d3d8c89d755d8bc671b5b5c2574e93cd18e0aadc204a07e122dd - -COUNT=38 -L = 560 -KI = d80fcf803cb859214d9e1ae16c2eff3d5bf8209f603aa94e6ecd06c4 -FixedInputDataByteLen = 60 -FixedInputData = cbb79f458055ceb15cfc2df7e90391d7f4030a1cb364560559c741abfcae76f97e3b4b3486ddc0be3a3d82de3aa943dab9ec58498d68423fa34c530c -KO = 3e86060d64f669065df63b30cdcbfb32c25e4b74f7435145fd51c122ac520fe5c26326e37dbb9ccc65882af78944204116a5e21b3960362b30e8efff35144e2c42f8761d4593 - -COUNT=39 -L = 560 -KI = 15e413cf258751050dbc713095ae325e6becbd5d8c1cf4bfc57b243f -FixedInputDataByteLen = 60 -FixedInputData = 9a64fc7bed2f36459b5c9d527c378ef0d559374033d6cb93d6bec8059e90bb2467658a64b722aaa6098e777a606d0b57415cabe21fddc0dddf7764a5 -KO = 289878293459b8d4ca9deb509a4699481fe657a08ef9aeaeba87be9632becade7b1d0633989e513c447480f8edb934581df783133dae6417d6aaa5c32b35a5451e50f0579c0f - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 5ef52e406a9e88745116afa6387747acc369ec43c89c0ce2b9febc87 -FixedInputDataByteLen = 60 -FixedInputData = e53f4ea3c40065055a019ceb47998c04b3aa9d824c61f19b243b4798f66920a3216ec5333937530239d9349671d418dc8e58606d25a0563ce49ddb82 -KO = f134a28a798141c3917912b1f1af222a - -COUNT=1 -L = 128 -KI = f8b0915a4f2e60ba645c8d9951eee591241f479e017c98a56259ebde -FixedInputDataByteLen = 60 -FixedInputData = 7d636cb9d46b8a5d9a6678a09679125e97455d05920ea0f2eb2b25ac9506cc9f627679f9de7704413dec577423171782668020ec30e483c92fbb1fcb -KO = 6c8b0fa8d3ab6dc948af471f2d07f007 - -COUNT=2 -L = 128 -KI = 5eb66528a85550879613e786f69db66a5fbdf33d4199c595f7658482 -FixedInputDataByteLen = 60 -FixedInputData = cc4b84c945990d41f8befb3998b77899356a732b4c6e3284316bf6932f6c2bbcd65b5c9dd567f7232e22d8935ae9ec50f2de446a17ce44fe57e7e4a4 -KO = c215d0cbfd38f0cbc59427290fee6bd5 - -COUNT=3 -L = 128 -KI = b47192bf5a4051d9daf9b123e6c80bef843f06fd4ce1fd7af2dacf05 -FixedInputDataByteLen = 60 -FixedInputData = 49bc8ba6fa90004a0602c6e1d5f112bb4e3dc6fe6ceeaf4220571afce73af38bb7139716401fbf52e52d2a7f648eee6c92ce4222032d02a27472bcbf -KO = 0b7f00dcbc919632b56f18e0c7b775b8 - -COUNT=4 -L = 128 -KI = 562b42c09e7e696f1d63f1ed80be6c31dc6ddac98cacd5a0aabcefaa -FixedInputDataByteLen = 60 -FixedInputData = 5e10b1765a344994c2997c4d3bd5669f1a3c14e4b25acfe54d9adfc77b00b793c428cc569b9ce6b33268efbbbc69f00ef07124b8cfd1bff104ee8db4 -KO = d803a510df1e9c6e0f654af011e0201b - -COUNT=5 -L = 128 -KI = 8a6bbf9667c104406fee1defc36083da8dfda4c20dbd41242e56ee2e -FixedInputDataByteLen = 60 -FixedInputData = 26afcbc4eff7f031147d568d0febc1809cd97a1bd02f671f7676d09103ad41d7fe46320d59d90a21615de7770b2a5615756aef1c79706dc213646a1c -KO = c2d9b34f07ba0bb873e6e0167e1fed26 - -COUNT=6 -L = 128 -KI = 0844914c9b2a9ba69bd949f4a421a74a022d7ce24922104a7967a722 -FixedInputDataByteLen = 60 -FixedInputData = a510ba3903088279931a39631f2c180d8dc88a7fb2fe06dfcbb295750e43de96a0de5d14664b3820be7794a2dca15c4e0bf78ed4fb2e042fcab0a027 -KO = 9acd15adb928fefaaf64d96280c9a143 - -COUNT=7 -L = 128 -KI = 91edaaff81274cbbb91371aa37a0f9a23596f28df424de3ba723ebe0 -FixedInputDataByteLen = 60 -FixedInputData = 1c17d23bae9c56021fd054221b9b96913c570c962606035a1068232e50e44e098b558a292cc3cd09f8fa8dc275d942323541764e3d36a69a41f81715 -KO = c54db08c67c397a8859d6afb0aa4ba51 - -COUNT=8 -L = 128 -KI = 24e63359db05a8a42ee5d7c5cb872fdb7bab1b6ac14cbe9616e9b412 -FixedInputDataByteLen = 60 -FixedInputData = 2749e318a90e664cec586b0485e56b0a939319c9f010e749ca0ed08d6c3b8210b7ef56a906c9016b5584aeac732002be1724ff0ae30baba80b8d8069 -KO = bedab3c2b29da2f83835f7c25fc44291 - -COUNT=9 -L = 128 -KI = b7e30e13dad46ca0b04cb6a1e5455e0e980b77cb74abbd7ac2b4c200 -FixedInputDataByteLen = 60 -FixedInputData = 5eb01ef8ec7cf024d1652ad7cadcb4a4ef63510bf151b4b31def049181fad833c37e3dc66285ada4d130942c65d35bb06b54859ee6a4607983ce6ab0 -KO = 0258cc97ef6ca9dc032560c3eec3f35d - -COUNT=10 -L = 512 -KI = 17693956a3994a76c89bb43c3f2336fc1ae11898e088744c03274739 -FixedInputDataByteLen = 60 -FixedInputData = 2b565d4bf40234a70cff6b1fc6a663d1697346067e7e1db65c95b0a4f24ec5801e613de3ce40c3ed8bfbe5f579122e774cf24daefbd96e811f10c197 -KO = 1c3cc1ee74e2b78ad6273f2aa2048abbf49a16e727f1b2b105c62e979ebc70d71b8662205ae2bb6f21053816dc3e75ca55547e9f0014df7008665d340c8024fa - -COUNT=11 -L = 512 -KI = 332fb7d76b44a913a9768e5f2c8d895bcefff0369551e5333536bfad -FixedInputDataByteLen = 60 -FixedInputData = 0f949ac8bb3e3b1eec49e57124f91a3c2344b52e9ad1c3cce30ab575d6d5d7dc021051b87245b5431c9fdca0d71f7a210f9379e4122df0f195ba4537 -KO = 343001e54c1fcf1972b470a8faeea93942c7bf472ffbbe8d8e21de7966583df3d50c2f22d3e6599d21fa6998d90412d488e0fbe0cbffb0a4cd897e03f645fb42 - -COUNT=12 -L = 512 -KI = 039fc1f38d51dbcfae8e6475179dafc9f649da32c8c2b221581deeb8 -FixedInputDataByteLen = 60 -FixedInputData = 579d52e2f15ecb47f4ad541592f36e62884324a096142ca8cb739b8152327f114a677f42029f52e212ccfd36d63e89a769f7e2a553fcf59d6d215105 -KO = 2b0441b0159867c72c97f1f9b5f30d7d1f3887a0220656b6a036ef6cfc032b899d68c149737e575f59ab2dcf2e449c587c3f27c82608bd0fe65b10a35b94a1c0 - -COUNT=13 -L = 512 -KI = 89cc42b0b99ad4318275ab5947bfe8d2829ca66fa6295154f419af6d -FixedInputDataByteLen = 60 -FixedInputData = f4f8e01696c36fe963967e7568c27b9b5f41f706eefbdd784fe54b422e771e30ea828194b301eb5a3015a22f0f83f56fedf2a857ec58ee5838c78824 -KO = 59a107124cac38527559a1c22eb515582fdaa2f93c70fe99cddcb63698dda735525695e5bc22ebb6c570d9d4cad13f5416a598e351871d90dff043e9c817dacb - -COUNT=14 -L = 512 -KI = cf5ea03fa140df724f52c3a5849758e6cbe12bf42190c0644e868b6a -FixedInputDataByteLen = 60 -FixedInputData = 1466ec865b24c61b06d7260e15bc17f47a8d1e154673cafb2d319182b80f64d26ef68f2f7fb487ac9a3cc101d68d5fc05bd298758a2440d3bec79e5a -KO = 62ca76a01138011f1d48e28605e57919479921f3f2d00857614668378f1a232e31251c5cc429cc727d281150d6c65684570871b524fcaa7ec33358041ec69dbf - -COUNT=15 -L = 512 -KI = 3cfb589e6dee7cc630e9ea0c720a0cbb680fc7f1f10912469c0b30cf -FixedInputDataByteLen = 60 -FixedInputData = b5d314ef18ab1dfd6f730fb8027dd01918ae8e436c3c6f97d1a07ee947f35aaee7bba9bdb6be4ca97f44a2a238446f380297f189987e0fca39053152 -KO = de023221d7e8a1b55f0ac75458a1668e5e57eb49df32075d294d2cb2ec3d468e7793d9e9cc2d0c99680b37526faff3fde381893858614935ff40d4de575d8089 - -COUNT=16 -L = 512 -KI = 3f96520bbfe47c1b1201059017823b2b7168f10f91ceec0a3e6fd804 -FixedInputDataByteLen = 60 -FixedInputData = dae99f9733ce20dfc85c96390d6584eeb0b76c010f8aa97e1a242b346715b60f02fc4c3234c19e02f4d0d5bebc52739c1504b21d3f9bc622c926bf04 -KO = 558910fdfb3451b3548eef699035f312a9651f0c22a162e9f48bf9be6b081b97cfe54f99f0b4ff013483aba6224fca83477db3ea0d552c7fa265f3b996655d7a - -COUNT=17 -L = 512 -KI = 54b070b6fa4a877ff68a4d2941d237113ef1553d75f40c32f3ffed4a -FixedInputDataByteLen = 60 -FixedInputData = f34cb1cdc7a51cc44b6134c118e2a05d8d5e59898f3e25a91facfd397b847d9f7d52e37a71ef637e66aa3049020a19216f0bf1f5d267bee7b9c5b7d3 -KO = 12aa835e8f645f89af5cb23e5ec9f0f12a4657a43f69147679ad13e28d345f954ca84b075c96a8a3555d8b3a9117bbefe0898573edbf3e80165f27539c8df27d - -COUNT=18 -L = 512 -KI = 1b6b98ddf89a293168440ed974eb7d61f0aff6ec1c7781c2c8bbfbe4 -FixedInputDataByteLen = 60 -FixedInputData = 41d6846a000027647dbdee420ea3fe45625bcef0f1ee8db3f905de09adbe5fc58b67f4ad3e4c308ca35b24dcc4807e07a5c715d08449b02f91d864b4 -KO = ec58bd8a597176e5bed9af73ee6dbe79151c5acad3d4972f6c32a0df9e4d3b8eefe1c153ff670e6b8c6a0c716ebd30f1e7c74290156938bbbea580e05f75d5a6 - -COUNT=19 -L = 512 -KI = 034342ad40533de9a51494926ef226ba03b6757864fedbf79c3de6cf -FixedInputDataByteLen = 60 -FixedInputData = c0cfc3e04f8e05e5f58a6d1d34487e885461d9fdf9ce2fe92621f7369be09b360df75656d173bfef91025dc6841e08ab6a97e2091a7e0e9644b9207e -KO = 3b70dbf4542b25b4f28ba09724940eb083079a67a0e2a070c57f1ba55322d330e915694b06ba6a5419575874a1244505f7267b45077371f60a69e03660e600cd - -COUNT=20 -L = 160 -KI = 12ec7fbf2a9b3b13cae23574239ed0a43cc1e8ee7f49931def1d1cd8 -FixedInputDataByteLen = 60 -FixedInputData = 7fd935b000de19d887a62f7844e8930959b6dded64f17959198fe19a5ba819729b67c1025fb6fdd4867b679b6d46e4b40075981b2d6a3e9d2f610acc -KO = ce9daa1c2fa1a27cf3365ea6152f4388f05a62fd - -COUNT=21 -L = 160 -KI = 118b39b3a236a530b34fbc2745e8b369d0d8e24f46b1c2a0fe5c705f -FixedInputDataByteLen = 60 -FixedInputData = 9bb4633eda8fcdae686fa0732a2c5312c2a0df6a3a751364fea046dfeb55c25a1b35b721e46bc8389991cb96a218debfd833c1940d4602405c8780af -KO = 2793ef318b763bdc1032380bd7e9616d98fd5d1d - -COUNT=22 -L = 160 -KI = be23068fb45c81aa76d58389f765d225850b81e2abdd2116f4f71acf -FixedInputDataByteLen = 60 -FixedInputData = b2e1d0e5800d46a39394c137adc775d58ccb43e235c90d8f78220d9581489dd3581f6ebbac8fbfd047d8bdf9ad14fe92e9141476b77113d2c9f05aa4 -KO = 23e21a7d0030281167319b3a20e6f44758e9eff2 - -COUNT=23 -L = 160 -KI = 41a5d31fc90f2978b85c8eb11b69dee2cae7f670e04d08b6acb308c6 -FixedInputDataByteLen = 60 -FixedInputData = 879ca5ab8a2668700947283030e703727baa1eb8b56bd06ff4684b25c946ca4e3310599b6379321b5611697ef91dff8fca2b2612b4064824c77f3a15 -KO = 09609c0026e21ce7ec8f495d8b57f6a7325945e1 - -COUNT=24 -L = 160 -KI = c190a510e216637237a301fc3f743405bc1302d03380df350e967de8 -FixedInputDataByteLen = 60 -FixedInputData = 388e14929fb9e4b63a7a1e1612ba0b841abae7523c57632e41896701c6d6f52b70fdfb2780882af5559bfc6aab28a60c95759b639dd69faf54751529 -KO = 6e2f82425294d4962700e2905899e5c6f204bb44 - -COUNT=25 -L = 160 -KI = 08d8ab80a593af9c86c9ac7ed58c798478757d822c54751b97425807 -FixedInputDataByteLen = 60 -FixedInputData = 476bd4ede14c72ecb0bbaefa5aa4130a95ecdfe0c21247c548233a968732200b4f9411ed1057e2cfe80c4188e516b5a0fe43b453d429991064e41d3e -KO = 5a4f86fb77dd982d93055fa3561ee69c737d5792 - -COUNT=26 -L = 160 -KI = d3df84a9976353f3b2c9e009b0cf79a865fdba61b44cc65e1465c066 -FixedInputDataByteLen = 60 -FixedInputData = 6c0f7f0b25175544b930fcf3d46066977f5abf5c6e1957c48891417211572c2bb80278df82c4bc3dc86ea9384b27cb7be4e26bcc54b1f9490838fec4 -KO = 89f787840213727519f92e2b302d5ebd6e5aed82 - -COUNT=27 -L = 160 -KI = 19aaed005640ee7200ee4fc896478467052106dbed4ae91531dee36c -FixedInputDataByteLen = 60 -FixedInputData = 1745f549aba57e0ccdce83b6bbd9242fd08bfce019c12eb7cf390773aa4afb656af5a21df091ac4bebb2a8bdaee1146c58f900511a5b10de04436aca -KO = e800b56a7931d27e1315046d6f790365f1e89a59 - -COUNT=28 -L = 160 -KI = 6c3005d632485c7d08c6a70b3ac14efd31a390d866c63f7100da4e98 -FixedInputDataByteLen = 60 -FixedInputData = b803d32fab56bd92b479bf461545162246e14b3760073dfb80732fe55f96f82b96d866d9788c2f033a45d5ef87647462a88867dcb011b3d8c97374c9 -KO = d0f39f3dce3055b65c7588df79b8ae654967953c - -COUNT=29 -L = 160 -KI = 5bcb0748d0d1155f1a4f5ab314046de5bd0b10505e9c229a32644320 -FixedInputDataByteLen = 60 -FixedInputData = c8a9de0f2fe99c4a5ece4064efd0aa88a45170ba73178ccd364b6c6e3f5396aedc2426f4a5122d66eb9b335553fe752165d26a09e67b928ea1446492 -KO = 2bce9fca466993ba41ec5660dd5a4307a75cc59a - -COUNT=30 -L = 560 -KI = de21bc3cbc1a57add3614769f8dfed8068a93911203204b21891d550 -FixedInputDataByteLen = 60 -FixedInputData = f9501cca02e3714ed18990600c95c527d94a0cfc2860857e9874c34db84569e8e7597d0964e9de485d6bad09d3ae5457da57b2776291e27068d4aa59 -KO = db5f8d5c85902e1b067807860a79eaa068e2a08902149c2717dcb6b0a528627b13367a9835e334712867e7ab7cdcb7cd2e4b44c1b2961e23e6ea7866992c7bdbddc936ffc5d0 - -COUNT=31 -L = 560 -KI = 525161e82230741990cd1e7e5151b945524b279b84bb725f2b5a2f59 -FixedInputDataByteLen = 60 -FixedInputData = 4170a14a83057b71fec5c056269c174e8ab43dc2354adc34a4bbb1db623d4f81a84fe7da50ddba2f967d7c81afa800b9d823ea3dbbba4743c16546df -KO = ff2db5b365023f537b7884b3dc1b17a82ba8ea29ef0257cdcea661925a11f0d955b8122bbb15415b9366f313721af15a480dbb93842c6aa0044c1fed128a0f95e2a495f9121a - -COUNT=32 -L = 560 -KI = 1b8d3bb2889ecb8dcb68aec5cfd2ee41e34a6b46efb12d6d5ceb3158 -FixedInputDataByteLen = 60 -FixedInputData = ee7387d60359e40bb712602c340bf8e4a882caadbf41afb613cb0f1561a681de3b078dcb122845e901fdbce92de74292bb9bfb9e5750d1b20cc2bb96 -KO = b6d8261caa7f6d3637c208cc1a9045e9e6350e9c34f5e47ee0c277f0c564140929f52e030dff0d15178f3e995ac44d7fe88de63f37fd447b3f8c39b58fe8314a7fbbc8a0a921 - -COUNT=33 -L = 560 -KI = 1b3f9c9e3209da661033677a421fb3d9783c7c29cdbd5aca7edf277c -FixedInputDataByteLen = 60 -FixedInputData = fc14f544658d9d2f06dd59ff6013a49230fce8ffe02b1542f2cd9a30d79838e5fb4382e5b79f122317195e7216a2fd9666231a1be427bd9eea98527f -KO = 5d8f7b101fa9d4b20a035749ba109dd36899a4ea7ce1b2376c7593d639ce21b35d4fd4b82ec28364143a366e29a0b99c34b6bcc809e0478110a8793fb2967a1281d091ea1240 - -COUNT=34 -L = 560 -KI = fa39591397f866d1bc60a3ac7b9dd37f126d1f6fc76bd74028c931f8 -FixedInputDataByteLen = 60 -FixedInputData = fe218c60c76e60ccbec49cea3d77ca0f63e26b0138a32addd2e53e36b9429d0a18bbd34ed6c0181f96a3c87a061410dd467f1b8cea18921a3aec00ca -KO = 2731363c18329d11a4bb708603ad35253a2c7d621ce29ab6affc7b29332d8f469015191ec98ca2be5e8e0df84ee8a96f1246180a344a6bb32706e650387f1ee65c9162caadf2 - -COUNT=35 -L = 560 -KI = c95b5ded8cfbb4b8278449f86a82744732801038d9a44ca76553d619 -FixedInputDataByteLen = 60 -FixedInputData = 9a3a21e3457ba24f549f8d18400aa482d10b79c59b8b2ec73cd8beb8811fe3a9ecdd96f57c6303a37592deaf7189f19cf6c6fabb16621f7f23572937 -KO = 9a5f4cca22641a75a778cc1c6633cff096e5a00a2ed49fdd875083f7dccf854b3ff3a678d981a99bc5fb7fc69cccb822fc370ecbab34f7661ddb29e943062c98bb6cafa30859 - -COUNT=36 -L = 560 -KI = 8792d4373aec24144b19fe67c002198dcda60a0adb4fcbfe6054a45d -FixedInputDataByteLen = 60 -FixedInputData = e632963bcc45ef4f0920da74c694b2ee9c81bfd263a26d2678e9f2cca30f9f55ab2b9e8dd9e2c67b47a96ae778f63db98ebf2762f33acb95ebb952a1 -KO = 18bcbbcd5ef5645a6ab9e9b5ebb306b48b197e2691e25dda0f54371ee25681ea1fe21585a57ab7a3e6c0503a9e3385ba37790775120a03cd0ed4ce022cdb28a64c8a22f58ca0 - -COUNT=37 -L = 560 -KI = b72e63081460f5fe0d830f03114e872912b01a33a2431fd15a5cfd0f -FixedInputDataByteLen = 60 -FixedInputData = 5ac7f64072e8ea6070178012aed369e34b3aae86d3e7e88ee08ed9a0ae3bce5ad325ad66c2ed77220e38c9f836ee874795ef7dd6e8326c55d1494347 -KO = 12571fb2ca6cecd1b975246c1f5f8a7903c100ba8bbdd369a5ae318ca54feb03228cf3b1236cc739be54c88af218497ecf89e3e7f56f7d34bf0e9c69049c644b08aaa1fb550a - -COUNT=38 -L = 560 -KI = 9ee56b7f26b0a55462e87efd8f070b6e2324a6a2574991bb9a68549d -FixedInputDataByteLen = 60 -FixedInputData = e29736ec5d82dd608b6d4b484e2a9bb2abc64b2940b85dcf123930f7725ce98390244671a0fe821872fcdc7418fff1066628c6c31d676d8866b045d4 -KO = 281e55baa7531eccbe4b6f70a3a7af1e4a4f6e0fbfaad2fd6868d725613aff0551e5ebaef304b856265c910b45e6f613a7202a746a1b5e54991081f8831513f8a38627062727 - -COUNT=39 -L = 560 -KI = 52262ab97732df255f378f9de01f57f82d855e4dbace5ac27fd6d261 -FixedInputDataByteLen = 60 -FixedInputData = a2efd5ede4f380f94721d7aa009f92312ddc0fb32f485b52108964c75a1c183a22dea05ed2db37e46060f5596aa1b1cadfc219f699ae2603f77fde4b -KO = 22afc5c418d6298551f0d17454dfda3a7b094e86264c8169e813dc86b0df770031ed313995bdea3086fb98ba878efa2a1c3be9d6e0b7279e4c2bba84028aa8546352cbdcd7d2 - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 32d5f90b2a070209a600daab50f004a98a9b624dec5acddda881a110 -FixedInputDataByteLen = 60 -FixedInputData = e3584e884366f66efca4de27524ce76004346f2dcd3163f308babe7eeaddc1597a357e290cf64c0732e3803e0a9ac8b78b6170ff18f8b934ea076668 -KO = 188fb75aeb876c76208b98babc2191fa - -COUNT=1 -L = 128 -KI = 7938450c000feb0c367b0b7c9696b57019ad208024d40de65a0a5e16 -FixedInputDataByteLen = 60 -FixedInputData = e8828ae2b6e78929858f60390158f09f7b3dd697f8d07f6cc3e708f39b30a0766e8f4d03e883a2b5d3ef6cefc75c5a2986df1915edaf3254e09d76d1 -KO = 873326b58f5dc3490cc59619ef08b48d - -COUNT=2 -L = 128 -KI = 2cf5f333a8529de0af8642df5b44cd2308f63f03dc6bb80b2e1f02ea -FixedInputDataByteLen = 60 -FixedInputData = 69bd53ea30278c3b41a20f8569338156d60dfe6834720dafe7b9d755474f268ad8cbe2b523d5fe28bdec06d9bb62d200747b08befb36524875b600a9 -KO = c2d6cac9731e0f476f49521a6149ced7 - -COUNT=3 -L = 128 -KI = e1bdb25d026206eb21f7e94137a3129bae510fa6985e8f73a4f728c4 -FixedInputDataByteLen = 60 -FixedInputData = 6ac1599b66db659e5c6bdea5305a3d55dff50d03d50c2acf0285f7419b83ec788dfb980c5e44a10ae7fad39b3828ee7c260df5fea67004f03df9d2d8 -KO = 58d4d0c3cd0bd4576ea572d09c9fcd2f - -COUNT=4 -L = 128 -KI = 89faf8dcb21cbdcdec1deb80926d2b3e4ae9a652ed0da51e1d41ca29 -FixedInputDataByteLen = 60 -FixedInputData = 871d3c5753b5c44366894c07460f14c2b88b3f5ca03b5afcf26338c36fd2285f8c507ced6355e9cdbd7afdf66a0c6b10c07b454f4e9e17b2d2924b14 -KO = d5433b97c4b546618e9701d18c7f3d12 - -COUNT=5 -L = 128 -KI = 7cd017d0eb7f760f38a3ed45d5ca8bc1df44f89f780a49cb2e9c7ad5 -FixedInputDataByteLen = 60 -FixedInputData = 7213217d82ee10517e1ff9f79c7b81c38c52559f5fca208e2f21510a71769c80d88310ddd74a3b74216eca7d98dd5c51497a00420318f636b2b84aa2 -KO = 7f4c6d6e1892d0d546fe7da9c3a7ac9e - -COUNT=6 -L = 128 -KI = 0042620fd1c461de5dcf0ed47ee10b48cd67e98b500bc35d683bf572 -FixedInputDataByteLen = 60 -FixedInputData = 0db6a06967ca650a78feeb59f04314980f83a0065214d2fcfd26cab2a2364c0f23bbd3669befc55bc705017ac458ebabb87454e9a3694a01d5cd2899 -KO = bd655921b4241f9f31daea4bcbc0380a - -COUNT=7 -L = 128 -KI = ea7f518fdd7d8c3fe4965060759bb234b76ed1ff4efe39fa86618ad3 -FixedInputDataByteLen = 60 -FixedInputData = 4ac371ade29a895ddfe222704ed85a833350f21b75cce84a6d94e658df7a7dc8c3659f02d4ae142311582a14d3f872008e62dcf3cf1d414a351abb06 -KO = b577ef8a78f6a9c727ce03af7c17a3ff - -COUNT=8 -L = 128 -KI = 49bc869c3dc899489e58f1745a875ee82cba381e2fba9cf607576b16 -FixedInputDataByteLen = 60 -FixedInputData = bb5168fe41b6664c020a21dc5101990bcb76cf5162b4e9a13c5e7c73b3c5c51ddad45df394fd0436f1bb518829e1f79bdaf51f1e178182d611726eeb -KO = 41b7110ffa492918b0a29e23ad31a98b - -COUNT=9 -L = 128 -KI = 3d10e1e79f36e76c15d22c437a88fc74a224b510d881963b72787003 -FixedInputDataByteLen = 60 -FixedInputData = a89ed022346ad6a4ddc7385e353efb2aa0b1c6a778611ad0bcfce4c0618f2b85254b593d839ef9f487763ddfad6aae440305810d5ab61b6dbb6c93af -KO = 79d300c3b33ee2bf49b8e776527d5af2 - -COUNT=10 -L = 512 -KI = d7d28211f4a0addc7765218e7b5e23bc6acb543dfe66673ed812f388 -FixedInputDataByteLen = 60 -FixedInputData = 9f36c7b3a85f9d2bacca7124471126d17aa9d58575bb22a45eb8bfc13cc885a76442a1ead148bac662ad808fc56ff5f5d4ac2e63a42e57be568eee46 -KO = 0c0f43a0b786916b7328717bc6ded7481121ab9ff287e4f48d8eb72e9809dff3075cfac7d89b984b6e745e416cac7626e472dcf2aed7844708622f0eac5a41a5 - -COUNT=11 -L = 512 -KI = f1a5c6675a56a12340e49ece45b40cd25fce67a7868fae9a9dc7ae26 -FixedInputDataByteLen = 60 -FixedInputData = 1c480158d95d4a46730b05c2e9e1315c4c617c124f02dafce93f09c4c4baa3eba069ec0747f6ed9eaf403e92ff4e1e796ba0739ff445917586300b60 -KO = 993bd3b71a90a903a7f4d126f3f70f0b492e429cd5198d771dcf82101f5906b50c73d57e357910f30d64ebcffd4d128a131df9d27183f17c204a20b7a885918e - -COUNT=12 -L = 512 -KI = a24ed1b9c1b968b62d00bb2457eb00902fbd2296c78f94f5c7d3716e -FixedInputDataByteLen = 60 -FixedInputData = ee6b701b701756b5040ac32ed356506f9c68760fbe1bdf2225e9db2c916ca02405c35c4dda49249c82f8298c5b2c204c5283a5eefaa2ba55f80b5285 -KO = c2e897c5b71232bcf53133b0cd3f1580cd4b6fc8d2615c0e3bca48133a0dafc16d165396a01f3985299489ac49a57645ac032eef5b4016b2b99b1b02a5fd8136 - -COUNT=13 -L = 512 -KI = ca67ba2b6cbaba3bbe03fe1fed795c7880fff2da09489e03da459db9 -FixedInputDataByteLen = 60 -FixedInputData = 7933c8b2bbd14dd702a30165fcc05217038eb5d7d1a902e5dc922275017040256fefd2a059aa17776be5e9bc289d780a2167e1027e7efea852716fcc -KO = 0ee6c33565d13b6048ef65015437f606fc8e7266c6f747d17117125170cf5254c9c6de1a3c28a43fa583e42e7447b30eadd63d76d251a9a6ee35a46862eaf717 - -COUNT=14 -L = 512 -KI = c9474658aee3c7fb5241d0cfc5d42f00c59830dd129b818cfdbac886 -FixedInputDataByteLen = 60 -FixedInputData = a08052e609a7832e160d3893a053fcea460cfbbcc0437e84019632320f6010331436f170a7536f6eb72bede3a4edfeaf16fa6abd812607417c7d4467 -KO = 75e757f39cd02972a06d50ee86cdb34f799e4d65b46431d37126d35f52dc5bf05191f63157ef694ad5157a1e8cfa231442560ffc0f76d6217deb2512a37c36a3 - -COUNT=15 -L = 512 -KI = f932f3a43349b560e72eaacb011084f6bd6c759f10f2c947a52b5763 -FixedInputDataByteLen = 60 -FixedInputData = 6b6c0be258422ae82166e55dd05bba86ab2ead3f12ca90c067235022bd9f1ed4e33e787ed8c2c6b9ca3b4febadf96d42cf2723ef96daefddb894fcbd -KO = 1455bcceb599ec38d387fa0e6df1b6d6464dce64696b076d57b3fd1429593d4938f54fdc7ebd07fdb10f2943295355312388c92b2d463eadcd121d5713887de2 - -COUNT=16 -L = 512 -KI = 979baeeb2f0966a2a5abda94353f62a9e1ebb968eef67bf6412996e6 -FixedInputDataByteLen = 60 -FixedInputData = 921a58fe410641f0e2f4f73f92c52206c9074eee60b3a530287ef0f1306c2d0f5bcbb127f86e119ea22d8f763fce0e581b229d7c28d41fe3d26e034d -KO = 4da1ba7bc1c7b748fe1fd3679a358988fbc10362937715d8e030fb7635066405d10645177c5121be758c7cb3e9d4985fd4a73f7e3c89cd31901d18e2319f223c - -COUNT=17 -L = 512 -KI = 445312b9963cd482537523d65370d659642d84612a16aa70d1db0401 -FixedInputDataByteLen = 60 -FixedInputData = 4a349c73e1db90358dd2d4b6f5268dc6a24d59cc0e16464dfa6b908d0e294666925034c59471b25631d3f8a6c306709f9c4b0f7b5e772c9980a6b36e -KO = 8b32b0ed0aca5b8e2897e500fac25eb9d66448e2ec6c571dae1563bd69760e76e95dbb64301bad726b58636681212247b4af2db611c567ac6c64ee42bd99b7f6 - -COUNT=18 -L = 512 -KI = 0fbbe6e557f95097823c3dd3d779ad6589f6ddaa371c48c276d2a56b -FixedInputDataByteLen = 60 -FixedInputData = bafa4c20f8af1e2bd176fee681766dd09cae15f537e9b1f07b69ba93055db9f57ea6836c5c5649a43054a342dfbebc9acd06442c96b97615ec57b297 -KO = 7ed8ca4d2b9f15553dd80bb9e9258f535c068acba0e8a1ae3eaad2ff0c4ca26b8b7cfa297ea72921101079e6d7b7772ced48ed86d9c65b1fb2a8cc8effc87bac - -COUNT=19 -L = 512 -KI = 3c5bc2e5c0238fbd6b47545f0a3ad1eec1a3422bea87ad89049cb100 -FixedInputDataByteLen = 60 -FixedInputData = 8232c4540732aa115b9eb89cc0c66a45fe5483ff7635b9ed63f06e1c43cec959d6f17eecd331edb6c8e2e5c32b1f42582956bd4956053ab373f37c87 -KO = f1657e20e14c9443858dc036f86f688904d2835148c08289e7e9c23cae5795ad44cb77522051834dea03800199560563d6a3075d6695ba9c9a48c6c1bab741d2 - -COUNT=20 -L = 160 -KI = 0193f1a2c2a9976cabe5b19dd52f6c3461202326cc667c9845525ec2 -FixedInputDataByteLen = 60 -FixedInputData = c26cf64539299e1908e2c2f7b8c1ded3d6ab6b3ebbb7c4d38d2c4f8e257f4effa1bc62effddfd66ba88252fd3f03d6b59c02b4c2e2ac2e5ce5397555 -KO = 42a068379a4b704761ca652d5225dc47002c9133 - -COUNT=21 -L = 160 -KI = 38e0909ba4fd0052c2557b3c868a2d45ee915b03a5030d69d906c7e5 -FixedInputDataByteLen = 60 -FixedInputData = 329e02d155fcd8c723f15527e4af0099f9542c2be96c18c545514e2dbe5996645bc9c3818eb2414a269cd07940b3f2804387835239e0d1fbe46f2af7 -KO = 41142af2dafa8cb33f8a7a133dc8d5cb5ca8586a - -COUNT=22 -L = 160 -KI = 5c38ba2930d73d1dbd49685d95638a6223a4f17d73340bce8d3c209d -FixedInputDataByteLen = 60 -FixedInputData = 46a66c39b31410af61f7b057f1eb43e7911fcd06ffe3d359c88ef3b2feedf53e58e98904e57db47cd8956e28346ca01335bfe5dabba0a8086614342b -KO = ad641af41cd18c3da0ce5782725dd49fff305974 - -COUNT=23 -L = 160 -KI = 3bc0061242aeb21f56b1730a2b866b43f3b05427d1b86f80432903fe -FixedInputDataByteLen = 60 -FixedInputData = 341fd65a962042c928e1ac9375ecfacef782f4aa1469c7a728d5d7b2773036d38fa82d70c24c40b3a6b86dc13debd6e13e1855b5c7cfeb5385cb4655 -KO = cada1a6f9c0b385fff77e7e3c3d7d6326dc4e72d - -COUNT=24 -L = 160 -KI = a08e717c565677f9681d1c6b33d9a5b2e26ff28947dd6eacd7dbeab3 -FixedInputDataByteLen = 60 -FixedInputData = df4564aa88def721d12023192eb4b39cb4525ee09f1e0556eb26e428bd640d34185b5b31e572a28f5980ee7c3c8b385c057ba8c053f7b3058905928d -KO = f5fa6700e3781aa19e7f7147a671b120eea69688 - -COUNT=25 -L = 160 -KI = 9e7bb0b3103a646cbdc036ecda44695e0a8298dc006af5029db03a9a -FixedInputDataByteLen = 60 -FixedInputData = b415afe84019152f5af5d19233f25636a96ad65516acb1ad102200fbc094be52d3603a9318e698c4489d14a6fcc9c681581bb9a5a76d71a7993ae0bc -KO = 885d15afed2aa80edd165dabe28dd8205e787ba2 - -COUNT=26 -L = 160 -KI = 566ec2b36eef2a46c8077efd26258b87d0a5054b185dcbf6364852b9 -FixedInputDataByteLen = 60 -FixedInputData = a1bd2fdf6fdded8f5dbbd8d35b43d0c8e6e93ee4669a4bd28edf19d73a07044bf5b5125f6960284969f3b0bfa6c12d9e9859a66c40f844d0e2ce6861 -KO = a0b2a50526e4ece57b553cceadae063e5f019088 - -COUNT=27 -L = 160 -KI = dad69f9f52f5be50486785c332c8d5ce98b4b2a81384ce5cd2267640 -FixedInputDataByteLen = 60 -FixedInputData = 2f0fb568bc512407db3c2e39d7e3f201e566a46972d53ccd2f71055e0595c76ef48a59cc75e599c3673adff8a43dbac7c7fe997fa353969ab113b7e6 -KO = c81fd8bad157a06d2e04c6c2e16c20f9d83528fe - -COUNT=28 -L = 160 -KI = f20398f27fa3d87ae485db491025adc94c932ea6388f03ddd8ad1bee -FixedInputDataByteLen = 60 -FixedInputData = 204c1631202efff12b528550516e555f74338daa4988ded2da4b97bcca9ce5cd280df23e7420211e0d468bd28886576ddfec3f72e86712975b6eef16 -KO = d08d5cb5bb4542fe8a4e1edb5368e047867cc303 - -COUNT=29 -L = 160 -KI = a2ffbd431d9f35463e8ab91d3076f5ed5681685a222cdcc811d8fd1f -FixedInputDataByteLen = 60 -FixedInputData = 54d88269e3e4d53176adb88e95a8a5ca65013de47041e98919a33c1cafcac1046a6b971ca957f8b6e10cbaf0d2e3abd3e2e3e198ef426d48aca62cc7 -KO = ea3799c74344ddd93ce2375b2b71029387589d3d - -COUNT=30 -L = 560 -KI = cd2f47bcd04311c64f9948daf3d46f7a9002a2ad9b18a858b6f25352 -FixedInputDataByteLen = 60 -FixedInputData = 3ddacb6a42309cb7af9fdc33df3d52555295e0c9952fb98e401d655b6db1e1c3bf9deeda75bc013fadc01e3dfbcb827fdfc8c4fc58e43e836b738e16 -KO = 647a275c83438ebd42b46a55b656a6bcb1ebe5375a0f55e0ed46d11ffce06efa2cbd7d706d5d68087301b2598ab561d16f8afe91d4417344691552c711db3636e22e3de719bb - -COUNT=31 -L = 560 -KI = e563d06fce47af2efa320d4112c3af9853c473a36f983209a3e6359f -FixedInputDataByteLen = 60 -FixedInputData = d23b7cc4a456a3800ce85dd454449d4a40e33d8ea3dec77d34c4bff4a781695ee22fd8f47cca1c101d5b183bb65f3aa4209d061cf144aec1f4169ac3 -KO = 148a97943ab55499c23cfa876f12c6f81f2936e5974f8019e2f51c832d9c7927e5a6514f4b730a2234a6f0c70c88e4228605667aef368a9670664ef3f8109209950ebac46d80 - -COUNT=32 -L = 560 -KI = 8406cdd478333b5bde68e5cf34ed5ca4259f929320ae175da34697a5 -FixedInputDataByteLen = 60 -FixedInputData = 8fd5db9c8ddb8d3fa6972375cdfce99b21020cb1763f450e5f5278863c7d1549744ed2b94c4abc33c797b62a6b33c53fab809a26eed7ddbd5b65faab -KO = 14353dce08d3e5f718a1f5b09150b6cb3db4b11aab4fa3b08179b2472727ea81077583bb9054e2f0d60b77a50b7695c1b9d7e108fa68ab5fce646eb04e6249788d04423fa02b - -COUNT=33 -L = 560 -KI = 80674ae4af1ab39acbb9c1acb268f92bd1055802339d4f4ba69913b1 -FixedInputDataByteLen = 60 -FixedInputData = cec667cab5c20037c8aaf76cfb6e4437400d22536e7e69953ebcf09aea57e4ac79ac82d500f20abb8195795a3f4b919a1f598fdddf14e1f87a15f9c7 -KO = 7a5642af5b4601d89c9240e8545aa3aca8485f3de0d318703284890358eceafd69383d783a3ef52f900d2f35e891aad66818953481bff0d9a54ee2869f168c417dce92c6430d - -COUNT=34 -L = 560 -KI = 36895a8aa9aaccb9dbb46fffbb0ca8308a84e8381f7cc9bba55ff46b -FixedInputDataByteLen = 60 -FixedInputData = 32032b86099f6deb8437ef3649f5605dfc3a83b7f2a45fd072eea3db02e154f16012860006068a5622432a63b5ee2faeff073070addb26d1406c6b7d -KO = a07d3e5e00c9179e65f4f2a058caac2aa2d5009a2b4f605c7e912f024f917ab79804be5ebc313ffb9a418d825a31960874ca992d5d3db45ff0f01b9241964ec7d565747007ec - -COUNT=35 -L = 560 -KI = c162c40226c2c2f8f46bad8ce1b0d221157dc4a68c6ed419705e519d -FixedInputDataByteLen = 60 -FixedInputData = f170ac2508e6f92e67fe8f68f2df93519877a57295daec8f5a101661c1e10349eab7a12ac13b5c9a3820c7f4936fe306009a4e86892de746f3b58107 -KO = 022a4912270628fb4749d77be8499f9f27858c6331712eb56627ef43d7bcc7b13c7878dcda58d46d47ff8cbac7e551ba308dbf5f540da8693ff45e3884c1f2fbf25a5ed0bc0e - -COUNT=36 -L = 560 -KI = f541a907f0c243c72d0434b621954236273a794036954c82335d2c9e -FixedInputDataByteLen = 60 -FixedInputData = 7d73fbfd44369a7087b9c8e1216da8c82e517ce8c42224a923e328751b86b6c624428fdef2de05e5e6426ee6bc97c797984a809583f8e3e0cac81409 -KO = ff1b8470f61ef60a50edca6d5524d91052315b4c8f8892317647946a25b1170a1bea29b11c5e18ec5734bf158f41ca4f1a4021656d9c49e784e7ee46263fe0c0310d23ec9d57 - -COUNT=37 -L = 560 -KI = f14877bd8447ba5ac7d63d33fd8fc4ccbbfb232db8be982854aff506 -FixedInputDataByteLen = 60 -FixedInputData = d062f13851e9eaf551d765132d196b4e4fd0e14462a7f199fa3c3ddfcce494e5fb4f9830cf26fb38d13b2f5e1e4af1e0ce6589c6ecee8901ca8d00a4 -KO = b03061429405147bbbfcfacb5808e8ad4d6d5721b134e8f2674eb538aa8b7f507d8cfbf1a0551e148e55e11c974574f3fab218f21c232ada5c79af4a024693995000bf05bc5b - -COUNT=38 -L = 560 -KI = 7ef409216ef594bd727519ad9be042f1a67b407560de1e7272a3bc92 -FixedInputDataByteLen = 60 -FixedInputData = 87f4b47960bd52da9f28873be884cb2d1622f00327332492b36042425e12279a248079576f11d5f37e645adccdfa912d6e900ba35c45dd278c62da89 -KO = 775bc874878551abbc03884aa47d3de69a4e089be951759e6d0ed7421519b0b3a8a1444049d2c47deb2a479e9e56da072dc592311cf3ef0b76f8236158ff2391b2e0e296c643 - -COUNT=39 -L = 560 -KI = 927230d88e7a4783d53bbfbabcd799aa1b31d85d977fa8edde01c19a -FixedInputDataByteLen = 60 -FixedInputData = 014e8586197a00752b8143d0b85ee9d75f60cb0b573195257da1cebfdd7b061252a81af8f58e309b1d85649e5a0caa2e9ee0b59af2271c2cb21d8787 -KO = b25e7c6094ba0cd81f11f40139074f141678d91b7ba30596478965465e05fcf38b65d1a73c979f14381703c9dfbd4d4fe8cb31d05371f26bc0d3059c059a5f56e44593c6d2ba - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 070ba48e74bdf641296b6daaadd1fe99826640cdef3641be44d0ee8a -FixedInputDataByteLen = 60 -FixedInputData = c65cf97a07da18e69beeef9a125ad4727f9e0c5a5cdb2fc6e3ddb86f421b48703a36f159c9fbd15fde55b69cf9c4361d04a6368dc274b57691f916c4 -KO = 0a1d2a8efa7e4e50785a4daeb2e1b229 - -COUNT=1 -L = 128 -KI = 4862ce0434659837334e66a426ee6f65f4952a2fc87c0b054b7b9925 -FixedInputDataByteLen = 60 -FixedInputData = 5e905f0b9cc187e4e2ad0bfe74ece98834190dc931df2c7ff3fd71e5e77204f80db52f89f4c5dd99bdd688df154bbb84a8bfa0263ea6aaa9a8b6e96d -KO = 186aa1f6b6e862fd47d2046b4837a06f - -COUNT=2 -L = 128 -KI = efb3a3de939a5f1dbfd47d13859ecf7e4129f59a30cd63a88d7614c4 -FixedInputDataByteLen = 60 -FixedInputData = cdb39ff0f826bcbd787a8a97abf9be91abd169cd666c8ae847563025638b06db2f0089fd9018e8fde411e61920e9810ae970b2eef051f9f24f9bc932 -KO = ccd2858210254d73b09fa344a6258243 - -COUNT=3 -L = 128 -KI = d1328fc075b30f51dc59e34831ff240049a06279bca93e2228f7a2dd -FixedInputDataByteLen = 60 -FixedInputData = 8b84a6b2407d186abf8901c26de2b67db72be6f4deeae667c1228330ddb5e9badbef63a9de7303dbd3e5ab8d78d9d27c0cc2ffd745357f0a5f43adec -KO = b4847a9ae8ca1c616e88e8b8e823085d - -COUNT=4 -L = 128 -KI = d463984e9e1128a5cc0863fddf4b8a39bed28d7c8261d22556e83d57 -FixedInputDataByteLen = 60 -FixedInputData = 57353d276f818b28666e85d372f155c1e2584b0e90060bca6f6bea677a004f921d2994f202d6cde5cefa30f20e1b211dc41b693963623e0d6a73ab78 -KO = d3afa8814677abfc0fc0684b05dc7013 - -COUNT=5 -L = 128 -KI = 1c0bc5a67ef317b9f908b620564bc2fd9bf7ed8f6d822976b797ea39 -FixedInputDataByteLen = 60 -FixedInputData = 5a65af179a13d3d04f098e0fd5d1e5dc53236aec5dfcb73298ff18cbf4d947d92f8460627987515aa2bf7c0b5056912a834d41ca93f9ad7c02254282 -KO = f392ced373fe62f5e6ac113d21d24eec - -COUNT=6 -L = 128 -KI = c5c850eee4c508775a40467653c55afa69866ba447c6ee4717629c1c -FixedInputDataByteLen = 60 -FixedInputData = fefb3d4825db8b3cf59056de4709a3c1fa7fe074ec8d608588d64de4208f60fbfdffeac02e27e9a1a2d95af3ac316c9fdc910116633ff80872a15800 -KO = 51f6856f10d6366b031e542432ec5e08 - -COUNT=7 -L = 128 -KI = dc2322b5832f7bfd1b2ca8631203c52eb92ff62f0ceecf87bdd20f9b -FixedInputDataByteLen = 60 -FixedInputData = 153241a077439d85f0cdc9383ec10025716ef20a633d6d0684e6104f6af93cf8a71ffe7b01edbdc20d0235f71af18a895fd12dc01352df09fb9ae917 -KO = 21fbaeddf7861d6bd42811da1cf93665 - -COUNT=8 -L = 128 -KI = 4e961363552e1bc37061b6a85f965d9446ea56540a6f5fa52c7050d9 -FixedInputDataByteLen = 60 -FixedInputData = a6905447545a80dc24b28c126ff1520b218cfc6296a600dd6f6f0712f6f8c81eeedd52a22dae9a8fdb4dbd0d38dc922d81de00bc91f443919a561977 -KO = 3ea62da5ef1ea8f1f48b7e070022aa45 - -COUNT=9 -L = 128 -KI = cd1a50afdee4de47d15bf80fc1f81604d4e7d5e7fd8f080caff99126 -FixedInputDataByteLen = 60 -FixedInputData = 145eb8b4b6b0d07dbfcdbdd3a74857f98b63e5bca499c457cfab71a1c147a8ea10f33b39b3d970d11945300cd93b51ac17291fbb567d5a42917c1924 -KO = 5f52d819ccdc94a8295ec21d2bd72aea - -COUNT=10 -L = 512 -KI = 0dc2465d392fc6795b8cbba63a0c999ea0ad9974077e338c719a4ca7 -FixedInputDataByteLen = 60 -FixedInputData = ff614c83c15d77fa03ffa7456b1551dd5c0b107989284c1010344161c03cedb9297c6d54156fc4e4677d82b27150f8ca553c352f2bb141da29749496 -KO = f970fe76d2dc5e6cfc7112b67ed5a6ff3d56f1d33da914c537d0218b3ef0096a6ad043128f640d19131b0e095e37dbc0a6d59d7fd4f715fe3c86bd7f7bad23fd - -COUNT=11 -L = 512 -KI = e844eaf98857f7cffae508f174b281cd74607f8c46c4057982f167a8 -FixedInputDataByteLen = 60 -FixedInputData = e312b649bdc2ccfc50c05b86263c6d19cff47b57d2574b055b0f332758fe2b26908ff78113f281352952fc9b8b2cdb75b84681840c12bf162bdfd34b -KO = 01b98b804e9263496f1f5d10096b9881831bb26fd8255be62e48ccaef90ec4c7e3b716c6d779f9a28a3671d8644011774617d271e2089721d460d487abc60a5d - -COUNT=12 -L = 512 -KI = 665849bd3a0c90f9547cfee5f60a7e2601cd5740bc273214ae2a43a1 -FixedInputDataByteLen = 60 -FixedInputData = 8162a0da2f56dbba90fca86769ae73097aa8d5162c87d0ad41b8afdcbc6e38f22372fcb95e24d10c41af591d9f6713ba206dfd57e1ddc74055c37117 -KO = fcfac4e846129410020e4e57ec1436cd3df0ec28d690828488746b8032e58be05fdebdd5ce478391fb618deb037f95c8aa188133f52e5c5f936ddadfa58c0419 - -COUNT=13 -L = 512 -KI = 6a14daf9cc84fe9e0fb6b512cebfc6935577272f2304c2a4e6461f83 -FixedInputDataByteLen = 60 -FixedInputData = f52e4024a518be84bb0aafb3edfd5a0e0f6c6d9347af8fe41a093e0fe784b2e359732cf45c00da187dd8afaedc50b60dbd9dd51c3c9ba36508bfa6ed -KO = 84f724d878f82e1667c1bd944e14c10f61fd5c91fe4b3143a40fb585d9fea5c860e7051208e5493602601e0fe418f39e09ff868b9b063c5dce5ad7db1738879e - -COUNT=14 -L = 512 -KI = 88389077a8c183846e3bfe8d5aa642201502337c6bc8660f5fbc694e -FixedInputDataByteLen = 60 -FixedInputData = a1576edfd0ef5e51f8363b332aa9cabecaf96bd7180ff157f934c6357e9d0f303ea320f01c5191a5ee9138b51928cff8bb565c9333418f42fd7fbf76 -KO = ca9f1f60d2f1f4f1f73aa18039321d70bc8b7de8303ccf878305c9314b157c24c7611efff8adfa353821b3762a342a4810f0b64d0bd630610d03ac31fa944df0 - -COUNT=15 -L = 512 -KI = f743998976274db98a8cf7440568b3ddcfe9eac57410802f808b1907 -FixedInputDataByteLen = 60 -FixedInputData = 678ade1fc4c4243923c858d887f8cd00c35d3cba89e1e8b4de68516e6a57f17976b391f96e8cd2e8b304d2281997ca62044c6c1ec8a748517120af73 -KO = 12da9a77dbb1993a49bc6bba0ffbe3ea91b5da0e06b4c5bedbfb995f3e009d77545cee792072e023e788d794e039e413f14ac8b53b68a214f69a9892d68699e2 - -COUNT=16 -L = 512 -KI = c41432dcf34c1bdfad80e630694d0151f81f42992059cd6a6dd9e01c -FixedInputDataByteLen = 60 -FixedInputData = 621a1afba2862a908d143cbb14813a6d596bd321007c11db6ac647e750dfa9470701f3a83e5c505c530798c6618bcf6f8bf2b2c75f93a2dee5a7847b -KO = 76b7c80b4f84fbd94b3c0c621b37e1cc5dd274bb2820fb83eb2fb768ba74b40a467cd38c819dba1819f8a45ee08b933cc715ef84b383b3f0d65e4a34128b1b6f - -COUNT=17 -L = 512 -KI = 194ded337a1edd8cc15d29e7b95be4b62134e462db6fdcf83fb0a900 -FixedInputDataByteLen = 60 -FixedInputData = f01c3130e8511945996c8ee7cbf4ce12b3e51fd84224450017e3d97286866632e1ef81db3dc514a06184283f0f35f0e5b7da8c9da4f40c0a0077a400 -KO = 7a34247a7010bff4f09825e8318c4ce87c8780c56cc5eae09eef9a4b289a9dfa21e7d72be223c4d09c1e4df62456400d503a9030b3604e33e0ca2c6ccf34dac2 - -COUNT=18 -L = 512 -KI = e31f87886b8675d1f8685e7bf105844594faff5571a63b040c426f9d -FixedInputDataByteLen = 60 -FixedInputData = 48834c5f6d6caf9be9651ca4b74261d3b3d3a3d2b02db8a7a5fb20f19d96146f503a6c27af34209b01a6a8bde3bb717df46e1c9ce3de2bdb131db3a2 -KO = e3d6f664980b04e02bc3c1ff704158ae647ad8c131428d7a4e032dedf4b75bfe450c434fb7dede5c1e532692efe59596b41de19acf0a8cdf17df776d941a3313 - -COUNT=19 -L = 512 -KI = 9bb3ea76789c6e3530480dc9a554b996fb42572450ad7d1b10c0e7d4 -FixedInputDataByteLen = 60 -FixedInputData = 15f963d07e5f3d34cde48c97847d94685ecdd27b91d61a04e583c2cd94d521614d7d5ff1fc8a190bdbf066b84bf4e047fc16e7c3a0d0c7fb64f6ed5f -KO = 508ba47bc31b2f481c7f793ed35aeae9cfa360888c7b770dadbb0934868b062af2fcc7d792805e81f51bac2df081b7a23c545b68dc995b979b29b89e5b639412 - -COUNT=20 -L = 160 -KI = 8037bb86bb8785166f41a42305aaa2d10028dc446e015afa2d9494bc -FixedInputDataByteLen = 60 -FixedInputData = 0011caf52d2b5c0c229bc777c9845a341ba7f8988ff3cc82ea7153de422b7e5fcb16369eb69604ca75d03198de3a1c961e9e1acc717a8a8a8122400a -KO = 46b204745e0f490708c573b0de5f6f4fc2051bd1 - -COUNT=21 -L = 160 -KI = 74c36dd7add46d6c3dfa7508963fa4508c0a51067ec3c5747782600e -FixedInputDataByteLen = 60 -FixedInputData = 8c167c6beb2fe5722c30270fa9efe7452c97d8947b50c46dba757b53499ac7eb9a88dffaab3e0308844d6115704a07986a79b5f49c25c63fe7e56885 -KO = c6ad7eb72da49003d14bc9f7bf6015a9060c66b2 - -COUNT=22 -L = 160 -KI = b9d1fcecd227d6d711c9400980ad423b776da3c38b97e51f3ba31a57 -FixedInputDataByteLen = 60 -FixedInputData = efd475051293069999065a6c79c2a5965706224c6b239f7b4f0f09751ab08d152f77c90efe678799264c9f22a192c4fa19efe6c60927f540c623ba7b -KO = 01e2436487374a3e6c9d7571e928c6554733922b - -COUNT=23 -L = 160 -KI = 76a9fdd6b2f728c60861ccd90e34a26ca7958e627ff7f07e86e067ae -FixedInputDataByteLen = 60 -FixedInputData = 9604c18c1c9d6060831d0cf91cf215df996fe09ffdf5a5d7ffe9e7db1f43b4dfaec4d54aaf2e528ecd0c5ee769fbae7c0eacafb0fdda74a59fd4a77c -KO = a7c2f6378366b2022af7ea9d3084f6b9eb098cfa - -COUNT=24 -L = 160 -KI = 3ba180769e099469da5ef1802753131eb28b46bfc972036266bfe3eb -FixedInputDataByteLen = 60 -FixedInputData = 3fba5fbf95b70d765d5cda4064f2aa372b8180522d9a1ae1cf921bd87741ef88b3cf247c122d465a92783542eae34d4a854b512702848e56af128967 -KO = cf26b11a0c00042a21840af3057754376f157147 - -COUNT=25 -L = 160 -KI = d10e5308a71a1e4c87fffdabecd03072a8e52769d418e0ee3aed7bb0 -FixedInputDataByteLen = 60 -FixedInputData = d710212fb9ead98bba034bf165a0e29949e3d6bf4428c8da9008039b748682d51e16cd188612d26140b237681cbbd41a73b64be3f69ed023215c5b3f -KO = 70858880d8befa597a932563e4821e24d3d5c828 - -COUNT=26 -L = 160 -KI = 9d67364940b4a6dc0c831db6994e437772330ac8477cba039d997331 -FixedInputDataByteLen = 60 -FixedInputData = 24abb8241da56ee2478a7ea8a007a14e0fd11914af3a6c19fac4e368adff2ffa9341c4fbd9b52951b7ae7703c0242428630f7ad691757cdd20d6c0f4 -KO = 770b56f437dee314bb21d6b6bcf248d324946a1c - -COUNT=27 -L = 160 -KI = 5223606e1e64f688869ee2530792535d8af3dcfe5967cee42770b1d5 -FixedInputDataByteLen = 60 -FixedInputData = ecf8cd5202ea8dfad64f072bb8f2ade72785e2f033d0ee783548e4ee9892be88750a8defc7a5018e7b9223054eb9789678ec6bcf2b9a571739dd8b52 -KO = ed1405346536f67faf49246ae36d385883afb17d - -COUNT=28 -L = 160 -KI = 1b4239da6edf3fc48fb049cff509fa7d1ecc469dd389915258f0e8f3 -FixedInputDataByteLen = 60 -FixedInputData = 69586d0ec06614d3f02958a0e9092b6d4421f919fc62ddc3d988949573a8b55c96b81630a1ccf6cb2271ba9c1ce87cd02a2c5b9b8faa1311baa05ec9 -KO = f42615a19380d01270750782517cfa8606e526f0 - -COUNT=29 -L = 160 -KI = eb4c121657641d9904c847eb77b07999664f722ee5c24712c6c66dab -FixedInputDataByteLen = 60 -FixedInputData = 61c36dbcaa1020492b820baf4309f7ef2336466b1770806d778f719607726783095e77f7a261bc01c6be2d5fd433840dc88c2d010ed0b19252ed3cba -KO = 60528d1be7c913f8731fa8c425d1955daf711cdc - -COUNT=30 -L = 560 -KI = c1488f1200ec902eee696466018a7cbbe644a5153b8056155827f57f -FixedInputDataByteLen = 60 -FixedInputData = 443af1bb66f39ebdc4456d61173ba0c0304f9138634d5c8a64e59df1ebdd0822804be0101dceabbbd02f9bc97162d5c12ef4752e3cd8d4236d86ff06 -KO = 18680387746a43661f112e0f8710b0d24f8fdc61a825e510a74a2e2c9a6154d7a0ec843dcea55a1fbf4d38f47b35a80e8d754b873f5211bcf52d9ee752bad897fcc43f57c7ec - -COUNT=31 -L = 560 -KI = 91172677711fd110470c6a0272319b83b2db4eada91cbb4ca2a55c7c -FixedInputDataByteLen = 60 -FixedInputData = 2e938bd653b17498ab8c8e2c19a14ae16e0f60d2209351d90cf0b22f27191394a498c6fe75153d754e42a8bee9cfee9915b27c21cf26095daf69fe5e -KO = f582808ac41faf8a78914eb6ebca26c3d20a0a30ddd263a63ca2c0707d7ddf2bf392d6a1500eb3788ee1b9ce1fc5c39bece52a5da97484ad495a6b47d49031fe21f596fc5acf - -COUNT=32 -L = 560 -KI = cfe0b4b8f1a7f27f8e95934bbe9ebac04cffcb605b103cece8780cb3 -FixedInputDataByteLen = 60 -FixedInputData = 36b69e084d5e7bf427fdd68bf8bd54b32ac20f9faa937d3bad91a9294d47ff344392031535d5a8ba81666c03a874669edf439cbadc3377337db62f09 -KO = 4a5c5707e372c547b4599c7e63aae2507b256a7db4c32a0a9cb64fcb8bb337f0278b16240836d38661e69f1ccb82c14911aa0fc0362b205113fe0bae236da941a783f7ab29d2 - -COUNT=33 -L = 560 -KI = 03c6ce5e4af54431df51be81998dfde458f8b686a6642a32e30420e3 -FixedInputDataByteLen = 60 -FixedInputData = 909e2a894a91757476cdc7f3e3c726f2757de72b13fbad17924935eea14e6a95888ba116029bd2d33dd04bccb8ff2b24e91b18a750ec82ae99128e38 -KO = e68f00dd33f65962d946390cbf4f73c9fd2e9c0efbd792e75771c1924bc6ad7580572643be1769d380fa04d8453b599277a6e16078aa6fdb8dad235a9aa7c94c683e7fec9083 - -COUNT=34 -L = 560 -KI = 5b77c989c30623449e798b1bad38383e283c08f81f0b76b753523255 -FixedInputDataByteLen = 60 -FixedInputData = 10b9feeb1231151e1380a7ae2239b6dd5e18398a3e5970ee9d34c661dc4aa2fdadb7e4880d54a6540c331e8ca1f6827c7f10c480d17aa0ad1a04531e -KO = ff570bb7799961de5b0b28754b50953d280698d61fb386ffd8caed5616f0ad943241baa1e7f4c2a9715180e8571ba870e194174197786b3654778431fd5395bd8376fa50c7d0 - -COUNT=35 -L = 560 -KI = d8f5b1e714413155bbe371a8c768bac611cdeca5dcfda36b561977b6 -FixedInputDataByteLen = 60 -FixedInputData = 3e922429e7d397c27124b75224cd17468741c44a6234a8363eaf7d02f2adb6bc3f5fccbf2b51606991448374cc5d829112720612be409e0184e6f4b3 -KO = 955c805629725d37f28e449e320294ab2526d36cd77927f89a7004620ea4e77d9aca95399f142d84f48fd9c1901567dc99bfc8ec74dec02b5a0dd7e8ecb48afdd4130bee9ec3 - -COUNT=36 -L = 560 -KI = 77285a1a5d0e92d569f9b2f558da19da29aa3ec9dfff24422473a739 -FixedInputDataByteLen = 60 -FixedInputData = 0ec90ed5e64e4dc5069c48aa80ca291fc22b56c9b6226b69cd38734ecd2d84d2f952fec0d5dc0c6694d682bcd66bd836de6f6fd3dfd458031cf03998 -KO = 8a62f4fb753caa7431aab45006b6c90fe362591812b8c8a4922307ef055783fd180a8d7c8eb4a8243458e041f45cb38dafe3c65237f7c1038a5b8cd6e3bb33a7dec0cd4f6edd - -COUNT=37 -L = 560 -KI = 3c8f5b93fcc391249c542b73efc510d9dcd76ed94060f30ea88b7986 -FixedInputDataByteLen = 60 -FixedInputData = 11557851ecffe8428d055941ee2bc8773a1786fd5edcf8dbd7908d7647ca11398077628d179ccbd6554abdac35c9ce1443b76dde221b744f4798ef98 -KO = 2443ca3d4963f3727e879ac1788c396d35e370cdb0cd8b5fb72823863b43256e879b5167d4a2b44d9feba4252fbe1e7af75ac15734bdbb1994befd447df8c6f629127ad5b253 - -COUNT=38 -L = 560 -KI = 7e3a901edc6d1fd8aa27324c9aa3434848db23010864446ccc4c17db -FixedInputDataByteLen = 60 -FixedInputData = dd1cac06039e4553712eaea07bc2c82e0d14fb48e0258173fa00f725851be7ea279513f880ef0c4f2bdce6fae1f3e7e053bc9864cfc93b123020e3a3 -KO = d581983b0ff9e1dd6077929aa89ec8bf24972abdda14370fc217ce0bc0e8fb2b75c12c6118d23973d408c9dea77d5547e60ef75c36aa666d448e231bcb8674df457e14b89e8e - -COUNT=39 -L = 560 -KI = fee5b59dffa86b2b44d86cca26f6652a9ea6ead6b5549bb05e0087fa -FixedInputDataByteLen = 60 -FixedInputData = b35a50e065cb51a1c8e03632a6c52b4f3d9848c117c3599b823a5cec2a03a78287cf2528a358885b5b3b5b7243b0d98bfa89ecf3526d0e91611df73f -KO = b40ab0935655f0dcb4ad56e72eb0773824cd7fbbaf6c6103305751372692601e246664b41d2010fa9da9d35edc6f9b9cb867c4f75cec557b7ff591797586c1b5a4cf3ebf460f - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 0d5a6a02237946defa84a51044c705d1fa53693bbdfde4b879c60162 -FixedInputDataByteLen = 60 -FixedInputData = 903da93511f12a3e8818088015d9668f827ca5c4b56fc92514ac1ac9b6d1723204598dd2606edafa55e243ecb783de1b3e785fd1a7dec7d4669aaeb9 -KO = 68b55a51aa4f414e364f997bcac5fd04 - -COUNT=1 -L = 128 -KI = f826835468c3a55dbd390e72997ea0d950b66bd8371781e6d35fdf1f -FixedInputDataByteLen = 60 -FixedInputData = 44e148a003d55cc14204205126cc3d23cd91c7a2dc15fd1a5a9dce220c0c9020bfa8ae83b6dda3956a3e6de523fd4a31ffffc8a94ff03ebcb514ceb8 -KO = 53daf92595614846476a7d9a4a065608 - -COUNT=2 -L = 128 -KI = 1bf48ef9bc43e13252bcb1c068fd01981e8ea3ce9da33d99ee5f3d59 -FixedInputDataByteLen = 60 -FixedInputData = 47802a351afd78643d8e890465128ba6a64a3cf1ea3fb3df391bf217e6c73eeea0086de4b365a2f5e56dce630ba66c890a5693fc669ff538d5d7ae2d -KO = e33ceda9bf4584489077415f96363d96 - -COUNT=3 -L = 128 -KI = 765170175336750a55c79bab91ce50748d7087a40fd8f3983772fa42 -FixedInputDataByteLen = 60 -FixedInputData = 4b594f6698ccc8e60762713795d54305406303c024dcd667cb5724a7132c9487c2b242e0b8887db901f0b24e6dfcbe71633e1f97f9aacef6b67c5e82 -KO = 50e495784dabf2c0033dbfc51c1895f2 - -COUNT=4 -L = 128 -KI = b89a05f85096f9c3004edb43f7e4df90f9622f812b6a13673a65a46d -FixedInputDataByteLen = 60 -FixedInputData = 035a175613dbdbabaf85f976ca8f1c55a7f2596af7cea8a5259f513e527194bd17fb040f4613900f6b3304dd4419ff78e66a48180faa32be6e6c45df -KO = ba0514d42e394b8ba3035494bc9c75fd - -COUNT=5 -L = 128 -KI = 2a1e7e225777751303235e577f94acbfe4faa4d85be6a618c5ddb909 -FixedInputDataByteLen = 60 -FixedInputData = 3e05df53d23d75f37a2353cfa7162de3ee156a49d0d33c9bfb84c4bf79714da296b2edffdf5e394132604c6742ad87fb99ada9ea6804f1f500ed62de -KO = 20e84b7f1fa922db6250cbaa5bfe640c - -COUNT=6 -L = 128 -KI = b44b004f41204a4cef07109b9f4acea15d7dc43f562217a5e6d63191 -FixedInputDataByteLen = 60 -FixedInputData = a7279a02f140d60fe7f3251a52b266b8fcad0603ffd14b2ebc6bd95d9eb05f87ac666de471c1151c4c74ad05318089e17cdb3d94b85c225f3119a642 -KO = 51c5daaf21ccb48bae8474d3e155d40a - -COUNT=7 -L = 128 -KI = fe018eb8c0038f176c691459dd88dfb78d350846df6e4e750c7a3b33 -FixedInputDataByteLen = 60 -FixedInputData = 218ebf29575b398e23433e91c3bbc1d0d13fb9cd481ed07144e0da9478516800cc0f7e214685cbdbee8f932006380cdb9b7401b155285cc0cd8c414e -KO = d5a7e65d55fbd9354b9effad43d2a41f - -COUNT=8 -L = 128 -KI = 496b7942dfb70d30bfa58f4ee16539127fc7bc60db4e9c02cbb8c989 -FixedInputDataByteLen = 60 -FixedInputData = 741df750a2a12f08443f709b349e0d437ec80999ef7c472a81717cc0fde923cfdd96df9f3699d54d0611c23ed1f973ae7536aa45a0ed6eafe55c575e -KO = 3e92095f33c9aa24af8df714a653de40 - -COUNT=9 -L = 128 -KI = be0ebebe83532c6f30899f49269c1660f33dd99381b0d5f65a8074b8 -FixedInputDataByteLen = 60 -FixedInputData = 297b68bdc986e98293180fbab64140c1b030be8f34b9dfdd13b7ef499bbcadab934b83d1ccde52b8ba4abfa818d51e905d9f423d9ea2084d7365fb3c -KO = 42e4854c80ec819837028b7ecafd5cdb - -COUNT=10 -L = 512 -KI = 02e53ca2099d51e7f91f1ac98ceff81e42488a60a67d1dc85e9e9fc7 -FixedInputDataByteLen = 60 -FixedInputData = 291bb7ddeca317bf4708723ce50aa4f26eebfa6fd8419088c4495a90b2edb4ad1e33b3c4f36b4d403226b7f9a1b30fabc93ccc9bf409910c9b5dfc48 -KO = a7b0959047df078ee77e1406abe7fd4aba6206ed9ce5f8d909fb2f696cf5928477c7101da6e2890e0259364087c54fcdd1af7791def669abc43dac27d44cece4 - -COUNT=11 -L = 512 -KI = d54c9266adb7262b1c72ff5b1a262aa131043fe59ed0396690d8e238 -FixedInputDataByteLen = 60 -FixedInputData = c6faefadcd3e73b0894ed52662b04ef299c1f57ed62eea94c978ddb30a24809c1001e5f4e49cc85d6f77aa485a8813b93affb174b88ec393326f7053 -KO = cb978905b4a13b08dc904779a10ae2f6a4ee484114e2b1f07d5a97c282f6cc5b1ec6b250ce2cc2dc534f599a13f16f753e914c3193eec2bdf84639974b0afe4e - -COUNT=12 -L = 512 -KI = b2435ce7080eb36c8d6e7132107d138068a81818dd53630acb3b8ca4 -FixedInputDataByteLen = 60 -FixedInputData = dbd876836230c6d8a865c87298cea2b2f9bc4e83aeec4741e239b722bb03e45a87d8953389e132960d02e37d4ca37115d10b1cd98dd901633de4ba02 -KO = 7607191dcea692d4d7a333531dfcbfd9783812754caecb2bec1736d9bbe000383616a2abb9f06360aa0f3736aea9ec1f39a47bcd9db84a12978d79f1381e417f - -COUNT=13 -L = 512 -KI = b8038c4db3fb766dfa6a1943d62e3f9bfbb96a47a5047896d7c1d0b6 -FixedInputDataByteLen = 60 -FixedInputData = 0d6a2e6ad138b40bb087af5af086912a31012c6b2ce2d3904bdf1d7fa170444d013c63e93bbd97001c6c31339d7a384a00ee803181f262543d44185d -KO = 23554fcfda6c4ec37ff8b0aadc6a1b8de78e20156e0b4b4926542ed74e4b85973bdd243405b7692caec84bba35cb8c3c3dd801209e336c2351af6edad2c974b3 - -COUNT=14 -L = 512 -KI = 69ffe40238287664fd27be23c3dff3a2616f541951d09bd60916b041 -FixedInputDataByteLen = 60 -FixedInputData = 088f4bd80e2602ef6432ac24b04aef495e83c1755121e3d52638c6e5f7f734ba2cc6ee42ed25167b8a8b9baf46ac757a5266f6dc0067e4d33f9d534c -KO = e19455cea3b5e4786bb22426b22d2aef3906e60ae5bb19e6ff37ffd9410555cbff9a16f161ea64669ce2216b75aa6ef5caf14e18a4faddb950a8a1940fb41f47 - -COUNT=15 -L = 512 -KI = 4fcb0f3e8f87efaeac36932a733f515c9fce89395529492bbfa35a78 -FixedInputDataByteLen = 60 -FixedInputData = 4fd2752f7efd4e8a342eef8dbf27e998452e84748b330b450a389f387f4a578840508884b59cea6b056c0158111d7720f87842c8a201d59b6f7207fc -KO = 149982836bd4f771fc0538779ae521bbde771884d74de82da2396c058fdf88200b5571ee2b7b0cda30d0e2b0ef51eeedc0e6773180e2fb7276613a0ea289c1fc - -COUNT=16 -L = 512 -KI = 2f2eff2bc4d2f7656b1fb350f678f9037a4faddfc2984edff1867e47 -FixedInputDataByteLen = 60 -FixedInputData = 47b8bd9862bafce0bca52d08257972a06a811ab0e772bb12945308e7b1875c319c6c2234fa72dc7d245cf9c246936333a1180c6544bd7b9777759766 -KO = 04c7f3978580d9e756709e902a880a2c4b11178a4525ad88fe65e4afc5b0e2d991cd1182af762478d07c82a0110ae70efba5fa6f17e481fa5450ea7d55bf09ad - -COUNT=17 -L = 512 -KI = 82ae7e93827d310f724a943545b72fb2d2dab1437471c063aa28becc -FixedInputDataByteLen = 60 -FixedInputData = 0ffcb23f5e1115353149ba0cbb5fed01c5c53b98e389dca2ccd678191caca17b426e46c31484addfb7262906e9ec498cfe6f23f3970be5982178692a -KO = d4f177c93af1066cb02c2443e7fba8f7c985240675416cf69d739922093dba88955ae0ef594dc4e5f8592d47ef935b13ae4b6c7c33973227626cb32d6f7b750f - -COUNT=18 -L = 512 -KI = 8cfd98885bf53da8bac4ddedafc444fe5e7a28dd98ed99e3c2961acb -FixedInputDataByteLen = 60 -FixedInputData = 888e6b17471936ef8f57fd5b86f33d067b1cc58c57ced12adf3b45ed2d5640e1e7c09337740b2f21101c0348b14c849555c4ca6a29bd365effbdc900 -KO = 0994065032fbce8da399b64af6ef133111c7c433ccf29c0727c60d2daa06a6c6ea4ddf5b882bc21e87a025a714b693fa75153f087b91d72c11a98b26451eea31 - -COUNT=19 -L = 512 -KI = 6653f8fcad5ff09a268c3a840e982d693cc0c40b29fbd9e39c9a086c -FixedInputDataByteLen = 60 -FixedInputData = 3daec17bf93a1c94b51fe07a25d8bc235953361d67c528178c73e42d0fef7804019067d5cd075672937368d5c5b76415c127ffa2015457376d07c02a -KO = 47ac2a6d2bd63e6f7aac68f49bb9f31f6c20ca73710c99d4f0bc76c77515f798400b4241f79f60266d1652d876e9d6f524727d1764338550bcc6562cadabfdcc - -COUNT=20 -L = 160 -KI = 60134e5bf29e03a6d3bec49a321b78c63d21f314d7280b83184d1af4 -FixedInputDataByteLen = 60 -FixedInputData = 99cb53276e661f7d40bbd7f8ce731e0062c28004c16aaed56051cd94eb2ba4185eaaa8644803328141ce6dee1dd8dd6a136920596db3dcaeb1acfb40 -KO = 4c6baada93bee2515f53b2bec0472ca258143085 - -COUNT=21 -L = 160 -KI = a72bcd8c92d94ee1f5c1133caac8e20fe786c899a972a09e425094b6 -FixedInputDataByteLen = 60 -FixedInputData = e406ab0fca991aff6a19837a8b3dca8af82d70fecc0d33e22d08c3e81db01e9777809450ae32f6a63c72b78c62569f5f9920530b35aa0c59b8e465e6 -KO = d00986c603a87eabdcc37c8435fd4eaf67f0d602 - -COUNT=22 -L = 160 -KI = fc65b91308ba445798dbc483ce584e9504fa70edaa4acc6687d5d2dc -FixedInputDataByteLen = 60 -FixedInputData = 8073e572c59ea5e9f2ea2fa0004191bc82d8b16c0d8501bd8aad629d19ca24f5b823934d47a581740e09b3c45ba0812d06900f9a60e142c7fbf9fafb -KO = c8e44cf8a7eddb1e485b8e1b4d963d7524a1fd3c - -COUNT=23 -L = 160 -KI = da3d887f673a9e260ae85b1e30c84ee41c29a63dd575c5aa5734c588 -FixedInputDataByteLen = 60 -FixedInputData = 3fceb69ba0d20fd4d47cb3af104c8d3cee60563629cfdfccb7cbfaecac3f97ec498f3da44f9b80bae453045f5e2c0c289f107d49aa5e433be1813844 -KO = dda89be917b533b3deef3c5086628ffee776d804 - -COUNT=24 -L = 160 -KI = c1fefe7b28cf8068d728b9ec6be2d7a67a7a30299fe2ed4312307f9f -FixedInputDataByteLen = 60 -FixedInputData = 4643bee0d51079c21c5770b0aa8e8b4ea1ac4c23638b732c12ddc48e5fb66ba6a5f2efb7745ee5a9c964f2a81151cad37ff6ca890395be063621531d -KO = 3473d2aa3e4da159a1175f1b77d110b58ce3d826 - -COUNT=25 -L = 160 -KI = 52190a5f147caa6e1b3638685456c017ecd89e26ff764c8b2e301251 -FixedInputDataByteLen = 60 -FixedInputData = 2ef95de89df6be49c481de072bd35631eec78f2e016df6b0c84b0776cef08bdf5dc0d1f93211b06ac7430e3fe38b0d8525285ecefeaf1252d04d8d35 -KO = d1f0c109e5020bd22968be9395f3c93475fbac0a - -COUNT=26 -L = 160 -KI = 3e5f5cec099efc6b02069976b4aed64d5af3f0180cc8c81b3b1fe307 -FixedInputDataByteLen = 60 -FixedInputData = d482e45c8ebf318feec1fde9b9461ce0a4659ce7c2444df00e05f4eaa5bb331ce3030dcf55dea3ad68e051fdd517afe328b14d7e582979cbcde9d407 -KO = 63fda463092459ab55bf7e7d9d98cc490a3161a4 - -COUNT=27 -L = 160 -KI = aff05c7fdceefcff3b095745b6580a4457bb1a3a427655eca6bb6c21 -FixedInputDataByteLen = 60 -FixedInputData = 52d142af009b6ff308cae640028dc0512726743de9f42fea8da22bc0e7dbb7055f946a7ee8d60f631bf852850284ad645755a85b717e72a9a87daea4 -KO = 42e12b9aefd5d116a017318df0addb52c9a93e44 - -COUNT=28 -L = 160 -KI = d8f64c940a577dc13a3a213135cf1c29e1ee6ba069d0af9ba32e5114 -FixedInputDataByteLen = 60 -FixedInputData = c125eaeb45a0d0c40b53c55f1e9c7a31aae74ae042e683cf8aed54c7dc51c805a24e66fbae080fac371c17af2b49f465e6acdeb57c84d7dbaa33fd15 -KO = 9bf2559781654d3d3442a4c126c5352e12a41350 - -COUNT=29 -L = 160 -KI = 0d2f5b54a0737fc114e00ad216d982bd9eb18eda3a3948834d256e97 -FixedInputDataByteLen = 60 -FixedInputData = 709ab9d9381fe7dffb2b8429b90eb8ae225c0d772d653339ae1eb1afa23753f53c790b5eb4d07d1b95fa0cb27be57a23cedf1b4119109eb8a51718fa -KO = 94c8544aa42d768f07e8d41aa9c9640e9625b566 - -COUNT=30 -L = 560 -KI = b31ac738ab4b1128def1f3213387bbc639152659141a10ada80ec620 -FixedInputDataByteLen = 60 -FixedInputData = 207b8f5c07aebdb85900e1f366e60a67c3ffb3e6302bdcbdd703a3b4b482261b5fddc3e41293fa32cca1974b48e355080827fa965ee31a0d4bf3b4be -KO = 09e93bde0d7f95a9a10439cb453a8243514a1bdd3b91e3ab10dbaa76da412704c01e18488d868785e879817e0153a6d3c3db86a18a9218760ca9c0cc6efdce9d217deb31a0a8 - -COUNT=31 -L = 560 -KI = 78d0ff5e3b024dee22085d988e10b11788eb31a084b07f47f65d701b -FixedInputDataByteLen = 60 -FixedInputData = 5efd5e213fdee3a6710b61acd379fd170f49f7c093d6d18347f79b1c4fde97d84d5e040776b0478c96ee6699f05bcc5b893ec0010f68d1ed818d0a5e -KO = 8b19621b2d9470b1f98b87382eae9a57598b9b8b3d4773ca3b29e0a63cc23bcd667d4e75f28b57abb7d82fde32c40a8814a4a603ed217e4ea6fbb2b1432a41da9b8f160424f2 - -COUNT=32 -L = 560 -KI = 4bd7aa7498970411c1efec7c531a89af3fb7cbbdcbe9be6e5fc7a983 -FixedInputDataByteLen = 60 -FixedInputData = db0c1eb5454b3675d2ca764bfc9878b89882a45eb9f23726b8a954c2a755798a5cd2d0800d15bec1589846f5168f88df83ceb17117a560ea8a259a4d -KO = dfaef1d7efaf9c40a78a1da5ad09eeecbd495a124b120d8079d3dcabbf323bb81bdd1d019a78b73ce99ba5cc3474551c33601a3cc801113ef62d79de842a59388962369ad42c - -COUNT=33 -L = 560 -KI = a59da1668274c68eef6a767ac8a1ad37449ce1132abb7eba1f4a7366 -FixedInputDataByteLen = 60 -FixedInputData = 2e6c4e122c8ce278734fa3e1cb756f4fde6388c41c6c93f73f65083ad24bb32f59817bc35c267311d14d283148d38078a20e18544d54df8f8b42d643 -KO = ee4bee5e46fde6312218e23cba468e041f8850838e6b5b78cdedd6d7e2f1fec32da63134f7dc674ab3d583712d99deb4c4cac3042f8eeffde2b27f8cbb69017e05cc87c5fe27 - -COUNT=34 -L = 560 -KI = c0872f13f1b38936f74a4a67e6e8306658a5e68d3a129313967d591e -FixedInputDataByteLen = 60 -FixedInputData = ac65ad5ec70d2fbe0c62b13899bc7735b71eec580e4854701ed2f2736ce98f990ad5abed4b8f88aaa2f272b930c4d1b4de6075df17ec3d596c261dfa -KO = 082230484af2fb67dd681323eef5bf30e597ff2cb72a47da3648704cf2a07c97feff2c7c79a5ed0723b2f8775600c086ab884b18d7b4cf9ffd11883284feb03661a83633923f - -COUNT=35 -L = 560 -KI = 0bf1c38e46f204893eb7e565a5275fdf4914da8b18f37c76e16cf348 -FixedInputDataByteLen = 60 -FixedInputData = 7a6b4c226269adf57df1826d3675eb1bb6bc718be9b42b5274837e029ed3f40445119c1f2af6d17fefe4fdee2e4c62a97bc36d41e1ad228b460a6a57 -KO = bca2f7ba4aa8ecf512709269418a662b8523d1db1763c7423a60bd46c14eb0e7c322a7b60a06cb989aebecd5379145a7beb3228b2b39a7e729d5ef812310e7957d2b0b5f27b2 - -COUNT=36 -L = 560 -KI = 10f1d60371ea58cda32a4c49187457d7a3e1132e747be41b148a2ca5 -FixedInputDataByteLen = 60 -FixedInputData = db75fed33379b33d0860e161851e2d4fcad6194603ca3483774c15f863cf1c1320a50e5636c7e5b8969c446741a2738469dbd5184bcb69267188db2a -KO = 2e057daae144a53fac6fc4ebc2d063ec1bab7fe561103648d21361ce3d6c7ade68b99fbe37cf4a67db288f737a493b3016309690ca61b68f6ab7048d045eb68a980a8a34c6ed - -COUNT=37 -L = 560 -KI = 06f07390b5d689c61565e658171d1e325c1277b85e55ac34422ffbdc -FixedInputDataByteLen = 60 -FixedInputData = e40e5d0f81819d28f5239ff8f7ef9ca1cb0127e2637f202d0f18cc7d1ef91220811700bd376e2fd8112f4330d0812503f76ca9db629b5a670139731d -KO = b3a871c498dae9865ea64f13038fa56670bc6a36a73361d4db9f865ba2cadf108f1bd8177d7f14fbc567c78836e9b0df38f51145af368a22db4be3bbd9f8a916307ae74691fe - -COUNT=38 -L = 560 -KI = ec287e7ea95a1412ff320395dcd522a3cd6644525e0995954b9ffea4 -FixedInputDataByteLen = 60 -FixedInputData = d56686d972d97b6342903dabb0df69e6b9761952b6f94e87522075a0ae7792af0676aff476d93a05ea8073e278fb2ad8b9112195a16179eb9acffaae -KO = 5b83686e306d2860d79f52b0dea8b351ad0c04ffb4ef960bb9a2a7e1bb0723f398c8d5132e667fd99e7a335198106f605670e746d91ac4a95add9ff0917461d5c62c6097c8ba - -COUNT=39 -L = 560 -KI = 3df03eef8f152f913097c5d342d1757b9086458c226ed947bee44464 -FixedInputDataByteLen = 60 -FixedInputData = c0cd295d7aa53a33ae0c9d68c6650782d84539d1bb7313d3c4a585ccc109caa25e5a98145d93ecf2f9c8f80867b646a50b0c00f784db151eb141c5a5 -KO = 8b5ceb4a8568663e63cebaba2520d0e85e1efbe2148dec6ed51964992f4e51a8dd083390f80c6aa7b209f76a8b6f846a52a06701975d8dd668e888b7d949915e1e3067cd4ebd - - - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = cd2709e5d8577c2044c4e918369c0855276ddabca56dc072859bd1cb -FixedInputDataByteLen = 60 -FixedInputData = 2b9606f1044edee6909799efe7bf650569068d2d524084c65ddb6591b730d062398a785774701157173668e0dae9053accdd6b1c6a1234b0fbdf0d9c -KO = 81a2f49196eb4db01dc261d10beea032 - -COUNT=1 -L = 128 -KI = 5dd56bb1a526d8ea662f91a99e9897f49d147cf08c4ae056abab8c95 -FixedInputDataByteLen = 60 -FixedInputData = 0d86e3ca27ead7d6b260f8560e825245af23c9f8448e6942652b0649219633780911a5df59132024502a02f46d4190d3be0c5265461e9325169e5148 -KO = 2cef15a5ea58e9ff94b7d38f0d761298 - -COUNT=2 -L = 128 -KI = 5a11804c93c52c1cb4c00e0bf183f6b03fd1eab8dc711358a9866a96 -FixedInputDataByteLen = 60 -FixedInputData = 767980900a7283cab9d64865e66904239e37f30e7c46bbf275113ef925578854940acbf56eb8afaacb2f3b20fb4c51c83a3522a02d3ab5e62278e7b4 -KO = 3619a837ca12f5fa6697ddd7729bd2f3 - -COUNT=3 -L = 128 -KI = 0ccb27a4abcb6dcfc4e52124c4cafa261a94671abfc0fda7131ebdbf -FixedInputDataByteLen = 60 -FixedInputData = 93ff6813987490c64cf6b6a6eaa3979ee05fab1187b22c4a08a02dc5c5da9b0570acab512588f32180b973bff3fc1929be9c4e31b6fb39fe38a2042e -KO = 1b7d6c7e5e8679ea83f80d9cda822007 - -COUNT=4 -L = 128 -KI = ea87270e4fedcd1e7274cd222755e560078051812865de7a765c87f2 -FixedInputDataByteLen = 60 -FixedInputData = 1f1c85177a2957a6521fbc40a247d822a741e241d1011355c6d7ea49428917a3598d9393c34fe48c6c4f13260f445f7572ea64d2f7be6b77737bedbe -KO = 7aec0b51ffa7a821384eabdc395c3bd7 - -COUNT=5 -L = 128 -KI = 9c4c3ceb28a29cb8ff1541214ccb44a5fae34472b0e0d7ecf876a29f -FixedInputDataByteLen = 60 -FixedInputData = fca59fb2e3ebf856b99987a56eb9994b744fcc867612e50a2319749f07c15bd88c6f08562d9b46dcec74927aa58ba352262d592b47ad9b0dc437ed4d -KO = 751e8fd8e35d361ac132c28d54b84465 - -COUNT=6 -L = 128 -KI = dc8ebf0d2c1d9b1b0cade67375e1c17c4fb1e13d7e3de61950195245 -FixedInputDataByteLen = 60 -FixedInputData = 7ace80d8eede4d33be4fe1aa12941956a348232fa92ecf953bc9888ddbe4ffc8f6aaa27fb38ef07143534f2f5c7c493783e0cf57e82cada351f779e5 -KO = 4ad27871bdab2d67956298f5c0a6a198 - -COUNT=7 -L = 128 -KI = 8e1551d6812095bb6f76cb2db8c4f9b4772886c3650ba13cd19957c6 -FixedInputDataByteLen = 60 -FixedInputData = cf6a34086fc67819711bfce4fd87533edd29d02b7a6800c56c37877c2d713be5298be4c861b41924301a2b6695a2aa170c214b3d83128f7c805344c1 -KO = 169643de07f1d7f757e8036d21f16419 - -COUNT=8 -L = 128 -KI = 64ceb2ba6019031e17236b7c1a3247c12e8a8a34b004f5e026bbdcbc -FixedInputDataByteLen = 60 -FixedInputData = 4ebec1af3233d4b2f691ff1a45f4ef800b5886f21b8622db785c5984cfc0638cbd19312faafc4b1ab1e51f0f74cb96705d5252b434dad49178a3948e -KO = 59d579787961f1eaf981e045e6f6574b - -COUNT=9 -L = 128 -KI = 9ee6747efbb5dcf6d1106b6752e011d4288e55aaa808d189ecd37c89 -FixedInputDataByteLen = 60 -FixedInputData = 4951e60ffd4cab9e87ff411328b4939797e3ee2077ff2a0505cf78b92b94e989dd1b3a3cd3a82a7a97674c0a9f180f09b34130b152bee5adc8063201 -KO = 81261a9eb31a18a2424ecdf4842ef4a1 - -COUNT=10 -L = 512 -KI = d0fdc1306bd9bb732c613d514a6a156e7fd8e77e83b4135103dc5549 -FixedInputDataByteLen = 60 -FixedInputData = 025b7645068ae7ba9d93887b9cd0e4ff9fe11651de1deb568da599b254b8364c2c1bfcbb7892c62c5f51619246be60440cb277dce1e9d09b5c392824 -KO = 7a9abd65b3f01f871fac5b22921c3ef784332e492e2b7b7aa41b5c76b54680745cb5e309ed241a5033caddb0ea56ff3ea3b15572c5203a877ab3f102ecbf6adb - -COUNT=11 -L = 512 -KI = 1d6a37434f527164c952c5d7f9f639c3dd7db87210f0909212c8b886 -FixedInputDataByteLen = 60 -FixedInputData = 127c8df4a75c07b52d07140c04af81a13e40d4f25a52c6387fb8849aa4c8b4a85732099b74775cf11c095c7706bacd6308c98332f4600bc4999760a9 -KO = c3f31657c69456d09441f46625934f06226b372aad198caadf6eb721ecb1d57dbd92a5d13f2d912197b5e677ab047301a1a2599eb2eeaf6c8c966759b51ed330 - -COUNT=12 -L = 512 -KI = 17e5db9b2d87d74401923984561c7cfa409d36fd44f43fae00debc6b -FixedInputDataByteLen = 60 -FixedInputData = 69ee7cd4138ebe92f89c26cb5ac452b8ae9ee1b771144671ceb82ca241ea7e1bf2e44fa0dae80ed64b65f1fe3405434f67b5557bc94232b3bc8d83b3 -KO = e858d41eac05eb4c6a245efe25f1daf1786b76d1a0d793ce7337a527598be22b6d482fd3742bf022e81a8048a05b090851993a745c8c2d11ca2c889d82f8a3e5 - -COUNT=13 -L = 512 -KI = c626758a3381e5ac205aa58fbd0b323647f263bbec55e43fa2dc91c2 -FixedInputDataByteLen = 60 -FixedInputData = 92fdeab44ef812d2b05bcb8bcf19ca4063139f423a6f93f6e78f82ab90820379962ff4aeb320911169ac9d8887cf73a7b2e6a6fa726cd3bea84c2f86 -KO = 128caeaf94d1ebeaa1cb2394d3c9502db63a02a5ef86db1f679e959ef4ea7bcf6c4a641515bdb1db36f3308475f1b907adfdc5b2abcefd951101dc97dee2b590 - -COUNT=14 -L = 512 -KI = 5f6929ee5165f16cd7a0d1e748d540cbb2a66651e946183b95518092 -FixedInputDataByteLen = 60 -FixedInputData = cb555c8305ce378a0c52578d3c4a22b8f7a8e0e41545e552000d20ad11bac095f7eb50f6d0dd510938c4c1cfbb0824083992c2dd2713d7a06abad51a -KO = cfde78241ab05061c1334b2a8a895a23563d8df6c7484a4004828b67fb57032268793efcb39ee297bae21578153aecba7e50971e7be67007f693c361258c6177 - -COUNT=15 -L = 512 -KI = 0393deb831903bebd56bcaaa94a6691749730d63d5ed88714fa95fb0 -FixedInputDataByteLen = 60 -FixedInputData = 5a30de71869dce19c53e817daa9889e44a3ae8c8c1d0ba82339a8711ab76c697981aa26d6565b01e51c558ee987145b98a9878959f6b948a3f199f9e -KO = b6f91acec3236a6b9f043b047f293cbc009935418e42a73af412ba7ac5cf901d48425daeb6667e040f5e775c3ab195ed2088c2eb8254cd824e14e21c353d8e5d - -COUNT=16 -L = 512 -KI = 666411059b9eac6fe9cf0890f7139f5b03f3c98d1055410ed30266c0 -FixedInputDataByteLen = 60 -FixedInputData = 8c9d5fb0929f5d5495823e0e567d7b1c4233746571339c947e4809e593dbea824294eba610f8702a1290629852afc1bea927bee30fb810a001dbdb5b -KO = a4121288b18fd4ff052e28d72454495535089b9a05a12e5453aff4d469240c98e69883eff223d485e1640fbd044b783166666225745a9d5294f66b36bc2368b8 - -COUNT=17 -L = 512 -KI = dd47ee06e48a949ed44478485fd03b66d85ad51c0e73cf4d0378b242 -FixedInputDataByteLen = 60 -FixedInputData = 39590df4891e39f20db15fe73f9077a7c90defd604739b63045df4ce1b8a1e1533383a9403d6c188cc7c9d17b969f1bcb457182170c95b4895512d7f -KO = b6c1ace91c4265f1b398a0555d97221fd067288678a6782b3d00bef7edf7f8d19cb577ab0b1f692d128cdcd18ef9c685fb7c1f2d14411bc5457505f00b8347c6 - -COUNT=18 -L = 512 -KI = ac456205cead8f736e8de2e321e5d8fe0d6555c9434596ca0a110254 -FixedInputDataByteLen = 60 -FixedInputData = 5918d21ce2dd2141155cc2f1c813d91be892b0c56814df9156a9e69f2e229285233629e73f8c10a6fb280d886b21fa516a1bdab799b80be295faa3fe -KO = f0901b969c90eb41900725f83f2e86e2f82ae1e82420892e74683e33efa2599fb11648616c81a442eee0fae9c16d332a42fd994589c3eb952833dd48d724a99b - -COUNT=19 -L = 512 -KI = 273d3c2b5e5dd882bdc2ea2c552e4b1d458aeacbff2ffbd31aa503b6 -FixedInputDataByteLen = 60 -FixedInputData = 8bc8d3e3593313d5d3d1872b9cfb6def4c31946b8c7df97af305694d37f8a56bb8c2bd4a603cdfc7286c2603cc33f160f58ae318b3fd37760febe35b -KO = eb679c90b8586e20888ecd3a4bd24a459555dc12f39b424855bbf98dc6f5225b68c83fd0101a43832fa3305dc7676f381c6cf04f22b77ae3790ff183e871e5a9 - -COUNT=20 -L = 160 -KI = 01328f20bb671c88683e00df014ffbe619788454a9a46ed35833e8df -FixedInputDataByteLen = 60 -FixedInputData = f0590b9e62fa9798e21d00b573500ae4e62ddc0a199f27173e86177d68cc7f2ccd5bd45f1108f6507f74208f319949f3656f387aed166d8b750bc636 -KO = d835bf909073ccdd274609f85336276aa9d8e1cc - -COUNT=21 -L = 160 -KI = 0169fdec3270e3023b084275ae04a17d27a83e5dce5a37372a86f7d9 -FixedInputDataByteLen = 60 -FixedInputData = c6f07106ffc1ff542d6417a0603051b95f0c9725b8bbbe1e9b70650c46c5f6515261626dc1ca4f88db98252d410fee028f51f8b026c730f83275a023 -KO = 7b8c967a3efabd700d3dbd8c1f83185816d196f6 - -COUNT=22 -L = 160 -KI = f52b9227d2b38fae2c652e8780c9a51537bec58dcf8a5934b7f2bd69 -FixedInputDataByteLen = 60 -FixedInputData = 8dd7ab7ac5e3a5779acef9a44581482cd80d0cbf05820a08a8fc695e79c10b686bebbc6a44b773c067240e31bb05377a8ca92cb1d86e86183bd7078d -KO = 9daf05ac84ca67824d12cb0272d1bc56ffae4787 - -COUNT=23 -L = 160 -KI = 6afed096e28e548af5ecf1884b6cc1da50cc05d829c91e14cda76ec9 -FixedInputDataByteLen = 60 -FixedInputData = db3fd5e77e96f0f1aa770eefef4509ed3de2ce6fd9ab29c5bc89be2672592cd2c3927658ac71b58b93a9864d44409ad8d038e407639f0d88bd44a529 -KO = 4581c68150349fa2a49ed04c2f4566ef0cc27cf8 - -COUNT=24 -L = 160 -KI = 0d3ab955a5d917aa79438633d4a8a4b02d73f1d3bdb4ac57e4f56fad -FixedInputDataByteLen = 60 -FixedInputData = b3f5927c66de0456926be2f74ce859945ee913480f6dd5671c80867a65c562e78204ca14a46c5a7e944d4cfae3a605a14ca23697e10eb345c32b8851 -KO = d667645dccd4553d990710eecfc27faf6a25ce6e - -COUNT=25 -L = 160 -KI = 2a980d1c4b3d30b0edb9b6773ab33b6577c5fad342983cbc0a60ba7c -FixedInputDataByteLen = 60 -FixedInputData = fbac8f5a3b3784ae19ed9d332e52b274c6116481c6a9ff6b6c7cdd534497a3bd58f9a160fc1a3662d6cf89243a321998c43c7e2825b89e7aa7a47911 -KO = e4739fb4c25d06ee379d72d9121080db2f72b0e9 - -COUNT=26 -L = 160 -KI = 4397c7e30bad6c389d854f907f73228ef1c9104365be467d6661a197 -FixedInputDataByteLen = 60 -FixedInputData = 52798b02efb6f475ee6ebdfcc63dc0c492ca30886539e3d1174cfac17236ba1c4c268cf19714f556a47023ca8255f2d54ce6461a06c3256d1636d2fe -KO = bf4278f1b00fbc77b9a0a33f361b0547be30e301 - -COUNT=27 -L = 160 -KI = 2051ff17d8c3acde7b442ab7d725467f332d56af9a15eaa5a67c4727 -FixedInputDataByteLen = 60 -FixedInputData = 4b5bf72249dffb1026c5d7af07c3b0978bef9eb38728bde76f66350e92151f8c43cb2ac8cfd14f2ef4d3eeb4ebfca7075101cbe96a0b5eebdc2e0518 -KO = 48173d93d0d49ade89adbf42c6b31f91934becb1 - -COUNT=28 -L = 160 -KI = 7dd88f6c39ff4421f46232ae9104225e649cdc411bccf7a5524c7dea -FixedInputDataByteLen = 60 -FixedInputData = fa38a55a882c54eb324758e7d84527fce9cf20703d1077b4facdf67396ceaae9de657bb7c5e094fe283d77026e1ac7220d13391bf9cfde7528e11a67 -KO = 6d0ab4f03a6cba309823869b890de2bb0459131f - -COUNT=29 -L = 160 -KI = d76ab4436bd761d609a2b89aaa7a1664e5d6b5d4603c0b0b34b284cb -FixedInputDataByteLen = 60 -FixedInputData = f7b11bc62263f99640bd0fbe8de5f2acd85bcdec3caec176e1c186929cad1f660c3ea5cb5d0bcf4f1e06a3d732c08bacbdb73b20e589ca90663bee9a -KO = 9e36d0cb461a1cad2a1f7896718dd35d56e161f0 - -COUNT=30 -L = 560 -KI = c8a48d827282a7dc45580eccf0304ef8c7a77a018838631788432d92 -FixedInputDataByteLen = 60 -FixedInputData = 270eb1b3ce0007bfb415c4e091fe5a564e0a0d3bce0b9748bcc356f46bfbfd2865cfe2b9912da75e3151a729903c6caa5dbffa3d185ba9b168b5bfd0 -KO = 7dd83f8a4d242722b0869399e8b673e78ec24c4ceb7c57682ca92fb53a70aaba24dd76225710f41314e531f2d4b2fa37e70aa8723ccb916c6dbb2a430a47b29973f1a92a0f22 - -COUNT=31 -L = 560 -KI = 6be3738713ccfe5f1e55468d130c5e457e0c25b7cac656e7ae34425c -FixedInputDataByteLen = 60 -FixedInputData = cb4679e1969e8c1a47c31e73ef7e14e0d4ff66388fe8ca8d7b85b1f727122f68e31575b12bdb852db0d4ed0abfdc788b8bb4288b5860ca2fdf86e399 -KO = 72c102d59ec865b1f61d308df5d76298dd3e03e59fbd0f59eaf2665c0954588d790e44bd42f3682e68cf15ad580a7eb61751620e496d3d7451041fd277c17c140462932ddf28 - -COUNT=32 -L = 560 -KI = 23543c3fd8e789496e80524453a608efb800fc0eeb1bad5bdb63e4bf -FixedInputDataByteLen = 60 -FixedInputData = 8a2db72af7025dc8cf89292e5bb86eb136dba26ed325d060eb5c053c5faa96d693d5fb258760af7f3992d5bef8ee6574176883c55ed8c4644c2e58c6 -KO = 1c7d3b86e63d3e4a93744efc864d12a07ef5e73b35427dc7d0c1ef2212933c07637d2f9db2f0ed2cebc8e2a42c573785947874dea09e15816ea333e38d6648e76c6d93f965e8 - -COUNT=33 -L = 560 -KI = ac576f39e599833a4a8c654daba4ee34ec2b55e143f714ca5089e1c3 -FixedInputDataByteLen = 60 -FixedInputData = 0146be43e86c42864ade9e212836a06fb471c90eebd7d6ab7c5deb192c4422784ef0b81f04a915d4698b076369c5f754c49c2fb8f2d88efc56e8a2c7 -KO = 60ba4be422e79ff821e164432ee2b6e6e191833e570c9821c3b197462f88239888082c427bd656f6b59bd8f95ba64ab76f5242920c868ab23391d11ec49bc9025a705b44bfc1 - -COUNT=34 -L = 560 -KI = 1825f90e077b7a089fc9a854f5495f2b1a35383de4c0c0d595867851 -FixedInputDataByteLen = 60 -FixedInputData = 52d451e1049e8cd4939c11b44461b9d12a61cdef13519d488ad7f937b5576ecda35b146b1c606c7246b009109fa889ab717f52040fc62e9cd41ebb18 -KO = f67b75cd2286610710b03dc6e41a53b97b0076186b30797aa84b15542397cc8f4a4111b6afc4864d871862d1609f0985b546c464cc379c42a1c0ee78d7d7eccc49c9089a2466 - -COUNT=35 -L = 560 -KI = aef2335ac1d299646ec4d66b2a4279165bbf1caea691425bbb42b683 -FixedInputDataByteLen = 60 -FixedInputData = 888067d28be4665dd6998ed5e4e8152d622eb27d0e4601e18709e7fdb06c3fb47b8e489198708e77d81ec05abf9370e8f674ea78996bc4692b45dbe3 -KO = eeddef237adc104b1a214a65416107a3619d46c876772f8729a8cba9e47006b8144a5786ab7e633730dc9cbb7cb48881f307e04e5f787fa0b5f1a87e2e03f6c5fe07a7e17812 - -COUNT=36 -L = 560 -KI = a68a99b71a814b0f7310989ddf67708353a911415c902ca831249b51 -FixedInputDataByteLen = 60 -FixedInputData = 1a4133f2c3474adbde801a3911beeb73f6cf778556c6f4061729ade6f0e4e9041c78ec0addd3df374427ea93eaef83000fbe9e2b0b6d3f313e997c52 -KO = af696b71e0b7a2ca037c033ca5018e4fa1985057263cfdcc08881a45e286252787236db724ad3fd6d5c57be05db8c6d94356dd9d338769e2eda35762ad99bb9286b61d9c6e14 - -COUNT=37 -L = 560 -KI = 698a7d6ba6971f21b83cba929bd1da440a5c0f3c28c1e83e2058bb17 -FixedInputDataByteLen = 60 -FixedInputData = 1b2eba4a3a0ebd0e0bcf7f6b86eb1f363a6ffd5b7e10848f090ac60a1bd2ef7bcb6de369446123789b80a3367aa3cb56855fda227c16d5326bedfdaa -KO = f227c6ba32e211fc2b090754d1a73da8444c3b2bc52b376a1305a3ae6a714b9cc3ce44394209d054f3ce11d934f7b1d5035b65fbc4053d4eef0aadacc1d17a7c0c65889c5c8e - -COUNT=38 -L = 560 -KI = 238a476ecfda84abb3ca1296716812796f631acdda1a1b7ca9e7b60f -FixedInputDataByteLen = 60 -FixedInputData = da4123e8b6a8343b3a621a87d6fb5c7c5e9fc0c720694547d6d234621dc3df5f123ff54740ffb910f5e25a0b333b10c4b0fefef96744ae4bcbc676ee -KO = a1072940161c64d4cf0c4540df21bd94820f3781cbd6ee637bbea34f7032b3768209f87e87f762205ae1afeb3302a46cdcae5b0dbf3726d8dc94d2c8e53fee84172e681a2898 - -COUNT=39 -L = 560 -KI = a0b09bfdf39a8309c1bc75195f11a6ab194000a164d6f71e43a61449 -FixedInputDataByteLen = 60 -FixedInputData = e694b6a83ca0c8f90bd0b8fe77fae8d5f714381dafc231a0b9f012ed2e99cdb7806b2c39ac68447650bc83ef8f30a0f9ce5d3c35247bfae1dd35a1bf -KO = 305e0b4f71d2ee6cd212c9bb31d6db0c6af515bdc0b9a0fae2493e2fc0e9254d839f00dfe1694cf20c8e1915689451405c59a88db1f5630ac7fef8d7270ca06ed18e95ff4718 - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 2ce3a4a13bbf845a38999ef3c2a68385355fbbb0d6997c0bea7c3fecdc7f6745 -FixedInputDataByteLen = 60 -FixedInputData = 8505879d9c93d0b66a29a4d334c257a7824538ebcf151c0b55de0b757dda28fd462c17cbdd8b529f9c183b786385499ff61fa1b736fb1579cf2f8e88 -KO = ee9a34656d9d98384f49d35f088cd674 - -COUNT=1 -L = 128 -KI = 5be8554e5d92c162c89940a57c83f33e479fe2efaa105bf72278bc43e3e3a4fa -FixedInputDataByteLen = 60 -FixedInputData = 5d954d46d4b77e44ca2608b1695036d393707a36ed67b6b1e2ddb8a33abaf34d11d224b2806bcb0f9db4ad755994d7d0156506745cc6b58f41fb010e -KO = cb4c849ed2a027045c80f29a78e26fdb - -COUNT=2 -L = 128 -KI = b28fc12c17ce1daa53f87fb6c2d57ad958355e624df429f501308852a6fe9b40 -FixedInputDataByteLen = 60 -FixedInputData = 9541fa82930bdf00491711b97853eef64f4c36f9b1ebcbbbfce82175c1fca2e1f87083d4765eef7a066dd49224f3f9c4218b19fcde64ce3b3285623e -KO = d78b2660ae80a45c6611cb3472fb66b8 - -COUNT=3 -L = 128 -KI = 7c2b3c06eab096ebb883bf13e5279d43d1644d345991e97e1b692215545908f9 -FixedInputDataByteLen = 60 -FixedInputData = 9b884ea74b34fc6b794f092e014779b5a8a242f38800d7254887e8ff9de0518b47211545838a80987dde3b1b74ede14a11515f6852344bcffc1cad07 -KO = ae03da10bab97174c8bd9eed30fbddc4 - -COUNT=4 -L = 128 -KI = fe28925e8d9c9731fa7226c3853444823ee58702dfd2dfd62c262eb321d8a7a1 -FixedInputDataByteLen = 60 -FixedInputData = c1223ab4db7d004626368e4fcf411c98c49d17ebd2988f2a9cf91e603de4b1ef1f2463b719caa5af7f1e433e673270be8b1f438879ed7b08682e15a0 -KO = 2543a2101ac7e9269278e46e58d0486e - -COUNT=5 -L = 128 -KI = fa12182248bb5808fa15557d38a5607afa0090d40cc5aedf9d9b3daa8ac54334 -FixedInputDataByteLen = 60 -FixedInputData = 13286926f7cb3e1816a959bea0a62ced730a6d54a5a1cb4eeb10c38e75749b244ad344a3220ecb19b0b2bb88d17c5cc8200c671b6f9c5f40701734c4 -KO = f958e4583f43709a17ea1da0698eb974 - -COUNT=6 -L = 128 -KI = 97155287c5fbdfa0a31cb320bbc5085079806c0ed9e5996a7fe325fe6ec1336e -FixedInputDataByteLen = 60 -FixedInputData = e704aaaed2c4c0f7fbc3fa76a4071ac7d316c8ff7f430beb523b3a4a74eb043268cc3b8957424d2efbb6c3528174f5b849ac5b142a130e698d3d6ca2 -KO = 28cc2a339745bee809b178b82e5ee511 - -COUNT=7 -L = 128 -KI = 41b6dec9f162c8b246659af5c3033f274a89fcc8876cfab39c3e28e404fa7d5b -FixedInputDataByteLen = 60 -FixedInputData = 78ceab42a25b4ff3b9ad7e6707ac682572d64de009fc1d0c1c6b27de66d1347046eb043cdbca26ff8b3cc4b7f035a5b7756b6cf03b7ea2011d2d2bb4 -KO = 47fca6024b6423cad5f48f0151749cbc - -COUNT=8 -L = 128 -KI = 0bcb28d81c27ef03d56cf9c6a36e77cfc4e3c44e6ffa6fd7a6115ad555b6e5d7 -FixedInputDataByteLen = 60 -FixedInputData = 6439294862a5fd57e88fc18faa175c930f1a0281a50f930a007cfbedf9c8fb5456f58e7e699751a8ce11f9a6daf94656310a0dad7e5b3a517f51f81d -KO = eb0de1fb73af31dfd481bdb67ca8fe83 - -COUNT=9 -L = 128 -KI = a54b87d928c863106a80c89c6beff81406e06d273faedc1f2f38733868e1db09 -FixedInputDataByteLen = 60 -FixedInputData = e7e1378fa0f2b77eed47c480ddf0dd93cc5bbab8e559e8e30ebd31c981939256052e7fe3cf12edfa9e6775ca96c51c056448375a3158459e09991569 -KO = ce828eb957f4b4dadbe2a2141f9641fd - -COUNT=10 -L = 512 -KI = a486b3eb053570b3b99efddcbc76685c0b53f398d581ffd8f9f372e85132d0f0 -FixedInputDataByteLen = 60 -FixedInputData = 3cc25799712eeb86a96f2c4abe68c4f0ba767411e8d9f9771a9e9c9085c84129ef8be7105e9542bad5798c4672a3d7cc30f35ecfcbc4b470e260e9a5 -KO = 08751581291d5a4109cb10244b7a42363f0e175bce0fcd1207ec8a5ca829d80022521e8d0fa8231ce975039062e1744cc52cad7fbdc126740c905bbc0bc4a764 - -COUNT=11 -L = 512 -KI = 84d8c7eeb5a3aa5eaf449b3323a9afa3b89d43aac9c33ea7b9409ab2a86ae2ab -FixedInputDataByteLen = 60 -FixedInputData = d27d920cab65b6914c893797cd807e4e4a383e5c26095e9d7d8c4942e025531a85f92efe605cff6073e5b916fef7823a306c7b7acfceb90fc2cc0be9 -KO = 2d496b14bddb387f3dee80033ce1ec00ecf891322cb726f929cdcb268908d0873cd3ff336fc6c009cd388163a9df851e69979b85da4d874c9311daeb3c037f2c - -COUNT=12 -L = 512 -KI = a7ebb536f3b0995b0c5214848ce6c25e6585a991e6656864d89ea10c4a3ddbb5 -FixedInputDataByteLen = 60 -FixedInputData = 0c02ebb9934ea918d8fb91fa1346ed47ecaaa7ac10ee2d390c606d7e1924b3e75a4ff3965c5fa5360f9c703b9c70c7c04577b94656a81afc1b98b919 -KO = 53b4fb774b836428cd63988963ba69826fffbcd817eadf4bfe9ca7056b1f6a5184bb24d65ca6b1411bc06a73e9049a1b0449fd10a942e9aa33ba24e827bccceb - -COUNT=13 -L = 512 -KI = af02ea27c5594092548c42c65e537494d1d79117a2ee39c1182436055957d4e0 -FixedInputDataByteLen = 60 -FixedInputData = cce5974b72317ef9c49969bc9af0774dbd4f924c1efce4ec5a241b56fa8d3528ad5e263210bb3403f075ddc78ae795c17bb6f889868f85dee81d42fa -KO = 6f33db650683a23cb272480f4b5b117eca5abc090f3ce36fdcc47d9eaa9b814a9c488370c063a5462262ddd357801c7dc5a8082f105bdc5816d3d61d2dee1b80 - -COUNT=14 -L = 512 -KI = 7401db3e775441422ea47d14a1e34f419e522c8cdeb1d7cf3796369f62e382b3 -FixedInputDataByteLen = 60 -FixedInputData = beb7595510b4fb2c3059f7682e23389b9fcd7ec4a22754be0352a0f9a45d2cd237fd469ae0a49a96e4d246da20cad82ae7ea9fe72e1169a320278a29 -KO = 71d4ae62a592ae69ac256c15f749a7900827dc0ba6f514d40c54ddff3ff191c588f679e6b612a0dc843c7e57e95a5195ec652e625313ac85999e00d94d9c2bf6 - -COUNT=15 -L = 512 -KI = 8096edc037fa4e3fa81d742feacd3031e1fa9e285aec79c65b0b4ddca09fdf36 -FixedInputDataByteLen = 60 -FixedInputData = ca423a1ad96293798286310cf36850e02ed1142efecad3b971fc8e634fef8e552fdd9c538d632f9357f4df141a27b9f1ebe3ccd9d8d5b64bad72f4d8 -KO = e8963970ecc3d606c76b603cae3f74061eb60dd8582e78997ccef27dca3af8e9889426174503c1d291304ee1c2b74cc112a57e09440a3f2703001db757cb3538 - -COUNT=16 -L = 512 -KI = f325f4c24a4e1b369ccea7668749d6d43cc13861c8b087ea9b59e1e865650e40 -FixedInputDataByteLen = 60 -FixedInputData = d02a0cce333240ec3550c5c4457566dc0638d791d6902650dfa5eb471ca6cffede71f78ce79e6238474ba53393c532d6741ad642511b84aafda1239f -KO = 882aed019abc2b4c760137f6ad79a62ecbbd1de86f842553882c4b48203c539a45a483b5d2c2fe24baff22411a4913867d19e002e2933c7c21d45c26d87a1c3c - -COUNT=17 -L = 512 -KI = 85b79ff84fcc9eb76f188c8cd8a279af4a0d78d940ddcba387d09deb5f6241e4 -FixedInputDataByteLen = 60 -FixedInputData = a179e9590149ad549358856ef56289a9bd7f7ab07cfbe891a0e92eed28988722926c0573589606d5edcc5f1b95abf5d6cc2bc0e783404b426b97725b -KO = 7ae1e3926f56228e62069410ce22052148089827991bd10806e66f57b1ad317dc5b15892e0a59eab4b3fb5ea3326302df1cf3942ead19750789f47feb0a76aaf - -COUNT=18 -L = 512 -KI = 97c63ed7c7b71bedab49ef7be4a962f9e49f4cb656878efbc3a884f61fea80cf -FixedInputDataByteLen = 60 -FixedInputData = b5c79892ec5518b1ad7c21cb6ec6198ac6a7cda2b4a9786354c154eac569c6707e3db571e9bdcffaa6f404477b08522e6116890166c7f5fca8707391 -KO = f97e448ea57abdef415a73231a071718b1636c1a24b53d80e6e91ca2293a925b7a54c38e8f952de2a733710ed1d0e826e2ccbe5ec45da78acc8766712c526edf - -COUNT=19 -L = 512 -KI = 116903db5eab39c76f6ade80ad37c4bdb7785553790c9139b2cebefe5d1a1db2 -FixedInputDataByteLen = 60 -FixedInputData = b77c1d9bbc0aab173ab1d1e2f8f703248e3f7fd01821cbdaa703b0e781d1894ce2def2448c8ae5b00e6b741ecab3cc8454a353fba11d1bc9eaf04c90 -KO = 40bb3563f995689e915c05627015b42bb6f4587e7b6cb74a163ec938fca9d3f464a299a7f725e0fd60d5c3ec90a6f19d3691cc9a8b9556604ccf6c08520027ba - -COUNT=20 -L = 160 -KI = d68684979908af0812e6b2f065b19ef6b32a148bea5cbb4ae148eb393e66102d -FixedInputDataByteLen = 60 -FixedInputData = 161f7c6a503b60004cf6f0b2486975d7c8a50cbae63590fee366a1cac81f5a36a51181694b3079f03b92c534c134e89274d4a926fbdec0ca579eb43f -KO = 9f844f2734268cc2dfddb4354db3a827748ead0f - -COUNT=21 -L = 160 -KI = cb35823bb1198dee66c31cc67202f4523f5377acdb3b8f59963ea8979db207b4 -FixedInputDataByteLen = 60 -FixedInputData = 7bd54a8e118b34dc1a3aed3439f86044229b3f8913de0a4a294190176a6c8397a634858d7bcf392f69e99d00416cc56b249da89c9bdc5d0c14c08250 -KO = c4fe204b7fc1db57ca0ad99e8efc62b8905e0ecb - -COUNT=22 -L = 160 -KI = ddc63f82fb0cdb993d03168d81c4c8b05fc4e5feb8b0adaea38c18cf9b7886ec -FixedInputDataByteLen = 60 -FixedInputData = d4f030d050ef433051ec31c6c7feffa61a6a0c5a7d8f61d6561eeb6cbcb8ba7738d5db86fd5cc016c5130aebb72c20ef2f01f40d157ab613e9a72ce5 -KO = 70c05de2870f427ebf0e1137d9b869c739171a9a - -COUNT=23 -L = 160 -KI = d7cec41699df0eb4996df9b781c64f48e3ea258d448292f13f3b84722a1e21c2 -FixedInputDataByteLen = 60 -FixedInputData = 602ee80a7a2b0fc6d76d78a0e120a5591febbc9e9fce44ae9a1224f715dcc3324ffdbbe2893bc505b3bf1d0341c57ade3992b9e52da54cf99c9754d2 -KO = c56d8d419669a2d998853c66087c4c06c3d026ed - -COUNT=24 -L = 160 -KI = c2161b64237fee9e8212b5265d1c5b30c1f11932146dc51c296578e7c4a5bae3 -FixedInputDataByteLen = 60 -FixedInputData = 37610ba661c4acac1b80ccc789f75478f8182a038c2e041d084b985921421233db5fd0632ca03dc44a50cf1942a0b4678696d5779b10f8c82784146f -KO = e22e561b689f24f720d4f08e84b47bd13a2fe32e - -COUNT=25 -L = 160 -KI = 1aa0b225f3c12a46505a36fabc0fff76375fad5b6501d259e69f517c7686c714 -FixedInputDataByteLen = 60 -FixedInputData = 72598aa12e89a6cf991784c99327b7adc9df9a63c7b5cf0533ae42827c4b37eb1419abdc09e8e511b3deef39eb386b30fe6d72e2808ed2897528a3f4 -KO = 5d84f40832cbc1bf4b1c4c401784008d178cceb9 - -COUNT=26 -L = 160 -KI = 65e564de911489ac4e3da2a4038826cacb0462484649edbeaf8b02ed9cc563df -FixedInputDataByteLen = 60 -FixedInputData = ce2e9e14e1699b483f9a662ddeac041317e06e8cb88f0d5b1c6ab94acf401ef87aee0102909550ad111bd833109b10957c5ddcd455f757a143263dfe -KO = 813248908b4eac0740e2223ef91a1e0ca316bc3d - -COUNT=27 -L = 160 -KI = 49a289c56efd2543c33419da489f058567739098008448061989093509ab5cb6 -FixedInputDataByteLen = 60 -FixedInputData = 45fc754520eedd07e63a1f6ea2b98c13b191fdfe4a77c36bf170fa3ec065ef5d97afa83d151555ac2d51d710de4d74c422b66fe4ff32c020f5020f5d -KO = 208505fcabbbceb4152cf5187d14a8b43f34ae87 - -COUNT=28 -L = 160 -KI = 55105885740d2dfc6ed350d2dc7f51cd68d94b398b07767af2ae4f9cce6b410b -FixedInputDataByteLen = 60 -FixedInputData = 635531b59a2ad8df4ea4f2247c767c5f6adb91795ba095eca9ec118371f20c157a5d9e0436cc264284bab5463deb7e9df73aae2c576a2ada64f52ea1 -KO = 05ebcad7b1176dac26b7523c1a51b266c50d916a - -COUNT=29 -L = 160 -KI = 551b7b7e792f05b7cbdb2d9dee9be131ac0372d02dfa2a1141575649fd31e943 -FixedInputDataByteLen = 60 -FixedInputData = 56eaf1a9e7b0a4fda46b5047e19b933a51d3e80e41b9ab7b9208ca10f76c27881a7adf3a473a4fd8acdb212e8462675ca2c1a68e3c2b419f839077d3 -KO = a153290c7e3d7af41056a1db3f713c0fab8a5919 - -COUNT=30 -L = 560 -KI = d2f212cf90659f2069a43e9f7f7b102172470406658d8324b9edff6ac7a7fe52 -FixedInputDataByteLen = 60 -FixedInputData = d2d694e8f4fb4ade0e70d88222742cff975baf6622db8745fcd473793258a97e965feadd5491e4661ff18aa4f398914e9f0ffaf90738f04b158bfe9c -KO = 0ed1f3374d5bd9fa131af8ec168faae23c4d9e3c5e5788439ced314e8a7e46c4c5eee9ed2c7bb484bd86f99cb97906fd2efd5ffbdcaf0d8dce92f4bbd3f0fd0a79713285557d - -COUNT=31 -L = 560 -KI = e3540413fbebcf43111b23abd90da3baca47ce3b238fdac885d2e2ae7d34faa8 -FixedInputDataByteLen = 60 -FixedInputData = dde1ac8ff68bcd9ec83b89cd240109dd2c6e727877443a972dbaf3587a42a6f2a2e8a47207b983510bae0b4841d94538fcc4a0d1c933c22deeff0a8b -KO = e23b912a1981050464fd5df57dba73ff70b5fcfba149398fdb6222de2fefe77c626830f56a51ef9c02b9cb4d7a77291cbd1d435f96ebcc5da229031ef1327f8a4e84c92708c6 - -COUNT=32 -L = 560 -KI = 6c9890433d3fee5d3caadd02e98ce1ac3a444546a5f6df848e18a6b45635308e -FixedInputDataByteLen = 60 -FixedInputData = edbd665dc967d50aa0458a2de1636061c9b94a6adc1a17976ce9ebd1262d6951ecd2362591154dceea01f240513cd2aee6ba0d128a20bcf31c729da1 -KO = 6197945b407ea4ee136c7ef35b7ec89e5865f1080384ca36cb87c88e5b2c33ee335b30cce77f92803b5282e3d6ca4b1649a2094066c2abced5f516be3a9f80e7a4d8e095547e - -COUNT=33 -L = 560 -KI = 969f4ea13b172bd0d5e348cb8f69c26798930d950892ad7c25dbc0af59e6d5d1 -FixedInputDataByteLen = 60 -FixedInputData = 81e96616d917f625c3c02cab907fb18405d54c7f716dddf107c03a12eed655439b080ab5f34326c5ae9f5dadb08c60a9f4a4af3e74e33b88d7192271 -KO = ec98421d9f10f4716b3ea1efe93ebc4c563f2ee232c061bb0c690a0186da2f613268b3166772723731429f02a01623d108a8d182d0253ca7e8d435de73f1d3859153caa3ad74 - -COUNT=34 -L = 560 -KI = e848ea9af6b769a07d7646a1f028d9d7576a21e09f7b94ba543a24e963536f5c -FixedInputDataByteLen = 60 -FixedInputData = e577661a12268bf1902c9f87577fd32741aa3a80b233597e19d50d7508af680ebf7188461c4a62846f3652a9e70f83bc56f0f0d87ab5b2a78eef4a46 -KO = 19e414546009719ef53291dfcd0b51f7b28e164dc133dc1c702a795a60b8aeb88fc5974a94a6e8dd5820247da4ffa6640e68850d6c6ce6c642423a335904295a7e1e0ed8465b - -COUNT=35 -L = 560 -KI = c9b92ddb4485735347fca7008852a8f00dc2b86c6a49ae81069829a09f941308 -FixedInputDataByteLen = 60 -FixedInputData = 5536f341d5d3ed3562f24e42a3b8419a1a7c6708ba12551bc7f4faaab3a8ff533ff9b4ee609bb88b165735a9c41613185729727e2f92f9803391173a -KO = 7646768f9d6df6840f1135245550d36ba499481d1eadbb55c87c08599d229a70714765af97c7839adab14ebce3f2d1199b4585e6f198136b188510f680538f902bafa6ca8950 - -COUNT=36 -L = 560 -KI = c5ebe14db05415a33108294cb6e6bac1bd63abbb7673a77705504b84766ca542 -FixedInputDataByteLen = 60 -FixedInputData = 01e0bc94e25d026fbca8468b2edc12379b1bd10cf2dcee9f978c42b316dd7038a488012bcf5d2f7fdc678671545b3b80b68631ca61c9eab57d21095d -KO = 80db039df1559e86ae2facf2b80c90325c313ad449bccbe6687c31712326c838e606a31ba7c3624a60d641964ba8eb514b6699a878ddb3c4b535069f7370c378c8c88429a3e9 - -COUNT=37 -L = 560 -KI = 79bfe42323eacd604be5a60484a3378c68d715dc0d3c4169f3c1cc2481e2d57f -FixedInputDataByteLen = 60 -FixedInputData = efe3fe281b335a17b9e76b3d1c9a6e47b0695049760ea6811db00671826180bd07338723f53ffe09c4719c1c02d28b3cb7728fbfe84caa26096b0b10 -KO = 3fc0c8feb75bc85f1adef2c13f4bf0e159f831868bc5364a689d40034a46b8932256ea60b256d0e88bd6714c5572344bc244a4781c332271fac34086cd52d61f3ee2baa11279 - -COUNT=38 -L = 560 -KI = 79045c04ae5e82a9b1d7b2ce529d3f334d115bdd216f679e7a554276fd9ffa8c -FixedInputDataByteLen = 60 -FixedInputData = 32897ea102e70deb255877953e316456419617f270adca02889475b2734f18161e69f1b6eed1a7dcbce14dddb6f737497c5db028b6630d7d2713019a -KO = e13114e868d6bc6d541c12709814496b100e1831b6798f3476059d722ecb5ff0acdd5e411d1b311ec5eaf87c65294782486294ce65b9401f078f3cd110987a913448debddfe7 - -COUNT=39 -L = 560 -KI = a0921143531ccf6fc8bf7c18a098d2092e246879be8970a783a363b130d600b2 -FixedInputDataByteLen = 60 -FixedInputData = 962bac0a875cffde87a58c2a5d79294db5a5c3806261053fd31cad864c6be112e2728550047aa7d1b8afe00c6303cef2483dd86ac93d42f22bfd63b0 -KO = 2dfc918c4ddfa1c7c2cf9e57d2bff9077d86948e14cae321ad4a48307f6eab6bbc29a81d15f802ab8a9bcb1da2eb3ec86ea1fa9051d92f9a690203bda08cc37e0042daae8551 - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = f99d4be78b44765f7df409816ca6f59bc6a0d04f2ce4b489679d648c475f48e8 -FixedInputDataByteLen = 60 -FixedInputData = ad22ca92c2470e1be4f904232c9ca59e5de658edd7927927d9198d29384847598b4484dcb7921ce2f3c175d05dbfdd376473d0af82e5ab0979b2894e -KO = 98c6567e4dd60a21910d39113f1eb7ee - -COUNT=1 -L = 128 -KI = 3adb2262b719cc3a2001798bb68e127bc2bedcd99b6d4738ea2b37cb360d2372 -FixedInputDataByteLen = 60 -FixedInputData = b99040e87cc4304e60ced9a1b45c9f2ae740bb3bf672fb51e1757fb3eab6e0304cf415af88cc5825fb771f2bccc46d3121e15dc7fd177430c5cb5f78 -KO = 5d9536515e9ba536dcb44e43823d2188 - -COUNT=2 -L = 128 -KI = c4a5c2b236869de618c986b92142e1725361fdcf01aa6c531682d30c9d6a8c6d -FixedInputDataByteLen = 60 -FixedInputData = 61b46207c2a3563378ebfe35eaca2fc656f6d0304e54e6d72c28d1a5448376639a3f0247884ec5d1ae12229ad7bb995a78b497a2ea532c51dca162dc -KO = 3b759f635e1dd05d9a74ad6fc142b8c9 - -COUNT=3 -L = 128 -KI = 2a746247acc69e55c8e2a163da3714bda54cc801d3e3bde2ecc0e57a8c0d84a8 -FixedInputDataByteLen = 60 -FixedInputData = eb9c9e4d3bfac328a93a9786271f6c9f56c2cfdd6d5816f831bc4d7c740051ffd2068cb6b5d88356bf21cbe2744ca6da17df9319ef6240a99a5c80a2 -KO = 783be32fdd8180d1ecdfc5295206915f - -COUNT=4 -L = 128 -KI = 61f05cb97bd38840be2d2005074cfc4637a6fd6335efe48a3092617fd27f013c -FixedInputDataByteLen = 60 -FixedInputData = ff929ec561fae06bbd4b589a673920dab5e04083efc8c0a4e2d347b7a7fac6da942d16bad40769649985c26a35aa797da7c70d470887aca4cd122573 -KO = c97c8e2692a22e6f120c34a86de50ee7 - -COUNT=5 -L = 128 -KI = c3ecaacbac873733da59c7aa61793baaca997e22a460afa2966e87d388660f6d -FixedInputDataByteLen = 60 -FixedInputData = 51cca4b66b534a764e05c3015677dadd2e7376ad07d1b7cb990dff295599c5c6a2b240745509c42c67499a6e70b8f710995bb62a384fb6c2cae9aaa9 -KO = cac2b7c9ccf392b25607916affcae108 - -COUNT=6 -L = 128 -KI = c00138f398dc64849e187112c498a9ff42c25e4563b07473cbe43fc7606a7b83 -FixedInputDataByteLen = 60 -FixedInputData = 446633943c53dbce4a09f2f5ca5d8876b0ed83170bde575855187ede6e151f2b91f7498b88befa4348ab8a8fac1c3cb5b77d7386270c4e6ddf5c1285 -KO = 2b9b7ca6702b01f619a3ec7d46f89798 - -COUNT=7 -L = 128 -KI = 0dc3973cc661b4fd4e4fa514942c2cbffb93eade40093dd87456515e3d06e1cb -FixedInputDataByteLen = 60 -FixedInputData = e79c253ed4250eb1f3e28cb9ee1aa977cc6bab83e644fe234f3211a1c527178ddbf30b838f648c83564835c922c00d06830e23eb1d7b1c0a58f5bf75 -KO = b47c44675020f7cdde6292953c65d472 - -COUNT=8 -L = 128 -KI = 784955bda0543a6c7c638425cc49ddd18fe3d242acf94c6a069db832ac12bc48 -FixedInputDataByteLen = 60 -FixedInputData = ad3ab55c052f30e1c1a6fb056cde24e2d62d18d795218041ce98834df981bd49f611844c4c87a0e5ffcde8e1a47d58aebf90190d3ee999aa9f910a4c -KO = 4806efea7f6b4acd3bf154d33c2499b6 - -COUNT=9 -L = 128 -KI = 00ee03a1caed1a2f5fc9f6bfdf0fb4b42bcac2b0eb3d2a88fef30e86726b121b -FixedInputDataByteLen = 60 -FixedInputData = 80c94e16f02ff8aba4c022ca8effe361bf0593aaa1bcefb25d22d4722020862150922dd8899f00adc3e5a478cbdf1487a16899ccc79bbe8f160a1491 -KO = ca3e7a0f7c346e6f6e14d44aeb5e702f - -COUNT=10 -L = 512 -KI = b016d7aedfd5e4940aa6d75531cffe754d998d9c507fc44e8de8132b72d24b56 -FixedInputDataByteLen = 60 -FixedInputData = cd321dba89112f181e6d12f532758da38266d7f6efecc91537c3979745d2ee11eb92284a5f7ed34beff4117d9f7583eb51236824912cdfed0f84b339 -KO = 477b6647d0fa63e1b7c3cfef7bf8df094e0da882e5c05d6f72d387dbb9b3a6b6d2b5defd67543cd95e57c9fa35e1efe20e58afee02f45729d43ef9ee9eecb330 - -COUNT=11 -L = 512 -KI = 2c633ba820bd5dd36986c0e93401745a1c337578f94b4eef9fb72907846f1a41 -FixedInputDataByteLen = 60 -FixedInputData = e720881ed56355296bff39e47cee209b51701257b65aebef470d6f05e1cb6f5b57a72643eb747dae7b1b560a0597bc0268ee93428cb2ff665a0c7a08 -KO = fc643963e7190102081f196a87c8ca094e4331bb0f827a6c3917ac2c3748c3f3798d7b683130944cc640d146beda26b8bd7b8314af140bab8f159e6d3d435031 - -COUNT=12 -L = 512 -KI = b50262a08f57f180082bc018432be59c90596af5bee5f9670b2a9f13c28c7523 -FixedInputDataByteLen = 60 -FixedInputData = 7455c81295875963dd7015cd113b4144d25f2549fb98b26755c8e65207c7bb90f3b42451312c30ae60f106a8a16f4fd9dc65a18bd885961fb3409cfe -KO = 696e1d044742ff95c72ef2dbc9adbee5b63d9b8529ba383c8b8df04a755ae428da4ccca06770f6dfb508960c984ee178ac889c2d830fde63b8cdce2355d0a5ff - -COUNT=13 -L = 512 -KI = dcdd69fc675e724382372328122bfd20014c48b0f2464a6c11a9c16e28080648 -FixedInputDataByteLen = 60 -FixedInputData = 776b5c2c64e0cd860014c5ca8fb589ad99a9b1c24bfe1005d871d459370e0bfc1901f747792760e83e425f61880ba012a01ed5a5a9b05633886290a2 -KO = 383b185aea285246ff855b1b14e5b74b4f308e0871e684fee9012d74213dae32c35eb8b392cce00d6b8814be1a1be208d4989ba126d440ec9ce9a61ebc97abca - -COUNT=14 -L = 512 -KI = 1cbed97913337b4e4d1e6fffa65b2177a26ed25c1f9871f9a80f286ecd3c893d -FixedInputDataByteLen = 60 -FixedInputData = 52ae01f80c91bf6b7cb8eb01a97f572aa8c5e81cd98b885e0f0e3a9ef82623714b498d3302723b8efda3cd6a31ef919ee573847f52928bf909124be2 -KO = 4a0142f3d3220122e63ba86b0b8fc3f0874e34e131a7a4dbca4bce50f2f59952cd36953d16f1f21f5f6c3912f88239fa4d6996379f3786db4e11bf93494fba67 - -COUNT=15 -L = 512 -KI = 3adc4a91dab236cedf6d9bc3059c0e9a7ddfa7796aaac9d756904bd94bb08fb8 -FixedInputDataByteLen = 60 -FixedInputData = dbc665b6e8f1af7ca0eb4f1650ac8924639fc8b6610d150ab1fe2513162c5f14f5b8a250644693830ce222ff4caaad12d2c577152aed651eda46553f -KO = 040ba9a7ced98a77b7a73028f3a2d4ec76bbbd45ab3760523d94bb0f0f1f7be505684d6c43b930268fe1b3d5ab9abec260cc9a32ba1b5a60ef2bbc542a330532 - -COUNT=16 -L = 512 -KI = 77758fd19f11325cdc382eba097ed4ad5a09b319ec24f862259eeb4e49c865c5 -FixedInputDataByteLen = 60 -FixedInputData = c304a8978812ab53ca662eeb341ae58f8b0f6c1cb7d29c48342a422b21c26369a8e6e20ee817dce440cf1ceee2f5b2fb5fdee4c1b845fecfc7ae2134 -KO = b4b10f1b8465925cef28968abfc67f8edc1976e1b3a29f3ee0c2509691d0ef76ded20d6237645d181099ff3e92b356a49e4b0c0c4837d4a2e59f49f2f5f9fcf3 - -COUNT=17 -L = 512 -KI = d170f7e1eda90500be50d358a242e068612d1af8ea72ec2acc444c272ace020b -FixedInputDataByteLen = 60 -FixedInputData = 75f40f071825ade5b617c84b2271e4f5f922557ddc26c490e1ac802711286f737d88d6d8952ee2472f1f7c0f34d7e10392e65deb1985b4137737753c -KO = db3fe1bdf2fb3e1b029ff2632d0b96b191e8170a0dbc579ab217c563b28850b06fa4b80e9ee4cb9cab73934e3c7abb9a3c9aa2bf95942c9dcff627d07007b449 - -COUNT=18 -L = 512 -KI = 67c76faac3c784440a2ea9c17b1a61eb17d583f80a53be5c04ffc36876b277db -FixedInputDataByteLen = 60 -FixedInputData = e27c017d4826848b79ce2f16c321365cbbc9d50bed89017f0d569a4031dd38e234b46763768fbd4199f8a904194e0d22e25cc6788433a620cdbfc83c -KO = 702aecd9712b8fe4bcd6a8d39f55ffa4260eec28ea685fc00834bd30c3869e5c0ffa438419cf2bbec758914179ce3b91f11ca2d2f5f06af3487a1360655770ad - -COUNT=19 -L = 512 -KI = 09450e996db1b4b9637a519689895c9c0c842344bc3d4e7949756f413d97df3c -FixedInputDataByteLen = 60 -FixedInputData = 9e8d484b7bf8524144c27ff236bf42e7450623ea7171f049f4b5c6fcbeefa15c8d0cd8cac6ce04d678bd46e3c2a1812b8083f9d85d85a27e78ae3aff -KO = 55c1fd12919b1e107569c63f001ebabfc21ca78f89b53236f559d6c63175bccb6d30f97c64e1e00dfe09784f0d10fcc7e26832c68f75c5a446ceb9fb769ab918 - -COUNT=20 -L = 160 -KI = 479f6899144189e7a629f05418a26fd657dda0331b9349349e0667fec92ce20e -FixedInputDataByteLen = 60 -FixedInputData = 05025e29016b4c07cfe3034086cdf99c5a56f83da43a138c9e0205879573f6dc381cf7c78aa1a32712da6d52ba3ca8482cbb8bb1e897571b64567c66 -KO = 3b196ab1014e163cc817221645e32991ddf67a66 - -COUNT=21 -L = 160 -KI = c9da3b28641d43b5e736b52f08f22647abb74727a587848374c469f315d31280 -FixedInputDataByteLen = 60 -FixedInputData = c6075786d6fa96b44818c0e1ef23462c550abc6fdd13a5626b708591ebf2bf64f83400d1edc29cfc89e74ffc5ee7020a0d6f72e2085bb6a848fe1da9 -KO = c56d52302db4f1028042dc9713eeb8c014e5a1f3 - -COUNT=22 -L = 160 -KI = 0ffb8147f366fda92da9af58b7b62c17b31f113f8f2f739610639d722bae0b8b -FixedInputDataByteLen = 60 -FixedInputData = 94e2695f3d0704c632670f8b7a301b76a1a4bc9809da17dd659f10973728adce482b64dc9c12e1d1a85eacfbed307995dde228dc947b57bbe6246689 -KO = e74cffa392a6fffe84807b42f4dd49487b3e6269 - -COUNT=23 -L = 160 -KI = 9a9634e342596de7b033455e4d61af9dca5ca532c4586fbb3b9d32478f9b5d64 -FixedInputDataByteLen = 60 -FixedInputData = 0ea93ddf0b146c817f4271fd3e048ded03b719106fc96ac90b1cd846881714cee58c62c99319ba0abb2bf18a03f00c992ddff3a53efd41e84e1ff641 -KO = e8571f876ad8e47f84b7413c53052a59a35d1ce3 - -COUNT=24 -L = 160 -KI = f153217e60720fb18e918e6d639effdc23c47fe750ef067199094e64ca82903c -FixedInputDataByteLen = 60 -FixedInputData = 9ea652e675997bb2e0f483904350446db7ece2c69ca978df481ecf396e3222f17ad116faf4532f0d4316f25db98eb39afff8323619a238fc4f4ffd5f -KO = be4b5289fe41f7d9dbbb3aa0b55a9fc3155d60f6 - -COUNT=25 -L = 160 -KI = 66b7c60d53f14c738b6d7de7f36d7fde170828e85e52ecc2402276a38835feea -FixedInputDataByteLen = 60 -FixedInputData = 643182ebcec81f335c5af4a38416f122d4b59d28c130678c74e1c8c8bc346e3412f39f449bcad2e156deda49cc458d50ded7a833ee4071ce2e141038 -KO = cee9ca414ac60953ade5db07e8fa43ab09ed6e7c - -COUNT=26 -L = 160 -KI = 60aed9c39073009e81e040603053f17b40aa619b00291aa2894e53f87beef92c -FixedInputDataByteLen = 60 -FixedInputData = cc9cad5b444433cc786219cfdfd188f1a0305a6f5a5caee298c6ba6f3fef63ad3065dcc0f681beec8c1a0538319845615690fa9bb5df452430ab67df -KO = 1eebe6dfb3360ea60b8954fc475e4d7536eb2b0b - -COUNT=27 -L = 160 -KI = 719d66a8c5ef090b225254de2b36951eeef8933584e4383266155a48a729375c -FixedInputDataByteLen = 60 -FixedInputData = b145a9aa9b77cb99fc69d3606954420a12b8bd9081b9da7fb32a9b95dfb56db26ecb7d5116d5c63a88b58e0ddc1326042a2a5c4d6d514b5928d281e1 -KO = 9bafadeda663636ccc36809f612c3eea2dc3ee8d - -COUNT=28 -L = 160 -KI = b632408902c26918f709204c1329e0d23f33e4924a32bdf38d677d89f268b1d3 -FixedInputDataByteLen = 60 -FixedInputData = 3f4de7415277348c614e50404e4f194abd8afbf3c08afb3f2b776024bf50928cd33b14c49156c9cd3502e343b296948c9172ebade1c41730df688661 -KO = f01c93c088d3e362101174182028ff1c94c354fe - -COUNT=29 -L = 160 -KI = 6dbe25eb93d364bf824c8117525306cff9831cf18fc88ab938e41620dfe254b5 -FixedInputDataByteLen = 60 -FixedInputData = 36fec165c05656b5a5481e154ce518b83504d5a3c707a22e11e1a94c8a892842e45a124a13cd5ae848f20f204ab10e7b9babb23e4565189cc6b8f804 -KO = e964b0697be17f48ca7f97955cbf5658491524e7 - -COUNT=30 -L = 560 -KI = a181c2fda8adda4a877ab623b26288f3fbe43ea6e4590c73896262d4890052b8 -FixedInputDataByteLen = 60 -FixedInputData = 98ce901ac23b230b633471d9f84ef4db71d0df3e31633811a36d1abbb37ac357f157f23f479e367510145ed45d387402e79a1828b891b7235b5ca081 -KO = 6d7df64a0b68d80ab622cb65e67429c6f856cfde0ab2e0f7b7305c1b9dd0313b2f861c00733382b91520e8fba0410939d2fcbb7d67cc7370c96b71becc4934241a8bb3f91c6c - -COUNT=31 -L = 560 -KI = d0d86ac048f9827e43efac6e83fedd6ea14d7d974b52751984ec9bf8633fcdc2 -FixedInputDataByteLen = 60 -FixedInputData = 8f3acff0bbc81ba32a37529bbaf7b9eb79570208f37e31ee43a66f53b07b1491e846460571ee22657e60550f386f0efd11be192af8540dc2b3bb3792 -KO = ca1ba2a802f873d6b3f3ce0ff6709a92f3c3eb09b406ae74d74a892c188599b688283912b6d0a986823484f9355a1bb0d093d33833c3e7af08b66c1c6b41318d498a54061f4a - -COUNT=32 -L = 560 -KI = 4ca5a1ea427cc8f22d64dbb4ba8515c9180174ae7d4a9ad1e6b0227bffe60567 -FixedInputDataByteLen = 60 -FixedInputData = c5798b31729e3a54d04322546bc68292cf0d84b8461c03d881d576470fd3a024e72f4c0f9adafaf88b9b90c4c7ccafdcf8fbf16dccd80265fed7dd64 -KO = dbe0518fc5a1690a7c72982db7a1bc65480779a82d71a3638ed65be5c55e2b2f9d64727d3890babf49c9f12f232283b4518ea8833ab9794420068b9b5bd55f999fccd8ad52c3 - -COUNT=33 -L = 560 -KI = 53ee0f2a5852c817add81dd7d57d53d6a2225b66fcf30769c7f24234d4a08fd4 -FixedInputDataByteLen = 60 -FixedInputData = 7550447c247a9851ac4f58533dad7fa239fe69138c93f053551fabb48eef6fd5b0182d2279c6e06726e3dc2f59b7ccdc5ac37cedabd510c42d54b65f -KO = 5f13d0c3708d6149765cbd0364268951fc05da7c4d2d9d65a130b3cc8dab793a7b7cc0ce11c19217a160f05c8502eeaa1830ced8388417bcd3399a99a903f4586de78d00a18c - -COUNT=34 -L = 560 -KI = 90d4e46224df7dd84aac27523aaf6350d23d893ba6ad9b92b7b185ffef2897bd -FixedInputDataByteLen = 60 -FixedInputData = 677f0eaf43ae212e2579bdaed0e9d96f716bf638da571fdb8ef12fa6daaa3daa037a3c248bfb70ecb149c7b2296520bfb963ccf07a7736c677631bf8 -KO = 79168e132ce8de9adc9074276660ed29d7ccf6a638da8857a0e15abe0833611fdfbc3a9c678da802378efcd210d975dbab6784bffc1154f6300ac6295f48d47911dc32181ee0 - -COUNT=35 -L = 560 -KI = 18073fe2c6e9e40ef70ec23ea71683e7b9b03f7d81190a90e152d7c251d9ce07 -FixedInputDataByteLen = 60 -FixedInputData = 5eafcff8c3cdf3d2533204493b7da9b7ae77f3e06286056a2b2e5529fb30dc55bb82df639c5666c46d2874c7b54da36ea4f95cd204cb7e784349cae0 -KO = 46905db87a9b68d3313883b3a2cc9639e3d4e2506074241ce4a926b945471c65228f5b4ca90dc2204d91abb9976235fa532b0b5e8eb4d0be5eda9caeb9457bbf64b034af7394 - -COUNT=36 -L = 560 -KI = efdb2b4c2dde91ce6e9a28affe83eae0e83f40911dc27344355b014796612836 -FixedInputDataByteLen = 60 -FixedInputData = fc5e888a773bbf215c6532df31ef5ca3640657bd0646daa0d8fd573ca0b3b7ca2f10c03e26ab44d61327bd07462aadf10d51b330e4301f1fc81c666d -KO = 5cf9cde82a9d1cce228c63a55cff2db4498f31e6f54a487a2f5d49c768f1ac54c2782971b6c43a7fd8a5c7e98ffb21f17e65d056f9ba1ad843ed01d100cdbac7f91af45c4621 - -COUNT=37 -L = 560 -KI = bcdc194f08b0b55714ce1b82be720712ce08c42767d5080a32c8df8668c205e9 -FixedInputDataByteLen = 60 -FixedInputData = f9a20ded396d8c9bd80d4e8dbf9354490e650023816e48cc5d0a78ff1e328e8b4a931bf531e22f4e434f8c882e9d1969576a88bc42f959f56ae9e049 -KO = 0092701bd2811f7971dd8e85fe20fb6f5ddbb9f2a24dce64294428b94749dc381e3b1d5d4fd54521a047520f54d49271505e9cc036ee0969bd3e5bc3475b80ce42311228c7a6 - -COUNT=38 -L = 560 -KI = bbac9a106697055909c46e5637ebfcfd0912dbc7312bd6c35bbd2a34ca0036ce -FixedInputDataByteLen = 60 -FixedInputData = 652140401ebcd3a6b757100726c6c3f181240ddcd26e6e4afb09aefcc354da82fbe8f0e496a7afd3a75eefe101ee133b2803b6c1bbdc3e2a67c59353 -KO = e106b45d51610740bff788182c14a7ab1493364aaa69861ba0a471a3a518dc09d210ae5797ec321f8dce77c13f6eaa6b37588a7cb3e36e55bef7a3246e791b6f7cc236afee2c - -COUNT=39 -L = 560 -KI = daada7f68fe2a7d93c226590409b16bcf637c4f002eaa8737938c154fddba0d6 -FixedInputDataByteLen = 60 -FixedInputData = b56eabb97a25cbe69ad45d47d70a2e257115f876ad2c8f7073a3113db5a684cfca22a49f77f854b28a49e081e7608ed2a22955afaabc76b8541948c6 -KO = 08dd23fddb4d9b12a20ee056c5197502b8d9a10df6c900b4568f7a9a3db406fc973da5660005f4ee24bb72572838d5f115b568cac3b668e97bb1c5fd7b7c188749043d10157e - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 9ea0c635548e881db7be86b330c20505817608301e5fa1c76bdd199bf042d59e -FixedInputDataByteLen = 60 -FixedInputData = 163e75afaaef13b882c957af83f1ac1535c77b45f5e4b4b48c36552aac011e8d18d6a6257039bc99e9c27a9d37a5ae9b824f8faca2ea22a667f52c7d -KO = 4a8b02a98ecba3bcd310b1c8955b3bea - -COUNT=1 -L = 128 -KI = f08c1cf6de2d1897752265d25c7d3795c34d827ec64fe0239b0aa119a23e8e33 -FixedInputDataByteLen = 60 -FixedInputData = 3f455842367bebf6173df95fd10b194aef2777cd617dbbb08f8433e580eaa699ae14cfcf3471bfbd32092d2ea9e28c901f703d126c798198830bacaf -KO = 869c05c25dcbaac61c6bcdee076c5bc7 - -COUNT=2 -L = 128 -KI = eba71183515c15828a7c698d089999978b34ab107622a630d0f1a2d8f579a5ef -FixedInputDataByteLen = 60 -FixedInputData = 0220ac4ca83fcdce2706cd3055efb1f347740b9dba0794d09aace124b8f0fd8e3acda0cff391bc8341abbcc3d91674056fef63c916c229287c328358 -KO = 34557a47d89fb92da635b9160da6ceb0 - -COUNT=3 -L = 128 -KI = 84699580645641f93d82f8c20fa91efe290499e26ad83c18c1e0c195c6ace0b6 -FixedInputDataByteLen = 60 -FixedInputData = 1ec4e043dcca51d674cec9cda085397a2d2d014326d681e21a08ca177ceac2c4c7574b5a4dac2aa53e5e6e2516c12643c08cecfe28109f03dadc277b -KO = 4a4b13cce2d644e3692e92f4ea6dc7c3 - -COUNT=4 -L = 128 -KI = 60a0e8bd53c6d8449f54fefeda64293b72b1adcee0a0cd92fc1e2f245a23f7ad -FixedInputDataByteLen = 60 -FixedInputData = f428312d8773a580febe25c37cf6f4492e899e62c854d706938c3eabaaac9243212ede4ddf857c9153d1241db225d5a96ca42743856f39f0ffcb3146 -KO = bdb8a941d54d5f41d52a142a40ca1607 - -COUNT=5 -L = 128 -KI = 69494e35b13b163f3eb6a0c62fb27d72a8edbbd677d81d59f658ea6ecf923761 -FixedInputDataByteLen = 60 -FixedInputData = 9884e252a61e9196208bd92d8b2a72b92b79b57780b21f497b3dd867699ea959616fb2e1d8bcc0b4ec695d996b62d434570d0cb8dbe30519c4c737e5 -KO = 70ce5510ac044e8794b39d3beab505ea - -COUNT=6 -L = 128 -KI = 1814cc60efce1e3800f83f6130162780263fd3096a742b45bd231f128911b99d -FixedInputDataByteLen = 60 -FixedInputData = 2aa376d012d4404f8328bacd5e5dc7a52a0b0b71b4adcbd63a4d7af04e947f3ffed7b012c0d2b766e274f6e457ce43ee4f6ba9785314bc5255f53c27 -KO = ef6f9a6516f04d01ce0b2492db96bc9c - -COUNT=7 -L = 128 -KI = c4e748299f3cf09d83ed712a534fe19334a3a204a882d42adcf2959ed08a40c9 -FixedInputDataByteLen = 60 -FixedInputData = 338f3d7e16f6c72b6c9cd6856e76fa3008158d7c989477fcdcf568dc62d0e9f577eceddc00c4139a7c07d206040fa8f5f495832ce54dbd7c3c22df4d -KO = b638fd630f80062626aee53f468e854a - -COUNT=8 -L = 128 -KI = e2bc1fdcb84fde3ce352b7fe6e1a4b2848fb2650f7cae53b20f9439010a173f3 -FixedInputDataByteLen = 60 -FixedInputData = e4d73ff457f9b4facb37de68ac6b7f4e85d38ba9058a917a91943d735b0bb59e46fd7e8fae66e008849ea6fb7aeaf4d1ffcfc877b7f849fdca2f37f6 -KO = 9da38ccc5277bdfc3a62f4f39677c940 - -COUNT=9 -L = 128 -KI = 0f4c4b1c44c1d549b18b810dabaea0b19a06141a45e42834c7959cb1118f7bae -FixedInputDataByteLen = 60 -FixedInputData = 6218e549784e3dbb47acbedbdf9e1abc69981671c30474350fbc40ab580044b8b5af57c84812fb16076486662b34bd83150637a989e82f199cedc663 -KO = 24d7110508c179ffb980325f340f8535 - -COUNT=10 -L = 512 -KI = 1b1ac6a0fe21c406702d22a7d8229fcedcc094ab1aa8b700152a2130d540e870 -FixedInputDataByteLen = 60 -FixedInputData = 75de4820e25d83b1ff97f48b23a69884f21a1edd8684148f7e4aad9b392b93c7fe847b6fda5137e1977630be614f738db4c67532820f4da12fbba930 -KO = b22780fb8636383251fdf39d38d4ec65588cfa9c90460134aecbe15531d88905dff942b9c6ecc99e89f64415b2d6c50ae7542f29fc09a4701818d84a865b52e9 - -COUNT=11 -L = 512 -KI = b35ee9ec9dc01cbf3d2426045f9a60e06f9ada366a9e70c2f0cd07daa89727e6 -FixedInputDataByteLen = 60 -FixedInputData = 727df443582763da192d670570610d69d3ca79eb75048f1abeb125e155fa87bf5e51e346ed0c033cb112b90a1d19a843b886cb6aa394e667d3f4c487 -KO = a2e0e464a5e06f59b8ae012dc2b1e4538e5f905d246a9fb913c22067f5798a99e3a899eb2f477b40a4c3f3966e2f2e91083fd3a8873e87ae0020e7c32af7f2fc - -COUNT=12 -L = 512 -KI = 1e81337717aff92e560315625cc6fe0e2458158ae3d0431e0381cf209cc750f8 -FixedInputDataByteLen = 60 -FixedInputData = 90fa6048b7b798fe70e72f3e92de226dbd70488c349269d1941e81cc5f3904476fcb46923cadb9cbfe03b272a8a70984970afe3b2cd1a4aad2c2036c -KO = c623b7f346074700c0c5e0e84dc121ee15a5a8533101ce3fe21a7a1b760a9a7a485a31941314a550693ac258dac00b81e5908f7e16cc57b66f056532e0ccecc5 - -COUNT=13 -L = 512 -KI = 895bfec561c901950e9be65a3e34bd7b2ec157e7649f34be5fe8c1cd7d1277be -FixedInputDataByteLen = 60 -FixedInputData = cfcfaefd6c4024c1d375a94043f2d5412361b71a186e0aac919ceaddd50ffcb2a4f40b0b4f866948025419c8109ccd897a03d70a93bf2e408afc8eb1 -KO = 0ab0b961fc5846838b83cea9bbf54bd93b5e3f81b2dfd1e5da881a5d400fca2bedcd91ff698c8132548709404f512dbd70cc40a48453f41cb9809e41a1dd1529 - -COUNT=14 -L = 512 -KI = c7047a3ab77817727e6abcbfc8635e03c01d254b04d122d5cafd72ab925302d3 -FixedInputDataByteLen = 60 -FixedInputData = 9129aba112a5919076e4c71787df8f3f30a66311468c35737effd87168d3cbecd0b9760f245dc078f0cc6c0f2dd6ba35593c806819c127385383ddd8 -KO = 03e73c9522c7a997cb1f63020769e224d03791381a0e36e342c2c991c1c79f06be7a8fc2262c1b3cb7c75e8ea4769cd788629df24b9706a6a171fa94af282529 - -COUNT=15 -L = 512 -KI = be611062e90ba42ff7f5ddf57851ea5f0ced84e5ea9e825a87ea5492b793cdca -FixedInputDataByteLen = 60 -FixedInputData = 2732cfa488591fd057f02be86733085fd6d8e022eb341306e412c6ce08195a5e1afd0dd3ba12108780eb6b8ba80f8dc83aa3838ec730b22ecb23126a -KO = 32fe91e95e1027b1ced6cbdc62ebcdee9f35c793373558952fa329d1c14d7bb34837b374e76699cf96a6eea8bd352e268260cdde7569d49025e06fe791705edf - -COUNT=16 -L = 512 -KI = f57c534f72c6f104b6a6bd12d32ea5d53473ffa52a3d9fc67bdd597f19736821 -FixedInputDataByteLen = 60 -FixedInputData = 1bd567bc00d849d3a4585e66a75c2a4b043d472642a307224b4658ab2e5a521003d417712dea321d04b3436077887e4f4d07c02cd892613ce2fa6e27 -KO = 638cebe74be04d53aa9df2b279223f4037bd45b2891bcbd8d1cb7300c6cd5a6e0dc2a7979744bf161066ac8e5114f91a2428124f375bdf3eff71ea5187f2414d - -COUNT=17 -L = 512 -KI = e189957d21cb697829fb492c0ad2586ec68706bc87add168de4bf39d0898ce3b -FixedInputDataByteLen = 60 -FixedInputData = 8cf7b756ed35a12f0c0ec7964c047307fb2a02cee428d574e011b55336db9c68e28eb1e6bba28fd4a2a51ab48b0a75a3de52218e440c90ef62278aae -KO = 3e016b73fc8336d6fe1164cd906ff6c8f6fad11b3f46bb6ad4b6d306ed07ab5c7488edeb4ba1c74b715fc63d63ba9d6cfd3b2f331646485e896e678e21d37992 - -COUNT=18 -L = 512 -KI = b406858d76597c9398b4f6a215ada6f649831c5d3aa9abd07615150021380757 -FixedInputDataByteLen = 60 -FixedInputData = 2b33a62aa74d3d091e32da4c2b234887b5f706cb93d79b9c35376cc939957af183b698a3d1f13c244946cf4c35e94bac5dba29ad6563fc5f3562cfff -KO = 424aa69bb20af23b6d262dbb223a888cf612a6e43f2506402c0e9eef6fc8678b81592642a544c5f7276280c0cb42c86642f3fbda2a3b791d1c4a7f39a5d79283 - -COUNT=19 -L = 512 -KI = 84998da73e389a5c59dde5c52f4b0bb5cc00719eb99f2ff0a56f610e0759e587 -FixedInputDataByteLen = 60 -FixedInputData = 931d2f7b96cf7070f31e048bb753b5715e0ac9cf051160d12304cd34679b7e5a999fa3b85b5536139fcb77c280fdcc277d7014754a10af90563a67e8 -KO = b3f2ff047617360d4fc999c502f93100657719d37211c5f7ba90b89f6d02354f1ca981e11b3f0404b2da7275017764d5a68e62cae1a5fe4f5b7fe9aaa30ae59a - -COUNT=20 -L = 160 -KI = 6ecb25b5ab470bcf6dc846215d0c69147071b3ffe459a351089152c050a4623c -FixedInputDataByteLen = 60 -FixedInputData = aaaf52eacb111058bd273d17b910216226e4dd038f902d3d9bedb5bca2805042fcb6c4e6408d3038679e2b01264a9150f1f8a7a3ccb7097505026fe9 -KO = 9e9062ae09dbf0515a5352746e205669b239444f - -COUNT=21 -L = 160 -KI = ace06d293827dcf5f7c0c3e84601a5b0b532ad063b91146cef547b6bc1bc77ea -FixedInputDataByteLen = 60 -FixedInputData = b32aff79b379da1c2e6ff5bd183952cb28b10843c61db2b2ec4f64c1066777f96d0c470c630fceae5858152087a63557c50e8bb14a539532f0f78414 -KO = 7a6c1ba941eb0213dd8d39f2839e416b35c44326 - -COUNT=22 -L = 160 -KI = 0338495d6d855003502e85c906e2b1328ac9d6bcf8212583a3e3e383c9948dc4 -FixedInputDataByteLen = 60 -FixedInputData = 203132f740f3b5c98871c06099fb63dbce7b94ed43b116147d5a493e09fbaa266e725ee3889a7b7b77531afcc34efe3124719755dd98baf318b1d2d2 -KO = 75d5befeece4c905f58adde4e94dcd2342dbda46 - -COUNT=23 -L = 160 -KI = df0053be5076f9d71d2535e37f36210829002576a55ad1cc8c9736e1df69827a -FixedInputDataByteLen = 60 -FixedInputData = bd7f5408e2293b198b48b7db511e16489c7e58d0a762c78d004b209b1451d1d8a20be5cf07050a466e6c731c3552da7eeea07fa9a81a472018920ce1 -KO = 5476b712d3e2bc6980eef14dbeaeab33d603b308 - -COUNT=24 -L = 160 -KI = 6664b0b1c458b7b544faa54727d6fe4d6743d4d30a0292aeb8c9d680bb5ff051 -FixedInputDataByteLen = 60 -FixedInputData = 9cb35b43a67165b63b6d5f617fa646cb3e56c29b8afdde3e5ecbd9067d3a3c1cae159004effade94eec4ec508d7f6de3f2ffdda7d7d0bbdb50dd2678 -KO = fe64340243414d969093ff2afb7a74ca3cd49898 - -COUNT=25 -L = 160 -KI = 0bc63b4a2c909eaba520faadfb9957b15b16a293cf2c17371918800fc08878cf -FixedInputDataByteLen = 60 -FixedInputData = a15e517160cfbdec9a40bad161679ed661b1f0381d761d75c53ef3090a1935dad2ccecf9006272c224e91792713887039318fa948fdc3c3b2a4ab7b0 -KO = 4200a7b2a59d05f955071e4911e3980134e5ed3f - -COUNT=26 -L = 160 -KI = 1c7b12bb8e9bbfb6902201a07a074702bef79635ed61e6f50693443e04207e27 -FixedInputDataByteLen = 60 -FixedInputData = 88fcfdc9a8613da867e6ef561739913f63f763a72167f84f25c8892e714ae53e14c37fe9c1dfeade003b6ce51afff20214628e28119c05576fdc0a4a -KO = 5ae53c7ab53aca59040a91dc9c09cf08b40486cb - -COUNT=27 -L = 160 -KI = de23ebe92f72e35c9c17bf58f4b6043682652b40b7d87b67d4baeaa7891525f9 -FixedInputDataByteLen = 60 -FixedInputData = bd6af4dfdc01cd2c51298d3133284d56e444c1bab14e09f09b3a3975a49a53a0041443c37a49c865b7a57a55d43475cb66e9d4119628a692276baeb3 -KO = 20dc8c0689b5336541bfe4be40ff15e5518d6114 - -COUNT=28 -L = 160 -KI = bf4d3c51cc27e59e2fa63b0451409eb8302beb8fca60a6a2582417cf11ab460a -FixedInputDataByteLen = 60 -FixedInputData = 338e1807be64d19f02d91bd063d7e4e97c01bcf3d485420b32f445f04dec06ba59118faf6381e9798b3ac342aab542fab386a0ec1194278bea3f8af4 -KO = e4bbe3b385e998c400606ad8150933c900341a8f - -COUNT=29 -L = 160 -KI = e3d8943725b950877a7584315d0e9e350ed894ceb9154023c0fe64a1cab181db -FixedInputDataByteLen = 60 -FixedInputData = 0f74dcc252fdf858c1883f84b20cd1f6c18ce7b29128de75378e2618541d1236c999d927a9e99177c32c92778285d53e827a5e8ccd4fdca720855ace -KO = 17a19dcdf871d5fb729e24274261774f743f25d2 - -COUNT=30 -L = 560 -KI = db96f6d5b19a9d7b2812150ea911933b2dd714d48b06bd2e32840f8b1b848fc8 -FixedInputDataByteLen = 60 -FixedInputData = eab5b802fbc877bc622207502fe277e2956eee8e86fa0a408ce937ab1da4a89db9e28a4db8c9193591e1b83052bffcc677fa7db19dd545a1f092ecdd -KO = 7108054b35411b6c3795e3f50424abe809afbef11de7cb127a407df40c8394c7f46f1ed374f10d256ddd557e054854bb8e3f70851f98ff7b4e40dab57d8eef0ed0f6ecea2165 - -COUNT=31 -L = 560 -KI = bec6e52246024b43ed42d6a0ee591a0d35ab2592c3a60b47da449fcaf81b55f7 -FixedInputDataByteLen = 60 -FixedInputData = 47e8034fd8f4d4425cc75dfc9a364c0c31b75bada14461fe08b30354c25acad870fa0ba8f5902238419d38ee2db9e3e2fe261f57b5bdb35a557b895b -KO = 2638482668826042c1f9631a2d9c180d2aeb1880ed71f2693cd7f2eb5f8e1e43a110daa18ae523fc60a3a0088581c5ef200ac754799c6cc18e166884b3ace5f9f6feee42e68a - -COUNT=32 -L = 560 -KI = 01d0133e5cf6793b24de3e76125a924d2e2e669f8ac6874f9704c6697149c7e4 -FixedInputDataByteLen = 60 -FixedInputData = 6ff79b3743d6d22e31e14af45c8baa1dacd3bc5d052c557dd9646a9e9ebd36b1525167f0b950e0b968274068c236115d9a9e2380eb96faa18e86e226 -KO = 5ab214976f4e54ddc07482c3dad95d28a43eadb22ad6eaeccb5bebd0d52dd5d19dc69028d80004fbbf75d8e89a66d49144a4315aa67d0a35d9a308dab12acea47fe1526d22f1 - -COUNT=33 -L = 560 -KI = aca3b082b452d97bb1d3d59de84d3e3b234b6f2d666b188902914b5de11a8a2f -FixedInputDataByteLen = 60 -FixedInputData = cf8f47c0d8f4e29bd5fe4cc8908856b0cf998c09cc54ea302d2f33a44575666970ef63e76e2890cc3827c081110dc389469259dac19f0bcad3e0c2f7 -KO = dbb1e8a6d69a2b1072217d78df54703823968e3244bd87cdf932667a50cad2ba475992ba1ce2981e69cc0ea161c2e8fb9177012913503c7b61e342b3c5136a89444be7efac9a - -COUNT=34 -L = 560 -KI = c4e82f48002833e0b1f5b538edaf16d5940e8024ac49682af8fe7fb3012b09dd -FixedInputDataByteLen = 60 -FixedInputData = 9c1366c394f681be7aa7ae0c60a03e7d55d5a0574dceb4e5f37e13876f56d0ccc3cd3845cfcc13878879dd1bb389e567eb6e92f118d67e69025c626b -KO = 1141df234c7a23fe3fea8384482a1e5c7839e8c550c566640ca34847ee57c5a7d86ce908efa292b00a9bccb06ad8136e8426751c1dbc159a8b6e7870b8b4dcbf835ffd339a4d - -COUNT=35 -L = 560 -KI = c46a5a2cdbd56487ee7ab2afd8f8fc3e1d9fb5c552bb2b340bd04ef8c4fd2b09 -FixedInputDataByteLen = 60 -FixedInputData = 2d62bd16fc5a62358e694e2c12229d98ab6cca91fc7f723eb82275b0ce65cd0c8715734c99d9a034347ddeb01bda757f63f8d1da4c08d3164250df5f -KO = e3d0ea07391a4da04ca6808d8413c3a00043afe5b37650109795667b94c275eeb2b145ebaf201d20174352fa189c23fa72ddc1f90def4d88e188a263229f99e640e0a8af899c - -COUNT=36 -L = 560 -KI = ab3906b4b1ee945de020c21ab6e65b6949a2fb120a3c65af189e4a183c81a670 -FixedInputDataByteLen = 60 -FixedInputData = eeac67e74cda00f9f8a7aece05a03171d73b2fdce2f9af2d66775ac75e275eace7217e3003661ad3b84a4799fe6c4dbc5cb56302559eba8411e3674d -KO = 3b2d8a642e44ea1dcbcfa3eaec5cfbf271cd0ad289d05984eb388c71d591e1f32dda4c352eaf111f1dc47753f19847a8c5d3b9977918b7cb053b0b22bd16cf63168dae826245 - -COUNT=37 -L = 560 -KI = 679f2454f48ab9352abb45c33b99c00efd46a46c969dfd0bbd74255f7a05e892 -FixedInputDataByteLen = 60 -FixedInputData = a3ac8db31916908b36e112fe85820c5091a4614bad430cd30d362bdb30f6751fa56b734438c65b67c08f901d43cbe8f2b1e5f88bd19527c8aabe952b -KO = fc30f300529a55b7932024abb790816d4c05cc9f8667375e7914ec33316bdadcec0ca294acf0a87b73cd45a0148a82cb6852c7e7ce5558d6cddedda419147f225b069b953b33 - -COUNT=38 -L = 560 -KI = 0b6281c93c0076426495a347f2c06691ddc2042b934fd911257757d9ca7c8137 -FixedInputDataByteLen = 60 -FixedInputData = fd186e55829d66c9fe421665da37db94d3705be7c51e3e2a51cc448db135a68ebde88cecf9b7ca66de850c971ef33ef47e3813c803323e6268e9c835 -KO = 586fff0e72a4e46b44fc6c1edfed70e60429677324bacdb425d67c51b14a81a22bebd2fb5c8f67bdef9ec30e27eb24543814e2c907478c07d9a4eb8676246ecb45d43bba311e - -COUNT=39 -L = 560 -KI = 31879a5ce92cf2a925f723587b44e13184330ffa6377946102d616f0c7570bc2 -FixedInputDataByteLen = 60 -FixedInputData = 3ba85bb5e3ebeebf5b118601cdb2e7775ffdecda7f9f67565e658efb9fd235bccecf6ff74c9d4b5e08a1114fa539715ec9bbf1d71906d3b52300ec9b -KO = f0179c9939f21ead7456e27bc5800db980b8f42053280a3704affe1bff7fda515eb54361d9795e8b04386d09a3b481a7cb942077750f901a56b682206a75837979dd6d7e57e3 - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 253093f52340016cc8ef063af815fa628b2f360ddbd92c1602de9887a1c8a9f0 -FixedInputDataByteLen = 60 -FixedInputData = ff8874550bedeb0cf0ebd1841dcf65273e106de6d8fbef43bf15e692b66b252598a433d70670c904cdaa86e9e8bc35fa7c4c099f75c1da876349263f -KO = 732cfcb4b43d4e979da72e30492a5b84 - -COUNT=1 -L = 128 -KI = ece14e40ead9b95bd7d549a9614f1a59d1f28a8c9380fb2c40184b612d1562b2 -FixedInputDataByteLen = 60 -FixedInputData = fa2857249143a3a320a6fe3494b5dd5b0891e734686a25d38279bece3fb818c17cd679bf878276aa41188e354c32c1d14e37cb186b0fdf9e22d8f935 -KO = 1cf8158cd7c30d6bd251456e700a520d - -COUNT=2 -L = 128 -KI = d72741bd0875086647125b59da408f354b90114cad99cee59881ba75ff15d36d -FixedInputDataByteLen = 60 -FixedInputData = 3b0a8fb61db9c747979b18b6f86347ecc7c65126904ae10fa019d5f82e3e8820fcd50ea7e583b116d63f67264b997001f2736e61e35f3c87df9b9974 -KO = 6f4f9342c05a922876b49e92a2e07b1e - -COUNT=3 -L = 128 -KI = 72e03931d2164be1525ffc2b82bcb9715ab35c86f795e73add02e0b21ecf490c -FixedInputDataByteLen = 60 -FixedInputData = fdb1c8229a927cae7a519587a51096393fc460a587c8ca61234c755d17c90c9ee2e49de0efcd90596cfc49159365d2ed59f2e7eab5094a642679969c -KO = ca208764e8d6ba0188b7ee9636e8c62f - -COUNT=4 -L = 128 -KI = 441b9b75ce6105b9feed63b5f8488718ad286fbcf86366e6aaae4a0c7946a6b5 -FixedInputDataByteLen = 60 -FixedInputData = dff8c60d69026a901419004e79f40be0c06d18434842cc61cf4b22e8bcaf0e7763c69d3afaa6a4819e9eb40beacd16c4238eddd551ac4187ae6c458c -KO = 57bdd7766511bd155c8259d4a43266a6 - -COUNT=5 -L = 128 -KI = 2fa67b0dbcb1c3b52850da43d5eee31d7e19ab430154dc26169779c25ff8e7ea -FixedInputDataByteLen = 60 -FixedInputData = f93baad54b84e5cf411e349f08963e2b9a84d8460e49bc21bfd3a652ea6ae76dd6931fcdf88c96a4f810066b60bea670d55050a5cd1a00d01c3f03d9 -KO = b59123a12e105f87cfc814fec357e2fd - -COUNT=6 -L = 128 -KI = c4b2b1f9e68529d9c0ad3d7591bbe915b2d1797f6b1de07fd66f08335f3f2cb2 -FixedInputDataByteLen = 60 -FixedInputData = 32d77bb2b291f520841a9351ea545e39a4efdd14deaba01624a4e863a93cebbdfb420ee879de5550b5a759b36de638bc74b03449a4f37938d9a625a5 -KO = 397ca6e592166cf7b5b97e393bf199e9 - -COUNT=7 -L = 128 -KI = f8acbb496476cd2d10909e9842bd0b73a7bcb7771b857b6c23b13529ad405282 -FixedInputDataByteLen = 60 -FixedInputData = 43d31cc9433e333d333b773c3520029572ccaed75412e8e8d081f44c9a4e7a22ef851c528d3e3b97a62fbfdf8bf7333453f7d7fe9ba3683f751d8169 -KO = 3e0187b171dfaadfa6fb46f4a25079f1 - -COUNT=8 -L = 128 -KI = 1ebe8153ac77623606299201f3749360149700f60d445a15822b449413aeff57 -FixedInputDataByteLen = 60 -FixedInputData = 19c70ceac261f2ed3b186cd959291992dee3f2113db9469c6391b146cacdb2f4b7a835834b24ee692d87ba522ad2feeb3bfcc6a58312b4940418ecce -KO = a7747a69b9c03b5869da6d6632655929 - -COUNT=9 -L = 128 -KI = 0aae313a9da9dc4832240c16d0b7351c4d0679ed1b6d8809bc9f41558a8d217f -FixedInputDataByteLen = 60 -FixedInputData = c96835b261f8ec6cb8b861fe30fc6c94c4b6a1d5b3ad9823e258b5772377423702df9297460b917856aa72e28dd85b7cd21ed75cea970a2e0c9caaee -KO = 1e21de3041ac22f4959ec7363c3ff6ee - -COUNT=10 -L = 512 -KI = 29730d73ba224e9eacb124fc1384edabab38e467d0fb58535281a04efa608d35 -FixedInputDataByteLen = 60 -FixedInputData = a82efd167aeeb7a4e671c6ccf66d87080d629e546699398641f0acb592ec3d5d41fe54c293ddb0171c6d61292a4e9d743be68697866174c3155be621 -KO = 06cc4df422cdbc5d3e7c22bf9f0ebe7c9eb98fce970f9e414b977e4a4d38188cee1a6cb7db067295ff13907d6ef6dab14bc5e3d34868c57f9a2d6e860ce02c84 - -COUNT=11 -L = 512 -KI = 931a454c33fc6e80f90661f2aac4734d7f0535d0d21629bffd419becf157f64d -FixedInputDataByteLen = 60 -FixedInputData = 5c5e04519dd84729170d9222bc45d2dd397fbda2d4c3b7f588d63ae01f20cd7444aab81d34d6ab8edadecc474e62ae09976c195ab433bb9860e52a73 -KO = 17a8d1565dbf37ab7378a4ef802d976ed02337715a79dbdd0416beede69aec0dbc3e99e668b5e4285bce2ba645de171066baef0864946e6dfa4af0cad3f443f6 - -COUNT=12 -L = 512 -KI = 3ef220fbb196655fc6e73841af74b358415f46d8e5a9e489d0c0259c18f825c9 -FixedInputDataByteLen = 60 -FixedInputData = ca970a8cdca864f95e2d4c0cab65d1292de8200d4b236820bc2f273770e690406072775555b941c59e695e9b6360aff7421cbed2740b6898895f7fdb -KO = 9d4654d85828bfbe5c53deb22caad185795ba422a34a906f99559c9e0abb9afa0046cd9e87059dda8d604631c110d4d9d39c91ce9f295042405d989942aca978 - -COUNT=13 -L = 512 -KI = 0abb84ca880405325d8dc50bd9ffa522dc875815de7f4d29f2bb5cd96beebe36 -FixedInputDataByteLen = 60 -FixedInputData = db0a88c9cfe8d58a60cf2acb3f9d1b2994839a741e58c0e9f875870f28b4d1b46a6a5b02b31f8029be078aad5383bdc547739da9ba72b4eda92474c9 -KO = b758fb73e040ca8cb172666c81caba9084dded0ad623f96ae13a1d1e8bd324c6a339339f4ce9ac019ae9e6f0b4f1716e802617389dd2bfbd7695f8e7da67efb8 - -COUNT=14 -L = 512 -KI = cb4f6ae3dcff401a26b04c38857f8b0ae3284493d036a42c3d2feae0201460fa -FixedInputDataByteLen = 60 -FixedInputData = 6d8bb43b0096a85e23f89faf36bda176e75f3b9b2fd7a5a92e08ea2902eb2dafde76926da9454eb8aa612daf7543f6904dd43f8bdff6ce6c1b887ffb -KO = e986157d0c7a3b354df5f3d8072c48a9e930d339ee040febb10ec164c4549c33ebc63854cbc11fbe029b1ebf80a2df4aa412101544566f5e7e049e6c3003170d - -COUNT=15 -L = 512 -KI = ddf70e8b04f334e7ea2cc4ddc7dcf236c817a4acd379ac100600479cf84b95e8 -FixedInputDataByteLen = 60 -FixedInputData = 1adb16eec09dc08471bc2492cefae466c0d690d136441cf6394f7af4fc73b6ddfa8ba5a192de7918fb33e0139c0ecd41472f052a6b4dd0a064bbea45 -KO = d69efba286a92d3ce187867903556598212d8609e23c3d69a599eed06cc07079e3325cda0b56dbf77fe2f3e1ced284d5d7868aca845db9bca48d48f5e1f3b072 - -COUNT=16 -L = 512 -KI = 9b465df6b9ef4c708f72558595dc2de48d722c8a9416b1a769c426d08256811a -FixedInputDataByteLen = 60 -FixedInputData = f393725924245008981fac081a03b197287021131a247450e21e4a3ce406e268ffc5275cb749608e19e203e175c879d76dab50bde74398c2a0d118af -KO = 7b236dfd4571106d24979e335d7a9f7aa7c19a0b30b80e94823233ae3d63a1d94808e7207150b15b43545437e7d1f01c6f65e1473d87408c4d9933196c27c9e3 - -COUNT=17 -L = 512 -KI = ca8aad85f89bdb9fac1429e15491ca0ac7418a109c3e29511d71a0476ef66a51 -FixedInputDataByteLen = 60 -FixedInputData = 691497f215d45e4d8b45f0b416efda322e4f89fbdbf9b3e92fc0e7e508eb9ee503af9986fa32745a6154f8cfa0063a7b4ba64418ee63e257c0688289 -KO = e604b171ab000b2fd575ef2fdf13a4bcd0d42a86f8e94ca605a28bb028712d9903b85fe08dea4a2853b31fed1679c61312478981a8ab5bcfa43e94d961ce0650 - -COUNT=18 -L = 512 -KI = 989d6cdac6b523cace5287bf9a8cffaf3568d6df0047d3f58ab80ccfa8459d67 -FixedInputDataByteLen = 60 -FixedInputData = 5a30a9f5fc07f12ce32fe225f06e74a9b8b9bcc22da85c6b36d7e2a9e3413b4fff9c105dabeab35b978810f3f4b4b112add95e71b5cb5e3b9ddcef0e -KO = b149ff6c732b98644fdfff475fba2c3853cd7c958bb2048b0f1f9c05e356780c4859df1cb4e58fc124c56d0c3d5d574ecf4a5ee1458cb67b95e919d3cc32e96a - -COUNT=19 -L = 512 -KI = d3a553e30700df71f1c4f7ba9bc1f78dd3827f7709b9c40d4938a3552fd0a122 -FixedInputDataByteLen = 60 -FixedInputData = 3de07fe09418e861e054bc4f76d8d6219094119f8811bc46277892ae0829182ffc235cf49bf84274f1c674b1439ea13b33d2629b1a6b4da03bb92c25 -KO = c46a3a72881a3c9a2956825adf7d6f6db00726ae359356c332976da1fdb581839f222aa05ff0e4b96062f29a4dcdb38cd3ef1d14b3618b83219ceba4c2e4b92e - -COUNT=20 -L = 160 -KI = 37dfdd21935eb86846b71bc97fa34d5b7f09609cb0f16925ed0e6995095669cf -FixedInputDataByteLen = 60 -FixedInputData = f0e7a5d1a8f38181213d5c8bee9ee42f72107150c4c64c3b92c843429bd5da32c8d7b620cfd4f0b06ba8386423ed1e9819cd0df9e13bb60bb3794c13 -KO = ea27f12f886dbe3d898345091bfca01f73915ff8 - -COUNT=21 -L = 160 -KI = b76fa5a9b2c744201e2056cf95ba00656de578d945dadca14204de0b7023dfd4 -FixedInputDataByteLen = 60 -FixedInputData = b8243b34b561d5bbe949580933c4eb1610577e1aa292fe46721138f28311d134822aa23c60d8007c8066b82196578892218542b0344e17231d421fc5 -KO = ddd70882feb810de2d38f99372a50832aff46949 - -COUNT=22 -L = 160 -KI = 18e33e2679b4ec3f82e1f67ddacb6be7b9a2435814502b11d3c082c20612f6c1 -FixedInputDataByteLen = 60 -FixedInputData = 115b7127131a104ba8bf86d95d4beb68759309c0fe2e59edddd1c0edffe90d9e4a0e09b6674b25f49b9c549956273aa576e2c88a744cd6cf5f775286 -KO = 2b49d973f81f6340e8682535374fb4240ed78710 - -COUNT=23 -L = 160 -KI = d6a25ba1edac56629ae6de843949f1d6e25ac2da5fe79b9a8e3a91f85dbe89c1 -FixedInputDataByteLen = 60 -FixedInputData = b8d44b5308bfbba3264d8d3ffc3f2f9a9294785e64ebc99e2b8be0c256d34b06f917627b58f5f4bcd997e832483ddf07532b933a340ccfefcc656292 -KO = c4e9ce812f68805427f5001ab418242fbeb37c4c - -COUNT=24 -L = 160 -KI = 10c5a7e107963f8521c4df839a97e1d3cea69e1e6262e242fedc3fd5d0af1f38 -FixedInputDataByteLen = 60 -FixedInputData = dffbba5ec7894d4e582e546d054df59a56ad29d04fb87594a58eeecebdb73e3d11f8ed5ff32b33fac3f342f65fc0fe7854a3476bd676277a7cd934fb -KO = b4695ab67921fe4c371e2d5c3cb39cfc3ecaf378 - -COUNT=25 -L = 160 -KI = f404ee1dc9a3836abdbfd63077cce5266b2ef9f88c1e25fad35ad21079b6ed03 -FixedInputDataByteLen = 60 -FixedInputData = 2a7d31294ede6d851a5117b5032a0eba9fd164b56ea2920305998929b331d68f4804f9995c92fb9fa9a9238acd6a139c5ec934e3d7091b24e2eba79b -KO = 3c8d988c2e0bbb932cb6fdec409e759f1def54cb - -COUNT=26 -L = 160 -KI = 6ca4be5368034b0fe6e324a39337ec3d695fa4ceac2d56da0984e982500279ab -FixedInputDataByteLen = 60 -FixedInputData = b6bb93c4d1bc79e98cdcfd2a9e418c606e7026803da19dea9b667efe1dd1a5c869396b180b6753ac85feb6987cea81cade2922c09d1411502419a030 -KO = 41c938bcf1a77807e41f6c5ae570c374c7fb9f1c - -COUNT=27 -L = 160 -KI = aa4476afedf973cabff038b09bf4350da090b079db14cced5b18cf2f2c6e9476 -FixedInputDataByteLen = 60 -FixedInputData = 4ffece03508679ee7e9275f8be159131cb3a51cab48540377f8b631686d686ab10420a3ccd5f9b3ea77cab4f646036494cce319240ca2c26865f7f3f -KO = db95dca98358ba4c6ca8b740052741ad80ee5fd5 - -COUNT=28 -L = 160 -KI = 50525bf00110b92a78a3236b68d161085b683a8b4eb3842556f71230ecf422c7 -FixedInputDataByteLen = 60 -FixedInputData = 907ace78fab5b8bf6329553e9a9459ba62e42dbc34873cfd316d1e361cbdc5178c2422925df6aa062eabff04f83748a9c1b5cb89f30222f4b256adbb -KO = 4c0b124b6e604bb55beb97fb7df04fd34efd7be1 - -COUNT=29 -L = 160 -KI = 55570b6be4c74605c4c80c76e7ede57029692c3970f2b6ae6026ffee579a13ad -FixedInputDataByteLen = 60 -FixedInputData = 1f1e340b4dd1e4195144251e7519094bb7ab124b822a518deb5c19452e5cf312b9f6240da3e7505004a4d6a3191f4c33096639715e50b791473aa6c9 -KO = a60bdc26cd1a1603e05667e989028865adbb7f9b - -COUNT=30 -L = 560 -KI = daf86ad18b832d84fc3d3ce17815f1234dd7ae388156c0bd8c5e54e59f46acd8 -FixedInputDataByteLen = 60 -FixedInputData = 380d1dd895411516dbd7d8486dca08305cb3b4cbd095e00888cf355e6c88a0c6b276609b5fe616ad25bb91e46df385281c87f4c430f26bf69fc74405 -KO = adce272f10603fdcc9be68e570d9bd2a40f541e0c606813701156001b562b380a734d696f6585cbdacfc30613cc97c90fca5b48e0eccd230a44e995f9de9d4006359372ece8f - -COUNT=31 -L = 560 -KI = 4eeb900180d17d24f75992add9dbb1b871c99bfbeafb8b78d468c2605b89a92e -FixedInputDataByteLen = 60 -FixedInputData = c5421390212a4e3982b77319aa797b536c77c296173d0198a0996ded74b0fef985083219f7c228257204dc116216a9d7a70081372741120e46c2f508 -KO = 6e3718ba04c5e35c172ca5a4b9ad1290057c771db6c7096d028848ac3c124909d9af53cb867a4dde120ceffd6f97d00e1a5aaeae80331c202e66df86a9146985b53526c86f13 - -COUNT=32 -L = 560 -KI = 8ccb0899696e4271303e3f8fcd84638523f665503e7c35f2a417303d4eb26d6f -FixedInputDataByteLen = 60 -FixedInputData = c63014930750dd9d1bbfdee3575cae9f228616308ee10d126127a60842c08ee33f17707fceda7bb68a4c17b3159b0d62c4e07123735b27b8e38260c9 -KO = 2e95067da31c9d073d1cd583eedfa9f226e1fd4a4cf1a2009b0c2bcdb2691a8391a848000bb9b986bd91bd210b8455d5832cd32f48c125e5ad299e371aef4649bc4ab7c2c8b4 - -COUNT=33 -L = 560 -KI = 334cb61ac37237483114ee6a9ce25c1bcca2171a4fa138c02b78493515554dd3 -FixedInputDataByteLen = 60 -FixedInputData = 059609b65fea157af85c46a19206465e35d47d20898b963ac4fe41fe86f3682cce7d909f090edcc4f7f994eb7fdc1000fbe5a774a0ea7aff7678f114 -KO = e4f6b298cbee3061e9c4f9cb940194c39790533200e7149e6719ca44829f7a443d40a17265371130ba682aaf0839faafdf24840761f90dedbfadc00aa25fbf421de5cc4dd2a6 - -COUNT=34 -L = 560 -KI = 0dce2f38e42a1789048414a229d5bb6d64be56db027872b6c3f39492ff259150 -FixedInputDataByteLen = 60 -FixedInputData = e81612807474076cafd2ba66e3ff7bcb262b8c8c0069d6b71a881fe6ad43507cc363cf23720360e1c95133cdefd0ae12bf4aef653c80003d45564656 -KO = 819a6884493a604424058ec12a56f9c543499aebad516959deb7a1b61ca715ee4b56f8f1fc0a3e1ef06e4167496102b33b26ed65b87a18fd960e93bfdcac8715e9bf3a1e46d3 - -COUNT=35 -L = 560 -KI = a6673b1252ced841180e124c64ba16fed5f04ebd7c3a0d7254060cb4b61c5e9b -FixedInputDataByteLen = 60 -FixedInputData = c02296a286095959404354f62df3ab658bdc25d059d9c4f7e05a44a020d68b8da6bf81cac1b53ebb31be911aa56129819d5a70fd957304cd2f97ea41 -KO = 9d0c4bb1acde590d750f3b26c7834d8b443fe0172be11e606604afb93a2dd7f133162c43236011d8535d031f6f7b2238d55b7172d305837346365a3f3145fe79cc561f78bbeb - -COUNT=36 -L = 560 -KI = 3bb46d90a0687034179c8c732dd92e178663f0d532dc6afcdb8ae4b8b936c1bf -FixedInputDataByteLen = 60 -FixedInputData = ad9274ed1afad1b250fec755a546a35024a8a90505a1ee8c506e88ed9e084f0dc356c2fefb14e402e23586e09e5b1f880c83453e7f37cfa8074ee5c3 -KO = a5d9f4103b3d969d8bc7f662ac010a1fcc00b599e6f5cb7e4aec5b1beabd6212337c7ee3f63695f5f9995bc55f955beb9b7534f4c0648b7bc60f90ee3ad471f2f9646954feab - -COUNT=37 -L = 560 -KI = d410dbb408efaa6b3fecfcd86a1148f2d755c40a6d08b7ab1bc7b3e31a1b2a3b -FixedInputDataByteLen = 60 -FixedInputData = 2fa6f0d101a032120631a106fcd28d66dcf66b6f88353c0ca9d9792a4e23bc9ae3e18aa9254d7542defd3cf65229cbe6b1bc979f17e177957b93c4f1 -KO = a80bdcaa8ad65b371a8db432f82c3e0a2ade8989be8a5d6c30e8bce4b60ec5611dc77164582b614086fc5aec6176e58b5bc7b4bcf7312b6cdc2d2ff172f9346c849d81f44e33 - -COUNT=38 -L = 560 -KI = 0eedc58e958371fd5ef0847cb35913b1d46799d7ad964706989c142604df8c71 -FixedInputDataByteLen = 60 -FixedInputData = d6795869e3aa3a1183770a28e297611b6afd3bd6cc478c54d37183f3c196dce5d5a933c672516dff22b2bc5e72b9abd0e1c6dabe5f704423a66c1575 -KO = 742831b7bc3318738118d6d88b6b80fb3781fb22f4b4e91c6c21065dd082a51e79fa426cb6f8d2f1d2ccb02a46d73ad0193d1fd876fc1336291d70abc7aff67b5ee5e3984193 - -COUNT=39 -L = 560 -KI = 519830393e0b7fed907a6855961ba4fb3c6a035d487e79f9b81656d27009abe7 -FixedInputDataByteLen = 60 -FixedInputData = 174ff918940d980b620588cbfeb73d0b8048378de1d9ac0934b643805c39be71ab72959e432e1d9eae7b0deeb1b749d2273bac8ab13856e50598af71 -KO = 9bd403dee9d8566ef6844670e9dca68259ccac67bd09e41133aa2d94efc5273db3e605cb250107bcb45e4ba1450d96955dfea7daef738a986dbacb4ee504503aeabb4b732116 - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 98a6c8c07b8a4e594afd6146ce9cd0e3418e5b717a001fc9d4f60028d9092508 -FixedInputDataByteLen = 60 -FixedInputData = 8658ff24d0b9ed44babe376c7468ba033c5a9886bc521fecf5e1dac902c306e221dddd4d535bd6b1a379ffc03b70d3db144d2842ec2b6723156a34d7 -KO = dfe2178be214c28c0a6f990383ebbd43 - -COUNT=1 -L = 128 -KI = c31f1661585e229d72287d902bf83ec5a746879bb9c883908c573d7f3dc09d24 -FixedInputDataByteLen = 60 -FixedInputData = 41232d69520ae0039c23d790712b7399032cb777eed907c493be193dde96fae16c3b361eea9f1de1a425164b6733050b5046171df3968517728b0ba8 -KO = e1a199b7d53a6f8d9a59c3cb8e93898f - -COUNT=2 -L = 128 -KI = b50fe363792cc9f385d29fcfbfebf12eee2a83b22b96f97850e81b43877cb39a -FixedInputDataByteLen = 60 -FixedInputData = 316022d127520ca5ddf103e331a9bbfdbd09dd5ef3d2fd4e059fed29983777479ec4bdb3747d693f118d5e7b095d08bc963df528903d72f8e928e123 -KO = 2ca3e5d6151e6abc18824e0d0c7a3c10 - -COUNT=3 -L = 128 -KI = 100d750ed9bbb1f1e6684ba51bd858c0305e611141b75af4e3eda65729944bd5 -FixedInputDataByteLen = 60 -FixedInputData = c97464a58553e5dda69d86b6a095fb7bdef49dd71b48af7fdc0b2cb5857f4826e4a549cc777e87efacd16e30d025ad8a519900fe6446157f2262dc47 -KO = 45b2b38467ebb22aaa681a829b94a672 - -COUNT=4 -L = 128 -KI = 6d88a03077b481c47a9a3c029a931db5ac30c2a082f4367cb161973ccd517b8b -FixedInputDataByteLen = 60 -FixedInputData = 86cb8ee6cb6b2e19650a9674aa3909ac61e65d594e6a417b1f99773e73879c3ffeb792a9efe5896ae66ebe1af99cfd3d2b229cf25c694793ff64310b -KO = 3339254e31cecf33d4b46ce3b9418a45 - -COUNT=5 -L = 128 -KI = 9243ff32abdb5a406afc5eb7d04ccfe8b258e1aed333908cd07178884e32d289 -FixedInputDataByteLen = 60 -FixedInputData = 25449de46bb5e80ee196071e47b1792aa426ebf5db93adf0e73166e71442228e4e5511e0b41ad5a43974019f7d82628456c164e5ef9858266c91403f -KO = 97b41be4a87fc91cd15f359dee4c4db4 - -COUNT=6 -L = 128 -KI = 76e5502953806cee21a5beaf44a9fc51f4c932e8ea9e0820e39b6ef31d9c21b2 -FixedInputDataByteLen = 60 -FixedInputData = 47dbd1d85a7f05d42f328a97d62360ed9ce65b14510a8a98ecc3cba63cc258a0f8bf3cc9c603dcbd4229ad9dcdda340fe3c38f7678e3211f95a874cb -KO = 68cbc9885454895a09d9c15dd02bef9b - -COUNT=7 -L = 128 -KI = 7173425d80ddb9017c98f14f6922289947284eb0b576f49b174bd088ae9a43e0 -FixedInputDataByteLen = 60 -FixedInputData = f317715ac920177f8ca8f2c69be32341e27eabdf6344a0362d9db6bece94b1a8011c12d9c6e59d1c67659c1718f5f2f22643ac52cfbaf49f77118576 -KO = 1df8630317fa845e539a5aa93c355649 - -COUNT=8 -L = 128 -KI = 932b244539c577328130fbc344a5f676e8fe8b4b4d018aac162b66d54f69a59c -FixedInputDataByteLen = 60 -FixedInputData = 4173395e7734d7db8ae1b42955c244a68dd478be9f22ead5f789aef599c05cd6de986f677f0df253f2de7e07d9349a1d46efa82137d33303ab47f1fd -KO = 461d0e08ea99461e1ab44cba403e2d63 - -COUNT=9 -L = 128 -KI = 42a847f7d5c1e17eb8ea6b4bbf6339fdf0a0d357e6d0c50e0c1aad01cd31a7a7 -FixedInputDataByteLen = 60 -FixedInputData = eddebbe8841e167f1fbfce8b6ee243882279c2e69aa50d10f39fe5f09e56051b099c95f715b1461ea2ce2d25f91ddcc69f47201b702435ad223a790a -KO = b0d01867c5bbaf6fae71658fb2756997 - -COUNT=10 -L = 512 -KI = 0209527a0903f519ba1c37dd573470704add7393b586a871254faa32dc45caf7 -FixedInputDataByteLen = 60 -FixedInputData = 11bd9cb9a8d3265b7615d98aed7fc592cc247f769bce0fd69dfdb04443ed3bf9b60e6f80634f99a0207e6212ba155b44a948fd1257b47f941ada5437 -KO = 23bdd23f195b45ecbc87b72adf8463f616c74e07de3f4f1824816d4a124a07362315204e6fd70d2864dd05480c715ceaab6633464fbea2a472e827ccfa56a2ae - -COUNT=11 -L = 512 -KI = 21d72bed2c115894cb79918038b54242f1b32b1c61f45b9b4aa80835b655d66c -FixedInputDataByteLen = 60 -FixedInputData = 65e166a4c28c6bd0ad6f34ab9aa6cb4da1a7119ea49e2b8ce0cb14db3122829dd25eb9fb563fae887021fec0fbb41c0faa8fde2629ff0655dd93d16a -KO = c75cb8949f5ebfb9cc23ced28608e5bf50967b8c30c0a4d0b7270e0cdd140250b156ef50c014aad486e5ab261b9a539c697420eecb63a8a94ab6cc38dca8a8ca - -COUNT=12 -L = 512 -KI = 7d830b2912755f6f964824e52a9509c81eab15ec87881d54a7444d475fa51ac4 -FixedInputDataByteLen = 60 -FixedInputData = 0c1ca5ebc5da87ee9571d87a1c2b29de1091db1aa8a1758949707fa4d815eb9417bf0e1094ac6702225a4deaa873047d3e6ebcce690df55f80f3446d -KO = be7ec4ef3b464b49beef3a972b1f357648731ca4bba75d9c05684e0d6bf29c3b8247a335cc466cb8125c9af0481ed1b32ee64608cabf45f927fa5d24fb21150d - -COUNT=13 -L = 512 -KI = ac9689c21f6f9fb273c5fa985bde80ff38614f37778f4e107959d41ce0aabde5 -FixedInputDataByteLen = 60 -FixedInputData = 85687fac4c3cb55698dc53e1b715bec161ab096b006f0740f12e17cef5e1937acc9ebb06e21b2de122b52e7fb925f654a7d7595f4b2f7c8a6a991578 -KO = 1c640df73a0d53c31633c600b79fe1452ce850ff2628087944b836cc1d73c3a0be4b89049801a43581ef1a9a47612b50b9806f44f72dbfc61aa9f50c4ba900b5 - -COUNT=14 -L = 512 -KI = 8fcd8078232fa0ce9e6440d2e4e6d4a0b16d21bc39318b7d43527e71669c3b68 -FixedInputDataByteLen = 60 -FixedInputData = 3d2473d02801527d970d1f7a3bbf99e296ac246be3a70cc076b3968e8e41cfa3df42aa66d082b48e40c542647b1780305f29301eaf6490460b0bc178 -KO = 88e373012b3284186a40919122d2bb14b9e449eb8254d16b6f3c067f08c551e765579f8d475fcb275b565110a0f0a6b6fc381c7b13d1f2ebcc8605946d178fcb - -COUNT=15 -L = 512 -KI = 383c285b496a202021f635f5b144274ba88d86c312868db8c2d94ecaef1d2ca9 -FixedInputDataByteLen = 60 -FixedInputData = d645e9705d6382cdbbe4666e9537b41ee06c3573006ac24239bf1a013a8797f7c24b90180d288f0504e8da9165ea959b3c40490273479c19833eca10 -KO = 6bc82608506e221ad9f9ad2b5d498184dd795e853e94becb6cb1806c95d0db710dce1977a4c01d175128c22e4821562429ce12e0a1de55314c9bc3781f827961 - -COUNT=16 -L = 512 -KI = 8d6461da9c54b760c987b17d11de74d5f4c3ab99ad54c753128b7ca63ba42f35 -FixedInputDataByteLen = 60 -FixedInputData = 7b1429c6d7feb35724250e5fdaa235a855c17d48c77d4b899cbabd2511a2eed2805a874ee910970da6e3583f3f44e04ca3c2e2e877df53bd2228f93b -KO = cbc03cb5d3d2b4f29a12ab9cdf76f8635d928fd290fc15348f4f83a9e1838dd9159cedc55ded96a6bd8c970807dcce592a86674dca9c88a8cb904d764f0eaae4 - -COUNT=17 -L = 512 -KI = 49cae8518f757065f65dba529e3006ba4d0db27b6d1f20d76ee5b7730bc8a4d4 -FixedInputDataByteLen = 60 -FixedInputData = a6978d66999f74df3698dc9f3ccc6f0f7683470bc71506a474428b89bf2166b2d9f806cc847e57f8f228094ab26688d477ece3e81549066eac454dc8 -KO = fb25d2efd1593668ed7828a4faa875e403734531cebb4d1c928ca52df98c5f7d4f8b643237baca4258ea7b98606090ea869b8b2fa6c47002244c920d2e887638 - -COUNT=18 -L = 512 -KI = ce10600ba1d607cc0dda54ad99a29b67cb39cda904ddaee783cfd705906c0eb9 -FixedInputDataByteLen = 60 -FixedInputData = 6aa06792017b2828148733f530e8dae8d16ac14f3ac6795a027a62293e66eb963c3768a4ce2fa7774eaf3fb17c3c093c8db4ef261013a7d6867e8e1d -KO = aa40f2aff4e846a7dbf2d98c3b2899739eb78d2ec2e629252c6b9c55f00cc75674d57dc416e91a10941145e66125a4aa1d94c98666c7e192de43c266b6ebb445 - -COUNT=19 -L = 512 -KI = a4e384ce0faf0aa3d0cdcd435cdc40ee9c17638812da02946234ee0095f8f1a2 -FixedInputDataByteLen = 60 -FixedInputData = bd043c59d18c8affa909dddea8044c7a1b847d71a7c87da601175df91ea1a0d0723e4d6a6b64452a8586df6bed99a8c011b8ce07d1784cde34a17faf -KO = 41977ed8ad8b9e9c3c62e924ee298a614dc74faaac090cce299fe14742966ed817c4684084030410b8f82dfca3cdeb578afac3079cc10307e4e7cbc1ec88f05c - -COUNT=20 -L = 160 -KI = 8c11d887606fe78ff06c8f89fd0739b25f7de64d057fbf1db2863021188c6e04 -FixedInputDataByteLen = 60 -FixedInputData = 5e971e9ade386e28840587085e40e2bdfec07fcda5e11034429e6010fd71b239cdadce403fc1dff5edd31a123a86b551883b192d2196968b7e155a96 -KO = b3203bd191e5fbb638f1dfdb7a3af31349466710 - -COUNT=21 -L = 160 -KI = 6553417af574efb12e05f169ddbc6c69fa99a3a2a682864f0777e2f7623c66e3 -FixedInputDataByteLen = 60 -FixedInputData = 2579a2f8723c132bfe56a58495bf6559488db8c0a85f447d42092fe524708e884a0386d0cc5d974a717e559fc6b096bf141509824bb8aaba3ecacee4 -KO = 32e6d54b47c253d88d2726a199668af2080deb0e - -COUNT=22 -L = 160 -KI = 1684164ee28c6b0688fcfaa5420a675e5da46313e805b5f102aa1d1221c86192 -FixedInputDataByteLen = 60 -FixedInputData = 8a27d68d3945de3874a79ff1e04a47a2b58fc2ce3093d4a33db786826e842146a934d68c54f60eb96dc928fd53b40033beb7919ec4b27be898627ec3 -KO = 16233339f73f47c1aac74926dbf87bcd327a9453 - -COUNT=23 -L = 160 -KI = 573f65e0a60f5b5e84e4a318c8876f22378699a0d39dbde186d7405faab9319d -FixedInputDataByteLen = 60 -FixedInputData = 016b796d30d5b40a20ec8da4df91ee21c197c76883ac27c50e035e8afbe582f8e2b5c31626da1e8c564e732d7c4e99875a937c150514d7dd5212249c -KO = 0bcdd50b2ba1b4b959c081d38d1fc7cbdbf1ac22 - -COUNT=24 -L = 160 -KI = 0fc7ace8a77f1960644d1bd4b908bfab7ce1c22d477c57ae2f2ae180a46d1554 -FixedInputDataByteLen = 60 -FixedInputData = 7c08435979f55de453428dba7337bc983dc6effed5792fc238c5797f94a4c9d3c736caa6289521ce719ab305765f2d68aefd5cc498ffd0abf221e28e -KO = 5973feec3478ef0d5bf0013ba1b34d9e0f9b1f45 - -COUNT=25 -L = 160 -KI = 29c4758d35993e74a45bd37197f641beaaff02f02f2ba16f0394e2ef04ffb47e -FixedInputDataByteLen = 60 -FixedInputData = 51c3f4ee927df7705e66334db4328afa0bff0883893b848fc41a87a194e740e1e911e0c6b7ae69b9be5578e2573022d86ee19f2b8a5bb2ab1c6d1ad8 -KO = 79a69e9e58c2473a92801144fe2cdccaf6a8e764 - -COUNT=26 -L = 160 -KI = 7a8f519ac3c2b99b220e36c4bbd277c78c68d08b5128adae1c3585d1f86bf392 -FixedInputDataByteLen = 60 -FixedInputData = a3df7f38a6ee9b6edb9821e01c32d15dfbddeab36b9280c481ea43c9ea0e20d4aa6902e5a431456aeabef41d5bc0b354664de4e33227e5cc18ab21d8 -KO = 99397ac643c2a4f9e22e7686af60f12fae7ef356 - -COUNT=27 -L = 160 -KI = b28fb29473f3c235dd9926ba37301b129a5336f20fb85a008274349d9473a7bb -FixedInputDataByteLen = 60 -FixedInputData = 356690f16cda7233d5e0aded6cde5abe438dad5b0d132b00d541768530a3b6d4369d5d02d677be7ea8963a965b9666f6ab32bedef842a1a55a25afd1 -KO = c9b69da08e08cba5443ea6dc5001bac9323d2c7f - -COUNT=28 -L = 160 -KI = e6e3319f080f21594c5b7533f34c7a0d440685f4bdf98fa988c904dd5c79e2ba -FixedInputDataByteLen = 60 -FixedInputData = 9fc2e1acb9f6f2c2e7860793c3cdae2b97c2dc8b8d6fbe028e10e1b3847b1f4e300b52e51e84762b3e50324e56752a999fd5dbd56dc443c287fb09b0 -KO = 5b6a22c0d1285c6cb3fd5750a402373836980784 - -COUNT=29 -L = 160 -KI = 7865eb67c2e5c1becfce24c1bbfe4b5d6fe8a905b7765093a0a2e63b7a054c9f -FixedInputDataByteLen = 60 -FixedInputData = 4e63017fb83f81613c59c34a680657f9433d10d23ddd2015145a821440535a29979e6cb8e3a86f2e01aa0078460055fe9564ab9d786a9fd5d0c29d11 -KO = 5b258f1ff4823a59fcecc3c6921826a2a985c4f3 - -COUNT=30 -L = 560 -KI = b9631986f4435acae513d9756796ef632ba98622eece1b740c918b070eb81a19 -FixedInputDataByteLen = 60 -FixedInputData = 628acf6b96c93329583f9e3b9fc3a957534aea6553729cd1aee99d842be9394601c1e7f958f3c0c0df662c78d2d7a84cc58ef78437e0e4782576a50c -KO = eb49ac53fcc9dd0b4e6b0c7fe7e54eb06048d9eccbeec7681355068e53cbd5b0987b8f148d6b10a90e3185766ee79b9ad87acae6a94a26c67aedf4a9216e585c1df9ea7848ec - -COUNT=31 -L = 560 -KI = 059068aa426618a9ec0e62951b6ef2230da8053513e4c456e8d52c4c7591454b -FixedInputDataByteLen = 60 -FixedInputData = c27dc5bfb00fec5dbe0bbb06c72ff86ffaa63b61c95bb2e627b690a466a0ba0f9593f9d7dbfd2abbe3cdb7f12f53c6910536c8af8b7cbf80b6110dd4 -KO = 2266214c7a52586f16c7740b10c327557652349ff65af93b1dbce32cc508560d3cea4b07b879dc1fb1e9cbaf8e1031b13f2785a11f33c9f996da17f0b8b3f95c39ccb350b710 - -COUNT=32 -L = 560 -KI = a9d9d05d879e0c66f93a183e0811e5d4cfe7ef5854fe085953867c66faa24256 -FixedInputDataByteLen = 60 -FixedInputData = 0ce6410999af103a0194f43bfe45aec26b77ecce5dd0c839b90f25056d875099f39b195c5c9eddbdef7ab276a02d3c364d0d163d129dffadd2796203 -KO = bd5ce92d5c6dca78cc81f0dad1181a338422b1203485392f242ea02cd30e6af171f3654a1e2468a50fce95a8a6b8afc0e382afee6ee41a522c3c2081a59306ad5f8d6b13b0b6 - -COUNT=33 -L = 560 -KI = 8b30b1d59a8585134c6952412b4321d198bd191bf267a1d98451d9b2ea27ad90 -FixedInputDataByteLen = 60 -FixedInputData = 8ee751612dc5ac0eb64c9acad389edeaca00a17ce26a492fff6b3aae42f28416dd3d68833a3cfebcfbe1c5f7c92e459571faf064069f5b64471bd1a0 -KO = a142f16b2f79eecdd4a8ef1c27c4109210be14069a43c8e382915f2226d5a04ca4fbec80b989f47c016279cb1dc07f8e4e949f0ceedcb847bbd8909682fdf34bb1fc56ab156a - -COUNT=34 -L = 560 -KI = 3dc28d8794096786f4b44a5da03551fac61c207a0b3c2899a75d4ac5223ce25b -FixedInputDataByteLen = 60 -FixedInputData = d9680301d1c9fc6dcc97b38254e6edcb4453b5cd8960cab41be68a82b30783c4ce18bbe7ba88cb2055c5ed69e428ad7ad24f53b8a23a623c92d653bf -KO = c5c745f75ba09654cb4960d21988fae8c94c141ecd0be07b4c35751fa5293326b364221d566e71414ab55fe93d22b928bdd1bcd2bdcb3ef114774de63b454fdb34866930e6e2 - -COUNT=35 -L = 560 -KI = 16d010f4dacfa9ec1b372f6ac84cf145c18d7a5e04e3fc6fb3ef69650a96e8ec -FixedInputDataByteLen = 60 -FixedInputData = e804b61b1be675665d7d6cb6758855f2e406028b6fbdd072b8977ce437c9aaf948b4c2ad0cdea7a95e68c2867e4f0be0dd2f1cbba09eb103e810fd15 -KO = a64bf6ac5b2e2e15f9f20690a298af7cb42a7e59311d8d68836b222fe81efac0a60c569105c7610721eb61f6edc473e4b9290bdca82d4c676e7c88aa064b203fdb559efa8376 - -COUNT=36 -L = 560 -KI = d60c94ac81a75682cd55a1fa1024006ed32f1ffa120880ac6894003861994b1d -FixedInputDataByteLen = 60 -FixedInputData = 4ac69a6864927be41c32bfe7d0eec12d2998f3a9dceee5cf0648e358da1fe0388aa43565e5fc18e4d2f1a0966a004302659a5b59463cf61cdb062e15 -KO = cebfed20283003c6af611269856c4a353d7a69c3227560b842c414e90ebf266508710ba370375bba50058f37dab6d306c1207537156244419ace7cd91e4d67de8d361b5351a4 - -COUNT=37 -L = 560 -KI = 2b773d0525877123c0bdd8f6acd3e6c8e7127f6ee149f35f479ad246d51660d9 -FixedInputDataByteLen = 60 -FixedInputData = b4869d89dc934363dbf2c76e4aa186eb8e2dd09b3a365d967fc86ff93f2e8da064b65313b86e3dad9383b0be21e03126f605371cbb8d87d1adc835c7 -KO = b09a5d180be3892b31a00c1ca08a73418e8497d0cdb9d85469ff40a4b674f84ba9001666367a83fa86536c6905aaec2514f5b4a398fe2f4bbb18bf8fbdbcab2b4ab2f67b3d29 - -COUNT=38 -L = 560 -KI = 7ea4b88bf5d70d09de3905216e0711abdebd169ff4022b759ffce3abb1bccadd -FixedInputDataByteLen = 60 -FixedInputData = 9f5c86ae49017af6f0c9329c81e05afa14710b719b6ff53a3582d3ddca8703dc7aea8804333b885c561a4399c28ba09eaaa36c385be72beeb3795603 -KO = ae377609ff5c8ec6d4c25134843d0b4ab80e1df16467127d37a3202dc7cbd30ce5eba70c9522cfe1ae992491c6ef8a341bd10cb32453188917fadf0b3e8710fcf66e22496e6e - -COUNT=39 -L = 560 -KI = 858f7b5bcbfe0ec0254cdb9b2d6226e722902ec0dc73a5aff5cb998e42c04996 -FixedInputDataByteLen = 60 -FixedInputData = 050567169a3a4ab38a070eeabcd6da0948e8dc5885a5a5e4e3061c9f0ca6ceb90ecfdaf30fd9b68cd43b05547c999423b5a151479772310db4c88759 -KO = 7ad731f2cf2623624c0b85ddf9a0f10bfc406f36d8d1030f290ae062289e09a12f2d0513ab62b300498eb41e8dc7e246b3de3785fe388ad4bcd9fb69cd80dabd6002e179b54d - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 3e32d828b7fbf6b2a0d643c279b9dc2ea7644cb165d8e66ef8c1fefa5fc0708c -FixedInputDataByteLen = 60 -FixedInputData = d1ea3b7f4d647430eeb78f271b40af807a033e7a46b14064ee0c9e2622d3f4f8323bbdc1d2f63544c97f9572ba2c57f8b146f8caf5cec7f841d62e63 -KO = 97ff102a747dacd1cdeec718b63197f1 - -COUNT=1 -L = 128 -KI = 0c23c0fb0bc8eda98412886162f64c7c1a57608872fa9bed53a7411216babb9c -FixedInputDataByteLen = 60 -FixedInputData = 79ca1d0c66960fc3fe6bb63381f937c1fe70f2bf8a3934935a0de00b6e03faf340b6238b660e64028bfea9c5964359c0bca6d21d00557d53a13aff31 -KO = 0490976bb3060ce8e5399ce63ac6ce4d - -COUNT=2 -L = 128 -KI = 888a65345700aee256e76f755292ce0fa4905d1bdb70bff7919f61ed9425d714 -FixedInputDataByteLen = 60 -FixedInputData = fa0e8a7ccaac9bbed318a9f1ebd61708bf3c1d7db3f2114fb4b58adb334111d8c300df30c2969c7b1eb25d967e3c2b7b65291139680b5f5ea71bd27c -KO = 82cd220b540c7afb4079d4a98c4a0248 - -COUNT=3 -L = 128 -KI = b9fdc845b043fd3a89b6807a45ab13dec5f58cbac3f2504c746531b29985777f -FixedInputDataByteLen = 60 -FixedInputData = 0b421e347546148947ab63f20ffd439efc19a7dd8095e6615ad2c65356a63bebe2a9f42c5812fcb17a43069671250f2fa48f4796f82d0ab4d60fa9d5 -KO = cffedee0459ffcdba60e094506a6651f - -COUNT=4 -L = 128 -KI = f4f2eb3027e0455ab96611c231222fd9cf3642a26c530a3235adb24fd7f57b54 -FixedInputDataByteLen = 60 -FixedInputData = 7d926195250e9bb53a14776bc08dbc3b77123bffa496d2df324bf09b8f4f4f369ce5aeba475a53cc9e6d7648ca8b7cf01faabe928a0eb2871be0021c -KO = 81aebf551a1a7f41319610455a55ab40 - -COUNT=5 -L = 128 -KI = 7727329b48f6bb0724077f6dfb9a8d7abf10acc4ecb1ac5f037ff3e141710f10 -FixedInputDataByteLen = 60 -FixedInputData = 62833832896ed130c70611a0d1ad3e09244580dbe8c1d6807acace1c3b0fa251a1dda24259bb9c2ce369d7270e7cdd9e9697f743ff87590ae61a31f8 -KO = 6584b396bad90b5dbfd6ff3cb0a7a648 - -COUNT=6 -L = 128 -KI = f10c4f8ec5c292bad6747d40d91f9ba92f4dcc898b2e008e394bc28de5120d41 -FixedInputDataByteLen = 60 -FixedInputData = ebd2a17020e30bb39dd7f060e357759258f3c759905ff068a04bceda68106b2fc35d40be828edbc24d497cf5d3abf2295c7b81b12e9c3abd37e8247b -KO = ca1ecd25d005dbc606f6863b4341b5ca - -COUNT=7 -L = 128 -KI = 450d558130553bca8b8b31820c39281674902fa61be514c35c4e5ebbd1c9b879 -FixedInputDataByteLen = 60 -FixedInputData = 0f263b19346d133c3c79adbcd57becd7b6603c404767363d80f21c938502df00d0091d579b12d81cc3c3c7ffdb6fa31d11b99e20b8a0e49c58a8858b -KO = 902505913bffbca2be5871a0c8570510 - -COUNT=8 -L = 128 -KI = d86fcc90ac4df9991fc95ce3f4758d4a8a816b3a1533759668d151cc09c9f717 -FixedInputDataByteLen = 60 -FixedInputData = e33e853e150428723e014ccb0a79c9118c071b1b864eda9feaeaa1cea31445e5ce5afbff7af69bc9471774a579f1df471f551f02f1cc9621439c6ccc -KO = 5464d733f0a110c5094d20d5dd1c555c - -COUNT=9 -L = 128 -KI = 2dca617b755e4d694be7d7e48ac7d0c3b64d0e17fc630fddd2b4a1d315257b15 -FixedInputDataByteLen = 60 -FixedInputData = 8f861337799164c5f2d30285e57a433ab2f52fcd5abcb5a175676623eb1845406b4456487500dee9bb8c1e2d8714ee33874b196b5cb6feb7135a5581 -KO = 173d343cebf790a79b876c13fc618c6b - -COUNT=10 -L = 512 -KI = 7b33f9941d54eb7aa109cb069c0f1e43d0a06b5b1bc3a5f2390b688692cc1fb9 -FixedInputDataByteLen = 60 -FixedInputData = 15d865fa48d9336811b5399c4ffd7e2f4b60f3450308ed4718fb77acabe1874099c30ef6127fea53f21f322b0afeff57874a20fed1af97f38485de25 -KO = c035a0870052948cfa624e2656e08511e5e811567c1a5cd0a93f2908ae1f0bfce5199e539992c877284d789f7976e453310004bf105f8a59a40727620ee50273 - -COUNT=11 -L = 512 -KI = bc57ccda8409023172a7dcefd08fa9e3f9d1bb7dbb47541e1104b37b5f16dbf3 -FixedInputDataByteLen = 60 -FixedInputData = 7a1afc17e3534f537c16d62464194e87aa4d969966940011e7bb5d1c30c11df0aedbb6a52fa8ee697513a2c3db492eb0c6a7d3ddda7fd32fe6656a65 -KO = 0d27ad580baebf7fb300d2f69c76de9b6167f10f4898222e749aec9cb869d7af33b4cec59d225750609ff8b8c6b836b320b361889ea41fe702ff0e4aa6f8cd31 - -COUNT=12 -L = 512 -KI = f01ccb285d1d3c58e646bcc5d2cbf1393ddbac2d8ef74979b96f4ed234d5941d -FixedInputDataByteLen = 60 -FixedInputData = 36d4cb22a5da023f7ccdba05d95c4fd07e317228dd513f6393220d7a15b103bc64919d6b712d614be31a6ed9542978a3e18e95ea14adb8b38975952a -KO = fd964617623cf4048ad3dd0d4f298ab243a8dbbc429b50bbfdf6364d64321ae4c8d3658037900e1e4de66bbe2f39fe96b1fa17ef02ba0743701a2f24baf4b288 - -COUNT=13 -L = 512 -KI = 84cf7a6e55c5f93b4f78cf75413d1215a7461991926e5f5d8d408332af84f587 -FixedInputDataByteLen = 60 -FixedInputData = dd578e97101d5a4e9b6d06ca2c970a710ec6ffc43c055bf62241ab557e839b332b0e1987938b1d53f35f2f8348c00ef5a34b84d721e3d69eb07b9a09 -KO = 65e1388ce7e6897e4edb3d2745a0febb6789bafea33308418c73a0e48fd596e7cacd5d7b50104f829f4da9c6fdf75ddabb2ee15d491989b931686fced853418d - -COUNT=14 -L = 512 -KI = e91aed9974186ea9ce931d68940103ac1e67fa02e54f6de5759be7a0aebe5421 -FixedInputDataByteLen = 60 -FixedInputData = 1702dba62cd4efb84f461403b5780d1eb55d8b90268637577ac036d1f21efbf1447c256ff4f713019d88c93157d8f7b09720e803dc16059fa5818103 -KO = e66e38e20aa84f64edac6903226effb41fec9242c0eadc49f27b1344ac9233f421414d6d4f0e3e09f0ec9b7dcae145a49204ee04df8d12ca34cd6b5627099a85 - -COUNT=15 -L = 512 -KI = 55cd3594577469d242a3f4b0b0467705a6e3c5a3a852218e2883f7e191c9376e -FixedInputDataByteLen = 60 -FixedInputData = 7d42fdb4866145867455e26ecf56c76b28e6be9792df8de615bb26aab334f64987a5ce3c554755b545e1ec3a7dcdba7cb395eb91438692dc8c7f969e -KO = dd2497bc866d04d20c5ecc1bfbc634ba2dffdc70074afe252901a64179ddaaa8351253796b4094c0f2bf3471d0beb5920c16412b35b1d7e2d391cedb87c0fc45 - -COUNT=16 -L = 512 -KI = ff707560a3cd882786f4994c501ed16a3ebfbd9cc06709de2be867105e402fa0 -FixedInputDataByteLen = 60 -FixedInputData = f70eb243dc3f503f0f9e715f5ba64e5d5c7d16912cd6cd075123151dda42615f4a199815e21b86ec4148bebc42e479448b551c5a31490df467d19daa -KO = 0f42ff3c19e1a42482b132acd2436c6189f6bd0c51f5b9f3768aa58c561c17d8b1e8ab445d23bddd83e86298ba9bc173bdd24ca0054ba41399668b39be2b398c - -COUNT=17 -L = 512 -KI = 83748792e7269edd4619d21c14b118bac609300df3b2c341905ac423df27f1c7 -FixedInputDataByteLen = 60 -FixedInputData = b32c239ccd9cd0f2f8660194e8b709eb63602dee669b5422d63175af324df8e36d2e0707b9599076a7483cce6804e6642d774341273fd791ec478e32 -KO = 3aff70cb9dec6e1035a846f65030eaf3b03b614b4ae2720d932f27d4d2885287cc51fac276e6fc9daf06dfd515de9fcf520524c3cb12824c31b75e3edb8e3f4b - -COUNT=18 -L = 512 -KI = 0bb289ee3d04ee19e8a19250352873d523e00b0b95f132ffe9123e3c2e760cf5 -FixedInputDataByteLen = 60 -FixedInputData = aa208b1e325886355c4405524e7c27a9f67474e67c44da9774f75a0e6b094cc3233ea8d93bed549fbbe5208bc45a5804abf3ccae88fe58081865dd1c -KO = c1c80773cfbed22d37ff4fe3368b85d3b927963553c5764f3ce8a041aab6f86423b253b0a0e2100f83d1a6aab1361b5c04c89c9b1a7e98df7c6d4cecf628bcbe - -COUNT=19 -L = 512 -KI = aee9ddbbad3f6b43899b9fae27c20ea09540d60c455cfea842d4b9300e359609 -FixedInputDataByteLen = 60 -FixedInputData = a1a08a38a2abed9bcdd1095239b58a4fc4138f2700cf23faf96a1557ee27ebe6d4b3fe4bb405fab289d9584046435dbf5cccd30b11ba519e6bb05e43 -KO = e39cfc99e620e9e6a6512c0d9f3097e9bff2c630ad771bf5d29a600638cfce03342839a282306f26b0156a8a314ad9539c93c7d39a13965258c6b602f739cf14 - -COUNT=20 -L = 160 -KI = 3ccb34fb79d75136b57865b2e4c2c83f77d0dcbaf4e3339ed081576d49c585fb -FixedInputDataByteLen = 60 -FixedInputData = a1cc481fc4d3d969a84f244032374d6a5a1651a2f070e9b2e17d1fcc0b6dbc1c0a05b9510bc33a17837609098ba0db4379e781d6660365cad241dbf9 -KO = 522db776867e5dcf6ffcc56d17dc56eb720afd03 - -COUNT=21 -L = 160 -KI = e9e0fcba8fcb77628bf13ef3784a705af93248b7719b7e751a43e9351fd19441 -FixedInputDataByteLen = 60 -FixedInputData = 635ea953fef482c7a288674a38704a151693a2667c6aedb24151d1be7e3f3c66b2681642da2882c80741dbbe1a4e02c93835111a5913a1808b1be7af -KO = 84c5cbccf28231b98831428385cc71322d230bb2 - -COUNT=22 -L = 160 -KI = f509f38a80a91750519fdf524eec99538c0e6fed71546b9b349dd0a0c188192d -FixedInputDataByteLen = 60 -FixedInputData = e6b9ea76ad7d5a26f4f89a2dff5b3a14afaa1c596014c379171fdb31c6e81d41c4eb32c3cdb5540ffab9c85f2940b3af2a51e68eeece805e9fb97b15 -KO = 5e25f68aeb8cd1228e953276f658901f7b6cefc5 - -COUNT=23 -L = 160 -KI = ef28c92e5f3726fc623397c08eb2db2c07d457f77e39e94e9e1f08b00270e9ec -FixedInputDataByteLen = 60 -FixedInputData = 9fa8b262bd3d263f56eb979d979b2a14aa2e8f54eb87ad2bdf51133dada924477746898ccde9a6f08ad4f13aaa8a5e2d84d640d63942d8a1afbde613 -KO = 326e977d85f402c3eea7e962fe3cacd942789830 - -COUNT=24 -L = 160 -KI = 8daf717ea5ccb25f789761871a93e2cd847110526a8de5f6db9b11ac1160a985 -FixedInputDataByteLen = 60 -FixedInputData = c9e9ade2df0456a7f3c5b000df6223c1f775b89fdf17bb3b8144f5c5bf210796d037c40e1d8c8bb1442295229c53a4c39f5b5fc84a423d68ad0975c1 -KO = 2b9a4a4e52aeb858a2757840802a2ba8ec7d9c8e - -COUNT=25 -L = 160 -KI = 0db1b12a936690b8122cc1e0dd40f58e1760d3788f5ebee270b3e039ece21c75 -FixedInputDataByteLen = 60 -FixedInputData = 6c1b6b5ee4d09668041d75b2d3e68e94ac80b7596e2f5ce0e4f26332b4c86e11f5c9763f8d0f17a0f5ad49f89b6d224139bde4f729b842ca2ed2de7d -KO = 228538f48147a8155ff633df9235be03d6b3726d - -COUNT=26 -L = 160 -KI = a3c3fd8e36c07a772e7f598bab8eab17e464572471bb68bb85c7434f60df1483 -FixedInputDataByteLen = 60 -FixedInputData = d29065435986db0ad0012574f30f17c37144e67b17e4cefd5cb4fe68e079b4334ab130e182adb472176c09865827c91265065c4183f66c4c3ad589b7 -KO = 3e871d7fc22aa090d28422f748ee4145978970be - -COUNT=27 -L = 160 -KI = 32bb485d78d13f2d424c635c110cb7f7c6f0ae1578507cf15b4b5b5fac686249 -FixedInputDataByteLen = 60 -FixedInputData = a058e4e14ad749a83e318c310c487a499e14acfc8c08fb3d5cd758f08eb5a0e27ab2b764e230f295aff4e2804dd0c3135e0b471a6c10a89924cd8892 -KO = b361f345c219531a60f588ad0ec0d2bfba305122 - -COUNT=28 -L = 160 -KI = d9c0af64d06c0d37a6f33860fbea8a1854d9234e87681f6094cbd422f4733528 -FixedInputDataByteLen = 60 -FixedInputData = 18829592241eab9dbe503344bae0c86d44ff36be71fdc543aecf7df6a5da73c9edd719c1d072a9cbf7cd6aa160de2eed2fe9cf5bf5a010d2d3f139f6 -KO = ed914a479e6b668616b8e48726b80595d24dbed5 - -COUNT=29 -L = 160 -KI = 2094b16d24ef05591a4da24bb619aed969f4c659a58933ffc932413121ed2552 -FixedInputDataByteLen = 60 -FixedInputData = 7e73eddc68c4131527d94347787a4bc86ec9c68088b46ffeda571dcc76dca0afed70fd5c91f6eec473907221200263be1563ed6a8334288fc6abdcd7 -KO = 8fc88ad208c39fa1fd5423c8c7f29c29d688a852 - -COUNT=30 -L = 560 -KI = 498d06349189698221032badd35fa3a29930e74a9ef3e0ea3b0a294d59e404bd -FixedInputDataByteLen = 60 -FixedInputData = e6408cf01d0879dc3f8cd27fa0c033422b12b0d33440ab8b9a8aed71b9dcc0ad36d0de0e2918d3def986c313b6a8597a046232d852b4d2c8ac99719f -KO = ed9b3952b551457c8b2297877f47acf902a2330d09cf1f505233a5731a9b643616d066c7fb5f4cc629787dadbc5bc09c8215afd8fbb702eb978de5f73f490e4032441205e5fa - -COUNT=31 -L = 560 -KI = f917db9a2b902c666a4fa7e3f35a001e5dd7847c989eeb92d0cf84c0abfa57ae -FixedInputDataByteLen = 60 -FixedInputData = c6a3b2630550fed5a1c2d1b66fbb40797abed389bb9c0204c4d2a414ba981189bd823291f35e83df9e82da354d45d05c06bea7de00c9a7b9bba140f2 -KO = 4536725d42d06c893eda572ee1657c3334b9d8fdef4fba8dadfa2a018bf3db8fa6a1b64ae737e6b2c0c0dcba81278dbe6f9d99078fc33a61bc033b8a6530dab68f77be20357d - -COUNT=32 -L = 560 -KI = 0f67de41ce867e4395b6b4b01a36cdd515966e6fb33511d9371a77f26bab7280 -FixedInputDataByteLen = 60 -FixedInputData = 6965876832bc989e886d88b18308e37172c6c696d908251f9159298dc6bdc7d4277370da1a79abe72547165e3f143d4d3eacb87d39de8a1e05a65e9c -KO = af2645a47ccba696053006b8ee1db40037fa9d108b3e0a98173b6cb696ca7701ab9b9cb53d7330b11d6e9b9b73cd62078459e18f695b37931b118da45674b709379073e32841 - -COUNT=33 -L = 560 -KI = 3c9019622b79ecc3d88d4340b0d915c1c1e9dc373f816ee94fa3ea332e7f6d06 -FixedInputDataByteLen = 60 -FixedInputData = defd5e4a321920688a232ff3d0a436ec6329c2a414dfa296fe35814fba9fc370613ccbc7f8b29b3a405d318bfdc8be24e5661ebea1426a8a6368c411 -KO = 20259e546b53928b170dda5a53107f5cb43094e2c80c6c6550c5d68ab7b064d48ff558b755f351933845f466ab0409eed02ac905747584504bbacf7c9163a25dbfe1855fb07c - -COUNT=34 -L = 560 -KI = 6a19e7db1e7a042cc1c19d46c62f36716d425f49c66620acc834217cb1bae54f -FixedInputDataByteLen = 60 -FixedInputData = 92c60b7a3b9a5dc21c8dfb8546ed5331074516ec659c70ba8f9d2e208883eece3de69bd3c075c5b8eff1e24bf94adfe648b8658d1c4bb555b871e624 -KO = 9b69b1955aa618d7a14f6bfade23629e1ff050b6ddf1ee24502a947f30e760552c49ecae947d7b6084873f92a872b2301179951337d5efd07a12261cfe067b5777c971eec578 - -COUNT=35 -L = 560 -KI = bf7b7e5fa0fe3b51123f4821675bc2172de753bb38cf014bb52de97ce2c45699 -FixedInputDataByteLen = 60 -FixedInputData = a0ae0778b9e448e02ce3a6228e680559382927f1a882eb7fb7ea84b40166f54a9bc689098ec5ae71bb07f300f6778542f90225cfd350abc76b376976 -KO = 0a9c8e7d1c2d0e5de1be6f82432d5949c251bb5dcd5b46246921ead0266fde9e589b151c7402e9ee6ec3219fc16f79073c6bf2c666a2aa2f408eaa01f8044f15845df18b8afa - -COUNT=36 -L = 560 -KI = b6502d5fde9006df89d448ffb02442e447976cfabafa0a7d62f18c5884d798e7 -FixedInputDataByteLen = 60 -FixedInputData = 5e5281ddaf45497f20a263303c4dada819bd388f683167a1c78acacacca3b2884bcea5dfb5e0a493c24ac422c39d0a50b184a2ec1fce4309ddcaae42 -KO = 17272e1c91be3b5ba0aaab8a83f37083e48b91f8b445d7cc9fef1002499b799b34765abe8fa507986799adced3e3428124fc8241ed53b40f7a0614fafc44ed408b0afbfdf87e - -COUNT=37 -L = 560 -KI = 59a1f44809586b98d9953a17272122f4f7261db70da0018eba03a73fdfdfefb7 -FixedInputDataByteLen = 60 -FixedInputData = 79d3aa8402d5c944139821d4c90767b1f8cf22f3d8b8cd91bfd5327bd1a72a5ace59e50b7af63a4a744be38f39f90418c42021e2eb008790aa2f59f1 -KO = c7cb7944009bfcd1332e2e7936e1cf25a6e6fa7d824f1dd0b55b65e4ceabfe5adf9cd433969996e46b393962cf352cf9222dda90e0192eaecfb5d4524f074994b35dd68bca5f - -COUNT=38 -L = 560 -KI = 9fbbc7e3d85bfc75befe0efd1433edac407e5d100e562bb3bcec414ab3e1ec63 -FixedInputDataByteLen = 60 -FixedInputData = a888b0bde79e1d21fc14469db751eef3c9d7ece4d927c5244b742a3f068f6df22c730f442f759d6bb85a75b38d08eba475205c4cb052f08d7dc1d3ff -KO = 3f590d9192038879a28848f9008714edaf505c9d0d25280d7d10ee483cf8bb92fbe5d58f0b131c945de213eaa959293381cc46b65aec1d06b10b48d8953c206b6945ca13a5c2 - -COUNT=39 -L = 560 -KI = bda1d0c24c07f27e6d3d46e37cfa99032df6c9061eb3df38b9800c63c49cdca0 -FixedInputDataByteLen = 60 -FixedInputData = 555d403e6da0d9c807b3521912ad9ebfcfed21c34de1782d4ba55405c2fe0ce6d1ef09b52e727e6e25b8c8beefbe5d28226d628e1830aa570b2103bb -KO = 2e402836a03962acd799d650495c1d6d8e3f4d0e482b7759730e39cdf02309aca2cbfb9ef02b04f22833f4e10d2ed71e5a59654adcad1769a4fc8bd4b9c1342ee084b55ea2ef - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = bec047e4156c55b4b3d8c3074a4dd2f562b30dbf7ee1cadb73c79784e1f58c8d -FixedInputDataByteLen = 60 -FixedInputData = 51c3fe8ada7b21614e4bd02dd40f112b151ddf4ca0ff78470fee4dbbd3a31bc1b72d99154579de7f77d530faffbbf7cbd7a392e06591c61d307244ae -KO = d620a8e8775d92b44e4d6c43395935a2 - -COUNT=1 -L = 128 -KI = 255c2d8cfe3c558085a570230ee0ec4e0ec8b45d19134b1e77fa0cc653eb2d3d -FixedInputDataByteLen = 60 -FixedInputData = 6f842e0c708845d306dce470d80f234361785c1b8cc4396deed5b19aa44fd68d93c214bf2a0a76c7143411d4dc7d2eebd29105d60451f5a4b7c57e85 -KO = e2245d34fc99692d68e3957cae5feb67 - -COUNT=2 -L = 128 -KI = 4e921aae35292ed5a3b3a7dee67bb20de58ac9aecbaafa47ab5a63553f442d0c -FixedInputDataByteLen = 60 -FixedInputData = 8e2b1e1a794771d71683ed75a6f7bbe9c3cc751902c77d1235535b466a761323b47fe6ffcf06aff3c0223bd67a9eba2c25f9d4e93cdcc4409a7446e3 -KO = c2f610717ea69e713bc61389952354fd - -COUNT=3 -L = 128 -KI = ef32f40a43389faec0c427330195e6ac4d0595d460629e412e5eab961f6acf97 -FixedInputDataByteLen = 60 -FixedInputData = de4a112f4bad40715e725693c9e8a09fd839e6bd32373fd0f382b969fdbc57694068b6814076de39a4eb214f78368ca654a3287b84d8e2e0b91b2f32 -KO = 4bb34bb1587bb9e283b0026a6dcc59ab - -COUNT=4 -L = 128 -KI = a48a537dd9a2ddac102c1395dff3685f7f95beae5a76d140c0e53216da9eb44c -FixedInputDataByteLen = 60 -FixedInputData = 9ff1c946f90d6dc1413ec6dac6c9c97b6d007582087940fbb8315da853a2e527a06ad50d4f9bbd290822430aa924459560dc64cf01ee093c94e1be2e -KO = 577e10b292690986c02fa1e5d01a61ab - -COUNT=5 -L = 128 -KI = 19c6f511a8bd4ac4491073380d64460cda55504fe940a2e11bd2a205fc6d7507 -FixedInputDataByteLen = 60 -FixedInputData = 5e707db66fefbec57d6f5538511017769f02a1b25a4dd805a896a2fd7dd011059e7a2e9a77839b3b235c9bd1638587f3c69f3f5dfdaef5a1c9787690 -KO = 7370c2cb7fa31308a4db588beca1cdb3 - -COUNT=6 -L = 128 -KI = 20f075adb2b0505223dbe0a44a07a2bf348f86cc6c6cf54269dc4887cb669147 -FixedInputDataByteLen = 60 -FixedInputData = 295c499ffefc3205e23eceed3890d226e97cfe5ef3f87371a5d0cc3b8061188fc6ea6df48d3b2a448610ea0ca414e8f0d9554a29933c13e8e1b37e63 -KO = 09cc20cb5a323409a1bd93ebe6cd25a0 - -COUNT=7 -L = 128 -KI = bab7c86c68b9770a303531d5e9c5d68ea56308de3b478746c01ce14daef33755 -FixedInputDataByteLen = 60 -FixedInputData = afecce7c1d178c4f5470794a2ca9e317f7f202e2d20fa7d23342d959f821a93ce7e0cf0b387266a2b919b9a8ed877778257e81bc274c0b470d02d56b -KO = b8b0a20dc43595157f6791ef4877d944 - -COUNT=8 -L = 128 -KI = d538362229e9cdbcca08c6c8c960e86058623c82032bf89a27bcb974de81cf2c -FixedInputDataByteLen = 60 -FixedInputData = be05fb54ac12510617fb214271c6078efadd91da30a3e477cda8b1bb095f97b3bdb8931b20ba0692265c5a2a02aa187b1db756754623f0e0df8a23bd -KO = 50492a5386f08964ae86760cc39a3370 - -COUNT=9 -L = 128 -KI = d31a76691e4d8ac78bd567a94549c7905326143be3a1d07433eba5580b6d0f0a -FixedInputDataByteLen = 60 -FixedInputData = 47e52e25454d2dc8419887187b7db5f84fcfbf27a843c2ba141110945d968eb1b2b0c9356264a3a49f929a5698cedcbe9918f029d928995bcf4a0a22 -KO = f6a6fc050b8dedffa6f95e0b5746b1cf - -COUNT=10 -L = 512 -KI = 2c0671552f87a02057f98326be5cd1970b7cea5520998ec7f065795c170503b7 -FixedInputDataByteLen = 60 -FixedInputData = 11f37b57a288fa56a4c0ef7c4d26c6a3a31130c2d5318152e5aa2c04c2b7ea100eec41750965b0bf6f88a820d10ddfef89b25f810571e4fc39218f6d -KO = d1a85656a3981a4390aaf4d00f63cc46e87c88aa81c18a54a32568abd02c47199aa73dd3cfeb663b5df89afdd5681c23c6ae6e10b073228438a22cac494cd898 - -COUNT=11 -L = 512 -KI = 9bbac71cc68a1507d9f80fa3a49269393e4da75fae9421914ba186b37a65832e -FixedInputDataByteLen = 60 -FixedInputData = 07809a75bdd47e2838b3371565de9718eb5ee4f119f92064cb4e8bd56cd973aabc2c082f8d436c198a93b1b2e11d2709eb4183cb77e63e4ea57d876c -KO = 5a558167510c4abef0f957255737a5c155f49b66f80b09102972f7ea29fedb33e75f0e611854e7949dbdd8e6eb002495a422d89212babe14b11375d35bcfe9f0 - -COUNT=12 -L = 512 -KI = 750f4620419f22b7d32a8c3fa2912c090f3af411870c62382008a923a86c199d -FixedInputDataByteLen = 60 -FixedInputData = 46b9ca183c0788bc258e21efaa98e8e75d454991fc00416afd1eb47535c5504fea497d9875af5619d3eae8e39fd23992291fd61bc127134697016545 -KO = feacd569269816d79c2fe013e1cd42b1ab6596acb0dfa5bfe6bb3aed88088a17d86d5f6ef43225a0f4ff37be3d1390d49e311bc64b112312e05caac637f4ee3c - -COUNT=13 -L = 512 -KI = 25d566b6d2d4d9c3e73209c59eee64e0d0cf5a815ad1b7d5a6f5a356deb4676a -FixedInputDataByteLen = 60 -FixedInputData = 54579106be5177cdbfcc61cc3debfdc0cd7ef212f604c742407ad4b25991d8a2cb93029ed8c30cdbf089bc177b8ef3380aae7427bb7b8c75c68a5857 -KO = c7c2794513607f208c39776065e9340ecdc8f8454805b4d76bc45585ee63541a7230167f8df4301a3ab5bf4144072bc6a1ba4a711ff7ba6f78fbe85f277eb067 - -COUNT=14 -L = 512 -KI = 75795ab2ba8aac9c45b44b93d95faeec406349fa55c6b4f0c9af10a8f15203b7 -FixedInputDataByteLen = 60 -FixedInputData = edb15bac968f3de6b5ff8c8dcedcfc1f4b2c385bf91be5f3aa97cdf68f6cb2b9b2f2c02bc77c5961f7d3725ef8ee31d3258239dfdf2040c24a2d219f -KO = 94b4e0a3cab0ac0bb1173e529d00b0b2ae6ddd786c54746644446964ff6b80957da11d06222945b49fd880a00535dcfb52b4c94128332080d199897850c7cdfc - -COUNT=15 -L = 512 -KI = 2a458cb4af7226f622be31c9e2142d9cfd2426288b11e3da8e7f66bbe3677602 -FixedInputDataByteLen = 60 -FixedInputData = d03b2fee7faae6bff2f2303f6311355c6d08d65871b073b7e75c844dbe8d54e7616e10300d0d0b454307c7bd431bbd480a67c57d24344f94be709fae -KO = 20971cf32acf29a669a17c50abaaacb662787a6d95d1fd34b10518d212e4ffeb16a192c370bafea9bd634be1f555feb52b1c16359fd839ffd9802c236ce55c35 - -COUNT=16 -L = 512 -KI = 8429e7eeb00e66d5b45cabe3d876cdb8831b18d021a5101bfc651216e11d8e9b -FixedInputDataByteLen = 60 -FixedInputData = b539236721861460f42c9fd688ee442e6ea7db671432c0bc75c4e101737fb425db004c411d80e9c864bb1097f11b99d94a0ab8a1a2722f235ec98913 -KO = fabb9c21a02cb75df4819bd0c9d6b068e4c1a1be62bc8cd4dcb5e75ae1c2ac04cac08116125bfc6493e78c6732617d23d0d9e418d55062be4e96dfb19b0fcc1c - -COUNT=17 -L = 512 -KI = 175de52332047dc912b376d1022d54eaf42771e3a27ef187a7db8f65397ad7df -FixedInputDataByteLen = 60 -FixedInputData = 13716a7164be52a9dd7e95b68ad7506f5c95cf0b181b546096cf6ec55c94c7ee4228b515c96951f06311e2ce479d163711262bd91b83b1ef7785030b -KO = 2db44b8dbc48ee41862c2a07c675cad7c855508e6fab5b6026e3cd4bacffeeef9e2f177ee6a56544e66159b3e66bd08a1679a863c197c0a887089804812f2961 - -COUNT=18 -L = 512 -KI = 3c1e1301d8b1d3aff994899e70f642dd06e9ef07d45a83749d1e79e9c405ae25 -FixedInputDataByteLen = 60 -FixedInputData = 44bfaab3cf4d1d9e2c72271df30ad447e5219dc907f684e3bb73114f4bc1f576a11a04eacb84883218ccab4cbc0be5740fbf928f37fe50b740674055 -KO = aaed0cdf2fa90b6743ef9607999fc1704e30852e32f06a96a4d7c4667dbc59e91dd133e4895d8a0be5bc59f6190f76027eaa2c4af9e8740981a547ea228b1143 - -COUNT=19 -L = 512 -KI = 56241e78149939156f105474d39cfa3ffb7c7e07deab6dc0e55edf21bf9fd826 -FixedInputDataByteLen = 60 -FixedInputData = d73b498cb2a0b56e01af614724b7dca8a2dacbdde107b8398532be73035aac9e4d0286abb519e99f44579f9116fe1bf2a8deee08bc955792857f2119 -KO = af45288b78a92bf988f11e3d481699d6c2129cb0bc1d4d9d20311e6ef37ea6722480016bbaa8e6ce3d58c497456279e45e4460c49876858f1106119e536dec84 - -COUNT=20 -L = 160 -KI = 08f2fb5869295dd7461b5eb6c3f8e4f8d67959e03f409c659b8688c7bf3b3de3 -FixedInputDataByteLen = 60 -FixedInputData = fd638c59c76f5987044f2916bf21ede8b8a89249c094e4de6093a814173f6cc423577652b49e36104f4af1cec27977fc1ae5b1dc94daf170f9d06fbd -KO = 1c6e2d4c1ef3dfb35de80141d5a7ed135cf1379a - -COUNT=21 -L = 160 -KI = 85a963fbc0cd557c6e148e302a12a01bdae3c36f5875dc7e3589d9223166e30f -FixedInputDataByteLen = 60 -FixedInputData = 1e918df1d182497d48ea505174298e56f0d6c0569605f78dcd40f14639e384c8d122c34fdf2ae553fa3eba3ca48571c0bf65c47242b59fc251351b65 -KO = 77f2fc406bd13a9424a4e24fd45b60f64b9bac47 - -COUNT=22 -L = 160 -KI = 08354e55da976f94c9ac3b43756fce3146344a9e09a975dbb98f3db04425acca -FixedInputDataByteLen = 60 -FixedInputData = 4b5b7b5f2ae7bc00f509afbc6b8f3f276eee77bb9fa5b74e65513e83ce7322a38dc0c931b4d3a7b919c89ec6ae8b0ba29ed570cc6c554a5efaecdbac -KO = e45761d6cb83a17f1ca4d65508af0427568377a9 - -COUNT=23 -L = 160 -KI = cd5b74f088c18f2a396b44ca387e7560a95d6036e6ece407a59707193a459021 -FixedInputDataByteLen = 60 -FixedInputData = bca331cef1a97985a5dd4eb310c3ba97fbd36dcfc185cd22848d3b0dc750bd9a69d885c70c61d0af84a3e63795e2f5da153be12d9dd4967fc0d97794 -KO = fff6cd36fe9f21db303f3e8c70a1b57dc2726a31 - -COUNT=24 -L = 160 -KI = 83bbd622527236abe12b4e2195fb7c0380069b7e3d0f4b0736b36582f32f71f4 -FixedInputDataByteLen = 60 -FixedInputData = 9f68e228e34b5509b92f1a3e7b5f2cdff4a7032b95fc4a1208ebf28a851f974af30c75d2cc5af604a9cfed1d14ee4fdb4fa3f8f537c6b8ffd7286f2d -KO = d0e31294b644e37f1f2a931951cac23b38f7653b - -COUNT=25 -L = 160 -KI = aa56b0e975bcfdc163a3b375ccb107488e3ae82da04b76ca85f5b9b53a8fd928 -FixedInputDataByteLen = 60 -FixedInputData = 0ab5f1be4d8db7052ebc3675b274308f777d686a05e09568f4045bf0753f3bb526bcc538418a3217d3e50aaa742b0e2a2236d9a7f48dcd80d2ea4c1f -KO = 6575ad314eb6d362f7d0265cf918801ea45e818d - -COUNT=26 -L = 160 -KI = 5ed2ee209e7a58cd23916ea1712bff1b301ff0f4e1997b081c07bd09611ca7ac -FixedInputDataByteLen = 60 -FixedInputData = 9e5e4e68c4ebf31b93f219f8b22b2822a90d75e315337cb976557333f882eb2cf66e8be9da19ce17fb4b693084d6123c68537f11de9f981e249599a7 -KO = ef4e90e546e25b5e04b43b0e5ec77d88d10b3437 - -COUNT=27 -L = 160 -KI = ec4746c2b346fdedc7249601e641264f12b264d3f0f50489fff3cd3a84db5e49 -FixedInputDataByteLen = 60 -FixedInputData = 7a1dfa16581968c37464c36100a600b87e0f627bbf3190cc221f87d20641be3b5c13ee6e22cac3601a7b1db952dc918d2eca9573a3891d1c8157ba75 -KO = 62d0fa8ab459286d5d03c232aa9c6dcd51f1f4f3 - -COUNT=28 -L = 160 -KI = 353880e038faeec0bd94cb8878e359ae307b44c72d87032fa7126eedc32f3df1 -FixedInputDataByteLen = 60 -FixedInputData = a4690c2493553ca2ded53a01ef235bc45b319bcf2a4cd16d647f051c7ca031512db5d9e4d29986314c9eba20a96182c8726883db1afa237813fc9aa9 -KO = 47162904a136b10c43b022fee90978699a16b99a - -COUNT=29 -L = 160 -KI = 1eb02ddec01fee71b501ac122d9f9d5a20a7a63dfcc46a1f10595320c7fb873d -FixedInputDataByteLen = 60 -FixedInputData = a17d4bb1671ca5a985e0138d1c53bbcd7c896ceaab719304efe300d1701a880d2408eac022f0f019bb89387865a8771e08b62f680107b306003f47a2 -KO = e38173e8537d48596c67f12be487799291595b59 - -COUNT=30 -L = 560 -KI = 2da4e166450b8f78e82a9ebf1cca46eedbef0465a140e7cfb601c27929bbf0fd -FixedInputDataByteLen = 60 -FixedInputData = 589a18a552802d5669bc13daf03b2ad9fc7e80741cfc7b97f88ecb513322f18c9a2e3ea19c6029a52d2869b3e4dd54382462977758bf07f2ef7086d7 -KO = 7caa695e2516f47487f9f12bf2a84f114b78b6afff145703825a39946f589ded7149631420f2a0f13f01f7e1a5a055dfb44d3d2bc3366e2a9833d297371073caac0c2c5c0d3d - -COUNT=31 -L = 560 -KI = 5c54fc1364a78e97a716103d5ff5214b0c5556727e88b8b4aa31024f7981fd91 -FixedInputDataByteLen = 60 -FixedInputData = c9b7daa050ec6cd68ba123ae3956554cebb7897956ea5071e6ffd74df93a46ac5e4d2e4a8484bbe8b6b19fc14b854347c3f5bdbf195febc34d325812 -KO = 37336029c2b47f56a259e458677c2eecc4b0caef40db4f3e62aa979f45bd1f81261f7ca5c48042b64f5818e321f87d54aa96e192eaa173fb8381d1dc1dab69ab2fe35cd0a888 - -COUNT=32 -L = 560 -KI = 6d1e44f43f394754c04e959153680c115e3a677ae70c6a056940ff6253bc6c8e -FixedInputDataByteLen = 60 -FixedInputData = 61ae612b859cab1975ea8ea9e2875ee535e73c66c07cf458347f6920c5437dfee4376d71ed10da482e3660d353bc1f936562c2bfed1dc4daabd1ff2d -KO = 1fe60cbc480a0b84bf92379ec1fe314ffc60cc27960e5116ac04b5fed4df96fe490f48f64c4e968743d93f514436b4c07587ad6889169e562d39dcfaa45990041b22d981294c - -COUNT=33 -L = 560 -KI = 4947a71d88d5b82d50dc9192e047ab4d1b866a648c640435d165eca6e84dd7d1 -FixedInputDataByteLen = 60 -FixedInputData = 9d3c9628ceb27964e6f72a513c4d7eddbe54abdbfdae4c4775aff17029f7bb7af5a329b21ed88e039f3ed3b1a1774b28b2286b8a3f2f6b4c6580840c -KO = 2a648fed2deeaf2908b1c6e79da62809c8b2ea2b4c7c73a56408b23b67ba788b0385619099fc20e80b3903a471c3d9f95117ec2dffc1b09d9c127353deb3d48941bccce34c75 - -COUNT=34 -L = 560 -KI = 5c6a72888f53b8d56ab3f949677fdb045ad2e029c9b418c27c02555853405683 -FixedInputDataByteLen = 60 -FixedInputData = 0d03b282d7c5803fc9a7c0fbadc5aa4791555e5245914f20ed04c82a1f3c72692ead7ab4e802de3e9d943262f2f51f2f807bbebea3838b07e7bce6ab -KO = 850712820a79cecade5f137dadced397c0ff7c6cfe0118360cf70cc8d5787e57f2998fb2b1646ebc63f576059e37b72364391f1bcc9f783e4756510dba77467da879713215d2 - -COUNT=35 -L = 560 -KI = 8d9febfd36f2c716d06a64f691163370bf680f305ef959a9ce32ee38bb85730d -FixedInputDataByteLen = 60 -FixedInputData = 550dd19fab97e18378cd49a292772936fb9ea4a21066a992d57d3dca131eaf7e5d7aa174fae15c57d415684f7f7b24023a4c917c7ba8001cf13b8396 -KO = 1d86ed05358690a7c3d1fd5f02b1d85a6ba2151fb5845b997cfdf7e0792e077013a7388c814e200fb744cd8676c649ed72d1ea745a5fe9035ecf2b90fd810e975e9aa13bfa41 - -COUNT=36 -L = 560 -KI = ef1a7745ebf14a0570a8e1d7dd752085fa21e8b2da64beebc0387c3b7a77341c -FixedInputDataByteLen = 60 -FixedInputData = 239f7c90562ed4cb549409a808764d12f3cc88520651f9f87870f53f813503fcd557b7727d836ded760a329e57d145b06baffea7d0dd4f61b7d77fd4 -KO = 060e6f95acfe8bdd345641d7e8eb90db96277390abcb50a3bf0d6aea9b92b3884cb016b90883387e37fb2ad23eff2f604efb96636812a7a638af54357d3bda8d8859b3caef36 - -COUNT=37 -L = 560 -KI = 5fc3d46bce7d3dc1d52b811aaf3eadd3550ed93749ecea7982bf5245573cdf25 -FixedInputDataByteLen = 60 -FixedInputData = 44472d24d7c865916f39b47a49e1909849beb689145d36fea9c3d5f035effe17c2c7fb1eceb52f10ad094544ad7f70f3e3884522626616befa63de6b -KO = 34bb1defdd2219f27ef5c1f3948eff1692ebbe96e92a8eb71cd3732b136df26e3c65c5b1d75ed3820ce4804612ec10c3ba3f880f380efb2de56202a24d98c68ae31915099670 - -COUNT=38 -L = 560 -KI = 9380e3994664d5030064fce29b6e45bec60b1561eabdb6a6f4c79f7b51d29397 -FixedInputDataByteLen = 60 -FixedInputData = 331f85cf5886c222f857bc339f0c5fa9d6eb496fb569bb441ff9138519a9bcf823d8f745c112dd43931b2ef75b3830d585dad52e6144155b7b80c95c -KO = 3bad8250109d56d945356cedb4223279f46fe2c6e4f6371dc5afafd46fa415ab638949a442c6feea4123898ca0559f2a5fc5cf8073ef156208ceb3cffe3671cce22966813282 - -COUNT=39 -L = 560 -KI = 67b0267a7e7908829d3d701dcd2ea411f207bfd60a85bfdaa6a3443367fc3a3b -FixedInputDataByteLen = 60 -FixedInputData = e280baced5220ca227adeb3fa6248021898a48c6c183a2cf3d0ee128ff22679c1dc47cb55cefebaf9280478877535b0b3d83a8635cdc754386f59f44 -KO = 9b93c49296edf2e3c0302fb144604aebd37939bf74387ef1e4d6c07c15ca340e625fa8d241cd769676b5d3fc66abd2c4abacdfd44814de86b0e3ab2d85c21138439f1e6c60c8 - - - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 6d28547834da4eacf508e2ca94e875d0487fff08d45c528899dc17860a5b0ef1 -FixedInputDataByteLen = 60 -FixedInputData = a751d1e5d9e237b143aef058b2f30049126cd5e5ee18241daa1abc557957fb324e9370f85dcfef4c5a12d977ee5245cda0f87ad73bd19861fbc0b647 -KO = 7ecd1de0dd9e959caa114a216228eb08 - -COUNT=1 -L = 128 -KI = 9e63a28364ef1f995070958bca5d6c50768fe26b710036476e7a34290053024c -FixedInputDataByteLen = 60 -FixedInputData = 0355f41b9eefc52a0d3c75cb1f331590c4e222fec4ba20ffbb9d652b5f63f523e68f1532c6e4e8c7df903441f8961040f645dbf957e127422e9aeac1 -KO = c177c662235c3f053b8eb1bcd83fb58f - -COUNT=2 -L = 128 -KI = 0f071ea6d302aaa900790875d93b6f38b1c8555902f533a9ac6c418425cd39c7 -FixedInputDataByteLen = 60 -FixedInputData = 1714f6cbc25657e3b6ffb3dac3ffa1a171f2887795f79318294688ae9ddefbcedd324f057c06c9cedf9dd126ce6a271822f3a4f373e7e25dc91cfef2 -KO = 8b67d88f12632a5e43ea0306dc022c10 - -COUNT=3 -L = 128 -KI = e9c51a2419cf848ea9527ceafe31e3bb826d9d8de3f98ab5a910749dcff51fcf -FixedInputDataByteLen = 60 -FixedInputData = 615d3429432dec77f309ebdbc55ea7f71c1a6cd4081df8c8d7622d5476c3bb79a4f40f3fcb0654e8a05289cc5b044767325b4144b66137cb9875369b -KO = 80d46f915ef6258c32e038b5b16d5bf9 - -COUNT=4 -L = 128 -KI = a46cc7a6c273afe2b10e3a046aaadff3cf4e37b674449de054fb9845e96c73f6 -FixedInputDataByteLen = 60 -FixedInputData = 35e1118a857f91811851cb05a95a6a41283ccceb7072ef92e8bf01e9eb9da5bf32dfe06826440e22b322b3c13d039db796ff1289df7f395e84cc3181 -KO = 286ffb76a0d5af630069b695a236b39b - -COUNT=5 -L = 128 -KI = 44cdc3e39a58afe152c7706cd59cee44a5caced74c85de772b38c93cb67a0b9a -FixedInputDataByteLen = 60 -FixedInputData = 8d50631c9029444686edfc51d59cac1efae0c850658316c61c979a7c3949a1afa6154ee27675d5413e6f1f7418e5cd5afecee1a40ae40148c87492c4 -KO = 1c5725a1605849c390b2334ef401e4fd - -COUNT=6 -L = 128 -KI = 4ff890dba411dbf9b7f4f377fc6d7726b311b2d2a1eb08a2b37a05e72913da25 -FixedInputDataByteLen = 60 -FixedInputData = 62adb9b9fb2fbc0724549842e84d3f1a7fbeb5d4dde3fe2bee47ea7141b0284e4986e2b1a0d2485c68cdb305f68fa5a2c5e6f2cf9dc78e89a9ad22ec -KO = b6b436b0d999d16d845bb72dc2850158 - -COUNT=7 -L = 128 -KI = dc62e02a81e343d20d169b1340eeee0063781f8596d2d83419d83a9f2b72179e -FixedInputDataByteLen = 60 -FixedInputData = d0649e00755a47b7e8b5ebcb2b38011b19fe0ddb96502d8f918eadfc197b4046c7155aed248c0217e0343e1f29971fe94c362a1b00a82fd3325969d2 -KO = 3d5ff6064384485d8a1025ec4e916c22 - -COUNT=8 -L = 128 -KI = 7ad95113e10933a002880003536cd4d93e31627207d6001440b3f80c9a67a779 -FixedInputDataByteLen = 60 -FixedInputData = 9566db6aaf455c403ae4299da8ddbc3589e0b65c97852ebc620b006ec3f5dea189b458cb25926451de803c650303c4bfe6de8fc345e92d0dd418cf37 -KO = 35be3ba9f7d3f763431f52ab268b73fe - -COUNT=9 -L = 128 -KI = 625bcac5124531438a7f9e01c9384f7ab9210a28b1f495b028d06710f3c2cb37 -FixedInputDataByteLen = 60 -FixedInputData = dfa6da014c8bd886cffe11208288281dce0725c4ab2f7348d8b83952fbeaf63b70fa8fc7954f6ef6465670d597c932c772c8ca8b9123d4985fe79767 -KO = c259eff28bb5481c1999b105b2c23939 - -COUNT=10 -L = 512 -KI = cedb2e44ba61114c8655149e155d50a6488fd4daa1004a45731fa31cbd465fca -FixedInputDataByteLen = 60 -FixedInputData = 34be5c0e2641adfa53760a6a19d913813256314f77da1d1a01ebe836061800230bd97062baad8526bc72de6384c8265b35de4ad82188aa586b56a484 -KO = fd23a0c5c8dc0431f113b2c6382d7d349a9bf65b2a4367550e6e99be0a0de6ef9bfd129396eb4bc6c7036a1edaad1309a610822cf8127b0654702e2ed7e6c51c - -COUNT=11 -L = 512 -KI = e238afba01f5c9988e9c3cfbe367b36cf930639dc3739aaa5a1c504361bc180a -FixedInputDataByteLen = 60 -FixedInputData = 7002d8d3bea6545f551542171e6c42604bacdab750f6643dca5dc95ee831f28b499f9512b0ecb3ca3cb0e673d409bdd0e9f35d37c3472d78d7a02148 -KO = ed29ab8574cbd3d2ec3ad61b3ac875307e0346d5ae127f34ad74fbf094afb9661d4f8f47922878da5cb3f707e6a9b8f1ec7af40e37c55653c93295ff59893d6b - -COUNT=12 -L = 512 -KI = af11f9744eb250db76d82bf78804775e8ee99353780d3ceb5ed71867f1d97bc8 -FixedInputDataByteLen = 60 -FixedInputData = 51df6e679b0b2a9f96f05ae8aad0dc216cc71340a9f06be47a00c7c0d402e5a81fe4c4a40823223902ec6386f8127c6730bf21991bf385b77bb3ca36 -KO = 71a5a01740ba9e874b10153c9427e9b4d3458064d4a958a3695b2895839a1823822a169d72a923018963cff8ca4afc52894217db0539544c52d5661a24f1334e - -COUNT=13 -L = 512 -KI = 534585abf4710cbd112005b0d77205afd6aba65e885b9a25d5819f82b51f1f70 -FixedInputDataByteLen = 60 -FixedInputData = b39ce5d5ccc9d03414cd1161438a28cbf4d5ff6bdc025593b2461beefa9e675ac57f5a63557e375ae58a7caada9d91f6d454fefefce1c20a24db30b7 -KO = 7997779f4ca776ed7f4aa47d1cb4521eabf3a25b65d2bcbc89efbc78917cd49aef9d61fae4ff6633239ef5fb7b7e6e3d69a328eac865f4019d7f8df3c60d9c28 - -COUNT=14 -L = 512 -KI = f07fbe8f477e9c52a4361ee261d0df43e7ff7b21faa3f8f304fa8c209967c477 -FixedInputDataByteLen = 60 -FixedInputData = 37268163b11db775e74c383ce47bcc8161c8644f23a454c4b9f5dae2e854767ea7b0092711aacafeeb06bbf3b181245d58a13b4c50b8f5f98bf8fbf4 -KO = 7e26c883fb3caee5625f6a809804ad2f0fe5a59a18529e79822066ca258d1a556c46de2b996238ad61b39f134a02611522b470b0203b9c7a57c6bcc315c57385 - -COUNT=15 -L = 512 -KI = 31d157ba5a95514d89c355f63d3a1af7f4361453b23a3978a03f4e3a768b35c0 -FixedInputDataByteLen = 60 -FixedInputData = b10e708d3558536cae2637aff5ab562a62abbc4f3a4e467ea73718c2c0d3b987d663f840374d6bd871a7367968056600d02b8721ecee1f8421e5cdef -KO = 5956b6389b97579eb4a8b4914b838592bf6421e8a6582bd52365aec66f1d8bc0fcc918e6018f1015d5ce0d894f139bec7e679ffeab1cddb3a915c05a164676a9 - -COUNT=16 -L = 512 -KI = 25ad604cd20b7500452d09155ac512f9e9e0c8f4c74badb6a843868e04fee087 -FixedInputDataByteLen = 60 -FixedInputData = afc0bf4c70e05dc76c0982390bf3755b7abe1c996edcde2f6e4f25932d56f2c7b52099e954f449b95a7b7f18ba3950c5c9fc4a42db1929088db2b5dd -KO = ae8c0d56d3145739b83b95468ac6654f52129e091548aec8de151fff6905db2b2237af21e4e77b3c8c3fa28efcc0ae50166df1967ed3dfd9d191dae65a3a8b60 - -COUNT=17 -L = 512 -KI = 221ea4604c98852d2ee8db435d251f13f6ee420ef832c262b50bef19407fb2cc -FixedInputDataByteLen = 60 -FixedInputData = 1ee42af2cd2711bff457d870fb1cfc1f83f1dc3bfe82eed392ade9cb49376f8c7492e1c1c6a27837aabe37bd8e93ea839a68a8797a2be4374fb36f0e -KO = 4c1eed2a054bbbe16cc2a5fe6387343938062e3bc316ab3820a4c85e242360a8a91e890b8e0b9611aa70304eb92aa30ea1d16dc22257746b711fe4423342834c - -COUNT=18 -L = 512 -KI = e06dbacebcc19f102016afd73c1f61103c0d567020160c7c4aafb6396e4a5292 -FixedInputDataByteLen = 60 -FixedInputData = 47f2e19d05710245f1e0884c3ab09dde5e25363fd62d8e6090a6d81e171c3ad540e8ad42f5e79ce46fb2a89f8ccb1f6bdffc0595865568a2c0054df8 -KO = 83b29efc468d623701d9769e34e833ff724dcd32f805b754c3207ba3bd29a46d2e6242606b42496662c08321a778107f2cc91c20275c647fca4af519d91232b3 - -COUNT=19 -L = 512 -KI = 130d1b93aa68cac89d7ef1a61d5e95d28b63409ddabe26e9782219c4c3dff46b -FixedInputDataByteLen = 60 -FixedInputData = 1903b8a26b5eab68dcde090377e9780187039709e12b8a8930d6d0719d4c33536d4df911531d287e3e11f47a77efccef439085232bc9bd2b9e1ec36d -KO = caede9d9069b9d7ff3f89fbeba23878f4644cca9e3ba5f784d892c56628a725d455c8ca1df7707981e82ea1e8d1d7304de77de74007d968a2778e1d1db0607c8 - -COUNT=20 -L = 160 -KI = 9a037cdde8033fbb485aeaf7457129b30f04a21187075eb50be56d8e406c7938 -FixedInputDataByteLen = 60 -FixedInputData = 84a4ab085bcec4e4eb80c7e9f83cd0e26f5285768afa03f52e954c3af9376c997aad2fa345971d91bd0993b2bb788c1e603abc6732dd34c3b46bb456 -KO = 352c229f1114522199bc503fd8737ac7ffcc0578 - -COUNT=21 -L = 160 -KI = 967af79efe3c5fc8b639427a411364b28b9f403aaa2ccec6b5e559bc632683d7 -FixedInputDataByteLen = 60 -FixedInputData = ffcc596b973784d43f0eec7b093938ad8a64db5a0111028644b744e842f2d2a0673d824434692e84cab7838457ed5b54366cf246d0cae9681de902b7 -KO = 022c76095ed52a86426c816dbdc3df8638bfb193 - -COUNT=22 -L = 160 -KI = 78cbd6773dad7281c3681564bb4edcbd34666d6c142e129f6bd919d99dfb490c -FixedInputDataByteLen = 60 -FixedInputData = d1e67ef73f6875fa68f6331dd2d7b9ada697f96d791a0f2e76b40331c22c80cc39ee3554dc01924cd592c0a3b5e3fb02e3f9600ecdcf220f0a544f35 -KO = 195ad9f8fc3e2aa90538c483abd53da62e4efed6 - -COUNT=23 -L = 160 -KI = 1d56e7e13ee44fad1a925f99501e545db1123ad39a5fe9549054f1f16fdb04a6 -FixedInputDataByteLen = 60 -FixedInputData = 5f4792876c6361a22de62cd85876ca7ac64513d1705f7434348d395aee7e6b70a3cafa7bccfbc529d8505c7bb13c93b6575acd417fb5caf5f5e138f7 -KO = 9b0710f8cc6eb44f7b0fc9a2216aafb657c80cc4 - -COUNT=24 -L = 160 -KI = 17413733a41e8e43ee9981ddcd7b2ca7630c30304099fe051263a7d7f3e2f88f -FixedInputDataByteLen = 60 -FixedInputData = 97584a8501a2eb68a0fbed304efe2e4cbf2d27f7e648da997ba8499c48b67e864e3d63a6c57bd9e2fea489441b38a696110d9d581a75f7a977781028 -KO = 30ea1ffda3558d469bbe13a4fe46a90e2346fae7 - -COUNT=25 -L = 160 -KI = 0ec69efc6d4f9f8716e441239358ac3cf961194e6fc00c647262c5cd71aebb22 -FixedInputDataByteLen = 60 -FixedInputData = 9c4aeea983400eae78322981e6843a214e68dad75aac545af7465e4dadc716bbb7f4cda0a5303a97486d7f19d019c5ec58933c09d7dc2448548a0f0c -KO = 4cec516d68b606e5c7382935cdcf15edf58933f6 - -COUNT=26 -L = 160 -KI = c5592699a04bfd735c22dbd7b18af92725f0883d335475b511b6a2668da0fa37 -FixedInputDataByteLen = 60 -FixedInputData = b7c4bd07516d6e0f4720be74fe66b4c6f6978fd0bcb4244e7f4db69aafa10c5c5256d513bdb340b0b8895ffdb904fb3f8a7279dd9b8d6fc2697bb596 -KO = 2eb23740393966b3e37a0a878b6a87367a189b06 - -COUNT=27 -L = 160 -KI = b88a4ae45e698ee62c4d7ed70534c48a021ee3eed95d35912161fe0a3761cc0d -FixedInputDataByteLen = 60 -FixedInputData = 0b9e87579fa3157a8a73f279403ce569dca538871cc423222d55830731ed64144d5656e4e4b86a92dfdc88808ddfc3356819ce46553f0719517c7eb9 -KO = 9c727d38aca205fd78ea5d4301a65308af6963fe - -COUNT=28 -L = 160 -KI = 469f79b8d43f330aa3b6972e8a8b296fad5bccaa3568e75496d850b6076e9795 -FixedInputDataByteLen = 60 -FixedInputData = ab809da25bbe0bdbb67083fe50a3472d3459edbbd2d44c0746490e5141796a1e067e20ba30d8f1d38f3be21c8e30633cb4c1ad530144bc8a68afbbd6 -KO = 58886aaf6f2dcbc457b12cdbabc7598a965cda35 - -COUNT=29 -L = 160 -KI = f4ced683422a7e5b427c7898379eb9215e1743754f36e7c04c8e19c2a4c1692b -FixedInputDataByteLen = 60 -FixedInputData = fb5ce1a8bacb2c3102a8b55ac9b8f6f81f328d2f1679053beb1c3ca01744e2a665da1b6ed1b6b8702f6e1997326f70ceaba232b5263bcf0fe7432cdc -KO = ef5782fe4cf7402d828a30e9b97ef209bb3917cb - -COUNT=30 -L = 560 -KI = 35cc807ea295eb6600289bf62d7a33d51e6b22cb590005637eb753422844df99 -FixedInputDataByteLen = 60 -FixedInputData = c4783cc457c1dbde6f982cc1795d452022b9a1096cc18b1d1b135e0072f686d266f87df780c42c0c8f9d7e98b03dd4bfd65367ffae601170199d62b8 -KO = 5133b6d67f4ea903fdac33135e1af54d3795f7fb5f4bb8422d55f5d40fb81f23b1294186117867d5e64bdbc9c616d7e9c323d22a49d28ae89991debc3360d5d8ff58b2f550d5 - -COUNT=31 -L = 560 -KI = 97d9d69b158cdccb03fe705a4807a18d2879fb8949f7223423ece7033545de34 -FixedInputDataByteLen = 60 -FixedInputData = cf190f7984a895f7d759adfd390dd77e7726c18262731db8599b2ab45898930bc03f62a0e508d6a65cd89c7069ffa886da414e38e7f5c7b6331a537c -KO = 9af5e90a50db7ca40d7bd328639a492356498a3e96cfa52ae06db882a867f1ffbf5a57ecc707de32a8985b10af683f7296914121fd4967f71ca2f4a31b8e5a1ceb09bc50caef - -COUNT=32 -L = 560 -KI = 6c954031c4b2dd3eb18bd4a412e682142af1fba9e14b093fa4cf44c5f39636b3 -FixedInputDataByteLen = 60 -FixedInputData = 69c9e2a6b582e1cb6436c11330bca3e333a725703f8c34b104a19b6e561d57d1f9a58475c77da87ed1d4d6eb314ef872dd487b80008e41e419c09d7c -KO = eab99481ff60ba87299b9c80cf5d087d845d84c075bfca0596032a289df04663144bdb7a8e89df3f3b780113828afbd33703957d300a30e83e1faa537cb17385352ce86a6afd - -COUNT=33 -L = 560 -KI = 1a8887f59f28a8f0078038e9d1d1262758c8c6ce6f2e6354339a817a2e29bc8c -FixedInputDataByteLen = 60 -FixedInputData = 9b6e4c25b50d35db4b02a80860a6db80c64962d6ed6d4d8f875d63a27115c235073b0c4a8e7315f503f4cb84629cd1104595e47f2828f71fe3f67896 -KO = df81d30bfb3b4548a10d540ce26c6335220cbc78e79da2c12cca0c7d1b397baf7bd7fb63b3b737cddbc1adc208f7585c68498cb29d2828437e8f038cf7a9441c6673fe4ed3da - -COUNT=34 -L = 560 -KI = 077b8e243dc11e605cec578ae2e2c199e9c2bdf68baa8b693c46951f618abdb2 -FixedInputDataByteLen = 60 -FixedInputData = 328e5af0ffb696f84a40340731a62555998d849366270594ce158559d2bd1a12004326b5bfb9572c8e32f0eb1ad30d6834ee89920bed06927e493446 -KO = 27f12518272df5ebc312c2e6aa4dbf65fbf2a9b662dc2f65a6ef94a8bd4c1993d68d1cae7a84b61f3989cccd061fe30075fa1a30b11cf8fb9b26ce48eb866f11935ac69ed28c - -COUNT=35 -L = 560 -KI = 8e4541326dc623d27df8b044961666adb9d3a73d88eb175b428c023298fbb2cf -FixedInputDataByteLen = 60 -FixedInputData = c67f7338949ce4cea27f651dc546bac03e4769efedacdfdadaef2fedbc26fca13bcfc7803284cba0ea2ae71b390b828737d560cd07462fc1eac1ead5 -KO = e0e939f8828058f7186eadabad0e806aa895d82ad4eacf734a682def4e61fb21ad9501abbe8b4da408d5b89d16e438978a234f44c60ba243151f1b1cacab9b19cbde81f0b70e - -COUNT=36 -L = 560 -KI = 3778d372e9e4342ad86e7675c2156852e32b93df778d48404309f81b0d1ccedc -FixedInputDataByteLen = 60 -FixedInputData = 8613f96da3d50e1da5351ee84a5cd98192d0bd1a42af568bd43e182db1dc798d2225c7d7a053703e52541f042275c7c147c1df5109433733259c0baa -KO = 89a9a1accc767a3e10ec12efd5f402c96914f06d7befb0d9f059d4d3ed4232a9fcbb4f2be96a7668aa94b10594f69a9726de33f19ae3278f142ec41001ed76733cb3a3ab58d6 - -COUNT=37 -L = 560 -KI = b8b57905b68f616bbfede1ab6504075bce6cb9dadd227e101b41b8c6e64e393c -FixedInputDataByteLen = 60 -FixedInputData = 5b1764f6d2228b93c88278914cf816074fc9f47e2aa239be87f65cf4b702ef6ba16cb36f75dc1a85248f054d4628a27bdd2b73bb00487b6a680be886 -KO = 0c6b06221fe86c00628315d814edff87947bfdf8871b6dfbd7081e09d8c3690d6cacbde09e487a96b33460aa0c7f99b6f2a4cff1b8b6a26781a3c9e58368889b30db5b9b4ca6 - -COUNT=38 -L = 560 -KI = b64b54ee521b6401afb88f2acf52dde210886ed42d42443a6e2b2028260e2867 -FixedInputDataByteLen = 60 -FixedInputData = 05e980961abc41a0ef3bafa03ceeb082f12fe856d537ca782c90759d9e06d889e709e9cd8f19bad91e406528a5fddd7d718ea7223e0c4e07afad1542 -KO = f480e878d79a6c0852e4b848767d1e97ea95156ccbdb337b255938f82bb43dbf1a5cebb6783445d171bc01be6a5cdf8b9261c96f130877c1635331f6a747f18299dbb0565b28 - -COUNT=39 -L = 560 -KI = 52bc7883b2da88747fc6dcfd024a59b39c448796e6a599d0a2fbdfdd58f9a58e -FixedInputDataByteLen = 60 -FixedInputData = caad15ab33b90bd9b560e9d9f200d83b1ae31558723e315e0f479ed92fa531f8d5759c832894067192f06be892e422ef6eb4cb6be8aa0ab5625f3533 -KO = 538425195dc6935e840e01194469538326595fba49e1741a935f4754ca6c7a0b4232120efee28151f5fc04c23691d1af32e0f05ff2ac2715cc2c46bc3703540874e959643876 - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 14fe32ac2a890b59526c06425ba87dda6288656aab51df6bf4b3d4357c5f7c5d504227a97aeefd46b1241dc01e8c404e -FixedInputDataByteLen = 60 -FixedInputData = 0c2354839a96cad7cd8c5c27bcd6402553a2b2cccbd543af6b24a07d20cc9e2420f62cccf23af17dc9b9c341950fc0f682889b4aeb53ebe244642050 -KO = fcfa937842ee343e1dac7438659c973c - -COUNT=1 -L = 128 -KI = 0078db6472d0c308395964dc48116e9181b740ad066170b2acb71b14eaa174a70db04f82ce215f7beb1303f90466e462 -FixedInputDataByteLen = 60 -FixedInputData = 5f80a712c22aec0a75e58aeb2bd871d980239bcb1dfd6ea76f0ebde08bf0c656367c10e7df854e19021f2de3de4d6cf744cf81edadc242c2917cf15b -KO = 2654bcef9ceef20ef0940cbef35b937f - -COUNT=2 -L = 128 -KI = 12c3183d1e0b5677787b87f2f76600639dd69720d1424264908e94c74dd281de71a49f606fd50b8eedc4f176c9212a05 -FixedInputDataByteLen = 60 -FixedInputData = 39f5a2f209f083ab8441cf34146a48d679b08b5699fbdabe446850aba941139bade4ceb4ca854bcb39fed2479bcd5cd738c1a92ba67c2295b7a01ccd -KO = 98f648ff9199543c05d46e47d2609ccf - -COUNT=3 -L = 128 -KI = e92f2a262f7529552284199a75ba9d30df63dfd47cd1670c7999c95e22c8f9f1916c7bcd3307c245273e777a0c7cbd27 -FixedInputDataByteLen = 60 -FixedInputData = 29e0dcdc78b59627a8fc0edb8f3db487bea80792822b406d3930df76632af4cc4fdc18d2853daddd736c82703e625504eda12270644c47cf1dec45fe -KO = d8a8485fe74b80f9e400754b6e11941f - -COUNT=4 -L = 128 -KI = 5971b8c7df215b63a16ad41543e8255db0b0d203ba8c9acde5b87bdb1a82e85d5839a319344fa4c8729f735967c80bfc -FixedInputDataByteLen = 60 -FixedInputData = 7f6d67078e62ee2ea26189de067c7d513ac3f9f8274cea8846b7606eb6007baa8b6456dd86046c0dfca81f58d960a04654962e63b34b6f393f5ced2a -KO = dc4809f2739d8684c5bf4e38af3138e6 - -COUNT=5 -L = 128 -KI = 8bf1ddf67ee04e76e3e22d35de4808156a95d62ba7fc689071ab04cf64860b6b4f5e118c9597154653f78452d8cf8ffb -FixedInputDataByteLen = 60 -FixedInputData = 276703c0657a52f913b62bc3061ca45c78eab4c5e202a7652679fe9d54fca455162fcae5dffb3efcd3424a437b889d10f207496e370bdda1848aed59 -KO = f5eea9f15968aaadf273a0921030cee0 - -COUNT=6 -L = 128 -KI = 74e21d7ec19ccc487190a46ee615562c21ad5306f4388a7a0a87a183626e77bc1d6728d27027cd99ed326e04545c6327 -FixedInputDataByteLen = 60 -FixedInputData = 3ca0b65d585ab3b028ff96ed672a721b422475d035645e64b2a1aac909e3141825de7d7e023fe1c3840fd1d423d64d97c3d31dab7baad15b7b9a732f -KO = ab8d127ee462a628f2d0177b0f61b462 - -COUNT=7 -L = 128 -KI = 05de625409f7172049411524db0f2488cd9a3187b4f6d69e8142719d07004fe6667da4a19f8a2742f04b5bcb1922130b -FixedInputDataByteLen = 60 -FixedInputData = 4deb1d033ee078d8cb2fc81d581dd85ff1d89d5b39f3ee63634d9b08a50b8481c57b5cf47ee804b7ee801eefce2a8e450854bc52d574fa6ab7cc1a0b -KO = 26775444f6c67c4cb0876eaf6b651247 - -COUNT=8 -L = 128 -KI = d7f2a3307790f98dc8c6b0ffc19caf9245415df3cede1218b6f398f45ac7771c46fb537e127f5d948f95c6b848c17a5d -FixedInputDataByteLen = 60 -FixedInputData = 8180ad5c4351a3b359b63bea900b8f40c07f7fcc8c231b20d7476a925f29f8123f5dfc57739d2e92365ff9091f9aeb22164d672ba7d0d68c2c363a48 -KO = afe545e8c319b2a67dff914e19b16276 - -COUNT=9 -L = 128 -KI = 8a0f513f3c7e0039be1920a1f8106dc2a685e98bcff1330a526d324ae50e27771b3f0904d1abbde82fbafbab672f89af -FixedInputDataByteLen = 60 -FixedInputData = 1cb2cfda7be3f85cd317ffb16b37eadd53d39a7435ad08713711a35eb3ac0374dd4026b27e26f7db30b466ca49197339ca595bf02729008dd7a1cedd -KO = 3702c8287cb72d8017109d134962d897 - -COUNT=10 -L = 512 -KI = 484910310eeee801aa8dc4cebabbeb59d6a01ad2dc03e7f8bd72c8dafa6b5762440f3bfd6b5d5e0be4be1a6aa0b1ba27 -FixedInputDataByteLen = 60 -FixedInputData = eed225b5169fb1e4ab2c55a11d8749eefdf51b4ea59305aa843b1913c6319e1fca321f19692ef4f44ddd5ef021a1cef07d70c6dddd30aa9ff12ff4e2 -KO = 90e873dd6f07698ddd129fd3b8a0790c294167348ce0e7eb957255ae2ccac7ba71408fbea02a3ea6083e61bc0a043f268da05e840c3d0e104d28a469fcfc4ba8 - -COUNT=11 -L = 512 -KI = 131b6638b9a48f9ca9532f7934b3fda61c7563977f459350681b19435c9d8935eac0b87cbfc9c8735d98b475b0af8021 -FixedInputDataByteLen = 60 -FixedInputData = 4929e14a3b0da7c635d21d465688a4e4de471cb1777e0d49ed6f0a026d46edfc55f6c14cc09f9dcc69a1c5b2b998b1871180f3359bf3592061119a7b -KO = 5c1bab4566ad1a3698259fe68fc1696665ff4c694df2c92bf7b6b774b2e07a65524c7548e5f2de65fa481132536188164411d932d77906f390a6b50e76cd8c80 - -COUNT=12 -L = 512 -KI = 6f9ccfc40af58698c31a4b021e85e50928acfc6e23ed020acc2290b739cfd8ab2762b9a91413d8b2efd7ae8d8e1c06e0 -FixedInputDataByteLen = 60 -FixedInputData = 2878c8928ed8a3bd8fbef05dd407e043ecc7e080f2e713711e11b3fc8fccd29d1becbb5fd77878e248d77f9daf11f0c420641b9ac4e998deda98f06b -KO = dcdd019325a0ac822785c69fde46db34b736f85e5dee21043cb72d7f23e6d258a09c932088067ff23b9b5b183ecb1dd5980ad85afbcdbc618f8ef63bcbf30916 - -COUNT=13 -L = 512 -KI = 31aac1642da24dbb55cc6352fb02241a7be5ba341936f78475460ab74172ce41a394eae184810ad7d41178fa1f1e4a5e -FixedInputDataByteLen = 60 -FixedInputData = 0338d7627cc3d02086c5582bd92ae70b4c9492f53c637cf275c27e43d4e59041248780e4fc9ee69f4391ff205c794fb47046e29b298388ac5fc76ff7 -KO = 39ff73d2851695ca2759c0575ccc1d4af4e0b9ea06bb13de2d8b6b73497375eede7643110c284c1f9400564d50083ef9fd56680f516f620d25f62abdfcc2c305 - -COUNT=14 -L = 512 -KI = cbce4d3332c638575b774aea7885e382eb08352faaf5f17b1499bb6c5cfe1818e3c958027efebc79efa92a4b1190fb56 -FixedInputDataByteLen = 60 -FixedInputData = d7e676e9da397e690a77d3676409a816bada6496ad8f5e0d2b6c4af17f45cc6079da4e91104165e4b207365b68c417acb70563b699ebe7d5e18443ba -KO = 971c443cf5a62a3e40533cb403d071848213c44c39edef748e9e9254cf3fba4629c4531825b811094a4e92b8601c59b9cf43995800234790f453668bc6e7353f - -COUNT=15 -L = 512 -KI = 0804ad6e9755c796f42f07a00a15d9805bfcbfdb6d0da733abef0c55c039a8c196928bdab287e1d7005ab798a585346a -FixedInputDataByteLen = 60 -FixedInputData = 605e727593f04235f982fb1f8f721faff1adcb2bebb4c5d0b8930365f611e5ac7046204ff526a0725fe55117d54011551ef3630a07976c5dc3d358f2 -KO = 8e2fd0f773afb3001c3eda52bca1c93f20f2f6672e59a4348fe90bb6ba8ae7d22ee6d1fdce88a980aab7d8803ac90abe5247875a27ac12beff113367c1d9356e - -COUNT=16 -L = 512 -KI = d3a7d31ef6903975d3df6b8c71a8b5da66363fe1783b1db6782e32f473f6dc452625a3d9aeb6d7a3f714c6e00a8ff736 -FixedInputDataByteLen = 60 -FixedInputData = 8850e0b6adf5ab69787cabccfee9b4cadcb99c25dd187ed662ac11a64f3569a8277764151c9e98a13392c5963489cc5927cbdb89270958397304c8c3 -KO = 3a8a9f4719096e75dc6ed9bb38b5e9168f5b58459a2a33c527796ef4fc6425cf74509fd1ac091aedd26b1f3c62f2c83dcd70e5ae0f10fd56d975eaf426a0e03b - -COUNT=17 -L = 512 -KI = 72470e56ffc801e561b74945e77bacdbe9b5b2d8841b139baecb337b8df0eb04d2bf5cd69c707cba3e30b36c1a1203c7 -FixedInputDataByteLen = 60 -FixedInputData = 937d9d1aa90a02ab467812a4f5c46541cbace8672f7f1042928768abd8c240e2b2b98b248b875726abdee722fc88e30ee3ab0445a58dd6b2a52b6e23 -KO = b7583c0ecefb6a5768f16477df36f40cb101b90bf85b690a2cb8538d944eaa0813f757423a08fcf3d7430947cdcab6fc874b92349fb57221dd2fcd85c173271c - -COUNT=18 -L = 512 -KI = ca251a584e0a2159b933caffb9d2bf23eaa4b1354d8aa20b5d259e9ff795cfee6168061e7c14c99616ee16b40df86302 -FixedInputDataByteLen = 60 -FixedInputData = 0a2f2a26acf360796a1bb68df5937929cf996bf7f5d4386a8508d645886ad96e5906136d9a74eca09c50403b914089c942b5ac46ebed24bed091754a -KO = bf2c9683af395e48df50431b3111669ab9126241b64d757bd86e2351ea68f7c3e863fad733ff54dbc76d7b9e6bbc75dcbef398f6571250d5914ce90173967fde - -COUNT=19 -L = 512 -KI = 913a7eb60c08ce13713a1263c038956562949a58541a52ee8532f1fc90e5720ba7dec81825ed2f8cbe9cbbd2e2ff3734 -FixedInputDataByteLen = 60 -FixedInputData = 5dfa36bc9169421a26d3e9fca3eb312132e315337f26af65e64bb1ec20b6df14f56da10044c5d20876489618d94a10cf2530242b9ecd0f3dd32ff6b8 -KO = 0c85927e9c13c909406a1a81cb5674ad3bd72ec342435ae2944bd3e40a38429408ebb2620e031db4db765eda59d30b02abc9dd611d57dd46ac022b268e2f7051 - -COUNT=20 -L = 160 -KI = a7f2d92c30c1aabe702f1da6b73c3db746490753603428da5fd8ad55f23ea8990d232636f02bfb10b503b648bffbf71e -FixedInputDataByteLen = 60 -FixedInputData = e01ee46b7ed8feaa4521fc9f09ebb36dbf12c495a8c8943bee0b8e974c6fe249b72a180e6537ba1cbe5b9b4f66f20bbd9785736abd19ee38122a230b -KO = abb5f9566ee43824aec6885bc141e067f678bf39 - -COUNT=21 -L = 160 -KI = 329c10ac0da3d2556ff3cda01e5c418b1cc6af78b90968773af6821b87ee4dcd5ca2b0eeb590866a12aea070fd42296d -FixedInputDataByteLen = 60 -FixedInputData = afd2d813ffb0989740057f93783dc2a3f6870f2746282d773f7f06cd6e6e088be9c29d1bc6b710070d28f701ced488d0a93043734aa3fb03bb9ad9d7 -KO = f518780ddfa68db953138a31bdcf92bcd055f914 - -COUNT=22 -L = 160 -KI = 9832c74b48b97fd409743b968e26fba6db54aca40c32ae2e1d0f8cd4b628c6b19041e82626833bca95304f2070b6cbcd -FixedInputDataByteLen = 60 -FixedInputData = fc8cadbd33377756e8b3719ae54e12856ad4ed2946b9551048696d3fb652797b90a35417b372df588c3b4fb461456b2406e3c738e8568d2c3eed167d -KO = 0256a971a9662644a6fa184a6f93fe7f19469142 - -COUNT=23 -L = 160 -KI = 2affbb3ff337f77ab123b281cc4b0321b586f6eb081561c105d31a6f4499280a59aadd33bf66a87b9e5f90d33aa9e1b0 -FixedInputDataByteLen = 60 -FixedInputData = 462328ce24bf933e65b1285b74e0c7d1d548dd180963839c86ffa391a4e1fedd6619c24770566373a4975909a1338ce47839d5a204be528b6ec3596e -KO = 0524d23d5ca1121238191121eb2e3c40e9ddac6a - -COUNT=24 -L = 160 -KI = 09da3f632f952b0c668896241bacc956a110f0405262b0c2427afd9709212b2dc789d4f512214ba17f3ad02f1a23480e -FixedInputDataByteLen = 60 -FixedInputData = 882ce1e500927191cc655b019141ed111070123d787d583986200b8ca036fd24e65e29bace3b749249f677b383c42afc72cf6c486934c18a3b316885 -KO = 1ffb564f7d8287fd2b63b383270f0dd5f6468793 - -COUNT=25 -L = 160 -KI = 88794d58fd12adf64bfc42c520831992852e16e40e8bd7a74630d6c2b5f0933a6917b7de14cdb8b80836484ab42982e1 -FixedInputDataByteLen = 60 -FixedInputData = c47365925ced237fd1486a783c188cfc5198ba5a622ab43c4930d69280a02e4ebbbbda75fed097275253d7bf2d1345a17b8919eecc5df757a4aeafe8 -KO = 2eab3093b816e3418e15f4eee111e73f1d368018 - -COUNT=26 -L = 160 -KI = ea20b4d190c4776f0084a5c4bd56184a96d1c775183597be58fd7d45c80fd4ce8e785b8fde4eeb94505ae024ce29e64f -FixedInputDataByteLen = 60 -FixedInputData = 2a3d50ccb878161a310afb3f83ec5449802dcbf8623048cdb5216c63c8ff67b7a7dc643f8965207672d7a4c2219cf4e0146f6ff083bb4ec07cc2d631 -KO = d6513c606dea460e04f3d00325ebdd3665592e95 - -COUNT=27 -L = 160 -KI = d499a7c6df2d5c2026f573f9c8c7d7d28dbd106f17185db4397695737bb6ba1edf45253ef43d4ca53bbf00a76961a62e -FixedInputDataByteLen = 60 -FixedInputData = 49ff42d6460c58de0df1d3371499256d83e1999e51ea724be01c5c12698a2cd0998cdebc2fabae38b179abef931e66e4b33e9a97e792a7383c7ec79e -KO = a26545397351749d84f7cd28a3e1277d7532c285 - -COUNT=28 -L = 160 -KI = 81331bb19f0257774f3d7474d779d68f3ff90cb4728a5a619cf66f87385c72de458a9905569fca489dc4eb443404a4f2 -FixedInputDataByteLen = 60 -FixedInputData = 9b6accb63f7afb5c526442724e143a5840905ccc92c8567c4c478a8d726ce213436502a302d728b1f334fe492f9308335733dae43e9cbfb6ceb05292 -KO = 1e5d94b94bf9991446b5763bd99ac228459b79c5 - -COUNT=29 -L = 160 -KI = e03601ce7c52e490cb7909befbdd6011ee84c3368b64d291884a8cd20568ece248af34fd3079534aa562fe234ac0c826 -FixedInputDataByteLen = 60 -FixedInputData = dbbb23d3dcd4e5cfdfdb64efb4e31d324391774d5d1d14297e8560847c87782f5138219690fa9949d4bc9e012cadb9014dfbe4bf2e5896a9a9d73265 -KO = b6a1f31af059112c48303e4d0d1cac0a26eed21a - -COUNT=30 -L = 560 -KI = e89b90eb2606c4bfd1052c8344d199ceb60eb4f93bf16ded66b2cbe6c0ed1409a50837382b27cb85b33fc6a66b3fe477 -FixedInputDataByteLen = 60 -FixedInputData = 6b534eda0fd162ebcfa3162a43cd4f03a3413ec538820ca91fcaab2e3f07da03ff65a8517fd5d6d6fbe860685da6288269aaf5a939c94d4fad9bd7b5 -KO = 3c6a60c0530a446c523ffa24e0bc05f008073855a077ea45b4072464abf5a3e8aace4f832eda3b15024448cfefdbda9d6d67a09538489f74e3e0588d1a77642edb175b531975 - -COUNT=31 -L = 560 -KI = e32af80d3f5b6147937cb94180df4cfc441c9eb63e976266d1267160fa4ca43ac057607bae5d332eab289a48f6e66c51 -FixedInputDataByteLen = 60 -FixedInputData = f3ed0477eeb82452784650f84c9077f33c4944df54a30a42571c6bf91159bd0f6bcef317f81efdc247224a5297defb78456e3b83a789aea097670608 -KO = dce866a8b4fbb33e722ff574a175bc49c4308fd93d298d1cda3e7d672baa8f730913ce90497558af350d047cbf448efd5d52ce1dd4528ad84637032da110b37630480cd74818 - -COUNT=32 -L = 560 -KI = 6fef43cd17b377b43f47d4f2aff45943fb6231b95cadb7a3ba159cd2898c817ff8c3678e4b2d4e757153b7203caba8ae -FixedInputDataByteLen = 60 -FixedInputData = 35b2d47b922b42776ff2297b56e85ae642e75a47ce7ae376b7ecdfc16e56cb57d51ae85e551c7f0eecd0d3d11952aa35353ed2c3d14517c372219916 -KO = d4dce12ba91d21be0e98f7b31b4d9e6ce1c856eed727da9fa032f5bae4946ed5a76cadbca754af265b19aac87153e46fc40115715050f3a427bf75993f55b95ce839403b26b6 - -COUNT=33 -L = 560 -KI = 14132d94232bac6cdf7b92294cee893eb48bea70256ef3353bd47548d74fb4e220455cacdbef381c370fe80d34920c6c -FixedInputDataByteLen = 60 -FixedInputData = 6ec31b051987915a5e390dc5915066f508e10f94cc881f4fc5b6773c47faf723bd4cb12d7f685e29f48e6e0f19f57d510489054987af92baa35dc1cb -KO = 33efe2a45d008c2c38baeb9f530d71b0b2e18221ab5208838c1e56d5e26401f77702415f8133c5463f87a2e2192c383bd305ccc1d7dded1a776f8f2b66a57ff1281e12958a93 - -COUNT=34 -L = 560 -KI = b1ef82a104b1d50c9fa9a84b58c1c112a7b34c777cb8fe387c9bc32c431e38b655d0cdad03a2ef9b3739160a9c077669 -FixedInputDataByteLen = 60 -FixedInputData = 99422ca079daffc4e01d3d055211df8e5abdfac51f7c1fccc8de5f8e3c64e581eee36929921b96960bd42497822e3cf963664e80d2073fc1c4515dc7 -KO = 8b7a7e744067f2ecc528a5d7d8525ab90aa7aec6dff2dd3134faadd4c868b0896075b9df884f70f0bc5daff66028dcba8041f0c422a7bb5ebbb9da045bfac0380440178e58c2 - -COUNT=35 -L = 560 -KI = fc3d6600798c396becf7787b960d1fbee24bf881c45d83f08deeecccf0c0aef826ecad2d0cb8a8d1534f6b8808ffbf09 -FixedInputDataByteLen = 60 -FixedInputData = 05b67a4a9fc3f594d3debc749457a8e493776a9011c3feeb83176e174a92b263854a5448a12b3d92f3bc5e98176eae2ce029714f480244c1a3eb05ee -KO = c5b9da802b699077abd32da7ca40c7a2935f031cf6fb71508a632afc2cb7fea1dbf4c8339fad8aba7bd388fcf4314b5ffe65e4c6fe15bb987c91efb281b184aea4446088477f - -COUNT=36 -L = 560 -KI = fe70e9cf6cbabcf0f17b9e86c624834420d21a867e8c160e148b8f7e13a2d00a27ad5a06749d432e72538a6708881430 -FixedInputDataByteLen = 60 -FixedInputData = b3b2e6553d3b2386a916044bbb39b55eaabe4776bac4db92549343638af1d6e3c700f21046c7515a8bae7ebb6212ef2e19b98407a9371d6c396ce7f3 -KO = 087e31ce06f50a9271c1930f08ef3310d358db4a99c8391a06e05782c376f3a2e5f10385d74a24fdbec8b20a49c221d155c44f2d9ef5e854fbae582478b19c9a9fab2865177b - -COUNT=37 -L = 560 -KI = bbf387fa3709eb651e13ac9282a37ff2a2177d7840e887664139931ad5b996b23c1b48c193098e806f4acb14e91422db -FixedInputDataByteLen = 60 -FixedInputData = eda98c52642da5522a28296d9015002306c1ee523937e9a3a3957fb77539c90808f80f5a53a4e077b6ebdc9dbaa752a1ea5db086f5e4856fdc069e7b -KO = 17268c0fd4c05a84d5692685d5aa10fa8668ed9a1316ce8a24d004c49637e2c2414934bb576d19624de8b36822475e51e4483683c8637678067ff53dfdf4ad6e61d1fdd12a75 - -COUNT=38 -L = 560 -KI = 141ec3acdaa0a6afb0725a86ef55011b75d7ccb9627cc651e06e08368d75cb76e5cc010cf8f1f83181a6c5f480cec828 -FixedInputDataByteLen = 60 -FixedInputData = 9a3091591b376398facacd15d5f4a54c5eec147ec1c4646b2d3390b3c619fa464d780323f5cc22fc0bee1914d1a3c230125605be115c54ad8a9f910c -KO = a582a235ade107c14a3e9643e1f23d8feae434969ef9760edf297b805f446159c22cb4f31e70c4e219b9a626f0bc7ec73aca1f2a50e812edab03e8ab3438c461eadf3cb2f553 - -COUNT=39 -L = 560 -KI = 9ca61fbf5dce0d4e9d41df10264cd666f31dc7be2f65b3fda62eddf39235720b6d31edcaf9ecc233130876b38c4ec124 -FixedInputDataByteLen = 60 -FixedInputData = a37ce7480e800b3f0e063339efb091b905231a5dcf36d418c30f9b1993b4c480f1e8ef992367486cdf20b8c9e8fd923d14c04775a0f479ab8135042c -KO = ad31c423819577c6ae928fb311fb60ea56f59ac1f95341a781bb9a6a201fab1c260ade9baea0b57f2f068bb4f2d22b8ea52c29b49183831c6361f1f5ca206238dbb8fc5c6b1b - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = b9933db4019094751d73d78379e12861c270028d7d20f49dee3c190ab7af2d4e308abae89369280923147a6de6b084c7 -FixedInputDataByteLen = 60 -FixedInputData = 9317fef96e9becc8ca078f1f7ef60ee4b179139214cc8cf1119b9dc0f5360e13a72ec9f3f01ea928ca8cad973635b61e06ff1f41ad201f73e30bc587 -KO = 39b65f2606dbdcf80f508034651e7f8f - -COUNT=1 -L = 128 -KI = eaad1eb8e24b2c486e3f019565e792212cc443dde02d0e735bd028b719488e48be6eaacb8c5a0afaf3e1da894f8d7d31 -FixedInputDataByteLen = 60 -FixedInputData = cf941ae1360d864e853a475acbb61f30cc4822a52ad4ef2684d09f44b3034d87e25106590ed603c22fe5a45890c3e8ac55894b91c62ed76f4c769d6b -KO = e8cb2819205098f2b58a99cdf5fdf7ea - -COUNT=2 -L = 128 -KI = 9b80785810cd54b2e95188d05e7311200220f997b6f44637da985836fe8fa87364f2a273a58f6d4eef78403618582d6a -FixedInputDataByteLen = 60 -FixedInputData = 98e08c0092831775391fbe0ade826dd54bc9a7359045fcfd92c6f02bb74a2908be9c83cd683348b416c64268d2bba305f735c05e6f882357c88c3dc6 -KO = 4a9c6b2a71e5ca81afe0ba27f8f9bbfc - -COUNT=3 -L = 128 -KI = 14ef8cef58f95a41113d67f22aaba6026b84844883c7d74741491e26b7f96e29022a71ac42454f029006caf3ee13768a -FixedInputDataByteLen = 60 -FixedInputData = 635bedb95edb13a07bd9676a0b5000e8ac7fe805d32ef26db99ba1632da47093895142905fd73f2b979ff05a8a0d8d91f396226acd9e8d1e96711428 -KO = 193276ec80a9a1409f8159f390e553f6 - -COUNT=4 -L = 128 -KI = 979901b4a1ee7a5052878dea94a6ab816f80b997b26811b28847feb44841c44a62330d70312232d2a4f0672175d1fdeb -FixedInputDataByteLen = 60 -FixedInputData = f6691066c3c2b459e6f0d8f24126e18f0ee49c6c5b2f3d73e159766356461871a6232a80291e369e864f70e95b1a6d4f77d042da3054e66c02483a13 -KO = 6e5de3bdc961460ef0b0c0f20b2a475b - -COUNT=5 -L = 128 -KI = da27da2af723f50b35fdcdf623568cae98a26d59dad168a03f07e2bf04abff0363554fe64aa9bd602b04260ba09594bb -FixedInputDataByteLen = 60 -FixedInputData = 2acc649fedab7f7db5b0062c356ebe702d8f165cfdbc37ae1fb7da940885f97d1d3c1b9d255498ccc0eb3de081a6b901f5c2e7d570593cad1ae8aac2 -KO = 2442714135f5913c609890dbe6e50674 - -COUNT=6 -L = 128 -KI = a54b1bed47929b57741c3a8d2c88dd7b5e321b9ac8589f36fdb027ae003f0d93e1331b9383181335e5b58398cdb722fa -FixedInputDataByteLen = 60 -FixedInputData = 3362d2f0eff59126e841dca00c29780a0446c43a9d2ad8754bf93aaff28abe2191671f62ae3b07fdeeb4f7c6f7caf5ede83f177423b0219b418a74e4 -KO = 57dc91eff438abad902446fbeffff663 - -COUNT=7 -L = 128 -KI = ec4a8766388c1e10fefaee0cdcf00c27442eb92365ace89da09a79bf40391efdb2407075716844e257a12a547dd1bac8 -FixedInputDataByteLen = 60 -FixedInputData = b368df4a9b51904736cde9d416df3ea8046b02b88e5b9313f890a688dc01a26eb15d7213e1d452e8ffb07331c24f36202b80ec0be23a2bc2b26e56a6 -KO = dbf8739f36c6f9b62453b6c80b25f058 - -COUNT=8 -L = 128 -KI = de676a8ec73413ca51b4264c89b6bae80cac525767bf396564158a35b309a0b5f76c67cf4129712844af268d92a7278f -FixedInputDataByteLen = 60 -FixedInputData = 6d56c6789eccc9f2250881c067ee4a090b54db3570969c7dc9538caaf44a9f3baa3b670399b6999350cf5a02882fb92f836c5eeab6401c2c771f33ae -KO = e9823afc9b5f84beef945de591383b15 - -COUNT=9 -L = 128 -KI = aba65bb5b95e71e0ad57980304b58b255186efafb230e106bf6f45ab5e0d76550cfb734a93f803aaf0370066d677623b -FixedInputDataByteLen = 60 -FixedInputData = 9afa5b218963f0e6386e26b61ce94c777a31717299a11569a9e14cee71764f2addd30142b972110adb3f6a4eae9a4d8ed0faaea7250f5bced2d7f39c -KO = 65b9a9659508f3fa7687c288acb4a390 - -COUNT=10 -L = 512 -KI = a02277214c0e96ea2a159f803ead842d2bbfc901ee8db98693ab49a247d5df02ecf64546d025f817e06111840403c4eb -FixedInputDataByteLen = 60 -FixedInputData = a4fa1019cb6a47492ebcdbbc649f5f814120523329147362c6e260013ef046db59f91e4a4e628ddf3cf826700b9970b30b91f7227153cee81be1be46 -KO = 889f16b69accddc4632f3017169a6a38970c243c7e1dbf009458512fa25fea3a44f599c9ca5665b317d3f9ddd50f958deb461901fca3e8d731d6193bfef499bb - -COUNT=11 -L = 512 -KI = 1c3363ef3df91104a869b8ef3d41e941266d6ac9222a7c8b135c1eaf59f1612dc717c24f151cfd18cfaaedeb8caaa6fd -FixedInputDataByteLen = 60 -FixedInputData = 6ec62bb037b56d73b63deb75893164b4a8a9d5294fbf0e3f1516b35c3f202759bc7cb18a7c8bfae8cc02cd2504ce5f66bd361bea2d0da7b985c27bb2 -KO = ed7cb77ffca79abcd285cd5f1f6a2ff09443038b3fbb7b8f783448264a2202f0d451922c089fab5e03be6382d6b1feeb2f50302f0d837d97c276e225d1d038fc - -COUNT=12 -L = 512 -KI = e4b3c26c2e0423f1df44a011727f496d47d401a1a5a30e9e0d3dafb2e3168c71f4dca66463879aefdab27a2a67431dca -FixedInputDataByteLen = 60 -FixedInputData = 5ecd2938f3ae42def1035e6865852980ee38bb2c0fcbd12ef828f0b400746c15bb889414324cec4b26284746932351923d454f14d4374e44696869f3 -KO = 00f1ca34ceb128e2c62d366c3a2cedfaf570b60118cc5b56d4714aaac843b0d06f4f2f6fd292aa7872ab18f52508ffa12aa83218e2805a77a4c445ce35a44a85 - -COUNT=13 -L = 512 -KI = b631b8f3c7ea032ded40faeb189667f9a7d099c98024785d1c4664ba62d5209ab9d7702289f23a0d05bc85fcd38d6a4a -FixedInputDataByteLen = 60 -FixedInputData = be534baef7e9835f5c8b5d7ce5ee097661981e7fb2509520c49cbdb3b735451826e4b922b6075f78894c8596e2a40fcfe14317163d10302c6994c5c5 -KO = a9b2715bc4f4290d7ddf4854f13a72a328b78033ef8f4d03d392c5131a3495f7a9a42d30ca926a0829ea820bdcb42e291d1ff558e416caedc9eeb244d6457cfd - -COUNT=14 -L = 512 -KI = 537a2910c22619a7da2903ec5a5c72866b358e7a57f527ae442192fee211532913b05da1dfec4c0ed91ceb210f09401a -FixedInputDataByteLen = 60 -FixedInputData = 938a7783e94831b0f59c5244c4ed440459d565d9d2416b79a0916e3134801f6d91e3279dfa00284a46eb2006e77501cadf0622fc5c5b19b81e28a673 -KO = 7451233f2105de43d2a68cd1d663a31473459ea007dc004e76980194c03b2bb04e8539eb33478a4603f3d2a898f7d530305de9b4e52d169d8291748f7e4166a1 - -COUNT=15 -L = 512 -KI = 4d90a7d2113f228bb918f7e12dfdd61a422ad2c88c128935c94bc5aaaaac94b912d862e74061e4d5f858f09f1a9ddc91 -FixedInputDataByteLen = 60 -FixedInputData = 3d5a4aef4b901d101515b1c59912b00a9b430a4e0ad7f1f4f23fa38d053fabcfd79b8fc424c25b8da48e5cb70fa751d20d20d4ee490ef52753469ece -KO = b114ceb5a90f53a1c9305d629b66fe66a7feb5f35c3419a4554d3cf82b629dee5fc8533c220f850a172496956c20da357b61c6c44d1a59f35c57796b6a3693f3 - -COUNT=16 -L = 512 -KI = 3b4d0dba58a9b9602bab9578b38f0760aa7edfe72c921f678c57b9790ea31a4f09ff07e7b61e902e2654179e1cfa0f5b -FixedInputDataByteLen = 60 -FixedInputData = e96211601e2b0482e6ef2ac968cd46fab700e1cc3f8b2cf85eeec50d6e0efce5ef59a92e2cda2bb7982dbe2836c05240855fa8762e01819f04422805 -KO = b4a9dcaa1af9f0394dce41d1e2f03061357ccc977130c676de94777a06c339967f894a01b74d7502faef5ecd82e65afbd8e01f6f1a888cf4f8b8ea3da49c16bc - -COUNT=17 -L = 512 -KI = 8ea215531a6fc3c8aa6846c7b3d749f4c948aa05f0d36c4904219ad25e9dc1596b2516a1f66b26193dc088778d0bddc7 -FixedInputDataByteLen = 60 -FixedInputData = acacc6c57f32eb0d12e3a3f39375c7a4d18cc4c0662c06dcc4984c210c8cf23bef2684de6a1769a6ae6d1f8ce9fd3f21dbed21c94a59a806b10339aa -KO = 9020c3d8b928fa238e93bad1b6003204616fde2cad758152e28ed7232995e51b2fbdaad4b71f3ce616932f8c873fb463d86893c8070a1708fca4a258d4594627 - -COUNT=18 -L = 512 -KI = bb9f949abf669a540f36e0369fd4b3cbd61991f4736b82736a54e21c2cb4a63c30aae8e3759a45b4f230a94b91247e9b -FixedInputDataByteLen = 60 -FixedInputData = 43204a55f9019d26ca847dc49dbfe7c6d1f155fed2888c08d44cce94e94e472d9ac694f368f92ed5c067f31b8c76a12fdb0c37539ef02b5cb289a06b -KO = 09de09345f8d2cfb57a99361ccd55bd97272a0e852c822f37b3f0c7237d08eae8590f2e3ee3dc799fb1e17c13964b9a37e248213147cf170dbc5dcd8bb1d8f1d - -COUNT=19 -L = 512 -KI = 815fa407b68ab669a370762c6e293ac43d53735a95b38520b7845f78395f93412e79571f2bdfd717afe9010ae24a0b72 -FixedInputDataByteLen = 60 -FixedInputData = 26618f110478aab755bed632afe470864c51d58131e5b208c68a6879f5bde45cbae9cec6f53cbc243ce8fa8722d20e7ccd52f8081b1f7460599a8928 -KO = 90340f54236a99e1ba6eef7211446037eb77a3f1e3e68334ef1378b9f642e5afcffd42de3ede7b632916cf762dee127d3accce1327b29148ece08acfe6b16731 - -COUNT=20 -L = 160 -KI = 8e3a22fd407d9d2ff9f4a36df0ee04414c72120482f0fa2aa9044776f39f45ad482651307c3f6828c77d81eaedc62fd1 -FixedInputDataByteLen = 60 -FixedInputData = cefe4f8009cc21ae0bbd7219c7087ca173887a66d38b3fe4bad2e15bf2786c7350deae261f7b6273f8f1be6f0a3d2e1b9a1021c66cf762882153cff3 -KO = 4bac27093a48e9dfb0bc2b4b0748da27f3a6ce8a - -COUNT=21 -L = 160 -KI = 11240866eba502cabee59cb542008ccf652dae9daf9e7ce811a82635fe480b3303736779d527f1b57e712bf3c8b49134 -FixedInputDataByteLen = 60 -FixedInputData = 261b503c0aa7af7a76bde8593e37d3e4960f397aaaf984027a36ad1ed9a19f96363909795048b95273ccbebf24f97075d950657df4e6f2acc32dc1bd -KO = a39cf919181d710a095dbe953eb2a1ed33594985 - -COUNT=22 -L = 160 -KI = eee09f70a04ff5432e65457f9fa893456157382529e6b50c9ad8e65db677a5962a854a0bf4a4b1e059c86354592f7ff4 -FixedInputDataByteLen = 60 -FixedInputData = 3ceba60903beea84c5015ecbcd3c435d0a2a86f36ff3194a2e8d568c8188ce2c9f06c6c76b566271e17a914190c55bccf6c79a4dc0bf13a4309f533b -KO = 5e81f895dd774d21a997b6d76031db6d4926ddb7 - -COUNT=23 -L = 160 -KI = bf8b0bc518390ffb1797faa1ae801353d4577fadee2712b365af064ce3256c8cf6677e0aafb00346fcb477d54d206b88 -FixedInputDataByteLen = 60 -FixedInputData = 2c45e3765eb497677b7f854819526b52c6dcb840f6efe5d97684eb83d8164cad54b67feb4f6ba5217946f6846c0290160303d3c984032245eb82ad6b -KO = a5a1fb47c1a41dfbf142a945729a1bfd173d0af1 - -COUNT=24 -L = 160 -KI = 29198ff4c424616c137b176c5083222368271462ff8b9430049035a50024307f4e0670c998ba3eee2afa79c7d7824e52 -FixedInputDataByteLen = 60 -FixedInputData = 66030537b4217550716856a7cfc30939072950e749fc5a6c099373f8878c42b87ba99ebea49c75f525401d072e4115604afc3c785f40fd81a8824984 -KO = 83aa6369875f95f2405836f1144d9ad367ff737f - -COUNT=25 -L = 160 -KI = 89dc35089a3a4a5d0b60d63255dc289acd7a1bd91ee90a49bd696c89f5bb76eff5ff33ab48b7b6a45d15bfa3b34c04dd -FixedInputDataByteLen = 60 -FixedInputData = 34121905c8c95b30651d1f74c88c1091e1936812f742cee859783ce90631ca0cd798bc2c2acfa1fdaed7d45f1747e1bbb83c7766a27fdaedf612a534 -KO = b56b93a1af07689ffbf3a74f5d1284a343a275e9 - -COUNT=26 -L = 160 -KI = 6c13e859b48e0a27a3c4b0b2a0a5b7ae0c43cfd237544beea2228b385e870abd1fb4d238ef84b8def6101260255ac1eb -FixedInputDataByteLen = 60 -FixedInputData = 8086b82cd3ad91663754a87eba500ae8f4b78ef821372817975585545df755bacfdd1f8b1769f3d71b2c98c7bf7c4bfa791ab17dbc43daa49f0089b8 -KO = a45dd56c59c1f4a3470627628e9d1d37d4fdcb75 - -COUNT=27 -L = 160 -KI = 2d35314e0293d32f9fcdf0ae12226c03c70e520d5a785febb77499f7ef04793a48686e1d6d7060668d9b93d7f235d0b4 -FixedInputDataByteLen = 60 -FixedInputData = da77245145337ab90545d336136efd9d3dee5691c61b6ea1446df8674a8c6d7b20b6820d3c4b3b5df5dbe557922a439a46cc581e2943508c882aee21 -KO = b77f9ff8ca179454dc6c6c682cc2b575d65343fd - -COUNT=28 -L = 160 -KI = c15c07b01be2bc6c919394da9070538ba097940818a4480f75a36af14a198621bb8e89c39f6b0c5d72492cb8df6d0b27 -FixedInputDataByteLen = 60 -FixedInputData = b214b606ce2e71082113be890241835835f69169fee8866bbb3c177f07aac4fd009e1d392f6624218e7eb2c2580e931ad51bfabc600733ec43697139 -KO = 43309eae4c218a98af210fc60b49e14ecca87d3f - -COUNT=29 -L = 160 -KI = 990d14021a4b37709d74a937936fb20609897206ce654f51fe8ea43a6243a62153b90b7d183d0eb7cddad2bc56e25f7c -FixedInputDataByteLen = 60 -FixedInputData = 900d008afb0fe9453b79665bea20faf7ffb9173b93ebb5135825d4176a3ad3829bcd58111553a1161fb1782490034c638ee92c24e4538c40ed5d9b7d -KO = ae078905d2129e6167677b3e6d0c1514a06beb29 - -COUNT=30 -L = 560 -KI = 57e6e0cff16084d5270a5dd628df4350fe4de2fa0901290ac42917a4cd0789fac23f9ad179793db7b00190be236940a0 -FixedInputDataByteLen = 60 -FixedInputData = ca20b8df1735b72a6d1cb6f6ac6d6bd4dfde42179c694a9692309815f2912413c40ecae85a743011a3d06b0d474fc3c254de4db77a5e93c6121259ee -KO = daaa3ec99781365f463c7b0263d3a4dab237e7cf7d405cb02d5dc302e4af70449e834f29f1cacc68a9b941cf672c861bdb45b6efeba436a36e3d31ab93ff015a75c3d5cdfefd - -COUNT=31 -L = 560 -KI = 482664377e63ab5641ffdb6603934802d21810d2c5eb856ca11e2a5bdaaa3519913cbd3d0e586537833b5cc906d05726 -FixedInputDataByteLen = 60 -FixedInputData = 4694b0653b803522c43d86ea601f080993a053079e6ef899e11f8436f5b7a16e3728ef73dbf608b9a42196878be895c7fc8102c9180acde4cc688d40 -KO = 4aa1e396df05f69284043019f3d45dae7c53a9920aa03be11cc970e0935f178b66e733b5a662ca4b07713e232f9967a545aa5d894405f3d2135c0d141fd1d0476ade3307f5c4 - -COUNT=32 -L = 560 -KI = eff4c76e39c0d39f718f3fd22cd30488570fc2de9543bd24318772449cc5235dc689be809b633fceb66f968446af19a7 -FixedInputDataByteLen = 60 -FixedInputData = 7e03d5a3c42e3af900644e7a6228904f23e04f5663461be29f3eae9b97e8a82021d8b4e3b6820b1baf4144381142e4bc6657bfa6aff528ffa21163ef -KO = 53897ea86d31b4fc56f62624bdf32c4193e09270ef73da51b9e5950e2417bbdb4e511cdd399b6efa20cc94586c5e5d64042d2dded6b8595296e4b37531551874a7daf446258c - -COUNT=33 -L = 560 -KI = 924703d240d12bfdc448d5c450e9448bd84280a0bc3ecb41da9899757c25e7d9f8be88a849794d65306de69898836f55 -FixedInputDataByteLen = 60 -FixedInputData = ceb0796fe569f668e1114471e3c8c3fa7c5d114e32dece1306213100248ed013ca0990dbff09a2ed321e03541095d2a87964c1fe131af2a305abb7e9 -KO = e38805b617a09ae520c154927ce6196baaf05017f3b1f5cfb50350a470cc15da2f5962715e9ebd46866239b42251feae86003c32c374695d643ff5d2973be072dd26f1ac1e74 - -COUNT=34 -L = 560 -KI = 8f4e4eb537eca847ac5f14b0e7fbdf66d6ea6e78c2d1db89db5c259feb788cff38d722a79d4e108df46197a40be3be24 -FixedInputDataByteLen = 60 -FixedInputData = 2780906694ad6ee9f0bd444a795f9395f610369c1f982023b522ae7617843a49062445e864e8bc3ea0fdd10a7f903943bc05c5263696a01ff140f921 -KO = 51b65099d0dc928945bd5fd1184c8c91d3d9f84722e1adf409aaaf93bed496facbd6c1435dfe1e05bc79412843bb608ec22c621e0c01b39418499fe3aab862efb582561d292e - -COUNT=35 -L = 560 -KI = 1deec84f0c4e0e6d49c216326c585b7f3dba6dc23310dc3d3dc11d104132644a7e547da6a0a7f86822169b42f4162312 -FixedInputDataByteLen = 60 -FixedInputData = 0abf636b4c69cfa64af172b751fc66b6df507b13786c26aba6df32de33c9a34e588193f29dc8774ea55932adb84d9510303f6d58c1131a23442a1a91 -KO = 7b9d3991fd1f3d681dbbae3c010df1c6b4c2012f6c6d12657553c457d433908fd8bbaf65201899f22c9dea1e5ad86e976969529cea31f6b6ab7e0c3489830cc70acb24827f13 - -COUNT=36 -L = 560 -KI = 56c40fef2e3207c165fe0ff400bcda61e880c40b2ab259ddcb0d70d86a5cd70d9c46cad34a4761044db10dad9e29a644 -FixedInputDataByteLen = 60 -FixedInputData = 1ac641abedeb7d1d655c6cc26aead6adb2307fbbb00a2484d141a2949e66eb53e0e6f9ab49ae6b2d222212552b350e4eff83f66d8a352f24acb8f359 -KO = e9acdc9d572aa6a8dfff83755e486544cd539bf18093ffe75befaa4fc9badc455fe1ddc10fc8dc457d1ca000ced0074dff01b444e6d26bfc226a835914333a7a24e4d9cfefc8 - -COUNT=37 -L = 560 -KI = 66bb306d6883f222f808ae48ecb89ea5784ebdb0432c3180217618154596a49931b683dea0ac859aa68c748ddb6f4829 -FixedInputDataByteLen = 60 -FixedInputData = 4d60117d4798930d8eb6050ee13617c69b27a50151c0e80cd5296c47b8938f94816c5f471a65622cbcbb87ff189251153036c9c5b7212c3cb4aa89bd -KO = 454b06fc2294298941631ee2dee2337dbe1e8d4dd8b1f80f2959d31bf3448195410f4dd598a278593a8a750de4ab90204cb7f1af9d5a65dcf78fdb559475ba903182e04e5f99 - -COUNT=38 -L = 560 -KI = 1e8152f32d6a784611729329d1e0ea10c8c4acf6fe71de3982fe747151b9c69445f585da64e5c3436992916e79015700 -FixedInputDataByteLen = 60 -FixedInputData = 6447b91be24e769a9063eedd7124086f27b61c0850154c77696302acfe80d7bdde1257516420f925752f0ed6337e3e8481e396010e49fa2e2a414c03 -KO = b1153adc7966cfa40636f0192681b76321136ad1b4a8e34ef40b1e9287bbbc7f4a2cfbf3aa1e99518b2592196c3d7709946749e46430f89c807de991ea61202462952e9db4b2 - -COUNT=39 -L = 560 -KI = 63b9ca8be77797f990e36fb6e61e45afe8ff56d8edf1b721346e80da5efbcb05ba263555ab7aef769ea207301d0503c7 -FixedInputDataByteLen = 60 -FixedInputData = 66e4ecb35208e6abfb0098a0fae237fbfe11d1de20c4330225631130b8244fc1811239b4d0d9ab42beb1bd70801a8bacec280e6fe5db5478cca91cb7 -KO = 7b171b7b57f6278baa45d40ea74cbf1f1c6701c45408cc565d9799806394dfa46fbbe61f3f04498ebab652b9527e480ce8cbacd8e0d81e7a61f3a4e8d3c2c03f300f4de790ac - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 565ef3623d1023fbd5484ee4efbc7e31e5793b14fb8383156b16e48265d1c8391a2a3149eda84d1967e9143bda3c96dc -FixedInputDataByteLen = 60 -FixedInputData = 408ab330280559d87df8edbb2df148d401848b2b4d659c3139591c7b6abd994d6fca92f7980fa905b1c5531b3455542fbfa7020d68e03cdd50b621f1 -KO = 8eb67a265049ccf15a3c3c195f656857 - -COUNT=1 -L = 128 -KI = 80a129bd32d938ff423ea87046bc522b3751f0eea33206f7329ffa5dfd4d730e7bb161b5160ee1cf218c8d80bb4baf61 -FixedInputDataByteLen = 60 -FixedInputData = 23ba1fd1cf4f01e475bae5ec5d5f15504ec384685aeae0e62ec2fee3b6b134b237bccd609a8556142a576308a7c8c88252cbb2a8dda54b54fded472b -KO = 2924ee6c0dfdfe45251ba0bea4962252 - -COUNT=2 -L = 128 -KI = 4119fd66cdd32171a7fdbb2df74163e10cd1a8434fd951fe15891bfccff956e1ff72ec0c675499597fa167e86677b66a -FixedInputDataByteLen = 60 -FixedInputData = 8434a76b01b255acc8fc00d022ab2c4ae6613c0124728c225b6253277ef900e2abd59ecd9171d6b908b8ec884effd96fad25f55c4acc95ab050f327d -KO = 515f3b85bc5e25cc28a28e11583524b9 - -COUNT=3 -L = 128 -KI = 96ba4bcda4f5fc9e84167910a0fc2c777ea717e2c9f3e881a70f1f8c311668ce60cbc8f81c887aac9cecac92b15f57bb -FixedInputDataByteLen = 60 -FixedInputData = 479587cc20d8d4b7e3e64b8f7028c5e63df390941db14cc90d3fc53963ecf4183ce161056a7e6963cac386e12038c93859bc557c8d7eb1837cc5640c -KO = c5f6de0af15d8c41a1f88c72f91a864c - -COUNT=4 -L = 128 -KI = 30456feb1d5e664bbe811ed941aea7e787e5c042d71ba91b7fdf6d07432db82e79a3488c053ac7a60c057d60c2fa589a -FixedInputDataByteLen = 60 -FixedInputData = 6270b47f0625899379f66fe54371787a580917d0596a1ea146701ea7aa4f486b47f6a6bb98d9ccc94ff30eb6d3336aacb465c82923ff178375cabfae -KO = bcca33c76671627045ad569a59618ce3 - -COUNT=5 -L = 128 -KI = 1e0945e46dba3fa3528425824ae2be5ea3ff68fe9e8d4a540b48cc434121f9a330eaa7ed31221135083b637f0801718b -FixedInputDataByteLen = 60 -FixedInputData = 6b8bcef8d3c40b47656faeda8c3b12d11512078ca6a09bbb6cea070dbb847728e00d453d886288678a6c743a5d7caf5d0dee2fae9cb76c110d9034c0 -KO = c475316bff16c104e4c402f248b4730b - -COUNT=6 -L = 128 -KI = 802f20759228fd060eecff4a356a70556c198584561f3d0f8be2677730127479654f386d3a0aa51e936ff31a0cdaead7 -FixedInputDataByteLen = 60 -FixedInputData = d4a8e35e718aa980573f22db99685966ac8f018724e88ba67fc1352122c1973b38e5e945d942039edf12783641406a76c3f6c634b94df181ce9e7ac1 -KO = 7447c0a29afdbd923171c70fa0cf6880 - -COUNT=7 -L = 128 -KI = 7692cc7222410496637d83ce1004eadddbfb37de9dab6b5e180e2d335ced1491361981d651ca6fa41be2897c98823330 -FixedInputDataByteLen = 60 -FixedInputData = 600a93b1df69f743ba01cfe79a4c07fee453fac95aa7823665e62985a24f45832c9fff0de526294e09874fc6969de3757af2c8923c283143848359ff -KO = 5ab71bf7647722d5d9bc624d01549ee7 - -COUNT=8 -L = 128 -KI = dccb307a0d19380d231bb95194be127e5d833508a6fce794c70add14e0e8638aa3a439b749f3db3dfb17e8b43396abec -FixedInputDataByteLen = 60 -FixedInputData = 0ba598cd265039c5c0a7d422c169b81037d479dc20c352d26556040e360773630d327e6bce882c929839e2c6adde8f8dc6debdef7918ca26d8fa6898 -KO = 3c394deb610d1b6ef6d1c86434ff3720 - -COUNT=9 -L = 128 -KI = b005f0188c6c76060974c5c5a85ee90b93878cf92881cf24d7d9b7dc58cd4fe43c033459ca9a4eb55226c96fa07fb007 -FixedInputDataByteLen = 60 -FixedInputData = d74998b7f7360046650d9bab4c3a6542232c42e55a487b427855d9d427e641e655553dda71e07b794d8d701d57a0ef08ce9b5742352f91eda2f19e36 -KO = 24bbaa7f4a669fb71d6386a8004a21b3 - -COUNT=10 -L = 512 -KI = 11dbf43ec9b3f22f72d7d9810e07e88da089ab9fd9ae1e5ce9e351db0e4ea6cb4cc7c610566ab4a3ac9d414e71890f01 -FixedInputDataByteLen = 60 -FixedInputData = 9c96a231b7f1a15268c97d16118121a42f88526374606f91a62cc053252c83401a1b70b2a1a20b636bf9af2aee768aaa47b5825d3d33a06130e2d8fb -KO = e7f7dbb8bd92e652ae68fe3f9df73e1e1778fb78a431b9587b153cb528035be94588a2c62c98a1ffd5f689f66ee275b700e97aa961b01cdc5729b45e7370e5c7 - -COUNT=11 -L = 512 -KI = f750933a4a206a3c6c40063e3b3f1c64c586ffe25348e1e07de39c7a7c31e622e14077d7de210b56be5a304a5948f087 -FixedInputDataByteLen = 60 -FixedInputData = 2ab4c440e0611a0fae241ef307f33c6363f009e45c2985ed0ee98c1f75e654d635c1d9858f48db6c53dc4fc0306e9db3710991ae9a22860e96ed5a8a -KO = d990042a5184cd3f1d29d99a23995910888bfd0c06a9a0ccc504e2ceb4d15239a94146be57a1c9573326fa5d3a413b1258b75bef84921dd0b1a46a08f8bf8dee - -COUNT=12 -L = 512 -KI = cb949a967d19fb20f1af9edabc0e7f9f96f46ec63ac57c0d16885421b31424213a299e0406c1d894629cfd195c2a6074 -FixedInputDataByteLen = 60 -FixedInputData = 16fa5014efd51306dc27f61b47f4b91eb0e9a4834143d2f6c69d5ba87eaf58da16625e0fdc5774385e6fb33a2d0f1648ab46b5019bce0aeb8e4f08f4 -KO = 9bd33026972ffadc0409da9257ccfbeac1d6d69436174da1a37afd0dd75cb7d0f25d7665500d6e25b61f43c1e02f563e03035b8eb12df92c36818ad148dff082 - -COUNT=13 -L = 512 -KI = 489349d6bf6c6ef062412a5443543f1d41c43715960cea87c0bd0a553c72fbe10c9c5157a5d0de50efa708461304540b -FixedInputDataByteLen = 60 -FixedInputData = fb4722479baf42271f915ec7c4b2e60716af9b76775b57f330af7cdb8a7f527fce556b51603595117c052da441598e3ca542d3ea4554621ac6f73a97 -KO = 7e9f9f16e90c4e61133227a3ec37f267d12575c2c4c4f8d2b652183153e474d23cdcb2e01c91dd84776b538d04da00fff9c0229b0670041e5675b552ab649ade - -COUNT=14 -L = 512 -KI = 244350f11cf85f1627ea0f647d1569be8633e66eb23a3cdc2566d89009bbdf5812d6abf4b11f31ff99c9b62c7cb84a05 -FixedInputDataByteLen = 60 -FixedInputData = 24dbfab83bef7eb271a9f7eb662fad6c53f6e3491993b7558e7ef9b4b9e88465cbd86b92b8c1711d61fb975f7479a8963753f67e49d98eac12913726 -KO = 88de034072061ac6b7cbbfa82fdffc5361b4da28b12457ed6aa613c36f10222d50dff53d5d4399c16c366725c4e9b519f515f5f4510368bf0a0be801af3d475c - -COUNT=15 -L = 512 -KI = 704830d7293fc196d46e3f3f454da4c3d86f214d457dae0fe0cb533816ff19aeac4e385e87402e67738b4514c1268977 -FixedInputDataByteLen = 60 -FixedInputData = 847ae9cca4497f5930daefd5fa543422d7b6581881e99811eb14d262eb081ab2b292153640fabad9d3dfa3141cd84b63bca11984883f3eb2d8a30e5f -KO = d1c9338a95fa23c8c04a22156c42588a0e18a6b5248e1106ae5f7b04df0df7a09cb87d860b2cf6efd2799c97431837c878c101c990b82195e9d822ed3a813f9b - -COUNT=16 -L = 512 -KI = c2232ef21a609a74d017c4376394553367cbf7ac53c717232f9ed6f7606417862ac85aa57f6a931fd6454dc7e834d625 -FixedInputDataByteLen = 60 -FixedInputData = 8b31941c30b8dadd0ddd405c08810d1bb014aaf9f1a53f600371fe01d63f2bf823746efa77e9fb92b28c72b296ee6e4157720d26c352a199609f66fd -KO = bc59fba14714a617ab7e0bf4bfa59344c846fdd50477ac1a3f8e9ef8bdfa0277ddb6ac5dff0728549c8485b9def42cbedf95769aba1d08783007175aaa341e18 - -COUNT=17 -L = 512 -KI = f8f9efb4641406b0863c464b70f5b7dce88d0a0edf2aac01cbe07fedcb9d85a4488fc4a2be29687f0c429b43991441e3 -FixedInputDataByteLen = 60 -FixedInputData = 496a030d469b7b2d3ed1752b0d70bfb89097071c56b1aafb6224c6fdd3784f82a650d9544807cca406ac20867c0b03a8ce5c1811cab6a9c0ceb8c238 -KO = d0113f1db5352ca7c2417c5d535d50898aaab884635da9eaf8ffb514850eaa7208c49d969b95cb8b13b47dbd587838b3b82aa0281d08e9b02b043f40039a4b3c - -COUNT=18 -L = 512 -KI = 0197cc1b51f9133ea08b1f5d20f5f812b64fffeed96ac1b1ab9b13b0498222a0cbe070fed4d467837b818644acb46e7f -FixedInputDataByteLen = 60 -FixedInputData = 24f471eb01130ea615bac738512378e1a2788ff07ddfdd0b7d10c2662786c72dc0e52a4d2f5f537902f383782792f99a685ed2150a4398adb0867071 -KO = f4156df3aeb2b3ae8d7beaa5e909458125f02d810299608a4580c5d73baf6992a4df618f3644ecd2c8b7b78e93a672155ffc86b699e7dc9f80ed6136faac5a58 - -COUNT=19 -L = 512 -KI = e7b2bb96f831f798e4249b4bcbf20630f72b8f36a636d6813149e19e10456ec93e3980f062b6c6ff401c98189e4698ad -FixedInputDataByteLen = 60 -FixedInputData = ae9d1199ad22a889d4a3a643d7463f7b400a1a922766b3637e7ec121d404c38504651adf39cc5389a3537bf838d2780f90beb0eaef72f2738791b29b -KO = 18347ecf3e6d5e8007428ba58a5a893884059b748e3a20b59d4b8c0528d1338d05eacaa49246456db8b80a54517ef94f6992f42e7f035502a2e2cd3f57d05b56 - -COUNT=20 -L = 160 -KI = 7ffcb6157ca54c0ebe9139c81675c4647153d6e65d4c2518bf8b962bdc8cebd9e8b2ea2afbb055b14dce3c33bb8dcdf1 -FixedInputDataByteLen = 60 -FixedInputData = ace429c40d8a0bdbb0b993ed3ca32e9841e67eb5238ab138752d62276d66a9161982585b5a4242f9cbe18d42dcfb748e158704e0687a7db6a2faf3ac -KO = c7a17616a764545e44cb6f7a149f18a610b21d84 - -COUNT=21 -L = 160 -KI = 83d93c797f28ece3393f4f4d2ea794f44c7a7878e9034bc80384f35e4340a1389f3050195a92c707263cba37365fc718 -FixedInputDataByteLen = 60 -FixedInputData = 2fb7c5f235a95ed47e4ae6f9b5681e0c1b44a6be4054fbb81f650b5aede842242a096b28d14ae82f00aa64a629cd12a7f41bd5d49040c18294e7581b -KO = 6c6578140b01d9e27818bb025fd06176e2fe0f64 - -COUNT=22 -L = 160 -KI = d1d075913df5194b15423bbad63c26529f712e3739a67ceb1916fc019545c63536a63d83981cafb2b32bd165e893974e -FixedInputDataByteLen = 60 -FixedInputData = 379590b53f7c09356b760404716e35c932cc1eb6603525280a24ff98a6bbe065d5bc4847ff7d34f83977c781f9e5e976391578af8e491f798c3ff58a -KO = 674d6b37c614b84a0e681daa26113afaf47e5c9b - -COUNT=23 -L = 160 -KI = 37b3066b756ec9e63761e35909c8f8e6d9d856621797fd23f9f8d163d8f6273860f6adeddb3d66c1666c95ddb1d8779d -FixedInputDataByteLen = 60 -FixedInputData = 6934c945f34e1a28dbfb9b380bc27909b35524bb58539e2991b64ecdd9002701c3768da82356baa2d6695ebe324509a402972de1fef080661c70da0a -KO = a038aac20292af9d1a648e1372ecb9cd85d3e090 - -COUNT=24 -L = 160 -KI = 2c66a2c8bab612a025daa5c9754b9e9a0eeadd8b534a6ed6e1e13ff7b0ba69e53a7484e1e218b1b5e8eda18c534e91e3 -FixedInputDataByteLen = 60 -FixedInputData = 89fca50cb73e8de82f5761201bf3437e82649c89a8d4dae4ca91f911de56fe435cab58f36737445dc077a495f82c6d9ad8f0d37ac242c15a226e7bdd -KO = 7809e31522e534e8e44a11c33a4fe6f73fda8696 - -COUNT=25 -L = 160 -KI = 275899210bd1f68fdb98d46272534a550d30f4b583110e28d0a0bf78cf8ec5095c6c514739f43e78d084ae9ed74518b4 -FixedInputDataByteLen = 60 -FixedInputData = 9578b6168922c753effd9a2123894442517957d73048301c368e125145c3777135bc890c3a7a36888bd8ece3c03b4a028d0ae69735dda5a772ce5599 -KO = 0462af89c4d56ea4f8e344cd55c1b8602f9014c1 - -COUNT=26 -L = 160 -KI = 953bb972c875ebf90724c5c36929c7ad9f98700810735f16335759ccaada757d8d0e45f3a0b6b42828dcebff0af75972 -FixedInputDataByteLen = 60 -FixedInputData = eff9d8ba84b3a9f860558f10bf9e7f0517f0854dce8586e6c46a60003a49d3f48dddc12c46728aa7163419754aa8250e932c4bd0aea0dd269e94d3cb -KO = d1a817f0feca3c64c388ca6a7b5cfda49af0de22 - -COUNT=27 -L = 160 -KI = 3a43cb19718152f05c79af89104745578251fb49a1a57e0d242b29f9d7b94c9ffc352c20c84d563addc849d22d1e1313 -FixedInputDataByteLen = 60 -FixedInputData = 0d0a9565aeda06a56947c01159252573b4f55e01e11fc41fd9aa68fc869888155b8b53506e558112a8839a1cc121a9875794b7c3d0cd0645f7cbd3b9 -KO = fe950ad978e95dcce08a2c6116c4037f1c45230a - -COUNT=28 -L = 160 -KI = 58a470e093aaf3e8d3b508da93ba3584fcf79ace3ff96cf4f512fe8c447f1cf626f2d047f9ecf5bbdd40ac1772693c43 -FixedInputDataByteLen = 60 -FixedInputData = ddc5102240de7b6329de062057fa429f440cc4b6bd0a9195cafe0dd8539ea9a84e1c19830bd3d236b7e94af356a11a5e2cb3e1bce9754683a372ad38 -KO = 74fb8019b8209f52f3e76d24910664805e788ef0 - -COUNT=29 -L = 160 -KI = b2e92b00b69630ff232dcfd07deac74a609f459607ebbaebd02569422423ae0856c86068f0c016030ce93da7784d5cf7 -FixedInputDataByteLen = 60 -FixedInputData = bbddaf37a6f8e2c87b1bf8901f5b074efd015051f68d98785f6e541c6d38b442c8cf6878d6d7f9cd789bf800b35117febb990a2181900a6303c65b97 -KO = 12d411e885e46a5b20e17604a2db459e8f5b6604 - -COUNT=30 -L = 560 -KI = 69500cd307cbc3c28b713b3cf46960a96a2c226b3fdb688a9ab135aaaef5c00e680c1126a987edf3b50bf5b5a502c78a -FixedInputDataByteLen = 60 -FixedInputData = a3707ff205af0bba94f6676554dba494a7f0f88121d35650fb656c3d355d8607d14cb8cb73654e0c167f850a00ceb07d5137559cd9ca6cb41f835e71 -KO = bfe97825d4c0f21ab456c65fc0b649c8ca069337de8f88ff9f5b994015754e982df1518fe6462fa230164d9c48af900effd7be9687ece36fe9dc12c5a5891fe5361c2948acd5 - -COUNT=31 -L = 560 -KI = 83ccd40ad7824a33be0a3fc95a26531babe9699ce024472e85523a0a7a09342c8674177b448138a2ffd0bedeef595bca -FixedInputDataByteLen = 60 -FixedInputData = 643afb3f2660fa6f100940128ffacd952f24f9ec8623e8740ab40bb54f14c0da65c51a53e1602b19063de70c56553f7a4594e528b47dedaccbeaecb6 -KO = 908da5e13ea37212e71ecd726ca5357cd1fab29bca6ee69283bd94b51b587de4f19a5eb814459f7ebff43f43fe287132ca6ca0687574d6a7a8c3eb26226036ec8f166f784b1f - -COUNT=32 -L = 560 -KI = a2e468157649e8af8eacbe0629b1d0404cb3971232c185aa6df375227dda172f7c0067674a35131f2ffec70874e52586 -FixedInputDataByteLen = 60 -FixedInputData = 06d8c68679c91ed49bb0bf3b618e0aa2e20e2aa19991150753e34f10fbc358002e33c965c6868a63663763012438460790b514677f0cfd7c3037863b -KO = dbaf7518076f883583d63ed0ccc84b3116bc17263e8c8b454098733149659d36e987a4d0755cd5304623f5b49ee120b778dfde991cca4dd0d6d096f9bd97904f95b8c5f6c27b - -COUNT=33 -L = 560 -KI = 804c8bcbd875ff1c164fcb89cc36cb2c97d3819fc1818938668bc609bafa463125df0e8bfa6dcd6a3ffee3cdd88c28c6 -FixedInputDataByteLen = 60 -FixedInputData = 68cec7db6fa05676e99b2874757decc4ac87d01b46c1f865e6acf936b47294613ec995faf28e57c03321677fb1ff5c8bb3512c55767cd120fc7c47ae -KO = f6043bc7c22d74ae1db03490f6c4bffa15aa5447e20aaad16a1380e78a5bb6333d6c3a70f7b72370ddee14ef787a88c9edf95afa5e1dd896174c16d5ddc438d53304456cd57b - -COUNT=34 -L = 560 -KI = 8ef890a1dd55d51518fffa4d3435d8d8c3f9cc566984ed3b54975d79fe951810a5ba600c24b42ba9b785fbcb51720415 -FixedInputDataByteLen = 60 -FixedInputData = 979072615add802855e40e3bdca0508fe26a32a8d006bc205bcc072ae41ec8ac220425d5c554c998bd6a37c8f5077686ffb2620a2bb64ae57adf42cc -KO = eff0c3c31aeaaa0af1f77680eea4b129e1de8b621d75f26e1eec278a4ed93c4ed416d28e5785ff77f9d2bc31c5cec55a525c603f0ec1aff525796fa0085edd0700275fb518f8 - -COUNT=35 -L = 560 -KI = 11621486715c30de3cb0a0897908ec8e7339b5069685701bc219a60a29eee1f3daeaf33149ea197ff85b103b09a627ec -FixedInputDataByteLen = 60 -FixedInputData = f1bc62f01ce55181fa1f66835a26e685461ab68ecf1b68560af27ca186a8a46c5828e2a006af4409398a01b974419fd3386521aed7d7a9bec6e6fee8 -KO = d679923aa8f430ea43fdb09d22c54f2e395b8c474a4fe6018b197334c37d408079621530d304ff14e0e253b5351e55b27674296921873c49c983df2610da61cbb8bbc524cc90 - -COUNT=36 -L = 560 -KI = 5b48ce9427ca04539f04dc9ef4dba0f36fb1d361e0ab6ceb312444d9de640f8a7a2a91d7548374c4e9a3ea0506d6be9c -FixedInputDataByteLen = 60 -FixedInputData = b2d3a6ef4d7e8fe129eea4419ef85a742dbe6deeff7bda45ca26a865d6b47fcd0224809f0a80effa79f64e3b7a47d673a6305b879072298a765d9729 -KO = d9942153653d32cf585b3bc4dd6cfe2cd338a91df8b242d22d0d5c1b0888ea1a999d1739e90eedb6e03fedc5b3e8f58f0dbfd91d158ad6ee449422ae3b151471828bb32b05be - -COUNT=37 -L = 560 -KI = 042e4a3012797a8b333286f9fa6699a3304659b8681b6bc85b6d74a527c1ea31d0e62e473fda4550844901d061e6eed3 -FixedInputDataByteLen = 60 -FixedInputData = 271bc9f26eb1902d479aba933f610152579ddf4fc771c76d52465a63846edfd852c1602d70b5414f9d258f6cb5ff552cccee2b93fd2768557d3914a7 -KO = c1beb1de12fdf73f49864297c70d4f95efa396a6c552673d851f212870237b0d36c95fb8b606ba30883ce18050ffe2320e882a815b7ca796a530a05da474d510684204f102b2 - -COUNT=38 -L = 560 -KI = d63d02c6d6ed9e85b693f305ba072204636edf8324e7c822d6a3497385056da0ff7bb5b1470adb1efe57c7b9d20a23f5 -FixedInputDataByteLen = 60 -FixedInputData = c2bf2240cace70b1ba039edf8bcdcdacb734640ccbfde19fb7976708d16594d731548dc83775ecf33a2a36d28a3d083c1671302ca0a45ea646c71abd -KO = 41aba3c9081add4bec67371f3a578067b233b3243bacc132c59521f0814b02acb47c5659bd3b497e28faa7495b8b8380eb9928635cff0ce44845e7a9206719ba2641ebd245f4 - -COUNT=39 -L = 560 -KI = 9576e9be03aea9680e8b8cdeb534d724b897faa6b79dcb1e2d1141b37e6e0e4bb85a0cbd83a598415dcbef97e84a07dc -FixedInputDataByteLen = 60 -FixedInputData = c3f79d92cf00213a8c0a9d3e68260a5f98c398282ed773874599f8f4dfb67e273304344653ac49fcf6332cfa8069959db997a9b59ca5d75db6ec4991 -KO = 88b2df68b23521fa245cebb41b63cc63059625c469c043ed7f00b1368c71ce84af840bc2f386294912c91ccd87b054ecd7eac1112fdd630918efbf7b2484f5af0b8f90c24446 - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 8c54a7817318acfa0a788ee518b3f97d0b736c20bbcfc24b62ce9883475dc0455d10ce6f888a725caab87da439dabf86 -FixedInputDataByteLen = 60 -FixedInputData = c96be23cc94f4f40e701651e856bea715080efa134517a02a302157d40f6e97c88491e84a75b9833b12c089bfd361756a3e52d17d1db994bfc4d7106 -KO = 5dc28511c632bd0b4b8be616737cb442 - -COUNT=1 -L = 128 -KI = 93d9c937a7ce8e05fc44f53274fef9978aa9846ccc3c5f50892971db35a168d3f51302fe388b4105f772062b969509cb -FixedInputDataByteLen = 60 -FixedInputData = 42ec8e9f95eb5d651f1743f61949a6b56e3939f13deaf1ad617e227d518bcde04d994463be7b8626e3c040793ba0853d57cfe6ab27da17e97f3bcfb4 -KO = f3049b988aac18e389d36b91ef3f90ac - -COUNT=2 -L = 128 -KI = 3cdde9b8a28305c1a21b8bc0ca0ab067ab958ea972d7ac0fd2d1c412a37b490a42437160ba2687e06b3ea90f3b157953 -FixedInputDataByteLen = 60 -FixedInputData = 6b67cca3c47b83c1baed8502f11cb385903e0f0c0d62b3ceb04c64e5303be38118125895d4a05fe293f52d5e47a384b3165de5f5482a520f0e595f6b -KO = bc420240a16eb31bc7b9a0a14dd847b4 - -COUNT=3 -L = 128 -KI = 8277a9c2dbc28ae0036e7016b7207f474d418247830ef80f401cc50742381e7697ff9a347a96ffc527da441a2452fad2 -FixedInputDataByteLen = 60 -FixedInputData = 171e9d3734d00ed67b5a096cea264df2eb9d9e4e1264ae537c6c7ec46cc7fa5201174d06249b2999b89151cd5efb34c52e1153e5fa0def571b883dc7 -KO = b7e9a0f87685897a8ff9366919452e47 - -COUNT=4 -L = 128 -KI = c7ce783dda8981864ae477e595d48a661dc1a9d071ccc3edee541048d7421dccb21d7744d395fb24d6121dce62757851 -FixedInputDataByteLen = 60 -FixedInputData = ec2e687575b34458db42ac5647b49cd3126362506659c6c3a2263d4720a04d4f2b84b5ebfa085ca094a8dc6418e64bc5dd12d044b0d6c4a8a1f3135b -KO = 5395dd70f851c0abef9ce105ceefea01 - -COUNT=5 -L = 128 -KI = 0d0c7b178ae3ee83f7152babee46cc366423cdc48235b206ef00ecf91d7ad53c5bc7206fa1f113bbc763a3ba449e6e4d -FixedInputDataByteLen = 60 -FixedInputData = 20a57b94db00b32eb4a5c660515b5a59a809cc1200e05e583fefb786f1601babad89dc7d1f4f0b7040905202f2ea222a3396e578041a167f4dc08547 -KO = ce756dba67b38310943e836a1589ef30 - -COUNT=6 -L = 128 -KI = 19b88b8bf5db78d83582b7ae911424319adf13861a4f4dd5f5c2034e1ef02d7374ba7d42ecdd764db36ef68f14bf699d -FixedInputDataByteLen = 60 -FixedInputData = 6254f8395a6c2535b20a1a58a72e079f4e174f07beb97605b06fb867dcf65f697c7b25e999d9f73d49263d042d1663f4434184e198e1e4a95148ed0a -KO = 542c517b46958bcaed15fe8a976a04a6 - -COUNT=7 -L = 128 -KI = 43703f1d4e6ff065c097e3f76babf3739e15e089dc5cf2dec9a432ee1bc34c224967d56faced1be81560ff02b5f6fb4f -FixedInputDataByteLen = 60 -FixedInputData = 64ca140e1adda4f660836c3f3b9c95414d7310c8e192b67e020c1eb8a0e04bb1d764365b42ae62e7e7ecf8df9a3b8a6435a8aaa828df95af441cd50a -KO = fc1b8e95bb0acef7eefab1f94ad56e15 - -COUNT=8 -L = 128 -KI = 75eec87d80cf28dd413ffcc9c7404bd18478a76b1078ac4b0223c02c8aad24cb65bcb34550ed1fd150ee1f0f85226327 -FixedInputDataByteLen = 60 -FixedInputData = 59d42368fbe03f77c7c23ab707f816fb696ded94017ed40774ea29a74bd158d7f05947c591ed39475ccce08da686522e79217959b717d5256fbb7a07 -KO = 3744b8b3ea1b40fac1c8f673c00dad90 - -COUNT=9 -L = 128 -KI = e671558c1fa29cc44318f3264645c0411a2c6ef54838481a712f2321c01f6ce647b64cc8bde3fe01f6eab54f3aedcec1 -FixedInputDataByteLen = 60 -FixedInputData = e8673323fc99cb1310b267acc830af8f4252d375a31c17e0c7ff1762924e952e38b7b836a8d07a94ffd27783ce91055bf87d97023b4c2a1e127836a7 -KO = 56eeb13fd12301080d8f68b25538511b - -COUNT=10 -L = 512 -KI = 0cdfa18c42daf9cb9f120db512f1ad1b1a04da81e4e797a72bcf5730891a60e84f40deea0578f79d088936f62595eb88 -FixedInputDataByteLen = 60 -FixedInputData = c7aceb8fd29150527c2af317cd1aa797b2330f70ee3b030b8ed97026970d53341617b7cf1be8d6f7f927c91e1ee20fb4ddd65f4df55ac52c075e5163 -KO = d224e3e0a829ae0c3f4f93f276614d8ebba69abfd8a2b8dc3a8e501956516cd1d09b6f6e42a965d9639a39b868b876c6f1995fb51b9b8a1f16ca6d3f31810ce3 - -COUNT=11 -L = 512 -KI = bca1c995c26e4995e4c057944d6c384b96dc4b5d1fb730d1eb0a81655a6955057ebc85381b910622624d16985236e898 -FixedInputDataByteLen = 60 -FixedInputData = 63cde02a2b666ed6ac2fa440e7a4bd4b82c66b71ea68a2e06e6ca1e58e9a5ca9f84b59ad6eec7454fb5d4816f7a93b607e6f3b527b8ab7c3bc7632e9 -KO = b270310941e74f10ed5f683ff4fa29ccde65e7154aead6ca109c9d26739a16e331854f2d03f61f0c94157fa032729b7c22a2a14afc2265d499f61242944ef973 - -COUNT=12 -L = 512 -KI = 5b4390d36f711bf1839e728da287de20613b2f883595f16575817f6ecd2bf6c8f806834ea6bace9b5d63341ab2b5ea01 -FixedInputDataByteLen = 60 -FixedInputData = 2e91b37c988b82914f912dd484ea0fe1df41fb4945f66447a36207dd8776061a4853dabea181eaaf7ccda46af3d8df03c6378071775183c2a8bd672a -KO = 978fdb80e0483a9eb44689c04a54b060fea3385ccb9f5ba4e59c588eefb2df85feca31ff5f80a32ce8a8d30c704ac19e732ff63d60bd96d3885eb8ce8e7e1fd9 - -COUNT=13 -L = 512 -KI = ace7e6f37335f699533b5535cf29c3fd734fa206ca6d95e314753678b42d74114eac2c8c38977da0de2d46bec8b1487c -FixedInputDataByteLen = 60 -FixedInputData = c91e9b49f6534841c683f4fec5aa0a09e9f10f3d49ca09ac31f003bd4ea02f8d3b352a2d0cdeb910ca4d9b1bf793675dfbca911a9597bcae86e5eb81 -KO = 3e549acfeaa102016ee21798fc9f97f0fa90746a63f1b15ae60e42195d9d401ad7f9e9274ee1c5f63c2d9d504fedf3f9ee0d0d94c750e00ff3a8b91f80615fec - -COUNT=14 -L = 512 -KI = 28761e03b402b7ce5b6cee50640ee3153d2fa09c204d8d71b6d71f3b23c5f02261020fc6d5f68aee2ef344be56b15d0c -FixedInputDataByteLen = 60 -FixedInputData = 1645833cece7f886cf507ca6b98dcba0b1177248d7cf7d520fa802c106404aeff92e066dd2dcc42ee7766ab62e786fc207aaa2f39a79708f39152145 -KO = c96004e446a2640f22fa031e353f84fcae46d3618905c0e3f9754bebf21576391583cdd5f7df01e6a66c9d14debaf605c74472cfa9b900f529fd04940adffbb3 - -COUNT=15 -L = 512 -KI = 3d1179300d06d2587a7c375f50f05f48862874e9f5373891e4e14b7a9f9883a7e5ea8281d1446387009925d0edbfbeb2 -FixedInputDataByteLen = 60 -FixedInputData = e9d2c0851cf2af7da64fde1e81d7d75e435c5af3988686ca1b53223e945fe9d777ff5d6fd73640fad321408693514070b630ee757ad07e1ee4d73abb -KO = 125e238d028edfcb3872b90db7dc45a38a56aabc8d877b725f8e5f99be89905e670a5d5453f368cb00359d5317e988f493a90ddb6483a57665081e45c9a19182 - -COUNT=16 -L = 512 -KI = 8993d87a05e31ec85448c39b1fbaa377aec0f7fc0e5630af441449d6e3cf550f98aaf243e76e5ad56469284ac281f9bf -FixedInputDataByteLen = 60 -FixedInputData = 9f288d19cd5fe63873a93354456bd49e52e662c75102978e08df34286e55ae8b9871f78bb37dbb99ce098596f85a5ec90cd58c4ed8d039ee07844b19 -KO = 851786489b958b2d107fd7cef33eec665c8838a29b0d1081a0df4c599ed5bced8cd9b89e1a6fe9b6e1a8bf79dd857790d18ca6e5aa3502bf4543cc04b12247f2 - -COUNT=17 -L = 512 -KI = 8bdfcdd018013610b2a6fba884ad11d05d278ffd44363aaff613fec698454dcb252a6f62ef1d5abbe7a9298c0143ea1f -FixedInputDataByteLen = 60 -FixedInputData = 01b1f09f0deb64fb2569988f344f5fcc560506dd22c0a236147f7750af52b7c1fab59f65900b1b2d30438129bf87eb7c16cf0a0b6991b445a5678657 -KO = 37a276fdd812fddcb86e689ed9a182d34f35f34912435e4c7d2a075dbd5480262bf908a7a4b1dc036f45f1aa510b934507a95091714059257deb8e17995faeb6 - -COUNT=18 -L = 512 -KI = f8dfa03cb642dc474982344025fdffbdfd93d6d05f4de239f833d28613f7e8b33adbf34f732d1c9499ea36e443b10a45 -FixedInputDataByteLen = 60 -FixedInputData = 4e03cc7962a7dd832e6a43db92c705be48cfdf7de06115e6070b562d4149c358abcf51e30f67c7202e3cbf450146923514d44b9c13ed58d6ec040e99 -KO = a9dfd3de13d0e981d32b66d0494a624f8945e831625e139ffce9ae84ab5c118965acf45c614c6bef375a9f59e09a4e9b3ef021e7e4f61818be67c7442aff2047 - -COUNT=19 -L = 512 -KI = aa4ad379106b25b41a7dee79d2bd15bf8eebe8c0351e0df0ed9367ad65794f2dca62b47410b219852ec8951c7ce56bd0 -FixedInputDataByteLen = 60 -FixedInputData = 28dc934c24994399b32212040b19bfdb1c60b23098262195bc799239f5e827c5faa2bd54f2b3f5e6ae7f95d082f7435cdf550d818307ea2662b591f9 -KO = 2f9e31dba86bc939b9e28c02705d4e3340f7d785eb3e7d6b6187cdcc8cc4cc170c6d2c5adb7ffed649943e97c5e23d4b48aa385042526d2ec5b62362d5c85b67 - -COUNT=20 -L = 160 -KI = 620faf47fc63605714f858eacd2b0ac5b6f42ba54f8094686a95212b6b8ba7433272cb0df9354e9878d350036a1974ce -FixedInputDataByteLen = 60 -FixedInputData = c387b8b9caff846070ec2d17fcbbe55c26009b2c8a1a8337a8f860eba4e65221284d927875a6a96b0f7e5760cdbecb452f001b77660a18d804aa9f88 -KO = 2ae969ce137403b86b01af69251a3cce4cf42d3a - -COUNT=21 -L = 160 -KI = 42d4554413b1f01e0841f2c819c7d48e74f5b930c21c63bf622d951b1b12e5e60cb14ddb697f73aa9a5ef1481e8d5844 -FixedInputDataByteLen = 60 -FixedInputData = 610462033c65a0cb131c0dc6e81f6a17dc4d6d07d444a77b9af9339508c21966a2140ba30b15b3eb6e9827b8e847d479c3e9775e0d34170b43b90dfb -KO = b3cc04e1bcedefd8d6bd0ab81def25afd26b0643 - -COUNT=22 -L = 160 -KI = 28c7217c874e05f94ced8e39cb6e097c77d16ae86077f6631e85d71751c72966116388d159ee68ebc78c1a5bb5958fed -FixedInputDataByteLen = 60 -FixedInputData = b0a0594d672d55908ed4dd6ce963c080774647739d10e3e2932d2c3c898ce7f259641796c26aab3ab56d42986b624cf56a74066d2dc8650dddf1d7f4 -KO = f675e8864134e78aed9eb062f14419ce9aedae30 - -COUNT=23 -L = 160 -KI = 3e9e7b11921f840fdf692f670fb61c414417b8ff52ed3f9f29cfccc8f109468f24d69906b9a488a6cebe97dcf086b1f0 -FixedInputDataByteLen = 60 -FixedInputData = 1a83ce524d6719d95aaf882a8a6dddfe312cc904f53e0354c9a663af2fc70308e396a4b6b2da4a4d8e89118bc3b5742afed7549ce0a7346f0138e2f6 -KO = 609018ef31b96736ecdba3ea5205981fc03ecebe - -COUNT=24 -L = 160 -KI = d30a3621f2fa76063d46a9240783bb522720a1879fd43d675ead992229b9b9783c33291a11767e7cc057ebe503ec1985 -FixedInputDataByteLen = 60 -FixedInputData = b6dc7c983d3d55d13d0741e1b9ac754ae4b9499418afc42c677c38bad7cc75e3d8a9406831feed292a85c5f030bf67f44115515d5bedb8d7857e3dcf -KO = f45ffa62c912f936b9b684c005771586def8b123 - -COUNT=25 -L = 160 -KI = 6a3d7b1282b39f2460f0a3e7a48550879d0a7b455f6fc21b1936a2567ba02d472049e07c77ef604a3cfcb74577debff3 -FixedInputDataByteLen = 60 -FixedInputData = 5bc44673c13ac64f430c32a6cfef228759276a4b496045121108f2f045628281f2fcb49d1c7fc6da8fb8662bd29dff59eb66f36ab5832e3433143be2 -KO = 23a1910f9e0677af75e15a7f9efede04c002ccd3 - -COUNT=26 -L = 160 -KI = 899d599f155546eda6db1516ba2bff1d64bde011a91dabc3cd8e269e3fbd5d00440bcf8e71388842fd6fe139e6ad8403 -FixedInputDataByteLen = 60 -FixedInputData = 6c753a62d08acf5f9e7ebe6ad077915ecdb893f987c681d15cfcb7fe26b7ff3a650b72a5ed7341245da685c70c34ce944d6fd78a08a3d670af8bd53f -KO = 22a111313263cfc42f73760d9d658d4bddc80fc6 - -COUNT=27 -L = 160 -KI = b52cbe5b14c39d0fba539722ed156bf5c7317bbadbab711be7bed1d408b06a85e89a3b48823cc03056518ae0fed8c365 -FixedInputDataByteLen = 60 -FixedInputData = bcd4e5cc4c427ca5a8c8a439eec1aa8cfdfcb5a9852b4e21887643d999f81996674209aaa2f58a8b4eb0c6001da2baa7163c6a6cefd318488ec952da -KO = 44112ff8950420d4e023193f21d5d2a2a140670c - -COUNT=28 -L = 160 -KI = 86968d2095e657d08151744161c131cfc3cc48f8d2ea76680f358b02e44631c1962a5e6c329d9adcaf6ced31c4b77876 -FixedInputDataByteLen = 60 -FixedInputData = bf321837bbe5ac360e52378cc90563b4457c4ba8393883e8e1d7c46893e952f19d40d79ad17588d09dce2ca217a84cedc99640b4f51d298922a951fe -KO = 8449a36651863509dd06c962a6180c384126d7bc - -COUNT=29 -L = 160 -KI = 712005c187395e6bc405a52017a83c2c7fa13a6554aaa17f1d26251bb091a2faf988660324b8aacf87be989f426fd331 -FixedInputDataByteLen = 60 -FixedInputData = 7c629fc151454d369e48c9355efbe7d5edb149a065eae7fa62afcb511161c329efb36898eb8f75d7c796440f0540db63a8e4ede13351df6925ffd65e -KO = b68fbc42eb13a44aff3d91be8fc82b86dd8b89bf - -COUNT=30 -L = 560 -KI = fd659c1feedbe6460e764c687c2950b14c16abc4032c52c51a3359fcf2fa8574051619108cd1ab0df988310da55884b6 -FixedInputDataByteLen = 60 -FixedInputData = 6bb8e42b9a87475ac3878c6b131b0ef5ea3be1237a3964b653b1ba645a5e3c1fc6fa34b02c1726981ff42ca3be96c6d2e050bf1ab34b0a2b50dffd7b -KO = 0d10dcae2ef48c589833ee397cb705e1f30192ebb1e803c9f84c926f8dc5363c28672c13bf5e4998e55e0b3bc1f8a000b268847c2e0ec7b0c4f578a081ca00599cb84505d585 - -COUNT=31 -L = 560 -KI = ff8cb3f8bc0cd5e633340f953aba8731dfe6b0aedc8811f3f10ba9d250399b8408a087bf2a98efe3fcbd37ea759184de -FixedInputDataByteLen = 60 -FixedInputData = 379821ff6c288a8250e818290f5d8665f42aea41f590c3df906fea9964fc6f96636110b2d3b1f3d77d10e3d28ebd6d33d7aa28c3550843842c4a8139 -KO = f2eef19705472a057ea7b9d57e23d0634baffc4dbf1fac4c5fb997484d0201e23289d0f422b94f748fcfac69f0bca3ecb1e1996bedeeff0919ac888f0fa6b80611791bb3270a - -COUNT=32 -L = 560 -KI = 8bd042df107dfac49aa1b48a5dcea116454cd2f4d1f0435e12d80e4eb385e7e37eea644d832cb42e7ca491c4f412d2d0 -FixedInputDataByteLen = 60 -FixedInputData = 42587461ed33dccf80b9358fff0654b7f5f3b08888f6abeaaedd230269f84935522a81040466150ac696d242016dca3b93a11d0942b54aa35ea4a63a -KO = 74c1b4ca153b1c2c009d2a69df51ed193abe5f15c0cd3776bf01b1347e9389304763f7022eeb5e4338168f1ec512d913e4357d2576c713a6833e0b5e38481b3c3857c457a7f5 - -COUNT=33 -L = 560 -KI = b1b0f5833688accb35d35f8235b3f1116bd8381e49edd69f1c8f56e2be36dcb4ffd276fa18ed3e9d8c5dffffe159bf79 -FixedInputDataByteLen = 60 -FixedInputData = 4a65aaedb6faabeb03d942f9278c05b17e8ead2206fdba1908767de5f6f6fc0987964f3168f9161d93019f18de7de90474fbbecfddb950a3f700d6a4 -KO = 9ac25d380a31f10b89a6eef536511d7903ce228ca7338124f72303de804c3469e49e04bdc4639249127e20c8fed42f189a5c6531df938e400032937bd034570152ecf56cc878 - -COUNT=34 -L = 560 -KI = 75b786a415d3839bea21225040d1306bd21108197bbfbd8100e7a48c5963997c82a508d50a3c8c8232c625bf369ecf8f -FixedInputDataByteLen = 60 -FixedInputData = dc0d015ae2e09ce7fad78572b90479447d7147238f574ce46b90deda415ae2c9d83d815c19ba50d32f4e1590533634955151ae2d2dc5183a88c2f72d -KO = b6403ef5483e83ef5ac1df19c87a6289b8ee2d36d69c0e05c7161a9ef8c82699a888f8c58e13ae99948bb9d3103c8c7d26cfbadf12a835a333748d5ff60bf32d70d3d88da7fc - -COUNT=35 -L = 560 -KI = e20c34560f9176b3558615ae28d408383cef60c1fce0d012e3cb17bf73671cbfbb45ca57269c625623aac8dd2e3e8ca7 -FixedInputDataByteLen = 60 -FixedInputData = fe508199c77792710a7e6fdd9f1f240b5a99158493fc912db6adb68b86acc62bb21e02b05e40897a646d91b9610997cac15731b46bf0d47994451b9d -KO = 9836bf0880ed146522deac819b4c532349ba49f4da017f98c5135f87297786a2d89d19d13dcef8728cb6213d894adb8240d304cc232427b013e81746a29048837e68bc7deac5 - -COUNT=36 -L = 560 -KI = ba1f62db6572f000e335365c348e64b73bc634dc569e918fc0eab966db844ec7d4798297c88c612c084d25037f58b6a1 -FixedInputDataByteLen = 60 -FixedInputData = 3e21f6c54af840d9e50b4fee38701cfb0900e298d2a8a33f1bf3b66579a32d3af7503dc833249657242952fa5634bd5b72924ac358a6c65f8ff2a6a6 -KO = af11e48b80f35f2d4523007e1135b1f217b60dd79497acc07b61ce5261775901ff80fb8f7faf0b3e6901c59cdd693ea3c4d537d518bd32d3bda3e7b8badfe44da2022565b9c8 - -COUNT=37 -L = 560 -KI = 9201fedb101f3a46cdc7c137e7218b14e320d0ce7dd062f60130112827c006e16343fa3e8c38e7d2ef22d83cc90b8639 -FixedInputDataByteLen = 60 -FixedInputData = 2c86911a477c97a97e3c544769d01a2ac507d78b38f9c014472e007e9253a96e3cd871ff3780dd701a01c75386023112833d8db071239c2de1eb82d1 -KO = d3671634aa13766a7bb132e1fd0b77d28027e43e2766e09649f4cea1ec4868abc31f77a22555bd2c10f8f029a5f396c07b4737b306e2e734a572427999c58b19b02d13238f2b - -COUNT=38 -L = 560 -KI = 4151316d04c8a494f0b154f9fb80815f96ad36927344683a4837cb66c2378eb7c16a9469df3e34ad76d17368bbf154d1 -FixedInputDataByteLen = 60 -FixedInputData = 01e7998c2e04ec3a383530b182ce5606bb12938a0094aec10b7dd9f6c36638396991b689d5b6605c464ff16334ca16041b1554f0fcd4c9ad77db5bfa -KO = 9814cfb977e9d2162c1d53cdd80c070bf3adf987780b24e41eafce7ce0e98081b9b5146317ffd8f9d8334c4d6ae371c72a00328e07e044a09251ab0cd10fa976eaf552813ac8 - -COUNT=39 -L = 560 -KI = b9d3ee24b57a0e436708a6d96149b77dfbc4fab2b813ca1d1c50014a5962acec9550aee08a1c799f3c48cc5aa9859d35 -FixedInputDataByteLen = 60 -FixedInputData = 25a455d7fb05b71f1ee70448b76645b50d297145308d2669e91f5f481874b74c40c5eaff7b1a9fcaec01a42811197e0c5bcefcd7bd8d028310411ef4 -KO = 7377dd0d53fe6d0baf9d2ef0b13fc2a56a7b9d2f9f61c6a1ebc9d5cc0047efa96060c121c986239c75b5ed2bd354f1a42d9a3cb000406ae311128e15ac8ea163a28993fac64a - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 05bb7ffcdf9616292e674eef0d828d9d27dcf4456d5a477f8e3dfd0be7a71c7d895ebce8f29ec061c47d899580deed17 -FixedInputDataByteLen = 60 -FixedInputData = bde45258e4fbc8444c93c39d6745eb369f795cb754d6b90668232923625a81c4e02fab856f57e6cde722c2e4df9bee4c5ceb2e97d280b9304509dcfb -KO = 2061e8c0198fdb3e8dfd579a5e6a320c - -COUNT=1 -L = 128 -KI = 21f0638944c4744bc43004717ce065bc5837b77fdf7ffebce98351c3d98d1c9323fc0339a70e318fd3fed949d3d2af97 -FixedInputDataByteLen = 60 -FixedInputData = ceaea5f7e66d1c9365e161e6687a1961ea38bd903c3deca25101582646499f55e5663ce23bda77b9d76f9d0b1828d2d358597474e91e1dc96b38fc7b -KO = 0f2f500caf100f53bb250665946e1d8a - -COUNT=2 -L = 128 -KI = edb36faa081c80e66d6a0c8dbf0566cc357d16282047901ffcd48f996d2122d7b6bdd6b55526e54b2e28bcbd7753c67b -FixedInputDataByteLen = 60 -FixedInputData = 54679b28498d258a9c4b540c5e4343f43e454f188232b5cf6ee893376bd1c6fd31d6492af1fc0a3a96b9fbc462e7534f17c0a25e4884753d9903a600 -KO = 6297998c9fe7e1cdf9073e0425924045 - -COUNT=3 -L = 128 -KI = 43c5849c68b2658d494136c39df01aa985527b1e2196e4d94aa9308a11acc6b3c2e7e5426715e4e9f38afae3269a8251 -FixedInputDataByteLen = 60 -FixedInputData = bb4e3f8ced7aec2d3da1aabda9d68ae19deb7c1022ff692e86574b882921ef9bf0865327e5768701cf49173b955c16185a90538d10f43730d2543c66 -KO = 8fcf2b46b562a0f203f711de01541af1 - -COUNT=4 -L = 128 -KI = b12c5fb64a89f8fbf2d89a59d249340f0894ff9bcbf74373b7febf7c8eb6056929fd5fe55e53331304a498ab4526c3ef -FixedInputDataByteLen = 60 -FixedInputData = 9d33ca63420f5f79c06931f4539ca7f634c15530f4b6f8960577fc572f48002099a8972cc7fdb13fbd015fdff3df3f72d49156a14d61270e74bf22fe -KO = d9851833e1736702d498f88e58708ac4 - -COUNT=5 -L = 128 -KI = fdeea65f6f90e82d2764987066714cb0d5f8d7c7d4fcb9fea4b2d8868e6a028fd0c87a7c185a6a8f2d41d3ba095aec22 -FixedInputDataByteLen = 60 -FixedInputData = 82263f109d2db6f514aa3c06d6bf7d85a99bc558a26ab959db8fd511db6bdeae30bb64b686d532ef98bda5b9d633208f22b34db1c686680eabace077 -KO = 8e6d1755a14b2d93d48982492237b0c7 - -COUNT=6 -L = 128 -KI = 77b02b71b7404692544373c99a826dba18d57c28f36a5b5108568b7175296f26a167cba305391ec375e91e3aa5882937 -FixedInputDataByteLen = 60 -FixedInputData = 38b74f158636866bbf98d829b6a70b0826a470a6e7fca7062dd192c46bdc30882f782dd0761f0912a97c01bf40bb5c0cfe3545653e916332358cbcf9 -KO = 29c3d87f500f53d74db8dc16fd57755a - -COUNT=7 -L = 128 -KI = 2b7fbe2a42fbd78f99e3c01cd9b7f796080516ec28885711931fe82346244c8263c9a406a85ebbbc11f9b45bfa2d5066 -FixedInputDataByteLen = 60 -FixedInputData = e92d997a7d473dd0f110bbf8db8413ac2b71097b07e944f5df8820bd55c7fb626dab2e95b455824e970bb053a00d22685a46a812167a11258cdc9372 -KO = 9737616dfab311fd07a6843d0f4e06bd - -COUNT=8 -L = 128 -KI = d0df88bfecacc6790286520d84c0979e1f6cf6ab5dcef86220a13084b88aa66457b8e80605feb9370cf25ca2e37c3de9 -FixedInputDataByteLen = 60 -FixedInputData = 2c8a61c2aabe2489d61808545e9f93180b0cc04fc6dcfef44e7b9f80b944bb79eb0d06ade463e445a3a4e81d0504c84e4c1eeea0372386ea57ce8ccb -KO = a128c56a040fc193bb40f71117b9d6e4 - -COUNT=9 -L = 128 -KI = ec58e41c78298aef4e547247dd0de29feaad85afb15a8b91b6429d13b65b427902eb7b743c08deb1ba5c31455364ee5e -FixedInputDataByteLen = 60 -FixedInputData = 8fe129bc51f116fd79db7ea097539e6340ce80d3b9b165fc3b8179f667d1ec754803f5b0e9e7487fa42044025c50e5baaaa78766a1204149e4ea09b1 -KO = 962bd3f43c587ec9908b85573361b081 - -COUNT=10 -L = 512 -KI = cc3cc0f5389e92a22264e8bbc4dd5edf5d4de6f935bdc52367f0d41cabdff0878280b2be11b974f38efc3dcf5e3945ac -FixedInputDataByteLen = 60 -FixedInputData = 18c3bd1ff3a5b738f293e5eecf52123d05467c3d1456ce413cf454b3f62f75ce8140079e1949f8288cbc0640400e0b26da21270cd2ca8479d1f79e06 -KO = a003e075c114016e741329de2b35483ed4ee35e7e263a03f0d3ce7d03ce9cef1a9a5142534ac6c7c85010d8c2c9c4da98713cf2b6bd2eaa423dc5344cd70412c - -COUNT=11 -L = 512 -KI = 14e8fcbbba50d88f458e0c7907a597de84860227ef4ebcdf66f54eb0210b588c8d61d6c4b2ae4c4d9ff9f67efdc3fcf2 -FixedInputDataByteLen = 60 -FixedInputData = 3c03421642cef99b5c6bd3b0588861e890e96eb9fbef06812e781d6705a06b710cb511d37b1930fa640b39cd1857a1aa33e384d9b79300eb0cb28913 -KO = db615ff45b032c6bca845f36811d19512d92f3d9fb0f9e49ec1333ab394cdf30b75915f6f0c4469adcd112fdbf720a607ac8c8823ab4cd424950e1e35069454d - -COUNT=12 -L = 512 -KI = a31fcf8a3827420eda9d5d012525df562dfbbcaa8d654b50c9a63a86a94a75016536908fec50024d4fa2d06773dad708 -FixedInputDataByteLen = 60 -FixedInputData = bae4b1556ae0b77aceefd72bffbd8f5bbfd1612d8337853dca5d0fd0225c42fb5aa195c650bda1fc5014d8089dd310d78a54b96ee4596d4cbe10c19a -KO = 0536f63a6e0775b166e876f5ba8ebaebd5d0ad4adf7f227a479a8fdade1d17bb8cedeeaf07008ba2a622828bdae4a4e3e77b741b5e74b9a6c3ec14c039cf1529 - -COUNT=13 -L = 512 -KI = 6558bdd448b899d5ae5a97a8b10b92088341a53792c08137a0e7a109e55d89843b94d7229d1e3c045cd1906f22893994 -FixedInputDataByteLen = 60 -FixedInputData = 208ab21761db0b474450fef426ed0a26b42ec83b93b2c4e085f06b996af340b1abdda0309d0703ef16cf154bb72dc11a16ad8b78dfd0bb87587c2981 -KO = 41b1897109619000d07d0df1845d137539e34df73d05b944fe8b79a679f40010abaa5451b722789d5c61bbe8b77e3faaf279f793ba10e472553aedfa73dce088 - -COUNT=14 -L = 512 -KI = 388909381e451837da089c4af3c7b42987a97ae5504ab511f9eed02e305b62300f71583b09f5e28fb182e2d04b336438 -FixedInputDataByteLen = 60 -FixedInputData = a87f8da3daf62c84214b61c50dc26a4b136a4deef46be94b2acf3618ba90c703b0d211180028c2f4b758372b0f908a8b2085bc9ee2385934d85af62a -KO = e3778d8b04f941bcd498bea4f023251f098c2c9664e46d29915ecfc3d7b1c4221e8c0345964353cf0306fd8ce7c26289835693c7fa9c5297261394d7665142db - -COUNT=15 -L = 512 -KI = dfdf45114b3dd753a5154e11a74e97dddd3375edad11662840387e5d213eb1050abb47b094237378efa9bea889fdfd10 -FixedInputDataByteLen = 60 -FixedInputData = f391eb94434b5301c9b6c8cd3dd3a1cfc1829cfb2a5218acdc25f2a69d269e7ddfeeae767862776ddfaef84055bcd7404bfe84fe024c6206d331bc33 -KO = 7b6c40ad2dbc80b57c56370b834388438f30d20e734470a16fdd32dcf564404af7bc6926d5113bc67d981bafb7ec09a97de5ca174b40bd8f0e4f1748787d6466 - -COUNT=16 -L = 512 -KI = 51fe96a161de5fee175f484f7ef90a2aa91f3e37f58919783d60f8cfea8a64cd30c8650330980e80208dc73a1219485a -FixedInputDataByteLen = 60 -FixedInputData = af6fad2dc13b10255abae054c70d76c93ec524f2f2f2d3973313e0620cca9283e29a7f57fb4b6102a2fa854f33fc7785fca35b37061a9f6543046b95 -KO = 29c62f05967ada4e894bd5d90270a2285e899828a8f10eb87d42e61350415292fd5a8c41638a8118c78727ec21e951f8178c8b943c888301bc9a9b387150ad58 - -COUNT=17 -L = 512 -KI = 5a97dc2c2793d1933ae40fba560fb9ac764641fc02be1ee16d4acdba89c99834b9620a7bc94283fa73bad5316f59de28 -FixedInputDataByteLen = 60 -FixedInputData = 851d68dd7cb7b129123ad31f32bf5725f0342630e034ba6537435dab1f718ad450179d2dac3abaa4683ccd7cc4d2dcc3f25506f09374ade6f030dca9 -KO = 1bef7d15ba6c866ece6e0daac5dbea13b4c82c3f75d6c6b342d888b0afe007af8ba0960bab6aef1cede1a2c80b2590aa4d6fe05064b864d5463a04189a5519d9 - -COUNT=18 -L = 512 -KI = e74685d104a44cc822f72c454f9a6a015ac8cf89b7f0bbb8c6275df97e2ccc610747773c8cd5a59aae3f985753e4f18b -FixedInputDataByteLen = 60 -FixedInputData = b789cf964287af9c5c079c5807fdcc2df17c5bdc0e39ae4689a047e922cd1d6b9c8c76c5c00a5b5783be78e42c491f8cb014157ecfdadfb961d60496 -KO = f2176698019d43541b858277596a79f94221595c04acbba8f3388ad15a88645a194eefd582ff558cf993e2d3a0e9fbf6aadfa242d87b215c1775813be9f04d3f - -COUNT=19 -L = 512 -KI = 14aa2c95aad4b07c81e98e139db6bc825f3f3d14fc93b0af14226243fb31091ace66065378f10acac7dd865e23f79c1a -FixedInputDataByteLen = 60 -FixedInputData = cc0ff320315aeb9cd15b4c3b7426c91ba076fe3739522f91c5e234d62cb4a750cf03b54136aefe1c055bb51423a5977ccacf9ca7e3f0851501432d14 -KO = 1ac15c0b1e51771e6795a74543675d140b531894d46915c73005d3667e863c289a967ff80da262681a794097068e96f6b8afda21f3ff4af42a62056c4367968d - -COUNT=20 -L = 160 -KI = dd4a8cb8c4fa19419fdb1bb91a6b534a53e0fa4521a08eabbc85cc2cb2b27cbf5b6b718aa39416be3ae980476f342e0d -FixedInputDataByteLen = 60 -FixedInputData = ca452ab3defb971ab3ba87bc494792035c3002affaaabe456a7cabb2453b02282d15c988a74f5438ac72dfb16b4c6f6f3a9082804428fea55c47669e -KO = c954f05e2461b856e8656b6b2bee51c4a85b0cbe - -COUNT=21 -L = 160 -KI = 03e0ad213c6ef8d6768a1942196143a8555c5f9a727d0c69beb6f0e2670390ecb84818751ebc025fd4d00432f9b5a344 -FixedInputDataByteLen = 60 -FixedInputData = b64ed20b2ecea9d39bfef07a8a4dfc399055ed3a69bf98f3476d53a3cc66e1cda48def17676a0c279e3a8b41935bec651598bd755e7410788dd32b4c -KO = 8ccf05e98103248d974506447fd91c3b30420af8 - -COUNT=22 -L = 160 -KI = 2b8ec93e445dadd2a08143c7aed021d9814a9abb763b7965414562af7202aaa1645ffcdbb0a1c015937407a224439177 -FixedInputDataByteLen = 60 -FixedInputData = 46a0cfb2615236417a34ffee6fe8f6be7a4afdc6598319991654400e39efa06ee3ac301d9f38f682fd22a4698ca846fcdff3583609843d356fe55161 -KO = 3dbde80b6cbd3665bb52f9dd8706d6dfc037648b - -COUNT=23 -L = 160 -KI = dfd3a1c987f445d6c9d0464d5f00a58623afa00e6aa08b39b35ee6626a91c7207362b1f3cdc8c5d1672c107db5f44b21 -FixedInputDataByteLen = 60 -FixedInputData = 08b993c19e6d7909c35871d61a1026c0a1a72a66bc6ee8f01941a78dc37c2e192ae14e006c2bef8c54bea9711cba8feef0d5ce9dda04c92aa2299d6d -KO = dbf895a662d83fb2319fc540f0851e3a3222c443 - -COUNT=24 -L = 160 -KI = a5c37051b8edf1e5647f7bb163bcfda86a8d94d2cd96b222425ff6e8578b0dbd234d7abce0c7aa21a03a10e2a45d7f30 -FixedInputDataByteLen = 60 -FixedInputData = e224157bcb2de798084d98f46b7120cde9fd7923e6c7f950cb16b64cc4ea139a87b54df67c46a96872bbf0bc4d2c7e703b7baebe43d407dc1823c966 -KO = 8599866df5cd56e1217ae27a2452a815d3834018 - -COUNT=25 -L = 160 -KI = 2933dea2eab6d164441cdfe6cb0c5c91e1f9d36667f11822c11098410c7bf59e877c71490ad1d1c22fdba07244ce5aa4 -FixedInputDataByteLen = 60 -FixedInputData = 38b97648a5ac45b41592d504074a5e6eb8faf7fabacaf7973962e63315b6fac30e3b114586020bc20243a32c13028a8dbbe1d8c39a4a8291cf4314b9 -KO = f73aaada85de26f56443466eae86d0b830d8eea3 - -COUNT=26 -L = 160 -KI = a1b47bab3da15fc0fdeddcb9560976a7c5e339f80ceb07a23faac1091506a159d95055f51b29c03852986540aa7972ac -FixedInputDataByteLen = 60 -FixedInputData = 18da1a9e5f650667104ec0991f32003a691b0732f140f3dbe02cdd06112e432561ec045c716ff7a073b32213182855fb789c7c7d184c6119ed9a91c3 -KO = b48b7e27a00e7a18ea2ba23bcad43c6159c5b2f3 - -COUNT=27 -L = 160 -KI = a19a9eadc6951c040f9e50015db726f11f23a0506a59b4033dee19e2d46c81e427a6bce714c543dc2ad03d2ef789f738 -FixedInputDataByteLen = 60 -FixedInputData = 22aa2e2de660b2e86537eeed0397fd72a047af214daeca4df957c81e8f605ffcb3a6f6ef37ab96e838d3b2203339c686d51af76a6f06401532b94026 -KO = f9fb9d69d2c4d6de3c8a922310cbd8ee2875be4e - -COUNT=28 -L = 160 -KI = 0a126ff7d2ef335b752405cf9df27474cfd20b746850e9650edeaac4d4af6f90935fdb845c7b2650d6310975797d6f79 -FixedInputDataByteLen = 60 -FixedInputData = ace4ccb827e3e5831c9bbed562223d91cfa75a25b7e48820eb51f84fa07aa0b24576de8956421497fb1f59e9cc868fcc6e6525c5ed80f0f3401109ed -KO = 8dcade73d8357d4f6071c130dc4fb6a370cac2a4 - -COUNT=29 -L = 160 -KI = 6e3e5df9cae93ec5f83e51d9e5ff28c366e78ee469cfc598fcb312935759cab7d7700175120af74b31e83f66b99ea6cb -FixedInputDataByteLen = 60 -FixedInputData = f2915558d8bfbc5c8137ba49faa3291c64496d8f3ed459539460713303073ebfc84bf45dfbad7f6e9eaaf738a144b8900072e99b509ef2bfcbafd497 -KO = 0f1f926863ef016e96d281b05bce8b3e23e395aa - -COUNT=30 -L = 560 -KI = 2d79718e57a7461efaebdb8fd10475163405dc4c647d8c9db78ade02aa10754888e588f08e1b905e73d4f530d1209954 -FixedInputDataByteLen = 60 -FixedInputData = b928a13f28fe66a18e3a8996ab239f4ffd01c4213156f6b2e23d40dbe4f259029820e0bcc66878a7df085799a4710e243d71586a302632913639e501 -KO = 5cb5a43fe40510227f71309a903645094ba3615a2d46349f8f944ebba61d0dea68f6643f656df029d17390c45578a7931c37950850318b7c95b625736974ef8e820f04a6b496 - -COUNT=31 -L = 560 -KI = 7f18a4ecb63264686af0f558b5e00ba636c3426200b95affba3d9b0f670b33263aabec463ebcf7e45c2e44aac7b83890 -FixedInputDataByteLen = 60 -FixedInputData = a476a71fcba48bfb4d9293983e6836d791100671adc6950ad319eebc5b172864a6a6f53469a6cf9959fa4fbe88055f958af38667aef0d59a3078a5a9 -KO = 116cc2c50effbc882f1a112dccf3747d8ff54fd494efc481f69cd29b909621651bcaace92c0afeba05cc2612778836ccf75c93c703a416d343df30fc5f3c98317798d36625c3 - -COUNT=32 -L = 560 -KI = 0c45dd79c6edc6f493c9049a309af03e4a677c745bdb2bddc70660ebc5248227580a9e3b67d6b8450fba68cb58151510 -FixedInputDataByteLen = 60 -FixedInputData = 70738d90c11c8a67aebeab97fbbadaa506ae49fcabcda0c64ffa3261f0d1cc30910645ec845b0033f17bc379df12ecc09d63047aeb44fe44301371ca -KO = c5067ed4be0350f615e6278b98a6d5886012a49529d1b3322af2330c07e07508068aed09d65bc0804feef597ec154b3d09591bff471a16ffb146e60c012bc5ad3f4ed67b2924 - -COUNT=33 -L = 560 -KI = d689e5162d5dae4df13ffc094b0b6b0f2ecc43af553610960036efcccaf5f293421f453d5c7d5880cf9b3b98053ddeb0 -FixedInputDataByteLen = 60 -FixedInputData = 6690d438acdc61da67a9be9cc12d64c88b0d9ffa806f168ff4cda1106807bd8135944b3ef345dbc0358e9d5bd63aad0a7b759a44fa1f5d84ee1310f9 -KO = d93029fa4a7423b4b2d6834758e51d506a6cadbe3af355099fa36f6f9745fd15a4174c60ab25dd41b4aef25979702fd0096fd9e8d02b1c88dbeaaff030f7faa777b20f989490 - -COUNT=34 -L = 560 -KI = fe116f13305cd1f46ee28ef8dd617884c52f895c1cd7d4a52eba79cebf9f52675bfa20950212f093419d9174f1d3b68e -FixedInputDataByteLen = 60 -FixedInputData = 48ddac14ac0d42aa7b44a2ddfad54abae88724353baa72f8066728e777e333758e9a8fa3e65f0b7c6f02bfd6123525879818c10d30bc7145723bff87 -KO = b055a15f0c4a19478b90feecfce28a026b4265e85ab6264718dbb7c63b24eba741a0f54aeac21b9df603512e1c4791a4e5c20b8013de5295a4f57a64cf33769910c676334998 - -COUNT=35 -L = 560 -KI = c94220e7cec47c38417f6beba3c836536ede2d0bc8256dc6c4ed264bd8d04dd07c36e794de354b95e95e55c4af4c3ef7 -FixedInputDataByteLen = 60 -FixedInputData = 12147aa3512b798fb660559b1f480cff7f0a6b7c7e645c2d3a8079ead1aeb3f3fda24f08eea65beed5ad58c1173cef7107f2d2a1905f87074b96ca5d -KO = d7753b227bc7d284e80f52be9f52065f4739e445c47283d24dcc883bf9a76a19523121e8592dd05c5756529baf0cb99ea212b373e9d756b5196d8f60826ee221eaa30653534c - -COUNT=36 -L = 560 -KI = 7aa9aaf795bb2540007ed4d483a2a42c2c0b37256ff7c54e522e304cd510672d76d011cebee84b96a3c1526036b05290 -FixedInputDataByteLen = 60 -FixedInputData = eedd9d28c0f690fa57b0777e5844497027491352886fa4b78458387e3695f560a589923f7feb6bbbbd3a87131ce0fcfc4091f1d68edc8b10bd6f4174 -KO = cc3fd5ee3200977b7260854dff569636f0631ea687f089c10fcc55218b01187cf5c54e091c3b7fe2e4302f5dfabbc41337dfd45cb9ccb30dab017c4a55ecdf82e2e4a5fc921d - -COUNT=37 -L = 560 -KI = 50128ead89a438c06bc291a188e512065d866c15d6d2708a45e06a091dcbea62f6325259d7f6a90161d09c778b9bc884 -FixedInputDataByteLen = 60 -FixedInputData = 26734ae544d809813b79fe8245468ae04ea258a7600a9d46c3c77e430b93ffef0dfa1eba8f7a59b74c7061112632b8f902d468fcdc860e3cd6841d45 -KO = c670c1fed502cade420c1c00ed648eeff096f3e6c64ed88bb91e1c9631764564c03bfc0d47de45f9352af38123a9a9f5e56a03db3386886ea150f9e53120374b6adff94715b7 - -COUNT=38 -L = 560 -KI = 4dc1a5f7b74dab80cf974473373e3d8b659bb6d46ce4e5d3415dbab0960ae9c1dec6f4a060e85ceb45112619ab44c48c -FixedInputDataByteLen = 60 -FixedInputData = fda9787a1fd67eee104305127f06d87b85366bb44561ae888fadde30326bad4eeca4269e7d651405272a4a8d0da327ba2755b1d510f2dd81ab98cb13 -KO = bb6206a6cf9ebdd5631f423c231884e4d9c9c591879010ff66cf93c7d3c1c0134dbbe0d35971c269780ad4f96efbf1a9c54a6905e15a638ce2bb929b6515896fc4b41ce65378 - -COUNT=39 -L = 560 -KI = fc60fed378dde6614157bcbcb4eaf8147f3176fd0c2700b08c69d21277526708b470bb4dbb502e7384c76aea8e085a2d -FixedInputDataByteLen = 60 -FixedInputData = b64e33f3d78915d255243142e59ef2ae2e2a250022ac023f741893d16dac3812f9b0f3a39f4321afe5d0533a3e5967da6722ecd8f44a2c41c6360ca0 -KO = 6333c7537b3fc3d638014d42f7bfa90663e33007b0dcc67c8cef9451de8f195317aa166e7e29efff47ec49b19651a3bf4f7bfe5b026d52396a3bfc2af332de16b64d7fa66e68 - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = a9201b4bd42f567b4155f05163cb11150dea92e6df5625a8d6349bff8393f823217ec45daeb36df89d7b40e5a2663c6d -FixedInputDataByteLen = 60 -FixedInputData = 0f445fcd61af86ba31539e14af876603765460a9f4008cdb714e639b719814a06200645858009c6d5b4fe8defef1919a9e639ffe799f99efeaf3adfa -KO = 150665611aaf7d4da38c653af39ecc97 - -COUNT=1 -L = 128 -KI = 7856773f1eccacbfbc94697330cb1062e23caf431cf05070ae7b1ed51f5e7bfab90e1f2e84cbb7df1a3e79143910da86 -FixedInputDataByteLen = 60 -FixedInputData = 2070fd68c1904a940e584746d6c447a6859432fee5d7813cf20ac662f3faadc292fcb66ed35298f77f97282b068b626f33201b58fb61c354866f7e93 -KO = 171b0941cafc4cb910aa3e98979fa986 - -COUNT=2 -L = 128 -KI = 30e279e810f8f5e8384cf0d12c76832b5a53e22beb9d03cbb2a2d8ba2ee8e9136deaf6ebbea93d77500dfd8d52cabeaf -FixedInputDataByteLen = 60 -FixedInputData = 0568bac6f3c04a9ad266bf86d0f82cea931e5158d65778b10e8821ec81335a5ca1df98ec840b9144ca8e3e50b7e9cda571e292a3872bd835a037bdda -KO = 82ad3c1b4738818b3cbd89da4765d359 - -COUNT=3 -L = 128 -KI = b5a11cc44da7dcea68edb237a66f69e3c2e317efac768743c0f11123a0dffa1f955fa037871ce3236cec378ca0fe1b2d -FixedInputDataByteLen = 60 -FixedInputData = 502752f23fbe518af839e307d5ff224f6dfc49f7334131acc14461e34ee5097071831e5a72633120f8cb4dfd6e9b8f82feff89653f9a7256a501e218 -KO = 333134809df6b2bd175ca846af8ab93b - -COUNT=4 -L = 128 -KI = dd1f7cb3929fcd95951b53c85a45814dbaf6aba0ffc643f35c0ee4133bb42fc94d2dee64acd1ad994e5584f756c968f1 -FixedInputDataByteLen = 60 -FixedInputData = ffceffdf456da6b5050f00c960581662a5faa007c10830f9e650c17c20992f02c3e503103716c5bea3014adcfb8942e05ddcfd2b28e53b939c2b0c61 -KO = 03464903987872662b5cc67b6b3917a0 - -COUNT=5 -L = 128 -KI = 344f72c69ad73c0c46ec724fa27cdd64b8661de79659d1780ee5f1cb25b9fbab52941b21f3da306d6e3c58e03524f251 -FixedInputDataByteLen = 60 -FixedInputData = d7c81328c9f5eaf50e72fb1933dcb88d7fddf64841aef9986913c16d403788acbe49389280b229da3075ddc3c446dd1fb16c248b2f97ba22f43e1a27 -KO = afbafd74bda281710031a71651a4d2f1 - -COUNT=6 -L = 128 -KI = 5aaaabd6ef36fc358d4605c23c5f6fc75cbd0e9d816c5a62851259eaa778414372960eaa478fb0f5b135e09ba9f56b2d -FixedInputDataByteLen = 60 -FixedInputData = 08314996bbab69f7ef2c901afb4db791a0b14c179a7fa456447305a9a525969ff0a9a2c79af10839ecd5adf049546ee508da90c95d9416a456ceca8f -KO = 6d1ca7f6cf70363e80cb9a952fb35153 - -COUNT=7 -L = 128 -KI = 472ac6dc99a8613abedc95acb0e99e43e023f4db65ceba42ae7379f7c558ea2e4c4085bb61c6b074b02fd144f369ee45 -FixedInputDataByteLen = 60 -FixedInputData = 5cb19f165eeb17ee7e5450c8169f487dc0a0493410eedae0de1061a5d01507b6bd635b4ba52c15dbc72f883f9c038576aa1106db7c0556a2ad78c6ce -KO = 764cecf4b30d35c3b213f45ad35188e7 - -COUNT=8 -L = 128 -KI = 11a713dac387bfc2bf37ca09d54f8603578d5c65cabefb18886fec5577b6bee0e7db5df9da1860602199a4d833ad1c14 -FixedInputDataByteLen = 60 -FixedInputData = 6baf05c47a09e2dbb751b83c381f58edecd7e8630ce5049aec7d3a2a86145fc369f32e9d831e9b1e9a446eef0e67bac41f276e072fbe0b663fc6aaa2 -KO = 2f053f9677c77082ca6ccea9fcd3d30e - -COUNT=9 -L = 128 -KI = f41302938cd36edfcbcc735fb4bf2432928fe215fc47da86559f77b365a5b76596c7ae17b3f39777f1d7545ad29ed5da -FixedInputDataByteLen = 60 -FixedInputData = 5219d7a3a8663f50cc0757ae534449c0b075b0745cfde335e87abef97b24b2059630e5bb6e06fc634d2cf14a508d49c4a50a4920e9ffa96a39ab6a5a -KO = 057d67425b4683a044dcec20a7f01cd4 - -COUNT=10 -L = 512 -KI = 77f120b17c11662f7128a6a1afe05d7983ee727d507b2530e8c42a819559d1ac9197645d2089398c3f9ce2fa4a5700a3 -FixedInputDataByteLen = 60 -FixedInputData = db1dc6ad8b4930b2116bf05f79b47b18092ec1c24c070fe304f29f6d316b811f249c684ceeb8550d03712b1470f4035cd36f8902ec6ab4ec6a7b81ee -KO = 7f3ecf615357ddbdeaac862df142ca2ffea247a367d5cf1a293e24955e3b9ac17aabf932553a2be8b128cd447a41b65e83bd622574ced072414affad02f230c5 - -COUNT=11 -L = 512 -KI = 5c9f606777dbf5e8b7dc0125b034bc1b4e44c3707ea441312ec318ee52bfb2b5fe9534070fe96a3ab363fe429e6073e9 -FixedInputDataByteLen = 60 -FixedInputData = 5500c38c2a6c156ff48e616cc7dff7a291db686977831d7210e35b7e8936549cb83f60aba958208149877450f80c6f21959e3be37dd25539bfedc89d -KO = 844a188147ec6cf855a69520078504d0982ad0f94affc0163051e659067f3d6bcfcd8733c30433d50d344b9964bcd0858d40850e9c8bc74f08a3dd2471eda931 - -COUNT=12 -L = 512 -KI = 50a2200cececdfdef1c79a168e085403d41d1ca4b8d4eab9f2a7292eedb4862fbcd99d79dbbbbd230c95e22a3102d071 -FixedInputDataByteLen = 60 -FixedInputData = bae513784cacc2b51e179423db44d94320512ed4ba5bf46014b180b5628380150d26e09151a1ac6ba183bf26f97eb36de7ad2fd021da3717ccc91ef9 -KO = 377c1754886b3b51cc68af14bea8a4a1c0877152601cef42c791f18ca8111fa72a9ec16d0a7d79e65ae742c024e1513b30e65236abd500312c8ccc217eb1d4d1 - -COUNT=13 -L = 512 -KI = 269180aec08fa028152dbf831528c805fd0611dd4626bcf6811d67702bb2c931c5e61bfb9d0fa95f3bd724adfc933990 -FixedInputDataByteLen = 60 -FixedInputData = 6c3d65761051408bb7bbdc5d593260bc390887b5ad4bd68f85f12d63f32e57132192c3366df5d57e84b57ff2ddc308e71dad48e1969e40fe6ce765b7 -KO = e5a6a3e00dba656f3f085ee245b118d0b5ad11bddfc971a3270d82ebd37bdb79f3cf6be6245760b2cc315c6b2e0c3639cf8f7a5447a6a8327639d6e5dfa2c144 - -COUNT=14 -L = 512 -KI = e3a22a99fb31f6543b817b331520324c14a483886ce53acc8d943bf70df00e8777d315b9c1f472f227d4e19156e16f00 -FixedInputDataByteLen = 60 -FixedInputData = 42313da66f5356bcc13472762085bc338e7b0d3d7f85f8294e84a354f435413add63320c0f110c45365c7182e57314165d60b5328f81e5b2396b7551 -KO = 1e6b0a1d4246c284f70224cc091d06750b4bdc3d2bbed0c8c5dd40c5b5a90c88f4dcf2010929ad7581bde35aad6c514f42ca43e21d7ddcca1e6640948ca89c64 - -COUNT=15 -L = 512 -KI = 7de91de41fef7c94e37b0600bfea27e427673b7a46a94b5116ae78d114e9dba4f327b504a16ec780a1c58de65a071aee -FixedInputDataByteLen = 60 -FixedInputData = e30c270dc80784d27afa6381a38ebf0a3cfa900a87b45358ab4041b8b669a37575bdfff4244d455c4e8a9c1579588228c29140095c7239ec378b7617 -KO = 1c76d3f979c571a3acbd0df092ddc3aa5254b38ca2c9d07fbb12b047325c083371205c11339c67bfef4bd46162bba0ebad4d9697398bb8011d57714bedcb6c70 - -COUNT=16 -L = 512 -KI = c6439e81f9cf3e80b406a8475ac2e2e603d129860667786bbed54ad0b9f50e0367e7164e7cde2c62824f125e85327aae -FixedInputDataByteLen = 60 -FixedInputData = f05e8adf8ce14c01775b63c1b406d5b15231760198dc96020b4234fd648336fb11d68d224e3c66f69aedeff70c4312473942b36778b984f50d5961a5 -KO = e1f5c81a489fb9784ec68cf61e2163e7b842c5edc41bda1813229cea6191ce8048945899e7b3a28e8d9740108eb9cfa293532f5e36887c9059db1aeb5581f5fe - -COUNT=17 -L = 512 -KI = 9f865fe19727c3a79732681914b43dc54143e614e465d55fb839bdd31a83a599a64f9116dc935c774d6d80ffd84ae6e5 -FixedInputDataByteLen = 60 -FixedInputData = d11fd1ee3568c43c3288fda4dfc1e71253f389bb2013f4b12a3893a7b0e9b345bbca671cbf2cf3942f61f83486d357d02ffea32ee92ad4dfec05630e -KO = b2e79b999ca8cf8e31044da58f0245c9c3b869365e2ddb1a4ab505e86f1f29065f609617d4c7be91aeed8febea478695c42ddec679da3a8e26d970d874c9a7a0 - -COUNT=18 -L = 512 -KI = b49c190d46e6922b940e59861d289cd35742b9294db304ef8eb35969ac3f74de05796aac2e39210659afd2f8d8c777aa -FixedInputDataByteLen = 60 -FixedInputData = 480758818a36ee817447bee75f710e4069d740cef568943cdcdea16f867bb8a618e2a9ad6e29488415da0129c61e583065f228e1614ffdaf0ed8fd34 -KO = c131cf249797a35be11d6f039d3c185477233d9fd180ea29f4179a3127514e0bc613e7f83809b9c015eb83d13bffd11ac9421de67036b21eb1d8aa2ceb4d988f - -COUNT=19 -L = 512 -KI = 0317db83d53320a0b297c72432628b54dab4895a49d169c0d3a8a942494ffa31df856b07568638dbffdaf65ce3634aea -FixedInputDataByteLen = 60 -FixedInputData = db0a3010691bfe46c67833fafa4f413b813800aa1c5b0a0c726d83ad7307ba180889d7404ed06c82792db538574951f76a35d3f8547cefa0ee225672 -KO = 58d69c39d88281321121adec153cf699086950f0d2b80e2070ad68e3fad639d3d827ea536804579d4c4a6ccc2690c7737cf865e09bdf8d41f5a00796ca6858b8 - -COUNT=20 -L = 160 -KI = 5bf606371b7fe35858fc0ebfc544b7df3b5485e112b57f1f0be246155ac40e5d79868d2d18a9379d37e2897e6644c782 -FixedInputDataByteLen = 60 -FixedInputData = e664971f8001a7ab8cc26f5b604cac508307b919fb0bac5b4b0fe6e9f8feb57eb4ddfc07c83fafd0671f2bb3942a5638af9080f18d680db5d2bb5997 -KO = 7ab1a14eea7b6b914f67da16a4a87619b75e4830 - -COUNT=21 -L = 160 -KI = be3e429a2dfa0d841e7dd0fbbde53ef705538f503a62d3ba4562b0bcbe0d5f68182ff3dde211a72264e4da621b126202 -FixedInputDataByteLen = 60 -FixedInputData = d87e15b65c21aa32536defbd174a9784f5ab04b9433b53936cf514e4e8bc723b3f8341d0b901447b228b41a792d88db50e116050cb114055dfc43bbd -KO = a1af62fbd721ba3c0cd0e3247d76b8b9bf1e1ae0 - -COUNT=22 -L = 160 -KI = f7ca63129b7b3576197bd7b8b43406e5febf79decab60542d27f9290837140df12ce3ba95f9f57e143bbfd0d1475ff2a -FixedInputDataByteLen = 60 -FixedInputData = 8cc589b743af9703c6e5317f8ca654d0eab430bdb85b33e0813c6754d436daf998a137505d0dd6c8ba8fad3600743c7c5ecfa2b52558e03e617108a5 -KO = 48baa3cb914ee23380f6c56e34acf2d0564ae4f2 - -COUNT=23 -L = 160 -KI = 87afc2551e0acd7860ac3f4f867b063483466e3d1606d4f76a8f78eec6d8c20ce270c66bffafd84445a962ef68880b57 -FixedInputDataByteLen = 60 -FixedInputData = eca8ac551da72fc6554a11690855134120275626209e07ada22431c845b98f292f5da9fb3945f900f5a52f5edb4865011e8b598cd03b4af1fa25d08c -KO = e024f6010236a1571231ce814ef349f9d5a1a97c - -COUNT=24 -L = 160 -KI = b51de4ccc2d9ddcca149f02b1809b24decb74f94dbd713c248c0a77ec43a5bb161f5a45e122cade9e76506342e1c763e -FixedInputDataByteLen = 60 -FixedInputData = 6c0ce4f15420d5697e2bc185115a78f2b9b9e1f3d64c98b729f125c944b9afd9f6937403b449734e8955c24c5a430176c7d741ba3a7343d289527fa2 -KO = 337878ab92fad514d110b4796c487dfea6f953c6 - -COUNT=25 -L = 160 -KI = 92704de193ad872941d460ed47d72f9be17cf4bad196b7e0d5e08760acea85191567ce2632db123c214ddc15154b2f43 -FixedInputDataByteLen = 60 -FixedInputData = 6bebd93e0025fb14a73f9b36b54c08538e155ee15a3232fc672d1e2bfd6ee144f37f6283b2022a4f7fac503ec3a7791580eee701bcfd6c3ee85a8b52 -KO = e2adc1f7dd91015ac1694061310675d614be67f4 - -COUNT=26 -L = 160 -KI = cea3436fc09ba50351fcc1e64984289fd4412077dabef7363f87b53319779694de85853c217978d8b475b014ea3f9614 -FixedInputDataByteLen = 60 -FixedInputData = bd98c090e704627597fa9efc56f80b468c58a1bc1a624ef627fe181c50216c14f737e8fd143d6ddc8bd8215d000d7859b90733a675ebdb3318300ad2 -KO = 59b93b90e286b6b5cf895e5ef6359b0634f689fe - -COUNT=27 -L = 160 -KI = 859fa913d1e7b8fba8e3a0e4ae59d0ebd6cc155776859b2439d0695ff1a02fe010235e7d63be18724f015a0cbf9fa7a4 -FixedInputDataByteLen = 60 -FixedInputData = 0fead875ee124742755e6926f6ef11e98ded52c0d07a36f43bb8ab9817a0b8f75171ab9ea1b7f1cc311efd73a5c8aa058461af9885606fa27732e186 -KO = 75aa26cc5676d4f0e7d7ef3ac642cb492261e1c2 - -COUNT=28 -L = 160 -KI = 0b525fcb268527844d33f8da96c72a1ac9b1abd8e922aec857235fb8b5fd610256ac8c0b9e3821617189db34a673302c -FixedInputDataByteLen = 60 -FixedInputData = 4203726692d4c87f1899e3d155e815820da47a44f9acb3d1d7e87f9106224b0b186ca5ba6b69716dff374a19a382249799e25e978f5931d8c0fd39d5 -KO = 7faa045e2b3f337abcb66605addb879d41453da3 - -COUNT=29 -L = 160 -KI = 3870f06f57343d927ac8503cef174eb2e5d2663de824d6091b4b4268ec249dd383b16cc434f8f91615fbc4bf38a720ae -FixedInputDataByteLen = 60 -FixedInputData = b05037d8e42144bf3c35f5955ef5f19fed16cae151f159c3968224193d94ff1097d7b9e5cc38faf36f701270327923bcccc1c8074ff78f201a05ecc4 -KO = 7bfb4318392194c8df26598ba9ad5092d3f65739 - -COUNT=30 -L = 560 -KI = 112ff6f135f7aa9971dde6113232e6a0bc4a5d1d7b0c093951238ac8d7171cf7d595f39677a6b7eb7db344b8ef58ea5e -FixedInputDataByteLen = 60 -FixedInputData = c16d854968ec48122905e4b379eedadbc4440172e6bea6ce2f062143135c3e00634aa3f7b41d3f0ff31a80ca8e5547651f1c2dedee09ee0abb50dd6a -KO = b87daea807b4fa0f80de52caef3e934a959a8231a21c12f4c8d54490bdf5a38c8855f2dffee55a908547693fe8b72c0dd523fcaabbcb19729c35c4d4f8baa74eb17c57b6afff - -COUNT=31 -L = 560 -KI = 2ddc1d3b6cc80de286aa6f0fa0d8290616f15e7fb52401f9e7ee9b42c9c156a96a11451afd650ee33a7176e7ed5a7061 -FixedInputDataByteLen = 60 -FixedInputData = f74156409fc69a8c2f3d6c6dd705f62c85f4620e6ef7c29e915e9ff76f3e9a4d2f26010bc8ade88c7be81414430c0fa0cff2c7e59444263fa003cb16 -KO = bfe14e0c9e734833bbe2be1b08890188e909ee639b75d36c7af98e830a53d32eddee868f61ff47e6b3ba3a1f01d86306ec182429347327776a89ff507467c444cd9ef1a45c36 - -COUNT=32 -L = 560 -KI = d1700154ccaf758dc5fa5d7b89141eb7b9952401352983689838f85c527032143c2e8b45fd82f5095021656c8217074e -FixedInputDataByteLen = 60 -FixedInputData = 61a44901f9131582d340084d3e68f486450a414e45d5ae091062f690a0327e0ba1d7bb48f30e7e73f3b3c46f5f92965c2177af9ecabc8b1f6d6f4960 -KO = ff948107feee505c15cd6bf8d58f7458f5bbe8493a43f4f0da4aa82946fb0194132194b29312323529cdacc65e5cffbb1d9c4911b2c33eaea63e8c20ee500b2963d750d9207d - -COUNT=33 -L = 560 -KI = 697726301315f92d7a659bdb2ace5547887c75d03e6bc5014a7f4034ac496a56802ebfb208be2d90b628838fced4df3f -FixedInputDataByteLen = 60 -FixedInputData = 3c95ba2d440a9681d2d7f3c57ad2aded9ad31d5c5fb2bd38050800097bee99e35be68f739dfdb3572eecddf297880be2f8e997da88d4cefe7d3e835b -KO = 3361ab9a221da5d023a8cf81b3e6e1d9f517722022e55b3971aceaff57a903f0535144ba6fe7ba88dd5e29a8a314537f54bd2c7f763041b8bfdfc54283b3a10200bdf89976fe - -COUNT=34 -L = 560 -KI = 399aac1d2744bcb2cb9cda5447b6ba236b80d3cc5c099a96d58727b6f54ace6ad60d205178d5b78fbc1954b87b76554c -FixedInputDataByteLen = 60 -FixedInputData = 372fe5117964a5830ad1aab1647d897092417439206b5da9981284c19c78e50430c6534327ecfa8d2b6de24c3877d2f33d674b3cca92f3abc5d51d11 -KO = 3c82f61eb48c747c5eb108e1a054f0a2cb498eff4c0c6342aaf8ff2f2108700346d7ed173c999997b4ffd16ce5c532c96c6b468bb5c1de252e633ba21ea074343efbbb1b2a5a - -COUNT=35 -L = 560 -KI = 89c3a107353fed2b93c54914a62824605937499ea047ffd4ba7b319de4e24fe2cf24a613c2443d461fb0194327432379 -FixedInputDataByteLen = 60 -FixedInputData = a0109d64f6fbd69f98527a8604a98761ace0c597c6cd906d1b04266c0ef33e8977e57a096de60f81759e91dbaf223385023015f71555d19bbed8bcbc -KO = 4d3c14241393aa257200227ec497b663d3153d1ac4a56b81447292fdc01c2ad035df1da05bd0822b848f3126d630e05dcab002982d69fc7c0c8e0951007a50a8e5ccc6f87940 - -COUNT=36 -L = 560 -KI = 36225b2ee648e47ab26f802d1f79867039e878e0c6317156cc2b635fe7d6c13836860bd2813bf9c9ff2cb3cc0e5cacf2 -FixedInputDataByteLen = 60 -FixedInputData = dad35e7623ef0dd5a5f1a4ab26ffea80ffa7fba86d81dd586c9d499b9688b132bff2f4edc08cebc1e5b7c32ee15df20c5eb0d09905ca9f9a7f898003 -KO = 7ae7e2e6babfd39b98a07b162de73a1b266c1eea86268e0d5786e01a9793a1121dc9509f29259dd31cd3f186d0bb0289ec79292bddebb28c70fad7015b64b0be43e3bda4af0b - -COUNT=37 -L = 560 -KI = 5ba04f45e39809ccd5b2f678ae9f7d580c767beb472bf8e975dc97f89f081751b4a861d98822e5e6a9ae92e5308866ec -FixedInputDataByteLen = 60 -FixedInputData = ac52688a4fce1195b40828b46370d6b0e3e96c86ee1d37f3011c0fed535844f66144f0ace9b33f4ad072f3240e94d5dfc8e799841cf127fcc2e69162 -KO = 8c42dfb00165495221deca252ab245e85925b563701ff4569b27fc1dab8b965c9c1e82848f7e82c8f4a339d89b70e0d1144acf74c1b1701feb6295d989a83f452f1f2310cd05 - -COUNT=38 -L = 560 -KI = 5d080b7d27bceb2e6030c3ff120c2ac2a79c1c55289f320e59c854b9f90f970882e1bbd3359ca8b34caba6afc19f73bd -FixedInputDataByteLen = 60 -FixedInputData = 3378903b0acfcd71a1a6c49a9962a5a295377aa399710bd3728a4d02d5dcf5f7767e815b75bc5834ffb3d5ba629cda4728bca00f7836ec4588a4f464 -KO = 5f8ea499810858b4fbc6d55c475b3277281f128c4ba8660a6ec80021b52fbfe57e0f30fd54e0ddf2e44ad0b3a8e98bf8cf6e6e1173bb0acf7982f4eab9c51fd51e64b5b5960f - -COUNT=39 -L = 560 -KI = 71509efa370b28ef182304bee28e96ef342cb35a0f281e707333f23ce60d9685dab222ac69b265c4ea31a135096a1c7c -FixedInputDataByteLen = 60 -FixedInputData = 5fa0f3bf36e0478e484af85a7c14bf63d732d312347b21b3a68cb8ce5b9e0d24a4c70acf735949e7b16356c020b89beee8d143ae97d598f327f07ffa -KO = 08b22930828a38e98c0724ab192e8e0b511f0ba0ade3254bd300ae56a605018d9b55590b6839e3c720cd77427feba9f9c0f2c1a13029212ed4ed4935205f3248739cc415305b - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = b32bb1b17a695e446519c48f2bc322a39617fb77c579754ace482592b6448532d0db976c5794a57897da0595faf95c3c -FixedInputDataByteLen = 60 -FixedInputData = 91106217ae9b10cfd177330c73b023681109ec613a06b78b098a2e7af7261b30f0b7b6813229b4ccd3b0f1209bf75ba5c2ccb23cb97dd862815141bb -KO = 64b2c088c4189009f046fbcd157ad0a7 - -COUNT=1 -L = 128 -KI = ed4a4d3dc1b6db5d21818b062f9d2bef73789db3daa949582b9b26225b1a6034f175d80dec21257b6eb3339b10f3d8e1 -FixedInputDataByteLen = 60 -FixedInputData = 3dd232d4b953749c747e008b60bb1348b188d2e3dfae0d413229936487b226ab802c5116e71f82a3557901100f631d46495f83a31e5b3e92dc934c41 -KO = b54a5cf5273a06a68ee1ac614018bc5e - -COUNT=2 -L = 128 -KI = 3c194246f33d9665a2d2223191c619f84fd4277d497e67126f4874c889618f381d63e685d51119bd68fe74359ab80da9 -FixedInputDataByteLen = 60 -FixedInputData = 1ca45bcfb73e079e014474f24c621a8bfefb2f84c860099b44591fe0dcca85b8f1420bead9aaed4d99e927435ff565efca3da64880a5bfda0ea746aa -KO = bc5e24fbb8fcca61542bb824d5cac520 - -COUNT=3 -L = 128 -KI = a162e958a1977abeea2ac33632aca9d4c69c7b3f1be6e4bb9987d05408a20bc364a96d5e25305dc25d520ebdd539e9b0 -FixedInputDataByteLen = 60 -FixedInputData = 2be77099773a5168db1a46414790f148106ffa1a155c7a8ac6329a44b5091bfc229ba4597c293396a14afd3f8ded15eb5e7961ee1d90e52bb88ddd98 -KO = e32df9ffc9215c0b10df1056407de214 - -COUNT=4 -L = 128 -KI = 90c175d0a74c55e6bb469fab18f1e386cea42a2ded922b24854417ab616db1a2a3582603677b49133cd19ea79baa1f60 -FixedInputDataByteLen = 60 -FixedInputData = dd4fb2d7e603184bdcb21f18498e2578806c163c62c21ffcd59678b3dba495c4b936fb7899683d72080799e34170bd10144b0e016e9a3b263fb7b33f -KO = 45d2df344ccd4bb757029ac0d7bfeaf5 - -COUNT=5 -L = 128 -KI = c95d0adcb42fa4f1f57bb479f11dbcc6bbdc9c7d5c069ca77cecd14f854a0e3a0ea413f2034863377cb4a5b61907b3f8 -FixedInputDataByteLen = 60 -FixedInputData = fda76d6e85eef4ac04d2b7ca1f85c3710d2d2926cdeabd63eb5cf210c4c3a811415167f0dd92562913726d1c43a00ee343ed156467a0fa327b8b0e1f -KO = dc28d11af260187ecde5dfa44590e6f8 - -COUNT=6 -L = 128 -KI = d205f76e27fe67ad87a658556d2801d8633052205869a9134cc3755af9ce201d8a52b8623f0266f287e69bbfb5d8a25b -FixedInputDataByteLen = 60 -FixedInputData = 5520a27df5b3e182e7889b093fe38dd05c3a7896cbdbc276272aaba7fd71d66ed52be162274ca1f992b84da1100a380972b83594815c5573aa8bd3b8 -KO = 3af578d85e39ca86971bf77099609a54 - -COUNT=7 -L = 128 -KI = 1cf5297e412e6b0ea5c8cfc8a9d693dca8bf8e7838951211e52d7782f407a8f1b516721751238c1daf9a28ea240cf6dd -FixedInputDataByteLen = 60 -FixedInputData = 3d09d5ec15be61cb26ebf5daa223851eb8f6d0952af92b8c9e5c697ea50c34e867a02e6fb00b81b90f4c21831ff7f6d06d805b43e11db078f2d19d06 -KO = 0b86c2495cf08e86926eb6f573f840b0 - -COUNT=8 -L = 128 -KI = 1cd0bdfeb725e58fe1f6f703796013defd38357bb612babc56f4511b712a6a54cb24507f751ed28f2fbd725b5772fe01 -FixedInputDataByteLen = 60 -FixedInputData = dd868530c5cff12033bd1179051d1c0a1e6e0ef768d05c49963eb610552219ff4ca72b4e74121d729c6613b36292029e5c4fadfafd4b1ffa594429dd -KO = f095c063c2e75c09e1871050f2332632 - -COUNT=9 -L = 128 -KI = 71211e18d50955da3ef41b482debb358261ba83c02908bdefea746e9e01bad9e2020fa2d5d77ac03b1dfcc7a90240310 -FixedInputDataByteLen = 60 -FixedInputData = 4186ee7c686dfd8882ad0b68dafb8dae847bc7daa18186f42fe76f3ce577e675278f44266fa89c391f2c81a816edac45e5d7ddb6bb22c525fef89993 -KO = 4537d339c29a7d7f24430441e1656bdc - -COUNT=10 -L = 512 -KI = 737cc0cc45d76cfa5fa484227f70fe50dff60d5707f345f168b80429877f2eddbc099f2d8c7be80ddd562815f380ace0 -FixedInputDataByteLen = 60 -FixedInputData = 09617fd19b1cba767a77cdf9be9e8f67d43c7f433205cd10743c1e5e1fcb2f1d7a1e4568913fc7b93b1a5171b71699f83768ca1a45ae16ce71b71489 -KO = 24959e4b9ad272ce2c44c4fa78656286b9e9cf766476a79ca5689da42da6b0452a0e846085d57aab263d4be99ab1ebaf0e617203dcb416b1ddf23384fd090a05 - -COUNT=11 -L = 512 -KI = 044bbb326781852a42b21bb82d7b9a88801a87c82c243c7596670f5e83eb29483a7b7adb2d1490b21ad9b3950028ff1f -FixedInputDataByteLen = 60 -FixedInputData = db4aebf09fc07d571db09aafbcb55291a7619897c38587f1c1a4d0b6d4d697c2c1dc2aec3a27f5e7eb30122088463d8add355a48f81e49ed03d6649c -KO = 562c2b24374edaa8eee0cac202fb4451f707fae4a59c86e593dfc2d62184d50f18ebca4dc2c554af26032c9ec1dd2a1b4037d362513a4fc336ad7d0ae7b94fd4 - -COUNT=12 -L = 512 -KI = cc372716e91bdcd309f068d8827cb3a53d8cd9bd58c10e189a37f4240ca62988feed34fddd48092bcfefb1ec3c56b546 -FixedInputDataByteLen = 60 -FixedInputData = a6a4692fa1acb571f167c99ae79fc171ecd7cfa2704b5b67f809ddde9642d2c971b94ee32c20f50fec7e42d92a8a846772baf1c302129578c60aa8b4 -KO = 703210be2a45e44df757de266ef9013309c8cf5104232dec4556e1ceb48ebfe7ec955195626752a24f80d846c5e7e3ca68746ed1882a823632d36e83cb95bab0 - -COUNT=13 -L = 512 -KI = c3bd97f2d271345f9445bfc3382019b60177f6745cbceb660870b460f7fb03ca89c5c8bc0b9aff19e96228c939951e96 -FixedInputDataByteLen = 60 -FixedInputData = 372fc5b196caaf8d950411f17630cd7db212f66e7979e95c750a5e40662355abaffbc9c31b4ba36fa084323e026be34384df6962bb4ea0a1283e2ef6 -KO = ff1ae6b085ac5d6e67e5e749909eb8fd3a5a782ab49c46904853f64a427e117b3063ee4fb554fb64756828a3456da6ef6c9030c07ca717bab78a2bdd53f855eb - -COUNT=14 -L = 512 -KI = 47751f60e02a6668cbed4a6e5ca8117948bd93fac8ada5d3eb42b22c44ee1369c1ee6006ca68cc1481d0bf423f684148 -FixedInputDataByteLen = 60 -FixedInputData = 39f5b12362b02b29012d2f9d7165efec3136b74fccb02ece4329e8989a8903fc2615bbf6ad8db40b0845db320806752d94cb30d14bab18c08636ddff -KO = 488c410f43b033b67446314365e148abb8e18d6839434794499e66fd7d043f36c06d752e0584992f0d9513ad4c4799793636e9d573a1cd3aad0f98bce549b94f - -COUNT=15 -L = 512 -KI = 5c9d080f8adf2037f051291062be9c4199f92dd1d1ba049c410be0d86b9d2863d1311c5c411219fb5b78f107edb31092 -FixedInputDataByteLen = 60 -FixedInputData = ee6676888e6caefc308ff44b96838958318e01eda6a1d5ea381af22142b643c1ae02bdf44ea584b2d2c04472b158865b1a8fa1cf38e0d872fd99daa1 -KO = 69c0d126f93e54a968232f30e1b3d43a9a5fab070756ceea75ec8581468b234fa12a5f6000a7de01946ef8b30b82d5420b00f73bc505f7951d4be3b506301259 - -COUNT=16 -L = 512 -KI = 0dde81ecc23824fcfc57efaaf3de82a7e6c99b76c4b5ba8ad07d8f23dc808a8c07a87e56495c377c259b356b524d51ea -FixedInputDataByteLen = 60 -FixedInputData = 7854e359b22c77f10522dca35eb8272f770b4211252612ef1b1bcd7131f6b8a64675d7dd804b5b84839086778856cd78e40ab716256f93220e041158 -KO = 9f3902e0d22ad5d2e7ae62e842c42ee59c0322f50eae00002d4b077861d4775d68a433ad20a797e70e96174ea3350b1d34060f973d5135eed05dc4b8670fc5ba - -COUNT=17 -L = 512 -KI = 225fda9cd5bacae40ca3b9b7a1efa43ae70eee532535e4bc8469d13aee53e4ac03521508f0fa313177b13798aeae35c5 -FixedInputDataByteLen = 60 -FixedInputData = 38f5799df6338a442459acf90d41f00c97dbaa9695b0576c343ad13089b6c82e2cbb3934c93159daa7f44f36a5ea267ae51b90dec791eb5ec93d379a -KO = 2b3b48727a30e4f8ea364c1ae1365f26c72822e1802b5540ee700bc194dac0cc40608096d4ffaa5b67ca0643d220069ccebda652b9414647585d51dfae400dcf - -COUNT=18 -L = 512 -KI = 330c5cae603edbe2740c296b9ccf1633d8a1558d2994ea4c790f54152869b2b411d227375bf38ce331e9319f2ba32e5d -FixedInputDataByteLen = 60 -FixedInputData = c01fb1aada43e8a68fd2e0e89bea460ce8bbf476658af8a9d291ee52b0f1ccdd11599c9954e37e6a813e7ee2947a6a4a38db5c88d1fd162b7c97f31c -KO = 75f7983636c9f5a8b581b6a2067d85258b991cedf92360157c15c8f734733594c9fcbdec885f54667811734d88af33b79c582ae3806b98e32a6562d06de1a399 - -COUNT=19 -L = 512 -KI = 0ec581c4dbafd2acd07645a3ea3384eb2f175cf732c1d921ee5f2c8cf0ae9365afacfca9f8bbcec4c1f309f8a61a8d5b -FixedInputDataByteLen = 60 -FixedInputData = 189bbf77b46cf2df9a3ac12d94e2e6e7a7119a9fff00c2fe25f11b9abd8153bcaf7a190fa76ee0e2e5ae0851e8aa47ecfdc047cb0db5697aaf4cc20f -KO = 1d5d2fe1d520e82ba16ae008f471195a6a490de941738b56d6defbd6071bd8ae17d3b248ab147977cd1eb08763a878f0240dbe80440641240ca9c11f5b735abe - -COUNT=20 -L = 160 -KI = 46387a6b99ccd52f66128c787395c348a510d50f53c6688bd85cc442b811a4941f080e7a68151c4f126ba70b36725c6d -FixedInputDataByteLen = 60 -FixedInputData = 58fbc661f163921cc79e11201cb9b413e0f6c0968edc8d32457e1f0f2dca58bdb462c15bab5d293cd08182779b2892fe8136c270cfaf485636875e94 -KO = fee7fad1e94cced9493720501c47e3325fef5950 - -COUNT=21 -L = 160 -KI = de3e9b6b46cab7d0faceb3714afda9b4d3e400c5ab598ec61de9b409f9160b2bcdab6cb6d614c1c442b5eb11d5dff975 -FixedInputDataByteLen = 60 -FixedInputData = d8ac18e45e785f8c99f24e68b7efe22f87d941938ccffa7a6d2a05599e2d571332b53796bf5b0a4d5a5ec866a21339e6fdfcb77b99aca1dfc1e6470b -KO = aaf8971a4fe29139c875f047448a98e039716230 - -COUNT=22 -L = 160 -KI = 771bfb367a380eabe649ad2f4a2d68da979b10b048446a27e1aae9367599a38230fdec2e9a7bcc4383aed35b142c461b -FixedInputDataByteLen = 60 -FixedInputData = 8b5725e084c6db72de0f884672d67b8a5bbdac234c9256cb84102b653b80925a3eeb16b28c9b23f646518b54518aa8916c5a7d8ca740e5c002bdeccf -KO = b54340518bbd2aaa0ff0341cd8f67e5a3bdf3a24 - -COUNT=23 -L = 160 -KI = 606668f0b0db35128eaf029baac513f928acc077bcbdd0ef78eced8d1bf5ca12a2aec245217f28dec5e9451f3427f40f -FixedInputDataByteLen = 60 -FixedInputData = 0fbc67603d902bf0f87aa458528a03dc734f15f0f5c1e260f7543c31fd89b5994093585e876150acfd3bdd72a6a49b2413003ad909a7760472a22e00 -KO = a390235f3bc3fd951c7d6fbc0b0c6bb0ffbc85b6 - -COUNT=24 -L = 160 -KI = 26b0f9a757a6d7b1b68e294ecdc3a0df0d77fb83ecafb67bf8868b48a85365099398501f83d9c564e172eec3c75652cb -FixedInputDataByteLen = 60 -FixedInputData = 158f0aed785c4f7bf59e57b39f5ef84e9bb3d411a2f81c8ac5b47e3e76d5e6c1c8dd1ff8470bc2a0c4488816d63dbf29cc5e1208c26358374a891eb3 -KO = 3a699e96f2bb1f9ff27837c55a51e50b17d8206c - -COUNT=25 -L = 160 -KI = 811dffa135f4bb460f4c9b6180aed5ec9710a63bf8a9fdbba5c9e7afe48cf62e1a7c425a993989933152cee8461d9099 -FixedInputDataByteLen = 60 -FixedInputData = eb5605b2fd3e3b5c66135ceb9c921dcb55ea411fdbc47bf6b40fc1b00817efd61c9e22f989940a49e897942c017345879516d6390e0c3a132610ee5c -KO = 246f4d0588a161271ba0fd9709a47c5a2bd415aa - -COUNT=26 -L = 160 -KI = e73ac4a9ed98c13b70356ea85d70555f34c874b55e3c8a683e2076fdab15a9d4441dfa1ea6905af3cd473a722b9d7cdc -FixedInputDataByteLen = 60 -FixedInputData = 7fc3eb4b2aa499e564c1111c00816d1f54c0d29d855389528ee387d9f7e78c331a645765bec25f5056984a72fcd286c05e20c8720810e313448edd0a -KO = 96212cfc00077a42109d20852a26d31f3bc1eb4f - -COUNT=27 -L = 160 -KI = 0157e44c6198dc5c015c43f6a514e9229973102ea3749870c24da5553084c5d06ad652237a45aa04f25fa69e564d96e9 -FixedInputDataByteLen = 60 -FixedInputData = 29a65d69c716c64c7d4cec2648966fda5c896553fe64a8bb029e31e2a540ea3180aa07f9aee16dff678ed9e277c38ba7e5eaff00d74bd78c8b304dbb -KO = f58270854d5f9c61ea53468e3f7c2dca6d115c2c - -COUNT=28 -L = 160 -KI = 3f552a60711bfca8f0c7a8f222204ef08fea8ee6cd2545c58d30454266254de1fc79231af4450a4d04d883c1f5c15add -FixedInputDataByteLen = 60 -FixedInputData = 1fae674822a1b230036c68f87f47b79f24f4a69f1001132517cd6f543a41d1a4761cbeb7e4f9706357ed7519107504e4265c31961953af8e75fb0008 -KO = f8d55b2213ca14f447a0053a038c81264640bb20 - -COUNT=29 -L = 160 -KI = 7f5ca85cf73f22c2ead56dc174203de61d516c97817ad3d19b733752dff1e3f9b6ac7aefb48f8d7a1a26627e3c27ebad -FixedInputDataByteLen = 60 -FixedInputData = 7e6d9115e789c6f23ee0d9471657b307a4405396fd2651426be682fcff8c40b5f39af9256ea12d6d4d0859c02087be9c0219e383ed9348add0e0a180 -KO = 2d52d6f71bb8a765fc8686cba88f29af72fb8187 - -COUNT=30 -L = 560 -KI = c99753ccc9d011dbcab6f90d0417b45072b2c9fc1d8c14ef1132cf641fd2afa9269da9c864c68a135e2e50a1d06d34d0 -FixedInputDataByteLen = 60 -FixedInputData = 0d1f8629d749ec163864cd42fa821e1afb459ff7f42f0868b70cd334e1ab3c687bded744ab27a0509a4f4c6210df37d215d43fc6dbdd034e32bfe143 -KO = 865a04d48d74525353ce2336d28a250f7e13f4af2ac13b4f68148fe9880ceabc4f960043b02fc8b4c8bdbf1a3bbb684789834ff32b91e139795383194cb42d324a17ff544680 - -COUNT=31 -L = 560 -KI = 447eb63d1b47f3675454b8bfc336cc51a48f24d8c6bf2736c627b620089511c25a4ca12f97e46ff2e9b980693e09fc34 -FixedInputDataByteLen = 60 -FixedInputData = 5409b279df3f4786eda70ef0602bc7cdbc9ea1dabdaf268702a939a8e564ec00c49e34415b1b9454571babe5c04c6e86789b3f063b7587228aa88752 -KO = 2b6e464a5450f99b9cf5219f0fe9143308affa234fe9ad61d612095c71d38fc6b80d3574ddba4fdb7111ae2ac959b31d96a4d61b8c941325ecea5b6bbc5e7e48909501964122 - -COUNT=32 -L = 560 -KI = ba6841aa668eb85d6158bcd58d25ab28e12213566c13f6bb4fd33cd418b58022fb66ffe8a0ba69069ecfd6fb1a285a24 -FixedInputDataByteLen = 60 -FixedInputData = 07f3c8291824f46215a2f39bd979bc93761d5720d304ec04eb7487f825278ad6a778eafa437a762c3e1572f56963b334550db9fe0bd5be4260e1b8eb -KO = 05f7203133c8bbff38fdbc61aaf817e82f1407146fd0a3dd1e3c59c94f7d95e9cd422ec52f0430d0042e7fad07f3a6f1b480e853baebf6e673517e975f9a67e9128037268aa3 - -COUNT=33 -L = 560 -KI = c63225c1b517b9b56d87f53779b0e9c33840041a1ad53f0b0d41c17b59de47c4c10d3e00c2c54523ccb013dba9fa2760 -FixedInputDataByteLen = 60 -FixedInputData = 3719ec6fb9036a7b092e59b6995abb4e911fc8f334f08977f92ddb322253309b7dcbcd64c218b86c6de209264ef0481887f05d516c007cf8a0b32b09 -KO = 557aeda0b4286569ab74f72467b65748e4997dbfafac14d5c43ef404a1680191a8fdbeaa64e3128be0ffc1a3fac46a2a4ada7cb4ae0b5533da055030b53250ba2ac4217dff79 - -COUNT=34 -L = 560 -KI = 3be2e719a5f8223a5fc2d67306531385e22e2744dcefb80867f909c708cf8d8d6853746da5205a3080c7a47bbc7dc8cf -FixedInputDataByteLen = 60 -FixedInputData = a617bc5fa36f56161ca2cc0f5982a47327a4261c17184f9a2226aed40b25a9336f6c8e864a825fe156d618f17e333c08b8a6ea1628dea50d4123a041 -KO = f6ec8a1c6eec5c1f8b932a583c265429f6fd3d96c2e51e78483cfa1df110bcbb3f6c43ab4ff1532fbf8c91bc134e7e7ffd17f8083fb4097774ee3f436d00e2ce4782ebe36da7 - -COUNT=35 -L = 560 -KI = 69b218ecd06db4be00c2b778b1675c52200694f22442fdb754804faa3a9df9ad699e51dda3679df9660f6b76072afc9f -FixedInputDataByteLen = 60 -FixedInputData = 45455467c2de451ce16ebfc851eb9588f6c339658bd32a8c10f5147f08f95d56b31463fe722b36b5c0ea657f2ec5e0f4738e280173e36186463eee00 -KO = 3cd4a34d2a6bceb434009ebe40a3de5dce9c7e625ae77ed66a51f8c8da995cb2475455a7e7abbba8330f79316af292cf7ed4e42b946995db23a78af75aa1f1427417a96cf189 - -COUNT=36 -L = 560 -KI = c6140e3c6bfc934c425238b80383befa4c17b42d806f9495448649d1a7d7bc3a659bfb050009f6996631474e36cc855b -FixedInputDataByteLen = 60 -FixedInputData = f164289a176cd00ab667290b2db78b61173b0d7b848e9ff9d0d8d93991a19772046d86ad0048a9ff1087ed25d3f702caf54f6040438b087d233ca5d8 -KO = 7d2079898431ccc2f5190e94a78464936825a0fcf29b47d26327eebdf6732bfc1047097aa882fe9cfd6409cd60174b121eb259c2e4c09ac284bdcdc29d1c16f86192a497f0b9 - -COUNT=37 -L = 560 -KI = 6184d0a0d41626b686421f4a34797c4ccc64495386c50999655fd4a4263c6722d41d7e917d7a408de482610af1292dfb -FixedInputDataByteLen = 60 -FixedInputData = fef984802d1248980ef993063832428ca9143833753c6e7fff2e68d1559cb587da7ec3460193593ed1234db4ff3a05cb702727471ce4bda4742c8ea1 -KO = 7e46576fa3ad7699cf3e08d556cf8cefcb2f7b904fdb4a3cc21b604539ca9d38493aac50803896fef0ae00ab5fb8c408a56b36cc47cac64956e16fe4b4897d6a6cd0592445dc - -COUNT=38 -L = 560 -KI = 994c97fd73625f2f2c140ed08bd6a48e1391e40db9ff43100fb3182a1adb08791401bee8bc996fb612e5667731f5ad58 -FixedInputDataByteLen = 60 -FixedInputData = 0a3da82f1cdf74442058bdf08bcca9133e7edefb356c13135609a9bfcfed60a56ae3fa3dd3633279a385b22b70f393cfd183df27dafbe2a41816767d -KO = d387c4bfdff3e5ec5a780b0be98acdce1d72e51b0f17ba701df0dbe88bfc02687ab4bbbe11c8faf1670b8c7bf336614c5223a500777ab14b22ce81993696b97126181a3a6b98 - -COUNT=39 -L = 560 -KI = 68af39af5e6c4c2e7303bc4fc7793406f4dbc036017085617b62665d658d1868e1f708dbc6927f5e20fd59f7c5c700fe -FixedInputDataByteLen = 60 -FixedInputData = c8f5ea2413450037df59b750d57dd5016c4c1c466e10c64d7fe4cec3c970557d1f57bd1c8bef15558b1ea4441eaa4f25db868e488059064684e0be3e -KO = bed3ca850fe7cec5eef4ea04b740ebdc62e8647783dc959e6b2877724b8731c2eeae54529a4ff8f1875a46b0c5757cb194d5eff839fbb5abc2a02b97567377ac9f091263f300 - - - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = bc17ade6026159a8e443ed68c42808ddd8cc977e9664579947ddce76c8645b4905b6115404f165900f7c44b8e5067130 -FixedInputDataByteLen = 60 -FixedInputData = d36214a0e0bd6fdf8ac090740180b93254a200abea07be5a82667f377160af8c8d75ac03e30f9a8b36a3e8256ade0ed9993d9359035446bc7691bb0c -KO = e3c90662dbacb3eebb13e5ef9bc69eae - -COUNT=1 -L = 128 -KI = c47f378e5975f2357730dbc79159260804d92afc42073e7927a40255a2480ef7dbbedddb43583be7b17dad9ff853be73 -FixedInputDataByteLen = 60 -FixedInputData = c99cec0c4a017e4b708cb6cba7372d5ad2251d9253f5c5d93c0d5b40317c002feab252ae5dce2fc229aeb337899d42b3256fe59b44604fb094086b15 -KO = ac5d423d31ee2b7c63d2a74ae48ababf - -COUNT=2 -L = 128 -KI = 88f81be664bb0968471c0d163823c13b5bcd830c305e16eec5a9ed3efed16c2b50ae82026549301f30f8573978103f5d -FixedInputDataByteLen = 60 -FixedInputData = 5805a8cb39dfeeb875e64fe40320ed5d55d7bfdf1e765c44fd06786cb46e08e52be0d922d26c1bff0db21ad1f819e9a140c43eab2525cfd53135164c -KO = 5b53215c8d30010f83d38def2c5c05f7 - -COUNT=3 -L = 128 -KI = a0a29847d2915eaf86a7ca93b3620133d8bec0e0e74ff0fde8e17111e71fd450ba720832bc5f469293c16f1ff1a08c58 -FixedInputDataByteLen = 60 -FixedInputData = 2b7e35627af960809073d1764baed573e68c74157f2df5eba8d7cf67f1df198876f7ba1c9561472024f31a7323e47d02f981c96ad5193719c8c9bdeb -KO = f172a1fac9ee22d530866b3e6ea65838 - -COUNT=4 -L = 128 -KI = cbc919165d1999f6d5a8ec02e54e115efbe910c6a924ce81fe72a34649135bd0bea96bdb2e8f1d612fe38bdb3fed874f -FixedInputDataByteLen = 60 -FixedInputData = 2b6617f0631e63f072eb526f71b2c2c89540e2881f7403007100f6d0e2a371c572863aa44628d17c526821c7df64f38e7b76ff38620fd93bd870419d -KO = 6dec6c40cae2b0c48d0fab076f21278f - -COUNT=5 -L = 128 -KI = 05a79e7009072a057985c57e42db5a7ddcc92b8c675b688b8eb8f58dda76ae283ef1dd8350248d7b0c6484c98331de9f -FixedInputDataByteLen = 60 -FixedInputData = aa25ab09a10f579807a6867d8a5970b211cf196f2fb1234fdd679a5cddba2a4efb3365fc4cdc5035908bc55807b9e15b12ab12552473c774133265ac -KO = cf209e5df458711de14e35e7c6232601 - -COUNT=6 -L = 128 -KI = de000f0e3b0aa36ab21072bd31c36b29359f373e8b91be20c585ca659a1051792a100286d334b33cd86a66d0397983ff -FixedInputDataByteLen = 60 -FixedInputData = 57ce42e3721d5411737c4398a7b46630b31631546f856ccfd26e368158b3c268ffedbd99bd163772b97ecaed570fb169e2a93457ec4969a11df48a45 -KO = 904599a94c8b469b8ca16bb469014e01 - -COUNT=7 -L = 128 -KI = 63fcb52090b30261dbc6f60248681a13e25474b64ff6b40722c7de849d46fe2a94b499c72d7166535ffd4c9106a6c131 -FixedInputDataByteLen = 60 -FixedInputData = 806e6a0915263c1b801cd64c93b2f504958eabeb817f1ddf700a6e31bd077d0ca25cdffc3de05d75faa1e2920b52e1291084f72e6ed5bf4914769f2b -KO = 81cfbeadae5bccb89e62be7ab7723374 - -COUNT=8 -L = 128 -KI = 85b2f76bb1aa4757528be4c5f5b85b15412b0b7ba78254919c61a5fbda5b0f7d368ef2e2cccc6c1712c93fe44da25bfa -FixedInputDataByteLen = 60 -FixedInputData = e8cbf3745e5247ab30f5de4882254c99d28b2ebca19dc59830cfbd266a679f920b931e2cfba7116246821c671a366e07698d35d09a254c74ccb9d694 -KO = d11f44453690144485f2f68a26387cd8 - -COUNT=9 -L = 128 -KI = a899c0e387f0a4341dfe294ec4319b52ae18df2acba1a9794858ca31bc35ebb5414324a1f5434b9e7c5f39d4f6694dda -FixedInputDataByteLen = 60 -FixedInputData = 24c00d3208487e6b7dc987a9209711df2a7070d6d85ecd1c8f7cd0f8664d43fde66979794d6e6e22e64d4e323ce3d8e0e1cc41bd85ec53e68535e0ac -KO = 5ad8d6b880bce789450717bb98934a49 - -COUNT=10 -L = 512 -KI = 966197911f60ee4ea532e38e1427280ea3ee0ad3cca6ad1c5d633722898751e63a1cf92b0b2af4da930b7a60876e881b -FixedInputDataByteLen = 60 -FixedInputData = 0aa1f661935924532a8b73ba4a375d7796c06d4d2fdb3c722d59cc81681b97b8d41b70bdcbd5b5f27ee1c9551f0e1e0536dd697c5a030a4ace4afe30 -KO = 44992e594f97969ba0b6a3175d4a29b801855cf2c30c896eca6c2ec68fd12a72b2a1f0ca3aded77089f33dbe95789da19faca6ee6dbf4c59311e0d085757ed0b - -COUNT=11 -L = 512 -KI = c23607b31a57d10c2bf11175905eca6e386036e4d546381329c3a9e0aac48ac1d350e0c8bf72fd6c216908ec4ed35804 -FixedInputDataByteLen = 60 -FixedInputData = c9d4d5367660004e67fa1828abc6563c3d468532c3e16927a3236e1b4b16e1d4c95b60bf2d6536ac4cae6a3d497a7e49d160f9c326fd8874e1580770 -KO = 4461bbcb4950ff224366dcb2065608ba6feff9b34909c76ae542e1072a3124986781a1ae044d37295c1d311bccbe31c1dab3f78a09571aba9cb3ebd2720f79af - -COUNT=12 -L = 512 -KI = c96e4e0c93d5ecfad942ca2b54a201c677eafd9741e013021ccb3080d8a0c8d8c935d004f74c98792f1c391cb96c4685 -FixedInputDataByteLen = 60 -FixedInputData = 9c3596c8905a9174e5daf899149c27acaf5c4062573e5f28c73b37b0a3b86d84990a32be5580937db69e3c21b648627b092013239a8f7c597203565a -KO = 58a9b1ce7ed1fd5fb75c58cd29e9e73d53a4e22716fa8d46bf6dc9f497ce47cc156e71fa5d67cea4e19b5be3126895a093e0641fca3cc2a792ab4d11899a8cf2 - -COUNT=13 -L = 512 -KI = 2e1061f6d3556038a464c25749e1ddc2450013f12238ce005457647b5911e1fb7c30960acf3239cae4e0515bdb3ca6af -FixedInputDataByteLen = 60 -FixedInputData = cc0b83dec3f9118299f61517f78aee321aaeae0d9f7cfe0c1f0fb487cccef018e0f423ebc1ed9333b9391120193fb62b4c6cca8ae67ca70211792c75 -KO = c41b4b8759adafec642affb820a7e43e6a4b8dee8fe1b300562f421bd7f622842bad863b346e6603cb2c64a33c087395adca24317d18189403fc79934da2269f - -COUNT=14 -L = 512 -KI = c56c7f0e4f260e8b789f93e9d9279fb3233bf1ac95f8900e79851057106f7814528d50be4354a4bb2003f8f682ff9dea -FixedInputDataByteLen = 60 -FixedInputData = 860e3f4ead1d35cc9f3e1c9ab89e0df9387b438520d61f05f937892455908be0de0289ddfd23f4cb2c90c8bb550439c75b07ca4738ca0e5ef88bfc97 -KO = 438cea6020b1423cc785cd792defb8af9be818e6176c7c765821160a84c3cf65822ad5e11304f5e3d98b313e9d7cd16191246a2b9ae20fc167f26dcb92b5ce77 - -COUNT=15 -L = 512 -KI = 292e079ef4666e110cfe929cee68c7485099597ff9508725433ab291c669b98200d3325618ef09c83af2bf5044b9a3d9 -FixedInputDataByteLen = 60 -FixedInputData = 2cbd245202bf5647d7c2c399050143f3be12d3d6efdc748d62b5a84169ceed9827015dcb72dc983ca0b20dcfc870555fb638cbb3a6d4b31eaa90f92f -KO = 93aeea6cda73cfa3c3f60c5164b35fb1f16427ab3ca69e6898f5a8aee1fc4a5ea3e5f47f00bb209cf9246179bc4f8ca879ad4036631d234c434a4514c97e8f75 - -COUNT=16 -L = 512 -KI = e7db8b1c3691f4f75957085f1054a58186e46cebfb258c9b71db557f5fbdbd25035d4a316326eac1ae4ba2e4f4bcf22f -FixedInputDataByteLen = 60 -FixedInputData = 6398c5ecf1bc7885822d553ccbee9234205fd0dc6ca350d46ea8c1c5fff56f7babe5549996848e233e2bf44e1360ebad3d0328e4e98186ee3e35414e -KO = 3bbd7f8c16c2b800bd6af13af747da47ee6e620c74f96acd54c0f2857700b6067efa8475f82e90ccec8c0c7d9606ca04427f341b326f4be06246cc3b2147bbee - -COUNT=17 -L = 512 -KI = cf4e2d1eba38bf5d25cb47b8b8ae37a9d8d22425eceb2a99a8bd090277e6bdd9e4c1a36935d8b58d712d7a6d9014e295 -FixedInputDataByteLen = 60 -FixedInputData = 08a3a02a21b683c4d60897c596e4e5dd1881825b541fa937e3803b92243b59d5f7608fc592fd356f5dc141f99ad071762059fb4d8033c522927ad24f -KO = d418628c5d47b0e396a89491303be7f4a1ac24912e93701001b6e5d66a1358723074a27a390eb62232407b6c3cf798c2e0b67fcf8e4b73957744471e29182aad - -COUNT=18 -L = 512 -KI = 76397966a60795f3803dfbceae719ae1aed0378afa9aa157bbf6ebeec7189ae1cda0b062f07b92e9703822c605756d7e -FixedInputDataByteLen = 60 -FixedInputData = 9b633b5704535d9c810cdf964bdf3b2225dba77470b66fe4cd662821705fa43cf3e00a06e4be86dad267c704fbdede8073f3fcb4af496044ba78a4de -KO = 0637b57bb7611bf11ed157f23ffbdeca2c72d5bc458f0e45ce252ca381c6c23155ed68a7e1b0bf519145a40635fb4c206dda7d0b36b5e3decb6fee4bc0dcbe8b - -COUNT=19 -L = 512 -KI = c94065c4a511b0cfb60b42618621fd3d20d4a8c92963c272fb1e4b49f99bd97cbafd4c267523df884880bc8c20895aee -FixedInputDataByteLen = 60 -FixedInputData = 54982aec03de3b6f95ff1d02624f111eb249a810a123394a70ad6c4c2d0b3b24be2e9e1924faad95bd5e9ac7ef79b7d8ef7a6c659ddb9effd4a25e65 -KO = c8a2be10b1d50e73d335d1cbd8bd42fb47ab680e98ab011b0cc7f6b48749cfce3162087d074b1b348c2ebdeff2c4ce95360807581eee3ed7757c0e65686a3824 - -COUNT=20 -L = 160 -KI = 9881eed212e08cc1449c8ca91ba3efb4ae9b5bbc2335f0cebf77086d562dc4436252fc06aac367fe1d5733c45699fb94 -FixedInputDataByteLen = 60 -FixedInputData = e2f1cd0d2a08015b7801dc8c0eadfc6fdfce74d4a5b3e1fd586677b1544455d3ac0865583cc742132a4e238b55ed27f327f98c48dcc085acb0aded77 -KO = 4bcc75c3de07ba0ea5a59f690c8b808cdf858046 - -COUNT=21 -L = 160 -KI = 28d6f14f66bb68fc1b93fb06e08f869e3403f9279e1ebffe25cc39c94f638e58b93cd50992bbeb0ddd5f8f96ee5427c5 -FixedInputDataByteLen = 60 -FixedInputData = 869781c7ce689b46830046a517a23bd692c88b590e9374498d6fdb65ae071604909278eb77226fa3760243d748516a8242316c39ac5741b2b6d57223 -KO = 37eea6e3e477965d2a6fba3b2fc654abc83f9b38 - -COUNT=22 -L = 160 -KI = 7eb3adb3d414cd2211a74fe4463fe04223779eddbbda3290425d3b6edbbb603a453be991775945f8033a3130d9f897e3 -FixedInputDataByteLen = 60 -FixedInputData = 7be7adffa4327a140847bc1eaff960bc6ce0fefc4638e52610fd585bf35e163cb8e35d4e5a6ecada47c10e8e08e816d185b6337e4e299bace318ee41 -KO = 7dd524b2220aa611fd97189b259fd279034d57a1 - -COUNT=23 -L = 160 -KI = 21ba183eefc3838d90fc8e9f698bdbf8b1d34350a013c0725ee1c4a5d9576a113f3058a06327cba9b7fe25b36890d80c -FixedInputDataByteLen = 60 -FixedInputData = d3578173ab84129e417107b1f2a6292109bdbda0b276b1dd42947df48f24b6bf02ee9fa76ee012edf2763ddc0dd30c7cd460be90fdf71cb2830be6f7 -KO = 630cf7d699e47dd4b4b7443a00b28dc2b039eef6 - -COUNT=24 -L = 160 -KI = 1c60480c407f94680665258c6aa49b750d847d578f45610c0f666ba79a12a29304beb1d29f46b699067423df55ec943c -FixedInputDataByteLen = 60 -FixedInputData = 54f0022be04a2884de9f81e6a00233f3e6a6c0237faa57da71ea64334c01e38711cea698809e15695114018ccf1928f1f974881dd340c38edbb31ce5 -KO = 7950665b58af694d8eb4a3e218c6781828fdde55 - -COUNT=25 -L = 160 -KI = cc83b6b45739a1cc5724f5562d273ae466c5a072b074d4625c6c398b1425385872c4c21903ca34a6480355d1a41e0a1d -FixedInputDataByteLen = 60 -FixedInputData = 3df03074c38092dd98b12f85c49bc485a7bb06f8ae5a32aaae6733ed96c7b06eed3e4bf3ad4b175f9cd77fb80848ce20ed2c15f79b24b9de96f45525 -KO = dbfb89efa769950a033d1ab43e2681a26179dccb - -COUNT=26 -L = 160 -KI = 9af5fa7bbbb4675adcaa0a7cf36e7402d1dafca8be8c2d991076f81f6bc79f4e0d9f06d466d6fa5acf58821fb67ca7b9 -FixedInputDataByteLen = 60 -FixedInputData = 21f9211d4c4926d945e4d93eaac431d41c6cf0e3e173608351233f870bc2c8b0a786fa11a7a40cf29d59336fe2099b55fae026a39a0dea305883ae0e -KO = 00bcbe3c3e546a56618f2ff3d27417bf09b9e66c - -COUNT=27 -L = 160 -KI = ebf1ed22c907b2e59cce9541fe7b66ac3c92e44ed4a61a5d449e4c42f04e3cf6312ce4d2fe2d6e4c4fbcad7ce7498e16 -FixedInputDataByteLen = 60 -FixedInputData = 21ed3e465d226baf084562b5db60f981f24c807d74a91f3b8facb081697123d815451cec6b09e709282478553712d7c8b6c116762192659e12931c99 -KO = dbf88ca620fe06c365497e7d269546f1ae28c5e5 - -COUNT=28 -L = 160 -KI = 1c689c832dcf82761a1de37be352c95bc32e63ac343bf35ddced1aa78895e25152dded9821767cdac08cc1b374d8041c -FixedInputDataByteLen = 60 -FixedInputData = 68ffead1c5c1f58500292e7f6733ccb1119b99e6654301a2eb04291251c158dceb3b952eb88959b68597830d33b7c87404b3d696ae2ce0bf8884a431 -KO = ed5108abe0480a8b5e7c20620091fd7dde15dea6 - -COUNT=29 -L = 160 -KI = 66f4cfc737d19b7fdc4617dee250bcacf911693f08880b6a71de1b58791c990dfd9d32ebb0c0ba4bbce799ef3a36be50 -FixedInputDataByteLen = 60 -FixedInputData = 69033f7ec54740734bb2be8c68149f370c4e9dcfc99a79f2f2a23233dc965bc1151025396f587f8a757336a05d0d33cc44226719d6e863da78748ea5 -KO = 1a78c25f832063afec3e97678241930c822e99b1 - -COUNT=30 -L = 560 -KI = 97c412eed85123c3b23eda4593e516f4ae544b3270b74a7aaad185241cbf2215abf493571cae3770cb5a94c47c9ca96a -FixedInputDataByteLen = 60 -FixedInputData = e90d2e80b4ddfcde0143ce659fff19602366964ae6f8fb4556de6a2c567e5b88902e05e6ae1f7651180d0b4eb34404d8ef07066fdafc1d627a42e5fe -KO = 5e0e3622747e21ad116350e50964afd982af9cd2c8f362d88bf352ccf0626d6978c93a5dd766b0ce78ce72001acdb8df96c5e682d54f1ed59962536ceff18215352c88f32cdc - -COUNT=31 -L = 560 -KI = 476b5b62e542e2555cf5d258981f95db2e15bb6c80ed79fb55235681c547504cad4278f2d9c612f15996bd179231cbe4 -FixedInputDataByteLen = 60 -FixedInputData = c3ee24e9ce319734435414c39c4177d66a733bd493b250402a809eebb733a2008fa04cf1a208dfbc190327b4a78c52210e67679f4b04c860b4534b6b -KO = 903486654af086307dc5c74eafd1c3dd1fe1b5286d3b206c38ee4be171995f37b9f2ac2a188965a534fd0ed7452f5e260e0ee8df551a915b41d70292894932dea1270ec2c09d - -COUNT=32 -L = 560 -KI = 611693084ed2d7758754e7bdd1decd29422a59791b7679ec278d4c270183e64b77ef8a922743b2fbafb924c5b8fc0b5c -FixedInputDataByteLen = 60 -FixedInputData = 6ea2c73132ba3828c2044ca6a1f3db72bd63e6e1977d4048d6e74efc9bff3c82886eb2a869c37127341505fbef92da95b2d35cd2a97203b25970c676 -KO = d8ac058eb7634103ff545ac204bbf6730342d4c66b0df3caa6b36e18b18176733ce92dde7119b105f2388036b5da439884354e12f869b7310978b7d5695b954b41dbc1036ee6 - -COUNT=33 -L = 560 -KI = bbb69667a915ff0494803a9f65bd326389bc9b3b56018b04d798ad200c280906fab714cfaef4ff7fa943ed61a5e64ffd -FixedInputDataByteLen = 60 -FixedInputData = 09549b4e8a3b9bc87965ac30b0826fab3e5bbb5912ee0597ecf3c68d7ad13651e407ec5f4e83e5d031f117bf577bcdc34d4bb2e1503bffe8f6523ba1 -KO = 4075a645fa2a61c45346e8ce80e07f81946fd3547f16ef8ed46698100b66ee64222b108b638e6ee74e585ce355026f36e25d649bf0d0a6e1755d2be4d64faa0cb9121ba89ae5 - -COUNT=34 -L = 560 -KI = de410611c125c4ca9ee404bede917485a3e88710ec17e22f4fcb5ea8f6bdb1058c714d00f85deda05fcea0c3db00ee1b -FixedInputDataByteLen = 60 -FixedInputData = 3e060248c53ace24b13e8443def15d95d2bf5ae0ada1a20679b782ae85c9c3f4cc24ff70ac189a3e093e523ca345f5a2baa694d34b271534dc45e731 -KO = 047521d41ddf05e04f2cab393e6fa6b7c5641f32861d0f36ce9d3ad10e00a43d40296c1f9124df14557a266f3714451708424c22ad6011edf1d9602ce336199ef3746fe56827 - -COUNT=35 -L = 560 -KI = 7a981b71a3267ca9c51742da108d6ad26da0ef27a0dd6ae83b5f0d49aa5334f07c3c152c2a1a389408cd92f28e966839 -FixedInputDataByteLen = 60 -FixedInputData = ad658c73743a76ad512e016331a541c4eb976ccf53c7a91a214c611c4b0dcf63695497c6da24d2eb806a61de915868156046dd82cb5208f6a2199548 -KO = 092c0e8c9aff93cb85374077b71de2191efb5a7f12274f796e418541ded1cfdd7ed850d92fb5b069b32786ee208213e8f0ec6463c87aa30823eef6bcc891e5b2cbd8588ea4a3 - -COUNT=36 -L = 560 -KI = 2752fb51b5e860ee772cfbd5cd88ae5bbd8427e30f16b8b5857b1e815ad4c06c5f39620e475758be64e1df69a3dc40ac -FixedInputDataByteLen = 60 -FixedInputData = 791540eb0915e962c8fe7cf4f8dcd7e3e46e7aaf1e49bb4a0904afcfa55df83df1c1b2640961e27b1ce2811bef7991210d429f249628c5a86e90a145 -KO = 8b78b0426d0c175487fa2a52289e5705cb90196c5d7be9ebb3ef27da541258a47c3f476b092edf32a3123755dff62be05402222b30ce4b8560c28791e909aa57db7b9346cf86 - -COUNT=37 -L = 560 -KI = 932b17096013ef185c4ece6d2719f65f3c734d7a02a6a9cb9ff728b1e817369100a1454dfa5484acfb91d2a239d65a93 -FixedInputDataByteLen = 60 -FixedInputData = fc1d1e3bee199e4c9bb709e104f18313bd341dd7c16c134d8fa88bf4028d05e4846e82a70cfdefe9b1a7b13ba2e7646dda0df68da0f19acb52f9cea8 -KO = 66d8c5678df09d90690739097c41b4197cb533c951b6d8f7b7788e337a1d41c1ab32768b55b6fef97fcc0ac93ab026a179b03f8cc87245a1fb58215cbfbf21fab43f6e3ef8d1 - -COUNT=38 -L = 560 -KI = c5ac68476a4fd481b3073374dea7d33f9ebc45695709a391b63f2175f1858c7bb4c966304b11a777b9b5998a1ccfcf40 -FixedInputDataByteLen = 60 -FixedInputData = f8c9b835383b37238cce0ce4d75cac87bf6e8e47f6b3db1b95c01aa974dd1764adc0b939d8bc150bcdc01e9ecf48fbd5514b196e04651cc26ee7eceb -KO = 71f81b7b3515a69e9b07b15b2cdad69da1f9b4f5a378de09e6736e945e581d88b37fa0c17f8d4a18414341185d036d6320c7ccaa8fd8d38ebd28cc3987cc239816e751c8b9c2 - -COUNT=39 -L = 560 -KI = 0b10cb3b45cf0d20805c52259914decbbe0d8f9af419e5f13517bad7d726aa48b0f6cdbdadf73d903910da123ab0a61c -FixedInputDataByteLen = 60 -FixedInputData = d04537615647bf16540aaa67ccb67aea869ada0250956ed5233ab1b0203b01625e795c26c4f876ecd53e374b86bdceb0a6f91a0566efedca9c05c285 -KO = b6152a7e5723e099933cde0d9e67d83d053c2fa7154357fbdf285e62e084c764249aed3ee3723398d29ea1147e7d77be9bfe11f3cbeff3f7129f5006466bdb8b66fb0355e70c - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 68f9d9cb31e94f989d564879127a1b2df2e790d42e6ccac1d0f4601649e4adc0cd83a29639fae1f692bd930bb2678e51cccc086fd768659fa9e582945e000da8 -FixedInputDataByteLen = 60 -FixedInputData = 47a9dede5cc587fa2fc2ce2a222adf77a5bf301d1523d0e23f12863f5cfabd0ae7f77310494d9ea5ca1fc24672175e463a9ebc68e737c0ffe9572875 -KO = 30ea0dfda62fe8e8648fc03607d97684 - -COUNT=1 -L = 128 -KI = 0fc93a0aad940c77c37dfb3290c9a49f2f847d4199e1de9312daa7f2a8704fb717359223f8cc99e88e0a13b6d140495c573c9b63afc33c2a282a466ec1173c00 -FixedInputDataByteLen = 60 -FixedInputData = 4aa12890fcec9c4e95b18129270dbbc883d3aa46e42507ae81a17f2234abd5d2b71a9c8f3f4ca932e3dde4213929e0926adba9e0b2da30dedbc199cd -KO = a3349b1af3541c6886471b1e9ac49031 - -COUNT=2 -L = 128 -KI = f704a70d7179a46d3959807af868a9aebc3798f08b7363fbf269db0ee5c7c9c9196fb7b06169135c9c4393456faaee0be3d37d8a2ec093370e64443616e0f2ad -FixedInputDataByteLen = 60 -FixedInputData = aba5c1fae64b712e0498576f4a1cfbdd4189f5b6c8383296de22c66a05d5b016a57dfacf5c1fb94403e855d13d88c01152ae020ad2e2147c15c48386 -KO = c4c2ef9cb4f28bcce622de5b848709ea - -COUNT=3 -L = 128 -KI = 0e4a84d4b568ed870ece24d8368108484245a6efc071e96adced66cbb33c6c2f3e4d914d4272fcc876cd64d807ccd3b9071fc693ab0d67680dbd61974696ecca -FixedInputDataByteLen = 60 -FixedInputData = d21b0f941f366f233e97c5c1c7b134129a7d5d96ce8fab2ca0c3e962f7f5440c25de406c6e1a1898aaae64450b2215a77be17a97858b2d8211a2bb19 -KO = 0ab9687b053553fe07520119413a2bb7 - -COUNT=4 -L = 128 -KI = 725e2f1da35370a02f8f05f36ba8e13701ccc6d50e5cc29aa1933b4a54201650dc26f55b9649ab9dd66e34505e8249d408c875a445c540a0669fe687a6ed3584 -FixedInputDataByteLen = 60 -FixedInputData = 376b058041920fc01896208324779c02d0c51965944c9c730daf00e664fe555f34d6ad91bb29cf6613c4c4f532afec11e47dbfe75dcae1419ea1f2b7 -KO = e6dd58cdf69ff49ec5b930a0d63e0e97 - -COUNT=5 -L = 128 -KI = 363a8824a240a415ae601c6e676b63ef7a59fb523d30c907c848e188c0cf583df99200ccabcdcc90d3d4549a04e72a6a472d08a588e970c1945f80ebc670f26f -FixedInputDataByteLen = 60 -FixedInputData = 23faed459bebdfc8fc3b4ff7a8c4d2f1e26bfa0b7ce101b27e49da5ce6f52f44d60077c82f64da94daf4ff9e0985ad8401ad3dd4f48a8a00a70625a1 -KO = b30e74d25c794fe18b360c3c1290b1fd - -COUNT=6 -L = 128 -KI = b18d02769f769496c18bc2f7cbe784c9d996061208adf4b679d562f63681f66b8b9c680d4e480fae133bfaaf3039e03294b2eff4cc7ea5b923a58e79101557e8 -FixedInputDataByteLen = 60 -FixedInputData = 7a34d7bb80e730c2ffb85c1300ff87f756255d4514fcb7f8c6fca67c8c51111991b4fc946af6b9be2243da00d948dfa10db7a1282bd01f5431c83be0 -KO = 71323fb3cc982f88c218589b02cd5484 - -COUNT=7 -L = 128 -KI = 96e4dd99feaf3f9689db9693926b36b297166b16fea49a28e57d4fbf7feca8e97d8f286f0afb52492b3bf425ca028daa6a47185a14f898c36779c8d6cb6bb080 -FixedInputDataByteLen = 60 -FixedInputData = 65a851da4f06349ddf190a97f7c73edc44b258e3686bb98c1e6b23190b01e750b78ec158f28f6078c42701a6650fc793fa0ad138906498cabf163ec6 -KO = 42926b67bd858281216a1e507ff6fad5 - -COUNT=8 -L = 128 -KI = 4d7efd5782ee138a092eb804d76d459fa069d55377f6f0d45ae9f39b7d1e70ec8d130aa0fd6915423f7b461fdaed4701447f64513ebde2299e5fd8e435e4f047 -FixedInputDataByteLen = 60 -FixedInputData = e51650cd6466cd0871f179a33ab04ae3d52e90230c97d971e0309ec03e99f461f2c247d21b148c419e8e42edd311a09eee9dd9bbfe772f63376530dd -KO = 8f296fe04215d46e62c5d9f52bd3b091 - -COUNT=9 -L = 128 -KI = 07b7b4f4ad7d7120055b3001d39f0e1287e01391dedf9254d87f1c54c81f94b61fe1ff3297e17cefacf115df9a8b974e5f42d1ab775effbb502da28cc8b9eca3 -FixedInputDataByteLen = 60 -FixedInputData = 4cbca87054d6502a1b88b7aab0a8f5da41add282f27f20d91f8bf962db9df8149906a4e7eab8aff5a5d54f819e2a0f5af953435b1a24680aeecae593 -KO = ded98f22d040203fa8153149b72917af - -COUNT=10 -L = 512 -KI = 14fe7d5040574c713c1c62df4e90ec1fcd280802c3b49c15d5922df0dbbe741aaf5135812a94a93836be49a15e020b44db1e83f4054d2b4699a759eba2e8eff1 -FixedInputDataByteLen = 60 -FixedInputData = 818ec04631912953d2256e4328803818af433e0f2e1ac9d666419f9d82d786b25dae1351135c37413f0a01c6f456705e26c838384f02d7fe809cff6f -KO = 9489515c0acbb2a782f479f50c567b6e0f25bddc02c0b5a51da9f7d348898eb71bc6a243be56e176a29bace8d1f9028ffb32c846f24e9fe32cc82f82ca67bb64 - -COUNT=11 -L = 512 -KI = 268cf71e5d03c2358d8995f691ed06ce5f192236fd33c7b4ce9fcd0f408750ca80dd19a622c6182a66d912db548138600be5d1af1b7a3e300ff5a0124f9d46a3 -FixedInputDataByteLen = 60 -FixedInputData = 6c7f0732cdf8d21b5d6ae7a04ed0cba79c150cb8255216e46eae991703451e6c49ce26bd7705127a1efbe4288aadd4db9c734c6f9a6083cb414c6cad -KO = dd1dacdfeee39f4cce6e22f4cfd1ffbc22fc76de7ebea3b26ef1d654dbb9f6b4600b5823a1045da9ed372ab7a3debb7ddca8c60336025f1a39cd8a2a2192bc00 - -COUNT=12 -L = 512 -KI = df580cf3e11e038fb3a08095083b65c429725be86cba405f92b95e3597687fe1f9fe99c2cd6a424dd82918c618c4391ca66aa8aabe71f9e0de9b77c251c63c1b -FixedInputDataByteLen = 60 -FixedInputData = 3ba2abf148f9670af4d99650383edf31f563a6bafa8081e670ede2539367b2f1c9f5ac83bc24a35eb82a39ed40fff58e749714e6b0f74d0ac555c295 -KO = 15864ea863db143eef5f24b7fbd86b60c7683227a319a965d33bc34ad5cdbe80798a9f94ff2e1a7988a9c2b8f4def8565d4dde518d230690073df47c54101b84 - -COUNT=13 -L = 512 -KI = 4e1cef9967c0041285a906baa487cd3ce8675727d4e3e8b06fd97bc827e8cc2c0607a47200c43476626290d500f1a145e93c0c6c0c45f9e338b895b9c00dbcd6 -FixedInputDataByteLen = 60 -FixedInputData = cb31ae71e55f1cf64c39e42d275e77c52371f50ecca1a9bbf0786e9cd3f08cd075f1464b7cf0f8470e41243e119bb4ab10a4f2166812ca73183d34c3 -KO = fb9d0c0a2d4237a4d2812e6c2a132a9a6ed1b9f90da06d86109b2df05125aa05684a8e6daaf38b35e7389c55d4971dc0cd4c99cbad7d59c3e43688de6f44216d - -COUNT=14 -L = 512 -KI = 926749523f1d14bf033bbb29d59179d696c90659a8b18e939afc86a019221dfe485b06cff4e5b6940c2c272c7c50ca311dbcc9ce8a4059a4ee7e5f299c49c99d -FixedInputDataByteLen = 60 -FixedInputData = 9decf25e62b265c764a66bd0788c430c25e2595eaf16847a582758bc07a0207d3c8164362539cb3c149241596d570822fc1d0d8061c6cd2037d348b3 -KO = a7fd3f1616009181494f087f7c5cc07e37eb11bc4c4d1f8c4012fe621782b203b609d349e023e1e72fd1f2723f2ccecfc5225d42a1454442cd4ebb543278dd06 - -COUNT=15 -L = 512 -KI = 34ac5d6fbda9571cc1d3a306c3c4da097e36d66f7bda2a3c79ba3679e20a1263fa6ab75fbbde8c05199165124919d9a4fb8445436b7723c620f545dcd68294a5 -FixedInputDataByteLen = 60 -FixedInputData = 5add3965d76a2368c3d0306aa7d7b86af23df6b59e9e02f556386d1b0b5f0a41f07a74c73393e89b48974c4de5a8b4ec6dcef38383934f7fc25a65d0 -KO = 8a809119a7e9f17c576f7b0936280a2e268c18f1b5483413dd1d89b4d708d0052ee35227e1293b1b914ddfeaf8a343c4f50a4243e6fd19253d4c2ad60e613f5a - -COUNT=16 -L = 512 -KI = 7750684bbd296752451f5452320c515dabb648e122e92e8c1b1c882616fae6b0357bdbe9edd0398c145eca0984223073c6fad3003828e37104617b65d296d2ee -FixedInputDataByteLen = 60 -FixedInputData = 9780e114ee6766075d017ca933e82023c3293592daabbdccbc0c568cb5efb4a2cb09e34959001c50dbb2ee33c9ac993bb4428920f3527ebbdc1b239b -KO = d45e19742242679d3074e2d7a1a0fe0a8419697a5d474beb2f6f3bdef31a7af1f3be0fad742905a8567515cc392d4079119e1cc14e5e048bbbae21b688d2dc7d - -COUNT=17 -L = 512 -KI = 8838e7fecd8c5b0ae560bff3ef7d845b8bf6201a9c9b468277f531e00e87f51149d2e85241a8b4c2c64bb21db80a9f464fe9ee36555a96c8f992bd8c5596a72f -FixedInputDataByteLen = 60 -FixedInputData = 8cfa878f6534532be48044a7e1067d1a2b966527e544231cee6c697f24557ec705fdf9f125256b2b59731013bb0e032cfa40439113b382eec1e2f92f -KO = 89f07d2f5d3f5d510330b44a12510137db9badf0be8be18e06b83ef6a0869c12548fa1cfcd827b750b9d85dc7d044c5acfb5bde43bcebac88c0a76c69bf0db84 - -COUNT=18 -L = 512 -KI = 192cb285a65b45f986b6dd7ecbde881efa0329310d4f6d75f2cf9c27f095ad60b35daf8f39f7f392b0ed4f3e8e77d6fa1893539b670c4b568d5a3b331be4f534 -FixedInputDataByteLen = 60 -FixedInputData = 0637e12d95b2da48ced1ac46a004bd2f0ca5ba8623cdafa5eca2f46f94c5e95d9f0ad5fff452aaf7c15ffa2da51691105be88bf98045eadff8038af0 -KO = 552ccb3249f1563211f0e6ea841857e856f73c79eb6e087d072d1f68fdf7e9a20203edf08f5037706dca9f345b5e467895934d8784cffabf1161e1ed51130b7f - -COUNT=19 -L = 512 -KI = d31ca73e8eca1d11e137cbbe4dfa5d2c086bd8d39a52b2f21df60eeb86b8bca68cce29fb04b149761bb553a3fd23ec171b23e8028f715121e764242c5d857dd4 -FixedInputDataByteLen = 60 -FixedInputData = 301a7eada2f572ebd5eefaf85da68ad5887bf6eaea7653f9b0372ace55a05c2f70a87f364703c4af5e65c51cd9ec16a254b989ad8eeb84334e620865 -KO = faa605a003aa0dd1e391cd74cbae5cf67522161bdb76854997ddd0cff2180eb2105e021769f887c77f6b3a3ca33f52738bca0c524f37236ffc0a6c92ac94faae - -COUNT=20 -L = 160 -KI = 43a12fe53924d64831fd33f04fd0be03ae686dba7dbbcb34abaa8551bbf76ccfd3315e421fef5f786bd8f335373a7670d27c8fdcb728a1059a96eb17ce50d7bb -FixedInputDataByteLen = 60 -FixedInputData = 5b0f9e4046ec22c59cd1f347dfb7f0b15e5cf02947ef572d3d5999fcccbfaa4b0199375562ad019906f3d490536af531199e6220fed06b172bc84127 -KO = f60349dbbb114e66c94d7efd5b635d247300a4f6 - -COUNT=21 -L = 160 -KI = 06ae02d2da4df1663344aeb81b08246a3aa79bbaa35d24c125b785601a8833c5af57423bcbe063f8cee553be6d3b2121157556d8ef243defb2563df75e0c5cf7 -FixedInputDataByteLen = 60 -FixedInputData = 3c6d8e7f4423a1ef6fee730575bc02fcadb6912193d571e181b5e3dcf86a0d95a17a63edb4b1e3708945ce62c009328f045ba8a0d24775795fb64dbe -KO = b756807e46229be652ad563d3bc8ba78f510f9c5 - -COUNT=22 -L = 160 -KI = 349d44360f96ef8959c63c1e564acc965fcab07f01ef4315b8fdcfaa119c83b8430cf79ea1e4d50105599e158fa96398dcba262b3abe65bd145018d081c1a50a -FixedInputDataByteLen = 60 -FixedInputData = 5e8570d721437ca55a25dc3868ba8019efcc726f49a71c3ceea05aefdf56b305e13a22da2147ed4999b0fbafe8a08d5c6b68f34d800d9f2bdfe25e60 -KO = eee3445536c8b6dadd205659e7e9092b375c8d9f - -COUNT=23 -L = 160 -KI = 405500331fcd1051b0fe4ad5b0939e85ce7acc6ae6976b2f9ebec717a22b418f6c583925c2ec24c71b81398974857199d998c16ffb51c7c6895ea6084f1ea985 -FixedInputDataByteLen = 60 -FixedInputData = 7ff5e9633a2c33b15b876c9e1542cc51b2ba72107aba2713898abfef8b956c00f85abdcd1c26e94352aa635a78f46e5af39e09e56ccea0219208890b -KO = c3a571a13173d2a497ae6efbaf5ea68e2c870255 - -COUNT=24 -L = 160 -KI = 97d1a3d6fe85102454bca465bfb6a50c387d9ef34e3db76a6d68aeeef67ba16d6acb006c413617ed9bcd92fdbc065e8286bd74f573a7b450ddb0ec592db9a4b7 -FixedInputDataByteLen = 60 -FixedInputData = cdf45eebebdfaf51f00d556e42e003e5097c27dedcbc5d34779457e12fe99d85824fe005d9fef520e5f4c9a761077703d926ddca7eb02458f69f3f82 -KO = 7eadb77326e064c4842a9d48770544014b248514 - -COUNT=25 -L = 160 -KI = 96fbb9ec2e69765aab8ead3e833b5e7058cc3dcd9c78212832fcbe027874b901011c3523e3b6686c3714232f5ba3b548f4650b70532c6ea07b1e5f81f1727b82 -FixedInputDataByteLen = 60 -FixedInputData = 23a8b065d9a1fd9fa9a2e1f0193cbbb33475a212728d37eb6b651c564fe068791a32c7319049260e87015e93c14af74fd8a0143b7ac14601081c0e90 -KO = eb091f9d260a84c12f69ecda5be844fcc8612472 - -COUNT=26 -L = 160 -KI = 01e356cc138f77dc81f45109b0b9b64abe3f0fb84ae27dd76289481e33459f4210b37c999ed121ecfadda751c667a0e9c060b18bf530a74d8fbd8af93875158b -FixedInputDataByteLen = 60 -FixedInputData = bdc3e0ec8dfec6e877395a3231222fd786324d14e9e769002bfe2deec2188a57da058480d10b79b030166e1818db0b3f0320a547321ec9cd0c64320b -KO = ebdd9d9e88d4eb729e6e745fa6f7ecf6e15050b8 - -COUNT=27 -L = 160 -KI = f0d759a9f81f8242ae35792a8fec5db1f8c3cd49385355483e194607a5e72b2667df681093de49060a049b9ae703b9b88a59103716194dab9c1461f539e7e5d9 -FixedInputDataByteLen = 60 -FixedInputData = 1b980062ae36f39fe2e3d8e1009f2b50545231aa988b4b829da8ed0153e0d7b8a1475c9e12f3c6a72dbbce42e9465be9e1aaf2184955a92670749c7a -KO = 9e480af17563d75ad4a2ffcd74988624d6e778a7 - -COUNT=28 -L = 160 -KI = 75d380392df7b6ca1cc03c5ceecf367e8cb54187641efe23dc381578f1b56669b5f62976f5e5f33215ef3be262c90f66450c21e80f91502d88ee4239cda61c62 -FixedInputDataByteLen = 60 -FixedInputData = b20e0b29abcfd2017f8bea44c0700e55df9585bcc36edcf4ce4b3388e4a0a7792226aade78696b9eccf9ffcbbf29eafb3df716f573b6f0b222685e21 -KO = 3d264018851fdc1c6fb6b4b3aa1b2e053cb0bc3b - -COUNT=29 -L = 160 -KI = 99aded87c1ddda8df9bb934b5c7ba16258951e0e00ea85eed2c89f4182562398008750ea2cb1f4ce9f8b81c0f8c9806bb1fc25389597c0ea1e244308248e0e88 -FixedInputDataByteLen = 60 -FixedInputData = 486ae1a7e001d3c1ea52cbdb384eb505f5fa38ca5f0bf5c32ca425e282547a57ddce2488f0d0f21e79cdc27f269655b86659d395513a0b01f7e5c751 -KO = 64034a68a2572e5dee8636a4736579f7632f4366 - -COUNT=30 -L = 560 -KI = 2f168c7ed42d56408fd3fec1e2ea937dab6e4df76da8c52a618961a5bdc415712ab03460855d473f552f3b65b0ed043b9bf8f5f3835daefa3cad5fc7cca92259 -FixedInputDataByteLen = 60 -FixedInputData = 5b4d00497dd1be7e6ba2e04121de343bd1b88e8ab72b7715848f14f15456f74a86789430b60f64f12c1bf2809cfa11b5f44b1c1069cbc876561e2293 -KO = d5effc17537e3dfaeb2250d1160c3fc5d2e2eb9551568b0098b296d6a462b71cba8d45e2df7d975f57d1c7bd9f1f56a73258a2048c0ae5df529fa34e4f3267958b5e4201eccb - -COUNT=31 -L = 560 -KI = a2bb874d5dcbb3f85f59284863dfdad7a276a081cf82ea1a43f9891ed1f25c5f384809df4dff25d4f9f1caa040efd356381bc7dbe473b1896d531a431dd4891f -FixedInputDataByteLen = 60 -FixedInputData = 9a74fd63e59ae2f1a89e3ea7d109e2e5166ca3244e4a0ab7e352649c32708b50fe76ca26ae7b4f180ff503267fb7e238f9b149c3af754c0c62a226b1 -KO = f9e623aa1d53e9b3637b11083ae3c9ccacaa7dbdb49e608746960994c81edd4787704d05af1ef56f12b633647a3cc469da3e3a4766ba5e0cf40decf3b0dda60d981fb6e52661 - -COUNT=32 -L = 560 -KI = 7bf76162d5b61f83430156856f0c748058a1b8b216e30aa9cf052cfefa69c0b1329be57764755b0aac4b6f008781201ad36862d35ba53458af8fe8cba9d12ce5 -FixedInputDataByteLen = 60 -FixedInputData = dde34794788bf25d05d8cce427db094cd073efede60ddb7cac3e5196abc86b09da12aa15ee788edc6d88a2efb1dd3f6dbf05e5f9ffa320719887dd0c -KO = 791a9791ffd07305854a76182cb68e515353194c1cb4731a3c2a65f755813bda0b8c96e08abbe027c095664e0f3ae6dac758b4d8a6f59447a55e224cd8293b24a8ed1538da81 - -COUNT=33 -L = 560 -KI = 454ab5d36dafc8c57d6ae8f52b0e412f28ba6563c7cefb48cab220c33385a053870330b34a709b92f948f85ce5a41a80aee1274a63660d3894922db575752389 -FixedInputDataByteLen = 60 -FixedInputData = b56fb8b258d2e8ae6548d9a812acebc4810e7a89b6740326a1a774f3ea69def67b5de5fcd23ddd6b906006b6f428ff8756f148b7e3c6783cbb053a73 -KO = 24d266c250b73d6abbdb08b357bcff8c6b87763a801464415d5fdfe8e34b567255a4f7b570feb2a65217d50b091b532316f4b245b62c930e5f1e08bb6a5c46704f48833a7319 - -COUNT=34 -L = 560 -KI = b1907119c90c5dab5e948a4caf139af4a53eb53bd6ec38e518b3db4df9f78b085d196214581a7f14f88e8c809feb44b2c7c4f984a9c39d308125f93db7773b3c -FixedInputDataByteLen = 60 -FixedInputData = d6e3c2dc2213a74dcb6160947b9e05bf57729ae31f9bf010b89ff454dd103d9c204003e8f4a7475d52ff90a8ad93c8b9a8a22ea5dfda36b9a265ff60 -KO = 0bc5caf2bd96207137b0daa871137027ef7e2cb047b732561d0c85105cb6a403f1e35bff31de4de7736f9bb72dc3e3890a1ff934a9efe2d9506aae20b4df44fdb9355b8e1db3 - -COUNT=35 -L = 560 -KI = 3f3ba80d751e129ddefe889cefd0638dd62ba782cd0af685edfdea0eeed91fb7d39ef6aac2783fea5c594b4614ba36f9840d87374b289dd3fc639161a0b18005 -FixedInputDataByteLen = 60 -FixedInputData = e3c01a177d9119f97cd3838f03fe20c46e1e73d752370236fdc32a0fc3b837e657a506806e748cd26f847d0166457a96cdc965fb0b83319aaa693615 -KO = ea242c3258f23c8e6623f176be3a82309a727737bfc7665a38ea832c979e159dcfde1712ed39260faf72a4f2e54143701465511b1808cd8953b6ecb94c08ad04c63cf9022aca - -COUNT=36 -L = 560 -KI = 39e66173c711f98d90b6b3a6bc11e0d872f268f3e70a0e33a9be809c997dd55314bd16777809f6830bfa151036e371ad7be8b93ceaa5c1da0e1ff6aa58b62f78 -FixedInputDataByteLen = 60 -FixedInputData = c3977c5745758fad7fff036fc7eacf70417a106975a9862dcbdf8aa31f8d2d8ac43cfac8b7a7e25ce39cd7d46e4ce098ceb0b65f427181c3b6835d94 -KO = 6630a0d7f7e90b51b8a5aa0b07afb52b57ea100bebf77b0defe4d43929bbd78736ae0bab82d5937d85a9acfe5fdc330b7a92cc5c6531afe7b0b30364a92439dd0ed1b4ef852f - -COUNT=37 -L = 560 -KI = 317aafd1b68c5875b61d76ce7b97a2218b4875ba6bfe157594084bdb50442f7c889880c3a2339fa228b5c02a048e25d367d3184ef0a5c95fc80582331f54fd5e -FixedInputDataByteLen = 60 -FixedInputData = b53c0e531a1d32a8064eec25fd551f6e33a9441bfb1cc0c872b431be4fdeb858da80767443a06556f8d38564bd431a539f64ed549627af6b9eab2cf6 -KO = 2ab2e30fb48674a14edc43ceb2d4c12f3767c198efd00eebcb14f76c7c7cb99ecbb6544dade7219aca70eddaca8965b8fd8365da731d1c46ffad9160f6519e1183db65465a52 - -COUNT=38 -L = 560 -KI = c6c5352085150ef1a10fe24f7974afa8e4a9e3e3a5194c55262605f77030a6fd8aff0cf97120f17b462db3498dcd3077f205e3312042bc42ff853b19e755fde5 -FixedInputDataByteLen = 60 -FixedInputData = b145b77179bda7e36b2dc32b548d15a9fa4bad8defa7ca493eb95401f4edf02dc49c48ee050ca876be810084114c2082ef171b43f35a49f4c6715371 -KO = fdb0aa63270626bfcb804914e38fe8ec8d50123b1f2885ab82ed6204333a1e5fb8732d0d3369463a1ea5e9efd6495dd91a9920159f3a28db842c8fc15a4f7fb6ef9d08051e8e - -COUNT=39 -L = 560 -KI = c117a1013c6c2247217c8c550e2f42f0e6e343d6c82a64deaa9b5479dc42fbc783681760aa8fbcf0416295344429386a1331649b7ef4f6f2e6537efa317437d6 -FixedInputDataByteLen = 60 -FixedInputData = e957997abb57ad41a78770754851c51a21967c41aa137b8796ea3b9cecf0f212dcd1463c6310c1c1de4c30871a5eeeb8651b71c558b72f9a9995762a -KO = e78c70c797cb0cb8b9b1f095e2c54797cc2c6506b3ef5c4a353f0cf1147b88347073f850b676d149ca830a182559472f0ee274d6ba4b11dac5213e9eef4d68bbb21e742e9ad5 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = acbe9ff4d3b33de8078f88ef3e70198f8b5f77e7cb9439a5944ca3f77df66270a9201cc008fe73d68f57f361352dab31a0d34803fe048f7d4593ba34b00d5714 -FixedInputDataByteLen = 60 -FixedInputData = 6497a7f569e068eaa2929128b2246b25de6d1fa1ba3eccab09bf9327e7bce08345776ec343f914191a490365f271de9315d4deb111ebd8132a60b1b2 -KO = 54d19178844dafb0e26ca89f7b46321d - -COUNT=1 -L = 128 -KI = 275f593c8f115087bc519a537a02fbc71d8d9e4954c47c8c77e8cdebceca35df2577c8d0d2e7146185a6fda8577305bfc53c3deee28d75e6f7d9d0a7bc1fc63f -FixedInputDataByteLen = 60 -FixedInputData = 015bb7c416715215dcfc2111b68270541aea7aed4bd3c2f4b0eea2a6ab4662d1f908237f57a8db71a63d39098fdf80a98231d851754bc14eb9e9c2a5 -KO = bdcd8e1e05516c62e86510a9bb03e51b - -COUNT=2 -L = 128 -KI = c6dff4e14f37b1db7327da55f517726f48f748eb286f582cea059984b60b1ac47d4f43acef1b92febe1ce22293adbbbbac2742aa3ac9c20971c56c259526aae9 -FixedInputDataByteLen = 60 -FixedInputData = 35b70bff4fd17e1cf4a47f0b1104b2d4c927f22be041d9390ccef8e9f2c992a484072705f0b4ff37a6b3df45462bb3f721b9d92aef8d952bd178c3f1 -KO = c40d8ad4337d1acef709643b8d311edf - -COUNT=3 -L = 128 -KI = 6bfc70438c30ce7cd5a113ea803d556f53c72720067f8acb61be6574687fead2d71105dc2116a7db0d3c84f476007fbaac59b3b86176f9cdf71c600b5e355446 -FixedInputDataByteLen = 60 -FixedInputData = a142ad76cb56dbc90580d57fda481461565fd26730d2b49f0437d982b142a098c8b4ecd25af03f04e936fcb77c8e65a3c476051da0e4ba558898ad81 -KO = 7ba6fd8617326e3cfcb7884d0eeab2e1 - -COUNT=4 -L = 128 -KI = 1439399fe6f2eb006de53807de0ab0b8c240a331beebe92cca82b76e2ed52e078b1c717cc0a9f638cf6606f6e1f07d3cb353c4475c010f444f5f49175debe9de -FixedInputDataByteLen = 60 -FixedInputData = d8d578386c3b415724495cbe34e4ad792e713f766d0094900bfd6a4b94aad74aa756ae2005cb2f35467581bb6ef1ee4ec72414e3cede526917b430b6 -KO = 0abf7c479c5771ec959b6d3546d8ab45 - -COUNT=5 -L = 128 -KI = 568a43a7d16b48d1305aead761b052e2264c80302b567155b235d5a7e996da21f9218d809f2c8b5edbb6fa691d95687614009631d6f96fd31f3a7e1c746a573a -FixedInputDataByteLen = 60 -FixedInputData = f1cb9e1396e643cba663b21987dc4a912fb5611ea07a008019b685431c544857a1848dd358d879481a0d6cd79d15c0f17ef78f0553c187221e4f2943 -KO = d0a5edf5f2baf06059e5340fa73eeaef - -COUNT=6 -L = 128 -KI = cd49319598b7170ba340ce6bf0826b644b797c27c035c2f384ceeeba694c1bfac90157e83123533f28dca84fedf1eaa7c2677c909a569f94904da2b15ecf13f2 -FixedInputDataByteLen = 60 -FixedInputData = a6e09c3c059ce2e2a013cc1942e94402972c58b82b3c8a80f0d963e1d0677ce5b8100762517d6394c3911b81101060509aca1492e969b8715ef1a30b -KO = 27ec4c41dda0e6847f2a35e222cf3d9f - -COUNT=7 -L = 128 -KI = c933c4199a2b17c035247d19aa7decbb5a10f8799a9fe7d5417c71fb8dc9b3cf9da2ab2dbf1e86633b44a341716d89741db001c0fd4c5a6e78ec8a4b872e0dff -FixedInputDataByteLen = 60 -FixedInputData = f86840bfcbc3cf48d602946e76029e13ec7bb645c53f2b26ceb8745150fffe00846a37be1fd51c03075a8bfa9bf12c1d38b524a720b753d1314eb2ec -KO = 4a9e5b1f44359ae92244fa084cc02424 - -COUNT=8 -L = 128 -KI = 21166b1af3f7e883b94deb07b9515a5891f27aaa799b9714e372e85284522607e60c730eda685bfb1af1a7b3fac4ca8a849c1f18f037c528f7585dce7f9060d3 -FixedInputDataByteLen = 60 -FixedInputData = 418a5e2102a1b16233f04d2054e1a55ef6141026629e2c2378add253ad5c66f8f6b3c48d34b1e8a91517c3eddca0b23eae8525b3ca2110f40f3b7ea9 -KO = f703137b64080c2813ddd5e5f66464ad - -COUNT=9 -L = 128 -KI = ff91d3cc2f0c328a7654a4fe6558f200dfdf9326fc77c0139f7438a01460df8d953c3989e0cd76b6e874ab564043056d2fa4e93e5af998e90053f6173e074134 -FixedInputDataByteLen = 60 -FixedInputData = df06e6a6112bba4ed1e1f590118e8f4aaa1ee9c5dd88d3cbc00a2b7e290dc60b64eb0dd1ae43a8aa8cda6bed67f826fb2e3d7f566e26842ea53e1b97 -KO = 3fdbe62d23e64d84d5afbb46aa3128bf - -COUNT=10 -L = 512 -KI = fad61453cde59e5c9563c31e2fdf952c96b55f31fae8867a705e7b369351e324980f00a256b869498a0e8e85f579faa1dd821e775b79523216b6c9a1112ed4b5 -FixedInputDataByteLen = 60 -FixedInputData = f68ce74b0dbdd62ae718e19b05ddb3a6232c1693814f5e95189a8cce10b8b5ae3d3c5fc2737bdb89e046fc172894240dc3c84bfb1a6c1b3f05c7d334 -KO = 6d433673b1a7731591c5e513ceccc1846ca14378228e188814546cc34ce22e67b955c3c8945b82bca13060660adc28d23fdd239aa85635b7d333690c45bc8b96 - -COUNT=11 -L = 512 -KI = 329b9c2bfea44875e604bde70d6c9ff782a8dc58bf4702f1804700c616b4d286f2056610af680df2112ae59c328d00b35c0b88ced15d2d3079b74d9e56513e74 -FixedInputDataByteLen = 60 -FixedInputData = 15a9e94b00913b4f22cac3c8eb98b26e723997407be3365c074422b246641ceb5d89b8729511d5ed608b7f456e677823bb385712c2e82c0f533ad21e -KO = 1d8878c046118ec577775ec66b6f7ba13b087dcf8733627d68eb800836b437464ac3d68cae01a9e28ea42f4996a29decae8577c26ca2db162fba9511df40ea5c - -COUNT=12 -L = 512 -KI = f044d1e8b0773dbba479834916b9840aa2334ba7c4740989e5ecc7409a8852108176cafca0055fa4220d6ff00c5478c9fc86aaab24d27c034578df5d6ff90636 -FixedInputDataByteLen = 60 -FixedInputData = 79052a996596a2cc89739778405b294dcad5b7c6163cab2cda4ce315892d6f04078f566692995c26290013137ebf0ab2462cf643df9e957f946e518d -KO = 7ba126409abcfdb41f6eb2f8252025c764340909783dbedc9fef93b5fcc12ecb318e1308f48571f03063fabeb98adfccd6289902aa315c4f2e178c2b85019b8f - -COUNT=13 -L = 512 -KI = 456bce13d03f547a0226f811623c84e0a944d8af66487f614274eaa7722ecacd46565a8579430ba70adfba844d6859aebcd5ad69f5e834e1da02b1df6502f069 -FixedInputDataByteLen = 60 -FixedInputData = 03d8c69774b48cb53b5b86a1c88cb78dc142a7dc9becf32c6957c33f9023bd3b4b69ae751a241808b2f563a08f051f8fc5f79defaad8d5b66c161377 -KO = 160f0c99a4415bad6476f794dd0c87fca239f8d9a4eb9e92245c92bfeb687890406d63b316da72eeee8327cae195f692e432f5638b9bfd53016d7ee8351f30a9 - -COUNT=14 -L = 512 -KI = 45bdb61b28f699203b0f47879140c3eb854f468d24894cfd7d684ce99acd3cb3918042f5f7ea33294b8970d0b105c79121eb744fffe174f963b4b12bcea1416c -FixedInputDataByteLen = 60 -FixedInputData = 6bec340e82d0f1c52d8f54dc1557f55c3ed230c7a63c9a9eb62d34fb7321fad286cc3a24ec3ec968a8cba91bb6a6e4874c7f29f020e606296179ee8d -KO = 41908071c39bb6cecf6702bd742e7101940bd7eb736cf2c33d61d54a0ba785cb91c3ef392c7f502da0a7178b0a6a2340d82aafc64b60ab3f5d4ad628f6668297 - -COUNT=15 -L = 512 -KI = 858c724601aba5e440c16ba50ff1d1e70f936fe8777cc2b29cae5261bd2cdb46b1d04db3f96dfd20204c6e04f59dc2d1a6c571009c0807e8e22677f240ec895c -FixedInputDataByteLen = 60 -FixedInputData = 8941a566a25b796b139c87613155e44d81abe823d9ca4f98aa842411ab5c8447242ab9db9eea95adec211531890cc60b1e82969ea4dd6cd685512edf -KO = 49cc41ea6133bfb62cf4b649388745cccf2766df1c15eb423cb143581e88f6c13e9438cf9b8b4b4735b9bcd5970d514c88905c5ba730a8de1f4221f2b2f1fe14 - -COUNT=16 -L = 512 -KI = 50222c62e4dcd986ae3b124b79d3a8e8a9187f63e28ac3f6d683bc3ef01d341b3daacfb7930fdf75f603edd59765eae28db9d85a71a9a20048ce6bc61da53f24 -FixedInputDataByteLen = 60 -FixedInputData = 3ca8a00048b9b0281646c737a53aa3afe09047f2256dea3755d77c127cd6938b9bf6b49c051c9bba57c0424baa3b92150df5736f19a3dca83e9d092c -KO = d9c82ee0c275a7967835b79a681f0bb110cfaf6091c3bcd30d706f5be27b0dc3a6ed64211a38c0d3d8392631d266a0ae9c423b59e2a793438dfe81676f132cab - -COUNT=17 -L = 512 -KI = 149b3b746c7e5c178003611c6b089e7ffe194537a10ed55177084fb806e0344e0cc7656c2c42869fac2eddd202f1b6adddadd50cff85d1cfb5f1b3229a198a78 -FixedInputDataByteLen = 60 -FixedInputData = 55dd2e995e3f7de5d64bc94ac56e374372a5df591f35801c3769823dbd6bb01a8d31c4e55bdabeaa24835a440ef17f9612132fd96a4e5ecb1128adbb -KO = 7b76856990376c31a16015c0c1d5b03f3df70d2c6b3a2087de5f682b8aaa3a7e99ca8358876ffb5166c06463028c6c2b52ca7670b56fcf01d8c9a575a0578925 - -COUNT=18 -L = 512 -KI = 6a0d285664f69c4869ee7e9e6890060405dcd5f2d51be5714e44fda8d1a2914b3b683e24238026d0a95ac07fb409a240308d1c604896be29911c5922e6b666e4 -FixedInputDataByteLen = 60 -FixedInputData = 9615fc0ba16a9cf77da080cc7a242b5c39f44b4756299cc74488192914c5e937524461642419236327ddd7d8cc8f0d4de0474a13402c11e5efce2999 -KO = 21d82731e0a443d353e93a1a4430efcff62e28ec7437ae6348e08e17120d15cbb04d39154db27c4c9bfead85e588b6e5e0857f2f2f492f018fbbd1d197c9fe41 - -COUNT=19 -L = 512 -KI = a547ddbf21e8dd609760fb87cb855b9d86362f6cf6e6dec87cee88efcfe20abdb3ba38ae447c573355f67abba5615ba5e381145c58bfe8f330a2481b1394a77d -FixedInputDataByteLen = 60 -FixedInputData = 57459d6c893be104d750bb4c169a6b95635bdf5fd8dffa3f29e72c4737de1110fcf9f5014d90e1774812017f277b013011be641236c25c18de954731 -KO = 9df12248821c9282b842be0a24e18929003068c05f03c43bb69b6b87693a3462e59b9421537148d101c29bc1b87474df109347ee9962a4ccce2eb9112565fe54 - -COUNT=20 -L = 160 -KI = a4a8628dee752140f307bd41a7a33fc31e084b7b1d13efc9ed3452add491f351095347766482334b7bb6a1628a5af60acbbdb2e04670ab92e860ce179e085b28 -FixedInputDataByteLen = 60 -FixedInputData = e8381643e2b0b826bb63b64e3c473d9bf6b06bed48821b9975f148c4e393e3581c253dca0323143c7eb5d1e0540c24415c6fe63d90513934e1528bf1 -KO = b5bc67f14dcc8480b5d59388e254a3e3a22a0561 - -COUNT=21 -L = 160 -KI = 7ca4658c1306a9574b461cde05bfbf2c0890c07c87cb80dfa8c15891b7d355531021d88db259e873573366c196d0623314410e9fa2260d37c1e980c436515316 -FixedInputDataByteLen = 60 -FixedInputData = 64089463ca4359a0da47161cabf7e0b77077668fae8fffbd9a908c32d4641376f0fa8c63becd8739332920193f0aa87ad641e03835c64151a5cec683 -KO = b060897c1e7b455e3d89b5cb6849a04ad41ff217 - -COUNT=22 -L = 160 -KI = ce863b1066406aa0094d45381ab8d3fd60ea1120a26e509b8467a28da16c298a8f46352da70cb747a3481dc9b2318c9ff29350458365dd36b9113b7b77377591 -FixedInputDataByteLen = 60 -FixedInputData = 30f9a5c6090ee2e57b22b12c6019f075f371d3a2d4fa465d9f4e9ea2aa6d9ae31985b47520776ecb7f063e81d9fc08d51ea420b9f9babf149fa01cc2 -KO = 1745e042cd019332ffa7980609401fcd294506a7 - -COUNT=23 -L = 160 -KI = 0042988e79a616defd165ed77bb34c46bd79f356c034b6e0542d18f07ff698df3e7606e911a5597e5933e0bf958167c8d23b0b4c3c3bea8395bda55bf308c9a8 -FixedInputDataByteLen = 60 -FixedInputData = 6148025ee94c4967d810cdf7877b91ca6bdeb230dbe6b83f9e5d2ed1f1a4417309d0792db164fd82b85753b5f34aa107ae6531581e8b65c710cfb99e -KO = ecb4e3d000aab3feae3cd77b905f9804d1299651 - -COUNT=24 -L = 160 -KI = 542718a0acaf161d68124da90fbf7d6ffd08b19d921451b556e34ea8bc8fea6065ab9085c669add66e6e9273c821f77b798362be8ce36c9e5c0823a03da65aaa -FixedInputDataByteLen = 60 -FixedInputData = f2702a7d0267d0bc46961c1e006f8a278c262e7c5df141acb8fd187a80d452ee7c7b9635a7fb936e737a1db01715626cef0a90ed04f0de79582f8351 -KO = db2c59b7b5259eb427db6382c2961abf58b051e5 - -COUNT=25 -L = 160 -KI = 3c6d00670fd3fe51f4fc8757e54ba9827fd4ede8423c6f608bbbdb03d3cb11136bad24d029690fbcc422db54758ccbfd9b868f4f3a329cf87f5383a11175a174 -FixedInputDataByteLen = 60 -FixedInputData = ea98f1f89664c9d87c771eaa10066bcd8918bd37fc1e6a83263be8f7199a17b2649609e5fc6bfbb66d43f264d4364c357f8c9be9e4b65a6aa2183fa3 -KO = ff4ed8fb39c80e0366f5c135fe4698c7e4f43771 - -COUNT=26 -L = 160 -KI = 4915e4b250c4be1bfdf00c6f3295b0de5bdcb42115a490fda297e98a7e3b2190e92a522dbb83170604b139ccf791f01204ff55bac93a53753a6cb11b2decfdbd -FixedInputDataByteLen = 60 -FixedInputData = 744c19b2a8027f950b1fc20fa59e12ba928c29f1e5fcf005a0bfd27bfb1ec2b2acd7ee0e3fb1c4c5b352864d196252211a12a276069349cbf09f7247 -KO = b0cc405a37438f16f0c0d5ce17af4924d5dca498 - -COUNT=27 -L = 160 -KI = 4f9b05eff179359da03b561e12807c1f9da3fa70eb538d0ecd90a24e5fc0d4f1700f14d3d78129468388af6b355e25f6e134072e03d28cb50b32b4908e5bd77a -FixedInputDataByteLen = 60 -FixedInputData = df025cc860c9b3170c26e0f71c71b51796f33fe8360d688ce5253663e59aa4966c6eb5a6020c099e5d5a8240c244173b1d16559f4a2d2b185745d746 -KO = 0a1d0085bce4ff3de8e50c298e9b522710e8d8b2 - -COUNT=28 -L = 160 -KI = 98b106f45ec8633e09f4428b2a1d2dee6dd7b8e972bdb80430572a25ddf68adf11a2cf1d94818a227ec680d8d64f3cfca671c7578649f04df3ffb5120b537433 -FixedInputDataByteLen = 60 -FixedInputData = 71516f7615eef1d4d331af4dd9fdbb8cb2c9c2eae369219f14d8b1dd5c80f710b6fb9d859dcd209474d55b1f1eed47d36f7f0f5f604130e0bcddc531 -KO = 4fb766eee8681078dcc23f73d31bd05b96db0d76 - -COUNT=29 -L = 160 -KI = afc595d532e04304a88f31d8b4d850c3d20ed21e9c4395bf681bc286cb8792b5ab38f54c46ae58183b58019a43e9ac0d1656ef08fe8c476d7ab6aa46bd390e84 -FixedInputDataByteLen = 60 -FixedInputData = 207cdf35830364533e83a3d3e20e1f88fd669be91134800d8a5cde8891ba88b103d2ed74cb125626108186b679219eab80968e7c0dda3c32bdce3cda -KO = cee3c3192d1dae8723892a37a1d957a9c87b99bd - -COUNT=30 -L = 560 -KI = 8f132bb65bc3230b9147bbae60ece7382372c40186096bc4740a9b45c76875216a0f831bc8abda0ac437afe6f9ddd86c5b9f9a72c010ad8d4d169386285ecd6b -FixedInputDataByteLen = 60 -FixedInputData = 4479070f8db409b1420508db4e5240da5c86098794ee0a461d82b24e85611214a0926ae1aa34040f0d56fe3822608cb87a2c3be5953448ea425d53a3 -KO = 803065d2fdafff6fdac280d0aaeffcd7f050fb9a9ac60f5379ae3e92194aa967b91983f112a57d1e9b69cebed785c137b5e330779c912481a66ea1c7f148967da41c289065fc - -COUNT=31 -L = 560 -KI = 40f4fc88943c31ef0e4303b56f8f03692c6c7b5e4d11014a8dc472a21272a6188ecad2953dbbcf39164d91593f370090e028dd34f0193e3d31f54a5cd2119a34 -FixedInputDataByteLen = 60 -FixedInputData = 72db405b4f64f748d82d24e6c8beed35365a58a124ed3a98d4e760efff53a4a63c139cdbbbd55c940d2a499d4c0119abd2f1e9296a48e4732ccad073 -KO = af2c10a2080e85df5446c7aee3877c8f4b3fc915ed6e1214b3e656cec9dd0e1ac8a809b21af73b51b90a0ebdc191ddb3d3a9006d327bc9d5c4b1784eb545fb8b955953f8d384 - -COUNT=32 -L = 560 -KI = fb298848d026b44e18e1bf9be6113592163311d471ab0915f6413c2123014bc17e6875233f2a2509a3b6b8114950fa590e370ecb250d7fd1eb168c58959195e5 -FixedInputDataByteLen = 60 -FixedInputData = 7d5789736c4de141d0257065f1af41ac7921326159d4e37b869bc4195ef32d3e278797bb3729b2746ee493af1974994a55c9a45953e64edb21b402a4 -KO = 7ef21526e23be7462da97855aa34297112b7aee17f706cc93c9cd56890c0f2015d0051be7e05a0880590ea63d0d77c0d6c3921cd27f3008cb610a934ccf6033d7e63870a7652 - -COUNT=33 -L = 560 -KI = b27aae233947713c426cb50650abd665af7d112ba69545038dc89273889442d54fb8e675a7ec8831ad11313951b97a10e859a7090ff853c73e3c9dbd3e69ced4 -FixedInputDataByteLen = 60 -FixedInputData = 556ac98df3cc863e8d3fafcc39034e6ae063f1e45192b0494ad7dd435a1fe5cc92759510ba286aa8f189c4e34b6724f836497dcfd76c2b917ee696ec -KO = e65a67fde1a34662cc59ecb35bce5949eb9c1ade2f470fa00a0cde6f9dc298e04a2dd56b1b669da225f92c39367102da139d1a7a26d9f9490931d4b86adc3655b9ea3283477c - -COUNT=34 -L = 560 -KI = 3cefd00450c45e3ffd239d00e3d8b08ee5b3d9ea610cb0c37c34a4de055505621a79fa6b7754e47305922348d95b61b40651ce77e1ea07b6f5108da6ad972519 -FixedInputDataByteLen = 60 -FixedInputData = 2c288b7a1c1fc9ce9e5c8a22111c5b38285608bb66227d2e02525c0ff276d1c5029d1108c9e0ed583ad1cfd8b9bbd0be31bb029d5307648c1a7ade51 -KO = bb75968c7a76e5530bf5c811790642d596db8bb6ed5558d3e104db13d4318692454f914b85508c268843759bdee3d4665fc88e503365c5ef8eff8d849cae3cf3dfd181eac3cd - -COUNT=35 -L = 560 -KI = 6ecc66537e473aadd84a01c7452c3a5cc30de2bb87dd8bf0f3331fe1be6edd17c862f15ef8dbc03167661a0b438ceeeaefb701781844f2c4c574d474d825747c -FixedInputDataByteLen = 60 -FixedInputData = 27bf4e5aff8325be2101799b7cd597d6f83283040265d8b95fabf94f92a963c49b02f40741540a94d9b9289b8bfd16a3b77f516370648303d0e99cd9 -KO = 7389f2ce94a7d8bc3a299aa8a3cf993f9943895f75191f71e081d922c159e3b8a71f72480960de822a1a568c418b50cd990372d07a7d1ab106cfd5cc8e21763dcd3d45fa55b1 - -COUNT=36 -L = 560 -KI = 83197462546dab3273296c0983a3d27a8d39846c43f45244bbd6d0c57b5d6968aa050f7fb82589c7ea302ffad67e1ce4f934ced663754bb89e267cbee92281ed -FixedInputDataByteLen = 60 -FixedInputData = d5f6159e5ec19a19b1ece69b549cad8cb79b708a3b0cbbeb53b1a2e099b7ba9b4e58336800e8e84526d21615fb00df50d9135d88db0fe1b37275af25 -KO = 81f6cb7fefd916cf0ceb6f94fdc4beca9a8a815bf7266a4b3164cd0bc24f6a106c91286d9fb822c0d465f726591723801dce03b9f31d1ab744c164f4751626a145d4c85ef2dc - -COUNT=37 -L = 560 -KI = 0f960fd9afb59cfb49f47bea742389984ef9cc11210e78508ac97d53ba51ef84b834813aa5c98ed87dfbc7d0c3afc3fac997417e22b287f569e2e37e1b42ed4a -FixedInputDataByteLen = 60 -FixedInputData = 59f9c5f097da0d37bac9a02d4e8fc23400d45c825f2630efbcab5b3051af74b2d4ab1dd6f29086150f14515468101acdad127c6d325907f252d60103 -KO = 7a2b3f02f40f7378a6944e41b59d782660262e7f0653ec42526ac20c37bf8790b99a22fef235e66161cbb0a94275f6908a2dcffa79e32f26d7eb0ecb7d7ef05f22f2507c71d9 - -COUNT=38 -L = 560 -KI = cf5c97f1203c6998f8a9132b3b52cc0a64b4f0cabb3c458aa2e9999a1bf2cb746771fe03c6f9d8b97468ec683d3274484dac355832679128d23686e8defdcdfb -FixedInputDataByteLen = 60 -FixedInputData = 295bc30d79550ac943f8a81a87808cc6d51d83a7241cb14570f39e8a4e78daad87988912482ef658260ac45d97c2508465e0ecb196845a2209242892 -KO = 6c07655a0c33d313be320db10aa78691b0113aa53d7198845f8c1a5b787c51e0efce7e972f21fa97875c27270f140dfa3c5c4aed1cceca875ab7b2f4d7a45e3d6c8451ada111 - -COUNT=39 -L = 560 -KI = b627642d65255a1746a33464fecf94b7439d81ddc126f3d14307527e97b29108aa5b32b0444b21fd19b6b7199e28d697a7d1c344afe9ce89ed77fd3d3a288b6a -FixedInputDataByteLen = 60 -FixedInputData = 3d777502a5ccd306d18c96601bb12d582e4abf4466d81ffd51c5358fb50a5d5f4e18830adf2faa9685edf5b08c481ae6da007059211d3b93e51987cd -KO = 88f2311c5b1aa2734d08c3e974325222e40926671e4d40eb96df17bde6ce9572dcd01f5bdcbef23cae9b0238f63ef06cb56bcf7440125b5125dfc2c36e9e204f8346967dc037 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = e6503770bbc45bb2acc1698c03d6be0f8fc81ce8fb0d245effd37974dcc5921b5b01aa94444d6088ff16c34939ebae5e27fb9e81ab87926682f29a065b91e20e -FixedInputDataByteLen = 60 -FixedInputData = 7400cf3137f099397c3de72dc5feae5223e4228df2d2e914a3ddb9f0f45710240cfb87a072075f85829e7f0a05c5bf24b69bbfc886fe3c2fdcb28234 -KO = 158e899bee051b05e159f3949af51376 - -COUNT=1 -L = 128 -KI = a44dabdeec795ad048b1fddf966ba8ebabb4c33056309fc8381ffc34a323ecb7668aa768c5a618745d1e12d451c7bc881ababdc3a22f18e58ec82097c7ce6fcb -FixedInputDataByteLen = 60 -FixedInputData = 7516e69d1690740eb389ee9b02c44ea69a6a5d1104b64817ed1829a5b9424fb3071c136ab9f72b5e41eda2bb3730d06c7c8f3ccf0fb8808e1a7122f0 -KO = 9a1e44fb8aae103145da698980051bcd - -COUNT=2 -L = 128 -KI = 63beab6883954857b7726f76afeb6869bd800e54876f689da68869032cdf2dc2e53aeeee137bfab919880890bf3e1d5eff35acf0be1facb709377babd8528e01 -FixedInputDataByteLen = 60 -FixedInputData = 3d3adc9954a2b334fdf11d4b39b5c581e196e10f71b0faab1467b261c734688941fecc0f90d20d64a5c5ba0257b0f061e02e83e871093f9b48962841 -KO = 2770413abacbeae301a8f8446e8d81b8 - -COUNT=3 -L = 128 -KI = c41014e19dd7634524f175306ae73961c50ad957f6199c396b9a3165334043640a684ba2007a8b52a45c3b3485e6489dfd7d5ecd4ca3cc18f66d3193db4417c8 -FixedInputDataByteLen = 60 -FixedInputData = e9caf7618bb17817a00ea66c3a7a805bb65f2decce3e154e644c890340713c8e42b9287adfc7f74be36cc38a8707f2a6f3cb45944ba3187c57c8ad80 -KO = 294c56b35d281ea3b7355861323b4a3b - -COUNT=4 -L = 128 -KI = 73b464f7c8f0788678453dd2f53baba198f3ee42b2a06123b591e5fc66e8f115413e9f6e35983323ab2885ba447bed965bda85c62f33496b90a9a7d71d32e172 -FixedInputDataByteLen = 60 -FixedInputData = e4426049df691360e09da74013858fde30ae28a94aea1fd6365d909e842c3298a81b280305127b0ead2c74be845cbd88660f51af2f46d896554d6d62 -KO = c52657ea4a0be18a719ef6b08b687ab5 - -COUNT=5 -L = 128 -KI = bd8e77c7e21a5bc2651e6543d9bb3f8320ae50958ceca8b0ca8566b0ce057fb5df182fd32b5df07f0fa9084c1c141a9fc786724f1b33ac98a53890effaf3debc -FixedInputDataByteLen = 60 -FixedInputData = 354e9247e54775c87c4cc38858a62814bbf6a30d9a11e7288d316eaabd05cf669e2f3fe38ba1694c8cd1d257b03f7b54da96e045a5108d3caa4c48e0 -KO = 807ddfa39265338950a034c19437f0c1 - -COUNT=6 -L = 128 -KI = b4558a36c3da20c1521330d777b0a629d58246365c3aaed7f5a03b8d489084a6bfbe13f3143d27d28b8c192afb52db45876ef627b2b4752a7f2e9bcb0cdc6a1e -FixedInputDataByteLen = 60 -FixedInputData = fac31edab6071800110a13c9c1cfcdfd88dc0cbda1e99d2d757df6a3287147a9b0436a85396ef9fac3c97d95ba9e8f57b3e0d9f470c9568cdafd9c33 -KO = b09b43cb65130b623ca44b533b6fee20 - -COUNT=7 -L = 128 -KI = 50fcfb02c3a925de58ff5ca9872e5ce7a70c89ac8c5f1dd815b86890fa1496e8644b4e062fdf347452251c9de933a04ddf864b69778baff146c5a83d22ba1db5 -FixedInputDataByteLen = 60 -FixedInputData = 1079871d17ddf6ff5a26d7cf642abe45d7e0c6f8c66ce77a5bbe617a66965534c465cc20a8633e023232a453581249b6e8350adcc11bb48b94f5ff6d -KO = 50f6fddabf303d63669aa6d905927102 - -COUNT=8 -L = 128 -KI = ccf7700608d343862d6353c7a24de9472406f7f222705fb8e93f179355b099d2515961cc3babd8ef65fc1ada53e1fc37bd070048621648928566c652e5e6e054 -FixedInputDataByteLen = 60 -FixedInputData = e832d2b77dbed2abfd1c8509b07ac76567323b62b8179b9e95c1750cff26ca813bc53b157ee41f652ba7fc9f746000406a49b8975d55404d6ad4d7b1 -KO = cbd728712ac18ada9fdfac83b49f1359 - -COUNT=9 -L = 128 -KI = 8cf8e9f1c643d61fd3ab6efebd78f27aa1ce9a2f314462ddfe3f0a30db35b5ce0b7f08fc68b3f7a0e12e1731271525e9f33eea4bf4f301de1ad005368b29eb8a -FixedInputDataByteLen = 60 -FixedInputData = 9008cd47452965ee39f17b9a11674180fae16b6b41e40783aad796aa4398ae6a7adfd47108fb07174225dd19e2ca3039b5b8907b4d1582c231feb5d3 -KO = 255a6f23f01fd2d81171b857e690d72c - -COUNT=10 -L = 512 -KI = 8270d4c363f9ef14e07b87e9920b33c6ef67c0b459f26544dcce4df557488a8abef3ea07a63fad336e89060352e2c04f48080adbc672d151a86555088515eb28 -FixedInputDataByteLen = 60 -FixedInputData = cb394bba9cc826a402cd06c51c9af82a7f4bee70d504ec80d1a3fa8b4e0dc1671d0cbf06bf96a3043c8d3fc8d901da89d01a7abcdc7c1805dac1940c -KO = d2295e5cbad846833f7c66f8df0479c90e0b9af6789938e5ada555460adede6f7ea0216f80ff7fcbeca60582c60c56877f750c10b7aa7d680d59ee4e22563386 - -COUNT=11 -L = 512 -KI = 5ee0a855a00a8b46c8db89fdbc5ba1aa34cb6e2d9c2e8f8816742cee63065f9612a5d0b676fcf0eea59c967ac4ccfb1aebc75067a95c831f3e5a2ebdc86d1835 -FixedInputDataByteLen = 60 -FixedInputData = f042449dabe21215b641bc6e3ad4c21aae7150c8413f15261ad77923ce48143da45366b97dd749cc264cc5c83bde105c8fcb734aa14622b0bada995c -KO = 1eda3bf5f4cdaf9a0d6a973fbf28045f2ecda2055ad642dd3835ad260efc5542f523edafb69071a30dbf362e014bd04d6704688c37813814b590e46f01699932 - -COUNT=12 -L = 512 -KI = d255e185ecaa7f8e0c1533eda3481108b2521b6953d9a8072b7a8043c0d45da2206c393c9e6f54199e7551f9a1f1c328e401bc664aae31c85c5e0d75d4f34147 -FixedInputDataByteLen = 60 -FixedInputData = 8b8d9f2e7d39d10fb1ea32ebe0ef75c713125018302e5d078e4f8a1a7057c61763aa82db0987cfa2282c119e556085c5ad3be307330ca2daeb03bcc6 -KO = 5f35df429a2014326382607cab4517d174d742b73b7e88c9dbdfa68feb330d6ab00052b15575d4ece5cdaebc1ec902c5be20bb0e99c2184a5d813dffe9b3e371 - -COUNT=13 -L = 512 -KI = e8b4769db06ab098085dc4be97b0f414b0d286c87c4de1a7ad360d145bcc53af95272e43e538ffc660d0c5bf5e567ed66846004535e0b3f2d6d67f100362fb45 -FixedInputDataByteLen = 60 -FixedInputData = 491fd2a310f3d1190de110fee8aa8ceb2abf09cadd6defdf6cea38212a557eee57cbf22f3d47dc065fa649658eecbf84f91d9214f7fcf9990c0222a3 -KO = 6dea91463ffe15614cc838cbfbeb4c684b76698525d555c657ce0cda151a610518a729fa395f43f1a68aa642fcaabfee15a81c7c4e32c4b5e2b3e159e04f86f6 - -COUNT=14 -L = 512 -KI = 24ba108505f0bb54fc02bd0a9c9dfa61ae5725ef2ad2bed9df8afe0c301da2a9bd1ac72522ebf0cb9e26764283c41d50d7b0bbe907987452759853d7393b02bf -FixedInputDataByteLen = 60 -FixedInputData = 2ac8ecc7e43c4935b2a5c03d04b19342e8947178d894dc4271771741fec792435c6d20f582a4be0831a8df59eb51e01fbd09e3fc69e57266a58c03d1 -KO = 915b80076eb8167664688c8bfbed82b85aef53422a4a16062fe24cdba9361d2f9fbdb105313179af412766e70e867bc95d8cec6df93c4942e431d5c6ab62bca1 - -COUNT=15 -L = 512 -KI = f68d72bf92c218b706e89f2065c17b4750d64ee58289d51d38f25592d9034224c3cfddf8feb9cf38f25a825e56754aa01c35a8042ba3bb2593c745ee8e290f13 -FixedInputDataByteLen = 60 -FixedInputData = ce65dc2436addd4e43fe5b7a83e8dab77c0325fbbf27a42be11fddcadc722a0413a49958e77ab8b0d9708d9113c67089c7b9a50e3f74cbcd5fdb3eee -KO = 603623e7619739b697e78771001c98e4f90922c13b07e31d2d8b0ba807f4684b127f63958ad5ce72490742cd6cacbc1f6d5f83d2fe54b8de6f7466ea772faabd - -COUNT=16 -L = 512 -KI = d0b0d50617bed4d82b4871f2d5a59ecca1c44365f9b1aaab161f693b9cdcbc951ae32a8eadd64c9c38ad72c2fbadf226c5efb56c2b8eadbdf5ee2d2dc19fcb87 -FixedInputDataByteLen = 60 -FixedInputData = a77a7dfb92e135445ccbb7f3b10ec9a776ac82b8fccf0f229cefcd18caf79fb17aedabd63c628cd71d9c3c01fcb9979132ec019ae0ba4b05249d825c -KO = a1d93ecefc7b54d2c9070731cad0ff798de040afb59a75898abe82715c51602042bef8a2e2690bd577f563c0e633cc88039310d4979f8306f5011a0bbf0f4d68 - -COUNT=17 -L = 512 -KI = 6cd7e6f71cb2a87b4a91ec207850f78e4899766a50a3d82c723f4ad30fa09c4c5f4dfeff10d12177c02c4b55cdde097fb5b68a753c9107a47dd0413cbb24d93b -FixedInputDataByteLen = 60 -FixedInputData = ed2604139b91fb744fa1ceb4f81b11122aecc1e734ae29946ea9cae2e9b013d8f923cb7aeefcce4eeec23c56accdfd9c56d0b82c1885487855e9de59 -KO = 2605ca63205d97ba9dccab9f412f9ad69b807cc4071d33e365968911ec62c81adffa6024d93ab273b5740e6418c9d3739ae66eb08d0907e7f620ebd4349c7a35 - -COUNT=18 -L = 512 -KI = 5eaedf75e64e588381f2f15df91d79e8caa8fa3f1449496023ae92002c46c65aba282b5dd6c3fe90ebc5c2040baac2938cb062b55c393e4038726ed8259626a5 -FixedInputDataByteLen = 60 -FixedInputData = 953afa0468ba26d27b7840cfb1cbcabf73c11e55ea3d79fdd28ca3db58eca4bc296aa1a737a7ca29af0b0e08f78df0bf44dca240bf6efd8990d59167 -KO = 42043d644148b6c0295b39850cf909ac2601e44157ca0a3d7f15aa0cff83bdfa963d67584a8423245a4836da47ecbc27e87b19200a81f5d9ce3105728645f2ad - -COUNT=19 -L = 512 -KI = c69c44df7f41c2fd33c0ed2ebcb0504266cad27f56d89ab6d14e2968d17b34e13d79b1e46d73184e12c82c2738f30894448ab858e4cba3253395bb341eb09734 -FixedInputDataByteLen = 60 -FixedInputData = d75a2b708f987f751be7430e0379cea32c7b44b9896e6b9a7ad44badad942324713aa751d1b0b1a462d2d34f00de5b1199272556ed711de697fc7ae2 -KO = f56ac53541cef65e247f772b161770aaeb618627342e94afb7faba980d17bb6577cc4b9f9611207a137c723c6de10a349c621020a222a6340562856496b98ddb - -COUNT=20 -L = 160 -KI = e24186579b1e723f035b8f9783f73ef69e1be5db9738430c83ff25e922efe49fea05f00ff9f951a5145a7057218b42277fe2e0d0a0b978476dd012bc533c5d7e -FixedInputDataByteLen = 60 -FixedInputData = f7ccd8fde4acd00cb4c276a24d5648e4da092cc9e449a52eb0d85bbffd375c1a7fb13221c24719143812e8e42679639ee1ea625d230de558cea73fa3 -KO = 5b07730ed2077f873ea137acf0f1aaf16cea6f0e - -COUNT=21 -L = 160 -KI = 652f573f9349408e94f24f9506455cb3e73a4d5e0eb0962ff63b3d38dffa262101de9e1ffaf2a69bbafd954f2f95b6099e9fa0abd149f115b58906c911a34bcb -FixedInputDataByteLen = 60 -FixedInputData = bfad0c3a3ef851cfed52ec229bb10690fb9f4342230d3c41c1b5718d29b152998a140d1bc1adf9a8b6c2d0d48c7b2ade06365d23f773aeef852a54f8 -KO = 1c280d70187f86f1294c29846b8e76595faab72a - -COUNT=22 -L = 160 -KI = 08b1c09278d71a2744a3afb816a187819121fa9e5e6d4e34b414b7aa130c7b0c15eea540f37e99ed1475c7a0c807f3e60ac542a807a603232fd01376477a8d37 -FixedInputDataByteLen = 60 -FixedInputData = 5a9770473efbc10388d7c1bce2466592c7114db83cbc0504452fb66816230f256f15435b31c4c71b00963891c575c841b9d9d3ffe804eea00659af7d -KO = bc0b436512ec5740a250435f3658498bdce2c6c5 - -COUNT=23 -L = 160 -KI = 5b94f6490b7a9d09632f19b4b754c918a77cd01a057af30ebfd987e25bcb75268e160a5ade2ab5ea9570d8d0b360ae2400552fafe39d2008dc60d172b611b2a9 -FixedInputDataByteLen = 60 -FixedInputData = 21d61ad14f2487e7fccd6092e3bec2e53f979cd35591250bd2c60e48ea8959239162d80db593f67017417b527e14c105cefba6476b8210326745c5d9 -KO = be5f04ececb38542865fda306cd08cd56a1e4dd6 - -COUNT=24 -L = 160 -KI = 0e45b2ce74d75c773d7997df137d0b820935d0ad115d221253ac8f6b00e4b9e96a949195fb03bf85e59310efe79efe5626a040ed199c20ca22b6cf919bd6126a -FixedInputDataByteLen = 60 -FixedInputData = aa36217042609aee2a921dd3409fb6fe8b65e6b70274fb73da916938f11bd68c23b25e9357afb33c8c5ff61df570833290436a44bc87550bd3853a42 -KO = 33632833f827450d981154f1a2637f48fbc35b9b - -COUNT=25 -L = 160 -KI = 7f1db128854eb2e5cd3d6b26d4cb2b5d330020f6453bb9f0f7f5c0f4ed81d0e147cd3f26262f409842f5f54424565c452c01e4e76aa18bbc86209ae7fc53ab66 -FixedInputDataByteLen = 60 -FixedInputData = e1d7494b2239d9651ed19da126e740a429875ce595c68d065839a516d0cec2e0fe6d902494146098784d56110dbbda790d49223bc1ee6fa4eee9229c -KO = a92fdbe624c57b552d53b8839f0eae90bff87fad - -COUNT=26 -L = 160 -KI = 85241ab722ee301fcb18bf5e266a6cdbe5c6f484f13ab306263956e3f7748713c27917171b59547779f304bf8bfa65968791277f487e2990a53cb2f3eb29585d -FixedInputDataByteLen = 60 -FixedInputData = 9412ade8ca2bbe7f39e045818338e11cdb8a280a076d04f652874e9841ae344be838164a26894ed5121c8b9b27fb189b83178aebf98b6bcc018aba39 -KO = 5957e6224985872009619303bd5014c378a1927e - -COUNT=27 -L = 160 -KI = b9bb0da77b834a444c7976d0bf044e334627d0e3d6338ca0cc7558ebc749ab0b634c492404f98ecffa6d5bff93e97b62d37d834a78f0e68aea1080182c5a6ba3 -FixedInputDataByteLen = 60 -FixedInputData = 1e5088e897150a8262a33e824f6b2809e82a611153481deb0669723aa1d91cc3ab92f81aa804577762c79e2f7e719e5e2a368021d2a006b957d03359 -KO = 0c552538e580c99bde108f6911d7e1f5fb8dd8a0 - -COUNT=28 -L = 160 -KI = 7c4ac9ada9e78d43582ce6e8f404bb8e73b96c771df7b9b992837b6879c53b14362ef542beeb1861db39b41e75e6e5e8c84eb03ad53142c79644df3d4ce474c3 -FixedInputDataByteLen = 60 -FixedInputData = 9fbcba220fd5e1953653127b5905d345dfd0bfebb822f49ce2eb7f02407570c31c3ae4c467447998c6dc0d5072b55780a47c13e3a05feec73b78914e -KO = 76f473c63dedfd36ecb457a0e06cae18eae0dfdc - -COUNT=29 -L = 160 -KI = 9fb55ca2286adf099b5fc395516649f6149fefeb18f3562fc0348c4123cf66ec095086a652b05f53b0a84b0c913e54e5a47ffe59823fbb49cbad0e56cffb9723 -FixedInputDataByteLen = 60 -FixedInputData = e8a7e0746defc769de74a3f03795bb4a04a6e7d421a8264387a9d9dc2ffc1ca854aa20b7f4b8ba2ccbfe9c7776f7941482addb0927b181693cf63d1f -KO = 1d9f9d178628d2ed88cf36971fcb2edccb5a852d - -COUNT=30 -L = 560 -KI = 8ad0ee2c5e78d11f34057494fc283151bab135934d4caaad6c6487ae61458a97eb44b1ea2ac0a15d2951f6de939bda7eaaab57b05c9952a6784db4a3c4220395 -FixedInputDataByteLen = 60 -FixedInputData = a8dc94b57007e65f4be2e1a6f898f5c32e64c323ff0e68b8951bd12ddd90525f098d4455f89eab9600993a10635502c09ccb84cb7f3962d293c71577 -KO = 64135c2d8b567fd513e7a888ea338df80349fab278b591731ccb327aa99ca3d4e78098709f00ec05830725499f6d26397ba7dd026d4f4e92f9621d30aa7363dd6ce92237651e - -COUNT=31 -L = 560 -KI = 6ca9500d56b6f20a5e8f1858a3c5142c9ba9e111ed77cbe9a77fd5450df0f06f28596a023022bd4d62c1673b82ddc56c8fbb7015cfa6f032b9daf1380cd5317d -FixedInputDataByteLen = 60 -FixedInputData = c2766d7b68d54055f3c85e21a7d81e5ab01b7885b189ab1066183028103582e5d3e72c152ca9eaff454d129f525f91798ee9144ae0ec15db63e71ffb -KO = ff76113d375c33f906894e5e0a0e1a8a03c7e842b3e2b32782bbd4a9c46b9aa2198f1b00b0c3d668a344ed7e81e44a146c45b2d8088ebf97e872c5ae3ab6f6e580b84de49d64 - -COUNT=32 -L = 560 -KI = ba364716ad48bdddd46b8fa284cd437e74989cbd9916e3088ef35ebaf1114493e333f2737870247b1dc75ddf1a31c7cbbbb505beb4757551372404b424f05257 -FixedInputDataByteLen = 60 -FixedInputData = 003b5bc75d612ac3c3a5d5ca66060b62b5172b43a2d3ec8bc1424e7ad6a75bf4b1ae7481319b4dd0bc9b4ade195d74b9f08d6731ebfd04796088b36d -KO = 95bc7de6669fb498cd88b68f50f9121ee99da5bfc69b4d9eaca9f7fa4c1e5675ec516044a62413b940f56e645fd0ce2d778dd5cee5788a7e32b1c2365e4b308597b2eb22f111 - -COUNT=33 -L = 560 -KI = c04268a06e60de3e0cc8237f6199ed478a5ae19cab24c850f00110ef2d4d132d37fe0fbf2f875d6f361bf204f6c2225a1ea897c60176f0d08709c0b04e25cd45 -FixedInputDataByteLen = 60 -FixedInputData = 449b725a507918650a37bf6355e18b7f3e799d21484f6d55c52078f63de8cbbde2ee061563d6cf455b7ead4c5f3280a1626919bbe9168f2afdbe96a2 -KO = 5c625bd991763e59d7c7d7fae00cc748743217e1e79a9a52d19945763935e22b2831be38c0254a6777d4a760df606686ed13c6bd5aa22a2ff5a8c3b9dd0afc5a95d809e7a48e - -COUNT=34 -L = 560 -KI = 7cd8f220bfd346cfed23e95428fc871d2d6f8a380187372f26f1cbc0d00282a19b2902849aa7c44271523401cd09a6694276fce7b32a4febe40a7154ed8cabe3 -FixedInputDataByteLen = 60 -FixedInputData = b0b36cb3809f11644b0eb37f20fa9c9f2c3f1015f3725965d932dce101ff1d51f06727993a701cf7482bfc251e03b222f0ebd3d881fe14a515cc49ea -KO = e10ebb219740005c9a9835133b4590cf4ed3d2ddb0fa7965a023f40df8c0008eb2456156dfb7c6a2e2ed954df254515283c8083ab524c1df5142e313afd475026f3e3a907e6d - -COUNT=35 -L = 560 -KI = 6ce66c895456861afc570571e6092f884d89cb8c00c6eb22dba724c04ca6d66e1ab6e533582cc0a0eb167ad05da08cd6c7bc6c983dd532575ccb9f2fe24c4a80 -FixedInputDataByteLen = 60 -FixedInputData = ffade120ad8d5805ea326edbed1ce18659b6b67f387284ba00a64913bc8826058fa22422ed0c87a8f2856ee785ab4ddda7ab8cc3e14cfcef457b2bae -KO = 19a275a65701d2cec0033d9f66fa6928e58d640069aab066bba801b73cde9afb7317676bf745ac2588b6282cd0329faef5996ad95420c9580fb67e0ac7a334e509a5c71a0a65 - -COUNT=36 -L = 560 -KI = 1494651540c7bd5f99f70f49ff2aa413c281926e2ee181073034d8506b7f07557c59eda30a0945f846233b50c3200a8fab0c0e43d0f54de7ecf15af1058e7e40 -FixedInputDataByteLen = 60 -FixedInputData = ee6fd2e76f577e1f6fd6e6c8968278254f46f21dbe0c142cb85b6e3efea9661077bead15b74b60a7bcf9d25dd3940ff02666bbae5a320ff79c9065cb -KO = df75c38a2ab2150d0a1d46ed34b77d51bdccbbea87f636e2b60e96ef7d1919c863b829c343e0cb5a43ee68add6242d7da43b2b0519a22300086af94caa979411244420e615a7 - -COUNT=37 -L = 560 -KI = b5be30831e8c1470f0a3ad910ffc0df295ca3be45e606897c341a8e2e823480343f395241606de7e6af9a17796c648fe36d55fce8911bc7d935c66683490478b -FixedInputDataByteLen = 60 -FixedInputData = 8d1fdd2c4e795301b4ee3094410f3e3f9915456c80d1a20c1077d22de7b196f73a7b25166baafede1356935df876e58e3fae23a5fce8037205539270 -KO = 36af836a89ce6f714fad7bdaf8934f184881b4342e33e8702d632ae803a00be1e5e8580ab10271bf25c7eb0067a8dbad1c88c0fb1db3552d656b82be76e8d7a1e05788fdbe3b - -COUNT=38 -L = 560 -KI = d5299b8d7c4c888c89dab34436077cbfc5d0e55e865085678358ae7cceaa4373580a0a5fc2b8a1a7f31bad6be6e881666140369cbfe63a605b37edeb24b73531 -FixedInputDataByteLen = 60 -FixedInputData = 0d8b8e85ffd33fae040cb7738a326724c9538ed413babbba3020a06aa4df54d00cc4d50ce1bc4d90eaa90219e7fdeaaa5227512f8044a72cd96d3d12 -KO = 8d29152814114292821b132328e415e6c0868df2b83fdf1656a8502ce4a22973ade58bb96f5f2d0a17be65f55950ae12603799ecc0ff35208502cd4225424a7be496bfe51a16 - -COUNT=39 -L = 560 -KI = 15b5aab18fa0b39e9416786c65bad917428649804a3be032c1b2d5b2f2ca9f6c234bbf6b61bc1101470a0ddc4afa2d9f0806ffda2f24cfd1a54c905b8e8fd264 -FixedInputDataByteLen = 60 -FixedInputData = 1ad30ab6e27c985aad081c6be615b900f17d3d043b75c03c0c4d4cdba8eacd415d9d686c21a84ba7853d90bec70530efa8457ebd7a7d90baa48a411a -KO = 3646b384276bae4296783f508a75d58460b09a999d1c29fab594258e690413d7bfa87c968f4584904bda8f01cac4807ccac2700725439135059a0028d8c4a423313377899adf - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 4e23893f341d46b9643fecee26dc3c131583b307035576b8359506c4e81e81567ad4e9cffa029d0a81128fd1982f20a381ba7dc3e0fe3e0759ac3a8bcc46146c -FixedInputDataByteLen = 60 -FixedInputData = 540ff36afa0c45e59b0c82b5437773c58bd4af251d8b1da5cdf6bb788484d69f7530e196d119fb801f91c96ca2dacead729d8bb1b7163be428809ebf -KO = 3681f78256c5d369ce5a4e4a3a74eeed - -COUNT=1 -L = 128 -KI = 0e69043e88c3c35d133bcc57a7b36d534c3f9653afdc1c5780ac7394e0f66496b508d6bacae9ca5c3666ea7b5d7ef14b8bac9b0c4cff56ff5525184cb0f40332 -FixedInputDataByteLen = 60 -FixedInputData = eb9a6f5221031bfaf1689bd91fbdf5827d13d6d0a3ca47fb4b0d63b6b657c02847723d7b313187d7359989ebacc9a3c21d744a481c7bdd7bf6cab8b2 -KO = 320d4347c2f38911af8fcaf38ba019d0 - -COUNT=2 -L = 128 -KI = 80fc162ba806d5319cbbf78937cf97e70ab248d3b24822f6d73ee6c5003fa1b32b936d68c31ff3d7d1f4d05ae8fd96ad5f5fa108de09ec14b16900535adddb4f -FixedInputDataByteLen = 60 -FixedInputData = e6c961203a28e43f8ba1fc77933209719b2dfae3f019d6be6403b4b34a1c16405d42fa3fd29fb85d52f726fcdfeb0becdcae7aa8b2aa935cbdb45157 -KO = e43a766e7d86919aa285901513ac5f47 - -COUNT=3 -L = 128 -KI = 907999b6f2f85ab453fbb4b5862b1e65e8cde8c4fd301e00638ca3ae98dbc0e0cb1f29fb7a9e5a855d15f1e426860ada2b7a39217357d81b8696677dacdef424 -FixedInputDataByteLen = 60 -FixedInputData = d430a3ff6c9e0b103885b79c95621ba7548763c857a636b8bd3b64d2e51e4335df2db048861856505a79f818bc69e4a250ca757cfca2f1724c97c3aa -KO = 269e87f0f295db73c9f9a05953e19a89 - -COUNT=4 -L = 128 -KI = 203629dcc0401071b143a402cb20a7fa3c4969bee89247315b5c0d0a9359944eedbae97f610a09ae180e1cf93a84ae4a2baf211728cb289cc9c6d9259a5906ab -FixedInputDataByteLen = 60 -FixedInputData = 636141344bce484bf72a997c5041825c30b4f54683a34ac17419e4617d53ffbc7ab96d64f52f273238606cabb6e9b17ff1cebfa7363b859cbe536fb2 -KO = f12805388ab425c5f06d8adfacee89de - -COUNT=5 -L = 128 -KI = 50cf89e229cc995a151ccb0674f2bdaf7a5cf680fe38b730fa35a1f2ea71479ae5fb8b78f45eb87d22b36a64a3da88f59f759a1e54bf887ef8988eb69c93d817 -FixedInputDataByteLen = 60 -FixedInputData = d0fbbe627ce3f0e224e2aceb87b16061942a13679d977c11d3713b175600729a847cede3912c460bd5642a43d9f6721c3ded9b6e4af17451cfffbaa3 -KO = 325922a7c065a4184078c3d7e8446831 - -COUNT=6 -L = 128 -KI = 52d494f9c7ab1876af4de1671f93bd21d5b1bc518b4bd0ac191d6cbd065c05b83d45ed4d18955166f125eaad52842c1066d64d41141780d9a8920fbe8cff9ae8 -FixedInputDataByteLen = 60 -FixedInputData = 3da11aa6c561c4a9ef4d6d583f167219260c70224f159884e4721405b0c51af563ecd2e61cea9d083f8ebb93baafaa3f2e0525d85cd8aff341c9e9d2 -KO = 79b105c0e61a4ccde4fd687703320414 - -COUNT=7 -L = 128 -KI = 7bd8784884cca6a50d8327e1f6ad6eb525fe543f0271b7618f2a78c2e4081cf88c885ec74c74d985b15c5c55cf9af0dce8ee479439bce58812fc0e4f000d04a2 -FixedInputDataByteLen = 60 -FixedInputData = 1e656da1fc0237856ed7a9ebd22ee38ac85954c1c01bd39e5c3de62a1f3d2bcfaeaabe25683c183cd134ebfb19bb53986b7c49e3c27f01be2a6dcb38 -KO = c8ac663ba57ace0b4c88eb240c96100b - -COUNT=8 -L = 128 -KI = 90aed8a87c392c5dfdd6461860a526dbe305c5be37c68f5d580f23d8eeee657a0d9064d5e60209465c49843762bd9c702b40b9f44ee6d3c3e49a3a02ecf9f153 -FixedInputDataByteLen = 60 -FixedInputData = 47c0498af35a58df1725b7714b3c672948c92bf999d579b1a1e3e5a458e46501a699f9e9090ff930a4f68c3c44128feb174dd4277379c225d4ee12b7 -KO = 090bde261c2a66df663d6a727f06e01b - -COUNT=9 -L = 128 -KI = 379b8146fbae56d627831419a10f7e343a3b18be7a36ed9037e55fb5235ea7f9f32745364ecdadf68a43a8df4948de7f0b08400e68d0ce7f9acfdb76a12b1076 -FixedInputDataByteLen = 60 -FixedInputData = 13421a0df6177493c6cabed679324b18d94202391ccce722d5087d24af05dbee606e4029a53bb9f1e4ab0c6959cbb62d4db9e79fd8ab72e403940ee4 -KO = be9b403ba72daf39e27cd04da169174e - -COUNT=10 -L = 512 -KI = 059784acf6899f26740356444d2632b701a6b1f55ff25ed99555ab78ddba5e64fda6e143ce527e1823b97bafe6b2bb7be4675fa28cb855f269a9f19bc24f9c29 -FixedInputDataByteLen = 60 -FixedInputData = 9f155486659619e1b95348a440ce06a95868e2577ccffe75ad6cb3799766c530507251d0ee5d5d0f57639475ce4b99cedd031b1b2d4cb0522b914456 -KO = 1aa47275fa5e194cc7417cefdd9500f8976be2f90f4a5d723c4986fdeceb087ee29052d65c2cff66634c76d6d397cbdb236d0d4c6f085b82ca8b27209736db39 - -COUNT=11 -L = 512 -KI = 90f72afcdb0edd936c1c270cc92e28dd8abd832379afd271e3ec3919f39ad6f8b2db7eb556bf64e5b671b80ecfc1dfc5a7155a630f9d5edce5678341f6bacd07 -FixedInputDataByteLen = 60 -FixedInputData = 2bcbbf52c89cba62cc91191fc9f440be0ba69922309b4e890a982899639d1957a862b35810ad5e86481eabe098776aa63e51cc193eb68b78bae41bd1 -KO = cfe8020a2b989dbb1d2f180dda72b5266991ebb3ae543fba698013f1af28e3f7ed69d4205f6f70ac9871469accb7e9b121b912af5d2ecb52fa5284b328422696 - -COUNT=12 -L = 512 -KI = 19efc283eb98f3968c4f2e78ff7d8842821807a24181891487217788d50134b320f309a5069c242ddfed59f6a5aa9506c10ff3667a8c58c52b1b3e4974dfb9d0 -FixedInputDataByteLen = 60 -FixedInputData = 20440be6b6fbcea4f5438dcefea0589758c557ca0f19af57c1aad8e9ef9c6c07c25deaabc4c25db9b62ba5781d984eee7e221ea102c191a4ead6f7cb -KO = 90cffc2047cbfca30de6eb43f8774a5b949daa47dc6125b0fa50fd336dfcafe9bf72d56cd8501bc77ad14705c61fcac1e0dfdc071666c0a06737f9f1f53a3857 - -COUNT=13 -L = 512 -KI = ab74d148c3104e4fc56df70774d3b8242e56b2218a9b2bd2d0688cdcfe01d95a7494f7829bd10a525ec53fe954d4d22e0dcf9b668b0ea77dad3a6a1cdd0fff70 -FixedInputDataByteLen = 60 -FixedInputData = 014991a229ecaf702fccf502e929a42590bf2afc8f73ef0ae3e88f8848dab254fc19b8afc0e0d8c8feeaec42d5bbe01dc1a6783b09853f5e3f276f4b -KO = e7a19187d8119a6ddc663a9a8a2863abb8e4019b2d1729c1d4a40d51b9e2f2f22f656fd6a7001aa8a980dbca7e8a09aa649ca28922b6aa55cf72b6f50d0a6167 - -COUNT=14 -L = 512 -KI = 179acdd66fb22d5351d67abe9a7ab4cd666ae37bcfc0b712717ccc89492a5ebb60739d62e73ecc8948e303f4803bd6c5ef490c099845a509e951fe10a643d44e -FixedInputDataByteLen = 60 -FixedInputData = ef0af6924fc06b1d332f4d7564f51cac30f516e246f80e299a2c7bb39126240ccef41fe1c4f159ccd85ff092647fc5ab4a805056240741e4fc0a8ff9 -KO = 1feb24b678f44031d41d899a1dfbbd294840f16fa982a8cbaea67620232a03d257a4d4e42e03ddce4209f6c10d024b88974d5b6b7f39aa79fbd0e5350d6b3730 - -COUNT=15 -L = 512 -KI = b4cc4daa815209715fd5628fa21589ed0fe158510670c3c9721650cbbef76f336172c5ce7e871f65952dccbaf812e763b0665ab37689c0b4980e388ce614ccca -FixedInputDataByteLen = 60 -FixedInputData = ed7f999c2c3bfb44e5dac2a7a6ecef2d247189906ad1e93ab68b1479f7957b1e39f7b778f0113ef2f856db21c59c82d48ef37c124800097aaf690d25 -KO = 45c541bd041594318f974ad34d36e30f416cf7efe6401b8a8d28f5fd8db15172adc09f52b1c94ebf7014a4e477c3a656edd8179962bda3109ca7fe4621cec98a - -COUNT=16 -L = 512 -KI = 4d3b849d0211dbf2f7e1b62e8377f01dfc6a7f84b3b9a0af92371bfe7c266308742fbb5687d3a9535b6ba923591db0f513e327f4b58295454fe72e3f52edc677 -FixedInputDataByteLen = 60 -FixedInputData = 633955f92bfcbd0186e79ba2049128484f82737ab1e116a8ac97cb26fa761641f5082ac68a6652b5f93a2b93ff74dd5ae62e184122d0e0bb7aa1ce71 -KO = 352bda8f3b126265bc8a5d9a17fc0c2871e70ee2e0b52604610e06592ba2383967f9b9579a009e3cb2049a5bfebbcc88df13e43d1f45b87fa9c6a60d5ab87589 - -COUNT=17 -L = 512 -KI = 46626d1316d94b21f43fd940ff1309dde86c70b630f846eb26f6bf659142b6f84be42afc163ab70bd8e7ed61c3d674480476f1bab2a0cc8a9c08602367e46a04 -FixedInputDataByteLen = 60 -FixedInputData = bf92adeebe0e3e21f8fe95f88eae7bf30dd0d27a009819e03462786ef1e0892b3411243f2d26b51e5b5a89ec003c3807da1a51a89d4b7b0a6aa489a5 -KO = a57866d327a79d746c674defd5cde4ed0cffe87421d83b769f6ec3403a2381bd9da19f3786930b5a30114a8d701171d46ded10439a4a5419db1783a85e2ac552 - -COUNT=18 -L = 512 -KI = e567e637ebffff1b5df6e1ea77366fa7cd4df5507a010419d2766c5d8a566826606e60dccb5dbecdc0e54cfbacbd5170e338adcab467ae41e2a01450af199933 -FixedInputDataByteLen = 60 -FixedInputData = d85a7725fa3d88a8059befe56bb766b48f46c5daaa88f7a160c44472d03c49b4ef0a664fa5d73bf64e15586ddb265f33b5899689d1ae88944d1a7721 -KO = a90dff7d52cb5cffe57a3d1c6919ead7e125774496369b517c451c7978b57f517bda87159a42d6e1eb5cb7eabb8a85f2819044776d780451fb554c138ef08305 - -COUNT=19 -L = 512 -KI = 31d6da445d37fff7c329a3f3efe1ffe0d2582166a85c7117953a0b84769b4dda029820172dbdc5283cd8ad080c2ebdbd94e2188084fc1438dfbea95991c35aaf -FixedInputDataByteLen = 60 -FixedInputData = 1c2f0fe1b8f4f9709676f2e100d3379b89e3706b6f6ee4fb6beffb55487ebbe2a852222981c1e7b2fbea6862b389213cc3f52cca1cc58af358b1baf9 -KO = d3e38a4ff832600cf4f41d1788cabc7db2f19a422682284f5ce98c8dce94fe01f1a0d9ac2bfe4406ff1300fa804c5afd5482a9187763c1e780bcecd968ec8126 - -COUNT=20 -L = 160 -KI = d987e961cf72f1e45c4efa9fd353bc31e67ef2edaa0d2a5d8df0ee59b6ddb6f2b86e402eddc7032ba8a94fee1b1135de310ff661abcae12e4798670b69e51321 -FixedInputDataByteLen = 60 -FixedInputData = d6316cb6613d56d5d7aac18c0dfecdc0d984f44d5ac9a574b2270a16f8989980d59c9281a0fb22a8ae60dde6f7560b47889bd4e03d1a70fa4f5bbef1 -KO = 8e41e99162c52799873777f4d1981f13f4d1596c - -COUNT=21 -L = 160 -KI = 5b81a9efef81ddbb4fc0ca670a5b103dd355ee638265c486b6ad5fe6d8c6743573856eaf5580a462bf7465a41783d2717cc42e71a2b444470b006f73262e82f3 -FixedInputDataByteLen = 60 -FixedInputData = 951a338fe6b6b6e0366b59f01623bf6518007800c0e15177de71e27373488ad50b59c16bd696b1f615a5f70f76b23c4484a13e10ef664b5039b0a58d -KO = b01d462b6f5c4aad2ca6877b29c8116e3f7c4223 - -COUNT=22 -L = 160 -KI = 714eecc2f214bf6c7ecbd35a5cac9d8e8cf7645169a4495b9f000603f548577115c63a0eacc1e6354c2adea5006826da3aa8d893b06f122671d25055215a384a -FixedInputDataByteLen = 60 -FixedInputData = b875a4dbcdf2e73b17ecbb8fb7f5e73082a5eb2ff63070d55a35812c0224b2d7e6c15b4c69c62d6dd61081498a05ee6544aa0c8d69fec4026514a30c -KO = 6f4e4082ae08629b7bb095267ec92412f0834c5d - -COUNT=23 -L = 160 -KI = 032c35b0d079433a6a666887e032b07e4f46f036e85ca1f1b3d5cb743184a13898a372ac7e3183cf43a487d176dddf6ded3af23df0fc31473448934464b4e001 -FixedInputDataByteLen = 60 -FixedInputData = d08a7616c0d116b6fe8b63ec1314cafa06fb45f5386402d91519fa1a3b5d5e6f7e6bf22a2d2a0c3a7483cbac94703dd1501cb5693346aef29fc01253 -KO = 6388fe38215a8a1b220c7d9bf02b8a231045f58c - -COUNT=24 -L = 160 -KI = e465fe9aebaddcefe7bd9071cd7bc7ba88e8c378593b7be40ae6c3f531a7ae1e3bf81167170eeb5e60df49137951e9b6661b9dc76daf961f9ad33eaf2977625c -FixedInputDataByteLen = 60 -FixedInputData = b0efa131e95c0655a46d18ddd96cbe1294411077891a6a050c4d448c5757daf4827cde608faf56b51366ad915c96535f40c4ded2e0d9bd0a238285cf -KO = 369042af7edbf695bfeb22236555d677885b6419 - -COUNT=25 -L = 160 -KI = f00cfcacd31da60bdd8c5c07321beeeaf8cc9c901845703deed73fc8f827febd10d3a365926cbeade49c05f959080e43f11fb114325cb78f9b111326053d8014 -FixedInputDataByteLen = 60 -FixedInputData = f6450fce1570927b5e4a0c3a91a72e8bda1264870a93f4f2cf424bffe5befa7d08a496eb0a04f9cef2f95e22a0df36048574813d38a072a1b1f70bf6 -KO = 01bc8b805e5ed88fc433e3f1304c4058c9000ad0 - -COUNT=26 -L = 160 -KI = 26cf773ffc2e454a821dfaf36baba0ff539d7a0a9a6900316002ee3f779ed66da1a57b8ba6c613569be039db7da2a4696ed25ddd64d778cc886635c978b605d3 -FixedInputDataByteLen = 60 -FixedInputData = 0159279b05c850a0f965d5c3eaadb7beee8756edefc810626058ae16399eba20abb60493ee699a1f8082da991f26eb86af750e7c4784cf8a15fe130a -KO = c5ac764af3c6822d9efbea62a41e3e597713fc18 - -COUNT=27 -L = 160 -KI = f25a516faaf71ca070d3af4137b27f6e5e8f1be216c8901e51f860d648557c986b99998ed3c573ff710d9b17805e94b375987acb8e455eefebf7881acbdcba05 -FixedInputDataByteLen = 60 -FixedInputData = e2d13aeb526ffe3610d8054b6a69eaf5d1422107f05231c6d81156f846f5753ce0012b3f45882aa160441a24ce735099a6840a6de947c3fd28d004b3 -KO = 88b4ecbd532baa882e65038e8ad54488c1c0abec - -COUNT=28 -L = 160 -KI = 403689c2ea605af398696861f81b4bbb719e93b0a17703102de5026c0dadeccaa6b8321550d44369d8eada73805a7f1f26efe206f05a88c4990fa72482f6e708 -FixedInputDataByteLen = 60 -FixedInputData = 73ec788162ba48309869ddf72e77b5c39437a3518a0f35a37defb92d63c91c6cb3c293fabcd0036aa4a87aa0e9198aab7c7c09fe3264c7f28ad6607e -KO = f88661a6cec2240327f2ce123b2243fd49532b57 - -COUNT=29 -L = 160 -KI = c73764e5e033f33d387d903f0b185908fed4c54991e79d22910fbb5494a4b1582d8e8846c23e0d6e108f5adcaf575c017b9f81df15670654452189f654980d53 -FixedInputDataByteLen = 60 -FixedInputData = 42d7f3eb573df07282bfb97b79e426af50c959fd0e4e5dbd5edd890aac6282afdd61a2c39ab014c4bc48cda3050e2d68816da7439575798feb5daacc -KO = 1fc5c5178bd7cc0b635e9d329d04c381bfb07490 - -COUNT=30 -L = 560 -KI = 44f71e2a461605c4985ad15802cc9c98baedbe594540f715f560339412479d7042dd571a83792f4adb1a17619999f3f72c8e7334fa2247d4d1dbfe8224814974 -FixedInputDataByteLen = 60 -FixedInputData = 74fa491db33a26d4bc17c0cb082132169712ad8d591e7dae4bcd1ad5ca27f711b4b5f8518c96fd21fc4c1c673e23212bd561ac7a2488cefdf51f7189 -KO = a1e37ba088f0f0e77aa26ad4085b8c29fb18f5ce03e4771cf33c58b0bf38cbeac7c80a443b687e6397ce980439f1d922aec69d37ff0c5815bbfb743e993e0f988214db52e500 - -COUNT=31 -L = 560 -KI = 9c726659977b2e7087bae6b3c481e95ea1f8dae11a699a9e31ffeecfcdc05d5127d2c19be2a3374c3db1064779605447395eaa053cc13eb78057a24b9fcc45ab -FixedInputDataByteLen = 60 -FixedInputData = 09b9e9c1f8188e4acf26df70bbab6aedbe75c10981c06aa417795d780f32e2e2811ac978c643e14cb18822ef739b04462eda3ce0e2dd0158b7e9630c -KO = e51a62c36518889550bbf9b470f645694838438571e36bdb4ef1b288a139536fe2d6b96f22a275bc3f518246b3f6e85a284136e73963618ad9e594afb71d5ab71b070dd07d69 - -COUNT=32 -L = 560 -KI = c4d46306261695ce4d17684f6e5b318c2fb04197ab3e8dfa51e8e8f8174af98fad4acbf9c9a5a464b5c14b03901161ec57b8981c1192025eb32a5902b507b73e -FixedInputDataByteLen = 60 -FixedInputData = 168969970e268a575df10effb7468fa61eea1ceac6faa83da8d655c2f10cb75739ff6126895be69fabc88a0a47c3c504e84471f15f3e308f31d640b2 -KO = bf14e69edc1689d2e0d7a92c641c944d1527e1e32727f7fe27f96939719a554844d94d14931d7bb6824a4b9f608d7f3e42113f3483e9a158c5a9f2b8a0516a3adb356cb49d4b - -COUNT=33 -L = 560 -KI = 8b77e682a8a22abaef3b56893d570cc46afabcf130dae3ca0006fb06645b790b76f201dc748c4d78fdec8ab326d8127ba9f0ec5c7885447adc766386f740f43b -FixedInputDataByteLen = 60 -FixedInputData = 34fb6f59c6cb79e2a261ec7a86b1efc8aebe4004fe068d47fa0b69fe5959ccc484d6975a7fde80c43b163ba054e094f7545e3085c62a9f548650b0d9 -KO = fd7dd5338bf52486ccc799468a8aacb6b60a95f3e4482876674d4fbc4a6766602a745682b2d0a762f7478b042d82d5f367d73e8c988916195276e50e25b76e465a0545543399 - -COUNT=34 -L = 560 -KI = a5a60023c2c779f1d84d331cd616dbfe854c12657c76fa863e698b165b90fadd0c4bd18b75840f2ef0dd884c8251965bbde77e0720d7d8435312e20ab6fa9df1 -FixedInputDataByteLen = 60 -FixedInputData = 0efee49cf5040de67050556d7481ec6b0c833bf74d54106717067e46c9d2f3036aa8c2f475d216d52c7f578756e751eb81863a57db066b23e9fe3cd7 -KO = 75bb8c9774f4094394e05f6029b7f70e9c763323a648c761684c34639914e13d00117113973fbbc01872e679688a86f71136926ce09a353d47582b9735ccbbad4cc9c72f79b7 - -COUNT=35 -L = 560 -KI = 569385cde16158b44b47a6192b5213128dabe7d0c8d78d1e57064e372bf5d4072ca9ff8d2a808517c7ac63f0aa893bff59528d958af93d51e65af97a71ce795e -FixedInputDataByteLen = 60 -FixedInputData = 44d6cb0fac52d02cbf8d0201c6b06543bc7f7e285f70a3211f53dd0074aafc0c92709b9957f5ad1845f7e545588afeb8ac79ff29dd398cdd377891ef -KO = 7a76fdd98f2d53689b8f94048022f240b43b8bec2da82b8fd3a52c1b75e1755aa1e6bcbf6cfc6d5e2bfc550dfc86aba56c2feb18a02a8da3a4c8b80003d2c56d7be036a59396 - -COUNT=36 -L = 560 -KI = afd52a5d5f842fed4eb21d3ce0cef6b27a7215d724ec64c10b86a512d8d78ed3ec09c7c7d95cf8340e21a92be0f1fd92fc3672564b14900a7add4238e8300f15 -FixedInputDataByteLen = 60 -FixedInputData = 4b3ba003601663e48e613155dafde701bb5efae4af366c3a03db9d0b957568391d3609503f4ecb414bca0b89d00c8abe7bf5a8c5c85b752f3fd3d0c9 -KO = 5d686def2db12768311a5f5ca26066e0b0e13a4c3e326908524ab0fb269b6f65810d231a04cf84bfff9f6f5441cbcd4433fdbfe10343fcf6fbee6ac2104b7dc86d23504ba131 - -COUNT=37 -L = 560 -KI = 6e08df40edf7a62f7ed9e30b775be0c5c3c95988624092d0d9b8b452a426205537f286629a8d2de38836384575ce5b997a5e59ae1a4e757fae127198144d98ab -FixedInputDataByteLen = 60 -FixedInputData = efd08fe5f052263b0e15bf464ad494a8abe87fd677af874fbc872437906cff2c5d7d73c32f302dc840f91f68f509740ff73aba4388cbb8afa89daf39 -KO = f9bec543eb9166ce60c168edf9d9c510a4df02a2419e371df285b52008b8b10bee8aa66de4254e9696ba000dda5877f6df76887e740f770158cd7832c51c2de829592e4836c5 - -COUNT=38 -L = 560 -KI = 6ba108d6d8dddcddffcfdbd7e252ee1ab6b09876918561bc12cd25c8bf0f5fb5cf9253f7422fd6a03ad423fc492905dbb38d6123e50a81afbc8ef77dd2c0edd9 -FixedInputDataByteLen = 60 -FixedInputData = f9897285d40cd867d92f8e4c96c6655e828e30815a0292653004130fc4a50753f3e79d93598347f2cfe7637341ab85a492f5358b5a645f984514b12a -KO = d9af7c2ce8a828f3eef1aca430f95682427f43da955fe8daf2453312a6a29b5a93e7137b36767afb72505dc836a1fc7893398bb8a9fcfab8f267b2e690cdf24a3c03be4647cd - -COUNT=39 -L = 560 -KI = 12473838ec98f9c1441f6cb867631c68f411292203559c8590e124ec95d5daa2d3d99761491b49cc924a28b96737bba0811cc6f41cecc46c7ccdf62a86590157 -FixedInputDataByteLen = 60 -FixedInputData = a147def237d2da9789c6162eb442db09fd7776c15f0f9329828639be10dbfa28a9b28719c3c016ca298c5868da1064c1fecb5b1a0135fd5b68855002 -KO = 4222e541c825f62630632e3516462cd989990cd79834515f46146393b6065a3257c381e5181fa440c446343722b90d0ef72c38e44a557c9d6721130df046686408ee8d05e096 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 128 -KI = 7ce413782674ec516ff3fb496989e491499652d59fc79c9c83304acc06ffd59041d7485e70c05d0303a269d7c742ba0993b0eb13167786d4ad5cd2136104f423 -FixedInputDataByteLen = 60 -FixedInputData = 198d93f87b655897118866b83a9d238e1d2f64865d9288c8760e0ce0fc943c48ea348130ea8c2f06fb9a2ef85d35db617168ede8f066cae748aad4e9 -KO = 78839b3874f6c1d450e8185fa5b961b0 - -COUNT=1 -L = 128 -KI = f69e90f99e1f19afea0c19add71c371dda126b52ffe081672ff80b35c286b269d63306258f02acb07443618393cf9d0a834a813ce09732ba793e004d472d42c9 -FixedInputDataByteLen = 60 -FixedInputData = b78ed8c81fb965c0e3ee11115aed7094732dc1f11e9896fba81326e3a5af0815560322bc5b30d8ec50b6bdea49db9152a371d7980295ee6d65855167 -KO = f38bd5b06ceeefe283bdbbcd1a609c0c - -COUNT=2 -L = 128 -KI = 1a04db6ad35dc52cdce6054b022d30b9ea03fac44d5cccbe3bc8fb98ce94d9749b6574c68b7614d70ffc27768f658d3d0db38b1e5c6fb9fef63ab2598abac55a -FixedInputDataByteLen = 60 -FixedInputData = 3e212259d5a01409e67a46e02289e0f1530c9d1b7acd4d4179c8ff2fdaab500ad6c42a2782f836ff7e238ba3a6990392a1a7fa7f15b43b356fb0879c -KO = 88e0771846995811d177192d6f00ac59 - -COUNT=3 -L = 128 -KI = 1b0795601f0586766a8ea8a7ce2d980df3b94596a2d3e1bc4c84356d88f9685bcf772eaa04143b0359537da273974b0467cb9a110f92e9f82d966dbcbab53260 -FixedInputDataByteLen = 60 -FixedInputData = 3076ba660c21cb79c227955f592c16df8cd54385f164716918ed711792794df933c2406fa1c7870f1f9a2cc23bb42931c0407093d238b3b94fd4f12d -KO = 9619890e7c7a900e61366d61b5a701e3 - -COUNT=4 -L = 128 -KI = bc6cfd05b7f0e3953ea842ce9a6fca1fac7289c4ee05e1ff023f1c351be69b601d1fbe2f3ec6a0b215ac648f2052e03c8f619e6087aae361a9f406f6b2024a15 -FixedInputDataByteLen = 60 -FixedInputData = b570ce221d3e0cf9916190b7aa550c3669233aba8ec9c110ca031db8665a8ffe078c815aa659160da32323844f3ecfad6b25f0b1c6fbf9cf9114a8b5 -KO = 188fa416e3aa903739bd0854b1dd5548 - -COUNT=5 -L = 128 -KI = e8b5ab9cd2749f082d940a04618eaa189659d921206bf5fb4d7951aa2e1b9b138d0ff978b71f9b2ac3e7ba1cd263923125955af44f2c05b4624fd139b735535e -FixedInputDataByteLen = 60 -FixedInputData = 8a3f231040bfa167a26149202ea5c0d7c2577feeb06da9221c4eeaaea407f6df6a8121c54433d229ee69f759d6635eeeac0476df0ade9dc5beaf4cf9 -KO = 738f0345cbe3980c7b50213039c37e3b - -COUNT=6 -L = 128 -KI = 5b3b1443f1130064fd1944bded4fab5baab20c0e6a61ae68a0bd04b5050c71e53eb4daa26db048277f732a095e25c1d1e3901967a4f3bc55fe362e45a1ee5d52 -FixedInputDataByteLen = 60 -FixedInputData = 5c146cd136aa6f2d4380ae3b11690843c9969f775b67e51e2967988a8bce0e06ebc0795c4ec697fba5e22db28bba55a90e9b16f195b00f5aa08bc6bf -KO = 4db94fe18d2675d513192c24eeebb331 - -COUNT=7 -L = 128 -KI = e392924a1c088022a3de96d734389be44148423b9640568efd829c0e8f2ea8327f34296bdd1146553697de4c9bed77fe5de67fbccb9ee0af9cb5512920a72111 -FixedInputDataByteLen = 60 -FixedInputData = 66e4dbfd8f7b78708ac6539704a0a35ef8358a437b313420b81372cf49dd0438811d44ca0715bbcc72829c9fe8a0cf35aa5ac9e94e3f28c1df4d5ea1 -KO = 8a6ebc7d8473334553a23b6b918ba3a9 - -COUNT=8 -L = 128 -KI = 149fae096481733d8fc0c93df1a9b21b9374864ed348566c3dc1f775de253e788a098a611c74cb8e121de5924ce9b926cfa90bbfb47fb4e3ff283f1124f28923 -FixedInputDataByteLen = 60 -FixedInputData = 210b311cdfc9d04b78fe810a8e24cf06bcb8a788c0d0b82ed3090a94217e81f26e42577e973cc1f8bd2957564b488bcf3f20afe7f161869143b1d773 -KO = b4f96a7e4e4822b7bf69136af8c18fa7 - -COUNT=9 -L = 128 -KI = 35ab02fc290cb718a4369a540541710214857ecf2e8b5479577d2922178e4490cd494eb4862ba709e777c0a944c4d97ccca0b3ecd13b8868915b206a4a513107 -FixedInputDataByteLen = 60 -FixedInputData = 0b8ff83b5e98b8cb65a748a24694b75c26c8ee8a8bfb5aa7b7529e1c084d33de3ed96f75ec7cb8dd5a4ec36cdd708423062d9bdae20c326649918939 -KO = c6cb1224662f29183af4338af3221615 - -COUNT=10 -L = 512 -KI = f4549576a0453b177c884b9b3ca3a0e66d0cf824d0d43307c86ea55315697246747f71ee32c4684097d7716fd794c0a9b43df6c0234012aedb32f1bacf1d0601 -FixedInputDataByteLen = 60 -FixedInputData = 36e7f869bed4ea458c4d0bfdd5b881536dc77393ece904357ac864c050e6602acf2f85c217e5cd46580261889226d3d46162e1a174055bd9b4136931 -KO = 4225e3aca55564fe505a313cbc7b40a90d9a807e25a4f25545aaeaa42f5d4b552d3b7135a399ce8b788c95ea999fe0e897531d1bc1508e4ea7fcd06012d5b363 - -COUNT=11 -L = 512 -KI = a5f0e91d1e1660f3abfc01c3b6a26dc0a29c55ff89039db2665eabbf9b3e15afbf237abb738677170f8de600c561cf80882d8d9424ef92fd031a1e600fce8b44 -FixedInputDataByteLen = 60 -FixedInputData = 1f621a0fec2a3aaba11001324d486b724fcff57556d156b740e70f81626100be803a1b269bc0ced1cc8279a548e38ecc0c69d38a52a795e2cb86aa56 -KO = 9da1ff3fbea24c1ed63c8d41fbf886a642985b36492c604a4ccbcbcb9013556f3b4afadc04e5fba3dfe9243d84d3165e10d43f484cff273c76c1789d57e948d9 - -COUNT=12 -L = 512 -KI = 6e13850dc8eff26ba6a8698a15ba439ba96d5bfadff74f85d2e8129d6526ac5b1225a1614aec86be05c372ff42d66ed4641e1f33737087f874df27638c0dde49 -FixedInputDataByteLen = 60 -FixedInputData = 8dad3df47166b3914fc6f74ba2b2ad6a874ec7ed25e0b01cd5c648e6f02df7996d158d9645a28fd4c04b302bc614da615d52e0d5f4f67ecf90c3bf26 -KO = 8ac41b8c172f557b76250734b2eb84e7bfe6dfbd1f4a740ee27819b0b34a40844184aa569d4edb89b5ce7174a79b569683b07eec601c8a2aff5146f2f4b3836e - -COUNT=13 -L = 512 -KI = 9dcad66afea0f79432cf96320215ec4e174cbbfe1cdf4c68e042231634b4b2f3747f150cfb733530d80114185f00da009d9dd6207934757e2f701ccb3563010c -FixedInputDataByteLen = 60 -FixedInputData = ffbff2e7a43cb6690591ec8a65776685f1a1f8d19a656eff4e2fafc45ba616dd7aeb6d2207ad5ce18c43092edf881946d1c7c46e5e3a7f672926d400 -KO = fb5a8b176b57843e5ec7bdd9a1ae60f9319c8354b8bba6a902657ce92ec66e21c169be9c89e0b91f3d623d6dc7aa75cf19975aca2c1311b95e9e86c19ada7357 - -COUNT=14 -L = 512 -KI = d638677a07fbbc099026dc5db8223a182b44e172d2cc32dbc175d17d4c06a9d22aae92588378225ba5f5b86bdf5815417c7f5e3d7072360ffd8e33513336f869 -FixedInputDataByteLen = 60 -FixedInputData = 9ea04c26176bd2ee426b23de7f0af7a442b6a794a3983c1427126c0d9400a2f499e2a1241a65fcc836830389ba07dbb37aa2ff900d6af7cc5f82e9cf -KO = 393695b866c7ed29361163dba4586ff9b809d62d16b52ac4876801386715948907f6de8ed67c659d4862f09d274960224930c3b7146531edcc3b86054958e295 - -COUNT=15 -L = 512 -KI = 19475216591b3cb2a6eb9ed1f706f7e75a98ff12ffdda1b2c4660248e6e8a6b2de60d9f7275fdccead7a448c5cc78b4dcca116f1e76b4809eafdc46081692b10 -FixedInputDataByteLen = 60 -FixedInputData = 174bbbe2d8030784c3c990a3f2c1681336bc36a5f939330cdc0d8c3560b0c11b6b1dd88cf9c203e4eb6b01bf398ae9c30c81f43ab126b2365f699590 -KO = 0f0c84db5264d4a5550da8d98515647553ffea40000988c5106dcdb46552615ddafce6576efd3a9069ed00d4c10dada1886010a64b15b1cd5c728a8e574b7b91 - -COUNT=16 -L = 512 -KI = 7273919f2bc5645710cbccce5f99748bda363df9cef04e5c3a8bd374466668b4797083e9978a24374b25931a8cfe7372cd5671fb0d40358a63a2f35731a89b1d -FixedInputDataByteLen = 60 -FixedInputData = edd3d48895985057b94ff2f290c29db9505e01d502c7d24a5f946267d56eb669c9aab31e58d00e0cd0e2fc414a5e753c541b85716743143d03a6dac3 -KO = 5c1c27c0818f0c8997cb5277ff654bbac5efccc20d4feed1c0cfca2d6afff725a4bed6fbc84f94f9b868f658f83412db482fa24d5ad6df5e81ad9ea0baac67ec - -COUNT=17 -L = 512 -KI = 9864abfaa8c44959a0e9bd647499e2c4dd9ab0a2dda6f896713e82c884fa009aac203bdf071b5af6f167ddb7d5e618c1ddc4f7981d983ab36d2a3332c77a8d92 -FixedInputDataByteLen = 60 -FixedInputData = d4e0ac6c05efaa4fd0f55e2966e8f755e7dd93a37e4eb76afa224feb48ab1b77d2e62cbf4cd89c86b15f733e8e7f0d5d272d18d6c86fa36068a3fc81 -KO = cd95810e30b570547e836b475220f5b720d0cd45fca5c35a424e3846195c96b55d83569dde350f5fc7a44e8f02c396127d2e183067528de28304613c307203ed - -COUNT=18 -L = 512 -KI = c00ec7c676a70ab16adc22b0e05d13d7f556a2e2dd9b2f981ea272eaca18824bd31b2beb3b8fbe9a9331128b2f2ce52887be23aa78599ceade9ca54677b16983 -FixedInputDataByteLen = 60 -FixedInputData = 091cac5a78d8111c67f3ded20ab5ecc3f3d8b43d3ce263d99e91004ae620921a54c7d7eca4c80ef6c48ed331ac329d4e578086d4a2c63e05c9b25f4f -KO = 90b68b42d0bae3180091af0b23de9dfe7e7fefd1bdba539f44a80ff37bce3895019c835d29ac6e7b3dd0bb5cd0023a695cac9e96f45b83a280113ce95a7ee371 - -COUNT=19 -L = 512 -KI = 48b7d623ebd0392178d0ea8707d2f2335b014d16f2e6c654882ed792d9ccd8202b0aba91b0f1ea18816833ca15aec92b7367f98e56c468997f5ae9050248f810 -FixedInputDataByteLen = 60 -FixedInputData = 3aa6f731fc0b623cebcfd272e62176dd3222d4aacceadf42737c6c0ed0eaffc8fbeaa8f17c55652cf508e1f9e8ee87343a22b66d08d5c9f4318c90e7 -KO = 93e27d51a03bce9f01e3c1876ae55266a72af644f590f495b2a2f749a5e1b42b34617a4e8ec64ffa17e36817adff80e67194fefdb3c3985114766176ed4084a2 - -COUNT=20 -L = 160 -KI = 53ba046430b366e0662af47c2d4f2793a5a343100870fcda1ce57019f85241fc9d3c9a2294eb419e480502f1bcc7fa12dead8e697d59d20d5e3ecc88f85704f9 -FixedInputDataByteLen = 60 -FixedInputData = 0e42bda94aacd7dc4da821f869f8051074402f1c5232062246ca2407ff6dc2a17d2538f8808581513cabc1b6f23374b56aeab355f56e5f29cc194780 -KO = 43b02b862b566351a5605921caa016965aad916b - -COUNT=21 -L = 160 -KI = cf7f6f9fc41a404a5fd4719f8bfa904938b4565ce86247f652ecd81baf8414a02eaa68205f2c0cf743b3ec398fd344f5645f87ee901a478236f127a103a2dfd9 -FixedInputDataByteLen = 60 -FixedInputData = 8be78b706cfa32cabe302c815a455bcf445981fc70f9dcab12563728b5d9c6d8497c2fab17ee109423933f886249db5cae2ce349ee4d977d96243ab9 -KO = 81607ee2c9f1c22d7e9ef4bd8318a7b9bad99036 - -COUNT=22 -L = 160 -KI = c48a193d49092011de0bb32ff1b877c4d58380301ea7cdb7e9dc47940fbd1e77db17155dc4be15718beac7e35dc24ca0afd7ba1286e4d9d91f289129426bb11a -FixedInputDataByteLen = 60 -FixedInputData = 91b37e202fe9deb8d3a323dbb416394e17cbfd3d654dd81ff5034c4b03952a2970dfaff617a2161582b3e9ee305eec4273a51cab3893f66c7b9b2566 -KO = 62900e1457c60ad9b59e8016b2d7c95056a45245 - -COUNT=23 -L = 160 -KI = 962db42eeadf95ef7794d8df362eb40e9dc4f7612f3cf3618b198b67ecca294b342eab176e5862f1b721c0311a5be49197c4d09e71266d77eaabb41aa6933853 -FixedInputDataByteLen = 60 -FixedInputData = b7968da3e6cd94f079e3bda276a4f8213d49385fc75e8bf6e621aed0256f28e09d17ee20d59b9e414e499a1fb55f63142d7ed82d60a5ec48eb43cc62 -KO = c6f4ec2a03e5faf8ef511c11b3da75bdf798f5da - -COUNT=24 -L = 160 -KI = fdbeebc58ef42b2c7fb7b4c955b9008283e519f3cd0b448ce0a648505b108461a0f92b37924c54c2c5c41a00f464c9c4dbc73feb05189fa893cb6d45951d8591 -FixedInputDataByteLen = 60 -FixedInputData = 96a8dcffa46d810f3e22926a03d95e73e483992bd302ee04dd39a3200804e713027a518a30ee7cfcebad0ac0e3e6401749c0ddcbe4d8a28adf02f3b7 -KO = 75d22e57ff3eef68c02ae0d4a1e8c790e26861b4 - -COUNT=25 -L = 160 -KI = bde048d3784eda6cdcacf4d01efe5563e663c07f37c6bdd059154aad45be522855d1dbe435af7b6945943a4b818a983e608a253233980b86185484fba4d128b0 -FixedInputDataByteLen = 60 -FixedInputData = 60d30b83de466bc827f069e9f68a6a8117e0c6b0490d7c2a64cc29d7ea1cbfaade1bd0b6f9e6a28eaf9ecfc47398fd23c1d0b2141b638fab634e54c7 -KO = c976ad612e38b132d43d96b503534576a9ef4dd6 - -COUNT=26 -L = 160 -KI = 4989e4213fc529cecac0a00c4cb928cd433ca6f26273eb9234993b45caef469bcddeb89df01c529bdb366df7f86f6f806179e8d82ef69f552e8f218b97c1eb5f -FixedInputDataByteLen = 60 -FixedInputData = 7572397c45060ed44b7d5c9e34cd7aca6f16f1ee82773647354aec8f5ac02291b13d73668aefe120dc984b01adadc041772184a71fd955324f0640db -KO = 7092f15094327691e59e9872b8131f2125f3eeef - -COUNT=27 -L = 160 -KI = 8d92c37cd32926453e8ef035ded2aa357da812efda609aa582f4f293887210c1b4667245d55df9535ccce558b803d55a97ff12320640070ad3dba40627d607ef -FixedInputDataByteLen = 60 -FixedInputData = 4fa620aaf59592688909fa501a0b21a2a767a54768cfb568efc446741f9c5b42f13217d1f7cc9ec05971061dafcb80ee276e2c88c069f5dc9538bfcd -KO = 04ed76518e8c31040fe2788dea44fcd0942d9d1b - -COUNT=28 -L = 160 -KI = ea13117ba11412ce1f7a0df30a1b56befb02a0b22d25fd0e0e564d6632af920b25330d058ce27a45615f7673115825588a29f6c1af4454375153427998f84b4b -FixedInputDataByteLen = 60 -FixedInputData = aa48cdcb50973d8bb65b749f4b17b5face32f6cc58848228ea4e44847089b9a8c76c83edd99732fa8d276633b3e69579de37ffb4a6f69bdfbf9c47ec -KO = 0ea57fddb7ee8a0dae1bce848d0c275758ff82b8 - -COUNT=29 -L = 160 -KI = 3c3e77fc3a6d34c5875bf21707668d9e1a1f5f615f1416ae1211f56bff0e99d437a4833ae82e46b9d4f0a83616aae6af6e917140ba649865c0c179583ad67179 -FixedInputDataByteLen = 60 -FixedInputData = d69ce71848d888dd55a9c77384b23cf005748f57685010662877c366cf710f22954f91bda2f3cf1dc5e5825ef6d7165dbd1ac1d124187e28b38b30dc -KO = 932d2ea10ae1a8bd37011e4dbf3fd3aa1a8eb672 - -COUNT=30 -L = 560 -KI = dd6f0c0cd4ead8c30b9fc754932fcb17712f3c31007d347a56ea7e031e17827209278820a6f21f615f1749ac12282ab17a09cbc71a7e10d4c92ea831ead13926 -FixedInputDataByteLen = 60 -FixedInputData = 211221d8b5bfad81ff716238ddd03b9009dad7c8d43f0ed1657d780f86d67793883d63a36fb63b5c3e8471e67b8197175e6fe9133f867f31cd4bfac4 -KO = 8c0bf9251f603b49a57eeafcfdc57b74caa05a55960b2b15499138045f99c5280808812877ebdc812825790970ef3e72ee60e1077326669c50ab2dd3ef80a58b14f7843018ef - -COUNT=31 -L = 560 -KI = b64d4e6fa4925ca04047b22928c62e3de2910f8df5c29ab508b1b123a084515628429bd3a82d583a4a66f93c7a0e6da65012578af2b2f57e0d59b3170a3090f2 -FixedInputDataByteLen = 60 -FixedInputData = daa7ae8add61d59e77b88a1ec0dd6da38ee42064808ce5cdb2d36760186b5c155585445ea500e215fb7d7970e6b2aa4025c1767148a6afeb961d1e85 -KO = 941435ec38b41dddaa44a7887b77c81886968610a87d9a141c699f1c66b3169ba311c99ca4fc8690a43f6178a73b2447f678cf7b7a28ea8fed3731196d02532bb8f0df230d91 - -COUNT=32 -L = 560 -KI = d028c31ff0ee5912075462b4868038d85aa0b61819dd770801be3379343474b02aa852f7b513877b75a86dd3165f09335380cf2992a2c1b810aa2577d7696f8a -FixedInputDataByteLen = 60 -FixedInputData = ec21f05a0f1d3df122ae2d3925a3f05275181cc8a51be2eb833822196eb61b1b55428443d39b10b970657b096e9e2b160f517bc860a66a850c050959 -KO = efaa92135cb18813fd14bbb1d47d8296542dedd7a361b9f01b1e4628a3fe9a70333b4629a51e0feba67f2695770e0ad247c11cdcd4fed8960442bcceb28e2bb6cd7daa184f84 - -COUNT=33 -L = 560 -KI = 28d90bcd22acfd080fc37cca5d14b62e4a8e73db9a5ef2798d2c8900509766e0d8a6edfeec9b037c0dd837e6e1ab443031f437e8413e7f0c708403c09941639a -FixedInputDataByteLen = 60 -FixedInputData = 791bd464b72a0f4f6a62ddf0bf77c2462d8a914ff1ba303aa0d6a4bffecc943301406b4d991769759393cf2586a86e66e0fbd8750dd9b94b5b67099f -KO = 5f50b356520643af0e77bc476551b60ca625056f624218e86ab781084421952074eed9d5aeba9d6340654c4ce7c8ae6a1e9492765198f52ca5e0058c619241b849134ddf674e - -COUNT=34 -L = 560 -KI = dc4a7bd4ca7c20d9c93203a7ae4556dedb88c20e20d5adbe981b7484a78e7a5cfe021b8767a9e4787935e7f56544420fd0502aecd43c0dd8e848dd00d69d1b2e -FixedInputDataByteLen = 60 -FixedInputData = 879338013e627d6331216b449ac4e46f5b7ae235d1a596d32d83c0f0eea45bb6027b7fd68bae238b28998548255afe8ead98793aedf6178c6d74711d -KO = 5cf1f84275d4276584496b99dea7c3c0ba1824801ad196fcad51dcf9d65144bb0b72bb7efb3a523e76e36bfb70a0e862e86122c78e74c21a543eb84a2af38a30fc07c6ea4670 - -COUNT=35 -L = 560 -KI = 921bb1713fd4947b60b28cebba579f91c2ac399edf7e6bd84e3a142fbd3aab210c44da7112f246301d335310414e8ce9cd45b98809dd30dbcb87d4aa842a445e -FixedInputDataByteLen = 60 -FixedInputData = 39b15a9542e969c2cfb80642e63d6a0de0988cd30d5061d18fdb23156d2fe1371700b64b4c6fc5d00fe634823499cd34552af1274045d7e7eb6a577f -KO = 53be254babfddafdea0e14160678ada027fb319dd01b5527b86b572c9d8fa748cde5d737d7cffaeacc3129c2206600dec9f0965e5376468802d21c8ff1640a174623a29c3123 - -COUNT=36 -L = 560 -KI = e513cbaa4f5d69dfcab982ca268c9478ed8ad47eb7872331d68a4bae41d7e62d2169b11368d21bc83b3cbfe55c7c14ad85f8c2aad8bbbb18555e1ffc26ad4ae0 -FixedInputDataByteLen = 60 -FixedInputData = 1a3a4b4f5f21b61f0229591a70bb61bf54865053ca3eaf35fa9b8cc70e0f24e97df90a151577445f7522de74845229b3462164c06b668730a79a9135 -KO = 1271e0d3d0382136136c5c090a991e399ffbc47dfc7bcf95143c1f1035058faa3b8c8f7d9560d303ba4153cfced7f0a25cdedaae10c5482abe1fc398807035400a1da1262e25 - -COUNT=37 -L = 560 -KI = 12533d32b9339d89a75b21725e8307488293b408d870c16157dba3d62aca0bc498340677029dd68d0b1ba94a1f4664088fee6f3c551b70c91b3f36b1ea3b4804 -FixedInputDataByteLen = 60 -FixedInputData = abe77b8d10d7ee49848d7057e62d881f86c9d58e1220370a5c23c59d549607b96c99e4f0f84973e35c31e2c560473c39474eeb18e3a423d554c7478d -KO = 8e0eb0887ae2ff235bb060063d5ea21ad4f738b7ee0eb2d8830c0025a2669e14687f8302b489ff2d1ca45fd94a58c79351a761fde2b034a1459379b17b800f57459e72c81fe1 - -COUNT=38 -L = 560 -KI = c4970048b76d6af7b9ec743e5ce091e5a59f6f6caee638c3742b6d20c74c5d8f9d8b36af3ab2342499cb5fb119f1411caf753d214982b526e0d27be7c2acc00f -FixedInputDataByteLen = 60 -FixedInputData = 861d3d647ea5f33d47d32c4e144df1a0acc092e15a9e4caad366987ea298f0c4a8ffe0ee2988f65c1a2b9c9ce9666a06d4332899f0d726ee3a92a495 -KO = 58427335a597581d6bd38a61d05658322bbd9453912d0f2d4cd0cb3d8a59ab8f6e586f5f99f16c2252a0d22dcdbecf8cb998c24b7a8422862c1271a682ef2a47025509249210 - -COUNT=39 -L = 560 -KI = 76fc6323fe70cad5a3b7ed296e70b7c716d3bec70966a79029ee2d84eb8cc0d81c5448caaa9973bf4184e9fe60b9a1187a0acaf7e49f1da53cee02c5fc58e7aa -FixedInputDataByteLen = 60 -FixedInputData = 343d67a13765dda14a3f7783ad8fbe596a62a27894e99384067b9ce66e1178db2d478aefa791a1cd0a7d162191424b54cd29743a9ac67e48e7e598fd -KO = 1804414a3ecac56465c8609dbc53d74550a692bb436c2bd4f13a7d3520c41b4bb9e1f864b50ff9fc3d5e4ac5573b00cea1f32a2a20cf3f814cbdc6cb7a64dac1b35c2fa035b3 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 128 -KI = 66b1da86bd44da3d77dab93336524c15c574e81a4531348c0e65893281bc7b63ef2f596cbb949d10c2d1c12a6162b803cb9ab242ac8e49c1c4de579136678682 -FixedInputDataByteLen = 60 -FixedInputData = 93d2f64eca18310802828e8826509274d41b020d648cad957617f890af252f7b8f5479502541759e973834341673a1e18eae811a1119e6cc4f24e151 -KO = ca41f39763e2ab81714153b4702bc7b0 - -COUNT=1 -L = 128 -KI = 7e1142e164a15cc3073b66668136b6a19fdeb6be57d9804f4ed37f31f8b108a85e7eb45073d039c3c2332edad9dc2a4ce287eebac5db2c96c40424c803dc51f4 -FixedInputDataByteLen = 60 -FixedInputData = 94e116adc02bdaa21979149e62bc612ed03a9cb1811563e2352db5ae87828c0d2ea681b51b810222acae3bc3d30e966894bbf2a1abbced475b23df89 -KO = eaa5636589a4223009fb947613f359a7 - -COUNT=2 -L = 128 -KI = b587896e1fec34beede5dbf39c9272c82e18fe3226410437ad3bb8b09f468a6ef5c60b7fc0eb1c3569c0f5b9e43da56bab68c214d45f803245d14a0db58fd2be -FixedInputDataByteLen = 60 -FixedInputData = 6f13da11cf27f99916c88922dbd21cadc674b49b3c65fabf36f6b2ea730ce9bb57dc5967cba25866ec800e5f9679e38c84538ff61410de5679484de2 -KO = b986ba34f661b6e5203e22752e21c545 - -COUNT=3 -L = 128 -KI = 6c00bfd46a415a9855e042a14a949d62d7e04295f72ae2e3f3a983711bd402f8b69a4b2d9e427e5743f6dab7d1a39c2bfd6c8d369f718aaf296e11691d95b7ea -FixedInputDataByteLen = 60 -FixedInputData = 9037c889deaf4fe8037b40acb5df9f15462500715157d494f91a543283f3a80aabf27fbde2f5255d749817f7459204cdf1dc783ef31c724c10e45f49 -KO = d0e48f1b63e6fc530fa8de21974371d3 - -COUNT=4 -L = 128 -KI = 35ad27131af0af1a75bc80b37378bfc6f502b9351fe4d6ee2d1158c422c2fab3706efd5e54a9e318ddf940054ee46617378fc41ec6ea9b4d2681a2d8bbdfd31d -FixedInputDataByteLen = 60 -FixedInputData = 98d779569471b8446b9dc95386018213516a1c4f5aea038de82258566684c4e7d5f6ecf9d159dff4be9841f370228a94a25931d3158f292b6a9698de -KO = 8854a0fe4a872b8b86895a9c194bbaa3 - -COUNT=5 -L = 128 -KI = ac14b086af949cb11a78b159ecd7bf1343fabd9fdcc8512b02ca27d34f447d9fa8d6df53a3f40d237715cf4971dbc2540735e0e8ba035e9823a1cbc07dc4bc21 -FixedInputDataByteLen = 60 -FixedInputData = ef04eb2f845a5e5c6fe131966db0b768c28ed8a4f066cca084558287995a3fb385ad84cb3ae07af36b3c0aea187f7718b7518f391a155f44285caa68 -KO = f4b5575533eeccc50429febf9517ffae - -COUNT=6 -L = 128 -KI = 6d597df49474fc4a0e385e6a7fbbf191cf4ea63b2f9f8d4536051f7107712264faee149da6b844f363e5b403a0aa6f4505f41cecd0d07ab4ce01a7aae69d9bff -FixedInputDataByteLen = 60 -FixedInputData = 460a4a3c3a072ea0d2259f540ed5db95bef4e517b8f72898f0fcf9189f70840d08fa520bfda44aa7741ed82b8812abd5990363e6566655d8e1cf6f73 -KO = 1d667060c2e0825d5a1a4179589a0ea2 - -COUNT=7 -L = 128 -KI = 52fcc1e828b9429712f8d6915dcf7788aba6c8c744b4b0d2f41a57116f2f8b58076644a9fadbe355b006c61821b061e90f544c011eec642bb9ccb7612b7db3bd -FixedInputDataByteLen = 60 -FixedInputData = fb5bb1450a8acd778ff25b7362f3e8c098f79076b36ab1d202f9709b23cb2bc5daf104fbc018ccf5119603969abedf7e63453ca1b6861790dd2d1510 -KO = 4408b4f5a1153ca4dcf5f85037adb30e - -COUNT=8 -L = 128 -KI = 2579775727ad6779f40041eb3405cb08c4d2e673aae537abc7db8bbd9f637c9551447f1427838338736dfd514031b190b67945d1ecf0f38d549c62142e779cd3 -FixedInputDataByteLen = 60 -FixedInputData = 3813ef0be83b70a3ca058c8e2fdfa69805642a9ce0b5c4fb4ba83fe55147a2e9fc4af9fa98b553aa8caee1340abb73c546eca6e9c199db1a8b763d64 -KO = e06fd350108dc322b12ec2383922f651 - -COUNT=9 -L = 128 -KI = 804753def6968ef93911e319052ae7618193eede7ebd417a49bb9681c4d942aeadbcd2d6b98e4033624fc4aabaa9012e08cb0f285e95a13812ae7176bb8920f4 -FixedInputDataByteLen = 60 -FixedInputData = 2184450a8bafa0b01812d677d77aa9dcd98e10831c969cb129533a00325db7c5cf873c14c8d15e9dcb1e51ba9f3d52a86560aa6ca734e44e18425c2f -KO = f28dfd56912a9342f2deb8cb9daea5e7 - -COUNT=10 -L = 512 -KI = e150f797f76f4853322e128e2aacd0a9585a85628708e453e38e7460dfdab110f1ec28b2802ffd06d64b4f7a30a4036060e10cb7c5dccc87e1cb40b376807245 -FixedInputDataByteLen = 60 -FixedInputData = 7e7078e0cd419eb1c230562ec549d7531f9da6ff203a2c604868f3b161739594f304aca73b8516ee3d281b60fd9b13ba51c21967266fc06700555760 -KO = 69d99d72df2515543e1e26d265ed213f2384ff22d31418f019f93f6845ba14f3fa193eb67b46972f749b54ab4459575c0a31b30b2efbcdedb06203072a1d752d - -COUNT=11 -L = 512 -KI = 8257552de00c1b349964da305473b9fefc8c101067a81d8c5300fd58de12b43bf6cef3bcbb5921766b07f5a6d55ac0108a9a2d459dcca25e8943390fccc74131 -FixedInputDataByteLen = 60 -FixedInputData = 09ee52d0f5ee0088a23ae87bc5e90a06ec79dd8e2dd677e1b64cb8040cfb357313c4790e3690ead3e5072f0ebae4ac261c8795cad5f6b4763cd2580c -KO = 8369eafef840806be0895cdb2014e833866b9367de0e86b63c4d29239a2733c410b4963efc99f2ceda52b41cd52fbb8985d348e21f10e6270bdf21f099fe519f - -COUNT=12 -L = 512 -KI = d9a07a31380f9c1bccbb182fa31f04607acb418e41f0ec1fe589e7766840f4966644f43ef08b36351fcce72371a406700fd99c20495ff999ecb411f37ad5169e -FixedInputDataByteLen = 60 -FixedInputData = 36335a8369796a2bca5943e6effbdb6a31ad4c89357998315bdb7c927d04f735dfa1a24abd1d260d45d0c61a5e7c23904ba3a2d94193e807e8cf4ae7 -KO = ea9fc6eb346bc17b80d48be05c6fced730414dc1d0d55ec312bf6791358d3ee87456a63de449ceb9b4c859f1741e4688a8390f26531a7f64731c412ade1cc5dc - -COUNT=13 -L = 512 -KI = f73adc5a42001d3aa1ecec632447b04186127ec0a26a2088bcb49d727096a04e72014bb93e49d2aa3bb6fd914ee37d36e1a3e3b65ccf007eab025b80986df9fa -FixedInputDataByteLen = 60 -FixedInputData = 80bd8a0f0249e53aefc264c0192fcc541e50d0ac081fc5859bc7594e1b762c0f80724098cc3e5cc0eecd72310317f763d52a2557511833f206a74f51 -KO = ae5cd022bab17f2f9912888a12ab94eb708f501de645f81d5c0ed10b4f5afc5663b79463d1b0953432d1221eee999780fc73049598021d344dcbb856499c6492 - -COUNT=14 -L = 512 -KI = 8a923f1dc4b00edca9a5cc75db7cda4225707a72fe281366443d323adba64b8fcda5366a813ef83d5a055e1d41ee7f1feb41f6cd2ebcee6807df1bc8ceb2ea4b -FixedInputDataByteLen = 60 -FixedInputData = 32388b501261915ceb9655b4ea5ff2ffb3cc3ad8bfd86467f9299304fce7ad86e73214e8d7bf54a6b8c6fc6679f842b95ec144fd24dc5900ac2fdc4a -KO = 233ebb93772bbdb14955970202b0c1b72656695298aadefab1d066167b0f03db02a95f22adb6fdb8931c75547c3f59d6e31568750fafa72a1beea48b2422db70 - -COUNT=15 -L = 512 -KI = 304e9b64cd4f04124b0b356e506432a1531ea0a271934106d0b9cc59a31d6ca3fd21deb1da83076d37c29f1beba2616845f12796336eb1513985208575afcddc -FixedInputDataByteLen = 60 -FixedInputData = cde899b40b96c50c5e403273d4399abe7dc2f327094091d0d83bb1583144dd634c0a95a8a16d16fe06fdcca4c88dd455405890e759c7908d1b836387 -KO = 03bd742f7e66bebeb0c4c84784147a65e6074910367829906347400b6aadbc512307876de9ea0f719b22750d52050bce2c964c98ad05661269d4c452c7e9f388 - -COUNT=16 -L = 512 -KI = 996b3c7a37e4c51eaa341bf18d463f5de04fde648d01ebf9bf1cce0e463e18e1311134c4304cbac88a01c7df1e9e3ca6c9068c9884f94b80b49fb92d4081a884 -FixedInputDataByteLen = 60 -FixedInputData = 0ad4bf017fc8b7cb4ae4b35b4293c4a37104f4b028de460741623e4cc6b068ec33be93d4829924740e8f3f2fd2af168d8614366c84c463c23f4e633f -KO = 8f9d72d3c4a9076e25941d1477a32aa20d843713f0455d4f960d21eaeaf06661c0ef86e75d911e954bedefb15af76479b0ddd6f134ec4830ffcadd3ea540edf5 - -COUNT=17 -L = 512 -KI = a17ed94048d913ebb3a62a03d33d5659b12ed4585b07093d1f351b78cf1429831102fd1a6d472d118c8670b0f17fc175d9964283662eb64aa91ec342a673e76f -FixedInputDataByteLen = 60 -FixedInputData = 630509f00e925a5263808176d8a8e41f8f9be8a2bfb187aad8634b4611f9419cf27c028270b0dfc1ee46576d412534d520e2d7bc26e929703aa574fa -KO = b0d4d0d5756150e5283803b241070b8277ee922a04de4b8bcad477d6afe40bc18975a0183ade20194964d576784aa3788998f367446475fc977d5d127ddbd2bd - -COUNT=18 -L = 512 -KI = a73b7bd8bae3c5bab6cf2d6e42c01f969917dd67cb8809ceec6f8116e0325aede7da4e5b1bb34480b87ff5029bfc4ce9cc3da508b25cb2481a2d986749196dc8 -FixedInputDataByteLen = 60 -FixedInputData = 112d9ace7de2f08255504b7f2df445fd13349d184b91c2e8112cc97e0702d1095139e7fddb151777d6af14a9bc3a1a1d29f53fa1ae09e1c0e4c0de4f -KO = 3e2702633b9592d8a0981098ee0ef11a1add6ea5764893afba4a18c55c183b77b76af6dc85ee1554605227aa030bf4e3864dfb296165688134d63b457bc702aa - -COUNT=19 -L = 512 -KI = ae2e9815d8cc3bba16c63e505635590804e5c28460aa6ee4a30f668a4c56472666f04f325540e58ff45c8653d59c2cb1222717f500d5fdb062090d61baea05cb -FixedInputDataByteLen = 60 -FixedInputData = fad4a44ffdfd485b83189772a353f2817d2bd8ce971520cabfc8c5f06fc15f2d6425475957a64b0aac5d763f12e7d62a4b076f5fab35a1d45395cc42 -KO = 6940e5d696f3a8c1d3fb386b192feaca3da19865750f33620e4cfec289577b0e2296b79cb3d2ec33b14c9311b5db8bc88ff04145f683ef7d15a2b2d71a62b443 - -COUNT=20 -L = 160 -KI = 3f943de753b09056ab5b00ed7ac05951d6570ef376b4d19b6f570c847e5c84a434050514347b8a775d8e0ebaeb0ceda4882ee99605e0e07587bdade5414c650a -FixedInputDataByteLen = 60 -FixedInputData = 827d1c9b003a1a93ccd54c27a59492937c930e2c7d1f02bebe880e16d3ac48aad51deaf0c32690b8beddfee97617186d2c5a2c0c445ddfb5e51a8229 -KO = 371fe0fe7557971fcf43a5406e03940c9bab3152 - -COUNT=21 -L = 160 -KI = ea54d2bff1b59a43d3a912f11f52adb69c687bc033be4ad9db3c93ff2a8258cf5dc962aa071bc591bd1eca2e0486612fc50f637951e7e2fb89891682a65430f4 -FixedInputDataByteLen = 60 -FixedInputData = 5fe7fc03604fd825921c876ad28fcfa0d4726174295a525a9a34a5448f18301daf406ae0441f7df8aca99d0035169e0bfc69854c2f5e93d8cf422055 -KO = 466668b2553ecbfa30084c3ae0022c8178ade1fc - -COUNT=22 -L = 160 -KI = 5f475ad115c63d17b744eccf2d2ac8baa454d90d620dbe1a4c95e02a1f22160563457b2dcd344a32f3dd56149fc63d95a71fbea83b012e8213a2fb64b5b2ee86 -FixedInputDataByteLen = 60 -FixedInputData = 22be049bec15a6e59fe5903bd2b8453ca4e07dbbf97ae670a6475d3564d8b0ea418f3e89a12e19ede0e93a16669b88e8911705f117367f9a63ae1543 -KO = 6fab26a1e4894b87518253ba23d344dbf226dbcb - -COUNT=23 -L = 160 -KI = d8f0922d114d769e05d443fb07fe32aef817a81f8d674917a4daf6b2b58c12c5f5652b5d10d1e98ecc73fbc39d746575c00fa6e1fffc46c386e2e1c2dd0783f9 -FixedInputDataByteLen = 60 -FixedInputData = b3e9850f26304a696f5030d9356c6d66d8f25958de01a53a24917be7887b17eae3d769eff7f96cc0286d805947ca6f80d4a8d95610f6ebc118c101db -KO = 96e1ab4ec1189903d391a135b2a9bb9d71dbea58 - -COUNT=24 -L = 160 -KI = af729d1a15cc3da4b456abe3d73bd1c42a6d76bbee9afc7ffed8edf9c7542a3e07dcdce3987fea66f319edddfa170dd4ce1aa19e9e83fd0ec613ced6cbc26e16 -FixedInputDataByteLen = 60 -FixedInputData = c19630831f285cfd670f4bad33f73b1850ea68bb4f3e75928985cbe50585660ddc7bdc424cb9fd9fbbd85a4465420a9de53e94cd46090a5b71f9e715 -KO = 9a57618b7517e232d5024b702a3eef5ce4292f8a - -COUNT=25 -L = 160 -KI = 1c1401b9795c3058e4be8e37746bd151409f18c6bd5bca00e754a5ebe0b220d46d845071dd9b64e1c0ad7f69251535860b73c2c1674ddb5254d1c28a9d33f2eb -FixedInputDataByteLen = 60 -FixedInputData = ab4a6523bab57de962b6d70162696bb3ce5bd9f02ab806064a948a265bf7403c480da833069d84593a2748bcc2c174197eacfa67a923f30eb790b919 -KO = 042c8394295cc0e83b5973521c005077d2e85a77 - -COUNT=26 -L = 160 -KI = f77f00e541879c85b984d007a860d6134db4bd95e1fb57e4f001ae2fd305225b89ca0278f2d685be8f1f71f01f69211b3f89dd15f2aa49deae7470bc589ed235 -FixedInputDataByteLen = 60 -FixedInputData = b96fec43cdffcab3584b530c518372db972bb27bbeb2d9ced4ecc1a7f6e2b7044b87e0d74a4647124138d8e940be02f5c1f26ef5f564bf769960535a -KO = 404be88b4f45f2955b0b7c25b82ede79d5eacffe - -COUNT=27 -L = 160 -KI = 303ff25cd0d813276b1c7d2a00944cda6b74a48ef42ec8cce98d21812bf38a92447eb9117f20d35fc149fb51c2d912d999bea9265567d582ac0ea23945782505 -FixedInputDataByteLen = 60 -FixedInputData = 39a602305e3865da6743cc6b145f6d18c5a35afd14260fbbcf0699a7230aabed268b59a1d91968fd88633ce283ef3b5af379686f999251089fc0c7ea -KO = 51c29d6911a047ac3a816de194b543deff3ab685 - -COUNT=28 -L = 160 -KI = 55151dbee0553e4c0c888d95cbf81fe9a1722300547c9d8b66a95f532d5fbaa28788512ab3357c4e9c5cf821f8b32e069f9b7cc0d872ae9ed58ed6ab56cb438e -FixedInputDataByteLen = 60 -FixedInputData = 108d41b80f3586bd3bcdff9ae5aa61f9c2b40bdebcb54662ed39fd62b1b4aff1500dcda6ec259248a579634033fec10a435f5d4a152d61acf7c0a7f8 -KO = 5a790e5104bb44fcc51ed070d4ceab85377605f3 - -COUNT=29 -L = 160 -KI = 47afbfee41e75db2bf28ad801a02f5c350ba6d2d0b1532b46642179ef9d4b03468f32c5d7a43005143e139a41753418726a489a2b9f3893d732961f112f25467 -FixedInputDataByteLen = 60 -FixedInputData = 1a8cfd09c1b92cd4a13b66b945a65edde509ac35a237006fdad00219297b0d3539af26555ae692618e7bbeeba1fc7bfd80d66faf39f69ce3bbf9d57a -KO = a91a2fad13e8aa4d30ce8714d31da0bb9e74c913 - -COUNT=30 -L = 560 -KI = 6aa3b83509411084a675d1e03f8f9a32fb5fb1afd0f862ca1e550e9ee62e52e5f44615ad9ea7766b751ccec900dfbc2cfed2fb439b4c74a3a192da79637d3297 -FixedInputDataByteLen = 60 -FixedInputData = 9524aa1ae411a412fa10bbed8b2bc61849a5b12e8871926c872ac0d69e786146733a91353c775a4c0c38ac602d5fa95d5983f3178cd28c5209ffe56f -KO = 0750fa9149255c86da7e3d4f88bbb3d3d8e66aec0d2bcc4f151d04581e0a850f8fde75152d10c23c2f5db508feb7fc372d274b3c7d7253300a8a8657efe3100ad3ec20dbff13 - -COUNT=31 -L = 560 -KI = 0932ea9680f173578108966dba4bb523f2ffe1f7a80b1b72d38257461c8faa95df5d8150ea0133f50ef64dd4fe1b1da18a93aac926fd28577a5b2c37b9e4bb82 -FixedInputDataByteLen = 60 -FixedInputData = d124930a1e277b1d9ea2de1f84d753b2a44135de1504a360a1e729b355eb65338c1acce67936790e85341ff0f306a261c45d4a474fb3cb1ebe8c0845 -KO = ac078584ef260c7ff9fbbd4112c1ea1b691317009d2f9b4f3c75d64e7d8587f553c17a20020f63e5b28dac20eba8b64490e46bc90debdaab03f9fdddc2ea4cb3c9b2ca9f4e8d - -COUNT=32 -L = 560 -KI = d690f3936826d0ef12b551a5ea90f7dc432aea19d7f5f625dc51df53844ba120c775e83c52767eb61047b278f7b4cbfb10f3fa1602908a37194f865e10628228 -FixedInputDataByteLen = 60 -FixedInputData = 99eb89726c72dc7e92fca953c946746c5ee99d1c96839a374a7472315c80445e412234b801cad15331c5ba2cacfdae1799e9bd12f420a472755d6693 -KO = 755738b3795d91ff0f990d88f8acc07f8f3c2d2987e415fdda4d038e25f1ddfbe96fc49cac7ad77d7ca779f5142daba05cbd8672faa8611413fd4bda6637a02f840a2b1aa8cc - -COUNT=33 -L = 560 -KI = 293c7e761d864a3ba86891cffe678e88d98f2134c4be2a56ed87dfcda88c8a0cf511f12b109e2f068ddf32afcb6cb857a9997df9097cd1d69c34684f9ab099b7 -FixedInputDataByteLen = 60 -FixedInputData = 00d7a8ac206bc1a1724a2ea77699c34c49b8899fc8632782eea8f2f2b763ddf18500bcb0c5512275492685914da2a056ab8486c1656b2683c57d205b -KO = 2b7030c0b1afcf12055ca9d79f58727bcf71a4db7259299cc7fa81c2beed647070e8b92d9c65a62ce3d1d5017406cbf63929e67c2915ebf63fa22416e9743ae46ddbe383e9a7 - -COUNT=34 -L = 560 -KI = fb82876f37ffb73ba1699a50c062fdb7b13e3ea762e4c8666af406000ededc10e800008bdf53bf549cd325ff9f0cf06364d457349f95b9f814546f4d2796b9c1 -FixedInputDataByteLen = 60 -FixedInputData = dad2c9bce1bddc299399ae17485714b851cf93f868ec6a11dbb5c0fd13cff67545de06b1c6d9db3fd952a626c60a89c5ca870c904e94c178e4c16d92 -KO = 68223b1dc43416864bae44ea041dfef0e308931de0c094949441175c3d3b7e61bb0255a347eaf88f7e008f79a16136558fedc38e20f7618dc289200c081d68332d9d93328b85 - -COUNT=35 -L = 560 -KI = f7a928250240a5e4f45236147bb15bac61274d8a74345204d40e7a36efe917a41015871cbadaf894325f8f0f9ed550d71dbd6b78643252ac58ef4af16c19fdc9 -FixedInputDataByteLen = 60 -FixedInputData = 2f51ae1f9f7040374a0918a7521a6510490e697878947d3596249f4b1ec46510ebfd0792a0a3b657bfbed2c908e12a45b138a5a01950c50b09ee8e66 -KO = 8be77bac149a27e01586826b6156d855b4d45bf630f2dfba59e71de7b4cd201d14f5e475b62ab744e0ae9fd6b610d5bf76379f8091c1c7d4f3afddba3b9ef5827276611256ad - -COUNT=36 -L = 560 -KI = 1ac3b36976193a614e5766dad1e94a6e2b105c6f38adbd9d1e68057506f8b7e69879cac4ec42f56772e069b6552f76bdf0f359462d97087ab20d9aee9d53e4a4 -FixedInputDataByteLen = 60 -FixedInputData = 47366d75cae4898dd2114ac288c0c34da33ad0a9e063a430a2badcfd5e6562a1462fcf499014d983469432a8118288995671ff741529e35747360fb4 -KO = fb6f66b80a1068e8875759cd2d2fc2b6bc678765633a1c8877c884650035193ab89a2460ebc2957a36deff94a3f816d2d1f0b40a981e692c179746ce960038f69f96c1c85143 - -COUNT=37 -L = 560 -KI = 8910ff635783c8362f95314881470719adf4ebdb4c23b9aa38490e36ebae3ef4956de8f25937b5e5bd74d37a2130377c4d6545e56896d84825870ad57d6d5a3d -FixedInputDataByteLen = 60 -FixedInputData = 882c4fe212d7b4bed9d67593ae65b5582999e0b36840840fd55ff44ba3d70471400ccc69867c2e2a2d23be5f84c7ed3bc80c689d84b1f050d706fe97 -KO = c546814dcc844466cd3dfd1c3aa33096f536b809dacf7bd65332cf053d5c1d90264f68f23e1482893699b515e6ac354cf1571cee754ceeb429b359796feadd0582d36e578a9f - -COUNT=38 -L = 560 -KI = 3767f6a4b1d941ed61aef4c3c305d79cafdcaee8a73811a93c1bb2179cfcb0a5131055aaa7d7035eb18d52498089821a085eec0a1ba9e9e423dba57724fbeba8 -FixedInputDataByteLen = 60 -FixedInputData = 4a8cc68c0c4283051e978249f941ead374b336fe26b46ce53e5545840ee63160587868382bbf773d90cebf180418ddca76cf3588844a40690e682519 -KO = 0257cb3ee37fa19e74ac4474a89c8231d3c0a86e9f5d83ac2d195936ef2c4602de346be35e3c294131c432ad9b243c67f53b250ea06ece0e3e8ba8271c9578920ae4228b04cc - -COUNT=39 -L = 560 -KI = 658b00589f83fcebdf36d7a9b2287e5ce7f69f59e6ddf6c1c9316d8243072d50c25e5ae9765f17675a56b477a35094e358de4bd02d24e9441c1f8eca00848bce -FixedInputDataByteLen = 60 -FixedInputData = c64c5349df2cd631b35b23a71d706da36348dc8c2ca84cc62bc60c0744cb58b441933374c977722dc0accd7fa8452fbbd994f456ba56abad210769d9 -KO = b9affad298def2d7f7b895410c83b573410a97768c419615ee74464039a70a9e70624120f513a5c1824afd9a7ba747ba6a5bddeae2aeae548c7ec3b677fa50bae53fa7867d00 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 128 -KI = 9834025547bbc07a6e6776582d3c2ed4e2a85e3ae32efdc2172fb733c40877deabd8b8e89e9d9e7b3b9370d0d176c6c9640209a276f598c7bacf000eed7984b8 -FixedInputDataByteLen = 60 -FixedInputData = e66cc4e929d4babe15b11838dbdd73ab3c3a25830fc5d1e59a10a2bc6b21930e33a23e3c1dc2c5c5caddb9591cb8c65a917e296c75fc6e5a1aba9040 -KO = 5bdea19929c8ecc574fcb1e0632733f0 - -COUNT=1 -L = 128 -KI = a434c9c8ec230a92f4be62b08a021e199fb21cff4b390cb77eefd0e8f240e28e8df26103e1d4b52c216853cbebb43f93d29e7ffc2fad0422fce3b288928bdb10 -FixedInputDataByteLen = 60 -FixedInputData = a46bcae3db799629d3be3a714adf2e33bec668af98ebe1f444f415f6cf404c5e0f842b9d626e2dfa64141a9298740190b827cef1b4c9353745f3fa8a -KO = faebc65881945de5bf859a9009dfe347 - -COUNT=2 -L = 128 -KI = ff858f3da26e8ecda657725064c00bed7e2eb1554d46b158d91a1dc7a863848ee11845f87f1b6349380e197e978ab9730b10d597dee25b1f92ac4817d3217ade -FixedInputDataByteLen = 60 -FixedInputData = b6019da3d3b3dd6b6e320a59dc45efff56c7a902013002466c4f186d28095d7b34ebc221f4bee7e4350790a4b45815fc98e3d52d7e0464504848a41f -KO = 5bef9f68e7da3c11b81f8fb0aa125fcb - -COUNT=3 -L = 128 -KI = 76743a40e3fb3cf337fe4f96a7eead12457db8b9d4dbb0beb41773849df6f46e3158fb15c6bff1269e535cc19a48e42fc05a5ab002b29c0efca09b14ede7e436 -FixedInputDataByteLen = 60 -FixedInputData = 98b6527a9a5ed58c29a67eaf756b2f03458ead438d2409acb4d4704afdfc99a5a6e27e04a6a9a7e3f1500448dc22fc90cd81c5de66e18ae7a9e47ce6 -KO = 40498409fcb7e64ec9494c0f43e827eb - -COUNT=4 -L = 128 -KI = fbbc7c48e58fdf8264d13f3befb34bc069affd8d39ee9d6d58eb5c7249e7d8996a55c1b9e8d66d5acc6b4092cc5174c4be5510d05911f1413bd9ac324cd83122 -FixedInputDataByteLen = 60 -FixedInputData = 3f83f94672083b4710d687c6da33a8c3333496afbbdcbd7949f5cc41f1f69d66667e39e200261b124666776347d58b97691735cfa845cb7519e37e26 -KO = 43cb7ddcc597a269f17f45e01a551871 - -COUNT=5 -L = 128 -KI = 2b0c9349f8e10b948600718c36922a5ce47859c1ba8b2b4fc5d57716f44c9766a65af120c82801e87f1ab6aac563535c8869549908b3c258d0b9b39b62473b46 -FixedInputDataByteLen = 60 -FixedInputData = 21c95a6f212db7b4462e05d987952663685b3999ec555f065650ffb2b6125c091be15813999caef5d756f8a1d06e405b6cd336d3c9a196d8b0def70a -KO = 14deb9e23f3a1ed530b5d63f2679ddd6 - -COUNT=6 -L = 128 -KI = b38a75e802c234a985d51d72725c8d2b2473a31cb31489278a04a74d5f2e07f36e788a4d7b546a206c6900c58554e94387d9b98ec47168b9cc2aee9a88269e0c -FixedInputDataByteLen = 60 -FixedInputData = 29e6e7fbe387614c95de2893def77d65b9301bdb8a574e72b3020b8b6019439c0504414bbc4f8956cb5efc70e0a7596f5c946eaa32587a2b8612e03d -KO = bb014fd71b6264094154aba0f4e36232 - -COUNT=7 -L = 128 -KI = 04e3a459416570ad95991dff9af2c66ba1fb3fb88d224eec32762e692d6cafdbb2a05d9beec6c9f3cd2361e57456b57536705d42f792ea8bc22e21fe9c863533 -FixedInputDataByteLen = 60 -FixedInputData = e197c28545269a5b7d491c617e6a1b49cf842b2671e94b021a45e1faf32c4cf212ac5cad4df672e9710f7cde3c8564b792cac8d06c4d26a6aa0d62bb -KO = 23ebf62ac101b7a988e7a00e51fae2c0 - -COUNT=8 -L = 128 -KI = f34c84367bcf675b80245292a6df66bb800efda68adcd17ec4f3141dfc2e22300d2e363e2aca4117a261ef520af42e6de47c0dfd589d08033879a42ad5c45fee -FixedInputDataByteLen = 60 -FixedInputData = 4cd44d94a4d717036404363b1228fc201e6e9afc93b08d26b47a5dfa6e225703cb7be8ba38a98812bcbd6904ebc6e90cb7b7c05cbdc31c2a4590f6bb -KO = 8607caa86f9c45e01c02baaa98eac191 - -COUNT=9 -L = 128 -KI = 73ad3826b371a338c6782f8c2e7a3f6b6128526fcd363fd7d2c6b4b290e0fc19516341c039e80b98cd9485465d9ad1a960f0fca89c583e392395e0bc60353101 -FixedInputDataByteLen = 60 -FixedInputData = 875a4977ac2939e7725f71941494d690b8fec7fcb52b5b084b6ffc612d7dba6c415ea741f52dde9756f3072c9040f559b44b4c5e3eb9d9fbe4b4886e -KO = 3d8147b6ad986edc8336271de891a28f - -COUNT=10 -L = 512 -KI = 5920a7e47c754d580a99a83bbfe74dea752a5def3b669eadad03bffaa2ef59773deb49e80424b5d4b8679d78a37b7ab7e88823e372f8e27fd5592e3569e06898 -FixedInputDataByteLen = 60 -FixedInputData = 1b99e64002b6b12042318c2ef6412cde48a57243ae8923fa63a807ac3601db10c9fe91f45243e67957f0c426101fdba74042c1ea81356b53aafac0f8 -KO = 8c3a82323aed55be2d13b5b29d1fc1ee7b8c48e507aa3fc33968748a571e36b0071fdcb952a52d337788e89917f9eaa45bde287224b6203ec60ecc5144c47d63 - -COUNT=11 -L = 512 -KI = 9e6599db6f3199aae28c4836572eca5e63a4d66602d62c255cba3ec574a376561ace519e953ab65be81047a374df115b167d700b27e30525aa6ff5c9a23936c9 -FixedInputDataByteLen = 60 -FixedInputData = fbc97a28b477b6f955a847179fddad6308304b654fb32c19d55163333a3f36929b96afd306dfe726db3935bc8a2061364d25489dbc8d54117c940d62 -KO = b7bf35b222b2218f17ae62a396c144296eb15298719c55277a35475c564c2066b65389d7d76a9788cc8df85cbfb64c4412a2831697ea1dd636fafcad2b8147f5 - -COUNT=12 -L = 512 -KI = 40eebfe6488f0b052186a69a1c7d7b9dab385d96a4a4dc6aa0a19ecfd7d52c2b1a6c449654c211a561951a1561a5a4b87d6a4abe42565c7db19a1826d2719bbf -FixedInputDataByteLen = 60 -FixedInputData = 7fcd008a60bf8efa44c6b33d4dd6a17bd3e306ab4b92b18e84820d51a46d789259aebf3d2a9483e655b87633bc0fb1e236eb49b953b193bd233a415d -KO = 598b861bb11895f04292c55cb533f94bf5eff06b176f6408cb00371f8d6f8f3cc42f4d95dca7c481827d1865b8edb9ad64de3ec93ccbeb1783fdd267dc39325b - -COUNT=13 -L = 512 -KI = 93504909b4174ef2b496e0b733ff1be10081980fb290d1dddd1e1bb1978eb8538cc08b99d070342579ee8cc8e1b732d0168a4ac31dc77d73b7bbb4dfa72ed8c0 -FixedInputDataByteLen = 60 -FixedInputData = 12971eda4f7d31ca4c6e8a61bdee17575d9b4816c104c988ba064b9abae9dc12bb5afd765dd5a372a1cc8dcfa2013aca4e851507996d4228f6d5877c -KO = 40485835236b512ebf4f928ca7851dfd97340ca47bba7576c8bf692a2eefc96bc09d3f065b54b9a7f021ef4d83ee3a4b20de1834187c9757b0c94ff7c72cd22d - -COUNT=14 -L = 512 -KI = 5897114f8e59d8629922c31dcb830be0611d916570b5560f4da42ae8d6de54476b0c24f2fa0f61b26365bf3e10dfa66b83e4444ee3f0d31ef8b49d9c8c6a6f8d -FixedInputDataByteLen = 60 -FixedInputData = f92bd8b425d619e11dc416ad069006273226bf9269458e5bfe3391fb61646bc25da9a1ae8f46d84eb7fca190f56ad15d60966e74bd321f1e10265b51 -KO = dd91b6a18cc4576178c5e407f29cb8fa89d922370eeb2a0ca64fac2be6065bf354a82159432901699ad80c1d4ed04b66d6f7d111baf8513e982b3aee4a09851e - -COUNT=15 -L = 512 -KI = 00bb9bd47ab56271f9ebf2a1d7e8a5028707f3a40377e715684aa5027481b82eba028a2767a511f004c5a45ae9cf8d892816db6fa9e842c97bd37520b5997399 -FixedInputDataByteLen = 60 -FixedInputData = 0c4c485649886cb89e03d835bf398e47ec1c2071dd042a61d445b8c3e176530c8a6ccfb2e53fbe178f7c69cf059df9e3ca6f8a4e0f53709eb585f4bb -KO = e7362080ea3411768dd385b4f8786b6c28db654dfc9227b51625baf9f8a435184009fef3cddb3d99267083b3bfba83cf9915e207a81900bd5e5599f3e9dab6d3 - -COUNT=16 -L = 512 -KI = c468fa620b8764f623ada2d277830a2e16063586e25f6856ddaf3752e92c437407c45b3a016d1bbf736419d0c068496f9638be60d4b271eb7e9f8e36f656eff1 -FixedInputDataByteLen = 60 -FixedInputData = a5d14428e3615014c52af5ad7c94eaf14300e5575116ffe77643b2040f1b068b47425cfac3def7fab3fe51ce1e4f4b6cca001bf81cb45a4b940be6c8 -KO = 428b8af40a3acc941bef0ef10cc9bd5e9775b21e05a8f2856b7fa98f238c198ffa5de28172f609099d5bebb4e20e8d0e6dadeb4fec30bbd29fdfb0c6b870c6d9 - -COUNT=17 -L = 512 -KI = 32a5c0023fe271477ab321a9bfd7448d50941978f3a97344c1158f059d67b27e99666310a107af1197acfd83ca85802845fde1633b06fe07c12d8dbdbaadc22c -FixedInputDataByteLen = 60 -FixedInputData = 2eeb47fd97f9e19903379e88b3045daef4a321d3e3d0c1c7e08abbade9dddc63e56fd17f2a9fe7ddb924bec2d8fce465be8a4ae24fc67df7c96fc036 -KO = e11a81336950a0e04a7d2c6c00fbb51cc80387a34fd03d3de898f844f938457e773d85db60eea44b09bdef07d6409a280bfe0fd2b84c98513fe1a4f341317980 - -COUNT=18 -L = 512 -KI = c8c3507699f17048698bb137048217c625296518d3976c7b535809361c205f5cacb229427675c11d9bf73a4bdce5a0b37f90d977780d63cdbb2d19ea68ded524 -FixedInputDataByteLen = 60 -FixedInputData = 2f1e92a831efa78092746b64d0dcad0465d7fc10036341d612f5fc851c09d013232979af8d0ac3b148df29ebf8e4b1e1a56b9f1dbfb0190a77078d5d -KO = b1bd604d3192276407aba4efa6fd7a073b54eb55885ecfd55bb02e5ffe03f2dadf27735e2a75a40cda4cf4b74eb50e0d8fa2439986f63d867fff0f1e59931ec3 - -COUNT=19 -L = 512 -KI = 9a33e757cf42c2d30dc65cc691b31017ee95ebdd645188263742465be8bf1d52db94e07feaa588d1a43bcb078dd7546b24b0d8c49b93b80eb842f9b5ef76cce9 -FixedInputDataByteLen = 60 -FixedInputData = 223d6189923db009d9c210f6353cc3324a9ac5424f473bfee856164bff7da79cfbbc992be4f3db801d0f7ca8b4bc0fb59faf23812ab33a09f2b5c562 -KO = 77e13cbdbf69d62120cd77558ee760881de28ccbbfc4f7557a5add5503f1bc66a06fd8513b6dce037597738df8b189ae53e481bc574082c79ebb4cb9e12636df - -COUNT=20 -L = 160 -KI = c72399c48bf6c8caeea6ea7456319c59a2de8d4041c30fc8aa36600245ebac5eefacc242f05e7a65b641055d8be77ac02becfc0f7bb0de4a67e6c65f083c11dd -FixedInputDataByteLen = 60 -FixedInputData = 59b41df9d9795d24633ede71b7da89820a493f6b1ff05cb60bf0bbaeabe16a503ff28c02de012a0bb0410c48d5cdb3211f448ef9b48b8da3b7084d3a -KO = 3a343c5f06e053b8e3f69a740f26262b80b80b36 - -COUNT=21 -L = 160 -KI = 46c7556843241583cf94d8418c40ecd80204d088d11e04e02ffac1907b1d37a8ca85b293ff8362155eb48212db0fbbe994e0f331b65568e20d1fd7e9936daeee -FixedInputDataByteLen = 60 -FixedInputData = 4c80ce60761e0751209ec92c1f01fb7568bf5d1d59af46e23d706cc95ac0e24f28b977b7d45f9797e00fa98362547ecfa22e1b28e04e42e4bc2e650d -KO = f814086ca051c20b87c1abc73c7f16f7d0787478 - -COUNT=22 -L = 160 -KI = 91b5f431a76da9cafe3afbec1211619af33f5357e7dca853d143a88f9de48637586c86fbe51c158e5fa1a02ac310c039b3f1584a9da2be8e1621835f67b05d94 -FixedInputDataByteLen = 60 -FixedInputData = 06c98d29005c18ee04ea415c4bd72f770c1464039433631f7d9698b2116a83934ed1b94c1c17ec12712ea3e3cf5cf919e0298a8ded9be3cc6f565614 -KO = b07a682141f8f3a8b388c1f5cb5da57cd20f2001 - -COUNT=23 -L = 160 -KI = e77c27be914a51ca8946bee039fda6afc19d7eea01bb77ea39b2e1378d4c5e4e472b1b2065b01f7fa0803bf8a124113b15a34485c3abad3118f9365e5f9fed6c -FixedInputDataByteLen = 60 -FixedInputData = 615ac8ec1a2ed13de174664b9a111e514d4cb72b50cab9fb6654a03e1897b9c2b748b3b063f0e2039af8caa36bbd018ab1efd94a704fb851fe8e29e3 -KO = 11da5244c8feadaa941a438d010c15a433f8b180 - -COUNT=24 -L = 160 -KI = 653a32460e1d002047cbbeba895a66608547ddcee7eb3a0bcb4ec73874fa62f90ae5960e3f01699011fb1c870862a58d76b139b5e5a9d79dd2ca5e58ab78dac2 -FixedInputDataByteLen = 60 -FixedInputData = 1e9194f822cddd1d46465eab6d53e6e5766bd95d475dc67966effd55c46a386f269651a3f902a01f7d08be45c406c0b5dc191773bc9e6d72806d2345 -KO = 4c0d7be1f5a99545ec7d8a1f6cd38bac979eae74 - -COUNT=25 -L = 160 -KI = df70bc7d48bde7288815e5f395456d234c5a4406e91df7bed990a5973369d77b263d59a09ca51aeaa1539755626cd10ec44120449dcc5b0034e905572b2e8b02 -FixedInputDataByteLen = 60 -FixedInputData = 992c06ec775af76f9ca02da93377d8d58b649377417aea2243b76dd6ecfb82b10b4109903e347ffae25ccf2aa6043b38c8131d323fd27fba15273e4d -KO = 50af04b4a32d3679f8da88b88d85d7e383a6bf59 - -COUNT=26 -L = 160 -KI = e25760b8916dd8be2d7cdea76ef4e4112a3fd64c8bda98e426ce8b48998e0e652db09984a276dcbafe488172bb02feb8174b765b386582f8c4465ad5517b0848 -FixedInputDataByteLen = 60 -FixedInputData = 31d92fb038ca9ae85c610e8cdd23046c07f33e65269059707f16a0e7e4a4809f412ee548148a1c0df260d3b6e557b1b1d8094a9ddfac30c258ef40ba -KO = 09c0b5e99d095091f2355a38d842aa0d850e3eef - -COUNT=27 -L = 160 -KI = a47a7e4e7bf13a13d5ada480610885f80bf0ced69fa3b8152e2e10285081aff9acb24edb49aef96148dd69ce8a0d952b8c593dde6e4a8bce79281a051ecec917 -FixedInputDataByteLen = 60 -FixedInputData = 98663eee5c1c6abea34db1565d19d3c5f03a73c0c71994e8915928c81d5b7c93bf1be47bcc4204da77a81e42e7b3274823b80a0b412d1917067f21f8 -KO = ec7e41cdd32e8b0248f2f238bdcb4b8f777f93d3 - -COUNT=28 -L = 160 -KI = 9b97f1fdd00d98314dc353158e4a3d39d48818d57502cc5233d903795cfb70fc1bf8744b814d86ad79185a6b7f44ab6472efc2525d6c13371d4b55350f259a03 -FixedInputDataByteLen = 60 -FixedInputData = 82e924aa7d46ce4ab8040cdc30e432956e2c553d96a3795f0628aa97acc3719819ff4ce681a00b10975e4f24fcc2b5f64f7ffffa3df46d4ed9417a7a -KO = 19bcb8a57fdd731e8f52dd3dcb1153dda0d65d8c - -COUNT=29 -L = 160 -KI = 2c188a9465a0815c1adf7f486c8b5e4baf646e142ecac5bc8f8421b1de690ed930e565b556f60900b62687b6f3e9fe8512f53d3586b95bc561f6b54acd13a6e6 -FixedInputDataByteLen = 60 -FixedInputData = 3f0cac8343e56cd40c0d2c3c20e2894a8a0554e0c3f01e12405998c93577077afcfafe142bda79457c55363ee4023391df05326be3db804c3ed78dad -KO = 10529e0193bc2dbb350c18085bfb523fb286e686 - -COUNT=30 -L = 560 -KI = 4810b904e823f5a450f727e858fdd1d12ae11c6c660b6bcc9283c9b67509caed99c2e40da3ed2aa631164ff388a41bb8cd029b59c843d242e1fb1608b2137ed2 -FixedInputDataByteLen = 60 -FixedInputData = a1dc8b6029b3e0865248f8bda2aa6ab954662ae29c9b9d777e2838762bd80bc8b574acbbd9c5b447e9e52f289f71e0c2aff12d4e236f786f31c87547 -KO = 06b444aba5d57506ab20da4b510a3c6cf7f2bf742e6086e319adafb5b09eda42ec717c4f00167a0e4c389c2cd2233f8784affec66b0773b9de0304d765609c89218995eba420 - -COUNT=31 -L = 560 -KI = f47a21fc6a932675d29088d89861906a24c8d20f883d030d6c78b4ac5642d1f22463302be4327512b27c143baada4f872d5eee390f3f67c5c7a8b2c6717d8e0a -FixedInputDataByteLen = 60 -FixedInputData = e2046d4248c97416a13b3c7a318c574c58a08bcc2c4886877bb89a9339cef19d504bdb994dc90ebeb912f64ffdc98c59fa987a17bf79c7f53b63ac0f -KO = 13d3bbd871a60292197b866c93e8284db118a5dbc7c5a6888e2a4eec5cbd3a97075dc144006612491b134e60541bd79a3345883cb74f6e17ceca988c27e962b9b98a0cbfbf57 - -COUNT=32 -L = 560 -KI = 1eff246adf7c09c3ca1cf835f0b62968e60a1221d91d77fbb8e036ff0d620a802f458f4744ddf21b56d9db18246f1ffa84754f46fa1ceea10eb4b6d2d2658bcf -FixedInputDataByteLen = 60 -FixedInputData = 5edbe9fb9a6008f0d357c805ea86ae96a97802e498506fbecf22bf3f9d63656dec97c96af4dfb3eaf02ee3d94d1a36e6755672b93eb523fd33d44a89 -KO = c8d0801d10de5eb16d9158ebabb68d039b71f58bfd8453d58204033b3455c50a97c5ac8335b9f26d919424c8dfd0f0e20a4b96ae5fa2602720ed77e5afedee4bfba3b096058b - -COUNT=33 -L = 560 -KI = e7a67a5421bdbbc64115363c51e872c0f538c379a6a5ece3bca852ae6c2eed578fb482abcd768364e1325c6e753c2b660c50231d233d7780d4c0936c6f97218c -FixedInputDataByteLen = 60 -FixedInputData = d6849706a79771093cbcda63c35bcae02ae5df29448789a2d1a3d44a0f0585e050339f2a1f9179d918bb1a03d1619d3e3e4134c3f71500f754864866 -KO = d1cdf13749360606cc5387846cd91ae69f1854da91ffd3fb779ea56500ecb0f11268a1029d273ee90c5b60f02459ba825cb57d03b5b2e90c2cc1b457c91ab9c0d9d31a4aa4c7 - -COUNT=34 -L = 560 -KI = 7a178e755f065f934e642933b03549e3ec0489c09159539bfaebc3f5f1d5b57c95b63a3db13fcd8be38c3fd44e52373bde18987c9a0bc9d6b6168ecc356c60a2 -FixedInputDataByteLen = 60 -FixedInputData = 557ef448b1981c924e57769bcd6ee5a3433115a564e80094e710186fb69da78c6ef91c3d186d47520d607e151fd1142ce92c0d17142f0e6c85172152 -KO = 03529fe6e5f9da199bb017bd50e0aa375fb18863d3d388c7e33f7a1061c89c313cb2f7cc5ab8530b588ce94392b189a861f8325416ea5eeeec75587252ceab39225e1657c404 - -COUNT=35 -L = 560 -KI = c17f9dd883c072e8a6c30807205d00cf364bf0afbfe3624cbeb7db149df46923e6d7eb4f51457ab6980fe39cfc6b86219f36cac407f8d0ff3bea96070778e150 -FixedInputDataByteLen = 60 -FixedInputData = d867fb8be10ad341a596cda3e06cefda63df11eb3ce95a4a3a4f94bd57e62ba8d49f215656660bc75097ea3d734460685775f115760e3a92df7c1835 -KO = 381416b557b97872c3b0dff884237317b14cad2b1c4f3d3193dceabbac28e17e53be13db0735b9a3b3a7edd0c628521698a8ed62a2f5524cd0373c5fb3d336c85fc3ce56dc09 - -COUNT=36 -L = 560 -KI = 8e9b2d0b62cb23648fb9a78d3319e1ddda526f9ab3a7c04951bc7326cb642de239818b7642c7eca837981acbda16c15d26780903e36dfbc45cec4c58d9b79408 -FixedInputDataByteLen = 60 -FixedInputData = 6162ee849887a88f391d83a3a5bc7edfb89ebbe98e3fa11186da60b387db347115d397a43fd6c93ac601fc3fe5aea50092338d24b7f93c64ee9806c0 -KO = 9131fd96ea55427dca2cf8986d0e8ec2aac154bbdd950aeb72090540b0aa6ad6876366332d7d1b232c13406eebb75eea59f0f39b5861e39965ea24d6dacdeb4182acf8d9ec5e - -COUNT=37 -L = 560 -KI = 18d68b516d06378604b27d07b8bb8dc44825e38dafcf37cdec42cdc52506071dcb7d7cc1dda7f689571b8a9a06e88132e85577bd297adfc9b353576af426ee4c -FixedInputDataByteLen = 60 -FixedInputData = cc4b451d133a0ebbbdc86aabbf489bbf018741d8adabe1fdbeccce359617b63a2da726acd0bcf8a220e076c0962a56c296771fd10296948fe8abbc9f -KO = 581a7cd2549d3a743382f09364efdc82e171f85a12d8b929783f60f2e766788f30c89119ceab4434130d3ec18cf1459c2a99ba6adc4ab720f2dcdcf119262f8f32d59a623457 - -COUNT=38 -L = 560 -KI = e36ee2d60ecfe5e53ba2db327a842d14d27e685d3c3a8160d9bed8e89e54b9f16e700017e09b28bbe91e1141e70be929c3eaa87e610a659998d42f34bbf63ac0 -FixedInputDataByteLen = 60 -FixedInputData = 9eb07ed7f520fc1e918bbe5c86ec8996c9fce3eab4fa5ff9454c300ee0a378933cb4938a912af02eba346cdfa37a761aa5ef24629591bc5bc60ddad3 -KO = 4d56909fb1f02a2a68ee2f0b228d40f102411a03222a3a635f8d09235f382562df550695734f214fd728ebb44046621a203e5d8e4791bd5983771ff8bc425dc7538c92c47ae6 - -COUNT=39 -L = 560 -KI = 0267f5598eddc9d579c5a981d39b6d59438eca9a573ab52541db74ed4b907437eb6f44a1ba8cbd2c893adcf56c9270d6d8600f2360613a3227ce2e6e6a7e5cd2 -FixedInputDataByteLen = 60 -FixedInputData = 9c7cf2616131c109e5b2cf1e4a7cddb09282f06bbe7d726059823730164a6ce9100bc2560113ea40290b3cc3ce713c73314bbcb40997fdbf199ad345 -KO = 89e9d0ee1f5fff3f45da9c1b38e853afd871f0ca3d9d76ddf5987c854d98de5af25352c8849d3b8f929d5d7d435909ad3ba88212b60750440fcd883ab3f0fdb495618c30ac17 - - - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 128 -KI = 99e44ebe8a8d772833a152aef81f50315748661f1c7d40e44f718f68e70342d222e00419abe35cf8daaa6b781a1c76c2271eedc3c82b5aea8cc6e715b92074db -FixedInputDataByteLen = 60 -FixedInputData = eb8ae3ffffd4c62d0713d61321246cd4bde302ceb4bd71745becc5138537de70de404c3c027c916dd8c17f7a58319fa5011751a1620772041b9e638d -KO = 40cf9b444bde411d8a447a6610c78d66 - -COUNT=1 -L = 128 -KI = d40c3950c9605181b567c8fd909ac3a6713b48df123368dc6379650f15fce966643883e15c4978ce9792ab4402c7205aaa44211b3df60bf77a2162255f94767d -FixedInputDataByteLen = 60 -FixedInputData = bb3f3902a89946fc87366494da36a9866c155aeeaf156d5f9b02933bede71f5b611080ce7c59620372da887e544fb351201f4d0a64f248d990d224fd -KO = 4e10ef43bf0152110fa04cb30a93468e - -COUNT=2 -L = 128 -KI = c54389513d50069aa3c5a191ea246bc54808731692e8b55413dc235da78c442cb2a59e2e2f3366f5369215d9c0e4c6a24e1954b0b003958eac3295f018721e97 -FixedInputDataByteLen = 60 -FixedInputData = 3032f1981e9cb5956f48bf3ce08c5934daa2f668391eea97d23f0700e6a991f329453fd59601a53afe98fffe7ec1d1157109ce5309aafe451f9aaf16 -KO = ba8c92a68ab0f665a77179428439696d - -COUNT=3 -L = 128 -KI = a69cad965704ad2394ecac31339a2127730b436e44fc07c12fcdcdd90bf9fa6b1ce1ab6950bc361864f8148128fe86845a5433f662796fc855f41ed395678cf6 -FixedInputDataByteLen = 60 -FixedInputData = 7be28da9f5a36b5f2c4cbb20d60781b89ca839e2468ef3f2a6500a6b676dfb116e4c7d9700654f22bc10a6258e5907edda7aa41e9c61e6d726894860 -KO = 2ef58b955b19f5913f1529322bc2c5e8 - -COUNT=4 -L = 128 -KI = 4840a939d1165bda146bac0f6f4f23ffc6c449169b8b74b478e0a9be5ecd7b734bffc2aafe8af37a93f1a4a4e6c4757448dbf1becabf6672267b6eb8a866638a -FixedInputDataByteLen = 60 -FixedInputData = 7554e95888b208c289fe0c7a7b19dfae69f1e9013f1d38196e43e7e49886e9a77ca68a7538107919609396d12819180f4c3c6b2330b68a61b062aaf1 -KO = 4e5cf4ec1ee2cd10f6be491ee89f8bff - -COUNT=5 -L = 128 -KI = fe2088b1a74487b4d428d09126c1356a3b89397e0968839ba05e48b21555645b352670c7ca5c61806b6844c4601347ef931e39e6c2a77b2d68673b408c4cae17 -FixedInputDataByteLen = 60 -FixedInputData = 471c91f3d88851ddc8eb590ebc1349e77945c98d7c4ee011ca5c56a956ebc8afc0909924ba444818032eb06f7bdd9c9002a0866bd6c3df77594b01c4 -KO = 6b3311cc71ae26c2d8ea0aeb38c63915 - -COUNT=6 -L = 128 -KI = 5cd4252b6be5552f0f60e308573880cbacdea2544f78fc6c3bb52deae075fa094aed4af8f7c074ae4ecb57ab0dbc3788ce65425afecdfad6a52f4e10f90c8ad2 -FixedInputDataByteLen = 60 -FixedInputData = 749d8609a30fa375ccecdf5747f03a83f05f32205dd437b92a4367b4124dd7c6496fa8d8ea6ca2c3fb6f1afd9f5e1079f1f507fd36893515bdc03a2d -KO = d5801e2970d396dc10a4a6c3b3e3cbad - -COUNT=7 -L = 128 -KI = 1c9cc59d0a887e145486c61004d25baac2a1fcbf0f5c5f0cdb2205a63988c9e995620aaa0445599f613968e3d2bd3d3b4720b0a9e8b37e843c07c0b4a5f36d08 -FixedInputDataByteLen = 60 -FixedInputData = f903b2d3d6d3108fbf6f2a3a4dc9d1c0df50535c9bd37b214cc01c7356f91a4805cd134552a944299b5b7e909f8d04a8cac96e6a55face1d60ddc21d -KO = bff4ab72a0284d60c94743c359b34a3f - -COUNT=8 -L = 128 -KI = bf020ec697b69d82ad83a53baef25b5ce8fd975771db56c5810070c6ebc0d0cabcfefc15f743887fb2134c2db2c78be16ea1df0adce3ea68fb6533cf84d53429 -FixedInputDataByteLen = 60 -FixedInputData = 6eb1b9ac4706e4552c1e2ac0f161a166f16b78c8637ded64cc21ba8c7251049836cfd620cf5985d9d6b19f5dbc71faf877fa46f4a1717ea93816b0e3 -KO = ce542afbca195f30cfdf733628256ef0 - -COUNT=9 -L = 128 -KI = 8bef39c8b413bae2e58226689d549e3edccb74dca41b2ca072f225ec3f6cd71943a7782e4593da787099cac4d840f90d77a1cf298bfa033cb1b783e6ee09705c -FixedInputDataByteLen = 60 -FixedInputData = 144782106cc312ba173ce52ab981c937d2dcbf550bbcfabb5b63e7dafd05bb49109cc8c5ac88d82b8ff9b011171b6792b92f1270196bec4498e508ef -KO = bb4a2c66ba3b10d8e14e6da0ea577094 - -COUNT=10 -L = 512 -KI = 25e6f668f268481ad4ebf7c75de81c1d6918e7c73e4412a9042cf065e21d3503ed405e3695ec6df05f18c9c4ce322e931672ce76dff1cfbb715dcb56bb5cfbf6 -FixedInputDataByteLen = 60 -FixedInputData = f1a448a7c6de541300f3d62d498dfb6c48e3d630dec69dabd405685f8562994b1e89241ade1c8c4466f1c637ff62e19a31d077669dde48d50039edee -KO = f0642af928c113fbb35d6db9d9078fbdbe338022b7275ed65d1844832ef947e61caf51769d71481abee18c6850b89361436cc6caaf18bce151b030ffe148895d - -COUNT=11 -L = 512 -KI = 22de134a92f6a02acdb19db230f68fc18188d1cf4aced3ad34826a7b651a3afb5455106a21afd8b5735312c640ca6c5ff77392a64dd8d18fd02c3ae061e681f9 -FixedInputDataByteLen = 60 -FixedInputData = a5276ea35edf6d54786e50dd81ed36e46ea149451abd2f675de447b98415571d01182bb1f281d2ac7a0381481e66e9aa7bff382f74d22e23e21d81c5 -KO = 32d0c1061fe796b07d7cb54e41e43b48b1b22b36da10a23ad6ec914555eb21fdf3155ea1a41ff6e26b3d5674103ab47f8581ed829514cbfbf3d124d1c5dd2c25 - -COUNT=12 -L = 512 -KI = 5b375abb10a01db1fdb88d1422c4bb3ebd9fb9805290210cb7ba8dd3ae99c8d2c8d944f53c674fc38ffce5a3037bce17d3b74a31a57bb8241136e95830196589 -FixedInputDataByteLen = 60 -FixedInputData = 778951953e9bc340eb9bc171989e7d98af74ecd4c0d9b033bc565834e599758947151b755d1497b3b928ab3e923353c3026c426cd79fe3c52bbf958a -KO = 38721b1a7bec0e9b2f8ae28d9a1aaaa14194426d98349c42c2f3cd8b0fafa60245beebff8175bf9f9f0f8b46625cb49b7a3b0968ed60d00a351143087e44c183 - -COUNT=13 -L = 512 -KI = 3a816c5139b39395eec72c77471e4b3f38cb8fa386acab8134fe7b6823b542fcdd46f9d842d6f27e5b9ddc696066c2a618646ef1d17d0deb800419c18834c737 -FixedInputDataByteLen = 60 -FixedInputData = 57172529ef2290518a31451511c5bdf50922681d65f29bc8e704195fa1782c041e8539aa54c4dd8b44e5e5a27bc5598855cc5d27398648a8f863154c -KO = e40141a6431c60c894d4c9f56bd5de017b25e1efe5e7b526d476c0cf21a1ae3faa56f3d3339df04d5a3fb1e925f026b77c0eea382f27060d2d8b645f8245a748 - -COUNT=14 -L = 512 -KI = d40a9c563009927b226c1860f93a1aba3afa791b77d1ea2261c710d165913bfe80e2520ff5e990eb2be277421bc6071527bdf89b18a982c137586993c459319d -FixedInputDataByteLen = 60 -FixedInputData = f8f9102db86fb95f611cf28aaf14ebd340a4d2eeb3e351e504ec0d79effb9d7ec89b6071714d5fd9176e1899ec61882c3ed5bc297e55a6843b5b25a3 -KO = bd358145c3e9ef68d2f1da6000eb798f93761ea771b8802f67f1554cba8b7a07c61ea6ad6ef15045197221d6931c66a665add9076c7e388024bd143742f76da9 - -COUNT=15 -L = 512 -KI = 0d57c04554b517e25cf24ba0bba0b701ef494f4c0106474a35ab9954abf857eeca105d357bc4e462671ba8ace64c867b2c4313ecc9e2e3f7353d60862b0eef42 -FixedInputDataByteLen = 60 -FixedInputData = 20a05555dff7fd0e73e9f1f2dc9abb7364db0de6463a260e5e168166db80b69efe5f8221f767510aeb0a7f2f1e78b3b370877727a66ffb6cc5f8bb77 -KO = a13bb350629805f248e7e98425ec83a79a114fc17d022f597796c2cd54fa21457142632f492b7f7fc1d8d8a345ce8f750e57d0550084763163e5a85a1cc4f519 - -COUNT=16 -L = 512 -KI = fbc48bc6968689d6cdf8a6e955969e00aac8b31c602b5d60dc02bb31579e9c12d9a0c0312164d0b08918d3b23986d1fe073fe47d58757b5092f379bee3ce361b -FixedInputDataByteLen = 60 -FixedInputData = 05916fad1f53d17cdfab7571e80706fb6956782152f1538d8b7685aedcfb98e4872f0cf24ba4b171e08baa46a938493e7836ef4f79ca793272f0ba83 -KO = 1dc3dcb8e1046085b581d996a28c0844bb32ca0a2f24db73167e8ea0662235c0c5cb5a3b3eda85158461a795894f2ca5ec29521726c971dda0e57f0971317560 - -COUNT=17 -L = 512 -KI = 3032b4606a3e039f60d99d4d745ef6588c50636db916cbe047bc56be6cabaf292eb32b37387309863e9f7e44c33dea44a7fb422e610d22df0a7f67dc388f9376 -FixedInputDataByteLen = 60 -FixedInputData = fde3b23b1b479b10a4bd61eb24898b5a16a4a34f3089335570bf21c7c5cef3fd75e83df3cea8d24b791c9aed6750267c25d262c47f022f53404b03b1 -KO = 0c2a0a9b29c4ae46f4ef343215f53689550ecb240491242c0c196c7a372aa51e69b1277624ec1ef37ed385ab8485de8fd06ee40090a8ff723c2667b052cc1222 - -COUNT=18 -L = 512 -KI = 2daccc2479e33f34615d06dc4ea1efe40edae8de2e2d23e609a000e6deb2f69ce43131a5b94493cf673ec81b49e75226aaa6122d49f986583b6126b517575af9 -FixedInputDataByteLen = 60 -FixedInputData = ac0878a19065a9a3ddf35cef8127ca9b9da8bf58d47f746179cf3746762e5402803d5b9cb5ea6843ad6fd689f0c12cc7ae598ccf9e74ac1ddc34ef3a -KO = 1d8819cd6c1edbe99d689853211e0b3209b3e8cc9af3cd7de32577ff9daac39f83f7947aee9d1ddd5e870e6859e0059c0fc1bae54fcfa99165d5b504c65daf1a - -COUNT=19 -L = 512 -KI = 91762296e6e554cfc6bdcab8342ec6179cdca6a7c6078509618406525d6b43be1b8b6c95163809af18593ca8423451ac9731b75bd8e17bf294896b139f192cad -FixedInputDataByteLen = 60 -FixedInputData = 44f8bf62e78e36f625a0ae614bc121ee12e623d1891258f89f0704d1ed28ccab24a6cd3ec84893baf144444443a0a8fea3538a8134735efc444334ad -KO = aed2e8223fb35192b60df4b7d600dd4c00139839bda917ed06d473d9976b7197c8eb5753d739411eb245e4bec1dc4b2653bc8daecc52b6a0e119e53675940bb6 - -COUNT=20 -L = 160 -KI = 83ebb8355630f2b58839e69c89498c4ccc7707abde0596e1faf8512f27f542f24c12221afdb9bb784e31a67c611f1c1344ff195937ca16c6fdf04fc7e57b80e7 -FixedInputDataByteLen = 60 -FixedInputData = 47f74862f78e1d0066e19d487a5dfc46e21d0babd384ffa0c53ead1e6dcbaa0c842d99d89e061044852b159564220fab97d132839297fc14c2aec214 -KO = 7a69cfbbe7e00b8abf9b7e2d32732fd5740e650d - -COUNT=21 -L = 160 -KI = 55efdf3b2b65f0b7c3b677a75b5663a58b90b0291ae095fa2efc5caba92047f02f5a0958468927fc33dcca00c25e5189e604145819e0ef23fb2e7efcf976871d -FixedInputDataByteLen = 60 -FixedInputData = 91f7254da8ae060f9fdcd61532d20d3371887c6e2a32c74f2ac8f11454be81b35ba4db4ce5d6f6aad72ba4b159b218c62d59528dd4c06409f754b79b -KO = e93da478b4c53151660edebc73b63cbca89134bd - -COUNT=22 -L = 160 -KI = 85387366ea924f312dcf952a1cf5931e35c7c6d8dd021eb6d46ab70f31548e219f370ad03d1f9d6683d6605dcf484ade7a2bad84b2734ad022da27410e0bde88 -FixedInputDataByteLen = 60 -FixedInputData = 5cad762b5fcacb7a15663b38e290a26580fc10deed29f40697b30ccb5e7735949c0c4f39ab964e824fa3906303a38cce8c79e60c4e8f0d188489ea61 -KO = 5894d336b9d4748fab59463375af1011d8cfe80c - -COUNT=23 -L = 160 -KI = 2daea10122ef8b4b0e101d7bbce9fe1300303ecb1546e05f2f20eeeb1da818197ef205883203e3a7a63c55bf9f98b56c96c1636c2e20c6796e2c6e65b61d3770 -FixedInputDataByteLen = 60 -FixedInputData = fd1f08562d59e94e879ba731c94c615360876383818b4857e27f4197c342097dccc2361c05a2d5493ea8f916b9017706f492e9e665db872d4d64818b -KO = b9121e3996a48162b3e3e2fea3ccb62fdca23bbe - -COUNT=24 -L = 160 -KI = b189e6fbcbb4e21b644c0c7ad5eec5cab9a3e9eb9b50288250eab8b6d42bfbd07ff9375c398fa5abcf6ca54f685c682502ddb8a5d3de5f74818c56d3220bd157 -FixedInputDataByteLen = 60 -FixedInputData = 3789427f789b6b9a2a0e0acc0407abd8268027e51f96f7dcaf7e29b5641d7b6c20d68d220d4158b15423fefdca368cdef33135346832fb0fa4d6a344 -KO = 1a12fa4d309f5779a1309079d1061d5a30765441 - -COUNT=25 -L = 160 -KI = 1d5d8c92d2041e0ced4d518af459a1c5da2caf92f5a51ff5b4d4e6a952fddd8c9828219334fddb5a656515536da9209c1fe217c454073e66fd0d1b50c589f36c -FixedInputDataByteLen = 60 -FixedInputData = bd4ea98c737175c750d827886d06ccf254c25c07920e63a1905925b41254732ca1bd01ae3b46d03b4f0aa6b2a57e9185f374a9ea3d17a9f7e7cd05db -KO = ddf16cd97ffe986f2dfb2f9fae6a3dc6991b36e8 - -COUNT=26 -L = 160 -KI = 594d831d545c52db70f4ada7444e36fd52c8e1c9bf07d6c5860939aaca0e6bcefcee9095cf8c18c47148ddaa3eb3616c5a6c23b7a3dbbaccafa9d4d0f2b3317f -FixedInputDataByteLen = 60 -FixedInputData = e5c7efecfc31689c243d0347e4ce584f7bdf9f7fba49f45e158593166a2c349a1392a6fc99d211c1c664e3f4d152e8de49abe5f0458d4527aa151e6f -KO = 4c391732d10bc7e1942c5df6b4db8c068deeb005 - -COUNT=27 -L = 160 -KI = 8fe4062f24caf6b198a0db50ced04162724ded73b2b2ca06c178dd2061ee106017de75703e1006b1cea493ccd90e5b02fa05fae2802794e9da32c832475e66fb -FixedInputDataByteLen = 60 -FixedInputData = 26829da623e531417286b20ef76fdb38a158acc88fdbc2f41a28ea0ead8f9cfa20035ae7df2178f91fe1d0f814cbb64093d903cb33abeb33f682f996 -KO = 936d26b38ad40aca9f7630b972fb8839e316189a - -COUNT=28 -L = 160 -KI = 29eae32efb339c42e1368c055d3a6f184c8de1f2523d8a435d3a5d0eeb684e15c2609de4e0551bd8da50004e7461638a4ba9668692c883d3d216445f74ef12ab -FixedInputDataByteLen = 60 -FixedInputData = 87f624c253276fbc0916dabc805f462d2f2a170b6b80cc7afa67578a2f4a4214b631a266a772dca2df8ed5fa1099e7b7bc5d988455420840997e25bd -KO = 6ba092935d7b060f16a617e7a4211945ed236d20 - -COUNT=29 -L = 160 -KI = 0e9664cfc043d45c8899b7b92167893a1dbd72b4aef65f74a05e470ba4c5bcbe097ac21ba5f9e0cfdedf6d9c1afe698f3f8ebb73d7273095a23cb56397f61908 -FixedInputDataByteLen = 60 -FixedInputData = 65dbc45a4ec1ebb24f6b4634e6b6f406f40e0159efb8caf2c99ebde0d83a3a6e0d99d89b1f91508e8fbc9a89c7c73d6f323f0b79b7bd176d76fdc5dd -KO = 2030f64d7a164f0295b26997ad74197507c398b9 - -COUNT=30 -L = 560 -KI = cc48ac414c0b1d7f577487170b4566968d975a303ee38de83fd182bbe3e0cda6a2468e42c0f46d9930393f0e9d80a0f19a1daefbcd1093da2189db5bde7d067a -FixedInputDataByteLen = 60 -FixedInputData = e09ceaf3eec36b490eee8bdc7d517303cca63cf06c0883b8fbc6ee0d479b178c16c169d71f3a3686107f0ae4fed3132a7b8f1a09ebb2f8deba6c373e -KO = 7e7ab0e0041c8cdd22856dd813dbacf946aa8e368c7dd458eb5e0e60d76b4541955da281b155f43754b901048617df0a707f8cbb16bde50349c6128501bad746a93cb7feb817 - -COUNT=31 -L = 560 -KI = 5583bc173b6b8f7476138fd168b9c38d79d339186d5d86357c98375af1ec2a1642f95a4f5b72b6f98bd1c731a59ee3909b05ebbdcb49e522d44c220e4f0d2e8c -FixedInputDataByteLen = 60 -FixedInputData = f43ae1701ed4195717308969ed86e0a44b8c024c0e613f63b1e1362768534e14ef3c3052597027a74409dd3a348c0cd3efcd6befd602469126853bc4 -KO = 851d154136c418f1ef3886765a1dba7bf10971a8402b01a799524dfa5519ebea4033c4ce56968f17de4790b014e21940311b1d935cc5e3eaa0186c6ff4f214a643a17e957716 - -COUNT=32 -L = 560 -KI = a2287c6f7abfade3dcf1b7f27ee994d0740db72fb8c296a16d9116bf7419a6dbec9f16118a4947bd6a7eb383c8b083261851ce2ba370a42f9991b1ebfa8f4687 -FixedInputDataByteLen = 60 -FixedInputData = 0bbd5a45ab8877c11fcf70a05a43e73774012658167ac7816dbe358cd20a28e191df528c5be24fd3a6783c940ac8aa7e41a82d475aa791787c739623 -KO = 992e69ab83eeb9616945c42a302e374379667b25bca67cd25a51358adb1b7110b7f285ec383eb66d668fd4a8e5f5f5be10674f60e2ec60861c45dd51b093c63de7026a5cf602 - -COUNT=33 -L = 560 -KI = 924f3f8fd6a8e732bac9f086df100bf6324d800240e3d360ed96137d070cdcd0152dfd2429b166331874b665d1bcf7a2a235a774289c022c75ab3b6a31616f1d -FixedInputDataByteLen = 60 -FixedInputData = 364c9b186eb86bccd04794e7fc49c2cf31c98ba4a62e1d2b8a5d4130e2b50f66c434ee31816e5ece8cec54313d9ca795a8b8d61db2cdb9bdfd3c4898 -KO = 73ca47bec34b13d725a1082143edc0e79f9cee5596cd29f17123154189722cf3339f6b5e787d81991657075fcc5ce87d4be2759641047df5a9f988f421d9b9526870e06d1e7a - -COUNT=34 -L = 560 -KI = bac91c7a57ff903231f7d34e1760b93a7abb84e6da8cfc858401a2022f2c7b26f904708d8acf18d3b1ccc28e1d7e805668d4f2992cdf491c4a483d148ffcdd8b -FixedInputDataByteLen = 60 -FixedInputData = d56e60b3837d852ff60fad262ee717fbfbc3a2e41500c7a7f268477fdd614ab109c77dfb2211757923821824bea13cd4d51bf19556c239669adaa577 -KO = a89124093a28f6e2dbddcaa90878740a56f7d9cd4f2c325a462fdad70f1a223ed6a88d3609ceddacb630bd07f255fa44daa88f5c88676c370203c21c360a829a7d9ac0bc48f2 - -COUNT=35 -L = 560 -KI = 2cdb9f3e6de03dd9c92aee09bdca68a0e27419b35ebf384977902d06eed276c3efd836b31306c5c72823f0b3241e1c9dc851495bdc2c284d72307e948a369300 -FixedInputDataByteLen = 60 -FixedInputData = 72e8734ce2d84c751102632ec936285dc25e6f89ee071282b030d7bdce55b3272fced3e606c26c854f874b7c4df6c67dcf0885142dd2eaf53d61eaae -KO = b5bf6e5e6aa46ac3ab5adb5896cbae14784b971a339abdbfa639ed2d21615c7b698f7450cc75f9533d38d89e84d8efa98b472eef31793684a8bb2c2455546b9f394a42fdcf57 - -COUNT=36 -L = 560 -KI = f0f5b943fdc20655a6de52a0e4efdf2d2d8a277e1fcf80d440be1eb5484356f6abc281ae3278cb883843d14346c58ed71b3d8178cd02db671195c9eb2bfc0fea -FixedInputDataByteLen = 60 -FixedInputData = 80a184c9e10ed6054a81e8b9db2867f0a0745c5ab4a38837e2814a25e043f962af71cda46194c0102f327065fc4f1f3096ac9ab8525dd301c4fd4505 -KO = c7f5c9bb789a8ef843a21c8ee59e49f811a5b139edcfd1e8c76047bdb5c0f2ea2abd56c7014802b7f46c552caf19d378aeb37af40b00b1cf51203a550f585c11a98fb9cf17df - -COUNT=37 -L = 560 -KI = b76aee7a5fe54304e5d65f0c194aebf203b19c630aeba9dcb1db0ccbe074bd1b7e35c005b72adb5a2a2945b80b2699aef025b8e36127f7ce0d799e6bdd0ef4cb -FixedInputDataByteLen = 60 -FixedInputData = b6856350fd2bc5c9471a587bcd8fe77975a8a0f36d6bf3b5a62a8019c490c00f4729b216b06da575a256b9c432148c8585da9cf36893077b5b24be06 -KO = c159bde18c16ea92240769223c33fce7d4676bd933714e520281e5d2bda3303561958bf9897b9e8ab8b8a2ad0587d594c6bde30e779926f392be720485a100e6f579b16f6122 - -COUNT=38 -L = 560 -KI = 3e859c698f8d51b1eed7525b17e4746a2ac94cb15686b4497cb96f539d10d2b62da40a237ad7a1fdaa8e14f04aed4cad0565933a0cf146b3d1b8888d6620bdff -FixedInputDataByteLen = 60 -FixedInputData = 137e466638e5d566abe8e0c7f27b3116fc65bdd3012f2bd075a1abf464aabe971b82aaeb15bb4b68aaf0bdaa1159d4a950a5b43abcd639775169a32e -KO = fd6c67ffd8ad9b0a8081c85b4497d6b960099ecf601a576f3992fe76410f869401597afac2ae26156c002f6c0da0e6be4e2f65a5fbac6fe62f2b6dc67638278a05c0813d7c97 - -COUNT=39 -L = 560 -KI = 3ee5f9736f40fbf5d9ad41e0f65d8fffcc1a9475804ea510ecfb13e89055f019fad4532bb39ee5cf994e8c5cd547d025eae19432b5b0e551feed9e9ef00ff077 -FixedInputDataByteLen = 60 -FixedInputData = 6af1515596c5350169b7fa9e10d56c43096d07040fa4a734969a2c204acb22d877494c1682d38ec8c9ed60cf2624d0f24292cbcabe05c36cb3f385b8 -KO = be60ada64f4c80c33ccf4e947c7b1b135317acbc963b0681efe23f3ddd32ab8b090aa52f9ac928521fe78a12cecb1d9baad827e0901d132dc3b374fab62ca61171c43fe2ed13 - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineCounter_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineCounter_gen.rsp deleted file mode 100644 index 02448610d..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineCounter_gen.rsp +++ /dev/null @@ -1,34088 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "pipelinewithctr" -# KDF Mode Supported: DblPipeline Mode -# Location of counter tested: (Before Iteration Variable Data) (After Iteration Variable Data) (After Fixed Input Data) -# Length(s) of binary representation of counter i (r) tested: 8 16 24 32 -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 16:18:21 2012 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = c6254d95dd108e9bb29e0053ddeec351 -FixedInputDataByteLen = 51 -FixedInputData = 22f498fc9b8d4b72188bce30ba9875fc2b0eb3fe76874d85426e6e5b3b237c9f445f2da20a60ab189802e2c152c4a3602aa342 -KO = 1e133a952df55a11ee038120375f61e7c0162842c817160693b1f39dc0b795bc6f3691db775cf3af4b0a9f69fecbe99679fd4b4873dda743f5c6a2d2e873f26d - -COUNT=1 -L = 512 -KI = 89fa4a3c5729695b1f223a377c0c8580 -FixedInputDataByteLen = 51 -FixedInputData = 7b0511bb9fe28073162dc8503b6d0efd5f000f1992ea8bcee520a8221aad429fca18f33678d6d8eb92c8be20e5ab0297e233cc -KO = e7901de786498171f3392b7640becfd8f68a099d5f965e8440c7802dad722b4f3eeccaf8837d8426f600cb0ac51e6197482e903bdaf23ff2c3708fef446dcd67 - -COUNT=2 -L = 512 -KI = 962d6e99c9cdb56ebfcdc83ff2b1cb0b -FixedInputDataByteLen = 51 -FixedInputData = b60d4fae8b06304a06e663c2b10b5f10dd7976a1f918b8c30e072c83d68d2bb1d169a595aebc468fa789610e250e1b526dc07e -KO = d4457b8807e46d0ec2309ffdc98282d3b115ef2d9d7ef47ec8505ec4a0752aabcf0e2901fc79e7a7688ef59bf2a87dfd8a2ea47b6d903274ef8321f6ec7d65a3 - -COUNT=3 -L = 512 -KI = b4f7e7e309d75d9e817d9649026ddc83 -FixedInputDataByteLen = 51 -FixedInputData = 1e51dc4e96ed3344dbc4b265bfe3cdd303d85135cd67c1f91a46303948f1eb3fffde3812663560ca0332cd571ed966b09767d8 -KO = a3cabb718b9d2e416f7258dd2523abd6dbb377209b332887fffb64805c47be1ee07a7137844e9399649a331055a23957ad31933fa7e3429c1ea2995e0e1511e6 - -COUNT=4 -L = 512 -KI = 86cdc1131fc0a5031a33c875c468e48f -FixedInputDataByteLen = 51 -FixedInputData = 1a824c4f303b566583b849d41193696d13430ebf0db8c493fc205534b96694b8e76525530b859975b1e9cede38af6a89d6ec43 -KO = 0e848929b1929b907bd3becde39260d26920ba29c2f340595022986dd4f50b2a7a9b6d6afef6c693b38fd66912f43a33dcc91ab937563450e6134bf43ff4daec - -COUNT=5 -L = 512 -KI = 328ac02d1839b44e7c4f99c8389bef6c -FixedInputDataByteLen = 51 -FixedInputData = a13a525772e7fdea69e6031fc2714775d2a7014ad468aad1df75f8ad6fb93ff2d54eb34c46f58df0fc34030e5a7343f65d7e9b -KO = 52137435f4b959320c5dd505e59084da94e8cce242332bfca49c47fdefe7570aba77057615b2f8d1ae515531907f4a16b857388b5f61c0ba5f290da5b56e9d64 - -COUNT=6 -L = 512 -KI = 4f571d420394ff34c5427b09db46f0c0 -FixedInputDataByteLen = 51 -FixedInputData = 9e2cc8fc879368aee72354462f0a895cc2003cdd15427199cd0049581a8ff848f33844d5cd8a9a7b00a43f268223f89ac3e5ab -KO = 87adaf8898448116cbf43672f336adfbb3c0d543be287ef6732a5c54c41cca2ffe3bf2d774b16e1c82e6db9611bfabf76dda06b746239bdd03d015a140c54bb3 - -COUNT=7 -L = 512 -KI = 8d7296530d9d8ba8b5463b5a020ef0e6 -FixedInputDataByteLen = 51 -FixedInputData = 1d8c2a4bad8712c6025b313c59f04474dfadcf9bfbb5cc30a8a90601c5bd19f535b2910c032de69099dc65d6960710e36411ea -KO = 916af97f1e288681b17d4880df520a678b88f1eb7e04ec4e1e2ddf80916c3fb48c23386e1394f58bb6b678e57bbff0449e799876b0be539b8570681ddefde711 - -COUNT=8 -L = 512 -KI = 4452051247b122881459f0082f374b5d -FixedInputDataByteLen = 51 -FixedInputData = 1a8dd504f1362abab568a625a28d848237daabec852a131caebffead3f1f99d114a0c8ab4fad7827d9c492e718a73da6873d3f -KO = c10ef39144606da637705584be257cf990cc61941b319ee59e8d02972ec06e07b3fb504117e246a224093886ceac896d5272773b66fb22399163b4393c1a4fc5 - -COUNT=9 -L = 512 -KI = cc3ca484b9f86d000f86debd736c7194 -FixedInputDataByteLen = 51 -FixedInputData = 1b914d4db96fed69d0a0326718f953b7c1fc22edad502f829d15501bd296bacbc8da2f8e7dca8cc0e03b0312006eba3e2a10e2 -KO = bf486ae46866e2054dd281f9b1e8da82dcd68bfe5d20003213f171f6a812e72f9733ded291a08fe3c22ecbfb8226f1d79b138fd7fcc18d6510371f1b3bb4f912 - -COUNT=10 -L = 2048 -KI = b9c48a22ad570613bbddb7b4341c2f6f -FixedInputDataByteLen = 51 -FixedInputData = b636936eac13c9cb87fd3486a53a1e03b423c85e71bb0580e9a849c7cfa36a5585749ff8189c215c6ee2d3cfd74d2d8dab1604 -KO = 03c33d68eecfa21603574f8e8bafcecf6a35130b71633cc3124d4e8d4b93204f15e937fbf4fb9bfab34f9bd996abf9e755a58e969f1fa869d2d43c65cab66f055092111a7d34d19175b8d24cddfd8d02c9417e8d1d0f31a56ba81b27b49084e90e76967d6b48d924dbd27f2eac81a75ead2bcf7b8d9b0b034e979da7a0a1a3467c52194068c867c2cdc8f2b31223cadf96a402aa31da21ad12355022478e4f1a74dbbd30e0cbf6a46d89b3a386c6fa5c482b123c3cb34183b25fd2a59829e3e6fd3dc8c1998e2007e093aa5ca646fe5b561c9116f683e578a26753698546ec958cc89168a3810f26cb7a50ce2c55a6bf95774aa2c284589ab2a84bca44ab193e - -COUNT=11 -L = 2048 -KI = 64d56bdbae15456eaf99004855e7c148 -FixedInputDataByteLen = 51 -FixedInputData = aaa2c5b2be3336e0843428fc03ca78484f95af8281ed97466e46b0cea3d912bd68c1991483181f56d392ef4568d3479a3aaa98 -KO = 3bb2ff301ef7bce5e04d237c5dd7150fba474a416b6bc624d6a9e9c00881ba3e2cf54ea6d985099e8fe079e1ec076df29b14d0f72242a51a3ebcb1f66bfdc520b7ce19dda24424fbf8a79d989694a9124abde9eb17fdf9879edec784b405a79e5dd6d74f5e2e2e605ae4d9b57198234dc6c6e10e9fc45f129298ca4c96b40d707e9b8911fc882005ed80ff71ab2a31155d0a35833aa4731a4c708b9bed27f419bc1e8ede4117f2fb30f50f003913767f969a42c62b78038f29adb78da3df2e21d4a083e8da3075400a8378db8a94d4731dff2506589bc120df434801aa89f59396ac129a0b97e4440b078e78b5f34508d8afc095ce7c63a45008986978ead2f5 - -COUNT=12 -L = 2048 -KI = 3381f29bb892c1fc4bc632881e058498 -FixedInputDataByteLen = 51 -FixedInputData = 434c6adceb96d659836ee0bb8be3a31e4644963044561daf7af30c1ad1deb1d82d618972a11f7e71a96141bcc2a36c7f4eca83 -KO = 59eb0380ff67dfa24a2c5caa284199b2b218bd72c16123d888e92bbaaab186a96f63544a2953504cd4cf8a8591de74a8753e05d4b6c585f31e9d4be0b82458e30e6297137a1f138cf751edd562f728e9e45443180d5df0ed8ff36600aadbbbaad4e939fbed7bfd5e5a5f9ff7062a57f1e9d3245b60442434305a2ea0147fcab15f6f27d7556615c3d4422d457995b0f046df3b7a57f35239f59988c08ed0dbfff4be319b86b096d3aabb2f6d33893b0d935b38824fc17cb5a59697947fe329b5cf8a558d3e734f1ab30f1001043174062dbf17c5ebef9d445fbb2fc42ea1a920e2c5fcf816de215434ed07d03893f632a0a042ef18d3d46abac60fcb010efbe4 - -COUNT=13 -L = 2048 -KI = d4df4e2522ebc0f11fb4068c8d01a96d -FixedInputDataByteLen = 51 -FixedInputData = a61bc26c7394f1d504aa41d3234b24a796c0838801430274e18c08ae68c0dddd11082ea63ca155df5fda595e2c56fc8a6bec63 -KO = 5309d8b85571511b9dcbb234f4433550d325088bde20ed10a9aa87224003a8bda0158b76dcc0fc09dd2edac570d006eefd10f449eef57b2930ca87b698c51e85c52e247851d47da19bec9895570b44708743be6366071f7a01c13c18fac4bca0b5c89197b3bc02e0048d412d04138205beef9008b7eb0107db42b0b0f14ee3bc301d832ae640af8a752fdca5058ffb20e23674207f226fc480581e047bdf0880f7b5f38346fc7e6a2bff743d6e88e779d2005e243f5e0838983e884137288f9946069fa3c0d2129ee9f0f90a2d35de2c09d3210c7d89d86d4cd02d292450bdf261da07e7e1c7c8f0ede01f09e2a10cd6921368d09299a034c3915b78ac98c7d2 - -COUNT=14 -L = 2048 -KI = 12cc538cf12ddb692653fc1e3363c474 -FixedInputDataByteLen = 51 -FixedInputData = 03f430c969dbecf68db233eaf2de1033647a28dd51d5858de4552c43e027da96a8124fabb07a65e8f55226c706b96fc760ab53 -KO = 7c6f1ee9c698b8358ed1c49d6da1a00fb5e2fd3a7a30779ced99db47ff5bd7d62deb6ebc0b1ea975b9c8b9bfb2a2431c550fd9b0d313338e83426753633a06ef0a00634153eb06854855efd96f59d0d735be452d0ad928e9b0ad350861ea5af35490f5bbf2d9e85aab918d08819e27fb4ccf63fcf5a6f46bf459bee10430577251f600c471c51b20aa11bbdcbd2e3bb5e8277aba52c46c731a0813c235c3d8a30274efb6778aee58000d6db450811d2c91b3556417761cd80d928ad5f66f31afa9b98d749dd4a85ec9b963809d3b921092ed048be294db1ea5a276f692449bbe01e77af0bf9e2d912a2e425e914dba9c10a2b03c78cadf3865b114aad77cbc0f - -COUNT=15 -L = 2048 -KI = 33b1643738d671b016560ddc955c71b4 -FixedInputDataByteLen = 51 -FixedInputData = 45bf3551ba43ba192740e1f43bb00068a9ae87c6b223511bebdba089554237d7cf086886b0d3f01a0b3129f260c439bcfed079 -KO = 7d94cb21b3dd719a3ef62c894af3914b93ac1a1c6565df0c4080a43f8247f7c169ab2d3f892237ed4559c37600e57aa6c26f1c314ace8ccb6db43eaff30ffe3fa92121a5ee11f058f836b17103a9784ca312b09f7819fc6420f12e0f5c3a7ce6efcfd24fae4bd981b1a5355678074d1c5623f4ecb9e358be57b2426e8960923a3e2dce302fed11f760847b3297c370a39a4eb1959881410189b264d7f45d1c59ba8da3a496ae142e44a8c1d098bd4ec1f5cc5e3a1d226e3dfb0a4546127d789ea71a5a0aa50b2ffd4230cf2fe275e7b43cb9326a56f4d3a2e437d6d0be6a4b486a9f76f3b9fe23aee7abaf2c99e24f31886455cdc5f87605bce9abdb3b7ad295 - -COUNT=16 -L = 2048 -KI = acd1b53321be902046698cdf23c94b5a -FixedInputDataByteLen = 51 -FixedInputData = ae741a4e1069dafbcfd2ab30c28a2b39a9bd8ddb58e6f66dce94700d90c8c9b5ca0711a567e82e631500893e90fabe42a64e20 -KO = 5979d460dc566be809bf980a544a6bf58db2679832e5dc9ead2b69e313bbcccf5d433a681ea0a784a240854db1fe60cc06e6a4c4ef982fc421c2596e2285353edb2af99d1ebf7686417124aa2e58e8bb35db6d233fcd92ad6df83bcc28b464c6298a9e6e702155d3fa84b2d8fcb73c60408edfa85cd78b2c26dc629851e740bab1208b2debd6f942b98c117a9eb36d2f2ac64d0c1e71a67c304cd1370478a73c60f3b699a335c7f31a72027ebf8308b405c8d817685feaee99b2f255adb916e426d90c3a864103be1fd379d3ef31deec7dd1fea8eee49333585ba475ed79368999e142b1f98658cba9374335d5782c67cec63cdf4413326b12302393ade1b12b - -COUNT=17 -L = 2048 -KI = 5666c617f1f3cddcdd765ee1d495e345 -FixedInputDataByteLen = 51 -FixedInputData = 53b142a715cf82bfd7210045382315807d32999afe7cc6d66e38ffa162c12237818df2bdb25f83a152aa4714c11a9c677b80e4 -KO = a200a687f5f3fa9ce8f3e594cb2805d8812afb3b87963e457fc6c156b05840e9e896c280f7f09eb746be6599b274075cb7c1909b2e7955e3f5b6b87877145f1aa36cc0493b37f699d9194ad4a8efc97d2e9f611eb37bca21e2112de90895a25db42580529fad752d8d85c7f0e56c026e8e23dd09c563cff2b12d38e243dea2abadafb35ecac23006f9d8090169a6cba967062ec611acad43ddafa4ffa9258b9203a25d64aa42b53449161fbf277d2f052b74c42a0b98e163d5c4ec083c1d8001dfda55acfbbfa29739c76abe87516fc660e569b59219e758e848798dc7f46402eff5f99aa47840dee3d48d4b37ec53635ca0f39f4f37449bd22ba38c3fa98716 - -COUNT=18 -L = 2048 -KI = 7feb659b48f8b959fbb0d986cc401e13 -FixedInputDataByteLen = 51 -FixedInputData = c8f17a31c59c0b7e5347c6f0210a5d4d56ebf94172614331589979814b0c2d65f63f0471766eda39f88da049514ce3528b10c0 -KO = 660943352230fd65b7f9fa87a8220ac49c8f17a96c1320e50e4a8d0905f919ed65f837bb85a570a9dd694da14675420944c115042311f4188116fb9cc9b50b92bfc74a2189c42b0ac08f91b4fde28d5e7f0bcd8eb406fd160beb33e8076e251ce255f911bb1eaf086f8fd1214e2c0b9e9e48b0bbe92832b77f6298c4153920c7291db405af34a0ecd31ca2ad3b96931ae248302b8fe907aa1b677f1c0f68521e94966110781e3d7cd17497e143dd11bf390a17f32d589ea1075dc00dc8d5d1b4c957fc89d61f313790fef0a365193f5891618416e5668fb9f23b602234cc03b8345fea51fb7947797367bff6b351dd25bc2fa51f629a33d7feabfe39e85d01fc - -COUNT=19 -L = 2048 -KI = 5dab1d65f315004f11841bff5f624e4f -FixedInputDataByteLen = 51 -FixedInputData = 7e906b9b382821ee22492863ef41b73ac43ff8dc6a6b17b54d08cdc6217e814e9a7aa13af6435c2bc7b6d652f9333a8aad2918 -KO = 057f28622bd88f700af2f314ea55ab7ef10bd7547f31770cd57666987b4dc3fe5304fc9a21a1de161b3351e480c48da03d4f38e0df22d6b6f9ebb4a15864825beeaa415b258a0ce7879e701b4406be8aa81280544c60467bf3b0609e20157ac84a1db161d477248d3ffd6b0bb1e6a3266e1b20712dd024977204644ee71cfa88f4c078628fe46dde6b257d70b2e71a8e0729673446c4e17e7cd54bc369c0aa99601f67b127a59815e211b851066e511a433503e00e5a3293624607f9645f221d44e2839c9b728e5bd96e967d8d1a8e2b2d634241f3a7dda59e40558451cda58fef25102d9021b72472f82d87f40c6d8ebeb685607ec1a41f020d4612dc3346d6 - -COUNT=20 -L = 560 -KI = d92dc7b9d007fc49734bc931ef8554e9 -FixedInputDataByteLen = 51 -FixedInputData = a19d29ed42b369494d6547d8b5f1203078f2e49a85bd4cc8ff71657c10dca7f78f4bb7429063976b1124b031edfeffe2cc5951 -KO = de6dee3c072fdd13b14f593a6ecef83e83b8af85149be566e32ffcceafa09e6727f642b4ccd106de370cab0d24cc77ea8a309ed0ccde326110b7bc58b07a7f82f2016df6433e - -COUNT=21 -L = 560 -KI = 4350ea0f82bbc99bf62c303248365d45 -FixedInputDataByteLen = 51 -FixedInputData = 87cd2a67bb4f24dffa84782d90e5c41690ce4fb60e49130968559e32c85002f8a3e190b800cd7bf58ea4221c8a3366d5a42cd3 -KO = fa1fb912c24df2977ea85bd4a6ab09ca34235ef2696c4f7bbba219dded43232680eff29b8efe5272bd6ea21d815f99ac878586a4a748bf6d5960181628bec887adf939335bae - -COUNT=22 -L = 560 -KI = 34aaf21f95c3b759328dcd12250bc21f -FixedInputDataByteLen = 51 -FixedInputData = a58956ee8b514ffb9eadec64e69b006e30bff0ee00f31339815f5b9ca5200a91e5beef8fb066172d58935f4768325a0df468be -KO = aed562ccc99cad0e3dd5f21576b1f5e2177db3ae3b15cd0fbe2bc3c77acc44d3614e8e1ddcf7a8d004de346930d5a4fb1d5dc6a5f2d185853e998cb8d1bd845d1f4d0e9faddf - -COUNT=23 -L = 560 -KI = 8146fbfe09cb8b2bb3deba29fb3bfb58 -FixedInputDataByteLen = 51 -FixedInputData = 8c2b245f50a45be22bd188e06ec5080e142c961fbf570119c3efe2a33cf355996679fc1264e60be7563704b0f5071b2e31d998 -KO = c6c455dc4bbf7c2092a1a347bf03f0d0cccdc9cac541b59f3954682ba9c0c64395abdf73a7ae17b5c177f68009df08fe3edfe9de2b749ea695c80547918e77efe41ae54bd62c - -COUNT=24 -L = 560 -KI = fbb477d8960a6b7047b7459f9fa2f602 -FixedInputDataByteLen = 51 -FixedInputData = a819c8919977bc0902273eafbdaba5483a6931fcce39887cf54647963ef2a3dae80af7778c036bac7345a79cb772e6f3f05fca -KO = 0ef2295e336b89aeeaca927f421593b595b29afbb5a61449e82de0df1161f83e9541a2361987acc28eb4d900a637c33a0217d2ab5839f51ff344befeb3e27b09876ab7f4d4d1 - -COUNT=25 -L = 560 -KI = 7eec2f9f902b84aedabd6f272ecfbfcc -FixedInputDataByteLen = 51 -FixedInputData = 213e1c0dbc4daabadd41d741f005fa9011859b4bd1608e06e8124062be8b7b2bed4ed66a2bbf7ddc3efffc6a03cad678a7a7f2 -KO = df16cb509db5d0b2aaccf36c8670c3d48e9881fbb4359e3b436af2d48ce4ec5a3dcedb1b5f03defc946fee960a48c91e4b5cac840e593d8f5521f890372abad2e60e2d9c6177 - -COUNT=26 -L = 560 -KI = fed632f5e06abaabd4a8090f06dcb3c7 -FixedInputDataByteLen = 51 -FixedInputData = bed6df35d3a46d11df24f78ac886d9fd1a642bb8c4c5c2725def24da889c1c3a39e4f4a18e85b11a660123b8db8d2c48ad200c -KO = 9e0fc20f0ec1d4cfd6da4c21a5a5e70e38802775d157670c7bad6bfd9f4f574886ceb586ca744e19695f08c0f9002bea2c10c895a2207d4199dc8ae7c1e61091ca40c8d2d3e9 - -COUNT=27 -L = 560 -KI = eea8ef4e28809816e0e59d4a0c81f463 -FixedInputDataByteLen = 51 -FixedInputData = 78e481f296d04c94537d49ff58c07b791bef55bec60c728adffe46e5998a76f6d80bb662c8b5c4bc0daf09d3c7d5b8308d92c2 -KO = cae9a1be679926b34d7bfd13df862915e371dac125a194b94acce6bea564e1db490151b6e822c10ba5b766a9d87aff17ec8aa6a9827786e077577612006b38be5b5faf11f7a6 - -COUNT=28 -L = 560 -KI = f376565f603d9350c744e7a5b7601403 -FixedInputDataByteLen = 51 -FixedInputData = 0311f7e9e3a42f5990dcacc295323dd9e8f3817639477eb58a3f5d08841a2fce8e149e426ba6ef4f9439c2ec741052968b4652 -KO = 06f95d9fee607a71e8500cea3db929302297bdca7e57868c6deb0d62a8c3587e91b096eb70712920ee97b6d5d42dd594cc8937f254000dee0d304b2a14d3dfd0d2ca69ea0615 - -COUNT=29 -L = 560 -KI = 059f53de7d3a7cecf5bb63980aca8952 -FixedInputDataByteLen = 51 -FixedInputData = fc13930fff25d887ca054975dcd49d1fb7436e74f6b092588f29f274d8ddc4420e853ff1def36d0f8ffa423df092918d237322 -KO = a23ce86b80b01da918ef9cfc27f11eb54fcd1b8196949c5f86cc7365b59bea5175e6f5a9e3935ca5a8a8b55b6df1b1ef6c0dadef845a3faff50a9a23230036e7e8c1a38cb4b1 - -COUNT=30 -L = 1600 -KI = 53c9a5973d3dd8289fece1d42172ff63 -FixedInputDataByteLen = 51 -FixedInputData = 9c5a9db94dcc45c02701c767b9a223c0476f1547dc76ad29f43b2e3fd014e1d0f0f7da476ce3ab3c97bc9d1e2732ba4e0b5760 -KO = 65d8759d2bd7a39dc9a0b3e6088904a9442e6fd7ee3257a90625ebf470107a80483a3e90df164ff846bbff23d38579e0ace4ba5093c12840921ce05b11d3c4d8c0c0b976f4280b4e1c8220ec6763e75cd759533c724c4dc76ba261d15acf2b1c5479f3591b7cde791f466c92a91dcde303811f815ac2d9b4f6062299afabab9e1857d1680f10e0382f73cdd618c75b7ecdd6d559ed17f8c487779d55de1002103b47fb8a1905dc6fae0e72f9d149c954bb029dcf4d34df4ef4c8f1dafca69b97a7e0981fd1dd484b - -COUNT=31 -L = 1600 -KI = a8fa033da97914173c99ad6ff53b04fa -FixedInputDataByteLen = 51 -FixedInputData = a766b16a2dabd9b4fa16ddc22bbd0bfcbca3ca5d24219be0162227821e81d8156b0c312e5a8ba5e2a2baf5b5620bbb0f177fd8 -KO = d34e64a1432470ab94f85fb94b23127146850618876d6b2da3d4a8743200f9d8b5a16529786b7a760c751dcbe81e13b278353535aeca6a501ba6ea540e655cd86d4cdca3c3963d8d2f0a1534bb48ed5f5634ffe569889ff5ba2051d57f358f81a08313d389f15836b72ba7ab80ae853bf12b2c70944ab0e4c7b56d74560956cb18bdb19883da40a57a4b04a39b10a9796268240174aa724ec7140494c387410009ff50983d9b571a98070b4cff4742af2639e256ff8d5a0e8a119d3d9883648ac81a4785374360b3 - -COUNT=32 -L = 1600 -KI = 53c6e56934950fd93875de167a126f8a -FixedInputDataByteLen = 51 -FixedInputData = 8af2afa68fea5fdaad6ed56517a7e2fc4623c980ed17c1088fe30d1441055477c08811984c87b15c6c6eb4c3d1bb6664b1e152 -KO = 65919cb0423de32d4b2ed6bf8cc82d7346f454bfa811545cd31ad14c620dedcb5a656525516e42eb54baa877beb1330c9102a3009296898efc1c3d22f3a967191c6ae4867f89779cb89edcb63d7e4ea741a9f915d85ca8029744ae7ffc5841403bc4743d735c0a6c53414959e5407c85e56e97c35290cb40edd572e70ac2f39dd893f881ffeff80f40fdb21ad7b6f196e2054579358c695fc09023ad7ee4e599058c1b8e1c4f343853a2de068b8c264b37a639f39667d9b04c23d40632538748827d2077b6736300 - -COUNT=33 -L = 1600 -KI = 1634c45993efa2ff306079af92980ce0 -FixedInputDataByteLen = 51 -FixedInputData = 2b663ce151741552d6f3c6c244aa340fd225538c4a897c9e515227f26df494aa957fdbef18195a01c4e45c550866007761fea7 -KO = 098fcc7b5d0e696cc34c2cd927997b0150489fb83153569299a7dde9408a214e7bfac8c674162abec21c5ad50ad3cc6c715d4110b7ffdb4d1d5a1361698b9cf0393ab1bda86e482bd2a9d8974c685c4ded9ee759173ecc05c5e4f3f99067277f2b787e479fa46b371290cd3bc8031509fccab738e45520938e2720ed4213a7d971bed2bf5a5327f838ee0fdfc9621e56552eee040a15e1bf871e2aa69cafa67b81051e990443c882f17bb839a89198d577f7c4f2e124ab73730a2454d4903d20497b9aede20b772d - -COUNT=34 -L = 1600 -KI = c2f9a245483496291592bbe4c211b251 -FixedInputDataByteLen = 51 -FixedInputData = 2fc842a25d57adc41423cceac4298af86c4aafd9b8a1cca65c296f600481341c455d2778f17b95934734b2ad4326c71531f82d -KO = 5365e46bf69a242821fce79ca0e3e896be0bb2d84313f4858420a2b0c86eaa54be3f38a1fc4ed1678d5acf4e8e3a5c3bae45343153cdc0c92147ffa3603fbd269d2a17d891c5654a43845ab96fb1a825552d4154bdd4e387c0e8eee0c9e2549406b8832fadcc2f686d1ef207133dd5055fc1257f9bdd8619c0e478537f1d9faa26027cac00ddef0aca8b84b54c61c355a22781eabe7e28f2196011d931b22385f15eb3990c0b92c03b48ead2366b825e341b4a592e6af92d796a3648d7e8a5c075e87a3e17b4c984 - -COUNT=35 -L = 1600 -KI = 3d48d8728d9c44849d69f15306abd8e3 -FixedInputDataByteLen = 51 -FixedInputData = 8c48be8e417538601166eb853fbd44eeb99c7fed17427e147c1775fd917e5bbf2964864902dc0c45200273090a8a68a905670a -KO = bb9d4b43b043e411fe5b8cf39d32c5d4445801eb2502a2aee9a3df192dd82cab05dc701d334f8b20cb7d45f0a3f82943aad7b060f159cb5042db07dfb631088e0c7d8f982b6dfe92caf71b57dc438c42986ca7a6fefd11898a7fc8ed8b168b1ac5a6b601122ac4d3ec2e1476b7e7058ac2fd86533b7738698f09c5e0cfbdaca68c38eb8087845d133a29378c7acdad311247ba10918608a706612cd6879d8fb44ab5f38857561fd8ef1398c9589a99816aafa864e97533ac95de7a5d8682cf987bcc2968cf67f5e3 - -COUNT=36 -L = 1600 -KI = d93112c96259891787069550934fec76 -FixedInputDataByteLen = 51 -FixedInputData = ff5c2dc783aae31352b82e2bd303aa72089d90e9055b6748899dda362cd6a841031439e6b647416d02634925687ac55032c9c7 -KO = 7194c492df500f2efa1b29cd8508400c113cb0ed623b67793b71e1c35c9151bb2b5bf012861b36822a9977dee81000be705cac2b9c25093c141df850fbe4416501475cebc450b6a8357fe33194e7f502a8f25d0c094f79f0baae24242f33dfe4283adefeb878a640f15fc0b1248ef314cb7c8d65bd3a76afc532ccca9090bccf281287a5e69bbbca335cea6277f5666d762d82daec50d540f89ef0482759cb1d9e74806767c994d9f853a61d650a7e952578313f0b0ccfc5318a3cf149730cbd8ccf1f384705edcb - -COUNT=37 -L = 1600 -KI = 9950b8a0a88c29fde330755470ed7153 -FixedInputDataByteLen = 51 -FixedInputData = 9ce36ea211436e94fe388d377f039ebdc79f7be532779d57dc9410fa97fabdd56ad9d537c679777d4a80cabb102625de70a98b -KO = 7fb41c086d7dbabb662d4d6c79d66d25550e1da39bcb20ebceffc05f8415792d8a8900dc73d07262d308e2b8448f64d2479b9192ae3ec4537cee371cc2d1f37044b6b20914309152aa2b17ff3e72ed7d6a17a691adcdd7108512cf164537e085120e8e3b5d89d327e9165e6497934dda2612fa51d0e7b8082b922edcd4ec51fb266b285080e8f6058448d9341e6efe298eb125c48350b040bc4decb94081eb5e86038545432317e7d62c5505d6fbec0951b20312356b6e6f8459217dad869b342b22ae94f8d82efc - -COUNT=38 -L = 1600 -KI = a749f149a2feda6ae3854c98513c3476 -FixedInputDataByteLen = 51 -FixedInputData = 4fbd4917ba6d5e3d7def8eeeeb9f6d5bdaba7deae22acb090cbcd0ff05897c01ddd3952d568d11e77d0e3329ef13630071642b -KO = 44ec0cb2e16830f300067f4eb6741d7627ebf8608988d7d647608422f21fa9e5785a7e46510a86e84ff74b15f913c7d52b6110c849b478097c1a8cdfc0a6f6e30b52e4c7aeddda6e64e7a41a0708fea3ad63cf5bc6bfe9a8adff58fd2c968b8b06c8367a9ee2d3cd81ab1c7b43c37d06d05767d5972fe42ad79bc94bce00af11bb5559badfab42da4461338e1c7f8c962e6dda5033089ea15e88ecdfabf38c90fc3bef0ab470925a0099b34f680d36287fbccd15fe650974c42608279ad344bb8c1d270e4c820708 - -COUNT=39 -L = 1600 -KI = 485a88f5c7250137b9808105a65b44a3 -FixedInputDataByteLen = 51 -FixedInputData = 69821985e0c4cb853f4e5127d1dfb5daf3edb8b22398cfa4284fcc7d76395f79896e88cd88259ba28241285710f8d9745d4101 -KO = 452169215402b66a1648374595f835a2b71c62139735c4d5761fce799934dd0a7f001b602ceacf6a3407691650501ceba895a2ba11d5027dedae32217e464d1206ece0e91ea5f3e538c7c8f6d4c125c363843c4406ed2eeb1d7d3cb26b0d5306e133ac328f1ca6d448fe15a31cd52d8cb9c17645706b8e127c84151d12377416c9cbf12c6cd6d8637ac0e62c47f41dd6134f9f390baf2e9b2f4a98ea3c9ee1e5bbe951d82969997d0f1fabaf9cb2ed0fa468864bf7c4ddf67a07808ed402267982f9e9e8efe420d7 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 343eccae7e7e233fdc819ecfabf11735 -FixedInputDataByteLen = 51 -FixedInputData = 44465519cee317a678247ec5621c6b06e07f42497028261b48a55a916f1116abdd3c92dd43c372b4e7ee953309a6e356c7dec1 -KO = e424531e6ec5fb56d43d02cdb67d3bb92652c004ec2fea8a3feb66b83ea44b5d50487bdce7861380684802e7e3a145afb02b033d755841e7906924e87bb30001 - -COUNT=1 -L = 512 -KI = 738d2904f05727d0a32ab5c56fa9bb66 -FixedInputDataByteLen = 51 -FixedInputData = 7df51b201819e95f7ddf37ad855e174b57d4582eaeb948fb8b0e8778f59d54e2f568cc5d48141af818b6f3e815a66bedd7d2b4 -KO = 76e51547bc11fb341553f67b482b1972f6c54a976638d13cb721a5d6e40dedd571fd338cebf6edbf7260199ac1bfefee8f2c78bda76941fbeae127249da55cef - -COUNT=2 -L = 512 -KI = 41197263d0dd0482e28f108d31ac28c9 -FixedInputDataByteLen = 51 -FixedInputData = dcae610cb8f18933db8f3a7d6f20b02f297c457fc01d063cc068072c82e54966096dfee21e24d95f13f2a52b7a48b3a38ed842 -KO = f5f51a087ce4969056e52fabcba5ab3d9583fa071f88a403d6fcd5e10ed97decb6831fcf73a1f4b8e80bbc2b6a7098237ad7c662972d8d8203508a7c72fdb4d8 - -COUNT=3 -L = 512 -KI = 7501c29ca2944165d57e31cb03c51537 -FixedInputDataByteLen = 51 -FixedInputData = 20954cddc298d834ba1c7575b816d691d43c3dc9350147eae2cbcaa710a34b4da9374351ba4c9c0180927eca49624ec1891df3 -KO = 5eb495455a6a83caba0fbe8fd3149c75fba476c897925d97f21df926486d4ed6e175583392cc545627a6e06046ab8c9402915ffd697728aad991cc0f9bffc1db - -COUNT=4 -L = 512 -KI = 4a80e07230474f74e6f91178f6af61bf -FixedInputDataByteLen = 51 -FixedInputData = b1b9152b38d2fbc9a52121dbe16db2fdb0c39a3e7286b336b98ec104bad794e2a068b198a1f2a4bece7ea99afb5b0c51a45ab4 -KO = f11391ae921b9760dcaa75b4399caec7f444b2fa9420ae12524cdcbd2edeaef51c53800442ed918d79da6d323f2036f133554978be6329d880c00f3830a3ec67 - -COUNT=5 -L = 512 -KI = cb21d8d5ba5e8045f7d6687011b8f04e -FixedInputDataByteLen = 51 -FixedInputData = 7a6dc1655320eeb3331abfa6d94f22654a6f76aa5ad54b63d0968e71eb851db4620991ecc208106ca86cb0af584762524a5351 -KO = 26cabdfb67b9abc625fab160765660731b883656e1203d7d60938ecb675ea2c4575a488bf10570ca9c99034dc8bd38ac139f183e619c9b78614408e2b4f039be - -COUNT=6 -L = 512 -KI = aae755b037f613d1ce3160c8ebf459f9 -FixedInputDataByteLen = 51 -FixedInputData = db7e34c71c6b2b6bf657c13ed959a32a9015addee27971e18b66a67c79dcf519efbaa064fa14b3dd96eb53019c668e3c6ba3a2 -KO = 54b3b92b8646d011e4f3c089f242135ba0d36c183f6cc1edb15cf029e67a9b1770d5f102296e9ff25bf417844f5bcad949c1f8478117092038dc82c91129f200 - -COUNT=7 -L = 512 -KI = 9333cfcd1df6c63632fc4d56f090e4d7 -FixedInputDataByteLen = 51 -FixedInputData = 3fbe5f071335f267a252b2a7aadb47d5d78d77d6306e3bbdff03629ebab0003be8a493c0f60f326112c7a80918fedc64ce5f15 -KO = dc8230cb11ef8d302e11e75b5b7b734a1ae89429aa6d3cd5b931e213f0559465ba5cf1c63e06fe706f89ddf33d778f6f2f27bfda5d74739ff2f117bc886d1468 - -COUNT=8 -L = 512 -KI = 920dd9c03352789a61468e28ada7f839 -FixedInputDataByteLen = 51 -FixedInputData = 82afd77b94faf865bb55dd0161de376fad9b4c1193ce2ef0f1ec699965fe73d50bf45fed94963bf1907de13c1cbff2dc7b9375 -KO = 6da3efa234f1ec7a9a0d1146c52b0fb744764685211f582b3be051d95b5d1b44c57e014b977102ca24d81abbf40d457e8cca9899789be16ffeaaa71294f25dd2 - -COUNT=9 -L = 512 -KI = fc094872fb3c1db4784bade7251e460d -FixedInputDataByteLen = 51 -FixedInputData = 9f66dc29f969ec66957219f8c6af52780cdba2bd6489e477b26275f4a865541dd4a8b4d32143df23aa4cc19cbd1752deb76da5 -KO = 5864950f03d429cbb4e4eb934ce0f844ea59fe8ca4ecaa256853b7c9b27dc9f8c0cf9d11d38fef59be497b7f2cb57e468b9fc65109c45bfe09b6c7a4810b7d68 - -COUNT=10 -L = 2048 -KI = d39618fd3b39488de957b62e4b05df25 -FixedInputDataByteLen = 51 -FixedInputData = 681816b0c35b8a5156aedc9b06830eae96a939a0fd38bd82b32cf9a75612324abdd1000fe563f340f314dd8858362cd600d501 -KO = 9960c1c59dac841c8164d7b0ac0a788d8124b04147c63a7a883ff1b6f68a300d07bd48d7a972d01288807ef18422cf45f13a9f5fe05ee5f7084f633d39bb6e18cd5264830e138acd0d22a85678981816e4a84cc07a422614cda5c47f7afbf24ce548f20b286e7257f55c25f9078ae87750b08b4f229b9899d744818c8dd628542a5ece9b1e5d4ed0395bed8e6390d68fd8fdfa23068346fc2647dff4977f7b99c1d410d24079e6d374bee5588d5d312cb340e04c2b67c0b3a2281d01aa5c31ca10737b23cf35ab2e14b4961bdb90d27dc65dc7415de44e0757d22a1595087a407e680335e294c100f87ab2ee3f5db6588abb2142046fca2f8dcde9bac18e8750 - -COUNT=11 -L = 2048 -KI = 59ee418322bf10486a7ed19c2130aa10 -FixedInputDataByteLen = 51 -FixedInputData = e45572665d5ab706f37556f62b8bf708660db94f0a9b294acb88c364cdca7725d30e65d3b8b9b81a0985ca6f2fac1aaa79fcae -KO = af9739af68be7e1e91ff78140a3633ce73a93f51120f29902f2995357b3ea48850a9d83e746899473a96fb3ca44f61fb350eb8d72d66f398f4015f14b093bd78d0eaaaae6ced7f7e271580663300578a10456be4f538102615ff66973e20446e02d471cf3d1cf390e467aabc4848d63c5fdbd27e0605308cafdc4a10987e98b8a95ba83ad6fe70d3b52ebe13b558850758f2200c12159ebcbe8064cfc884fa5cd99e39f2edd57063d79fd005dd5ac5c368fc96e5ee38852ca7eb6f64b762a7e421ad3a3366b77e7f1b1922444af0b2ab535e95af9c502338999edcfad77ca2fef84fa53a2c983ee2a78a926c5dba2e27f4083c6f28e1f955e86a73b31c782b03 - -COUNT=12 -L = 2048 -KI = 505f330fcac43c9d93ba91ee7c519788 -FixedInputDataByteLen = 51 -FixedInputData = 3061ee5976ae3390599e21d0e5dc0d03eaa1231fdfe6ae1d46ee9f11c6df170de62a6637aef5d7dc12f299758317b7e2d1bc81 -KO = 8977c1baa90dbc6986fd19a78e6562002d2d8861334e9388ac3da8fdcbbc43355bdff6193e7b3ecb94220da0530971db7aca0476f836b53de1cceffcdd0008371dcb6a289b0939b7f43718a09779d92d660892b56a849fb91a2cf8055fd9d2e01e5606ec8bc2bf958c787a5b8d34babb21c23cb4e3f1f84f4573025c2a171c3316670d6d235a48ddc30d80dea1e56f8544ec8f4d29d8d13b17b4e7d56d4f0dc3e7fcc67f2d62ab361285df70324aba3990b6652d3c7d96c9eca39a89955f764128b87939035ed930ecd4e833aedef29ae332219c545fd91f0a59d3f89791936b825b73190ba46d8a64839cd090b15c94eaf4acdd9de037adfdb7d760c1aa6bbb - -COUNT=13 -L = 2048 -KI = 6cec582533eda12ea60fa4535c702e51 -FixedInputDataByteLen = 51 -FixedInputData = 84bfcc501e4103206cb309e0df88c577732b85a1470bd4c21b8ef8fd597a6b94dd139d9f1c5370c87b4aba94f179d324d9b8ef -KO = 5adb871220e3fc73efe7f4c5955da9dff0b45461068e05e0e3e12abfbc36650f1c34ec9938c6765a657198d65a756f199f529bf38ea22cdbf0e5c9d901139547c6202edbadfec2148f2508181e99a494fa27a7191b1d581366cc1866217df6343864aed7d34db79d79b673ee30b1e0aa2fc504bf7b9da3c4379e38e4a55d191e75379311f9cbf9a890896e32e6c98917fd5deb7edb9c10c491c2ed49696ae8ea26df0c603fdbd3c7896e3ead6b106998672838d4a0a21bee3c47b51d0747781f219e406935e529c4704d197be0635a211d16845f2fb388a73002e99c4b91905dca4c23b99e4b090888ecf728995e5987ec5765c267befa248dff3882e416b1f4 - -COUNT=14 -L = 2048 -KI = 06e055ccf50069bb15582a1e2a68f964 -FixedInputDataByteLen = 51 -FixedInputData = 868f2ed77ba4a7cc7c2de0bf2b7ad8f8f74d00aafddb58d5fa0062bcd679f70111ad9b962e26f22e6f200096909e8f3febf17c -KO = 01b2805ac52286d8b6cf36f9ade6a738df8e5d881fc4f6bd914bc675a2c19c817226d0a2833bbc2e3a41d0fef343093e284ae77f3ec1499c916466896eb2425f90ee7516aae62bc929328d4a8ab45471cc8d95851330e352200df909aee07756a30d406c30bbecb100e9f16b69a61ff6ba39908fac18b38f10fde97b01bf813b71e4527a5557d14bca24e71a61027d06ff75fcb159ff0cce9ae5fa94f6500c96e25690fbd2f42d7c70994e7db6803fbb3a7fb48f3cda2100f7021fc38e80c4968932c6210bab0ebaef1affb63ac023d6db2773a9939505e7bffa0cae283c1fe40f4fbf153aeb278af4ac6064696920c7605ef4fe079cc3e9c2754fca6942fc8c - -COUNT=15 -L = 2048 -KI = fad39d1dc2c7e2dc6b75bd47ac419c9e -FixedInputDataByteLen = 51 -FixedInputData = 4dbd3923e294da692b97b6bac00babe16bed5c2d31c4252aff7f8db2e264d934bcabbedadd9b967ee4deff6701410dd32afd9c -KO = aa149eb7c8898e2bb5acebbff606bb91ee514cd477c5a19144e05d67e0d1d16dc654b7d94a4c6d6a337f4feacbb3c6948720496366e714e5a82a141423304b8fed8df661fa856f678da37e980752fb8d663aef2dbe35312078a1909d14863df0a5677587f9481de375a949847b05db6d50886b82a5d77c0d11875b25dcfadf7692d1ed9a5911f94df1f07be5a7a726c45d13d541ae8371786714788a07d6e35f2869499602294aab8acfe5e06c6a08338d9f5a034e10435e7a956ba8c8a7df7b156ee1487a8fa0b4e0745c17fbcb5fde9cf47f7a3abffcdec7c8d7a251f944fb79626b2a2dc689eebf4f2ca2c422dd2351e3b1b34c03185dc4ac3762e862a595 - -COUNT=16 -L = 2048 -KI = df2cd04ddcb8c712f81803a8ab61590a -FixedInputDataByteLen = 51 -FixedInputData = 0ed3eeea919633401a96bfa21b95ab227a37357d3876cba85f2a4aea5cba9c4ed5c67240584e1b4d37dc047e8746c59a3368dc -KO = 3ec3805f4f5baa8e71ad11d767a697957896c17986863411c18f9bb7ace46af24485943005ec3f04e8aa6cd8e6d716c18d1caf0950b8c314e1f041a62416ed1c9ae86bb75cf58e61f59dc20e811a9f621b73851cc05521ba0b07096e5190fd6a31ba26848b685addf37c8b2792f282bf54d0dfa541860f9c1e947150fd2c18714a7cd0a758be3ad5912b7100a50833e5088528f621ec2d7e3fc22c68de0e6e6a0a091d4ec3a3d0771d88946805267bc8f9f4965a8175311944e0525839a91e66cd7139c9238cc5467c229789966ccf647dfeb3bc2875b1d033d3e81903129268eb3c2f2b1f5965b54dbbe5bda31d73b01794509b94645cf4259a2f3cda573876 - -COUNT=17 -L = 2048 -KI = 2b4c4d80c0dcb6ef69727ef45a924aff -FixedInputDataByteLen = 51 -FixedInputData = 436ad3469b33fbf38337bdec4461dac50c693cedc41bbe2f5f26fef13eeed9caae3ffb3aeb3eba6316d1ebb9a7f09c2ee8a3d5 -KO = d1bb71bff58a43151bd5740fff7ee4651ae656e12b8f3f9c893c150b6d55e7efec3e0e811f028b87ee3147e5f022067a099779cf3d8b30af5f47048faf5633d1252287d0a991f51d5327878b870f99d1759c6a57441afc5596741f5bcf70171b4ce7e3f67c3bc120e4087604283dd8e6406855eefd556b76fbd414a80856b90d2fa6c5a645b2923236135eae982095394502bf5c0b68010c9909b8679c0677952fdd954069e78be07e3b087177a49316bbd70f0b722f9c47b2a3821e7a8669b0fddff42986888f055564cb0b815d469585e5de4db83510f2ff8253ef68ed5bf0c54ca09badbcf58e7ae00e319964c1552c8839c160cc401cecc2b03d85361d6a - -COUNT=18 -L = 2048 -KI = 8d3383de5df016ec21f41c4f0976063c -FixedInputDataByteLen = 51 -FixedInputData = 6db17d1e669bb45c18e6c466046b8a742f6ac1d6a7e28f8f3a14da1430bbc0f483d3420fd7267ecc85bc01aeeac382d82f539e -KO = bb5fa78850d19f477d70da9cf676cd86ded0362a2750962abcc627bd33b6eaa26aa4df1d529be6294b43c0509fe5ecab1da7d5e31009afa4313f423b36b8bafe3ba9ae9568ced995b5cf88da27d7c1c87716dc8f996f4c90ecb2c56164f8e3d0049a8bc0ac610545a2ae673ebe4c28937ce99380624a27e177cb31f0ccae078f962aa7dc09b16b661cb004b31cb23d85ee97522d739dd8b2108d8d23876abb1aa3505a91bc8e1277b135b79a6a147425f81d2d3c8c75bc86c7b985c02c543c329daad5316012e1554dad7a06f068624e6825e8e15ac248efb3043e8f37389fd794a1956258f30fe26274a5191008984ff9e25c9968d0aba7436c888971ab29ac - -COUNT=19 -L = 2048 -KI = 0e07f28bf4d66808ae248d1094d564b6 -FixedInputDataByteLen = 51 -FixedInputData = dda6647102728c948c74bfee5c1509e4a465c227b18c197c9a63a3c2c93eab73e0a44c3305278d36bdf8ea874d2cc3d16cb0dc -KO = 8f767c066be7d434aa19d6fe321fd46a7b1150451177e72b7a703e66ddc34a40b06a633707c4afeb4a36ddc1fcb74b64887fae1822751a13aad5072e7a40e3cbd905210c3cdcbbb153031fb07514b4c69bf3e7e8229dbb4abf8fb3197abcec8575cf6b9c3d024262d77fc8b8ab27d9d81f03996cfaa8cca1d3f9851ebe3a46a0cfaf01eed1f961bc4246e5515abaeb4288f772e25fb1993545268c9c832a3e7349d8280b44a172f738455a0bbddc1d742e8acae0657fc3e133df89cfe4258093a5339270d1eba806c7012f422bf8fc67d80ce71e7521a1beb2ea69c50a6df1e42f99582a179195cd78a49ddee552cf76601677ccd500da63f2b995b415a89fd4 - -COUNT=20 -L = 560 -KI = 648c34e63e92d9c3f3a9db2c8b433b3c -FixedInputDataByteLen = 51 -FixedInputData = 32a2d4bc70eb8112cd1a69abee9b1e1b2d29097502be0aca5cfb54c2651670b5d77d16aa3c651e78ead950ba9171d228c56c5a -KO = 21785f560573a43cfe15aee8d741c5420df716ccc7d1eb57cec085f3db7a9120eb9288dcddf4dc0dfd70c21574fe818676d76c01d318bc8bc48bf7f4da83a625c38a859b8214 - -COUNT=21 -L = 560 -KI = 457bfacd6e37d82fd12b65a711c4a6eb -FixedInputDataByteLen = 51 -FixedInputData = b0ce3717db2d2f087fdda17b8d13bfca5768e4d9837e4ccb39143362f0410149e436f348fc5c3d324c0e8c50d52c556b12fb8f -KO = c7251bd2ad4cdf070e0f3dc07735d7dcb7bcd3c46d4e308630b59c8efc6733538eaad54bf6e277a78351437edfeaab5d99ca41b2d49c48999fde361d41cd8d90dd6e9ab1bb39 - -COUNT=22 -L = 560 -KI = 96bf818c3b59418aa5f29ab1b5d6ccba -FixedInputDataByteLen = 51 -FixedInputData = b0ff7776a73b02fc39462815956de278bb87cad841715a4025894edb09b8e335843f6a3f0ac7abbd64a6b3cc1009c78be95e0c -KO = 527fbfd27072d37ec3aefe58a982d80477169814ddbecda61ec8dda6b9412e3ac252d485b93adab6f571d0ddec229913e1fb0676cd0ddedef1090723f57d120f96abffdfd600 - -COUNT=23 -L = 560 -KI = dc876a09a190506ef03c7e8613c7fbd5 -FixedInputDataByteLen = 51 -FixedInputData = 1b806377c72f65f99503b35453d514e4595df64ff04d6a3c8a395d4092f995edb5de05d7e775fd9e554960241b6039f66d4351 -KO = ba655ae08a260f6952608ad3186d674631c56e6e2b6bf6ca29e99df3f1b317b7251f349502daa07dedb581b695482a4935f7be7478e51f4a861431cb47a3e5825a3bbb46a94a - -COUNT=24 -L = 560 -KI = 5c46ebb5d502e82c474667243c56bda7 -FixedInputDataByteLen = 51 -FixedInputData = 4490941160dfa629b0e44305268de7c63b7eff39da70462d400de7a04ac2c6d7dcc5851c7b7dde031f32612acc97aa63dbb514 -KO = 70c71b1ca6f0b78db89dd5dc6739ae70e18938bc09ae384271ec19dc135e070e034243e2b41df929a526e537357719462a309901db7c3f987e42bc04760c41e9ec06660717c9 - -COUNT=25 -L = 560 -KI = aa16a90cddb01ef6e6094efe2be1f58a -FixedInputDataByteLen = 51 -FixedInputData = c855c408cbe8fc19217733a07c9abef4c40ef5b5dd11c5aa680401f0beb05cd114924be10e69a679c0ac876ec74a980f2020c3 -KO = 4337c0b45afb4c72386e0a44b3699eea88067b89ab519d2441c664a5b070696ad5a7de1c2d3be7a399c2e8f8a37574054134863c3202311c3ff7bfd7e72b5283540528072335 - -COUNT=26 -L = 560 -KI = 807fb5c4636380df6508d22fca0ea66a -FixedInputDataByteLen = 51 -FixedInputData = bc33fd83aa4ed4a0bee46905723cd022f1b562bfa9dd8de7ff20ee71807b518e03c09c6cb4301c17528d8673cde1c79aa879f9 -KO = 66645fe8f549f67965242bec9eeadff0fcfbc92c71061c1e9111d90c8a01a991fbd0db934a08be2eabd9807ff93ea3bb826d9712a1c9c58fe7d0de6049c54806a41426527425 - -COUNT=27 -L = 560 -KI = dd4e6633c55b4360449adaf5418dcee8 -FixedInputDataByteLen = 51 -FixedInputData = db19dfa86470578c9399f3e0640c22a4232211c51b45ebee3f6d355205849e58486cdd105f1440bf1e28a599a1947fc7f2327c -KO = f23a87e5ee58db3a3b80a2c4f938fff38ddcd7da64064cc70a6174be65e12b87b02b9ebed518a5404ffc71db7e8d3920d24be2bc364e87f3c2e5b2436b5cc284b76068899c9d - -COUNT=28 -L = 560 -KI = ed14947772eec9436e6a3941412bddfc -FixedInputDataByteLen = 51 -FixedInputData = 65285a7209907b2f29d2921db1c91256243b65496e581a3e3b3ebca589d5961666f4111a933d28dc42432f377c9d31daa30711 -KO = b910b9d11ac6014c208fe600c55556b92d98539a9e39a954910f4fa3c75e82f3945e51fb47e75564e6030acbd34dee225dcecceeb2ea2c938756f373c85a6958b2a31f4d7ffd - -COUNT=29 -L = 560 -KI = f36d3430b3b08a28671a3aaf4e7aebae -FixedInputDataByteLen = 51 -FixedInputData = c8c0767ef9b79dd34b1284d22bf29cc76b0bc9f30b0c6858c7ef7df68d1ed856db29b3af6d8824528d84eca37a1a68fdae9a99 -KO = 62f5f53f13dc767a1e90be0a9bde7a0531d42e23aab3d6b4498e62b82abf2b95f4d46955342deb892318f5e43568f6fb9eb16ca77435c24fc825f7c9e849fb8d61b41fca5681 - -COUNT=30 -L = 1600 -KI = fe6a8298f2fe703ca37192b91dabb677 -FixedInputDataByteLen = 51 -FixedInputData = 92c751352d6c686d4a18760ae6969b68d1548df83ef256bbed24037f45ac6212b128d13afea784259c4988d8a11a92bc9a26eb -KO = 19d58676db671db7c3c09b51f998b43b609329eaa79ae5bad4936ef913bc5cec40984db2f54f660db8dd386686ca72d084a5f06d98c83b04a37d4df2c5cd6c12f868e65bc4f0ffcaa8cb57919d72c33cad38316585acf365159fbec74bd779c9595b59308615de978b77a157d293eb26de18a29311466e795ce4ba8e7d5517e87140b6eb5b0f9a48f4a582f135c81fe021a22f4c1971c562f9cbf1d96025674a54be59194e03ca056c6488067cd15a6bef16bd2ed111893f15a1f1f12f18f45b3d90f2921375a4cb - -COUNT=31 -L = 1600 -KI = a1f94a3c0df6dcf67d3937ceebee86d0 -FixedInputDataByteLen = 51 -FixedInputData = e7c60def346320e41aa52f2a1397d51b100c1b6b711a591a916c1152928a944f0f097588f5fd9ef3c5231c526df0b292ea4479 -KO = 0710670eb59595e06db701e47a2cf5a925aad427508ba7271c50dbf789e5b5a350973a89e011fc1a648fa4fd14f28d71a2c69ef2e066b2cfc1f00e608b23be6b8c3e89ee7d1ee290c6bcca73c6054e5f0424df4effa3ee366764064fab0dfe14d9221a90ce85607bc2482c94eccbc4539e340a670c3f7ffb24f0b131673f53b93fdf916c33747b8b81ae6d2f77821e7ee9d133dc39b0491245b16fe8f02cc1c9f50316a88b61b6ef76ea3e6901831cca1217e0a8dd3d1b682a95652b72c70f1da4f2e0a3ccf3b150 - -COUNT=32 -L = 1600 -KI = f5d368cbd8e24ebf6e39e99e4cc24b75 -FixedInputDataByteLen = 51 -FixedInputData = 3eed90f665e1457f847d256a7a6cdd6e52df5888cd3f10b5827a378e0caf42b1dd1688d973d5897a7fe187b2af5a47e3c43b64 -KO = bfbc1765636e80fc9cc703951ccb2f1ee66e42646a205e79b3d5dae588cfe27b09647866bb67bdb143bb4d981fd12009ab8d30e6a12a14fc9de1c14e60a68dac8e1b65b1819123bf518c34206d3b5821fc44d2003deba1c2e1eb9172f937bb470405ca79efd3f1027015b47da709f0a779fe1ca7d01dc3cea7c710ada3ed0e50d653b3ff367d5f923897ee333f81356e28e2515742b91b9ec77a7ba97db692e3e9d58c6b6a26421cc6d536e8b30a4a08ce3de8961af4b8fdbaf7c06859fb8833ab5b1b2b3257cc72 - -COUNT=33 -L = 1600 -KI = b9545d519f42246765bafb52471347bb -FixedInputDataByteLen = 51 -FixedInputData = 8eda68c8cb9f61dff5d6c573227929635742d1527de05eb03f4ea0bc27817c82321cfbd46badb858eefcf52c405dd10337d6e0 -KO = ee6c98a8783d299d9f8405888b58241ba13323707364a660f8bf8c866ca06a1ec8b18d9111e1bab35611ddf354cc4093a509e03b28d661e65560334c8abff2827a78e345cd20442b3d49ac5c0e1cd9600691aafedb395b8fcbcbeecbf91a7da65eb1f3c2ac3dd679e1a1d1a7beaee89453f85442ff0f010924c71270d006e223435994333da962044907c336e3e5572a26bb2c357742872190b0cc0430cc4c71ab3b00a22b7d0d7242f25501a56b47351142edd4ae53624523cbff055f721a5742b870be1ca39252 - -COUNT=34 -L = 1600 -KI = 876d0a8912ca9149dc129dee9984ff0f -FixedInputDataByteLen = 51 -FixedInputData = e06e3acb46c1cdbf5c43a76e9a0d846f4c1eaddeccb880d1c07f0c3a74052aef5425ac0705307dd202e2779248585faaa1f61d -KO = 63cb8b381d52fb68b97d0ace741c900cae34618ccafb4a43f737f618833e897544b66bc20f32045cbaa38abf74a7cc4e6fbaa1e06dd4444f0c376a9311caa56a1a5847900245cf71b51df6d267dd499cc05f8533ef63a2afd39ddc500b578202fc9388c0913a2b9739ff36b304eb53920f246e729429186d0d119a6c1f21add9574c4e61aeb37ea91c2eaad5f182fd0a3346d25bf5f534192f2e713bede4b5956b362b161190bca1904fa41d73db079e6b806a9cae4991dc37e99c1cd15cc1be7f241a9e0aefb7b2 - -COUNT=35 -L = 1600 -KI = b6f4008762142fd0ff9275177ebe5ba9 -FixedInputDataByteLen = 51 -FixedInputData = d66b9e0e29ad84f609475c01ac815b8dd53e2080cd35059f81f38fe6c10deaf12fc61f32d3e2f77d14ab1c75dfb42db13f0215 -KO = 4fcdb64bc385775ed209179b12c9154f2966de4cef32fc81a30ef0aceded17beb64c9ebc0f3e6f4d675a4e5da51f88709a01cd4419ae0155cbd5ebc14f5c8097e798a935a5d7924217b0e84fd1d105fe8de91e53917966705f15ff80327a199970e7ec50dc8d7c997c001ef1b5058288f866bfe53230bce3a475eb58c1f148c65fe4bb2a57aefc3d52e949bfe4fa0007935b5a36f156062507147ea128bda924618353aad1a008a10893ed36e2af6098f403619154c62bf0885083715b1244a5a2f82d9855adc60a - -COUNT=36 -L = 1600 -KI = 57e3665a080b81dd8b203911d5f902b2 -FixedInputDataByteLen = 51 -FixedInputData = 122c7acb4de026de4824f569982c4e1537312a6f5d71a48264ade875d74cc760df164b26f56e380d7e5b62422652a4bde1c081 -KO = a33a6b1425607cce204cfe476c0134699c34e07d165610b569b1df774195d58e991ac2d2a1a5456108912556235714ba967cd724c9266c959abc7203be1cb5852bf01114b4fb7d9e884246811808f7d2b6747ac01296b8680f39fc8c65caab63da0b0920185f613d8dee0b5f55b94ffd608433bd9ece69235741295f518d0a785d04ab71524509f1dffd7a45a6a6615ba350a9392e8cdb594a6261802409b9a3c7ea7709d10aaa789f1021630e7a38025fc52ffeaf7a31aea9245659b342807d72253b52634a4e9a - -COUNT=37 -L = 1600 -KI = 14929de8f869ff9b11cc9eda848d1c2e -FixedInputDataByteLen = 51 -FixedInputData = 6d1c2039b3f682a507fee9b2d5a6a4935f9b50430152b99231e1baf2d4940065a68134a5e2acbd113541a18ff3bccfe8ec5090 -KO = 4c232766677003d873defb60b6f2b4a6f03b73854bf4b5500c477f88c8165db1f6e28f15e5edb78a647dfcea6a8d10236fd42f07ba9e50934c5f8a2a6c4c7f19dca5b8d32ec8dc2f2d7a28f9c652acc713860b5ebe0d54f6f071b851b5944e7d217b2e21c3d0e7989ebc36900e37a2fc43e053af940d9c0e72d80b8af228b54c61ddd56c6d79dd8ec05d71f2d34deaf8c97df9da92bec42fe31e9246161cfdec606609305c7961b914b4b2e86e938165330c94f63691d6f56e65a4be3eda4bf55e63d3f9fafc79d0 - -COUNT=38 -L = 1600 -KI = a19b74d62bf726f03a344f8c832fc8c2 -FixedInputDataByteLen = 51 -FixedInputData = 02e63c20027b95aae369632d80f5f368db4ca47b0e58c52143e6511955c56e1dfde761dbc1e510d945489660fcf534375840d9 -KO = d27d74d89aa1074b79384083fa9bf90ba5402a0a28b75931629d61dee000f4472f80e819e274bfe2278ee03c77e72ddc9ef93b49695d1f45c54ce83bcf7b1dd813fa1cb23b6d3312bd4b1745169f9e59c1d7cdd3ba33431fdceba10354da36095923c94e5d961bbb2753e1085d580753de99333956837a39022dc90cea76da6da35a8fbeca4bf4ca69b13c210e199c81edb5e52f32ac877e9a421b07e11d182f122c5d973e1632606d796c030623502f9366c7dcb878ae11ff9cfc37c83d6c3fa8c315b812155b3e - -COUNT=39 -L = 1600 -KI = 7e20dc04742e3da5176e77b943ac65ea -FixedInputDataByteLen = 51 -FixedInputData = 10f8a50f04fd72566e46c6547608897eb5da5bde19a70fee46fdcf7686f368b3ea5ba662bb6f5d22df898fcd2ec31b94bf1d99 -KO = cd5e3fa9ec2654876c1535bac435bf82f82558cbc73f6977a1dbde324f6346f68591a20972d92ff43261fb12df2735ce0d0a8d134154b6fb61c5fbb9e90b157d89264f9e6972424417a50cec61f874d23ea95fe038f4d7e4552dee0261cce42af4becc8eaf72262b56e31bc35ebc5203f8df9ca3633d49b44eecbcd1f11c99585eb4569219b1c323a842cd9328bd2187c385235bb9c71b648e7f35cd35ece51fde527115823e54d8f2b22c73b5fe03aa946694f56b085dd17d57b9108b8fdb6ae5b5c9396989c5b7 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 0a5a6cf5077afd1c9380abcd4cabb0ed -FixedInputDataByteLen = 51 -FixedInputData = e72981dc5ad10d6fe5a878beab6c8ffe1229a1348a388b0f763d56c62abe59cfdb3150c3035fa18d444fd29e8120948762eb48 -KO = 6d41e558d166296cfc86594976b6bab5a0faa8217ee8654f012ebad5a6e0fa94c697c39b7a07091fb4b0895898158e692343baee68d58546f3b41a367c127451 - -COUNT=1 -L = 512 -KI = 7be97e449ae443e7370df644a350d98d -FixedInputDataByteLen = 51 -FixedInputData = 72c1988eecbf7eda4fdb93e99c230ab92f65ef813477810c511b1477639f0544060e79eb0f4730ff34294af3b6e4a3ecb61a83 -KO = fdf4cabe3ec190129caaf08c9830f0efd080b36f8dab660ee3f9e27443d6e3887dd67028b35014094ddf68ad9ba5833867c4d30ab6e71f0e496ba68fc0d269e2 - -COUNT=2 -L = 512 -KI = 545ae74d2ad37533d243ce35ee9567d2 -FixedInputDataByteLen = 51 -FixedInputData = f1a6434dfdd23f78cbde8a7f804fc6435b036d91b87083e4ad0aac118d6283f34c073e7b124eefefa7255b85fc69a930f99a06 -KO = 155990b61b1e3fc96378734eca67496c0c9f42fdadcfa2d1227eb8af8ef2e70982a9ea5e1a26662a9427ed242bf16c0c82233969b21605394036e4ca2245caa4 - -COUNT=3 -L = 512 -KI = 27d49f7606d1f644fde35c696ea7f92c -FixedInputDataByteLen = 51 -FixedInputData = 6473e6b7f948f7bf18085c717af40f30e9c1948709272c690b9b8febfe9fb39bc8f9e92b23a7ae0d67268f617377cd239993a6 -KO = f7f0d57c4d71e0f963c4631915032cfd27205430a309485eff5c0059a7f8de0b8c410d5e19c0af3c14dd7766239189c91008f297a26d25ba345d9435dfbf18fd - -COUNT=4 -L = 512 -KI = 9db2a75d3d931e65ea782bece4258ebe -FixedInputDataByteLen = 51 -FixedInputData = 39aea66ccb9c1204ea4d7f3fb2269fac91a6cabd4ab0247ad7abef4d615361b0fa59d3f9a4d0d44a5dd8ad31bf9e6dc0a17f29 -KO = c8c2d62eba2235390abf935a41f57badcfc7061e8b534b3c0a5916803de1966f91291d995d763c6d2b1c7cf5409cce7ab0928f9ee17a7d155ea75088598828e2 - -COUNT=5 -L = 512 -KI = 3f46856db5b8865daa3a1ee466dc541a -FixedInputDataByteLen = 51 -FixedInputData = 07236ae08eeabefff9b8ddf3384e843e5a357e5b30b11efae0ff6c894a54003ca18f99f31657f0b046ddf742460d4ba1651bfd -KO = 8727e2ec76afeaf6e63e94ff17a4e6c592318681ec937d83fc5fbbaa814577b8fdde63f89b2fbf7cc2cd3d2c66fbf382374d4f2a9a5ab8ea30dad3a5e20c0826 - -COUNT=6 -L = 512 -KI = 8211ff2909262ec94fe5ad7cb42f6aef -FixedInputDataByteLen = 51 -FixedInputData = 00bce4faa6f043356a9bf5ad2c0cf8165e40c41400a1d8a97c4f526d62e3bda57a7a236e2950e42d20cbd413917fa6382ce392 -KO = f231179dc1abe286b7a6c64be3aba9c43a9ac72f7c62dc80f914af0cfd308a6e6b7a7f06c549fa1f006d07f154c3b2a4d50d7e85b684f1b0360c56410aef5de9 - -COUNT=7 -L = 512 -KI = 0009013186045c49118373038a91c86f -FixedInputDataByteLen = 51 -FixedInputData = 4e39bdef66665aa1b530e5f97f00ce5888b2fbc2ea1034905f6b24db4ec8a5990d7a414949964b2490ee44950d0590cddb3715 -KO = 7cb6bc3ea19cbb05a60ae9d8b79bcde0c9e04ba7d08ee18fe27a7fa0a7cabe83536b789ef52a47eaafe582c67d9ebbceba409232fef4926ec049359dbbb1fd34 - -COUNT=8 -L = 512 -KI = 83d857b84ed5de3bb380fac32961f297 -FixedInputDataByteLen = 51 -FixedInputData = d53be5f6aa0ab4f029a7b504b0305bd0a7f62991da4b65796e6b3f184921296dcee19a51e080816483518ed9ae1e542e32be1a -KO = f3f2477ffc0cc273fa16db31da9b39061ecbbd7a1753f4f86cfd432554f5511fc65a73f667bb55a4ae081ae5074b4b23857e67654f28518bf09c4e182d72ba21 - -COUNT=9 -L = 512 -KI = ee8d17217db1390b721d01017da74da8 -FixedInputDataByteLen = 51 -FixedInputData = c7a67705a2529e1af0cc1c3745b27e92c2aeb86069911d810c8bfb129ccacfd89245ae288bedad1eb5b512ddf527f87b94e76d -KO = e2526c5c8239ca4e9610a24bec47f3d741b0af86fab23ae0f34f3740d38d1ac0e6fcec97f845c7699cdf219a35a4a46324d38cbde425cbf53757327ae6f10f52 - -COUNT=10 -L = 2048 -KI = a6b015bc8265608e06e3fb76e0591c25 -FixedInputDataByteLen = 51 -FixedInputData = 84312daa9b00c9bb230e48ea66dbcb749547aade7a0b28217fdd2b4434f58ce743e64498296da59821b9398f169bb9c8c74b0f -KO = 7fcf4463f0cb9715c7469233ffb8c516b62b1e60ca0eab563a24dcb2d9172aa89526f154e088f8c0efa0da81fadf2b789efd8402e2e74b9c05362abc50cdcd22883473b02380ffa60c8d80f70bef525c027a4889914453121e98ad6e07d696a47de87c4cc105d47fd20c5481bec20cfa4d5911b56bb407ad22d156d21a1344cc0ea6af7d0c7de4b8ac556b78cf7ad64aab7adb657a2898629b5a912dfadc3a5093906e4733b769a7ab8714afe2b7c67770523c35779cd484af4836105dec3fc704ed53385e66bc6097fb378d85fd70338ed47294918fb3896288c4922641582ab8ee794c80e0f3b663d81199d81cd26aa188f01a56c6fdb09ca2a01db7159d26 - -COUNT=11 -L = 2048 -KI = 42839654cef289d10402b726f6fb0ab8 -FixedInputDataByteLen = 51 -FixedInputData = 2737f37f6197837ea8b6d6505c4f624a5209f55b457cba6ad7157ca4d923c98de25ea0be441b5b8c3f6ab875f74c6b15054be7 -KO = c3a213f366801e24715d55e9e0337d66c977eb1f95015590718a73ae1a63f5f05e42e354ec90022a0270e230a87c15730f0ef5681dc6fbd11f867504365d4c2d27bb91f175cfc14ed1b664d733ac8c1c161aaec19a1f20285207fc12b711b48174c8c84abff28435291f300e7eb51324ddfb5faed0ea0ad1c23890398a5a406534516d25da27345b013495fc83128a9c8fdade1c21ea2a842fb090c23625ade7cc8bd853909802dc9919d136f0054cf3cb85956b09701b259f0c1be143e77a97e3733ecafd99ead00384362acad71a4beb17002b872bdde9e0ae46e055739ea02801461a383435ddcf6f99e94be37874d735701b2e5de441286f6beea70eeade - -COUNT=12 -L = 2048 -KI = 96fbf374d278364ea4fb26eb4a90ad15 -FixedInputDataByteLen = 51 -FixedInputData = 0a66c749078bfbc10d98c0c35615370e8626c0afe46e1d30c5308883de2ec06c1649543597d47629447bc46db7a3f8c9842cb8 -KO = 68fe1c94acf1c54b2f28416ba1f3451d7bc7bcb206da0d8b4f6c836043d1519329598e2017204d9f849ac41558c3c5629d00ca41160e7fa61251da6e92d70014199fd4a8c4ac9c8faa11763c1f02beb628fbfa658422a17d76a813929514d384b03942cec1e17243363b997a9bc48544e62aa88841223ba4f555e8ebc5914463e381c200cdc72d4649062e38a1fb89fd102918ac3b92ea01b65806adfac598b948e6651f23cf68d8a1331ad46476312e99ecdc3e87a866c05c02703abed68791dacd591531d4c1653f9f3624b2f626d1d50c98e109e126ace0b2643b5674e878b69216a3e9a7794ea5ac976367ef69ee3fb72df623c85b85c768b8eb3bd1e4c0 - -COUNT=13 -L = 2048 -KI = 967bfbeb05781b9aa72a4411a973a52e -FixedInputDataByteLen = 51 -FixedInputData = 4cd6b2aa41034bd3dce25013c29a67b9501c2b3cb02de05f9c4b65c7c9095b7ee00287c7c7c7b87636afc86d702488e20f0272 -KO = 22cd709faedd45be3a8864bfd85efcbccd260e61c2a1dcbf5d090fef257c9f11d7e6bb2158aca244b130b6717aaf087d1fe6f1d790c6bd25f90cd2e1f895204f282e01ea09818e1040ecab991d7d5a4c2837023ee023c8f4d23ae8a87855e0861d80a2c4269a6014edd035ca1521afe7f9695e04fbeec09fe41fcfedd947064df9492f6882ccd209a954e1dca3e0d38b435f9b8dbed5303fbd796a2e37181a2bfce81950420b433c46fbce59b0b7711bef234bf2c7e5d32d9462afeb66204c00b6bb238dfdeeb85f81e519744ea966ba1b0b9495b32d3334dea8151beb3da79f39c5443567d4f94da3ff8fa7e200492a39d115f420d6751f83fa58e372c73857 - -COUNT=14 -L = 2048 -KI = e6e4a12f102fd098814cb41b469fd179 -FixedInputDataByteLen = 51 -FixedInputData = 5d228fbee2ee574fd2c6fb15e26a531c39805c27412e9ad739db6769b8a189605c65d4a5f0920a9c7398bdbb065d467c87186d -KO = baf21aa2f12d0441dac4a4bfe5317b7c4a0abc46ac888d964b5d0935cae878e7c745502a43d56eb7591e85bdba312b0044703dbc54ddb81ecd9db5aaedf5a3add7e07829f062450f65df02052924dc8f4877450a84153f63c304b499e94b31cc02113776b62f7f7ae3da71230b3359bb4ff0a70a6f00cc6df23e845b0ca1479b4c5cc3cc3cc9747d87bac6ca5967cae10ac0bb633a3613b1c68efef6d95e591933e63a3d9866c6bca4237c639c5efd6c8b8670e4be4445229ce0326a1190428d0652292f0988de853ca2a69103b473d52cba9ff8a590cb93a719638b9f559505a4c1d60ad6568b28a5d858beda5c76220b8c1f12454fff6120f3855ea018f89d - -COUNT=15 -L = 2048 -KI = 57b16ea91b4ca1f09d163bbb8f976693 -FixedInputDataByteLen = 51 -FixedInputData = d31d3452ef0dac09581928c2c2ad251248e61ce4378d03ac5bd171536e25aae05fac46ae4d3abc7567a5847864eef27a1dd42b -KO = 575c78bfb193c58fdab9e98f05dc59ae4ec700821f3f2240bed1ba28ce1988e5f7a49ca842b2780a5feccdca56be13101ab3784fad9ffe5ac71908d0a1e68c841a6ae6baffaa32e6ae1e8525c31afef872a126af1f49d1fbb15f38ba7a4bfc5588ccf6ae977172c522189ad140a3b825d8df5fe8895d45cb71c7d091784b1381c25f4a7f026a06b2324ee6a3c1ad76f7be8ce8a8cf60421f196ba55ba9fdfcf69146434c39c1291d2af163abbf5f0ea635e11e191f0c950ad2ac974ba0e4b5ec6db0c6059d1a09f11a1daa9e30ec4034fcd343645191906354fbd22138bf2497b79d0ba7321f8cb4d550e7a1336794253e86f14ae657771a8167404e1b1352c2 - -COUNT=16 -L = 2048 -KI = 4991c0356f83328e216ed3e65dfe1885 -FixedInputDataByteLen = 51 -FixedInputData = f03a872afae83d4ba0d8612739fe3093b9a7610472fe5de219bb43190a8f6efe3448ebd7156287af4a8ddb4a6589b06c86e01c -KO = 4bea03f2308e02ab8f719df388433e006618800632cda8462745e5612b12d36012d76ed415467401f8d7af53cbe08ac031c43a378a42f8ffa7fddbd54f9c29603c42cebd4e9b2b9993e4a5ff9eac7208f79c962b285b90aff64e3ed3f0bbd4b9a1e84a8aa57f7269fb308c27146e2d0ce98af72659c3c746bcdf8bba8f07576b8cb0b6086fbbcac8f2cc275b2616ff4056986ce923aa75c8fa78185c08d72992361e6768b4858101ef3265894038b732b29bd07333c0820ea12c977140873d0fd18b5396ea20e4110fb57a2419b2ce1aa51e6bdc8c3d4a1d80414f0ae626c2cb192a374e7a0fb5fdc437ea731f83443901fa73dd9b4414e136c9efdc23abcf49 - -COUNT=17 -L = 2048 -KI = a965d607a66c7fc264591d559d67b4b4 -FixedInputDataByteLen = 51 -FixedInputData = 1d22bdf20811aceb6c82f9bc68ef54fa98167911d252c5ea71e1ea661f9b56978cd0c3d494244e0c97d264ab9fa8573f773db2 -KO = 210c6ac712829466b26bcad92c98ddecc8cfabf04dba67e2d928d261cbab9ecac3faee21a37d3e0e4af539f4ac26251003cd59d66edad1ed680a0b0df711ec31047179a8a9c46ceb68d9ef3dd7bfe56fbaa5650faa352fbeeb9b9302d2f9f35cf5640d5403925bfa177ee840b56a7f9cc526f393ff5d10a58f398d8d3e82af72b85f8a9ead55ebaac516c1ce7a22aec42dc1a35eaed7724a69806afc14231e323a3e42d12e761dc183a3aa55ce5d011b61c19f7e857877df79a6806f861c26fae0dbb927625444946b3152cc618871db6a2836fc5d08c2ad7db24d47aa6b1a12c428dbb422836dde7b9b5a1e027ccf5a4be80a33de2c8f2203b4d0d15cd22e16 - -COUNT=18 -L = 2048 -KI = e2f17029aabf73759df3820789e469b6 -FixedInputDataByteLen = 51 -FixedInputData = f672a8aeaae0a7b443702aa2eaf0e0f64e1162e77dfc76203569b0ea058791ff01507bc45dac8297e4ae82ef8697f252376dca -KO = f601c2a7fff5e46ae6f8ede690f9d01691f388adfc3a712793d39af2eb25df1f22d5b60f32e52691977bafefbe63ddc7bb439461f1a17964678b8ad6d1c2b7cb45d9b32c07b58f5885212f17b37677c396a76dabbaca81bd3f9a7b21a14b00c71236675d821ffd21789439bdd4039316848e66bc29e8873a188e93f778d14ce7bbb08a56875ca2e4bcd6d7a28c57473dfea9f1476bad92243927d4bce00078a7e7f4438e5387dcd5e735f23490f4dfe841f2ee46f27878e931f8021b434cf9869219a3945dad808acc7dd9c5710cb0a5b8f4bf76c6cf5fbfd1fe75f15348f8c0657608bc315c494c37bf7cab4d91ed60ae5afeaed2ea15eb32fd7138e0c89d02 - -COUNT=19 -L = 2048 -KI = d3c08fc5e887d25eb50709dcbe4868cd -FixedInputDataByteLen = 51 -FixedInputData = c9a6390bc0dcc2fc6bbc6588bdf84a7534bdc4f814404407822948ee21eb96d0a2810e1ee183c69538f3a8b9225b76c287bf99 -KO = dbd5f2ce694cef98d8faf7f71602ba9911a4e2ee7b4a308d90efbf1bf14c04a70ef9c4ca3ea7880e55f98836a7a019dbabb119dafc539e21029058c9adad58bd22fa729ca1b7c4dd50b0eae951dca1788e1ba2c16f8e408f29ba48dd8395a32126ceb992c6e2c575084255aa9a437180c16fc142d8e951191d2af75a0a9f2171c9112068c5abb48eb1809eec08458b3eb7709430b9d0a552494686b40890cfe7f6c3786ba0fad70901cdabe4fb6a0a6e14ac1ff696ee6893a44dbfb4777c303b211572c820b8819adc46a74e6df9b4d0606990f9c5b906cff7d8d67e839371ae2ed7a40bca564d5d9ada0478a686d0f5028d8c5fecd4abc78965846596cc0b64 - -COUNT=20 -L = 560 -KI = e93844d1f469b11e017a18f493854070 -FixedInputDataByteLen = 51 -FixedInputData = 7ed4b780f3fa113c36332d26ba0c0476b63d2c7363c90c7abeabb05f7e755f57b90a136e637a0d30745537681a9f56e993fe03 -KO = 7a61c8e61125bc23097c2b3d0a0e186e2634452fe7f294f62c5afb4c2accebcf29061d2ce01733480cd9f361d09204333b059fe5b9e3c374990ad8adcefca3e4580b6b128595 - -COUNT=21 -L = 560 -KI = 5edb17969f9418ea619bb3e881e543b3 -FixedInputDataByteLen = 51 -FixedInputData = 55869d7dc9c305bf60285ace22c7c2e78970f48fd3c298ea3197183cc99abd1ee1c3cce3f11098c2f9d21e67843a5e203c9fc1 -KO = 6b7987796d91a7985151f09c3e1114f62ef688014288a2dd672d63ebd65185b4fdeb0a8c3a37559b89177e7b19340a76f060840dcaf360b7288fcf3a3638e5a992c49e8ffeb6 - -COUNT=22 -L = 560 -KI = d05cd917c94d4387c6fe9041f082d7f6 -FixedInputDataByteLen = 51 -FixedInputData = 1e0138ca21c9f7bb9893b90862391dbd5535ecffdf974d2bc5cd009da91d90fdc6fffa8b703c2967228ac1066ff74a60f0ba7a -KO = 93ddbaccdfc0455f4d843eb089b3a2eac074f606eaadc63c8ef7030f9225bf8b5f4edf3e6e62042141a773dec76e6c0f77b4cb68042bcb4f113e2dc03d1f481126b4eccae843 - -COUNT=23 -L = 560 -KI = 73bf3a4a56df26b404af546561640943 -FixedInputDataByteLen = 51 -FixedInputData = 5b9a1a5e8d4164679ecc6ae11c3c6c4a69e05e236eb948c87af8183c2d2966230315baf6e4a947e3027ee0c644a3fcca80d5c0 -KO = 9c3be716ef05ebb730e616af5d397f90aa06e2d106c49658ee97d9cf726ec355a1931be3abaa76283268f4990b599bd4577fc5d7746644f4a7f2cf8937252ce377792d8c2252 - -COUNT=24 -L = 560 -KI = 29c3fcedbd8f8a19ce66dacc330f4b54 -FixedInputDataByteLen = 51 -FixedInputData = c739e479c36efe25cf6a0febc26e414808be91ed92cbef04c76a1eba87dec164a71856415c11dfcafe935a05ae0d55c5938467 -KO = 3275601f89082f23f2d6b8698e5165c1b8dac8f622de9757dc187c0ba0e03f5808bae59a51367844640624d530022c497da8287dcfb88bc7f05b82df0bc37cb91f4cbd0a1d33 - -COUNT=25 -L = 560 -KI = 7d8d07156e38b6c1750d1c99760da4c2 -FixedInputDataByteLen = 51 -FixedInputData = 71997398dba7e02ad5aae40b0651fa7b430c73085c03e95c6e62d923eec3731c2f9be45eaea8bf18eb0492d670dd97dc013798 -KO = 2ed22d0cd5d82a17fcff14b8d81b899a74f83d553b471e79ab9ba72209f7168b2a9276eca234f8227728b4a1bab8f8ed43b9eda7ad6d268e74940c62815a0bfa7ab2064ee84c - -COUNT=26 -L = 560 -KI = e4fb58322c7c98696bbd968e6fe4068c -FixedInputDataByteLen = 51 -FixedInputData = 0e6ae701ecaa10e7e4189feed96c5648c971159795fc12edeb2681e8fd6cb0e17c7eda92a0383046c71d258fb7e0086987216c -KO = c5cd7859dde4a054db32961dc11c32d202d127b3b1f87dbb624f6218ba041a6140c898caa1b103b60a4e11582cc9f164f5a56b70e9a4423a9a4d93bb480a35b8a2bad53399f3 - -COUNT=27 -L = 560 -KI = 0c265c34eff014731b3e5b6b5b238577 -FixedInputDataByteLen = 51 -FixedInputData = 0cd7b73a1c39aeb65b026304efb62825d832d3e9d6b6e60ded4836842a290d32e2377ca94aa4548706e6f1031f9a78dd6d865b -KO = 5f744a24cd6a9ca6d18ea704df902126223dda49cba56334a6a9da87019e74b06b85345612c0a1bff0f9fee5e44f35d2c89607cebfdeb6ec0f6e0046f8e76109c091726e4bbb - -COUNT=28 -L = 560 -KI = 9dc1616dd0e8610c9979335bc5b0bfaa -FixedInputDataByteLen = 51 -FixedInputData = 540d0c2966054c15f9184e934596ce7d3754c73eff62cd0789c47f63be1d63cd2844cceb30a834b00207d3010e08e8d168872f -KO = 3997fa3c07b875680c9f7da38a43e53f88d27fe72a70ec024379f5e6e28c75d472edffb45c31e9e752814e46396b16603c58a03350a984864e3f670bb01832bf41fd9d8a50b5 - -COUNT=29 -L = 560 -KI = 3b6ebbef6760721424ce8202e693f3b7 -FixedInputDataByteLen = 51 -FixedInputData = 056cb39581e2c13c1ca082cce28b74c7ec8b121970f3406fbe9286cabc9d2ec9bf15c6ef84d64b4a290ed6e13ff6a0ee5b1738 -KO = 47e980c398dc53b5255fbb5d594603669ac331eac170aa3a00dd43a62fadd691f95711213f9d25e802f72cd95dd904b8059e5f7c4fbaba7705debdeddee1183ad1f2e66dd488 - -COUNT=30 -L = 1600 -KI = 72d19c8f712e35b6518c54b1551297f8 -FixedInputDataByteLen = 51 -FixedInputData = e85b19108ad9b3166d685e9ca8b7d1f67d3e3e4431335aef9a94cb47585605e39f04da4816d264e3c65af27cc921d85072200b -KO = 828207851832eb6b208cbebad5b27e31dd2729f27f67f7f2b943acedc424829b70d437b137d4a850189b94e68c99c41f8ee16e651e51e1cdd879e62ce2e47e8a0a1ee0677eb5b5fc29cce330565fe25994c95d9b70dc490851a7664ec4d1b39ec4c6d2ec6c2760cb22e7e2959e3239e319ccebdd2b9784dc9ea9896651a752d6c40971279ddf118edfbcfe35ed3281e4e71b7c63b034902ec2b3b1e43fb7fa17b36bb85aa532d253fb80ec9feb114ba395bab872b0a0a950cb9599efd468e29bfe286adcb5094718 - -COUNT=31 -L = 1600 -KI = 1e288db0136b71067735fe473075f1a5 -FixedInputDataByteLen = 51 -FixedInputData = 963a09c22bf6477f9ac026ed2b4f43a6c02a6091e04fdf1758401f392880802884ccf88a45d5bd4e05ac6409765dc713450256 -KO = 5620957c9a526dc70cb6764cdd5d225de226ccc981406365d8a87c56168edb093e4caedf59c61edfbe04a7cf8cb0b89e78f0544759fa67c38238ce90a8e46b0faa1dac40f0cf1585e9a3335324f7ea702fa3e7d6b8cb8472eee0fc90e1031e05eb9f652a9a10f71e632ab1f838d18343a0e4fd195089575598b9d00919c41a931a761c8b9cd36ac8df18f1dc5de8db551411ddb391130fabe7d408e9805b95f9dea5339b50c68c1816606ee4925c1afb399ae0a308068246a0fa6a1dd8bbc4299668f409c2d4e14f - -COUNT=32 -L = 1600 -KI = 07e1a0694f49fe3857769d044a80a619 -FixedInputDataByteLen = 51 -FixedInputData = 03a0dfb71066803b3a77becd4129df00339b56d0c33a35587fd38f9cbebdce56ef8e557499c5edf77f58bba1d07119d3c15c42 -KO = 52d028de3df579bf62a0a46d427bc99d9f742ec1b90e4c7591c6966ff5ffc475251eaa1858b93344d671762f11a1c9555b929e2d4648abbf286e90b82bb06c4e6a37d95b4da0b2afd97669b83e4b4469ee9c998f943e884e7da26c753b7f32098fbe7de2228a642db3c41fad3e0a2c16cf52d4abf32a56b9dc6459619501c043d0c1aa0e559fd5115da4eeb5400aa0e25580e4c8d68ad440af797fa532b9e2c9ca0cfd8b801777e880c05193a38a1d12fca13a87a41a7ddb3f4b593d5852d1fb3a26985d029352fb - -COUNT=33 -L = 1600 -KI = c890616abf0eb14cb05fef691c1effd0 -FixedInputDataByteLen = 51 -FixedInputData = d90f6732ef901996cfc46b8f9b9d62db9e10482029b7ff2e77216dbad12056be03dded638a347299d2880ac8674039bd90fa72 -KO = 0e1f458b6d2c7a2b83244b01e247234229d9abc69215e47a2400d6d4317bd49af7c8690c0d52a21f29f555a69cf9b7d63e5c1fdd89a989c8925fd17514190f1ff4ee0a1f24a55d33e77048c4210d168fc85f49ff973a468065e4aa2b9981d366fab9574bab2902f628b40dc649a5e98b1a9c66aa005641e3a01de5f1d5b5abde4c5d03d05dbb44da9b105a3f9498db60e74ea0ca5af047e6198b9ac2db8c90876cf8e4184d918eed183f2ed761baa1e8c836fe07152f04d55ee2c7cbcbd0400893fa0ad06d9510ef - -COUNT=34 -L = 1600 -KI = 76ce35786b1fc93399c88198ecbc1ad5 -FixedInputDataByteLen = 51 -FixedInputData = 48769fc04ce5993bc6a148d321cfd38285f709c44ecb77afe63cf04be70b9d9f6812ec82370095ca4127a0f488e793421f851e -KO = df60c7c5b9f37b58ba963bf9f9f51bc6000edc741472560dc91dd27d6a42b3754c446cfae35cbc4b5dc4d6beea249fae076ddf04fe1d77b333ed33c72e3642fc39a4e0fbc90e965eb950dadd3c9488eab323ceae324a126f3dc6cc4112fe17d315d0217ca252a8560c8167cf36a601325ae33babf89274cd7c5575abe67e0708ef07f0a43bbc81763d47a249c5cc6c2bf1cbc8d1328f852383d091025ef500217247e14ca8de80a4ea5b4491572ac289b228bdd49625475d4fa50975264a50d073cd656dbf79bff6 - -COUNT=35 -L = 1600 -KI = 85e6f0e56a272dc1dc2e711dd5ed7fa9 -FixedInputDataByteLen = 51 -FixedInputData = 6e0d843612c66f4075edb4e38c40d7c91f33dfb0fc9b89bd547194ba973e7e6f1c0bf3aa6c523ca41b9ad94dd154ce0e370955 -KO = fbf7d51e88e0b16d31e387e9dead330d382354974ef8340297d0fb1e23bc1d96a1542aac37bd751d266c051bb0c31b5faff6f618d5731731985cd64f80d367da6d76e9ed90d7a725acbe0784e47abf6909579db7f240a22a74893424a93135e576eabead611356a57e53a2e2fbdcc2637a7b8e66df1dac01f75a5be35358839dfc7e522e4e0ed47bb2f904d55f329ed41eca813ac01589e9d9a9051cc084320c7cc7d123019d41d2571af85148ec7976dc76a7489c15884e2b782012a0f529fc432aad9389af86d4 - -COUNT=36 -L = 1600 -KI = a5319024a36939c7eaea67c477768093 -FixedInputDataByteLen = 51 -FixedInputData = 99affe523ab635e09782fcae90e5482dee1ac8e7c7c1f1af5a093e14bc1ba1bc26220a9c4190cec85a941ef86ea78cc9baf269 -KO = 16e785c6bcd0873316da8a8785a5a077144d6324975eae31e278a92f2c3182c2782976409bae1ad4391dec15cd1a1391bbfd75161f3dad094f9a0fbb33cc415c3dac2d8ed9785842254e011b8856d2ea58489930cec8179ffe3c97bcd6362f9c63714053554a7c96a84fe7bd7bc07d4bcb98dc3bc3bfab73c8382f1860ea65425dd88808395d3f834711134b2e9ee67bb910f48cc3de6cdff35942c2bbfa2fcbae4ca04070b3cc474a21ceccd30994392f089c63d450de03414360a80be95df1a59117c134ee6b97 - -COUNT=37 -L = 1600 -KI = 2d07e58f193a114be786f7ba6fa6be27 -FixedInputDataByteLen = 51 -FixedInputData = 5db21e052c913561e463fd9e46aacc924eb927903f5ada0b246f9ccb88a1715ebb74a41f3441b134b6eaeeca7ceb9e18b77181 -KO = 7975389f84f7ad69dd4e86df30ef13c917d1f93a61e5dacc85e059e53cbeb17dadffa709dab04aa461f58e703ccfc01ee1cdc02142ae2e86e922f14c744b4efeb2af31f952939844be7efc1fdd6846075ad0c6233e86a88924354efac079c9ed52637cd244bc5f06652bdb46417712a2c530a9b05fbab5d6e96199aaf4269781b3de28232b9d48dcb8233f1972e247f3ab3ec90e9c7683c4af0ecd135f096486639f337c4b91f2f1000d70488fc9d3fb352afa203271a815bef4a8d774bc015f19093ef4e46e89cc - -COUNT=38 -L = 1600 -KI = aa51b240754791117700a6c9c44ae862 -FixedInputDataByteLen = 51 -FixedInputData = 522c40d1c4d075f83017dd57d7b8d0b38f2bb40e79069221c8aa6b0cc2988551a6e6eb825135943b6c4b2abd5839288c44f59b -KO = 3792a41bb3c006f4685061c27a3919eb8d1b14e013698eae47bbe453a9d915a9dce94f29b0e821a0b420e77985ed82b793f7a24c87f897bc773cef7eb1b96b4825c968999a9d755b32a03025ca56c0edf0e646e4472a17e7a0cfd18e470561a7b3aa55b97df7383c76d4f9b7a0d7b1230c1ecc80f4fa06beadf5e6ec185532419deafd9d219b1fa18ae5332c5e227fc8a688618ad19423f0a19f06b5d0e92ad3de596d204cc1fa855541dcb9948f1a624f805d0bcd965385d231f5ca7d4b01103ac15d99eea1389a - -COUNT=39 -L = 1600 -KI = af2e7002a7c52b222d85b14f62c3d4b6 -FixedInputDataByteLen = 51 -FixedInputData = b2d9e45d3a308c8098a1fad55c00421bb7017a5b9bc3798e69da6cbfb6879e6aa54455d6c7e1f370bc7867ea23ad22f0d1e189 -KO = b99712f9e4d54bb7fb6fb97daebe2d2bb7fb21ad16c8d0576437802f7cda9920f01d241272a65618bfaffd74823cf830106dfadeb77855fd6dc0185b502e7557543004f9f410b37fd5efac62bd04ec3a973fa585ddc20cad68172e5a5554721e02b0c3f4e58d34adf0a7d476fc3a3c69e86f4705c20718def2d4d6f0c87629a6af6a63428cff45bd35e602ed9d0512e0857b388884eb804b0defc96b588df53c6eca2ea04dab7d0802d7f6e70be3d72bf06841d257fc43fddc1ea29618f1ff54f510d43008d9cb70 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = f862c0f1fbec48df982d9c4013807912 -FixedInputDataByteLen = 51 -FixedInputData = 7d2bba9a4b121a33bc54b5515df6014407710d698d9d768a9a096a0faeb3ad2cb15ed63d9b6490e7647c814b8bac2a842662e7 -KO = 19f69a9024217d0beba61f4b8aba60267e9e850a96e7ce5dafebfa6add0df2691f53043223d6300f295d44cb31ea57b0869f5c3840ae003c293a5cdd44af46be - -COUNT=1 -L = 512 -KI = 950bdc8378afc1ebb5adac35f90017dc -FixedInputDataByteLen = 51 -FixedInputData = 59ff9253b36fefecb6be33611168cef05e52751c59edbcc63ab0807f6b019b9355e0c4e5464d305227e4d0d5682e0160fdd573 -KO = 090df4dd81a2c0b2d2b8f1d751cad94b9d44c5e09e1bbbc74b507c255a9dc5698404ec586b0ded51a82773c2db35db4c06ccd0c303f037985da8321576d261a7 - -COUNT=2 -L = 512 -KI = 44cbb8136c9cbdad60e7c12a348bc8b4 -FixedInputDataByteLen = 51 -FixedInputData = 2e40ed70ada86ec14a44d34f30233e2c801661b0119a6cce6d1dec507b096c5f5a614a1416c38357bc6c7c95ba5d40277c7c57 -KO = 9cbca749b3cff529eeb17b663b8fa243a53fafbb1fdfa3026a4f37a14ca408e39898da1d2d721bfeee0aec00bb041315f1f7642d09c99ce7a4ec0b285e3224c4 - -COUNT=3 -L = 512 -KI = 19aa126f87bb97f48b23e275856ea2a2 -FixedInputDataByteLen = 51 -FixedInputData = e3307c8aa5f21b34ab226aaa06a534ec6345d72f23ac77b89bc582110148813eec06c1de1b9dc4481022188fecd7b4883451a6 -KO = e76985a828de286de7c628fcd4953aa6b8f55cc50aa115f6a59899b75cb2cf06fe9127b50097ccfb5f284fb3cf6940bd89f95e73722cf76e88c2ba984f469bb8 - -COUNT=4 -L = 512 -KI = e2741c6740ab3f499d48af86d0720c43 -FixedInputDataByteLen = 51 -FixedInputData = a362be106f6fd79e3736d957e70f86b6d5ea4fbe0989f4be9f8ab67d3a00194871c794755a61b2915d7313bcf577b051d10d1a -KO = 4a6bb6db3483da1f904299b82df5cafcf29a531e1b0844fdf9facab15d8f1874034c25c47d28abcb58b42e8e9d55da0f670a0e20b5b7573e4b3ba4bacf6ce250 - -COUNT=5 -L = 512 -KI = 0e718e98968c9168f751309e83c92c7d -FixedInputDataByteLen = 51 -FixedInputData = aab91890b6a780db6a4d33b4b5924130478bf281dfdf961ee8c5cfcb7197dd8fb384605f2ab8c3d894c607a258cc9fc9a90a01 -KO = c2ebf27aee54a3f7c682d6d5ac09dcb5a28b9d373ec74d664054976cff075492ba9044653fdc0745d7f75bbd5769479b49fdf6f3d33aa2aeca410061e1ae28b2 - -COUNT=6 -L = 512 -KI = 04da1d12ea13655707bb1977d7e300cf -FixedInputDataByteLen = 51 -FixedInputData = 61161e93eba773f9a36554c19674bf8064a830a1d96af19a0f6275e9f65c2910cca6e374d8a7dce29fd724bc089b93949dbb4c -KO = c32f1cdf0a0ab8810ebc7d5b844902a3053d4f1f9cc3c779ecd3bae4986a3f12c426a0fbb3ab93f20598f4c0b8f1a00c26aed17dc0094e4cac52c33a0757f8a0 - -COUNT=7 -L = 512 -KI = f72d64c22bd667d9cee172464f0a31ee -FixedInputDataByteLen = 51 -FixedInputData = 7bc499eb987cc241497beacbcbd79035ae2a21107283098fc1899ed67d16722440bcbe04d3b2dd1bf07019942aa14ac28b99f9 -KO = 20121cc6347cc81272c8f76710c16054b3907bd9a95b795b97489ad30ef01ad204d7bac2957454dc75c39faeb31dbd130736cc39e7198e98ad8ede9879c7b52d - -COUNT=8 -L = 512 -KI = e5633531ff2e41ab7a95d09dd661f90b -FixedInputDataByteLen = 51 -FixedInputData = bf4e95091dec3709285d267d1a709934b14560386c48607e5c17f400639a07b27069a758bd225aa4348e8353d0b93e3f111833 -KO = dcda63eb98d41fc63ae849c79fd575ccd202e2415f8dc3d3e48499e8fd942408e304bdb5eb07f041a8f1a86d63cb979ae659c454989f31a1a88224af3584ac4a - -COUNT=9 -L = 512 -KI = 28554659e99a94388b88d170a2b83f53 -FixedInputDataByteLen = 51 -FixedInputData = 0b04bbe9b6b478c2b367cf62006bd19cfe4a85dc1399d5fc7edbfbbec0bfaca2cf2203c22639da4d985186c7d7ad992e39b80f -KO = 5b8146c26bbe1d11c55dae97067d3ebe4aa16e1803eefc5d27a0e4c5d13cb032ef99fb4e375c80e21d2152a61688622e5ebe3194e1707e6d899ec0eb474441dc - -COUNT=10 -L = 2048 -KI = 794954e91a556d625e78541e5967f1e7 -FixedInputDataByteLen = 51 -FixedInputData = 03fef3777dcb0069971ace2e207701475273a849f766f1b1db74ab263ef6ff84dfb73879686e248c847af29eff18b4a0724ab9 -KO = 763a7522d58f85e7838a7854988d40454e6bda2f7c4a3b6d9bde1bdad02503a1387a2b99b62d8bf2899562072a02078520d895e67c99c29328496e32b427941b381cb403c1e1be236beabd8b96bc04f609227253ea61badec4e7d2e3b1ef3197e2ae4e5d932a31a97a56299f8dd37f18b9b21a06a396d71bf87c24ecc07dff114a4933aefc623c083cd5e809878041b377e004175278cd0149ae2043f2ea7ca907279a7cf7a1fb271c0479322d245dfe0be286b65606cc99b98cfe81be386da2671c8d35a1a3f523bc989f5906817abfafd5a8bad586ca9fd7d8af62a62e56e433851569fd51a159cc21bed2957bef70d20abd20c9cd5ca3e27ac6176be7b21c - -COUNT=11 -L = 2048 -KI = b828186012358d1f762c3f63c6ad8a5c -FixedInputDataByteLen = 51 -FixedInputData = b27004bf56f4e5a349bc386cb1ff168657f45f632b58340bd01da4e4346fbd4b5747707093c9e1df1351fd017dee97600b1520 -KO = 7f87341b835e4cada7ae1d7171d5f9b94bbb5b26036492980e7680d7b42acc48af85634920c68941be23850f8543cfa3b72db08b839af7f2484f3f749e8f88322158f1d62bfd957f072eaf7b78876aec1820b95b6180f6f69c0cd077fad1467155ec93e81c69fedc836627877d1934e0201ddfbc8e00678df3fe4aaa40f26367d1fc19d5f6e65998c7791b18563d7cf4d5e10d8077cc60df77da3e6909851552945162505b3b468f0e7290445a6ab59cd3d6bbad415a1dac64f88368c9da79d449129cec112e0ecbc30fe2b9b1fbcceffac69867009a68ce52bb404bdab084d2113cbef210efb04d9048e06561586c9fcf825f9365e170e914e01f76ebe5ac8b - -COUNT=12 -L = 2048 -KI = b78a4691c642b3ba61ea0062b40398cf -FixedInputDataByteLen = 51 -FixedInputData = 2c59b62efc4f063182fff62c9875fa2d5e58ee177dcce7fd7a48250c64c67088fdddb2147e1a66d26c3e1f44aedacf4124bb41 -KO = e88b84d2a40cc4a7734de7755b3c3d7c9be796ee939d8c0e5cacbcdb637ddf0f0bc139b53c75ddafd8bb8748356ac3498deff3d7b978a6495faafd29bd2ff9fa971a34e6c04039bae592a8dbefdf7037c3b5fc0409514c3e58555e32e95dab2bed7c01e0030682b51942bdda72802c5b9c423da3f23b0f6467e95191a3985ed128ecd68c8e6f965dcda89b4d8c9ced7e8d80fc04c5cea5aaeaa2be5ad06183d2049226610c3b89d7ecf453ade4778edf694143260625a2deb7fac8be59ec914fd27f8419a2e8ddb3910f97917bcca29088dcb2af12720ff2d1343ef1a0cbcb8ec8996444c64f33b53613e8d5757307156e137c7c94c2f6387b01d9920e67a65d - -COUNT=13 -L = 2048 -KI = 674c1241b0bfe7f1ce020cf242aa3c88 -FixedInputDataByteLen = 51 -FixedInputData = a008433d2d4a0a84fa0d410e40e9821530126dd15c13da3b0a42c030b0b6d1370df57bbd95ee3e4e99b1679a2d751290ce4482 -KO = 2246b89d4d8a72dfc6c1f0c3b1e1e453fe55d246784ac0f524c22b670b08e3b70a3840774960616b49b7fad24b63b0b222a03bb7a3080da5282386857bf822b3738d4b53f57274265c0a71990b79cc222e1cd5084fad94d9dcb9241a1b239484af5cb93de1556d7c19a58b8e006f70f789dc9fef397cef22b91e41dbda5ac007772f7ae3d12dcd5e47193e4fbed00f8853a0f170c00b8100f8a4bcfd8119893b8acdbf7ce44de502e82f132132d0491d1a0235a0497051eee3c21bf21f21cc6aa997b537e9a4a16dea780be5e011859a23203f859836edbaa1422aec939bca66c4eda8befd99674d5cfe4c46e0597250bfe6db515b031ade7e036c6db5e1e8ef - -COUNT=14 -L = 2048 -KI = 264563ff826f22b3a05156b35684632e -FixedInputDataByteLen = 51 -FixedInputData = af38e8f61a8b5a53d35367e5103af67c62c536e2c3b4f3d0a9138e3fad222f855704a026a659d7c5f09027b55b125dc2f72b6c -KO = 94a57639de4720ffc8c6d058cd9803414c81b7ed10340ffe66381abb24f9d4d8afe0fc8b04f3ed0a2fdda356ebe27284d1681f1c926e9c87674af1e9c5bfac5eb888e12e24a30fa0ad44a9f21fa45a74b7366ed34d7532d47b128ee0c33326b7bde723b3cf57ef87ae8433cc29a04831e20b384883c5d8039c292875a7d35bb70f517704d33e0c2c2395de3a6241c3e12b1ebdc619bc79587d3a5675c1b1f3bb4e3e28b65ba5ef945dbb81bb4e02abc3da1e66fab15c33d2b778c0cb9e418feaf36b953083d1efc3d00f9d20982afee17b54f6ca8c865dcc4da5ed0427488a8fff723aed0d88e8b1b73412be8553f06c1240ba830da51e84cb163e65fc05c778 - -COUNT=15 -L = 2048 -KI = 019e00868cfa2fa172cc5a94a44028b5 -FixedInputDataByteLen = 51 -FixedInputData = faca9fa43a3f8f7a7e440f8c9a26118d1622b700e4b43c98b786dea7a11207ba0f8bf3e4415a11503e61b82abbc8eb7b6c88c7 -KO = 2c9bb039954130249fc9a85e23699fd6e422dd9997370e929cde6d08a3de8f76465e337dff6197fb9a3e1db3c294df02c29e20f1804d4166c8e802280dfd8995374d6ea5c102209caa65797f658df5a9a016c72ccf57add347d6cedeecffc8e5ac1bb5b00dac2eba2e4b62df1e0f13d32b0e3a514861887544389896310c2bda631f2de48dbe0ac02361711434fa519a896f936455afae8719eae3137d1fedcf5046cf07d1cf45fbf6b2d8f090e14f3a41419cb6b26e88cbcc092075d85ca4edada32aee628fa392572b98b78a066336710d6f0595e9231198eabe4e68558dfcbb3b700795bd2554954d41070887b33076db2c28f11bad83abc0e10658f59a0d - -COUNT=16 -L = 2048 -KI = 2f28a938cb766b63473128d69229e962 -FixedInputDataByteLen = 51 -FixedInputData = 1bcaeb474c74540724379718e66bc60574000ef475ec2590f62ab4a6cceb5940baea10333486c406ae92396a176f339b725d13 -KO = 1bc4d55d451cf5162004adcc49c66a0639d95935c9b72ad299482dd129a002b761b18ff2e18aa8286238648d20f716a4f61f0d0396e9e151073c9c5e13f42ae75137ef6a70e68c9e8ba0b975bf2c88e44d47f62efdd5c821b598cddd9834cb83312436c24b27cf4b390ae53184d694e837ed5637815ede58a16399d43b10e60fbc32adb0f0ca840e5f1645506caf42355a0befd29274c00d49ee105e8ceb0bccf31de38439d38772fa8d73fd01971c3582aaf37db28f9ddb2bb8aa43bff89fb390560d932089f9b2f4197bc46de2c9c8dc1b183171f8e82c3e2a6dfd84c62ea8e30126411346f6ec685aec90caa3d0de23aa7709e187a512f5c2fa29bcc5694b - -COUNT=17 -L = 2048 -KI = 2823a013eaace69223b2ffc75f345025 -FixedInputDataByteLen = 51 -FixedInputData = d1e4a4e2917a5bae59cfd71da76d262f54e602db2dfb6cdcd1af484fc7063ec32377aac8d1980dc6bd94b0b892eb19bde0e28b -KO = bf72cba7ac9ee4ef176fbfabdd66ef0ffa13beb64f595b762e774dbe0bbd6fa741549a629f57571c28e123e80a332f62ba52fd379074c7a1e8b80de93796f704eca31d75498c709d7e195b06b0f8d7d4198d96371e07bd04bffe3c4fe961377c0ceb61b6551f786e559eb164fdc5379ffc233bf92c3992fa6d2e804600dd1261c58b74f8aee057039f7b3d2c0a8879cc1715ec4770f89f06f1e9710df65f6c12b4c3e59b6d5b67803ec6207aa83c2b6d98b2dcd1d2ec450c27de706c75d16e6976a7a85bb35283eb479893dbc5144fd26cccdf5fb70b17b69d0205d426f6b0cca962d4ae607069291281103be62799c921b2a461c02ce8c3e016869d6413edc3 - -COUNT=18 -L = 2048 -KI = 4c46d8e0fc97ed3e0ecec21d976c7e67 -FixedInputDataByteLen = 51 -FixedInputData = c3b8e75f9dfd25eb8e5cae9e2a02845b2b24f6a67db71976edf7ce3d49fc53644bb65cbc388e32f4cd36eb957b9dcefee8bbcf -KO = b3e0bb89f2fb32ddcf33c624c2775d2145d72b790682378d5a0e823ee994a6a51fe7a327fd817ff94cff025f2617b7a6d44393b17e8a0223aeb5fe974c503f2ea2b6e9c567a1222d942052bb238a6aee7ff6b2b74b25a1248c884d5b00e61819b413cbc9cd827bac48882fd53b293cf5cbb310fd803229b40264747c300536c63819624cd23f6a87f72506e70e61749be5def114a487fd2cd72adda5566b987c32ee95fb5ad24733717273ec82b40fd8fe6fc25c1d450a490d33a462d2fd343fa7a601d604b9c14e9c176aa0727a23ffb2a6061e67e5ba155f4703c34a299a3eb0e03208172bee5ff72ac2864928efbf616c5e1b671097dcd98453b7c8c594cb - -COUNT=19 -L = 2048 -KI = 911b2099c6c68a54965e794292075539 -FixedInputDataByteLen = 51 -FixedInputData = fe5e75d7a1a2ccebc341a8fa6a794bec2b92b1cd5656cdde21e45c186716c59e389fc8aa0b2c7bb692893944f4c9668db7729e -KO = ccb81c75e6afbf041508918c3aeb43249c2ba5f041ecf0d789fc0bee29c38e5a721e26b108febca48d630214d668aaf3ed150a12cd7fb4d4044b005515f136dc37616ec9f58aa23243726d42fb12840df2f918691216189780c3c1e758df39f79b2895e738dc71bff059d1beeebf905e7b40e7232dc0bf75e85e1055e753c31af67183275cbf0c2a60a9897d5c9cf3c301ba440dc644d3ae9be5845c0badd1bad35de98cf55334ba453a45212e6af1a21a151cb79535922a7d0465fed307dc1886cf2281615c40a783e08da403145d80b19572b6d1f7ff1e0c82f7544896296d8d599dc7689767434ce1f33a74a0e83bed72f948afb5208df1041774d4fc697d - -COUNT=20 -L = 560 -KI = b25230047fb1b85015922d4c7f542699 -FixedInputDataByteLen = 51 -FixedInputData = 66d8da6adff36c73e9e1e194c91410ce5ffdfd2333621e18cb4a663c2fc7c44d7a5c4102d4895c117e108c3f793bd99c4570eb -KO = 71a867f3c9b207c64e6bbd49ca9ad87403fba5370c72e3467aca920dfe54d8e4f05e18d72f5baed57b91b70651c7859484e2da41b74ea1dfca248f0325bc3ee2e7b3bf07666b - -COUNT=21 -L = 560 -KI = 1e72887e5e1eaaba1f1fb968cc5104a1 -FixedInputDataByteLen = 51 -FixedInputData = d5ca3601b9e046a6b19344e853786a344a74c8c73eec488c05b3ec2bcfb77309a29186045f53143dc546131b0e6b8d9c9a5877 -KO = c8602e87f43d8aee609fd37f1202b32db23db8532e63aa18375dd694fad7aa64d892b45b141e9ec80e0c24a3936265fc58b08266a2cfac60b3b5e587e377fdc63acd02d0d2bc - -COUNT=22 -L = 560 -KI = 641416bead816390f13a179467378db8 -FixedInputDataByteLen = 51 -FixedInputData = 55153dd5fdbef0e6c7e37a8f96cd8c6d35c56bfbbcdd6d4e65c4ee6c1392a23237f0bafb1e93e11d26379f4b4c2bc3954359ff -KO = 4e37be6ff8e43975c0c7575d315153ff1723f5463d675acd8b8407b49a77a7d00a0e062bcbfc75e1ddd495e1072ab41c28742d5c112e702431a159dc5b696543fb206ad6bab3 - -COUNT=23 -L = 560 -KI = 6fd07084e10ca5b53f9f8ea199d9bbfa -FixedInputDataByteLen = 51 -FixedInputData = 62b30958aeb69f9bb195f1a903c206a4f18ba1ab765d8580c4c99e703f465f55c436df94d9a59f278a3bc60f376fb225539058 -KO = 0bfdbcbcd6b8e80748ed2187c8e11b2e895ecbafaca10c4d2666b7371ed981bf56f6d38f490d5e2562fd9af06fd3d69916dc4e25de541d548e103d2280a0b2e381d3f506f408 - -COUNT=24 -L = 560 -KI = b14c04176774f5ed00aa6968f0be09fd -FixedInputDataByteLen = 51 -FixedInputData = 08262334e24938a581024ea5db3355c218e92974004b734b8ba4adaefc75fbac8197f6868a6a624503d814899c64239ef544fc -KO = 484c432da87c5c9ec17d216505eda655e36ff9dab488d776dfa79de34c9960dbc7c83857a58f9f08d72679b4146292501f5da16b3391852e614448c742e0fe41f276d66131c0 - -COUNT=25 -L = 560 -KI = c1aa1e2c06ca830947e04185add79005 -FixedInputDataByteLen = 51 -FixedInputData = d0648f3fa338888051fb47efdde793aa1acb5bae04812ad17e0dec0f0a8bee360f3862107a9576f7174fd8d9b56c97d40e791a -KO = 018456987e0d0b0c678f951cfb3ec4a6d6080756eebddd5bc7328fb5f592f70037278dd05646f324d9cbeb46b66834e298fe3f2c3a619c5418efdf2e7db10d63821102e78a6b - -COUNT=26 -L = 560 -KI = 4f2b35ef68c5c4fa74ef9cea197849aa -FixedInputDataByteLen = 51 -FixedInputData = 816d1dec5cf9fecc6326f26057c17bd215b298b5bd7a385830b5e578a8b8315799b8e591307540209dee9de9c76734d1846f5e -KO = 34a51f0564aab1c68d496c7b7c71695708b7b55fe76fb92719abe2fe96fd15bb779302af294a94fcdac8666bcf3864003e8fbc032c81dbabb99c92827f8edfaca8c445b27fec - -COUNT=27 -L = 560 -KI = a108cbafc983eb46649fca25b24cd7f3 -FixedInputDataByteLen = 51 -FixedInputData = 30049945673dfe31e848adc70c32eb50f1844ae93eea7c807489c8d0e4fe75f92e214202d4899268f664de9b6f73656a2e5e19 -KO = 0b19903b8749f40451bd5655568b453f6cc813115c2027cd3a0f3ac3fe2f5a3579ac7ad140ee6bb63056b52c8fb3bc6ab8a8f4d0438920720fa390a6ea2c3562148f76d4c11c - -COUNT=28 -L = 560 -KI = f66876f41bbfea6b3f3d587699ede84b -FixedInputDataByteLen = 51 -FixedInputData = db037f1e64bace6dc192f5c4e9bfb35b6881a28b9515543a9c4e9aaedfd21a72be448e422173eeae8021acc63d7ab5945f17ec -KO = 0498d59beb2b3ccee93a07d0c21a795a1e765fb671b7efdc10644410b809185a78cd966ca0408a4819dbd55cf1fc4260665cc41198f29862edf69fb6c2152b79ab22016f8e74 - -COUNT=29 -L = 560 -KI = 214d0fd53edf154ea6acc9ce1c00fba4 -FixedInputDataByteLen = 51 -FixedInputData = 31809c2266ef377a0e6e4f31abb3eef48944059350a02583a6ebb8215e39185748eacc99053e914c166f1cf17fa4d09d7ebd41 -KO = dc81db213bbcba04456324031733798937b9df33d164c7adfd192430f699b8b594721b2b1d6bf7963bac8bfaf78afcbbd1c66fe0840fdc8049c4a052877f76870896f0ee8e00 - -COUNT=30 -L = 1600 -KI = b4cfe5d9c449188bcdbe9785d39ccb25 -FixedInputDataByteLen = 51 -FixedInputData = 02430879b6f1462396fd53155918140f831cdbbc7f124a305ceb9f670d5fc6bc9a9c4323ab01c36389522c209c9aeeed0e733c -KO = 34efec9af70156b29edc655dac4a5f9558a0ab6277b8688537e6751049bc766522434b980d4ea05918c14ef1f2eeda3188cf70d88dbf270aee9e69750cbf4a1b2ef07c2e878b1fe385a31fc91a3edc4939d86e79f4216c9288d4f5755c584d201d2fa0724f0e18b5d33584a2e7fb3c9fd3c2baec811658451147c65013412f4bf662e845564a0b2f4b63b5222fe0309a9046fcde634945abb8e698e5cf23ab20b347a59e4e0a4431dbe9e268cce435c38193589b82b2999de61d1739c78dba752f4d035090f1a053 - -COUNT=31 -L = 1600 -KI = 8918a687950fffed41072831707d44f3 -FixedInputDataByteLen = 51 -FixedInputData = ec60647981739b5cf44f8e94a1cccbb3a969773e2fa3ab03f623d7e0bc6e2ff14c90f9482e072ec9eb3ddbf0ead61e7a068298 -KO = 9a88946760c9bfc7eaf4c043493657c97e6425555fb56a36f8e330c01e2213e64bdcd135ae5b8d062733751fb960d23568a200a54c4ceb853eb05ba9b336403bc60f07301e5b3ec28d8c90b50775a9dc4fee4fdc1b63887fdc4f0cd512e01f119ab4ecdeac5fad9959a680cfc9ce2fdedacf329a526519c90fa024287f1498452da54da0928d2cd1e5dea63da951ae7ae8584be5a5467cb779ca92bb862c666ebe5fedc682186ceb25662ef4400d7ed05aee3e7c831116f8dcbc3ab01045dad85f654aaf88a3ebb1 - -COUNT=32 -L = 1600 -KI = 52a2a411b50d3a4a42173ba57121cd8f -FixedInputDataByteLen = 51 -FixedInputData = 961c5e5507e8be66ac76b84d036e213e104e21e135056e515e3085239c0aa0b74d063aa16c9383f0fd7fda1687a9807030e0a3 -KO = 3788e3c1e95d4a5fea33fbf040f981d4de7ddd1a1046a97a436d97df3002c0968a44330f45654c0947b089510f6c410970bd4ba4b02711d932067c98cf6699c99e3cfce23dae9694d5b6071faa456235b00954823639471359d48357e696bf9cc19c792b9642f921ab7ec8776a533da1f0350edcada8925ccf1013857117b133b31d6438ccb222016d60a28f783581f82289c5271f8979083e1a16c74333ace7b578a6b300e928aa148f4cace0ae93e66f89c52b1981412752813f49accefce1a453f99a22bfbbab - -COUNT=33 -L = 1600 -KI = 3d6860be2fa9c8aa9df3ba7eb9ae7837 -FixedInputDataByteLen = 51 -FixedInputData = 74a65593a5f3469a25fa1169d2c30a4bb5943565662018754dcf12e1bf03b84d068f5ac07e1731e209c6038d22524ac58981fd -KO = 05f95027d28eeab831dacebdb27100311e998448ac547277fe7fa7b6d30a3d74c79f0c6458ab3d7fad5332a3becd4c12ada804da6a8eca6228c6f686730ada75b620f234c582661319a02f7a46a61aea7be0c529cd4a56bde7189d98ceb4ff27e5fbf97319863a0407853073f93f94ce2245ce4dae6b639c20b49fb1a2023447678f87a25c5ba00d4ec03b60d7a317bff946dfd78bfca5868eb0618b492177157a9857554f02be8ac68d4f5cb7fc127dde913fb8b1893298fbf3755c12e828aa278c0fa8ddbf01a9 - -COUNT=34 -L = 1600 -KI = 0b0346a10b496a07ec011ce0c9bad732 -FixedInputDataByteLen = 51 -FixedInputData = 7f9d3782d195696b1a6e0a21580466c55c5f087ad9cb79a0debf21145695a1a01dc5434db471fec44e9646de0da36e55e3d9bf -KO = 03107403cb015d2e3b2e996492f1d4fdb9845343dfd874fa18e3373a8b7c5fe3985458e76f68972ea6e3a4d0f865a8895466cae9a91a4ed405794803733a9d76156e3ae53779517929ba275f9c3b6ec9ddd4899b31286ff3e49fc0119f8f8f722b3a4e7d594c6c42a3a09f97f79abf636286513c8cea4298cc34c468ebe8793d1ce0c247e15dcba7058f3b89f59c5ca86f7f62b8f9d700be30a432b01d29f3febd8fc16aa7baaaefff915b852d2254efbf708ea02ab268114e42c137e53b0fc941f835297c280eb1 - -COUNT=35 -L = 1600 -KI = 058160e727ebf2a5f0af706978a4ec65 -FixedInputDataByteLen = 51 -FixedInputData = 7a7f95ecb624b78236fd677f396f3ad3985ad9c8c0db16f0725c0a8b56d72e7bba577c87dfbeed54800cd334a003a44c48211c -KO = 1049022592e664667f5d427c323280779f99ba162305dd7bcf943e22d75776eb2f1ef1cff128363e42fcb8516e1b837ecb503599f4244627db40a67031f9b462b9e28f4afc751c11b2bf3074557915106f02d99717a626d6a2c4db140a8bf780045480ed62c012af437231d192d2c316946ae7c23bb252e140100daa7ff49ef15dbb09d776aacec1ea080311766cca0ca42bd4320324d05603f34afe3dc50705d1f0b479b420d9a0bdae943c608a67adb0146597dc48acd0b8bb5b83914e8356fa5544501e0d7753 - -COUNT=36 -L = 1600 -KI = 43113a1531b6a3cd1c5b977715741086 -FixedInputDataByteLen = 51 -FixedInputData = e8615ab462c8ea7aa4f27c6f572a1a7a625f67ae661f3231c376ee5220421b858d57a32d82a9499c46d08548ebdc8b7f95fe55 -KO = cbfa60214c44b1a74505a535b0e256ad228e121dcdb0b03ceb0b8f63712ceea7f0bb0bd9a687d393bbc7183f5451a55017541b280043a4fff5bd6121630f445c28ecd43c55249174419a42c1e77ca0582c44f92e38ad2e0bb66b36048e70fe2d320187115a4483476945674b7e4a5213b63206bcb654ab12fca6fa68f2b1b3c578e09aed22810a4ffcd0971566ba79845f57fd9b9202f449826fb332cf30b99ac2f9a82f06fe76a36a47758273d8dd8f5883e1247b4d6d40e896ec85e13883a5281c96f3b416804d - -COUNT=37 -L = 1600 -KI = 3a8a9a6aa55b895289aa19d505e6084f -FixedInputDataByteLen = 51 -FixedInputData = 61d3c901d2e268c9dc2cf223b6052718227d9b7ac2d3e324aa8f8438c753c41d4087a2b512b5c057604f54ff8018e3916a097e -KO = 06226b824b829b8848056159d9fc9ad39b4dca93195af211360573b5665751a4704829b4a8ab937df34fed4f9805dac85d26113b6d1f32fd6779611a056ecc26b3bb984d68b11573005da44ce4d9c7676de67042fe04f3ae25b774ed051a667ac15080f47c4090d050ca0c65db45a6c7e6845179963cbb1690124073512dbeedabebf9748a3e0131622d94f6ac5ee49f58069249b4b3c9858b7950204e08cb62f00972e4f3dea565ad17ed16d797703b0cc579e5e8b43979f0d133315cfd8b79dc681440b0f3ae38 - -COUNT=38 -L = 1600 -KI = 1decfb2151b72374ec43ba7377924f67 -FixedInputDataByteLen = 51 -FixedInputData = a626b81992ae83c12cdc78c56300d58c55e663a1d01fae14de5ab78999930566d038d6932f75f81738d4082dfb6abf19220ef8 -KO = 61aaa8735f3b26ea62617715e2a9178d796e8f37c4a22f115cd6fe49e4ea1fddc98a5a27a32a3cb265526241a2d6ba6c8e74f1d44e77f3f99e1c60328847962fe152b3c2a13f12472183683abf0e74b7e99fb321aa37ce962e4a1498d02c0999af116e3f7351c49c106323f95e8454fc80d5306374cfe8dac5af6e1c69d45c31c85150322ea42dbefafd86261d976ee6b0afe4e9a553af262a4928019a5a09606985bcf52a9b57dbf2a17aa5079096678a394e87f5cab82bf6ae9c076b6fc085912dc1479e5f9c95 - -COUNT=39 -L = 1600 -KI = a48404aa872fc461449bdbd2d0f2c866 -FixedInputDataByteLen = 51 -FixedInputData = 51f57a1596ab9c006a581a382153f124b0be21d230decb7ad9de40009cdcd185dd43c6834a1470f76685ececd4685528bd4c09 -KO = ed7c38b66f6f186b975ecafcba30122753b5b6b197c8be235745acd3fc90fc97dfa5d37b0dfe6dc9a2317a27938ad9656be9ae1ac293edd015634ed44a5e723acffbd878e5e37ab038ba5669b9c94c2b65d8c071f7e5333dd6df00b6af8c1500df73be374c702968f4d1e68bc3e41f281d9ea59fda196793c56f0ece23f3f6fef6b43f578b6368516abfaf31c43e9b8667424cd261622b07b179c8ddcd84d717fb0e28402e3e6d5a9b226c083d29b530e023925c61e4e90c7045533ed01638552ef25ef6ccd4b3dc - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 08a5a251b8e4826fbf73292f4cd6c790 -FixedInputDataByteLen = 51 -FixedInputData = aa5acbce73a98d4c4f361d5c22a2cc6f6bdc30027aa31af1ba8b15a5bd5b6a34d133519ad1a82483c2d2a6dd9a97273a780421 -KO = ff1c72ec38b8968a1ce0942a571a1f522ddd2a1c6ffc2b60c90bb54a5c0e9de40d289686cbff127b408ec64ef615b18c1abc0736ae4c94e33e54d832e686276e - -COUNT=1 -L = 512 -KI = 66d44263f83463a82251dc4ff04f1402 -FixedInputDataByteLen = 51 -FixedInputData = a87c4e1d614187a9f3a909195dff023606f39dcbed623c09244505b7f40883241cddc567e45757d6cb602bcdc32505f8e13b84 -KO = 83ec6ff7b87854fcbbf87a4ca69cf8823bfeecb7acdd288dbca489a4993ad04942013d616d86cfb2cb1a64135ba7555ede85479606e34dedaa8b1d5e7a0c9269 - -COUNT=2 -L = 512 -KI = 3526eb2d806b79f78a3192cfcd2c099f -FixedInputDataByteLen = 51 -FixedInputData = 71c402b2f09f7abe2f37dae0948d39ed09ad14c7a00b20e8f505d0d32013ec69760cb61d4a005a12394bca4f9ddb450d0e5e31 -KO = eacb4c98fe47fa0511402036c96c4ef8f6d0ee46daa44337ab68a18c9f1f8c5c986ee32b45928a9420a333cdcf01645e234e8a40205f81ca18a30d57fad236b0 - -COUNT=3 -L = 512 -KI = c6aa38456a575d6e2c95448cb078f3cf -FixedInputDataByteLen = 51 -FixedInputData = 3eb7dd4ed120fd5a2b994bb56dab832f9c251e8e9721851a89d637e7262369926f1151ee4ddab089c9448897b0b86f5ebb18ef -KO = 08fe4e9096189c22d4142ab39a61b06838da163edf6cab812d4e5cc0c8bd5a7d10676f80164913c499a6c503011a769804799a3a2bcc831a459aaeebbbc2be99 - -COUNT=4 -L = 512 -KI = e46120ac5f89f9b765853bc387572757 -FixedInputDataByteLen = 51 -FixedInputData = e89145e14f9e19d832774ab516cd0d94b36853cad1e16057e929156cdacfcd32a5d0371ce5979ecf2727e8bad88cb8c5f02410 -KO = 5efe67ce9491934c0d6231f7cd73789783db6261818ee0bc89f90ebd8e50fc302614834f856556a0a8ffa314945226c36d0a02679ac9847a61acab8fb2079f72 - -COUNT=5 -L = 512 -KI = ec92ae98e73df0675320bd9011984c7b -FixedInputDataByteLen = 51 -FixedInputData = 7ec6652e31f1e48c7ad1183b88a3321d9df621de38e49058955b6736f6b0ddf059e52b98d2db7d369f90167983fe1e5c5e1827 -KO = 66184feaaec50310d0c5904a35ffe69a336190c0918bac1ecf5ae26b0097891322a5c35dfab362759c4282a4142d2b63908ed1cf4fd66018582da20be96a54c3 - -COUNT=6 -L = 512 -KI = b6d8b4653ec67c4190b5b4abb76d1082 -FixedInputDataByteLen = 51 -FixedInputData = 50acbd472cb0350129d300eecb04dd535c5e394056153253ff379db5dc1e3b52bc06f4911cfae4fa5a2016c959c97154450db3 -KO = d39a50f3e6e38b17379c1bcb53266b1dbfd61a841ab5bf19acf2e3f048045d1981014850039ffa7571a7a6ea9864300a003ac3d2d27b3bec39bddda9ea2da5cf - -COUNT=7 -L = 512 -KI = bd4187c1beeda8f2266711b3f4adf727 -FixedInputDataByteLen = 51 -FixedInputData = 5e45a1d943f54d56725d584c273ac38e8458cdd4846528aecf83f76de189064889acd7f9376084ad248ce6d257df2d9a11e9a2 -KO = e9dbed20ea81c063edaab80970e006717d0a40cd2f8e54eac93cd1b1480f0b6658ba2112d86a521aa5fe686674f4412514d7c56a6f33b6a13a09e133a8758778 - -COUNT=8 -L = 512 -KI = 789167acae779c18a00bfc5a620403f4 -FixedInputDataByteLen = 51 -FixedInputData = 12512905f6a460840f5f4539e9ab893bde90de04b090ce1d64e9e8e5f0b3a3a6ddfeb2a7304249bd69985783b165296693e09c -KO = 87e343ab2b44c3633e1546e42ec45adba4aec5d736b9c2a1eb11652aed3e65eae7a7d72833d6628fc4331ddeb077fcd349da9d54d765078282ce0d30781cbf55 - -COUNT=9 -L = 512 -KI = 3399b33743781741dcc45b80913f894a -FixedInputDataByteLen = 51 -FixedInputData = 53f6805512e113fc87cb00baca7bab69611dc9771e3074313a0787d98a29a0e2267a214024982fe9df0cade44bd3d2c99436b5 -KO = e55177fc452c2c67c2ea0ce2d9d49243b8a340ef3526b7a6efb3e3c212ca0b8feaad75cc0c17d899cad8f14b7d2d0b880cb8ad455a1c4093984c243992d55ce6 - -COUNT=10 -L = 2048 -KI = bb9d93c1e40d8875bcf567ecc8eaf4b5 -FixedInputDataByteLen = 51 -FixedInputData = b64adcded88de6e70e1bfe50ceacdb998701789e47b5cc805937246ce5e7ace5091077596da8684c6a0650af05ea3efef70fdc -KO = c7f85e091106f962cecfa6956513de94f88e9fa26332ca52ea2184b180545bd13c3f6820cfbd3fb0096013df272287235727264bfb3520a46821685a05fcdd8cc8e2212305f2368a787cb0e048a1ca1828f2afab1ee691721dd10b8e2fb97c1154b9131d24b40c53c8c8b38486404cabbb69c0cfb5cbd84f7502f7db20199c7fed223efb2f62bb0e73dc44a2e973bd77d851c5c5c8411f6c2252d7870a3d849b183a0e04574bf5e6c2a3001241e6623b3bf29d3f979574d7b2fd6487db081c994124792b25609105f4e890a7c8706c16aa20781a4915df06c9edb31f95de76a2b76de2687a6862d11fbd8159fc9fde375d54d8602d56b34bd9a6826b0897f90f - -COUNT=11 -L = 2048 -KI = 9d333a04b228b6dcb335890cc53fc308 -FixedInputDataByteLen = 51 -FixedInputData = 66350e5c5d672d679213fb226ab2af69251c20397ff0b0086dd698525599da609e5497d073ca4413c5c5665b80956ff71441a3 -KO = 6895c91224528eda68857c6bee84c991c3a969ec04cc37787b728979225e9ddcc557f6143cfe7f34d903f851f10a07d91360a56860901ba24d3e1af09f43a390a057c6b81cbdda232d07ed6e5fb9807e5296446a043364b0abd35808cc08b91793ed2d1bb8b3230c4e6f4cef120144b68fd8fd65544e58d4c09d198f876ebb4407c65175c64105ad4f78eac6a36b1438866462b88b5e112e67a762c10a98e78ee5f8c42bc463c62eebfd928357600252d730a76d1c39012b61ede08d8d16de9cb1e0d51fd442d42be8a20345c92418271ef3344762eaed57bd67f0f8715d898714dc019b689aa5cc759d878373e9a715c9e820ab04d3ecbdbf2b5bce6da8d1f4 - -COUNT=12 -L = 2048 -KI = 151407532d8dd800f2a3019b14a97219 -FixedInputDataByteLen = 51 -FixedInputData = e7246d2763f73769446dd6b1da396ac8f2d5c152adbaf8b478421166f5b25c2e49db2fae0b37cf40bfeb51a40f507a88158247 -KO = 0c37cd121e93fdcf62e827ac12d3c46773f3b6322d438da0f0ea8290f5b314cf5bd0815fcd5eab235de15312c79942fdde62d4c35032dc7cd8263233219fccc69d9da90982090e915eb20cbdb891339ca1f231f725312186d1a3f49566a13966eef6ed0f4f9bc1a20637e2a2d7474475f07bf221b7c34638d6286b2095b6be811a9ec0034ec058b187ae4cd608a489652e76f0ebe3fd0bf215bcdea2b05a50878b015a25f42eb683c5ad8fbb1aaaa6638e98831c8425d763fadfac7f555322bafa401c6174a00e7d56d458c18d34c5e8c494f712f0cf58c7b605901376ef53a2a7e2031e32db7450e210c47f7a5d53c642a248bb0b0845b0e3bee6fdeddcd89c - -COUNT=13 -L = 2048 -KI = 85cf3a71e9ed0dfc499b5a3bd6791ea8 -FixedInputDataByteLen = 51 -FixedInputData = 9e714fa920a447589c2e9e4d74ed263f0d90c1f3d91b2fea4a7b7b8163f82c21562b8b11121b485160a803053097d4771f7986 -KO = 7a7d5d6e7a1f332dcc5a6f75e8d9f63fd974cc1165390505490542814f846541722f70d61cc1bd2f2eb86cbfbc15d706f6be6a174eb68023aab0a5951ddc7601540dd254d4326d1d7934f58b33c9723f092863cfe85647118f4a5db8ddd73a6a5cd54439b9b7519f539b8c79d3eadbf9252e06488d8882d0bc5888fafaaebca62d7676c8c9d6dacd34a8fb35e7b51bebe84c21321b2dd8ab77129ee0cd68fb1d8954ed3f845fd697c22dcd1abf99b737de2ff8538365994993280cfcd47b8f79c48e36bc0490b8d4285e608d457081c6432df3569a9da6d879b40a6deaa65b39be7ec2e44aa2fcb144e9b7a18b8c340e7cafcc7d16a09fbeb9ec4e286e8d73c2 - -COUNT=14 -L = 2048 -KI = 39299b862f22deb8ab75ee0ce1dd563e -FixedInputDataByteLen = 51 -FixedInputData = e782d67b90f8ac200e5d42d36fd5731b05447bcff92e36a3859e80c67e120ed3db55fda8f6cda00fba51df40f6b44d2191d804 -KO = f31291aee815036d5a8b43c5bd68d5359112ad88b0e06d5fa5e3c30bd08911abf4c7e751ddbb55f60b576a294125f2611427336567e8227240ad645d6e7cc8004af0122e1c1b2ae83aab9b7a40db14f03e6b7ce529a0f2212693468e86109266700de35b96eb02b524bf75674c2c3e327c685187c25b80cf844aad291e153b11b1ce6f581f7c9bdc6e6bec5618af53f82b6344948ee5d359bf6f03207dfbf02f2e3afda6d684d6cee7dd7dea4915cc4ff20f5568df13a2a33665dc7dee0b67fd8ca5003cee236e5fba08968df48f6410a88591c870eba8e092900b8d30e9bbd68cd39d724b88dcaab4283cd666dc152e2d7dce03b66bfe61742c9d88a6f511fb - -COUNT=15 -L = 2048 -KI = fc04932a5cf6aceea993f307a38406a3 -FixedInputDataByteLen = 51 -FixedInputData = 63b1eea19bd3367433e0b2c7d220f6cd55bdf2d32badee69747e717b37d2ad832f2bd8d2d7552fd16b7ff757fef48ca358083c -KO = b3e85771219da8c935e6cb3aa0c695a4966a1a948fd83f04cfea519d197e5c704958a0254d4c0045694ca551510557f5049442ca7809150b9f5e02f2b5fb74a27431a7f6c1009bbfda5e95f4d35591a5b26c2611436ff3e03d7428e1198a9cc4029cdcc8cb6ec98655a719b67e256b5664ea6220dee82bb18b3b2ab416b3062967fb70799dd737fdaceb5631c6a633e0647ab279f937a7bdc169979455aeacdcaf57be28fe562b0b7db4985ad2a16c5bd1563a45aa9dcdd704790dbc80ea8e966a8c8b79e213de17264624987d86228314c8e86273e491a40c914e3b15aa2f9314236d217372ad759787a34fae8fe04ceeb9b07f406432175cf7bae2dc315d54 - -COUNT=16 -L = 2048 -KI = 98b416fc321d400593458d6d325ce826 -FixedInputDataByteLen = 51 -FixedInputData = 786c22c39c5f7098b59260fd890bc491af8c49e005ed43addee0370722ced1a1dcacbd870443f8fe9f2102bcb2ab3f1f982b0a -KO = 2ac452076e5f4c9cf4887a7a7680a8c17e8793eb739eacddc4715ab8a470254af6914860d1c445a4e982c49c9b72e2058e4f74185617c2906a4022a550b8b48373467e7919463d8985b0a66a75c6c90c914c2b5a11c85b5a707247396c60aa2be16c48dab1b78496d8583f89f0102fed5c96506ce7d7b3a33c87e2f4a45adac7be48b6d6c751a8341f9f75fda11164ff97084cb2044622d93e4ee756e2fc90cecc36f99beba2a97cbe266b30c21c31a48062e0351eb3f94eada27704a26c1c52daf4d8caf521de83ec2929a2651aae4823b6d471afc8d01f5d9981d7cec4da654b3ba5971aff82af0e8609e41fe35e676589c6ddc3900d9a61f820452c15ea94 - -COUNT=17 -L = 2048 -KI = 6f07fcbc6d4cd09f42a04851305fa722 -FixedInputDataByteLen = 51 -FixedInputData = da098e771fa8eff6617e4d93f597accd21439e2fc1818de95eaf6a1b4bbc28908e3b2720d7355ef6d7e96ba2c84bee01d4b8f6 -KO = bf53ec04be02dda638ad723170f032a99283f28a101552e102810a301f06e4720cc46b9a9881104fdae627f26619ce43d77acfef44f7658d71fa3cc2bc205c382ec772c0b70fe0fa3fdf1eb47d4b58b688be1bbe9497b1fac66a2c386ad12fd9d83e7018818a0bb70475e68ebae201d3a8ecfd1e462da1b3f9527827afb1c1952d2a40e5e8b05ed69596bc57fc47c25d7056069003579322f6b7acec2ecf375d69033ed76221eeff31c88fd5e26f24053abb2681e908bf56d1758251a1aad0b1cc462cdb3b0335e1d7b98f8f8f0557d880fb4e9ff3a1274e101e9763b1786b6f7e2d0c2ea7d60f7261122070c738fecfd1a1b6c4d4ca64bec68eb0310ff63e25 - -COUNT=18 -L = 2048 -KI = 9c4ab450980324541d8e412d7c686254 -FixedInputDataByteLen = 51 -FixedInputData = e617c5555b16fb04f4a7c17757c1774b92b3898e2a70eda70b51873e31a0d7aaf763b57b9eca3ed3795ed664cba7533fef3efd -KO = 180d9bc54e9ff01aa97d1e376d60d5876fe1a2b0631b6abe2e013822ff3e49e6f0d52df78047696b530e3344ff2ea2104d7988f96243414a48e4b83dfb0a16aec89a042696d753e898f5d205562e4766c7a7d6984e8a00579ae44ccf6fde8bf5c01ad60b8292f38874265da7c1a844b5725ad051071376c2703f0a0d84659ee5b2a7a7a0a6f6ccc1f5428d6bc1db9ac79ba44a82ed8bb25c27ba9d5fedb23b501d53555e5a77b10c901ddebbb9d872c2cbbc9b8a47d641bf3bebd224875770a6b6f1260c38ecf9deb16e63d1a844a6fe955f8601fa7815664987f834029449e93290fc05edefc6f791e0013bfacb609acb1b65822a968f4079a697a61eca6996 - -COUNT=19 -L = 2048 -KI = 07e6160245aa9b0ecc9489f892bd0022 -FixedInputDataByteLen = 51 -FixedInputData = 37f2f198da9d8f3a0282c97185ede75cc6f00fb3a825d7f2bde23c391021b7273879058447fa9f526d2149c8f2fa303461df26 -KO = 44cfec76a9026a6d629487e686f9a850190e366b9e3cb0cc57bdef7adb28135d1055fa3f2a3bfa80c650e36f9e7fe824cffd2c6134f7ec7a7540ce1b4ffb753de5124fbea1915460e88afe939dc4720069a9d46a8c312890c6285fe085a28515594f8636b2840e5561b139182d6000fd2bb7dfe18cf6699e8a63d75301d217ebaa29a55515b70b2aabc58565ada7f8688a026ec218bb82a9a29924fb8275836d36a1bb888eb578757f589125be097091fc23db3bf758e831a91604dc011432d2388718a59c3799194e667f385800c6dfe0592d7efa9182321fcdf10d74d78dba3de022493fe35dd958119920f82c8f7601426e8c91953a17aa79430559daeaf7 - -COUNT=20 -L = 560 -KI = 6a1a653c0ed90b5eb6270bb3d43c1b9b -FixedInputDataByteLen = 51 -FixedInputData = 0f04c9969cb5b93df4f29b4bd384ce5b7fdb1af9a89d8e3a24bf80c478616fded3b0d5d031ec6bc6f80cb8bc2005bd0d1797ec -KO = c514d3d9829488f0e0ad26bbd0814b21306ae3623d145d4f124a7f9963804e2b899f75cd1966ae4c1a848196cc824ad93273901465b83f6dfb6abd95c499eb3206068097038f - -COUNT=21 -L = 560 -KI = 5886da8a5655386c454dd94af05e4490 -FixedInputDataByteLen = 51 -FixedInputData = b1fae1d494b17af7de2d13089c4f81a2df4c3b9403f38fc6c4d7e7852ffd9853d5275931d58b719226b1d2cdd901d456ddaa43 -KO = 1348cc5acad930ae376aa2a7f1a7785bf15edc13378aa1bbd4ab59999aca2ee9f033ce2248db07f6624da58ce07b0b05c826edb64f487a49e14935d03b90748f7e5ccc52f43e - -COUNT=22 -L = 560 -KI = 38bed5ad0dd670124ec605feffe88ea2 -FixedInputDataByteLen = 51 -FixedInputData = 3fa680e7062c06e964cfc54e93d62c36e36a10c0fefd27be2249b3be2cc46d695082a3e3e30518c3bea5df972ecc79f81ae6dd -KO = b563c089c268c08af58047ffed292ea163b793637cd31a51b60d02da5f478ab51c4b2cb9b615105295a90f2670499805d058954512444b791c1a7e9ee256c79ef292763bd99e - -COUNT=23 -L = 560 -KI = 34d163657d13fdfeec9cb3e938debfff -FixedInputDataByteLen = 51 -FixedInputData = 5fa2d2eb66148ec74cb04bbc7a47f3bf37ad6da889e9dbd24cf193b07de789a62780620ece1d65be03419bb05b41e48e8cd5e0 -KO = 850835bc9009fa55b3d108ea2b18d7e9a525129d25e7ab2ab7a623f50f8f6745252a7cfb1c59f58f6064cde258e7b4a68122c7155bb96c8866c6d88bb5900bf81841e5127ab0 - -COUNT=24 -L = 560 -KI = acf7bb5a054dd46d75bd8d3816610f42 -FixedInputDataByteLen = 51 -FixedInputData = 328adb58ed6125140e9826a15fd9c2001d808e7e73fd9e213726c135551391496c66690b3e6301abc4d1362f34c509dab3a62f -KO = 4ade6b31f0ce888b829c1a8df70630a585bf3a3f214abadacfb02c72548b1683046d3b10ba12627c3c7f7fb8577d5f9143dc5ba7938a6876a83bbf343eee4f3159edcb259266 - -COUNT=25 -L = 560 -KI = 610d97da38c0b56b6c6036baf51bab95 -FixedInputDataByteLen = 51 -FixedInputData = ca93f022955f0c13cff555945f8cb867acad0c55fe3f7311ad4ef33e3f1463649bf75e04abfdeed9c8cc4fa1abc2f41680c254 -KO = 96db76aeeedc6ca0f1ead781c283ec907b235f19e6000a4220eee5080d4c1fc7fecd13d6b1109ac2c4f88ddc41d5a6ff1daf360a03acf6e5a25052ae0fb4d62e297b2c3faa3b - -COUNT=26 -L = 560 -KI = 1cfcdac738ca5cca625634974260b1a1 -FixedInputDataByteLen = 51 -FixedInputData = 7f269ff8f1e6609a20ac8b6134ef586144f2a2f11cd2cf0df7c15937ab21559e901c2527a4073abd6d70d8dae0d61ceb190091 -KO = b2332704c5d0ca86db9bd202eeda4f8d48f066c8f8ab312dd1595f9ce2729fa2d8d67a3c098b5167cf4d06d3b7c00ead236049eb108c80aba549e8e0e8fec31a5043944c836d - -COUNT=27 -L = 560 -KI = 8dbb32a295cd518e2de22ddae174a363 -FixedInputDataByteLen = 51 -FixedInputData = 53ac2021dfb69ff66965e2e5ff4cce5607182420db6d5700bf7772591474de96214a39ba84b99f8558f0142583fb2465f898f5 -KO = 9e65a5dfb93b0e426ef5ac8e33f91d6e428ecb892cc4721d6eda371d4ef7c792e9003b9c2f7d7d184ca1b05912800acf344af106f53448001a897889b66d9109648020e783b8 - -COUNT=28 -L = 560 -KI = 093418b4859189a3335789a49b165457 -FixedInputDataByteLen = 51 -FixedInputData = 0cdf4d31e0bd6971c752faefbb4c826de88f0365129299c7b9c3e126e59a14d89c407c4a61171f4a8a670d35ce5355fac01c99 -KO = 8baa06428f5ae71913f2373e97a4a9d27eaa4264ebe1c50404fbdb5eb48be5debb027f9e887cf98456d84d8ac4dbb644688bdfbeef06b21a8953262921420e84d083e218d893 - -COUNT=29 -L = 560 -KI = b5ef137887045b6e456db42ec437c713 -FixedInputDataByteLen = 51 -FixedInputData = 172fdf3fcf1d2140dc2ec021fa4f3de58ca70f2339ed5bf7d09717a8bf7aaf5fb5ac03cdfb2f07bc0f3474d60b5d1ecf1c6d21 -KO = 677ecf8619aee41b1f21eed9d5b383e817c37859bfa0955712d7d7b5b67a7e3f0747b13f0002cefc5e97b94439758a42e96bd1440344c36e5f5f3209e7e7c11419b9bbcf35b5 - -COUNT=30 -L = 1600 -KI = 1707a391bcf0e3e4dddb9839926a89ba -FixedInputDataByteLen = 51 -FixedInputData = 91ef7362888882a176e7a187db0c5ceaa92e90cce03ff6c1e9e7200f6b7859dd1f9b5aca88c4776412ca3f8650af0e0a699975 -KO = 14a6eff2d65b78b5d35eae2814b373f6a4d857b967f8a34d4c460890a9756a971f85f48c0fc360d57e77aac3de6bf17334ca181833375af9a3da8dceca55e6c669ec620245ac4442e9ef145e016aba22f5fb4f7f21aee21a423ceb37fb1826b44e25fa934f2bf6dfd8336d9f68440a121e15bf06c738677e11c37bfb99510999ddfe66bfe418d38e90259cfb64e9d52a422f4e2c79bfac3a6cbcae29178e7a04aaef0a2db26c96515c1ffb954bb16de869519519331283dfd7872ed4ea546bc9dcef07c353765f46 - -COUNT=31 -L = 1600 -KI = 884b23b255d162e65ddd8e49444af833 -FixedInputDataByteLen = 51 -FixedInputData = c81c44253fc5e82f04a4fce2c15c06317a0bc4b36650ceb3787546450769d816c0eda72c8beb1b798e49a377d79bbecbef0285 -KO = e78521e3206425647789fe074bb63c1d25c30e346d60bfc96841a12a42cb5e812dfff91c82eb6fbad76940ebcb144d4e9bd9825b5eb4b0a4fded7834d7eeec03b99b7317d2877ac36917514bb293d3c7302924c17ebaee880d2077470575954404685999b2d66665ce10dec157d8b115d2239413508df85bb1dec26a02797b38968eedbf9951182a05577f9d9b0f3537b5254fb96a311cf3bf4e43557cb88a60560c285070de5b5a582d2c50ef669ab5deddc0b85b60e548b8969ba48c0a3a02169f33f848767142 - -COUNT=32 -L = 1600 -KI = d0b63e3c40a337ad7059eb174c4732a6 -FixedInputDataByteLen = 51 -FixedInputData = 72569e332eca1decad0c84f8289ffb3b61c50a21efa3bdcee56e0245089a96cb1d3be7bf2355ba8a55e166513c5b26e68e6236 -KO = 0edd06bc4f8abd49e6e7dabddf49a514bbc2cd78498d80b5581300d974e18c7c0ef83b33f0f8c7ea4aa25f8c8aff9720237c356a25baac759efcee16b8bb87d031a7c1feb4d200fd2681fbd190da7b211d12ee921c703277e0d1d93ed0b47fc352e24bc23baf5ff9b2345e9cf0a8c72e59f51d1981eb21451ed086ef325dbfee768ebeba8bbb70a47506918f18644b9d658480bc56ffbbb9d7daff9dacb2a9dfbe33949b88fc0d069eb9179d811a8e872d1caada89a16be9edcf3438db9b51fed6006815ae757904 - -COUNT=33 -L = 1600 -KI = 0e1c09f1b769cebf5afe6f96e7e25df2 -FixedInputDataByteLen = 51 -FixedInputData = 94f6c348b625d569adc8da02d370f2758d6c8ed0b14eacbda070f8c4b67b76b54e24f3d4cc020cd6f977d17638acdc02d3d2ba -KO = 0342afc922ba38f20a0eadff2f6b3f1a2e0c43e98d382db6ba8f1c27ecd3955df6ff8fa3ea4983dc75c0b8e345f2ed69148ecb48bd0e678a7e482a9161e7bf984f09f05a05ca3461c771ecc931dcc33942e3290be4e99676fa4769b169ce0f49faa944c4d7983c28d8cce5896e2f0fec7185fc81f127b4707fb92fadefdb03ad359e5ff664fd08e1d0492a15201dddf196b19ca3cdbaf9fc12ee1a278bcb57acac5a9233085eb04cc8a50df46df4899a8ca26b38aef0a7750b5ff2eba0bb1c4d8c1dd2398e782701 - -COUNT=34 -L = 1600 -KI = aca4f44998c3cc1cfbdcc8222ee63070 -FixedInputDataByteLen = 51 -FixedInputData = fbd222dce49dd477e60a3d5c7dd12f5e32984fc506cd95207a2945bf81c6b85afb9ff47db3e4a10b57c1d2bacbb15e37240531 -KO = 04968237014635372d7cd7ef728d569905854935d12272bde92caafb58bdb675eb858192a463be87c71d23668039c864f84e15d05380f0caec232c92bc92d0077584b355abb55b228566ec3f55967176a8a44bd552cdd3787cff41565958d3c8ade35eb43ab1810e8063f7cc2a679d4ffbeb0f1dca55669ef33479b48232c8a2fbaf151d3fc5036f7650cfec3094e8fe74c7bb2bcaf523edca35a52064e9d2889845f1c0a572b6860e0ca376abfc851ffef3bcafca53779d45fa8c3e3a79e8df49dea0f35119cadd - -COUNT=35 -L = 1600 -KI = a4c4f42d3412e8f9d46c6c949eec98be -FixedInputDataByteLen = 51 -FixedInputData = 526c601f3abf6f0060518a5c0bcd400defe5bc2a9a6c909ed951467b108773ee402c802a64766bf2ce3b3d90870de63242cb00 -KO = 7119a791f073c70bc3fd273da03760c66e617fdfd3721336d0dfa2f3b72555262f69dd989a53844fe030a966b2ac083e5c626420d679751b378079e02edb747fde7a9d23caf8f237e66b1d3cffc428ce0968218621d303805897ee1902d9bbc5aa958253ad5ae3d4849cef31a9c1c74217610b31f962a52c0af22e5dbde4954dcc7f32bf9f507c92b9b86ed367d0bd8d78aebc3f7d3bab5652a4c3731f864cfc50097752c2bcb080c04822bdd7f88d82423be8b9a6632e9984b9152337ac056957ca51cdc94d285f - -COUNT=36 -L = 1600 -KI = beb41392921d746517fed8a4db29c8ae -FixedInputDataByteLen = 51 -FixedInputData = c8acc372c3c6faaf5e4c14742d3969024ec33040db436538156d252e36424cff76c0a0389221d93c31c39bb4e231a398765558 -KO = 899f1bde0052c9bd9ba71f2803cc975f32f3cfccca769217e01a9c73b08bfa0e1a66dfdb36acd5f7b144e719a5c1074f710f8492d0f1e61884b949b2f68aa074b5dc547af45da3473b3306a80baf19f75f5cdcb188e04b27d35b838914856de9a79f92b462d4cbb07f99936033fdbc1366fa4a9a88b9ef6fa8de25bb8f50660299fe1032b8bce56af927bb947e7ab1a7b3d12548f04e44070e6b033b626a621d73bb4e5ae93274723515c3e68cdac09dfa62ec2bc912f59e2346efa5b3a8ce807eb1b7cc468950d7 - -COUNT=37 -L = 1600 -KI = 97000023c80f9a3aa1237ce62c773474 -FixedInputDataByteLen = 51 -FixedInputData = 2e4ca5325cfe2f21d7a13081d24dea575017bc2e29937d3b63b0ede51842732128ac67f1d7fded493a55d4fc599362adceac00 -KO = b96de726c2cb23f0dda6ab004599992023857992ee0400452b4ca4563eb245263fcb9e2a91c64b6b9c59e1240d7bf15c6ff66a728810d8844828b17915b05fd70f992945b7d29168a441e1e0eca01c2712e666d478a27ee7e452f1347361fe811288582761db92a744933221b5f8c2353a5cd90cdfae27b82a85cd9a6df7f365bc255c128e606f61908fec67c478dfd5e5e841b941810382e1be7fcc0d223a8de8fccb94b56e136e1e5b462bc4f0bc1a50499eed9c029c7da86e18700964e6a4da38d5051cfa011f - -COUNT=38 -L = 1600 -KI = 25c3ede0c4b7b13cc84bbca3222b802e -FixedInputDataByteLen = 51 -FixedInputData = af6ba8af916da197fc8bd8706a76011b0f8dc869f98445cdee8ef123b6f9deaa1aa1a16e0ed05c97cef472ec9a21c0771e23ff -KO = e461d35f5450dbcb22dba796d0f4f694bdbbaa982aed03cfbad158fc484b5a7559d04ab45f4278b91aab2348c3fc204fbb2df04a8b78ebe32af590c179103cfbde0462cf1d3849489403677dab170d3ba042859cd6194ad7d95a92229c08de00e7161a5b50602b2007c3278757d76347adf9a53ffff0695723327ee59f2ef225f1e71e64c0ad3bedc815da432d3c38fa58c76ede114f5e08afe00c32abd90d90162d2698ec5daf4721e8750e791c9a8f9ce1a42b3dc60821b70eafaecd668c10bf0263b7b323c39a - -COUNT=39 -L = 1600 -KI = dd054c2653a2aec5cc641336a44295e3 -FixedInputDataByteLen = 51 -FixedInputData = 421e21a1b7f0e2cc5be15225e560af9b09721a3aa459d922f09c53c761118757ef3cafa308234ca20f76b8ec55d62870afb92f -KO = 3eb9498d5b94d74f51ada9e6a233590ce0d5f4cdf082941213557561335502ac9d81d84eb6db36bce5a316cf9a45a9b2a105440d4b0f22e49e5c2270f296f71ddd4f4117be68dcbd237ad0a7afdbeaf597050f1ea2146430c4b4fde3e75b0244fa0095c44511d2ad7abdd3d5e027bb22a283f58e978bc1609634d6eb2965f5b76af9def93afcb2f930e338d225435cafd3fe5f460d52aa193aea46f8ea4ebc9671ee8c2b990d13180c610880381f5c38f5f30bba7bbf67ab8ef794983d8b5cbd57340875731458c2 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a71149f89c550fa105d0e4fe29a259f7 -FixedInputDataByteLen = 51 -FixedInputData = bf5899496f84ea3d8960cef052f709fb4876c61dde68bba933104fd31ee4ff26b9b69e861efa63ab61e912001df8cbb6b04c44 -KO = 9d0ef8ba5276979f8ced4a62a0acb634fd1c424acf3c9198ec62e3a7a295518caebec574943c91ed039c6941c4ce1763ca4c0af5ccb438d1aa00d6762bf4a4fd - -COUNT=1 -L = 512 -KI = 228fae203bc462fb7d4d685d748b4f96 -FixedInputDataByteLen = 51 -FixedInputData = 9f586c690f8d0364971f26ae02452ebf3fdb20b9638521d69172ebcf856cc951618e13fabeeeaf6077f13e80ff9725d5cdae03 -KO = fce83fb917cde89557fe19ddd3cbfc51df8d6e9c7545694a46d46ad4f4ad1d0fbf7d71038710e606597e4b585ba3fe7cb5491257c9c4a2d2eb33356b123d084a - -COUNT=2 -L = 512 -KI = 14ce60f74b18115e6c38a81da43053ca -FixedInputDataByteLen = 51 -FixedInputData = cb4f22b3dcd76ed970ab1c18506f79d36014a8a398226f0982d1e778c0e2a74b303f61c7c33db57255725df68bd39b772d6b5f -KO = 5fd3f5fb82e097047d93295eb960f945ae1311de36e75b05b56a64091f875bb848a1e6c6799b3be4fd6ed9d4243f124c24622405ebe052af2f0c82cca35caff9 - -COUNT=3 -L = 512 -KI = 50f7d9c7eab1aa278d8cfe50d3e53a8b -FixedInputDataByteLen = 51 -FixedInputData = b15c02c7d46c1c22dc60aa2bb6bc2f624819f2d317d6e827d508fdef6acabe42a6e64351ca8d0bb818f77e19d305cef227fcba -KO = 7e9e31d4b3d1e7ce543ee775a5f03ec12b507a19b79e15e6c74c3b2c36062999acad1978ee1a92904757ef38e3a2015d14fac37483af7f4930f82118e1d7a5d9 - -COUNT=4 -L = 512 -KI = b7df6b6241484a8777847187b649ce48 -FixedInputDataByteLen = 51 -FixedInputData = 50901e1852e29e68b74db4dba6ce84b646501857da586401702175cc737ef2568e9fbc3856ec17bfb21adc6d012b473e6601b8 -KO = d06d5be65be3dfbfd5db896b2acf4550b2b11376d7ef98bc143e4a85bec0a182e868c998a1e27d375bf4314d1633111fb5ffc75873878294bbf9b893238d18f1 - -COUNT=5 -L = 512 -KI = dde813dd896f044fb79c74afe542e3fc -FixedInputDataByteLen = 51 -FixedInputData = b81dd6d260fbb038cdfe8885b8ca8f61af62e36fc05b4276649b8c1cbc9f600e02ea0ec365037ec661dacdd21bc785769ec2f7 -KO = 8a55040e31962bbe56e4e965d43a37e293b7dfb0a22c80a05dbef1097301d954252a4b1e4256085f54393ac8ee2d998212dc9f8bf1c38222e5663ac6a5927367 - -COUNT=6 -L = 512 -KI = f4a6d61d3b3b4a69c0157016217d058e -FixedInputDataByteLen = 51 -FixedInputData = 3ea2a14d293cf88c37ac11abd487bbb87a1ed4ba9fee9f65822c3a28e5e4ad25f80f66c169f283d0a508e1e7b8020d81814b64 -KO = 20a35ee2d3f4f541d605034073b96e12e233689438f1a302474dba361dc55252b64afbee193966bb7a7426a6798daeb9f80d0c4e481cb6867117ba317bebc4b6 - -COUNT=7 -L = 512 -KI = 46aad029c40b21894cb8a75327872666 -FixedInputDataByteLen = 51 -FixedInputData = a762a927f6e2fe65074052dfe7e6fe2b980cb5dd9fc39903faabc9b162c401019473ed298e1f1793f48502780734c98ebe1fac -KO = 15beb02f158172c846e846d49721cd3abe74d5d2bcf4dbfb4f91f1b7f07de7e59e1631d51dbf45ebd77fd2b3bd09d8a5db3f429a6438d11eb3062af9ad1b47b0 - -COUNT=8 -L = 512 -KI = 84d51a5cb323e37d27541fe0b2922aac -FixedInputDataByteLen = 51 -FixedInputData = 6e60828a391fd9f85f7a6cd4762e4a54aa599f6a1c621bca85e40fd728713edc2a81ff75ac690b95aa3bec81bfa6f6fc7b9905 -KO = 323a03a657c0c288ea8ebd9fbcfc3b5d78fc670b93c23679f6d43ec955ddecb9ff44f854aac270aeb61ae7ddd77baadefcfe7e2cc11e3337b9d7380bd6ce916e - -COUNT=9 -L = 512 -KI = 2d40e66715611a787d957226555abded -FixedInputDataByteLen = 51 -FixedInputData = cf319dc90342efed921f943c62475e8094335b0e06b05048837cad8d90a392f981cba92708c77620505690e6cb0f68675a475f -KO = e3d6d4f34e0e158334ff3eb591cd8be1ebc8187b396d59b756f24e2db35662adc450579a2078061c803b5614f325de5b760d1a955a40edc710092584c4c10e9a - -COUNT=10 -L = 2048 -KI = 6c135c87b3e9ebf63d172fa2c87a91a5 -FixedInputDataByteLen = 51 -FixedInputData = 1822bc1904888a23c6c91b2736bb848600d2348fd98a3e63416f7e031459a8ce8f301205f9c8c7cacf46cc353c906089df0014 -KO = d39e5da6985009d9ad70afa67c579c9b5f35a5b5129cf0f56581a97ef93a9f1f955c43868f584d44291a55b96a509ae81624216072b80bdcde67a68a43ff6074aa71bb9d6856927de78a4a7e1fefcdf1a2e0c3ae7e8f3a70f2b198444befd30269101c19f52f5111088ddc2f4ac847d095b430557987ad2679625b1cc133227c50d8bb2dd75d56a00f2512a1bf3c4e8d34ac121b92d5f7b04ed7807509758ea8fa138da81ad5506a5c40fb11590a0d527f0bd58718e28b8d56c95d9ba8aff9fe0861416165d24dc78f8bd7e85fd43ac7dbf2f3490a289eff137e7b2bc1910f6d84afbc064e8f87b1c4d8433dc54197aff2fb9a7e31b64594ad8095cd962fa716 - -COUNT=11 -L = 2048 -KI = df975a8b506181488891eb0ba17dc529 -FixedInputDataByteLen = 51 -FixedInputData = 8e0774910b956ba0538f1fe5c2a7cc9c8ffa7906eb4cdb032e892b94f01c4edb0525cb7afeaa62526f2933635b53bba5eb92b3 -KO = e42d69cd29f28215a85b1f6c647afdc806166fb056093fcc78fcf448f2bb67bb2655d2454da066f80ad762797050c483cde00eb5d8a14031a177b0ed3896c66f0f2156e0a2771614bd7f6681b7679128a73fa3ddcba3b111f7dc0a967e5663b5efedc618e0e38fe9753a6e306b0814365d209c85fed30a09f13d3ba7a47fa25afe0155d8801dd3a91c3c30ac1e311a6d9428d277b4654ffc10efc138eb748fc6c1e3089a656ad7cef592cc1a0c7910b85b80b398cceb1adbefa188adde79e3f33ae7409ecd4047764a386263eea82bc37b414ef75a8396eb6233629c0af6961828a92e957bd0206d44f73722cbca13ddae3ac2944651b454965207f796c29846 - -COUNT=12 -L = 2048 -KI = 689f34dff88af07b1fcea1b5cba7f066 -FixedInputDataByteLen = 51 -FixedInputData = 3f41653c62545a23754b33460fb852a595e25c6d38f04d0f23a9581704e40a101f8d119ddf49b15e06608288c3034b38d3b696 -KO = e7744ff5850572d308a3f85d1dac91f015e80c8016735d4b8d66f2ca645caa6e0e7e8237a577e579fa58e5c349c62ea00334e393d82f086441b956c823894d16dd72b9ef6752cc26d44824f741434a3e790711271fff3a2d3db0af59677020c0d97eb31d052a5b2a581041a17ed46f13700415f22c99ee52c8fe9503809670572e13894081658c4294f0d0b5aecd7090668f732ffc9c32c0952e9d904cb50c7b4eb53862f1ce51c8967bb95b0383a47ca5420a1ca42deca15bd41aa33ce13007fe7e51ea33e0e803c117d802725bc49086755425cca3ba19b396c307ac486579d5be284aabbc0de188d88d958bab9f31d3677408a35bfeb18401c89be6d83b89 - -COUNT=13 -L = 2048 -KI = 5c3618156a70757594377bd1ace62206 -FixedInputDataByteLen = 51 -FixedInputData = b8550a7c2e717fca3b9a19064d40dcd2fc40c20140b3384a4bbda8c20a78c741e340055f693d3c844c106d56f32803b0b2ade5 -KO = 0d62840e2ab1b77c8d23dbadcff08cec8404503bef8d3206c4f27d1ec0357f690880476908d285bd78175c93f85edaac4a5c0a0ac7e0958a75dfc07a93141ab1c689f076082bf062d3caa83539c1826c3a36baa51623bd33284fceb6f9b5e639bc6c441c41149056eb6e4017c7a5772c7f8af814abafa23d4a2cab5e630f4e74ac221e3c2d053e4c725a2b53400e71498d5c2b67e30cf7cc53da9453f7f7d9a40bc4f5b20e2c7e9905386971fa1733e14be13983e6032ab0ed1307fa3ab7203b5d92980372f2681d9206faf683bedfefd4875304650c8400288eff921162e80c7b4437c5191f29691c51bf71cedf4e06dd5d5c8de52fb7a7ddeaab9356dfaa47 - -COUNT=14 -L = 2048 -KI = cc930ea4bfc1dc5d4447274b094872c0 -FixedInputDataByteLen = 51 -FixedInputData = 5caec679d1663e5972aa26ae9bfc8c6a568b80a53c75fa90d4221d22360232de87ac6883d0a77d2a3e223061c12ff4851a990d -KO = 5dfeaee87d64f852665c17c2f4359db5ef412b2f98d9b625d1cc6bd5ffd0d026aef7d105e3ecadfbad53ad3895536541ef5dfb4beb89144d802f14a82488a56c62feb658d71c0e184bc27f425b49df8dd98c9022cabb949e7ae97af7ccc9f5dce96670676c88d6843555763ef8e59da851b218f5cba59e63b2f81c90fff8a1608525ab156743eae05354817ff6478c9ad8d001ac52260fd311ea537539f452d7b6eb6f3a28393d87fef342b3fdb3329a924ffce1feb315d290992d30fadb9d615d61bc74cb8ef00ad49a87291829fc6fa3146b121cbe3c64c34dea955162fd30162b09d5f01e362e53d0316c89f3f167dcce8e030fc4a81dde32c5fae93045ee - -COUNT=15 -L = 2048 -KI = d19db563d698252dfa9e819805a10d09 -FixedInputDataByteLen = 51 -FixedInputData = 7e719a2618bf183103f8f99f207b3476b87db756fee4e88a5e3e2c95770fa357affae9274cd61a6fd4802ecc05692f98376015 -KO = bd757327efd098ae21d3b2764e0d2efbcf2ba30b7ef79abdeca717c03b01ab39c65d2cc8396a6572793eac6ac1dc8de6e4d50b83e51429e3cdbe9f1f225d7c3d75d04354156ff113419dbc2a1809a6414e7edf08e8d6d5b18f9e18e023038fe9f5c1b3e182720757b74eb78032a21e36792c388ffb0e28d333863ebc29f431778c3127f3a75fbd0cb3b4ac25298afc879aa5760e8ac4e23943523338d7558fbdc0aa70eecb798294b31494d2cc4a117e643a125bf7528b637503383d6a6123b271ce20d31adb8dec7ffc4579f195cc9ab62aa7e78f2ddc3ddb5de6203cb6b0571ac0a435b9effb976cb1b3d5035ef66c2d848e73e8379bb0ac39750da61a1f08 - -COUNT=16 -L = 2048 -KI = 7d24fca2425f854e92b295c5b33f446b -FixedInputDataByteLen = 51 -FixedInputData = 2ce373a89a9732be6a88eded307a87dd66702cb1e289e3529086618d53daafb748b4b0e1396dd8c3bdf4d4e7d4e92893e894f8 -KO = db4b142b2c158161003d8862a909d15438431816675d8a4e78ab16104a988046a45aa5e335320cbf5695da576ef38d863f3a56fd0adbd0a9188135172253d2a5c6defa81665c8723cad06e86136241f278eb94c2e4351d90f4b5edd61482581c0bef4ab386a5b606136954e174d7680556dc5e219acdc2e4a4c501a5442925208ceba5b2dc340a31dbc2388f9b078d8b07a376ac4f997ccf4b0dee4494541596c48bf40835f9bea7859af859a88ce89416b47f1e1edcf91a09c79d2c7dac8813b67fb7245735bb9ace2a890fd67d21dacb4c6d20f74f826d1a5b76a29979441376b635f7f1d575b53e84805643bf678ad82a2b775f221853101c6cfd11787255 - -COUNT=17 -L = 2048 -KI = ab6809c04f4c573dfdfa6dd67b960819 -FixedInputDataByteLen = 51 -FixedInputData = b8d760e35ef224bac306c5b0e3a220dacdc822be426fbdf095cd32bc28e790dd9139d7d9b10147db3597f399a6bf4b42cf38d4 -KO = 19969b2b2f0cfae9f2b3fd7d597e524f3cb2991edb27dacfa355b7070b69f3fa714de3b9b3f256e0e7cd999bef2f5d5485ccb2c724b2f4152efb35c3d081c7b4f8c091f9d3bf52e2a345888414ec1bc1dd0609e091af6603e77b44efcd257067f56dbe5a049b2b388fc335430a720481d4853308a13d8af81ea33c3721ea979be5d4531aaec9f743452ab609116ce9629dede4cb26e299737d2836cc897508ecf0717bb72f330b15acf3d30b0aa41305172cdbecf83570a776c53bcf032897bd6ddd6b9335e77d1aad9addadd22ad48ef05bee8f3e9cb18a92dd5e4e1f888b1682d0faa52b3fcda9fe63a4939b5f956a0c823da73eaeffe5048377ebb145bb9d - -COUNT=18 -L = 2048 -KI = 450fe00305b7c0b856c684d9b2aeac0d -FixedInputDataByteLen = 51 -FixedInputData = 42d754841c3d481c696390be9807396e45d1b0eb408b2fbdb5f50396af0865f1b68fe479b1918ab84a34955fdccdef577d7cb5 -KO = 15f93108dfb956c8958167980e908b6a5b40a0ed9bcbafdba736d439e9af52b8f16c7c71e181c0fab060c2a015426f45771104f48ba80181ef0703b06358d31f2cb2102e6250c90d617ebf6862ddae63869aa48360cea49ee7bb07f353b3f247ddd8d060d15ec3af45ec03a6d8ecfd248c874255d8806f367969e8a1d3eda880573671c2c078df2273ef0a00ec89b969601aec4ec8e2bafc4aadff688a56fc6543c217a1899a531209db7005c164d76ca11f1d775b214be0cc9d49def0dcf81f24592ade7095afe8785f2910c14f363f213b29edca270de460d3b5e6b3cf21df574efc41035109ae5a0075639d8b54b3d1d183121f4c05f1bde3569935589bff - -COUNT=19 -L = 2048 -KI = 5b641292403df01158f594a84dbf8cfd -FixedInputDataByteLen = 51 -FixedInputData = 2e460c4b4c8f0b19258a51b2059b0b3f9cb2bcfdd1aceb98c4746a6553394666a3259aca3c7b0adbeb37c0ebc56631ea7b7bae -KO = 89a70608b4db9af7916ccc31d2f50fe4b9a9284d31a198634ddc9123ca041508998e6c659de24c91e2e4473b918f2644aa889c3f56e51c7e428bf05dad0e89e168b6b72feee3e2da7f3ff5220e47a14f30b3dcddb5b6ae58847f0de8059a5c183baa2770c782cb25ea42a33a90e670f0b79a0ec859e7e780c2cfd2a26d5f8001c6ea7423c1e6a0b088e7208aeb09dd23d97cda8124246543f80494d387fef09dd3c576b91ab67a5c686a5069aab64425bf0d0d98dcacc3c42a771f61e7d66b597337951f599892ea1e896e8544676f3c4674ab01dbe31626c76081103dd19b3560ad800f2c88ab04114bdc9e0c3689507116b2436902df63ffd910065928787a - -COUNT=20 -L = 560 -KI = 0af0d97c3143d3f9bd443c139508e4bd -FixedInputDataByteLen = 51 -FixedInputData = df9dbad5338edc3d1e76ae80f54410cd28c5d1738f6ed4fb746f75c8b616655d7088ba5a2606f2e1272c20a8583fd4295f48ed -KO = 8f54050a5754e713e60119718fb61fd3109e0c979d018310c62157b22bb6c22657f47d27dc823c5f0a46b51afe85e7d6608fc992f17824af932ce4fc633c6ead5c667c7fc682 - -COUNT=21 -L = 560 -KI = 28355c524143c2b47291c680c9938a35 -FixedInputDataByteLen = 51 -FixedInputData = 1fa25e303322b415b3bfd6930c244e27116a9f4a3fd33e5588cf889c10fe046808df206a1cdd0293f1792d9754e84f5d926d5a -KO = 88633b5d66b13ced399024d85d1074895fb272fbcd0b3dc01348ff9e13ed945ed145acc566aba37d8f5f3e35373c62f44bed17df17d3b9785ea62a708edcaa77cfe6995aca67 - -COUNT=22 -L = 560 -KI = 7224ecca54cf082a9f8b29a229a0e3c4 -FixedInputDataByteLen = 51 -FixedInputData = 04db09b318ef14d6775e2578b43b6ead75ddd65a8a8bfeff0a107728d7129cd5aa9c81ecccb7e397a3b3daee21d87fdbb5fc0c -KO = e6b5f45331a9f4a58d102034e8e9d5582836f57f4fda22bcfc6397c1e04cd59d36f8d6865c92838cc545ebe0d6f2e3791cb30e1d45e9bf1d80d6a616e0e1386fc1d50b5f9d13 - -COUNT=23 -L = 560 -KI = c3a64e38b6637511ee9ea28077fab883 -FixedInputDataByteLen = 51 -FixedInputData = 4c4e4a10d2e21a3ce4969b0678d26ba1548b3d9e0c0318450882c21d7f2ebae6d05d696a3e658f2bc152ece9b20c74b1f178d9 -KO = 46c1fd9a49049317548a88089e40ee6616e1a48a2a43a0ff6d23091360eff2ad293395ba94ad4f67378225411b72e6aa39b2ff1ca5f11f08dd83710027112eaf861c1e935091 - -COUNT=24 -L = 560 -KI = fa6c6fa0f40728d8bd53b048d16ae2eb -FixedInputDataByteLen = 51 -FixedInputData = be6a7f205720262ca41b41585451c38400d84250344ddd14037add581b2e0d947928c6b3d929bb3f62fe5cd9d6dddad0dcb468 -KO = d7e0f6b5c438a770e45d2eea4e7f9e996d78db673d9cd70ce01dc3bd2acd7dad36ebd5b475ce1951f00d62f30537532d049e6bfc0881ce7478d4455165d74b584f9827dc4e0a - -COUNT=25 -L = 560 -KI = 50de416f9bf71df675e39c2812b7831e -FixedInputDataByteLen = 51 -FixedInputData = 27faa5309ddc36f9f798a98d47c05159d132d6a043a150565d726984f73e1e40e1628ebda15a9fcfff446c8b7adbe50cc40f41 -KO = 2a68cb7da0ac3301347cddcd9649c356022df57e41a27b0a2babaacab4d468774708805183833a84427cb6f2143eb8af9c74010bbb46c9e306b78fa1f5e17185ca6d9d14aa45 - -COUNT=26 -L = 560 -KI = 1a0d1127fe840632c876a326acfdea06 -FixedInputDataByteLen = 51 -FixedInputData = 6025a4e082ec923d4b85bf321ad5985fdf2b8dd4d32f3aafbfa168b98d6fb05ffefd76eff2cdc940e40e04ca445e864853e4cf -KO = 3f3f77a036f50afd316f52d33bf8ddfd60e68c64ab42ad2caf53e5cd1772a6eee947e427edfe84c4f06264890516c0d1288a95908da5f35dbc904f7cdfc58041771f6a0f7ab4 - -COUNT=27 -L = 560 -KI = 55a486379abaf04755040b025ed13236 -FixedInputDataByteLen = 51 -FixedInputData = 2050249ad68aac454cc67735ba002d28f5a8d51726d252e0aaaa26a64b92fd95197d738dd7e17c4afeebeba6390651eddaaaf7 -KO = 52ea0ff02c43fb34ed96c31b3733354565f4b6434cf7f91d7b302e80eae4a9a7a1b9ade3bf4385d0d9bef9fa3537c16d59209c0c0c0c21a45fb5beabe7b9532009df2c6ca6f5 - -COUNT=28 -L = 560 -KI = 0ef1e68220d90a56ce1398bb73fb1b54 -FixedInputDataByteLen = 51 -FixedInputData = cd65a15f189d44002385764cdb69c59f2572f4639da651e25d52c8edb8d20fcc493230e5390b4c8091014c101b5218628aa6cb -KO = ad8ed671c83ef7e6edece9dc42a01f12f197ba2796e90135c061a194c4402b01d7289665553eb06b776eacd033e8dd0801fadd2a821bcddbb7223794c922439db770b6fd6a15 - -COUNT=29 -L = 560 -KI = ec8aee724caea710c36da1872c4ffbc6 -FixedInputDataByteLen = 51 -FixedInputData = 404a2e23d0c2be31509fb5288066db7d115b53c1c0fb655cb696e75b40a3336acae4fcac7b479dda7aac0edd5fd95e53d24224 -KO = d6310b4149a8c661e89c33f3e78a2ccc99df8c23ffa3b790cda6574c6359a936d0a7a21ab48a5c6bd28493e7a4942951b0b7514cc9c5d906be86a388a51dca650f308370a737 - -COUNT=30 -L = 1600 -KI = 82a33905c97e7d03ca148ad419e1bdae -FixedInputDataByteLen = 51 -FixedInputData = 193fa56d4de6fba967af2875c02bb50513c0dd5dca406517287e301ead15e12ddc613a909a99c91823661faa290b759804345b -KO = 04ac19191acea04d3e4d22523379183db6af0912a286904bd8f5a3a8fdf7acbf061a5e82d7bd189227a5f76defeb5bca95f8ce8266cd669eb29f8b4d3016095c15cbb11c56429ca46545285efd5ce5a1d58c4e19da51aa998763abddbca6d365b9d0fed099bb33c9be1a7077507ee414d179c1ce0d1000983690b678df8bbb531682784cf019ccbb45a7a087e0daf2a25760c3f18fe040dc329bb1722872ae72a838bc923505515dc89a3d3691c6bb80f7c85215a269de92f79ff9a7d26c211c867539f46091d60c - -COUNT=31 -L = 1600 -KI = a4344f3e21e7b880e8ae02820e27da71 -FixedInputDataByteLen = 51 -FixedInputData = 73d4c81187bcc25e16643d23b9e7c0c5737aeee1e9a1a296d36be58d8ffda439c7d99f9e3c6e66b713736943eed28237f769c9 -KO = 47423b6776712f58905ecea5ef976bd398afb8a3f39fd6f8cf54dd77639d5d67eea9bb6d45e2b441f334fe31f28f47c49fe5a51be68eee6ceb2efcbca63f65ded64a88f16edb0b6fc92dd22a86b8ad0637e11bbc127d0490201a11e7ff0eaf40fd1694092038e14945e72f12f4076735e93c2b3a9ecefa41363f0c2f81a00321393e6c57e9a0a10d167e5044ec9b26f3ed9e4ef5a1c2211a721a2a3ce67f55172819c3b9cc73441d2963a6b65520d9cb56f3da11fbf0ef9701c03d2a9039d96896904123a583d0dc - -COUNT=32 -L = 1600 -KI = 11faa87f689feb71a5dd8353b6f3a583 -FixedInputDataByteLen = 51 -FixedInputData = fe93f05eb0a2f70895d3219ba16beee5baa2455f9f65f5a37b074d9f49cfa52d32040e126df14f19a3dd1ad44ab551a6e451ab -KO = 55e5c0a891987b5cb6bd615487bab1db01f1ba10d70f161fe2b5348aec1c73e3dd521b7e0d2e28fb45fdeefd4c170116ce951d4d72b62a98f8ad20e987f00a12256dbaa5a944ad4fe8620ad5237815f13ea33a9a911eaf47280ca726e358f04797a45446eb127f7e79461f01f3556a63d9551dbbd75aae72ce4b57909aa956c3028961baf418c93a97da7747953626af76522eba1d5aa375e62bc6ebbe5ad4eac7e75f8aaa3d2d75fa8f95dae2d259aec42ad27cc90373608a7447f6832958d035c499924f439c1d - -COUNT=33 -L = 1600 -KI = a2596c4e312dfd81d774e6c3ead5fc34 -FixedInputDataByteLen = 51 -FixedInputData = 77d6b721ea7966fbebebbbb4f3b96789a3bd8503a1e000d7ee98920d623b7ca289b62099f90b8791fcdd3f643c188dcc123c89 -KO = c48d6c1542a1b95da9d64e89ff87088d9c9257b5ca9c165464c98304e10d567963ade6f0c88077f1fd5e51579ea1fce52e722dba5c0983f5eb58182b036d45f8d6589c925d8e4cbca1bf5f5443959f3f631a2a12f626263bfaa986b41678df7ee421633630935b9ef64e10d71e8ef8614d684880ae5229ec53dd49f26ce34dd96bb06624cf34b087f6dc6d1d525d5347dde40f221d119e8dd7714eee13f8fd3847a0cf0bd91bd94a43f8e8c6caf4fac801d50d6f9b6962f02f9ff26ead0e04c41c5b9fd2935f423d - -COUNT=34 -L = 1600 -KI = d0e2c35ec8ed83ac4841ecf7323dc51d -FixedInputDataByteLen = 51 -FixedInputData = 66f6a942bd81f4a43052b0c73840dd33f928ecab1788143f7bcc4c2cf4be42e7513318a3bceb7671356fc9b690139ff8961471 -KO = dceb622054f78ecf21e9fa4b3d1c113cc01082cbd92e556d7da9407efdaaaea32dcd05876dd185ff445c75aed0a3f64fdefa74defcb15b5094eea534250e8cdb5e6b2200779cda4537794505f43d1a545f63acdba722a057401db27287450cb9d915653f5e73f9714ec5cc2b350bd3f29b607da9f1cdcf3d446e239f163cd914a9afc7b4533b36b61eb313243e990d5f5bcc1a264697646829637aca998728daa3971441d7dbeac0df729029d1907675b5283b4187b3d56e3b6347bcf4412999ecc8fee6ac3e2d64 - -COUNT=35 -L = 1600 -KI = 94a035a962ec532d4d86e6700bd0a0ca -FixedInputDataByteLen = 51 -FixedInputData = ade31043963ac6a917f36e2217b328a54393ff0d6d7292c534ea457aacc92b00a4a1ae9a2687393ba0efe9a0884a5787438b6b -KO = 094512a01066a31f85a48494a6f4378e7874f475d97738a3aeeaf51b09c5effb9e3bf2b7b27595f621bf278c0ab4df1c007bd36bf09425062049c9ca41d9ee661209c998fd7deed55dae25702c6235cf966cb178f315dc5c49d11ca91adcd4b29bf02d23db00b4ed6eebbe7d34001185156a65e3024c5b24881749ab5accefe806758bcb55958ac5ad30c0d21fae43edabe6a70645d376105895bf4a4e123934584b99d21364134ecbcd97410f3728ae838c0434f3b0fce87eb63451969dc98f103099467e7fb993 - -COUNT=36 -L = 1600 -KI = dd117118d5c282bd48adadcbd6a5f8e1 -FixedInputDataByteLen = 51 -FixedInputData = eda40ddd75a2e7334a7f6c4eaeae5084cdf80dd220b5f02d91797c1bbc9917b1c3d1e3da982dc27f0eceac5495ee84690a161a -KO = d46b304c713ee25db84e7a3dbb068edd2f608e88115f8e135c9f7c89a38f2649672752babbcc80d09457af12a3b65a99d5e4482d23a6f7ccdfa5407957b5f52eefe62e538e32f200fd7fdae8d65c73ac4f1b81d187b4d7208b0dbd0c19c16309aac967adf0d5972af24d3dad1bf57b33c53b3a6947c00426542340375ead1f064fea49f25642367c117c4697c6bc4de9aa85bdc49ff0bfac12e509ab450f5e4c3025fead158de746fbd3efe4e09f8e022d49dca3787403129aabfb7344881009e2d8686ffdf871cc - -COUNT=37 -L = 1600 -KI = 633a68a4cdeebd6c0f4aeefc4d489ff3 -FixedInputDataByteLen = 51 -FixedInputData = d00e811b24a4f79da406a329054ba7236f91bab6b57633a63d4c89b2de6eeefe1f7a204e862a75bb3556631c6b7297891843e3 -KO = b84489e75c48350a492b8161f9f88dfe7361ad7cae204dddb26e3c385ceb41c9eb00a4131bd6b070d2ad5afd30d50c5f77814d3ceac92356037864b9f71f82989fbf4ca3830c3006182fc911b6a41860895ba550cbba7af9dec48a56b634043f51ce0d3dffb24a4665b805a7adbc708e2b952429880f8a3303f9ece76911acdac583161d9b7508d58fcf260013276e9e96014f371e98fb5d71f5891863f785737d9a1dd3413431b50bfc02624ba2f6b1b4c6ac34ca8cb19bf2fc9c18a5f19a36a7f27956b3008005 - -COUNT=38 -L = 1600 -KI = 1509e9951dea0fc3cdf8bf616a8e27d0 -FixedInputDataByteLen = 51 -FixedInputData = 709d549d6e87f6073f2cb4053c703b745f45431bd93e9b813e5e96e9e39322ac5cc0cdc74e6205f159d30915172eaddb596ba1 -KO = 90ecde6cb7b95ca82cd1288107a5b858cd9447bab405761f22ed15d5f4f6b7cb3886805c72e859f29731580f050d350d7057e7ec783eedf20cd9142f2c1b96ea3de27e493b7da8f4ae5c1fa3de151273b5564d45ebc5fba7ebb0d4083580acf8806f74d3a909c26940171df770b1f81c22f5e1ac80298041eb53b69c09142f33834d631dd532143159542b7ab61dced15de297976c04e5fc30b9cf6d2ef5726b90b808cb49f90c66ed7f1628df40321422d74ea4b9702cbdf188c4bdae4c18218b8891016e173571 - -COUNT=39 -L = 1600 -KI = a5f4c0b82f0deecd4b7c2f34a2735e58 -FixedInputDataByteLen = 51 -FixedInputData = 6665cfe74e9cbb88bd675db8b323575e10df8c6bed61ff597b095538b07ede1cec2c476a3aeb70d164e2666fac09e0121932bc -KO = e0f8dd8a762429b90da94b24c5acbb4fef972843bc41a077b22f1cebc820a07186d42f5ef3096faac6615510b81a6fe2f61cd2518fe83956468a282e04e2e5c451b1b81f28009f4eb239affb694b99f60d8e302cdec975102280ad0155b1422648458c17e84914e71d26f50f5ff026ff1774f492bca1e0e36fcc3fb0fe63c0ad4a0686f18d7a6e94508fb37d7305d974113863669dcd24b821b67f7eb973d9589f8fb0f3f7093a2ca2367e0a0fa62fb7e4fe6b1e852475915fd795675292e9eee6b3aa347d2107b9 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 4a1ab30a4b66762ca5951332150acb3b -FixedInputDataByteLen = 51 -FixedInputData = 9d7cba3fcc0449f4aeee5a5a628c7e50307f3814633fabfe315beddfc6416acfa025f74ffbcdbbae9bbf51d81164679b5887b5 -KO = 563940cd9c72c9d1009cdc84465048e12a819bb5cb5fa271ec8d4eae761a122f02ad3070dad9438f4b41799c5d29d7e126686c521718c916a79cb03f6761fe5d - -COUNT=1 -L = 512 -KI = b0a6c58b5bd63ac033475503508daad4 -FixedInputDataByteLen = 51 -FixedInputData = e7966f404471da902513fb5111ac661c6c3859fbdbab89e5a8993e7ff89a537a677bce18700ba7b8ebbfa57bb49d230d54be0b -KO = 1536a349947dfbeda13cddcb96481491eae1411cd0c8ffef6c926cbcd23461ec6a6bd3b485df54a2639c34c0aa49f58dc0c8da0ae24906e6a27304df2c338f34 - -COUNT=2 -L = 512 -KI = fa449df2a116f8cb591418a54b151f77 -FixedInputDataByteLen = 51 -FixedInputData = cbccea0dd72a47bd4708f7eee031fba0d765fc9c0cf4e82e519363917914b74ab8bf79c6c05eda6597d3f0cec36d1bf1d646cb -KO = 4ebeaa27bcc876b8201edbd604dc29c590fbc6613f83a467a97bb88b8297f48625d4dfd356c4f2afcd9eacddd07203b1f248be610ea945246c0ce0010400c181 - -COUNT=3 -L = 512 -KI = f8c25d1747f8dc201967ad758c5c6137 -FixedInputDataByteLen = 51 -FixedInputData = efa65d0ad346cd14a5f035aac4cf0b0424edc1cc00c8c0053a3cb8f8b9ae4474f479b16dba75a5e9db53912f133d1f2ded3ff0 -KO = e352bbdc387f1a86f9fff69eb029a62a71e4ea6b3946c20beed7364a396945c053f257ec9d192ddb683502439fb18b3ec8dc8137f8146a3f91603e9bc7b00d08 - -COUNT=4 -L = 512 -KI = f6b1bf9e070fbc729c589a517dfbaea9 -FixedInputDataByteLen = 51 -FixedInputData = 39c2ad6812e853641680a8ec254afc73095ce5e5152074bf17be4c82f2b5ccd554148c3ac7bf7c174a0c9b14df169c45518cee -KO = d2efe546055579e37070c379eed38affbed9bdad7c1c51f7eb9d8595fc1c0fe0fe10dfbe9e447bcfb9611a7162ef986051e8b1ba80375318e9b198c61377bdec - -COUNT=5 -L = 512 -KI = f4cb2a0584dcfd6036b523df0bb836fe -FixedInputDataByteLen = 51 -FixedInputData = 50cd780f6c722542fe05fa1c70513eda0c81abc2ced8cbc57ea427c3b796eaeb32f6c1ed0d3ff7521a145aaef0e7265932688c -KO = 6ed611696982e28ebeff84e28a487beab7c06954352397bbd92a4dba4801ebeed1e11c105c79183e873b5c0b51b74405737d7aae291115c91b5819ce8ba60f87 - -COUNT=6 -L = 512 -KI = 8edd95ca4bc1fe8e5968e2734b9fa17c -FixedInputDataByteLen = 51 -FixedInputData = 421f5d773b192cba5c3b9a24a21da8c17b885e7e4a09651f167f502b528ee26e783b18ecddbfb1f3cd10cd050fa11aee80ebb4 -KO = 06444d6033989cf6086a0a6d5a9db9d28dbc41c19aa39260e3b43db43aef16e63daf121a4c8cfdd57ea420867fa2802b6baa506edf6ea49df6e1b4d5214d9b48 - -COUNT=7 -L = 512 -KI = 2c2f6446cf7ef0555e621a1cfc3fddb7 -FixedInputDataByteLen = 51 -FixedInputData = b92ec7441f239654c08832288d23a21ede916aac808b0847d4a8f0474cbb5c1e619e0fafd1e5e7b3d538afb1b74b80e4a5c908 -KO = 0b9f47f587f6f076d1b633af6f043810732a1ddc761c1ced94eb30190b9aaa886beb61d9e2c8c96713f7e2adf236c55d70a4d04b545fbdb9da728ea5cf3d91a6 - -COUNT=8 -L = 512 -KI = 6e5e20d80f52cb66dddf14f7b48187fb -FixedInputDataByteLen = 51 -FixedInputData = 7e8fa89efdb1dcd109082aec8c29a699757108d0fdeb2b0deba4f200af1e0c80a2bab3c9a3a6539fc68c6a494886b0a73580b0 -KO = fe2a5981247ff5eebd13a7ae6ed903ca74cf71909816ec0cbc432580be95f87fd85cd84ee9c69358e5846cb350ebbb8f75790906211aa8e9b2c5a2a3e84b87d2 - -COUNT=9 -L = 512 -KI = a5142a2721539ac825fb902c23877a9c -FixedInputDataByteLen = 51 -FixedInputData = 4df84d16d1736f14abafeb6ef33f449e24966989cac2040eb48e054ce7cb17caaf17529b539c63fc01e9996e698735c72bae6f -KO = 09e31d1a074e1a81430fedc78fb457da36dc968a01dd3369231357d645906838744f241e236b66702bde049806d45473223c33920551168ade00ef27c1904407 - -COUNT=10 -L = 2048 -KI = 8271b75c9f7a559e43b8e9073fd0c028 -FixedInputDataByteLen = 51 -FixedInputData = c5e110984c20efc98fc2321635552385fda5e6b8adf8f373d1d57b5006f2e2d06fe63021404ba5e8fee1b60c0f99045a6c8919 -KO = 6a2899c12575c311034656a931bf7e3fe4bba7fdc4385403c15311fbec0eb37a0dc3427e4bdc83b51e0ddffaf4e3c4469a7c72018d810541cca9c1e2281fe260a564e6d43ef89560a374f79b4e2d0ab15184b6cac8309f39874cb919bfdfbc6e6e12d43daeeb04dca761e1e679ca277d62ceefa3668b31bc4a1ff5756491623aec3ff49e04ccb25b365c3898c15a2f6a98ed87469f5222286a72c551ade110d08d2692b8a6f226925bd6603d2c20edf448690d1dc447764fd9f02522648038ee1d53c34b3b114e46934a1498293680d198b4f4dc593c76c3837de1bee152b5624c4a837c4d118ee5ecb013d5fb371389576c0f0b1a4771c4c0c7ac860ce77aa4 - -COUNT=11 -L = 2048 -KI = e2e7e23cc0e1b01dc1f5a7afd29a1dc8 -FixedInputDataByteLen = 51 -FixedInputData = d4880d96ea7fe290766bd70b755f6129fd8f14a3d95d3601163ec7b9826062db5abc201a24cb1d4c5a974684f4f37bdfa11601 -KO = 2f171623ec57757c6045ba97ded636249e11a178f1f600ea4e42b67e52a564488b90879f137945d44bb5778d1c0ab9c5996fcbb7d8fdb4697c0e546c2ec51654215e053d24393b9ef9bf9980d07ca499a6433e24d868ae5f7ec3730e6263cfc3ee626047640fffca4307160f7c2c754786ddbc2fb4d1d8875fcdb21a18024c4720d04bf38b100be1e0e197249b3a4fbf2c18930323ede63fe8b3497a7777d8bd413e0cbfaa28e11542e894b902ad2fbe397317c592f49450009f793fef6566156ed51dbd4eed0b0286290953435b3f74ee844f4094235364a43c1003020deb1f6dc2178bf41459b1f6b5e9503d1983ddf843f03918656c7a47a89e2831c83a93 - -COUNT=12 -L = 2048 -KI = fb450f315a96e1737f4def1b62e929bc -FixedInputDataByteLen = 51 -FixedInputData = 3c190d38a1c765635cc3f747cc3b0a4abbfb0af3bedd819699b58750ecf1ca523c1730babd79845506b3145372fc46e6b542c9 -KO = 526eb4a690a8d47977bcd6d686c6efa44c8ae6fe7bc73e27ca3c6147b2a98033afcfa5a06bed751147b40de654c017c3b33d5950f2d5b5edb7a84208dea282120a8e2bf0bb4e6133ad9fd56896879d1fc18760eb3943318a7e9d89b206bb3f58f808e6058f8df78f83e0cebcc93ea1a4984403249351f16a897411f822726c438348aad06784eaf0c0a035c155c4d73244e6e72b7b64b2f4a44b12f87325d931fc3c36ec58cef81f504741be587834cb5aba427d94b6e590c5e52164c931dea3168b14c86bf120f076b033f678f00044a15310775c85433535434495bfd96bf6bcbaa412de3819f123717887e88cd574eb6dff8897eb5cc9632427fba4b148ff - -COUNT=13 -L = 2048 -KI = ebc4e43c03601d7f7f788ed7fa40785a -FixedInputDataByteLen = 51 -FixedInputData = 0dc0ac4bfa451434c27c0d4b5185f18d4d48f2181379cf3feac187994c77a06bc6704d7793e14471a2cc7c535ff5b43bb4082b -KO = cc0eca1650d5ade69668b1effff76ac047a25f28231f9cd40013bc32a0c3d942bbe0b5af8e3e3baf8dec3bbc9d8e9cc1afbf58262bcbb9f220b35a1ad5d4c33b14827755ab463046d244605ed0d95ab62160b4b866ac4852ac529f7f10ef1df07f1c37c54ae0cfcfda9c8e76f7e3a780552824b07833164efd9c090cd6dc8824bcbee582f1202d5040cd3eb92889793189039fd1e394d9cbd44011f4ad90d73e123b646927a9113ac229adb6d37826f6f4cf7b83d25c7b9e5480222d1b1d98a98b38e5ae4e82d337b51f78446ef6f621d69b3296a7e90478ebeea45f03db5b052a3a73ea5543c33cd60dd62f5f72817b96d59d4ab5c127f9c9de052106dc6fd3 - -COUNT=14 -L = 2048 -KI = ece870288df1e598b5f6a77f272c9247 -FixedInputDataByteLen = 51 -FixedInputData = 78376764b22d383978203acca4a0c673f3ad9b016040617cbc98f0ef3290da8b2af460d84e40fc0b949f279b8412cf21e8727a -KO = a78a7de6da11e5df015167b2e265ea8616cc361e58518f0a57206e5515b2245261ac3e9832a6c6a33e4215b09ae6948585f5a604bfee8feb76c4e81b1464dbdf5ff3383e13c09f8bd00615f6c675938c877a40061f688d82ff373d629dc3b69487657cb3796a366de9517996e992f0b5e45e5241ce1ffadb34f0da647de1addbf809490dc7768c5d5bf19f79ee187115761d869ca09580816548a8186aaea21fd7ecec85cc445e2d1f5acd976967c36c02bde578155ed31efc0a21fc0d0c9695b5d81ba1cfc4869cbace680d08ce42675f156e836b3a734650473529ed6b7a0fb3eee2fe4dee4c605ca0576f2069ca0750131da427c94dd0a558dd81f03cb293 - -COUNT=15 -L = 2048 -KI = 5d69264488359348e63fdc40465acef1 -FixedInputDataByteLen = 51 -FixedInputData = 1e11521a647e2968bedaf44f85ccadb518d42e8c576fe6301da128400404241a99485e90cb7afddb294dddd8534996544b8dcd -KO = 76964bc2cc2e316549a31e5e0f639d77672b3f2dc6bbbabad85367ff88c733e71073ceb7990052cc6bddf205b9cefc54f9fcd7c6b5adce0d0a5a1996c2183605818f647ef9078f9f7bffe29a579cabbfd4ba827edf7ef7355d59d50b33c72474a3a98db920afa157f91e1b84904b4054400e3f13313a66c2a3e06b1ae9abc2203c9b6ad41be55a9644e9c813d42937881aabf6998170944e1f8e2227f664a1ff77d4b38b6f12df747abc26b84968babc6f4f721e04f3017b11a76ea496797a148bf1e19304902bc88452aeeccd566db41fb8b3c803905d6ffcd73c32912d27d59fabd9fae269059c88e83e3afad5779d7ebe93bf24057b5947096212b5f28694 - -COUNT=16 -L = 2048 -KI = cf0e730351066df36003a18cf9acf576 -FixedInputDataByteLen = 51 -FixedInputData = d8fcadfd8dc37aff7979ccdb85ad1bcfed7a5b56cd7aef4c5f4bae70d9c151933edbbfc15e98b74ddd3c97e0d1c1cf68f4d682 -KO = 7f7e7deeb1ffd686ab2ecb59e0c96fa6b8e0f5a7ea2c718f7c0bb565918f556bca6e0b812b4e15328985f788e5a2319eeed645f107065dd60ab73d193457b138dc023cb2befb70e6a8d17d9948d47a5edbf1094a6039da0e5ea00bad338307c263a991f8a42929ad41606ae5b8cd9290229117eaa22dd5ffe7cf5c6b94035c1583ed949a0302a0a7a67b65c7223b4280d61b6f9592e043b92c4395a42d8a828c822e9f1c7e9e8a30ea217724c3c8c22ffdf35f093f445a4bb7c601061a524baee8d6cb3a1cc7e65eb183c45b0ccc3cb44bddbe458ee5a59949c20e5a1c56770bb418c6d22b522ae1de3825f9bf41914f2ab14ff2f97efdf931e32fd45581a743 - -COUNT=17 -L = 2048 -KI = 18a2f1b58f0ed38eba571742945dc194 -FixedInputDataByteLen = 51 -FixedInputData = 4abb5d30d792139a242fa462d089c7cff1cb955d30debf23e09531b06bb1c072a3a8d0bf10d736465a3a468ead80ced1c9ef0e -KO = aea01d8797700291779eac0cba171150010b239d33fd4db6a467201496707d115ce900d4989ee02e7adb642aa7bc836f5bb84c4841ea24cc23ee2cb08024637e47c57b403c684ec819912e78764afafb6d64fb3b576854cabbc532b3f50ddf91d7c1fb217577ed6793b2b79c0be5cec14c7ed7938244322d0c1ee61203f0e6192586ab32316913ac3fd3186ef36bfb0788d64ef570c49d85f1f67b3e0e7b6a709b6661db1664b56186cdef4f56b243821792ed6ed0cdc3847e90eada630adf07fadf527c57ad2d775fc00a0da08ed6cbf0532ad32d6b534cff49caba217f5ebc86995fbed47df89ec37c085ca7a4bffb659de228e4cc1867f3dd951172402f44 - -COUNT=18 -L = 2048 -KI = b0b873bb4788ac2e9f1bce3cf046ec5b -FixedInputDataByteLen = 51 -FixedInputData = 4c60c939e6e608cf8986a43a3286293c5e35243713109fc1d1855b23ea10d9d56c5d8cf5b10a69c5b40954c3e418c7f8e97cf1 -KO = a823e424b6416e8ada031a41e16976071a9d6e72d37d06d90260c79062d072711796a018e48f70b13e3d647dfc521f31bf7b6052f5a460f73a77764091226cb01b10640a0d66ac24643dac0d716e485baf0f2c9c10c846aaf36416ef25b9b686cfb923293bec30727a5291d4cd9cbff698d77b707c6e260553f83d289af6536148d652df1682e78e9d2ebe3b7416d6467e2bb24f0ae1a812dc498b0601bf78a4705e7e4c2abc1c42200770b298b786dddc8a9a05e64d9f53a4a50f241f73bf0e991fc32cd4ae37a2ad5708a8726fb6754ae49708606a7edcec998f13a8946dc14065ff099e1d98c1d407b8dd9dcd593e42bf86e2351281cc9f91a96a87564adb - -COUNT=19 -L = 2048 -KI = 00fba9b123c86624a463e727e0c20a65 -FixedInputDataByteLen = 51 -FixedInputData = 74dab5f555a15c9087b1efdbc221fa20085f178a37f8994827245b44b0e7fe616dd3c427d91cbc8384ac02332b52c011a8258d -KO = e1f4e123da5f98ad34db5515fac5ebc76bb1b7d0daee5b0b968ec2b6e77100e4b0d5118495973e63d7e9ebf294d354fd5ce7d96f44c037d7c0be37fd59ec6135f3d94d8234e06154a4b6307681a09e654166eda625fb76d8c400ad7075e13e21ecd827769d40aadbd255d500f73697d47920cac739085bb5d825777854f5941299e1c28f0afaa910f91ad4a2f83e83527c8f9157684907dfa54bf79964c574f931b68c9b7c0d813d863759e03ec785fd202a192e9ce7c02a8c4404e1209ba2aa9e29aed18fd1b03858559f63a8b81eecd9be362dc4d526fe90279ed266e973adc51bdfad3ef5ae810552530bef794c758abb49ab219a3ba3eeab10d86cb9bbe3 - -COUNT=20 -L = 560 -KI = 96f2c44a89b03b4fb33021c9066a81a9 -FixedInputDataByteLen = 51 -FixedInputData = d5f6a69dc0c55ab346c038655489e31cef1089e401964b5b71c3810f1d9185c00afa7f41925691528bd6cc38beb9566eab22eb -KO = 4a4c8cf373ad62737996d8ac7a92966857379f3c7a8fa992d08e91da31631124fe7b461ea7a5abd92f740d3123eb16793631572e32badf4fc7f3076d30c2b8d2875a514c1a04 - -COUNT=21 -L = 560 -KI = 96efaa6180b1d5360b2a0879b76eeaf8 -FixedInputDataByteLen = 51 -FixedInputData = 83aaaaab4fd636da664f40068ffe44f6b1db4128351e31c400af96a66a8e4ee18baa7108e6688c782d4e644c77ad2a8c0744fd -KO = d53db9c52979e0c9193a0a3739bccf6966251ac568f7ec38752b02dabce1d73e29f3d009f29a1fd20cdb072d9659b9f172e82693749a55295fb849b5d7190a5faec4c5f25e08 - -COUNT=22 -L = 560 -KI = f148444743ec2899dfea1327f9545444 -FixedInputDataByteLen = 51 -FixedInputData = 3aeeae472f309a16260edf50d706f1c7f85ac362655ed5e1255a4537b58645d13c6424d16a0509788b5d4ea9371f05e00d42bb -KO = 088568d6163ad2462b6827a784cdb4c9385a1545aa4e430d374154d9fc5d76ab4305b6c8e517c3fe2f226288491951aa47f59331310dfd70f2238145db50c6c2013990d38209 - -COUNT=23 -L = 560 -KI = 3a1205714bdf920729e4cc29741de664 -FixedInputDataByteLen = 51 -FixedInputData = 938b31e1105421da06a033def47ca9fdaed208d5e34efd7a26602a060e52b197474de8cc4d33fac76b62aca9bbb232a0ff3d6d -KO = e57c1a430430c6330becce955c053be8c6b3a72c34e5d806b1d769bfbbd8f95b95abded3f3d6146eb5f7999fb7f494e66bbf49302025639e76161da1fab67725eca8635e0b8f - -COUNT=24 -L = 560 -KI = 35ce492ce5f653324db07b330e3164d7 -FixedInputDataByteLen = 51 -FixedInputData = f6760ef2d0b0423bbfd4153ae2588fcb629b0a2f125ea1c22212037685f553c9ea4f1da7be6b90cb056553278e56a5640bf37e -KO = 672dd80fb8a8c328022e89f1240d346f9f4dee303fbd46da9813805ac4a46c5e21104ca8122a558b139e718006e06566ab53caa63fbf947fdb532a2d45d6d5fe04739520bce5 - -COUNT=25 -L = 560 -KI = ac9145965e6c7071d10dc942a51db77e -FixedInputDataByteLen = 51 -FixedInputData = 8c0442ba097613464698b902b7423bdeadb5c93eacff41ae50b69e88adf8c40a25ae5c8a5b20ac3f543246368301c83d0c4c0d -KO = c20820e9012fbf4610354bed6aff4d3f0630af224bd7e8f94b182dd664abcfa59e5fe84b0efaee5d94bf251457e5aff91858506164092bc9067985e00ef94bdb1a83820d372d - -COUNT=26 -L = 560 -KI = 8676bbb055ce0f96bf82fe567964c975 -FixedInputDataByteLen = 51 -FixedInputData = 570d03ab5103137bbe6bdda54f705cf649ea139138b623fae76ab0301d6f62974bda13effb5a6e6754314e307ad93902c21652 -KO = 583c0283cccbf69e15c50aad9dee9b8a56eb2e68ee45f6803e1464d6f873549503b1b041199a2e972612a7b228101433d37e15985cd662807db58a3c95851688ffc439b31179 - -COUNT=27 -L = 560 -KI = 4bcbe18f4dd5a68e9a899672bc62e95a -FixedInputDataByteLen = 51 -FixedInputData = b98cf5eb4b089a5bbed63e59527908815a09b1dca4ecc9d8e49b7f37aaa0f4071d3e3bc9adba1d9d447b9e32cb9dab6e1e5011 -KO = b7785dbb040cba2cd4694094efa25f3223184e39214e8ca33d503d4435d9b0542f3c56ffb7609ae2219d6b8c84328c32492e98ced8407423b16385095b683403cbd3edebe5b1 - -COUNT=28 -L = 560 -KI = 6818a2d45dd48740a1b66774923259d5 -FixedInputDataByteLen = 51 -FixedInputData = f8bb53097194f409efb9a356bfc7658ee936d09f050f6987c60e75b4a05d442732b6669f9642116d6d80ce2f9374363d75debe -KO = 7ad3acb403f1b0f3ee666be12a2bf8684a0c23756bb1d4ce9fa8f41906d0e4f8f9d2411ea4591be70d5ea7ef49e38bb6aced23afa73ea5ee60ee9fcb7d581ed6ff1d66ba76d4 - -COUNT=29 -L = 560 -KI = c479ec491a2ddb9eb5b9ec0658665a47 -FixedInputDataByteLen = 51 -FixedInputData = 346b8c8e4162e02b3cda1c2f6f338c048e338d51c864e79d695a87f3f164dd2f62881a384c522b33777d708c27d5b97020d886 -KO = 7d1ae228243eb5c455bdb8fc6945a705b1c56293bf0190db926aef0a6189aed19650184fe48627b3778e7fe646fc822de4da7d7d2b45227ba31f76d00682bfe0d444f18ade49 - -COUNT=30 -L = 1600 -KI = 04207bc13616a4bffa40461503189f46 -FixedInputDataByteLen = 51 -FixedInputData = b2cd24b558ce687188ce3f1085f0f52c0474c595912bffce34b5573e65fc74f390463220175c8bf6d8535817da608f584a8152 -KO = e5f59dccc1d8960dcafc27db61908f7134437376f85f557e76ab77c5edf832cdde18a80e9ab521974768cb2b36813d3afaaac2bc8c4c6c0f907bb3f12d7a63cdada79cacfa880647c4073e8342c323029184da49e6419a672e0d1b9e2831029bcb4dc0c7c6058db5f75d920b80f5a3a02779ef8bea0fc8c117df7fac38a852df524587accd466c1ae885192c8c3cd2efc46263e188a664cc3dae2aeb1a032cb56123311865f4db10abb9b209c591cc3cff674d5a63519ae2b03c4716b7a5d9a2ac84b636a3d46d52 - -COUNT=31 -L = 1600 -KI = d206bbd0c5b3f1fd9a73b8b0c1775ade -FixedInputDataByteLen = 51 -FixedInputData = 53304573886ce44470f738fbf7ec002685690d25c47d4841bd8b1887abf20cdbe2df75c25b1905886a0c46da8032a716a7b3ef -KO = ad67dff265ca501c1df052f7a6cc474df37a96ce9bdecfb94c0cd7f98acd93cdf3b1322820d1e7ff0aeef1bfdba83ed0778a00f0b57e1cc1d4008895dfe29146d84620d2978d70299f67b042fed2e49530350197a131bf87a3c8a605188de97bd090cee427c4fb5476e645d669851ce72e3817dab16f04d6cbff529a3754a11e7b5b39b6d01e477b0574b4a2b261607f400a21ed10a019208b35f67ab428ea4d219fd9762ddf7634b5ad099fb54692a77896bd5fa8a2ad05aec1718aa119dbad728498b7b9597350 - -COUNT=32 -L = 1600 -KI = 8f4dcb9a6a1b2abad6fbd9e2023d4374 -FixedInputDataByteLen = 51 -FixedInputData = 50ad6de18081b0dbab273a6930c43c5910d5f58b2b2524c3014b1f8df92bda49400b4122df6a22ffad778372855436cf87efcb -KO = 9162fcf3a63f9a377c4ae5fee4c652a9a4bddc66538be7bae0aaf9f42753e2e9fd60ba92ee1b56971c4968dee9dadcc9c370dd088eeab169b6c2f646c2851834c306e5ae4cefd42c53826576d5896dc5943bf783cd78bce5e230e202ac85ca708d1f11a2e8245a55a29a8d4f1551fa77e95fc15b578a496b6a3160bc6b6cba8b72e2856e6a4405b044df348a858a1d61bf25bcf8ff537e91a4e8c9994d5fad8783f58f04e385a9cb02f55dcbc96f2587896a4b5f290dc86dcba94fb0bd46b4dddcd77e7ab59a6121 - -COUNT=33 -L = 1600 -KI = 236560168fc925fae66432ec24b4c099 -FixedInputDataByteLen = 51 -FixedInputData = 55bbb8d74884945296decf1abc6ea7079e0165e38cf69e8fc9001e1e31fde4bf2796d17ad52d7ec7a40184b7e6d5cd3d1cf5d3 -KO = 31361cbfb58cb89a98161604c233c7cacc76935234ce8a7d7346cd4136861af9e07f539df309e8cf1301d1c63aa3fbe59e2961edb9f1f5915970ac0e4f41a315d618e5f1a143be7b994e8f61606dc1e3f311723e455c52bd7b0349dd8617c76970715fb29d18e305999df354d80622c2b5b48144ac727715fe2469bf3da63b6c57c79cd7066ae11dd47daeeb31e8f2e717d42596f1f3fce1bf3f5bf26a8cc73b0937502389f20abffb9238c9d02bf83e38bfff270160a3f0eb0faef463940e4c58ae39a7cbe662dc - -COUNT=34 -L = 1600 -KI = 2ae94181f391d202af7bdd29d65a17b3 -FixedInputDataByteLen = 51 -FixedInputData = 4aff3e6cf5a406e8e9a10f6fd19325a32847cb982dd5ec3e3e637d6bf0cc356d8007ae44f586b624f027a637c737d827f15e38 -KO = 22e8e40c80e28cc1c145de879f00704ee56d7e654997683484356f51481c6fbd98b8a3d3ea7acbaf9382905781bb854bf30e71fe2af142897401c35a6ba5d15b0854f508b18a3cd999ae926adc34dc488377b14b9a0e8c5ecb67f9165259913ed37b35b122334e8ba220ef788157887a3b47a7ab7f5f69de8d448b44279b62cf9760f1080b6af41a31e57aca8b5d533067fb347f1a4c4681b63da21f0ed0e233b39373591eb11afbdfb3a2815ad696e933291b5ced95fb120dc4a0b4bed331e53ab49869628efeda - -COUNT=35 -L = 1600 -KI = 542ec8d6bd1ff4108875e9fabf1b6eaf -FixedInputDataByteLen = 51 -FixedInputData = 4efb3478ad3d1efb7f0985fba46273c81c5dc2cdc1ed740cb2c720a30297d288bd43bd97607bdbe9ef1cacbf512183f5a30f3b -KO = 227ffe05f221a280bb1ef500942bef9a5a38570b90cd39113d3a759c6d8750ba6c6a28992d629af0ff183014211b27c008ce30b7d2af8a83ab9ea8845215c0a14e758d5cb6095d67a3f126a86f79b2051ae6ed8a06e7ebe93b0dd20ba79f171618a2a8943b23cb76bec8460be5f88abe6fb2be9098f3c73b331af20abd6c532f42767d355702e5c9f094b8d892d9a8769c69fdf25c421846c8f0404ea3dde2c2193df6669379adf9ca8dc2a413f1eee0f095b36fb8646a6a8d01db5d402d9de8ac509200100e421b - -COUNT=36 -L = 1600 -KI = 3406bb695aff90fbdc72d9351a76c473 -FixedInputDataByteLen = 51 -FixedInputData = 88d474faec9d2cc32f97c2b08566aa79137ebc2b76e3e8f2910b8cb45ca150ef3695ed99ebf525b2a4012d57a04585cafc1f66 -KO = c071517eb1d752f74874eaea44b59393697ce0ae3586e07208e0fa46c8550e4ab3ec49a00925e8a162265026ee193cdd35826caab2af2dadeb6f67720fec6ea07ef2a9bd6b054815c0e4f5d66063c2061aab77de1748daf780e518e29be72159ecc95e345a5053d36e268fec8b6c44db2c9d8c85a3cacd0dacc48aec51d785d86c6a29cacb0877c03c2b3fb9e737f6bffc022517c0570a03071d4c0452731b39998ee4dea6ee50b9ca70d5dfe0c6d9941a704c0439af297d94d3c84067ecb5240f559ee0c53dd591 - -COUNT=37 -L = 1600 -KI = af4be428b4527dc2cb6905765ece5a7f -FixedInputDataByteLen = 51 -FixedInputData = 860a51031195afdf75ddf3f8c5904f33de0ff13afb46571425f9d6bc7071bfc918ab500dec32f8697fba97a6e856068c68b3ee -KO = c51d295268cdce4dfde87ae3edfc337e0f38e72727e3c0714367eb153e848673bc8de81ebcf832cfba92c7bdc266dd3446c0c60818231a94d8b48908da60c5c86769b46ff5ad2118fa95b9e1f3001cc93eab679266de1dc3342d821b5387b892059ec6084e5166a61f59f17d04fcdf5e0743e892910bed22657918916dba24d70afbc212c68948604bcd981d8490ace974579313cdec1ada7b31396e47cd0fbf5121727164493e4f3474a521e828df7c3f36c0a36089f917865c9c93220ca3e12b5a52ff932a550e - -COUNT=38 -L = 1600 -KI = 9f21fe5447dcc909886b019a44e98bd6 -FixedInputDataByteLen = 51 -FixedInputData = a90af51eb59b7665acefc967226af073c8d93393f83cae7cc7294ce75c30c0d6615a65014379ac7ce1aca5954fb00a390ddac2 -KO = f6b1751549e5fc18efaae2d12b72a1711e231e9c2c71381d30de91eb6e91334549243e652b42f5755e6c743da585ae149e6d6f904a1081ec83ca6ace572ff6476eddd24b8ad2147cf5213c95f928ba5868fad118c807ac4d7c4f62cf604acf61308bd77de0c41287e67584e5c025e25d4093cc3da8036efe6fe86828faf79d44239e1812024625c09df2843b91bf3c031bb365016944b838d2add87efafbef5e9bf354a6c47d182af9c1f64548cf7cf6e32eca565ef66a0ea6a13e16c6204fe8fda1e834edd0d841 - -COUNT=39 -L = 1600 -KI = 6f06b6e81d73d1979081b592c40df352 -FixedInputDataByteLen = 51 -FixedInputData = 8d67d8991063aeec119d7ef91f6eed042c7caa20ea389314229a79b8f6ce7a00e1333e82dc47c18edd4106b8a461993a9f0f9a -KO = 961b29ebcd19d3a4893bfa933da79778d12c33648b5aeeec4a30c99b8f88aab46992e6950e94470601e1c0a4f49e866dad70c74654702663982f3650d401eecc696e9ad92b542f51f15ce138f4e963979dc74ef0fd4e6f293beefdb8d1e71af2a76001d7cb15fc0a132e356d406ec17346980f6add563198f4da886e5847056cb61cf26ce1ac25a4ceafefe2308faa2bccc6a56bc64826a6c2ac8838e8b3df2a5555dca27f85bb54313fad3d23d4804e400d2d7d8992c2d8a31868c5a828ced4430ac4bdd0e187cd - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 34f0c2542bfe13c7149b68c8a1ef636b -FixedInputDataByteLen = 51 -FixedInputData = daefcc52d6e32e1614109268933087fce3d64a5a6f111ba1a8d343a1e388a1752aaea93853be52864997a81c84b04c4f3ff3bd -KO = fc0eae673e7db3c4660668e187bcd81d5ca9b89213d8d741e71c9bab89bb4fb3c4df541d89a8117f0f56b0f15111ae28abf81fb7d7349fbbcaf01137e4d73527 - -COUNT=1 -L = 512 -KI = be5891fc6fa41a9a1f2326c3c2a4d27a -FixedInputDataByteLen = 51 -FixedInputData = 08f704a2f507dc79ad715bee54b3df13fd068c3e61d014b29d7e05f4252649d371fe1582d390942ae998cab8e44a54404496f9 -KO = 87d65160cd4d49103aaf1638ca49b3a232dd1217ae9ab1757bdce3078cbe7f8ea156c7cae559348c32522b32c3c6ce9e9cf57c375e6588aab23340148f3e8e5c - -COUNT=2 -L = 512 -KI = 204ab6fab7d6b2c37a07fe3f108f1ea2 -FixedInputDataByteLen = 51 -FixedInputData = 1085a636ee3df4eb19720044a9203cc737bc84823d55e7b6ee4be10035b3fa2e26c30ce3d930508a5bb9831b98724bfc8c37ab -KO = f543b6681a0b0fe156e2c0dcddadce2fce68c33d98647e6edd7078f3879d1ada280556069e722584e745865b3ae8909a1fe368c8b49a19d0dc0e2dd347dcac7a - -COUNT=3 -L = 512 -KI = 2577055dafc145f63015e70a9bafd7b4 -FixedInputDataByteLen = 51 -FixedInputData = f36b3b953a088e5a22f652971457727346f42021fb5abcf7fcc1074974481807001e45989498a4bc74617aef2b5c8d8803dad3 -KO = b4a75be0e5094020fc9fcab1dad0574e1b913b68401c0cdb13e0995ac6f0b31bd65a5d6575aa48804e93b357c7496c3eba86d21cc3a5bfb4370895ce48b8d117 - -COUNT=4 -L = 512 -KI = 695994d4050a41ef9a8bcddce50ca807 -FixedInputDataByteLen = 51 -FixedInputData = 24a1942e047891dab62bc8925a34604625c0a63ea7ea87264c6ceb602b293129986c6ca1bd325c1d7b5cd422b25f4204495d91 -KO = d5c3aeb36b1fe7ec51aa3bfc319328b940492b06ee089c4500b0e6466db6e77a87392f8a3e036205006a315a3aee1a4b3f29cb16fc4e1401d8c87ed65d578529 - -COUNT=5 -L = 512 -KI = ae251fe9dc30b9d75c52c6762e0a4aed -FixedInputDataByteLen = 51 -FixedInputData = bce241ecdfe031faae201950262579aae1b956c46f9b4b683e0fd6ba59658d005d946e13b974f05d348fc1b5a70eb680177b0b -KO = 1fc49bf7a8b9db3dd131f8ff63b7d8bdaaf1507d2ef9150b01b6bbc1c7b201d6c918386c620a49ae074d5b04450202a4cf310c509a8180d3ae58f7baa72abc92 - -COUNT=6 -L = 512 -KI = 50d98436fe4776a334bb122c34ad0dd7 -FixedInputDataByteLen = 51 -FixedInputData = 3273bee62244b2854dc5e7c3d562d9c1ea75650b5f073b77774de060c9bc762a59455abead16ff0d01563986307face8065f39 -KO = a6bdbbc4a5228b46499d496a5c8d61de5d356e78dcdef9889706f151b5cb92013fd89a11614fcd2c14898abf8127b2d1d599d4ab777537f6507bac0f46da6d4b - -COUNT=7 -L = 512 -KI = cabf4ce9b7c3c6390267d90f73590b3b -FixedInputDataByteLen = 51 -FixedInputData = 4795d89ce7a01e3765d3fe5b2e8c283246a41dd1897cfd32f5b3921e761bb10a5a71d9d7ee229806dffa2d3ed102c466e20a8e -KO = 8dae6edd9faeef5acb333bdd1e35ac0b6f92cb9445aa18af42d024e634a195156405131edeaa37869718db9f486fb3520fe43b1fd6839ca3e34998c9c1460e50 - -COUNT=8 -L = 512 -KI = 69ddc088cfcd494307dd23d9aa90c4c2 -FixedInputDataByteLen = 51 -FixedInputData = 28b018064ce6537784b7063dac10cc34b98fdb107852dd55d1e517948041a063a471aedf3fb20bfff8776e1085dcd2dc4d6389 -KO = e10595f2a154a875ff7ba872737657e566137972757b7c4999d8a436555ec709ca444cb35a95574604e2bec903b79c459cb33432da2741f89914ee8e01f33453 - -COUNT=9 -L = 512 -KI = 0121de6605269f86af5dc53207681768 -FixedInputDataByteLen = 51 -FixedInputData = c265cf6a993ffd309db9f9b043f2d727c0e2c139e46e2feebcde86b265e71a1b00049735c385cb86585dd237e4691fcc041700 -KO = c1acbec3654b19b3534102303780b290e40c350feda0e3e0b408e0879eca2465fe6bd953d048810982a2f83da219aca8adc34f0956f522c0cef805d34b32b965 - -COUNT=10 -L = 2048 -KI = d3a77b1341031fcb83dfa844d051a8d2 -FixedInputDataByteLen = 51 -FixedInputData = 9591f37895996bbb99ddae95e193e02f06fe619bbfe3b79d281cd75f0e5b38be18aefc2bb2436fcb4d020c3bbc4b65de16946a -KO = d88d7440e4cbe6e44540f6293c57f2be1b0a06cd4b6d74ee7b1ff92bd4602d343a36f0e21fe8688923c0b89f193a94005d226982650926710e2827cbf99d5806a8d3de72d20f3ca1f28f5d3e19f7ef4b137f6deecdbf233fb6d05f501e33fd97ca0da1fb9d18b009cc2088a00d40c9a4416670cf352a228e0d2bace7f6ccb64d836d022a33b47bd2cc294d10de64603c3351332e1b0d8a4b472d99b488d84dcd73cdded2bbae43f1d14866aa3ddf3765e29c45063d0a9d5bfbff763aada4a685ea581db7e78d8ed1a10378e27e47f81a4ba939bd3b84117131ecf00e5f346e4b2d5bc461bbb58eeb4ac808372570a514f1ebb079c953878db3b716ad894d11db - -COUNT=11 -L = 2048 -KI = 970780c4fdb0dd91bf8b50e6bc0b6a44 -FixedInputDataByteLen = 51 -FixedInputData = 3b07f1d215a1f4e939c7de35ffc04f5ae0838a75ff0392ffbb80250345836a197dca9a258bbb7585c6ba3e2c1919fb37ae7347 -KO = 381334f0e972e3eb7df54f39c03471c86a1e9e4563b487b62769970dd72cc0f978913530000562349ad13d1e28998371d12d4c0ad9485de82f2db8ba570987baf4a4a41106f09bd4321a3de8f3e4d8e9048065a59901f8072f1fd4375106924269d1fed6ce2a70909a103e27f577fc1163298bc486301aafd71ba2dffd34c8dee45010cc3b6f10d15c56e0aff059cc37f68b3474ca80eed361efad7c68618380bd9c405096980a79ff98472c5ed6e0920f68555c174de1b226c0a34f9f431b9fd7d1075d209a1924acf17c30d9ebee94b9501b60e4f2a79616b3a79558fac1b8c74078e747bc934a2fafce5a72f50fab6955ce330f60559ff84455066955dd29 - -COUNT=12 -L = 2048 -KI = 8f6a526046e922a854758e7a9b188cae -FixedInputDataByteLen = 51 -FixedInputData = 2627a07bff38e9ad59fe5e0542b02e1943154dcfa564b2aaa07ce113a7eecd42fc90fc02ce209d9b715591fd4768f5547f6702 -KO = 0f6fe446ac3c06755fb65e4a78a268e7d495bfeb0089d756a0625e8bab8463e98879061880af76eb39136bb79f4f97a663e4ecce50bf810ff2f23294ead4990a801c2d5bb3e33280a3b06e5da16f4a62973e14ee17be5a952607594629145b8d708d9ab1d5b98c68100e0422b870a61c68b7671ea7e9f62194ef47a94c38d290d6057597c6f3b6bce98fbb14cba49556c72723f9a35aba8e899246abba7e2933fe050ee99bf56997242c9979bdca1a3b5cc54f3df6af8f8b28c2d3ab61c6d8f24d817e994ad360c0c91cab46fb4b4b8ccd12ffb3f0560491478be938c0647bba46dcd63025d2c1d0a60f4315e07ecc6a40a6b9fa3161e0f5b3b0367a676adeb6 - -COUNT=13 -L = 2048 -KI = f2a80dbdeec24aaadae4f495823c6153 -FixedInputDataByteLen = 51 -FixedInputData = c18fda6d8ff00aacbbebef4ef8b5eacd7ccd331a45677a068f6da07779206aed94ce300613a2508d00475e8e77a6f17e1102b4 -KO = 9560fc6ff28492b6df3dd3273a457a6bc959756ec4b27ab70f271fe9a813e94496984b95a3c1b917f22bb8ba4b1e39e40b25da71fdce5486dd9639f7ea77fc610400b8d3a183a9429bbdd3d5e37f9652b3bdf77bbebbc510f1ac98a9692ed627c975ab93409cc882bbe5bde31a425ee5b95108e60725113b0b805a2ed318e8e86842a209fb471053fd4c5381959a0f493468ed5dd41d5925af7dbb92fb5240b08ce66ceded27303f5a59ea81a274366d0b2a748fe57096949dfa68748e2ff61c938f2efcd979f309f02e539dc61d94a01e0bb97e5444feba7ad2ec1956ffcdda159d017e0f82cb172277369d0652b2160910b6a4e6fc0d621daec724119bd077 - -COUNT=14 -L = 2048 -KI = a0c62dbb8918d049fa15c14645f70baa -FixedInputDataByteLen = 51 -FixedInputData = d556c8952dac3c51661376ed64814d8408de8e82ca5a748d04bcc6fdde308acbda928643da42fdaabc82a11c7ba876419a1a1c -KO = aa636a5867240d9c1c445a5a1e89631848f08fc34ae4309dea5148cd2c0ea06b79d7d367db46e3c7ed1561c1261ffb6f93b5bc2ee2d4ce128d485369ab8c016952b4cd70d302aed5f3d0342f50259c87b76d7982abfac6469dd5e898ff8725781a3fa8522d7ceb32fddedaa3b490d497a6f0605931cf09a37776b085c81fc5c67830d679d778d01b391181138ae112fbdf6914a640ee8a3f8c6261e5567ea022ca7cf485536e66bfcf1fb77b78fd1dc186595c42ddff5a94f55dc6b4c300cf37935a7e72fb5df7421c2047a3396097c88ce42a474c0a48b292aef1d0df7db8b195aa68d861eeecc0d99ecb1053e2c71a8733cf717a62f9c68e164f916a5a6857 - -COUNT=15 -L = 2048 -KI = 2ebec35054687d1413c7e7fb51d9089e -FixedInputDataByteLen = 51 -FixedInputData = 742d46ddb7eefe3607c6cccea7e837ff264c30f487190aaeea52b76263eaa77cea52ceb35387d97fd685a6692a4f7baf8a01a9 -KO = e569d24286b4e4526b2d7f6ae78fe06064f5df35ee7458185efc50a939e49acd18b2d58d126c4e876c53ed52928b927fccc9299d6ad12ba1950319b2572a287a9ce8e4cbe85517e000d4e725a3dc146bcf98059f2cf63f6ecbf56b636a8cb6a7d99041cf27bd124a3ab527629ae9e4f97f1b61ecd323ba3b1751eeeb210478ab26e185d5d4f3e201c985d12ad9dedf9d7c6c88690205e85a7a5c9a4d3363302b271c4090c97ece44bf85eb2b44fb14788289696420bb8c322ecd7c0a284396566e8f135672ca2f26d88433e230265f9bc62475e0ea10eec3c518493a0b086c015f0b96bb35925c75ad63aec26211ecc9b137d58a9018157948fa8eb08a50c210 - -COUNT=16 -L = 2048 -KI = e420a64b2e5b8dc2fa145a69134553f7 -FixedInputDataByteLen = 51 -FixedInputData = 984de6fdcb21b9b702bfa9106b5a313f8892da123239f6b557eadba67c8066a45bb4329769fd45b8880c5f9ce27fb4337fe682 -KO = 5708704354cd68397ccef487c75cf756fd7dc40b9baf2d577778d8af5b8bdda1efe32d3893503c796f2a76e58b23830f28f3cfcc441ce6b93b762819520f2d2af99bffa16c2cab349625ee6e951b11c07a97619dcd885a127d93d9dc25a85704db7f75b2de59a78bd6f571ed5e6b844af55591485a879bb9d95841798ce76f0602778ae02573ceae90b2ab2f70c80d1ff31d726bba144c007bdda641414f7d074e152aec3d6e938d91fce724cbeffb0ca5fa2c6826dab50eccf5a9fc9a296a470435948fe9965d00bcd6414788fd2a2ee629cf7e903fda5bf0a81fbb0aa722bcd5ecabf752cc91e74456e9a6e3814d49ce4a2534a673a65bb39706d62de68741 - -COUNT=17 -L = 2048 -KI = 8c2533ad1c430f4a582b8898ff4a7a12 -FixedInputDataByteLen = 51 -FixedInputData = f4715576b80df7105f708f653db0eb9d8dba6ddb97f78a59fb7b89825108288076195cadcf6c56030654ef464f5645de7ed7bc -KO = 4385e8b3c9046bc0cf7a0f2c5df6b0b70b489104c9eb8ac90774520127a3930d2209bd0bebd90b5dcae51e06b33c04ce15e782925cb4f47d08b945987452f1f2b08ccd9f3c51e9c58d47d32800738cfef204f48d8a2c610044f81a4fcacb92cffcf3d66a10199dbc351a5fb4f1b101d4f93eb201485af81a4c8eeaab1b30c63fc4d0414fb4944a18d5d1cf98371b2394179b9cd615c58c5aa126c77d731bb37952e3107bf1741a92152d6dc7b4ad10c02f45ed11030ea753178c6d151384ad9c5704d628377af139828aed7a07f085e1cef46f73e9050c3aa0bed37b78e9cf14979036293b4770c84fd115d73af1c5091d1ef6dcb96131d3411091a17ac672ff - -COUNT=18 -L = 2048 -KI = 3b1aff69ddff4008c4696af46fa354c8 -FixedInputDataByteLen = 51 -FixedInputData = b611a29b136caf8970fb2280b99bda72e5767d4f125c07439629aa19cf859cbd3016e1dff89c31f13328ffd62631768e5058dc -KO = a608b01226b7fe5a76bd8d47b7c3f8f8bcd23f69005da2ac9ffc6f057b832569bc69cabecb50999da8584f23e92cca324b703e1ff2501c37d32cfd8fbf03bdf284a432b944669258c798d3725a2b431ebcb560a5c7656b3f9dc77c1ebb189dc045fb96f8a86c1bef24b3a4fab162be7231c910b1802d5f352ab183ec330555989bd79a13a0e87c366c81fe85522081705a742df68c867e168b062a8ac05cd653f0795a926ae4a392980ec5fcab703515b42213511b8f57a8b8f6cf358eb7b6d163772fe4fc95b1ce379d50971d88734b1bfdbab3527adeadac247799b62cb501647970ce3464e91a94470bd02ce7d8ffd8b9803555d30c10b4a43e29365eeebc - -COUNT=19 -L = 2048 -KI = e9ffa02468c4cebbffffec0eab88c8d3 -FixedInputDataByteLen = 51 -FixedInputData = 8504aa42239961a5e582c356d709304cae1381f6b3b4c82fc3ad1e1509e5e4d671414d626aa918163d2cb6cedc9ba3e7a1fb05 -KO = 21b6e66534388afff4e03fececaedc059bf75f12c502a30355a6114f36db240bb7bcc957fe70f574cbddc74d6fd30985b2b772439c484876c756e29969696c99759639a425946ea3a9e4a1eca631a76a82c168f544892bf72e61c0b67bf3fb61ff5a734e84a86f9697a83f17d1a2d5ff72631fd75f81a9e9cac8cd8917a95f36937e6efdc6ab3ef3c3c00daf9b56eb62a6f3d7b5ef18be0be29dcf1cd3031c6114b7bbe9931dfefad6e6c657baed2be0f03037515a3a2e68889cfd2262f33e046cff618a53a4283b5c35f7dcb065c888d7b778c75e1492117ecfcbdeda25fe693a27a1091b92c0f220a71ec162eb8580dd85c5487f92d34dd24bf31802604b66 - -COUNT=20 -L = 560 -KI = 2303ba6761332aa885b25e371b4d1015 -FixedInputDataByteLen = 51 -FixedInputData = eb933ae1ce644e79078a78354b46f1b26ab99b68bc7526e8d583251ab4e0332ad6b10eeedabbb731706abcfabcfb40c00449ef -KO = b61b5033c09a120bea322b37779776503e6d0140b4842c0d16cc7712f6931fb162b0cd0cf577b026a8c5de53fdf54fc381e804503f8e69963e86b6ce1e6a72c972c6e32e6cd8 - -COUNT=21 -L = 560 -KI = f8f44f84efd853aeafefcc58a1535207 -FixedInputDataByteLen = 51 -FixedInputData = 8d5b6e687d517571ecfbc5c561a1c0893dee58d35f740f844aefe05a0f08a391aabd424d98f1deaa7705da19d3494045199443 -KO = 67f0c21ff94f3ea25ead65799ef6b6b018c250761dd7a92535af2a45e6afa77f3c786fa935c1740ffb767655db88971edd0632c865a1d4a097d948bb4e21f75812429b424e4b - -COUNT=22 -L = 560 -KI = 92d6559a064df55f3262ba5b14e6a39a -FixedInputDataByteLen = 51 -FixedInputData = caa412a922bce02e580a08c801e3c555787034bf986244d005d9db7f0a9615b76e018df200c33d349a24efa37b633b7072b845 -KO = b96689f4575b6b000f74ffd71d785cd2edcf5b890f6c1962c2231ef05a071c803d22040c492afc17249be8b5afcf95d30ded8bb90f33917c64a0c8705ed9215732037dba70cd - -COUNT=23 -L = 560 -KI = de961e21573c694430280ec702db842d -FixedInputDataByteLen = 51 -FixedInputData = 50e7bd82fbc1e3cbaf19d00a8b719adbfa2e20bb95ee497b40b73255b77bbcf48fadbd9979d48d041d4f1e3a3e752adc6d5049 -KO = bd9761c9f3198df780f35f075a4f7d068759f0a458d536f94fb9558341905fc8113c3f2f45eac696d5f0ce77b44a8044b2ca1972d7985e568cd7d95072146da8f41603d31b71 - -COUNT=24 -L = 560 -KI = eb666301e2fec0d2508f5cbfcd31b651 -FixedInputDataByteLen = 51 -FixedInputData = 9d7ad74a31dc3f1ef1823f8b2b94e3f6432863f933f1e2d8296bd52aff9bf8db222433c935c9a8a47bb05400788c2629d2dab6 -KO = 2a226bce6f29276ffb7c8e5b660925f66d1802840b045e74473d3614acdf898e381c7a13bd3f6b1087857172487b1fe9b572338c95f1aa18690d2433a6892ad7571bf564cfc0 - -COUNT=25 -L = 560 -KI = f57957552620c08b0c707d1e0bfdc2ba -FixedInputDataByteLen = 51 -FixedInputData = ebeede97adfbb23a77f63b6c63f19ebb2a736feeb88a3de84be02ea877af032b53cde2e79d24189548b5bbcb7ae6bb9f3a0895 -KO = 3c2cb066234438ed0c92215d7a5f443f2f184ce8956052a2c2f3ff2c3245bc4d10f6a51698c212a8f80c28cd05379f31a330946a4ee452448c70d29c5f4e55dd30cdc3bfa058 - -COUNT=26 -L = 560 -KI = a8d9be46235338001d7cc490b27ade35 -FixedInputDataByteLen = 51 -FixedInputData = affefae1b8274cbe8ac92f0251e6a9614ed4c92b438207e126291a08431aa7fc04e6d67b63a98be931b7351d0047cac72ca58c -KO = d80645282d72a0fdb45d739032db19a300c7f05e1c433c94427186ab20088de7f5521be8eb8097f8800b07d59096e4738234ea119159e9364b6775a94d150e91e7abb7dd1b0b - -COUNT=27 -L = 560 -KI = 32462358284614397be76c451656dc46 -FixedInputDataByteLen = 51 -FixedInputData = dcf5beb27073aa3596e6a1636562764e379aa842ad05e5becf796d2ec41c2aac0f3e686d053f7f84e9fe615cf9a658180cdfb2 -KO = ce9652f296b340582f1db0685db683c929b8f8234264455745ef5d7d00d44d57b7a3d3838dbcbcbee0e8b2cdd2f4ab5280d856e640e35dc59140176de1ffebcd99164f3e5bcf - -COUNT=28 -L = 560 -KI = 2f76aa411574a2d048214a019d7d630a -FixedInputDataByteLen = 51 -FixedInputData = 8596850113fe85b67588b7b263b205f883de818a12f85a765d63eabf2777a6077026fac9d2e326d9b0956f1e8e55ebb52c6147 -KO = e30ed7713303430b004c1bca4063c5572ff8d4890bce5706b9b93393a29e1d4687d577113a2e3b9c2249cb73e5da4d7ce18dafe6ed8901380b3c8fa882a4ee54f8739038370d - -COUNT=29 -L = 560 -KI = f2231ee3ef458786034968384d702f95 -FixedInputDataByteLen = 51 -FixedInputData = b54e7d60a31be20052335cf71a5193a99b2c3dbeb86cd5b25c6002687368abfcdeec8c3c508d90ed125c4884967d2dc62a3e59 -KO = cc8f6abf23c747b8a40ce57adf873358531f2cf1a0b4f9749a51bb3e8f690dfe8d0404c6b8d080e5e329eaa5fdfa9aeb283195caf1881553d21a5bf960363432b4b362ad1924 - -COUNT=30 -L = 1600 -KI = cd48c2e8afa03981434936adc8508ff5 -FixedInputDataByteLen = 51 -FixedInputData = 6ec762f44054f3473c01a2f3d8b3e20c1180c8ab589ceccbe346d7d5b3e421191c2cef7e429e9eb4b0ad624a933c2c3a1bc61b -KO = 43466b5fea0c260e4cc91f94b628387748650518c738619255311ce978b92ca0c77380afce210e3cc8aa88f624eae09af2c56757161c8ba2e6429f62f60a38f7494a10b2f242a70c5d887213583503155c13a25642d4eba73cfd8163be58fe1352a7d90afca5c1c47d52aaa835062fb104feb36c20b323612c44cda499980debf54e2d7424abcf71629543edd8b39b6bd74aedb83dc73cbe6522d545a4f322a034839315f59ea050a7526966ca4cad6a36cb54e7697eade7a6d953e3f7fcdc4268edea6e17253782 - -COUNT=31 -L = 1600 -KI = 598c2c34130281e0a93dc2616a9084d5 -FixedInputDataByteLen = 51 -FixedInputData = c517fc0ab13ecb3633c3e677929a0d223b9de487e965f21ef4d3fb110936e6f855d6a2a9d6390d4e768529cb272ea27a8c49be -KO = 9cd19ad627f874d65bd6b92985654cc338d91cf21b31cc028ad238540449ea328a9f3b220dbe1dd15a693de706a9fc4eafacf02a02e579885256e22e33f3a0b0609ce6e4f84b41be373b668994ea2141a30c1613930daa347ab7eebcb24655c1fe0ba3c9debb273a938879d9ac2d8e0e8a47d0098f1551f55cdae65a50d557d77fd882d1ab443287e14a63aea9d1c1cf33e539dc8732e7fecf947fed4a14c40b17ad698d97e9b8c0222a279446b8c509ed50fb9ca1c9d43b17979751a7c711a717d417eb8a8f1c97 - -COUNT=32 -L = 1600 -KI = 8c4f256ffddfda56d7e67b3cae1509e7 -FixedInputDataByteLen = 51 -FixedInputData = 8a288c3f99cee598756f7c577a296b1b1ac186f8ff14ae727796e5f77b0998785a8ff5c9db9aed670059038588da75b52880cc -KO = 2af17b6952e4e56a2f5379294cb7fd8f377fef86c61300cfb609001b5599e390d19e71cf204ae68ec9825e59ca0c38e30a49456e12426804ef180828295b9ff301ff7061601e30b774212d2dabb3d5e26a1e826306e3e7c9c8d3596fad49fe06f826b9c01be5d91d19e27b92a6c0e57eee4200f87ad9141eb2daca35686381f07b7827ead72d709c9f46426d9a880d97d865b215e2d61f3912126884d8aab656ca8080bdbc981a5ab6a3eae7638c427941309ddce9d9c6a0a4a06622e94c36939a203c76f4f1a449 - -COUNT=33 -L = 1600 -KI = 476cbe56dff791bcaa02451684d7c8a7 -FixedInputDataByteLen = 51 -FixedInputData = e142f5e5c909b3f2d2f7f09a30ea513c887a807ca6ee05419c6983ffee48c080cbdedaa64520e9c36cd1517569df372c836120 -KO = 9d88a0a2f5513d73d42ee15ef540d9cea7dc0b4ba751e081e2a115208adaf52fb94229b4651dca3da7c99dfd768eb60c2155a5a60e1b75d7c2602b39a233df810f6dc21f2e41f5540a69c5350456e4f03a5b1e4f578765286c50717849ef6cd14cdcf6f2c29e795831259aa751581b328b6ac8d0342497d2be1ba4d2ac9abcbe79329eea4181368b06a9d77fce21288d7b1f0d6db07ed18de769805640e4eeb6a27b7df75b7f45630377e6285f2a0b88f8fb6e2fe4e5612491aa4829395a74393c7ac054baa0972d - -COUNT=34 -L = 1600 -KI = ad6b4b5f859ca3cecd271d1d476b0f27 -FixedInputDataByteLen = 51 -FixedInputData = 3abe1ff742c720456eb22faa550797ce8a3346f3bdf58e40f15bfe543ad0c72bd05261cd6ba4b1a68b745bfb617a1f0f8387ab -KO = 9a0da9ccb64b5646322edcf2887aa35b875bff45a28d6837cd3b9a0ed6935984e2b2a3c54867ad8521c7d98fe85cb6e4f0b1d0b65d1c268a6167bece1f06537a31bbb1db2348bce3be8654933a0c4bb7ccb37824e0b0b3bda9ae7176de0c33f20a009cf0b8aecc1d2ef272556e0450d6c60a552640e67bd9c991ac017e1ba0af8845eaf33dd86c0a6c3e491ad83da3828eef5b460e4fcfc077fdaf7c990108ae6d85a3371c641ded398efa17b72a07ab4c866e615d179c3538124ceaf9935d9299bd7c5b65b85ad6 - -COUNT=35 -L = 1600 -KI = 5510301f474f74329fb34ac516841962 -FixedInputDataByteLen = 51 -FixedInputData = e4bbbb8e805af63ead9dc01f9f842ce6f1aaacf2156aada83de0b6fc5712e3da3b682fdba9840d46f6190c1e9eddd92833f9f6 -KO = 54edf08ee17989b99c021643ae15c2c9a95d94a358354547ec24fa171ebf4d0a002ebcc6486f3fe9aaf3388a35583d4579564ee4ef03a5658d6d91800adc652c3cb76469cfe5258f297c63a7a842909f7a92b9253ef8da0200e4dded732b0ffa3fa88c7439d56a0883e5e49eaceaaa3a7b023174eac3b5f179bb29239dd79743a6e824c82a3d685af7e395bab005885b5bd3e5ad75cf97ff81fc1a856e528fa95ff46fe2076d0e18e73227147851ee410e29b918aa512ffce282f3f9673638c38e829d3bbd329af5 - -COUNT=36 -L = 1600 -KI = 13c98559bf98b541e57a697620545638 -FixedInputDataByteLen = 51 -FixedInputData = 4537c4b6ab9a997fb398e0d6540dedda3c4d6ab9ac3cc49a84e032fea5b01f1a8d0fe9efe23543a63c04105955c604c81179a1 -KO = 58f21bf72fdb7f9e6958887b2990d86010882598d32ca4a24b08ba6bd5fb19aa8a6e4b78f32f9645cdf35557c9e08cbbac1d3e2d220da4a8b01019003e2edd0629faa63c2878295024b3771f0ab3f42d9d316eb4ddb0df529a556dac56f9ce7674be537ced51d699dd01f3c724fef81b7c8c48810283002e52c78ad8759aad462ebfeac757c20d83b9d05406f92a4714a9b5b2fabc0e72368177342da3feb496e0cda087719fbae574a3b124eb0346774233902e75b1403af58faee127fc3ba24bff0d9058895c76 - -COUNT=37 -L = 1600 -KI = d1b840c4ca352f27d678fbdb8df5a224 -FixedInputDataByteLen = 51 -FixedInputData = c807ba6c900693a01310d08f9e6f90c43fc74049f0a9e8e846155b2c842584f7feb512b3462f6e9dc020587563c1accd413f6e -KO = 0acdddc2a0b00b72f2f515a36ddb4938060af687ca5ea1f82f342c2fe15e073d29d4437fb19803a98be43b86fdc26c3786e671ddac3181bcc5c060312b7cb46a49d4ac8b95393a2e22c38df8e0b5be12031300b85de409a0801901ab9ae5f68c8bde1a39ca876a1c8575dc02ea04a68d80c5b676b91997c039fac6112ab72e1eb40aad9c6f5953ff0784fe1f6556788ce8f239ad77a7102b025254a90a90e0a6a9247ac9a5feb67f4efccec0ee00d2fe77338f6d4cbcc9b3d42e79c1a3b24757199526056d21467a - -COUNT=38 -L = 1600 -KI = 66d16980e27dc279baa2f305bf8c77d7 -FixedInputDataByteLen = 51 -FixedInputData = 20ec5d39b900e72959aa9cb1191a79930bdf0e7b11b30664aa814c1e38afa58246bbcda9c0eac2ba790910da9f26ad4e802bf3 -KO = afa0c66acd3bac49ef511e6a7a13f3671482113db5f6f09b429cdbe3e1e58760f4c10c578a24dc72e9e00d141150b839cd1b6e5d54680060281f030b40413be8258fde4551c5628a5600435d70f6276ccc510633091ac22c11e8f3d5a5c983307009274c4f3b870e23d88c2e58d27663e484c2ff444a38e4265fd78036a2688b7cb55ff64c2a9dd96f47b787c64ec38eba9679d23af044dc6d3d51ebe18f17a4bc4f61f4c976db1d28432c6fe929c7d06168baf6552e971ad1f8f0befadc2063c88905812a043c6a - -COUNT=39 -L = 1600 -KI = e17e448251665b3e428285b0ff2a0c8f -FixedInputDataByteLen = 51 -FixedInputData = 14049682d60fe93d7f0ee6f9066920a5ef8122faacbd874e2512e4900cd85c67a499839d4ac5581a91ab3ed62c87bcde02ef17 -KO = bbcfc36985df51d74f3845988641f004da9d5281843a19d0c09b4193eea3b47f9d6706b52b914b2dca703ac07a43705b60eb0b11d02e3ab6bf96520d9233ff18bcda04bc4ac46e6f9d2b75bbae2e61941080b09bfca0ba196480fc425cb44a83bc76b76f7b495e08279ac66ae36305fb8165f950d7db2c2969b83ba126e02012b8f634dd313830d6ce5f12c9992e24b03fe42365a1acafc6f3d5028624d0d351ea415ca22d3c54bc293aa6edb5491bdbdd0b2bc660471f6679d7e4fb7ced74eca513dbf34e4748c0 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 20ef95b3b02506bf084f0edd64eed0b3 -FixedInputDataByteLen = 51 -FixedInputData = 84f323ce453d7b7f581521b99e4a193e831e3d0e78da34ade2bfed8888d8d21d2b76720c36664bf6fa955c646932cce45434fd -KO = 9f10d628278e6c55487ab8b1a81040a047b72edeee2de0e8e0f441d538df3c6faa1e794c1b5a23ee379ec2c47e2f6e14d6f7df732abc7e5ceddca7965c69bb59 - -COUNT=1 -L = 512 -KI = 9da19da7dfd3f49dc3fbfbdb0ab12fa5 -FixedInputDataByteLen = 51 -FixedInputData = a7a7375963d69e0e6fd2e9970843000459d7238e21d5d058e9772ee22ff28ec550e1209f1223fb496b32b05bad5084e327724e -KO = 8c57ed0c13a1d2506257b49a2c2e6448de315cf50b1a5b6ba968e77f7cfb6b061fdf2097c7eed3532e320c5f2d2e4517ce38514daee3ce19562044816f12f4dd - -COUNT=2 -L = 512 -KI = a56af4cc04ce24eafdf08dda23692bf1 -FixedInputDataByteLen = 51 -FixedInputData = 939838a92582c6b0a9977201b88b71a5350ca9862c6b19d0d91e7cbea9c4d13fc52d71c9c1af01a2cf6587193699ac680788d0 -KO = 0709753830900bfca4322d4b730f822a4acee6951596dd6b2571c71416164a75d912d399921dac881e1bc2f08a9c6e83a0451b0ecec7e84f6dbc9ff8c4a34fdf - -COUNT=3 -L = 512 -KI = f0db2a625b492da704b988b2d7a60eac -FixedInputDataByteLen = 51 -FixedInputData = 3a260c887d670fd582e84efe5267544fe6de8c0570c6814f024fb8fff31487d86e62b6087e4d85f3b5ad0e8f1e09a49702ef7e -KO = 00447a756684e3825dfe41f1f1d0ed86dc90d91a9a61d9c06d48e754fcda35b2b407956ffe3155166bee599e5264238ea9368e67027ca854530467d5c0314d20 - -COUNT=4 -L = 512 -KI = 8fe1173701265a0722dd173bc6bfb1fe -FixedInputDataByteLen = 51 -FixedInputData = 44db537a1f09e5f952d6517f11e173a939ab6f8b367d7672c71859053ccb29f34fb242a07e5de44fa610baae554dda56862118 -KO = 4cf255597f23fde030535c1e695a77db70b6f0f366f032161b86c39ace72c2e3943af9174392dc5dbda8f51b8634215a29006d3423151e18be2535dcf08bcbc8 - -COUNT=5 -L = 512 -KI = 27c2324a84ec7df83a0acc9c86aa1cd2 -FixedInputDataByteLen = 51 -FixedInputData = 9fa30361a4bb61305172bc633084e71eb43e1bf0ce37d6d5e23f9ac08627a0ba876ce1e37b3c6f5e8be34aaee2f46b984aa982 -KO = d4423557cff1dc4f62a812b283cd190a5664c02d7a9441a73b87f10c0cd0144f6ba20d36f732fbc38aed08a187054e8c0443d8d539504730d4778939ea917a86 - -COUNT=6 -L = 512 -KI = 906a2da23e1d793d59ac90612a77365e -FixedInputDataByteLen = 51 -FixedInputData = 4d3f1cc12a9f63193b4cb29247f5d5b285b37456879a787f56bfe7bc245cb0a401a44d7fcb0b1c38abab42f2cad64b1eff9ea5 -KO = a7df1a16066b63b7236f700f2dcfc7dab1da81db99ceb30859a3f1da2d746e8e6baa437c88e3a2254037ce4bc462e504d65585a92f8fbad8669788c7fdd6ae58 - -COUNT=7 -L = 512 -KI = 81b991e27a8df8af4b9f3451ed76eca5 -FixedInputDataByteLen = 51 -FixedInputData = 5fce1f6a1232f3efa68bfac0bd4f04722bf40ebca0165e79b7b96c221c5f9c81e4e4ba6658067dfec5d57475b4d819d2c29f04 -KO = d3218479b8c45f522243745eb523541772c9833e73ab09ed79d16a46de3ab8806763331bc381ec46a50022eb4ea0e2a4e6e3be2033a4f71b7d9f61f603e9cb83 - -COUNT=8 -L = 512 -KI = ad4f5a430a8bccb9ec301e99045f3106 -FixedInputDataByteLen = 51 -FixedInputData = 11734ecab9d4f487032f44a6415088055229e7fa39e89279cc86c8b2f15cd6623859cc9adcc3b66c5a809263a0532759d6e9ea -KO = 4fc01ccb8e901a5afefe63b18b0321a42b8087783d3731edfeef0e49883ec39ce745ebaff0fa0571dc8c578d1c14ced69aff9d91e0ab648112277efcc89d216c - -COUNT=9 -L = 512 -KI = e8522c967d24681c712fb374ac20f0b9 -FixedInputDataByteLen = 51 -FixedInputData = cb10f169b7ba2120219a1055c1f1ffe513562b1133c9af987bcc396476300045b782cbaaca3a15376e1122dbc66ddc4d9c31ff -KO = 6d453c038b82e12075dc93078b214c95a024688fd73828f5d413eb778cc1e87ca9258b8a45c2cf1a4d9239951497e219f97d847a6552ced912b26ec1e3affedb - -COUNT=10 -L = 2048 -KI = 81e09d2d3cf1adea5eb23662e3f78ef9 -FixedInputDataByteLen = 51 -FixedInputData = b8beadcef9d38a3775d1cacb1c960db5e223f206333c1b56314762a499bb5c36480f87a6f0b07b6e4a93456bbbfe30aa6a9d43 -KO = d5e5a106feb6fea05d6b1773251a3205e631baf7aebc602624ee9afbd35dfe2a20ba1129a36efcfcec6e84f0d25ab00df2a428d67198b4fc62116ee45372ccbe5ce104eaa94cd6cc32254137bc51ebd8f8999843b1db1919a130c84de7b7640b111e73921fe16ebb1d526f9dad5367035a67e3890aca72bb6c216969e20e952d9272cb336491b97c1109298eebe661bfc358ff94406ea7bedd5599416af9cdaa5b6fc8720d31218e4b286b0110c6746f2df19d313e5bef91fd18a2400cef8577f5735dc7dec96832332256c7790af026f2e342b1ab61b9ab647fc27a50025bacdefbdee4df5aa9685840a99d7090f044f53039c86d494cc0084bce811144c406 - -COUNT=11 -L = 2048 -KI = 37942f24fe1b267b48e42c30009940c4 -FixedInputDataByteLen = 51 -FixedInputData = d7273525a433101a071db5c1a9eab6c6affc1af9f1d93acd2c9dd789e8644c9f288c25d208cd7157d00fd87a20a1ff3ef389b3 -KO = 0b0c52b3867e2acf0e975f4c5fa9641b52843371570784a715d63aadec5a41d3d6ef994f94576f1dd048bae95b8423e741cbe4d6ff2a47786bb1659a938e8927ebdb92c45f2639ff2244509de71d33690d4db1f736e5e14fbc196b10d59018c2081338b1068205621aa69b56ded37b75f21cc35e44b8790ee013f685554414a08357927530816c28f416ce6ac008dc15465b9ee5b4010e6fb453245768c915b8c83c56fef8eb6700a5ae9f9e1072accd92707ad5df6c3604992fe7cdd28b30ac2fd70f0ae833db039a59129b7a3a99d57148438e1a65187f87d7a810311dc238ded7528f2d70aec473ca05328ab2e1cb2b6c5f8fa23c9084c788694b643186f4 - -COUNT=12 -L = 2048 -KI = 0db697e08cfbfd6c817ff730d786ed65 -FixedInputDataByteLen = 51 -FixedInputData = 453b1736ed2a37e89d900b565cba0cee0e8eccc21df29b12ace3a4a3c8cf1762c6decb39ffa655501cdecad896f397e7c918c5 -KO = a343cffc88e122b99afe7b60ce69a47a049e9007a03649d1aed15c0a7b98f982d417132f1cafd7654efce8e853052048d5c6433e2399e8c865cb198b0389c4e95c663fb1b9424c88c4a9e04c21a99e50eac473db03964bd8c65e6cdf25fa439eea97f8e38ad0b6d7f13bc43246e8a7cdc22ac03025bcec3656eed08d6b1928dd48dd67bd07a1f2df0e9dd0aa7be16e6dfa56df299a884f84ceec2636f6ab8397ba8c2426d730f536342109f876ea6a065427bc85992cd1f65ff14cc0c15f0f6fd9caa44a96e23ebdf4bdb0494169c08185260ae26de7be7be1cffaed8e8421f42473b2145dcdba5916cc3ebdf8f975fb15054cca33e5cab9c34fb57641e45769 - -COUNT=13 -L = 2048 -KI = ee5e9dba142890ba0055921aa3b07ce8 -FixedInputDataByteLen = 51 -FixedInputData = cd199fe8c342294a42cc02710080e2b5450748ca218eca8dec99687bd00aa934fd9cff4b9728bb40260073597f1edb03893c47 -KO = 5807c586a6923ddb5be5272a02017204f1ffc7702b7ca7db0c1a9aad151972d8237485aea67d33751a660f424f46a06e9d65fb87b8b2c476c93a4460ad3bb887893a5b8fb09ad2e5b6eeb0efe3bd093406891806cd162a93fab0ab70025f5de2f49d882d7eec29d5a3a03f1f4bcfc4a338b92a6bc7d1158ec29ccd05fbb34f00660a2dbc2f152a7a26137dbb0f3ac7c5146ea9ab2582ad2ab089374ff44e9df06b8eb5ed71f4a91ff597357f84b477730f8600d47dc88e0edcec3f6a1d56e03729e1f3e6ed181d6d007781a057034b77d0d4aabe83530d808b22f4b1128c8e620d6dde2a0c25a3ee4cd58a8bee80f181af5f4d614a0f66e5c99e7150406d7dd2 - -COUNT=14 -L = 2048 -KI = 425b37b9df066dd391aad5a42919acc0 -FixedInputDataByteLen = 51 -FixedInputData = ff650abd4880482c8f5e99940e59f0cef34310bf379553f080439a836a538a6fdac3d73015e61dcfe025926f04682d82e92869 -KO = de347b7b51ba9e635c0ad28fbee34ebed2fbbc39c718152b2e04c5be94b77f718db82962af263bc7943aa279100951d3464daaf2b6d2dd4dcc86892ab1ac0eef41c4b7aaae1b7ee3eb70c12207384c02dc5b6dec2e16e9d22a5c14f93cf5d6797649ebd69399281c7e76de80e4d7714ee4c8e12234cf1180a73d8f5074c7317d2df5d8b3dd7f9778409a0fbc874c3dc99a70fd769fda79e984bce8b6e940d14eb0751e21c11eeec196c08b22bb2d20d11874188f659b173a2ac97ee1ee955732a728d5b040ba0f457ea180385f77e3cfac4773619e2fcf9031efa04513e8e5df8b65935458ff29b2f6153dbc61a8d49961f6d32fc6ac9ce027a04e840d7c9020 - -COUNT=15 -L = 2048 -KI = b0ad83aebd85e879a6ec3d8789424f97 -FixedInputDataByteLen = 51 -FixedInputData = 731eadac4dcbe86d507987edfb3b0e3c977a061fcacc39ebd0a29c3f5cc23ca72cfc8f20100a2362a9c89f252f4df074f3d5c8 -KO = 2fdae8fbdd8e0624081e07a7c6b13b4fbb0318c6730228290fb48c4cba1b821bf79d1393251227a61088050256738d7a26e66ac8155f2009ee07a14e85ae969b4afe9426087d674c9f0067fa8123b37a0fc11069b5fe6e4b8ec7df724223373f49ed7f8abda7835f326ebc5999c6bef4fabcc503c0d31ab2ad62ff305e87a44da6b8337aa46f790adaa7135eb884148f322443e99087f1e8886d75c4586c04badd79b2f118235ae4015687bcc129c66241bace0dca83479a3885a496764ce6f82e63918bdf46ec4ac0addd976da5e529482b4f267c17949ee2fb4fc5f64c9b455fdc7182c294dfaaeaed6fac8edb3b6bdc7c38f586fe187f700b35460d5efab2 - -COUNT=16 -L = 2048 -KI = d7e2fdadeeb8d1f39efea4400d353785 -FixedInputDataByteLen = 51 -FixedInputData = 7b9e7c2e07c4d120c5141b8f77b37e079e7d482390e406e2fca23189049eb9eb2649e599fbcd3e5ca1664a3b58542100b13cb8 -KO = a5ac046673bff0d8bb6d4de3acb3c6999ac6aa82dc05c8b8f0af1952985005d87af67c1c6271c710a2796cc7ec8d90eeda485f0d2431aed0ac1130b883d03fdd8c54cbf2ce2c2755b72875ddfeabff468959b65c48c21776541eaf186e65b11217be6e1763cf31a98c26512ffa19042b55dce4c28dc86d07eb152090ba4313063c826e2cdff628c43354303330747a2ce14ce42e80a703906bfdf083809a87bf166606bbf19c7da4da58b3d49957ea4ecc57e63bdc82b5b33f8bebfe7e66d52a0e1fbbf72c49e1bb53786d6f6a74b5f82300b38c0f9e0e8a58b85f791bf75e3cce7523e5274d7b4f5ed60036f07f74178eff4b17f6095a3a51df6220769eda2c - -COUNT=17 -L = 2048 -KI = a63abcf84c6f991037b5c0820e0bed85 -FixedInputDataByteLen = 51 -FixedInputData = 2d36017933bab13501e92c867aecdd83e0fac6f37e7aeedd062c2ed02ad65fc895468b2e37313608bda10769f2dc55ead87b35 -KO = 47fb7a88929ef6a91605eff2688c2ab3e7e3258567c44b5fb12713fc83a98cacc73f7124515d289b8408826db41d5a83874897f853323f378a9eea14d78222976caeca78767ec79112655f240985d8dcb506f7b8da4e0c181d255ec4c4d28dfc3a6617b25c61705f642d1b987d9dcc246c2d2dac699101d31359c553520b456a943d7cb0c3da3f9d2506d8189b595dbbc121e8ad1e2222dee959af586c900dbb9fff5e5edef0b90cf1539102f59a2d161f5057a1c51d7d5a41110a2c4fa2ef92214d7c0376315db86d3266dc1342d6c3558a29e900a7a51b3c60759f8ea4c258906bcf6a0eb57da1aa487086f36bfcb08a11411d5cc6fa15b41a960d65139ddb - -COUNT=18 -L = 2048 -KI = 20b5d7ee2487bf0eb5f75a83885c6f2c -FixedInputDataByteLen = 51 -FixedInputData = 8936e6bc9449517d6f70e1978420562892eb54067c909bd3c611815fd204162565c53f6a503e640523e3c17aabdf98af7930b9 -KO = 9e053805246701c0be78819b237f5431ee992d622f35d0bb8203b2cc6897912e3ae045667a780f1c8f42ca1a08931a4cf765410d8a87f848fc319c0bee0f6a5c4a524f63ae56d1760057493294ae658cf13c0ca97a9c99524cae8e0941e7fbc0f545046180ebfc089f050bb7e8af86b3164aef4bd9de139adafc382d6a2ab3dea05e6bcedfb0c0b1194f0e9562f30d9f7fb50150a24dab4d78288ca660ce8aef8533de7f39fcadd9e9ca079579b42ca228732bdac47ecf59e6442f898204f2c13624504f8b69bc6272c28cf997f5f8b11cafca01d9bf1874c17f2cd63e9bd2bc3cc8edd467bdf4ee5a1d8abbfc583fe7078a91ed4465816b1677e69a2b231a2c - -COUNT=19 -L = 2048 -KI = 44f865f56e986e0646f703b1d9c94e46 -FixedInputDataByteLen = 51 -FixedInputData = 6cbefcd6ded547492f2a4ae4968348a5e46242fe2796743880ea1c6436b093389dfbe169fd9953ce5b4257ddd3c3ff2edd761f -KO = 5eca8b1b5ffc7cca25346d78c56212a2a6bd99a665d09c53a727e8d5e7e7563973a373d2523c27912169dc4f16b07a78124d48e9f6ea8730e0b72e7e60c92d7bdc534e7cc5cd16757004798383651fb44d59404358c0ccd27392dc1f99745edbf8b398dde22df631d83af79426877455a6794711dfb6bf8f60708471e254ac2fdd95d83f65248a477619f4c6c3fb11cfb237d92700c156e63fde2b72899545a0bc3a7e5a98c54764fdfde25a107d5297ae6dff17b17f072846fe327a4016fdc2a9050a6186916f48a93a9a2ebbc8c6580380627f9475708d70660fe5547e72130cec7ffc0273b3b932e34cb86d0fb08df9b073fcdbcdc9fd9e1e32eefd6d4b0b - -COUNT=20 -L = 560 -KI = 4b07ec2ae2813e4f035e1449605b7b4d -FixedInputDataByteLen = 51 -FixedInputData = ea72ba249d6024d5261e612a118da3d006e13a845bd28b6e42e9093ccfdafdbbc2c7b0c64f8a4c6cea4b525d1dc0d28ae7019f -KO = 06b86c5c6b109d006700ea9d3ded4d487b5abb3e438f2a5a25503592686be6e19bb37c15c95c9e18316be1e84b594b830a108ad29f70039088f9837637c787f87c7d49223708 - -COUNT=21 -L = 560 -KI = 89428b766fbcddcfb95035b5ed7ac32c -FixedInputDataByteLen = 51 -FixedInputData = c3d38c94213afedc2e58f875ff8b73a8e7dfcd2e56c11bd4718ac3162e5e0e02545b9ddf139853da8d9dc4848ba3e72cc783c3 -KO = b98f3c656b239aa57b3b3da64bad2e319a05e4d1f6f6816365b7e1e28c4336402d3896fcd2174c60c381ec8cdd9672110759c29f0901a7d803d5bb4f8c57eed4b1dc1d573a6a - -COUNT=22 -L = 560 -KI = 4a3d501aefe616e1d3d4696db07b3db4 -FixedInputDataByteLen = 51 -FixedInputData = badd3196eec70942b0d062ce07a9fc4e47545e55a85cb6e1f490a2d0d4c4af6ae2e4678602a1b3edde105788455d63f0fd25e5 -KO = 25a13e0512ed02e7ba66d1acb871a78d673f463d5af360b643320dd2fd63ac37c0ea4e981a1d4b8b8b5bfe53cb21d4716851d12668a13322e5084c12b0aeeb1c40ee11cea5a8 - -COUNT=23 -L = 560 -KI = c6acb0ead1750f745bb7751c35f25f9a -FixedInputDataByteLen = 51 -FixedInputData = b696a0b472c5528b30030a5aea6a37620e8dc2616ce671c70262028e518ff55c86392ffa22d52833107299934a09a8c6f319ff -KO = 61be1ddde81d8ea62be829bb2dfa0f0402b8ea4f8b526fcf9251774f47f7f76ca95afa962f2deba89cea441964f7b861b94ed806e62916d4535f6013f2927fae6c70b907986a - -COUNT=24 -L = 560 -KI = 21cf7e9d594ae1da78bfb8b4afb0b051 -FixedInputDataByteLen = 51 -FixedInputData = bccebc6520e422fe5385914e9f6aadf367b7e6d621f3464cb571f6f99ffecaf9d9f1abbdf6cbcf7060fc9f2abc94b41e763493 -KO = 2e3b49c660dfdc32cc7debd968895d33577cafcf4abbbbc3332ec17f48916db58510010b24109333772bef7a3995731b0eb2db90007861f2f7f83ddfe71c1bba1fdbcc81856c - -COUNT=25 -L = 560 -KI = 9978a198cb6777ea75f5317487d2daec -FixedInputDataByteLen = 51 -FixedInputData = b8d39f5d8e8f0375909a504c43c759d8877c2fa531ff3d8517891e9207c5751cdd4cd3da95cadbbfc886078de690b6888b83d0 -KO = c0bd5a4f4c2668fca229ba4050c2f71c03d1654c371037d0379e6b0cac56da15945a4a257b2e3d774db2705a76df40b4931f88d4c736b657dc57ec039619c0ab93ac50e4cda7 - -COUNT=26 -L = 560 -KI = dae5a327e14af446dfb04a06fc9f49c5 -FixedInputDataByteLen = 51 -FixedInputData = 9eabf91094e381b27f52444c7e696a4993a7cc2a4fa62333f8661d12333b8ae6c809c3647defda12a451432ea485ccc0f5423c -KO = b4620570816d90841063e356c289305f5b66110adc214a728f772766c4aa7696d2b09edf586ea73a7484dd6353e8ce92bf9073d03beb8298c3393f89bce0dbb1940049713c91 - -COUNT=27 -L = 560 -KI = b79210446cca79b8bec3a5854bcbe5ad -FixedInputDataByteLen = 51 -FixedInputData = 95f0e168e5a3c6323990ac8f19a00802a840df8dad5bf10516a7640e17a6c5b0363bb5067130719ff96f9a8cecb53e16b0b666 -KO = 9dddeb6d28b0090ef22db137b9a67e1bed4063e432e81d2dbed6e2084861f1dc576429f2462a5f1a11c19a73a56422dc7870fd1e48b0f3f8c1fd59c5863849291fa632045ce5 - -COUNT=28 -L = 560 -KI = ecc9c24f0b76f0b68458ac4efb1a0165 -FixedInputDataByteLen = 51 -FixedInputData = f322d15cb466d2ea07b938dcc0671cc5ee476949187dc6d19b46abf02dd51eacbb1587a071adf1a969324a8c49032c5e29e9be -KO = 15e9fc19b721abdb911016f2a4183d24271d57a6eb31ccda4463e0acdb6b5eaa5801069a8e446df4392b073038f0c89d2949cdc3c9ca82f1332e52a57dd89cfb72a184e8a094 - -COUNT=29 -L = 560 -KI = d125f18429ad5c1acb85047e1442dc64 -FixedInputDataByteLen = 51 -FixedInputData = cef62670a4dd349c9f60874eadb91b9f0380a7afb0e9ab241a797182ddaa3704189d96548a37c0b7eaf5c5a679ceb6bdb554d2 -KO = b297a86376756dd1be4714178e59481ca951aa17bc419255405ebe375452089da70fb5ff4e830cfb004689b02681a7dc34874726326e23ddf8ed9fb85fdbd267ec067098c9b6 - -COUNT=30 -L = 1600 -KI = 44f1e2168bae583959f79585b93632c7 -FixedInputDataByteLen = 51 -FixedInputData = 716bd9a23a8524d369277740a6eca90f9c402415f500fc1d565663b99487c9e9ac8492ea715ea70fa1794adbd3c8a85ae1d5d3 -KO = 756b0595d86d2cd38c95c29bc0a55da95db50cc48c05b1e83641df5040e45ac4bc1c3c63b580dc5c7d68b0489955375ce0557bf8c3ae1481db034d53a6c854a22a2441dfea8f1e94dd8b5aa5d2f6341d1c25de72ed85e1065a0fb0f9fa5fa3f1408a3ab995b7497b70889feab1e005e3df77c5bf8498ffa26be974ac222c309605ab80d6959e3c98181034e261f0e222f5bfcf41d6bd8c0c37078792ebb2a1f7598ac2522362bb46d25d9b1711e80a0a683b82356c9756e2e42087b51ef261124bcfd4de0dd8c294 - -COUNT=31 -L = 1600 -KI = 2ef3a1be8061e094e69982ecfdfb0f08 -FixedInputDataByteLen = 51 -FixedInputData = f66cbbe201e2ac51fad7e42d941a805d28e0d67ceb9f5be43b1a6a05603a356bc1272a5d845119a938ae32daa469b6cc7f1207 -KO = 4f3a4c58fda01bc3eb13c6778b0e8717be37b7a75cb1c171209f182bb0c50528e0a50259f1bbf412cdf48440278fe728de7f93de666a07eec783fe8bce84a36e26e2da2c42a530dd45527b7b27178278d4cbdff5eae6b2715e1e1eeadf30a46060715262d1199d63a93992556245c04776a975d02c29f6932bbb29933676a19a60220a18168df638f2ffebff047aa7106292b26790fc4f3206937745aa02c530b4e8ec39f129637e0b41eb18bbdbf552239b6dfbf423cbb715f551f89f2be8813a03bc647511c6cb - -COUNT=32 -L = 1600 -KI = df00e8edab518c7b89b8362653e53e93 -FixedInputDataByteLen = 51 -FixedInputData = 1d256f96c34948725dec758230851e58f88d713ac9bbed8ad7d4f4a70fe4ff5cea1c923760ad21807927b302b309c57142e510 -KO = ac6b9ee955b9c54f78188829abcaadb8484d5441afe6114584889adf8ba6182fbf1e106933c8a11aabcd4e6a880dcda539b91ac20f888b822a2b4dc69055ecfbedbecf3827f1f631b00782d87a2938c83f7625c0570c46aa75a93b87e10c38ea6b2e3197947f9efbe734e10c6a7254c861ba7bd3cffd0f0a790387c20d9c0161ffc2f87b13432cf9ce7c19f45f7b9b88e892d9f1ee26706560b5f5ad6a8c21461cfbd05dc8770f71dbc2fda19d87cdb184d70fa96d6c9ca9e11c21361d515473c165638748816851 - -COUNT=33 -L = 1600 -KI = 8257cec8e36b69635fcef009c832c32b -FixedInputDataByteLen = 51 -FixedInputData = 04e5a5236069379f036705a405e52c4120fabb12c7af480845a1a5bc005c23dd0ca264a8cc782328c572728cfbdb49708abd5e -KO = 6b95c6782abfa6decb9977e853048dcff24a6ae28bb19a5d225afba7bcd481b032df83ab75ee7acd84642eb222f59d8d8a6dc2d8dc37aa2b11f86c5be27e3a7bb9eca3b5667fa50b5f5188d24f8c8e4c5caccdbd5a0aa584eaadf2059702629f5ddc038c5ab6d19a8ef7cdb249c5d3c56dfb2fb880000ca1d5b9a0327306f500c59cdb27dcf185216b84363ecddb5f33709f9d9f4392f2135a6fa21b3edce737416053d3b21259ee7c9dce94903a6ce8d032a26aec2cdc793a66b944c84affe6187205a851c504ba - -COUNT=34 -L = 1600 -KI = 9e16e61cf7ab9febccc64ae59e051bd6 -FixedInputDataByteLen = 51 -FixedInputData = 3a4dfee60f9b23bddd125270f17ae5dd5c657e180d480f60027a64138112675119006784fcf98d8b427926d755cecd96918f9f -KO = c9345ad007e3a0d2f328585a1a349863bcb13b5fe366959234dffa3dd2e5d384dfd1ac3a1d3d64cbb5d460f3a6a22359dc157a364d799514170245186fbab2cf9da85d0fa8e770f4792fdd2c19241fa54e3c64a94c104d810c00ef6231023450c10c26d39ef35ff85fc1bddd6c5b4f3143abd5ce49c5d5a01d0c8fbdc923500a7d17c86a69e87813163a97253a723242e4a87ac3ad12f3bac3244b6e096c5a84ee38ea45cdc18d8794875415c1e76ea734b53a7b5c10620d2e8808d485065a261ce551551ac28a4f - -COUNT=35 -L = 1600 -KI = ca7fd741db94b897c2275b569e886976 -FixedInputDataByteLen = 51 -FixedInputData = 18327cdf5ef5c3721d85a6a4e13380a351fc8f4118f6f098ee81696ba31d290f573d82200dcacc7fa62ee20db85f9347f5a306 -KO = e34268a4733975afde5d60465131fdeb6907f4746e75b6b3f2917fa2cc2cce4f2670d34311f7b553bde0106edfdb66907a8786362fa7dbff936eefa30f444055fd9933c82cdded97da3a315709c75fff3dea61ceefa7d7688d17a684669ab33d2e40817a7efd4a04d2180a61b360ac539ef8b6f3edf5010cbb9af2c0d2cb56701f886f0d3d7bb4c947067a0e04664455f642d3f44562fac2d4b7cab87fffb4999f68a46a47fa61fcd62e2a89a0a3be5247ce0962fb34fc86705749e340ca3811218a575b2738c9af - -COUNT=36 -L = 1600 -KI = d610f7e82687b53068753f381ba54f89 -FixedInputDataByteLen = 51 -FixedInputData = 3db0a5c14f06391fc75b637565f069a2531c5bcf5d640192abc695beec59d3ad99c429749196ceb02e97dc05944e7a8665c9ec -KO = a885bc633f5e51ac290bafc99cd8b3e72274005e26a6d0c224a82157f103643b000556508c514c8f93213262581fec20500effa13bda37371c43fecb1978c9adc8ded0fe1a2fb552197cc7c4ab0d78513af622c297974c54f1fcd31297d73e1ebb6d1e72a54c2bf920ef1505d7709098668fba9379f91690c916c7c51a6d1d62ef568f49403e53f511d0f6c146037ba02f1dc0b918f45a69b2bba4b63bb6f1cf16766e66e1d8540d02293de23d757ddf6a265e33c15520f2fd10cff66aafd8666b76210ee989659f - -COUNT=37 -L = 1600 -KI = 3d1c20d02ea243adce165c8481e73a83 -FixedInputDataByteLen = 51 -FixedInputData = becacf3cf597e006f9589914c9bed941caf66bb3c15e5943ffba4c83e1c62188b8fd434d2fdaf2aece65f194ecb4091b47ebb4 -KO = 9fd53a8afed36c12de72123bf9b3c0a40083ad592d0104835a0be7da9339a5fc1622eea86197d9eb4687e6b858f497487a603685a447404e909448b7f666a0942846f698f61d03e66ae8cb8a5a0eff6ed6a1d8949c47e6b024561d6e8d72c5d3c9a00069773ef675c41ea93d4386abb8838ea9164900ca3d149f6fdfb7cf9b75d184e214196d935997a30d79ec6b705dcde93302f03b5f0e25dde8c48c36c59d38f79ee68c3cb86dd57725cb4d6910eeb31f796dcf2a843181473d6338bb0cdd7933e1bcfd91f8bc - -COUNT=38 -L = 1600 -KI = 1172288dde39fe1cc1c639fd0ab259c8 -FixedInputDataByteLen = 51 -FixedInputData = 545db045ed04bfeb4864c751bc28b41d6372ee44c3665f7893b354e047fd1dfab4c02a76219c9ce88e027c2ae9369d3370a8c9 -KO = aa32d0e2a5291ab87069f80f45654c42e2d92ae396b1759d85dd72ba10269329fe92f7a79164107df723a0ff16aca1035be8f1bfd464d4238a8f94c25eca9666e55dd89d431ff560c245b0243c1fe159f71e845838f207e4a629eecebf86f1c1cbd6bb237339346ad2e6ec07851192c4af7a46f5b2b8b3b59dba118d5a5da996323535dc685cdb364cfe307762433e2b3fc44693adaa457688f0287896e67432d7e8b14865c6cbbd8047ab0eab1d31dc012826830bc7708621fa0016071e9b3187eea602ead8854a - -COUNT=39 -L = 1600 -KI = a1e27e0a7b103666d28cd0d8a7bd55fc -FixedInputDataByteLen = 51 -FixedInputData = 3d6efd45bba6444ee1ac86d8f78e091e183d0d7867788d16550fc5a9f1b69236265d99a2cbaeb87fa3ada11565a7e884574089 -KO = 664947a384f5b8f89393ee34b6dbcd2bde859d277c3d7d7eed70855791b650bdea52b9475be8011d390f6e1e3621f16bfca8301eb3d2fa553c768f4a2c3f76da239813f2385f6994165a62bf8d902d5ceeb190c01f3d2a679ebe610f198dc48ebc5e11e723c69f1bd2721385840806c88116c7158dbe843d8eb261b01b30042c7ff580b4213cc574e2da5ac1603e74013c6b72dc6c5e45c66a63a3386e2d06ca1cb515c043976260d41965e4d3d7412b728c0ca7dfb2c4f02ba671668c673c10960fbd7287d2c895 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 52d200b08a54b740f1c8321d8a8a32a0 -FixedInputDataByteLen = 51 -FixedInputData = cb3abf3ec082d10196625262ff5f6e58e13bac4c1fd4a7ab35c535fb1d1d6fbf9600da7d907aebe1c77b59033525016bc3139f -KO = 65a7d4d2107f68a8faaaa3eb4be8329676d0e24a6e89e73f530b27b0c7ddb199e6710ae01cb88ccf8c2491a587b7b71ac8ea3ce03901a8f7ce264c61a98dcd10 - -COUNT=1 -L = 512 -KI = 6263b9c0b7c0f8ef1d693cb1ac38233a -FixedInputDataByteLen = 51 -FixedInputData = 40329dc953d486252e64040466bcaa19064ede1ef6762045cb6c07ec94b5d0698edb61da5a0c3d3e13ded94766ebb81fb953b8 -KO = 57d92d454ac3c010220e1dfeb0cc16e6a7922173bc7a4fc210a96f1504fa7d9dc8eef5afaeb963f8cf63ab948d6eb2615adfb33e6bfbc113342bee3bde593432 - -COUNT=2 -L = 512 -KI = f2df6a30b75a85a10154a496852744fb -FixedInputDataByteLen = 51 -FixedInputData = ba9333fef6071fe87052393ee47a0056ade830daa319c62f0ce4d7599a80fdbba7a286435bf3b045653b871d6e0f65284a9c6b -KO = 77e7c82b3f255c49bff6594b56cba1a58b06597a88cada1c4ae3383bd2dc952f6319aec20f9c987d99351ed6cde7736ad81fb20514053e996e5585649cb71281 - -COUNT=3 -L = 512 -KI = efa083117cc75ed5b74dd3a4e3ece12c -FixedInputDataByteLen = 51 -FixedInputData = ca07258372fc96273ca9e75f6a675814ec2fff24322690bd7c251233a6e4b993754874fb0c835117ca351d9a50acc486aa8a72 -KO = 485e8ea63a985f904283b85db375f9fc322045b7c0b3f764e9614b7e29720c0e711b67368ffbd221629fa5b5ff05c1d89d263f91bdebd7da8962a0bdba98a2e1 - -COUNT=4 -L = 512 -KI = 64c03789cd2bbb9e6836324bdcd7666d -FixedInputDataByteLen = 51 -FixedInputData = f828e4c5800aaec54025e98080221b9db4b595716fdaf0c30482ac739ed90984c18ceecea71531eaca8ce898178e3549cc3ebc -KO = ba38284a2cb58efd226911eac6ee7436ef252bafbd7cefc10a5bac508107dfeb7098e7906620d3c384a2e7d544f3a11a19a93adfd187a3f7b19a505f4851146f - -COUNT=5 -L = 512 -KI = 2c16e0302bf4958de956b4636747abd0 -FixedInputDataByteLen = 51 -FixedInputData = 8cec6a242d888640017726a2ccaea28a8e33eb98709ace9c54a1f9736dc25c299a36732b5be27546880d375fd1caf29c7749de -KO = daa4b8ba922ae95dbaaf199732e1de931ec1e955f29de636776702ec77061ac98cbfbcab350dc093b1aad2811f2965209a5c720e72c6f64837de97d3afc8ee5e - -COUNT=6 -L = 512 -KI = 5075ca134b99c300961514b712b2d4c1 -FixedInputDataByteLen = 51 -FixedInputData = b1396f601e6c3fafb35ee88c827aaf27c0056aaf87fe1b8c907c1e8bf97cd16ca252ca829e9206453a3dbc5862e1f04c5388d6 -KO = a8561c79dff84ddb51f08a49413ccee61daa3e206d3817bd76a2b7b650125b80f61f89b6bb0e4bc6b45f87efc46166e4650a199bd6d27b7f6edc401e2d2a3076 - -COUNT=7 -L = 512 -KI = 31e8b39149551f82df57d08e90b31a6e -FixedInputDataByteLen = 51 -FixedInputData = accc971278e27468e1e2f74835cd3d1d8ae0f916baba5f3dff52a1d64dede8624a442b1e091327ceb19061309170e8f3826fad -KO = 921c6e0d088c6c097b9eee1a1eb5dfa63fc4cd2cf3c68e5a8b1e0f4f2a84c0ca8f70cbb9a3074cc114a0f8958f2a19aa6e276016e92f7cac00584b50271c5686 - -COUNT=8 -L = 512 -KI = 4029226fec6183ea459459cde70a6d66 -FixedInputDataByteLen = 51 -FixedInputData = 456fa5cf4523d66741da4d9f9facd6f698cbe1504f40d4a4536539e186b62621722d8c5785e6b3fe63894271ff1073014914fc -KO = 6cb127b45e2ad04b8a3f6fb84cc239b57c128f86cf3568958606a620f03b1144251364ac42c40bff05454550ddf4f08db359cab1d482a6d83a30011f890e3ba1 - -COUNT=9 -L = 512 -KI = 32b71ef766ceca222d083dd839272493 -FixedInputDataByteLen = 51 -FixedInputData = 9c34e719ead70e63a43883d984994a08f8892b1de2f8576d01c83e4ce466c80e614c3fa0e0e4605d8744f452c40f99233692fc -KO = b370793e100474fd98610c0441f9ce0ca2a02da19584dc327e0d292983e81fdd12d4a7ff149808f60668fb4ef9c712ff8838d5dd1f5452fbc8a5d111d7c0c2b6 - -COUNT=10 -L = 2048 -KI = a87301407c74d11911c1ce950361f402 -FixedInputDataByteLen = 51 -FixedInputData = 79bde8e2572313c7e6618b29ce17a3abd6d2bc26b9c8892e9e735a098fc7125283a3cedc8122605266a5a71d6a71843374315a -KO = 91e6aaf641f2082db48b6be914c1ea060b5e186a0abebb194e45ae5fcf78c7d2849fc0c5180b39a0a11ad46c7aaafbad1fbff26a907283ae7c68439f4b3d7fa35f185253955685875177041275aa8db92d9b434256d7d582c2a0b2c5ea0e4de28617e0a48bb34ac17efdf302f58863d51cee9960ef7346f5b5aca52dbfa9871da80f40950bce61b281fcded583e33c3a8c5ceccbf312d270e7de575111556b8b340c568eb6900b333bdd52e681b9e0128e8321d2cc2fe03b14f6d045824bf494429e5a1cb61b07195d46cf389f52856a4e6c3ca70636ddf5c2ff7a59c4e7871e0fb6cab111ab5ae7516d56a61407c879b46ab6f70c28940c78f98cc65a112f70 - -COUNT=11 -L = 2048 -KI = 69f9e33f001baa3b16c8f74310e75f06 -FixedInputDataByteLen = 51 -FixedInputData = 15f9ebf2d78d17aec88fa40b6adb05f4152db343fe5025b08ba6bc7d815b80ea88a786fb08fa2ee9dc0a11cb3ec6b454c19226 -KO = e7e4e11af2abdcd6af4d33b396f2f2f29c8e966fd69cf1e6ff635ee516333a79278274dc41570dd61630db7a0e503cefe613c70f2598a4f651c083093ca57767cc3b3ec1ceab36f8f504d7064c293e0323924444dcfd8ee9e35a624adf2ee2ef9bf11ff49166de2a55a7ae3899ae995679e081ccc2fb81fb9b7cf2ee9e07c361c3b7882bd7bd3a6e0aa9d79c8fd076b0cf3d51aadfb2c66326983d8adc6f65368cce94058dbd4036fee4b89cfa5f56f735cb6e204a60ac06bdc1ed8e3ad25771347b143cc88170627bf2eaf674fde31c9288fb0ddecce09237aa88726d4bbca8d60c438bb1d6a03345528eff67f1cac8b03bd25cfe70e5e5ec897cddb1c1cf33 - -COUNT=12 -L = 2048 -KI = be1e7447d02b4c3fab302d30f519064c -FixedInputDataByteLen = 51 -FixedInputData = 9cce549ef09d14d768341a4f84e83fea42ab6eb268b62c73b6c22c4c16dedb31e89d93afebb9c459efa5c8fde538629b91a84a -KO = c4f464f9192cc8e47c303e4430d86f191d30da81768b26c7ede4efbfd8af5b9d53a3d13e83ec37182c9ebc3ec6a563c33ea626e9f0f7bda78055f1fda9dd5d34e5cf65fcdeb062e828b1cd5185a8576d8de59d669eac041c8a3f7b7d98a4cec372beb41cbb52a5493a9cd32a57d494378a2fc7c12fe995e8b9d9c47ed8e127e7e4909057f24b6c54c736f0ac0746f794a9250b8139f562603e7b3bd08f78330a41ef803cb34aa963c8197b198a6787228c8c341c9271f7308de3a723a1f94b90bf12d0a598dfc41d0e091eb147233f5059dea86dc32c99ad3fc6cc5c46f5c5d8067566885f0483039508ae69260a882a292b55632ba805f3d044dc1bafc36d6d - -COUNT=13 -L = 2048 -KI = 72c96ccab67126371bc2017b32adbda0 -FixedInputDataByteLen = 51 -FixedInputData = c59264a5d8e087640efbe6509a073e7edae0f577f99139c28c9d45101c706852d195b724984543b80970d5e003d3149bd71879 -KO = d518b83a4f84009f07f23c57ba13f58c19956cb00677b583e5446ed6a2bfcea5e692184352ed5ee238e59b27c2ad8f2d26b81990fc3eaeac270632c82e6769eecf0e436d4a98d9106363ffa85a0ed823cc58c51d2673ba09e5a6e24fbd39095a27cf3b795edcf29db4c21b56a61ede792c4d9e65a0999081d56c0801defd69e6ea2d136e9569893b7426c429bd9683dd132b8eb0760e7209abb0348fcc99cb19209ae3f8029f85120d228e73327bffa3c2b657b7036a74439e54014bb4fbf2e68aeb63c7a0d2f1df3447752d9d78dc6fe391fc151dc0be4642d2d9b271d0b83e89cd33f20eb06a014ec5cccf1f8b7169fb70fbb64927fbea9ef9bb0c304b0a54 - -COUNT=14 -L = 2048 -KI = a9c1a7e39c9702ccd0049aa6bfecb4a9 -FixedInputDataByteLen = 51 -FixedInputData = 96d1aa520323b239e3f7fadb3a54e8bc560ed21b950f5f4388a4fcbe74dae692ccd06a5595e0e48ebdcf2c0c060028445a48e2 -KO = 9a6b5ec40a0d13ee257f754dce6bb29fcc6e938c0e96d3067b9b2bf1b6618e9eeaafef54cc1786bb19a515783d594241628c823f128092e1359d5a24315c3046434c4575ee74936a0725667dafc6e0beb199cf0c4c0ff8bf9fe3bd99f5e66ec91a2e84f739328cde674762993eba7590a330ed81a590d4fee13318462a06ced94c08b71b8654290fe2f7ffa9c4ca4f2a4752e8c5fd17ffbff99aa74c645cde4fc06a94aec5accd83e8ef2c357b3e88f4d7c2bdb089a8ce56d125bb3d0ae3742c18cfa07f136f2d7d82bee1d362e2fdcfadc53de0e4197ce3d49f4e29f6486d0b8ea2ef75ff4ba810057ef0d4c513d8123f3c2acc8197c7bc878415dd87a1ce68 - -COUNT=15 -L = 2048 -KI = b44e65257a429c371e1a041d3beb192a -FixedInputDataByteLen = 51 -FixedInputData = ea623fb27ced54212873a32f82110a73e22257ae7f49a0c5f1302d02351c2d37e37575c0bc4cd751081f76eb1562ffbd6fdb2b -KO = 6dcca6137d5b62db47227d41d3010297c609b0924111ee0e5d7c1970f1d79166c372437a7715af3ac03fe6758379796f38f93437e1cf90b73887bc508196db69d2b74938a6dbfa4aebfa745c7d62be13397d68204c3777a7f7b24bf5fe5f62abf020fbb45f632c807251dbac3388f8db27ee20c05580a79ae70ea380dcd6bccb50fbe0a8291f9a5b594b1a52624641d9ba635e6c71d1575d6fc5ed6beb584e50265164f09fb84f582ade6ce00a048335e484126e86a786d048637578b382df36cc3b4ed7cfa770f325f75a3332e168e77d3f8459aa9ae2a12074047dfc659ae4eeb0c7d2e17051ca4a3f9da8f02bd18c5ebf85e5d834eadc46de9295e42d7ab3 - -COUNT=16 -L = 2048 -KI = a41eb99ee53303dccabeb8c2fae2504b -FixedInputDataByteLen = 51 -FixedInputData = 7b32913189eb057a1cbac144a00bf0b356387b3e69a6a3cb5c01c0d25a88b6e964e9a7fbeefddc646121e668ef13552d3976bf -KO = 9e3c255690ad82210485ac2d8e764a67f4a3670e13129271f9e5b879ddbc49a910ed34085786fbd6cf91fae4d161749ccb333318fb9cd4d08313ca1a4c1d982fbf4730e5acf3147e92ab2c1b1d1be30cb76fee4174247f2526f3aa14f15db56eeeb23aa7fd546ce720098b0684d3882c5938b935b6994784af6e08df47ecc1e8a7c6cb185f8354a5242160ed502efcefe5d24d969d23cfdc8327d14d53b9acc4b0aa2ca05f1ec37324fc9d0788ab9e6dc9b5d6bdf1c97a632dcbc59bb44de1c1e6110b97ad3c345496c11328fab599298a9fa85747dbc2f132c03b1d8c8469eefad80f7049f95448dd09e2a8e082018e7c46ad461b780a4d17b0e18ab08682b1 - -COUNT=17 -L = 2048 -KI = 73024ea9e0a05e1df6a709a79c67ff64 -FixedInputDataByteLen = 51 -FixedInputData = a5506809f5983129ffd9690daed9ee7231d5f1034b5aa4f7fab336d2a429c1ade9693e5ff1496a77915e8ad64d67e27571bc13 -KO = bfd81359c4325ddc597944ef171e8ee98592dc3268dfc83229cc43ef47cd336de3b56b2eca843df9694143c37ac3079f5e00ffdb584c192998f5435c118f50ff1b0b8df9e654ff44e509e2d3334a046e717e5d63bcf5a3dafe6f53d7a46d5d4b7015548c9b3649a94ef09dbe6ebc5da7703c9557e9416463960f09fc8e1533e48e0dd4f7a27136afa8fa63dd7bdc52ae12862dc283ebee0845843f893e9758dedaa943d07025ff697ecd18dbd2186272f51dcbf5d69e282a7b75fab1e18798fcc94dab28f768351323bec2de96edc01b0b2ae6c94e599e5b9acb9b731a8dae6efd171c9a3d29a29ac2af879fe0c8d868603df835c030113d28c8f32ab095f54c - -COUNT=18 -L = 2048 -KI = e64c2f1a635a51d3eec12c94dc7590d8 -FixedInputDataByteLen = 51 -FixedInputData = 7ccd95597fc90be265a19d9dc0ca57f4c51a8b440d22ad093f4adce719fe28569c5496003e7591916db13a5b2aa074d55be95d -KO = b4e48851a2f2f3497424b385ad2bd8e852f01897f5d0d9aaf78959628520672f3d4236d718e2e25f4379394c1ec01aa32abfbad30e10efc9c5772ac8cd36312307e4a8aaba869d04bbee984e82d4f8dcf1e558498b81885ee3d5f157dca94bfb825f84e9ff2d9f88c51e3047c3991e46ae8265632c62fcacb2a7628c63bfc3413cfccddadcb6932eb7ea97272c1c06f95131d2531c778b15553b8cb1350ae674a3dec2106d45a1ff4a7ab1adc9157d932365929f1892630d49ce1bd693c659b7728fdb1a932aac4a3100d7820ea4ce8a308be9fdfa8387adc326428cd2dfeabd82e715e8702282a110b9f7b31966313423f56a09524d7b641d154b23b87e66f5 - -COUNT=19 -L = 2048 -KI = c414d6cd068cd3ddb2ae297bb3fbbd92 -FixedInputDataByteLen = 51 -FixedInputData = 14664d491dbfb399557b2be3e2c2fe1c985c6438ee1ee73135845b62fe6494aa0baeaff044ab151a14866901b948bc3292477c -KO = 70f3fdce16ed4a8b5fa0ab3a302fce9ecedf28ac8c67637bfa5b3377f2d775368859fd7c838ed599b6eba26c00d29a70e45124c25f4f36b3db230cd46008b7c7ad8a777d9cdc0cc7e64ba190c20523f7f7514e13302ad80663a421074d98952e56c557e7acbe655e085989b3d8c11bbd69f2991f011dbe175a91bf035b269673e10135da490f8d67b2be4671bfbda1558f814abbae2ece96348559ae1e017ae4a079551581fa68966947ef9420aa990f50dbb2875cdd0cf36aa0d70963e7f58583a33b54a8034e5eef754f4ccc807c7c3195feda27a9e1b596533a4cf934b72d6022f5d54fee2362258f45e3d8992142b652f8b6ff4a6a82b8a7b72a589191b1 - -COUNT=20 -L = 560 -KI = ce6c04ab8dea321d2be842cf4adc1a0d -FixedInputDataByteLen = 51 -FixedInputData = 3fe98e8d5e5867b2866543f5835d9a37560d9eb09712faa50b0137bb4cdca42a2cb4981ba4a7c702898695a8572d1bd9b650d4 -KO = 2f7c5e371dae1fd50b996abf702651d38194a5f9de093778fe6bad6ca0194b926f0379ff64a6bf040af4aceb885541fd0f45aa2c3e292a0c3df02dcf34257f9fea80554b3440 - -COUNT=21 -L = 560 -KI = b4a6a7e270f8ec936e4074c934d1e643 -FixedInputDataByteLen = 51 -FixedInputData = cf7e8aa2ea2881d7070bc401eb5d727984456cb79a4c169ec6528e26eaf328f5a70f1c44ba1280444ebe5610633556e3cfec47 -KO = 76228dd8d89c87691cc31e1dbd7432de4aafbfb8d94e5a3b3de8851dd864398eaa4dd100a9bf0729c08cbe1e21204ea5508ad71e48ce74f0ed1a030fb964bbe7d7b5bad07ffe - -COUNT=22 -L = 560 -KI = c046ac8594d1440ba5741213c03d6bed -FixedInputDataByteLen = 51 -FixedInputData = 0b5a4c47ca4f540380734ec2f6643704ffd86862c87ed59b21f83497af5daf431362b18bc1e8304eeac28eb1f7d418fc4f90a0 -KO = 940c5e66f8ffe81864958a7619024c9644295b6f0622f903f1c6fc9589ab8ed5522512696bda2edb9c212f4db7d98ded3f1acb731acf13f8369856da91ff8013de0ef94b20ab - -COUNT=23 -L = 560 -KI = 55f13da4c5e365bd981e0ae713e17b2f -FixedInputDataByteLen = 51 -FixedInputData = f88a7227ce33c1ae7989d0153e345f80f66f530d18ce1275051128f836c3ca03ad7664153cbe5cb72f7b48ca7d5f76026b08bc -KO = 08cd1d213d7ed537811e055f9e9d0deb95169bb0e6f978ac78f8e840fc3e6584167d388bfdc4ebcf3add872e95158e642dd1a6aa0bede00aa86c9b84b75a69d06d1d2033ea1a - -COUNT=24 -L = 560 -KI = 2f983dea8dedce07827015b6e8a45051 -FixedInputDataByteLen = 51 -FixedInputData = 318e3d66d556eab0188c0fa9c2dde3079e4c4c687c394a43d48c17ceb5f852b9e1887dc3de040a92d082826d715b424e36f5c9 -KO = 56e1c62b4051fc834418dffa976f91e6bf3d4a5b552bc209927b06fd8f7f1f08de78ccf4849af6eae891ffed5fa5c57ba3574a30004a1c222b198cbbe9f48e11029dcb6dd2dd - -COUNT=25 -L = 560 -KI = 589932c7bb097891628292c7d8441261 -FixedInputDataByteLen = 51 -FixedInputData = c39c62441e28e16d7c61d5d6ebbc4726a249961ec94ab7e11b504d13312c7c38916f42659a0f5d928ed8274ae7d9592fe59e8b -KO = 1f0c1ac23b1a510b859ed11db47bf8048374709432d0ffa78bbd86459ce0bf53d679d79056a5442942a2f87746a3913390027194030be9f179acbd40d3923e25ff36b06a6fb0 - -COUNT=26 -L = 560 -KI = 3968e7f97e012cd812be48d68877e6ab -FixedInputDataByteLen = 51 -FixedInputData = 3cffebcb22a24b33628cab7d97d3de95e010e0dd0998028a0cb67644bcd661cfcaa034c45025d834de3a5d19186dfd7594936c -KO = e0a43685dac9ba6229ecae4651bd1a43bbcdb7e6ec2277c445e37716e17dcd4e196d524bc9f8c0195a32e49bbc2501fc19b5107d40125a08bf349183ff1b7868acb208f38cb5 - -COUNT=27 -L = 560 -KI = 9606fe48ded23aa8b6849fb65b6857f4 -FixedInputDataByteLen = 51 -FixedInputData = 2c0fac8499c62569e382752e7882112d17146ffb668dcacf3806f4d91f1a3a2b054f069a2e397a9b41f57669b7f82b6cac8889 -KO = 399ccb6c2e55a54b19ddb1714f9ab7f7e8dc53fc83b5e70b40bb350f7149d9903b6c6549a189393c880b1eb0b7a966611c319227348856c6950a8209ece576046009aea5c38d - -COUNT=28 -L = 560 -KI = 001d70b72bd94d94cff800cc1f42ff04 -FixedInputDataByteLen = 51 -FixedInputData = ec6bc6916f9abe4bfa71d6da63a7d87cc0508fc76665baedfd42094db0519f0295d33f9b23dd5cfc15683d18bee5505bf2c608 -KO = 3db4695215302b1a80549c8e6106ef289f0a87b27b5589bb29a6e341fdbb375900655e077c706f2d7ac1ea1ba0bc537702fa58f9b377bd19eb46e6cb766653b3ee34502c96d2 - -COUNT=29 -L = 560 -KI = 25dc2d34b9464b28f38352565238ef1c -FixedInputDataByteLen = 51 -FixedInputData = c5c4e1a2d0a3eb13a5300d485b33f099efea10b1f07a59d7891ddf8911f087afe8d450411689be407bced9887354e969a3f769 -KO = f2dfaceef07f6716f8fc979ebaa6270cf4cae6c23833cce4b695d66f5e47c5a36a682fc38f2cbc75e21879bb7f98d7a0d51b57297bf2562d9b64f43ecdf0a6f2a3d8e7d79201 - -COUNT=30 -L = 1600 -KI = 912bc8aef70d4e42469091f4e46bf080 -FixedInputDataByteLen = 51 -FixedInputData = 0b0fd811bd45dada9c52738c7670a94be1d9f8ecac191254669773112a1f96222b931da1dff67f068ff34886c0cb5e33f262e5 -KO = f2ae619609f7eef61994e1a5840ead8da9b491d3446b758297d7887322018f5ea603f313d9efe432c875958f23d642fdf4140c1a31ad4d8e4d587c5a69f57f68064cdbd9fa18c259f54be54975fc63795ddd660c35ccff3d7ea49e0f5fc5eb10cff1fc38e5135843cdf8a74e4fa01dd8c44545eddb392d6ef2005d520e69bb8c89e125d0fe2f9ca6786fe2794132d799b23a82a2d1042e8cc1baef829599878b273756ccf83110f7606734fd44c77b3979583c8883c5b56422519bb8dc739098443fd92d13542c2b - -COUNT=31 -L = 1600 -KI = c8c3aa7cc01a2808cb2aa1c7ebba70fc -FixedInputDataByteLen = 51 -FixedInputData = ffaa91196bee9b5ac4ac627047f58de806cca485c13bff0fa0a9b79e74069f662c51fb3f99602a48e8a6e7c7a2d954d26d21b9 -KO = 7e9095bcdf0ea09717c85867274cbc0ad64bf99c037c81c2191b9d76fa96281e8b26868d8525975922ed919e7a331aa7390e1e0b1398f4af9ec1eace0521778557b8757b2aa7be1a9875999c3bfa22d57d509c7ec38f10b4e1a53022f11441589f083a701cb76c883daa58caf59888c3189a7380f56b98721b9da33977a25f2a6f4d5eda8cce9fc63d4bdc539c15f1a5b7e5ac37464d9d5d504b297daa99162e593bf07657be67b14f39a130738da109da7059892279d6e1cce9c589c75c15bb2417885d554464ae - -COUNT=32 -L = 1600 -KI = 6272466f6d21f154a701ee4a4f01c47f -FixedInputDataByteLen = 51 -FixedInputData = 40732b036549c68134b59f45866812a7dfa336dd3f80cff21d38e2b0962116a1361d3f9a5ee61ebdca8847c2593bd4816923d6 -KO = 1a52bc84260ef77fedc7d33d4e85e9fab7cf13835ed2ebdbad3820bb4fc8cb8d65ac2c86e33137ea35632a94d4ca902273ef0e6323c45d23ac4224f264fc9ec03ceaac36f4d5ca70a4d47fb48fb151da5879d6fc1d6e182c0790f09c08ebfc17c724b0d18b40e328a09910ba5378ee4327217125efca8feab338c3389e4e663dfec293f7ff2f38a4cb5dec3a8f1df1beaf5ae1cfbcfeef36fb02463b32a4cc394bf5949feb54f6df85a1737d0416f10dc56925617cd33b1c5f1e272eac07169755d84d41821dfb18 - -COUNT=33 -L = 1600 -KI = 7c2a4a749400dffa26ea959532ddd808 -FixedInputDataByteLen = 51 -FixedInputData = b145379c9c5db84f3ebc00f621a2e00d70362950c2c25123bac5441f7f09cb1d7e2369e926f672da5c56bef4224da4d251d0a6 -KO = 0a3c3bc772dcbd14d58c4e9d59a35fac009bc4a2558281cec1aeea497b4a0628ac3c69b5105b95c66f8daf07f21676f9a309f8229ebabf222cd131b867083963f1dfac99a3c06a5de13551c401a050ba1f2c58024f8ad79fdfb3b3e501e3faeb2ae6b6ed3c8ddc6d71cabeb1c1373cc7b00adcd27cfd3f13217ab9a29657894ddc2a7f9a23b2aebc05cd364ba41bdb4471b6edc5217f56ebd754b40dca1d43aa2e741c2773e3cedad830211c6e14ab43b524de097b3f2e7d9e2bd4e83d8fb84e894df11d67587300 - -COUNT=34 -L = 1600 -KI = a81f419a97c3b2121bd8ac84926fb258 -FixedInputDataByteLen = 51 -FixedInputData = 0bfbea955d533ea39757a9cf4b9e500dd96c66af64d00aa48a035675a061a5437d96b98ea0fe5d9d08f1b5286b382e327d9e61 -KO = e25d6470f69d9305e28883888e46d59901ea0413f558b3aee8a5a28834ac006f727a17d2b24d25a5d85813ac61be6734bd490d0e177c6780ec48a45b18d37de8095b65ced489307405b9062796fffbed470441646f475b4ca4cc966a4c9c75eb127e5bb188df338cde1dbcf0c51ca0bfa09e7393e094ed1bdd84000cae13a8c4333608a7f9fba643e0211c22b2c7a4bfb68af0495577aef9925eeaac2ce0c01046c7fd447d5c2f0b9c65c26c32c2c3477bcec36dac8392cfc94554c5f388ca8d0bb9b4dfba0e7db8 - -COUNT=35 -L = 1600 -KI = ad31f73f1273fa30645133b5e4a25f9f -FixedInputDataByteLen = 51 -FixedInputData = 29650fac969cb63d4ceaccd2788534ecf09d3f40cffea5275a4168ddf018cfc53c928cbfd015b2aea3f2585651f90acfb502d9 -KO = 9b59f91c08161f33524c559aa6a618f589b18848bc62da45793bfb8c8bbf3bc2ef4145bbbf87042060cf346145388a353da2c38b8c1c49101d2a5283a18c7cad1450f025422d5403c29b608e19e17e346b43b1c49616ac477783b87b77beeedac74d589694538d4e05809a39f5b905a7ace792f666c4b34863ffc930fa8b9a759ca5e66d172d6969b0d7bfe422fae4cb47769051336efbcb8917b422670198dece775685dfb14b2d0f1c44486f7b5172bddb1a2a7567fc1f963eee33548d8e756b822d53fc7a0d5e - -COUNT=36 -L = 1600 -KI = b8b955d53ae3e990a15f28c58bf9887d -FixedInputDataByteLen = 51 -FixedInputData = 2a11f56f4a2d6970697ec824896a31ee5d79ad24a7490d8c276becd9882843eab40741f814141b313b09f5b556dec3be01ccb4 -KO = 81268e535a3acdeb41ab86bd0d55a0f5a9096464fcc958c77dbcfdbd50502c65b73ac297c27f15c4add8c3a1403e5da6d007558a6ec78c8d638c3baee5c63fb78ec2d35bfd11a347f6610ba32e0e5dc0409d1ab16935f501ba78cb105e9433305d7b8d5d89436340176302bb8fd5f0dc47b2fc2d83cdeaa447d3501404335b04ff926d84c870c0804b0d8a96f2cc8c53543250648904cd19f15e6e5a6ac7d87e3548bafed7a1eb7e4e8cb3947f93430669e341677fd6bd4a4c4375f36a4dbec957276f83a76b9e4d - -COUNT=37 -L = 1600 -KI = 43e2c52986458bfcd4e369197395189e -FixedInputDataByteLen = 51 -FixedInputData = ee4b6b7a9cf37b94150a4e0e68add4ffa4e6a19387c3099665031ac5f9d2109091620a06e24e2145b8c1e03da5e8b26b647af9 -KO = d7c90d86dfada05d50f786171a0348b1efe4c2c37838ebec67bc1f7211ce38a5dd69e0706dc6f4ff5f7be841a1e45f42e36eaae25d0dbd18036c136e5cd8fe3f0e58467f918757a9effa7553240e02049c3df80f8e1b25a0f484b75987ec880b11ace0778be990101c9ec27751a4d762f8f094e4af6f729fcac6eba9428b347cabfa7aeaeab9dfaa70f15a1429680d6332dbb6a409388107d147ef90575c790cc5a60b12597453bd21d6e79fdeda4595441071278ee42f242d281b91d7c1fb01fdbef1c4013988bb - -COUNT=38 -L = 1600 -KI = 02b752c88e923f81e485af9fabe36ab2 -FixedInputDataByteLen = 51 -FixedInputData = 2d07b333621cec914f1fd51477783bd10812d868fcd6a1850f87982cb6e9c534b341078f4d0dd5601f08092b187b65a4282c9a -KO = f2800851dc6758bf3f73649de9da017a161ae39c67022e970ac964f44dc212905aaaa015a9989c40a94a4469e22db2a0f2d202c3200de6d53320c4563bc709f3b71d27c2d970ecbe749702284b12bc2eac1783bcf969b7a5ffb4d2fc8147ed31692538504b6850b6b293804effce9476dfbd82c48a634c08ccfe6e046a68d2d95b5b50c75dc8a93a02e9c0ec5ba2ff52ba3faa548eaad1f9d1dd3a74120834fff6831af9b22ec728cb01e764c1ffe955e83c0d07e343086dadc15bee0f83198944be409aab2c0bd9 - -COUNT=39 -L = 1600 -KI = 7225cfc051a82bccb1184e4dd0570ace -FixedInputDataByteLen = 51 -FixedInputData = 118af3cde8b9f5c830139f7878695cbadcbeefed4f2e064bc9ca0acc017c39920cf67c95e51c8596d9bd7e1e2b4b4f46ffc434 -KO = 4a641a826087b9d29a4630ea123fe9f57eae541bcf84cae6cfb67498c73d8e5afdff5e4178167f0847f7d8ef7ac50620dc6ecfe339de5b6a14af70c225c3ab80a5ad82db24766d8dac2e6fde1d71bc67b73f06b23bfc948ecc0707326aa420d90e7094e09a1455b72a4ba6944aeed86b5df8e57a4589712b65de5fed2a86c9f66f65bf81e206d9d707f5a900cbeb0d158bf4c01707a8bcab2780d5e899b8a45cc1138ca85bc25dc6422fc7345a4fb290fc2f89f9083a773f6299918b353b1ba79f44cd2f9b531894 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 75e442a9298cea314286094e2be309a6 -FixedInputDataByteLen = 51 -FixedInputData = 6200f88ffa0a3fd367dc4f51d3b08bc576979bb16938b91ca715df04a09e4c85b7087af6e250ef3908ab851e2e94708912c0b4 -KO = 82e7935290f01cfcf0d8596a0dd5835ec4ed0444cf6197b2ee421364167001a4b57957d1030e6d41a1e19d5879cfd4ece41fb16aed5fa808872fcfd83a83e2ee - -COUNT=1 -L = 512 -KI = fff9ecba093bc313063994684dc94904 -FixedInputDataByteLen = 51 -FixedInputData = b3f806dfcacc8db296e51918a9b8c73fc4442e4bec08e549ea703cf21382f009a8d3832772bc9dbdd14b53997c39cb28758f3b -KO = c224f7f6f53ff3d027e3050f768ffba5dae0d097e4e6756d0e86324070e426344c50d9f2169ba19f24bb5342ba251da37702d3b29010fbd8141ebda9dac5381a - -COUNT=2 -L = 512 -KI = 37c53dffe838bca020653a5c672f3341 -FixedInputDataByteLen = 51 -FixedInputData = d21b19fb6cb89eaa617c98341e83e611cefa9d7eeef3a0920e45a3877ee5fff42a5c2a92996a91dbb4d303431cc504b81d06cf -KO = f6afff076d9313156ae96aa02178d29588da6676b052fbe8ff8bb0529df795123ab0eea7e8b91e9161afb9a7030f8dffa4316c381ada1291fa7c182fe378661c - -COUNT=3 -L = 512 -KI = 5daa9ddf6e05b157efb2b0f07421f696 -FixedInputDataByteLen = 51 -FixedInputData = 6cf9b21f6e3b14d3031b18aa2574a0b3001f49e3bd06e4ad84c67ea0c5882be3a7efda74408a82542eaf4d25aa326b3448deb2 -KO = b5a6a9d8e911c86e66d6d0e0ab8cf8f30da86996e6652da8f67cbbedf960e9ba4c8be9e4296867ca41151fcc97921febbe65a7372b1a333c3bbdfb3c6392fd15 - -COUNT=4 -L = 512 -KI = 7a13e8d0271ef0ba5c85a4814ba55988 -FixedInputDataByteLen = 51 -FixedInputData = 2a71debacc33a801ae9b52b624d4eb33aeb46326a166dd7cf0e7387049f9cdf277358d7f64026e714c08b447a71575bab4c88d -KO = 19d007f4441f3b95d68b1a5be41c7e0c69dba9983dfff682b3e9eb8c9058a8b96f86b5d244f8110b9c72186456f43fd8d0877f047bafcad7656a1a9c38977ce1 - -COUNT=5 -L = 512 -KI = 5ed68cc45b21d3637dfe455734305355 -FixedInputDataByteLen = 51 -FixedInputData = eb16ae3c36f8378fe150c660513151a0691270ff4ff160fc9a9852277440ff5d3a62ed50fdddb6ec01ea6d3d52f604fda86743 -KO = e15a760c45f79cf2fb43d26cfa0cc69565a049cc49899f2a991f532aef073e74b11de98bb3b7d8aff6d905b193497f81d2c8be958e8e5515408027748ae51cd8 - -COUNT=6 -L = 512 -KI = 63f1090b7181ee1abc133b7100f10c86 -FixedInputDataByteLen = 51 -FixedInputData = 53ac5c7286ece8028e3acefae56e487c7eab69ddc9c0b6a3d274552279b2313beec397d0d1ce5628d775184d94a947edf96088 -KO = b35036ffeacaa7b91c48f3bb2d141a6ab63c87ff230f31e53d13a5d2ab4b6255c7fa281b73ccd0de9b747173fc5835f22843bf7fafeaebb6928b44cffa186b71 - -COUNT=7 -L = 512 -KI = ba0b0b402cfcce05f2e6ef442f6b3955 -FixedInputDataByteLen = 51 -FixedInputData = 4910805ac1bae358998da58c253912b65f6563cb5e9aed990e48656df166a84d7078b97b3693a0c8f57b6826e970bb2fec2919 -KO = fa973bba8744a5034c1672b55ad20475e9168821d49ad6541363e3869f3af71183215761a8899175d03690c881592264a68b61d3e63d0cd6d5e482821a0087e1 - -COUNT=8 -L = 512 -KI = 7b6a515972b3b7d60e080aaa4e06460c -FixedInputDataByteLen = 51 -FixedInputData = a466c5f904fbd32173e26ed3ec78ce8ea50f8886064f85828c87036d5810c1d12f59f9c3c716c74ce72b29467ae3bf866252b2 -KO = fa8fdde53db1444d21e6de74f7d67c64235f5027cb99a266c2daef6ce112e48646e6cee853aa2ada07016bf31bd7b0d78a393882fe18856655842543cebcca4f - -COUNT=9 -L = 512 -KI = 0fb33907a8b61566ff9d074c44afaeba -FixedInputDataByteLen = 51 -FixedInputData = b3377ac1069161b47ad72e6755beb94b67cea3d40495cc15ff18902830a6b92331ccd81a5ccc170c37203105a2a13734f6a4c6 -KO = 4f0768f081039e49b60862d0a556c3333112c6d1d2992fda065c43de3da60d56eb19932ab5e0f8c6afdbf79b02a88a86b3a527adae0c861a84a59db0cc856402 - -COUNT=10 -L = 2048 -KI = b21fafa1fb6daf2327b7e96598431627 -FixedInputDataByteLen = 51 -FixedInputData = a20fafea5afe9bb7f50d4922623daba48725fc53a73b219d3619721e9dc9f5b8efafe14fca1be6beab5986152ef900c9a9b5d6 -KO = f0a26af32d8378d4aad3356666c7aeb9b6032908d24863e91fac6684484cc34644dbfe159bd7167f664586f6cbc6d6508dacea59188f19d1b839b7df8787aa2c45a2cf0569399dee15163e135b17b7d1b19e74d7f1ab134eb97ecd07261808f0869ca1fd1f1bc7b79f4e67357d237826f00066b318de65d4d62c5e6b7030b90d76f6607e999f587b4d62f4ade86769b31ec1b363997a8381c4dd1f4fd6c6da93eaad074b88ebe2abeaccb6fde6ac8cf6743094c41569376800323b8bc4d7c62b99f3b159c13e9fa3a47ae57dcaaab6ca985d9689f61fa6d798647f7a7a5aecbb3c0f31de91bd15d96362e3cf706240dda8cab21e668a24dae5c11eb0c48a5956 - -COUNT=11 -L = 2048 -KI = f512fbdc5af8b0007d089e20ff278a43 -FixedInputDataByteLen = 51 -FixedInputData = 81803e5b3d5748145238c42f5a29995f7c32e833459a01f01d62610a3dc8ce7c68a20ed6e4c71897bc2e21e6887eb95f599854 -KO = becd60fa1754920463215c997c9c5c7ac1b3721c2f4d16a51c83131887781de6998fd2d855b42519ad665a29cb51af6959794f0d9bdc05c8d0309df527c9d32eb30d5c4f0777d34a48ef9459a7f02f9bb23fb377bd790126acf6be908ecba4731d6d21659ecbcbaa30fcdaad05bea43d94aca6b285bb6c123be0276dea6a8f3c186af2d5b929d6d50418af0455357cdca9b9efb883198d894876555e6fc03f7f99331df5e1183f271f102b04f16e6c53c649003052060ffb165b3baa0a9b7cf3009b0da52cf1488d7b0ef881f235566eae8ae71a6896c32a05ca35f178fe0bcead6dc665e0e963e63f9a3a81e80324db1f63c17fe7e24adf611c88155cdd1cfa - -COUNT=12 -L = 2048 -KI = 884ce96a5072080a8273851facea47f4 -FixedInputDataByteLen = 51 -FixedInputData = 7e6fa1fb3ed2748ffe5928356f4147ab2741d6b60bb9d4ef14361c834496c1c9e793c0ffc4dae1855c6dcb5b2cab83645b9578 -KO = 22216786031ac1312a10ab030281e962eba6645bc220ac3add8cd761e9e63de25c5ea1125ee7319122be8f3d0bd92d7ad42cfa83df201937280f393734ba7f9ef6c3b34971291d0e9fb4d439352e7af5dca9e1626419883565ba67612617177bd9e7973e8e37c5faf3020f3587cfc3f02c683779be34de45424d55f01cc548c0ee0ce4ef0fe5c208d6d79c37d43d02b74a8e6ffcf91ae52026b6d709ba0ba2c7a511d63d5b41614162fe7579094c9a54332ea4b2ef871bf77c9512c50e98865ee1a74ca74685918e35680415f305e9e69d9b163df2f9bbeb0fd2fc9d1d9dbb01f967496363a74a6fd84524ede85e33700218951d879b76777f07f3b0b5693431 - -COUNT=13 -L = 2048 -KI = 599a2119dfd4b992567de63b53e14966 -FixedInputDataByteLen = 51 -FixedInputData = 4a68e4527384b568188d6051bbaa6c1cfcc6796a9faf6f16405043861d8aef2e6a1323562f568db6e432253d801faee3608627 -KO = 9362298214a0e197b997177a8b23fa9b5c5dd1c47f684e1fbc7b0dd8f382a16f293c36b221f850e660010fe776cf595b81dc9d43bb59fe09f2f76ec07ac13598afd5335bf5705095ebaef02c8bc49a01d56a3da5036546b4a31700c38ca91f7425877fb3957a1ce34207cf1a362040771e71e7da896fdd461bab29e2574882b9d2b587d7cf75db0883d37fe2eae317ddce54bc84bea57f5121abaf8ad84093ed918846123c3ed8e8b39d4be358d36a86bc9e38d3dba9e5c20d351bbe3c734d9f71092d502483e81a6854946f408edea2e1cc711207561795c4e237f04bde63ca6b528ff0f9a1b5c8446edab0859ab26e3d3c5d15f7400640eb6dfcffd5c1a444 - -COUNT=14 -L = 2048 -KI = 392851b729a90964e74709dc356fdd5e -FixedInputDataByteLen = 51 -FixedInputData = 2a7f92d58c05886b5d75c38fbf99b8a36131b172b6515c147a1ead5c1fe4301894e5eb2ad9161218062853279184a61d766a94 -KO = ffc22b15b20813d27e01233e924ce7f2e722e82f61e6d3845f340968837b22a05b0d0638b2645afe08ee5f3d58bddafa9e5cabb3207016cfe37886504ae2440f23d67ce8a4b5d73a25cc012f2ecc2c4eeff0682b9390ab1210071fb37e172962b727190d5bc58511ba95f155f80fe34cff002beb6001cd58541c3ba9a6316f1cda3c3e2c87a5650bcd1eb00bf8ad0209439542a27553cfa74a4a95a7f4291af196c7858428d0f5d6742defecaf9de372eae4207aa0098afb32e660588e793c6c372645eecc1db2be14d20214e9931093b4644a5aa336a46723804255f53c0baae6d002d17347c83bc174f5613e8404ac3c77d9cd9004ea9656b5571b199c4941 - -COUNT=15 -L = 2048 -KI = bc54128ad1743ad1d5a4a708c00ccd5f -FixedInputDataByteLen = 51 -FixedInputData = 52331350db0bb178e3129bc1e6678948308d1da4103edc2edfc98925f4fa110672b595cb891b5773b390bf3800aab05187c294 -KO = d2b0627cc9f9d118f74a3a55a0408148d5251fe89b389517c648d804ce0f2eb0c7af594b33a3e394252e2276a1c6ff342b0d9f7d16087858577ec4beed13f52541410daf08615b3f3bfcfed906604058cd1438d4a4e8955e9666b84a8c724353966e4be8f2ae55a21c787db24de5aa4188d901b4fd2d195b0083e53afa0b9eeb2e2899fedea9459dc8851bed87b32b4dc531483ddc01d930483dc9169bfa210b64af515f2a377f5757c598394cdf1a85980c72860f94252cfaac07c5855ac680040c57be24c7f4df64d172dbdea5f512826a3795c9b1bcb47a01056f7f7a322a8d4b5fa222c9c27356f59a121dd922b954756b7a20d92526cd736e7e95513861 - -COUNT=16 -L = 2048 -KI = d067d604f1f64765dd8d71417ee2ffeb -FixedInputDataByteLen = 51 -FixedInputData = d67d66ccdb18cfd7540d5fe2af734c20d64337f76fcc30223d05eb15b276c4cdb61bf32a35932b062e45e2df4c859f7cd1432c -KO = fe09e502517fcb72c03352156391da1e26d63dbccd5117507c377ec3a36853ab9051d0a60277ebb470ac6fb265600edbc48ee19a426fe66c1a884fc7c8593f208b20d6281b5a65ec8ab20a44e59f363ae12d06f91a3684ea66880c210e63eaedb281825e2e854a6867efa74643fb4cd1e0e301ecd0cadb241a1032f7d4fcc1dddfc963f80682e65e158943260511eac283ab6bc0e378152065148d23848f9be2865885a3818caadf9639258c64124322b7f6b7d38f1da22c6815933d3693c0ea8bacaa92dcaec3bca9f0f25444b8cde04752e035b3525fae03275b57cb9ab3d9bf8e156089eae5fd917215152baf9a3c0239c060f486217793b3f66a51219f51 - -COUNT=17 -L = 2048 -KI = 43151239115f053ba618d4850867e872 -FixedInputDataByteLen = 51 -FixedInputData = 114b6b3e7cd687f456c0ad317c53f219c47ae834be8a0df950d746d1c4c76f198f3b3a0ccbbe59b1f03d890de9f957b26c1269 -KO = 179c863e572cebb089d3eae62cb78febf88edf5bfa5ea5149d2dd504189bfb3dce89bd3a552d32140a28a5e8484de325ad04da9f98f446fdf9039b77642b7088cf6d7b6c59053b5a24e033035244eb43eaf7cbbd8c77e2bdb0bb15ea6551bca1dd22be7a9404b40d499d7e37baa35d5e08073d2cf2a511540b628d801283fbbcb27c17ad55e536349a867d75252e00f456b756dacbb43b2f34b168863508485ea215a6dc7c69695d7661e78fb45ae86f881f3679c5edb85bf3efa0e6d9e0e59bf37e4359d5410ea3ed9cabb1dfbf125b943938aca7bc1a6a9e086fe53e174093e247716aa341b4d56c517e2b1d87bc8ce909dee78bce821c1cb9fd02d8dbce69 - -COUNT=18 -L = 2048 -KI = c08c1d774d1e2cc1ac1f15ef9b5196f0 -FixedInputDataByteLen = 51 -FixedInputData = 5c103ea6588ab9afdfc598ddf52efb1199d46fa3136514b48ae59ca0c99e96592fa7c34dd6a8bf4ab40443835977f4bd4ff95c -KO = 274ca6f30a479e879e1a297b06e874a82183887e1cb70f50bb4e9db32ce9c9112527e6f5d98d97755974683040c34e8ce6ae894f7b1bfafcd1ee21ab4fb8dfd96beeb898c0612f2d099c5e98aa8637313951ce58ec9c3cde74c26ddb3046f597994f6826b1f21a7bc48cc26aa0602dad8455a49496b1485f73c1891c2196f40b2c1d75bfced588881682a66f7470141158cdeb9771e8a859e0efc45c0be1ec1892ad95201511ff051ca318923da24885aadf87b7eb48ac2d6430e1e758dc0da2f1e721592071d037f624bcde480c1e5f3fd4f3d8c23c3d825f09c81d8f1a1029c37baa89096076e3fbb31ff14579880dc1e2f0f0351dd0ffc1a85390957d46d5 - -COUNT=19 -L = 2048 -KI = d588d0886bdafaa93c7ee5445d676710 -FixedInputDataByteLen = 51 -FixedInputData = ef29017d086a8595f6a56cda79de2245abaae49524b6169cc0757c2896c8098940fb38f6053054ca965cfd5ba2a4fc65f3de3a -KO = ffa999d2ae4d36903a50be3a6385733e5b070687762e6b1a1ef3e25a048a8374af413e5c8cde57ee6da802858f960386cd19c1763e209f5e99ae7e80530b0e365a34a2180b712ce4a569c3565f987a0ef2f15967d9502c6039e394af66e867c2bf75ff3b3fcfce0f1cca44790e756d247225f3e92126b16124f1f18d9649854675a0df55f424fd53a4cea36e54e1d5bbcc06bf38a17b0d0877104747de356def342f573d10b88bd12ec684a794e197145cdf310357210ded0b64b733494578b9f709980eef61dc874d70f0c07b6d65d11a5e69364a1bbd806944c02922c9d4494c579f2620ebe97dd61159ab773ad3f48bedd10cf7b2984fc650d217aa45d9d8 - -COUNT=20 -L = 560 -KI = f1537a11fc7f84663d7e5308a26f2bce -FixedInputDataByteLen = 51 -FixedInputData = c0371a9b6b2e9dcac5f41436882c57758e77246d5e01e241e753a43897e36f1d2bc2e46d8aa2a88d5c7cb09c93867bc849fe79 -KO = 5553a42f50fe5da9d948770ead6d25de83d46ab52a0bd85b5e782c5080ff530f7ad364df9298841ad5b66c796c01fb490d6adf04791f0d004e2528791fad3c4f93c386f72d7c - -COUNT=21 -L = 560 -KI = a9d6812d752ddf5ea86b988aec910b76 -FixedInputDataByteLen = 51 -FixedInputData = dfe8d3018ef6234c96951cc230c663abee6a8703174c8e308a66533ede81411ebc7fb01f1190d136817212835de158b59b2763 -KO = 5a123d6e64587b56c82c315b24f42556ac765cd665d47b9a98b99ae425a78f9b6d608571da864168a25592fe7be579e8586658916b104f49197c2507a6892c8bab4bd2659bdb - -COUNT=22 -L = 560 -KI = 2b250e5e290be9faf02ee2a8e35bf908 -FixedInputDataByteLen = 51 -FixedInputData = d6b5c81410978ccc0811e78516148cb96567e9537a9bcd59f513229fd96aa94852a4fc550178316796ff14faa87cc5d831e650 -KO = c5b464ce0ddd8f0546af9f9229a6d34baab4d2fb94115fe44012e9681143b77f489d47d11076e9c0769e4d1e6eeaa1320832d8ed7cbda28e18ab7dba7dce5e329c756c5a4c5c - -COUNT=23 -L = 560 -KI = 88b64ab48be4e73547d5e7b732d00113 -FixedInputDataByteLen = 51 -FixedInputData = bf51ac47c8e6cf85b2c55dae09ef11aeabcc36da5033e4daa5b0dfaa88f20de06bda8d6f03b90997520cb9d45508e08c30aa2e -KO = e492dde943a485cb4060cfc5a635ac46712b7a70b42196312a016649c9e3a146cd06d86b84db375be217b240adcb2707920806fd1a1be54cc76b3cad54e82f76d9abfbb3a00f - -COUNT=24 -L = 560 -KI = 6ce12fac7d9ce75fb37f380662f92d51 -FixedInputDataByteLen = 51 -FixedInputData = 7ea55f403288a74cc3532e9a26b48f360a029aa3887a9c647d6cbd2af07f3357446493b30022bf8af57e368bcbcfec177d0458 -KO = 7eae2996d1174ae0e4e3804d62accc6382ef45f9f07c0ff41cb1b6900d7164c8c3077f7af7af2353347e30a90076ceab73cd4e621c11b9a29011a735788289fb899b3750253c - -COUNT=25 -L = 560 -KI = cc01ae99ca3a13e00832fb2d6033cde9 -FixedInputDataByteLen = 51 -FixedInputData = a7a061152501ad17a1ad287931c399c2a552f7f552f55801c4f4ffe87786e51c738ce8502e98a4dfbe037577d5b2dd7bd53ac0 -KO = 98bf719c8ed989009f7241dd4a4a409e8bc230e53b85569a34ac756a1e29186ee50d2c79a193746fa605f096ab727869ab6ae6b71fd628bd64f7415c53b0583541d9ad84e289 - -COUNT=26 -L = 560 -KI = 35535c23e0262df8a72023defdae259e -FixedInputDataByteLen = 51 -FixedInputData = b966c99f52fc6b94c23d6c72742fedfa45c73c3bcd9445d945e91f42c25e68211773fea8af4de29d3adcd2dae769700191389f -KO = 4c4ed1c147e2d6cc5ab28ade0610b752b5730fccebdd56478e7369e3bd7c8c42fccb221170d6787906524ba8d4e29434a04611e855eab47c3512d87c8e211cd163f2f7fc312c - -COUNT=27 -L = 560 -KI = b9b016cc91b3a970f51743de2fdb4d23 -FixedInputDataByteLen = 51 -FixedInputData = f36cfcea752f01e9027193c5bd80b6222351bbcc675e3c11bc18e673fd361651ee9cd15b2f210766559d0bd03ab1ac044501d8 -KO = 6e90efcbdec77497e23e52e8c48241461522e0aef9f6da7ad23b9b15bf0f80dbe967892b9dac9ed73397f54ac29d53328ec26aeb55b359bf5023c6d85bc327ff627ce48a9ef8 - -COUNT=28 -L = 560 -KI = 4a107631e9b584297fb4d2270a22eb45 -FixedInputDataByteLen = 51 -FixedInputData = d5465b76e4b4d2eb54f29660d2cdbf2b7383ed3d27506b768b36c6a8dc883d41b6485e242e5fd8c67649e9bde7d834c8a11e62 -KO = cee85af364e1ddb7580a25fc8fa85740f2318058c4ea786b526880538823ba28869c0c95bdb9d5abac33de73be8f9eaf2e715fc0acbd6c253576463d8411dda28db6706909fc - -COUNT=29 -L = 560 -KI = 5905f0ee68c278f02c57bef74fe6b9ad -FixedInputDataByteLen = 51 -FixedInputData = 9c10db750e83ee94cfab9b5fb5cbfac22d5543c29775bb24eceda911407c18f9009ae272b10f3bf519f7d8b67dcd99375d93cc -KO = a3f55113181507a758bca008634700d9d7638a19075d49e6bb83431c2c49a979c36b5c621d7fde0c1d126202d0d718e9559f4c75d9ba1f78bd5983c23662640769d3daba75d2 - -COUNT=30 -L = 1600 -KI = 99a6f0bcd37f853a343ce47b56992918 -FixedInputDataByteLen = 51 -FixedInputData = 6931b21d0f34962f12b566ed1e83a97b2c93e997d0c3ff147c23d6da911259d2e149ff4c7a82440cabcd7683a55270493f4b78 -KO = 3cb122ac8677d904a9ad9476f9ad1acbe0a39e0548d78ede8cd63e6c9c44a8fb63927166b500d4430c2ac60d2aa39384da75c9369c20ceea114e4a478bfc0a8bf15bfc7c3545295a1e16dacf9fdd57d2c869c2ba717670676cce8b2f1811c65f76528748f42209c3ca3b48684d59d9fbd7a24e6953e25dccfa716e979162c91c0050474fc9f56717568c189832f2cedb7decffe60349291d9abfc91f01c443a5ec207e8bb523e5b4103eed1c3865ba7998c13470922674528f9e4d75ae46a587eb6265c8185da676 - -COUNT=31 -L = 1600 -KI = 197b04f91fd5276401ecb566945065f0 -FixedInputDataByteLen = 51 -FixedInputData = 4a02551c73ae8ee3a8b62d7f37e00a80d097962aeb6f1be090dfea5b978250b4a6f4b0d2ea7b3b03a1e9f86547355a5bea34dc -KO = c9849cfafd283ef932a8baaf1e8e07da3a77b4bbdbd3ad01a4f9c236e4efded43c236560c6f48e0c13690d0fab0f2db3ed90e406a782b17811563481d8ca7b3882536af2452a0b3d5193a0063033c197ff8091ee0c57999930cfb576572386bc1ebaee120c9d71334aedd60bdc9b9833564f77cc84e565e4eab7b3b3e269fb7f47bd90f76b1422eb6ba509f89a7cdabe9e7241b777f90d5e000bac2015391e2143509c09d258ede10c28d9b73d771146fa243ca61b8c7360ebcea0d38a330c1c7ec969411a0d8f05 - -COUNT=32 -L = 1600 -KI = a093ff13bf5edba3a0371768a49a284a -FixedInputDataByteLen = 51 -FixedInputData = 146ed62fd83ec8d777f5caf4cc0d7ad0995afc83d3a1e45ff1c0040cadad3a8df2fbb3e39383341aaa61bf296fe8c566c13d62 -KO = d3ca3f629b5c0b1296e7c403cecfcae5779d0b6a27781c1026958ad3f2504c895e7fad4c959a8aa2c1be091644d1a1f5690121e9bd87134c3099a54834135e15f2d4262e13035f7543663d974a6761a71d6ecde4ff1b4cfbbdedf372ec2e731ba327815d91e91eca82011a1a1950ae4db928994cea91a8fdf4acf72d705bdd49907fde697d8bb1a9b1b4e1ff293c9e723c4d61e083648febafef9f25d3e8b2fb018c1a89bb9ef8e49d4270c4e06ec5596f6efc52d4f773d8930bb755662e8863b2792177d13ad8a2 - -COUNT=33 -L = 1600 -KI = 308efe146a29aec933a47d75e68d416f -FixedInputDataByteLen = 51 -FixedInputData = 683888d53a93d48b448a3367fba71f29245c646770cd110949e49b4c97bed6d46cfa55b9acecd6ff31b92c42ea7dd6730570a8 -KO = 32383455b8229a7c5eee8d7708a655c045451983c375d64ccbf4068026013fbd748d0b83cb1a65252dfe03927247bd40e1e81deab7e86e1fbc99aabc8a3b8870179bcc1693852dbf46e2cf4fb570473a14628f6f94310fdf89dae4a2821ec9d30831886456f4748c20115d77c8d6807dd27154733b7c072af9aa22008dece113e5f837193846f98db512589c1e505a96f9c268fe6611796c63b82a16377dc0268f1933df49bc418124ec7b1d7735a76e513e3d55d57202fb4a0af1b381e1709b47e845734e095059 - -COUNT=34 -L = 1600 -KI = e0d2887cbcaf060c9ab4a6656c8d4d1c -FixedInputDataByteLen = 51 -FixedInputData = 10b6285a42fa151483010554323dd635438b8aadcca2bda3121c58c58114b7f7eb39e027a03cb4dd999dac4fbb5d0b01d79e65 -KO = d738606462a4e7f24fbafea920517bb115590278458959b2350ad428749e8919e218b1ea7491170f6cee1d04a1797447dd8de9f424aa1f7eee0ce96d42f9b23bdf20468f268f747e401395505151c3f8b9b0eb2f1a03f1cf17c4f6b9b39a7a56ed51cbcda38cc868cba6733c7099af788cdea3c8af78f022ea55df8d04a9c3adcc06c6469921ab4fa19cdd1d0df3f1dd2f9246d746ac48496f891848f87c88d6318dec11644f229274cf2cd32a19407f4566d894cfa5f12f8be8c25a9a06ebb6e0275705a1d92d8d - -COUNT=35 -L = 1600 -KI = 3ea8168c4d7e7e020ddb100193b45d7e -FixedInputDataByteLen = 51 -FixedInputData = e89b5f4d8ef19ea82e8785909d54d47dc2d1344ace3ec38fdacf138a150f6e35386ae92da70df910351056e9923430a977c5c1 -KO = 8f1c639aa89f96f1efa164fafe9951c239a1840ffc7b7917661f5a6e010c4f8986ef151cf7d13f67c4b35e27dc0e9b5b2eea02c9d48b29550654ff9ed8dbbc62e55a2d9bc0e557ba242c6b815933b528223c8121f0858c65b6d34e3344db318a92a6dad3eafeee75bd2066123d31522556bd4d9541d5f3f27707829c87608e13a5680d6629be6ca6204c4b26120eb503e76375805e0e9e09e83bcb969d07bbbb6c5d764000f25ffcfadd24bcdddc503a4ecb67f34165bc549cc942734224e3014881128627632e21 - -COUNT=36 -L = 1600 -KI = 922dfd64cf1b5453301b3cb946a75600 -FixedInputDataByteLen = 51 -FixedInputData = d61785e5a64618546e0bfe7813b132398326baee634e4de9f3980e292f7082150c37b18430ffd70f8696fc4dc7d8d7a875757c -KO = 33c83e1022e413d964f030e18ddaafbd3a7bc1e6d9b69d1b56f525bcd3b9177442244ffcf45b4d2977e96d8314f7bbec9380ff030e23d31f74fef28695df4de860ec2792da1774a21346a139d633ee2e029bceced5ea48e0ae2b064a73bfd912a7f328212c5fa5ae1d5127cf9d911ad5f59e7cd9837e806c2fc4cb6d0dc5381fb4e94775cd464b98c815a4a00344c2cb4ffdee676318523924012bd8d9c37c2815f727fc7053f80e88806b2bcd039dc841299639aede010d904edf5ee95fb8107f6a397ac2ebfedb - -COUNT=37 -L = 1600 -KI = 1b9fbf186d1a1944fb26439247030b1b -FixedInputDataByteLen = 51 -FixedInputData = 89bf0c8a7ddd9dfd2e0b576eaba56638b989acd4c837da5f0feda479868c10fd62e1ad5f4bc29a757a2aa84b710c1a227a4e93 -KO = 6dd0322b4a5a804ae95b63741cb9bd3e8d7a70212581939f9ff9ce619472c4e361495d194ea47d7efc9ea155719d795d3e8171cd536fad38b2f37db2f029934a718c865976ac2f48c0351c54a3a3539a8a576b25d059f4c99b11da7055efc370ccee1dd8604c058ac5b2394c3bb9ae1a3f418d375d418183dd5e71f2c42dfaec9234d4e84cb1bd2627a4971578626fb01d3f9d0cf8301e405ee40bb168af0c5bf52f500b647823388e93678951810a7f5c675b52772549a6e8b4e01962bfe637c80657d75b80f51a - -COUNT=38 -L = 1600 -KI = 64b9bf9c26dff1f26c962d24631ed685 -FixedInputDataByteLen = 51 -FixedInputData = 9fab7d364a828697c436180888d7e8f95ce91a0156c2ccfa8e750a5a875a162a68c41d69765c747fc6d0ac9168e941f540f814 -KO = 3c185cfffd128e22cf06d3f6bb6dc46ef9fb4a66bb7d8f5c94232f1b876a039f6bdf3bae91d7c48e6ee3dcb1e87087473fb5ab4d55622eab8dee31573d9c1a1770c5809667d4a7b806bd8711282e8a3abfbc66add858867471e266befc989fc228db5661dd50ac500c63adfcd49f005069e063b9eb62ae7d22d071f1f263c081f774d99513841dbe870aef6eb8ef9eaa55261bffdb9c2a068cca002fc164ea00a8dbcde2c808ae977e8a110fe4154abfc9877a8597473d0262af859af39199617a2f437a92b3baab - -COUNT=39 -L = 1600 -KI = e4744776d6adc6e5d24d162e7e95e521 -FixedInputDataByteLen = 51 -FixedInputData = 38bcbb9d554a59fbe2335043ac5a3064fdc85bf5a9b8475beb05b888599ad7e19eebae3810954584daf8ccb06f86eccf15c015 -KO = d07e5054707c697fed24429392d673835e588459fa130e984611389bcc7760a6c078db83c4189ee3f167aed7ef0c24416bd51e9b2e58d9d48778d3f25d86f7ca43b0bbbda04f2c903df9e6ce024f9f61133d9e3b8ba4228488328e6975d011fc76e8a5d5d1af839de20c9c55bb119c3499c57ec89d0af614c9547a3ae8cb361be2edd9c869a66bb3ae0cb27f8c4ab5efce923e6e2a16f888fe5d023b0a896317d595ed15ab4aa2498183050b996aa0564349e34935ac70d1e24a4d514487902c00c25df1e689f3cf - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = b65ea7c14d21cbad94575d668929b8ed -FixedInputDataByteLen = 51 -FixedInputData = 13d47f74b114e79a80a04d281389731d7dfca2b5753036782b8790a97003fa50a5653dda69fc4cc7a79ba59497c17025dbc3fb -KO = 32de17b47de8fc08f756734a2e51488b41105e20f0f811f9b05e583e476691f1d77e6685abdc9f919a38e2cfe3ca5c91c3c7d4a52f229b5f25eb9b70750ebc10 - -COUNT=1 -L = 512 -KI = 869b955f95b5a458463dea75aa6238d7 -FixedInputDataByteLen = 51 -FixedInputData = 328bff6b6dd605a951ed28995f9e7c85fdc247aa3f87b2107eeb4f5496815de1a110d2a7c6564b300c3a32f1772cf9a1fe8857 -KO = 08260947e7545d71fdc8a63376d7742a4a5a2df4c433638d6bf5055da1cccd2a33498a8127004a0f80caf7481620d90d5212dadfd3532a157846be83796d9d8f - -COUNT=2 -L = 512 -KI = 79e7cd389344c4a5127c336f8ecd6e68 -FixedInputDataByteLen = 51 -FixedInputData = 3b227d54e8076c3ab7c9ecd303321661026c7974644eba8b11866baa56e73cbb58a3fd8b27cacb892feb98d3c5a5e93b666495 -KO = 9678600587c500d3ea1bb2efa8a5cfeaf0d4c0faa04eb3eb4cb757fe712bc0d4a20753dc5a74371325fe19126cf35ae83c46c17795f8217e4274b83e868ca61e - -COUNT=3 -L = 512 -KI = 54c4ad422162a6273c71efc6fd3f94af -FixedInputDataByteLen = 51 -FixedInputData = c330c3659afc1be7f8bbfa9f8ada6ace89d54b1b3e5f4ab0356e7c5f11491d3ed5ce3b0d3b39cd872e5409e0dca94d56732023 -KO = e4a817a7175cfe948c745d56a70c38863275cf56e2532e6c162549ea010c1a7d25e4eb46af8fef2cc9a37514a57480c1ae34c6b6538ae8d40fa7e405b52a6a60 - -COUNT=4 -L = 512 -KI = 1cbd93708e0deadc196815be3c60e730 -FixedInputDataByteLen = 51 -FixedInputData = 47da6ae3fd8c471042ad5ec62bd403e4fde2198fa47c4a090283b67edf3d85e7e3fc49406973a7b79048c1875ac65451d119b1 -KO = c15ff38a5ac1d0347106564bf2d1db6b1fbc43327332960cc76d071b26eb061072df96badcbbcc8eafc26422e10cbfc5384a7668319e01777e13fde37ce9dfef - -COUNT=5 -L = 512 -KI = 583588d0506e4bdf5dde8e7a17ef07da -FixedInputDataByteLen = 51 -FixedInputData = a4eab228decf9169b749579cc7a49d5b20eccd704e13570bff966db473835eff49e7393e8115cd39f6f48c1d8af7ee6621a18e -KO = f440b34e60e07003c11fa855daf836a2ecbe4b3c5250209fc4074f074e26fa39488ae0e827ce98eb664825427bf39efe477652163eaa9fbff5f4c6bfbd622d5d - -COUNT=6 -L = 512 -KI = ac3cf178f123059938bfe5e2b776e3ad -FixedInputDataByteLen = 51 -FixedInputData = 7c60c6d249010c5df83af7fa5bf22841c9a7ed89db06b21e9d145bcae272106a39d9ea7f90b37585f3afe951f07791d42de9ca -KO = f26add38c029d0f6850cf863be5bae250a7e6129d7f94bcaef0f917235dd276e663f8225ffe30738672fdd39a8d739b8920b4d056310b9c7675577ef7d08e2b8 - -COUNT=7 -L = 512 -KI = b9c6b3bdb9f7300adbe3fc8259f57268 -FixedInputDataByteLen = 51 -FixedInputData = c412c7802740c739b4d54f30506b2ce7218edc1d02d65657dc786b9c27e87b115970560e66270ceb2ab290617a567fb74aaf39 -KO = fd2a1bb6f41f7c6dace494ec3cb2999794609ef1c51d33c6980ee6bdc0c63a5ef30be484391d8d4701d005451e9dccc3367989d3d1e6e1b2d0b5707edf232ff0 - -COUNT=8 -L = 512 -KI = 07f729ac8b558ad771ea9ffe0f86de55 -FixedInputDataByteLen = 51 -FixedInputData = 87edb508c2bf97161343a77fff476634bd72c9d1898e53e408153f23712c17b9128359fcaf161f84d464a8db0d336f74e44e37 -KO = c7a8c7c533571ecef6c19f85e40e83cc40f51ee4159d492140438f5caf7b84fb3cf760a270682ad695bb007e78b4e1a8fa668190ae6f199505df1e61aed3ad30 - -COUNT=9 -L = 512 -KI = 5b19cd5bd2427c453c2d0f4e0f669207 -FixedInputDataByteLen = 51 -FixedInputData = d7d688d0412091e4fff575763b840abc1ce5d80269055fb217b0f0b555f728eba7a6b98f9c9db8b3c02b28cf36ce406098f8ca -KO = b8219ef709c15ef644cafbf7981791b0efc0b116b8d301828cb5cda2d34b3b307d98f7091cf5a48819a0238a609e09ec58f033465b9bde7ca9a93c1c0c075ba0 - -COUNT=10 -L = 2048 -KI = 7bb0f0d46bb9256435f825ba6e2239e2 -FixedInputDataByteLen = 51 -FixedInputData = 3ef31e4ee6c5c9b3a96f4a979154638935d0d627c0c252fcde6682cc5c59417d6c352e2b39146f07b9fcd879ceef5af86ec1f2 -KO = 9af9fedc907f858cbd06315c82e0f0ec3799c57be7c63ab7547c046a914d1af6ce27f6a2c7fe281b5f5ecfb70fd3f5b91ee34691850c098bca90d36778fe43a148e69e05395a33bc2c9df4343579469cb137566040373a7220774eaa2b93661e743983c5818049c7a748b30b51cd57f3d2c926638b06ef195810ed2748be934f55f35edfb2d8cf2160692425c18be5dc7d44168d5a8de247883c986705411c8adb0f12daa8c2d35a8c73daef29add00f244ce66b7a1b1bc3207b723ffddb233d3d214be0b0160ade12050a31bcb1d3398c5a9db8623d7a6726e843f298f887b376069771c4d4ea02a471437ba90fd9f449e5f4b8bf61e61ae5afaf52eb199c8e - -COUNT=11 -L = 2048 -KI = c28216aa5a21a8afc9cc6b67148126b7 -FixedInputDataByteLen = 51 -FixedInputData = 9c2027a97422c1b15960ca2da4c1ed6f813e918ae95053e99f4b7e70ec8d6102fcefa970e2e9d4be0557a7624395973cf99fff -KO = 89eea9c787dad5e5bb76fc0c23ddd15c06abf8f9b05528504d37ea131c5b79e51ee7c098e806caeef9f12e5185957652a218afe0b54e0db4c9cf66abafb621a561d1c930f2a36ace26d308c0468eeca1b1cc2b423e392d7b038c874b78ca2a91896ed4146eaee7733eb88f56799a21aaaa1c41928327d1ff818f874f2f7d61bc2fcb45937dee1c00cfa9569c03cf6556dfac21eeea2d56ce0169ee4af7b4d2b90b977eea9e7e55476f68a5c1fac0e7d8989af140c6b57a4dee5036273b563164c416154be58321ffb953da1a8e3420920798fc668c76c8d4707d896d142e5c83accfd858b34629d75dbc41af52e6a157b6bff2970975b762db143c4671194176 - -COUNT=12 -L = 2048 -KI = e135b2d9f05eb1c5533d1236a97137a9 -FixedInputDataByteLen = 51 -FixedInputData = 713fd1bf21bac4afb658850c0c94bebb9b8c872479b01f0f23b9d228897a9bc01f00f3f27918ac9fd0f6fc66609279e57e6719 -KO = 3005f74163faa178f29d18995a3ae5c7d4025fd70c38929b9afee840ebc1ea772bd97837a3343b1e6d5208eed2d2d807b84306ddd6aeed96618686ee3dc62f04a11c1f22f82b7b929c0a82032cb2cc1a2eb818658b7144e44448f591e986dcf536cf9e03ddffd111ad45eb02f7a391749a92d819239e3cf4f37cff1c92bbb50a4a0e8b306c4652da1235db641cc6c7ceff4e6ce1cd2e6adb892b6637dde0a2d3d0539ae8487bb535373aadfc1cdd0dba052b39549e1255b7ec101d4ecadf32f07da6ced04ede3a9474eaa70e3ca1abf506d21a25c23a64436aa40846911be1f7ff1bd386270121124e29ad67c6da62d13b3b07744832132047f1565640ccbef8 - -COUNT=13 -L = 2048 -KI = 370b679983bab463a438803dd22c6f68 -FixedInputDataByteLen = 51 -FixedInputData = cc6679ccf4de631565f55f28c39cd72a0812b3390380fc105ad7d37c2214f32f84d10b2064d06fc44ecc793817d3010a6f8b08 -KO = c8cea16aad5a5a29fdd900c2691083d0ffcd09d7221b28c7b035026d0bc174d6fde1218473d598e02b43f288782cbda0f0c985761e9f55a85b6ca844d3be7bd8cef88c2e72fedb7461305ed7484d5a4455212c1944bcd7f1f4f5f11fb8748e7c90b87c06b0b5f864fe0b96f1fdf20c313df5cc154dcdc968d06809eca8b1326f9c694b6534fc75b4e3abd23b944dff9985986052628077e27fde365e2a414d9afd4602e27538dd87adfedc5c690962806ebf73ac80c9f1f8c5b38b9250a94f16739f69e5a722b067933ffd4d46c2eb5bd7002642bec433cb2fa74b0047a88cefd5948ff1f9879e683bd9870d0c497727b0391f2c5d63b81298d8a44b0ff46bb3 - -COUNT=14 -L = 2048 -KI = 05c04df628acc28caa065a557f0f7c02 -FixedInputDataByteLen = 51 -FixedInputData = 3fba6d6ceb8c8dfffda03f6c757c1a0bda1bd09b9cf7b339e23260de880dfddc550d9471f2b0657aa5bc3d06c0912b43e1bfb9 -KO = 3629ece7ff340137e73a1c0a15ddd6142a3802d806f8efd08ba7383e1fc8f65da79db8b784521598d777135ae449ebf63a11196c945e93bd3dcc1cae7acb366d33def49f4970cbefe1bf0396af01b742c118da149b59b9370509d75382fd07eb782fec99a070c5004294c317c4cfc09bfd18e8513f9bcfae4a29c30aa40c5851472b196612d1589e745b8e6716e6ea340fd380e374fabb038991120383a24d6326d347c2504e2b8dc97b9a3bad69f2850707cdc998dcd3003a46ced79c8071eb3dc7cef4282a5e8d0fb0a9bd704eb6db39e695f6c85dbda68f19b32b57c8a6ac1acd1b94c7b449aa68b31e0692cfdacaee88cdcc22a8255fcee50401fecf7961 - -COUNT=15 -L = 2048 -KI = 0fa1ff6aa2c2731da7530a3e98e43527 -FixedInputDataByteLen = 51 -FixedInputData = 62daf109968e9c318f5467bc479539489debeed14e40f181383ad8c5afa57ddedfd6389b921fc11cd514c793ff2e6fb9f9efef -KO = 50af900e36f3d0a40d4685e6a3f18e8bdd71d28ffedb163d730e69c99597f4d7c215af3734bd3e7d9f75de20d502f7e5ea2a0c4e41d1e74119225dc67cb414879aeb58aa90cf4e94d026fa3803ca4ff80f087ea06d6b9e131a6bd818bba2c2f8eee9a481321ba4118d0bce1c61c1249e5a4f83115c114a0f0e54a17c8d461e077b23045c4d592378790a49772e065d489988a193a53dd3d2b619b9ccbf20fb3c6d86d13414f21d914900dbe089c295b9967c7700fe8283b7ac134aa21eded2ff78c4ad4fb5763deebcaa252f55792d633c993772c1a8976a6a3bacca36694e00129302ac84d5ca774b5793fa81de49031941c1a97e924785b1761bef400f2038 - -COUNT=16 -L = 2048 -KI = 8ee8109c512ab7773f95f34e0827e6be -FixedInputDataByteLen = 51 -FixedInputData = 13890a73518119a12be21165bc634b277ace0e7f7080d945ee7a353678f0943ee74af65d7991140ae0c94fb101f6e7a9c9c7e5 -KO = 3859c32dcf4f51e973a589bcd252657de4206c9a864db6da0e9d6fd2edc53bdfac056b2b8352696e200bb0374d29b4921f6fe4d6ab5fe1a4da242500bb318cffc89c6c9d205e9b658124b3416cf03b2bab80f2c47d7dff4801fbce9e78cdd995ee788198acec9807806d3cd7580a3cb0de842f23a48f5eee128886cec6e5aa3269a2d97cbfa0e2f3ed5bfda5550e725ba9c2bc7fd42f4fa57083b1e8f8fdb0ddcb9face9ee34995015aafe2505470d2f52ffefa415b6e7b5e9b31cbf51596b1f592796b6f4a5b41c3a2c16e62a52f21b80aa0d463ce7fea8e44e12598ebdc4caf010b352831e6120f850b097c45288b59bc2247c02743b449865a266ddf0758b - -COUNT=17 -L = 2048 -KI = 8986bf0599ef4584c78dd54d6d14883b -FixedInputDataByteLen = 51 -FixedInputData = 06ee9743cf6d01e6f47d87b4db8f8b633fe74a51fb6dd76f61ea86a564f2657fdbd5848e547ba3568005af46279650df1131fb -KO = ab111222eeae885040bc1dbaf6a15fe4a2843a6705e43ec631de221575a4287c092ea3c318247cffde1592c846d4fdfcb1c429e2d5606409fcad1841e101913e6b5c57c4d0c82391bbf4e5e9c7283a472b7aa2b0fda13f55c2f45c647fadf94b16166d6f0c24f304e0db96938fd5216034fbbd812f539609fbe745d1d4a65e53cdf2701c191611fa057184f7ad1006d547016d1542d540ac3238c15095b5ad80cf8d2d69a9a909a0a136ea5cf1ab8c004f32eb468b267a4969e39cc1ee923354955ef0eb18bb009dcf432bd05f74b20d81de31bfad14cab8e042b85a91aa68ff7081dbc0edb8574b82079e5bbfe29265c93e4415e92fbe08c32870b0b397b874 - -COUNT=18 -L = 2048 -KI = 98bec894b7d427c9dcf538b91892a41f -FixedInputDataByteLen = 51 -FixedInputData = 0249228e8705667c56aaebf3e3eb07b7a23b24a24dfb6776d105830e1d64e0c64f84f58df7a886f30f62582b8fd14750a1c757 -KO = d45eda4e4e2ff39ade37f59f57503263c079633dcc3ab7bfc0d0364d5257cb1a76a63d81172be26645034f5351f2ffea57f4235142c486149283a1cf66362077cfa0398f0c14859734ba26a1d27f2ea6d9c42ec698ac2011115e7fd0aa5d36bb3feb2b37ed14916c2d3bcbaa0d0b2f36943633af38081c0e4a506a89c2edc55795cf305e6cf2fa58cee05bcfae74dafca1e291f70f83d7bb767722d1dffb151c243df2142c30213477ccf20c7bd2992840818d13942b2daf57ee44eda71614a0321d9ac7c2f153bc20cd85c2b30ab3cc95cf341c767a2de348316d2269f7835bc838f6c34e572c650e218bfaef6bef388656c52ef109956b609a96f20290442c - -COUNT=19 -L = 2048 -KI = f6aca9d9ca20c1e04fef24b7184965bb -FixedInputDataByteLen = 51 -FixedInputData = afa865024a6ff33082193853b068b4203d58cb057d75a9da0520f59fa8e9da3d9b720793750dc928fd0611abe12f10d7156b34 -KO = ab63496c471b12829c33818a3197376787e09bb4890280cc7d91bf14042f4023486e323f9e98481c1cc580cc8d69012d9a445b3ae90220c3c9d4b33ae79229e4d17fea8a4e5c41819650ca66eee2ed3a45a4119d5a57b80f224ad257148e646bfc82100a8c2b3da3b5f36c35a62b9c9babbe933a1055042a3ad21e69d72a77b0d2065fbec836f61b53aac7d9d4ce710a1f64e0c4af36c4e5eb471223ef1d956ce4d31b55e9ca84c0e3268d19d7a95d82099dcbffd4f8b2b13295e079f1098375f0c9dafc0739bc2056c55ce83cb713887d84028f0d5b5f0cc7d75ee8cc0354ec4e4289c7868d96ba5a336fe1806903abc0669aa39e164e16605719c3f5c017e7 - -COUNT=20 -L = 560 -KI = a15e096c14343bb85c1fae0fd4abc472 -FixedInputDataByteLen = 51 -FixedInputData = 373e8a31034cab6a55830ea9bd16c3948c4bb58e52893da56f07885e6fc64822c19a62f02c0623136f96a7d1fe08cd13501e1f -KO = 85987fdc5f466bf028825753029845e7abbac06a31147dbfc29ca9531d58e43e8fa41b18f254f209d6140230031a71f7f8fe6e07d94c0d61f345a96f5a05b928665d1039ae17 - -COUNT=21 -L = 560 -KI = fc94fdf499acc1105274495144373f63 -FixedInputDataByteLen = 51 -FixedInputData = 256761b8702b9851642e4f1ac61cae9406ceca4bfdbe4c2de11164de094711cdf297f5b5bc977766ec12fb0e22ae01aea68ad8 -KO = f6e494e24c79a3c8418d41fa60c75621f32fa8d26dd558263037012377127a523da6d6b64107a92ce7190ad386e0f3645ce4b426b79d9345668ca024a0b8a01eef0dfdf33f3b - -COUNT=22 -L = 560 -KI = f9e5a46b6871d5eada69102fca30d990 -FixedInputDataByteLen = 51 -FixedInputData = e44b060013f351a09e16e4d4c749c5989a5ff17d2586df2a79cbbef860a46351eb1d5a320799a977c162e50aca480ea5b161ad -KO = ef1283840917e1e96189ad4c28c8d2a144a3436ea83719876884ac18cce2d743d26bd9a4c0dafb7b49cfcaf6e21d7e9074f26e20956a4999190b8c2cdab550d091a76dcea92c - -COUNT=23 -L = 560 -KI = 62d30810e304be510eef5aad5e15d7b1 -FixedInputDataByteLen = 51 -FixedInputData = 3a6de2660aae4901ca6b027c1be3c007203b23e3b665fbea80571dd51a59373a8e6f524294dda4d9641441315e64a3a4df4d0a -KO = 195369cfb07264cb2fb28619e520547313427ba3cc7c8179d39025f564be19bacfd683ee3ffffcfb19adfbea34eb9fefbbf8832d7b14da6167fe4bee791a1e9605a2a97ce026 - -COUNT=24 -L = 560 -KI = 942d77da6b9fac0e7128db601b721d14 -FixedInputDataByteLen = 51 -FixedInputData = bff6762392ba09621c19e8bbdb3b405033652faec24192d78d0e8f665ced6ef8b83a4c66215145059ded3b2eed459738697456 -KO = 4e1b801f3f7699c5e6825fd396c3ad922b5ef6c951782ecff346cd306f113890c8a806690186b7af5be88155b0f22a265d14d8ac6563087781f862d72742712c7b53484ee3f5 - -COUNT=25 -L = 560 -KI = 7c908fac32d635d441a9cbcd8040e39c -FixedInputDataByteLen = 51 -FixedInputData = ce1a530b729b89100cab6fddcb64a17cb202927dbe41b973a305ee75c7aded59c3588657757017a5be060f6e8a4243033d6d55 -KO = 0dc8d387639f8bac49dd4c3b60b8686cc623634ea90966d5fe6b91085bd377fbc58b5891942a7e2f1c5bd602b07f643c86065d3d3197d44035f546d9be80b9f78f1f601165e7 - -COUNT=26 -L = 560 -KI = c4bb7e6c5eca03fce8a08b4f49ec9ed4 -FixedInputDataByteLen = 51 -FixedInputData = 5e2effb73cbc66a99fe17bf423355782b34df9bfd9e247f81797174250af5e9a75df04ebb80373c33dde5159f6e2cdaa4ace80 -KO = 1228e5816b2816519c18d45efc9f069adc665cfbc55bb1d181c9b15f4307852d2865a70c02f831808e0afaa15919eef446dd6d3efc7921a22516cb39d1b87c20cd0f47d7a48f - -COUNT=27 -L = 560 -KI = 088623d7f758da56e70c24e68593145f -FixedInputDataByteLen = 51 -FixedInputData = 4f5edccfbff299d56906a0a26e61e61b4b78199132bf991cd419e21d5c7c5c05fdfd8c43886134a94c2a384c99c97887d3fb1c -KO = f1b5e44aff2d03e781df7192614a588af41d4b574eb57f9293f83c9852b89c630f347b64fa1d7aef1fcc36a558fc718468a25c40d4833490aecc1a7f240926982592366fafff - -COUNT=28 -L = 560 -KI = b054b4e519c2fca298833d90e260e159 -FixedInputDataByteLen = 51 -FixedInputData = 199248f14b155387f5deb7f8b0c0a6e46127f0c7874c842c13fb4afd43d02a8c00603969221b4de99de30b800a0df10bdca88b -KO = 3cf3d50a679a602f8176a0ec72da3ada3abd111635d27ef9031aad4b141976427a601d58f29425e495826ff5484c16c9c7d0f8baeabf4de797b8f3d85230b06bb79968cc5617 - -COUNT=29 -L = 560 -KI = 6fc6f5038358d5c17f79e856ef7afc18 -FixedInputDataByteLen = 51 -FixedInputData = 6d676c0ab57a0dad2d975529e45bcbfd19a6826956d8210ff83c376418cd9c734fad6ff3d77211def08605442ee93edf9bf1c1 -KO = c169b2002a8cc26491c0b575bfbd473beacd272cff56043a5fb25d79081169d5c1a56a599f107191a01dbb97d3a2d26eb885efc6e7daed3f44e6388f71fd983b7a37bd50d6bb - -COUNT=30 -L = 1600 -KI = 245d4d116f969d35e00b1b386b069e3c -FixedInputDataByteLen = 51 -FixedInputData = 0255dfb02c576fef8f9a3bb766e2a0f42de0ed56964d75c8dca79c6b4c886e9ef88bf51f9222f193da51cb2963378eb380598c -KO = 20e7383edb12e23688cabb70168b3bbf3116e3f5c14fc308343f2491da813987625e4e1107729d481ea3037ac4a2460e4547fa11e640590c5a4dd304155c499b146d5f8bb7542f3b9861b61ac03a262622f0038fd65ca73797542fbeb545f67c80e7def515384b9aafa7a3963dd30bac342839e5b0426964cb8cf63ed085359a1b439620a503e07b718326de02ad2cb21132a6183c10ec2a5b4653bcff339af0d35a9164dc6e5c01d19185ecf95e735e63bf355fea3c217d6a2dbefb7e67e0e50902874aeedc760f - -COUNT=31 -L = 1600 -KI = 3b154493e89c31b14c7d114210cf236d -FixedInputDataByteLen = 51 -FixedInputData = a239cf5f126c6b739aaadd75734ccaff01874d487e3280d8ab1d243480ea4f1219423551f601faa880226d8a1f7f7833d4e6d2 -KO = 0c9b9a3f56b0036692bc6b1d959ceb23681004c3360c921e58c63f9a77c482607d64e11601e98c46d3e541c543e69bb6d69006aad5b27a2e270a6769a8e8558064d91163851f1b305eb6fd81da18342d7b8b5a548ab3d66de2c05c3b98e7a213b085d303ebc3d883e09e61ced4667a82e32f9d2124ca21e81b6f5c92ebf6c8af42b5507fd0c0826af26849727ff1057b4882d6d62b5122d830f1334f66f4d68e3f3fd94639ab2063701fec7ebc215265b3f254b6f54aef7ed1d7f0ad7895f2d05a8170ab5ef81baa - -COUNT=32 -L = 1600 -KI = c458ad71f00596c9e336c5373f7eb011 -FixedInputDataByteLen = 51 -FixedInputData = 0097bd6719e80e4c39c1b0e9dc731d7e44c51070c561b52f58bf84a5b57b93b97105dc2f01b9b4e2e058b0b1335886cb6bf8d7 -KO = 7e2852b4cc23486e050c29f911702e6de6406def1caef115c4a6fa13f80909b23436b790cf2200a77b87c617c33b6cae2421a90469afd8bd33c00a6df8f428350b1e6a8103de66f8ff979189a476650b8111feb2a6320ee0b6b002c54cda478c2945cc32c9192b06523ff45780f3165615b75d1673348478c5b72870461f0979276729944fdfd4064de3b40b5265018c97cfdb466b15cc44f24e23e7188c4e1ff649df426047317425e8dd087fce0bf5820bcc64d876ca644e3ef27d7f84f2efab3a3376c381021b - -COUNT=33 -L = 1600 -KI = 32fc8083456aab66143ce184739696e3 -FixedInputDataByteLen = 51 -FixedInputData = 80d08145c76c8886a645fd14ffce2ab3ffa5f95b8fafed16d09b24cf38477d0780304902b22570def4998f8d369ffcb174f715 -KO = a9eb46f15a614514612990a733e97d6ea71429c7f128ff2751c0ffa87edb2bb12e342d1dfff27c23e52ab7aea74ea0d9d51627df5654fff97b42faeef8f05e53b1d2173ab18e9bb18dc7c4908d8cae7753691ed7eb93122a390c11de66df14a50e846abf84f1966f1695230da837e954867bb20f69f8688d0e9a48350305ea2593822f9e1eb0f5b1768de857a59ed9671e0ab4327e146b139247f7146615345f81aac15b494b11b3e35118ffb335c876d477516b8ee877f4672cdc4fbcd908fab72f92f00a6bf298 - -COUNT=34 -L = 1600 -KI = f96ba8254db3257a5a846ebaf0434bfa -FixedInputDataByteLen = 51 -FixedInputData = a47bdd5bf51935d37c25ee954e0366d80f089134c7eb36599fa1687864d4bc341a080d512fef59e5a5027a796e485b1ee31a33 -KO = cd0d8191040be5fde6b8c0a5300e8db7a789ac07287344b3567f424a4a2f0d39537231122bd632eab97a11aaccbbd2547bc0e733bc66dc3d988394aae878f640cc164dc011e2868a556bc9846c37e8899de2feb03eb3ad9c28b6ce7add845d40a9301fe01136d8ed3f89c787e3ae462c76deccee66152bb568a3fdb08f9f1b5d5d43f47ae292ffa018fd6412120f06ca8c2dab8dc96b368c7a5b6e780c02618a60362a1fb59c226b40c13267b6aa0c8c8321d11cf5acebf279db0f7eae2c614cd3f76439b09d23db - -COUNT=35 -L = 1600 -KI = 1a09cd8b3c21ced729692a586910e084 -FixedInputDataByteLen = 51 -FixedInputData = 855c22a31c53760b2fe043e88d97382cfd1ee483ccf177cece389ceed5c8934cd85f06a4bd6543d96a8a7bbee025315b01f3fa -KO = d3f3d231c8e60a9fb5196f8cce0881673932851703058b22ae75cff2d690b569344cd09d4c101cd77ad4576ae52832cc086c561aa00a3e6fa143e429d367ab914a7d40773f85822adb8d2cabc0803695d99e9c3597940fc8109119e030301f64ba7b20b5da291bc162d703ef5dd3cc59f443bb6482401388033036790ef5ca015400a85496919afa6c179a40a93b7be21f46054f6f5e26192e2312b3693ab57e8f72aefe60dc64abfec8049a16d0f79bdec9a382cb1338f431eda682c370abeb4b030fcc68615ae5 - -COUNT=36 -L = 1600 -KI = f295b42e99ca7d782f4825557548ef25 -FixedInputDataByteLen = 51 -FixedInputData = 5b7e0c8daae8f72b6b56366f18214bc7429a6ddf5cbad0a1059efff28cc9be68cf452379c1f5effba6e7b54ac3fe24cb4068d2 -KO = bb89508b99fc84bed1c12426085fadbe20afeb5cc0724f753cb009aa3c957dd49efd6591d1ba75180dffeda3e5367ac14bcdac116ccd32a89d0c988761ad33f8774d0e5f68a60db6f172db4ad9b229ecd61f0bd0846e18a3c4cbd0c7ad9a196b8f7a6d8a997b948d5b0811d13715ceb5f4cdf509ece0ecc66897779f16f17437b7c12fe89f079e1c22ed8f31fd31a0ede62e214550202650133b29b63151fd68a36f163f8c0297e96d236b265b62540b4ed6f213a2ccdb18cf73f32b2bcd8ea61eeccf3ac6c0141d - -COUNT=37 -L = 1600 -KI = 34f5c6a6543579d78c0cb074c4ee3979 -FixedInputDataByteLen = 51 -FixedInputData = df230d605d1fbe09896d99c21e4fc1875bf4adae932c42cd8c50228cdf5f2e3acbc1a270eb6d98b326cb33dd353741676350a5 -KO = 4f0a141a7045f3ba35947d8d19b3718485d8f885ad402a02c1203abf631f77d518d516a88a501237a8113edd74ab5d9a74c2af2f3df8b2ff95981b3ca83d01c0b4daff4008ea0ac13d5d1fe2b51db1a07b79c7576a548b46396e65baeb2951e30f65aefdde6499acedc87a4bc987731e9c5d447d4edbd03ff0684b2ace49ca2f4246290f261fc4e7728aae78d9e9a812ecbd5af73c6bf4d790120ad970ad66be345d8c92b842b4032084ebfe2c333c6e6b116d8243d3353fab3698215e81811ef3f59104a33f28ce - -COUNT=38 -L = 1600 -KI = a2790b6f2d4d7f7a790ee9187028cf3b -FixedInputDataByteLen = 51 -FixedInputData = 7940fea1078d2be2d8736ef847f0f1c490280f82c96c77099074b95c1420b6b2581a5e710270572b244dc9687747aa74ebdb42 -KO = 7bb435743117b1ec98f6e169a18e93beb654eae5fc5879177b83b083b74bb3ea1a67d922290470072b6f3945dfd50043005e6a679fecaa4d8ef19c79e6947976d57123a6cf339ba2b5011968017caa73e6c6f92c5048adc47df1430239c20a9ecdd418ca4904df49b02e0f2ce9c1c4d61430592ca40deea05143a140926612dfc2386beeb0f262e4fc9d2e27fbc7184718dc0f8b04ce071798fb4dc8e7fc24d41f0bbc175666d20fcafeecd7367fab736e548ed688ea522c97d9bc4610306e709deffefb9a5713d1 - -COUNT=39 -L = 1600 -KI = 3b5bc107d873b189c8b9d5069f7886f5 -FixedInputDataByteLen = 51 -FixedInputData = ee6b2fb1a10c6bd826eff0a763264243389c3927bb9d151ed30ebe0a5d7826facf6e6dcc21df9fc18529906677be09715b65cd -KO = ab6640fe2543e3e58d03f5210e691002cd8e288d42819f084bd696f44f8654fdb9994a11007ef9b51f5ac1b3a552c66f8db19f3f5bfc7ca1b87b6bf5b6c6832d170ed291300e893f49fb917f17c7f71c4c4b15e553f18565fd61eb74473f1f8ff3c5e25196b1637157d13e94659392bddd98474c49458f23e7d2f78ff141f78222fb7272148e9954c242eabfb663e0fc4f251db2d5c139a64c144279647d06a3cadaaa89c1e512588df45c4734fab395234575627a070ab65dab6d2bf155e5857002d2df15981328 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 4feff9062cdc992cccc1d637e9e17bd982cb23d2eb07b77c -FixedInputDataByteLen = 51 -FixedInputData = 0031fa859785fef14f4ee8bcec328f06ac3cde4bc790fa264412ed306a99eca99330a031776adfb1f629406bafd1bd02b50ec0 -KO = e9b0e2bb4b5ee4d8c1173caa4d710d1c3875d204372e78818311288c49bc69d5747efeb5003e6544ff6b3f828989c912c2e6b984632c2e3554097ce74b7ded4f - -COUNT=1 -L = 512 -KI = d4c7bd8869805ce4a9b9ec161ecd6e0b067790d16c4e809c -FixedInputDataByteLen = 51 -FixedInputData = ee9f32f72af22d9cc60b2a4613705932619611ceea5341f903c075a07ecee57809a1bd4eb1074ad4f6c4323dd3aba5d007002f -KO = a0c91ef46895601cd9ffe1ae59f75d9669bbe7d536108b090ffc3b89a3d57305fd329d0a0f0f91089fa005cacdb8409bb637446d9f7d0fd4be460ca772c832dd - -COUNT=2 -L = 512 -KI = c93b3419fcc8a302ad26d8b2b4083a85b15cbf36e0094c01 -FixedInputDataByteLen = 51 -FixedInputData = d9990567c158c686c8df63dac789f7ea4051bc82bf1a7390ca0f18252e7e31283f45928b959f6be581a97116d574274572e19f -KO = f3208579a2fa750a6ea592bb668bea231d38554c5779eb75fb98d11ff6fc1636821c0e8dd37e1a09e3ab899ab8830c73bc5abdf3baf2c7cb3b18149cede1baaa - -COUNT=3 -L = 512 -KI = a62b173eb309f343530f30ce91004b6d39d4b147d042816e -FixedInputDataByteLen = 51 -FixedInputData = bcb40399bb7dba14cbcea49ebe206f7b39a47b65f1ff560043759f2305308f73ac8435ac14116ee5bac13baaac9cd35c83d71f -KO = c0767a42e2f12c1e943d9f0a7c51aad646e48499e636631f662f05a6f86c5c87d8dff5446f56552d7c81b54b5a364f16e010dc521d949ca5522bcfe05499101a - -COUNT=4 -L = 512 -KI = 077fb355af5c684e4f49c46aaabff9e22f53ff27492eea2c -FixedInputDataByteLen = 51 -FixedInputData = f35bfcb689dc7602134666dd0436f476f7c95072af569e82e3e4a5bfc37c02e1ab19f3e57f45a4a7895b817ecfb8864a1a2673 -KO = c61ce4775ecd418a7f82846b5c5976129d22d4380eeff834b5b7f1571fe37678679c381022b257e1d6f364819566e1ec385cf92f9e5d0c2f41698b73077ae10a - -COUNT=5 -L = 512 -KI = 9415a1f2a1402c5f00ed884d6dad75d157d48036759fb36c -FixedInputDataByteLen = 51 -FixedInputData = 692c3d51020ea8b97d385c7c17a99a7eab9eaa9cbbaac8e7e0fc131a80eab4f89670629ff335825955f5a5dfbe510e8bc44a30 -KO = e24a92323fcc491c30f03d0124c835804cbc761b936d9959a8c4096a5990cd629a1e54001c80e3a6d9c31de08645c1eb6cdfe073a1d293b5d734e2f4f710714d - -COUNT=6 -L = 512 -KI = 4207118f94fb308f659adce77d8b09e95b4a64a791f9637a -FixedInputDataByteLen = 51 -FixedInputData = 4c1047880c889083ddde428dc186b0f84e9380d4df7b2ad6b0ae5b4ed0aeb2d246394213ff6954044ab2c7dec47f6ba0adec68 -KO = fcef1258c7bf530bf2d95e38d971d8b3dcb67b6eea542887942006972563dd67fd7cb4d6a29b2acfc7ea0bf143c88670169eb6633ef3e1ee9f2864132bb70178 - -COUNT=7 -L = 512 -KI = f193c941eea0743fe2e09e7a0404c9ce0111c3df5ab2c8ba -FixedInputDataByteLen = 51 -FixedInputData = aad1f7b360d5de606c90068147625170ea5ecfe3f3ca33b8d26aba01953786c784be2e991a6fc365b82983128b3f270f6f67f8 -KO = 33ebb66b02624fd4a96bb76372706f2c7e56e4694724407b4bff2ff70ee6c1e2a975c2a165ef276ccd19021a357d91906d8ff3bf78ac6f243f54bba140903b35 - -COUNT=8 -L = 512 -KI = 890ed910ed31aa26fa0b3b369c5626997b3c9efe2d9ed941 -FixedInputDataByteLen = 51 -FixedInputData = 9818a576810d6c40801b30f33860ea52d14ad7f6a78c34ed2a0077521968d65dc1f896802a80f4d7b062d7cfd2222994eab9a0 -KO = 41646389d060087af2b2a05cd98c00e23b5b868a844fbd225c725ee9470a574231da53b48c9e25d16dfae194dc0d7dd78c91fa5419d4865a886d992e8b6a44c9 - -COUNT=9 -L = 512 -KI = 9238fe0b0684a2aba9527105023d7fd75551191c728afa05 -FixedInputDataByteLen = 51 -FixedInputData = 0be2a2ee335cae04bafb56ead08d51431785fc9da5d00484b9421b9dd82e3f6e7edac7190e34ac86f58f14724c4982f1c0b803 -KO = bb01fb27a8731b0a820b1e53b5578db8eae5dca14cdb24015dee97dbf3d3156cb4430ef4bc04c485d13f62af8b9c0eba1ec3c5b7d9db5d9bec01375a140ff99c - -COUNT=10 -L = 2048 -KI = 90a2b6bab645f056bcad6a73f6718df962a86b7dad3194ef -FixedInputDataByteLen = 51 -FixedInputData = f2f8e394fe93a788d0dea8336610a9294db355b2fa4b7854b46d7087d67e55c50dcaa31e4c70e3f8593777909a5183d777f6f8 -KO = e04d378a5081b6b274057d2fccc87bbeb68728647d59fda09c55d389fbc82ae28fa81106dbf3e86071bc9e778009495df25999119a057049bc1a2a8c7560454c7b6303d1b19153da63de153594e174a3ca30db1baf3d6c03c7b410101d1ee84022774352156b306d89a06e161cc2658de6ec58e75361bcf3d2c447a7bc2335454e96ab72edf605bd3d95f9c004044ddbc7195d2c5ced32d05e8dc006aa1e1e1638168eb2bfe2425c2d7c61d778a76ef88b9f3c5290fd67c74ef958710a42ead167729f5cef4e182fcabe5698d925f0d8d9c863595b0474552750d009f48cc4bb843167825c7e690f506076667f864ec69d2a13b956a65631f9f1a608e8c8e749 - -COUNT=11 -L = 2048 -KI = 35a53835afd8c62ff293b0db0fcce7d7be845148e17ea3bc -FixedInputDataByteLen = 51 -FixedInputData = 5679744260a0fc667f9aff6464f5b70d6a413b037ab1d91326479fe3e272f5a778f961579b78eb0dee792322b87b5837e539e0 -KO = fa16b677030fbd8724db3f37afc9db891362c3b1b1c5c51eec4f79f460fff1c1c2071da78f256fbac57fb88c8249bb53b82084dd7b0f73aebaff78ea2e4d7785b35ffb66c0b7f9e5b3d2c35897b378868ec14a9de57965dc5575849b33f59c4d0168a6eb562d822edc2501f58fd546d400b9fc8b07fafea0d5564100946ab52e4f2c6ddc8c42d95a00c7d4397ae8eaa54989088a23deae7256ef0016363a47166606af3aeaf85e2a6c30df8d76d589e533c79edc650511dc7a78d18bfdf94f986efa294c46995d4eabc51b5d61d2c59543c18efdc99b4bbc0318d7e511060a5c8973ebc3af1583f6c56009ab8f9338c7f9097d9a05d4721b066b354f98605eb5 - -COUNT=12 -L = 2048 -KI = 883b45f86ca88d9f1344bb88c976ada59fbf8166e6cf07a8 -FixedInputDataByteLen = 51 -FixedInputData = 70855a3b69b2b65a3a7b43bc1ab393d70fc2ed6bc095f852a5064c0a61c906e143b7d62c0b5e916287043caf4079a8661a4e90 -KO = 8ca9fc70dd2a37e6958a0edfbed6a79c86bd74cd87787457de9cfdd4a3e277390ee08c64f2dc4dfd298669de43a664befe94568076c4c03b1ee5fab7d0b52b63dca0f36fe7e730c36a9f4dade7574e276b99d503ba508f56df36402e6c9452d159af3f236b928fff12b18ac7e9904b759ee645f6e739aed69cf3d44288fc07eeee243304f24c82e7c143d3fc71a141e058eddff8b6f11a81ae0fdcd0ec004c2e07edf128549ed061f2b1f954feeee2702f2663dc565c0611e9a3447752a1ecc70dcb2992c10ae4a4c143dca3ffca29a29d7c35f1bafa98ec4c0357501f0235929c7dd99016ed4bd6e8c76a1506ab8ce8b27072bd853ba20e1fdae66658dc3cca - -COUNT=13 -L = 2048 -KI = 8ec22fec9705a664bfd2167531aed27aa22f64b50626facf -FixedInputDataByteLen = 51 -FixedInputData = 1212404c6a16e20c3c96bddb0b45c9877a5caf0438e914d24a53f34b84fbd20553c68d074e95f8d0ce6e95fc4c9f55cc87c718 -KO = 746ca6aed63f3fdd4661142a1cfb05daf5a2fe43fd2c2992ee19cd9e7c514e7dec03ba6536b39b70706b0f887ec56db733a69e7b085d4031f1a1e01f3410964bcce6c50512f1361ebf044c8589ff555df8ccf0e66024c06cdf50e90d163c23b62d99bee60ef5fdedf0a2db2dba3a2a608d6b6d5e644ee1a58b6752e46dcdbf5781850453bec47959c84fc5fb41cf6780884a7946208311006315da6b9fbbf1ab7051d339864d91ddb57c58c0ed232fc471dd4619d91f877be0fad5c414a0823462654af24a3993bb59a4ea448f747d7ee19294c0f65c0dd849ff221f2e1a655e438fd4bf9bb6c71e2fad04956290a9365620f76c40232f3b0f48682a14b1fdec - -COUNT=14 -L = 2048 -KI = da5384f67fe690bbf549f6d1937c6de6231cde00621e1f78 -FixedInputDataByteLen = 51 -FixedInputData = 88873663e91d996e65983731af93c049aa121ac0a3f89f267eb427accec5f40dc5103dd6008f4b7ef25e12ff9124a1d8d50b96 -KO = e7d155a57d53d26b14eac782cce7e0805769799594fe811b0c69d2e1369cc560f7ed2605730b4f68efba63582a594acde51c7231b5e00c5d5ab55b3e254a8938ed7e27652b7430b3d9f0c34e8939b8cff61fc8addd6aac3471b9f9b45beae3610aecb411817b83e3c97219c5fc8ff51ddf9e6df739ff0008417d82db93f1f4e9b94436f4d02a4afd8e5f18f2b4341a096998ddc3bf051f7406df75c6f687a1937bebb60df4d6fba96258a7d13e36c857c8dd9d77f6b170502dfa94d6fa4cdb2e3a8de465e962f1820bad9808a1951fdcdbbd41ee4fd6196ccceb4ce40d389616b00b2205e450ad8677fda4ecc0fbc4298bb0cc264eb12d50fc96d93698899a15 - -COUNT=15 -L = 2048 -KI = 63ab95229db04b2b1c37f487838a6b94f3c6ef468434c957 -FixedInputDataByteLen = 51 -FixedInputData = 2cd03559f2ed70e2366ca11aad1a545a9151742198431f7703df4b06f848f927e3be13f3b80b0154d6a5197631125e69ad4317 -KO = d88dcbbe9df65f23b2ff365949b861880518da019d4d1a08fae7f0034ce56745a2aca279f43891d6bc0c78d75887f8ac510ac58afffa62e2d1bbb4a633c46a0c5952e007e71646d17dfaa85141e3b8ba5ff844dea09cc023ac36bc7e9376bea8cb53e0897da2078536ceb662ce583ebe1584dce0559310ababd7554a45353f24938aa6158b5267548c7569a7b43fbe53844887acee6f0d0ef1c5053d6181f2ce53a38ee2b4b599e89e68d0b6e1e50ea2f7231c667bb2100c7407605ae9b2e29672f9668c87e048c2b5881cbadec1186e9baafa823199f83d18b70344315c89c1f4d581226445eb3fea19b3a28e265c876f257cfadba51f733a8f6485819150ae - -COUNT=16 -L = 2048 -KI = 20f135052398d3a6dc4912a4e0597b65d6f1a216131ccc95 -FixedInputDataByteLen = 51 -FixedInputData = 87ca94482abc1353aaf380bae62bb9327d811d181c614a1e4c3fa5cbb144fa2dfaa240b1770e51e0b5360a5bab714269a55f41 -KO = cc18dfabcc9ce67f2f0468bf283123a4713ae8b6f99538818e829fb46074689d8b792d8b53cda1a1f44cc037c300681c408bb41b435ef1eea45e527b4fdf8886763db53bd43002c1a78efedc7858e34266c903b8de719e54f14feb05717f575220a2347cb1cbd2f7b67aa8dfa8ed895fad01602859939e8c1f822616432429884734ce81d1860f604ee41ab319d12f7bb49e7ff3f5e97be5176797045bcbec361777087a835477bd0282ebf7549c40208d4a61f8a9b392718a7027de0222f2fdcd01f5815fa0c70084c70e496e0a17660d01c316ad3c15663608427c666af52003942b0677ac539fb6d849c82eb9dbbd28723bccefe1bdd441dfd445ccca7200 - -COUNT=17 -L = 2048 -KI = 951cc05b37588b499ce5903399848b123d4884ffac74e928 -FixedInputDataByteLen = 51 -FixedInputData = 685df2681bd517e2ccd10e49e8d3981b18c18092726853ae1b0f57a7db277d54f02539cd641add1ed4654afa663115c190f987 -KO = 76c45621953e3de62b0ac55d68579366d831195c9e98fa3cee43ded1271995ea00d28fc208c74827a6aaf9bbfd3a3443889374e72782ad7da0c69be74862f83e26c4e32226570abcad96d2625d6983be0fc250ca183271bf0f00ccb7b884c9c8f188036eb318f727c3918bc17855f4612a88033184b5a7431fdb39061058f92c4fc9e960e91c4650f92606db061ad5b84c47b9a7ad558b66fcd2c20d7576463e23fe0fec411f7173b99dbf0da0ef459814d831dc74f2678ab9aae935622712f46c57725f6d6990d3f4d063d4fe0af3ed7390d0be9277223560ad1ebc601706472645e4226dd26a3e971cf0bef1f06682cd3cbb0b0954cffcb4d5bbb3fbc08fc7 - -COUNT=18 -L = 2048 -KI = cab72d05c4bc02f6c3fced6386bb4abe8d0a331d7d0283cd -FixedInputDataByteLen = 51 -FixedInputData = 06bab9d8b553e357076c131089bfbb2f0af39c820a28b32318abea4b748d0f9fa9fc5e6fd5f83782bb5b9c9acaecca960baa6c -KO = bd587fc640b32ac5eec727a56541c94dfd8fd02c7210ee5fffeab8c8c9e70f0e6519def3c1cb9824f28fb8444efc31c67854faa28940c965a3bee9a56e96c5b32c8e72490f16bb2b46fa38d940317bd6cb834ca3ee3f8113f34363cd1fc1f294c69035ed6c96a1e01c939d823f90e13606448fdad59a4bb4267a3a831fe68649d7e1a4f6156169deebc295d582899f0b05dd5950090eebf87419f48ee255e2834084cccf703880fbe262914b724eb333c188a02ec6b6fa3c961051302bc64dc954f7d6e625676f561d6712474bc7274f770133ed13981eefa44ec6961e60f032314f8b75f4ee39e777a32919985d14282277fdf1c70ac58051cf44442e712eb2 - -COUNT=19 -L = 2048 -KI = e7e5deb9d55ed1cc906f85d35ce4f93db74f0daa71009e63 -FixedInputDataByteLen = 51 -FixedInputData = 0f90aa2996a711cd38461203e2cd9905a727fd0d31de9a2ea26429efbdb2cdb05b5e3c2392de9fa01e3c535238f4a0596590b0 -KO = 9a3c50553ca730b0d6c7a863ec950c8d247ac15384a23c014f710b2ac3830482eb689c64774c961b3a1497c74798459379d2be6772f62483d99f1b8cce46c14f2b81235b094e9d0c73edb6769a72960211098783d603c715085b54e462f86c9cdf35f75f11d41a330adc8b4ce11f664ad77c30505e43319a3f008ad6ddd16616b2f4f7d7f5eb23ad6eb6dacc3401805b4c3f540d7bbb137c2de5b99091879b18bb76f3a13d8b84363296abbf2a21a9f9f484ddcec31a3d3d10eb8e1ad0c90dea6a3e53be02be5316d22972c3f5d36f83578f2ab8b13eca5523114bf4e469d66a662819e4cff3bcb0d4be49efcac1e17cbc82272a8d3b24ef3af33953fbdd3a97 - -COUNT=20 -L = 560 -KI = b6c0f0735dd158193e60e65891bb25addedfefd705af5e8b -FixedInputDataByteLen = 51 -FixedInputData = 76c3a8536fc4789437608419bd7cba6cd152b58f3c2ef9bd591e4149864c1e7d5c7dc224cd8fda1848d71d1427785e692a4a2a -KO = fe609fc53f7dc8a1852f26cc2c9f5da9a5971aba2e803c992226e7e71026a0131e13de2ec5423cdf00edc4769f83260440f7c4cbdb56f8201f61bf7f7822a4eae119474d4274 - -COUNT=21 -L = 560 -KI = 764751464111363cc79847747c2901ae1bef6a77cb9adb86 -FixedInputDataByteLen = 51 -FixedInputData = 7ffaffadad97f58db9f01a6b780e89dc2ea034f60371f6d5e6a82f22a00b672b074e3fd16850038d6736638b2fe6ee52ee58c5 -KO = 511fa6b2092adb139b8c1e759ac17b509ef35b49307d88caa53a04410d983f702881f96578735b5068e0baad1398c380f92599b539abea7fc5654448f2b63ef42e76eb15abe9 - -COUNT=22 -L = 560 -KI = a2afc99955125ababc181802b3ce0b1670907674cf820ef4 -FixedInputDataByteLen = 51 -FixedInputData = de6452e268f79219cea033c7a833f0fa8006cd705f651e81c175f39a73121f9f9581f146f6d9ebf2cead1cecbd7a682888ae93 -KO = 7631886a08b530c00529b9311a5c390cdfd7b3ad8dd6dfc061dd2c1f4508bae284de93810cdfbda728c5f689154544158a47f8926841d7824cd1420aa8d54e644eb05dfc060a - -COUNT=23 -L = 560 -KI = 3b8543edbf90734bcf86096b9133bcaa76ca3fe36b5f1163 -FixedInputDataByteLen = 51 -FixedInputData = d491759d3818ffedff418e94b03b7d7bffce3aa4f02af4adc5f29df93ffa667d19a170a1b8d52b044d97fa11a71deac90c1636 -KO = b9b59ab8867d001084ecddfabeffa372d66c5525fda07ea3721d1cd88cc60f89005fd48024ac598aebc858b416728a1e21f1a9f9a6447a6b4aa369cf2bbd8691d289ab97da2e - -COUNT=24 -L = 560 -KI = 23cbc3f6e67cb0beed1b9bf38cfdadf8f37e8e4d0816610a -FixedInputDataByteLen = 51 -FixedInputData = f0ee114febc1001e1db000da0153b7e7d8119db8a0e0bda55f33a7e5fca509dad27607eabf78c6e82b9298f13494c53ca9d950 -KO = 5055b7269820c997804c09a6bb2c40524e80257820508cb3dee66adaec15f251e5a851e123e60255f4f9f9dc9bdc1183a0028bcb4c78f016752bbc5515e308c304965d9b1ee6 - -COUNT=25 -L = 560 -KI = a4d2d613fefe11e168a997809a1b74bdc0d15752a8d0447a -FixedInputDataByteLen = 51 -FixedInputData = 9a3f45b08dd5542384c82ea1ed8bf556a626436271a51e2bed5ceb564b13d286ce98e0ca27db69cb177d9c206c7d9885ca9ae7 -KO = 9e76d8656edbd60ddbe99db9720c88f950b32823de78811af671ac6c58af836696fd5bf903bff000a7eada742505a9ff12e64e83a147233c931f8dccba0fc3112111f0c2eaeb - -COUNT=26 -L = 560 -KI = 8901312ae5175fc867cbb086a61cd800b0bd7c93008b5188 -FixedInputDataByteLen = 51 -FixedInputData = 0e9b7673f3bc2c164df8f0bbd00f452ed7d0a854bc446fd518e50d7e10ca42d990b6d2d66a30bf66efb5892b6272afdffcfa7e -KO = c3d5dbe57f79b64cfeb63e077ea479ef9ef1a8db5f8d2c588d0c1d22d35a929ed418fe4c5f013db485fad4289509c553aa2811a6163ca8c3f55bc82af2656a816e3889c99011 - -COUNT=27 -L = 560 -KI = f9c825473d6185e1ec3347c7003e6fb55ec12e55264bfd41 -FixedInputDataByteLen = 51 -FixedInputData = 8973aa5d12714ce72a688efc2ed8d7350c8cad58dc5e9458687ab390d76f42c1b406b6a5813ae710f2d68111f116f743e8b81f -KO = 58902c005a86bf259029079fd28d496cc855b934643e06a8c3051c4ca8ea224a151bb3d5facf5d7a9ff5137365263f62bd3b0156e3d87d64f7b15d6135e46e689347e090f5b7 - -COUNT=28 -L = 560 -KI = 6d8c2eab59418df4f53703574d67abb3d488090aea69d754 -FixedInputDataByteLen = 51 -FixedInputData = 455120432ad065cf617c7ab9e23c4021295e2b084d7d3ef45871dd1bca38e7e4910eea7bc288962ff6338151afda9f555e7ccd -KO = b7e7b58e9dc725a4af9f83674b72ce024d91806f5df4e9e5ffc67beeb6a9c377f3b2cacd5f4c98476b40fb31d6562a61231adaf4390d5c894e4d11af4811cdb4639fa2d200eb - -COUNT=29 -L = 560 -KI = 831444a781f5c6195bc84a611cbded60338f77fdf53391a0 -FixedInputDataByteLen = 51 -FixedInputData = c32686c464e3fd2f1a056b8ad249f75ed333f563c52cf13b269d8060bfa9c14d639fafb2ffa943efb49174756234b67aebfa5f -KO = 512cc165ea3546b4b872084fac4f59d8ce66144aa6514c0315098f38c04bd93695451192c29aba6ce5a931402137ad01eb64bc584e938a3b8f9ff0de5feddf61f17ea51767f6 - -COUNT=30 -L = 1600 -KI = d69894a040ef689e602155e17a2449092b049de118860a61 -FixedInputDataByteLen = 51 -FixedInputData = 2acdbe050130f248c4d8d7f07a1b9b9d117232ca8e2182bcd8c4fbfbc36db137f5298618caf2184369b360e9588c3606d7737e -KO = 8eeaf72ad3d8c2dde02803d1225899967a476593009afab50831c4efd84d08823601e56599826e8295214c38a3feb7de581ffe26c540c3e0638e43e65b5ec1aedd549fea387ae5476ed3f1677b7c4a311683c692cdcb3141626353207d7ea644632673f1e1867abae93423d723b9b1969e737df624b9cc6c8c006a20f1515fc57fc6c8f0aab4a0d2c150405fb0dc329806d882ca270904dd725698a52ebd908f9baad9122a8a14d01542a9a5a8ecdc054b410d03191f5f8a20095982da152da8e8520f2c8be40816 - -COUNT=31 -L = 1600 -KI = 6bca6bbb3b765313a9914ea48ccece9a230059a47a1c5994 -FixedInputDataByteLen = 51 -FixedInputData = cc85d167984a49c75ce1513705a94cd773fde907899f40cbaceec1d5bf999945083eb0d16709748f8b63f309c91d67576708f7 -KO = e48b6db969f664064dc4c79e22ab33dee6ed1ea8214d9430a027790a87f082d032a35433aac37e87f6984e9b54862ce9a90be98f69b1b1f94e0900890fdbefca82a2d7b408b9d8d228cc5ea1fe134bb768e987df3526b456bd75adc1216da1f19011cbac8661e19d19aca303c018d647c71cc68d99ae95d17a775734b9dcc3b0b3e69fd7ef418b75bc15d50fc775110a79d369371909f438e755925c1720493a3ee61c36850fdf9f4f093d10b525e0bd82a74119252ab7767a85383589d92c60b992c10487420b8e - -COUNT=32 -L = 1600 -KI = c241d7ed22b4d0d03af0cd24827337f0d6f33b14cc23a0fc -FixedInputDataByteLen = 51 -FixedInputData = 46d6a422cfcbcd66cecb1f6e5b199cd76e2c21ae49ba359464484b46c3b657919ea5f2972531f53d54991953ed639cff946348 -KO = f14f0a1af53e2a99dd005b8973176bcaf0417f1ee2dd4277b9672efcd5aa4a64a0691e2731cbf39afc4401657ab220fd510cb590483dc59be9cea6367845bc2b9a94d0a47f9134419ad7acf21a416b269fef4e5d66c44155ed5273454538479d55a9778e09c41d60de0fa5940102adaf8e2a2b1be400e65ddf23cc6149dd626f2d30f6d681844b0ffac65b97fb974e6297d3ad899f05367ee90341d26beb5881f0e9913eba1c7c73ca7183197e3ccc9ad281f4ad829830479549575aec441dbab7607da0714f8c6b - -COUNT=33 -L = 1600 -KI = 766e88104f385f3159833a032c316c2de55424a6524a9b23 -FixedInputDataByteLen = 51 -FixedInputData = 83d16564e6f099320619c7de7b53992471d83c9cd31131b16d683390782c7cee731279768394ed4e4a7ea7b7d9a66183c5a25e -KO = 1c1ff51c72a5c1ee1c375c06a853c4b09de28a8c7dde7eab8d56053008e46a6864cb54787b62155ae1a1ccd9d4f5787390ac2c4dd2cf4747599ece9c702e862e7d88fb098a94c61c35be341fa875c8471b71e06d4242cd35b267e280246daacd1535747d061e4e0ae2df65e6e04d90a4f6f5679bc08a803dde971e964a5e195fafabd2367185ae25301da6667e1ad9735138d31eb91bd14ed24d23cccb72fd1a73b0816f93de04644af0a2e1db131bdac4729112a83e9479920d742b80caee1f2ca3893ce85676c5 - -COUNT=34 -L = 1600 -KI = dcde2d44d27271b819198698cb448d0c2c4dedd9f1f724fc -FixedInputDataByteLen = 51 -FixedInputData = d06c1e1b8a7a180d6b6d750ae33fe2cc54996e6c98da2d6ec74f63549775001975e7f99a401286262d3ca883141f3552b26f65 -KO = 381dc562ced1e3fb0db2167fa20a259310c88cab99a23c884cd70e0ed23776ca0d7f9030870affa09c042cda3c99c5956d355cf1bcb548e7970d0de7db3e090b832153834038f2726d11aa436a5a4b1e68223dc40d0a892c282623f3bc7e8c0bb5de2ed4c870d0867088dba6dd13484c80ca4d94bb1e63625d73dfb8b86ed5b09623e4893585374562a6791464f7058b583b6f91dc049bf01d184df200135dc9a5065a2d70830f246c3e027b4911be5dd1487fab45cb5b7942ec70567caa4f23bbcbb641d9aefde8 - -COUNT=35 -L = 1600 -KI = 9d91e4b78b18ed0d59b2db0a3e0ba97284d03d0aa48393fc -FixedInputDataByteLen = 51 -FixedInputData = 947c3e226b3e8c756cfe818a18057d39642f30d7af81e2d9325762f2552c419a500ecb2bdcb1688b0fe5e0781c252ed24bc1df -KO = 61febcd8e7899426746fe0d453f6c0e587b8f86abdfeff795d1a293750772ca33db1bef2977d787c83767fce732c7422011bb7fdaecd4672af69527721a88ec1927af45b734dda73e02a0079f0f64c6c54a9bcb27684bd55cda14d894d50b014af8fc29f3378cf16a226139515ad72908550a411d3b15638a608f75642853585b55918a0f029a3d75d4f2c3db88bd3ac73168d67af6ecb82c6ea17bf7175c4e846f64bbdf39a735e13bbd725a420d97c19df67ceaec58275be0d760e18329616f4dd34126278eee6 - -COUNT=36 -L = 1600 -KI = c033357025e137ef601c0e3919a78d74be2c7119aee35798 -FixedInputDataByteLen = 51 -FixedInputData = edbc0d9708bc6625319086368466afe2968c5ffa941afb0464e0e123ff80fbdcf21f79ff207f996a449f1cef0dc0e6a7f9a800 -KO = a75bbb187519dac380aafada86ee8b65b2b07a284f51b6cb3fa982a7e620b5ed56a3fc0f8be28d0ffac5c61aa08cfeb3c1939be8ee4b477b7a4e7bf9b979f079b519a8c9da4abccf8333f4a6eeb1cb4d75b628e6975fec7b3ecbc3b449f6fd8901f272c665b9f97e72c52a28bf9fbb8a4a92476d60ef6c8a2af2e91b9e71b49e6e5889478663abb03d18ff958764185c80e234b4e33858dffb12bc26c8ef05eced88437b7bdd0b4cc32047930acfe49c74171c13431ead1001eba5f61461fb6f9113fb9da45f17a4 - -COUNT=37 -L = 1600 -KI = 8838c78a58abf1bf95db05810cfdb41f7761e2b535e0ab62 -FixedInputDataByteLen = 51 -FixedInputData = abaf38fddc8793718386cb75a38cf3043737394764b2c6ef5c9dffe9eb4502caf3329539523c449482ddcb613505ff05278812 -KO = 8101f49d8809911868b6989e8a5b9fca3c5936db746c799081235b658a9d0dad06fcda86ec30477ccf99a3417c4b0824dae0bbe96e202ccb0e7212dbf162fe2b27699980fbd0c3b96c5f9ec618dbd284fe57583031082173b79cde6f73a1b97efd26d49a20681d732b19553d6708f346e969f14115606a1372808c2e4a1d97d6c9ee169644ac14204ce80e9a6497b1cee5d25b5b1558f4a447ddd1a494df36d66363cea03092bafac898e1dd3cd508e1e86e3ab33c21e8d46d9ed799d3d914a81086a41db8892189 - -COUNT=38 -L = 1600 -KI = 8d6e72209bba0dc5fca4b7505bf74aa4e6bd085ad24c3c68 -FixedInputDataByteLen = 51 -FixedInputData = 7b95ab1fa9dc5d470d77f62fbdaf36df806e970844f6796cbf6c7d13a78972d62c06211e98ad3845147554b88f75352572e653 -KO = 838185832a5970a3354bbdae8201c4820867575a29b185b4f92a4561e9b46f18f725ff21af2a6baac39c6696c6ab923dd50760e866a44f3a78de2b6ad2b7d3fb75ff50f7d4545aea904f3e0c7e4a4c1b1f5ce68c1b790d7dfd71f413d9efb2be0e199d680fb843437e45b1c2dcbb5ac8bdd1899c3dcd88e97366bf961914e76e3cd3389b9779e42e778072f0dd2f4b8ee3a97e1fec02648d5444a9cf3cd637af223686566c07f598f9d6f2a22bd615870b3a99ea36b1d04a6b4384e1fb903c0b9cf416d0da00e102 - -COUNT=39 -L = 1600 -KI = a9c3357937d03a0544edbbe49de8603a1173882d5fe0f727 -FixedInputDataByteLen = 51 -FixedInputData = 93ebde63faa886ab369a091a8270a40eee22b9f2a33f352536214fb6c57922f5be376986d3a6856d7d32aa98585c35caac114e -KO = a2f4e69223cdd45bdf2de7b128b6f68274d10c4decb8a1d723e9d8919ae68f868da239bfbba0d13f8d87ba61e3cc6d6db5749fea45f4b788a474655272f25cd75ba810b729a29d0e55c0f7d0ac72afcf6aeaf7a2f5635cd2b230b52ec2ec85af512c87e617443e587d0d327e8b347663e2b6964a8a78d377a038f08eb458323fe977edddb0b89813777b817850ff59694bc970f7d1c461510ac8f1e18f09a6d6e718a03817631c0e86d128f199df0167a03fe8f3abcd3029bab0c08c57e45c3c742b11c2ec317536 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5cd9de21af6c0c9aca940d3eb9b73d3d238624432373eb47 -FixedInputDataByteLen = 51 -FixedInputData = e55d49ca59645f3faf32c5f0ff10d9fb9f0d9eb98e1b95a691d6ec5676bb87c1c72bd474ed0f45b904ace2ceb86de63f0cce8e -KO = df91b136c459d59083d92877c08550f4f6347a9edef897f954c64518170d16654fc971fa045e4ea14add771ab4b879e1cb5e1ac744148bf7d82abc2a5cf52a2d - -COUNT=1 -L = 512 -KI = a653ad8d101cb7a515bc5a48c2a00961982acf74107537ba -FixedInputDataByteLen = 51 -FixedInputData = 2c888c78f7511654714ea7048729e819d9833863a72bdbe82d90a0c177a6e602e3bbcb171a87e72a202b5bc15ca312a6973632 -KO = 559acada6d565375f50c19fc6e6658acf2f72ea9f855ed3ec7abaef629cb7c8ebd2d0ce7724521547ffad83b535851cb80aaadd56993ad228f1c4a22ccd7faa7 - -COUNT=2 -L = 512 -KI = 63e069a38494f012e22253c3359cff670ad96664eaad1a7e -FixedInputDataByteLen = 51 -FixedInputData = 17921e50db90d626726c062a398e7bb999a980c165cce752f31cfa4a42255ff1c7e501c1e2f8956cfb98146f33e38714e98e74 -KO = a3118f907851ba2e3a2629e56a5cc08a08c025bb6a57e0ddc867ee7c1dc112b2c134f1f6b54d45aa596a8dc0dea8c163eb3f7ddcc722abb0afc64cde8d9d6f41 - -COUNT=3 -L = 512 -KI = 635a5bb93b8847ba01d04981d26250aa9f9603148db4f510 -FixedInputDataByteLen = 51 -FixedInputData = 8d274481d634788a38f1366af932807d347be2583959782128ee4888249366199fcad2fbf387ae819ba9401a7550b626284808 -KO = a736773943348eb6008eb68440a0154205ae8a7cb86867c7c3b32d0a9f1198c10b43715b78aa68b69567fa47bf560cc48dbff5da5f20e944b489295d7dc5ad77 - -COUNT=4 -L = 512 -KI = c9f6271476369c7111321dfb3b3aaf756035f7cce4f96608 -FixedInputDataByteLen = 51 -FixedInputData = 546d28942ef12c395ba946629475eeffa6aaa71b47784400a47b2a930df576798e38220cde256bb696d7c9d3e4d864380e6fd4 -KO = dc914986e837fda7acda1e2856f3717339b3cd626c75a920f6b2df33ce836138e3025d4e0a29aee4e452979da3f1b414018ab13b3a53175a69a07e02f0627dea - -COUNT=5 -L = 512 -KI = 989e328cf75015615f1c317fcddbd1ef28e77d0799166443 -FixedInputDataByteLen = 51 -FixedInputData = 8428a5029c362758f1b3ac44b3a5ad4e4bd54adb1c801cb17c6d4a1ecf1e86d6c5487980c542446037accbe78df489c54ffa4a -KO = ef8454cb4a2422b1d32a5d5f7351f0c0bbd8cf08d77f8f5be7956b4ccc5eeb5d172d0a35ba19fc32ec2ac5c0a5972856e7ca151b3445b093fb5704594318c4a0 - -COUNT=6 -L = 512 -KI = 93a97bc4d6df158cdc2a6957a030f3d21773444c3ca7c9db -FixedInputDataByteLen = 51 -FixedInputData = 23eedebf9029e8843086e4fd90af8a409b5f28429a3f9ea79b0b75606c42cbce343a522f26d99d3065bbbb74094b6f7e32f04a -KO = 1a254fac981aa031dcb2dc6bd82fe80787346467be98def4af4241288a24f8f5b8b977acf776045468e714684462f26bf00b0133628d276c691ce1c82665dec4 - -COUNT=7 -L = 512 -KI = 3d630d63c45bba7cc996f7206cd0239a223c56e05fc5c873 -FixedInputDataByteLen = 51 -FixedInputData = 64d110b25a691fec4a14efdb422a9c9d6b96cd50a82a35574030beb3c3893d2d2a41027e8f01f83b90ca23e43579f6ecac9d50 -KO = 5f8c656ad874ce952633463802a0bb2a2b6a4bda3b715e8b379108a95d53aea5a4ee113e3cfed8b5af7d2d86fec1ce993d8ce0eb236dd2700e0035753b7a447c - -COUNT=8 -L = 512 -KI = efabd0c3375cd7549015456b24f949e79deb1b1333417fc0 -FixedInputDataByteLen = 51 -FixedInputData = 9e0abe7125b355e7ed6e55d382241aaa95ebcbeaf80f1ae33c7fe5cc714cb0555d15f104928e4a14de09782a285614339c0ba7 -KO = 053d37f9021a83cc1a12a180a4506960ecb22b59c3960c931dc92ca3e2b5997e31479da4b5d6763fdc67c8f56fd19d54db98085598ce0dcbe13283f4bc6a2691 - -COUNT=9 -L = 512 -KI = 07cf9e175f143a20890fb2aaacab6fbbb809415de6dee622 -FixedInputDataByteLen = 51 -FixedInputData = c04cb929d25eefebf9f17305436136fa047d231d23d4f31cb30e50eb0a415bb910d86b20f56b07938bebb6b095f00e5266b98a -KO = 7ac02305c69a2efb071db889a82cf8bfe167c49fbcd74d4549f43cd47018ae9a064159eb7d7b4146efec1615113bc87eacce399fbdf893f441a9fcc27a3dc642 - -COUNT=10 -L = 2048 -KI = 793196f2a77a1aa6bf589b04a52dffeee6508c0027000439 -FixedInputDataByteLen = 51 -FixedInputData = c8df66eeed95d90a91af29682bc7978cf9b8aa6903f6b30c386de83b61d1cfc90bc61b4bd587464970242705a782bfecbfe6ab -KO = 34c1a4beedbc5f5187fa476616deeb9300a5005db2708e01b00bf756361ea5fddf11025a77e23fabbf768bc55043e9519d00640b06e0cacf3e4d9fd6aeaba49aa226bf7ac87b4e37906413b8c0c75264699440f24843d1a09f34843189e7da045231dc8256bf9c55760268ebde2b0755cb8921038442a6dcdaed3515bc57025d81750a558592b7ca21a736418e2ef68e1591fa57b6d0a5e6750a63e2f75ddd1fe4db65e62ddc66065170dd94845537f83bd6ad9dc45bc0e19dcee703122c48c1d0417663cefc3fbcc49233075b2f4bec9bdffbdae9e1a9dd478f53b0c674886fdfd7ea4babe698b3d250524e77df4f7d5ddf80514988aca64435729dce64e74f - -COUNT=11 -L = 2048 -KI = b01df47d25814bc0f8013d1318927f67a0440ed7a4a468cc -FixedInputDataByteLen = 51 -FixedInputData = 24cd399051b3eba5eeb9dc7881b0053668f716a7c752e4c006f0df42d91d70cba9b8000727ac0dad3fda05090c924532d58aac -KO = a813aa68414c961396f15c0870a740d6149e862241d7a3221316122147f77087ea4e4982df92e0e759a2b6b95fe5b1149b05638713ae22fe3546585cc80bba923cf85c0e5dfb5667bcbcc4d55697821c261ec919982545c20774942a8f3b02deb8acfa562694dd5faef4a7ced3a87bc245e9e1c7549195442d5931d3abcd279a0f7eba5ebe7ebf3ef9e06867c378a8d9d65e9ff94fbdc8d6cdbc7ed8e57d486f22c99ed87e9a504e814bd1ec2e45366b613bdf78f8ca170eebf7ef6e86814374b619b9c14774e63012e10dc76f18f6830487b825e60ff2f93b633e02c4387d631b9b88fb1b3d71f61cd01ff3603cd79b0d42cdd4d6bd98043bf82e8069ee70de - -COUNT=12 -L = 2048 -KI = b4aa65562c8e00d129412b74a84465587cc60ac99c1e071b -FixedInputDataByteLen = 51 -FixedInputData = 8b93a39b5d1af44ddb73d55ede31fc58ae05aa094332b97ac14d5d420f3690f5d28ab106c0f09976eff6655c984dfabb510652 -KO = c1fe054faadb59943bdbaf483528ccf717e001df33ce0c7f23da9418795be065ec0e92426752a2e71a8610d4807e8a2c9de841192bc92e800023b93fc7504603f1bd5bd2dfdf88eb494c46cc3f025fe1743781ec6326278d59258e8c8e96264faffe1871b18f34dde0c75baa6380a49262c69270bbd801beb7a1d99e7eaa6380d9dff431f7ee0a5436741bbe21281ed5c47c8dec419ee23fc792c9a8c77f2cf3134c150a23d8ef2c85b6e6c3d074df7345cf1dcd65c9ddc0e66095ffac302a9dfcdd06fbf37aac8a8f69536d2fcc60dd387831012e23f2d92342beef69372966b8bd7d83753d56fe93ef97c63e39238c470f6d1f6c34247d81297608ed9aa381 - -COUNT=13 -L = 2048 -KI = f508e3f086af594495c1c609e5bf6f9b90ab531cc2d57ec8 -FixedInputDataByteLen = 51 -FixedInputData = f1529183a9d2536ad433eea0dd47027ff846d1ce39ed3b6987189b0105ba6e973da22e1066efbf6edfaf2c556b2c98d2b590b3 -KO = a907c79db4ea4d17015e991ae3005256ace13273c22635dfdbe15405d58642b4262a6678275a6522e374be52116fc4d6eac7d3636e59f9357a7d202f494184e9d9f9ded92d5367dcc0c0ef87ae8768e802d07d540722f3e55592ebe87badbf4c1fad1c4734819829406e27a64cb9c52f9a19657457a3eca476f676c1a00273e7f7316f3f469155fb73dba442c5e8f63c1e92a93d6d12327243dd1c5260c68a246e961e716526eb5ca25fe74d791924c647cf5a7b7b4481662ece6c4defb31388e935de8b3be42228d961dc2e863ed89ed80e19bdf759041bba5abb10c77f2766ed98d4185d9d1de98653e514d372a37a203875163dae8a5b82f6a19dc127bcbe - -COUNT=14 -L = 2048 -KI = 2b90f1c81f0f02156b7eb8d80d39718e39f5f810a3d88ae7 -FixedInputDataByteLen = 51 -FixedInputData = 22259ef7dcc25669a89ac4bdc285f2485a39b8f80063816dbd7c62f1a69b7b497db0286b8d16ae7e7f549710801d7f60a4a1ea -KO = 2405716350df6a1474a7765043ad094590d8b5a0dd68e78b64f02f55733a63ff2df328bb36b3ae8431e652ca04a8e812ca7baf76f49bc05bb5ba24b99ed40db7956b5ff7aae505037ae9ab2fa63588ba1890da33712c15d43c7195df4042028f00c27e6dbbf90c9dc7d091decfeabfce1c686f1e8a0c302a3980ff23b68555979ea01192752aedff9be9d670f8f2a5ee78e3108f5ded653cd0b3e7cf284be16f69110c6e0f9c1d5a125f11cb5af6ba53043c0e87471a79988c9b415e1f7816f6934d89c52775e375e8c766e953792b261e9f844d8602718191422a08b85b0dff0a0c24c8b0c4baa7f103ce1c1fee02ae8b03aa4945b86b8af827437b5f8d5d48 - -COUNT=15 -L = 2048 -KI = 5821fbc5984e94fb9732b5ff0b27a6e6003f898bcf428c3a -FixedInputDataByteLen = 51 -FixedInputData = 277488268d54606555b487488dd5269db260d48a8cf9e458095ea617cc60c84b094c312d65e58983b317edc0540dcfc517d408 -KO = d8b9735f111d8f8541e1e3e90b3f1e999fcdaf68e990f643669618932371ea9af65bc1c102dd004e25a3b34f516b60e740515b2d44c35b000d27e45e48480b382a2ab17ad2b8d1dc217f1fff3dc22e9c428a4e079104887d7698436a1cee9128fd3826b22e0e39c7a30582882eb085dc595e84bf7d1635cbcab18a04bdc3069cf5885149b339fd14ffb0b90b98196f96e825124d2a2b575e36f4f0a21cb0c2ad6f178f7ee4fbc658b2dce2093122a9facbd8f0d0c21f568b535a561c9ddf33549bde58805d585ee6a693cdf96e9266f360aa59cb47a8287599fc939bd7833bb90770fbc01b1a1445ecfd099d3c6ac64467509a82230fe99686e38693753607de - -COUNT=16 -L = 2048 -KI = 248aee2dc62c3aa71f4c37b3f7e68e156db697ecce0c8939 -FixedInputDataByteLen = 51 -FixedInputData = c860ea991114a0ea626044219d0e6c2463c0996f49a665c25c5546a655ead6199dc24d8f5f3b0f4c17dd6b8696e331e51d08f0 -KO = f79cfefaaa4ab5cd600bf80f01cb88d7eea26bcb8307761c286e6689fa97eb6faeefac053fb529159214fb244b2baa460d414001648b5f1ec209031e8f0c391a51cfa24bcfba16efecbc0a6101e34be3eab0230019ee46a90629f5d341a23bef8a0302eed65f208705cf7473ba6bef1c7142d737c8d24d54e820d94c6610513c17181dd860d317b11e52aeb8121feebb111024dac0b2cd69ec53ef7e861ef079eb79e5b532ff55cf1879565a9ddb1497ee4f18ff338c26b4134c2535c919d854043428f2821a08a341efc697fa0fa46932cdad9fa98362e9f5b722d4858ee18eb0cb5df42163ee7e42eac3dbd88451b2c799ac135a13d5b8aae8776f8f7bdbb4 - -COUNT=17 -L = 2048 -KI = 002d27fb2c95695871e042d0bb10c12a8e6bf7cf2edee798 -FixedInputDataByteLen = 51 -FixedInputData = 84da0c1f27087002a15ec36448ff24f4e4e33d7dfe48c7d488322c5aeb9cce0ed4bfa0dd9ea98b27b78dfac09f636920f9a52d -KO = f673a5ba4f9c83f61393a5d01beaf2fefe16244c311d322831c716a91789f166fa3c3932053ca069971ea646acb22bdfce6d60f27f46ee095ca1a7ee0929f892b55e944046550cf90c46537a45e1a84fe903334104de3052a8d1f62926d0615da47df5ae171e09c2444dd76bcdd579ac2e6fa9a46c67f7f3bb2ba4c457a0a6a7d0f28a33cff6af6c0ce0ac0ce77a219074ed3b50bdb388ad35dcc373bb10015f24c45fb1b3e9f7ff321bb8be4c5884b9dbe362f71d970d1b2716b6845e1ef480285f4bdae8c36b53fd0946ae6a567d6bd7267a0077c3f98ab4b4e932638da91ec484b475a88e290d35be20561dcbd6dc28d469c19a17d9ea35d8706546cb7e0e - -COUNT=18 -L = 2048 -KI = 08ad4c30182b896d2c953acc5700f15c0b3d6ac95449d039 -FixedInputDataByteLen = 51 -FixedInputData = f4f2f531803f48e1a76e36dc2e7ee62027e69f688ee88855af6a70f79fa05702048d0158865353b2f0cc1ca23ece5a9e439e3a -KO = 3871208d387043d8cbe505392905ca3a7db58bd924f106375cb2ade4b7bdaa788b02daed321a985141e5bdd5229daca0367d6efecd19215ab1271a1061ff7b6708830294409e6ed1ae0d021bf7b18f2db5178ee36087a140d37980916989b1a132f7aa4f60d19a2b154f20b1597c42b48c671ec107c3bf27fc9578e5bea91fbd8d3a69fc6d45b82d9586537814ef01c817e602a49fb1569c6579029f448d4708d04937608194e4cbe802fc0d5bef0ebd7e04a2c3aa4aad832d7f2e6da4cc1e5717f12125eed064ce46d98cd727cbe08e22f0260b35ba94a2e0805c58b4ef1cd6c950353fb9f59c1f485222e1acbe481e3740d1c1e034eeed5d58d5594e66f48a - -COUNT=19 -L = 2048 -KI = 21a75eac510d4c06ee59149df6d8ffe3c9fecf3536fc4486 -FixedInputDataByteLen = 51 -FixedInputData = bffe6b816f705ef337992218ded482c908c1679b4c83edc373565e846435f8b64e405dadfdc2c52d14d69a4f95e307a7a095b0 -KO = 374ded19dc7d30acd37fb99429efa58225d677d8d1917092747f0bb296ad14b2ccad8472824c1294512bf415b9ac7d6d7fde4773f4181a732a94492db87d112349324bcb20499c345fffce0c5f06e2b02f9d8d8b97951a442dfb9ac7bc6abf542e094ec44ad9e98bd1eb98a52709c5ec23874eab2eda7b9d4ea4107b0c2eab345391c9eb558cdd3a640ddc556d61392ced429da5b1dff555a9ddaf3ea0cf8b49716efee01044200b43952acfb64a8a472387a88e4e37d60d50b6c9198800e9fc0849c7a371a1ee581b8b11abb69f05492a94150ff2e94498064deac0a22ad55291513229ac1c1f46b4cba4bcc8eb0ffde0f5b78cf1afc97ab062ad1af8258fe0 - -COUNT=20 -L = 560 -KI = 3ebd990ee3edff0b537d122592ad3b9032a2855c24bec3db -FixedInputDataByteLen = 51 -FixedInputData = 24f23db2885b405756fb2e2a1d8476ba11e58569fffcb012270194ff5a113df68c4229b0b14acf6bc94c7a60370b6644720442 -KO = f388c574313e69774900068fcc4a807e101c07e9fffc56e5ba8bef0d6f9eee0ee7e991dd7d39fe058815de610c092aff9d20adafc3e829b5c70885e00c7efc5cc63875b27e1e - -COUNT=21 -L = 560 -KI = 8a964184ac56a6ffe735a38ec2b65b90cd9151c1ab1558f3 -FixedInputDataByteLen = 51 -FixedInputData = 890279655439b68eb9b0e93fe2bfb54518bb1cdb069a0108447b91ecedc99dd84afb02be8d0618b157f71d7628356cb3601493 -KO = 125b2e46895f18897bbd0b0e3506d9d1d181a448a8b5208a2b9f3816b7b60da05de01413a6dd3870bc275134080dbc04676dd9bb2be767dd5643cac162fd90ab8a8dbd1c90d2 - -COUNT=22 -L = 560 -KI = e05a005f2396473334f6e058c51436d192f34016fd5d638b -FixedInputDataByteLen = 51 -FixedInputData = 7f0fec89c85f27a34ba0133b256a41273c3bf078f3308983f2482a73327b795e6c15dbc9f19cab03a2430472799da675a1cf6a -KO = d151282da9dd32a9099d3ab1a51037dd1ef55e42550fba1eeac6da0c1830318a45901642d95b06bcaa976eb2a2793f3b505e31d264a1dc9d284e8bcda53ab6ed0b9e96a5f8a3 - -COUNT=23 -L = 560 -KI = 705de5afc16a54eb0e70c565c584e18de96bca3db1249ce1 -FixedInputDataByteLen = 51 -FixedInputData = abf50c52e531ce87087975b0d26d1e71dac207f224cc5863615badf1a5bedc4b7199151554fcee05d2ce5d8963b30ce810d042 -KO = c8ec06c4f1395a2e6bf9e5c8c552f91c15d8cc23ff2fc0be1dffedec0fb42a1b12a686fbb2627cfd29ad2fa7ab0b239eed399e53bd649552bcfe3b48ca2163eb827163f5da14 - -COUNT=24 -L = 560 -KI = be982397372d0112bfc91eddec4bc1dd6df64318ba2a4f22 -FixedInputDataByteLen = 51 -FixedInputData = 05a6898864e4a9f22fd593e9fb97ac1d90d9fb4981af451f94771402e2855e28891c3bb4bb57d0926373ca0896d83ecd4a531d -KO = 4c88a923a9ee86ce7e3153c749a351df9fae7c5393a76d9f0f6f2ce1e98743c400f465a57dc8c781a6fee7e53c2ae53827fee33d1234bf2ca5fee1feae1c5865e6ff5c8016b9 - -COUNT=25 -L = 560 -KI = bdb58b75ffd7d1d2bd68c84cc83c44cdfb6a0352d2bc8851 -FixedInputDataByteLen = 51 -FixedInputData = 0a706a77edca81b647f887f9143307882e76487637f8f4d78cf768ae3a67abdf9cfda8f4b79d7db3b24a676ae35cb0b82d1679 -KO = f1a64693e55fd45258f5814716be393b674c9e0e0a787405548f8f25e277cc5cea06f1b6ac39e730a4a629991390016fd24900d26bdf72bd4a06f53c1fcf8cf3516aee833feb - -COUNT=26 -L = 560 -KI = 16177f0f2c17a270f5942d221503288d052ef0985490974e -FixedInputDataByteLen = 51 -FixedInputData = a916d39f0fed0c9b45c86251cd000865f696dd73c52b1639908564b0b3ba8cde1694a0b524a462c906b7483225c4abfaded5b7 -KO = 9a80e6728c5b4adbf939643aa790ed4b5ce090864bc3e902e9c449e5d2f1bcc48e5bee572306c0246a6599c80fb4c659f22aaf05d3d01bb23e179a90e1a4fe79ff3f3e1c1c8c - -COUNT=27 -L = 560 -KI = 685aa0ad8c5545f3eaf6208e4f666510398fb42cbf1efa53 -FixedInputDataByteLen = 51 -FixedInputData = 569c6f6b1b0fe497f20b1026575d35331adcd5a6cd388562145c9a0c66921e2a30579a39b610c5d5dde989b667433eb020166c -KO = de8ea893f696e550f8e6cd6781f4d906f4c165a29510680e060c7d23ed12877cbf7abd26b7697ffe4da6cdd0c15213e7f34caaafa7e623da7c0967a6a94779e5478a84cf1553 - -COUNT=28 -L = 560 -KI = 9e8dbd25ee26b3e2af9c12436f1297236e79f76f704a72bf -FixedInputDataByteLen = 51 -FixedInputData = 2c8f8e7bd01df1ae2c03547b1a56cc1d5491e01ed2693f7f27d7a95864694f078d1fc9edec9e03233ab868f1d9bcae4560b217 -KO = ad6176532a3b872f445a38b656aa89cd9bde066c8302574bad4fe42c933ad384a56dcaf72092d8da4d4439be8596146d1aac000675b4050259a0da4117b86801ef8aac52a531 - -COUNT=29 -L = 560 -KI = f812784bbd98503a8e791ffa3da0f3297aae7fdd18ef17ac -FixedInputDataByteLen = 51 -FixedInputData = 34748e9f0ccf042ce93b5362d2aa807bd21d2faa9c74c1d4a6dc634c9c5e31be0a6ef6dd5c9f79100ba27666075165e1a8a963 -KO = c560bfb8a4afc9f97811cdf4aedcf6eaeab5d8a72058a80d0763746945d64d74b24dbb8c9dc0ae43e81cbfa630c71356b4fa5db324fb6b21d424c53d47156d754e7a3e3c9e4c - -COUNT=30 -L = 1600 -KI = 254db2e11f53183e06950ccd446ca9dc9837af446907e459 -FixedInputDataByteLen = 51 -FixedInputData = 90143e35ccf0bec2a287b517045af1482ad249a7b170e95fcb729e5f03e6eca7ac660a143645024c0c44ac2f1c40af6a5eb81f -KO = 13be9d8e35b42f8e89102c4f4a026ca6b1a7244767ea4ffe11b45bafedd5d84cda7e1de655240708961e0e29856bf80955e73cfdc4c1e3829358729ad46ae7c305c8176c929f0fea8e568ebed392c5fe9aa8e93eec3edfff7bdd12775386696e1125990e78992823edd0b4185d4ee0c376b7a87541a2dc6dc82ac9008ba964c54b8f1d43e3a0c7fe4e3813762332988c3b3e454afa6f285b2167be17cb33218adc429395cfae0a0a5db0d110db1e746893102b3a84891820293868361398a4db262fd71844f6b8d4 - -COUNT=31 -L = 1600 -KI = 47d620b957c60520688908efddf011943d120ce0ddce7283 -FixedInputDataByteLen = 51 -FixedInputData = df0b3386f512c6bf6b96c71406943d965689ac33e07719b67c3653a77a573ec3120e388ba35894b9677fcf4ddf30b2bfb86a0d -KO = 1d541dc2776d3a2b04b07fd25c4874b3a961db11dde1ba735d8487e9e7c58fb94d382a3e387f98e2000a70b8d20ec458f014ac1976443ca24b669a4982c89be35b9005da47267957992132e0e27f8d0c072ed53ce36f104cfe538ec19883e6768d2490efde2d239191115f11f0dbce08310372044a10583212bac8a0d5f129ecee17f9e810d2165725f3e83e436f9cd18ebd5074ecadca4c98492d4395f32efe73d99e790c4b95c3e51da3f73de879e791486b51a89ea2af11ca3f18e530a8781cf36d835f24d659 - -COUNT=32 -L = 1600 -KI = a8cb63b6d5e68b16251bfe2546d9fbb91e7bdec9de1f0563 -FixedInputDataByteLen = 51 -FixedInputData = 577c08a79501a57086fc14263b7d332aa8002fa8f02b06e1f7bb4b10a12bd78ba62da4fea1b2964e8287caa191652f378b5f43 -KO = f75024cbc8b6bb50ce5b0e1f1ed21ade3e4638d8a818f4c220b827080567986ddb8d03a99f5bd69d9187e10604230335d49125cf33a101695e329b1cfb0cb43b08be83174dba2454030422447fd46f19fec2aa2a9a1d10564129a0ea1fbf5c432bc13ebfc30c106fec6c94963db75a2cc4f7e8e6107338fa1223b9a019740ac0a660f5a4c30fc487f0e58483b6090e4c8b5e771a17a27c08f4b2ea800840e3e44ae7682ffa7c3aee5fd22e38b280a052b1239211b08c508b056711c77b3bb4dc6ad790ea072db462 - -COUNT=33 -L = 1600 -KI = 49428930f77331fde1b4738795ca8ab85006122350914d6b -FixedInputDataByteLen = 51 -FixedInputData = d4bfc322524dd6f6df5e25860a34bad0029956ce3d68a3c6cbd9959ecbf4b932420c6ea13d7c6fbad3d03f3b236442ccc3989c -KO = 907cd34fd9af540b592cf4be0320703972aeb4ae02f705474bf9a579047d5842c84af2e8c02ab71158d7deaa3d99afb1114e6ed27a5602bcdf53abfd854696f2ecf6639c5977ac04146c2dcc1700b379f90c93156bcc8e621b95eb412d02d35cbcd03861a5e495bf9ee248931134dfef8b1e533917faaa274fa7808e05df32256d25fbe41835dc1988734466224f153b7fea4c23292b4deb7a232dff1f1bdd8088144fc288bbda700ef2d993e23b4264dda2863b5792736589e550c31cf9040056a4448f216bcf62 - -COUNT=34 -L = 1600 -KI = ed613eb5ff9b378b6e8a450bfefee0ab0e41a3545fcc5cdd -FixedInputDataByteLen = 51 -FixedInputData = e097d6be71473d9a6a54403c364fec3f93bef4e11e73c36dd64dd9deece2ae29f9f18704ff02f26b937766c9efa1dee6085ad5 -KO = 05be1686e73577263bf6b63e2be14872a730d895ee68becfcb42b9d60752c31de870985b3ddc7c3dd36a023deaa467541981affb3539af76298ecede69578c5537e3ac74e60f6f935d89a7a00de52f6053e38b3656be6673250bb06abb32694c8994ddb349979c59eb8c5d0d9bcf410f4eb645d4aa738624e1887ef1518bcb299cef77c5bf556a31195177dde638f4b7d7562deac976c829818f55be49567b1c92d7321e67d01a90f9911aedea6b879eb8df59965285c7f15769a6498f7ea493f3938010eb772bcc - -COUNT=35 -L = 1600 -KI = 2fb401af80a3b31f673ea28a8f9355e084e38cd25bb0a24b -FixedInputDataByteLen = 51 -FixedInputData = 8348eab92d5297c85f8b8aec6bd2949357a85ae183b25b4ff61dd5e1713b778d6c8b20519fd6ef8c2c84457620a8322cb2ecc0 -KO = ed03300ba21ced51804b1a06fe2b90350c5d92b3d288712abc20641ec57b6bd0007df7ea96b5ad4e02a860c89d12ff8491b9a6d5f2476809ff50321f9b488210c3d8d7438a3ae292e4b061e62773a448b98cd581606f1feb8122ac2f7150678ef6ab32a1a2aae2305b3041ff0af8af6a2eadda858ddd3d21fc9d43a81065dab97a3910333bbdb28a0fc877667d8744d47606da762526ca8f0aac1c5cf7f701484a901381c189cb31e5d165908fdfae95cc7f7fa38a216852f045ee125f5608f2afaa0acecdf95544 - -COUNT=36 -L = 1600 -KI = 4b2a8ddc716621aec49e69164413e6e44ab14bd6f66a200e -FixedInputDataByteLen = 51 -FixedInputData = 95f52279dae421fdc58a91bf90b9f27e5ef8b23205882993e04e7fbfafe65729d6b752be5ad295afc8a7676411dc4ed583956e -KO = ffb67b46bb3a1186b01e7af4d02c0851d352feebdce260f75fdf4bf814ec26bdc8cd004128e6f722e2dd651be0d2cf55387955cc1deb5ecbe78dbcd1cd0d6c97b3c649ddb997fd680e911abda5cafdd16047490de9035dac794611bc31ee1e29bf4d533d11bf7fd36a9cfeefe2ca776ec5aa5355c271637305b5b73754368e5bae1633e0ed1e15f9c92c285debd7ae1004a9decfad629cc57d22fd357cd739eee9ded4718072e4fd2af7d903cec9f646c6b56135b7cd855ee144332863d03a22281445551340f896 - -COUNT=37 -L = 1600 -KI = c7dd5b6a5af348686650dbd3da5f35d1a5f3e76b89cb7716 -FixedInputDataByteLen = 51 -FixedInputData = 42ea4d571ddfcea83599ff6c2095c1d3aade864ccb69f22c246ca62b4457958a5ba7467cc1f32b9a73f63503d74b0ecd084baf -KO = 14e0e02bbd3d89a068cfd65c05210e2c280d7228bfa9db19cfb4ecca7e2a7da4ae7eeed04add7f26be84686abb32caefff8eea020d14171cb10f75d29fdd29480ee85df47fcf03e7f052b4c6a2658f6804f678290828b99b66b66dd7267b7a5f6dafe9a9bade92c157a81d90d166ad5335167848fa6d20afb3c49ae110ea6bfe0bb28e5763c709ae9f087a8e6b593be2aef5ed84ea99ead270ddd2c0d13bae957bdc78159385cf58414eb59313de8c55b5bae71b2ba38f65b9be0bc87294a712f1a0f30c897f4f3b - -COUNT=38 -L = 1600 -KI = 6a6802c3f551ae0d21512bb04b01e67805235f505fa1ed52 -FixedInputDataByteLen = 51 -FixedInputData = b096c4225cc740e5bbeb41761172234d5dfbbae89ce5e7725ee83654dcd1c2f9c68817a2eb5dded24020b32f664b8ce7c0112a -KO = 0fe3d6c8c164ee50b6a0aa2baa2da2f1b448123c3c5817c461d8832789da5cfdcca60ef607f5fe10eddc095f2498c7cd14535dc4f6759a7fe4c93572a87f75fa43819a7454e41eadc7952819bdac2a85067a619226b0328e4caba4c97f752b96f4a39b7b23553bca4b1e91a2bd3885a6a33a66909f524c5e3670ddb77bd59a75b235b6e55c170976dda2bcda0656fd620657f673beb545c6827794cc0e54c5adc1135d7a2334a873d5c4869dc144e935d5b648c7e68ec786d7e4e0040e2ed8be0a67a084f967381a - -COUNT=39 -L = 1600 -KI = 44330c76d4bc6d948d0638132c459a998928f5badd9370e8 -FixedInputDataByteLen = 51 -FixedInputData = c2e50cee32fc461009308f802a971d622fa444302ed22b77835f7805cdf6c0bd9445aa0df4627723d92e208778d528820047f6 -KO = 2451252500ba0e4b8a4c10e90baf8e4ee6d7d5f3b98e1595c170c18134addb180c184cebc13ed6aaaefe05963e48a2c7db4edea9181add85140c1fcee71cbd27a3426cd6a5a9a601b04bef04f0623ca51a26200817257bcd4d3eb3babd7b9ece4e252fd7124df779d340d8eb50049bcd9a65c1cad42f10b15387b8a34a89b05ab194c02d701f5f5a1ca320d9a651aca7d1a86de32175a34262f635d2e467ec61e8d307c964ed33c9f40c3fc2b16d30400debd05a2eec49be4b60ee8f49d4a53dd0434eed165cba7e - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 2fbf125c063932367df0c3c189cb891e3838b681b5c096a8 -FixedInputDataByteLen = 51 -FixedInputData = 9430fbcfb461a66143d86d0de2d76f4b81a8142a8267f8530ec8a182e359c1ce262f030670816fc2f0d371545a54df9627f491 -KO = 582dc3bd7612e77867ac6c67e00654c6f7a1b01879014fdbd799d37414ade299af7988735fed6794f1393f5cf3825f59bc923fc96d4b133b073cf1cd0c1dda49 - -COUNT=1 -L = 512 -KI = 710bf84f055d3a24bf41030b139bfaba1a09c3c354f288bb -FixedInputDataByteLen = 51 -FixedInputData = 31ccb19b6c85c65583c128e60e0e198d504eed6b844451de8ec3597fb2f918f9890eea2a47e7b01c1e7b5177e6284c9c7171f1 -KO = 15555295220214240e9999baebe7a06f19cc3cfa5e5e60e243a2a64af090f6daa898e7bcd29947042f254636dc0884e7ae712fbe47dee057b86ba5b5937aeb17 - -COUNT=2 -L = 512 -KI = ef22c1fb8c36b175d6a263b36ed7945b3b42af5361e00b5d -FixedInputDataByteLen = 51 -FixedInputData = ed60c96a75e915031352bc84b40af26477381b20a98c0aa16372a386c845575eea6cf36271311d3ae419d7a87d483666a77c65 -KO = 81212dbbe22271cb0c2af5aebd584dabeee358338bd9c84cb7a3e0335975aa7bc43f863027711855238d04679a04712269ffb6fa8fe97d2ac914036b4d30c2d6 - -COUNT=3 -L = 512 -KI = 8d344086a8e922a47b1c173f1c0fa5bfec2dbab3e36bfa66 -FixedInputDataByteLen = 51 -FixedInputData = de99ff48248d244abe28bf9be348080e62118d12b9550bfd89e85840981a6bf0d40fd46a966778ec8a591f04e7c02e2448d4e6 -KO = 29d57c3fe6b6bc21ead3713cbc5e6726cc2f92b38ba9773a44a91cd8dfbbf38e91fedf60019b502dd53445f6fabe232677118b5a75974ff9374fe04585ffcbfa - -COUNT=4 -L = 512 -KI = 8606ab92d02108e5dce0fa1d8530f4f032fb7830faeff3cc -FixedInputDataByteLen = 51 -FixedInputData = da73b618769fae77472dc8f9683f9bfa49df56388ffb5b5ed2ab3af14c3290cd7a52908e5d38203f8218970e9db806262e648b -KO = 250b78b0b43d81bfd9ff556d9a45b36ffe77521818bcadb4c315281f4caec8abd634315438dc1321cdc719328a948894178f9b5728f7cd694316ff87f6b6dd4b - -COUNT=5 -L = 512 -KI = 6033f5af9599fb3f4ee78aea3f907fbc1e37b1e8e71a6810 -FixedInputDataByteLen = 51 -FixedInputData = fcc6b323eb3a4b4d23419fc885ce2ec5429a0c612fc8c2fc48ab52b3ea13b574cd9f308ac3a69c8a0df76f2c7dfe880d1c63e2 -KO = 20ffed8a297386afab2037a1814f5d8821b61f496543f32c6b408948fa27efad2f9b0eec6c618f1554251faf8803405746d9e8c241a9ce63cd7f18a98c6058ad - -COUNT=6 -L = 512 -KI = a9007e3c40a03c11acff6847aec2be50fe40fbe89f21269d -FixedInputDataByteLen = 51 -FixedInputData = dcdac30ec1f132e97b92e183c6c6027c63077aa3ae21621924f0840be575dcf831014394704d2b1ac473bfd6190315b1167d5a -KO = e788b51e2a5292509a37d17c5527789c6e0e470ce9842d1bd13f788b2af776b934619faa3c412eb8a4926aef3fe8d3aba2c26dfc721e800335a1d4e2fcd20bd0 - -COUNT=7 -L = 512 -KI = 86dac961cd77737286aa21b62951a1299d32ccf405cd5e8b -FixedInputDataByteLen = 51 -FixedInputData = 6a61c081ea90856417af11a886a1a2aa556a7866f5fc1091d1628d9d09456bfedb250bf1b243fd94f014024a7bfd9171d4d1b0 -KO = 868ecd6942aea330ec632fc177a5134a0c463ead0ed34fabc29dd03940e188c1c6d3fb25762a4c28475c5838397b658a3e964273ee9cbf21447df562226463f1 - -COUNT=8 -L = 512 -KI = 0d2a5dbf67b09a1bba5a3e9d3fd012f797073c9c861ed37d -FixedInputDataByteLen = 51 -FixedInputData = bfbfdd8b4174349bf08acc24806d6d64aa62ba3de871ffb1a51f5bd7d62291e1925b0cfcdd6bed90d8a379abec12dcfbfe7ef2 -KO = cf281fc78ca55838f96f0a6c5f36d3724ba1c4bd4e81ed6397aaa8906c0c586c2d055d36ab2bcbe83e43b788000a16a750b55fcb2cb14190ed903acc1626b066 - -COUNT=9 -L = 512 -KI = c0d3f1cf4ed68180e76ffbbd5bf43b637335089a27dc8f85 -FixedInputDataByteLen = 51 -FixedInputData = cabd9e5b343b7f3b41306927ab988fcf067fae6d07547aa7457f4b67ccd4331d6045e8898d9197f6aee54d18ffbf8691dfdaa0 -KO = 4f1ed30673cc7d039e857a78b5a9c2ecc573781f9224cad5f9ed46d539883b34b187a4edea93f7ce894324b860457c038e56b7acf88e9d204dde0ae9874da985 - -COUNT=10 -L = 2048 -KI = ed4e36ee66b36b41dc7e1cf43ee2c432710baa07a4f4851f -FixedInputDataByteLen = 51 -FixedInputData = 1e8424a12957b8300bd98353f5316bde3bca3da2cf25125e6cdb70f86d2ba2ca911f1391230f548b471d2c2c1f2e6a466cd18f -KO = 1ed7f423c19844dfc937558e1aa2468e2e4ca011cc24ceaab8bef43201f964f280b4c6eb3b0cf8e4f4f8f7edba8d62af4d03c7c26572e416257f8e0f27f42558d46bbbca412fc234c4982c3cb4c05ac4b37f9af9338a488f2c06f1f8e50a4991eb61a742bb22ef30f77f9b33d4f6f1cb78da2dd8bb08cd1ffff2e66a5b0a594c0870780b51270a77d6d42dc81886de602be8058c679ab329d5556959996120e9b0bc917db968b987d4a9fa9b21ee68161499e23057dec1f3b7e8614c6df7edd25fa0e2526f074383b6bdbbad540e0b1501d08c0ba8ab08a80bcc40459cceb9df0da0ee81b031ab268f183a8579049043170183801f69c668e7b9b8a33eb52441 - -COUNT=11 -L = 2048 -KI = 66659f5183f628e63d644ea77d7674d282123a4f8e2da982 -FixedInputDataByteLen = 51 -FixedInputData = 281f1c708cfcc5c816f3f0723a0a2b98c0052559bc3b9a232ffe1c99e923d97d0efa6040a037734640c96e062060bf0efa59b6 -KO = 0d8f4848ac8e54b525e912b8ba88f631f97272364e752340e5b282c64a7c8dfacd9c2ec26b31d77312ac36165d258e3b33be0f0d35b28d0abe4372063f370913607977d96e01efea4f22f91895c848ad4708a80d096b15ac1cb87f40c51920c76ca1996e2435454f10b72772cc4e7bc055bee20006da62e91a2f5bb5062efd54c066a2fbb003d0fbfd05d9b49b85fcec7d213509d55b7ebf5d311f157567a35ce6dfcb14167ef5937153f6c08bbcb81fd1fd3b03d0e12365c62ba64e767154a24c30df9913dcd1c9cbbd4057842de73699615a4704c1208a0b724e445e90ff24d0abf94c6b9f21aeba2f996b53f79cc510529e6579c929847889724f416956b5 - -COUNT=12 -L = 2048 -KI = 46c0754667207398edd710ec6a57c634cd7587e4b1a97f23 -FixedInputDataByteLen = 51 -FixedInputData = 141d8b36674abbe4ea241d91810d147c2251717cfaf58206ad9e91314a882722f960566d6c21985e3e0844a0cba17ddeb7dc12 -KO = 5eed8899d1daa17af6f97cd764e1c4dffc0cc318fe7c7c770318771fa56f57bcce5b81c7f33f5bc3944c4ce86fd293274e3d7441838f1e2b89d7d9375014d279cc8408bd94d2c3916f99c4545799e01e7232dd4c82b57726e579bb2deaa9e4cec8fb18b2de177091cc8f1b140cb734915ad54a6abe54d814d78c6e7ec6ad56b2b7465b120babfaeec83e02a373c188e3093f98f7b159d5ba2a806eb14cc0fa6b777a001444a8a86b1790cd9f9c791c93d98329a299f168f41dd9eace72438d9de3ed4dcb22a9a39efbf2415f837c65419430657b8cfb69c6a5f10305fe96f57cb5018f4ade689400e3bcd36fa2f7bb549d4f5f03f57109ab01f3a958d3f05187 - -COUNT=13 -L = 2048 -KI = 6cebb5c8a8b3083c30540df21d50fc4a81b0f96e19c3084f -FixedInputDataByteLen = 51 -FixedInputData = 3fa4fa48c78243d441fc34cea01e397d8430f1a915af8326a9f9c3ffe3237fd1754b71f9c576f5e9a1ecb20df662ab0afd2c6b -KO = 34545508f10d2fcf2e660398d3ae2916f6f029960de0b8fcea56a820f76f4228033f885e0a17ce95ee326317012b6601b8ed88be870006c6306b72e36b52c061401501d6733a5486420bc6cc21cf6a498b5c3a0b365e45cc97c69de5afdb3b2ca899c5937eba6b3f1f5357837ec4287e35c4984921adda7139317607e5b688e091cb88cb8dd9ce37eea2d75eeb55e7ccfdd12da5e6993245b5e2d61633a88acf6d6e0e6de3a55786e7aa1c88b73d084213d1ac9407d69f606e29da8ada2f03eb2afba22a91611a56bd43a11a1393143aafa6db5ac8a73e79ed16dec2c288ebf33046a7e0c0adfc240c0b75e1d2cc740961109179f39f841e6db6284825de25a9 - -COUNT=14 -L = 2048 -KI = b3b6b49865e6d1feed7080b63674874af504851fae16857b -FixedInputDataByteLen = 51 -FixedInputData = c12068caaeac40c76bcf99a53266bfa2989ff7412d7b9522de5b24575c7a07ab56f0db55c8bff5e3a6ecea61bde8c77b4588cf -KO = f48cb3b6c78ccc5edac719a6c53cc9bf32adc170d7822fe7e2000fdab3576ea7acacd904ac70341d0fc8888d8b336f4accd284068c674285cc8464e6b50841062edf3a24f4b4aba02cd85806761aae6fbdf6a498f2bee6cc69108391f7fb74a995d13c5a5df8688cff182789232a9500e6d28594cc36687fe89009ba94fbda9c7370544d9294ad59d539421b3fbc9afa43cc185ee5b80f2a30b913504318de4f171ef9eb62996f074ef5591590ea07b17c1c2d4443495d5d3e1e8b3f7e370c42b61acd59e38d634215b0b447069c2bfd959da1820331f8f9c384a5a81dc3a1668367a7e03d796ac2ba1b7c6765572a8e800d35a34b33548d1938474da141d6e5 - -COUNT=15 -L = 2048 -KI = 59a71e05e3831af93a2f428ae7051cea458ee953cc08024a -FixedInputDataByteLen = 51 -FixedInputData = 77c7c74962290aec6d6a2b347ebe794f89153b8569e86e158aa7bb9b84f21c841b5a76bc8abc595dfec2902f878b2091f60fff -KO = 279623e8a1543951c46cd61dfb397c72e376fbb5c7477f092780f0807150dc9ffdd83d06bd74c602ec4cc0211f5e3e67bbcdfdd43ed06323d61aa5339d7822dbd4ac38ecb062e97f8f9e19c05baff9dfd33e3b68bcb1a5ca909da4cc85fcc25f8e46106793464dba952599573c44801f610a823b8d8b96230adf9b8fd16755dcb735e586bf238e8e5fb7579e14c9d1c7aa850e6a1ae74c252aa9bdbb75ecdb9e2ac3679e8bfbf1f494173bc40ce661867297e46a46d469fd05f7780fd04e6e996b1ce851ac04136b7f47cf7e830682abe5f898f95625830372280e413f842d1156aa5314aa37b0324f29f422228de07772d92830eb6474c566e2b95701e36d84 - -COUNT=16 -L = 2048 -KI = d542098e58936c88ee65f3229250ad41ade796bbf6e65cc5 -FixedInputDataByteLen = 51 -FixedInputData = f765d712393686976693604d91e2361e722662166402cc441eee8677d4692a2e9ed0502147664c17bde970cd6d4bde574a7bcd -KO = ebe1d64ccb8fa0e63b6fbcca50a244e17b444e5dc1873ed0ef9f27f893c7575779ba2ffc23721ce5bb5471c85d7ecba0c0ef8551d51bf528a4dc08c638b878403d8c4866f24937a9f885956f780153804a1c312bf9de0c73ff6135b3ae1e0c18817e59f18dd840527abc3b61359e899557a0bcc87f4282e973a934a31163e883aabe6736697766bacc4e7896e8edf8f26b16791fa4a44ba6829ccdf39246873101673570ba09b87fdfa18e73d1aedb498b2de5aae964866b77fdfcb8d06b874ad09b99f34634e17a3b8bbc0fa7e37cec5b92f1b39267340dc689be1aa30dbcc3a0981267d81724bb271d8a6705eb5bc69e1548eccac60e3a5a4e4b3c8561b635 - -COUNT=17 -L = 2048 -KI = d86faa4063abb9802e0284d6cd1ae6fbb2392d39efba097a -FixedInputDataByteLen = 51 -FixedInputData = c5978b8d8740addf939c63f11624335dd729deaa677156290c76218eaa3dc265835c165362663408ba4a79ed7c3bbbe0dd756d -KO = 3557c2ba1d63cf88839e92c2f9170642a72e439348998184ebb78557e37926055c1d4149dffd3df4db05ecb8072b046da32d0a4c4df09ce42f0cf371c015b8a237383eaf4a734faee4606031e93eea936743ea2eebf984f2519cbd3a91e047cb594f809f51d695993df3e5bfcfa90b81c0d128d5d3dccf664b52aa47005b8677762a9eb4165a79d683fb2dcf9b80eeab76e97c313d7ac98fe246fe739f18c04e1b07fbcfac58578ca08032598def61f2377aabdd1561d7f7734731d377e4d8f8bf3d102276eafcc381d424f81714316f1c29929a89693baa87299a3547bc60bc1e40c337135765f00d95c5f994b2ab949fc65d7e63e65543cf68fbc2f8f844d0 - -COUNT=18 -L = 2048 -KI = c010d22699987e6790894d0d39598e05bd972a50dcf8dfcd -FixedInputDataByteLen = 51 -FixedInputData = ef20bac315ae8e059b07ce75b14ea1a6b909adc281097a5e385f00530dfef96a086949ee2dc5507e55fe161b92c59030e2e2df -KO = 6ec0421947e989acf81ad4d1ba5b439a151999658651756145c60d13b747c7e3765442af883d8465f9129950cf5095fb62e5c82c404814fa073572daa4d39ec7a80aa3c075db0606184b31417e86e228dde3c42dc6fdb968afc79391795a402d90e7aadc754954bf1c6b5f79ab15acb3bb40a161d090680162f792c4c68b0b93ce632fbc928633771ae6a4792cc20e6ef2cae719f7b40ec0f5bf4cc9a35e7d1a505c638b037b2c074f012ada268797877c83e941aa7dabebe843debb59570b8efca2d56341958e5ebec1ac2c45a8aa8904ebde606d8d71180116c8ef0e2b31fa8b04ed697609ae02c8bc8c2f60db894ec2468c70c394618d499e765756b42535 - -COUNT=19 -L = 2048 -KI = 19d91e10c9b54191a0b337049a8cea3dbe32a1f90915928a -FixedInputDataByteLen = 51 -FixedInputData = 6958eacba5eb2745e8b5eb6f2e1ea9bf4589d574a5ea5b2e7c6b835866edcc984e32f73eacd907debb077ba87f82dc11c69665 -KO = 60ea2003270b3804c818f9b16ccec2d6b2aacce0162dcedd4c2fa27c47de48817305306daa8e15fada277fcb26fa8982619ae865b539b65cc96b344b10be2a65fffd435fe5a4f037127d643d231e901feffe6420e69f667ca8fc25141c8074675dc96631ad9e2bd952a34a37f0a1fecfca062ffa0a35f91d9f1633b0865bc1fd3fdb1bf98eaee81993bec57810aa7f6a31595a4e45e9f3a80bd932bb007558a47223f3730aa4a751dd34544180ddd72b904f8c965bb8ad79eaf2d7ff9b3cc4bf4b301b9a28c082729120566e6fa3aef7478e8e2c79e0f4ccd7ca06bd0b4535676f021f5690b3cb37dc9755090a9d7e561fd0b164eacaeaad8ce7ba8e32b7afe2 - -COUNT=20 -L = 560 -KI = 509cd4c4b33072e199d5704ee235546ada5a5ecd07f13c7d -FixedInputDataByteLen = 51 -FixedInputData = 9f9f3a959a02896e1cdaa4e8760dacfe7487bb534079d87b31198936df24532e1d48ed4d21e7a7ce25feb9dab25b34d82d429e -KO = c0a2d9b2eb6208bc88684f5e7b7fdaee4118b8b431d971500dbac447b18ca3447f13347dd69b3008d131554d73cb06345558f585fb8918829d155a20ba60ba153d978709f94e - -COUNT=21 -L = 560 -KI = 3a60d1cfcb6a60694a9d5d3d9253f105a369f0b0ada8cb62 -FixedInputDataByteLen = 51 -FixedInputData = 8b69622eb7823e04e42e1af1c8a9f72c43a6133182b03a0cb507d778d47e6e406ec21bcd370cf708122492c7b9833db7ac6cd9 -KO = 711f41de1f021fd1ba8d7101d567ec398ba5dfc449a3073435ecbfd4d11333985029a62c72da88b076f085e76b69398f6285b2d93ff316d039328ee9f6f7c1682f2766d21bc2 - -COUNT=22 -L = 560 -KI = dabb20395267bb2a890a5b182d7a0b382f95e41959abed3b -FixedInputDataByteLen = 51 -FixedInputData = 2029ba14b2ce0d5a270a2445548a0ab073ce9ff6e1b016c9faab0a43b6ba11cda452ff2ad14b31cfa98c55f8412831d7cb167b -KO = da5dc4e843b372b85df64f92ee52a6f2749b15cc4ef9a8fa35c1b850d810be0d34952763085857d618dd982f478f80fec60ee92678b26d06aa5f5a8956d635255eed5965c0ed - -COUNT=23 -L = 560 -KI = e051581d8abec1d52f719b21db736d0a3fe621e9fe2bee87 -FixedInputDataByteLen = 51 -FixedInputData = f093d6e6fe337a74e464a046b68c980317d7b0fa80b4dc71ab76353c968c58121f99ba92f07c2a032c675c413a443a910af772 -KO = a54be91957922e32628ef4b02c88e58a6dca196110de793b3d14438b7759d025f332959c31af1b252ee4527482551f447500c0bedaf3661012a34b2a9f5ca1db7180c6d45a19 - -COUNT=24 -L = 560 -KI = d47dbc90e6221eeb8df6c09e22530d78ecee636910b2d3e1 -FixedInputDataByteLen = 51 -FixedInputData = 6b85960199b8a2ee1a71253e93ddc7e5351481b228e8e0a8c1bf0a2924445c38bfef05d9cb843ab972ef3743023c7777279793 -KO = 3357121d6dd40375d5afdb5f6d3e959d7072bb3b8c1d1c8b7d99ac0716c700ffc07ed0c87689bb3d8ac6ae8a11834cb3cfa705ecfacf80c32b3fcf3be83f7a190dbeee234bfa - -COUNT=25 -L = 560 -KI = 4a3f4cda97f8a8ae85a6a830df6c4acd3d4544d90e7c7ee8 -FixedInputDataByteLen = 51 -FixedInputData = fd8c458357636a9f599f83d3aca28f3889aac0c0eccdb557acb0307cd4010dbc2c5af7e436ba1186a63748dd1946c1f0c8afc9 -KO = d09091f5da460e20f698392d235910ba11e07c0eebc6d976abe3d7b02486eac3d6fe3f77dac8e13b922a511378d8f52959e114d6b273354c365ad706eb79140446890d7930fd - -COUNT=26 -L = 560 -KI = 627a90628546f2cc63d0cfc5f984d076fced47af7c27dcf2 -FixedInputDataByteLen = 51 -FixedInputData = 8d467fb5f8307be39340dea05b0a0fa8ad3dc8899f919baab8f35373717eefdb9b8a054d070099b85cdba509fbd2d254ed2c4e -KO = 549c048063028319d3b4aea056fbfa275b25ceeb5078a46e8574d32fc7836b51498058fb25da68176592709f385fdce4d5d44cbdbf9916e494008fe923c135415746fcd26cad - -COUNT=27 -L = 560 -KI = 752c83367e873d1db29561965fbdb5b1c9d4ea01a7d93895 -FixedInputDataByteLen = 51 -FixedInputData = 8b857a29be7cbb1c2a8277cd6c87825f9506a3530f891f496cbcc62592f2c0975d2340d0e052819a7b1ea940d74c2c417ce936 -KO = 2f9fdd97d04e7e6c1ac21fb4a7e4009f94cb71d96208d8a1312196ff5163f96754b36615f5afd7e255669580a280a0ad7347693f8b874fb60509ac0c95b5df7ad41146906efc - -COUNT=28 -L = 560 -KI = 2842ee07dfb8961b4681b76540dabacb567555b9e1a680fe -FixedInputDataByteLen = 51 -FixedInputData = 32119408abbf0968f5381ed640a0f43f574853da0f5627e638cbc987c42c20598c5027297ea96138347afb644761295326136a -KO = 635bf91875af5f3fd5c450975e1038cc7e779704b8ecfd27c774757c18c77ab6ee937e1c2ce74161b73ce4e0be6dee729ce4c7f0068f9cd52c300be4e6b178f1da21ec9b6b6e - -COUNT=29 -L = 560 -KI = 40e210ead1f9e3c565070ba480f15f6770d9c7e1db77e4d2 -FixedInputDataByteLen = 51 -FixedInputData = 1fa63218f74588915d42a74d41bade01ad22598891cc5edb9420e80155ec4913e65b81a76dfa2fb021245d51098239f5375947 -KO = b34737af091fe833c55cf167536bcb3e5990a05ad2fda61adfbde1f4de87c5c7902174cb0899c265f879ac68c3760a1bfab5118758956f8e2ad163ceb39678df82eed7f29992 - -COUNT=30 -L = 1600 -KI = 0b7a9561d9ea55cf27044ad36f5ac65305e590883199a3b1 -FixedInputDataByteLen = 51 -FixedInputData = 19aa00a94290b09b22cb11416921e2674cd7fbdbd8d8a7c3ae0d3f4acf1bf780196aee3fb5412f6179b3829026cc472f88b794 -KO = d2348dc1ef24bc1730696301f161c8ed768c1ea892ccba5d37c4b598703fa321902eb2932145ce6de39e6c056c71465c0d2c4cbf6704a333ed0f270d10ae180f7a59ed199a6c52d4d9778756c420da68e7995aecfab2cb6fdeaf7e9bca76cd56a24c8e3364417190324f9df43a2d9f211250bcb43996b8434a9993ea5386342ebcf0fdf9dde23de3dac273fd0d80c8fe99f6e9683b25a914a0c1d672705a443806aecf14e69d168cbe7431ee783b93ffc9b87283f4c6a83825b0c00805dc157f936d478339a42e56 - -COUNT=31 -L = 1600 -KI = dffc0adf78205d9127f224d0529c87c10a2d84a79c8c3f4d -FixedInputDataByteLen = 51 -FixedInputData = 61aa19d8030b691ee675f59ee383a75362c36224089bbd3e3eb6eb0b4a5ea4f0a144885cf9d72636b929947834b27ccac6cec0 -KO = ba3c517f33b5a5a08a9dbd8a7421ca7518b7dd7f20aeb575abb424bd1413a12d75f366dd3634aeacdad0e94d24c871bb357c4beeadeba53090bbd40641b22232a477344b5d600114c6df3269301c147e897352d23a29924279855225795187d89ad08ca74d6e93af3afe9cddbcd5e03e4fa58e2a4a342e40847a6b5612fe61728bd669153658d02de31538be1bdb84f15a4cd4753760ecd9a846fc6028d91a40a0297b9a6b9292efce6cf306a05466858e7734b0eab540e024fe658d0c60ed297bb8e18540f3c0e1 - -COUNT=32 -L = 1600 -KI = c107500d712a1797dde383b8e7506f21a1eec402e564e4db -FixedInputDataByteLen = 51 -FixedInputData = 2f727103a23491e9f7ac1ab4cc3c26aaa92e00786aba42eccca0796fb7d51052938747935eaa5d7ef9537a760a4da6fceb51df -KO = c02adb3e35c5e877c275d4f9ea5486a3733e67d200835ec2360f704cdf2d6ea4feb5d6b8426422f2b190a1453e56d97f4d581c45ca9446923856daf749ed97ca282a32ed5aaadf9a102957663a2b0fb02d7e2327dfb514d598f11110421a9fa87ecaa7dc118249f75df54684b2ecf6248cfb1c372774165976d0e051daebeec379dcfdfcb2167cdd978c58f565fed2e395b0a74350f8ee67c4a8f44dda81f41f8048b82aa8cb23d9242caa42b2021749856c95e9be254306964b367c147cfaf24046033c1068a3d2 - -COUNT=33 -L = 1600 -KI = bc9ed3955cfb0839e7d826dc503cc13920842570999d14d8 -FixedInputDataByteLen = 51 -FixedInputData = 3786e4af6628cf5003061936810ec1e82e8b3fec724f02b908522d41f595680bc9110668c68fb0485e3f42b958e13f0cd899ee -KO = 52ec7bc7044ea2ed3ecf694aa0d70309e8ca621f75113545194c8ed8c0fcb8d298a47f25a420f395ce8672a23eebc69ee48c6ab261af1d0007257da4299136efc7065c34f52f892856f16e6d2f4f8f232eb9ab0d3159d922160c1c876503b602047b1523f8a4054e4f8c278dd3a80b39fa4c7770090cce7d71c0cad7559633f237cd6eea2bae45aba661d5af9db297f358e6ea55c3fd21e44c690bb4e65a9690e35baf9ead5e22c92a98e28f9fe1886d9928694dba6892fd04c226f6535eac769eae4d204af30bbb - -COUNT=34 -L = 1600 -KI = ffc847abf3a7130837f7abe57d01dcd6a4f97e7dec2140d4 -FixedInputDataByteLen = 51 -FixedInputData = ca78c8bcbf03063cd4cdbd96caad557a3655d7b11029bc62e0982ac961bc8418bb8124ac7cb1678606c7706a885d8b4408ad66 -KO = e135a53f9f32f711f9cab84e1d5f101673dbf0adfd902041e8b456e131242e9e3c41f40fa3df77ed8ed6bfd187235d35b50f5ba06ba1b05716a778ee2da9438dd27a360b767b1b87deca3e40d0c6f066ddbbb96879cb792e5d7753b26cfbe0384722f1bcdc864ba6523e5cfbd60c55e67d4df4cf676945aaa455a361c258c9544aca188bce5ced878d06572346138d1b828d9a35018f3a6140bcea764dd4ac198236ef9fc5ebd9e8199655767cafa04f70913868728b599c3ae8d6f2ae10c5e1670fc8d0e0741f03 - -COUNT=35 -L = 1600 -KI = d2965caa4fd642f4198aafb34c3c99da5138d974ca3630c5 -FixedInputDataByteLen = 51 -FixedInputData = 42c7d114b030cb5b038413c8fe4941ca52a51148ba7b303c085d70c94a7dca56c7451f2bb77b82a293b4feb5ef769b807ff807 -KO = 09e4ce82c1f4f808017ed715077956f43ed1a13ee5fca9421971f47553a72e1bfb74eb4b65fc97926601efc43c2774d9885f5cd4df08be650954db8258678d6f2f42b0d44c1f1cccc734ec17e7b763358e4df629e78eaf437b264b79f56088534bf256dc0d31074356aafd517cd13b198030e5702b8e4e5db15ad91d5e27d2bef9cb088b443ce67f7bec73ff6e5f0692fc093b7f535ef6561c2b2d930490afd212df1a7ae4319ffa46764db19861f027c459ac44c37e803e21c7f6e7c5a7c23c7fc0ffc79e0f537f - -COUNT=36 -L = 1600 -KI = 7c0a9463165c8b2931cc345fde069b8706461dc6fdd16af4 -FixedInputDataByteLen = 51 -FixedInputData = 51b6c858e8de190de50451a378f425342293f4269074babed1a9dcc2b1b5edbd2627e0b2a6a57f7ab532eb30bfdbf97ea7c864 -KO = f145ec81174f12219b1173334afdfe01919340c6f8f026e66dde1d180e2c110cb3b96075d8a3446f883616830e99b226ba958452cc883f90d421b1562de543e764a149f9ad863d6218bfab44ee924ed84322bbaf943bdf89ffd232b1ab620a1f32146ac5583065816adaf0b43e7333cea1e02d8a3217b7991400ab336d86efd81090646ac9e92cfe90664e50cd76e44b7c5f1bbe90857966fa1864c866ee5df27411ddcc9b892f3bb3afff21840133f97a50cd377d670ea8ce4ca68e260d0a6bac393d93fd845656 - -COUNT=37 -L = 1600 -KI = 9113fa882a8e30fa036f269c8b5e0ff47b757b669c31ff66 -FixedInputDataByteLen = 51 -FixedInputData = e66ed1e2d5487dbf2c72302d3f107181b18684094bc8177fb793bc8373ea0623f6e29c03eb1f7d36162426003759fab3c421de -KO = c37320f23dc5aad78406c5188d79f2052198cb719aeeddb966ffbd4d1a9c89ddefa78b45db251e8b5a8e7eb3a9cdbb564cc1591ff4f3230fb9df637ee650b62ccf69cf9de1843a9d31f847f7d7f1f938acedf23e21b06aa07ba1d52445a9224f6d103d78bafe4d9f39a7d8a02706e213ae73e4e3ab42a671ca592f5f9b0ab3704372be5b351ce9b3eea2368533959d3d9d9add376de5103047b715f5c872cd1443526152e8bca84256eebd37ba1dbd51868fb5dd997ddb8c12784ed38132b5732e942ab6067d51f6 - -COUNT=38 -L = 1600 -KI = 7f4bff345e5f1d169dd4021a57379687d99209ed7211567f -FixedInputDataByteLen = 51 -FixedInputData = 4fb55a687a5803900a802512e465f6d1c2d4dc3579e46710c677b00af96bed76ed4fc0f5dfc6cb8ba7732435f3f1857ebaef90 -KO = d48583537a5c68c8008e7c52c70fc851ea45ec1359aa9323199fbb7ad7e9589e654114a37c0efa18ed67aee4e9bbafbb253c5a6b51b048eb0a4ccc0e5ffbefdea04fa6af9986ce033ea9af55dc83514f97a5bd800f202a1342189c72b2df17fa19c635be920dd6151c9a989e4d6f250d2b7e477629bc27070de6bb561a18012eca92e2a82e309db271e72f959012e5ec0d38c88049665180e646b692a769a33c6f40141783e8cab1d2c3815158095103ab34e37f646154bff60efd8387d15d6a247e74bf928e3da2 - -COUNT=39 -L = 1600 -KI = 62132e0ef79c80f6761e1415a99601f26d519c9bcbfe9f32 -FixedInputDataByteLen = 51 -FixedInputData = 4449a237c3a10fd52adb4dabb50c77f50b5ff86cc17fa40de698f30aa8f4dc96632fdb450c03b5ac4ece3a5f85a491d6e823f7 -KO = 1341e5fab49c76756980534e8716c56de2c56a7c8f96b662afb2c95fb13b55f8d34436b4ceba0da36146c0663229a2eef2fd43ef50635f368557dd6709a841ec51ccaa94b1151715df056287e57f9e48661a635d56f01d1429ea1b768c09d2cd2418a64bba7e31e4e360e507566e84416b3f964c8606afbf24c328b8a1aabafe71c587aefa1e8c31f334042c9d64cade744447f538bed8703d43b49372adaf2eeabdf251fc3ae643f1a558f8d342f5e54a58f792fc8fe3bca5fd9099802131a1d388c8b2a50a139e - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 14948707f0ce9401d8380731881a2d3a128382e625111428 -FixedInputDataByteLen = 51 -FixedInputData = f526c13317e2d8be2adee9347ff4c446e8f2002f896b6ead536decfba344210622bfe35340644f9713fdfcb858f88dc0a14c83 -KO = e1644c08729874c7a827b4cd05a46ca4445dc7cd8cb912956836511978e54125ab1529c90d9ca31c8f3c17aa0646dd6bb14777143278e72a42eae17bb0a0c603 - -COUNT=1 -L = 512 -KI = 4a3ca294e15b41efd3d912f612447998d3c0c42d0f836584 -FixedInputDataByteLen = 51 -FixedInputData = 491dbb07c3ee9d983b05d1a5b555f6308e8d2fc5dc590fafefd3dae34877bcff11cfdd086cfd2318f521f74bab7323b43be42c -KO = 24841845d2215969234245c96f4a7bc20f25a4ecbcf2be01b69bcad57c2aaaf1d0604a50969e68d9cef529d931e7a026fa45a4feae5956cb9bca17fb987d4ae9 - -COUNT=2 -L = 512 -KI = d579ad6f1a9c2ff16ba5a790906852c68bb441b2a05a8477 -FixedInputDataByteLen = 51 -FixedInputData = b3862bf757cc05e06f57948f85b95a979993a86e21214415446bb98fba96963bb70f72575c52ee00a99d70a26ea56913979862 -KO = a41d3cb62b17fe33bf8933ae8b1fabbbe6cf05f06f01b15ab21e65edb3d0f4dd47cf281d26c9b50e85552df2c74913ca64be3d28290fabec1703625f56f8da57 - -COUNT=3 -L = 512 -KI = cd9beb74b81b93883a7c8bc15f5dc18a7175c98f62a6212b -FixedInputDataByteLen = 51 -FixedInputData = 3b387ef921bb67b892289d7f0ad8b50cdfb8e8089ba3c35f7499ffa3541f42c218d26fd3be05aeb42b1b2b68447b4507571f24 -KO = b54835783df98ffa49ed58401aedc286c2042245429b6fdb550f97458ac61746866b94ad6a864e36cc82154ceaf1ad03b7004a1824ab06c3e1c9d622d447d419 - -COUNT=4 -L = 512 -KI = 11c4aba8331d892a5659454ff0b137a1bc436dd6194ece79 -FixedInputDataByteLen = 51 -FixedInputData = e58dc5307e74c73ad47ce1ea8a0af1a578bd43ed25f7a1427fe4ee0c4b6ed8484db651c8ed769197037671dfbb260433e112de -KO = a0be15b0e61b37c2ee6a9034485b84c759738a26690b80fb71d5cc98e70ab7af0a60f910b96144d77d69cf1795894016ce0c8ffcefbcbd2626bd98bf67d9ecde - -COUNT=5 -L = 512 -KI = 7fd74e30d073b71126d34b10f63f46629e19ebba1a1a8947 -FixedInputDataByteLen = 51 -FixedInputData = ef6fe553920bd8c84b3b1495698c9c1bc9562c81a8eae3d70c2024cdcea2ecd14b92823d328f6ac2b3811686a61e6d9daf95b9 -KO = 238cf95236561adcee2c3a7ddc8649922e8dc828346bc40a2ccf758301bd255c54839927f0d1e10e108bd9d36431fa035df390581f997b9e9a6dd60597b75220 - -COUNT=6 -L = 512 -KI = 7d923e00420cc6fab08b266cdf49ff255b3db84030c5deaa -FixedInputDataByteLen = 51 -FixedInputData = 4046354bb8d64c9907fbface1785236919626f9641824aeff76816b71bf37975bfc017919862a28aecc44d0944c8da180c42f7 -KO = 6d89ac03e742e20db157de57b314cb0a45089f9aa0faceac5031742474d8026b94378f2768c15ef4dbb31d0f0864bdb5403d993b43bd1ab42cac5c63f52a8760 - -COUNT=7 -L = 512 -KI = 24f246e395c6c56127aab2f2deadcc7cbc407c11cd76aade -FixedInputDataByteLen = 51 -FixedInputData = 87b48913e3a3660c3bf3a38ed2efa148d1ac0bffc07163f1fc28fdbec93e1d810a8deb60e623db682ff45e4c697741659b0c3e -KO = 0da4351099cdb8cd6817c85887cf2c31fe9f94a0944429de801702dcf31453500fa3cc98f5a1f55715121e6535363124aa7a7e33bc4e3a2e7b410f569581075c - -COUNT=8 -L = 512 -KI = ad37df4737410d39ca6e73fd0f0144e52d50f7d0e75e95ff -FixedInputDataByteLen = 51 -FixedInputData = 8d8be7a32fbb0f2b8b5e47792bd703997cd3422bd14d9c4812b0e09dd57b7c0c01b4dc4154e4ad256d666cd7720ae71fed82d1 -KO = 8061e58757db1156495041638444fba9ad97f2bbeb9ff13f95da44a01817fb92b51656d27b0170c507daa4804d2592016ec635e459b8713d12aa690dd1c1a9e4 - -COUNT=9 -L = 512 -KI = 096a41c96dfb9bba8bfd079dfd30e4d84a68c26b34e9b8e5 -FixedInputDataByteLen = 51 -FixedInputData = 9633ff71abf5e12c4da0e133ce1be109bee388c46ad0ff21c1158fcd21771288187e9ce6c679d26a0fefa84ee3f3e51742e73f -KO = 26dae7f4de9700228e98674c22cc859f1facfcf51d686e4235da4432ce974eab2d93ed0661f0455b26742d01179a12d80ea6be70725a3cb73bd876a1ae199185 - -COUNT=10 -L = 2048 -KI = 197c7bb9fb2d993c3d3dab815c98b46228a7c525714a6ebc -FixedInputDataByteLen = 51 -FixedInputData = 1eb046eb0e55290a531925d9306fd6af850d056c0aebdc4d3e08bcea3fc4dfdfe4c4d3ab7ce1f59f0afc492530e5c7e3e35ed5 -KO = bd85872e4edc2a81374e23d3d98a7251c7eeafaa60196543b26b1c02ec6909aae409b27e8378d6f32eeb4b6574a645b45c42ef323d11d944ee07ad9c8f65ceb632abdc9e29b35a1886175e2c9542f201c0b89627172a79768847604cd9422ca8dae42c42d13829b558da73eff8552d5e1ed7cd3b12f03abb2322dfe4ec90e903146b911d7b989e94daae24378da99bf4a7b63c16cd2b7d4a19875787227b24e48d5372ee1735acafaf0879d5302a76fd219f72c4fe1a95a8973e31f626352a700acd92ca4a5dc907d4887927233e75ccbe4eafbac21f0d9d85f4e2cc7f74d0ad5280e8586a6d3f2fe643afcb3fff7d92bd6cfb070fa2ad125cac53f9d72c0489 - -COUNT=11 -L = 2048 -KI = 326a1114fe9130f827e5aae850b88c7a6641689c678a6ba0 -FixedInputDataByteLen = 51 -FixedInputData = 355f3f7f3418b221d0e48becfc3a6f52392d5bdcb0a89691552cc38becef50277c9b772d1665b8186fa29d970662cc1b1e74cf -KO = 736737e974fef8c746f3f23aedc4ff73cbc710c5ff197e687c26ea46a858cdb612a6c5445d0777c862a30397efe5c925b8eae3a1155206e17ac20af963ca38e545a369cd14d7db2bf312e0fea36b858cd3a083f3a1f91f2b9c43478508381922958cdfb43a523bd08bb14fe20e5643cc09d7db4462512f1e87d9321f86bdbe574355b213bf4df2ec89fc246627fa8791e2c29967d3857516a5426a5edb82dda5f1c34486fc78754d7a0c713cf3aaaf6904bca6b9d7b98e03376959dfb390022557f370512daaa56929da9312adb5c05fac7df92f5bfa21c8ef60ffff6d7100f933becea561a1d60d0675fbd6c555b6645f0dae0a05caa831a761dbf23fb34a0c - -COUNT=12 -L = 2048 -KI = 55a2d044dd5dea68c67a9ca7d8f895aef6dd4ea34d6f4207 -FixedInputDataByteLen = 51 -FixedInputData = ae82304c424175ce6d6cfb554ebd0b2ee7f1b195dc6199ec141330efa996d44da6208e5136808716daa168df97bf19e44d720f -KO = 897154b5bdce66bf46225f798c63a6815dffa5f4ca07030896f1d9d17a806f7a749cb5399c95856a4f73f36c2bbdff9123413d9be0c8cc8863de37864c3e873fbdac4a6c9b139ead8b928456e9ee7992cae35ea96340b5bad42edad3ce1514621cd550112d4a709dd4898c885e34f8d2c494b0ff0d90054a456559ef0db3e293a5cfb65b4c44706ccc2bc84a6a60167105767a5fb3368ec65c680452fcc56a5262afe4f59e30f6297d1785767cc4c93fb53882c95d4601a544bb6c091f933b99d4b1eeaf2cc5fd3939715356ffbf8a5ea6cfad43a1bf17ae6205696b8d399382938bf15a587ce347e18277345cc3fe6eee81a8978f0d1d093a3b6a59cdf0553e - -COUNT=13 -L = 2048 -KI = 65bff05b04c4a369a738433dfe0cc44f5dae3325b88919c7 -FixedInputDataByteLen = 51 -FixedInputData = 1094d3abca14c7d8c3b056ccb2d7c505a52b8e868816cd89fc494c773a4e965f690405d8c8a0d90c26faac83a9aef547ba4cc4 -KO = b306f390a6f25ae57fa61fb10fe301fb4b479e0d24709462bec27bbcba98c8001087548c36306229932da8473c631cd819495a791ab298c454dde1dbfce34c966cb3d5dbdf20d7138735c542de17b6dce14932a3eda10023a0df58fa95b2cdfa2eadd5efdc81e81ef469ea1c25d7ddae3d0df7ce6ee2f4fe62a18160a4188da02eff42f69161ac12f56af758129b22f7eaa47316506e96060d0985ce034a9979b30485eec0ab2034e59a4124afe5c71205fe94350b670875a4e4b55531a28d16f9d84ef800c64eee1ff968d7a987a80158ab8b6207f8c57e4c6687d841761564353cc8f1527ec61be0baf643c9e983e1259a221287006ac34b301d95d5755db9 - -COUNT=14 -L = 2048 -KI = 8a096f033b1c0d9753643f4dac5b372b7a9682ed35516761 -FixedInputDataByteLen = 51 -FixedInputData = fad515f5e6575c2105039642b5437a8a19a2094b68551c6fdc4439916239784e942ad483700f1e7ff3f57297141f304919512d -KO = 606ef77cf6f109544e7e7a92d84e0c0746ef28d45436702d3fd10c7e4b0a58f4b84742939f15923144657826dcd782a580fc82b30c179a27732ec414baacf2959c4196a3116e1f97cf653066b954466522a92e75c1a8b7296e4827371819f7adf5cd2134abbab6b758cbd15b46fcad3b3c5b36d672dcfe1aacfec8359634fac2f06e1bca88b2c332f6690db1794670b43bd9ed49d01fd359cd9b09e21df2d191bd3149375fe2f4f145083456fb7f2bab27f95d87c1cb590cf95251564a4d1e798c4b8bbd45f4f10accd47c1d07cb795e0019368cc074fe92e964cb9658680539e71c22d03f1dc442371813d2fc614e0d7f01cf9b60f37afb732a7bb63f27c290 - -COUNT=15 -L = 2048 -KI = c309f55fb04c7f09abb08b8bd64c5b5c05f88456ef496fb3 -FixedInputDataByteLen = 51 -FixedInputData = 16d351c0f6bc654249d01063bad6285c3d7f095ba876f0cfd2b39039ddb8ec08c5cdbd907245f40eab40f69c4093ba35859a28 -KO = c1ad3bfc76275e7f0526a18daf17421385bd2c64261a103e5284894e02e6c7295163f5cf5ad8a65c58c3123f4bcf75d365812e753968e02106ebcda6cc87e60d7e5901008ac08b3240aa089de26e6444bfed5a26b96ba8975508f695a36c4a2af0c158e7b81748b0462dca752789288e5c497136e49e464e25a0f9c6be21a8cae0a90ad0f2fa5950454404ef001ea7e35542f2977825c9017b48ebffb90f4c191c882d9c911b26bfdb6eeba714dd10a5d4b314d350d0b3c0f8292d43fbdf6932ff5ebe9b5981f6e4c79f7f630ac901147c8ba4554383a3ceafe799d5caefda0822e3f427059c7a6a4bc2845b5bbb65e9d6dc49102ad1108bf9514c7a15fd4cde - -COUNT=16 -L = 2048 -KI = dca7ed894ebf928347563d583d2e1ceb8a54b8e60d432611 -FixedInputDataByteLen = 51 -FixedInputData = cc38a1e221d35a0b4a7f167df0ce490715622d730ff52a68b891459c16bcad9180f41bd0ef14e916cca2acd27088dff86f317b -KO = d7ee03aab03d082965b3e0695d85ecaad2dd0f53942cd2073c42903e7746d7137f294f742b534a0bb9598787de7a5b18b0f8dd1c30129f2ef45405d277678d9e97f5beceab4c5c6696e390c5eadf6b8156d99309f123623bf48b3148299bad9ca924e890d4035a059ea0ec209c922225c3f25e95e3cb48ef5b6e29719aaa9d34f9c518c86939883650eac15209ce695c2aa9ec2ac794b757a6fbcd90d8296458cff719552f2a0a8bc0d413bfdcec7ca2a6dc9fec4cb85abdadb9757718e4582fd0c42e8293a4fd1599b37877f28159bf802fdc9f904f83755b22d59553101d5e7a82a9fd8f7c4ebe9ea02999f66241b614df5fe9dc741eb406f95e16aa49bb04 - -COUNT=17 -L = 2048 -KI = 3d0f0629b263db8606554030b6f07c32be843649c81549f0 -FixedInputDataByteLen = 51 -FixedInputData = d090a3cbb8acf85a9ab7a3887209c94f76c7d47c9d404dba2863463ccd70358a74a9028dc59cbe60b4252c4ce02543af16fc84 -KO = 79e48f906c5ea4bbeff5b41cb9287de193bf435a9ecc0cfa033621bd9b60eb1112814e5cc4ca01a73fcf9de440e4d58fcd45dbb6970337ac1e00ce5f3c5391f6de3f536a6739532e14f62cb99e5d9077d48b52ce4569dae04ef7433d630eeb6771b76e750165352592d8a6ba760715f6f0df12f28827c9ba7e7a1d4bcad823c4ddb26458884c8ee10aad9a3b513af1be35c0da8239ac9d2da23721e84407aa4b0b9952f32c40f717d4dea1d6aefbb1c4ad57ae3fad6fc10d82e623692389c69fecc7a9cf80ccccf28bbe556d9447f7e44ccc6d012caa39d9fd38cad369e3384391634b06aa18e8421c735c63b5e75a0df9307edfc067b9b8aa4971d4d0b1e574 - -COUNT=18 -L = 2048 -KI = 935377ca354b7810f13f716330331bd1ccecd1dcc11c2a9a -FixedInputDataByteLen = 51 -FixedInputData = c9df20d5f6a7d03166d6625ade7471d35badf035e2f6228333d57c170f88f5d90109deb496c19a1791ad3659be4cd4feeecc22 -KO = 41b7019eeb86f818d5a2f55646dee75a3f46af943d78f7f9b3b16cbb664bd2386a1bddf798bcf3d9d9a93f7d0352d476b671cad7d7a9f479834f9b8edf0bb6c48dc209c1cf1f9b21b0f60c6e2e98187b834db0cae0e7c2ca5b4e133a54a11ac47dc6020bb96123c3ed792e235550d15268155d568086e26126ae3595afca5d47f8c38490471f6069feb542883802393c5187b34e6f73400d94976d7ef765eb8e880d8c13ddd2d33aff7e86ee8d10767dfd18f32d9bb90fadf5603c7813f627f493cebc36e22f79476b3e22b2c52e037a2d40432c8459bbe508977a7b89b9968649ec61142dd54d0959fca4715ab94debf41746a9e052e4e4266834f990895de8 - -COUNT=19 -L = 2048 -KI = 00aa483eb9edb716aea5cc5f55fc02e9ac2884aea065d7ee -FixedInputDataByteLen = 51 -FixedInputData = d6fcc83d53299587a775fc7dc228265b47e421073b596a4837bfc1304e376d8ab39b88a65b3173801956235ab48fbb3d1d1de2 -KO = e12aa1f4e67f5d18122aae55fa3ab40a9b5c0f712db156d11378f98f74bc623ce803cc4b72a049a1b62751af9a200947731e76182ff1401f5d1970ddcac469983b168763fcab184d832b2ad1365db05075c24083e133be13e452b50025553a132f2757baf94007e5b2b5da6eabfa37b428b31628c0f32c61fef211997e3065c7a68ef41166d51fb70d4b170e3c7a64d854088d7a7159bf9f7f5c0b44a229502a429541e667a3929bf131ee512c62f433049edbb3e3650dd0fa4ab3d350db5e50dde02f4e1c7c87eed4141f8dc79ac90fc019fae1944f44de519f7070d41e15b7e29dbea9b2ba33e60e689d410ad0c01597423af6a99cca741b5b99ae02d69bd8 - -COUNT=20 -L = 560 -KI = 17627025551742b0876ec4ddc54058d77e02ba00b2b399f0 -FixedInputDataByteLen = 51 -FixedInputData = 22fbec8f4e91ceb0130bcabb33810e86d7dc70823a7ed1921d42f6a72fe7b85958f40a0115ceac79f5d73c7ef99f45bee66231 -KO = 5e03e460cc0ea28f0a288ca3a277fdf8253abe7e293e50440bd486a547f2ec6a6fc137b0c3861096e4f073c5f753bae1c159b807bfac49da68edd977f3e22427872732ee49a2 - -COUNT=21 -L = 560 -KI = 97bc05e6931ea6291fc918e58b157752282df95e5e68704e -FixedInputDataByteLen = 51 -FixedInputData = 89ecebc72dae421bebb76ff637763e9fbca70519815f570dc1fda838bc6b1e8c1a13c1786ae0a0ca44cb1402eb2714394bfa50 -KO = 760263fb75fbfa01bbc26d95e3b7151a4753f2092e244948a85d099e0b22e8f9e5dbb2b410db0bb4f6194284f668d74f12ba16fb33c291d2adb2e88b2a33fb4cdef01b9d3dbc - -COUNT=22 -L = 560 -KI = 3572fb2fb256cbfa10f815934216e0d451ac5e251f4d2927 -FixedInputDataByteLen = 51 -FixedInputData = eb438d3623f97acb002800d756930d1e0a025c61afe001a1d41f1452ee066e4b8a62d7bc0cb82b0dfa95230b51249551650a48 -KO = 3941a4f2e42b4bf03b0e911335a5bf2d41b1a6e6bdf640bcdb7ed4bf50e4f595001b0f80eb62f395baa95773ed61979cbf3c4a79d4ddd7c7b1110976a443a1735fc5c5541227 - -COUNT=23 -L = 560 -KI = 448e45fa75ac724c415bfef2c258dad0921a55e2c6b43fc5 -FixedInputDataByteLen = 51 -FixedInputData = 5939582882e703616161ec4644bc29b1cf742ea8e75219adea201544d26ea831d443f0b703df165965dcbe275fc3337a870d4e -KO = 5ac272760b0cf1f19140b5159bcca490c527f97fc6ee595349399ada08b8c86d7d85dc9ad404fd51c41d0e57a9658d0fbd0cdc836704619a2541fd93e174a73908637a19a0bf - -COUNT=24 -L = 560 -KI = 2daba9ad9e18a48459e8bfd3cb7eea99175609bd64e2a648 -FixedInputDataByteLen = 51 -FixedInputData = aa351fc71833cdad16f8bc5eaa716e65554580559afa0bf2628014cb4f92b0af8403d7a9e1e5cdce8d8a77e60ef98c0a352f5a -KO = 63c0b6c8c67c2b20d68334a72f5d52b1f37ff375a3dffd6dbca91febd806ad3ed54843cbacb1130e73a412d19bc265a6efb821df1e75ab069f461b4264fe677ac6ffb28ec1e4 - -COUNT=25 -L = 560 -KI = c902d42905dcd7d0e73e1165e1217ba21fca734f79125aa1 -FixedInputDataByteLen = 51 -FixedInputData = 57576add1e31b49254e71c09f88303289e00806ad9fd9893bf83e7ea70abfc53aa4ae7344226ed2a5ce6c0481f144ad9b2458f -KO = 40a3e22596d0483d39ecfea06c66b8d143371983bc3a2dedfa5ca17ed7b7419d853cbf348eac4632de40cc1f965f981216c555c9ece6d18d4e29fba7588952d5a3b33a4cbfb2 - -COUNT=26 -L = 560 -KI = f5c2c1a75e6017c337909f91531e6dcb1b2f35290aa1a047 -FixedInputDataByteLen = 51 -FixedInputData = 50deabd3c7d6e49ee9a2f146aa74234894f252eb6ae858fb49c486d4bf40aa02d4c4aa9abe57998112aee7bd5f7218cd3f69bc -KO = ccfa1569cc8461c4a59aed1911e1b0539f4f1f83f16a86f91869a17b7dbaa9d59e193d7f6968c03ecae3972bbf05cc2b0eb3cc7bf3ec6c488d29e151805096c8a743e6bcfe8a - -COUNT=27 -L = 560 -KI = f68a8fa3d55287d5aa17f065ebc481217afb4a928ae0cfbe -FixedInputDataByteLen = 51 -FixedInputData = a90878015976fc88485f5fc7129b10788ba29e7e0f6b9ef43b897a7a434152c997df5da1139340ee0db68a0aff1f43b635c0a6 -KO = 0068bffa85e9802eadff5c779ef340e322fa5c91e3e476f4a309ccc31c5d4d6c3d2f4dda965700a99fcdaa25765207fd7513d1e350d77c23966e7fb31a2eafd327b25c6dac76 - -COUNT=28 -L = 560 -KI = 6800695187653c161c35b570164eed3ebe40ea051134236b -FixedInputDataByteLen = 51 -FixedInputData = dc885b466d9ce291ddecf1715c69221b3663b87ba3b4a61b091a68ed405d6fc4f990c8c5da453701aa05492f166befc89c8b75 -KO = f3fabf9359ed642fb985df982929452c686e1419d44346b08104bae2c5d46ee5e920f55a76081c463289faeda97f704d3f5b2755c4e8e9c73917f601390639ff60e3697cd7e9 - -COUNT=29 -L = 560 -KI = f0671e8b4876105b75bdd7c58b7090cac26e0949074d2f97 -FixedInputDataByteLen = 51 -FixedInputData = 28066ddf52fb8447bf19e559c9d0690e43bbb0b7bc28c8b42b9f3b424410f9ba9c6568ef0df89929f64f7b6a1311ee3d171d51 -KO = 1d932a706d76fdc9bb52c7cc2cea838164fb1eedce3b554151062ed02660799c2a80005e0ae94394260e53abadc45014b1b1b7053c908493911715530025840cc5c305196ca4 - -COUNT=30 -L = 1600 -KI = 7c8d1599a2141a0c5870a874fb87c84dd73e61aecf3559da -FixedInputDataByteLen = 51 -FixedInputData = 289e426a1dc7c9b570fd782828d32a72ce0ae607a1b19db01e7c76e6d3a2d4a30659aff07578739934385013a59f704d137480 -KO = d0691f24d0f1af79ef41de584976d7a8cd9215a21d5e01419e55b51b6645e42991303437cebdb2e14bb0b3cadba43a1ce5b11c291c155aee3a628a4bf099772e32498e810e752f78a750f6342830ea7b39748a075fc281d552fbf86e23b0774adaf3edcecfc13a36ada87bf06f31b18e5e8ef715ccb0b6e66394bc2188ad8ce384a590413c5c561b538df25255845ee565d02c8f8c757ace19aab5be2ac2bbb2e485687a99b02900437d62f8766d9f36492095d093eb232f04931ebf297dc4284e6a37716cefb646 - -COUNT=31 -L = 1600 -KI = 8e318041fdd26ad05d2bf2c8838bc83100bbd050b2f3ea9a -FixedInputDataByteLen = 51 -FixedInputData = 7be8d725a4f95c22228f58b403b3fda6b4cc4992a367521f507a9e9d169dcfdda842e960001d801beaf95781a5ac9245d6b631 -KO = e2fb0db18bac4056f645c52e1488ee45c54eb303b202e71e9518059eae9b913b59642ace93e41fbe56123f90ce7b2b91311e3f8da2cdba58cf63b4599323ba09b5ec502451961e8373b4b45eba1aecc45ffcb002b76fd531b8dc9741f11b87b20f71a3527d4ee78f4449bb94d7d62e5aa2f6ef72e1ab32905aae29e26f1541c3629a2142d8ef62600767c5aed7b73becd961b0c70cf5f80191cb665973a42982fe0c0fce06c1438e87fdb02b80bfe6515706dab36a4cfa78436a2919af558656ef185a64c19e3131 - -COUNT=32 -L = 1600 -KI = 277ed9ec9fb8226a36ae19e64b2fab720b7ac2c08a48f2f8 -FixedInputDataByteLen = 51 -FixedInputData = 642ece8affcb7adf17f01f72bc562d3cdd1348aa34453cb9be365f9982fbb05271f1030c5aab75029351f9a6781974f2eb9b22 -KO = 1cc129afc87a494b6d8ab772b8a74bc5061e8394cf4146490a8544507a29d313784220878797ad5d972425370bc2a3c0eb4a74b90a0c87236107ef1f5db9054d9bb7b1fc38e94312a710f69b9a2d407cb595c1dab4a83a24bf6e87d968c40e254f94646e6568e5adc3fe3cb25512302fb18d21fc04bf3dc5f2a2fe63cc42921e9b7ba4237622073f2cd3f36ffa6d936dc5bd04fa7abdb912714adf738fd485688d6467534cd4985177308ac634871d22b210ed5a9866283b3e20e1b4d2df2ff537a04d2476504b45 - -COUNT=33 -L = 1600 -KI = 02900df6bb535da09240441e10f4c97c63746acc3fc75c40 -FixedInputDataByteLen = 51 -FixedInputData = a7cad7518715df918e432d925540b47694fbe64dd451ee58d9c74beb476ba1f6fd5d82296672853e12642aeac40863bf896782 -KO = 1dc5db8dd3e295fb2048138d3062d3a4833af2c52439c2f2a902f49098258acf025034827a7355e51cb9bce2e486bfc50316dc9ef48c1d7994a23e86d387649ddb4f5243bc5e8acb7f1d383274dfc24a50c3a74be74e0849511301821d56a8d09b8c9d8fadf5445a64efbf2ba8b861d968e2c36b8af6626f8ba14538edc69bbd71309f07e934c944433c1b4ab2a4621f3a0d1b4ff4eeff1e12616da00ad94039ae401798b85f47287ac4155ba49152eb8e672435912dde510dd6cf259a07bf73967253ec633ebbfb - -COUNT=34 -L = 1600 -KI = b828f77fc6c9e7ac044e4c58ff288ea30dbbb3cdf5d76c8f -FixedInputDataByteLen = 51 -FixedInputData = 3f151f3fcbcb5cefc528591abbf79a260a4195683bd9d42576d7d93ae0270fbd7796308ee509df77cf1a741fb2c3a62fcb9529 -KO = 5e54c8a5ae1de98caa027a4941d94b6a3d20d3dd1101c9cea00bfa26de8a5922004c6b0247fd08dee95427f4f3b39680ad6974ba5805e15ffcf8dc31e5a91241c1b1b98748e504352370be8f5a164c4ac74371a5c50c388592ee77c0d371d0902e8c243f42bfc457b193b659be6f8c72eacbefb6013de9e74e76e22248eb6be20b04f5b4dc61e4b114a1ba817963145929a9ade2f869978f2b22a057d64b99476b48068bd97ec66e4d35841d8cae9aa479ec6b400f975728cd97554600b1d64582b43b19347ec13f - -COUNT=35 -L = 1600 -KI = 505b7749ef08c4e1bf404af9b103fb82dab9b5bfe7918f70 -FixedInputDataByteLen = 51 -FixedInputData = 57274043b53487f2d753e2c2e30763e568fc94dcb3dbe941c9e402e33ed5436540edec8770541adf552631e310441bbba2ba66 -KO = eb5c4d7de9682a904b2be23935bf244095c3d21dc8316f7b96738c845c557ae6823795b4bc6829215c491011344504b85608dfe3671060822417055c65d45e8ab964b9932d8c4e38d12c010ecb9bce7febaa7839ff2fbaa1fafec0e45bf1433b7f02688e157facb69faa147c1de80b4cfbf82e8788463b304dde55033716a0506af1963ce0a5d6750e944eb88351b910b0c11441e6cb56ebe12374d292e7fc425a7f6d1cb1511221589ab9ca591f749ec0d3d06795e048df983a278423a42cdbd3664fe044828c15 - -COUNT=36 -L = 1600 -KI = 1ec7838f3cb5c64ef880dd746640fda93a6843c3a51bebfc -FixedInputDataByteLen = 51 -FixedInputData = 4b8cf018d068844f390e752d9013d8699c9e0afe52aaffdd94ec32c08a6f26218a608513e45d83fd6630ed7ea31106b530498b -KO = 807de00bec37024d3bc797959ddc9fd9ccc7ccb15eff7a37e244ede060b6f6c4e0c42fdf9bd5203a162c1af5ed703552738df0ff159bf027f89e8244e0e70dce5478eff340bab76d8a138602b7da54d35bd23601cc2223d95696da65e00213783e75932d03dc6ce3e834d593d4da45d08265538cb6f6725a3f16362a21afb9b1fee3ae72c755d819350c5c1192d11e2390f60df20a6e7447663c7480406b147231bd6d04a1940760b7b865b79ee5506122d35716f93b95fd731a2cf236b4c506191722f4953591b6 - -COUNT=37 -L = 1600 -KI = aac99a243c26b77efa182d442fda99aa30343b16bae33e09 -FixedInputDataByteLen = 51 -FixedInputData = a8616f3a33c99b7b724868f524d19e95c67c3c4d7e4047869b0f3feda2c63de85d0c8a35ceef973b7972ba052889346dcf066d -KO = f790c7fc6f8da968fb0a077a67644cc15001cfa2a3c91dce1ec05b2e51a5c2effb64e7000dc6cd6611218251e3fc9f59962cf83c6c900abf84210972f10933bcb6e7b817dd651df519034f9b5157841696db564c3f3f9ea7e549068aff1215ec113ec14b6bfac6b5a65d4c9eeb09541eff4a5e1027e8f100430593989ad13313fea5832dd5e28517d8b214f1520892d1c2a9a6885cfc7c9b7c6c8c9c2fec54651bdcf4ee181f0a9584a2413f46844415bcf7d779d1a6e8ae7695d3442ae9d4fa56d7726c4d2fa691 - -COUNT=38 -L = 1600 -KI = c6c96e83914524cda3fd925473b56d25278380c21af930a9 -FixedInputDataByteLen = 51 -FixedInputData = 6062b3416c5b02df4b42bc31541b9676b20c454f88c3470d93db7bdadd50c535314da310b010c74239f4be8c82b9431a5923ee -KO = 4ee46db4e7a216155a3c1b762784bf045bcea00ede3852f0e717b12921e0040042117a4cede3698875194111fb7413c8e26d5ec403746de89b2ffe849af5d45a7e334856f092489ce8aca93d4ccea84b35086aca584438f518410558011332e6f33e0bb00f5d3273d2ea7e5ff95277b1f227d27f7782dcbbaaf4e68c1f708814e92480f5a87d9cf9c802d911438a9e0ab86095bf4ff03458604f7fd10d4d4130290bf88172b1dc6d0e7d17b71aca5e45b00425ff22afc654c46934dce6ece588d6480dd282e2976c - -COUNT=39 -L = 1600 -KI = dfe87707226deea6cff6c8b78c8a1955655cfd0bee90e5df -FixedInputDataByteLen = 51 -FixedInputData = b939ef6bbe635b81c45322eb5bd47a4cd2f0d61b7262e22e192c645ef9a6a9624d9415fcd34ad017da4b34666cdf22b025ef66 -KO = 93c17ee5e74ee9dddda85c2ddc50af89c12af5195e0a0299dab0212fd734af948453b182116fc68fe940c523710662474c8e5a7ceb95b279bbdc5d3f8baaab453572db8a239722ec8f19ee6b590f8ae0eead941c1e2406e009cbe57b9b0ef51185ac168f1c4132b40bbe289e5dc3504b038f06b51e03d98d717a8a386878bca350dfa96cc1f6b5ec73bcdce590d24578507c65746d35fc1a50c5c48a41cff3454e16a1aa15b0da21c0fc54b19d52010bbe3a34eb355c4341496606b13db2be80fbf784474314e90f - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = c26bd2460ec6613bb05ff8752058e1e32455bddb315589f3 -FixedInputDataByteLen = 51 -FixedInputData = caba6b75d339410e78fccc5be477814d422056f32f60d762f70082b272a5514de9f5e69200e7bd18ef9eb7d9d82978a26f53a5 -KO = 04de605f7fc8c73555ac83f26b9df45f295d5bb1494b2f5d98845b3d42c6fd3097d434c4a3d13db6b9fe91949319425feaa4d61752962154d54abf794d907d69 - -COUNT=1 -L = 512 -KI = 8b11ddc1cdad7f1d52fe33161eb96942aa286b825c67fc8a -FixedInputDataByteLen = 51 -FixedInputData = d6fe939590daebee3db5e47c60ad0f52b017ed70245579e19bc5ccd70c1be769e9c83bd35d65eaf4fbe8f55bb8ea000c15be18 -KO = 6fb276d6b2e894609ffeac5bac4b5b1b68d98893b3a890208623904325c3021c9be744bf126c180e785f4a0898ba945f840aac7c99f3f5d90fbe34a09ee5e5cf - -COUNT=2 -L = 512 -KI = 21a6e1592e6100067587854dc3af6682873081ec9a7bbf59 -FixedInputDataByteLen = 51 -FixedInputData = 67a05ed3be25f1dc9816e95c0170d1329e198a3c2cce67c3d3b79fa469ddbd5df7b67b49cfe3135dffb722900473d208158395 -KO = b315ece9800056c3a0624c1e80547b7d9319f463bea2e9079a1a5696a668b1fffaeac2966bdc5c4973c8e1e23f08f453a0e087a38d8e30d2bad2116c7a2c1de1 - -COUNT=3 -L = 512 -KI = 1058dd6a42543ddf92b88eb724c98e1fc598e17b132a359f -FixedInputDataByteLen = 51 -FixedInputData = 1d0143fede0a0b10643113c8535557ddd8c7f990471862425b06fad16d10195677f08aa40bb3ce73e71584236c67c1fdfdf70f -KO = 491e143719f37306e7f8117986aa90c40a82867d8d9e6022f93efc52442904806765047d1111fcbd73c98f3c9ae180f0f4ab0961cb601bf4f1f5302d3f853b54 - -COUNT=4 -L = 512 -KI = d7bc7d64f39f8b0490827a8c44f2b53546d2ea750451b28e -FixedInputDataByteLen = 51 -FixedInputData = 932766bbb80c19388f4aba7ff40a8d8dc79dbebbd05c395ddff2a12db100262558b2a63d4bf891eb7f0ddfd2b5b000cb20ad76 -KO = 2a4159afb611bef5b60686e09baf229715d9d3f09e3c19b7faf0f174e97e667c3ba9855a8362eb1eaa02b7b937b925ecb9db327ae94a6004a43a6f9b69d854e1 - -COUNT=5 -L = 512 -KI = 1ad59717dd5c40c2f8c7bd75078397d5a1d669b235b5f6ec -FixedInputDataByteLen = 51 -FixedInputData = 42a5262e248c5a104c177d42bc562af84baa2dbdec21cb2df689a91c8a9e5d2411ed3808f2a5d5678aa50baafb13883d09ce01 -KO = adb37d648ad0696590db78f31e132f3005edf7a517bc12e6aea8f523a4c2fa6aa4dc110490b4c0bb16fd3995b5bfa98f6d98ca8a781bb8900325e02ce201a136 - -COUNT=6 -L = 512 -KI = 25f8323217cae5a8550e70bccff7ddec464e48ce496330e8 -FixedInputDataByteLen = 51 -FixedInputData = 680a274e2398ffd6253de07512dd90c0f68b8b834296b0823460f47537e1a26f9141d1fb9ccd104a99b440104568e9cf83f66d -KO = a8989ac9571aa2c9bd88cc6a2b2231ec399259be945de5221c2c665ab0dff182313d7d80bae22ee0a247d6312a7d93f7768848d56bd92d9e6b4e9af74056e0c2 - -COUNT=7 -L = 512 -KI = 95c54c60db5ece50605915a627da56c3b45702e9b2b25929 -FixedInputDataByteLen = 51 -FixedInputData = d4fdbcde192c444fcd6362d35bab258d70fb3a19cc5c88c8d75340d0df568832fae395bc783e5c618be9f8f8c926816802e73a -KO = b6b013e6c1f487b40ece2d2a1d0e94317c120867363d9456bcc2b2d3ca87ba96ae0fa662112e68d47590e0d02f993563b0850825fa43aa7105033618130c1ca4 - -COUNT=8 -L = 512 -KI = b783039a683096da3bb6e71953e4b399da15bcfde3332438 -FixedInputDataByteLen = 51 -FixedInputData = c9c05a6d78a6468003e6fbfa8e8a8d1074fc11e45b462fbe6e00a4dfcbc1a9a280febba7cc33ba611df31d5a125a33e5af5d6f -KO = 37453a47bbd96f7f8c7371183e89ccc5d1372f3ea24ff61345541c6f4d5ddd6007c39c7e338e34ee05646322ef84f24ff6fa4ef401e88ffa82f2256668bb6147 - -COUNT=9 -L = 512 -KI = caf652f2c9bd8083a13983cae031cb018bf0df60f5e77eb5 -FixedInputDataByteLen = 51 -FixedInputData = 2840028439ffa8a0a61ccc9fc036292ee62d42951731807effc7d2b6a343ec92e5aac2cb0bd0b782e4f327a209e1d339addf64 -KO = 02789663c6344beeca60ee694caf296de339cf51ba9a00a6d04a5f05d2fb5294d8362f8e16551ded0d5b34ebb24db51dabd3fd913ec828781408c9a4c7e0c3d8 - -COUNT=10 -L = 2048 -KI = c5e3b971950396779e817ec28e5310a6e6c7565c2a4ea771 -FixedInputDataByteLen = 51 -FixedInputData = ceb45dba9f372b762ada4175a5df5c22f80a113549e5409c660ef0e163dd1fc77ca119a0c4ac4d63b5a4dda3937edd827db34a -KO = 81dbaed7bdb5a3250ef7b9225dfc7f0098a59663e0e593d72092dafa005c4992ab8f5f57033e2734c49e6caf26729b9bc2dfd05e30a15e955595e794e95ca759ac401b9bac3092b71a30d6f7fb60c926475c4288b9b357ec44b850d4dd26e62c9c6ff486a287d1fc14207f4091fb5ea66dccffb3fb50e4ac892cca9e619751a770699e6e02fb8a79455da963905057be0ab3fdb576097e74885a753967a6db1c23bdb5358eb35d418deb4a8ac0ba368846421e691efc19a8ed66455c1181f09d54ee134ace7e0d13fbba6be2656d5a77492628a8010ae78b7963e2fd53a66f0a37d0f33d94ed897a1372717794fcae4d4db51f3177ea4ffdd3a512cdf533be83 - -COUNT=11 -L = 2048 -KI = 9b7937b2f3b2865ee9ca37df4985bd09df8d7fcc2a1b37f0 -FixedInputDataByteLen = 51 -FixedInputData = 2791f7fd18d911420c4a403b64fb5f96bdf5af40a37bfd8be6b703b2afa557a19799ad19e49399902e41c9722999d05ff56c31 -KO = 86a3877a13b4522bb5eb8b8f0356e575a80a5ef0474e78e53adaa7fe7ffc3160cc7a198ea9ba25a9457d5eb912c4f5db3f70db80c94f1e34c7c326aaaaac9674c73242c56b8ec3f73c1c61508017b2355ad28e54ed5437c1c1ad7e2959d067a8f533fc3e6ea60507fcf421278a9f6e3cd4e17e3c2840453012d12c0cfcd1a6d062967cf0106a7a0177ea43d38ca73507f513ad0998776131a403203665b8220dc6cbdef6eb841027bb4a4bfdf274011c3305b10cd0e5d8109e3d4c8440824426876bc13bc904a884185bf1ac86d4097600f7d2427cd319d8445518f484b5fb7c81a2438c7b42391ebefe34de6decd49a83de1223ff3fc2f7fe6b4c8ca8e948ea - -COUNT=12 -L = 2048 -KI = 0fc95fd3a2421d2d6dbc867cf11d732250e31eb910abbdb8 -FixedInputDataByteLen = 51 -FixedInputData = 123a888b27c098dcb82c19fb8ab920c778e8faf88d0833992523aed82453ff1cdc7af5eb5e725813eb6ff3fe4a40d4f62a9319 -KO = 4a5c47f7b9e4e20ab757a0373b3614159970bcfae346a02dace907ba88eb4b722d72f31ed1ea1e325fc876744aaf45a61943dc33a951d775ca6cf23e6b68742e52bee9812636bbe4c7f71bdbe5fa79c696d2d5e7975788f2281900e1661c05593136dc6a70fa7174e4a05a62024468f4e702ded67a4bffc233cb12c2056fc2916a3d00630697409aaf88317d6b7809f2a2cf098ab92c5df188de57929b21b4ac6ea230778e47d75d2618adc2e3702b437131fbeea47c7c5e4554c4e9e4ad211ab245f0bd412be479609196ed484ce6dee5f21a2e68da07d7902e14823ba88a363502f1fd2ac0596ada9cb5a772cb2a5f79e39c473e5320e2716b5053694c6236 - -COUNT=13 -L = 2048 -KI = cb134dfed29fd3bccd5e7c4b240e7fb9eada6ada4fb9bd96 -FixedInputDataByteLen = 51 -FixedInputData = dfcff21d00fe078c9eae2677308846922bc6b0e5c97dfa7349bca5f142398a62a447e41d3439f2020ae5d01321fc41e4dd1422 -KO = e045d0ad14b41bf01d5ed346211340ece22f4e17a2c8cd6a670eae6e397a4da787419f433574dba2469fb9054df6b1ddba895b94f12ee2a4fc11dd839caba9c92b34aa1cb1a4fd9c514fceefb50ae78986520aaf25fc5ba0490109b974689d2bf6698f40b207aab6e1e6ec6eba506001fceaf96ea2b470b2e54eed4370546360abd3675a43367fc3471291fdf1489ae238e0dc2bd83a983cb982adb01ca1951ee1cf7eb34982e0a364bd961e48c1f11b4bf69d7eea3251e04ffcb7db6782b9c02ac621f29931fcc190c95aa83914b627d29578e7f2227fd4e709995036f02570787e23f26aab90648667cb6bbc851763b251de550a8108186798438488896e28 - -COUNT=14 -L = 2048 -KI = 42910fc0c38e5c975ff18e9768569691d6cbe6dc99862ea5 -FixedInputDataByteLen = 51 -FixedInputData = e4d0b9be1e4c1e584af9c20b66a18312e09c019f2f1285c7a375d31dcdc04d6a7c891e3e08c6fde88b34b1d0036936e42532a4 -KO = 97e984e1b1994283bbd7a3f37a11f1c4b0d1c0dbf4a1a1b861ec42024a602a946e4aa2e6a5d81d8d927a9cce01f323d71ad68c29f0d5668a9ba15a666afc3c0efef4867333a45bee9774a95f4838c7517be40c6192b846c544dc99271e89eb5c94efe9f3553396bcc417e2d4e00a4f38db124fed111da9a36ec9afc752bdae3ce5292bb642c39e08afa841eb17bb2181e0d5a5c585d575fc39d0df51eafe596a2a28b313ed0006a9839e7c321c73fad61ad8ffd6340bd43a6d166d0a8e5c086072aa2e722abe1b127434c958e6af6c96b8ecd24e4e7f6f8b8dea0f98a1dc6ba2d7607e98df1a4562bd3f896187e0dc8dd2f3005e2c0b5e0c4fccfc833d568424 - -COUNT=15 -L = 2048 -KI = 79268929898ce8eb41b2b6690b9d21f430abbd9fa6c3f70f -FixedInputDataByteLen = 51 -FixedInputData = d849bd214aa2857cf5140c1deedb5c7536961fe5969b1c72b1e59a1891035b8822267e1b00691d5d7133c0f9c4319dbd0a402f -KO = 42a941b936d0d83e2589e2581ae48b08abb530746a5feb2341c28da1ab79958ec45a7f35954a3931b30ed5c41e63565216daa86e9cd352008e306c0d02ce2daf7a98c2ac27079c1fdd969e85e595ef751331a4f48df66e982e2d30669d50c7a19c1629cb9003ca8ef1c9ac205ca3890c285da54db6b2f1a5077ca92a43c218207e8a000ced7090fab954a444ab813f955be419731424041e2123e4a8bca40be8ae48aec0e664e6e75013b6ce67f080436ab94ccf864a5bb5e88f1e9f36f18fbcac76bb428894a6d27d3969b987574998cc1462fd20eb81333e24a3fc0674177e42d9f65ae0a684b37b8504ef6b7350b2f9ed06687a91902c8709cfe8127b556b - -COUNT=16 -L = 2048 -KI = c473cb8757b1cb180fcdb447dc0b535170e16000d9feb41b -FixedInputDataByteLen = 51 -FixedInputData = d39617fbf5f943b9c18b9db344962f0fda0ada9a59fbbda87fc074036d04c84cc42966b8ecfdba22f3833094ed3e14dd6b99e9 -KO = d2d54a209c9ea9eddd444ffcf253fd35e8e0e7dec31e5f3303a64d3bc949813f5fb79921bab28ab1452d26f69e0052afc0e8a3459c8d36cde83331a1168613a04efdcde7312917e8b3624ec256e73fe1195f17a1df4e001ffdab17228cdd55b420247c7d0656402033ee92f6a273b12db009fcb1f04c795453cee18302d365a6e06ae2e69d27b92013a925498523f6f0778dfc096491b531746ff52812b017d5f58152a7d67614f71750347061df4dc030111ca643a45d36877be497efbeacb1ae2570c9b8b274f3c8f3d43e3309a2239b61c67793c3cb110e6f442004014c991cbfe5ad69d1c985153b82e718e1de3c9078c26eb752e685d5c021866ca02277 - -COUNT=17 -L = 2048 -KI = 4e899c51ac2b56afbe86743ae483998ae8cceedfd29f1b9f -FixedInputDataByteLen = 51 -FixedInputData = 815fa3e9c696ff1f0d64e92da639508c1b965d6b16469e55f88a56b3995e30fce2b4eb18bb725c01e5fb212fb72c52075ff79b -KO = b80d30efc2c3cdae971b3807b01bc363095fc1283a45068687394ef760845487cf09f439db4f4ef16f78acc8682ad587de3309daa7ff9587443460dd279ba8ffb6be4269b9b6b61b131105af2721be8117f3022ac53285ca42a16404ad28cb9ff87eefdd63ca07a274e760e93f4d8fb4cef353bc2926e8e7079dc9d4e9872ed248211214c30cd1fd641da38dae120eb12b5a78671859db8e004781fa077534129e61212d7c04aa04574fd4cee8eda10bc2b6845cdd4ec119165ab54d2ddcac9a2615559259dfbc63b6f99993840d78115076f251bfb7ffd1d82a5f816d156765e20bde6ae1ad347ce47fcd1b034049635eef121e2aef323e383648922934ec54 - -COUNT=18 -L = 2048 -KI = be32acdb5412ce1a77d838c1a8fab35925e7fe950a344bb6 -FixedInputDataByteLen = 51 -FixedInputData = 5ffb09cfd24e43ad0fb381905bfaacbcd2f89d06617f45dd75ac92ebf9ae1a7eebf991d89a715ffbcc2fa96c13797158384831 -KO = 1d473a82da2351b8285c6653cfb5b118358846c2cf69907e1bf1b9ac50d527cd9af6b0f6b3d6f086becc6daabe3975b8b68d89d21bbb4e8ad87a5d43a03cdbb349a277053bed2243fb2acb0ce0f873d5d17efc118fd9518922cd9295d872b04b99520e9735efc27f4789f6490df3cfdaf0df46a93a977f06f9ae8071e0990ceef25b56042dc6ebc03f8b9ff4aa477cf40df7f7f07f2fa86a5a8c6a32dfd6202e3152ba382b510d4fed6f1557246bdd0ed3ff782012186122519963442ed95e0f71dcda3ae1e2f22c1666ce07425299facdfd650156e061a34ef8c2066649e65401fc91a05811cd12056f95ccee69210bf7c4aa243a41d228771e7b5c0bd10794 - -COUNT=19 -L = 2048 -KI = 1a40c911b94bf30404a666931e4fd2b1839fe4011a292a43 -FixedInputDataByteLen = 51 -FixedInputData = 3137a626e663fc9ce62f134f8d90e12045ebf3173230878abfb0f5eae77f6ac4ccf4875daf8171d1deba1898b6837868fc4130 -KO = c42f1ff983c290ec70a76c34b43444ba4daa8c1d040511f6dff5ba6001a9c4c044e3eec337b44968e28b57358c629056ad57e10a653ccaa939899b44ce3e63631a028deb30d287379d270bc4e42645adc038c0664180fb743963aa59991baf663bfcbf7458b710433d6809826277ea2977c17393b81284b36bda6ed42cf740e508e3c71e5c63dba731464e3e846688cdcb27735665dd2f5fe197478d81417293345e1722bfcf908a85380c4ffbcb258a808af0f10671209dea06ec6b9b445c387811719f3e29b98163009ee8265d4843c0c5c763f453e85e9e948f4ff28ab2e6cf78a01ae1e2a5c0e591349a525c8c106248cf7824347b3bffff240bec51f05a - -COUNT=20 -L = 560 -KI = a993d6dacfa443dd73c44da00b58c888138566122b20af7d -FixedInputDataByteLen = 51 -FixedInputData = 1996731ab00eff183d6a49ea4303822b16822463a2e8d3c4ceea0b1c3fcc910cffaee14018cf56919219199fd96566c12fdc96 -KO = 5aa11ba7401d3c017ca78f0c95b2db2dbd5b69de6cb9e445de66a792bca9d7d5deb3a0f40d79f4197a4d7965fb583dc07ebd7f9b9a2653a2ea76cead8788889ecdf79c6c2d4e - -COUNT=21 -L = 560 -KI = 412176c8526ddbc6e69958b9a121820497b7bcd67dcf7ca6 -FixedInputDataByteLen = 51 -FixedInputData = 3b33a4b01d86662c7a2b56f824de2375c6971882e7340920ac5df7ce29534f2c8f3207a19cddf2090f63a4b5f6f3b16a6b3828 -KO = 0b4bcb7edaeb858ede2905dc49b467edfb3d51e4cdb7d14166d8a29d0827f8a191f7886c7eaf6eda5240c15ac37800ea0a47aec934dc72cb2fb9fb9eb4e190f4dfe0a771a8e2 - -COUNT=22 -L = 560 -KI = 2157f97bbadc68b62aab3e9a090dc2cccc03e67eac264d8f -FixedInputDataByteLen = 51 -FixedInputData = 434defa569f91139af730e9d328256e9f8a6bf87e8c3a4c2dac9c622e1a3dc0687c6b497f18349597e9913666f58cfb158300b -KO = 27375762783ae9809867fd7ebda24b44730a85f9d9fe5efb671dedd44b16aa39ce6792108268d10902e37a613eaae0c62e53e1b98a4b919372999ec14c1f405d97705b762839 - -COUNT=23 -L = 560 -KI = 1fd19ba25f8184ccd8190642a56cdc3a585d105afa317e5d -FixedInputDataByteLen = 51 -FixedInputData = 8bf0e2455f8475724a5b509e9a7e5714ef76ca653e1b8727d40e5d0b3f8032e40c9ff8e812fd5342c3be4b7415f27d07075e79 -KO = 5c61162ed66171a852d573cb49cd2fed99d748abc6e86d4012a641babe314a7058501e918daddd940bfbaf4b3a7868be702b792aa38ebcf84e7ba7e63ee9519cb3c67a081df6 - -COUNT=24 -L = 560 -KI = 127a81633a8b7684dbd0b0b902d4bb30076ff6405bf5ff45 -FixedInputDataByteLen = 51 -FixedInputData = 3edf1c65fb355de33c8ef8b66e4c977937398a9862a0e53494a51518b82d569485724de5dd40a4281d78870e335854290fba64 -KO = 899bd63491466fe1b46d93cabf855713cf95d78f68ea100e37ce82a4efed99de92896c6154f26247e2b40fbc6169571bab1587bcdbc1651576002b4d546fd656a8db905022a2 - -COUNT=25 -L = 560 -KI = 23ac694ef73aa98144b1615ebb80507acff81316a1dd540c -FixedInputDataByteLen = 51 -FixedInputData = e53d46d1ac08d33012c8f55a06db93fcf73c3800fb93aa0e484faf0421ec9a071734133ead6e4b34cb89eb7ff99a52e471f700 -KO = 7c53cde12bfadd0075ad31840fd6e78a4083c60d19fc55ea94cedfbc89a003ed18e473ea2671ec39b756cb9cd35a5cfb6f69aee213cc015cc0b369a56f31861ca7748a10504d - -COUNT=26 -L = 560 -KI = 17eef59abf3dedfcef5aaff550d3310704d834d673f46779 -FixedInputDataByteLen = 51 -FixedInputData = 1d5d9c2fa2cec63927a2da8703dd2369e65bc0d1977ae5c9d542dcdca84193b8d78c5086dfa50d1396e74f39a66c8d69a02c0c -KO = c918cdfd3c9471e27cff49597782cc3c5e5e1be4fb140f6017f2d4cc3947cb175780d699642d1e8e4611bc010f17b2a759fc30ea63c547375b2064215bd68ca353f6fbcc0825 - -COUNT=27 -L = 560 -KI = ea932e9b79a9e7d38112e76e13e011a0efb9f469ef86cea4 -FixedInputDataByteLen = 51 -FixedInputData = 50b88f2f417c4dd39b66111fe26c6db651a3527fc860e30edcbeda1f0565d5b327630bfd5f362f2fec2fb920a63e5268525913 -KO = 8b81b8e9044637567214dad57b43b5708cc836812785b862486e854981e760c6771b09957901c748b2ce4ab9ea85b1a15ff83801d5699724f130946704de523a640ad370cfc5 - -COUNT=28 -L = 560 -KI = 0a75bfb53fce35a877625af7ef7bee4602a1ca8b58960655 -FixedInputDataByteLen = 51 -FixedInputData = 1039884f669368504ba6610b56dc1a53aef153a6a5601add3839854eff8c4647ea7fa8f8b20e043aced2b33e6547022ea7a6eb -KO = 1cd2713c3e258f63478d56ccdddf99eb7f1c1ede1313ee527bef228e0c7c9963e19000b3c55c75d9ef0035307b9698e3c1baaa38bc5dcf0d4e500bac3f43a51b6117e91d78c9 - -COUNT=29 -L = 560 -KI = 6f49f0ecbf0ef28ff8739ad461aa311fb3a4fd9a45a840ef -FixedInputDataByteLen = 51 -FixedInputData = e7066578b11c8b98c6231cdb4f5fb63e4b7ac5ff10af405e6459c4808f69d7b406bbbed47aef9f5a9ed03137ac241cf7119d0f -KO = 80ba2b023913ffcaf67e8713e9b3311e7a3270594bbae18c7b3c2646ef848c106d0bb68eba9d6cdaec39afa7034a1f38b04f1809396b4f7daafc908abb1036e934e9de8ca3fe - -COUNT=30 -L = 1600 -KI = e4dc1b0891db344be7ba7aed225906bf0717c394f659161b -FixedInputDataByteLen = 51 -FixedInputData = a05417d3ab2b86a06faf4c434eaf3cccb6af9a84d86fc08ed356f82acda9c62a84213b818058893476086a22133b4c984c4e26 -KO = b9b0d975846d0bcbb293115356c4ff73d5d9dc05a2145763007e8cb393f864f3514e4928d08d785902586d2aa6d05961dc617b7dd6fb77095c9a37cbcbc67191ee564bf4037d2280b4174f85d877fc31ae7dd79bff13c430e3dc449cba3689497d28e691fbfdad58dc76f0560fe400883d4cce6931a4b0de96454a1c3eef911bcfd160867adf38a7a0f6db7065b1d80082f6838ec3d60211d4a2a353aeafd8c02e0db76bca84387f46dff2063493f160bbe36e3dd85789618d0e194c69cf5e474476aa72847554eb - -COUNT=31 -L = 1600 -KI = 152e6ea36b7bce835898e07936a26591e095a509c2427b32 -FixedInputDataByteLen = 51 -FixedInputData = a55c46e57681d8884a2016e729b67d6bdf9be8f49a8a9b1c8e194464cb6ef3973e2c60c07130242cb4122a6b5169ac65f2de1c -KO = cb9318796e4b237a9079755dc8d94ce56709260afd8c5d46ec08f4e5a976f941ac119e60ffdaeb610c387d51f49c5e2010a236c55851510e75a11b3d26c4d0f1c2cb35607dfee6da1edbbc46abf2834b94b4372635f8c065c1ae277b19279da8e5f4919f3745dc38faf79338b6d6fdd650a0ab9b622d0402b03a15e4358799b3caec6c678d08935c68a37cd2930391c94ef830f0e7ac4510d8719d98bb96b01afeefc9ffd9f2b7769f00923c22288cb26216ec1934af134938d929eb79536858219fa56f9e431147 - -COUNT=32 -L = 1600 -KI = 3e50e8b4109a60c61838b86c5b6190c612784eb7b8cf09bc -FixedInputDataByteLen = 51 -FixedInputData = 788840e1a192172eea4b15f3fc4e641a387eca03940af1aee0e54dcdbcabf912b81a4b4f8c7bbd2c9a074eddb39c027f28d51b -KO = 61e433a0d89d18dc22659eea324403760f9d93d50174200629ac3ebc82bd9b5c35b376331d2fcd8d613c55f697377aabf706f01f485dc46d73627c7dd37f60d62ad6ab3e233625463736f61c344165529c523bd75a6d6d40bfb1ae7c2969318a8f47d3253d1ab178b307427c0ccb324c1d474e8c03bc69d84014f88a64fe7d7e12478ac74599148b27e455994817ce63c1732b013e15bbb978a40b604e1673818da5f445ab23ef88bd2d0fa046872e1c8a178775bdd86ba31dd71a549dc321f10c8e2f211bc2f54f - -COUNT=33 -L = 1600 -KI = ab1d34ffbb291540c6e7a3772fd22da37e0357090e918746 -FixedInputDataByteLen = 51 -FixedInputData = 2794ae1993684d44f999b7c43ed40dfeacd8c6517960f509adf3eb6d6b523035c6fb3cab4e7cacf3ebbffd7e7c463b50e15c4e -KO = d30f445cac417a663cc437350ec4ddcc0fad07e350d523d3ea048feea1b2f2b47b9c49078b00c2d7a11ea4d3148e8d0fc83d3e5f7ccbe37f89e22111f90d64863959126d89e584e8b97a6d945bfb79762d2d5aa3aa65afe86c38a4f4d0f473c2d05842155d6bb07cc65ec8028cb11cfea27d5fff427e3bd5e6fe45ef3d2ff227ca3d4b72fa92cb9df77bab782986aece2233d1c64a49421b9cf233d5013ddf17f28ad62f9b283071bf3c040bbabf10d1701f6077e5a1dea34251e93e265553f3516238737733502e - -COUNT=34 -L = 1600 -KI = eb150d499a5084242685548471c307fdfdfc8490e4be26fa -FixedInputDataByteLen = 51 -FixedInputData = ecbfa428a04429b07ce6f56db8b23ae0d1767dbcbb57f8543d368cb478427cc734a0b7081d804b9ad13e2dbadd45a51cce746c -KO = 59e89f52fa9ed0bffad402c6290d024b5685936591a3e5a69f5c98785402dc5a9e8eb8aa8315341017679c8021c7fc8a69bfbcec50c08bebb47caaf4ad4070e3c83ef8bd28b7ea6132610153b2e74b98d45abc382deda3024192e3f823ef469e3956593906152fb79a930d5049400ad61717bb3b792c17ba096bb48bbf4304eef54bfd88eeff0e70ccd09a249c2051e810ffa3c54468f8e2a05310af2cee9b74f61984bdbf7d07a287b711dfa7f01ec812dd5c7e94ddb5f54fe2c51caa1a0c0b796fd0697a1908d5 - -COUNT=35 -L = 1600 -KI = 0c56bdd2d0a9d7508c000f043257648b78448eecbcd88854 -FixedInputDataByteLen = 51 -FixedInputData = c047d1776c77842ea371b8e25ea774cc5ad115fead179b43fa535e31ce2b83b1216ab581beefa24ce937e01800cf99a172bd64 -KO = 616be283ca701b0161a196f2900aa70515bdc414ad6e29b28108e7b9a4dd236bfc8831014794e85cb03847a07151e631d43695e2498d094e7bc9ed1d63de8ef248084718ea83cc0d8936efc8a557a40d2fb775819eb92bc611c266c652a053936e9a10676eae5c9064ffb4842d7eecf99cad2d2309252d950f08815c024ff19fd705f928ba3537c07a86484c7a7c49003352bb1342411d9d165e9698dc2e996b0fe4f5f5feab282aacf13c18c8b90d96894669f4205fa12c42c865216b6a7a3c144071e2805c8649 - -COUNT=36 -L = 1600 -KI = 4cf7f9c48798f6b92c3c9714653d5281e2c79e881531b7a4 -FixedInputDataByteLen = 51 -FixedInputData = dfa9682960e61477b0cff72a68a3c0bd7521798a1e194c488ce6c4992701a0dc9544857efe05aeb783b70f89d372ba6f5d4d3f -KO = c586ac6d859fdb7b81bd38b746d6bcf6ef8272130aba81b77bfc0102cd0eaa7c14fbfd3e05b287e6b6efb99e25a7df4052fb705c53f4d4efbae1bfa0909f921e0d458d9fedb60e0b24e5bd6e94144db894d28fd2051011e425dfd88efb2537c8ddce02a398ed21d714c91adf6a3d340e35f617ff2c616b55d2a37cb7decd998b5f94c6de851b591dbea6e5d21587d756269d94e08dd3e44a1c71b208eb72121e5254ccb5e626c9ea35436d0771d4f96cd81a0a35887fab4a3fcd47f467d8e8c26b28900ab99a59d7 - -COUNT=37 -L = 1600 -KI = a14fe4888cd470169ed84d2261557df8c6772f689c7ad893 -FixedInputDataByteLen = 51 -FixedInputData = 4dde2d3a8361d2bae23ed7fd3fb81b638a7fee30251469d7ae0ba6d58db4fe45b03adcd68800e8afa6dcb3a1dc708ed947f1e0 -KO = 5d877f85d287e7575af1546d5372a2ee15b0049d03c0fcc0bf18dffff8ac24cb044ee82041b1edb2d4d9cef5f7ecb896feeb2f31c6d3e98d11907349aa2e73db3aa400ed084cf888f87fa93cf597d29a85e7e4c4835d7c44d6a16a451533a0fca762769a8be40dcbfef601b4933cb06f14ac94b5342fed865b5942e5c6a661f816e82641c45b97b5f45309bd23a747b79cebac71bc7112b1a2e7c2bdbd47f9f6df771a78c37fb6de54413dce23ee46367e1c98680acaf01d20c2bcb2cdd79281dc229ad5339eb9a4 - -COUNT=38 -L = 1600 -KI = c5c094963435adac94b63d4dd2eb6d067ecd9d944ea94daf -FixedInputDataByteLen = 51 -FixedInputData = 7f8fb6a6ab35b15480cf0231a6389f04bed18a9b186501fda173521eaa670a848673eabaf96dfc3dc6d4a05abfc32071b64d12 -KO = 7305b2a3ae565634a9734e112ea7fcd383fea040da95c0a0d6b7c5d1bb23f7128f69b88fe37d5fbd8c4bcaef3669070739b5861decb017f04c5ac92eba98ca683de11b7812a54f321a9f746d8c06d252a06811366033b567d2a26acf3499970ce68f24f5b3b505bfb758d76ccbd4751051cfdc9a01356db70ac1a173e233c190f7d46fbb4e23ce84bc9731b316794cda4ffbcd5277109eaa744ca2e855a086181e5ace172f3793e051e1f3816b4b747eaacd5f0dee131a2b65c40bb59ae5acf4afb881b4f320bfa0 - -COUNT=39 -L = 1600 -KI = e77545a5ac98faf6e595a669af19a2bf8220b4ea6728417f -FixedInputDataByteLen = 51 -FixedInputData = db97bcc1d3f1651f4afe2eee4e00d709ef29628ceda7844135518a4a034e90dd2c2070d3f5de4c8d3ef0a7e19b53bff44083e3 -KO = eea01502e1931d588680d61ad5ed8f6e9fae2e3babe2d50f7a0db9c76c9be1c711ad83fa9e59acdf061305f920e56fe50856c43e4dd2ba1b505912c679d800818e4dbeca2fdc8831cb9dc803a2962ad427671f7d799616cf3296cbc315b9d9ed04843cffb300dd7f68f56e54582da366d0c761cc6de4bee8fb726467f98bf680c7ff47cf436e15c99b2a85ad4f270f33c03c14909b625a13e2173974b1ca575e0229cd2d0a3d16b351454e21bf87eced5825b89bccd0f1791e49b6ed79c875a1f305885946943a09 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 562f369dd599b7004227b43c74a83c34f3801dcf9509b5fb -FixedInputDataByteLen = 51 -FixedInputData = 42246da060ad189217838c695c2f71ebece68d33b3b94e338dee1c74292ed1d00011288436dd73a8156512d128820d1474a1e5 -KO = 4edb73683c529ea0e51940fbfbd5d7824407e8769df52d1d471bf422c49a53e921904c8c03eaef56ae9b7776ecffa7614779fc69b7d5875087648c9b1219a136 - -COUNT=1 -L = 512 -KI = 6b37ca5e5fcd504dcc733b0ae03c46c31e93f0fba79f949e -FixedInputDataByteLen = 51 -FixedInputData = d77bbb378ac311e309ccb91efd2357a7f5363d378f37651e2a3bb887fadf5ce182e3a0e46ca8f70da763628ebbde3eebbbb6b3 -KO = d366325b7b0dc78235d09e36dcb989f8b25dc0288170e6345c36796bbac291b6c282e40639067550ab9611d95c9cf85080c04fd32fc4ccdbda92835f8334963c - -COUNT=2 -L = 512 -KI = 794a9cc3a23db279bae3980aecdd9198dba27d93f12cfc04 -FixedInputDataByteLen = 51 -FixedInputData = a664337fb8776d9094bd0cdf2e1ed534c61786440429ba938526d7799fc0d6b698fdacb72d46dffe583417fa2ef78a24810aa4 -KO = 8b86a9d539c320ec0faa664d380862be826149b30a77738949521214d684913a98e1f8a05308c9a6bab91c0fedc5d98182de056e6a6b5af2e074979d79f8da1d - -COUNT=3 -L = 512 -KI = e7339755bef8d48361cfe9d5908e6d6ef7737044ea8b54c8 -FixedInputDataByteLen = 51 -FixedInputData = c7de4dfe4427b4136f4defc54978e468b3798cc9034b72618ac7c0bc273ec837779bf720a7a7cb6a69a603c41175279c99e47f -KO = 517984b557fd76305e3c405fba1b2f32f13fad824074b2021aef57441d818c97822bafd9fd9051a7483d9c6212acb74cb0db77ee0cea653e0a62ecad0a3812bc - -COUNT=4 -L = 512 -KI = 4d73e7b889a3b07b261ae0d4db5ca8e000187d6ea8a7e05a -FixedInputDataByteLen = 51 -FixedInputData = 812c12273c0c1bb002fa807d9ffb9e59740aeefd33124babe6fd6d08d270da67706759f27da34fc6ca0d25d0c46c6dbd223208 -KO = 84cbd337d2e1f9cb5e26fe6b4c16bca37ac095c56884fe275ef4253e1f516f9eaba52f17d8d506959fe5f4971849c0568f5a7deda5a66d17d933d56845fcad1c - -COUNT=5 -L = 512 -KI = cca31696b368bce4c1e9964b1df2257590dae04b19792569 -FixedInputDataByteLen = 51 -FixedInputData = 44f781521dc6b896441ad9b93b9c704aa904ad94710eec681136fa474a3ea55013555af112f3fcf3875a5447256fc95694239f -KO = e336446bc218a98d8b1e46b3704188b977e01e2b6e3c6b2dfc9c80352db9c37ec47faf6ba06ecae1df7733f66fd839e5ed492be322b1db35c46ed652796e9038 - -COUNT=6 -L = 512 -KI = ae9125a478a5721ad692e6d9a1545f2ea8bcf1a2ef082a38 -FixedInputDataByteLen = 51 -FixedInputData = 4aa540bcd6de720f2553e980028c24d8540b0b88de9e880d89ec9d0e99a2ae78c6bf6747dd21306b7ff74dc9304450bdddf651 -KO = 6e070c1036d199738cda15324a92702f25e077a3d744fa006255302bbd187720f1b4077f23700faf6f2e63c40412f9f8648fa7cf7a1857c37b0ca8d3306c4926 - -COUNT=7 -L = 512 -KI = 8a6ab19a99d53f56061631e03076a5e561719460ba642b46 -FixedInputDataByteLen = 51 -FixedInputData = dc54884ff1afa1041ab6c46a7f005da0b3cc77f6a45c9ac2728830c2cec41155c58b41cfab96f25ebab7879243ab6a7163b780 -KO = 6f470d733c0deb79c816753577ce91fd9038bb03a2268c037a46489b84d9550efbe307b3ebcb48c5c7d5b04ca790bba675ef8d643e81bd2a03f9f9894d9075dc - -COUNT=8 -L = 512 -KI = bc5c9ad6a6976b26dd23f7a08a37b04dba3e39e5fa0ec2f1 -FixedInputDataByteLen = 51 -FixedInputData = 10a94389cceb4cbb8d0e48994c31e6772316cf3aecf4ab1a5b35c117415ad2cceb8dc4483d80b4583bf5e411aa312eedc4b9ca -KO = 4566c797dbaee738b6c80b60346f44d651dc4ad47ab914325c7df8a104675e42535ac8b9d348e33a9857e7e02cef2abeca6ad0c733ceb45622f009ba7fa6ad03 - -COUNT=9 -L = 512 -KI = 978b604c41267a3c41c5a122e322c2a805ee3988540cbfcd -FixedInputDataByteLen = 51 -FixedInputData = 9fa6b8c5a9ef2c696a12258c8cf676cca7c81a80bc270269bc3de34e8749d771f79708696acfb6a9879a44c9c4b5d86bb8e342 -KO = 38e2fcabe9ead63244a1ef06211b627691a950e255e33311d291c96dcadf489a430a68a433d968680ffb7aae1ae3228808f633f718be97e6bfe02ee757b96b0e - -COUNT=10 -L = 2048 -KI = 975648f965989826fb9cbb983e3f458fc65d421076a2ee91 -FixedInputDataByteLen = 51 -FixedInputData = 522bce65d0369293bfbca5dbed27e2acd158be7f78ac8284bdec4595cdee213e161e463d839b74b79f2d5a4bb260771438d868 -KO = d137b9190620db202fc49c2e6058c31af620fac6806b9ede65a5d7027cda8143d88f45027def13f0f462390c0396c143d6fa3c0024f5c5aa4a8702a1cead9c111a86ffc7fdff008c0d57248521f9307fff941de0bba83c5cf7c040e9a18909d6fd6662b977c6fe62f497d587f28e4a37b4a8ed82e6292487b5785fa2abefa51948bbd8c8dc2deeeb5ca44bc48454f68e16df70cea5431f99b7e6c35779df8af94cef0e0eb4b3575492fe0fec1c60eeb8e83d92e0f431c861ae4d11cd37a4d14ab4ddc5b57cfb1b70e2da591630666df32318fe235f97bafb33ac3e1e7cde6964100a4f3e3da1e17529c74365d277537a19bf5a73a3124237e364f28a4436e97e - -COUNT=11 -L = 2048 -KI = 1f8ae86579d0c7dce88d21e55e81cc194b79f634280d893b -FixedInputDataByteLen = 51 -FixedInputData = 3eaa4414b0c59b1cf697016c1f993052e8f70d794b5d2161a88afd52792d661fae6dbe9dd1180afa11e318986ba20da5a2c089 -KO = a946e6371f1e4041757001a9b4793d26a61b0b47c899e1db3a1484d9c31cf7cc0ef5ab222423513c34f374ff20230f1a76d88991f8ebd5859cb5a5dcfe9092b078943e24c52968395896ab33d2651a9edae019c3bac3e047059c7c8d089f0264dfa766b161014cd460631f3ccd49501341eff85b4af54670161918a3baa0dc744f2d8ad88b330e3f0e07f1dd17547f623bfe9d83160529dace6d7676b0b0286da2c455cf999b5e5f35598e1bcd46b829ac4ff3fe38be4130ef01d4942b03eaf6ca2d53ceca54877b8be10fcdb3d36c15a46d3f0c6bdc90ce1331066a5402502e77cc909877eef93b3b39af85279d5226e4eaa439cd4886addd1e1e2e4e1f7948 - -COUNT=12 -L = 2048 -KI = 7bdd583fad094e827040d852fb4152f2e737e2d7189d2e33 -FixedInputDataByteLen = 51 -FixedInputData = d217f25cfc703b5fefb5364cced517bc8f8b82d1974ff3cf7f51ea71afd50f9ee9e5cf0b468df20d46cf289a2918a91dd80110 -KO = f539e20b456997c987923947febd8a807a7cba85cc0355561ef5c7cece7fae0c6846711e9f9d7c4ec24dbaa67b340f389e8aae60d5b283acf97481cd90ccd304497910fde301935cc27c04d5e302901318e7cfab4a1a713a29e54c288a0c9bd893d7a05b182ce1162c3affdf3c9eae87ca9c86683059acc4c736dc058e962a3c487d5d0a1b00a0ef3aec5944e5af23d69c7b115a4dff1ee5c66c2aa26e355cf78f1ce1a4fb1902d4ed55a1b93e3d46ec8d32a338a10efcda8018122405064216d577c2b71436ebfd86a6f17a786a38241742464798476383460b51ed7ad88a76d5fce7b3d33d08e9819ff892f3dd5af89c91c4360a2bb56236669ced5e1637e1 - -COUNT=13 -L = 2048 -KI = dd8aac19cf557c716f902b481a8a210d3a543bc027b57a4b -FixedInputDataByteLen = 51 -FixedInputData = 7308043b604fe63a15016e4ee4b1da225399e45b7968502c66f3273e15ba3dd217afce4fbf7fe479e85d0de67a659e28edaf13 -KO = 64a66bad834d3decf49f7925b5603170132ceb427bb4f476aeb994edfa843c4210b4de27930145c576d3b7efb3961fd0b81c50989130a593bfe6bfa1a241badaa10c455fc4946914cfcc561cd930d38a097c0428cdecf4ac9aefe388a1c619d3b0be815960acad54ad94477a4e35cbb399a1bf8d25f402131e98618f643d16783b88d3d1b900da33552cd35ee932e981f01805c5aae6865e3990a343bb5ca7d80413a1724e06ea6fe966bd7abf967bd56ac0f5872e6adda9ae7157b7920dfe9a9d1d9dc80410e025d52da48598d8da62ee49331171596e7d67e850dcb25d9722d5324fb732f915d8f507de450f0c2cd656feeda2393c65daf161a79d32912437 - -COUNT=14 -L = 2048 -KI = e36b40971c331265d2dcc95f11ae9b901d9236fffcb2fbf4 -FixedInputDataByteLen = 51 -FixedInputData = f393c3461a9a4eb4aa79355e26c532011e8308606c91060b76171421aec62d50becd3e84216a8e02f9ede04828db8dd2757a35 -KO = ef0bfd829f9a422668a47518e5bc3fcab09674015ba2ad76e9a3b78cbc5ecc74df12c538ed8d7aa8e11ce4f7ed1dd03e12b9562dcb8475363a71d6744d60dfb5da1c85cabbb7a9c15aa878104bb9cba3ce9d2f345dfb0dfd3a2118632c7bd68df15beb17eb35b0ac98cc98101b68c4a85c7a5fe4e011c1b12168656536c7c5b995b7be5f899dcfd0e60351ecd83c88fb5b529e3fd66f3542e59c762b59d4869a5218bd205dba3bc797dc5dc673cad7331e7decc884fe486844c789876044773bb7672821333596966e0fabc61583e10ba0e02e68db36aee2c7cf2d3a16b82fe2af1d10886a57745f04e6f946ca205a0864ed57df399ef63cdb929e55b826f310 - -COUNT=15 -L = 2048 -KI = 0f746e8db5d7d09a280b17beae7455d7d6ee68be2768d668 -FixedInputDataByteLen = 51 -FixedInputData = f392a523f41653b3e57a0a563ddc5235cf8b7ae413ebde91b9744078ed617be6111827ba79f0fb08c8d47210a1b65e625610f8 -KO = 1f066f083871a7341739e28c281208f15332252b75b7dcd843b54cd0776c662d2a9a50e65ee0a07f5ad9deec279773601204e555bff2a3e1a3d4b6f7357a5f3e837e2e4c399ee95eccfa7eaacdce29562fe97eafdc46eaf28a59ee0b696acafb659a86fcfd4c8dff99267c1d6f2f7cf7a10a4234f8d8d55eeaaa27c6dae423f9cb54d4ebbf8c43516e6b004a88dca1833ea5606b7454834298282a3799b4e578655ca5ba265cdd9bb7f7198f6f14cfd50367bb166d7ad25c93fae02ff7dc5188963cae0227f5ff404c00210a7834e458d8a9594a562edb49a5942b27fcdee417e3c4f53e02481e4ac2c734b06d68638451ee96ddaf98f5f0d64b1c5131969779 - -COUNT=16 -L = 2048 -KI = b4d8bbcfe6610d0675128cd92a69e83b88104c17b2fc4d5a -FixedInputDataByteLen = 51 -FixedInputData = 3ff1d1aa06d262abbb647dca3efba4effc32c4c4987523b340f52debc936e730e75161bace1952143aeb0f89e4f0b7a526c9f8 -KO = 020705a0e6e799345a6a35f1309773344901b212bffad85337cf12a64d4521e909195809339ac1f038badabdbb4063f97336cd3076ea44ee5a0546e4158935bf5a65ccef80c15e5ef450ee1d1f05f19353b1a7b3deabc8a402d7278a4d47fc85dc0ba0176cd12d2612c4112e6d4bab692e67baacce6555c5d3f2ba2e07a0b0aabdc7690d5fa9411f31bc8c41fdb8a6327b6fbc714e88871e94ed22f9cc3b647cc9a71edbd333240d7da08dc73bdb3b7af421465a3c0f04502db863a90b858d14a33467363694ae9cf59648336e08f8546424433ce4ccb80f0309529867dc66d6f41bac4d40d35ec6dc911d016806ad3d9e86ad15a7bb079cc803e4ea9e9069af - -COUNT=17 -L = 2048 -KI = 6a5b955cc67ae5766c33b812c288a5b13d9326be72002ae8 -FixedInputDataByteLen = 51 -FixedInputData = 40877a12bea4abd3dfde5c03f99827e6de21774c2ec792ce72f70acdb76225af964b8b5268c3dc4811c3a3a04cddb8a460910f -KO = 3b4ca83a8c796adf2838802ce7f8cf74d8faa9aba79bd4c20e54139c528c286ad44ae5e026a4b522c8e3bbf384de4378f041933a29075b6f20c0feefb17390f9de2a13b7798926197328ed7b8e183f213088f3212d595147262b216d0231cf08e20274baa04cceb16b2645eca7250ee5b54dd90455362168c9debd5932e1b4d434e5fcca924745a348b089d65995f5361ada9f6a41092819809683a149a0557dc0f5364541dfb7e029a459311c7a6b69d7cc3c161bc1f409256b9bf5df92e1d1e24bbad72973d1f2536668ad5f098c9ec1e8b5064acc7575c32d2cf1b24fe070f577924f88daab91c5b284141c9c4a4654a21ca78af4af316b627c15b8096ee3 - -COUNT=18 -L = 2048 -KI = bb3ddbe514d4bb1d9ff3fad4579ef5542fd58b2847d3a186 -FixedInputDataByteLen = 51 -FixedInputData = 0378666549ef0b6614917625904a176c06d703ebeebb1f2e8c9fac952dfa5d914094e8f10944084f1a9dd8fffd78639471277b -KO = f0f7755980ece47b49b16f2401834127f03c07215b8ef1b477c4568d0a9fa2919b86060f0da06c0903a41735cd368e85735646cfb72a66288b9d38bfc3e993d3d342db473615980be6e77b39ce96e748a6a822562de7316a11eda27bd4a36265e2ddef4804dd9faf687de2a8a4fa895782650024f161234953d0b12a5d5f19dcde52ee4eb6b1ce77735d12571d9f7ffd026fd119e1946dff73eb88e0c99e966ff6d0f2333cf6435ba80c9912b5912625441fb6b310efd47d2497bf3b31aafe5df9e206d3e7fcc17d5c4e6d2f441db6ef6a7f8db18f778ddd23fef778703308d298b3d2287c70fdae480c6dfa27b4b86b2c11e751afb2dcb122c6bef067e20d4f - -COUNT=19 -L = 2048 -KI = 986ab61e3e8ce2789a46b3e8e6a5593575b3e54ffa34bc9a -FixedInputDataByteLen = 51 -FixedInputData = 3a04c899d3370fe7c434c8308cb324475dac4590e803f01143bf487dc52c878217f5701211a674e415c3967771b9d4352da031 -KO = ce4755f371aa496abf027eadfa666472af955495c7d5e5f1f57524259f0739d41d2d870e2fc6cbd384d405bced60292a23fb90c04c070ad2b8fa1bef407a5bd7bce45b975f5e4905b33373f83b74c8a6a65aa5172685f4af044d424bbaf828121d8eb898c0802a5b9103c673c65587990373b71a4650981f2af6be4ef7284b955e588c7dc45944f42ce8190039da02364ec31cbbd6be06ba371c517a58059ff06169ffc623b035bf91d5dd07c5640dcf02eee3ac1998a8fa98e292bb28b20f14071aa833cab25248894d5385824d2888ed92eff27c6a23b1b5410d6365a242b45e8583da04f31dfe355c427927d9bbdbb7601cb5a7617bd02e89f3b06c04383f - -COUNT=20 -L = 560 -KI = 1328c50a4b5057462f005fd08e1371dcab295877252bae4e -FixedInputDataByteLen = 51 -FixedInputData = c5dd539d25ddb076082e8086c992c80c0fdbbb83144fa2c9376fc0b52a592a66dc9b302eb3001b6f56a02beae015a7d6de8a5b -KO = 8f6e093bdcc0d233615955d5306f77e84679f2a850fbfc31af8acc85ff1c2ed7056452addecf8c8ef1364b82b2a77216610ccd7a7ccd11b00bdc35e4300714a30e2d4a03133d - -COUNT=21 -L = 560 -KI = df7913b02db1c6d84070a594cdce019a869597d4298bd721 -FixedInputDataByteLen = 51 -FixedInputData = 221afbd70f0b445bdca08f254631e52c6407c0c3ea7ac62b45c04adcd9772f3895698a2904202d9fdf38255910e970cff35966 -KO = 7a1f49f965da9b2737279f37fc420e8de4da5586a5be138e793cc4ef6e36cb77a0121841d50ec843c8a1111d4f624f937ed4345e95a5d86b43e33365b0b6c0b929c2e73fa25d - -COUNT=22 -L = 560 -KI = a9507e9e2e2d0ad66036c2f8df43f846bbe08d5efed262ef -FixedInputDataByteLen = 51 -FixedInputData = 62a276f2c210b98f6ac01d52763e1b6a26f5fc8aab8ff8324ca8ecfd1b687409f6c8a86b076062715f9b54a2ca95c8cd2a9d3b -KO = 33e9cd01324a1791afc6005aa23b22276b99ccd137db8442bcb7134a7ef47b37489682228275f562aa2d9ac89945c4ad5a55137f0c270900b1db8b82575acd6b8c54b012e158 - -COUNT=23 -L = 560 -KI = 937c0d0e7e3702d14008fe87873d26653184bd568cc856a6 -FixedInputDataByteLen = 51 -FixedInputData = b9de059370b1e1c75ad82225dc723b8583cc6380823310e7f05b3ef5ca26f9b0a37d4e01e419a3de35ae9ea66fa8d5b844ceca -KO = cc5f190906074464bfad5f89c780ef81040e744ff28ff56bc1faa7c419bb3a85b1a61760936a024eb59a8afba282d3577563daede4c13ffc9b0cfb97369aa6e9f328c1475eb0 - -COUNT=24 -L = 560 -KI = c551ec0ed07f8a725ab571310080cd35f364a412961d990d -FixedInputDataByteLen = 51 -FixedInputData = e8ca41967f302abf799f514bb4b5f0fe25b4bf452e2d5450cc8d888b3f12a70e26d8d0ae13ed15399be0a48e40b2ec6ab44c99 -KO = 9b8d0f0c8f811dbc2f2a22f75abc54b03397c13769c84717b9ea6ee5134252e7fb04262a7be11ccdb7def39921b7da0584b1bed3e3853fed6bb14c484d7a0e11f1cff433d7da - -COUNT=25 -L = 560 -KI = 9930f4fc3c286909dfc19d4bd2de35be7790a615de63a65f -FixedInputDataByteLen = 51 -FixedInputData = 40fa2ffdeb59021d938d2a968b52787c5cfbce3850e0fbabe6e00aef7644a2d764a688185efd69ad0494097e17345ab147a141 -KO = eab208f06f9e78dd1ecd083edeef311bf8c0f1b0442fbf70de76d4f2375fcbf507ed008e17a45a3d46e0243f3eea79fdc6ba7697ddb3207285831be70f6aff2fe5c6e1aeda59 - -COUNT=26 -L = 560 -KI = a09655f0709a21d26a6041587ed8efc06779c49917531b40 -FixedInputDataByteLen = 51 -FixedInputData = 2ab298af2ba01300d53d8dee73f4965c7eadd33594dfd5369962d9e5a7dbce780c5d3096672534590bd4a4169edae33a1eab6c -KO = 578e498ca42d2e0c29ee5f4f57a4b62716589d5c52c0a62ba3bcc1b47e356534fd140283d435ad24c8f50bd8b759b8d1498330104409795afce51453a865fc5b0a04c525cec2 - -COUNT=27 -L = 560 -KI = 99176bc5e49f938b592395147d328d09e74115693cd11cf4 -FixedInputDataByteLen = 51 -FixedInputData = afc2fb0dab48b5760f20dc3f0ca174a265e1d43c8b77bfe40d187bd99ba24f018949f4142d53284a38f86c32fa4ef963d97963 -KO = 142bb6a3ff0cb1f95c22b12d7894a9497e77ccbd78d3e6cbb8d3dcedfaefc625bb92bd0ca97f044821f9e6683d184cf4f2056376a4baebc19ce145ed27a0c8278963d4cae7ce - -COUNT=28 -L = 560 -KI = 0bb42b1967585392ec61d9c9ed9082402cba2ee0ebd117cd -FixedInputDataByteLen = 51 -FixedInputData = 3016d365e10b4491697f7e8e904f668fb3ff31602639cd6c6b6949d98d6da3f1a9f7a3797d6530626cc443f6052b5230e8d380 -KO = 01eeedf07bea91cb04dfb5906618f0a25b6199b3ed79e531e0a9d389d5ff58ffeae3c5e526dbd570369f4765d6814b409eafc77583327f24bea71d68bdc5f5756c7bce7e09d7 - -COUNT=29 -L = 560 -KI = 6136e83e482ad86e88f4fb1ab8a041f9e8de7dab7869d7e0 -FixedInputDataByteLen = 51 -FixedInputData = 3c23b0d862b68f6744c3d37b75cf75cc334eef1ef174ee359751f6e572fd6507983a0a66b30e4e110dca3aad8a95d2d1f76c2d -KO = 74fb1c569007b0447b438d8aa02ddf8623028f1e28190359daf92f55695ebdae13b36fee9863fba1489d8af20288228cd1a61f8e702e5d67d7fbf67c0ffc835f73b7f79c5133 - -COUNT=30 -L = 1600 -KI = 5219d3b1bdbca667a6f48b4cbf6932aeba04fccbf1a54799 -FixedInputDataByteLen = 51 -FixedInputData = d2a756f4a9ad030e8c26a7bf9e0d61d9a75481889ee220fe6e1adb482c682ef8eb080b92c68d5e27368df4dc10ad872763c3f8 -KO = feba5fbe896a38236643183c02cd0ab982c7437c393e17c4dd43d65267f1f1e73e5a102dd85530fd1268466d44713e1e09b258980b6967a2fb8446ed7378949e85bb97f0609d34f93f459f97e295039c830e7acf1ed1de1b9df3352008f8e32e6f90bd4b68b380e2d14f16286976f87ed5ed3f3dfe7f9d5926f5e0a2fe53a4f83b9143955c9573792dc1e1bce59428394909891ca44c1b45c3eaa849bd8098914b3f03b904da6f013bc7cc3d561e3a4e11c8c3e33494e6705037dbfbcceb74395b26a9463bd22679 - -COUNT=31 -L = 1600 -KI = bb22bdaaad0532bf7a54c2c7fb21d2b755c7d177be44212f -FixedInputDataByteLen = 51 -FixedInputData = 3ed34511536e5614152bb56d0327911b100a558611cf9fbb442f924022083ef7b76aba6d38d73dd489637fe1e2d140657b1291 -KO = 655a6099f5fbd8ffa88a2e3df90743a1baedc8c3d468d151c45cd7717da00a1fbc2bdf3ccf64520b361a2467cdc40a922657e81f0046a2ba8f3aa5fc768c048d28e6e64e80d2510bd8f4d136e6257b48be133af0ef10b9052308fb8ca26ae4a8228a08ef4819e97dd4d2eeb2d7c3d2cd1f7e75841e9110211e5700d454c0ddb150b9ca96ae8489a9f3e5f6bfa54e96fd9c5c122790d9d19f4dccac36c81b6feb6af42be79baea72afe6670433511aa1f169234f096e948ce8661d5bbd1c98e2f976fb837dbf1518f - -COUNT=32 -L = 1600 -KI = 76a31f7bbdadac5c62610a94fd6b06002932e2d88e548302 -FixedInputDataByteLen = 51 -FixedInputData = 58040277ff1107d25257ff4a56ea823c510700d75afbee4e78020f698ed12b4fac616a83cad5c6f467d59ca2376ec037abe486 -KO = bd38e47099ffc92ab45e80d00716b34b85f7d0c0e1efe78f0bd01b238a5b42f696889c0f6d73fc18b44604433bcdc75458efdb3d54ca4be991abb7bbb6cfa6df4cc9ff8385e53757f6109c73dc0583306827cdb9db24daeb543a8dec3bd5712e6a5ff20d5786f571c28940429f8015d300ad97ee93ab43f1483ac0333ffb8b8c83e7bbcfba772a09a496bcbd2b12e564b91248c7fe7318c689f2771ebbadee39c8d2c5a93b858f53d1bb80a15b965a67efcd03b9748e24d8148710a733301cfa357ba7a1cbf199e2 - -COUNT=33 -L = 1600 -KI = 7ddc56ab3fce06f5112ddeb5e8793cc7f7ca9b53ffa7ab5a -FixedInputDataByteLen = 51 -FixedInputData = 84542fdd397583d1848b677815543e796ec760e86b7c277773b5f63322c7df3ee2089cc841b0dab1b612103bb2aeb479abd0bf -KO = 0a35963301359ddf0c46dd61a6efa2304156453df87d4523c1f92dd4d65d5bf771cede2dd01803dc18fda5b2e9d429afb60a42ab2a2330a40c15441da04f53a935eac2a0ab9825d17a605e90451b26687020612c1f90080a74c4d2327bbd58d7ba6de6f9b1b9879db38c2da64319cad9b56ef3b7a504b391dbd0a3e4fddf80b89e4274aac79bedb095839868c0680b8e6b70ddefa14b387364d051d246b435fbbe7faa07bb678f024b553968bbc820d9fe962f6d6b8a0c3748cf28ac40174642858c162b2d1f6091 - -COUNT=34 -L = 1600 -KI = fbedae3be3161e94d4614696bd501355e052f42fc228abd5 -FixedInputDataByteLen = 51 -FixedInputData = 086e2c4160077aab9196d988c360bec2e3de356d971ed1e75864e1fdb93f50747e2526f9cb10f37ea65540996e55e2602cb818 -KO = 0e05c2290bcbd51dfbbada2891b45ce832072eef2da69585dde3c9676a6ecd3cba404d06eac1cd844ed807bb87607282efa94150b273f1e3f95b60c1943cf13bdc1b03bf02c412edb9396ff67465d60dc6d328020c1a9d632d3088ce767490ddfa454a5f66027e1b5cc0f4c187cf20c3715ded76ce2fb68f03c52d8c9cb0911675580de21ad399f8a09836fb8855b75488438537163ab7062f67f7f28429bdc3c86af394d1f95dbfdfe8020c3414d7220d418cdc9bcb459e05e0ee94fdfbf77d67391bd9ab23a2a7 - -COUNT=35 -L = 1600 -KI = 404fe0cc4fd92071957109ffb93cfb421d5bdd871ed8a906 -FixedInputDataByteLen = 51 -FixedInputData = 6f807d1fdc6eabcc8f5bb0eea14b8fa6e83ea48c566bb438457363aa6437f81392c94a39511937c35587ac56c0dae142c9b64a -KO = 65699d2071ba1d86b7625dd0043eb7620ab26590895d02e6812071e8c3c340f7b0c25d5d7cf7bf081510941120523f59d0406aeba5280839785c8549a53026a5ae6cc42cc502baded6f1abb690553c8c3fde41d27dba6b5bfbb4fb53c2dd83fd0dd8bc5ba688dbdf5145cb85abb42547b850fa32444074c6ef5da91e144dea7e90b8d77ad9f03a81d78ad8637ff04d931c7e2ac803324ea0f50b697a92f783502cd984c4619fb0dd175184702526bb5947ad2b5a4c3c4c387c94f459a74c2ed1d93cecb1bb1e56ee - -COUNT=36 -L = 1600 -KI = aca113ed2c95dfb133cfb427d33f819286057774a9c875e2 -FixedInputDataByteLen = 51 -FixedInputData = 9085b6379bd9f0ffb33415ad5a132ca2eb3bd70f6cbc145b2b86f09f1f50c82794bb2770217935fd5270d9c246828791fe535c -KO = de5b597cb73da0dc0ddd65f27dbc7a1fb99069a06fa057df6cc0b973d72eca8e5d27961620d21d9973dca705350a49ce0317a24d15ba33ca522ab50196f58951ad464dc16b3c76086694108cb2c94fb2eacea5d15eea0bed22e053891ea5ed8ad63d0c54187048a4586e8c304db558b0244c1006a3e8846d63c99a6be5bd5b1f0ee46c49fd50499b0ccfe238e3b2a579bfdd3a27299e3af941ce33efb9cda78b401b7e8c688da9567aa80972adb61499f9f17b0eb59a63c4204a26f756b9baf8536d544b4abaa164 - -COUNT=37 -L = 1600 -KI = 0558cdc67b37622823023e2728d5515fb28f2ccb6b76ba53 -FixedInputDataByteLen = 51 -FixedInputData = 60a94fec74af721d4899efb7d4765e1f6f9c3ee1b4eb2dd64126b23635d4466083253cb10ccfcf68f43d2c4285ee2027b72825 -KO = 4241ffea4ba4add308c625b64eb74fed8a68fd798ef219321c4e641acc459fea393a156bc1629027a3eef7fda10eb68c0bcb1e677a0eeeb06b66f61639960b527635736be30a9afaa811473b1fcf1554d74097112c653edb01ec27425a775128821928678153c2360a9481cedc384b52ed630de04f9f29252da29889608f50e4376348b5a8812d613bba5f09115a00e103ffd05d4b5b86b1fbf77160b29dbd22b104be4abdd5aef6ebd70b0214e2f521dc2ee9284f8c8142fbb459c7df6b2d357905bc7726daacbf - -COUNT=38 -L = 1600 -KI = 8d0dd220e08fa9e8a233093ab6dc18bdfd04d405ab26302b -FixedInputDataByteLen = 51 -FixedInputData = 9152e44505ad69cd61e880af76ca36035f009e66e8ddc594755a4749c5db64df2d817b4841dd2ee9f1947b2fdbe18fd546051c -KO = fbcaacb2f9809fd53f9152ae79b1408be47a2300bd1ce0c051d94a12739e07b60f3eeac2e2f07ad4f906ae1bf652d35502bf7269a3846d6f386c0d7f1f692d9807c5c1feb77ef8b4788fa3ac725af963e56ae4706b03dec121f3e0d0ce212f0421f80960a23534fcd17454db8abfab640d9c215a78e82d6eccc2f700f40b3b06299c041ce4ce2782ec9b5b1a9378551c01152cc89ccadf3ecaf4ea9b6a3e9167ab167f796a755068a7e2b1721eaf200bd27c63aae3d79b219a7349643cf8959b737a89d9c5968bf4 - -COUNT=39 -L = 1600 -KI = 9e7fbe54c99c509dd79e27ea4172a7c5258b4ace2ae8efa0 -FixedInputDataByteLen = 51 -FixedInputData = ac4981a08b27faac36e4bb02083b4c921152903b8fcdecf3ff993c5c7e7c462a16599ff03ecf294421cdfa0b663480a7da5c38 -KO = 05762f670ab8634f59d6b8e7aa9b4b3b15a2d9da0e783f8a524b757dc26fe392242f693f358a61d99e375dedae9685dd4ec27d35eef09789ad1d808e324bc39baf53a1a8f781509f47d95d073258c12b08ccdbc4c835fb5479ff1429e250270f7d0ee6531fbb2d057c6c8864393d71f73a8f1a7324090585674bb1bd19a08e3ec2e66b1d285297a4dce7a0a9f2cf56f55faafa04c5dde18517191967c5c1c918656f8deca112503926238fcfb509c8840517501b02026cc628ed3b3ab444e162868125b8a9e95a19 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = ec334425816bacb7e75c74927e86c0afabc6f1e4e665b942 -FixedInputDataByteLen = 51 -FixedInputData = bf4a1ec203899986b3e4123cf1a68f4c0628485c535af665363ed7b5419a91aebf72c6197b003de83320471eec413f82f39b1d -KO = b6463d4f79e6b872520eff744c37e6fe1e81cdd1523288954892d320131ea8906f40c531754d11a180e389f61473b3a0c41244576bff29abfdda24c1cc934662 - -COUNT=1 -L = 512 -KI = d363e1877099d349e7dca0aba5c61883865b90c7a0d1c39d -FixedInputDataByteLen = 51 -FixedInputData = eaffbc013f544647e5088f47dfd0a0341b1ab34b752b41781bab3674ef7cdcd15863a35d511776ab146c72e427e29ba1b2caae -KO = e40559597c2d34514368e22f7d0153d4fcc82f787ca77dd114f8356615549b61e665f29dcce8f6136b769b83eafbf3dd13a33017f4ac96223939eac20b4c20d4 - -COUNT=2 -L = 512 -KI = e2e7acb9a5b67d0448d4b98cce16c2c971f5bd1acaf64e9d -FixedInputDataByteLen = 51 -FixedInputData = 8f014be7f843eb80b0e6ca3cbcbdbde61b05ad471fbd08b91c4ccf84ae2621842f4850c2e24cbc086f4c6e5cf9d2d8710c753b -KO = a11b745b1ad5fc2ccd2811ef088d8e75f49bd697d159f24db11d741160e80e8f2ec3b3dbdf3df39b0c8052bcfc7540bc60aa6abb481c15d3c3e9054947d9bf60 - -COUNT=3 -L = 512 -KI = 9ed24b81f07b78ed157c629d132c1f185fdbaae936ea4676 -FixedInputDataByteLen = 51 -FixedInputData = f12d291baa5fefc2807497134a9a24b2da92a38bd2557858664781b5af98c38b8d1bd422673e4346eaa2123f824eea4fd400a6 -KO = 4eaf4f5190344389908b6f4b6f9b1794581540152e92c342058511c52076f61d7aa04b03f645df49585d929925b43aa17e684abdb0d8e01378bf8b5201d032e1 - -COUNT=4 -L = 512 -KI = e3389ccdb9508f8b028521c66ffcee37e862ae2b82e2f24b -FixedInputDataByteLen = 51 -FixedInputData = b2b25dbfc89a2feb1483f9958ea52943e266659fb27502d6fb851399ba2c43a3f9d7c6e08cb38e1a182f3bdfcdc43485b5bc84 -KO = f73967e837406908f3dd14273d3c4d80f93b27190333b84b63625b8076c9d96e95dac8e0b6e3e2310fef322232dbfb79b74c1068cf8c82ef69a7f8e28fc4bb30 - -COUNT=5 -L = 512 -KI = 951c0ad654f09fdd0303d59078055b44a7ab5612f7bfe48a -FixedInputDataByteLen = 51 -FixedInputData = fc589cc2ea538304bac5abe756b294b686ddd9521d984ad572ccad1c142bb07bf3b72f7abdd2e8412905f7b8aa5166abae788b -KO = 28e0d268260419c72582658f9a40631ce802ea640e13787d455925ac9722c92d7862d9861b5fdf63e695cfc353a23959312b6b00cf32a312747be4b847f3de42 - -COUNT=6 -L = 512 -KI = 22aa4326c97ae7a8f18eaa48db850e0a0c5e7fac9cfa9fc2 -FixedInputDataByteLen = 51 -FixedInputData = 8698ea927d4c204f9add03af792bf9f412b73a988d9e9ed61c0a74de388c65fe761e7ac1b6fb756942bf1483496e38783cd4b9 -KO = 8df5b8804716109bfde3bfb8dee18152293ee3c7cc49b4c92995660110fba98686b2beb4406e35763550ac5e16ac2cd9c48a8c3103780d91c4af22416f8ccf9e - -COUNT=7 -L = 512 -KI = e91f6dec4182ad2eccc2e246f6d7239c9ba8757fca20eadf -FixedInputDataByteLen = 51 -FixedInputData = 36b66d3dc30bd87896d965a21cb9dd4a99f17df572ac43751c15542af08d4e7eb7b79b9d9272f5ab145ffdb9b0a99a3dce6439 -KO = feed775c5ba0f0b518135f567fd05a30860b1141b0a26740463d632cf3175fb86f7e100901a8f48932aa5c993cc3ae9a36cb1aff16b9a6878f8ab66c993bfc96 - -COUNT=8 -L = 512 -KI = d956eb4e06038c71e06bc662359b9726ae635b375abd82b9 -FixedInputDataByteLen = 51 -FixedInputData = b25847186f55bf072eeea5a8e0b5bba74ddd59d4ff7146fddcd7e80e711d4ae41bd0d508ba83e14c9f5b15a68495c4ed46bbed -KO = 74b06aeade9d66c0813652b93098a57be4e0f454147589939730a28c8762b791b3cc3b6edcce1fd4bc2e57a39661f52087fb0df94565e71c234934983e5ae876 - -COUNT=9 -L = 512 -KI = 392dccb1196690d5e013038b60829addf297a9f2bcd51e8a -FixedInputDataByteLen = 51 -FixedInputData = 6b90fbd21bf077b3e096535924b6c1277cac8928a7bae7b4435633029c75d838494d39cb59fb471407044aaa966e835e5591ba -KO = 9bdd6e9c84d4a61a8871ed4a2deb7cca03f93f737c965f15824c83e1eb4c4da2e88a8b2cef4ec73a3d72919e473e065a2cd3d1fb76901534239e757caa989004 - -COUNT=10 -L = 2048 -KI = 1bfcfe279d400a9118f0a614caaad4aae574709c86ee4ae7 -FixedInputDataByteLen = 51 -FixedInputData = c440ec284e5ecfe40b417b824814e95bb55763df0bf9a13257cf138e459a4cf0548d18f13c9056205acdcd7ea7ac1a8b8ab447 -KO = bcf33462d2c0c6b5a1442ce28c05a14065b8a61725eee48f14038920b115b73c3eaf81449afb12d97f8203985a4fcd190cd44c23a633577acbcb47732f57a90327fbb152146b25ee4c427b5de0f26a0cc8e29935a82e9c2bab5768858825ba8eef6025ceb758e6a84623f1e84029e4bac623dc576acc6c6143c8b89a908b81f015c37be602883900cad3519dbd69f00a693c893e414ad9c8d72d93efbb90e137829c204147ed1bb5cfee71378b6a4646db2c3169c25de86ba1bf818fefd2cca5d46405889155b45b113c17294d34a023ecc2b0c100bb02966a5dafc3ddefd6a420ede113f814068ea7142b6431ba18d2fa541aba6c85b32a74fc68f94fc65c8e - -COUNT=11 -L = 2048 -KI = 6b6a5be9c2cd95cdc2a5f232cd96fcedecbdfdf4860ecd63 -FixedInputDataByteLen = 51 -FixedInputData = 19f1048d48c392642d5ab7d49bd7025da353eb4e59b03ccf298ed749b7dd68d883891b0554689e4caf47a720a70a982c699257 -KO = 27ede42f182f798224a242d9282d4f716b697c4303475313529c470ac75cb26459991fdd16d1ed4f6228f2c3d093758d36a10fe0508f163da914afd180b1508d6dd3881e630a8a66c55617bc174d655f8820d617b383dc101fca4f1eebf0b17252d664b2fc3873dc6b755f0fdf49dad66e29dd9acc895866096ef29933c778c6df69200c3894d3088b52a5dcd5f59655b95bd944c2e48727d1055c2b6eea52475b19f716778ea0e22ce1c1abc8676ec8dc14e0de9ba2e81832640ae2c21023bca2b53a140bce636d95ec9d1b2fff4440879fefdd66557cc2ab4830fabfcc3b16cf37c90516566b0ec33189d850190e98c4cc606de85d37c323283f79e6d42b94 - -COUNT=12 -L = 2048 -KI = a8ec3c359c4982931568b406671d9c65fd8163969320dc16 -FixedInputDataByteLen = 51 -FixedInputData = e5f78530c4f543e9ef5e85e819f3278e5324635ad9fabe63345e61941a0ad3a450f3d12c27733293153ed5157efeaeec80434f -KO = cc3426febffb4b732e2d4169db3a40c184c561259daab1fc7674efa83e0a2406ebd17651477ef2d9df951b0ff10609355193a095f4a012cad9c59b37607d1fde230f6dab337c5368456ea8452c91b74a9e24f45c2b9d640a6c24e7a697b214c51e458772d8ce64659c5840eb0f5217015022f2fbad3f904f85ba70c95adcfe01269f4bf0dc7c9f8c310b7c83f22da0c199a2a9473614eedcf45fa211c35b488b59e76abfdc04e933a29a9dcf3da9d66a14da93ecb4503fcba6386bfb214236c8e1326c148f8206f9c646721f4ea98edd5d8d9dedefa220aa4a44255b97bb87d047478df00affe341ce315f71efbac16073590094747756af352cd5cb04a1672e - -COUNT=13 -L = 2048 -KI = cd2ad01b3fe3d43f09220cab69f0c5715c901332cbbd802c -FixedInputDataByteLen = 51 -FixedInputData = 867c089e6281b04708d58973db5d140e7cc48569ffb8e0029b5d3a6873da152d7faa28e241f5489d573e85b26020c860e0a1c8 -KO = 1a010b2625bc58020798c7699b0076bab621851869506a1e6603d570dfb3da3c018a78caf49bf95cdb081b60cda57d0486a274b9b2eb8b2c58e81ff1184a6c7f0e94c22976973feaeb88b255dff08147a6c989d8e2cc52ab8646e9f2f703e4f38851afe20249725db3c2c68ca1bab2c3edc341e5f7b7c5f8987233740d776c288e4d8adf515311956893d346da3bf9075ccc4fb8d6df4e0369848c774c41d658f5be9060e95c786661d80888d5385cc4d72f99b08efc08e60495ce72745e47c33f64b879c4e0f5e46f62b03b5c50f69dea77b5628a4ae9f518f83eaaf2242a2c99337c3255ab26f263e575e1a610f256e60324add81021754523753ec6b74a13 - -COUNT=14 -L = 2048 -KI = ec2558198adfa94ab7505320def89c4091177406653efb06 -FixedInputDataByteLen = 51 -FixedInputData = f3ca7462b84c46754c3ea22a2d15cdfc46b0e8d5f57bf703f7166452d5e7f9764750d935a58741eb491e8a232186969ed448a6 -KO = 91c1fc08530c83bd54a9bc5fadd6c4e031a0d1c2248d9e9061a4fabd4b55ea858dadefcef353ce8fd5c14f4f5c311c4ec14fffa99b338e173a62ea094fef4f11dd1e3877536882c423dce7f9fdb69a1795472e53a216386212ac59a6aac0eebd097fb59178feb30dbca305399227dcc7d7aa0db24dac7d9730b346751a2b27738f3f18d1704987303cec73f564a5d494ca4c99eadd32dacee8043d179e72e36cf67d1072404f5707615058c19d5ead1124358beaf86730b99f405957324c78b05c773e732e74caa700b262ff6ba6c7470c585c386fe68b5d2dc84a33280199ddf7d4e7e7cacf5481651d2d4c6cc31fa6dc59265a5135e364a2f3ece90f5d482b - -COUNT=15 -L = 2048 -KI = 736b55d0493568b10401f36cae81146aec333985736828d7 -FixedInputDataByteLen = 51 -FixedInputData = 031717a091d637f77595a235eaaf4b99e9e6996c4d75d0fa52696f691804fc0f2a6f7c51cc4fe86340755dfa20578f3d8dbe1b -KO = 521f9d02d551f64988fc14fca939f8b8c1b4299f77bdfe4a00384d3b66de8444bc1b7c2d91723b40951c1e25ac7705ac40bc6bb1ba55133ad0cac68bea3fb6d5cdcb66828929ab97dc4d415578fbdf09a6fba62f3e0010aed06b94a82cfbe52393b7cfcc427fbad8988a2facfa9c4525731629a73aaa203cecae028f7b6af8f4aa525771e3c4a8c2746b6a8dd47a2de1c4ea2265a8ebc296afb56087b0f91a53e23029747cf1aad7f67c59302b05732db0bcbe3fb531a6300f23051fa229ba5e88c4fa577e4bee1ad8d8b71eb8bccdb1e6c52c90632a230c2103088d153ac828379cfc4ed9b64ae217458298e714c8964ad11d8fd12a9083c58536ec68541a09 - -COUNT=16 -L = 2048 -KI = 9f4d2184a6816d2b9c43f41f0007940a761b4a3cb165561a -FixedInputDataByteLen = 51 -FixedInputData = 76e2f4b597e13bf994dc4fc34b39950f80b376152c102d78bf98c307c55856e16d236ec7b12e1fc5fb46e21f7326b061362945 -KO = 70dc522b03505c9b91434f20f64a6a83d5138bedc1b76cc80dd90adb4ffe8920106b520051b2ce7d10ea280f1be6ee1f11959bd9cdcf20671ce6ad33ef63f784f742570309049f7b52c62dee1cf83e30a01b596cd56026af9c175d22fae69fafa51e38a28cea1d14c1e9b3405ad6a1add61859b628b0c3ea5a88598045c1c6172deffdef95b71e38e3704d2c3b35de32773508fccc648db9c09303dbfde9992aa9eb8439fa2fe993ceb0be8059f70553f07f307cd6bcd986ba84e8c64ed0e4cab87155a6a70c5314d4836151502061664666dc99e1f3d3ea1284820de13015100b0dd070528b76ae4b0fc692f73c4567217cdd92f2fddd6e664ad1797ffe3172 - -COUNT=17 -L = 2048 -KI = b129bd4e5f1f81620d5eff939b7d2dc2b70eef8af7c8d884 -FixedInputDataByteLen = 51 -FixedInputData = 8274ddd63030d2285a7b92775f2e8e3833b8fb61d2ed4f0cf76ee7d4b459b61c2e36541b6a75a2f02978c75cd1d713e502b4d4 -KO = 32634c04000f9a84c6563283d21af0ffe94301452a5846683f90d1e8194f882029ccaf059e24085d475f9a3cb96b2fc00f7f8603b71ab0df0bec0c807a7a6b1f9cfcf61f1e493e73cbe77c9c38ae18ec014605ff062649c7c28eca1d30f676492d07270bde8aed83789d72929df22d7fccecd47f9f0634a32ee456325bebe66cbaa668b59cf272e9a42a35fec765b874929736f6eb921fe286c83983a5d712295370e554b33b2020e47c4b121954c3a848fff378e13b06facbef56226447806ead98c7f44e740216b3530d4b7007594cf5c0f6435dae479ef71b94ae5b419546905ee2091e826030e61b7f906c9a09aa64dff93c2cb9753c9c62d89338687188 - -COUNT=18 -L = 2048 -KI = 1c1c9eb68fea7a89955c4d98818b814790a8a35b33798330 -FixedInputDataByteLen = 51 -FixedInputData = 24c02a94b0885b092d235d912a507b526a95fe1968f2c9e5a8ac783258b6d026ec80b14d61ea1e23c91e9b25afa3cd3b1d4353 -KO = f275e03cefd0b3221f7d59ed6e40a73b7ce217a634ae41c62076fa8dfefb40769f09e5be4296b9385a0e03fca3cf1fa266e6ef0decca384c0ab65f0cf175286ad651048f55ea5fce195a0e637578ac4ad18442e3ea426e14bf1a98224b0d74e71c3b6124faddda6aed50b7987ce207707c81b314169e8da0ed6f4fd50953dc80c494e351e9ef5e519e37ac81d3685f9748c29ec446190b473311960ae5fb9c405f35ef2d831baa7e400da4736c024e2500fb88ea1488ceffc6f0dfec6a1dbb0e76263af78fad540c97223b92ae88df24fb4b4badf1753484e5a1b59326f92c2568bf7b7001f5ad323e12b1e825ed2c39300f045d79ab5575623670cdecc9f55f - -COUNT=19 -L = 2048 -KI = 2a9a9dbada6080c07dd3b979343a13c606dce4332f64aec4 -FixedInputDataByteLen = 51 -FixedInputData = 73638723f0e994ddf3c59073ef471ae8d2aab6c9affd3df27d3fe6114a0b818594b2ff570d29039be6efe5bd27e9b384552541 -KO = ef6a4672bc3496cde3a540215807e9fc154b3f88f6bf6324f62ac6241a16f35258db6c74885480b4b24790239bc1aca939a5772bf7871b8e0e3c49670cf25ca9621d1d42f552a3b69791ea90fee97ff5bb785e5aa5545e5fb6de8cbc0f559cbd6c10be9e62b2dee594c77f303b6428e68daa275eeb885638d79020b405ea4e380f9e9358efd7bf9f2653acae149db20e168535c2a192e9ec63f710fc42f6a826c3e2688f80f0e8eb4f274ebcdd156dd976cc38682e86f4b15c093f2784400f7a3a407f13a5f4cf96bef08f3e5e790e0a7e5c58c8f1001a1194b0602419d2884b50fd8b524a27c95681a5fb5d9209f5ad498faad207327d19dc3c16b177119d5f - -COUNT=20 -L = 560 -KI = 7d8fb3b27c713290334786961ed441b87a24bd63b7ba47f4 -FixedInputDataByteLen = 51 -FixedInputData = 1841090cf41e9427ac7a64c093a9c91b938dcf114152b648fe89ce1c2b54d39b000338aad75238db50464469100d15e8917ff3 -KO = 3f0b41e5adc0b3f4094c808c95b6c607371ab68088f45b4068f69a598ba593fea460b88e18cb8138b6f64686e34c8c5a59458f7641ea3a9ebf514fb73aadc8ab84ea95109e4a - -COUNT=21 -L = 560 -KI = 2939ecb2107a1e2701202e94cd6cc690f94b66e6502e5b63 -FixedInputDataByteLen = 51 -FixedInputData = f9aa03c272c0eae0976268d4eac17a5e09428855f96ec470644967e608348370475d2a58bb81c953ffee1bb5877e8795777bdc -KO = 934c0b805f23a6ed3fbe3c53f1074dca819b429b0ea8a8340961898e086e3bb13af7be69842492ce70ab7ee49481379f909e7b79f12d01e21f30d77b13a6a86e2e97da3cbd29 - -COUNT=22 -L = 560 -KI = 80b1e15fd80b19f57a589bdbf3cf125d998f27720b1a2597 -FixedInputDataByteLen = 51 -FixedInputData = 55ade81a6342e54d5be8376ee1eb396b74984016abe6eb17e3479c7095121e455d580fc430934e8ae0646f7e95034b8c86b0e7 -KO = 5017588ecbbb0f3d959b5f1f77329862cd758a8531070b3841450a5c6e1ba645c6858c2ebaa5788c96e9df02a564a04dacae7f46e2e1c5ad71329c27fa07321584958d33ba9a - -COUNT=23 -L = 560 -KI = a2cfb7c336f383f0ae036ec373575c85eba3049b97fbb183 -FixedInputDataByteLen = 51 -FixedInputData = 5fcdaa9bc3c48765a862ae32cc5c4bb25d7078cd045b51d9154672c018350af2ba33d804069f8fdd84688e084d06e8e839ba98 -KO = 6fbfa7503a12f9b333e93535b4846ac44823bfecfbc2d1af69460f86fdbead55420ba6b119938abec750bad3c2e8b211c277aaf3886aec00119cc19e4afca876d53d5590acfd - -COUNT=24 -L = 560 -KI = 39105cd5faecec72fb3665e980437d1248501f5daebe24c1 -FixedInputDataByteLen = 51 -FixedInputData = dfa2b09f69400043e93dcda9221cd9159bdf6ce5b46f75c2d5c7399ac625616f553c9480c178404fc14763322d06e846625212 -KO = 83776096e24601dd528846997480833693938013e965310bb84034d5549b013970e75e8f94ca20986bf659a10e0ff93408e7c8f073a157e7bcb18d56d05f09f23016ecdbe045 - -COUNT=25 -L = 560 -KI = 362c65a562b0468f25e6ca8d435ccecc28a22d7ad5c3abfd -FixedInputDataByteLen = 51 -FixedInputData = e847eeffa9761bb60d20bc382d9dd0e8394dceec9cc558814e0d23acdb1c171fdcac09912639dac5f661c892126c580e85026f -KO = e9b4a4008b7766c410c145a37737088cae63b3aacfc8b3d6d7e7935c33a3331c378595927fd0d555734952bed2633f5383c48bff75ff5f347de6d3b07ef1881473c5ffb12d71 - -COUNT=26 -L = 560 -KI = ab2b74720b36caee26eb90575c3e568115044809427a5f4c -FixedInputDataByteLen = 51 -FixedInputData = d8004e0cf11f0fda7cdc78bf0792c1db64ad8af7ea2c2277bdad8885eddf8c76e9af52d462cd9fef726b90256176dd6395d62b -KO = a23e8e4f2d4f978210d50b4efd6f2e651151cbb768ec9a300e5bcce2546cbb0f60e3505fd8222a1ad22650e838e7d691bb45cc96ea383f3767a587d69952751b4a642ff2ac0d - -COUNT=27 -L = 560 -KI = 0ef4713775532d819e644d9f4a9a0bf8a0f91316efc353a7 -FixedInputDataByteLen = 51 -FixedInputData = 2a40426c3eedc7228876d0f445b9bcbe728cd5f1a17bebc7f24eeebe91ab285a87e3676820834b1f9ebb158a2fad532082051a -KO = 4543bca5dccad493574a5e1ad940a2961ef448e83f96c1b87c277e60bd4949799819b570cd6a9277b871758c772f3fcc49c5021eee8c929746071bb5c5e89f10357a2acd2afb - -COUNT=28 -L = 560 -KI = 8392e9cd8aeeab36d7102732b049b28eb1bd310302e0bf26 -FixedInputDataByteLen = 51 -FixedInputData = 768d2657d5cfa29be0df395d103f79ccb4d2ef6e0c54b511362ec064ce8b8bae20a494d4b5c7e8e7cdeccb09665f6e7a4bfd10 -KO = d48cd9f5294a5a73f231bb372afa447e14ea6fc15429aed4e0b2957e11ec44818da9af247b7ec39fff5a47d0c8fb66d670a90d83602f179a638e458c80924047832ba003695c - -COUNT=29 -L = 560 -KI = 08229e716d565e52eea184485d054227ae7fd48ff2c552db -FixedInputDataByteLen = 51 -FixedInputData = cc2f35cbd13ad28e8b8d810f10cfec649c7263816de9d0d5a54b9d4ffc277f12fe26a85311a8a391ea36072d95561a2da0451d -KO = d6ab18cdce4dbf834c9bcae94f6d9c68f6d8c532566196d4586f65553cf3593180adaf1b60b18ab3c07c343567b647dd388256241ed693ce4ad2ad8dd99d087a4831775a538f - -COUNT=30 -L = 1600 -KI = bc409ce7615432cd2392f8e689209357f5ac9fab4f149884 -FixedInputDataByteLen = 51 -FixedInputData = 2a52f8be8b7bd21c6b0e0e3cc610aada72d9504e6e72fa356ec6f360d3d5d4a15a8d147a2fb8f8b512264be630966784bb87ba -KO = c8e5cc9d64332a7c9adb0fba78202de07ddd02af9c885f1b0349fbb9d60d5d955c4da86c9fce377e9a295cd8c5a4755297b52142dd027307d5682767c79ab03e4de54442190ec0e216b2b414433c685eaecdda4bacc811e8b62a517091dfabd300c6cfea3a1927f5425e6a436055d21e6572bf923fdb973c8b8fc8c3b95e510889639ec7c2096bef0a92c6d68f970a584f8fd8b9c605287b067f184f8e774cb6bdd9d247e097f4a7ea09449a38fdb61e53c889a9b9fc3ac655ceecdb471168ff135506ce64c6e9e1 - -COUNT=31 -L = 1600 -KI = fc236df9e46c221a7ff22cf0ca3eae2291cc1ba88f997300 -FixedInputDataByteLen = 51 -FixedInputData = e64d2832790baf2f2e1b338e3bb4caedeb3278ba380212d6422cf824b40f6cc8c0e08cee018b9979f41d39cf1360e89a3bebdf -KO = cba67e4f21b4cdb75d9721f79db4a86213b7b5aec1419cf7eb15d46cefc1e03de7e4dbd565bc714bef56499ff77da2619c678062ada7285fa70d85ac150fb9a04ce7c5bddd5ba3b0b6b7ed4f21061d45f874401abe2ae37abfeffea45ba88d406867d93289391d9d3579c3f8ea55f59bd57c872263de894dc0fcaeaeaec80c843686e1c89c60cc3f28f71995e1988fb54921bd4474377c933dd339015b8e6c46faf740ea4923ac9501d905f347c1aea9cac9978a6579675dd8f8e9a617611d15c4f87169046772e6 - -COUNT=32 -L = 1600 -KI = c35f3e252a50b8f55896f08f3913003d4f89c8f39f77fc70 -FixedInputDataByteLen = 51 -FixedInputData = c1427afc7b591a86db09f7e8687cd19229c2548b5d1db5f7fcc55cd35d3f2e18b990e87005d48f6c48b14e41fe2d48ad7eaa93 -KO = a83e935f041934d90c5f5e4e60193bb227ca3f35512639e8cf15a630c5b378466874b51041ea9a6b9de4f409a875067576201ea0a23e886b4a8a98602ca01545aa1ee9e38beb5ea73412ba7cd36bd0a4fbfe7a9c6edc72ad138c125f63522f94815f909b403df40b71c3b1f4a007aa456d7be8d1bf013e4b4d462d9bc6c4e41208098db2241795d8ce95383366ec90fcde0ae05420341a1d2d30cad2a0391c154ea7ef5867b4eacb74b6f8ece8d640b10678dc1208199b159c5228647e8ab0f00825f74a9e6b8f0f - -COUNT=33 -L = 1600 -KI = 3fa27d0ffb22e70cb5e8dcc17f6a32792e56db969285e13b -FixedInputDataByteLen = 51 -FixedInputData = 29c1574aae22a7e11db113899c64da4657b81c70635296d8a71e0440d3d0d8ef75c6747ed7518eb0bc50ab0efbe85cbb6fdb4e -KO = 7e18401159f803b04db0694426fc92a02056ad6c36011cf1c80036fd1c62c71872bbe887e1b31bba5f8d6063cefeda44205f4d8b8963492d1b317d4f948e25afbe998f91c8d61de574a3fd761d635813eea47d7597208ea826f7ac9a30fb1be5cdea72626bb041d6703d1b9cfff319539645ae059d660d673f64604a3e53bbcf5d4c9610eb104b16972fb03498076f4e11eef9e3b49d5ab68df2533724104bb1203f43aa6dc82482508df43cc600d2e48c1302d7fe7c798b8ba9bffb2179e6eac96652228cb3b2fb - -COUNT=34 -L = 1600 -KI = 6b9298ec0275630ae699a23317264d05f04a7546c10f82ff -FixedInputDataByteLen = 51 -FixedInputData = 6f4737c75cbb21adf3c5e99385d716a910ab1bcbddcd1f7a54d9360c9efa785a13bd3b61988daabdefb93ebf31812628d32dda -KO = 84d52aaabcd0d710478fbd6d09f861b7b371dec1ccce234930539096188e3ccf05d91700fd6ab71b5369765ac49300d9f26ae0bcdb1f460d4c8c59a365f24b8808ccc5359ffac6c082b65f5c05ca810593e70ee6a2cc7f04b04e590ef0f2ee0dc39127ea2314f5a0eb03a7168bfea95150836bb99d3edbeaf4caf9d022707c17777e7167522d00e74680fe002df238b724039ae99548868f454e2f395440ffd4f53ee5f04006dedfb7488a1c99e692d073e393b8db32a11b2201f30e53ed3303dd464c1451c3af6b - -COUNT=35 -L = 1600 -KI = 4f0b3a84457f5a1a2a84f5e469ea9970e5279726b90c4176 -FixedInputDataByteLen = 51 -FixedInputData = b0503825870e14c76cd1def623079f0892c170badf9ab65b8c32d99957d1475c087c480cdcfe9061705559a9086d70687741c9 -KO = 0d653aed170e4c25dc1532b8236c68a6038f832e8fcbdf7c5a4204f96499cdbbd0dd854538866c8e487aa545a219e4915cb531b2f78172b952ab9810f16027cd2834e7cdc49438b3e732b21760904ce08d4918f79df943a648678ba86a8bd08256d821ba7a4da271676a542dc26560f57a907d9f50724181326dcb6ba126d84ed90c9c2f18c30d98fc721ee45fcebb39f2cd104395f6c1dcf79ec981a64827ab8a8953b110ce0d692f179cc446357495048e8611d2c5b81205f69532c7b2e9e40bd5b616fc6d01f0 - -COUNT=36 -L = 1600 -KI = d41379c2e9b2138815ac5212110e5272c5285597bf348c0f -FixedInputDataByteLen = 51 -FixedInputData = 8b954feec3d13a5a2bf3d2112b12c5698c4e34a5cf6740cbab2223cbfd1241cce013725b95efea053d5834186162ab2dcea0e6 -KO = 0b8cc9c12cfaf5772eaca5d562a44f9206ce92d8e308759b4ceba3099edf06c6c6c0ee846840a9285b7e8eb3ba40e0cac1ebf392907f9342753b652eff7989aaae37ffe847f48edf60cb714d93324969126ca3f4ef667b1e38b47c3b159ac6767f7c76d5453bde79d64cda19bc66f55beffb16e761b16b7f9e3753745126839246546bfa08a611a2f3e221080197637f39b696e0fcaf3406c2b455752967cef2e75fbd1b581b670289289400701c443b3f49a365bdd64733fc34de40dd9baac22d02428d18bc8d27 - -COUNT=37 -L = 1600 -KI = 6a01d0d29d279f50131de807d007fe116a4241291b75fe75 -FixedInputDataByteLen = 51 -FixedInputData = fb60235ae0576a1b0b482dc74508352a349bca194585615279f46d012b55ebc8261cc6d095ab00981a76c188fc06de984d97ce -KO = 7844b0acbe645b7980681e9b197a00e83ba3e7bd7a9728692d1e0073a618367f9ce5520ca6a51ec077becc82f0174156671bd537a3e4fa8d572723944c0b7351bf2ffccbdaeb49445790e02a02047ae4b308bdf4c7e77dbd40316145f2d441e210912b50c92755b244720ffcb77828e02baf22c47ee33e2db537c0b7347bbde7fa513f281c56909c85b2a56c9ef8d961c753f4dc53a046e37e16d7e4713fe479c8ca14833b7bfa31e6f68616048d6bc70fbae30826e7d81cab235f9d6d78bd46e5509d100bbfcca1 - -COUNT=38 -L = 1600 -KI = 5d5d8c7f986879991305453e64cd3c11aba152881753c81f -FixedInputDataByteLen = 51 -FixedInputData = 8ccb3aa12230fe8924ca195e1a67d852e91fefb85cc4b9df8a57b42d0e5661e205dbfc5642d91d00573637dea64f83d8d48dcc -KO = 3d27f0ab454351eb0e10d20c99f65208cb8d46b9ec3e32de61415035aebe0df41b2fd7103f14e234626fe25bb9d6effe58aeeef128cf9e2856f503feb1a3ab68837a0547b59abc17cd08eb8b499055af2d48306f2fd6ac6db37fe76d5ddb1da9fc0d08a4c0eafa632e38d36a59b519edc03139582ba04e9af9f02842bafc3ab6a631de225d9d00ef36a2241e32859cf0ef4db2ecd7bf226dd34f8c3bf79cab1e1bb3ebc94b5fe70d52590d4ddba6bbb7b470a9072028b3d93d5f7c6a4506711bcafa169bcd68af58 - -COUNT=39 -L = 1600 -KI = a32f03d86b3e90c8b664ebff1335d9e4d31d40db29debec7 -FixedInputDataByteLen = 51 -FixedInputData = 17c09e1eeb02de88a6b818ad7a181fb84e949ef702e52a71938ee7884734472766fb33252d87a0a808f08c68c6431c2396cc66 -KO = b96b7d24cbcde164547ded1dce6a7d709efe3184877bbef27f51de09edee9064e7e9b0f132bbbd6910e4982e23e647e18dd86344647e66ad2bb66b5fbb2ae660527438a9384f331adbf749e0218c05d33f700c42854e63b62e55915dfcde67bbd796f7606d965ceec8e7bb66eabf3090de83a3835177db5b31133f0b51fc2c9dbd10f2eeb0c759712101f5a0253f19e8074d0b1acad1925c1307ef4f876f4bff3dab7abc9647e9a898a58d0d0b1cc34c6911d50fc6d2d27f9d63ad82c40ce2069cd400504f35826e - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 712a8778be792bb9d4a3285d165b5df8ff33b98e4d84651d -FixedInputDataByteLen = 51 -FixedInputData = 7b07015933b0ad7ace0f51df1b047e11d8b0b4d8f43903a1034ba340269254013faf80ed3b9b6c02003c01e64aedff1f86a703 -KO = 45308cf8e0aa612c130a4dc3050353da17174cf7b50ff2a43187ee41bdab27c27e55e2a3b6611e0780c5a328a4f72ddd951bc47c0c53dae9d52566f2869ffee3 - -COUNT=1 -L = 512 -KI = c98c1fa8fba7a856fc63755ac3caa8ab80c1eda0ef92dddc -FixedInputDataByteLen = 51 -FixedInputData = 5febdd0c319196a1b832251a71d8842bb4cb8c67a04adf912d81d87ccb72944e638cc4509c02929c16320b8f6c583a4a3e0c08 -KO = 1a9f0c32fa9e0e35ff9368418c4fb08ca4ba749556eb0f4b53c08d5128fa7dcbba682d3656a86278c707715fb006e6a11812634fd2efd9470ae39d6fa2f538bd - -COUNT=2 -L = 512 -KI = 0e42a1411de051f5d4ba18807005cb4a5468a030ab85c6ec -FixedInputDataByteLen = 51 -FixedInputData = c636dd7399432dc14bf628ef1a8826bc0b0f2ad3291b2f8d6c6cccafb93998219b15eeb654005dae6f8a2182577c0202eed1de -KO = 9d4cf834ae11f6741c9ede08f556b2199adddadb30e81199d17df16faa75caf8a71b334a19f2b19dee2cde1e5989b3a705a5c0c7bd9c5b4e4e76cd9a5927b7e9 - -COUNT=3 -L = 512 -KI = b9cb92597fd93f5c1cc81fe21aa21f3986f6a2005a5b5572 -FixedInputDataByteLen = 51 -FixedInputData = 2ea79a3ad4cb2d727b42e5de66fb2d59aee938702b49828b3d23c2dff2d70f8a17d8562dfb62464aa1351d41ea8db7d129d677 -KO = 189d20e6ee69f757454bec870abee379cbec66fd1674db21d6ec933a3cea24d2eb2becd864a6748fcb5cce64abbb05a30b18d48ca9ec601587a3aa6f72cb0187 - -COUNT=4 -L = 512 -KI = 92cd4e0d200dec738d84e5779353f7bccef5304a216966cb -FixedInputDataByteLen = 51 -FixedInputData = c1dee3e693f8b918b63d0aa10ada8df72860359a760cbdf7713cd38a264787b59fa96ceea61db805b8842f450439286c366499 -KO = e2352a0b7112f368f470c23413059cc0f823c29e675e704ef655ac1f14efdd3cac1b3939912e77fc41114bfb3999b13dd1890de5e04a11cbe0396929f91a8d6a - -COUNT=5 -L = 512 -KI = abe8910f920ecd90ff8ea9f35fec8fdd187b56273a0ce8c5 -FixedInputDataByteLen = 51 -FixedInputData = 3b477feca049bf0288b95f81314edd9825dc71ffebdbc9fe9555b7f1219f456c7c8d9cb3014e1b0165a9dbc7ee74839f35f2af -KO = e809aeadb83fecc43211cebbe6c42ba1594c0f853f0d204cbddc1241ea34688578095f7a7d74426791cea67576f5ec0706879f7ff25a199a25538956d8760fb2 - -COUNT=6 -L = 512 -KI = f938d94579fbc5cd23c492cf5802dc8640e6ab44c8f5069c -FixedInputDataByteLen = 51 -FixedInputData = e03fe5d8363cbb5ddd88b683ad7e36b12be3423bbd290285b49f40ab8a1a9da95b6f3b1e37ec647084de838b05790cd6dedda2 -KO = cd6c9bff63fe9b5d06243f30c81bca8a8111585ea36ad2e605af09fe19333b9c9addf748cbace7ecbf034f453f6d2423801a8bf7c78086854d675846e02c433c - -COUNT=7 -L = 512 -KI = 12a02b16b13e3e26be6c1f5f7ace3bfcb29e6760a6ccc38b -FixedInputDataByteLen = 51 -FixedInputData = 48f1a2c0f49d7d8df80ac5621ea432a957f2a0f4b855478988d5bf8081059d6e20c108c112b1345057b828cd462dc01f9c9747 -KO = 22c902a7fe5259f48c7e430245158e3de17ffbe2267ad7fdac5978170eb7ec9d2878e2f173398f5fbf091400d009eeff5abc7861661e0f63a1687c3423c2262a - -COUNT=8 -L = 512 -KI = 7a26c698e9b31088b4de4ae765beee5f0b9a8eee13579caa -FixedInputDataByteLen = 51 -FixedInputData = ac9f37a8d25f7d89cba7392f99570574bfcf104d47ff5569bd88ce393ebeffaebd61063722070882483be088f4bf13b778c830 -KO = 5803556f87a9abe78477382e98dde2eac307a09e70cdd9c398b2662c73cbcfe120555f5ad65c17e961a0fc4f899de55b03042c6bb532620e7a64a3849168a160 - -COUNT=9 -L = 512 -KI = 65801180fdfdfefba7ed14a22701fdd2f155375cf619eb04 -FixedInputDataByteLen = 51 -FixedInputData = 3fbe80297dd11698f51a02c7d50b03ff6a35a35fe78751024da7f92f112722cf89e2a79646383429b717026e9bd4419b1d9262 -KO = 04b89c7de957523ca0f17ec1d0246cd4ece469a568f6009a33cd1110c9f94a98ae287630aeaf88f9eaccce237b893bff7a9685c47835e1a7225ac49845e3b455 - -COUNT=10 -L = 2048 -KI = 1edcbd9f17719a99757e8e1c96169100bef6a6d07b7045cd -FixedInputDataByteLen = 51 -FixedInputData = 255d403ea7974c0678f4a38226673213ec60dae49f8575ae0f25c0e587a41343599bfe85fbe77031967a6ba9d55fa6d9cfc1b4 -KO = 54fe19ccaf620f40b47830c89ee24f54d3844588853c7c4454459cbd5e10ac0e8a4a9059f33ecc5b0c75e0579a4a25c33d16a2f62eeb1b84748a10f15c4dcaf07a28067e8b75e6fe78efeeb5e1ed1a6de4bc811d42d04fc6c11e06335b311714368212b54f22144e4fc538e3ab462f1188cb7f8e544a2d92f4d25e86382c81e86cc7a4752ccb44580bb0d1d96eae6f12863a4312cc1cbb433a4caaac686fb52a3015c4733072039226933bfcc06775f00ed2c2c24087bd05d39c49bab89b76079d495c2c1685157db64a2f3df1a10e26e53d29f00c0e82ddb8b38ee48d93fde231a1af9fdb1a964fbf91faefe78ce5b8fda58e8413d6c1506e479c78fb0c3e2c - -COUNT=11 -L = 2048 -KI = 3fa2b4538dad494a1b2f62b93b7a54222e051d1fad8bbce2 -FixedInputDataByteLen = 51 -FixedInputData = 21841229223f85ca094a9341edeb629adee9f5cc4220476a0a43a5bce62c0a5426b6f992e50fcae2708a09e3ce1cdc737a6ee5 -KO = 9d0a8aae138b26ab9f5416ee2080be6ff23a65c20d2dfa9bdb3463d1bb0a37f0b43cbac4c369f7135bb3ba8db84e5dc7902ca2044ad78b5242352bc268e87500eb0f7e4e819b5229003ac91d875ce16237f84fcd780051729d58ed81d3bc0b3ea9bf90976b8692b6d132be01748cacdf24afc77020195b023f95140ea925df5cece7d208a3fd1fbac471968270f2cbd70e8ede9770d763aaa175a0cfc1146284479aa3958d014d277aaae3c7a306e614de3af2a92e7b04f21639cd1ebec2deadaf98edbcdae7d110ccef810f31b2858a0442ee3298e61d83bdbe5c64420ef24d74383765f0b8a3639a52cdbb8261fefbf03f27e482f0e24be3b202aac955cae4 - -COUNT=12 -L = 2048 -KI = 329cdd155f37ba8c3d44b2e9abfcc1173e52dd5a71e5ca1c -FixedInputDataByteLen = 51 -FixedInputData = d7b210ff80c43489c928234f0a0e02a3614f44a52aae394e62314c74a24956b87bd7fdda8cfc9d60007f9e1a550086e2b8f2fb -KO = 8934b60c7d0ee7df2dac9defef1ec725b63106bab24b429a6b2e87d037923d266621e5e892eb0f7002c85666c3ddc61ef7a4a22d638a530a6c90202f7fe7181472337af9f8d36224ff0b477a8d078c36429a564e455401b7fdf978cfbe1891dbf8731db2fa7541b46d32e977c83dfcf28ee2219363dca7ff5b21d90cd0b1e16cee8be5a3c749528e7cfcee8a9bd6565cdd2e3d7a3d461b89e5267c958f39d94e51ae4be17ed516d088fd4250eb62b50773edd37da0735265dce42e24fb272376e0322966e72380133d890af5ea38a18913f7d7e1a3cd02dac953ddad5ed3c97b504a796d3fab81a9fc5107e880fe19d7015713a401460d03b9bfa7db91ddc23b - -COUNT=13 -L = 2048 -KI = e991fe96746e769ede6d4f2edf651894f8034733e18d5323 -FixedInputDataByteLen = 51 -FixedInputData = 6f8f91d0285a5140d372010226234daec79d67d36acd8ebb882d821ae31c6afca8ee40414a10fadaf458ace81341f19411d4ce -KO = 2f1531789cf46f074dfcda88f7b98560859485b8f1346ac6f8a593926c584964548eae1dbc07e8dd2b7250820b4c83ed25676bdcef5dc6066b4a9e0c05f1b638a62aa33009475adb6a59b6f7a438f389a24e7bb1cf37d80103e07dc55efd4ef8d8928b608b19240fc39a12892ab063633caa528dfa2bb9b60d44600b2f539b30f1cf911ee522241fb335c00f1a21392049702d0e3c2c6343f9077c44996107334026d786cfe0e39cfe485f55357b3c2f3cac55ffa49fd53b4678415c47e33709786518b38c90497f524fc5ff63547eaa08d356c3ae74f75db4acee24389bba5e510bdf7b278a76ae6ca9e57cc0f3b4d70c837a3f5e1e2a7d58aadedb7d9fcaf6 - -COUNT=14 -L = 2048 -KI = 73d9d2bfb3a0e24de5ff8491f6352b789a8b49898db3893d -FixedInputDataByteLen = 51 -FixedInputData = 753a6f00c6b0e862a93ca963eeb3bd87a5ab35a697d2560f60ef511916a6f9c4bb16ae49cc176485526788d6c9264444fce478 -KO = 0da55ee2f07dc2b4c66ccc5cf9a0f8d608d827588813a84e6383c58bf234083bdc643ad19a4a22ac93f43246b093c01d7156dcb5181746325c469db83d07ce4f01734f0ee6b38b9fb13b4dd68b6c5c9bfcd46c7a009fc5ec6a7b03e9ecc12c9cc9a4c103882800f2daf854cd8abdf9b0935395063ef5301e2ea2946f3dea14e6f557fda1fb5a8065c643f5dec28983baf75fb729a60d30d8ed5f16e2fc5bbf4f4f92969d9ac0d60cd1ae6d1ee6f84bbc554a8f00e359558a932dafa8aeda5fe519c462d7263805801d54c468e0ecc953b6fb6ce764773082c0f8139d67612c9e49982214cf33218dde4a0abddfab4448e1dcf39d251baf91efa8aaff578f7555 - -COUNT=15 -L = 2048 -KI = e9ccbd33f624f893a0beedd3eb98ddde6b9ceb057dc42a30 -FixedInputDataByteLen = 51 -FixedInputData = 25e2735c1293a8464cc9d536fad0f9a237cd7fec942cb34f9411bd93a5a6c252a8e7d5246d9ec54996b4e3753eabf8e6958e09 -KO = 33d339a055a13cc82a0bdd757552a84b73db87bd44dd8b67fd94f6a08a804567eda34aba2fd353f78f55b764e0238a6a1918c6fc0ca77dc615c04de568c7d2e925336f27a8fd19f5090040f5ba1b61ff483a86d6d75d1ff158ff6259b486c886c622a085f6081d0c5c1f6fd3564bae1de365a834ed09b5f4bb3221ade4b37389ad853627477ee650837c8b4bdd800bb3293202233ca9c5db13c72023cbf5184a5ac5f540d76fc946c0a7f8fb6e1f1bc9c88b3e57881a5f072223d3066cc3170dd6eb94d9307b49a06f6576e3f7d7a9d2ae5884fbc853839599147c0e20c5a72e3a2c5d43d7e4ccd4972d95ef5648f335935667250a49fc77a147c8647e332c36 - -COUNT=16 -L = 2048 -KI = 430ff5b5b7d5fb523621dbe708c743ee7790c52f988de14d -FixedInputDataByteLen = 51 -FixedInputData = e1ad78132e967287ce78876e8a18dac71ab794807a548b3bf95b237ef7dc3d73349ee2bd21ae4ed126946cca19d9f9f019fec9 -KO = e7e0980be36e94d89ac6fa81601493b36cc5d2de0a0ccbcf286f5f03f8099f87d8af351b9221378024e735d971bb9b1218886bcb74104fa76f9348e8c8ac5d452ab467936520fd5d4a82d8c667d9f3a2b8835e0984b9d46991f9968e346d3d52aac8a2c04e918431f3b2e3995390a681eb3bd6a5151c1ba8b46f40daa99a0305b5755d427232ddcf4897efadf353b920f9b69984ab2b1f1c87b7daad0a90d1415cdcae7999aa8ce41228d7ccece40ad52074e4deed750bab7ff1fc41c1a07ba4a24657f99b53680921797b75584906ddc031ed1d364713a5dabf1dd8cf42b43230a8f1fcb34289fd64162f6c65f1b9f6b3089fba5066613bdec08f8085153409 - -COUNT=17 -L = 2048 -KI = 634dad68fc0671c555001103c1e5c761f5650f21400df7ee -FixedInputDataByteLen = 51 -FixedInputData = 82adc86f0f8f59f6fe5c7e1275ef305fe82f1e6c1e53d7b96be1eb6a23a8a7eb4fdb35d775adb88221bc14d55832e8daeeeba3 -KO = fe87918abd8170da9b3513c1d8bd5be97ced2ffaf49b30e96b5535c91b5fbde3d7c9396fcda4129d3ac6f1a57624ac9f79b443e3d6f092bf6d9d28ff27bec219327b7ea46321bd4102bf2c947b732cc542cd97ee4b53f65a00f8bc09805305df079e94686793a54c08704cac2408c1d54d468bba9e95b45e0dc73e2cdeb9f514371b5de0890be72a8513a0870981cfd5aa874a8d95d388a4ce26e05bfd0aa4383a9ac3512d9e4dd6a1df410872584051ec7bf09ad72aff39f6e661e314d069551b3bb13276adba9b117517d043b311d08cc15ecb58e79aed6282123b4248d3ef8f3534b3d2c2e1c1e62a0d8b8aba32ec9794d9ed6cbb89f352d2d46cacc67a62 - -COUNT=18 -L = 2048 -KI = 0b4928d8ee48adef8e6d7b716173900d448c12b335e0bafa -FixedInputDataByteLen = 51 -FixedInputData = 1a28d9a5ca27387a8f4b1aeb5e3edc0dd8c780f0aa941d93e6dff68e81f01613c93a5faedc69b778874fd883739a1f236ac0cd -KO = e41c5a9fcc4c69c89e42fef0544535c6da4fe0b7de20954d8274ef82f36be28ae1e2a2c8853a171fe004cde1afb865c1063dce51f9e485ca90bcdfe0bf2aa1fbd29046cf007a163f637826063b03010e81358a9eaaad522c20075761d0b174793beba4963cada0843099b5c6d197f0320c9bb3a7b5e7e3646deac02754d02c22fae6accf5b4cb4e1cba8af01e927fb49968e86d85cbaaa27a1ff2d1eecea455722f1bca24ba325466e9d598e624daadfc0aa80e3f0f192e672c16d6f8417ee05d6dd1860d79443d095e391317ba55c34b7a989cb7f299f4b51eb22490933f0efc698a172de59e57c45dcbf5e2e6800763a5cc1484ffc0d0594f5cf024338cfc9 - -COUNT=19 -L = 2048 -KI = f3482b38a59b092f79456e186bd53343f05c591a3376d76f -FixedInputDataByteLen = 51 -FixedInputData = 3a97bd2667bcb31156b2d296dcf264b095be5a1bbbd0a67fb56b82d311befb836100f16f2faf6473647eb0e8b514dae8247831 -KO = d794ed8e4b6bbd0fcc380af5c5f370cc3300f3776636e81d9d0c452ca52c91c66684e14606288c197ebf4c27ce26beccdae227b0f2148ed1617c7d2f8660ead3e5a539cf54c747bd2e1a16ac668b2c899a910d0462a8b00d77768184a21fe2eab9e2d41697fdc328a079f18b26f776f3e62e0a4a8035891536c8220136bc5ac01cfe2886dcb72afb416cd364ebf99a4ac9838d440125e5722858dec249d59d6956a01cf356fb4e0356f685cbf0435e6b27284209090013729186bc6dabdea8a62765f58184fb80495c10e29b66567c1609d59a50291aea263793dbe0c70ea1139a373098095a47e21fb733f284be5ef18aecea771c7b73f3081d5b00c7e39045 - -COUNT=20 -L = 560 -KI = 5bd6a75d845164e2d335fbc3bdf222a956db3917d4fa02f8 -FixedInputDataByteLen = 51 -FixedInputData = cc1f191c5788a265f7e027108bfeda9c79a2b9864ed17c4a7e0c08de3bc89b43972f1c76fc49b8a5a664ca9186795837704fb9 -KO = 657abfc8ab19d03849d1246db1596a06fc63e1f4169b3f1d82b218a9b88c0dc342cdb71ac256e8dca739a164f8d1a5a3241cf0b970db20d456a3257020ecf8c18ed30cd31810 - -COUNT=21 -L = 560 -KI = 849fdc6fc24c774e0274e4e44fc217108771cc6fdc80774b -FixedInputDataByteLen = 51 -FixedInputData = 10fdb49fb047c78534b79aa6f702eadd5f3665d0d8055755fb1501825e5250f28955277a9ce5427b5ee10ba6332f38f42ecbce -KO = cc9a86efd3bf0f06acbc9e3dd18654fdc54341eb9c021729ec6724402772c1015f19b20d76c38d78c0be60e38a4bcc4365c060fcaeea0fdc15a257a937a2c01f844e76ced9cb - -COUNT=22 -L = 560 -KI = e7432b9500a42d636f06126bc38e7a4c86feb54d4e415839 -FixedInputDataByteLen = 51 -FixedInputData = 9f6db8626cce8c1a7cfeba11df2fe7abddebce5e145295738c0c6af22a37f7923f12fd1b56196531ad5e728888c5af2578b64b -KO = 0643456ed25d31bf3ea4f1251538a7431d2332dda5dc2c8ca4cf686293f995915d9817c7b3df4876da95533001b71afa611711e1eb02fa0a10749063c80c8f88bbdb1bb7425d - -COUNT=23 -L = 560 -KI = 056b0da0a585e3f602e92ec3d0761a3766951c7153d9ff86 -FixedInputDataByteLen = 51 -FixedInputData = 60499381cd88405360326bd787b38b4e78fbe8be077b3d245d91afd3cf7e700e5d85ad2774bf0242f76205754e11377226dff7 -KO = d3620412a5731913afb9421fcf937213c9882493bd760ee7b279b87ae5815b30527fb0011dabc7563aca747478b645074bfd22c181e284863c96e65a3ac03368f81929aadab4 - -COUNT=24 -L = 560 -KI = 8a7f9f47d451c0e8bb787a71e2827b7130fbb35d11374df8 -FixedInputDataByteLen = 51 -FixedInputData = 02c8358e378ee9c298090905d08be3f9e8367c44fb744b00cf455b836c5aa635d1e91711e0e9b8860c339c2811d0e6b657675c -KO = 3ef386ba21c36065d4a0b2716cb02466484ab7862da15f7dcd2632fc7c4f7946bb93658a436dbb2b657a3f6f55fb0d1b1dbb87a669449830497b47b1f75e853a25b08c2dfdf7 - -COUNT=25 -L = 560 -KI = 8ef691f64b814fe813729177b3901cbe31b751b3e438f13d -FixedInputDataByteLen = 51 -FixedInputData = 3db6dca43f7e0ffd9acde48bda889fd669edea702c1c794ebb80084b6c33750673c4ef2eb432fc7677df0b85b6ce93961c5c16 -KO = 92f9a4506a47140501620961a27db04b31181d8db97f46bf8ec3d51becbf2b58e9e3fccbfd06245b15145384b28b35b3db03e30ca859046e9b9f237e5ecc6307f0887370505f - -COUNT=26 -L = 560 -KI = 60434c9fb606e6f5d353e37d0874685ff0c19b1e9218b9e3 -FixedInputDataByteLen = 51 -FixedInputData = 4a4f4e7e95f7dc908965024407a2274dc6529641fa54011fea24e966868e73fd2ddd9448bc727d1c8ff9e37124c3c333009402 -KO = a6e337dda77cbb4f2a82ac81bb7f4fc6a1c4b1078d55c46148506e4ee47c24dc418d7eebedef4b099066ced484c97f2800bdbd97f81209c9bac66e137fc7fd944b2eae75224d - -COUNT=27 -L = 560 -KI = 7c42dcce2e2e80357bf55458677b58cf5d975f9e4026ec3a -FixedInputDataByteLen = 51 -FixedInputData = 23ced8b3df0aab7ba4a0a6635ae0ee48910f90a048048e7ed68d53380be49a279672be84dfcb8508b9635fbfac41eaa468f1eb -KO = 38288111d3affda3b5b6e38acf440ee607cc0c2a49f41b059553eaf5a9415addd299b240d175445ff29e195d72db4557663e07fb20d050b8b0ac153aac1f2380f0fd97cec704 - -COUNT=28 -L = 560 -KI = b37be7a90411ca59768bc9c2c83787eaee92d02fe127ee5d -FixedInputDataByteLen = 51 -FixedInputData = 097a2d881cf0453290e94e424cfd4bf3429ebf76f5c3e9818a6eb956fafeb100bdbbb3f4239059bbc4ce66877fb117a9d8cc52 -KO = 39a403dd3262dda130953b8841af5011e9a0096aac693dd19b008ce350907d0e473ddd7f942e0e9c694ff2f19bfa5fafb920476a9f485197814701fa0c72a289c8101a61fe10 - -COUNT=29 -L = 560 -KI = c9d4ee062a96a20286468e1af293e7ad6bec4524d1e3ba00 -FixedInputDataByteLen = 51 -FixedInputData = cbe901d6a3f6af70ca515b3c51cfc9ad02dd218a554c231df80d12dda46c4db7a7b32fbf5b69073669cfc9257c72e79ce4b8f8 -KO = 71492d4ddb317d3c2c815c0765ebfcfc935eb8fdc4755a10dbe5cb4c09c0054b4c275efd76658c5fb26f48974e6e9a153f44c66c3cbf8b117d92607e06a76f92610e6efb066f - -COUNT=30 -L = 1600 -KI = 79e4264c4dab00e3a3987fa7f1a36a72305073d7181c67aa -FixedInputDataByteLen = 51 -FixedInputData = 9d6fa8a3cbbadb840931b2caa7b37fd0e615bd060835da2f104c6fa8a1b84cbcea3b01084d9cf62ce87b2fd61cc0356bf7f7cc -KO = c26ba2811e141e0afdd3dc6770074e47efdb62c4ab894c9e0784475062be874922d00d9b28c638961fb448ac40880c6f3da4d39d63b318de778dc326a3df9ed25dee160ce2337bfb960838e29aaf773e9052a63be1b2e15e41746f2424e7e6e5d2505063139f3900260ef1625428f7c1597e34567aba604c7dd7544da6167c9e050b745ad3c9d93ba8c1d5ce062ba5bd216a336c4e1d1b15dea08d4d13e03d81a3473f5a78c29f55095ddff076a77c907e67aecdeb80e85143cf29a1f3d6a969e56fa3961830d0eb - -COUNT=31 -L = 1600 -KI = 6f2cfc5aed394eb9d5343511ee2df37d5363bbc4ce3c8549 -FixedInputDataByteLen = 51 -FixedInputData = 393bdcfe6b96960f25871964d51fd1d92f990044981a70db499f9815460be00489dba582d159e0aad58e2ca00d58e61aa64f0e -KO = d191986fa59af55d3a592f7a33d367c4dc685ffbe901aade3d7a14f750b31adb120375bf38ec0950582eb752ff6f997a59ccc5b3a035293df337e37112cbdad48efe86a44e83c6946f75c40d57636f1518ec0e74a284def4548e6f28d31c27677df2cf00ea666be52aafaae4bffcef28ac8298d5393ea3c7fe35e7007244f631f7d0d63cfe43b67b6fc401d95165f56c56d906d80fb0e090e5e454c56363c650931173cfe4f52bb55c0ff6dd04f5cae32b9ee6106c0d845adb00fc66c739d3f9462780fd4c0560da - -COUNT=32 -L = 1600 -KI = 8c5e9e4f07b7564e05cdf99ea0de3040e323c5c105d3991b -FixedInputDataByteLen = 51 -FixedInputData = b1da4dd07c7b30d9bfbffddd6f388b6d1f625ac5943bed08c216a2493b239d148874356da988045b16f5246f9cc76ef556574d -KO = ec58e5a98d30d39886fd54be347179dfa81201994c1e22802e3fff6eb6f3ea0f459449ea8e273fd71f342f4e72b689da7f8bb0a2ed29d6226b61b151341ff3f7bbb28a7ad1febf1634ca6eea37867d0afaaccc724bff94fe84542f85fa9b258b50f5c75eeb3da17edb3fe73b378c00bf012467747cb8e1ded6f473df9b0f07b65010bab90fc38f14041678053ae2c67af58d86a428683b6605c27bad11bed0b46b418480dc07aaba413427e518bcc10016fe568ff249786757ae6a9f726832d546bffe7311262eeb - -COUNT=33 -L = 1600 -KI = a8147839992c07e3a5790abe0cdff3cce33df122b9297d7b -FixedInputDataByteLen = 51 -FixedInputData = 19d6f941d4196d8f54c622ee95e7fbea3b148c4c8d88d5aaf88b901dcfabf70f7deb173e298971d0e105d9fdbedbaa034c5c53 -KO = 85bf0b8ec1cd724b0ed99b97b52f680767122f1d084fde54c7d8c4917e4b8730085dc480dd3426c1cbcd0637f2e535f382d18c5cfef6524f3df054401f6ff8d646485ba339cdef26169a00dbbfef56db9e4260db47168e1db8969b7466c394748b215810e4c1d1001e4a8d431ccd8aea3e46fb90b403eee0e971704fa3631c307b911bcb11dc9e8e17a821cc934a030c6c93e789cc55f0c1175b8a5eea83cc97194e55beb8fd41306f2d818e5f5a0ec6b33f68b89304c77ce1f78e8b66bb64ba2200f1081d95aa2b - -COUNT=34 -L = 1600 -KI = eb8476e33ac0102d66bb4b9c232a3fefad0ef585ea276703 -FixedInputDataByteLen = 51 -FixedInputData = e23a020c92713b4f73254df3a2574b99a4c6beb162b3cdaea84606eb70dc86d5f68694f38eed7263f377c80f9dd3b4d0d08691 -KO = 0503857dfd445084a7a895fb3d3c6a5eda153ba5866eb8edd4d97718d012da420432eb289724fde6e5ef2e082803c21e2cd639610e1e8cd3e70ead3eb5527821894afc7a6b85c3fe8b95681cf5076df6dd93277f814ffc1719afab513822c8ea1d844b65ad1224fb66b24fe6db0c7587d39977185dfe4320e13d181e0dadef1a5d1810a43cfd1af03d61032a26af2bcdedfdcd2554aa7db717ac7f5b0d2588a15cc18fb450a3560b14fed92895d0dfbac582844bfd762884753f3be07ce2878e46ae977306e8c66c - -COUNT=35 -L = 1600 -KI = a3383c4c3d85cab884cb92a58bfba072f47a9a038f52c7f2 -FixedInputDataByteLen = 51 -FixedInputData = a19936a3dfc74ee663f77e0f0d38a421dea11a00cf521a69c67272fba05a67e892c1948aa9883d9134446ad2fdd456cf8d9e99 -KO = 0a23c04167260c7b0f6699f693a26c7a84bf6cb6a5223b44e5a5614d38c90fa380d861fadf24dd338b828b34cce404ad3d527e25f0b9b0c91125aa2016a6662b9c58c15ba1294191b4ccf27abc2b23322732271a802f0eb0bb824b912f1ed30dc20c264793dc8f2be17544e6b2b13cc563fad0dd377e69f0d451917f66e5fdfa1e16a918f68145682a94ec17acd733ea8cde1e4d4263ff14908b4f1859efca4f9d66cc4686f716845cde6d8557a7c6b3c60a3d022b2a03a90e27238a37cf316792f0c591c244694a - -COUNT=36 -L = 1600 -KI = 307246121266946153c1ab65c0595a695863025dee7e7653 -FixedInputDataByteLen = 51 -FixedInputData = edad94afb083c7f60831d808f75b8757aaaade00c5047b3b8aebca55c9bf0efa478b6525191d96d8e38ad96d278511de3c2e33 -KO = 12327d27a95e249845617fbbd7e2e19695749c6afd09239da25c13a14f3fa2198096f8346109412538bfedb9f05530dfede7228b4ba5ff4996875493a89ae2bd218909aa3ecf3a67dd7580670f36ce2267b868c181ce28bea4f870d78297cdab005282cc43d5c80edf94ea3ae799d66044d3e23b500e6b3fc4bce3f34aacdfa32b1591afee32836d004d453a3305bc08fdc2aa21966fd344177b581e4a11a53acb55714f9e457d7490dc2a8bbb084f6dc593498a548491998f88ceb762a8e11a102078146f9686b1 - -COUNT=37 -L = 1600 -KI = 3eec7661ccb4a60ed4f321f0f7ef8dc720612ac7919adcf2 -FixedInputDataByteLen = 51 -FixedInputData = 1fbb896378649cb86aa2a6e6e3e92efe5e3c06ea9c0403ea392d7363ff51aa88bb482fc169e5de1af04fba2cd93da6dcb4cdd8 -KO = 110274f80fb2b93ae5078b589d6d2ada37b1ac55192b1f3b9a92ec17e1c83ddb0d2842a8de580302852f9d0c3860a36b43edeae14dfe0c878e0f9280dd19f90deb27d6d3dde830dbe094580f8da5692fe31561c23a27fa469c1003b4e53af036d8183c6c716a2aae7a897815f44149030e9b0d2f62ee20a6a3759b2082705df50cc8b32bb4be721df8a9165ed94afd40e962b90edbc64219acff81264a538906891667001b1fe787bbd445b466f67c0a333f2637d718a92fa0fa4597aed34e299ee9aba7402b325c - -COUNT=38 -L = 1600 -KI = 9e0006fdc0cfec9eacaf0014e6052446f70dc0d39fd16be1 -FixedInputDataByteLen = 51 -FixedInputData = 33e8e51a73aaad6ab1640342cb41b37dd3a1fc5e05c40655cb5310520d7af3025ee208e06d0357fb796271d78ad4fd6c5dac82 -KO = 7d4549d68284916d57f0b8da6efe458a79eec0ee76f2200066479959a0fee93187a0ceca237322d20f36d806146b33b835822a714ded8828b12f7b3aad1b8abb5f65bbe84e0228ddc43ab349fd8c310ebb2d1f4dc5550d0546d981b1b39bcc3e72d521a250b9cd88d2dd8653219736705d7d370c5562c5997b555edc62a481c9ae2edadb4283b00af87a034bcadbfb349e97c956c73d8b98b28acc08219cf1b388d82ed5c308879a2f9697f1c8dfc0b3aa672a40aaa8e981a61654d2504d56824acce1d541cfb499 - -COUNT=39 -L = 1600 -KI = 966758f43b4a54e6755e0b100664d9b2a00be37136201825 -FixedInputDataByteLen = 51 -FixedInputData = 5f9d9c724e66ff442bbc5beebff42795adb23e02db339d8784aff85792c39e133c3c0a080790be8b37a159443f7a59dd4b7ed8 -KO = e20a9962d8b9c87588a25b8d99fd4d8ee3b3aa517b06ce836d15970d6ad6dedd93b790950c6bf76cdab919a230325f10364e6a62f02f4c9a67bc49f02a087461af384bb522e53f45a2ab4509f873c8004c065fbf77fd6b5d951fa62f2f9f91a29f9ca4a8f9fb9f0142bdd55ff14c63349382a2d17d66954aa6b58ecc8a23a7f92f043d4aacb719d6442db5854918ae3cd8fab8d868cbeacf02d0eb6f5e50892e498f02fe104009e23f36283c9ce795254196c56ca1d15329fc094382c5ccbd93751439262b4267bc - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 514945d1fca8cf8348ff1609a9d0c47a89911c5a1d7225a6 -FixedInputDataByteLen = 51 -FixedInputData = 3df1d0b82d999bed28b55a84b6a16fa6f3c5e721ab60c3c49174c0a026acc2df66726b903350a82bc9c742db09a8636a1245b5 -KO = a75886b5b5402c65737af872019d7c5d4f3f51078f15d59725b3099f9266ddb75ea6c8dbd670c67a3df6cb5a2372456e4430ad8152cdf9711c4be049c29d6e26 - -COUNT=1 -L = 512 -KI = 1f938ffcc232159a386f75bc52951b7510410893f78ce18f -FixedInputDataByteLen = 51 -FixedInputData = 3b4d834b579c0b41356fe0bcb6932020ce49d14bc4ff320d341e265abb9790c21b1a76fe85a20cf1ca69a203e3e3ec85d57f3a -KO = c9ddff17a4d2d5f87e125b8fb09246abc593eed359e76c7fe6149b36eb40d79ccdabb382400e274d62820dfb0506a4360f22965f4da0609c5f1ae524d9132da2 - -COUNT=2 -L = 512 -KI = 4a87e671fd749ba04b22f1691aa59eb2cb7a528ccc9a64c3 -FixedInputDataByteLen = 51 -FixedInputData = ec0466c453383ed8dc0b913784a1447d932b05ff7d8bc2a1b44d7b339e28c19403dc1bd11cf7137612139f19a2eddacc60fe87 -KO = bbeacac3e12b4d8864738d036f3d5bb4e1697d7c160bd3aefc0483f4670bfe6308833c4f72fe651e425ed8123b7857a9756ef77d87a9592c916f2070574dea67 - -COUNT=3 -L = 512 -KI = d9a3e20452d691a3a80810f10458f4bdbf50d323ed64d835 -FixedInputDataByteLen = 51 -FixedInputData = 883775e8b92aeaa09e774e7f2604290fcab6f270e42c6e6cce7b6b482fa88e5ba70a3a466ab29be8d0fd3e82ed6e2b45e37842 -KO = bdfe2b7e1284290ad790d277e0581a880712aef1d63317f81e6a7d58b8f34ed584e1b4083c8ad6dcf78bdef91fd4bdad38f9e7c83512c099e25734f6b8c4e47f - -COUNT=4 -L = 512 -KI = 1c5bb0d042cbfbcf9ee7706a8a9bcdd1528cc0647415f405 -FixedInputDataByteLen = 51 -FixedInputData = dd1bb9f0ae3c0c491ce584b4c0048d88a3417ca249eb39d312ad417c5f6ac8bb5e830977a8049362b6bc64f6551e8d030d2a6b -KO = 598b1f304867c38b35b02589314c5e7e447c18ec30e4a1df56f4a6bdd6d54493e5252b851321f049887973ca901734b2207131d6c7b341dc7eb2b09d26601079 - -COUNT=5 -L = 512 -KI = 4e203287c47d05188da784b209810a3d7a24ad49f0e88a8e -FixedInputDataByteLen = 51 -FixedInputData = 85ef646e75f957b7a4558080243955e4ee1cfc617496cab37124d837f4f50cf87fefc86af95b522836cf6640ff015a0ec85986 -KO = f2df30b584854af9e64e2cd1151b01c66a09e045d4c6f7a2e241e2df1826befe9adafbc80ac1f81eef0534e41f1bf1d56b6d57cbde814e7804bde3c69911ea33 - -COUNT=6 -L = 512 -KI = 150c7ff0171a470dc712dbdbefe8048a05e022eac30d52db -FixedInputDataByteLen = 51 -FixedInputData = 0f85f6067b751bd9ec00fffacabde5235d0bbf0b27b4a8b178d2fbb51b40bc46f1a72544bfa7528c1d179dda2e74d688ffadba -KO = 269d9bc2825228387997e6694181b93645d42412e15ab2ab55858d3693d9cea5db9e3ce5d235387f8bd46490b41cca241e99df5714e534d5616250c5f1218ef9 - -COUNT=7 -L = 512 -KI = 32850ad2879dd7ebe81a08a6f4a006f7b73ff83b38bab9ff -FixedInputDataByteLen = 51 -FixedInputData = bdce9aebb1fac0ad6120c41716cfd2d814f084895e6960cddedb906d365b438a971833b00351abf2b898dbcc5e95212b9913c2 -KO = 42a322a28cd74d83324a58c3a8e01d3aedeab81d210e0ffe3c06d62a19590344c56447e8c4f818ca935f9b7b2c4db770dae8d8231299d537feaf3cab5024e0e1 - -COUNT=8 -L = 512 -KI = e7296630e47b3dcaeb83294ada34f2570461e9df2e304f69 -FixedInputDataByteLen = 51 -FixedInputData = fc186b737baa71644856dab476db9da077939c3c75dd4248fcff5b41be98330985c5277636af0498f25cd08ca172fe0d73af3c -KO = 5479ac56fb8e5b62e49f994836b0f302ec0dc896a21eb1863e4672906e2046701ae797060cc4903c6f7b2ff697cc35c4d709bbf63d95574d7415a15763191a01 - -COUNT=9 -L = 512 -KI = e84f63bed9c137c0645eb310efbfc1cbc4760401ecdb33b0 -FixedInputDataByteLen = 51 -FixedInputData = e30b68b9647f8ec797eb31e94b83f4c3766ca52dbbed59aac1ed729da46022b07bf520060d5a4475d264fbb61395418dd9cf6c -KO = 24a19ff364248559936cb343e536d3800eaa37a6e3c08bb362ace668ad25eb86baeac99365371513e1cba14af0748353cf3f81b09a2ab746e385a44524e55c05 - -COUNT=10 -L = 2048 -KI = a5c65f6b469c2352a926171e5efdefa290b56d8195324640 -FixedInputDataByteLen = 51 -FixedInputData = 35494791c3f7d552ccb09d2276b96cce8561507d985f7f431b6ab196e6ec8fffdb60b5bd567952d8b1323628e91b2ea696b0a8 -KO = 11c5cce8c342685ba2e14cbda98e0390505e27e8a8f74b3a16e65c9d6e936d8a6796ce820f27ba61181de43b32d57521a0533f463188fd037f131b2c09f23ef606f1e09a12f130700470e99a90fb5dd949dbfc5f0bc351a504f074113b880bd8a5116048d91c56266419886c2e45dedb5dd173e82d1c5e3bf86a72b8c49dff350961950f30054381f696c535468cec8767b54ca2ab06d5f51e61a2dde47914110db7f204168cdd2344c94f8f17f08d234fe457d38da3daff77c644fbc6091b03464019bf1f0238b498abc847504436928ab036a334e90e330c1964f903028072ae7acbce78dfa7a0f2ece913a231052670f8908abad7431500e24feafe4fe4f6 - -COUNT=11 -L = 2048 -KI = 2678814d55960fa3e0a81ec16e7b27f3fd0a78f1c5ec1ce5 -FixedInputDataByteLen = 51 -FixedInputData = b6c7d97fd31210e97048e3adffdb1944c5033d284630f9515cb625844eea0b085302088f383bd5609c6834f0bde22035515900 -KO = 40cb0d2921ca312d769639a5fecd436db5a7a5bccb2f57ce49dc530fad48b80ab4a8bb1f9ad802d891f9d7f5b81ad2a2def10b59a09eda001fd1e46644b2a427719690eb1f93b5946bf54c3805711ab183cf2df3800ae9f775c7b96b2c609e856731fe5ed3379c5b53b6e37d500e9fb016c64b1e2f462dc68f72a9a42902e982de69564d45c5df8d4ad42a1aa70e13738649f0410dfd85a3d9eddf360dcc1ddbfa30d5dd4168f16c14cdc0f7845c19cbf9dc6baf411d7ed3315f45e4434ffe8c38f5f1df8f2b8a618c76a29cf216a8a724f0fd59ae8b13e5a3adc3d3170593c9787ab489236875fc41c7334b696bd55d93108f42ed311164da341db96294684d - -COUNT=12 -L = 2048 -KI = 8d339eec561623e5896671a4db2fb1e9c1f41f76b0213b62 -FixedInputDataByteLen = 51 -FixedInputData = 5fa9df504a2f26ada93ee19cfdc3abd505df39d05db57f3692d2681c8e37b991319d9877a92697be03a117a4aeb0739492a62f -KO = 6040fbce3d9bc747e5600100bad9aaad46659df1971aec0f32b59f27f852944db499f4c83f5bfff5b9a2fb504f73617c2011da405a073f239ae8883ec130efd42636ef456c416fd80c8bb10e9efc880ac9fb9f87074b4753edeb4d610eeae2cc06da29b553931f67a1a116e506caa0c9ac7d08515c799fa4be59ed4c3045357015f28942777a67f495f42795ed1fcc9083e4589dd4b513ba94a5cca375e42cf852f0c689e8a38d68b01a454654d6dd8788f19781facd589fd47578fd83e9de46d7a396070d4dafa7a5728a04aaddfe07b6310f4ceb0ce666a768e509df0bb9172b75c47824414083b483eea0576624dd92e2fabf6081d7758aae0eaace14ec2d - -COUNT=13 -L = 2048 -KI = 0df139563f3732ed7f86ab6c3db4ed7855f31f30da04d052 -FixedInputDataByteLen = 51 -FixedInputData = 9ad250bb28643139202dd0399e042cabb2b2d0f5933d98f8cce816d7278edcadeacacd1f90ae970d39702d73d4f9f6dc4932cf -KO = f5abcd4270112bcbc930688f3923d4e0896a361c6e65350b2177249b1211d9c256c615a8d88e24003e1f316c366851d9f6d0b35a80e02648cca52be597021e70cfac94b02b7271358611fcb511682efd07467ab221b92244eb0450ea7e4df5b09d90a07022d938dedb478413c108ea02800c410af9ea779bf48fa75ae0f1a2cc8993b6e4c3de3a438277e5502f4914c2c162f1b8df45d570045fcbf6b00ab1d16482b30450c32df3ee5571e2f0a912141c787213b5521069b3d4c8e29caf9b13316175089f5685f588f5efd543b460c7f886d993ea67280c9ad2f06f563707bbeec1b9927ba03b2bc0f81b608518824b38f03eeb26d727ca3cc093ae21b5674b - -COUNT=14 -L = 2048 -KI = ef77b94d0c23e795c06307d5588b1e15b53cd9dc0f4813c3 -FixedInputDataByteLen = 51 -FixedInputData = 9478a58f872428dda9a4710b0274cfb4d1cca62ac0a8ee325b4973768b74fe5fc60e1c02c4bbb5fe0e0a8cf6b78f7191b2577c -KO = 899561248f723041e835ee9c129cdb58a9f413559e5f5db9c2f79303f19bf4c8b5d1c8b04dad31985d355d61783469eee36628804635d75b5aa31dc454c8f0f370055df9c7adff92750e9ee6ad1219ff71364743775e79b353707f0be51e22c7fb4c46eb1d2b63c8686d0c0f7536bc7ef316bcae3cec68be8723cefbbc5267e70312684132cd1ef67fe2b93f43adfd36b896297a7261e07438e65d93883d438e5eec0ee2ed59d9886ad9d8345c4f0f5389a188a4ec0e4c22bbad4602a1be98d28f0cfc9239ad45215af3a837ba5476618d4e910f0f06526204f214a3397697a220654e270bb7f41840bc1da2a6c5e0c3cef1b3b096de706e1db1d0ceaf72eecc - -COUNT=15 -L = 2048 -KI = 3c2e21df0ff9f6a1a4a85dc7a862de948a41788738abc0fe -FixedInputDataByteLen = 51 -FixedInputData = e766fdbb426be6ac15a1f24ab6d72930fe456dc5a2ec9e80c028901f68684d4f0f96195905163da0a3bf09597339d0bd18ad0c -KO = b611f7645511404fec256e6ed77b42f09f1f98d7db3b96464154e1f9b7c7e3e63db7e2f127f89304e10591787ced005c82f97305c8e85008247bf04a562f3de5b180ab0ea6ececb5e0d591c24b8dc31444afa548a13fdb624291169d1ab2c84f7bc6de77f8aca5818c5b7097af15715a6f641b83459dafd4a6164a26d7cd3f7ca7ee236e281ec4a1158432e1c8b52f9ffbeb4aefb86ca9d0bb3ba95e3b4ac12625a22f9ab1ea60edd6c2cdf17db70117b1234bfd71fa97f9c79d1d12c3dc4bb79587113917c49310edb4bee109cde91bab3721faced48d91cca8cce109d64ffa1ab6135eab3f448d0b62cf3d0c92f8941f3c03a68b5dbfa109a219ed7f03aa27 - -COUNT=16 -L = 2048 -KI = c53feea526c65e5818d233d5aeeba896546b54ecb0ef0b5a -FixedInputDataByteLen = 51 -FixedInputData = bd9c4cb8ebc3976c71486b30f91de009921d96c9ea639c5770a075537ea44d2909cc82cd548812848baf6b4b77edc452b53ff6 -KO = 88ad460b4823ee42b2eb148bcb3d5579c7907c2bc6cc6af902a2bb082d3e88d2d18ac6c5c9a1815f3d01fc491f3f89912ab4baca87cf8f78f6edc3ac8e79cb4ee86d7b0343c9ef8d55a40316e9a2a8c1eb2bb099e5769cb853460b4a411fd4e39fc77f2a9e93617f43088674fcfef1d3eb33026fd374cbce1f22458352be04cf565475a8bc5e8acb7d485933c1765ef251f9cfc291d74674b67de74ad6699673ad23057b84c5e9fe9dc440f96a361454ee95ee8c88909b2d91557298e4165061ebed4bd0a500ae53f4b2cf9aa09b6d63d2d78b7b0adb9e5e98c1f945be0de7f389d006f57e950cc00079c5b77a9c4a0cdf6b6c230edb4544c448a527d9d9b74c - -COUNT=17 -L = 2048 -KI = aba736b910826ded9b27891b8a9a8ca3e851a30ead7bad96 -FixedInputDataByteLen = 51 -FixedInputData = dc0156432b32f0c8101bb80363da4722ec283a176358ea04e9863533bc029658a3ccc03ddc4fbdf3b61958b174e32e509ad68b -KO = 08ca8c444158dd24d1f80d3ca66e8b475a363b5cf65517a084b37dfdd8118d293aefe1155d265a985cda26811db274585bef12a887fe112c0cb3b1ff17fe0c4eb689ec4bfcd7086a485d39395f1dad930b0fda4cec529dd7071711d366a83c7105c7bcd4486b247a62c0f0c8431eea2c86e935fbf6394463279eb3d3555bf379dfc17f9c2a7ef5b701c22921d5739d2a041c094fd9190f24a6a390f82b4be1b0f6a0c6508609eed2de43e64edf7ef20fe4137cabe8a3439c566750457d6c5cf3704c1b6c68ccb76b3bdce5d8b43b7f5282a6b9c463f2002b32a31eec81d69ce5cc5a5e86c4f0f450224d66c17d31eb0e67569dbe6d08f7c4aca428b9411689f0 - -COUNT=18 -L = 2048 -KI = 3519f69d6873e8f227a39488337531a871c9765acb036195 -FixedInputDataByteLen = 51 -FixedInputData = 6bb5faa3c479e59a63ff49d21cf8d4b385d2fe9154b28c34c1cbe91d29de3d4fde0cc56b3e94c176639a4ae0dd101d2193a2ba -KO = f8b5c9d0a29c09e485c0a066864fe4ca3e98725627e531298e652c932599e774efd64bf294bc737403062996cb1075d6e5bc633e753bc9133fa4008152df095fb0b9671a4354b1c16eade8d482132f78850fe1d57d2ec65f5e7dce63e5a5d6fe89ddad5bfa798767f71a79a4a290537a28aff8e7d210149622eaef41bfd8110c76d54f9f578719e25f3759280dce36c01a1e75438dc8a37984b04f007a38686bbddfec7664617c4b10294a8b2e73b160aadd58dea1af196ab002897db2485e2c4b6761cd37d0aeb0f27806a925e119343aebf7e7d4cba03bae3ec4547066c46818d805090edcf9467214c107d31c2ca53944fc3817dd703c831aba29e10fe18d - -COUNT=19 -L = 2048 -KI = 9cfe4a95a6e795e02a1974d9054679dc269b203db85a7390 -FixedInputDataByteLen = 51 -FixedInputData = 98ce749a0a69730ed4b1b5e56f753be9f5b28e7f03f3b8e2de4ccc26c46da9f26744bb207680961f86d5be55f524fed84701b7 -KO = 3cdc3e648ab8f7de84b5b80b1ab7bafb060dc8d916abf7c52802a8826afea0af14436029e3c50231086d14320d160fcd5344898866330980383f5d1eeba664159a518fdef61bbccf51d142dd7951175005f4e325fc9bc46a246856b6d3cb7b8f27f7b289cf97090bd0cd9d9041ecef8d8d291ce97fe7a27ff491834533a3f79b20a20c89c407a88aaf5bad5bc04625aaf03c8bcf455267a237feb07ca0715c1fb625236fc1c19c770dccc46189194f7493e6d02f0da6d13159ae6f98e57be7fcd841da81d93216309b59791938e4016b770129d53c2f494bd0177907af17d4b65961607342c75132646caf30ef3dbae21fda38aeb13a5766f0ddc4117f66b315 - -COUNT=20 -L = 560 -KI = 73d735c423b7bf48db4b8d492b3c2e49b1bfa2c00be1d2df -FixedInputDataByteLen = 51 -FixedInputData = bebe3b1f159399fead9b4d29cf26f2c423c5d8d3dc9b886272cb6196736a818020d8b75793d0fcee8794adb4ec937bb513d376 -KO = 3d98afb54a8bc67dd92f8af9c39e205c704fa21b49683142568b5cc6aa0e4e35a496b9d905500a604b261ba22c6ad65c46831d6fd2fea464954ffd158c2c09ae4caac9f103a6 - -COUNT=21 -L = 560 -KI = 957f5da730680602d57e6d8b633762d99b8802b16fb8d84f -FixedInputDataByteLen = 51 -FixedInputData = 7d3983a85491addb639689885d28aa95d8719da891a7da1366145fe9ae067e894cf4dc15a5193bb464ff558e739c6d67c83699 -KO = d2ff1b9d5b8d14dfa2d2f21902d2399ba0c57f7bcb2570a4b263ecbc6cb540d97f8278226c19f6f0d8c768f86072838f0eb5661a98d08b6d0bb1d51d4977a6771e5ccb4b68b2 - -COUNT=22 -L = 560 -KI = 05d69b82b67affbc31c4d07f68d6f638b7d031472cc10558 -FixedInputDataByteLen = 51 -FixedInputData = 92ec6b7218c6d699f41dbc0c7f35a1d8f1dd84b330a2b05f3ee11efda387d352ffa1eecd9b7dbeefa0314da09bc459731a4361 -KO = 3849ef9a6ca2b8791638bf8ee27db4c111429a668a53e8e8e897ad39875833a5cc1dca5085c08519da248429e42d82af7ec487838a11389aaa9bc481fc7f86f50700640da609 - -COUNT=23 -L = 560 -KI = 2b6b3516ad3fdecb84e7b103ca7973b21f669271e397a8fe -FixedInputDataByteLen = 51 -FixedInputData = fe5405c06c6abed897177b7eb099d6a01f80a622c6f2e434479be4a998537706f7cb00491b7cf56512b8ab8147fe5e30d7a4f9 -KO = cf45c8a8e34c7cb50e5e9c71f609856a1b5a96de8e5344aced648e4a54329ae0071382b2480456a5c9cb04681800218bfcc66a647f7996d5b0532cb3378300be424618e72695 - -COUNT=24 -L = 560 -KI = 363cf14dbaef67e4d364c34015d91808c3a8c9db7880e865 -FixedInputDataByteLen = 51 -FixedInputData = b6988b62d1feecf2b84e96e23a748db6166f7a7b0c8780efcb1d9617b308013231624f5e03c1039f2da588be1623a36fc85aaa -KO = 9aebcd70c69c872ce9e0dcce6750177f2bbd83113ec79df9f541a002f1589905a48d777ea615ca4113d1e5b0b7e4dac65e77dc425f7563fe96805b075380b4c82e9c84d8ed48 - -COUNT=25 -L = 560 -KI = abeed6b995b2dbbd79486d1ad6f50dde7da76e46092211d4 -FixedInputDataByteLen = 51 -FixedInputData = 805a3903ce214ffccb11d5cdf70e09d9ebb3231d53eaf023cb3e995be239bcd47615baa56bc80bcf736ce22f854f60a491032f -KO = d432c6876280fc2d21436bacff100944133aa873404d77e936e2f5172c88305f9d09189efe304a7e2f2aeb45cd81621ff69bd2ca5397c7d30e1790290023e851678b02fdf85b - -COUNT=26 -L = 560 -KI = 97eb377b01b5847390a0b924695478d5784e2547451dd8e6 -FixedInputDataByteLen = 51 -FixedInputData = fcca596e36406774b181f229138644eaffc2eb2d04a933a6ac6bbd9ae2a7ae8924ea4e5af97348d11a61792c9cd50293c1ee07 -KO = 865d70bd0c4695cf44693a1f393c9553312df7f7b6c5eccda1784af6dfcbd148f7d84f87cc1908a39e56da7f69803fc5ad074b6d35eecbbc248b51aff66e36a4dffef1706dd2 - -COUNT=27 -L = 560 -KI = d11b43df9030260e12195af6bb2e32e06819dc736f170215 -FixedInputDataByteLen = 51 -FixedInputData = a516d05830b912d8c2c56da7d3609cb09a115c0300aee8dd0f3c72f0a7126787577153bcbe11ee7b443543266ca8a8ba1a6609 -KO = 4a1cba1cd8ecb0ffe4c35d43b351e467300fd9d49f882c5110df14fd67505b74cb7910225f5c4676a041e08db170ce16f1ee0cf31e6a5f3827c66169fae14302d1093ebe3749 - -COUNT=28 -L = 560 -KI = 9ab2c8162ca4679aaf23073b5dd1d36fc6fbb2897779ac01 -FixedInputDataByteLen = 51 -FixedInputData = d5b6bf48a40c568215178091cd1bf52d2099ed11852406174f873786b7c705dea7a42703813ed61b0b9dca8ab1b20b7e20302c -KO = aecd904000c2e3106d2eaf24fe052813b9356721fe55ece3533245fceb01d01b5ef046e344c4e8f35fe42cc38f697f889697300cdfb12f529fedbd59129137d9e5cbd949af1d - -COUNT=29 -L = 560 -KI = 1b441869f6dfbe8d2d60147683f2a4ff30ab286b6e8d7aa7 -FixedInputDataByteLen = 51 -FixedInputData = d7fbcb5c12a3a20c82a148e86d2d349e26fb380e9e705d9c8de40bce17eeecc97277c1cbaeb3da1f7eb1569bb0a3f3e3b7a51b -KO = c5502e2b3052303583c05b74cbf2bf173edcbffdd5edbae5d77d836e4a857bef61a4f3b74a20f620ca5d41fd3f5f31a216084ec3b9a357fe81755e5f78458bbbdf7d67a6eabe - -COUNT=30 -L = 1600 -KI = 1e4d19a6e87b07e9b701dc81b543c498894a92d743d55a24 -FixedInputDataByteLen = 51 -FixedInputData = 973918332e363037f6d6aafd2afbd25de1782a4e9f0015808f6a31752bc8a660cc8bd2327745352f8591da048fab14958a3008 -KO = e0d7d9acbd95b6c427eb1afb498a69961498bfb81ae19a4bc6060c4ffb62c7511563b9ef9ad7f6eeb87523f7a8fa1d9b3773fa2090c2fe20f8b6720cee1485b80ae6aa362b375c3103dc363ace05632db0a903d12ca5f13871c733c3e55e5ebb8c240a2d959b2ee24bd1c7bf03296e94fd4d3e9c9f4b4c66a04bdb81e53956c9262252f1f5518ed5b37d84482f622050febfef0a084ea7d369e19442536dbd7f5f4e9b23a2406e561673947e4ea0e97a6f0947e06f48970dd37bffd91b411605148250123c61421d - -COUNT=31 -L = 1600 -KI = 723774dd55b9364db76cdc48f8d1e736ef9b5886f35c8077 -FixedInputDataByteLen = 51 -FixedInputData = 584042e9119ef9bc25818bac50171c6874f8ce4061f6fba58a26819cda3c3632721b8f091fd1936dfa782884e7c112682f61ba -KO = e77c1ecebf3978c81f6a78d1a063d4d6538384d42e55483f9895392b519f049443558ac48b5efdc10ccfa635fd47f5b6d48465b58dfd0aaa0924779c3ae0852cbfa2d8ef459dbfec4a59a34e1f899cdd65316910c5f755a24ff4137a54a0588a0237fd073f3584cac466bf2f7b7449baf1e36a62d0513da6db6109515fa5eeba0e9bfc8db7c4bce42ede1976e4b4c9947523b61921f90b64f159eb3acfeb7b13aa613b43821b51211843d5e3ef6bc8f00bb33f5f5679c48a6aa5babb08a53653e11afb5533491de9 - -COUNT=32 -L = 1600 -KI = abff774a017b64f359ba3075bae49ab123a964b4ba784f11 -FixedInputDataByteLen = 51 -FixedInputData = 3aff86a42ae5a6a488da1edbed3bcb5f58c02ed4247126d58b6e216eae5e8331646f661b7293fc1dbdb37d64a3e3bf50f8c01f -KO = f599b57a0f120f4d75101342f07821772d67e014d483b405c8a68efd6296b34789f006b84da77ade2eca5988dad1c218632bf9e646ed3fb04a584c918867d3c454bf776171ddef53bedc5706b977db7037783bbf7cfed1843d8c229af17ca79f265df44eefe2bb9526d59b256a39d4de1975941c353d2ea56fa45b0b4ffda80e9147d8ad9d81f64a2fdf96e8f5f0ebe4ee1ee34ee08277925fd1fa1ec408e66dad55e142d7bc3d08111ff16790d10305a8f8c19dc17ad10182ef84c8b2293052b3a0a9a5f79347eb - -COUNT=33 -L = 1600 -KI = 3dbe2c76fdafd482601132163daf56bab4d7a65b7e8b5434 -FixedInputDataByteLen = 51 -FixedInputData = 6a9f3957664fb6564e557d53affc70b284a84ea60e1e882847664664a24a1bcd5f8902f8c4451364f7c16daa5851ee6b494288 -KO = 17ac57f5f5b0108148763e6755b53165318655df802a5debd820ee3f8183c10b1111c684c2c21ccf391fb88dfea965671cef3854e56ba42990c396e0da61c4e463651865d415effc08332e3bb27416f3259aa9ade5cb56f4736bc3c8bf98b1e20ddbab59b145b0e1f082534c2adc3d37a74d22d828af00971fc68081fcd2a9307b8b166dcbbe36193e9270aee46bcf92c9112fdd565ed0f3f363d2b6e4febf3c996cd6ce5536752298b8ef8bddabf9a05e7b42019617ce9adedcaaac5628cd03a13b5f705429ed54 - -COUNT=34 -L = 1600 -KI = 0291cb86c88d8496a386366cba3747bb5bd865c09a18cfba -FixedInputDataByteLen = 51 -FixedInputData = dd2e59cfb58c75ed593c8d78731c95bffd0a66e50f0b73003558c9031dbcd7cebf474f23c33a555dfe2f5ed3da8c56ce8167de -KO = dda529edb9bd86c06428d719b790162ceb3e956d1bcd5d1ac48fb9e9cfa4954d21338a460789fed3d6b3c4b02b672c8705a14d84a069e266c7e8d8406b4bab738c547630a20f2f314d326c70ce53c69021698bad78191354c579d41eb0b624016d4888c2c104c77e086c14cd72137b99f2c8fdd8068b71f02f8f835dc93b45ba0682f416166fdfd156245a40024660cce25e5414541447a3213fc2abc57f68edde4ac2cc579385ce56720a3c74a7b4d9bde16570574f33113cba22ee769d6ef18052a44849e617e0 - -COUNT=35 -L = 1600 -KI = 0e33faccf502eefbcc2fd64ce8a280ad36c18fcaf743eae3 -FixedInputDataByteLen = 51 -FixedInputData = 8b69d43e03784ee1bb171e728cf1fc41e779dc6fdd73b7e72d7336579b3642ac6d844b005daf276ea02ca1172ca35d27500f05 -KO = e6a545a98c7f555f75adf26814d046a844051b239760548b0446534f6fdc905bde4370609fc5ce88055b53adc4b1d0291dc9a1b8d02c085aeb8251a0f757410d5c3ee02ce5956b5ac34c20290ce0578d04acd881da5f938af16b89351f92a16953c72d39925447978c4611d2101a7181b53a411f1fcb65ec1aac0254e7a08cf96668785e4c7291f1e8985bf29aa638af69b5f090fef1cb1d862aaa480588f96edd249ecbaba6d64102efe03cbab9834c7ca36065136fb1cbf42121159bc53b0409972f56c01fc366 - -COUNT=36 -L = 1600 -KI = 62e5aee7ceb90da3e8eb43b7eb54039fcb93b943b05cc73c -FixedInputDataByteLen = 51 -FixedInputData = 6871433830a58148ccf4dd49931e164d80b1d8449c4fbdd082cad04ddfe130cd558e48f00e7bca977ff498b4f1850c7d0acf40 -KO = ac1ef63df6c5a28f81398ce03d767dee987007f9ab3b7eb138b8775596675f057dac4f63e399082055b9a7e5bdb43d0b8730581c9a4ae3d988d40bb0c136b9af67a699ca91f7a207ad2979376af122a16cef99cf57e7e565a8cee4efe78c2f605f07a965c90948a1d94a5211affa7901eb0a0c57a98bc022ba54989861738b66b132547893445695d2d214be620fa6aa38cf8227aec65648eaf7bc2e93b0e18c1d049b54036444c6658cd90c89cf85094a6651b79bd0edc1c8cb4e7ca840268de32207d14e9f130d - -COUNT=37 -L = 1600 -KI = b32043e73a66f5145063209b7ed98897d95f78748f0b4335 -FixedInputDataByteLen = 51 -FixedInputData = cf9db130ba9509dec4298628c18cc878de5b9f8e9a286992594d6723e42acd870e4e9072db6018494d7e83dfda5cbe52254eea -KO = d644422ac5f7c3c0ecefbea00107cd48b262d3ee498b1d2b7a3ab2bf89cc5cf5aae87ef3f644e93e80e7cf023a9a5d8497f0e19648cbfaff9567b0d806e96b9953c3d9b0d4e91fa7a33daac3483fb7857ff1e82070a00eb0a956ddcdc0a0cc050ceb3c9f20cfc6e73bc8b88f58b56bdd54f7375e8229e0bea1fdee5d9db748831d0769ee8170172964d553149ac770d12e3cf0d12d80d3cae1f1a4487a8db931ade51a0755bb5cd44a2c32b00bdea5a23e39610971fd31846121d62e8e5612764e733f5a7b27855b - -COUNT=38 -L = 1600 -KI = 8ed911ee980ea71d75898f6849580a101b9cb5a53107ff6f -FixedInputDataByteLen = 51 -FixedInputData = 2e129401c8d1b1f13ae1ed640b6b44b079ee4adb1cd44d778ad178d8fa9d977828d21e13a1128a2957d9b822ff2031b991295a -KO = 5b610ba26f6867adc83a97dfb11d8f28e984359cb4ee36c6671d4b650903c34f558b81812a5eb8d6da0d4cbd7c44df13dea1205a58283041666496bab932c560da44a6be5646406e695f594a0b6ad1fe5f749578f27e1054747b5154d3e8f646c21f6b68e3255f4a6f89c8b1363e2fa7a89c685a030c480f86f7a420ee26bb2633167f0042de707623bd4829f34e94af62cb79d5bfd761483e4d5907b9cf36a100f0840a1a56971d775e575397b09b83914edd2b39886490cb7d730ce99d013f740f20cc397038f1 - -COUNT=39 -L = 1600 -KI = 0685529c4138f676fd41d4eefb46f452cf721c3475165edf -FixedInputDataByteLen = 51 -FixedInputData = 3b503053a24d22f43284f7bf74ec20b8ca8670fab457d3db07aa04c114c53a180c74fa05c80ea339e7a30a1572de9c3e4c7ea0 -KO = 8cb530ce9be5ad6ea50946cba08c0e888facb00c83ea89aff8763086d7209e469cb20588a79ae8269e397624c3719432aa4445318d10ad1de9bab6c09bc68c564149ef28f792071d71c3ee067359f11ea3b2dce5990bb5928fb372808b3ca193510f0200b6c8ddc9f5bccee9604640d07dc574444343a7b4f90e56f7921b96f70082bb5aa746579d475834c37248596d406b3421300b3a5c96623aedeb91dcddc28347d2c3085a055c18b07b13fc6b9f3d73613019004f982a078f4180f3bb612e949404e7109997 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 524b45573caf5d446f4c0ebcfcd3f342df05b49f61e4ef85 -FixedInputDataByteLen = 51 -FixedInputData = 1313da0afe9e7a7929552eba6bb7c922d1c71a7e58c31f8effc479196aacf7268f48d203b83c7b627e78cb16f2825c71539eee -KO = bacf17c5287eed6441a364ce5b7ca58b7208ec203f5d0ac9dda06509995e05a92c4da089e123471f8166a488fb9c12f68caf7c32ad917474625848a2bc4af1ce - -COUNT=1 -L = 512 -KI = 12f5c9d3a4c5cef1ae4698eb739330a4e3fe7d92c23fc5b9 -FixedInputDataByteLen = 51 -FixedInputData = 7aac07f9d66dafcfd80bdc62e97c20b0bb63615631aa6490d1a9ca607d63e710a4b5d85c5dcca32af96706d359d777dd8988bc -KO = e9be313ab866e79e04c800f7501aa39b41d062c4d0251121a9c09a5d2bddcdb13ae1309cf568d84c95b4dd381a56ef300ad72c883ba1fe59db3faa442cb1ee63 - -COUNT=2 -L = 512 -KI = b480757b6ad4815af16db50f6797edfb409e4d51e4743b22 -FixedInputDataByteLen = 51 -FixedInputData = d5ba9c3f3ce0cb997e308c02d66fefc1cf9383562a621aa1443ebf21f1b1e50e1c9ef0a36d91f54ff06840f8dc02c81c28408c -KO = 395084b76e9ffaeb8783d994291a5aea368c1e9d99f19a936c6ae7d46ac3edfb0f26ad85863c725f095e488b723cbef72f0b23ba187521c92200020b2c6e2e1a - -COUNT=3 -L = 512 -KI = 22375260649ca016b37ebf949b70195b1ea565af4e0d2343 -FixedInputDataByteLen = 51 -FixedInputData = 66af21d8184425a472ba54a87b16af2c45511063f9eb6fe82f4be10bae4af610662bb3f2a5a15a2f4aaf47dea1c3460d8daef1 -KO = e15e9f8a27b6db17497d1039b13cde709d9cd8ee1efc1686eab04779266d6c57e687f42062f9c69a2d9140dd7fcb6cb79a96c27ff0b4e50069bd1ecd498ac3ef - -COUNT=4 -L = 512 -KI = 29bd6017d6e048b3e1feb0029ff73e06a285fff8928d8ca5 -FixedInputDataByteLen = 51 -FixedInputData = f85cf5146791bb5dd73cba0cae13cfdf1f2d2d98c5bda326a96eb2d136a534cc2bbeac5d9816350f19f00bbc223f0f7c8a3b09 -KO = d2c45700233b0d6e405b19203527ca623b459dcd5278367709c1ec5e36eb4750d762b890e1f5b673dc6019e892956e36b620056ff6cb32fd2b7e5fdf72cf3d84 - -COUNT=5 -L = 512 -KI = 1fa7abae27631c544b9af14f14cf7216b0e04593a1db988a -FixedInputDataByteLen = 51 -FixedInputData = 75d9922539f5be781197eeb2b6e8f466e683c2034500f40cf830690c114065a70fcc9c991396b2c527aef8f9b251a57396ab04 -KO = 706526895d4ef3f96235c0185a341badc54e9bfa07330db45997716d596d1eba1fabe30a767063a652835291a369cd83d6b900c0c24af37b30f75338ffe6a591 - -COUNT=6 -L = 512 -KI = 21589ba473c6261f34f9960d23b56d211e4ffb985646b84f -FixedInputDataByteLen = 51 -FixedInputData = c64b21b1eee9c940d22817f33023d32e9bce773277b33da67a392ad053596be850749440a38b744bbd35b27b75915bb0e53f30 -KO = f2277a6e3f296f766e4aa69e4aac9f33e6b65990813b39601e84133726315d75d7eddf8c412e2a1e4915389a0af7da4fc8bf7334fddfe77ea17e6a046335636e - -COUNT=7 -L = 512 -KI = 3f8e703848edb9ed5e321f99e4b088e491c3cc34fe585bde -FixedInputDataByteLen = 51 -FixedInputData = 49e2e0652e59ad8b3e9528db6751601cc95c0e93923ed50247380b03edcbc88a78a4e7158101f4470cf7bb5ab30043c63f1359 -KO = e9229825669df04791edb64af38de06504cd517cd71649628b5438184b6fd5e3b9af705df109409ebb17898b9158f599e5ec60a7c44eda2801a770e6387a9f12 - -COUNT=8 -L = 512 -KI = a8c54b552f755ec5bf10754fb3e4fc8dd058859d84fc369c -FixedInputDataByteLen = 51 -FixedInputData = f8a3faf516c1e55930c776fcc89dd052cc846e8beb29e8d4404e9c2b599d7f39ec7e4ffb7c77f87971b4d57d28493d8502cf8b -KO = 474178e4da07671df71bdad04dad05ad3461b6728c6b2ef6436280839ca1b9c91e75e716b7a5a30d7517246530d95936e2a1d09a22e4f98daa44fc942823cbba - -COUNT=9 -L = 512 -KI = 55e8bc56ba2ba5659a62160f0eb08361d5a99e1df4a722bf -FixedInputDataByteLen = 51 -FixedInputData = 0f228628637c579f5d27f241b35af1ec83015b1d963a6aa37e7556440a906f601eeb9970723aec321ff240accb8d6f90c2a4cd -KO = 92ff69033f7699cfdcca0803534c838fcb1fb65335fad74dc7018c733da60b3854189168380900496e4eb97dc6e444bcdfd1bdc87938746b0e072d5c6fede605 - -COUNT=10 -L = 2048 -KI = 008db7d5e05bb4cd2b36be973e3b612653d33507cfb252af -FixedInputDataByteLen = 51 -FixedInputData = 27e4559083efa674612f4df91c4b03c5cfe58c744a9f72a71a1c12b3ab302dee31660261d274e7944820aecb1fc94d15607051 -KO = d228cc2f70f087bfc2041b2c458be54ad693532cf60d53ae3414d0dcf068e683eb51a20fd088ef668b3f4d4a8a8c190decdc0fc594ae31c2b00cf6de3d04ccee1d0f8d6b7833a39ebe152d1684dc3df91868fac21ab2bca3096c1616a951e3886e52e2ae2b325b2b946d3c0ef8335968035fd44870749bb9661bd9968649b55ba298c99b5277c93dc47c92353111affda64d0a7df5f2f9b071e9461bab663fa3dc52bfebe5a3c5996cc2cfca45d348f23587bd5580fc7448661b858aff25da06e55a7e95dc6729e730194edae1ced26d6d946e30c7a598d0b44ad8e3aca2285f47ed4dd22a8f2350ebb44ed0d91162a34211ba22a4299f92eb64974f57c5c5a7 - -COUNT=11 -L = 2048 -KI = 5edc4520ffdc8402ee5c2f39695aa1bd2db6c52c5ab9988f -FixedInputDataByteLen = 51 -FixedInputData = c1ed386fe7e14b7510f652e6babca0ec0bf3746f19ecc34ffdf19f1fb52897e0c4025a5386ba1b52f586ca9e440777138152fb -KO = fbd927576be3a93483ea60a5e5c3b87587e5e9f5eb85043991682b3eec685796511497a128707ad352c20a1bf5178026ab2d3456b0dc3bf8fa62b312d4b61e443f6f882481121e5bf3558bbc1ea4898e43241526dc478d8a39d29362c2c1427eb775e4b47fcc7294749c33fc43bfdf9fb255aa811c1d46cdd85e0b3ac394f78acf25aeac5066650a2ecc3b51c2f3b22b3d5587ef7bb5df0a63413c9c2e7e5a549840c065d644b8fdddd9aced1728a2b186409d443322dd25f430bcfab4cc2bd7164f2eecc92bdb8a42ef52968cef3ee2d3102e300772d52856ff61dff98291c481f84b3be68bfea3f12cb90a421a84e0689326cfe7047e4f5af6c6aa3668f909 - -COUNT=12 -L = 2048 -KI = 48ea5ec0f4334a8473273b4c4d3664c54b75ac94fc53fcdb -FixedInputDataByteLen = 51 -FixedInputData = 0f48d7e98ba85ca451ddadf02c1941430e5c9462292f0cece438879f773271fac5c81c13e4e7c1e3a35216a28d0ffa484fcba3 -KO = 419e3b8065652795beb7950245788c4a1985db3a56320614b4a4f92044c84fb18a293c22fd760b46a59c34180af1dcc9ed9b0efbca81c339206d5cf75e6f66076386ff038d01e8a4a6f963c99a72376e462f6896f572e2cdc5499a5be9c87c1afbb62f2e20c34ae72e4c89f269af568d0cf196c27f9ca174c6518d24c24d15b196d1d95bce1cb5f84ad45171d3f37402bd65b016dd1a989a9c319ea7275cf44537f18afdf357328ec17be85c9e7bfe08d2b99350db6fc181d4dd66f2c2d18fb7d9dc3c3269b3cb4797120067ed5ef59d103e613204602cd2f11886561f858fddc205e6af4aefd272ccb0b3f311bb8d80dd8512b1071e822d80bd5aa34143f073 - -COUNT=13 -L = 2048 -KI = 72191ecf299c47461a263e9666fdc61f7122c7d174ec98ea -FixedInputDataByteLen = 51 -FixedInputData = dea558934eb1cedfc63c7881a8fe006b95e7455f12bc571548e4819a97edbe563b0073378ebe526dff4302ba6f381f161dc981 -KO = 96dde3285faedf492a49b2ae152da84677157b0e7227ca0ec27ac4762ed5390c85f93c27d5a8c4b489b7a56370e1013c0ed5cccceb61fbb3e1d979b837f70ed8da53c9282e66fd7d0336ee950dab93165ecba37447f9c2235e396f2cef0686ddec0e6963b7c0554ed223e0545245142d12c7e77a7b7733853e1be18a7060c4a229edd681cf59d34c1bf090cabea0b3e5a237df569a329ed33a9776e440098df398014bbeaf7ee9a9e4e620b27d73c78bd23db54c4f7e7eeec06130d3e8066a4e14a987c2ae8fab6996b5fb9f3847aecbaf815945714c0a0879f424400f343b69e530df1bc66fbac272046079d8e095be6dbcb7b0423d27f0ec14b11f68dc900c - -COUNT=14 -L = 2048 -KI = aa9c977ee6c364d706d4a09dabb07438fb65facaad5b4a8c -FixedInputDataByteLen = 51 -FixedInputData = df2cbebbceca8342c390449f0f46f9ca4081bcc00cde4fcbcde04bb87c28b20f8c19b4e52f0030dda81a64db9336e564869e4f -KO = 3d7cbfaca2e887cc53fb9785acc579083bcd3c2160326d4e43490be851bee4cdfe5c515c874a0d479c66bb270b5f0cf2c9910e136ce4a055491c43e75e065bb2c67a3c120ae6c4d7eaf16f37db9ee36fcb9fd2d603b31ebb5587ccf60f826407459acc3d6fb91574d93335f049ff927cb9172593b457fd23ec899258a27fc2e5662e5b661dfd9152dc23de14ccec825a213ca44ac0b2dce2a6d80deb19ca57850b978a20ed42ee26fd26635b6066081f3b75ad47cc8e40c32c15561ecaca412a37609a22eb66267b80888ad1f3ac4a6157f6535b73df0b138003566e91dc8f0e6692780c98e8693deeac02858a4e2a3f66a5a0834c8e98da948835edf9776d7d - -COUNT=15 -L = 2048 -KI = a475b69497a3d4093b352501e7d730cb16432a0e430db82d -FixedInputDataByteLen = 51 -FixedInputData = c880f6c3a80c5e66a94b0d0f64b165d1beeac754270fd5652cf13a767c1c2ee493ca9f30456e0bb72c1d6f3a4224c4423da434 -KO = 024d41c9a5bd59ef12aa7dde0266e04d0093020e5ef3b67a3e322729e703150dc77756ac9856ab996d027404f0e3d56f3ca75f0aaa555e96081143a946892d46af010bd2061b2ebf1600b77329b30b6ec3fccd4e753551bbf13e615f96876ac7ecdd1d94c1ea8c4f3e6242e455896226e575010e671510cb7a46b78d872df31caa723aca359d54855a1507b6614647e1aac4d86c632bdef61c7ca02488035a1706784cbf5fff9a5b160c983a61ad8c4eccdc589065af44b0dfd484ef265d78f94c142f53b90305b029b2682ccf5ca2d89d2a3d618cbc7c12dc130a805de9616cc0439918a71bc78f144cb49dd59201d8dbf673601dc210fb654883cb8f649322 - -COUNT=16 -L = 2048 -KI = e0a66efa12503bada7c0b923b14943886b7470d8f0fab502 -FixedInputDataByteLen = 51 -FixedInputData = cc0383eb62767039779e918fd43dfcab3081939ae175bbc25b8eb9d7950d59fc60f6d8d33b80a63e03659d2b9bde74bd233f49 -KO = 3da03f9cfc8eab769154388511fda450d6a51e743db5e09f1123e7869bdfe482f073c6c2d52f193f02735007d4a681e90381f2bf8924fa21b36ccb718c1e948d1ab0e30c43d1afb667d87a2b87d9abbf82379ba34863479403f3297b1ac9f6b023836156773004f158315a8401ac4319f9cb8e1855eba8ca9022f27fd9c65dcc718603d7ecde876dfd1cbfe61fc89903835f243381a43c8c3bcb6a51fba0ad4f534a6276231ac2eddc9d1f5eb4f84cfe3eeb225b1468eb7c41861f759004a4ef76603c9db76fb3ad86a2e3f6fa834e472f645529be79b4322b72aa50fc8135b9dcc3a0de6ef8c805027b2245a6f255cf1d54aba7e73ad42f0a70b8112ac91c8a - -COUNT=17 -L = 2048 -KI = 32a1d82c03b62564d54a9402dda1eb0a93184679fdd1ed9a -FixedInputDataByteLen = 51 -FixedInputData = 80b1dfb8ad310a7a915a31cc4f7b4b333f179daf2ec48e1654ac79d1ffed5e2e0322c477fa6883e35107414d44fce52db08ce4 -KO = a69f90688f127a38c0996fab128aa8c90afe9f82a248ca3df26d6e0e655ff246b7dc916861bcc75bd6c3dadb95a8f30b14e7baa851416cbc9d767c67137969df4a7a51077f71dcdd7e0268bc97da355dfe505d817b5c7a76ab4eef764f8d76e8466f6c50cb19c723800c608f22db8fecc2bf01a0932590edb3c49f7378b2ee04e70b880a9af02b3eb03a4f1b0647df5b6839cd5c31db8dce15548b994267a704797a73d6b4f2232af6fd665e8b0667f98b2faa176666592f511abbd8365813299e210adc68d1d57c01d7f589e254bad47519bb00330694ce4a6c9b18b3ea56db27ab3c2a1f7347fe865f6f822a364ea768ee56b292248a696ac83c7100f80eb6 - -COUNT=18 -L = 2048 -KI = 367124846331763a7219d2a2a71ab4636db36e7cf44ba1b1 -FixedInputDataByteLen = 51 -FixedInputData = 50fb62da4bd4f5d67d45b2b2560010242d0e4f4a7ec2144487e6c645f9788daefb525e13e7a3aab80a776675eda663cb3dad48 -KO = 1eb14c3e1a997684739176fcd88c0cc01f9f7ed5afd111ed54502c51b01bd0bbb863db335042cf49cec840c99aca77b3fd9f017d9b0676f39ce097dcdcb8bf3d3528e7d62fbfdd016b9ce7f1760ac5235bedec26a8261bff9aafbb613b7395a8cc2d1381998f5fc1bb324991195296b8e546ab3de56492242f462a9f9b00baaf543df246a4f36afccfccb03a55e70492062aeaa2b5153b350dd49cbb4529520f2f7aea3d4360b9edf4d0688acf7075d85a1d68cc238ec39c826caf33a6ec4c0da3f103671234078afd85136ac537126608005015ca8c44c0d694022ac1530f5055fd43af70d76aa52eff20579c877b0212a2003c7f3907b245775258ff6a87aa - -COUNT=19 -L = 2048 -KI = b91368f5ac594437bf492b855c9e7474ff3f9a291a339a96 -FixedInputDataByteLen = 51 -FixedInputData = 39e6acab6bf1133129cc6c53b4ad71e28e4c2292b7c09768dc8560f330856270a3891f05e34c8a6a404385e61e409323e91280 -KO = 7a96f3ff8b8079fafbf5bc7c7685f015eadf66fecd3a75d0f1eb1c0dd282539759e5232cf705e389ab6d963891f96ada0211eafb07c9cda354ecc540070d70d80778e21425cf8b33079e0ca4239aa26056f5a0c5d9e0d505f0e24bf7165dfbe1e680b10121c071b2981028fab3057b911e0ad9208056006f84a25106f4a420b6e92c3ae5ac77372bacb861f215fb19c2ce6828836baf3b3df03d5b39355e63f7b9bfd1abb639eaefac197a9416f535df3eccd8aaee1c23340c1e7705f4ef78fdd76ab283adfed3079d3932789a3711526ddaba345e6332b5bc67cdd059d0fb95676323491d0f13cdb9996e3e16f1a777218a785571d786a0c41a0c31833ef8e0 - -COUNT=20 -L = 560 -KI = 58f059de152ce1c3adea61db10335c137848abfb487f580e -FixedInputDataByteLen = 51 -FixedInputData = ea3f4d708667428edec5b5edafe87824f9ed7cc344e29faaaafd31d4bcf65eba3a4bd6a2d3bb0c3e0cbee4bc5847f32786367a -KO = 608f95bd6274f5c939d1e4e1ce7422ea70e5275c678f7f445e680fc4bd80d81a53916fc7c96907f36b6cfba56737fd527ce0322ca173801ba56a1472dc9aae88fff348c470c4 - -COUNT=21 -L = 560 -KI = deb36660fd283829641f1475a8b3390b89de1f5d97844076 -FixedInputDataByteLen = 51 -FixedInputData = 01513321be3af5a5b7fe1d3ebbc51da682388e2c29ed26fb362463fda891bef42205d2b11e705580c605872234cd2a72efbe40 -KO = 2cb13485abaf80d42d7a2d28241a029692d2dba142cf61e7c8cca153a5979e146f6cdfba1d004aa9a419deac378d341acec49cf5da746ff8434f4259c90147e7f5bc1c7c3265 - -COUNT=22 -L = 560 -KI = b529fad8c6973e1c5dddcdc468be33b3b09bbf6cdf723183 -FixedInputDataByteLen = 51 -FixedInputData = 6aaaeb0aa644f5f128d089c60c7d738e26856164dbdd396493ef9f23455297914513ed794c8d738ac1b194971008848aa109c6 -KO = 2cdd385b20445eb6a71d24ad9fd9ddd8cc20d3b3272db6b8897811b5630eb6d68e22b58ab9d1a5836df3b8cc527290439f0ca151e8754fd53aff930cd8eaedb2f2fdfea226b7 - -COUNT=23 -L = 560 -KI = ba41cfbe45d30101c29eec978276d4792337ebfc86b30628 -FixedInputDataByteLen = 51 -FixedInputData = 8da12ef5aea14f32bf4d591e49928d3c20b862f5e0c5e782be6470875bd90bff0c9e1adcba9d3e08c99c51a8581dc709a7e27e -KO = 64a26b83d33a79950a300e611b22f4970d6264f3c249a2f0965ae0ae449fa828ddbd5d633d166542b63b9263b81e198980d5331b49b9cb989c3ac263a7309bfb9c53bcbfdbce - -COUNT=24 -L = 560 -KI = d569ad7558ba8cdf70be98f70878d131d71f2b3c97ad3791 -FixedInputDataByteLen = 51 -FixedInputData = 14ea5854eb7a9804da04e1b3e8b47a171d3bca848e4c9c4d800418c1451c39732507fedc32d7e9c50074f643fccd414dfd5959 -KO = 9230df2aacbe605709ab1e9ad6667e400cdb6da4a207ae7cb7a9707e3ad6bfb9e543ef560bcc08f3f1f35b809f0071e29ec23b4603a28db72b63d050d1dd56a83d5ec555e152 - -COUNT=25 -L = 560 -KI = 7105c5bc47196f8c8c0d8fd9e1eaffdf136986859eaf596f -FixedInputDataByteLen = 51 -FixedInputData = 48d81034f92dc8d456e64354f87b005550174a2a5500d8ff7af686678bff0b9bde1dd0eae1f6e5bcd5eb9e431f9d838db80230 -KO = 76e0b0ddb98b32f54cd7932c127e2890ca8bbc11bd2bf79a1290841ef7e31b3823256bd9923cdf5f45eb69824d085ac144887cec6d3f854066bfc865bf26edd5874a03eca756 - -COUNT=26 -L = 560 -KI = 72ee0cdc465c5775b588a60b3b984eddeb3f8cbaa068b378 -FixedInputDataByteLen = 51 -FixedInputData = ce4e2ecc32e498c66f2b47d7ec3814e5e667ab820028cf51ea0426a76f1d3947c4c7bf3d463a73a9bdfa111c3aa475d92fafd4 -KO = 94b8856808f8ee74bdf497b0dad0ed7b960f2d828ca74842ffd22e0be05c2f05f34494d8adfe5bc4691fa658ca7802d3f11b44468d7ee3c6018f0dd1decb7313cb89d5ff490f - -COUNT=27 -L = 560 -KI = 8099816b0c736b8239b942652298433a5273c2b3b2272b98 -FixedInputDataByteLen = 51 -FixedInputData = c716f3e5d52e0c6679dfe8574015d708b6b727f1247e413ddb67ebac8f36810e2e104e12c187c9e148ec00c5bde70aec42bf78 -KO = 0331e98647d8569dd7cdb4cf34de0bc559becd03fd60cc852e89899afd10563f5d92f938b9549cb6f1f7fc0a5285c3d887f0e2f4c81b9ad14c1164b8469fef1ccd080d8f7576 - -COUNT=28 -L = 560 -KI = 55cc87a02f90fc8c3b17ba2fa16d6a41d25aea175e90ea56 -FixedInputDataByteLen = 51 -FixedInputData = 30b13a25aa19fab6eb5be54956e66e57cbbe258482c7d151b5537bd4298a82a6acc7c0118d56c4319752f92d4071050f4a4609 -KO = 3bf3741cd2663fdd40c197f50f99847977c21c1730d680a7a69e59118723e5d5391fbf96a6fa0a198743f71d594204982c035acdc85e24f8cdabf2550a8ec19141aef34a3efa - -COUNT=29 -L = 560 -KI = a178d2a01759456dee3ff9f2feced320e898e9f7dd96df88 -FixedInputDataByteLen = 51 -FixedInputData = eb738615cfc8c0e16dab42a6308b9533aa27a52b218af48ff45c883b152d1eda18bf786e2140a100a9dda404277d075dd75729 -KO = 1d1ea19777554fa672f258557f6ac9de68201812e7168c67423a128b5480a2dfb8309a6acca39e520c5a69daf29a38173f48ee12e932c171a7e8d05f3a9046e8acb6b3b028c3 - -COUNT=30 -L = 1600 -KI = d9cdaa9ac61678cfe60d2724cb384b75c2bbc911da481359 -FixedInputDataByteLen = 51 -FixedInputData = 490d23c057ab8ab645644483503cfd7ad03ac37d3e184dae165243f964be39b7b1913bd4a91e17f4ea775ac9561b70f93a4178 -KO = 0cd8c24a1ae33b1552977e2addf47c8fddb50b1647663c0cdf9c8c0d2863197264acc70d434bb13dd3a224793e6b82026aa05c3dc28870a4f655c0914293c8cbb02abe3e1a73de003876b00f352b6fc1e9fd8d277d4f7d05b24388009e589d4d2ff37704d41e3edef73ce693a819a27e8a4863802fa0d3ea69a7d196acffc48fc0924aad3224b447fcc570ee4835171d2d5e4ea75cfd7670367207c33d39d2226e4fbaaf419f08854a54ef2b54e91f10b44442912cb112a1f8f02808d0a9efd11ebbab6dd038b2ed - -COUNT=31 -L = 1600 -KI = 27eaa4cbe9239a689e205055c388f0ff730af1d1176a0923 -FixedInputDataByteLen = 51 -FixedInputData = 9beaa6d482106d90ef50edfa97ea5731bb00aa18db7ceb33a9c10a0e6426dc838601f9a48e6c0599a75e8081d3714c2c985d27 -KO = d1c71298da6de94cef2668f1ba9ca1a38589277a91b557e4edb3d659a3a023e140d3c481dad3444fae478e4412d46e14a04598d23c2601d830a455b5d0d9767ce477bc193f1138560dfabb3ba7da3db70c4c14fe46d0ff70c6910f49d3136da220255f8bcfb675a5280c0e99b8a20494e0e0eaa3412c5bd30e9ab368e82547ffad10ff7d15c75043bf3a7758570a34082c6d934fd1aacd70f296fa354c28437c2e31ee5cf13043b0d613506c726a751e0457a48f72c989264999176dcd8cb90f8f442706c84693df - -COUNT=32 -L = 1600 -KI = 9dd5680f211df815ee8fe2b363d4e3dd0b186f31f90c163f -FixedInputDataByteLen = 51 -FixedInputData = c11cb2347bda6c75390a4df13f7684a6b730bf93870a313edcef1457ca354d36de794ada52c193ffa3150b8cb8aaa24349c682 -KO = 7bf77541cec1846ae0f3fa8485e141977241c0f3fb6571c727d793c9a66dc77e00f569652358eb6b19b2904d63ab7f2cd39873f61d860a3133fd472d2ffad12d2e4006339b3e66d95468b8bfa77b630b023d9ab67c75da343ce41ad4badda1777a35840c4cd1a84b94994ec2299dd884944d1f1def8a475320195e172e37856a3db6c168a4a0f4cf1439a94af4cf1c6dfe9d72e7db52995638df87dcfa39c7751a25bacc3a7a9106bf765a92dae29245ff4d17c27fc99869a430935b6ee25cc6574cfef50aa89cbc - -COUNT=33 -L = 1600 -KI = b4d43b9dd987213b858d9145ef67aca1ff05cb15d4408c38 -FixedInputDataByteLen = 51 -FixedInputData = 472be8193c27c150bba4fe8140609ee9dfd3d2e64d351b05bd3bb0e052bc2a6332988ca8856d57bee43890cc5caf27fb5ea931 -KO = 7649d10d06a5c942c8f64462f7ffa4ecce797de4351c067db1513b85ba2d5d7f403ac2e52c5665932b06b7cb247c35f452af227515e21c6bbc149b418e53c7308c75d7f221f0a95248bbbf3ec56b036e6e587f19c6d3ef4835b0b109772d06921203c1c8961665fcd85ebfeaa18ee3e2599bf9f0ed63400ecadd04d58dce29213b0ef09075cede96ecf414f845f9914f43bdff42b6392f8c0a5e91b41a703b1a947958841fb0da1f95fdeb9c15b800046ac896cbdcdc38be6f83ee996ea0c0b6b05b0ef7c7656b61 - -COUNT=34 -L = 1600 -KI = 591009d9a8aea32ee3b7469e25b715a311daf7f83b2ed667 -FixedInputDataByteLen = 51 -FixedInputData = 9b2701e3c0e89b59f914866b47045583b057f589e1618522e7416d3e7f534da920c0317998448b7d0573be5a9c877b4b5e2aff -KO = e3527a737d584ea3ba8fea9d1a9c0502794d9b4a6a6eb75a083a7b7b763cec4da50929864c6625ad7e2ee2a8c6ab6420844d2ddb6a9e9cbcd7a025d2483916a9f568f17ccec77cd71709c24b075d515feff2839a14d2a61ad1841986200dc1db6da5cd876f77a5502f643bb9e48c6736b10441849cd4bdc3fec7a9f8e0384667f822468e6121ecfe3f0da05123a40056f2418640413211f18d8f158e1b5584bc65b778c15555ca95d1a01090da33311c023ff6718c6e87cce04ae10f4b47c1207fc47839d0433941 - -COUNT=35 -L = 1600 -KI = b00d4335ccc62583b3a8d11367311c346844a9a7296f7b7b -FixedInputDataByteLen = 51 -FixedInputData = a39b9d41c87c87d9bc08bd9d69b75da72bcbc0a6c73ebb511075969ba1761f6d09f54ffca6e0729f9b4b8607fe8c107cecea87 -KO = bb6f3e71b1fec26e8ef585340d957cdd1e78970a562b2bd1a2d35e1f3a6b31af6f5fb3e434c5fb2578cdee9839578ab87c18d5a21041eeb6ef2c68f54031d08a7ef468230d69a18796dcd6de16b9ac1a8931fbed04c3fd7d39682f90b3fc88d1af2670fdfb6a05aebaa2a82a9aad0cf434d4d415d639840a22b1fc0cc2630096739bbfb2e94e9d276c7340ba0ef0df968967285673f9a9e2086a3ef8d066d9c6b9d427e3bee7a0bef8655cf2aba4e2caf99140990bf1abccedba98277a75c460bb16d6ce1fba776a - -COUNT=36 -L = 1600 -KI = 4a928a77fcfe22dc36f69f14c1cfe408ee94e3b344da46e8 -FixedInputDataByteLen = 51 -FixedInputData = f5d68ed0a803e654e490d1a6700af486f424c64c827ae945b5cc51dff37ed4fdd7ad8bbbd5d4b0d80c2607b05a6bc65334152c -KO = 5590f2c5032d2ee352035fc9c7321876886317927b1dcfb9b2c221f68eae48806e753d42beb67200cf1120d572b18abd6feb95ad115c8081e7c168e87384bec6d3bd0bfca2d1bae9dfa2bb87e101ce1c53351b7e99de577997105d6d2ac3fda81a1d25a64861d0901b4d12453d604dc2cf2dbaa6957df2d76df7b8c8aadf61eb96a6cd95304697cfd7779b04bc28c3916025cbacd871b537b0eee8da23cb1fbd8ee98d2231f4aa59ab0d37d55da8f8ca3a920c69b373eab3230a5701674eef42e977e70a5a1ba44a - -COUNT=37 -L = 1600 -KI = e3549992db5d89834e76d512e3137225dd699fb83b832cc3 -FixedInputDataByteLen = 51 -FixedInputData = 1b4120f79354953f4ecd7f4764513b69cdae1b77b3693c6d9c7a682dccb0180fd8dc510b27827d0b875a681b09c87d8040ba03 -KO = f3baa79f7c5fa008c14211249404a96d3a8b047f60abfd4ce06b77116ce7753789e3da8d3692db847cf582e444b86a35d3e830e28eb7f283edaeb7271da64ec9e8996140dfd59bd445d4302b342729000e877a9a81079b47d059744bc8b92c9d68374172b7dc679f4de18bb3f9d36c285218e7c25ef259ea0551b794b9798da2ae15b5b6c4d073fa2b2dec835832648d82007c7085ba036a1c62c3845b21eda91af15015760698890facaf1e0a6dc6a30fa7366f74e768d76e7f5ed9202a7078ef51ba8be9a0789e - -COUNT=38 -L = 1600 -KI = dbf3f1fc63ecffdcd4299cab0e10f11e21751cde43162e71 -FixedInputDataByteLen = 51 -FixedInputData = adf13d489fafa4eb9a5c6346752fa3c6e45053d6620a65800b616dbfe83bfe3045bff1d5d72fbacff07b79cba4c9db937406ba -KO = 7041e57e66ed48396806865512ecb75899fc043cf067e6a61591638e0b85956b1509e4d928e83874bbe37dfedd72bea4ed9cbb6b9701aafcfb877c5d14454af68a9a18447b3bb4cd3ed26b631a8958617b4deb206d7de0d919eafca4dd0562d2af07b570260eda6a45cf60a196a6d43e008131b8c691bb13989c01680c4bae8f8fb35f993a6900af14cd1a1c59cfa24a0a2abb7cb4fff9fcb58fedc85963369b810411453de6581047963a49cff1ea1990a4d4c168899ea017bb74aa60a5862ced30821b7e2707f2 - -COUNT=39 -L = 1600 -KI = 52231a9d32a057cae7858e6c1e569a6eb5bffca4e78e2780 -FixedInputDataByteLen = 51 -FixedInputData = a283becece233c1038ca1f6e1acf2ef5bb34fcf344889fe5c84f2523b0255e7ef576ea8db197036e751c98df986fe174baaf49 -KO = 2848b3e797111b82fbebee49cce69643ec361f894e7ffc775cd215bd7edec29ff6f49e8393d0123a51b580733b1f81e3c68ee34794a0ae6fa0e8658c7994ce1f20aef78276a4bc06956f72b178760480b8aa6f895286c76f671f4c58ec445eccffbc30eb6fe6465e4587d98166df745fd97acce0dd31e5ade645741c9cd5518dfa897caddbda39fdcd12d3cff5b662faf6795d8cf91dfed14bdd856d1415ed09673619e28cb58297e0b197680147f4b10c3d43de208f69cf11b14e1019340dad35fed181b3992aea - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 9da5b8e2f33181a3e486ad205eb4e7dc088ca5ca2eb2fc34 -FixedInputDataByteLen = 51 -FixedInputData = 7ffecd233c4829941d0a512af2650c35e8c9f99f43371ad0b5bb5e0936323e571020ec7f9de49f39291da45526ec2101b13b19 -KO = 2abb12485e132258833323a343fa1fabd09dd7397655e82692b75b2ef7a790699d765f43babeaa556608160789a98aed1c8d12853fbea8eff7fa1b9e4964a00d - -COUNT=1 -L = 512 -KI = 4ac56979ba414ac37d3b26a812f7cf8ddd606ec868cb1d77 -FixedInputDataByteLen = 51 -FixedInputData = 458725c1582f5efb794149b4e75a920ac43dd1219f028a111bb40d4f2e8f8013ca4685a26b9ca1687bdddf7117850781ef172f -KO = b78772bea1e1aa7a53b71c4216535082e0f5a8545ccc7e38cb0b1fccadf1e13461bbd3915f3820c6dd7b1bec8de1d350c893beb8348512ca52e2402bdfc828c8 - -COUNT=2 -L = 512 -KI = 7c1dd8b14fb26eef2aa216ba83f979a25a7befedff1526ee -FixedInputDataByteLen = 51 -FixedInputData = a6bb133983d75c3ffecffba88d1496ea619131cf495b6333a163fa5731a66067ca14fd2c33e51ecfc3655ef76f7e39c1e4dd0a -KO = ac795a94831a33c36ffeddc16b8142ba6441b0fb02018ee25480fcba4330b3e5da05c2b1c6a1fc2778dc602007547e102cf8952aeb1af3b1c88d70963d853028 - -COUNT=3 -L = 512 -KI = 82c17c572518f732f540013a8872c9d1b9aae16ea59884ba -FixedInputDataByteLen = 51 -FixedInputData = 4ca0bbfa963ffd540c39990388c74f22a4e40a7ebf19a21b57ec6096c564c782dd9a6d38930e26e84f4a945bf0c98cfc74d163 -KO = 526a36592b6c8e9833b9779c494b788c2e7d1f33008af78fd1e51e1fbecfc81bd8937e3e5c8a4ed5a3ec99254012e2db657eb82733dbbf07325cb7ba18a11f03 - -COUNT=4 -L = 512 -KI = e22cd414409addb558dfcd6b0d9acd423e3595f66826dbf0 -FixedInputDataByteLen = 51 -FixedInputData = 3947c6e62f15d0ca97754ce7a39dc0a4e3e4e1da71f5194bdaac2299663712ae5dd3931dc568b580f39db823a5d09f9d78ba55 -KO = f753dc078d773d2d5e0feb8cb8f04d8124d6f5708301792487db0f2a6a96c7d5d42c5423f0c36fa04fbebdfecc89def3eb3575e61c6bdeaf5115a6824fbbe000 - -COUNT=5 -L = 512 -KI = 380bcca26e62c96c862f7e9b4ee52498656b132b0121596b -FixedInputDataByteLen = 51 -FixedInputData = d04bb43fdd848f9a4cc63b08653de038fa07851a38776e620413fd8498647f94aa413c174486b3a04bdb7b2a68fc826e42752a -KO = 2e86d36bb848abdaf5278925d10deec10c512862262147f7280146dfd8b3993e8cfb0dea1e3d45fe9641b7a1df96e9f57fd3047285cdb55eb0c1867ac75a447e - -COUNT=6 -L = 512 -KI = f58097edc1bab1eee3b338d4f73fc85b79ee97297d40dad0 -FixedInputDataByteLen = 51 -FixedInputData = 5d282f78fa8b28561db12cdfb55e61dda84d36df5292682b2c80401a930c6c5fef35c89cb8077a9d91474b350a691e1076b266 -KO = 76b4a6465864caa7a3d64b9b17339c4d360d69d21f7ed0c93acef0cdb06fd6cf89bb35caeb87ea51a46864f9a69a05d0051fcf1b72f346a4c2d15b11bf3aa91a - -COUNT=7 -L = 512 -KI = 0b70d294ef639e054d4716549d0dd8635febf8acc42e4306 -FixedInputDataByteLen = 51 -FixedInputData = 859cec620e5c9b506cf6451ad4748549c9ae209fb4b856331d12641dc7361ecae775471daede8d5812d7bee1b1308ce65e66e4 -KO = 2b960a4c285aadcba1b6c6566a2192c7afffda3f0126e65ba8ce47eed2b1c797e23a2cffc3ba6632827976ae520a2c720f7a2c09a399ef54ba50d29357ec686c - -COUNT=8 -L = 512 -KI = 5fbbce473df1daccba5e1fda6b5c906be5d7d406e4c0e94e -FixedInputDataByteLen = 51 -FixedInputData = 456ca1b9876384a9ea35f9019a1c5bebf3ede2351a8eb98a6a82eb5cbc5ee756ebc7b3a4d9b02c55b09adf76aedff4ac1bcc0c -KO = 0dce0376f6eac91ea635b235062d256e980bba8bd3685b450e96946d63cc1fc3d8cf1fb7e96fb96441c13dfa68dacc48bdeb0a5fd17b9cd4d3bbbc5b515caa1a - -COUNT=9 -L = 512 -KI = feb6eed206a1b348ad371549693fe1ffecf53efdf07da31d -FixedInputDataByteLen = 51 -FixedInputData = c8cb842bb75ced667550cd76415549e9589cf08a34c6336d1e185cf840289b93fc8a7a7556757c81f41fd872cd8adea4fa3d3b -KO = 9ccc85e879449cc6f91378b5e119c971df769a00bc753702d6a967862d0c6b91f3011aed882442b22f6e3afbacfe078582a62323b0a46a6f04ceef2108742eb1 - -COUNT=10 -L = 2048 -KI = d7dc72318c2fa6c0bd1ddab175de7f2b53359cb6278c9235 -FixedInputDataByteLen = 51 -FixedInputData = 2b37ba2f98721f6d385259fc5603f9b32d9b552e93d545d2445efa791ec9124a9f52b875fb5b66e40daece0e9b31e26314c49b -KO = 3612f23751215548f984d2df1753a157df328154ed828667787974af730125e0a50f76f052d5c1513396e1471037777620d04c9b2466bec7329aba7e9861973961fc8d058c23b284863447ff77bcd59322a9fa2434e544ffaac726fbeefd37941b337b261bdb7bb725d9795d91753b63ef2b46360d35c5325704bbd25c49698438bae0336f3858ac0200fa2b7b48cc7a39233c5f9d3782013ceafb7ab34b55354bf367184fd0ac8b330a60e5957fb01c66f1576d719c026c239448e7b1388245c935edf384743ec8679b7cc55e78acfd678656b6b2e8f3dcd2710ae60c3e61d770e70a23d033e445b9a69b181290dc38a056ea2f23b2ec786a421e2464bdd651 - -COUNT=11 -L = 2048 -KI = fe8b678066c61a94005c282784305455bfbd7c26ae65331c -FixedInputDataByteLen = 51 -FixedInputData = 80776b095fd3b9bda00de64abdf249a692eb3b6a114b715e9a5b69e7088efa3b0614376b7084795ef2599dbb581f2d9fbe3418 -KO = 3d104817ab3e299bdd0cd4281d4bc93cc4283a3105ffda7219193be642a580cc5df7e38a5040ec36e7033ca0ea0f4904148de55d6b3d0ce1bbdcd78d2c5e6542c26130fb854a56caf86e44131f0836653d7054b4c0ecf6319dd2c2ff801af3dece2c190c9f4371b756e5ecc25610f31bce77e236651aea717b28c28df9afb3f44a732c92f5bed67b266ca25bb5cc60e62e8dfc0db40651761780b19542c838a175c112494ee5e13eb79c3eb779870282efae9d068a13f19a3b7c125f0218896c4ba2ef81b5a13e346c6591f618056a75e9f04a5d3fa42e59ed7950e37615a53594e91b3747b7dc9cd7037e94a5aa6667b5aeed6f0386b79a94889831449b7eb0 - -COUNT=12 -L = 2048 -KI = 9947aa482d712de53fd2a8c6fa0b5d7665eb44a07a6bc56c -FixedInputDataByteLen = 51 -FixedInputData = 6e04779f7acf3d0031cadbf90b3136422511358e6add8732ee8c75c094166786e03931bd3672d943e01638b143900d0e5a3ace -KO = 0d5ab2734b4783005e0e73c1aaac5f0c65fe20a67664fcfbfcdbeac98bc186c0f63d700fa7086f09bd2af526afde5fd7134da727b9f2f911079650bba101ee5db8f14a4eb5d2529da6ede1c26d0ff0de79ca2c18e4b9c8d847dc1bfb289b41bf4b2faf18ea3c41c2eb27a3fd409720c5d83cb2e3ee66dfe50650080c0c57268120168b69446acd3edb82fb3494ede8a781e119040ec4a95ff4ad5be448156f97d334c8ce95ff56eddaf9faff9f1dff5d4c4f3d87b60dcb92544078de3a9144b1d3a98526a280cfb06eb4a19583dcebf34a2c5b43b9e5131a864425475c36660584acccd8ee65801cfd38b899bca477c90ef2896b8821db7aa9efd9b6f5cb74f8 - -COUNT=13 -L = 2048 -KI = fb37819e4b4d438e73209a647ef7e3a0ebb009601abc41d9 -FixedInputDataByteLen = 51 -FixedInputData = f2495346f5a9b40fb2643519160390ed7e61d54614e602cc8c9357f4a522ff106667c86e4e69efb9b5ce091960418e1c9abab4 -KO = 3fdf7c0a4bbb66f8708f758fa08837013491bb13eabcea48299c14c78be9faad616a876758140b6e3669daf0467dd81209f0e3868d41d55ba45180e5da24522a47ba4da0fdd18a7f14723a9b75d184a38c2c88a34d80403e69ab58c605a94fc7095f84b2d595e493a7cbc07c577d277b99213b07762626690dabdf3d3c23f8c784e8bc3433080c5d533dbc0f783220fa7469fd2699f3ee69567821ea91d30221c49e3c3389cce2a0c88d2b1c71b26ff83bddb94bf4e3f91e79d316a174ff264e196c165dc95968190da1b89079759d5b7bac95d234f7516fd74e8b540f0ef0d9596e3a0d4d63f6dda68e187f3f9c2724fc3dd68d85239de080a8772c77e09f64 - -COUNT=14 -L = 2048 -KI = fb22d2c1f483ea6cfce179ffe08aafbfba5710c0d0156b8d -FixedInputDataByteLen = 51 -FixedInputData = eeeb1161a24b12d7b09e08b09bcbf19b573d181ef123846518f0cf6d5d73de3260b67422f430642354dd8d0aaf82ddb3b35138 -KO = f01dc617517b56e041ea90451d1bb9b4911b10aaaf63ff7f8e504ea4818d679a06d94928073b7c8f4e7e8715459ba99a10fb00fa0a5082ebe5a7cac686d44d74964d304cc2cf533cf23f4b9ad4ef7ff35c11acec335a69a3224189f79c26979f1ff36155019cfadbc2224dbbb6fcc9ce8c5aa420d59d9deec95a75238442265493900ec5174925b5ee2cded5e01216e632280b907c005fce9581b285a82465e5cf063edf486c161c34cf96cc08707c4874452e2c81c252236b9be2fe8c572acbbf6c78504b9ef05bd1d0c4570d9b1a6af323f3f80ab6afd7317351f0ca352dd3f62ba10c654ffcdf2882b735f1807a768b2311f6e23f3d1195da1896590a42d1 - -COUNT=15 -L = 2048 -KI = 74375ea7bcb27956043e733fd18ca930aa8ba2ed48699bf4 -FixedInputDataByteLen = 51 -FixedInputData = 420bebe82500298fa4ce1b191504c4426380387bd58de2089be60210d98fc533417a18a991de657a1f24fac8436a93ce9e82ef -KO = d3ef0d4bf08e7e1c1b8ab390584c7da1070f6392c8dc3c20d292ed8c7f5eb7136d09c7ba54c570d84144cce293b3405133b677410aa9851080a8d63fa6f83216c179162cf0a56dac8de13949fb1d7954c6a59f2a482a4074a281cf5d6f6f9932c40393f465b00939e3ceed537969fcde9adc59422e6214ba9a010e718bb93a4ca5b99498f76240aee56417fb154cc96540e9d24cc99195028360f3d0fb7eade2d7a8bca9452c37710292eb44fd1531e84b0271030d3659a0c41fd83abad7abafbe4f19378975b93fa87ddbe529c049820808e350565468702f62f6a3e2c34e056fd03fa19483e38dd4229da6732fed07d484a5b514a1f385aea08e720a6cb9f5 - -COUNT=16 -L = 2048 -KI = 13e48cb126cf57da542785e4d09ae9432d85a01086cf7dcc -FixedInputDataByteLen = 51 -FixedInputData = 40cf21f9dbcb8d53ae0815bc00326d01ce1f8969f4afd4833899a25aadb8e70d3b4a7f3c06d323c9cdb713915df220cbf79ffe -KO = b1333f26503ca1c935b62540f0991d1ab4b6ddd59c05dd7a1231dea974fc3b46523ac42c46a8e97348fbbc9ea9e2eeb7f961990e7e3843ef1e24b8dde571ded850085b9e97c3b2aec52013d53bf99787e8f7d4cdd6ad676fa24fafb90684096fc898f4513df0247af4417e8e3f4398cabf743cfb65e9d785cb1ac4704493ccdffd5e120e3e342784313f2e33a4b9bd3981721a3fb6ac527e407f515dd897cd45daf368a40fa777a7399a585b1cf262f9611daaa9b450e386ffb590132f11b0e2a71361ff136eaf924b04e581bbe97f0c2d2e88cfc5b8b6b935d8d92bdfe0ec42f0e877bee555dc29fdf7b571d234dce674bd05a9311c9b3312ff3e372136657d - -COUNT=17 -L = 2048 -KI = 8b88bae06af8f521c9fdc79334db086065e0bb836ac531cd -FixedInputDataByteLen = 51 -FixedInputData = 910537833232c1bdba2f91592ed5f26b4d358fc4f5c137f72c15cdac4ea59d579997d3be14389bbad7342cbb1d95963524d5cb -KO = a7b321619ca0f6454bb1bc866f557016f787e4fa6dfdf9b394dc1ad1c14bfe2f9f1bdc12cf30f7bd42105808a7a182634bcb718e45c3e0c0d8e74068ae36e7f80b2222962778168f87ad0758a218555d0e52c956c2c26f0c274149248142346ab57a3b5d065e015826e9a76958713156cbc77795cac0273527ab6c90422ff51d174724adafde1f4aaf5a47bd29befc33d010d1611988db165cc3a63995305d18f511491e2ac3be2c9ff4ad3ba3defd6e116263bf07b0b5c249ba9ce725af8dbab687c9adcca2f465cef5f23852bcf3bdf3a5d7961b4e749c61d3e5fa535d53009cf7b6bf522a5b7ec8e10f3a1ea0386b313575360d7784ff5e79e17dae205caf - -COUNT=18 -L = 2048 -KI = 6b74840336590595890cdad6ee8add41ebbe96f0ad000b45 -FixedInputDataByteLen = 51 -FixedInputData = 1d8b11bec72ea4dd5491a9e8ede73ac11be0615948a152a686c125e41ad780403ccab4cce53850d85daffc0955ec8e598a0ad4 -KO = 3bffbf6e8a895dfd6e82c443c8c9e2fbcdc78263b32f5171e2cd159bd7ebaaaa375b724587d8a1bb04f5a7c1c35515142d9a44b4e3dbb9a079987e0232b0904c59eeb3729cea0e5dd627f31960e9c5d38ffa60ba875c6c7e1556ad43d750159f284b780b55fbb1c65ec56dc36f998aa2e04b3d3fde51c835005c7ad25f18e6eaf2f7f4e249bfcdbb70b9706668d2404af24a3870188e4b5e78ffd86fedef6444354631587c1267bb2c9710c4f36b5671c16d57b4d49325b140471abbbbc17fd4e430d1bfc1ea8c4f2111e434fac439f24ea689c6fbde0fac379f48aa84ef8282627ca246a1b380c9912cf36469d8c3cd5fedfabea3563b49389bd45c8f49d73f - -COUNT=19 -L = 2048 -KI = b1aa8209dc6cd427d77d67cc3825691b78740677754526a6 -FixedInputDataByteLen = 51 -FixedInputData = b557d724e83e90e23c42d4a2d4082bfd3075e87f5dac1e868e54b0320c3a86534d14546835aa13dbc9a3cba08630add631f8f9 -KO = 827c5bcb6aa3cb6d942cc291af229f42d7fc35850e95ebc212d99b257411276f3363d9778129a308490c1c9a51b30180d0dbededa82221742ba73ff26eb3e385c712710c452e703d8579421b43d5eac78885145feb3f0953ad4a6d58bdd5524e56ae2abcbf4dba2fa419320107479bca964e5b7b032bbc9eea8163921b1502a2e263a92cf40030bb293e74b20be9501ea8226f1c702446eead820935e3ee8e8392ce76e0b8956524df61d9258c5e69d1bbe1b78c3ed9f2d23dc8adc216606d4bd6dc21f2b2f0f419f5d50552ff43fced297e36fb4da504a19b8a49d4bd78fb7ad5cfe472d68c61d0040b9368420beabfbf7d8863575cd4cad669f1733d289a5a - -COUNT=20 -L = 560 -KI = 713992ffbc39d1c5e8f0295d16c642702701eb9df6143466 -FixedInputDataByteLen = 51 -FixedInputData = 08eace3e226880373d7b7e73f7c4244e44b0e19373f0c9673c20cdfccdac8d85f73d6af8a99ed94760f097f38cae756ac7a456 -KO = 3cce9458b824d6d1aed2e7cf100e660fc342b05d6238839db7b126226a25b8c19c3d5d450a768249ff3228083c2f67c30097d400673e8928561b07026e0d0aeed2585830e16d - -COUNT=21 -L = 560 -KI = 493c1059d0a1ab0dcfbcaf58e5e69319a1022aa3631628e6 -FixedInputDataByteLen = 51 -FixedInputData = dc336ff6d10e2348f63da60bbc9f4b345994ba4e81259b6b06fe692d542cf7b708576cf11b04ba2cbee672b2dab26c6157635b -KO = c9bf7096d008ffff247e237434a2c65a31aaa07eb0acbad10f878d52f97c4f4659927e686d45a9f7e3604bfc82b423b318c10d47a34c4931db07f61b12554023c1c7d2d65047 - -COUNT=22 -L = 560 -KI = c48c5ef410338af81dc500c9a2268bbca28d542b53978c2d -FixedInputDataByteLen = 51 -FixedInputData = 3bf3eec8a593b4f998c6f678f4f5eb9c35e99ee21c6bc01728710b2bffa449949d4da1ffc889d09abb2ea19c4fc306b7fefe23 -KO = dd838cbff95a8fe070560b5c1335501b0f4c57c66704c64fd2a6816a30ab704a959d99d06059c335fcd87e9c47b4cf717d2446d51017d0f86381cf5ccbf153959ce8ae9f039b - -COUNT=23 -L = 560 -KI = 8ecaacb113a20c2df1d26ccdaf8b1f41dcb5491262ab05fa -FixedInputDataByteLen = 51 -FixedInputData = b95724c5b2fdd07bf743b05e6f14007bd495514cefe3e80dc9271a2663e0a51221cb83a6db261ac22ed87fd3ff4c1f0628c456 -KO = 4b35f3abb5ecc86025fbba8ef40bdc3bc69f3bf7200bb364f5d50cc824babb89253222cc33bda5e52e1f11c165883136c70cdf38ac8161b750de9d3cd1a54d0e4eaf9f2e1f2a - -COUNT=24 -L = 560 -KI = 6a5ebd8b25c8d25005751425055f6afd9ceb5d775e586fda -FixedInputDataByteLen = 51 -FixedInputData = 01fd7070055ba97eee51fb355e7d5337f242f7b5f508160e24d89b257361fa339742fd1cc362a93b34dc3b6512025ade3b4afa -KO = 3ea3158e95861ba8dadc2418580ff3000f0cd8943115c755c258bf5bb570f542c09e648ef83630670db28da8df9d2651b9d7cff9714208ba0a3b5c6d95eae296c72ca2d8fe6f - -COUNT=25 -L = 560 -KI = a2f4506fa42c83193eba0bac01e2e42dd22b8a4fa29ea2d7 -FixedInputDataByteLen = 51 -FixedInputData = bc1cc68bbe1d8cfa124cb02d04988c40003c5fed12a058b5f1225209739524cdd7f705ce15e9c6bd200e507da7d506cc60ce28 -KO = d2692a4d8650a9fbfa298cab5d0ad66ff3fc97d45ed27fe19c75378079a9d099f7f8bedc15f2a80ac39ad7736e0f90d0f96023f583f27d8096fe3ca5c06cf30d59d9e6120ca5 - -COUNT=26 -L = 560 -KI = 3eb578bb398e3a9c32364e684e9b786ce58cf0df308ec432 -FixedInputDataByteLen = 51 -FixedInputData = d65640806a6646fadc4a45be2d325913a671c8f55fe0135412fddb8380b45fb3d9f897fc6fed9bba38cabd5dc7bc6f2c78f548 -KO = 76e68d7ee8b146aae5e58c82121b048cd50a9f08cd4d0f6caa07c0f014fa4cb6961238e8551cd87cf738851297ef005b9efa7da4a558f4d96638b0234ebab5d381789ce12bf7 - -COUNT=27 -L = 560 -KI = 46aea727b4b03265a2b7f89a9c553ced6d3a51020c194e67 -FixedInputDataByteLen = 51 -FixedInputData = 6f5dba4fbecd519c044db447c9eb865bb40b29e4417065e162e3e651e7f9ba1ca39393b33eee423f42c65bd97c98222551e1ee -KO = 1f8f8e585b85964b95e87c4f2ff1b8f340645cb9664d50ae196cf8accb82ca6127dcdbc1176756ecb70c4c8cd3bdb416ff455472f7223b2cbf06b495a415afd692f151e76438 - -COUNT=28 -L = 560 -KI = 391f631148eeb9dba4d74bc183f22906212cbbefd7667975 -FixedInputDataByteLen = 51 -FixedInputData = 93c3fd2af43e9209a22f81a5e26a19bfa239853191871a31953cd784a7d47abdf840f4157af2fb40d9e5e6d290c27868adf4be -KO = c655acbad7afe9942aea765504b555992892ff86f6de0d77f0d777a7f97a97b86caa5aee3860103203c8c588fce80a98d716dc9986d526964dbec83ffe72b5f27d7ae8bd3247 - -COUNT=29 -L = 560 -KI = 46ed283ef9858596b10ecff9403d475788b80f8db3926629 -FixedInputDataByteLen = 51 -FixedInputData = 496a6b836962d8d5a75ec106073e8c560747fac44ebc90b900599fb6d1a544e387045562a912922a906ab5b13be662168aaffb -KO = 632dc7df2474cc31494b1f08829e123bbacd413fb5db0a78fbac495c4ce0cdf7023d33c822dfdc8d66d8b52ba08713d5102464f94c352a1b6781dfec4c0f78743fa5052c3fc8 - -COUNT=30 -L = 1600 -KI = fa796e3adc966888352ee90ba014b252ecbb29f0937c02f1 -FixedInputDataByteLen = 51 -FixedInputData = 80b98763a4d88bf1559e2fe5a43b94e873e094804c989ccaca3077cba72f19d7e9fa90595d3da9c20ddb7efed464c29bf41e5f -KO = eef762a054e64b08bcf8934477c0db89917d52b4c64d423f566fc2376ac177a729f92f7d90632ebfdcd7055a0bcabb88f10a33a256dda5a87d5f82a5b69e5d6fc4f954b6ae5e6961e5b6ffb67c387090d4bb180c0b09dc124b5f24669a6b0656b8868ca64e9f3f41da574d87727cd61e7be683e8e2d9bf5b00b6886e29b97ce59f31663266c86d901451800b4f05a53b3b0e1700ca32929ff3b0832026e64140d28d3395fa1d88e1cc0e1bb80d01e770682efc7bad2dc2078d7f6ee2a205b43f7e079aea8a78b28c - -COUNT=31 -L = 1600 -KI = ee15897329e3ad68511cc3e2c5e26d374445231650a71c1d -FixedInputDataByteLen = 51 -FixedInputData = 3627611fd4aba972a1b22b1fed02101d97e1f8299b20b7b6347e0c6f3e7c8087a5793a3f3efc80e8173dce287dbe93aa7cc8c8 -KO = fbe89a1cd77e2095c73bde8d4906e683f20402bdb608d52b8ed40bd235c990ee3c8f0ea7bf0dd7dc791363c0d4b98cdda4702bdcedad302a3555659cadbaeacf679931dd357b16fca58e0718e28321faedf32e8404f0654041cb97e70ccee5cca8cb5f59aa7549d411fe2ad752f2d88f4d757451f97a4459159e98842924143bbcb24d51906bcece9bff2d80e6299cb7081b711ed4510a19c1318b72d6a0ea24711ad79d7fe6651a01810c58fb6f4977a929381f79412f4f7b6a0c3f27450187f03454f7e05e5e8e - -COUNT=32 -L = 1600 -KI = 380148cee8c8021b8cf8e8be44e3be2d7ac07a50e8df87a8 -FixedInputDataByteLen = 51 -FixedInputData = f233e7adaf5a6bea0bc88694ada29865b6e113c10a130fa6a31bc73c35112cebaa52e5108d46f87eee3b504643b2a62e6499fa -KO = 3abccd3ff8034870d08a4e068929526655df8955aaee2f46069ce249abe5cc2561fa57595ea404d8faa1eb22bd438bd7f2f75f4b47853b85fc53271f67547faef01fb4d28144214b89bc29a778c62238490c358ec83e3ea16c335a271cc61ab3e99e1563bfa93fa6a6f98bd69b5685d50e9b5c7d7e3dfc5fc72c0f534d8a3890a40573f5f5b9f8a77356f419a38d77bdb24666af0a0a1a06fe9334b9ccdede4c05686180b94ccc9b3ff559a175e25a5121469d87ec9994efb5f76f9ee3e791801f895c033690f74e - -COUNT=33 -L = 1600 -KI = d9e79fe8b499b8eadbcbb340cde4e6f7349ba99c36b86e0d -FixedInputDataByteLen = 51 -FixedInputData = c37073015b531c5696c4de2e8d0167018c78e2736e974a61617e2fe183965c0f5a88f615dff601a30f0201ef6e5ef9fa0976cd -KO = a49f73bc7096d0b788ab6a1d19bf3f01e17742a4e0647065e666c7468c92d4e26623aab07dbbd7cd90f1efc1a64566042541dfddf6da9838c0fdaa2f7bd8363d28f57e3bec2b7a276eb2a09309c63a9e9ac6565d4aea162a2c59c8911d6ce39e6d8e55092c85d835a940cf3b7ab0e53bb2716965f8668ccf1449c46664ea753afea33b795b74dd327be857246a302aad0d320467577469ff9d7e9da010f01a4b1626a1a367bdc1fe4602e75ef22a2e7d0d9a4062d7a4e7abad5574ae98cbe1c9705c7064dda9f55a - -COUNT=34 -L = 1600 -KI = 488e7396f61fa002dd08616ef998acc88f2899d694dc0c52 -FixedInputDataByteLen = 51 -FixedInputData = 1565e1b08d4909ba703fe1dba9c30e72c350180d22c998aad6b85ccf8a14010403be12b2aa8cd3084623ab57b767a124109673 -KO = bd6917b957d1aab5a1413235ee0899bcfc4e0234c6e5af65aa91aff16db2e11e693bf5fd120ac35b8ae6bb2db2abc72e3f2e7eb81914ab8d437aacd2b4d190402645ae87609a8497f708218468a31f96a895532f85e56c52f3be9ba18882409e48dc5fab02e551850ec5dbe3a78033179406cc03492569b942c2b9c41d1fc8a7c413cf6cc351df43d4580057c523f5a95c67c057b1c0314a3ab6b7b18b4ae0830291d77c4ea64e5fb81a21be99ef34bc90c71d843d23ce2c225b735814498eb671836ae16ec61904 - -COUNT=35 -L = 1600 -KI = ab0372addc13e7d9a5388acba0f20d50967f3fe81b8df6b0 -FixedInputDataByteLen = 51 -FixedInputData = c2d277fae3d431bc9daebea327f7df1f46212dbbf4debcec29104d718e58053b8a04275108be3392ac53f0b5a14eb187ab0247 -KO = f494f564339a1b75cb4e73ac585f77ed31587bec96c8c556c249b51b91b83fd4a9120ecd7c6bf8b087399adfbec4babf331876b74d4b47ab5dca896edcb59cbe77824636c5bb0f98411ffd14862e805f7d1e9b1e753342678da45d285becee9c4e9f187597e843a94c845cc1c98c50ea814052ad86be8671b3593dda83a35b2ab7154bb18285f1c27ddf3f782a6a201d45ef81947d905eae5dd789b7276043ade30410ba007badabe2fc80bd636be8e5c030abef102c794db307aba379883375916a59d43f659981 - -COUNT=36 -L = 1600 -KI = b4d0e4e71ed038050d4140fa2ed1ca514b1f75627e945780 -FixedInputDataByteLen = 51 -FixedInputData = ee15bd34a06f89851e2a47d0949725bccd93a418c32d8db7322a049fb2c84133b1fd8920c3220e91a3485c0492e3b9e892368f -KO = b2c1e36d1b8b792bee425aee27543285e52a50266c744123642f29017ad516453ebd33c9a2eaf55176611299e76f2cee57945a044d481e402a59f7deca03f3e78be2d1cb3bfa025a63cf3c95c0995e8cde024fd93a931c173f054d9e3d5c6b02ef48c4ff8697f7505ea7c767cb55ac029c3938622e4fcd6a01e792ba55a241b043ac9ad95a14ce53f55a795a413e529f35843c63fc4a8e24f1db0fd60f4ee43399257de66a5a6e2578efe2d78e78fae9a795dde663d5b7501cc3d3cee0af109e580689b3616bd589 - -COUNT=37 -L = 1600 -KI = a8d8801487ccef4e63a232249d0a488010ba3cbbf771a877 -FixedInputDataByteLen = 51 -FixedInputData = 663061dd8401701d550b4d8ad10651c82ba32c1308875963dd97c43d0e0c07850daf17c2c636aacc2af1e98a5b662fbf4c3e7a -KO = 2ae6c89a828b47771422d6ae545e9e66fbd7b3393d9da55bb2215eb7af57e737729cdd7d1411afd5db777de67e67f79a7266f2db9c819f152c0eee5936c3d4d05b9136a8782d938d3729a1a4763f1b6659e2370a0500122353494874e70fa778387d1f1d0b26e2a10a7f3074f9fa7a01cfc7133203677b60128e69da2bcbcb2c9e0505cffc24a1e6f113d547be49becb4215a29744189fa2beedf84b2d2ccd6c594471345881230df80365fbc5510da6779c4a44388838cc6af2236bf6bdedee631ecc5d4da64943 - -COUNT=38 -L = 1600 -KI = 81a17170fec1637a660c7668ef3d63976b1afed5b4475361 -FixedInputDataByteLen = 51 -FixedInputData = 47dbaf7426e5469700831a250bde47beecd18f952dceafa1ee48a95a0fa32e76043ba94631002f8c71df2cf90d01f006f4fbba -KO = 8b4293cc55492ad7e4eb1547674b9464242e48921ce4197b49077428e7832b9ae379c9496cdfd86d317c24c5fb9e36bfad37fd686cc73ebfc4378369d5b1fbc5e4e02b2f9e80ac9980a7b3a1896feac3ef4daf10936b887177638cec31f1fc209e6e28e984c22c50d0ef0de55e59aa3d76c1cea8705f3c65cb1c0082c5edba19c1b9e8656cf78eec654ce6e8f91390611a708be1974538b69d0a1431263c6213aff4d96dd84d3c6bb2c4b9b60f50168d2706c6b867a43860beb1c4f92981caea252ef67832d4d90c - -COUNT=39 -L = 1600 -KI = b65d4dcc57fee9c03f77b6876543ede72d2ce6abac19f6e0 -FixedInputDataByteLen = 51 -FixedInputData = aeaadb735a29fe87ebfac4e046cef1b802b2c67a5841275a985b6fb82fe631be5c1bbf6f42e1154876c17224926affb9a81483 -KO = 533579738bf1aaa3c093cc6dd0ca8815d7e687e3b833c36ea9413ff7089d6bc9fdf997eff798626239df5d9c95b97aae1b7de610c462b8ea1fb8e16330b3ffe52822305361502f09b84f7be1d58afb783b492d2fd5162820cf04fae1862ac19cd3bbb6743763ea8f6223ebc1d26e5a0e33f09837689df2463158e26084781869d38bbca8340ff71afc5bf918dd1b208d2809f32cf88cd79057208fec7183e98d8d55a3e483212ad1d8cc10067807ae382b5d09ad4e1673d8a3d9fa721c7b59b04a1605d3e75aa53e - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 8d481bf9342ec1883efcaf1198def639669d70370e070129 -FixedInputDataByteLen = 51 -FixedInputData = d88609cbd6761a35c44da15977f7aece291e479abb458ef6f71ea7fc18dc5ca27c91c2cc401b7391037370f310f500c60e3682 -KO = f172380e8911eb9de47ab1ad10a48f4cc3919fd8a01f6a0cfda244fff9d4b5c82470902c791a7ec1932581b42fe7529f005632c2ffe31e29923efc114ab7caa0 - -COUNT=1 -L = 512 -KI = 5aee81a7416f4e778fdd4ac0ef1a2c25475abe283068d338 -FixedInputDataByteLen = 51 -FixedInputData = 1e0de70579222c421d23e6b86706039d1352e26ebabc76b0aa268ff5a589a1455e80ecfb2b485ab728701e2fb16e41aa7f087a -KO = f4cd8b482bddfa38c3a23d11fc6d2ea8c4f542dbaabae642bf02defebc7975ab99212f6d0e161562fd203fc774d0792d5f082b0fb1612ee93f10ce4cbbbd885e - -COUNT=2 -L = 512 -KI = 6d153077bed3b80a08bd97723b445aa7ccf1085e1d37e043 -FixedInputDataByteLen = 51 -FixedInputData = a88d68fd95e46886792567cb64cad38394cb243a5d71b4efa4575b5f0017a0e013515d79a93b43f8632bc7bd87637b0b284cbc -KO = 87dae59cef70d9f14462e5a195edf50b4e00faca042b7eff65c64e35a911d8648da831ef2c90b57304df651ebe3284d9da367fd57df9555e88e88cf22b2f4b2a - -COUNT=3 -L = 512 -KI = ae4123e1f3edb26457f10589f0cdcaf1abd7159b2cf82735 -FixedInputDataByteLen = 51 -FixedInputData = 3eb811c5e4b80330e73094b0dbf24fe75cddb276353b4a91b933ed204ff2b7b1a7ad9ae19c7a3a8bd6af95ddc0d0c3ee83616d -KO = 58b89aab47583f834f1ffab4b9dcc56a05405f7343f018aef22086b7ff5cc5560e916d6be0a6aa18d2bc735977c6c6918dcba190c8ec65abcf6689dd3695d9a7 - -COUNT=4 -L = 512 -KI = 5840d74e5dd8b415aca1f2c95f277c3cc68d7d3ea2e605f2 -FixedInputDataByteLen = 51 -FixedInputData = 5ec7000c2f03c9346203a11f1d25af094212f09d230c5cb0cdf8506d22555b1bef5bbeb0e1c8af73edbb509b941c556e2e517a -KO = 5442f5f726484780bea3a7966f17f10b1112ac2961585f25df067d6792561541be4b9159742ebbbd57008c8f4d09f06c38b234a6cf08672f78925caff36131eb - -COUNT=5 -L = 512 -KI = dea9d0f9709453e1a9b96fa6919163d3c9322d33c0009cd8 -FixedInputDataByteLen = 51 -FixedInputData = 8739b01f347009d03aff3f8dcb2da19913f82f32761ddc5de38a5933acd64d9a423530204704fac1e355025cc3ec951d19f555 -KO = 5cbd68a83556212647236a68170a1404b0a20e80e4a7ffe8e3d9e4b61e9522f7d5e86bfa4f77de75f40308894f8897f94daa2508baaf0490ff20be06af7a0b1e - -COUNT=6 -L = 512 -KI = 37d0881463f0588508840160fc42e95aeebab9154f686b2f -FixedInputDataByteLen = 51 -FixedInputData = 4ddf9854fe0b4423ee89ecd5dcd241c70c617034f7c90a0e97f46dd6fd42e2fa1cfacbadcf9cfcec8cbf0dc807bfd8f0f10ec9 -KO = e2c4a62bf7d09fba384dd9c3a51bb3d87a0222a06581359aa56bfcb5230af284e63ca94d74e2b9f52b1aa20fa526b060fd52006c09ecc0b896621a5b89f0772f - -COUNT=7 -L = 512 -KI = 8322872f52e35294dff3bebb6878eeec1f1b97438ecd166e -FixedInputDataByteLen = 51 -FixedInputData = 881a9a45296330132c8384adcf6d9b83ba6a401d8aad1eb4b4d3fc54053c909b7f363681d4784bde4dbff6d74690c83109ddc2 -KO = a80507520007c7633fec24873c386ff24ea3aef25ba403ff888b9132598aa0f4a0b325f86efadade944166d0307bfc1bf116213fbc65c79969f99b76d7aa8cbd - -COUNT=8 -L = 512 -KI = d6c5f947e674b00a00fe29d039a01ce8090d9dc91a01395e -FixedInputDataByteLen = 51 -FixedInputData = d4c24ddf33012225ff306d59a8a6961246e18b019e1f21a76b27e5d2aca6d99271711eb8f8a4d711e028bf669658a041db0692 -KO = 27bda2b596560498b04deca04fdcef15059be5ed689d3beb5060b44d21ddda86085a9cd981f59fbeb94a810ee8124cac46b3bc66549d019ef273cb76287f37d7 - -COUNT=9 -L = 512 -KI = e9ee6bb349dee589f2afbb03a1b8b4caa23b22b49c1d8c28 -FixedInputDataByteLen = 51 -FixedInputData = 4a6b16adff481ccc84ce57f190b79a0747debbe3b44e574dc7bb46cf84cda323b56b04f81f6c6a8fb1af4388bb4de4f51507c4 -KO = 57d8c380e08bb12db9aba95b3295fa8460647aa3a5985a1fe6d68687127b1e37aacc7d34450f96c05879d0c1d01f45fef641cb81935d2bac24f9ea4a501747d6 - -COUNT=10 -L = 2048 -KI = e03f72ba129edec97c7a0045946ac3a92bbf5223bebf82e3 -FixedInputDataByteLen = 51 -FixedInputData = 0770bff14ebadb51a3772599eaced6ea6a8cd6162539e7522f93d6793fdae89bf4ddd077732779dddbc8b448dc4c768cf23662 -KO = 666635d59c79086ae4bcd5631058cf6bcc6ec0587f3e5fdcf7bdb9079a57d2aef605d309c91c88249e7f689a80067a44744f5d90ba9400836aa68489280fb67f1d979bc3a53e2226a6a875d75714b51ad76e682e41b756ec1bfa6f472567fc3c06330c776141eeda04811c9e5b1bcb26777cf54545fb7f408a4ce4a5011aa6fd7fef6f05d0f7128ac8f3a881ea2b5e8a19ad076e90d6298094c814b226ad28a30e58be4bdd5caddfc47423d5e961680596dc5da96940e3f1062eccb8661e034de4c52ba5495fb3510f9cdccae84e2bd82d60f6917b148cb341ea86db2fea582c3cede525ad860fed97a513f3a7dd5425d039abef0f44b091077de04f9b3c570a - -COUNT=11 -L = 2048 -KI = 88efc99e40f46f970b03fd778e92b138252c4674262ad5d0 -FixedInputDataByteLen = 51 -FixedInputData = 80f68b18cf16a34b1f670dad8bb669f04e0fc9f4ee44bcc33141770ce95ecbb992aa8ec7ceb85b583e76c6caaf48feb3c12a83 -KO = b5d48827d70568c38c5dcd278df4f92676629c311f7e94e8bf72613736e555f4d04a2373f3a540b7cbb68d4492b9457b85fcfda6addc3d479f4cc5dd13ca2a979d8dc32eceb01dcf85b792fad5273e6642cd86ce0668177ed226719cdc71c4030e16d5d1b1dd54ef67438e881a846f76a2333d2d7464e5e9aa1eb919ea48d5b5b57907f95766a8cd8d59b1044eb04fad372e632c2c705f51cb10ad648c7fb55b290be9320674d96848971602bd66f693165ac48d81da888e0508fc34cc321b66221fe5522a10e1e00727d75ba64fdd436be167cf6e8103d4c19cb0449c75e0380f3c1d4c852ea313d5224f505866f29b41f29360297e470a22d4188704fac909 - -COUNT=12 -L = 2048 -KI = 49bafea0a7667a2f07f3589fdb026733ad5af302a88de72a -FixedInputDataByteLen = 51 -FixedInputData = e6d240973a9b3927a417aba307a9835da059f812c9552cde48058ac357f98570159292488b31efbcfcfd2f82d16aa57e855e77 -KO = b9e7a6e06548ee1133f59219991d67375a5d4cc107e23579bdf20741a487dea20f077be0f8e8503f6cf9335df61f3ae08ce5694ae31069e8b39e29b81821d6485bafcdf9ebbf9eed8010bac8aea97c379bcdb48e1d9ebe3c3acb3c2d6e3bd9440923f2f550d2b3e29038c07f73762a937d633fd3d6501f575dc7aef0b9249e9a7f86d29fe50258c70002d14c7da252c424cb8edf7e7035b4379b1234b031628b5ca05984678bc2254356f5524fd396728d0f8a85146ddc96fbc6845984816ddc82a51f9a8a05f3f603f40ee2a98b75e8263fdbbbe288a59d4db9f38e067b6a1937be86e6933a45e06e43a41a696142826943864639b5bc8adb76e6a7fe42f313 - -COUNT=13 -L = 2048 -KI = 43fd76e402a243ef76eec17093b807b57d41aee697609dbe -FixedInputDataByteLen = 51 -FixedInputData = 8f0f6487fc83c3e665257fe593cf02852fc268c214f4afd58204e25f2318105207f9a82fb2255cabdbe4d99f607790e3b8746d -KO = 62d88a9ef90fbb7cd8f1362687ad7635527b796f2933df9bbbd68d6cabd9240ff5ce05f5b88aefdf4a9e5e33b963a4d4bec7d932cc13c1e57482991c50e5dd7e6ba4c946dcc899f5c787b59c7b4f5e72264fa7cadfd23aaa2f6ff203a09b1b1b9b20d337179c77f7b2bf158f2daf6a23daac1407cdf5621ba0d49427b15831662f710fd7358d46e2fbf9e96292787e9178ffde75ff7bfa2b9fe63810ce6344aab9c2c4dbf5ec2fac9136afbe614fa4ed451dcfaf8ff05bcf258c407135cf1c92096a7cfeb2bb462f6e89442c38690251eb3efcd1f5ba4a747f7a10bd88c65cc1a56b0f5bb01862ce0d4402168bd495902708561645785d2acb1825e8a8e6a3d3 - -COUNT=14 -L = 2048 -KI = 2a98fb95691d73d34cd50ff75bc609b92cc49d293b646931 -FixedInputDataByteLen = 51 -FixedInputData = 1e8fb7d267ae976190714d619f3831686d602877f45ed78784b8b59b24cdb9e2140f9c03ffdabde1b1c1a7a82dc5ba6b607a5f -KO = 7d9027db129fb99a7bde54cfa81ddd66449953b77c2c4be7a0e191fa567712d07b5b6b546333fcda923c2054a1088a88943f22a1722132e76dcc72c1dcc24e639040ac22a04012e4209f3e4139b0197e11570874978e71499d8d5dfda160886c0dd21e3b55625c4ab0c2b26a6bf30862bf5a17c46f39ac7ef897db3fd8d89d3ffb2685aa9f55b5134897f5a874610c3978db034ecc32028087c20b08f0a8713574eeac699e7cc5612f42c50d3c087668d728130c08e96977a68f5c43f2922a086e14e966565b967e52f51d936bd9537888f3a0b58437ba58943155ef1076e6c370df18dd5e0677186d73c60b564622889feeccab991b364cc930b78e9f14ed09 - -COUNT=15 -L = 2048 -KI = 5aeec191157422704bcfad38b0af54ae73b20da84ea3c352 -FixedInputDataByteLen = 51 -FixedInputData = 387ad6f6d4d6449cec7b6bb484e17e979e92eadf073d4e3dbd92f6bfaee47e54c0e2678feb79b6f0d356bb8c352b3ad714b71f -KO = 9ab9f32e42e4404cbfc2bda06a476671fbd6552f305d0d8fb39c1d7be46cdca59ecbdf02ecc69c1e503fd9901a9060c397e18c4629cb92f7ab16540ec3b69dfc8c7e23d1a4fa35a9e33d7d760918d5d32c9bab54699acdae566fe79770c129a9d367cf708d83eb1c6ddabcbf1b78679d42ded57e712e77db18b1f268ce486edd2c20c1050e790f1a2b27c59d85890066bb21c82bbcdd452132e6cca3d22f9d05fe95c00d366fec34a3f32b23f09b74dc9475802af78e6d98054b52047791c395eca8e23530864cde50906c394f628f0a640dd42be3c18f8136d2286c7a5b6070aa0d0dfc7cca6b585dcd82315ef2efbc09667edcd4dbe74d99b92a1e153e52fe - -COUNT=16 -L = 2048 -KI = e03c18e11adf4e1202777915756e85b813f0786365fa8b66 -FixedInputDataByteLen = 51 -FixedInputData = 5cde1bae6864c0741133346661a685b662c1bfcfa5a5c07069d2e4611d833bc2a35becd3061d4cc1fdbb23de7b2c66e969cd45 -KO = 29f8f13a2e1f099632def660d329d64bf060cda2dcd63ee2ed4e423cfb35f179fdc569cff5501a16ff4d29c4461f6cbc4d452f2fad922e0249b76f21d71e74351b2573fb29bf4c8ebe40d57c4b3b101e66c0585a70874053c47f1722a1648a25aad6182b936ec8a1f1614a11c5ff1739f779a3b0a7bf6c0aed5cfad2f59383fa3e2b9f3bb9ccd1e5e81b14463305bcd7fd51b1ebc807faffde45d7d34d0a24ff640859dfdf9cef4a21604ec0baf43ca305d7d1da3e3ca2f625341a7848119820c27d0972d93dade01e7f95e420ec64893b1b65ba62c6b9dac589686544fa7e7f2775ebc63998a292425d39c3d555973b96e766323b8f742b1ca07076c2a581b0 - -COUNT=17 -L = 2048 -KI = 43f93ab65a94c47333a36c97b313aa95b3edf7c8456e0601 -FixedInputDataByteLen = 51 -FixedInputData = 9ca117887c800f831512550177278663e9d847a398279a960d5fa027d40611213cf7bade0d8e044a1fb5ee5b682c93bf864f75 -KO = 2ae6651dd97a0c54a1ce1e37b12fdcbf64d62d31d91c7e8e6b0e198115bdfce8c38fb921185612b85f3a00e3473e1acd393f9f135e0d9764062391465e0ef086b1c2bc36c6a51b53734c96e261a11f2f1066912c1e657c5db5b732e1ae3b7d23275acd98a2e9c8cefaf9a877cca4628ed869be212ca161b192d3caf160f583dc369bde31056ad40ff34b5348c7d16993c28503abca8d5274d54e4030790abf509465a50c470db5f15c9f180a2af91065e70bad9c4f37cc90ee68653f7b03e6e1419322e816896cb35c0775d1d0f70dddbf4bcff87b59f1450fc01c828c87273d3bffc1eef4641afc24494bb4b46c3ed1dd3955672db9f9b5be542a577bed2a6e - -COUNT=18 -L = 2048 -KI = 5b42315db037be5881f4e68002c4963f9c3308ab8499a4f6 -FixedInputDataByteLen = 51 -FixedInputData = cbd28d6afaf7597408e9e2be1caea96b3e7a84354ea229fcb92e55d548ac3246c58210aa05a53beb5d888c847cdc49ddb024ba -KO = 1b7d829f33e20ccdd879f817a133f334029d84208dce51f4a1c2cc89d7ed5c4e8f3cb165fa70000a93ae5d3fff9839a77346b2d95f3c7719537bc70fc13c7ea4e4ecc0e3d6ea97d286b4fa5e70133b65525ea386a8c850373b59081e809bf1c4f818e55578f199ed5ce18e80550ad622e7c4c41b505754d150aae3ab8d4a1a2e3e500c1eebebe90021ab01f57a73b12d30679754be3065575d505f7ec9d32520ac2be15f9fbc28a364ce067ff1b911386c602ac013c476eac7c9f198e09437c76f61336d9cbd0e299957abaef735019c15a07a0d28cdd29a0370e54979b1d1bd8947a1034fa077df6428179d6c04ac4ebbcc5038418002a90efc4b8b60598f0e - -COUNT=19 -L = 2048 -KI = 8dedf04cddab93b4eafead72ce3fc0568d417181a46791df -FixedInputDataByteLen = 51 -FixedInputData = 9e9008e72d97b799f429c3d0f0c5a4cbe3f6b3059a7c959c13a519d9a2713990041604a411f0ec38d6f9cc7562ce4c20073148 -KO = 6f0bc8c854d7b6dc2811e69316cf20d50a5baaaccd736d090f40107bac9a65cfb109253a4b89c4acf16f8f705d95fb9a12e378408bb52280e696aa0cde7d0fff95021f8b667a287ed58d080fd7ccea5e883368260aea96552bf259c09e72afa671506a8e9a20e2b78de32e38d19c2e0b7e5b0dc06e92c6221af020c89f575040af4d8d6066a2e9dad9052aa4f1c5bd7fdefdcf42a8fc05a0f76da7c5681083265be7c79a46ee04c326a530d399304db6ff71dcdc4451b0de02761015ebb63b31f17254d853356ecedeecf9b1a7476af73e5ea13bbdda99e77768be76b5fda273c925b5b650eb076bc73ca0662b2d5052f24d1cdb4a2a12ac451a848123b8db87 - -COUNT=20 -L = 560 -KI = e29dbb2e40afc8a8b4ae63b88fcc79e5263ea53804c93fbb -FixedInputDataByteLen = 51 -FixedInputData = 9d4065f7c35efc527081fc3d3fcd796245b76097a658419d06926bcb990222ebeb1100e2e5ceb42ccd669de8000c5dcad72de5 -KO = 953f998946c23bd0dd467580f70accb18b021de000ccd4605453e6cd4fa45d0c08f0bedda2e4db92208a55b7810d04614231e2e96927d7026dd359092d64bed455b42f3c5b09 - -COUNT=21 -L = 560 -KI = 5a8437946e3fa84e3804ee4d0e4baf4778a383f82bf01883 -FixedInputDataByteLen = 51 -FixedInputData = ced2876bad58424f2de96f2380b542bc2301d30d54f143d2468132a7a600219feb3d11ec2941530bca243419ee9d5d799e514c -KO = e84903025b7ba7a3cf00d38eb64bc757d14a18a4836c09ffea13c0277b16674b7221158ad4b20248eb28a4dd0e2b24764c74a5ebcc014a354bfa58e7baac417f01985e094ed9 - -COUNT=22 -L = 560 -KI = b171c827ff4a9755dcc567f05308ed36cd057e95aee9517d -FixedInputDataByteLen = 51 -FixedInputData = 60916073d0c836c32c7469607cf69f4c450bb7e20f36252c845943d6e6a053679de59350787a31aeea4990aee0ea167fbf9f55 -KO = bb1a48ada18f13d56329a1503e639e6531dfc53e4247b366ed5e3d743a0ba56ed8898575371f95855ade59aa86016be9fe38216e53bfed30b788486dff8ae38bf8ae1c4f717b - -COUNT=23 -L = 560 -KI = d21c8c44213c7f442864a9f3ebd5392262bcaed09c574787 -FixedInputDataByteLen = 51 -FixedInputData = 0d8965657fc769feb54759226150b0e449880035e55607887789fa545735263464e868514131eb9fac65b73a1a5e1aa29c34e8 -KO = 486c82c35c52b23ac5921040af72b788609264a86b956fe04413cb5ccbee9401f011d38b3a704e16626969a6db81afca2ea4db02ca03a390b07b25b218b2b6245eba6cad6fa1 - -COUNT=24 -L = 560 -KI = a5f33374931ef2cfafb15a9c48dc029dca7ba6b3547f1747 -FixedInputDataByteLen = 51 -FixedInputData = 549d2df2f5a7f6b92024ff320ab6bb7dbd4252d31400436f059734295fbbbd0fb4b3cc308fc26b140fae773a0d4aab051132b2 -KO = 6a9ca1aa69af13d7d8632bcccda89a544f9649ac973d75f745e35fbb1f02a5ac0d69ee1fa04058c7a5fead9c8636fcd5cf1373f8dd8ecc2aa069741a5c6ecadea87598420797 - -COUNT=25 -L = 560 -KI = 9361016cda70e407dc303fbde3aff18b1c93c22d4aa635d1 -FixedInputDataByteLen = 51 -FixedInputData = 6952261b10eff898ca7c15d0991c34845d7aed9d33f0d43ce52b7bca1b09713260ff72bed2741cdc61227d9c2297be3eddddf7 -KO = 60ab94f38bd1aecbc9bb0d8b003188eb09d27511d030bdc90a565cb6eddf63b205a534241305f2165197a9bf7260737f051ed6a6ce1ab5b90c2bbcd37d46259698c56fe547ae - -COUNT=26 -L = 560 -KI = 2257ab9fbab671d451c6674c47de075f4744967e40e9c706 -FixedInputDataByteLen = 51 -FixedInputData = 703a78f90b397084e385e45ae1e623b674dfae502d2a08ef3989deb72874e443304b51bed510cae61ea3b1d8668ff91424fe8e -KO = 21d5e5b029d326d1c2ebe2cd5a900a17402c9a2cd5891647335b343d35da3f495ae57f289fe8fdb7c99e5bbded9921e42b599c31cd603f29c14c89ecffaa315f081b3f6774e9 - -COUNT=27 -L = 560 -KI = 72412ddd675ec6e4a4a2c5e2093646cecf67170623ace617 -FixedInputDataByteLen = 51 -FixedInputData = 808b7ed04e4dad3305b02fad36902552f3998736bbf76c55fba8ad60b13d8b1e31d8d507a4d43f88c2ffb3b9a0a7fc9d7f341d -KO = 5a1f511d538129ce827f94949e89d4620d3ec1ed30d034292a211c2aef6a105dd36bedd1e6b6347e0bc792012c91d4b3b482e8148443b428309d27bb486241d9ef40f9517f29 - -COUNT=28 -L = 560 -KI = ec570cbd9310f9736711a000fd2b74970728ffe66a95a66e -FixedInputDataByteLen = 51 -FixedInputData = 7426ec435b66b9ccad4f94ebf19cbf9471a1628a28748b593402c2440f38950db3d33e917e1a83346c8728438eb10080dbe847 -KO = 08dedf9c3421b7597ae0f7b792e110898c69f2d59c8fdf016356775bf77e5e5c553f9cff4a58f48555c5e41533abe3288e8d79ca1912fc61580f4dfd579c1b4b099a3dcdb035 - -COUNT=29 -L = 560 -KI = 60d82405b48a5b757637f33c9010df13041bf94e2ac9015d -FixedInputDataByteLen = 51 -FixedInputData = a7c1762956b16ebcebcc22383b2a0376ef51e08d8e9e50a4fe63f6b756a544eb3e9f442c1713dd8465c912b7c9f3b6671b5729 -KO = 8ef6a88ebadd2c506f68f1f25517848e76a4a229214debeaea64d16df09f082cde2ba77a0fb0b41a7781afcdbace139769672d7d15363f31cd162230605c2a66bcf559ce770e - -COUNT=30 -L = 1600 -KI = 746bc71b302c4dde16a9771be405b1456eb2a597a15f7471 -FixedInputDataByteLen = 51 -FixedInputData = 26e0db5061a7de0cacb7710d321158403849baafe7c4b59f2797e58aa15a59c80669be64ee87f1c6461b97fc082cdbabf7fc68 -KO = 0c4a18a4c72b682a1ed6c9cf56f97ab7d16aba2993df3e4db4d4fb05895c9c3c0e2bea063f9e030545f2f55acde26211eae9c9d3e94e3de40aaf0478420c1eb23b14ca3ad6b82a8352219fd4c15a1591ed1f9473204c008db8cf48eac9552ebf37f6f7442a8b5507727170a42d6209e3ac94b67fcd79c9acdd3293010e4f7f861b4af1f139508cefd12a0a478292a9ce14223e7347c334cec4d6401b152be8f8e16211347bb099563173a8efa07c0cc9e529405630b3b1a7b3e3bdca7aaf18dfcb08ddf3f34dbbd5 - -COUNT=31 -L = 1600 -KI = 493c410a69b22d58f1a00ae3d6e966b2e2e764e0f28053a7 -FixedInputDataByteLen = 51 -FixedInputData = e112c5b14415c9826574592756baf97df7fdc3e2c1145cec1cdb537dabb2f0d3b9da709cec8db97085e81f290288dfa248df33 -KO = 6712a34fb3a3a5dc215892bfaf8e39c3fb2413955898077268936bdb75840ad103262cd04de14ed51041432bdeb571511223e4cabd8c512e1cd1016d54d698f0800a2684d2d718ea890cbcfcac2e9ecb253e067183ce44ec328a4a5ef3b3979eb5a8ac6b5f93295113368b18dd322b480d5bd955f996b757975c27ec218f3f4f4bb24ff3693b2169760c4f46783ddd91e0c391d3dc65dfb43957c5b718540a22e3a0e95e03160d532d635d23ba106c936fc67594debb70f788787cff4114b3607905dea9069951ea - -COUNT=32 -L = 1600 -KI = 311bf3db7a97779d5fd05cc66837f531e80632e39b3b917f -FixedInputDataByteLen = 51 -FixedInputData = edff0540dd51d9f6a4faf5307d0a11a72a1fbf23e645fb8dafdfdfd70ae2db2afb2ce2e824b5eddb7536ba1ea98459401a7c43 -KO = 4f78213feea8e1b81fc3dcf4f385a015fbd4967083b063966c8744469e9c38a7211c8bd686040d60e64ec24cf5eed7f676c8411a95e936a266612d8bb24da8dbae9d03c1bde9cef62c9c831f69e3323d04b42b2e59a41c7e38662898f9307cfa9933daefde78016e8b2e598933dc40acf2090cf8ad43bf4215f6d25f0c6f08c7b57437a82f5bf2fb7d1ced74c79695edec4538bfeaa570e28176269d991972223758c65a97d31b668e7331ebcfaa0858d5a632d3d8fa638d404fabd2548e773a0c7ea4aac0653d21 - -COUNT=33 -L = 1600 -KI = b828c2142e7fdcc07b79aa04afca3c77b0c8b87ccd328bd9 -FixedInputDataByteLen = 51 -FixedInputData = 56a34e0a41acc539a1c117102bbe0fcd9f4cbb418743b8698406d7483ba753023ee4682dc5a43fa9431b9023ab03c96e6b2aca -KO = 598bc4eb58acfeacb79bd87d19f357a3cbaff2dd16e5a52c4b075fd7fa681e8762d8e81166c04bf4ce6fbd13ec3abe3a47b0c71d26f635eb64be4b2372d131eaa7f76f489da57bfda3a666598478556b162dc6ec6635e30dff9222fcd42e7825ac9689b0a02186ef0a92cd9033af97e249287343fd7faf75a3ab70528fe5d6ec0a278168b845615bc8490918c7752d8883ddad6e2f5da11645af3ea46acbd0857604646a3950dca7c6c6a673ff0ca0e873c6d5967d010be3785bc111ae1d320959c4d20dd66253bb - -COUNT=34 -L = 1600 -KI = b24e03e1dc8fd4bccb3476f333fd3a2bad67a8c6c4e926aa -FixedInputDataByteLen = 51 -FixedInputData = ac2d77253be0bd08fdcce6bd4d01b09a3e1a702f5b83240f5e64669589ba7fae3655611d114c605b5b845fd3f6f3b7b49d67d9 -KO = def3588ef033bfbc32fcc54198b922cb626a7d4f607565ab648a26d96b5ce15161a5ccf25a16d2779940a83b1d7b32735fd8aafa31bcd2d489d655a555372a7bc7bc63f3d091c1b30d07dcdc4c15f82f0febebb9754e01b88fd622e7f2b75886dbe6eec4fc4cee758075acf1506177dd838b3f15f5dd7c5cbc7c45da33b7b77b18189eb4540bbeb3ed708be7a4b3708bff527811ee53c28cac430f6b182e4e11347e022c4d2bb37fc32b052cd73691cbd9ef632eb9ab49b6515ed3c70373883bb0adf4a3cff37bae - -COUNT=35 -L = 1600 -KI = b819fba673e9211d14de00e72c25872f578ba08c291c6ca6 -FixedInputDataByteLen = 51 -FixedInputData = 6d15865daafacbf2409905ca453d9229e322f548d31af128169cc9ff30a35badb8877398831af544e3664ecb19773b294c094b -KO = a0b1114a9d2135936d7bfb4d910afa3f6dd0c65d55d2de9f6f336bd4790829b5deeb5374121c2ae1f5acc1dc81a9ca9b2b46acfee7c75e09988567df4b5714883239687b4dc9954301065d8ea45070af7abd02b289fd87d6d411d11026b64129be3d91d62ffc54df356e43386df553268a5b7d415032fd75d36be886b9390172b763ca0eac14f0934282bb2d760e45f2f22bf263a91369b5bca74d97515f0712b846c37c98482c8bafcb1315c8141888d2425d9ed9b3d999bbe54ebec2e8e1a939102fccbc8f87ef - -COUNT=36 -L = 1600 -KI = 04a996e3cf69a4e09b54538119d0b867040119e5f4f4ea69 -FixedInputDataByteLen = 51 -FixedInputData = adefe7266b35446019ddc0e3093be524d299614e0df9d4adc82680b082b755e22ba82354d00aec5cccea457041a9484ec8f647 -KO = 563e4bf62a8d5fe0cdaa05f675fedc206c8f38838c7561f699857989632bad47b0ff4165838586592756dabcc7031ee80b10dc6cd570e01653ab76186886f443f8457d496f2cec98308fcf09e25fa0d5f7593b1dd3a8a6db9b412a7f49f70d50a0173f0773d776ed47eed921f81f474b1805e6b4a543ad8de86af6d9ff7af471ecdf8fbbb962bcfe50c86c65190c1aa4d3610f1ab6d267b31c15d8c878f23a4f7799dfd3919ac7d7ce25bef446f27ba176118dc44f5b5586aa67771bebf24626498a378ba86a3220 - -COUNT=37 -L = 1600 -KI = 656d5afa13af5b29f4c55744249b1b9962bca0ca2426042b -FixedInputDataByteLen = 51 -FixedInputData = 775e0d35e802f0e1fbe899a2aa7c9b1e5221fc27f71eccd743e25d947aa3742e8e1f2867b9a61119fb002e640efa6d2567216b -KO = 5e451a32be39a7b0c402cd50c687b9311543cb10e5e05ea921131d0dccbe3513c321e9e0bc019c41c73716b1a08e8bb5e9c7aa29a023f8bee935475ba51bd34ea39b9d74165bf121a0ef6daf26fc176f7a8056d2ef22270445a1892468511d222815b39e7788db4a63189eff5cde5e63ef2f38f4f80cb0c3b5fe299580ad0fa5d8531dcc5f406a53a2b5602e18ee9831c11518e5930eb4e053e1ed1465cf1ac40c66b5161cd84e3bc6a27907e1afa9ccce1297afc1685b8501fb951302b0e9c2d0557dd02b7c0f8a - -COUNT=38 -L = 1600 -KI = 81074acaf058a8caad00b8302259c9aebe7ee40ce5e3439f -FixedInputDataByteLen = 51 -FixedInputData = 9807ec06a79827433faaa1010bbeca8cd36ec4248f7c1776e087edfaa673ec205b40cea6d777158da3af75e18843282205085d -KO = 6320a42bd45ef19e8b3ea1298dbfc35a5ad9d19a6d31710cbcab4e918720703f2f2af8e23424bd4290f2493794bc56571e5c827d0508d62310caf517ad38b19ca8abe24cb7a1af1fb387874ef4102cb7e5f40e7955b5ac6bff1a9cb97fdf7aa5696c15b6c3d9364d31fbbea16cf69be320bc7906cfc39554b76de1360e7f51371a5fe503a068bd45da416280d30318947596a6d2c4f4cd994daf2dbd8f8c34c227c01e6d0a4bca3b082d7eb3eba88d9e4b8d45b3ed9d9b309f0cb621a090ee008c837c8daebde6b0 - -COUNT=39 -L = 1600 -KI = 861d95bbd4b39f4828be60d8d0bd1ba76edd88f316d6e6d6 -FixedInputDataByteLen = 51 -FixedInputData = d06743ebe576216979f4378a6dd6c4609952b9e200b9d7e1ca8e84f448225f29af6a62d69822f61da76ff392760199dc9ebf27 -KO = a51ba3cc2dee5ef1561f9237f5532bf2395e38b0a648e1703cd4a8d0c1ae2f323ecf36328b128a335ae9569a979780e1adf995f05bf6f443f10bf1f2be8f846e6f2e15009c8d304e75b979a35ae90dba700f975a9660689bca6bbb201a1c32b35ee21851102cc76afbf2af61274140011a195648044c05c403feb22e71fd6f6d6f206743cee820ed79807ca62fdb777f1f216a9401aea50d00fd9fec234e691ccfd8fb64f4f65397bdb65930745e84005a09631d58d1b56bf2cd618a758ba55a7baee5224228df74 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 8bf2d9999ffe5b39aec6e5ba1aeea35b7f4fb123b49071fc2a76a333f1b2aee8 -FixedInputDataByteLen = 51 -FixedInputData = 02ba5d21b1d9a34fedb91f69e3956785c16e488071368bf3b6fc7c16589e2a437ac680db4c7bec19791c961147ad29418804e2 -KO = 19c4e12fef173a79c51daea0a4db159f29ff31485ed20ca9e9a96ba8635a4c0fb1fd08b2e020c5aeeb468a7badcafda55d11eadc96f63481622f49e0f4fa81bf - -COUNT=1 -L = 512 -KI = dfafcde88018a381f641cbd447d7ae11bfea669e69fc4e8308ea48e6a4548bfa -FixedInputDataByteLen = 51 -FixedInputData = ec8a340dfcdb5d05aab9ec1fd8801559f2e5cc04ed20bc9866f02f65589bbd077cbdf537292fe93a6ff710d402505c28b6edca -KO = c85bbffdc3a94b78e2b4047920603c0ce1b26bbbfb74d6adf3afb1207969523e6bb2d96177726461b893676bfd586ef540216501333e398ca681facc47ea6744 - -COUNT=2 -L = 512 -KI = 406d0b3ced0151a3a90f5b837b7bb2904b12bc677be0d6b33f45debb4b42fc2c -FixedInputDataByteLen = 51 -FixedInputData = 6c83f6dc88c5661c7de0dfc9ae49bf3a2784ccff475f6adf38edb173c271fef552915e4f970d3713fb7a425460f1384fa23d2d -KO = b9a8e3685bda9a73ce0e9686c25ecadf8b834c7864a4585bcef09fe00b3e7e2491b1e6d892a528f96c523e5ebf80df7c2cb460c90ae9c66b133f2f22cc7d77af - -COUNT=3 -L = 512 -KI = 671733b734e68bea33a9d675b96fc024b090a1a61611eee2406fd21f240d0d9b -FixedInputDataByteLen = 51 -FixedInputData = 5b29db424558395ae5e1ca015a92eda15c16cc06e7c879965bb6081b06f0dcb019dc1e6264f3e883f304fba379b3840895a367 -KO = e7133e4b81806bb10deaec4f1204202d139e2192db17daac85995c67aec886e51f28826249d55ea0b30880c142617f484e04a7c4eb942fd6503fbeca19c64dde - -COUNT=4 -L = 512 -KI = 19c530e60268d4694879a911a8645d1591459a2ec723797db76ac05b3469bb0a -FixedInputDataByteLen = 51 -FixedInputData = 5aa7bbb18bed4a738f12236ae147ba85df9dfc71f2f05566ee418476e8cc1baf4a5e78374b2a44f7cadeebae5680b7c55840fd -KO = bad81d6f0946adab8282e2b41eb9188101d134669cf5ec1aaa963f6aa06421533b666944ca502fe22a8afb4e919da1cef242a835a074eb79eb55d750afa17f3a - -COUNT=5 -L = 512 -KI = a2122198b8dcdee07c4e2da0304424d133ab5f918cc95c7c9c7c7a4fcf799e2c -FixedInputDataByteLen = 51 -FixedInputData = 766def151840a906378f9655400bb630301d97e34f5388cf8c8be0b8340565633cbd15daea4da12bf11aac7133f780e147b4dd -KO = cc4330af85e86713cd34005dadb4b5d77f326f011fcd0de4815ad6a55b0186bbbf115b7c6730524333b900cd0984a3b9666083621b7fc59a6b1508dafe3ea81e - -COUNT=6 -L = 512 -KI = cdb02718a0efcbd77408418912c5cb2e55d6a3411f76419012af2de2c14c5c60 -FixedInputDataByteLen = 51 -FixedInputData = a930803453a3f884e525bafc54895ce67445d651d14103b32f18520167bc5b1fc3a9159f7f250d6e1fa5ab934c4b8bee0f132c -KO = d5c9d71e2e62027a357670eae7d4132bd9722e681cfd69c4c16222ca48900fb6537a7a04f92d83e96deb8fc7224897855705cb79a78465372166b97ee58134cd - -COUNT=7 -L = 512 -KI = cca345d9768ebb666ccd73117aa3d981833327982862a1c27d678c4aaee4d97a -FixedInputDataByteLen = 51 -FixedInputData = c751f47e9855c81d97bf4465d915c5e9477945b6b6146c291155cd39063d03407a984db05e0d6856b9b16d252586acafce8f8d -KO = 030d62d1bf0b87bc825e6d22ff7ccf1236e540209bdc7b2df2b7d32d0f406d9a2467fc34f2b911ac94e32b6e56c25a25d51d7319a37240aca5cda5a398c50e52 - -COUNT=8 -L = 512 -KI = 715f61301cd6ef01df65c966e4c7679948f7b237e2133ad2e0f876d1774d63c1 -FixedInputDataByteLen = 51 -FixedInputData = 08db25c86c9190442f6c46f986fd29179b03000b1ec613e4e78bb285acc554f9a22366a23c6abdf8ef969be4a127760912e53b -KO = d3b3e4783240db6f3a7354bfd802b4483100ca56c95457bc9a41d277297153ceba551cb58b00eae3c491486b66339cad2c60cf819128c80cf41351f52a2f1d90 - -COUNT=9 -L = 512 -KI = 71d0d22d02f0d65155df51c423e2879fc84fb629543c614f47beeb31f391eb49 -FixedInputDataByteLen = 51 -FixedInputData = ee4558c0f673429c8166f8f07ff80310ea506774a65b251e782a2a4e0fcc3344218ef59e373fd5756fb90db573cc8b8218d9db -KO = 919fcadf39feb3ffb954ab8201f550720e1da285548a7a02216fce70f2a6932e4d9d5d2a8be71044be33ebd282a5331c2270228dc40877cf59ba302cb762604b - -COUNT=10 -L = 2048 -KI = acc86b81bbce30719a2ae0e8ea099e2ffdcf599a79691ad790e3267ecf121827 -FixedInputDataByteLen = 51 -FixedInputData = 81631f69813ce1813e7f1e0c5b0633c9c9e8519d1aa2f0d3e26f8865b8e85673dcc81781e85b19a0fb80ee2759e5f0a41ae7a1 -KO = b74d7d12a875e316d42c96d6c8b0464a2a4761ac0b43d63b0a827dd86a305c1014ba6b096d43a00842214a842c8084d580984033c5e9ddfead8278f0f91650761868ecaea4f570ca7c9919eb81aaef80d635fbeed003204df27b005cd19900e5d276ab4a0e3cd7e74101e911aeeb5b6efd37122c16d5f60264c49a061d3b8d24e012dc818e31ddc613886627d93b3edc238ceb0173305516c30293e159d26d29a100cf163113e148a90ea62d15da21acfa55f893df97272d86437b9ae3cf09b8c7889f36dcc93189e635dcc0a20bd29835a256c02ebfb6458124e544b17b308b4979d0f3c3b71729ef1a9ea248c0f9239051d53130199c210d8034792ecd099d - -COUNT=11 -L = 2048 -KI = c1051615de0a0abc90cde5640fa5b14e235c0861757e181b4d2be1e113fcd713 -FixedInputDataByteLen = 51 -FixedInputData = 330c2918dcb68656702d393188bbf205401490cb38989f62c5b714dcd43a37c4bf4fe125807f6a80ff0669494ef771cf42e1b1 -KO = b33881f54cf2e4fca7b92d8714005dcfcc42442f213526452c573c9dbac34fe303b6788acae76eedebc861f6fbc2e7de3c2fc4f6b881f072cd8b741647b657f799cce14d57b6c752704c055d363aa02154c5ba94920297e66555600dc1233cc31a8e678ed47508740599f3e6455207b420b71db1e1c951216d0d765c3aaa9546e4bb194a4987adf9e58a0e957d81c1c0ae70c268fe709bca33dcf8bb270fd8ba2464d22926adfc4c2e33ce373dedc40c68455e184b4738627b0567339ecae8276df92a8530febdefff1d5294c0c7b709f9842edd11c240fa6cbd049a90d9d94fb5fa78b09ae67482a07579a6e2b478f0b2ac2d61e6b5d5c9b277d3f73ca43c05 - -COUNT=12 -L = 2048 -KI = 279ebe9fe3c0cc9868f612c84d7d8e0f0a78d3e19552bfeaae85888516a27198 -FixedInputDataByteLen = 51 -FixedInputData = 024b4ecbe65d2aa2f2da70173dfb9f66b70fc704501bbeafe930a413a4d0e52dc5cdaa4ba87868f3462e5386e4a5e711c174d8 -KO = 8f5f7d4e1702a5caed39bc75904ba4e6482287bb69c0f29e8d6b1834bc35927833b95e1f5c4bdc73af78c1f1fcd5d128bd134478dc626dfcfff44a1bb8b1d5be9ace64888566572419986040e2abdcc456b1b63f498cb996bcc9b3a165ca838a30a0940d8d6be617aab6a7e21c08f6f69941c01294888a50453f296d0a8274a697ab9e1085d15ffea663cfee4fec424d57ff67b59417159c5a7e595a7164f6b51ddf1850dd47bf245e1f1fa04c6390b3bdd2bb0d08c364a6233334df9b50186111806211762296e51a7f55939e87181fae2c4a7ac8451c8328b2aced3b42f8304891cc9514e2d1760dc145377002b8ea252b94e5d02b495a9e974ea7ab9d2fa9 - -COUNT=13 -L = 2048 -KI = f035bee0b0080f6de84197eb1cdda81c50d3f3299c620d7c3cfc902cec391a1c -FixedInputDataByteLen = 51 -FixedInputData = d96794a6afd6ae1c61913e95ea93d28e2fe403a5f95b6e3d6210892e9e8954b06351bf094e41940600a4e3aa1ab45913374acd -KO = 1cdd3be31d46f81ece641012fa0040dbd31ce6986e88bed1ee9fd482cd1c32c5e43e4db9aa8abc7b17829d7dc24411b138344ac82fa9fbd1c09a60704ac346fda36aeddd05fbdb9ee285c8b0c8241861cc28c1959a1dd62ececb4a6076260085a1acde3b2df1248183c697731f2c03524c758479d3df7b6004c0c8547e25de26643633bd883d81c1490bf057d33d35f7a8b1081f6d44b64bb5ff9fee1dd55708307ebd88d9be74ee12b90b726f43f1c8705475f460f738ecd23adc027708770ea7f4c94064b8a631978377a71ce3fd91a2758abbcf7b6d8b975a06b3064c23ba38e85cfec304308877c2798b646cfa97d2486b0a72b81674522a596246b31348 - -COUNT=14 -L = 2048 -KI = 9d904ff2dd6fd66f86f2c3484c90c3bb1570b8682dc2a20207ed3bf82e3f4674 -FixedInputDataByteLen = 51 -FixedInputData = 6fe9a74945517b45e84ce60e62f32b46de0f60c0e4120b0d95b0b0b528ca78f7ef88352c93dea4cf9db8f87f8427fb889c3666 -KO = 6e2b41fffcffcb3b9ca0f80985307435cc7b2eb94f3cdf7a6e01b3a47c8f6178b316f67632062d1e0f6cf4bcd4e565485fd8ba74d4fe23a3a63d2e39e8188bcc392ccae78be690e32bd16a0fac7c689a26d9cc26f0fc1f9965e106102a530649945d71516c07c27d71e938819fd04db336123e8cf10fe7cdd13cf2992e800c9bf238a9bcf192998ca7a58de2c98fbe63407c01fb59f49ae01eb1d7cd5adde5f105ef65f85bc17955c4a6ac4c48023ed25ee7317bcbd7bfa07e197f1beffe6bc42d8aeac7b1e610b7a5f7b038da5057224e860ddad8f3ed7cefedb228c77c4fc70823039756688cb346a495d83ff3a85b45662c08334461bb9925a32cc64e5ea5 - -COUNT=15 -L = 2048 -KI = 726efa8e455f4911d2c51bb7ed418126a10d60ffd0aec9b7e1ce9e65d62e73d4 -FixedInputDataByteLen = 51 -FixedInputData = 04986c044deed964c09d4a071efe9695acaf806747cf604b208d947e70113d085479e6093d598a72746af1118d2452adbf5677 -KO = 95bf2073a687a2e47cafb3d4aaf6cb2bc9c230cd95cc9497bcfe1299c359be9a6e470725d36ed796e3c486bfdfc114dcc4f2a60c066dc8be21f6271c5bedc91648b6020c8b8eacf8fc6bee8bab394a641a37982a57387b670565ec94f34c69e091576a9f2c1e04dbaf5ef7d81e35e28cc0371a9cb807d5c9bcf5d737059202e17980ca893841ac52b90f4bff61854ba54a4e2381a3390acd99e305c8ac326f43689006af052663904360e048615aef62f946af46c09f8363b8dbdbf46287fe3afd35b942f96e0591e6670514436b454fae5caa4df81f041d19caec0302c8c69849dc24c3ec82e7b8b8d5a558e8350f95438c634c5948eb8f9240fb8cd91bf6cb - -COUNT=16 -L = 2048 -KI = 7c78187b04881116745617d458248ad982348087c3858020cd4c8d87a67205b1 -FixedInputDataByteLen = 51 -FixedInputData = e2c0a78424a9fd43690e8672b4fa88a743b1dcf1109d5e1ba7728dc9e0274db4d00e6d7cd4ab404a36da3803a6429dac0158ba -KO = cc44cdb37dc8d2dbad44bba39817cb271647e50ab10e33d280548442089f1ed106bfad93d893752bf0a0507b298a5cf8426d7d8018139fd74bc5f31aaa9bbef00f245541b5704af39116a97bfd06845f36b2776bb6f8ac7cc01cd8bc1ba464aa86602223b59405bf79275ca46af8177ea558442eac36482fbb29eec816a076466dff5a9e235214817cbad27dc6e3683a3e890dba7107cdffc5aba7bbd87504810627255422a5645f4dbba61c953238951fca2fd51870f13b6450d15a8eb4851157289e8cd61fa9202746d789ac7dee053043980c242bdd124957cea150bbd058de063ab1984ca9f6e0cb862301aafc1e44d7fa911f0feb9c17129872c4d7be4d - -COUNT=17 -L = 2048 -KI = 10ce593428a00397f10755200e89fa0b69430f36a1c8c3c865c8e1dc86ae1016 -FixedInputDataByteLen = 51 -FixedInputData = 2a0a7038be33a9921872bae351ea669922e390a7df2d03a75a973f8859b7d47adfd2f41e230f510ee016177bffdc454e3dcf44 -KO = 7326481ee7847efd18586067ef6ab2509a0ee288342540a8afee0196d2163317a11df984958587e1428d8930cbce0e35223591db0b4221095e6a028a57dce47e6be32fe1ededd2ccf3274aec30e6e8c72aa1125374e4a933122d29c69d1b2ce08b4f0c2bb8d504581a0cf21c2c7af12bb4b210de036e800a5b0e43d74842839168eda6fdc8fc2e084f2a3ecff467262b3742d3a2d28cde2ed1c15cdcf55f186bf5c50c54b4dbaecf74666db8f4a2dd53dd9d6fcdf4ad9a00c86a86d9971355c7e7edde15488e674d2c6012dd751523b8a21fc9c98ba3ba9b06c1fea596b91618bc55b20c7bf9ca42337b98d45c1a68363cde91dfbd62508b89998f95a187cb49 - -COUNT=18 -L = 2048 -KI = c148fa8ab7273d40aba97c7ff3119819d986e53a9f48d2992fc87a8a5ae87cbf -FixedInputDataByteLen = 51 -FixedInputData = 185a3ba90849c205146f3c1f791506f54e76eb2c7624a3c0308c4bdbccca209f14eac1aabb30c6d48db7814e30c2f83d27cce3 -KO = 77819a1935a770bd9dd64fb9ec3fd356c6a8ac2ea8552b861f76ac1c559777341df1850ee7e5e752be8c6143d6e86bab5cfaf098079e80c3538de22012fee8b6db788099cf1a65881c5117fa1d42aab25c43de05cf5a269c3ae867b063a04ff52717740277d92a92e8034d1c6ec54a63e831d071dbd2f9191e0ca82818bc52957fe275e3a972e7909982ff3327cf828c86ec0d85ea7645b54c08b64c7af23f78eb849a307e1020c4a3a05fa588d5416ec2f82d9b18ec87f1be4dc9b96676c9adb4c322ee86a5d9b1fa1c9ca6c8a20e48a7b6f039e2fbedb9baf0841bdb08f05ffb38b7af7404d2334c082bbf1e74ccef4e55d4aa21b3c88c9f2a4978df2abc64 - -COUNT=19 -L = 2048 -KI = beafa91e54986cf8835ee2459e52134d74d24160a949a459e52b806715983639 -FixedInputDataByteLen = 51 -FixedInputData = 73ff96249b2485df45156f2e8e4779d0663812b01bff0f00fc3a9891a9e2eb7b7ab6dea37b0df7485720ece69fa7c71eeb679a -KO = b465abcb3fb244a1ee2882073dbd7f497b059fd5fa98607fa2218e1ca4d1cb292beae48907e969eada47209cc7d9f794ea03a45ec96722770a9afefb23e2efedccc17d4d6a3905840828208d47d796c9ea451aae77afbf6d7e9ba2d973a82dcb8f1df100adcd904f001c010c715fe4f1fe546a62d4901c201f9287df57dff4fc9a9d9598ca5ccc4e682202955cdd82d5896e3a4c103ca1aeda09fa368bd6477a9e0c1214815691f2d31cf5da9c2d338a37fbcea0617889b3ca73b3a0230d2505601ac5ca61d5c14f715332f6a6c5c4c2102a91a5e97765373083245db38c072813deda0ec56d0aab867fe433ae57ef11c7992d2a4e4d80e05d5d7bc4a1cc5670 - -COUNT=20 -L = 560 -KI = 4cd3d38d65bad749a9f7ff9f827b2a88cd29f23084ed22a50577efb3b4386c84 -FixedInputDataByteLen = 51 -FixedInputData = d12844f148d2c1e580b52dccec979b3024f954591228c264f11d4ab36d16b5b57d3266f6df56db7f950e03317d7d00581b3ef8 -KO = 8ba84b18e0070698e8f0e800886f055b39e91d7465e4030b1ecfae6d59914cd04abc532e6681685e60676f30e9abbad910ff632705851f3e96be7f2a924d44091147bc35336a - -COUNT=21 -L = 560 -KI = 344fdc4c4a19f60469697124190e242ce92ea62432ab50ae591877e4983b5b64 -FixedInputDataByteLen = 51 -FixedInputData = 04ac4493fbcd8eeafc49c195b9788c0145f2baf9082425b6af33a90ee739ca0ab07798f8323d4c02e0b4dd32522d3b640c3f63 -KO = 9c53c39ee233950b140c1df5cf87b6359dfa01b4d6c1a6471e5f646ca9d34e7947b9e7df027f532e8d6a75a41b88b92c8ae1312dfc1d9f20d50fd3316fd5612d4a441ff092f8 - -COUNT=22 -L = 560 -KI = 70a7964dfc60a663e20d11698ffee56492638a510368aed0423f90691efc21ea -FixedInputDataByteLen = 51 -FixedInputData = 72718802114536bff4d366523dd735bddb2e04856e00e9f098c84d8c73ba882ae680452deb96fb4a014774e684c1e15ff08f69 -KO = 3fd399fb67c6c80c73b24cb2214d6abd74eb9a46c77ec26eeaa0fb80b8884d920e5c0f13a68fe8b4d868177f52d3c6aaa81c3d8d08a58da5c4cddc0f4a131f3fb53ef7444210 - -COUNT=23 -L = 560 -KI = 1e075ad5920284bfeb93ee628c390736aa55b44498dc2ec99c0c160833fb785e -FixedInputDataByteLen = 51 -FixedInputData = f0987da866779d6de002d5524003f004f0ae1a9115861d511239729835dc8abe2adc4dcb86ca99b0b11f610f94092f801fa1c7 -KO = a1991739d440f812ad63c67ceb6111a924bf726cf8abcb3932c04a78e8b7f117ddc7994df50a15f48a5818f4d6f60d325af149151efe4ea37cf02fda8bf8c14385f9f57c3195 - -COUNT=24 -L = 560 -KI = 4463450cfccd69129262247476cc19ada9e3fd8bbb40e81c44ac8aeba835713a -FixedInputDataByteLen = 51 -FixedInputData = 8c942e70581010fe6b9036518a9430bebcb2cd0fed4a7ed0ab0dfbd06aa8611c120a31f9e3110f93d196258c0ba1e51cee1b61 -KO = e0cdaeba122441673d92ff2711814052c1c04ba8233005c13ef7bde9094c579bdf750b33d4bb51ea0623c3d71b0c28be06dc85cd9b19b0df2fbf806a42e769affbd34428f836 - -COUNT=25 -L = 560 -KI = e5f3a025bb4d6f3762d29d9054a65b509125587ae044f80f377c40518c4a440c -FixedInputDataByteLen = 51 -FixedInputData = b11d6222207249ec4a1dfd94eac8a3904c849ba9106a16bbf43b92dff3688620c601cf667f5d3b1dd4337b63f2182140715646 -KO = c23070bf73e9d9ea7994ae0373d0ec926709b468ddef3eb3675d235efffc566400befe9d084a59a5b40f12fdf665d4e80937d016166907ce5075c9cbe7d29eb862ad56ef1f06 - -COUNT=26 -L = 560 -KI = 0096932957f5ee45a3425c11865e209d4689543bbf36d9b71dc59de55bb04e93 -FixedInputDataByteLen = 51 -FixedInputData = 8f0f1db34ecdc54cd1e045a658e1f3b2142c0cca1d1d61670748f09083d61ed9ad81d9a99460b1abf8f08794ed1133d57bc410 -KO = 9ede153520b7ed5374cba01eb2c65358b0e0f317b5847b6fa1dc0d6684f2050cb3382840b1874cc8ac963e1c7bc8de2870d5ed9d7063762b49857f596e75f7cfccfb675a5599 - -COUNT=27 -L = 560 -KI = d2acb2f7f7e2fd3b9dd12b7376d94cbb4571b5364d93c150bce5507b84b9f016 -FixedInputDataByteLen = 51 -FixedInputData = 2d3f929b45d96f72f121b024021be54f395643cd07c35010c95186bf8befd6d83bfd84b1e234a6fc16289f478c24d7ba83f100 -KO = 712885b21003fb924ac913b322ce6b5441250398888fe6c5072399e99dcd054183589758b12cc34d76ff55f2708abacd1fc0e401e9b89dcee333ec14f0bc5c80cf9c59ab8425 - -COUNT=28 -L = 560 -KI = e5447d93e91760a1b895e9ef15388d61cd2f8940b6690a9184b5218e127510c7 -FixedInputDataByteLen = 51 -FixedInputData = 21ca5f984f96d288a293a99e9d38cc38144a80400260d61eeab30b0bec8e293177c9c77b9ba9d481c993a06d754cf45cc58bf0 -KO = 8dcc7e91111587c282132b10616bb9b007b701a6c14db2a6a266a8860f1fdfb27a08c1caa947eff75cae78bbbab6e8976cbd16ab28f1d303f4e420fc3735c0202191d734419f - -COUNT=29 -L = 560 -KI = 59b41f5837d8367281818d54edb7ac1c7eb88ec1a0ecc995e87eccba75e55368 -FixedInputDataByteLen = 51 -FixedInputData = f463b76734062e7bace7018a2a3a0b1382543ed4deeeef6c5304055ca7683e66bc683e137d819cc54846a08dff6842ffe67177 -KO = 8d2e8e9441f164fd189f571ea70f720322defd57974daabec9e77f9fc34d64092179bd6b42d686c3cbff5fba9bbc3384e9e45e20419824312832a78c3008a80c717f36fd9e64 - -COUNT=30 -L = 1600 -KI = acdd3de030a49a0ea07dd403f3e6c24e6a6931a649c95fb2ee36de4834c07c94 -FixedInputDataByteLen = 51 -FixedInputData = 2c5b1faba132d642063bb5d2f456c5b96894ab2cb4869c085ce7f06449bddd10bf5ba29801f543b5d9d6626625042567fcefa4 -KO = 4facc348cda23704ddc8fcee236a4cdbd2162eed3ddf6e6a78eefffdeaa973b3568492f70390ffaebcc8cede072450b62aedbc9a873124fb3b6fcc7a986fc96fffa7f1b6407318840a32ffee29d55248c12f353ceb221e2a358d1890ed45b2f3d5de170bd455a41d4a27b06311d0f6b99b0dcb0f07c44d754c99c8028f21fe54e4b862407b4fac0acea6e9ef0e37ca9b2457e7129235d2290121b0ed5702ea4f876fc42ce064e705be67986fb065c14458df2e6ef6ea9a2b86b1460eae25c206899dd5433fa4e4ec - -COUNT=31 -L = 1600 -KI = 2402e70085737976bf15021a50321ac732ce9d727417484c0f299e4fc240a433 -FixedInputDataByteLen = 51 -FixedInputData = 2bbb41a34be536b546ca7bd9904dbf52640bb2b5e719a9a0f6cffb5cbfdff0d597396961a94e0b288d39395110183ff4630733 -KO = 7ea6c549125a1f681ac32de254e9f05a3e4944c6f15afa0d874938e0dc29518164125593e7bdea7d62731c89681095f5e7382964ccd4ce2e8d57d59c78d3a4032a44badb3da92068b53689513ddb9d498cd4a3d5ee4aa553a48ad3b6beb29bb543498f4d54dc836a008604ae9094a53c786edc9a32cb4c8653259d4006afcbba6abe89fed28d62b007ec00093cd6a395f65d8b99ef13fef147939fa163cf30c2f87b3d147931db1bc053ec0c819c3ca168c5a2b498ef719b7fdb332ca271d35d09467672dc549cd1 - -COUNT=32 -L = 1600 -KI = 2eb6052ffa3f85ab8e9387a0af48f4a29c87688477bc66a41bdfee33e8feb2b2 -FixedInputDataByteLen = 51 -FixedInputData = cd3bf93345155e0d78a2504fa5fcc6cc62fa4d57bbe073d32392f3fce7288ab2633491c0e163cf7c2ed8151324243114e696f3 -KO = 06b1af4054290f7481bcaf6d327099c5ce17294bb112ae8e84aa4a4819ae268c88c6620fd2a3f441ad368711537b62d880d8756151a811e106c7eed40d8cb9e8ea6353f689452c1ac3295675080c086fe60d622678521422be779b640127f24f531bccd04a076737828a27af351bfa4ec5311777712e4a32047da4cbcdb0830c83eaeb3f045787f76f7d29b21b9197dea90ba83d9dcdafc180237eff9873eb04146bccfd43534074440da5ceeee26613a0bdc1812a395c204fd4df978b45a4366466dbb2f5b638f2 - -COUNT=33 -L = 1600 -KI = 5f564c08eb8d773f6712586f7798ce15a16aa7132ffe01cfcbbbed003ea8c586 -FixedInputDataByteLen = 51 -FixedInputData = 8dbec41342538ea01d0501dd155befec936a666cf8ded68e39a2ae81f6e37a73a24d5e670c9907c3f283d67401bfb8b739899d -KO = 58a38950457683003263a41d9c71f5cf963b75c2151512381239d61cdbd5a71bd5390dd6b8552639aced68af6563083f86de7c88f917ec5de84cebc4eafefff9549150a5d2fd2d93bc3f90f702269c4b432423c00d45ffdaf042b975fc35e18b05f97e5320f81760a72e49fe4dfec2317f136aff0104831eecc9366f636d7bf6cb96a632f9e6b1e08f1205dbaf00fe42e31c6014518285df3222634a90de4a40c1146d5a918aca3bee7abc1f8a5a1822c5dba3ee33dbaeab0b07ae94f0f39a1d9ee087d77e346e68 - -COUNT=34 -L = 1600 -KI = 1b32c75558abeacd8de8f9fc214cf96e37bab4c1135e30358dd725dbbc69e3b5 -FixedInputDataByteLen = 51 -FixedInputData = 35764c17465fcf71f50f861112441cfb26956345fa0130b2b4ea9c195e8e034e68d430c300c2eb0afc271226ae2af91679a2bc -KO = 3d65b0640af102b25f3c5f624c276c8bf06454ed4d859b461b8f5b8ecdce3c65c2f9f253a8cb805fa454619732c2ef2638925c6ae66736a6c56224ed7b88315e576c9f1b37814410ef5b8d05ab78eecd12a9dfcd191dc5074c5dc3467a09615e8382414d91c564b63e27d262ad966c0aa2a6a202ded239b70c1567d8586f41cb1eb23575d87840088435c9f652a4de291e412baea836a94168d19d87a43b91b96d32bca713e913334e66e7a56769529a6f993b860a9f8e7273061063646c55659945d1a3871ad551 - -COUNT=35 -L = 1600 -KI = 45132c6f2134dcf4213704204d805ff5fccaa558e49bfc881c82e05618b505df -FixedInputDataByteLen = 51 -FixedInputData = 3857b8ee2746388faeddff20baf27042ca7238ffcca50e9b6f89c2c6deb5acb106b4fde2759b75c663d02accc5ff456ed20bce -KO = aa97ddc1f6cf7caca093626121c0795dc2ff6d957968944d65c408cf6edc6268e0fc537d969ad0a69c95c892ef805613cae9ad4b5835c2014dc1598422ea0c818c5dc9dfdb5fdee5dad4054e8e359c4ede5a52cff65369dc93620acb69e3ad6116c5c65f3437be5b671f58ed0f30f6d1b28d7bb4f9efa45861511c8c75360b1466b9959387973b04bb2f7378b6df1758b48acb636c9453efe3696cdc8b73c438deffb4e82b68a1e488656525543da5ada19632991147f39696bd42ace47109cd6aa15207617c8911 - -COUNT=36 -L = 1600 -KI = c14e485d88cf48c41d4c34a4d9744fc46366e56dbc64463cb37f62fc0f5ed6c0 -FixedInputDataByteLen = 51 -FixedInputData = 9e37c719ab35ba77fc0127e95be30ec0d9ea23d8447f9be756eae892ed54a0a32ac618446e86acf46469f255a081bf70447175 -KO = cee3489e5de5c44e39712de3e45938cac80979635c6d0505bb30a95b95b5ccbbafbbb20261ee46edcc957c6620c2a3e76bf08259c95ea4815d9b90eb4898ba2a068ab9f6623cf4597fae5c1157bbca72bb4f6c3ce49a969e8cfb015fa0c51f7e1c5bebecdebd0cc8e1753551e18b10ce411f5e0fd1ec04ae26ece0460159490ba4b9a6bdbde66b5dcc15e962931462b2e429fd43785fdfbb6e165c6df35be8e6b37db653f2290289869238ccd1b23ddcad6372213055c49b8e3fb869cb1cf7154047c7d6f0d497e6 - -COUNT=37 -L = 1600 -KI = f329b4544e6c28835e55683a08be259ba1a4e73275afa44a67dba41caa112801 -FixedInputDataByteLen = 51 -FixedInputData = 39418877182bed70bc9fca7f3f7ea7271fff789c96d477046c9ff047188b268eec4ffd2d231c8efecaa6942e7cafd6f4f809f4 -KO = 1bb7e82bd18eec47f82f1723abfa7e78f3241efd2db54188380a1372f39ebccbc79db07181f9ffac7b44df1e31eaebc3e95b80c135a3a0ee5d65ebd75a1deffe19876d13831670d424e9d43e67e29fdfbc3ffb81410d905c5820e9c0fd787e2439ae1bcff0c29f0c770168e71d4c100dc2a0235501460a76e6f9c65d151b1da8224cde0c457df29e8d7e58bad61e2eff5998b93ef8b2912b9d1d89bd1aee49118509465e00a6b5745693b9bbee3366f56bbb1dfafd43daf05cc148154c8b8259c863857397b4ca08 - -COUNT=38 -L = 1600 -KI = 9739c55d9da4ff4b66225b315f04ed899f0188e114e46ab20107666d4b592471 -FixedInputDataByteLen = 51 -FixedInputData = e59d0e7c5240cb3f43a5b1b7b1335fc0e6ed323ba14c945bf65ff4b78ff2469a84ca1365e38b6d17b924dc4fb7ed9b12d6e033 -KO = 9cf435e6db71717a4954abb4009de7a06a3b55f00a729d8c43e5d34790feb54b713bd07b355a07462b2e39267d30ccefa6d97e13f8487bff8420479bb916db723a9f94a06ec40a512ac7ac1ecb8949a7bb4e2aef9e7a843820e6321438c8e42bc016294401b6d8d7590753f7ac05d1da849ccab521587006ae56df833f603f94e341fce498959b47dda6d00db125b66fcf59e18f912f9ea94d41abd607dcb7c0d36015026a9817ffec453f8c623dfb0df988cf075e0e8347f38262f173620ec39222ee0b40a385f2 - -COUNT=39 -L = 1600 -KI = 129ad2d7bbeac90716348bf09ed55ce235682184db8a24907844b930a80034d0 -FixedInputDataByteLen = 51 -FixedInputData = a5143ec87b349fa26c676a748e055ec718dd8261fe5e7801de94b9a2449d7f15be1861e583943eff0cceac3e95758a4c0bcf0c -KO = f9894deaeec124b00cb78017d785c02c4087f001c1a5777ba2dc407884ffeccab8cdd3f9b8983d718b9de69f0a1dedf91acd050ba2f7464736cde2473beadcdc2a88953219b13bc1d83ab17754df7bd6d763eb635e63061fdefaef394eee83f2e099420aebbc8bfb32b2b7494bd349723c54f066b346063de139960dbff1e57f69be9494c1441f571919063f64f2a0ecab5023f9acd99d0af28e4cc20e1743f67380b4b86017bac700e0175b858c71ac6156de434976964514082ff3d98a3d82d925dc56415e08c6 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 0c01bac097321203a220c6a918d347542039103e47abc0f7b299461b62e06a76 -FixedInputDataByteLen = 51 -FixedInputData = 10de0765183b25d791c5675bc645fcb2db0a1bc62bcc69140751f214d3ca68f1a3cc3360a988ae56fd485090c43cac20d24467 -KO = 80d15307451301cb6fc6a66d542bf3b26a4fed791c7bebfb04b9546ac008e01bf3332efef8cba3a9834a1f8e27b26ae05600aceece9cf47f0adbc3106a03b3a9 - -COUNT=1 -L = 512 -KI = 38e74ebd0a9c81a136da65f171a9732c6c1359591f2873d3b9a3e8ecf2a83db2 -FixedInputDataByteLen = 51 -FixedInputData = 3a8205b994d15f03799af3efe219470b1f47bfc7dab8e8e0b04763b2799b0b8e81a786d0bd80ff6491c876c1819f52bce0b117 -KO = 626de1528e318719e6ea1d2a867c27e1df0a8e77d109fecbd47cbcd6e226a5f20bc85ca162ed43bfa3d021b420d54f8a137419ecf4177700d89d837bbf3a54c2 - -COUNT=2 -L = 512 -KI = 82306be4a208ca58a9ae5fae50aa6273d9faf49a1875759dc37113e223e4809d -FixedInputDataByteLen = 51 -FixedInputData = 9daec0a11753d0772e181e892855c78795a877c7b34a1268bae81a0db11a7a039b90ee18d3313ec726bb6c906f331fa03e0900 -KO = 00ebea0e0c8553eb881d1e3ceabac630b9bbdb89a09c8df237a1f5e1b392c640d0e66bc825636f3865004210ccc6e0257db46cbaef2166ae1cb5cf276eb4a38a - -COUNT=3 -L = 512 -KI = 2308739f83713cd313bf596dc7a95a009971c9522d9c03b37b9cbc34c1dc0090 -FixedInputDataByteLen = 51 -FixedInputData = 275860c2d94321ffab5037ae3499f01ba831be654e51308f7876d6fca595b6e6064e9eb9826eb4236f3fff883a6e66c2ad62fc -KO = 9d20c9c6a090d04ce2dd0c2aeb7846d60e5f4953a71d86f520c95192729329466b96a5e1e19cb77bfd0c35f86ab2023ab2e33de36af6fb21e31fab48aa9aba1d - -COUNT=4 -L = 512 -KI = 83e395f1c340fdc9f40289520c31135766fd81cb06e969698635f732551ac660 -FixedInputDataByteLen = 51 -FixedInputData = 6a5453aeb889e0e59387e131f92b0b8150c4aae4bc9a77146e4da44ebccaccd28a4b875c4f98410e5bbdd14f0dad942c961f70 -KO = 254cb207466bd833a92aa2fd41799a65f13ff34fc3b5669a8437d304c10dd6bce767773fa88fd42155ebc120aed740d9cc7ea72d2730202ca1c93d4da48c90e7 - -COUNT=5 -L = 512 -KI = 58a4ea7bdaaa670cabd752503b3a1c6c47ee79a5caf0f5c4bb58006882f73b8b -FixedInputDataByteLen = 51 -FixedInputData = 34099dae14df3a2b4ca70c147251f2590073440634f9e2e6f934ddfd8b62b7d919361702debaad488e8e346aa1f0e28e933535 -KO = c1376bbf3041614431ccaadfa9ca78d4abd59b335cc9af097b19de5864d765b4a6edc2a163111b13f35110318b1e8590aabaa909f8493dc8cd7b837a5fda1090 - -COUNT=6 -L = 512 -KI = bca51bf367c01731ba6999a48349255f0948048d255e9c6666475d40a7274741 -FixedInputDataByteLen = 51 -FixedInputData = c11685bf4dd53c38eeb5ff5246f1c6eef77a5ec70f0ed434c83daa92f1c28276fc9cbec3704210b5c9a7f8818e5c0ddcea7d1e -KO = 734e526e867fa3b74b13efb66ebe0c130c8e7a11de90be78e0bada4b8e47a374a5bdbaa9bb762858d33fa0cbeeb83d8b7c713f53d393f83ddba85a171b2b98b9 - -COUNT=7 -L = 512 -KI = 2081f0c0aca64042512e842c1861c53e465b5acf75a86ec9fafd2de70d1aa12c -FixedInputDataByteLen = 51 -FixedInputData = da242421ce56d57b7d1d2e84898d9885b2291c06464ede4827321ec777a8f128fd1c25dfbc234e792c3a76cdfbfe4502a7866f -KO = d6ee2d0f10933109f8d8f3fd425ab83d0e4858466434a28c6314bf01af2354d29d5e48410122a528bc8f11dfa45ed281adb0cd1bddec62ac4b6f97365b4a8ed0 - -COUNT=8 -L = 512 -KI = 4dd38f7e0c5de5f8c97759be1259c18508d16002258f886e8a7d1090080072ce -FixedInputDataByteLen = 51 -FixedInputData = 64a561612b347b841569875acc45e658ecdce631dae569d8b2a90d2014746d732a3e44e3dfa7f8d84317d08092a7b6490bf83d -KO = 6aa653ab89e4aee23fc89c6c0834b37a321482a823ee6d797ed2f635e23c68fbcf09a7025053cc6868c60a382274c8b721d21ddbf0863a7eacec7272a65510cd - -COUNT=9 -L = 512 -KI = 125c77e13a4cfed3526e70edd1e2377e84a7b25c6b431ec6ad4861ad8dc49ae2 -FixedInputDataByteLen = 51 -FixedInputData = 257410fcec6a80a4ab2b4dad18fff5ced62d8c97c7c98560fe398b7a84d1d2244cb8ad2808d74658cbb5a86c1882bc5c68b6e1 -KO = b89fbc8f591e1b65723a21bd48de40c5e60f043cc5d83e875d1f4b45dc053604132d589be27d2200299c404033230c940a132cd856400c9c833ec7731991c7c7 - -COUNT=10 -L = 2048 -KI = 3503963071d0f21ed5d787ce5f41fcddfee28b8fb94dc48fe51dcae195f9de70 -FixedInputDataByteLen = 51 -FixedInputData = 2971c069f67612fe32112cfcf600145c5d047916c31ec98228b4ef5386a874ea3cd6bf75c3e6aad405cff1240cf9868a6633c6 -KO = d2e105549cc1d0bcfdaa415941569ba8fdd49075e8589071cdfd0879c8f8403ace80a25308c28a9bf30e5697f7bcdc5032407a5015382172633887ed5c7dd3cd9c09f67edc5c1740623ed7a15dd68fae391f7a89765062f0a6273cd4aaf6fc60cc038ec9e81c856ae6688f07a8515d8e84cc481ecc2224df6debe33cdc0d2e82d31ec149abc62acd8d29e845aa8f756b4f1110e457a8d33b7f2bb5467c0310d813abcf8af0001c794d1858c32c699722ff61a597c6ef12dcf4eb1afcf409aae15fb376ad1c9330dfb9dd264b7bfa6ec11d2e872c07e13a785ff1f7303d76333da32ac6dfdb1105d4285a873914c199ca09bf305cae1b879c9f69c67c2f58ba16 - -COUNT=11 -L = 2048 -KI = 1761a54e0458f4f6d128e8106f37cc3395e990d9761f4e3134655475273e9626 -FixedInputDataByteLen = 51 -FixedInputData = 1df8bfe547e8fb8f1e27da8081a89c6f67e88a9c916da44283a2fd6af6be820ddf6f39db20fcd25337667ca1a2478882fbefe9 -KO = cf8251ae34f7e33498800198630e8e06176c77a598c41cbe181577c47f9c3d035d620972f957c6c296b8f60783cb7db1d6c82cab3a72837a600d8e78d3c772e5f9c0754a69fcd123e619bb78c4acbadbae4679283f4afb0a5b0539d7f0926846d14e4467d41c2cbabe2836c182a795124aad7929c701b8e4c04ad8ed880e2fb1921eb505854de1115f503ffaff3237324884466b07d4a95637f4893f0fa409fdc15efc7359731d7d8ac0a773ba7ad49d4771b8dbeb7b8842ac2fb5522ab618686c0019b0a35b8837069e43b45e6ceb1791a5670668c7689e51709b27d70c02edb0bca0c5b41436b93dbfbdc33d8bf2f441daa736c24a60bf0bb48fa9a797732d - -COUNT=12 -L = 2048 -KI = 56715bef3f7eedfead2973376d7029ccf6104478f21a957eb37c68f0db630a3d -FixedInputDataByteLen = 51 -FixedInputData = f8f27f1c51e5b68236bf8a2e2a29842c538dfa33f74dae70cf6294d17398624eda0d23625451ba2fe4ca9cfcd6ba8044363036 -KO = 384ffb1651af75addbc2116ceab78672551f197808e8f07bedad53d78248904d871306a8ad952f010925aebe9be6462693594ef092ea20afbb7c8f22cd041021994e35a076faee58772523aa0bdd9b914c80ae10e75acb7b1e6b46f1e90017d4092fe44a1c8df3585991073b713fa48770637fc92f47f07e6769d799c5ad6519e5c1b2884b6d670c972007c1cbe91c0db81b0347e51dd117810016abbd1958368afc3d0ebe1d3519f2dbf6820e604bc01ff67242e561618a77211e1a25f16891294ab1fe3988ed31fe7f842312c5918e9c194598f6e74120bc6ea4c7a9237a3bcec71c1a3de0854f2b7f1e37e7ed40b72c10f968192a4ceca83d626b0713d63e - -COUNT=13 -L = 2048 -KI = df71c91a27e4e9405af77577ed2d1aa0dda3c82b6ed7d02d6617f96ff7baf2c4 -FixedInputDataByteLen = 51 -FixedInputData = 1558bd12ea68c8159a9901ce21804f26ca7d679b1d051c5c693988128b9c9f2a291bda82f5a4463d5074fd0ad0cb43e0eac805 -KO = 49c605899965afb10f775440145088dcb0ff737c28f15d5103d3ed8d517f5aa6da47cda2c8fe163a517aee9a9604c41932923b1b0d465380a384a365b74c3b4710b5c6a448b7a8a7899f6ee485d017455b8e8e334b233f4b8412572e5246369169495e14ab65ddd9f4fbd11f278ea5b43cc16decd0d85505f02fe5eba36a47309f9f88075b58b89aa87005ebec60d5308b17cb3dc49aadd1245ba180f877b821107b3262ba1608e96ed87811f0059e9e9acad8b5ac00c934c6838f1aa5ed6fb7f7bf02d20d927c5d2b5d28416948d7f146ebf7fcd1a5f0087f54719598c64b2ec72f809663ed10adab693921c13db217e9fe4498a76f65eb4639b1547c2ef9c5 - -COUNT=14 -L = 2048 -KI = 68c3c665247a05c5218d111a231de5cb8cab29df9921c63d384c19bc15220eeb -FixedInputDataByteLen = 51 -FixedInputData = 1a7eb348441bde64360632880c95edc8e3d8d3a289eb6ddc894100ec43fbd7c0756caa51054eff85c9fcbced65d406537b4ada -KO = a9e45afa8207cbe200f7c63fa7ccfcad16e828352a81c6dae6fd193446ec4103c4f7afd449ff7b5cca330912b16c24b863f0a483ebd955673a97b6cccad549dabbe1d034c00e41f536a374a2f064ce6484ac05ed23b9e66724296e6782ed191c0111a149ee721a77dd64842bac75a1b5d6cc965d9a98f3dd930353c678e98cbf1edac6b65827349682a6d8e21d6074154aa5810c290e2975b8834c5c67ea9af2d076e1084b76b48097d43d3f748cabb2783be0a664d77da9f29bc8645527bb861051d1971ac0845069a54708727561e22da66952e6764774c56129081790b9b1b420d72189438b3aac117c659304d051c98b3534e76aa4a46ec355fdc8f589bf - -COUNT=15 -L = 2048 -KI = 0cfde486cb0d40ad15e43a4705cd01c3dc6e23f3e3ee2647aa22c9748a56f933 -FixedInputDataByteLen = 51 -FixedInputData = e16d6520b4eb0591f901b88d1b31283a76f9292f022d0c098eb3e93f5e3b79bd6a994095bd1d11099b346a757234eb9370f972 -KO = 9eb26237d6fb1cb57a346d882044f40c6efc04bc9036ea55eef297882b748d5bc36f490c4c5100c96072826370ec0fb0adaaf48a321543b586c38a31d5b7a9f6648e203846e7cf65d5975fb35a1b48b1d5792c8ac1a087080042960e763f2e6b747afd0b672b9e4e1c1bff912cff69b26bde04e9b380096065092c0f1f8251c646f46bb9c4a32528d5ddd92c9b57e1cf3b06baa633edc7b5ed85c91c6997b3fa6596aa20ac7ee9fc98b1176813b8c2df761aa4d20e4ac305fed7fa2c89c8e82ef0b18bba9208a0f19ded6671c5e73faae9e8da43594a844d3635c7c7891085a8f7d9dbba4a445bee72c1be6d644df3e1888fa7b11b02a42945b8d25ecda8380a - -COUNT=16 -L = 2048 -KI = 159502ea6b82d81bc59dd1fb82634a0330a9c58ee1c8fffc9488136a4d1a153b -FixedInputDataByteLen = 51 -FixedInputData = 1b1679af8417c73ed724d5790615dfa073b15ca13a6bbff780814e7bd2e566794909d574e7460292a77ae8a66d969114cb8467 -KO = 0fc1189bb824db9f04e4bc00465c55f3c3a8b4c69e417262028da2580bb3ee3fdbb69c36b2487be6900bab0ea62cd7b2aeac9acb629e0f427004afb222f40063f4645262e30156bb28e86bf21f1b09ec37e1134582bebfe9a9e312c6e2b90b8180431a258e47d574cbd3c33e6e604748cb8f23f37439c7fb1c8f090820e00b092a693079776889189c61e486e24f7019db097984312cd2be1be9ea1cb50c8963cbcd390c5144d49baf2d25a2ceb43e3a9bb50adfea80f73c332cfe3008ea4f3381c354aba5f6e1485439b7abc1a5363bcd096704d4dfc58ca0deb682d2fa78df768b16ea904832681ae71095a225807208feda911f81d2b3d99e5626fa4f5287 - -COUNT=17 -L = 2048 -KI = 57c82621a3ab40b0fd533c45e8c20113735a2e8af2a0deb16bc28f5e67ba7e22 -FixedInputDataByteLen = 51 -FixedInputData = ae98db689ce22c48a0a3b9b1e920f1c2415d40252bae4c5b5e4d58312555769910a776ee3a1dfd1693129ff6b62f5acf6906f3 -KO = 7721f5ec7bd8fcc25cf36fcb132decc70c7d75b71a80c91bf2d3e34123a863b50b0d1b0daa282d1f822dc03fc668f639d810d01bd302cb767feb5c4caa2e6acb81ff076f05aeba487764e2f175af2ab971eecc3205e81b3adb27328c3e49893f3c6f04da4d5dd178f43589fb2e8c98b11f62381db56b8730096d4016c82f386532634aaa58593ff1411f02c9e1cce233b9374bdf72c6bfeb86c79a2b22d2725dfd8ac3708bf461d4545589b3c91a6245f0304a437baf9afc0c498fafb89e85f7f6bf8e8ea5e3749ad8aeede34e1bdefa27ca80930d18609c90878ea65f5b1588b97cd798f4336589bc02e4a95a933d03081b116e92965507e3f31fa78f0abad8 - -COUNT=18 -L = 2048 -KI = 41700e550f85a7d578f623282657c20afc62c8f842f70f09c69e0b5d215c08f3 -FixedInputDataByteLen = 51 -FixedInputData = f610ed55cfe57eeb4907e29862d16ac656e673b062d1a02c3e7f4954e858c06d6d2d52fa2b2acd704d74dadacb9a4e5568b83f -KO = fb5edd1105eaf904712f49e5d9a506e6ce1569469efd951c6cb7fa8468b3c1a904f361d73ae0e572a1e37896686a0336099bdd94bd9f93647b3553fa3f67c6ea675399bf3490340409d4fc0b6a44e7f3ece9fdc6fae0d062a6843073183e121bae3c3a3048f027d6d9e7137dcff7fbe53d61a99f36ae54d3b1eb7d9799ea51a718e62e504d5f5e0856813ba5216f7eada23e6cb7428f975e3a34d45a38f904ee2c5b4de34731ad2015ca328511ed6f8aefbd2cecd14dd251dd4065b382329403ac078da3bb521498e11f23d9bf853dfdcaaf5788e4fa4c7e7b1908b61d22ac02a6bc8840fdf5f9a1712165f34f15ef91221e27743c3a9dc925b6d6f15eb5efb2 - -COUNT=19 -L = 2048 -KI = 7c2392109c8f8f6cadf46f085a397cb87368b4c8973fd467a1dcbd3c929217ec -FixedInputDataByteLen = 51 -FixedInputData = 9be5f003b79d9790a4fdb1606a16ef6ac08b4cb64582cffd1779d338b9ed41c9b80fbbed41f900a2425df85f5a3dc2c9f01b9c -KO = fa52699bb45dcfc5436403a3c07417c356f0b2aedf9c60feb91a15c97cf1451dd75bea78b071523f8e593dbe1cd8094ba2d2707e14202574bf87a8911f7daaea56741e5ca742da8c9373557c9586031e33201f74d327dcad8eac6f7dcce357ad3ce2400308c92be6e642b79ec0b7ff9b4669a0f1fb1ddfd5d21d16d7a8add52c0d90ebc705ce4b93041d49b443dcb010d449592ee485514beb22f08fcb64d41e9a96bc1eed24e9dd0f155cc1bc98d15cbbe541923cd15e68fae777be568162590e0bfc2e4a77b5bc4e6b6c8e988a107b54cdda68287b4994d17773df87b4a28cb91c4450d06ddea4f14947021f5cec9a4f6a796d0cc57f80cba2400d480a7d63 - -COUNT=20 -L = 560 -KI = fcd3190188e32b08786364e11aadc4a5e8d2afacbac66c7eea22cd7a96498661 -FixedInputDataByteLen = 51 -FixedInputData = 47e69b46b10537b0ac6ff2869708befaecf9fe151b63a307c0f8d75fc06c761ac41f62b1c12df0ef0aa7ae32fa2a0a162933f2 -KO = fa5c91ee5dc127836e56ea0d53da45b4f06cc6591a1d9c34b68c63f94dd7d206621e37c9694091b4f3615b2474c41b69de00f3c3bfb50c12ca2f8fb75034896c4263605a6056 - -COUNT=21 -L = 560 -KI = 885f7abd490e97cf27e8452ef1f6f9980f0de2632aae26475b02459302664ee3 -FixedInputDataByteLen = 51 -FixedInputData = 7222b201fe642f4633e6f24c13aa1f5bde564ec9571381062f6f2ceada8ac0f80f2bf1ad5977f87ee07dd247902aae5a2bb4d2 -KO = 04227544add81daa1e96a8f43b6944178ea755a4e9e54c4c49871f9de243d656a20b4a6faeb566a0c7031b441ffdabb6dd17ec4a83c64e6d2eccff435b824c22def3235d3a40 - -COUNT=22 -L = 560 -KI = 4688d90381c7b8e359490f486e72cad953f6a2bd347c06897f8c3a66540e9d8a -FixedInputDataByteLen = 51 -FixedInputData = 6596ebe94aa40c06fc266762e6398e1a2f8760841f1a0e0a7ed3795aafcf3b549821ab7147b6f224649ae682c0ba6c35c23ad3 -KO = 135c0bb97925b149bdec84f76825a105c351d1b66201edfc1de00f0842bc46fd79129511c9cbff495f62f7280182eb06a8912df4a0a3d56424856bd3db462be9f8d174d7a2fe - -COUNT=23 -L = 560 -KI = 07728a182f4fd209237effa59472518c823a037c1854098cc94f0f5973d0397f -FixedInputDataByteLen = 51 -FixedInputData = 1c6188dbfbeec8b48f3bbe8637fb8f5e409540b16966ef7956cf4d6230eda288c3429b0dd3fff910270c23b94fbe4326f0905b -KO = 819511363b0117ff9a7273580511f8ed93b4f9fad0a118c08bc03656e9b301a2e4eb84209129021060fb5bff622fccf64cd56ab9a0a733d09eb2568d7dd59c5ee933eb1a6cdc - -COUNT=24 -L = 560 -KI = 69e947ce8a1bd7da92ddaddab6f3cd797927577f8e534aef47409aa448df35b9 -FixedInputDataByteLen = 51 -FixedInputData = 51472c01fa3e17b718d283a27ea06f27880eafb3b55ba6bc6f1238d60e5ad2291f3a17762ab2692ae475eb646dc138b6ee028e -KO = bfff19b4065997203dec5426cd776eddcc00ee8e6f997767dc7a07f616430cd3c931586c530bc842bbac80c0a4a187c549ed6625c7941d4574485dee0cfa68356d684b6a0144 - -COUNT=25 -L = 560 -KI = 5ff31d695c4695970b584f17fedeeb4a1c6f309452dd16c8b5853085bb692d26 -FixedInputDataByteLen = 51 -FixedInputData = f5d096699977f20c9ac99e05cb57d9c146ff4abf6379fea90436bf18cef83725dccf5581c430a5c0bac6618535e649f52adf0c -KO = 4c649a966045227957b9ab8a320f3ca90899e95b47a6107856fbdb6ccc9d8fcf6f966cfbfbf8b446f7817f175582406ef9da7e40a2654ed83bfab0271efc17ecb2d5a6efa272 - -COUNT=26 -L = 560 -KI = 6966eb5728b05b9a58df881ccd48ebacfc045d4202128b8233bad208630aa03b -FixedInputDataByteLen = 51 -FixedInputData = 7fded85e2e840021f830b353c38ad568f0c092828db40f3296522a6fa7b1a0a630cc66cff32df99df75ba5d207208a654d3f25 -KO = 454a9d54a1dadafefab2e79213b8792f1b93503a37714b1c0a876be6a35a0fbb2d20b5a1dc7382880506da304738a1e4dfd44d24a1bc4b198f7e188123d82993441b7019d331 - -COUNT=27 -L = 560 -KI = 599d5c82b71743074aacba1f157bdade7eb4628af308cc7767a2727a222a093f -FixedInputDataByteLen = 51 -FixedInputData = 7633ca0be38a325adc86a7e6fa4ad1578bf6da3787818a53a66413638f6ca39f220bf7a874edc448826fc9f061078eef71c9b5 -KO = 1eef8ec00b0a650352638b7faee4ec9fe5393c88e264f3a50cdf04166fe8ad817e0f855fa362ffe9231c62eefb84bccc6ee1996734d9cf2682d838d7f6e4201c1470f33c48d8 - -COUNT=28 -L = 560 -KI = f37b2d9ec771a9171e5008b62c24649b2997c45d837603ded5d2a6ac0780caeb -FixedInputDataByteLen = 51 -FixedInputData = 9d547ddc36a796da8103980a317654395efef640e1d051f816108e4a3b3585ac11a6137da905b727ac15d52e53769307b97084 -KO = a1f8ece4527f6ff04a79dd70bf5861e35f4eb3f07f26724a06903c52f84b98e272f0e55f35351e8d8e76fbe7e4b58b538540ffa3fb37252b50c81f1a26f054f410c3b9146b4f - -COUNT=29 -L = 560 -KI = 005fa6bad478c3bab0f7c2bd8b9aff632577c791875bcfe32cfa0b19b0ad3dbd -FixedInputDataByteLen = 51 -FixedInputData = c03f9f11a29c6a8825fa8a248c2c6b784eee575eb5762a0b4c7e9d7583c69641baedf7428161ef844ed8dbbc43e0c3bd8b619f -KO = 928900e5c2d54a093c94179a2cd2f00d6909586ab201672693c93523ab3e95e4acfa1838c71e99d4924f3d5e8461dd5ae7fcad8ae112ef535d8ddb01fc4301fc1c5db134a01f - -COUNT=30 -L = 1600 -KI = 83f4ce8828e14b34bda06cc8509911dc66819ce16e8e9b08cfc85eb78eb3b8d7 -FixedInputDataByteLen = 51 -FixedInputData = d24b55d9600df5813e92e908b3bcb14e7ab2e5d8908528d31a39206eb2e09c4785d19e509710baf740547e41ed4fec1776685c -KO = f2ba9df74d2274bdda38b8dfdf060f8ce8aeb8189135779f5718e8e03982e6844f33186ed8b8b05ebb7202d4b484d5f25dd53ac6b6be586e4daf5630c6df76196ab3a1dc19ac1bf3ac8b7e19eb07c7028e45fed072b1de931038bb936d0f72f704e31eb45f718b390417f54f2c019419eaa693dce4b71db53b90d580cb446dd7ee5eadd590de101292a417f13c6fd3bbd14795d7217b199031ad0716ca6fb66efc36cd7d334b27121010aa320ca56edaea8c41b42d8edfc8fc4d2604672c1b6c6b5980dc5fd2e0c9 - -COUNT=31 -L = 1600 -KI = 1113a344535618765067bf9f7f0efd69e7f76b70d6d22e1d14cdc9605c668b1a -FixedInputDataByteLen = 51 -FixedInputData = 3c05b0df2fe6344ca988142382d7ffaffeddae81f30d090a3c4bb52de8a0c0ef42e9c800dc900369a967b39b74b3c8c868baec -KO = 4a9dac9132c5602070193669120cca34e966166c0a63c98b02d927a666bea4da531d05a44bb29b937866a17bc7803414c1332f3c313363179cd9d23e5bd187400f4d287e3639c1fabbcc25e8f5e0c10fa221b59c3432c9beac70d21284bd3290f809170041d96d56aa1f264ebbfbd4cc341abce7ff9ba44f24b2304f05a0c3321b33199948f327c617b45dd72ce871c9de31ea03443c11608a3e25abc363ad75a2fd9199197c67f0e1e59b5b4b7c7583995edc8fab0e61c5356647e81aa018b22c9185d20bec6444 - -COUNT=32 -L = 1600 -KI = 1920284cdeed9937627eb5d2d61b7d0c1a289e82f54e791926faaad31fd64647 -FixedInputDataByteLen = 51 -FixedInputData = a609494fad85c8f38c2957c916113f47a7d126f1d9006124c7032facfc5e1aaf953cb87fbe76e3d595db2301009e98f067b083 -KO = 6a535c57ad827107ce4de460fc86d0fb8397d0cb20b1c645b6ea71b494c41c4c89b9dfa02046be78193f206d85289fe07ee882621c507567359d1b25bd6d02d0c99bfdca0066f1904811101ff2796150b9aa8008827b6adf8c34eaa11959822af47729211e32864d38f82b73636766bfc8d66c77f6cf04e76303e44fda66eefb379582c7ccc9af6b2612bd9c2f48854729d4e922273cba806e6b9cd2831f5e200f7baab21dc5e87ef337339b90d7c33c36e1bb6f91cc9f71e70353c5a23ecb4e2e065722336d35e6 - -COUNT=33 -L = 1600 -KI = 03572be0f71231bd5e8b1695f06545e4027bbbc330707623c290dc768a24cc4a -FixedInputDataByteLen = 51 -FixedInputData = 167a2134879181cad6cd615442ea4b5f34029b276bdbbf995767097925c102b3ba1f08687f2e79879fc59e5ac366e12d4fd2be -KO = 5ce84ff90d2a9bd7f92f01fb4273ac8879c997a7f285f21c6ffaed54a825b97d86c5734037ae0e6f6a379fc89a348f16cea73a1c5bdeeb302ff511ca39a4a6f07c28da0a46226ac16f4e63c19739831ea22f23193d7b868eda7fdc60c427bc340b790e39b67d9492a272caf81b7b9d287d6f0650854489d24b52189bced331508a543832f7ddc148586abc51fadf2f8aadd82f816a177430b64ec3b0f020f14c81dbcb261f3d32ba3dc2e6598136a51434083b8872e2aff7d1cd6e8f46af0d087319b35fa16345cd - -COUNT=34 -L = 1600 -KI = 7fe0c66edea8f2e3cab85f52e96caad5b1184b639544d9eabe3c5b5a660e5b43 -FixedInputDataByteLen = 51 -FixedInputData = ae1537eed341c8611bf5a121a19dd3b739fabdeb4b0144bb34603ba32871b48ac7368d7d0d03c79dac5a3b9230efa6f56ce2a6 -KO = 7a46274d1a76241479d2b041fb81b3c2cd64a584fd8eff6a57b3e06c83192f2a65409a7de4f7666cb805cd48cc4714f197d824e0d676fac40626c6eea30db976f8d79c2ad978abdf055ab807f032865eb403d364c51354020bb96db9d429dc0cada85089a4b39d38bf081077b7ab0e9d969ef207f473b6721e1cd87488d62b245ff3413b32a6ab469b72748bcf8def3d66030c9f0719d1f32dcfeb6537147ad68885098352a342006500037e0a2f04463b94c97568547106632ab9d7afa8b4acef8a38a53e91b22a - -COUNT=35 -L = 1600 -KI = 5d98545af812cd7a9921ec4321f93576e3dbd35d0e095028a8e3f23e4bd275ea -FixedInputDataByteLen = 51 -FixedInputData = f83f788d53cbe3c4b3fd4e2b10206e60dc772512d8805befed7a033b1e255b1167bd7190bde5e860e093f55796c75348fdb3dc -KO = 6967db5be1a2c4feebae9f94effd3e53a98c1d8f21b12b42006965ca21fbc18da31b1c50425d49ad9a1d1410ce23397254d0f83e24f04f591b109455a8b226fd7ff8d5cc474ea056816a508123832ed13ee8b6f3f3b74fca84b572c8a2aaf31995fe1d9bcf02ff4a3061319d10a8e0113ec45dc5b06b227319ff8f9bd9dcf413fae193f456a8d68ecb0769f34e6b917ef3a65e8c94c8c248d24638a3ef8f150969d02b255183d96ea352ff516e55f6309b9cfd48c1b423cc319cb32968ffe232b6c3a0c2fac68ea2 - -COUNT=36 -L = 1600 -KI = 192eaa7dbe4ffaa22ff3c576064c4b3a327e241e6f19ca33bd78bf0fdea26f82 -FixedInputDataByteLen = 51 -FixedInputData = 5ef27a21f1a80f114218ecbc5c75feb88dcf5802bec1663188079ae69e943fabe465d9b490c87a36273376ba205a11ca571240 -KO = 221bcf6872970bfa00d3aa291fd59b5a5e204cb42573895737313e4355a01be60a36feb20020a8aed8ef6a9839796b6705c4b755d3dd8427a0f67eff6688ef97d2a34dc71c859abe42670cbb328b510020893789174dea91716e8b82a3fde2c382487ec7545f60cfe6c901b22429092e50fb44a34d6ac14c9e661df5878c34e726357ecc9a50d52fa603ba6c476374768bc84cb121f958905ba2306507b0633fb622644ad26975d7ae978944f24cd4c8bb4c251600bfe29cf5532212ece03753cd24c0c870d57f05 - -COUNT=37 -L = 1600 -KI = dc7d67d8b99b0b08be89c66ddc709b7a41e88fd1b54656ccb19a859898740b1d -FixedInputDataByteLen = 51 -FixedInputData = 840a2a112a086bc88e570bee457a64e9773cac7c84e5745c6c3133e34f96982050835ff0929a11a3befc5ffad292a929ab9152 -KO = abb8a6f34d72d7008567ff681bde2a58797334d56fbdcc6ada924537c7c51b03d434a34b6b5c8cc68c7482893062fa9d3af11b2bc9e28343f21f56e5963430fad1a1037d6232b2ef344f64e5f06755e2db97753c9a142c435e629b6d6b6cc50f2a14428360b6297e5e89b1843f534089e9752293aa80c75300f499104a9424e8a15b5a6c012a805830fc0b0270df87178306ae14a6074245a5951a240985a5a6f7182a48d1bd4fa718178ed54ba136accab347b9f4bd579c6076a093dd924f34f91a691841f269c4 - -COUNT=38 -L = 1600 -KI = f6fa1976ac7953fdd0d82c6552329be54436197fdd96859ca4f251c1bc87c1b2 -FixedInputDataByteLen = 51 -FixedInputData = fbd8c4ef88560d84ec5e6948d0f228972a2dee48b7a00c14ff941720643478095b52c52b9530242c96039c5ddc2d65bd9a6303 -KO = 38660ac3d654f32fce09be0f2f839bb5283510d613d1a55abcd17987b7bfd81c1ba5cec39ddf9690e61548a7e154f32130649147dff96c221f66963a4e16f816027139e55830ff7785b89c9c65d4f815a02b7390f8e1325dcb77b37a0e920eb85518df4b7ab7257581658be985e629d61f7d681f490b27268d863ee697858792c76739857d99af5486fbfbba80b3e4beabaa86f04726de4d3c6ac6267a0c214bfd58067d30a70f505d5419f3025799e58eddd202035f8f86fdc58c65e3d06f41c752aa226f7fe936 - -COUNT=39 -L = 1600 -KI = 6fd9a88d79e9f1d6b76fdb65b416e8de83dd43500f12e83afeaa8514aea3ebd4 -FixedInputDataByteLen = 51 -FixedInputData = 3782c9be2b9f32d213c92c6fc16b122e840f50618cbe86ed04bc5e0ff7bf4caad9a41bde9a8a431fe7caea46f7f2022c71d7e9 -KO = ea43d79dce8340a7e367f054e79dd7faa47d25579330a4466f031d0319abcfb6cca8e497cb5be7e687ba5a50271f5b67d1b6e4573ba040f604fa33bbb836790f9f575daeaceadbdfe6e3101e27562dd6060cf7cae2f8ff5abed989965e989f02189cade87872c60069fa74222724575dc0efba9ae622b4679ffc54eb112af2dbe278ca224b57ecbc6a5ec188ef4dfd2d37caa9d317620209531ff403495b2bf00eafd375ab246a4ebad521cf5a3cc6ae6a783ebe03a194b6f15d5141f56b700294bee79471765250 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 2772c4b71dc91542225a6e395feb7a2e36e96cfb48741ff4eef36e64cc877a5e -FixedInputDataByteLen = 51 -FixedInputData = 98920a3f3fe5f499746df0ed8861ca52d01aeb7ea5dbed938b032ce38c1ceddc7cbd247bca5c9efb497be861c98f293d18cd9c -KO = e5dd88f8c9a17d15a992b87bed25671091372602a50e887cc9c1224fb844658d6df437f0030634c952054663e8ede561adb72ed2846287c486d87b7761e80f79 - -COUNT=1 -L = 512 -KI = e8e550c71239775c2f0ec49c7b95467424b6751e252d9087da71a0ebe0ca67a9 -FixedInputDataByteLen = 51 -FixedInputData = 3441c4dac1e1942099d16f457b94c11a463708945abba3a126935581c05a2cb8e1157b4f9979ce6e48f2e89feee5d497f3554a -KO = 9b03295c199617929a2bc5d1770af0fcdc41e6699ceec962c6c06b30eff5410c4705f2c5b369fbd694e2709f421a22967e567fd8f367aee5f6698dc9f9c760d9 - -COUNT=2 -L = 512 -KI = 75ebb85829963fe04bb75b307818ff4b594ac6ec7a370b0b8fb2f0e6da37519b -FixedInputDataByteLen = 51 -FixedInputData = 78bf49fe743173c44982c92637a649ce8c049bb1420e6eb14c523875615b397aaae2ea0e3aa1543f8ad6cdb0a2240ee41cb286 -KO = c4ac8e45805889582a5518a23da327446e07baf4515213c5e582c3ea78a3e3f49563431dc490ae80c5b8c04e68be955fe03b5d4603f437ae1b87b540a4e1358a - -COUNT=3 -L = 512 -KI = 6b9fd85cb76b1c3ef0f8d4e169dda0368e64937d5e41d380f641d6906e47a1b6 -FixedInputDataByteLen = 51 -FixedInputData = 0da048d43dee4c9966fd0fa52dbc7b12c3b9af5432aa2ebf5dc62eb994d92e5df578456fefec5d02bae7ca0cb47ebaa9e4b441 -KO = e0f3fe3b367cc59614489a511d874975d7bd74b5aca64f6d2bab77266bfa1daafda5340232a23b2ee10623e82e302634166f58d9b2a3d1bf910954b597bbd2c5 - -COUNT=4 -L = 512 -KI = 6e8273ff336e1dff0c988688434c117049063bd4d89a71cebb3a8f664e75a87a -FixedInputDataByteLen = 51 -FixedInputData = df5a1163b191cf1265816358cc67610f74cca5c1a09b5f973b1d5e3815b17841a6d609b0260a760f531163fc17b404093a16c0 -KO = 38a488da659249297ea40ca30e13e49b0226f5a078a9d1af0fdf8893b71450ece555b2be2bc3faa22bd5c7ee52ea8b7c7330222f7496bd6ad504960154f39fd2 - -COUNT=5 -L = 512 -KI = e59e48aaf7433b09faa41031d42d80a41811fb72ae0122da79aaa5d7434e826c -FixedInputDataByteLen = 51 -FixedInputData = fc1f456011226d587625553715d5ba279d251f9bf6b5f2a7e5f23405756e9ad9e7ce7d469f1ded43d5f9b90d7dc18df6fc478a -KO = 472355a5856ac7e43439c9cc48a671de9c3f148d923f4dffb759ee769c97c0fb216ca10c7395b124625da9eb3fe6c4a038b415954600639c21163ca4aef017a5 - -COUNT=6 -L = 512 -KI = 1668a72a0026b0fc15c715a0936d45cca052b1456bc63d245a4a9ade41457a63 -FixedInputDataByteLen = 51 -FixedInputData = dcd451fa3ca8804515814c8e31e85a1d85a3cf2c39ca77a96b659ff6edd16aa6c81268427930c08eead14716575eb1ecbc5f7c -KO = a07e591c9905a0c6fe80a5c2d247566622450faf04bcc76c4be1777c225fae6a2a42a0b739a277a9383a2b557fcada2a609ef4703b9313c1429f392f03a6ed49 - -COUNT=7 -L = 512 -KI = c980691a8b788fb5c5a00927f146b7d557111ec14ad4e73ca4aa6b06dcce2845 -FixedInputDataByteLen = 51 -FixedInputData = e859a0a2babc73ee5b338cc18cb9c0242519222d148036aa4b2dae36d8d306a060d2f3c8d0fa15d48b658d9c0e3e67f58f6f80 -KO = b088b54e95233149fe7c25fd01a9907a1ef59a08882d0234ff6175ef72af46002e52d9d5281e55040ddf79b9f55ee7fde0af8bdb00ac4c1f3e3dbafab2a90f56 - -COUNT=8 -L = 512 -KI = 6b3b9497d8287f213503bc029b3c196c791ef2ddc7a9a9d90bd5fe43ece37afa -FixedInputDataByteLen = 51 -FixedInputData = c44fd31847ad0cbbfc3607a428d4806d5ab18790c51eaee37a3a188d6d0aed2d154809024c3bed6dcd366fd7b9a05f830e264e -KO = 2db694a07602202a782d08cb61e2d5d73ff7cea2218b8c10f4f4fd85acb58d70f38288b9ddc75363b422c78687f0a84a62deb4caef692abe8ce4906bb680ee8c - -COUNT=9 -L = 512 -KI = 260ef58f26d8d8f1233f00d23b795abb6e927c99660c067509b28dd569d9e783 -FixedInputDataByteLen = 51 -FixedInputData = 31bf5dd89fae051c12c8adb51b5000609511949d8d18435d67994a6ba7cb4d102068526b52ed3fe204e7323b072a387ca11b80 -KO = 643d91b2bb94a857c8362d099ef12b087530ba7539b648091a1bb4ef982d11c123e90a96e778b7f4859cee7a8d4be53c1e392fca792aee425b39ff0e0e9c43e1 - -COUNT=10 -L = 2048 -KI = ab24e268064cadb241d8a2f7eff7b168119995512c96c262b4bffea04747ba59 -FixedInputDataByteLen = 51 -FixedInputData = 8be34fdef8bd91983ca3dae46cef636c1cfbe63c942f3ded51cec7884b344c53fde113ec6298835d035ea025c36495f47dc84b -KO = a72c4ed32aa8f333c4c2cc218fa5ada10cb7e4ad4084c1699d19793b8a77059e5d11a255c0cc9025d2c45a5d5636862ab077f511f03d40cb29b18fc08b4317f3f23cfad35bf2b4040db21d0b58916bdd764b83771f183d2ab73b141655aeb1de0e36c6a29250f61a9b62ddcb16b2638ab87a9c4b59f76aeffc3dffd1c21c5f85bbcf7e254304f911466c2ca5ff3fb9f45ac7e8e0e43b77079978e8cf8e9b96de608e07266f1703a3871b5745fe7de5d20bc141517455465116478cbdc1575731665140b23267c8acb6e598036f0935a683c2e21b03ed4cfb207ac42521bc60cf0fea317d439128d6db2f71812ae3a2ed3536369a93cffc1236b9e031d1192198 - -COUNT=11 -L = 2048 -KI = 970d88afbb6be7562314284639db4803ab9696cb71aed7d2eb77541f1fc8683e -FixedInputDataByteLen = 51 -FixedInputData = f178fe4361a4587dd2d9a3831c7259aca5eb810c31a9cd972806bf3fcc93d999987ca6dd7f0bcb18359f8d98bea4820f6d844a -KO = 7add515f10d57d6a057c1098327571c02ae16e38ebb8fd66949281065ea54666a8aa3f2fe2d370b247d4985bfcab2b018de81b24bf6b7a9f8be424f6d3e5a17c8a14303db04f3109d6b8d740627206ac6efea33aef8ae90c31df0e37323dfe4d7f2fd3cd476829d61c1eec167c3bd42240184c3457453d9687668cebd9dd2552bdc873cbf6ef1b37f86ecfb6d7cee5383ce099e421f3defc9b1331b4a18b744b2c2cf82681db7fb4a0bfa4d3e7628fc7bbb41b72946cf497ec661bbaea96d8eddc6633c0066391fa9422970c2af17978378ddf7224538529ad51a0d778b772066b84027dd7c8fbc6940d46a847bde68e8a8a1bcf49d44de42af53c7461c7aab2 - -COUNT=12 -L = 2048 -KI = 13a24d75a925fb35b82bc9564ae5c2e6916d330f25d4d87a9a2284090acc0e8a -FixedInputDataByteLen = 51 -FixedInputData = 8022ec48dc30260d8dd63b4e8ce060268c1f2e57acfb863294c06adb721a520c16ed1937615f6b16a5d78be465681ec0e53520 -KO = fcb427cced22720c5f9a1a8ec2fed3393d1e828c2966eb881141d5fc27e39f7049d298fe635233650ebe5b058f560a70747f1c8640ac87b31c06fe49e9c6f467eea80c9bba56461890574462243e3f7dbf6408a8e85f3844cc7af689a70c73f38211af245c025e7bab537b3437f18629cc972dbe27b4c6bf682700b6e57b12ae68be5bc62f6f608e7952e42e6fd628eb85e1a3c6954730d51c7d3fa6bb37d2e75a306b3548d8436f0e98cdce019ce26946c7f9806e6d35bbafb9ff5e92ba8e4a3498f900f270964cf225177c8da744ab842c8102a9cc073490b2e78bd5a862e0c059c7a2088479edc6837ae9cd0f0831833a3a06e9198b1b7e8cf17876adf775 - -COUNT=13 -L = 2048 -KI = fb1e0185c335317e1d67f3432e2cdbe3cdd15cb7405a3b1602f37816202e632b -FixedInputDataByteLen = 51 -FixedInputData = 513045eb12da1b00dfb00dca28a054e5079ae77c3adab2cf318b02c48701613850ea23b85ceecdd57ba34530409ef1b122bb8f -KO = e5cdbf206823dd46f2ef87914519a03de88f576664243fc22b4d0d98f50c53126cec58e837f3a62d38b01c207005752f23a153a4dcc9bda5412e6d188ebbe710682e86864585d06b2b6100c6d1fef5da7b7b42509ed8a2633c46c411eaab29cb08e3f58edba87b5fcdbad341d2bbf4b9507af46bee60bc1076d824675dde03dedf656f1be2feb1ee919fb962a07d80a1901ad89ead0a66f9c9760ca76879f75f23f065527e25d645b11552984c3bc607fce56e204edb05a691931356ff00504202319315fa6dc56b6424f2aa62a6e7da82e56760ef78352b4062a44aeecb87489a86c74eed386df4bdf823d5fdedef0a84c8285c8143e02c95c0f3ca76b1fcfe - -COUNT=14 -L = 2048 -KI = d27fa90616e8d39257bda8376ee35546cbbdaeae53909c8825f413f89075f6f8 -FixedInputDataByteLen = 51 -FixedInputData = f33500bdfb58417834aa88cd97fd7678d8972e65b4694638616dd72645f9f5d653e508fa57228753f6fffec174e92909dec792 -KO = b77e99e4912191ba0e01908c7a7b1af165ac94b2de25496296f0b8baa6bbad153de3a82794c7b112f412e2ab0e16899efe9722f108de86ebe7830047c2bef0fcf1cb2542e1a979ddcc398eaa65c1ca98db61219132b48644bf8d588431a9c175f7392f5158f8c07fe439ace16f416767683eb6e98398f06ef69da206a216651f8dcdea6174e7891a08333de8bc35a6a000c114e7bd7d64348bdcbdf67175ef0fc3ad301da340e515b7d47ca9e8dec848f1ab2c7b0adb8a962cb7f38b02e6b9335c68fcf8e732660b36bb0eebaaeb93c2ce67577e9fcd5d994103fa8b696d632fffcdb55514b3fdf9a66dbee84393b738aff5d805175c4b7a961af25d7fe632e8 - -COUNT=15 -L = 2048 -KI = 42b57c5c09e5f2d80dcc4b0970aba9729b4348d07e13c65d51b05fe14d4430a6 -FixedInputDataByteLen = 51 -FixedInputData = b51be7a936f784c75ab9274f85dbbfaf2dc2ac58a4a2c1eba986c95616af83ffb765aefe422c43357aa6a9a9ebf4d9d6dc7130 -KO = 611d47836c5a67445112af6762708b091d5c6db7965dd10a27e58551848e4b27fae63a441f7e21e76b31452f66860d278373feea7742836b238ecd3be8948a4a5c2aa29827b9ef0107e2af8cf770ec267ee8a907a8cba40ea039e139579c07188a89c80f91a76a0d0d20cf5050f51e1cff334d621d2a79565cdfabe0feba8feb901f5b16979d73bcc70aee9290a1a21903b76b6a61d952369554a52a2bda97ab8dfae4150c8b9504347c6f4f2aa0bae862f816c3950c68334c95ebf5e1625e9deadf55808aad26914b784190f571c4cd6c13820d0b2bffdb00b952dd9eee81d95d30c3bc3010251e31585b5ad2c1b298fcc94969ce55757b3526d6abeca28aaa - -COUNT=16 -L = 2048 -KI = 230dc5dd9fd141531bba65a2d199e178616ab5280d52d290ef20fbb2a84d449c -FixedInputDataByteLen = 51 -FixedInputData = 24bfa504e3c2f09db6bb782bc76c11205c8dc12bbf9466a699d4f85d7788917bed1be4ddfce2793c5eafadd1e09703a49cf980 -KO = bb028103fd704bec5afaacd57feb28fb3ff02e7c162f604af074adf66a62c8eb59a429b9352eb15de4787f364e56e64a856ed5fb3536eb6e6cd848becb0b72b25e5199cdc12a9c7aa9449d1021555dd9b15c56655e9bc1de92ceb73d18c3cfd0879a476c8221eaf70756d59d025507a364fa99b8c73d046fd04bcc9048698cdd74c1b7acfdc3f5e662c0b6a5f83b656cf5c65d75f5df7e200cf54749c24ce8cc490bbd62d9cd6deb7b3bb3e2bb8b3de3b316780f38b7128139c69faa4ce469065ce28bffeabb04035a58a81da7ff74ad888fce6eb46ea7cb9e1915a42663ea8ff5f754bc221bbc66f43da93756c4a8dcb11389958399f3d8e2b6d397b0090907 - -COUNT=17 -L = 2048 -KI = 4be2d96e31bb46c34f5d9721fd8f2a6bc12029ce51e858bb35ce507aeb3c26a7 -FixedInputDataByteLen = 51 -FixedInputData = 166c97640e8ce80401193b7aa7a55ae0092d531ef76465455a07bd6d7529ce481719b4a6136ffa7c0390f9262b2a79a8374914 -KO = 69886b03d6ecd197d3fc244a165b8cce4f2c319414830599a5ada7a0db9a3cac37ca15a0fdc61b6744278e0b73f9136c8c8ea071f27181eb8b2e376caf999eb7cc891acfe2fa342cc7c08f53baaa3e8200182fd128ea06b09e39a3252db1d9cac9437f74b455105f3ed5e3f8999a5e98c597ae70e69eb65bfbebe37d2f6990173add05095b719638f9a2108218bbb234a89b4292c27c53216d3daf8a44d17bc6a2586c5cb3813a8b9830568bff0d0ac445f3030a2fda1f66054de3449f8b3a3eaeceb9480711e7d2fa6eb1b9e3fdb712ed5775f7ed77b511a023edb0e6fc49a48089b7ed0946b4ace3d9b22c1630454e11a6ae9aa9609bee156105b3f0dca041 - -COUNT=18 -L = 2048 -KI = 6d49d27dafad7bc6b8dadf6754d66e7168b255f7ad4d6a7ef41a9fe017df1fb0 -FixedInputDataByteLen = 51 -FixedInputData = b7ef5e696d70b6b709b1923e21b5c64e944f697bed12323a8f38194e7d5de6d60019c661d47e709bd7c10d383594124201d2e2 -KO = 6d1c7e523db0a28f772ae5ee3687c25a833e290d7d16e8f10721c324e8e53b878791005e7bebfa25b8121bf2efd7e3e4e80cadb5a0575c5bf8977d71a353ab35980c5d26e9766d4db088b692603edc5f64eb980e51e01c379f4d3b007f151ca691fa51a021dc7e0fc5be7ec0a056223de0385b233abb4dfb4f51d879591cc4f86de36e0fecedc2aa9f138e303cc7eccedfa87d29261884ee661027d4a1c5d28e8e5b14680aac8fdb9b65b287e4c19dd7e5701ac23d89daa9224997ce13d2bc12c57397f8b85576b1adb850e210ee39ba53d30b0ad1de7b91c4aa18031f92e7eb8f773f0b0d81e32f120a0fdeb8b9aa7278a5012c2f2cb1b5b310d43c2449a7be - -COUNT=19 -L = 2048 -KI = 62dac02d2c4392a4ad4319f8f69f25642f59b4bbc587ef7400134493a8dfa0fb -FixedInputDataByteLen = 51 -FixedInputData = 334b87d4091b2583aad24ae22c44d64fdef0aed458de3680ad1b0e071f94e9eb4e9a7830f9c43c6914598319fb0f8104eaef6c -KO = dad433a0131dcaeb8340931588eb07be6ecec2e13932c6f2686baac3ec7f331ca066fbb1451c36e674fa5e75bc64b48c81a6f538de429700160946f032c4f176c705c7129c05610e6d57ad6c004ab608a1c32a03d0467dc73312f910ac30e5c1c4b71ee23e9615ba19e741e41009e6107b86bd7a36f3516befff3e48c87b282deec9d60a494c8ed393083dd5d220acb522ce5d9c8605930edbb9654c5941cbae2ac6b29ccebd537deea1fe13c03edb5e10b389630a2676fd611503e3071b37efa27feb24a6d852780357070fdeab26e63fc2023bad46322949794afce3b536b52a42a8c708d63e5404d571d9e481f3ffd3b7291b2b5e74f16211f19b998ba17f - -COUNT=20 -L = 560 -KI = 5ef93fbf262f41229d3c71732b178069da1dab9b07cacd29bdc93bf9aa37a27e -FixedInputDataByteLen = 51 -FixedInputData = 0176ae25a9c344b3fa04da0bb3915f7bb8b8fb2778fe8c4502e3b850864637777b832fda2f37cc5f798fe9ee12e87749071cf0 -KO = 1bb7fd72fc2a8a3891f216218db7d2db94191dcac28a3efcbba03ce6b7c36265d6a3e0a1749fd6f24f37f5bdd2b16b6f55429e525042a4ec8eb5832297cf7a4062afd28f7c2e - -COUNT=21 -L = 560 -KI = 36284d4e7bddc01a4d09e50194a016c865ed0d935c6fb3a9b756a4f55d17f48c -FixedInputDataByteLen = 51 -FixedInputData = e515fbe6f9fa0236ecd59a63c616ee1714d29e618d78a3845949f700ca857e8a6d6d4b5fac0cdc76e883bd067d36e9aa9ec5c9 -KO = 2f8b1f540a3c7493b2fe7131d358bf951aede38d2588e478d5f4c35486861c799236a613524505439b9c9017be386f26b4b5327bc619fa64efc29f0b789c584f5360cf4c8922 - -COUNT=22 -L = 560 -KI = 1303e3de97855f406d2c64cb64ca1778e50a502f7f75e30eb5fd1293f9620762 -FixedInputDataByteLen = 51 -FixedInputData = a3d471f74b234bfbad6f42db6cfec069c4f607de56eeb70f0a6002063fed0431efc1d48e58fac17d58c7d7803a1663dc10c79c -KO = 4b2a4dd9245508c0d307a60919701715a34f3dcbe760f1902b11bce33d44c0bb95bb92655604b3608ac59d9ee7b87abde7576787bb49d4f8bd4abda83f5a092134b3dcb2d18f - -COUNT=23 -L = 560 -KI = 3688bc0759eedfccee0eab208c638e913b8d24e7393dfb87bd467378f032a2d6 -FixedInputDataByteLen = 51 -FixedInputData = a9afc2eae4b5190ad433827506271cb4e2cc8d56e3292602605605c9a042ce76824d97f0c3a185aae780ac8cb3d3149db22102 -KO = 5014778a43903cd5ff84903ade223a05ae9a0e4cbeb34324a3c16cf287d846a4d81c835d9a7f46670b193d791e45a6590fbdf1885bc3487abc71dc10bff0cd369f8415be94ed - -COUNT=24 -L = 560 -KI = ccfe7309590576e1225c13c736e270c67b2c6454a09df7e9ef4a56ef2e08f589 -FixedInputDataByteLen = 51 -FixedInputData = 66d96860da01f3559ff892882cb2eb9d26c41b4e5e227133f50a258b5a539330490124c8ef5ac5281583491e80fc0c4867a46a -KO = 9fe4a0fdbc108194b3a2061685df8e57ec2a77f1649d47a5a79a3f747c839fb948d1eb57299460897d431d5ac404ed71b73d86396469813137d2e3cb3951983ccf9cdac5b828 - -COUNT=25 -L = 560 -KI = 7c31e34755fd128fcc53e4983861a5743777bbdccff43f9fa5872720220021cf -FixedInputDataByteLen = 51 -FixedInputData = ea846e94a06fcaa79b5ae196ddbc357a4233c76506f07e61215075df78bafe37fbad5aaf47c235f1b92b9d5a9285b76e945965 -KO = 3c68ed5d143028b66b2b61a34fa387d8cf060336c865fd4f6aa9febc13f8ae3ee0e6b6b25e47e4bbfeebe25d0ffd938f2655fc1fcadaf30030d9a0845f19f4747520901ad59f - -COUNT=26 -L = 560 -KI = 5d13a459d947fc6a8f8786f6f8e81f70dd28d9774036f4ed4524f9f14d6230d2 -FixedInputDataByteLen = 51 -FixedInputData = 619b80740385d4bb77ae8dbbd956ec12e20e88a03f6dbc0b9c44fa1736d77e6c30d4df33e8224fc0dae5875488e21edd8dd85f -KO = 6c89a037caeb13981867ffebc3fb04376b9b80b9b638c6aeec86f6e10acc734334cf87bb4d07441f42ee3a3fa459500c0ff16d739fbbe16889d4169ab499a663d247fced5c6b - -COUNT=27 -L = 560 -KI = 36d3ec8a1baf9aa1fb63ba39880b055376fbd4a403de71fcc2b30b09918aabff -FixedInputDataByteLen = 51 -FixedInputData = 174a3a047093268c13522fc70919fd3d82c00a9182c6cb80ce2819dd26214931e321ddfb28904d506227706c7ea226648e38c0 -KO = 9847587eb94e5a9e25c058424278f4c1d7397bbfbee1900a2487a2f09ddb0b7f29f7cae6ce4b98e81d8675ee58e0e1a844123045ba989d661d49e36542974efc8286e5a349d5 - -COUNT=28 -L = 560 -KI = aa1abed8bbb374d720415d807ceccc9dee2c3c5462d4cfc98252b12808c8c2ac -FixedInputDataByteLen = 51 -FixedInputData = 9ef85e80c28c440ce02272aaccf09df8f373d7e2c783e9cef66a8ffb526065509a28607350eb0113f73f770bb16ef97b02014d -KO = 79488498f5f21d0e3118b23da4f805f561ca7ab44af7e8fccabeed33edce3de1e3e743c03ca6a0533db2fae755c775e9f7a9249a15c8ca7e30e0a8eba42b8cabe0378d8e9ee6 - -COUNT=29 -L = 560 -KI = 535de659081c971e795af83480c4a4e9e8dcf71828900d64576230e0c402595c -FixedInputDataByteLen = 51 -FixedInputData = 7b9a8f9d9b53133ff9e66d26a5a279bf60f27176701353fb7b459f136574c79e112970f10d6602a5b7dfee2c579b719f29c1d3 -KO = 28da488144101aa9e618b19eb6125d70613573b0ea1d9b4efb881d863cb2b7765ef47f79fe3ab6baab9384fcfc5a296bc6d955aeb3a74d3d921b2fb730c99daad034a7c8cbf5 - -COUNT=30 -L = 1600 -KI = c514bb70f71e9b8dd9cd6c577fb35755727fc2d43d74ad84647e068e97e61cb2 -FixedInputDataByteLen = 51 -FixedInputData = 4bb6cf2d4e19ea3937019ec348431c7af1256f824b3307f6197811881b1bcd9557667a2d05bf9726d63f1b5cf9d4726dfa07e8 -KO = ac06ba331f7a30d7c399c7ec71fbb5b4f68346b9452ace9c3d73173172717729b651c7771957889ca0ae86fe2894cfcf034837fd302c927c392a712040f9d70160c9ac9ce226620be998cad2d7f7b0f82ae5e3899d6e3d31b5e00425985b4ce7a8cd2d46b67231e810a4618da9a197382ffbfaf480eb7169365c33ea1ccf2ef83cbb7f461f776e7e1e523c92d0cba47ada05c4c70000f6eaef602f0cca33d24f3d58f728468eae8912c80008ce6f69f81c8e88ffe67f5ffa6bc62e2628bd1fa856e7f31dc97c6852 - -COUNT=31 -L = 1600 -KI = eff33b2e1b564146e32326fd99914facef9763754c67e6185206fa0c53fea768 -FixedInputDataByteLen = 51 -FixedInputData = 68d19362677bb8f748d5e2c5b820eb24bf79284b46d8d1645200c16e63eec50ce8e5ebed711d4ecdda9821e05b0cbc0f53bebc -KO = c44d90b975e94fbb91639a20d1fa0f6abea767cf6e957ee02cd73758f0c4ba3e6bbdb3ecae277ba6bcf4d694708928652b12c055e5f1e0abae8f0364138a791aceeb0674cdbbec5dcef730f999d158098ca584650e25ddb9cca6c692b3664947e9e8df390db12dd1c04a703b1cb9fc29b51b6b87d9fe41698c1eea4326f3084b9fd0cf167ff8cef89ea0ca2d2de4bd8e3ffa532f75bd78590780ecba273edc367b4f0d0341783d2b124fce06f297901e5db6ad201dd9c193c431677ac1c1abcf777382e778350daa - -COUNT=32 -L = 1600 -KI = f889a9af56bbc5d0d65069377816af09ab69e3da7ce5a8b974acb1e6bec8fe85 -FixedInputDataByteLen = 51 -FixedInputData = 0fb000f8ae02d09e75895aaa883853165bc6efade7d1592efbf8e351817621695890eb9ae72fbd94c9f87e51dedc647947fdb9 -KO = 37e221f67fac99258f8a2c1c94c045c3e637bf62b31ae464e0404e8ca290a4520cc9b266278b4306b781360297eab71579917a7a31073a9e26747a0983aaa68e168e1e52b9dab2ecc281e6abce2ad48e7d5a9e456f34da1ae0edf521d74313337e047343e8413a7b852985f3b2cab2674e069894f5f8c0535f8b71855e6baf147976afa1ac9340e831e13930b42605734f4bb8c2dd589fd6b2a7bebc49c3c6dc5d98d2b2f8fb02c8505f6f802d6bcf02a5677b90b30892724de8379fb45438e0d988cb938f102a26 - -COUNT=33 -L = 1600 -KI = 168d5b4e56894b44501f114147efe94c9c9422345a3009fe199b308d776d0825 -FixedInputDataByteLen = 51 -FixedInputData = 16f30a1acabc27d0380c039157aba26e84a249a5b71d03c243b3084b67476cda69690491b82fcc38460d72ed9abe972f4cee2c -KO = 8856c8c4022e2b9d330ef0ef0ff6d905f2c46b1ea640d41f57ff22641d2f0c09a6e75bc4e9d5957e9c07857fbd8b070283d20652e49bc9534dccc1204a071a2c5f964866f9124a92b911bccaf33d424239bf3c4ea83a540e938b4910215bf968760f2760171528b976a66178b3e35c4a59a16361ad61760e2108ea2a09a8417a88a89a8959bf26b9d54e62d9ce548d61ef5b1a98a45d3b12b227e131a28409e4c9d1c9fe4c2e69e77805fb6645b6a6ec6061c91bdbf2cfe65cc2d5a36053117d9a305f3edc831ab7 - -COUNT=34 -L = 1600 -KI = e9411076c9881881f9cf18ebac8e9e49e532d66feedda08489097f01f47cc6dd -FixedInputDataByteLen = 51 -FixedInputData = 92d3161134b82c9b3041ab5716e298e851d0467ec1bcd5f2e4869ed1c07390c8d89aa089e1d0d8fb35a69bd39cbd753a03999d -KO = 3634bf2b62f64ecb0dea7f27d565cb70901797ceece6729ef90ea5cd99de7313a26ce1ca7eea5aa5fb199d6a372b14c3e79c18724e9f25edef40140c9ef173f980b771a41635e379a5c15e5c60cea3cb2e728aca1ba6568d5faecb8f1f93676349901340a0ab9c76309c33b68cd22a5cba4fe4e8ff3717c0b0323ba2e5ae412189a134a91caa6b98f28449e62f68db2ec9729ce449da1dbbaacdbad22f39fcad9883492ccbc80440ab876076b1d9383b5f2f9584a6d28be801d482da89f72c5cd7ff8a0169a9032d - -COUNT=35 -L = 1600 -KI = b15cf0d87938547c28d857f5ac755d548e6910bb2d9b6727f9a928ffd04baa94 -FixedInputDataByteLen = 51 -FixedInputData = 27993fcbca78e90ac5112853c8b6fcdd490b2b0eb495325898241c2fe5409c62d894a49a966e3187c4da8984d9faa217ba8c78 -KO = ec2f282982cc7bedc85e1327d6f68a08157852706ed246b04d58832f4a274b733954ef82eebe3a55cb9e9859de6cab432ed270915dd03ea3f0a489e58898d0540986a19c6208130b48b3387df78ee35f01c0b0da42cbd2f66a46c22ccd10fe1fe79b2ef53d25cb9584858915dade19a28c1b2de5b9ed5fd0c5c48afe98bb62d5d5ac72faff5928065c6d2d3b0170b761932cbf585d78cc51652d25345ec6fddb203083c4467e3a4cb1f8dbb991801926f35a65feb57267b66dfb5ed98e09db332269946019bdd91d - -COUNT=36 -L = 1600 -KI = 4d21dca2b8e373bfa5796d83edb2c7d5adc75ab7bbb0026fdff17b8256d3bab8 -FixedInputDataByteLen = 51 -FixedInputData = e63b6f08f709e2e61b5bc52f0730e2973b71c9702d661f8a9cd46e85c08fb8beaf69c1428682767809e30c26f82f25438c5568 -KO = 196f46ae59919f853a39ef1205555e3ea012dae8c84ee592bd333b57dacfb4d2f5225c168ad289a49ee8f387cecb3d1289e8cd3ba6c3135b9d519c08e6fa4a1e7304ebac0e1cacfe0fa6008e90307a17faa5044f118256dd8e31b808b480c7f84f6e5d948256c9fb44616639681a22a8b6e9f4c91c5a8d7fd94c46288d12a6259140b9a1fe1dfc6b14acf80f89f44df4819107f943e4624c43a8e1788710adc2ab77578186cf7558ca9c2df3b34efd0d207c63d0927edc7e7ebda7b1e643f0b9568f5f7b61c0c4ec - -COUNT=37 -L = 1600 -KI = bb22cd10adc8ca1817140ffc89496412669679debd79b8937ed76ac56a2e366a -FixedInputDataByteLen = 51 -FixedInputData = cf4b575c389ec8a7a46d650cccccf09e3ff94a78d0758214b30e01c5308b3083572489140168b3b6171ca6026624a4a36f6b53 -KO = 2f6b6f80775082e0d1ba7337264f4bb5f6d2ab0cea2be775e8ee0cec4bc41182fe495143da473d32e98e03ccb49da74af1c99cfeebde3cda5de2063613a4ec8cf8d76e5629dd3f8a10bc03b4ecb521b55f22a0a21cfda7cce1a847ce7cde05fb850cd021789348b399db21e0a6af67094c63c52e3ccf3e060d018d194114d7deec4f94f56a896a01ac66b3454aa53db4ad0016d31fabc0863db81c922c3dddd5b9776bb41e9ee1d3133f03826ff8acb07f7f23dc3631d2d149a1652662ae9af036b99deacd129a30 - -COUNT=38 -L = 1600 -KI = 8796e3c33e91279a8d0374032ceb484a15af68f1c05761604569552286a980ea -FixedInputDataByteLen = 51 -FixedInputData = 553ded098e3d4a93d09f81ac56dd36b742bf873aa92df246e3b01d484ec8cd6a00c78600141b3f86112a7de414b7ab52972fc9 -KO = 9b63fe83e42d19013a4040aa18e596a2acfaf7a6f132f796a3ff9e12f6b8a5ec02dd62c50d9eceaa91550342f6363a66951ee27aa746c973880f030be55a4fa21c6d18d761b59285d5c1cb83a44611a3905c92e31d6ec81cf149ed978e24e8b26a2b5bab9c4525e051387de80605f981c3e4d454efb71f7baffe694379511f5f75df264ffa887280ede6e6a00028c835e17584016c9d83b053a784e202e46c5db4a55055fb77b7589ed3472f8a7ecf7a66f4376b944f16a69f69944d9befc8d88df18b471eb3718d - -COUNT=39 -L = 1600 -KI = 3ceccd04fd8d21540cebd4dcbf325f88ef045147ed8991d3f83e468c1096928c -FixedInputDataByteLen = 51 -FixedInputData = fd8d54c2d3a44b2229cfe015a3f2dec9168631257ec35b9c77bb5fcd4af22f3b641f12e87d5367791cd408614f0fb1e9823beb -KO = 16f837e47eac927b88155dfaccd902b801eb5cf172da9db209eeacaaeac6349f050b59f8668a20ff6cd9da3d0291983a19f98c29ab57ce3281d2fbde5e460295f7895335c12c1bd864a840f1eda0ead60f1261ed5681be37d61d932832323b32f6aee988ce868e9195987ad8001a6f5eef875ae7bb7cd569ae58a0ce0d175bccfc551ca3e4034166f4f7ef29391c639ba5aff8df8cf028b67e4cbc3bdb7e9148d4b92552ab9f853ca982ce55377221fe268c3dcedeef49fed46e7ad7f08f817c94e833b3cb5daae4 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = fe2d0f581ae674dc42ac4d8795d29fb8b8d9e364fb0dad50d7fdbe596293ae2e -FixedInputDataByteLen = 51 -FixedInputData = 2558c912cd982aa8ca873bbc9536101bbc14f14f1d7ea3b1df15a1b5a08b302155def9b5a9e71330c5877d7a23b7190e401558 -KO = 29afca6c4f46e6eb417cd880fe32f716d93fb205739c4cba156cf7cd4b8f93b813a82a6422830062da3a15d22d83c7187aae76fed84b7dc1752ace8e5e7f0ecd - -COUNT=1 -L = 512 -KI = 0703b062ef625c3307e2ed828b0821bd59e9bdadebc6b64087789df12d8c197d -FixedInputDataByteLen = 51 -FixedInputData = 5c441086d23c4861f011f55861a25294339c0d8de24ab56dffbafacf13d64fdf9d91c7ffc700a76b062046000f28e89931a47f -KO = faed673f82a05ece94dfb55275d8653b8e72802051c7480447f9fde0ebf9033a2ba718e6ca47d08250d4b3c0ee391543f3b7ef255f2e657ac9ad7875e62f4700 - -COUNT=2 -L = 512 -KI = 898ff57233dfd85567e1bc0a8c585e2a81e9f097d21af39ff4b747bd4fea7c3d -FixedInputDataByteLen = 51 -FixedInputData = cbe76a8145c30c16327da81e868f4a3b998040f43cf31fcfadb9bd13cc536e2a0845a25d6aae5ea8f09d7c085cb535d550cc69 -KO = c19caf2b37d301ee07e495d44d0a0824b570411de7ae641133edf8e421bd1b1c8e707971b27cf5b7e2284625d36cd7ef61f37c653d6bca9d1fdbc6b71644c695 - -COUNT=3 -L = 512 -KI = 39adad29ab940180538d483faae92b8de6d164f3867cc908923e32d3daad3877 -FixedInputDataByteLen = 51 -FixedInputData = b78cf8013d98a36eaf1a79c4ca449736a01ec81221e15ea31c58ca185dd522a68a1bff157cb22f26746303e95dc3c6ecf96870 -KO = f75ac871fe813dc75bc8307d6baca26cf96d67a126fb6e6fe5febdf162ed5b6c3ec434d8ef18d518df6d8458518bb766d6f0caa9bf032af9bb7668241dbcfdcf - -COUNT=4 -L = 512 -KI = 09e8e70a33ba2f3babf542363c9f70470c1aecc5c0cd138d4a0f3ea364cbbde1 -FixedInputDataByteLen = 51 -FixedInputData = fbb0424d2f13f332a28f5a95ce43fd3b48c4fc917f8baf3f7ae6141053a1b08133cbf5cf91b9289209f54c9aeb037d2bf304f2 -KO = 840fe2dd623a3c5f0df5ead0caddb8eda6a7a79088f1fc2567a3a9d22d1a48005c620245bd0eeb0473996bd67c5b50d48470c3d2de1d2a23d6895a3a6f13e5c6 - -COUNT=5 -L = 512 -KI = ec376835c8d74048ac4e6dc9257d4d9ad6f4c8ddbb51ea5e7ec5a7b2b1c9bed9 -FixedInputDataByteLen = 51 -FixedInputData = 645e0c0f405da05348f5e6586cacd8c15373cc6538a43a673b7c0665344cc78485838fe7caa824adfc94ef1707df582218155c -KO = e3f69d1e1f26331aabaa061484adf3ead7d2097f07bb5c659c87ac5aa7039517b4219a6e9b9532b57a262836e0794527a77a4d8c83648f7833c724a401d2527e - -COUNT=6 -L = 512 -KI = 0d4e7a3f9a0566bc0fdf48b8f35535c96d3d17f09367ca8ce8b11e0773646d41 -FixedInputDataByteLen = 51 -FixedInputData = 9447fc56bb842b79edc5d8f58b15cdb33c74a844a3885dcbba588af21523e5bbdeb63f1bfab9bfaea558994ca2d95b0fea725e -KO = 18d4d6cad0b1f84e35d053521b27f2cd5f6324e62522a38e81fc8dd70c87de55e1b8d9cb34d109db054cf1247d6e27bd24be6a33e8470e26fba634cf6bb5bc79 - -COUNT=7 -L = 512 -KI = b2fd60a7a52b42ad3ad897947e322f93f97005613db0e86c4d0f1cb91b0d49cf -FixedInputDataByteLen = 51 -FixedInputData = cb61b704076093b19e5f2e3eafd268ddf7001cffce0a36de17c28303aeec5eff6ccdcee6b43fb2ca9a5fb1597e133094a1f1da -KO = dca376fcf18cbb753b2b75818eb3cbd3895428a9e1b27c6d0ad1aba285bc81d48daddfdb272348ec99b420fc282c7550b5c67203b25bdacc797001a43be9b337 - -COUNT=8 -L = 512 -KI = 0335bfd82cb04a1ef4e545e7b916d6fef2bfa44f9b57c39e839dceb9f0f47302 -FixedInputDataByteLen = 51 -FixedInputData = 0af01a0c9089e768ef77705528aa550415b3bad8be844eb5095f1bec09e7a3b577cd1b7718a01dc6ab419f820da0da76e5aa9c -KO = f0f424a64a54f2ebf4816e3f3a795c946ef6a951e9a1cd56a87d5adc172927243a7b7bf70219f0cd406ead74b1b0e4aebd913752394a61d33013f07ce09e3180 - -COUNT=9 -L = 512 -KI = 7fc712f71b1abd59d752822b9675a0a7ba14d10c02181cf5be6ba5ff5d33c5e1 -FixedInputDataByteLen = 51 -FixedInputData = e92ea291ab6292b2c4231b71e8728c4f140e242f63f8a78c2f5f6614e4eb9d166a5db4eabd1eb0be7c4311e5c5e0805ce3e124 -KO = b6a7538829a704ed17bdb92a64fd5a8d3ba63655f5989d96a3c5468b390db6cca96aa793141ce7622f6cbd269c6f60bcfcdaee590b9bdb094e1e0a7d052cc71b - -COUNT=10 -L = 2048 -KI = 06e45381e9949306a36d1e77134a26f79a8555bb51fc0318f3927f7d0a912a45 -FixedInputDataByteLen = 51 -FixedInputData = 664c57ed5b1b31dd6b417a1090d7aafd729d361a2d57f6c37b998c004da040f83787f9cca393656839d99e0d0fab8ead811352 -KO = f1e14b9cfdfaaaa782e405494fa7900a95e5569ec86c25174c751b9fb494cabcf35d67d85a36d011e43ef71b308ff6ecc6adf47e2997fbc9e2962294b3ffd2eb9088c3ab9162472ef62d13ffa0f0eedb01b4afa737cc07a58167a372f2fcf5b7541825aa77f9b2ea151f75e528c9cabdf407204492a996aefd9c3cf841bf428b41bef7b24eaf6b2b47034594c827d861ef5af21fa540d0ad87bb93a6f75294d21dfae068a4d00adc6336703eaa78efd8d1c9d55ab290f28a650352d956cb7cbbca3150d6ac6c7c5a258301e21afd92d30a310b46bf20d4087104a46e39cea58a4023e6a01dff4ef30f0cecc744cf71fe404a8463ca26b4d753484de0756f7c57 - -COUNT=11 -L = 2048 -KI = 6c9366e7268c6199d2f7df8ec74d38b40029e890a79fe5c4d1962e725590753c -FixedInputDataByteLen = 51 -FixedInputData = 9924d5774acc4dab69c44109fc4982fef402d5cf56738f3877fb3a6db274eaf4265e45fd9eb86593cb488a948f41dde1e8e722 -KO = e8a020664b9c60f88b6f84bb29f08e77f1b85cb2901f906b17b6f91240edaa299c9f7f9f7c48c04551a267460bc32348a2e97cdba0e82e93171db27b13784d30430025db846285dc0167c80b36bd9351518a64b53e58a5540099e0c9a3f5668ad44f02055d757a42fc39224d04a525c6d4db3952d0e7ed9135c8cfccef4ba72a5a1771eef3455c73f358db43686fcd8ddffc916bad47031c7c9286eb2b0a3c2361a2b5bca1390a89b661dfc9fd3a4aa51b3ff9ed6177402858e6c4128a5253fd34d25abab7c51da7e2246e216ca243002f860fd5af1e1cfaa779c28dfa5345dfe1468102767a9621f66e15b3875a99011ab9386b1cf921cd2b93d1a302cc3600 - -COUNT=12 -L = 2048 -KI = ccc6ee896aa91189405cf888839b8f54891c58c1a091837584c4febd9fe465ef -FixedInputDataByteLen = 51 -FixedInputData = 1c8f9aaf746e4748e04113bb5931f8ad158c80d8c48181f2a656202e75537cf0cd54dce71175cd35de11ef12058db8fb0f2985 -KO = f7b8d0e6ee7853aabe5f91ba97b9336d067c2b3693b14dac32a58e3df6c61b2fda8e2b1d9273fc86f6ab87b03e5c088e63d90ac074d61359f916d6bfcb5ea02d17d89f905cc6dfe4803ede87176e979d7b5d744faa6b40ebf19dd2fd7a6a9f04cb758014e5dce6af87bf8a1b4dfe46aeb033ca8c3c886d45256fd5f084b5f5ee4a5b6f7cc3cd2943d3d0365a12b0e821e882fdc213f2a349ed6903e3c0856fdb227189bf7ea1e19c43b1640a2b02bafa88d6e63d26af88bcba870222861754e6bfa296be537a4f26696502efa1cb335e10f592994e0653b50e25177a5cb9f2099062c6860b5e41beb4b3941f8a6b21b77bbdbcf1d5a3d683ce3b1ec539cad9d3 - -COUNT=13 -L = 2048 -KI = 881d4df8d69c394af575992ac5fd4c51cbbcaff1114285a86c60b75673d19925 -FixedInputDataByteLen = 51 -FixedInputData = f26ecd7a56d0cbaf2a47e208d4eae491798455ec1b399e1a44edc7dc7b8163a4afc7eedf093d95ab206b13d5da393ed2bce3c2 -KO = 1c11b9358cc4b16ea1542157b339e03c66c9d1b45675e128497cec38cd524baaf7f0611ea886ea55fdf5ec8167a542b1e616cbce7600c84502273b72a21c0e19ffe22e4a31c205a5ef5a10e5b9b42708923e48150c3fc08ff61522bae31c5a7dde0822c1e07d4252575f6b0d902701f4a14755ac7f2189df46d881358d9dfff4addb51939e1c9e24bf58d034d3202f831a2c0e507a776fd8b9d10bbe0baae02f82806b0e2e7602e17fa2c5e6e9ce740e6f464be64d761e2953f339a150c3260fe498c6c43f1055815373446ab50e389783172a1e474a0cbfbb4d3c786d6706134daa4468d616613a19170f34faa36941571c9f68f19c59c773916e18893837bd - -COUNT=14 -L = 2048 -KI = 26fac0b47163012ff067fbd1c3f950e8b3f4af1cd508136feedfac6ccc8201b1 -FixedInputDataByteLen = 51 -FixedInputData = c40ff88bb8b51f80515339ec093c5cb59f64e8aed10a469226716652f1825045468ec8fb22a15c4b77d74385ea2597a8cc360b -KO = 0265c9fcf15729ac20c184cc8441738413f8bea7722ba4c0947371de296e89eda1afe69d90a8d33c69bd35065238c84bff13af77de85788b4418a5b01d74d27a93635abfdd9403c69068e3986a47d9a1e334e0f30de58e95f408c1fafb3364f0c1bdb9ce225ed3334c59814d6392d25eac0309ed539f7b4fde5cb22ab49d41a123d70d3aca5078cd5c2c2cb9dd63c5501bcfe2d0bdd483bfde38798bc0b1834c76d570dedeaeb4ba338b1dd0531c1b80a54906b4432d71b54871207f7b00bc035691c036733c8509cff6fc43e75eaf8388ac74668004b57f11c417cd4f21eb6330137e1f7ac8538106a13a61474144de293f8eca562a2b81e9d996912f6e8fa8 - -COUNT=15 -L = 2048 -KI = 8341f6a84c083dbc8b8b3fbfacc857f13eb3de79e558bb933e61ff763c08dc16 -FixedInputDataByteLen = 51 -FixedInputData = 5f8a3ca0b95cd76630c07120f5563acb1988f9304febf6d5c64c0d7572cbc1c5dadb88c0f5595a030184a3cb96aaea202f96fa -KO = fda871e9beb0d57d2c1b525ae44ea3b0c0ea0c39e5474419b761c401b1d7894def97c583f54bc5939225a40d248385cfb5af267678b3a283c8ffca5e1f2cff123f2af1a9fc17dca77886f12846cf63d34adcdada385f9e17f22b39508158eb44ec6d09cd07d9c44e4a99de4bb175ec38632713f93be55785057187dc72ae276dbae6adf71c52859757975bc14f4f94089f58452c956b863686449b9ca4a86171773aa0cd641b827222959081c5d5fad4f4ca1c9353366ca61ec9653f729908e099a794b66b56daf54b125d803539772d4cbf54e470bbe9c6ff051778ba40ba11a703a34fb4a24ae954dd445c10e3b7db00bc73eefae15a4a0a4ce7ef19689ff6 - -COUNT=16 -L = 2048 -KI = b5a16d84b3feda6305e266e7f89b34dca36cc270a6294879666320e92b7bc4d7 -FixedInputDataByteLen = 51 -FixedInputData = 465d01c996168656c97005f3e6da607bd9531fcc19367085b634eb7b588fb117a95ca8d712e7556c0d71dab8b22e5b9a68da30 -KO = 078c3db141b9a9f3d90c33342ceb6ba4d6fddad13308423151139c98e423a7fd88cc9cbce45598451ecc450270a97dd2725a7c6c6c6cfcf4c98b9989b1d21ddf575fb173276b65ded80b65dea5eae95ab1609baed04062504fc4d2ac741594b3a834b3e854186db53f3f22b414fcf739fd0069dd0833420459ec3d44346174bade2b798bcc72bb53501186621c977515ae3f3e269d22cb72282b235768f063af51ee7c6ee13458af0c60f74d8bca641fad3402a50a0b8d2e936458a30c0eed357932772dd7b2b76a85e2537490c93b41b9d2460fcc0b468979f7fc37c99247ddd2ce826d43bc1b4104457ae5fb4b173f27e1b5e582e8f363f758d07b6e855325 - -COUNT=17 -L = 2048 -KI = 0784493e2e65d16ed70b2e23baa6c40fdefef50cea633ffa7f6ac1f31d5d4c0c -FixedInputDataByteLen = 51 -FixedInputData = 0e953bf1cc6da6b926e337732a26bf0707ceafa81e082b1bcf80c22449f2dd0eb1ea23e56d6de65c5653fd09c1ba73aa4db2af -KO = 4559b5326d1b14cb747a2d3a58c898b1a9dabed73ea35e98a24a9d0cb569dbfc93bb6243b8f1aaea83eed6d9956fe74367b4517163a2467f12438560b97c65e783135240edcd6b6f3957f193a13fc545bbad4e5d293805f8f73cb56a3cc4a0bbe76810f3d96070f8abfc14dafb066ca58b71c7b51ffde9118cb6ae2574d32e87e889530598bbd42bb8b0276bc58eb5c41801b1b46b6b2fbc34a6d10d3c59c2064fe1ac4e6246a5ce711d6f3fd37a82b6efbb969dbf077b81f9f55fd37cc13830ec9af653e01a217cd241069b91bc7e6af945ba7b77e07efb35f1fca392270e5aeef80e709d5330622c06953df4893a81b51bff105fa04f183c2cfecbd8808be5 - -COUNT=18 -L = 2048 -KI = c3a2881fb3607affa441fe6205a7babfeecdb53767c46c6d449fa52845291d46 -FixedInputDataByteLen = 51 -FixedInputData = dfc48839e26a1c73680f1bcbfed8f94b47ffe19e8696ed8bac0cb389d81d89adf0e8774d9fdbe0a56cd0500dc16ad3c1d90e2a -KO = 460cd69a0191e9df4caec88e9b301cb36777ecb68c724426df6a1013cdf3c1e5239f4864055b168935aa865a7dd9c8c6b03faa09a90d8acc48a8a4ddba13e8246b5c72ec7d09146750b1fd781f36d739b0abea6a531639f6a656104c520c8f7f1e979960c11984f686ba511f14c2bbbbff659f88668becf28ff158809dcc4fd6c78602eddabd3cfa2a509fb539a7e811edfa6744bbafe69bd608c034c3fccb2e39378b821052eecf67c359655dd9cc22bf5aa2a54e557c0c7ff14564375a521e1c10af35f93b49350e98b7b637f3f452f0e07effe746a0874e195ce3d511a86fbee21779c43644cf1a76e58eb9aaf3eae7f2970789d1b79a78501dc1dd80f631 - -COUNT=19 -L = 2048 -KI = e20812bf74e9cbb5872ba7ad15a21004ad0a84c0a06090e92c3fd0982d8d3594 -FixedInputDataByteLen = 51 -FixedInputData = e97d1e7f6d49cd8050f1832a2b5bcaeed1ff6f9389198da7dd864b0225485cf04b57d3655c1907421a68c3f6f216f058b64214 -KO = 4164650fbd669ef8fdcaa14ed3b30e91756059d8938c866083c47e70060b39159f6d984166af9a1af4638016446a6cf307505400275780f7f0ee2aa91b8e18494be11010ce77246bf77fdcdc77c4c0bcf9b4f9ced955cdd0a78e2f4a902ab5d379f9f8c2a93f219c4ccde2da6870ebfe69dc5ed98c12fe5f19e836266e307a186807692bb5ddeddfb6ab906065ea234b1c33b01c728def8bb43366c3c3154df3792e3879810e72c7b963fc3a3199769974b605c1a67d89988e420e7f0bfa999736f0da2b56788b0e36046fa2547d351eb9bc00dc2ad749b95a2dbd26f36cab1f3a4588a7eb64063c0a6187124b6a1f7acc0adbae555bee6f16c3574414e70715 - -COUNT=20 -L = 560 -KI = 87b6e2cc3e36114a10e687ee10cedc1a894b4aec4af557fb3b9d803fa1e7be7e -FixedInputDataByteLen = 51 -FixedInputData = 3fb50207a4b8fb99e3751e1deb5736f1b2edc79f07b7250601cca9689ad5291672950578a87dd5b064b9c1bca8f2f2180a74c5 -KO = e8eceadb8d197600ac42584590961bc73af7cd4c190e3b3b8a4053e58a423d2b042d18e2f95ce5058f57dc7ab4b17134507971959ebde15dde382981a0819f315f3ec2f1c123 - -COUNT=21 -L = 560 -KI = ca5756383b2180723e164c9dd243cf951d61296d694ee4c1b7d5a41ba59c5b74 -FixedInputDataByteLen = 51 -FixedInputData = e13b2833c533b40304c4d2fc8a2e243ad050419a4b9fd525969b78adad51d50c9d1c9d68a1aaf9be11bc2163dbfcaff471927b -KO = c7a75610a5e18b34a7911576d8662ddd9c455e9a4b98bfaf5c6a08ca1c2ca27fff156e698d27d5bf2617a97958ad41518f569aeb5b9f50189506bf51b97527f551ac143a2802 - -COUNT=22 -L = 560 -KI = 0ffa87df1af343df9f4ccb4eb5bcf8dab0a8471389718826b54c55ed5c658402 -FixedInputDataByteLen = 51 -FixedInputData = 36f4432046abc27e53b6b180d82c4cfe425fd856c0eb1aaf4815abec7701fd15203bba6a56ebfd65446ce7eaa70ce4b84d08f1 -KO = 97fdb9da39619ac50dbb2389963d6f512f04e8fed33cedc8f74336a2c8714065e75593ff73267439447f6e932edc2cd0e850b4857796d1a911ba21aec3a0966ec69f1e1a43a0 - -COUNT=23 -L = 560 -KI = 352440b227d4e48c4e2c4ebc298b50803bcdec3d3ce3f5287bebb8e49d3e636e -FixedInputDataByteLen = 51 -FixedInputData = b1b037458fa4fdbe2fa5bf88c30e82b97a7e918b81cf190099c8bc8daf3e3ce593c470de22c0f2fd9bcb9d00321c227676316f -KO = 5dac25af61d2a3a6e12b1e0575c127ee23c35b0b78d836f4e05053b638b11764129a47d7f83e3fd6a1ac9a818092bb232a223ef0224d7592860a84966f32919ef734a9e52ac0 - -COUNT=24 -L = 560 -KI = 10bcbc2394fcd7530d67c145ff04be95ee2a687e6b3a9bbbc2883f9717b154b5 -FixedInputDataByteLen = 51 -FixedInputData = 9c96b8b7a652b933ea832ec2ef5d9ef2a724ac6f7fdfe570d67873c3a19502e0d32b607f73eb04935ee45c5b014c3e817be246 -KO = 486af492e059b5e4ffeb3306edba3fac0cac2b7a0d454d19d8811472d25bd9ff6d443221893763173a7663c35124e635cf8b821d0799cceea138d08f7ff813e9b299e47a87d9 - -COUNT=25 -L = 560 -KI = 5a2d9a7f143629f26acfa1a5a61c41208d12d8c0c3fd2531c9b5eb95e3291c3b -FixedInputDataByteLen = 51 -FixedInputData = 91938dd32b1a7ee95fb3be0f08cbc0ec5e18dc21b4fa1556ba71cc4c54dbe80453c136e333419167b0075be5b66687bf48d30d -KO = 2a25ae390916d84ceb6c7ca49613d5fd80eda1f623c1d8bbbdedf9eba7166939daaa363552793a12052bbdb20eef8a39c58edbd61bc257d36d38c1d79e237f0f9a27f5e0f19b - -COUNT=26 -L = 560 -KI = 89ea2cbc679532da98fa356cf594dbd8620aca6a83a63d1474d80f3a6f58a672 -FixedInputDataByteLen = 51 -FixedInputData = a17ff1f9d48a0bf310c1bd54c35c6ef42d93e33d2aa5e6005a1967c9aa9d454e8a05866d0873ef6d28a3c06885076355d5ddc0 -KO = d3177638cb7007011a7232ca7e8985125271e7c43c9cdcea8120566ed01d6f047b79f9ff0829f17bf419074fe02c9e2c3b817c3be17237bd46a3b0ead320e5dc90601fcdd375 - -COUNT=27 -L = 560 -KI = cb2055ec458a4d62483a237f3526101b7c5714382d2fc9f26df8f4f5d4dadff3 -FixedInputDataByteLen = 51 -FixedInputData = aa0976bb1f46d59e3406f4ce1065b8956dcff8b45577cfe21d0b675566adc8f0e0554058d7a2754ed70a8bc07754d4c7927c4b -KO = 13f5d072d8ef9cef25869478f637d7e817922c41d050cc029ac801dc72a96a94ead0f924a0c0d391707b4841399d51c56595db08a0b91066aa6a6b51b664a563ae07bed14905 - -COUNT=28 -L = 560 -KI = f965e2cd68e04db0ed6a49b380f1564a3e2727b94dde18edca4a016faf9c1654 -FixedInputDataByteLen = 51 -FixedInputData = 010d37c2b437eac7bb7525f2aa8d55cf6d1e4bfbd29a009d352d163be5ee6488f99ddc8482ad4ce82ea66495ef993acb178f67 -KO = 5210136c6553b52d7f6c50819d81c050c4e9c2ab92463fb3da587b696cac1c838c6dd7c6c8e5a8867aa0fc9131ccdebff8951fccde2112d6d2c06e7c410a26334063be4684da - -COUNT=29 -L = 560 -KI = 0d072854965d5d0722deee641119012e870d4f810e36ac97732287139cd3041b -FixedInputDataByteLen = 51 -FixedInputData = 66076fcba2a5228c61194ecc07f59820798033b0f16c3febeb28f4e5e26e6e36aca4b27ecea41a2ba4463f8b9bdfc50920dd85 -KO = a2730855d069fc8c343cdb05fbfd205ea15203de399c8316a888ffe31415c6a0bfbed7669a55d1d681542995aa71e14ec77ef040f9b2361661e56978bafa1dcb02ddc0e49645 - -COUNT=30 -L = 1600 -KI = fd4857e2d457636e682bdd14f3f227dddb3e7532409b4d841d3d24016ad72148 -FixedInputDataByteLen = 51 -FixedInputData = 5ce824e438ed2da8ddf8b02f3060efcefc6669db81c3d3f15fd1a4224363f7150bb41bbc1d2222d18fe1e4fe8afcaeb9e4e57f -KO = 7801d7987fb929dc3cc4bb4b06fe6c4ec745bf3c8ef40ddfeed3d785cfdf75efdc33c76f0b1415ccadfffe35ef8a86cd1cbc802f1358945f2293b1852ef9023bb4d19ec9425dafb3570156d0595ffb1011634591299e471a0cc4213e087e7dafbd155fcc389800c1d2797eeedab158ad8c4692d418817d3fb4b08fcafb8aba7a122a43a5929837a19f91208f25bd15f4b01315888fbbd71c434ade1bb97218dc80da606fe44fb7c105df2c5e3ba916f77eee95477e188958fcc9e033b19985105c68fb4321fd5e65 - -COUNT=31 -L = 1600 -KI = 6ef645ccc1f815037a6957d6d283b581dcad4f42951ecf9aab66e0083d117a65 -FixedInputDataByteLen = 51 -FixedInputData = 68b6f301976a240b4d981bc1775b4cb739e695cf5ad3daea8e2dd158bfa639d4e9ff709249fdb5322130b8e1af42c9390ebed5 -KO = 10f62a1b1c60609f7f1ffa72829d7967129bf65c0f5bcb880fe035272240fa809213c579f26c030e429b989e85a0b467081277c13d6e80a37c205eae16c21d07b31bb02670a25747a028ecad5c21c06828baa781871761f04ffca0a6130366dfe5ee3e02beb06b2f0c31a7b5fce6150a4b49aca8ffc63fb94c6b018282ea191024f0acccb147031a29c151adfe25dfffa2cced9a8b964e9ba7dd2a295af49582bec13ad28acfac3edf0c4a20045e2c2f03e7f34742205b323f93a0450ec63edadce054b80830635f - -COUNT=32 -L = 1600 -KI = 7799f0e126f0963491f4f60b9178eab409752703388dfbe774ac4791aa6b6168 -FixedInputDataByteLen = 51 -FixedInputData = bf15a186cab184911761df2f00253875ad7ae552c0e1f7861ea2071a8aa9ca2efdd5f92e7fdbbc71746fa211ff888131a76f36 -KO = fb49a0ed83f26f38f92b57a569b98d5128dfd6212669f955cdd0f5b645b140c352d74b2714beb6afecfb778d967549a2f4812b0651ff18d8e9b46a5e964c9a9bd604e399df01c0f4257ddc2b7c9c4e213ce090dd8cd4228d05861cdeffad2190cd06d1ef21fdfa9aad1a5c311b14995bc418489bff96e1b1c5b8aa9d377c44c191c0dfcefe89576c293d51067943b4b9191551ec28629c7c3b60cacc0fdbde37773b7b318dacaa60072fe962511c8fbdf86710ab1a9b074eddafabbbd94ac25438d7a04b1c29c38b - -COUNT=33 -L = 1600 -KI = 9c95cb42fa008e0c1d6d8ff5a2bad4e79f39abab08be08907d3120bf0d38bb2a -FixedInputDataByteLen = 51 -FixedInputData = 4e4255d0b041ab95cb158da5e9bf4f86aec7ba867e355b565dd65d0ffb605a72e9ae7a9becab41e463f1e12dad20bb05f8831a -KO = 47d02e2c84a1cf0cdb1365ad04bf3f07ddfb327daaca61df1fe1aeff9d022852106f7c3f2d99b101e404838197e183669c35544d0d8d60a5b07cbbdfeee5318cdde82f7af3ee5cf9a861054347d3cf7af59e33cbc68b6f75ac40429418fbaaf2ddeedf340df84bbf2b2a180ce2fb1f455186002381663c7229f4de8238ce29ed50063d83f20305f0b3985332a421af43665d9cc22e758045fef4729270bf8dae6903adb0f52ee1495ed2a510e6b08a9a6f9ec6b6c71a748577751d09259746f277ce57965c97718d - -COUNT=34 -L = 1600 -KI = a1d7daa6c855b1f3e274762f01545175ba0cdd8625a951c2ee5c73e3b0e99b39 -FixedInputDataByteLen = 51 -FixedInputData = 307c6c76f2a59426e2b0e7a25779723e03f52db00ff6f519aee3e34350fe48be76d842c300ba6455cb3e2f6c4a8551d44b3e9d -KO = 5670ac595e9c5142d04859966ff2d99717be18c24bfe677a8c3f4d191aa1a3f715eef269f5e892c7f208a58e06f6adb55e2b553598063855bdad30146163469942115c2f97dc09cda3777c4b16e327c24d931a587626f2d6fefc9003c9f20a421689f9909bae92da2c14e74fcd278ad0414dc6e30f829ab851659f612ca34d223e13bc1eacfb5a05a1f8873ed96a938d0b0df2520e4ee3fe077c17c1190807b43d10d7345fa6a8acb8bc6aaa4a5b4d5796800088a5b9c016e04d026482b6be20098a247f8e377d11 - -COUNT=35 -L = 1600 -KI = d2e1c9231d1dfab4dfb05f130df49d9288f8257de29831f4b06499fd80347c38 -FixedInputDataByteLen = 51 -FixedInputData = 985f53d94a1af1281b43b91aded1ea85aa54c8fd8cb7bf827d1d42ea8b9b4a3d2aa78ce6a50cde0a3025a41a3f50119ad7832d -KO = e6bfcecfa93246a1764645186ceba3cf86dedbcc034eb803fe9b7d9cf9433d5ff5c582340733802216538bbb74bc4292ae7097c1810019c8eed6128351a25da07f40eeedf1879159b67ff458b8ca5b4a9de9914960b44b4ad85139d3d91dc9bb1d6a377fdc8c7ddb93b05aa88b6ba6196d13e5d2152e3821db106e716d3d05b5527b6fa5fd860629779a55d66458984410e60e6c1baad3978f061c29833b1e18d31aaf91b8c1e720c9f881e9729f10f6e2a33ee94c5f915c2e10341d078dcf8c47a84de32c532fe1 - -COUNT=36 -L = 1600 -KI = 8d272e6a2fe619303ec3e269fc0af61fcaac9f52d2110f6592cf129256993d0a -FixedInputDataByteLen = 51 -FixedInputData = 9e8a1b588f6f2806cc4e489ef1d3452535c1c6fab243fa99ca95d6b3f92b61549762aabcb21fe9b332bc256a858b654d8196fb -KO = 2c4ac2b3dd60b3ed5ebbc6405e26c6a30a2cadcb51c263e95d5ddcd58f138505296e4604eadafc6bef03a55b7324c244679333c0ea9f909a9fceed21777b46dfc9f10facad752eb465610507352282c9e5cbed8b78ab797d4810825fe03cf86deead0bc9c1322fb656efa888795071f4c7a68058571c3d769dcfdf1f2670946ecb4e1644f5f133affa098be9731c32d091c0306880a301f4e7d89bfbaa40921e68f72e8f14c7fef72a3d7c5b296dc295975927885f2ec477f0b8a4d55d4220b3cd340fef8772b7ee - -COUNT=37 -L = 1600 -KI = ace87ea8ce9b347be36adafe1ce1aab7225e74482d310a3981a5b22e54630fa0 -FixedInputDataByteLen = 51 -FixedInputData = 1e2757b7269e6712b54ffc58ff6b7dac47679f39ab968ae1966350ff6bd4ba159a3bf37c39f6cfbd5013c3b38cb929a3f274e3 -KO = b868c86ea96351de538213dc1b4c0296f59a48761f00ab91889f0f733b9f0fefa1688c7a7341acd7f202a355e630afa551730a743e0b575d6521538025961927ab3865e3a3e6c4615c8c760c4afe9990826f7f1f83d9bfb8db8f150542d89f7a331806aec0f5936c33302cccd9e4ce2486faf8561c69c56ac1214ac47c5ffd478ea7488135e0b4063016dd2c0ef6dcc3135b112613cb03148c43aa80f0040564a3a3a72fea3b60f32b63550db28bece7925a6c5611959fc3cf96b650a69d9f6c12f65bf78892097e - -COUNT=38 -L = 1600 -KI = a952e3e9e89687a33bed514a4a26c138a4d8d5fbf3cbee8ab4a9036abaf10905 -FixedInputDataByteLen = 51 -FixedInputData = 5e487caee9c6f47058b2ac23c8f8878db10dc41a48881dc7ff7c768fe492cd9ea35ec972ed15a4b92a69553331d7f5ee5a377d -KO = eccc8f754d3163c307fda799cf604fe35ee8392f1162b7c73e68a4531c4b94c02efff70c7a634eb6d5586463504d0b65a25a29075551673bf600f03d29fc4fe15ffd774e3ac2b60311a2749b1abe0f07d9a8eb50972dd5780d434bcf0a77ffa0c59527c9421ede2182254bba61836b55319a8b9a093490c58703c0e69cd11eebfea0dd66c83128481d8e3ee22f0b5ed87d43009ed6ffb778ec7f341d208457f59bd03aba175e125d7a10168c2c9db7d6d2791426b66cd489f18fc60701fb83987e31a8cd2abe7458 - -COUNT=39 -L = 1600 -KI = 30ca099af98195db71b89120bdc879ab094695668edaee42bae3a0fd94223bcf -FixedInputDataByteLen = 51 -FixedInputData = 0d220871b3cc9d249e81c914a20739591b08434dc499834b23a1fd248129bac5f8d74014f28c528b059b24a1b6c5437d01a2a2 -KO = c3596fdeaa0f1b7aa09d5e9b285567d475d289a8631aa3792e3b1801ae1b832ca5d0b2008f8bc1cb136e1fc8acdeefa4db1875f58d56d4836b93e56fd56e3f62a97a6ee2b30b1d19d0e4a3dc4d718d080758b786da3d99db0de55a36fad276b5805f97d513e60109e8eefef7d39e73b52df718dbf038e7fe04af8ee36c2a1ca8f65f20d3b885ca850169f3bdbe18ad3c8f0b5c039f996254d1d85f50cd12c646139bee7fa0933b3ffc8f803f386641fadb2165ecb1dd4a88a462d526eeeac240f922829afa486ad9 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 94450a5edfd8f17f4722faf68ae0d7a2bb725aee3b0f6502f712ada0f33a9bc2 -FixedInputDataByteLen = 51 -FixedInputData = 62100bfd621c06b107db99b1dd6d8eebd9d93f4fa1f8fc4501c02b591f54d7b2de0cbd69c52dd48c361e7bd6d88688607332ff -KO = 7fd7553297ef5b5dfa25706524296288f19abd7344b7445fb74bd33ea894493b9616e72bb433a51b7a6c42255c89ed954a0e3530fb85f8727681fb04c817367b - -COUNT=1 -L = 512 -KI = e8cb0c341dd221b41f6fd7b126eb58be38aa4ab8dd668a42d3167ffcbb1de257 -FixedInputDataByteLen = 51 -FixedInputData = 430216b32a06b20a62e7f4f5ca80bab017c2fa200d3619f51f080eba1c4d30736d50e059d3c94f8b1d8156c9b600ceff158842 -KO = a88ee612cf2f8019366c0506d3303fa1eb5515b0d3787211d08465ab3fe67a6e690e02ee7b6d978e7f7ee8448617fb76ff50ce8671c0652dfa9a2041b02e024e - -COUNT=2 -L = 512 -KI = 6b9ebe664887b5cdb00236b91c412800bdf2b1e671cf0a83367e1222e195562b -FixedInputDataByteLen = 51 -FixedInputData = f2a0cf025dbdc766e18beedb6a51c5f8f30928d014267cacd56e8d1c08755163a989c0daac5dc5cb4efd448cafcffb30fa372a -KO = 9bb835101116f7ca9cbd53c7dd381d8c2cd914244fa88663071e3ac5e2ac9cfb44e750e52adb6c33e098fe7a1b0ec234a43af9da58047b6c98b8e574051ee05e - -COUNT=3 -L = 512 -KI = bb4c80b3329d741a4fce5773a00825d547381aeb45e12dcd72f893f5dc59faf5 -FixedInputDataByteLen = 51 -FixedInputData = 434f32f877ce9892203275e00a49f1b4f05bd226beb011892431c059a45306eed24b3ef59618362feab655d2ead33815192283 -KO = f5dbdc58a81be6139ca851056766e94285223d2307c6a96692302824e879ec48fcd627ddece0e583d33c61b7bf0718f6f11e3fcb599e9023c99aaf0c966c75f8 - -COUNT=4 -L = 512 -KI = 624bebe08e2436d7117241af0dc56441e8299f8f812ae1383135fbf07e2328e3 -FixedInputDataByteLen = 51 -FixedInputData = d0885e9e70f8203dc61ab2aba5a750b0087997b8bb670c05121b1e0b41f1294ed389e16fce71d39b3fac69cff8217191e2014d -KO = 89b7689da02a852261bc0c70e04c109e44aebda8e677c0b6364813c7c2cb6c7d6d7242978b79a3c7f6f84201a7588b71217653714f855cd439be7cdf3fcb9603 - -COUNT=5 -L = 512 -KI = 38bb985e51f299bea915d5238c055622018a065762aabe2f3097ceb2761304ef -FixedInputDataByteLen = 51 -FixedInputData = e30147edbd66795ffa8117c00f73b76526bc00c50ce5d83c5d32098149ff9a218e914db1ffde270ba8808bcbf5772c7dbd5966 -KO = 3e65e548307d2f9305ac481118bece694192a19abe806548c7e842646f88790fa9171bbb769bc96fce7866dbb72fc75a2e17591b3bbd2ece38ae49ca4241bfe1 - -COUNT=6 -L = 512 -KI = 14d10b3032ae1b9be675d7f80b77d341fb7a9146d71635c25808b4cb2ed6d296 -FixedInputDataByteLen = 51 -FixedInputData = d99d73a27d3e1396870f9686d18da0c9f39a5358da43942eb73a7f69ca673e7714fde070b52391edd83d7cf6c193eb4856921c -KO = de4bc599e81db1404039fe0d0d59c228d72121edf4155dd0ae47021bb3a126e028b089ef783c9d0be6b66fd32f30ce38d6d8138144870b73e9523ef57cb9caf0 - -COUNT=7 -L = 512 -KI = 6b39dd998e24aad51c8fd5a372ac4abe75c19acbf5b4f38b99c64ec5813317f2 -FixedInputDataByteLen = 51 -FixedInputData = efbf5b125bcce776fb03fefd655c3ff4d0e06ba68002eb2bcd37c624cfa1546a040d7cb2ce56705a0e07266573810ac3dc67d8 -KO = a363e13a694b58e424f38a1a55652fd13e04021234a6606af60b5ac1a13bd08e8099bf5da099167eb8388013fa515f7a8b46d9242a8b30d3902ef57831e7ce32 - -COUNT=8 -L = 512 -KI = d7b087b888412f2d3326a5d136a6463d6fc410f073136005d7ce37f3f3cff246 -FixedInputDataByteLen = 51 -FixedInputData = 015ef7b4935a4f19d4c37a861fd554b04d0162a00635db6d6d596e88051b37834ae9cecfb8c7dab1d507d3b7a24c131fbe6191 -KO = 5ea737c11cac90add998d746d52882a6b0462ad243d4e9856cad0d2cb7a09f258f9b032a947d901aeb2a663a7f5a58a9d4db5ffca05bf82f2efad8ecfc06a8af - -COUNT=9 -L = 512 -KI = 8fc2a0ea879b8b6964ce2704ca143178552c14aaa5659a7b2adadacc89c9c4ef -FixedInputDataByteLen = 51 -FixedInputData = fa10e9aa839a8231307d465cf82d3871737c37d68205e086338cec0e3206c299aa92a9cc52b4114c821d44ee49cff03a94412a -KO = f55bc100d452146630090ca6ed5a32e84f21892dd0b0a7ddc16521ae003c051deb3073c74abbcbe47dd28d4523ac30e144c9c1ae4b73af2dc6b7035219a88eb6 - -COUNT=10 -L = 2048 -KI = cf2d54539433c970b1ec403325eb404a2d601c5c12a240facd1a184913564ae6 -FixedInputDataByteLen = 51 -FixedInputData = 58e6acfc9baf84f9f13e3f4ed4d0664c7a3d91f5a0153b452db447f3389b89f14f70f98c45ae502a504a4b4af64062121e9d78 -KO = 870f3f095d8a7aae8efea5e07b94abf9395d58a6327fc30048fa49f41dcece01d7d382da744285c095f67221dfda983d2649d1daa99d6a8eeeb1b44a3a2c2d5cc35156b4e4a8f0b316f3aa3d865780005c400432a0e19e2b31ad6dc74e75682eef9f90506923be464e7f2510e8f4ae4bbcde444508076b584fbe8256ad8ce5c395ca24f431a5baff543a06a73220e363435d8fc795f3963bc79cad19536b01dee26d800278796f4953a86365f50d232b3cce0e49be83f8bffa1e1481083b409bf6ace8c7e8048e7ed9b42a6c33858aaf1d51e0b359a0420f8b5a76e68becaa158fa882890ac6b716b353d12aaaa3f94425f6610ea9f504d82cc427643814ac8c - -COUNT=11 -L = 2048 -KI = 46b9b02ae5150dff4330196576742c983f3db23a0513ac8d0b8c2811a09447a9 -FixedInputDataByteLen = 51 -FixedInputData = 2d68470f4f02efff32df6a88c95dc7dd6d58e2650dea360338fd041e0eb8fda2a5c48dff94bf81db94a8e7c54f2e7e1cba6db5 -KO = e032b90ebda2e924d3480c301443321ae9853dfa6b4b42cfa45d2c2a0267c495a79ad5af14ce031c83494fb2c30a564c455278937a655606eefc1521657feba1822a89c5a7066f8067b90c7e0668d540576643dc54211895ece4c9036e77b37355d47039fa5e812d1fa2d1272e021b5557d69dffa5bb7abde1274391159783f2079cd7b8676079c5253c63b953b33c788f8384a86168ff2473217f1319d11017b838742d154021e87c6319e986b3ebad0084534e51843d35072f1add409a96575ac2faacc9fe73ff19eaf0e7f17783910f4f4819f510ebad8110330f5572ab300d81d97fc99373b2f081ad08d9650e10da63d3b5a06ac89e7d3ee45ec14127c4 - -COUNT=12 -L = 2048 -KI = 663c0ad5bb93a4aaec4b44c2ef3099cd3535bd0b366265a69a95f33abcd51f34 -FixedInputDataByteLen = 51 -FixedInputData = b595b14b52c52adf970a7a1fac5525ea338c2080165345549c30ee2a3dc8c7b060e8d0414d2a60074924c3e0e1a30a6b1ae109 -KO = dc10a9fb7f121ac10002582bd887be8c298d428b10048f1467c94428989bbdbd0a56111ec0c01fc562133bc4b5b51aa06c49f35ccaff7830ec1bb6221c26a5af03f3048e5e19c836c54cb01f0de1b1479928ec3fd5ad7fdd81d793fee92aa83202568554c3ede8c41528ede18928fd50dafee4feb1119d119c8c63ec428f59fc8c794f447e721410dfca8fd091ec958c0957f281dfe0a42996314f0483db7380c1e2042ece32a24c5fcd009104da6b62b9529bbe4f2b85eaaad558992d4f060a386427a6a3f5ddd9a4bfede558122cd7217238eb69a7b897b5bc6b5d6bae5268b929fbe1b644127d8d6a336cd5704ad86ae581565eb8bfe3bde15ed44eb27446 - -COUNT=13 -L = 2048 -KI = 06918deafea8e96dd126aa26c1b77f9975ab992f52307f3702a91734d8390d35 -FixedInputDataByteLen = 51 -FixedInputData = 7bd70a3bf6815fcc905d632ee3b5f8346aec43e347969c7b00db9ce304ab78c9144795349b7076605ec0e7043a6441b82467a6 -KO = da860d4b95687f1ce69d33f3c13f2cc581f0a424e74f66d08ad9a1b76a05a12cbeffa9e039da25c706a7ba46c0c6a038de9b0acb6c1cff43536e7ce5c8733dc8720170ed37159d459f46193b2a6833d09a11761b209765ad4a9ce87ab4b4e6bad07aaa74d7c9789690530a7c6521747d52b2f3dbe8277ab423a877ec25f19e3d6394055dc8ecd57dffc54c66b6158e032188c639ff54d3e0e6c35fa36ae95b6c27870d913960f243ca8eb681cbd48dea97d0072160318d8703a6ad0eb5233103d47ce782f3358e3bf7576d568e00df4997719bbffbd8c54a474a5af4710576985f2d6dcd54affe4e16273c1ccf8abaf6e56bafacec07332e716c403bed4828ba - -COUNT=14 -L = 2048 -KI = 5e6d04ee106f5318820a09683927454ee47c227e795c30f9b2c57ef8b01bdc38 -FixedInputDataByteLen = 51 -FixedInputData = a719f0bede0f0c3c29bc1eee23fc474ff79d6b55c810d5acf736ebc920542cf13a8295b9e074e18abfa87d490b8e66050bcc7e -KO = 06d84e2545fef52781804e125d306ebea0ec574f32e9f6b0e668113476b8deac247cddd175bfd1cf13729b2c0a4dc0ea6341d6f8ed0f9319161aa924c6494045ac86e4e55cb0d5141588849ffd9e1d69386d55349e50e093847b2e2216a01b44961d9478f7feadc1b5b342ce5af81687f5cbe828e7de7e41314f23bdc1ae953f23c846361c03f25cdeb1d6b98f36e588aa35683b12517c1bcf95479091928dd65b0ff19b3c693215baeb95bf2ed06dff2b4d4f0630ec74546277aad6b653b95d945b7792d51666c5aa7d7bb4dadfbc7817606991bc0805e4da6cf8d78e5d9dbd6e5b24205cc25396c790680ce3ceb4f822e65ec46a86c8074e260bbae67102ef - -COUNT=15 -L = 2048 -KI = d800da68c8f9985052588fcf43d29abe0891c11e893279a4f15436cd9de5382c -FixedInputDataByteLen = 51 -FixedInputData = 86c0e9ee479e87b80cd73894c49c47fe058ba3832b039425f6edadff5d3aa5c7490c25a934d3961dd8e518f7a668e7b70320b3 -KO = ff353127851017bed5db8bbf64f3bdf023842efd655d603b72622cd7a3a5244e3e831874de56829440893dc19305dfdfe8bfabd09231da6c3a7d65fdfaa1331c693c89fa8568dc24a8e3a0089ec907230a20cc4de4755f6b8b6a6b8590377f64e1bac0e4dbf79f71a3e1a2ae67a8fcbf85b0e38fd4597b7bf57703badb7986fb52fbe4c0f12ec1d4f6cfd417bfbc280b6851db748e63ab3bc44861d943085b74ba3dea7e199d7088ec5fae4c78075431902d35b18fc8a08f0c4fd4c9fd7690c42d3e4885b39d2a91ad86ff03617228ae8ea13fb5296639958218e7811cbdcb2d1c98891e5b53f9089121524140208dfaa02e3ab3972ca5e6af96d760585a2c89 - -COUNT=16 -L = 2048 -KI = 1460239c1ea3186abacc92454aebfa31a6f86adccfe1e7004095621ea07d7d20 -FixedInputDataByteLen = 51 -FixedInputData = 78047fa7844594611d33361b9bb34f0e0856ab46202b277c2e8fe09319ca7536597a4fe0df3690c1f1ea62f13cb80379bcc530 -KO = 4b7ce8da1ff823045601b136aa85b13aab2a60ba38c99ab6be55064950a23ce6a30acdeae6edb3129023975a7bd997232d05973812bcae931792101523578d755b360f4c1837cb73fe1c7800451bcb07dbf1c350403b2400daf071d618e6c5d7ab5b0509f07a4a668b8fbd0894f9fa5a8aa9b07309bb4d58d82a96debe417c07fe5f2edd17d9a0d4b8b488be997508120286623e7b75385fe328cc0180b8e618c4549182176928c8cfbac922626a373f44432adfd675ceee6ff5e41bdebbff96e311a454c98896315c4ee0c6fcf373ab5b603309b3ac1c1bf67a8232791dc7685b9d41ef7e246dcc0be8c2be0353dbdf5db35e5951dac77c68a82681aca8f09d - -COUNT=17 -L = 2048 -KI = 907a9286317a97cb0b08a4dacccf29b396d5f45f54a52fd0a0651c9050d7531a -FixedInputDataByteLen = 51 -FixedInputData = 379d72fa0b1efc62ee8545af35c0f513496b995040f16fde43572ffa7e96f05befb153cb85c42bcc170a41acd2fdb6d14ce726 -KO = a732c95ac403bfd804a02ecdef48eb641176664538642a652a4a0e910ca4707d92945b69672042b51995855672c6f0d94956f88c7ccc34b45f4875771a5eb2abce8a29f394ae1c721f28493c14adfbdf1e9a281de03d4a0332032789a4c1703cc1238751a62bff09ae8ba955b7753d093e785377c390ec7d120e72039e896866c600e9ea752ea2f0dcb49639c038cc0396a39fadd9426adfe8d3da38050bdcdfe49dff2d6fd5713e01f8525ba89f5da22ac777e8e698ec890d75cb0c60a09415c20107f957be1555487501a2c51f0e058d4b15af30e35e334cf22b2e5d07cdf18dc575da1c251cc4945f48a38324c3d7f1577143b4c9091f4de1b0ef401c2090 - -COUNT=18 -L = 2048 -KI = b1f4565ccd2384502a672ae50c24266ba9ab314c51dfa759d0b31fc92cc2e38f -FixedInputDataByteLen = 51 -FixedInputData = 6e9458ee6a9050bcd38338d4c150964a14839d944606dd8d76054aeb50fa8dcf848670b6980aa977b1e2ef96405a9460e880da -KO = 7dc2b1b9d553ad8b2b510e8cbf7343c23c17334276f8deff18539f6b4c120771cea50cecb59f896892efd3f86b5c2d1b937c8dbde0796e4a2386a79d4af2b5bbafa9da6688dfc6305959a0030ccf188627770f1b7bfaa084170a42e87be569798ec6d9e2d4b315901f436cef2a2d2451bf5aeeee82cfd2301a9efbcaa1a20c611b2f082e627e41da1918deab48e12e9bc12daef99129142056313065f5d7a9ee0a8614986e91831ee9a482b2e9168bc34f8d02479bef3fb5bdc4a7772ff6d415a4d18db89e8774fc9b733cab5b587d223e81ef9397d7d96f6789773e4245126f0f0c3c2f07ef3b11ad712c298d64f822f1472aaba6a814adf07bade0a153f9e1 - -COUNT=19 -L = 2048 -KI = 5728645b227b12ccaad478939728750875b1e63d86708b27ebe927aa44a54484 -FixedInputDataByteLen = 51 -FixedInputData = 390d9f03e5057ce2bbcc67834828e25c74b6d9976e3c64016c90f3eff08dd704e92e4b74a28800b323588b2921c299f52ee74d -KO = 5cb41b933e37d7aef0f2b82f2c89f99cf9e19b34fbfa2542becc67236e2e28664b3261a761f7d1e4a22e403f174b3f1564d6eb041ef89c380741f80eb874f8dc115e53472cf27c41a6828d97a8ac0ae5dfc66f340796fccf35af8071884dd4bb328eb92f278560c5beafc07cb79b27cbca528e7e9be9da200b6981acd51f3fc303c0997bbc578969630a290565cecee13428b4892574c426467888ad5738390d3b57ff59387e735db55d0c0d2bb769054246612c2ab388218301aab1458c9fbc1305fd4ede4fb22da16ba2775c70d3bdfd29237b4edd500f33c7e60427b10cd9692e3f49db4d4bf5a01539d0688f024dc98721aca6dc00aee634e08a68418771 - -COUNT=20 -L = 560 -KI = 14fc792824cda67158bbba91d1294197504ab0c6b5f20666700f962e133d14bb -FixedInputDataByteLen = 51 -FixedInputData = 8e55d2d1ef4f8bb5e0d7d33ec2736d104a7697505a6c56e334950a215adb84b7d877a74b6e1783a5d8b1a4d3c848f6786098a5 -KO = 02b86852412d63315004b81792bdf9e2765d5c9eb3ae0f3f7da18c2b9a9bf9e47a059cdc260100a166841c5f9ffd8183fc7b4ee378696278b884c3cdde3ffc9431db70f5e363 - -COUNT=21 -L = 560 -KI = 31f6bb0095f4f1c5adbb11a44d0c94d18be66bd181002f235f176c4a5df1b2c4 -FixedInputDataByteLen = 51 -FixedInputData = d223368c8a882068647fb906998c4ae002af1720393db48a0c783b62313b97d55c10f511ee188ca77a4df9b21040a3d4b670c9 -KO = 951c0ee7ba1953b079c43c5749906d3feb02bb75ae855bb5c828f9f0a25db6ca14c930c81add4191f11afb9b0995ab21ac251d72fc56bbd449efce6d3a698ffcf9dd34716366 - -COUNT=22 -L = 560 -KI = ceb9a7777298863c7fffd2fd0ebf03bfb0accc9d2b1c045ca4c929165c5875d4 -FixedInputDataByteLen = 51 -FixedInputData = f5dac584f63113c705b71b00420f4588fac7e24ca2674f74a273016977697e3c2361c039d92ff28d899c77acdc98cbf5773a3b -KO = 268da92f46d6ded64cdc64b8b7852e83061839b8e58a53891e45fef2bef3f506b1b0618391e5512d5403e7fd67c48983081c0ec04d8869d1f81f85844ca82266f82359d0acf8 - -COUNT=23 -L = 560 -KI = 87caf710bc0d1821bbd1ba078c44277ab51d438e5ace78f06fc9c85d0ad6fc32 -FixedInputDataByteLen = 51 -FixedInputData = fe6d00554ad5ee7ba3ecdc730309dc8b0719eaf0eb9ec5cdf3caa7f70fe0194f04e7d0a4cb205499714df1d2902996e9d2c55a -KO = 974975f239ad611e3790809c12f6768b4245d308267f1e44c36d4dea0f2b259b7cae9f338c57e46258534050b50a2b9b52b5227f9578f5cd8b5a62bec8ec155f55a3e41cee11 - -COUNT=24 -L = 560 -KI = 2264675f99d3fcea5a72defe9fb0ced39fdbda04a979185f63e5763415d12349 -FixedInputDataByteLen = 51 -FixedInputData = 60a6542482aef2bf3266850253d0ca88994d1e68d5d9866fcad26f16603e8aba40916390e315f8963b07a5b6ba5efc7a510c75 -KO = 9d94d011151891d3fb3101c294a8b97ce61636eff0ccd489039924e7669e8756cb5c3d5b8fd7116d5d8b0bffda4e07323a08bec76e9560054a82d8b0f3a70b43b75b24d88fac - -COUNT=25 -L = 560 -KI = 93488f397776a22b0e7529d19ca99116c32d7fd0dcabc37cdf6aa8d85ddf273c -FixedInputDataByteLen = 51 -FixedInputData = 5530c4f7e8f90be1307dffad7c224553886ac3228150f884857f3a04db000302cac9111fddb6266efbcf1857f149e1b827f505 -KO = 8e6ac29d20b3ba186067abc247abbabd6e066431bd387c1c1b10af5807c586188dc9b9241c763bc112c048666c386dfa47a22333e8b557af1add0ab24918547794652449ac28 - -COUNT=26 -L = 560 -KI = 9401d926b3ee30f94a1cd5811699928e332c04999c28f9b4e9246aabc549eecb -FixedInputDataByteLen = 51 -FixedInputData = 92c519db90c22d997ca893cd6087dbffc9134f0d2537f14a10ee6f5bf57479d3b376fb3cc5f6d31474fd84c9999f9f0c0f87b9 -KO = 01338597260b7ff627b44ed4395e9f2767bf28510750b5f21a7cea0982fbbd549f13cf0aad06ed90b571dd231d104077d69a3e6edceccc54fc41b36886d1072d83238e281f05 - -COUNT=27 -L = 560 -KI = 2c565da86a9e26ac4346aa8b5860fb5a31af7bda3c47ad3c79942425f8b02742 -FixedInputDataByteLen = 51 -FixedInputData = 8cd48ca99229476ed7739f078189da4504b4c15c1fdee127df436eb511ecf0eb351dab39f3bbee836f69ecdd632fc8f62dbb99 -KO = e72db12f3d08cc36868f81b1cfb10739a7f554327a73cac07f5fe692039ec4f496989453413f52174ad1fb302ea20601f906e358e1c590dab9422b842159429784b4908ee75e - -COUNT=28 -L = 560 -KI = 0fcfb2cb2fab270a92bf4a712d9fc0b41239e5af3e5b77d573ba467e567fd077 -FixedInputDataByteLen = 51 -FixedInputData = 81d29930772627dcd31e59c4fe4a0b3c3f2550e2ef107aaa6247eead2f6d872c8e4c407e543041932fcf53fdf9f7aba2879a14 -KO = 1a3be3141ce77ca0066fa654c8a5bb4e0729b14dbb4434d1036470196c1b06146c06c71b136897e684a530db7acf71115999226309e13e8cf647adb926977aa7823853893c8f - -COUNT=29 -L = 560 -KI = 09b87d9affc438a18ddb8a4e7947938840a3be5214413806661e146eeedc5089 -FixedInputDataByteLen = 51 -FixedInputData = c1d3f2c044a89b5ecfe0de0552420d48462690b71e79926ff09f852683d4528165b89238feaf49b4a847b0fcf9c11f5bf40520 -KO = 85851aa2c3d9dc75e285ba3376c9186cb3324bacfb8e80e1517f59c7906b5ca289e5aeb12023e1f54b7bacada4636a35320e5427d102ef230d2d3defc82a9db96a81fc25e3be - -COUNT=30 -L = 1600 -KI = 1dc93dd3009256e0ce686d6e42bddbe5f97dc84de07568f157e3546f63dac81e -FixedInputDataByteLen = 51 -FixedInputData = 1918d8970c7aba7cb2d3f984dc235497b3d0e4116a1de520b43bba15c5f65fc4154a0e0377a1fe8834e462c8f52ddbef212a45 -KO = 5f8e2004f7211d88510d31901c58f358efc86820a98308540027cea75c3dfb9a96c7f1823f3990524f01ee92a8d49c0364fb2e9c362818a8f7a46754a11dce2eccc22dfd280ad34b039fcb83efbcf95a5aa743d1c8254180c4324f7a2555b6b768228f70acbca5e87ac52d9670de8a1170f1792c9f877173bdbf2e6d3e50b3a301a2216cddf01dd167160ae30ad65c2ad1186a204acdfd3143c3fd0b1b3c1e0365ec8292ba438815e4de0f7cd33da690bca2c0a29edd1a4feccfd7b1f7bc2c1939abfce10892a2c4 - -COUNT=31 -L = 1600 -KI = 21a8162e7d5f169b5f515ba0f83f677f0b52fc1a678e3f59f8ff9ec8c90d283f -FixedInputDataByteLen = 51 -FixedInputData = e9dbabf6d3864a1cd7c4836a96defc20c7a7bd9fb3cbc45ce2fbdd7d3c5d7fb2b9f650ba011a4d5f938b18a0deb28b192af077 -KO = 8cbf7799d93e70841e102cde7717457ab2509f3d998a6782e180e719a673120e166772a4ea91777c250bb214352fc26db6fd61f43f48be3f317cf6bfa933c894a4c96013cecd90099db1397000c441dd826fd692894b259a34f93cf94c0fb3f1d29321aaacc5ffc2ad0b8766b5c1227e7e344482d51ecfb307a337916fc9a8b3bd4ef341eee70bdc3f23222b6d985a40e5b86fd82b1fd2cd6682ad8d7dee44ce8f1ea2951e7e2931a2ece2b751fc08527c097dbb5e1e889b0429f13bc13aa272a93b7a5beea808e1 - -COUNT=32 -L = 1600 -KI = 4ae365f3006bfb99c44ffff8ef8e75ae8d06dffebb3dde8ffcf45a36a7f4b04d -FixedInputDataByteLen = 51 -FixedInputData = 417430a32b34d38ed28f73993d1d52e738696a0ed38818bb78cd7e673195b27bfa512d6f5c2c4187fb7aa6bdcf4e7517c76345 -KO = fc214b37c614b3d64714c93d6f786211c95bde6584dd6157dfdc14954397b301408f0c8cbcdcb073a1cd51cb6247affc8d8cfbd99fa21f2cb5f59653e66fec87dc2dab1b71cd11457b3ca6020d94e93025bd70ef065fc70f4a576a98d2f3cf89e54c5f6386b9b04e1d0894e9753144f9ec26a1289d80ea7a39df59c85c819c2b34c2f81fef3a61051504e0870445262a663fabf04087a4fa0fa165aefcd57dc48e6ab3e4dcdf5b9a9b4ddc7459e5e19540bf22aba1cc64ef74f42c66a56668f36ccb5864484ac1b0 - -COUNT=33 -L = 1600 -KI = 1debc508702371d1716782566be033be0da7dc5004e7b5a8fb312a5845e73fa6 -FixedInputDataByteLen = 51 -FixedInputData = cdd217e7e9b2621d2d6d1f81cce6e2a7ee73d55bccd7741a7c84592dd55b8d1596040ef6aa7fafc39fbb8fa5e251d214bae5f4 -KO = e9bd5b03217ca568ed47b66298fe67604dabf7a9a6af601cb84a3a3a97b90a371ee6ce4f5826bcd60b252583e1806aa05fed0838465b75de86be306e1263b2503b4038061bf7a483ee5f8701ea91fa2ccf720d27e8927acc18d952ca08b12cfda72e0ac83c91f5e70812f8d53d6fb0f83362bce0a1b56877a265cee5a5604972f81df8ab185bab483556b569add6a51714efcb5e8de009d6f026c5500b2e43d3e311fe5631c31050bc4ff20e16a9610526c44885de82b045750f6b9b2e2b4872de07f6c04c0ff766 - -COUNT=34 -L = 1600 -KI = 89c3106608a0ce05f6312f8c9fc8166511e79f9fb67ff9474a918a659ece997f -FixedInputDataByteLen = 51 -FixedInputData = 4478a5d12ce1fc85ab57ad2ca2e0c4ee24642f3f649809c65840aba882c7b0aee5bbc1d40001bb03e4e5a250092e1ebe1d7630 -KO = bb4594f0027c200af834e42add4b761b83b63205a06afe883580f9b58fb6c6a180c2e64146449c8b6fabb92dfa81d97a88941a2a4433630151dbc98a732a5feb91db4121d2be141903f01405e34b9263f4403946d9c0b7fc067e60feed60b51f0a7b861ad4369df302b1e0041955c49cbd291ae30a1b002f0b11dee1c1a6fe04f08817090bfddbacc8c46261ac91c9726bf51f18ce540f0881f8256ac495df08ad0f297d59c4673fc68cfaffeefed47e04a17552f44733b50fb844f89ea2174209240cccb94a7eb9 - -COUNT=35 -L = 1600 -KI = 1b863091fae8dfca4ad161d1a31ec0bc88d13ae71e0750bcae1e7b8ff6e683d3 -FixedInputDataByteLen = 51 -FixedInputData = 2a0963482429f85f99e671d88060054051d0f81455301594067ba848df8622922dda023fa2c426f8404505fe0380f9a4e7d5f8 -KO = 2299eacc7a95c2200a65f8614b12667a08fe6dec2dbfa77c84d8b645509c663d08e5a26d72a8ccb70f3dcb92f2d127f3955ff9244a1d74dc7db4b5e0bfaceaca6ae03824bba388e863f0c440bce727184343cd571405d7f46535052d026883530739d496af0fedebe0abde46e448adf658818a4a0ecc9c8325dd055aa729b3de18fd6ab3ff6b6eddb74a681e9e3fc74c097fd72f327c0d2720b2bdd2ec219fc2e328e26e9a8c3c0e6f021e803155a120f28ab8bc31bd90b080f635fe53b97800035738b643ff82b7 - -COUNT=36 -L = 1600 -KI = 8d0992f785daee3a14ccf3c3fab18c3c9dbddbc60c4967bac586e92455aea8bf -FixedInputDataByteLen = 51 -FixedInputData = 5f08720bc09d33bb6af970ad1d7ef05f3d1691133a766adaad4e5976bde0a47242577baf9c2cad93419bcd92b7fb9b5ba5f76a -KO = 18b446f7e5202afd2349347917f255351517b84d177b16497e5fc6d812c122cdd280571fd79ce4543ce5e956fa7252a82cf684eefdf1ab0c03c75cc3733ca0c2dabf811cf22efbe4562231901eb785f79faf10ebb4337e3be23023bd176ed5da366ba1dfccf8c126cb6f088bc2065c4b4df59ced262eceb6f51382849e544ec91ade6beac12e7626f281a16ffd26c6d27598bade5499a5a50bada24b1cdd099403024bdfd6e11b0ac3077e102652268d79e6388e489c982c30af7d56fe1b1519515163fd64c3320c - -COUNT=37 -L = 1600 -KI = 0ca322ee11296a2a6ea66898fcf967505794396ffb5f1f3ae90ffb47e67e9055 -FixedInputDataByteLen = 51 -FixedInputData = 1a4eebc73b3cd8eba8983cc87b19a3ee11b8026d07a1dc4657c9e0b98b0dd056b3665acf7fe65d611f1ff8334756aff26e3808 -KO = a000e6ce45d3518b09bf6a0b45996e0926bfa46477308dbabf0089487cb8c8a0bc00b0f1bd3876b1d71639c0d43c733353dec80e0fd43a87630a539104deff41388cb477bebd82b86a691724030e37fc70e07884db5bbd515abb1e9f7118096e21c49485ace03ede3efd712eba59b534d1f51cafb6770b0e8d61c67d69783274728e749d323a718636a90db0f7f3829da09cddbcfac682f5ee7d46708a657e5f0dca8d41c66d0aff6d46b9d87f461f6c6a412dd0c4427e0c9f3c243be37aab24aff49be0cc7f9b2a - -COUNT=38 -L = 1600 -KI = 2af07244409934d47d0539e405ca6a6130546ee83bb5ea190469d9a4ff0ebd55 -FixedInputDataByteLen = 51 -FixedInputData = 54b7f9879654250ebc4d5783753ae849c3c4bb86d91b1c8ff349f412bfcc886c84234f418f5c2cfe41a5b7a8c5b0e12ee523b6 -KO = 9888648184dceed26288369d5d51c9ece61dcab60ba71958cc00ad1588efd08a670e2ddb68fc51b3ce4bfb79d881966fb0fad48249bf7c031a7bd5811d635933c0b935e73393f61bb972f8c0b06141c2f3f07cbbda51f707deffb156ac8ccd860789aa4566e78679a68877cadb05b05974b783fb39be088607ed858d13ee7efdf1087198f26fc1a854d10b70bb60235b2e6d1e550228760f0a87861ab6ca44deb479c61db85d65ff16621238311a6bb59594b0e04d5d34b4dd89f44440244f1b8e693a495693197f - -COUNT=39 -L = 1600 -KI = 9f6b418549b84f27984ca3e1cfa151f00e6722060de75b42f7c4ec34aa207b0f -FixedInputDataByteLen = 51 -FixedInputData = e225373d0468a526c733542f383afc8f1f0e34128e06e95a1f30841652d4773995a0567b647e012679db960fd6d2b642f7e88b -KO = d589c8af2e91c445c8c0e25bf06ec10486245538a29049f95857f53d4341a2542b452a8b4da7d0633a5557c91a62e9614374c02e639ae79fd7468dd049c08bf1bc47e54d98c9bc6b0443174157cc42e01061843d2c42b0003c09b42dfd558df6d4d9473c0d88651440ef2dd96fde51f857f3eb95bdde5472d28c06aa1c27cf6d032f1d7cef0652c752a4d0daa9fc4e1e69939e8b3fb727544a97ea80713840f18ea380d75414051d6d8868b9ef7de0d4924164282990238c556d6eab5f18e57ae41a3ef12d2522f1 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = c98ee61060f4bfd73806de21a1df2bde12ad2edaed4e392270a18a180febae04 -FixedInputDataByteLen = 51 -FixedInputData = f6f230cb0fa9392ccdac5c9d916bc2658660ce5ec927e393102ee0cfd0dff5152b856c3ecaf0cf1b216d5a0e64b2fc135e49e4 -KO = d22758e76955d90e0d21b8d2fbb56c9b624ae0bd3642a7a49938e5612abca08a9603103bca1f0675ee26c4f2cfd9949377dfe04807f58e6cbfd51259c05e83d9 - -COUNT=1 -L = 512 -KI = 12a7df1d3b65a24fbe5e59b9e510575e522cf76b26f4127317c5ce56a83baaa2 -FixedInputDataByteLen = 51 -FixedInputData = 8f3e4a799c25137e50024916c429da961471ed121bb628550b7d1abbd93c1ed57a670ffb0734fc401db4b74fc1998e22b5255d -KO = ad9b8dc5cca0c245dfed2ca84f6ee1c76c5ae2498fd7c9af96ab168aa0cce008a440c2868199cdba8422e94e15d6a073952a44b0051fe00acc97366026c1eb25 - -COUNT=2 -L = 512 -KI = 19a198bb97bdf2c8a72922585032a2e284c0dbc737fea025d80ad1e3fc38d302 -FixedInputDataByteLen = 51 -FixedInputData = 1ae22790994aa544ad5b355542db16ae9ee133bfde1f5efb33ebafe24d919c4b17844b63f2d29248e541771472ee0388f0656e -KO = b4c36d57b256536a8b4d5cd8138a04eb4a373806e9638c7e285c452c7768320f305e96dd82a186e7c1056eae3a16f042b6e6ca87d460602c1e34853b93426f4b - -COUNT=3 -L = 512 -KI = 16aa17b1a9b3d39c4fbc8591f12e01126e15657b67bfd55414848d3f5d536029 -FixedInputDataByteLen = 51 -FixedInputData = b2573cee0566284413b7d38eda1879c830f776db362413b3f89a7953d3ddcfaae47e47ec0f8483cd792d052af532b415d63a26 -KO = bcc4598e3def7dba8a4abfcd57ab33243ddd33450035904b4c68baa31882e5978f1d71350713e46811db619a48c6aef81d24961ab6f6b907bae157c8ad892c66 - -COUNT=4 -L = 512 -KI = d0938de78c5ae16de987ab5105f3b7411bf39bea558e32429cf0a51c42689647 -FixedInputDataByteLen = 51 -FixedInputData = 8a29037e9e8f704e29d3a6982ead16ff819dfb4d5a4b1e7c143a0d3348d8e9248514a996fb3a1678592b55c36b0974f6c712d5 -KO = 800ed7075310dab0e6aaf5af3dd7c111186f9d16688245dd280a94f87531fd1665cf689a3eeec6928eab8ddcfad26fc3cfe640fda19f124dc0834622cd491197 - -COUNT=5 -L = 512 -KI = 586299d63e4c56d08c79fbc08071ae14e3956bf46c52bdd59e31e4d663efc326 -FixedInputDataByteLen = 51 -FixedInputData = 30898bce2305cdcd3816e931ac08978aee290fa808a5c829807ac86e08dd98e1e2be2b93efb6fc560655d1809cc264c201ba45 -KO = aa40944b8c1c023bd5e9668309c4e5ba05883d23b92e806fbe0464901ab4ab5e8a49471ebe303990cad3b475f1433a2b0e8ed483aa1e660cd595e4c3087e48d0 - -COUNT=6 -L = 512 -KI = c5735b1fb765d5924f4cb8232fdc92c8ce0ad7fa98a7b82e5b3ef39ddf6ff679 -FixedInputDataByteLen = 51 -FixedInputData = 03fa987bf5b796b01bb9d51ab75f5a6a7bb760b752b64b0d826da3dd0ea8fd5fc80be15f47818303cd7256e5ce040627ac71f3 -KO = add71abc17be9945211f416db4cebb4cbfa4d8f709d6944494a4183b6bb6e5e250821bd6696db8cd653f47c54ef877647560233e4a4d1fd544d1ded9c9e860e2 - -COUNT=7 -L = 512 -KI = 036feb56dda82072b47f54e2ac40594276368153cadc59e45314479c16f0acf9 -FixedInputDataByteLen = 51 -FixedInputData = 90ade52c5309df7768d1d4d4fac0e17a8c14667278e921a80e53781692575c2296f7ad6f98b6de245adea29332aa8015a63429 -KO = c6efafaa7c71eee1bf2c12f4a052b96ded2a48ba943652a9af520adb30de4240d4347b8777f20b09c13804216db36b102cc2d375657001d5fc82e73d84934952 - -COUNT=8 -L = 512 -KI = a3c33fd2b9b0cd7ea467a36475aee1260c5c1693ff0ca33b307ffd5197ec4e8a -FixedInputDataByteLen = 51 -FixedInputData = e04f9f5a8b339c4dc939665cc55969336883514a9e71264db34167a9f63937da9c82080e29ca63fe1348024e85b99989fcc488 -KO = 103b8ff67ca34826554e458f157ffbc4c7f28f6cedb2627c7d71bc5324eb5bb595219c0c2249a00c5dd329a72eee4634431d5736e6712b954d716667d5f37c54 - -COUNT=9 -L = 512 -KI = 9f1ece3c117823af6392df995de4500c3a7c94880c8e4ea45ae2daccd7e42465 -FixedInputDataByteLen = 51 -FixedInputData = 11a6a53e8e556537682cca4f1e89de1c26e6c95a414331bb5fe2c3f7da4a552e8d05a8ba61806a9ff9ab9d96a5ac1cbfed96db -KO = c578c5cab3d1f87a3480eca3dda90055f2f48cc706f096f9f0e2b0eec6b261027ae6df82a61ac63e8c241af8c11c6f1131a17646aa21a5b3c6a6576e35a22493 - -COUNT=10 -L = 2048 -KI = 41ee172fb5da25a7158d67b662ae439dd1125c3e801df4efdee27743d68fe225 -FixedInputDataByteLen = 51 -FixedInputData = 9d85a932d3780de7332472df8c20b1974c7d3a2c06b1c5481ed537b4a440bc0bd506293d2a870766ef56901f8da94d4bde012c -KO = a830a8a746b31d8272e3b84b6b470359c0b7b222b477b6f13aecbddcaea5a4c82e5ae58aa0d176e588a9b97da9c183b4b1b08d9472c56c05d47d9d10eb25200eda469665223e4336e23cd0c145631ae23f6f1d9f7ed799f42226dbbe762435ca3696cc5c6ad5141543d9576a76bc44fc0274bd95986286db8ceaa16585724014958af1eacd68a04be77c343884667f751c0245545d1b529c04f30423970279556798fae3bcca1ad73d53f67d376a2512638b3a31ef843f1ff0f64b23f08c70987b13cdde72e74dc5a21cf9793fae6ffd7cb45992567a61abf83dfd6cbb2b80069483394354b95162a7441aee9876286d6dc1802d857f41af88adc3efb0b68f78 - -COUNT=11 -L = 2048 -KI = 0d81e5c865e0b2e352482d59556a49a1b274c6f71ce1c490d1aca68322e361d7 -FixedInputDataByteLen = 51 -FixedInputData = 9abe559150a5b3096f717f46127630412f5da59f6d991d52f94accde3e367d9e1ebca25ddd1ebcec7542ae4036225fc5d41800 -KO = 8fecbf6d2d1e4b7f508f9c685fc6b51b6ab1f0f0d079ed10faee48d3af9253b2a0f820eb3db23194a75d767dd96f010997dc7454e5f3fe504a0e3eb83afca8391671969a30c4c76dd6eb05486a4242bd4ffeb428d526eea76b4bb2964296716f9fcdbbb15eb25be378c1be409d4837f32f3fa8a5795fbd368815f16cd475f9e0bb53f55dbaf6a4aa427574fc2870b3bf5f806f89ef489a01ee471032e418cc278d93e1c51cac0d8558e204c0b7f0dc0f52f610d12d4a0f30f20ec987a4eb6e51b8ce955766b1fd199f1d3cdd4279192420778df3d96b4baef4dfed6a419ff83ff15030ef1951acebf4985365117309541f3ebdb8e7a48e427398c5a1362a032d - -COUNT=12 -L = 2048 -KI = d3826319be29ed6fad3036858253a9c3b3c6a5eb62db4d9266a9f24c324bfbd4 -FixedInputDataByteLen = 51 -FixedInputData = ca1a672be0730940a5f8364eaab255a69d53b862172bbcf6e96422826157408dbc3243ce254566bb05ff5e720f821c0e7c09fe -KO = bb4e248766bd7ceadd088c5eb0d2655c78d81a63941c7b7dfde9b80a09b4fa598f71c4993cc205819b70d8bf04adc778e6e7c44f1f0ca01023dba4f8a210f7d1a119682005c4bdc162321805683ef717e45cb7f1aea2c8c45054560b49fedb635c297920560e1484dc40550cd35121a402c8c46712d63a4981b7887147357cdf1b58310476a8a47f6b45bfeb3d3de62aa429b42ea85f3845df5994297a172bb723b4a30c5efd9bba4309dbd35c23bb97f1cb2b6c570f6074b101db290e06e55e42af4f69d8e0d6845d30339c93b3cc0b49aa9e4e87466c6adc9a236a036e10e914185c8ae1be175bf821ffbab47f8b947fea6c8b464b34dbb17a2f673e33221e - -COUNT=13 -L = 2048 -KI = 0d743a38d6b661d8b69a20cf74e02b04d1a4aa7acfbd59a01b4b2bb1bedb52f8 -FixedInputDataByteLen = 51 -FixedInputData = 0934f29fdd8270e6790ab725d1a559e7215e1228c9001f48411a22f2c3d25914737af9d669730ab2674499c90fd2560ac550fe -KO = 2d3586bb60da9a72bf448678389412d8158199242dda91ec40835656ed2d207403fc0dd06b67a21a09107649905300c4c46def7a0340126d996acfb9cfea35e9e35f18a8b81059963a335cb03d0aebcd3737d30d3a670fa6af10ab58b275ecc683a7dc9b24c113542ccd696dc05b9737863da004861be6924abd988c0e3dc43dfc7734283ab20eb30cb32990fdba495c5e4f252089073d653e231f4ce11e6a1b19778c0a5c4bad1c817c5082fe867f5db1cfa70df8650216af278f9d6a25983cd63e9df6cf51c6020a116b783d8b43012e54ba1d686b545a6e340fe474d1c540511ed4efe57700b477a2fff6622b8d5b7ae08e00eef611377c76a833d2a0a31f - -COUNT=14 -L = 2048 -KI = 6a5d4f63b114cec495b8582577cb7f5386955f959fd1095e494f4e0aebaa7360 -FixedInputDataByteLen = 51 -FixedInputData = 614a7d9f438c4ebb6eba422fd6486ab5eba85cf18750ab0492b1e1848d51a83b3ff7eecfbd18fe8c49f6580c78a6308336b780 -KO = 410d12a12789f404244d745c3b8a817cf3ce0e3295cb8400b07564ede7a4ccb8a14fda628d13a865ac038e384eda87676f25adf4813ea7cb01b88689bbbe8a80fd5044dbfdef98466b3d2d667619b2ee5832971c35cab16dd2f25cc71da9819fc02eb6ab3bae24aed1b8ea1623457430f0c8ec1f3da619102210829a69703efdcbcc6ae6f4b296431671ec707cccf360c2324393c535c8ff0c3a9bd0aff24cc6f230fccc1f88dbb6f9265075ff63469fe1f0863f1ddf8a5cfa7d0cdf804445b91ad65d951b757e0274ae7494f6cb7ab37ec339b3acf0c240843cd6f54985f60e663bcec41840bad3145f1533b6a7726d741db1b044c6b65181ab6335ba94325b - -COUNT=15 -L = 2048 -KI = 877b7bcbbc4bd81487ba00dd8c7ee8d54b5f4a77c5cf57ebf2aeb69a966868cf -FixedInputDataByteLen = 51 -FixedInputData = a2ea5d6108ea1bf4ba712b38e9e77704a3ddc5ea896795eef6de12a08e6302354186a00e0963fbedfdaf34f9b035196acbd098 -KO = 2292374007edc06cfbb761e01e641a01a35cb84094ceeb8cef48e206f05436971530183651f9b9a9b30c9dd536586a64c2d8d9cbf9dde0db28d61287486aae4c54c8bfcb80c2fe6f501faff7ea5d0c2c45a4613a042144eb7f7bf6d6cf6303e3518cd98cd0270575d37ed2a56e66760ae0716025dba3a252a6f08dea4024154b661c9801e84c07d83c33220d16eb3af121878022413effb6399c57120006ffaed29873d2f78eb77361641848c03dff122511989d0f564578395d4536b3ffca36590d061c09907f837500b60cf9fd1c9b2adac922d0ffd5f87f609a4b508cafd4d3a838aa3ee82aaf754b758ac06f59bfcce4b241bdfb9aab05a0b80a5e1a249b - -COUNT=16 -L = 2048 -KI = 5602f137a2ba70c19206ea2b85b3bb4a8d2ac0d9f0e9f7792d0ef0da1a3ba1c0 -FixedInputDataByteLen = 51 -FixedInputData = 8aefca698872a8a974b6067f9e13d7af8b6879bc4108ede77239bf92450a661657e03c61b86c2a8d010630d1859e5c75b00ccd -KO = 852d6d1328b86c28c186722e60612dd81d112905751d3b028ad2931ef9d7afd5dd711ff46ea2e04a305f54d6d30d78f13b0245d95dae8ae59cfa6befad315a2f06e7a6c8a352d01b73826050b78d7a3a54161523871f8b43b125a275af0feccbd43ac10d3d9e26338db27adc94244e463d225bef1fceae0510bf4fd76d4544a5fa2c7731642f803892c98664c4c1eae6dffcfa8fd1ae579dd9f3ab26fb0077636b78b6453142b50deed7eb5c454507d1ea1f1c412b19c798596235e5965bf4dab40f3dfb4d1204825450d799230b4f93bc65ea0224413c999cae5d6c00a1f6fed05b5e1818ed19f3ffab1286ba9dc8506551c056992d64dcc3d51743b9c885ad - -COUNT=17 -L = 2048 -KI = 6c8f52dd931e0c3cf95d7d86eef29c017bac38a610e2fd754e068f82ec6487c4 -FixedInputDataByteLen = 51 -FixedInputData = fc4d8041fd5835eceae157717c9bb936c7fed01787593ad49b3c2a8f1a25ed87876fbe88b5e765a07aaa9b9bdb5172f8434021 -KO = 79abd94258fc0aef0738f087e502c60104aedc2483090b8880a7214b4655b65cfec133ed5b59cc4a399aa1ded9f9b107fcedabcc82c9e60a3b7a50fbec651b0d0012179cf7bf1e42e335e550fece5e635d14ff071d10b1dc72662d8e5e9ecc5d299943d1ccbde68c74a0bb6a182fafc8b8709b029019d13db5f9d089ff10a9edc94c67b7807e5a71d2c1f18c9d848d5cca057e0b3e749aa9ff4408cf1ab0585ca6d18b625a13b4070db3cf2985c6a6e78199b684ef1f9bcb7d4daf88bab5ae198c176e24a32d1e724f2b245ccef0874b795138ce742a6d67af2cec688155e889ab06a3908cf2d4019dfeaf0029b213c0fcc872b2002def2fa94d85ffa23d4ffc - -COUNT=18 -L = 2048 -KI = aa8fe6f7d695e4f38fb71c23f3902f2fc63cb86a51c62a2ce653b4326b6371b3 -FixedInputDataByteLen = 51 -FixedInputData = 12e4b32777db10aab10be3d45349fddd1c2ed65bdfa5709103df6144c754ba4faae82834aca2d837ee31adc833d837ce5025c3 -KO = a5af90ba6e5b052647c1b441e97df4387c9cd7ea71b680ce22729a0b9462ab76be23b896428ee361f2f7cff08cc709080cbb32b96772e39dff23e2347fc33361c3c60b1242dacb34f67a28cdbefc8d80c86bc6983a7c5ebe1490ccb5adc069157ae5b3dd222be25b42c4cb9f015dc62ad6fa869e03d87aa2ba45cef7dcb3ceec2d2081392732b58c49148e028297adb75e8011cafb08c8662f6584227934b5d37d45c139aec931bb679f56fdaa1ec802a38a27530cd7f53cb9554cffd5efb321f0015ec575b87be2b9eafd3af70f63f2c010216f5fe9eb867d6971a0a8643d430eb7936ef52df37d7b5a4308d9cb71b9e191f552f950e066b4e13ee307d078c8 - -COUNT=19 -L = 2048 -KI = a468aeacffe26b12cf730100e8a473cbf3c6a31b15a0c44942333d0d60c2e4a9 -FixedInputDataByteLen = 51 -FixedInputData = b5a1767f58e5d11d942ee2ba743ac3a1077c74567142367bef7ded3908da686b4a8e4801fd78a583452567679964cc0f34da26 -KO = 88470fcfbae79023d5bd746299e9f9f606cc3c4dcf0aadc9af03e28f2d87527d71d5a73c8541fd03b1e5287fef517afe2b0349dc65da4e10675632440dfd2e1091ceb7ee9b3dc8690f9342bcbd88a739e515ed00e8ac82a9032714201bd2444dd8826c3eefcd95c5f7e648596e684f9a5bc63dfa4a6d39a8ca2b484cfad40aaa195a932ce5d3526fa6c674ec1211ac5fde76e2c9bdc745e8be239ddd549a2b096dc014f9698c9da6e8d7493d96640105f293629ac0a20b042be59992f2204e6ad3a469b6310f190aec922c69bcac9334f1bcb2f0b4c2d5331a019b9987853171667f24af18b3e4cb93feb7dc4193b30723ac55fa6a308555f4f8989e54ce0db6 - -COUNT=20 -L = 560 -KI = ef9cc82c85d5f10e39da43d674d7fd0bb21c534c1ae74cff43d91e5ad729d848 -FixedInputDataByteLen = 51 -FixedInputData = bfe6622e54b1f45a4865058e9ed8f5d948ca4a6cfa2024d2d60c796bb2b26b370b7a40e3d590e05e3dfb8b492f75ca4db574f0 -KO = e1255864900e84693e00871f87cc35368af470bfcd5b9e01bfc551d27609a60a456c0bfbdb0ceca5bc01b2499bce9a49df725c77e60e4a46d4bce4a69c0a1c45e1bd1321eebb - -COUNT=21 -L = 560 -KI = 6c584995a2c540915f6a299a96fa85e32becd7dad9f6aebe28375eb772de5e96 -FixedInputDataByteLen = 51 -FixedInputData = 1f9bc33d7c4d46a80b7850ff947dc71ec85e00d4d71ebd88ae05eefa5fba244bb750ae93845968f72b73a6633145f766b04bff -KO = e42216bc78d70e0e69dcec6b37d906dc53c95891e3a137926f9e96cb2532619308aedadd781a7a620195fd25100a60217f5edd2ff625bec164357b606ca7cbf34afa5b767a7e - -COUNT=22 -L = 560 -KI = d6aee8e37f2581108617315759b670ebc02612c6cca45a36df28418a52a7758a -FixedInputDataByteLen = 51 -FixedInputData = b4960026b6236b3e52a52d8b92f9a1d84569ad125e795cf99101af7afdfd53173a6b460d36dc3604df0484b2a7ec7c5ad99cba -KO = ef50c442274960f6f82feb0f8be99ba0d5e34851da2ff958e5c812daa541e67fd1379ddf62ab13aa0623a78306a904082c7da61a695607b2e8e1a4723e0e09155e716576faf3 - -COUNT=23 -L = 560 -KI = c0bc884a03f02c3167f46631158cdcd252b8acadff45be151efef56e417432fa -FixedInputDataByteLen = 51 -FixedInputData = 88f8378d3d4d64078e268a31015804d0a77b047a1d20c6e8d9a365f3d5098bb5e7ec34ec7d277d9494afba4947735f580f0c5b -KO = ade5643bbceb6a89e3b9c3509e5172b205fb340d52d2cd16c9fa36c8080f0c2a3c56f57cc52ebd19d18761df1eb4f17edadc3bc001d2a75f5dd7db0bd534235785947c5957ea - -COUNT=24 -L = 560 -KI = ee1b944fd53957ddb22c284704d1f96592ab45bb08847bb04fd5e607b5c27a96 -FixedInputDataByteLen = 51 -FixedInputData = e694cfd6a96ea461b5863d0ffaf8f1481f68357fd14c0189ee3eef4cfd13ea953a51132cebae7e6a1d1d387ddce256726d07d6 -KO = 8d73073f11d11217e0a049739da6fe663bc2f1d6836b22b4a5ad4156d2e943e25c05fe899e90312932c691766518ad36b38fe8f38a53b7fbf732eb07221b2796be568eb0c9cc - -COUNT=25 -L = 560 -KI = b10a17d8eebb27e6273e4792d952f29ed95785bd8c1569b816a9df3dac0a573e -FixedInputDataByteLen = 51 -FixedInputData = fe69ecb805f0deab9a0ad3ba816efa06f9658d9525dc39bac45c4e00da9a73714623103b0fda2c6a7863707a966bad7de1e7b4 -KO = d697032a43101549c30fceb18b865fef635edba788a168429b01ae35e210a7609367c90a9c5018b22570bf98e9c05e319b589d8bbd4459714ab46e48de2a6f7ad0d753a8bee4 - -COUNT=26 -L = 560 -KI = 120da45325afd8ecc1d8de1aa7013e9c85bc73fc3cdbe3ea095f9ac9e9033089 -FixedInputDataByteLen = 51 -FixedInputData = c83512596593d3574f1c6ce88318102228df17c5be0958ea555d012cf9c7d03615d5a2fbb27ac334df6bdd75359f94f050bdda -KO = ab46e0f4c1791f692373e1138674d1091332985dc3c420daf9f638e4d63fad4422c5a076a89991ba51763d24330c2f220e8e0238dfe41d0771fb3d48421de2c7c4e91b89ce12 - -COUNT=27 -L = 560 -KI = 8ce0680575ce509d47d5795841354a437f207537c91c1bf71375e96a232ae4d5 -FixedInputDataByteLen = 51 -FixedInputData = 7145f791feaa6f486efaad532967dd46b8cac63bdd04ee2b348ddff4382744404da0de543945ee81e62960f549ae3838faad6b -KO = 2ee55f651ce2344d135afdd16baadf59e707cb723812c3c99611869da1091ed458cb774e7a77fa8636a6f1f14ca1240eb8e6047c2ed5aed8ea17a87b20b7ae50e947f9ff1ed0 - -COUNT=28 -L = 560 -KI = 68bd0a6f8bf390046c9737cfbf86b084ff3e0a62743e53ea92cc259e03ee6d96 -FixedInputDataByteLen = 51 -FixedInputData = 8510620aec0facc7976bd8ef404b33315ec7b3d8130146ebebf844f89e6f8267f268ffd75a7252148c04549d8e2cd9de8d74ba -KO = a6320be3eea83ccf083b748d8239bdf417da0c5c7888ab399c6184e0f392723494011d1f09509689c8fd0e4a89bff8e1b1d14f2a2582744640b0afc37820ef9bc4e8e5bd4a42 - -COUNT=29 -L = 560 -KI = d5d35e1a557e38bafc6caf09ccecbb941ee10151bfe24edd683def366dd17c6f -FixedInputDataByteLen = 51 -FixedInputData = 9abebe49910078df7686717a7fb541040a94254f60074eb13ee60fd8e409f0705de1c1c3e35571b4bd998b4b8f5aa1afc4572c -KO = 4f365564797be0441ec9210395e28739ea5e5abb893f1b03e7ded5d6b1e4dfa304365b1e84306c38e7209cca7f619a1f8b7789aa422298a05fa8e4851f42f80724af5ab57b70 - -COUNT=30 -L = 1600 -KI = 9633942311083e0e0c045f53849412f1b7ea11812ebe568b64c68b7a5e7c165d -FixedInputDataByteLen = 51 -FixedInputData = 14146c3abd2727b0a54f3c286020c95eadc87ce10de42cf59697bcf2a9adf963126c4e5326b62bf9e10a7be6f3c21ede79ea3a -KO = 2200a933e673389c3d4fb26b99d36b694e4fc7d44785300a2c9e0d118a9bd921756f8be3b78eb29b5dd01203c390c96287f73698e51b4b9c205f3d0dd2498fbb36984271d44a4a078d1a8cdea42a651ff76ed132ac5f26bcbe3fc68e203d9d1e1216cbf4c0e8759a707c00183ce58092eb5bb655b1339f3ac3f7212caca5f842f9e6ea50977f78804b472d33612376425d3fc35fb44159ef5411f1f1392b9e8ee679a8258d28850a96d00735dba4e8f32a84c4c665d8fb901b2424308ed8e012bfd6e790facbf19a - -COUNT=31 -L = 1600 -KI = c7f21205edae4f846f23b39453e86740d363dda469abde9700ffc46b80642755 -FixedInputDataByteLen = 51 -FixedInputData = 1df68192ed23d226c1c13acea8ac8e49243f1e7941459b99a565e98ba20e283b23952a856216725431233050cbb8a319895d1c -KO = 5c71adb44d6f66295c3011b8a2f64fead5f5e9b6808c2de5f25c4d2c8d92167b7744137ce171fc5df29456f4864d8cf4c40399c1c4bdd20a9b63848ed5c270dc33622114c237413c1688444807b1855a85168f4152b811f0f3bdc9bc9633afb1edf7c3831cad9efc04e98bbc5949b8725bde68a91f25eec0fab31508c596ba62856ab90649fdd367ff69a3a48716635af0f88fa151e6d59017ab4f4e0c05cf8b7b51dd772de18695305b37e6bcfdfe431827011521835c40d8876ddba4dfee4b3780c2847196d9e3 - -COUNT=32 -L = 1600 -KI = edccf65c73189fd60ff5349706d9950e5a7ac54de5e49107a5ef46b32857e6fb -FixedInputDataByteLen = 51 -FixedInputData = e6fe639e9ea0e812116c293632dc065dc419d84732c11cd2b3cd72ebfe45db8008c7de9789318f8abcd84395cd2e4f96e4f081 -KO = 00a0f2047b9ce6440d0bcbec0d7be1dba4c622ca9219c3fbd26857860108bbd0a6dd14495dbc0b092e066dcfac3eefbdf529a5c265be63690e580bb04c485af06fe44e266a625782e379773988379f7a56f8b5bb3c7cf56b11215784a2cf103dced4480cf70e59fb419eaee7141064d19907c04bb48a91e476e2051d42baa2f14bbb0ad96a61e6fb92ff78a9dac10b02e94e9d623019cc4c9609850727f394743d3c27496df101dbd6cb97a59e2ed1c5a830ba5eadfcaac2bf0db44a543c791c237ed7fe4ade0827 - -COUNT=33 -L = 1600 -KI = ca572cd8ed7c6acf1f78b2735fed70a6e3706f6d73e631d28b414c56832840b9 -FixedInputDataByteLen = 51 -FixedInputData = 0f6abef5533cdba2b01f5a05e19e50c610bbac0c8f41af4b7c56fad43cfa4056ae30b1b152650afb4b9f9b0ff67e7794722265 -KO = 18ae00e9191405fa30eceb920a4ea14091cb6cde3d21f5dd76a098a919528419793877a0f2925c8138964926a756adde77683be86af858701043bb3c8fa8565392bf2ad7b604fa8f606ae6e6a054bea55f13e203353aa8e49ddb0fcaa973462d93d2f8318049aca0df244316eb0b9d7f61f47fdd291b9ad94dddbe90476ea51832833989df86680093f2a180d458e38f821b30deec065b302bf20c1c5692efa560f27c26ad7af202852713831ac8b40f3efb916d43ba76494446f4e12433e78355c53722d5546cfb - -COUNT=34 -L = 1600 -KI = f9543b9f620d0b9c53fc77555f5440fc55e1471599c09037afe74e25447c7ef1 -FixedInputDataByteLen = 51 -FixedInputData = 949fae01ed578163853f176f268008a6b10db17171b633584fdc586f474c86e0d75f0fb54a7bb1f568d641a80cd53b9ab7aa4b -KO = 34be0a6f3e546bdb8ff24d627d60847f315666959f0b8396177ecd52a7ad40f5ccb32be8b35b9571037f9866af3dfae7d43b02b7b9d2f4e5b4ffe6082a9255ea4ede3ca0fa2a1bc3aa492f23ffa4e29f7c0cd3534e5ede5b13adc1e2f5399d6ec304e37c76d6c294e9a6708b2224f6e3bfe5a55709b8c4b41bde6c5b49a629634880c5ef8f3fdb7ee2699e04d1faabe4123fdc997b1448fc07f0557a44d1cdaa2d2c90bed36ee61fd113384eac445aea164430444e72da4107402e1cb06b76aebdda688f01b18e06 - -COUNT=35 -L = 1600 -KI = dec0fd996e8a76ceb66436912a6221d39a2b4df34e86f58c5886dfb0238a8927 -FixedInputDataByteLen = 51 -FixedInputData = 0d40132cb632bb765e7aeb87ba86ac345b39abdbaec8496a138cba2e3195b9e82b1ca2fb2aa15a870e640f41cb1fa8618e188a -KO = 2a3b6d2563a0fbca0912c456ad775807768749a10029c67d83998aa8fd12f587c38f9a08ffac9729a4e7c10c6087adda2a57a4b2c809b37befa30899158775870ceb5bfa294c364c54a0866b87b3ca67e1e1160fa6b495d7cf0bc5ff4d6000ce2edeb1d04e9f048976aced453f2c3b6e4db5c30e3d035d0a6121dd4dd0c16a4ae8f1816b6595d75a3bd05ac8d385700f41a46f111dea5c5d255caa3b0390833fdf161853ae64223178af226d1d7bb933bdc4a961696d65e2944897a12817c4282c323e6f9d0530b5 - -COUNT=36 -L = 1600 -KI = 842eefbdc61774187f99d0b697325a108d7306438ad5cc0d9631bfa32afa257f -FixedInputDataByteLen = 51 -FixedInputData = ba926fcfcab2bd2f558cfb86feea4bd7ab62db1dd6c7c5d4698feb7c905511d824b0b8c5fb0d7d07e1366f5368dba911e3e8b2 -KO = fc2f2d5d95a30880793c00d3aaba0a0f4d1460c91645a33f2aa7c55a4ace213cbaa36da33329a9cba275c93790e1a8a63958d5958fe65b0a13cb2b4b7a5341f56909011348ad2035277725dc6d8d0ec64764e90700148c26ced0534187c2d9753c81e78a0d1f1e63d9187a9a6e9e6537e1c5f34a20d3f194207888a2f02d0e709a19df453f5ad45b59c620a63afb37cebec56dcc1c3a4be537808cb95f0405a70dbd25aac5a37fa2dc1ac650f53efff746ff0c599f717f26be5734d86eea7c056090c807e1e100ce - -COUNT=37 -L = 1600 -KI = 873b87ff203b2b166bff861ffb8957c1ac7321192031ffe852925b9a51d8f445 -FixedInputDataByteLen = 51 -FixedInputData = e8640c127a8bbf5b49f6c2cda3adaaf60689d7124f921b30e893544eea74d80b380f5f0f49d990695b91c02e36377412602599 -KO = d5389b5b0950083b5619b2fd39d2c605a33bbeb533f0d58c1a41a10b7a2c1f7717c7540f46ee941d6994b677287b85df2bf55a5b2316d850640e9e0fc3cefb720a8e91f67a79e33f15f3ed29854c14acff8e024d8398b84d82c4e4a7bed0506065748c6325664dc23a41e9781513bef8c10a1a13fb4e8560c7b0a6238e6970e8176922b98aef3a19be6cf25ad0fec9e1c3ebabaafc11976e69a3f722f46dcc41d73fda3bc455157b2491d6fe5958cb52b3e80447e5f1ce7bce986693e064569a713d68b2a4860906 - -COUNT=38 -L = 1600 -KI = 72224979e48b706361d487daaa92d0676716c9ccb3c3d65bfbd611ea7c39c943 -FixedInputDataByteLen = 51 -FixedInputData = aa8f0ad700d1fcfab2ca2c569ce47389ab203db40b6367aad105005ed43313e004a78c4bfe94551a31785c2dfa8cf55dcd9600 -KO = 2075e6c6569f47a0261f947be30f9b7ab8bfd04e94933e2174bb9ed4f1cb2fe61f89721a375dbd04d25e6afe06495c4c6132b313c23007a0c58e14c5158fdb75b9a8ffa9f374ff26d88addf65a1dbb96f86d6a29e8bd5922cf9543fbdfdf43969ed04a944b4de25ebeb1d89c3bf3279d668565b023e6cf4c0d059756b03e49102db844ffde49fe6b768e62a99332ed7d6d82f787523067c1c6d8f12ca6e4f3f9703411e60f0736c3803538fef969cc7302e2b079c3856df3ec5a7c6d187c4776a164a9f147887c0f - -COUNT=39 -L = 1600 -KI = d9ad47f5cd5d9156158f77d0711080961bc05c53311240b7b373ee294707b47d -FixedInputDataByteLen = 51 -FixedInputData = 72f36674c71867f3c9ea6d4a03fda74daafffebe12e42407999a0d32fd6de1bf480099bfd339e484d3d3f583fdac927d75b3a1 -KO = 23e38655f18c16a6b3be12b5c2e125c536ae1d12ab9d26d437adeae536cdcd0fc8dc54699410d6cc310ffe4321fa718fc9b803194d342f93d5e86aae28d77976fa86cb6d682f65907a510a451cbe851a2bdf9ed167cc2d4e47e3203699ede4c3f0de911ab9e1ebeab0efa6edc8a7548abc103bc03f89d7dd548e7f3c0ae5a0fc04b44a73657c0ca717721746f8fb1129494dfd5923e2b4d460deead283d60fa9fcaa153c336f215cf32547a8340afb85b7252d2f1736d2549271e8ec70dfd08188cd67ec59294d9f - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 7a770083e03d38bd338c27bf2432e522780f899916ca89eae962489da1b8d98a -FixedInputDataByteLen = 51 -FixedInputData = 941bd99282d80b09e3a35232740bac4b4f4e2e641e12892717a4fcde85a1bdb09726b482521823c9808e494d02183249af7497 -KO = 9aba2ca69d890a7a98a396ede71fd36917b9d5c53c2984f58f223c317da4c628e40a92891a10e388a91fd33323d21708859fe4829d33fea4dd56ab7e4da4be70 - -COUNT=1 -L = 512 -KI = fb43b43970f053970adfc35743ed1c58711309757df1736aeee736d48094431d -FixedInputDataByteLen = 51 -FixedInputData = 23f765dfcc80c59c06a1bd4f99edd10d008dd9de83712b645e23c4731e5dbd39f63247c6933d410951def3741193b1f6865300 -KO = 446d2321747b396e1615f8e4ca9de7f6d076995284844357b2478f885e37a14b187c181673df24d377bd6cba536321a8757b5642e13a4bf558d9661b0858d356 - -COUNT=2 -L = 512 -KI = d6b413f9e86a211869cfaffbe873dd15992781e18f2953fbe9ad335351f01885 -FixedInputDataByteLen = 51 -FixedInputData = 54bf398b2351edadf653964c9dd03f0293d4545cb87a8015a1447a47628137fa474033c3d75c0e792fb944a95fa9192d1634f4 -KO = d617cf879c6e08cf72cfa6c5b661e240468a667b57d108171a8fc63acad4b3662581575ff104f1fd8edb85c5edcbb5bc7142eb9332759e42be468ea3c0ecc297 - -COUNT=3 -L = 512 -KI = d6378768d9933c77c11066fcd9a1828bca8d6b77608619cdaf1939156c20e5d8 -FixedInputDataByteLen = 51 -FixedInputData = 3199275a7a8ffe33ab9a9bd58386de1c5cfbef83b979ac0d788d57d9c01ba8b99616388804778994de6809fa407d43cef5fc9c -KO = 1f33ef9b8f8993d70dee53584fcad1aca0fb7d870723c0901aa6c92897548a162870545fcff50c075bd8fa838809a96b46abed59479205cd2b279189a76531e0 - -COUNT=4 -L = 512 -KI = 18f8a5c6b5a1cd76e2409e3f8ce72f1dc6f132eef50b3d12ee7d1ddb64c8fa36 -FixedInputDataByteLen = 51 -FixedInputData = 846f067265204c43f1928202ecac4d7c9d83baf25540f3209a580713e2c1bd602f49566a35b8e51d45ca7eb2efa0024f030be1 -KO = d43469c4c31c8b794ebd956b181a1a91733309f403b45ff17a51bf52ae369b1a648871c5a009fbf2d668df89c35949d420ab94abd939fc807b2d93a8548b817c - -COUNT=5 -L = 512 -KI = e016b92c702d702285988a31670dbc06d53aba03a56bafde7a70c1da77b568ee -FixedInputDataByteLen = 51 -FixedInputData = 06b1b472aa51d2fc99aec99cce737dd81e45082a69d9ac1cea76a8e912200dc2630726341e27fd24af36c0f89e3e519d23e82b -KO = 4b578473c885e2d445fbf02452f52a0cf31deff62f5044d0331068a5e875c2c5462d10d011117c0ae1cd0050ac9d95a67e60eb3bd5b5b917ce3b58669bc5112a - -COUNT=6 -L = 512 -KI = 4906539c9df6ac027b9f826b510a654a55b78c40b158dbace11e236e46218a6a -FixedInputDataByteLen = 51 -FixedInputData = 8a3df3424cf89cea47fac802321ce77f018f92185cf4e7bef8198d3ab3fff3e9af36205ebd3c00b2bc3b45ea77e2fb8508ff02 -KO = 80ade136afc8d8955853930f3970c1cd095a268ec40295ebae6a39feb82bb3502ba252afbe0722b62b437300034e64891255e14506df8f0a5de93cfdcec6a739 - -COUNT=7 -L = 512 -KI = 315b33cdf6e23f7ef5fe3fea71d7f2bbf969b56e8b9193a236f4cc97adbbb674 -FixedInputDataByteLen = 51 -FixedInputData = d28f6b2f1ddbe401c732b7022f91b816f1e7a73af33a8be9e2e0416f77110005fb9885879452ac2c2ed29af734792305257341 -KO = c09cec229098ff2000fa314aec440aff5bb69c46a6475c9a9d807c6cefdc0ccbb1e074c038084fc0f7c5d1070ff3ed4aebcf3926871c5b31fd16caa3cfa6666c - -COUNT=8 -L = 512 -KI = 0aad1dbf34bfa813a466004221fc5388fd04d95b0d4ab0d61e9b0d0da856d973 -FixedInputDataByteLen = 51 -FixedInputData = 349360bcd2dc1e81bb70275761dba336d9ac06ec92640bbae195b6097e6f5c06b160329b71c6e490270b5df43b3c1572ec119e -KO = f0d9d014b3bfa6cac66cbf0feac71310079e96f7dae4b413a8c5ccf59c58b39f8e920cd3ba426846b6f9ee972e7f67f2965276a8b7f8c3628adcd9b6e7c55c02 - -COUNT=9 -L = 512 -KI = 1fcc30a46ea3bbe13a6fb07c6bde9363b392e79fc52af7a9be58a7f4cbb8f293 -FixedInputDataByteLen = 51 -FixedInputData = abe38fc96f4429924aa32039781b68935bde9b96aa4a8bf8b25a66c3b28bd3115b791999c4107dfba8235a59ecccab4d8ecb07 -KO = eaa50c1568c4fa39ae0b0be8aea28a9aa6dd7f07fb4d32323fa667ab91f1a5d5b9d83d52c3802a92593dd924c1cc9cd0ce40a11d052677c9d6786ef35b44037c - -COUNT=10 -L = 2048 -KI = 39a61a54ad72f19d6fca6ec558912cfe204e036d84ea3854febb771e3edec4c0 -FixedInputDataByteLen = 51 -FixedInputData = 827cbe2167939e17d7af369427daf1f62b67c5a2803653e464d0b3d905399957af77271fb247ab2d13e94554f8be2992ac373c -KO = b31254715c53c3fe155d942dafc0128c4c0ffbea8961558bd162b6173b093c75db22b8247c65bf2f0509446af63b79e04c06bfd124d4d025d4a55b93ebc83d24d2d102bb2f96b2ef7b4fc066403464c9a62dfe383bcea855685ff839c35b428b531a0c9e7d4b43807c9585c685a382918c58554286e6794cfc3ec82d852443be558578e50c3e78bd472b4ce41f5f5f386c4743318d6ef4ecea6d61f247a3dd74e81193608125f7c59de82e535d2993673600f047becd023b0827f4ea9952d3cab6a5349c5543537c04731820b5e1b9f0aff78e33ebc02c9e5b4428ddcc42edc166bef425a9c10305baaf4c94dc8cf6557db79d04003829f2f7f7adf95367ea45 - -COUNT=11 -L = 2048 -KI = a6ae1851b1cb03ef80bcbe7acfcc5babd55ff12a6081028e5a025363983f3c5f -FixedInputDataByteLen = 51 -FixedInputData = 29790a1a0478db19be79fbd7b357edfb8014403c4d1fb34095b580c72a996f7ba8e57a8239dee7dfdcddc2bc9ca60fa2279197 -KO = e701b83c12c8d1d50814a3642d381cb1c64623b7bed58813e242d83646fab19f17cc87c0edf6d69dda3f3158c62f0912ba08b895c492785c5f122abbc639c5b1e15f2e15c34f5db967f415d255da9f406cbe5e3ee5baa7673a96b2b21ff773dbcb133075f0bb7ca131163e57cab75c99bcb20c17ecee3c7344e7b9326b8a6564e45afad55989bf0a1be406d1106f4369ca94c9e84bdc9464ffbb1f8f4fa4b6e52b13f46452b16c7c3575761401a8f208bb675ba20d506343cff5900e491b2a0495cfe8b6b29cd7f13d348ef6db1ce94473dd9d6033021564cc99360f9f8c7b288201b2cec5bfa132c3033c5cfe5b63b3afe762a9abb70d4ddde0fc8dd9e5ca8e - -COUNT=12 -L = 2048 -KI = 1ef0a76581d6749c44b22e488ccfb2aa266ebb8bd938193899f901fbf675fc75 -FixedInputDataByteLen = 51 -FixedInputData = bbf6f797cd4189ca7cf4990abf8a9e32235b9686af1f09204c4247969697c35b6f2e1651e1a3c5ed4660d98b09946a51a227de -KO = 057bb62597b5010119aaf04b4d77d3040c8f1e4023e18eea3959d39cd1f2584e9ecb4bbecb08daa0f987a1e8e36eacc7f7e966bc62b6b65567ce5ad1577d5e4547a1240661fb0ecc7afc6418e0e85e8ae340b64c966274729d127c3981bc481d993040513a2aebfa641d2688fde588c71bfeb4d37d7a6cb9c5fb9c9c4e6e8c553ebb7ef027a2b3f184f57f4962568b55d8f3d2e6e6e04730f8e3030b147fbe4208fc066f4e6cd0596c2bbf6db1907412ac1ad19a717180d94d3ccac24d52b4a91840e0d1f4c8f2152c48d44ad71414b746f8a3f974274ccb5823669a1b4806f52c03274711975bbba382dacf74b926b522ea9c41d2a0b040078034cdace9c17c - -COUNT=13 -L = 2048 -KI = bce2c0baadf3e0f85046243fdcb36db1b55fdfa8d5eafbc7fcdf17290bd6cf99 -FixedInputDataByteLen = 51 -FixedInputData = 3e9fef61f69d2fa623993e4762b9923a7eca9dbe32b30754dccc400df69651e52b14e791600d9554cf1eddbb036702cbec03ff -KO = 2b02b35fd3ff1e398c905ce50f881570d8ac7daa14da748cac51282e87051ef2ab40de604c5b16200e399ea57ac398d12614438cc50f1bcb403bd6cc4f02dbe93ab38bf2ffef0d0ea7653bf7fce8e110b4d6471217e20952172c4ca24bd07b5bbd8669a825d83583281fc1c1b94b3d0c94234b97b17559d8e07ae2d65f343cb33dc129761bb98e3123f882600ca70602bcae77b67ea21359e01bc655896b360fd8b350f393bd90c7fb27145f5e7409f3160cd58cb6aed5e909f0ec0c05f62dcccbd0970ef17964f3d7a6357a6ddea3f865f0ca71a4cf5bf70acd304e0abe8341ffe9220d63811bafbfedd2a550a5b8ebf03c94a2008035aa808830e56971f6d5 - -COUNT=14 -L = 2048 -KI = b5739e670b43ac81bcfb3f9b27cd9748ccafc393ee347a7f96e3fa7369ce5206 -FixedInputDataByteLen = 51 -FixedInputData = dadde26768d3f32a1907b87382c8137b9482a3727ea0774fa4d309622d3ac92846324694386e1a0df50bd61291c24dfc6a257a -KO = 40941025445d66fd578eab5907cfb9131c25f3e4ed94cf152b483cc51adb15de3a3846c854f8055787a65340f853849822d047959b75bdfecff03f148d30e87dac1fda068c944536cd8e115a1d19edf0296d89dd640646f727b0d4a6576ebc3ff8613fe4f1eee93a85ee74a82d0f916c9064a49d02c5ab1761f91ef6d2592fb1308104abccecd2445fc48fb55033437e6765f79f43d71a8d3da227d63cc0508043451ecf9d8a9d027be918c6f5597c3f4dc15659a074c14707d41c1426c3af4601e2c83bb2961860c902e7f6313319aecdfb00f3733ae88c3c7c5decf312673044620b1dc543793494f3922ccf0b5b1d99786689e4b4ed911762923762de22e9 - -COUNT=15 -L = 2048 -KI = f8d61207236eb55a80962953b0b67a8947728f7d2e42c975e5160b5f12b09a91 -FixedInputDataByteLen = 51 -FixedInputData = b46ce1e385d1deeb03154e75a6d99d7bc99fa72be241fa942d2ef220b2300eca1a10014ca9798fcc3d16bd3496cf9ba740d8db -KO = 1b2c84bfeba50ee9818a8173177d1256e37b3bbce753765735d39c6e12ce709340444fe80833826f04535b092936a024cff89d2361c8dda98741da654329adba693ee385c59a22442361d2a9f5ba06b8a241076a5bf089a19f973a57c74161185e5d5f50c8438cafb80693501fe770d7d0bc132e8dcc36f20481c5b2f265ffe75f802ef6fe5c06fed0cb371fc73885ecf57e93b6646d94830554d0e8a8a0adc646274adc069b8b78a3eee8a263bc80bcb7c070990afc13a4a2f3f3f8095b9cb5ebcd48dd2e4c136585d675239888ebd9274ed504e005e46bc76f4a8ca99f1849383cb26c61194b9dd1e356e5fc8dc4422be04c102b989f5d86a4821efa1f03da - -COUNT=16 -L = 2048 -KI = 6280cd573ae4871f5449d419a1ed5b6477b54920dcf9db3ce5daba9bd77a1eb6 -FixedInputDataByteLen = 51 -FixedInputData = 3c872324a3a41ab4b92cd6c086f0a8e73abac2a97a9de42133ce0d512a10986432fd5f1a358778ad7a42ff6d8eb52a506ed238 -KO = 08e774dd71bc606feafacfdc4bd81ba13facb4315919071dd7572b427a3dc69812a0e6e081cf8381e998411158835cd1832d28d0d3acd24bedc2ecdd895f1d3c1c03dfaa026ca376c073217db4c0cdc523e7a1276212b2d67b9a9601292413d415147db80ec24df00163ec25b1ba0c5300bbdc6a092eb0ffc96ac7851fe9ce120a96d14ec1c3460b9264f51e476377513109e288e0c8e553324cc64a4d7d74555e620e05d6fa51548b87f3edc953663f964645ad0e9b64f9c862ebe29bea1d1d913ce06e3efa21d31ec0c4f26f510e4b851721ab51f47f5ad1004774b839d41a3f6791c5fa99c62fbd4ee5781a199bd0ba2078b38fce5ed184fed3c82b3149eb - -COUNT=17 -L = 2048 -KI = 3af57af74b5dec051bdfdb6a0c940a2e52669bd2ed8401588124257d08d6ff5b -FixedInputDataByteLen = 51 -FixedInputData = 5827dbb83e72869f4c2589cc122e1a230f3a16ab39029c0d4df6f9aee2b356c6436713e847b009df54ceefdcc23384aa50f26c -KO = cc49446200db76135a23a74f4775ad343d24def50e0cfa7c7416248962b116a6fc2bec942e262c4be75895642a8dbbcc7b49154d82a76470602114188cc6bc073ef50675893bb95900451bf00fedb05cc9aa3214ad48df51b9201743c44a1fbc916360d92159fed2b19d7a6e2a7510ea69633cb7a97949ab762d60cd2ca4d366ad0d0b3249c735b0d574d520855e3c1b483c2cad0952512281f58e39e3fa81d2d4a05612c61ea0998b868899d4923e953cf24efbba030f9a443db9ae831bab1d1e4b2dac1df37f060935824e9f7b2015dc6c0f3aaf533af303b793b9d1c5787af38ed9573846bf7cb86993cfdb87af0067db7d9c42d7200a21f43d242faecb5d - -COUNT=18 -L = 2048 -KI = ccc3bf9a76abad4a5a93c635915e769f7ab85a164a860b47be1e46423fa72b0a -FixedInputDataByteLen = 51 -FixedInputData = 83a73e2208a3d6186c990e90e7e5e341d5e375005e8439beb18cb02d1bc2101c11f09c079fb8871f8cbe1bb16b8985672963d7 -KO = 4857002ab9e0000ca55fcec1d9cfc02f881b974ca339c9fc2b85a216592e1c4570783b7d84b3bb2640ad1799b82ad65532959124aa228d8073bdf7492e80ac10d6bfcb5f134f5fe8aa546ad6bfd8c58a5e634d390c5576db94a677fbb4615600f46c973793c1b43945d94f2de79011c868d37f41f136472173f3029ff6c4ff28c2339342b4036637d502bd57d8dcc3d55415a5b04b57cf0c04a3ddc9da5fd8f0875f00075f4e915970a2a0d1cc9b40edd94d691bb4c6496d827f3364df44ebd256de48d20951e98b85c27d2412d148cc9a04351994d1b53bef8eaa29549bb517e02a8add48834d9700eb7816d55ac71b4b6ef34d041659ae1f30c8d965fab1dc - -COUNT=19 -L = 2048 -KI = 524f44878e5ad3f5d988186872297cb27c5c5755543db4a4af1f0f56a3cbd197 -FixedInputDataByteLen = 51 -FixedInputData = 3f5e1f832e2b71b03349b64928386dcc9785f682b3753de7612b776f098ae9b22888f924f9dd347576508ad5a4131ef4994ffe -KO = 055854f44cd101f74ddc9ed974174658e4d89626d51dc0fb84b963f0a48d273e7600f22e4c31ce89e9b99fa0e33fd392113d5e7528ec042a04742e309d71b3929c6fb0808e8fefa0cb6e86b00bd49ac7a4b9747e85b87956a2598bd4509c16958b6611d965999619f319de2e0eb7d82f6ca2633a52ad2225cf8329a3a098bf2e06d46b49e218437d5e5b2fe73de26fede8e445e00dfb919b041c297ec93016f185c3e85468da09b8fe015742682e2120b525f5e32ce7e2095a0ecd858442335811de0a26edb5d571a54b6942e6d4d195cfbe696d26002697040ed5e72e0021fd080a7c95b66a4060643acb2a715c5d5c39b4c73789bc7aec3b0a08db7f50ccde - -COUNT=20 -L = 560 -KI = fc720d0c0be1273c05e7955a842e61b2ba3c5e5e5a26c457602a07904678b115 -FixedInputDataByteLen = 51 -FixedInputData = 16ac7f40f00f4e9ac568c10fe5f8e7a9431c6c24a6f5b97849535bdadf8d95a82ac65e30d9282ded2594de5d088cba3537c3e6 -KO = bb43fe93e8c089739d2f755707a24a4bf7356ca3262f25537b7edaa2fc9725e31a21a903f2ca53057b56143c090bc45a655d0873f54f924f9c1bd7e1752010275d237a989194 - -COUNT=21 -L = 560 -KI = 9130522a6ba5fbf8a207ddbaf3f83b50247379f0fd91189d00bf791dcbaec5b1 -FixedInputDataByteLen = 51 -FixedInputData = 8c78b8a93d83630a2142edc4576b58bd58a2c0972ac1b6a622074676d41421f700b128987322c229f9142628eb5c72c188c637 -KO = a3886538c0aefedf0639500c65985c561bf0d6716100fa1fd15101cae0b2dcb51d9a28d7d5402669bc06f6558be938efe9de15f6ba7082637ceeafafc2a857eca0be4bc8cd1a - -COUNT=22 -L = 560 -KI = d74a0a0028330a4009d3fb1c06350cfd30879a39dc254696d445cfe0026db3ba -FixedInputDataByteLen = 51 -FixedInputData = 94180643b849cdaba865387d9a91db51ada96b049f170eeec106494b8530e43e2fe50c501ce6516a6f1f5b295b80e6c4637894 -KO = c505cd3c711699861bfffc1fd2efe7a104fa9e8fb5c9b3a496afcd1cf6ddcf4009125a373e1b2587fa10d06ab1902a8636ee5f7396bddf4c0a301f7b18bdd3af68f390844c1b - -COUNT=23 -L = 560 -KI = bcf7a1bc978b0b7ed8b4fb292d1705a0d651020ba6e8a04f9dd191c8f3128f39 -FixedInputDataByteLen = 51 -FixedInputData = cb0c3ea2fd3ff8ef3ba590a1fede9a0f6084be936df7d85a86a8ec341a9b26de4e90962c758907c60d69949e7cf180ca5de9e7 -KO = e8a78ea9f0b2074f8426d38172a5f4e5ae4c5201b6b0f36368bf13bc770b8458747a864befdd2e2f8be5d73619877462038ad217315f192860b30bbc842721d6e45a16352735 - -COUNT=24 -L = 560 -KI = b007b321639cb1a7426ea1cb60ade7f3d20dd853e9b0db52a42cf0582733c854 -FixedInputDataByteLen = 51 -FixedInputData = 4383385f608454892329af1f6e8db576c11079cf52c76dfe5ef7f81d5a703900d24da8d5b5323260e39ed364aa8741dbd26c90 -KO = 380baaf765e7d9cee8d964585ad6c0ba8ff190f97d1bf1502ffe48d3887099ea2530267d7638eba6f5397733d43a718e3460e625dc2ed686aa5ad9ff0839eed0412c2882c5e3 - -COUNT=25 -L = 560 -KI = d71c4ad3cad9bc6a99b18eacaff31c4a44dbaad92882585eb73ea2dc67457984 -FixedInputDataByteLen = 51 -FixedInputData = d9d9e597efdc796a2a1bbdf3fdb94ac7b720eba18cdbd20890e80c7e1a72abce06c81671c04d7611355977d5dd38ff59208fde -KO = 172ee74283009ec7690d057d8dda66cbe16b175c2d11b70e3425666392f5cd5e77ec7abed092360c86558887c643271a9a47d73fe94843e10d027d0e35d4c96e3142dc119c01 - -COUNT=26 -L = 560 -KI = 024b5042d898cdbad0f323a578fc920b29d3c1b2cff9d176e5e8b71b46c37e1b -FixedInputDataByteLen = 51 -FixedInputData = bf06ccbe1117d04a6ac631ca1a41f7d455a52782478f8bec760a14e538e38772a4b8a6d07bcc34db797d6ea05e2bbb5323044f -KO = 53f9e21a483a180ae95113a83bca7243c66ddda086bf081e670d3d3a9ebecfd204b12c4546929a0573c29ee66cf741e85281e1b562d9a141ae0f1bd6f6371e3c6075c3a000a0 - -COUNT=27 -L = 560 -KI = 215fdd73bc622113ccde0e023c4e27e2f7377a0404f4c29a49da2db12c403470 -FixedInputDataByteLen = 51 -FixedInputData = 2706feef36466c9d7406cbc533a5f1d011cc11cf25cd449cff4951d1d739a3b5bb180b5d5756b7c96d92584a88c7c3d8475c8b -KO = b5529ec87be95194d494673837962fa8ec4886076b8087e510e697b0d892933155cf549e36d10647e32d22cc24c67da668e1ba473b5632334af3c4b446173066b34e2c18b053 - -COUNT=28 -L = 560 -KI = 73451d9fdba79ecc2e6ce21d0a49536196c73aa4bf1e034ee21785cdbb0617ba -FixedInputDataByteLen = 51 -FixedInputData = c01adff3ca9be5fe5d283eecb0a4a0cdf6bfef98faaddf041ce74527aed789647686455cbcec2a755bf705ed3f3de4d2820123 -KO = 9fc650a39e037bed82acea0a990f7ecc10630395a111f8e5f03f7d78f8d6ad8bea550083282c26db01791dab9890e01354dc9edce2581acf2bca9ed0596ee24ccd87ab6d1010 - -COUNT=29 -L = 560 -KI = b81652a6ec7b0fcd8892cfe6eb22652419741e4bfe2db2a1dca8d4f30a4b6967 -FixedInputDataByteLen = 51 -FixedInputData = 400fb33829a9451616abcbfc60d3a10bfa732846bce4c7d98ea55fc89e382fb3592127315e6365c396fa7a1fb9396bd93d8ef2 -KO = 143f21c56ac3c3b77e8fa4c70286571680f0ea3c62e17af0063c6071f2eb8e844b607f87db40446f939fb3102bbf491824ba4a69f0bf7841ed10baffbd59406851655ecee91a - -COUNT=30 -L = 1600 -KI = b99eb5f742953173f0c9f36ea5ea17a0a93eda2f0fcbf7893eb9529ee0705bbb -FixedInputDataByteLen = 51 -FixedInputData = b8859443e93938719b66d2ad25a6ff8791b0a01d7141dab7e431a6c8583299a11c08624feec4a0ab88ff0b6716c4bc4317b31c -KO = c4fbcd8ca973406de6dfdce527c71fdb3f1fed4a10a7dcb24c24c2ae326abc4bf92b459681a5796417bcdc5706252ed073c1859db4e702131c5ba2f18883ecd19828d506a70b9ccadf116ed9527f6bb2919274129a37391e45b204d7b8839985846f4b54583f4154c1a0d158cd392d17551d3a976c76068d73bb5a1ee3af99d2642a24b54ca39daa5d586573611bf005dbfb80e267fa9b9f1399121fd72d65a15b63546f196a40f30afac58c0547bec7960d372bb2871ab66132382df704e9d2cb2077d8d3f33422 - -COUNT=31 -L = 1600 -KI = 878826a813497ae8f6f3227025be225b6b653df073263c9b51ea493cc1c9d9b0 -FixedInputDataByteLen = 51 -FixedInputData = 8786d93fad26570dd90a303fb9cee88ae7e18b2ae12c5474851bd8b21bd2f4a5ed3320157b65652ce5023243d642c2449f1847 -KO = 6300e6e4b66f43a9393bc0ce91cc4a6e64999ddffec846885712b0e40dd2189744d39b687bdc2241c56b84c6a693760961266ed7770009b63aed3b1a3110d343d23dfd1b50b0261d369abf5ef69e3aa8ab4d3b1489954a770d504954ff8a4d9568e97329e8e31cf8b7f74272aeb159598359696b60850a42e7d73b91603c541349a77d5e946d7466f9a436c09a0e447a29d50fad801178197d5e3c9a6753153b601a258295ad72ebf51bc0de5aac7706c1acd6314328b5b5cc4bcc609374cf559049b56d636c4dd6 - -COUNT=32 -L = 1600 -KI = 0f54394ab40027d96198f654710dd48d2ee20ec9418aeecd873d828f9891a6dc -FixedInputDataByteLen = 51 -FixedInputData = 0af77d5a4837d1529131c54e9e5e1fd2ea7aed2aef6e2296558f12b489396aebdea2af3543e0628cf184d51303a11ba7ea9fcd -KO = 3d5a84d62c621e9f91b850b4a64740460694860900618050a2a0254751f12d8adafe1c8076757d47c76976ab8882e921fa5538f5203915297dd3bd29d9ea308724f7c3544f9f625eb2752052035147287a78cca2773cc53dd8a2cf0f21912a1b7c94ef4f34f205abce34949660e17b166f2aadace4f041837d7620a32b7e21ab5d3016182bbedaa4b71483d51bee65454f07f4fd30efee68d75fd7119348675fa2c8ccebc68df35387c1c5281b9675ce3fbdd7ac0b6b6703eb064f210746df2e3124ed68598943ee - -COUNT=33 -L = 1600 -KI = 1211360eb37254492ad173c1d900a5e17052cb91f8f395cdf05731559fda8468 -FixedInputDataByteLen = 51 -FixedInputData = c4a0920a7cf283cad02c1734b5995ca0870d2ec68e376592be3906aeb00feb1fb971b24d282d02fd8f755b440001fe0eec4c86 -KO = e7fe6de463d78c1948a70015f2208b2447de3e4263b3e5be19700dae07acb9c6d382c2437398cf24659d9b122354ec4a9b8e92f7c7e8abc9b510b27c2551de1f9b528252c9b28110a29bf9dcffc2eebbb7976b30821867205a4dcf9a3142463f0e5ffdf60150024b5932d3435906fc0f552302492063fff78ee43ef8fc23196cc84a5ae8d76f58db1553fa576977eecb4e13e3256b528ef23b35ad02e4d0dd0014f02a2ad620462f20d51937124c16dc1e193c2dc1fd245f6caefd743b0e2ab65e82b9c62b1c6c3a - -COUNT=34 -L = 1600 -KI = 943d4092b132e22320ea0a7ebed2c431ae5baaf38ef1ca584bcfe64dec5b5e44 -FixedInputDataByteLen = 51 -FixedInputData = 6c8d084f51ad8ad51785ef9959420e4cfffaf308f51fcb649001982362a79472c75779a301007c5307dcaa3684c244090993c9 -KO = afbec69cc475b25a786daca943a932ed616c86673f700873019bb4ed5074727aa45408d214a99fb9ab3f30dfe2d6571e165bc6f225f546e39e060824850a70852b9f9dcf5b039a51cadbb111e758e56f69f6363e6b99107a993f7f1ce836642e652657227789ca7756f6fc45bc0ad04d9317375e2c0cc33d9b1e6c9af0e4cceb05d874a218bccf77c8655527a413b25b793910bf9ce2a457648109a89ed719d20ee4423f6ee76f1ea3900f06a1229b77efbe4abae515ed973232efaac7de4ce47cc39015c963b2c1 - -COUNT=35 -L = 1600 -KI = 796259afb110890de4fabdfbd7efbe907b179087d9b41ec1dd467b497824afb1 -FixedInputDataByteLen = 51 -FixedInputData = de6655d78f37f78dfa5729dfbaae8123f5649a1b93d43c0bc1c511b5ae9f3f53803fbe214fecc6fca88f007d097aa690315e45 -KO = 12ddd1d20db3eab2904f2caeadaee681fa95251e35f6d9edce4b932f8be995873be550369b7be1780260c782ee6eca23141ef62733964b2d510c2a3b7f2013c39abf761073d2a747f736a549df171dfe05d902cd38882c6ad0b90114365d1049e56a18ab871f1b072d98459dc5c06f2a9aea5f2cd93c1eaf1081751e2668795be05542e0f457982458a2e78ec6d89934c28b73b671c5fab5a5cdf5d306bcd79194be9d14605b895f830ecccc4daa8221e58b23e4893727904cfaf2ce69281054a8309a6e2c12925e - -COUNT=36 -L = 1600 -KI = 732f647c0b8cc0d21bb5abeb34e1665245642c552aad6143ef94493631f9f1f1 -FixedInputDataByteLen = 51 -FixedInputData = 88b7bd4088a763ddbe0525d47224555e9b5526bcbe4efc2a002a86ce2d3c07dcb7d5ec6b6583c785688f94cbd0dbf480877ec7 -KO = c33b761bbe3eae842a7bb5db80b756894528f2bee58c3740399a13cc9a23aa1166f6487b0bc170ca0e1a04fc5459cd9283c959b01fa0f465f17df0e99712b7bef416f4aa69a4a4e5841299eb06e0735ba3f51f92ff36a1a8522e1580b5ba53003258c029f4e8e6ca9987b68d8e0993a4222b9d928356fd18c4c790de85c3e86233646f54eaa5da0cdbcff0ee7d234515491da697c6fe583fce31ad8d66f5b97cd59461301419e80f198eab7aba47a5bd4f2ba6f5ff1c82e256df948b118bede80ed87b612b936ef5 - -COUNT=37 -L = 1600 -KI = 8fd098c728d33761299a6e2affa089698ac908975e0d79819521bac146d9dc9b -FixedInputDataByteLen = 51 -FixedInputData = ec219ca3ee48d36efa10a3255acbf6e2dca97c4137d52436bceb08652bfc3eb691f525840e703d47c5be496510343cecf2eb1c -KO = 7f88057a4204cd6cf795b4c8bece6ca99a8310600208f5b3cd2d5a6529abefa7060773717fed9f5e15fed7af36474395ed8a9028b42526a5d2bb2c2f838a1a99aff476d1d6464c2034f9d787842a2e1f80d7d818c7b2ac3f1c0fd38574095500aa66c2ca64e8c58ba5e0450c7490a312a93887dd407cccba40ab5605acfaf8720803f0dfc04c7c7461a7d7a48ac531e2a9137f88694ff7129a75e81319422830ad2c237cf686390680c7da7ce277c6cde76b623bf933eb4b596daa8c46b9837f3e374421d8cf907f - -COUNT=38 -L = 1600 -KI = afafad571ee4a9affd12bdde13216d6e30a27356b2260cf0f7f4b9b8885a9d12 -FixedInputDataByteLen = 51 -FixedInputData = ce6d9b45e2614aaecef0e834f49eb961cf71e3f63a20aeeac2d3ef4f385ebf091d7b4d77607568f93df36c17503f2f5482b938 -KO = a9021b6744bb7959f332eb35bdf9ad419e9248c80dbe88a5b8586ed61239fcd0c8ac44080539e7bc08c7a78c0529eece43ab1f39364bd38261435c2003346d166481fb1b49b35b73e0b59ee2aa741019336fc1d0e2c80364ed65f86d94d9aebb0e561ac71068e3cf95a204a59eb5fa94e8397c9f270ffe8cf2182327afd55bb70058b950abb81c69e91e52d3ee62020f49e607f7f40e523d2630e7886e7f79c66323f685eb0f143e2690c11235dac40ec5ead743ddd9e4f08abd3599fdef8c8c23e71e40ad714583 - -COUNT=39 -L = 1600 -KI = f3802fba86f6690bbfe0242f567b824f6a5ebf0f5f37f166281bdccd13885b24 -FixedInputDataByteLen = 51 -FixedInputData = 389e14ca91323a8d37aa3379168241368a26c6c3128fe39f127a6ba678b9311b8b2f0417a9e32dc70b88b6c5897ad20d17d30b -KO = a6c9b6fecc253adce69b6d4de467e90266a074b62125e84cabebc81f3978c69ff965b61aed03a12526a8da4e732f97e78cd6adc862023ec89b0bc4518f2d095416dc131a33a0949c4624be045d7056814132b344910e7183f181f234794324b4559815893e859a4e941ee420b1b17a62d2a371e82d18649c27dc37d9aacfdc6703975a4a2db55648e8feb572333b0f3c3ff7c640d92a82773d0910fb1d03de45e905e7409a1186907ddce86a905651a5870b95d87ac2fb37bb336b0439d84b054bff9eba8fa6ec62 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 2451975a33ab0c7535e00abe7b57982335b0471ad857a093c6765e6c58443852 -FixedInputDataByteLen = 51 -FixedInputData = fb95eb3c47dcad3b783b045b29bcb6f5aefc0389735843b92b4d8fab97d61350b76b2a83442d7c5aa497aa1cf441760281a08b -KO = 2f157687f782c8b64325826e3c755194c70abffd9d78c4678924b9d73dcced86dcaf7dfa3bf56cf03fa45c7fca05ca1092c41bbd934131e95db2b204241a9d02 - -COUNT=1 -L = 512 -KI = 7fcd181cf6af29b4413597ca3cab649a2d3fd4f29659ef0640c296ee994bca86 -FixedInputDataByteLen = 51 -FixedInputData = 57a66de1ebae7ba130b224a0f6a2fd6b043f08e7a0d2cb655c6f1aa7ec435dc33aaf8758f1c8a7db692b341e4c82ee098f6b7f -KO = 130a88acbecc0e43da44f2dff935bf2ea51f8a7d670c4dfc719f0d130797d0d86404e759e44e206fa7b6d8c827c32fdde3a0ce7e4935b62f001840c7fec6df2f - -COUNT=2 -L = 512 -KI = d9bbde2c7c3778cfb6ff606776afc4bad58c23c2dff9cf2a3eae78a60a29275e -FixedInputDataByteLen = 51 -FixedInputData = bbc4394ef68f23f7a67c27f4328220e73e7688d7c3711fde86d1c098472c8664f9227beb1d39c4cf862eed000f8f99dc1f604e -KO = ebe7c6b6805f4ccb4d4727a567f18d899784e3b0089af609fc05c14c8e10b88a2639978da8dbff9c9a3d2e3ead97813c2fab51e8fa7c410deed9b4029cd33996 - -COUNT=3 -L = 512 -KI = 33e8f21c478d6b957f1cda6f1f5bbd216ab88c932709f9fe2f4980fe8e277a23 -FixedInputDataByteLen = 51 -FixedInputData = 4fc5f9659137424bd630257177efd35b58252196ef7893cdbecb95610ed20d13c3849a4326ff6aba7d1af0615cdf062674ce66 -KO = 49a06bf9a6ab3e166f08dd5dc4da852bd82ff10050418e013b58b61a0d382d47d4abfd35d37ba0b417b6d4957e6fc37a1c048ef6e2c055ba57332d2ed383e57d - -COUNT=4 -L = 512 -KI = dce52c7786f1c6a728d14fbbaa5e920c9a5051d21c1b623754a793f1f84663d9 -FixedInputDataByteLen = 51 -FixedInputData = f6016f9c03f7e609196210ed478495d6d55ca582b7bfb62e41e9331bd43d90a14a4ff274e43a487590b8def5e6ff23fb2fb900 -KO = 3a8c7fe250d62ec1d6c70bd79e1b12068c6499b4b36411e0887bdb76e94c9ee8e2f4f76c46f1b6c377d67df6a9e5bae425010398eec8c04fcf00ed2bfa84d68e - -COUNT=5 -L = 512 -KI = b2ce98b266e85fb640274e3aa247637ba5c173205dabcaa09ee1a8e6b6f27463 -FixedInputDataByteLen = 51 -FixedInputData = c641ef0ff5554b47d0ba5e0950868d314f8d9baaa67480fc8b524f2066abdaa554aed433cac380ff832b58822b82c397fe9652 -KO = f5fe0478c26aea5ebcd1fc6acaa11f93d34c1d68f332a04ce7630c7bad252faa01b429050e32a8c9023c0f18e2a6a662f7fb4ecc30d9502db032e1270a660903 - -COUNT=6 -L = 512 -KI = c4d7b1947fb5a4e7fbe170b8ac174a021c55e9870ab673e0caa4b9dc2f6c3bcd -FixedInputDataByteLen = 51 -FixedInputData = 434c7c85db16e28eed155b3b00661b3872551bf1ce5a8ddfac790fc55d287ffdfe4b950f7367559d54a67b0292ea7591ef4a5c -KO = 41ddb99e4f887c80f665d5906e3eb41edb9dca656639091a03a1f81483c7c5b9a5684342698faea97a55d438894d3f19304d84ca45bd49a5403a4ccabae2ced4 - -COUNT=7 -L = 512 -KI = 20fa53ec6dede8936cb903146c75d8f4eb2545d8e5abf54ba6e775519550782a -FixedInputDataByteLen = 51 -FixedInputData = 7624e18aade428f09095277cc6898b9b67b9addb3fe48cb37f9cc2f6c2d588fdca789ccc1aed66e35821ac5c4e855fbeca97e6 -KO = c5a6b8f31dc484a38fbe31a5792e7dfeffe33ca4efe983361f41ba6827ad3f522672d91cf2e74382f20e12bfd58c17e9314630fe374d982eac766cf4fc08aad5 - -COUNT=8 -L = 512 -KI = e8d63d9905606d82d9177580fbc241f42907e036666ef59feace2dec45df9c66 -FixedInputDataByteLen = 51 -FixedInputData = 6b69ff77869dd8fb85cf6d0ffe6e105c3728af45009e7036898989ef1b22bbf9fd66f4500e084f431bf9356a0c892c5f5cf993 -KO = 67a9b5023d486230c08ddeee3cd6acd23e513f1b154842da370fd732a85b9d57c3694d8e682abb8e7392ffc5e24a9f92228641831c115876edc0c7b2187c42e0 - -COUNT=9 -L = 512 -KI = c1618eb4c861abb11984590d63dc0b01b15529b911bf3400f58eb296be908df3 -FixedInputDataByteLen = 51 -FixedInputData = 85d989843756bbc65212d7f16788da9b33687499f7cf1ed554b6f9cf0ef868c7cc211052407e49ab8730082f85df53a0b4ec8f -KO = 5391909eb1c77c2f0febc9aaf76ff8e31f7c50119ef65d6a187e649378e56e0b950de3deacab56612dbf30ddd370599fb9449d21057607aa04c52c1c119817c0 - -COUNT=10 -L = 2048 -KI = ba1f5026bc68fcd2bb1a87df8915bf99f179be38a560650df362e6f2bdf2eadf -FixedInputDataByteLen = 51 -FixedInputData = 123f7bfa257435b2ae534d4e4d5e74845d5dda101f388117291f8d32035fa2693068078574d877d9a7f0f58b347f34c918fd32 -KO = 1bc8dc9410563cf152db1e780fe196566cd4b38e3134d1cbdf91d1493d2ec150b69cd64904137621b8e61afc31eb9c897338615e1c8e03d59203f4e29329cf83517c37aa9cf5e17fba9d4150c6888f889f27a9b00c1570f403cac11b8022cd076f55fcf0c606a8fd77b1edfda76289ea180c03dabc54dcc704c9938f536a51cae2f18b2447514d420fa5877ffa230e65e5c4d7735ed2856ed8e27fb271314ffdbedf5fae4259ed49e0a60577e12c80e00f2152c47dfb99a19785e66a064e0f98f8e5753b36ed36862635f5f415993877115872630642128b3944171ef5543599dd9767921dd3f0576a6dea1adcf8f9292e5b9ed907fe4495dcd5c73fca33139e - -COUNT=11 -L = 2048 -KI = e5822a75634aff862edafe74d0ee826c5b699f1bdb0d86ceddb57c793a54fc63 -FixedInputDataByteLen = 51 -FixedInputData = 278942b9bec151e08a550785dec0abbb5b99d60085cdec41f6a2b0db1dfa14cf78d1ace3c4f69df2504674c81a4370d730dec3 -KO = 8938c478f56d8fad340255d91d7f3a565cd5058d87e1273c4f51dd7ce50ad74905af88c822ec61d1413f2dfafd0d93a6645f503296b2703f4f19e7acedfa4427c1cb2be44904821e35ed5bdd058124cd5bd8f368f52527d0ecec5ab32fa3fa6c717b8b8b427fd8a6ff0989ddddd4c6c699d4e20c09edccf50be09fa285cddf5e26a4ab43d90012f10706086c2936a54d0bb0df4bf72f319a8c869d4fbcdacb9accd98a2c737ea9ac77c8e65883b5a702c04dc1f519793843749c6a174ec80db29cb39b071c1add6c1661f5f74a5806edffacd1332f6e03c2c144f0f8b29d8d1ab49b045f15eb04774c8722ba7da42bcb64ec824179b31341f2d38a614e90fcf5 - -COUNT=12 -L = 2048 -KI = f225059a6e7d6c1201549a5c975e3dfced5f46bd5d65865b8f14905222aea740 -FixedInputDataByteLen = 51 -FixedInputData = 2db97126acf5597776a9ea5dfe5334937399a9acb2754542da3d22ece5d3f501bd49707b64f8c4d32598f8b5ff252b4f7ff163 -KO = d1e489470ea8efa4fa1be8a33ab156fb623d91717984989608eb289c8d6a24e1d0c2890b0e3d2fb0e513d49f19cf43e0a209112218630106138efe59d250a5c83df86897a0d69e244eacb90b1a07086a5eef1202867403f5a0e1da540d8499718b12c49deb76f68f623fb7731f739c478e871c911772781ce04d8a3d2f5b9988f9d99da6f387fdc4317837818f570a18178677d65e799f5fd3bfa08a52cb24ad579033eb3fe70eb20efca9f502efad3d5ec823f764699075208ac59457c9e98cca48eb15f545e104784be72f59fa69c635845dc379fd451daa7c3b0548d4ac52594bbabfbbdefc0fa6c0de1c526ecc16f2a078bec39a838d077eba05b0080a09 - -COUNT=13 -L = 2048 -KI = 3bd0eefd7090b2acb3359bbf844cb81ea9cc1844dbc458dfabe48fe6dc95314f -FixedInputDataByteLen = 51 -FixedInputData = c4c4676060bfe1d4715308fa8e486ce322fc347ebf48ec8cb8c4c03c94c701c12ed18026637ed9369bb11e1c79033dfcd3201d -KO = b9b714e0134d748127b98df7b628a9cfc2963075ead8e9a3b7371fde3c3d7b81812f19b0a18a3c34ca6e00b034e8c6ef6f76589de23ad8242c094b42b642357f50252c51b8b745152a5e14f849e665836e750f04a26f9af7bb384862304723c631793dc540b6ec87b42364c91add748f2e2019044bb91d392ede8787635c508f9f59dd54c4041a3c29d0611880a9034039765286cd97a20faceb5f664d7290f0578d020dc3da18a7b86e008f17cd27f4a41206d5e39993ab8a71a5b5f33ff464ab59413ad4d7b6f96146699acdbaaa43029f60b3f372e695bf9af892b02eca26ca7a7aeef070f0299a4b0348ca9b7a2e238253c0a5ce22107a44ba1b951cad01 - -COUNT=14 -L = 2048 -KI = f8d2a603b7c2a32a9aaf07bac3f7b04e3b592ec726ac969d50d106f064d86d3a -FixedInputDataByteLen = 51 -FixedInputData = 0b774c99580c1730bec9916d13de77e5dc03f4cd974028062331dcb0dddffb41aecb4f6a81db1738edf3f5bbd3a43bdc73d512 -KO = f49748dd62bbdd029246db3f742ff4106f8bfb46b230b39b4033a25b7cb02e1cd9e8f28cda3b1a54927f0aca66d2b48e78c4efdf73e9bc16b3fb0e00c58cf848597c3e0f21eb76ef81dccb8ecce31a119fc4450b1ba2570eac2b5132b2288702ad66d3b32c0dde73a86d0b8a0497930c839ddb1345f87b03bcc8ae4218ae76e3545ae8519a1c2b76b51c101ec36918ee2505708ffb4c823d1247661989cbce94308d3742d61256b13f6fc6bd1bdaae930256cbe153fe9a3d3aacd0d8281dd8c11f08303617d9f638b998a07a7a2843ca10b8915e05a92a147eb216f55d6c5fe40a0ef087a72105c797bc15342b1e29240184a483fe8672a89b5fc2ed821f837b - -COUNT=15 -L = 2048 -KI = 41271010ad5ea8a2f6dfc2bf198e5f1667374a348062ca15e6952cb58379b01e -FixedInputDataByteLen = 51 -FixedInputData = ac10fde75d68e7e422473b32305915eebca6937ffdc84b3bf568a599a56f4ff3833d0179e9dfe4d1e367f95aef81a3a66da519 -KO = 8e77ed8a14fe23b5cb606fdd9cc30f5e4c9953fa1e9b3a823dafe5bf8464203733cb060f0c73688fa77aa1a8aa978defd298d23b1427e895ba2108049c4d90a784600e7f696b23cd74af0420099bb8447549d3aef099eaf1e74c3d934bb8948873f53c53e7dfd7f4e12e838ece034e9430cb2da2b26e3b8f65fdd78e2948b0515cd4ff0b32e77675f8fe50a15badad0cbb10a8b8942e2c10c07bd1f65f82dd7a061ec56ee948b832ae151bce7c5c32aafe2e8e2a74e4e66b33226df74e895a28b13155d9645c33921d26b0c9d5dc95030afa8bb22b6fda234d012c6afc52054eb2bdb8bdc1139fb9601c5f5dff8560c2397705aede6b455dd195be9af608787f - -COUNT=16 -L = 2048 -KI = a64d81569bebbddac55a668baa4759745c9c29c6b1c74c6699401b4440f31ca8 -FixedInputDataByteLen = 51 -FixedInputData = 9a66c1c6d67087c98bb17ab4c1312db42e00deb15e5327e8fda925e42d74dec6b689f91868b63160952fcccaa01bc193e7cbc9 -KO = f789c57005bab4ff3e2a2e0c3aefdf6af90540ece995c7d2b455734defdb5101d8dd0df167382159afe4359ed7c4cb1b34f4aa9e613085f744ce885844137a1cf7847e10d529d7b59893cb351848f2bf102ca67fa97340273cb9ffeb72856f13a3e82c7e2fdf9b78d15262cddeea95f8d32bf458cb9d5ce720626aaaae6a5f079e7e820ef7060107319d4a909ef15ea47ff0056fa033d79b81d38287d3f76cfdd3eeebddffe52c575a707d3191a52a495ae9803ee0408e033b9b0a185cd0ed499d65b9b931cfbf2bb5aedcfff295e8ffe2a00e279dbe0a6a1f3d94dcb6fa5a6308d5e8f8fc5360a850ddff93999a440f98a6464b1bac845ae5c2b1fc576953f7 - -COUNT=17 -L = 2048 -KI = 3eb7013682c545812768006dc13529de7313a36f92f051275e2790a18568a3c1 -FixedInputDataByteLen = 51 -FixedInputData = 9e2fe2417939413b13ad1b005b6f071172b5d5d75c296588eeef40007aa71d1d5feb918ce520462b4e5e3b510da8c16fd08e87 -KO = b05fd60ab2596cf2916e80d8a39e6366b6d591cd4c39fafde88db87df887955dba6d49f1866c3ed5ffa18f24c7571e5d249ddb6bda3d66f6f3fd3b77948bc9b8d29dfca396fec85f74eee23b2e451a880ff5a481b623f34d0a437d18d7409ef15c177848bf7bb7485dcf027c81c47a3cc039d99971053c55f6331fffcad6be221b661d4246d67f6a5981b30aab75e95f63da186ce4b9f122776c7d20a37c48f131c44940cd1c9ce2f8727e6885eb8db73533f85c1947cc280bed185407e03ad2c6e2c9e430360fc80fedae3905684d96418f5920170dcb4a42c3bdf1d922f8ec38e672521686d2323fa9b95605a3ce119136ba9e5321679b8c903c7c5a12730f - -COUNT=18 -L = 2048 -KI = 2f7864e9e5ab4f976d0795be2d3a5fa8c3c2b466ad8b59c9f536b17686eed9d4 -FixedInputDataByteLen = 51 -FixedInputData = 02246dce2b2e53138cebdacd13f40a4ca4b8f29ce6d48fd76d4d78a423770676e79cbac8a65a86b65274f9a5c14c5faf653396 -KO = 1206941edb8a6638687b7cb75b7afce7907ba43af4e74933d98be543ce44ea961bbd9b8a11b48b4c1ba3cc5432a5a9e6bb8ab2c33f201893ada66ad4b4c0a7dac9e2a8be89c8febefadc514a12bf7dc9bb737e0281667edfb23fa285a80d1852d834d8b4f13bae2c9dcb81341d9e46191157307c2ab54b2b943985a9ea3c587c1cca3d496e5399b9eeb84ea338746da364c97a2f3a28155d2307893835556dddb6b8ef419a6c0d1fbd2638cafd657d7d18836fcf4c302b54ff00b6c0f18e9968e4e28c510e22b0ad1afa8275d5c91fe321cdd0dfd6b5ccaef5f6259e02f1617fe1344c4e02114317e9d93decc24506c8070395b8326d02d1af6397e52e22b8fb - -COUNT=19 -L = 2048 -KI = 5ad5a66d7ad1d61c9847220f9b89f6e6e8f34ee7955e2430f9c59f106ee74e60 -FixedInputDataByteLen = 51 -FixedInputData = 52f0c094b6ac4da8fe160daa4a825a56e86280d1b32da9eddecaf5fd2b30043b36184cc330f64cce99d27b810bc2459d740a7b -KO = 32176848d7e3df853b205d7332de4e68f3ec17c3e96cc34f3ab7a216b14fd0db3c5c9c4348a56104500d875e540e5f75e1c22b5b7ae52ce875c2aba91db089c49f8168838663a9c6ae81cc149bc9f8e6dc1dca7c8b2fd98b452dcceac9fb7193b81999ca074687f0f815cce3ca90f90c4d27c922b47ef32005650956a3ad4c971984a9532dd865c0cc0a2227c908b93f1feb5c8e9421ae85693f584cd96c154260d222ccca4e8bbb018dce7c69c1537cfdfc6bc763425a4af01fddb5361cf4312a1608208fcd713b97c242133644cdabde7954aa57fa4fb27d5e84fb19f07165c9548461b8092f41e0a63661333e011cbe226ea387b49232b8717ce5d6dfbae7 - -COUNT=20 -L = 560 -KI = 6333a5741c5af1804a2759dce4415504bf91fe1b7269a4ea71aff5bbae62ca18 -FixedInputDataByteLen = 51 -FixedInputData = f6ed083a7477f8490e2455f0ff0cb2ffe12661230f36581554dd172c338787355f8f91e435bced36a6a11497ddb3a8c18b2520 -KO = 929e5cd9a312832b46526a403f615c394b7fc1b77967d12ac52def3fe8e79c4d9318530fd11cc89285694c36b9803e7b0a06843cbcb5f09979eee8ab383d171fcd074c49d176 - -COUNT=21 -L = 560 -KI = f4dc1cee2fc5bf3503ec841fec4c7f9e389a09f5654d5d24dd3ffbf027263c79 -FixedInputDataByteLen = 51 -FixedInputData = 00d5a3ad5adfcd1e0a1387a355e68b5158fe5e3fee3e9b2144d4b26bb195f58c6a8f7a2406a9f7454945fb4f366779db74fb43 -KO = e2ffae2d070a30691e2ce141671e62fe82aea61d4c54cb71016512638a278ab4e3fef6249e85ae023c927bfed9f95eafa24e02e9f9a9b1e6bf17b8370009efd9cfcdf5e582d9 - -COUNT=22 -L = 560 -KI = 564d1579a45f3a1920d22991e4a1e954bf39f87526d2349582c41881bd08f5ac -FixedInputDataByteLen = 51 -FixedInputData = 8b9d945a08a287fb71250c85cf6445cfd2f31733b9a12d4f8c0e9a5cf546cf9c193f5a401909eb895f75a08a4d751c3e906c27 -KO = d62e6c34a05cdd9d4f858350041fc7e3604308bafeb5e66764726a1d1bde83ee537e121fc69c54c754ef3625af808f16419a0dd03a5dbc29864d6984201678dc698d31cfc4e5 - -COUNT=23 -L = 560 -KI = d0541a3a5c664dd67804444516d0f8edbfce67710a5da60d8ba7037d23ae3ca4 -FixedInputDataByteLen = 51 -FixedInputData = 626e661ba439511f49214dfbfe9f5ed5861ca788469b59e2caea596816f2b0ba0587a1b16f30d0a949ac3a4c7602e4c1288150 -KO = a94bc2032ea84de314ac0a858dbeaa50c86d6381b04bbcf2e62695ca835a7c632d199687a83db1c9824e8fa5bdbbdfd8f244cb3116f76ba669c9e79c83edcb331adb188e05f6 - -COUNT=24 -L = 560 -KI = f339a7521aa742cc08f9089cd4318d009c53b6ecf30f74799cae31afe3128533 -FixedInputDataByteLen = 51 -FixedInputData = 0425076111474567615091f8288db0f07172a2d922811b1afa2b12376bd435d4b94c86e7814f8b60ea53c5cefd8e7b604e9093 -KO = 444c2dad12d5097004c93b8e5dceaf772e66d4cc3df61f5b15804779a215078c6acba1511c68595f1151dc082797016b110beadc044c2fce4142b4fa291602ef238415f12ef8 - -COUNT=25 -L = 560 -KI = 450c01b6a252c4b4e65b4dd54d1b074f5da9e2dd5f45e74637db6f35f107b91f -FixedInputDataByteLen = 51 -FixedInputData = 088c624c9b0ffe174118f485bee42e68eef0be6f89957128e03bdcd7360bfb55e6835f1bdc5e2f1c9095966ed7ef6475343440 -KO = 3ee7618fc7d6406e7520f05dc756ce01cab2b3765226bdd88c7b2bd2892cba9b7cf1384fe10ef2c9f69c38df82b72e2ee8bddee073c92e126dd44d749cfba035a4198f36fc09 - -COUNT=26 -L = 560 -KI = d3e2317bd558652ea94b626aec5459d08e670985ff072783409257a9d103a0cd -FixedInputDataByteLen = 51 -FixedInputData = b7d50fa486db4bd9e1ca924075c60abc5b9ae1bac1583e00fd4ca2f6dc984358740ff54244fbcbfddeba6006e38c858abf6620 -KO = 6484b2711a597bb3be7b768352d4d0231d57e84b66aa8d975a126f0c25a6381092624759753fffa9841dca7dd688b0cf330d5a7f9093ded4ee107198a1726687caa59575614b - -COUNT=27 -L = 560 -KI = 5c5ba1086b46724e5a748c476d6d06124ed667ece93f17932e0dd30b026b5047 -FixedInputDataByteLen = 51 -FixedInputData = 94de213468c8c01f24417c90a325fad7a67f95aa23b44de648c24f037dde2eb9f2b8521e7d638d4516ed8288bba610affc78a1 -KO = 4f58811d2bdd5814d3e1e306fe83fe8d9c96e10058e5321f75837507f87ebec07de55606305dd53cd25a26ac63ff760c740a687459ac950e95814e135093083f9786452801c0 - -COUNT=28 -L = 560 -KI = 6366b8551554f0d248b3b0062009177051943c907a9af0d61e844be0f9224e6a -FixedInputDataByteLen = 51 -FixedInputData = d0a2e5598711e97605cad862abdf7c88f9f0f4a6a2f55fbe1ae30805cc333c6285111043ff0f3915eb24e78eb6bcdfa7c7a27a -KO = 4aae7c39ea031fcdded72581228de23979cc0dfee63c9644521a3da817aedde456d3037ef17717b7256e425e7a4ed501fbedfe5d6cd652514482941e057f92cea792273ebcc0 - -COUNT=29 -L = 560 -KI = fa0c5e5a77f8af61a2e135760aca6c9b95e1cb2853d1803b8bc6271861529d3b -FixedInputDataByteLen = 51 -FixedInputData = 429e3f6491d10f587d2b2592b89c41ce5f53c66d7d426ffe3c7df35421c752002ae6010ae11283055bc0a50e3da9aee0b8c4b2 -KO = 22a90b749682b896456f01585edadb96a3902d7ae424dadf28c4bc046026c5cfd227b1ed26ecd963639fa2c825d422dd942d0b299165076a553295cfe549ee765f4b5b12985b - -COUNT=30 -L = 1600 -KI = b4e1ae292eaa0bbb308ce5d3159e86dba8023d86f85e2051c1817e085c728a47 -FixedInputDataByteLen = 51 -FixedInputData = 61f7289a362b5b550fd99e07572f9287e7950d8dcc5843c7ab6d834c11229ad8e848b94b15ea6b34b94bbe0999262deadac4b8 -KO = d1e2895e90b37879b7d51c9ad22f4e4071d8223bb8ade875c8cba153dacdf077b43409d7b7a8a9e2a127b7fedc1f37f9647635a2ec5eecc0871c355891e09abc9538506e88f8a5511b552c940a28db02943a2322cc6f086b0e24a608c826b5d3e9399b7bacfee90d6e4b869e481f7993fc16a38aec08eebad5dabd6b767a8d5cf8a863129cce31e0796e76c55456a81277467e8fd51a2b5fcdd69afbc3ddbd1044ba08e33b18f47b2c66faf43195019ed175a64b54683d82b3c9e6182b62ba609f33cad7101ad923 - -COUNT=31 -L = 1600 -KI = e738851acd922389859848ca3e89b044318d47296193e0cdcfeae8c0a74efa5b -FixedInputDataByteLen = 51 -FixedInputData = f7b5fbf9cbaa4a5e005f21c1a55d9e0766a3a3c9397e2f83ad2383dcee8e326a3d46bea171ddab5c7481528a727e1bca5c79e0 -KO = 1fabe8f6df64fe4f2e059c0a3540cb7426a309fdf2dd94791f4df6b7dae64ca4fda38260bc1a6cbc27582e4738d361629babc34d1f88baa4cdc506d7d2db0d4e45f65b8e29a1c49bd2c914acb728695ca4cbbfadb7b8e9e164088587adec35b67ce5cd1f9fc9b97bcb64fd69b4cb6d1ea3c5f3f756418d16bb7eb133c7630ceb2c5cf65cd3b4199c194ce436df48f9c23eb4098a067deb89b611dc7ba403392ec4cd926287ae0f916cbb09607eb428df1a95e1353874d46f187c98ca53978362288842839cd7ba41 - -COUNT=32 -L = 1600 -KI = ff7a0e14c1bb279968ef7fb657f0d80bd5bd21ac031e122c15fec17f3f963d69 -FixedInputDataByteLen = 51 -FixedInputData = db0bbeb169dcc93f6b149bb5e7251fccc04d872b34a8193fe41f69c44923f685a1a98c96035f6924d405104c4be7d21b266ce9 -KO = 9ca9ce6eea2ad4fc37efd99a7f896c79c7b9762bd9787b4705eb94dcdb48caa1cb3c3c9fba324976d9659799d95d9696ccb47ec42d9706889629437d975211d7da4546500614a8c069377d0004055c97e90de32349b1590ef4e9fcbf8cf3f56f8a0a724996004d11b379b4297699876566c448e22172017f51abff49eaf601b85f29f794373e2ec09235defe9ed47c913659c436fe17126e7ee19f6eec9fe47b25b54c1c2ab8227cc28e9b4df33d404aedf4c66ae0877e981a99708817e7fe60db9f212118ab530d - -COUNT=33 -L = 1600 -KI = 21121d907788a55bc1700e0c5338ca8f6b8794ad7bbd8def7b51068e65a3065f -FixedInputDataByteLen = 51 -FixedInputData = 51acba98e187af20d315591cc0dfcad4d1007d3186c816a1d500baa925f0688b0e54591d36b35bb3ad14ef1fc50e2acb730822 -KO = 81922ef7256e9eeef77059695258cfc15f55a5e656a5f099a2594d96ff9181e182604ab63293a63de815a380285999c36845d948f39fdfc14a817d180e1ea48159997a34ee108fe5fba5d3a6f841286aef140d75f75fdba92451afda633cc397ecbda2990a0dd2ea042211bf1f8b6db8776be6276bb4706daefafaec7cff5091175bcb494d7790798c8cd044ca7adaa08f650093b654681eebcd9dd4a4f7593ec55137d41e7cb03f89df2eaec7cd0d5c2fbb983c55743aa55d3e4f071b7fdf7f531fcdf7b2e3cd20 - -COUNT=34 -L = 1600 -KI = 5063bff7b9195b9d99519cbff6d3a82003574e24d15248a2f0728197151cf4cd -FixedInputDataByteLen = 51 -FixedInputData = 4b062f2fedb7810392e65bd9c96b680bfff7e20285e7ddb879af3659ad8cfcae50eac6c71811b67d781553510ee46a9952d425 -KO = 435afe0808767f960403c6f6ca46b83366ff1cf5ae48abb19fcc29f2158a9efb2fdfc80e54f05306b0064f26973cb9729daefd01052fe396817285b5b76ea887ccf005c518bd3f4c476ebd49edef088fe61b374ed99e27b0b5daa647525c4de8aa4195e5a567126dde54704ccd6296b5f9aa5f6ef928107e9e475b97da5c3f42d7e58593a3407a1fa393ce7cf341444ec2afe1479c04d82d6b70714c7b2e05a604d6112a6a065b14231c5dead6e4919b5d4b9a0cc2e0d23a55f21ae79a0b5538d98acdc5220b7307 - -COUNT=35 -L = 1600 -KI = b23afbd2e032ca4b2090673c12e0f7348e54453e77538bfaeaa4a56d1d106130 -FixedInputDataByteLen = 51 -FixedInputData = 822aea7411781f122dc9f26d07026d0414ef4d04a25918364053985f398245767072cc66cc492a49eaea183a5e2a1778d06ccc -KO = 4a538d838a777e3193486cde2317b3b50b3765f5403803a0b5f777b464ce67acf82983b6c03e7e20268d9c2f761658c3b02c1b7e0864a078b2cfc552b7e0a1bdc055b959c61573e312c20778881769c8b8dc0245a6ade030bec67121282087297e6bef8079782ea5dcf1dd8791135a74ce6d36144403b68c9680a244a47a3907e781d49499bd28c227afc497059e346d91b23550987324eab23f1544c3e88c0ce95a8ca828b75a145712a28918f858c153c810cbc25d75fd9b70e159848e40daa29390f1bdf502d7 - -COUNT=36 -L = 1600 -KI = 7d7829943336ac2b7e0d1e6faee9dae61a2070f8e3474d4e7142288ed5808597 -FixedInputDataByteLen = 51 -FixedInputData = eb3e2777db34f468fa2487dc2dffd4b71ea53754ffe40f277bac1c5d86ddab8f777d612424fff5cba02271a890cb54e8c130ea -KO = 3aefeaecc983d0cb3aac0e54b217a49ec999d738eacebe84276d50dab65591dc759632c01f5ae1215a21210049b1b01b37230e181d46e43cbbd3a33ce670b940053cfec3b60013133e7d8af148b2eb6be629213c8022104fb6c2154040b31e5a68f35ee7487800ca316675d03dc1880b14ce77a3aee4ffd2dd83694cfdf386574ef0a132bcee24c868e6f1579afec95f17963a09c40fb0247a17ed37c639c444ee281614d57493e8a37b38e89c4819db3811ef6c4720dc744c0156bf80ced4c0bb1a06651a8ba10d - -COUNT=37 -L = 1600 -KI = c5c1eb43d0bd638a5eb48c14754f172a210d45ed2287540b7e5a45e88f5e595d -FixedInputDataByteLen = 51 -FixedInputData = 6b3d8bb7ec4616be9fb8d796f7c8a72872acb6b4baa06521f357fd7953f129df2552bfbcbb755ca9da73a3406734cf6ad85129 -KO = 6a8ef609d42ec1a1ddb44929e61e0249ac4fd2f3408ba8aa134f1c3959a1e92ae233d0861196165b9aed83656b3f741c31d8f8e61fcfbb491317d2301a7682d451e5ff0c390b01f9305f97ab3fe6275df41946697e90eeaf58c7d0487b0376cb2b5f2ee46554ecf1bbf1a93b800dcf5df893bca803473ea4c0370905f05bc02deba42b73be667fdc57275c2078e65fdd8ed0dc63c429230405e6a2e2362d6c3a4c650aa9e2197e7968496484976bd21726904e6182cb4ce6a390c8cf2f1ce67d2116c5814f2e5de6 - -COUNT=38 -L = 1600 -KI = b70bfde233930c3b242020b324c1da1321d58de1bc002effb9d391dc452be3f3 -FixedInputDataByteLen = 51 -FixedInputData = 50b8115f0d8a6a42a9ddfe5f97b51194c0cfbc0a22463a0ee1f6b0ddfa2c6168dccdd7ed7123420c789d9521264043c7008290 -KO = 2067f35162e763a8dd1bb8ab201e3cc98c0bdfbfab4ad6d4ad5ddb3221c499dd234f512a9736c373d1995ef8fef371500fb3a50f298f58320b18e7a92b94aa6a189b6fa771c6384a8be0e01293a0a708003b8916455db6a71c2c52413493d4b46f81bdf1118dc52d715d586c0d79bb1037f059ebba9027aca2cae1592b89f1d96de9a0cf3cf5dbd66afcc1f3b31bf71ee36c033522bc3b06e13d12c3d4a02df042ce3d090d5f09c04aa08c2926c95fea2497aa052d781c9ab5b0fd2ef336bd0e5808adf453b50d79 - -COUNT=39 -L = 1600 -KI = d356fe5cfa6d2f49ae83c2a3a8652aad76b8c23bf0de4027b008f5b6de18ec4e -FixedInputDataByteLen = 51 -FixedInputData = 0b1a3a6bd5468bc63aeb8afe7d736966a2786fa7ac30cef48a2d901a477e656006a70b28bfa6c2f9e36e89aed81fd617e7d4a0 -KO = e2756f8625bc56989d93addc40ec3f8ba2fc1a845edec8d034a578a6f014915a9a85aedf944539d959a319bc0b9fef57d136d9f78e943951192ef5a5624348be12fc5d93160ffdc6b9ba699a242ddce0ff8be0bdcc8623739aa4177ec17e65f5161bfdead5448d3352ad15bba438113df8cb088b02a4f531420d3f6632cccd6dfda005a272a54c8a503d510b08afee0912ddc206f10a7c171858cca700d1d9b64f166047ce0aaec148677bf988096a48b7165fcb48a194d01aeaa2e38efd2239978ced6928d7529c - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 7d6f5963a2d0b5868d96074ff283e56c24372f3808b609d45e67c63bbc4e75a0 -FixedInputDataByteLen = 51 -FixedInputData = ad20fa07526e3f25559e65f9639fbc105a8d352eb0b1a2b7804ad27b7328a0310afe64f46f4e6eb8ca96983778f57ef5d3ae46 -KO = cff804fcca455cf11a710f12ce991841833fd9cc62040f6dd86dbbb2149e6319e60a265f2e22be183fe03f1bcbdd7a25be1c6206aa13fb62f08b9f9a26041a59 - -COUNT=1 -L = 512 -KI = 9357773709f4c7c9ed5b7010c52999231a91703e2c027549eca069be529eac8b -FixedInputDataByteLen = 51 -FixedInputData = 81bde5455803361eadf0b9eb00bcbf63ac2e1ce980a31eb67353bf7d26dfb0f924a97b66c1e2489fcbb6a256181492a7f6575d -KO = e20bbf9e2aa4854342c73b5a8d2d3e6c5f76d0139cf543fe37ea27915cce34e555b1aec93682dc59a90195a2a75e3fddd0e96225666de7cc27c09911e7a5d376 - -COUNT=2 -L = 512 -KI = 70afdcaae3cbf0fca6185c28e4b76a41a867478d631f6bed393e380c3adad6c0 -FixedInputDataByteLen = 51 -FixedInputData = 45d235222891f5d82e9e526b634daee5e787d14730f55eb528a8895005ef546275e2aadcd7aa7df4ad17d5d8d66d1297a981ab -KO = e44e20156e0ddea17f3e684d9d95db7df9c90e4d8d7a2a053dd2f687c2d00b5dbf4496f833fdadf0516ecbef08bae9202bb1db8dc94a659add7e1ed4f1e5f70b - -COUNT=3 -L = 512 -KI = 091c4eb07d10db0b2866850a1a6f09590cbd35c95ca675a01a0a8b23fad2a557 -FixedInputDataByteLen = 51 -FixedInputData = 524f4e0550b4629bf3f1fc738045189af106456cd6388246770af7a0be9fa750747b740f5e43a638d831b3074aacb237630144 -KO = 5bd9f9f89f728aabd39a0afe6f21131916cea77a1a24aa72b0d65288b4d819924adbd5df9b3cc2dbc560fe17b0f53238e851af901b6bdb20c012e5a954e2f817 - -COUNT=4 -L = 512 -KI = 8264b3ce6153f723383b0a2a99a0b39fde6ec98afcef8b908fa83fc678aa9701 -FixedInputDataByteLen = 51 -FixedInputData = 3248323741e0391fff2a7bd24bbd4dbc8458682fdb7cb69d77a4f37830fd33e185be46923292c68390e998112163200553d70e -KO = ed46840c7850f8d2834ac4c2cc7fcf3f25fcb651345daf124ce7e4b4737c1f3a4e3f316a2163ebddd9e2264bfe31bc69882584384e264431f8a05b80e56f7fed - -COUNT=5 -L = 512 -KI = 7071cc0f60c914d46a3dd6cfb56960b893cfcceacefc28e50489aa481bc61859 -FixedInputDataByteLen = 51 -FixedInputData = 684373077a15e7459d62c7fee3254274a985cf89294b7adc358d9b24675bd0930beee467b4ee9d07709f8961f112abc72f2b14 -KO = 1356cb5eaaa907e200874977b5ed085a78a6194ae722f4c2af1cc5860a3e6940dbb5a0f482ce5e92f963c2e17007a1de75355e52af5294eefc6c8368393f03bc - -COUNT=6 -L = 512 -KI = cb718ec7da2d4064bfd41024bf01b6cbba32f330ab30db90a01c3e06f828ee86 -FixedInputDataByteLen = 51 -FixedInputData = 52f61de464232890f4ba383147945b24d63e4075efcdd6a4631dae85acecbcfdaae8b499476aaaa47d26c1787ce88146af61e2 -KO = b170be7bfbbf15b0d104804a3f1ba8e8e629f00d4be83c0356f2bf1e866f5868aa1b2bca83675a79f361b7b39483b08b80b1f261cf130716fa3861bd232e2c2b - -COUNT=7 -L = 512 -KI = 422010e380e91bebda7e9be22e93cbe94fac04237c09e097d1e281bc4b0e9e00 -FixedInputDataByteLen = 51 -FixedInputData = 8f62e8d6bc0bbd87c2478ecd3be15ce7e681dbfb800a222018db26bb587b44de58c628e671b8fe6a45261b055e700d4f2cea6d -KO = 95a05d39e04baeb9e36bd0b2c7ec8af3b8b514c9e55f352e764d1a5c7c209ad3ab8cb33f26c0b34564807aa364388ea57716e8197b9b8df76c582dab06f830e4 - -COUNT=8 -L = 512 -KI = dbb5cdeaa58887c98c9c3cc79384df163861cd52d36f5492495b4a99c6d9486e -FixedInputDataByteLen = 51 -FixedInputData = 8a13641096cc366080654e7ad0433692b950d74a0fe497452702eb981bd84f11ebc3dab3cbb978a94feb1f98522e2530b77324 -KO = 44dc87698e185a8981139cabfcefd1fbb69a43f71f06e9a3a685e39570808332ae976a528215d49297da808c775e0bb609e600501519fd6810f9004cdc902dbc - -COUNT=9 -L = 512 -KI = 770b4247afae707d584fb4cd3a68e8c9c0e70ffd55b6ab159db1f39a1edc4319 -FixedInputDataByteLen = 51 -FixedInputData = fe59279166b0fd7c10bebe4e571972743804bfe6c8f7e95ccfbfd33879c67ba9e5a15c743adabf7f6f04e955c433af9d9d6242 -KO = de5c21080caf75888233d9c40feddf1e02d42fb66c7565ce599f8574c5ef152046e7466c931320178293c0193c7d9e149a79bb3bd3119427028f5d8eee947ba2 - -COUNT=10 -L = 2048 -KI = 25fa1221b8d34f2813f6144383e1396430849955c87900d3fc4e51aecffaf110 -FixedInputDataByteLen = 51 -FixedInputData = 695d0f1d7f2c3ab706d08ca3e6d55d64acad8345c55c109b179f166dc48531fde3b350a0119fa123ba7baf71df7e2bd72c9d11 -KO = 83fb889c7b7c206037d245ee1b0d843785e1a43b51673855bc09d8416c0aba9822f749afa477ca0dae361593d45a9d01e83b77b04585258436961f27d5f82ca53a358d058732de1a593a26957898309cce6d9e491ff0eafe23a4f5b44e6fd6bd5c6719c08f0ad3d9d851d239de924d344f855f5c57ec96bcfc1afeb01709ef6c6636394e32b0a8d6f5ff85d83f5a8429ab1412adede4aa859c01eeb84d91b0c58cf9e70d4a923db7503486cf1d6d2d81d9246802780d6e95ef9d4caa61305b9ace7dee8ddf63bf158ef0b0b5c61cf324f23345d6a65b6caa8669fbbcfcc1bb31fda608ea7cb3e54b03c4e853fe372c31e78a1262d3e1312af2db122ac06016eb - -COUNT=11 -L = 2048 -KI = 0b2a7ae4f643ec2b9b074ae380129b7899d1ee7cfae435f4df0a3e1b8647e516 -FixedInputDataByteLen = 51 -FixedInputData = 06ac93703e402b6b9957ad69866de62d783fb7e79e97407abf7dd9395ef040168a8e64a2fc59273eb2d10a98e8042c4a38c0f2 -KO = 8e841cdebf896833df2b0c273fbdcd8648a05a3830e5b5ad168ee43b1c603672e880c1a941931695bc71291a82e6ecc5867eef14ebb0327f2ab76e9b54fe6836dc83aa0a708255019f95819211da37619e99d11e33f85d9b0e3e315449b215403b2bf54c4ad6f1fc35976811ecc0bc8f6f098acecc25a7cfcaa5b9329a032a9ad5d5479b4331692e412b5861be80ef169cb8da9e9902f76c51ca9c7ce2cd21157c02c054cc4dbfac1213a11b3049dc4aafd43b8aaed9d50e90e6f35ad3f5a1978e366d680232a33e0536adf0c61895e34918cd6e621fa43741a05dc0cfac978a2197f120bf1cb289e5ea96accef59e9d1664e817a05691e84f3848c62c8d3183 - -COUNT=12 -L = 2048 -KI = f221f4c35e38fead1acd19c2cfa1a2cf13e59fee7fab169138cf7368358062ac -FixedInputDataByteLen = 51 -FixedInputData = 2df224d876cb86ece5fdc56c00cd1722c14d09e7392d7073e6192713735dd3385e5b89c63012f8a41bf55d859433b16fee9eb3 -KO = 09a4d4213fc3477f83047c8f0ea2f8f57ed22d7aa553e239176e8e4ad5816f73ccc23d55661bd791de1790a7e501f52d480e925dd09f5c12593d701abe10745ea48be82d6d12bd938828bc4851a946c890bee5576c7ce847b486b239cb49d412dfe411f4d0a9351c1a740a4468001a55ea40f0fefb5ae00a48b48ce34bd3b856653e268a5e0c1643cd456e9ad74124c80dfc80bdecd7523b2bc06f7d6256303596a69b2039c08d196a5a8558b4c1b962ad8b985fe83485c612015617097dd97fec937f7deff33c369ee2fcc3b3c22af77baad2830a97ab0add8f6b0fc5835bf89cb0844619410b9768676dc78a5a96a551c6fb0ef49c68b7d68a48864c00bb25 - -COUNT=13 -L = 2048 -KI = d1e22a4f171699d3032697e13f885a682a905e8394c0f3953f8222530e0b2822 -FixedInputDataByteLen = 51 -FixedInputData = fb7b505f685186bbb2b7da4aa7b08f99f1a04691bcb74bc28cc2ad23df4911e1c157dd45af40171118115ed5a56c88185a9f8c -KO = d910fdf5283e83d799b6e2ae24d1f5fd8d90946a137efc87e3fcf2e31042e7a74cdffc09c3f1094812a9a648dc97b4f01064519db48a1d9df9ed8d96dcd9abf973028b1a58db74c1cc5152ec3648cebca9ab79eeb8b4f6f6e06a84ca9014716f7839a3e993041e4fe422ee4e5002a55cbd0262aa10b31bf18bdf76eef441b10dfaaeaa68b9d483a6771dd687d45af5809c189714e0cbec6b32cbdbb7071cce5d487623663327ba282ffd2a75fb08cb52464308eb5e9822506997eb18a653117477d54c6ed4a34b9a302a555cea4772996bfef19156f22e872186b518532ebdc3fef2899c0788c7512621040a75a509585a23a3f7502f10a78c72749adedbee40 - -COUNT=14 -L = 2048 -KI = 50525815350b7c813d6b9c525b2e2e2338791aeb9d121d322e4dd76a1e34b4ed -FixedInputDataByteLen = 51 -FixedInputData = 80af2e3555007c23693b7a19aa53d80adcecbcce22c515b45679b20e243d73de6b11f747daffa718d62908f4331db47193387a -KO = b7bc7fae5c6e9f5711197e9bdc8a2889aee1ce8229e173c81740fa1900a69b4f1d993038d78b48ef9258d748810a74b938de6cd4887b9289c2ded248964f5469ab84bcc175ff3008847d16f6f613c43d9fe7eb1bbf528ff80a9278dcdb73cc13ead997a7cdf524297395e3e5b32c9a7775b9fe7cfc55dcba6e8223ed21d8135256fc08f25e3cb1156c391acf275772816a6ae99a4b7c8f58b43ced1013de62a359ebe567a934ea9d1334eac1463b9655676954de3d44dd3e0d02f2528378d100f204ee2d6837aa3e52a479eada01970813e291b8d511343a4d775702ce49b0faeff1636b0f7c5f54b55214c31084b6a9594c981d8d23ed95be669e7585073b2a - -COUNT=15 -L = 2048 -KI = e92aa9e95829f83a1b458d1cb7d111ef1fa02ff2cea03cb0af3d0a8a010e37c5 -FixedInputDataByteLen = 51 -FixedInputData = 4808a07feaba971d95e20cf16d0eaf6bd1278a3dae72736bd9f019398d27b8060d8c0211fabd8f9e1bd8f555697e9ec08542bc -KO = f581d81c3281213f89066e41f756c5098d050ee2c2d67b53ab35df6b35afa4c5f3316fd043db303bc64bda436ca7ff5b8ac2842fcee6b828431129ca63ada64601dba7dc8851b2e7a6d7739b8c69bc84fba96f22d339a1c5d20c9ad5e2613326e3df4e66fca0ccd27ac1500743cc1d3697668f48a7abb80d7d79ca41731141e63c1967bde8b017a3cd3862c312ed0fb83a67250d5426ae11296a79a7feaa06bb709d0c26f18cf32e3a3dbd80b2add7d00e60ffdf973cbfeb86d11553ebee59e79f3f541498b8e621d1b863a15a78be8988c5eb1c4c58ff0302ec8530c6c4ede47e137138a6509e2d5b8aff91616151430042c0a66df1a7a32ffc0eef842cb8da - -COUNT=16 -L = 2048 -KI = 904d702acdc44467955799921841656f3b62e21ff529d7fa5c59fb0d73d744bf -FixedInputDataByteLen = 51 -FixedInputData = 8297dab633994e678ac69701ab45a7b52ef448c8d6bea9ce7b7e0d51e44813803c0726127a39ad2cd518d4f7ed9c75a491636d -KO = 5df0dcb0ea6e7322ed3ac10b3368092c59a5a7213d125de4aab812efde7fddf897e4697284b15a7ffddc0fb3778a0b696995e5cc0660966dace49be7ffef37593d039f2bb8c34494837c296cf956691b3f1134e0520b464489eb99a6c82ca03f9efe1a6b4e2f6bde4359e6caedd41925fd899f27b58803aeff4fff3a9afabc6bff98b97e1219d8ca99fb3884ae964398c37d16b75d830fc1d2a88962a78d96adf9f2ea9ea8c4ca21c841bf28bd83b975b6f99deaa9f90d295f1bea6d730bd9ee3245f6c11750ca8d061909f8bd42b4ff2e2070638fafa821310abb6d09eba5c0d69d2842c10756afe9de642f6516625a26c3e74bcc165bc3885a705f92c815a3 - -COUNT=17 -L = 2048 -KI = af5c55a0bda09a7b7e3b7c775170a2877d9f21850ea995d4bd2a7fd8570a7cff -FixedInputDataByteLen = 51 -FixedInputData = 606c48bd34fc9fa0d2341a8cf965c28622e9c7179a8cc16a9539a42753221c7b269fbf5c3e852b937c5354f789b628435a1368 -KO = 3d1feb658db63106f4ab56ea9ee7c5dd2e84245f1f9701666939e9f78302c33de0c27c2736cb725a840cb4d31a53e48f72f2c31795d1c8eb6becc9f5130c1e7a2f88c5c62ecd9061187309ad2e71f61b8d35879b5025c1944658a9fd8086a57f374004bc333911cb5d37eac1977937f8f693fc2dfc2716767376855f515bc27ff98f22a74af1ebfcc769b5eafe7ba49e627a723b2f6aa9db3c10af28ab7c225e26e00e52e0d5db88de6451f2aaa56477e2e4ae307a8aff7141cf257074c67c325178b4b31311043c4331525d061d91fd4f0cd90f7e7c2eda6290de540714870df40994890b4e98d2b8897a116121ca1bda107cd7185a3ea7bf54b0e7ee927cda - -COUNT=18 -L = 2048 -KI = 0538ad3872f11727df12c7033e57a21f3fa9d22949dceabad30000ae51c68097 -FixedInputDataByteLen = 51 -FixedInputData = f7ba71a6d30977d50fba6680266d70cb93ba156bb0092289724b58d8f183017d3254d9c073b00b40d0562cffa9543827017fe6 -KO = 5f2f5a3159278b52a0d65c8408174901046a4d0b53d8a51db22c0a57882bc46d0563d5deba0fce79456af9d4c844da4f12408f1c17eab35a3e1c555c50dd541dfc3b7a8fc39b96b8b7dd7e4be6d3e18d73a1b27d6f9c61add356eff8acd1086dbf525ff45d76834d8f34c3aa2b1d05727c2a3e9a5d81bb25cc8a93ca1072eba869dcb49c4314dcc1c789ca7bb1d2aa6328c694f285ee19605a23e7cfcfbf2666bf013f19518288f0ac23ccf8e01c0bc6639aa91ea4c44f6c73c72bf919757d347e5ce43c7aef574733951b678f5c38e57dfbb795343059abfe7991babb0020ac520fb58ba8076356550b5c6c534f4ce4d0046a03322de330c5eda811edf06f8a - -COUNT=19 -L = 2048 -KI = 294825f3041e15512a90a59df6aeb54ac0f841e639bc50fc51335b42d95ebdfe -FixedInputDataByteLen = 51 -FixedInputData = 006536cb44d84134bdf9e8758925dfa879226458024d5f067500377c3fe6db72ef38592100031d8e38f71f7de9ced56efe0b67 -KO = 8834268d69a10696d1e3106ba176ebe6ad975cf23b3cc32b5507f7390905eafe61c8cb9c6fb6c2f7268db78b8a36e6ca53736044f10d2562dcdf07d2efaf2aeb172e7f45de5f4bafee1bf1b7f12858a9528f6466d4e47b7ccb4329d85a9b44fcf14418a9d0372181a486aa99ad6848753267bdc88693dcadb6902bd66ed75a438668808023909a603763252111a6f85d4bdd5a5c0272c39d875aacfef957b6c0871cabdc482555cd4d94bfda0259be701b6b65f7e62683f38ea0257fa1e6ce25bc2a08e90e09915f1d0a69c156c6833bb6c1c44509fe8bb5ab04e9fed5b8c1516e25e3e1de8961537f996175300ec9b0e8ce0d6bc65c5e1115e02b7bea85f309 - -COUNT=20 -L = 560 -KI = 0326aca1ff135305ff423d2d9eb03576bfff8aaed39c4edf9d166bdc06e32952 -FixedInputDataByteLen = 51 -FixedInputData = 7d0472fb96d9bb45df28e71ba934914f5599c84b4ff9a133e6da533bc43283c220c2984dd0164be3fc2284b53eba67314cc240 -KO = 321e0d78f8e97f7ae78f70f1071e0cc37729c7be02dfe0dafb487004611299c92c516a08e0f46c099930e5cdf1964361107fb40c5365216fb2f0fce0c600c19be1279dd9eec8 - -COUNT=21 -L = 560 -KI = c9f2c893c99311f517fbbc57ef6abb6477e800e6a675e075efc4fc43f4f5012a -FixedInputDataByteLen = 51 -FixedInputData = 765a318087b47c68abea86adc0bc891c093aea200386907237e3985099a4e1886b7893b9f912d6fa7bc7baaabe7818298908cf -KO = 8d21d041eb874f321c6aec6e3fc7bd2304311be4a8792f3bfe26bdcdd2c85b3b11d68a13995b4dfba46d083a6c90a613cdd7e870e9e5db3a40f8dc28f6c5d84e260d3934f8cc - -COUNT=22 -L = 560 -KI = bd6f8b6511a3881b459552ce24a32fa1dc6f8efae73829a1a5698e1102a5f56a -FixedInputDataByteLen = 51 -FixedInputData = 1dda4face16403af8c41be10a44bb210de76436ef23a821f548cd34b535bdac86560d76162f628ed1e4be889315b150c9e6f0c -KO = 51bf9ec287968f5f007233ce15b86c14a6693c03fb490bc569b27ebc02d4a9adb2e9449fd135cbadd3e0aee0f2679efe77a4049f2f79a4585517fec80fb34393abe2ce282182 - -COUNT=23 -L = 560 -KI = 4d4270d41b014907deeef607a2829aea24da1f1eb5de15746d150dd3ab144d41 -FixedInputDataByteLen = 51 -FixedInputData = e5d9735a24167cbc88d70ca1e5feb70c0bcdb622f288a0a0c54b5e5a2ca05d3f60b5e145fa2793d25cde3b45c0203bfc5d8258 -KO = d21c0aa5a23ac9e40cbe060c860b05b2a13ad15a26c8b6fc9ed3bbafe40d9cfd1c870fc6f03082cbf0880f00f35ca5ebfcbeff01ffb8c591ff8d5d74afd40f9ac9c8065f52f7 - -COUNT=24 -L = 560 -KI = 85a914b835cf47faf3192c59aefa88a7181f9422ac7a3518c99bd7df2e19f849 -FixedInputDataByteLen = 51 -FixedInputData = dee69e5cf91cf9d2a927c845a5fdf4a96638c7a5f666e8b45a8a764537bd4406fe400a43e26946350d83d5626877b877c62176 -KO = bf974b414e0d95831a35b26c1a668e442cf2a862cf364b4e02958b977d60b5c8fa739ab18b4a13a2ee7bda1ccc3d722a1dc28e165da59ba5bdc6ac8d08927194dd1ab430ed46 - -COUNT=25 -L = 560 -KI = a6920012803f3feea407af83c8ded56ca3737c9be12be91bb5f82e06ea62ff10 -FixedInputDataByteLen = 51 -FixedInputData = 25de8b75a94b80151c47f4e86f47400392d4c6854d807c3188a11955e6740bcb5f1e6624efa0b35e700d8761f5c3637301d9e5 -KO = 081d86b382ad63a869d40f705ac53676a18a2077c4a76991f54e6c5cefe19bf00e604879375b937d154dcea089388e9e0848d8aad05f79663d0bdc1bb5b9eafe3b28b585efb8 - -COUNT=26 -L = 560 -KI = 12f33e2cb6df7c6b3e7e897d80980a5300c0bcc77f8479277d2e262e90e8749c -FixedInputDataByteLen = 51 -FixedInputData = 82e3773a0ca33814101b0e3e3bad76ea33f5e1bba3245023aea4cef816a84cab0201298623bd10e97719c5d609b50089f0be3a -KO = af2fa6a0649d65b282ac24965a8d1e63d91e37357e908a376401199650376de999b5ac7d01266c5a89c7b65636985ee7566baf33847ecf2c79a706fc14e585c898de2b3063e0 - -COUNT=27 -L = 560 -KI = eae8f8925ed947f3cb1c30882e6eab7f8dd08e479028b41f7a9fd5fb347ad5e4 -FixedInputDataByteLen = 51 -FixedInputData = e41b1ef1f2b43863db3fd3f7e2a80e351259235f39b97d7c37556595798a91b07d306a5315412f53034c2147d8cb58792a6234 -KO = c9d3f9810c86589f5185dccf880fd7ce9c10c2a250843d3d242c2d55c6e1fc06b1e13f3a577d56b105a3f9be89502f1d2bbd806b26c171bbba75fee9ae77b895980ae08b74d2 - -COUNT=28 -L = 560 -KI = feb7ff0e270e17342df029f79b46d9ea3852fbc344df5df2184ceb29788ef3f1 -FixedInputDataByteLen = 51 -FixedInputData = 94e192ed39e93a74732d93ba86c09ce91ca3a927740ff7e9f335fe81e73b736b76b98f104441d1138dbb659a09f2b82d617671 -KO = 9581c1973adadcba42be7ba622a800835d68150337f8e17f6d864af74ea6109996b7f96baa45ba8614f727bc7dfe34c637882b44e13b2dbb9e976a4914aa2bc4aee3f51b0cf4 - -COUNT=29 -L = 560 -KI = 15666479da91c03425fca0f003deb74ae2b0aa12748e0b612342de2908426aef -FixedInputDataByteLen = 51 -FixedInputData = 24728e04d00cefdebb28b0f86ec01bfa19e09d19bf56bef558adc4b7ce60140096cc7721f2855109a4671b969e368e3d63fb08 -KO = 0b6b9c5e7266bc2b4deffcd23e984fa73427bec49c4ed81c3ded117abcaa730839827446a358012f6c530116aa0c665e7e6206c898ec62c1fe19065a49d7081e9e5511dc577e - -COUNT=30 -L = 1600 -KI = f1ac1652d66d05d1696eb48c73d51a1ed2f4d2475b96b5e3b0f615cf70ddbd6a -FixedInputDataByteLen = 51 -FixedInputData = 8e851cddf128af40a17185e89d8249c33e7aef601eb311c827699f6d59e70cefcd8af3ea06240d74ae3958914564063823ac20 -KO = 45b99a80d04ab63511ee2c167fd54b671ff0f4adabf9dee881faaa15bbdb1875fe44d4ab190649436f6d2a36f7494748322e3d9a0db3d67fa5430e6c973029f4b6e612854635320cf726397741cea1923f30755c59837558250ade39463f067d1ffbfe9593b22963cc10fc8dc787bb38abe45a32d1fb6a41d9088d49e838fd3b6d33087b77cfce25cbe2103d729be4d4ce4ad603e75044acabe230b0cee1ff564afed0eb54d36fef8aa55d9449edcbfaf59ffd4fd43854b8a9419cd52a0c885fa52c59ff81592c3a - -COUNT=31 -L = 1600 -KI = 05706d1a37010a9e619b4acf535d88da2f2f93e6d6c6b577ffda4f60b37e420a -FixedInputDataByteLen = 51 -FixedInputData = 4915448d57df859d874b67333fbde69f0162ba77841a427fc1bb899677781b5b11e2aff8ea9f38d49c01b349734d1eb1430262 -KO = 279666dbc52aee11145568d65d98279c04b15c2117dcadb0ea24d54eebf752119ba52e2977b3efbb7e0468479e3a9b2eb74ca04b55362bda340903eb21f5721d0dfcfd5626ad561983859a27fe128db3855d12ac63aa6fccd9bec67bb1cce9e3d611f582edfcd2b2d6542ea39e3606292bbc872d757a8dfa062a42fb509b80fbbe9944e1c7432fc4e4d9dc1efed25b3bf06a23b5c04a6d44e54297ba53148731a1a23d6f7753223df9f32856432c56c15aace7f5f96065c38a62c0cc2eed9b083f959beb08023951 - -COUNT=32 -L = 1600 -KI = 5ab2a607d16384bb0603feaec768cec318dc9ae12c79ab8c699544eaa908dfb2 -FixedInputDataByteLen = 51 -FixedInputData = 5aa5ca3ba115346fcc3364861f5cb1ca27f8931f9a7545b8388ddb9eef22adaf3dbf306e0a3993bd810213cf85702203f3524e -KO = 602722b2fe1d9d5f538fb36d1dbc353ceb6897fbf6bb9c0198ff45e1adf7130a3c46de6ae2152c27642be5dffb90365beaebfd0688372597ccf9c6682a1dee6f30ade5f31d887835d51e1bfa10bcee31c61ba1eff27f0ac95a0aad7498f78f7ab70eb2cadc82d032e84434007cb4ead7c59543c1ac58dce2ea7ead309f790d1e44954e63d6c96b3b4607406d8a29214f889dc34eda40c846e7256ebcf9644b17a5c001fc0d10b9cf95f4791a723b8f4199861981ae4305437cf8d6ff2d1c517ae32e0d94fa589278 - -COUNT=33 -L = 1600 -KI = 3d9a02b067d596beda9de5f8c39600b12a1101af0993777c4a41e5776fa6d62e -FixedInputDataByteLen = 51 -FixedInputData = 5ac15b1f240138765ab23cd3abe786c631256cf7a99a1ab5b02e3cb8614842b640098b98523a2d0390af2cbd061179793e46ad -KO = 9e41bda09adebe04b73e4a71f0f477c942c37b684ad0ff637048e96687ffaaae43394169bf5f5202b7821c959c05717c4543d6efce540ee44c052ccb0747aaeca9ebab2fcb5bb0ff43c20785362686a01c4ac80897e7fa99b2293538f5778dd04f2536abcd901826b5881079bd59d817faff6d3ba6ef90c23016ec589bef833a841ba06ca5cceb277a799fab4794a59df28709d43bdf67d11546faf08b63e3cb7ec6ddaad424c1feab672ebe61ddb52247c3bd3b156651e8bbda2cd03bbecd491003513fe3ff9c17 - -COUNT=34 -L = 1600 -KI = 0efc88e6a6b54272464c9f15df0befa1c5657898511bc70d6418784057ea237c -FixedInputDataByteLen = 51 -FixedInputData = 50ec296c6de72cae406d16ebd1c2e6510e526ecee87109add69c496e6878ca39affc3c91585c877059cdd5db5080be2e335315 -KO = 29de63d258062fad3b4bb7bf068469c21704f93b18b2e664122f915ec5004aadb815620027f3a6d1dd68aa0a31d09be633d5e3878c30e309c00f58b2ffdbad5a70667c627aebeab2ae99ca040df8b8f42035616f384f3559721865bfa772369c2f417b77ef1abd81728c9b889038679396f7b9aea5e4dda96e76fb470f969e60830f2a30f9fd209c71780160a33ffc1eb234b8a1640300f149897aa8559222aee724446f0ff1db48cdbd3527507bdcd25ffa1729ea7425c03032c091c9db8a25d4bbdbb39a62f98a - -COUNT=35 -L = 1600 -KI = 7dd444c27ef169d7944ca4f57b2c15e661e0decd19be2bbbda9692fc0108b323 -FixedInputDataByteLen = 51 -FixedInputData = ce2b69f61bb7904016e76baa187265986446dbd137bc2708a823f553be11042ecde358362d4e96539857edcfa486db251b92ec -KO = 29119e6074983363e754db9b154393f62231629c1c99c2099d473a3f765d8ca252593be72b2e0fc48bfaefe471cfb68c8fe6fb865af5b6182556db60068bc914e7f4912cdadaa887638ac2abbcf40a81e5186df377ddc3fa9eb722863d086b2dd464b06fb62cca0ff830533a98d93435ed92244de0cefe27251be067093373fb6cd96013ee412d65c0e7ec1925b61456565919120dfd233dd28766768c8fe4a32654e760bab40990cf7a126435dc0197d9a4033acf6bf2c8a09934fe4646018452a31fdd3d576678 - -COUNT=36 -L = 1600 -KI = 9b0ef8ada28bf5ecc3097af65c535de7814584deea89c81cc205c8ff484fcafa -FixedInputDataByteLen = 51 -FixedInputData = b007f80ab75cabc54959a50953f313b531dc5d458405ca0d47419727f735150527d4f1dc960c791d4544ccd9dd1428b413fa8d -KO = d2ce6132d1ed727fa2390d75ed41b34b79f0fc5b87a68bde43f7d123dd641826314cbc1beb75dc163e8a5df8762edaf2f0e6c5159aa84b055ccee09cbda00bc169078106411a0bd016d0f24b769d39e2e7069561510c55ead3cfceefa40337c421a080ed61bcca27ad61889a1bf7001a8609e62ff772d02d0cf44b0db45b0974e9f10b47f155bb9fccb01d5f1226d0c9e6a6fb653113663ecea79f8a3acb8f3126244abac721e196a22854481e51c7c9405dc32d2d798e3741b59be72319aa63906efb4cbb3bfc19 - -COUNT=37 -L = 1600 -KI = d57a31fb282b4cc1fd0f3564970a4b02961adb5e457529e9b2ee58cf6cb11f35 -FixedInputDataByteLen = 51 -FixedInputData = 7e6fe8a9b22934f7b20b6721a91d82fd03e661c825c9db54fc61d153da985c02ed188fad4578582276b5eabe69b2c3ec138594 -KO = fd5d9a36f5abcb1f9cbead6b04ec9f488ec1e5106bb93dd284c92d2000805ddabf0b26eaadce965f2461f54338d4834220b1fda6476ea21a53869b5ade6791356d2e50f4e20d790ffc59fc431625d55e497cb75e6a5857d37a11405dc288e0dfb2b25dd51c30e6d137eaa7b27c567b5322942fe1039abacec313b27a16c3dd937cd91b46d1192fd9f4e4406f13240e34a727bf69050fbce9876a68d9e860e98f3a0fc4e4be55865b53d172a3a2d857861e4184330383f5d2460550bf80aab8378de02983824a29a9 - -COUNT=38 -L = 1600 -KI = a380645cb1df2cc3742534aa0f91f3ea0fed17a52666763fef8deec4bd1dc6b3 -FixedInputDataByteLen = 51 -FixedInputData = ffc4220de914896c0ea0bccdfabb48228c40fa59f981d60707aac95227e5f5efcfd2587e673504ecc5c024b4c94ee5d593b6ba -KO = e0d781f20fd2ee20fe05152d6a38ab20fb912ab27d3347d6832119ad4811ebcc05c6bca100fe70897e70a6b9611cf56fb2b12be99e8cf60476300f412e4fad3ae7b34f32cfc608d0651601c83d06248c469e08b5e30700bbc0104b0e6e06abb421b0edb5db256bf523e359a094f1fef0b281dad82cd8c89f895fc7c8842cc502cda9cbcd80b8697acaab399411581d963ab2fb7ab5b92d0228ffcee6384fbff2d3f3a59d3aae784bc35cde5c608c29770d8548b4dfad4cf48c35b9a72dfc52f5c3cb385235ddad4f - -COUNT=39 -L = 1600 -KI = 622d9721dc3e2f70879c9a4f0f10600727e462df185591070b86d774a2a3654c -FixedInputDataByteLen = 51 -FixedInputData = 4f568310aa3c90e1fba0a785b33daa79304ec888466e97c49a56e5da638a7cfdc7338a8580828141db490ea757b40d03de9f12 -KO = 509da6a31370e25d27473a5e777b471f9c8fe521d98d6553d7d32a22f45c136fcda14aaca75dd61a0684d48cd0f16b1801037b22d88057e8978d74a27aa57e17e9cfda3cb49177b8370d3395c79ff1c4ca3a8ab00194a8e80e9d6f8aab9acd537368782a06c96da646ab383d17c45a4da4d650d681a5c29a82148d68a2581d1851f2e7c3c2af6105c1b43c897ad4cafa587d14cbcdd5b09fe504582044eb06e42cf5f509e4c3a6c86fcdae5a5ddb4f5dbabb727a2405e575cce55827d4d54e2b31767e8ad9b5a88f - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = c2fbee2db9e2dff86c9c3ab85f8c25efed2e83c5edc393f5630ada91147b01d6 -FixedInputDataByteLen = 51 -FixedInputData = 1728a51c029f891ce66fa6ba5e058b07f8d3eb5911ec3808c9d87c67bef418b0e5a3ac0f462ace4de9ac875af3e86c486b25d5 -KO = b6685eea203e4fc6f26978591b34ede6b5badae0bb4db7106a2f0f078c4f2a50e842b0dd1e6e1d0c86b37a02346b597e5f0a825ec3010c9db6caffa863a3e15e - -COUNT=1 -L = 512 -KI = f9e3147827bc500f56946b3e5b915ac5233d6277fa5cf8fce608f9c837fb9045 -FixedInputDataByteLen = 51 -FixedInputData = 93778a230e033f455d568d6a3b38825b8d8a4e48daba63f544457b3a0119095b236ddbb737317e42055f4fcbf0cf0261eb0d3e -KO = 8fd32db8624011e6ba6d65442c23202d30dde1c9b7448da70ca19a6387005b01bdfaae02849c8b7c111cfbedfb9cc6fc19a0cf8e8ff0a032dce2d06469a4df2c - -COUNT=2 -L = 512 -KI = 2d17e96e71647f7d50452fd93e6d5c2931c11a26709882e65f28aa90379e8150 -FixedInputDataByteLen = 51 -FixedInputData = 1bd4c4161da0ebb635a143ae2d4a0abfcd32347a51c048df59ab2afd6afcfbfce71fbafbdd16b6df2597c33469a69af755efe1 -KO = fa277889688000a0535a082f61d6c98484af12bc2bef477ee23f8a9a2330b20af3cf4bfe2fa511f2b0a644bcd0a21ed169b7dda9ac35762f9f3e3fdeb152906c - -COUNT=3 -L = 512 -KI = d0b06eb5634121d3c8aea5dc7d6570201f2d02dd8fc56d25927901cc41bc480d -FixedInputDataByteLen = 51 -FixedInputData = e6dc7888694a0c9e2daaf9fae3c3018589c08c45f20ec58e6d3e3bb1c5b6a08a530c1f2f22c5a954025c8130579eb1b0bb388e -KO = b8f29026134cfefaf624d8b9d2503352d19ca52511d10501f01eba9ca49c49197ee571ac6d8fc93d119c8251b603615531191315ff41484baae3435b73246286 - -COUNT=4 -L = 512 -KI = 6c2e4aab3ff933a5ac905a8965f811c83ad76fdc2c05b79b6f3c86f72dc54972 -FixedInputDataByteLen = 51 -FixedInputData = 443aa617e601b44a1e3b7f822bf4e32e215b432948dd07936c7d8e87c89574f119b526dd9f851d3d01b95841431983bc78f1d3 -KO = 4cd04fe7fa44d4cfec7bbbfb51e5c7b5f49fd49f0e0e218162c7ff59548b7f064264ab8beab451816d07fe60aff111fa78d8b86c77af72f4e09743a28b3dda76 - -COUNT=5 -L = 512 -KI = a8e40f4e6014587f8cd54ab027035a5b717e68959b0bd5354287fba7721b0c6e -FixedInputDataByteLen = 51 -FixedInputData = 6f0fd39b190a666b88da1024dfef2cd24c1ac607bb50913e5e38bd3c7507c2328776e0f63e33a3365797f81e313d9806aa7c9e -KO = 6041ec6f2b27f7d47ff5dcf2e02c106743068bf075f94719e40452148f362dd282f18599806ff13cea7358ceb2a7af65f284bc8fcf5afef09f60bf8511deb72e - -COUNT=6 -L = 512 -KI = a821877f0f471104adafbfe8de96fe0b17d6a418bec09333982b1021f9a9f3b6 -FixedInputDataByteLen = 51 -FixedInputData = 8a9a1f11622cc55d744d811ce55c58a4f7b7e08a1fe1fff68739db60c713d3b4dadae9b013ca028a2ed8e4af0542d1d1c5ee2d -KO = 081b42c8a4270675bc557e1723394a158c2be73abb999bd8dbf466356d015ab67f378de2372ad462bdd367b5082a3673571597ed749e977277cd20a0d9596a58 - -COUNT=7 -L = 512 -KI = e5bd4c95a7c6397ea3dbe06580b8aa203ba9668f60a6b93dc8bdd73109204aec -FixedInputDataByteLen = 51 -FixedInputData = 504a06fe6eec3dcf0286f32a78121dee57da1e2989125fb806ab2a6138c3322b5a0879922374c521967e853066fbf90e072da5 -KO = ee3e32ce3d544bfa3cdf161ef533e797a4707b45ec274a87624ee03f96378277abc94d4a6daa6b51a4dcb932a314083d3ab50d4b0838c2417aa75167b87fee6a - -COUNT=8 -L = 512 -KI = ca80becee5f54ced8c398f8e821d5ef38707a1f42e0bdfd395735dec78a7d63c -FixedInputDataByteLen = 51 -FixedInputData = 232ef8f9e3ef0f255497d2067290307628b098672cf801f504f9004f72fc1629dd1a95245937ed882b4e2c80777885d412a7a5 -KO = 308cf4cbdfbeac829e91f77c419812a934562deddcbc4d6d360957bc20a73eab3208aec6db28866584b396db774f6b4aefdf4e33eb1e31e32e9da0b1268d6b32 - -COUNT=9 -L = 512 -KI = 6736478bb52ec68e88d5e9b9c481c7060c3d886404c1e82337ab071dca34295b -FixedInputDataByteLen = 51 -FixedInputData = 91fab5b0153d450bfd98d293a64cd14c13a91ae36c4ada44819b90ab1c158c8d2f0cd913864bb788c95e3cd28197a73a0bfe88 -KO = 08e385d18ef5f8b2b7d97e933e75ad0a0a3c29670e54281ad12a7904cd205b5daa5647561b6a828d39d3d16fd1ce20696d36c3f3c7ecd70b06d16bc0dd71def9 - -COUNT=10 -L = 2048 -KI = 78e575d02eb2cd4064948e60ad3a0b0e163bdaeef2744309d66a0e6acd6c0959 -FixedInputDataByteLen = 51 -FixedInputData = 1cddf1ff382d273c4864f292ceec88687839aa27875dcbcb7ed5032689f3c705d8ee02425f79a46ba33e9c6b5dcf16356d3ca2 -KO = 0ad93c0bb366e5273424636e2066568c9a1799ee82464cc597ded721291fbeb03189e4f369342d26e1f9adaf3e05ce3539da7b031e81f4231698204ea25801d2fd44651cf601a7ded11342ed085f4402356470a1430c5fa80f8c3d646174eec2a8de7cec596fdd1e5f7d6e7a842c2ea2c219ce368e71496e9a66a3c1e27312ea8d4b99fcc408f3365b1fe2a0df152be6bad77f5825a41723e1ef11eb4b479ec3f2983b8316b31ffe85b3727c9f87fc4210d5ae7ded9b66dff2d9bd4dcbc5a75e8052fa5ce665fffe214cb1eb39dc174b305b7b70f1999e8676b78ec6084ff4455405b5d0b3d5634d001f9227db38dffd1b1faea039b618b7e7d6bf5acdd95094 - -COUNT=11 -L = 2048 -KI = 3d705f058f9ab1fd3cd96d36412049fdc8487c4d0bc4a2bed51b23177c23c8dc -FixedInputDataByteLen = 51 -FixedInputData = c0e9567db2ea8fcb9337ab721bb4a3aac58b3c23d36a9b05a61a099c2bec90c095d2184cbb94087bd925126762d3a1ba87ec1f -KO = c209c8f95140ee773104f6faeeb414ab078080d9745a9527c060382e747e4eda6de77bbb9e7313c2317c65bb9ec7b835356a0b19676b7f4df39916b585acc170cb075d2cc144b4b34c298e01e4b15e222b1a547000fa298f230b0fe4d548fd2fc60b9124b6636aeeca0591052031aa14c7f5fb561ff4847e760cae9bcf0440401a5f61149fee1cae0f7c6aad98cf4387814668a9a1253ea17ea7404f44654f87fd457f8abcf7e4a9384ecb9ba29a5898b1a73f07e206c7b6d841a62ee6fbea6be108fa72e75b10d642975b9118e6bfbd48f7c680a4fbe7b9561485022d05c9556c9e9aa1c622861a12b6e7542792f7c3b645acd9cfb48540ba0c6b1bb48ed850 - -COUNT=12 -L = 2048 -KI = 92b9f9189518f77bf52c352a3821a69107d4bbdbc9608bf6ac0aa14705541135 -FixedInputDataByteLen = 51 -FixedInputData = 00b88642af5c40bb895a78a8868a419cfc507f73cb5c9952ece96760ae95fbe2f05a2cfd160ff24b1d012a7dca432d397a2c48 -KO = ed7f426ae32ab363159274c6a7e460a605523c903d148ee0a1938c3e3f3d9d344419c7264dfe3d324493d11aeca44d376cf3846c0484c3b5156d3a9153eba18350d186a1f58f5bdd46e76f3c686b704acbe99892d0621d2ac14699ea135a425d6883d392864922947a60f28317cbb9952b6cffd929d6f7757cf7d6a295c7bb7051e75e25c399e62a8b1e608649eacab659fc185af82a06f78818432d7524e07b97251b6df5b48748cb98f3dd0cc4fdfa6cddf0371f9f0089822bcc0eddeba428e5f44fcf63ca1ea0471e32c284b069527255e7718c24ea41a93c2d481db40ebd982893b7a8f6c43db9d2d469528c094baa5aae0e4045c1b9ee50a1c376a858ce - -COUNT=13 -L = 2048 -KI = c6e9c484aaf35a704a1969bb1ae58ce58ed8297c61a321f953b24213f62ba21e -FixedInputDataByteLen = 51 -FixedInputData = 2fa8f45655ef689ff4e9d14b900c2c79d3fb7d24b8d2266fdabb5906215b9358104ccbe5d87a2bea564ad3153bebd3138a0410 -KO = 0db9c78623b3130ea10a1c050af63e676d8b0986539efc425be3964a8779a834acc9b0d953d17e711d3eba7c89d76e532b75e4ac994915bbe64f9e40af204ea9b76bfdc6cf7aaffbdef79795a924ee5c603b7d78436cc736a1d71dc9491046791c7d92c7e406e738d1aadad1af325dc043656d37b693d07e9e744e8d9f358ede36f4f4669dda9e61605445cc26d2d8881c3b4a3c9f49b6aa4e4f725b2b1221c148c152ecbeab71e27998f744738595620e7de10d69235cb199202733081e22b237377525f684da125e3152e950d3c8ffad26c9282a7cc84a1c59e36fcd8f93d937baf06dae8085841349401062ad9d84e0803452612f1a4e7e0b99ecad119b34 - -COUNT=14 -L = 2048 -KI = 57b588e99f4cd0e901e944137926a381cc542cbf43df76b043e528c6fe08e4a9 -FixedInputDataByteLen = 51 -FixedInputData = 075f9a9a5003e170518d67e566bae608ddc1235821d67d72b588749f4b33e15a115acb156440ba58b768783e9eadb5358c89d2 -KO = a3405431208d3389a0f25b0bd5c85202f65070d88e52b5e42aaa527623910da5a9bbaa84a4dab9d0ffe955183df1f6178c834bea07900c437417f41e018abfbc0601e49fbb000bbf6051e3aa568ccc50e6c94271eb8ba6fc5b89bc6fde205f36e36b51ef17f777168a5ecb92a5648d69c00e8fa5ef3250bd17c40f1350ef287a3bbe43cadfecc482e5c0fc09d03abb250d1c0f5596c2fdedbf12be326ad5bf206b6131b01d8243d6356f17858fd7ec17809fc6897927a9482599bd0cfd0fb728583edb368edeb0334180231f60ebc7694e38d3efe65a50d9e92fb0921bedf78bf9b1ffdbf2074d3bcc3ed454d2c4fd42772c05514a4c40216ae7beb85595d089 - -COUNT=15 -L = 2048 -KI = 7565fed91c5372738b99218f3296501f03e7ba2f3f972a9190059655bb6ddad4 -FixedInputDataByteLen = 51 -FixedInputData = 647a6006c8f4e00df95238818a59f0f80f89e86080120c3124fc34324d7397828f3b42bb424171c8f2ae979fa1741cedd8521e -KO = f59f164d67a2b8ca06b8b9495b7f37e8687842616a87e2761b69cb9f732a0aff59878175bfdee86134993b9bfe0d7e781e5c8c2cfb17c1405f0f4a8068cfe16078b55fab8fed5874aa6d9ad724f5ddfce1bd826572c9879100bd63808c5075b3981ad632f7bfc33615ca5cb3d4d69bdfa8d37f7b12bef2e2014bb146125ab3f571813fc0441f8d77f0f721d0ba3fa6dd53fbea32b37d610d56f07dc34a5328ca8f8efaf716afe1b47f93a9c13164a0b993aa2aa2ee6c1da7d33631a8227d04aebd5de85b135c7df729f75c8eeac7912c57a57bdc27ef6422e123c3f523e0cb27538a4bc979babb3ed40fda127b2800d82bfb51e9663a7e3b5d8f8e9e2381584d - -COUNT=16 -L = 2048 -KI = 77738f8820fd494a138bb870b9510ae9a0079196de3aca978b8bd28bbbcdf228 -FixedInputDataByteLen = 51 -FixedInputData = b2c7b29a08a41d23b6be3a660b9effa2b47d607d4f148c59be12b5502cc517c00e5b9a7bfe0e22e7a4e0399cba31e0f36de635 -KO = 0493fc808bc5385e93ab854b96f442c0bc2c18ec2f03466b28c3c545df0284d606cf95162038ed4fbd9df99b8319f0a9bb9af9acb85ef38dffae09018b38b63879346e19bfda523e63d6e7c6c4b973dd064ccc6f2455f9e2b83bddace1b1e6334f37acb26a9405b3e7a7dc721f69f61d35475f55db502f6495f27b9781bb0b0ee98552ebada7b3e90e1e322bed8465f1f775d9e9d46d54207812539253168b0d6396284efed58a78e7486020661cfba1fe5e4e15d4cd134a2f1bc14768dc110e6e95cb0f8e79263be7ae1ef8dee08e0fd4b88a94e1f5891fb51230c72cf0195e7895382c1e0229edbaad9b5b9aa7d6d9d14ba5e343b1f5c93ae97f4ca7cf4fa3 - -COUNT=17 -L = 2048 -KI = 8eff54277c91e947224c702b3ab092ab5a4fe5e5145fde31ad779f057bcbb407 -FixedInputDataByteLen = 51 -FixedInputData = b4f52f6f2120aac0c4121a0a6402f198acfc3336f621ea835a8008f6d1b4559188728848eb2f9e190276f37208f3cfdd4a1776 -KO = e1c01f79a418c7e4247e2da58b020c53dbab96011a84dc2a81805079dbb31bf22a0fbd693c10818d0eefd773e1b28e8bf85fcbff96376c364289904b23f3abfbd8660f3bc677d7d74f4814bd7d4e24a521a7c8d6b9b4b4e384af0463d577c8d6b3b43a00867afb5305e5e3ddf6f38a2bfb5c178419ab6c24df61c675be2a1de64d024d76a9f2b76fb74db3e68c1dc133cd7ca90700150bb3073cb232a532c5976b559e1b2456f03f67faaea7e94f5b569c8ac27748f12fbf88b23168792a3cb9c2eadb13312b80e5af7dadb40fb0453e0ef0e5b1450826da971ca6da7c7e96102f72e8b8791855ab18ff72297ccecd3c0ebce9ad9b8e76844430966e39c72f72 - -COUNT=18 -L = 2048 -KI = a1f5715f6a5644deadfb56ac37c8bff21cee1b175e1bdc314657b859cdf6bc42 -FixedInputDataByteLen = 51 -FixedInputData = 8fd05292bc6f503c6d65f8336af1ebcef16b2f3db49e177c8aaab09a7e72cecb9e0dda612392590e57ad141b9efec4af9ff748 -KO = 1e81f4e1ec9d12c7732e93fec6e5ae87a27fe3b21ac8e221cfd214281532078e12208944ef84b02b5457f8f2f4a144db79e4b924f1a9c8170e6aad075a09a2b52b629dc2ce1ae73d6bfe6fc71b77307c5f80feade38202e9a091cd1a7f53407de17e503141204b1873b309643d39d3b8859a869aac49cae0c3f8b38a24ee800b3ef403995b4edbc3926eaae3a149371a6cf3ac200b4eef33c2069753f4dbceb1a688ba4e0e1068609804f4d8bb2a178636825d5cdc7ac439c59d621acb8ff91d28cfd2642b99878e37fc911fff34ff3abb49d33728d29b331e4d47da4303d388adf88d60e0af098fb4cb7f0f9e4e0c4cf8cc4f947644c6c3c058402fdcbad256 - -COUNT=19 -L = 2048 -KI = 0c9129cfb499f78e46e5115b7fb0a161067e4a7b81979806a42ee59427930a26 -FixedInputDataByteLen = 51 -FixedInputData = 2e2e1f879bb341da1187f13d6758f75512882f00b0474ad9b32e97da84dcdbce779b8870c24370db8828b34e46dd9038ce6515 -KO = 9acce12118258b3daa802de157f824de0ec9fe1bfb05680f391d01909e8b1fab4b8d71ffd52fe1f3ee9b3b52777439e4a80d1fa3825a42ec6e3cc7bc0b3f0e08b8b497f215b1916a754655d3138138ce9bc0129dedb3e010c7a794088a66c515539336d94d8fcb5daf3be9661005aa8746b904328660bf876270d64512d3c779117fa46b3b4c5fcf6c3303f74e53f30c1867ffc63628132abdbe98e432742a58ba210e1818005a1718b670c525cfa5d81a28a8724d706bebb6effe44e4230fd66a5db3ddc78a85c22f0f1739c79c0f1eb1d8feb9bc08c3147585f277aa2a3bfe60dcc0069571bee4d16e450c24c9782e84ff4de319a635c1e46aa31818bf3d07 - -COUNT=20 -L = 560 -KI = 5553394ae95bd06c18b7b0a9f8fc79b3df878033ffd402ed720cecc45a8e612e -FixedInputDataByteLen = 51 -FixedInputData = d9f9e96f4a5950c15ce5aa790a7f5eaa707502c4508a36bc007367ed8b5a9e6f569481eb11120a7b172d33323d08ccd7b5dad0 -KO = 62766e83889b0667bbeefe0b6c314c532aa162795cbc8d922bb1f6a3877ae52538d1230c547d5f0796e3a4e67612467161847c3c85c0eeee956b281d44b833a47b58f4f095cf - -COUNT=21 -L = 560 -KI = 74ab6988a2c098aca89bbada1eb14a2e20f7d8c4c82223ca9fa7d383c638a84b -FixedInputDataByteLen = 51 -FixedInputData = 0f525531e7777d7556a1e0a5389ce88297a72e54ea8e96322aa368666cf3c1ff73df2747228ca3b92b25205287f93a636dbda5 -KO = 32c9f8734f54629d4ec01ee9a548fe01aa79f520d3744fc12032f31006d9cf8d4c69ecb6681363793f0704d998de4e064444a1d0d815c719d9113637fb6b31024cb71da973fd - -COUNT=22 -L = 560 -KI = ae75245c822c372d0aa1191232927ed46db08d2a1d4c714234ef44a79fe548eb -FixedInputDataByteLen = 51 -FixedInputData = fddd5dd781b722b5feae3be5559bf4857e6383be291600e5b8c457dce595591a5aae04707709c440f6f4f892a4d9c3d9a88e78 -KO = 93b4155d4ac1246638979baac3ae40dba28a784ebc98a12d8badaba356430acf51bd83508f6ddb45cd37e8d7f9fc246b673d303f89a9c53ea4804b44e9795e051b2c16fa18a0 - -COUNT=23 -L = 560 -KI = 9a491c61e5a20024fb7e9ff8f74aae4d4d6b17d2786825655fb7dead63893c24 -FixedInputDataByteLen = 51 -FixedInputData = 6daf8baa8b9667f1dc0b93b4516724ef5d28327d76792cf9f1c62f59090e6d5e3159ccc531c7da863873fdfa1f65cd2038af68 -KO = 158491290a13d67f8f974cdafcf547ced9abe63a04c06eb2e8232b764768a93925accb2fe90cafd9b85a362d9248e647904d92a32fb4047384ba683a38f150bca0ba07c0f85b - -COUNT=24 -L = 560 -KI = d2b38f2505acf1612e8ad43c8754273cfc01324a2c48b81aec9b6b7bf2362da0 -FixedInputDataByteLen = 51 -FixedInputData = dda499413da9088a9041bff7dcc2e0cc907f93084f104e0b67603dafc7ee30df6e38296e05c69f19b205b4e72b829cf62fd90d -KO = a00bb8e4aba1b567d91e761aeb0e33e392aa441693df49fe7b283e6e71ca15936675a759114cb56fc1ba3c2b63bcc1c6d3d0a0c564ab6b628ab133c4db949ec0c56345c3e362 - -COUNT=25 -L = 560 -KI = 4c9137fa933abe21f25dda2f4aeaa08041bab40ca1b46a8480672961ad94547e -FixedInputDataByteLen = 51 -FixedInputData = 1102b47adbd1a57e8333ec7de725afa73dffe8d0b5197be8ee66eaea473e2f7f0565345b5939ced0946c0e992681c958086a32 -KO = 10b4f1f8118a5afeaa486437428422577be172e5f186421c896544b151f889622edf1a8ca020618a53a257ebccb63486c3ef2988827fd4488006dcb6288ba39c85ecaa34e0d6 - -COUNT=26 -L = 560 -KI = af036d2f53d8cccabbb97a8e53411d1a87f2e702bdf076025842d347720cbdf8 -FixedInputDataByteLen = 51 -FixedInputData = 66015e6106eed8520d3be7813c97b56100e9538f95f4f9cca7ef8abe50e28924db6d03095827ae0b9a928c107558899e21530f -KO = 2d3200727952cdb871d9789b78a31253b9d5a8f76a6ae57aa9766b08ec3569c1860ba2a5b139ef7d53f7b78779a76284ad6f7d505fd0127f5a32b1270cf9d68133d114832aea - -COUNT=27 -L = 560 -KI = af7d0bfccd0c58e1982d86a85beaf7d7d067fa2699ba65cdcdb85f183ff0ee62 -FixedInputDataByteLen = 51 -FixedInputData = 72b4699e62117e57c0d509e5d1771a361a8b5126ba740bd15311a5c7f7c140dca300067a4ee75376bf264116eaca74972a36e1 -KO = f1b52a52a8e0bfb9fcd50b2626cf8d8919183f45d7e32880d9888c01b558b1fdab410da9f0edaad10f5bcfd4cbf01d63194bfc64ba3783ce3515f4ae2bef9208fedc9318214f - -COUNT=28 -L = 560 -KI = c2b672294c265aa13cc4209495eb5790b9aa90c174b2dc65a57f9b5968060624 -FixedInputDataByteLen = 51 -FixedInputData = 342a5b616d552179961c3cdfd64a565de4f8eb15c0ba398f1dfca1e58b3566a8a798405127d5b1b68fca819fd237340a5fb421 -KO = 4ff687d50552ee6edd121a5ceb2f402da13d857235bd1e2cb1aa40c75dc757799ebb6e94c226c38a35f1c8886ea15d79537241da4c1795ad8cfbc67e85132b5c1f861f2206ae - -COUNT=29 -L = 560 -KI = 15dda02a4a526949704eef9bb036d3e199e3025933f32f116b43af4cc61bfc2f -FixedInputDataByteLen = 51 -FixedInputData = 442893b62cb6eed3b5ca4fa766dfa043b9832f84384bae97c54e42c7d4abfa1e2cb38e0a3e382491c37e2562903ab6dd1c059e -KO = fd39a0c5a90d270fa9eb5e7829cc1c7b3dffec85b93f87652256e236d995c9c4f378ddfbff2d5edbe81bea27e86cd83a742f23ea3d000889f57ea04577c8c41dd4335026502f - -COUNT=30 -L = 1600 -KI = 1536547510ad7bd8269d0dc57594fc2eb8c16ec2192b8859e8faee6df88273a9 -FixedInputDataByteLen = 51 -FixedInputData = 1d063959439d4e6fd4cfb39268adac808080d5cf901938f07d4854eb6b360b15543ca6a38b79b611879d9775203f35a336e316 -KO = 690e0f16bf531c198b90633d31d30e8b4e8cead54e8da6cda106a3586cbd00a4cfe9be8350ad565a7295cbc978f42d67cfee5fa6fa12c95fed63ce5d189d02f8b6d71dfb57db9e9f87b0fe9237c308488dab631ae20e855cc36526cf286efe99f86d89617bcab5c58e057eb016a99b0df793d6ed24e8fc3dcd1769e4b2309af7310b3e0ca406d831eb5c9aee186102dc3b69542e034847d1b95edb4cbb28806b7d7861c4b10092805deb6289fb2f9f5d08dfc0e3fa9cad5698be6bea14b90737a9db5c54e2571277 - -COUNT=31 -L = 1600 -KI = e3b34ab37e6ab32508523edccc2d1158fa91276f4e872e4c9737e34e7e8f7685 -FixedInputDataByteLen = 51 -FixedInputData = 99900d2060f3efd3779874eb1155aae34d8119e0650ed36fdae50b3201131233f97c9752b415501968a4c547a78752ae86a3b4 -KO = 7289ffdd39f5eed22f6e639a018b3c1fe5453ee7556ae61a131b0b4c28188661ad8600b519b0bef568a0bb1483da1744bb35c18e4ff11da68e42800100eeb0872c2686aa29d2ec22a38f318a25cbce5d0996b2a5803e5f49ef97d357ad33e9819f753041f85ad7abea14e98d456d5e6cabe9223f6055158d65fff3bc14dd9fc8c26233085ea422b10bdcca10023abe36f9be8735d3c1ae6967d8c131c8873bad2b9d20f3adce2c49891468ebd5dfadd26646949550c467c683eae8d9df5ebd844e75dca0399dbd4b - -COUNT=32 -L = 1600 -KI = 1e5361e1d3f37a9273e4e4842504821ed1c8a169b583cc884d64ae7f9802b288 -FixedInputDataByteLen = 51 -FixedInputData = f539d64005612317bf6ffbcc4cfca37a353c33772bad1ffb4dc05c10978c19e68f750063d33d3f8814bc5d96b51e0e5e63d91b -KO = 4bcec7da624e70c2c6af0e84ac5ff780e8f8878af172122d975c54dea5f0addbaae34109fe7473857412ec43a66e169a57021975d8066aaff7c01cef7d8a5a3c0fcf136358630d60d078ec40e757229af190d258daa59c8092deac48a91cb9c06248abe58dd0b4094a4d44d08caa3e46f362c4efea9c27b56fec249037991d5676a5a9a8be9d2478bc31f19635f9b101935a59a24f0b072d575c9c9f15085ed3ab90fcf19803403d53c0017b59b30d77ab95103553646d0c3172f927b3797f973617612f395f8956 - -COUNT=33 -L = 1600 -KI = 74aea16e4bd34dba957dc191c3fc6da97cbdf3d65075dc417f2b359097325d43 -FixedInputDataByteLen = 51 -FixedInputData = ed6f5c9332aed3be438f9abf97125ad7e1fbc28548206a17165cde845a25ef587aff4869e3e2dd833ec756ebea05ffe6118d9e -KO = c9c693371e7ebdf9fc8afdd2bada52d94e67b781e8ab5924e5034d5f0d0d010284d522bf313e993d0d54c86984a33b45e8858ce58ce4ac50257686a9c8ad0542286a0c7586b2d172e2eb9f2f1a5ae1c163044c4b9ebad00e74641075ab638cb529f588af01a1a4af0859a90ab29c836918b772f819dc3b28ccad49a8c5edaf42f2a33bf9ad69295d45d0638895f8a58fffba8d114cc06d20809f18dc986f3f4e7e0a74c6c4cf8abb7ae31daebcfd2f08dc5e53b75af39d1cc681724984a9350840dcfad05e144c5c - -COUNT=34 -L = 1600 -KI = 17226451b4428adc9910114d709bc84ea0bb9f64aafc11361b7dc4e6a3ea5ba6 -FixedInputDataByteLen = 51 -FixedInputData = 81b9e2ba3a600014cc37ef4cf259442bfa4742fef3c7ee53b33a479ee2e8e88cf79b14ee4edb822acfbc77c361dd163c2dd8c5 -KO = aaa4ba330e551ec0172b4491af263ca902c451f5cd6b78f614885af86c31b3a516c9c30b648ecf25525661bd3187d3e029145197171d7c9bfac4e943051883c3fb59495b7909de3778a47193ffa4ba0168fcf747c8c84978e48e1ad3e368f6e6d82fdb962f0bfa54a8a696d10270c2a1e2d6cd194907197e9150c082012ed0190663d6805dc3d3722419c31e58a4669f8f8cfb961e72dfd672d49d97dcaedb0aecbe5fa9555513931c9963631ae26a93e5bcf16d3c124d49da98a6fb70bcd572c627e44bcfb4b838 - -COUNT=35 -L = 1600 -KI = 9f59161ff96b0a58af6d384c655c3a6856a2e25ac8269d6b6af43c97b1492ff6 -FixedInputDataByteLen = 51 -FixedInputData = d5e326dac4289397931e2c913190e6cac2757f3b37374091f3908d7731f612bf62b7da346dfb45d664bb0792ede67f836be8a9 -KO = 71dd33f3f4ff9586a98b3fecb09a26d0c47eb3c84bb3cf3264e77769f39f4b6e3cd961771caa6c2e1560b9c0d41492e4d4fb2ee3b2f6a3da45ee4a371d8bd47548563ba6c88d36a706dcdd29bdc54616a456bea15e41e42ae441b5bd565dc000c11513e736625e0d5d6da64475c37ec4c141b4e92322c148e21e7c98c200aec2721639cd34b1c97e2cc9028053ab12e6074d16b769137ceb09a616643a896036c3ef1e3256a381a66250bf0c8fcd816948afcaa3e3270ccffe9389746f317cf4b903537ec7bca207 - -COUNT=36 -L = 1600 -KI = 654d7df477432ab7ae124a7b5f334d1375728bef7994e70faf8570ec9b5060c8 -FixedInputDataByteLen = 51 -FixedInputData = f255a052f4a56513c1346c70e874b1546556e86f8adc80b7498d5ab15e293ead5d345b4953fa8037a79499fba4fc1adc8ad004 -KO = eb28db6a39e352c456b702e2ddf481d1d874663b563246d7462cb1aa09b499723d9f609b042141e274e7211b6e135a143ac906d72c90b4dcc9ab5fcda8c9a6ad8928a4e780748c678cc9da827cc92cbc50dae24553eecb9fb2b14c15a780c7f6380b8b96115e7fe6a673c3a5acfa7ee21d3b82f3d61baddee47398d25f7be75f16a03f727b9f8fcb9512db022067537e366eef130b822876d3301cdde1aff03c33c02d52beba9f62ddd0777e721351b4aba8357851445bf6cadc3701237eac93759f8c446df50ce4 - -COUNT=37 -L = 1600 -KI = ac4b6a23d48a7282223ddfa990562a832601ae087b27f458b99908999e796b0e -FixedInputDataByteLen = 51 -FixedInputData = dee6e19e204b817c8deee88e1e6334e5de7db8dd751baa51539288ae9d543d036a69e97502001da84ac4b66891ac5c0e4f323a -KO = 548626c26c8b76bc8cf2fd201905497f8ee192853ff6df257b93ae99713046a5c4f40afebafa2bab74449ba35635e1170d68c354f0e32e997c38a75686807493237b5cdd41a460c9f8d7101a394977031e61855fed58fb5d21dd770b17e09e1fccc3fdcb887cfecbce6410e98d49b02bb24dc0050dd379f4e2b0675f5461855e2f9d40ac06ee5020cf8ff5b4327e10db1ab4b79452aafec04e058c7a567a0136ff5708c77e67d53f226f8198b1bbcab60450a00ff2abddfdb852cf215c265515b6a27dcd0302ddf6 - -COUNT=38 -L = 1600 -KI = 1d3c1feacfb18d3b3d89ee037a602de4f9d636890073c26569fd3f6511f7962d -FixedInputDataByteLen = 51 -FixedInputData = 91c4c34001d2bb42dd673fef0755027fcbfe41723d4f604114c00d560a70e7e923cbda70d11fc5844ce046dd3dea3e8857243f -KO = 160fa3bb46bc1d244e6d0f9621575fe67a9b3398b2401f91beb6364f0788d7fd9f9b86029b8f379931a5745e0759aaf4d0fc9a40081aaad0f8f8ae0a50338e07e1e6269a0e9893798078d9f801ea3048a10335fea0a90a876f48f2ba38a90ea5faccd23ba9181ab73ef1822da84395877d1fb481a1102814bc6300302b979e1cc4428a94d86e3f46b4cd2c97e99a8c61121c431f9e78fcc2ac129643a815dcd1e2c0c4f493646248290622238e0a87116cdaf4e7bbd8d8d6a9998a3d2202564104c7c31fc5730d0b - -COUNT=39 -L = 1600 -KI = 4047893607384d1930a0875a1459c9671ae0cd15c79f18d4b7c5ff998b3d8c63 -FixedInputDataByteLen = 51 -FixedInputData = ab888511cb322b0d441a9d8e31cd0a5ab440f6ca5316f23300cf6f90975861193299d95bb2d84bbbb024a4e0166dc727761972 -KO = 248a6f7caf70e4c1fea17e1ac7325a6a3a53f56e5e2bf1d7358c058255bfbf43013e483794a9d7d2063d20e3380aa7b4897f3433448a2fb5d078a88e7e34182f8c721484916a2b8f030072962068d40502b8e8ba58421cb2f307339102f9d319420d60b0502a72d44bf525d1988fe3b30b3f1a68654a10e5c0b5097e40c2499470121c7ddd070a247f46d99219c85ddbff5bf30a8fe93e3c222e6f56681a84e347c8cc5523c1ff006afb3fe0d462e463392028a654dc0152da307829738200b27a4937fdcabd5381 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 9d9b635b58362009dafb94eaab9f2ca2ec491b20754a873647ad262c27f68b0a -FixedInputDataByteLen = 51 -FixedInputData = 4f4f18f4bd9db6ca620a8cae3d3f058f9d2554a3e67c51505fb78f7beb4b3b5a17208c1ad60c9b48ffbddacfe81c6649b6506c -KO = 630d3507c946b042be9795b579c267c5f31ffa46556b288e5b4bbdeffd33a8c05afbb960ca77f7e776253f82f205d1bd4de752f64556adbe814e365c953ad8f7 - -COUNT=1 -L = 512 -KI = f270148af6b3fcf9ccdf3a0170bdb2b05c2d686bac645fd5f5b6146d123f2d8d -FixedInputDataByteLen = 51 -FixedInputData = 0dc53692990b6c2fd266414418bb8e41700c0fc292d5814fbb95ffeb07bb97de16c10e089d9f3c573abf4e8a65d9c7a7aa3f0f -KO = c37f409fe2579acb1be9a6a47e58e267279541040f41de953efba51decfaa7ce7b5107b39a25724f433a805ef3a5f3a9f87e6649d33c73da1b46c0b681eb5cd5 - -COUNT=2 -L = 512 -KI = 0a4ec1ece971ca79de3affcb8c53a94665d9b4f1962ce5d5830618b6a75cfc92 -FixedInputDataByteLen = 51 -FixedInputData = 1d55fca3691f6aebe67b4ae93b79cdbca25d3411a500bbec3d7864b00575733cdb9c98f92393390b4d0ef0fec7937451ac90aa -KO = 01d10da8bbbac22b8a54e99625182ee5efedcbfcfc34eff9794a52b1716c62482807cfc94e1310e7fd06e7e957a1138992645fb69dbfd14d916a7fe39c9ea077 - -COUNT=3 -L = 512 -KI = bf07e38968c36255fd00894839a93ca7ac1ffdc64d1f7a3902ea3bf3796e8bef -FixedInputDataByteLen = 51 -FixedInputData = 164f18357ce899ea9b89fd1054287c3620fdf7cdfee00119b40bdbeb03de8637b740127d4ab5a70daa06d1597cb41a8a519177 -KO = e587605796ba6e073970d6e051da3833be67dbb7cf642a371929b9669a082906b318121c3b0b9d71f62683f4c9bc8f7db4174116742ba793f1ce599a0e8b9526 - -COUNT=4 -L = 512 -KI = 0f642b083b69960e256b235d1ddf54a71f3772128f7aeca0bc2c762a876448ab -FixedInputDataByteLen = 51 -FixedInputData = 10cdb81a66dbc917a5826f6e8dbf753deab7a7e4f56a49fb15cfaf80bd0010975c2cb3dc78e95d4f8df89679e3376e054c7f9f -KO = ce7467e47f339c6c3277e914ae1fc247e8bee47e79ae5ac52122db899291e0e1118bd73825308f53ef4ddeb8e4c869dadff48183c2bc97c3769ea8965f13abb8 - -COUNT=5 -L = 512 -KI = 9270b0a0e4d5ae230c5ad9932a1f95b509b610f72db89e0062ec967ea75e3c43 -FixedInputDataByteLen = 51 -FixedInputData = 48aca744cbc9bf9e3427925bf61b57980d304b7eb2155785f90cd4f6f11f015685dfd3851b9d607e74f38a15c1b60e05a330a7 -KO = ebb6d5c60c9be6dcd6fafd44bf25a99a3cdeea5fbf80eef5a8f5a2067fbc245869c65f83dffd9fd153e7c578b0f22364a4493531fcf719b85bd7a3f006633521 - -COUNT=6 -L = 512 -KI = ab148c90c57d7f8b0cd4be3f1791260997cd69cba2159c30001c650c5916e9cd -FixedInputDataByteLen = 51 -FixedInputData = b22c055807bd536520c03fafa05b61dffaef52dce53572fa45586dc793b78b5376e4ec5dec29dfcdbd0effcd06479ec33869e3 -KO = 405af4e67693ae127a60cda33b01912998560d0bfd9ed1e6b7423455672409340db3259da9d093f276fbc61701717e1410107aa73526f41b906f0af169cf2ec4 - -COUNT=7 -L = 512 -KI = 91dd831c70a8274354c62fee4b0c3f09cd07596d17a1231815244dcbe1f7232f -FixedInputDataByteLen = 51 -FixedInputData = 1a5506fdb2e780650c46b86fa59e35d1935b9d5b51b425be2a819dae3cac115dfa7f5ebf8e4f8d4c893cda6385929617886613 -KO = b15f1e719f4b295bc8761afecf66bcd467f4e627acd348cf2790aa2b748ad01b35b76b81de809e5d0ba6eee335547f7b3d134c9b334bd86429d3cdc562c252b5 - -COUNT=8 -L = 512 -KI = de0568191475c665aa746361d602c808ed2b4ada2dafc2f3dab404cb2a892d5e -FixedInputDataByteLen = 51 -FixedInputData = c1eccbfcba92418c5f5c05e36f48d0c1b15e00738b899be684b70ee184d515aad9b3613d234e43baf6b27c9ef1aa89a645d608 -KO = 2c17ec513fe2763468176c84f5fa7b692026c12dfb599f50292d31f2b9cdae966dc5b5099503efe10db75ca60309d6ab4b42672dfe324b937ef6e686a3bea3fa - -COUNT=9 -L = 512 -KI = b07911e5d60be431ebf73f185b5cd15fa218aee0c69ead9600e0d1e131a265f6 -FixedInputDataByteLen = 51 -FixedInputData = 194c1e58eb03fcd848590f2d96482d3f72c2194956011d2614552c13ffa1aa1a8ffcd0eecf8fd39741aae0cca55e2d71040c21 -KO = b2d4773d36814d8a3c2eb7c1564fe1fd7208d6577e9f247a34b2844b4a0d09efcda8ef18a3fcff13215df8be71499ed453bc6d5ae8b72d2bdfba8ef77693747b - -COUNT=10 -L = 2048 -KI = 25c5e4aab7131622443be5f97115b65d6cf2c8d8e2929c08d711c9475e7abe32 -FixedInputDataByteLen = 51 -FixedInputData = 8db84672d56908d0b2610101c107e807be64143deedc76dab12d67bbb64152086a7100c8df42ed66ebf3c74eaa81cb3b5f3b21 -KO = 576c2a3c0329a0178ad505f265d998668415c31a2fdf79d7afaf7491cf94fe71f3627a9a11c21a6337b36f1552103683f54780fab277703bb85cabfa5864d7c205fa6dc8bbc8da06aaf13409cc67f100e11148020d849d9655ce2c382fa706bfab6a8e9a49489a274a0ff3f3c6aa2eff32b57140adb5fb184545e78fc9f28a770e1239dfa294333524b1f12afc6bb7bc18081b99d0d15a796db2542777f2dca108b49b391865cbe47826d23105a2e70c5dea3f7a34bfffbdef75a3acfd9a4559b00b2f45c62391dd21655531b00f133b48ac5c748cbb1592f5db353c920a9256b174b4123e9f5b0e9c3a00b2dc96e75b02fae9e1e7b2ae247a3166fcaef557af - -COUNT=11 -L = 2048 -KI = 37e7ed2b20f5e56b634dd49ccca95b20add5707d856170aaa6a1367787a86d53 -FixedInputDataByteLen = 51 -FixedInputData = 9e9bb0bc716fbce33108a1154b13259aca499e4c3e324579781456ee606d57b855cbb26c6645fc9c3e16cfaf821f2ebc13ea0c -KO = eaed94bd60cc8462c616e14e1ce384fa8e1a9c4af13a0ff134bff11ea1b1f588a29f16a278268351a79fda3af8dc6c0e526604cd747037b49e2a790426cca778bbb475ac23f86a0729b647e06cc2be80872bce5a31fbf8c6c7b8c3e11ebb0880f7d83ffd55a305e978ca7c65c08485b46bb496de4f58b37dedee95faeceb157020c3d9e3a40dc1bd29b3826a45074e1ed84e206a52e25c499d84db67f3b6da183c0b795d2648639379efb7e90ee9b2d78fff851939fb3b39c50aba601255fd21472e07b0eb4bab5e0e230a4dc5816da3e70f1697361f442e74c4fd6ede774aa68f407ae88b1b7876de73e6ff2512306cc99a441299bb15cef229735cbd453856 - -COUNT=12 -L = 2048 -KI = cab67dc3fe769bbc0c8b3f2957e0843aa2bdaaf36907b8fe65a4e9a79d106954 -FixedInputDataByteLen = 51 -FixedInputData = 1577c7ed472415f16a39e777fca0cde535d7dab902fccd47a0801521d6711d150e6b9b5466f6059825e4bf5a8f034b5aa1459b -KO = f8e861c9ad36386547e0765bf5cc8cd449997db8a7956b7e6a16e3db1a208626d257ae9164b28f15d7eabaf4c7ff54a9705e709de1b2cbcfc166a3384783c4100868a7e68d46fdc545c249f881da35bb76e5495eba9199b21f793756b7541381f7941e9d6e393611dfb4a3ee00eba6a340e55da0f9121a3ea82f4719a2ed3ed5ab65ec17387f3b1e0aa11b0bdf8105cda96cf976cbd09bfe8a77361a0053981a0cf6b4d109696f4f34cd777c79323a7013de82c86232ae52bb76e85b4dce43f5acba0ccc78fc82123c309b8b8fc07786be1ffb4df1c08ab0ee35a20fb0e2e2c90e151ed41554b1f07fec931fae02d0c3ef1f678031909f65073a5fdf40e6d825 - -COUNT=13 -L = 2048 -KI = 60c441f7d7e226c3663968b941bae295addf287565fe3ecc5e53a699893fbf69 -FixedInputDataByteLen = 51 -FixedInputData = c6406ba6a86d04de28fd339cb21b7bf4354abc2600ab72a207c780c6a069ee11e1442309c716dd8482d7618966482cef833adc -KO = 8351fa6f77a5118b9b8fad08c5112c8d2e20aefba66b8c85b794a124370ed788096727cb361bc70a49e1958df2115185e608bffa8320a1cab7dfde343538c496a7769e95d874b58e851c28c51dfedda6c3a6a26cb5914bcda2d09afa68942136365e6dde16f7c8193c7a2a8541209b6cb0733d523876d82bf82e0f74167d69e103de97b9d00651b674130712da2756d1ae9ec6e0bf7da2f81421c4af0873827a2be1de3724fd70641ad9955db37c930d496311740ebea24875b4b0eaa0cc913aa4f9b38a56c149cd21aa866f3c8ea0ee19c49b2f559f19d4a803d71add72b094d3d61dcd02fc46d263adeb462e1ce375ebb52b454e2462a364b68191e19cfb9b - -COUNT=14 -L = 2048 -KI = 53943409097bf0dc156e6805968232f5714bf26692e45a77e0366a12a5605043 -FixedInputDataByteLen = 51 -FixedInputData = 853856327e2876a8fad7734078c69d1c23f484ad9561da606a5ac4ad407694cc83b4e1c21e77c49d4789f81d9f9955d2923bb0 -KO = dafa076fa89f8840ab17132437dc7b85d9ecb94d9956c5fd99514fa8d06d458dad42828562c50860a417fbb146b0cad4d52807e1788e4144949914fffe80447ec338923bcc1ad7284bb410b7e30b4c1629a351308639b06eb8431e6877bef7d406473c88c4ac0893f33020b8495d882d97d6ee324d6b1929877f3afce4c19dcb2308139c11fcafa6daefce5396fa690eab76fd89e45a290f60ea2e6d17137ea3c36d07fa225dfaf0554d49eabae66c6dbf643adcc564290c71d9f3a7f4c15e0da292c24de8d2dc50a06bff9321bc05f4be551ac7a713c426b94c288c91797d2fd7ac5ce79835d6996b50fa4b231ef48fec5a8c9a7f9f50ec17cc9a9cf4ce2f08 - -COUNT=15 -L = 2048 -KI = 1dde74d536938ec4023ec6a6c788d9a7459d868306fe464534f36fd37acfd8d3 -FixedInputDataByteLen = 51 -FixedInputData = 0666856f0f0c873a4c635e8cf8faa03907b52c389a69caf76197570f5b8e550fd80c107eefa297747c0dddcd6eb0c442613e64 -KO = ea6accca6c96f7bbc2e896bb24a2c80ed5d5afe4dc260ae289a82b1b7650113af3061a45613d4db4bfcd3a1c934f1de717a2fd4dd00852a96f91bea6015b3e6023e3e7f9381891464df40ba307dfb3742eae5fe28af3ac7aaba5304bb496cadbb47c5e3b049c401749b51a7336c7a800b18ddf862118181df1694826da7deb05c5e716abd7e8f11be2049250889d920faa741dfcd98b0cf90a3c4b91473b821935b62cc9843b1e9a8f54c950582fd8195ad6b17a27f68e007db933a1179e4c2dc694416af3bd0772756ec08a9ce8a4d5379f26de70a0538ef65047bde9691c8eb899877cc3eeb2dea68f58152daef271bfba959c1da0e5c677af772a8ac28464 - -COUNT=16 -L = 2048 -KI = d35cb4105c02eeacc41835a149b13f795061bd7e2d92d9d8caef7e8ce1d5441f -FixedInputDataByteLen = 51 -FixedInputData = e1b0962bccfb9a14de60e6634702854cc9bc12d53295bd483fb246e6961ee5f14ba1fe138e584224582071e3017e9ce3f401ae -KO = ee81e33812a3181d51db886b983162b79053af154867064f44365b02e1176dab7f7886e53f2e977281f9671a97269800ad1b2863433370277ae001667d123bab0b139dd3d771820fe489b6e899e1dd4c5213cef38de9ab5f0df6f5eda2fda530882f6f60861ae49fe96ce083e02503ad0022662419310b9173ae01f733abf83d74e2d8722c02e0a4f3798b80d3aee5cd4e2e53eac7eec0a12fb4454bb0b52f055b7cb13f923adc9219e9d7b6502b5c97cd18b37c12687fe931609ca1efd3a281a24d6d0818d05121319d75abb15d224579846c67b9d7a61d692dedd3d548ee60586fbb10134e09578451318a97ac40a2237c8a2d68fda56b77288d519bd52d93 - -COUNT=17 -L = 2048 -KI = 550887f67dc311c8df693587ef6394674bbb6b51ff7e2fd4b852af0f42cda9e5 -FixedInputDataByteLen = 51 -FixedInputData = fba5b5b5d538f49c6971320268a78ef4edb6ea626f8e6451be529d75e478a2d2497cd0f574394da06a2efea090c9ca19affe6b -KO = aff008822c1de1b4970143d55b31209173c946f5d23a771f5ae0a6f4fb2dca80c3a0be6acfa7e2c3651fba68e4583267b09a4062c36f4a7252422dc058a074f49f5be9b5ab4885be9a96e3c8b36b03753c655f603bbdb2a7c4f7e667b7e7a31dc4e5a2e03d2fc7485f69dfb02062c927244d129a2ccc5320be476d75e463d090eba521b8d0a0057a015736227fb35d778492a8d67c505349591a5566fec067943fd161b0eb38441baec528e90524c4b30fff273d52d5bb2149ca81cc116a03db689777077ce3f462d526a321ae2a7355276db2a58b1d4331b371a8fb402d6c53209afb391ed7a85bc26314bba3c52b3a20c6e1d917e6a4670b07d748f0bd9312 - -COUNT=18 -L = 2048 -KI = f76fea78546912414b8e00e32babbebcf081016e86373ba1fb35e1c477f474cf -FixedInputDataByteLen = 51 -FixedInputData = de3e531add2462739282c7452937b56f3b2f9f4925a9145d901ef0046132608cb092602da6da360864d134bf35a30899f36c7f -KO = 7db35fbc6b8ca3e0ad52ed0e3932abdd4dd04f646755452569af873f17b538e0555d679061feeb9d44a3538668a61ffa436d83739174de73acd310722314ebf0dc1b1cb5135fe3fec740d7c34a3f18978674efa9ebc0e4ed174d8106665d9186d89d353e737910165968ef4a031d725dd361fa681687dbc8978f7f894f85f6c8e4abd31bfdaa5241fde2f6aed1cca425a7521c965bcba920a60a2280f32881ef280e7c8bb2572ad990e8edbc79aff265583252d3e7480d3f5dfae5bb5b37fcd79db59bb21c88d7872fd06bbe8c518b605332dcbc8a9166de82e1ace650ed7e9352336443732c2fd212ee6bbc34233bacca63a0c0a753de2fd4f4ad8f9cf64095 - -COUNT=19 -L = 2048 -KI = cff282833be372b553b38019d4825f05b771c39b09a82be6be7da5a6e3f7dec1 -FixedInputDataByteLen = 51 -FixedInputData = fab3799dec5b9631df99efe26b212ccaa09cc14b9c55f2aef246b6048b0bf5ca7847c6606b6b3423c6408723c10f9977cddd1b -KO = df53cab259836ff3df15b404cef2531b555450400a2184ff6673ce7f2e0215799eaa6fa655b583096570d7e2d1d4a53ab123515e40139c0f4e238c9f11ced8f101deb6a57c5d6d2a23857946b08efa0e8a3e04c5c5548d25f63bd77378142a42b497ee862e2181840265954bd285c302665ccb5dc2ce62f23c6c6c55385f53ee3c61a1c48e4dedad3a56da077e74fc97b0cf51cb79130ba6554eafc0f3143981b55374a0fd9455038245dbec0760d9114a0eeb0a6214e4a026146875b43a477b4e3f7f81d9509f9f140395b4384134f4b8eeadd5076f4d4911c3ad9cc4e9c48796a470378fc31d5bb9e5c5eaaacd2e3e8cb467831edbecd35a5775925bcd2df8 - -COUNT=20 -L = 560 -KI = bf6fe2d0b9e9dc3642f043f1a2627ca40edbbb1d4b7b65f86d961c8cfe4ece64 -FixedInputDataByteLen = 51 -FixedInputData = 7820a9dc37660cd1576d00dbd09a663dbb35eeed245289b296e56b0dd9209d70279014a4435d0e28cc78263c5aac3950ca0d2c -KO = 9bbc23337ce2f731fb7e61f5cddc7100c99fca80aa4dee18196885571ccdfc7bf9ab000eae1ed25efc092279b6c22c1956b661ffa1a35756401457452a85c310310afa061e5b - -COUNT=21 -L = 560 -KI = 1c2cde5112ca91e4cb6f7880d71e227c051ed5f7ff3750cd17c2c22e1a340489 -FixedInputDataByteLen = 51 -FixedInputData = c7c04308906f1e5ef2da9ba7f6b1421d76e47c222cf2c767039a2d99abbd538720e0d9362c8f85d4a0a259191e106862d99171 -KO = 2439d2c5b87dc061f0b4bae9869d0b90eece4fac30e138b456eff7f6534b1b3654098b84600eab4fec1b144ffe16d58acdb1685fc82853e21d92a8fe39c107c5532abcc0d354 - -COUNT=22 -L = 560 -KI = bfd69c854e18b7e0e65a98ab88f2362f8224b92fe46f2ba97b456a31a0cc2ea9 -FixedInputDataByteLen = 51 -FixedInputData = ad1536bec0613d97938776db10f4bb534c069e9cb0316823f08384b66ca8b2b0b28df19804a6e91223b22dff34f66002233461 -KO = e9924fa8e6c9821cb810f4edb9d5a4f3e19191684dd750e1518090c8c72bd48d5900920aa324f88ec1f935455c84368c434f1330aec7606275923c3e92b32a71bdba0b60256b - -COUNT=23 -L = 560 -KI = c5a656a00464a8c9a9cdefc7b4d9a81bc20e2fd14b7e44708f7a2b9991c303d3 -FixedInputDataByteLen = 51 -FixedInputData = 5f20d562c67b06402f79950addb722357207ff09e87e8fb84d6eb091388c624e1de98462cb211fc2202872b5f522dc7933522d -KO = 5cda6788486e4457ea6848f5d26bca71d4afb1537bff84b279bbc14fb9af01351ed14ebef08e337b5872086307fa426be84d39dcd12563108e36ef52c5d7bd1c1e061f961213 - -COUNT=24 -L = 560 -KI = 8aee5d310e043b56dbacf8b5ff10b2d5870c1b31dbe1990ab7f380c3f9381c2c -FixedInputDataByteLen = 51 -FixedInputData = 229cca1ca5060c3f53f77ff424ed2d60aad9d215156342e5e608abd754814cefde7df28e3ad39e9101e8d8487b6c05413c84ed -KO = a05881f75cc2b2b8974d5fb23d71c6d0deb0ab7b817da620d68afca67b0525ee0e1ba0eb6734f643bd05d8ae1a7878e14ed09f1258d3818347320d426871b1e8423d6e1b44f5 - -COUNT=25 -L = 560 -KI = e51f180249e944cb1dea8d02f8a2957d58855741897088e88e7deb3897176944 -FixedInputDataByteLen = 51 -FixedInputData = de7d799a596efaa0acc5c7cf633dc4191e142413b8d2e7de1ab81960f0c55b16cc14caf498300b0ce4764446e8a2381a352ce6 -KO = 7f10952bddb9a39cd377e280d1d3c3ae06a4ec074682014993bcfae26663f3643e9c4e44e7ccc5cdd7d775a182863b3b89905e4e9e1c8dead7f7af2a23c55a4a788a7c7b9832 - -COUNT=26 -L = 560 -KI = c4fe07bdb0f34f2ce2cf181fbb686b2a9e0c8137c1d98968267ad5483a62c7cc -FixedInputDataByteLen = 51 -FixedInputData = 2ddbcfaec723f6956976822f91e8faa32eb890c205b0aa0b7456fbc2a9b823ef683933210ce9fa846d0bb11f9a6659322ea0c0 -KO = fc268f598f8010ec5aec65546de2c86b8e6e136c5e4df04bd65c9887b135053198e1e1dbb586cdb865fbcae9b2fb0f6324e26fb53d798979561c6c244071b4957e72f85b807f - -COUNT=27 -L = 560 -KI = 7d8ca247eba5aff879cfbe41a6d52904d483b20128d6738fa419e05b0ee311c4 -FixedInputDataByteLen = 51 -FixedInputData = f1b94f5d788721096bed7ce340e75e6bd42a4d929c5ac4b3355c8f7b967bf22dec81805c0d979382ab445713b445ea28483ffe -KO = 21cd6167a6de2cc256622ba9847c1369defa92a8eaef23d5bc0a9be18c06431c01b81f08d5053d8ace44c72eb310cdbb9bd00459e694c79deeb8e52a25070b97a6f64fec689c - -COUNT=28 -L = 560 -KI = f88d0d7d3864e2e772e3a5188ff27cc43136dd3d6e18c610d8fcd4f95d0c0e9f -FixedInputDataByteLen = 51 -FixedInputData = 8c84c616a27882cc0e37065b424c411b549467df89182462be20d65b02c7973b925e97f464868f38a113f432dd08278bf9fa2e -KO = 45c0d11adfa94ef13ca6e720b1244f5f690a165a94e9253978c4f35a085f3061318fe251304d999a3ce38295a11cdb0216436732ba361109dd1b6e5dbe773af500cb227ddb37 - -COUNT=29 -L = 560 -KI = 2d9352505268bb246c326ae8460abe2b5f4c7ee3ed3cb9c46a703ae54531faa9 -FixedInputDataByteLen = 51 -FixedInputData = 9b750800a9ca71f594f9dab9c88b432bd10037d538e2177aa5e7663b08401b5e603e36851ed1d6d8aec86571587f462ebdcade -KO = 108c0b0a6da53463134e6738f424ae8f6424da71bd2a9f15f732269dd0d85cff976842bf48b63331d50679491b70f99e8c5f5244e888ad30a8f3e2cfb4d95cd3fdc55b551e8c - -COUNT=30 -L = 1600 -KI = 84c7e315911536150385bd3f37a6ecc73d9ec985bec8c69fb7e8c9ed57983497 -FixedInputDataByteLen = 51 -FixedInputData = 9bf0b9e130c467cdc15c243d7d99723e8a2466950f3d0a93ecef94b412c2b06d390db89cf7d39513d7a1964f98b278673f5c89 -KO = afedf3c3edc96124187d365912f20917b86ae4952e28be96508697a591d9d0fb71dd39fdc5a95e036b9f8b6059dbb2ef67f4909c06f42d94e8cc6c9fb1fef5232cd8ddb89d90a606ef4bb222062d4c4a7555fa209706a1cfdad13a6b10dbabb59a7463b987b2c1da05c6b6b16fb540a2c551ca25dfbd4f005850e48cad69377242e43f407b0d7b1827f45ccdfd7d89192e12a1a6702ea807d77fe4bb7aad8ae2b47a9de57b3606381a80bce7381c2fa5fa1131fb9396d64bc441e91a540dabb236a8799d9f3eb0f1 - -COUNT=31 -L = 1600 -KI = 1d1bc3d417c68bd9b01173dcb0eeaa67fe25e381c623b21ecc3307e9aec004de -FixedInputDataByteLen = 51 -FixedInputData = 19df3df9fe69b940cebede5bbaa8fd89cd3ccb4dfb54d5ee804f0a22a3d256006569d2ae0bdaa441da8de9d849d129d9ebd1d4 -KO = e3567c80e889f8810833b66a64f1d126619e0c863cf87169b32b3133525ff10c8b6019cd9fc091d0eb0387a5c3cd668ed4559d5b0872bcef2d45f5bc5449ae0bd1bcba656e7a6249c81ea607f2220b82c36c1fc630a341119695bc880e45fdd7df32f030aede7f328ba59748a5a8256c80789f480a4365c08dfbdf7a87fe3c0f6921adfe793211b7c75b01f21b7615653536579a7c221bf38aec9027054c5238ce5f5aa6c614ee9ec5a1291d2c7b00f445c572d4fdfe025f57d875e40888c3746318aabb1ab0fd11 - -COUNT=32 -L = 1600 -KI = 7deda57282f072d04a265dd29f260a64c6e2c1344cd8c5b3c70fca8a87e1ab11 -FixedInputDataByteLen = 51 -FixedInputData = 59a4431b599adf4bc5826f13b4ff36b0a1bc93d7c3a4a86b8ee02776261596c80e2071aed2b59eddd8f5dd906a713e4c4eb7aa -KO = 503b87746433b8442fe635f3b8cbacf6278bdaf296403452688351af56ef2af7295d3cfac23b302c846c36e60bc9cc092677f2f3c142adb41927a1ec5e6dbdc8e54c454033e5ec2cb494b8a4ca4bc7069ece2b8c4275f3e2dba45ef0b3415dad7f614aa25c82ba7bf4e52c31a46890a925680c0ca68ee4fd76db4321b899660134bdb3c36514a40e97fddcb4599f8c320ef272ecaaeac454bc1a3f3a89d8c818afda6a60ea5b14a40432a889525464b08bff5b5d32c3090fdffced1c7fcc0266894695a41702f47e - -COUNT=33 -L = 1600 -KI = d90dbb601d01cb3c1d8e3822c4f812dc6f72eb0da18ff6dde2a9cd0ccde0dbee -FixedInputDataByteLen = 51 -FixedInputData = 06f43a85f5dde0bb6f2a378461d65264c54978d1cafc73540e2d9ff0bad08835bdcc1236273556e356d7b9c2272fe5b6a555a0 -KO = 46b938a631ef67622bcb20df89d900dfefa6e8594430a7e923830bf63ed51cb9153da37ac65259479833b602f995658fcc5837d48662cf19ba4227f6e7da4ff5995cb69191bb5268ac5879431b0a3c3b1ebb89e4d8efdeba8a1f84a50cf88814d90b83575955235238ea7e2735b49fd11b82f2364eff856b6ea71cd1af8c3b92aee01652255c6c799d1ed5113367e212c13fe9586735bae8ee317ed9483232396e326e7c22336dcf7a9d76c560da397bfb655d96309888009688fb241265f7adb99f9db5c844c3c1 - -COUNT=34 -L = 1600 -KI = face620803dfb87bf818270f1c6bd19a6e54985762e6b62dc27b7354b296fe3d -FixedInputDataByteLen = 51 -FixedInputData = a397d388de7e9efbc3165ed1836dcc0c6df3de21e482f8b1c4b5b7809cc36238e471b6d1c3ac708738180010dd7b94382ee40c -KO = d56a2be9cec401c2aaa88e8ee0ca80ffb759ef209a9552c1cc8b95eab57960b55eea6aee5443817052ecd7e8a4f9bbce93d505d4420bd3c7506a8a8f74191d76317543b7094b0f8aa6c6dee5dc3c408e7539c268702a8c8aebcd11204c6d6a421960990a18d83c0d1182e434ad2d7b5d41a4f28fd2e6e882867944be1f7a219616261b1a0e7c24f7f645eea8884453da868536d198f110f61b475421f783e956a671dee6e5e0b1605499c7148c0650a30dffd135df13a191305b2a20743c1738c8aabb2debf2ebc6 - -COUNT=35 -L = 1600 -KI = cf149fafd624119c25f3e6c46525fbaef1e4c3c37be3ed62bd89ea90d8f837cd -FixedInputDataByteLen = 51 -FixedInputData = 4cae49825cc4d1e5bbb390203f72a251715f818c3077bff264cc7af487bdfd320bd60e28dac5f7772534740afc6b1b2798040d -KO = 7485ac3658926d754b802f1ddd3c1e7a4ba217892ec2b20b66f10c21e786598c1d105c6e6dd48ea1a5ff6f2bc197ede8c30a8f656dd79e69106165573d19c63b59b1de26c5fb99ee6b9d9bebda07f300efc161859c5a5838c3335c111b4125ecf8d38566571ae212d4b4d0a79f395f255ac86e2f0fb88483e98937346300c8974fe57fde03b8e067759f8dc62664fdcc7292c8d066f372743311865da05d37956664c2848713faac4872ff71a0be8095b50c1951d849c93d73c0c3d06a60df9a30d91eff3ab05b43 - -COUNT=36 -L = 1600 -KI = 4acf93d873f59c22bc52a6fecc6a6efe81a3fba2c05d0703ae9f41d49613d6dc -FixedInputDataByteLen = 51 -FixedInputData = a9d0d9dec915ad41f24e047d090190819bba50eb12f28ea7701da7d1c1a8867eba68fd3cfb8733c1d597065acceb8063a61a9f -KO = fa82b6c50c63414f4409091f5743b61e76ca20d34d5877859001e1624364424dcaf9bcbb317a5bf5798aaafb85bb5422b394caf6c84e08c4e323afde29ffee7975aa805ace3670b0028f3a2c9dd2b8a507417ff84497ebffb7d33f3ee3978229c1e463c5b10e85f41af8049c1df26754936be71cf1b2da5f1cd703493e77ab08d38cb0e7f84512b648d48f9549143712e6d79c9ab42d3a594fcdaf2a5f314324e09f5d238f1472e394cdd75cf5d4dae13ff0bfa4ef9a45e96de6f46fbf717291aa49645739c24121 - -COUNT=37 -L = 1600 -KI = b3ea2ac90310028dee01f494a78362efffefed4968686fa8c87e70e4fe86c488 -FixedInputDataByteLen = 51 -FixedInputData = dd8954324d734e1215851ee5cf2742d20c859ce4048fbc8074b13ace6c717f8946cf9ec3fee6deef1fe89f882d03fa646b08e1 -KO = 7776453446d6266f13b8cca7c142cfc838d48db7c3f40a1ca88cb80839f33f2519b1b99f70463472f3e1f56144ae0ec60be08002b4a9c850b0980d86d0d2ae9e47bc807f37b039256385692953339db53267b9522071765313f69c5c969b8cb7fb6b429b59bb07d9bf43998b4a5e4e58137bfb58d2ce86346acf5841212b29c1080a9ad358bb29f3782e055452301fc5e0c67831794d87bb369e9386578178675541d6e5e55ff86da40a5c32ac3725eece307b4fed324a02d75e548c918c442a50d2fa87d4551abf - -COUNT=38 -L = 1600 -KI = 6c1819e28c2f27e1fe2d3b9b569fa25762eced5570f6d4da44ee76a893e97f21 -FixedInputDataByteLen = 51 -FixedInputData = 4538e7e20e22505c01dc964bf8d69e167ae919edb1eb401b0572454462f088f90e2e5d2c244dcabad8c12b69a61617f3eab1d6 -KO = 2996f3aca2c1427bd521d9c943a5b952d3757a823ec9ecda1665644c412b6676fec41de02c5226a0ba588123abb7772adc227ed01fffc1fff3ebd16aa896be3a2e1ad70d622fac3ba7cd17109ac4959fdd3c8740af4d20ed8bba82e5128ba570fddc06152c33d599eba9a8056a0b0a74d8a848e466a319c531328f3fb9a408bc7ac68614f21d46903fa69672f06b0dabfdff95df6b399f0ceb884cc200348bb7954fe98f23bd36d576a7f6c5f2218bbdd365bfee907c7a703242a2d0546450afb6b679c363e59c77 - -COUNT=39 -L = 1600 -KI = 0d76645daa97f743603ced731c646e062843cae59a771be7ae5287cd1d574aa9 -FixedInputDataByteLen = 51 -FixedInputData = 99a699cdf1063204b2977e39ffeaa1d03149ecc4b4d1242ccbec1c21e80f0d3ae9b2db58bf3518d6e3f0a58b559c7718e1640b -KO = f31a2b26fdb20c1462432876160b7820951fb18477c836963bbe7a7e4dbdccf326c5304fd9b0c8d4a3050aa0fb685eb9d1c9f6e343713798a64fbf2128ed5286f3d3ee978c9932b77872458ec1f7ec658ed5f3660e51155cafe497ce4214e5ddc15943f17b5b158d32649d5a757b9c60d2aad62d0a575545a13ec07d32757bb2559243b1881c778eb9b28d9159d563025594954abc9ef0a1276da91583562887273c910ff63a9f66f8ede3b50e5bed07962d669cf7613ad5b18ab6ca8365aa6ead3e857b4b19ac41 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 31b12bf1719c462d20cc4c3b987d6867c277944a7325bc4000b9f998d02b781f -FixedInputDataByteLen = 51 -FixedInputData = e5545f1aa9a44e0263e429ee172c37c3afac6fe90c35eed8edc8ef77b66df462bdff2f39a07fbbcc7be2d2ce6370bbf44b89d8 -KO = a2c6a6b46be24527e36204a579fb089b4bb850a1aecfc095c9f2640c73d3d3d437c6ee9a22d5366b923a40ae17c91c135135f3344628c8e8e28fd2fea4c4baf3 - -COUNT=1 -L = 512 -KI = 6b86b25f86e92ada04e85e45c5c771df85e6a3cdae52444d8107c15c9d7dbdf0 -FixedInputDataByteLen = 51 -FixedInputData = ceaf3ccf8018ef024ef37010c75c1c34400a0ed8b2452076eb1c57fa868208e093d8cc381bc13d39bbd25f28c65941f8015e38 -KO = 5855c9128cc87160ccf3d9692b35faf3394bd8ea8331864c232e538cf197d21c1d4e6bf44d384a5859ea3b91f8f9010b100b8b04902bef8f6ad0f98bf0596d60 - -COUNT=2 -L = 512 -KI = b6128447425ef4ee10f8ccbd0993796eeed17f7e7071965a4ee2b8928e66d70c -FixedInputDataByteLen = 51 -FixedInputData = a47194f410db8c1579c1e5dd50665f6f25b307fe4397efc4ba92aefadae9a7166f7948f98738b32c6d67c8ea0264d591ab171f -KO = edf0b7a21fe8bdf6c50d5f462e3e1194d8ebfd5af8cb44269eb36b41094f72f4c254a8a7cb349195212e1d57b284ef7d66af8571bf905ae64669bdbbf48e39cb - -COUNT=3 -L = 512 -KI = 87b2d3438bbdaba6b7451c23689fee95ecf43b627ef9efff2088de10b0e68009 -FixedInputDataByteLen = 51 -FixedInputData = 96810228be1d998971c0ec117419577d5b72ab4d985fc986461f6b93a2631551633fa009e2279f99027fa4e803af24bbb4c543 -KO = 3d0f3ae9a46ffd9d6aec73cfa300a0be3466b627ba800dc54b06ef9a79f79b0ee77b91b4bb1badc445edb95d8ee429eea43fce072a60134e509f80d98491c38d - -COUNT=4 -L = 512 -KI = 776ac144c3eafdd1578522fd3cd3593b0549ed4656c366be5b8152e30cef35da -FixedInputDataByteLen = 51 -FixedInputData = b477801804e2fff6089b24ead07f8c467153b35653c62015a3e9b30bb23cd6aaeccd2c20e2b24009d84eac79ca7428a723e70e -KO = 0599c14ed369b5d646f0a7ff5733ca7feac2a0e5659ba27bed0981dae0791b52f6da508b5e3db6c5814839bb2fa91c7eb5d7b7d83f7eb76a2de0a88167ce9d3f - -COUNT=5 -L = 512 -KI = 18780d25f359ec0da6397cafcbfd7b33eb52d97395f8b0e2384e6c147ad89170 -FixedInputDataByteLen = 51 -FixedInputData = 74eae135da6800781500b55bb365a11827e3d17909f8c8a8048a70490a9f5f8c808d51a9e34d8e378686be471c1652b3471569 -KO = 07e74ff465b982b7b67dd3dc7c99a57a899efc36d9fa0b03ee6c2576131c93768701edc14fb38dc962dfc6e301382f727280de7424faaad7321e8631e8b957ec - -COUNT=6 -L = 512 -KI = 16f2fbca901ae94104a37cbfacc3ffc332c1c56b6f5c83c8d8e26deafd562c46 -FixedInputDataByteLen = 51 -FixedInputData = aec677eaeb88304fe125647d75f67438c198a048b80c437077f44fa722761c08681641579b8f5b30511cbaba307425c1fc4103 -KO = 678076bf082446338c3f91abb858c5a589ce95d9dc671d6a1363bcb0448bc43f09bacffd207da6b57622614a3296da25f5e0086b480c66b9237f9a226d17df3a - -COUNT=7 -L = 512 -KI = 3af5eb41f80ae966fabe47def66793f2d173adad8cad9a703c09d13fc82a4201 -FixedInputDataByteLen = 51 -FixedInputData = 58ed46bc3397b75bfba4aca9511179bf7be3186197520841f1b003f014923c4bc8ee8f4cb7aeddcd3fed80d0e0bdc71d66b353 -KO = 89187a604d966ec3aa6ed0f782b743efa3b9b2aa3e50e104e177421abb1907d0e218f871906bbe13846a05fccf9c57ddacf5b53d8eaeb034c8274bf29f0ff899 - -COUNT=8 -L = 512 -KI = 565ad373f326b91ef8240afdf172a9b92a00d86830ae50ba387dc626c47b0272 -FixedInputDataByteLen = 51 -FixedInputData = a06dcd0d680f45386305410311d6c4473cc19f0e6911619fd19270ac52b4de165e05d1a35769ddc8bc424757b207b810e185d3 -KO = b15b88313f6bbebefc92805d883c01946ce6020830941fffae11d646c776171548cfab6a9912bbede9efe3e519eac5d4f2c066416e047706e8708b0dbf5fced3 - -COUNT=9 -L = 512 -KI = 7a36e94303250041ac6a8cb8b04f8a37195f27f4345f2d9665461ac16cfdde0d -FixedInputDataByteLen = 51 -FixedInputData = 655dd2d744002568df8c4b6691bf5dd591def8923ce61ba4b376db79f699e609f7b24b4e5dc227e7829ac74e833ba803efc21a -KO = 23c30b669d3b1c5bb8735a317db4094fe7326e715e1d0a4b5473450e905df7b497d2e42c171bc8b359986291d7be8a62d655310fe214af0f61e2a5de854ebae1 - -COUNT=10 -L = 2048 -KI = af64cb88f461d46f69cc8b2df058f9dd17296ef20f8d0fb58ad649805c196206 -FixedInputDataByteLen = 51 -FixedInputData = 9bdf8779efde1183913c34f9810fc8e1199c686553ad1964a4bc39daebfb4906d0127ebae0b8534ca209ce7bf6932a1be4a378 -KO = de2ea6141cbd5182b1c404d9be56560ecb233ec9d6f64c72443c2a8dca195aeed131bb257f875a406db5fc2418a457b8e0460304ecec1f1e04825503a16bc9758afd39ae8b08d1277dcceafbb174960a0cb3160fcb3710efbd4648626b018eb9e43fdc51a359afbdea7e776e9484342a733ecfc6e162f58a3bdf37874cff7759d890099cdcadff6fa5c32a2ca0fcd1153a76b0d9d241ba9b139ea431854327ec89066a37e5cced9b24b976f108a0cfaec684ed9b08255b463226c2e5322e6fb6ecd3854af4b6b8db924d15039e8d8f6620e196fac52f8a5cc3b59e3f5f3e17bd78f0acd87bbc9fa716dbf94164ec280ec56de22fd15518bd4ede89560e619684 - -COUNT=11 -L = 2048 -KI = 65c9f057729f86faae3d71496c5887ae576d0089c13cc016203efa34e25c95e1 -FixedInputDataByteLen = 51 -FixedInputData = 3cf34cf39ae7d781d638d04a89b4d4f7f64db159b553e9db897663ebe0cf2a2de1dac1ac42ae8b2c9046ae0b628f6601259efd -KO = 5fbd1aebce6265d19f9d65b5cdb41d02c91683fc13d1b76c737d786cc4584eb9b51e6b4d9d1ebcf98754ecaec2ed0e2ebe867caf4ead9546d1109e5688c35728d1bcd0799bbbf8b423967cc695d26c782d3ed3a1ee97554c0df27e73681ff9ffdb3ffefad7c5f4febaecbf3ce959acb038d2d4b5d3eea598035c52150ce477bb7757e3ca02f9188f5f68eb9132acf08959e7057f9ead71e17d780e4e93a0331f76ea8c9461be97ad2054a5fd2ae5569ad77f52f2c809e852720ad23ae507c517f138c4cea4166180bdb811359c8a4ec6e65c5c051abd15a2db02ea29e6fdeeef055ed701047008774a38bfa9211562570991d91f7a22f2e44bdbfa3256aff288 - -COUNT=12 -L = 2048 -KI = bd4c7747caeee8137304d4507a4519d3b0914481337317ba0a243899653416fd -FixedInputDataByteLen = 51 -FixedInputData = fcfd29ed348cbe9f6043770a7efedd499c66fb418bb10380714c791431bdb40a674c4808c0bc9bac114faeaeb06084e89ab6be -KO = 2b0b04c36acfb8e1ab9a5ef5d9773a13e2aca6a7fc992e5c24d9d60a3f783c18b28f055dcd6fc68a230df6a75172bd270c7f6c619699b7116e63e2ca63701addd941c2d9a8f19ea54ee8cbe930823015193df0ffbd104e114b6bcec5197933c9e326a738ecec8e3a8bfd3688ce94acd997039e89f0120f528808215afb786fd97a4956d759af962a4c337b4102d59163590c2d8db6a571d7aa6531d1054ffbca6f0fd40480f3d2a8a659f395972404a5595314ed5a0d19aefb24c18a7f26c3b73d21ec780bcbc322a3c7bd6d07f11e2f910bf6a60ee2bc3a4d4963ea4aea852601d077270b2c2e63a832e8ea7bffb1a94e565769e89233a337a43da0185947e8 - -COUNT=13 -L = 2048 -KI = d1337186a69b7bb3fa11da8234d07a930caea51bfca135d96a4163d8bbf1f535 -FixedInputDataByteLen = 51 -FixedInputData = 98091ca00ef9b8253bc69e1031c788e5dd247788efb582aeaa4c93e94b872e9541aa7950b5008d813d120ba93ae4af8a1b599c -KO = 979af61401f84956ef220190f5e6227a8a06d42e711b4e9bc3aee19328a3db0a23660b968c3bcdf3cec58f92ea895df58ff50403725bfa373bde75e548e6f84cf624ba249eb6f9c4a8d0be97305e3f436ff4081ff59199cf13e9dee8c0cb60f57bd450277f3d5d2fce50147e79dd94808139b61c8ad5c0de06409c1b95ebc7fc7d2f0012499c9585f46ef4cd07770c2910ae3317d0c53aab25dc9936ac0bd4f9bfaf5b881021de6edc521f5c57ec9b07e19fffd97be518c8d0bd8ab8a73a098ba73f7e5d40f85975bd87f34263ec139f72ba3fa38c2785bdc0fdca47712afbbe9c4093b5cab6fd09935cac4f369117d82c846bf57f347cd517a1c79965cf75a3 - -COUNT=14 -L = 2048 -KI = 920a10b4bb2676ef90e8b411aa7bfc276fb1d8d86b48bd66b398ac92faea1a6c -FixedInputDataByteLen = 51 -FixedInputData = 8d8f03846f9cbf70ac3ecd21a6f661bd1e5dc793df73f3a6395cd89a0468f848ae99174e49ecd75da60141853fa2f1a8924c3f -KO = 772a08bf184241b9a9201708d44d97100c6c1684168b949ed9c2780234218d7a7908bd01a3d7ba27277499031206db7c3192d3b92eeef1513909bced2a9202ad0a921ef8c467da5c249d664729d0f6f1f6c9e053681c796b01350c25b6b8d6084cb15bb84cd2e4e6a828d98047f868bfded30fd7f6017c1e69f4c4239e0201a66dedfd0591e4212cfc362988bd731a8544cfe7426566ff05ff60014852fcde0c7f73fb9727caaf5d1367464a4f535b63044d617944a154ada5dbe9f54f5aabf1536aefc397905a01f3afbca216c9a2015696c3b0abf994868e79eda274979eb53a222176ada4cacde9b9cf745f5fddef0413760f820887d2f861140c7d1d0b20 - -COUNT=15 -L = 2048 -KI = 4a4b0cb58e77d0f256f4f5fe06aee31dd46b066eb1b3499c345ba4152e59e608 -FixedInputDataByteLen = 51 -FixedInputData = 00fd0d739b68d1ae7762cd6a972d839d1e3bf492e0e5b89a3f347975666e3f334e2398af20c2eca3c8fe2714abad30d7966257 -KO = 4a8a1a57c5f3b8e33b3f5520a82bba0bfdfe42dd9905a7b765bb83811f68cc570d08d9816919e77474fdbe2b5384c23d4c208ff4c8045ab149a9ef9b942522467111a30f4b8e0cf2946376e462e676f075ddd220ca642a36545b4a45d7459435eb1ab5cb21e685fa074c08add382ac90eb2981a347f4bfd9ba907f2807529915b9ca1f0d5268ec1ed0f4792ae15868be69b12f54bc6e777985ca9856667b92e19acfd127103bdd18ee7d23ac0987e2d82af086f4c760c4c7e1fb9fdf0a6d38a59afca6551ec04457db75723e6b17a9b9bfe8ac239e9cd19f8d6a014d7ef664774778ba4f8bf1ab3e6b1f773ddc208f3bac6fe0af11adc5cefe1c655d521ff78e - -COUNT=16 -L = 2048 -KI = ce3c097c3c0be9a12b2e24469f56d8efa5ea5e763413f13bd3cddbd2a7858b56 -FixedInputDataByteLen = 51 -FixedInputData = f3696cdb5f424829c0eb06a6221f72be3293dc47cab864fbc77313b3a56691c0328542cd922dd92eef61222c28b8ba8d177211 -KO = 881329691a69965101a750e61d47e64d6bec41f2d6d54c2d8b39ead2493353e73f66103776b20fb0bb9e8287c2d802e453f2b2ce7f57fec9b87581ac2e3e6fed032c7c7f8620c60cf91ab4d6bcc3d401853fc58f0300995e7daa071d2caf788ee9356e1bd85a592178a152a7c8b9dfa5604da4a1e2b89e05f4fca644d04ac7f457bc42b6537fc3d5c54856ba83e566206c0b9589b5a86400624300cca10fd23bebe48a2878055fe51ef587ca135417ab70ea52d9405b6349ff330a66b949c9f06510d93f178aa8701c1aff53ac78bbea079695d6cbc6c3690e31d12ea52afc558569c9dbabb404b94c6bcfe4c5656d7549ebbeaf192492bfba9c8613da11104b - -COUNT=17 -L = 2048 -KI = 678c1e5c562d1c32364fdfe6dc8868a936fc3105100856c3504da91e639b1503 -FixedInputDataByteLen = 51 -FixedInputData = 223268eaa3ba12b2b6412ffa8442d776fd0895ca3f7781a2fc7b8bcf3aef0e611472c5b425ffbaac380ec402bb7e1755bd96db -KO = 7e4d8f400440b1a440b43f719096f0b29d1754cf875f8ed34d5c1e59561d819fac4e90e3fe92f21992ac8ac641a7aab07fd26ee40be19b5b43fc3d7e92f6bccb4d882e6fd8ed926e7703312ec345d1685933b21ebef923022cccc4e269671f6456f6cdc2697429627526e6a367fc11449acbd2bb1a00a450a236ef1c72afa7c8835de2a0e17547dbb9bffed6078872c207e7a57296a98b64fd9997110e164b80790a345ba433cb8986b4437baca36182f097da40ec599e97f8641455aa6887add4cf1f9ca5784b2fff20606a04d753b361f636319f9022143c64db4332d63ada7476e676f19289315bd21bf61394118ef7a2fd63d30718c66f518d3a57e80bab - -COUNT=18 -L = 2048 -KI = 31750b25f0c1a6adc68657cebf1263a949932ff7ea80133eb1bde9feeaca6f26 -FixedInputDataByteLen = 51 -FixedInputData = 9dfdcf5367fc693a0d99560178ff674215fd72510f7bed78e476abe877fc18510a354b02d0c655409cda2aad211efc52dda636 -KO = dc0df9e8eee9465dbdb23683fcf588308ccd6336f13d03c1404c4fcf5b7e18e510ad0dc9268e7e5287e626aedcdcdce95cb5ca6d5eed235b000064b62e5fa55d72987a5454abd55ffc7d8b18310d4be103040fb3fce62e3a8b38a7e246c047f6ab23505747f303aa341a4f82fe4ff6c25f6489d729b0fb5886ee30e724bfbaa7c8af5de16f0e9d42c145131be891cf2df6ddf8a37fe9f714fd1453770ed4e460cf1fbefe4479bcad640bd71f4fa8aa88922cd97836113b4d4d748831fa5017256e8179f5c52f920e303719e86bd2837c89470619d305d074cff0cf95a98a04a9ec1bcde5bd53272338f9350288f83cd3170153a01f5ea8c89132180a3d49765e - -COUNT=19 -L = 2048 -KI = 757ac7641aca9d3dfac80209dfd7ecdcc08729228bf585259920187593ddd805 -FixedInputDataByteLen = 51 -FixedInputData = a7bb51d66554a1b4fc91b7b91c0cc19f496ce846e25919f3663c8995508f299740766542b2221521ebd4a2aa8e5c929da48e64 -KO = 2e4634d42ee4b9afa7113963b170ed6c21c46185ede2616e87b172b2511243ad99f95b2f49ec267e72cbb9eb0e39240ae17d3f8247a8d3d8b5577c38ba07a3d407d7ae192157b08b590c76332e8b8ccceca59df5134cafea3a526b9ef232166be9452b756a0627a20fd2ba13fb580ae63f2db43c3cdeff453c5c409be7669950161d7312593ec78ccdd5caa3468591f5bc31d7ce9b2fc440235a04846ab4b1166531f54e4ecea7e8a9415fb5d1f68f09f5b8172c61f12307538fc0a70ed42e4a8c834c91724f110b897ca2de60ec267a939c9e70f904f550669eb4ee49ae6b7d1f7e25f26895f86dff4f40eda88def4b0d3122b0d9a2f7991cbefb3f0643fb99 - -COUNT=20 -L = 560 -KI = e2c9c652cff7b6cb5e141cd6d79c70eaef9f6cb12df0063314d9921daafb81e1 -FixedInputDataByteLen = 51 -FixedInputData = 98590774aaea2467e791b74baba75a9e925410bdf1e84e7c14ec0084e977267bdf1b910e84908a56ad83dfea53a92b45a204f7 -KO = e3dbb8a1e500c103b1869ee58ad0f998a094cd8a0c0d253b3a71093ce2d8c5f68dd20bea5ee2c3b4295e655fcade5367716bfd917c03cdab3ae76bb29830be42fd19f5a63768 - -COUNT=21 -L = 560 -KI = 1e6837ad595f172562daae7045cf6901c21b69040572cb478d626c4800e92c25 -FixedInputDataByteLen = 51 -FixedInputData = d0c4519a293d57d63c39d670fd337b4976f811bc89592194e0073279dd08a1b097921a4bc0f9eecbe4c7daef537e7d6cf8f035 -KO = d1d54d103486c8dee7b330be5c562b4b8b6f3e5dfad3c20bef13553a41e0d5397fb6e2549bc4a16a8380169f3573f11653edefc89f57d625007d1e9904443c257f0899088159 - -COUNT=22 -L = 560 -KI = 6c4bce89fea94ac43430cb8162c7bc694e3b1d08b47bdccba17de7cf2380c95b -FixedInputDataByteLen = 51 -FixedInputData = 2e55092b6e8ff51544fc31f050ce548ea75082afb7e151852396c4ab34f30adb90ea0ef5591a9aff834f75f660af8d09b0d1bd -KO = e36a145455591ecd5dc394179ed62c7a60661e24bb5a682403c496f3673d7b8f4ab1156a803bdc83a014e2cd31c550704f0a260f2b46b13d890154f4e6b01d53d2210f2b6d8b - -COUNT=23 -L = 560 -KI = 5e8f25cc343b2d672b528543fe6c5852ac1f08aece94829c838f276b20fd8cbb -FixedInputDataByteLen = 51 -FixedInputData = 846f40bb752a1f5e68ef851c5ed50044e39944ead41e75952af6e7cfe3cd3ed341b8e3d1bb31974e457b100a684f51f92efd6f -KO = 2990bcbf8efb9c5c2aeee26b1d89a7081cfdd441c8a9b1bf2bbce37a1f901f280b8b12a9fbfe5e6ade8116051117117f47df7285324ad25d1cb81ca91995a463fe2442716299 - -COUNT=24 -L = 560 -KI = 8299d883e10778a1c00e8e840853cd13d447701a7037b70aa987cb865b98ca09 -FixedInputDataByteLen = 51 -FixedInputData = e0e39d200897c9ba1726c17ffba71bc816441d642dc9364822634edc9cb2bccb81ee8a07ff796e02bcb6e0dc7c24f756dc0a47 -KO = 84f83d86af8705410a7bf43c9755d4ccd7e7952d7cd0bc68f1b04fb02ee4fb06a34a630f536eadd42f6bcd1dbefa8681701b900d8f91faa43b56b7a6abd1cb0c6441f7966635 - -COUNT=25 -L = 560 -KI = cee9fad1e176b6092963f80b8013405cbc57551daf78130ffdb25e564ac0e305 -FixedInputDataByteLen = 51 -FixedInputData = 80a8e5028ffb341a33ad1d1478ec5a3b2237d43b684aa45eed97eca06ac13e525e8d12dd9180c37e51730ab76273672783c408 -KO = 2b1739a47d2d250544ea42ccd72102d6441b5b7178d34e2844d4ab46b4fae9c3adbb4fda21adc9aa330a5dc5638e747f9debbc9e5ca00734fef0d175a8f31c430af30b04d777 - -COUNT=26 -L = 560 -KI = 40a45c31f51c53d064c7d61cc8b4a8552e0c7f18e0cbeb26c016cacfb016f766 -FixedInputDataByteLen = 51 -FixedInputData = 05e73242ddca41ae2cedc761ec886d586c9796b27060ef6107ef8c72203d761a56d52deb9f3d1a14988f8b060d71abc2dbfc27 -KO = 2f519df5cbb401ab5060ea2b36d39590e38b6c8fd4f01031c1006dfa1bca0db4d25ed22018cadaf4b6ddf9758e19e59858a3a749af68459809cf71b6261aff55bc092c5ff887 - -COUNT=27 -L = 560 -KI = 038cc2e4ef8aea2e5a265aba7cdc4c86def2820ab70bab0d99bfb17921ee6299 -FixedInputDataByteLen = 51 -FixedInputData = d58b39da2661cae31f8362dff25f2fcaa08d16ec9ee3a9b689031b95ba0e0ac20bcffe11d8d2197f2e1e5499290dd070447518 -KO = 33da3cb2af7bc040ec7eed39eeb6300cd7cece5a8ef2bfc7cfd181ed9b018da8edba9f1020317cef62bf61832a250274c5cd1af11f06efb6dc77e161bd2f0801beb8b4fc3bba - -COUNT=28 -L = 560 -KI = 91c0955978c1d2599f294062f234e824cc75e84768a997794c2e47ef27697717 -FixedInputDataByteLen = 51 -FixedInputData = 8f0594444a78e316a7ee76396796378e4e627581792507145d0e636cdd2d4996ca412ecb0cb74533983645264fa3ecffe56859 -KO = 8131319b5d5b64a058934d1c66b79553df18bc7d0453e053ced10efd84445b88e8a759d8aa0fb1904522be20dcfe7eb67cf2c4e63f50da4510a5cf5c9a417ce05bc01b64623a - -COUNT=29 -L = 560 -KI = 47c1a64df98d5ef4ecac919f2881d4640106f8227d78bde97411d8f1b44c5853 -FixedInputDataByteLen = 51 -FixedInputData = dc6e4b0744e29347dfa14e8745b2fba47acd92f027b0b191fb9413d91c4c1c73c2ec6a45a49377b5b57f4ec2647ccd52427af0 -KO = d1269ec88dc3d501ff2613ad051d057e595ec3c22bb45d047c02232f4086d079e723f4b8fe748adf54764532edc958c020d7ac7a86f35dba027e761cafbd75c9ae0a073856f1 - -COUNT=30 -L = 1600 -KI = fb0e7475c8182eca082b7c2247641ec9d94025b8f79625294209f63483445487 -FixedInputDataByteLen = 51 -FixedInputData = 952d0f98f6e659697a61fd45f441f16f2523080fa3d24db482f9e130e5d4f972e6ae80bb24c93427c3f9e84d0fc8c3bdcaaeb0 -KO = 64ea3bfe6df5b359d48257a90f64dd99951dee59dc6928a61636dc33fbce1c5080c356a977b3b9ae7a9593f36d0176e001e9e4877296c63ca8af59d0309d83155dd3b72bf06f54ee1c2d64a80bfe7fe71dbf91dec4dab189510e1ee11f7d8c8ded2b9a111cd77a1db2b0df953df30a731a19c07ced8df445f64b1eceb3177dcbd54658b0680c6261a8ce75f82b70bf40905b5dc7b16c2385f6ca47acd9137968972afa88561289170493fa1de69f96d777ef83efc5b6361f4b3466b74255e536664e4d3a559eb5e8 - -COUNT=31 -L = 1600 -KI = faf0abbd368f60068563c7873637c2457a7633f70db4de95398463de47a216b0 -FixedInputDataByteLen = 51 -FixedInputData = 7e50107dc80e5d6ab9767ec4bafe19cc1f60db848b6b57ed3c8a538c00bfb4b408b16a90f459cb7631334cbc869eeddffcf5f6 -KO = 0c5bfb5d3786dde3eb003da27c51cc81297d832cfbf5a81a2a76a5e192740056556bb85fcbafab9e81e53b62d3a322ceea3a5d75a54b9d5fb6dcc694a924b088a06644b54dfbbfbba2f6f5412d8b98d14a68c192c0e8f7f543f64ceda14382e11baefa66e98f1bc1c53ea4e0f22c8c38246474502f5126a3f99ff446edb1940e4863bb36ad5d23a5ecba0cc59a53ce55d97c7ac0a340822e60264999f6a1e4aea68eadc0e8bd38082fe6576668f8017ce0f1badd3c7e0f399d229eabf8687fae87d913edd8369fe0 - -COUNT=32 -L = 1600 -KI = 7e650f8159ee5eb6c41ec94dcd6a912226701ab5038b46ac3f8f461638b7513a -FixedInputDataByteLen = 51 -FixedInputData = fc34098e43513a789285195c0f60d01cfca819a420397f4bb2384b3f8a2618aa858d28f7b7926d4d535dd55a01bebfd5d9657c -KO = 463ac9c3c4f7a43071097cde4487b9eca4e50fc7c8f09b2b16d90453da0cb2d20e0ba6f9996a9ab846864023fb9414402c9b1dc887811c08eb8509faea7edfd1845e20413230ad09e321d3a5b10a81090ef81ee45f03a09d54c3eba3e16c8d4657b24739d48ccc5a99396f59683a632cf692e580e7b97e24db5da2d618d4fba09c634281760fd561961191d0ad136a790e1bebf30fa6694bb67d4c3759e9139118d5668688edae71fc6fe2e67758fb51d4166932eedd9ae8508895a1af7d9cb8a32cff851df7e6e9 - -COUNT=33 -L = 1600 -KI = 74486926b30d4b0121bd413a16a0d7cede946c1ba3cd7958daf97169ca70e380 -FixedInputDataByteLen = 51 -FixedInputData = 8256520fc8bcb415ed8625bd47a93f153c48a0143148b4e87d24cc79e08df8cdafe41636ece3776342ab6f80051cc9cf880f57 -KO = f25e60cc1dfa4baae7e8d3d9d8e2bf90bbb3c21efe1ccef4b298f8ef9cf3375aa0416dbb218b98fafaf7748de7a2b0c4faf38c03ec4d90dc23d596a22fbded9ceb84ca56d8617f6b9b346eb2768a2280d47d5c93f8b3b811ee0220b5733b983e2c2299cd9f577e79987f83aeeee9364ceb12b83f44bb52b716c04a2634d3969f9c11902f54d55056b77eabe2dad6986dcfdba4f987dd749c14936b0bc4c6a3aa97824bdb8d919fc5997949da15a085cfa0f84524dd0383c5d7a165fbfb8f700daa65dec1222134b0 - -COUNT=34 -L = 1600 -KI = 2285294f0c796878fedaeb2ad7b9408a363bb8ab83b69b16d77b35767d35587e -FixedInputDataByteLen = 51 -FixedInputData = 53503ba5b70a84eaebfa6645d3f09289bcf9857069d4d39a79d440a90e9f879b8f7d715f833740fb492cebdaa7c935cbc325e5 -KO = 9f682f6d24eff107324b5efa1f224bdcab007b1c862d13cbb6324721eb6aaf6467c9b4b2a37ffb497334d74021be8be46e5087a9ea6e0719ea35364375e1f780af0984d23ab99f74c30f76168e08ea6db47bee736b8c7f5f6965c1585bffc8afe9cc3046d0c08af02526914970814d4b49f1a80143e1579ca73381c430b5e9a72bd0b1d5dcb01eb7e4c72bce76820af9c55f4807868bfefff163707b9748e76291c8ce844974604989add8c9fca18a3cab7a84d7df379e6643354135df21a9c05982c7589f78fa39 - -COUNT=35 -L = 1600 -KI = 98c8144c563dea25262e7f0b658b7ddd28faf5b9334b5319ceb26f641583dc73 -FixedInputDataByteLen = 51 -FixedInputData = 9a503ccacbf41c5c88275b9b57812a6af05d2814309e1a6c596f07766a2acba2c0e3a05f8c92a91cb01e4cd9edb4e2a5cd9174 -KO = 2488be5a925be8ea18e901738b46d0453e479254128692ae3f70f9ebb6ff562970e7a97587382b59b09d6b00b73b95640e2d6d125fe0d79c6347d1c8784b8a7d2e141e0f2e8368451a3a1ee5fb3d2e04dd01f2d0b0aec01d33f155e47fde33768949b439c73757b9edb4debf19571c4c0a2a19ffe1f767fb7b1a69444ef3ce6f6f9c305230467906b0bf51680272180dc88281e9e647e58e2d72216de01fde716b2a66203e6001f273ea40fe9b5b4d872227e439771690026d6c37944822b638e66fda116fa22922 - -COUNT=36 -L = 1600 -KI = 39d211469d0a00d38a1316c8ee2d861599ad9cd369dbdb010b322cb9ae3596c0 -FixedInputDataByteLen = 51 -FixedInputData = 973e3df7266e855ded4f3b777602e6217b8ee5a3753a2bba5bae87a1dcb07a406cca3f47ce910c0357546c8f14af099a1cf862 -KO = 7bcaf298d7ab0f5a52e3917b5e030c71c8641e49f9faff34c48e64a0aa09c248512fb64ffdd6f352c126ada2712c64247bbfa3fc77fe55c89d8553985c3aaee941e095ca4cea11a57d0c60fe34dab669b804491d94075c57ea91cef89032cfed347a46909017e40af463b76b817d00d2a8b849ff517139b52fd294999fe50e37feaebbe93f740049c8e91a403867095ec3e7c41de3949b495ccf4e80a94dbf998e4fc471833a46b0b8f062e0ffe323a8accf19e0615625566fd7099bfe74f2d10e985af80c392bfe - -COUNT=37 -L = 1600 -KI = efad1fcde45dbd15e38418a20b10e291a0a34eee69cd11a9b71a801fee5eaa82 -FixedInputDataByteLen = 51 -FixedInputData = 1ea17925c22837fd4db4b5faf7f9c2650da8fce0476058397a2a62b7ab99d37b350a41828f1c7bb99cdb8d696633143f6c0b69 -KO = 13374cc0920b8cf34c76213b105fba1e663e6866b28c0dac1afcf0294f9be299111e77068c74beb7c601c59bbd72036983f381d8a8398b8260448615bf5379666bfc1ace6f500ff730660047ef9273e04d863f6b4cdaf737e979db43dc75ba7e0b5032e34a699709199580fad7498a308e2f0cb7548850cba164e2307010cbe3f11c41aae851ccaa8aa768a2baf65433069425160552f544da6458d617e765d7b85d991d58c2d4f277f5ca8c4b589c66953649ba9c8620207821466cc9eb4715a5156e589f8053cc - -COUNT=38 -L = 1600 -KI = 43bbc3da388cf0340b07f9784115d03403f2d191a1c92982c4191ce10251f22e -FixedInputDataByteLen = 51 -FixedInputData = 776f3dd32c01fac8f7508d819e4ac669c7a7f66a12abb2ef0987ebffbdd2351d7aaef5109f4d22912d99bc0520e33bf1751ee5 -KO = da8446a8e69c4e3b2c283c50012eccc0f3b132d973c40643c6e30cc58e0756be274d3d1844493724791cf255c40648d872037558de2fb25ba6580be65e0ee1f02461ccd1ca0b0511cd31766aa1c670180d14e7581f1b4feedf143fca38bef72f69a1e242100129ffa3c22e11385cef6b9c0b62425ba7ae7fc25f0e105eb2b1139fe07811146d12f6e6d17fd345cd2615efe540ed57ff628d66a8112581a8e0b4181e3d69d991f51f3ffec60d145d9b667ada7259b48b13d05beb0b2bdc7460ce061086116c2c8724 - -COUNT=39 -L = 1600 -KI = 56252e2e89ca191e39d7fff0018c36df239b52c0992a9f43c1404c0266a86664 -FixedInputDataByteLen = 51 -FixedInputData = 76a31020eaf5ae6f324ac9777cbd0ce643217ae8acc405d9a5d7061915a252886871caaa13c210501466e4e0b1d6004273fefa -KO = b996412c2a4a4dbe99751dab893609f8d8bc1a6ca1f269e483d3abe119b62458b8a99adad524ef27d44c08487a84f79e600fd8ee3d16c8b2ea09471eb14114f0914f8ff04a7ee5ed19261cb38e567a42adaa28c4b52150de1e5f907946f265612b37938e36454d809939668c3051d907b2837080c1664bc566cf883e9d093f3b55671f07890bac5dc6f2a2520d8794197efcae7eb4c682af243aa8a8e49d916aa640092bdc34c6fa66fac03130375ad979d923687fb170fffeb1a6af729d1b7bee14828ee5b5ab64 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 914a31d8acc2d75b6a67f7d05c3e4897 -FixedInputDataByteLen = 51 -FixedInputData = ae8c85ef1b6d938faafd458a068e15bde88ec83276745e3d8ed23bb4a51177cd2db3cd413b4227303839b32bd99c3296888222 -KO = a3c252d01732eddc95f64af1de81fbb80150e58b8f9e3b4b97a5170a4ceea83ef8aa4c9b1deac2f12decab72e4f3eb774131b2c19acedd6240dc8ec1cd40bce3 - -COUNT=1 -L = 512 -KI = c9caa8634d2dab8b695dcf6ac4595121 -FixedInputDataByteLen = 51 -FixedInputData = 3d15bdd4cd5d61a4d4e8203f09566f5e00389679aa21d2e9f34bf3d420033fc93b4d828e79b05f6d1e67bcd09a7024fd91edeb -KO = f5623ab3f0fdc77e7fa27323451111ef4f47bd627f657f9905fb57dc771809522b5f64b1649a12ccd665bc78baebc599cfb3bd5d087f86391e1835b6d0dad45f - -COUNT=2 -L = 512 -KI = 81a783288cc93f9797994e43b394a253 -FixedInputDataByteLen = 51 -FixedInputData = 00d8e3775fd54439a9bdd94f8945dcc489073e78f945f34f3cdfce46f18e98282cd5a9b3f5f6562cf174016db5b280708f4199 -KO = e9615461c8f83389e07084bbafb64db1df21fdcd643c2d401a5098a092cb0a923b6b84b6a9ccfc5d8fb65e81a29d708b0df7636b9b6d7da7a23977e43f173d35 - -COUNT=3 -L = 512 -KI = e7870995b2ea0146ac247f019a17af56 -FixedInputDataByteLen = 51 -FixedInputData = f162048f1de8737567b3b96b15ca33c78ec81b385914771d8ccc09411c67a7d9d2df8002d75119c0d7b1bdd6e2e617fc860e63 -KO = a44c0f5a72c08adaccafcdb7fba037c34efda0407d3a3502a88b39cad74b14a59d84f2ea55c7700804ca18b26f089398c91de3688ebdf40c171761af5d499f2d - -COUNT=4 -L = 512 -KI = 741d9c96a932d9cd95ebd1a16b4dfa7f -FixedInputDataByteLen = 51 -FixedInputData = 5ba44c67a37555ef1844e38b516375d04933629cf4d4fcc7163f80afa428d7d04f84050e9cdfc81de24ee25499aa8055170b9c -KO = 7ce90a255f3fad6181ae8aa62d0cf3a33f494c8bf31cb4590325349eb131d967f489e4cc34e7f132a92c3cbbf2a81baae5e23f8264098b0bac2a29343f8ad16e - -COUNT=5 -L = 512 -KI = be190c74e446bb0a2b8d1b7e586aeb41 -FixedInputDataByteLen = 51 -FixedInputData = 5e52d6dc9907d9ebc9d1ebd5e76aa394e3405d17a670338b604882a406bd3f5cfdebd6a6d0ff8643e1aa0ef9963873d33b552b -KO = fc7b613f17fd42a9273a86df972ed6a6f206403b69282a4d64dc1356a343dc97df6acda9b2dcf1336730730946c25ed9cb1e79ec2a58dbec938339437d96956e - -COUNT=6 -L = 512 -KI = 52408a2d57a87c058d99000f58c4b8c6 -FixedInputDataByteLen = 51 -FixedInputData = 29831c872344e5115db689e96a19e750f26aefc20cb57e6079ddb76a7dc97978e5c6d07e7f3ae3588706f9fd4e6f7fca2a1416 -KO = 8a21b5e34bdd35ad26529b9b6a6cd7e8512cfdec2b19116914b503ea1b82c0e40e8b9c798e56cd7a9175bb08feb2841557d6942afbc52260ac89e666615527d3 - -COUNT=7 -L = 512 -KI = 0381801c2f59e1a79d2ad15767da94d6 -FixedInputDataByteLen = 51 -FixedInputData = 33729b168ed84559954563d30997132241fea196be6ca7f4792e076140460a93a77acadc746630f8622f5eca25c61875813409 -KO = c9e3697c09066cb176fbd217e1610b2fcf9e2f2eb113a497a95e1af870891a2ee6fd000f35d0f0659f6e067c94240137f06c54f045d0e4f4f36768b8f690d11b - -COUNT=8 -L = 512 -KI = 36134371b95ef6c8445d97a0b126bac7 -FixedInputDataByteLen = 51 -FixedInputData = 5681e0929d71096fc36b057709f34c36ef5362102d377b9ad4264124a81ff47f37973d393fe590756062dfbfa376c5d14c34c4 -KO = 4040ebcebeb7fe1e4e41de9cecee4c18aab250b1b750a8b585df6f4ac9e81fe8c5062c63fe0bab2339e3ec4ec16ff9c4614e6c06bc6de5a812b93ae04d15555e - -COUNT=9 -L = 512 -KI = edb9f78c1895b00ae70e4c23cf922eaa -FixedInputDataByteLen = 51 -FixedInputData = ab7d5837ac03b6093c4d307f6afc07f9603a281f080c9e10e352fe1b96b807dea612c1cc917a27c026058e8f5e29cb2ed6e42c -KO = b72895743e1f595734abed34e0e72734f3b57c87847b01a62f9c16989f43c75e84005964be974074de3eac5a432084342a4cd55849d14d3bf4561ae835e6b2b5 - -COUNT=10 -L = 2048 -KI = 6c1faaab0668701dc570c8e7b6c09d64 -FixedInputDataByteLen = 51 -FixedInputData = cc997e2dcc6d7ebaa7c312f1b0be79dfdcc6a2c818761140bdf61b9c7b5a4cac71ad775ae5d24e482039665854dbfb58b4e050 -KO = e86a91fd5ab8103ab6528092350c5696cf9a9c95d7c0f69c800c2c381556c73e4af2e34200750a477e8ec51af626010c4aed86b2eb989061272a471ccbdd7029cfb2c5cc7b4218de1fe7a8355476acfe34c229b01622fb1c8226d79b780761cd641481413dee7f9e5c66c34cb3bf410372fb019abe27f82d7ea7d565ced13b90e526493eacbe148fb22627f9f78e955dd5a9f59bf388a38f2f8ceed050fb8276463347f2a3a17388cfa6f64bfeeed0f9135076b8a7b6b819b34cae982959e37c23af0e83e247be05db73c577c2742bf48c32d7b6bf83e7fb3393cd9f82e38558da5561e9683de237540ae37b738f76a8f1f7a3d1150487d5ea435b764ddcdf57 - -COUNT=11 -L = 2048 -KI = a4cb975ed2243b9c26b226262253a7e7 -FixedInputDataByteLen = 51 -FixedInputData = 2c886861dd4d373160fa4ed6a173400a261ecffb1135026906e607ca4e79345dd6f9c6b22f59bf507adfd16517ab3fa88fc8fd -KO = 0d8f53ffaa6d79e0db3b56522f611d84f8b3062f0b643f8ee9bc2be9677094a3f1419b40b647965124fb90c8480aede43d1c6b365740419b55c83045052802bdbd1114bf2d8ec0f92759f378e4436d3c3bca77abbf94a3ad0276f9345c1cef666a439ef15fb78eb547fe9e92b34a2d9857e0047cd8ff3465172e8433327cdeb735a66b31d8976eaa3c67efabe32f448c15195603c0b55c3731025dbb20678616ca9a96ad7935ded776e0da2b45ca4d335b16b64fa9c1301f7a8e7ffcc47e43a2af8aafc89084aaa3729e29ed6e7318ca8aaffbaf8b29fde39077948fc22a27840ec1b64d12ff2b0f9f47317bda876e0810ff29ef2980a5af11e98969bb9f2a0e - -COUNT=12 -L = 2048 -KI = bb790550aa85c68cd6c8f0ebb84c6f55 -FixedInputDataByteLen = 51 -FixedInputData = 88330b1b6f3a2a286db4312ffe23430422dfa3fb230767c72c11695d22b1ca1285af7648a1d9f45088b8fb8f4cc00575b2e463 -KO = a0c1572c643badf85ec45711afb45e7c17348e14c7feb5cc7fd14c97ad7556e28847ba8be730e7bcfe01747881e38edc75be8c80537e9fdf987c268631c1d49569b691f5e2205d2d4908a14ed89dd72de6f4cdfba13bcf1230f8fd4b9a863e7f014b8cef849de7bb23137d722ba4d66a4edf81cb1685e50c0aa02b95cce3fcfa17f06e074078641d856d87881b059e697bc474479874fc425eeaf49f09542da30ad18b92f67a966456fd3bbb9d3299df57b1280daa2ff2136cdcd1c56ba0d94e34796c921e49075cae7e566455301e8fbe4c644cc3b6b51b739d96f1483bf8b4de36b514b6cef701c6287a98f14a61befad7dde7518622d70c7b55d1e35d9abc - -COUNT=13 -L = 2048 -KI = 1d8af568d48b7f501dac692baa4c15aa -FixedInputDataByteLen = 51 -FixedInputData = 127dc9552c129c69142ff301b84a2a300df7c3630a4c2d54ad59c285cbcbf574ca41a16f7a73bc74ee1c55bb2ef51c80f7767a -KO = 143046a991fae60ab21dee0ce389d36deab1c0f42c4ec6bc5f9aae817e6842ae7a7fa31680af98a16f19c8ce22876b8bdce5b8dc2343330d59b0c878f7395672ce088c755d2590700405f2c783fa268b0b781cfa07d90d77d39a4dc550f6c92754bbe61128dd42e6b940fc97e1f150ee9672c6b1e0bfa8ff355c00b52fbd4c7ae7eb4867b24a97fc2fc959b000db1306884477a042cfcccacec36166f262a66e0a4d58ddec4610b8dad54fd991505755b8efe4567ed60e554b68cbe52ae0566e04f0ddc7c5c9423be647799d12a29ccab1ded3cbf14541bac145dc3619a26ac1d6bb821295802d834880e6a4e116ffd7ed847288561269315d30abdd60894335 - -COUNT=14 -L = 2048 -KI = 8bc8cbe3b6d46615ae4779755ca8c94d -FixedInputDataByteLen = 51 -FixedInputData = 3ebcb5af8a647442e16c4a13758844fd266c20785efad9c19a1ab99564fada7e6ef665cd3298086160075216b2dd721f09c978 -KO = 4f61037b31924ad65a4da2ee0123816cd0a8701291cea698c97985b9f481e1be2f22084fbb8ae24a48a7cfe2cd5b5c37e878321bf13fcd7f8634529e8aff32645b1302d9f1b937a80cffe931dc093a26508e7ab2e93f6b50ca10f3b8393fb53f215ed15bbd379b12ad75839c14ff713cd8f6fdf6d2e74c786451651cf8e7226f3f5929c33813f3fa9b5f6483f8c1ff9ad1db825ce9d790d4a3d79185c2eb16f7e1f53f0fd22a8dcdbb07d8f66c3fc9225cdbb9437812a3251bc11869d0e95af6977c9c6039310543b3a53ee565ea51eafb53dbe79b903cc1ae71052a3a53bb0ffcc609daed926d9b0da937f05ba5b6c468639b8a8859d4ce74abaab44ee24da1 - -COUNT=15 -L = 2048 -KI = 7dedaf852a285323ae899e17c1d02928 -FixedInputDataByteLen = 51 -FixedInputData = 62e60472795c3d57e672e4c85a95e8055e0fe06a0f8dc20dcf99895eec8c806a2515e4a85173c532b882c602fde10cb3339e05 -KO = d5e8ee8e167458c516abd0883be614b05c43080e1fe5251a0ed02e94887f6c50805a5b9844a44fa5ebad7e505447ad0b02cbc1be24921fc8b953a00a00e11ee500ca4ddc4bb38275a6d500247e41f03804c4fa862ce45f9b59d43c46a5ebdd727495eedc35a51f3def8e3264f331faf955d002ac49c5d3a42c73b6180e499da6ab8f0244b7ba586610ebd24d07a43f7855b2b61c6c987be8f141887995fc5ce2d8bb383534b99326fdbd6b8c27ecc0428eda7fac4a1fd02934c71789acec92c4092fe6994fc877c9a5d875db5d02f48ed73cce349510b722ab24c838ddfff5c567d488275ca9f639796fcaacbd11cf84074f1419c4acca6ad4707a6b83a0cd14 - -COUNT=16 -L = 2048 -KI = ca36e969c9a1033276f1d50d45e1fe29 -FixedInputDataByteLen = 51 -FixedInputData = c9e97c8133f2fec41f183f66ac947f64aad0a8a99ff6a24d9d45fdd7a8bace08996c9a1d2bd10b55da955f59ddad7ab82f82b9 -KO = 8ceec9eac9a260a0bc2429d00fa213c38c5db331a29e62d0484c93116d23333cf90eb265f282f263876ee44448be10860af69da393c2a8da35bb16ba9f3d9027dc3b868dc0f16d312b7d7f75ff512d35a508010ebbe3fcfae6afe43401afd93b45c5a356033d3c328cb9b62812560f44ec025d5edd224017b9e161ec5fc6e9571157f9fd2587a27e89a456b1fd686a19a717bfa3c4e4c517176bd684c2bdf84292c69d707dc2bf931b574ce0035c515474a1acb41ab6c50c3abaaa2a82c4fb6344407750c68bc334169565f3b041938ed2dd59b404a141606da913ebb4ef79d7378cc3f80ac593b92db344787635df4205cb8118c21fdd40da777148f7aafedf - -COUNT=17 -L = 2048 -KI = 76082794b89708f3f2b3f1f503092b17 -FixedInputDataByteLen = 51 -FixedInputData = 25e42a93d9bf00d26572f49e8faf3f1e9fa3898b1aa3cbde0ae219be8c054f7fc1701c38cfc2de0a827de5692a0f05f06eb331 -KO = d1d3231d529a0d263a6186ad313e65edb371dc607d59b737127906e2353a3e222187b67d020e17663b7e916f7afe6734544ecefba1315da05449eb6b684817eca0d871fe2836ae0a12dbb312cbe4f7e4d2a58eb5191ff2d8e24063aeecf34d41ee073a21ffd25eade2cacc3a6da3e41a246f28c40942b816c5248c270531117d763832ada2484e94de52059ef5238fce43111162b66b09dc37a303745727685180acb2f4ea5c5833da3b9657baa4882612d63f3661aff77f1ceaa406ad073b9a708dfdd6db82dbe9862807e6521e6fbb743155872236b9b0e0c99597867f0fab1019eaf437be041779e5c47b71db74b607977fa4da800365da735442dcd8200e - -COUNT=18 -L = 2048 -KI = 6351132ef140044151e59d355adc1b63 -FixedInputDataByteLen = 51 -FixedInputData = 95005f031f8f481a248f230595cd7b82a0db6f095c85dee56c037e0a768ae72c268a7819a1e2e9ce31a09eaa2ae4e881785f2c -KO = 5c97b6b70122642193dcd5036d26d0772bc8e7f89679b03415e6ca02c6a14c7e57cf06fc6eb79a3030932a78c0cdb5eca71ff324de2badf16e4a20824ae08dd5617e057bf30b1b3def06ca5299b521464617a43a93958c38ba38dbf1424cf5bec4da8a212ccb0d76b3168f1aa70656423e828b2508af8c0981c8f2ed8cc08bf0dec7cab3adf28a50226010a908fdd7f357aaf503794e187d61c9af9d518351e883a09f2527bca4c613354737b54cbdccd9f62424761b8d22b502649f3c105a379b7f6ee2d72d649b75c0f1093dce1c3f1b73d46fe3a0ba3ac4dfaa2c466cd6d7c249c48692cc1f00cf55d09e6c6b1f630a489d9faab8268d5cf7d271c8188f79 - -COUNT=19 -L = 2048 -KI = b4e5c9ccc1304c6b2321ff251b504710 -FixedInputDataByteLen = 51 -FixedInputData = 1d6bbc8c87fd96c2ce2fd4bbbc25cb142a52626bb36fb9de5dc59aaea487a651d8ce62c731f23acaf11372bd5b7c25aa0518f2 -KO = fe98ebf512d4df7fae84d9bc83105e383b4bd3e58dc65d4f245e440cb1d875443acf81fed9c470505692ee718f17d35de3b910158e09cc741f4aa1918d58f3c71e691e698791b156c3ba9b1a7bd70078e48336c9c3587e2fb2021744fa77c644c97b51b8525e0ee19316b9372391fc8e2f5811a1b4978d9e4509c1f6c23ca870ef988d3ab383c0500623e6fa8b4e5e9cce7b7eee585fbe589f8e902cb88df953896c630b93c6f398524181ba79215a38d5c578dbb7d55052799ad4a4656ce9b57e5cf936a7fe739a9660d31aea0b10c0e721a7dba2d2c36c36dba84d3575777267237de6e9e678585cfdb143fd547839571ab83d9c5ec3e3603b604925a1e1b3 - -COUNT=20 -L = 560 -KI = b4dd4002a8dee30dcc5e5e1c2ab8f768 -FixedInputDataByteLen = 51 -FixedInputData = b5b06c4c76f7dc99ca55b6f9eb9a25ec33bc633157f945da62ad26c5479ae01a8b80e29705c7839ff6e083d675a50aaac75ff1 -KO = 4785ac998d15bc6283d7d2a2bbe1106cfa645290185971ef338889703fa64263cf29d440c8ec17c402ad6db1f432e7a4e5dc6b52f566486e84a2a02fd9151fa471303b1035fe - -COUNT=21 -L = 560 -KI = ee2a720e4819f80ae3d9b1f301e4ae1f -FixedInputDataByteLen = 51 -FixedInputData = efdac0e16d3d79394457f5e88de926aec8f12f703a514dbee8cff92e9a58532cd82b07d255a0e4f4a7de2470ae81a5d9feb537 -KO = f747aa87f14fb244964fc607fbedc859548e3aeb1529266694ec75ef9c14b0665e2581fd3d28daf7f445666ee1f27083e313966ba127802e301196f29dbc2346f618c087721a - -COUNT=22 -L = 560 -KI = 58dbee45ad82e6f70d0a5ac68eee2651 -FixedInputDataByteLen = 51 -FixedInputData = 8a50ae3e6244d2cb48de5e7527ccf866d3278d94bde99ee3bc56c81019d4bf05ad9a6dcad825cf625c6f542e57199301174a12 -KO = 8d229fde0b24b2127581501f82f71ced0a403792c5b453ca81a76c27ae0f33b91931caeaa8ee22730b2ea344ff95c4d04095bda61bf2a017d988fdb9719f05f45bf9173c34f9 - -COUNT=23 -L = 560 -KI = db402235578a5c6d48597e4779832683 -FixedInputDataByteLen = 51 -FixedInputData = e41e3e6a8295d124841b3dc31af829c96cb48517344142cbb28b6d22057d56434aa2c0ae08b196a0a26b600f3a4bbc36e6e865 -KO = 25f3f6db092753d14fd23bca2919b318f566fbd2d5fae6479441b1fc899e51b3b1bf4babf41346025c0e800347ee91930d8b16f277e372e3a5221dfbd8481a8fe298a72b6e7a - -COUNT=24 -L = 560 -KI = b44bf347d96240db9b034b2d36b44076 -FixedInputDataByteLen = 51 -FixedInputData = f0b3fe9e1d25a36b87eeb683596e46ac01665ead7e83cb154d4b69d0f6ce40d3da25aa48488c3f2eb46527c4fbcb668ffc63f9 -KO = dfe2f9bbcdeb8e308a65cc1f2493ec6532e77a87d4a9391b9582c23b27ee69b6ec6f3990e5662522160a2990356f4dd3c281b509a84b5bfd1c2293c5b3bb04ad74331d792208 - -COUNT=25 -L = 560 -KI = 8fec5c7dc8753ac869e806e5b74bd791 -FixedInputDataByteLen = 51 -FixedInputData = 21729f09d054915aee761cfb88001cc184c01d293411226f618b715be52f00eca68f0180cd8b1fc7abbb60e4807309b8876892 -KO = 078406ae8826a1a1929a7e0d3da5f3de7eb8abb8c4120a5bf8cf04839874da0181f3cd1283bd32cf9982b39c8442b8b942c222ecb75d53393bda14bfeef5153f75847b6e89d1 - -COUNT=26 -L = 560 -KI = b6f07636e0877072151d379ffb3d491c -FixedInputDataByteLen = 51 -FixedInputData = ebfec200bb269993a8cc6893b9417c54caa70ef7140dc6ae13a6f3d876750ea5964fd1a928db80b2e7c2c80bdca38310e0a676 -KO = a17e6d3339d7796ea9343f8ffebd889153c044f6ad953100104684dc27e34c8054584680c589f60828112974d11d72c20876122976d78c2fb486ad08a715fba7aef90b23e84d - -COUNT=27 -L = 560 -KI = aed0ba5c66ed4402b2f42b8e0eb9eace -FixedInputDataByteLen = 51 -FixedInputData = 1e834f272737b3c1b2ae8da20aa8a6b52c889857d721cc0c5f4a6454db7d9b06c82f0807a19accae1f15433849176367db589d -KO = 27c1213142cd754412f23c193881f1860d8c36a210e9a32f35dc2e05c613a24ff55a19b23a2519e501e0583fbd3a0fadda68e00ea9ff16ca48b48ff195f40297000b4a078641 - -COUNT=28 -L = 560 -KI = b2cc12eedeec52201da28d6ebd2b084c -FixedInputDataByteLen = 51 -FixedInputData = 1db05a1058521001b9dce4c130e781ab8467f44efd8fa8e2908113bec6bb8df0bfc817b5a435d8a563c1c1f9d8a9a050eb2438 -KO = a2879608ac6b53febd841fb075b214b1093f52b64fbaec8a7ffb9a4afa10628bc8a0281df82125237a11ccdc019db6532c4916bd33b3fca1db55619ac818082e76e5f39ff2fd - -COUNT=29 -L = 560 -KI = f52662b612b569d35b6b3117dcc4cd2e -FixedInputDataByteLen = 51 -FixedInputData = 80f3a7997d4cbe3b726c9744d6ced96b1b057e1038527b91ef14353c3dccb07dde39abb97c21c2f8393921d94978351498d86a -KO = 587f5c55dc0f5dd62ae8bccc5e297162a992d8e097c638ef72867105167830e895890b8dfb925613eca279ffe720a782792df62f870808c5bdce03bc6d6e262181fefd2b5868 - -COUNT=30 -L = 1600 -KI = 9b1fbac6690f3843dbed67939bb98b9f -FixedInputDataByteLen = 51 -FixedInputData = c20d62ef82e6383b9781e4c2ec8b7a538c990bdef3aa84159cc59db7293e4c5ed8205aca7462402de2517a839a4e84a44323b0 -KO = 8588d932d04ed7d8b133f4bdc59cdbed51c0c592413c23637e93832603b056a946188e7f329f93bbd9f6449b254d67aabf689a10547d11714f3dbaf9fb0a34f5e6443db6fb8bc70d178bd6856bc8236bb0eee2aaef5a151b879c661f515e46303bf49afc2bd9975d9462bbba142aa022110af3ccca7c27154b7bdd16adaa51e978742a7654b6dde82805c9ed2612ec0ee7d8c66f0ccf8c37b55894e877600a938884cfcc10929b8ef6f3dd5b794f700ba762dc5ffd85210ddc925ec217fcf1e3cf68ab715ec2213e - -COUNT=31 -L = 1600 -KI = 529f0052edc53984547315e5b4b67c3d -FixedInputDataByteLen = 51 -FixedInputData = 803cdf6d6e607e9afb9f3565e0887bc2e36d16860941111ab49f3911f1df9af0b53b82379375a3e3dfee03593d0210f94f3941 -KO = d4f4b577daecc1d00586fac192e5538eb45ac1279fe3c3425d3c22874c41ba7fa22632b48badfc4c699d1d4a1a090c1915cb3558d512f180416f6daf36050eac08c9a0af92e9096f2949ffac5604dbdf0628c4d4c193c5cf0191d21f81d319b3e7462943f8014899d1c3b77aa566a81bce9fcc43ed7b397cdd53db23a04f82142948b0ce065ffe7def8a2a7addcce0dc8eb033bcca87cda1d9ab6fdaecc29e99ec85ab0ca3a302d9a02105c4fbf575777c6454dbebc95393b18aa85eee6f4898b2d6c5e2dbf4da41 - -COUNT=32 -L = 1600 -KI = 901ee2440313e1321a4d38c4dde484df -FixedInputDataByteLen = 51 -FixedInputData = 7a61bbcaa7ac181ff1eecff65e3912cb785621b0a3e043aa274eebb08b88c5c7f1b24183be359f2b30dabd0641fe776df7a272 -KO = 8ea83ee43ce23fb185bae65c3bcb025e7fb43e5da050b4f307a426f12fb42ee0395eec73a83bab71ad6115922afbcb16835669c7cf5ddf03936004c7b5c0e2ccb6ac8ee9243d78b47b2e075e9e935bd7994daca4be1379c7f939d3eecbce7901093641bd89fb3ff2db242198fb2b86b963f04037b29ffb284154e7114f72ce0ea3d63567786ca384456190ea0bbaae7093b62dfd5b8f6679612fc6933b4575b4f98b7182a4c0ddced783a86b6e6256f18b43eab46e5e3f85922362bd24d4d01e6523eba212fb5795 - -COUNT=33 -L = 1600 -KI = edcd851c6ef271cf9245c29e1223b816 -FixedInputDataByteLen = 51 -FixedInputData = 41d872f3b73fcc1890ec8eb3cdb755e858b3e3467e1e42f3dcb93450777a66e779eb19bf59ec0ec734f0257c657185862d22e3 -KO = 148d58923e0933b9b3456b49b010802b61072a4093b690b1b76f8fe525cc185b463e900a860f733e1666aab5d8270f6e034085ea6a166cab61a5f111a3fcbcc54ddaea1ec60b0afdf0c87e6b75d7c6b07db92ce51244e624cebe7f77eb0ef50257645e9af4d2ed854f3d6968eeeba874b116cdc7c727a57c53577c10c202d0562c4ee1668d116f1115f465e199a6ccbe8fb46942e1690f59fe444c6556e1c55d703869a74a146c86751c830af90e51d439562eef8e834fcb75307d7d0a306afb171682ff6db32255 - -COUNT=34 -L = 1600 -KI = 301fd8aede1684a2d3e4821f4ffdafc3 -FixedInputDataByteLen = 51 -FixedInputData = ea41794819c144c99c7679f29191c6879456a8d45aa334a8f1246038cb84aaa6f5ccbb32e581c3db1da0b9923bfabae02a94da -KO = a6bb8ac5a1de199623d27ee66d49d6009c5daa46584eab77f480c99c54d1f4b9153c9e8eb4b7cb73c1901462a90c2b65cac4b9f5e28e4bb8b27e0ac3ca41b5cff5de34982bff41a0de0de15ac0adb8f19bffaa73fec1794e69962e739c287815631bd08f8900e39cb1ed2ce4f5cd9fae29a0f8ce821f8120a8b1c860b57cba7748b16c7d972dbb39c79b950fbad8ae7061c48d91ebcd586336cdff794cd9aa0c77fb26132cbdec44e22db4b07b3cdd309190fa308239fcb1ce97b48288fc2cdb4c07adf6bcd4d575 - -COUNT=35 -L = 1600 -KI = 2ec0b8b168fc151659bbac10df851f44 -FixedInputDataByteLen = 51 -FixedInputData = 447c665a4895cffbbc66275d4815a104410e0231b65fb4a1c3d1cfa06012d5078ff8e9776e487ba184a9bb603dc2da1f27e53c -KO = 7a1c9fc797364ddd281f2b2936cb024829ee242b6cb66500d959c4c6e375c1c5da91912863e2b81d35c21d89a64b444d77a7a063f6f6afeb6ce9f022f60b7516bd319be56b92a8fedf41940b55052b9305b6d1fb95714ff1f5c9c48eeca3581b9cd53036a68ff51c8a127ebb0f6cfcdfe8e384c341b9bae85c1cc68633d9f91b7702834317511d3bb64ed7815d34adf86e9881b94862610d0124b596658a8246eaf59962d7c095520518971736b6f695f7ec511df935a89eca8f6887dd4bb53188b0ad2d81b45070 - -COUNT=36 -L = 1600 -KI = 9ffcaaa9988170661d0f11170f5b0063 -FixedInputDataByteLen = 51 -FixedInputData = d303e16637497656a3167bee404b6d02d334f13ae7e58df5920214a29d3e6a9d0137d69f5cea6b73614b4d35d155cccf6ec387 -KO = e61335aad643963ede05610c0132dc7d5af3d629acc5f413779bf8c7f79a36ec14d4b9fc2dbad381ea286e6a4778fa1c3fca1a0b6e0207fb771511767540068764556074915c82385ff591b3f1a1faf258ca2f6f3498e116c6385ffc935128e6fa663fd5955158cc1d92483e198be383669f48d32f2cf6aad10f5ef260536830ffab9fabd039785b8240b9a01ef0965a2372e6414a4ade54bcca8d64d96ba6f637eefef79e835714d195e218d44deea6d7f21d15542ab537fb4e53010045da9f97ed9301d966479b - -COUNT=37 -L = 1600 -KI = c899b17caadd2be4f6a14327fa04ad31 -FixedInputDataByteLen = 51 -FixedInputData = 01d0f369055a32ea28e861fefc96345a671bbbd6e6a8b659eb110c557c6af163273990dd93cc47ba7409d5a1a174d86f5c666e -KO = 01d4a29c26a415172cd3b02c9a56919043c1aa52852f6e5ba0ec81aeabd8888cb35e3b4175a6c640cae236c85d5c0751144736cb9711ace475c2c7d660f55011ea74edad781e913bcc4bfd7d25886d4538d904f105cac1cb75034817a61698857fa85af7cb7205f9f5aeb9bc8c52889d144475fe657df30dadd4e73ab2f2137ae65c7e50ff0ba8214fc61527516ff50c35d4587a2fceff5f1400926ba6fe7df0e42b2ddc6ccb073f5073719a009a87809abfcbbc8c1a84f6e71dc32cb01fad49be2d1e7fa41e5380 - -COUNT=38 -L = 1600 -KI = ac3f8d1d657db29f5d81f4b39e3d7b31 -FixedInputDataByteLen = 51 -FixedInputData = c538e9e01d6d919e2ba3008df1a053b1208adeac84b97dcda6ef9fb384db4a99d710b0d4f5468cbcdc64183c04c39d8fd04f3f -KO = 4fda373203805eedf0e94208c56889a41902eb70e5fb30d80d550dded8f360d3edce7a22666a5a033b15f13d40c4145124059ca50c583109a08c2fb410df19a0ab19d965dd8aa75eaf312081931f603afb79b3535db7a64485c469c627c67b00c8ed0d20d341266121fddf61ad2568ab2cf432b0e0d64c3585ad265b1870352324ae7cd97934147d30f3297610c6094c9821a106b02f692c2a33d72558edaf1bb850ceb5189dbd51e25426924f57f5eff2e87279c4406157e7c5d8a38df0704f47950844f4a6996d - -COUNT=39 -L = 1600 -KI = 1c9b34e6967e1d6f8ec7d14379df393a -FixedInputDataByteLen = 51 -FixedInputData = 2d311c0d1d3800439cee96063a9bffddc61d5cd2016f8dc8768e682676f49b542276093fb6a1024450afa652ec4d68d59d6edd -KO = 795ea63d01c4d5d39dd8100089bb70fbfdfa4b21c3cafee83ebb1e1e19857ba27a53ec1da5fb167f7868699c75c0d5f83fb4b6bf527b4cde5ded46f814aad67aa2f6d662e6e9af48d12b2c4ee56da790d81158e58d75412ec0e72f57abb8b751d91e997e55fc5e1d71f4d8f6491749956ae8362e3353f5196d23fbae54aa33e87653086fe66bf0ac1a76e4fa43667f085b3c5c0a60e87485bd7eccbd6553ad92b4ac87863ecfa3a70b8665f142233d612fb7b216ae7a0cb6c25c1acb484cf6b11be81b1b53e33c29 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = b964863b1eaf8c6cc6b407cfe5c3efa9 -FixedInputDataByteLen = 51 -FixedInputData = cbbb2948706700ac01e7c6014dc98bc70f57fe187299c6b1c2f3c421dd4682f30685b8dcbb240566626989c79ca6b00e7594a2 -KO = 620a8fd3c4870e35ad8dcff1afaf99d851be3200b457233f6a55e6ab39f0f76a3216ad7d37a097fb874ae204220a5933d7ac103378315c7be1f97250fbd3e5bb - -COUNT=1 -L = 512 -KI = 94b54c12aaf4e0d73bc0fd5cccc351b3 -FixedInputDataByteLen = 51 -FixedInputData = 9231709821afc1b9b7f74489f46cdfa04ca20ea5db7ef66bcbe092cfc34d60e1efd0166037335e070645e8a0bec414f5366dbe -KO = ee081548a8fad7c7d3dc528dda8cc579f41c8ac92a1c811732a5f057d0e1af6952d1fb4f997973737a96bc71546e6c691797455e413ffb60536d7635babaf369 - -COUNT=2 -L = 512 -KI = 975c324b28b272c71d050abdb5260f11 -FixedInputDataByteLen = 51 -FixedInputData = b3aab19520737b1505a15303c4f32550efccfb9d115f81aa009c1456b2da145aa1dfcc8fa4c52cd60ab63a5616bf9a0032cb80 -KO = 1a14d0182014ac98c665c3cce953b16dad0e69eea856d83b6a7d28f184dce0777be60e869ee3bbb93cdf69ccca9f7a7e5da09405a3aa5e30961796025d7b889a - -COUNT=3 -L = 512 -KI = e3691a5d104b794cb570467aa2e10421 -FixedInputDataByteLen = 51 -FixedInputData = 82f1306ddb74fccae088fd712199c28773bb58715f7205693861c280d463fa703705ddfddb43cb462b73892f2bccb98732477d -KO = 0138ec609fb31fc92ec68a3122a57032db35be8694c2daa3fc4a0a7e289308b0ab523619672bfccf6a253906361734e375934eff2063cacce4ac58b988434b98 - -COUNT=4 -L = 512 -KI = a600dbb2d4fc80c8dd34ea53e9eed296 -FixedInputDataByteLen = 51 -FixedInputData = 3a1dc18cd00709c56589a14a432bb65cdcc4d16a0fe4250a1e3cbc859ced8ea23e23ac4e0278f4a2b1a7ade4359aa65cc09948 -KO = e673d506121983c7309c20333d39dbc60d1de17aaa7d496aad30d7abe688e6755d2e38e9be62610091e30aa49cb08398eb84e89dfb7e606a911968295fb67380 - -COUNT=5 -L = 512 -KI = 57482c83732b1b9a3964f2266f34ac01 -FixedInputDataByteLen = 51 -FixedInputData = e62e44863e3c84ca1e74d1fa2e26cf841da2b1c739fe7a6b68214bc74aacab4548d24e50c98a5c208bdf83c644c4e5157c98fb -KO = 6df25aebc19726b4b825549b5c9f2f81fa78219c74766eaf222a589b1d1dd7c698fda18e2e3ec8dd6bdeec6096c161979069493d186e88e381155db3b848b6b4 - -COUNT=6 -L = 512 -KI = 328300763c40e4d78475a5d5ef1f6c9c -FixedInputDataByteLen = 51 -FixedInputData = 2e759fee0026a8a8192e1dba22dbad3b8dd0ed99a7bfc438130fc39986757ed3c432aea5635646e5cd3c60b57ef5891ad37e22 -KO = f1e9f8a5a6d18daf11040ef40400becf76bc98aa80c89ab06869508bcf4dfbac4aea743b0280ada2f1b5863cedec87e4ed262588cb1f5c8617cec5c661ba737c - -COUNT=7 -L = 512 -KI = d33d3c2d4e46170cfa8debe940e845a0 -FixedInputDataByteLen = 51 -FixedInputData = 637848a08aac5965ca283eb2e878d376840685b3a0b7e9b13f2bf3479711bbb694a4f182a41119aa9f3cd36e9c0ce42ad415b7 -KO = d7c4e8b92b8478cb574e432994b2c63390c1e4a782b270c5521e95bb407dfcb656d553b8e4814fc8fe7c2607372ca353ec101e7fe87c34855e4a4e078b21f7da - -COUNT=8 -L = 512 -KI = 60580f3f398a20e38f323135567cb47a -FixedInputDataByteLen = 51 -FixedInputData = 8ed2631258e0965454b0873cc7876f25236b7355bc020ab724210e38b56cf704854d23b9e6e78346f76640113786ec60347370 -KO = 5b75c8470a6989c23e7cda71ce2e8ff76c5b7de4a7d733b43e7bad4019590327ffa373698c4a25125e637cfdc2e4d1372b8531ea657e327a8be5a4c589a1dd9a - -COUNT=9 -L = 512 -KI = 099deda35391823df1523edbccac1b44 -FixedInputDataByteLen = 51 -FixedInputData = cecb3ceb1c8b7525b5ba5759bed19e331a4881fbe37bff542ab70c6b002201f4f62b7b71954b495277b85554e60a3512a4d805 -KO = a4f708a8a5b856cc97cab3d32c0fff211502293627514799f5385b3db38e3996f42611f71906601327e3767ce9d361ededc22bdc17b98bb336ee9df06ddebbdb - -COUNT=10 -L = 2048 -KI = 4e52170333343cc6d3795adf17dfacde -FixedInputDataByteLen = 51 -FixedInputData = 457e48806cd61015dcc39883c29f660f204d1c219dd6fbaec7c1c80426e25a7dd75aa3b2c27525173607d4a59234842df9745c -KO = 17c07d990260008d669c8291b9fb7cb4d354c32234e425917dc860d540355e473d9fa58253c819be8f59320db8fb952efc9efd29ff118c3dead21403648c409bac7fe1e5ff1c29acbe67ba7ab3f7137b1a2f7a2980d81b119321b55f5759f327abda7797390b9f4cf82b962b62d00bc7bfeed914d5656b0ff52ec3168be7d4de58f889ed1290d046b2cca37e74b4b2de74b47436f1aabf5f3f3e0aeee14e693eb9878a9d234cee3fd83293ca696664b077825c015086e6457247516c7fc2a9f55f1382f99905a1c5b32805455265b6f1e4cc7330c956c1a4adeb330af3054e94e98631da2572aef308f11768d60ea101dcc895e35d52ac729f03f6f584f49668 - -COUNT=11 -L = 2048 -KI = 5c7b163fd378447d7f066464ab9e8447 -FixedInputDataByteLen = 51 -FixedInputData = 036197b1c0edcc98cfcff576b97ed76d0a27904741979808d00381e0a1fe4d98a350c097e85c8c8681e92ff7739a6ab6568266 -KO = 4f272b125b9851a408f6c33082c4395a7da5a80ecf23d1aa9ba79170119c0a406df56cce45e7af2e702b0e57ab3795fe0676bfe8a97daae2d1927d1e134a7cc9f7facc47105182ba18701715e4a304ddf786c8e2efeee36fba5721299ab2be351e086269c33e078868583832a1f56faf2b0185f54d02fce1cd12548b24a518b13a0794eb497a94782992eb802420b3c0870731e13e064c15efe24f789dd7cc6e6ac2e005eee8eca90330bc6a5a8b35bc9c49a00750a637caa784c16e7cf32a690db8d84b5c2a644c08951a4d9344142730da75ce5683ea6295f3475c679ae0070536b3ba916135b3840f37dc41bd70aa609fbe1ece5cdd7deac174b6c0efa516 - -COUNT=12 -L = 2048 -KI = 8334d108d7b885904c38af37b23d299d -FixedInputDataByteLen = 51 -FixedInputData = 2633f023eb469fc5ad8f3a097615d53c5041fd0ad0af39bb7009e6f85221b4bdff8ee5c94c88cf34773aa576818c8c06fc4e52 -KO = 94a4e360a3f1f5270a4546ddadaa8710defec4d6d62d53eb02fbd6b3bd1490d318c7dc043983173b3ea4d09290c86736068c81cfd4580a679c395e93108ed9876b8b5da37a5a049ecd0a8f0b7179a1dfa419b87f1bd8b353e111fe1affb9845b41e4daf5f8aefd6d3001be87b83743bf37c6a628ceae4044f7f2918e3e5bd4bccd64323c3575ab627f3b9443e4db8419c119f14e74b5d56cd1d0d3df61df2791bce19d68a7c3934a223d3460cb8dbadc6d7e5ddb9c5007273ccbba9e39bcf8e0d561c3e563dc5142f4a24f151c74c810586e2abbea8685f6cb49aa67fe26c604ffbc01deb75255f1668a342609800c9b5226ded189ae56df905c65be0228bb0d - -COUNT=13 -L = 2048 -KI = 59460c021f7c90a5ee84cc525e143574 -FixedInputDataByteLen = 51 -FixedInputData = c864227e2528b1d5bf0a5768c662deebd7cb48812aadda0a4c328d87bfbe87dbe639b1987dc3dc584b231b4e314790fd1fc8bb -KO = ba0e84ec8f0496da605b0eb873bdea8f947a232dcbcf4e787ec0687ad2b358e6734c96a650efa5e55deb65c51f2288ea058c1bc966cf71b1fe07a84a290a8cf941862d643791e7fa11d40c9b275a5953e584648ec36a837b8c52c6af051cbfa45b8909c0cab1a3c2b61cb302b15b3c3a7a0feb04b1b19b9821a0182beefe2f080e113db1f0aef19dbe380f59c64ac157cfd72ebb96165acc327fb677b88fa5dec481248a1e995e05524b7dc65a806e095408e265128bb46527221cc1d25286fde26e2d07b0203ebe9204b1bc2e9125232a3ffca4e64373d8b8c29dc92ec21e3084c2c0df516d7d707c08baa16125a165b96fa5fe61ae69c0dfc02d7801ef30da - -COUNT=14 -L = 2048 -KI = 4c9aecfcff9a41b17b52dbaf158e660e -FixedInputDataByteLen = 51 -FixedInputData = abcbbd8ae30fd87bb9cc0d08c847f7ebb83002da41279196abb3e119a7576e80c7d7b29fd470444dfcce6a89ef38f9396c669b -KO = d1fd91f192383b6c6f04451b0b3255d9050297f7d4c9715ca8c8139b5a57aa73c302489470a3c3818c8bf72dcbc2b258873e0152f9b84c42c94ee364f9bd8504083d51d582310bdc00081375f5700abab3cba67ce8c77c4ce173f00eee868c43069afed9461d13540653b84b6073f8755f3373ea9aaa18797a5f9d14e0c98aecdfae72b7aeb031294051e8d2571b9d97817bcc8f581c6437c0888f0882dfeb76d13191b131789a19fb996f73825a0521653dd98a60e7eaa29232c3c5f6bbde8a8310dcfb41553a7273df0b522d29571ba5fb0a353284f0d7dbbf283211186fa1ccb57f11704a4d6c01371fb16166b4364a6a25ca2abac541e6a36868a86c3f33 - -COUNT=15 -L = 2048 -KI = 4a86d4e22375fd08f9cfcfbe6c46e48e -FixedInputDataByteLen = 51 -FixedInputData = 30305988c61e660b99075294f0da7af8e4952c4c8e11ad2a8247e0b6ba2e25f093880e935e1ea55675bf1357f7e4289d1d006a -KO = 23b2c37d6b99cb0678d1093dda7884ddb8ef51e40d364b83ca42eb75dfd9c268eb479706782d89ac1ab750e996b499b9d7c7c214e96c2c7ef933fe20c46a6b6e9ea3d680d6841bcd694ef405d7c5a03297ded5ab31147a4d27b6c3c8cd462b854ea70e836ebdd63be062dc4f299a6dbe08747bdf501078cc45aace1110c191af5e61b0f395e19d6e7a03c00211157d17163bd46a4ead1863e6f3a413054f6936564ac1b2c120c4395cc37428808eb6437faba93e305f04d8cc9d41f5dfb67e98d74ecdef9e5978b01788bde634db4686cff85e002cf77583d7e3fb75e1ba8a874d27d376ca65e6d897f0eb384bae69669427c548fe2c63a6d55f8d4ee807103d - -COUNT=16 -L = 2048 -KI = bf9efb443db57bcb739f6d7edea39a43 -FixedInputDataByteLen = 51 -FixedInputData = 532d5f6ba078d2c32d3b0346fcc6d17b0e943757277ebaf819ae032264708a8e7b6bad386e35d3b9e5fe02623614b911412ee9 -KO = 08351747c8cd85bc3b0a782ba479e04f42d636738ff3c01c802ad1de7af238958a301c250a8950af5d36701cdad7e119d97fa007c6d0834867f9f9d0c365c1f37ca3ae03296f8cebe76d87ffd72629edfc61e7d93d773dd9d845cc69b119a2687e4e0cecaa3f7f6cc9af6eae6ffc585aa506aa6bce7a986223d0be7771a9b4df5f80965c47a3aa4b489c100b42905849a24b52647569e8c3803477c9bc21059c652b998a317f21d87c70bb96e94c3c8a4d9eb71e99479f916e8df290e7bee7404902aa41bfc7a608644214cf8438d4eef5f9b400b7d01aa87cb14dfeba0245716ea7466220c00359ba7bacfc7318fba919db08fdba6a891459a410a39d84cb7e - -COUNT=17 -L = 2048 -KI = 7c1b299a799ed27d145b792134a5d92b -FixedInputDataByteLen = 51 -FixedInputData = a0fbc2b0a8c04f3a868d3edab753cd6d363259616aec96948377b370ef9602b2627e66fc899d0a49b72bb26bc0112a4d97cc72 -KO = 9aa15f27b3a99f5827c1ed05971ad613c158b58aadac11ce42adf34ecf239bd15d46a4d792b86195db92959633f77c7dd03245d1f195aecb557d610bddb063b2191c4cc11124fa992be98e8d6dc342117b2c952773166a21d9da4ec485789626550d420435fbd3ea39d951295d3bea05202c8fae553a84badff98facd8c49226b702aa85110fa4a18a3b10fc8f56d61a9ff67885e39977c840105a1d6b0b603be2861579d4d1b76bc60ca95c80edf416876e3108bb852bc49960477ce024c2b9e5264a4508d9a9b695d777043089ee8b6ae3215c42f83419c16f0277c9ed0c05ea98eee9ffb6d9c24205dc2c1ffa9782803b980c7f42faab3a7da1a96c3650eb - -COUNT=18 -L = 2048 -KI = 3330e1af44da155265834c01a5b567a7 -FixedInputDataByteLen = 51 -FixedInputData = 9cd0a4083ee96654a555b82ca27bf1cb9ec22d57a2b47f86bf17f4fd441153912fa1dc7e11a9df50e51006f43dd86bcc842947 -KO = 3e32ed9e10802f02d179d654ff66cc7636e2adde3ab4cd034d05252b1b06315d136b667f2f97d46b0b6386b73aee7bd61e4ebfc19dc639d7767b868a5a5814a60f1f760594385f68dc808fe5e8ef236c4426d225cfa5af810802ea159b8380c9af213b54ff52845007f20c272ab6c7a25724947d2d13ce793ea2053f9950d72c206882c75e74557f724bd2ac27981f07a4af7464b2750849416166d339b379cff2c3dc95a20a4baa1338bb603ba08556563ef164e7f0c3d8bd434be6949e90fd3033f30ef7a99661332e82b4f83e43d833542d06ca5d4d52c695578b21f7f28eb89bf7a31d92cc1bd4662c63065b55a4a1eaa500a5e774f5d3a3ee65fceb8207 - -COUNT=19 -L = 2048 -KI = 95d13f78b87787bb6b0ae77838434230 -FixedInputDataByteLen = 51 -FixedInputData = d4451c7ace6556be1a03191e8a87753f3a76aa9398147e6d604f15faf64e6f591425e515e22bd791ced7465860471c7c3d47d6 -KO = 6a151f8b7bcedf3297e55cfa498c896b0ea6d8d53cf6abff54989bb02dc43f521471d614ffdb51ad9f4357469be847557d3839abf6c3781b3caa1e084b293fcd31d92a6d4e650e12bc769ffbae02754728986135a438940f1ef6744ff2fc5061f99109fae7ebce5037019fbec02fb46f883778334b0d21cb53326c45673792794aa1a49c2a549eadc02b4ea7194e4b4522c14b0f6e63ea7e91f11dc999bffff14716d740b16c56d1a9af8f696901b4dd92ad038e4b59b7366aae90e3c212785ae402cc7c9d0cfd4986e2f1c2fbb95541169af6b61f35060429910f3cf4c2ab67988b6df66d2936b2ed5a6b7b46410d71a3a5ebe76eb16f2fe5084e052b5b7f9a - -COUNT=20 -L = 560 -KI = 31f46b4e2b18f4ffd9938c9c8474852f -FixedInputDataByteLen = 51 -FixedInputData = 39f085476c58548f91f019500c32a00802358dff0cd0f0253b7925fb534dab969012dc4638554a8e09b8c687b35f172d885a39 -KO = 27ac1832bc29f1f1a031f6e4f3529f0320e85a52ae4d2c0acfe8d889e85d41b1e00bdd3c1b6ddae73d5166876cbfae6cc1bf9685adcca19786cc53a5f1d45fc4e5269a85f864 - -COUNT=21 -L = 560 -KI = a7da51c826668b1478be62fad8f01ade -FixedInputDataByteLen = 51 -FixedInputData = d2373df616e87f328a80f6814bd0c9fa1c8472653ba13169982e74f250ec8c1dd8c9efe4b076ff10c1929e2e98e015cf1128aa -KO = 9f151ca5343c1f44086aa05215f74f5f23dcced5f184de29b007499628a51bc2c4569df30c82f3d55ecc9ec47d6f142fc4c6496b2a9a324d19a5c75f45b96097580b2614f855 - -COUNT=22 -L = 560 -KI = 0a4bf23470bdd29fd856bfe908f4bea6 -FixedInputDataByteLen = 51 -FixedInputData = b06c7036b136d632d66ea6708b110608ea0e9e5e93eb34e2fdaf79dafe5258c8acc98b38d4f68d95b3ed3a94bf2dbb18550141 -KO = e416c8fd17002126194ce6b8c4987595d53de6c1d8c29f1985c74855059f03bbaef90b83e109f6b80b81022afcd9bbe7f3e593181023c430c0a0499c213e64394dc9daa68fdd - -COUNT=23 -L = 560 -KI = 8639387bae7bb076b37b120938b53499 -FixedInputDataByteLen = 51 -FixedInputData = 573b5f48b43d68bdda72a7f5ad2b55ffadc4bf0f2c4865127f7f06389d17d82cac990cad0f2b394219067eceb42a183a96f572 -KO = 050cb610cd9a708c34d5aad1a62a86a9dc67ee177710c14227a005cd39fa9de29bdc872150ec3427dc46a38a7e683a342bd83b5e83e6695b77920c8b5afdeb33435500e20e0d - -COUNT=24 -L = 560 -KI = 0b6376f7fe1aa5eef8769c1e5319a264 -FixedInputDataByteLen = 51 -FixedInputData = b847be4d69e24699e2ff514e2fda2f848cbdd9dd213407492edfcfdeb88ed5ca384050ac8c79bbab6716bf4901eff874b97aaa -KO = 89de314e5e2f52a42878ea0a33ed29d1625ec0983e24f04e31b9411cb182db6ceaf5360540eec3ab3b32395f068a84af1e9aaa24d72a40d4e9e1739f8baa57b81d6927727f00 - -COUNT=25 -L = 560 -KI = 3552e03cf54560f6ddb06d853199ccef -FixedInputDataByteLen = 51 -FixedInputData = 57d62e64b33c0b3eab35ac7c7b0a5e16942b0319eb11dd1814a6ce8312f9250257bfbaaa1be44afa60459e43374210ab0ab611 -KO = 3e0bee3f2d438f1eae61b78f17d70d5d1ed92a3f03ab8c38d0ba136566b28b4812e261c84cffad348e06dcf1ff7b30cd1e9ce86d30238ff430125d265b77ea4336c98bf40f75 - -COUNT=26 -L = 560 -KI = 7586529d6117de335f7148c1810f6bc3 -FixedInputDataByteLen = 51 -FixedInputData = 635d31350c6e493c93fefab953822d5aacded40ba099b7679b3a46f89530ed72800fd57261ba2358ed0be7eb457c12505928c0 -KO = d6f1d5fb14c372f7a009e8e0d5e7f330a8c56669b0ad8db58e98515cde733d095c94303394e4627d1008ed4fbf1397b7909b7a8ad9c214ca57faf1e1580c13a77abbc30c7c92 - -COUNT=27 -L = 560 -KI = e0c2c292c0fb1768b79a1e828d3b2b4b -FixedInputDataByteLen = 51 -FixedInputData = 6218945a8a1082d85680d3e77778f8b93332e4258d2756abbeaa4fb5cdb8a349bf5a89e6ed2da26a673328334c8cb735efc3ea -KO = f6ccc61cf2feb277ee228e37583e2c20f24abbfb52ae06b815036f409beb29d4fc603e7cbcf872414a25915f4ec54f2abe57549786b15c73fd91a6707bf9082ae24d7606400d - -COUNT=28 -L = 560 -KI = 9f48980718d95b8b34d182493c9941eb -FixedInputDataByteLen = 51 -FixedInputData = 85921d910192a554204cfeae50852708290b37df0228b3b552582903eb94dbe946c662020ed929efb4d2d3332a6ac9c5de2c6b -KO = eec68a1cbb6040f17cd14067dbce210a89b827b4932605823c1ce32dd2b8726dbcc5140b80e5987e7df8ea4d7af336255d8697031f0ef657430452d9bde818f486b1c45c7659 - -COUNT=29 -L = 560 -KI = d7254605a57c4fffddbf6b2befd3fa95 -FixedInputDataByteLen = 51 -FixedInputData = 30e8b595222af7dd6a490fe93a91af3dea13fba6d11f2bfd940c5b5379f214e89e03a89108bc206d6f261f4f8601fb4f5f59dd -KO = df282ef3ce47c489a27b239def63bc3add9a259d843d51c2b6d8b6bcf68e1a25b31f44f8252f780bb4ce7cce56cb2df10a1d4b6ddefa6b6483f22874959f1531e9e0fa22cdc4 - -COUNT=30 -L = 1600 -KI = 7824178e1666d638ae6134c19e16007d -FixedInputDataByteLen = 51 -FixedInputData = 825e205228e04fbf75293440516744ada5a3ab2b9fd9feb5f77ebfc816c3d2df3300b7eef4637761d56ea0327e6048f14ef4cc -KO = bb6a2b47bec553b77f0f8127365ce9096a0b330b7655ad0813262e2263fa515ed1d635a2c300200ef6b74d3ce1eb3b81402aac0f67701a8457e95b98bd6d4ba0f4c4b9c5d4739afaba81b805821b59d88a63902a9757d0353b3b5225b5b3e4e5eff0c1bb7da602534b64ea95fcf8e05968ddf3eebc7c3c447aefec74825b625e09cbe10b31427fc74af9925e67a4c162f88e77372e1da78d864ea019490f7f4e1026e60ef701af0916c862813a999de64ea0b1e3e751c77db8ac48d735ec3256caeebc8152a770d0 - -COUNT=31 -L = 1600 -KI = d0e776517eb20430bd29f819f7b35466 -FixedInputDataByteLen = 51 -FixedInputData = 6a7206e2b5250e66472c564b457e60591bc83810ee74a28141a15463c44a8e4904fecc9a4e949fa0aaf9599aabc6884a1c5760 -KO = 5bc197d9d25e648f951cf024a53a4e43bc38c8005a9e341bef01dadd6db840d3ab2a12c5d3410289347ca6072439d4079a6552209b0654c9e68d4a709bb6f03be75382bb1060976ee7435238b02fe7178c1f557065aeb0533e020d71cb5d6910d18761ebce70b922a50f0d9bb7724f2d8207d6e7011280db495cf68d90b7a42a469f639f1102f0fd399c8add74b5377665d4f1aa006d97a26d11917c8b6aef580efa47c02cdcf216ac26ea00443209a384150e3ea10ca3983c9d4f764d56c4bc982d74777a81b3d8 - -COUNT=32 -L = 1600 -KI = 4732bb9b4099bf2ffecb0ddd77d79002 -FixedInputDataByteLen = 51 -FixedInputData = fa7d4d6ca4182a3ed803302981874d089b8cb01a8cd83d922a0870d9c54131109a3483e182bd088f0f61420e664203390f5596 -KO = 3688d3ccb54e48e095a10569926b38da75fdff919b24071eb4d58f53e984758db6ab425818dcf9f7c126f2ea421f94246e1fd21a9b86f9c6f7f5c3eb2a147ad8042965b46823f698c675c4c6f7a422485eaea10adae2cddf6e6795c0a75bd2a132084ae7d7c04b0c8f084cc7d673f08cebc2096ead904ba3b0232034bf72abb92073fbb89fb7abf1da1cfd796d3fa61e6b7a202f241a90fd1a170a2a18e24c702099b2558ec9fb295992412533fef978baf446e258eb396baebbacbc6c1bb8582050d44c458bb01e - -COUNT=33 -L = 1600 -KI = e5f6e190443831711bcb71d09076e13f -FixedInputDataByteLen = 51 -FixedInputData = 955210b69e8376cb730c15800aa5b97a20c5efc964f80c416898a208ab2a7cd2847cdccf0057ec264ab33b12e9a49031ba5bdf -KO = 56a6a9159d4760cbf44dc0fa85c5e2484d9ac3f8023cb9d93ef79051173c153a1888d9355872433f1ddec582ab7568068b97312a02d67875efbe54f1146403c962c2e268784f82ab0f9f895b6b9c1141fc890d4a56c62f394b0700659dac959f5b58fb148c4a29b43e31b52a6e6181b4ab2f07a9b74bc4e93176ed2e864f1f9ccb42e8b6091fcca6d347ec19ee77aadf3ccd7a93f24f3beaf55f40a68c239cdf42381a1a1e3d377da76dec27ea0b14603467da9bcd506ccfe9853b1aaeea456fa16cbbf5c341174f - -COUNT=34 -L = 1600 -KI = 1d7a609feb9240cadbd9207866ac909f -FixedInputDataByteLen = 51 -FixedInputData = 8041cd770776c11200e08cd55c538cf129613a10ae5bbdce9b10650432ca064a5949ccab5f205e34197d25cce5d722c0216ea7 -KO = ebc7f8a31f997cdff87ac334a7836d3b4947b0e69203f0e69b677d8dbdcb65611d5c7b61686de18f97ac990c8dc465831e2a6e7aaddf1568bcc72f5b46a354d0d7b64729684994221a2b2a8ce225ee6d91b531853cd130b4b433d63d8ed9ae29eef19721c6bfd7c426dd7c4b31a32da4c2a396cee6d01a05d6ae04d0c59047ea3bc04c86ac1202039fa961bfb27118b98b75ab2b23d9a912c1f60153b3dcc94097a1647525453a3c3691d40e3b1f933ec7535be2f584ebc42ec0358c897e00dfb781b8ef1ae8976d - -COUNT=35 -L = 1600 -KI = fd31c5c407a0f19538040c515df8839e -FixedInputDataByteLen = 51 -FixedInputData = a0cbeca7dfe13124a43d1b5b59c61021616975136460612c472a19e552e59e2f2368c715f67f21196c90ef3996fa2792016e1e -KO = e79e08a922f06153645788388e2bd97cca27d9730ed5411b2530911cbb4e11cfec5a863eb1670a594c89f58c507538c549295ab78dd06e623cd7f0daa18dc82f99cc91c17e10faacc612d1ebd6b53bcc758f97cedc673f7c393357123812234ccac124c2c70cbbd1924d3440a56864db89e4b3c2b3bad2bc4fa6e46ff077b1151633e96648f5b095033e5c5dd69857a1770cdb2612944d8c530edfebeb834367fa27707fcc311f80af513940f5c9004735783bffdd4fadb2c5529ffe2ba8424bcf73fed94bd8525b - -COUNT=36 -L = 1600 -KI = 3364e43d9cb6ffd868a812e0e4ea944f -FixedInputDataByteLen = 51 -FixedInputData = 74b6deb2b4706a5d75c5dff70ae2ffeceb45ea3184dded1a86000261382defcc5851b0c90c04f9bf7bd29552b1af4d73d72531 -KO = 13f929f81ca3231c394878d3dec369d9fd64288afdf5358751bbbf7444ec3e16def6add0200decbc8e47653e2b76dba1baabe384face2a2f11f7b964c8807455166033dfd37137dd3e5000504c9eebaf46a6f9f1275fdb6c3b1d0ae859591a4f9315431fb4b8965106bb7b8f473cfadf51588a9ef7e774d45ca93f79e08accdc4d89b1f3b7f3813bccb11439191c225bcafc2448dcccc14a16179238840e52ad521968cff493407fe6875ea9cc15b1d5c1b29f5ce09945c5a31112a187a17389b83bd7848ad36387 - -COUNT=37 -L = 1600 -KI = c8bce47090fecbd39dcc7c4863e5fac4 -FixedInputDataByteLen = 51 -FixedInputData = 1df12487cb4e21750c0b9908d0e9aaf499c94dccff1c1591ea8097220d7357bef741d797f69a5ca4e806bce8726a862e167a04 -KO = 1b09ec42d3eacb3e6f8ed4c43bbd98f11a665085231a88e17b4461b3c719aa5519a083a67e2e59d926e783e84f9873a792ae3ae8527f508cb53ffa6eb7834d81821cb216443e08e9aa519408a65b37735211d77f0e20b53108e8f71ccab1274adaab02977aaf1373df8aae0d0177cecf06d9e7763a462bdda51be7122388a784fb4540f777884491593e0dcb5b1cdde40b664b70cbbcb1dde00e81eb5a04f0e68f6d5c1ec5f3388fbefcfb50b5dd0fb7b7ccf4da38ed7d39a4a16dbb37d52c0cc84264e1173700c7 - -COUNT=38 -L = 1600 -KI = 27dcd25da6beae0f9a7648b94839625e -FixedInputDataByteLen = 51 -FixedInputData = 83502a4cad26f39b2efaf6fa91f183377bc1ddd1f2da36f6ab14d41b532c7cc8f3aae3b665bb1a3ae84d0138c790cf76b1e34f -KO = da3b1fe93cc31e210d622da3fbf8ab12022e83c357087f9e60bd0d539494b427f3098456f3e7b05446ff95d291a71f6b99bda8cdf907eb4f3fd4a92caeca042b7b2d946eab702c16c007372a564975962b00a2d0558c3fed12777287b388185b69e31ff7f12d20ecdb2664604fd6c862be0b82eeb3c0a90674fec3b439ed9bb56f2bbd3bca52344b0238cec6c3a005d26070c5133559e63ee6b13cf07301b2d9b210612a483f78d1b5a6905f860465563e50a0142ade53b707fd799c47b335eca244a82c42ef662e - -COUNT=39 -L = 1600 -KI = 906fbef3d16af2c2b99011c96256f329 -FixedInputDataByteLen = 51 -FixedInputData = 809814ea5e8b95bc1c71be890a2d3d8c5029c51051eca2c79df613f33d76b7c7d71b684cd62009c12cd491616aa4d94fcfe7a8 -KO = 9a18e0ab5acf98f27148416c9a9b3f0a16ff02b40c6394f6fd4df69baed510d5e5242eaf3f93c6174b375cfabb9a38acce70db98231214ee2e38bc3efbe5818b488eb2ed95b15f41d3f51be40e6548ff15ea2a2c2dbfb2c6c2593f37106c09e6044ea6e2e6852468e3d1b6fbf0dea230dc60967d514e40a3eaf02ca1cb9d0a090088f5d374c282acbb75072a1cbe9bd5d716237c1439e2acbd7fd5243c3f654c591a07973a12b56ab24b54795ff1a2b841fdfe10eb5d0f8deb73d7a3b869f25ffd2f8bc7269aa8c3 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 5e1c490ffbf8dede0721312c97fba569 -FixedInputDataByteLen = 51 -FixedInputData = e12cf995591882ff97da8607ff21da482de59012f92cf0dceed6ed3eb0934eb1224e14293d68ecff58e05953badf155042edc7 -KO = 464080e9b042a0be7797d0bd9d1b4c2744bd3579a58f70cc8b637f9aa0033c1e1171c70d90368ac2c7b01789107cf67fdb807806f9b6c49c54a267b3c1648c9d - -COUNT=1 -L = 512 -KI = 16f211077bb8b5d6b89f0be314a7673d -FixedInputDataByteLen = 51 -FixedInputData = b72aa60c319ecbe374e0fe1ec5226977da078cc8639a3e0d409aab53775cf6ca28a1df083999c0ea2a556e9809f3949476af05 -KO = 8e67d82d2896051bd70cf6e0fd448b00a94b5ca8b040c018182df5cd2d973788fd38a0162aae228066589f0a7e35dc550a1fbf2a6d30e5aa8d19f444b3fec377 - -COUNT=2 -L = 512 -KI = 6a40682dbb4276387cf932a5f73381bd -FixedInputDataByteLen = 51 -FixedInputData = 08f8669ba8489382b38ff0f0cbdea8be678158d78aa87e8b8841a623bf3ceda232d92dbcdc72626023e8d53f35200d45385496 -KO = d81932fb1dbe95b000f05f1ccf756ce39175af758aad6e60bc0abde210fb34948cdcb2047b83e6c6145438308f120868585b8dd7ecf7f1aae2f68fa54ca335c8 - -COUNT=3 -L = 512 -KI = 0065fa79a1d7dcce5e1b33cb577977fd -FixedInputDataByteLen = 51 -FixedInputData = b6df1ad91bb01c511192fa0e9cbb56a7cee7805485449619c57be6fcead4a55bbe492586d933a4207a4f621e1840ca5402829e -KO = 0e849ffa2c10cb4c1ba6b623969fd3a60ee7383d790b1c7cb8f8742885c61a23d487243daab277d6e246e2c782f46dea9c5e136e1a5c3b0ce6b4c6a3ce36cc99 - -COUNT=4 -L = 512 -KI = cddf0ce2361f071d0ff0b774f5dc1741 -FixedInputDataByteLen = 51 -FixedInputData = c08c550d3063b38d9853604ecc3cbcbaed03a6faaa8d4d8b90402acb894c522a7f8e181988cc0c486a5c880f15d440b83846d3 -KO = 077f9ed85a821db6c9d212e65775b6b5c95651105aa017b79e6392280f1a3e7555fc89a4ef6c8a7addfe1e2f642abc6a2e94faefa508563b90146083191d5740 - -COUNT=5 -L = 512 -KI = 014eeb33ce0136875ffc5b54de5772aa -FixedInputDataByteLen = 51 -FixedInputData = 1898eefc380edd1e14dee3480b19dbbb2cfba04ba0fecc5588c7b38462d72c7d6296437363d76844174697f4c5b96891f1c8ff -KO = 858bc9a132e06d1fabc2140cd2e666bc04447fbeedbb7e5e32dcfd57db37ff7ad33e77e6728fccf1e6dbc13cadf294d1a0ee280eed3711e7376784d6792a2a59 - -COUNT=6 -L = 512 -KI = cd3938db3e32e3e1b084076dc9947202 -FixedInputDataByteLen = 51 -FixedInputData = 45a2ac40434e137818136a2e2966be509fb4354b4fbe2ff7b48f68426a2f1196d8855ba634bcb38a62bd7182bd45abcf57a8c3 -KO = a307ee574ad94111856679e607b2ee3b433ce7cb3dd23317367522c7c043b4d58ad25c7d882cadee7245e40f3a178fa8042a4e53403f5e1402a044e66b1f8944 - -COUNT=7 -L = 512 -KI = 0b5faec4065516fdfb2765f27bcb07c3 -FixedInputDataByteLen = 51 -FixedInputData = cb76bdea1511fdb4b9d0f62ace6a52caa1e1c53bfd96b7c2ce573d8442e6f35853be4dc7a29685bada1ee03e7f14de50b3aed6 -KO = 0a7e9197e5ec96dd969ecd1fd2ede9bb6ebc8cd7096f7230c1bfbd350ea7ee3987c1903e8d086e540c0efce0c2555c5ea385387bbc5e98ef1076d222aa52005b - -COUNT=8 -L = 512 -KI = 35712bb9d99630eb62d33ba7b2741b02 -FixedInputDataByteLen = 51 -FixedInputData = 7807feb19a2af40d18bce083451398511f7460fc59e209551fcb6e21fae5f5db1b988736f5b77bbf9ed6a420cac500ba707994 -KO = a141de1c2276a9ee48074e7c5a87b4d46451b0199a3ad88e543b311b2bd75ae4412a642a991e5fb4bbe6414acf4c1e49ac3dc442a7eb045c23ac1b3926a10bdc - -COUNT=9 -L = 512 -KI = 41d96cb21de4fb17693b975415532b61 -FixedInputDataByteLen = 51 -FixedInputData = 09609664c9047a9b57f3ff12b5f95d85ab523607af53e92d2bd2f09e3d5b120d91555ccaa6d899b9a0acd64883748d362fd530 -KO = 7b9b287e373da6a2611c7bdb466001e273f3ddca57499ceef5fabb26bac4a146f12e778273ba17ae0d4d7aa1212bfc791410376e5740b2b35fa55df7de4761e3 - -COUNT=10 -L = 2048 -KI = 41ca41afb54e2769b2e29d01c7d60bdf -FixedInputDataByteLen = 51 -FixedInputData = 992cfc9f55098e19e005a092e4f7c0b60f26955adb95251ce2896c8fca1e9b20218ef4a3b57411e4695c6d621806cc6b15e945 -KO = b5f486d993a5653212f8c922c8d1d02e4adb6cd45bf9ef32b019a562f67569f1f9ccd5879c236e2e8a81b4aa0c636fb418fbeafa964a3e3a7e1705401fc4b9d8f1f40f32598eed22d43d6c9545b2ade1b1110da654414c7d1d595c94d5e6bb55b4583224c58a7df8380a27ce17f691491751af7934dcf78d3f322096a114cd2cd0f013703b9450330be5eb9c2b864b6bec8e8722d44d08181b53a657cace418445411bf94066aa970e42f49b6c594d60fe5b7ea2ce1e82d062be6bf5f0b31f8dcf46ce1e9dafc483a8fb8756bf0cd35b89ce8b1171087a14edb35226a0a38373327265c94c4080b9ca374a2fc7e1229f4b89ab2bc806fd730dffe5a5f44eb438 - -COUNT=11 -L = 2048 -KI = e1b54f9d239c35a9deb3c5ad1506d9f2 -FixedInputDataByteLen = 51 -FixedInputData = 54cb75b5279e78c8799d3d1a59e3444ccfe5e073333ce522ef29b1a11efd2232b419fb2b665321da496b5bb49b59a19f4dc201 -KO = 9db036a162503ae6ed6bc60df126f2ff70071f344b977116b6a928fd7ebd6045aeabd2cd9967f12f239eefec63b2ea935ab354cfe87ed7eb8f123cead0e69c3b4356475067f350819feed517efea8c04ef3013954002fe16eba70d3074c9f4800cd5ce50db63530c750b3f03fdd062f14a7ff368d339f00869deabfb9a74e0faea592e3c1ccf15ea51c51c79e335c8e91e1892307c067b94546092289644956f0f7da94c0e8e16befc605528a77fc021a553e49ccd3c9d6e038b6e4ea4a3751643d91e3bf075df2c968120df352d1befe549333c4edb055026e0e704f54b72c241744bab6fcc32c6621f3f074466a6aabc63a4a9065ecd40df5a79698529e3ef - -COUNT=12 -L = 2048 -KI = a1de537e7b2827c242a1076f610d05ae -FixedInputDataByteLen = 51 -FixedInputData = 8d84b1aac157709697991ac66ef486da6630dc90f66815166749948092688ec607ee857d70d41edc8cbb5bcb21f0a36aa6c235 -KO = 295668df37881d7e16b717603cae6c98e9972a5c8d4286cb9090ee7d4b00130201471723074500444c9ddd6bd8fa78787864f40b447e70ece69645013bc2bbc56e19a4befafd143be692415218d40d61c60e430724a85143d235bb80df1e0d4b6fe9886bdcb3474cd3951af82ee5ce1d4b6696b0d41adce609baf5bfab90fcf1a45757512deae9b2192b4b629cdf2c249a8d72a52a16479e587afefee6485ba208e216b4c94529ef5441c13cb5c640e69d1d043af2589a63002258359129a4b98dd98d14042ce9482514be0f7dcdd7db72fce607efe3dddec99762ee203f45f1f05a972c20133f29e9bad1ce48fcd4ce185934722686fcdb1b4443ccc4a85fb7 - -COUNT=13 -L = 2048 -KI = 35428c9694b8fa9ba1374577ed91dfc6 -FixedInputDataByteLen = 51 -FixedInputData = 892a853d8d0e287ea9ff6c0cc889bbfbaff17f12118d239f86494f4d597ca432fde224b38a0c76136d2806c87444b3bdb6c2fb -KO = 0bb2539994992bced9f119cb69c7da2e38a83df804d413a0302eb11d4da4c1b6ec493ceb43e945d1b08fa32a153fa5da13b86ee4aa51698ed2787e7a3c9df4d618b9bd47f1e5367b79d69efceea8b60304c93442b2de6029e3c54b5d6c5746dc9e451bf62802a4dc315ba19bfcb78ee9bf572e9def4e6c33e260cd342d72591d42c2ce2e07ac7bf2fb06f9db851ff64f3881be135f76c202b6306757bd8a9064e13e8e2e557cc123b33aa4eb819e18c445b91b0efb86d8826137cb13a4fe376e85bc9b48d1bf80d227af70446a2274300ea0a1c2cc4a92c5bb0979e2be4f8e71a4bde65e6980f3d6ccd3fa47365915517c26fbdf132145273f4a246e445e7aa1 - -COUNT=14 -L = 2048 -KI = cd037cc093535272aa091335dc25d863 -FixedInputDataByteLen = 51 -FixedInputData = 8553a3425e3ca347abc975945ddad78f42fa3f8b6b481ec7cb59ef7a78676546348463e709d6f8ccfe434c863b36cea4b617b3 -KO = d90151238bba7b7d2f85e77232084d9e6352f5063eaa71c73575b19a43b820ae039ab3f885e57f3f03ac71e126f1501e3704ac566884167d8536b5985543ecee9e1f85a615944c0f0cf8bc7e28feb98fa7c7f27f3e3e8d26ddfffbb62cf94971a2e36a80c1cf62a142152344ff15b123a46e9cbfd6af0ee6614047410a744e1780dd9cbaa562790e2e5a4ca536114284e1f0188fcf39b8772d108bdab09c1e0a450840127619e5c4c07f8d403ca96a040050bc92e2900812b42c899e844c091307d2648ad6b082b83dcd0f5177fbe9660871df26218d32fa9c2fe8f36bdad0d5f2b5b00571c3a869163edfd5e47f04d283f4fae622c9db3b9b85d29250df53db - -COUNT=15 -L = 2048 -KI = c126961316adf77f98a955cfe8d00af7 -FixedInputDataByteLen = 51 -FixedInputData = 398117dddc826e58e8871a6aaa2b5ca6cb81f86335a50ab7209bc51253b47b71bb6ae9c1f24d1c2dff8cee2eac4cdadf54fe9f -KO = ede23c524448fc269c5ee35f7341b138930af5e106740f1f3a399179454f09f55a677470094c764b7653135f3b3b9b9cd3b46cb5f6c103cb54ddacd69f247d27743c40052eea015b0d07195618d3846e82f6403325f32c2f51daca01b122f70d8bedc6226b06a583be276d4d1871be63f3b0b8fc4148894d43fb2d165106fd6bfb376ea98fb78dc0726a79bc6673c66ac77cbea68c72cce0e3388b169ea72badb8d2ddbac5a329c093ffe4f5d43c6a554a293fd1403335647a415c522eac73871c52d22bbc7f4d63fe1b1900e7bfe97d88ac7e15de95d3edbb40e23bddf02ce4419b69f828ce332e6734f32544d5abd27647287b9b8d660b7938015e4e024643 - -COUNT=16 -L = 2048 -KI = e3aef1f1d4ee4c3ee05277df887bfa35 -FixedInputDataByteLen = 51 -FixedInputData = 41e762f36d14e7bcb6449fa739febe59d35f3d7753210af32da3827c4eea8e59d5f144bebe381f4b5a2ac2a4a54aec4ba780af -KO = fad8f59ac5258dc44a496a9bb85fc279ca251488fd36583b0e2af7b49fbf038e09c6857d49dc3825472354210587454df591a5556bd6ed97dcc0afa9ffb89f9c0cb9a7e6bd259ffe691415972ebbc6597d2a36ee3dfc0efeac4776cb944cb7a1d9f286ab634c058db4253a3bd9b677f939582bef2cf5cec59857047818f2b1509badb6bed4f48875fc2a5389d9754695f3d0bcf2206bdc0d11f56961a918e060342be7346e609300448e07241167b17eb0a2cbc387ed33eee6118f45dd733ec1d0a81e8258be52dd034bd03b80b527288419581a0585fce98b37449388b44a315dd37fab69534ef7efe236ba5938502f9259e71d5b1563f4c1ab65c6d71e458b - -COUNT=17 -L = 2048 -KI = 69cfe47f6d47e3fb2ec68761c4cb4a7d -FixedInputDataByteLen = 51 -FixedInputData = 323562bf832e230fd1ac9d5b6416641fc1a2a74ff62fd95099ef4283635088436014df62336ee007d81a8bd6fb5be893bd319f -KO = 8b39bbd5a4a4d503390930517ba8d0a9833f0820aebddb636efa4b45ec0e92d9e8fc6826d0a3d4df6852b01ca8e078eb9f5f36d08f92c76503ead87a3c159e6bd8584a55cc2d5d1ebc80e13b44e4e1d01aa668fbcad158ddd91d17c513735305e97a94e15e6e84d566f5f52e5bbdb933d27aa55d47a9d2aae16cbcf6818a1e5e9c0dcda4ae77fabb7d8869ba0545b7d5594396001534b9f659e56836bc6539984ea180cebaacb3079e89b1af8083d165f9f2cb5a28627ef9ebc030779b44a2bc569821cc6637594747ed402a626c1427014ecda5ce7eb9f20803c12b0b834c6bb2be36391035996c3e42d724abd00e262cfe7560c6e4e303661a7797d8662600 - -COUNT=18 -L = 2048 -KI = 270fb40efe0393e59907b2d5144dee23 -FixedInputDataByteLen = 51 -FixedInputData = c61d87ef0e76663e3a5576bbe8b6c97e3228ecb75ecdb3ccd3d4dc878348082aed9cf5ba4b60d372160bace56558dab31d6f98 -KO = d473e7a3c8a07cdfc8b8c361a49ef834d3598f3a8825c55c67cbf3d95419db8aaaeb500c322b50e50c38b3d22737b8d528b28b85d2be3beec01a4e9f564efc6e6fec54a56518a8062bdd16c5cc4c52f419c2fc30c5115d4b1418b8ba7bf932b588c98939ee7f1e99b9912f46a52bd85b82c9e8596ee0e8ce24004b74d7235610f83ed987584ddd56fa0569e84d9b6c1ace9a40c54aafdfb74ffffc201b19712d70aa8dc2dc72cfd8bf8c186434e5bfda11b52d6be9ceed3d65ec4acc8275f9011ac3f9aaeb032bc0105fc3acb061b1ec0458f249cbe857f9a425f599c0393350220a9dcd69fac328ff2ad57a02c3df2bd530b96dca6ff4b3172836c6712536e3 - -COUNT=19 -L = 2048 -KI = e28027c0aced309c62f90c4ac07bbb81 -FixedInputDataByteLen = 51 -FixedInputData = 3a6ff39087a8b978995a4a0e55778ef92cfda7cf6f304831608afaee300c94c16cddf36ef155b758b63e42d464b1f307fc8e83 -KO = 7d40957066300e28ca413b8454e5040dd07422b036a7d6be4e3e4714e2708c227db5b073bdb65f3683926f3f1963dcaf2d94724c071578caa6f165ee4539780bea54ac93fbe270b23c9f4f349c5f7ff5faaf59ee2c571cb482ae5d4792a5759983e93b48d99c320918d30d5d8e4eaf32945ff9f5dbf503386ab64a0cd6b7a281c11085842c16303a87d730c71d34f4955027092674c0c5bc24462238a78f712d1f1e66c84848a8ba63a0a3f47c6bed7f86af84b9355aa1b4a4cc99d4c1497d633a124e17577e19020abe108d295a63a4fc900cfe97663dbb29849352da214db756fa3f24c1c85998233bda88a99d5a0772946fd5517add93177e138a112e4b47 - -COUNT=20 -L = 560 -KI = 60d73cefaa0cf2a15fbd2e7b61fc3704 -FixedInputDataByteLen = 51 -FixedInputData = 9f15d39460a7097f5cbc6778662bd5c05d52d5ca4283bed748489777fc852ccdda2f5db47afe179b196960a2a927d3e550c6f7 -KO = ceab96ff34632d17595961a91af839a3a3d07c44649ba5685d95bc1510a34aeffe81bbdbe033cc835784fe45d4e69a7f1889ba5f6eea54a31452b05c10575330955ad464e4c7 - -COUNT=21 -L = 560 -KI = 4cab1e9805dd3c8eafa91df9f6f1207b -FixedInputDataByteLen = 51 -FixedInputData = 6e5a1c3f8545081c604284d674af552e8dc0508589c41c7f936a509f4c343a33f088c7fdb6b5bb4aa206f5db295c48111e39bf -KO = 0565bb4677b894223e0d9f26f4984306ff0afa903ddc93b2cc139df78b36aa7daee8cfc3fc5cdabef5c9924ccbc308053df4941c95a57c9ceec8d9c1b74cc962a99c749d09a9 - -COUNT=22 -L = 560 -KI = f0b7507c12257aaa2a1c09319e09ba04 -FixedInputDataByteLen = 51 -FixedInputData = bdde01b0c5da3bb07e6949cbcacb20a6930e49a631518341b9ae4c06adc29c33b2a55e1597572295983c0466222d566c9cd3d1 -KO = d1a96de17dee6b14b0e1486135064bb3e5f34e9be16dbc0e95d3f34cd0eadf5f730e82bfd6ab0a706842c775bc276b559cd2861bb217c8c2564e9f2a72a3b558d2089ddfad2d - -COUNT=23 -L = 560 -KI = 0d40edcc9efd69774c008e7cfafff93f -FixedInputDataByteLen = 51 -FixedInputData = 4cd250c67c2b46302df34be1eb91ad7f57ee858975032b317511b65666eed1694810c0f39906851c688cdb356911bee6552d65 -KO = 3a17229a0f299ef47b152a39448a6a7fa339eeb0e4270f05e5b8cc9143fa3f8bc65bcd1c86461aabbd72d8cc0ee077d35510ef9916084260dbcdfa144c922eb0aa52c523c985 - -COUNT=24 -L = 560 -KI = 26ac0f641f163e82aeb0144029b6e6f2 -FixedInputDataByteLen = 51 -FixedInputData = 0cbdff8add6ef8bf74f1872311346310729d4866b405d5d765d0a7871a667078f8ac42ba3f4d08d34498b03d0a32d3dbeda1ab -KO = 5c315e4f8600536c42a75eac778ba7723bf9fd6b671e0a69d797897104a152bcd94f084a57fc5b7877446ea433ef2093249b80f6472c9ba372563149137aede8d5ef094a81d7 - -COUNT=25 -L = 560 -KI = 7e3b669e8052059b42344f8878ad795c -FixedInputDataByteLen = 51 -FixedInputData = bba7b27814312b57eed3bb7fb22b8a647aa3ab5ae0f5fe324d4e0e60bc6e3b859e23386c443f34d3d9bcd2a7495f8b8c181f8b -KO = 21be8f80d54a2fafdbf26e8f1d38921c8460240bbc89e9f4b40e66ba02c42cd04550a2b4c3a8076a2a0b80b83203e54a156dc9be147af9177b91752b5ba29024cad2409d9bd2 - -COUNT=26 -L = 560 -KI = 30ed0a0ecffac834748a8ddf8af29053 -FixedInputDataByteLen = 51 -FixedInputData = 3668db2dcfd86ccd561c5ed95d35df69d0a596dae34f51d143f0128768d9b3489dcbbc4b584ea0447ca84e75fc12b91e124972 -KO = 1e24134de755eab746b9a3e560c41f8af14706096e9ad680425cd195b7114d59312044c694c592a3cdb05bf7f402f550df3dc300eb1a2e3d380b62ce09f700b91d9b97af11df - -COUNT=27 -L = 560 -KI = a9fbff233edd32c1f2280f8277e4348c -FixedInputDataByteLen = 51 -FixedInputData = bfbf9e087fb0acb52ae82fce115cfe05c2d4790a1090db0c3937f3be1492f0e896d1ae9ffb1c5f578b9c2f2b425abf706eef5f -KO = 0760dcbba83ac7f39adcba40967552a28f7d6233da0b9c883c32449fc4a3b52394439a7538580144bfe680f65b9a0d4943a6fe64163b5a54ffc80587a03470775b4e4d7d77c7 - -COUNT=28 -L = 560 -KI = d0a61a389bd7e0db3c975a933e5685bf -FixedInputDataByteLen = 51 -FixedInputData = 9d9229c63853e7604857e77541770dbd45e1fde7e6f1a1dcee71ca45f20079ababa92aec0166acba2c39c1a2ef210259255888 -KO = 0bdbcb45de78be4b95f4e6b4236aba8e31206184a8944df3728b9eb778ad33a768190b4dbe73cdc2a71e6bfa0a79a687595d6c6f9750580bd2f0e0b36b67314b12f7eba5cb64 - -COUNT=29 -L = 560 -KI = 7a2af7249a3ad78e591883db185a6ecf -FixedInputDataByteLen = 51 -FixedInputData = f2ea7f57d085771033a64a2fb60c63f1525ca14d7c7c2429e84733104b9d36cbf304fc32ec8db09784d90556f8d991716b15d0 -KO = c6ecea62e5303dd8586c3b9d60c7fbc7390390d288ceaea305c87ee861c49ce545deaa2b17a3453059e25e63ff1c0d6f1fdf3335dddb7ce2f82cc7aa97339e3b33c99ce87919 - -COUNT=30 -L = 1600 -KI = 250abdf21bbe96e372fd78c1e1506a12 -FixedInputDataByteLen = 51 -FixedInputData = 3adc97319748fc32e7d710d5efb98af2e43244f66c73c9fa305cedee136ccb1e6e6a51e3e4579cd3aadadff3289dd503615430 -KO = 557358d7c1ec4e67dc7acc8b998ce1bfa0c3a0c722182c0ee6ca37d2ecf0ff0d32c04b91b11715f31f3bf45c3d152c4eaa65f536a86109232f65a6079d5e63c849717eef08a67b5058a12837eec716ed5cd773fba19dc26a1327d15bdb10d84829272c589dc54fefa6f3bc247cb3ab110b99bcfdc3fde92a1c722a692265feb8735551cab59986cbd9d7616267895419e0f5ce8fec3d74405b0c97ab609a8003d87b3fe8b2b3aca8342d1dc77c80b4f21c0013dd8335f4101f0d9f70d5e1c443f8bfe52c82fa8d04 - -COUNT=31 -L = 1600 -KI = 439f7ed666c5178df9c19a555fd73fbf -FixedInputDataByteLen = 51 -FixedInputData = 371d00d1265f75f6542507880c0aea760f8447f8cfb85c50b52d4d551dc3ee816823dbe7edeae6435850005d5058647caf6afa -KO = c3aeefb648ed3500c2e613a460f76ca94a2f75cb30dce5b403d5ac46c787e2e0366d5e909fd0d524b6738708e8066bf83391975c3a093a13e3f5240e985f8e555568f5e4c81d167ec95367eef8f0a38e55505a3faa0bcfa7d417aefb63c7b5faed6a41a534f39e7eebbcebd25b372929987831878f526170fac3f48cdba6d9d8a10fa0df5510f72a8417175d7d92d2d71e1ea2572cbd94bc603ce3eafee71a21c37e8dc661c0993cfc3981be04171d1d657ec8956ce8b16ce59124a9d1f5306f3d44dc5e73314a18 - -COUNT=32 -L = 1600 -KI = 93594721bd9c282d42edfa125187a1bd -FixedInputDataByteLen = 51 -FixedInputData = 15844a9c6d589fe72de60ef260c24619a9d7cad16025ea29454cca4ab26e85e9c7e2de61fed293892fd61abf4c0ae274fda91e -KO = 6cd4e9c1d95de0c91304427ccb7547f3259ea303c6a384c0f04c39ce9aa157f0aebf2a948a532c57cf35e6e45de4973dc703587897bed0d2afb5ffb0f4867887284b6962284f7a378c355638d07e04757206e6ee1ae626f78f8614c105ce9c6304a1ff162ba45595c15704dad516d33ffc6c4e59c05cc89280c7234067bda3ec761e58db1e4e9efcad6f37ebbe0ffedfbf900e875d1b40c75064c7039167aefbbb81bdc3630e12c881d75436240825fd76aa93f8d87aa42ec108f2c62ac978367e52b6a8e1c94dd3 - -COUNT=33 -L = 1600 -KI = 5624218a8379a73959ae57b77838eacf -FixedInputDataByteLen = 51 -FixedInputData = d14688961030d9a5ea4a57c2a791f06717d382f85a966c9415a51a7757d73f9d3f3a0eaae2477a4f1bee1aa2a324bec256d5c1 -KO = 15dedcde171c9918ee82dee0dfc84ab6c303b05638e2bedae69d5e23fc97c555dcde8067b72d22c82b5d825bc7d303d1891974662fb3cde0631ed62663d81e8d903cbc50175e6fd47cd5dcf7f56d82c4c98da549cea8d03e4a61c658519609445c1fb689781d500f096a274482a843880476665e5c1c68013c64e9668e9136047e8dc1b1213236480a322bd162977739593a78c9e71676136d7c656c438ca217688cadcffc6042e283fdcbce23b0c5369eb5029f3cd280536eb5dad785598c792174511caa5e282f - -COUNT=34 -L = 1600 -KI = 11eb0a48f1432bfc64bde289d7963cf6 -FixedInputDataByteLen = 51 -FixedInputData = 969f510c9562b9a464314af5a6c541c2c58f7c56653458fac22a285e748586003e7550f4a3313f42aec1400fc753284fae468d -KO = 923eb7395fddf22032370c88a0b47ed6b8c7fe933c98865f21aaaf8695125bf8ef6269387c7a1a37c145b0a6eb573234e3be57572ce05a2172b6eb629cb11d568bb710ada3fe82a1a800baf01e29f74b0d8e835c35c4d14b0f33f43840a6ae9e62e921d23e5be6ff87d73f3228df23db8702611305a04e766dbdb1c6a8a1632f78ae28f92890614677a6c72532fdf88fc04b343ed343b469e637b7fef172d95d53efceda3a4b1d5901b48f958bf2f519695fb566a5957b509e1405cd77c9f529ca0272a35debc3ff - -COUNT=35 -L = 1600 -KI = 5143a6093b0fea0a6fe8bb2fdb2eba59 -FixedInputDataByteLen = 51 -FixedInputData = 6b1f0e05eceed6055c58024ea088241968938685d2349aa9ac3844286324807b9c262dc1713f1815f5278f9266fcdb1afbe682 -KO = e624559458b4d829062aa58069f9cb731831bc61c58005de22aa27ebe625b66d2b83d155f1e90b8933bdad721829369e2ce4d1dd19df6c666c8bf7ab25a212205f50d1fe7b34c4835be3b61449596f16d686bce077594e150138a25d494dbda4d45a7f947dc8992453e18eaef05c091bb0f95f64ef776a9b8d361428adec5eb6622dda715b7c177493bc272f024b1a5102b6bd6015fee0ae8465369e3d3054b7bb8f13dcb8517265e50a802b00469b0f5ddb8d3b52fc16e8cafe017ba9451cbc9f2725aca70151d1 - -COUNT=36 -L = 1600 -KI = f22376a7c13e28e6c350f9c56682b696 -FixedInputDataByteLen = 51 -FixedInputData = eefc55618f5c72be17031e075d8a8a12e26dd3e0068e498ee8d96465ef009623e8e70c0639b569d2119a7310a9992007ea0e0b -KO = 2a22e3fe63e4c8c891ed57d174d3a042df72579d4e47bc90da1d8f6433c83b68fa6060a2f35771fe71320e6ddb93a75ee1b1e6740e656469dfd710fda01b805befeb722f7b6f5f626dbf6c175a6ee79dee0b3effe209f693e71f379758a9bf62c83065e2188396d3635e4d5f72168f04aa38ebca45ba17d16e2c68c2fc6a897e973712d2aa43dc7bf9d127da8a222be27fdae09453c6d6609992a83e476c7ba9213402bdbdcccc671d4204ff516c86b55fd5d847361596f882d865665174e47a9efe60913fe553b1 - -COUNT=37 -L = 1600 -KI = a9e38b87a976aac0431923a0989d5907 -FixedInputDataByteLen = 51 -FixedInputData = d4fa9165d7e757124b01f4731a0a8de0322b252677b40b18c127e7ded969f3d584a5df568881dc0ba4c5e562aa5c2077e20735 -KO = 6fdfcf3d9f350cb11f8af5306654b8e005ccc2244d52faa012bcfb44b9a75f88dad1e3c0c674155d42cf4d54e61ceb8642943f9bd8e58495fe890709339c9aa86c72b16cca3acaeb489620aa1d2768cbbca815f1dd9b46702c15c7a62718c35bb20a8f4ca425958c139afaf1b8c6170f0f700abd756c2af8072aa545fa7d70971798e8fd7570d80d92f30d43ea947d005ce322989e7a27088d4a2c6a31cafdf64f9d6203ce65a0780a48c5e378deb497e7a33e5f03b6065a5ded58eb5d0acc23a194d48f0e7e4863 - -COUNT=38 -L = 1600 -KI = f49a2de2793be09da71bd1c16ecd8d3d -FixedInputDataByteLen = 51 -FixedInputData = 364dd3c4abe856bc10dfe22affa72493bd47ae093378191d5e6647a5da786f4380e3cfb92676e1c279a6bd57ee849aa3ca53d0 -KO = a97686054002207c8c2d7517a6cd94044f84b6436501131ae7c2c25e84df8912c9bf55163872bd317e3547a734981bfacc1eb33a92d926d50ac47c8f0b782c1cf29d3372813a303b721f744c704aaa8c2ef013f198fd6ada40967bffdb140515a5fa102c7d6d4a72776a2c20d06e31e56d7146726e41a335ddc7b52fd83ca4148e0ffa2dd11f0e556dc0743c89b0de75e075da4933a3983cbd2c5584fe391ada09e85baf758b5a7d6090c4149add4c9c0967cc596342f7c44f3588291863763f4ed9092580da577b - -COUNT=39 -L = 1600 -KI = ce3685ffcc54abca52739bdc2219589c -FixedInputDataByteLen = 51 -FixedInputData = aaa198032cde0f9c32b61418105a1300d1285bdf793303299161ea6d663f9c52925013f64d82e55333ae3839727c0cc096a98f -KO = 87c3416e26f9091cf37d2784e804ddf07a73a74ff221970b041161b0360bff6a75acce04097f049325a206a5147d4f9b0526a80ab0c3592b543b147880a899b97d214d147b8389839cbd80b557f4a57e4e4c6d3f55daf4d36c562758d71a2e24650e930db9164fed51809d4b7e724c420fec5fb1415c55a96978e8dc294cc6342e8931baf4b9b1efe816c309ab54c7d5bb4b4f1e0b095fc2c2f6e0b4d5a2264b1f743a5830438d3de5ad2cdca1452e93ca35682c682d29d6ff40f20668806a35a7684bcdb666c775 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e1fc95a15ee7eeee7490e12f37308a21 -FixedInputDataByteLen = 51 -FixedInputData = c02a3410c07f35082b1bee96158bfbc20716f28d19994cbbee0dbf018eecab5f20a83d4736e8527c434c80058fe3a0ab996cd2 -KO = dd545fcd3212601fa0a8638e0b30994686e9f8c121b802f900594449e65e4af968d78c07fe03f4ac8ae7878da73e1c9e14368cd13660ac5a1669ee8981d0e17c - -COUNT=1 -L = 512 -KI = df91c5e117b46dbc30f02f89558d28b8 -FixedInputDataByteLen = 51 -FixedInputData = 19e59574f631b136bf8282c6bf3b9fd56931447d9d2d8e0c978594ea040962f5b6f0ee6ea2d0b5d64bfc4fda8e6bf8c9a2e8cf -KO = 8164434a82580658dbf0a8200c3095cf8ab1e3a9b11c10484e142e3d46d2955addafd759d5eeb1d7c998d673d71a87a51f70103c901cbb581b58e011f8583614 - -COUNT=2 -L = 512 -KI = 1de2525469071f67d68847e3c7626c38 -FixedInputDataByteLen = 51 -FixedInputData = a2a85cb4a0700ab3e0e93dbf88cfef042b2d1621910741f96f31701a9368d7d8082f5d1c0577c6768b2cda7cfc6446c4cdf4c7 -KO = 0e439ace7a77f2c85f27a4bc9bfde91960a87aa298f55c81aca90640ce4e08ffc11d4a9b26409f8e1e23209200cf322251056146d3226748d127a4e6135f9b96 - -COUNT=3 -L = 512 -KI = c92fd2a593105bc884925a82f46bf12b -FixedInputDataByteLen = 51 -FixedInputData = 930f75aab3142b329b54b60df4a2492f6185b80a71a1658933672d5806e315b873fa03d51c65b54bd700ac2cb1821f1f71eb33 -KO = 159aeb50e5272a1d22356b38731766eafc7cb8f0c0ae4deca656b8dfae21afb9d815f863a26e3f5894dee89d4480da207301ebd37b6641fecde3416ba55283cd - -COUNT=4 -L = 512 -KI = e62e81fdf720323d0c5041dcac3486a9 -FixedInputDataByteLen = 51 -FixedInputData = 59588d03931620aee46c3c4a515a65622aa7f76865870247a8c121a709c189000de929e1b52985efcccd0333d211eea9ec2bf7 -KO = a4baea3fc408e59ef13ba1dbca9fb098ab0629f946d09ee209ca899cb32008a2211a173cc9c20f95eae5543ce905927cd70fca3e2217f0bfb43e7bb5d22a1508 - -COUNT=5 -L = 512 -KI = 38dcfcd2ad2df57e364e6ee87df14aa9 -FixedInputDataByteLen = 51 -FixedInputData = 7cbb94ba88ba971c649162e1aaa1a9eb19a4d0383533ed7306daec9579ac970bc6ff79056d516c5ccc01859172407000466562 -KO = 7abbc7e7688f4eac12344f77165b766b97c49bb5a7fb89710fe6e7b20af5d969dc969624fc7ea0e15e291bd7842c31f35c7be67982b925b4d4da3df77b84d2ee - -COUNT=6 -L = 512 -KI = 3d9b71562acd1472cfe145c50ccee312 -FixedInputDataByteLen = 51 -FixedInputData = 0d8c5409ab6ab05b65b6ef491a344dea33e9fca3d91c65e94785a7e4e0771c351865271fe7b9d36ed798ba2c637eefc3a1039c -KO = 75f32dd7fe3d094a1212f67014aa47af42010f144f7f86365c4aa4e37ead38c3fa180f8cfc1f68ec863de4172ba0daeaaa80e983a4ba99fbe0f7ec140adf0eb2 - -COUNT=7 -L = 512 -KI = 66e385b66bb0cdf5d2f7306191aa39cb -FixedInputDataByteLen = 51 -FixedInputData = 25a9382045dab79954e88f2b55e9e0544ec8314819d098fa650a8cdbf12a26bfd205c06ae1b7693c1f7bb8369d9a64ccfd5394 -KO = f0684e35686192b7f0dbaa1eceeb36645f049423c58d0b31c51597a3cc1cc7c79bd9fbcd90162bf7502c754c16b8e7f80914ef6ca2778502e384b2ff3edacf50 - -COUNT=8 -L = 512 -KI = b1cbc608cfd97ced0c6ecf8f90563758 -FixedInputDataByteLen = 51 -FixedInputData = dbac498cf1092395fe0884fff7f09799183f7e10ff8846773c96b9a968cd311207133e13e5affe3e2eba1d83ca86d9488342bc -KO = d5ffd8d7f9a1a13f568e434720c8d8a967f9351f9bd9f4c8ed75661b286d6734a82875cccdd6ea5e75c13dd9a74d738d3763a2fa99d023597555a1550c538b7f - -COUNT=9 -L = 512 -KI = 9ddf55761686f486c26fd14649f998cc -FixedInputDataByteLen = 51 -FixedInputData = 868421589dadf89775860d2e7e6308e6bc682366658a8f497d7593fd1d8e05ef127eaa33b198571358fc360b75cfc3276a0d5a -KO = 3f059a22388b9ab7403df658017cd1280dab405bccfc4fd487d9c6d0581227e4c57df3e67fd2e2957c248c99c5ead4e079c424190def689adb8d5f69545496d0 - -COUNT=10 -L = 2048 -KI = a4556428b7f3cac4f0db34e0469db653 -FixedInputDataByteLen = 51 -FixedInputData = fa5374b205c85cec7783efd5c7d1d6faf3c3466af7170b3bb43e6e0ba37019a53e48df347f98dbf262fda9ee19fc2f7dd34a86 -KO = 34b3a57b8243bac16383712ed02a0ed398d80ca6c10f1e25e27d71bad738f82d5bedcb4349b064b34ea0a156ace44b815644f29c38bf8fcd47b1e4ce096ac4abd7efb71436cae8f911d5cfe0fc99f96f5d6d2b19bb0221ae71050140f5e4b6e4db55e0cd0b2ccf3f12014cdf6c8d11b047de76d97e9428965c76b53273250c58b5faeacda2b70c6d109c6424a47d56a6af510929a08c2be6bc723dad58af6e9f7da2428dfd67f0757409ac76a4cf0940a81c0f341733dd0f06e482f089d69e35cef85a9a9ddbcab30c6cb50e4fcfe951966435a5daf52cc84f105d06767e3ec03dd7a7044319f80fae13af906ed4babb803f5dc9c5c672f5798f367aae9f9a00 - -COUNT=11 -L = 2048 -KI = 5138d2839ad85174c917bfc83b5c3242 -FixedInputDataByteLen = 51 -FixedInputData = b76afc457d5d16f8490662a38c73503d22e8770f9daf25c2e9793f9131c253694ac3900756e05a94303637a8c7ccab1eff7fcb -KO = b410e4041f506c7801ae1bce521316b0702984662d684b9957ee9e9a8e8be274c54090b2c499b4bdc8b83f1fbe7026a9ef411b01e56550a77fc150ebfa2543c168d5a5ad29c6198cf8c4506f45dad9bdc2bdffb6f693992861c1537615e9addf7f9c9fbc75c3bfd4b086d1c9d48b11cbb3fa975d7c69ec65143ec0203d82da1612a2a57d907eef97098ff3ad5be843ec04a5b86aff4c919890a5487f925b859ed788fe50211e3b4a5953f4572c0d59de536eed1321ed008db28d344bd0fa4d028fefbc9799ea8bed0dc72e686abae756f04f1b1f96cf613144f40cbc3dc6b30baf3821202b2634c8e9927f5ed9c0959d2ade90b62dc38b4560eab6e5fe5811dd - -COUNT=12 -L = 2048 -KI = 3828868e6b86aa3fdef50509a0da8827 -FixedInputDataByteLen = 51 -FixedInputData = 9bb116d88c6d69de6bda2b913717bc82504bfcc1d55c9b134e17df969fefc1bc4e4afbd564e8b346581d2f006c937d5258d5b3 -KO = 19215465af3b6d63db847b18ec2576d9fb5d04b32df98b188c087521395a0ad82bd2fad7dced58da4c0d59d95c0e49e166fe22f9166663a0c2851f0b142e525d46dae16a0853c8d49ebf27b96df00791cbf2f39de2076354f7b44850ebc4aa6067951a5cc6383def6e69c2900e82d41ae156082b9cf5bf1669d327c1e18c77b3cde305a5214e31daa4c9a824fe9c84be7d1ad19ea54e0a0f7779ae5d4420bf7887498bc92dbcd4369bf542c0ec62a1a64b8aa4bb7e4cb30e1da1ab8d4312368eb3d48912c9d73fdf26945f0e1376e42d4cc11887133d0451bb228ed8ee72d9dd3416e94556e469561529545e6ae5c71b09e91bad9587164c8bd872102a4211f7 - -COUNT=13 -L = 2048 -KI = f3223f4abee75ba7aa37160e3e96e254 -FixedInputDataByteLen = 51 -FixedInputData = e11b0ba4514be8c6e12dc903e55ff7e6a43795f5ef12143624c53537555b6b698b89cfbcedfa5e6ba1a825d56b5d15ef41d703 -KO = 7bc60a821c9667dd4ecdb4a31c06f941d365223143a931320ee4fcfe89cd9b3cd0304699276943c24f5896c86f7169cc285be24ea13f058e21d8572853bc932bcb3899c6d056257cbbc36a1b96d8a12b80204b9ecd26ec58e47294699a892696d5520b333d36ac7a49567b952047d8f40f90b82dc44af0488f4716409e14efd78651a18b5aa2a857e2b0723c900620c5f1c2a4f0f5fd20f510c9f4c84f4c93575594af526f0471c5f4cdf66de09462c832ceec9e4a4a25f829c0441a47b2dc740299e79b9281590678e10a4f3c95840e3ee727523d2dc31e163105e8d63943c434f5080e595943bd25564d151cea0606a946e4700f3c33a4d9edba52505e3454 - -COUNT=14 -L = 2048 -KI = 120cf6ae08278d5c70d5440a1ffd07db -FixedInputDataByteLen = 51 -FixedInputData = 311d302455298103c95ffad885e96706904215b9e364b468cd63794ace09d5df25cfb16c3f2a2d6d5d471dbad4874b739aa73e -KO = 681587a5f003f98c33c42d0f8240d516816308128e89e73d649ed6927bcd8d3115297a9f70497c0a65a456930a5db2b46a18834561b1e9e691e2befcd7cc99f2729bd642f91ce98023cc10109b1175bbaa8c13014be9916096c72f2b87993276ea4776c263a537fba841205dc6dfe9e8084e244d2a4fea59dbd0d5030016ea137060ddfb8dd05b8f877132a86a76888b58a3718e9cfd31018965dbe23567c42f2b2610c28c8608092d7e0d8280b084522f9d7e87273c1419c58ef1a809dd16f15efd5782f772bd6b1fb2764e4776531b6bce4e2d9e7bdc861e541e49b27bf272b028fc1c107614d499f65ef808236254098d4ec13fb259794336d549ab3bc4b0 - -COUNT=15 -L = 2048 -KI = 46f0c06d0eb195561aeac8895ef7609c -FixedInputDataByteLen = 51 -FixedInputData = 3a32b3f80e002ef596adb3831882941b703a279e382f2680f770b1771abed0691edab93ef393d889700595f1100f268bbd1c84 -KO = 828146718493dfaad0e636955279247b366a14641ae40033e2e532b89b375a38e176ef7e1e7569aed35a75c8803c76ca284c19cb09da9743e6c8292a1615f4537903ebf0065cca03c4710366193a9212329a5285996590b92d51fc6510994e6eb560ff0d65f09292fbd7944f345ffc582ccd406853d39b1a2234cda859f1da2f420864ee4aee3a9208f2350118d2f2b7f6fcdc79087957c4045bab18605e673ebe53c9e4fb57575188177b41aa5acf53499af98e404652a0d9a2ecc9fc7a438044a4489ed2abadc228fce655114e6239ef2a5078546a60b18be15220468e9a06be76acb208efeeba0ee10f41bd607431adfeb172c84f636680fa15db39865e5d - -COUNT=16 -L = 2048 -KI = a30f26bdc26cd7aa21c3d870aee50ffc -FixedInputDataByteLen = 51 -FixedInputData = e30c3acfbd4e25d9f480285045c715ca79d12149431168fb36e9bcfa833b1b57ca89a659930cbd9bd5b4be875ea07d213b4fc8 -KO = 01668d1bb6fb816e0466c7aaa837be2cb2dd2547482dd03ba6f75896e10ff3d985fdcfb4fddeeea4a024a66b0ed4a1a25e20369ef85e83d8989110ef19f8ba66e3ba3276b821dd1fe713e500f77329962b0f604d3a099d3f4990b0f5401494a6446846607e40fa2bafea39bee1a496f403ccf41b9c65b08744ba7f9de92112f7c0c485bdee1f4790ec72d56d14615748354cb3f67310767152f63138ab32b117fc472f53b5a3d85a1ae13fcc5d3c116316b66315fa80f794a4225e102c56b204b472159ff8e16e2be62c0d06b7034791c10af1649e7c4dfa508728fcea65880f97f6e7bbf111ecb31cb77f3a76a9d713e043eb9d88ee7628fec8c2b26e6c8873 - -COUNT=17 -L = 2048 -KI = 2200b547e1ee3b785212848bee8a7be4 -FixedInputDataByteLen = 51 -FixedInputData = 7081d102b685362f5801a4474d9301a10d083898392e3cec7c921e328d821bf9ff1b0edcbbd8e519fa11dce50b4b2c143eb937 -KO = ee64511f19a47e24ff7ec41d2d0ffd6362e4e1c93dc4d753371d3f8daccc1e213f638227b54a61ca0e28b8d79e07ace82f90efa9eeb59c4166e9dae343a9ea2e2bdf0579b396f4c1ed201ac49b96cb3a66d66fddd347595409b3957ad254f09b4bc62f7d18c8bc50e64071d39a2fd5223c16d24d9441cabdc2b0d0588d34362ebbeea34384b72564cc95d946d3f3b81651480c285a2c2d5c5146b1d73846f2120ed7b1dd1ef2da66670aeb4a867066d32b06f0bd766e49603c507851d9aa885a611fe97d30f66937b84ebda1d46862cee51406537575801759973cc8410fbdc8bc5f48070840c7e3d2eb8c87b9352659adaa9eda05d3b8648855de5028dca0be - -COUNT=18 -L = 2048 -KI = 5245442ad595e6616bf2323f0854f683 -FixedInputDataByteLen = 51 -FixedInputData = 3b848d2359630f271d1fa66f22b1c17c40220c5b528fce06aee499af8caf1702887bb9a986c66aed0be2b9572c35628724d990 -KO = bcd982ffe6e8c758f6f617d9a75f13a7f1d39105305884973d516588bccaae68d32ad61f328802e2d47053d2137f89b1fbbbd5f1255a92d592bfedee25fc41dde40a6feeaf792f893b7ca106b5fd332c8aa3e8611cce7a42415d33e4d80e1ef66de59b6aad1e5d5fdee90090e40836245aff919cc885549b60fc85a905a1a1b557a3c40fe55bbc06c30c55f351e6a8cd395b18fba8a80a9b1a67ee50f439a83b42fda88364a6ba91e2d7456c3ae6c24034ca5ed6cb44ae907222dc4390c96da8a3cc1bfd066f444d4453917483560320ae5e474d81d089aaaa14df693459d424c6ab1d753c692e93cadde059edbf522d3ec4d2650c5850e07a59e57b92e34334 - -COUNT=19 -L = 2048 -KI = f921884fc2fcc757a66be045ed417d28 -FixedInputDataByteLen = 51 -FixedInputData = c1c4128a51eab64fb3e3b59f552937824312fc663ad1240771f15b0d651a4f6254e93f6305234547a339a90b6d0d5657d2ee6b -KO = 6004d0b1cb5cc4d903d86459b0feb65860b512ed54b1475cc22d2ec43f0fc2379afaa3f87e1d06c6ef368e7f267c043f9e2c7dcd5dd8fc0a08c41842b6cfa7e2ab2a2ad9f1459c3b333c540101aa263543688ad60a6cbf7e606dfef73772fd6ac3505500fa762edf703af5b542d9f28354b92d3c3c8b0757fdf1e8773445fa0699f7b0f29670719c66c3ba081a01e1824be2d9ae0a57cd6745533b896ece12465deb210dd9cdf4ffb3c66875f85ae2c288882bc885f3735c78449e070766c08c725f772fe8c7b683163c1c7b514476c700fb2ea4df4cb58c8d36f75572e0178afc60f9cf1023bb461abf4cf8e2db4656bca3debc5ab917a02f90dc695b9a7440 - -COUNT=20 -L = 560 -KI = 44d2472adfd09cb1f42bc6025531a921 -FixedInputDataByteLen = 51 -FixedInputData = 10b309f567a03bc2cdae97c9737ef45656f41319bbef78415d001b4c82fb2ea5b6b5372d3ffe20496eea851de0eba7b7dbaf44 -KO = 7915f28d4e19005b02ee546cacc5594ae6afa44aedf44683aca5027070344f7bbd6df04b2370617ecf9a5f0f82ed6ed798332c2924a2bc633eba3dc0cbd6d353f783ed1632b5 - -COUNT=21 -L = 560 -KI = ad60abc3c77ea4de5468a80ec2969ea7 -FixedInputDataByteLen = 51 -FixedInputData = 75eac8f4c8faaa7eb04df342266e12e9a1b92d9ac0a5ecf3da7553b5e656ca2c08eaaca48e67202eaa90c9d2b69572fa7784f8 -KO = 457a14f211655b2c39456e82e434e8d90fd0f9cbed89af9ef15d2460dc2e139b531619d4cabeed9c8c1862f534afb9ca1e47ed74eb0950695f2c9120c6f83a9d98f55fa904a3 - -COUNT=22 -L = 560 -KI = 159e5b9b21f66235b69f8777223b0a83 -FixedInputDataByteLen = 51 -FixedInputData = e3ba9ae9201d140b6160e97d9135da738e60668e941c3eebdf6edbb71dacab4036c9ec9398703335d28721645b3a9aa8aeaba8 -KO = b0fd92f108bc7c96b0a00f65f17389f8c81d790f2184222eb441ee885e4a20e7a84c255c4216f2cbfadb3216b9d8599104407450d4d39ae33b5fa628d27b4534319de3a4a62c - -COUNT=23 -L = 560 -KI = 0ce6a773f8fa3f1e753a1aee91121718 -FixedInputDataByteLen = 51 -FixedInputData = 74bb6a935d9dcae345fcd1bd92516084cef6bd63ab2485dd71d77a0ea2620363eda016ba970ea8c830c91c41bac0df8284eadd -KO = d76d9158f5ae38ddee43b22c48c545136de3276bbce42ff4d4816dc93cf847de681442e642c0ebd9f99d25432600300ba5a2bff8188e79718304c217868a282f8fc3168d6346 - -COUNT=24 -L = 560 -KI = 83654eae3e85d389cdf8ebe6f4bad6ba -FixedInputDataByteLen = 51 -FixedInputData = 71cf401a8c2669c7e39b4169920d0da45534a6ebf70fd7b68c0a26ea4bf30cec4e6d48704478c615f392fdaa089a358ec3f857 -KO = ddeaf99fb72d708bb46673d542cbff001180a97e77758187d54cbde0b3f7077cad5602e724b1a669c6b57ef6a56c37be215f7952c277e2d5cc4a7be210e71f889c0302b38bc7 - -COUNT=25 -L = 560 -KI = 1049ce383a3779e7d530b5050d550ee9 -FixedInputDataByteLen = 51 -FixedInputData = 637c66d3773546f84621698c7c56a7fc4ef2617dba9ccb83e93650ee84150c3e9fadd0aae408b42d5e4313794c7d02cf095964 -KO = f73e0b9f55275a1d5446f8d41bda4b39a8fa218e2da6c40f17d79a9110c1008d05010e788d0aa4ed82667e9ac9c6197d07e5aecec416ccf0f18807a7c60241dadada68f01751 - -COUNT=26 -L = 560 -KI = 2cdffe0dfa00f55781991afbdbe2a3ad -FixedInputDataByteLen = 51 -FixedInputData = 9ac013b4f8d3df6dff2b87f65c7e79b83ed54d8404cb63405736a24795228dc2d82857f4f125b8f029ac0f8425d7778c731b13 -KO = f7e324e99e4ea324fde846311caa3eee4e1ea0a3c658ae956ca26ee0b61943eb0b68a63468adf919d62e9bcd0934968788d5e90cefbf654c20e65883fde6611ccf142fd8c633 - -COUNT=27 -L = 560 -KI = 8231e61cb621d70050536b2bb23c8491 -FixedInputDataByteLen = 51 -FixedInputData = c1e45247c5605c4da237c6c497446261dba396a5930bb91de532e3622da4eab301d8d14856d365bac217077aa3d96733141b4a -KO = c17c41e5bf3ae389f8978ff332a19543682364ade80304543efcbf0e769961194125d2061424b6e42dc4003dab73360ec3ec8388cf718d23dd8a46890d20e0fc6b4ff429c5a0 - -COUNT=28 -L = 560 -KI = 5f8a597251b6026cfe60288644517a4a -FixedInputDataByteLen = 51 -FixedInputData = 6b66178b9f71fbe40eb73f92691fb34dbf6266c2876543c618ea0c1b52a45ed0570c23c9edcfeadc7031a7c7cba66f600392d1 -KO = 86e1df3ccc98bb77c5ebfffff4b825f37f5452b04aa763649dc66fe10dbaccfed0b54efd28d4bfb58c4e7ffa2da811aad91786808342a9d04bb6c57b75fd899b97c1c1d1f768 - -COUNT=29 -L = 560 -KI = 60a4b827c381e97225b1bf4bd75b5741 -FixedInputDataByteLen = 51 -FixedInputData = 50b0f5a56658a8148b3584600104a67f857604c1747f6ebac15e687d3f33c3e2870484a60e200e9cdd141372d71a51c901dc84 -KO = 0a195daaa1a9eff758e33a2fabc056734993a0f15367f089af1684948adb08937b54a95b3bf3ff63de91f7b38e88c8bd9d1a71c7483d0aa2c112b7ab95b82e10a032c26818c9 - -COUNT=30 -L = 1600 -KI = 68b1a8aee24e26239acc1f412be4a9d0 -FixedInputDataByteLen = 51 -FixedInputData = 02d895788ba77ce0330117bcb92ad7c1a6d7556dc92bcf3542f839ff7f364f3bcea49790b92ea9283eb90f5098e7c7c1d2d2aa -KO = 69e4b3c4d541bd98640cf4dd288bc99b876170eb61df767674eaf7b92ca231f7f053e96344346d695fcf8a7943b3eba2b1b85014a7d6ca0487c2954e4c0f7d95df857251760cff4866489b7a7a06a45ce128e5eb0a63f343b0a2775f108d6608834ca9d16499a75b7786508d89830dd4cd4365ea055a5118a2e1b47295ab3a2f93ad179a9d846f72e29d726804d505d3e921a0131cb00d26c02df08d8cb33a07b7c1d9a771a0be6b536dec603eab7b16e18a025e3b9833b161c2c974c7332c02743807bde578524f - -COUNT=31 -L = 1600 -KI = eeec319428e20330274f2876922f57ea -FixedInputDataByteLen = 51 -FixedInputData = d1b23f1bd809e258f4abf1a744eb273727c33c5ba2cc6f93eb8604938aad9d486af846b9c520c0aa22799e6fe1c0a09c39148d -KO = c552ac0732f4a341c126577f862ad0e7203c8b10b353f58f11a13b67573f2c8f9724b0825c75b804203b732313dd70d45fa2c527e2e20ca8a870de7d8958c9fae2412bd56a115cde00988ce65ea3c29bc4cab9b3504218238e1cfd52b7bfb5a1aed9ab022c078e1d1f447281c6a1bc4ac4c58eacd2004fa349325096efab9ce1c630be6a8eef12f5556abf551db57f50fc9af1490057f2f26990058d99f21b896655634749990669d3976a26cb2ddc35973c7e12378e69c78dcd5ede31ba2662bff1c3975f08bff3 - -COUNT=32 -L = 1600 -KI = b4f8f73570c38b3c177076f2051a794e -FixedInputDataByteLen = 51 -FixedInputData = 2d8a3ea4834dd1e142b6115646b7195f99449d8a0f9e46a01e6a12a6e7fbcc5057ceadd89fc26c1a816684d00d504bfebb4cea -KO = e480aa8207a4789affcece029405a6e4b56690a17f28a2519cf12e73685704126977876e7c294a388ad0bbd3f5080300d3988d3d5cbbda7ae23c9fa50b4f7a406806c3b1b802579bfe32814310133588ad7be5a75be625c57aeac9c2894616a867afc50b2ade711c9302712e3c691e05919e586fb07f2a53c8f27459bc87f91046ad53d69a31fdcef67b23369383bedb2999373a029da8c2c10ed2f0e0db4860e047645bbb2e0add63763e97f5a64d3feaf0306994f4c8346f3db50603d8f226ae7280c36e5648aa - -COUNT=33 -L = 1600 -KI = dc76ee010d969081c2441fb74cfadc57 -FixedInputDataByteLen = 51 -FixedInputData = 9344a7af1bb40505a85d9da7073faf48ead215fd119f0d2101f215217973c945563a435e2d02acaf4e7c9e4243c4bcb54434d8 -KO = 6e4f3c85166e88ec0d2e715d96160617f2d1548f547b231a27e4677b0042c8feff976eebe0b45732df49f138cbeaf0f92b86a337a6d243d509765bf9c5295033c1cd1a1ae8fec3063c46faa3d8c5cf66e35ef72c0245900a9c8b38fd2f0e08ea61c26a90cc2f0c2bef075c5966f4b49215d026131f3af0741a7a7ac0e16e0c2a147f579e37cc1e6d80492a180a57a6b36cce687987765e799f2d93bea05dadbfc840fe28a3baa0526dd91e8371d23aec10b9aa56c11bf88d4811d644f1f9fec8b7c4783283c19923 - -COUNT=34 -L = 1600 -KI = c4198cc308f0705dcb6fedab4aae555e -FixedInputDataByteLen = 51 -FixedInputData = cfaa9574e817981c245719d7866a1c62b947c0748cc59a17e6551fb1981803b8619bad848fe31f32e36c1d3fa638fadafe0678 -KO = 98531f85210384d34d1a83b221e508bd5e3ad952b3d783b69400e261ea8cc63789db7843f69bbeae2df3766233116afacfde83a8afa67adcc4e2991bfb76a1c3006a3a7205a0e6e4fb7acfd0987c7ebd327210512c25f0ed97f0637d5a46e02177ca505987033c95a62ef30706d4de51f20627a2b46e84b84c973004d007053abf26b052a5e70cab2065a8506ae033570885374cc90fb4c720a76f826cf6610f798df4bf783fce0d1c6d42584bbd934f0288a97923df08df6a7dfc2a00297168cd33da6b6983c3cd - -COUNT=35 -L = 1600 -KI = 08381f1441ceacf573fcb65fd37947ec -FixedInputDataByteLen = 51 -FixedInputData = fd3b6e0794563a1ca949b47f385e969cb102ec7daaf35c7cbde887c70ae1ad2fccc6c48bf491944a2f9d395d376989e428b43f -KO = 23d8e322b260030afb4c974172dfe6644cc71245d726a170cdc5f49a22d60f895e6cebe058bbe5eefa1544495e79016f661049d5c5959979fd03d1b2b72f7750f0c742d506da8aa25d0de46c4a436d36396e32de4045036f7ac79b93a490ac81aa8eb6e85090aed6a77c851e91d481a537a25c92e8afb63d4456c71a993ae5b99babfaed4e51ef3a62c280bc41480304379629cba06b35b8ce8f6cb62c4e90555319c5f16d195630fd929c39d846d4e7a48063ef11e3e6a071ef2c4f9a0fad95b00fea3421ee4d9b - -COUNT=36 -L = 1600 -KI = 9ee4a804868bac4bd193853af4938dd4 -FixedInputDataByteLen = 51 -FixedInputData = c44b6f7043d26c7355a51014da10b13009f4e35cd46dcc74ddf81f994ecb5c3e417adb18dfa5963a540e677d38488161f17751 -KO = af1b05bd69b434d1df9b78e4f4c14ed81a18bdfa98018a74c8fbc8bae22a8c3ce2df25debc0574ee92e6d904a9314c013b1ab9953f25900330c408c9b764f41c144259833ba9711abd2f97a54f49429c08d68323c241bdc6b7e9ade3130ac4881d9e017f7e2a20dec430a4e3b49b3489d403811673e55a7a8e6506596497675ae5757e70119a777920dcef70fb226584febc7e246337065c9ad46c7a0df3586c93be4e03822f19db76e785454642b50e52fbb109f79ce50a2a74d38a4e7d5837f9e19fb3dca20453 - -COUNT=37 -L = 1600 -KI = f722832253c644603c2c42c11792b09e -FixedInputDataByteLen = 51 -FixedInputData = dd6ef2bd1f50012dab41a6c833f635f0eb5601be49c0d95d929f29fdb5ff32948f3f50a9dfcc963916b3312eaf55510ada8b42 -KO = 1510f4751662fac717ff691e3fe714ea03dad24a640da25e1c343148e852b0a67a87fb8c6d5a4705da98f3b2a06cf106301f2d9e4a67de12307f0c55bc78fe4b53957eb64462b42b35547827f4837fc099d50a8d72f3b833be7747796b6755005ee974fb012d49d0238a3554b787978997d8912fdea68d858fc10ce712107d833f77f6267c66dbc2773a6e20bf84ddcc974389481c328ad973acd3dcc6fb18fcd197efef70dc35c70dafd1005cd9e5e2a5fc2ba084b9e0cb93b5e337efc647f73ea15157ae4f15d0 - -COUNT=38 -L = 1600 -KI = 365bb1485738aaa4dfe257f319754ad2 -FixedInputDataByteLen = 51 -FixedInputData = b4253f4843773956739f2ada9d715e44cac382cc975cf9a0545abdd13bfb984280bf8e23232de17b7afe90b4a000caae5e64ad -KO = cde35304e28c7586718cc6bc9e75bb00d395d34a0014d169da5898e651593d4916a8595a82f50314b7136b8868aa53998e35ecd2004f0bef79d8cd18f73cbf1b47c061de4bfbd9a31a893193984fa75a5913cc9a4211551d2b254469b1abe41d99e406efa656f0b17ba7d9fda8dccda5d8eb57842c0a511485d12447beef2326b2bd0b426d07517d21325339f670cd8b98875b3459450068550b242c8e5fd1289ddf0036cf13e9ca705f30ebeccdd3f236fff8435c69d5338cf5f9892caf2ac18c26af959e0151b2 - -COUNT=39 -L = 1600 -KI = 32923a4b30b2068b1cefe44deefaa6d3 -FixedInputDataByteLen = 51 -FixedInputData = b34eeac7b620eab2df69bde2872970cf664845565fd06f96853acc08fbd8a45553215e7df7e3f4bf76f5700772748af7f0c328 -KO = 40f4c6b6924af9dd9f15f4886503e876e4a7aac83c0303d54092ba3fab7dbec79f6ef2b6bffb19601f1af8ec286d0424e4137695be7379280b218dc07f734683c41f5ad69b076c61383e1a6019e199b01d8416abb3e547715638a352a5733af332aa109bbaef89df145bc21b83ecb2b142da85919642d7cac4ff87f85ad0bc35ab9682e76a33cf6cdcd11095243692f58322301fa717efc4f8b1cdac390114547dc8d23a206bebf6adefbdab6790068997863aae00d0a8639b62650ba84805bc2f9ee1adac135836 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 60eb69526553520095d9f01c2bede4fd -FixedInputDataByteLen = 51 -FixedInputData = b6207677281d0ecabc009ae9811e32f4f783f1462163076c2e8573bdd367e7d42d78cddf999f84a66f68a5588d99bedcc3ab3f -KO = 74c5bacab4fc5718389395bd611c58503473aa34e3cff0b80d05d6057f2ce298482c40d125f995c3493191b6896615484c106d255c73a8bbc823ccfeab689fa7 - -COUNT=1 -L = 512 -KI = 0750b2bab3640ad8720a6f07fe75158a -FixedInputDataByteLen = 51 -FixedInputData = cf560807f4849ac433af3963e03f3f6956e3fbbaf8f7d49342c2cb1a1893d9ba405f763fac4e43e1797458f6d262e1e2fbf62a -KO = 96e785be79fa29e9c908042a07aa149a07761aa49d28f8c9e04eb511e9b40449ce7b2b4c174fb08fa6ad0f4864b678d8877e5c0de0f7b0c924c61511e33eb0b7 - -COUNT=2 -L = 512 -KI = 652b57ecc192c6dc86f1d6bb10eab3e2 -FixedInputDataByteLen = 51 -FixedInputData = e2a875bd0b5d2d8494d3530ad813c9c2c4665ac1c958fb7b111274451b231d923e31148aabc60c6c3e2c1fd91a6213022baf5c -KO = 23e155bf1c2d38086f762971a9152223fe3ac52127de8e9ddb2e1cff0811dbb7ae7c59c44586525b8d472c37e5ed1d4d0cae48bb8bf3c4f89df4756618287c6c - -COUNT=3 -L = 512 -KI = f6fb8ba7c4ff56e4ad88f207633ea7ca -FixedInputDataByteLen = 51 -FixedInputData = 6f4b68b24f9e942ad0c8b7cb197d380451573d9968c7d1e9c0e3866bc3f6860f6bc174b85accdd9d95d18385d8f7c4dfc08718 -KO = f9fed5d4579a36d191cb5846d8129104efdae2db30fec371c67f9fcd1e8d3e9b11520ef3fdaf91b29c1b348725de45339bdcb1287dd25515dfa8c83035281b4c - -COUNT=4 -L = 512 -KI = 19a31f6103ed9bf6aaa37759863629af -FixedInputDataByteLen = 51 -FixedInputData = 4d246e9cde0d6bab457c3f28210e226e3305fe3cc24a223d243c89e846ef8f9eb6ed604550a2cd0314cc4c015348074dda70a0 -KO = 59c02266428475a345bf0744748e5338eb081a097ea6f5c627db9a60c4b9c715282f0f7468b9202d6d284149b176b87076e9058eb06fc997de247d50abea9910 - -COUNT=5 -L = 512 -KI = 1f88ac09187bd5e5428beb7165a06ec0 -FixedInputDataByteLen = 51 -FixedInputData = 6c650c12afee2d8f01378ee20818889ac97140ddf357699e0b165d437b2e4ada688b5e6ab3c2b8b53592eca8b95728569548e9 -KO = 5c1adf6feb409bc3f5965dc392f5cedead16aeb696f6be11200c488f74fdcda2f90e8405207a817c87270d396841fc8947ecb0a0ac1fbf71d8926a544d0193d2 - -COUNT=6 -L = 512 -KI = 55c7b2f85b3e509f1420b7a308e15a45 -FixedInputDataByteLen = 51 -FixedInputData = 05766358d14a2f76cedf11803e93b832016a2932fd0da617d04051074ffa88c0534d2a9623aa7207f60438cf19b0e9524af06a -KO = cad8e087aa566483fe1006184c83090b7e13139f6d9fda64ae90047ec4b88686ab6efd610719598acbc1f94e94aa1a28c823488a8a5f10d5551dee75173e9f1a - -COUNT=7 -L = 512 -KI = 659dfb48688e311d58288d7293002ea4 -FixedInputDataByteLen = 51 -FixedInputData = 0e52256d080ac233ac93d97c56064876ba6d5e313036c01aa8d4e92f567cc7390da6bdd6f818cb5101d9696833edf3e435c2ce -KO = 97fbc815d954774f454eb209a404133d950622bc43e25370e9355c63142f16ed9e305caf794bc46b14aa20a3b546c0409a7a4baa6b28bc26a81a2b3e22d992ca - -COUNT=8 -L = 512 -KI = 2ea8a702c7d61a605712caa93c18d655 -FixedInputDataByteLen = 51 -FixedInputData = 5d3d212378505b8dbabacd5d272ed8f5ca6b92eadc2bde84e4a30eb110bc586c5db8a8f006012c30154038f98b4da65f630903 -KO = 0bc6f13bd90eb33592743d6d7c7307470f98bb055ef9ce34cafc0d2923c9c12bc422f99e51c2f0e67318525fa7bf7ce5f0a5b7b2811da9c8b5ef805d280d49ce - -COUNT=9 -L = 512 -KI = 31fe1474d619e0edafd933518ae4d4e8 -FixedInputDataByteLen = 51 -FixedInputData = 3f4d7ffe691e1dc7cd9d098cae4a7e8923fdc57cecbe512df7cea774b6c36ca7edea2f702656765514109875ec7676014a2663 -KO = 39c9fe8d2d45d790cf3f448f0050dbe4e4bbdb2efd532652927812abadd700f02bd195ce68b7ce318e6871c4bb1dc9174d959261baf20472be39b5997072f256 - -COUNT=10 -L = 2048 -KI = 22897fc823497b8437452a6c2ad86175 -FixedInputDataByteLen = 51 -FixedInputData = f0c7465568f91f3355faeaa341030b76e660e018f2f2d19199c86b5c219b3e8c601bf3cc90be57ba5e34200c3dccc93fb236cd -KO = d2f996994fb04c352a8208a5861cea9e12bde9f4c75fbfced3a32a935b02f4304a93481930a38abe0d21d70063e9e24e6a45c14c710ab783cf82478546a1d76e00683451647897bba92d5f871034b2b4afcbed3774a699a5c74ffcdd4455056c3dbc85105ddc620f306531ad7779a00c5204c2e72003c06dd42b283a7dd204b889cc5964bfd0b1484a2fb9cabe842f11e508825d94bea84e6d660e40f41caa764b033edb463dc97431ca4fb3a1254f0e095f7babc2a421325ce877d8a28923d23b949cb726561a0b48e794dea79f86b2d2746bc5d84099f1f0d3810b2293e31c05db0dbbb96e363164768bc6c82515561de6861936e1c59b41c7e56ad17a09fb - -COUNT=11 -L = 2048 -KI = 352bbcc109356d800de36807a96e3c5a -FixedInputDataByteLen = 51 -FixedInputData = 60d0b75d5262a8630c4c36f4e5f317bb8faf880a0a29a1ea640b40d7c0b8fd10e5a9df976d791c09ca95322a2ccffe23a32dec -KO = 9d968958ebc24bb42b3af36ff7144d513c0bfa12936c6c5c3a5fa0223ced29185e966157fc058c79ea137e7fdee7c5ac628e0f34d5ee78d76dad9a02a8102393d1e0e0324d4e90cfab30e27101cb428946be79f09cce155e85468515cd4ec1bc04957e402b6aec0529cbecae2e14bbe6196910da0e586c31edc7b6dc2792ad30448379bd0afce34254bf0e228bf443cd766c5eea682f18acc3a770538144d9cf5fad7afa0088ace0b533ce8d1c6670c439c08aaeeb5bea4e1e15e6dbba01023192e4e13aa56f3acb9fae4d90d2aada943383300e05e208b14531da1afea362f91f6b760a9f635aee1025a6fe6416e2ade81b95d60c2ef66ed597b2fe78845beb - -COUNT=12 -L = 2048 -KI = 10086b3f1ba9064ce8333e527c1d8ecc -FixedInputDataByteLen = 51 -FixedInputData = e8691924c8da8019353854769eb94afd413c44903a92ea7ee1417ba324474d1e39ae5cbc9230091c5b4076b04913575b6540a2 -KO = 7eea20316a9c6cb4e7169178f14a5ab9e9797572b68d56bdc8081a286358d8637c4722330a56eefefdae74d292414046b42cced33cce12a8deb8f06145e34273db55d9d55805fef330694d57b522debe6459b274b50dbd8b3bf02afbf54e15d329820342f315a81c367cb23c6f07016a91e834b0715576e975ec3ff74d895f9d0e5022670da53a1bb867b71c465cf1075e3ef5bca2367fde21caa058a58d4a1707ba1262bc75995eaeed511617d16c3f47eaa6dff42f033d9158ea5b206e55e29ce75a8255bf58e408e5d759a759ea4b68d8010f4a0551a931487ce070bc39008911402a88a630adca4d763777fd78e2e66cbbc53401e56c7183d08c185012da - -COUNT=13 -L = 2048 -KI = 9d9dd9b9ee78e36afee8c763218486a4 -FixedInputDataByteLen = 51 -FixedInputData = 77c51cdad654564588a7a9f079253a403cb1761b67c108c87a7ceb2812e1fc9ee0a9f39f1335b1372639927fdaef345d47577e -KO = 34a23853a7e5ebb7e55a59c3839c06d566b11745ed20d4980d23a905ba8fa219f4e1dee817fbaec7cca33cc58355d56014ecb81deb6bb137cb36c077839e83d04b4c7380620d60478464712fc73c81d1cbe6af893116427736771f0ef591d725fcb403676dfce3e263bdb73650ef668a51826c4c77809b9d3d64523696b5c60571802a8b8d30d23eecfeeeb3760969a27afa08eabf4820f5c17115045119412c23ced5d2fd0b2f2fb56bca74e7eb1ef532efafad14b7335bc0e3b04623da7a23e48bbcc0daeb4251ecb5dd3687d38e6718f508e26e22892768240308079ec80bba840dd8627628508a9da168c857c630a78e825786f7ef4cf74416ed3b5c8d98 - -COUNT=14 -L = 2048 -KI = ce603977380bec438feeb7ff52771ad9 -FixedInputDataByteLen = 51 -FixedInputData = 093e7b8cc0875bb79b8ca65d41115f7cabe1aa00b4cdb1d4dd682e979f382480f2c4a0c723722e6487b98a3199a02bf825363f -KO = 24ced02103fd51c5a28dba87824c672c0c4ad50f60921b7c7f696404b3017a275da87b6ef6026ef94d0e68c912fadab77849280a872428c5f790209f9455e2bc424431f33f6479aa8489451ba297e2e31abd59413ba1443e523d719920463fc4331147b9a9d60b34d9097f39bce3da34a2f90d4e9bc3d74a7373936760e98bf953e54b582515215f2181a89bb64d563d9e949350f43039dcfa7edda8544cf74fa983dcb3883403648a9a3947d9bacefaee99d521b0039290fe889dfd662bea596f584c6ff950f1ef9d7abf37e70b11c815536829dd6e3af4faeda08d3b51495e58739dd3887fb2a87f7b20ba9f943fa9f79044cb4081ec2a46840e24ef70f76d - -COUNT=15 -L = 2048 -KI = e15aa31cfa9a3aa6d67f3a87a731c117 -FixedInputDataByteLen = 51 -FixedInputData = 475997df6508dbf6776dc87e8d939389d8358fdb8cad5416ed4b04c306a442df1322ed8309c8377bb4dc6c6c499f34398a976c -KO = 655bf5b8da0b3e80a4d028bbc78e7cde68c56ec8067a2a97a9bc93f26f41be6c5ab5bce737bbcbe43b8022bfc8e0d3c8b41b9bed11232c4a1afa9dd4fd733343850b1aadbed1e91df1fe7acfeff28d331402ec186efc40261425fce95cb739abb03888655d9ec6bd16835817234eca9bff8699c64393832f4a59c47ba9f6200cb80a91e0e8254ea6b02dcb3ee413a9928b98c6f347de3f5d51b8f5f2efd895ef53adac7871cab4b7a87cfbeb24726f718ecd2a274d79df0857dde74975d05c02f129b8a4c0b98e8e9476b3a2b434f6e78acca08d6beb5d3899f30e2f8d642b846b90abe617f33240cc3eb563379641410db2d4750d368f3c4d7d36b519461a17 - -COUNT=16 -L = 2048 -KI = 0245caa8f868a5ee65d21b9546fd3b19 -FixedInputDataByteLen = 51 -FixedInputData = 135ecc5d60b93306b6350063fcce18f501317b47a87d3b8142b42c75aedc9416f89981048eecea686064f65fd9ee2789d5cf4e -KO = 8da84019abf17808e4896603ea9c31caf1bed07f463461905f58c624c7c4659824e72ee414c62f5359216e5b0d8f39632f6941767175aa284f302bfa801891de6927d20ad41bbc79a36d141227bd3e6ba12faca0b05c9e30f65c665bd8ba05223df83b2b65939d62b2caaf27d7451b4c0e315e22e19c3f9603688e3032f600a6ce26abf29caa0d32b073fd3da2f2f036035c9120520bc7a3f45ad2683476a62100bdb44978f9c3c2dfe25ede600941108c0d8f30724f21084e47a8a4d5b2af24013f2cfe15a4fb389c3160fcd4d37f2c73811ba7d898c0f678e4610316ff8d2203579b209d2cb229acf52285e1149e7c8d49898e3bbafdd87fcb6e20a9192e2f - -COUNT=17 -L = 2048 -KI = 7926554b18ab652e7563c7c43c82eb20 -FixedInputDataByteLen = 51 -FixedInputData = 59d4d1ea92729603e5c025af433ee0da2b9d84f426bdf22f71218112bce465b52a95110915f0f07164b6877e515509aad2af54 -KO = 46c6f687c4709dbaf9ddcd2909248147cbc1f00fcfcec296b5a2564b2bf1b179b407ddcdb68e533c5af4c5d701f7d47bf937ab09f84de645c495a7979a1d9f33bb9dcfade4e317f014604a6449a06bb0b113f7a8aafaf882695836756798de10130196648850e4f0d3830a1cef7a795d00da3e43deb8bfa3080b115e05bb3981c1157f7bdc4c3a7d4f03e5118e381a27cd3a62dc703913c0891228c31952b49c1de07ca3123cc40f8c84d0bac71923f7310ec7c65bbf0f5200eb50722cd864c7d0e2724dcb28cc59e06fac77f4f0e836e081e028cf61acded4b55373910b85b651c147eaaf754ac690c2843341d741550c1c332ee12b777922d956a9d6822396 - -COUNT=18 -L = 2048 -KI = bcdc30ab90bd58d0aeecd76671778b3b -FixedInputDataByteLen = 51 -FixedInputData = d1dcebb370abb3632ed79ccdcd8e30d20b9d22fcb30fd6f0c139da4fdc49b33acb26e3b4a966d26e5c6dbe6e3b2dfd6a10b205 -KO = e86988e7d67fced1f8aac28fda7df740b7225073ef52ddc7c103f8082cbf27134532d99abd5727e6551cd5c39e19aaf67eccb1e642772f22c40fdd20b5abbe39c0f992c591ee0e2089779a0b1d22428267d5031d951c1669c7b2b41662f1135734d0b0387106d45c42444f585720ed380cb6c44fce72745784ac52b14ef18484ced1b2f9bfd46e2bc0603f659798a2a8d8878a5108631e16c584edcbdbfb4a96da7938a2fa75290a0ff6a5bddb05ed0edc1d1266b8d657103ab7fcbff78d14de8dc9a4814a693f15c1b9f197e7589e00263662bcf62a7b84ee80a820918dd50d50d1807e643e386d3e62e7a5efa49c0cde937f6292abeb15dc2097f66371120d - -COUNT=19 -L = 2048 -KI = daa90cc527a3a06a0e0386b3a31f94f1 -FixedInputDataByteLen = 51 -FixedInputData = 895faf2d9f51d26766abfb7542dfaa23009a38b1d1478f2f72a3386d0d737d52110a0954a5f2325acea1a1d45cada0f67018de -KO = 4164a246da70bc5bfd7906fbf9e36fb9954733941ab72401473190e3abaad9d703907b55ea8a725d7afc4465ee85fec783cea4b544f840c3ec79d7e374db372f69fbfc4a74697626a686e1a57ca159550802bb09460975fa901fba9f4e73a34f9cb50d27a8378da8749a9992f20efc89a1be1c477052b66e534360b0774141f3c3d1149d81730116f6e2a647f581d0adbb2c5e8b1b1b10f2f890d73017846cd0deec31ec007ce41d903cee32be8f2eb94c01aa8615306841d051619b126d95e3c2e50d73cc9710bf8fc4b5e01ff91abc7835a629ea47019811fe080c0ec55cc653642c2184a29ff57cf00c81fe15b26738f008ac0f86817c193a3e6949f1fae8 - -COUNT=20 -L = 560 -KI = 6ef01fb16c23f059c422686d77dca8ec -FixedInputDataByteLen = 51 -FixedInputData = 4838cd12e53168cb00834ac7af51ef369a38a2d3849cd47914685c2a04d290d30e8069986a2c2281bccd9a294186141efa3ff6 -KO = 5a09652880274ae1f15f59d8b779fdbb7b701ee74e41fbd7e69fabd3e3ab137a22a5d344990dde7e8056ef029b6e4d51d48bcdbe2a14da2f412c37d7297a10e7eeb533d22980 - -COUNT=21 -L = 560 -KI = 3771817a5c064f8a63b894a739402af4 -FixedInputDataByteLen = 51 -FixedInputData = 55bb0082f1cbaecc30a6c3c112b1fcabc2e7c107c6dbde16a3097fb2af23490917eae8d678be5825b361bfedee4b358ed2af42 -KO = 85438b3eb920dc23bc1b7f1939117996cfb1334076ed02c502b854d2d107e13fd71a86345228b7de1e082d6894e9af26c006adae7eeb5ac7381094a04753dcfec5c0729002fb - -COUNT=22 -L = 560 -KI = c883582ad9767e924c648e98560b32a4 -FixedInputDataByteLen = 51 -FixedInputData = f88cfe2f84085cdf14a10b5dfa59f26f0815e14599b5ab9c2f9980031aa90940eef8c4b28b472f5b3524e184f8b7d9fadb829f -KO = 8584bdeb73a49673526eda44db7adb6360e65d67aac2a6acc83df152ce036fef1658903add6d487ccaa6e58a6bfe29d518c528b134ad8a7111af438848526bd580961905e331 - -COUNT=23 -L = 560 -KI = f08f5037c3b95133907a5850d2a47d96 -FixedInputDataByteLen = 51 -FixedInputData = 18089e639c287bfabe068cdd122c071bf283eb2e761deb47d5c4b0c0497422f99c3ee70ea44c7167d7c571af21860835334250 -KO = c4d232e7795c16c94c780e205448492bc4b6ba312e916b8e7c1d5e9e2ebfca9933cb7407a6535cbe5b09c18e59b6c18d91598e576daed5a09d0d1e3fd271dc60284ca317d57d - -COUNT=24 -L = 560 -KI = c2661a7e57349fa3e54cc3595d03c3a4 -FixedInputDataByteLen = 51 -FixedInputData = 2ab674be696b5fdad903d3fdf20371fc9864df99a033bd54fee3ea156c9787713acfd8afc2035f1fe425c7394cfdcd4739cd99 -KO = 8427d8c2b696111624c64e43a872ab6f95629aac7698a4fd2d1893d887985b62d49f927acb7b4c29d7c2ceb6b6fa2ba7d77b41dbbf00c05dacba9464547ae8f989083afc7129 - -COUNT=25 -L = 560 -KI = 4c5fffbf30799797b24aab11227c33b5 -FixedInputDataByteLen = 51 -FixedInputData = 3650014c27d031617b4ec8cd5bfe6bfd10bb02a572d1a1fd1aee097b42d7d3369a8a2320e2e5a8cb8885eb805c4735b864d70c -KO = 6fdf0c4f1ebdbcbad3f00fa3d4cbb2de9b49ab9c235502aac0461214f1f704fdb5365f31e02ffec7373a2be8d860c7ac1bb7f6b4f1cefd4865334dcf94c47bdc4b4f32789aaf - -COUNT=26 -L = 560 -KI = 89eff36fedbcd27884513337f02db5c9 -FixedInputDataByteLen = 51 -FixedInputData = bdd0d90b746baa8570c7d51c2e85a3db4f09db0e9cdebbfa3f21e44edd8012e08ec9b0f450b077c209c3850c7c7816a9149f4e -KO = 4a7696472959b00c3f7e9158e8d188b0ecebbf2cd0f6d6676e7203013a5f50387e9222bd0bc694cd7fe07419bfae57dce42a7facef1d1f0f3c5aa16ae9557d723c4a5550051b - -COUNT=27 -L = 560 -KI = 7a0a07516addd762c572033d0f8ccccf -FixedInputDataByteLen = 51 -FixedInputData = 0234b9227e535579ab25f35243ae2237ce8b9f5ec6a80bdd094ba5d9f8349400b32dc5ba059ea5f1e7f08daf02ad505f7fe4eb -KO = f3acf11e73f5945a1d2cf5f809ec2c5c0713ff2eea25a30d69f27f2d564eab91df9ff23746d5c7446a17aa3e6ee5f6555cb36c2111f177e32c965874b18e4e183abd4bbfa757 - -COUNT=28 -L = 560 -KI = 881b5e6388697688df3a40ac95d23e1a -FixedInputDataByteLen = 51 -FixedInputData = 3099ebbbb455af0cf53c80295c9cf5f12f2f109035c435d0189bc1901ee3d1534043c1a7eed4646649cdf33536d6b06aea6ee2 -KO = a662586036ef76be1afc13f57f1edf965e00c14858648105b35a36caa6dbc5b178caa1b72e2f3417f647f10d461a271bc75b444afdedbd87ea36d187ada3cf7bd5091f7e1f32 - -COUNT=29 -L = 560 -KI = 2d7933fd4967a809d55b1dff06d4455b -FixedInputDataByteLen = 51 -FixedInputData = 2061ecd61e7dda900fc1618936d31149ade081124a45a7ad1a4d2744182c9baedb76e448d84d56545f8027c669d504fb131a71 -KO = 76926eec8a661e91c8f62047394ce9277900c7d591365154e4ab6c6c169f9135ca0ae95098d3130e2bfc60c69adf5737a21c158ec99ba5801cfb406f012fa00b186ad52f5d3f - -COUNT=30 -L = 1600 -KI = 6bb77f7a319c71b596fc5719ad159625 -FixedInputDataByteLen = 51 -FixedInputData = 391c43da10c0b13c7bba261cd8cd23ab6a465a393008965d441a7caceca49e7b351af51128beee95ea0ffb4d181279300594d6 -KO = 6fcfde868b1e12f338183ba7e16b764cb67622f28ca91f6707c2e9cb931c380d5dcbaac9f4d67e24514b1e4c792560340f8ce5fb6cbee269f8c2080105cbeac8b79e2f3fcef3acc75dfffc14e2e9e377dde44c1b24cd01f63bfcb02e78cca0bdb1fe3a6f324825f4c5772f228340332d1d713b235fa0f91a8974e3cb4841195b5f23dc242d9fdd6635d19098a3fa75265ecd2ed43e6f9cc05b25c6a836a382be26b005b533483dafd028d30e22a6524662de4c7d8089b1d1045c97eb080120bc8d0d481966c62303 - -COUNT=31 -L = 1600 -KI = b9d5243da0f3c7e1bfd0c90076f433a6 -FixedInputDataByteLen = 51 -FixedInputData = 1a45c4b7f66c9b6d6ec4add75af2799553f36a6d50bf60464d298b1c2da5a15a0db7d89f47088fbfdb6e88304bbcc03d3300e3 -KO = 754ec405f51cba41575451208db12bde66f37532598e168ecfbefd96a3ceb00eefdd256ad9a59ffd6d5b36b9c5812849dde1d9211a101a283ef0979828323f5b79bb862df86b92051002a5ebf16ea6b71c2bec7bcf1793dd56dabc46a4063277cc7a376b3a2e663b0bc9f6823d721eeb897bd303dc21b35768296414730dc0857c9732b393b787fde9383ae8d49daf5b8f5f3b0e05a5810421bf072f49dd93ea480e4d20a7c0332ff20099a8225767f39d9f05fdbfb39be4b5add79fc349e639b0bb2b41b17edac4 - -COUNT=32 -L = 1600 -KI = a0a8bc68231e5c5439404b37190098d1 -FixedInputDataByteLen = 51 -FixedInputData = c5e56e86675633086cc3fc905ff8c8e07de9d506ee516c9d39896ea17331aed92c37b9705d27459fcdebda9c777b8b821e5756 -KO = 5dbf51649aa16f08c25df40b898d352c51ffbdddcad01b661c1543c0940b5456f68b459b0b4066bd45982d777047ef6cbfdd625ceb4b0b0cda2d3786ac1133e2652037c920e726911f6df927dccdff1aaaecd0a41cda619a5426c0d80b3d98696f922e723f9fa47866d06f7a500ad516e7fd345474fdab015b5f485ffdcb338a9dff4650b0479a64cf3b0d76643fd871897233f474ab56be75992d6b739fc99c61e1c2036531e4e0d5ac688c3810af64155278f18bb3804581f2ef1555b7e9b77cc0426e347e92af - -COUNT=33 -L = 1600 -KI = f2e5037689b29d1588aff555c59b04f3 -FixedInputDataByteLen = 51 -FixedInputData = f3a63d00d30774434930bb6ffd5c25ff52fb5e9cf890ddbd388c43a7936d7e8d62d38379a3fb3af71d93cde758a5695463ed7c -KO = f25a9b8453e8ccb9eb02555bb8f73de115211fa2dc2ef9b137012d11bc969b330d3eb4fb11c7da80361e6a0ef4d508af8487aeb26c722d8bad5054fbfa3162f086dcf6d581b62ee502047541f1cd00ee4dc1a5e507f7ffc1d4d2a81cf47d76cc3959630b20fc0d7df7d8f53772a67b0fe1f6c5ac7cb5071b82407adad7b5cbf6ce6fe28988ae3fdfea314506ccf309bd07a009dd5cad100791bc5863c9cc65db9eea8f4c5049ff2036cb2593b30bfb23b04162ec2877525a385432d3e2c1fef55a7ec2f76c023e4b - -COUNT=34 -L = 1600 -KI = 82d780f7a02bcf5f0aa935c013770c72 -FixedInputDataByteLen = 51 -FixedInputData = 90e8c1c2ff4599d31b9a2986e8182343188bfd0f11de699f92d4e9c0bd139c600ae13188155c4e4fc1224b2f96fd2bfa3de003 -KO = 61073bdb10475a69b492ff61f6c7885f3b79836b01f1120afb04f381e918c1918f597647932ea0a30f14b94e87fcdde62e41b5710847a31651590305f3ec440e48549ee3c5b15847edf25c2ec09e883d5f88f46ba24151f1de4378687fd9221764af97d55dae96b451eb053b34aec638df7496fd9bb3020c440b01373acd8140342dad38da4d931a6f834437a3aeb5721918805b86ac13c2e487119f9c5639926d26ba019ddaff04dee8f83574cf4cd9c5329c0413f3f6bca74400c1526300f0272c602fb5858476 - -COUNT=35 -L = 1600 -KI = a61ca00e4c381c13cfc800eb10188b06 -FixedInputDataByteLen = 51 -FixedInputData = abcfb157b8b38f72e8709d12139a9b4b6b10f39ec09ca2cd3e65549943587c5987227f9760d6a8493109cb51a88dccc69c527a -KO = 7af728b71ea0f782b70192bc16bf22f1c63e55675f1959af5003005b5028d83ad4a8ea8136caf59e624f6d6a771e4919576664fff03235fefeac1eb7bc66207956227f1b6e72320125ab8639e810a5ecc4c755b6ea1b60c82f01c7bfb2386eff7dc415beaaa0aab46bf2c9598001cedc1ab5ce240af7a37199c3a7ed0afd512e0b65213684059b31b22d4fbf0cea22b51409d3216cf3f093ee307ad3279c4af87190c887d6cb97f4a553e2a9e0a68df54a5faf929cd3cd44777b49593c9300e714cca61abddd12d2 - -COUNT=36 -L = 1600 -KI = cda3301f7dab50c37fbeaf217386111a -FixedInputDataByteLen = 51 -FixedInputData = 9db2b6a5597ceaa818459b7e4b0bd3ccdd6f945596c7a43b7caa5484fc05c5dec5619b2124977dcf1a7ffa0aabe945101470ce -KO = 72525c72be423312b6653ed5183e70a5853a8dec08afb24223e1a0849fc16d2b2fe9647b7a50d3ca9160b2c8305299d4ab6fca01da8b8699573bdfa49db5bf93df9bee7fa2ca8f42e5f287e3cf4053e6e7d6004168ae22322afccb01668f1a5ad9121074d1a11140c78c9fabe063499e624ee13acd0e60c0b18eb6790498dc406d7962a0b6de526b01f00cdb31f205803c3a83f1a6a3279ac81709d025d77e2af817fcceced49c455ddea9f2cde3981dfb8fa7c1318821a03be0005492123f84bd98b52987726454 - -COUNT=37 -L = 1600 -KI = 1d30a4b9b8567d4030a57ac2238ba828 -FixedInputDataByteLen = 51 -FixedInputData = 2df9f9ecc3755838087d9c70b4534af2b09ee60728ce0aee4b701a5951499c0f01fc31148ae75c51bb1ec8616d7de20fb9c11f -KO = 49d72acbb28a2cf3c789e500f6c5491799abf5067657a7621c1c426033b45f807a11735d531d58d53b333e9720209b2e3ca413b1d6f21263ba38384ca591045f361d6314016451924e9017f3a22749ab4ebfa2b3907dc311c2137ed9ca964ca192a816bd0c98135f8d9dbcfbfe4b0acad7d26f384aa573f1793bfa29d1b20a4fb15d802f23da999ba7acc03dbe74532051493b294d3016002615a27461f9dd43d7d956b3de5afb8c9b081b78078b3225985f7db8dd015dc6b8ae294faf49badf89f362e0e3e4a89b - -COUNT=38 -L = 1600 -KI = 36d095460bb697f337224dbcf5cdb987 -FixedInputDataByteLen = 51 -FixedInputData = 11ec7b819f107e29b02deea35d1602ac471827c5d43eb4e01b26366a6fdec87e8528ab48555f50a004b19d4da8b881a44f3b90 -KO = 456a37f92e18fb60c2f8d00b005023c3ceeb1505cf0c3c6f3fc4f5c24c9bda53d1203b1026128c0a6474ddf0dde27e23ab9f80391b725b7f9ac27fa9ad2891664d2671adf1170b252f5c77136225dd708ba1b0f02418001a1cf5c06879dae14313a2d960086d9a3a5868e0f30f8b81beda254ddd0f57e7e6969171e7bf9b82a4a0f4f923c563bd959ba546c85240d843de586c7cfa6052f83621f3aa37fa33e0820a6339a1d7a00de6bea5b9c644b1ff6fdfbef60eee8974646e2ed8ceabc920d69a9292ca8749c6 - -COUNT=39 -L = 1600 -KI = d666d8d2e61585830eea67c7f1d98a3b -FixedInputDataByteLen = 51 -FixedInputData = 5bcab8459cf5ada4a5debfeca3d22cc4d529bafceeaa0beb174f458a553d6af57344781f4230f05f9251472ac1c1b69d267fea -KO = 568061f20c5c4d2ab6164f5b24413100b0e8e1b9c9b5ad40a6c6991db2e59f24a5cea9ec5d64dcc2df03d94f011c039adfe5ca946b5697304998d07e5e4b74732692203d9a58984f444b561f20297f81ef01a25c3d26dd8bbb31bbab8bb677744049d1f6365c8745cc28bb0f79e6c93e7ca473d2af75788668de760b2c35cc37689a959d27b209a4434d03de9b1e0b24d1b53376c8604a125404225b866cf91f3de0341128bb12f2720590d7c69a5fc237c5f1bb67de7c95067783a4a2a2b217273eaef420825d43 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 6c9c4fbb36b04f0defac36edbd780523 -FixedInputDataByteLen = 51 -FixedInputData = ee815c34f695614a9728acbddbfbcc7d66f609c113b9d1152fbc945977552f9a3c5b976b637245d5a695800711b2d53cf743f8 -KO = f1fb66d72298e805e96215af09291e0eb0d4e1903bb64bdf88d2c4754cc35c280ea9b4ac897060c3be94cce158afa5e71a67918c97eefe2c584a4cb6fa4638f2 - -COUNT=1 -L = 512 -KI = 9a3ec305def7dca17bddf1d0d5ead1ea -FixedInputDataByteLen = 51 -FixedInputData = 33559f99dab5e31e9f79ef14fb78ef63272951192972ebdc4dde3b0cff4ea93d5b961d660078064c5c345fa41c4b58b5dc06f2 -KO = 68eb57ac2c867ad28056a75e5f70abd3c5db925edd276763883821f340c9afd28e985a72aebc0ecfb6399123f7514683c0c0433ae3899a03c24a990b755d3f0b - -COUNT=2 -L = 512 -KI = 8b90591a075ab036f5d1497657ffc530 -FixedInputDataByteLen = 51 -FixedInputData = 24a9a6840495009461ea7be1302e6c6bd49c6b8c48c7cabaae400c8a4e1365c499e5380be9848a4e3ca057114d9173d687191f -KO = 9760dbd716868e64cbb6f514f0bc120a3beb0714989259b2b3b56d19103dd08f645e5c8f7b6b13dd35ece7acde96bd07361153ba6ac16667e96253a0ca7967de - -COUNT=3 -L = 512 -KI = e8e29fe7edfa1f06aa1204f1ac8a6cd8 -FixedInputDataByteLen = 51 -FixedInputData = 6142b8f61ad95c8b4fbd62a0778de812a61e0c670f7775b7caa615a7b23fb0da17f70813cdffb48330fc3c84cb2b9633385f2c -KO = 436d64d04e39a4969a3fbacf00abe98244e55c6ecd00f928023f0ab0194025f9249fc24ad58cd7056916dc7089d43d8ab1272454de20b35d7103550e099af65c - -COUNT=4 -L = 512 -KI = 0ed3fc07ff53bb650ff9d788563258aa -FixedInputDataByteLen = 51 -FixedInputData = ad5de416f20ab9c073a8fde3728114226f35edf30d941e6e45b6583b1bd1e119211f10d0d25e74cfb8a60b71b3659d604ccc16 -KO = b7856d45d6418c3626c01d32f2641c6f3e218f96c7cddcdc5ee230f6ddfda61a9c9d7cc77b3aac2caea78bc5e805f4cfb079b1596e777769f0df6e1f356e236c - -COUNT=5 -L = 512 -KI = 79cabcedc86f243db7277a5dff6c077f -FixedInputDataByteLen = 51 -FixedInputData = 4fe4a08ed50de68f8bde5953ea261bc07194da429d5e2042f97a1bbd4406bf213becfda58ba9ae1f12d17e1f1b8c00404ead30 -KO = 31d5350e56318b32a1d596e7872df43dafdf8b2fddd337c16e59b35a49cb3e11b2620faa2c2e0863f5b0dbdd9e279fed59bd8503f24faa8a812c98977de1ef86 - -COUNT=6 -L = 512 -KI = c516626f8cc9f3bb1a8f99ccc20759cc -FixedInputDataByteLen = 51 -FixedInputData = d3105d7d76846b895c41bb58927a46069610f9d7c03bcfa83fb7fc4abec24f1dc1b5a03cb3bb01ceefbd1dd608a76434b461c6 -KO = ba6b4ba3dd082ec7ed3fd4507db59379a5bc239aa88f0bc0d429f17544dec0849276de850175bbd4ad9cf7b21929ef648e225a3146bc3072e4ae067493119c4f - -COUNT=7 -L = 512 -KI = b8469bcff205571e9dd2d5eec670a47a -FixedInputDataByteLen = 51 -FixedInputData = d84c643bd75bf92abc16aa6685aef110fb13f86e38de49fbdbc2995ee3a0a4c890e8409f6b239a2cdb39157653e691d52898d5 -KO = f2b0441ad36da8fa8c570f931f6df379b11ec11cdc05c318744db7147b41728fa16b59b08892d8f292d1d1e0c67670797a4ea4fcb78113075a1bb7f6bfa42e24 - -COUNT=8 -L = 512 -KI = 95a730363ea3f996cbdd72a2f42b5f92 -FixedInputDataByteLen = 51 -FixedInputData = 6903a43c158361c9ce51ec43ba652d6ba9944d0dec29b8e4085b80bbb87c03a48c925ab0a102cfb29926c3100dd67a34a116ce -KO = f432e87bca253b08c8199ba0812a0fd859dbc308e04386b2072834c0e715ad8b29e3d6bd2f256ca78a6d1d130134fafc34f30253424010dfe1bcb0a5b3f67410 - -COUNT=9 -L = 512 -KI = d09df050c4f7d0b2f8423e96ecdcde77 -FixedInputDataByteLen = 51 -FixedInputData = 4fed1b9948636ec13fcec7b457fa03ed9ca5a9040307fa61c550689e6240cfbf85eb30528b6b82cfa02bf1c0b3015b92e43ab6 -KO = f7f77c8e9d6f093cd95b3f5ce2ce3d2154d5881d3b28a6beaeb182c8f7fb018f1ee514d42f2ff0de08081f391234ec915c6abd55804fdac3ef89541729726c14 - -COUNT=10 -L = 2048 -KI = c41a0ec23de384a659cecb8f103eea5c -FixedInputDataByteLen = 51 -FixedInputData = aa1b417829e0697feb60202a5da1d0bb993ca620d64cd7f0b79a3995e9ce88327d8aac374179ea8e812d8b2179f0ae6eec00b9 -KO = 08aad913c3d60e24c18cdcf49824371b9a8fc2bd999a01d899cf5ef35602180c10b79cd134f311fedb3056c81ef7645f2cdea5cabfedb78b4732372b50d3610a411e788c3ceb443421dd3295711d816f3f9ea8f02801604dff94a623d26ba08d3a29b1cac96b75ffebc1477f203959c14555af08e21da389649fec0f6b8b5575caae812229dfc8ffc8ad334cfc6b72beb5dda7e9c4165fb556ab9a81830c66d53f7619aa507b24963d94ad06b7d7a71cfee55380dea6233c18c70526a1f793594b8e7ffd5f0f5340b75e01f743bb2ecfe47481352e9f2e7ce3d003b0f9a3aa8af929b80f61c491c434bf733a21d68065803dae3de1809a0c10bd235eb8abdc2a - -COUNT=11 -L = 2048 -KI = 8b3a32ae1f4984c0827decf8eced49df -FixedInputDataByteLen = 51 -FixedInputData = c896773a1ec5ee3ccf0795c8f856b62110fab45565455a9936b4b7dd03a907e17046722561d5ff9dab2b7903fc0f6ca2f206d1 -KO = dea1e0306823c2169c537707c57c5da6c98e587bb4bc35c197eb497b84f0a372815e8be75d9214dd1ebd987a275a82740268cd31bf35aed07e6617f3850285ce97ae5cb70b990b7b53eea5447bb7b78333a2ab45f9551b93a0640a8fb022ff7e94085b828190c2ed33bfb9e7d4c64634aa0c63117cf46d195ffd542ab08a5969088ab06745a59a6c2813509520534fa9ea65a77d6ae715e6b19889504739fa5a9d0897a6825873a0fa2a1e80babc9ef24d36cffa5a6bb81f7898a891e93fc520b8ed9bf59f232720e018842c5f434e43a3d20d4d39aff9773c928602980b7377a16f5c2789ba5d4f0212fb12207cac036fe49a3bdc889546f9cb32031b971fbf - -COUNT=12 -L = 2048 -KI = c07522050b4922a95cce0bf3f9a990e4 -FixedInputDataByteLen = 51 -FixedInputData = 2f73be58318af0b5ad8aed13afcfc04eeb5ce95605871cea536e56dad28871b2b74ac2524c82ea091d635bc6c503c5623977e7 -KO = 4eb1d6b3664061a34c14dc51ea9bc871408962f551eeed266045864606907fcc4931d2fef2e7299fbc6af4f32541fb80fd2fea76b7340ed811e7547b198fb0d11078e8a892c812ddeaba3d34e3bd3930c739512f37a8196ac1eb07f0a97231d2f4992d6eb7d811a084074fe1035a6e624382ae69b62a6d2dc449e96b09f6974d1b87af4a4aacf2f7e9703f064bd092728aa3560e3152c385f1976dfebe20fb3a71a3aa46fe66accc436f452cf8c96a905739353ea3097dab8106c8883eb79885df2a181978a987794b0472e99242d38b56fb8a6386db30c99d1c3c4032855e3d5f1ef15a716f8c535c1017b49285294df0658b788746844b82752053e139d56f - -COUNT=13 -L = 2048 -KI = 474f5dd320902edd6f10a8b4c7aa7051 -FixedInputDataByteLen = 51 -FixedInputData = 723bac85001f17f4148984edf7458ca95f28947317b7c5751f667b8131da1527709a4abb696cf95625008f19e423085f941ed0 -KO = 11018a914c697882362b34f314e221a4fefcfa2f4a9e7cf80ecd9fdfdf1fe094263865ad20d56446840f633628517c43f20451774f9c42197bb9ab8ba10c2bff7d3f66642fa55cc4aa39bc74f6b48f109c45c81c31e74413a964dfa9893d439d29e9c2913be0359608fefea41193082d8472b91fa402e9db523aef78df929b832d379171c03a4398ab74963b3af793f5c7b23a5a6a0c27ad02421677b7c48df320715f247ab556c33caf4f4b24c57b26981571f18ac694fb64c1987acbb98f0c1ff1ca1f99e0a3a90f233924fc75401d927a557588bf07fe6672663cc6f824b6712d65d28fb777d6ba32145314d9f12523b1791e0eb615260daf104faec2b1b9 - -COUNT=14 -L = 2048 -KI = efb07eb23a8b3fc2323225a402f6ecfe -FixedInputDataByteLen = 51 -FixedInputData = e89d1d1b3000cb3f556d7bdcf2007eb9bfcc4059300335f46b09353e8a2385426f5c521a48eff98be9147955c519940bafb076 -KO = 05bd4dd27dd111bf6824531887197e4c8c96f4a49eefc2ca73c3698a08459238f25a79d38207bbea5a8c6f7f8ee43c56ffe2a18a50ccb1abcc97076fb5112fce4ec187f239860fd40a8c71bf7fb830d87c95b420ea30e3fba407668d03fe0ee696b4e3daba7c96df435b42225c2a5949ecfdfaafc48780743efe478d220abb963b76c336eccf34ce4e85a9ea06067721b3c7fa250e9da1ad63befd468ab7c9ac45f7d2b6e454d97a71100045470b21d236ad8f9c1a3e57ccedbea5fbfab6e5a26e6a0174c8855600b1d10edff3d24bd6a311ec9e17ec6e819d81246f03bde34eb96e4c70be8308e8425e8c5c421c1e3d9a43e38d90a422aabe612de6072f1135 - -COUNT=15 -L = 2048 -KI = 39577b15dd56f17719059443dd401cd4 -FixedInputDataByteLen = 51 -FixedInputData = 45afbe5a9c3441fc72e02f0837a9cb61a2a29ec77c892061506908f7c3cc46356d8a36e67c1339ee6fe4c3e4534698475f7e1e -KO = a8a223685c94e05af661f3f94932292f7040465d6b44a1eb36a0064295997260689468d8bfcf90677d106c4bcea1c13e2bc92faf688d9bfaa9566b1e4f8e306a6c9d4c2884e81d1e34b180fdcccf3b68564214e2b3804c0bf55ec6d12fd66ee8fb00110bb314b7b6aef9e3723dd2b2190696d77ebbf7c4766142f00e2204396bd8df8746de792e14ccf148792b1fdb277a8b984575313e69dba835f7be35383ceff3af41d3167a1bfa966a4521c1828d77c6faac742b989f688f53ed60f32dd9cdbb5b999ae9ac1241904a9d653db7e246c69b995183302da931712ec5c8a5a482fbd7f59d75f7370b74edcbaecbad987e8e9b9747ec2f03c526c0c1e00dbeb5 - -COUNT=16 -L = 2048 -KI = 319a88a23a8b31bc5d585a4aabbd6b61 -FixedInputDataByteLen = 51 -FixedInputData = bb486492713d64c4b9d37950a685c948de9f8e7b623a6292248aac4ed5a3b38fa951f5e2e0080113595ff30e62dc827dc9cc9e -KO = 65b07d79d71c755b1f916a620de139e4e5e54b909bc1d701aa0a30ca324c0e626878eec5aea5b38f9dd6b49dd076cd7371c1cab165529741f2f4d904f5dc26f24e9536ac512c07de730f918801935378572a9b9744ddae16deb411b7ac3fbd0ae3a830a1c2d2d0c3690fafb395cf29effcfb0c470ed940b7b750d5efefa18d617adecc58f94ea4889a60dd28a107fc376c0597a8d9a291a96d71c1283174d23de703e2372c2da0a064dcc224501cea9345ba9badbbd899adeb177292992b291c31a119ceb0da7f6be2b2fb21ca2a98125c230bf7931e5c33e7dc0903b0923e3adb0d4af3ae5f3a7ec3b5045084c7a02755ccb8e528a14680052757f5d3846c6c - -COUNT=17 -L = 2048 -KI = 6e188723c2b86e3f295c59a09e7b2fb0 -FixedInputDataByteLen = 51 -FixedInputData = b9396d23c0d831eae382fd2d370c2340554d65807d0da67c34482b972b430172ac1ea63a1c17bcbd42dcd664f853101d6e7c45 -KO = 1953539c561e66baf61636c9c7b5c86f3e4422aece2485b18193398f8923b9d448c33394b4f639c89fbe57491dfc9e4dfe11ca4ba8ec68210f1be79d3babd5b315d564f2b732f8f1107c1f75593093e972cfdce3f8ec4599af11b16c033aee10ae67422290f773579fe34b90797204f71d20b6cfe0ebc4484a10bbef66764a1a9cd73c82c61111687c8a7eed1d8c11c152d5c564fac5506432328665449bb7cf52fcedab79f077a57b6c52d8d437a26651ea395f51f6199550a053bf33645f1675b86babea2778f6af0ce5bc125fca47d107cba4fc66286c81431398bfbc1f330b7244392a0ff748266fbee07bf475dbcc09a47f575eb713f31160e360362d78 - -COUNT=18 -L = 2048 -KI = b7b5134027043989403e272110721092 -FixedInputDataByteLen = 51 -FixedInputData = e8f01b354b086e4b47dbc6c11f00f75bb8765dc8aff20b90749d05ca4b159b8955fb0d6692d0eb4500c1a6e5dd7b929889c188 -KO = db84ceeb5617ae164bfa903d09c1126cfd86c0faa6b1cba0818e65ff4d3939f2ae30bf209f0b40c651521b77e4d7ecacf6c17d3de6d7cc1bee87a353e668b9ce63565e8ec6a5cce79d6dd7ac477335e4f849a1dd9ca2a9362d75c73f4aa57d45ad3de90a46eb7b02b79e9b69f6a1a8f13fa6354c99990462f2013c97d5d9a4d9bf81472bd597542aef7da74f08be32039b35df7cf50f08999c9d847dc6af2161e05a860f2ae1b36508170315e9fbe522f805b9d08f61dd997d7902c0526b36a2942a14dfc31c0a95594b75aa21e95c884224c8c0e595a0f48a1ea5dce4ae06285cd2875fed50e36ccb07e7d534bcb959a0a8347dbc7197cfedacf85f69d69b14 - -COUNT=19 -L = 2048 -KI = ebf46a08bf412b0271aef6f683bdfad1 -FixedInputDataByteLen = 51 -FixedInputData = f0048113b0f54d9e9b8830fcd865248ca32003c546bb72797151ca09f4d992bd7dd7183115f890b317a49abb86edadbcb9a6d0 -KO = 127c25d0713d3ea9a4375c3105c8d1d2190d3ea7af5f3e6da48d91a6bdca39db1537c201d6f0748c5130ae6da3606158400da8408460d0c47c455f07e05f743d68e86bcca923379313c9b311ec1f79462f3bbe4af3097daecb346adbae18d66a3534156ef9c9760cf2e388d514ab42640e71c4ea975cc842cd128dada75194946c2be0087c0141e104636bc23de33e28f0715e1b81ea343511a2cc3903f942f4a4a85604ac8ffaac99c6ae43b2aaf8546afd221ada01530b8af29e2b8d124cb9ed46a154d16528d1604ec9cbc4e2014e445c170539d3928531e4974321af0751714516b2d6733f351b3ba9b25bdca864ba70ededf548156e5ad90dabf1f9f036 - -COUNT=20 -L = 560 -KI = 668674af720886379444a422e6adea51 -FixedInputDataByteLen = 51 -FixedInputData = 5f3d6b1b8bbeb3db17db8ca3fa2c266e925414324962ff562286e5ec67c9205d451560fcea00a06fea42cf6323e75cd0b8466b -KO = 1aca3e36a373e47693642d503a6a7c7ae85b64a7981cd5d4fe80e2ef7c4ab1277bb8e821b817186c00ebbdf1fbf6a6092ab0d0effb25ffc4c23d944750c850461791c2b9af89 - -COUNT=21 -L = 560 -KI = a46f286e2869a950c66bce8fc619326c -FixedInputDataByteLen = 51 -FixedInputData = 14794ed6bbce3cc5ae57b8fbb2a450a6d14f17aec3d0a2b511976ee618642dd18aee5fe62c90a82e08e4150611b196dc6b0f0f -KO = ed950c012c2e343cb44ac8bd3cd7ae7859edde01e53afaadd173f34a918f2e56011519a86d97b457545944a45664c936f637115a9b426ef6dfc010105e7fabd59a74730f6620 - -COUNT=22 -L = 560 -KI = 102663fdcb86137d83a56dd039659a6a -FixedInputDataByteLen = 51 -FixedInputData = a6fbc4787e2e6cfab7e58f1ae343543c7569ae1298fade70ea5dcf6afef67b03ca443c4d77e30d85e5bd92ccb4b161c724091f -KO = 1bd5be96653a27b7eacdd5b2ddeb9a7f1dc8b0f5d282651bc61c676c908ce891a4a52c2060edd0ef6e2622580f1b6bf920d11d919fd81f1d38f47b448dbff3fb6b12c013f5b7 - -COUNT=23 -L = 560 -KI = 9aa23bea775a49cc73b8a957f6ce469c -FixedInputDataByteLen = 51 -FixedInputData = a5442fedfd60b135eae6b3000529bc296f81e72043f87ec9550bdcb74ebc7290808bea50b04e4e81ca8f1a0da164fe739f6d73 -KO = 77ba0dafacf9d358f1bf0a7f4a505f15fccd7bb70423c77e24a0d444cd7811555e3aec9b4e6ad970835c895ae3ff34e3c3743c98b2f5a34a9fc55c7d8200e4464b5541cef309 - -COUNT=24 -L = 560 -KI = 41f493fb1c803e570d66db217dbe35dd -FixedInputDataByteLen = 51 -FixedInputData = f382ceb2a01b1a0f5322e0024872539e67f1c9c8e7b3f42fbed5a93acff5076bf51d6cf448aa823f4650c21f8865b1c87dc10e -KO = 95c61593ef30f07cc348961fa52e411ffcd126d8b8dc0e9e0cc04c2f8bd9414e4e8510fc54c3698f0f13470e116905a1e96bc131b4c6d23d079c4615f41385fc34baddff2c2e - -COUNT=25 -L = 560 -KI = 8fe1bc7be463cc88d9b5a0ddb14de769 -FixedInputDataByteLen = 51 -FixedInputData = 733f85b782124ff70d0f2027e7efde175a30050b13895b14a60050c3d5550c1a5fdf2474ead9d2d96170b96aff6eb63bd4f88d -KO = 0214702f7cfbff5dec4789a08e68b9febcde7cc5bedd6de3b03d81f898ef75fde203a273a3aa6fb5b2e02381e4eb17359204a7a54cf19217748890951b7013bb27dbe1a70b10 - -COUNT=26 -L = 560 -KI = 7fdee324cebf6aafef6c39b3a69163fc -FixedInputDataByteLen = 51 -FixedInputData = a55f80184e816d8b4811dfc9f8dc5c280d49d2675e3cf2b9b96a9dddd5004c5060d301a54eea860241c16d8c8a3250d97830e2 -KO = dbcb1a1f2eac32cc00d1ae14af0e5823487b5a7c39068e69cbb1c68e41cce907cc39ab79a44b36ee141b7ea82775f4d5c396fa2b6a523dfac41672985e38d0e3514eeb348889 - -COUNT=27 -L = 560 -KI = 3e8cb93cc0431e89cd4b326a7c20d5bb -FixedInputDataByteLen = 51 -FixedInputData = dd8e76f3c83e89bd80dca99ad8efdd01277b7dd2a020825d70a92827abc1fc643e52fd39714896e180c84bfbf3d32e8903df1e -KO = 994d7f29cf57d17f54b2aee6de7cb9df4babc779a8a26aa5909d6acd4620cd3b8334626d45cb7a44fa55dc9ae7ed5bda959e48028cc0c1efbbec581b298fbb837f51e5d6c1d7 - -COUNT=28 -L = 560 -KI = a46e6591ecde173e409fa9e57c13a408 -FixedInputDataByteLen = 51 -FixedInputData = 2fb64c5d12f58b970d6708380c46a23091e0571c53b309ba8047f775890612673739c69ab008c079bec60a0a56a27c615ab24c -KO = 9859e61e64abe8d087a674c7dd059469ceb068c94342e07df96dc967fad3ac5cdd35b2b49e0c04b24fff3c543da1036affef9e8bcb664d036ea57cd475498ada47727a6ff4f0 - -COUNT=29 -L = 560 -KI = 850803315379e811f17cdf489d198e2c -FixedInputDataByteLen = 51 -FixedInputData = 57defb6941527b484203e0f3040801b7c119a7a2e6c4c44933f56160c775d7432daea31f8a531ae2e3fa233b32de65634a53d0 -KO = 3a10e1def740db05fa2ee10ca02605308be91e26c61e9f076370f5ed99d678d2eb5d37317e330e296aef3e80d51d7c4bf46d0b2bd16a661416af0f139822071ea925279673b1 - -COUNT=30 -L = 1600 -KI = db9e8a117458608dc7c0c49c75dc462b -FixedInputDataByteLen = 51 -FixedInputData = aeb8c27c98bd2642929c88145d94f322214dd20ae03a62c219177a52d87cda4c388ec89a5428b718140adf49f050bd52cbd9d3 -KO = d0a702a89bc8397c1ac8539d6f0c2f470c1928be1e2cb1ca73ddd1add096f49da20c3710e5b9106271bd2f4c5d33b54882ef364c021bc3493cf57eb8abafd7e5d1377146ae63ea7e36e687466fd47474cf95a67f257094f9d41d05d8a63c0d3d384c8a466b1f183230949f535a0ecd6569075da68c7bd026c52e2b5d88cdbe6489ba7a8dfe9a0ce4140ff62c7a74ca38bb87f0bda5bd91f16f084ad08e72e899bfdb1b36eeb1337af306004739136124a6d522b58a543ff252b415c45f05c7fe49440bd4ed057108 - -COUNT=31 -L = 1600 -KI = b8d60b7307a29fc040bded3dcbf1d389 -FixedInputDataByteLen = 51 -FixedInputData = aca9fab17130e4d9b3453a736edfccd38395dfb6db2dfb080130f2791d2da5d5f5734603e04f9a6cf87fd45cafe0e8f8fcaacd -KO = d7574c295406b1516f7183b038283d99008ced069a142cf7a9bf56805d423b6f3478e304f346229ba44aab3a5efab94b16b42c567babf81858aab77e0780ca32d341912682c584d5deaa59886605860d2f8d2362009d5087dcc12b3c8e795b4823b955ca6ba7f73f815878b2086a04d8c2cb10f9403e9d0c296b1003dfb2053d7cdfcb3fd283051f61a2d8186922acd1942b5e8a016858d45873b408f115ff7ed586a39d0f869654e3064fdd1312b9daeba682098f5ed24fc2f33c0524c849264768c287bff7a544 - -COUNT=32 -L = 1600 -KI = 0b7a33cfa45b9a715f8a4d0aafdcc39d -FixedInputDataByteLen = 51 -FixedInputData = 77d576beb35edcb148fad7606895d7e717dc8bba6c46d069a24988e9bc13f1156525edaa54208e2d381d7819194b980af22591 -KO = 43e55b871f94b97743ae6275f62f3e2ec7063af92d5c7eba2037d4cfdc4a2ac882173aabb1e07125da6315ca02de55646103fdd81e806f3c82d35daf1f6b849bde95149caa0dec3a949c0a1b36e8968a8ccc807070856965e2ba132b53bc1b6636ced05d43012d0b002e94173d4b922b229ac791944c6a51556e66d8d6f80d41ebbeb8c965419cb52af335815d9cdf754b2377b9c37ae04562f9ece3534a9fd57a612afb5f063f459d22aa34fd40ab2e1cd714153ccccac37b311b93bfd0c9ce81292b31b8f282d5 - -COUNT=33 -L = 1600 -KI = e0520ebd21b2150b96f345b02c4d91db -FixedInputDataByteLen = 51 -FixedInputData = 10c236ebd2b35dcb36eeebcc6722aa373ca45d3eeeb503ca34e96063dbbe7e0ca76f2d3d02812e22b8c3b52ccb3469181e0284 -KO = 430c799e37654bc92a7fd7dc2a7f4fcbdd0605bc07ae5600ff633d3d0d67bedf68dbf88c2d0c80d9d62657d990c6e6a9cfc1846fe7881cfdda5759e158acddab6941311f11be2f19157657ae95ff440b7c40edd47d6cc4c9ffd6419e04256d4ef34781678fbdc86d028b46901bcc49c8c9aff460d953767827a8efa167cfd43008cbb2fa7ed327e21058b8e7e712078eb63d799be9c2c625de2bb6c87721cf0e7ad03cb6fa81e15469dcec4eeb3d5fd9560c8bc397bfc7e01218eca02718611c10d74b6ed6f3b084 - -COUNT=34 -L = 1600 -KI = 1d42a30188425d9d91a809c9a0a065c7 -FixedInputDataByteLen = 51 -FixedInputData = 976319a81143257428bec4e67fd4058916cf7b8b7ab05f90179d253b1307c90db46ba64dc976872c215212f37463c0c2ed4bda -KO = 0159f53d736b3f3fc93ce5be6dc086a78bfe0bb04524afb1541b665023829c05b76ef06a1a2e5e21812c4875e2bc8d813d6c9733f4d97c7623845e752781cebbf5c394ad4c82f40d864fd482add1385b1036a7abaf592c1d208fb7831aa514b68f1168a0e95fd6977e6a43fbecdd0a82ae4c3573fa2e53883a7c8d2343454beedcf730069513c6077b8606304326c8016799b26b70813299a4a97dc90bc3d873dba2317b5b2df2187e6c6c914e33f41acfb6e59cff18c66cec9f01d9c5701ea1667ed12eeb08624b - -COUNT=35 -L = 1600 -KI = b99244c2f579f2aef8714d7be961d861 -FixedInputDataByteLen = 51 -FixedInputData = d5ddd53c51fad456cfec016f72773892e1554e125915427ecac09f11fc98c5baac3b359c0f102ff945fbdb669dcff3a54227a4 -KO = d4f38f383d12e182087c632a8f1282123ada4fd41fdf617bd2203bf059814e0c245fa8afd50926a2d8e09f76df05e55a2600942c3ab117decdcc5287530a363dbcfc2c9d6a816322e89b3fc8f7833c3ee9def2a36ea5e90fc128d98ae6364390fa03654b45392abfb969854a04cf4705eb2cec76fa1c1533bfa01e298c6b851752a69ab447f3371b932a6a6849ea3c868c02c153055755a070749340181d68c6bb5153de708d26af0d07e6c137aaaa4cf2070d9a7ba676ffd10be9876ca34cd1c7d30e2675a3042b - -COUNT=36 -L = 1600 -KI = 7c595618ec0c200d7c5b150f3dc58da1 -FixedInputDataByteLen = 51 -FixedInputData = 3ec38b1c84d37aca299cf9282e315c820522db14ba544ba3bd34e83ab2ad2373297da809ef997844b2ecbf6ad0922ff2580eaa -KO = ab845fdda7aa0a6211d749028d7b81f22074efba49a083c65eb5e88b276948f0565d3bb6ef25c54d4642fc4b76dd349fa085ccf52eb317c848bf98f3a0ef54bce1c6e4007d7fbcc260c6b90ef03a4b192d3242f591b99a5bb0980905f1aecf3c5065552ff7b141e7907bd578b3ebd16034c43ba47ca4e9a459b1e92ff13db46bea02073e3210a6d151cc2d6b0acb9f6de3efe04398f76ea520351d6541ea7db1b0fc58c636f485b58c306df066347f6685c67041a19ad80c3d42edcab645b127110c674ff7dcefe3 - -COUNT=37 -L = 1600 -KI = ae71102a734409b0c388bc706950139c -FixedInputDataByteLen = 51 -FixedInputData = b0340311b52766648c36b5a824805917b4aab5189625c68900fe8e6100f23170eddb173fd453aa32a27c0920d4f2a74ccdf652 -KO = 5df934ced68d4af7bc742194d12fc640857739244e429ffe0d032451484b547e93bf35511cb5600a6a8f44899e8a6ad5150819d415ef048b8b4a9688cddd0dcc72d00b5a96394e945b08b0f3172ab4a2c399615003cd17eabc544d281f2946625e14007b387a3c709009e419f2ae1461776e598f1423ecf9f1565a777237dd140197a42ab3c9426bcdb2006d52237f687e6536f418082d805b2ac2f720e4fa0ed308d10a9c79e0a6c2feea6681042b18f6aa80cb9b70f43ad37e366b513d614c189c68032c7e9c77 - -COUNT=38 -L = 1600 -KI = 31ba570481c216c5a5f1e3e28651c366 -FixedInputDataByteLen = 51 -FixedInputData = 45a1563f02d88490760ad7096239ddca0988960d73192fc591c5dd9f8f22ec461c2e512d404b6d9687beaa75ace5755b87c3dc -KO = db233be2d9c9bbc21b53c3939d6d558762aaf48350d3dda751dc6d222a78498c015a1f8af4f56a8eb8d87a74d76f260806f6d94566db9235d37f88c7df4f996a46626ef195d8e8835016b1a5d49e5c6866b49381a0b887767d3ecea55cc65cdb239a32fc50711d80c1745989f8c46b01627cc6f0cbbdbc16922532811e87fc28d400204a1e13592d11ec55e010ddcef079796ab0db1840bb979adb7b8f9f1559bd62f038b445082516ac6530370c74d8f6d01fe20dd3220b8ac3203f4ca0f072a0052ec58e71add5 - -COUNT=39 -L = 1600 -KI = befb2ee0ec7cafa0351483987e9f4665 -FixedInputDataByteLen = 51 -FixedInputData = 60d933eea110eb7ff0370aed2cf0d5949e627c916381aa1089b611e0a32a8f92282115fc85a70192d214d9570e8ac8c6997c06 -KO = 73abac2eecfccad6e5121a88efe20d51995c459437c755f11af536acc7a736922a379d34e8cf4ed54a76383cc1cd1f0d8e0d86a6e6060c7669c5d6ce30d94e3d955e30079418aa62247d1713d8f9ffb245db979643edd0e6e748525ce30a83b127a1bd8f928fc8d5c04721450e5770dcb444be63c93d2298c2678f0079b90d6065158f5d02284033ddd428912416feb0a4c8858dea2570084bc751fc9cb38ac91046ba1f4f97c8934d1edd97cf55d44f4a14ffe3c7fb2dd2cfa2c1db526322e278eaf5be8fa3b2d5 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = e6e2a0ba0ecd8af3cd411937fd2dfc48 -FixedInputDataByteLen = 51 -FixedInputData = 7f19962c2e26e6e35a821fd717035fcbfec0c1b57f810a1dd64ea4fcee1bc1813d8ddce18f84e8561110d4cf48ddb6171ce948 -KO = 639a0d7cf955cf42ab3152c742514534567a134c8136c05215d9bc8bb5a9cfad5a4f3615fbb080605bd574b66c555f2363e8efc960ac139e57b8fdaf228aabbe - -COUNT=1 -L = 512 -KI = bd2c04fbe7777494e5fd064d709d5f3f -FixedInputDataByteLen = 51 -FixedInputData = 9d5245aed1dca54149cc18fba2341ae4964b746c34c9782365434e3aa0c654778ebe9f4f9482d139d66af5cfc08742e4c061c1 -KO = 537d7b4d117cdae64d94a1a6368e7f72728284776db13440e9e4a8434430c6aed9202174e103fdace2b2fb2597473e0d73f18c3f448019d44d7ebfe862c5b874 - -COUNT=2 -L = 512 -KI = f58ac732aa018adfaad347d6939f39da -FixedInputDataByteLen = 51 -FixedInputData = b9daf49f71bac54d52cb7c84161501f2371f7e10e13611965fc7bdf7dca0f9efa91a48e65dd2804f4eb19a36c524d3ab2dec58 -KO = 2ffca3024b4f960718747cfd8bc13abc0a289bc84fc14de900dd9ccb98d33feb916dfa104a02e3ad6c66af9ba4f7c3ad4f98192a39c6e0e63ed4bd5347a58fdf - -COUNT=3 -L = 512 -KI = 32244604519ea1c8104706f94c7e9801 -FixedInputDataByteLen = 51 -FixedInputData = 18801b6b094b0b1d65abb8f8dfd92889b7498f21937feb4a3ecc7d2efe4da55d5678e0cc8b790ff8f5815af187624edaf50789 -KO = 46467f6ac907a44da4143e7d21917f0ca379a9bea99f041972def1210443f0721741a9ee2bf171f498b90d42c30e2e3f090dd1722103d57776dd7a03b5b0b606 - -COUNT=4 -L = 512 -KI = 6a8b5706dc21178c71a7246a38db2593 -FixedInputDataByteLen = 51 -FixedInputData = fc08b5129c5e65822f2ee82158fc2f61fb73c086e6eec1b90034e08cb217c8a06d836393be55661413107dc6d702b5f268380a -KO = 473bdb11269c73e3aebbf0cdb7ad7c54f83e8b0759a0c3f0ee2030e86ffa6cf1017384f7de470230aa5f483f8b6e0719411612cbd840ebaa4aa2121b9bed7b3b - -COUNT=5 -L = 512 -KI = 769375dcb377f99d572593ee86ed5452 -FixedInputDataByteLen = 51 -FixedInputData = 59ea0e965f992906fbe0d564193bcfdf4d107aa907b891216a44ef7b11fb0780a263d566ed41c5f45ccd30fd9b8aead06c1e36 -KO = a7ab1bfa3bc3110ace09cf3fc25860486472d0ee65fdcdd6c7c80a5117eb419e146e8335f796b0cf44e40b8d8b0410f025fa83a8c7038718cd55ed026b40eb69 - -COUNT=6 -L = 512 -KI = f0cad1f237ff6d1cb8ac24c03e38b26f -FixedInputDataByteLen = 51 -FixedInputData = 919927131f5c3a06309f12194b3fff8aee172f39565e9c41b0401fcb38aeb9c435a0d5f640b46fc3e81f471f07d27efa1f2459 -KO = 70b88bd72cbf008eaa3fc88db6822494997480a98083b047922af17695d3499f9a1e822c1766a939be4b5b038e36d7eaf4a08c7fce6ce7772e586a446fd2a1e7 - -COUNT=7 -L = 512 -KI = 2d3dbe093c821030e512877ac3581d24 -FixedInputDataByteLen = 51 -FixedInputData = 3a9acd5bad78e6d65a28bc961e6e9c3b2fc301bc2f89dffb24cd613349e4fa81999322a2329d5aa8a1476a2b06aecc5b58eaab -KO = a76afe3be0e56106facce3f9b203f277b3c62feb251d3e837094bc9f088e15a327229b7faef14c0eacfe936cc785183d88b0dd68540906989b21763b21937e5b - -COUNT=8 -L = 512 -KI = 34097863590c6dcf665484498d8f753a -FixedInputDataByteLen = 51 -FixedInputData = d9fe5e5ec92ee6293e36374c39fdfcd8815e59db6bc6dfc481637a4507353c8023a68faecc1e3840f65e5ad94fba188d781b58 -KO = 84c43070ab4e78c71dccd5e89a4a9ba2b6bee883034c29100c38169bd6d2d7a803ab913f3d082d4ca63515ea88425bbfd7479e2bc0fe4f16dbc594dc300d9ad4 - -COUNT=9 -L = 512 -KI = c7bc569b1c41cb3846291a4d471b9f01 -FixedInputDataByteLen = 51 -FixedInputData = 2c2a87a8f676f4eae6ee4388138f44c69008da7c7dd7d8dddb85d5984caf5c1aede9fbbd7d263c826da4d8b67575e9e20b2757 -KO = aa36c40a6c5c6b35d1aabcfa47c316fcabaf24c4dbafa44fb2be9ad1af80e3d238ac49f5a6c1951d54ca0a577a717352935d97a8ee3eaa8741e9a2d2cdb45674 - -COUNT=10 -L = 2048 -KI = 92c103c3346ead0a6366e021ba187b4a -FixedInputDataByteLen = 51 -FixedInputData = aae435f28d7ef87439c7381cf36c228464c905b8d3c36c64f9e2de1438ba7a31c94210786f4e120a1a99e7855595683b58f34f -KO = f2d3ea74a13b99820ea49f1dde3b07cb009a1e486d693e330aeb5e41320302c09e3092e08088f01ca5ead3386b42077140e50d8ec03bb4d230fece4e5d840835481c10c544c127a73eef045cbaaf4e38b88242cd63ca88c2b97265bc913f3ba741e2ba01f49109be2451c17fd1fa912327af6266830c2a451b7780a9276d62c3ef1bfa65a7b0a604e19306015dad1e3aa2f603e21ade79c4e1beb4ba0dc7092ff1cb184b93dc1caae36c33596cb5a17f4c6e76334c1e20c08b2dacf88ecaea56f236b7af91e09ca3d906d63bf330aedb363cc466a5dcf697ca5edc883cf74f5bbd43c8ab15380b8430505c2a7159e91aec9c53b413eac7dadbe3e4ee6b86aebf - -COUNT=11 -L = 2048 -KI = 18fd75a702719d1ce85f5dad198b4654 -FixedInputDataByteLen = 51 -FixedInputData = bd2757f92d8b00076088e216631ffc201e73388a23495e8704d6b6ee1f425a294927070be79810a32e178ae765972ce00f555d -KO = 9228b0ade44c379264ddd6aa063f4802192cac0000b6e56f093b55bbef675c9ff355e2726fdd97ebcfc3145d0e40d130fbcae8485cdfb05ce435b1ce63cfd2ad30a9f6c007cfcc8c763243ab208afc0a4d9147ee4bd6acf04c1242e9e917d8042624e53e1c45aecf586610367adbdecc7f4ee7f5800663a9413d9988b092f5911da50e087df6e43e3ee4d001d902d0ed2e44db059abca70ee8bf9fd2b11002b30348cf5760522a5c7e8a8583d96b1a8de7796451cdc52ceb37006974d9c1d8b7d73322177a9044dfa8c36ddc8067c489945a9b3da77b58c533ad7158fbce07d6b3c276e868be59376f7ea1fa05273939e9c678ea5f207f2a30f0ecdd447f639d - -COUNT=12 -L = 2048 -KI = a560d6ca6e26e46d04f023a1a7ee913a -FixedInputDataByteLen = 51 -FixedInputData = e18fdb7158aae64676a496264bc7949517fae71df5bca2c10587586847c881bab23375d431f8527fca73eb9586870c7d43f99c -KO = bac5e062fadb05deb6533e12bbbff508617258150cae203a8e49f84fbb0b72c436b71f41326e705a3f7d87b8e084906e3f35b2d32a55928eaefe2dd76cd8b332ce55bf9d0088fb42f1dd51842171d035f9951bd723bee2ce62dfaf16e846c1e65ee898c3a6c76d0cd166f28e56f703065f32db4661982f7e3893c4b9c0abeedf74a18dc48200bfbd45da8777a35011b6eafd0a4b1e61e137769bb6e17683881473406cd0e6ccc9dbc36dfe6fbbeb1f052e2c4d5274bdffa73d887b02ff6c436279fce9ccc8a59734335e387c942409d66e8dbe608879cd468c7e118caa03ca8de9590a6c0eeea9c052854c812cd6e34b10ba158f40444861908736347ae20bb4 - -COUNT=13 -L = 2048 -KI = 160debde84a4391f0fa111aa29441502 -FixedInputDataByteLen = 51 -FixedInputData = 1485183b595aeee0cc5d28f353c3a170d5e912931a4bd4d1f07e76658c862f596dc2c124f1d118d45ad1bb8bcf6accbe292b78 -KO = a386808d6221b2566f40138bbdc2783f4f23e44cd3ded6f42bd43b43ba01a429df37c0510455342e21d07ea0ba1eafff16cbd6d81c61e6bdeee1892d02901c9cc20ee4ae7615dbc6a77cba88a644c9ef16360041b5e049f8ffb7eea3b96e81aaf4ae0ffebd919023c34898b02facfbf15fd7da9c59a4fdd37e2a7d9d7f78ca4e42b3ac0a28d2fffb4ee086ab4388bba2a907a0a8dc647fb72f6d3ac2b51f13ab61aa60f83afd48a1416a09b6b346341ea6a38bc6c04501fb871dd7abae2a37ca35680838f8ce2d4f312ffb72e40f76e02831c3972fb1b882cfb6fd3597e4669a0399a2c002f40bddc286428940c1cd2050c466577209b7bdf8ddeb3cf4e3e9d1 - -COUNT=14 -L = 2048 -KI = 5c04e19b31580eb9c708667d353b519d -FixedInputDataByteLen = 51 -FixedInputData = e6b7991d8afa72bbf4c4623ef013d3a392f910329a3ee3f0a9048d47f2c9951b3c8e5e28e3bcac17e6f71fcd2dc6d7562dc9aa -KO = 58e9e46d3a36b70b547f1f9a0ceb15044725c95a401823574040fe331834b481c98e102c0861fb26bc363f09dc01e487733fe1214bfab27cd2c13c50ecda169199fcf7d9455881dfe10687666115e1074751f3ad40fae9abda3799c70eb4184883c922e42b38306d18a286b0c1f00c307d596dfa3c27a6f9f789a45a854cfb7f9bb3547a7b5fe4d4647c3c2b960109915a3bd4c9c436025707014b082caea9c14568106346f396329105395d6205c33ae0bf5fd0b036f4562b4ee10c2cc9287b3e360672b96b39fc77b1e1b05c4d42e54245d73901fafa0decc60a56eb3dff2cbc35d9388796bc18a78b4088ad5203ec6a4601cc707554b906d26774458180ee - -COUNT=15 -L = 2048 -KI = 76025e58a98ce6230c20b2bf4d6577b3 -FixedInputDataByteLen = 51 -FixedInputData = b9ab5a3f0c0f966d218fcade59d0f735190e2d7ca6f3bf80d002be60260e4147e24fd8c3724840e218f76a4a424544243ede09 -KO = f6efa3c9010d6e33f5e0482770645a7e08533f4af8f1d3d7d6faf0991875f0575a4d2e30fdacc425c0b16f993249e3e4a7091b7c726a9855b3e3897d1f60bdd8a5946542f4c66236e7e83f0ee78f057fbf436d17402e9f7343f342d3b12df83b8b536d336330a5678aa407a1b226ed0ebf9b5def03f58af7610ca22a0c47f8c2a9ea99a6c22dfc9833de444bb5308a766b46486e90d77ae8e9e1602be8ff7efe7f983443782d3011f480e9ce09ced618197136c76e081bfa51d75defdeed2904e050704d5592c5bbecc00b35a6dc22f48ac5c546e78688ba597d529e4f0fd7eb056d03df2a0dfa582d04b06f3e00b9a23760ca028890ce5d91576d4685e4e607 - -COUNT=16 -L = 2048 -KI = 23c04cce533ebb024a396d0ab379b972 -FixedInputDataByteLen = 51 -FixedInputData = f89913140bc03053835828c6ec54a6fc67b8f5bffc1a7084403368d95f151d8450b5a4c2d3a93bd5acf0c3058d6676baab490b -KO = 77ea261ef077acb1aa4879b184b969fc27a773efe813e4517ea393f2be5c1fc8a3e2f843e400e30a931721861238c5f2a5715dc7f5a8d9b23b5b6ce3f002b18cfe5cd879cf3bcb87638d947dad87e421ae684c3b48dff7d81f09eb9b4e9d9df12d3f766692ca5cbde63bbaf3a6c85028b76c4becabfc8dd41b4d6d913fbc8b3821c82284d6b2ccce590e234a008e0f884ca6beeef80a41558fd80530e33a2cc3b0f9bff42a7c8c25f60f570f2e2047a7301cad39161216227a94240b628df8eb35e8687c1c2c0bca46dce629ffc7917c4f65920f184a55e8237c602374db49bea07dd7bb386ed3e0e46d726d2ee3ff4e805212595bfc4c90bf89d569772d4498 - -COUNT=17 -L = 2048 -KI = 26b6c73839027cbcd6aad5c0ea290eb6 -FixedInputDataByteLen = 51 -FixedInputData = edb0619a07048c8a6a45f50d286ac60eafdeb55b46eb2d5720ee2f595a128d93f7c5e13af897e2b367cdedb73dfc2927da39df -KO = ff933b5a6c6bd81e101e9e4943618d4b4852e953d4ac27b8fbafd211de2030b38b7d2ccab35f0f2b9d1d103b072c37c279176e50d2008dca4b98d0e9f444f9adc819a17c0fd5f9142fc9736432ad24ce1402ee9e4834626528a824675fd79d02006c7de0abd71b225f66b760132873f58e62924b7ecdf6220137b08f7808c2495ffa1085ac09260fa3083d5fda717cecabbe25cec111a1f8852f1dab743ede502ee7437518c1a28eb46164b5ccde816aa22c73194649d968c029e19d9cc3a5714009a0ba505dd82aa4dad56c993596eb270878c43aa54b0d4e08810276e881397acd024b04e1cb9601fcd57ad375159028b74a16940e4d1c40adad5de42bd9b3 - -COUNT=18 -L = 2048 -KI = ad1eb07ba4177ce66b305f18bf2c82a2 -FixedInputDataByteLen = 51 -FixedInputData = 0c0710619a66b3ef1be042def7143cb85c5507f40c2b8cb6906506face1e9fd9633ef2a56cb7d899a2ce8ddc0f5cf82762253f -KO = 90b60482933ced562a606f406e874a50a86fc744ac984917b266e54dcf60d9b94a652d6ec4a8340e7953282650c4dd4457f8253f74b29ca7485637be1de628067e3e6d65e572167b5ebd6cf1a2a62c2f7b2bde3b41e8b1c3f739bef8027fe87aed903597df03b405eb8bf6664e2f17520d5e47f97a146f5b0b42ecdbe0e74f4534194c7dc7922417ba7d128a2749b5f8e3815bdc68b90674721ed6f4b5958bf7ee36292ec75ec52b3479df72d9daf48b5dace836ba625ed8f747e04abe9b326f25d598ecb294d1da0180f68a0eba19b8eaf2463bbc1d15820b71e9016bb7801ce9471bf77c3eea6928fc2c9ad35c1626dd8b02c6921f502ac9ac110e5ffaa0d5 - -COUNT=19 -L = 2048 -KI = 71b961a60e126b0fddf6803e93e410d8 -FixedInputDataByteLen = 51 -FixedInputData = 2ac5c8e018cfd26c71a183351e46b457beeda57c0a09f63e699aa7303a146fa66cd35c3d99275d7bde01fbc099af42e1d95b75 -KO = 863876f40fcb3aed41ffc96a5ada2542903eaf7653bf03f5ab9cce3cc0c0f5a6173dc328c22938612e6b7104d8100e1bb7ad9c3c1d6f74c9e107dc71acdcfe5e5fc9f26523b44b96dae6515e940c5a252772d2471d89600fce4a26bef44dd33ea9b0ec3c3faf6c5626bfe9e6816af120b978ff3636e3b954496b966d0ca3c5cb57f0d2fb84d3659943dd116c4aa4c197ebf59f8449d95e1e19b0d9212508d6e6bafb4867f05e276edf2da45bd23476645f3a009c9635d0db76d3ca82914dbeb4317094982ba7decaa68dbbb574de8ca1ac149ea0d9a09fbc285cc647aebab322c7a871555ed423cc6c43ca3b8fee8baa0e472b6ba414acc92880a2c6959a6a67 - -COUNT=20 -L = 560 -KI = 8469d036979f61a927323afe2d16f296 -FixedInputDataByteLen = 51 -FixedInputData = a006f791176c11957a309f71619dd9e5016c47fdff12910e2daa03d1af10a98afa1000748d159388b450275cd0618d86721038 -KO = dbafa33d5765484f750653eba135e4ccd9c4ae1501a0c918f5e5f1f16d22da3d383c2a0bcac6ca9e63b54abfe552e3f58bb580892af086ebebda5937553ef6b787f6a5c3c897 - -COUNT=21 -L = 560 -KI = b26ddb215279310eae0e84949dc407ff -FixedInputDataByteLen = 51 -FixedInputData = a2922ff5c5e36f3423aa65f0fb202dd712437644e54d96f7e2a853496dd7beba2d2c09b401f05f8a5df24acdb01f809b38bb1c -KO = 6eaebc7d042a3a66931a4e2d1895cda5d88a8a27a7d7068223e66d785399a69221b4f044c6f03665ad091f6bf27b75213d6922193fa387a45b2b308bcf4978469e82d09b43b0 - -COUNT=22 -L = 560 -KI = feb1e06053051baeff523d9dc9dc096f -FixedInputDataByteLen = 51 -FixedInputData = 7fbcfddd8cbbe22dd30a4280937758f1bf8f17a61fe7db72bafc238de6075e621ae89b5ed666a14eb67f72ee8be963b43c6220 -KO = 5a8d37c8a0be14e9bf15d108ac93dd460c9ab973c83c356af0d69724505d8abdc2359a0032895fd82599a0eb106436a775be49041b3ccf3faa9f0cb154f5ff8bd036d34345f7 - -COUNT=23 -L = 560 -KI = fe6d86c0db56df3812bbfb36b3af3aff -FixedInputDataByteLen = 51 -FixedInputData = 3e3afe4d7f685764937d2175d4d687089f60daede11e1452819037d10024c956973fa15497e5e2f0374fa688feb3abebd5bfb5 -KO = c6e02577c313462268ce25d759d6ce47feba98beff32ccc1c0eeca87999df6ef1ccfa900adb30743670e85b2c21025ebac24b839ae2c82767f48178d95a3e23caec67dabd4c6 - -COUNT=24 -L = 560 -KI = 90a5400a968617ef4ecc411d7c8839bc -FixedInputDataByteLen = 51 -FixedInputData = f1f67b5bb3c5d64fb1a39108bd7379728cca31b8209ca8c963aa27516570e39890ad0199d7968ea5d7eee1468c7f37b705742b -KO = c5831499d0b808034c97ccaaf6f82422d2abfc93146eef2d9fc468580eef4ac52d1742da8db377409d6a5e74f6c971acc5f8dda72572dcbcc73f894c276e07babe2654c5e5f4 - -COUNT=25 -L = 560 -KI = 2a587bcad38c365b8500e34fd3fdc026 -FixedInputDataByteLen = 51 -FixedInputData = 24247f9c4e4951ca36fea8f5459d791f245bb4749c22f320140e60cf327f25237b281fdabc648a1ed8e464818e55d5113937a8 -KO = 9a01abd615bf203e1eee1c3f04bc970d2c84515ea500fe6b2875add764765b980fcc36b65791b086fc8994f502cf41c50ac010bc2ec86c02343ae733839bbdec7dfa2e667a59 - -COUNT=26 -L = 560 -KI = 43fd87ec89ee0e043938b03103b7d882 -FixedInputDataByteLen = 51 -FixedInputData = ce831a73e65dcc80ddbcb001a7f2ca88bded5c069fc26cd480176beae38d1c42ee6ee16fdeb1b13b8e28dd9b8d2f76242c104a -KO = cb97a940cfdf31a93ba9a6ddb9fc58623d23ac21011055b34344e835c76c9878adc6d20a0b9ded384d1f298ce5da36431cbeebe716f012e6fd6b66214c43a8682e891704abb4 - -COUNT=27 -L = 560 -KI = a2324f981e8eedcf92ee0690f4837f61 -FixedInputDataByteLen = 51 -FixedInputData = 582d3f87a3761bb0d354ff80aea0a62196d82c0373195df2efb9695831cb6ac39cc93e8ae8719436b2b75de4d7dc659d7e5b32 -KO = e155581fc74f6b48b7bf7b7b0f2ccbbebcde08cf99c07bc9b77e11fdb9a32f00057232bfbd5ba13910e59a167a9349a85fa2d74c734794fc687bcb5369fa017318ec5f90b2eb - -COUNT=28 -L = 560 -KI = cfa7d89eab9fa2822bac5dfc4154248c -FixedInputDataByteLen = 51 -FixedInputData = 2703c470b4b767bd26ea2f4cd431881880039fcb18efcac21a0235ca1429629d287aa77ff7128409102a489ef51e36940c1899 -KO = 7f61d8243d501f749155c98e6f43a7040f2da24f638372c667f23b33e95f0f9018444b721c2672b055f733cb2f4cd8fd775a5e87d5f55378251e41ab9eea03939511dda3fc53 - -COUNT=29 -L = 560 -KI = 8ebab1c25d061159d413a940445accd9 -FixedInputDataByteLen = 51 -FixedInputData = 89c5b4385af4276a1591c8a9f54239ca3e086b69dd2623e2b8fca0874202afc730b67c3879171c995752b71ca3446de1965788 -KO = 654329bc7bddd9d03306977fc886ea43b56937b5aa99a8287a33d266995ac16ab29b2c3ac5242dc89a7c31e20a9e1f4ff1e97e9b5b8d7205457729f24aa18879d8aaab04b4a1 - -COUNT=30 -L = 1600 -KI = 00d8c4bd148819cb5a2e733fd7a5c064 -FixedInputDataByteLen = 51 -FixedInputData = d103f8b790909842c6eeea6b0854bd6c8588dd8609a8b77bf0d55f2c6640a1ad7eba726a9e3b9c79149a7c1e916270b62985a5 -KO = 10215f441c42bee36f2f8ddebe24c98a5f95334d3b748cc2ccc2e21322b4d1b5a872a9342f64921f0394ddc5714abad1e5959f9be9c47eab4ea60666410907d3538cccb592d45f21dd237074ecf02eed5cae46e069c71b2583aee8c85308e585132653636dd5f33aa481207a38730a8e3b214a0f287017163edf611e43aa318345aa01fe7522786dbd9ae1c5bcf9d75d40384c6f2908cc9c260546d38653bef2589637a13ee00028d0a1ac54bb9f41b59105a29c92b9e5037b8ce4d0ccaadabe9243151627ba6c6a - -COUNT=31 -L = 1600 -KI = e8e0418d5a7efbef9f6f62a8f915a218 -FixedInputDataByteLen = 51 -FixedInputData = aae001d62e88c858ea968d4ef7327161d9bfae86d58ef186a335c720ef8785efcc24317437c59b13297a5c23267cbea1fbb216 -KO = 0949916d688a76b176096ab54538356a0afb3866f3ddc0d090b82e77a00df97b0fc34cd0e1036d69773b16ed947a084accaf13773a88dedc0a7771b6dad229a8d0e92250c2ee1f8ac71cfc7528342d0b6328e2f8ca9ded64e198fe9b5b1878439cf7dbd4c8886652a4f5cbd07e7c4d4c9300ceb29eb0a3e7d80e2ff5572090011ee58d5ed9f1e33fd70f81627f7fbb77ba04de0df9378f062652c0b3abcc850632934cd3de6ab134c2330209d624cd5fff2a0a82eb4012d54cce39874902005fcfd33d2913d29984 - -COUNT=32 -L = 1600 -KI = 0f726e0ab5334ab8552013a1b90e2102 -FixedInputDataByteLen = 51 -FixedInputData = 77c6526da5637045a49574005309774efa1daaa11abca3b338e93002ea22c4b403f14260879a47d9d282fc6c6e958fb8537275 -KO = b3da51db8abaa199fc0b6e53a3767d511a331aae312c50abe25b2f913ebc925ae5fd9bc7ef456b84a3ddfd78662ada325cbd251bfaa546a0c41ad9f68a4a0f24c58580bcaa4d82865c55532e44a1e2561c94edc5874e0ee8c8ea46d217af1d0de6970120fe3fa5ff60606318c8404820ae73340bf3b24052da3357d1057cd983895d01812fca0910e6b60bf6d808aaf93ee33a430c0f7228ab58cbbf6725edb4db1ea73754202a7e35ab205679019eb2299c127849d66e6499bc6ca316b63d110ced1fab870caf61 - -COUNT=33 -L = 1600 -KI = 7385bed87dc2ea96b8c295836a191fe4 -FixedInputDataByteLen = 51 -FixedInputData = e440f2fa2d1bba88739da28cf63bd170db69fad57531633de2652f5d159f830b96ebc3df8c769e04fb9fafe8520a6c6b4a9a82 -KO = f93fdcbd5b859296c12038d588785c0b86321d2091caca7c01658cdccc4149a4c219621bf59147fd8a1200dcda96cb291b0b61e246146dc63bb0cb281728e706356fffc3a51ff98d6bea9006d7dc2f1a96f8005d533f8d0dbce90d8bd949e063711ce6cb41b31d57d8f212f8b04bcc9a685ca01ec66bbee3dbc6421104af0794c4a4a39fcc6845b81109cb0e80ea0b8782cda3aa0b6a0b98f07fa8173698b0a0cfd31482291b65f301f01d09fbb915257d772522537a6694abee6297a0027789ad6103d0fa9c88c8 - -COUNT=34 -L = 1600 -KI = 006cfc2d01fca7a2a700947c4edfd2eb -FixedInputDataByteLen = 51 -FixedInputData = f61cf7a91039b8e9b5774a3f13b62dba664a3fc5a47f619047f759d60d342c10b742e8934bcb46161037544e12fa918b3e2bed -KO = 2f453d47e413398823f91cfec5eb37fa157b12bb06ed109279338c7350f5f5d2712504ef193aaa9fd4bf28272d5345dd992a7a319922b7c6d83b61f3c81e19558a21e1e37c914c233b7d36eabc36cd398983144e2c346fd218974a2a67b9ff7823a3960f8f9a5ae7e75bcee83ee5c045a3125c6c3dbd0493f0dc8b0f614ace45ad8160e6b19f00aa0cbd01f069226a00c87ea8759d425e86f1439e7ef0e7a8d022c4027d7140d3b0b87a1a81c638d0be3a3d45ad88b5a9e9ee74414f59c11c202668fec416f75ee8 - -COUNT=35 -L = 1600 -KI = df286ed48de78727a9fa8a5879cd626e -FixedInputDataByteLen = 51 -FixedInputData = aaa2939737ffaad6a6e67a5922556fa924291eaa2c0861ab2794c1598f9d76b27be7e223418f11e77301db023be1dab8785772 -KO = a7c0fb5a5012cff229f21e4bbfcb70adfd9f2d95695a646db3259cf84ac6da7aff8ea5d97386fb4a7d7b55f54a65b5211d10a478253db848eac761f94d5f86e549922697e82c7b4ceb303c723d869a9dcb86486b91c82c71863a2b1885ff24ec8d9e21b61e4fb542361dd12d5a08bf7c06e4b482d6d80b6acdfce680936beeb80fe49487bae2ee0e37e2f7ac72cc9b1c596ef2266db3adeb86d403000fb15b8fb7c4699c3465cce5185772719da60f0564c687b0372b826fe94d9c89cf612de1e7dae3efe5de1bc5 - -COUNT=36 -L = 1600 -KI = e3f6ef3d23fee604adcecd74ca86a8dc -FixedInputDataByteLen = 51 -FixedInputData = 8f3273a339b2223da89f6d5b9ecd2e2574a32cf279d14291a69b8dc0659179c2bfc87f422561e6a607cd74627cbaa29fa1b9c5 -KO = 0a95c8963d35b5e518fab4ac69623478caf1eab0748c3dd42351952e13d2b6e962b0b6ed03b90fd8d944502644a897e241846506641d1d8002a1001f230a809cc79caa6cccb02455e6113bae0263c688b917e0755c10705fa5f9af8d6f20175abbf952194802b943a94399e2d4988bf2f7e805c8505cb7a665052ac4d3008e8ad6bfb3ea07a616e0f82e8a4f09d1d996260c9d7006bacc27a560d26cd54f05f0305bb48e02e14878e52afa4399d09570b343f72550cbdb41a4b58b59510a97cb76d0d6e5d3b65272 - -COUNT=37 -L = 1600 -KI = dd05b1fa17a61368e55af1250472da17 -FixedInputDataByteLen = 51 -FixedInputData = 7d212a1cd986651cc921889b995e6b2a0f904578f2265dd79c03d67d31265c23baeb4ea076b16db072ff10326f0c33959d983e -KO = eb2955ba3d52e63955367384437669e4f713645e9d69029d969e2371440b035b2705b3e63c59e205932379cebd9e47bea927eb9de61b9a656f715ed48332681596278ae64a2005014574dd234fa6e3e5c6dddf738f58139b087b7d3256917d91872a5d45d26f98baae757e4f1f40e08cf83f9389ca4aeb96e00f963cb2ddfa143d6a9b2ed39b4f673cc68404c58eb6cec4589b7803b6594fdaa12fc6e8236b3ed50bac102a61d4df6bc9b63c81b210e37f0ab45968c7238e949ba99fb47e4da0717420b26eda3c72 - -COUNT=38 -L = 1600 -KI = de0cfd2cdbb8ade2fd951fa042598641 -FixedInputDataByteLen = 51 -FixedInputData = e78367f43c4765b4585585db9577cace656aef0d1a2e5ac7c5fe05632eb6013ce565ba8265cc426592bfd1358ad7f0626334d6 -KO = 25a09daed04a5bcf6547052a2d763943cc54966354f4f2af311cef0bfc7f2d191ce46e6ee43d524a8b2756e65c4d2761906dede028b3a40af66e89777d4cf229346b1bb090ea2693e8cf8820523148bc9c5b6537ff477591ea43454345889de6461092b17de0f51121f5ac5f2d7b34eab307a47dda08f89bc6620ad3fddbc8c883da83624ea6155044a881bcaf5cc9cb20e96d6b3657bd9013e49535c52458c44349fac4e0b2c9320a4bfbed36237e67b880226057b69c0e73d97d6501a7cad4e5d9de9daddb6d29 - -COUNT=39 -L = 1600 -KI = c126f4480b5d71306305d6c7fe44fa7d -FixedInputDataByteLen = 51 -FixedInputData = 058be31d6551912b45119d59f2dc3ecbe2e0a567f038d5e035d5c408f927a6980fa1e0f63b90824d5eb8e8c96c4bf70bc5df09 -KO = 8c658ae76f30f78425aca1169852035e5ad7bc79aec114bb64566ac3dd6cdfbbfd1208a584f8d5ad9e685ac296d01c5afff37a9794170852c0a0d38fb09fd861b7575f48b4f5f75081cc1e90173ee6a53f7ac91839c01f6f1b2c6e3a44842ba9a8a74c008f95dfae972823ad49749de46947cb4bc7ec4c0f60d81fce9fcddac65fff4c9eb2b317a3eaa3bba2cbd11ac73efe94a9847ea743453e7c8d6542117a93828d087a5c519c3e7d5f5b2b23fc91c39bc0207350bac67fe7726c94043916884f04351578b318 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 76a2494d67d0dcee9448be4ff603181a -FixedInputDataByteLen = 51 -FixedInputData = 9b047becc9eed2c627372a7c8e02cafe1620acf5509bba9aafc05412296598431149e0e093bb93c5440361c8b656cbeb623c7a -KO = 63cfe8f1e8667cda17d9824416c3446fcc1792d98b77169138a0731b051ab13701e5f539c0a9978cfcbc4706a0c5c5c62c1cc4530e767ced99f97d532b407ec8 - -COUNT=1 -L = 512 -KI = ca875a1a2a17d39e042820fdde94f6b1 -FixedInputDataByteLen = 51 -FixedInputData = 9b10b78f54f3d15eb2df27c1b6e862476ceca92bc07af360f8cd9efbce1d3da737682a4dd2f5aaeb23d40b6b0e62ffb74a905c -KO = 4ed24732b3c9e3dd0428920154b261d51c841baea322882f4b0f10c9bc599a8ca6545ce3d4fe16536950da4fa1338fb3fbd9380ac059c7f98d12417ac478a4a7 - -COUNT=2 -L = 512 -KI = eb04669d46e820e147a2c2056203cf5c -FixedInputDataByteLen = 51 -FixedInputData = ccffbb48fd9d2d19a0cbf76fe2a8a28aeb02f0d273bdf6a52756685dd8e72c4e104ec4e11d70757168d038b36db18547b3b91e -KO = ebfddbfe1f0599ec5b79ce717a6c76de169905340f364a17f9f5d74201a87b4b0c474ae78c7c84e7234d7ed8fba1fe8d566f694949e181fb04ebb90127fd40d5 - -COUNT=3 -L = 512 -KI = 83d014b585416713475b10ffac17301d -FixedInputDataByteLen = 51 -FixedInputData = 48185a346af7738dce414594e732cc2aeb78e2675a902813eeabfb9fd994aa2dbf7467485badde39d67db2c0aa93e6ee171f88 -KO = d0005ac7b690b405496d2d244024470d32d94deaf02053d47ea348637dbab0ce85f9e04a46ff3a6f3745801150d86aad3a1466fd16ffb1fbba4b4c75b741686b - -COUNT=4 -L = 512 -KI = c70028e483f4404f0f3c8af5bb106049 -FixedInputDataByteLen = 51 -FixedInputData = 6630520b4ac041b7ad51d2c9439b9f9c156ea518358ce7cfb3bc16b42e8d681bd0f5ae67d1b839f9c1480f98a89657be8a0528 -KO = 4c2b82a7f557b3d549910a376ccb9813ea857e953fa23e7cd7ee233ca22ad668d35ff9f393fe2749a870bd44e88448a52d6cd902aca86df9ae1759db39d53b4b - -COUNT=5 -L = 512 -KI = 5df62e0bba861aad7644206cb4194757 -FixedInputDataByteLen = 51 -FixedInputData = c6750ea4ccaf8293091a6e08ad1255aba6f3bbcda11c3c4bc3567f7bf0c7ab087471e5ccf7ba64427ff52d66aed7d70d55ac3c -KO = c4eb4825f33eb00020af8dc7bd2161733e8d6b5ad848c81cf335a30b83964f4f5c87b88aadcf32761ce5250704ff319e884e6299bbd1f7755f80aef9c0c3a04d - -COUNT=6 -L = 512 -KI = 31e4b98fff935cc40e223266c0c387a2 -FixedInputDataByteLen = 51 -FixedInputData = e810d4834ce9ae8203b8d76df8c68ef9ad97959202a1bc0dbfd791ade1b3d87c8c0a3fd0032f51f094cdfac3a3dcaa5a61ab7d -KO = 0b23c7d2c8b16f08928ce0e8dd157c69677c0f00479e415a2f244f16dfe0e8c86e11e21a85b6d4db408213b2e5df6eeae7a8e6f7572c71b33f808bd5b83e3b29 - -COUNT=7 -L = 512 -KI = 88283badf81a1c1f6babfefbe283e736 -FixedInputDataByteLen = 51 -FixedInputData = dad461f996e9cd233242f902d8cf1d212affa16f2aad821aef714b7ecfe2e58ef1d689e72ff7a437a48ea5b49f5e2a5d0790e7 -KO = aaa5618ae9b6acf44f6e729b12872f38c80979f055d61afaeb2aac6e643aaeef1db880887bbd08e1c5046e4e547bcefa35e9e49db95419181162431213846efa - -COUNT=8 -L = 512 -KI = 995a38dd28ff103cd5f30ddb93466585 -FixedInputDataByteLen = 51 -FixedInputData = 717b18c37ba708b7e5da1715a9e5be70704e11e6ae01922016f728f6f6139141bd6d435a9c09ef24e7cd5c25d7401cf8b2ab2e -KO = 1a78db6772be0c67971fa9044d9f7740c9196553afacb06d131f618f9dd96692fa13a27949442e02194ff50409b03b487cafaa2b9dcafc51e104db8137848b53 - -COUNT=9 -L = 512 -KI = 8696a3bb85e888d61289737e626deca1 -FixedInputDataByteLen = 51 -FixedInputData = 7d1a68d49c00fe1193159a98e60d2a9dcc60de15a31682ead08bb9c03fdd42265195bbae28b4c3b418c7ee42526627ec219e95 -KO = 98b76d834fb4c4a1f123b272df91fc4383d58c795c4103d58c4347c79a0f6d8718bc02b1442d112eb95b610422972aac43b7b0d308b9ae87fbcf87fc09caf663 - -COUNT=10 -L = 2048 -KI = 14e1a0f367b833e51f9e02e810a1d750 -FixedInputDataByteLen = 51 -FixedInputData = 7bbb3546c4a94b4941a4e51437678ea2492238d2c0b511e31c47687506c0928077639540577bc3d58fa17b937b044c4c247445 -KO = e572e864df13d51bedd6d974dd4b1512c743d435452bdb1b0931ea094583ffacf7997e1c06bc00f7ae34bbe0c29816d5dc0566a5750364cbceb58df6bf97390d3d78808f5b7ad06eb4d2ddc95344715cd796dd424f69af02385743d8133297acb93f5a270e0eac5c2e969ef1779cb9e1189025dbda6574369bcaf2514b5d570fee87b617311dd12ac1b3a42503e093eb0fd9d5cd45f8eaf6f97343b0f736e5578b4131d5a7917bdf159b329774eb1ad5d52ed3eeebd92ccdadb3423abd3611f23b499c15a508d6a12a97efeb30b19f007f4539cad2a14f723ddfc2e956ce01cd6c67b113154f6376d180f7cdfa3221d293a29abea053a62aa743d223c277e708 - -COUNT=11 -L = 2048 -KI = da7484f4e76ba6b401cbe2f7d06822c7 -FixedInputDataByteLen = 51 -FixedInputData = ee9cdddeadd741090fe29cbd4e5627fbb59a00413983c4c2e04d95cbb414eedd5dfb08d42999b5ca8734735b34dc9b8b1933db -KO = b67548cbc976f471c99859f83aff84a73a82c05d2989ef22b0afdfe1b7481d871906655ac284a53a0ca75cd724192e2146eeb0ba302f486adb2fee008f5093388d6b4ec558bb93340d66e353967affbee7e5da165a665751d4d242405a45a957639621317bb8830fcfa6010bc249aee5a18566324dc6e4722a564958e0727010a29b0b8d6b81af6e0b045947df995ff89368cdb0ffc682bac4199a37918503749c653b62b81ed73fe03d08b4f77c186d3285514e1932e176da6fc8b8a30b1940f34dd94e60d6864637690e25175a8c21a99fd6586e32b3da4da7ad1967b992871a32f1da0f28c88ab02f4a60682536946e33fc8208893fa60854b590d6b9e7d7 - -COUNT=12 -L = 2048 -KI = 9b574e1a89f13d4875791917fd6a4f43 -FixedInputDataByteLen = 51 -FixedInputData = dda24f12145f2d0a073b50b771ce12a5ae75077095ee04aafc8894595f5d51cf03de3d76d0cc3d8e8f020cb78fcf2e196da2b1 -KO = 81a375fea94b62da9d5f4b405df8235edde00b05b40f083b2e1f0d8bfaf74d87fe051cfd5e0a0cffbf2ea959bc1a8ced4d1f0d2920526ee9f865d53b788d81c5e286c18821cf3486d416af005cbea2c509535cdc813a0dd02180bfaf53b01666e732788dc5fba568834830a904cee0d6bd13d1397a352fddc58e3c286ee32691d326ab4d4a9c247dbddaba784009850e482c09e2012c78a602e8d430277cf1159ce1ec4e9255baceb78b8dcc965ef66d2452fd949d24d234745a2defcf2f1b1c66c2a5a8630841d74cb87488c15535a10703f1bcf0944d42a05970f37b581ae073f0680b8b2e031031cff7546b12c0d208711048fc8bd162ba457f14153bc113 - -COUNT=13 -L = 2048 -KI = c22188c8e7d4e743c48e8f5742663969 -FixedInputDataByteLen = 51 -FixedInputData = 61baec13e14be413ea59c672adf2740b54a4eae2ffa3a0a47f7ec5ac46f53e44f1abceae21b9b6a8447915d9fed6a0c371b908 -KO = a9b1bbb508c57414b5623df9b0b4561fca1230c0cae87633a55c224f51bc46da0dfea816eae2272627f5eeb2578c2f1a92ea017606fb8f9bbdd5c25e2eea1f581907972ac1e43470279f55c68d4ee9a182baad88a5434924d73f7a3e90a900f218739d0656ad465491b43c9fe61ac837d202c618590061e9776d60d26c227313c090bdcd43768cfc5cc8366abcbfbdb49da7a1b69f0ad33f5187fece47afd9114097e4351fdb605c71437f62ac257abe57b81abcad66ffceaa4b12228ca097a7ffef4a32c7d88a760c39d9265119246483a0c87a144bd3bdeabbf73ef24c2f28856dc92142d3d33e4f20159f3f65a64db23dc2fc50c1024a2883670899ce5008 - -COUNT=14 -L = 2048 -KI = ac21f443d1720073ab7e0ff6ded151cd -FixedInputDataByteLen = 51 -FixedInputData = 59d24f726494040ea2cc8db8e01d445c83010f3ff9c69bcaf1845088b4bba34222afb59c6067408d200735ad0e651701df4e3e -KO = b369ae1480942b49a34393e16f5236d5f1aebddaa9788da5642e561a00f987afcbde4b7c90471a9aae5e5e21e16c9957f7fab0d671e6d024e26682e4a4704f3a316a0f6cf3fa142a471cae849e9cb35bf5e5dff344874b22dcf233991addbaccf85ac725911b4c3bc008a98308ba38c84207fc4b71159e197e8b807161fc724effc4492e807f2edd7cb8e2358629d27f73b58109ea541f2f82fcd571e43f66d065e3a5a13e77531a0d9bc5a37dbdbe713790de0f47d5f24df2b69135945b9ff18fc64ccbb1502a04edaff11d02c4e8fc5cdc382cec5da8fb776c2452e034c434128fca118cfe477c3fe1d26c849adc7570aca0416b0a13336d6de7235c0d2d89 - -COUNT=15 -L = 2048 -KI = 99aeeabcbaded0b5ba57ecd7dfee85c2 -FixedInputDataByteLen = 51 -FixedInputData = 5373950a70478cd8ee914da2105934ace10e881535fe6a8b3b6d0af81ba82c38404a59ebb466604a990e5ebdcacfeb143c6225 -KO = 9cc3f74cd6aac4e9f5637707cca3d4cd9f570515d3bd3a8efeeb53a570fa404a5b6f9f2805429c891de1410cc1290755125bc35213579a393bdb95d102f6263d5c25db94529a5ac919cb95ead145d6e226f43bd311ee5b0dd62170ff0bc318302e41802c70391ab0b879dfbefdeba33dc32aec932dced92e9eac74f5085d720e81ac4765e22b28a88d88360c5bbfd4617395370f84d5e1bf2c2243b783ecd2534fd69e4b32ae2a19d978f23bf5c10ad668ea688e00c9ff32d5f33546355b9bd8f9c142f131deca0f18312d2af175bc9d79d396969c1eb15501aaa1d98b9ac0717caccf6584506467a53c47d0c7ad6f62c17498260853da271494363dd48fbca8 - -COUNT=16 -L = 2048 -KI = 55eaeef50021accc8c0f76b267264878 -FixedInputDataByteLen = 51 -FixedInputData = bf3939cd02ee8cb2558048476c325c95e7677bff97f03aec6759161260c090a1da27202b627b9b702caebe30a2e372b7c62fe4 -KO = 69f7b093be84100bf764334e0c254e830255d6e8b260e79398ac3c0183a7ec031c114a6c2d8b3c20ef87cd891ddde6e38d2f3e41ece32d4f8223b1610d0910fb69ae729950208bf182030696e974e88cb12bfdf78282e78a73e62265360c1621cc3e3cffd5fd57c505877760df5f064e5b637f5e7fb05dd1c8770e1cd05c45f3b0a859905ec4b805c40973586c21c19b0279871a3e15747b936c22c867e2b4b5a0b4e30bcf21564cd578fbd14a20f9f2e7aba0a8b600f541837a0aba8a9edab1bc989a94a4ee4e5d398c83ed93218366e0256c29227cb17ccf18efa40385057ab2ab2b287dc9c1698eedf7b5b4fb064890e30d73123cf50bd771286bd99a18b1 - -COUNT=17 -L = 2048 -KI = edd92d5ae3d549392cceb109935f0583 -FixedInputDataByteLen = 51 -FixedInputData = 0829af9c324bb2b6631db226a1d1eb0598c988a5a3a8149cab0e4725c15b6afb6073377febd3cb4512e02420321fe8f84370e6 -KO = 25cb1f5df04ab913dc8f1ab20783d58bcd58760ed42a9a4352ca42a28af31ddd1af2866f9830469ce67fd69d3b328da16653d80acf42d2871b64433ecc6baee1b44ce7d97bc4e6af75e2bbe98de3351db8f43a49dda57b0197c01b707ab1c5a1697fa456c5d49be594718385be412f29b314e38481ae9938a27507d566a7f54841230945ad8bb43a657281cbc0d1d06c654bc773f6ff2d2ba9e0b20548504c3d545d0ac78b6d9259f1fc6ec8608c9b7383c27a02db2672ca31f72780924725a43263ae7a7e0a96e5a45fe5b713cccc52fa40050288e34575d8d77454938a1725be71eaeb13535e5024aca2515874eb77261724f6191298f2fe083d8f158cd589 - -COUNT=18 -L = 2048 -KI = 47da404108f478a56af11901a3985c8b -FixedInputDataByteLen = 51 -FixedInputData = 91c7ab4672f9253095983b16c4eb1d2fe4a15b45d1e263c96a912aa7826f874f2f8d98ae9118ead437137c5bdb9ae8fe05b834 -KO = 20b4422576efc219d31f54da2171ba3df4cfa38e1f1112f86bd0b6d7e12c95e10f7e75e80623fc6ad5a8e2d98f46b75f8c60ade5bca010ba1ec81b653ef3a7b3045ec0c125ed53d0b0bb76229ebffd9c211e20c7f2717e85e36b9cd3386fcf1fa2141985c323d9a6360764d272d0993523037b2fdc51e475dcfa7ca7130d56e775c79d2061f3ef5dcc7c590ba7f3fddd66f56207d31bd14f16494ba89ff1b7563eb04e3316057996ed11972da1a49783964ff6b922e3483bed7a35878e53c3e1214dd7acc79ebedb3e05bb6e30dad34f7a18bcddc2dbac743f98aaee0db6aeeafed192b667edc9686bad79b9ff2b2022dc4646a7bdae051488b9bdb36482c1bc - -COUNT=19 -L = 2048 -KI = e2035778618cd7f90dd9301c929614ab -FixedInputDataByteLen = 51 -FixedInputData = fb59f93d4a4fcbfcbe6369dd1875a44b871b1e6e4f554d0d5e846a93c4cebccdff9042e1c9752c708b204ccf50be4c877f851f -KO = a7b1f9307dcdc229fb8899654c6bd673b668188ace071a0d375c28af5f381aace743bd6fd3bce09a329741eb9d97e9952d40db125475aca1e6f023d3fbf018299e2fe224eb25d080c73232c8caa2d3ece7d0a5cdbc391b1e59f7fee22bfee93fefbc8aa92b341e5fe7dc8acab3734b5628a3c03fc4add6bec3944067a657d9643a3cb0c0e69a8539ae22759450eea6928a77de16dfde33ae77c968de0109c2cc5ca949daef983fef017feb94b403fe77042fcd7a316dd63f71ad1ea34d0ca174028c39dfdd506a112eaf711f46d1ae34cc985a7e88bf06b89f4db30e3c8df23158707225a5691f2253ed4e02588df96be98e3e86d588babb17cf2886631aab54 - -COUNT=20 -L = 560 -KI = e823d091241a474393a2b92aee24ac8e -FixedInputDataByteLen = 51 -FixedInputData = 4c4c7074c94dd7cacc1e117b27a673cdaefbedee080178540fd6a9c104c8b191b8bd45957bcba86db6be91927f0838a1ca5eb2 -KO = 304e0d419308bd56c1dcb8663e12998e12634f7490d1fb469e7cbb4afa91b7f90491c1cdea23acc5a40de78f07bb3a1357125ae071843fe03d76aaeeae6c80581aa5f5cdd23f - -COUNT=21 -L = 560 -KI = 75892ad3da85ea657c1a20b70cafabfc -FixedInputDataByteLen = 51 -FixedInputData = b2aba4875654cd1951f888a82a5ae4e98623367dbda21f63acc6c60ff31ce2f8b357c9ac641176128580107de72991573967c8 -KO = dc69dc30dfd222decf05868b2b5181928f41495e0ab5c36ea1b9243803599f92c82caae920b04fb492d4ca97854070b457ddc01075edb2c45ea211812a349b20713b3c9d98fa - -COUNT=22 -L = 560 -KI = 85d50145504a070ee9af1f2836263b2f -FixedInputDataByteLen = 51 -FixedInputData = f85d50e72ddb0e3c368bd5a942fb6254b7c2952d90e2b596d26b6c86002c2aa20a3eaec675887cf618797ace2f1fd584c9707c -KO = ea13f3ed7f46cc190f897ac9d723b0b09ddfe130fb8f8b5d6177e6e7434aa42810234c0ef87ea3444696827cc2d141b7800cf8132e3e3a5b33ba6f6f072dc9b5d94f5472d494 - -COUNT=23 -L = 560 -KI = 579904303ffb5e91b43b0f342db6f6e1 -FixedInputDataByteLen = 51 -FixedInputData = a6b8ae4b9a37b8789e7a6429308946c33961f5be8d34ab3c417acfe108bbf07fa7d2234721f366526e77bedcf70b9d3ec10f7f -KO = b6534cf136096ed14f91943e48635ca71cf53d15576e5d299e82ffa5c025931021535f913e5c85d505e36ad122ba5f1ea9079f076d075fe10c52a1b79111c6337f7271084ddd - -COUNT=24 -L = 560 -KI = 4eea61b9e605fe6514a8262ec96843d7 -FixedInputDataByteLen = 51 -FixedInputData = a0aa8b3c841aede71760a1767f140b8483da446e69cb775e0e63ec175841e1b92a997e11cb36b5bdb5d4909a0d36a663f4c5f6 -KO = fb5f331db0bd2fc2c6fc41497147836d460b8b63f784db54490890b0332c67955de3279e6d24a625c54bd84d0e85bef7d2a91bd751b7321a656e6bca1fd0bc76ba00fe0ca3e3 - -COUNT=25 -L = 560 -KI = 0ee2bf5999e5cc1c70ab1fcf3ac3fbe3 -FixedInputDataByteLen = 51 -FixedInputData = 5b942671ffc9afbb0ba1ccfaba405a01b48c9b179db2bef44197e0aca7ad6a38bca9284fd1a24c5e3be6fc9af256be5a2577c8 -KO = c2784b7c4cdf3537c302d288bd6f1b55b4fba728357d0ed986e16290b4d7a37fbbfd7dea4d388b2a08a93d03423f68382b7396cd6ec24233018e89782b5aaf3fdcc7900d0671 - -COUNT=26 -L = 560 -KI = 5042af201120f723cbdcb8ee6e507efe -FixedInputDataByteLen = 51 -FixedInputData = 972f5afc76cf8977ccbeb08de1528f72c9b0c69094040ef2d4039ea3cb07a9a12cf12b71f2d972badea423b4af034e11de922b -KO = aef1554c06395090a93542fddc348a0658657e8366c5872d20362ba89ccfa375e7317c27a21e7b85313c7d52ccb5b33575eb3bdb229cf6cddbd012cacde9e5724224470909eb - -COUNT=27 -L = 560 -KI = f9f7cdfe1334ee70190204543aa02c19 -FixedInputDataByteLen = 51 -FixedInputData = 95a9b74d5f2d14b512135032a2302316dfedfcef6745f6f420f37b55112311a9a6a57783b13aed70b2b2452cd469c4c0ea1f45 -KO = 40423510850b24c6f3b220a9a5bae33217cbbe2b2e1ba180274fa1f557167d9bac0a6e35a7bd1dae9a7bfff845650a3bfb63a65a577634a928aab67a8e1539efe21672faf403 - -COUNT=28 -L = 560 -KI = 6336a14920111ad257d0a7d3be551a27 -FixedInputDataByteLen = 51 -FixedInputData = 84e303f4602a28471a0fa011ebe19dee80240ed0db35153eef06b74a3b5636911be69cdcab0a17018a114308344fd54eee7523 -KO = 5a46105330c13dbc942561dacbe34c91c605c344c682d1703f3b968a7d8bc18806361a4d9a289a74a631c1fe82b42ecd3d6863d119b81a751de80060fcd167ec0a42adbdbada - -COUNT=29 -L = 560 -KI = 36f4dcd0f834f135878faf491a7ab397 -FixedInputDataByteLen = 51 -FixedInputData = cb8df67176e151bcde1346b72cfa5944a5c783636bb0c9298f742da4732d244147ad5f8801c74eb0678e7f8eabf83828f82558 -KO = c166faa44744f35741220ed6552f3c0be3a7c1d5229d176cf3e58764b430c7fdfc7e26599f778f9a014ef27d9cbd89b56c650b872ab445b3ae8f0ee86ed1796ee700d3b52739 - -COUNT=30 -L = 1600 -KI = 2420fe89af876704780f9b94bf968c7e -FixedInputDataByteLen = 51 -FixedInputData = adafc58c2862b1b2172a1f02ae4d69c38e5b47121bd77e4e26238cb2a751d215112225072512d3eeb252a2f91c080556289e2e -KO = 28548878bd4d37f02c69b2611ddcb7012b536a5c054f9c017f8b45e2d1da10053a51645eddc33ae819f1232fecfc74f615f165b3209aaf2f15d9fe0fb1038f42aa2d7e5d8b4285f4eb9acf39afb176dd3211f9640edcebd344155af32ec98475e82aef438432ce559a9cfe9cd7ab071b3ddbedaf833a23302feb3d0d9d2b11c1f96c8eb3eaf17bf4d37cde9426260b8c3467cb88a5a733e4dc3f1e13d069e5ddd55c369654e20bdfa11c0164def09d486336fd81cc76d03c394ae9161a381db8d9d707226979f000 - -COUNT=31 -L = 1600 -KI = a6538e413b15323018d2367e761a6660 -FixedInputDataByteLen = 51 -FixedInputData = 35c0c2488e60c0c1e6f1492ae1212565b566e9c6575969618adae153584adf021bd86b5c47c2dc1de6c58bbdb0062ff2666e13 -KO = c1c7bffd61efd04733aa145008d600c88d971369327265bdd40e83d80824414524319ca51fe675d420553c868d1514f9fe2b7b8076ff91dbcd75c656714d560032162096cb2a1534459c8393e50f95fe17162c4900186f5c03b2c8fe43c6dd19cfc38962929b1041848369b1e2de82cbd9ca388f0a6f3537b1bec79fd29ab5c847d5785d72c3876cc42fd37b75ba9b5d4fc645d50ffe3f749d14f74477c32802c6066d911b5bf1b9be9484398eb87801f8781ca1cc02c9020fe3b3b1090afdd72afce6a4ca822b6f - -COUNT=32 -L = 1600 -KI = 2311f0401c3aca4836a6989deb4a3de9 -FixedInputDataByteLen = 51 -FixedInputData = 946c15f7bf1ae96f36d812b2c8aee61853b1adf90ec34d0d798f9d91f4b442958fd057676d0f7fecfee6d577c1f8134822fb7c -KO = 96a91ff003f2d0c94cc36caca3e9faf70d42e1b08756bfc9007c0248e846b3a23981b464faebc994b4282770a98a94d12e8c9eed7574755b6e7ec64d75875f9dba853d80ef36e9a32d7780c54f093bb9afc7df56cdedb7b9c86c9d33fc2a67c827cfa4df6828baf93ffe19eaa2b4e9859dea929503760d26d3b78663eb02c9c446cb30f9877e0e5822c08be2e2ae8dc0d58bf135c2c6aeb38a426f9ebb0ae87745934d7ff855712dd95103d36965ba9403ad77832904636564bbe6c8a03f05d0048fe06730ce7942 - -COUNT=33 -L = 1600 -KI = d3581fb2ddcbfdb4a303c2dc0fd33b82 -FixedInputDataByteLen = 51 -FixedInputData = 0d9b034cf1177d092d444eef8b4698ff9c09c4cba85f0d6e1ccb2cc8b0a823007bc2acf6a22fc070fb20c79d2fd926c1890be0 -KO = 97f188a0fe98a5bf2cc0c34cf5682b334f44092839c25efbdd9c4624833a6bd7dbfa0b658bf3961398de468a5ed2449ce69ee908137817e851c24c92cffa5877a284518772307f0791d1fcd39c9ad27a48462a173197a5bf4e0a83715cd01a0561b4a876df3b9444a092c26d37204782875cd102aed11b3bd846ae90f9e5c3ece6b1fdcf74ff6a7e820e41a69578575d0ca1fca5d40da99c802a27bce0691f3ee485607d1195d9206951ad500212cb58053f5b9aecfbb169b4b3ec45003f41d61f05e9cc2152302a - -COUNT=34 -L = 1600 -KI = cbebd115532efe4103d99b4d97e57f52 -FixedInputDataByteLen = 51 -FixedInputData = e65aaf05cea3a67e0dcf4aad91f216672259fc9d245cc32f9492a33de5d07c0142eb9472704e028b44d643fa5f481a300611ac -KO = d08277bc9f99413ddde307d8bbb1c830230505c11c7892ea0f687a573f668b459fa13c63e971f5c402b77915cf209f928fb6aabc15f9f487e5a3ce16c6ea515c55cf0be91c7d8bd60c947cd78ea09ed02161ed0b925545e935664afe25de4ddd25d19213d5bfa72114425c4a9386c71aeb0c3513d3c2b8908a4788a1feab49b1384b21258fda66fc8684aac9408cf8c9d4735c01c62e1dfa99d38b4ca7ddbfb13b55c91a27d0affd4d3fac1c63152ff3e59f5ddfb3b28f109721f1c9f7c1937ec2597caa6e7fe077 - -COUNT=35 -L = 1600 -KI = f4ddd827a2a596f2ff130b66335026af -FixedInputDataByteLen = 51 -FixedInputData = 839d2e21afefa5252dc1cace03d8cc010e34fc84eccc1274c4d9c71a348195fa38592cf5530eb801dc6914203cc99c0f8fd31e -KO = 84238c2a3e542c6ec5d8797a6f21fd989dac762216862e7d58e301f3aeee4452d320c4cdb10258dc97e9152b9488e53cb5941963638d87877819f67b1d2fd6f742bfa57c5f817a257110e36c1480a8b76080873a20de044298d2272ae296b624c8f41bb286b9648b46f706bd112061da3f76023ffebd2dc74061e72d5f68407c6b741e87ecb4c2c2211984756fb39cf0e432128a69deb97bc88a873841e20c51bdcb214efa37bd4a94ebce4faa1fbba4011a2eb84f6b19733233d75a6bdfe2752e7f04dd3c9b5e01 - -COUNT=36 -L = 1600 -KI = 39f5faf9551f9f57b3b8c2ec4d87ef3d -FixedInputDataByteLen = 51 -FixedInputData = 1286292491bec7ca44ffede2ff49c92fd5ee62d5b98cd2de3cddf69750e574ee00757743711d3a3bcc210afa790ec3fe3b6e9e -KO = e8e0a9ee7487080f6fc292a6788fd298910ba6fa4ce13412508da3725acf2c1545971ea0881866435096dab1327a3b58be04b83d35dd36226d8ae3ddeceeb822ab05f79d462d54f2eca537b87b429504637bc2fe3d5e46a52bbedb0ecb3387cae25b175faf58f64b00b50d7cb20d27b2efd1b77571e4449d6b39e49ba02cd1214c634b8e8826bf8373c1bd3e6ef0e706a60b37cd364fa5bf9c8109a047f58f41b82d7819a9c70d8e146df1631d125a13558d683338b91a73280c8c694622824adfd97cfee4d7d9f6 - -COUNT=37 -L = 1600 -KI = 142bbc6c4c643edf49d50f01f3e4cefb -FixedInputDataByteLen = 51 -FixedInputData = 3679c84f14a90ad27338dcdb2e2930ef65466c81ecf66300ecc770202d4b9a0cccc2b56bec04abbeb4c621918b6ca6875bc97b -KO = f506233cc4c02e604dcf171fc20099d9acade76065d514d6156ad40567157f1d484cda6a9caed0c43aca5978d3bd160f2e9817e94fee1cd1e954352291bc11105d2daa918e855c3e891036b718a56780fd17ae2e0cdd3555887b57b7b6ca11c067f9a313563b305c4330c07c298f0f38b35a8244fe4ad8a1f49d687b69ce255aacdc46afc89272fbf14590e919d63f4439cf50ffa9f3980994626f5a8576db712d3488fdaab3e9d5b849764c3452d209b0a7b819aab5349205ae4908b9be240a63412acbd996a50e - -COUNT=38 -L = 1600 -KI = 7bb837b6df2e27f742d44a9cd14ff998 -FixedInputDataByteLen = 51 -FixedInputData = cc5961fd5ca86459f07ed1d9f6696fb30f959d2b8c781be988e54558da9cde39e87029aea568a46dc89163e6e4a6264d72852c -KO = d91babaf2713108c1fa4d9c9f76f9aa27730b95e1b2665cb9b854e237803cefe039fd877cdc0b266152b4c9fd66f3be5a3a82117ef7a376ece652b618dff926f4124361301f8ec2833af745fe362b3f922e0de27afa0129156da959c6844215ebe3ad8c2ea27f80871f04924b2170389a4ba0cd7f0d4602f0b6e9247cbf50b6bf85ea31a0393f1339ce487ff246f54b0099f69587996329901abeab0bd29562584e8ebfddf496301e554a9844baea4e1e1bb13d7a3aa5735ab7a35bd99641dce9fd805cad5e23f02 - -COUNT=39 -L = 1600 -KI = 5887100c50c2973d21228483da6cdd26 -FixedInputDataByteLen = 51 -FixedInputData = 7b89e61fe584f5fdce7334c8bbb960ea9a1ee0d2f7d0b6271447d1cf1bca0fae7809ff09cbede7ba5b7744f0cf5ad22ff8dd1f -KO = 76a3023d61deb84427bfc54e34c526cc5eb86f503987662d7d3c765e9a54f541516b2d01a88791507a5efa69398732ee08fb8520859deaad22c6bb1f2df68228c8cf27672e42893c04a9f19b478429b0cbfb1fb62002d03969f5ba0b403b05e97facc1415e05c0019c16d82f2586fc66ab2602ceb19276186b3020eadc6d4ce8cf681700f4202f90cfc3d86f7f100478919cabb959eef3978b160aec5baaea961ef2795531bf115501388766a3850701983dc3254354a4ca10f1690d7f5906f60b6d91c60dfa7893 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 8930ac09795469bd88039603b4f4b51e -FixedInputDataByteLen = 51 -FixedInputData = b16d1716610dfb69a5688c6236cdf96401a7af56ebb5989157a9e1b661484411226f743f0422d95e75e4b3d1c326f9b23ab50a -KO = 4334b615e3b19216e5ee3a98dbe26b124f95d1f895de7f7b53b8cdfb0fa8a32224ee55238cfcf47a1124130464febceee6cd32f1861fd9d0a3311dacd14296c6 - -COUNT=1 -L = 512 -KI = 7f6628a4eaaf88299c2fdad5f9806360 -FixedInputDataByteLen = 51 -FixedInputData = 011e053758f485ae111dafd4c7a3a6b5a644df4fef345e2184408077f7edf7614789bf8ef959ef4c7fb43dc9c2272953353998 -KO = 5838ca1cb4bae6550c5cd214edffdf33e27b0bee858fc23596e0c224ac27800bcc353f5000152118fa378863ecff57965921ad7fd062df1939ad37609c584ee0 - -COUNT=2 -L = 512 -KI = c2ba63b6c1c6ba7047b64c946b573dcb -FixedInputDataByteLen = 51 -FixedInputData = 64dfd914783dda8f993ecdcd42463e7fc28bbe0d0b2621c6ddb47755981226d3cfa871accac57967ec7570bdc97414771cd911 -KO = 8d34445b49b74c0079e3232aac519642ccaade1c1587b750d6f7760af882bd192d5751a1264b04df8110f84e954d5e365a82ba7d4d75463f172f3a46817e6485 - -COUNT=3 -L = 512 -KI = fc805c5e523511a7bd8e9926adb7ea20 -FixedInputDataByteLen = 51 -FixedInputData = db3b5c2769d1898040a46ff4418d3e93122894e2bd006946b01330eb13576bb2bce4d5d6674cd5d3f8c55a312ad6b3f28a2b73 -KO = a5a1cba287345638f0f525c2675d5ff7e1010e3f744e8737ea588eebaff5a12deaee91ea24304f877f843ea4803aead17df319c51f511e51c491fd27c77b5115 - -COUNT=4 -L = 512 -KI = 481d013588f83c3c1973e8b3e5b28dff -FixedInputDataByteLen = 51 -FixedInputData = b0eb8b4139467882f61727aa05331c623ce68e0198d887a96f1a0ac447d48ae52adab8ba3d49114a8afb1d7d7420dd0f7095d7 -KO = 52d51486b4b1c0df7e3e9aa32ee3bbd1bfa6eadb64b92d4fcf2bd4cf3acc0298adc901e7f2cf96a06034d023bd1cb9665c7d290bb55d81424511b758c42b2f85 - -COUNT=5 -L = 512 -KI = 1b6cff6fa6b9f857fb6a1218a61a05f4 -FixedInputDataByteLen = 51 -FixedInputData = 2f524731914e1db68a1a95aeacca68da2d85bfb55671355f1093b689ee854f2c43d2dad336ffb1c6c3d149334e321c9509fb90 -KO = 083641af3f87f16602c789114e6cab9b57022d9b461969437664f8898c8c91700b367058bd018b7a60c4e024373120dba77d9729957ee91b5b1667211656a6a3 - -COUNT=6 -L = 512 -KI = 858b60cac58092c17a530632d3c48fd9 -FixedInputDataByteLen = 51 -FixedInputData = 350907b188b514c305b229522b8c9cbd519b0353c3cb830e9a3f4db8f95150e87ed649bffaf2ab4463eea762971304c882db99 -KO = 7882a3ada8a08cb1304a11cdf36f390a77870ee6443fdf6810b4d5294dbe50d05f23daf734fcc14686b7f440c60a100a572a0a0171f432a479c4b55168684d75 - -COUNT=7 -L = 512 -KI = 44642145a4c085a21191b7d2b084f858 -FixedInputDataByteLen = 51 -FixedInputData = 18b14663b086d486132601a7a878bb6af9afec8a1d52f8773e725cad15119e582a9892f6326df6ca76fd78e646b5f8e422ac96 -KO = 061a0f6099df8514614d35ef278081850676ee04326b5b10271069e9eb3689712e2dff16161a60eb38fdeb9d1166c019420a87d51ef4a9286551dad152ec1125 - -COUNT=8 -L = 512 -KI = e0887ef87b4dbb5f5f0fbe40688fb9ba -FixedInputDataByteLen = 51 -FixedInputData = bc985943e818df057c3252135978ccd22554582ff725a9fe11b02346397162481db1e59a1319c8b7712f14fa18bc158f3ba3c2 -KO = 99601fc7bfd027e59e84f4816b0f30fba75497c8f57517d8eb95aab4f243dbc065432bfa1b359b3be1faf9aff9c1ffd1c87a046ba931f9389b96aeb99bce76ed - -COUNT=9 -L = 512 -KI = e7d5729a728ad788695ad37876fe5fbf -FixedInputDataByteLen = 51 -FixedInputData = a0e39d1c9b8dc26c3612f7ee84c1dd60b96a2dc603d6916f1f233336739760dc625ae944558c047699b6fea14b13f9b43b4dbe -KO = 034e6b829a40a0887bfe932088f55264301cb06c130b089f4ccd674d2b8c48620f288b322fee7d2323b1083b7d56b0efe62a0ef5c4733f9d5f1d9de9ddd94f1e - -COUNT=10 -L = 2048 -KI = 0b8ccd5181d5141d00d1a740de0f6f70 -FixedInputDataByteLen = 51 -FixedInputData = cea9bcd6fba716c4e5537c3959064550f891ebe269df3dd1021a3692df8fb70e9816924314e8c0d4a3a3e26e5e537040254aa8 -KO = a1ba0902eec1b1af306ca8bc9392f2a114d85bb2fcdf9b091b2f225ecc63eec4714de761782dcb4947001d4a76c5975a9ce6f62f4064f96a8188592ccae009356d08bb1c3ba54f7214bb78c63a9042ae11e34694ce5a07b59db630b9a0de1999294072359b8a094c36aae352daa1e1e05e25cfec3ee25fa9e4c1a8f157cd9ef8fabdf71e38cc8995a3379b1179f5b73a52d2aa9a475decbb4d898d9cdc4da20b2a598664b95f67d50e258fa939b08d4128de5832918b8d4dfb7c30ae28bcf08cf1f40fcd48a3a5e2c56f311f8a9cfd944f5a0bc5fc1594bd825370324605d7065cb51c7ab0f4707a0c3d81e06534879e1e7d1eb21059e7801d4d298110142b70 - -COUNT=11 -L = 2048 -KI = 9053273e4b3c936386c7e1dd96ceb43a -FixedInputDataByteLen = 51 -FixedInputData = 44f326023aa3ef82e340e38585f9cfd40615538f0eb9d58ddc2f87ad2bbefe71867de4b97ed647a83699f5ad6fb4ab7e33437a -KO = cca6b2e6e280fcff57d494420992ac44288be04e95d9f9bc030380db59a741a3c70685b3aba7289849cb1ac3315efd48db0f50cdad72640434bc7e85ca5176894ef2994ba4eda8e6eb81e7ec3b49caa835a08dc7b2262aac928b85cc050edb4ef2c194828f7318a5882548b1f12c4de9e1e62b6de3004efd8e9b629e4d09a3dfa8aa729dab995b36189649b192ecbe7485d366c10b8d38483c300b559b7f19653d25b02e0e2606c0b894ecd98e091eb3c1fbb304e9588dee9c2813063bc2455faca7e5293e8dc63d6bc2c5a7637e54e21a7f3635b7af61f171bfec67ca3fdf4e33b1f36187e69a1f5b88766513fe5b2bd09bef04e9b15fca664ac18e3f5d2c85 - -COUNT=12 -L = 2048 -KI = a6c15010b3cbe1b3e57786c6c28d15b8 -FixedInputDataByteLen = 51 -FixedInputData = 8ca17d1d1f105da56300bcce225273f8e7ef9255fd0b6e2cdd8df175f7758848110b4c695ece87a0bc62b004e3a34904f5b4e5 -KO = d53753d39d03468936c3f34227c32f8a38c3c58e3e5ca8fc236e8ab41294a4601b94388d0d65cbe229d1982f742c5311c556df50c7b65a6d4c5e37d8c6d47eb45d93943d325e52430412695431b8a437b5fe66c14f3f3da8eb423e48596f5cb8955a1ff84fbc23939db53199303f07e5f947bd2399ad5d38000ff3cad8cd9da9b3a69c83f047bc43d88b216481ef199f573eeee53137d9d0e9a68106e21f1f0686df19b8e4022bdf393b9eab1d107acb5fec3f1c6143af894ca2c766f740bae333ecde10d8e0e4d07029feb81e05ebcb1cb94833cd4f5340782267880b14086152b4e2fba916961e072db0f7eaad13213ff0edf22b7400147cde35d8a67f15cd - -COUNT=13 -L = 2048 -KI = 9e95b1aac91cbd9927956cd32be9525a -FixedInputDataByteLen = 51 -FixedInputData = 210299e18c14ead81be1740b93f237ec0ee141dd90155984875b6c785d64d5a76d3631107c497d3b2a37bf0d97022d3aac1c3b -KO = 9d5fdb84727cab37550f1e0d8d5568e7f4cce54e92340082fc8713229e726421d0bba7f475ac79f68842d3ccb9ea3b24cf0f645b8f9b983cffc19bca540e809c45167921ce3137f1d42a964aa8407335d0e76aff4e090c772ddb98fe6b018082084f77a29dc0a80dba16a4f9ff7853745860668c76dcf5a6e9bb03d4195498014a99e2747930cab2ea6b97a9799022bb30fc19ac74b47ef52d17989cae4254958b7554894518055b0f33f8c1d41e0d07d6c46fe2bbf93d495f3d73f344fb46931d19bdfb14dc1916e4900882572764a28ce71b1b1173145e2ee4d01611363e9724385f723a93faca97249368ca2be9183fa83fc70a79bf3c65dab8e1af6d35f0 - -COUNT=14 -L = 2048 -KI = 06bcadaef460c1a8508f6f0f4c729135 -FixedInputDataByteLen = 51 -FixedInputData = d8a37c286a82fbb9da6d35e2d116640dc45a21e6cd7e22689960480bf172d6ae1b0b982075a3be88d2a0e1a3cbfb9cad133129 -KO = b7b174754d0d32476695ae60377272df2ff3488d3d646b2dddb7a52f77152fc4defd7e80f611ce6906a735255db36736eda685e6616d6c50c171fe4b4315ba7c1cefa55d06a76dc42c33e47c1a2db45ef376aba3c7f11f569ab489ce687186970c5d28ea7fa7d93a3eca336e2ee54f91924c39003e245c78f1b187bb785e81635471f09daa29e8e937d51dff53b38ceb253752818c201276b525a79655a26cf3040625e69727b5e922af829481d63870de806901272c21480bc850b75bac579a4f1c5099836367a3f62d8fc6fb4bce403a5ecbab90fff53b75d721447d76868b63741f8d78cf92550110e5dd1a220999756a0d67d7e626d7c0159b1a0d86db98 - -COUNT=15 -L = 2048 -KI = 99f458ea0fab18051dd16096d5f22c06 -FixedInputDataByteLen = 51 -FixedInputData = eab62350dd71ba7bef9bfa7c806bc24eef523868cc1fabb7c699717f26ab445105220760fa3d060de6c37fc0895d62c5baabb4 -KO = ffd001d6fe5c341965325164a50235d7287a04a9d620ed6d67a4df1b4e6d3079d592b3278694c7572bdfd1884663fff52dd135045b1024e72d00a6cb9c3b051898577ffd7e96865aa660fe35a818cd54fe3c67beca0d829091abadff68ee2f8ed0adcb5d8370811b181999bbf6ba1f909102fd4f18e23b8c8ce0e452bfe0bdba1e23f6846b0af510dc4d2042db751c06393f1dc85e475f21f8c04077dfc7681090691dc6f1c5fffb8759c30cf7344acba65079cd2d1e03b76fa6a49cc64eff38e8c9f42b1677820358556129b7f32665c1c73f0e881f37b9939138199da96b3cdce17c990a369e930c39e3e6b88c0ea6832451d081923d8ade3a5f8561623a88 - -COUNT=16 -L = 2048 -KI = 98761bdc32503afab0837f363df6b5c9 -FixedInputDataByteLen = 51 -FixedInputData = b98553fd66694f2e7f7d0bae0c9d6f11cb762c25c8142c511dec3170342c391f7b5adafc8fce41d495dd78a5c85828bc92872e -KO = 63e8a011aa0e3fd77ac961d524e112b37e6faf10d042a934c8f892dde2e6d968aff179eb3dac96c57f668db10ebf1325b8c2951b8990f86455024f88d7b55c1fd7c4eaf707b4945ebedd53e0055649506c201c9771f636bdb62f8d49a27e9f46a834a259d8719cf6d7f19e5e85468cea83dfa14eb2c06d247d334ea40179232c5d9505befaa9f43601122275f46d7b8a0d97b25556382c660c78052390848e44b069c9fd2c98e3e4a0226e32d3d24b87d5987d32ed48b84f021e0c1a515d7f131c62eb454387bcb26a349a834b631244f4b3e9664410470067b376f5abd3e5ebc3cb102bae37de5c64967f8e5e2ff892c3901dec9c95411ff194d0abd32fc25d - -COUNT=17 -L = 2048 -KI = e0d1cfe49f050762dd04d6851d402ea0 -FixedInputDataByteLen = 51 -FixedInputData = 6e550e9c486f8c01e8b7cb73750f4a488c1ea8e09fef0787c80915e6d7a679d8ad04b2e777349994a2b8c1449c11257fa06668 -KO = fa58fbf312c8a1be8de34aca34d2faf700d6adf3c6a8ad5b0efdfc25a669d8a2c13277f42b993a0ee184d33f6383080d9741f001ce1d2b9bebe1598df49143fb906ac1b57d77a3b9f6c9ede2279e0ce0bcf561b4fc15892af00230b0aa43d34cd3a83e4bd95f2922725716ebd32ca5edb3d587f72c5b927888e94a1c798bb929ce8579a198da6076c7035ccfe30525edab5bcb7d56ad849a63002df318ddd97224d178f235efd1ce8e616dbb1a06c944a1fbdcef1f6aa3ae8104525355f9d1a0ccf336deedbf907e7eee6771f7fd663bf1d7787c2c40fd56c7a83b043f5346359aeaf9bad83d81a7c70d58062ef1d26dfa976f94e3b1441df5a657e9103500b3 - -COUNT=18 -L = 2048 -KI = fdef2353643248c497d661d9e15a1aa8 -FixedInputDataByteLen = 51 -FixedInputData = 243a3863ae666b47accb742a9959bbb240e942f1eca535c1683ac6fdcb63d4e166caf7221368c1ab62f18198697050dd13b90f -KO = 6ceff512749822f9f0d880782499dd8d76e85ea4f81cfe87eb478481eb8081c3b6626915f38cceda6bddaa63da2c315456da4ab16d5a8c08b88286b383df2937dc76bb9e38055ea47b475d2b8b0d877b07a8f14ef8e4097b7ba7953b3b00e8703c7d141f7759fa8b178a84b20a48513114de4017613942ad73b8a651b9382e743a311dcaecbe2515acd2787c7fea4e9f89b45d66e5ecdb0d10f156628004ba855d96fc258a1cde66ea7712bad372a72df74b73b7df0ad5ed1edcc58b0a74ef6a8608935379ddd447018ae7e72137eae3016c0d5029e9e41fd0e02ec53c35649815483d1b75d81ade5c10b4b4730663fc5b0a6b96d7f6df91dcf74b63527a12eb - -COUNT=19 -L = 2048 -KI = 8058ded95b8b219f99b3c732449094df -FixedInputDataByteLen = 51 -FixedInputData = 9bc5a8c305a09e4859dcb1ef651b10c471a811b6ca4810d413be57f125d51be1fd1812ddafd9cf3d27542e8c2b206e7c1e7b35 -KO = c3934b3c8a64180bfd7e981f2379da87829589e487bd11f48f1278d9090b384f071a2a8ce426be83ae38dffa9eb9efe9695c0227020676ba0e6030165a38f9a59f28c036605320a49b1c38688805bb7b4857e2bbc699ba98db04ca7cf5a2260fc85a0a7d6e768055abcf3ae2d92c990b2e8a495ee84a8a984afbc00686738a3dec3963eab9415dc9211791a668b82c17f5efd59cb5ee169c51bbd0ec50bd1089c667620f77b39b22ab9eba3b470399aec22f001072d886ee1bcae6b6243db1f9c33c0b7fd539b9d39d553d00263af5bfe017642c769e376b8f9b3b99038e908b8f2159fc34c3697bf2b397a1286c12fda5029cfa9ca6fd19feb358200d6b85cf - -COUNT=20 -L = 560 -KI = 40bf87799d7cc4fdcc59f01f84ba808f -FixedInputDataByteLen = 51 -FixedInputData = 641439fdc3ac0ebbd771588647a5821fde6a900eb15aea450036debe85a1d02ccc3c5ab7803f5a99022261e6feda88c2afb606 -KO = fc4579a6488e3b06b85062cfe010cdb1ba9706cb7ce48baf302bb8a23186b1d170ef820e2288c324d91bd143620e294c56dd13e4994e8c46e7bb78ffa7ebd6bd6ba6952d10c5 - -COUNT=21 -L = 560 -KI = fce2d82535a596eb02b7f0cab779d1c7 -FixedInputDataByteLen = 51 -FixedInputData = a61afd3ae1d7c09a12e4d57d94df7c238430dae335aaf90c614da7cdb5f349b7dcc8a08c3faa447159d11dd3f5c81c2e6412e3 -KO = df7ddf0f2524957ca4db8fa74c9a4ecd48e21b555306cf566fb57a544ea201e9a6e781c91a26c8b82e8231eb5e77bdb8c904b9d6da2037430133e8526b1f3c075b2fb95c0131 - -COUNT=22 -L = 560 -KI = 28baeb39aad7ae8e093beb1e037f40e6 -FixedInputDataByteLen = 51 -FixedInputData = a4f85a8cb9e1c4cff00d12471f0a2506bfadba5fe0d4abf6d78ff785af3c668937563493cde3836348181c15c76a81738cbec4 -KO = 4183e7fb76c4433d5ae2bef6aefbf9e52837313536a34d8d7ca4a50da4bd5169ace30fd6c642308ee299d27b457232fe0744299d8e15ff2a8cbbbc55396db2c32fd5c34ad1bb - -COUNT=23 -L = 560 -KI = a605321e13ea9b12ab3e88529ede1353 -FixedInputDataByteLen = 51 -FixedInputData = dd8a46e89e60e78e309eea1d74c3afe2f4c80407a8a1e54dc5a176be1a0040c1e8dd1d18f8fcab2c7dd0796fe2959c6d6e7dcb -KO = 949e5a2a194153943f56be4466f702e3a2e66c4670b9cc090ba1bc2634017f8650a29b3679c71abc4f4071a0c72074c49570eb46ef7ec69e81dfc6fca491b10f3019898a9770 - -COUNT=24 -L = 560 -KI = b3fef8cdc2c071d71c5c644cd7a5893d -FixedInputDataByteLen = 51 -FixedInputData = 570be35c10c4cfb3faad9c77414a6be9274ddde4a028cf9081684a6a7023a9bd42f918a550505f5a67a986d198179aa1e4a0af -KO = d2728f2ceb12de6b2276d96df183237db0d213207d10416343120a3064df8ba373b20bb5459d89e536dfad368b73bcc23b79d77235106cf90744552049d315c1c75485600bc4 - -COUNT=25 -L = 560 -KI = bc3de0f18a32700eed6f480dfde62998 -FixedInputDataByteLen = 51 -FixedInputData = 2fbc5ee41a131fe992ed1e463af68c161b9b4a43b1543f00fd319ffa8c68385823cfa63eceadf87ceb5b1d4e6af3f8f741d9c5 -KO = 849904fbccd1410806504a3d7c3f52be46bbf22bfb46a893f94525f10eb6c2a943aa008cb1315170819b9620d10f41190d7595ec77259e6da7faea6f4ad11dd48a8f152f6acc - -COUNT=26 -L = 560 -KI = 2a9bfa39205d7acf2a08e2bfd01210c5 -FixedInputDataByteLen = 51 -FixedInputData = 3dd5802162f42778e3d2ddba1dd9b0c5f85de89017850a84888a14d1c614f0eca6bcc1b681ca3ab53c29bd734c7df8278d8e71 -KO = 260e645a70f532ae58c0d10b6079c653e8fb24ab08ca4664e9df0cdd09d0d246b0c6d063223689c8db979563eb56c87032e7f469e884a4e5852b1bf37c28030d4d1273af2f91 - -COUNT=27 -L = 560 -KI = 8775c9cf97c894a4b93adefcbcf8ff73 -FixedInputDataByteLen = 51 -FixedInputData = 6ecc92cda1a9bcc7e4c87c4d4a44691bbf8a8183aeb43b9349fd0b400baf95f8ded680e1aebd3b7d998e9f9950f0cfc6627a25 -KO = 04b72cb432a3569bbec9343facf523974ab42d8f6be14d3fe2f50d22b55ed99cc01a0b12b019aae64e54e6f6716e153096aad68fc7f7b359a4199efe05a8ccd7eea360185dbb - -COUNT=28 -L = 560 -KI = ab2d9defd4f8333fa3d035288ba40d05 -FixedInputDataByteLen = 51 -FixedInputData = 1f1fa5937162d79bffd6272d617fbb971785c96ab8e5438ed0c432391907f373f2f5dcf1e581bcf973869f3ff12420ae47ddda -KO = 5173e0d41149082cf99c5310f49bfdbb602624c9d6b3e606b1aeaaeee7a107ff0e32fe6f9db9872eaec1809404807749ea68f2aa6c5aca688a24b925958ba67635cc7f474c05 - -COUNT=29 -L = 560 -KI = 4d77507796c34d308ee48326cd5da589 -FixedInputDataByteLen = 51 -FixedInputData = 921229254e156da77416ca49e83530c2bd71a6e5c310ff935857b53ce59bc73a31cdc9717507868e7549bfcbdd3f390bfd3b59 -KO = da612bcc98e4d69c320c75e2ee586a05ac16028e156944e90ff5f78a0422a3ec7e656233a6ca202e6b1b660a28e905d2fca439def22f3d23f4e663f992196d0ed767da8ac7e7 - -COUNT=30 -L = 1600 -KI = a0502ebd87d800bc3ef57c6a957005dd -FixedInputDataByteLen = 51 -FixedInputData = 3408e0b87f94eacd2c1f8fb44fc7a6a739877ec23329cd2774731d3a5f98c3d9c5ef57bb661b664fec5dd00a394de8432f8b9d -KO = 65fa18cf77c7afc21ae5d598f6d8524d657aa70554837bdba4e76f45731fd7f0891cf0722c20a3bdbad496b42a3263762db7fe933ba4dc2ed668c477da38caa4ee973ff981b0c299cc6b5bf47dcd00a254df7c0a5c84672e254e380a269b590471a6bd2e920de62fd3328737fc6b4f2517ff48d1bb1f98d1846fb65fce4d3e92722b21f9284024c7f07ef75c4def6a03071abb4a387c46fcbac27c2f375dd56f0d03fb32fd6e79690405b33f68d83943034be38c704469b2a7f96ee5a3af3779a9a2dc9557c27db7 - -COUNT=31 -L = 1600 -KI = 83337b6709da36c12577ef922c432e49 -FixedInputDataByteLen = 51 -FixedInputData = 1e6c8406502b3647f6d7518dec69517e0008e92f52f99e22efec43ddbc372e093c97cab153ff22f36405084bcbf44d1ff13c71 -KO = a121aadae99faaa31276ece23e9443bdbd68aa4b9c8b04118f6414a8922b44dc1c1d18ae7281a4fc7b843de78f3683b64d39334a1a96accdde81fe1734d11156cd42c63ba078242484a948df7509b17837bffa7b54002a91d95721d10788fcc9cc37cd6f97a6c50356151543957525defd364910f57ab31e665e4e00e17a5ccc02347e7c990fd5f214543d29667baeb066c1e5691489b03eab84b97ce617b6d8eeb64cae6925aa0b0a0957f53721d43db68c921d92cca7c8831adabc78bb549f9706ea5d231986b0 - -COUNT=32 -L = 1600 -KI = 01a89ee2cdd1a79875effdd2ba2d24f7 -FixedInputDataByteLen = 51 -FixedInputData = 60d00905ab35bdb77f2b3d79798c29a5fa59a028eb1dae15fbb9213516b37eb080fde3931996f94552c1801bfc4ff886bbe10a -KO = be3469930ed2d858667ba6b4fa366e2960be23f18db87f9057fcfd1447bb2d30822bc0f8506d22d6c89190d0a864ca1a547344022e850985e7875975958bae111761df89af98042471d4b3375b80c73072ff4349282143fc069391512345125c8cad531ca9b6f1941c0ac1454ce5a46b455d262de030bbe4af890d47233b36946d5a0001a01c9c34658bae1b512b751608213303bc7df062c655d36d3dfda58a4b5b736665b9a46ce33e94a45a743b11d1cd966e16a1bd51dd06734f0ad4669179de7ec09a3be159 - -COUNT=33 -L = 1600 -KI = eb0a0977586b57b5143fbb6bf3f3d63f -FixedInputDataByteLen = 51 -FixedInputData = bd3b1d8480bb6e979d51f65ac87ffc8fce9886bfa847dc271df98ee100991a991b1e85b8182cbd12b5324524fc5f33032c887f -KO = 3916b0117e92d72033c1b67c38b096c62d227189538bbf376fe6b4724a2a9e5467e9bc89223ed20ab3b91a32bc585534557c37601a72cfcde9af90dbcfab7aee37cc91afc804518ec3c26291b021d077c8597a798aa147967e68f4c9ba45cbe0da7bd06e21e0942af0b17c3e9ae32a777b92031635cee233ec93c6f55e6166ddaf98c00bc48d3aaa9b1c16e20335eb48c980128ae72cd0e59ec8854b1c821985a294d1aa7cd66027f5a1552e4bc0c2257b476c14529ceded90942c29404e03626fd6573dcd61c7ac - -COUNT=34 -L = 1600 -KI = f20f3a80dc89b6d2b67253c41f57b847 -FixedInputDataByteLen = 51 -FixedInputData = 6952cb318cd7813386cc225a961217c1bde59058a9015134ab867590f6cc473207992733e11ca5bd8f98d120617e31202d2943 -KO = ac60f66728410ff6a6087e4c30c97c8bd1d4bd00a8aa88b3f9867960f56a99d7c62970d866d6b736ea1e95b50165729c784b3644696af7b34c0bd3aa42a4a217c0aa684763ae41ae187ba0e47df9b190339b7928d73ae6f01280ebae2341781cd4fcc291ede776c4475a8c3ed7cb778a6c1614301b527f51a06d686699a95a10568d0da788d282b9cd01a3495d0f428d3c598cfba7cdc45e9206e574b6e8dd125c50d4af72a0da112298fd70140d8c836a6cd8187c5902b97d1248e812084ee8485762988855ca3b - -COUNT=35 -L = 1600 -KI = a4e0f62dad5794fcab7a9ba4d67b0cba -FixedInputDataByteLen = 51 -FixedInputData = 5b9f35795b7ca35b29aff042e7b474e178e6810edae22d745afe9ee08d9b4300216597f060f378a4d1d2830eddb9df0a318eb6 -KO = dff3993b1dbd13d70e783cebc629b2eea075b816bd3f9067bc50e3f8777453d1d01ea1c5f22d849b7c78adb071b1ceb8b84378ca6c732a88f3d8fd4639301099f65fff17416d4cdfd63ca34413d05b54b4abe351ba7d3cfae067cca9bd3763fe5998ee013f99173e1362d5701f4db573d78d6feedb2ff4d736e01697f5c9d3562beaa03252b900496aa8cce91cf2434daed6be18e21b3903240a8d0f22975713ab77236a58ec167059d44ad20f767c5878971a57c3929e21583499c3bd02e137e97f6cc83af4489f - -COUNT=36 -L = 1600 -KI = aaa8ad687229d8fb61f96c61dbd3a72d -FixedInputDataByteLen = 51 -FixedInputData = 0949271c47287cacee3c3ef3dfaf3acbe8f9888ee0c3c1b33310f64527cc49f3b3d612fea9cc2019ad05a3c72bf12221b35403 -KO = 4eb6ca0877ea4c29c4f47952d8b6bdf253db5432d2b88ac5a0ad7e314ed47a051914dec2381bb0bf07196aba5e3ee7759775a0e995ecd11d5d836bbf0f8b69854ed8747ffea446eb8936d601c180b2706f054ac62bd8e89a001a6f373d271521e613434d10a34185e2bd9bfff649e657ed6d25bb2f00183ba61667db83759cf0a84b8df9d94aca7736300578c2f0c71254e4507e076f22b469ed8fa8db9c167666fe88afd85d82a92b226cb419c3ffbf06a8096115c900a49670c06d7c3006ce8ce5e207b0979942 - -COUNT=37 -L = 1600 -KI = 65ea38e88c4e9ed8cc811f64828cec64 -FixedInputDataByteLen = 51 -FixedInputData = b11387552ba9d612d86650f4a0c2fca874ef237b7c4b7a7a5f951dc3faf21faccd7518375caf7e430598f59cac6a875e9c3ea4 -KO = bc017132d1216c12b6bee44427304f5f1f1b34e50a864497e2eee4f85af2234aef828ff9c62903bf01f896eb97057b7b62f7928b1e1c965d12f2bb0f68cac73f01f0662d81d73095b3e1503721d24596786f315047afff420e079ef46d8bdafab4c066f5056f1dfa8850b93e547fdae973014b1c92219c8d81655790ed7cde6f5ed1488605c7866c421308546493516f806a049fc34382a037812e22af4adec892f4e7f25c3f8b59eef41da232a3e1103313fdf7e4d0e4cdbfe781b6495a65b714ffd8eec4a441bd - -COUNT=38 -L = 1600 -KI = 9add2774a29f45661a3c3324248c7900 -FixedInputDataByteLen = 51 -FixedInputData = a3212c59a015f9c5d1ca51e288ce8b58bfab7001b4200e434dceb57464adb5bbcde4e9e88ce3e526c744b428039243afa58e29 -KO = d4463e494de2e27c187f4f6aabddbb8418b4e844ba81060f9c002a2facf7db51c8a909bf225cb798e35631efb69a8d76b6e53e6c5ac5ca8cf1c5a3c620fcebf23b3348470cb6cb987b7f3d96d878f693139c997602bdd59fae79f5ecf8ff71c8c8bf1e47d7acb33fe03c7933fd078ae78f828e7d41a9a67f7e24316a683be86ee0b33f5036462921d405ac8876101da9c31ea77799763cec99b66498fd192667924125a23db267af0b2d67a566d5b1580547a6e8b1e4b964a23e2575d954f41dfbb451db4f6a4411 - -COUNT=39 -L = 1600 -KI = 6b2787aa40872478ecf28068a8304695 -FixedInputDataByteLen = 51 -FixedInputData = ca43b1dc90ba373b7c753f70eb4e8f34a0d999e28ca901faa78164affe1d7098739d2881da2b04ef7fd31e8230358d1639f33a -KO = f580b0df40062b0f5b845fdf2d8528d91f4b8afde6ebd303ef54cd52ceb85c6ce8d2b5fcee7613b39f6f36b304d579da94befe9b0e6d63dbb27bd0292e0751c5cd184087e2b3ea2c77b2f30f10d3a0e5b1cc36c5d14bc4254ee2a16a0259406d45d1da992770dd2a87e7da03d28d090a9e1bcea1b3507dd4aaff10e8a766fd453a66dd3bad452468efafa23d635b685fd1d0c982e4088cbd1f2ca143b96566bceb2a33d42e32a74e8bf94a2337b67fc808ec031f926a86cbf3595e5ab6f61b284570e57c31c39abf - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 7471d957cdf99530be075e0430dc7eac -FixedInputDataByteLen = 51 -FixedInputData = 5e30f568bd443d313f26dfa8641bc4cb3200271f3ae0f035c3ed146c775cbcca5a1904901003b62e885d49e9d2f6716899d2b6 -KO = 349e02de9124895c915e49d14a6b6a529713ec44ebd78b2f5da2f59654f81a57669426e2068cfb5b6a32ad2b3e0bc3e9ba3d6a4f984d7eef118b0af11cd4625c - -COUNT=1 -L = 512 -KI = bc3452fe7b09211d43a4b07beb167a3e -FixedInputDataByteLen = 51 -FixedInputData = e64c3a0c2f0fed012c5bd122c940578eb88d2aac3eca3a8245263dae104b3e79b183cc7324cc315f2753815fc660ef923819b8 -KO = 090989775e7347556c936aeda06ceb4be397c0305a3e27f4f0906b9c2c0bba6a8ec57497d8db3f6d004af19043e2e9d6f0acaf35e403a1bd9d972742fe823f49 - -COUNT=2 -L = 512 -KI = f71b87facc568dbc4b2898a26a55372f -FixedInputDataByteLen = 51 -FixedInputData = 9b67b91b162d94518124b109e88a98789b0cbfb675c28e385fef6e3949f47b56ca028dbb4361be8107f7c29ad94f279aa61936 -KO = 419a884111e6e55c19a232551175557a609da89c7df8b2d6e901e8a848533c0495c07b7ff27e02e51a4870ccf03f5241d3018e53ab23b27c438b9f96e3e06e11 - -COUNT=3 -L = 512 -KI = 5e3b4f4f62940e39e1a2920fab2692b5 -FixedInputDataByteLen = 51 -FixedInputData = e85af065a1c5d85557b9d3cdbae92a6985be95a97bc24139250381aa290c5391b0c014605adb0b673b26c8c4ca1fd441265aeb -KO = 88a528077c3c6e600238aee9d9797690a4c97174baa4c10fbc95c47a2e5894e2adb0178dd45ea33e8ca965b9bc509e0599e22decbd148bb555c5a135a281c72e - -COUNT=4 -L = 512 -KI = 09b22a5b0930e4e6f1e4eeb0ff39beb5 -FixedInputDataByteLen = 51 -FixedInputData = 150f8b85622eec672f2bd6a1af325c78923ba327a49179f66a5b9be9414cd13110e2385eeb5c9fbfa45dd25865893ae0d53c42 -KO = 1df968d23eeb74252b229374a3731f315bce7c2d6b308da4455932b2bc28b3cae88ddb9eefd8edd1e2c4a26b229e95180be44f0ff220cf5f03cbcd151769b71c - -COUNT=5 -L = 512 -KI = da0b23619c515a3b4318cf831b8ba8b2 -FixedInputDataByteLen = 51 -FixedInputData = 6107f30e155901a14dff27e9f7f3cd688f663dd8487b2e633a546d81418f5211f0631c3fb24a3165f0c19c4e86492736936dac -KO = 5071ca7c66e26b461166ccf8e2d42174dc18bc8b91f400d809fceac6fb4e2a6b4621c452aa71eb3d260a0584c7112ed5aeb0e11151f49683b00498a4c4fdeda1 - -COUNT=6 -L = 512 -KI = 3273d521fc31c62f51505e79c34889df -FixedInputDataByteLen = 51 -FixedInputData = d4aba4d711c00529cec4151f21a879a1c289fe3575fa42d777b4d18a9cb2d6768e4174834c6ed7660ad94375c8a8c4a8c593f0 -KO = 557b9eefa608f9590766465e80fe241598552523153597a0ffc076bafcb5efaf10307835aa414feec29c6cfdc51d37a3a1a253b6cb6da48c67b7cdc9876cf702 - -COUNT=7 -L = 512 -KI = 365bf350105128c0c4b9b9455306443c -FixedInputDataByteLen = 51 -FixedInputData = 58eaee932bbecbaa730046124b5e0aa517a47ea5175ccd1f1798dad88b9c8d14113b32dda7e4561c873d322fdb6a325a385b3f -KO = 30b0342cef96c18ddf88403665e387c4cbe616cfae2f231e8681cb9b56924c0189a8871cd0ca9634f5e02e413d77eae9d813598563ebc68c6be527868cc13033 - -COUNT=8 -L = 512 -KI = 328ed3196657294ec17e7efe2dcb8d39 -FixedInputDataByteLen = 51 -FixedInputData = 35bf53e1d052adccd0e551996b1091909180b4a1b9776445e2b811365774b7d32b408159033d8fc4464d979c025307bd0da00a -KO = f2cdb7795e5ecf5074e7cd834b18cf24759d5d68fc65249e37c3fdc77cf95e1689aa727682fb641821fcb29d4c3edde028e2ee7b0e51f293fec43b1869ec08af - -COUNT=9 -L = 512 -KI = 577eae7e60ca0576b88c35a1fbaaa985 -FixedInputDataByteLen = 51 -FixedInputData = 44ee44a35c8bafc402cc871859d2553894c3a10ba4f0014c4ab4cf6d41e66e0b90e51c1b11b4cb936d2cf793bc29d388fef57c -KO = 1ae78f7afbf88ebcc175839977ddadb4e9bbddc589e2a53508281c54bdec6c33cbacd17e5ccb5c431f4758d4932edf992a32c8318ce6822e68231d1ec08b9ca0 - -COUNT=10 -L = 2048 -KI = af010119c3c73dd1c163f3b239d7d841 -FixedInputDataByteLen = 51 -FixedInputData = 38a40f5744d88b8bbc2602d920e5c138dc98fc9dd12cc9d094587501d87a3968b3ad56487134a134f39cc858e3531bd1fcf356 -KO = b2cabae4f0310b79786c34e1a33b1d9c9751da1157f0d244e2f25e662dfa8d489ce51e55ebe1ef77cffeeebef53ecf7098f25a4997bf01b48c8314e0d1d921aa875d7b79787abccdb57cf505a770193d0355af75e06e9c2e0d7c0e5db36eefdce822d13b3cd0ac5a1c2dc755a25ee335e9349a8168038eb87acb9a1886862439aa238ba0279064e4819f14004f2cc74dd19ae69599430c17d25a0c1c4186fade996d4006bdde3d12e1a70964bbb02de4fa483d80e692591103a703f23199cc5b01de5065748a6b48b7f6b0f8abb5f372334359a21000add8cb0316df5ca4bf46df78a79a0308af8c7a3b4d579180536603f150928bc7253edc4b1edb3394d107 - -COUNT=11 -L = 2048 -KI = a405188b28e4975fbfd8cf8d4cf881e7 -FixedInputDataByteLen = 51 -FixedInputData = 2ceaa3afee128ed24937742a1230fd904ed29449ca7eb46ae3bedd555806d903447ad6609161eef62ea23392d87bdff3bcb829 -KO = 13116141447e552d222be78d28a61008ce71f95a3d1c5e9fd4bd9b3d434b4d577bf04921bf35e3d38109a164997b6c78dd3c15454f56750e072c9caf1cb6b766db02622da3c86c29ee2d0501f8f8a6b4e4deec5c452fb104955f1e83ddc0266dc5bbcb3ed2fbb6e6a2cdfcfa2d46db1ec14ec880716d73438728cdb060b52b219650f0110992a1eff4736b0b5e1a3141eb1c7fda4c0bbe1bfb8f8e0e90f3a741856a1b3eeaa7ea783b1b96c89a4cd31fa8ef0c3571ba4d59c6bfe4e985c5a0a17d2e7135009275808350b7a2a7cd60fe087577e9c8c26427acf356845f0bb3f8b7b2bcea02b961f44686deb09f14f3ec77539be9c319c8ba06ba18c95b5c7be7 - -COUNT=12 -L = 2048 -KI = 567bdaecf9f0c325b71c8bbe075adf0d -FixedInputDataByteLen = 51 -FixedInputData = 043c2838f3498c9648de5990ad961a4a8757bbb231aa1f877fa4d7a2078b2bbcd3d1bf018ac8b4b13a916c8887739d3946cdcc -KO = 479e0b4481f93bf9e4556c3bac42b3f16d7899414f021196181ff8aa756b5c456e33ef8652b94fdf8f51bf51eaf84521260ac97847647965fc7d8597e1cd0ac782a7094606fcfed048edf80a5531a186476860eb79b0bd60bd63d6b4aed3bfdbef517f2c03b023a3add1af8a225860984c6470597335cf58af7404902f896c9a184bee20841be0e7ffc004a5372c3af7fc8576e51ed81404cf7046f09087cd6395b6cccc70c6d112066fee8afc82e2fc1a534fd4c64831341d31e8c74f6cb77a983e3abdbfb91c4a5f27b65878f4f599a4571342da5cb202086af07f4c74ebdb8eaa4f68b0f510a28ba00a018349b486b5ea7bfc8cf857513e25f80b481ff678 - -COUNT=13 -L = 2048 -KI = 440f7336a763b6c8ce63ddcbc3feb875 -FixedInputDataByteLen = 51 -FixedInputData = 4998f633efbf97e8b488e50eebb66a097f152cc3972eeead5596be7b0ecd779919caeabbecc660ca93bc994f5aeb8a6ccb21f4 -KO = d41c463903e03157743daa52ac066b7204c39bc562e5cb922de3026e036e1c0bb3f1c276b7e3499218b9a91615cf18f43c91f831dee6076486b2972b04fab87e4fac2c89866b5747a85bca25a3213e8d999f7011664560076e9c2a06e18daff3995a38b3c7d33829b734fc1e1b485d4f306f31427ace9dcacaf8d466d95aca483cda35b867a3c77bb14455c5fa091ef1e826299107ea96ef2ef9d30724d170e2430f8826d672b0d7b132e00c916b6ff79c59b26dee4553f7d686696377f1d523866186b332745b2d4bad7173b5dd1fe6c908b8dc400c5ae8f998e6a5548d164893de732e8091f33fceafc095a92e79e1f4cf95abcaa50330dc64b9cb092f1825 - -COUNT=14 -L = 2048 -KI = 1c7726e63650090f410d7963672d0738 -FixedInputDataByteLen = 51 -FixedInputData = a358e7e08f3d10d02d181814c9e15f894ba61a508c83428e3f4372c952b48cd7acc80a3df02ba6557ed117946c18f4a3db8aa2 -KO = bace4687684942e3c0df4e100ae6acb4b2c7c7d88bae27892c7c4fa2e83b9c1fd84187ccea7000219302ab4ba4a8e61b576522a8c7c33fe569e0f554f34d78d70e0155a8c53830a75abb028b832d5fa4a95846127141a39eb9f536930496495e552cfa23e0fb441c49a79430fdd7bcf1fd3fcf7ac70ef85c70cb4c48bcd4338064454afc78380075e6f2b72bfc6bf9c95e5d90c099a7e9a09ddde36c31d375515643b95d3034dbd2aafb9eaae7ba0d8a9577c251f0d4e08812b36572407021ab9ae1080fb706b64f12f2ee470c0a055c676941d84eedcd521cd0a6efc9f1da29196de97bf3c185d352c9b228fe9859c59ea377f59585e23e191e0375f76a20cd - -COUNT=15 -L = 2048 -KI = b2f73f3cc7c2cf0ff11f092d880d62c6 -FixedInputDataByteLen = 51 -FixedInputData = 3c29895be00cd75022bfc995b1cf64ae3894b6d6d40c0792f566756a973e6538fc080239d1bff10dafa6f32a93062172374138 -KO = 3230fb2b6fb7e8a6608ba708454156fe7e462c7a563d7bb61aa3827b7d3dcc6ef966f517abd3d2426b84bba9582badf4b9460a64fe5b215feaad88756424ed921e3d5f9e74a853b7d4661386daffab2b0b33c9fbcf8ada8512adaf230644f977faae2deeb1c711f8b3b26cd5258b8075821ee93cbc92b0bb3c8b34efcd0ad0686410dcdf98410fcf52517c389e7a7900aa1a38dbe4b70a904d6a2a8e100565d83b944c85c84bd976f3da50a12822873f8c85f70fb842c097b2c41d3537d975acb716f5899220749dab87766603b505158b1a6b608171b01c89eac3b307edaa9feb224ccd671f95f0f5330679ba0d73a16ecf5f15b4b8f3238340310f701ac580 - -COUNT=16 -L = 2048 -KI = b9c153e390440f3e1ce0af4a55657ae1 -FixedInputDataByteLen = 51 -FixedInputData = 12fa77f20d0af9735833e14afa2d551aab4f04a5e30253268be47adbfcd0491557ee557cfeb3bbe5fd6c673699611045387cfa -KO = 276f5ec6c72a1da1146627e1355efa4816add3c50bc99dfa2ff2c8d651f36a8d405019f28716398b633e3c7df75d7db55bed70837f563d2e0dad1d965d19c68f825ce7f70bff4b9719e35bda90cd008086df69d97d42452b6fa4f8c09aa4f6641f1e7a9b5b3941a921b1bea96caf2dd5e2b1e33cdef5bc4c8009aeb06335ad25a089eab16dac7ab98c0ed57ca93e08901e47db43b6c3e8dbc87bf49709b9ab48a9a5e385d4267a92d6aad5c3ab377c8074fa15bf74b6444b028f3c7730e6519046bf2a09b6dafe5c97015d9caea65924171d1e0794d3605410073865dc5ab9692bf74b5dafa847e524715d84331c6761b5786722745e8c11a072076db595b8ce - -COUNT=17 -L = 2048 -KI = 6b25f21b4eb226a6055daf4b0868498a -FixedInputDataByteLen = 51 -FixedInputData = d9c81d6a33c32776c08d5bf3ae7d2250a48e2356a57d46ca5cbdb88cd410f36b498ea0a8b11721143f23c10233e77422e02e6e -KO = 8fc8016af9984d0be26c0345d023ea0b280d4c368769e7e9726234562670bf37a190db61537db3a0529686d29ba2d7de32caf787bda3126ce6113d928b4a4447f49ccdb264fa7c6199904e589827e1aac0fa5e7ba845e96ce3e98edf7f3c94bb1df8c0854bece5b77580b652408eef4601cdb19a1e687f57882eadc1b073ab7c85a6c4670c1d126a2cc4c98df7e0d4f089e4a4a8a1f93a4d65afe9deeca05cb200f6c2155e0e696a22da9131e23c183b3222a038d631f21b5a4b98a4963ed8328f64334a21efb16ed2f637c6a60cd88d0e09ac9acfd9df32408e9fa3540a07497da90f916ce2cd24d29c79ada4706d117c1b016c126e878fff579a381caf1433 - -COUNT=18 -L = 2048 -KI = 9b8a39a6f3dbdd63f5b7b8928a4acebd -FixedInputDataByteLen = 51 -FixedInputData = ed86fcba49103b97bf4c4b3de8df488c9d7cedf70ca94127be5d5c2e29fc3b796b3502f17e1ec77703f5ba89252b73c7292933 -KO = bf83f7dcb130c6ddaf4c4fe8492bc77240ed495307fd2bd4f18316c529518cc600cf4cb2f20729c4593f5e9c1e641ada2b1fb4def6b0e4ae14cf65d7d76ccc835f8cf572221fd10ddd1d588488aadd66c1c32901d2dc32da16d00b86bebda05c32b7b657329b76c7a148399e903215aa7889f3de947ad1ce3b6e04eb5efc3a85c6a410f99f42e039bff9ce64795f79d67a303d6a1e669cb05dc08a5c967a7d7f2130a906ded3eb126f00daaddab7418140691f8ece0a8939cc9f03c5c614ae20aabb9bc08a47035c07269c6ea2f914b2e6fb78a763cba7ac7cb0f512d052bb9b804de683f3188a587b30b6d4398eaf05f56841260e785bc3a6bbdffd9c06597c - -COUNT=19 -L = 2048 -KI = ed4c9942740b819b41510a7ab7ee3ef8 -FixedInputDataByteLen = 51 -FixedInputData = 9d1bcfab32c1f9a5bb81ecb88abe96f8ce4ab6b8955308e0692b9e0661e05257ba5dfe780e6e6890204791ef4d07e28d435c4a -KO = 5ac1ff027a557fd2896af3c2b8a18fd0b11cf2250fb6722b5caaa2b130335378100f9690a34b5d46fb1deacf006fa19a9b80d822c189723bc3a1cd437169fbc6f17fb240842b3c8f7e2a18c73cf789d5b221d709e6b8408cbb329d10690e05f3538ea64bad29239a471fac6b6d87da733b17eafde268f49f0539d437d40ec5c4cfa71b85b03d80254c1fb53f9bb7078425a02fc1b64babe6ea8aa22a8265ca48668e356fe6f507e0f952c331aa1e9286ae83a09073c954f6d74513deb2ce1ac5df8a920d3602704a7aa0720da09ef70509aa1bed74d458030fc5f6cc35aca20ebe310445f90d8c65d02660d12fc080ef73592ddf3108fb9289b1ad08d6d65e79 - -COUNT=20 -L = 560 -KI = a80bc5d7db3d35a96e63fe4e8824155d -FixedInputDataByteLen = 51 -FixedInputData = d1170b0cf3f72bb5c1b7f2e93808f20e564ba592138ae54e1f6e9d9f0d4dfb25ef33fdd1436ad3378ce859958c335b554ca973 -KO = 4fb09bf0c2d2cd46bf1151ac7bb625a06f48372a8999f65b41c1e770af88f61e64bfd2e290ca60d2c2f67843b17faca43af3753d443dd4197762b03b0bc65e769bbf1ba22fa0 - -COUNT=21 -L = 560 -KI = db3fc216c4a4ade15685b2aecd0c3132 -FixedInputDataByteLen = 51 -FixedInputData = 7f9b5bd6fabdb789c5ef287d597b48f19c39d9c8037094d8f93588324a7665239f6dfcb6689f85c80ee6a12e647b42300bcb36 -KO = dbc75451046c8a1e147d5b3daf966603c87d0268dd85274485333d8a8af505ac93541e9c70240666d1b983c1ac22a4aaa4357da35b040d706adfc121d4413666979adc35db19 - -COUNT=22 -L = 560 -KI = cfa486e6e8afe8a5da6f099ceb44ef75 -FixedInputDataByteLen = 51 -FixedInputData = 3ada676562968b891d9c6a3e71cd7b9865280f9fac2595acb2a42b72a30f74f06d6015af21c98546399103f7a8ea83b206abdc -KO = 0f5d4f321d1e533650059b43fe2997bf788aea194eec90ae56557cae7242cb28a8554c26ad1f4e277f401c22086f4be181b675e961d8371937f977abf74a0eb8ffa1d99d30df - -COUNT=23 -L = 560 -KI = 754c51a5a0f8cf2e5130aced049fe247 -FixedInputDataByteLen = 51 -FixedInputData = 76da387d8d9e15f82cb92f3f5fd13129b96229a6b6f249267fe99f365e406b2ce7041132df64ab97ca2b79506da1a2648d92d1 -KO = c229f0ca58ce61c3a1b5713b28cb4728dd67bddebb79936e41cad3f23bb95506b723838f9eb88c632ecfff21bd2f1b612b020b660122799e729b856d56d07128bbe733360644 - -COUNT=24 -L = 560 -KI = b95081ec1da6d7c4d3edb01970c6b978 -FixedInputDataByteLen = 51 -FixedInputData = 414bd4618612459b98129c40a53725abbd37eaa652ec9c91a1762bb5bba57d04aeea228db8a01edabbbd297e14409079e8a424 -KO = 13683d8f42b71f351557ff94addcee25cbdf5304a7c0d1dd7a106148b427ecb48b9f696a93e37d49ee5a238423e3ee8429877537bab8b4a113d59e7157e8160e54d4ab426ee1 - -COUNT=25 -L = 560 -KI = 2b7c0f13e2f45f885451163e2bdb3967 -FixedInputDataByteLen = 51 -FixedInputData = 87ab8ada833934093c0267898c55a571783fa51fbf94d4eaeb97326ccab92698cadc812d4d7a9654d7a9806a8fdf354783103b -KO = 17ca839c366550cd89101c16caa3e1bfd11505481f1f9022d342dcb159479925eb3cbdc64b195beca617dca5540d66243e3259deaac1300ada92f67d3b93faaaba1ada9fa330 - -COUNT=26 -L = 560 -KI = cdfda1113a2d66966d89116748aa5b6d -FixedInputDataByteLen = 51 -FixedInputData = c7caf959eb79b6d3e347ec0fa321f5bef7545db157da9b5ee005ab884f714cfab625ce266c7c62bf7e50b3aca08200a2aa455c -KO = 26a63c69205da5142cd6f2e2a10e9515fc2ff4c0cabcaf8223c961e40530b78fd378a9ded7989d373dab76f27d23aad07608a63426449d6b0e03921610e6a40511a4b78ec2be - -COUNT=27 -L = 560 -KI = e35a1633d513bc3207074faf2c5d51a3 -FixedInputDataByteLen = 51 -FixedInputData = 7b16d3b92818dcad483bd7f3158a4e3c4162701c99d6b49aa91ef9a1f96f005010ff5df8929f5ff622db5ec0c83997c419a8f5 -KO = 789f719b688ecbadbb8ee5b51f7023bd8e973a6a082d18fd7565aa621f3ce52d2b6d86024c63ca35e5cc634a1f7f4cfb3580bfa5bd892be378e84c6961cd0c7ead6fbc3fd0ac - -COUNT=28 -L = 560 -KI = 8f595fb6fcd529aa2f79e50262e7df60 -FixedInputDataByteLen = 51 -FixedInputData = 24d1dffa690a2a720a53f02a9fa23832f23b4b34c8161d01445bcced525e01304190442edc35d122d4678610695ca13dfb4956 -KO = 16366d18930a0b0c902d8a0047e201b41ddf8b9e0addc1daf2c364b44011ec0fa3b2da5e02f456f5d93658b86e95ae705e7e80cf6faa04abca482d5b9756dff2619e443452b2 - -COUNT=29 -L = 560 -KI = 2c218cd5547d73b68ea1c4bc991b6af9 -FixedInputDataByteLen = 51 -FixedInputData = 2107d187403a048289ddcc197feb3a665e82c3c1dc2400c86b8d4d3d4482ee4f5f4d78c564e6126aa8073a485a5178a2bf8973 -KO = 3bc67e8d67f6963b990d518a7ec7e52088b38dae21f69caee4b232f972721367fa1177b8d93243305dcea405558293b798288ea134711a7e31acf71ece7091854364b3f66a77 - -COUNT=30 -L = 1600 -KI = 00c9a73c90b8dc9902e411ec9b608541 -FixedInputDataByteLen = 51 -FixedInputData = c9c8c6318ab786ea073f20cf3641607dd1d9aac359cfdbf11dcaefbb22066e74517ace682c66e144b84b70e2ae2d8009932d14 -KO = e0a36b861ea5b7f7138a2910d24884bbcc346a9d585d5163b2e79c379c4853a6133d0d1a4e1897848a09ea123643c910c053bc77a527a0aa55a7c4c7c500fda29097d6ec5b2195ff517a11882d1eea11aa583078e1ac9320d374b56215687b1123eb6eb8870b80ce319b50f4a986aca88d26a6d84c9070cc01513b8d9ca670cae36d39bc64613ebbd113c0f9a8ec8d2079c88f3213b5a4abb55c08274929361f22c703b5df90cd54c96c465a942ad18e224a58d0cbb1c23a6be83c957f0bbd414d062ee6e6bc59eb - -COUNT=31 -L = 1600 -KI = 2c4ae5c9232c0ac089946fe32e3869d5 -FixedInputDataByteLen = 51 -FixedInputData = 5467876b5d4dfcfb166b48c2ea83c9a4d63394ae0bc9c8ba556c00f9b5f28a470655e77ca6aff187ddc2560494c24a45312a03 -KO = 83422db9d93a10e91df828ab33533ace9403feac78b6449e15801e62de403c0e34bd2511978e061ea161d0b3ddacd3b43df222754fcc4b7b3ecf9130efa953368fa4f4dc259f3330e2a66cc57921e9bfef942fde5534d94f0edb8331cd940a5076057bacc5ecc3570b7bae6142000914eab46711c9df61674f13f2b459d5f730a4e2cd2dcd4a95835f650c6e659a8149fb4604dd199eade7e42282c8b5a5901db76f8178caa00605a2cbc0040af747a4b7381e4e27266635629f581c22e6c850feba16a71fe6e7f0 - -COUNT=32 -L = 1600 -KI = 6c21e748669f9e8b51a9c9c739fb5603 -FixedInputDataByteLen = 51 -FixedInputData = b9d5cff912df1ed36267d8331e2fb79105596abac3dcaf6f3aa8d71db099b3dcf33f73b7047e673e400155ab03c1dfacd2d73d -KO = 17232b1686b66091c60fe3c543a7ffeef58a0736ddbfbd2e6c51fe890a00f9a40c380e597900063c2f1690a5162076daa57a8375c2d88015592e220e479b608624e0b70fea55eef875a57492f488ccb2177eda1ce281608d9dd420d8ce3a30148a6c8459c5f75ee30e8e3db7b34da504eebae7bc37ca5e4dd8de53aaa52b833307ba2eef19b4e6a596119ad60900f4bd1137cb0e330f326ff291b09287dee888453ebd9522cfab5f029b2bf18e95f3abb94f69bf927e554014a5fd0432d514afbf266268f798a524 - -COUNT=33 -L = 1600 -KI = 3625a550e5d4cebdbd47128b2e8359ab -FixedInputDataByteLen = 51 -FixedInputData = 5809a7d51463bb8d1866fb650b91f8692ed0468d204ad9e8d36cd6fdb9864c344cfcae229572708d98ce31668faec77df11d25 -KO = d636b8ff178ca689dbe12dcff38c6d1bba9b9dc37cfdebc2261908e5256749fdd4678451ffbf776dc5b7d5831103e94172bb9ab649425c3b45bb574732b8da7611311ea36705be369685b978f9f64b4cb19b5f41ccf0a80fc418ce932f8deb809c3113855d6a93cd6b95bd56cb01e50b5179625419251d530347c025c15596ca6cab1856ee9655560b53b003bdd3c3efb5b7e27c8c85683673ebb26d1afbb34eafc53c5bffb8cab74143de8a3dd588f31d5daefae17f410477549e8958862f737dec7c9df3849af6 - -COUNT=34 -L = 1600 -KI = 71b4c465b59688dae376246d12f2cb10 -FixedInputDataByteLen = 51 -FixedInputData = 41219a4fc3d4943943bbf69f1476cf36e49b1063414572925db77498228ab53b712b38be139fcf2be263b4d02db18b2a7daddb -KO = 52b290835f7d7218c482d7600db0a783bc370f5e2a2c7db5887645cb6c41a2cd781600d8bfaf76cfa0180b93d7bb41f1c2ce2d16cee9aaa200fb7a5fab277a55335335daa0dc5d9d1740e71e77a542faa79ffaad63b823c07856afbffbf73d5052e1b2609c197b4d3795581cb5ab23d4162782461f84296e54b7221ff9e51977071559ea564227d234749b34a95330e536d8d02a10d87c19f804f3e51f33bfa43c60123e9daad52942824035472f95cb40bd5eda0fa00db2c7bf43ae0a2dc8970f9621388b15e466 - -COUNT=35 -L = 1600 -KI = 4fdbd47ef171e4b24d071ecd42f5efbf -FixedInputDataByteLen = 51 -FixedInputData = 6911c217370976df5d8e053df35f40994a5de823db899fe48861ebd9334dc0e1127a65e435ae4e46ce13c65a17324afaab44f7 -KO = e7f4579edf6c6378357f341c24f6d268fa38f7c0e59a2016381871950016b9d4deb2a0148d282be0497f3e1affead9c3ea6106d19999afec1049d913b08f7932d5c3f1646e395dcd9aa0efb0cade8e94e06b8283becf1a56d21cc347b9869e808d5a2b8d745ba69d42d6a747aa49e9d4323908e41c6499d358668ad0dc726739ca34422ecea5510db093f3a3055a8d924b34cce825768007a6a7bb28f14d549a6cba63aa541553da15fe89e3c5bbfab55ee9d18a09288a3c8759cb3f129fb220805256f17c1df9e5 - -COUNT=36 -L = 1600 -KI = 0ab045afdc52cbdfea80a3acab84958a -FixedInputDataByteLen = 51 -FixedInputData = 9fdd6593f9fc069fd575cd557e6ea777feccf7165a9abf209ef910d2751db0c9136bc0534501616a2ba69de91ed8d6648a0ae2 -KO = 52c5b542276fbd099eaedb992ddb2bedadf98ac2cb4de727be7dcb4ea7bb3660f4c82ac3f1d3496a2a47226206db5b32f079d8fe87d40c500db90ebac289dc33fbe4ac43b90f7efb24df25bf305505587c786dbebf89c99e096f1c828bfbd991f370aee8b01a0b1e85d9d13a62c6da6ac0a2c86ce36f3937ee33dd2eb1499b5db6f9d02f35adb8fb824073d76cd050eedce08a2f54d0d689134863098f1eea0aad36a7608de661dfcc7d439099629d667912062050f64abfeadf5b806588a76e335f653529a4d892 - -COUNT=37 -L = 1600 -KI = 97a0fd6d68577627f330580698fcac42 -FixedInputDataByteLen = 51 -FixedInputData = 8d29aa72a2a077050227c084240768a7639c004c2838c5bb171e4e44aa95e7e3187e124157e05f5fd371c7c4821515b0ec8ccf -KO = 37184db2d409ccdd0f1e77b59c537db0f3e95a2803a5ba99a5cb58961719fd096b1f4c1f158c68309798addc985fdef7473a7122f625150e687a3a97ce3a0141feb6345be5a296062384de469f414ff856262696974a1abcc952a2409cf2e2e9b4325efe00251f6c199b0b439050389e6a4bfd5cb30f062c1d4db23f542471c54b057b2f3cf352f6d25a1828709d769681943d64704eba595b5f92e9b6575c5a0f31826922f5ef1fa696f3cbfd2f5a01259bd6efdd45d9bfd4b06a3775b58d872951db8c8585b06e - -COUNT=38 -L = 1600 -KI = 2349e2448009229d96bb94b4a22249af -FixedInputDataByteLen = 51 -FixedInputData = 2effbd0c5437caeef7442440414aa6c2f407c97b43dcc4e94afcf719202fd281600d5537d0e2f1112b336374aad08142a4bf1e -KO = 2ddfe63c1ce64be4cdef8cf5e4356395d3aaf75d9ea8254ecabee3e50513f177d6bb9528a45b5fb4b2dd40d88ffde8afb98845bcc3b5e68a229cf45906e65564942d7324750059286721d0e81fd7b7728e083f4bed40ca8bdb3d5d904419da2fd0746260720a2af6e790ea194323c45ceb8fede6da63c0a6b14034781258665520aa78b24e13b58acfd6142599f4c12aa38a0e2b0a3412db48cb7d7422889e2b5a98a92808cfa8e0c140ea462553fbc8bd405308d5d5fe51f002979059275b4c3f2aff4834cdbf0a - -COUNT=39 -L = 1600 -KI = 9c46c333630860f799ea3324fbfe71bc -FixedInputDataByteLen = 51 -FixedInputData = 57b4f4eb1b9c0ca4591b86204436ed58cc28f298d73e83e903fc6e19af747fe9df469cd4322a5673332af64f77f03dc9d01ff9 -KO = acfad17214a034c280c56852104a06af77d58894678b256355f512b3bc267c7807c648b3ebb0acfc631fe1cad659c5f508e819d0e9c6a3d6e742fcdb6d65bb0752fbd603f48039138981df92b02e65164d26bb8d0d66e0ab43a469bc1a7747b16b36b79421b4657d269dc1a9effe790c3110ffb0490b5e48102da3ce7b2d832abf298f5b2836504b188a8f4801183f090725bfd346b6d586611d2b3b6f19011ba35b609b95571ec70ce9462ebf122384d68747007434fca7c2904edf5a72e7be90c840e1391a9c66 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = e9b73ea0c0274bc3fcb2354c8c3b304a -FixedInputDataByteLen = 51 -FixedInputData = b44b32764357cff526765766211de3e3b1b87fa62c45d92c8c34a4ce84a4344005af8582d1acb0f380ce03627070a69bdf26ba -KO = e791718ffb798d816c54a4ffa01745b3e8274b63fccb1336d8de2e019743471063840d8d635da85d257dc33da7464cd8257e868377bfa6187aab51a04ba9b98e - -COUNT=1 -L = 512 -KI = 816f7b5a483b1b9cee89abae689eb45c -FixedInputDataByteLen = 51 -FixedInputData = e56a01d9d4867e476a7491fee8554a3efb1be33b9a3a29d6e365354aac45067116a2bc856a0223bf00a5beeab48b85ab770ce0 -KO = a33fd8c5c7f67d8c064bcadc87407bac3f72fe6e9cc0d833b240393f0e4a4c11ec2405258769c48113b116cb8d3a55743faa4110d495adbeac0b8776a6e34c71 - -COUNT=2 -L = 512 -KI = 6fd72f39c596de2e9bf94fb335a86eab -FixedInputDataByteLen = 51 -FixedInputData = 2755883fb71206fd78bd335aec5a1f60d9ea919b3c0a91fefd528b861b7716fe47cfb193bf844b21bc0a446eb35db35ce34cb8 -KO = ebb49569be9c5eb8bdd487219fe38bd7f6cc8615a136fac4dcfb41e6a5d19a8479ee993c2d3bed0df7d03553cd16e5e4a0ae801d947aa0426b0bbb47b8352deb - -COUNT=3 -L = 512 -KI = a125eca832a3652d892d5194764fc28b -FixedInputDataByteLen = 51 -FixedInputData = 725c5bb64154e8eb1f48c0a1d633559f8a4e5328511821cab79904ddadbbb5e3a0ee9589658f98ece283f06929207c9d6d6c3c -KO = 69639c0c424def8f8cd6b73480d50705c2094933de8da9ec1b6540dd7ed231da21c5e84d9d8003226b2306728c849c6035fc25753b9e3076e858ad3d65bf2ad6 - -COUNT=4 -L = 512 -KI = 0e0cd62ddba40a1f25653e43de4c426b -FixedInputDataByteLen = 51 -FixedInputData = 5034daf55df203214e934ecb276296afd83aa00bb0c7b9ce7651420b27ab2263186eca7f4a92c2125decc363969b692ac5486c -KO = c049a2feafc8eea602caa87567db6c27c7ae9b5586ec3dc0ea00f456b8267a6df5005b5450d5b47cf3e7fd2bc5b457664e96756f1e7b43cba766bc17f64244e6 - -COUNT=5 -L = 512 -KI = bc6192f4f45581da8b3ba68206d2cac0 -FixedInputDataByteLen = 51 -FixedInputData = a59582c98c7c28e215b3d6e2b4ee8ee33dc2b756a08a8c2898faf493595210f615efc6cf5974390befb75df5f1f47baaf463b7 -KO = 9dbab0c990d7ef5b5f6f1548a61c33626e994a329436e60ce701d3219c0298ffe7385a5eb946938c358d05eaf61ae708ab0715e5cc2478f24d0dbee19240bb19 - -COUNT=6 -L = 512 -KI = 7ac7b8587fcbdbd2620ef38326657047 -FixedInputDataByteLen = 51 -FixedInputData = 0f990f66b922ded867c111e87a26bb096189ddd75210e3faee98b6c6358dd37b3536d0bda1808c26aad39181d5295dbde8aa40 -KO = 4af0ac5120432e0b372c18bfaf75ae3f9f4b7b2b7990c04e06b35aff656a76d42d38f972917a47f5b0ac64ef15de07dc310dd4aa5da7461c4119d43b417d8b45 - -COUNT=7 -L = 512 -KI = 906eda07962c71636be4abd85993b5b3 -FixedInputDataByteLen = 51 -FixedInputData = c56ae56f681eb5b08eea2d204d6e53ae6d3e64b79c90ca0c706ec2063aa11f131ba5e57ac53def1b940d147dab7d494d220e83 -KO = 2297b6c07c5f063fd85723d252dde2ff8bb787f14aec1cf25668e09f224118dc74c6bccfbe4d64a8d4b1139d528f9ccc333a96eb92bc4061cdb80e5b1ff2d862 - -COUNT=8 -L = 512 -KI = 0b632114843e7087e9d7ea0d3791e229 -FixedInputDataByteLen = 51 -FixedInputData = ca583b449c42e073b27a74b87a676ee98319fbb3b7a366ea3eecba29440e5e17a954875a506516dd1dd1d3ce68a78a1bb74532 -KO = e049a7b6063ad345400566bd870387978d1c991cdc922242b0cecc2bcf0628795a93585f9766d7e3c8f37b7138a3467d1b7cf8b3ac6b13e4fcb9178832540af9 - -COUNT=9 -L = 512 -KI = fea1841442989d4aa42dc9009f52111f -FixedInputDataByteLen = 51 -FixedInputData = 4f7f840aa4e166ebf0ce09a6ffd81f0732fcd2f3ed74cf62db5085a29ac7eab9288ee984f36a5bc98c8d0ea234a99654993fe4 -KO = b954ba1005e3334aaff32d7de406bb1af601b0f4dc89f217f1bad3d000228b45d07c2e52a08c9ab45d9c14971ceea7d662b851a2ccb6516ee08be30547958337 - -COUNT=10 -L = 2048 -KI = c58759ced07a05ec24c0e663a43dabe2 -FixedInputDataByteLen = 51 -FixedInputData = 742c7656dc82af011393491280b89eae87831b01d5e22b3183f048c674c1f32b33fa2ad4f8f7530928a6de5e245964133bce12 -KO = ca0298d534b2fb4dcd85cd3f2e750746b5ca6d3ef3eccc02e758dea746e99a00b238d8736e45cc1597483f1ae616f8193255216200d0e0596eca33dc20c04db97903b657916ea6422f0881a29d239fd49449bf8d984e048c0ab383781ae0e030f541e8648b179566c281f13b5413677ae7cd159ab96dfe87bad8fdc347cd226c82c50a79f640d89854b43ed758890149a4c555246e24a276b7feca5526ce1e451a492b71d6c4fe53bd6ce65beaa78549e3fc124c8cd1027b48b06c8b6bd2a3c9664e1c42af32d0d4c67a9af773036510371b203a7f1325093d64a90a4c95bb23a129cb9510c0cacbce64431edd3092bd4be301e6ed7feb9144b775d9cd6e57d7 - -COUNT=11 -L = 2048 -KI = 53590b1ffe664fa142de7c450bfc18ed -FixedInputDataByteLen = 51 -FixedInputData = 864d5952e03ce8cdc5c6dfbe972b161a76ce229aa400ec51e4c02be540800aa070cf2604bb5a17636974c8862949fc60543eb7 -KO = 4e525c56e6b6d9ad4506d37f1d095f65c15de86027f55892f836b7f577cb58f7ee83d644f70b7c0549150efbfc60153fbadfa21966d42ae952ffd0f564679512b80beb2b88db8e57bf57dbacd22e9bbd5e6f797866ebfb058684884ae3c83a1efee06ba0bde252eacb398228a583e3bdcec52ba58a458ff6cd5ff1643bbaf16a6c4552867880e0afc60caf903362cd8a3dfe80714ecae3ff1ff8595ee96458ce80d1b22abe8bba136633bdde2bcb9e817ade4657c78c230108d83945d5e20c56cb2f1bec697a4402926237f74741ef28c39ae95a87f2fb9e45bf65dcf1f8b4b433049a140be92e340eb68639a55f6eb0136ce32cbb56b019bf5e8fb7c8cd45d2 - -COUNT=12 -L = 2048 -KI = 49883d4448c26bd08eda422ebcd52456 -FixedInputDataByteLen = 51 -FixedInputData = 61dfe9dd4a06db30b2070f703364d143a1a1faa11dcd1b917dca549c99e93650a9e6f8242b8b53b6c060c7fdcd2bc52527b7e2 -KO = d0a3f85cf1cd976e3f4217251b3d9555536c7815f54b80b23ae8b1ae95bf5403b71f19b763174ba426920eb9204d561c7aba0c520e2239a3f449c5d954b6afc2a42055b2c5c2279862f626843013ee16559f18fb71a0ab5ae6df20dfcf07a3ff8696ba829e0bf7facc48842aaacdd561d0bf455f08507028612549c60ce661115e030ae1cf9b027e1b7cc1411805e727f322ce56cd88805cbca1dbcc40e98137f78f8a8db8e7bf29bc3ddf3a4c0f114b85b5403a4fb85a3affc420b6f5aa25f62db2fca0b130d7b4a820dae8b422a05a7c64c02007d250dbf4f218e9ce5e276fc335de2265ee86bba396653f9dabaf377e7c8dde4f41303c2f6d408b0ce92ef3 - -COUNT=13 -L = 2048 -KI = fb5a5271a9fd3ba9d9da7f76096d871a -FixedInputDataByteLen = 51 -FixedInputData = 3fb6747f7032ce1c3268156e8800c1475ede4e4547d58c4cc1554dc452ca1111c0ad033715886ad2593bfe01f30f69e60eb3cf -KO = b0d0857d862a2cb711891fb709c819509480e502dd51fbaf4c54ce8b0a89922f0df4ba87657a4fc4cbe7401bd008e8ba684fff4fba625f44460a245bf65880a49a9afbdc4008fe8d70f25635ce2b40b766b4e01e2f60a9aa89894d675b54b1e6d8c7b60eec19007342ad4f6c28289b596dce221f27fc6592b9f9177f1e2f69ddec292739729a3326f90f9f65f3a5694ae3a3c0c2235416ee26d38eeee6a019cc36d34999dad8fdacf4fc3a0c6d5be5e241f2003a069950c0eca4409a5ddc27b7bbcc6afd8bab44cef916b930392707996386d8e72a78b695eaeceacfbfcb800548ac633e1ca206fd9ef77dbff6290ccd4537413ea1da6413439f24613e607038 - -COUNT=14 -L = 2048 -KI = e9bcf1bf5832ea247809e43d98d08098 -FixedInputDataByteLen = 51 -FixedInputData = 1a949c0c90e85fb51b6290064cb20f781c996bf17a36a8c5fbef1301daf91065e92c4cf14c2084ba43acea0469b299b9a4829f -KO = 134faadf890806fbd7320cf33e91df890987412d7621175f883271704101dfbe31dc9ae833ace6b10dfe831e79fc47967e695495b61dbd5db57aba2baf9b589a6701590686c0863d76857d89cdc2b7f52600a0b5e14214e937783ea9a83fa567c3a9ccd731cd11110b6d1e287d60dd12363c4c26480ed044940a5061cf6b7691e799ec21e876bac9068e9167af6af902dc22fd27f5146dcc18ed396ac70e25c3dca8fabfe59e9a88fbbd26cae2a2d201353c0284ba9da2499ca01a6bd6d1a750ad2860019afeb3ff2c0fd92c55c37123f3e21a925bf80b242be3f0b7ab9b5e2a25a13e9140667ca20a5677664f38bb3058df7286aaf3a486b2c992c5dec4752d - -COUNT=15 -L = 2048 -KI = b51205e9d390eaf3efdc97a8596269f5 -FixedInputDataByteLen = 51 -FixedInputData = e2078e43880b00cd56d737b52ffc8ee129bfcba9727bf77a77ff7f065a61a0c9ad388051355272d7166459b50a13e4ef28182c -KO = 35173c2a76e93479637f6ac9110499be3f70c11e67c21fa17bbade2088afe8e633323406f857ca844c0a3496db5a523b885987c8182c1e11cdf781d31507ee7095caaaf2892e5e01ad494ca1ca495bef33b2b50b8e879ac41436ef1bdc84c84a08ab956445d49fc732d15743f634aa688e50da5cde8e7100843b8467dff93586e3a413bdf19301efc998adc50c551212888b1bccf3071df040c1920a9690cb2917a3f86f52a2a1e2f20976e8454f4af14e397fb0f1cf7f84a31e22bce4a794d326ce48a9de21b7df51ded59b22c0681dcfc54e916895189e26a95cf695f866ee0db66672a2409e25ef9176066311b8bca3417a78d8a7e9126ea5eb1e18347d29 - -COUNT=16 -L = 2048 -KI = f07565121c66b91b30f6a985a5b8e501 -FixedInputDataByteLen = 51 -FixedInputData = 30de24f91d2ee80b1919734c9cd4d40de17218c902131f63388d09d4264973b26af9bb8aa52218892d70bb2b5dac347a951c6e -KO = 79028d6e3036acc0eddf608b58deb183278f3e2c8f1b5a51608ccaa0cdbe2fc775c5b684a36b1b63a101aa32c768012962e463d63ac05a6eab7d5d03612721df85c0345d2e5bfbd70961ff8b931721194443aedb6129d1aec08d0b8f458616bfbeffc82fe09416846e8923945db85a11b21e368f66a49121eef25de663b95a0994efe691ce1c3867aeeec6cfea87e617622e7a8ed75444edc978612364d8d7efba51e216a75b72362f891eefe71cf8a504bdd22b7c7b3bf2d1f8a1c2a69b1e7243c9acfe4de8e33c9de0104b3deaaba4bd16531b39c514ce65b6d5bada685b635b3b328b9c79b2d8da19cbb179a41a2bfb82e673154ae0dfd3fe814fa82924dd - -COUNT=17 -L = 2048 -KI = 2a00b4d4ca015973b7c9fa16fb476cbe -FixedInputDataByteLen = 51 -FixedInputData = 374b1412550bc9dee635285d7d02422629756ff4df4e2586c26af465f26ff361ddc0f4171faafca4aa49ed0bc6a1e547380f83 -KO = 46d35763470b316adf6308fe8a8331406e7a5f6c0e9a90838ff6e13bff1a9664d4ff67d080d7c04d6aa0ca595b8d0e37da427073da3f21739f7dc71957a1fbbb2cfb820d22b1791ed2cbdcf5302123b6af53f44ba99076988b20119d55d2c19b2d8a28567b1b4f2359a2a1a72003bb7a1218dc9fe04449b90f022bd135a0b742bce5d9fb14737d51bc92fb338ed9a32ea6c67885f47f2ecf83bf595787f35462bbdcebe09e41807f732264493cbd9f1e0b5c7233520d2ceee4049e5181e36c33fbc42ae96f350eecff312014961956d788a1d3fcf544213a598e1320e76c8f9d65b7e85706e17ed58230c75ce732d43f21ecf0a95343297e2fae2511eba3b8fe - -COUNT=18 -L = 2048 -KI = 39bd7f114ad1d54af110b6b1b0dd3379 -FixedInputDataByteLen = 51 -FixedInputData = 54e1cf1ca381af6d0c8e69f6b364ec7532873e1ca62ab563fa6a9c29184eba064d6e7521d172bcf34a5c189fbe61a6d9eb59e5 -KO = 5859ffc36d1b397704760da334484151bd290aa84a975510a2e17dabd0649d1fc783c738593cf44ed074286c2e832953f20155e4693217364e50950232f896a34f2911d667b33cd5851e990f03adab9e3bdcd4921b9fbde4ecba4658cd45abab701d8dd8e968e8ec051b03e16de4abeef6369204901a872bc75f527fcee54b1054790f24e703f597af7ebaff63cdeac6a9d8b12564ff7c944963569ea15ca5f002e78294ecfd898950684ca8af8496b738b9f682b8a2a95813424d2cea6f19ba6aaa65a574bfdd5c39197aac8a70d03f878027b0b4e3d9f8b78ec4273cbdc0a34c6b2d70367d1f4c68c3c0c9245e9f049270866de59c242add0252988d6afd44 - -COUNT=19 -L = 2048 -KI = e518ffb4bd5ee67184c343c025664e1f -FixedInputDataByteLen = 51 -FixedInputData = 21081393d474fcded76b8f8c7732e77b4ae019d66c51ec98418f7edd3c88afae846890e4d84c76d410681afb184514faebbe73 -KO = 9c700afac08b7220f52ece2297478f4b869c5bd02e995532ae14073a86c17ac126376abf714b18b31ebb5e6b0210feecd69d5d754fdfa34b46af013e70d1da5643a752fef995d58f397a73be9dfbc48268b94d68c414dc3dac69d8708f3e590a3974028ede16ed68ff3cee16a69a722b2bb0ba00328c98f9ad605f5773574064af71dcffad36a29785567a45ecec7cea989e5b7d643266d07019572e9a57674db5e2ac8e866bfc07ae6479eb249ac0948e3e5de67c429a3038d3cace8271349b1efca1ee7ad0fe08323208258c9fcf980e78c6268501fac4c9f9fa3e249d7914aa01f20647e795e4399c12e5fa85d70a65aa9d86e589bed48bcf6dc84b6bacca - -COUNT=20 -L = 560 -KI = 0ea1879dcf94710018ab1c4d1d1492a7 -FixedInputDataByteLen = 51 -FixedInputData = fc32b56775aaf2cbc9b65eb0b05a3e38ab631a541f57c3fa7cf5770cf1f688be730373d71d20585a209f8c8089fe009525a842 -KO = a3166b15aab95d882cf4a9629915e8d8df9dca4fdcace69b184104ce4bad1960f57b5f110d870f735e063103f72bf6b30a7376bb9b15891d3a195c6ba5685742b652c83e3a91 - -COUNT=21 -L = 560 -KI = 4ec1ba0d9f9f6dc61912374ec640daae -FixedInputDataByteLen = 51 -FixedInputData = 7e528b96164a430b580777d9fe8e0fc21887bdda6f7c348fd41e0039b69ee2af95b1c8b1d63ed1e2cdbdaaa6733ee649aa9e62 -KO = dcdd776f06a477704892fc2a817811d0875d6f5a8ca6263c91094d19ec86c4be7ce12526016b9a2423d56f3d7d4c67a5d9573e0e1b120911beb4d1e7cae96ffe28727f3ff11d - -COUNT=22 -L = 560 -KI = 4deab62ecf1971b986e8410bc7960940 -FixedInputDataByteLen = 51 -FixedInputData = 553c38c453fedab75ad6cf207c0c72f3478101ec8ec14bfa7da07aa5e58bfc24e65e19da9f12c25309a4ddaa2c0ad6fdfcbe13 -KO = 34e403de7b67485c14da8728e2e20f7251a3286b37cdbc1bee4d5f3711e18a894a880daa5b37195a023794cc99247bf045b68f7c0161ab7b41564647f4115455fd50f6e0975a - -COUNT=23 -L = 560 -KI = 5ddf368223a2835052504c89ee8d4b5a -FixedInputDataByteLen = 51 -FixedInputData = 6894078aa6ca3caaaf18c5ead6db44fe92bd3ca44c863dcb9374853313f4de9f04a29b599e3c4fc1c3c4e0064744bc4a3ecdf6 -KO = b7f5717db0bab62a20d268a9ddc8b9af7403219e74a69b0ebe777592ab4efd48987887e5a9a9b4c6089842ea467c61d6f89a9526f265a2c8144225af884c7c71c830a298d581 - -COUNT=24 -L = 560 -KI = 970751ebb88f1d0ac533a19ca70e61c3 -FixedInputDataByteLen = 51 -FixedInputData = e967b571c0efb372e2aa6304d9186f7b9fa1b5db8dace65a9b6da8da08e549335937b54e5ddf4f68bb9f6abc06044e090d208c -KO = 3ee205181320f0eba25c146cf02202aa411b91afc885b2f1f7eb64fac7d32d5e9a583e941af2c07207ed21993a2ed6dd7b2909db50737894d1c541513049c1263d4c10fa458f - -COUNT=25 -L = 560 -KI = e0e62c3bd702d036d3ca24065eb97693 -FixedInputDataByteLen = 51 -FixedInputData = 726d5f90d43d47281bc23f1f1840643d88f25c0325b06cc63161cc315f434c028127ba4a0ccd7e9c198625e10a4c722e321ab9 -KO = 2e6d20b5bcc185950cd602b4857555badf35ee41e033b9b974c2fd6ac2da2fc254949e3c322609fa5e39cb680b8a69ed4b18bf598cab5779dc932eb7dbe7c9decb9b3ab7d600 - -COUNT=26 -L = 560 -KI = 204ad584572104b8dd7c19a4a8d1a46e -FixedInputDataByteLen = 51 -FixedInputData = d768a23832feeadf746609db8a3d6b6c75d1186c946f962209d933a373592047040751bc7be35d2b571a58354f892a5c186837 -KO = 2ff35f16ab520e548c56bfcafe9bc6a526903da7b8b7d9129c8a584ef3f669d304d0597f520ac18b8e57ba6b9a2233fb501e13ff50690ef5024d13319bd19a840cbc2d936ab7 - -COUNT=27 -L = 560 -KI = ec2c88c202506e14351ff22af8aa2b6a -FixedInputDataByteLen = 51 -FixedInputData = ffda1da23884ddc0ecab96f2d81f14a7fe5640c82e044d62823a0b5e2ff08b50f5d95d3ace5264acad5cb3a20ec237878a3bc6 -KO = 811621da852558aa12ddee9b1eb3b289464e42781741893311dafde35474e14c1b3cf5c20f30fed40c6bfe9153774e25d4bcad32502f1113ebab9713f6c5758135cfd92fd484 - -COUNT=28 -L = 560 -KI = 8872b328ecc36f0412c01f7d131b9333 -FixedInputDataByteLen = 51 -FixedInputData = a85c844c2141032ab86cdb8998bc7041445ab46423d35041624dad13c0544867cb12b471b17cdf56cb27e069b135495a41d900 -KO = 7ddfe3364dc4b6ae42fdf135878010c6d2fdb5553e557526f879b7912da196c93fd592de41c4584239f01a4c9ca158609bb8f7eb7128f4bd3d148f0d6cd07ebe01cc4ffa94b6 - -COUNT=29 -L = 560 -KI = 15e92456d64195278ac17e0db6cfb427 -FixedInputDataByteLen = 51 -FixedInputData = cf4bd9c13ef6df9cc9635aefb4df11357ad0e0136d2346dc184265c70a521690749e6b946840869c1e2c4a275619c5f59f216a -KO = 28ef8c8e649a38782cf76a355005074edf3ec53b74ab194f8fd61ba0250b7b71cf1fa5a040947c7488b4a6ffe324bd468f48d1e9752040ec5d3c31d8944a90e2920ca8bb9ece - -COUNT=30 -L = 1600 -KI = dddfc85fd8941acd433f51866c23f26d -FixedInputDataByteLen = 51 -FixedInputData = 876e864b9ad8becc366a53fc965ea741856de3aa92bb2a5190a084fda175de588d23d069a34971aab503394967c3588ad78343 -KO = 5ad8127e981e5a70a38b85ea5109f720244bd47adeafee13eaf2c52a8767162f23f0dbe8fac261e169b3304bde6f6bdea20d15a99f6a216c69b13a924fbc50b4bf75a8865e03952f3be9559750638a283e9ba4393aed4cc147d08044bda3070dcfa4e972d52e65b93f857d12dc39d32d77c40c434a17d4ca8d4056711b16c5f74988e3088495ce3852a780da46ae4c65cc78291eba5719de82723039d7607c15ca892d56816c5fba4135a816307e05bb24e0dc33746e4d1b3257fd7614c69714f2b9524969353cf2 - -COUNT=31 -L = 1600 -KI = 0f39ca3960256c5aa45aecf34ff7f209 -FixedInputDataByteLen = 51 -FixedInputData = 2ba824b17f065940932075f96dbc91ba18fd4ed6556b1e4324fcc4817e5c2cbe0609e313dfedcb18fd4578098657d2469436e7 -KO = 5075573eb22541fc2ac1da881c7785dfc18b4e46b7bca7807128758aff03eb6384630bc34a828f14ef3c36abc702084e41ae4eb43a9a8808708b8311582cc4fa10394929a6240b936470ea7f2fa160c66911257263c144050fbdd20b74d725dcd8153ebdeb09c9060506bd0ff388a9c49cb4a52b64de631e36ef1c9ec8fa95d5f38a416ae1abd74687d822f9d9f984d6aefe4612b6e2fedb47ddf5c247560be20ff5b513e5594e423ae5a110a84906267c5edc4888cae0aa2086afb391f8b839b75e0db39a136af7 - -COUNT=32 -L = 1600 -KI = 13f4dea0f593446da15b2a8e066d7e60 -FixedInputDataByteLen = 51 -FixedInputData = 439455e63210e97b712ac74b4a23c712afc70424ca5ae4110833f58ada9009294bca37bc4de9e34cfd43b17b0ffd01d6936e5b -KO = 34e32dce14055d6b18b9cedc8cdb5a5992c476c06c7081dda3887f309877d5e08047866168e968da59aaf97c479f328393867a373f96d10c918f072971356b75a58447fcaa3b2d025f2470bc74d5facfdd2a0c3301c9f69d2bf6bb55c9be3277e74f6e1d651416e3148ed4bee65090356ff4336930fac1412763202d3261c6de225cc5a4e9fb7fcafe0332dfdb5c10bd448e5ab303697721eaed740eba519156177c8775b16b3b8b1eb161a2e53148c715874e2aa8753aaa7af67ec71716bf072ff5d9e79f2d667e - -COUNT=33 -L = 1600 -KI = 85a46065f5aba0065015a7ccdb4ed2f1 -FixedInputDataByteLen = 51 -FixedInputData = 83dda23af77161de4ecb5ffcbd40b58127b94b52b654f6d1633792bd8247d80e42884604eec6401a4420846d04a8865ff3db69 -KO = 44fdf2abcbc63485f39a893e05e102467fce37eae98776ca1d3d955f671b9b758d6e4986b1d3295dd03c815aeed55e6209d7bf85b7f015a3fc05aa30e58eb4d89dfcef92592626a9f4f2d7cee7c050693166f8d3ec76c74f61c9879daa5f1c25d7269a86600bc7a90892e19f222157acc12851afe1b92c2f400fc7f8ffc9377e67e8a6e7dd2686606f1e051ebdd9bf6735494042d77b61d4ee6e56efe3f44aa8fe86fdb7fa9d5e68e37ef06b3b5717c127faf871481a26036de23b40cf9efa1416670a69d423649b - -COUNT=34 -L = 1600 -KI = ca5f11e7b0e897f74aade4058edf9a06 -FixedInputDataByteLen = 51 -FixedInputData = cf2f33ad77e07cba8372cee63d09268bf444d05e0e3fae51c19ace3833cb81fcf2ade9ecb2cea2ac97d1965fe73aaf9d7d84f3 -KO = 78f849d2e058d22615a64deb7301fbf15efb4a8189f655fca72a47241023b7c11d3c8eb90c5fa6c9aa1ce37614f7d84cfdd427f4206256d43db5d5d0a0f10c8c7f6d0cf16f451a39fd7d46b12db6c2821749a1bddebe2e960b93d241304d4beae92db5c9a33481407451530709f85dc320e906821a3b5dacf260b3287dfbf4223006b2a6d9827e5bc8af4ef295ec4f4a1243be95dd8b8db3f255a5500db4304db857b71dbb96d9624da0ba812e53985c57a6e25b2ed333d65dec09f2c65dda2cf2b9b988eae80c38 - -COUNT=35 -L = 1600 -KI = 065a391417f706a23c0088ae7f7ade77 -FixedInputDataByteLen = 51 -FixedInputData = 7210886785688382e566ecbd716e037dffd200de204d72bcc08951804d090d584089fab7f308549b3edf8750a38da75e890a34 -KO = 7c8616c18c2c2d3806a109d1359b1cbb15c5f27f20bbd0ea3604d8975778757fe81521834d930f1835ff2ff2980696a401d899ed12c98558ae3b2668c76109852585aaaf9f89f2de3a3e1436e593c8ae222b6f82411f235a5c5c12fea9757393acf6136d79a7e8d0a20a48b3d3da24aa039bd7b515269558935994476471b40bb9dc55b148e30d79c2a0a8e0bd1bdf8f3baf230eb1aad6fc3c24c846889bb4dc34d22cbc3aac35e666c5a7c068034b797774b735f1d1b90bf6c7a6595d588615988036afe0fee9de - -COUNT=36 -L = 1600 -KI = 53e77015fe51d6293aed41fab5672b2a -FixedInputDataByteLen = 51 -FixedInputData = e3e5ecfd26086635ee05daf26296c3a6a1396296e3ed8ca37abc7f1c89393b0563d59c2cfc31709ba2744265037f4694d7c07d -KO = 6aee3c49dccd56407aa996d62f9d39ad8cee72649207b0ab9a6d663c533807f893c0bbbb31a451d2b134da92c5bf4aca6a73d06afc358a59983aaa6fa28e689606a1f142910374f3209b8c95d097811e4e3dc84bb9cb5a7baaf1ab260aaf8b7a36143fd72289de013d582747d93d170a6acf1fff308454143cdfbe6f0230bbf983664d23114bb2e3f75876e0f5a43067b60468720db3403bd441b674e709673bbf9820acf904c3aad11d8bb6c2e3678e7754c21d8556ed802f7a9de409f073cd80ada5ccda1397dd - -COUNT=37 -L = 1600 -KI = 7ce03a11686546f118fc86a688c370bf -FixedInputDataByteLen = 51 -FixedInputData = 0f38e95b0e1a772fd105eecd6761d60be4e5d45e3cf1948f79d1830d4eb0434b6388165c95981b655d93a65c4fcea120878775 -KO = f6a41bd4b6b728b70f889e67345a4f8fc691feb39f890d2f381a69c1e8dc2b5cc3023312c15ef80c4ccb586c15c471c47da1f76c964ec80cac0ef01b3cc952c0d3bf790ab5943d094cdd8bdfe92486f96c8d9d82912ac6fd49a34e04b970f3d2f937248e951cfeac9fdedcf588894513b7ec450978f6fd58c323fb3880f5978d8ac5b4860c66a4316927769525373cae0cf8bd45c5c6794c2406af55c41cf3985c4c2cee33c2cd7ed0abb03a3a7f9d8283a07a208baa049a5dd1d803c73a509e3fbc3cf5781c6c5e - -COUNT=38 -L = 1600 -KI = 6c2aa5609c16108f8aca61fbdcf26c8f -FixedInputDataByteLen = 51 -FixedInputData = dc9a2a03f3889adb6097ae77ed05b53b8588ba9858955d9593731df1418e8e3b4a6b2c453f3b65e368809a1e92282a04c81d7a -KO = b636ee2e2362a9241383415cea1d67aabc531267d1e73e858a125cce609e4e7f45092900e41a388bc1da6ee9da0d09356e2f22022a84c21ca1f2d90a72565a5a48b69e92a5ff69bb1063cf286b9f7c603e9df3dfd11435be87c69bf8f1cf36901308930e38adcf0a3f75c17e5c77d9794398341d7bec9a5cfe90e1c3b01d69f930c88ccae71fc220bc9c97459a6c500fddebab6c6a99c4d3cdb11c041f28ed3d48f1cf9078ce8b0b93a028d0c47bb20f98e2c5816dbc7233d25d9b9732d43bc8be07b060b8c3d0ad - -COUNT=39 -L = 1600 -KI = 7ee811670e528942842c103b164827cc -FixedInputDataByteLen = 51 -FixedInputData = b0a5e31d698aaa230d88ce4a7d852727bfdd08bdfe638b8e44bdefab56fc534f472dfd32dfa10e8a9cf43db99eea95c9d491db -KO = 9f07cd3482f6c261ca51df1e3386ea3689490a895c7d8534eebefc6fa4ed9413e8b6c16f7aec9b1db4f955f3bc87aad7b002ac57e1cdbd58a249f1db166e87976242adf30150c0e010a0c4931d9db0f47a14cc6807e608adbed0c1f552ce62a08a3bcfe0d6cfe8731596c5fd2f9308b55f41319a7495f9b27dfc075ff8bfc89dd47633c27168582d485fa59374a7e5070b246eba13c8fc9abe547297f24dc579a4833749d16efa1d1547ec5b25bb40f094831a0b874378271a577a9a5f12244f18bb88f0ba44eb47 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 8fc564419911c512211f05b86542dc98 -FixedInputDataByteLen = 51 -FixedInputData = 91ff2600ed4c29330647575661d4d2ad8ffcbd912bb552204d28337837e0fd06acdc7110a61311fff5bd2831412e139709cf64 -KO = ae1f9ddaa67c29ff07e9c00d8e0a1efce9e10dd24247fbf68cd112f0df0ef69101c0147b7f5ad9644d45a689b2bc46ed7ab7037f73928b4ccc2509e3d2aef712 - -COUNT=1 -L = 512 -KI = 35eb5a5626dc038584227f09a1c821c3 -FixedInputDataByteLen = 51 -FixedInputData = d04261f962f8ef9d3cc11126d6a892914f711e0c67ec33b401b913dd0a4fa7588de88abdad6439436cb09bc3f64b4ffaaae149 -KO = 03173995c56df1479050b4743bab890a51cf635bf9ad4b7005f6e19f568f12acd9e353a34cc40aff071ec2f6709c53a21ec3eea993456c832ca58c0fa59e54ac - -COUNT=2 -L = 512 -KI = 74bf9ecf4b5b60dec1046a8b0567e1be -FixedInputDataByteLen = 51 -FixedInputData = 05d2759f0ba8f8006a1b830394c03defae8117660e6e3d857cb06d625132b8181c2a78a9e2ff7c25ab7bc6def7d5cd444da068 -KO = 6ca09d445a8397cc4f61fb7ecca3653114994902a08d96564d3047b3ef2127f04d3627c2bc1638e9e18774e82c73c02c42ec0e8d730eb40c5de3843404f010e9 - -COUNT=3 -L = 512 -KI = da96660d76660590fe586dc6a7277514 -FixedInputDataByteLen = 51 -FixedInputData = c23575bea9dfb7d54f3a3ba89381b64b680651549f21d62dbe56ce88f8e9792e72ddcec8841cd740575749c7e3fb263bf713d3 -KO = b1e4d271718e919c343e8fcbbc950022c0d01d5c2abbabed6f6dee37481c18a277089f906acb1e5fa1ebb8f2fb0316d9147824e5637666b1ffa74239c5b83e03 - -COUNT=4 -L = 512 -KI = f7d84aa01e6fa6e07cbec6796a10aedb -FixedInputDataByteLen = 51 -FixedInputData = d52bff05d66dff542e6424cec7f2b6fc092ac4f9347ac02688b1840eab3bdeb09fb892ba4d185efa11adb4a03da958f6ca3329 -KO = e43f49965bcdb3bb06756e52c4413459b20f04eefa05ee7418eb73ff22ea5551b38ec9187c06a614b0e0d73ff0a7296f438222887042ddd23931cc89a97d991d - -COUNT=5 -L = 512 -KI = 9a75ee8ca5147979185bb828b1a06295 -FixedInputDataByteLen = 51 -FixedInputData = b1b1869a4e647ef68bcd78a274b37c0d0e39282b0a01cdf150ce714782fdf16f245453ecf71edbc7f5bc8c70f1365718b8729e -KO = 2bacbad4caf316a4c8ebfcf49b358ed79e00966a4937b90c9068046b75fae044fffb8d0ef2bc4702f7c4086321c5cf9f75a1b7eee67cd5c182252bc01aa0e71b - -COUNT=6 -L = 512 -KI = cab1121428ffbe1cd328baeb7db72ff6 -FixedInputDataByteLen = 51 -FixedInputData = 3cb99c806c5a81b7d2228740543e2f9c5c8fac25d809c2f3fcdc5907b36a60a9a8bc3b83bd176e72304532e4a97b57dcbfc8f6 -KO = 99493a716d3c1f03fe70f2e9edbdc398af161c28701c123b553a4c20384efd6b6b4ac8bb7bdd39501697cdfbdba76080fa2fd44778c46089174797ea57e4c49f - -COUNT=7 -L = 512 -KI = d7a39e9eee2067d275db07df68f2b917 -FixedInputDataByteLen = 51 -FixedInputData = 8b7bb9cae5c8b6e59fdf9ec614bdfc0128701dbafa374133b095c931419c4c2f5a1d3fb0e32727819b7afae5b0cff53de9ae46 -KO = 761bac334a98904e850cdf98b7ed41f4a22fd254aa7179152973ed66577c30b01373ece48f7ea66dc1437cbff7f16b2a0e6a7b08aff0f3a5783eb402cc5e7f5a - -COUNT=8 -L = 512 -KI = 2f3c8f7a6562cc00c46112935f9a6498 -FixedInputDataByteLen = 51 -FixedInputData = f6193d6729ac849d72c550ab3fbc5477ca4defdcf18ec22f0584afe9f7b6a3bb09d4ba395c206d506d7d7f35c4ff12b443116e -KO = ebee6defdf9e73d04d69bfaccf43d17765fc6a47f0e21b5c5a4c5611578af16362252f1a6c94288dd66b747b8ef2ed25146e867acf6c2835c7d231dcba9e88e0 - -COUNT=9 -L = 512 -KI = 358b1e5342e9de50c5488037ecdce45a -FixedInputDataByteLen = 51 -FixedInputData = 8420c56fe18b4e53c9b8a0be63d814d823a6f83c4749971ab78797350b112dc530a8762f7265469978e7e3411a3fa7f1a3c2f1 -KO = 8b1f414bc305181073850fd01a9b3bc6beef993147ea591500d7d611954cbaa9d52fd199da066110c9799c76e86675c6dbb13191ccb775d0cd528010cc9e4bd5 - -COUNT=10 -L = 2048 -KI = ded1ee75cfc9b0d75240efe478227069 -FixedInputDataByteLen = 51 -FixedInputData = bffaf4e2805d930af43782c1f75147390e83d9aa2ab36c7328e8dda8714b78a784e6897fd6d150e3adf37ac5ae3a6350f35eb4 -KO = 786c48ed8ff0c212b2c04d7f2e41d50cd6025683508807a61151fc681f5afc167e495b58aa4476af19f15ea0f092b80969e839c4eb7b17ff70b0b5e4e25cb0617f0853b937ff5f0afd97a55d03ca35f415afff100a42f9075fc92a976967ff40d11c29bff7b867d456fe4e513ea85cbd7a0406e3d79ffd8028c4cad8ae153ea89ce672da7d8e8d1c1e8568ad1a08156b13c9efc1f5dcd2c3ec57cd4774324f59d3f1435b4965a31c05d5351851ab888a6c46fa55c6e5b04ecde66be469046bc838687471f2cca16e2ddfb92bb8c03055971baaba064a178e7101325acaeb525d74ca021810c074a803e2b17f991fb9202f8dd15a86e50105c42336d45e53ea22 - -COUNT=11 -L = 2048 -KI = 39feca359961ffcc19016d01d62df496 -FixedInputDataByteLen = 51 -FixedInputData = ebd2846bf221eda2f4380aa8d599d91ea611dc3a0dbfef08e063b5e0f91acae9b3938b856b1397508a41c20bee7aaf63d9fbe2 -KO = 2b069b5b9539d231c81edc830ff72e01bb03ff555cbab53da841f25593f8cecce402e5565482ba56634b7b226eecd30431e16e759e68cb082180670af1feeb2328f6987754820e1facdebe35e8a22942e457c9b7f0d8ce541a54ad0cbf6a2afcde3f6967059852afba84e6b80144c3e037015e95a0528ba36db562c1944e316d8b8e2f2308a356d91006f5826c0d4469f2d1727e1be3321adc7fa26feb0d4541a2a6e4a45d89aab667ff3a4eb02c360a1b6cff45f357c21ecb79c2545ec0827477938b72b707013dc7ff650fbf93d6d92b6a4455cd3fbae5d2327f60eaf0ca9f5c229ec9ded05ebfe2e4794b18f83bfd00a19e0c41dd2a9d4232edcd16df9471 - -COUNT=12 -L = 2048 -KI = 3789f5ef9f4856adb746b80fde516303 -FixedInputDataByteLen = 51 -FixedInputData = eadff58482168a36cf364f94030f444b665edae59e86946e12b26442097c8e86bc9befdb920cf6f8fe8af0822b95461275ca34 -KO = b2f859ecc145aed352260e7650d31fe3b7ead17846b73cd6b9ff5cca985725a914b55b47b93b1705ce82bdd90fc9138b0fb87c4621345cd903629c11e19b18cc18d25039650e7f2b508007ce85e4a878e82f62dc6889e6c38a992db4679ae2f906fdf48843599a262655244d25ee825942f4c3b9323e829465f2b715e589f16bd100ea47a7fd2e0f60bcce747a76c2325b79272fe0a46a87f9c32063631a532920d242bcb2ff75d805fdc927a3ab90f26864eda224d5ca4dad49ad8c615287127f4626ebffdb12a0bb5cce05b7adfc3c6f6cedd5026e097b3954d82d62c416eaa7547800922f0b3a6c78fdd48fa4bc93468ceef3650da6b91405bdc45f94acf2 - -COUNT=13 -L = 2048 -KI = 8fd11ff79430e6f309c1c9fa15b7c96e -FixedInputDataByteLen = 51 -FixedInputData = 49cb2d7a778de37bd94a1c3c65e6cc449d9993f21de475eb3aa7fbb732aa71f0216d350b6f44f25d33db883b57d72eecb44109 -KO = 97a7699197bf7326e81ebfcfe0d1256e56a00b45c803c8ae55742896bf113ea79076d58feb16c8d08940c133ad22c9baf75c6d5d14ff8380db13338a8f6acc2e01005357388e4887532b503ca0157d92fb49ea96187d3ff9f16e54dd2d640d6e7a6c0c43628667546da9c4bc7e253301fd0e448a6372ffeb066a34eb04f85ecd86e5698e7ca8e5aee98f29c35fee03dea66776e7492c5b0e0cfb732e88e5dea34d16244f783356625b8bdb05cb7f020e43370915b72d6045da87dd7f81cc64a72b75ef07fdf5f5af275bdeb4adb0e3835e20df76fe1e033887a8c0d79d8fe62417dbd5d39c981cb3c3669d7747de6b35d5829de5c38d7ae720dc9f54a9f18466 - -COUNT=14 -L = 2048 -KI = 70546cbf9d739857e092c6b6bb739c9d -FixedInputDataByteLen = 51 -FixedInputData = 2113075f563daffdba2cb790f4bd4539860e046c8b232dc0f58fbe6353cc496e34723e777e8c546978b09020f148744c8f90e8 -KO = 4639109ac05f6b6a888c2905f4490e4b77e93160371c688cce1f019e4a1398a5b3365203a16020a8cb0b8c15a876fa674b5f4cdb3065070a28544de51346132cbfba010e2cd8a49ca90dabd8b1524fd6d1639e4cfbc69bd65d941db6f72fc3f9257d355b289d7285b3949852aa7d1d787fb7b9ee5ca3623c99092a3ab27f4c167353edb06a2b7b9046c8fb44f45519690c7b715d69176dd91a069013b2317f199c2e865b08c50125327567d856e0a7eba24dc08dc6321bf71b6183b92aeb425185e99f7448134862b4611ce737e52480b4ea9f7f846e87881ac0329b7967e69b4d447d4f8c80d3fe50761d5e426c474d160c169db11f5cd980353b32bf1cd202 - -COUNT=15 -L = 2048 -KI = 21bc41e252787392ffd7c0b64d9bf916 -FixedInputDataByteLen = 51 -FixedInputData = 8ef4d2e4cae2c21fcf22a7d87b45c004fbcfe516f49899493e391434e4dcbeb06103b61b72aad488b1492837684fc95e855c31 -KO = 14a43ef647fb652a61061d5ef67023d6d32271b9f77631b3dfe48d29de82e845587a21e2c740c35b54fef4fe808bad3eb17754b174215860740e1b6b138525aa059874e605b2cab5bec5eeb6f912d172ea3c24e627876759c33242af90f47197134f99d6d5d8b48c0055df1c73d116be0c4043fd18bdda32fb1456b4ebe67ab8fb4490f5bb37e2856b03dfa8ab7a8d72b2d90751e35b75aa2b955ce6a2af8df8d769b5432e35ac36cca8401bb52d2cc63b537b1b5906f891e76b125e940010d6c85137c24fe332e1dc186dd5621e0b560e2cd4a97f112ec9b0ef81ac0c00703e80bbfc1876ca82e3d21e6a9a791fb8988904ae1b24786068d6c31901475c6184 - -COUNT=16 -L = 2048 -KI = 38f498aa77711bd85958d9c8934e8eea -FixedInputDataByteLen = 51 -FixedInputData = abe3efd877adebe860b9d50408528041f5e35b3e6c2e5080a0ea2637ade18e8a4d6635bae3732e4eab62ef4445b7cfb152a5af -KO = 46f3a43344b02e3de575050f08928f85101eab73d5aa6211458496175d39f851b2a21aa7c0fdd28afe9c4796d6436bb1ccd73680cd52fd7e36523b2db5b6331d106926d8d9a69cd78313ed5765f5e39e488837f2b6f9ed71bf2e5c7c641098a309fd91c7b6271091a6ab5292a136dcf372a027d0d1d325d63bbeedce43fb67cd54bd8e3c2a72578d9b256171c12621a8b0fc0509b4a896705967138bd2aa978a97aa2a601a4bd0df9f0bfd3683492371875276607b45237fde9c0f4d3514d0bd6bf8bac717e062a62927c6b4b2a134d8fd96e1f0b7a717d3de42bf34b8b2f68a8dfdc4c39cb46f4bda6b7bc9f344c9ad148fcb76e30e95b21dba3709ed966f21 - -COUNT=17 -L = 2048 -KI = b910fc770be769de8b01fb992371582b -FixedInputDataByteLen = 51 -FixedInputData = 68216838f3ce9a5ccdc45a168784664eb11b59780497fe4add290ac84a1ae2878ccb0ffd660b48f9b93ca1290de2bfaa06a0de -KO = c835b07166e62bd175057fe2360d89dd5825ea75c2d591d479618cf37a4894f54968c8917556868c4377c299398853b7e923aa5445fabb2ce8f3ed4151df05f1c4f059ea8353ec7d0f978120ab9a0824c1d1883660f19700f187c13b47d92a2a99bbe4be0f563626244d3da46152e375e4f14bc3687e6fdc15c8b703de955b73a3c7121991c9adb4e9a7c82b3a517319046eb89a9ea6587467a8f7737d53b0607ca0aa9439d14c8e50530244c49f36f7420776d9fe0b230326b915c90007883c061f4c989d9e3708d2f141e76c743b20d26b0e498b9cda8783130924e46eaaa9457131d0bf6cac2612d138adf52da683122e518ed6c6f1a6a14cf2820f036b65 - -COUNT=18 -L = 2048 -KI = 198ce8957143b44ea2a308597c858b51 -FixedInputDataByteLen = 51 -FixedInputData = caa1e364831843efc6a510cc9650fdbfc5ad584d0fe790a9c18c262528edf947685404c3b5f915b73433a2df50868989cb7c93 -KO = ffd7c47c7c5a3bbd11f2d94a47a267dd6b359d5e7ede9dcf6af5da132ba731ee063ac4081ade62a0e7d76aacf2d0acbf8b3b1528f8d9a9c42856ec7ef0280923da68c00dab4f64eaff11d6c7f2ffc91d0bdf1a70dd59b0537b898faf56d0fc0a5c4544f3e2d2f9acae86980d1a170b7fd36b060992fc20546a843864a0dd81be92832eeb261a0e37474be67519a8b33d029e7848294f5665147122e9f9b0e1dd3577852b922319e5793f3d969c67ac0bc58ce2f7775648126a9218ad3b4cd8e3793455eb7b240ad8637dffc1b53f0c011995b287016561bbdcd992065abd89313aac180eda44da470518c14e423e0b4837b8757578f1d76f213b211883b70915 - -COUNT=19 -L = 2048 -KI = 17b34a329488c9f05473a49d18607481 -FixedInputDataByteLen = 51 -FixedInputData = f9dc3bbd3b76f093004c9d7991259fd9335029c0993b8a24552f2320dcb09119f8f4d65a777aa46add77532e01e42a6ca17b77 -KO = bd778a7f2072e415bca8d662ba0f6da7aa8aa5113871efb1ebb8c6e4322eff1f8b8f41610d95deae8ba8b41b8f0feeb350e9d3b54ff24b8b4d1379c0aea44088be46d21d25e15b781510ad051a4abe0d125bb4ea3c1935204623dab67d1e8d91b51b2085d086ef6a4c6012dc5fb23961605ba70c15b803c2533a4ba546120e36bccaaf50bea77fbf278efd79b602c50e2bfdc54f67cfc5df5185a3fc5a76e7bbf546304c9d1b112a50162fdee9e02c676c14208da279d97d0bdd42fd9d95d456269ebdc1a6431d6f540ca4a49ef596a4135e370a7d60d68062a62029b92ca2ded4b663a491b72ce8f27a39c1e569bc2df00246b73e548935c933fe9c175578b7 - -COUNT=20 -L = 560 -KI = 499f3f6f36d64f04ddbf5292d340c44b -FixedInputDataByteLen = 51 -FixedInputData = bd8882f6847456769073d0b399423dbb70b3217b962ae00b9eb9c31c1832df22d045c30a47a2c664162e7df893ed2da91af060 -KO = 4ecce048f30865ac9ba877d22d92f600d06e32a0c03764a45512e1e63c706061db9a38aa318acdfc05f8633943f9ddbc3d7a9a8d02a0f01852a5832b8f1fb79acb33b5e7e1b7 - -COUNT=21 -L = 560 -KI = b3dad41377110cc7d2ade93f02bf1c17 -FixedInputDataByteLen = 51 -FixedInputData = f00e1d6cf5b89f58f5b79ee86151280b6329fe523df350ce7d56fd17970e5b9bd5f6ef205c13cfd4ab9683c4174d5aafff69b7 -KO = f0069da31ef9f0151253b2ff87ab41334af6c59ad96124ab95e4caa770d55f4299b5a84451bc77b809f4a0b1445dbdd4df902e8f4235e4d400f014650aedbcd8e141932f28e5 - -COUNT=22 -L = 560 -KI = 2309213c453e424bcbc4c432afbdc9c6 -FixedInputDataByteLen = 51 -FixedInputData = 6617329bd2e5a6e4eaf1c16a016a75c4adb927b4e66108882d47db4e8d39b0637790b6abb7065620879132c8c86abf753b583e -KO = 8e74aeebc1cc470fda3a65ef1844da63b6c4868cd3121acf76135b0bd31fa596418f134f33a613187579924ccfe79eb3181413558fcedea61b77240c6289b09d4776c23260f5 - -COUNT=23 -L = 560 -KI = 74634e1e4188d0c36a9f16f695fdbd98 -FixedInputDataByteLen = 51 -FixedInputData = 7978ab065dd577f1db078d0d23f37c4cf078fe1146b2eac58ddd3a851473d6ccfd9e88dc96830783bc0ac39c14bf789ad11355 -KO = 5c5b54641ef1bc70cbd008d41874db8bf9d1ba44693ba6671e316a165929a29386bdd3f18c7c24152ee6ef4058ef3b7346fdc8b26f8579681030e151c482101ea6c2acfd6c12 - -COUNT=24 -L = 560 -KI = 18dff982a3fd1dc509dc5f6ca9f4404c -FixedInputDataByteLen = 51 -FixedInputData = 587155e6c9e99cf369d9a30b8d94434e30b0fcde61c71847859c9a136df4c639983c1e19d52eff4411632e3dde3151d73fd2fc -KO = bdc392c1d2c21694d1768e0b7e9cbca6c2042296f250d77bdd8229917f864a5cb4c19924d3beffc00ca135d29036359710cefc76fa653977271005f0a89a2056a5794b734350 - -COUNT=25 -L = 560 -KI = 93c041ec1dc3f848c3621e0814f8873d -FixedInputDataByteLen = 51 -FixedInputData = 4a666dc695c10d525447f89d862fea68df292e73bd806d77cf3d602b33a1ea823572cd4c50529c03e59aacfac47d060cdbab1f -KO = 31991dddf03830fc3777ee80c956be5b609cec6e8604cb2158ffdccb75ac4820fcee1ac876fcbc76c49f59d4fb130d5af6f46d46ef42914d885429adfe7a43907511158048f5 - -COUNT=26 -L = 560 -KI = 5333b5c785f05f4c4132e0b52075a744 -FixedInputDataByteLen = 51 -FixedInputData = 3ff4af7440f04f0c19177ffda812c801b8744cfa46d82fa32ac05bdc86f322da52961613daf99b3bf229d9cab61154d1f8c884 -KO = 97a6700c3150953d2c28b7f431ec2fe0ec513cdbebcda3836ad6b8e3c6b31046a1182bfc7233b933aaf4ac40166397bfde6484108c6b4606af76b6fe32b4991bac4233861455 - -COUNT=27 -L = 560 -KI = f6039b8fa71bbe3dc4adc10c26af98f0 -FixedInputDataByteLen = 51 -FixedInputData = f870d09ae7713c26db54593dcbce0ebb727cfe197b83c77a179411ca54f41dc1edd3a74c4bb46e647e539921c772e1db12657f -KO = b483a8105e2bda7f525c44e7a8d56b121f58a7592fe625f8199562e4280c786cb1d3b4e457a352221f2c4efd2e1c40aa920035af286272cce245603bce5203bbea0e04a87484 - -COUNT=28 -L = 560 -KI = 1c765c27ba253755f5e371cd69938064 -FixedInputDataByteLen = 51 -FixedInputData = 1f488c1333e51e5877b6b5ff97d2f8e82835e0330510bd84ff15d2ec4dc18fa7773d0e7af654ba7136bdfd18b2a2e7568f6b5e -KO = 1fd79bd5bb47da9aadaf588623a6fa0ca710f340b4301235b545aedce445fcfd0a33023a6f5f0313de5e638efbf173441023caba3f40ef2907c497f364ea57178d50ccba9984 - -COUNT=29 -L = 560 -KI = 4de82feba78aa364d2fa22cffc6d6e65 -FixedInputDataByteLen = 51 -FixedInputData = 11a4d05e1aab1931c64794074392f8281d2c2c8a2632166f38eb21b4c6db77ed93400bc17e87e2588a759b28c712120a8ad9c1 -KO = f5b3c921dce3b36dcfd5c6d439022c9e8bbdd18ab20347d882fbc739f60a4e5a6165c779c23cf9129788cbf4b7b1b3a6bd9a26e31ff9ac6aef1eb0638d02de10b44e7e0a8a5c - -COUNT=30 -L = 1600 -KI = 0af65e46bbc2a4f26ff0a8c7d75bc2d0 -FixedInputDataByteLen = 51 -FixedInputData = a96f7d7518454a9e1e9329621e4929f0df5302da497eb104f2b412acabdb84d2f48bc42c7c12275cdcfcfc584b0572f4da3b7e -KO = 0a5ca1e84dd2cc26b75b86639d590f205454c5d84c604fb05efbfd3194ae44f99e793c173e158426cb37f7817f6f268b1b7aa3f892b45f91bc527bf8ce25e47f69adb86289b89be5542f79a525713e69096cdc7bb6dbf5eb64d374a724b15fc27f82b6ae7698f413447990c5b926d08251b753bd52cb31334c9467bea94d4102e732e866d6131580cde65a634ee2361db6e21d848d0cd732deef73d85dd870a33157ed36958357c0c901ba1b38d5c11d30e7b4e6da7068e34d6f647aa267769fc97a0ad1a59f2033 - -COUNT=31 -L = 1600 -KI = 4a65ac8526a525f0f8567757422f9584 -FixedInputDataByteLen = 51 -FixedInputData = 6ea700d602a87b40ed53526cf6b9406222d63dde590061df6fd4b1c96de4bf4c9111d808bd3366244afdccaf8bd07d83e4fc98 -KO = aa6962b832f9a3d1f0e006a803e4d123c54f153e1c5119763fea7598343b51da0f2a44deffca724d4baf21cc8d5d15ae5f316edea967ce3a5e3b9f9670802dced7d6758a2b64dd98925f8c61546052996c163bd71f903721089f57ddbeba1476ffbf036d7a2078b268dea0bc1e2376d9ba6893804cacf04595083d8d1089fc3795269f173d883dc475e14a23a3f77576c8944781cfa6202a89ac6af2f68f5ed0ffd551429eb7d0f402906ef9c2512f75f45e896b34b19e64db32db0852224b3d2cdfb3865d92d212 - -COUNT=32 -L = 1600 -KI = b163160878936e5c000e715097831cc4 -FixedInputDataByteLen = 51 -FixedInputData = 8daacfc197f1259f3b7c8cb87599cc72d74d72ab7d70984e9e27d4f1455d5097c0a87ac4c12f71d828d5a9074c18d49002212a -KO = 29d13197c9c37e8ec654d479f57e1344c1257d45824e48eeb564908f239d733b0feb1c9dd56b32a79be33df3dd3de2f820fbc4743982811d4a1c35f33abf90ac06bb1a1749387b052fbc7c66adafd40f27246fec3bd05b27f977f48778ad35e44a1cd405abdfb9ca8e13232a07d09b2c21afd4d4dda641e5bd6fe091df134739e0984206f8624c456560c436522e34374e1d220bdc88408c8cd6360de5d0577c6d3f05298a30914d779816ca47eb7873fe9392c9aa06e45884ee04cc60d03b3a600bf7d6eac0eabc - -COUNT=33 -L = 1600 -KI = c61fa5d268fc607be80d5ae0d69b663f -FixedInputDataByteLen = 51 -FixedInputData = 2339b55c2fa28a1ed56e4a01ee09a2f319ddbfc4c6f3abf110bb42168ed807390d71e29f1906e0a368b4a4cbd01375b87d1b7f -KO = 7f247ae77b11213cda8912977c3cec6940fb30d93b1755e8288fe2c886872c4cbd56929d9752c53e2cd3044ed46224ee1e95c08befa03be4d36b3cae666a4a7a8a5c4c51871f17c810ab830f179e22c768d51e5272e230d79f615abf4b13a9a0e09588cfeb26009842d39e007485b78c7dc3bc3f9e41c0e32522f0b563869631c4145ea3ef810d6b446583797e9e480a78e077098e92950a54845dfb4e83bb7278badd5d3713a17753c23b3617ca0cc90c52bcc3e665df2f18e49d6f4a002e41f19a16852964b65e - -COUNT=34 -L = 1600 -KI = 0a312e8a317fcd476b73efa164355948 -FixedInputDataByteLen = 51 -FixedInputData = 1c567d4a30db0edb8f3ea1455d9a607e8b48b3db1bab090f8bce100947628297ea361293a02c69d35a0c0e203db8104d4252e8 -KO = 814accae5e12e24e1e07b67772f9ebce30e9590b03136ea0e0b014d812766d4146f93f099b8d2b6fd232e9d043c5221b7bf100a61dbd68e1bc044f2346a4ab495bd187664a59c81f977c8892ba0e0a9b34823ffea0d04a7edbc2d1cc2f429b6311a88f4e5a43a6856ab8e79ab48e1f1ea665dc5d4f7b996638e8c21ff1f45e3e552f2706ab7754db6a2f15352a774663c4397ab70be2ab664a7917aff3e84545ba4793880d4854545bde2884a4be5c23e3105e4ecdb125baef2cd3d10454592d6305df4c95401cb2 - -COUNT=35 -L = 1600 -KI = b4e719995d76edea7927156b7e10262d -FixedInputDataByteLen = 51 -FixedInputData = 5dd0f9720845449745a20eba1a822df51347e76a05e03a210583ede5b41f4dbbb7f149afd3cc32dd2d15e0a580a7f3f60820f0 -KO = c1f94fc0c59f02caf665121da6e7ffa302d339f863532e1f153fb719abb9c619a878d1893b4aa4d59d9b65552636993e6a27b2ba4cb1cb162e0ddd29aedd81ec6efc0b7fe85cb5d13553e1b8977d7600f82886558424dc91e4ffa2199859e9317ce71ef680bb2fac099f73f3cd892768099217c28e421b06698b8caa15dca92868f36ce4da77ed49ae2cd8cc5000e97f704ccbea311f74e03da99dca48763d52c6622a78826016f865cd19a1473d0f9da3d18380aa42a2655b9ecf4d8c3e332195d8a6ce76e11319 - -COUNT=36 -L = 1600 -KI = a6c2065f7e141b4696f5203a1a19dd82 -FixedInputDataByteLen = 51 -FixedInputData = 38b24a0202ffceb9e1c9a80575dcaf096fcc85447c5fdd56b3bbd5966f335946111157e33226f6e7ac036f8dfd548c9a305b55 -KO = a52b04f1d4e9b19495b00fa0f812d4ce36cd57d57488ca41a32fae2016f89bf929c9ff50c8e79b416653962b00ac6272dc8e5c5c4dc8b7818fc862fa2a114a9254c0e7f8dacc77a37e6e6664ffae3249b418a5cb7a2ba631f8e783bb04e5abf50b3b8f5eb73a31b5c7a3d819ff4cd5dbe4801aaddd554530ba2c6c67dd80e2e3327a89b90ba76a61d40d0a39586166b956d3121536e6ecf6801cec4b4c36ce23fd6af5d4bfe58de60c4255e33b7d057fe8ee229667de0ea305882aba43f3cb8ea67ab9bc25745526 - -COUNT=37 -L = 1600 -KI = b3522e7aea4caf54f748e3f6a4c35ad1 -FixedInputDataByteLen = 51 -FixedInputData = 07c3911a94928cbe4f34e2177c910975adef250cab20c804a9e8ec4f906eb9741af958f8ab65b284fad2a6beb9dd9293996727 -KO = c8022efa10bca6fe0aadb33e6d7a1242813eac9c07675179ac4996e31438ed698c3dd3e155337113cc0de02331e82f2d5727b27d2459c9a8aea91da9b9635027fc7e8db531e2a1226dbc3b366d68de6cb1c4f6cce52edb4ea698c32ec52f7de47b05f8c6d400e7b7eda1bb5fc57b373783e28ca384077f230eea339b87ca6b1b715c03e880db55e69242fd1cb25f4923bf81728588bce5ad72a40ce895c5853bc2417cccb90c0eda928e58068fbdc44838403954a0b6b0f1d002c13a31a293830eb93e5911cc8daf - -COUNT=38 -L = 1600 -KI = 355bb2f16972a2035e5abf29a6fa3d77 -FixedInputDataByteLen = 51 -FixedInputData = 457e76106e121c0c48d62411fc93fbcd0c1aa56f548a338cc44c4f9c1d0c89321aa5a144bd14abf7baac42292e70625f5eb9bb -KO = a355501887de5b4f3ea7ec2151f829452a810d0a9c9c15990d3935acfc0c6fd09ad4a5f0b7fb2c930563d629c0e38c73aa504d96954d7c58f243bbcefae266c3d6f1e05e13e09b68ab0c3913b9c00cf0459d95997d0b50bb41da6bb360c17bb3b6fee13bec03ab548d09bf82726d48a5e57f7f2de7f7608e7f6a7a9d5a802b2507dacbf7c6d09b960ceaeec76065ceb5f2ca74b17da20430e9a0b4011423eb2f06325275836a7ae4d4d264b8f3fa4bcb45317faeee76393bea5c811ceb7318913930364fbf2b7e93 - -COUNT=39 -L = 1600 -KI = 6e35f7bfeea00224d2a40cb5a806962c -FixedInputDataByteLen = 51 -FixedInputData = fa54adb039a85937ac8df7ef318369d63b29b82d7c880724132ce36daea38bf100f870b9a4cb50e44e62481df1855805df2dee -KO = c902c70f3a23000d6e678f390e3b9741ada379e63a51b9ea16cc0de3b4856dc736c4f971a91a968b0e70d5300fc592ef3db60cc0028526a0f61f6601acbe7ec2b336ee373f6789bb2abe10c1616343fb890474c925862e008163a2172596c31cf126eeb49a8a73d3cc9ebda36eadaf47e10e5e83b88725ff3093c01e45453d94ded82c88fb308d842a32267bca1e31ec468b4cdea29019a34c7286739968f6d1674efd56aa5d4efe72fd2009fff7da2ea63dca15855966d4963cd1c4853cf2fecbb53081d0fa8eb2 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 75ec33b68b95956a3fa151aefa2cdddbaf1ead5d2a0c6164 -FixedInputDataByteLen = 51 -FixedInputData = 33ffcb4178a989943b89bd08f742a8f1179df254b84b7bab8a935222851ab08e1d632ac5c5641f4214520d0498a3e90d89a99c -KO = 724445c5715c75d06bccfaa6de649aebf268b98b9adddec83649bec5244f430ee9fc0afdd1064a2d2012e2b297fe53eb847d6caaabc23a7b6eb24af0eb5d8345 - -COUNT=1 -L = 512 -KI = 9a59c58a88e51b4401de9338426b0d1b2ae3eea78f6f784c -FixedInputDataByteLen = 51 -FixedInputData = fce2827216e63849b1fdebc664aea1549ab6239af76e1e8f4df7cf69150fb0a0433d98110c893934635983a1d212943063958b -KO = 522b2edeea77aec8d41997a87eccdc08bf4a4c66256aa5e8f8c2d97ee9cea1ce7b0eeb0a63a754039c86fabfd798bd48e7f26cedc7976dae0e9b19cb53b8e80b - -COUNT=2 -L = 512 -KI = 1c2711fb6a412bef31a42f7c80c9c91a97bf60ecd9e50fe6 -FixedInputDataByteLen = 51 -FixedInputData = 2abe856a0ebb5805509cc83fa5bc66c1c8888612ad3b81057359d4b5ea24ca41e91587f996387d1cdc159efee41c884e2f544d -KO = 16d9d3adac2dd2b85d3f6a20056d402cb9dd244546f6f3f322d89d4038edc50dc833a151e431b1522f54c507abd87984d61de0bb0d998e8db6a7cd0c4ddf8f14 - -COUNT=3 -L = 512 -KI = 0ca699371b4338e8d35557fbe6b3a6e1317d985c6f20e6aa -FixedInputDataByteLen = 51 -FixedInputData = 0c5403a8b2f4f085774477cd291d9247ae8732cc1c3d21b130896ffa2f28acaa7da4d5e7094c5d4d3ee575c7aa6152eebd3e51 -KO = 184f748f5487b1a03fa3c4702dc0f991d0aeaaaadd1bb876f45122114720ffb777465df0d4326938abbc7e912cf6e0077085eba3cc46ef9a45b0bff9b0df2c16 - -COUNT=4 -L = 512 -KI = 9c1dc02ddd0789b1d54e808b89beb183bd24422f23fe8a0d -FixedInputDataByteLen = 51 -FixedInputData = b80cc6436734ec97bdd1e535cbfc100de11495023f0c6ba3fe580bf9a7697b3d34b9247fc860ec1c16384ce7f708a2732c62f9 -KO = 9f9d986549ca58242b2340f667563bc990a11b3a52616facb6ae25e6164c273e6a9b358e0a59cbcbd5aa2d649467a3743bd990f5015870a7a8cf2714ef2099fa - -COUNT=5 -L = 512 -KI = 5ce952723faf147678a295de905320fef94dd672116ad845 -FixedInputDataByteLen = 51 -FixedInputData = 1b449c6a3342a03cbb83cc167d9812e9c2b4a533d341db719e55bb13ac942031d37046a3292fc5292d09a3a786f2468e6e095f -KO = 081b9045b9b33b611eee03678e14b3e9ea3bbf57d16d142bf656427b4b02d1dc2e59fa2358ab9458a6ae275f75f33c7a2ccffd04424b08d8c8d2928bee994005 - -COUNT=6 -L = 512 -KI = 0cbbc8de661cd2f54cad74f0ef2cca403dcc858db359b3cb -FixedInputDataByteLen = 51 -FixedInputData = 05b6882d93e2820d791c1c73af45c26b43124d296714794031d2e26f261bd6c1f41827439dc4c671c1e587999f59f1a0fdc2a0 -KO = 94f2b70b89e99370a36aafbe7d8f1417c7aef6b4e0e43522dbbe40d2c64e428180b87d4b70f4bc12e3e5c63756b49088fc07a079f0c66bace65e0ca7eaa051ec - -COUNT=7 -L = 512 -KI = 935f48a65ca6b671c0fbcb1349e64aa02a5c01bea8ecbd18 -FixedInputDataByteLen = 51 -FixedInputData = d7cfc4125eb8b5eeb1e7df730327479f2d5e4b1d00e693b652f71dd71a49ef20d707979ea993e2d38a50edf0c8a2bb3b3464b4 -KO = 3a3b094964346001b379684bc1bbd9e572e68d219a9db4e2e5265331fce5c77116b31050863d192e2f2d67f36c4fff985407b04f4114d975db37ea26431957d4 - -COUNT=8 -L = 512 -KI = e61b33d9211d8c90fa5f5dd5b1d50e1d674b6b8fe8125a6b -FixedInputDataByteLen = 51 -FixedInputData = 73f68cc936e2f6d6d7641a3816d92a69ade3c20542e3c56a88ea8216dc5cb29d1f9ccf6b9bc2ac7435755913e18f1d78a2f733 -KO = 5a9b4d53c8130ac4a34331a136a1b4cdd064e8440e000cf9ef37f8ca746fbd376eac61556fec903c24b3cbf73fb451fe2e1fb0cf2191236ce623c46b2ffaa93d - -COUNT=9 -L = 512 -KI = daf864e25dcd6ad33d03fb9275e0e95d9367a87a0d514830 -FixedInputDataByteLen = 51 -FixedInputData = 4d92d384bc51e0c99dff4a8f8bcd4fe8b5275311a66fd6e7a2d532a70ff6b1e4b54282f1b32f3c2c5a64bd182f3032f25d3d43 -KO = 3f1d901282310fc22a4fe29f788cdb372020ec838b934236923db68dd5dddbda83f744ac0cc7a489cb8c30a370a176014194ddca1fc9a984b90e770add4ec555 - -COUNT=10 -L = 2048 -KI = 06fc99f5e2109103ec3d517785428b037fc2aa291d3c066f -FixedInputDataByteLen = 51 -FixedInputData = d99bbfaf8ab3139772a073d574005452e3c632493f0427eb4f0785153672546721246e5d637c5a7f264ea98e1d80d66d3d95fe -KO = df694b9c1cc26f0e6c602301d54cf37c7509fb2e0be04ccdcff8f19d178930a064aeacb360ae03c8334426d9dde842515d01f9d338665ea729d989d32b7a51a81076fdb1d24170e41fa110519a4614d6098e7086a281b0451258c153354e0cf5bdb84c1db815c7700316af0fd168f8d85352292db8a4fe5b51e2edeee778d8bafb05f55cc672be2459c7ed4996946ebbaf633792b202b40cca36b6ca86f33f566419859d876a8f6164e7e94ae8ffe303d2ec68a3e49fa64b82e4276d0d1167934f69c4210f2410725e72e7959276005517d5bc5053fb0ed6e0d162e3655a7fb2371e9f28ca2b64cdf927cd996cb9f14792d201de544ec0809374e8d88257f39b - -COUNT=11 -L = 2048 -KI = 10333a4fa5228c81e32c3d4db8a67a8b16f429a656621274 -FixedInputDataByteLen = 51 -FixedInputData = 80ae6363593f063b039a2ce891d4bb490c6a2c8c9d5211fd72a956652568660ece9ee2b5acd0875d25b2783e6bac1b46e76475 -KO = c0317a04d91acdf79c2220c9fad82553c557d84cbd9f2a0d9f7cece1fca6ed71b5ce02cbd98ab3dc23ba7f52e817f44e2f13d0322cac9912a318cacfbab9107e4573b204a2ab8d711c683e114209afd468174faa3cbbbb0dee9d5c7c5538d428fded4cdadd74668c7382656bc8e59fbfc4be59dc0d67054a0a30d36680f0ba90513c16d85cd58308d1329d2781deb27cd171812073b421797a7c2686e089a3c4b6521290f29517dc2fd08f76c3cbec8eccc9c3a4900df860e392c294557639b52c49061e93bd6916aadf7cc4c882a0fa76d786a89248b28f562d0a52b2aa0e1909ec5896f18ce58ee0255fdeb70e5361e40f0ad51b5132ea7d29384392db578e - -COUNT=12 -L = 2048 -KI = a6a9a0c58aa5b20f9f47f5e3d18fe8f6eda1bcce496524d6 -FixedInputDataByteLen = 51 -FixedInputData = c7a449174b701e83d47d647619727b13c1a753bd609f4b28425ca760a51eebe5c934e663bba844fe30a8e035df7a0004e3ae11 -KO = cf65591f079b69afcb9a1d513aee58ed658c06a685af7ab159822d15ee5c2169541351cec1eae9f295504f4f84a3ecb27093f08c9ff59e10cc9658c2d7386c12e6edb3e085e75f78ff91574cb6a3b313c2a7c7f4aa1c9ec9dcf754c144477ed841fac514ce9b81039865edf886d531393d859da0f0810fed194317c67c0602651a96deb487b26b82835e82dcd34ba927e1c024830ad64afb3910f286ac13474ec92c7727b9327b7a5e69f5831518477a3db381c66fcd858a6b54c8dab7ccfd88c50e111828fba2262aa04200047876322811d3cd6503601a16bafbd2741123c016948e4a4d35afedc50684b3849daaaa73f05c6144f18a78ccd065afacc931c5 - -COUNT=13 -L = 2048 -KI = cf9e2de8a514131c4b63e1e6290f2943b5ce9c3bebfaf4b9 -FixedInputDataByteLen = 51 -FixedInputData = 31791ed71e460739aa58208f94623e2db7710b839692d51e60529e64dd34e48a2ce9d9ad1dd856d1bdc8f8377bc1b06d27a0d3 -KO = 4159158722e664725b9c55c9c10d62c612686e46ac6f588bb082833589f0714bb9f245630ff32b95128c48c66905a547b17ccecbca92db10cfd5783022d01c239afefeafb584b4d40c0e93cbe4e5a1f98f405688849d49e00702b189894706b541a9d3b09a2fa80a48a9eccec2e28fc003df491bf90413d7feb4928ff949e68066a9e003191bc662bd2ec48a965e242cad2a3fb96e443103a831129870b1ce7c0f1f3e5a64b6edf8c103ce9c44c93fc1d2ea98ba158af76d5685d25b7e84c070fceab9841a31556bb31742011926d9bd57112f60f044559bed64638790aa375ebedba82da7b905763eca28eac500a84c7d4a3c1cbadad6b79ab8cb140cb0c151 - -COUNT=14 -L = 2048 -KI = cc5488ecdc74fa8b081acbde69fe995ae44facf941910b8c -FixedInputDataByteLen = 51 -FixedInputData = 8168ada94a76d414612c88f4dcb6555e6c649e2996d6202e436532fb5d4547b3fce7d4fe6c58f8b52b03de5d53b48bf978a610 -KO = 08e74211575ed4a922eacb6ba3f8cc973a4bc6e181e26c98131d327bc35e2a554492d9888329c22810a42efc7bb668a599b958c0bb3074d4e901a188380633daa48be3bbe5cc2647c1b2ec4a92eebe7c5bb43127cc616513c40719ca6b82c17be3832ef61dc5eb2fa36a267b8552964dcb41ce9d6599bbdc31037efe4c635be402fef4a98dea70b1a575d9c48b1930dca78c556fad669624bca044a1b81e623ae36acdfa5df571016018cf8cdac28ff40aedc263d5401ac80a2fbfe5a2d11dbbabb4bdfc383dffc4141fb177310a2f62da20efb967757795528d14c72dee548e3e762b1e76b394f1e5787f354cc21f03ea5fab8cb97735b89ea684ae962ce80b - -COUNT=15 -L = 2048 -KI = 30d0c5fdba27e5d57e3e70f3d5ec228d947ac7922d56f0a1 -FixedInputDataByteLen = 51 -FixedInputData = c9dad88f78a556abf0c73622963405a75a9c2ef667aa5a143fdd331e3ae89a08a9551c19bf76dcd5b13e915204fac427e66a15 -KO = 33739f12f6634c84c7d1bb9cfd08658ef0779cc154021468352a0d44418d9b2cb298c5c4c3ccf00845b8cb82cf7553ac89b041e762025579ca38cf60dc7437d13a76f822989c56d306bb800a1fa01aeb0d4ed1f52459febd0e8bfbe18b8b3a1cd78f60729dd8483e25d2b723dfb131506df32ae9fd68fb3af7f33ad0e64171cc1936afae13200fa7fa32371f11051c36aeead49c43ada7ae27a8c39cec2299a4fe98abd413f00184c3ef345d58d1be28e19795aed169efb17f54d4aad7ba793cd40997f3fc5e0bf82de3c8c82b92a6fd99bfab807d70bb6d512aef3e10fd53c8d68b8168dcf5885378f1392fd83a45419d4a049d86997770ade8e60637d1e0ad - -COUNT=16 -L = 2048 -KI = 1e47a522d2fad9e3250cf35ccede8b1cb8c2a9124e2c7bca -FixedInputDataByteLen = 51 -FixedInputData = 8e9be1a92b945b953c52a5eb272d0b0a0f0490eec93ed37199690ac77c276f24c00bd5f106bf30274b4fc3e89413109473a5c5 -KO = 94d41ecae4a04f166b3a3b872d9397699f35e63e41a708111405a0af990eda300fe38c5ee3a67c6c76b8d62478ae206b5898bb36fa1d9b22511586269b2655ebe282ebcf2c19dfeb0d803bf2677356b8ccc4278397342d8695089c0a700d5578bcc0ba780c19f889eae65eaa8c0bf8a133380a44af790a238ce33ec7d6975ecb3daa2c1723ae7d0e73630816a526d39201f7ba27d67dc027e53d1fe2a94b5d4eb60b1aa9f383b115a8a776352cf38a21957a32a155fd924b2123fb69000ccac70ae09f416ed34ab2da27a52d20e703cb218e9652d2f2be90cd31d3258408e45604fbf652f2d871ebfc78a95856ea27d30991ea68c8236477f32476cc9650d940 - -COUNT=17 -L = 2048 -KI = 1a3d3a9ccae0aa6dc77a9de97d8ab44a5120e5f5c48c6020 -FixedInputDataByteLen = 51 -FixedInputData = 159e348e2230aba6adf881033e8513314dcb2bf807db8945dbab5e013b6a4e78736f9b2e3dcd957735de30bc150d24e09f21f5 -KO = 3886c51e1ac81bb4047fdc9eeaf1649b100808c151f9e1faff3b081927a6d8a5861ce16fe63fff3238191f8b34823681ee233fbb477fa50320161f854a458063d5c65b994ecf6b805c990e74192c6e87809ab9f210e1dc87d6abc465950aed28df3baaff86f61b46ce4f0ca9f6ea632e51d7ff5cd6c5cd8e52dbf51811c5c73f9ede962524416a935543b240ab8b45f7d76193f124b3149fd3b4f3550efa7def74558a9a20249da93e1874d78833937009d3cabf85a19a110624094b3b550dcee985eaa8adeb75946464bcd56f250eb53c3c9ba90c638da1dddbd9203c92aa669c525cfc57337d53d99a2b3ef80dbbb46da3cc0bffebf647bf5ad9b03a67503c - -COUNT=18 -L = 2048 -KI = 3d8a1298863a56defbfb1a2dfacf6b98605c369b0bb237c1 -FixedInputDataByteLen = 51 -FixedInputData = fd670c1d0ed37664be1301be30d1066731910b6caf0324a5117b85404e09387ed35f0676ef8f46e9e3109d426c9cd151506d40 -KO = 803867b198b206c2df1b28837a37ebe7062dd01fdf01a59a140c05b4bb51f5ac11ee9332201528bdfec6811285a0f40832e5c02db4b19a71fd020a53d4ea767ff091d4a7cc166db22e713cb5590958760d81e79e220a926711504ab305b360408424f20dd3930b10e4ec77d09758aa82bc89e7d3302e6eaea171f5cae4aa64b0c959dcef67fb39df706d8236beb08e14cdbd9a00441dc4af8118151f2c6c1d7f45bf9e911e6dcf3d7873811f10c191e6bb8d21bbf5c399f02ce1e9f1857976607db566f0a26747e3ea93147ccbd0d87ba2edaf9ee01a731882e4de3b38527983bf0b0a82eac95f4c51afebc014617a6989ee712f69d9cdd77d2965a699715fad - -COUNT=19 -L = 2048 -KI = 39ba350b1c02c12036444acf106e23be8acfd2d5316040b0 -FixedInputDataByteLen = 51 -FixedInputData = 32715a4d49b9052015d7554307172c0d3a7bf02e397f4d979fdb51385812c534ed99b150838838931315192173dc57c272c5bd -KO = 7b5ae2f5b983fe847d2dc91ac3108e5653eb2db726ecdecd3dedf978effc4d93c542481a2ff09ba2d7d5b41e02d10a284985083b9fe0ff7a532d097361efcc10d435929b2e86019d4f02da50d1413895207b4d6cbc3c803175fea6343157b43129aeae2b76384a6e30e6ed1fa48a2a57608577ef4bc7a3021db30e05b3d762fba089d346de1d345d1755f0a0c35d9a6ae558ea25e0896f2b723e1960e013ef441082a53bd6009768ce93d9065ebeaccde7aa259eaee2f845909d910f00345a9623e4fd64738b4795d93146023ff8bce540949a9caee249bbea74197a89605457cfd7c5ef1498b5bd20d5f2b2c51ac94f68afcbe8b292fbe6820f981e59358fd0 - -COUNT=20 -L = 560 -KI = 9ae3da99607d88f192d2e1a17b697577b9cd813103f7b433 -FixedInputDataByteLen = 51 -FixedInputData = 30fba91b49a0ce8b55cf9e0da6e38295d0e363633ad43c045cd049673a5309f4f06cd7c9e3e5015be58f04985096fd1b4458b6 -KO = e4592704078fa4b02b11be88447b3cb97a19148f1e5efea4e57f3a91e0b96cea6fa3f799fe4730f871688b53f3c566db921d4d015abad18b6a8aeb391dfdda77e5452ba81996 - -COUNT=21 -L = 560 -KI = 71142efcffa333559850b6672505135f77949cf849f5446d -FixedInputDataByteLen = 51 -FixedInputData = fc41da69f80c06f4d70b532d6937ffe69c5a74abf82d4a3b60579f782278e450f4c793664b4aee10f16a7263bd1b809f38287e -KO = 111ed99160388468752bff0cdda70305158f4cf0bc548d5f8c8c0f3232dffaf4ee9c4c5e2fb40c99cb475bd201914a5e696128b226395909c92786ae9894d1abcffa391776b1 - -COUNT=22 -L = 560 -KI = 39000e2a8fe607324db626a04089a36bd5add0f49360d62d -FixedInputDataByteLen = 51 -FixedInputData = f19c8139bf54aa5aec91188fb526a926f15f07b95fddccbf4dd01f8f3a59cd88b8f517ecd0ce06a02e2d8b9b9ffff5065e1e27 -KO = c65a93cc7dbf3ddeb1bf6a355b7ac89222abe2e472aa920381dfdb9b690f138b958e5d8b02d904a00377116a8de09c841a53052828dbb77ab3a14c583be388fe948f4c72bfbf - -COUNT=23 -L = 560 -KI = 65ebafa1d9294969453c868e047b35a4eab9e27e915332bc -FixedInputDataByteLen = 51 -FixedInputData = 93ee7845ecb14d6d9d4b801aca61599a0dcc195ded021897919ebe39d228aafb155e3c84b948fbccaa55e97878aa0b6e78d26c -KO = df912902d7036b9019129fc580484f435bd40ce8be79ac990103c99a7ca7de9706c41719eee356a891ab836c3ad264d1018459b506ef23412465891df3b861de2671966ba5e6 - -COUNT=24 -L = 560 -KI = 20c21f971a2efa11e72b0f02abb11ff10c404b4e9e1d7a98 -FixedInputDataByteLen = 51 -FixedInputData = 59e55b161e21929efd039685ef1cb3ff448570ab8c16f0045e66e602e97b6f9c9625a25ddcd3489ba94207b6a6ee6306a15bc8 -KO = 216d47e945d1394ccfb051c1099643f4f9d4fe4e6d09274fb07e2b7d381fee09a46721c25ae4b4bd5d24a1d3d5cfd56e14585b9a7416714db46b27ae3cbb80d84031b115c010 - -COUNT=25 -L = 560 -KI = 621d279d2484ec0e64c40e0b6d524826dc58e83e2694c1d1 -FixedInputDataByteLen = 51 -FixedInputData = 80f3cba278613b6d3ecf7c8635c59153865dc4e8301a3dfc086f056e48ecb75cbbfb371b7f6646aac4269db0f6a114c5bd4dc4 -KO = eed378eed89d9c810a1233a8ef97875502c77057d7e75dddd4c0ed5314c6a74ced8eee9c4fb08b6daee6c5100bb894981f970061a1b84f94379b3585ed2d842231bc81016a19 - -COUNT=26 -L = 560 -KI = c3d4c753d888901e948365b5803e93e92ce74a39b0f0d19f -FixedInputDataByteLen = 51 -FixedInputData = 7ae767faa3f4b074f765b954548cefcb937ac57d85dc16720bfca092fc5e48ead39b9fde1b0325c36b65055f022d7311f25b31 -KO = 74c14f564180e00f7e4a3f8774233fd6329724df44816a9f693cc18098fff4451eda77cc9273705eb13d0a5a68e878ea6fb06687be14c31fb2e859645f628d5a199a28c5ba12 - -COUNT=27 -L = 560 -KI = e997c494bb79bd94db9a3ca95df1850e3514b8c8bc24cab6 -FixedInputDataByteLen = 51 -FixedInputData = 3da8f833bc1a7a87bfaf45a3c6bf6b6825df0e9184e1616f90d072b1cb37920125a904852ee727f870d83fed85b2a57dccac53 -KO = c79a860a39d0dad1c3ad8bdae7638f3727534f67b85d347c105fafa0a949e0f89a31029e8aa12ad1f0d3006babdfee796fa3aff1944c53aa3223cd040b72ffe2791df97a290d - -COUNT=28 -L = 560 -KI = 9e35e339049865b19e435f73a3a6e050d88adebac29d600c -FixedInputDataByteLen = 51 -FixedInputData = e1b5cc156499a67e0710fcc534714f0538de3f643e36271365422f2645b178ae96eac8e8c8560f1cb7c4fb62e8107790df39fa -KO = f09943b6e1bfe2646c0a06f59c77147a2b01369d653ccaec2e83fd4d2ec0579843cfd78bd12054c6b41fd2b6a91c8f1754aee6bf036d35776e7e9e63d3c16785b53f2656404b - -COUNT=29 -L = 560 -KI = 7e212067b0c7b51337f8647160131962d7756ba10a7a90b9 -FixedInputDataByteLen = 51 -FixedInputData = 5187e3d9f4686e7caef03cfdf9ed243f93074ba5d9506a20d0993cb754a3b4995cab004639b210b9db59c7e4470fe2ce2ffd25 -KO = 64ced591597dac9ade84b0ea54a1f0bef40884a50e365534df51045552c7415676d8670644e077e37a94bd27e6fea567c4468cb0d23ef278f203d695bd8df69012825d9ca995 - -COUNT=30 -L = 1600 -KI = 9d856602b5ab94ba9b1c4f838a0f0ef97ef72aa5a4f833b0 -FixedInputDataByteLen = 51 -FixedInputData = 5d04417d6c300792f31e53bbd839ed5125d68f702fabd0abf326e1a1e0174038861bfb33be8f738cb4e4ea7c3c3169a0119303 -KO = 576eade88967537b1bf64eb7aa4c750346d151aee6f72ed94fb1596f0869d8cf14b8235d683cd482e2270b83b0ab18c411d8f78c8bed4058c1add1db9c8d3bab37630c7e5ff25455d8e24097506a347b2f3f027fa28d1d25cde4f3dd48963dfd93ae3aa3c1a01d9bbf6107f4ca47b38c3e860fb655aa754320a04747c74c78b1e472750a6e693cf59d6ca4b084fe4e95fedbf566ac416a3f0b722668f7df35b74cac8278f82a26b5f4bc56b0fff7f92bdc1ae064fd92a9e1e3f173d6fe28a212c6e90b3ba3a80538 - -COUNT=31 -L = 1600 -KI = 3ccef5e5156e5a8fc7449ba5c39fee30bf73cdf3c303bb2c -FixedInputDataByteLen = 51 -FixedInputData = 5a0fee0be8829fb8872d05a97da45279e334795dcc2c4cec43edf2bd6f6b9f3058ebd000a2e92a27cb4b6fbfcf86aa73556171 -KO = c7351969d5386e02eab3004e2951995b4a55bfc54ba04531ec5069dfbb8aee76b88a7e69dde1feb08ced7914723f6e4190e528fe05ec39441d32542ccfd29a505c6ff46fdd36b4d12e63d453b37702e51dd0c9cb34615cab74000ce5f4cec8b8564e8bca89254c81dcd88dcd7025f5fa3bc77c7d2a1811475d0d733610ec0e417150c64ca7158dc87dd425c15bdbaa0f863d00ed0e8e7c8ccfb9e58b4670292073271702f01004304465f8e430ab2637e9c713ca981d2810d23a894768086c6086676bd76655cce1 - -COUNT=32 -L = 1600 -KI = 7f9fe1abad3b961800611a388d8b65743cf45395341f71e8 -FixedInputDataByteLen = 51 -FixedInputData = e17e0915dc205f2253d1013c89a1a2fdfec360fdd7592c4fc1b3a1e26a73fb1b01ac3788aa041b6bbcbf73e8855ff0d409278e -KO = c35fe3ebccf192c4c68d631820b9765feb22eeb2f88ab026414725df81c7100b8cc4914bec82a1c893a90514e4f1e1f40889d97e1b2df8d2c3ba9d3e5a92ba7943bb4339bf4cb4c76fa26bc6bf04ae145959e8942f74e5a1e590e4a064059782697bf5221c32da1002421a929666628f873cd0e6ad5a1657582f1129433227106db24b385a116f1d0c90939393ff4e61f22a8921dae78b77225f2194ad99b9785b1c51ba80460f842a755a32fa2324f8361453bf2b245c8df16072fce0cb2991f4cd64e73a296ead - -COUNT=33 -L = 1600 -KI = 50686275f7099f52462fc0200da5ef9dcaa0e4605051c5f9 -FixedInputDataByteLen = 51 -FixedInputData = 8ed10d07a7afb28143cff745e8255edcf61c0ee20766f648fd3bdb014616b173d3e6e0b38f7729dcd1ddce338f9209e2335755 -KO = 1b9cf127a4003b7e9e876d7166d42db158fa4ff02290229f0fd70601a030ca3e59d3e873f3e4624a8e110385965a49d3344b496437f79554eb3a9dc68e2c53943f6a84cced5eabd75b022d0995c485678bbbd4faada7b15f81b0da157820ec62e67589ef27966c5f75583513519b2a8cbebece031dc7dcf937d9e3281caa1966bf6c961e45ef0e149c4f0dd99ce702a42c1cab86e58157f121812144531b413391fa6c99101565c741d27efd916fb5bbe14b997e1088b34004a3f48cce6053ad670c50602b31e0fe - -COUNT=34 -L = 1600 -KI = ddbb5b0ba3dc03c867d52e3444d257530abf76fcb415586d -FixedInputDataByteLen = 51 -FixedInputData = 0626bd27ef5ad150586a6846439b8560c6e33958ac4e641a37609108abb7d9b681b87d08223e85e321cb38e54c8535b20ead5c -KO = b223c2cb9c8fd1d8d04d21917a7e773610da6d6596e6bc79733a5e665ba528e8affb54eaebf3606d9cfdc99dd3825486e2bf38b1ce423b41310b7f6585f13a6914cfc9586bbca13d337a4f53eb07b8c0d9e073d1108febee0af710f9a6ebb2bed2e386a8a2e17854d6996c990a6b3412274668e01a06fcc168c35673c03150a2cbf079cf63b44073e6e2bc6e0bddd0c32b7089caa79be9ac9501cddb73bd26bf84488303db1b561c60d67dca9151d5598baaafccdc04a0b1f9286f34ee654b2c480764ca1b04d92a - -COUNT=35 -L = 1600 -KI = 3394ec1e40a651a851a7a68951be28124afcf47dcd591559 -FixedInputDataByteLen = 51 -FixedInputData = 81e36758c43d047608c03c42f81755da94c4c54937fb39d38a2d768021ef8b31dbd6e2fc3f44a57853f93c3a637d01721b44f0 -KO = 616a26018b1396cba8e76de2513c17e99d04bcb7c265535234ee16dea9e650bcee39881aa273890a0abba7bcb1902e978140816e324dd57ee88dc0b9d76de2ce51725afc0a664f75ac9224ef2dcd0c6b3065e11dfa120b8e9299b27521921cd2ac08d2a092abd422cf5926682b2a6e2873f6cc2c40803daec6190065efc9e252e3859c497cfa82897969c850e7d39a232c1b3f6390baedda1cb7b1b08c60f2d891ff8543e8164819bae03dd0fd14d6f5425dddffc72154b8a23d57a2ec20e9521b18a8e6265ab498 - -COUNT=36 -L = 1600 -KI = 44736d7fcc2ea80da7f9e4340fe436bef7f016730fd1eed5 -FixedInputDataByteLen = 51 -FixedInputData = cdf278dc38f85e03c050c6c918bcfd07730068d70230c8b538bd201de8be8bdb043213197ea993961b6b85121ad75577aa4561 -KO = c918326e6acb785acad0d49600aca11abf73c87b8db1f93bef17d675b19f08aec2f47ab6218ca32304ababa15d01cdd4b377128447dd74c6194d710e2e8df5773fec22f4e14c88aad65a839185a49fa2dddd191995a417c99dcae4e9487cc7c650802646a4b31ebebd07757c4bd7f3b109c5554af216d2fd8b4230b92b7c7450354b985d359b19bbff3bd1c6adf71a469c2e16c0df7330da1ca9679fe90ea5f7395f338b05dc2f89e26c09e71b4f2a5869d29d0309c559f5367e84a4f50ab451269c3e2e8b07438a - -COUNT=37 -L = 1600 -KI = 8c2d7a09ae61a6b0982902d80167b05108968e02a50f2fe3 -FixedInputDataByteLen = 51 -FixedInputData = 4d946df9179b764e23898036699aabaaabb03efc5bab9d22eb6b6f9e0e3e7c856aeb4586ebe0f36a0d53193534d161b791ab93 -KO = 326559762b218e8bfa5d6e480d2b59f9e24f320fdc782b54790ac272810a9033d2a33106f1501fe095c58d54881bd2fb49c817ffae51a84cd55e6f1c1660147e4ef01cfd9186a40e7876060963fae132a09d670e49fc249eebd7f3f5a911b9f398c25b7c777b0f287b54ca37715bd505b8634c71d997209d87e45500ac3a45c69d5dcc7d56034ac99d6d7dc287cbc9e493167a805fd94da1bc47735859367e6bdd344fa3a8c4b16f04541b6dc47c574ea295ffb1e6255e3434bd242c378931edff54c2610e1ae447 - -COUNT=38 -L = 1600 -KI = 86ba97fd12a0c012587bb6ca27963505d452adaae0cbe309 -FixedInputDataByteLen = 51 -FixedInputData = 01299a8378d261e6c3bda3ae541fbd50b212f90f402606a144dcb3f5ad88e18bb5578ff0d01dee6b41d2f65b69aa3d0ae4010c -KO = 6c51323452a98a7e36bca2674b86df58ac8acc614994884570c7290457a9035127cc1c7c1281ce9757346b3687ae4b17fe31d2aababac14e9d8ce0ad43a060d69e543da166d3dc83574f9f6cf9606cf1af05257a3c9b3d0f6cb91d05bfadbeaa4e037fb0d6ee7b971f303c0d2d1a56d30ba729fb04e0c6faf14b27d9ff1ba860d49be8f8e90f3ce9a5df0511bc544db2d65d2976261ab5f4dc4fcae003d1500cfec72c5f381706df0c24269ef2d4298d01e6b32df0df4a9edc039f054c43cb02b4a73ab3c6b5b97d - -COUNT=39 -L = 1600 -KI = 95abe5072aa0fd464f466147d9adef8b57a983f94dcf726e -FixedInputDataByteLen = 51 -FixedInputData = e07aea3af62a253c5b351b20b4ac53ebfa1e0c8f0c624bcb659ef0bd6a4a7b83531264c731af330f0d3d48c2325599991b5aa5 -KO = 6f83efbcf480c25e538130b4d0eb4c6e5a622fab0acb4dd203d3a03a424fa0fb2abc4f2c1df9c9609f2f20fbabf5d956cab64b05331b1f65f5bfb2829b20697dbb7c3c640c8bb70e4d0d386e87699a859f12096aca4be9494f1c868bb95bc33db722e2bd20fb47569e59bd083798b46f08a645e49321309af968cb347533784be524eedd690710682853faa9a0575ab2606f7440cc38d9b95b7344d1d7920bfe8af5058e490ed67cd405a0a29222e8cc96b430ce63fe3d1adb9b8fa4a1b77ebdc6bf9904d1583e36 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5b6bb27e2b210039f0e5427491decbef0d6791ccfb9504db -FixedInputDataByteLen = 51 -FixedInputData = 685b4ed3cad240d8e75651fb5f0948b1f28a1835394e0967ab44dd1609c3c71ee02d82359b26ea93aae0b9549a4f364c7c4304 -KO = 446151f39ed133757b9c2dcc47b79a2409fce45db651f218f61727304a95a1c76ab7be981d9097a596d6a3fc3a6dee4ab33a28098bb2b4bb1476a56ed41d2c25 - -COUNT=1 -L = 512 -KI = 3e771aef658746d112a43426875ab61559967b9e98e36795 -FixedInputDataByteLen = 51 -FixedInputData = 8f9b8baf130a4a9d45a195414d028e121ac3f6ffa67146e98e40f3e15704e3544f16d50dc47ac6411f5f66ac7de09a967aeba3 -KO = 8574c6050c46b9576ca57168326f26b09b9b6a7b714c11232872a27547e0a621a11012ee66af6fb44ed681af3645d868ef94b47b1ffed7435fd9fdb7f9a6ca6d - -COUNT=2 -L = 512 -KI = f98d5a68f3235307fc67298efdd1cd6b1d07aacd3a0c338d -FixedInputDataByteLen = 51 -FixedInputData = 535efdb2a287f2ec583d518271986c7f79cabf979db562f71b9852b0d794972b8a2d500ca51b393e5743f7d7d5e83523f42f56 -KO = 046ffe5d166d831adea434cbdb06e214dbced15d73a7912e57b1845c83ea56d7ddfc7cac0cdb8a5ee5c8a3e0ac623858ba6c03716e44554f8900ae199608a787 - -COUNT=3 -L = 512 -KI = 3bd5e94c83539414d3718eb9b042201c8265574c8bb03152 -FixedInputDataByteLen = 51 -FixedInputData = 0f33f4fcc729e1336d18bf954e5604611a44123174c529fe56d51de49d1caf08b1290112ff4c9e9234b20bee4b4f2a79bcf475 -KO = ce09e9548743818f4042b3bee919773b998338835b5c6cc9b6595a7c47c1dfdb9cf12fabb37513516a3e18f66a447287a769a23ef68cb7c786b563ee5cddfd2f - -COUNT=4 -L = 512 -KI = 718f3827bdd50095444e9d829e8d35c8849402a9365a3c50 -FixedInputDataByteLen = 51 -FixedInputData = 26f72d09caff3f44455bf4222e5db7eb4ac5397609d61bdc24afc4393ba41ab3b4f4d7444e0e28780349a711c689b2620e11d6 -KO = 8fe8f5f244f2507672f17ea7bec9bcf35cc1d43f1307b6c8cedbf778701dee1de142b4f4736de799798d4fc6d80c455470773cf6b75657647d788fa6791b0b0f - -COUNT=5 -L = 512 -KI = 16ef5c36115880911eed1a9dc9bf9464fc2eb0a32b1d60cf -FixedInputDataByteLen = 51 -FixedInputData = 1c8d94af9cdf1a2026d1fbb1458fb07f47d25e419b38a39b4bf2a14a5fbd68e25187d77395517a19a4afe859b9d681dc90ed08 -KO = a5893881616de3083ee2668d90706718070282ccf31f7e924961a6f6cff2b9e5ae689db0c75ca6adc08f2a632db80c5c5b260e541b93d43390a35d4aae8aef5a - -COUNT=6 -L = 512 -KI = c8cb0fee6fd838ffdf0d2f20079750957de994e3f17cc984 -FixedInputDataByteLen = 51 -FixedInputData = 17c1c5723db283982d9268dd573b4254e10c02c2b96c48cc3ae5daf2478d3a9cf740442a9c2989df7991eb552c988bc1e3f3d2 -KO = 0e66588fe45588109bdac2a345c8419e2edfb3405deeb3756f7dfc503b257d5027d88652a6381d451a06bd600c2bb0f0972e2517736319fd7ba05edd5a5e9986 - -COUNT=7 -L = 512 -KI = 03c820127ac677a6304d7d3ec65ce8c8bb52e65bbe02c16a -FixedInputDataByteLen = 51 -FixedInputData = 6ce7c4b109efda2c5b2c61d25d5a71329d1a0864e5e5e41e68eeca1a0777e3711e838d0667a1a33a3e806a8d7b59719d2e1749 -KO = e45b105f9930733bd174677747a37ae09411461b0e028f1e540d73280d3ab45f9e5268cb937c82b2b65c81841d838133a49997d37620567bbc72ab5902b1864c - -COUNT=8 -L = 512 -KI = 4bec5b24aa80c7d16c5a6baebbd16fcd1eda48f0f80e1160 -FixedInputDataByteLen = 51 -FixedInputData = 1116d5f72065b9ed8f06aa61ad8005d79333c6f42f10763aa528a07c310c3819378b9e6bd52872a5ab6c7338d1caf6fa550fb4 -KO = db7253b66212369d100b385f30cfb550670767bd115eaca073076a4bb1621a81fd6e6621d69019e4c3b0f76cc5cf5960876e9ad1307c934eb9a51dae2a7d95c2 - -COUNT=9 -L = 512 -KI = 5978da14f12559e34cf5cabb31c84432142108540f14cda8 -FixedInputDataByteLen = 51 -FixedInputData = 8ee952b6e274e328ca1e78492c9e3ba24f222df7c1f0e16cb32ee0a87d6d83edb458a2d8a6e490e9500c6f9d0f4f8ff24ed6c8 -KO = 709d942e04ca74cee45033598e635a48a668ef993f7fce6f87de5b2825cfaad5aad70f820f5bd30c89e089978432c7137b6d4b7bf7b40f1d02fc122ac31878ef - -COUNT=10 -L = 2048 -KI = a0763b3e0cd58c3554e8e5726e2996ded3df031de365fd8d -FixedInputDataByteLen = 51 -FixedInputData = 70ec76495ae1603e21071feb85164c648d85e0b169522f34e1759a083b4d73bce850a0d4a82d322750446df0e277d418d8311c -KO = 35bbcef9fa718a4342d08755d7f1327ceabd79b75498b5ededf1a087b57d198c36acccee062425c6c0cb31ee16622f76ec9226e258f236478659288271fb93092bd9926f2d3dbfcb6fd0cb87a410b5f2634ce071ed27ae79bdef067043c0cf3ac4c09ae54bb069d93e6bc340d26d38599e66f24126865e5d539233f29866214a183d6d21946b7672f1d08458ea07a18ad26737ebfc85c74f3408e428010885cd8169e31e7495e649153c100cf2fdaaeb1e4479d4c056c1a960048923c97141435fce52d8966e2f6137db4a5ed2b3ca12f7e76d40695d9b0dba8c7fe74cca6968d0fbf182c9c408abeca25b4cdc1751cb62164d091b213aa8d9b131c36656941e - -COUNT=11 -L = 2048 -KI = a24f1201f04a08e4c64ac563b17b8196376e7cce5edec82b -FixedInputDataByteLen = 51 -FixedInputData = 33e427a21036bebf6b01b2527e390f180110f1b6a8c09e03f7e142b4cf211fc553b2a6bffa4a3712ccf2ba92ffdd1228ebecb5 -KO = 7e37f5cd6f54aa01c1ee9268e6ce12d38445458d2fe0312427edd107522a923b94daf22ec611fde12444586a123bf7e6f00b612fa2c2e0ad8f339c44029807672f99e686855a2baed6733e5e1467b804549a2960b232cb9df888417f42246e7589c869a311ac9f4431d29e02ca1c84e9c61e3c315a7be514f3db24c90c3df366b944e13649ee439982b4ec6334d5d2170e42348dedc069339e148ac8190a20c3517c4fa81ec36e3ac68e40a28d0faf29def66f4815fb9ea9c02602575848745c2b5629dcf7c8d1b3b0ce8fa9393f85905a17fcf44060dbdce00f528abcc96c969daccaac92f010e9edb2bbd1b8977f423e075ebfd06e42d461de7b9bf1b84d59 - -COUNT=12 -L = 2048 -KI = c22ccd31c1c2d36a3035124523f02b3bc70e780b9af9d3eb -FixedInputDataByteLen = 51 -FixedInputData = 315bc0d5e150135d2d7e89fad7df351455f124f3df5fc24569d52510d1bb376589b13e3d2f83ee7db545ea9cbcf011527026cd -KO = aead4295facdf8241107f95817ccd5b9feef0a83df49dc273102dbbbd0a59652c57d41ebef2ee7b8c3bc6358109802d03dc2cd54fcee258106a9a4dd532a346bfe94d0b177c66c6771097bf892a680befe66b378c66c61fdd6c8649ffcf4e3af6124adc338ce3b9010413fdd2ed730701f7bc12db7491e61b30ee1dfccdd74b5c63312d39a5ef8b5d6882f6960cb5aed198e704f874e0503f15a7f05809b0d155db82160829c6e21a6ecdf9bd5026d06c2031f70981171b54e16f3e501c1bdafd1d109effc1ef44172761a4e8418b56d0fac4f95ae05c80e32756e9eadefaf26cc30c292550f3737d6c0d7d33c984632444b8e81341c6f02e799a06e8beb909c - -COUNT=13 -L = 2048 -KI = 6847497664526bbc29150bb344bdcde484c01f200d9b999b -FixedInputDataByteLen = 51 -FixedInputData = e72bc865f2e5581a75e05e9c6557ab1d61e46e09835be30a701d5aeae58b71fa1b4d95ad756b56240ac9d7b704c616325ebe12 -KO = 8d73b323bf64cb914a185abf2d668b2d3bccb7b27dff15f4ea9d31361f14ea89790d7f166c87ac1e7b071b3dd1799c6f90b5acfca4bc04520ab572c90275539d17826a782ecfc8ece569a9eeaee3f83b06f817195042e913d562f2e946e6c06eb9ab138ecd1f165d455cdbc63d25fb27a86be21e9a9ac6151ad8941c74c5d766ec9a9eda023227d84bf74cca0e0c829ef956c7f2fe91631cea4091eea00dd12b3e5db465298daccae40e4ab60dd27be1d0e0063c63d9e12f7b173eed5d111cf9073ebd17cb1d340536fa0df26942ecbd8127ff873b4a8dc51f83308e745e3ed1ab0665dbb72a9e69b38d42b34d72e293c5c80a568d4d4c737c2daa587ed5e571 - -COUNT=14 -L = 2048 -KI = afa2ef2edb6616a6c8c38c4be7d00a85ade877226eb459d2 -FixedInputDataByteLen = 51 -FixedInputData = fd765605268da49e498a80e307e7a1e77b1701a444df10d3122f96a40743e1e5e0e704252d44fdb272668639507cab9eeeeb80 -KO = 56f8c71541347f8bdfb8b719f0119cb2eafd42cf920b5fcf6524449e604890f5b8a9f8dc49eff8fd4cbe6500a1c417a35d87ab0a8f419d37d5c719a9832c4600215183cad0b780036f71e542be7cb4a086cb912ed008117aba7f6b04d5faf9b4a55a32dcebc3967ac1204062ef4b2e445417e68d9238d0b8f014530b4519f0eafb5259c2a6dc2ef1c0d9284f9dcdd28431a9a148159ae20b14324e25f04c426584282f96edde5ea186cd8f8b070e0c63ee11e6a6ec3bcba5eb3ef6e2e35f68b5fe6d9a85b659819b16178206961dd80f8ac0710a8d537c49a6123983b7ad0522659d31e67e42222a4629a4710ca672f2d4e691ce5ccaabe99cc31ecb0b0ba1b6 - -COUNT=15 -L = 2048 -KI = 588e9754da24e5f6c0b6f79abdbc795d3653a47a2a2ac5ca -FixedInputDataByteLen = 51 -FixedInputData = 16a6e63d16d802e9f0f99acbc778a1a0cfb9df7863df8df19404c53a7fb10d2d71339a860a3f7a705c6a1f160f36ad3fd79fd1 -KO = b5abda4535478894d00b60118a99a7c7ad102705688a75151041ae79257c349f5c280790c1633d62edc3918d129768442be68aa2ce39e9a1d5d31f38f29d955e60eb0b85dceba2ae0f51889caa46dfbaf1044852ca4affcefe11b2e9de142580368829bb589a8a11d09f0657c7ecc0b69dba425433624d5a48a02c9ddd161825975101020b9d6f7a51d75ba5db6c98a2000a717a76faaa14f4ff06c718d84f57fb92b9f9a9af92b2f7f63a13daad38084bfe7e7d01ddd640671aa94dac68fdb29d5c31cf3c190139e8751edbae92b848d5eb2366ed3206b34b01dfa4d7eb9f67d9cc6705e6c8ced3b3d74fe98feb3fc20888aa2c5aae1cfc3b774cbd0e7f27ed - -COUNT=16 -L = 2048 -KI = 31c0ba5e87f8287e5a7db7fe0cda9ce769280e61184ec236 -FixedInputDataByteLen = 51 -FixedInputData = 2d72ccb7a2c7cd834e210a3593dff2f25fddd66e319254a0e851df8bce080166638d79030c627ef39d80cd6c78133cdd2bad88 -KO = 9e6454bf05949341541e13811bfd4f01d8adb1c57126fa9aba2dacc51c9fc231d1410b42d5745b5fa8dc65d019f88fa35c715ce0fbbebc88a7ea0e08e9b212a71d03f8256b94423f23c06f20e004ca675016d00d252f5181e6b72cccfdf6d2c103dae5ed1b5dc0fad8e75db5a1fd204524ac4b26e051bd7d8bf792e4142fa3eaba1b807c46f2bc4a1b8df384813a8bef4b8291f23863e1fbaa4eb593784cc3419f55ad93c9393bee0f51d1e181cdf8103e6df6961cbff1861ac9d4d6014b8ba6a4c157957aa42d6f8113422c8b0e3630d089106993e0779b86e2d0e3e52d039aad45a5c9c3c911176c677795b29f12e5bd69675317f2a79b513c239f0a264c8a - -COUNT=17 -L = 2048 -KI = e10b719de0cc3c0f28ae33ee2a32cb74f207c2bd786da222 -FixedInputDataByteLen = 51 -FixedInputData = 2ab6591d4c1fbed54523ed3af2f15038900a02293fb27b8eb0f8c34b26b412d1de08f2b00fec74fb4cd3acbb42ada2c5f8bf7a -KO = 85eaf7e642f2658c2b2b10abfdd3b67aa8ad1c846620c51acea43e6b21db84938e40ed6f9af57e4cee8e18685238eb78aab53974088719984b3156a3f1f9785e3c8fa638a578ed3af4acf2bf687ae0370e1d4469d482fa8a0d8b9089e372430abf4bd0127522e19a4dd6073bff630f4f43ffd2f9362fad2eec8f64599cc74fd6ec50359ce31da2516052063b2ead4edf0fe77a201d18b9f7f43b7ffad3a28c1b71604ac5bc8755193f7e3effb51e9e8e4711d782db25c6870fa79e4cffe8b160c5c47edcdb5b0a1869ee08171fece328dc08db642ca909d13868c6d88126ddf8baf49af49d020c4ba23502692d4ab632dfd433ac32a7a6398c47dd50e2a161a1 - -COUNT=18 -L = 2048 -KI = 630de3acaac23fcec2c348a45f80dc3d4a74438365414ddb -FixedInputDataByteLen = 51 -FixedInputData = 25c10fafd8f88d0782902019519baa842abe51c1fd0ee1f67c57b07666da02dd86295743dfcbd176cb51ba4a8f3b46050f754f -KO = 358134ec30be7949ff98f9ff36a73008084bf03600ef5368759210419b615ca5c94b29f42819ee27e780c553c5444bffa6ce280e09f2c0c4ca5d11cbe3937705f349e2e94d6928f4234a72f8d51adcaccb65fd1eb7268476624ee8b8f685889c552aae2957b13709d42c579c02478bf827ccc1436378ef87f94da8a2a992da87e46e458b8ff7189b70d033dd809b9181582b7456a24420186ad3e4b89ad48ff50dc4a9f3e20580bab4878e12778492f6f09067d933f8ad49e437dda22c106138a128f600312e070760ef754d39acb787d51c4bd803accf66d5faa930bb7548761a8c87b82ef20a9dc7a811868071a13f6cff612d4d9b2a8385e5d43e2336d465 - -COUNT=19 -L = 2048 -KI = 50eb77f9e3f0518f192cf4ca966f4e09e88b2a9019e165f6 -FixedInputDataByteLen = 51 -FixedInputData = 7f408fbd1d174d88b54675d11603a8ccbe3b10c32957d6ee811953820d758025adcdbe49d4fe6706b55c1511bf820d3a423ad3 -KO = 17a09facd518a2846ea00d5d8ec58451513b993d8adf82f81072d1c32e63e4a02a3b8c2f088dce63de07e17f10d7b670c8278b1d361182efdfb15fa4f19a95119e6354a89d0207a8a881ed68d29ef439fb17d0c6b1a94265e16026b3a97a3e3015f2fcc79b832e9adfe84caabb72a596dd1531b21bcaa0e64eb5d7ed91243c4a76325a667f1b85c3b2d40ba7d759421f1e096f85b88e7393495fd764e20e5628ca86e7caea22d6eaf0681572f91320abeccbe9c9ec2b0bcecab85177cb8f73b25bb3cc525da921773e4178a9a68310b31c1d4253111a3f28595ac5af9781ae1c1821d0779c4591aa186d5f35288921274d5e2f21130b568cd7fb607ceb0c7a4d - -COUNT=20 -L = 560 -KI = ad876fea281eb5be6edbedd72049236d1715f3782e2f7477 -FixedInputDataByteLen = 51 -FixedInputData = b43b61869f71aa06c1b4ab05a0a3bc85309018ba8a50a104556a7896b8a0b3a5bcba85ccda0d5628bde09ebf5a2111e49c2b04 -KO = cfb01e223c36286233927e3fe7687aedb01e8e9c3e8ebfe30a6a78bcc8ae9accbb91a03ec038e0c1dba7ede2337007ece44721c231315343531c1c4cc71d3294553b95fcc73a - -COUNT=21 -L = 560 -KI = 0d59f015ba4e2ee8a0590f245ee4f225878ec5c118ed2d97 -FixedInputDataByteLen = 51 -FixedInputData = 602afc1e560576b5d2ca34c11cf37975f4642895fc55f083cfcd1caccec055809f77e2624f304c69e64fb7605fbe45c040e784 -KO = 94a2dcb08bb18b962dfe96ece238a71c79174657848d46739735d72ed3c74d928c6eb4752b6d2af616ea9b16ec0de6caf7e3850325dd5a1cacb27409afffe3227b34502c8315 - -COUNT=22 -L = 560 -KI = f6d736ad283d6a67207d3e078d94c7d2b375b844d5c7f30c -FixedInputDataByteLen = 51 -FixedInputData = 50288af44d70c7ff88b8f32f748258bd1d797a0ed1a2b9f7077cbda631b4806f83a296620eafd5bcb69f6df36d1dcb09d629fd -KO = 17ace31f6a513758cd117ac195870bfc6407e6cdcb49cc77345ec70f865c778898ccc5a31523c1306a7d751caab8cc73f2ba7f90bf750a4f28a2160da12dd01b6bdbdc9eda8a - -COUNT=23 -L = 560 -KI = cee220eb5f9b135bab93fb90a11d454190993f77d2190156 -FixedInputDataByteLen = 51 -FixedInputData = 286104806f61b620ddb16ee5f1d1cfed24e8a9afb406bee21930bccfe0fe949379383ca1a0b467d79f0ddf0b2780e1d5b864e0 -KO = 431828988eaccd45dde6831643620f2b1175364f9ef357aa74913b17d7f723257d8e4c2c2c63d776a91d803727a5e7e8e0cf97c87d8af571f4a3673a34f1f4f81bbfe98612ef - -COUNT=24 -L = 560 -KI = ab575daeaef1813cff62fa7fc64b09cfa5729402dd7abdc8 -FixedInputDataByteLen = 51 -FixedInputData = 3df007c25be797e0be61c8cfd3f20f771452d6ac87838c751e718c3c16743e56b4501ba69a80be4ed9bdde9c15721bd2f445b4 -KO = e95965c20cdeacbfc1260cec8949b58f41b394ef98aa69e044f69eb92a87e8667be5cfed3c90930a962619ac8c9ae816421b50fb0b060a3f3f8b8bebabce7bf0d1e4301cd283 - -COUNT=25 -L = 560 -KI = 493f8dd9f8d93c0218232d3d4caba53116232e598327a05c -FixedInputDataByteLen = 51 -FixedInputData = 05069b62e0f4d5b76629ed55b0cba908804cb0cb21c04f6077bcc33695144ff6cf10728fdc1de2e9a9eb7d35a633ca4a4010bb -KO = b9da9fe77e7889fe8e905b558b723c45f5e08b6689c9a1fc5db82429eb19e14a897f59e7a54d6344e68a72be159d7c7eddeefca3a72ec2c22941af62f2aa1041fb5b3a456902 - -COUNT=26 -L = 560 -KI = b0eec832039fa3db03b58d8b592d4cf221269c500c6fce41 -FixedInputDataByteLen = 51 -FixedInputData = 4dd038ef7aef746cb25a147c568c02b23fc737647a44eabcef47ecd597c81f8687dd9cd684a3f20f88801140e4974cf4e07b4d -KO = 15f6b242a91f0177eb0c93651185c677dcb9e63b8571d671878b795e320b7dbee9b4eeaa59c6e53fc1e03ae8aebb6329dab8970a6d9beef509dd36f2bb5c31e880c1305c543d - -COUNT=27 -L = 560 -KI = 0f13fc82ef80accaa10ce41b65228d9f34a32605d85a5f24 -FixedInputDataByteLen = 51 -FixedInputData = 16a5c54ff9caf28b87728b6318a7add0c219f835ee880af762ad7a6c600e3de3342786eae5f67d992c94d983f14d475801425d -KO = 2091f05b3376bba866cbe415fafe9ee6e1578a6aa0eea2d4a4ce68ce2e1d37c75ccdb0433cf273f92b458ce59aeb57ab067edc2a32f977db1bde4efd069a2fa4c87a720d99a0 - -COUNT=28 -L = 560 -KI = 6fc2358da24d39d23cdbdf1336c2d54fac9c398bfd2ef976 -FixedInputDataByteLen = 51 -FixedInputData = 2f55866df91e736cb917078f37739e007053a845b5c7a1a6d8d259f129d8a7cf00c7fe80254a76e82a81f69e768cf35b09cee0 -KO = c34662f5bd01846d917180b1a7a391972ec7c59f4be93e0c1ecaada21eaaa980e36d6d45b8ece412795764fc7350f4bbc7963a1e7367d3aacdd78441073ae6845ebf3f330881 - -COUNT=29 -L = 560 -KI = 156760d9217ab8eba4f04ecb3ead3fd186eb7cce67e1a16e -FixedInputDataByteLen = 51 -FixedInputData = 5cb86e79372a21ed1da25005bc6ede3f927565347625bba0b6803552258b52b5862a28cb923784ab70b15df76e8ea6763153f7 -KO = 3d0a1ea7ac54fa6bce23f81dbdff66969199ccf84f2b5cd42743ab89fb90f10c3cb1eb31a3d901cd1c78d98147ed8ebc4b9c6c35e3ae3b5ebd3dd32fd728b4973c6f9dd76fa2 - -COUNT=30 -L = 1600 -KI = 849851e68e43eea35a097a13988886c7bd7eab64d39e2c5a -FixedInputDataByteLen = 51 -FixedInputData = 57a6f59735e6817287d10a13e9af4f3b1a3912d05e715ccafcb3e082ec59abf6c1bc44fcf820e62dfce46aa6ce85e706bc2206 -KO = 90cef90227525aa067c70f7ead063fc66e8e097ce2f2da698cd273c818447a3dc14bc86bd9b3c2a88b456b2f2d0f9e0d7b24ff96150be1db9fbe291b75844153d15f14635ab552b75f4bfa966b1f22af16210efcab0c1cb0e2a0571e1bbd2adf94b58fc8592de92985975dc14f742d9b41327259151c7be76369c0296a0822f598ae1479aca49e8e5ce1d6985c67a5e94650f2851828ac67ddfa3138034e1c50c84ad89d118c756928059b2d8def35695ced4d2056af31289d0724efbfba6e98613e1ebc4869c5e7 - -COUNT=31 -L = 1600 -KI = e3c0201c9acd1f101c897f3bb8fd574633a6adb00c9dceca -FixedInputDataByteLen = 51 -FixedInputData = 9c6a805469146c1bb3731d8df0c19ed8ddb108cedc0e6a608d787cad09539ef3a1f7a9532b2bccc73005780f44b949b3effbcd -KO = 99a30168ef48908b924c987bbebbefe869287660e2a2eea9b11686add153e1e3932fc9ee1843efd6dccb328aa8a10e20ee178464311ec02d1f4427ba4938533e4697cad6575d09a278621df0f2845bb47ef71872805c5813066855546d02ef48715306a71e81115492bbe009fc0d96583b5c1ff96e34d7c813094020e7e855ce6a1e1382692e311652a3115163ac4a34d2dfc846b2948eededdfe297c1ae6a9f50d14ce20b726d952d38b0cd3e7eb22a64512cec6e1e0abcd16cf61bdf7e45a23dd4c8669559245f - -COUNT=32 -L = 1600 -KI = 6238a6942a8cbcd4237ddb61c951cbc593660abe6cc4e7a4 -FixedInputDataByteLen = 51 -FixedInputData = ba66803a47e5b40da00783c60be7e860c495045eaab44c1e9fe217843e71f874494a953dffa32f2e78fa9b7c2e272d25203d52 -KO = 0960c0f32340209191880b3c95addf48f6b263dc7536937794d3e9718f044c54bd991209d45fade98910b36556338789e89023126e28bd23affc8189965f59050f8b0088446cdbc201eb1041f0ce0b4ade83c11eaff22b2a92f3f268e2a1a7f3d8565901ab5831a94a5f27808ac34fdddbf545db739f80c3adcc62d59640ef23f03447ff057e7fe71298abcb86827b8737b2f8ee73ddfcba43fd4de2236496f70941139c5df2ffbe8fe2605ea63729a10186291bdbd8e14145e898e0062b0f02909401ec99e78668 - -COUNT=33 -L = 1600 -KI = d3258af40415be78dbe64d92d691a9f287a532c102939506 -FixedInputDataByteLen = 51 -FixedInputData = 0e80e25f5430203c01b76af966fb76f89db742ba386eaa7b8753185f2282f6c6b2e443265862f5ffbd61e238d529149fddbcaa -KO = 19beb8bbbcf920a9ff4b0301903f4c36a359c686db93ddf3da69517698e7194cfd60081cbe9dbc9520bf3f883633df24ba7a7da81e5215c9b491592ee0e5f64de01e1e51465d8e8f9dbd0620986b5a19f10f0032a90a9bf707ed06a42329bc7f38233b1dfad45906cf18869019dd8885b1c719840240adb911a36a4391571592844bdba5bbf6dacb561de427c871157799e41ae14bf88edcc8cc27be9f05a3598f7c6132d172a8777d7cc20a07a55573eb2e9dc3055f02aa13e7f34fa36f54cc7728720ba4294b88 - -COUNT=34 -L = 1600 -KI = 189be80e4b5186d2682e4b90a90a85fcdca2303e744fb4ff -FixedInputDataByteLen = 51 -FixedInputData = 1395a571e140591d97508ed5d4676ce967ef9e1edec1b9ade5b0aacc2d8860c1590eecfc55b0dc9933eb56140dc3f2a4e018cd -KO = 89a5415ca7977c9daa560197d1ff1cd1a86a2f7c634b8a55aba2406419903037bcefefa465fc56d3ec1715fe39e5c1d1f12ceaee195d29ee224cb9e0242028d6de14423f706838e1cbf568fa0c4a03733a694b41486f318d51947a4a677f8a5e9b2bddbce8e85792afc98fe1b96cefd31fd0ee549ac90a8524961e2204adc99e1521119a779d9c4b9f03cecdfa282fe4c6b54f85b30963a147d9534beef853193fa0f682b1a4699e5d29bcb69f55cbac9b7694ae601aca325e8cf26392b3103c7ce78f24607eeda3 - -COUNT=35 -L = 1600 -KI = 08b78c25dc1f0281b4205cdf1443446282ae96c354789c0d -FixedInputDataByteLen = 51 -FixedInputData = d45d45f99255e6ad2123209a795a1fe0e976afddd33d81f2de46e00f961793d9ad8051fa93f889e1871ad28a4026f7476eed72 -KO = 1b1fe5f1109dd84a8296111486b44ed7e52e7e143d26c64847faba85f6eca2ca99a29403d6f4adcb76ce0b07bcc86bcc1cef1fbbc9987b02d888bc88729a729852b2c8eca6a6bda775f2c253825d1c860f49bb0d9bb86c46c3c190e7805269beabf31705d5342848e588b6098340f2e67d3caf616648c8940072ad9ed58adbc6996133c5e68e7fd8fa626209f22640c7cd5bad49bf9f4658b0591f44118fa0acac301f61983c6e7650274ac46771d1b981d1333839ac8abef6798d2b8cf14cd17ce0352de94cbe88 - -COUNT=36 -L = 1600 -KI = e07c5e9052fd7c959c8b5dd87cc672716d4a99f863a877d1 -FixedInputDataByteLen = 51 -FixedInputData = cd7598f1ba510a78d6bbc6ce5a30fbf1c0214be27539f4b54ca1e9661993508894f621a041bc771f4128d50800aee251672cca -KO = 4d7ab660a85e8eafba72a2bcdd96d555d66b892c38d699950b44dfa97db0e4c052d1ce555e747d795c51ff41185c4e8479d84b48e50875d2bce230c96dc353c93174329ffa28ad32478470e3c06835f18ee521a34d272d79ef299e5c80fed15c91d38b69036c39a245e8efa17e934e1d005effb7ffa328ebc45d6e240c3769e2141c228ed11a6bb271a836b45de2d9f2affdc298cbae031231f8997b8734e99e8f2a38908a7cd91e113e7cfacaa8e7c0ff73cbfb4d21707a5134e9ca85414ace4ab80f8996d0a363 - -COUNT=37 -L = 1600 -KI = 020ee199d0913b06d431b98c2f6c0a92129111cd2802e51f -FixedInputDataByteLen = 51 -FixedInputData = 3faee702097f12f8a63947551248f80e4a068cc9eb12fdd484b1c7620e795712d383415dd52234ddd8916401a347b1a42d46cd -KO = c7ffe8ba75e410dcb0dece314616b2f7c7653f422962f920903021294b5b1d17af15cdf6699e9006f7d4ef2e34fd3f7515452097684d02245bfdd3e87de2b3f4bdaa23bec2383f71b23cbbfc04af3527e9d69738f1ace6e554937628828817a64d4207d6790ecdb6ee65b5557eeff3c3479e3d60aba85bbbae945a0a87422f52d17bd804ed6f941a2bb741065931bb18833eeffd57300ee40607cc94fe1dd321aa91090fd550f0075102e1d495223fdbe056f809168d1d1031c32aa35a3f224a8954421ecae19072 - -COUNT=38 -L = 1600 -KI = cb5ea3194aa9e487d733a030e45ebbe89a884d012837ffed -FixedInputDataByteLen = 51 -FixedInputData = e7e876147732648a8624f5220878d7fa352aafd7f953de90d9a353730ed6f49f8d60b2951271187e8b65964a3aaa796683eb7c -KO = 39fe390c84b9aa4728a57ac2c396bc4a8736ffd2107ab27aff9e93ad2718d758080312be0f5e4d1835ff65f64e43906404cae0db0128507ccfe414b8d3839430885f5973c75290c2ecec5c07aa78a93d3480f3d0b203247a0e8d9b05ec38d80cfb3fbde3a2aeb61a2a02e37f1507c9897101c934bd68f6214ad96b5209303676f8d004f5eda9b62c56f40d23c33d35ba15da0b07362b7cd7e76a74e0f510ba26f0e6fc6b0f1bcd98e67a57f6b1a87ca1d4296354748a648a731d3dd7b62fcd3b4f6cacc79f601eca - -COUNT=39 -L = 1600 -KI = b78f9d80bcc254db65691349255bcb9c6ac48c0741057f68 -FixedInputDataByteLen = 51 -FixedInputData = d7195c1280ccb8cc30284492a94770e4b0b042529d4d7b126ce24098b6cae3d6a111dd6fc8dde1026bc97c944483c4e3d279bb -KO = 7608fe927a1d13f076b4e0fb8ec02cc30eddd2dcaa18ace806cba46ac5779d361818d08677a93830242635a596b94431c2e73ccaee847925a1b7ec8778466d7ca14f07fd049ab15706e79e94d2c509d7c094f465d0ad73839e80e677fb73c785025fd703130895568161d666f7a2988aac9d43030d8972a953252abb913ea31d9e6eda2c8cbaf687b42e2587791f19cfb0379db19cb03e0c50c205eaa4f0fdfb396ee744835f9b8ceb517b7adc5ba2a4d1c09fa7903513cfcf6d402c08c1a012f08f59baa45751de - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 0906a5d860d54fd5e926a3afda47973b0c493fe4f993fd33 -FixedInputDataByteLen = 51 -FixedInputData = bbce24e89d2ded517293fbbef87d649ddf7fccbba21db4b057627d66919d6729039d46dad0c4fde37a3f513683b9fdec1c7ca7 -KO = 096bbe27a76de16b575f2d63eabf800130cab4bed4bc8ee8bc6e64fcb4999db3847429d765badff5e5b65aabc2d0dcd879a31c26e6a27dee627c74b348afed06 - -COUNT=1 -L = 512 -KI = 16229dded921a2066c29e86acbc5aef0a4ca03b76a86aeb9 -FixedInputDataByteLen = 51 -FixedInputData = 48e42fb9553dbd884104b74ed31de435415f124be9286ece5b25447db931f2dffdd7f5297d7c3c4a2d94ca660741c0467c4991 -KO = c7e5a2fe0c4d375710e0c1680e41f3174e6760636c2aad8ec864ca2ca109411683ba71c74647988cf91684c271c565e82a46bac40b6d03f58d6088eb9e27c576 - -COUNT=2 -L = 512 -KI = b6cc71a3bf08d8f46f8b1be0af2bff2ffdf1156a757f286f -FixedInputDataByteLen = 51 -FixedInputData = e1a2936bab9993325d195bde500ff49ad0238c475b1db9959c3f8894f7dc5f5799f85093a047cb00738f7cc0e76007d6eea13a -KO = 857bebbabc0fe9504000df0c4770cfe0e82582a7a9568035894619f2bf59e0fc850d8fcca5741c730df57b5fefbc48001b033d89b1b927d6a01db2bf2e242415 - -COUNT=3 -L = 512 -KI = 2302abff2da816acb4b6fbe6f26ef8ab1fbd78f58e186486 -FixedInputDataByteLen = 51 -FixedInputData = f4a8738b4acf29632a162e7cbe6616310caf0dbdc2b850112e2082a0d241380c4fe4b93f0432a393f69317abc1999913c797f6 -KO = 7fc80869da382085dc9d877698f861aea82132cc6c27dfe5afe822a73b5ee18302fbd290069647f4b1df70a69dc3d48f4bddf2a07e82d34b54df4d1dc45a4b8a - -COUNT=4 -L = 512 -KI = 72f4b7b74fa95246ac5dd5a87a331cf63af343a584d85417 -FixedInputDataByteLen = 51 -FixedInputData = c7226addaec6fb432744a7d9a72df6f2d4702acae4ea90b9e923d6b07769e7d37364ec770b9b6a7ce1f8267af94cff03f5f021 -KO = dd67cfeb567bf004bfed6d8c87db9012d90325ee1a7c15577ef9e0486827d877ac8425c8c4f9ac862df6fe01fd973e7cbee6e32f47bdee47af3816456bbdc1b7 - -COUNT=5 -L = 512 -KI = ca7883bb9e205013413384ff0e1db678e6ba75d16d4a705a -FixedInputDataByteLen = 51 -FixedInputData = 80417f953292f541f9b9365a5d8c55f18a07d0b39dec517f4b074feecd4ed9d53731f81ac80e370e820bfef64e0632dcdf08f5 -KO = 634a63e8f176fd264363a4482753d0b0829e8e77557cbf33316468c887e8540fedfa009e6b56d8ac2ea8cc72040ef301f08341f64186a84e5b3af061ff01836f - -COUNT=6 -L = 512 -KI = 9a21e24a4ccf795fd1f8f16c01b51274131a6ba10ed1240f -FixedInputDataByteLen = 51 -FixedInputData = 8a8836d06577c2a7629774d2eb51b101836ea8d7c2001955b3d3804abcb98c375960dd65e7247094f8df44fd49304cd0b3163b -KO = fedd0b8dca73b18bd0ad0d1ce1e6a6e4d2b6128de50564b7d6dbadc4c42d8cf28437366b723eadcadb71c41b994dc6679b873cbc87daa8c7731275bb1c30cb5a - -COUNT=7 -L = 512 -KI = 3a2c63fd0748e6a195a26767601b8dcd43cc3e11ba40471d -FixedInputDataByteLen = 51 -FixedInputData = 769ef1fbeae5ddecb0f4b3fe2f3d3f73ab188e6450888a58e2a714446649778548e5a8ff0fcb525033244cd7c15ef2c0203381 -KO = 63dbfc06c7f5f6c2859d9fd302ee726407f474344e68f7af6f26dd317a9fe2cc161b2fcfa5cc2c5d072bed2c442e5c3124047a10b2105872b329ec1f6f70c172 - -COUNT=8 -L = 512 -KI = d909efecb50887e2373d50658ba08d6e544e42435432320a -FixedInputDataByteLen = 51 -FixedInputData = 396aafdd65eab30154a87438f9ccf0eb3ff7967dfcaaf2d52938aee2c15faa5ac855af386b933cbb8085606f643866bd5fcb77 -KO = 2de1bed014426fea153b4e50e8235d649c51c12d434a4aa02f4734d6ea3e2b3b56feb728124fb6c6cd652e17286b30deeb0774582fd9af431abe2387360116f0 - -COUNT=9 -L = 512 -KI = 86655f7bb6f51755db458d91b967ead250af119fea81aaef -FixedInputDataByteLen = 51 -FixedInputData = 6cdae1f60b6cd3fd1eaa93a2ca87f65c15093fcc45a0c4acc68732c1282c0d5d27f97b051955190caacf781668ded1e9dbfcf7 -KO = c765e62723d6aa8f720e7f17a59d348a580187d227cfefa8e234f15c8f8217fdbeed7d3fb36ffc3dfab1c425d31db28a0ac7327e384b4ac76c394230a30fb6eb - -COUNT=10 -L = 2048 -KI = e1e57aa2b261a0249643aa356e698a7e721eed86efb9464d -FixedInputDataByteLen = 51 -FixedInputData = 69b6ee0750f82a625033c6fdafa8f51ca7e49a945d97ad2db877e1fb43695d2a149f3bd230afd8f8bca277ac808cf686dad1f0 -KO = 7921aaf5ef331fce50b57b3c74961be3b7693b55b4eeae80f02a892a502ec39dd0ba1699d1249c97bc80ba2abcd37b56f0b3cb308445b0e834ebef28d88468298b3d6f3d0f71d5235822fedb402a5a54b3bf045b4beda838071bbb85a8d2de9d393d6d24eeb203fd0a357fa178d4a0b2502e6a1b200e792d7a36c22e689029e8103a4b54a8c6fd6862d00db71f65eb0b1f4daf70f7334fead5eda87e0fe9805b71e282100e7fba190de4b207b75e6aed86f756b056599d94e23b83f7214ca86a7d0cbe742e0d7dd4809eb4855c9c4bafd17e6762f14202a7e2a72edf8f3170cb147c98275d7197085f7005439778c3bb96eedaff4c4f2bcdfeb1762a7b89f6e1 - -COUNT=11 -L = 2048 -KI = 73a03812f851f2b34b83e61f9fbbc20ab89a65e7f9e1cda6 -FixedInputDataByteLen = 51 -FixedInputData = f54906c994a3ea51a2cf95ee59cd8343efac94defff3447715426adf62f98ac4260d00dbcfcf2545d59062af136a986568b70d -KO = 6f8d7cd238c816a98f661b37e22b7159f01c3835b16a1b37d43f1d66c82c9311154332c140fc74f0e8586ac8a5d2c5c52b28a41e6c0be1bd8c29d8080b3f0f07e54d8fca9c63e30aeb276c1bf362e4d91c4d0e326d9fd3f47373228eb9d967d09c720ad2b0721ea8d620a107ce0e942726ffd3dc88dedb5425d2e15e1d1ee15b517d2ea1ea97e0d07414d31ab40f6392db0def3487c93a8e1d35947b48c72c2a1d0dd699ac16524771c6b522c71918d40f0b67f39ea85bd6e2fc62dfe6a084ced22b7cbef53c2ce251a7a58936035ebf6f1899d25f30099c7f277a61fe8c5c6300b2827a1be579a2646799617159f4fc756dd7cb331764550e93f6e7818e520e - -COUNT=12 -L = 2048 -KI = dddd869298a7ef38d4dcdee00e5a813d773d626bd379a02d -FixedInputDataByteLen = 51 -FixedInputData = 57907b2f5771509325b7ce92f9f757d74eb0538e923dc09ddc86d86906f09dd5bbe0a7ddd4c9d5737fe9cc1b3a6edf85e8cb5e -KO = 3ea4f41fa05e8d74316fb1b698c9d2ddce4341b8088add16dc9cc6fb136f4f1ffcd217d6b02a81889829f29aff2ce153ced7c6b2f1a4c18fab32d009907d0f0552ae4bd17be39c6c5b1bfde01f68c34361c5677354d2ff3ae847ed0eb754f79682fd48382d20b55b0e363e95d4b1ff1affdaadc9b6642e9cbb9cd3130ab8816db9921be18d5c2a5b73616a5eac076cb0ad3168440159ab6becee96353d0ee65e3d252cdd274a6d50ba86fc9217c6d023d28bba2d89ad5f2ed4a8b7a0adb242145e5227733d3c368946501a9389c790fe0ac5ef83de24da32d4f6ad2a48c610275afbc8e4fc4c41f382d6e7f4e1a2ff39b5dcf596a53b1d37039e6ca055800d2e - -COUNT=13 -L = 2048 -KI = 0f016c6265d2dba7d2a9f12282c66f6595b6a20f69f6491c -FixedInputDataByteLen = 51 -FixedInputData = e3f20e30da6b0203883fb4c25a0c8ea58a196850afedb1bd8b8e9cbb734c105adb73b65b5b3a04773220d2e472eae45eea157f -KO = 9f659b8d2cd06da73813fe7491cf68b2b510016038aed31bd95e1545dff9e79071d5fde46c5a548e8885804d27109aaf0541cf36ccabe59ccf24ac5c915abf9d59fb7fa9c215bdebf377b41a1bf2a1a90a544c70903af02219f5c5de95700407b5f41c414e7fb170b827157e9cde242675cdc9cc20abf938a4d4446bbbbcac9b0274152faab99d59a25767951613267d8a45fad4961f1458982af206b66e07baeedfaf0acb4bd7e42875a0fb344bb68bae7af6325d156ad6c87aaa9e0923b5cad623a51eb1c39269ba5500bbcce158d1e6430ab2bfd6053b36ba68199880b2b5d81a470b8f07ea7faaa55cb9329c602d1fa4f6cd528a2321fec75337271e0bee - -COUNT=14 -L = 2048 -KI = c0ff5889a4e2794df4ee090720c2f82fd3b8e7ff93adce53 -FixedInputDataByteLen = 51 -FixedInputData = e37f712438e8886c0d395a0afbd2b9bc74074dfee569d39f16b1723472265a0b572437013f85d2bf84d3d9fbd27a4125593af6 -KO = a2dbb2c71b18bc2be672615e82fccd99135a380611090560b6d5841e591a0048bd98b909809c4998a4492af88213bb252232bf981d426155abd81b45067e543595e8ed868f32fa61258657885a643a30e7c544118be3d6b0a56b6071c8540d682a6aeb353177206f3a298e83bbce7adf079ec1067b465a54fff8953ff122bf494433775577bc9736a39fbaaaa3227cf5eb06413304129b9203eac9409283746c4cdcfa2393f8e17403eaf0b3cd7d18d3e280649060e446bf385395e44a2b3b10c1da3496594eb45f61c1c710b02d34b1195eac469cc2f813c5d2c4697f40bca9e64b1d4e90c9cfaf4e5860e97dec2b2f60599cf2b315fe14e324528004914920 - -COUNT=15 -L = 2048 -KI = 48a9bf30d75ae2a9efa5abab08ba4c8bacb3334a39c31ac9 -FixedInputDataByteLen = 51 -FixedInputData = 612100cb4fbc422b9d7329d32364cea6f892c3b33f5c77d3fdd1168344823ee34f65a14a78057f77ab431877c1962dfaed988b -KO = 211b09e7ec1a4e408a887788f2c9792eff8af99d359aad23bb21e5e6e9ba04e9914c583fd1f1741334d74ae07ab5e19e8605d6590a4cd033e422930fc20a4ff7e4b8003e6ea7a0d0b17dc62b86ce562f7bf0264737f440c8fac12c2314a11db992b077dc1af775fc39e60b3db30a54407c4b1fa349b66808cf28375422583c60c7b543637486745bd5c8e639230982c32df99f822fa52ee96b40050abec95f6c44980a7d7aa480b76b7512e55b887ad03a9590509e5e68c009297a81c51b9f2615e99be36418e52793d8b176949e7dae37f8c6e11202a4a160cfb36310490ef08b4095763242306fbcaac33fac034eba4055e3318f026429b5039c2c6e971e73 - -COUNT=16 -L = 2048 -KI = dce4e20a6900b4d8bc24231a23c285311d5f3be25ba2cf2d -FixedInputDataByteLen = 51 -FixedInputData = 68ba2ed31354b4d0036fa8fb9e8bfa4cd2385e1b37a83cc602194e54d8b5af4173e1d0419d3ecd2232325d92dbd054431d7f64 -KO = 60fb022d17e6ccfde3b0ac9ecec62c8c88185286a08bcf4a88d247b3de44e426bf0f98ecae3d7862e87c3b76ce6ca910b335786f9de75f2e00744729dc74cc179362b1cac6a6965909b6422291635198a7c8c550613a91e11be8fff89ee1b74d82dffa2e1987fddf94804451819b18dd4cb613e99b1c413771bfe959f5a5f692c7c353e801dfef9f49d513831bb795f4c82474e447193c11cf3184b8fabec363274fddf20f8a0cb281ed967f1720b442755f9bb882c679505281dfaa020489c7784538014c443044e4dfba4a0d191a08a3f48b3606180f2aaacb42672c735174e3daa44349543de9ea353f54a4a3ea678e906843e2bea9bbe15fb8d713c188e2 - -COUNT=17 -L = 2048 -KI = 89805088e4c862be9ec107fab0c946fd1e8b50a9844e3baf -FixedInputDataByteLen = 51 -FixedInputData = 8b8375eb2bed13eddfe08280742cec15bd57b5716d5954ee4e19284afaec63d1b4f19ffd1e25051aa238870df69f431375e1e5 -KO = cc66bedacb3ecc23cdb7a0ce4e2d0c119aab937e5fda1872db5479d4646b6797496410cd5b26ad6bf875004602f06a628d0c078fd1d6b85bf96a1a8e2e79027c66b641368a105a79ad05aeade8803724ee7c136e1bf92d4a90e8f5d3a01ef1271f6560adfede29b365f2fd23626af9f3fb46675938d358a3cd3ca371ca28642eba08fadf34951a90bb843143ac37229090c74e4d4299bb4b94087483ab9c841fe86f55d3f0df17e87e493d0cef07b620095c6f91c389d9aaf25a002b294a4d6a9eedcc3a7e124fd24f6e6c108ff7378d765387f3f380a381a44e74f8a1e143194c66275d305abafb7900c45d3aee11a18f5c9fc708775864b741a82436e0b5c3 - -COUNT=18 -L = 2048 -KI = df417c041f59cbdd672caa50c6015005b9642630496da816 -FixedInputDataByteLen = 51 -FixedInputData = 63d055b2d48bea2757bc34b00a9a2d73c3eabd5889dfe65c99d368d620be7e122df5d4ffff472b694cb40ab614177c207952ae -KO = 98dee2442699c4454468b38f7ce9d7b2d9d5debbf71dd2c76183bc36b333925e1aef16df6ae48c4fd2d18d994c5b2b963d3e79ef10d235fd7907d5a2f98020391ed6850ee88f5c6c4e8ca1be94b2db8d2540eaf3b5dfdaca6478c8c14aea94ebfe04023c302d9f015f704684a608f8af4aedc91a4b20b30253730222dbecff911a3a33ce8baf129a3974027379cd4798ffca94d91a8421a606c994a2fd274b9f3a8d391afb55c3b0bb4db02eba57f9db4b0dd37ed826bb4dfd6cb4a26d1530239c6627621eb31691e13d1923a75c6ed244d04681fc7cc79ac9d0c897d769201610332dfa28aa63b5e96ad74375a3db066fbdb289d5c49a27c4f14abefebc88a1 - -COUNT=19 -L = 2048 -KI = f7c4cd9c4318a6780ac55cad368d09b96599fc30442b9bf0 -FixedInputDataByteLen = 51 -FixedInputData = 8dea48184853bcd6b58f5b73707144e13f0e0ddfd48d54e27bd4abaf846751b66de2064ff156e1f9818ed491f46ddee741f537 -KO = a0b7c17ff12bc2f8f7684a1398d8f93cd3d2a227e01a7efa326d49ec6bdb125a5a5ec5d55040802d22e342a6219ae3f94c77cbe5e2b49f36d1b3449a7dba8e19b08ee0d48bd581b8b8b8eccb4fd2ed9f66cfbd75eaaa37b383a194f55e59a60eb2e811195e508a266347d40b3fd8eb737d32915e03a5a984c58b73019be63fa4110ea6b9a3d7dce2705dd35482d8c9ab6e6927bc97aad09f2782504f75874cb09ca4b641652d5822a215d298ba41a9423fbef26042e0ee094ac6c5e8c19207f891b40ea5e1ea2c40ffdbac3fa862d79f79d97c9542b1c28ae653e9ee19eaffa6ec7521a13768b7f9a3fd174e7a2ba1238d5c2e6ae09331962d5b47effc814846 - -COUNT=20 -L = 560 -KI = 988c9740cdb4fa3b4f22f5ae136a08b756edd8ed09f709ea -FixedInputDataByteLen = 51 -FixedInputData = 31caa0fedbb72c92fcd99f6639cd9dac12508944b5bf1261b73326887e4ab412802ed6070a357b837b21d0d9c3529b526ce13f -KO = f112b4c5db90770048e1c92272773815809e667ac1ee34bbd3e870fbf7363f9ed9ecb0f6a6d6e855d8c132beba5486882a9546e28b4abb9529867de1244d96cc1f775ee4d74e - -COUNT=21 -L = 560 -KI = 947ae787da1111da4aa203e82ba25e3575d57235f614f466 -FixedInputDataByteLen = 51 -FixedInputData = 010b23d67e29f93b58568c78be77737b9e43c6fc85ccc071ecdd07548a6bc6aad6b225a24f7260c840d8415326ab521bd0e6d7 -KO = ce0300dd07773b48c21b32ef58cb5edd606c5741b51f05fed82649cde0b2257688c1719fc60b33e03a5d19a6d84a0ffbecb6dacd495791db5aa704cdcda8295b61557f43a009 - -COUNT=22 -L = 560 -KI = ae3fb5b8ce2e2f16c7e04f4542b3a4eaa9884aaa1c442980 -FixedInputDataByteLen = 51 -FixedInputData = 523a4226b8b846cb155d43ba746e575d941d698e5c48e39b040ceaa5ccb7d44058e2fef55cc0eceae7596d717789cb7072516f -KO = d9b4dc85b242f18979ae54eebf265c229e60753cc2c25e5224dae4124a64d770898228047c18437db5d1c44967886fb993d581c1cefaf4deab11b2b56291d9c2aad9cfa677c9 - -COUNT=23 -L = 560 -KI = a204edbc16741dbe34d69700d5aba155602e3890bb0b0662 -FixedInputDataByteLen = 51 -FixedInputData = 5a1412352af748c89aafb22e4acdca387581b7467f6ba16edb75d06d96fdc76f5cb68f58eb394983e6b78e8527534590e19e0a -KO = a89620cf42fc6b5c6e2a7ba90236893b0acd5cf672268ec09c69950bbd327c6e45b4d7ea409dcb1007651915ee8732bf9caca5f04d349bbd7d11f79453d21f6240a5b184fef2 - -COUNT=24 -L = 560 -KI = 3143eeb077d932923a32dbf6849c16643946afee35385f87 -FixedInputDataByteLen = 51 -FixedInputData = 280b69cb16e589b43611bcdba817ec7c80c1e93cc0efe9818282db4ca24235508f9f0d7aa954b76725e3f99a1a0ae9680d4431 -KO = de2058c1dd1237968ec71651ef3144eb1beb63e2fe48020c1e1432a1cb45d5bb2bd277eb59822a4db42b9713136c759967c787ed038cdb3dfcd6cbf5dae4a748cb75122fac97 - -COUNT=25 -L = 560 -KI = aa523cc0a15f4e1f2c9bb36c5cda2cefdbc8cbfd821fb61f -FixedInputDataByteLen = 51 -FixedInputData = 611834376d9b017c5c03371298c610d8e2d09f52d7596a6c7dabeb0429541c4634c9e65f1c4b16131828be7e4d242847213238 -KO = ad575aa8cf3d650c95518f8cbc379fe3bbbc4fcf9f8235d81bcb94d7ff267b237b2dfbe92316b0932ebd2ab2814dba646dcaccf7602df0d32b9147d710ed94bfd8bc659c77af - -COUNT=26 -L = 560 -KI = 43932645d100ceb2d331ab0f30a30c8c8b3d5c627e911ef6 -FixedInputDataByteLen = 51 -FixedInputData = 65ca8360a40fe665c15fcc2fdc7e9fe89ee01a1f2223634face8758477569e109d97df0f2519affd5750c60d3fd462d63b2d62 -KO = 64cd86f9e77dd379f96004f9830f1115c7be31e107d9a792f48992c9c6ca113b51202df54e8b0bbe00d1cba9d2d21ea8789bd1d1108e3393ef82319c0f0954954ee133eb2811 - -COUNT=27 -L = 560 -KI = 596a22daf3bbb07b913cb09ed531b18f7fc20207a8a3e225 -FixedInputDataByteLen = 51 -FixedInputData = e61064f2a4d119df77acab3c1108ec3a442b7f72217e3027e02e9679050fe536bc3dad7eba8a35cfdd0dba2e40fb921ecd7a4d -KO = f069c54c78c63942510a21390a6bf7aeba0cde422d3c46081dcf27c7e31f14023218127e7d9e8dfd8ac1dccbbe81ba2cfcbf564f91dffe0b99cbb1bb279c406ca5098317e665 - -COUNT=28 -L = 560 -KI = 75577532b272b0b7ddd3341fed84335e5ad5d060b46c4487 -FixedInputDataByteLen = 51 -FixedInputData = 1d0057858bff9678a53a6137f1fdbb32a208258ded92d4ae83c2f905bde5ff52d65f39af99b26c4a6459d177a758a6c8a53309 -KO = 2375a2edddcd6a287c5a7e84810e271526a241a330ab5b6c5f7349920857e29e50edf272d590c195c14e3bea125187832ad25a47d17c571d029645544a494c7130a6ac7f080f - -COUNT=29 -L = 560 -KI = 5946b412da38dd43a94131c4c2682972e413a4ab409291f2 -FixedInputDataByteLen = 51 -FixedInputData = b20a3b62cc3adbac6e3150da3625d86f42bfd04418bbe944067202cd566b3dedef151fe75aa682dac3f6ef289df716540a6bf9 -KO = 202738d13966ea4a7ebc06845f0c91a4465f3cf063c77e9b3461e2383aa1175d58a8f621db51540cdc3c56599cf2d96dce88ea702ed6cab37b00ae32b83d9f2b8864484566f1 - -COUNT=30 -L = 1600 -KI = cf83abd8264811d28b3be84a899e46ae90ecca0db9787045 -FixedInputDataByteLen = 51 -FixedInputData = 6f6a5000e81358240b0365b393cf5d0fb719cd6ea1212cab723349867d733b57d93298f7fc1078535a6fbb95c23a13c0d08110 -KO = 0952212ea5b97ec5251e2d00f93236fe32b52b368843940f6bcec0cf3baf59781b0cd879dc602e3e05c4d89c7bd84500756eeb825ede710abe0ca5b284128f90e83f816d6000fe4b7280d7a474d6741a18195f7a803b6780092ba930c3b4f68f9d1c87691a53e24452b4e11566286e545c4459a58bc0cc0fda174cff4b1b31ac81c5aaebe4960f2d9da875289b5316301d4f85db29e816432acce5bd80dec60c90c2c0fe0b38536a0acb2f02b8f84756f810de3b6eb2b1f05be2b091a0ce4da36d74dd695e996a1d - -COUNT=31 -L = 1600 -KI = 72ef5886527b4ea2da670edf5c1373e6d4955e1562092145 -FixedInputDataByteLen = 51 -FixedInputData = da82819f28478be469b67acf65b80b1a5eb0860c46318a8bf09301b63053fba3d9a77f614b6772d44f3839bc71c27a41c084f3 -KO = d6a336f81464afe69b24ce59bc8ab562bd6cc401fdc5c5e2f9fa7e1714de4a541751d2cfebb02cca6e5571293425b8efd721aaa108cbb9284a8b1c7c2dc093333ee5bdc35653167ecf419f9f0ec1f95ba045a0e43266a22b19ce96dabb6a18985a5a5a21af5574419f721ef2af5b793c6b13c88d5ecdc776c2bbd9248960584cf5f17dabf7ef794c87f2d8fdafc7467882a122fcb4bee513fbc0b626832fb236b9d18b495a6e69bfc7499b14c3e207b7a4cac12cad41c3db70d6447fb91890ab9dae864176dbb6e0 - -COUNT=32 -L = 1600 -KI = bd222e807eb3391b8d8626674ffed37d33ca37e8e9f4fdfc -FixedInputDataByteLen = 51 -FixedInputData = a75aefb0accb092c67cb7c785981ecdc801bcf1dd71def15f5dd148a533a68fae3820c8939d0f582fe1448b6c246ddcc7de514 -KO = cce161c552924a1c0d6d2f0b928f2ce22d94a7cf6b8f88b53c90569e5d9dbf0330fad239a929441b2ff9254430d498f11c978078cbc7b145914509af729075d66e50f05011c4612f0f54905908256377ebc72db8491a7e0db3903539cca0c9a0c72fea6f787b14dcf89b2038acee74b3f934b33bbe1f4d9937e9cc94fe790faee075b4e1295aa930e6ae9174c8b4307a1e8409e2f9feef31d675c054e5ba0a9cb7fd9233215b1cf11772edd72119d54e126c299adafc2daed6fc68f1d048dccfc32310ab000c221c - -COUNT=33 -L = 1600 -KI = b335775bb8db97bcc60eeba82bbea63deee65c491350ae31 -FixedInputDataByteLen = 51 -FixedInputData = 9b533d34b2f21ed285abf268e6f9249dd227f26274547720d8b6da95c686e4e9c244b7c1ea7ba87ba932ad5bf145de34548b66 -KO = 6e7d087add73d668a418d62aa116ccbc4c4ce64972181bb7f29b98795bbb15bd32c2f8cb66c6950ff768f5dd0816fe5ecfce16a086f130d9f840376074619708e43068d3e001a326ee265763b2ce7fedcafbdcae707e5172000520c83705e3b78bcfcd48cebbb0adfcc84e6a089710d732c5515b6c1872b97fef66bcc41dc9b4a1cdc32eec653fec4294cf0bb96e871a8aeb5249b2d4a3ff1014eef8f8722f0a8b3d57222e73374c0f829ef9ff21077f7045b29612609d8a0549aa0d57d5a8edf4734e8a5832e49e - -COUNT=34 -L = 1600 -KI = d79848feb163c376f3752c2c368192563351ac35a24f6dde -FixedInputDataByteLen = 51 -FixedInputData = 6460d36176d2e50f9d003ffb8101f2fc7325947d084659f983790cb89d75f24e671811666a7caea1948d3d6e1b7380acdf9f88 -KO = d2b9fd95e8028c3ff477907f4ef60bf6c24f9b45945bdff12c0886abf0a5622b80064b9d68524326a7173f8580598ab71e98a12bf2b3b853d76bf118d7d5c69d4ceab22fbf592b4d9d3041a6ce61c13126ec28cc46f609ffa49d2e13d534f96253b01500a244098d671b1bb660cd6c286829ed042c32a3de035ec8b290b530f6bc30e87e550efec1e3faa6003d5742e8543f65922bf662e5f7c6e0d053dd832c0ca018cd96e6338cf326175c0125bc1889de33c0549097845f5b651aa1a2998b6dd02c4a7e171f22 - -COUNT=35 -L = 1600 -KI = aad28e2463982e1c34a1d5fa46f27cec03271fb988f75ca0 -FixedInputDataByteLen = 51 -FixedInputData = e99c0f7ac88a99387393d533d7e4a5040e2f05a6c93008e446596a7b21beebb617a52638d381fd8ebfbfe1ae26404e40dd7e8c -KO = 84e2e21e26ac38677f56d51788180a54b60e80a418e68d45586f7c530a18ee9dcea2faa369954ca8745a4667de92c57267cb8e10720d69f2c598c431502a13ba481cac721401a27df896193471223908b836d84ba14c7fa1922e50ba3a9c23d7a134b5bad85fda8dd18f7b9d44158d0a1fa9b8d5b2cc2328a454b9583eef41469a28753e10a663f7b2d1536cd0204e4d1888569235ed5c60e6c45746b0fcb0da27114b78406d1dd0df09da33d47bf2c11720b968f59a69806ea023ee379ec04992f6880e00f72b7e - -COUNT=36 -L = 1600 -KI = d5ca37e588d5637fd89de75fbad59cf9b43c58cb1741ee15 -FixedInputDataByteLen = 51 -FixedInputData = 5db979d62a9572b700be685cfe3965fb7b7feb034dde7c0cfc2584943fd2c298fce68e1c8d0f1255818a6e88c9944c85270e47 -KO = 06de9c4958b5eca0979eb1b06b63eae4408d133021c7d5b0ec850b54cd627c02f6f048258683598d2d325d852dc2953690d152f0ea6bb8444a31838e7ee42d5f7cda16b4930f972b3918fd2bc589fb450633addc339c7069cc9845866dc590cfde0aba38d97985c7565200d688e23bcb24720935dcafec05603aea556dcaabb1937053fd2a74b5f7ef587d194309652a9eb07ffa8df97cad5e65ab64245c2681e3b01861de75040e93cb4de81b19ca6a04e73a7c042cbfc21ebd87abbcfac7ecf3c33f479ea864fa - -COUNT=37 -L = 1600 -KI = 4ab3f538a7a86228639c5525a4d4ec86818341f52163c0b1 -FixedInputDataByteLen = 51 -FixedInputData = aa4add3c34605245972b25440bafb342b143da6b162489f99d23b23c202ecb4c48fbba8dd6fa993d6ca9b1f35a547142c102bc -KO = 2f7ad26a3d2afd53c228cbe25c915d41c7276dac108c5ab82e5bd9d380ad9c1c8150b3224008aa16798b7d5a083807079a812b694fec1034af24b3770b41a39aad8efa872d44396d7fb9fd043af33dcfdef5f8bf0b011844d7baf89600692ec712f0b678e309d14ad0d0a0d42d7386814ee52c39bb860d1d92332a588d2d0f74bba2b109c123ac5ce35319868d3ca287caaabe6c8a43c3c5ed29f23745a4263a6bd97699069b3ceab511467acc29b7d4fa0eaa88d7fcc936c6fb1206e4d3e7c448895e588d740578 - -COUNT=38 -L = 1600 -KI = 72727d09b29d6dd9095c691e8bfe73d746c1ef8c2188b3d1 -FixedInputDataByteLen = 51 -FixedInputData = 639791d04fe3fc5380d42534976a8afd0cc9b6ee2a4f7523c2aa37859d88b5bacc75640b8af688d3d0f7407090015353144e8e -KO = fdd4a67142b8099ae08a6d75baa9f90122b0cc2ab46c59999c13a91e739bfeca8499b617391f29bdaeac7e3867128b024582edf5f0c740174d883aac4905704fa7ed032b0ae44b9a6a05db5ee310fb7c6767da465a8be85d2779923ed33aac649a5deeb4664fcd734cd639ed40a89c5345f054cf620af177296e7b621cb1a48bd1fa9cb761c97202fc16d07fbdbfff25a2895f0bf02e4f7dae0dd388081339409634c9eaf2bd60d4420d8e39be34e512855b67ad2d5ca3d0e375a2ae98e60caab472cb7de63454ec - -COUNT=39 -L = 1600 -KI = c8145222673afc02db7234cb7c92c646bf0bd201ebe6e547 -FixedInputDataByteLen = 51 -FixedInputData = e32aa8e4adb63a0162c65f2a1ce22fcc0cd253f2aeea610dd7f7042e03f2c42d8074b918611a12122ad9f67e8385d1eb80a2ea -KO = 77e25f735229e0f4ec5c3e772c443789deede31c869038cecff5c10a5566b9383ce3f956afc3be274e68bf5dc26183acb11a00c693b515fe4e38ce6127b3fcfbc37d40e4537a5b2b1959efceecef3a193fd88bbabc469afebbdd3727d2881c99ddde90bf5523f7413867f204458223d32bae009a9201f69895c22b16709a313512de08fd314c3b2ef996b914424d777533594d788b081dfd8de3a5ca3fccfd437f2391f32cc8ff12dc25fb33850c304b58ef4c29a666edbfbbf157b419f9da3477a7edca9b68c274 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 4120a2d218c6bded91dabf876e6a787b6a697e9cc9e6578a -FixedInputDataByteLen = 51 -FixedInputData = 9f918a00e1a49d8233c5e7ccf485fe6df4245a99c4f3817330682833a1e46be41f5731619769aafaa161971bcb752cf2b281af -KO = 683eb0fa3ad129e4d0e513f5d228eaba67d52ebfe5f5a3b14a08b4958ee32ade6b4d8bf598d3b381a169bb1ffc8024e42bf68d1af574d1677035d732d49bc08a - -COUNT=1 -L = 512 -KI = f511304e07e2b3c39dfedc7b62aa31df8c96f271eb29374e -FixedInputDataByteLen = 51 -FixedInputData = 29b796e3c8becee1c2fe387b46e128d66478ab75ea84c5fd5321734350f10f4e5c3fac2539b87b6edd243d1de195260145d77a -KO = 1821bef4de31130181063cbcd380a365a381402d24289561e7c9002f3d9ae21bcf8a3af4aed2e4d66a2fe9707316ceabcb64a36fd191fc09b39e5dc001a6b21b - -COUNT=2 -L = 512 -KI = 3ed1cbc59b281e612638d625fb84c3cb43aeb5e16b29f5d0 -FixedInputDataByteLen = 51 -FixedInputData = f5be923a83087dd11449f3fe493affc20264e56646b47dbcb09e38b0365d1ab3418f2f8acf1f8fc93f1f49f35b86b5bf663ccf -KO = 38c9ca1babcadcc043fdce6ac849b884eed433ee9e18e207058a6e5a55d367d6a048f5156e4514c4b281f67606d41acc6abe4e1f1cbf71e1e59d47c26dc943f7 - -COUNT=3 -L = 512 -KI = 50e5054c659e559808fb81b52ab3cf5253eaa996fbbf31ef -FixedInputDataByteLen = 51 -FixedInputData = 02194d50bd665c3c4de952a258197009c188406d45be7acb0edd259cb39abccc9a958b6513635abe8f691ec4281683fd8a6f0b -KO = 005e2d1bfed9c10aa5112e155a31f3c04743de3dfda97db9050fe7fb9e959459fc00af790cf765ad4a21536033388401a217a34272536f5c2f71f2ff15d502e2 - -COUNT=4 -L = 512 -KI = e985482ce125863feef5b510507eb6ca56658f0320e962db -FixedInputDataByteLen = 51 -FixedInputData = 695b780de1669652707ace8b923821d4607a187346d6c5e339d7da27ba01f86380b38ea5e73b37e72ba138753a09d9294af433 -KO = 2b3b4acd38e230540a1389412775db2ced57442e53bfb742b7e4298562883ee1ed6964b10b43ff28c9c88e64afe01387ac0e709c88cf895b48a238a88bb8b035 - -COUNT=5 -L = 512 -KI = eb042dc91d46e15a00268607e52e2120133fbc77120e19a3 -FixedInputDataByteLen = 51 -FixedInputData = 1c217fb65840a1a72ae2d7c59f0be60c8d09ea2f53ee0694f7ef822b19a3b79853b9520906345b7a9b0b90e964437e97bf11f1 -KO = 02d11394ea644dc0201151cf2851d40df50388afaa8420bab2738eac4cd488755aed73f9e5c132558735b388f8c285a6349f8db47c38b22b2f87b68d2424ed3c - -COUNT=6 -L = 512 -KI = efd3bfa74fd0d438f3c227d8cbbf61f029171f7bf23375aa -FixedInputDataByteLen = 51 -FixedInputData = d845235d5cb00d656bd5b7084bd7af44f81d4c9b8cb4217c48f526436f55e85ee431ad8a0f572904d3afd3e622e07a8c1a778e -KO = 5952696655484530c64ee366cbb2a724bbba1cdd39668f7a380471e8abf23d9e6bd658ce07672e57554702aeae0481d747c729e61d3dc1fb37ab3f652f3335f1 - -COUNT=7 -L = 512 -KI = 28f29e6277cbbbad53b29da75856a39820e55870910de571 -FixedInputDataByteLen = 51 -FixedInputData = 20b03c82382b5ef8ed789b87bc1dbde241b3ff31b09da02a259c41aa5cafc610bb797efbef2c409b4ee0c3ad3a4e2b804b1350 -KO = 7d0c186b8db312fc62c63f6e3e3a2c3ce825f167ee5be8d4e4f645a635b6ba22ce80de15cbbc634858ff6214d6a3b777df9d5865581e420135ad5942952f9201 - -COUNT=8 -L = 512 -KI = bbb75f731b3ed467202f3ff3b0f1ccd158b89ebf14c4ea16 -FixedInputDataByteLen = 51 -FixedInputData = 69341ddaeea0552c5d0b4c1936f778b96ba2414697b7d37623960713a87e5ce9df143fa37c347308d6a4ad1d18888a1a73d4f1 -KO = babaf0c3171ea7aa1bb01f8dacde0a7571fa383fc10f197a8e13498f959260fdf35972399988034d117ce0d5befc36ba2bd372cf86cb89d110d819432b432022 - -COUNT=9 -L = 512 -KI = b6384cc1297ad746c8e4725a27641a16b2272366846feb53 -FixedInputDataByteLen = 51 -FixedInputData = 2e53ddbefea37a00c7d6857352395d4c7378a52e9bc48e06599059aa783ca4eedf3c7c4593d859f7cd641afe21020715591638 -KO = 210b87929617cfddef9c007b6c6fd5915dbb93cda4f8b7c5fefb3be67c5144510e340ee65a2562f9981b4219e704fd05d699711223b08365e00f0cb9bc82377a - -COUNT=10 -L = 2048 -KI = bd50df38c6a7efb31398a11463ff410a77db1bfe83dfb643 -FixedInputDataByteLen = 51 -FixedInputData = a102763bef7a3a0e378adf3719542853445da0b5267035980a226a5cd2f897c5e0040a03b548874e1b9827343a83c6f5f26882 -KO = 11f404ad6a01e262e7e7eb1b7a1077948743fb3fbcf54d59b079f222b0d9a7cd10490f7372658c791c7840157a2fb292531e09577ba1b5e12dd5616944308a34475821ecc1717fdb58337123613651a47f3a37bde11421f67852c5df3e1d1220122aaabe1027ca2c47ee0b7e692133b67f4ccfc5f2861118c4b766d71f88f0dcc12b8d79593b056fcd5da6a56e88213600dcb16ff6a932f1fd60a698161eaeebbe012f5cceb82a68fafaca949fe8c89d2a2a262b05422abac2549489cb92de6974a7e255761adec1c755b5be3b88f290d1e6755c431648e9eb2ca737fce8b67c795a3942583473acaab5708634e7a1db01de6f4218a58f8c9f1333147f7bc1d3 - -COUNT=11 -L = 2048 -KI = b7aa9a75064c02f80aaa2e6ac1df828fcbfba8d0f9c4a1af -FixedInputDataByteLen = 51 -FixedInputData = 3019123f53aeb14bff93a8d5de249c7afca0ec3979671929a7abf3ff770013996632c550325a13877500a907c5c4c83061bcea -KO = e689c9d08aa956e3d3300d83260f0d9316ca8b75797f8165082ec93f307db2b23a60381351e4d3be17601822dbdbd3d0b26d2d568d4b47274e50216148fa0cb56c6dfac8d465616a41181f0e9ca3362114d3938189cb626f2748a50939ce5d752097f728a6016739b874b2db34dcf51d9f3ebad825fca9479a2cb8829e9238ddd057d216f92abedded29a01f65d2f4d694e937c139058ba915a9158aebf196859751c608ecc71e4eb22ef88535d086967bb2118dc55f1793f1102710b6fe37041559a61a6c8646d7534cad4726914ec3e2260a03e3aa9228b8b2bb8ff2ec654b44934cf3c2001dfeda0b19c02a88b0450c96ca64a7d0d244e9d560ba3a3d473c - -COUNT=12 -L = 2048 -KI = 209761380800e5f590526195993c559cf81caa344ac7c992 -FixedInputDataByteLen = 51 -FixedInputData = 502e80e0ae0850a165f23ab8c0007151d75d0813d5156c20368b5fbe4a615ae4c148f4458977bb90128608f5f18c0fbdd3b52b -KO = 33bcbb926ac4a425be7bd385d74b0c5b0b270888a24656456ed9f886f001530259b940b88884f3d662134cb4ada732f97e149585e084beac3c623cfa08cb2c6e23116fc51e39d33d0500366629aaa1fbfdbf033fd2e4d7d2cb3cf318730ed3afc89dbad8fd000cd5d0a40ae4e9f5b6afd76862d6a810ce4e14c9586a7a1e77312856c9cd449795a09fe3550c34d77efa290d74b493c198a6ec26e9ce9597657cfe06bf4074f5f537c5d1b0d4f1175b61da7159f2dfe8b9cef3eb459ea37f313b2c624002d447e9c541b6ff35b29b0a9f0cffd5f4aea69b1212b40e6276c448ab2b09778af427421ae6be6069d3beb75c17059c9190c6ec4b0241c13a934fabc7 - -COUNT=13 -L = 2048 -KI = d3817491d6526e4585d531cc6b46eaf920d0eacdc6b0ebcb -FixedInputDataByteLen = 51 -FixedInputData = e501f4affac9a556d0831f9e121fd37386af627421d4059dc4e912a9b615c5e8766c71587476e953ee234325296c1cc7c8b012 -KO = f92538f54affb8251eaa6802e996acd7ca8243391410370a2bc402d9ad237ac483b01641b5569f08e7fc0347865985968ad11b6b6e7378081e45f41df570c7c730eae9f3acdcebd66f6b33edb0176f1a844ea43736c2402ef92c7d46a327552f25e2997d54f925fae9ff2673d4cf5e24ec165695fed888c233f6fa13cb746d3832deee9e25360b027c5fe90d27126c5d48e8d22bd694617c5829dc671ffda9864e6318ef57e41f8c42b7ed209af6d32c5359922e772d80bf9744a818a4fdda6cae55994545d5284e69903972bfb07b38110cfb7bb50fc5e52530680db91d50bbff27bd0870013687298a0c7c781ef73b485901323ba93bd9548a61df67d6a66d - -COUNT=14 -L = 2048 -KI = 0fd74738f610414c9958a951c36eedbc36696e77c8b90d5b -FixedInputDataByteLen = 51 -FixedInputData = c1f1f6a1b0cba78f8d3a32fd3277f975365fc02129273b0e705a36632a87965945f58bdfd50d398374652a13da52d699e65668 -KO = e141e53bfb65d759728c591766ba871311b8f96dec4bdc9431f989296208fbd1f139e1a06a01de82baf5557fc22619fc9a0fee03af5a80ee25cd74c00c44dbc392c05d2c42f9eb834288a6134628eff2541a1773c60483804663178f1e80d4651f8e331a380b893134f08fb88ae04d9bf58c5b0e28bb5406ea46baa8406fb8193feab8a0f278687aa0b7fc36fc49136d5e0a244c3e2e065ce574b365898910c1fcd0479568d69f757989e3860978aa883a00b236a70a2a5de0869c3eb747507067e86865c56c7b1949537511c425431282b56c6135c5a3248610286299a945801d700db84f19e4b104d7b7e957c1cd5df97e564bd8c536279212b6ef3c558d66 - -COUNT=15 -L = 2048 -KI = c5a3c4a85cf9b7922ce07bf29917c52e53fb8ad12815f323 -FixedInputDataByteLen = 51 -FixedInputData = 8a274b460f91b429a11cd5e0f8ea39ab219c9507a11acca431259be93cc34239d281176a444502faebb99b7a2acac34e3774cb -KO = 5ee6ce397bb5fb3f24887a4681ae8478de4d3c55ee7934b550174948b3e539abc145212ae1fd0fab33fb421719653a71dff0e111bd7bd8de46829c1ec62bce04554ced4e5e4b3da503abd4578dc0cb92af7a548fb291ae141fe1b3325e793e80096964179ca41829e3c2a78b66d4408cc25ae12498e26cfa92176299377d7018ff56d58f8911094cce6e325184ad14309a11868efc5db9eff988fa7f8c44000ab12074674ea53dc72e43fcdb329d43c1437c7c6efad9cb1092bd28e3bb79793ff89b49278c099be0138994e300ed3231216bc80cb90e5e5923481509b9497c73f915efc857e593a7f87bd811029b6b2958b6ce27fa73f3a104da9eba90d6451a - -COUNT=16 -L = 2048 -KI = 409f53e98ab0df55742ed3d94e9f763dc2b1d998b634bcd4 -FixedInputDataByteLen = 51 -FixedInputData = 5b30b3bb35d809f5bbed1d3524f82bba371f15ebb6772ab11d90f870a771d707b577d76fe34d28d4bf320d3a30f476b6afa28f -KO = 79037d049406bfa2e2bdeba47a317c0a88bddc130ba4c26ffdb5c947cb381b125ce01f3a27c24e6166e464917d95a2ab77dc75daab7238c88824f5bd3356c19debd918ee81ecb03eb480cff5b779d21f043b1be3b1412b5bb33ca1ee022f27cdd96a4df96f27f615e6c075891967a5a57c9cb50a69e13dabba883bf8256cdb4beba6750395c3e5dde8482efb8bd0ec5086b92f0d2e77054f68531c864eae0d31f64375d7bfe52cb72d25cb80e070b8d46213b07b24ef374e4ace2140da174aae0c49714c81a4a80c54a1b43bcea5494b502d91a1fc184ad041738407dd102892e8fd0ab88fba062dddd2b354734eb435c6effc5e24f48e5f0059f9f5fc2b9f87 - -COUNT=17 -L = 2048 -KI = d50b58286c814f6dc92ba3bafd86490a52517259da45e0a4 -FixedInputDataByteLen = 51 -FixedInputData = 741120118ae6e38c2b40b053e2cca9ea16968be23d9b00f9bb738ee272dc9d8b488a9eca189772682fa7ee042d18764d35461b -KO = 4ce3c837ca10cabf937879456e71a1d8c5267d58f8ae37ca018585532e3dc6c31d965608e2a66222fa25ef7bab2a33b09e437238b9b304abe3a179b56031f19888a097256b4d98006717612877903a1eab8fe8424823a5cb3f8b9179bf347063a0debf5805547ec74d99c31e7113ab5581c65507adc0a63609c0596201023a92d02c61466217f7e0f14d74848a470643c300169ade5260426d9b80a7c7b727a86e25573b9c10ddaecdaa05b4b21e18e5a2ee471d290455ac08d474cb205a531d99f6e8a3abbe4b11882328707f8eb6df3c4afce0dce799a8a068aff432bebd06d4f08cfdc5f98288eaf3775fb99f8ceddfb535dccf654db4b4c69e3e232bf4c7 - -COUNT=18 -L = 2048 -KI = 151ffbff8b491d86f3b5de31255f3545b25d29f81dc038ee -FixedInputDataByteLen = 51 -FixedInputData = a538a9646ab2cdfbf61fc8d02b9d3099af651a778819d75a7669ef2be3b4efb62f4cb455fc7128b46c7dbe69ef2a427f79c8b3 -KO = 2da66cec8198f5248da01dd1ba0501812cdcb6b6eb07408dcb6437d81b16204d260f0472cd1720bdf9c1b093becec98531ad5f65e75a2e0302f8b12ab3f69e5d501d63c3265a0c9cf5f875184289dc921950f06e1df4a2c1a22a18ef0a7c08b22ae655442d9606d4acaac663ce7a418b27652da72a5c684610b6efff3fc8ec7b37b9dd07151e3339c3d2d34a29b7c325c7a1c5722b369c0203136e9e7b5e37651d4d50e5e0e37ad97346c91ea6f4da4a914e2b8ff991f7ef0150f34fa488fe6c4d89ed3d8dd5565115e73c3cc134d97c5f4637a1745140f5cfafb2895665cfd85cc74bcd64ec0aafe9d257468191c5174a58d567d4f2c6e6ede593514e1e789a - -COUNT=19 -L = 2048 -KI = 414701b459bf058faa229ae52fb33b866767ddabfe9d3c2f -FixedInputDataByteLen = 51 -FixedInputData = 96164c7fc0b6955582b5e6368c559fbdfd04249d8a9a27d139455c430503fcbfd40d0e6d1a3f2606efc0b5d94a8db23ea8083b -KO = 16d3d21519e24245b4f3613cb2f735543e696b9474d52fd5844ca784b961ed95d787d51af0f20e4de8f5bc99d1a274ff5cfa0e12c115a7304acc5681fb4c85176c8d95af5de0d07eb05051b2539585d06f61437b86123d6f44ae90b23c5228ec26baafdb768a3277e49e3b27bc6b7098edf32fa9dd0b4dde59953992d704d3423bc769283f641d509febaecdfec3bb97c100f290bd0746659155ef37c73c6fa3624b9698c96d46f39c8ae7b9c5ac785b6e4ae61b52d28c4a22f624b28cd19fb6abeb9b87ffcd04c2aa3215c8646beaed63f168e4b443b56adb769c588e2e88ddf65c3ecc9592680b3b0631985305203971570e16872e74de111b76ea8512e132 - -COUNT=20 -L = 560 -KI = d8b0db855a0b8fa01ff715952923d28e0d9dd52f00e4d14a -FixedInputDataByteLen = 51 -FixedInputData = 0abccfb289dc43daa371cb1cd6953158a650ed8c755cee5d20fc3076dbb239a7cd01d9072d95a90615127b09ece2deb70511be -KO = 55a8e6ed14f74d96ddc00daecafe132567c5f5a56a0fdab34faf26f1a058512a413d10b1d985e6f83516d63029794f72c33ecb6f145d15d4e2ed038ce98a0585b41113e269ee - -COUNT=21 -L = 560 -KI = 05dea37880774940e2bfd7ee644009a4f9553aa0fc3ee727 -FixedInputDataByteLen = 51 -FixedInputData = ad5ce7e01506894c75c1c60e7036ed3632f3939f817fa6554142e636b316e17251eb060a337186927c33f95ab49e22bdb670b2 -KO = 07b0e5bd4771fb7dec6df67c205ef4c8d926cfdcb44b7526e1a8647253163dd44429bbbb83da827d9ce63c6f9be3438a2ac664f4a06e6f10b0f4a8d9726cac550add6a144016 - -COUNT=22 -L = 560 -KI = b45e0e3d2328b95a404ac2db5d24383b8459afde27ec510d -FixedInputDataByteLen = 51 -FixedInputData = f717a24a07fdfbbedd2609b5ffa5ef09b653ee5a779458293209bd7f0ea97cbf20ae39048075de4b51ffeb0ded3eed1e00a8c2 -KO = 10be26ede9363544559c241b234aca8582a7b7273418bd91610cfcd806e3412d2200b46ee0c568e75a0b4b02b9717c183ede0e5300e0da6110fff39373f5656d804ba57d143b - -COUNT=23 -L = 560 -KI = 63b7f61c1e5c08a98662572e96f886a2f7a3283f79ffd3d2 -FixedInputDataByteLen = 51 -FixedInputData = fa9a35f809a4e823c50794195dfa8ee2c66025ed979e25044c2923e2436b4c32f8b83a0ff41a0d9416b9515d1b7e64fe73c8aa -KO = 2e97b39a4b38470e5a83f529e9b88ff07e7af22d93f7d9b49df1ab5f2ef84eb350b21b51263da0e92cdf1ce34f94947b5b8066d22f21377cb36e73f5508fd627159e9caadf8e - -COUNT=24 -L = 560 -KI = 33d111dc6d9c1d7f846acd5a08f3a6a5ce954f4f32cbd426 -FixedInputDataByteLen = 51 -FixedInputData = f8d186b7c7c1d2a0ab52016b10c53604cfceafc8532ecb15ef3a012551f91fdd475f001c29e3fccc4d5e63c21ece32f8731ff5 -KO = dd85ebae17bffc4bafe625f52073e398974d4b2bff993a24370f4cd7a1ce419585cdb6ac2ec54850884f74e57e74ba9664f4297b7de65f2b77a20985b3c109921d1b1ed0b63f - -COUNT=25 -L = 560 -KI = 932a0ea895b6ae4f620a5d1f3259508e436068c21f86f03c -FixedInputDataByteLen = 51 -FixedInputData = 5a569dceec324cfa21ca1f871d078e0c8064d4dae9148c2a55ed697efe576c00652d9db073b75b65e1c757a19d5f49f3afa96f -KO = a9ca94a77267ed26ebe922e0952999bb5c1871e8e0fd5f3c74587c47f061532580a5206cc6a6b97442fbe6bd499217b72cb45d7d730ab9d4b9adab10b45f6bb8330212a5d178 - -COUNT=26 -L = 560 -KI = 7fdc72d75a5341edbc38be9c15aef1a2ee984b771d373877 -FixedInputDataByteLen = 51 -FixedInputData = 115814db7464622fa71910075617638b8ebcf7ad073a2513e4502010ac3e2f2c7772582f9f4841ac6dbd8e78b0fdb78e872c97 -KO = d795fd16b2310b0431350790a4555eee10b051c3e11d935afc82c91ebb45526e3ffca1dbec3a7130ea78655981bd3ad123e0a5cce5628c275d123a48a3c6eeac488f025bebf9 - -COUNT=27 -L = 560 -KI = b16c7551c5f56f5f718a1647c70c54ad66ef9602dff910fe -FixedInputDataByteLen = 51 -FixedInputData = f57de2f30f4b84329a58c870be5a8c695da668280f0c64456e70c2b8bfaafef0cba440ea45c21394782214d0a2e85844e866c3 -KO = 089dacbb19898b4acb22387b3f0c2005db0e05309ec0a2ee4e3990042fa164b5d3782877e54d82df7cdb546c5e41b0a22b66c1a856c5fb53dbcdba00b4db5aabc0e61591ad58 - -COUNT=28 -L = 560 -KI = 77e2509753558d4160a8e1081d91c5f3953a9b550e857cc2 -FixedInputDataByteLen = 51 -FixedInputData = 2930f4e48294d205dd915e1003d3f093967c2f7344bb3912abec587a84987dc2018faf325de8184c4cc62e99a001ac256a89a4 -KO = 95b306ea6f5ecc9328d326e021c0ebb39da474a59c7b9543f6852a15fd9d564bd878c7f7637b1e5d1fc5b977b2f8cf21e3ab55bc8268ef5e11bd41374b0880fe69cdb718e02b - -COUNT=29 -L = 560 -KI = d9dc3d6b88042cca9311e34f894663a9649ade96acd1fde0 -FixedInputDataByteLen = 51 -FixedInputData = c1a22543c4ec2935f931fa7910a814333be8b560eaffdaf6553849a9fd206915f3c7a93fedc74484f84df9da8e1c8ab87b3f4a -KO = c30abcae418ddd5fc4f60da926cb8081820339ca8d6301fb02ce9aa0cb5bb7d62f333685cb2cc82f4ee68b841184483a8147f2fcd83f9fa5251433817aa32f388f2069fe0041 - -COUNT=30 -L = 1600 -KI = 67d20b2fef8087ed51d0baf64847a237887832ce7bfe3006 -FixedInputDataByteLen = 51 -FixedInputData = 9278569e508a9ec30b4fd21ac70e72720a56d719c7608f4bec96c60a628e86d8d2132b5cd10a1691ad79ecabdcf94180a80544 -KO = e726f975fd272ad24c8effa4cecca3f857be6f55466b409b04411992dd438c088e63e0ce2eab7eec594b9829e6c42fdec93293968f6f608bef7f582e0a4d8c2833e687061693db1eb5219e409299b313068def4a0a76675ef97c7ce6e5cc455ca3993f1282092730f338d06fd2ef5ff7e2159b9ccb7ca1ee51feca9f336d6587bfea9e63b70df7b8965136bbf7924fce8013f29c974f89b68b5be1695f66dd375c0c5cd5c8176514217a356fe5a951ad34e8f77906e038432d7af900d00c2f704f5e6ef789d96919 - -COUNT=31 -L = 1600 -KI = 79eab8bfd7045c628c017178f319b4fabf120e7af390d5fa -FixedInputDataByteLen = 51 -FixedInputData = 94ced15047d4cc1e229ea4b81fc34b01aa24dab1e3c8eb480d6e5a051597fdb8763e172ecfd31bc2cb49fb4a90ebae83a92955 -KO = c0db6c615e5c55a71de34d515a5e4fa4e6d0edac355233b92dd30cbaac157ea8f627993ceaebd9fad95173562ed7fed4d9dd827d3d00697f7deb5170bb90bafcde749a128adeabb0b7cf21998494281a943e9f7c6e5a8457a1624546873d1f865c115dd48f51852eaffe4e9fbdb0336e10eeba3567dda682f4ab4dc03b1bc17c0edd2b054ae043797054fa8ce177304d9a38538012171eca5e9840dc83e94302922031cb38c21f56cdb3ac74c3589a8e3cf5e1c888250114cf110ec8fbf87df7b38ae42b067ca4ef - -COUNT=32 -L = 1600 -KI = 4aaf71954a0c2051490828223ec52dbf6d4be677e361916f -FixedInputDataByteLen = 51 -FixedInputData = bb81e4a6bc39645b320f93547ea01efd1801968c6b776c04427940c930c9e90b4c177bf8e919c7615030aea398504621ab7130 -KO = 9041f3d71af6068134ff94a63eb4f4bc92f071dfb5d2f544422a6592151772d295f2766a7db97f62212edae099d133597b5846876e5e0766a20ada93b0c1974e461ca9fdd6c5c1aa338aab8d90647202cba5c2854627233cc04176210bf0bb81aa4db900011c7c1248346339c2a5ce517bd6f213034a71eae755f5e10ef3203e1f23ecc35156777cc79ecbfdeae8bc9174907028397f972972c0b8bb5d046e2958a76313cd9f9168733eea8e1a4638a7fe02c9cded0a24f93250c829ecc2f4d67cfd3d329208b3a3 - -COUNT=33 -L = 1600 -KI = 5527aefa7de6abebc7c62712e9af1d2cfbca58ce00dae70e -FixedInputDataByteLen = 51 -FixedInputData = 67cf2889d558e345b0565a5fccbee1a6330d29ab5926040577cd0896696bc0bf4144f421d7e48d5ed9e29b669ed68ebb50767b -KO = 02a4cfa51f7c1cf25231eac50d509041be5730bd717ebb86db47cdd6646068f0aa0721bd05bfcf9ca0930d8c52302087b0a4c2a533a67ef6a6b93322afbc05fcdf32abe63bd207abf5a77364dbb8077b32b1e1ef9d2ab4fbe09c9a6dc5bf229f1947af29bb3412a4a900b847911a699e0542a492bd83b629de4670136c7a2b05564f28f7eb97efe626ab6280bde1209f215f3d0740ec078d7e44666e0f1678e7d556db27228bdf0e70f1cb491fcaf340cf4955c7b84831b6da214feda509a4e6efdec79c13a08859 - -COUNT=34 -L = 1600 -KI = 20d6829447cf6795d7bd1b8b824ae0fc4e9c94ced7ea82f3 -FixedInputDataByteLen = 51 -FixedInputData = 871cbc364efc92001935912a9d58119c0f561b5fc9ac7d9cae2c71d44143037b23051a4e44e9f8fab2499b85dc5fc591bf1733 -KO = 5c873150158182c007eef40f60816f8d45344cd0d2968f4511bd7a78c14d3f14a85236d572da0e50efed6fd0c54a3e26d70f2e1429315e6c50d0d767dbc6f713d079008b62460584c0ffcc7cd20c9db9b785e78e919e3d13f6bb0291b24612faf9472e09964345767828a0115840abc6ad106c95fc2865defc5ae59f51ac9f7af111780b79806a12e22e115f43815dcfb01429e0ce2dfb55058d1602a5aa6b13a01097665e5cfab998a34ae9504c30b3963f0f2d17b88fcb3ede2f1a89e759ffe5ce6876a5a2f98f - -COUNT=35 -L = 1600 -KI = 095a1086c056df391613e12e48fbeedebdbc18df65506c96 -FixedInputDataByteLen = 51 -FixedInputData = d855865da298f73e7a63053111556e5e0ae4f9a1485f4acc59eb30927119f24317e6ff8eec7807786678a54f25a79f88803b7e -KO = 62d022489735cca2c53af23bde4c6edb6dc6e49c4637863b31765c7b710547ca5a540f8e06865e77c5d5f967bd80410a820c9973d7e981105cb0d10599c9ae57cbae54a18d13c788f0cbdfc3eedb52f5bace4d1e6d53b142ae215f519feddbd94339bfa734f66a0bd75374bf6db82b375559a384a81e439d30e70d0d7883230df039e51078e8f935219c1dc961c826125e0cf22e02aa362dd7b97236edd57b5180a03503ea36878426ffdca6cbfe5c8f8bc15b1980a769398e45baadda4f6f63ff728b7da7f1ad19 - -COUNT=36 -L = 1600 -KI = 12cf332b9cbbcf1ac289bb528cae5e916e33d2e002d4a362 -FixedInputDataByteLen = 51 -FixedInputData = 7542584854961cce51326b838cd759503743f2adb7f6c4750392c7c3178cf5c9152f97f799e06e1f080befdb04854510faaf6f -KO = c4ca28702b6a72c2c22d1301608a50a5b2846ecb7e0365da44edc2092c0f60530bfb9083b6cd686fee2a86dcec43fb3e7b0698d72cceca90431f62726f946795b295dab27d01ccb4a28e729f4d70e917c37a1c455aba26156ff4c8fb47bdebc5b0bb2c75fe4499e027f5bfeb4db78edfb14ef3dd14f31a97a9d752ea1adb8cde7a527af4d25a340a4d7409507117c0e8664b8d79e40676220f3e718b8eebf13636329a607535636542874f90e712b67a71be61b328bd144b91b8db02749095adf959d308f76150b1 - -COUNT=37 -L = 1600 -KI = 630a4b909dd072c537cb0420f89bfa333eaba9b333df7067 -FixedInputDataByteLen = 51 -FixedInputData = c170e3cd563d586a7fca680af2073714c4757a453cbea2b6250348d974337064e7d0ae13b494de981de8a4f64fb0d8d43dd578 -KO = 96b99f40da9e6356a2ba568f34c9cb0a0bb51d4d61b3d0ed8172d68e5654a40bb7677721e347aa74cd1f6baad96f969f2c3dd93880120ae55d08b9344e44a68e2bf0f6517da53710c0caead73dd3054b2b930589853b615241af4328fca4b3ff2dc38930640bed08c7d2fd42722e22d022cdfad5ed4ee76669cff1973d729472083393335a40433caacf19c6dfc6b522713faa01011939237954dc22cfdf096864dea90b6330fe9fdc550126e8981a4720f1c29f822523d6354847beeecf92de274c7a07c6ba9523 - -COUNT=38 -L = 1600 -KI = 2affae2d785d75697c0db0df0c193c6577e3f7178ed4a31b -FixedInputDataByteLen = 51 -FixedInputData = 37083b762d7ac1afed8a87ea9bd28db43141cb67096cf223d50f22451fa11f34447e3fcd4fb5e8087fe0dcb31acd35f1e44257 -KO = 4eeb590b541789b75bad260d45bfe31911567c48c353b51a29290d7ec967b0b10a411171b6f5d2c6bf5759c0b7a27305a330cde8e6cd1be0c6142b3725b63969df31a10f3267d9e267363cb6875b5d12b5b0d6d188d255166adae8d67e3bc92bdf068decf451fc68398ba664463c3d8e36ab0d39c166e0cfad91d0c4bbe434be6cfc8db316adb5ed6428184fa57f96057e60a51cd59078476676654d9058e62ce4834395e7eb345d116ce80830e0393f679684b6f88fee8e182c00eff1aac9187193d56a3728293f - -COUNT=39 -L = 1600 -KI = 34d797e045f583d6109abd2b4bea1d225b7b07d91ddb4a52 -FixedInputDataByteLen = 51 -FixedInputData = 6503faf7e59e1c8ba5ed2a0547361e7a4b90cbe52e0b8d434061c5f6ad950d60a0e33716b2188f3f07604da2c70cda7bfc26ad -KO = bbe9e4681a5e2941ec7f15ebfa96d8c98aa4bccce5ba632b078958f758a97699ce717f6917c2eaec17c765fa1fe722c441f88badde52fe1b999f526991c5c9c260b7379d1da0e6428c245d2659e1da6bdf13fb340951f84aa63968707254b643f6875b9e782a884d05f05ec191bda302f9b0589d5058f805fdf0b69faf18588842e518c6d78c85781eff73b273685072548b7e0c01ba8cfa12bba3b39a356a66c80500fa4a6f70e58174a75a3762ec7ecc62b8c4cd9577cd15bb1ee9d5bc5048512f4490cf16e61a - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ee1f99ea0933a7dc99589bebe1fc6f24fdf940cfaf38a3f5 -FixedInputDataByteLen = 51 -FixedInputData = 03d15b4940c665f21048aaacbba130dbe567753c410398e5151071da419e1a76201d16e5c30c88ead887aa8a0e888ddf713d58 -KO = 170c9d40800186e9ccbed749ce14f2b14e7b2a3a7747b9371cd24899f8a95492f17ac610e26ef9b684082d556cb00de882faec8cb4b79ba01dc781bfc63965a5 - -COUNT=1 -L = 512 -KI = 5bfd6c08d74f8231f52774b4a3ea489503ebaf56c599c526 -FixedInputDataByteLen = 51 -FixedInputData = f7fa5aaf454e5e4a9cec80d8010ef8c0605a35ba99f3bcca3fff592aced5e95fc9465d3efa9ab2239d8b8ce114664126d18c82 -KO = d1f8825d460a4d3f8efcf2c34317e9e6f0efc9bee821ca40b1e97c952c78975a61a66614f595237c78a1ad012217266061f2211c6553683855cf561ed08d85f7 - -COUNT=2 -L = 512 -KI = df5ac858fe7ea353d7605d455f2130d94b0a0f8eb06fb3ce -FixedInputDataByteLen = 51 -FixedInputData = ab0eb3162afbb2eb54b8e13aa9ad6bb71353473d8356c65a1cbce05d1693d232cfa3ebf8d8b331228c7818b0c06a075c1ed537 -KO = 05004449e55e77944aa83b0d381dcd6e303e63ffeb7e0723c3f6b9c72f235218918321cad83334f7524c70b1f79e1e4125f38f2044fbbf4163dd3d203d077103 - -COUNT=3 -L = 512 -KI = 4c06ed4ec06bcf2b63f6e34f70cf8cc13dd1ebf5d6ebcee6 -FixedInputDataByteLen = 51 -FixedInputData = df2027972db866c13e83b6205793c2b8e1c69c4738fbca344cd9b323042e9e3edab17ad0f000d7a8302d6decc9318f457858f0 -KO = acebc473705be1fd91d3f8579792f66fd933ee5f0dc6da92d5ce524fc78d659c9c6d6ac9480624b7336bb09ad23a1ee061263befb39bc63be3089cb1aed9d22f - -COUNT=4 -L = 512 -KI = 0cba001a04d8242d96e3bfc367bb22ef106efb77a93284f9 -FixedInputDataByteLen = 51 -FixedInputData = b7f781901bfb4ec3230c8a1bb89f811808fcba19a82e093490fb1bfb37324466c82375d98d4b17df022af954b07478eb824b8c -KO = f9ae1952bd35ea8e97016382fa8f112f0a36dfc79122de751f9849d56a744e79b713fd5347d6b4078a0266e92654837523db0694b1fd2520e7d46094d60fe4f0 - -COUNT=5 -L = 512 -KI = 87a9dd16821e74542afc142421547a2c6d80bd8c4abfe610 -FixedInputDataByteLen = 51 -FixedInputData = cfe05f873f2cdad3ea24efe9b0021f8f5fdc6e82db3d2d58524c93ca6c1f2fd34131219ee60ffe138285a4298e92af096917ff -KO = 0cdd961b55370b3dcfc74d53e75ec6f33bf3b6939913710fbc4fad2dada20ae8c4664e1ec529666deaec07e0ec25ab279de7ee6970dee13c8fd3cc945801bf56 - -COUNT=6 -L = 512 -KI = f2467ca4c2653936a27558400bc89ea666ff464c03c332ac -FixedInputDataByteLen = 51 -FixedInputData = 1335c6289895921f47dbfde57b27049fd695a99b805b3c4734423e5cb8746c2c81abd079ee70d30ea06346c0727075fc65a866 -KO = 2a439cc78f39e364a9d4f26e24ff25f3898b67cd86b71167b19ae584119ff232dec07a44167861b379eae3c5848b494c31c3f83ff8d9a958835279b54c605ddf - -COUNT=7 -L = 512 -KI = bfe9b6ec36c298b38b7582c87a6a5ff00fc9f7460de72541 -FixedInputDataByteLen = 51 -FixedInputData = 759500b54959e1042088dc9c18b7ec11cf67d93055b187400d51572f84229ead49c9872f6e8cda72ca6c2cdb96403d2662ae6c -KO = 728b8849cbaac5a624d97d760ab6a8fc48f18ab6cb455cd345bbdbf85e755320942a5234b291fb8ac6653e2a3af564a2de5cf9305ca2c7dededfe9ca2768868b - -COUNT=8 -L = 512 -KI = d108eee7855e0362cd8f17b149907a00d89a5b60e9a428f2 -FixedInputDataByteLen = 51 -FixedInputData = 32e839f8f79f1992510883fac5a6cf3d049ab634e9ab0e4a701a9ce04fb65922e7bf37e513da35f9a6d226974f1ebe2e63d139 -KO = 75f8b1d927c54a90fb02160c7c6300a4862b61a27423fe3c8206c8712cb662c1d1882e1e14c94102e7a044d43efb3dd425f73ef34960f749a384aea3984ec706 - -COUNT=9 -L = 512 -KI = fa00388d2b118945790ff144ec66b11181c4e1c7b0154fc5 -FixedInputDataByteLen = 51 -FixedInputData = ffa008808d67c67c365932b3742104a84960f6d7b97dc60ad2fe63a0a5ef9e6d8b4cba675a87a019a1850a23099c97c4f9c572 -KO = 79aa125429b726a31cdb5d692f8794b8351917f5e4359fa5aac695b52245d89f08892eeda74795368fe2348fabc88ce5cb23c6ee30763003f772404033da0c87 - -COUNT=10 -L = 2048 -KI = 322cbd0835a22cb06f0c1f8ea7992c2d983042cd840fe3a5 -FixedInputDataByteLen = 51 -FixedInputData = e88806c9ccf1efa2d80f0177be76d17c984f7af0a9200afa2fefe7246e79fe79de6e6a2e36e6f92f369b8cb4730dbe457fe5d7 -KO = c70717e8413b07ab496e5568a39f0e98bc5cc71bef809efc0c7369731972850ebe549396d45e450b4763056b16981e9aa359a533015bcd7389cbce7ea2ed2be2226be1ac83c076ea16521d6aad2eecfaff460d55f169448dec12b6c5736335648ea68b59257d9ddb2bc927787d26f20f935f9c85f177cbf44190e6ad412305dc0424b00bd6be598f9e4aff0166e6a5b9a00fa744cceba83255b536e6fdbf1440b3552861217e721be0f24ae59a113ad444b91ac30694f5ca485cd269de45a405ae09eeefe5280ec902d7c89e6c307fa94a66a9c3a10283bd37b96873f477f1b1068dbef5e393ec11b376a54aba99ca380775a4d08ec5b8ec052bbac74e57997f - -COUNT=11 -L = 2048 -KI = 4a9127deb002a4e0fe09e286fdf7c42fac3c04b80ab3774c -FixedInputDataByteLen = 51 -FixedInputData = 6e1f59fc3c66c0714ecdce4c49851ffaabcbbfc225500cbd44b11ffa7f02f1191eae7d78c3995a0879267a7938d439a5bcfb76 -KO = 465425c6c5dc49d8e7c76d536e68de0fdf26fd3128be33e381cd9360f57cebccbcfaf4c39523592ce7ebd36fb02e0085832528de8718629bce5c6f5ee2c56e227dd2c5ab135207cdde0e42203d4de75a3936d6da6628f1148696a9971477b0799097cbb209812b0b8ac4b9476c0b98753bbbf003c47fc76770648c17fe65af628e241f489da001a8fd09dd800b4ff25196de4cfa83da2ade0e78c99d7c5a3431ab88cb4bbc1a713a1d5e42cb6781793361a8f0dc50693ec28966151fbf07c387d0212cfaf7eafa2dedde117c8d6d69395750babf1bba90457f3b138759371693745f38a425455d9e831999a838e14de614fac5892b6a8c80e2735e481a6dae5f - -COUNT=12 -L = 2048 -KI = 9e75758ea51c422b17a8fd9e113c6e49a628ac7bbcda91df -FixedInputDataByteLen = 51 -FixedInputData = a3065dfca3e0d36b11cb8ecf33878c0ba882b72b1da1ca0c7a1445b391235914e37141ea556481e35b8ffdedfa21dfda8950c7 -KO = 0227baf058d1090a93947caa0474e851687658bc56ab2a933693e8873b9e88b22f4f40dcf1a80ea4678f9bca073345c3b5d7121185ab1d347458be666d5ce6fe916ebc64925011f3ca14b0463f14867676a33d082a6f04fdf227ab7e81d0052694c3aba34a6d6cb7219563f668da19275df1d0382f69371343b537c5036075614d406ad67017d4a72047d372d4fba3c58a130d588db90642194f0aca948c97d16d356830bc14b9da65897372b39cdca63ceb01399b5ff096c43ee2fa2f2d98dd924f292eca3bb8cb05f7e7c0f04efae72a7659bb31db1222125e4b9716866cea6c0bdbacce26083064da87d9afc895b07cf1d012560eb42d0b1705b482cd5f86 - -COUNT=13 -L = 2048 -KI = 4b64f6bf79ed6d4e02ef76734bfa5ccc7deb10f1300d7ae2 -FixedInputDataByteLen = 51 -FixedInputData = e87b9cf416863bed018e35d9f7a1241f2e0414f27d944f9151c11e05c63722a3e0fb70f6eab1669cfe1e503e1519ab30127947 -KO = 37042c5a1fc952c48138f30fc76664f59f628e074f7006eec8307247161923ace9051ecc4da4709d4d2cdee521453961ea15c3292fff8879cfe9227ead83c65e00441924bc63d2b19589da6c6fb64e6de26fe7f13a69da6c13b06826a7be899a68e3a5c4ee3ce28741d34c8b2659e9c664497294e8f8e54a56518a17d36a662546c07c5cc7c86d15969dfb3341d404c855d5614ec045d282a0915f305b6132511bfef1cda0660327fb7f8e8e8a0f9a1776e070f98afd2b2d5df1be32616c07d0705102eecfd62aebb3b3b74c7c70426a49473cccbfc62f4a0410254f7cee08d9d99756bbd33b30b7d4313e997de95575b530cd59ff20a14af1b942f59e3d91b4 - -COUNT=14 -L = 2048 -KI = e9b949714eab3f10f5a5f33fc9b2a346695e69b85e41333d -FixedInputDataByteLen = 51 -FixedInputData = 8916c3640adff714de781b39575c430e03ef186fe1fa0a959e6a456e894eaadb0b1316b5c6ec5b7be778faebdf2b0580b967da -KO = c526bfea8c62af1a75a95334e5fec2856697d43402c2c6337c2ad72a1ab52a48e6db14fc6dcce53c81e32b020aac648b838a347b42bcbb210e5705dcb031bf260e6fc5dabd045ff41041d5bba7a2b0b96d1cfc596fd706d42c9e819c8413df868b56c4fa32a51f12efeed3c10fb9148e9745de4a7b4bd5f0c828d88fa5e2606de7abe4008177df416ab8dbeedb118f703416adeded2b5885b86976c933b1100c47a1bc182489bb97ea13e300ab21e163ca3dc81b1b0d2fca2d95e28bee5d71477809f6c9678c6ec2edb1fffb5a5c56cdda5f0209c0a2093fb812d6578742f1a78d59ac0acd363f12566c837622e98e308c77f6868ecef38ab465efbd030dd657 - -COUNT=15 -L = 2048 -KI = 509394dc49fff6f1feb4d215b0d0cd5243feb2e47f619bf8 -FixedInputDataByteLen = 51 -FixedInputData = ff540642b95c0f766dc5e535da4a10f14511abdc31a6c76de6dcdc6ded7af86830682cdd2afbc709069eacdd16ec9df004958e -KO = b42a35e3b97ff177205098243d0e3c805e917be010451460bb4e66ea10ddda4415e00cf1294e2fa5190f1291861ea5c7ef6ed8f6d34b7b542603830daeb464b0c6d57ef0edbdc0d432c2e1bdb51379f3969822b8eb0747a97bfa76f3d543228aa8db8eba1dd549e328dbbfa8ef3b0d44efe5352b28607cc69166a837d24f333e759f3ee10efe854913547cd55a4d904b0818b85002f163ad48ffaf6fc518c405e760cd999871858d2c14aff038f6de97065f75a63956e2dafb291c0de9deba500aad221d0a28829d8c103f8f3e5455a37dafa58f22d8bbb3eccc899243bd317aef03f8df1a0b703735d59db9a2059254560a5da78eeede77ec08f1f67304df97 - -COUNT=16 -L = 2048 -KI = b2d0803c4c00c3140394c67f65f7aa7c78b3eb09696380b9 -FixedInputDataByteLen = 51 -FixedInputData = 78120da34d6c9083da4b22614ac14e796ba8d7a6eb1c033ab733a494c0b1b2fd52a4a9474c75d42b1392e78c8d9a6640038403 -KO = 1c5e7db17da2161f215662b3da07dd78db56efeed9b65e9054d37f7c0a6ed2b6b8f410a63d3cac8737bcf0cc046dfe2e0f3662ce69087a38c1b59826e2cf6c25cfbb43709ab187714c8d946f5b87be63260ef016d51db9ea0c42bf2fd498f590d2c21fb0210b8faff876d656ac8c14804cf1f4d8b4f61226c92d957cdf93d22558c1a820409d75c0d3ea61f502c2c1e7fa72d389f4bdf26cfd2bad4b16cfee72f80088fe79850c837e1f0314bd3eb8724a53e1cedc1a14683163fbaf59da60f29fe6cdcad39f24b32eec6b29997e0e47696d52b31100ba4b3201ccd8dfb213c6528643d383b191d01f6c729149cc8ea8afd89bd45c6c65244617017563dce9e7 - -COUNT=17 -L = 2048 -KI = f407f4c4b0e0fffcfd8a731616e848aa566357b854197072 -FixedInputDataByteLen = 51 -FixedInputData = c8ad6c8fcd845713916c53cb26b299d50b54db867f134e005fd7ae38a9e62260f5cf137dd0e393075bcde771e6df9b4bc335f3 -KO = 5a531f49bfb37dfb8590c0225ab6acae82ea8028c870072141846faee3bc48cc5096d86f597cd75513809693832e2203024453a5c1cb118b252d6c3e7ebc04380042508876afd34ff44127a5ab81a8b559cd58e4eb7747e2a26596e8623c46430202c9ab2dec632b3321613d9a7ba84e22f80e28fefee22530d50e3dd9a40c475be3b480cdfb6c72c1e20b3aa5965282722e329dfd8c58dd87d869eada2a19e455ef889c009a17f1d87307009132f93a1529a3e0676fda0c29a1271b17ef45e3e7562567618f26bb1ce660258e549d1ff05c20f8b34e2fd6843724d5f62c646ee5b8a87d0bab07eebf9830d1942f0513975844812689f449af8e958939a6d715 - -COUNT=18 -L = 2048 -KI = 29aa6725ddfd71f1b219e7c675e07df8b82a47f90d63b8df -FixedInputDataByteLen = 51 -FixedInputData = 2b91cf6e56897117ef78234cfdeae30f1aeef3debf0ab19dd9ef8654172aba4afc63b024e47b1d2464b6a599f77f26773ce545 -KO = 9783c542fc0b8ed4e78adcc018162eda45ee253bca579f9f7a4b6a7ac30f45de681ded6c326d1925dbf230ec168f1450bf98deb014ae99736ba84827cef2a1aef3712499875ac91ccb7381c329bd6f073eb1dec0ca7e1210be4e5c5b6069dd3c266d0641f7d6df62f656aa3cd088bf97bcf39e9251def2f3f4e378f24cb57c54155ef1ea2d202d8b2a13adb9264a69afc1a1faaa71b0d5055583914022173dd189e130c06be3adc419d6f1a389bfb0742f3223f83c1bb9a50e7157517b08bd9cdc0874b12642ac7d4c65d42eb3bb59920a47941cc06daa5a99a95893f29f4f76c0d8c2d96d872940fb54b51d4fd787d7dfb460d2346c9ca3802f40ba535d3619 - -COUNT=19 -L = 2048 -KI = d558c6bf8d2131776dccc48ad7b1966978566d71e3c482fa -FixedInputDataByteLen = 51 -FixedInputData = 06c881005728e29638c6ac4840a1f3f9fa62b525cc58134ced91dc5817a586fe508c7e1006960aec2aff6f25098318b9d5c0ac -KO = 09b9d227e0aae7bc32ad64fcdd156c366cbf6535a1c91af47113d6e018e60dc176a2a780699003f562fbab5453e2797a75a6e2e3cc352bac3358d64c3cad3c9ef860d46259d2804deeb30a356fd4e19224ff33274fb3b9667c1853c33bd678cf1a202aa59f77bd0387e70d0147a56c31a04ee4004480b8d4ad61c6f44de80ebc465da20dd30006a4e70eb4d2ce40c7a9bf2f45442f52bad4f82117e6e2b69d587cede674630077a5d906087a5fca9ab3db07a15b0749f88acbf1c8b7c5249f1a54a2b6731c7948d39e99ff618057696642612755c465f5ae8f4bd75cb1ec4e6fa9eddf632df6388663d6b0f8dcff1eee94a057645d14fae449f3e807ab851055 - -COUNT=20 -L = 560 -KI = fc88170000ed26597a9a844f46c1f9692149170d97adb70d -FixedInputDataByteLen = 51 -FixedInputData = ff7ed06f9c0adaa2c31ca45ca4cdad2c86de5550a38c30d3c47e70fff389c7152b9bbda97ba62809d2e457b99ccc6f4fc2a031 -KO = 7c1552b1be65f5ff9e925d366464bb20ab72a078771eb4671050b18615edad23ecc1d0b511f475d68e6bff74e294bbdce2215d3842825d9c6c3f934fb79e8ab40d1218b519ef - -COUNT=21 -L = 560 -KI = 917ee75d26bf78f83620bc4ab0a9d8e5e5ae4bfcf660957d -FixedInputDataByteLen = 51 -FixedInputData = 46e6698c17f11e766aed6e4a7f0eb1bbbdf50630ccd6b20593041fb7477e1c664dcc2f92dcd9b03766c008461bdc0df6aa1359 -KO = 403b48743151a3580717180ebf4611b397fe6415c08a4a206bb7e307e488231598bbd2481b7ea04810cf24c5669178380f4df3167db0b214a96701c82f497732a31f58bf5f27 - -COUNT=22 -L = 560 -KI = 5cc5ab59d4764771b7b7ae1979643d21ccb4ecba98000493 -FixedInputDataByteLen = 51 -FixedInputData = 9b0b91b1fdd5f51016d524bc207e6c35320d4c7ddb3dc1a36cd2df3350fc9409bca2083e516c1fed7296cac1112de184dc8501 -KO = 0927379d356483e968ac3e41c75621566cb5fa523ec7c1147c9bbc57e69c6b89a75187d5a20fea3cce68f5576b1b4cff60c88b44c374eb67166dd6df17cd2787f33dd63e37b5 - -COUNT=23 -L = 560 -KI = 8e7c57b8ab6807921642befad02c406e1f74865e2e2bcc58 -FixedInputDataByteLen = 51 -FixedInputData = 3cef2ea9e387816f4162935bd95156ffe45d951bb6e0dbb69f51ce943c7ba8a8bbb3003d4f75ad5a3ef055f0b3ba7fce86832c -KO = 12d26927097773e78c78d2ea458d968869f859391f716717a131fc036cc2c14c0b2a4146c25535b24c2f4e1b26da2ed2d6e028211521743fd462ee48c164d7506b931835f915 - -COUNT=24 -L = 560 -KI = 336517ad608e7a72f003311feb2429e8b4ad66ad6a7a2853 -FixedInputDataByteLen = 51 -FixedInputData = 022ba3eaa42db655c335c7fd4300c305f04c1b15b799ff736c176f8fb6312b3ef68561454d86f80fb93470b346d7ba102c9b5c -KO = a492feb38072b8f1334df1bd47c6ad97853e9ea0dc0ed86d74eab6c6ffa2ef857ee7a05673416674ba856710ae05f6987f86012693af1373634eeeeb337de21bbf1d9b8b0092 - -COUNT=25 -L = 560 -KI = 31a4a54964dcebc0ff5efd31ee3aff25046edfd22de899ff -FixedInputDataByteLen = 51 -FixedInputData = 0c17947e8551a06ec1504dd6d82ad1507356fabfdf73b70c4421a24b2e8435bf6060473ee9af40cfe966ce41423eee7f5719a7 -KO = 1b04c6c8225e5e1deaa3467111110e3791467cb860c85ff1fc895fec60642eaf956a955b0441581e12de57ddba29bf5348a33a77bddcb746d04e8ce87652ee2fe8daddb1c4b8 - -COUNT=26 -L = 560 -KI = 4bfa7b0fd06151acffbf736e4c5ebbdebf9479d5203e7d04 -FixedInputDataByteLen = 51 -FixedInputData = 6c39c7fa4dd66641d19e21179c977611a6f74966deccdee5beea2cb916627ae5553ffdc8f3f89f244301ee3afa1da1431377e7 -KO = 6cca71953d4fe04fa66c6639ddb9c34f5f19345e5d6318d536047797e6d4235d048b2bf8d29e7a1f0200fed403ef2fac0c7ae73a5fb52a2ac2d3a396516fc5d118ed92d4b087 - -COUNT=27 -L = 560 -KI = 548709f2957653b06f78f8dd41437a122c1c878fb28ce87a -FixedInputDataByteLen = 51 -FixedInputData = c1183bf9e3d1dfb64f4d23d537919ab99c5ebe55c8fe42f08026f6c0d4f428355d1be131828ec9fec7e24816287491a5f8a460 -KO = 1dc68d60c06bf6924f3a39a0739bf7a099260bd324039694f19a3f46bc001275e67091465218e984211cab66996853f8d5fa5eb67d689c03ac64046f28d1fc4d6e587ddf3206 - -COUNT=28 -L = 560 -KI = d640baf442319e4022b6cc043214464a631c938fffde8718 -FixedInputDataByteLen = 51 -FixedInputData = 74a878d1ebb8da9fac3eedb44259b6a7ff526bf664f6d2cf63234f2b118b4daa1e17dd05f51694bfc7d63b2be9cd7b2959731c -KO = d4177badd41da9f6dbdaf941ac7df478c3054c41f2e72600509d46bfd1b40eb351842112e6b70b9521d87b06b081720a32f7fbec9af9233a2af6b7c0505c2b16befbec839768 - -COUNT=29 -L = 560 -KI = cd9aeaa40e369d481bf7ed0b569936bd3503c225c49b4563 -FixedInputDataByteLen = 51 -FixedInputData = aaae42e4b260517767fb7e41874c71abf340bfd628d547c1e2dae58527c360151ae38c226ecf093f9328881cf55e3abfe0ce96 -KO = f6cfa3c8ee3eddb5df38966d5c18acf42a1efbb963d8095b9554ec953cf10b9b4402af2268835b344dfd5ca928af45e3dfc7a2c9690d14609d7f86a32a0f43fd887f74d2cb77 - -COUNT=30 -L = 1600 -KI = 458296c450f8238b91a295c57301f2d6164d0631410a041d -FixedInputDataByteLen = 51 -FixedInputData = 618996aa30a0c99c488fdddb0f26bce4ec55c1935658c0ebcd3ff926aed2932ce4e58ec04f3d33633e86ce3cc556d59a3723dc -KO = 42f6f37e33073715d592a58ec705a9ca0e2ad146b8e54b7375009998f4791f32ac06b6a4d0c5152012ac400c09b6372f9c3831ea0dccca79ad6c22019634c9506f55a702317cf75491cf7242bdf8b5b1a352965bf19faa7d89f48c8f21839f98e3f9f2266beeec410f894d7afabed1376afec2879bf258ae96725f8416b92c4b05acc5a56ca1dbc4c8d35d6718d75715b8a19ce2b39cae321cb94a91f0fc99b8d6842ecc3eebfdc503c01b338b59492b9c08d8ce20256a8e97c72c7d85129cf0066fcda15a1fa574 - -COUNT=31 -L = 1600 -KI = 64b6c5cb7ae8788181ecaa70e631a1026c37e11c04c74646 -FixedInputDataByteLen = 51 -FixedInputData = 238939d3c6f5c6987f771c0a467f43e78fdc626367269c2e1043c16e4ce09aa5a67bb88a8e8327666064b2f99e378b98efe590 -KO = 7f98bb5a2f6dd2603f7ab53f2990f47f796f59092b79d1562018fbd36e7c4b792d43aa34a80706bbd1a0ef11b762c0c6cd498ac8ffa5a91f923dc2a15a67fe021a7017d1d233c13b297b616506292e9f84b4b396f30df24f03091cee3c79b27b57f5a05f3d650282c8e3b6d39d6e5c1eddc822e50d42b5407faeacb455968e661539b1fb7c18cc74b0aa67c8a9c7a95c206ddb1eb6a31f42f680903865528d54cc00c074f534c4953c48fb63590318bad6213ac950038f22e504f6e2e2806bf6ee630b2d56de389c - -COUNT=32 -L = 1600 -KI = 240672bc4fccdd9a56bd38b4c859d9e0c57acc26fc611214 -FixedInputDataByteLen = 51 -FixedInputData = a95292c02e528718ff73a76d647c04cfdc0629239e16114572557bd1e70e41bc0a847a95e8caef37ca9f9e0cbeb29f56a5afc7 -KO = 4f490c15b92d0f2512ebb4fc35fbd65e9aaceac965678ae940cc0dd9ddc9bdeba9f31addf3fc3877b5f24fd848986084f5f6e13e30454cbaeed20c33d7f083bc8cd4c68f48f7a11ea6ac3e72f632983afb45005f153b3fd7081ed3da98b0054ed792d5b2a276c1484777680f5b284644db239aabdf02c98d0c823c0b8b3e4bd4067405cfe513bd4789c01a90fa5d346d8eb2dafe33a41b72f07ab293d2232e47054827b03be45e3750a410dd804807d9be24becce54e68729241fffdd02d557fb5b6048fe6189d02 - -COUNT=33 -L = 1600 -KI = e56e2b7927e67d88ed30303f95f528483898780b1700fb85 -FixedInputDataByteLen = 51 -FixedInputData = 80db3344660c1cfe0e5ecaaaf323791fb443ddae89ea2b14aecd3dc7cdfc2bdb3390a5267bb76a35ed37fd57a9b8c8cef2843e -KO = 90c864e473e2e2df0d46d33d95a1a8b2f5b1c30963df7eedc7d57dfc8a28b3365eb1d5c3001d19f818a34a2297e1f4d1369b3a877882cbe49ee23207f1f3dafa673def863274c726cf0edd886e24d3ebca4c554219f68142953be088f8f54d78de5c19f6fbd6c5be06ca324e6576380a8ec869f611f69bbe2c710a827602348970cd724c95f27cacdbbbb4406d5282d6dcac601ee8ba27b81927a5adabbc6bfef4271d3f17d15d4e76495915b83b247585fc487ab1e1b00af4eab610fad3883c805651cc314f63c6 - -COUNT=34 -L = 1600 -KI = 06b25d0d18eb9684165e279aa943fcb3493471ae2c568f38 -FixedInputDataByteLen = 51 -FixedInputData = c181736d660c1c32f4bc4dec7aad717d86a5e51cfc134b07c47159637924198544ac2834c12b25172361aa5be5def915a137ba -KO = 531870c0aceb6f56750841c3f8a8773b34001cb19483ba60dabd1be12e62637d537998fef0d01fb64ed8085b861de1de5b11b6d88eeea02b3b4f3643f405918306f78e20f1214c66b6c8ac0c63826656ddf38309e1f275dd7ae292cf99830bed30ce0a3a311ec87c10adf4340da3702337b6fb7cd6b1b13949e3d61186296b6da1585526579323ed6752a0712a15412b069512eb053af37b1f61b5a42df9e246b7c5ac5c3cab6b831b4685b5aa311411ecdef8dbd1359aa1d8ad2127d431148cbbe6f13bb31f52b5 - -COUNT=35 -L = 1600 -KI = 65afa89d4614ea342bafd0d88f551f718332e8ce84635880 -FixedInputDataByteLen = 51 -FixedInputData = 7e35a8453926f88976efeaab1c418320384cfe1e269b05294c0bde83b6cc482a46f0630f0fe47e770ab3b99c3c50a452f615ca -KO = 21ed85c0057e7f73d3d82f37364deebeb046c8d323bc441bb904f4d17f6c2b5ffbe0db8ce5ed320c08ce140c6b663fa0591eaee814d36cdd07beb63ef43ff5cdd590298e787153d2348ecc4715a7560d0a5e7fb383f27a3e183c3d146a3b8a4938226e648a2a22b956ef06c99f2c377223e109b86707816dad757d90e25910ecad97c4d710e559637134814212121d430fe56f592d6bd2bd29ef47fcc16fa183e3b172a47179dcd5143a38975ef71696addfd99ee0851a5537d114de1b7ef0e4b73fd9756d97335b - -COUNT=36 -L = 1600 -KI = b597cbbb515f7787535bf1309d8ae68170ccb03bd87dff19 -FixedInputDataByteLen = 51 -FixedInputData = f04f20b875d4661bacafcb268d253c6255055663460b41c88678a49df4aa2ec3854ab4274a40167f567584998788360803615f -KO = 83132e1f3913b8cf0f3f6e143706b97fe4f3626e8103c6ca2315503570ac95854a02480f50c04bf8a1b3747f80a2a79509c78397026768f69e9fe681a4cb395daeba8189349e08822eacc1867555eba0da20b30f3d719d6be1506ca195cbf42c634845506ffa65cf1662f877c7d7744ae89b43d45193fbd31a9930633521dbd933989a872fb628184541b550655961f7a2c3c0ded31ce17aa6e5b279a3bdb16f6c9fb40210cf921fb9f04d9dde03308e5d106f17bd41327ef9d85e0efc0cdd9315d4a2c57db69cd0 - -COUNT=37 -L = 1600 -KI = 06bf8a9f49a37785be1bf209f2f0cef9259294e0d6a2277e -FixedInputDataByteLen = 51 -FixedInputData = ba154db63ee260cd144f94dbdb8f0c92dc091fb6bd4dba87004dd0b1db09a3ffd438661b6f0369d3315d432f15919d69fdd55c -KO = f55297350130ea7ed53564ad3409ab04bdfe2eb14776eee8fab0f333b18e35d81ffcde7e266962bbc2951f3bca1f979b18896f56752c23b81586472b3a7f54a7e173f14ee5f4d51aa8103a4b37812f1062d1882b01057e1620e8181dc5c2a89b1210a7349b5fae041ca752e99bc2171bc7a1d9970c62b6320def788686dedf83f492a34feae854d0937776a373f68b08879b1fb3d4b7f4a58b30315a29eb86ecd1e2cb834f5cf9e7df06f0deca2c39f06b2a98367ab9dda8ce0e923e6578a7a3f9692f087330c78d - -COUNT=38 -L = 1600 -KI = 7b6a2e8c64b1e161ea648277ab93ff5f7f6b365afe476ee6 -FixedInputDataByteLen = 51 -FixedInputData = ae6807356331126e2b2c9bae0b0a116e39effc57f964b15ad7da3a9d2fa78f1ce5885a17fe12e834c5a802eb579d690be0d13b -KO = d1c0ececdf73065ceadb43cebe7af7f06784b4687ae924ee203ffcbcbe419935c71361c5680c5d8f742c820388a8516103307b38fe9d0ba42b546ea147271e192617f2fddbb14631db4e0135a81b836c497e3657d72e3cbd41a2f156e8b1959bff435c6b881b31a2e7e545713cbe092a68c04bb2bc992db45b48aa91981d06c778d213d8108aac32a89d948176462d38a04c3b0e27832c1b8c1baef9eca0c9c8b0372e89e2ee3409507d17f24f07c94dc4fbbd591cca38893fb298f0d260f59ccbad7c2631536162 - -COUNT=39 -L = 1600 -KI = a8abcf4d4700d52216d1071f76cc72192342bfb56413c8fb -FixedInputDataByteLen = 51 -FixedInputData = 12e2a6eec240b6fb2d94f8de7c603e759a2fc978e514f6548d43d1093b3eda889dcdea8b36d731a8cb36d5be5f94eef9ee6a61 -KO = d27ea9deb8a8a86927654a2f30ca489be07a1c4b9fd29908db1b42101de051e4ff2d1590ff85fa75ea42ec84b5c7b1e0b86850d2c14c0ec4e8c98862398292cc8141c2b270a5510a6b99f715e33772a251ae5f1e5443ef6a1160293e52e74952b2748fee21d74d7dee74619c127297e85f4068f5d9526a25651cea1a1b891677477e60e63f4dfc727db968e3e4b428090f3e4b2dc19b21e81490edc881c36dc11f2f06883af7efcb980505a5a95aba0e7a291c628325bee147e9aed3018cb34cf0820500483bf1b8 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = baa1bb7cd82e66b0f39184e251f481f658b25a898777893f -FixedInputDataByteLen = 51 -FixedInputData = 6c7f4f645fca6f3801de35c719daf2a8e3084db9847d77bc6599ab18dfec32b0523f48923a2bdc32f56183eb35b51eec5a092c -KO = c8da4767072a4314995b366cd9731380d8dc63996a72a8fa749c3066e94c2156306721f47abf7ac5951fe5d8a9da56add6aafd18bff49c874dfadbf3eadefecf - -COUNT=1 -L = 512 -KI = 338cbcd8aa65626a1d0ae1756e0a3f7e0b64e03a118c1ce8 -FixedInputDataByteLen = 51 -FixedInputData = 7df32fc47320219c51aa7961b65c49614a8c29e8192ba0de160d3e0d05178047c878f816cd963827f41d28314eaf5550c441a3 -KO = 8b26eb0b052b8acc56bce91c9fcc2332e97c6cad725e951a5b8fb579fad7a89b27b942cc0dbdc2adbcc50194b8eff5d2755ab9eae2cdcfa785886ff9a3a33a31 - -COUNT=2 -L = 512 -KI = c2ac9155959787aa6a090e9bb64bb5691bc71c88e6c5259b -FixedInputDataByteLen = 51 -FixedInputData = 299bf08495748886aec18638e3db7409ef375655eea225a7220db017a9be650fd38a4f1a6150a55ea06739ac045aa6c7f05dbe -KO = 3d4e53ce4ae62780018855c9c04bc79d6e1eef0d90322d602eade05063f86f932b15bbffc635904f84b2f019273d9ee3226daf14b2c61e5431a936dab6470f80 - -COUNT=3 -L = 512 -KI = 60557f5de0db52a1cf40634cf123a9b5a36ea5fa79f07fc2 -FixedInputDataByteLen = 51 -FixedInputData = 9338ca07f296e492bc738ba35e688b85ed3d9adc53068baf3935ccd94bbca150bb0c6ad7c11e42d2cd23470462e51dba7cd6e2 -KO = 84f1ee613ca262ba01e49513f3c8d1ef25a2ce6caa1d61224d884a354cedd7d056cbcda31ff364723ad61f4af6bedfd969d0efe38e5741f14db8061be9298167 - -COUNT=4 -L = 512 -KI = e966a5cf4547a8397ffe4e84ece17c25ebd1084159185662 -FixedInputDataByteLen = 51 -FixedInputData = e491078497f24beb2209d26b255d1de0da4ed93ce0dacff3094a030ff05e3d6cdb6fdc6cf8313a5b36808ede212641a8c89456 -KO = 623743a0fa2f0f3d710946e5f5e046cf170f264b8108c2357e50181158faf655e3d2fd6dfbd3a1a9cb7d99049dd278653237faba4686cf6cc93f2379b80b4799 - -COUNT=5 -L = 512 -KI = 206f2ddbaabcb002c1ce5abb32d4cc53f190ff5d908026dc -FixedInputDataByteLen = 51 -FixedInputData = 460031713c5192fb0d5c4d82682811cd77f258a0e89bc43989eb033ea1bfd4e59563b18c6e9114057ebeba00366e91c236ca3b -KO = 8102faafb16c77433775604047bd6ac88462fabacc33e002c2b00def141dfeb873f4e714a01ffb9ea17adf4353018efc1d8a3564a12a235fb271027c17c0eea6 - -COUNT=6 -L = 512 -KI = 9169792b9e0976afb32bb45755f3662d7330e65441df9d63 -FixedInputDataByteLen = 51 -FixedInputData = 4b38180f8c5331cbb8152b1191c8920b00bae75e26b811ef8204f41d40cdaf119c2e43a78b105227ec5957221d6e1335588db7 -KO = d81321c89601d8d4d396c3ece6936b4d1cd6a5ffc0ab69eb72990761bbdef70363e25017d7e6e1fe7ad1f14965061ad5bcc9c48a231c8951f8cdcbe7feeae786 - -COUNT=7 -L = 512 -KI = 6e3cbe7032f5b1febcd56c1ee7320ab8e207f3b17928656c -FixedInputDataByteLen = 51 -FixedInputData = 7c848e318186b0538dcd0c027dca75b846624e5b9bfb66a81eaa405b2d4eecc2980e70436ecf089b8fb9947aa18862cc84c11c -KO = 4a8ce0f9365ce4dc9085d6486384f66419dbb608fc61ad1fa8ef1c8df6dbed06923fdfe2f9c57311dd42b8a47ed62a3f53f0cd904b4965cfc9edba02075ee007 - -COUNT=8 -L = 512 -KI = 70e3b0dee18aa0885b636bca1751ba927234cff00e087f49 -FixedInputDataByteLen = 51 -FixedInputData = 4969454bd66be3acf324de6f813cf37250abd7e49516d15ab62044c9e4e9c14c4c26c4b94a2848cfdac2c1b22d3a55593454b0 -KO = e0de38f0a037650cf0f6e9720686888ae267ccd296346dfe87996eaf244fe61dd6a4dfcdcf71aa45e396cda20b8f89df8c2ac22510487dbf918b16219e98afd9 - -COUNT=9 -L = 512 -KI = 9c3dae1bf3edae52f25a97102bbc99b4d9d823a0285b6c70 -FixedInputDataByteLen = 51 -FixedInputData = 74617ce049e17c42daa4e2c0b12c88ccdfd8d84284f0ebdaeba944c7c046d2daf9946dd2f6b3ac10f521f33bc9296afa1f3e37 -KO = 58a457545da0286992a339198c545a79dc07f87cfb37ebc8427e09af837ea48ecd285b816c63416c7756f1b84ed869edf83001140a208908ec8e478c40a9362f - -COUNT=10 -L = 2048 -KI = a0490682d635c4d536794f625e31bb69dc98dca3968bd895 -FixedInputDataByteLen = 51 -FixedInputData = 6cd2fe6e4812513ccedeb59c4c9b3c4929b38e730142bb3c5e40482449ca9c814568981e66e7aad35a0152fd20a0e7e0772284 -KO = 74909f2c40f0aa7a696c5a347290085fffcfb65f2ff48c751d40915d370b55ac32fa791e2437ef67e429df3d4683c01df4f57021d620b6a07af34ede8d235afb237ecdf3e7e40595a63abf18b2c6fb79c84a37e6daeccc2d41296601727dda9c6413dea4dedeac4e62b131ebff568eb2385ab38ca8752c6e34a83d736503ffe54f812e9e7030e8e0b8cc725335ac14fa901970de039435d5f477881f546fd15d0d0cbaf1962ec557846c673c41df3344d373cf6811d60eed3a3e723a0a0e946095dc019fdd519b9859e3c6fd375edad702e3666265caebcdaf0cffc3714e9e95ca642a3183b53168a56b7eedb56682017ac1bff0daac6b4f469c63b897f21c10 - -COUNT=11 -L = 2048 -KI = 1ab132e0f3a23bb8f5189a450357b5764a96c2147538d4e1 -FixedInputDataByteLen = 51 -FixedInputData = a2241688922535682c70f56d2131c1a7fc2c186f13793850fe1871127dc8f3766ec7183a3728cf81b8243e830f49e04be3fe19 -KO = e77b9bd80bbfded560eae9ac282392f2052fc2d8be7023b756bce5516baaaf60712ac2dde68cd87f81627d75038a2086b5dd6e1c4198975de2cdcf16ff9f1fa756e4382f02fd00eee28dd315cc670abe1d51dc7e1a88c2858ff28773195888b8ae3aec42970c3a4be1cb77108321ef554f340c69aa70aa875c1132967803939fe7ac131dac851c5372c0bac4a47b8dc698d64562d6db3803fef5397b094d1f493cff827f55e926be73601541dadcde1e90f541489d9da2015474b547b009cb601ba0caa0d76a2846577df70d1d63bffd2b664024d2bdcb0619fd9a3a0dc2d8abee73802143ef52fe856e5aa2b09340f4e7278c1bebc3b19be7f5c727cdcfcf38 - -COUNT=12 -L = 2048 -KI = 455641b0943fceba49e73a335470fa54db01a3891d2e2be8 -FixedInputDataByteLen = 51 -FixedInputData = fee672c7bbd5cebfd20f93f9505a35157840199d226a0e0b2293dc7dac81429009d00e308879db22ceb1edfac1ca59ea814df6 -KO = fffa6c9ad4af4cb9862856c3f91dd514c7ab6ad87fe3255fd176b9bb6cd07381efc0b734d460ba8d81026f38abed1ed5598b82e4a5cef711ef3c49fdf79053a5398f0a76199b4237a47c0f95d73b39dcb733ab5518ebbfc0ea39bb60f2e87e72472abedd1a83b0443894579495326545b351d14b175269c1dd0b188115e7f8e75649c3462aeb49902175a47b5fe0ec89aa38ace665dfeb750bb3d50a9810ce13d00a8c6d3975fde1757e07c571233664fbde8edb734647e8593fcc943f6e762649f0e360b37525133c91d8b7a05d0564470ac9f15a3b37614e66cf996a33ca48954dfbdad5dae4f9cfe164312a7b3f03dc55627e1fb2cd0eafafba18aec0bf89 - -COUNT=13 -L = 2048 -KI = 1dbd2d0bc248597067b079cf548ededefac9bf5d199706bf -FixedInputDataByteLen = 51 -FixedInputData = f22aa7420f475ab738970238762a214ee33fd0d569ba526c9a4d15e46f1c799604e85e585499057bf86130358a450b35a33a92 -KO = a7131a83ad0db3547077bcb804f5565e693c8358dfa2cc138bf029dd51fb3df248f92a2c91c2d4215b87fdcff638ec45332ea7192d6bd2d39edefc1efe10ce9d1198ca2d0aee80d9de30aa423702ff5e9373e643859af70669d20fef3ad954afd359fbc7fd9112242caf03c1e3a2e18f79d6f342d44063410ee89be133197f1de08f1c6db9cdc592d5dcbd232f9ca15068762bbdc572f99ce19c864dbc655e112bfa04c9df8346bfe09c08b1afc611192c596ca0e13a3153d24dc428ce92447861f42a0515f5d3e0fbbe09731f6333cd0e0469a9496aaa16f2bd96b647484faec83fed5553f4e1b695e5b5575200b04cb99bc08bb41c9ea888d03352289803c7 - -COUNT=14 -L = 2048 -KI = 175c7ddee686e2043007b5512259c1a034408bc13999fbdb -FixedInputDataByteLen = 51 -FixedInputData = 6f8c24b9b887750e554c6d2c736e292aa5993e7ade77c7fd7f1a75cbde190fa2b84535fdb6cbdfe845f2a7e965929b3404b407 -KO = c2e62f5f6ad4be7acda4b69dbfb6bb69146bbeaa4267026a8d756f0c3d3d5cd1420af3a30ccd98caa81ee058f9231c85f9e6aa9943a67261432b2405b121c20265106b248ae0dd9806413606064156c4dbc691c9eb44346856a4057f488854df00b053dc9f52b2aa0f90bae70ba15d1aaeb248112f148baf2e4acdc76f723f4048fa86a9f80a10b3c81846cee53f7959776cf0630d0c548a98b847577df589318980ca1bc988441ca7f096d4e2fe7a9f97e9af1f47d8790426a3547032cb862597a9e707b489ce22f10792476cccd1f89c5ff4b8de361cf879059943ca289c841234574a72704cb67924a6e8214681d191a3dba1759f7991a90531912e12f053 - -COUNT=15 -L = 2048 -KI = 88d9c8f05972249c50bf5a05e7f07bc2d7bee767f8766072 -FixedInputDataByteLen = 51 -FixedInputData = 3eb2fdd5e004769e68902975ea2918e050f8d3fe61f5e1f850c8cce1d45bc68b746729e255615f1f62d9378e60603688803c10 -KO = 14c99546a1d72fbfa9117b7e0fec7c22ff42b7d9445245912994afbf2cfa99af50875842d2446040141e8221de683b09bad660088bdf47b4dc33c131d741cfbae6a5b128701b7fb6071a1bd1b08cda10e53ddb51e9d555c16385dc5684083bc906cebd66ec8d82918f695a6e230bd3086c0f3a6d42a6d4dc59fe7f4817bbebc6c0fe5febd369f5375d8c7a295364a9c12f6f1b816b7d0f3c7b9102828d3f9fbe86a7b8a66f7c3522396ab777fae97bfdd737d17f19d981e7d308b3bbeb4d14eb516acdc2ec9f651d7fd41896f6db1d263f11090906c72b37d72f6a98bb48e4fe0ffedc04521a11db5d8d1dfef7560c67dc8b5f21fca7f14c51dca699c75c7a62 - -COUNT=16 -L = 2048 -KI = c84ad8827a350a052ab30ea06ce9837fe1af0c2577bdac8a -FixedInputDataByteLen = 51 -FixedInputData = 01bc1504949149656848b10e59cc56875da1448553c62ddb2994e1b9f55d42c258d787b7cf1f948a0347e24d5a616db0d29203 -KO = 112cbcacbfbc8462833c51496c9f244948f6a7718cb1e82f964905ce572685d6002cd2f19345607e11e1975aa993d6e01590451bb268b200b9b592b8e63afd6d22bdb2f84070cb3e3156c06ddcb41917391f56c9b2c0fd7b41899c37f2bb5ae5a4729750811810b785352658c4586aa3c211954ce355d85d041538bff9ceeb1035c0c7eea210f690f8c4b19208323fee52f55485ed0da5982cf89e62d7c7b36c4458497fd75158680b641d4180b2fe9179a906a44947c6a108fff321b61a6fdf66533ebd35f3c4f9f997e272e627d05688eabb8c83a707e452600d520060bb6652f3cdd05e9ad1f52617fa3145bb722ce30ea0a9e783e7161793dc694548713b - -COUNT=17 -L = 2048 -KI = c41ea3e7de4c941ce89a9bbc6f6e77b8f2dc9afa2d8448b1 -FixedInputDataByteLen = 51 -FixedInputData = 600a527240532168beb09ff57c80e569e966daca817a0d0becbd3bcc1765116abb5a2543582e8e8f41e7a43ce6d0328efb43ea -KO = fba93f87cb70518463cdf27113fedc819173d42f8a6ef47bd8d0e205ca5e562aa5ff4bb8ddbd3ce0770f8a6fc8e15da84c0444ce74da768b3cbca8dc8a41591b4aba43492a7b937339618355324e1ef4cedc377203589caeb3f95c061b10e17eb8cfb44602797c135bb0cfc47667e3d784335366e29d09dde291ed1774106943a1fb66d38918492ace3e1dcd31bdf34af990f9a2308db49f58c11b9144526d5eb1910bf0e908c130ef2e598d7ed88dec7995ad5acb47af95659b8363e22e125301e9cc66bd17d7c35bdeb5cf420f48b7437051e7462d169fc6b608fe7f3ffecca671f5b75ba4d0afc1c5013676fc0316b062510bfaa53122404523b055d581c9 - -COUNT=18 -L = 2048 -KI = 888e2399a0fc7364b756d7132c282a50f71b07e6dbaba937 -FixedInputDataByteLen = 51 -FixedInputData = ea971918fec9d227207c688f134a662beb5dfbf9e7dd9270ee132c53d10a69edba4ab062d40a5cc783945699bc20dc543eca4c -KO = cb0998a6c759393d5fcb7f32160a0a1bc7b03fa73b013fc56fb1c02734a6a8bd96d0a3241acb1bdabd15d15390f1f771c288dbdb55469a8f0de5afbfc1f2bacd1f70f0cb0a2012ae6ab87c84d087dfef0a46a1bc9855fd843cf5c120d0f2b151603288f0613e0a3fe34f59c52f9de07c9ef38e725127e6b505f8beb59de479570b492ae24f52fdda078f8555b2203697e5fc116ca72dabb72fd0282a5ff4f7f96c84eb6075a84de15c9c0d7b8e8f58f6ef741c09a07972e9193efeed687cfd812848530702f5b9d63ad2ded52202ff727965bd6b2d67767bf9065c07d233cb15dc32c881d9851bc04888620df4faa4b73fcfb6f6a51beb150edd34795f206024 - -COUNT=19 -L = 2048 -KI = 210c39f750134b3e4cdb282d40268359849363c1cf3521ef -FixedInputDataByteLen = 51 -FixedInputData = 676134c035ed8a393f5c9a6090873fd84e4b952bfe908f11fc7177d47fb163d8624e3cac52ef4191e19eeb432fea1e66d69734 -KO = 7707d83b469c1e62c178306d9a16fda2446fe43868298aa4f2cd96f5e1d6e4c0e17622822238e515b3b28092e0b0360fa0519408d3cfdf861c8f884e688f1260e4864f5af5038ddc7fdf60a22d672cdc43c5d8075455710948e6d114917a946eb8009e452d20a5c470d761ce4bdca7e81d64faa44481ffc05c4dc6be50524f94a26649731cbacd329918aad1b0bd398279e7f07887787c1f3b02eac36d34fb695a069038941946276f9ee0a58e02ee592ec78ae8161909ea3f3e5d78281a911cde21efa82c936176facace41d99c71aaf90019ad561d61dddfee50d9738b90ca21b7f648b62a89bbe6ff143dbd5a63d5433e9524a05e3f7ec9de8f87f466cc92 - -COUNT=20 -L = 560 -KI = ebdb4c59c6c4d723b0cf18aa05bed72b1db903b0da3dc7d0 -FixedInputDataByteLen = 51 -FixedInputData = 86eba684f92bafd666a0c0760159a12b75b3c479f8e4c960d010df5932302a9d0840e5eae5ae8a854d6df04027e2ac69d1694a -KO = 990a173b5affa4c845dcbeaa9b0a8d127bb281e558d0627f5aaf0dbb0fb504bc5c626b20f2026cce44f71c8c22cca0964d0f2c4ef539aee1a6565840813ff4b02a87279aedc7 - -COUNT=21 -L = 560 -KI = 7c24a9badaf1a6fe544977ee1c3c3ec1e6ad06c339d1a5c0 -FixedInputDataByteLen = 51 -FixedInputData = e3bb902a42acf8c5ad25f9b3f1ffe2b9dc5ca227a557883816d3625a394f58bd20a76fa454a37af8e262516beba41944f9e25d -KO = 5a9256507c03c77353beeefa3fbeddf1e3ec8d337d6f548bd91c3957d654f72d8ab0fd325685bf066240d0bcb05c95677df92afd774935251262cbfcdd941c18fd2df4007324 - -COUNT=22 -L = 560 -KI = 7e3f842569d0a54ed98d7c74a65aa280d2b16324e4716356 -FixedInputDataByteLen = 51 -FixedInputData = 0bee27f2582fc47403a2b7902a0cf137b32d5c615490c7e9bd075c94911ace990be2b3f7ab189c6311070d4876eb2ee4dac548 -KO = de7f822adc43b928ded6d76a765dc8321c20a31d62744f0e9fab6724453fb43ee1e045469b964ba106915aab3a1aa3759d96d49a90a881a62f4b87109c24c77bfb8bcbf82bf3 - -COUNT=23 -L = 560 -KI = 6c781b6b51be580145bee969bad5a7665e46f471bd7c26b1 -FixedInputDataByteLen = 51 -FixedInputData = 09362342a8a04441ac7207cab96321e2b22466ed7d96465ef9eee0b7635ae632b819649f59e7f4177a1a0482c60638574bd4ef -KO = 49feeb9001d6cd09c6e1c36608f52ba73ba5f5bd19a6fcc35b7142c5ae57fdeca12b3f8d4ac14968263820101c812fca4f0ab7c62f647575bfd95c6e37c252fbff8d55997d9c - -COUNT=24 -L = 560 -KI = eca3b50557d508076f95aa466ed8d738735b0d91511060c9 -FixedInputDataByteLen = 51 -FixedInputData = 60adcbfe094e0cba67367c7f088f95b9b791d9722f2747f44affb2c087cccbadba7339db75fb1f844ef30700e8de4b3af96395 -KO = 971a9435150b2431c2c32bb18aa41ffc58e01cd2be55182d8206b4d1aae9bc66ae4dbbcc69f8d09ee4d1068a373f916f19307da3c68eed1ae38a61acf805dc48180e3fa507ef - -COUNT=25 -L = 560 -KI = 386ff8dd5454595d08be684713993e0951db75fa54e85987 -FixedInputDataByteLen = 51 -FixedInputData = 71c7a1c8fe8ba14c409e39e7f1bb84d5bf2043a314be4a993fb4300d2caa113096ff7525e99fc6a12da725b1c91a42f127ab24 -KO = cdf9a4c75acc951f6eaed05899ab4c5b477b2182bfcbe94ffbd196acff38910b74138dda89994076f7b80ce2b0a4f9807207932911f23f4447561d601fc989bf6475384fa7da - -COUNT=26 -L = 560 -KI = 076b2f16a1a4eb1fb873c697b17af5590e76a30dd180733b -FixedInputDataByteLen = 51 -FixedInputData = 4d0de5f7c4c39004e78b1c22818997f963cc8acf75983db7ba12897988f611094c3f8fbef7630d8a51d75ba8f171e927b11159 -KO = 5d3e0f352a9a5d7531196e2e477ce293295b33601539d1871e0fc67b79f93e0e1f146d8e57936e2d3b528c4a465ca2d64ed1677dfc7ec330ccfb71b81ff6450e7989269915ab - -COUNT=27 -L = 560 -KI = c021213a1abf63e1231b384e5af83096a8945d2b2979a20e -FixedInputDataByteLen = 51 -FixedInputData = 30a98a7b63c916cc8f8ea6ab12b5fd5d14a9f6eaf60fc1e304bf9bd86a2d7f2b47a5eda0316aa014503ac3ed5bdd47eab547dd -KO = fffbd85ed2071dfb1b9cd4552e5c69dde8b6af22d3ebf1cd397e9c39a1ed3eb6bb8b6dc0969784f4e4bb03de1f178194d1ab3bbe4be15cb518338a6bca5e6d5c65cdefaa065a - -COUNT=28 -L = 560 -KI = 9748b9d71c12356ca9eec213ff3b4669c817443e16cc7ba5 -FixedInputDataByteLen = 51 -FixedInputData = d8939cc4f5a3b0e7fe8e824cde6a272041aeb3013a76fb6964fef51126426169d5471bfba59946bc803c76b0336203a0c3ef96 -KO = bb141484bb080247aff3200f4717b3de76a825bb7d6bb3cf012f5cf940c4e99ea884996fb7b52617528d3a1cddf4f91e9139c3b269dbb467129a76cf47a109971182dfe6ed40 - -COUNT=29 -L = 560 -KI = 21735b5cccf13c971cfa6c780732ee140370b297d60f4437 -FixedInputDataByteLen = 51 -FixedInputData = 5e57e385b88dbe359d61c1ceee8bf46e8fb053347f14c1df2e7a413587a4a1f38c0841d7eef57b84368f9e8ac026005f7b00fc -KO = df8752820e64e1685fd368a14c61011d49fae6a58724d737f09c3f2e7443e60e9f1074ad3c3f735622da0749dc6e485c202c764119faa48947f4e7b7987697a226717b151944 - -COUNT=30 -L = 1600 -KI = b504b2a64ba62ad241a5f3dc12a5e415cd82735d003b5f60 -FixedInputDataByteLen = 51 -FixedInputData = 37977c80124ca95e15367152de2cf4fdfbe6b8cdc661dd2bca5d8bcd312c977d8e40fdb781f757639a79f90d43a0ba151c4a96 -KO = c783044aa92333de7a5214f89f1d3882207c673ef1a7adf4b02ac9d8cd3be2599e389b4bada239c890d680bf3a77d746c6f09680064e7dae205fe3fcfc0aad486ba0febbe8bdf274348ee823c659ae313410967122e5ec0fac43c12500768c3c6511c06f4e00ae27c36f0c8c919c364033de22de9bd12c3c6ed62f703bd0dc55f8477b86c16307ef48cb9457e34d8945a4b1f677886dbad1447ab9a8cd420af6168496e9010fd814e936526d11bf46c8480a746eef9afbc774539441d140a945e442332dadb8f99f - -COUNT=31 -L = 1600 -KI = e0fa718b8cc11feeb0dac48f6656933e29ba7e4ed4ebbdf8 -FixedInputDataByteLen = 51 -FixedInputData = 6f6d0920fd08bcc80a90f2a1c950a3a82a42f4987eb022c80da15f8607d3136094d2e6ce779812df6636669483d99676184ded -KO = 51e386f0a41b29dbd33e59d8362250b4aa39af839a71387d799e8ef1b64802efd1180025622065f376d4899af81d1341746acf92a67743417f696ce3f94c226b55f349cb18121f9523bc50250d88019df2cb99bd77a8f81e9bf5d8e9ea6083a421902d72c563be1b296daac5db509b57cabd9ae9dfc93297648500377bc529158c908a8e2456e543cead37891e520065b02b0383e5c3c703b6a3c41c409915137cf10cfa08e676557073a4300d062c2bf9cda89814baee1975b21819e535bc5485e2ea3db3361b10 - -COUNT=32 -L = 1600 -KI = 4486e1e97c2b07385d6512b2927fd27bf83572792f71382d -FixedInputDataByteLen = 51 -FixedInputData = 50a62f5330dcb59811ca428fd64934aea67c357840784f45da258a15da6e95468be82589459083501763cc9bfb1e490f9af68d -KO = b10e8ade4b6e05a68e4f66f3f6bb736e18bfeef37e45dc80c059c6be447a89393e6cfee433afcaae8eb1dd2d349fdb4f53b78b9c7bc5eed8e3939c6dab979f3a7cebb0aaec19b07342af37a580f4df9c65e735cc99584f5ebb653ca8b4778a958566e0bf21eef0404f21f8e2caac6d025dcd1cf94e1799b316ddd5ea145fddff86c2c05574971b30e14945ce34809234a742b31ed4604f37b5e19df07076abfebb2598c2bd1884cc14ac71d44e749fb8a9e35d43fc01987107c4b70de2efa6fc170ec923b51ee733 - -COUNT=33 -L = 1600 -KI = 496c86167c1cbfad3c08d07226065ef2c621fc0190847286 -FixedInputDataByteLen = 51 -FixedInputData = 433a83312f9bd551886ba3d6df3e619d24332a4bf48960fd7d6155acda03c360af46c3bea43db9f2cc48638a993b7b71b52a3e -KO = 10ca4af383ec94b3a12e9947f79756ec3f32690d79ae6a2d922005c1d4cf7ffc93ff9cc48bb0fa465e098f26c712b3392eb86b558a2838a57581237f05041e4e78fb654d422a6f004ec0c3bfc5911b98dc871f22a6494e44ee90d6459081125b52080be24a0020e9adb2bfef9cac8d785836a72dec9559fb82133a5ce2f812d59277308932f6e28a299777e5bb6297414544d50dcebbdcb6b4572f1f5b9bbe37f0c645f365e84386db3060119fb6de3d9ca7bfd2cfaa7c76b4f8ba0ee518568674c3a5f6e421a9c2 - -COUNT=34 -L = 1600 -KI = a1866dd841ae63808b4de8ed7e62836ee61ce4bb4bdd79e4 -FixedInputDataByteLen = 51 -FixedInputData = dfdc239382f30b8c74e1bd0dcf4321e7a75bd49ab43bb57b40b04137beba6854de368f68a5fe387ec603f55ae134d411a24cc1 -KO = aa3c21b4560b80aacf59a9e4b6fd48fff183ee156a3eafce8c30e335e1f664d4385c910b9e67b2c09e60e776734216ec4e6435e0586694434d1ae333df2cd441eb63fa634b7e7d50ae4ae4ed49dd378a3c56cfebe27fcac1914ae31392dc6cdd6adf6cc0d3f5c0cfc4de739dd858b39f2773e2e0b8f3a3edd6a9c13188672a58995c2bf04f1de5889a386333335658837170c7fd6882106634837acca53e8a258e196347e44451f0705bc617f1d192fe1662a7dbf05185e1672e170214414fedbfb13e9ddef71e44 - -COUNT=35 -L = 1600 -KI = d3e90e57aa3491bfa17fc6023cde5efd6441ba9154c3d86c -FixedInputDataByteLen = 51 -FixedInputData = 53d15053f49383a9d9ec58c1ff5678c341fed5f8e23d58940b06e20daed46544cf544e329f54d1505b57cd74742c26e8212000 -KO = 7af598714dc264f2e9fb148a48c837477f01d276edd00d42e45191df2fac9d5be85cf31aa42d9bb222d57d2716a4ded1d3160c06f1cc26c52eb2b73aa30bb782b48e6f84e1a9f7a78077bad0bfd0a8256acd5850c622f30ec0222d08e263d7bb5ce0ed9bebf7af9a8f0b1a37f0a6058888d69daaaea7cc2ec6b02194e8b071b1bc6de5bf4a590a03d792e28eec06e27f9b79773fcc3fe291e8204123494711934eef48187376c66448358541168e2b48254852fecac9e9fd1db3662e97e2c55d35f55f48806687f5 - -COUNT=36 -L = 1600 -KI = 6f59a7fe7cdbdc145bf10af9daa859d2050af304b48619ad -FixedInputDataByteLen = 51 -FixedInputData = e977d2bd0906cebad428e4801f73492c66dd565625fb0ce3e56192ee3a0e58d7f15da0fada27dd83c11b0fde2b5ba5559b28c1 -KO = 4d0cff980dfde7d3a162ae4236a6f64c79462cc183ce2320fa309d4ec37fd6abf3fbb9918a1484570d21cc3fbb34e48fd5458419f8f0d8370084ad5178fd50fef2a0d1f2071960e3971e36e2582e4c68431e74ca382adcd7f83495cca2eb01809047489328427fdab6aa182ac2a565b3cb3d81e0a279d94c1d274177b82b3826a3803d35d79b8d71f3d780a49c98542562b10cfae03858ec1402397f6e20347b88bfe7f7f808a3d81f973f3e6e4124e92e82004bd754a5625244ff4f6e0d45afa7f1b81fb0d7305c - -COUNT=37 -L = 1600 -KI = b89fca7a45f6a64642e967a4791d33f50d73129d849adeb8 -FixedInputDataByteLen = 51 -FixedInputData = 47cd542e99f347aa64fdfb38cb23030e4e66e216cef7597a758dd104ece8f7be33c2deb7e59ba2bac38251bb57630fbadc4416 -KO = 9d628b0d8d74560906eaaaab5f8677bdb1d6786b61a7b6df178126b9f9ecbadd581bf4949775dc32f14b28499a803cfe526723327f03655e59828250b0338524123d5b2dd27ea2c1881506275d81291df929715bbfcb12a16c6c6d87665b70543f9fc86b991e841b2de11cc21b72fd32a74a4aa4d2229c06afc9bf5bcb67c2ec15af48b3d467d5e2062eee1a58a2ce1ec91f7aa1c9fd11fc9388f8d65514c722c37acb842ccec6c0d9e6b08b4622c3d9d59a2b065036c69454954670274d92614d259ecdb9e4a7c7 - -COUNT=38 -L = 1600 -KI = 0bc4f9c8990fe943adb3e564545765d92b01f77169750d11 -FixedInputDataByteLen = 51 -FixedInputData = 58a0c30385108624a11a83792a5fe73ba1c658ec0af4fd5917f625ff0e42e0d60ab899dc9bc1db69a1ae3183fd4f2ed78c8ca6 -KO = da52ef6164eddcf70bf1796271a8a62a5dd999103da4af5ab8cf1d605d14e220c59f6281f8034a1dfb0c1c423f2e03f04a88488a4fbe2beac92bb813f1dd1417f82c3a46dd8dc32c8fd318ddaeb4a4cefd19696e6310f9dad265b702dd07c79fbc2e426ea22d4a8c9c7afa2d9d3c1a4a34659a0e2c4092e634e26a87e13a6b5418c7cc4c436120dc56462c85ac9d01ac68ef3082e8e68bf1e3109c7fb1dfaa95329b9b5e588580f09aa602ec957bab4c644a0e95eda06aa191ec1035a3656ba8eed68b4a27a04957 - -COUNT=39 -L = 1600 -KI = 33694abd76261dea9cddaa07968b1c733917971d7a24ec47 -FixedInputDataByteLen = 51 -FixedInputData = d6404dd7d4317c700b3ee915f16902959aea2b531d98553427e1217c0c36b0c83171f231fa6d38e720dc19d02d3bfec39c0f1d -KO = cf0f08b082f0c4a98ac600d950b802cd9bf757d6b62a86210a7fd3eb3417bcf0d4de1ff4f1e1cd6ad314be31a9363f11d2b13a373a152ab82f634b4195dd8463830eba2facb5b5ced1509640944406567c5ca3d46ca5b00df0b6fa26e6dd7b158515bce48147c2612d36f8275ee4447b5f0d212d9fc6960d123bfb2bbd66be6c207ca76e5aad114d580370263490ab74a3b137130e1c060a09d6ced355a8d5b2ba19888c23c79d33cb9801574fd0eea6ef1b22da3cb3c54612315cf4959b02f8eb5ee34702d99aa6 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = f091e26ed5acf6fecf9b0d1f3bbc38ead43e49fd111efee2 -FixedInputDataByteLen = 51 -FixedInputData = 23f85aa5b20f4066195606fb8708effd7cdab43a9f95f4668a7ddda80127369a53b1fd3b206862ae009eabe4f13c4da964727e -KO = 477cca652753390368ed40d1b92c5ed84364922df0d7bf8f457f8d1e68c1a10879328e50149ebc4dec3609c6a22bde8580bb6eb075eb565032104a158beb1787 - -COUNT=1 -L = 512 -KI = 3fff7ba9e4e7c23e1feacc1ce1f6112b9e24df31142e67e0 -FixedInputDataByteLen = 51 -FixedInputData = 2e8064cac9f3528df0b4539095a18633b9cdffda6f63459bd0a0d9354519a8429e709aa9be5a39330d3bbf35f7560987553d68 -KO = 550a273c0a89d41fee6d11df0d71684f462c484b86d83167f935196dcfeea4490f0551a28d3c4b73fb70049869e7247415508c04cea83d8df13f4c3471385612 - -COUNT=2 -L = 512 -KI = a5d94360196c221602def90b91d7ff771db040693b85c7c4 -FixedInputDataByteLen = 51 -FixedInputData = 90e9bc32847cb46cca32552f10d37980ef8ba9072d1e27f21098237cdc5e7834276231ae9db61cb446e37189066cfcaa29e4a3 -KO = 1fab2be3eb3197224ee623d167e6ae40b566fe41c5fdb7367c024d3fb904383060d15f6024d632ac30896e18fd830020af5bb632b35f8269176244e7c03550ca - -COUNT=3 -L = 512 -KI = 11c00266b9606eeba8e91eba9ee97ad095a50f10ed2d589c -FixedInputDataByteLen = 51 -FixedInputData = 5428bd198d75212d56bdae402480d7a56de46ac51773f96767ff2bee5293f2ac21a97a0f2db3e01655cd283ab4a6b5bdce11e1 -KO = 1f5235af0493b9af95ce08a45c130057bb7b4b9cc67fbef64d27daf86128271f479725b381ccf8a80cb51de0b3667f01fe2863862017431fad1e5dcceafeff6f - -COUNT=4 -L = 512 -KI = 35bbcc037c02fe56371bfd1c0c9aa8f7c3f7f4182a01b6b2 -FixedInputDataByteLen = 51 -FixedInputData = 058689112a0860f1e6777334ca51ce85bb5204f9b7698d1c9aa8877a1fb2943270268f5f5a0fb6cbebf4ef45d2d1ffbe1578be -KO = fa27062e573f79d5e1163e7b0f706f499d3a409427768159cf7979a5d84627a6c239977801f71814534752b3e92a9cad606104f0999e2f9253ecbc0e33a8fc22 - -COUNT=5 -L = 512 -KI = f6b3293095cf7efabf96eff5ccfad48b841c39aea27acfcf -FixedInputDataByteLen = 51 -FixedInputData = 1608fb6ae62ddeb323729e1b4aeef6092cbe31b91f63dc2387786351b243dbd34d49b77f3bb6fb0ad940094b0b6cb4271611e5 -KO = 2088ebbbabb6f5d2376f70b7b865ed4b385b36876bcd8da9f54278694131ed7f9bf2b7af7d511ac293148bc87c2b1e89f56cfd694006570646bdd99d9c63af89 - -COUNT=6 -L = 512 -KI = fb01595ce1c8a18ef1b3e71c9590887df0e366d67121a1c3 -FixedInputDataByteLen = 51 -FixedInputData = 60fe73ef213f8481fea3c4748e81a29804859eea81330d96cae5cd9e03002a4d5db88a64c3d72cfde4815e605cd678436106fb -KO = 791325d84def750fb759bbf3275eadaa6d39832db1a2d26aabe3888219e43332f4cc6581cef58f5bf5705b1de9e3e6df094e36fd65d30fedf927db5ba21f0a3b - -COUNT=7 -L = 512 -KI = 7d09c292982199b6eed73a3e09e156d86e0a0ae9bae71a47 -FixedInputDataByteLen = 51 -FixedInputData = 5d47e0bbfa29550f9c851cf6cd6f68304596b5b825178fc88cdcfbe279e39f9d4e09b2afc2238aa5cfdcf3a81181cf1689ebbd -KO = dcfc93e2ee13f532e18f0eb71d0833836475a576176bcd618f9335182a5ab315420e6f81796f5c3cb9e39ce87e0bef4abf61e6f29faabbaa5c258191399cde86 - -COUNT=8 -L = 512 -KI = c7bc585fdfc52e8a8d122da8816ed38a5bbf8fdbcde7c658 -FixedInputDataByteLen = 51 -FixedInputData = 7cd82b09a673fb25600efd90b10768f2c81c2bbe0c525dfa46758453a963c05d3a4af7ae6c68ea4b168a51b755e23ca81609e2 -KO = eceb493f9aaef888a51de8e880d35a5ba2ce13f410fda4065e6ad552c853f7fccc3eebecd74d5295fdfa28405d1b05a2eeb89c8021741e3d0cda6a30c7bfb72e - -COUNT=9 -L = 512 -KI = f03f4efcd976f3ab0647aa8e8a61b589ee9aeb97be540a13 -FixedInputDataByteLen = 51 -FixedInputData = b21a03f14ab4f02d8e82f7236a40217a7454e45ae3e5829115186167672e21cee9880f8d4b1260234a17070ef940f2cd9c2806 -KO = 278c02f5876abc50c08c0f3689603df2977986a9b6d49418b795135c363a5f692f7e2645e004959912930dfe1603b1ae215fea82ca643e1a9a162b93f882dc14 - -COUNT=10 -L = 2048 -KI = 6fa27bcb38f359b0eec3ad38f2c3194b3a64ead6a6794086 -FixedInputDataByteLen = 51 -FixedInputData = 18b75264a0fdc65563bd558a12690ed8bab47fe993d39e26cb13d3234406421c023257c59bcbe465517d88e79ba0472466b3f6 -KO = a2f587aa9f07bd3a25a4002bc8d03de62794866abafdd874a99273bf4b4dd7fb662b89d7f70f299a09a528f44ac261710d7a9f3faace58b5fc076bdf6ec5fae92098f03074f66324acf3629d4da611853a5dfab8edbfc8d1b25bd9e4d04f73072336ca930ee8d3c79c031aa74a065202b079df01cfe591377f4c1ed981cb623986dba04ea77adce53718ad2f71a2caa48f2c27b8f3c869065bde76aabdd47c4665e7f1446d2a391c434a2ec85763b1d400c78238e2d17019bfc18c6dfa004961bb9e296b94d0af37327dd88fdd2a64321ecd2f4193275c38bbbbdbcdc67d79e9f40b06821f453fd6fd7761cc2037dd40599f96eaf2549b0df6b8b944f1a37c64 - -COUNT=11 -L = 2048 -KI = 1f375506306807ee8380de740c35eaa6c62fbef9eb9bd17f -FixedInputDataByteLen = 51 -FixedInputData = 5f7ceec5b2a345b112d6a00ec2f069f12b0144e0f0b17a379c727bcf008d5f514de17a24d0e846819d934b3269cdd1fdcc9502 -KO = f52fd79de76519388eed01f5be578c16e163bd41409cd43af5d9a0eefa074482911f9e398bb9b5d3d00b2854e08b1e424c2466d15719df41c0affd430b5b2ca323ea4f4aba75d3dbcf6199ba5cf1b9a3a920ad9a055bb637f7c0ab4197c9e05ec5e5d3303191e38317da9ba77622f2176098f0bc96b7107dd68a5e8e4684a4e42a6fd7102f0f062f24930d5ddb65b02e2d2fe689198f0b1a1c1235173d1d25367dae1810018241436effbf572721e5664871517fa7b4bf429c6369ba32183d29064bd0098867cd7d18e0e7edd71cd03ab6ea2c7e72d82e191c135da2a253b4283d58f9428869a36f6ab11d8e7876c8a3ba8ed41f81f7e5eadb2ef1afe286835b - -COUNT=12 -L = 2048 -KI = 4c8b7f2031d1000e579ebf667cf6e3491b9d342316eded03 -FixedInputDataByteLen = 51 -FixedInputData = 8a80c50921888112b9206e4a146141f752173f74e8179ab0c786b14869223366379b5cc4fc0fc43ae6b3f4205153686e220942 -KO = 5b9ac273e5580c4b1102257a606d28dbd025da2184a3eb95137621823da20901ceb3841d32488c83e3ef8a20cf6149f7b4a75cd430f18f1bdde420ac3e1ad3f80ebc086b587838df73037d9d89b74961744141c0e8ed4c99cc545a18d1c5a6b6990a863c38c5d43b6d7c6cd05d755f30bced57257824f46217efbae09f84d7a618258ebac2fa02b1dc43116e476579f73c4bb7f08b99ace2642605940be5681d6c9fdb4bf42d538b6eea7df23c1ea3e9873e31da4641127a7e4a4497a27128a072192398419d930a2341551a253fc7de320d29e34dfb297c1fa32bcb57bcce0460267ac485d44188fe44aef6a22d55cf5a3194ce06619b03bd96e908eb3c3764 - -COUNT=13 -L = 2048 -KI = c9c9a30e36fcedeeb46281066d86bd6e6b409bb8a07c62c3 -FixedInputDataByteLen = 51 -FixedInputData = e95d8285cfeb33004f69c7ea938287f58b2670f83ed385bb1122453f4c9d4b06c962a2f4a6cac24d31c87acae9b92b84d9685b -KO = 8da1e2a12c4cdc4147bbc93ceab1c0e06a35d0fc22b588a08ca4da0cba45fb7e1d5dbcb779c6bed6088b653b91a2e0d2fbe0f2ebb2daaa3d53d05b86b7ca139e47630ff426806f73a4a9b69a437296eed95b678ecddfc99c522b6decaa3fda475cbc0dbfba1d8dd62651f2474929abd93a18b148dc1b8282416fe5825f158392eb772367f22403b6810f15bff09a427b2619563eaaad2c86c171372fd90aa1b227a816b28bd7b5961f943dcd60e1c0bd25a9dce4bb7bb9453ce35059b6da545c546dd72d61b4fc5da3281ac69eefa0c47665132bd16fcf75d4c15fc2d93d5aeea59eb0fe8036c61661936d45cd1b75d6bd385b8760ebbe4934905646754df23d - -COUNT=14 -L = 2048 -KI = 76f6cf5661b4aaa04008d2b0b56d4655fae829f01bfacb80 -FixedInputDataByteLen = 51 -FixedInputData = fcacf0fca57fa485a5633764cf555077e774798c6575fc3835e10b70bf3aa85cee418b935cd8f489d025734952c8c7fe90fe18 -KO = 66889d3f9a8f8c72f99f50956fd6089049a4c1da29f74598bf21d7c53adf49179695803e157e953988992adf124609ff5904242486955a9b4319d1a15bdfd55c2a366a74ef587d0af4edaffeee190f9f882c8e586f7c7e9942da2859d44fe7f8771c1a55c6e0c6fabd384df551ab810a291e434bb84dec5c467d3856221325d0e2128a62539f44e5c100b4cc8852af736217145a7b003ce2889b7c465745be86248936202749c430a601b8db8d788a9f8fb565ad9692fe2231ace2aa0340d12983183bfd37b6eecc677668472e35b7f18be69ec478692850e88ac0edcfec1ed1bdac06c10196fe0542f72f7deb3c00395f8ab4c4c333fc621f93a47feaa797aa - -COUNT=15 -L = 2048 -KI = dcbaa2c3ea9a9a63bd0ed5887e1c70f790920f70f3dc4611 -FixedInputDataByteLen = 51 -FixedInputData = 153cadfefe7b69e20173c354262a190401d64eae7eb71d086bf25645d37f388d120c13813f4e7e89ceffcf1da63dff56570139 -KO = 5dce5298a5541225779fd202cbd32737b3f4089cd3ec568964eba77f434a9377131af083ffae603ebdf193de53e4e72544af53d4205cf0d9a873ccfe3ccdb0a370a67b85cf63aa8a0de65765b366157e2a9649437a98cfacb67e64602adfe55d967550fda413793f0ab1ae543e18f2b8cb42451cf1d4145c0a6b1097a67b2e7f1b5b1c51019d194cebdd7ee2e474555c8c941080ed2ad430393586b17da37123522247483dcd258965dcecd06dc0f7838068cb810db035ed9ec401e095dd7b01948ce13447fede509207a4c0e801d0ed7818e817af1aba27dc5397f2e05462cf1943f1787ae742ad908b4e04cd8685df296c12d27ad3b0511a63ccf92d50303c - -COUNT=16 -L = 2048 -KI = e29ce3151bf7fc51bae1c993b163554b5b6bb9ae54ed3563 -FixedInputDataByteLen = 51 -FixedInputData = a92707b776b8dd7f09fe7d761befe585543794e98aa9c05fd866a83e97e0d07479dfc08f73bc734f68144bd6f304b4caabea9e -KO = 1f703d3c3d679141b1cdb3cb1d91e5103dd509e0a679fb8b52cd7b7c3c3cfe229aa3c7eec98d73a58315a4277bee462d0a1b0d158e49ad17bd8b7243aff43fb90d5135ad39d336f77b4052e76f7c2009313bbaf3a7175e41f7b7ee3f40a762d36fabfd7ff20d395a7d411f4935ae80f9f2d3437317bf0c19e9f2c3f71d83549a0a433313eb1b042cd8b8cf9eccb4030544bf052a0b24bfea21a5ac9a2d16b335fca0ad23ca120421dc3fe103c9d54901a462260573d10b60ae03e04492bc4c417979e83202cfaaf75a4470a0d8621966d98cbc5e8e6bca3f5846d3503493f66ae5776fbceb5c66de6f81f739a291558dd97773173d1dd41180736315250dd86d - -COUNT=17 -L = 2048 -KI = d068ad3608045d4f5af8631d1408ae6ace89de381ff3da68 -FixedInputDataByteLen = 51 -FixedInputData = 897ce4e21ecd275ef64d81f8cbe411ee5aa24c329978b8c765518e0261e4bc14aabcad1a36a5a6cbba9f5cf3111c6cc161ad2d -KO = dd09ed332b5f5ec0f608939d8b7a0f89a54fdc72c3a2de0ed7a6f86bf42f6750387057af804ccca2d8fb44136fa7f223bb707e231a7b3dba59fc87164428b27c2dbb170d047d53a7a04b2cce24b17d3bdf08321973e8b4da2da52b233fe978ce2059251612088b82230b2863c4e731a38b26192f2535942b76487e9c520952513c6d3d9d80cf96df69f97d474f5396c5f285320b41296f2538e9b65d14dcc1dcdea174c115c8db216de34ad766349792c90e674d3daa1845b6da1abd5d6ae83fd9691b37a4a81a4ce64615d4be5013b639219dc67e1acecdc961396cb3e115b445edaccbffd9d8b5bdd470ac3d2222ea77bc4f1f2a5f6dc4d2f7f4b3f5902fa8 - -COUNT=18 -L = 2048 -KI = a65a13611bd1e0e217cb80f6b99ed3899645cc24ea5e31e2 -FixedInputDataByteLen = 51 -FixedInputData = bbcd9bcc652aa39e736e5ca79849c0581576d284539d604b71be2f9151edf13d0ff385972e57feb01d6a72aa1c32fcd4184f99 -KO = e69db9101bbd00dbce2874f3949841f12876c2588098873ed7c1c55d9e4ff95d34c97d23266874ba3ed7ec25ea467964e98972220bfd8776f298887d3ee06ea945f5dfe1085d60786b2043b34884cc7ae9eeecc890bc94b7e0ff5caa4d402e6792884582dd020ec52724b81188b4dec0eba3d64f3ba6871b65f7a18fb844d46040b56d23df9324a9159c0887f6b275232735d0bfba9e7e94facab8f8a87ea25990036b45742c2ef71c897d66a3c7a9216d42be460070a93b22883d46dee6867e506755f93737220e6a441297688536e8815896d776a5e652114970e4eb69246bfc64b25d31dd9445fd3907bfe49cc4d3c40708d9f82687c9f4aaa4d2e658c1e5 - -COUNT=19 -L = 2048 -KI = 69679371fe70385214be7dbb3f8dec7f4e4b11e3d78d3202 -FixedInputDataByteLen = 51 -FixedInputData = e44b2def4f185455c6a0ab530e5d4ab6712807e9f8b6c1fc7460a09d7d49e225f214c1488299f5dfb0758d8c3b8bc8acf42c0e -KO = f572da1154328650f4793fe7526e5a389cbf2466d9225f16f778e65151716472af367cce8e2b8c04839b07d6be63903216ae0b56a442828c11f60aa4ca0da176f4134841713c5df93f66e2de313ae1251646ed901f318cf2ad8b251c47869d059756e259eea42f586923e335fecb6e7e58c6eaae0b8b1c599d271708e952578010ff9ae0b0077b19329b24f1db0bf64b691395bd69f0c603dfe1aad7cfc39ffffb92d4f1c40ab87e8964988ae20a9a2191c2cd63ec557f31dd004e19bc1d272e0e730fdc916fd96983bfea32af00179ccb42310fc45d172484986e84f68f78c879b3caa9811220affed3778828fcff1d79a947078b05e1a5d2047b565bc3c683 - -COUNT=20 -L = 560 -KI = 98c2c6ca4af125456d9bee80a9ba73da21b585e0c6b42467 -FixedInputDataByteLen = 51 -FixedInputData = a194a23f68f9df65321d1f89a9a18775437a9c09c7d272ba73cef7783fdb2b0be351fca5cf0644701e09db0b7d64e85dda23d4 -KO = ccd983cb9bf70329ad7ace6fc885c249f8421b0b569699c3d8fbd7efb827d987b7a2ad154492fe184e0c172747b23fe7563c5c1f0baf420806658d4352e57ea9b11be421a950 - -COUNT=21 -L = 560 -KI = 4c19a69bb0caada0d849a2975d0ae094265c3f958b0e1594 -FixedInputDataByteLen = 51 -FixedInputData = 4cd2386479a361b867b503fa960580e7b4f1251498558e51d08de865fba767d3bef8e0d447a8818c494714c0059b57328e7eaf -KO = 4f46f576581a1e56a23c1207f02bf82185155df1e69d7de3d45e436735231f82c3a21645c96925d40ddb2c2266c8588e98a68189e028bd2963032e2204abd66ed13a2a62aa60 - -COUNT=22 -L = 560 -KI = 74d62625b8e693f05cb525ba423aacf9ccf6c6f8ea4d3289 -FixedInputDataByteLen = 51 -FixedInputData = b1911eb14f0375d5bb6d717dfd96a5cf270a174a1fc2beb84d6c06a8d6d431db70fbcd3c6a453786e14d009d735300f9281a67 -KO = 8c3d602348d350d650b46222efb468f5ebaad14972ea516539afeaba6f7c121dac203fbbaf728701604d63d605d6ffb5b5b909894e1411950d196affc797bfdd1f6ac3bd4ff2 - -COUNT=23 -L = 560 -KI = c1846945c9897448f360ed35063f8289bcccb1aea68074ae -FixedInputDataByteLen = 51 -FixedInputData = 38058b4018aca1fd36da7422a06622882bb9ccffb1641ed9eb5421adb3c6b96c485a2ca8c940e46da5ac1af185c7668697fcda -KO = ec1f124c20896f80f7457d96500cb24a5e2649c61e70f2f3c474cd69264f4501bd0a5764b92bd99f7a0a13e06f24eb1274f87b6678b0e5257cbff2248b0fafc4d1af37062992 - -COUNT=24 -L = 560 -KI = 57a7b161e8ae2e72bc513bc9fed258f712909b9fafbcbc4e -FixedInputDataByteLen = 51 -FixedInputData = c2155785afa36c7fa74922948f3eacfcef41b2ec4f50397c3d213ba839c094cfaeb0171ba1f3b409199a6917ff18481c811d92 -KO = 2f4fe8eab86da99220dc3e32e5e070afb62b32622b1e76385cac4b543f3307771aa1f857e0a235fbfdd77e4c5ad3e422506e7c80c59facaa4b0ccc89e164c91855a1f07d9135 - -COUNT=25 -L = 560 -KI = 6ee614b3dea7a622302627af687a0d18906a2221acedea9f -FixedInputDataByteLen = 51 -FixedInputData = 011ada30711415e6cdbd33861c176368e7947521e32376042cdc5ceb4c2100db82eb338878ae489509beddde34965066a307e2 -KO = 0a14ab00f1781185115b9f90d09fa82f22372596ea6434c4b1b8fb3e93783cad5649e8e75c4376e8de6b23bb6c8c892d4b322572fb60246f66b2dff90cdd3cea3591a90e91bf - -COUNT=26 -L = 560 -KI = 439bd9a16f60719632556d54d6e79e565b2e44f0c7523b1c -FixedInputDataByteLen = 51 -FixedInputData = 6a6aeb9cba2b8b0f65828e64c35ee91da3b4b65143c514c390251d9cc7c30cb0cbac439165f4824381f896dd8d20fc0ead3732 -KO = 9587c68ea7c7135db88e8e6639bfc0d43f77ac3f6ae666efcdd098464988950f7a4af430ddfbad128ae712d0e5922134fdd021ba8df30e40be285ea72573bd6622694b3934ac - -COUNT=27 -L = 560 -KI = 56353446c9083ed91b86a003f64a8313412b6a5a98adfc69 -FixedInputDataByteLen = 51 -FixedInputData = d18066bb8198c0f3cd824af20c6babc184deec6c8084858ef454e2e806b6510d8f7101011d249ac479b16291ee2d308a084809 -KO = 551303ef5ca76984d773b45290589549b105e2b683677bf56acc4a7a66814b764cfc2aef4daa82bbec5d4b699ba3879ca0c22f3207c052f8d7ec71e0951fdf8b5371e68d8988 - -COUNT=28 -L = 560 -KI = b539428e4ed78c464591c2c07a0aceb5f87ffce59d69f6d6 -FixedInputDataByteLen = 51 -FixedInputData = 8da2a59ba4971921315fc1c4969019bc37d6814ba0fd5dd2c97a8efe6379940b78d20d2adbb1ce234b0db0c480538e8ad7ef30 -KO = 0f4e5d0e4474177c88c76babfbf5d20953e29312eb89391a557bfca487f4a1819a9c2456c832e9211e3203952b4f91de40aff13d25f5a01737dcf629760b2f557da7be9c23f9 - -COUNT=29 -L = 560 -KI = 576e9790c23a6771c1c8baa10dd44a2e129ee64184e4addf -FixedInputDataByteLen = 51 -FixedInputData = 83706cff72778b20b0eeb6d3fd3947bfdb690241c5c021064bfa37a03465a56ac72f781f5a908022787d02262068196b24d4d4 -KO = 9578ab53d411c76d662ab9cd9a0b1ac27075f9ff622780351bc9256d76c2a07d47694afc50558f6850a3fca4cfa9a6809f323617f19dc9f2f47e2fb514572ca91ce92e5a16f2 - -COUNT=30 -L = 1600 -KI = 04b09e8b324e79406c8590d10a74da2bd6633d7280b434d9 -FixedInputDataByteLen = 51 -FixedInputData = 103aafb49b0d3fec9910f30e5c8170d02ffc34a90411b61a39ec212c5510dd19c1af330e33cccbedb0e67b9069ed25c035971b -KO = e4accef8916c7d59a6b63393001a6a8961a784eac480857eb5f6a5f904d387de7ec20de695fe287dfa59eb7d7e1c9c88b336135997ac362faf59fb6d7040f531757f6ff9df8f9f3ca0763d9cfec9228f773d01458facbb3510cd95f30d2efe83f66cf32f6650553d39bda94437e7a1cfb864cf620861152ff7b4a2156a72567d273453187de56f29ae97e90648e260085f736ea1040a43fdb6a62ff1260124f62690120abd258564c7a1eb5e4df5f00dc59061e34a90199f46d4009dd9e1df426f58d98987b1b861 - -COUNT=31 -L = 1600 -KI = fec077f013aa08ad149510056ab9cc13c7e6630ac0276683 -FixedInputDataByteLen = 51 -FixedInputData = 663cc81d1c9144577e978a2bf60e6abf05e3680e01e40ad8a18d6621a9673f5778f47f18d307399e48868599ba321be1eeb71e -KO = 78d9bc276696854ab092f82133fee4fbfeafb3bf53189afeb7d11d2fa97e0d9d01a71fda5358470894ca9643a4f212e39d5551d9b603fcc2dba0c3a360aa87a0e5ed23aae84a609ad513ee71ce20569665d70fd6e45b4b0d22f9ef5072400a8935199f25d2efcd3267a37665115f2ae4b0221a0ae79c0c36951a8cdeee82bbc9ef94f979f17f3bf08d80354edc4afa7a8eca4aca9f3d0b0dd3abf97f424675689cda7af74e2228b7ed8e1d15548981923d9c227fa3fc13a31cd06244ba578e2763b2b92e073003d9 - -COUNT=32 -L = 1600 -KI = 31ff30f0b6df034b6b8a79aab9edacea25be34859b91f54c -FixedInputDataByteLen = 51 -FixedInputData = 664df329cfbf0ab8e36d5144c5a28f6a741505c4164bb7160443943a20d1b9994834ede6ee3312c716f2f33aeb02f1a28c330b -KO = b0a6453d9c06692f17e6ca89efa84d841c9c2508adcc150086243bd4ef2fb076f7ca1838ba1378a20c08fa3a21b203afedb9e3fabce870a17db618076d93f7b770037f76e43fb0e51d037d3085cccf0687a601e25eb7045458750dd8b7882b5d1872c518fc33949f9b1ff64be9a4afa86d4752c221eb8e14316f0ba3c175362bc7ebb4d68eb7597e36c4535cc5d29d26e0a3dba6a96ad7d24759abeb8a207bedb2687dff9d1a0ea5b2e54583cebfb667b2365a29b6f958399c78a8811026212104295276976302ca - -COUNT=33 -L = 1600 -KI = bdd7e349428981cbfd4184967b9bce37d4b31c316403a5eb -FixedInputDataByteLen = 51 -FixedInputData = 198f36291eb1dd8f789035cb8270fd17d4fde9468696c50c476c666478f51c139af5151547d0fc5adb901027d51cc35beaa5a1 -KO = b3b9d42a3c6431ec77b7344a4806a44cea638e4eee5530ca92316e79cb2fed26974f486b851b49d4f923178988b6861753b7109aa15a7ab7778141c676595ff964e6604eeaef3b761c023bc286c2e8e49ac16bb788b16ba1d32db964d2aea84cab55feaccd5f2b0ec1cba41a3725059c308f189b2b6050701e954ec0dca64fe4460008384b3427a6c62fce0287ba207855fd89092a2806cf246a79782b976657e560fa17c08aa3f89671860404ee1d79a44ae2a737852b07e64b2d6445eb423a1c3675eb2a9688b4 - -COUNT=34 -L = 1600 -KI = f3ce2d060fb2f128c5e357f03a2815f619d88f2b3a4fa7bc -FixedInputDataByteLen = 51 -FixedInputData = ffe4a9a1d3c41a2000bfbce29f1b3b1223f1bb1573decc951d6ca1d88bb3376950aba75619d3b03f9d27666de9c809705ef797 -KO = e5abaae5fd59fd35372dfcb9ec8d2954b51176ff2312e1895e6abfda76d70a88f4ef2b227cf780e8dbdeb0eef2510be24740eda692052680dc58b5d22dc34cb9215baefca351bbd8f7120bc31042af37485dba64c83e3b8018c694e071c838eb544663ad5495bf3fd9a7fbf50551d4fdc1265e6100600e1274eb4f1dbf53f1af6bcdf8fafc44e023b3c2d9947abc56e25c7daaf01dd0998bfec788488b5015d7f917c5780352458faea3abf696d58e5be4f0559742cfb1221fa9d99f148e00f3327b6ace3ae13dd5 - -COUNT=35 -L = 1600 -KI = 5ba369517217c72bb6db4a52cf2453e0d97c11558a674beb -FixedInputDataByteLen = 51 -FixedInputData = 54813db2d570f404bbc56bbe3df13858ec8f8783107e12ebb672a4a388c4a13d33d26e7d55d1c9857f15983378b06cf6bdd753 -KO = 82caee355e70fc026934fb563c7ffbc047b66f049bc16fb2a9ae313fd7a2204dadb53093f535dadadb9996e3d1d182854e76be52b92801d3ff82dfcfa444d0d079d4a4d9409f57ff140d4ce6d454c84b9aeeda172acb7e7922b0b2beb1eb41e70f4e8f9e99bc110d9d89887613c050d6cb2c2a4ca8710afbd9b84a399aedc8f4bd40d296985fb2461021b069b5d3e3362391fc495bed06ac2b6d9b38aaae25e3a3f60a111fb5e4f6a4b9cf695312e07839c8a8b5f4395919adb6879ea360ef5f916b85e1f2e1806a - -COUNT=36 -L = 1600 -KI = e6472f374e78808f81c1b12579d978797055087ef8b3a67a -FixedInputDataByteLen = 51 -FixedInputData = 04960c82b6284df0ea1831bc95257d8f1a5cb911e6bc06e4614ae632ff58546d492772ecb318fc9b1b856a40e5572f9d8a782b -KO = 20141bb266f2aca42f3636848c373d310141cbb8a007cdc5714f1c1065e4d877cb90c68ad9c71dc8c8597be30f866376960d7fe89f9b04d52c4e4d751ea36fd0562e18920c41e2b7bf412c8711404f94e8d87f487e3f7384504040ff941dac191647f2289f5aac148e8c13b11d69228b29ca73a33e5c51694b947db1b7c5b91a21d19013227f3c7a243d04595fa3cec044b281afbc1a798f31f49306ad5da910c0e2a9a6af2dc99d50e8b3e0faea8ed9862e55b0095e139415c214767fe5c67d34456682d0d5d567 - -COUNT=37 -L = 1600 -KI = 321f109a458d21d7d9399d3bcdd0e16459018dba65f1beb3 -FixedInputDataByteLen = 51 -FixedInputData = 5a37b84eb31564fdc8203446726a53dc46780c791ec6c48de48ecf5ce43b27ad9092c5a32f7706bd8f206e457db8b02720276a -KO = ec36d3d271b9bc56c1a784843dcb65902c0c4943edc59b6598d174293164d33fd88fdbff55549556aa82c5e99e53ba7ebc3f4dea74f38731a7b7b2311ca0905edaf0332dc68831e11890ac1206f93a4ae68535c7f6495d2b7631f6799f0eeacb7129b7278a7ee4377f73cd7a65447de04954b8871d8ac6f6fa3e7fe37522443b5246dfcf59d19da779189589504c9634c4fb9b589541adb53f93e4f44cb591d368812228329b91f8d30e6aea5ec9e8d2aaa2ab8f4a8256bcdf9c3faebaa82f904977448ca2693af0 - -COUNT=38 -L = 1600 -KI = d66d2b8aebf0cb1e9b3a150606994ef5727954a8f31c05d5 -FixedInputDataByteLen = 51 -FixedInputData = ff176e95c9f480fac055508bcf07385a86fae4fd0bcc2c584f2a5651625dfb7479aeaf6756ec42395aa0483893cd92c65b5974 -KO = e6d5f3a5061670a7a1e380e6b9da233864a6c846260ffe7b83b780e6b9f4444f8594ada213d5f0b6c841eec0adb9dd062e9b54589f64f57ebf065c567e803dba9ae0bfd20bea499f4f3c0b138f3b7fb7caf230aa771e4b422f11e099a7a7d36d74b19a4b9590ee9f54e0ee257d51ac33f58c0d9a68202a99f6925fca01733f8b1c53f59bbf5dfe1e0a8e8a3526fd020b44a500d052d883e49f612566e951cb2fe5eca66141b670dcbcc9dfcbbe3309cae3f0feeba05e7aa153b6ff2db717d8dae002e63013059eab - -COUNT=39 -L = 1600 -KI = f63d85df1c69ba0e23e362b355947d80ad51686ff8208f83 -FixedInputDataByteLen = 51 -FixedInputData = 80b82a9f4e588c73f5cd710e9182c94f1249d5c3a8a23fc4c085725bb14dde724cff30853c040e88d03ad125a3df4512850106 -KO = b6a940d9a85b089abbc1737fce04103b9a6e4bccaff4d4672b7480b623c3d50abe9e847d7f097b2341f895c6c445c651c09ac8924760abbb2842ecf38352f76228a0885ba64f1ae1aeae613ad4f508e3b1b1e748d5bc22d6e18c008f2d3d55eecbd6ffff4602b8c4d9d0964b589eafed38f3093014c2615b58ab6763b0cbbac672bcebcbdaa990f8fa1e8bd6a964c7fd16afda1972ad4c3382f3ffd7775ad78ed35a874eadb5cf0c17ab320842e8389e97a444c2e098a5a81d55ac90c7256344047a9dc5101fb45a - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 1942edb18c60b3e5f7f828517218196b1414cfd9fc913e21 -FixedInputDataByteLen = 51 -FixedInputData = c47cb4cdee7c3fa4acddafacb726a2d6a2d7c724fdbec0af7d24d10664d9a5d3679b2996fe70d8f7f7fb61fa069af34af74cc0 -KO = 6360ac8b93420edf19757e821a891f12dd73dd3610af374e90de199a8b5d440c5c3b1995f895f8c0e0863ad1d7970c8586c709f54bc7ddd196ceeebf61fa4d5d - -COUNT=1 -L = 512 -KI = 66524b37faa26a7194da0a257480d6f6e789783380d2adaf -FixedInputDataByteLen = 51 -FixedInputData = 93408d2c301bc5ef0672d65198a8dfb2d510d7007c0e31fa99e05707be8f746df2f51bb52af844ca0885c0fc3b01121924cbec -KO = aa8169e6d73b0c8d44f87023525b3213add9b8973bccee63a78750d762477334c59304968f839bdc2c4d8f024d2f3c09fddefd229ca91b76df70a52fd3f76b31 - -COUNT=2 -L = 512 -KI = 3277598d3782506d13290a55db1a6fd01968fca3c70b26bf -FixedInputDataByteLen = 51 -FixedInputData = f879254bca4601878a0a353dadb7d16d2c44b789840069f8182fe15ff8be1c92aae5aff4b22d0a66e2c9649adc50c190d0fa47 -KO = 246ee08976bc3b85d55761d9d2a9a6f94a606b461e7bac804dce8844d6df7b11e06e10c34ce2a61650f800930b553a5d55eebfd5ea5aa6e5e02f4e54f6b1ea82 - -COUNT=3 -L = 512 -KI = dff388413205f9342d7248a870e10a9ba766dbd63959a7c2 -FixedInputDataByteLen = 51 -FixedInputData = 93386d6c509648fbab4d5b893916dd28f4458e4a60c077717be15d177c84a358d71ed1181d7c9f145f12e905f5161e79171b2b -KO = d15ede4cf3168c51d9581c462ca0a039cbeb8005feba74ca624c42998de7f7327caa8b69d8c719a66311bd108f9318d88d7716fe3ff7b09bf064070bf38c29f0 - -COUNT=4 -L = 512 -KI = 3664dfe4bb91ff31d066793b4d3dfff3b268a2250c2d75c2 -FixedInputDataByteLen = 51 -FixedInputData = f12a8d873a838ee08aa48aff698f24eb3e68883c59f4e332dcab97294edf60d9ba38b6708cdfa585b19b87a85c9909d98f34a3 -KO = dc20c292bd8775e0848fc75a09c73700c1ebf4fbfb5f5eb079b7560dc5f302d7f74f0b078264451c551ec2a333b178863b768ae4fd0f99cf5defb0e3a38edbfe - -COUNT=5 -L = 512 -KI = 60fd935a51af7a85b76aed9b90d167272a90473fb98a59e8 -FixedInputDataByteLen = 51 -FixedInputData = aae09f15a7b13dea08541d53af8788d68b1a2b8f5917b83748d112c60d4c6b8e2ae0423a30b31402e28f739126ea38d380a2f8 -KO = ec1d58e42e306214f585dacc0b9b28e756f2637045eb1cec37511b2585ef4ae8a0dea753a9b4fcb23797da9da33db290e53fe05ba15f22bf4851c7dc5c5f11ec - -COUNT=6 -L = 512 -KI = 245751d7930f7bab0217269f31f69f980f95eb9661d7902f -FixedInputDataByteLen = 51 -FixedInputData = be329e4ed0afc94a738be635a902815a333a2b50eeea8b1e8f72efd45b5cc3872149bd5f95f64266c68487c3d7a29b83e7dca7 -KO = 9351723d4363ea6732935680ce209a27b722ac0939c731c22a059642cd551cce2836944c48f24db55bc7f33cda3f604faf512735a629c9ec8b42a35585017b6c - -COUNT=7 -L = 512 -KI = 60d33bd136cf6ae58029cd824905525f1459427799906c97 -FixedInputDataByteLen = 51 -FixedInputData = 6d3bc72933b0570de1a1e21f86bee297f93f1043c3fa753b541e5d47e79a06fea9e25930514a14c2f4a0e399d9f8507647360d -KO = 4ec747a6cdb85616e9ea5ec278666bd51560892a2b73354969342a82ebd487c6044b68feb5fbd6c0c91b81e63b8a19f6fe237752108bba2504a938b1a6709f4d - -COUNT=8 -L = 512 -KI = d9973cfaf0065885728c58e46d968917199dd136c1195fcb -FixedInputDataByteLen = 51 -FixedInputData = a38fb0c2af985f41018d8c452461714df1e3215251a2999a66803e35ac83b041a2be3d9ea567ebfa5060b5776c487e92cae7de -KO = 420938a0c49f3ef1e5ee64c9c8aa2794c26eedf1119c8f4938beb2b40a0414f4055f0f8f8c39ee8158c8ebdca96f73345fbb4d287847cbfde6224fe887098e32 - -COUNT=9 -L = 512 -KI = 9899341852473bd2ea9c6fcc8c01ac6ab26038100807d6f8 -FixedInputDataByteLen = 51 -FixedInputData = 2841d405a9a74be746e4bfbfd57716ee6f0d3f1e88e62795c3dc833e855950eec491d8182b5eb16e8b644ebd690348a2b0397c -KO = 47bc479a38f43f210908799802d15728cc38371661c03f4a4b87bc549664bba3d7046228055fd00660bcb0c3d27f651516abdbbd1f6743a259f25e7f8eecd93c - -COUNT=10 -L = 2048 -KI = 2627163784be8d59f2d1a54620deea24376e8b235aef3912 -FixedInputDataByteLen = 51 -FixedInputData = fd489a25dee1c0a6c4dcaee2cf75c18bd931340fb940d34f262b279f92513680ad7702bfa1eb6a9bd4475c6b68474c15f87a4f -KO = 8ff09d35c55d38445971228908ddfb29e8d7660a752b40d2cf1d6aa894346bc1eaf787aae31dfef22ba498fb619cc5339da7e16b3443d852a76e19ff61f4a7238c0629985ad42608c1096e7258dffd5de8cb308eb7ac88de624d47ef8f12ab6c350c27985bcb5a0bef7134e2e4c25ac8f07dedf65cb50f1e73d67bd75feb8740d68a68d38c20a3bd872654decdd38117476ba000b20acd9fc7b1fccaf652394a97803384b9e8f6d3243133a71140317166a9a44a6d103b9b27a365af2ca194875f3291a21c3a3c842932805fbcde41633dfe8467cf7736117dad93e473cc418a1075775617a3e4bb10c6faad844c4ae557bc1255b32d2ae2a827742e2a48c375 - -COUNT=11 -L = 2048 -KI = e8fe86dcc0fb8e26ea0899082078c430ae313cf3f603068a -FixedInputDataByteLen = 51 -FixedInputData = 3eb02e5f3036304e1d34ec21b186fccc4d28cb63b56e81b83a989d0b06bcec034c47d0d6396f9c483a1f7ef2627ad082743b52 -KO = c72c6acda06a1e5b761ff49380034dc2d3f4f37f55fedca4ad232da2babe1c23e3220c3218916df10d0abd22ed4af5fbfc634cebdbe9db6ebd94a5f96d74581e547fc5f6abab3a7c0b2969315d3ca66ea7f4286b9c57ae90b0fb1e63b1c78e72178464920425636a30c150a4f8479b7a554488686c2d0c9a5d355a3fcc5492da5f371d5cb4c24a3284cc6f2192d106074f6975cf5111d86846e8fa6350755081bf369e81e4bf1040a6c57f1d7315a91cafab77203775a2e2192489673eed156b1e45c1609729ef6e6e5334abe60f9cb544ccf7cdc08bb5a403a2030f840816dae13400d17ac55f02767ce880ba47f2abfeef3abe594ff634ad0244977648d61d - -COUNT=12 -L = 2048 -KI = 48151af025c9a4f3b6ba30e67473fb2651c89fee5b475520 -FixedInputDataByteLen = 51 -FixedInputData = c1c356c92800b3d69a6936d22c26be6563f4fc50f152b7e510fc12bef54a47d040d5294ff98a5eb6e6bd0649ec9e8da6fb673e -KO = 157702c399de2e828b876f3ea573cd05fea60d3a1502a513b2386bd2e3b90fbfd8e8eb4360e9e0f13dee94c22387afb7b77405add04b470f3afe0adefb55b6138afbcf67e316f7dc9603955673910bbd516c2d31faf2a0bef426ba3c32738dca3370f4225b1d9786292c06496b97e2fe06eb465894dfd99e899254c09f93337d4489d9780bae784b613ff5d4d2a1e608345f7680270a2ba5ba6053863a798bf6c5db7243ee8618fbb5611de6085b9bb4c7b248f3c65e699a63d373f8ba78cd89db5f2d51bc709d65ce385be74ceb3168c772c97b82ed52bcad934fe1c56e0d2e5ca47f13d251eafa7a1ba299315f2c3e2a89dba7b8e8422609dcb45e5808df59 - -COUNT=13 -L = 2048 -KI = 4427fb2233fb3d85c3805a18d692b5fc600a0c545110646f -FixedInputDataByteLen = 51 -FixedInputData = abcad9a8669f49d24d4b920c27f073c61a6e56295f46cab3d653a8169792cfb8da992d0d50e83df8c8da958a9a3442f42643dd -KO = 501bd3e38a5dceed97ca96371adcd74686ed4ad2097cd62e20cf01a3384b6b9765b458f1d3067d008f2b25719f3d9bc39f34d90cae2d91fd117f79066d95b121d04b6990baaa51d2b3b6b91c935278958bfc68365eda6542e8ce1b67d07299f3f6c7614d4a84599b3b14725e41fd6fcb1786173da0b6447b3dd436a6a4ccbada2c870a45a29cbf263fc4a602969daffd4667d06a2b46b575efc56c074edf14ba236cbd1901a7950138fbba79375d8276d69c7ac4a0bcc78f7538851a46eb24daf3190531a0e7fcccf6736e3bc54d8d70f0f9227c269ec5f6be297db24269be7644f814c5df665c354b22ce0845e6ef81ea70a316e5fede4c80332911218f5439 - -COUNT=14 -L = 2048 -KI = 81e954f3d678572d62e153fdc6eb748c6c71a710d87ba508 -FixedInputDataByteLen = 51 -FixedInputData = dab9355e2761a044ccb53ba7c9b789f0b204b48749363ff6243cdf1022ce01a60b46fc3d0cbac2a015c1522528bd89e448d33e -KO = a5e7016d32f7e1bd58f7660a858ec99b90d8bcbdfaf64c1cd9cfdfec17b7e2778da08b6966653341c07428afc8954e45a441ec6c622f9e113d9037d9b0f2ef6d58364a42dcd99e636cd42671a45963e90b519a2eb65fcc0225bc9b06f19150bb6712caa9e44068faccba8ba9f6590857e5cd10d9215148aa59283eeb245974bbcd5a9173dfb26e51a57ec6567404f5f40687811835f9100eeb3b9887ca9bf4d28dfabaa91cb238f557b638104011564d19602f41adc98303a33fba46288abc4508d02329115aab64aef14ed52676bc405830b407485c8a8983780dab2c8ec9a40db0dc190e1e2e980debbfe1cb32fcfb97c462f66ce5cce618d097133127c672 - -COUNT=15 -L = 2048 -KI = 585b3112066299c213e7c2868d22de0d10aa997a1253cfb7 -FixedInputDataByteLen = 51 -FixedInputData = 4947d91656aa22e0843abeddd49ba3d5d54e8d59d7e79e927fdaabe4c3984dfa67e3adbd6963f50378bd11da237e9da1a2ca53 -KO = c904a5545d2e362688ea09c5bcad49fe2471c2755b3fac292855577a567d7e529478b35574bf72b6bdeda40c425d29e95f4a3cf488d7bd8705674ac67d3e7854e57f30c76cf6c812132bcc7cddc1e09e574f058609495fdef7ed3da172f78b1dc81a72f07b55b3efe928b04edb165720c8b7a59373646f1b3d7988f8ffc78f83cac0c095f7e74d8fcd304d4f20b66a56328d72284697e266f087ebde2762c1da025b5ed86d50537ffb2c0c3319c00d307147bda3b5f814c3dd323cb61b78f6209a578e0f441591f8d7597e5bdb0ac8531976d5dcaa39d1c58c0dd56ecb43313184cc4b3b09cf06b1300e76a91070c5e2b363663bf80026323b029147b4197c6a - -COUNT=16 -L = 2048 -KI = e510dca37d7bd13171782b04155b2807b0e5715b9e3978fb -FixedInputDataByteLen = 51 -FixedInputData = e449790999c17639afe3ff0ca58d33355137dc0a4905b7327180409154ed872527f37245398f88a33da75b7d30841303331a0c -KO = c4aacb14c7f3a8e5733d7be0f8f64b16df76e6575f6928316d86279152f0585642172439cfa59d0e22f383ad76f00588c787e073385fdfdaede866df580e0590fc48eb051dab39cecc94ef9ddc5403312202004feecc5e1f406f2b5c442aa2f7017e0cbb5af74b5f149388414ce283cd01cf56e1003e8b934676854311216db91106d296a9191654b70e25b573a5558a8cd158d119cd055ff74f8329f7f66a5fc19d69ce795b8a8a0eafa0ea006aed6792ee2143e0239ad01ddb1cb79aa1a452a25b18b22cc44a02249a86cd9d73ddba68badc03db01902fd674fe8c0d3b78ba82f284e35c727cc4e0994316d3e8efd7bf067bee4b3c5a76c93adb8341ca85cc - -COUNT=17 -L = 2048 -KI = b026af96072fb746cc40ed7c3dbc76479f0a06188b516300 -FixedInputDataByteLen = 51 -FixedInputData = 9810f23fc2587176a52017809fe44ab82d2c37d6e1042182b6272ab7cfb57e528e14754d01251d037ef207566bd47e205ef499 -KO = 8530f27af41ca6afa7a55e3ef3b7b77dd4fe7cfe8bd190e760a67941dd88aa017aa2d4d61657bc480e4a9c21201783e523ce07ee9efd4136e0b9ca0b35d0a3a15d9559c09043f907aa7db9a0e591f8faab3994a5292920096a8b00c502bf21b0d636bfa651898ad452b9aa9037cbeecfc3031819ab7f4382c5b44a77bb11d9b5bcbe2b048e6bb7dffdb41e69f40d40340134bc8858aebe59011aa510201da3c0c4208c87b43ee634ee59bd8a98aa8a2c1c941ad2179fd724ae3e52439040d977c232b94314ac623d27a07fb864e60ba5bda9cdf318d6a1f70dd34579ea147467d4f25cc22c83c55dd98e7143e68e7c9eb817046a899d0915894a95e12367d0d3 - -COUNT=18 -L = 2048 -KI = e1e45635e52f4dd53588d3a23eaddbd047e173762d394777 -FixedInputDataByteLen = 51 -FixedInputData = ad1f6f2be616d322f15fda9f80515c98d7664234b544fcf8cbc1bbca1851527929a5650f8ceadf23aedcfff510edd9ad21d11a -KO = cacf55e7ebd14f8377e64f6c619df59b1e23dfddd6ee4012bd7381b12b8731ed17ac1cc6726983ef0235731bc17151085a5e1eb9004b5129b2f85b4300c08db31d8bbe6498bd4a30772c56c72378c67d8e87d469e0f58d969ce02965b5a0642f490952fe210da4ed1802feaca61b5f7378a807257d3e02e97cde0e22d026b7a4cda66d79137eeb9100fc9e1665c1a0ce5feadb1febd039fc8b5d7aea21febab9656e4a3ded89875e8b845eca4f58760e7c1d048b88712455215e000abd7b50cad7d911b51a0e086a6f183f08a175cb268341b4f0bda8f8f04e9d8ada57230ab1b1ee5fa0b0173e7780b2a799686f49ec4924d04422fc66a85961ba62c4d2c327 - -COUNT=19 -L = 2048 -KI = b342d2589fbf8fe9d477d576f6aa7f8d4e703983debc0174 -FixedInputDataByteLen = 51 -FixedInputData = 8565a7ec5dbd9ad5cd5d5ad8f09766397be9314996b37d8c1afe37dad4cd987f4961f31d7d9197ed5226546100dfd103eda2f9 -KO = 6f753c61ece65201af8e30b62a0a2d682cc67e9f812a3d5428d2ab8548a1b3564fba76178b5f053edaef5f693dd62273c071320d9aaafdfd70a8d669eca0e3bb63ed57385393c355799c9412a4219d3360b9e83de02df6da94ecab84a52c68b5625ff1ac409681d136927e49139cea88ebe173ebc00310fe5f74d4fb5592fe3d7fec0b4141cd51be4313a1eaebe148dc1db45432d358baf1285b274b5588bb5bb0f70513dbb00aaa11ac3aaf54df29e94f2146f40511962c704fb9aae2129c1509b5a2fd54eaf0c5b38846f951c1dc0ff22c049ea116ec7f7a166a2be8cc3ae441d6adf1bcb3d2ba1f30dd7b0875d31151a81679066c765706e8abf41392401f - -COUNT=20 -L = 560 -KI = 14429b432ac3daac6b5ff7c4881ce90af21b3515877cc77e -FixedInputDataByteLen = 51 -FixedInputData = 3f7dab9f6a5d583f24109246e8f8dcf05600d10028a1cf15cc4deacf861901bb1d6d7671c868134b42411e935f26ce470276ca -KO = bace3247d3d7dd7b642835cacdf717355e064aacb42273e3a2d177fb95512005934b02ccd682eb48e89a509ee2be4da01445534194c0d18cd26f5d56a1a01f84944c326ec286 - -COUNT=21 -L = 560 -KI = b8b25539cbcb8be2f8681bc2d6ee93edc2c3fd2eb356a5bc -FixedInputDataByteLen = 51 -FixedInputData = c8ddf59e508345a1b081b705ecf074e4a1fea5768780d2e82d40c4327df5a4c46eab54434672e345341484c83d645fcf5975b1 -KO = dba180302207e99f4f7f4899e3e9c58a79ce321d1f2584c2357c725aeb659e9d4ab871f9294608e6ffc141116b4c2bca9cb195f02e83c3003ba4e03db60c014b450b468c3db4 - -COUNT=22 -L = 560 -KI = af977eb00d702cd41540225476bdaa7846762d6025e4771e -FixedInputDataByteLen = 51 -FixedInputData = 07a8263c8095d8feba9a25608fd739b90fbc9704ad22cdc073de49f0e7905d4bb7552f4b04f5e8cc054575751e724ee850096a -KO = 9c3aab00b2ec84d82814e7ccb3edc69900c21c4d89ef23c5e56af7aa1c1ae71053d928b480234148cc5aa8ad0ddf4302718f88eceb0bd44450c0b6b6cad86d4c63b85acdf409 - -COUNT=23 -L = 560 -KI = f3066ce3053862992eb0ce25d530761de42d620e0a4f9751 -FixedInputDataByteLen = 51 -FixedInputData = 9ee525d3b4539c69eddebc4829e7e1e1c3750a3e78ab934435875aa4b41f7f0a7c8c749ab0ec2905b7ebfeb5f5bf4d9cfe73c8 -KO = a85af50c2a1c054629328951d4df5908ff7283689e40bee6c30922431720700987bd86331655a9a45fc271e77ff9ab9c4ba168d830c34ff197f6d6094e3be4413d1d8d000a79 - -COUNT=24 -L = 560 -KI = eaf0f4d28066e91a02fc90cb5c41f7556ea345a8f679a677 -FixedInputDataByteLen = 51 -FixedInputData = 409d5e4217e88fbe9f48b7e7087b91cf4b8dbe7275cd33345f0910a9bcf85c852984bbdae1c3c6533b247bd160ad251f1d76e0 -KO = 05412dba6627aab7275c52c3aae69fb04b12dbd2ac6b7b920269abd755cc86612d74b73cbb019d12160b38feb5ab6ae1364728befed773c62a81fd321fbdb25c2f94ab0fd26d - -COUNT=25 -L = 560 -KI = 80d07aa075013e0ce8954d1995390d6bc9124a393c61d97a -FixedInputDataByteLen = 51 -FixedInputData = 2aa1099f4ff3a2fb46227a6bc1505949682e1727d60ea9b7c95ca7ce5167c4dceeaabaf6f376a293d5f54d4ab55ad0ffe32e81 -KO = 8722da1842b7f7a0197f89058cd80bb93a211810836c9f25055998396ab14c6165444590ca0db58a5ab0d5839bd384ecc458203ad649337a17af00c49dd2646eee9f196ea66a - -COUNT=26 -L = 560 -KI = 54efbb89a6146e0edf8cf8fc815ca8d2966af76bc007a39c -FixedInputDataByteLen = 51 -FixedInputData = 4a50b7fba8bd4e0b04b205fd4257f501319d0108f05600fd1ecd8e92fcad33f8d811f6110ec6f2e402fe2c4a55317f82b39928 -KO = 16f0eb41afa0105e57434642e5db3fac8f2f429b016c23f45a2835248f40dd175f13eea6a8cfebe0fc1a2ae2b6a2462402f00e297131c1efb9bf84bdb3c9cee931f739c7a42c - -COUNT=27 -L = 560 -KI = b8d0532f12229c0c732e1721019aa72816dd93a62db57976 -FixedInputDataByteLen = 51 -FixedInputData = f4e688d7fff77c3fad09915cbeb780567cc1c14dbb2d3a22ef777e108b036649baf0368121ccadbe4b825d410389a2189fb10a -KO = e24f10362e1f28fd6a721c66681a5f49a0e7d69c1a0d819a8ca7cc81e07f0bd53bb74f2ca1e9accbb01640e74f0a863d384d422cfade87fc0874b04cf4af8887f6ca7acaf3e1 - -COUNT=28 -L = 560 -KI = 6a6e0a0f6733a4aa06a80f57cda7e5a0147f9bc06e84caa7 -FixedInputDataByteLen = 51 -FixedInputData = 5008a4c17cef6ff3e4706b008500aab13744768a031bdbf396d842bab55517633f3ce9b4e697ef17043c6c61e446b5d6da3fa5 -KO = 21405980e34a13995e225c344d3dc7ba15e4e63fac94eeb3c645d0df89b47375002b50da1eba240c9c5e9fb7acdfab82cdf36cac37a0b5beb0954bb2f36672e7b3464509cd56 - -COUNT=29 -L = 560 -KI = 3719398c11e75aef56f99287b5d67b1ddcf450bf3c620a04 -FixedInputDataByteLen = 51 -FixedInputData = dae1cb0b651327148c9025c1051f4087b8443cdb93220bc6d104d24653258636b0bd351305e7df6d12200f7f4ff539dbd37440 -KO = 4d3f9abd27edc0065738430e76d1fef0c5412090ff12ef87ae122b7d1f239934eb35e6a5762b9cca7e46c3c24102fe68f5caf6dbd1b86e054367462db8f22cb5ea30900f46ad - -COUNT=30 -L = 1600 -KI = ddd02d54803e856026fb881f35f8866ff88b526ef7a41e3a -FixedInputDataByteLen = 51 -FixedInputData = 32a0260c39ef282f1c1e412deaedf275048050b471b7d9b953815d55de48b153e0b7125d58f165ef05666e36631febcaa81a44 -KO = b49fe01ecaecc52325cdb22bf68deb1fb77ef292c01fbc33c6fe0097ed6c3dddc1196e07b64537c2badcd57e7344fe74996c061ace7c0a7c5ca11259627d8cf1d089055595d294651e0b9dd69d3fb37e9fd0b715133ab85d6f0b2c1348ac13cbfd8f3ce1361de039eff8c0f10db82afa6ec94b00f13068fd5d88daa0462e1a8d281b0f05d9b52e86af0822f9099c6a04a00be2676ff848541a3f61940496aa949384d39389147a314afa231513e1af1aad2aa1d8a3f9166284b383eb17315a5b84e1f01d5fa3a97f - -COUNT=31 -L = 1600 -KI = 4c8d42c26f091c05a3c76bb8dd4cfd5ed8a5f2416e9305f1 -FixedInputDataByteLen = 51 -FixedInputData = cf8e37e75513b3144ba7b57542acb32b83e4de71dbdd3f64055ebca774cec4cff69f36ce953ffb15b85cf1631a65a60f236850 -KO = 3d706d1e71a7fe59661e0ad0a3364850c08d0a99f2ba72c79f2a468c29ddab11b9f16d3540095d4986b5fc7295f6fce80271d0dd7856b7ea308de28fac10eadf3939d0170de2f7f539bc3de59ad22dd7f776e3689b16e59e9d4b8b6c045f77d6db02ca9a6ee709555258d17db32a79f2b46501dfa17034557f808af1da9bde2933f600bc7ac584d47f504cc4b194fc06dd69758828dfb39164a505e6efd10586dded4fde9716d59679e6753d264ba3eabf4777c9e52b24b597f88740b96ad2951a429fd3d05e3754 - -COUNT=32 -L = 1600 -KI = 2172f2d8b02cd4053ac062ef8b53c439d3fb0c83ca63773d -FixedInputDataByteLen = 51 -FixedInputData = ad260d0ad3c1b4cc980f97d65614429f8ae1a998001cc7372957984feaf45b49db77be74308ac25f52ce40989715fce99080cd -KO = f003f34a7279e4c60dbe6063d8ea041c91da4f60e4ccf910fde3931d01cb588b3cfc3d726a499a9e7e91256935348f3b63910a552b0fbb94e5404adbe95b130c645c2565d5f1d1136591cb9f0dde6355568e2e082d1adeb9dc40c997fef7f9ba6dba90fd94b6016c4e7e1a2a79aac3137ad77a43f18b4f503655ad242de789140970616eb59f61d2f6640fcd0e8ed9e12f26344928e4586856136191bf84ef81d40b5efe45f29bd032a507d2a248b37140a4a49a5f73e791abc153b0f97f290af569087fe130e73b - -COUNT=33 -L = 1600 -KI = cdf081dea2a489cd35810fb3614311c92af2cb6e3f1e4c35 -FixedInputDataByteLen = 51 -FixedInputData = b6cb7d0b04b6453ca64756f829e49baa60844b207753ecb0a92ce6e548374b585bcd6acbbdf483ad1abc69d52ee135c8f67853 -KO = d8434d71c6101d6ec3cc61772d2aa028aaf74d75b4fb2c88ca2520dc977550168e55d17b3c097ec8e14aaf7b4963ee3c8b96fba7864a5dfcfba7cfd5b81fe5f534a5260794a510177b6634da25ef1abbb428700d7c5d530a47a333bd35e10ce5bdeff388db2c57811d1e04ee913904caffa9532d7784f58876267608b2ea62350850bd82fcaaaa382df618007cfabc91bee394b86d2459503a5013ee555ee8372cc44c105aa5ac02c25f95ff06fe91a74b9b8b9ff0a58965e24dcac6d13543a5f399ebf96ebf1434 - -COUNT=34 -L = 1600 -KI = 06f78c406bf3a1ac49202f7cb9f001144cc040cbac5fce2c -FixedInputDataByteLen = 51 -FixedInputData = bf795f0d354294b230611f1dc0c634cc2353eb7103e8f06449e3ae65acca7635f52eadb00daa94f97f4a94c2572af0dfed930f -KO = 0405cfebdcabf6220744c3369c6c356218c69612b4190540a9ca7fc1e42f3c9b761e7f599a77ab537f909272deb0d7ac44eea41a3cdab03f619217be0937300d73b2a1871e12ec57b80678bb5d6706be04011de81407f10e7ee7851bff596f12a061fe8e14f66e9821f1ec90cf65664e5825e8d65dd1ad0ddda69824414a0b163c7c365adb9cb9e893519c9435c651de319265109fb21594ec5bcea1c6c7fa9f3884292a99f07546392fd2f5789b95b3e15df6eef4efe10aac5623a33bc743c22a74fb1a01d32811 - -COUNT=35 -L = 1600 -KI = ca6ee30604209994310940f2e696618d51996b700add7d2d -FixedInputDataByteLen = 51 -FixedInputData = 72f8c6667e3d6abbc88d4bb4997f391522df39e41fa9c33a93949a0a050a07ce733b4269e2fe2bd0246529851a50fea00afaac -KO = 4b3321ca6c159acb84990a6fe6a81fd1a33b7a69c2b0331fee059f0a073475cc251d48eb6b0b13de88787f640f2441ca90eecc2d5631d94636dd8418a459ab6be0bb5ecd5054a0db4a00945cb8b7e47e5b9775fa6fcda98c35ec4c4d51e53750ff8d3c39bf5f8d212ebd7a1a4370704d82b9606c6d4cd45d70251214e579843b60e38078559c0f5917520484e18659505a4b496c93cd3d20559df917e3e8ac5170147c73011e7685fdab123fc83833d1e76b4198409ed5a4ce36e8b9a84813d6bb9fe4d7186bbb11 - -COUNT=36 -L = 1600 -KI = a6ec92824ccd7e536fc6783b88a46ee6c0c293b8d307d432 -FixedInputDataByteLen = 51 -FixedInputData = 293f1a045529437099cba7c2a98701621058da84d1becf89af8239637022f092c4f8190ca66ece304ab2a92168093b729fd064 -KO = 8ec186a600eba3d4acfa2bc5793044799b29bda8de3091e9f3acb813b10b2db6495cdb95076544151d9d0d9a098f50a1497326281375290ef3bb9029897ba8c623229cb1646f8fc9884b8bfe9109ccf2a2db56752131a7c02f4e3f0fbea11a1a2f6c8ae220aed2df5651faa5eb4eb933937cc02c82ef7fd0a06d780062a1e72ca99343733490b36dfa45e2cc3ef39690d8efa0475bd6e4e2c921959fddb3e2410e32cb398a6134926795c2e65c7ef8daad5bd1286e412a8640ab23b195cf60a5d53c55de657561c8 - -COUNT=37 -L = 1600 -KI = a58eec79bb7583938160157360a945a877e947c669d532aa -FixedInputDataByteLen = 51 -FixedInputData = 15389e58131b681734c86be4b7616222554e6dc0529c61a2cd4a3f2f77fb8a0c5eda8fe929d04ddf22a428a343617e48297e63 -KO = 0835c19aaa7b860822f678a3729231738e30cd45e22a9cee007fc39d9d94fe9292d2dba00654cc67819b3ae5a72f33774eb08d78d24804f40de2c6b11baf99b5f51d009d86d27a88c8796f1b9197261dc120e72e7e3b6d12705a6a9d76bf857d2433d63e8492994e80b52726bdbe565489db6938b7598a0ae0523b84b56cb2ebd7621e4292867fb40ab02907d117026322b807dccc2bbab8d0a07a712d4e5a9021d1a122dd44c5ad4cc66bcaa19caec7d0535b614fd0e50de0b98584ad1a4f284b12e31d17760b09 - -COUNT=38 -L = 1600 -KI = 3d72407ae4bfd60eeae21960d792663e19cb7cbd5b690621 -FixedInputDataByteLen = 51 -FixedInputData = ca8dcc4122d2a0628f414e22e4649e3548d5c7f8d97a4873ebf6bbaec75a91f09593e2ea783b9d1cb5a605749f5776d7e4e734 -KO = 7d2563ad439319b1893dbe6551a91d08e6e9633880f36deccfa3d76bd182dd39abe8d26bb7a2a190309f4920ea7d20721521b4bd7f4c0de6e95b202a276dbdf78639845d36c1198086d56b7ab11523874498f1b341c4b0b664d91eba1bd504567ef186a7d154803eae4221c774021b08ab2f2f58db9096768f8f4a8b6c79cc27bb46a3666ae91759768c212b1461b941ead5b9b47c198b2ad2c030ddcaf32412c7ffc9c3abb4c9db5de37f2d758c1d664bd6f0075b9a8b473895fcb37dd87f31b1ec35b1dcf932eb - -COUNT=39 -L = 1600 -KI = 0a3247baa5455d65c5ec468a856f8257c0de21a3f6b4dbd2 -FixedInputDataByteLen = 51 -FixedInputData = 39c184c77d134bb8b89238f9562afabf9cd5afcc17a7c1a3089214d93265d5d342e82e409ae21478c339d96dd650a4b24ff0c2 -KO = 71a57d21f38aaa75fcdc1ed45c295a759548b87d4cf82db1b2eb371c48c62cd48e5e72b3ae729714c41227976d7c7c06c42d7638d49679321fde9ab002237a0368790d334269ed6f2fc0c686c4a1063841c974a9f1c50a55d6f4393651c2b0c47a46fe04899a7f2dbee3444e438e8c23ba67a4941ba616396ef07ac6cd5e346b1c08d562c87d228025caab939383f25869a3ceb4efadfe3760e8bba6bb562e78894584b4408803f1f9cf49496b839ef1950b8bce18c31fc33cb82e4ca24c6ee37a5dda64d6e36fb9 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ad1ff7661e144b100fefa9b78e55ba08164c102fddfbc0c6 -FixedInputDataByteLen = 51 -FixedInputData = 42c88fb0a6ddfacf0213ec83c58f0190c92c95cb536e280a903255d2b6aa18e5216556723d242ef71f4d234d50443fdb35d0d1 -KO = dfc23f399fce2dd66c4afd44fa1b52de7a16bda680b74b6fbb9c16007f36b8aef62e8f0057fe10bfe634b3a972d8d2933094ec8e0ba05fe7b21b203fab23e3f1 - -COUNT=1 -L = 512 -KI = cd63862f563fdd01dcc7fd377909f1b889292608d8aaf7e5 -FixedInputDataByteLen = 51 -FixedInputData = 4ae1590a3f056b4c7460519c7aa773668760be6cba46d6e4c49de24be481f7d02cb2838e4da917f133fdf6252c050c7e1c7990 -KO = 5026cf9c659fb686f80ca299fcd12476306d60156fde853af0fa5e928a61ee6851251763959ef59c2ed8168b5aff1f28228854e2f677b07caf8c10a900d66703 - -COUNT=2 -L = 512 -KI = ac01d0bdd6d1e8d9055610f814b2293682e1329ffb1363b2 -FixedInputDataByteLen = 51 -FixedInputData = c1e0abb6e25d1a84e452a6d78e74a15c33bc498e0971463d5bcc5a916472582b6197d919ff7a1920dc3cfa8f84b81203857690 -KO = e1cb99f2404bd1004e643ba3e366b520a95a712f33a252bcf867edfccec5a5af7736111bf0952da8d1cf5652f623c727495ef92132a9f48df01dfff88761f6ed - -COUNT=3 -L = 512 -KI = d3f4cbc8e3083792381219a01b79d97cb7cf28dd7676ad1f -FixedInputDataByteLen = 51 -FixedInputData = 9c255a699c0e116593c784c7a9c41e45e2bbb663687c3f4360028871236ea1755182b5738f9d666f4be23aae1d90a89e50c4fc -KO = 979d482b8808a7c68526e778f51482cd857022cc62bd77e380928e537d58254361fa421d07680f91b400b9e906202f4aa7283d3b5a1642774f8b19ef766cc01b - -COUNT=4 -L = 512 -KI = 115d4f16ec807cf779abe36e7d7812e81b0dc5c2d6c58e1f -FixedInputDataByteLen = 51 -FixedInputData = ba3bdb9b9d29bd2b026a0b164d4c2f052e05e12b8ff299a3b5698724b7374bb5e9e6dbb6dfee2e19bce25c8582bbd8ff6acc7e -KO = 35d6a0d7ca5faaef7554691f602026aa8b3df8b282f4a9dc8fdd26421f802a090a6314220ad87fba15efa30e1e82a7009471688c88ccb40a8f67819aabaebbfd - -COUNT=5 -L = 512 -KI = a22ced82c39849f9c1e804ddc7e378b63cd7ab4332493456 -FixedInputDataByteLen = 51 -FixedInputData = dfa65040205ee49c047602ae743ab35b0dc0bd07c97108639a13ed8e339d34be7795401bbf9e66f19d940c9c259c9b4ab790f1 -KO = 14e2c823c6cf0281ade43e1b2dfd896f25a3446e660b606063b3ecc91d26c16dfecb637544d7a535a29d9eed5bfad97f2d23a126b6aa420abae8ee68b2f6812b - -COUNT=6 -L = 512 -KI = 5fd1f352d55b8f58bc6d90d9b34df104ab5c9c63aaf3c985 -FixedInputDataByteLen = 51 -FixedInputData = f36a4e843335184effb287cbb1be8700adeab2b59cb797bd562844d3043f23f749e5a1e9b9944ff4d8b3f4a84882272435d23d -KO = a417dbb0152f22db2bd1121ec72a3f5f11ababce6533c1973f0c701076239164f64d1d31772e99b20968cca27c77229cdd865ef1ef04662532ce3d1f9334325a - -COUNT=7 -L = 512 -KI = 304d2305839670d19fde40a8f81659147be261fa4c533ae2 -FixedInputDataByteLen = 51 -FixedInputData = 0f57e7b9b75f665ad832316d4a98919390fb18683a5d3bba6e872663f90141ba66f61f399e52d5e8f03886a426d32504e49b88 -KO = baf676c6a6a0be0e73574fbabcc092b85dd8d6754a4f273b776010e9cc44211a5815514abcdfc56ba40c11c4ced1e703486e7490acb92b2101c854a98d04def6 - -COUNT=8 -L = 512 -KI = 65db1637847ffa505843bd6938a60e117cea35c95f9102b5 -FixedInputDataByteLen = 51 -FixedInputData = 50c8a3274be74fa3347c3abfdbbc8a6f17a1b587355524b80cb087de4e98dd54d8dcf171922b796d3f8d0b794b739073cb8497 -KO = 3a4f2ea95a9eca8aa666efcb2412c24361d59d1cf6e9977543bf9d81f9ce53c4b413a182d0e6634884db0bc794d67caeea47ef94ef7fb9e9df8fad2aaead65e6 - -COUNT=9 -L = 512 -KI = 9bb98ce9f0be6bb4b75a61060e7bc6a8318493341fc09e74 -FixedInputDataByteLen = 51 -FixedInputData = af4ea2353cdbde1f63035cd32702257c96184cf4e915a88f8cf30416455ddb7fbb604fc27cdb765b24818c3112d80de9119015 -KO = 314e97f66976debbc082f3c66d632e08e576355a718d7beafa7e7b007c8b2c68747e1b02d5c57ee0e08fa5390742ff7094508bd6696fa0a09003c462ac769f02 - -COUNT=10 -L = 2048 -KI = e1a86082aaef0fcde452852ec32b61e7283fbb11a626ca4b -FixedInputDataByteLen = 51 -FixedInputData = 1bca72c8105cfd9d759e74a4b2d70802c403fe7a1cd5da59c7fd405010ce0fbafcf76e1bf571e0b1b22eb45cb5f2039faf74cf -KO = e453de9b0914a11598b3af551e0191879e89f0102f9dc424f07bceb5a03707370eded525bffffc78cf5623a1b00a42aa9d83ced1808a317917835159b84d7189637e3c20b8733141332c9b4117c5d721b078c99e8876992904be4abf78b4f4fe86c1d95f25d90266165f1d723081972ebf334355fa332804cadc777dab3446e906ba70a4fee89bbf2a8d58abf90a01b851caad1c93b80642e5d08211a68fb257503a63b3c3f27bbbe64b211d8817b4c9ed2ea1661602473d97fc0b4776416a2afa546706677a7f77b30378992ebae0710ef71509092af7038e33be6149ff4ad39dc2889aec3bc0a6c39770ffde98e431aed5343524b8284b6abcb8ec3147c12f - -COUNT=11 -L = 2048 -KI = 01b67ea14f84746bb5bd39b6bfa90b71033e9ac04f60a44f -FixedInputDataByteLen = 51 -FixedInputData = 4eb6b2b2bde01b9d31779e86758044bf63e195f5a790179ccd5d73163c1b678aa481483142beac284b25012e50c4ddeaa6a928 -KO = 1169f029ab6f31eafc5bc8df8cc853d41a058c7a93707b7890410a6d58a1c61872c3caf5ced09f663e44d8df174e418ca72945633b9bf77157d6c1217fdcdd6e46c7f56be81974a6208bcccd95335e15de6b3e8fe92e922357fc2ad094101340e60c46cc8fbe8972606b3a2906be43a0fc6f3f11767c71e0582d21bd0c0092edfefb0e7f9afc138ac37d656283a9525e2a7522ea4a6484415cca65bf468df55a128ce85026cfacef80bc2379a87748a6bac1decd4ff0f03868bc482dfa711c3a69baddf2c6eb592f19894a28201115514981def4878f2189fddf4290fb000df351c9b34a96d0e3dfddf69545711712b37fec3de258be8837dc5348f08a0fa556 - -COUNT=12 -L = 2048 -KI = 6f84f50d1dd105991b6a983514be819f7762d128c1aaebff -FixedInputDataByteLen = 51 -FixedInputData = 449ec216ce195b98e692ad8aa02a9592ede07ead3a14836d46f39bd867b8651b2cadb327cdba5df8f12d436977993fcff0f0b1 -KO = 790306971dcf3f0820bab40788fa60a85ed655c3218f9b6074e07c203852bb6bee327a8bcd7321077b8e16d6fe7354edc25302f4f51fff2988502f66b1ff0943fb9b8d26ac4d26b9def849e9bf90fc156d8abc1b0cd14401ea936db367b05e5dc8b0684691662dc121bd28c12fc48e4bd73042d2046ccf7056d762cceacbbd22940c2c2c76712a78d1728d7960f74e96013c6848f8ad4d8762e1f13114af3e304b33db8fe120fc9c96d46414ca0c5d62d7659daa60f0b30800760421d6fb37956b24979bcb21b64a0435fa96db701a409631b766157c21839fb436532404ad2012ec06c04ee7182a673511de6a6566cefadc41cfbbd752cc88a341796a2993e4 - -COUNT=13 -L = 2048 -KI = b8092114818b562a3861f0389fa1b8adb333a5f33596012f -FixedInputDataByteLen = 51 -FixedInputData = afdb300747cbd91ca823bda00f5b2f3f98f8e22351218bb06170a2762626265fac53571d519fcaece9d614812625075e31fec8 -KO = 930e31535708fc0dcaf7e495da754f373c011ff7366d01b9f0fcc8824fdd7d8ef823bdd6d9093037e1c8fff363f76a66b2eec1116b593df0b85b6612f9886339f21e9fda258b27d1c5bda74b3f59bcb0ce2ccf5a2b55679a0e46a6b943b466cc25a37d145c3f597c4717606935d89f65cbe90bf9b29ce573799399ad7632b78f2a763e65a6a7f5d4fbf53e6dbc7e881ba2b80291c7bca3241178066597f7ca2e27b91155cc0cf085dc962942cc312bd4d5c34fe7a40770c599e6ee8401cb28a0a70cfd8cb94bd2521c9e5fe967e314f603a2c8e10b893b20bc64061cd4d9e0a596b9d277271883effcaff6ea63dcd006b551dc30ff211cf794cf37b8cbe9d978 - -COUNT=14 -L = 2048 -KI = d17966519a68a7ba7fdbc36578f332265ef69f4123184e82 -FixedInputDataByteLen = 51 -FixedInputData = 48b8d56ba2995f88dfadb356cf7f4d17451923a285dcbefa9112a61d92aa951616b231fcc5377efc3c4e46f712a72462b32da2 -KO = 9baef3ee3d70c1954848635d18958b79d8d43691f5ebc54b54459bef7a10f3ea17f01161cbefade17bdf4315e568cfbe4a75de68dd2551b0f71a3c385d88366fffbe02ec208befd1fb5ad58cb182d44af99e59ac75d281fcc4adc178b49c74d493a962186be06d8bd6d26c1536d2e3e7e2a35f71d2ff37ab3655918a16ead0d1dd01209db11d224eb3d3f3645216f0f9e8109e138bdf7f6097e1a9414161b48976f4774b31f7449b8a111867778ac9da44efe104a58c37ce97dca1fc72dae624642a8b87ea3e39b18ce4291d71cf6437408b8eca914b5ff83bef2a9fbf9f6168da3c7039b2b55dc2c45638a1dcb39eca576f992d69751af036dd487f85159fda - -COUNT=15 -L = 2048 -KI = 03b3ce294ecc383bb41c1896a49bc19162d7952537117782 -FixedInputDataByteLen = 51 -FixedInputData = 35ea3112601f4c088fb0240e558b0f0443e202617f0741f0b060ab07647d28ebd708db6d3d94e68716c6df86d98c1854438d93 -KO = 5f724dff38ea0f0f3ee5b161a264cf1e86f4fc1d6173596438230cffcb7e23f12d5657964885a4e9cba4c8fb07e5e4a602c7998e9d2e7be9bbc4b1c4a9922b9bce6d0271b964b48e2b5e63ada53ff291764d27034fdc8bac84e222a1ab01ea871d12bb93a13c718b0322145dcde52e64e9db38b6d88cc1250af040a2e341392bd352a146be016c3897d686cc51cf63c064ed89bf28aa605fbe24273922427088c3380b2f58d4c979efb953a69db351454d71e8babb5ceea7a42c8464cb61513850d99f644c27788e3d77923cf1ddfb49a1fefdeef64cd666246bea6909889694613ab87cdfaa279dea8584a73b4613d3f31ef422cb762c008f56f356281ccccb - -COUNT=16 -L = 2048 -KI = 615dbb23154f9960d6a03e25d9371a9d274102b13dc20b1e -FixedInputDataByteLen = 51 -FixedInputData = 979fd0d92ddc651318175c4529dbfab9dd4acaf79db714500189c24033ea9594a746cb4c0c7b253d0b8053fd85fbe74a6043cf -KO = 39973c82b261b5ee46eddf6429091b1444c96abc8363dda185c9949e5930a92996222114d8580fe1ef8d9de7be3166533319ff525b621181fa1077639b671b5a8425f4b628c2ecf05ba43a89ee62cf0b82e63667fddbcfea4d8dfde40fa9200c8830fc8bb1398375d449a84bc2832fcad24aea0db08e1779c1901e43e3719ecd799b51a23cd67289ce208c546aa882d85d598014be7be0d60a4b52187c3301c4ce3bd53d1cafd33eab2af206e4f9efa19d3d3fe1f8e15c51e2a7884be0c72d2a1048b802ae698db65e33d93666ace10683e3af11a9d61f8996e2fac43d5b8226f2c62b8da251fc7e85d60d672359ad289fdbbf9f64ccd6a07ea0b82e9c26754d - -COUNT=17 -L = 2048 -KI = 4f63ef227589877b03f011fde648a2fb9f3532bc253be7ff -FixedInputDataByteLen = 51 -FixedInputData = 9f53036c68f90e6c6062617c4b735b6bfde14c237d07e73ee2b0c59d963f2b0ad1585f33d053fcde8110b8ecdddc8a4927d4c2 -KO = eff541e7f2e6c50c65e2b53883d7ed1decd3e6612673c543fb089b3134442f33eb046c6226cf815c0563afd548d803e209f70f7f925868a1f2fe4d7b0b22012c9d22e291b5692d77757d2eaa8244e515d42ad42107fcfa4d050de1ae6206016ba69f84d69f25805a7607fd0b925a81f86a3423e88982ad252da941b9d66c0834f163485d43fca4f345d338ee43f6c37ab9d451810e21105fa078cf47ecc3dd8f5c520d9938408dfa932ddd084bf40c8cab24c1c6f22b069cca31af73d77894a58dae8979be23757febde2adb885d639622faa69eb975d9e667e9f032d77ae43a71c0fdf6cf865ceec6af1046439ae9387af8e47829a9119ceadf6d6030797374 - -COUNT=18 -L = 2048 -KI = a084db138c59a8722c3191641d0ac32e77d09ad2df48789f -FixedInputDataByteLen = 51 -FixedInputData = 22c56271d0c4757fe41527bb9c5d25ccd984277092ec9a043c741a655e88bad43453a6b0f271af919e81badd496ec41d9e0698 -KO = 2f045f3874e217077aaf49ccac51c101550e89969249ebe5c838e0fc202a48fad5e452e8f5f6f9abbf9c9e969924d529cf56a2155fb0dea0d17091139ae5a9b909dea85ddc86f4c463616aa1900250cd1ad0ae62626a28bbc22a64e81f70a1144ffdcc102b7158fa40ee7f57cf0931669b5046d83a1843398ac542395e7c888850da8ea641551dff0aabda070f52656ad9b46e288bb7ab45267e10538baffbd464d024536a7eee15528b4529e4615ef613c5aaf2ee4b12a724672e0ccf03bfa6665da89a44d8350b37b53e4e155303541951aab3ee75c48eff7444f618574e902055371ed51644432ef5cd2775f1b9e4acfd2fab5f882522472c9d74cc666802 - -COUNT=19 -L = 2048 -KI = d42298d4318c2159c91f56f7793f46014318e30f371f6bcc -FixedInputDataByteLen = 51 -FixedInputData = cb0ff0ec04c303702cd36836cacf3f459ba51e99bb66c28723711e4a505279e33e78fcd25df70ec660bd75f3833f263b85cab5 -KO = 6beefa5e512daad9777f0c17a33314344210fd670e62158ecab4f6630d420b1499cb15cee744633481fa4d225209059a6deb5b8756ea56e7a7f446075971d45f23f7127f158ae7e27eb680620fff9e1f35f675f3620f52221520067d2adedc12ae1572c0801ee9ca0ee1be1cb4de30e6bdf82fbc13571e96067155352319e4f567e06e1bf094faedb2ec17a4c1a4521906b3724bd8f525e81856c1695dc83ab401dd9f94b80c23d0dc4250f5e619c607f78891bbededbf3b5743983861898a581d96855126bc67a37e423f6401c00accb2f3c836c6125a178d9571f3bac66d3b52c2a50b24fceb27b6c9d28032f10c590ca9a07803bf31336f07c111c680d37b - -COUNT=20 -L = 560 -KI = da54a63952054b2af97d67c84b888567897666ec930d6fae -FixedInputDataByteLen = 51 -FixedInputData = cb45976d04817a7f490889d7276dbeedc05d3006537334567b2d4bbca2ba1008b69e3d2fe8ec3eb3e866e1e129a4c4436aba43 -KO = 56b6ed62f1f5a3b34ef6cbdfad8234cc9ef52cd8f0ce7f6df1e233889caee932a42f741374a67a92fce28cca18c83ef04a767d6ea52512a8e08fbf0a53910c1968cb252f7086 - -COUNT=21 -L = 560 -KI = a4ce6e839416df106bb167b3695fab448f862def2315b004 -FixedInputDataByteLen = 51 -FixedInputData = 3c29d933a934049794b0a7b186d4f29a0eaa7691da99e4243e450dbb12d612fe373d4ab533014e1d847aff631fb5e008138f9f -KO = 4b335281985fdb366b9dd10f0fbf3210a8a461de87e23975891f3101c707071bf36f2027f4b53dfe2ebfe12488de6fc6efe532d26dd471b81e5c347f7d7bee717d418f698441 - -COUNT=22 -L = 560 -KI = 594c9ce88396db745900c160cdb03970346a460b342b7425 -FixedInputDataByteLen = 51 -FixedInputData = 6a79fe112db4554bd095a61f2a346911c0b37313de5c342d58b55d9ac0394e78e52ad9a241144c97a9ad87e6d713118a14e982 -KO = 347fce0a31477afda52fd6e1ac71fdfd652e1ca763aa4f6fedd7d10abf764f051c30413377f807a529c741ec11e2cc51293f9561061d2e12f864abc55363de43c8258ec2f8da - -COUNT=23 -L = 560 -KI = 91350359b3905e30e776d7cefc6090a17155fbf3f64dcb04 -FixedInputDataByteLen = 51 -FixedInputData = 6522a12e8f1a6b5feb03b0e1267164fdbe044ebf630aaffec9307db8191d86242b3be04727548df7dd1b99feeda65a33ac7505 -KO = 0ed39968942c37e51e154a675d73209cbbb8c680acb391bca09c31bf8af0c37bc0a7c3ab5b431aac621713e29a819324d0322202fc867bfe4065fc9d44805b6fbe6be07d74b4 - -COUNT=24 -L = 560 -KI = 82834be7cfc9add7169911a77734e946d572a392912892c6 -FixedInputDataByteLen = 51 -FixedInputData = 9891aa4d3775cd052492a13a017cc34ddafa308002c731a5bb2d5add2f1e92f4a957c15129a165db2236126dc3d7cbb1e274d8 -KO = 6446080001f665f87744779f45727fb4c1418f0bf11eaf01e89171b5c02f68515da2b6154430a81306661ae23078e56d92d7651aa9f7db112b84e7a69fb0699a9c3025b72852 - -COUNT=25 -L = 560 -KI = 2afa376b33fcd1c04502a2d9bfcf4fdd44848399a86362cc -FixedInputDataByteLen = 51 -FixedInputData = 25d4f4e5addee996dcf7eb62db07da9d4b5d7f960d6738689a2a98abe1207249201704b984ed9693ff4cc8d5a7af2e992b4236 -KO = 38cd1e599dce28c6f5798514b3398e0d3dcf2739e4a359a553321cea502fef9f602e5460ddf126058a195ed4ef3ec7217eae8a7803e19613ef5595924d2c923a10dd601d355d - -COUNT=26 -L = 560 -KI = 2cfa01fbafdab2d71297311403ee49eac5ac7ce7fded7ef7 -FixedInputDataByteLen = 51 -FixedInputData = a2c3d987af4f661c947c640d8fa62b39466c85394a3fd5ae07c1a54b12bd09f922107aa0b7c89fb20dc535122067aabd3b29e3 -KO = 6365b385048c0a29eab618ba22ab9c98777e0be093457d655f161b09e8a5e7bb3eadd6c22d80ff3a783fcece5f0d09f26abcbedb2a1725f3a56243cfc19524b6bc1a111e9eb5 - -COUNT=27 -L = 560 -KI = 9328d1b33e1635736aec33ed72af301ca0fb0570f21fcac3 -FixedInputDataByteLen = 51 -FixedInputData = 9ba522138551027b733a9c92ba18296814f20c4914a94e8fd75160faa792697c36f1ab15a81650d66d69e7fa0872513c0e3532 -KO = c35db9f66fec2f69b9977901d7262925a58d8eb5a6e6a745a660f88fae94fe4315cd0c8cd6b6dc9c22c594da42a480c7f6cc19cb92d943189ba74bdae5fa77c8eda99c753d62 - -COUNT=28 -L = 560 -KI = 60463fe3979b46fdc160fa6a993786bb8236652917f92123 -FixedInputDataByteLen = 51 -FixedInputData = 66931e59bf0432f97bbe713e99e06b19c63a99edbadcd0a3e7b62b1aaf188f4182dc9dcc550ce6c1854388e4e5c35fd7d027fb -KO = f4aa15e9a1166b768cfe3417ef901d46695be89113148e694700ce91780b77585030ef8aa053db6095a5b7bd6ea69ece5b68c1b2a4952193db16617e78e899b9a110d15398a3 - -COUNT=29 -L = 560 -KI = 87ddec37c1134fcbc25f01930a087c2bb4ef540be3a3461d -FixedInputDataByteLen = 51 -FixedInputData = 8bfec47ccef6d7165cfbf2492414fc31ef5b69304d462d1ca5ecff1ec7ae4ac0f68cf9f32843fb09735815700e5e12b67f026a -KO = e2f57c930b14d2e276d0e50e90d7626003a42cf048fb5dd40072735ce5979d7f49fe486eab7699c6512b0a2ef62f10244efe4d90f0e094561447cbb9581e84b7e020e37d2dfc - -COUNT=30 -L = 1600 -KI = ec76e285a3d7881bea834b248843548b845c8b18d7149eea -FixedInputDataByteLen = 51 -FixedInputData = 1f4313d74c4fcf221cc03efffff4d3fd90d4f3bdd27fe889254226aedd2ed38b1dba49fd0b0c2415863651261d31a344d4c86b -KO = fa529ee34895c93f31caa2b5576991aa77f2383f519825de0c2a06aba893be772f285906e997c042273b2539b30678c6b5778e12293b273ae7e504b5dbcb9316babf0dc916e5b9777d750d47b10628dc4d06fcf9dc0099d4564d513294d6ce5e1fc85bceafcd025c5eec6d74771a8f914ef38ddfe236d4d3a56d48cd28e990f087314c79c86e5abc6c07879d6a5428b01a58ba203986439b1861b2b8d00f77af650b77c9581c86076c4615df8c69797dc4da0cee07b5016fc7f2c1833e0a5671d227dc9b4f26834c - -COUNT=31 -L = 1600 -KI = 0bc498ff72ba7f34ec7be6fb913edb494aad0f6ce51771b6 -FixedInputDataByteLen = 51 -FixedInputData = 855e708fb91a5e2b6300fbb756135459fcb40bba22fca41319c81c28e247a63f6623ee266b3382524e28eda0bd2c60065456a9 -KO = acdb4fee12b16f111cfcdc793e3481e99a1c093674a2a5981569dca87258b21be3a23809ddcd360c25d3ef83dfb906719f75e1be7850f38f929e35dacf73ab727375ca0b919210c2b6ce2f2b7718bdaac64f20962e6e7eef0b246e9e6efeddd61593a232cb904591a46f90b493df254dc96e8ce52617d6488e256a7de71c60670076b06e52a7f1aebc060a965b1165bd270e3beafcfd0a25840d6749bac400218011848a25e33ec31f4b1861ebc468bbcc50032f760bb3acece849216fd1f32918c618844167b435 - -COUNT=32 -L = 1600 -KI = dd78e55da96936c20fd7ba3b34e4f4afb16369356ec919e2 -FixedInputDataByteLen = 51 -FixedInputData = 072fc1a7ef96171f860f44fe4f11e2c2174409f39bb9f638362907fe58c1fea70e1b3f8bbd70e6acdf1c005c72abfadf37a10c -KO = 5d325ea46300cedaa4d7ec5089cbaa7b2388aa4e360c49a96f10e156321cf014e1ab3cfb5658cceecd3ffafe9447f7cfd378304e8c5f3b3da1f150d599df54408612887da616fa895b81ad50ab26763e7b9a240e20baaf9a831fba31c1de66787f620537bedd9635707baf05b127416d4802e2a5bb91b80f8dd16c29cbfacd61764fd5bdbcc1b669ad110d4c5658bffba3c7724d0edac45f7ce491615b4eb727ae4b7a10bb17a475cad7a00b4e5c365b5f48100ee326a2bb551f3881874987ab0c72d8abc56c06de - -COUNT=33 -L = 1600 -KI = b1421613391d6a792f819263803aac2cc983a6dee35d3467 -FixedInputDataByteLen = 51 -FixedInputData = 68442d60cf533d402f1b8b86056633f2f9b3dc7cc30ef9dede52440ff94263c5ea17403f0dcdf0e86df01253b6a4051d90d5a3 -KO = 180be99fe7b172d3cb7b4142d45a821a9dba535b9c9e29a73c75d1280fc26375df1e6f0d57ff850c177f224978ba8aa9818a80136df30f986035d7b4bd8bd55518ed2f6f9df7dfcfd6ec385c38e70b0c7a64ae7c40e6ee535659b080d3e0a838d51e426399fa0c78fb055163538000a818da42ccd2888a20bda3de9a1603b4a74b864409ba6e755a9c72dd285f29500f9f7cfbce4013f382c124c72d3e7e54bc3e699a656bba330b3b77ebe24540237e5337ea9e60abc36063a4a098c834e6edf4d3557e31534631 - -COUNT=34 -L = 1600 -KI = 31bb0a0a800ad30f124794ca45898d4b1b806cfd70be848f -FixedInputDataByteLen = 51 -FixedInputData = 79e536ddac10ac0b42860f045de6b7e5c71b2097a241134a26e799bbfb5fbf8dd89c885bcda49cdda39bba0f362bcb3e734573 -KO = 43556d3414e2487f25aec606d9d5433b41bfce0f54a0aabec3ec5fd3b67f43177dbbc8f1682023b7bf06a822a5ceeac0039ab5f5b1cd70690f78c71cb8fac63dd30f4afefa0b12859045e6f3963164d63854410a7188bb0d30873d7008dc79ca1187e4718a331f4645f62b34791cc3c7adeea06b38e2dbb43689cf0649b79b507b8dec46012e57b0c56007ebceadf06eec2a1fcffa3b5ff300aed001c46e0bec08d31fdf56b2622059577aa2cf79268eee235354918c790369ee511baa83485e3c2308175474199f - -COUNT=35 -L = 1600 -KI = a88f2f3c1fe7fd7809d6d6cb9c6a525cc5445bba5d28ce50 -FixedInputDataByteLen = 51 -FixedInputData = a9fc2f929db81ca9b7aa0bca513bf7f1ed65d40f19348a6a383a15bf71b32de72765079bbfac77c85e843739788eeb294379e7 -KO = fcd1fbc7ec8274252e93f2d4122493b5b8455000ae72f8c5792af2d311e4eb88fc606838d606f38c19c303bc3d7be74deb207a6e61472036cfa981639d262e2d21b8078fdfcedfbcd80a3823e099c43b860997e58943b3f73d4cff063fe2206fd60917fb352b2989a03f6ffddcd44a52f2df66b5efab7c39a5d6f899cd3ea808c628f60da891aa9d468df05a61a5d15d67449620f092cd47c6dcb598bd377fe0364ac4980cbe4fca60d8409b6ed0450119f29c08d67c5dcad654eb70a068dfae88f9843346c56b53 - -COUNT=36 -L = 1600 -KI = 165fb266c8721b1d8eef2d9c1b3ff672ada54fea76ebf22e -FixedInputDataByteLen = 51 -FixedInputData = 67f96b9a9bf7bdd1afd8f3ab27c0490c0e7617ad9deff737746387d827604784b973fb045bdfa0896432510504bfb2eaab7a28 -KO = 54bf13741a64e04575d0d151af3ec23db39636efc790ceef824a8fc90cccea6b269560b26f144566f264729d9e01cbc77ec863b29e3345f7b65f0a6a42012bf05d2a01441badc2bf235b85814ad89bce6e031e8666519f19b772635833409cfd54433225217be60750b0537a64cd86ea8bf5d003018199430c13d619551984c4cd55ff35644d3d12f40192151c6548dfb5a814e10c81466230f6d59bc24cc01f0aaf360fa146ebd33d65a41b6ba3a6ccd4272b771ceacd005b80305f63604d50d3f5c5076bd317cb - -COUNT=37 -L = 1600 -KI = 309793d6f6348eeaef409b65464bffc69519ba59cc6fcd67 -FixedInputDataByteLen = 51 -FixedInputData = 7801fb78223707f657e0ac8bdc50414ddb85ac651d5d6200f9acc0f22e6f5469be3fc14af05880842cf63b8c9f1fe1f9560867 -KO = 7f6f9a07551b3c48e4f9c86f9834f0d6bb431373e0370dfcd3c4f6064f599dd02b945fa92f61c7eaa7de1a6dccb57261d7214b0a871f2af865b1ad1692d935b353ae775df6431311bfceeb40bd381a024b4e3494d5e0e3c643248b357d75486732ff7d70a806da2bdb63d67984fb5cc6117b01347f0d4e6ad745b46baef9ef0fb0ee815559366fac581af6e4242ecef549d699b0a7865d08f48aaa0e03d27e4e6d446f48f45305dc1ce34ab6caea24048958f27f7267a4d6b162bdb7336d07fd6cff607cbdb98a7c - -COUNT=38 -L = 1600 -KI = 93ea88459f2fc66ef5f0ee19328e6dcb96c4034cbde20cd7 -FixedInputDataByteLen = 51 -FixedInputData = 71f381ce0baa9ea02a90726c61e6c66633e93b8a9f95bdb11dd22f9b5dc346d174271566f46775d2f845294b9c21736fbf68f1 -KO = 92aef8e292fa968c800b722656d68e8becf96996ea357f962376512c299e957d125649471e981d01df45bad07c6ad22722bd238fa5b96eedd251c3e944db9c149d9f19c7291577cd8bdaf8b1ce20ab2d0b7e909da2b6eb02f9ecedc1eb8013b38df37beadd0ca196ddcb8c61aabfc99b475bb6f3ed9157b96f70558fdf3b0aacca07109f1788d6ea1a0b9fd7b38aea303965d6039890cbf75d20aecb58eb4de76f357237b324d033268aa19f01943364acb861ec3a2dc068e4aeabe097ba5ca6817cc134d92aff57 - -COUNT=39 -L = 1600 -KI = ebed4eac5ca83f828e098658ac29f41efb222782f899b9af -FixedInputDataByteLen = 51 -FixedInputData = e31ab19693a460572270c8a96a5d02977787c7513c0a4e8c6c6a0f52dcc4b3d061f50ab2eb6aab8d51f7e9a64ca1f494eeb046 -KO = 92b4b418549d62c94a622b544ce01307d8c1ff4694ed403157260c82ad1d1dfa82586b300469334e014e930885906efb76b3fd3c3130d884f54bdc80d46e2ba313358be5b83e425ba69f2bca07e970afe7d1718271499b8427d8a418512660f048a4471476ba752a815951ed371b61d6a271607cd77ebc8d05fa6ee7a1cde09a63c46bc77616e8a2e80b25e9eb351495282132256d7e9cd0f6bc2b2e307065962f3b4aa2d6be07dfdbd931cad23ad338576bab9862e72894a0165cf452fecf0db2239c6695164120 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 599a692fbbbbd65ae6cdee76820f87fc18510f9a29984d26 -FixedInputDataByteLen = 51 -FixedInputData = 514295ba931f6b64cece1bd6dbcb87da0d89e15720303589127c8e0df0261171cbae1f1f577e09cb4bc1b0542a3ad00e98a167 -KO = f0421c293c832b92dd47912306463563b686749d4064c3a124a934aaa90236e91ff5f85aee8bbc4c6b2f3103f7449b2dfac9fd00d34b8623dbb0364926b54443 - -COUNT=1 -L = 512 -KI = abd694d2d27d1cbaf8c06584110c3f8febc39459d3c2863c -FixedInputDataByteLen = 51 -FixedInputData = 31cc316223a7790ce6e92a2cd4c1b968ba7eea664300bcaf742f304c9e9763dd7e9ec36f41a29aa473c0033ef22c5eaaeb6dfc -KO = 8ca17e957da213b50ec87d59d14d9f6ed02975971a016e5d17efa102006f03d51c0f877bf01b93f78349b03da5b26ab555b3fca3f216d24a57e2cbc7b457b3ce - -COUNT=2 -L = 512 -KI = 2e3f8f2d3df1b4b6c38bd524fc51553b96bcbd10ac5933fa -FixedInputDataByteLen = 51 -FixedInputData = 35d6f9fc320c3a23aa8118c64d866a9d9a7801af9a6408cf729f85a2d52f1ede3a45dcc243a85f1f8b3d6af88661d29886cb25 -KO = 76f18c80d4f18b8292422527d6fa051d95f5376c3c2485eac62238c4687f5020da8f118b20004903a951b6b26dd533febd69ceac2e4b4d13a3602982555b0588 - -COUNT=3 -L = 512 -KI = 1fda58c4ad0611ee3eaf9fa044dabfadb23661f2cb1be30d -FixedInputDataByteLen = 51 -FixedInputData = 79b053545d29d426b138b9c1453a8f45b574670d56b8f7c77f644be9b51cc9cc8a3abcc8d1b4441c1d19122ba75f3d99322cde -KO = 65904f082d3dea04a282bb7777b0f48686c19d89e0fe839d55d92b7b39a6612a3c45f5c322c6b59569972bfd506ed979c7ee516e9fc54f11b62cf9ec0de16701 - -COUNT=4 -L = 512 -KI = 8723bad0e1233480803cc306a5980f6ae6c5802f8747fb2c -FixedInputDataByteLen = 51 -FixedInputData = e9cea746a62fb1c372cea71a1de3cff187cde277090f1713020788062bdb946167e46605b3f57ec76bfaf230446f3636562323 -KO = e9a52d3039fd5ac0afaf75cb6f09b809f7a6768f99b3e8ba63737f9caa87afbd269de2b8d9f07e4e99f7b139ddeb4f3dbcfed572b0b152561cb6318e70b11849 - -COUNT=5 -L = 512 -KI = f412afa8e24fec56d4fc3cc2cb3dd5271926e36184de5431 -FixedInputDataByteLen = 51 -FixedInputData = 897fbb41c18579e7d13e2a61a34aba59fdb9d2930584e3fcf6df360011f611c955c0acd0b2b2556ba516a22d2ad08515b4a0d2 -KO = f50547eeaca8a0ee6f3b082eb8ff82c404376faeda20ed3c0d073170a71c5c60fe48e257682b878140dd1940d18f89237a75181a5b4ae368797e77aa4f31c676 - -COUNT=6 -L = 512 -KI = cb4efd777eb07b0a50575cfa0ac1b4dbeefa8a1aec48a05e -FixedInputDataByteLen = 51 -FixedInputData = 93d78378f0de0a91387baf3d72e1c7935d7eaaad1200f8eaeff1f9e793c1d40486a56f879ae56e5a52f679c64de1f1d10c0b0a -KO = 0f113f71f58c78ed98f3ec27ba4c1efe998e08677fad50fca8b9e45f9647d899421cedcd48c0c4fcb7a2bdfa3f2897cf0414361f21074432586a2d75d8cea0e4 - -COUNT=7 -L = 512 -KI = 6ed1f091b02da9e316771c59b2e0e956416e34d2f1d25908 -FixedInputDataByteLen = 51 -FixedInputData = 209784b64b95b5134a5d3aa0cc979ddb749a71ffb948eb63948aaec1c039d5c67d48f3dc01cdc465c04231af49211085b7f285 -KO = 55dfe0dc65351165300dd2222ead2f3cc92f2381c3179d883ca1300f988ce27d8d1edf50b64ed7e6523c43b4cf3cbc82db05e3fbedaf908656eac27b059bc9d6 - -COUNT=8 -L = 512 -KI = bad120d0a671618081e6194ba0725958a1b827e8b8f1c785 -FixedInputDataByteLen = 51 -FixedInputData = c703d5a30f1cfaf31e62633cdcc273c796697ba31bca697a7d4f0edad02c0a86cb54f237b4b774ecdf6cf97a291c0197e51da6 -KO = b358511fb6e8331f02a48d862fd994758ad50d32a21b1fcd5d2e6d951a625e0a8850797dda5fcf1316b79e57daf706346085c236bcb789f44d14ba807e668ccf - -COUNT=9 -L = 512 -KI = 10391b21ed4627e8465f9d59281b3aa2d0b604b20e936786 -FixedInputDataByteLen = 51 -FixedInputData = 238dbef8d41eb86a3d5102d36cf5534bd6f3ac32ac64866ce2e07c79ef36e5e46618937bfa3ae342b3cc4237710a67d892c2d7 -KO = 34c717f039533eff9429bd522fecd8504f50e044c4b67e05079e5d568b554d915fee76ce4bb55a9932af25516ac5e427a6110f362b14e6d7b527ce89c9e2ca57 - -COUNT=10 -L = 2048 -KI = ea50635b8302761ccdceceb7f7795f6f1f4d89608e572a4d -FixedInputDataByteLen = 51 -FixedInputData = a31741dab670e2a6cb18bb4cb5967be72726ac735c67bb483a5aac6958b728b788245244f82121b94c0cdd8d3d5b6c1ea2560d -KO = ae44e3af5ef69b0891469dde49ae411aa02ac3456a3cda012fd33e9c76ce2a92acc036c286668fa3a2d9f48b2f8d32206f7d02b9877f4cb371b110d3ea2f9c1c89f9c4849b4987aa919fbbf03e19f920d4221a756775e97a7c20ff2062d5afdbc941963293827a1ddf9242a04f82c293ef6ea853dca1053f1447689d538eccc6780e78b90fc045cabd4c3d49124d6ccfe205484549014a8c789cf56170a8828089dab203e49f8e97dda570c2bdaf188c6930957a03fd9dc1775a55f54d14e932f9a66318ec12eca9894fabfceba3139455a65c09f7ca50dfcc0382ae27849322d4d99738344c4075b3c6a827833c0ba0070f6e9dcddaf23851bc8f29869e0e2a - -COUNT=11 -L = 2048 -KI = 6e5805f0634a03562ec946ae909fb719e5a5af2dcec82387 -FixedInputDataByteLen = 51 -FixedInputData = 11fe228e6aa0890339f2c95744904613743a1a97b34a20376419a7a1a768dc19e00e455d463f1da91bd922a92f1bb272498d6e -KO = ddeeb3898209a835281aabfbf34bba3ae4cdac43e0aec83bdadc04e1b86e56f9dd870a6648a70a615df527b8d297831902f6b11f788c09089c199b64446ada02023d78608f22e38c500782dbcedaeea4f973d2be04ded0645c0ae62882c19ab337faad334c092bdc669de94746a4153ceca1cdc55c9829b4193e9ea041a8e20ff5979b0065572138411b41846aea6204f986f2ef72a19b07c2e99c35ee5009ee797c747f848f2665d351a2fd3eec524a4f9ef9daf63602e64c00b7f74c7552804355537983d6b81d4455ba5acfdbf75ee935efb797b78f65d9072ae78f10fdd6262eac0e93127631ff1f3911d733102ef7ccdd1e9c97824e4c285684dcd4a480 - -COUNT=12 -L = 2048 -KI = b9f934b8546c9940764645c67706e454277b407ea6747ece -FixedInputDataByteLen = 51 -FixedInputData = 70a89d8c383b4787cb1b752bef7b264f4faaa6e99c10e1f7675a1d8ca21619d198d53fa67d6f7085ebd3def586aba54da5e39e -KO = 21aefdfc5c6fd8e9b042f26255318c10fd1f54a612574978f8b3286759b427908a9430c2aa17b98b45d924c4fccec1b3a398c5301dc7798fb1273889547fe3534a335ae4b00fdb7ea3e5d8f0f8a7acfcd86d1acadaed72e1db5a198a6da34f120967150442b5d269a7d8fa840b589ba5a70456f193854187bec356e7c43cc674316126106f88fb7dff0b29e7b2548351ad8b711b00ca38ebf9809b59fbdb14660410cb9f02097a9f1dd20e4ab8733f2e38c7992aedacafa77fa345c003dbba3ec886c56e849df51b90b04bdb840203fb5d8b56d7d15c477f60da13a7bf3cf7bbdda3748ad3ea3d92fcc3e4869b1981360ac10fd033a27eb0653b11ed3d7d80f3 - -COUNT=13 -L = 2048 -KI = c6c0bb7fb59c082397df0c1e4b8a26c6b61679a2621723ad -FixedInputDataByteLen = 51 -FixedInputData = 56461acb55386f3289cc8e89d0280542d35dd4b9c55b14f4ce1307c336f885e6359799b15631c147b068bad2b3114678eec6a4 -KO = 86f2c27e7af8f6c9916854b112b021ea79fa475d66b2857b6b5fa48f4f10495a09cef75737d204b87dbb98694f0b8990eaf0c2b17309ea6214c111a0d72d1955ee254a0116f6601e348f23b76bb5aaa8a0e4d8602251c6e57d38a38f01b611759adc3b912092578cf4ec5743b0e2f568bdcaaa5283adc38843b4faf1eef21b513f9a4a0132d56d096e4c86462a38aac1fc4dec1e6a30e8cdff81004c288068835abae98f59e911e78b04c25cccaeabe83c433f80050635c82d7c75c96970af96ca8b8e2ef6500a10745804f06842783d029fb8357256c0c8a79fc639dd3d7929649f1219f7e986a217c1ddb772958cd4b73fc71f23f407d690a99d1a5c05a8ea - -COUNT=14 -L = 2048 -KI = 7e21119a3d7fc3f90faaa360da005379d9a280148329d5b1 -FixedInputDataByteLen = 51 -FixedInputData = d37d9789596dddf382f9c32e7bc9a68adb621a28b85c0e9307594a6a1017c649acd86f40a93c3d71170846b0f7e72e4ef0446d -KO = 1fdd96bf9191668ddd11d1d369ccd328c19f50966fd808aad809684e37f5e888183136d4db337b0c7d82016c0e8fdefbeee42a8c76bc73a78c1ba9539f1df834a885e9657bd8cddb486d162843a52900a37852d1a22d6376d2c7191c9907b0ee51ebe1c3cc8e69017619a32be61e0fceb0f910f407fe38b1c20b34e0cc6891bc573add2b0ee8a7e6ba543582b0295f17dfea7760e6861c0480fe872a7de0d4fc019581519ba9e2a1df9c63dedff97eb8d5a6dff3f47139ddc882e46e6e27594c55cf646de2057528ab983565a9ceb07b7c25a6b5e3e39c50bfcbbd1d92044e47e0397087a450a806df078eb90837b031f1f8fa4ad071d03c58b70196a916cd8c - -COUNT=15 -L = 2048 -KI = d46ba4a7643e19da03513a358064322ae2c1be7147ad477c -FixedInputDataByteLen = 51 -FixedInputData = 21f687b533f7aa76a814d69a2c62a5a0c9d526b23c16848106a7dc282cadc95ab1e75af32f0e42f51bb121d5c8e63bca2f3b8e -KO = c49ca404adf0c2296ad3d481921764896621e289562d6781f282f9f25544a66499ff4ff81d21dd66f3fe202a62f69a6a53c5e19fd7e5137f401256b0d7682d2193b59f96114a42e32771bd0281cca138f01ed9708975b7c742a3e0fd2cf0af606590035eff075058e74cba719292a00a05987f3226b46990ef8b7234110c61927043fdf9295151cb73120a0fadf67d73463423d8b45d83e3793053113a6f4d817fa139ce4f4ccee698b1f432d8b86b1b1163fe93fee82f9e6bf3b0eeef9dcb5c47035de038a51bf25f120d60eaffd53f3b705aad4733301c2ed84df7ccc1966f04bf882ae3c070954f90256222fd48677f0d1f7ad113008354e0659d97925b33 - -COUNT=16 -L = 2048 -KI = 3994007a3b3d744413cebda05370f7ed5f703de364cd6cb2 -FixedInputDataByteLen = 51 -FixedInputData = fd168bcb621b53a000fa3a8b22855bd4bcbbb527db72307ad8f807a248262ad79ae33c29718fc0677e0c96998e16ab0c7053a1 -KO = 863c432a3ada980808737a0645f600df830b67a27b3b28ac9938f7b6351b0d0885ac054494b299727867a9756cb5facc21c8d9be6d44ee83c57afdef222480c68bc936cf7fb5a9dc54cc7ba101266fa5e0c5f20e178bc75bcb1837c3aa5262ca9a0a417c9d252d7cbf4fe917868cfb788da39d7091997d96f0ba73752b26d0d5da3a2966ae284435147e9bb5dc3246fa855ca38112bdb2854dba7d7581f1ac88dadf52450beca9574e7e82994ab703dd9e0c79d0cf7a1fdfa1128c44905de5ef1caf47f256f66e06469064074d94c124c68a00fbf6c91197f85d784f7aab62bd26022c0d6cbfc493bb3208d01bf00f4392ab411979a198a8af7d2a0b27d303a2 - -COUNT=17 -L = 2048 -KI = 87700681980d9b61a89ed9ef114414da788b4d6115c7fcd0 -FixedInputDataByteLen = 51 -FixedInputData = ad71ac04e408fe79e2a552c3bb3a598ee655b45c6b0c0d20892b4570d0105f54218d0504bca80d459e632ef627408eb0abe622 -KO = 4210ec556e2d36e8907a19c286addfb962142bf4ba7eb04f32487b532f4a499a5094047bcda88326721b3d5a5d475832d795fa141cb083e3f3b7424558f3f78f43885bdb5a58cbf845490d142bb2484f969b9dc5249d46066b5943a994a232cd80b3a825390194d400faf902486a24f9f60c8773df9d7164a3ae7a7ec7d6e199ec423215a518e3da84b4232177cad7f4bf20b5e6157c761a57a79c1786c842efb666a8211de9da0c1d76e5c8cf5cc170d33cf8fb8195b87e2e7b0bf684359a8c377d2886315e2795a9632bce0677c3aa2e7ccff1e65b1c757510436959d78c9810e60e771a6c350e2aa2cbf6391e3b814c1368a6af4c5c1fa762608b1a80ebb2 - -COUNT=18 -L = 2048 -KI = 1e5700166e1abf2f895ac5faec0b9367a48871d4f3ecdb10 -FixedInputDataByteLen = 51 -FixedInputData = 091be0b9be89e3fae91849159bb332294aba80249ee21b5c2930d8c4f5e7473b89b10b6b0bf82268013e38a18ced3adbcec5e3 -KO = 0a045d16185cbeec871f264eb0c8375eb98d4381222cc4a4e9d6afbc347fa8016b057a31a46e73dc59d16dcce1714358fbf5bcdf7c58f4af9231a3c96b2bebfb47889418dbd9906cd4fcf63b05a34b0b2ba2f5893ffbe1d0fee72cb42b85bf4ddb9481700c1eaab259581f1f551f4aa7c818aa2151a9b66c7e0caffdb3e54c1cff1b9869d4b4ef92152c7cdbc7e053044c70bf3f5edc5ba15b97748b756e2e4a816854adc384ddc62c17a6ce65ca163947a117f78ec6e92399fb7a0df352fe03bac8161ab88b8039439b10a7f78e91dfb08fa87c9e7d8bbc699a1b915627dae25e08be429bb8d76777a0c374657cd235ac94dc811702e7bf832b46bcd51fe695 - -COUNT=19 -L = 2048 -KI = 9487cd07bd8ab07da37dcf73e10420722eea6eedb81a7b81 -FixedInputDataByteLen = 51 -FixedInputData = 868b6f14bf98310b267f8cc816324971957dbff25d588238ecde2f464752d06ee8596c9a194a9d8981f309d9fd795367ed51f4 -KO = d927df1bf7d1619460f87d4a5d9667f405416de6d560cc8fd175a76a2e6404aa5741a1233407467cb927d17e3f1bb7d8de9d071037b26718c2278324e9283a77103e0c83827269c4dc4ea84c282ad4690f67dbbec8fe14e5a6bd0dcc1a0df070c06aaa60198d79ff06b5debc4bdd5d2445a798d0e9c55ad767ed5ab56b5a906e5656190090c84ca2af77618febbc739127d2b3a4054099a2b89587a348550eb7f69f333e62e26e3530df37e9c3324bd706ce8b632507afe709a05f950ba0a205b95968087a102fa3ca4cca6c69f74ff55414ba2b75120237aa30fd87937502e69494ed348cd397d9b3613d344dbb6c1446cc7248552e14d96500d98cd2daf996 - -COUNT=20 -L = 560 -KI = d5a139632bdb05585857b652d8df89ecc55ce3fa4fb65f27 -FixedInputDataByteLen = 51 -FixedInputData = 0d265c8cddc01ef8ad4f222258601a665d1811426ea8993b84f5542383de9590246c81dbed58f0bb1149b14ad4f6d74c0a4fa5 -KO = 1e4196275aa9c70a9a4a6b885bb3ace39635363e48673ed7c914ae4bb314dd8c1347bcae43f2c9692b31c5fde5f6ed17d5b739a8d14332548c3b7d3c90359758f95c8b8396a4 - -COUNT=21 -L = 560 -KI = d92eef864cbf115fb1d0490b129c5e48067495b65c808821 -FixedInputDataByteLen = 51 -FixedInputData = 4365694874be6f5868b384a13c1a91811c3b4a9dc6e7b57921bd3e830117911614be051b10f291b38c7c8fbd0c375286594924 -KO = 203091317ab6290016585655da1a7b2ecb5b30016a79f4ae3bdf5eec6962574d69a86c60a32e5a9b9cff08b19341524869620025068012aa542bc361e9a06ba912942d956031 - -COUNT=22 -L = 560 -KI = 55e6ce7156a7c1af48434fc68ce5cecd6ebaefad39f1215a -FixedInputDataByteLen = 51 -FixedInputData = ea214a75187c5505732f9cdf508e95c272428d7daa3b767d2c2295b85b5da97e2da2f9e18c543b462cd7815afcb0907b64be7e -KO = 42aed4ba3cb4a688643b92397f847915d01fce802df6ec0b886896529536fb3df024999e7e0770f8b714cd85e9fcc0abda97241f062bdb162af7f3651713718e1057c06fdfb3 - -COUNT=23 -L = 560 -KI = 64c7c586867e29185a5c918f74cacf3512313d8782c4146d -FixedInputDataByteLen = 51 -FixedInputData = 1de38eec93245ffee237ebf0fd149c14f814d6602dff5933068660d58368bc8cae5a5f4e68e6751ba00a3f7258580216fc01af -KO = 9b8cfb4d2f41635868a6feebb77c1b5f24b710da64295c22c780e2cc1cd9737018f67d0e49afc050b4fbc4c3e44635ce18c3c187c1334e0b2e29a323b8ee85d1aa635d3f63a0 - -COUNT=24 -L = 560 -KI = bad8cd4aeed10c72ef33937dbe89576df98b24cef192b7b0 -FixedInputDataByteLen = 51 -FixedInputData = 65602a91e8ac2c393b8ef813678c069bbf55e69a1d9522541fbed058d02cea6ff7f6c3e9ea43bd3a5f3b230082f415b4e4cf95 -KO = b2d2d13d68979fa4e9cd93fd9d3a967162a8a3c15dc536657dc51304f3d627eb9d70da5b7f95c5e124d1b455b5f4a03bee5964a86deb228f9833d2b9dce3bbaf352c5e46b1f5 - -COUNT=25 -L = 560 -KI = 6d2259d62c73965abca487258753122348da1ac7fbb359fc -FixedInputDataByteLen = 51 -FixedInputData = f1ee83e2d4d329a48e5c44949befe687a5d07fbba476e48aa0ceddab90914cc69a28a7a22323b82aa92a459b030d9dfc6ee178 -KO = 2d78b4899b02e3f66dbfcd7bc2f4d3ccf8ac74ffb65a163e00202b6768b4753f1e627bbfe75c648fd78672db15d4a61ccd3f30c22407352314915c44aa13db2beb544afb5266 - -COUNT=26 -L = 560 -KI = a561e4a0a0ee8561f30370e410106aa438440bff3143cf20 -FixedInputDataByteLen = 51 -FixedInputData = e10d6b40fc0be78abfe32422c402f9b777a38313dce189dd814f40b89485d5eae91bd7693e1d118539a670e316ce95fdd3f460 -KO = 88127ae85506f76b132f5f91df55ac7bb2fb0597745682dbe341e8c4afbc1115e9ddf6163129d3a0e6610c30ee70373d41a913786d094ea7a04172a6bc2de9951f2bcde8d3bb - -COUNT=27 -L = 560 -KI = 0892ea5152cf011bcdc639d222d1dbf0529b30b3a7184bc1 -FixedInputDataByteLen = 51 -FixedInputData = df5e852ed3b79732b8e25dd9ccd8b145d1ae22ee50f4b2eb34d675c78468e80cec691304fbf08e93850405be1672dd2653ef59 -KO = d913f8788c3b7e389ec463980f41a972b4431203a49c9532f41190ef75e24bef123e8caea5331473a5961daf8ec174a29194b9add18156c4e886c48e951a47a1e18b71cf4bfc - -COUNT=28 -L = 560 -KI = 8a1a28fe0b06666bc75a2777642d08897ac5841a67def6b3 -FixedInputDataByteLen = 51 -FixedInputData = b19d4c451a64b6ec1f75a71f319b29a436d333439bccb698f5b45d0bda652f12f0d131a71dda8ad82113ebe57aa8878a2a54dd -KO = 6299db5736d8e943bcbb32756066f967399198d2110852b95f960f6afcdd673c3ffd06ae675a002c25f7d6e99382c2fc4c46f54420a1205790c0ef30b2e95b10bc4e033a4b28 - -COUNT=29 -L = 560 -KI = dc95da8d25dd0c9dd99ae2ed5c2986b7b6bffa60dfb8a1df -FixedInputDataByteLen = 51 -FixedInputData = 47fa0a3a4e39d685cffcdc5071e19a45b938a452e638eccf9e11a365a25c3124cbb8769aa429e430239ded634685d41cac270b -KO = c729fed8943ee462f084e52f27f0593dbcbd07093700a70e54e25cc06149818005fb681598a91a4e041f0a38644b9b45ee18690c6e72e4822bc3f4c1e8821e765e271004d8d9 - -COUNT=30 -L = 1600 -KI = 6e08ac003b671068a2f022331a5fa4ee9c014ad1253db666 -FixedInputDataByteLen = 51 -FixedInputData = 1ed3fcb40619e9e301a7fd1cf3f1874dd0f3ce8261e94f99cf3dea405b749042b49fddc992286fc5f62d36f60679c5642dc07e -KO = 3833d7fa219970ae8a5df45749cf5de9e613e6f9748e68b5d5f5fd536c1135d8deb7f4732045a829ddc8a0c4d12ef1d79f2c0c3fbec8bd1ff2cffcc8444222a759c60b0153ab9b880b0b5d34b245f8fdd672b0a0db983e57bd874d1182ab5dc906b0297ce15496450246be225f8141bb74041f9992836bd67894a81b5e60d3e5a01ce04c1060f406c56fc199ff310be7a82d6faf1e6d03518d04e61706c94ed19dd11de2293ed3a378ecb53d25b766d9791e6f03a2e09e823aac5963f15872aea4de253a4527247c - -COUNT=31 -L = 1600 -KI = 9ae97798a9e1906e9f37dc65dc0905226cd43d16feec6986 -FixedInputDataByteLen = 51 -FixedInputData = 91403ec3890218f2cf0a0d7aed2b15629cd164a46738bd9afd833cf6b47238a0455e7456e827ce9b4b17cbf7d41d0c6939c534 -KO = 7612e34187aff4b001d0691ce9c25226b41d35e80002b858346da8e742aa40df3d2e68b4a83b1fc1942f3d6e39c156b125963fea88fecd3f287a8796a78e1b187aba68099e97fbd16be694f13b2e2029a08efa253cab964023dd45de2571d3a52a1d65edf75775eaba7624a93c4fbde7ac04b0df67213a9ff974bc7dfbf06e8e71d5e98904d58c71ed0d2020afed204dd5f9b608a83878f0ba4c9eb5234a2476583fce35ab12edb5765118d770b05b2ba2c4d4d37db4a7865b2e502ba4f94bdaebfbdb805b12f70c - -COUNT=32 -L = 1600 -KI = f82797b1fc0cfc1747f3ad7bd1ff2c61492bd96537b2d05f -FixedInputDataByteLen = 51 -FixedInputData = bc0f1309edd0e3084368a5f2ed4f134926245526f03d7f61fd5f02ea60653f85f24db3540dbc8395e17af7f3e177ae9ddc64dc -KO = 249c334ea9388ccc9ad9de8e7892e59e6857f4599d535e46be9a96724f9e260436a0aec096b6b8f69b28748d9308279482e306eb9a5453fdee805072677d7d1e6a446139682c203c0be8fc8582739e4525ea9819862ca0e6f06ec9bf104f2363cf46e5ed2624d98cb5b80a381c8cc41f3a93c740c2bfb81e86c3c844ca1ace5192df8b33070a15dd2554c12a027a620b4d6af88a4fd2a2fa1cac2f55e3d149cc9bbf1a33e4f838ab7174dfa7bddc0e36fab2500ff1d9e7b0ef095b2ceb63dc752727230bad126a15 - -COUNT=33 -L = 1600 -KI = 396ac30da2010386cc0f3eb0be1043dbefa79860779eca92 -FixedInputDataByteLen = 51 -FixedInputData = f0eba0cb976343bab3f244d9ec9cd22722b2fc91c88c2db93924d7b3a22d9a04b30639c417475bf626763d127e4c927904fa1b -KO = 8a7c9997febf6be384f53ea58eddd46c4954c6a396ba3323034fc4afa0f2078f6e9189a85561343e8bcd99d827e89bb08e3dc05908483de7c37a1512c855fa5fd08e183d4dad909e8755de03a75da0e9007fcaf3d4f56a17468b601e5b015bd4f6bb8ec2f75f8ead5118c6e2f9b3f2ca0193c5fa2fb41b09e1a0612f1a1d2a8b42ccdf950e134c0a82fa99511e197175a23be214a5ba413b2b6c482aec39cc771b1202e64d92637247b29abf61540a1736fa6127d80f1fcb1a63687f347dc43ea09a43485857666a - -COUNT=34 -L = 1600 -KI = 5e6e16654f45771799856676884651c838464834f991fea5 -FixedInputDataByteLen = 51 -FixedInputData = 2a7bdae8f9c0e404a559ec6228ce4aa8a8d3b899db70b00adf8f5ba6f654bd934fe586fd48c2e23d9ed52bcfdccc197b8eb913 -KO = 6e0298c07c6fc694907b13a3632f17c612fcdd069c45ab708a14f59aa55df33e0cae99988705ac96aaa24b844962c1a87072ea6d5b62274fd91bae83525e7e8cb94ff67c995ac512800b2bb12e073cdbc723010501d5480adf4f311fea1c26f5afc8db2c622ed6bae4e3c163833552cdb78d436c33d1383b999ebcf2ccdca94b61b586593f5d261b4ec0b8213d896730a6a670fc1380471a7605307117f7cfa2b5e18e8a0c4c47a6a366fc89cdb46a6b50595de8ec5bdff2dd2c78a98ee8759e453687918872f027 - -COUNT=35 -L = 1600 -KI = fb5507bac32a61442d222474356a63261bc860618adf039a -FixedInputDataByteLen = 51 -FixedInputData = 14d3b877dcec1df16a18b497bbc367925c8be3eb4ab065ea117633ac7117b6aba4f4826e10372cd87797132770eaa13896e0e8 -KO = e2e8bcd4b9b28101f15cd485683b0f658739701184e89ffdb850a14db6b7d90cd9ef88e608744a2d0c35f57f2d37cc70ccbb023318ae63ba526d7eba9896b3889fdd3cda8233375ffda718e600b0649ac1a0b3ac8326d997b3ea75783fd030c55de47934606dd51d1e375fddbac6681b14ce54979ddcd0b41c54c310d47a18015243c38a07c558f11e257b21dc98e38d71a22f557ed91f6337e3ad59454010ba81259c682b573b6534d4fd52e1bf0c1a78a24428b0a7fd8c3336f1e64e9854641a27da6b7e41a598 - -COUNT=36 -L = 1600 -KI = 6c60552e3dccb9f3265e3c51b4f2e5410f9c6dac4e2703b7 -FixedInputDataByteLen = 51 -FixedInputData = ff182cfe796001384be098e03fe496968f86105e4ca4c1351a7e09ef1f09c0fcace7f35aecc896cc8d3b9508861b832dc5909e -KO = 0351f23b32452158e699d234a877ab65cb5cd4f6f1f5e03e228bdb3df2b2204956809c098462cf0171cef46c7d1bc45fe10b2a7d8619d379fe7ce2845331ce70c782e925d906493746a564dd1bbaaa110a2cac4efa415857c6f045543540f10e7ebdece0d35f50516167ac4b2325c15844ec991a3930d817fd892468c175fcbfca37477d0e69ffd3f11dee1ad85bba782bea4dc1917a40cc5ea8b3c45f8274b6b4df75c5f9f73cd324c1e6fd17be4662cc344f081c439d63ddc686dd4a0dec532b37e64a667a7d74 - -COUNT=37 -L = 1600 -KI = 8871f3f2bb77c653cef6463b4540dcb12f18e91be111b377 -FixedInputDataByteLen = 51 -FixedInputData = 7d5859930866d5e2d765dfe4e8fff7f5aa6ff9e0bef8da12a1d0d3e4ac32275838a6c1498edcc6304051c5b696617234f682ec -KO = 7018f282ee8884f7165c71e9626985cdc43e1b4f3a1b90ce967543a489870b6795bddfe0d1b517cd92a4dd5accc356e00a88ddf3b1e0338f030075bd40de479bc0292c2209f32f74c4480225803c28e44a83252bdcc2dddb512a486c3374f5e38d8151d7d88c6e0d8485e66945f8a8d3e086bc3b14b7b7899e50a33fb22b02baf21f9bcf3dc7026a1ed25ed4905fcdf2e5ed835a77f43e1dfb75b379cde2da612b9a5c6335e8c0630ab44ba41c55f20bf08ceedc7fe2875ef8b31ba1a9c7c08dc30f2b32c09ae713 - -COUNT=38 -L = 1600 -KI = 71e30ff67ddf0e49c03e5fa19d726e64bcb753d7c7fac879 -FixedInputDataByteLen = 51 -FixedInputData = 2464bb83489f7c3532740938e483390703b22a89000739f317c577c72cccc4ec33afd7b086782a7f3f5a068c64b3038008c0bc -KO = 3a465a1d9c3e122755d9e5e1895449dc89ac6def85c3090f9472976a98961fbc55d93df7a4c6f83c806b2975855a8a4763341d05bc23069b920001314794d1f9d539ec839b26354f79e6857e88b29ac57cc16f4d1c2fc1d925d0c402457c1ade70551a3e44a02478b0c7e365cee3c3d23d5f1902813dde27820402db040154bd7124534d52e415ecd0489254ff570530e27b21c8a28a7f420a58e29a0421549f9fae449238ce765ab20ae6fdaedeedf2028ab81d4b274d7bb11cdb836962ba783a6cacbbd706e434 - -COUNT=39 -L = 1600 -KI = 653a7c14db1563a1e708c6ed889e13cd76dc6cf172f7a94c -FixedInputDataByteLen = 51 -FixedInputData = 35f663080b03cbe7fd7f4edf1df9c4e1bde8ae8fec120156f05b56346ae16034322d68514c8e685c829a14f8d721abc31e05c1 -KO = 501e8f8ab6de12d79e8d7f52d873ec90da2a8922df14dd5833ae43ff78ac41091444193662e0d3f0f1dabed464f7c14f68721154c7a5c9d35900968423197d7946e9c0f4bef1cdcb80cfd1f123cbb35255f5b0f9c5b7833d599ec17b7246b4e5f2aa9c7a6e00d6b35897ad1b5aecee3a41bfb6b7eceb734b77ed9a71430325e4c9ee065043401481083c7738990c64d56853413a3cc192b6ee926321b4d20f3d32c4c7bcc8a3b6d210d99eb27c5c6cd0a424f34734e796b4a006843852587021aa9b59ea439d5753 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3879182f48c2c595abc624545bc2ce21f73ad90509789178 -FixedInputDataByteLen = 51 -FixedInputData = 1974c1d94cef0b13dc785f55e83c7cb32f1b465b89dc33d0913d28e9e65995b5871558daedc3b0f876ab7186429863f7ad5e30 -KO = da3bff862b8821f3e493096daf9f7aa1b8d66f6151536584c57bf9a0d93fd55c0797e0d29da15bf2c8e66da2d2c7f579c8e37a9e9bf13a1ba7c71d3e5ca82d3b - -COUNT=1 -L = 512 -KI = 89fe7f1fff35188c880e040e15973a8ad08e5caaab21f2a4 -FixedInputDataByteLen = 51 -FixedInputData = 8cf8f97d6bdc5e01831e668500eda70d39fe6abbb02200851f64711c5961ecbffdd49ce03a3f25542ce57a862304d4cc5ca75c -KO = f177b3835ad86fd18034b30e857aef0f73bb585d0971f58a77097f0d89f61390f2d5af256a367859e44c45697166f692a6900b65f1571155d0877eb0782b280b - -COUNT=2 -L = 512 -KI = 8fec85d5e336a718f07e4b87bdd5ab58808b771693c9128b -FixedInputDataByteLen = 51 -FixedInputData = 95b556f8a9320d2dc8391fa6e9241eb17c173823cf10dc3730e8e0cb8b852d7658a5727ddf6a4d9b45a1ec19df9de334bf6262 -KO = 61f67c76751f32a30907b51a69fb83768373135cc0f8f458cb472906ade37d7e1bb5ee24d75e906ff875e1691cb93aa41c6f6d3c7d7d09a2c5eabbb89d9db7bd - -COUNT=3 -L = 512 -KI = 0d42183349e3131f77ec118783356e354f9450f44f61428c -FixedInputDataByteLen = 51 -FixedInputData = 364c189426d3f394d5d34cf2d065be71f3287507bc7da11f201798c1cc066bc9da2731628540d2cb5e988603d95d799e7372b4 -KO = baa5779d5cc082bb0a429fbae9ad23fcf7c93ee8141829428d5ca7d651174a8fc2e40eacff920a2412a9456082aa283c4214311d9fcc7aaf58a612f1ff29529b - -COUNT=4 -L = 512 -KI = ce21311d2235159b4d6807decda8dc3a2bea05f1439b90b6 -FixedInputDataByteLen = 51 -FixedInputData = 4c55b707af4b612b946e526f413d3cda34569f0d60836eb37c7670d7d860b7259e1c519efc97a92e35e23fdcfdbdefa8521d35 -KO = 83319237e48e7565785b02919ea32c993512bd4db22499a58964b3e4bb5d9cd34f8a0e517c789109f9d58c2a6a097f2a31f351d9443865e15343666ffb18bd9f - -COUNT=5 -L = 512 -KI = 865620cb913048187bd0c0217926011f05f4f4781ac1585e -FixedInputDataByteLen = 51 -FixedInputData = a05bd03030999e39a9ce4ce2fbf5df3a20df1c97079f178f73d50f0f84be6213cec6a243e0b7e7e6c4adb03a9a6fe7165936e7 -KO = 2081c13f21de9623bdde9834a22fa163a9a2d1ef05fd3c0813d9f841fc632fea5f8cf6b8be98b7f8b9b7f8d3c9222e8a1abc74370c9ac6178e43d2a1a4b4875c - -COUNT=6 -L = 512 -KI = afaf11fc54eb10f8e49376efa5844d4225d0f100aa8e7179 -FixedInputDataByteLen = 51 -FixedInputData = 4b2339bfec07ca19dc175748e905d8beaec689e22f4495410dd6a7b7fb74df32bd90040e743ed98a18ffd8d86adb27c75a4f7f -KO = 21d23403bedf84c3ed660fcc23dd0f608dd5f19aeae8bf9ac986a0f77d83b467713db51352f58cdddc43db2bb3a56128d5f1c69a368b7a6d4e909af2289dae6f - -COUNT=7 -L = 512 -KI = 38d7291152df120f4c80e1919ea6f7fc51637ad18e9afd80 -FixedInputDataByteLen = 51 -FixedInputData = cc27ce4f8b29458df973ebad03483d4673a7efa95aa9d28fa3861305aaf2ed10b62ec341642bf4efae2a9a7ea54c52a25f957d -KO = 695c9d79ee7887a6a2b84afd416b08ceb2ebf223c1ef7c6a9547d97299e1b2ba30c27c52f18c356b931f137358429031a139aa6fcf8c1b7d233188738a4829a5 - -COUNT=8 -L = 512 -KI = e22016dafb067663db566f3b3c4f3f04a2c1567553133687 -FixedInputDataByteLen = 51 -FixedInputData = fb651548278c54db14e41bc6d486a24392b32316c3bd893f6f8791c63c5d13346cb5a2da4ebd2119267eb07ca4435b9ee2de61 -KO = 2443e063372d203d09cc05edd7608f7ae50fbf18f59520f0d80def1ad5ab109c0c262aa3595d67cd401b6c2e848b588e3bc52d458fb1f88048fa6cc135561525 - -COUNT=9 -L = 512 -KI = f3daeef2fd50f546799bda66b9d211b05310c28a8f61f637 -FixedInputDataByteLen = 51 -FixedInputData = 399887b625ac653fc927f8c27a321302b2bb5cc1aa522a4695e729e9d8170bcb82d45a15a289e7c4d77618ae523002efd7aac8 -KO = 274faeea385ddf57bde55c7a39c6e44213d03dc11d93e0381c7219085b8c5935b4fe32b9371128aaea951ed7cb5388b7964d96bfbe142a8ec3217605191df961 - -COUNT=10 -L = 2048 -KI = 0b4d3804c5241a2e8062339732d7e489e3dbc49ff0478fa3 -FixedInputDataByteLen = 51 -FixedInputData = d86ce209b8b7613bf136a830e688a5d4d7e838240025fbf94115d67afb960be48962fa65dbe4dba3418a9733cc388243bf8047 -KO = dcbbf50de81ac59b13202a0ea7d06bec1abb92ce81386731f55d621dc16b6c45bbb5f3b08aa56d0a96a4272b2c8eeb815c0b1a03f392e8665698f1287c126352b456543ef4e2a6b4f20b699124c761de23e31196064af721aae567a64032a5806bb02c9b8ad099c6b45049ded6494c1dfad393a7e22976a6f21b0f36b46594168e34cc38174139226e55886c658864a1925ac06716248e4563aa510bef36cb2b52af552e92b8a15b835015a586ba2513fa656760dc62981903d921c6c063cac51be9f63470c7eab385438f62d5cc77d551dce3c33c15360a569def845554a0e499c05387319c6560d4286e9fa9f3f2b839597a7d76a2ecc3eaabef38de73eef1 - -COUNT=11 -L = 2048 -KI = 4c8f48e5ad9194581159b95862d006381d798dce868f2669 -FixedInputDataByteLen = 51 -FixedInputData = fbb615113b248b78dc92383891b99f883fa907c4df04e2635faf1fc0786de4233a201c0d34b000e2822be7926316329ef1ebac -KO = 7a2730d785538a55f5a785bcb574b7051f4c7f34d5524e5f311a08967260f0e951dc871ebdfa00f08794038a62407f86edaef35dabd0ec48685abf0472ff31fbe3172647509a4ad57f80783fe00fdfbaaa485c3f5305e115bb153b8feccd0afe669c97579027016ca1f459aa6aae8145a7cd04850ef603d118c28c16c79ce19e52ae1110e55eabeb8d88ade007961f49d23f0e0f40b03ab6f603faaa9e0958ae2bf9dc0d6f64314652d1e479b77653415423235f009f0b5c5448c4ec52fa1ceae1bbfc5853118c69ebf0771a8db6c3429ce307e831b34ad2a4a8d1115944e1e8b1f59b581ce66585ed1600a44c76a77391d82ed1e5516f7aeb3665a9910a82be - -COUNT=12 -L = 2048 -KI = 509f34d1d5a3562831115ecfd118f9e93ef8da51b0187838 -FixedInputDataByteLen = 51 -FixedInputData = c9d5181d8c5ce46ce427c95b4cf61c304f41c8a75bc771a6992c557920868c775fea0aa4242107cab26470abfd1d8fc1da26b1 -KO = 4233364bfd1fc5f644fa8a178e481af8f546997f56354046b7669b4b4e3cbf0254791da4d099c33dfd2704646cf769575c175c7d6bfb65a177adbff4f86ad498de96191042f74b6eaa61a878d73b5347397e4ceb01e66f636aa090056f4e4b2f1b34d218d660940e726ff15b1484ece39aaef8e55a120a456cf335bed9653aea847b64c950049f19dacbfae1ae52913915f95255172a0b4d3fbefb1cc517880a7d3699f281dacb98db96dd1e14c2025909b1955ea4cd58bf712e00ceb04b9dfe139a6ac3a8c3c33e09b1901450a25a2bdba125c8bada75a37e66d02c368c9a2d7a0529376fad61f480ea3816cd89d9c51f7fb088cdcca39642a170e28d8b0798 - -COUNT=13 -L = 2048 -KI = 74a49c1227e8c4601f1f17d34166c4b0ed478e90da1d7800 -FixedInputDataByteLen = 51 -FixedInputData = 865086096a838b2f8e38f430ae9d93fe3bdb2ade416f7816879f4785c5a6196cb73c3b5bc89cf3d1fa1f73396231351371d562 -KO = 1b5331c2aeb25cc68ab4b46e263e7b392c8dad378ce7211955915cee13308209b8d44de7f69c67739b38bb458aab434dae731ddb9ff45eb5970d532049a0c4168e05a7dd5d278d64f1cd75a7b458167f5b463b762ebfc01219df31da521685b3190214fbf6af97fd9e9d61a19617d1fafdd8b445a13b623df44e2d95c5279f212eadd62d163d99b1e676855db2806968c2a386d2fb939188b36a7d8015787b50ec48f04b858284c137b7dfcd5b9bbe590e18b8eefb2f44ff49bd2163ddf7b8deed228e9793a4408ca4d98b977a4a19c0c9433aa9fa0c31128a279bbfbf476fb6599fa7c849bc5feec15adc25c1419b540d50ae22a853bba439c064e0a365fe38 - -COUNT=14 -L = 2048 -KI = ff064a463d8b6cb5baff5fb2f75d2c4399db1122e1c3657f -FixedInputDataByteLen = 51 -FixedInputData = e07d1f1ef29ece9534c5dbfc9dcdc85f80f9dd1cdd671c59af23472ae3247ce05a3a8849c6c13473949dd2083c9d0b31183f18 -KO = fe88fada7e9144f82d1a150cf22893a560cc88e1004224b69d6671f2f9679ad9244c79678ad3de4242a60c1f0780631bf11e8602d48221087ff7c1675b9e8811774e14d0fecabee460aa5e20656943c75f4a3f9804f3648b71bf3f197e2f99d724e7130e1f1b3373ff581b93488549d7a936f1c7677197c49635d1ad48c0f533b934243a23422ec1b84525b227684c912be8cb0be7bcdf46b1f1c4686811a1f009bab3110333b4084f322dea790fe061fcb9a69c48f9bb569a1f9f965295d79105dba206aa0ed0f60322f2eab30c22785816e4b10bc55de0b6a30fc8f733b5f3bc8b0b831a0864b465c666cfbe4c8b5a398a68a025c73db0e3edddacf3d0e18f - -COUNT=15 -L = 2048 -KI = 32f79b768efcdc5f5a10c0617ee2f558f0e7162c9ed9ab9f -FixedInputDataByteLen = 51 -FixedInputData = 5bce8dc2bd2dfe0761b28a1a8d3eebece31f11a3318382ec5d0505e59b2cca399e100bdcbb8108698cdcaed9da1bc6537eba3c -KO = c3c94c774dda9e6bec0bd78ed0b559206c133b73299c10d187408ce4020d96f505f9efc3a5b38158f8f2affa49a5fece40c1eddd227f0f0b5d53b70c5c89329a39458abfaf28712c77d09ed81e1263f731c36b66b7f548a25038c022a5ac3df67f83fa84905e0808686bd07ba0d3c7665d308d7eb14c9288342c76abe0c6b072b6d6605c55c0e4a94739e3b1a90e9d9309a48bde6a8977a69121e4af1802e61cd07c55c1d8e6d04534aa96a5909253e9f74576d970067a9a04d931d3c01bbfb191e8840bacccfcb910ecd42de300bad25f25c24d3cfee9922faa346a86927abc0bc4fbc216d8b54b6de003e63573afc140437cf13f0e011b117736b1e3d6145d - -COUNT=16 -L = 2048 -KI = b417eb3802bf87a1eb855010fd999456823e3ecc0c56724a -FixedInputDataByteLen = 51 -FixedInputData = c673402c13e34f7e0c5a087bd2f22aa6eb577b84bdd3e688e2b6d6b57252e7fdf1b2c0c2b067c40044c30b1c1576ef9e8c8cc3 -KO = c678033c928f3db82f1a8d4a3c4f118e1e3067a3ad8760f4b8826c8f0352977be0c285b9aefca1a39e999a84d9ce7ddf20e51a964a1388dfb0556e2c77611b5bdeda9d3e2a5cf119ec660ee8fb6b4354afa77932875f9e9e3c6fcab35f086ef6fde3ca329f6ee218e7b6985fd5bb548071d0ba852f5825e254e578b9eb51ada7ad76312385876472ac21001254798ecd9cbf3419f3564402c1207f3982eef9d05cb7ed3e82501d8e41fec70c271c320b5711b772f2f619bc0f3407445ef6a1703f950115677385d26f8f41376687eb54b0e2678bd74f3f129f89fb6b2d3bb43f3d962033e56897acc369f86461aa92dbeedece80a353a82789a1b1a386986194 - -COUNT=17 -L = 2048 -KI = 54e2b7133e069486e12984310a9504e41aa29d95eebaaf4e -FixedInputDataByteLen = 51 -FixedInputData = fc2f93f82cde7a85e33d0a2080dbdaf2d73738d16b7505fdf75410ded203d53041fbfc8d95d1fbec660ee98a3f6f61e69d1030 -KO = 3a2572019c04507c24f7adf29bda22ddf26dfef1e1771f2003cf1f050e47fbb475b2e4e471572a7ea9ea4873e1ca2613f39a6eb39285862b6645cff5d0f1764053c87dd64355c49f2209bf55372149660256c05e2fc6ae103c7c8c9e7c031406172f0b1171dcc24826dd698468dbd9945c690eab430c2cb8bebcc36f8a2b69973b4e14f3732363a80fc0d9df066ec74418ddd3db417fe9eb3f4605bdcfde7c6105277d38f5812e449ec7aafc2bd93954711c9f7b3a8647a697c8d2cb80f0f932ad075041f79479a4b43b6a6195e146848e02238b8b844368783a61e2b464f22a88cc8c81ace76cd68980d0168924571913f00c8c52cb13e7351fccdf63be4ab2 - -COUNT=18 -L = 2048 -KI = 642578f64f7fcbdc07147c1874858be6291dcb73d09559f2 -FixedInputDataByteLen = 51 -FixedInputData = 5ef2b86e27737a91ebbe4260d6353279fd6e01d5c8eaacca02a566c63ddbe50f275039887690585c466198573d5dbbf898d18c -KO = ba8f115eb152b416bc0ed65d0cf9a51e54c350894522f2342ac31d85924e8135010ad0ea725905554dca0ec01adcf51475dc38cbb377603c770ce31816802c7c185fc9f510067b4e56836bdc0b5b018744f3dd174db70c557aec7ad5aa320391c20453a0f0a26cd71fab1bfac3b5d28bf581661fb4fb9f55991f50c1b74e2a4e8d436b26a088186cd9d869b84b600d8f35c780d3c3cfa723059e5d5c44d41c30562660e4a8f4b35f0ce80d4223fcb6f1ad9f5a1151729452ca2e01eb937fe64b3d986e6de270633c3f2d02f76bbc4747a5c5d8681f199b2826e18b998abae3c1616e4dce5a03ca0212bbc87aae9ade1630383e7d3d3ba64c5fe7372cba34dba2 - -COUNT=19 -L = 2048 -KI = becf378d15689c4f7adcd5c06df91aef6b4ee8ecdab60181 -FixedInputDataByteLen = 51 -FixedInputData = 52d8387556f9c629e4303ecc0eadaa435dae9eb6be02beae78fc2a91ed5398475c0a137b5405109b53ff96beff7d34d6c8f438 -KO = cddba9db8124dea098e9e215201604d7af75341c47699dfc50e8df6a58482521f03be4f3fada85d46def658932c3a9c46683d73eda9a07eea24b3fac8eae1086e9bf995792774903b9ff0858921741785875a2407d7fe462e32ffe51d87723d329ae6dbc4314469b222f271ea887d2fbbf1b6652fd11a3e3eaf915c057910a8910f611cbe60dfef43fcb7b155535339e0ae001e256c5a58ec40abed035ce74f168bb2e4e9bfa05b3a1c83635ec24c100f77f23d2ceadf90bf35d01cc1119096b5b6477c7dd2d90af5e528c9805e2e339ca09bcd69bc9ef704ef6bce4930be814f75d94452af5fb38035c9125b99502aab449bad26a42c9c0a3d60edcb18c5078 - -COUNT=20 -L = 560 -KI = 99b5068de5524103ff682b1744cd4faa80bea7ef2c2b4a92 -FixedInputDataByteLen = 51 -FixedInputData = 8de13d089d8102b1783d9a1233639a386aabc2a8a9bb9234c6b60bbf7dc2cbab6bc62944a2b9c48e752eaff8b8e6c81cfb9581 -KO = 779e1fc381ada92e3f0389adf70d91d6f051764c2314a8ca4b88086ead1bbd6f323c800cda9b8ee180f48478c65e47904ff82bd155e4c3a3b17d39104113077a35b8bfc4e8e8 - -COUNT=21 -L = 560 -KI = e4b0d0041996def8028dcf4f8c0299fcd6389be1fd4c415f -FixedInputDataByteLen = 51 -FixedInputData = a7be41a1114f8aca4def002a75ca55311bbd5731bc62e0ffe52fc81b660727f99266104023f244cff0db6026ac3a8259a7ffdd -KO = 1db30c6e6b1a4304dd002388b9244c3f470044667016611bcb94c8ada1eba3cdbff25127a3e884a3ea0e4bed2d08cda862412c6e7b472cf6089c5adf280fdaefc9e137de4e74 - -COUNT=22 -L = 560 -KI = 3c72ac6ec084cd06400217d644544643b9666ed9819609d3 -FixedInputDataByteLen = 51 -FixedInputData = d52f7e89fd21e4bf1065a6bd2771a229ebf8c57b425d2b48a5a6f1c5e46569e638aed355d7ba8537a49446f8be45cf30cb0461 -KO = 3998601e9bb0f24e04117c60045085d96d04e1e94b2aee7d00370e9e6d797103fcf80e29b2f9352c4f095732effbea8fb809544de315f90f81dfa31b60c0dfc5448f00a942cd - -COUNT=23 -L = 560 -KI = 48e4a94a5afe6033160ad0dfb47a92bfde7c2a01795a1157 -FixedInputDataByteLen = 51 -FixedInputData = f0eec0c2cbb0a8a3a30a5d35060b037752cbacee6ef9d2b0ce6ee8d6fe83d0878ec58078b5d4ed7687ff829a96acc67b3e7331 -KO = 608c21919b3665eb944c952b5c336af7da31aa6ac831df0efcd993c1463d473d7198153a0dedf16c1c8e70e2a6e4ac7557b79887e3ac4f137d3d18c0365d1178f99057fbeebc - -COUNT=24 -L = 560 -KI = d3757f9536bb15901000272c9fce81142c9e7a72ac21a94b -FixedInputDataByteLen = 51 -FixedInputData = dfa906b4d84fff9591ffed559c1a775b87d37724295f094b8bc1eafc7bb7d1362af66e9311cc395850b9c2ee144fad95945aa8 -KO = 5ffb4c0a8877bbc6bc9519fa89ca7ed7b5c77ed8d6000484ef7f020ccd1c909de18174eeb001374077a4325a1ef05a57d7da634eb26aa7993bc3a9dedd6c5b9f4b15483a9dc7 - -COUNT=25 -L = 560 -KI = 549f83b9fbc73cd04ecd9c23fa739f2d673d4956573ac560 -FixedInputDataByteLen = 51 -FixedInputData = 11294ba5fe757f2394e52a6575f20b5403ca38520e91f75b3440874b2fd26cfd8884aa36bc235b35c069e881aa11bd49159503 -KO = 67be188e98f00aa7e3ab75585766a149cd8f6078b7b7e8a1a3ca76fde74b02b6ec77ea809763c60ff4a8dda04f02f7fd08afd0063da631b4440576f6667d6880bc11453c984d - -COUNT=26 -L = 560 -KI = 314253d7e5c624acf71ceb249f470ea5c7946e9a84d27604 -FixedInputDataByteLen = 51 -FixedInputData = 968b52add2001f45954dc46896deb130804f7efc0b6cd9b36a62d4c30eb27e6ade1d534fc09c014e2e4dbb46844dc13231fdd5 -KO = 4fa1d7cf5ccbc21dbc6611235466823e71c06b2acb335d7577d0e48ba34720c1fc8db9889f88f9a9272ca719d7f6ca20e17dbebcb36f5f2100c6a3d4919e75fb3e3ad06e19ab - -COUNT=27 -L = 560 -KI = 1b80142a29a62ccb2fb5ce3a3c3f6bd09a640b82a8d88ff9 -FixedInputDataByteLen = 51 -FixedInputData = 5c7d07ca3f8e7f13adcd062a8271360dfbbb55e7f28b981a510433513814d46d88bc8586749834f7fd7a0d74e4e926a05d4364 -KO = 2c169f64532d094f618beb4088b8b074b6a042c58db7c1fe76e3e1605acdef8ed50dbe218ed871717d0b7780c36004a117d5d6db63d84797f785edac66ec903b5ad7ba636fbb - -COUNT=28 -L = 560 -KI = 075050e8d8d50b4173b779fc994c141c96f69451dc9b4e3f -FixedInputDataByteLen = 51 -FixedInputData = 5389ea812c0283fc32334168b6b9e9780d921bb460d20e0e41a3152e6fa43a1f8fe99c1699f68a6feb62ac36f2121e27f3a43b -KO = 342dd30ad150438a1a3a3aab9ac82bbf62a5cdae077dbed151b4e747910fc19c043052fd12139306ec22faefadcb5318a75df12c4f2a9009ec097df1370c91f04541990cb9b2 - -COUNT=29 -L = 560 -KI = fc102e9028b79d7600c08f0c93537427ade6197ff885d3d4 -FixedInputDataByteLen = 51 -FixedInputData = d4f2a977e6cd88d09c49edf163343a91197f64d5a0ed9e2db807bceedbaaba102e0eee62b5adb78d4484b29ad509662b1ce520 -KO = ee25cbf30c4005ab5981a7f9f09a7276a8e897711067473e36d3548a6d1f6f465180defd96234ac40da49309b29cab6d35b20afbe08aed1443e15455c352f89d9b70c7bcb8e3 - -COUNT=30 -L = 1600 -KI = 657e509b9c2be71f3b635625ec535f6e4eade3b400051394 -FixedInputDataByteLen = 51 -FixedInputData = 0ef3d1a2594896604f355bde99e3c6d9ec5d95d703f71c9a2ba73ace49eed8ce589095c19aea20e0f9d723afe2ae080642f1ed -KO = b5a91d792f310f46a5b2228095d2e6db2442b3399e2f31ea819d35561d91e3ecea53c5eed20eb509e75ac5ae0887fe710c44f950a363c5a29ba8defa386634f6cf36024055b5c4e020b6122b3e5ca73fb2d9b2d7f123ca6bef312bcc8a1857fb75fb4b873beb3c12624ffee7033de399b1c0d1fdc1bd54b25279c2313e01179bb863ee62f97e710ed668a742cd0f4257e175a789365957db747193b5640a54ed39c9302d5646de8aaa0f21d3ce66c4dd106e871aee771adba8b94cd9d76417ee5503819600197d0a - -COUNT=31 -L = 1600 -KI = 0d08c159508dce886691ba703a18fc5609ed89e19dcd1bfc -FixedInputDataByteLen = 51 -FixedInputData = ec2a695f2683743cab1599858f32b30daf039536ea55bd8382e03f8ce47de8c3f64ad49c84f210b887dd1ff12c9c214cac0289 -KO = 07d8c76ee11614155d1756fb4ed06bbfe6da9240c8c646fd15b27fe238bd29db7420dd6521f6f199d367bb6d9bf06f685365fe0f1a4d8e96886a5aac9cb5662efa15668de09a90900d35426cdd42a225019eb2d609657b4624144ba9716aca39dd85ce6c4134574b97350c9b8926b3a376904598e81249958ee2f4a974c04ac54772c2860af31d7cfe0c6469562c3a8e8e8f8492552c47e32ae09719ab83cef004029f237c161a70d1456ed7a06b124406d987dce672b507bc9e6d3d2a3f807f1f56de30176eea88 - -COUNT=32 -L = 1600 -KI = 81795756e10872f4963979c18160dc1a4d160e90e51cc3c3 -FixedInputDataByteLen = 51 -FixedInputData = e85122c7baf2b5ffef0c1bee5b456016142faae8c7273d9f1705d239f44df5547d92dabc8c191787d4548390014948afcdcc33 -KO = 41bcbca8b722aa135d0a523cbf29ab91588957e293c2e11070851d99f9eedb9b5fa2191cff516606e7f71849a92b00c5d9224f6090c9fe0926dd8395cbc3f78afdd184ae6165200b06e22f9ec6d158c3fd63fda5a1745328c84ca9b4f1167f91a34df3d68e9714472b743cb4554b9f8959fb2ca71a01c0d7c0c9f5c59a4df3b4bd2ac1327f7482e45145289c1d8a2e55bbdbfdd0363b1fb080b8f27dead47762f3e5db2d2b973f43926f698cc24b013a92c631a9eddac360ee48729613ab6c1c61efe6ee16c9c5b2 - -COUNT=33 -L = 1600 -KI = 90e971e162f8bec8f0977aa599a2fab08c7e2345c008511a -FixedInputDataByteLen = 51 -FixedInputData = d314179d203c528e2580f5bd37dd03c279fe713f870c958332b2b1616b7b0dde484bef71d9e5d38093e170ce928025f1862db3 -KO = 375dabf78b9cfd754cf931ecccf9d3e99d398a2e226a5d0c3b02ffb378b25e3d78bf05945ff7fb3d23f4d3c2342c7ad2907f8eebf3838d67f23a01e536e9b48f401f9a0e83b690b15e7533ef949157c0f6c6d17f08ea8a512223bf6b6aed1dd774bb5fe70a90cb6f7edaf81b77c82e27752e4d275c7f146de95ed3e12fc86296af9e0feecafbdceb98c816b4ff3729bba2dff1f9a6ced92199f0a8f0747b222b1e650e6b50b14e70adc010e27121ec72db6eeaad616e22276e8e66607b18034c9c40d167aa74bc3d - -COUNT=34 -L = 1600 -KI = a9377d8eea2816ff798998dedb0768eff64d4279dc5ad7ed -FixedInputDataByteLen = 51 -FixedInputData = 92372ee79519276b9f672975f2ffd4cbc919c01bad6341fc1f4a4282178b1da89a219ae267cd7a1bfc25bef4b50709ced168ab -KO = 3386f5799682c7d47a5a307f6ab31ef623116a3fbb7073c8347d25ce92d725c06becfe2b88cf12c924f5fa792da18b63f7b7019def2d5f82c2bbf4f18e5d024fd18ac59f0acb59329dd8cf7bdb0d4497e0ebf22ac60d97b484532ad4e01dc81557095a1eafb4ac130a329ecf81f826d286e252ff79e0880465ef408da90756b09baf46714ca8eccab5b5f36a9264157ce19f748ea46ffe0f4c9287bfb7cf253ed3a418683d32c609562706e2c209ae4b5ac2f6eac64d3f436187715c2d64bf71da19fbcd06bdbdb6 - -COUNT=35 -L = 1600 -KI = e81ffd8244d9af0d9317444512f27e8444ab25535d1ee09a -FixedInputDataByteLen = 51 -FixedInputData = d2f5662b751cac2c5fcedc5a3e8af16e7b370bad01f218f8f94bc104e4582cf9531175e97f299899dbb4dd242444db71732f2b -KO = 3888734d153757edf8436c237636c88c25bb0d5f92ecb1a90ef803bba8958204116aab2e49d6e14eaef92c8bee33866b89ca5b844d74da47f483565327e13c7b492e88a8b9b97c89cb0e39de0b45a510449c79e760b2d67ab36d580097bcee9fb0edbf40593b4b6ff20a0f385869b07ea636bfad4376ce78fe17369b443d972da054474b9e4b1495825c66657a20c6b07588533cdad373a00b060bad9fb40d7f4611a16ab56ea6650c1a70f16ab5a6354165092ae4ccdfe3000bbf407d9c9a4806c5a5160d58169e - -COUNT=36 -L = 1600 -KI = 4dd1345265e9c59548157713aa7a2a045531f0ec487aebcc -FixedInputDataByteLen = 51 -FixedInputData = ad52ca89c09bc14cf4ab62812371537d9ac2004b4f3f66b147fba2b98e8727846815420b420b80fd00ba611cb92dcbc4a00d5c -KO = e00f0611af41e1266fe75443f61f2b1b06fdf56104ac0b26406e269e246b4003a0e2eb0f9bf9bdc96ff2231d90cea6acac1ee0fb34cd5e344aa9c442fe43673ff83a9937bc817cf535dadfe36a52d274328f92d3b2d2bda7915e99bd6a2deaed1dce9adfd82467fdaa8e7301529e786ac987eb2f29a3bfcc28e655d5cac4d15ae630a2d1d9233f0d68b184f349a96c38dc6fd6a5f8a65b3e5d302a2204afe1a6e3163bb35bec66556dd2d498f83f464ae4193d5605824f531d0eb6dec36f665b861653bc36201f9c - -COUNT=37 -L = 1600 -KI = fa785f8f1ed726691ff048f19791e37063fc81295a702036 -FixedInputDataByteLen = 51 -FixedInputData = f63473051842a6464437f183c3ad7d0d545fb37a07854d57a53fca6079ccf1362f39ce664b221d9ddaff3d457d2d1fbd403cc4 -KO = f9df31787bfaffaae987ea9e3872ded010b841297af7b8e4efcb60cbc2f5b729281fd95766a1c6abd863fba71aab975f3377ecbf291d07f975f4c2078573d16e0697cb6d16730f08d756e96978f98d730a3292dc4b54d9530a4d51ee6df9c43e7181f2d0dfbcd83a7d3075c01f9b36941ed7e9e1b76f8b87636dc4ff4eb92290c4e5adb1e861a75e5a45999ef26aedc9ec089301d60a744c118018392ca60fc5c20d9df7ddb01f206078beea16bb1478c60cc803f9543bba15c11c90e3755c85098bef2fada5437e - -COUNT=38 -L = 1600 -KI = a85b7ca54cccd39c8dfcc32e696b48375beda2d030194e4b -FixedInputDataByteLen = 51 -FixedInputData = 20a4618fb948cd749a38bf65dec70e0b4967f619738dc6fea08665d2db664955b7497c9b1a04169b5d619de01ae079f74f20e4 -KO = 9f843694ac356ca2c652e44f14639c68e1c96968c070f451c6195e91a2a3586f1dbcf76ba76e4a8ebe70739b019f6c2ff905773750788e126288f87ba6564b05829532d9bb228b2ec9e03b7e780dc2b33a6427ea53d937a55602952326b5b4e530bb4d727b25e83c0fce67858d37b58abf4a0c763a4a366327f673078224f0c846ef8ed2567346fac876dcc406059f8021a5f63254cb8b0355c294baac2d6677ba2beb502394168ff5282f31bff46e6adef5152d48f909d85218c2d0640c3162dfb3b1b58e01e4e4 - -COUNT=39 -L = 1600 -KI = dc6acc0023ab6ef89cd6b969829190226730edf0b62f915d -FixedInputDataByteLen = 51 -FixedInputData = 21fca259e49e3c1a2f22ef95468d8a35082f8f96b86954195a53a7e36dcc1aea287f00eabaad941e859ff5447851413c98fcca -KO = 160a849be6903b2821eeda575839ae3302ab4374baf42d75c500656d86f6fb0f8a2e77608ddb3e50e5d08759af67ee1162271bebcc4ae3adf2b0006514ac12139ad00b165e91c43d98b14d8fe021745631f338e5276c65f9079aace2b6614bec12f3198980c190ed29973edf5b1b67431fdbfc94836bc25bfad057b54716cee2a28e53c2a8d890a0a47dd1f4b76550a8e4f2b4134bb0f5d6450467214ee8d59551c5b714fc2d09d9c6d77ec33ddc4e9ad1771d5dedabf8fd3e0d68555016de911471e375e910a724 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e0ad8b148a654406a78faba1344bf57329127cbf6bbdc90f -FixedInputDataByteLen = 51 -FixedInputData = 2e2f541f0107554ab98040dfb3931934e21a5c3c94b905d112b790dd9c67d26d08ac31b9a1106b0c98b0030d2565bb7e644c2f -KO = 803256f99aa830740c986391cf67bdcee1b64de00f744d2680dea63c0fdc1d49b8c7ed000681c2dbc633ab13b119733668d598b470234ed75e8786c7e2daa4be - -COUNT=1 -L = 512 -KI = e07566535b8e353574bc33b0f42fc103e37d67bd38e55d20 -FixedInputDataByteLen = 51 -FixedInputData = 6ddbf09af9a56b8c555f5f19f2d15cad99c3456a4aec6272af89f9634c2699d56b0fb37193b84839f2249876c2495fee45276b -KO = 9ef805c241804fe63f285ab666d80c655a488d11956cdd7757f07d6e4b86b96711f47857eccc24ec982a28c5eed5b574b8fdf1101ebdb66bbb15a6a1c4899066 - -COUNT=2 -L = 512 -KI = 6d0e928265a142c954c79a311d5f56e8bc49853c62b8a467 -FixedInputDataByteLen = 51 -FixedInputData = e8bcc931732681fe690e83d1c503b65d8844db9ff924a5760b0ded4d11382a0597ce33a50ec10a2783180db7d27bc47f2e5e39 -KO = 2cbefe99be51d94f9deba8b5dd2ec74610da647e932abd946e38d14f587d7133da70f0ec129d9e78bd272bae82625b467c14ede2758d786c3f17853fd713c032 - -COUNT=3 -L = 512 -KI = 1064608dc5a6c5266bbda9087bcbd270a4e0cfbe92a829be -FixedInputDataByteLen = 51 -FixedInputData = d99942c1210ba1ee3eb732d5269eb7ad43acbf3395edc3f068999d148cb7604c0860ed57274e285992dab248ca7e3f8e4187fc -KO = da905bbf67def72c27574b0199c8e8bc696e0f3aca33b1acb266e7668600f60bb2916c178296141852ffcae85da7e821e6a0f97f06f2ebaddae086c07a28a9bd - -COUNT=4 -L = 512 -KI = e3dc46db460994fd645f19785e5056b636cd5d9676251cb5 -FixedInputDataByteLen = 51 -FixedInputData = e5b206eb0f2fda755dd335293e7a089f8d97363b7119e4afd1f41f494222dcf4ea2f8693dd3dd750aceed1b280a0f0dfbc2d77 -KO = 9ef812955896f97d9232975c005531b76e33c5289b3a321821f84c308a16ca3d58e7a0553cbbf162b0c59bfa9fcd4438bfcc80f9528f5fb0066ccb36fdd3433f - -COUNT=5 -L = 512 -KI = b27fc67b57c1532d9326a6cbfe55f5374bb7332ae2f1006b -FixedInputDataByteLen = 51 -FixedInputData = 4b50f362c5000394d873bd1e25d0ec21162de97914b07b42e8581df2d978f538676677a735851fa978e05bad4af35cf418cd0d -KO = 13ce322ab93612509e845548dcb44e4edacbb732d81ea1c191aa37bcd79c288e42a0792cda4fc67e01b680eda33473bd6106e495dc357f0a1d1c372cd9848c51 - -COUNT=6 -L = 512 -KI = c6624df8d4c171a48f72694de2dcafd2ddc98e3947eb52c2 -FixedInputDataByteLen = 51 -FixedInputData = 636ddfadb53d3858958c82c7fbf0ec5a69146b037b8ebf75594541bfcc9b469ba60b6c78af2d965fcbc9676b4dadab09a0affa -KO = d8768bc624c4cfcde87f682015abd9ff63a3dec61ed7f80af03b9b8480aa9565d347a0c9cddaa6957bd0d4b0f1b6e926b61e60c0014bf22be5f080d3d2250e9c - -COUNT=7 -L = 512 -KI = 4e54b3959cac36e0351bd2ee9c4e3516da24a84576c29da4 -FixedInputDataByteLen = 51 -FixedInputData = 4092c9b39a90ba48d0ab3eecb2f7b6e88176646c3092e7ce8e3cd42da7d977445d0314bdc48687685df548127ae43b168b62b7 -KO = f3acf24372eb4cc102ef7052ab1cc9cf9c3e800aee0b377b32eab832e3031d92aa55d29b626bfcd210593e4729ff138114720d953f564f533d25758af9944024 - -COUNT=8 -L = 512 -KI = 9307233bf133358e6f4a8f4f9d06f0f23d4a1daff6f9c80f -FixedInputDataByteLen = 51 -FixedInputData = f4dc6a8b2edf0dd8d6c1389d001be6c594c26adf485acfb49a750f12da7e60d89bb89473d586ed600e2175682c1e0dd3e20706 -KO = 87cd9a6b2e7d29c69351ac9c13339322dae85ee0c9f4a9abee0d56d1693cfde5d5a3ab25d474cc2ce68a16041a3e52d4a1f964e136bf4b9b6ec25f0f53ed62f0 - -COUNT=9 -L = 512 -KI = 549ef213288a358afe69bdc1a39977fc2788e5e06c50e74b -FixedInputDataByteLen = 51 -FixedInputData = e41e936968f41f8cd6e322a76e29f467a80999225d6e820acc865841698330817516e0314205e124a130a467e586e5f1ca1155 -KO = 7da1d23493000bbec9af2503c34809c6ee1facad0611f644e1be102c6ab41e56e91c7849b0882340d8788a69acf96a20b55f356d4399841a1bae7942604b97fc - -COUNT=10 -L = 2048 -KI = 99b3f27264bb012ae6c35375ae4c48f96adc340753268692 -FixedInputDataByteLen = 51 -FixedInputData = 6ae1ac350ac4e478fa5d5146a1c578b4ad5e0c82945dcdd6181c1cbed794db51a3fbcec30f89fd4419ee78cc2938ed7f825e08 -KO = 59147984fbd7b512cb6d8dc400c1387248b8ae6dd4ecda1286674cc0f4e082af879beafef2bb0181bbde13528d74b16016d49a15a253b41f1d3bde4a4932fd9870878750661c9ea0ac7663990d8bfade711405c750197647f93cdda457ca183b861dfba3ca2608fa6656fe47fbe311c931afe6c80caf90bccd7e221e9de06d7c280732d95a7cc68d6018d1e8d14a6305481e2c933bc588e32240968333686ca4ad0dbff6d866dc6c7baf751efe8fce793f3763c92fa433a58794f4413201c62983740426b6a8e8a5db13a829a103dc007e52fdef1efc5411c8205eb487ffb69722981c0ad43e39fa3b379752f50d86daba5a7fe50f1ee9894a8753109a924542 - -COUNT=11 -L = 2048 -KI = 06606409ad5a3c59183feae2f650f6a099c39684402a4541 -FixedInputDataByteLen = 51 -FixedInputData = 18e44e22f035249956c3eba27d529964132392e3d708e4806db05ec8c0612b8b8a05691142fc8b4452ba9e0e521371543dfda4 -KO = 38092c70307f340bd2595ab03cd8571bd5d283e0c9365ca1439767f061c45dc23b7438d7656dd0417be6d2d71f3af1acbabebf28ea1d759b9a69670824d1ef55f72e5234c3315045124c447f5285ce70aa96fac300fdb4cfd12c0ef2c6a8b46ff25e15e18dd5d432b9a80d79c1428a5b6402c569baa75f113043a95b6b4824387eb629937fd8019e141ca0188105c5ca24c3fb2b340c54d5eba29f884710e3b1a7fdcebf2a6f6df0748d3314aac05a996f5ad4733adc77e2670ae75baada408bbc49807f674007481deb4561e58355bb6db89119d99a39411edd62e9d4c836eac70d49436510564b3b39a168ac2e091e7acc1937991aad770e4da8eed842edc5 - -COUNT=12 -L = 2048 -KI = 7ab898dcb8db02dde7abc1b5828c305e0bae1006069de824 -FixedInputDataByteLen = 51 -FixedInputData = e2eaf9e1d4d80ebc3cd31e73df812532261793eca7be4507e8364f923ae557f91da2d5497ddda43fb6de92645b271e891aae54 -KO = 3fb870c6e1a6d7575e28cf125b50b025fe2d817f76aac3b272e6a114d934fe58232d937409a9d16277383323ecb115850a6d75ef50dddb0dd8f86ab7d65d9efe9ed71f0463be5bd9d32ea446058c7b90a1635952b76805565d7fce0e7609a80b1e5ea911aa21210a2afeef4acdedefab81b224eff2a9d4d5276f1b965978326e6e3b5d0d7bd2e3e6bec9d6f58dc996d124552a593bb02ea8c77015ea5ed5868c9344ab1e5614a0a938b38002cada94d88c40837938ba74a2e603bb6e3b5c1ce18969a36989c238cf4deae65bb1109e5a8fd0c16c44617edeb27a0b313a219b99c0fbcd260dd469575e2fc46cfa466ac33335a909ecc9d20ae345ed4113595fbe - -COUNT=13 -L = 2048 -KI = 0f78bc363363fa613de9f447790b31b7a7d6f91b7b7bd588 -FixedInputDataByteLen = 51 -FixedInputData = e59d63bf32e63ce5512df116e4101fd833cb56c185dcedabe1ae7266fb25743e5bfc1e119d317a2daddedd8015f642f3387220 -KO = 9ab75986c0cc0a2838b412f57534a8d190b6c983a53b3559d9a8c4d8370bdb87a30d27cddd7d42fdc812f8b9e60998d5b18220743a19a70a22345f194f3daabf368d0ef8b78157bcab3a79c0455b145ae41a8c75bbd00dc7bf2e2d31f15751c8e3a19991638c194d6f9366291e964388ea9328e71f3c973417232effe196178a678b9e4686ed89943db50030d518170fea96104123f15aa781837e100ba67442760397a9a0772b7eb3c9171b844cf4a10b357932146eb5d0528b7088a517b2026cc13dfed4950da5f1824cdad58329d652e6bb451aca016b92dfb41958566de1ca99a9d050e67defc8c9b7cde54f940bb8e528c6480ecba021d342076d54e239 - -COUNT=14 -L = 2048 -KI = 16284722c9665d8ed8f984797f7c675ff8b1b817ebb728e9 -FixedInputDataByteLen = 51 -FixedInputData = 1e2f89a85dd1d0786e1917fed9b10d5d2f9ceab6dcc92b6c67fc621170c244647612cf0b56f49f1e0feeb23fa0cfd590953fe5 -KO = 768618d896ba2b601b1385ed5545cd9d537b71872df73e079d2131b8cac1c346f440e3fe995590e06f2d14e955209966aa59555df5cd875f57ccd1478cba00930b448ef6116c197bf33e34acf22b85f730bcee2dacf92ecc64f2bf30ba4dca201c03f91cceabb17acb07bfefd2db0cda80d97408a9ad21b93405d9e1b4217c814e616b241bfbc394a78cd13d771c48f72c6efe0094533e96f3cb411c301e778823505e9dda4110469954a1f10a8f77e87ec2e966242a131f43bac32148100802a989ce34a3f363fa6c264a1701541c5492f5b923a962f5326e6880cf090535d0d678f8914078c2c4ccefe62b709e2dbd6da48270501444d391545adcbf7bf474 - -COUNT=15 -L = 2048 -KI = ec47e3f6b00c7cd4c9402a6b962f8080ec2c7e03b6e3b3ff -FixedInputDataByteLen = 51 -FixedInputData = d288e9f2100e761e24f7036bff418c2eaa64baaa15bb49dbe8c09611f5742ea7d080aa84e739aab1978ecfab23b59681251966 -KO = d69c0f75e65c95f96e653cae20cf3b56ed7256d1aa8c78e92d8bb5944ea5aedfa65709569bd7066393a2db17a969627fb57deb21f046273789cb17e51e62d5aae98e9ebb7d22b5e3e740ec36113e067eb51a4a102ad715638f6781183c6731de08ec3332a23dc183f9a33bde00571ffc5b21fbeb783ef764e020e5bccfc7e6ca1f722e7b31893fd6cd95c7c4cd4c7056904ff75b83e02d479272897fae95cc0d1f1cfa79c31ed3e72e266ddf14c357de3660f55a4df63457061bc42a3acebde07049afbf0827524a9332f76e1373f5ceeef9c8d190f1d422e73e2601007af89caef2a20f0c1a230a893e270695c4e1c986c7cdc89cc01316028b0b4d59a7adbf - -COUNT=16 -L = 2048 -KI = 2076c7fe651a447dd4dabad5a2091780fe3a9ed73ec297a6 -FixedInputDataByteLen = 51 -FixedInputData = 6af7392723c1ebd559fe4608e5eb29dd6c595e1a909b7000a3a8901d14e6f60818eaea180a023f4d162d5df872b830872f5429 -KO = d440a53c32f6964380e9467fab1cdbe096a1369e5e81f2cb2b501361150336ee5aab9f9b445978c9ee4bb01e1419b21deaa6fa2bb2b36a504c665040a8eb4ab84ab885e9b911d8bd607531e1e21fff4737d255f6c9161eec065be341c2b56e3e309cafc5892a15bacdee1560ee247f725f55c81c40f8b51b73cd74c38cfe2697322d4e88831d74bfe41161e62bef7e3aca5ac2c2e83b48545e8d35ed70e59ff252633af918d2005283e8e6c56c69c74cc411a2aa872dc9fafec599a822519b4f3f8353fdb551db7720e61d56ec21323e7cc8b325f2b76fb26ea6ba6f94b675ccef97fa9e93272f755f356851855d0723dfda0c302d896cdf3d0b1081b9ab0dd7 - -COUNT=17 -L = 2048 -KI = a0cc9ee57d7d9262d7dff589e18bab823eedade87a049334 -FixedInputDataByteLen = 51 -FixedInputData = 8c92cd489dc93d7b98d4a3117f59e4870b4c85d9a7ae1ed6a140c09e6793a8efac9520c84a841c19f5cad174765d50b106b7fe -KO = 5bbe96412d8509fc1ae9b76a77dfca7fe88ff3b2657c3d82e57e5507549cbe3cd39a80f2e060f31f9af9210f00bd2c6f5d691cf0fc967d338c7e0a2e7dcbb725efe6125bad84f66109360d317f6ca4621bb24c670d8e00bfd461b91c4d67dd9511e0e80001b46c72e9b4de898a54a9da28694b389be0d0f14dfad318234b41d698bd259444f4afc811a822939cacb193e24d7a6cc61287c413ef26a06d316b848a3ad6fb50836675e214c6c99c7ada5fc8e5a6a349ae92ae67354d18c067306fbc12f5b7882df7650be33ee8e5197c04fac1fb7ed455ad74c9cb1f4f5ca6bd5d95a311f415cbaf949f36c8ef8061fe06e91ce26df34595645457e5ca71b3f233 - -COUNT=18 -L = 2048 -KI = ea4c697c950654b56f26391b89d56a30a779a0686873ee61 -FixedInputDataByteLen = 51 -FixedInputData = a9dd38f92918e46c60747f0ccebb0476c91bfef57d0a74ef8eabc629c610b43433bc622a786b5806207c975c0aead79b715c2b -KO = 5cc54672170587c3d1ada67b1a98f755df76ba8a31de9b1a2ff038ad5a6e7fd48cb09fc6dd7820e46c25072e42e817ad593f1664079aa147636e7f513d6aef4f1577f6d74ff7f2eeac0d99933d0f687611d594cdacd2c1d0fdab46367a3d84ef86ed181658c49ae29440f2c9662202976738ceaf5fc570402e5624a012f1bb6a6da0b34a2e1973eeaea112680b1e6b1da636c64768e600a27d957a576d9e741a1a875a0d1d876a24942c99206f0b730dc1e2d3267f1800699c60552a821a2801b7cf4f67ce8e68f884b6445c50b89280bcb11349b21980732460a1006c9ecdfb76e2e1458c86fc49ac1cdfcf6776d16c16fdb3c81befef53f4acc251ca78ba6b - -COUNT=19 -L = 2048 -KI = 2bf0d2a4154a4f471e2ebcb13e8268fdda6d28f95580a37f -FixedInputDataByteLen = 51 -FixedInputData = 711d099acb0873c3f5d3acccf8d4a30db28ed254f540673b553cea0ed63dde34f1ff2a73d64169563cd3885a7c460ae306a08b -KO = ef21dc8b01ac4c7000ccd7d571ec6d5139334433908c3f230c6a4747f1ae38f784b7f2d6368dc5828a9d4e2a059f77d61258acd63b336f21f3c6bc6de4f063cb5e0c1b35c799e74c6da9b8a83385051f5108444d5767b9f8a8fa281655c9f6c8d48bc96b3b634f1d53d7a1cbcd04fdea14a790f7d080be7b9d7d4aa7b61e0f9ba5947141fbc187963686c11d6575d64deb3e1af99a62738fccf76d864e759694ed4d24d0cfde6a994614a55e0ce60e477c4b78a851171ec1031cbb85307aebfc5d2755475df6633cbb9a0f82edcfd3f1113544bdd6f41f0b6001ef544ebff9e61888f3e6791dc43ffa4812edda8ba673b22c7c9403e079439eef56a638907424 - -COUNT=20 -L = 560 -KI = 50aa6d5a391b40b342f6ad4e6bed09df9407961f65118b6b -FixedInputDataByteLen = 51 -FixedInputData = 89fd3befdeef38c0af5b611e6777010252606f00247e5a1bf356ccfc47ac8df08210df44d0bd5ef5503b4b9699645aa5b19f83 -KO = a033e2b01a89527e3eed57ab6977c1c8162f7205d18d4b354e3cab06f763c8d40eb40e152b94f5583e450c039b73488c300858fc413724679f540e8f7b4c7fde2685d88347a7 - -COUNT=21 -L = 560 -KI = b2edf860e076c24bfc5b2ed378edc6d440b947ddf8536dc0 -FixedInputDataByteLen = 51 -FixedInputData = ca6445907b766ceaf3a0606382d7e8b8239e63c0f04d0836262f637da31b068779d642d89819fd4515df1e0c20af7ec6633b17 -KO = 9731ee656990ec394e8b52cc6f60f663a721164295da274eda149a8484e7a9fd47a09008d0985dafe77acface393ab2dd2a995a1c05c6823b1df40ae9e538a7cbe76bea55022 - -COUNT=22 -L = 560 -KI = 829c8a0af02fa0ac9de9f758b4a2dac87ca8f7161b7e84d8 -FixedInputDataByteLen = 51 -FixedInputData = 0d4cf6e38b5c20c2fb1a66abbf171b82ac9296556a2feb63082d99ddf11aec10481edebad88547ab377b0a21e047a3901c81fa -KO = 4319ad335abe7b50bb39ba33fe29913b4f1788550203f86a9034a260eb1efb4ee5981184d4450e1197f30772d5041c976291aa425c88bd178cdd38fa569cdaa94abc4dc79f37 - -COUNT=23 -L = 560 -KI = f52d99ba9d481a586864cc340c37a641da8649705e994a42 -FixedInputDataByteLen = 51 -FixedInputData = d0be328277e9418ffd4baa8cb15c324ab086e868fad0f8b6edfb4b14bf0464d58643796016f8f7606c07b99001eedec65835a8 -KO = 2e8ae415e5ccfcd8cdbe5fa66f893798682918cdc3f60ae11bdf5260bd16be555e08563d3cd2372043e99a595a38806eecd526f6238b6e9cf8bbbb0203644e5e803b8bc00b77 - -COUNT=24 -L = 560 -KI = 7e3d3e4db68d00b4c4d9b7f209ea8aca1544ff1114c4d64f -FixedInputDataByteLen = 51 -FixedInputData = 92c82274d9bfc70b61f855e7ea67def29bf77da8ead26eaf63861cd307054606bdfebea2a9185ef06c271f71307afaf6e53ef6 -KO = 6e27e2083301b2c44eef916e21c90872ded5514bcb896686628cdeac5c685c1feddda127f6122f0b707be68341f2a1029295d4c1122236d58eb8bc1834a9adb14eba6b190779 - -COUNT=25 -L = 560 -KI = 426aa2bfa4afa973b89a1824e0d98c4ac8a5932e57bf75fe -FixedInputDataByteLen = 51 -FixedInputData = daa4f4bed960d799e26d515b358735c68482721606a67506e5706cc1f6ec6c6e7313093799c59c7da5fd30db241690c9eea711 -KO = 3719a461860cdcb13edbddb681d60e3dc2cb232bcf99a4b7d257fe015b2d9a48b95bd3c6bcc0f509a9008e52640d1ef687df8807ab9ca4007ca05942aa793849201e7995cb89 - -COUNT=26 -L = 560 -KI = f96172b565243c4f26d65e1f2ce4816948206e7ac6cafa4a -FixedInputDataByteLen = 51 -FixedInputData = c40650488aa11c8499c961d126e6dd2c7cf459dd84b7332e0de39454eb88e4209b0b7e6f24464ca8f6ef1a6b9fd906bacd35b0 -KO = 5001291abe6ded3f508294ed315e7dc805bea5e45bf46d4920af46abe37f5fd657c38603472d60d638a1c070c7e306c18ea2b60014b5d81168fc563a062b0727931e6fdac161 - -COUNT=27 -L = 560 -KI = b224631e0d3cfc1ed26e1962045a15a8503946849fdd5756 -FixedInputDataByteLen = 51 -FixedInputData = c00f8b5026fdbde7d0fb569c872e5fe3da589816da3a6824757eff6cf7f13f5c282fe7c2bc7265bc9384c1767f2bc5a169943b -KO = 284814de1c227a089014adc54c942bf93d46dbedae37938007478801df34f8d96163b31da456e52c572e90d1c5842da92ff49ac40d5360cb2b113e612ea3ce207950e4b06f26 - -COUNT=28 -L = 560 -KI = 12b009376642b13c349c89b14cfbeb7e337297c1138a18d9 -FixedInputDataByteLen = 51 -FixedInputData = 48e2f280af0bc6939ae3997d02d381dced85907f7ee00e63db154f60f711e378eb3e04cf0c5fc1d45d47fa8dead29aa0797f53 -KO = d97d6575e97769a0ec029f1067fd001e45b6f86ad0fbc1adaf7909190d41d975ea1e7722ecaddd0f2760f33ac14a78edb17bc7456c452407e98073f4278e8623cda92e81fea3 - -COUNT=29 -L = 560 -KI = 74994c94b13979b6061210722aa291ad6b5d39f9909236e1 -FixedInputDataByteLen = 51 -FixedInputData = fd9940ff784fa98d1dd7cc7158d4301bce6054bd2c719b80ddbd4b1fc80dc937ad1fd9605394fbc8e2ead248318c819536d96c -KO = 7bc58a7ffcf0ccb5d106ac5e0c99e401d7877f29997af8028fa0e2ea00478a6d830bed32511ea96283116549f9689254f5a459b22e79cb3980c546e23503ddd81fbe043961b8 - -COUNT=30 -L = 1600 -KI = 9932823076a03fb4e85f06b2f74beed46a5b5ed57fa0f5be -FixedInputDataByteLen = 51 -FixedInputData = 2ee8d7eea80f4b997d593cac91180a2b0fd0fb737a4b2dc6aad6bf3795e3b7777a6152c290877394d2a0ca4d98e6384c775c8a -KO = 51cfd8b9f5ed2142ae28f157d90497b4896e1366820b18d91f86c61dbeb82f21a235bf77d6e487f1085e23436c0a583ac34b31f2c13ca840890035de94f27676e57f0f967874e454f7ca5c5e8667622a285319e2b377ff132ddefe6ce7acb1a9a5c766f038df3d3ea10077a0b109b2b44cbcb7f3648d23de915665546dd49d8798634f0163a9cb5afe3cab1fce4e1a191c98f97f4491f32115b8bb7667682a9f28e12b8b942d1705605ebd2c3a3e8069f015bb699ce3888aa2c51e3cd9d2e34411093222072b74f6 - -COUNT=31 -L = 1600 -KI = 817d5bbcfad183b0ec208028a77b5a0042db369fa06ef563 -FixedInputDataByteLen = 51 -FixedInputData = ccf29693f333b03cd51489fb9c2f3b7da1c2aab8cefbe3049fdb48685e0dc69cee14c7c04bff2994645e1f71a101d2cbf7f7b7 -KO = e89ec99e95c13e3f0ba47921dc514be1247112d52d698ca14d8b225fc22b41f835888e72e8d5bf669a24033b15612540061900914887d9c58c26e4c8ae7d9ecde05cace559617fe2223fc866ce74601bc61701e33201291df370092a1e905db4cef5473e008c7346de4da46c4bf9737d82578e0230a39e3e72817039c87ecd83af85c53cc5eebff9808a1a4a91408b2c0ddffbae5f4f6f6a7b8cb1dcc6f66555fd719b66bc9bcc1df5acc1e3ef9d847b5e0dacfc392025fc6f54e2fa0979f94ee32f052ac8632446 - -COUNT=32 -L = 1600 -KI = c3390cb5991524f322952bea9e85f2db7527ca5fffbc56d8 -FixedInputDataByteLen = 51 -FixedInputData = 2743e2d8b89670502bac2c00b5e15823a341210b9e6c4ded990c957b76d481acc0c17085373c746a39f6773558a872926be114 -KO = f6b875beebd00f9c6d65d78fe7aac5f6294bcba67065cd0c762273cfe9be444fd66bfce6fb0260a414a86cce00501c839bccd7527e903216b4a2cc62b9fe36c7fa2f7988dc039b36cd4c6050a3d9442c88c886a34b1c0899417f1a6a93bf879c377de282238fdd101a6d6b9968fd49e598cf698ec89f9f8b00a9464ac7e0a7a4e9185ca2a5c0922802cfd5808b1d89d91f5d062c895c38f34c18d26cbf21b1e23296f19b7d3b0f7accff9b3124b6167390832651735a4bc3c46ca6ce4b90422f4142dd57ab9bf07f - -COUNT=33 -L = 1600 -KI = f471cc633cfc621cd8215c22c9f8312ee42d109c7990ac2a -FixedInputDataByteLen = 51 -FixedInputData = 71a9c2eb9e5834dec883733bd7d06793b792f763ee140d3551da23a0be1f0884b1aeb1c540cbe7db28e4dae32d11fb4fef51a0 -KO = fee52e41c4ddefa5c87cf83afbd878fa45fbaf70ad38f2c1f3735e95b002c2df670c975d07d2a44fb05d73430a8fd6d4304992cd7db6fec01cf8b2605f56163c0b49a13c8db3f0bbe3b02c49efbf0aee0a9da6e0460bb2b9c13ac76561545742f2e492331a7f8ebbb87c6cc9263188064cd4ba776be5e40a36fe27846300cf1c2b5465cda5dabe72f2df226a2121da6bb611306d5fa4c0d735f006c5a800de95e5f66e2048d39d1018314cc2145ea54f5b6359b20080202d246a4ec401cbf43a15f8bdd3204b2274 - -COUNT=34 -L = 1600 -KI = b5d97993580815fbe1a6ec55585a68fc7d793987bf7643b7 -FixedInputDataByteLen = 51 -FixedInputData = 91e19b4a7e90d5dc9378e1b8ac84b0e7901c3053c35c42932233170cb485482beed418cf596e6f55cf44d7bb55685f7506ea52 -KO = 49025be45ab167d83893b52b99481f85abf707dd13b5bf92d9c0de7a76f8aeb35af1809ce542eddd597c3ff5fab74e5d1fc894df2a7c14e5bb63cbdfcd11f038038437e728820ffc7a5ad656f16a0108ea85f51bc5ca89bb161e4470c1c4558d91c1e257de71b9299c3fc696ba3563f75297472a750455c48a45b3596bed7d6064c8f1a36a31c3d1ceebe63ae087a43be61c114c57599cb08d08063254be75440d3146b3099fa6267cdb843159dc9298eea72eca8606f7456e945bf0346ac8ecadec84da58495d8b - -COUNT=35 -L = 1600 -KI = 1e69cc3eb3b479046e026a3f52c6a9647e7deb3fe8662fb8 -FixedInputDataByteLen = 51 -FixedInputData = ca05c54e527573543824d7b8ee24ff36b026a2e3d83fdaed0a3ad7a005c38fabe4ceca4711ab4f1d0fc325e8e03d702049f592 -KO = 1023009bf23a15d763e16aa8313fc75bf2e7c5ba92c2aff1a632f97da5444839b5fe499a5ee3145121107555fc2c7e81cbe42d4650adb59207efe348b493fdcc9d9cce6eba6106a17bf4b70156d7577e7372a630aa1c0e7c78e2a3c0daa9c4460fea820114416e9fe657462f36a20bf9d07d2bcacf028810da44dd8b9d58dff465927528604b2f09a498ac48c25aca3955c1b2b63ccf7d7a8cf8dc1cfed0781f2d0ef809a39dc5455ccaab44fcca1edc8a7ac7926b1553d1a62ea60a1e883f4bf190e3dc8bbcfa77 - -COUNT=36 -L = 1600 -KI = 743d2604cb984489c86ebeafea1f6cd194f1d66e542a8e9d -FixedInputDataByteLen = 51 -FixedInputData = 69fb41d83b474fcd8d8f523a20078ffb54ce71a618d12faa15236ade901a936244c0bb4a0fc97e0b28fbc5018afd21f8495cfe -KO = a1af33fb758b40e1a008e64407deaafee6e6c6e73a0cd5f854a58b20a52a379d5939d41b1ef2b9e3c1668188f839d4eb5490fbb415a62965f23ad8b2c369e3e9d23f723742ea1227b42cd4f3de3fbb1b5f670f4aa74564deda2bd28ffd34be33c2c5c0346e1b39fe65d510cb96ea30e08584d501424e36c77aead2d3b2a40697213d0cfcf2f9c48d44e5dbf022f20828f6dff0ea1eeffab36db27c72282f31fe0686f9e3a93d07e9e0194acfd1baa0abe4a6742cf47f153b5ee28e613f82c7c02f8d5061979a82e4 - -COUNT=37 -L = 1600 -KI = af713a31db62bc283457a0cc32fa115c05a817b9e47a48e6 -FixedInputDataByteLen = 51 -FixedInputData = 8f42d19534189c3ad61ec2b2c0768de9f82d71382f36a5b9cc198a11ab209f5a105a311193f68aae8802d0dfe46e7136a1fa3c -KO = 4822b0dae52aced288f2873a90ced656e56f44624abb22ebe9cbdf6c8323c4394efe6142f2fd360c15ded165ddd0ca3c34c8846b52fa1c6b2799c121893babb8f06c48f4f93f3ac4cc92c1bffa73c69802efa981baba28a03ccf1d125005a556a3d2aebff33b9f314dba397b564c8d4e47da3b4aade86d42204d00fc645927d25be808b1099b8f556212fec07f9f75e1495ba282ef935a5a1ac75ccf0a91062c42ffce6aa420d97d33eb46acef47e648e4cef5d193f7ee8006a4f3092a846bfac4512a8b9727e863 - -COUNT=38 -L = 1600 -KI = dc476f6826888c289807cd7cd1580daa2dafedbc6f137944 -FixedInputDataByteLen = 51 -FixedInputData = 77db14c0072becdb9cc2d988ca58600d4ab660abbde06a76c9d5e8e7401075ba2e1424c03211b027f2156db2db89d073f62dba -KO = 95b81500a119e1665875997d74e4f642014651d61f53ff9b7e4ebc7222a56a3b62c534eaef8d35bec29f07cb0608319648482a4be06821685bb70c3ae210e10fbba4fcdf9103beddd5298f85c6b54dc03b73a958dc491231c86666797198eee9478debca5c1917e51a84067bef8bf40b29a7033991278eda25485166de024a0b7a3fd1c649b157a1975332293fa05572a61de8e8ea3d9df6c312cef0943c5f30bdde1d7fa78ace20f31cdb14ca65f0b40d3a9fff6bb567ebd6455b1724afba61a2fbfbf5ed91d760 - -COUNT=39 -L = 1600 -KI = 0855f588758db07759adf6d7978dfcf35cb3b715d533612b -FixedInputDataByteLen = 51 -FixedInputData = aaf10a3b923a92c735e828583029dcd083043edc2c7693bbe6261628c5b921f0c313feb599b0607b1f86c9d882558c1e1b67cb -KO = 4932290a9ddb937fa401c8a3ac69e324e39b76b6447c3fdd28566e5a4206f90f96e2360f887f315075f0f4c2197579441e1c884254160000127166ba4fedc56eec867e40890a7cce637b00addac4aa8d165f3d19674c6a00657dcd107c5f468dfe963aa9e84a5fa4bbf4f11ece0c53aacbd901befae22975100bf509511871c0fff2b91151627abc192548eeb849b4e2fead4dc7539ae9440a55b3507669931ae562a07b501c78a383dc8d1c1ca37b07771921cbc19ff1d2dda184fbb032579d92334d1b4ca01eed - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = c8521281990ae77c5ae00600bdb89c63b0b5cbd6 -FixedInputDataByteLen = 51 -FixedInputData = 707582a96d1609bd6ca8613bc93723eedbe708cf898df5c5142a67a52b493f3952abd8381f5b7db3627c5adf474de652b19dec -KO = 7b232ffdcdef8aa4ef7d4dbf0de67b8a612aa66f15af4cb3325c0818b8984e7159e25274663a5f69cc232880529e5add1cfad2e94759a11003827addf295d153 - -COUNT=1 -L = 512 -KI = 626d6985e2783a1e9a7e658e5e91554e0981e4b0 -FixedInputDataByteLen = 51 -FixedInputData = c4af5df98f2c136ea0df0a37e417f356c5531cfa84f8c154698a0fdaedee9056642af241c2340ea294da36d538ecd43e1ad47e -KO = 3dc14eb296a1e8da55a0ffac2b6b714563cca3081f44171bf6179fee2e19a37738824267bd4f8ab625b8f1de67871a93695e1b5fa044fe619d65d1ae57b56960 - -COUNT=2 -L = 512 -KI = c36ff946e7ec4067550fdcd4b78db33e445d55cc -FixedInputDataByteLen = 51 -FixedInputData = a4553039d3a7f0f331b61780b68bdbc7f2a011a59b83d1babba35fe5ab89b8d7a351cd61a5a723a872c7def1349be83d40f940 -KO = 630fc06dd1ac6e1247d70976105f08183b809daf812b237e0ced161f0f6a88c9a3c83c4c4036762572950f50ebfe3a31b7ea2c19992472b7d0b51b12a82263a9 - -COUNT=3 -L = 512 -KI = a617d920523b199dfaba9540bfe225ae6a3e4294 -FixedInputDataByteLen = 51 -FixedInputData = c5defd9ac2812fce2283f84af3157bdef675394f2f2ae7c6fa10873173f927b1c0e97cfa9351a06dea5f3b2b344b9bda5d94cb -KO = daf11de9977a61d1fd48d1abc90c7dd31c54385bc23c26dcc7a35266feb61f4ba0fd5bb4ef52147a7682d145c94307be356e55560942e78989aa78d0d66b31a8 - -COUNT=4 -L = 512 -KI = ae9b3c87f83dbdf7af543bccea9ddefe7c0ce04b -FixedInputDataByteLen = 51 -FixedInputData = ff915cd3e1487ba499d0e3d71dc12731be89ec8ec0a6ad66320eacc86e63f92ccdd5c233e945547e2392f2d7ef01734840859f -KO = 9ba65f907e2dec83ade4ae933cd7bef4e473b1c230fdcd93419d2653b48223a92b4b187097d325f24962b5ae25c089c5750ae9640ead5dabd9d0be5cddac767c - -COUNT=5 -L = 512 -KI = 00a0f42d65252664d71db08503c833600fcffd3c -FixedInputDataByteLen = 51 -FixedInputData = cf639327f328b043c1605f2c14dfcb770d1eb6e5e5c452b298b6f61edfd1366b69e9bb3bb5c65b7818a2c07c58e5807c734b01 -KO = a80f210d33c62dd7e77453d7fa6d8f9a910b85baad56a3e2b37c4231a28f015d4031077177536253ef95497201d7dcec252becd5aab26a0a53d3d84d4317cc63 - -COUNT=6 -L = 512 -KI = 9b2ebf572e26805300e2d59da02408982af462bf -FixedInputDataByteLen = 51 -FixedInputData = d532824099000646bfab999dd27df09dba282d2cf9798d38730d9d15cb58e2a99eaa55021dbbcc5fb3d7f7cc397b89158d6006 -KO = a7a4fca9f5eb63b83fe4d5f71539800249bbd84e2db0e3a150186e3c2db40e96054e8c306a9202e4faf5656b4c3c9310ee94d2345d17f0c13322de56b144f287 - -COUNT=7 -L = 512 -KI = 0cad9e4761744e486206a9e3f045386c370eb82c -FixedInputDataByteLen = 51 -FixedInputData = 3cfc814e5d2f40f22fe5b07aad87a8697ed4c6c9e59319e4f9454f8eca166ab8b7081f661a568991554b2998582999d958b43e -KO = 443ab16748d77d07d1d49c20896a103ca50e65c1d72dfe2b88fcf40e945b80da6daed88739965f09e71af0b6b37bacd630f137730cc6f4b80e07d1b4f598b968 - -COUNT=8 -L = 512 -KI = 1d94b7c24beb54e49331231eed380d03dcea3e05 -FixedInputDataByteLen = 51 -FixedInputData = b280a527214f6fb60b3e5aad12d0a84e6dc1d18b679fc7898a3daeecae00a555e9482b3e7bdbdbbb84c3d0549721652943ad56 -KO = 6c184019c93bd505e411e0c01911103635cc3a2436371f5f96052a9710f8d7f9968c5c01870dbfc40f0daccf8680b0ed64cb519327ad199ac48ff5de6725a010 - -COUNT=9 -L = 512 -KI = 3e796e7a61c2b56742fe92386ec160d5d433ec9b -FixedInputDataByteLen = 51 -FixedInputData = 45f41bcbac3514f2b8b25e0d93775bf2facf2158b9e7a444d6c95b458a2f535f7d8f365a3422147bd9407ff3778fbd536323ae -KO = c3d2d9accb3734ddf4bed113d861d21c1d1b0a8f1eb1caddac3f3516db408969f20cf52d1c92439cb3c3fd88a66819c0725683afaf53b9c35914b40a3383efde - -COUNT=10 -L = 2048 -KI = a1511be7afc651d27a7f1994cbea70db6c8c3462 -FixedInputDataByteLen = 51 -FixedInputData = e6ef68cec7c50e8ccdac642fa39d20fc2fd4f138eac32a6866fa11607ce4c0cb67c8480d4c1574a69c166efa0efa99254dbf43 -KO = 852305a7348327343eb68d73ccc0f1eed5460e68f4e4d5a6ab7b088296961350fcbf51f8d0849e927e28f01362d9235138858dacd77e24c3527be1f62aca556ddc9d6a7d78902d1d7498b33788d50d7811d16842cabc1e37c5230c9b28f3f4109b93ecac6f4cd1d8da542bbb1527b7ca5b6488526386ac9af2dcf812217ed186e0f125b6201e7db0ebb8934d820ca5cc05e684f041d72cdba9c1d1867565db71e454247de516cbcfa8dc8bcafcabadbc63502ff6c5b36e0e4adce51059b121c96f675b5c95c662248497508092d193ee6ea6b98c35802e5a7cad6eb280fe607e41bf4eeb71d18e14c33c578d3b46a3bf7a88268d76921dd1329067ad0d59c486 - -COUNT=11 -L = 2048 -KI = be8385315156e549b2a7a23f5341a8f7ad213310 -FixedInputDataByteLen = 51 -FixedInputData = ce522170ba7b4ab6645df0113dfbd88f1c522c2913a06a8fd2c49b5dc6bda23d744d5dff75b3b1bff3750e66d9c182496aff5f -KO = 8edbe40c1025be4a04a66de19dc2ebf77be72a543d2d2159feba4a96497f0cb352e547080401f4dcea2097686341fd5be1765c5403b533396512f98f1925b5b3718b7a0862b1f252e7874f9270a24aba03ac33f938aa26701fa665e1e8c15fcc1df20fa2e979265b21c87033c07923a54d447340206af8dddaec011b2ab45c8edb32017cb2c68bb95f4e4fd660d753e478bff889d7a502917d2da8bee1ebe816bc719e2045637ce1567566eb0981a7a1c8b721af20cd48d74a62e3c6e8287e3e92d3f11c21dd5fb968c187d96a18ef82195630e7a5f861a43aff529be87347e14ae9c2677600039376949c1cde75ab60aecfa66898884283fb5da51195fe0fa3 - -COUNT=12 -L = 2048 -KI = e205d094efec6fc86f8860e6091c8aa8023699f3 -FixedInputDataByteLen = 51 -FixedInputData = ecc2c4c0ff5012f53e1bfe73ceec920535f315376f0f244ae588c69bf0207a01b48e5fd36256243a71a24b190dbab3eb3eecff -KO = 4252556844c42acf95a97c0946ea1f750ef3de8777e6fc15d03d2924232906d8ea8545075b717ff7c8b92082db9fd4b3f5407d89f69dfe434200b2605cdee1e789d3cf6ade3bdc6130024f9b9f8580e76e446a90f0d975cc7a619858f96092fe9d732d9ff789f479dbd7b6eaffad4336fefd848fad5b15cd999e2a991de26f6e736a370142935fddac23eef1be361560e46927ae7c26402a05ce8aa12fd38fd544db785139292791b9c0a0f8d2c772af1d83f7f97f68760e638d739fcf786f3e991d4fea68383d85fc0b44ae6349fc8a8b68abf18f75ec5cd04d6e8bb90554c16af615594fd541ac0779855654e7d4ef1d152ff739ce6a2bb5222234cf061abd - -COUNT=13 -L = 2048 -KI = 44eaecd954dd6013a89bb19aba6dcf6e82a8be40 -FixedInputDataByteLen = 51 -FixedInputData = 3781ca02a3b9175baa8312ebfc57e5940c358e5e4ac74ab8fef9113e9eca88c9c780543c7600fd47f7300cc1c90663db1b511c -KO = 81c097e43f6fd8f2ebe3b19123912bdc4ab9f8c36f4377be723037fc4d99c09b51d5bc379f463072770cf689f27f7062e13247c79623774893a9b5286afa5aae05bd3a4c8a383a10d2cc07bcf1eabf9eda47849cb1cb5f2a567ae263b34798037d15dd916d9bf06d69b49836e6328a55161aac7c758fe8f2b049dc3776c0f00c9e3597c12b0b7eda390882ab9527690a31292af8e6eaa88d4d43f77b02b278909c47cc79ce75c8d259f1d791787bea8c295c38bca8cde17c28c69b3527d87ad901bbf16e50f8866a2ac37028f1a028232f16fa2bf0f04e78c88a3e077615113a40f7d5012eea65ae9321eee897329913749a7f5eb6de277310096ada77889741 - -COUNT=14 -L = 2048 -KI = 0793f833cf2174e834a94168b5109f3bbdb61f48 -FixedInputDataByteLen = 51 -FixedInputData = 305fea4756003d5a46abd0ed58783d4ebb01d7a01204f687f2eb7d608d935ffa2459b1cb8a1bf5682c6822b5f57050dcfe2d0a -KO = cd3c4e029809e491e4fd46d432f24818e2b374b73cc1baf1153e57cad8ebab67a696866191351ade2da8df721a5809e4864d445e7f96be62169361dd45b38b9688ce2b1b7913d2656c9bf25e9389522829b791cda5293d51c3a99c988d370583e88f0b528cb18892d765653c7f7a1d1855c3cf1dcd9676a1e2470b2fe241a3eb7e729ec843489ec381d2b800442ef1496a0bf3a29844ac18c628e3c7dbe6ba440786c557b9feeecae111610d6f0ed2fc5a6455735c7103fcf010d0d09e2a998783a401df40e3fef52f2ef88b0296e0be422840f60d540b51d1867ddac2dc788f800e5560f58c2f469ad119b60367866fa540781b9fdbc55b6b61198d3a38e2c4 - -COUNT=15 -L = 2048 -KI = 0066ebfc13191c4989358f2a90f6174079d73799 -FixedInputDataByteLen = 51 -FixedInputData = 443e8ac9e9b22c2163dced25b8adf95a3b1f39f6944c983b83ec64281150ef6cca6d9d4c851c2997847f5cb2e09121f939897b -KO = a56c0c033df95e715fbd058b105032182d55f86096216dc68e6205016db36d620f5ac4fd5943f13dc8d76ee6b8968ec366d2fb14b448dee8ad70ec8b22e4a1c9031a04e3bffce475c8de03f218c308c89b34535cf78c69002ea98c550df391b5add80a1803e39b5ecbc205876380552f82568a30a1d5a593b8c94f174a34136a08d422bbed9ab4d6ffd8dc226c0eebb2b05618658cca6c7f43a7f232770c2873f33be72ba339a549aa91430b033641b5e41c7cc8dd3ac6dfdd64543359ce6961de08cc896f0ecd4d3653dcdda7e7d4b1929753f138ac4af660ddb92c66c9aec195d7153cb4de97cc008bb6643871106c7f78a11e6b0c81780a7570a8b9a6b448 - -COUNT=16 -L = 2048 -KI = a10f806552055c12a924298edc6acd1f12898ac8 -FixedInputDataByteLen = 51 -FixedInputData = 2bce1e83b7917579774f93320b5c67a94b721f66430f255add4878d295a48188a82c4ab63a0eb64dfe8ac123effdc5a157dca5 -KO = 3e94897d5224fd24e1f906923437eaf5ad459b409fc355715a2dc44439e35734a4b1e2579fc62bbfad15e96d367b804192d167dd6391ea1cced8393fe9aeedbc9cd8eb2f4dbd75ae486840f2ca64d8627fe2e83dac425ffc8e868fa04afe8949ba039073f15ffc2823bfd1e34511d57de1f16908bf219e5426e65ed9a4150befdb040212714d1101de0f3e29d9b4e2e32279c0f2a997348271dd5c5581c975fde444f4357de7738ab08fef1c29a4ea0752570a61dd888dc69a2a52e0a24cec2a60aef70bd6bf012635859f915ca24b02e59fbcc88888c8ba54b04c58e22072d20adbde7ab3ad0f5f5c5745fe9cad370b968fa5ed9525a7268e9434e10e9f3997 - -COUNT=17 -L = 2048 -KI = dc5cace02476e5cfac7631d534c0c21def413d54 -FixedInputDataByteLen = 51 -FixedInputData = 4c72f5fc7dee1277df4c0a7ff9e0c8c6870b7b36058577fa3cde485545c64cc8827287b8ec2c5abf3d35aedecf81b5f0675e63 -KO = 032d73be3a1ed926c29341089528892feca45ad27efb5ce3301100be6ee78166f98015268aeb67576b35df4b2282ddaa338a99d9ada5fcba0bdb095303caa8d32d52b713394426bb08789077e4a63e3e156087a73a3c751f37a66aec29066ca2487aa8a433f0768d020e9292bd044d2a5a0099e38226c987bdafa143a6e1c1f41f35438cd26b72cb1c242d430ecd55a43210099294b1f0004913cdb4c2df0b0c1fe435046c8f63bb067b239bb58b57931df521c400fb568c74e01d0a93a8ca12d75c650123fc3befd9d2d4bd4f79a009b94ab411f3e94b75dd250c7c79f825711b2cfaec59ef22249f5dcb0146d6ccd8141558aaa8966caab8547dc37d8ab5ec - -COUNT=18 -L = 2048 -KI = 5819b8b8e0ffe8dc3393ad1be91a6649a934fa0b -FixedInputDataByteLen = 51 -FixedInputData = de5a6064e7ac0d6fc33f398e483adee324c40f01a0f4e3710953b671361a8258d78dff01e449cb42350516c6034a8018dcef9f -KO = df0c2fa8205425db7c573cacc066379546485a8091d9e0b9e93ad58be1bed0fa6eb7b2f4314ba80173dbcb84cfae4193b3252cf5a279b1ad17fef71cf6ca2f66883d79ae37a231752aab8103838f7c65cb432c4a25f63e58885567d7b77942f50501ac1e2238614563c985bd6d0ee7e20e0d24ea1eff7ceb55f05a9f75da76591c97f9627f64433f2ac200fd4e25326de9746c10166fbc7c86360bf6d1fc05c89dc21480a9c037888762a2ffc34b3c148e63e7a0254ae7524b5f4561f23801f7f4353b20b61be8cfd9d46f237de6c6a05dce0a7472855b7e6b2dfc95b948e1f4df534377bd9c31cc9abbc8bea7688ced838b05f00c406fdc0de6938e8aad0347 - -COUNT=19 -L = 2048 -KI = 9d8400655cb11f65b6c5bd9919712464a7fb060f -FixedInputDataByteLen = 51 -FixedInputData = cff2950720068f71ce1d3e4e1987a1ffb2d0766c07188e50e94f320751a6f8d122ef6b8135050b25cd64daa7f73bd8312791e5 -KO = dbc130c6d0d66b9b78ac795cda0ec1fe451541e22308f97aae2957f3f398b4d39009344ed9e0b665bab1be87c8fe8cb5b9a321ef1127e607b7ee9060f0a1e9b06dd24907b33a626b01f3821d7f2f20a0121091f16ec4ed1bdeac96aba8f06b54c4ec9c9133ea462765b44588b9b68c072798638c0e7bb389427f64a11e7b79f3eb0baec6789c206b675edd8b20437d1bbfdc9519b8efb958f28e8305a6f91edc656e428a3a2deeffa863b5d2e93410e6fb93b6c09223f4673917c6be48a175b2367239cd552c50890932f9148c5d70d43ae5f4513f0b5b39748abc648066dae9d071075e7ad7694bf6f6ad9d622cd2a74c3da03cb18a72608f9d313473332421 - -COUNT=20 -L = 560 -KI = b4652093bd25986091d5a016df0b3270b8d2d600 -FixedInputDataByteLen = 51 -FixedInputData = 3877c010801a17eba28542f76bd067727fe83b48b14d1567a17beaaf81bcf1854314449e0c2b2ec597c5740018e65d8ee0d8d9 -KO = a7b6c5b56559576da52640c7a5897a13062792ce210dba28ca8ebf3bc26806ea4b5cac2de2973d56af63b7b92ddddfb55c7d65023da1265579f89c3e82f07cfe0faf45a70189 - -COUNT=21 -L = 560 -KI = 0fd4e8764445aff1e68c79744e4866b6f2a8db60 -FixedInputDataByteLen = 51 -FixedInputData = 4ad6d5125b5f8bd9ffe533ff93b31d02e67b3a21116d8f6a0f4539ddd4d7a4881cac1cd2337915eca434c7b964403c6bea5cab -KO = d7766d7572bed0e11191a29972cb10d293e04a50cec0b03bba3fb78b7798fadc63daf7db6188efd522de0374399800be326cdfa8d0f67e7bfcb31eccc3f1f1ef58d232b123c2 - -COUNT=22 -L = 560 -KI = 068d4e2de790d523f256cee1cf7bd08dfb1555a1 -FixedInputDataByteLen = 51 -FixedInputData = 0e74afa384e2fb9c770edcf9b8820badfd51622fd2488390b76abcc49ca577b0b3b5d1eef446ef9a9adae0ce2696e05df469f3 -KO = 8c74201834e385514c5a2b720596924b06a6ac228f639dc7004fbea32f2cf5e6ad541475e91f84ac565fc20348e0e95fbd27ffbd4b0e8bc1b13ab809840162b18e9fa4213293 - -COUNT=23 -L = 560 -KI = 94d119044e8ed09db8fa3ddffcafc95e762a555b -FixedInputDataByteLen = 51 -FixedInputData = 1249a7a657554fb6c2db74f973e0f79df59e9c9a35534b0b07bef9b78344ce124f95659f09f9364e1936192ce19299e8e5ea3f -KO = 6af30d9625d2dc3989fa9fafcb9099c7c6cd32d993e09fd9912fcb6bce1ffe737e3a9a88e17b85e54e75292f763f5025e546941d9abfa1816b69a4a9cbf5bd001dd97119f618 - -COUNT=24 -L = 560 -KI = ed0b57a1b08fc32af03c8cd99f8aa461ecbc759a -FixedInputDataByteLen = 51 -FixedInputData = 5fbc9cba801d0674ae562d81541e3fc6a3d6490578af349b6a5c42e98018447916c448994f707218d0f621ea8ed0e407c8c932 -KO = e0636e413a88f8def9ba16de7cc518f8022711ecb61b1dbef96f7daaba857eee3dbbb479dd2c5360eb3fbf1921dded032a70e29ac027774cd8ff19bae427933d4df024b450bc - -COUNT=25 -L = 560 -KI = 00195118414229d23345879d30972f8520d3456b -FixedInputDataByteLen = 51 -FixedInputData = cd2f2e1bea10d106399c3036d69f9c8c4a83282223b7fefbb76668e3a9011583ea461200fe4c6eab3bb71196abbfe59ff2aeb5 -KO = 028a17509af7f1e54b3d22a6794d631991198942b5d848ad4443273024f3856483604bbe0620990b8287703f3314f7cbe66731682081f9f05ffc2d1ce7bef2f785a9e77b282d - -COUNT=26 -L = 560 -KI = a6566579d49e0c9db7c5dee4dc7324427dcda2a5 -FixedInputDataByteLen = 51 -FixedInputData = 1c082c928a40f4610d8d33a15cbdaae2ff09553a5daf37a7e171f2b82af49f9bb2664e73e63a1da31a98966fc335a07ef37c28 -KO = 5eff32baacf588306db5a099ef9ca296ec056547d6916ea4fa5d78b1e33770e4215e3d973b0e813c8616c795a9d0cbf4724aa0466f29d99a3e83b3c20137c5efa3a76add41e6 - -COUNT=27 -L = 560 -KI = 93bc32154f5515fab0cd0e5cfd6e2b9793574988 -FixedInputDataByteLen = 51 -FixedInputData = b188ebcd5d6af1aabacc68cc81b5dc81a0cf5fe1a0b68ac3a5cba170c997304d18ef7d382c0b22d4b980ce3655ddad174d28c6 -KO = 163c96bad108169bc89460f11459f041950b224f55ba396e7dd3a280ab1d669e936efbc6874a32cdae5ed2a28bc49b16eb6cd7bce82016232a209ac6403c7a79bc04c0bd9028 - -COUNT=28 -L = 560 -KI = 630ee2580f80fd76a14c9729959f21ec14d0ce8c -FixedInputDataByteLen = 51 -FixedInputData = ccc15c65187f9707c02b42edd24ded283bf5d4d3159369532d1d8f117956f525ed8c8484ad807e54f168da788cb72c43815170 -KO = 3bb8559c43ba2abc4c9e90879adec13a5024c697885b35163916eff836ea57f473964ef23b5bbd06bb16c940eda81c8b8d14838cdf7704cd11ed2581677cda77e665eba5c779 - -COUNT=29 -L = 560 -KI = cc06c3abc55efc0eef71a681a20772fd180f99d8 -FixedInputDataByteLen = 51 -FixedInputData = 552d9a9e8572e76ad7fcfb7a102721e6c30d5e3adb0ee474501d4b6123d8b4c978fadf9045c30a70973c1fbb9f98a587eb1da5 -KO = 93db59def747743552a8567dff5c0e9053d80b5f1f2930122f9b935cffc43cb4977c5541e12958e788cc9f053dcf9738b1cca066495b548c32941b57065c5b1128ab565e5035 - -COUNT=30 -L = 1600 -KI = 084d035235393e5b7edaad0e0936d622854286fe -FixedInputDataByteLen = 51 -FixedInputData = eff1d3845023483a8af49fbac3913ce0a75612ebb47b1e473856ddf84e1db02d4d0fb0c0147f6af364e8fbce8748d6c659c984 -KO = e63d03bed9112459afccd0f4778b3392211efdd7bc7a5826d6a1af3fd981630acb7708adb8754c491150dbbcff8bdc1da104c5a164dd19875642bcf0736ff8c0c24a16cc3c315b88f5b7e3ab18d1036b2ea89148edce4405aae5c0b68f9efa929b608dfab42a60332469782c8e290acab4c4eac027f4917be21ddb9434ab3332808df16ec5c173de742eca235791d8fec50d62f33326f12e12a47f8627bb0dc8a31a90168a5da63e86980c861db305db25f56db20f42a53146b51a38b44b19c49992b00ee2f4a924 - -COUNT=31 -L = 1600 -KI = 78cc02f8613d396e15e87ba8a7d0afd01cbaa9aa -FixedInputDataByteLen = 51 -FixedInputData = 9d89b391c9e34b887945f07192e4920af9b7d58d3ae79cf94c0097e642da0c3087a4ddf6e0dce4ab4aa62dbf6ef6225ff59fb7 -KO = a5aff3613f0ee8ad4077502e712c4fa12ef94425323ab323b5bccb328b88279997dfc5ed7ad145448bbdba4a57487c0a58e5b17aa3def762601f121a7f77d27f20b7db1633d95869168bdf71167821117ec4c9c817d6b5692d367cd6a88e6003d7e46c753f54dd3ff8a94678b0239c1798518e1b0221f5ccf5382711153d22c5fc7bade2a90ff78740528721b2527861c2e07d6c2199a570cd497a7afaed5b7fb1573fe716d915c929e9beeb7446ec154327e8ea5ac0109a4132d6ca4bb58ff6ce5c04d27229c82b - -COUNT=32 -L = 1600 -KI = c26eea298b536dca7f9b376dade5f43026e197f7 -FixedInputDataByteLen = 51 -FixedInputData = c51810bcc1fe29f997534a1e972245fed46881982871234565c27f0d5b8adaec170c4dd2da601ac2a31bda79170412a232c615 -KO = 61ccb35d04b61b2186590206c20457cbf05b5cd71601973b9df7850511696d52ead188ba2c8f1e1eb5981dbaf4cf8f2af8f2fc3fd91e584e75b53a4a3938c65162dd7933bca9368e65c3c8e001451545d2e8b2f86c056711d50bbf4995a1fbf4771c8477d087af5fb5cbc5e163cde0cc5609affb523dd26b7b302cf6797dcb9051a6cd90f67a3f199ff65827182d48821e8a01a82c07705bd0fdb433c40550d8d288e42152786f81e84f018a3750c5047ad963602f9815982b121462e98e73c87363078e40b78eb2 - -COUNT=33 -L = 1600 -KI = 86de99228b3a3528505655724fb3700ec9da0035 -FixedInputDataByteLen = 51 -FixedInputData = ed26679f48d773a2c7e226071c631d5c16906ede772332b5544c576550423f0eb1ff98a2833dde6f6880fa22f40de3d76f4096 -KO = 3b8771f44627979c21a1c1ed249173c24a8c078022062b6edd5e31859d2e905f2c65c9b6b9f0562c9abf5f4d5fa06046f8b0aad98720a6281dc194905dcf18cc724e99e491508461b1efeddb0b74465c337ebc560deff65041d2f01525b3b7fb4e3599727d34c48f098f61890f1671aff521a75a9a9c055e898267a146d384b12349dd57b4c81a0e6c1cdf39ce80b415fd68bd705a5a7cf5238a15bb75fab573487819182a3ad2614cd344a06d2f286693955d9fae7e462b66345a186459e4cc715fb573cd9fecfd - -COUNT=34 -L = 1600 -KI = 43849c5c1501ea307d6562e9a76f47abf1cb16b9 -FixedInputDataByteLen = 51 -FixedInputData = 88778e8ebc39b25d2d2730eebfa80ff5c27f4d2327ec603e4baf161dcf2e8061b3691f0b05c293a713fe5776bbbc0eeabcae11 -KO = 120dfe273a00f432c4083346d514845511159ae0e8fab66972635f87c6f7c8160f31963776ad2e0d045590daa45714bf93435daa1d437c8a21c72ad0910857bd19638c239c65a80a9fc133dc1e07485f446036fd0ba038564927e4380217bb0c9fa0fecd4cf4d344769d46655c5b22fe68975ee186f62c2e29164b9350add9a88a74c33aabc3aff5d4bd13e7e8daea40a5e68990da19afb697b995b82967a234477b51b71156d2cb0e12ca821043eb4edb4717e5755e7c7fe0f7854f49f15b62a37f3bc69ab759c4 - -COUNT=35 -L = 1600 -KI = dac4ee815c1f1a9d426fed56461eb9f4b574fe64 -FixedInputDataByteLen = 51 -FixedInputData = 379ab094d0a21dc3de87ea952dcda2fcd25864c6b5d49e4723a0ec8473c263a5a0bcb72bc81cd5f6d5e66311f447bcc78cb71e -KO = ff91a0bca9ff85001ccec66765b3cdb1e7cbb10ef4808998dca9d8075663c7cc7fbbca6a982aaf00cb353d8e4c5971f51620c7f4a5075a1d77de0de899c2add86c062754e4a394ecd70c554b2de80c55a03ba6b40356840780f5648242e34a27182ad707a1e2f29183dd491a2e47ca98044a2a6fd181ecacf7d0dc2067060e9fdf4e2a07c139ce404e55a8d11061cb596b40d40e6fba7d4267a444cf1d9ded024c18d135b3ab26e6ac2986a9baf4a880645a35a7660dc44eb87e3e9461f106b2969446da1b868444 - -COUNT=36 -L = 1600 -KI = a3b7fa238bb66c520fb74d1b402bf20933e6a5e3 -FixedInputDataByteLen = 51 -FixedInputData = 11eca71e7a5b0ff175e033ac74986c9e1676bc1559e21958eea9b3c9604f73b6a706c0f4f632d94d3f5014691aa4b6147eade1 -KO = 0daa48ea98a50019812633657c32ec874f3e3e11984d4b604982d6ee9e66a409b8396e9e57c7dfb060c4cbcf2b3156e83a87c1be3f662810e4df95822e5b04c1cb416c3ad69dcecca2c1b3ca3265890fc506cbc5947d5ca0c03b4f73ab3baaa6ba56aebd9c9c530acffc8e1a02a3f92b0b4380a93b73cbd6b2fc05a026b5566e30af388298e572d3988928e22e6a7691b80f9b8718cfa9e12f88d5d7239846d55d55f50466f46fc735dc0cff94cf79f3e57c1dc26318adf99b72d0024a65d4aa123f809815410d40 - -COUNT=37 -L = 1600 -KI = 95677363098265199de5fcbec79c1f03a1b11b1f -FixedInputDataByteLen = 51 -FixedInputData = d855398346ae78a192bb60ec1e750fe9c6327a7168e5ff93fb291f7d4b87a9ec397a3ba2b4e5b312466e498a14d9dfb14353fb -KO = e3904e163236c932f3f97bfde5f8149fb292a4a1ab6103ad051725eabf7128879ee61d0402d33a9489c3e68c9e40c7e8a90dee94c84700c97807ff0bdea40ca68df9572339c281920b77fc62c23f4ba242632a2f57a72dd745e226bd2cde2b98e55c977bb18ea4580b3c88f098e2064e55f420f34e50df00e1d8d51fb3436eb8a23ee63a4b0cea58ac4ddf108d0b8574ad5880f2e4ef6a8d2b4985550d46d8bf4ff59015a445fecef1f451dcecab393284a814b7d52dd49f7ccb5c1c49fc031def3d1af8bf3c52d4 - -COUNT=38 -L = 1600 -KI = b5089f6c17f92503590d077afbe4e24a37427f5d -FixedInputDataByteLen = 51 -FixedInputData = e77a99a37b34aa7e61f265824c6d74926878096334bbc46828510dd1a04c820695bc3cbfd4221be30e154bf92ff1e84c18f99a -KO = 4baa49aedd2a36be090bc26c78b31086d1e5b5c3cdb29704c69cbe8abf24ba7554e01d692b14e021f92d10084f6acb633bec542987dcfcecf7c7e97075af0e8cfdf7138ccdd77bb4805d0999f01ae0f14061aa1e2e48a255f6b1f224472921e016d70b76473436db0f577164ac76d3a8a4715e535187c2797bb1dcf6ff2dce35a8829e2fb200b61b733996763d86a836a078b858b330268da239e157bb6e1b377324cbbbdacb20c6d9355a824f2e2263cf50c96c79f41bab449580012a68f9fd73b31d2bcd923ea0 - -COUNT=39 -L = 1600 -KI = 272b27e88d886337220ff840d57c9a9e687ebccd -FixedInputDataByteLen = 51 -FixedInputData = 098ef6dd7f654dc54e8ac2e47d824b3ca75af600bfc920ec2a6bda5c06fc3ae613242ecb8a3b2130a756e666c4a166d65d1d1d -KO = eb56a726aa11e9df249fa82172685385030f549e8034fedea44d3fa23e00db7ecc1da1dc5ea59f8707f97b557f602f350881682fc343197a745c528ef9c06eb3289317e5880424d35d94d126792d337e98d4fefec6f42db0156b3bdbd1940d4ed3bf59ac9980f1d594e1ebd9ba523a70229eb51dfaaa49bdee5fdce9767784460d1ea8330caf03b3eac6fcb6c10e13971cb09c51e19b90cb181fda39724a8a7b645d4c2e2035724b8495613bdde16ef1901ed3898190ebcd8d77c3f73281c9797f03b64bd9cc933d - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a5b065c41f97f79ef8d02e719834aa509b256b16 -FixedInputDataByteLen = 51 -FixedInputData = 7726cb303c11f2d233acfe064347f81d7f52838caf2cbf3e5a820c56d5793075b542aeffdda2c80c4cea7fcef023078101f395 -KO = 140bec6e4f8587e2aaf818ef595f7330926755ad9b0c6f10681609c150f8fad987f12d2539c4fbd76274cbf55e25c8ce1495d40c0a5c7ccf40481e06e3f3e6a7 - -COUNT=1 -L = 512 -KI = 5acfdfdfbc5b83f95949c1fb8c8db95b4988a3c7 -FixedInputDataByteLen = 51 -FixedInputData = 764adb6f3ceb4c27b13b122af39af8c3c02c3167df6240452f322e2f84dc033ce59b68b555ff9fc9c553e193657dbfaf446ce6 -KO = 8254ff7f7756c65a921ddef8c81fabb42100a6a2b6fb5f554b891936ebc77753dedd77de3a2758454bc952acc5010a6f14eeac39ba034919ba2b5d27fa02685a - -COUNT=2 -L = 512 -KI = 3457683eea810f84dbfb0620d11435bfb5c29c34 -FixedInputDataByteLen = 51 -FixedInputData = 99e67f02d8610553bf1ece53cd5d4b861e76b5a8fd4ee444b1d526ba7e2e712f6d77c1e27fc5aa29b7d075ac7ac3777ab04bf1 -KO = 770882bc73f11fabf6aaf9e2bbe13d0433c564a6610fbc9a0864a6002c08de16047ec55a3bdf8a218757f08f95752171ed7599f7149c9532b4c69b28fc68d958 - -COUNT=3 -L = 512 -KI = 11bf4f8736945b63f8e6312708ac4ea1f4801444 -FixedInputDataByteLen = 51 -FixedInputData = 188b9742e36788df2c23409cb09ca31b495c0e9821bd99813248022b6573c04c8826f472dc2f42152f3003635f8da4862c41f2 -KO = 9af224bdc54bab6f2b78e89bbaf50ecd808bd03842ad8d79e02e5b5f300b5507bd3a5ecf546ed89fad29753c678ed348187579e7bc72ff79976c804d7d7ed5a5 - -COUNT=4 -L = 512 -KI = 5eb241a6c33a6b65549422a95ae160c9312aba32 -FixedInputDataByteLen = 51 -FixedInputData = 2a53a306f9a85f3f4dcbe7b005c7af46d24a4d057d94253ffcb9b1ef6a469f1c1a1f194ea2eb43d841c3749ea71635c468a14c -KO = f084380fa7abff3d13c1710cddb609f41ae78e23eb423796dc8b3f85d5e8f7b73d96849ad412bd648239d16d8054fed6781a22b9c9715adc1f3f939773276be2 - -COUNT=5 -L = 512 -KI = fe572ec0f0b8268a61cbe69e41271497bb4e2b7e -FixedInputDataByteLen = 51 -FixedInputData = fd46c01e6787ee01c4bacc1087d3e24ca48ddb2b441e9153c4fb7389fd354ed970859fc7ca40708d67916ed605560d42ddd4e9 -KO = 4d44d0ced8b2a13736e0feecbaa8aba700033da2d74c8610a6b85e5554f15a35f859c7ad53dfa3321f8fcfa8771741df96d85d6c5fc3b4ce19d5dcb472b89230 - -COUNT=6 -L = 512 -KI = cacdcd562163e7d8f83e6115e12b79ff965320e4 -FixedInputDataByteLen = 51 -FixedInputData = 5d32193d66e1adb51484fc1d071a432a7b59bc171eb93f7a4ef7330da0ec219f1abb721c6018c7744c40df510babc5eae35411 -KO = 6e26f64c4a99fa9c54426add1be60cc13a192c501273b5c5a1df7f98b05ec83a7164c167b22585cfe3919579010f1302023285f93bbe4da06e4b4a10cdf09649 - -COUNT=7 -L = 512 -KI = 2eadc986566061a8ef496953ed6d8039c15a5703 -FixedInputDataByteLen = 51 -FixedInputData = 4a854a9c88f24cc366e3cbf2469414ce0098f5fcbc00ad1c6b7f23285a447e8b954fb178c586df8c2fda6627924a000cbbad9a -KO = 6c8d084bab2ffb4c562d56b65d921a7bdf7188a726ff436204b2977be872cf4061dce6791c3af02782bef3426fabb30cc640a44e684d2cc1a9a68f1791d6c6fd - -COUNT=8 -L = 512 -KI = 20c17dfc6de00905cd40ae20ce8388321e36d9e2 -FixedInputDataByteLen = 51 -FixedInputData = 6ec50900c3c63e7f3e246f3efa56655e9bde09546d045f7d7b3c95ae4459986526e2c74a02b6deca2d7ea33a876b3a5ffc3edf -KO = 422ef05d8a10e47957675329adaba3fd7b70015773bbc092192654ceade566e12540eaae816b9c847bef85f3bb6390df50aa93ffd791812a530eb47c525b4247 - -COUNT=9 -L = 512 -KI = b103f24a4cf234ea038134ad5cfa8c2627ca5586 -FixedInputDataByteLen = 51 -FixedInputData = 29332067ef63350b105e8e842213ec4a91b2ce172224d2fc8647f83ad5b21398ae71787a8044c6439b01ac05729a1aa170aa56 -KO = 200b7d0736c950711d5f37413fe191134112f6ba575a2fe37940637747b069cd7a6730c0a494afc6a76f21810244642a7d4fb49c37f100125b88bdd704927711 - -COUNT=10 -L = 2048 -KI = 88bb0606f360a5576ca2b2b0d110a7f44ad36166 -FixedInputDataByteLen = 51 -FixedInputData = 86b40a1a83b1056e15a5fbc186fefff1a67e83214ba4da818ed2a7d7ec9539f1bdc31d966a428fbfd527b205ac9700ba7a4ec5 -KO = 44725256d16ee4848c291daa6563dc58a6fa110ce561edccf87a0104d52acc2f7017849fce2f84ad4b6a8ca1aeff82a89ea4389d609f5e498837d586b3b9fd9174e2d60ed405d12118bdfd809adc33cd0950b45bacd2d20162cc6cfe0ec59898d79eefe899bb1e7d0afddab55f991cc0bfeedf1e8e9d65ed0771048a0e85ba2220e902d3a0816cc08715533a1b921d8d99c496b047952da3f8fa2dc1c083a51fc4e0052846c8a5201267eb554cc0e0a80c43902fca3fa72ca7e431134b34abf824c4706a9a0c5536bf2189c0380e08050e06a6c7b7605681c49d560e1f5a67b43a4c51fa85da61c115e1a82bc28cd551a474f8506c0e0a98d951d94f861f6a03 - -COUNT=11 -L = 2048 -KI = a7644a7f75170ef8cb548ac499f0cc7261310f70 -FixedInputDataByteLen = 51 -FixedInputData = 2a60d1259b41e06c28c010d5b75189ec74bd126d5f861beb2aa908aea6b1510ab3874b9174d76d5807f2c503f0bf87caebd8b9 -KO = 7da864f3a4a732ae7079f07ca95e617886c4f94852b54b3786f21292188dfec70fc33a0f47efd2aeef51b484c7c6f1a00753219309dc6ce964adcb1cb157c069771034f067ce8bad28e90b420fa4edd0d96e2db7430972dc9d4097667980013438f4bcec618a5f8428fd050c75df32520e6ad4b5a2d392a597bfb3b3462814ec1af9a868714af03b617462081f7981d573be888f7ffde20f5ae3baacd05415228aec535c1fc05c636b48542470d05dfafc16171cef268d5d9b64f6d29869bccbfd562eaf808567744406a849a27389606366589a726c6480330a352d35bf69fe235815728f926b74484d494506b1f131092f0b7d38a9ff46d208b0d94dcf444e - -COUNT=12 -L = 2048 -KI = 32816861d5c11c9a4dee776a0c3c9ca27e526114 -FixedInputDataByteLen = 51 -FixedInputData = acefde655b5df5cdb7f0a281d0891860a234c31f8786ffaf031a1b05252458a036369f5664a413af53156ebde3c1ebb3c10fbf -KO = e57be46a5228e8c75f791f3c594271a8bb1d540cdf74e0c80916392ecf9b9032dbfee37056be30758f23a1b5e1eba82d07c29fe0589d4e4cc79c1ba5186c90ee5b43a5990cdbf2da42d8cdb7be760396f6c9b6ac3368021ccd5ba1ff7b8f088fc35c5c3b2b2572661d1f27157c8590a0c98178262eb863b27b64b9cc56351cca60f662341f0bdc29230b6cdcbbb27ecb767dc8259c1ac3ab6bd561c45e0243b7724c3e28c32b28b6236b5fdf90d58ecf3c5c19f41f9595166a027a6ca6282305bdd6f378b8c4e19bc0b31159e425b65a431a5632f43d3782df390184265e9c5c4ecee7c3a8daa8a20b314bca66a075da2e5deb2eed8ccd3be21b13f514f5a80f - -COUNT=13 -L = 2048 -KI = e3141350d7ae1be287ff060aa18f61298f536eaf -FixedInputDataByteLen = 51 -FixedInputData = 69111dae4e790ca4fcf17a757194869c6b9c12bd3f3ffd088c91c0de271b0c1d4080cc1fbf303e7cf3a63e57f465fb3b575a06 -KO = 17babe79ab4f6b8b2ebd4e42b85b7f35ab0bd1c46f4eb74f0cabcd8fd15079afe77decaa5a92be872d5e6397b76fff04f464ebcc1826613e120b51b57382bf94dc6e56efea1e7984528417cec91d177efb2a74f9a83ccf82ca340bdfa7780cc1add91191e69d7357f5038c756582d0f96aeeb93ec1eacf0e25f236e66dd17ed5f5ccf4cc7b18040551701f447fa8bd421d375e6e00e00c6b79fffa653b5fe2aec2815f534ee187e4efdde630a077262c320c56ebe5f28fc03ebd960a83e09c3c69fd0f5aa3bdd8de45bba9d16fb53b8a8c275e59842b7f032fe21068359df92e25f43dfc213e2b11575546a114a270750a0ecd6cccb649da7631d7f010a7f073 - -COUNT=14 -L = 2048 -KI = eaee3fdfd78dcdf5f180937f775901a24073cce4 -FixedInputDataByteLen = 51 -FixedInputData = 6321e8dabd7fb8c07f608d5ce39d7d33ecc0835fc0ec4c4c9e76f6ba099db2ed9e0e39033ad47140b7b31c5e2c94c1abcdb12d -KO = 2644ccf18c8f8e8b68fb23b0eb44d5988bbd2c99a283b9d842025db241ffd57980f87aea12e12c010adfbcd3e2d99afcd1ae35c1111585a9bd4b13f61e316a38a0264050b27bb8094d00cba1c676de6a3bb3ac00123a4afdb97e9c3cb766d60df26552a4bc46d298087c67ec21334d6c51dac326bd5fa78363d7f705f0ca324aadab6565cd607e0e87d54fca5177e5caeb1195b349996838860db0c38f2d01d850fb2e3bd26ca0dadf9cc2c29e7ca9139eacdf19655959eb83904cb1a55cff0a3fa3920a5e52617d9c33f8fbe91aeb197cdc5bea922000f84844cf35afe55ae04bc6824df428dce4690eac73645ed19c51ba10eed9ef5ce51c3464a7e674d03b - -COUNT=15 -L = 2048 -KI = 4d1fbff9dcb5d4844af71f44de4b28633b384237 -FixedInputDataByteLen = 51 -FixedInputData = dcc6012b0c64699f8c6210b0b4009b184dbbc0e186ce2a43d2c40ba4348c0ed1863b8d245f3360f58f236f9cdbf8aea7ba1ab0 -KO = f9e00215c9ad1bbc4efc50cea67f95eb8ff14a0f41f6b52f04820d71b1efcbe7178c1c07b90da80c9322beeced4f5a970ad4c8a7b5773e1403a247842cb4b86df7fa6b40eb9da0469f99bf02116d2d30da3d41b18a4464f70d554e3166711481eaf0132738a3fd159dc5b0c15eb6831553848e33cc036602f9864ffa4393c096d97d855e53a233e7af15ec3366a294295eb42925983d87bda0e298b02846ae06319e367d1e4ea81b2444a256ce9489c72a9e16d2cdf13060260092f0d42ce96fbcdb2e50658d8e8ab2c991ddebdd2769d403d120b0569bdbb0c8d7eb95570e2b9b357f44dc01fdf7a962e778e98924c1fed47167031ac6b2744b45d6e555f001 - -COUNT=16 -L = 2048 -KI = 08ee9a485ce5943875655954b8b98a23c0ade314 -FixedInputDataByteLen = 51 -FixedInputData = 2657213bfb01306c1966f92602536f1c4c60a1d28f1287545f7248ce2ac6da7a10b181c019ee6b6df5f1310840eb2104b65844 -KO = e2ece4580310be7340918a31a29b813b8eaacacf124227b12f48224d6120c5e5032cff4661a1949eaefb662ae61886de605f0e6071abf5317c23e2ec729f0ac9569d116c70a78d19fa8d9a4ec6728444b740d7b3ba39251aec1cb74145ebe182f6200cdf84651fa3bf500d650ba6eb6d4783557fb936fb56c8ff67c909b9d9639c5487f31db1d3190d2d91f2728d77f7d6192d68e1e0f1fa9621f07f7376f2134d6cae0c6f521629c145c5ff3988a5d79ab13848fe8807e7e1da8ee1cb96db7c53b0985a6c9b63ba2a1c5976d184c13193a9af067f6005e2c07d4ed2e1af44167562d58fc2f69f3b183ee07e4a1463cba850e044a56c90434b9ccb3883a69775 - -COUNT=17 -L = 2048 -KI = 956fe00bf70a858f8dba53eec06c151f6dcdc12d -FixedInputDataByteLen = 51 -FixedInputData = ad5a832a9b1c2f2b45c39790b6902e3a4a79fb026c81d0b3365c4ddfcad36466e19d18f949a0b4e622a95c7cc49c17dd991403 -KO = 3bcd7cc19e7e7e943285b5eba24ffc7c84b9aa1dd3d43198c06cc0d05cc6d16bcba805e87c5c4d6a037bfd21c6db918939f7546d1f0c268609b0b3e1663faab5fdc7d06869c67f5386c3e3016d6c48c5914abceabf79198fd1417a7daa5d46b2ffc4c3b45a8dc51c98215d6893d98c4e6c042ff336c85b9f33849c79eb9f613cbbf11e87c4d5a3bd58b5cd68383865ad95dc14597cef63a94d57fe0636979b33d1a3ce09c26209a573f54d046f1df68defb87648e4ea1e9b77e2c51605bb1406a3f67f2869bdd3406fc693d67dc3317177ac13d281bb81162a1fa1257aec382751760dec9d4de573868096843a733d2a6eb88cd2d2f1e08153ee36d100d84c2e - -COUNT=18 -L = 2048 -KI = 7a5a07c13bd0d8f831269e9187de2897f89da552 -FixedInputDataByteLen = 51 -FixedInputData = 5dda03a78e9ff7be341aa9685418e7d0ae7ecec41b0ba173dcaa9b0fef48846244ec14a90950ef8ac22f741a51e22750461c9e -KO = 2ca6efc534ffd1619081efd605b88c2011bb6ba40b6e98e9f847fbcf3ac73aaaa000b40a03cf2170abf843d0f96329e1104ae4b39c9475c7a5d2d06df8cef97e179f8ae888cfb2f32dcb4035adb5881ba884e25c8544d6d855c131ca64283028a7fdbae19dcbd040b448674713dc6434fc4832d6c50390b64ecbc97604f4911f0263f60c7565494e29fbaff19f11bd2b2ee9cc1f3dbdaf1a1d8247eedaf439cc1cdba15dc4df25a66c98ee93800d6d14ba1fb7b4f528302791db373101119e2deebe46ff44aa0c22d9d09574d49fa187cd9bffc37cef7cf2a65a54b7e343486971d6c78421e836168970edac824e909ccea737badba9f89f47f734677424a093 - -COUNT=19 -L = 2048 -KI = 2b678117d9f211ceb3f5aa141e20c0d3a0102337 -FixedInputDataByteLen = 51 -FixedInputData = c3ba4694bea9bf5716bbd47ca56a32a9021728965f795fe3712e23fa0f74dd32c7f6369695f3cee293f12a7e795844e684063a -KO = b0e05505593f34ca78fa496077da849f9ee47cb7aa88246545d12127348f89dae5a3c55d2e43a7bec4408b1579d1ccc90eb24872db012f71612dffa20eaf39e396a8f922df645a01cdc415d39a2f7a88ffe5e5b83240b317166b11e03125db4ca37a6ec0a229e845570f33b05f4e44c4014ac0a5b39de5db35b629a67d02e379c002d5813d87b97a76e22a10e68a92873831d6229b9d62f1deecdf43bc25670b151132266173cad2d3dd91a08059db0f0462aa3975cc71035b376580fffdb04f4df78100fbce5aaae3f4acab1dbd822d650b6fd5ffe9564afbf8e40641dd5a576426dc9906813f8744437c2e3632f66649597d18e5adadbd8f56161f2204e075 - -COUNT=20 -L = 560 -KI = 2933b432931a1cccf9b365f8c14f04c6e0a10d75 -FixedInputDataByteLen = 51 -FixedInputData = 6592185da57c22b196ba3060f1381db89e7c51ec77ac8c3c01a122e2f4ee4ac1879a44d0966a4304408cd3faa7666814007720 -KO = 2f4013fdba0062310fa583e7327e8fde228976191f9d5441d1d6a484588fa3f77f0199901ddf336988107287555ce465a0562d478950d0b48ce27c14f1621d19035247557a12 - -COUNT=21 -L = 560 -KI = 49d51e6bd85315db1d60001d9d022394eb47ead2 -FixedInputDataByteLen = 51 -FixedInputData = 94c3f2e736f8892affe70110d012c112345e12862108a8752327e358aac7da42b73c7c2e5424a4f921f4fc496de34c10eedf5c -KO = 2d61e414c91e2d828c6e0e12c38a3d3bd523429580b3fdc075985a44f89d743cdfc732dabf5e3df490f472caefb89cc5f4c8873cfff043d308cc3de3fe42c890fe4d57885601 - -COUNT=22 -L = 560 -KI = 19786b7e2a7eb4def179dd492d46e6b3f7932bde -FixedInputDataByteLen = 51 -FixedInputData = 515a7b3751955fda36f481d7c747d7ab383d9a7f55fc6fcc2e41841021e38491e5ea05a5919b036cdb048417c32ea059b98025 -KO = 11b34cfdf69c52dd26f2da1e29da1848a204d34b8064b76d2d2e74d24723fea7e9fbe85a164b092b281a85bcb465940ee90cdbf1cbeb8dd448c533f1b630bc1b6226af53b6d3 - -COUNT=23 -L = 560 -KI = d42b3ec7bbd65153fd962640dfb0690e4044245e -FixedInputDataByteLen = 51 -FixedInputData = b5faf9596b57d8e7dff74775705e72fa6b5200be90aff8880579b87c3c2465b4ed0b6f00b4d7932b30bc7fd2355502d955472b -KO = a1463f77dd198dfc6e1ca7e05d5c2a31fc62da0ab4ef71c9bc8b24de10e52ea8788180162937e3d557bc78ae50671e13bce4c9ec3da0761d0a42c4458a91e3793509c5120795 - -COUNT=24 -L = 560 -KI = baac64565d10a24af4edbd66cde1b28d046f83e0 -FixedInputDataByteLen = 51 -FixedInputData = 2ddb3e708016e4b11577f1f681fa73a8dd6db4cbe8682aff4e0c91f08fd60f09e4880aa8b922c69117fefd66ce6d017e62a6c8 -KO = 4bf7319c1687c45f87818a37ab0f11e8b10fdce38a2ebc479e7358944572243891980cf0a3a89c5d1a1e7734a0f9c62b69d870e7388daaabbe7deb742f180ef4897a1e1492de - -COUNT=25 -L = 560 -KI = d6880d8439d8e6d8f81b8c629739af6e77bc68e2 -FixedInputDataByteLen = 51 -FixedInputData = 3cb55e27228e47cfe82b563d041e4e8b76ddebf7378be03a779ccb9767743738f1b99f84ec846eda88094f7b9b2fc01bf3f3b2 -KO = 596ad41e8dcd355daea06289de1ecf710fa6cdfe2533be41dbf8221a81f2571fd1bf310377b38ff962ba0d513820579a56d2d8017a8f5c07c0c6d9ba06c86143b8d236c4fb26 - -COUNT=26 -L = 560 -KI = e4292171387d2ed58c9f93d143155ef4acc4cce7 -FixedInputDataByteLen = 51 -FixedInputData = 322dd9c5fd0743b4ed0e2e7aae3f4c6732ac1fa63ff183b7d5146a4834861e203ff1715fdbdafe54cd71795a49d937391c8c65 -KO = ea6d5797b9a91001d3a69d8264951b3fce8b4ca62ee9cf12d66e62e10372fe15ddb7818553b8f0487c51cd8128bdbbe5ce025e28ed05237a850a6520dc3f5284b79dda4f5ea4 - -COUNT=27 -L = 560 -KI = 23231e6a921e9d00740e2d9cf4f2dec52d3a8678 -FixedInputDataByteLen = 51 -FixedInputData = 20c1f3f0088ca19443136a65ec6b6d604151dfc3132c79d363477eb2a48d025ba2a8d5c7938bae6fcd0d299ae7d32e81b812d7 -KO = 09227ebe377e25f0f035967c6f363c723bd5880f10a9ace9e76fe68bd7c5d3579b7901abfe7a23056646217f765739b03d711da5cd491dbbd09aa8f6808698f1b16d52505af3 - -COUNT=28 -L = 560 -KI = 05a601b0f4f5d397590eecf852ff574af24bb437 -FixedInputDataByteLen = 51 -FixedInputData = 7d8402c260e89ef8cc72b68f652ef270ffd284aa8a180e1c426638ee4a696511e59e9935253a99a289e68e51808c9e1e9637a3 -KO = fe4d0eee1a3121ca589ebc4bb515a0e1c76187163848ab1aae7b3edc02f98aabece087c3e61d9c2b3587ff5d447d4b9a03db9fd872e6bd18c5bb306c1ae6f6c468d8f2146ae7 - -COUNT=29 -L = 560 -KI = eef1ec6a24ed598a1501c14db23e98f22852e0ae -FixedInputDataByteLen = 51 -FixedInputData = 9287dd1bb9b39ad001cab2015b90022abe4e0d7bb7dd777ac27128bc6cd7327b54cadc78d874fd72d7259aee7295aeabede499 -KO = 7b12a83c79119cc99fb3653e1c0dd673e58e85b8316262c4160d3bceab5c312ccc9d6b9e80e37bf6f4dfe650f087522785da7157981329ee431708ac88f120f86087527ff556 - -COUNT=30 -L = 1600 -KI = b7171254b3b4608f42fa873b5b0767164beb22c6 -FixedInputDataByteLen = 51 -FixedInputData = d4dbb7e21a4eb488ccda404a915669d684aec086c5c756a83987876a479939c5a0c85c49889b70c2b18763eb31241974728aba -KO = da2aacab5a8b6f8da042d28f116c9ec5bd8a08126132c31b1992b183d93bed2571902a54f33de19083a4d13327f7e7041f0785dddf831619f77ada0d06e44ccaa114bf23adb9681d224d6654c5c5e807a65d5e7b3171878f68c443e0d1a97c12c9cf81ef0caf821031de6ce516ce58ed48c191b3829263a338c1206d7a537c0818c83064758911d0f906dc75dd7cc331e24cef1739dca96ce68b9094861c04c67925953486004be00cc448ba36b8d81974395957d8550eb951d6dc5f9ec166a8d71eeba1b88ea191 - -COUNT=31 -L = 1600 -KI = 9cd08abad2e600ba1085286f0601c17596f19b08 -FixedInputDataByteLen = 51 -FixedInputData = 1785cd84b4e9ed8ab7890c570aae212433f78cf078031c4d3d09049462cb14669f5767d15b354cc83f23b76a0b1c1d9eb233a5 -KO = c39d731a8923e04912ecbb6ca33ec99f6bcc1e7e4f05879c5bbd54485665b7f5d1ddd96801af8e5bc939f5a83b9b375462df2ba3d157b5e840644a268e6ed73eee6698c2c912297fc83ab19ae438f00214edb3c68f7dbe6e05fb2c0e4cf4843dfab0edc293b082cac5985d74f2f29808af6423506c245df8ab538a21151d1ef917c020e23fe71b5a910c2fdd71e560dc59be3e771e5df349a314f59c4335ade6bc69dad9548707a6085e80af05a47c019327c2541009665a14978ba85ae83444aee3cb613dcbe318 - -COUNT=32 -L = 1600 -KI = 6ce139a1e4067e96db9f3e4072ee56e1915c3a58 -FixedInputDataByteLen = 51 -FixedInputData = d47f6288d889a360cf79b614029001b7e14c2b0c7f91e0028af19d80533d2d21e6adc65edab5e909cf0ec3553cf8947120f490 -KO = d7945a272dc36023e6468f192c951888339e6d9beaa0bd37d38a51e42ecd7a40ebc913fbd953a867b9fc32cfc7783046c04f0ac8618fa76e7514536b95fea39087f7ebe97362f54e096160554770066aecd00e2e2bd7b17b85caa0102ed2bf168e5556f1ffa5e5c63d923fc27be68b928fe3cb8e13a46f6ae71fa9d47aaf1de4c038c49d6dd23d741b564eba94f4bd16b3298b3842af6819d3a49d6653c1728a4a8dbd0b5515dd98c9a0d08ca36c0b5a96b523d68855aaf08415320ac2778110095263b2d5749949 - -COUNT=33 -L = 1600 -KI = 30ef9f29474fe22bbdb030b82483d6e46b9194d8 -FixedInputDataByteLen = 51 -FixedInputData = 2fc2feba56e2b288fa1c7eb3351a8eeeb3e170d5a6f16869a166144a440df0f19b19b37c9798271e9c8c8bcf725a9849d48199 -KO = 7a81302a6975db34cf1c7e540c983965364d1d3e381e37435d3078c094b283e771dfc57d497e7b59fdae274f5afbf51a97c88e150708ca24ecf34eb99b98a2252f20791488d3682697db1f5c8360a6ecbe3fceeedac8655686f3f8c2bdb47b24c65f823baf6800faf571a33d896ec9a59b4c4ae3ceefda0fb1a8ff3005781deebbca57a71f7f4ac8d0f1c267fd934a4e462d01b973ff0b996b202b8521203deaa7e05a909d8c1364c2b68696070dbf1800c9fb5863d4d0e6abefb0641783562a936637d072b51f66 - -COUNT=34 -L = 1600 -KI = 9bcecb2b6db2553ebe970734bb841493f15f4e73 -FixedInputDataByteLen = 51 -FixedInputData = fcdec1546150be00fc0645204b81b2ca85c5c21dec69a5dfd6d68e3bb68f0ac6df65704f353f2c3943249264626abd7e21c4cd -KO = e2182891991c20494f2007eda28b6b50ec3f12c482408c67fdacc14e2b847bfc22595f9efc17f8a9d8dee286cfb1b69b858e989cc4e83487ebbc8992f8509d94ff38ac15d5d9e51cca969cb8310acbda43b306253b928f74407c967add7a10dc21b82cdfaa557136dc4e37826807185ea0626a447d32df298f59ffb69ff5ac3179a3d9b6f93463ad2166f3c1ff7bd2a715ed1921a13eab2d061f98cf1b978853e75cbd59ae6f62615c0191f860f3f6a091886d86c4fea9054418cef4d0d796fbf7e5f897cf2d9055 - -COUNT=35 -L = 1600 -KI = 7b4d8da5984d776580e4658a44577af8016f3ed3 -FixedInputDataByteLen = 51 -FixedInputData = b7b8ac067c606fc6769936dd597df0417efb8843105ed2c0eaa8c5db8b4da9fb1055ed699786b013e454e57110a43312b879af -KO = 7b9c4fa349652fe0feab545bef10dad79c8b10e7d184452b5030c2651e1608a9232deed28bbce675489dc967255b43f91cbf9cd8280365aa37b739f67368df9847740dcccece74b3453725c7d9a8e8508745acc469c29c4f57f44a05186c31825f43630d5325928fca549bfd07c638e6955e642a5caf40c512c6fe03dc70e96513b80a5e7755ec374ddae61657dac205a3aae8fb8bf07e8768608deeec0841cbd705f48814cc1556c1a4715e1a9d9cceea3d0e7b7cd47b3f7fb393798fe3be8e0f27207b3dd23f5c - -COUNT=36 -L = 1600 -KI = 770e20a543318a3067fdc68d0db08364ecb7e953 -FixedInputDataByteLen = 51 -FixedInputData = 93b95c536a638603cf00856f0f77df7adb06a7a8b2d92ef7b7f62e0d8895107432d515fc540852f2be822aa87fc2a7e4089337 -KO = 02ad7b93787ec0969c75d2661f4e9162d6926aa3feb39f8df69a9e9bc9413fb490d0311565d462b129435cfe3d8a58131ee4a4cfa9ee71cfc2d67f828e9933cb7d18d89253def6c61ac777d39402920316cc70a947d7f192a4fed4ee44238185649f65875ee1458d4e286db11a2c63e5fc60e6736f81c07b641a2ac25ba474f566bf432b4e483d3fc2d8c07e7df5eb054a16dd948833fd8fa222e58f4c0e1cd077ff75ec0b35e30fedb15cd894e6b24a5e4ebea2d50176d750ea85d37082d0a9f679e042474e7789 - -COUNT=37 -L = 1600 -KI = 629351c34071b65cebbb9c59031f9e963467b378 -FixedInputDataByteLen = 51 -FixedInputData = 08d922443e690e824ee07a8d97710cbc573a9a14672f10de07c2b86f14cd08b8dd4dff5aecb2b8fe1553e7baf3c78f07f7d827 -KO = 1ce398271a66878a4a3f148a03c78427a92e4981ffa796da7e4722dd1879a036a246b4c88802f597184985861ac2a7f90d4c8a9fcf20977dc9a8089cffad2ba60ecdd02428cbd52982fa6031e32078e54b8d58449d16660b430eb493230da6efb6403d400c892fc962060c47ab8206b37debfd224743c5d73f32e0d247a488eb35b0ba5e580d52aeb0e131369e763a8b4d4cd8b016dfc96d1ad72eb96ac400810e19009af32532fd3e5808a4fb91b3ff0c83b096cbe35882fc2b59cb9c319dcc0a09197f8928a44c - -COUNT=38 -L = 1600 -KI = 769b08aefab58b80d76ca8350135148c79fe60cb -FixedInputDataByteLen = 51 -FixedInputData = 546c6362f52f5a3f65ccb1a976213a72b03e233d3ab4f0c14cb274c53e31bacc5902d2ac30505d25bb59735be3f05fda4f42ad -KO = 135b2789fb8164a84b21c5ebb96bc3ea540bf084dbce7d8813fec312ba5a08507de1944aa25ba59f57d8d41da955e52ab92e4da1dfbccdaa9088b6664e9a5af21f48c7e767e454b4aa7b2b771f9815e9ab2740b887414095db11ee7ef96b3ec5af3551e9ac78c9bdaf928f4f6669d36c0acb45c4e446a340fd24103c8701d5c16f1c6c6c94f79ba79866c0fb8f59e6b59dd5d1f160a9e0ebd3d04af558659bf0fe7898023e3013e53d46c13ca23a6a4372a058b29e7e26cfd4f7a8504f670820759c2f07f7894fe2 - -COUNT=39 -L = 1600 -KI = 3c362d8820ad0894fd4e8b1536a12886014c7e34 -FixedInputDataByteLen = 51 -FixedInputData = 820e5303c6b00b8fb9a9387cb85e1784b0924c2f02c4cc97db90708d7e774d6dc48cb629728729c371c76885a940b21703f361 -KO = 90c5d9b0d067ee09835d91d7f9c7b4a982c333b9cb33630687460901ab8696a58492ad803f817f80ae0a90c288bafdf9f8ed62f2f974aabf4df9a35d4fd8d32303cff33bc4bb4b181781c450a9aac2c17ff1a6e8f5fa707a2bc22b2f61a48ae8a889642889016495c3585b1c7acd73dc681b9a08ba2e334dea9b296e7de1e694e3a50e25c9ff156e48bab376260235afe79f8672d9fd69c35a49b34f40223a89eb775e1d7364d446e3626b4c6f5f13e41b1fcd1f2c05d274e847f12c9ca6c20fed225e928a1796ff - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = efe51dfb97564be36e3958d71a265a4489632992 -FixedInputDataByteLen = 51 -FixedInputData = d7d0619275eb5e7e0ff131857b63c0c98fe9ce63218a2411941ec8343765cbc805f0d2c2f0075cc475d75b1fbeb258259762d0 -KO = de46dcf1ba16f03a78cd9db3ae44a885a802621dc3161879e9135a1c02476dd28e47e864ba295332f098963e82429fb049579c9cb1aed714f2cd629f21c3b668 - -COUNT=1 -L = 512 -KI = bc4ca4911dc09e5dad3f7b4ff12bf8c85fe2495b -FixedInputDataByteLen = 51 -FixedInputData = dab1499861b224f452f94eedb8881e64647d6aef994c572914affd6d876d38c5ff2162e941a83f4e568b7cbe451d285144d9e4 -KO = 4c639ab7f91ab861ecda6d3eb90d41ba0c9db2e739f6db9afcc9795187535ab37d0c412c80d97de2a79f7f35ea7c1e547b82f9f1889fb177588433af2c2fac71 - -COUNT=2 -L = 512 -KI = be653f06453fa835b27bc48494b48a5a45c4bbf3 -FixedInputDataByteLen = 51 -FixedInputData = 7eb1a7e6f32998eec181096b0b6b0f96fca02ce24496bfc03c1f96bb423a49946902bd700dda591655c02e5aabf711f760f84b -KO = 7da0b82ef84e50d110da604fbd872513a630911a0e9645e3f8124445cbe982a023dceaf89e04e7fcda22a32950e8c17a346f6bc3b9df6d98b585c2ec534428c5 - -COUNT=3 -L = 512 -KI = 89840b821bc7f785611ac52fcf7749b3a07e4830 -FixedInputDataByteLen = 51 -FixedInputData = 30def390d32130e806b11e828ca9e3af1e38918c1fde6b6dc48f6b814189ad15d21d98b7b9227464c67de94246247e66b38991 -KO = 9e1909d4b76cadfa47720d0febb90ce36cea6fa5a896b8c8fb86816786a9808a50747c87568e2a9b20c93d39bd6f2a5f8c6a9855b54b7efe138d1c75f9b0ef1f - -COUNT=4 -L = 512 -KI = c35c4df1c6b44b9d07438c41d5bf26f3869d9e79 -FixedInputDataByteLen = 51 -FixedInputData = c9adb7b8657ec869dfebc8584d11d0b86dba6743a465e8796699fec07b210df80e099cdd03626f83749783a031e46a61613b51 -KO = 00279deca26af2b45649161d77bdbdfd166dd0dc1a826ab385b28d1d1144d31f4b53c21d03332027495d39094a6616b21ce76750253fb55f1c711fd1c66dfd82 - -COUNT=5 -L = 512 -KI = 4820daca4f6a6866324f3311cefd80f26134c593 -FixedInputDataByteLen = 51 -FixedInputData = a17c0fe7cb109be0f84ec0e6a01963e9f93d6a3d478d90efee59eeceae39f78b0690b5f3c8453b074fb30963672abfcffd0881 -KO = 0427a2bf7b3728ab6f4815f9343d26cb30f8f63ceab5537a13e4a54121add7e07d19ae37f413d926e384772e2103d3d465cbeda248caed918d91f7a49fdbd350 - -COUNT=6 -L = 512 -KI = 5b01324742a9db48fa892e358a077fad8a368595 -FixedInputDataByteLen = 51 -FixedInputData = dbd3a6cdbe1fdd887b88a10990f4ad758dbbd06f965a547f7783fcef4be01e2cfee30f4233956602331869f03febd50817dad8 -KO = cc695e804c2890db46495908acf6773199377d0c233079b2675c995ad2bfcf871f8ff1568ef8f977ec3b9c33b8f5fcfc30eb82187a6e5f7e1d774cff74a54784 - -COUNT=7 -L = 512 -KI = 289a460cf28e2b1342dfd46425c90aefb916ef33 -FixedInputDataByteLen = 51 -FixedInputData = a9a7be0bbf5307cd4602a5d30aa0d6553054b5db7c0b20d5692dba7f06a201f988e1ab37f3ccd045df7b992c5e832671f121f6 -KO = 8ecc4105c7eca7b976b44ac7ab8ca018468faba2bdd62e788a07e607f7998f029eb08c647ff9cd77085af7ed6037c5b92281ae29284352cf97537c259f09bd63 - -COUNT=8 -L = 512 -KI = 29d15f23355f86717cbe65041f7fb088ed57d00a -FixedInputDataByteLen = 51 -FixedInputData = 95cc0fad6746557c89b48c47a4751e0fc2c4b6b20b77a2536829424b844e7abd268d32c08e458db3ffc1d4e80d730382411575 -KO = fbc00371b180982336428e016cce768bed3c0c0b2bde71c533ad61e7d64be317ad20d6388c2ff254938289f86bd1c1ed0462e4bd82ffe04f0992f58089d6d20e - -COUNT=9 -L = 512 -KI = 2cd90064d6012bf1e34314eaa976b6656bf570f1 -FixedInputDataByteLen = 51 -FixedInputData = 53519fd48ae97dfa480b62dce415f0fa387334b22d0934acdbd5b6108b48ac80c91842345114696255ff0f09861c88314072d1 -KO = b29f60b43ba583e189135b51a01db174f067aec9465b3d4eac161b2c004cf3efc4e1b486b16d52ea7678d9b45a759e8c1585f0a4f3c164629d39ddd1be99fa40 - -COUNT=10 -L = 2048 -KI = c387a22e7b51a2cdce0cf7e8e4481fa9c5a2ab09 -FixedInputDataByteLen = 51 -FixedInputData = 99d6d3001cb2d2c494299e3b7b368fded1f892c2d4e1c9c048fc74e9e1210786b0df7d002f27112f412b6fca43278e02b82a98 -KO = d72bf62645358cf7aca0bba646e302800cf5f64082fca31204497a353dd432a36797f877526ea12d63c039ac74e334d809aa1ff0594a763523aa7f0b23958598bc5547bcd0df011121138d5c09cedf5705550c09b0cbb84b26d80dca414557fa3adfb07538d87250542f6065ab8ec9a43c45cce7e4e14f79fb81ec89ba72d655cce0818b7839681e198731860cc17861675bd342beac2de2affcce03a8b7ad6042c6fbe8bf85920f2c7c0425395d1caf96ba488a5e57b2075bb6279c8b667909bf0596e3c24f5a6e1a746862666e461833625a35f99cdb90c6e050da53a7d4a666c868e530f86ec348b99086eb180716279375eda11f5fd081bee1f6f4826a70 - -COUNT=11 -L = 2048 -KI = 967a8bcce993286d7d0d1339c3fba6099e0a7692 -FixedInputDataByteLen = 51 -FixedInputData = 866779f1375ddf141a135efbe0b589da83e07e626f18a42e20ff43174a94bb37623baa031f61ba0d52cf9af41099b565c6e5d3 -KO = d1ea76e8936f83f3bc74b247b36a7ed46f0da31569335bad29244c936347a5a7703f9a3c0a5c49f28cda7156eb42f9c47df2374a5950ceb11d7edb5330b0980db8bac961db0822c2ba7ec022d4d9bea2cdfb0963f5c9a38ffd9ec97901fd967a94abc73ed101322cbecaf4edd7a7b2800fe6aee37f8dfd564da422bda6e2ed3ca2c78da97d843fabc7ac4b9a31e56a28da339c5adb35981d1a89cd916c123ebd6a9d72d328822ae6384d8f376a9accd5ed4413f52bf188d262b4c1512ba8c0e266a4db4dcb75a5bfbce0b38c0c9bbe2c482a4872ee80af699604938b125a999142e82c5450b4d4af3c0f7c33f7775dcabb8096eb094b6e30e75f10266c144753 - -COUNT=12 -L = 2048 -KI = 3038f5f9fef2d5e3eb0553fceffe161773d8e86d -FixedInputDataByteLen = 51 -FixedInputData = 34701fda1723e317648d7695af5601c67b276f4351450178aba6327f7c4ee69d2f6bd0e81bf4c9021e9dde92d637f93e26f897 -KO = 8bed65d8b3c222af58af3e25950786a3c5a36eee502794511bb179528125603e84c1fe3488649b20b23423a0c665aab006e81eec5f039f097f8553a20af5e3f70d43c427ebca8e14c6c91e11442910a4c18852834068f4f2c2952dd53c863af343cae04ef69b680449f772dbd4ed90c6feb1980f0563c8d770bf8106b223aff33ade5287a477422d0b7a870f4af3b9729b02ef9dcf08779064d38c3015c5a908e82b0d3bf7da7b483d90c0890556fc720bbb3061deb0fb5bc4d1f478aef0d3882c7b14ffce6cf30d65f4f30632c80a019611a3c521ef066dd9fa6e6b0e29c90f7395a407c2234fa4aef9c354900541e5d8f94caa5566dfee8097c40fe31b7d2a - -COUNT=13 -L = 2048 -KI = 3c83d52a6728021711047bcebe2304d5fff9b392 -FixedInputDataByteLen = 51 -FixedInputData = 525c4d36e978a081f9666dff97dbf89941a24df91ce06a8289554989ff804f38c991482c9a107fc906adc4bf19fd13d0751f34 -KO = 48b2f48585d822eab512a7982db8e9d8d994aa1b266f9ac06731260cebd9477efd87153348a16bc8df7310fd9214e04aa9aea4fc83b3b41ff8c69949c1154b4cfc6e2fa08722265284ca057d9b35108b59efbe2356b097e4ab46ef2dbd44cbd2761822f2d2ebde0cb33fc1e3baa7139af05f4fbb8faf42daac4111b312e7ee877fc5f05b01a5ba1a1e9f7dec50baadabca587fcb6fdcc3a2b8e4ad5fa180263806fbb3dd345bbaea0f4f09ea403d2789c3247d92a799a73c93251e36ebc1ce326a880272d770032e825f670bd2441bf55daec5f32e12b9ad2b6e754b9d012dda58717109856f9e626ff454daf757952950df4261cf32e6fb98916244ae960394 - -COUNT=14 -L = 2048 -KI = 2af5d33b7ccc87802cbc4eb78019e10ccb0b39e4 -FixedInputDataByteLen = 51 -FixedInputData = 7058b428effd91a0f72dc5089cbfd8d1fd2e15f1bafbb572754ef93e41146f413eeb049cfdbf67a4c78169203141f2efb66446 -KO = 60faec6fd7e5b13991affa22fc9f3033a9bb60a6ed172e108ca7e94a5b2f7ce48a940f5683e4585b57f51c635f658550b64d2871892f6771496a23bb8c887ba98db512d3633427e7effd2ef0f41ab412c244d0a37eca21c76ee1590dc255dbb930903db6a7800d089d263f9a8fe96ffccf7aafd393fc9b8414db8de1e80c6379f56d3b80854d54e6032eb9ed72054bf828575f03031943e48a947e25a22c394b2ed5f6ea4ea845a2dad9b8f574c1f25103a78cc6f5d1b6d929e61e57cee9debb52167f9392739c3bc2e6480d46267304d674e29e4f05021a2572bb6c8b816373524431a3035c0f28abb638d9b9f104a28d751e4c063f5e7b016f59bcf860b70c - -COUNT=15 -L = 2048 -KI = cd4ce07e3f576b061375d982103e6f32e4e098f4 -FixedInputDataByteLen = 51 -FixedInputData = 38095ef37e71c94f5e7cb055ca05aba38921e51524952c0199f253b0df0874e0960711b2f50c89c345af641be69109ab917e2a -KO = e2a070af571cacf6ec8b31ed7f5e6320557a69da86fec93478eee87047e0c4e70c62d249b73c201bae845f5952f6667e9a84b8db909a45a07405913b0e9fa6ca5c76b78491a49c279f59ced6c4ebcde10f00e1500a8b10a43b7f2cd5771672d15105dbec31bc85bde088780edd69616c92421b3397d4602a5b85391688f9e814e118048b044dae6c7b23ba4ed168eee391429fc26f6a55cc98e21cb5e8a8f76634badeb2a46b207e62ec1e5130657cc7d686a35f87053bcf8373c2351628f9f6c8ae94212c6859a6d3bca0edd41c2970ae787d6bfa7b5978a06d88525afa89cb550d1f79924cbe493c6e5c6b4dee57614f624e53f418458395f688cd3a19d805 - -COUNT=16 -L = 2048 -KI = b714149a2c98306f62dbdb8b8f358b82bb21b87b -FixedInputDataByteLen = 51 -FixedInputData = 89b65f2a1a6c110e7183294600e169c9e46f19703f87c33d18e59547463e76117e893d25d883cc1251e67ea065995fa75b3c05 -KO = eb7e4261c8c943d87af9508885a1a772e95ecc5134a94b4361093ddc86aab709e4862ac5bf8c2c82d7a0d5f9eec41adf2635a5a40fcd76f72d8f6afda2f3b9aa335482200fa3a686e40d54742b917f904cd2ade0cba95ce9486ac79ae9f27b735ea9c013b8b8164d8b61898b2cbdbb7c3475f669f3feaf694bc8121fc3942d583cb210b3c27493536b90cb19187087e9ea4874bf20c8a935ef81c786ab554c683ef36db361580f02c4d950116bf080d351a4c09ec92a71fd009263e07d9c29cb7639a7886585ead9dfe7feb6d7842fdad6ddb219d19912cfacf3cf84d3492b2194da397df87d2166ba947759adfdb6effa989cb6e645d7fe7a0c649586278d91 - -COUNT=17 -L = 2048 -KI = 30bc142aa0fa2aa5feab8995f799c99a103f0b4d -FixedInputDataByteLen = 51 -FixedInputData = afab1876f0b6520d3b5b57fe63938ed395fc0586608395b83f79ab19865913f7b9cf4e854c160413d9c7a5bae527aced7b117b -KO = 98bb40eb761fabf485720e9db9463e9f842e0f63b43e069e52e1d75b0398b198d633c8a1dd8f334a016980ffcc661a8697c15b644046efcf45c8af9b0d41f6d4fcca216c584dc737e3e42bb5516dd810f5f75c646d7a9a46a7539cfb2dcffaa38ca6aab83c86aeccdf9a61ad231ce78f83dd4548df3a6315906c6a6c2884f12aac78de8cc5d7e1032a88fa911e43dc321dc4ad05421c3dddf1192a64d5eab85eef5497f16c8281e44d80f73a803bf3aac9b46f25e40223cbc612b7e5bba6a7b93c7151c559a210cd6e053b69564662183124da31fc78649c7341dbd4c0a4a41ae62104c696c122fe8b98c7fef97a9bafe2349374b7c3779d79b667a3a4bdeed7 - -COUNT=18 -L = 2048 -KI = ee426425643214554146d5ec7cdaba738959b30e -FixedInputDataByteLen = 51 -FixedInputData = 679bf317cace1af795d9a9892168ceb177cd2f7e9742d0aa9a00c4eeb23599878c40b6e76971031e7e28a74f63b9e8dc986015 -KO = 406b0235d6cbb85e22eaa0bc9d5ac1d04b233645babcac9a04a994dcdcd03e4334469b23d2df55acef741f3854b505c908ece7235a7a076f90b2056c4bfa3cf2a1d909d83a7704c7998d9511edb86f614a8cc3630780ded9ecea1390afdfd7deff136042f283a9e347647295da9c29b7349a36edf4e46b832066d66861647e670fb57f3a008d2a2db4b42a84edea65fca25e567d1d3e50348da3113fc95c1ba403c78a366104e67d7fe7bf3f59b1cc7b6b3a78f159751dca12c8ed47791acf51a5ae8d8792483785f04e5171dee7b634ed0d3470c88faa577109d5341ecad118c0e3c0843fe599962724abe099c2418123fb60943b160bdbdacff64017a10320 - -COUNT=19 -L = 2048 -KI = b47c2388bbe98b448e8c2d2510b4a1294d8a3fc1 -FixedInputDataByteLen = 51 -FixedInputData = 5ed68a1fc9eb22f1e8dd1bb4d44d3f8e952f8601b2c6c18e011ceb771eb75c30708c9684d16a4202713aa3f75814bb2a94291c -KO = a7cf3c2e302d5638ce548a6afdef68f1bded74ead684fe4867acc12c3951111ec01987976be68c657cc180d32aed8fbb8113a039decff64edef958341781001d907021d5ef22117e60a9c386299fbf45e04a7a2e66430c36358daaa899cedeb59ec1785c5b89cf612c12f266c1624ec726780f11b5dc03fc575833e908c62ff85bb2a7b48f06079333677b8f60cd71f36ace9fa7d0edd6f68ddc8025eedf2279ba814785e1c4b2fee845f49018f7d616a9ceca09e1eac50c4fb161ef83f2a7ee4da018a0f50c4e7fb27521dc44f953cc60addd0edded2c53fb1fca087a8015407dd30e5e6d42b1332ede347095413c74ce9014a60653345b8ea090609ebe623a - -COUNT=20 -L = 560 -KI = cb08cdfff5b74dfeea0ea14265d0ab46020d2b6e -FixedInputDataByteLen = 51 -FixedInputData = ad440aea40d2d13ad16d4d99bac0d8a6d6cdf6286ba964cbfa539afd4373ae73ada3d2d75533fc0ec79f7d6a0e8a1757909166 -KO = 6a2b5850a898f64289fcb38cbe524006d6794b1e2aba0baad68d0897979fe384ecc3031b1c96947587bb3fe35c0bbc6b33a900b96ac3b27a3a04b3b46bf3353b92dae105aac0 - -COUNT=21 -L = 560 -KI = 901bddf78c3fa29120411b23be20684d05b270d2 -FixedInputDataByteLen = 51 -FixedInputData = dc9ed25cd8686d26c48c7e61986cb009eed0827ded7b66c0d27b13bd324e08035bc538c68e0ddf1e28300a5ecd1fc62cc67da3 -KO = 1c6735064a3a330306d38b765f3bc8959ed247ab901d34a76169e0a7c7b6e6f4d3332c80101db93639d27e863690daf1d57f01fb07162bd739e33b93b5de200a3c06a8780162 - -COUNT=22 -L = 560 -KI = 8104ed53113f273b1f1e37da9de30ba158feab21 -FixedInputDataByteLen = 51 -FixedInputData = d3f431d0ad3eb3da5615ee8dfddef1b1e426d4f537c5784d9e277d31ab497dfd4f007fafcc9dd448da2b93ef1a9f0b5aea44be -KO = 6ecc5e1e77e94860bcad560381b655a037be7f690166454e29749c899a6d55ac9d1cf297840d5ce5b196081083140c678bb7734177828d79e17136fc0f5c262b7f8dc3deb3f8 - -COUNT=23 -L = 560 -KI = 6ed7ed82e4049ebdbe1818bde7eba8aba2223e6f -FixedInputDataByteLen = 51 -FixedInputData = 00bfa50bedcf9b97a253f980d0468298ed092641d1b2beb61dff5a1e245786bcd4d749ed5a4c1b50a9f508ce910b095509b233 -KO = 4d356ff5db8393e6b324f3b5aa07086d8e86909729fa9a074725b495f1923727d37506e989c5cbb79956c6e781a0dc0f458d5d328e4cda013dd55da5ec6e8537c5fcabf04456 - -COUNT=24 -L = 560 -KI = bb37f77ace6675065a606f777df364799df9e63c -FixedInputDataByteLen = 51 -FixedInputData = 1473c189f96cfa6c20afc385b5e8c703b446e97c1f406eb7b5b6f351958afeccf65252af850ec6257b3a94a13dbe820ca5a03f -KO = 742e8f92ddf932d11fccfde10bbab392caa450c6fa8ac7eed7ce04b63e87875e86156a6c9fac7391b15fbb4d223743d0eac2aa8dd9f63a19a895f58eb674db0d624e6b94042f - -COUNT=25 -L = 560 -KI = 6fc9620b070bc59971b8e80cfefad4b6782de107 -FixedInputDataByteLen = 51 -FixedInputData = b4f9a6046e3aa2c3d2b5784bb60a2e57a5d6c36191203740e342f3db22ca19a6352837202ae1d93b919e64e52576da03b56703 -KO = 774c085df6a36cf2630a4d80286ffe3907c2eee491354083cf3503785461805f800092ab6ef38e2414ab034e7f7ca7c1359c0d4189be82d24f2853e83d01064b42bad02c036c - -COUNT=26 -L = 560 -KI = a0b20eb8e8013b087993e085e339514b8edd9c76 -FixedInputDataByteLen = 51 -FixedInputData = 64e7d17e6c132cb2255f141a184ef73e47e27b99683257bbffb38f4247eec4b08c7b9dde7e31dac308a9ec7a363c28a51678a8 -KO = c4aba02fe4577de50ccc08d792428ec38d02e2e2aa6cb6bf0b3fb09415bbe6b5a47b2f729b3355f38d76a66f2e2994e7ee73e199fc9c36473f0b3074a757ba646f40f85a90cf - -COUNT=27 -L = 560 -KI = 5da1bcb70b839e52dc83ea593eda4baf0bee13f6 -FixedInputDataByteLen = 51 -FixedInputData = 0979a3d7063c8c5fd36035c8fdf95b43c86f1649570b3fca0e5ea9bbb407308d8211915a7715ab2f86645f31cbc0b5ccf3bd4b -KO = 71417a9bf5078a19326d0b1528f8fb550d6479b8ca663d1f346284bf1d53ebbb704c0a47e7ae0969e56aa40ebae3d7ed8f35cdd378f8b049affa4914a47a2c69457877e3db46 - -COUNT=28 -L = 560 -KI = 1800a90a95023581c19598400c56a0c9bfa0b717 -FixedInputDataByteLen = 51 -FixedInputData = 8e2b8a0f419b61c2ae2f8d8e90480db94bac67efb8479c148d15577e3fec936d59dae8503c9c5a530ba25356f69ec577d57cce -KO = 0563ddcedc119b03aa0900c4b6d729a2ff25b583def44e05d6f038e0a93185a2c96eea6def9aac057fad4c226d278029d63698a17b686895fda956a5964d25431207f0c54204 - -COUNT=29 -L = 560 -KI = c0c628e21d1fba2f4f5ba934fbe60aa99fcb74b1 -FixedInputDataByteLen = 51 -FixedInputData = 0c5f6b03cd551c9af8e98b32dcdf328213ee0f9c24a0038b78f87fcff56047cf0778af17d6a57c9afc5b4c927e231ca61435a1 -KO = bf3c83bee548185cf802961261291e461524786b42acd9e3c0f99f8305ea5b13f950e195c663c99a3cf42295c58df44c90ca6945b4c6a89a2cac4107b7e96189e1bb036a1b6e - -COUNT=30 -L = 1600 -KI = f91670b1da57ab4b9d584161f71325e789d9333b -FixedInputDataByteLen = 51 -FixedInputData = 168be34d24369f363ea4fb36da10b63bc33436bd793c9e6a05f02030bf8acae62e4ab357bc18c6f11e3939ce9656ddfea50a0b -KO = 006ce7a011585af1a8001c277b2e070b62f3e6a1e072bf87bdd42b610d32f0b50759d94fdfd34931c5654a35011732975f0895a07eaf623216b92cc82e94b9c7e53b349daa8b8c733b98aae058851ce782d97eb0aab605f0df97622eddba2c21cc78da840980125985b330d55944721c29df2c74315ca15b4d02292589c3d06eec9697c5798a6d22bc6e7cc9f2959fa0ffd056cd8c79f77fc78ccc7121091f146b6d2a3c735518614a555ac751dc11b5d85a6b2c78f2a19d3fde71400b6d26271cf9c22b9a9a51d5 - -COUNT=31 -L = 1600 -KI = 4963bf7b9076c71bd269e7ae41f4f6911a17f04d -FixedInputDataByteLen = 51 -FixedInputData = 6bdb714d79bef27a94e03ea28d0a89070534a209e6c658fe7a461ef7976545a3088aefc0c32fd2d5363127e562f8240abefb73 -KO = 46cc7c90f1f0f76d28c2d7e007630fc8001ca2a2a05ee1bb3d5b7a22a5dd6b091eafc039bc80b2e9921bcf70ecd2767151d94261fc3fdd85b666168ae68c2ef6114427a676b4fb3b37c8d734121d93b3341a26da9750ec0cc07bf891a67a16a46172022fec142e8adc28c867c74e6cddd2f2fe35530c81ae2c50ccb0564f25889442b6a1d6dfa68a051421e4082ab8f627796d7513da6eff3f914982fdd21e157f964e39509dcab07aa6bf860bc69af2eb381fa4f41bd3dc9a300fe89e7801cbce2444f79dd42449 - -COUNT=32 -L = 1600 -KI = ad9d913089600922ad4f17605c533f594351fb6d -FixedInputDataByteLen = 51 -FixedInputData = c44aa79896c8d64edef00638cd81b6e0d9e4d551669c6e54cf47aa6213602976767860696fac273c05006fe83e642281352aa3 -KO = 768b60ea5c2dcbb3fc6ab45c04b111fd4ddf0a4e96ebf6df1b62b6f2ebc58fe6c258cd427e8b5cbfd9333fa4669c31b73125db89c4851c500304c59928f8366ac5c76a57c4ca6470ad01f5212bba81a3e9e864098d53cba4221eb3fc7fd992ddfadb7c50f003ccf6b07227b7e47ad0a4685b248e94dc4b58c998f857249189091d7e85a512b82253ce41470d235af8f7e71838ac8cbe2e1bff3d23f087ad2c18c2174090210f83e6612d5abe7b7fb2b0b823a8fb8ad8574110cbf0ddbf0cb4303c7bc0b9015345e1 - -COUNT=33 -L = 1600 -KI = d3e1469ab4602905036ef6bacc2ae5c9cae5d12f -FixedInputDataByteLen = 51 -FixedInputData = 66c1b5d8502aa054ab80cc25750e76d172f516ee01480cf9cf21080fc96be4063f22ae84f32c58d2d2b1011163475a4b22c157 -KO = bee4fea7390875ba06093919a9579b525c8980d4ad87425abffdef84b8eba5d790e87360ebf104fbfdb71ad3575f81e86dd72ef835a18aa59380683f5efeafe847a86f20f97c87b2291d5f585871b61b286d36e53b5f4ea5e675c2f322448abc5f2dbd5c53708a3e4a0638890ceeab77a0479be69b4565906cf44a06bacab769805e75adf645b4f9a626fb2909da5268f85a5b6a615c16dc1cce71499cbb63ee3d06cdd9ca4f9a7fd69cfc8c654a62e4ac51edcdef45dc90ed9da67cb347964ad67f19252d02b225 - -COUNT=34 -L = 1600 -KI = 8741f6832d0ada27e0379962af3386db1eb6849b -FixedInputDataByteLen = 51 -FixedInputData = 51ddd620b45b68daedd6df1e92e5ab9bc8fae92c484729d7e25dc0c056084437170aaea13fcf6777bdacd2e38411233fdc6e4f -KO = 0a264145984c51e46f01bb66cdb401a952a4d3ada0f41bb0b924236057674a3e1c7752afd8d0decd78003a5e20b627506ae824d678eb5a35a2b7d4caa263bb861aa92051e85196e0cda4faf1d0968567945915791b1ddcfc8a1538f59d657cb689ac855dd42d579df82668aee13f2541787920a58368ab317d43ca2456505646cbb4d7f194f550b04947ab084bd7200f409c81d1d543bab0877e54e0705e0dee48532d236a280eba2c04fc163c9acf6adfaf5c6f7deaf6c95aee37e099ce6f4292034f74909b1f84 - -COUNT=35 -L = 1600 -KI = b04e752ec9599a5b231005f378fd78b0a7038e40 -FixedInputDataByteLen = 51 -FixedInputData = a09f7e345b98267df2f245859b793fb691e3957a88ba5d7c381def04bcfdc4a4d317abaf63aceb34f4501d8e3964b18d97bb0a -KO = 4f78179fbeb3e01b248d70a66d74bbef76dc7d5ef47b8d55f2456679f022d549d9f7079b0a26727a2bca119e848ad898d71dd7b398a354b6fddfacd7d289a1725fc4b0e3e5717a61531190c7e979983a19f5f83a7d53fdf5feda4b0399cb578c5cd9f2cded29c57acdf679f1ef70f5be63a353fa4b592ba49ed9349f7c797bd4c1d16e38aaf465c53f9fd87979f3f19e14945a9f34ba282c5adb04f74813efe3b6f51127b454aa1eb09b3834cbabb50f28eba60dd4c10783c89daadf676e18739cf0e8213978b82a - -COUNT=36 -L = 1600 -KI = fe1dc6c25f7907e36c9769a37fed1de045d0d939 -FixedInputDataByteLen = 51 -FixedInputData = 156c32ec1f310c1320755ce3051804106643c65fb4e9fea8561deb8b916a388f8b3a3bc854031034edfb1be7510ec06845cd36 -KO = dcc855b983162c5b51cd0aad2ca4d8011b1efca2927c969095122f9e0244de46dfd62f6f9f03f496cdc656244dc5c32db81819c63081016adfa6c8a67adc6da16f46943853e098ebca0ab82aa09cfa2b9e977f8243936b6e9c4c899963b4b99517e03d901cecb8c1cb435b318678a2bc34d285fd1e17ec842629b53d8abcf41166cd9f495be91a80c939f424c57c9ef453fc2bf30b3b1c26b8584150adf85f095a07e1bf89cf12efb03472b6ccc99ab8ae7c4cea829f0b7b2dce2f89021c8fdeaadc67c5e322f1de - -COUNT=37 -L = 1600 -KI = 43ec62b7e23005ab72baa613fb18a30bb67a2e01 -FixedInputDataByteLen = 51 -FixedInputData = 331f434dbb16d350905047aad7dc144220417f0067f4d16117ba7b68eb4d06cbb746838906bdd05d0e79c9408d66caaf3979ae -KO = 554ccac23d38aa5ebe636a662e4e9ffaa0772238129febb08507dcbdb13dfb70cdf675f08eb32d4e976c5444bc081918fd1f3281621bb79a0907213ae7811e386e30f285bbc7a8c74b5afdc8364a0e77e7715c07038c0c32bff4cbe320945084b9c1bb483ab4ee5d7e285bc98bf1a0ade74930f8e1c214f0596e0e9c77d9003fd93707c505066f0964ff02b23799c917d5e7671e1245279dac6e5745fcce5d73cb0b20b0d774a1f5036c0044b304cca8bdf0a5e245ef692ee887090988f8c59e20e896308a6fa55d - -COUNT=38 -L = 1600 -KI = cf45832e2921c8dd0b4198f409b869190e3bb69e -FixedInputDataByteLen = 51 -FixedInputData = 0c0681212db9aa152977644edc77be316098dc7b98415dc2d317ffbbdcbd11e50355b8431e55321f9895efc507c4f7a14d69d4 -KO = c6cba686aaf71f85d0077f1aa70fb3e30833938eebb630154b9c674fb62c33445d975473d1e12b3dfc487410baf75cdcf369a753597cb7772b46daaafaf5378a2d4caaa918a5bdf4e1d00de193ee6b7e3d5143c8f054ed619fc27702ecbcb0b1a1b1b33901edc41e235b49aa3657762be9f26c8abfe3d4bdf46462051bc3a68b419fc278426f7c49bf47186a2e6e982bdb441df80446b2e7c3c9842eb9ca81ac0c53530fb467b959be6bb662e302872379c7b24fe06ef068a0c694c016c7df293f8f22b4469f8450 - -COUNT=39 -L = 1600 -KI = f302b032ffa563d3faec9d1260007420767f6e16 -FixedInputDataByteLen = 51 -FixedInputData = 4c5d6beaa21cda06bf90caa17cfc43d3c98e2abfc3b03cd462cd4003d10f22b67a987b50e3e295a98a4d49c89a94b5e2859595 -KO = 93fa1892f81ec0c4e2cb4c45698abe7e2f94898b3092bf2ee5b3814fc9d8f99e85eaddcad0f05fd26b827b88106644ab7c108feb7ad1051a6a616d50cf8cc1a02c5b5ad8400ab97d87c1bcbbee2777a9349677e43ec2a295c27da4562cf21ad50f1e1944dee7da552c6e3fdb50de532ad0d8e37c80c5db60131e56d5715522b2173799adc21ab4cde1f3c1197e863e9ee93f8778324564a6727baadc1ad5ac37adf091ec85d839101d4731cb07bd6d3077c9dd3bf773fd6a4ce87a9c372536541eeac25c5634fe2b - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 81175b16483b7c7bb9eb185114bd75bf845e86e5 -FixedInputDataByteLen = 51 -FixedInputData = c5aae737517b8976b001c6bc0625ec8b34b22884bfd70196cd2c2e5760e21bc15551d990125e002e1d98ccbb83e92df906d0a1 -KO = 6d3ed2aaf4c8b7a72c1820f4f3c16638007e90bddf6362a2978b268fceee857d4bb1c4ee521f0c39f8164b91d8b0a306be8e500ffc86f3c2f857e9d9a6f29d62 - -COUNT=1 -L = 512 -KI = 838b6090c712782b804ce3180913b94779dbe9bd -FixedInputDataByteLen = 51 -FixedInputData = d1f5b7b7e745d38e356f0b17b55dbc7d557285b3138c5f19a4e9646e1a06e26e9a7b110e31f493eba82e1aa7cae35637a43b93 -KO = 3e636f9d060807571ef3d4038458639657027b56170668e9f3ba1552125980f2e26900027be239a93006b6aa6f887547b32c9b3788ba4c50fd557f23105e3242 - -COUNT=2 -L = 512 -KI = 1d946022dfd879836fd901d66be4c0d815a2a155 -FixedInputDataByteLen = 51 -FixedInputData = 8e99fd16bd0ee67af5dbec3841cfd96d8cc793307f9774f75b5ffee3622168c91a90c9e94801b30200f4e4af8b7286869f7a61 -KO = ac34778b1cec9788a95847f2f2d1e35e76d92b85a6bfef58864841c8d98ee78051a063caba8abab0529e588e13bb4268f4956835ab7bedfe33c7359538898885 - -COUNT=3 -L = 512 -KI = 38f3919a003eb11c2477c8bd0d8b7cb061eb0378 -FixedInputDataByteLen = 51 -FixedInputData = 34dc738b67e7955b88617e78cd4a1b0424794d231c85a68593ec368dcbb0b2a62892eac9c2336cd9af20b7915c45761337bc77 -KO = 70dd6b7b5bda45738d0c37d8867d551ae6756bd65425fc58ecffd9b19366265e99097e202958b676fbb02218a444d025d822a17e2d6c74b121ebe65200339d78 - -COUNT=4 -L = 512 -KI = 0cc929b6499e600faeabfb2131a7f8bd4f268991 -FixedInputDataByteLen = 51 -FixedInputData = b96203f2065569a25881dcad84640c42110970e3ba7be76967200ac6e8013a718b7323938e2c285dd4bc8cf4bd4277a62d1d9c -KO = a1dcc9fb2acf315185a8c9badf84176b0abb5b2120f3400ccbc26c82c19cdaff39717e7b5de41172cf2fb39b0c1c9fb3d7cbb7c69de557cb201a2540a444521e - -COUNT=5 -L = 512 -KI = b33df94696b64cef7d35745ab550983df4d1970f -FixedInputDataByteLen = 51 -FixedInputData = 94411e081a47022da467d7248276a007fccc37242f6ee849350edb8872b06d4e8232882d28c767da014126b68e6a90619ea2f9 -KO = 6b77af0e181b9f65c6413af3cff59b4a0603e37298f8af670e1428390433a2247c166850b7c529efd59d18c0950e4fd2d21f916db576dcbe64fbdbed3eab8010 - -COUNT=6 -L = 512 -KI = 3f236bbbceee5059587c011dec769f5f61d016bd -FixedInputDataByteLen = 51 -FixedInputData = 9aad96f36dfa61b65703a244322f9841cd9837b4ba7a290c37c04504c6ec5609ad018b643257f5199627f7e2c33720ebe71ac1 -KO = 7490b52c2392c69aa216be49f0952165e8933f5be9521420310e0179efe612b782ee935a116490fd602f164a7a52131e6b896be9abf1e81e25363de52319cce1 - -COUNT=7 -L = 512 -KI = f6381524ac0830d5b342806d0fd113bf64664fdd -FixedInputDataByteLen = 51 -FixedInputData = 32ae121866e7ce8ba8cca8265bea93af60443b497b9b5591abdbf1a97ca7c57ad57535a26b8b50d1a81c2024c2d2039bc1bed9 -KO = 1c341c7fac6248c368483c2124d6e7cda411360dcb12b7d3054dc97ff4d60b4690e4adab0d9159040c2b0a051922e54fd67a12d7f64fdff4fdeb8e5fb66bbf93 - -COUNT=8 -L = 512 -KI = 9a67cdaddf9f4d18765d61f0e995302c09efda92 -FixedInputDataByteLen = 51 -FixedInputData = 3937f2f2f818c5871aa0e80191c69a677a8959187465135f5ba27198b2feecefd6a2bc465f0010624078f1bc880ecfba53442c -KO = b8a3a243531b898cfff12fb51abd7c43c8d63530f706ffa2a0dd0479134f171b006db3075da1e7cb41d393e718ce26ff7a9dbe10f06d31d124288a04ac623aa4 - -COUNT=9 -L = 512 -KI = dcc4ce0c578b80b413be2df439994486e3b7dd12 -FixedInputDataByteLen = 51 -FixedInputData = 6ab76cd6174853d217d136f78e5a3a14ab89d032410333b2d8a8c5c338b4a63583ef1039b33751170e67bdcc13b3d3cf0df70a -KO = 259b40862fd8d73e2466fe41ad43f0a58ec6770632c73787a17cb6a172ef8d2e34f9f7a34450a24372d09e677b687949e7be060f0d1425776a8ee229f13a0b64 - -COUNT=10 -L = 2048 -KI = 9570c8b969937021438d38101eebee1a5563bf3f -FixedInputDataByteLen = 51 -FixedInputData = 7ae4fab40f18058690a658e70e544a96548d9609023f2cb8311dee101bb21f57b6daed236f4ae79e66051123ac4061e300bacf -KO = ebd08294b9fe5dcd80220cade6b5dde79732524b12d9c33ea9b3b96d6f1fcbb18acec316bf0f88aebe57a161ebce30e37d771e18bc048c3ba41fa99dfb7191de3b80a1020ba6d115b7b34cc13eeee129a88623b4bd853f2e10e22c6482ec3476a36466a2db5a467b3c97c0a1236c2500d044e7005143922c8cbe6661f8567935e039290f696b854681ab82fbe269634d0d3f33fabeebe2e6bf7d16e32d1ef9a752d19810bbcd62f5f46c29de46917715ea7347539254dd5cc8ab22c8182e49f151d7858804e0b6836ee792468fc03b15eec92e155ba8c7567a1fdbbbd48ae4ba378017007f4394789fe2cddb28762c63ce18e91b29c9f1862fa3de9db849f44a - -COUNT=11 -L = 2048 -KI = f94127a9e626a07d7d8ace372f0623cb64ca8c42 -FixedInputDataByteLen = 51 -FixedInputData = 69d9c373ff2b674511580ee8b782f85dbb96c3b68280439435915a5d5989850c0e03e6bce77e2c045e930b78d5338402e3dded -KO = e31ac251da578ea5f80340b714710585f3a4f07175a77d638bf724b23d00634c0633cf7099e0b7e5df256b7f24383e22c80206f7e1bcfbc8499f3f6e4a2675ad966d74c3a10297eecf8b9763c93b2adb4b97735cedf4990dfab13f060d36810c2d53e60b9c530421a0ee1c9e846d2e483039749e44ab3882db829c206fa4a0b116c701371075a1d95ddf4cc7cb4520b517273c7de37a1d53b88076165f5b21f8d5adb5f05efceae08f6445240542bb9c85756824a8029e6ec189ddd8cfe523248bc40620dd134e2482d4c4ff50e0ac8a90c58a181f88f9fd5814802b542d6a1f20299c0174b1e9986eb65e9ed85ec2ce19b1b9739e691071a240edd660f6f635 - -COUNT=12 -L = 2048 -KI = e223f8401541ec80f833de13a4340d50a8f68061 -FixedInputDataByteLen = 51 -FixedInputData = 7ca88d1983b01c082def293fdd30b235682e3862e8bdff4bda9f8d217eb28cb9b87b49f73c6a2dbfcf2aaba6489a0ddeed5dde -KO = 23284271023cfcf61da1855ef7ec6b76927e1aa85460784ac7d569483ff79691942b066faabd3f2f89791ce46a1a87741cd34bb4a135e45adb3cc28ee197fbcd4e6a34b62415bd4970de570dbfce2196ce20cd4eddac56a21b3f712b7af9b628477cbf97a6b91798baa0bbceb839c2414af6d4ac6a76cc787814ebc247b1b15e1ee03ba37ba044f07e6a350c7e20e5971cdfd9cb832dd0c1995b87f0d28082d25c93044980cb5348000377235037a4af41e8c33ad5e060d2c913e195431225925969cd83774c1bb07018668534d96b236ce087f3ceea69b2fdbf7519f7a83e4a0b6f6d0613e907629fa2575ccc4940f561274afb883136f5cbd20d7e8fe25802 - -COUNT=13 -L = 2048 -KI = 6acb56f353595c926f6fa2e03b13cf89af2f7c8d -FixedInputDataByteLen = 51 -FixedInputData = 69fd496851f1fd2f0b83ae53b4a0bb8beca77b2c5e879c387ff52d3bb2b7b37b4b4fe2f339155cf3f319155a8f71d4f4affba2 -KO = d444e5a3fb4b1fa7aabbe0d59e8df551c68934ac2212e25384a8731dca242ccd34fc8b0c4a1cc189c626777dab3fc597837abeb10f19a5a93f6a2eb31ac4b2891b5326e13646d6f09159db92d327d7e8e9058a618584136f57f0f18986dc9c32155439e8b22c19f995fba2b3d41884eafc5906530baee214e2686b99da4603e164331d0653fae6ac1af6baf85ea3ce5f145685db6d7e86a07da02daa7a87542f0a517d87c6c4e26568d7fde17baf79754e59b923be397b451af1e846f324aef217d787ea17749d5c5ac27dbf8f7bfc6221f5616aa8b881b06c334342b054920e89e036a1c58ffa474ed7cdd15d691dcf9f42cbd019890175fe6fbcfa10fb19ac - -COUNT=14 -L = 2048 -KI = 5dfc4bf93018233fe105ad762bfeaa6a7ce913b8 -FixedInputDataByteLen = 51 -FixedInputData = b5a344b47b516c292801160404fc6e3c59f8e1e8166e097ca4d0bf931c3b76d1b13d8a931affcb0e42d7fb2cdd1edafb96cc19 -KO = a4bc02b9115ccb35542924390d461c29b6858e208b7ccaa69606540cff4995f8c9d8f9aec9e01fa1cf1db9316a5dfcf262f2aec213adee2b6de87a92135bbe1634e8e2d2d483ade413c969f5c95e39e2f75e829465bcbfa17af6e307484f3ee957d5e6a39a3c3d3d4fae9402a9fe014a6c7ab3a99a908343bc866be0a5ab40aa0ed473d37063bc75798bc324b67a55cfb9c40561f3c3996913f22cd1df1c6360e64ed40bfdb073dbfc006b21457da86e597b2f0f5f764e87f38d3d7963cc817acee0b8c963554ccad51d92993b58e5ed6e182036ea25fb268d9cda4d5ec3ca13bea08a1a377ac0edcac512b1e911dc98f5f2104e2b22bc6f13339614a5ce8220 - -COUNT=15 -L = 2048 -KI = c6de93a5cd40a65e12e2c12f62605d3ee962e79e -FixedInputDataByteLen = 51 -FixedInputData = a5ea1efd82781a262603ed7c9d686a75895931347ca503a9b6f4978e9754cc21ab6f52e59994d9498336cffb666608870098f9 -KO = 9108c4b73d2064e89215c768c58b1f99c223d5dc27e7604ffcec97ab73cf0d0eafacc386d46ab0e278ad8dafa8e1982224811c1f97bc7e6f715f2e62dca5693d166e32967bde890551c3d26648f5a7f818d3492707ff2fd9c04f056a8dae80e7a351015adb749793a6d9824d322d82d71d2e06200a0ae94db1e56883ed5f2b7ee2a6fbbd8dbb2236f032c17635995187e0e35229be7d39f0411adce9838431375a12c01d2afd6ae13012d9ea37ca2c6acf43199e14ab980511f57da07dae4b39ae464e93f24c06d8911358d6193afe94ccb5ace3a87fbf87fecdf4a818dc970f3892ae65c9551f5c813f173079996d79ee54044ec85e0b78486552a5daba30b3 - -COUNT=16 -L = 2048 -KI = 2eb2f46320b2727001f5de465ebd382127573bcc -FixedInputDataByteLen = 51 -FixedInputData = 9c532a52d36e704de753ea02f6118ec08ca12df8cedc5b9d4208d1740d239640fe30d4f5a165d7d6a7875a4da405d24b7c08c9 -KO = 078ff5db088c867821145d67be79ad3966804130dddc2f20d2e1228df6a5d4d58d50b8dafc47a4710fd41b97ede349889568ed071e01ce4db8d774f98a98ac4b09f0296de3368c48e269e8805ded02f48040a78c59be8dbe9118dd5a033f08fd9b57115f07b061d27aa7cf04e037deedee9409228038eb951718baa776e6a2e5d251a7802bb093e628a7880c25531754360256cff9462af1c6c92eab56d5452dabff568758497e4c230421124167475f68c5e6047fd4390fdd770a1fcc614ed3b059ca4335054766b790bc345a4fea432743a1e25e47fe2805c7afdbac374b7b9306eda9c3700b454f811dbbd7fcd560678dbe64582ee5eb507acfb452d25a95 - -COUNT=17 -L = 2048 -KI = ba103e27578ed6cc23d9c7a28b243f982ce62b07 -FixedInputDataByteLen = 51 -FixedInputData = 338adc54b27620e5c2791ea371a51a2246b21666b81fa2367e6f561c3d08addbf897fe781e6b643d81cee599c4e969b11e9ec0 -KO = fc0e1917a7657f7cc20c607c12a16a1f216f40e9ffb1877ec09a907eb829e91e396b4e4ae098da2fab8803c2996e6a0bd840991e254a41d96901b1cf920e985cf88123db57729a1ecaa8c09a5d1fdc9e12e347323edee220bacaced6b72cfe721209e74eb86d37d2f4d72aa8c36203df5c079b4446096363aa7202c646533f9c052988b942185888253340eb62171ea7c6ccb1bb72ced6f4cb8e7d04a562c870f1560b9f81b2058836eaaa2baacd7a718a0c5c2d83eef2c8d2fe53f7f10ff4df725d4bc8401e6b848604ac34cc94d605e36c3b4ddebeb1dca8398ea3ab31ed0b892fb52c4f8ba895a726d3a94418ecac58470fd95f56f94282d3776b33ab8ac0 - -COUNT=18 -L = 2048 -KI = 5cde7936b659a4781ab4618de40d892a81d72386 -FixedInputDataByteLen = 51 -FixedInputData = bc9a50af9563cf3978a774ba6ec03187e17b3f6a4460e7d94124053e8a80b08c3ac8659b5e8e3c867be89102c02a827ef570c8 -KO = 5673e04b3543dcf6acbdfc18f55e19adb88296effbdb96b79919e20397106e5529a67eb500935acc3f74750684df9ac3079792a377e01594892bbe6201eec58eaeb2df8e13ccbea8ed8138603bbf822df62f6d2c31043ea4d6f57d621661c624fad7de0b322f4b035966c3138f51b8e435ee134ab3ac82b1ae43b6d92fdcebd1da7dcb8f4e6b7cb5411931182853919b46472a0117ae525163c5d31845d9bc5eb19002bb4115f976d9a4596991230fc0ec80226d2ed2f5dea8ad7586d4b70dd9e826a736a4163ad320998d3c75cacb4fa454076f9786d0d0e91072c671a79220a6cc394c1f48a88e1f8c3af6082e135135bd109472166e1f36f6d89bb3c56248 - -COUNT=19 -L = 2048 -KI = 3b45218b5d01c89dabc134f14f7dc95ccd8aab63 -FixedInputDataByteLen = 51 -FixedInputData = 38728cb32fd633531d9cd79cc5198826aa1a9d10ba0f95b652f170373ba738905c1a30ae212aa52f47b6f8166c78a2a0ab0852 -KO = 9d4b78deb27efb3155148db7d16187aa6d55c49403e3864d865b36655c4a1fbc21ec1effd5f01a28623d325cd7a2ec6c6b98c8ded72f1bdbe51daac53e7fa791a1627e9cf7f375e0042b660abb25cae9aada715d25ed2a42014fdb4f241c94fae2f0b237fa90f678cdbbd31229e33b076caaacad9544260d905a77fcf5e94791e29f93c9892084daebcf4695de5ac0f0107cb0353814889a39cb913e4b8b6f7e5fa6b46b0ffb913dc422c7cba669202e90d27ce8d9a51e99c1872cc4944a66e86296613c26b32602a048c154675b5663cf15179166991ba9bb059f3d80d1203ef1e5e8b84e94bd4fd5a64ba12e28c77c8062cde45a51d9b0edb99faa81799e3f - -COUNT=20 -L = 560 -KI = 4fcce08fd2cd718e1fd2c0ae3b96eaa74fc7c14a -FixedInputDataByteLen = 51 -FixedInputData = 72b5be0f87944efa35148ddde36a4df4255e3768cd57f3d7953122330f6c45ac97e8a8b6c382cab3b10a1922e48e594082795d -KO = 21e0912f74d0641fe90c4e27147f5441353ac9ddad5bdb519febc0961e77b93aa6ee7cf3a8756bd8a89a464088dbd34b88a32ee706c806b7512fcb74e41e094e1f457806b5f0 - -COUNT=21 -L = 560 -KI = 676f6393a58b5bcda8ca8a87c58a2082180186c4 -FixedInputDataByteLen = 51 -FixedInputData = 615cfc9c93dac9d3e22a297ecce6230fd7a726a2c1ba1b50269f587e1d6abdb78706049edff93ad764114a56a184f041c27c47 -KO = 5ce1bf747ffc9e855a1f3a309d24b73bd9dd0bbd78d5a12ac95c7ee2cd2753decf0f5d1b90cead2ab4ce2b863042dba6be06da685fe2daf3725f0ee1794d0e9b3f0b3ed747c4 - -COUNT=22 -L = 560 -KI = ebc374d8fb497a3c69be92820c50ae0681a66956 -FixedInputDataByteLen = 51 -FixedInputData = dda3e37bb600876738634416d46d9fef907bf4d055e1632034ca7ec1fba8012019cfabefa09ae58aee0d413cc014fd7634feaf -KO = 675292b4ad4b543f40402af81534dd5e3f13759717822091fe5dadae3c77d401b541d85a8cbfbac0afa03a45972d0d8cb91e977b3ac6de133749c6258ce6bbae892fcceceff6 - -COUNT=23 -L = 560 -KI = 868a33f29879217762b59b1421e5f9f7975b748c -FixedInputDataByteLen = 51 -FixedInputData = 3fc40eede567316425e5051b950a0e1e35c7fa651097f8eb0081d1e1a1808692b2cf0dbdb0be54a0cf3238713a55a07a7e45e5 -KO = aa23208ae908b953e693938097152a9ffb3d70ad260ce4019a72e2ebab1001eaf242872b66079f2a7712862a6069ebcea81baef3410f8d620ac3771237882f4e3e6c007bc169 - -COUNT=24 -L = 560 -KI = 69623d96ea41a982847c32d7b67f0772856baef4 -FixedInputDataByteLen = 51 -FixedInputData = b771940f76208d4d39fec4750f0eaf76542373176d5ed1ea52860c5f78b4ed2c4cb208505239d3fbca9647afe48bb87a638528 -KO = 4e5c1ad4c3846d630d10730c91e56e548c504507a06508b3111655e8189aa9902af65d5d001b9c4d8a046d8bcaa5bbd1caabcd90a7ad38e00f5e01cf506b8c21ee8ad8a41eec - -COUNT=25 -L = 560 -KI = 9908f635c1bd42d10960baa5fa946da6d261ff8e -FixedInputDataByteLen = 51 -FixedInputData = eeeca470b08de7241570a91f91cb01a6780e87b5b9e70a21c1a06b43cf0173a42ea128f299447747362bfaead471def5fa0323 -KO = fd44f168eb255a7490ce3ed439e7c0aaaa7a31f541c5ae563d9a9966bfeb7641db8b957260a1a08c63619fbac724f3b82d433c70d6faf54f29e1a5262ea96367b192490bbb77 - -COUNT=26 -L = 560 -KI = b2a821d5bb28a1794fc5375f1e0d45e8991fea69 -FixedInputDataByteLen = 51 -FixedInputData = 9a15ca755916f6f92b99631b85381dd91549adcee53c1d5b2baf23c92476d905988698e1dd2f43d4268c8a65042ee6f80340ed -KO = d049b2f143fc105c6872e2be204b6fd8b712c1290c7b2cb63b49ac782687e2e28c7bbc04c4a7cb5d50e00a59d1a936aab7dd89afa884c64337605716dcbb5cd5d1e12591f2fe - -COUNT=27 -L = 560 -KI = b745c10fe3a18b529de907c55b33ea3f3cae055e -FixedInputDataByteLen = 51 -FixedInputData = f1c373d2f635c3258494bdce130f3239ef27fd1b9f6c3204e2c43d135ff133e0ad968916f1a63913c1c8f1258c678e98d5c396 -KO = cabf8a7f0d758dc874e4b24a6ad9b7a471ab4523e734810efeadb440f878711d8824593863c14726e15c9b21301320b779529bbd63f705c467c17ec98368af3bedd4d72ab4f1 - -COUNT=28 -L = 560 -KI = 9a661af5d245fe364e92c72250905692baa48537 -FixedInputDataByteLen = 51 -FixedInputData = 5cb10b7d15f5dea38823118b6a071fd4c7f0fd1b789704c8f57da5f251e0253c4a04d815ab0b53656cf685864a5c236f763c37 -KO = 1a10dd8f1e6e752edab8964784e7bc07baa35b6a3548cea0af4bad3a8af4a43492748045a85f07704f9deb4401a704ddf94c8a9745a18e7525a2133b2df5ec335fb56bd26dee - -COUNT=29 -L = 560 -KI = fd0ef2a40863007aa9966416f9af3781ed379ac1 -FixedInputDataByteLen = 51 -FixedInputData = 2528a009bde48ff08bc40a3a20853953c945fa2d1d39c70da135d79f49e7f33a88cf124c5b74cce07e98836d7b886e09c5680a -KO = 7d809ae0eebc960675514882159fbbbd62ed62dd009a18fddedeed9636c607aee70248699a312d42e6ee51f4e18d8348124bee3950b8239cf93afa2d3cdad38d90640ca8fb9a - -COUNT=30 -L = 1600 -KI = 7489d0461ead34803f2358c3165ee68ea9a0f1ed -FixedInputDataByteLen = 51 -FixedInputData = 1c2b94d2d0da3aa3c655a0f528b1dd5472cc55fd4bb087ed9202260adcbab0a74b35ed82991a58798288aa0564fff676e5ff42 -KO = 04a7fcf1301b967c98e45dd46d783cb64cb430d5d099e179996a8d6f09ce61b34e96d5f789cde25911b5a886c19207c49e5df192390a0efec200071f69763ab1ec7ba51b2fb4b94fc937bb4f55b52b6e543f566db966faf99b837c8000be86f14d69883847dcb770a1bcad06e7791339a502829f969f895c7493a772644b386d12275293ea6768eca0e617af58f64dc66966d52fd92298396b6f7dcfb3f77672c70f6c241efc7edb739593eeaf9e035b64f0617bed793cd84b3444bc2716166f1d7af03ad98e4423 - -COUNT=31 -L = 1600 -KI = c0e5d52871814dca7e2ca24df9dc693e661c3d68 -FixedInputDataByteLen = 51 -FixedInputData = 896eca710e2ff3167ec17ad6fd7e265f7d5de460765aceb751f339afbd81fa58082cdc86669642bd5a75cf8cd95b94cd891ab1 -KO = 7303b0deadfdbff986f19148ab41fcf1049b79bb875b3dea6120db9f0c6be897eaf97df880d4291a8c84bece24248088406febe6d6f7a8f60e3d5a1f120a119a3cfa550de516607d5c07877a056eff348f5627bc3c61ebbdb95cebbacac69b9af00d9a6e69d2e2950d9ba4041d28cd9bc31a72966c197193588af8ed7e5ad5b2508e45236be176327525b7e76d7fa2f79aea2c488c4dcb5473c479c15acb620f8113debea30d8e3b4e4211214ab38fbe8599d0b7d8b89ab0e3f962e008088ee22316f47fa5a2043a - -COUNT=32 -L = 1600 -KI = 3c0ccbe8c0ad8438597c5dd7447a39ab3fd52701 -FixedInputDataByteLen = 51 -FixedInputData = fd2f91369295987204aa49af440de68bf543e1d9b2477b7510e85f112d07712386c1070a1833ee8c4ce1fbe3926669ac25f864 -KO = 9b7ebbf3e5cb0a2c120104bb48d8264772b56f8a3c7dae846f21b278ffd100f247026ba810488e88f524e5b7350d07cf6857738c91fe5ce3a2fec42c2eb6729dfb6ae5a037eb9699034f742370582fcc277f361bc350b58678a8067d162e165b91b06846fedda2c9ea74f49e5cd4905238869d94990fd86716ffa7a8e3e7d491e5c980c7816ac694537a169bc5e37136e3e6d157ffce71c4b1dd3953ffca34b533e874ee0f0e3e80734630d6c3cb6db1b4879489ec09379c1006ca4d000cee7dd88b744b191643ac - -COUNT=33 -L = 1600 -KI = e7373991e58b04cfcc43b96e61a96c70671f16ee -FixedInputDataByteLen = 51 -FixedInputData = 02ed71240ed2fb42fc0f9f61c18a173f8c3e211848f578608a81f745df540c9bb8b532005865cc97ddfde77fcbf87724eb5903 -KO = 9593ec234af2fafb79aeca1da625b32b703aa9abe0698172a96ea0efa65eba4d16f9fa38e6607aca433720d0aa8d729136e2c7bf6386ee7b8a89f331fb00e86c913a36f691a1b7f2520486d5ea480bdfc74663dcbaa529e97ed262650fade7662448dc3a944699bbf950d35d0d6d631da3ed6a999ec1691a714a30e21c4d4ebe153bc43622437f10861a73b429dd453655d7ac1444da5fd94ce2a02b0029ec34167d5d7dab48b695e1b8b4a0357c574e638476475b2fb8bd20729d6b1b921710b15a309f54cc0edd - -COUNT=34 -L = 1600 -KI = 626cb6b4c537fa32cc214a4a07faad3b4dbdb97e -FixedInputDataByteLen = 51 -FixedInputData = 548c883fa97a78e268d9eb6e218abfdf01664697055bda158a89033d0b4a91e1aee9262bb66fd18c333fbad00f8f7dbeae5623 -KO = d165ed500791a5853c27f6646f56775004833adcc47c4fce2303866a9ac09265bd1a2ff6abc0c4bdbd01a0e12d6d67e3aa033af64e92473fbd015033c62f7defb06fb13aa810e49171b25ce3a9201a9ee5bd9f738b35d005176511286c0b2159c7e1fd2521d7a73aa8ece66b32e2e5dcb05b0a851a833564aed3f87bc651ffb86f6ac63a24b6cc1ce439966f8f48ac3bd02999e075ce061bea5cbb607b410ba59ab7cf5427ba7dd523a62612d0eb2bbd54a3c95098bd5c1a5411f45e221fb0326e6387b9322deeb9 - -COUNT=35 -L = 1600 -KI = 72ae08f78ad1727032dfe9b7519ceb3f5adef38e -FixedInputDataByteLen = 51 -FixedInputData = ca7d0088f571df742bf1a25925cbb3fcf9769c01f5d2534c165336f5956b81ce139b05a9c0d62b894601c9fed23b26e9e4bee4 -KO = abc8c6ab48276b804264e5c60db5bcb3e39fde8c80bb35c04167ea350e91bada211e988b496801496bfe84d3d2751184087b41a59ab4d18e93fd59063c8cd9b0174ee505f105acc4edec7bfc8023137612531fb847ef240ce3193cff16b9f68783d813328b5124762d3e6b48735c4c141eff0fa8e9e45f7dcc8e134328f67ca65e556590749fbc71eaeb40d76c0ab2e3e65dc3ee62d3e372c085923bc7de8426835310fbae1f46e19013a9ebfc21326b17398470df606ebfb23ba909e81df203e7035f860be4b522 - -COUNT=36 -L = 1600 -KI = c6159bf40e8617447220f6b2f5caffe3785fcdaa -FixedInputDataByteLen = 51 -FixedInputData = 4dcda3e4cf377618730240f62a3f799f2a9632831e2a79c80671e7f5503ee001997e7f062d901afe2604acdbd2749bd7b80e8a -KO = ae4a68578eb0439af78672f69251770ecd0107f5a22eea2eea107cdc5a611e64eb76f36f05510ef8c803ad96288db614f6999c1f0d6247d623930a011dfbf431310850970f9d39f8b831fbbe765b30dc4f45e82874ae9668111f9267e9a2d3b10479aa53483982de79daf02e86105d122a64de04123c291a3b2a8aeffd4f6c532a3e2d92e8a09b99be7a6019eb2fe482e4f64e1f265fda9ba0a12b8df796b9eb0659452c03346840f0845f0881b448427d87a269fecc3d8507edb799c2f8aa196150c0eb92042caf - -COUNT=37 -L = 1600 -KI = 030a04f222f4325e64bc996f739f51fbdbd513a3 -FixedInputDataByteLen = 51 -FixedInputData = b179a0a79fee346d39cb6ac053ac074310b3ff4021cdc22d9ba8bc9d4e51d9f04ef9d2ca46d39e1027cb55170b772149fcbdcd -KO = 37c8db41f659891ff664accbd30d688063f20162d6c85af1f4e080757e606c20b5eb0252badd35227a685210d3e3e6017ab0e7ba4e52a4a8efd50649d652526afb84f7e080cdd987bda5607f0f840aa78383ef394be150ba04bc347199312cbade923f30a425d02529d0352dd453e4cd94825cdb2640b8eeb6a91a29149713460eb0d08c42ff9f31528ea0ac88caa28de631ab97d903ef7b1bbfeeb9807b47a2912f491d8f273f1ea40cb742e4bbc52f8450a82856a13271305ffdeb2abd121d6bd3d08a850c0574 - -COUNT=38 -L = 1600 -KI = 6e5d6b17eec5869632ec608b9f3dbd7752834b10 -FixedInputDataByteLen = 51 -FixedInputData = d38ac1b93a246381789caba85b77fb0dfbfec38175e62bdd5a731ed834c4ccb7f3fcba17eab99460ef2f65d1dc58e0d99e7e6c -KO = 65b37b4cbb2fc36566aa6103a425cdc1fdb774c64f06846c72199b6baa993fdf69116f08a78a6f97164d3f7a3c3ab48aae7b07c50c25afb49efe21b0422ce17c5e2c4738f94d2d56defdc08a9a15eddbfe08c2a10c28bee6f7b43783ee596283938282fe93a14e3dddec66a0b1a3fb4ad61509247e04354aa13d65111a18fed8df7edb9118568ea8ab29abb4be26950af7888352331af5c9ea1a2598b2b52cfb9a52ffcad3a79c687799c57da152b7eb061e69030c0c3ed57a3a9f0ce80909e81b57802446cc0c1f - -COUNT=39 -L = 1600 -KI = c897d79978f4f76bdf739a2f6622dd0c7711edb5 -FixedInputDataByteLen = 51 -FixedInputData = 57381982d339dedec6bc4210ca502dc6fa005ce52ba5dd7099eb70e1f3d64784427a3d2034b241dfe8fbc11b9f725ce12d89ff -KO = 1c514aa5542d36836b82998ccea6b2288df6dca729fca5051b49cb9f47999662e79504a8c705e20b7b63ee7a691a78d42e1e0004fee15be5e11b1dfe9f99873088cc35ee961a64a35ca177cf18fd1536b87fdf711c0c074e37550986c53dd92d2f40ca3fe70fb30444f4ab14b0fb833a5c7d3a77ade7112c1afadd99c118ed1d661d0e474a9fca6035d0983b8280a92b56b868846895faf0685df7864fdd82d40399183f51b8078dfdc0245ef270549cde46a69bb5d1ed0ecdfbb8a36cb813cd7856f5ad69cc5755 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 63159d58632d4d3799a3be791a5c90868997ac45 -FixedInputDataByteLen = 51 -FixedInputData = eb914c3e5dc32901be9562144101cb36fb15148f066096f9a101875c81164d77bb1189e4db81317e79805de12b97e8a04f13d8 -KO = 483f927ae78c33b063794beec4217187d014b589d81108b400fcc1747e9cc30beb1f0d30686cbdd06e7877bf65dcbf69f827adc7a214dd038dc5df47ae213667 - -COUNT=1 -L = 512 -KI = 02eeb56cf88c2c2c0409b0071c8795fc156a0c58 -FixedInputDataByteLen = 51 -FixedInputData = bb2bdf3f46776fcee678ccc43a8749b4924a98f8e84fe5bf2d5313ce66ff1353332a16a45435fc93bd4662e2c752025d802cbc -KO = e29dfb0abce9142206c30dfa26d1c4604a6d7f7b7664f43569ca412432d3133f037c068a0f289b9f32b15b00671b590ced56831d5176acd5f36f551ed85f8432 - -COUNT=2 -L = 512 -KI = 0620167e7cb8ffc82f9c91974ea6db22d9dbea57 -FixedInputDataByteLen = 51 -FixedInputData = 23d635c765b8a0e37abc3071dfcec3ce55157274e3945fc84ce1a142ee2e4ccc559844cc3f167f84d74df4653d6c05482a6e2c -KO = 98a9ca7d36e9d368fd83d013451eac7ea65bbb18c984d24ee1b4e69b45c5c3b338c75e8c9683b0a02f85463fb20b3602bbdea7ca75882ba437663644484fcecc - -COUNT=3 -L = 512 -KI = 70e9dc3d8b773bba709ee2811872582ead1f40d3 -FixedInputDataByteLen = 51 -FixedInputData = 06afa063857e6b7e306224db1e8e62d8fa93c6b727d024313a4d855d0c7af211f3d15ee6ffe6010717ba24f694d4955357ef1d -KO = ceb8bcaef1ad868b944de7e65801f5fbe73a5e8179c15ae2808f773df722babaf3103d9defdfff743a8493c2b57578bfc005f715b07a43492216a9f60b95dd16 - -COUNT=4 -L = 512 -KI = 1919c1984083a28765d45240d2ac2f062d572f36 -FixedInputDataByteLen = 51 -FixedInputData = 86bd018f9ece3a3719f1f937197ff59833209940464fc26b0c914be146ca12c26c2b5656f5813233ea87b34b78424a96eeba88 -KO = 02d78af74537708b04952e6d15122cf9a0f2572e4dcb50e3e007d6503a184c76ea29e9f8985cab5b6d5294490bd344773efd666cea63a04b07345a5f59549c87 - -COUNT=5 -L = 512 -KI = 79df1dfc7cf10d06cb29ec5ea5f1a6be1138e494 -FixedInputDataByteLen = 51 -FixedInputData = ff9ff738af1a03b7aeef500ab4c1d58074e8e55a113543866ab3db8746f9fbfa78ac3b9eec02322bb560947c7cf0054360911d -KO = 05be041f18073f66bf32c74013d18d5d5611f6cb6fa0b610344b9e3f760fa4f1fcd39d64c7ec37d4759efe89ee8ee6b2a50ef57ead71e5569cd56f9f61e6459d - -COUNT=6 -L = 512 -KI = c7dc67eee09e05fb338a235d89c186e57fcc8b40 -FixedInputDataByteLen = 51 -FixedInputData = 36c8f6175818b248e236ebfd5c77b7e7e869f1705d77619e7ddce66ec9b8343c27ce5428ff69bf72de6fa511e99e57c92cc414 -KO = 4d440fb8b099235877dba1f343c61999c927f7ac3890f1c490d7a0f292cd9018cbe5e3ef1263c9ee1fe8fb7ac00751ddded85aa4038d3ffbf023fe73aaeed05c - -COUNT=7 -L = 512 -KI = 3e00ca6ec8597af85c0c99fcd4aa4cd76125d0e3 -FixedInputDataByteLen = 51 -FixedInputData = daa82de07baa171a81dbb9ddf92bd28e2aef15e77362ff8daf40fbf5085956c50505513a05b68543096f5ac14354a77cfdb682 -KO = 6580d2dc8104c4a92af3e9680fb5c0a830915daa7539210e5e86926c0f9ee0c26985eeef11322a2c820236dae27d0bdfe6ce7d0d37eb90461e896e5e77563a3c - -COUNT=8 -L = 512 -KI = 365bdfff57cce154d096e722376a1216bc14a374 -FixedInputDataByteLen = 51 -FixedInputData = cca554d556b1a279310355ff0256da522425696142e705ddbe8794cb5234bac716aea4733fd17f9d4bb07035a0b5750e619eb2 -KO = 2153d5495f0831e6932b1ea69a6ce52d0ca81b158c697efb3ec864c5f68c167e0b126b2c64277e57a395bfcfcf236dfc12a79f647b0316b49421967535160980 - -COUNT=9 -L = 512 -KI = 90eb832b1d2faf5e1a09890e6ad6ce45b24ce35d -FixedInputDataByteLen = 51 -FixedInputData = a86d58b4671786b7f074cca195ec7d26f7afc0195cb913826ce757259ea7af74597626469461d1375bdd6afc4fe08a872af343 -KO = b05fbd5a84d030703d75026657a472a92c8b8685dee63a56a0653d860f68c36c2b6b74985a6dccd649c8f5fdcaf452e7f79ed679792636139b2dfe083a5dd7ae - -COUNT=10 -L = 2048 -KI = 971de76eafb4d1edea281d5492c47d54ba0fce22 -FixedInputDataByteLen = 51 -FixedInputData = b94b4221826c358bf478164cae66bad9878dd5535e0345c6dfd0ca0cf552dbea37ac7772ac3702ac2b9be8596ebb4df5c47b4f -KO = d3c68c020b0a8e8188ca218fd61e733b02337ea4be2727266febe82eb3de4f45159ac68cf138465ac23607100b4cce538402b84e13aafd919cdfcfaf30325b337a778df75bbd4d082ebac591bb70b31403badb8d65c6fa90ba3699665f916870dd2fdd6b9f18cd7c211ca068a0c01c44498ffc01e189aaf1d016609df1676b2c7dfbd88008d85cfe684c7b38cf453397c57a52cfcc6903dcabfa9ca0fabccf23946a93381d2e22ec1c41fa26cabd48cdd4cac0b651eacbd69b1ba7450c51334f87d43d8aa7ad594c50d03e2547022587f8c70c9da815431786b6f612b21240508a4595685fb8cd0a4a808fa2eb50e764c3ce77f9d53bff5666c964a46a35cb1e - -COUNT=11 -L = 2048 -KI = dd6401e6f6ff4dad913e06cf227e53e0361dda6f -FixedInputDataByteLen = 51 -FixedInputData = 748d95db659a249a2741473f96956b225603efa2898542d926ac1f8af9fa6fa49402784f614f7cd0c882a33bf47fa83242c4d8 -KO = 88482a1ddea6f7a5fbc27f10c546d42eb0b48df4d8d7c60c3ed3fcc5d505c41ae8e4ce7dd1717b3f6d532ed78784bea2b2ef26a70e202dd319a5f4612a1b5aa36ef56728720f1ec08e43fb2ca48c3616bc44a685c302836abcc5066b146b6bb3b1f47d31f13b05187cf5b3c00204f69326adcf64b3d3c4350fec49fa3c626b1bdfb53abfff7bd184b847ae25ca017706ea4412cd092cf288ac5494cf88515287ad33dc3175cb6766619cae949d72675d0979c93673619336d0dccb5d7dd958d4fc3dc17a22cc4294cace30cb49834db19545f3e6fc8cb852f8f367d9544c55400cda8bb1d66e8fbd4e717f19325ce5306609e7b38efc4c99b46db740529bdb08 - -COUNT=12 -L = 2048 -KI = 09f454e28c905181f686c7e0afb528722ef79753 -FixedInputDataByteLen = 51 -FixedInputData = 37beae878944e10f433198a61f25fb8a7d63c03195dcc7ccad1d6430b3b4d9fdb5fcf6eb07a951c4a2901195be747dc173c45f -KO = d292f01d02539948c343f27057df23b1d979262a49da041d978ed10aa04a56672d669394c9f2f2b2da3ff7abbfaa74744626c713eba6849c657fc93700576dd5e73c4eef040adb9c0391fc7ddfbb122eafaa6fe6752b1d8bfa96fc52df9226e241233ab2b2a7952dd9e95c9f7fdd153739acf4689577113678bf4ea88eb36b116aefcda838883d9fb009128ede7f93847b2b13f7004d2e802b38b0956a310b702ca38e8d21b34935fdfd28300deedb4b905cfaa8e4da01676ad34680dd5437b23b333294d69b168d45f6506f564d26e7d71830464ea196864ee45d12376d9e87f15f44472edf19e7225fc26dc45ffb95a7a3e933ecd05c9269df90b1cf16ea15 - -COUNT=13 -L = 2048 -KI = ed797df369c0655d70322b519d021bc8165ccad3 -FixedInputDataByteLen = 51 -FixedInputData = 3375da7f47da829e590d01e55c81dc0a7db87779f914a397734dd2356c72b913969a874847bda27d0b33b4a71dbb735a2f828a -KO = 0968b384f269261d637d2a1136a4d50b81e3f293485f88ffba4850767e5abb839cde3a9f6b79628760085dbcbe986b33b4f9eabcb6507e0ee58101e5feaf59f9414c561047b5f63a494bbcfbd391c74142dd08c3967580f1995a6f930dbc8747b71f4e7d008c3d3e6340c95def7a558a711cf3de4cab8d855af99ea0c85e1fde763c2f0953a22e21c105575cc3fcfd1891faf15cfe02cb63ff79ff9146e612c69d5f3445442743d293b357252ce7cae5f94d9b43a9898296a665d13f65e4a0a1fa2172669b9e3667485e20f5db39f3c62efe29a49798e5168451ea0dc746b5f110acb4e5ea36359cf32833d3099c2efb219729970144167a33d0da9ad6e9e2bf - -COUNT=14 -L = 2048 -KI = a91c13349d75002f149cd29828143e73b0ace618 -FixedInputDataByteLen = 51 -FixedInputData = 2c8998946b8366a295722311d400114c51cffdf05157df7cf8ad30f4cb14782f8adea5bc766f3303f62c58a3fec171369c0325 -KO = 1fc15454ab871e652e2a403f765ef36045d44ceb37241cb92695c09de1a0bed7e8fe541ca52ed27710c77a06fe333fced2cf88b1f4111d3cc4e29b1f5689df279525a27520a843ae46294ea50d0d32cbfd820d58ddc8bb967b2448d2113a1d40bba72318b59ed05779748a8a11b773c1188344efa2b9a75e74f53948c3720393a3f2158908141b732e18fcb76674e21f3fc1e71be10f51226f4bcab99cd4b68ebef266aad8f1bc992647f63a2083aad70f537416dda985d42707f55b1fe195d0fdabffc093da84ce62402cde8e884982d2978614b8ec6e36c036b1d449cdc2628623b2a336de2e4f571aecca52cf4b0cf90ae0408528c653d0c42c2aa7f25bdf - -COUNT=15 -L = 2048 -KI = 076be4ee8da9444bf641536cbb00582739e9fe7e -FixedInputDataByteLen = 51 -FixedInputData = 0ae950ea67362d924e88914073ba7e41374fc1ef78a2c932125394af7bed227e3b6c11b3bea48f91c1fef892f491ed33ba8180 -KO = 502a6b09b85d3de44b5f427e252ece2e115c5817778e22851765f48e25402de59912cc5aa8a75a43eeb16f644b87dd4867b9a458bfb2d3f0150d70358237024c7a9e1ba8bcfbade80e9c8d4dcee91b0b33573f8534a3eaa4c4666b0eddee373005d2a0ef1835593ccc66f89ee8eef9edd9ed49f6e5eaf442c70d53a81bdbf50d3f3fdb979620962968befc88697586e8e5ec0f85a0da9a48e896827bfbbc8044b50438bc728fa2fcfc016907d76ae903168fe748ce68c8e8eca7611d671ff08dfaa430f5af2a29625a75c48ab8497e84eaaef635944971a88aad875046baff56bfd2942910aa340c410330e126c8ccc998c79cd1038f017157a5ad2b48b6dae4 - -COUNT=16 -L = 2048 -KI = 65dac9c3bf06f7a0be6d76440a756978f9ecabe3 -FixedInputDataByteLen = 51 -FixedInputData = 04b770a4dfe56ea4ab1afb527fc615de1177060e739dc3bb929900383d3a06fea78f6a01bf384d7877956e7babd6aa112542d6 -KO = 1f350113321b91af49e99e979043c28ed067da322a47f6d3e12b07a8c4d99eef357c8b0a07f63f59f7f3abeda80aaff2d375774dc5af4093f7af411bff2dd883127b9f67819fb263c7cb6a76cedc51d5e500649cbd2455b9f03643d9619a80b8d4c6eda93ab28fe36587fcb1893169005e13dbd38693af75c80ece6376a3a9c5634ffe16d4f9992c6af85cdfe19f837021742e05235d36c6d5108542eeafb0059112fdf70de9cd2b33be644d3373d4dd64e1cf0ba06ea9f1b3ddd61230edc87ee90d1427c2e650058c843724d1fd4265c1b263ebe6eda597c62ec5f927fb428df226b49c29d2d3ab66916bc14db5b3dfd24d7a1c1fe6311313dfcc7461c2b620 - -COUNT=17 -L = 2048 -KI = 79576681347f4bbf439b70b27f1589bf93dd3c8e -FixedInputDataByteLen = 51 -FixedInputData = 636ed538002969d67bcd933fdc6546f4795349f5049b5bfbe1c433b412c73cef18c5e667ee311a862b531c9b5e1e1436e72c71 -KO = 3e938d863a31816afcb89da165cbf04f0670962815834e97efd003a67184ca49dfe88c27422dcc835fdf054bc8605745d0afe4bc90029e2b95908e1a2c9846cf3024d30798ce32688f0499402bc5af65008f0ef124434f6c4c204bc8a78bb4ddcd707a8719372954d7ebbcb534a583601c4801f474239bae3581d877760d77ca23a3e07013cfa10fc321102b94358f9d6528bec4c5ad3703ab94e58ef6b1210cb6932c51d7ac9105f1d57c6f18af83091c8d8b7b9ecfce94af245891eea51a0454d983db8c030f3151151043b32b6b245526115c2ce8ca036704428354d15c4e752bcfccf83642627e3ebeb13a5f53f7f8f69ad8134068c8e3cbd060fffa5400 - -COUNT=18 -L = 2048 -KI = 98eaaa8ae00d282a03a05cff0c667b8c0842e8f8 -FixedInputDataByteLen = 51 -FixedInputData = 02aed9d111783c79d367252c305057e49bc9bce7365071e4a068a7c83299771a80252779f64b64a4ad497cc25072a333358f09 -KO = 7279a17aeb7adcf3f5c01bad10d6ab357261de32078281677f2024f2de04f8fe76076d47bc78b8a187258ee50184f2ac6582d8882c4efc9b44164cd8658daaa42329901753e791e1ce3dddad1a8d727cec9590a8c827eb0deb0cda8692349dfa0f389134f8a02b35369b53873df2bbae6d8664dce756439848849a05c2e5a3cf0242c46000bef0db4ef2ea819fa25f8787d36e51b41f590a8fe506b1d0eeb36879735ceea5923073f59adddffba971996bf26881c5912cd64d5e5abb0742fc152bb70d4841f9ba65b036d95715982d26482bfd4d07ef8bf6ee8d0e1295d2ad07676fa44a42d132c789e5ed8b8e87bc9c80fa7f1fe601cd8e6b0ff9c3e6ca5e6e - -COUNT=19 -L = 2048 -KI = 6c338285442353b61d75f5501b8dc32bc044d1e6 -FixedInputDataByteLen = 51 -FixedInputData = ee4210a8900d8ec411afa1d09e396cc083f42723a1d6f60d38378bce7a3bcf4fd6d56b3ed5943b01e1b024b26699265948e109 -KO = 0aa6cf1836f485b8738f5553103c2647e31049bfe1e12d4d9d3de2a380b323bedb6783ca7797f85c7092e8fe7d08178822cdc96bea114498f5b88872b57d304227ac72feb7401c630b555bdca76c5f085b1e7cf7a17942ff92e03cdd0633d129f7c912b621328785428c36140b79ca9b8f562edefff06a265d2029f84be18fb9e1228ced02d67a032e38bbfa796e382c23054dfcbcbef1dc9576190af1fdda3ba0c1f61dbee996624e728197c4fc2a0cf8591bbc0990199e488c4333f306c5c43afab1a9f586805eaa40c36737bced449bfc21c67f9fc11b6584a9a0cb14c13a642ce4a7e411da7435cc1614819bddca092d8334d96f6c63048a0efba0c6ebdc - -COUNT=20 -L = 560 -KI = 42b3f67401e10bb8909cb706e10e1c648d6e4837 -FixedInputDataByteLen = 51 -FixedInputData = a891544a0797a9f5603f2ee46efe582216caa6a943295a5c416d5cae574a54127f5e1c36f9b2880515513f031af9f3219f9c0b -KO = aa25cf8bad82e9307d7d462da1cdae625cac5ddaa5d70ae6a35e2b14c5d2f4689fd109f4128dc8fe08c26caf6983adcdb7d336cb92579aabf970a8115c3dbb40cbbc79c8e92b - -COUNT=21 -L = 560 -KI = a80b1c13095e9bb6ae361a3cd4e6fb3267f04534 -FixedInputDataByteLen = 51 -FixedInputData = d2b90e0cf6a84b70f85365591e4b122bdecf53683ece3aada786f0dcd41c0481ad269537cdb3e6618f22fa379a79c365998859 -KO = 1792bbb3abbe0c4e90a05522af389fc792a08b66343c15a3f99d4c1c1825596597b49abb2fae9cab79834ade1422ad2c718a3cd662dead3a9b0b0fb89938bcbe55faa272c0f3 - -COUNT=22 -L = 560 -KI = 3a4ef2e157f4d1117b03c19ff9f89bd3325c9bb4 -FixedInputDataByteLen = 51 -FixedInputData = d80e63aab299c04e9acca5a356be3c20851385cc249aa3fd4487111045fd80b5f1ddf6d9e773c081bf44ce7c949424727b1d23 -KO = c5054d2c5541c460840195e513fcbcaa365eb63c0edf5b407d3d5e49c517c4df9167e8c43359c36205029ca3c3609681964143b3ad18bda87a13e31563b148edeed74fc86ae4 - -COUNT=23 -L = 560 -KI = 7999641959abe8fe2ebe7fcda4da14dfc197bae9 -FixedInputDataByteLen = 51 -FixedInputData = bd4ec687199ce9a0aa7e9fb34c7a2a5524feb8111644d2dd7d09d1076e9f545f4dcc4964630a134bd234eccbfc0d41b7fec5fe -KO = 25e0b4ed84e34a7c363b3033f9419f3eec41672380d2eaed6bee233ecc7bffd6858e708dfeac937fe7ba8f7deb272c7e0b20367c67401e186b5d3d08a357d7f5cfe46b0451a1 - -COUNT=24 -L = 560 -KI = f95660100c5c2e0113cd3fcf7ba70b7c966e089f -FixedInputDataByteLen = 51 -FixedInputData = 7a81082c04cb2343e73b3a86dc0ab84f1539e34e42f4f51f777ba287b8fb55959045bddf703b3f55a2887d185d93b7294c6dbf -KO = 2b33f3578f47f8d5d9baeb8db6c6c61323d9313d3726c7cead550fe5842721668d92ef003012db0d0274fb395d4b8b34a12e5749376f5f4061478e1d1cbe565fb5a78483da05 - -COUNT=25 -L = 560 -KI = 80e808c600fba471c239ca292942ee36bbf80e81 -FixedInputDataByteLen = 51 -FixedInputData = 5f8acef76e5fb81a00ce24342acd8a2b0fe62dfbe7d512a0cb1b769182c21e056e77173ab15eab275918420ac950ce68e01c23 -KO = 603af4db137846cb23ebf08f91e93958071fed0eba8de9f26a3d2e06530b9fb993f45b78c6c0e42c7635fcf24aa91836ae682fd52bbbce00fbd10d50ce1fe9b3db22602fe885 - -COUNT=26 -L = 560 -KI = 48ef91748082b47e9ad80e5eb6b929a40b4be07b -FixedInputDataByteLen = 51 -FixedInputData = f47ebb92f9c0d9517dfe2ceb7fc55d957a84f5a6d3c7b84e1e0896c5e5729b92887a289428c67179271e11d1c4d4254693d31f -KO = 935e225edf5c261d239b3788a33fce7d45f8683b1df6da4635636d352ec67e1543890bb389275f7da70b3c5dbc37329b0af37088e51a40c07d66b62e489d3abfedc0c8be33ac - -COUNT=27 -L = 560 -KI = 0b992843655e96351601622e7c8f0a6bfec21414 -FixedInputDataByteLen = 51 -FixedInputData = 4580b218dcd04f2c5bbb7c60119a54ca911ef54ded7a6438e5663f8ed76ee63223236500a80b7cca443f0462f51a6d9a471261 -KO = 7834c47372a15106e624ef3b68c9800b98ccc810414ab25879fe3eae6760c4a533bd8a1fb6d81450318d061cffd148c985361ad76569e289be9ad9571f2bde77ff7c6a2aa6ad - -COUNT=28 -L = 560 -KI = 1ce0cc702caf00326eb7d2212f59e867278cd8bc -FixedInputDataByteLen = 51 -FixedInputData = 5166acf851d8221ad1e32666668c25bcebe7987d88f863f1236c639002c0e8d7c8b6b01934b8036fd7822a5dbcd92ad3fd2aec -KO = d8836036a4f3fee6a3b771831e5d7cec39600381c3107a0d3637473d91aa96b590f5fffed6931431745d8b553d662b01882cbeccc9e75ba332e863520a4c711ab4560f07f8f8 - -COUNT=29 -L = 560 -KI = d1e304a796027e7460ebe01cbeef9de651b0d553 -FixedInputDataByteLen = 51 -FixedInputData = fea11345c63c637c1d09a0e61883bf00026e90db7ddc125a090645c325bf362998f1b9df29c60944717e88503f44316a52c597 -KO = 742af0b42958fb309d2e813ac2d327c3bff577071e3caf73bf21de9396b074a6e47151cda80d357fc5046da0b526f9aa141d122d7e81f34301f5bec2b3ef9695719247fe76e0 - -COUNT=30 -L = 1600 -KI = a1453eaf0374a20b896755dcb8df7e84d61350ba -FixedInputDataByteLen = 51 -FixedInputData = c5937ba31cb8a746602f36e46545f3a836875a4d894e6d35d18fc102daabf540936f683d1f8a8b0acb24b418032f7419a2f2df -KO = 2e225da2254a932bd884097dcd4c9d9d39412f6538532c8b39f244d44c9e44cbd8b1083e09b25805ba1d8aaaa5480c777b6917e091f4837a0edc12ca8b7fdd010b4bcc77eca935a1289fe55e9741afb333e7b38b193b268b8f9249242ef7adfdf3fbdfc2dd17ec1ccf98f4c000cb23e841aa5ad0aa587c121547eff4a3d6069bf9025455394a8de55cc2ca766a6a7c6a0db1d09ac4512bae60164ec1fb904ce2087ba571343165e9595140769c472719802cde16a43666103f3690d452c156faa84eb99751c42a39 - -COUNT=31 -L = 1600 -KI = 3528d7f4f337ab69a452248195541e462779af98 -FixedInputDataByteLen = 51 -FixedInputData = f256437a578061c90c8d28cecd80e3fba009fde27bf44725e78e7e01b744d047e8db1c36d4dc149e26605f546cced3042a1470 -KO = aa80901d1a56aa958165d883e906302ac75d853de672da315d89d68fea91aca473138cb32d0f03866af5632febaa33ce6c6e5a6ba2eb2aeac46f151405a0647cd886f69db0bcb581c4f51f955cba2e8f67a3d2d59ff89c310dc90514380d2ace103564fc6158562e69432d3a2c252e1f830d3bfc727373f1b46688e24ef827c3ca12a6d95cb6d10e3b10f79cc10ac83b3cfaa8b9cfa97a24eebd050fc0dd99e848e5f395445bc5ad0fe58b8bea62fba9d05b3219bb4ceab2dffdf78804f32a60093f654ba75cd156 - -COUNT=32 -L = 1600 -KI = 52a8bfc8b568d4b516ba10126062f28e0f256a57 -FixedInputDataByteLen = 51 -FixedInputData = b0b600d1e1235408246e1ef9333a1d4b2ae5ac25fdbf9a0c706dfc30e055a937f4a313c76e1e3c1c1d4824719251b4a493ceab -KO = 0424433ebbd842e8e4f21615494629a19820e8b5f83d8662e9297eb50c50df803f334c1209493d3439abb00d515bc39a69db339352bc485198214d1e2f72e32a430693f0c74fab4425524083b514ddd0f89d0cd7997ef0711025e0375ef56ad5f7d0d11d16b9f5e673fff6702b9d5bbe404ac8409ee27a64110ec3ade853cc8edfd4b6daba1b376e231e80b8e9a932f1e87474784d45ecf0e4a27e5d5458b0a1d6e45e1c6425e793397a2b55d93bb9da63a4db44eee30ef23c51251a428f3c635d6298310d7ef2af - -COUNT=33 -L = 1600 -KI = 43efd0d42458a1a320ae4db7df51a8a7fafde3a7 -FixedInputDataByteLen = 51 -FixedInputData = d1ead524162b51c266ab8a62538b17bd2a02d030f4e8b1faef20a762e18a3e62dcbdbd183c2ac2e00260cec27292cd2a68f357 -KO = 92966612faa41220292d8727497d94d9eba7898987214a2b5ec818275f5f5f207634feca3966f24dbb46938db816ae6499382cb1af8318a26c084adf45c7dcc821408d8cc85374e611d27a1d742ffa4b87f17450cf8b6b8511f3fbcafef6357263ffb8ddeeefc41fe61266b951ae2d766b97fc9c88cb02f847cdd9b3eda35f41d5015b9eb1c9a55378e6db6921c5c6489d437c475f9a06d920cb3dfbd381b8357cedac992d7bdf74f7e1ccc99ce11c3bdd0cf29057675e7f9af7c7f7d753c09de92af5a5b4bf8c0d - -COUNT=34 -L = 1600 -KI = 423e9be9d6105b50905faba554d5e1fcea7060da -FixedInputDataByteLen = 51 -FixedInputData = bb1566f26969ec1760e3b865ea5b52cadc2959582b8c9d67ce2a2dbbbfb8612b5d16208708088c6b01390a21254cb099261104 -KO = 3f534f2db30411945f0b854fbf6b5b3bdd860945eab615d105a29229da15abf4df7f7b365dc6c907446d0f839adebe548a20a7782f57b91ad36083e2a07072cef0542e4f55b5f9b10c432ab15cacf6812cc77e9dfcb12776de148a9b43c396629dd0b8f7ef350507298448da7086475e580c54fd374f0b15a4eeb5a004e037227722d169c310d7a3f1fc64503eb069f3c9a3aae95ccafb2ab9bbe508ef9a1f4fefada2909de5d453c6552e98e09b6d8ad0bd46ef959569e3db8506030cf80e85fa0e35905fd8a960 - -COUNT=35 -L = 1600 -KI = d18344baa65b25aed518d8d737820ea48d31e4be -FixedInputDataByteLen = 51 -FixedInputData = ab8d956ab114e8e0b8afb401874dabfee54b0e92987cc9dbe9eb7d15fbf315fa80c21a61f83564d430b670f7d407aa3b220ebf -KO = 0df9d59967d0a020a03fd39dcc068ff83baa093b33afb3261ed97f4869d28a965bcd0d65f8617659c0ad5e392f9758a602048cfa17b275a14cfeee2fb27a4bfa61947feb88c2ad8e654f54bd26ea631d032dac47af14f70af57c63e764c491694112a148cc1ba51dfa69e7fb5f6958406f0ac55fe22db8af962095c60397d1db117174c04ba93b944aa27a77d25bd93930f09d53e951a6b0c988f82e3d6f8b903c978c1b15c731c8c0fd2c7a18671728e685447ba299946f00f5dcd9b7b8521baace35ca7708061f - -COUNT=36 -L = 1600 -KI = f2834165f3d4e6bbfec7d67149653be23ccb1ff8 -FixedInputDataByteLen = 51 -FixedInputData = c480b6db7e6cfef773ff34be74d02a8f12464ff3075aa8248c7db5fda452d8fb338cb15b180429c8c71cab853651b2a805a5ba -KO = c40189d4ad79edc3a85072e9c238b02eff87613e8ab56c13713d5069193e99158f4242f51bba32324a775c205cbb86b47970c87162183858162bc1ad3fdfec7e9b004650ae4474475a641dbbc58fd7b0e1dbe8d175a0cf5ca876c64d106dd367c85915fb333465ffb25e4e4e0ef801f13f216311f3faad61ff74e8bd11b39e53de126d3d6d025b2a759441c06868e2df0f5cc98b07e84f3da055ee03aa9d9fdfde0d020a43bdc5b2096bcb4063622e149f1aeeaa58274bb0ba404eadaafbda294475433717921e53 - -COUNT=37 -L = 1600 -KI = 89acc9bbcf1bdf9b380fe46390431c657324542f -FixedInputDataByteLen = 51 -FixedInputData = b9a2047939040d968b46db0957cf2c3bc83dcbc15da5098d1d264768489e7856ef2d850e7a370224b19b5327988f1e9c2ce835 -KO = b9df71c7256c6ba4a21001534e9f9e723ccabd2dfca14dc68dcf40e03b6813fe4b3d65b36f44fda2acb8eb685999df4c6c18c9b359329ed70e6b89a5b861097893879c30e4d710192e684aa255243d7305b7eb193742b5c00e807343e36cb1e0a37115f94fe2d48258f80137003f179dddf9bec18b412cd8e51ef0434be577d17f07103cc870dbfc6e127b14e033b5409551c754b9f9757796f66aba4d77ed31cbf24a5ff998d65a89eeaf53772a290e02206b0224d6ea8893286b3ca9a2df46b765b04e15f27ac9 - -COUNT=38 -L = 1600 -KI = b9a7589759a0ae7d337ceb72a15890c3f8fd98e8 -FixedInputDataByteLen = 51 -FixedInputData = d246640678c4454e3b86be50927ee50100d5c6f34224dc99fd673daf304e773b87363ca69427a647f308df284e662cf21de201 -KO = f229920ed5433e0e025f06948ce408f396866f89398fa920cff277f1721fe85a8a6be0bc52dbc1ed3c3c14c3b7665e732f3f191e2a7c037f2241e3d3912bc8f2417450b4f59f1a37a3548ffa6e9557a6efcd743dbab32e63ec196da46016558bd5fafe06f3fe11eef1c446bbe3065d6b863a1ecbaf57b352281463e68b827532fcdc7bab35bc2c2747409863fb66a285ff5998547368e992e22dd6712c8ac3a4f018c14ce457dd970da18601f421303bf7606f287d3aa7b829dcd86e6672b3c36793f335cc756726 - -COUNT=39 -L = 1600 -KI = 8c4130a8cf8034d17d0cd408e799699fd3fbdfbb -FixedInputDataByteLen = 51 -FixedInputData = 3b53921b375d6e827ecd70cf75876ca45a6d245b3800253fa6cde3eaf32d64cf6f650ce2afefab2c16e0579a6fee8802a5f236 -KO = 88bd6f734c79dd206fbb2160c5107fac7b5278d13a24d35503770a19067b87e2b70e7d6c197351ffbe367b4a9a290f0b6fcaf5f66b84994fe757c82ce8f2c9184042b5c3c84521682671856e7e57209fbf1b63b5c716420d641fe8311cc9073706810b22c367c545d68637dee9c173e2555d63cb50d25451a1f9136d40d088e80f29a8abd16ee596c8e5ba1c4d49e3f0fa5de95c8946d3b88d62e1a339808d3771d04a3eb8e3865be9fbe6c6c2ab2383e0a8cb3137f8fe7a81624f4aada65cc3c889e976d321f432 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5e67a223b4af1f38d88005eac36830f850e86e82 -FixedInputDataByteLen = 51 -FixedInputData = 050278fce7df397ab1bc9e9db0667637f22e47014913e8cec3907c2b01a0a22247a23cff9f068a7ae285ebc5d3a6882081ad34 -KO = bd7b4318ca062b4110a7a011f7c47c736089db635197f64246c8117b14d9cbd5944bd95d881c050ef5960bce47be50d7ee295fb6f0c358049e887e2bed21a865 - -COUNT=1 -L = 512 -KI = 947197879d9e604665ff4cbcd2934e55147ec635 -FixedInputDataByteLen = 51 -FixedInputData = 80a7dc439dae0851abc9c7e8b6cde2c7e20386449fcd8a26daa0610ab2c9326d0da3bef60b8e730b5f8df90a548b05e7ef7db2 -KO = 1cc28311a7e5633ccde9e3db163b17f7c7ebe86f4351a5b99369223dcf8e8f17b4831dcefc45ad4bef07ab63fa07d71b813a51ceaff044ae46c8d821ed7dab4e - -COUNT=2 -L = 512 -KI = bc4c90ab84df4de1fb7834a8f8c33346ca1e5463 -FixedInputDataByteLen = 51 -FixedInputData = 3c8efe4b3e1eb8e02e7acdd704dd3336d350152b5838e540df346b3c0f942099bbec913abe9cc21c17f2c238d9695af7584542 -KO = b1e7d12fb21f136b283ab279f2eab9d201af616108569055ea6f10324572cbdf1e28f899815fa5f7c88d2193fabc91f3431633e4ae4d3f9edd8c6f563f67c54e - -COUNT=3 -L = 512 -KI = 4781bde67a7dbf09198616865e19e8919ee214df -FixedInputDataByteLen = 51 -FixedInputData = 78ca54d52a756c08f370ed75a06045870c01318987bdaebbb04bfdaef33d5aeb48cb496d659a6e2840103ab6e53157c3806641 -KO = c3b8fa66eb524d80d148c905d8bef1878d2ebbc5acfd59ad89d8cf6d1db9f711c7fc9da065e4ec8163eea40956c54835ba51ad7614380937898d41d9cd1adf48 - -COUNT=4 -L = 512 -KI = d22910fb49a007b74900a6f8095a30f455c98154 -FixedInputDataByteLen = 51 -FixedInputData = 67daa2f4748e9f00260e1da5714f9b0d31743c646d2548a53da282048b3e8d5615a4a34ea61da44c8477c43cbe21cbfa3f6e5d -KO = 02b46160ffd848a386d6d4fa2fb7d5a669981f9ef3dfdde5bf66dc41bd5aa2f68d78d1e071c97ef8668412c2961e1a1b63dd94044f08c0518685e4d5f71d979f - -COUNT=5 -L = 512 -KI = 1ce1f641db81c153cb9cf2ef7aca9686c085f499 -FixedInputDataByteLen = 51 -FixedInputData = efa00ba0e57bad2efd8ec904f46ff60a1c502b4d9ab75d75ed29f4be9d5a601ddd7740ffdcd19984ede2b03115a903516c1504 -KO = 5f39013402a260673aecb599194afaf93198608a6756be303d7de5a900265d818dd1ca5b729024738cf1ab5fc85c065fbfa9ac4828cb348bb4b4892c378696ad - -COUNT=6 -L = 512 -KI = d3aa6b401b1de07ace4a0cbf8cb36630948f3e0f -FixedInputDataByteLen = 51 -FixedInputData = c7bd2121a0804820e765d90d96c6ded29b5037710d7b8afbb637e3cf35591bb1fbb826dfddc44f331dcabb255898415c4be885 -KO = 7551471734a3ae470cc4538c501fb055d2b4c405865ae64fa417f5a04cd0fddcd86f1f86da81980db1249a089d84cb7b0658797242612b8b54f365812d30e19d - -COUNT=7 -L = 512 -KI = 479cf7660f5df14ef08823d6598217198bf3abe2 -FixedInputDataByteLen = 51 -FixedInputData = 0ab95b115cacb2f93c074efa51a3a015802f9bca9ab6043bf60fd48556292de6cba35ab926c4452512aabe302bb0c20a6d18c5 -KO = f7496df9e6df85bc653162e3dc87946ad0dc1650f0ffeb9287bbad50fa0d4846f74a20aca3f48090cf0bfef71641bdb646979600b7bf67b20279f4b1b24c0d0c - -COUNT=8 -L = 512 -KI = acbbcfb4b84afd3e4a91da221e4f4fce496c72dd -FixedInputDataByteLen = 51 -FixedInputData = 3273d241c185900b04c3026dcad02a2d0a3584ca273eea20074f64d828fddf5cba349b5ff40d08f4ddc7dfa46a86a36680c140 -KO = 0ccc63c23ec5cda0aab2ee9b6b8078bba83d31792528855a6b849d3f8786e92178470e0e4ff8e8bce2206da76492df053d32ac581db5d91358c1418765fb87dc - -COUNT=9 -L = 512 -KI = b800ef22c26ed9962290de1307743ce3e0cb34c7 -FixedInputDataByteLen = 51 -FixedInputData = fae1d73d33a56a7c70b73a0751524db75e2454d4149dc4342f06bbdfda367bb7ec35b4eaa44eb8772ba0041e555c03c08b6cf6 -KO = 12be94f224e6382478bb42a35f6c1d951aa0a0fe90d630b2f709ddb040ac466de1fd04e6be820027da83d5705196ba09f5cc3644d403b15f0992aad87eeb7fcc - -COUNT=10 -L = 2048 -KI = 89188719ad9ee148e15d5d6366b217887588725a -FixedInputDataByteLen = 51 -FixedInputData = 3b05cc022da64494d8e584e9195ac988567901efe63f9eaeb268befdad3530774e5f6cad01e9e82836b71f9df5709f9d73fb07 -KO = 5a6da9a953a607392d8ae6a45609ba9f05361b03a6fd2a8143e382a3fc419e152e134ae51d728861f316ab516f9676bd54618e118f4e2e891e4ccfb3aab2122fcf3f94d2cf5e5e72a504facb75b9746148df3831f30304a26a6015cef070962da46adf4393561f1b8ace4596ed77875f161ce00b9ff6ef04df97b6d0de9085547216fbc668ecfe5e156013e4f94e2eaaf9e66584503dab510205d171bb5b72ebbe8001ea45bd13fc1ac185e92b393349916e2eaf87f9f3cb362f4949112401c190f07ccb15ed7b7ebd71df926cdecc41ab6ce94accde044cf29f1f74c1cce21ed0a31e2efa29be72d4c41cae2979e79fc2cb75fcb726913296d4ff1c43b423a8 - -COUNT=11 -L = 2048 -KI = 8e06db9a9aeeb23b2cea80a55a98c7ed9319b7e3 -FixedInputDataByteLen = 51 -FixedInputData = b3f80ed7bf6804e8bd35a2f34dce850a2bdcd1d80357eb71916d65c1f6415dc1c5800767904ee82f2e7da7895951303413f920 -KO = 7f6cd3ffeed577bd98149843af7d0f8e3db2c9707d2a90321af2fb2f1b66702f7e5b5a1d6aa447d2df0e2eddd8be0685dcc9ab686ca38a595d3ca0a2d8165cc143abc5fa0b8186404bdb6dfe350599e85e66e83a55b0cd9cbc645f4bad2b6cdf290eca208d1b596bdc5698786290b2b7f8ca9a92ce64fc293ad872a3a3f3c38fe969c47c74a37e3c2b374186f8cdff07be040a8d4c1659ddbb7c049ba126e593e207ef6684593d2833455777673ec1770c62c5d83cc245cf34903f4c3d814cca32116fbff8f7ece110441412eb5244b141f1cce45fcef80ae1207f21e15bac82489b67a402a73abe7a50b06e7cb70132b10ef899b41493f8d991459d6c958465 - -COUNT=12 -L = 2048 -KI = 76da2b2bbcb53b9fe843d1470dd8bc17aa4b4f07 -FixedInputDataByteLen = 51 -FixedInputData = f045f10dfe422d3609e9adfb3dc01ddaf09178bba1a8c8fea8ecd2bab5ad2ad4a8f47cadd38be34a6301b7343de66101607857 -KO = 18030de600d02aba1610fbb770a158c80471c1e4e1508ea716b8a88ab21ceb04d98a6e7a7fad60c6d2be01bf58e1ac743970c31427baf3cccb10c8adf0457ecf7c94e59767ab72afd16ce3193e1d793984690c78fda329b3045e6b829fd279e74be0039a0ae87cd801735c6ddc6c2636c5a9650f862381baf8b88da4cfe522e83c76f8bf89c4fea1dd3eb616e64c099dc1115c6328f2ba616b57658a93d6ca33105c0086ebc1be531dc18c3ff54831a50caae582bb19ace239379f7bfe4fde7a6b93b4582be10f88d83a5d1a35132392b15c4d6011906edc93a0c86f96da7e77d92272f19e5923d795b053e5fd3e7b0aafed2dd51daa9e86a42185fb3fdc7a30 - -COUNT=13 -L = 2048 -KI = 6fe34243ad7795e1f12825c4989526aa30c563c7 -FixedInputDataByteLen = 51 -FixedInputData = df2f58a7bfdb91e937206f3eddce7c39ff395d0dfacfd2d0514025d8f0defaec830a6901fa65d35d14def968d35b2535863dcd -KO = a25552da0efb1f7f9f3332338b9d5ed71186ea70e776b01f50037f39e4a826533843c32eb3d9221fa280a60c43913ae33049800209dadc0e3ae458169186f229050787336eb722e5981884689addbc0dbd39394e5f63cce49a3bf35fbaa5e482c9398d8fa3a7ff10c5e381fb01b7eebc01d8077e9805a7b65942a0ae36ee8cb01bc06a32eb238afe1c67f7bc93eb7f37ece73bf65170404a2d8a974432bdb6cbf5db62055b655c89666177aed8c60627e7ffa4ca0410bfa92f9a373ad871a27cec5a05c9c2354b85e9a0ea5b1fc0b5380e2f936e6924fbac5bb4cdc8d3707a27b13cbb1da06a480b6c46715a7085560efa30a40478843faacd7f35d917bb243c - -COUNT=14 -L = 2048 -KI = 29f15be34edaf4e81806998cc609f2d9b6f762d3 -FixedInputDataByteLen = 51 -FixedInputData = 2156ed8c2646fa40d51392424458b638d925a03e7c71b108918128007f5c4e8e02b59bf744c9426c49220dc7571875b74b99f7 -KO = a50e674ac34b68836b99f99d0e04b5f45322ae436b37d67f5839b223b0bd5511fc5cc0ae6efbe2780b34bf59fdbfff7e95dc2aace2f22b647f41860b55d78a02d469623d4ef6e5cf0b97d866b181a67fefb84c053522dd3c4c7c18a756c72a99d4bcbafa4f07452d688946bf1af8f263c814482df19269799cfe9df3c2180fc18d41dc0ed6dc564b877b2c47b2131cccab7c25af2245a24002bf4897c25b67ea4258417aca51bd29bb5e2b720700d73f1d79958bbf773b7d8e7cacc501b5565393bbd139af51357b577df2c9803048e69e1f200ccd92ada46a0a1a1767df8da300d61497dbdfcaf8ba35ff5872b779ff112946a442a88c8f375c7f835d663e24 - -COUNT=15 -L = 2048 -KI = 282abf27ab53125cb31dd9cd500c4cef257739a1 -FixedInputDataByteLen = 51 -FixedInputData = 2ade30ae58d2864ad4588529ed016f850f3b59c07ee0bde3d14ee9407f21218975c5f767131b5ff39463d412005859bfdce544 -KO = c753dec8acecf863a0a7bf7c02c0d114f29d6db5c8c22d158fc017e802f4235161a8ced1002db9d94d9b5cc65f9f4175a25ccf719c6fcfafa7217a6007642cbc7b30a58bcab273a3b44bc36da2a5a54adf9107b182a8335b329967a8799f2b90ab890c8159e681cac14d02f67f7332fa9950895d0d21efcd23327143c947171b1966c6c0f27a9c0e0177c5adaf4196363fd46155edaf5c54494e5cfb37b3ce2780d571247fb5f5c0d0faa6d97daaba9dd9d1993b89541ba4e45b92c5de968e5baed30bfb1aecdd004236d2e7977971e2c8b3f0270b8c51f1229ebd9565dd06bbfc2c12db00237416cccfe8ff34c2701b84d8d1b9d8545f7dcc0b0629f6315ea1 - -COUNT=16 -L = 2048 -KI = a643b59282a86c6968cb6738c9e78b500f8a2d98 -FixedInputDataByteLen = 51 -FixedInputData = d4db7b93f8c8bbca1e9b39d7d3bc2f39d2eb66f4fc228a0c1cc193a3be15ae9e38d646c6a55cc99b7a9e8d22f04a3493789981 -KO = d133d73fb13e2a76d74fe27d0c4e9fe7acbdddc04343d5e39b7e05995e9bbd5d95abe52d7054ea95670742fbcb14e82ec7b57b011c18b05d34d5fb91c7515df916e59cd60e4ec725bcc099d990b3eaca208f3160abc6ae1dbe228eeb319f536677022993d72c93e4a3cf0aa505ecca9897591d7f06127f5b688cea26391aedc478952504c97e37b0ee1c72e27231d64040f82dd900e15d418db32c4a63f40fe088c32cae069fad51e61bb19b2e5c6407b8892c882cca827bee9d70c71a93b7ae2e47425e36a8b5164ddf4b434221c1df54f70eff867768303aa41cc958fe3a951e9438dfa33059a1b93e30280549fc024d643152560ec6c2fd2ed949906a2bbd - -COUNT=17 -L = 2048 -KI = 5ddab53aa43dcd9b8d30e83afedf7701f3188d96 -FixedInputDataByteLen = 51 -FixedInputData = 71d151afd2e38360e794a12fe74cb1c8439e8da74fae50b7363af0cce9d3b7a3073fc5261ce7985302bb6e37469199a2784cea -KO = 04a5396c44abf8196ed95140731a1c2f8a041695086b6a55f8c51b96e7c0feadad49a4f335ebfbb8e23c53151ecc318c73fd38a3f00723fb154ae40bb5a7591bda676fe5499208c3ff9a7b9ea4510ac8908d2a69930203bbaf64809b26c2f097d01fcac3e3ab15625e8cb31ea0343e22d1cfa23dd6aa45392bb3c1bc013161d96030d358bc63e9105306decc6af7edacf5eea2220ebc4e01eaed558feeae98ec974b2010056c37edee8c5b51c459c579962e595f0521074a0c7fc2b79132c02f515b65b607054aa9d85832a1bc308c36ae2c050fea023df60a9c39905638aa6deb0f81da3cee59252bc9faeca4e41dd6e7f583f85b3ca482ebb4d1ce0925e527 - -COUNT=18 -L = 2048 -KI = b53dfb2ff6ccebbcc7ed3691186585bef01d571c -FixedInputDataByteLen = 51 -FixedInputData = 2b6821b897aeb217ef023f3746ed7f4c0e20bb78a7472253a8068f16faf56e495de34f781d9d08169138987fff23ceba9858dd -KO = ce5aefbedd30fe2283a16a6298c168b46255f1bf36aa9491b6b22a14366a47d64f8ab40830e9ba5fb3bd6076526f23c81a400ef1ba248bf3b4f6e49927d50dd7eb43150ba33dbdb9dbb82802a9a1e019871f28b65023eed1bafe5b7110038889cc2b5a89672faaee3867d131741f51b306db9cd5c309789afa20291ad7278da7437ec76b237f82905c8f64df1cba0c9cc28d2da7de01996b868e0638c0eab061f6f7f729ff782f91cbe570b54a531814b3b828e1374d9a995ea5f473e1b9a570dfb7ac7dc97c931b805148e6a505bb3dca2566bf46eb981a5f19b0047c6e1fa58ccb57d434ab1d47dae3d04dfb8928ecf39363cc5eccd3ba8e2fd37ea5be95c1 - -COUNT=19 -L = 2048 -KI = 239d9390a828146571beb96f7bfd441d9790c4bc -FixedInputDataByteLen = 51 -FixedInputData = 6bb1b03060be82e3b1164ba2d00cdd95029695abfdb6ae4456ae28c4f3ec0bc64c9669dd32579bba137bf1affe3679df5e723f -KO = 12e7f8199372c57dd8c5ab2fb09dafd696a390cb1ceb60d8d4e515d191a7d6c77d92ef5b9d1b51122a96b2c7d481941800b0cf7b597810bbfe8ba9ab9deda90341c9be60960ed67d2b189c0cf08e81f09ba8f7998a05cbbc4686b3902b40aee7b4436f213d6071356061fb0e27d17e8ef66fc2b3fa6de3db2c1749e87d96a0cf4b2ddf2351863fcc478f3a8bcc316c6f74ffafa3765c471d1bc1a186679c253ccdc61e102c6570a7d9644303ed6c57983b8ac89635d2da66669544d953cfb88c77203abb7f3c21ab321b0e20fc05d17632d371fd5111fdeeb0884b060582e0a974f6d89c4ac610f839c1feebf9b8cf2ff9b81b4c8a03fc147c43833b05dfc490 - -COUNT=20 -L = 560 -KI = 8bb5fbeef23f74f7bf2b60ea949344bfcd8a08a9 -FixedInputDataByteLen = 51 -FixedInputData = 7c5cbbaae9ce60ea8d99fe4904092af157d8c05229e8434a6f9a6eafdbcdf43deea5391cfd4d254770ef8a1090b50cc7558b21 -KO = a6a4d9e6d402391d0bb5070617b67cf4823d4364e3f6a6dabe7b4b8e9d0fbe0073a6f9adc2e65dbdba7c63d507e05fd6a961053ce91021064c78c1b8865a6abdd0c03c50d2f5 - -COUNT=21 -L = 560 -KI = 9220898a68f83be88634c873e85d765e3060f4a1 -FixedInputDataByteLen = 51 -FixedInputData = 9fb019eeca76a53febdcf42eca48305b99cb17f7a6369d4ece7714c79568e968f23ab7fba320117630be116db08f9ec81e421d -KO = dacee4e081dabed2b4d16aef6f42d25a51a847ef023f0e56a2e62448b810e9603922421a200a24882cd592995913f5e0b4f722cdd16e237da4082ef39c666682dc1c403380a5 - -COUNT=22 -L = 560 -KI = 27f95bf4df78af19b867cac3664062176014e780 -FixedInputDataByteLen = 51 -FixedInputData = 0188ede97f254b2d73033295ffa5ae95eb669dd2582474372a27b883297bab3095cdbc75444e024355e1ff73123a0342525d1f -KO = eb778779abe65b9dea192b161973cea00ba065ec7091ca45a1d188601bc6a7c5914e444033ea36c289e3181a28faf9bccb603398cc88c29cbfa82ed445e30296d1352021b7b4 - -COUNT=23 -L = 560 -KI = 93fa2faaa7a8def7f08c330aeada9212bf960bbf -FixedInputDataByteLen = 51 -FixedInputData = 0d49e8d077ab8ee81083e063688beb186ad773f3aaee71f176b1d43f4d6160f9c22a2aec64ed125a9bcd8a5a3a318ca360c42a -KO = 869fe1c04a5de6f0cc78ce68891bc96703c8223c3b723873896ee02b8ab68f7151255815810efdc84136b1e8521aa513d0b697a57f1f449e5af4bb8c4644a53195bff168e633 - -COUNT=24 -L = 560 -KI = c43e0eb215c58367f33809815ac807936cdedf8b -FixedInputDataByteLen = 51 -FixedInputData = b2bc133e99d9df8df0371367914aef29a62cd44642d312da05f23ea9c079bcf6729378c3ad1baaa9f8d7211c83856f6663da81 -KO = 6a1976833380b7d3d0ad4303094d0fb1e4634b9aefc4a2a7b66de5825ca3b7f013fd9fddfbcc48875d8b15bea8f3cba9b54e11b4904448485f66a2d190b615e046068f09d4e9 - -COUNT=25 -L = 560 -KI = de3f2b143ea151e635d2252e2ae0ac071db4c315 -FixedInputDataByteLen = 51 -FixedInputData = 48020eb2f0044023d4cd4d74ced701be6dd6a27511cca4794dc98faf1e222df1463312149bc8297e0b3711b72bf90448f1fe0e -KO = db9bedb9211e98459d034d71885a6943421c5466f12416fae4e3f68f78801b1daf4f8a340f81a04c750acb9304ddc7c3def394864ccc3fa96144960eee15fea5b9c1a9b36854 - -COUNT=26 -L = 560 -KI = 5b5237be3917ab7c9ff9271f6c3bd06ff5458f17 -FixedInputDataByteLen = 51 -FixedInputData = 9280aa536b881f1c150e321423c21495c308f5d08eaef5cc9f07c894b6b07135b0fe9cea154476db407098806838d060cb2720 -KO = 9fda6e7000cd5ac7c95662b22e8a253788c25b352f2c94c7813ac328b3d11314c7373ab74309eff8307c55ff01616ead467e2ea8e8f0a547690f0b83796988b5e7c1e74f791f - -COUNT=27 -L = 560 -KI = 507a7dce898fc72f153ff726ddd73600a2e3d32e -FixedInputDataByteLen = 51 -FixedInputData = a6d1d80416bc1dda8d078e7a24c77ead1fc5e8ff14f15dc6a6a67cce2a7b1352a5df76c672d84990b68b97058fe5e1c21b63e5 -KO = 37514d530512a07768f329428907a7680991ae7067693a87d7580ba43b5219da0ae95882adaab78f3722c8c248f66f43b5277fe4a482ff655ec13fdcafd3721624cb84e0c4dd - -COUNT=28 -L = 560 -KI = 2c1afc51bf9cb410a0352baf5d100c8a1b6c8abc -FixedInputDataByteLen = 51 -FixedInputData = 948f89260a983eb61f3459fd7f174808c0a4bacc4ae3704322a8ab0c73f1e62a5d2f15057123fdf5e717efe1d797e453570f29 -KO = eed4bb2f3964ca554741fad94e05e3f7ec1f4d604be6db37dbae574139365242d98a8fd3b67ee71b57c6c5d91eee9a26747f47836f9a2e4eace90b4e2de20af84d3e797fcdae - -COUNT=29 -L = 560 -KI = a4fe2d5c3106f79bd178ae2c3b06e4bb79a06624 -FixedInputDataByteLen = 51 -FixedInputData = 6091218df0ac18890d392b1e511423b41a3e8c085c250db5168d2af086af7beb891ca5666cbe3062f0fba823d376500e4960e1 -KO = 942fbae2d5986c6a74dd04d920f4bc802375528bc02e11815b88e7fd14761888dfea4f90931b95298db1751d4e8fce6f9de7ba880d1db3e2b95bb305351cde45809215735157 - -COUNT=30 -L = 1600 -KI = 9c7a6d546dc4aa04223cb732ef7bea82fa1f2c8c -FixedInputDataByteLen = 51 -FixedInputData = b8a553bdf4347a0ffa8a07b63ee33cae2f14c0ca483c4ac902f9e86f04ac451852458f11d96c49a316e78f039e45872ebcaf93 -KO = 3e74f6cefe989aea1b983dcf408ef5f1477a3e0ec33805dec2040fbd6f740d3b8ab1c5ca18c905efd694645515c2981f984e2c6f1ed9f8f97972477081c41fff1259659088986c14cbdae9d33a21ada19d4cfd9a022855d591a5cd3e2496a7de972744cc6eeab03f7c9a887bf2c8f62d13624fb0122bb40ec2cf5964a6031c64df9ab4039702bcb3824f8ce208d34e429ac9448d33cffec75a68aa62ca0949f94ce64aeccef13e418f2e20995ae68bc939faab188f7c8e3ddd98d5cf5b2b26d6faaad8c25bdf05ad - -COUNT=31 -L = 1600 -KI = c929aa34930f991cff8a1e69fafa7dbaffdee602 -FixedInputDataByteLen = 51 -FixedInputData = b62d64073a7a202749925951278b5f7548470579fb686ac526f8adc238115bde71fdb22ce4e8fad2369e15ed2d17cc972095cd -KO = 032870c99e98ccd7f6542bb556ee42465810ac3cb1987b8aeccf8180e923c0993da62e45b8f4370dfada96839c9e1c02ab7877f151902366fe5471078ae70b8a4937e9b44e4f9ac433a35b34bd03233ff7bfee112209c65decca955407f2dfe16a6acd23ecf9be3fb0d0fab932b9d820a728ba7f517f1f215ba5ddb139ec9b3e9c80d3d26e5e0dcf9cffd38190ea2f080c2d4488dfb0f82002f78f018bd13099ea6d96db001acb7699400eda4769277bef93ec15a5a5a4d2190514aaeab1811ab26ea46d2c8c8837 - -COUNT=32 -L = 1600 -KI = c925bf1e189737c0a4c42dd1ee37b72249df61b8 -FixedInputDataByteLen = 51 -FixedInputData = ebd830b24fe9a28dabfbb32d49327b7764144a1bcecd00a040822269d004d039012bbb4bcaed4b3175e070bc1f029bfb83543d -KO = 2586e0791f181e7157419545c0201f892e884c7abed03f3b5a6cc4983c952aaa44aa159eed93b889ce6507733bc70490b48c1dca1f416da4ca2c8fc8fb34ea16aaa416e4c800b24bfc0c6b759a5cd04efc9a5f2328ee3f956ed944a6017e6027b80cb7f5b0d9aca014774e1dc954921362bb047f133ab2c99b332377eaa0d20d8ff409783f5bb8a4582163f2ed1a4290df81b239aa163cc5737dc23348ca1999fee4bb6da281b02c544277d1bf651f2825cd34b8ea5a2ba061ad7894c1c6a3a9ca0b7c2abb6aa047 - -COUNT=33 -L = 1600 -KI = 2ccc0b9833af0815f581712ea3d6680a336c5ff3 -FixedInputDataByteLen = 51 -FixedInputData = 96d84875fa60c9d6e1ea891c95a32215a45d348d20329071744db729a622f7d2ac0420b07920d3aae9b6f7af6ed9ddf333b3e1 -KO = 38e8ff8f1fa8a8c3882fdf3dd104fb14cf0dc553586e66de5d12e0e00984a36bd7d6bd9d83bfebc0be161da300d55cd80016a927031414ed2ebf5b80f41145e45920ed930959db55ffa9c2bd5005f2b10eb8f18fedf47aee8e5c4a2c37405eabf8d1b25d7701b4126dd26b3e60446b720b31b434c2f97d07d145df4849c2054cbe5c277a4e00290ef1f0568cef11c8ee2b1e6de9d089d5904e5fb75fc003191fe510a6f0b9f9cac59af4a7b73c0e57bbca189287966fcde01b36af008c34e7b65d65afcd86d563ea - -COUNT=34 -L = 1600 -KI = 7c2d05ee2a9f6638fc12e43829908aed2dfa281a -FixedInputDataByteLen = 51 -FixedInputData = b6362239d2d55a2e3e833661b29600b7a986ac28b5510e43d74caf3cd2e7d520c746bf009f7ae73d6be9fabcbe9794950e60bc -KO = 57f832bbb4fb5c2a394d0f93bd8f797275bb1a6e8fd991bf3b54696c390e53731d4d160326ec194f7be673bea1a40f8351e6d01f959ac872e37f3398ee2040c4279d47a7a7763e98c9ac2e6e3471d7dad1b77d6026164319e1e705eac75f2338dab573779f84fe8033821f05db428bb1756bc879a0b02dcbd8291d8f7b69833eee5c5f3b55b535f365afaaf9e28ee4529f84b13d7d0bf52472304358d0e89548ae51cf27b967b9ecbf5efaca1a8a20dfb567f7e867803ad972cd0e84b8607ce5456ede2665aee92b - -COUNT=35 -L = 1600 -KI = ef46009419783b4b7fb412cf33de7f708459a28b -FixedInputDataByteLen = 51 -FixedInputData = a9c4af717e0a054ebf2dac46a1e9928dd3dfc960aaee9010f60d9211e016662d43c257e077172fb0e0adb22fe75d6f191b3483 -KO = d1673971276b511aaff898b8ced3549d3e83fd41bcb597951de5b2cb96a5039f412baca739b629c91f0c8501ad4050af99df74dbb68496b3eb05735555eefe1994d3a7e8f0c97207ebcb069e64c9a98f6c443ee1b1c3117e1eece1b359eccd675851c4c17e16ee16206113b2782a8819ea0d753dcde8817580de70b48a6a8d42acdba86d41efc734d5eef7a7eedf58df2017f1371330ce6d49d88ef12a00c674688e3329f8a79de810f05ef9e30b69bae873eec940c40a09ee83c5381d6a2879dff005a7767b0b9e - -COUNT=36 -L = 1600 -KI = a3b0b6cec266b61ed085ac575c90d3b9179e23e2 -FixedInputDataByteLen = 51 -FixedInputData = 108f1e39f71aff982bb8d37fe1e3863b84f3c2e1a378f40dcd320b7929f23d0fa84696d3b016b73cac2dda80b1e760d0c4901c -KO = 5eaf7abbffcaef0d7fb8c92c58965f4d997ce7fd5e13bf2a4f1e17a9784327214b66f5e9ddd726406193f07575c95b88644a44e46c5ec7b86936fae610d7a13b3681cfa8a8197334b909d767b08c27fd78b9b0da77762f82b7889ded54e66f9149bf3a061138ec644eebf584a8585f78f3f6d844db9731c0b7ea76497c9674759a26a07fcf742b2b598a874a72afa700fa69c4c3122cada4200b76a7b152b42fba406151325f439ab4ab003aaf7a695b5ae1c4a9f40a28246b3b90d389445e4ac0cca93ae0c3c1ee - -COUNT=37 -L = 1600 -KI = f91586f614b8a59a6e58d01ae28acbcca2984803 -FixedInputDataByteLen = 51 -FixedInputData = da9f0bc0c0636e52281da479dff97b8fb169082daf0361f282c4794e38c64dc165997463ce6bfff29045133b8ccbb0d81e2eca -KO = c36c9f06bfc7e21008655daef9c2d6d387cde1b67309c232eedb41b336891eb8320f99703ca24f6f64e29c38d69857d083359dd2053935641a9a42f9b7025bc49baaa1048d517d2e48a7f61019df05a3c7e7bb2c4c3dcba6493c851975fa5e28840dce88139b3a4b486ef27cc71fbc331adc638bf08890494e7f75fef9a8a57c7e6815b57d93baadbf44bb4346cb82c8ba5679a67ac4447761b489c1ecc3da6ff98cb0dbc50f304c64b1c201e54f1726391ac169c39e8b3d20d4e1b724ab49fc860c93159b48f18a - -COUNT=38 -L = 1600 -KI = d2771a905572fffe5b5667baf518cb94ccbb3145 -FixedInputDataByteLen = 51 -FixedInputData = c933e279f2443e38a2714375a4754e84a21885a3e5b995217b3dbb5b2777bb60e1d8f289640cde7ada88c4e25eaf072e7dff9d -KO = b291cf085c7f8e56303990c18d5e5d44c31ae9cf8590164c4776c04a2a0f03f49117c05cdab419f7e6f039aa3193f94d377cc8b40db315cdc57edc5862029edec2cf946467728b8a9e72a0c84f815f0f78fbcb5f62374aa97b1894b92b9ce91d634ab1f31ef9959ce187efea4222eaf58f55dee4cd7b48b3b7c2320720a5d7a6ac7a4887cc9a99ed51e361de7f79f87d8707118641d5263a621e9c3d94f7754f7f8102374521e41978b70358b894363736f0c8404a06e8db2ec785e185113e870f7d63c2aa59f27e - -COUNT=39 -L = 1600 -KI = 847cd698264c0ea3dee01d74df8cbfb712cf43d0 -FixedInputDataByteLen = 51 -FixedInputData = a567002cdd884d557065444155a3fc2f6aba3382ca33eaf59a923d640db38e7c59dc87a38013f4b6799bcca59b13a1748a53c7 -KO = 756c86650c9810144ee82f832346f3949acc8f3e4c28052072d0d47ea7ae87ca1d0cac2f59cef3887a69b6447594e38246aba351879827a36beee8ea01d6403997a8205870b5303cda83604f0d93591a7f45e36e415009b5bb00c47be43b37f1c6b6fda3f625b966e876ed432edb4554f15383ba43ac676696e379b7444ba9f86537a642305f6f448f9d77cdbf2489e699a63f386d73f664b47c9b2acd1c1415cd0724804004c042db63f1127b4ffaad3efb2838d2f87b987e13270686281d71bc21c2b05ecdecbe - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = d25121d44bdf11649a63f59dbd729b3dac25901b -FixedInputDataByteLen = 51 -FixedInputData = 0be76f42ed9b5dd76c17a50bc1441c1d003c98bef609d30450714ce2f53d7cd97382aca8a9371a1af18ec26b399a702af641a5 -KO = 1b09baa4db03d9cb689b5988918b7ed10311746d7f2c0ef6b83e655a572ce4a9d4b486b4a6de3824cb0fc93a02cf69bcc3f108b56743410532ed4cf9e83abce0 - -COUNT=1 -L = 512 -KI = eaf61ac6d7849b271d545799b3e144d908fdad47 -FixedInputDataByteLen = 51 -FixedInputData = c7c7b83645ade7ecde9a6371a634bb4a1d5cf500fa1df0ee2f9bb60ddc6474919d89d28b650f350110275457a4c4b3be7d5a45 -KO = 51108537337de48ca6f0e985ce90c88af9e351850da1162448b6ad87c315fd43b38936b0d2c531a8cf3c2a6256ae7e5b76303b9376f0f90e65ba39baf696d0b3 - -COUNT=2 -L = 512 -KI = 7cffbec09f1d16f4ef34725afaccdb6e80a13e4f -FixedInputDataByteLen = 51 -FixedInputData = 0ea7bf40d4c8beadce551b24a6de00ad0cd5af5e62719b9830ab5a2c63a77686d8979ca1ac3c16c7c4fa5d4f9485e37ff89c70 -KO = 0ad33f3e2648f3fa09dbc22cfec1a393d785ab50f4c53e8ad2e9612b0cded088eab0a6d3ea6c61ef9c801f85fe79a5baa958c404f22d925049e880e33bf857bb - -COUNT=3 -L = 512 -KI = d025c3eefa205c789bf2bc0122f327b20ff70628 -FixedInputDataByteLen = 51 -FixedInputData = 40804b000d499180234ded7f1572ed4ada290678284267ecdf7b95ec8a5c480fbf9c5bfd1f1f9586cd2f631c3f1d78e8f76383 -KO = 6a8fe919e3287e97f71a4e6ee88f201529965f5066dc9818bd9772880dc63533d2430b5c3fc38042c103b64d1e28dc352014d5fd13c93d8988f44c844cbb0843 - -COUNT=4 -L = 512 -KI = 06e363571e47b7eb914ec1ec799eacb14274ffa9 -FixedInputDataByteLen = 51 -FixedInputData = eef8d2525d9bbd8d741b1ee32d3579aab72324223d2ea8032f4ce4eb6b580ac51a138316ad2ccc8ba7380ec4008907949722b3 -KO = fa05899118efdbac9eb7f7ea067da094112e4a458b89a4ffc66a0c1cd9d389a09538c3d7f7885d7a8f7263dfd88c5c0b568c54eaf004c94e15d86e20aab7b714 - -COUNT=5 -L = 512 -KI = f63215ed16d0c7dcff24f6c009957b9d3d215443 -FixedInputDataByteLen = 51 -FixedInputData = 5a911396ad8e3be82e1baced055f6078a14b4b650fa679e52e2738a571a08bde62aa9bff11155f69861a2d54c210207b8923c3 -KO = bd786baf51f6f6d18bbf04125b230463db18b198b2dfdb2eb764c0fa1566eec956f268621bf3e4be9381797f0f06247b29432590c159a433df4e63b415099f01 - -COUNT=6 -L = 512 -KI = c3cc4140f448314b2fd4aae8ce805d58ec84e8b7 -FixedInputDataByteLen = 51 -FixedInputData = fff291765957a6e9de84d75fffe5fc37391ff5e1086a6555a01acc7a084e0e1f27921c8cad0eadda23c5389a2964692efa61dd -KO = 21ca624acfff6d08ca6d3915087a5f650e6365e8a1a9b3df9f460ce8f12883b8f24243eb4300cd8d5255d01c0f1ca5cfc3e97f27a4fd5c7338a64a4a0ae6eb9b - -COUNT=7 -L = 512 -KI = 805c44815b7cc0ae545f6ffde599355d2b711032 -FixedInputDataByteLen = 51 -FixedInputData = 32dfac5612730c190aa54f439353a26f5def775e7b74127848bd3d30ee4bbe57a8c8267358bfca359a858547047283fa80733b -KO = 03d3eeeab2688f7eda830d933bb6d48c6d86d56bffab508b779eaeb5f0f7c1d329e485dc01ea7d3e2a2421bbd5fe5d3c3b5c5404f1a9741af4953468dc568563 - -COUNT=8 -L = 512 -KI = 4f20559c846e9a68c2ee8a20b3f5dc04aeb219e0 -FixedInputDataByteLen = 51 -FixedInputData = 1b0eb705137d39df652b3297a1c0179cbf9400234decbf78ea38653fb88a75167d3561682694f0141f38beeed7c9f4b7990c89 -KO = 0be0f6937bece6af7a702d8dc5063904f0c1c2f454daf8573bb9d94ad39ae6cd3d8b7f3314735b1802c28cc81ad9c3a24376c9a5fc2a4edd5ca27a3c1f091909 - -COUNT=9 -L = 512 -KI = 173c7498b8950b54c7f99ee06420a6f4487704dd -FixedInputDataByteLen = 51 -FixedInputData = 63621bd1cdfb4c8e29425e5b313907eb475854dbe37cc8e7ef29c5926d4f23393b6c7512e69d165ee1dadffd6d3cc980c31e4c -KO = 1a864d5da82d69ca1b37e53c3d85ac426e3e455f2d024b96cc8251f63eea9a4d0f92331175f39f8751afe8bf5914e3c89646e16302ba446cdaec4457dee55745 - -COUNT=10 -L = 2048 -KI = 637bf9e86bdfdbf379a9e590e3b3ad5330086144 -FixedInputDataByteLen = 51 -FixedInputData = d36eb47b09357d08f2ae932e0e2ce41d66797a136a2ed057c0c26def4b08ce50a16efd715c4e5f11203fe9c4f48cd47ef6987a -KO = e85d8817fc951dbe297b40c714fad883dbe30d29b9ab02a24278829702535a1f065b0fb29d70f6c7d9523a01b815dc91c34a56e93512b46ccf3db388584f9ace135f3398211d2bf5e7c92b8789bfea7b5e2432641b42b6a64cf69dda7083b080bf78a3319e83295f0062b4df4f84bff1fedc376cd43e9ef6ca4ff00b18d019a42e8a5be85049eff2d7bbab81cca592cedf981c992433a2ddd488fd46d92749257a182314563c675ee5ec5540a4c00f256794cf2f4aba80596e85018e1dc2f13911a17ea331d3949c1eb85d3da9ebba74dfd361fdb9155b5c8d6fc8eff950d55a89409582684267941724c8c7f92bf76c93c42ca61093c53331fff534a9996d56 - -COUNT=11 -L = 2048 -KI = c1f1aa346cdc958fd8150fcaca28440eaea6a0d6 -FixedInputDataByteLen = 51 -FixedInputData = 40c388336de6558a08d7c9e2600d30528f7cdabc85e25a0de81fdc82ca9532c7a9bcab1eac6fed4235f6d5699a856d91c16624 -KO = f9e76bbb346bd930ffb0e2a3a92f65b540fbacd7196789eaaac96b9c57749cc0e4181de9e94756eeac58a1abeeababe6b08db440de24c571486c5ccbf65482a2c8a89d5f83b521d6a39977ef9d944b22e171e0ca71e950fe5c285cf4a1c74953626262ea134b951e773a657b22211717038895614e6a837ec0d0a09bd0eb8f8100ab1fc8a17ce9e75a07ff45c0955a25e8ff9fa5b0ea0bae1097a81b7bbd8c6a6b36e81ebf23657aff92aade6235a758399500c196afbeb957b45b22222fab863197d2f02826429ce3b7189d1032d6df74e953d5a657ac183c775b2e137e15aa63bb3118ee535022c07aff25c7e585201c87d626fc4c47ee9c681360fa5188d7 - -COUNT=12 -L = 2048 -KI = 5df49919af4b9adc84e67c985a165b52a9791b1f -FixedInputDataByteLen = 51 -FixedInputData = 2182c9b7c71ded0176adf44fda28fd8f78e64cff04c1bf7f48f1ebe04ff5eb5e2eb843b485535153668ab69daff1c1e2fff50a -KO = 732deaa934b88f4af5d96109e0b35928e3e453e969e6f613e0dce9ae2658683885904ab9ee3b42d538a2436ed5342df05a2825cbdc6a0f378316bfb275c326365a554815920a0af55a07b7dae0cbba796faea42e434f289353049c85decd31656aebc613ad3d9bab4ddcaec696250e31bbaede4ce594e775f343ea2bb2f2789998b3f5432834d2c69c02275c7e78e31611ad6bb515ada5b77398e2f350475594e7bef9b2f79097b4b3092e4551603d7b8ca077857d030f21f6aa586bc93d9dc70911a2a75e4e872287a75015208b4705516a3c40cad4701311ecaabd8a970e13a29b23115245022bf8acb54eab14dbe5ab3ac889297ef1c38fb075c42fd1250f - -COUNT=13 -L = 2048 -KI = 0dd6614531908eef693f1e502c1c82b50d94bf10 -FixedInputDataByteLen = 51 -FixedInputData = 1624e1cf0720e3356203383d143d84d6b83ba4e673390f49235bc0cdfcfe232baae17646da60067bb58a02d6ba2cc1a67355ee -KO = 9c3bc772befdf0b58b1bafd9678edd3c4ce56d15d59be996727de332920f3d56fffdb6f33b7ce19c59ae03b686bb1708fb14a037a660a83c5f9e94942fa78eebfcb2250f60261cbf8fbb95f92cccbe1442e92be89dffdddfc17cbab0c86d94220bc035c1af4aac6683345a9308787d87cd49f8140f94aab00004ce6769d6b807f34114d8f8c6cf3fb84be94193c588e60590ef69b3098c549cd240da8683fc20caf4d875cf50dcb1b9d8112afb182c596c70e33105c6730d3ddcaaf0420cb6f03dc6a97a03d70a4b651d5d9a05e5943944703cb879e4e98a4b1d0eda4bea8b5d51dda448e1cd06565fba677c25d12e9ed5af8c1b4f9bd7d3e5b278191a85e5e7 - -COUNT=14 -L = 2048 -KI = 7d3cff977fcd6fa3af1b0bec0b8bee1fb86f1425 -FixedInputDataByteLen = 51 -FixedInputData = c127ef1b716f216ef83d12ad3ceae2022b51aa23f19375c16823160d6ac32804bad39688d3cc5a34fb10e202964e67483ef536 -KO = 2824e7e874b0bfcdff6752df292b36ab1bca5fa9dc6ff3c0af95f6e5a84b90636f201cb078440e3b34a5aeaaa01d592a6d0e2875d53347133a281ee888f1cedb12bc557eb4e30b6b8cba690fbbab7d7c861cd400b6664931f0c9ae1d1db1b5ea45538852ce786b728675ad59bfe342b511f35c579e245ff78bd8d19c1cfa174b09ce8e81454ecf3d6df2e440fad610e24d5d7495c473090267915082d65d9d5d74965772491a067e659a61d53852bcc713b63f8c8b5b34e38f5b3d58ee4c9aeb98beef499f733c1016b2f1ea4756de97432acd72b1c3c35a9ebea26a100e7839434053f10cc24e673b93b30e05fa4358705767fb14c207bc0c0647408de5510d - -COUNT=15 -L = 2048 -KI = 1ba79e8b74141b5558168976c059a4de59e1cda4 -FixedInputDataByteLen = 51 -FixedInputData = 84838f710a8ef0f3bf9bebb0f54b7857471a6d8046c374de5a5e78fc1354feb32bf280d766661cf99781784b063f8a96edc696 -KO = 8342382c962b1dc5e9442be926e2ec91db875ace9801be0563f392e8719ee73165f1a084eeb2b60fd6b62febf0e27395fb3561439e735f718b01b00ca788b075dab6524949a35aec600a4473a279226774fd31a7339fb045c0653d98f3b1720e267b403fb3fab5bece6c1c86203cf8f5e8f3ee45fdfe7c0f9a42c3788fba4b59902773365539569a8880246c7a52de869647f0ff346858b334debb02a36b99990b00dd8837be9fb7470e942fab505bfac10a5aed4b42ef8490bbe52742eb3bd1ec27d5556a444d64e59f4f5a8f1c98ee52e412b9094dfc55b43d09fea33f744e6132073722db188f58b39e3a49f5b244a5a1e5259b5f6f28d24eb439bb335e57 - -COUNT=16 -L = 2048 -KI = 2f9221c1c5c1064b13acdc1c620fb25c2545c5d8 -FixedInputDataByteLen = 51 -FixedInputData = 9c31f06c18bcc4334d5eece62a336ef846bf8596231c7887cd4fcd4b3e9a3350fe81db43cf74249c9464aa88876422d7c0c801 -KO = 643bcb2cfc78340e9926b81d6f322a1889606191385cf5b8939e5a471315d0120c36495be4cafb8e2817b5cac4ee2945a67d8438e0734687da14e28f498798a4673c58daadb78aae93d8fe1425ac93e22fa12eee3731be4a2508fac938f22805926d16cdce2b38abf91b9ba76769951ff97d0811ecc9a80f76c4697991ea2084140ea03f2dd33c89d27c05b105dd3ac403cba5cfe0d6389c3dcac045080eae35e44bf61e9513a71a1bcbea807ac2580132cf8ae9b72d091e54396a375d2dc2d3e154d9e6aaa99c8faa545d8ef6c85edc85d1bd6fda24ee447491fb00be8a8cba8e58987a2b3ee21c2faf6f93bed025a447534e9ec6e6ae8a674fed4d3cbdad4f - -COUNT=17 -L = 2048 -KI = f1c41620c2244f770110f1c0881d751d48d1b557 -FixedInputDataByteLen = 51 -FixedInputData = ad0b430a22923a51a1513a14a35cc168e6c1c7c70154df0c64a017c0156615332820d32197873391f4bd57fc0518d0b96bd824 -KO = fae0a7dac6cb9340305255c8238681a3fb52115de7838f55a8fb24d315e1a8705caa8e133d756af5f46e4a9a124f9b3477547db21fbd3c693a74da1eff48cee4077cf1f7c58e72d1ee1f9f2118f1345cfd176dafbf4524d5e421767082c91e4cb7e455abc4e34732a543909f6294f380351bad89b839140bd7776957c3e4105ff52e03fc8b06e04d727af2595555c4c4c5e3696cd1f7f78171fc86a5a097126c31900cc3444f61f8dafb65b5292bc6b96a24b11f4d3045e5c711066573d574c6c62f7289027d75ee1b1c31a918c371c21b2197fad1e72118eb53b380c4156efeb081e7d9c73acf6e94300de51ad980efa73db9210f2afdd9b4a5d67a36197842 - -COUNT=18 -L = 2048 -KI = bf63c04ac6bfc5b4468f8757232705c8f8eb1d11 -FixedInputDataByteLen = 51 -FixedInputData = 0206d8d1c86fb5f0aeb1293e3f093616d50b80e7c34fbcd8f1297bd6906e8abf1b37cecd87aefb8eacd33226a61173e379239b -KO = 1cbce77ebc3a47c1aad965e4507c28b02b1672238be51984c2bc0cef24adc7df52c51158bf390a5108c9f9d7e34485fb6e02c8ac3124509d3de98f4c0f4e27f0db71d788aad6880a634bbc52e6c7e28d764de8a5122de05a4e5ec40d943978e87d76d11ac36c296f5b04ad440cb36ef20e07cc47e123988d10fbf365ba3f05aca5d8d9f9e92691ef518d34c0441f7ef3f9ac0376b3f144291837e8e177595d5cc4ee31d586de59fe2a2531a6bd93a9e74084d0ad5c0a5820531dfa15385495071c0ceb30adb8b88172009a2af9dbdeb96456006b3fd5a3650f21250def0452e94f3299aa77a24f89f3a6d9046f0f99ac655d141cb13a9eccfc42c99c6959c144 - -COUNT=19 -L = 2048 -KI = 241a1663aa7bcb16dd4da21d6dc042d7425cfa39 -FixedInputDataByteLen = 51 -FixedInputData = ae6ee20070cc393165997151e317913ccf01ac0452bc8d32a884aacf219ab7f88daaca5943106754177bbdec97ce6154352343 -KO = e5a7c22c6a447350465bde255973272cba72c4fee00f884309e181ed92248c84469e41379ee9c77a8e5693484eb2d00b142c96e5249e28b54b0363ad80217515afdb4a236698968cb9894bf708d4462135b8bf4896c8bc2609d0b9113614014ca78d9efc9255bd4ca3171120dff75668678cb24131720357790262c32ce3f6eea0c396694be6b6c214e06367bf83dee198176867959361cec93afc210c48ba77ad7f9d75be7a3915b998a0b57b4e8eae9d510d48451bc7a1cfd272eef1706b617c117211616057c9dbbe1b707bf7700611be32fd8e8f5c230869e07335085adc2eef88cc03443982215b7932cf3379db3fc687b4dc75b50c0ea8bdafa1b993de - -COUNT=20 -L = 560 -KI = c0ce63b845b7536862ff3ad5354629c33d222d48 -FixedInputDataByteLen = 51 -FixedInputData = 9c2333b0fc084482cc25951140763989159cc1f989d2d348749b956c0930421520fc85b6843132afa7927015779daecd7d5ad6 -KO = 807a103c46f28a9cae9ea76c1d971708330b8c5797f3564213a9045f3f722af35513570782218d5791befd3add349a4c07113630a3d1321e4346593b481e153375db429c4f06 - -COUNT=21 -L = 560 -KI = b5a99315b98bdaf1724127a4995a45dc7e9352a8 -FixedInputDataByteLen = 51 -FixedInputData = 4a95e557715d5e0af073cf25ca98d09a86010cf7f451342cc837d679815bb27ff74a44bb95f3801bf6e6e60d41ca8236961c5f -KO = 30b5a6ce3852eb93e4b9a984ecc2507521e52427d4664143609cc163091eda783edda09c17bd00ada1bb7068ec6ce9d307b34abc1cc5c27bb3214d1178a30fb5da604f58169c - -COUNT=22 -L = 560 -KI = 83682ac1d695f82833b3ca65385dc77a21d3cf48 -FixedInputDataByteLen = 51 -FixedInputData = 875f9831d5540c101d07ec62c621b66717e91d44e193451d81c1ef8260e6de79ab3053023cdde2abc8ba964c094ea256d306e2 -KO = 0ff9225b4ac7465bd9cf9795a94836358e78525f156c21d7764fa2d1427b92db1ff169f0b81396d0ea85d04b96e9aae30409cb1b74f3af18c84e63bdd0276efb782f6d33168b - -COUNT=23 -L = 560 -KI = 2e7185e359982b4391b820b1ad31cefeefb164c5 -FixedInputDataByteLen = 51 -FixedInputData = 30a957f53386ba408ac1290caf3cd2bfc34df41bebdb0a84001be0d5409073a4a2ec300f0e7d70eeb3d477a584ef3b213d989f -KO = 6c2b74c1bf682d9cfe3c9ceebe06b42c08177084034dfa0624657ff6416d69d2cc9704ce55012b6bbd2c12d8b2b5e446ae164ce94b700f05fb47a14909d3155cdcb99a2123c7 - -COUNT=24 -L = 560 -KI = b036da4f418be86d640f4ce534925af7f6c705f0 -FixedInputDataByteLen = 51 -FixedInputData = 0897482a50a7b10c03a1aa1922dcf38df69549915db4a83b6f80eb26b9d636b7a01a04847bb6728b6ceca87036b9c4c99a4dc5 -KO = 853eaaa6fb2562d1d2562beaa4690997cb85957e8562af368e6fad8b8896cdeafd90b9565793c884e2df29fe27187c83df1e5afd19f21f7cdd6b5b9c6add94e4d5caa482f366 - -COUNT=25 -L = 560 -KI = 5f8a6ed6bff84f24fbaea963c1ecdbe35ecfbc47 -FixedInputDataByteLen = 51 -FixedInputData = b985adf0aa6c329e41ec817cffa3c76c20aaf3666d246eeb2942d5e01f2a62e58e010be06c139f7cb686dd3a6c6f519c9e8999 -KO = 58c8b5b8e30709e357cd20eb6fcc61123cc6bb7f09a3b5516e8e77921be637ec2e4d942f4723696c954b598362ef2e0c7b770fd26cc109a488bea91276256b3230df299d8608 - -COUNT=26 -L = 560 -KI = f417ae646055740fb0004410b69e067330c09fa0 -FixedInputDataByteLen = 51 -FixedInputData = 5ba7117ff7102705b0527e1e887c59bb95c6852eb5c121a6723a18f72e39f624e1e6dba468951dbab9d2c3465e6412d8f5fdc1 -KO = 856e14d584d6199daddbbc56e0aebecb00124189faa16de6206c50c154b7983339644ffa3543f68005a8d322959b971c6564d69fa34743ad7be41c952f9dc55f453ef2f7189f - -COUNT=27 -L = 560 -KI = 271fcf71d2e5b0080f690ee37270aed34de750b7 -FixedInputDataByteLen = 51 -FixedInputData = 6d60b6a5fe311f25d83582aaf2c6d1d32344f6ac9cfcdfe64ec312ae9a4a5bbc49239439bbb93c54940231741fb40c6ab7d8c0 -KO = 5497393944eab44a5a4b2a55239e1288e6f5f28e1943428fa744a0836d8e96b40b3204cc1a1fb57c42a0b70360ec821f8dd2e9dde21022281fdfa5cd00f4254c041e645075f5 - -COUNT=28 -L = 560 -KI = bffe32c067eeb9b88f471bca0e3ab7895bdbb892 -FixedInputDataByteLen = 51 -FixedInputData = 39a2df17ef8ba80fd256e6b52cb7b3906b5eaee4c744e03ef0f0112a15018f1c08caae4e8cd2d5d9e77b555fe18fc8c0f677c1 -KO = d9053e55c05409fa97cc7fb8e19b1787799b6491f82b6961b295be137813f6ced82b462836ae5bf9cebf31d18f6ac43da073e305eb9784606980ba37716f536b6cfb5a28661b - -COUNT=29 -L = 560 -KI = 9ec093eac68701a1e6378c994ee83775815e526a -FixedInputDataByteLen = 51 -FixedInputData = 8ac5cff1fd9f433409bdab6a08c9ebabf4c9fcb0b8c9ffc4fbf1d3bcc06df68ab7035a1aa0e469b98ea4f79ee49ecb1f9d0c28 -KO = 3423e78add35dbec505c35fa31d79d285a7b598131c155c628b9a7b104a7c17de9f2829e0e02ed75e2cafb7ed09f02aebe8606bb5d5dec97daec98256b84eaf8e46a58bf77e2 - -COUNT=30 -L = 1600 -KI = f383d1bff3c17f67aef7e274ebbef786ef398876 -FixedInputDataByteLen = 51 -FixedInputData = 389c6ecc3ba6f5ec5753613245827ab799c59f87fc9b25ebfb148cdc69ad4d1055c77f487ca973c1c4a62921ca3de52450b4e0 -KO = 3271a09ae509bca94443ba38895407b1420392bfdab306bd0a11fae802ffbef93cdf3e7f430d76f58d7f46063305fd3e2418e1aadaeafc3c163caec05a95acea76114118a3be29f3f7b3aa45658e216a5c6c8ac37754ef082ec3996d7bf957782183bda4b788416e222f6dea582028ae604a3268961be174a0e41118252a9c27c3e226be221dd8ff5b53726d46dcc5833045121c4de1c09d1bb0fef6ef6788e331c235da8d49e84ee66c0aa42e0bf0c259759eadd21c23947775b2bf60c350737b81b2f6c0aebbba - -COUNT=31 -L = 1600 -KI = 37dd2eeab23ddfbee37378dc57efa812fb497767 -FixedInputDataByteLen = 51 -FixedInputData = a322681f5b05aed47e3cbdea342667d3a65ab35314c8cdd34ff641df41516e1dfcb331c453e4f0ff8d4a7388c0022a6a83d34d -KO = 743b193d5273549d0578b1f269201cbb5a68c1d8523ce68422338e1f82953bce4e90f20946155f83f55a84b8adb7e8bdb03398b8f04f7e9efd6590bae8f3490123b40fe644065400263ecff415e5a23c672d4aee0be262a8668d1ee7cce94e377bd01f6c82403aefbaaedd9fca82a6694dd30cc442777c550a41583b1f725c88f4d786d443c8415ce6a2d0bfac0fd6ad6a3f72e8b20f04743fc9e7232c3aee57c4fc0532a0a655b39dd19bee8d968749018642dc125a817e1559a3ee2bbfa792d9c1acc7817544a8 - -COUNT=32 -L = 1600 -KI = 330c7c5901ec56bac83e1b786ad61fff267c8136 -FixedInputDataByteLen = 51 -FixedInputData = f13cdf872dc1b4ac2568ae09807a2ff019622e0da1b9bfe6214f81906859fedc9dcb80d5cf8b48c50a9588bed8d597f8d8e11e -KO = 80ea0409e75183dcd5e7b4480653b039af07c726059eb1971d38cbfa3a9acd99271e633f43fd28d7f9a06f84d6e8814aa815d7973a2605da9c5c12b1917a3f8ac15c78ef6c564156bcf3961ba7c5b200081ff803f1590bc95eb527caeebf90e612622a85dc8f619749ada1586a3a70f44ecc45c70a9eb9c7d9ae70bb1d42baef238a10a7dbe5a118568f81f0d945e9c7b53d1f1f7ec55b9d4ac4d5b94281a2f9dd5db0d53272edb24eee7798a970f83ee65428dca85ecf2436e8e638deb04f54b45cfe317321e7d2 - -COUNT=33 -L = 1600 -KI = add626cbd8ab1aac7dd3df2a4702fb4a97de3878 -FixedInputDataByteLen = 51 -FixedInputData = d8187cbb3a29291535d5b4bce719b0b75747b3fb7896b0420161099a5453b16ee3dc7b77165627be6d0c24e43c9af5be747a32 -KO = 5eeb59d19d42b4ec9002b090458d0c03e1158d1b20d26fcf1aa41da26247f911cdd13756af512252eb6c6eba374110d3a24691f23f389042e34633e671a7d2c66d6747d9b76d5048238edd58c39acdfc49567726f28cad014160c8745e86d35dad3b1f10665043fbea15ba9a09af03926abd859b87b73ef10f5c858f57c4688086d8ec77edf0c099dc721276d836942c8930ebb24b7bd2f1ab05556f8583aee63f9f751cc2a746e510ef2a8e84e8c647e9df7db6c431955dc308e08d6e6a21c45ca305dbc61baf26 - -COUNT=34 -L = 1600 -KI = f495b847d7503ea83042860a2e5865794d6d3776 -FixedInputDataByteLen = 51 -FixedInputData = 40d303973cc9b3a454d8a7c9e6e0439c8833cfe64c8e74ebd71c03903ee85861aa135cd4d484f9a5d13b70013b73594b6c32a5 -KO = e8575d264ed3cc3d71ca3dffc674a77f796aaae7265811b95c75f183c3636032118db25a277541ca92b32d06741f4cf580b06a9888f67ef7644f287b626def85fb397535985fb71ae2f5c56a92b1ed4db7e500a859e649690c66890c14642e371441fc591a0df6bfb10fbee8b951eb84ca1ae7af259ff2b12571ce73cebabe51e6559a23dc5008db34f49cea4c7568638c7f63652c3989b99630deb573a79ba0dec963f19dac843f4338a9249f2dedfb661ef3075274ce66d8aa0136d99f2170a0e1d21a15bb92ac - -COUNT=35 -L = 1600 -KI = 6728fed82aca7b99cc13040785d6305b46530318 -FixedInputDataByteLen = 51 -FixedInputData = 826634dd9622813b583c604080a1e6bee6ec12d03b8e1006341b81334d25e932b066fdc075f911aa0fe445314e3043ae0d21f1 -KO = 3dfe30624639537313640688383c96ef33698b00e952ca7d6783daa3b6a6e1cc70860fe059e8ac0b5175d9c21141c38bc174bc5b7671537b2603d6f3bb8c03ccec57871563e0bc656ce7bd9ab7069ac5a47750bf88980da5e539c09f8d0d00c509d7481a0dba768307227b54cc1485abc4fa8fdf0f70458d25dd0bb6b4928f210ff28721e8af65c2aff682c012f6d4839df9a782b30251c1b3740c25bc9be2946ec20832d2f62ab7cf734f32d5d4b1ef07b8559939540585a9e60a41de17671837eeb66ee7b9e712 - -COUNT=36 -L = 1600 -KI = 58816764d510f0aa4203fbbc566fcaa1d380ce9c -FixedInputDataByteLen = 51 -FixedInputData = ebe83a576e423bc039bbbba43165a34536667b456aded09482520bd97f6a6f1d6424c8cdab6ac2a11ea07029da6389af6f6a99 -KO = 629162464d5642fccbf261d7e86b3932ce7dd82872081c7a09bbb1935da8758bf96bed5059cf99064b294bfae96b517ea6ee1b4aa1e527dac25612f8bce3cd60b846412c9e3e1e098b253d77044f61b11ad88e4e755c7c3ebe3d3030312b8330d48b1743eb1cdee5bbfd868c8c3b5c8c5ef33bcee95d4cca70badfeb0d4d1e07006d81612899905b9a5dc773a8ffdc1f9542c98d3b3999bbe0bc367c16c903939bdd456ff1b2b71ef09fc09e4b1d8e99ec6db4812306c0e7950f088e7f89c0994c870c2965ca3629 - -COUNT=37 -L = 1600 -KI = 3431dda4be2ae2a3960f819f90ad86385aaff1a1 -FixedInputDataByteLen = 51 -FixedInputData = 94b95ab51591aeecabcb7bc09c3ee6ea397b1c5d81436150f20105e33f6a56dbfd1496c4828125655b7bf073bb57962cb87986 -KO = 62c2992c851b561a0c78c5a56ed2520374afcb26cb18869475dd0eb87f026fb23b236b820d245f114fe16ed1d6242c328d0f5e3eec183eb9a4f181d205bfdbfd9c68144cad6623893891667a79d899ce4ab3d94a9eb91e03102781eefb89fb35ca7934693e44363e4e1d772930dc136faeecc1f83038dfe8cbf8503b3a2cd681e60ab1abe160db9a41a1e7bc19ce143a9aacc6321b9c865f75c6977c3df80b32089766a5b42493f9423581effb66b1f1d4b4c852f69147ca2e37a3c96a054e5784734dd8cf5155e6 - -COUNT=38 -L = 1600 -KI = c74a33ec0b89f04b5bc8eef4e19cc24d05ccbc28 -FixedInputDataByteLen = 51 -FixedInputData = 61e134fd126b28bf0d1a0a3514a41ff03ebce33a747e48df9f7c7a57b92f06594760ca85cb9a40bb0e85c79f7d506d2d8e9dfb -KO = bd5f33ef9d88cac1ecd9ae6805a1aeb555c239715c09f62e95fc1e03bfab878ef70c2dd7587777b1ff419e40cbde42e0459653e470fa9afe06b152db267e7f2022201406fdf54da287f7ab9fc1026f3f2bee205dd664d627ff400550d452125eebe38af72588c0df7fb2ec5d434cad3abebb5e1ac04669ee2406667d84fef983d4732e862ce677e003de754d1556fdda8f77446f68d25de6eed52b93c893c20a966d136517e0114307f41bd3e232845624d8ef8ae9bbd872e602a690cc27d02ba125cc8561cdafe3 - -COUNT=39 -L = 1600 -KI = 2d95cc5fc20b3410122b28eb348e5160719a18f8 -FixedInputDataByteLen = 51 -FixedInputData = b820369309bec834840c4eceeab5bfc18c90138711c258d12fd039763318b04a515806d01d2b6dcedf5aa23a377ffa006db342 -KO = fce52e92921b9982bb281ef77a2dd231063ec6167f86bd36ee83188a5c53bb3d75364440ad0f0f9f30f2fd82e5a062bf98b870e39cce617e020297b650d5357ab7a034c61b5ebac045c696cadc7f3f0cb71eabbda6112ca1681ae6774ae4b60e1a1aa45b7f8f9b0b2d175c265e66794242d696e37de4a3cbe0ffe0210cb95d1c29a71752c6b6f7d2f8df8fdaba50059a819c4073044a215a0e470c8503f419992c2b31520cb9567091c69bf8c7c9e394187465fa68c5e258281765655413679a4c2f63a471ef5614 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 3f9b0ee9af55a9c7dd03a9b94d14f723c57ebc80 -FixedInputDataByteLen = 51 -FixedInputData = d072853de0f04d9b1b3831d9cc51e1db23108fe73b9e5c75666cdfce35b7c41c824f17ec2193494b09ffae697bd477456ca51b -KO = 6938a2b1f8d9fd41700af6b4b1b30118abdd85da95ef095b13feaa6318e733683aa6aa3a3b45fe7084235e2589f0bad47b2afc96a366bb3724ff2203d4452140 - -COUNT=1 -L = 512 -KI = 503277187b09c892d433a9624906c362108ce491 -FixedInputDataByteLen = 51 -FixedInputData = e87b702715417ec276ab53bb1abab901874ec951d9713a3ad5b3f895623bd47abc2428b89bd1ba50a8b91aa68295732c9f1744 -KO = 3dbf747cfb36de48102a11d2eaac465e49140e8862eb571d49e7832d8e715a7381dcc3c6d60e590b77b69360109add1d5706561342c7bd2167ed97fb0b754477 - -COUNT=2 -L = 512 -KI = 35642db7e0cc6855cad29bec5fcf6062b4621e6a -FixedInputDataByteLen = 51 -FixedInputData = 851b9ef8f12315ffe5eb07fff82507a1bdaae7420f254de3472fb40b46d2ec0cc2dc57da49c1bf0cffc837a4caf3f3be0d18f3 -KO = 4d21a2a9d7a309b2fea96ae61086804c8e4de2d64426687e47873d150b2d5d4ec07297605c8c0fc8da4ed15bd260d192de5bf658de8710f5ab284b17bf41bfae - -COUNT=3 -L = 512 -KI = 80d60f606828975f057f29b93576ff058d7dbc40 -FixedInputDataByteLen = 51 -FixedInputData = 0745278700b9f1d3c061ec0395863790fd6b43631789cc6ce3c8af09b757f42ea4131a945b421f60c2ea2b90dabd8e0154c38a -KO = 22b09a25c8eff0a6a8150881851d4674b14b3546eeed2ce2755de523e678900ee47bac688e55078f624e2c60141ce62f32b2e717550acfb3787e9df5116032ee - -COUNT=4 -L = 512 -KI = ca9ea18199c53a8947d39dc533f602fdba606d83 -FixedInputDataByteLen = 51 -FixedInputData = 8bf937deac74f3c33e907ed6d495799b92a28a8fdfc2bc4dcb5349a143ae8dc7e0a3e874f88ee287cd954837a2fc9802226a8c -KO = b8d959548a7894a26cde1eb496869316f43f8f57f205c9839a8c6189a0b6c1755d9a4a7e3a4b0934c3b07f60cd4d1dc88dcc2a0fb846ae53a1d875f2ebba873b - -COUNT=5 -L = 512 -KI = 2ddc1f6e29916ffe137c3b9209fad66576abe8b7 -FixedInputDataByteLen = 51 -FixedInputData = adf9dc471caeb6589a9173bb95f15b87fb3d17f80b5a46a21ea6a924bdb4a99cd7da7f63d3085679c45935cdeffc21a4139ca3 -KO = 17569c21d0d2f235bd09beb47d4c0c166fd341a2b911431a79ca430828e2d853ea8ab69d9af88349aff348d6cbc4230c720e9b9e42c19ccdad96141191971098 - -COUNT=6 -L = 512 -KI = 71f444d368200a30c795c6caae612004153916bd -FixedInputDataByteLen = 51 -FixedInputData = a74a7df3c48ff310d7dfb18e9a15a1259c0cd806aa5368351311fce562ff1744051bc283b7291b8bba2161af30c7dad3e62f5e -KO = b807b30dbc4f7a68ffd32ccd6ac213d15269d67632e893f5b4baad6f7c081de1abb9b1e577896af47366254fa3d621e97dd1d679e59b64590b615e606c37e435 - -COUNT=7 -L = 512 -KI = c3c3be537e8bb4ace3a2ddacfc945fd59fe5f281 -FixedInputDataByteLen = 51 -FixedInputData = b7d6e7b9a97a343cb11eb211a781df9ba451af1998565c5bb508ed5d56ed772b282501eb4ea1631c8bf378dfd40d6f1905e7dd -KO = 8a624759d3559acc88972c4ef99d75fe2dd734719880ea79a44b68dcad0d2c4a872ee21261019cabf73c1dee9c5a236df3165de75b30c56dfb01822635979a1f - -COUNT=8 -L = 512 -KI = a4f4878a529003c4f083ab4009a96d598bf27e36 -FixedInputDataByteLen = 51 -FixedInputData = 87429bcd094bc3ce91ccd8cac35a19db7e33a2101bb022b1c5f954b102b64df4c3be4c85fe902900d03437118b8b5a758baea5 -KO = b8efa9ca9da234536a72b04f473483cf47064ef0409dc93e85694eeab79d733816f989d99e700c5194cdece17f9016b114836e18c365099d8fadea0e6d32aa2c - -COUNT=9 -L = 512 -KI = d7514ba1de91665b3a0ad2e141ecf1aab0990386 -FixedInputDataByteLen = 51 -FixedInputData = 4a5e9f009d448005cbeea3a0a185ee423324047bbef868a716373b2e69d4c3e0abe4219f889e558b214b1fbe7fe1025e70fc40 -KO = d7431f01341ff0f4945c7264207043ec9b0904d5521aaea8c1f348242ec6d5eb68c2008c94e30cc62f63c268ebd38ebc7c0a85f9269961e11719e9acf2d2d3bc - -COUNT=10 -L = 2048 -KI = cbeb4593428c31f1ab445462175bea9a582258cf -FixedInputDataByteLen = 51 -FixedInputData = 8a1cff7f4596b2bfcdb27e09b76fc3dd7c8ab0aa98ba803645f70e58564a62b86943eab41f4c0d19d2fae1335904f0a5f0b218 -KO = 1276c3ca89f2236fc672d47eb31abed71339c2a1d292d55989d0d539b87ca9347031774b9289ddea0b0cf4e202dab863caafdf3cfc5a7a3d3faf25e9a31057fd4a3eece09a5b8252da5b5da2e99a08c25bd586ecea3c966b340ef9c29693ae4ba99af488ec0b0f95cae2a20598a8a9d1537e3a06e8212a5132163d56f20faca08150ce3b954be3bbb5ab213874c9ed4ad9d1a4822afc90311dd6e8a3bfa164ba93e05bc02aa48aeb24548450290e911eb5904dc73fed8194b5e40fd65157ea923b54aed59272c9c87c1f34db50c3578ac134a331cdc4bb83b77726973539523f098cd29c7bbd5f6b19c084a1c1fbf4b953baf62a2f577e0c05d82a00e0c59c09 - -COUNT=11 -L = 2048 -KI = 7341d8e7b4df01889de11fac7feb91c08b786180 -FixedInputDataByteLen = 51 -FixedInputData = 0236cc3c3c25171de076ecfc3b29258ce4b6c9a8788ba7f54eae77ecb736919366e9ed10f3bfb0cbd065381a73fa27dc578535 -KO = 1c9b130017dd4f3a7d78533f92af9b810e209e23177db55d4310efe515be2e9533f8677ebe7810ea62c3c4f971b49cf71f46b7b83cf1ff9556f30e9746025bc981067a9856e793633781c7cdde9c1c68da17404d1f9c82a9c2f65598406cdd48399c47e1038761088a78e6e31524ac2cbb7884543e3373291eef5cda3ec24d5a62cc251f52a37297f8496488534bdc60d890fc3f9f1f4d224f6d54b58bfbc81bc9e6bb57368e92bc6127364e3fcbe1a2238105a40b553e697e6753524d9b660387dcaf23c68ba76dd274d1420d7b8ca5f8865023245a31f86b9b3caaba3df242fef961cdc6f2ca0f1fee4b8381c24fdf2354fab53761d70dd6fa7c4e52e59449 - -COUNT=12 -L = 2048 -KI = a4e2b8d5d2627e20f3cb473d68330bb7faa6e836 -FixedInputDataByteLen = 51 -FixedInputData = 40d39b8d03571afed2517692543488e96638e319e483c5025b5f9ad5332c6d29f8d26713b8be4c92229b04d11919ec53e55084 -KO = ef148d08963828a8dad1cf2c46241f357ed7c502acd539bc9070d53c1e032f047ba9165e5ef9967f01040dbaad21c6cc67d32f8f65eacaf35dcd8813c2aeffd7e738af678c3f0b5e05971cfca5fe9f30869312417dfde872ce941b1d42429adeaf0ef3f32db05dfe6e2911a697731e53e06e1e9fa1d08db5359e66885ba8653a11af7fec56823515aa209cfe0bfcc48fde34d1e0cd7faed2f110b70eb7619ce31365f371477d61a0daf528a56e84f14b1cff9cc4427f214944abbaca2d2319c40b86f68b1c6604aefad276e0b99baff4cb06f83d3120a5d743d4ee5ecbfb4b5c60b47ef41b5914b17df0f775981aa72591ce96d6b7b6c21b91256ab25a99525e - -COUNT=13 -L = 2048 -KI = 770fafd90b4b7f208f2e494e76de5087b3d46a67 -FixedInputDataByteLen = 51 -FixedInputData = dfafa9a1a26bd615130b2ededebd09b634fdbab80807b74cb4194a3fc1b57c9de5a36212590269b1e6008ca316bc05d94f6363 -KO = b4fc43fd6af43749426fe2005eb5e8613f8cb6b47ac6fbc9c60d52da21d16c7c636096c78ea26ca22c38aa80ecea05bb65c75774b312579dfdb6c71d170a6e12e566a15f1e046244d3cd688a7cd9f0b12335b1d780f25a26d1eedd9e2aa5ce1b6bdf268a121693b6ca8c61ed743a0d4d26f858122cdfc3a9b2c9fb93c320f5dd0a88601344865ead25c159c41bbdd8b5bfb97f2dd69460aa9da2c9ac588a1f758ddbeed87f9dc2ec4a5de0aaf11fbd5951e4f092a6236af4df2fef25bc73677728a014c2604f653c927714d28cb22b3229eb03c9e2e6a23d6e71d07464192538db0326dfd480609f1b236501e111537decbf8a3d4533ef0935500cf531efe09b - -COUNT=14 -L = 2048 -KI = b118cc245012dbd73d94dbcd72bd75e1d1c191e1 -FixedInputDataByteLen = 51 -FixedInputData = 7ec645b1a51c0a4262514b2e30cd27be68cdf4f130a09fb54282fb64b437da976acb6a95414571628179985f1d331c71471df6 -KO = 1927cfaa8e1c61182141deb6243f0d714c5ccb249e19c3dc40172ffe50f9cb7622cb966e5efcd6173314d08539cb88739d362fbb24859e38aa39e9a50e7d89f865b36d042507eacc6e10da2eceda23815b307d7eaf6ee3ccf01be2867e6c45652339a1bf2f828cf40995cdef908beb1df8d3d08f9c53dcda87c95ac518426b3affbaa1bebfe8ffbfa7c2caab0e8282278cadf561abecd68ab02a6058dcb557828d238848b77783321f79d54d5e866d6e8fe6a2593d96d7305dfa0302cec0e5d568a1749f9ccc25768f600f3e2781f87f435c7deeb517f144e6199971085440f2d2e8cb15df58325c32eb72a61a3b86afb8fb7a3a4272070d08a559bf63fd64d4 - -COUNT=15 -L = 2048 -KI = 7623abb04521e1460193877f820ba67ba8adb523 -FixedInputDataByteLen = 51 -FixedInputData = eacd139adf843af5bf28e555fcbed287a5dc15637d4b8be169b42f1a8bcead00fffd9af155af3d33333b9ef1ff2868898d5fa0 -KO = 4d354dee4418951193c44c8f0dcddc83ecd9b18f984edfd4fed48a8b612cddb8bf4201cdba94a538d46eed066cf43924407d84b2bf9cf1e306cf059b0f01042eb8b913d49226884dc2ebd52b943c54c09d7de0d5e617127a930311e00b57511b1b0ccb808e9d1af0c5888050ad8d384d4c9804e0e9324ff5cae0a5d65e751608675e7d6fbeb8bf88ce69a0d400fe6d6f06981fa895158e3a8d3fbc9e8e1797a3bfb5c0843ecf578958271da818bd9c537cd3279c26b30fabff8a1b77b4776ccf47a4c874fb6f35dc90c9521b42de33102eddccf6d9e63c3f0bd76aee4fd4665bdd1e06462486b4337130938f2abadc59f91b2509f221db02fb243dd89a7fd33e - -COUNT=16 -L = 2048 -KI = 3049aea9031faa7e16f16c40640bcf7b65911cfb -FixedInputDataByteLen = 51 -FixedInputData = ee08578d6e91922a31234c434ace79a90d4bc3c2fb3458fbc88acaa0c7ad2702ca9e8d8226b50a667765076c17420ff0944e58 -KO = f325a4a37ec8c7226bc6fed04b4f9e39cd2c8dbe080e3f6461680ef500c4e2e2da84cb793fdbd59da3462ffb74c36ce0ad6e72c13506701a3d85feb1e9ff2ae9aacbd1e96fe68df5fd5180ec405bd596e1284857868cbfb16151625f6f4a3e56a6366f9d667421cf27e4f316f7e7ed7855aff3dc2081958874c62e1b902cb453b2f5b74d4d4a4ce7653d365fad19484b1f09a28a4f34dd2c267ebb27815efd2e2c7bb618ee93cd000bfe1ab1ac5ac5a23e6173e0fa55e9390dfae89723eb58212ff48c4a95c68a303987b4f944dfbce85c2f318cf45b3094aa3d99c581920614eb38192fac3178cfe083ed775c70719929a6f3b6cee8fcefa36cf0fb50513160 - -COUNT=17 -L = 2048 -KI = 04fce3325ce4295ce3f78dc42ee64de278713420 -FixedInputDataByteLen = 51 -FixedInputData = 4abcc94e4f365968cc56fb5187d23397d8eaf42e66003bf6fb8fb2c0f7663f8caa3eb28ea3ba6000ec7ae292528df54e472f9a -KO = fe2541f8620343e52f83dde513bc236e7c385c8287d85e62e347a3a3890fba09df6c6fcd57105e21fc63fb673fe91a89dd894ccf1fb04be7f464487945e3095082caa4e9405197eff6b18c0ea894d7c850aa424741cde188cf91819648e3e5eb11ae5a7b4ade98472c49af31b13e00d55028b4c7575078985cfc7ad1287ab0544413b5753af9d1770ddd4a27ac652ee2296486450267829e3b4f4ab936112b70e1a8bb44c10fa16ceac2a707869496eaf0c59e77fda339044fd5650f187e3d28e9f033c6ad364cb5485a47da3c42ed06bf508569871cf89938460101d2d4d19742929f9cdc673035a95ba29c4bc558ac8010b8f79d9e0202b5725969fc06ef43 - -COUNT=18 -L = 2048 -KI = eaf4e190ee6b71a4b520787e8aa066568a18e041 -FixedInputDataByteLen = 51 -FixedInputData = f35201d3bbd9291f7e1ef0abb8edb45a36d956c02b8c4f4a89f3cc7a6dba9f092233e517d71e9161715eead37fa0f3b53807ba -KO = 38593650ad1e49f9e9357f2f21febee70010c5823bf4149c82e7f1136e21c49f48a8dcb096a159670c7a12e6d2fd34766c30b8f838f45ff54bee25b2ecb1a8b296a21455fc56bdf7c136bd58d7a3ab9debd322d7661ac712e0c6c2bfe62985bd88c194900b25f94c61ed6ef2f7d0743db50b0c256d2f98d5303f75636e10709b0a5c263e13e7fd7250d89ff54598220386e50c7c38fe8a293b80e254b0a3ecfa0a5e67bd7e204bb1c714ffa0aea859d66f6afbfb667ac3c14db2935b254b1300d1f39525632f90d5e588cad0659fd253e7c16048e645519d24cab436edf6047ca12045eddd528b1ac52e00873ada41be1b80c7af644b74dcb740fabfaec4743c - -COUNT=19 -L = 2048 -KI = 8ff127d12a048b1a28870e4a3805f7a0a773b946 -FixedInputDataByteLen = 51 -FixedInputData = bd9ce1009b7ba2f4287e2cd7ca4489dafc72050bb8a68a01d6454884870d13cf12b712137e86d255126277d3c958fea756632e -KO = 96b5ac20d6d37f333a6b0b39b179bc44d8a1a616f986b367a0dad98154b4889b2d95ed1853b1d64dedee8a45cd32f6c87d2235dc781dc6d7e4fbe87a8e5acca8df7b1b05427d728059da48677d606cf339bd3636efbd55fd10a9dc92c15d7800db0183e8eee26bcf0f75c77b6df62a630b561d270afd32c51abab392656568f652e9694808555cb421761b132cafe0243332d99f896e450efc7997cda4eab6ada422e9fe6e64810dede443fdfa898164c511e4dafd9bd7134b52303f6bc5cf3f310a6d77b5c2f7a5ca757305876c46e9b7df74a7284305a281f02f671fd0098b4fe6b9afe09057fa97fc01a2aa7a300673ad37ac466e3c5f379b319a1c4e7739 - -COUNT=20 -L = 560 -KI = a09ce704629a4c3fd271e67dfbde1ca8dabd7d7b -FixedInputDataByteLen = 51 -FixedInputData = 0205a8444cb9499efc2f3d20c7d91a3ddc16b3b3113e2062f64b743c370140abc7d7b90f547c2be57e46450fad697223a6bb0c -KO = 71fb7aa3b28b779c76d8a3305bbc751c2135bc53284e6942429347cd51047f3d35ccdb9e6da77fdd3062c284d6c1a97cf1b32d70463e2b581ac792e7ae17841d99eca1587c9b - -COUNT=21 -L = 560 -KI = 86ab7e06f7652b6c70ad3575a070ac77072212b2 -FixedInputDataByteLen = 51 -FixedInputData = 3a2ac1b2870fee5d15b32d232acf3e5a7417fabf4c7474e05dc47401e2d01e6f58315e60ffd1a345c959f151ceb2ea90cf85b4 -KO = bcb32a6eef39dad886b063c0523cb21543a88a1e7f9119157d95ccc460f977763e19c47d14a93b6979b7f41e690a87a40278529a345fd72552ee2d4dd95b7639d68e80f063fb - -COUNT=22 -L = 560 -KI = 2a20b3d22b42bc11a7aeaf3122c6444db2a2e4ca -FixedInputDataByteLen = 51 -FixedInputData = c77f8a2dc60ac37dd007258df908c0cbabd33743213c8e965f6a6badb34c05f5744a07f035a88b1af269111d6e49e7a57ad823 -KO = a5a068d5ec41f0982fcd6de4ea1afc83ce4a032317a86e44025bb7ae7cbb960bbb50d0c5548eb96aa50f35ddf71cb2d5485a8480b639158d3e2c2b7f82142e62cff58b8490af - -COUNT=23 -L = 560 -KI = 926f764ca8a623505da44a1e1dd2faf4ad103cd5 -FixedInputDataByteLen = 51 -FixedInputData = f2a64c1e528afb9d1a51b3c09cae2e4ca5fc0f90dde811b4f004efe5695d55deb02214d60087a0e1ecb2dc01868068a40893c4 -KO = 5e44936620f4d6c3b036eea9f3d77bfe106b0c24ca365e1dacf206df83a0c87a6977a36727bc232787029a46d4ef49280868dcb9ab3c0c4fb59c68ef5c5a3df2eb333b60009b - -COUNT=24 -L = 560 -KI = 6e4b7fdd1b7914e32a9c40ca164881c8a755c6b7 -FixedInputDataByteLen = 51 -FixedInputData = 864de7005cba1384d6d19267583b454f9fd44a1cf0ac46c9ac940572c63a4cd78ebc0c6cc08e91f652196e6509aea63bc27d69 -KO = 8efd42cd1b8f9bdf9303fa6befd936da9c5216fdab94c0550706d4bce6686b17eda78418adf585ec6ee0e38787b6a26e4a35f9b0effb19462fe1615864d31c19acd2020c951e - -COUNT=25 -L = 560 -KI = 75f287b5ee7c66600432ee562c62a3d5c629786f -FixedInputDataByteLen = 51 -FixedInputData = 73a5cbfcba3926d70780dd5d26e885307641a20fe21c3704f90c3aa5b909d8fb3e559b5df9e843b3a4b184236575450070a076 -KO = 73b2d3bc84f052c42eae617e8d231b249160ac27ea70bdfe9f31a5cec81874bbdb32e05b14edc0f5b559f10a825d849bcd9d3ade5e13494955f99dbf2b25ade57a5cb792a5a4 - -COUNT=26 -L = 560 -KI = aa28d4569c6f4060a97191f57738f205993288e8 -FixedInputDataByteLen = 51 -FixedInputData = cbe85313bc53ec7114d04ee13bdd7a63ce4e5fda2aa35aef55d629f2f6da26dc10b5dbcbf6dda1f1a25784edaa8b514777a9ae -KO = 41d2e39ca54829dbb9eba1a80b33cf83b1f0f6fb8b46844dadbb49cf9126d4b0dbcb7ae116733a17461fd9797ce3c3ba9606002d1a2f1a274a55106d6b71fa8baf2515b0d6c4 - -COUNT=27 -L = 560 -KI = c8da7843e49f6d8ee060b654da5f8b56cf395cb3 -FixedInputDataByteLen = 51 -FixedInputData = f1f6e5fb87ae90723021d4c4cd4f562d6be2ea1bfec1b21d4823b1313a204c5ba1699ee9378bc90380b71b3010cbd737b9ebae -KO = 3c871a4586b3053f844b84ea810c515f741c23e8bb6a112da2e5e3e707c81aaef094131684345625778bb68b0c66f3c749dea30174e16aa69bbd23a5e3d71a13aa685b973b5c - -COUNT=28 -L = 560 -KI = 3645ea044db14404c79a490bd95e7f05f223f0e8 -FixedInputDataByteLen = 51 -FixedInputData = 8785c9786aa823a1b62f68a85721a1eb5c33c1784ef5a445d1c4939834e4ac31dde366e6b080fe13f4e51350d71ebfdfd8ff82 -KO = 63c5385e61ffa856d971c66d8963e2e7bebe9cda6c2ea7f24f28d897d24078d62145308dbc135baea4f9b37f172d7d43f71633d163bf2d0b1feb047b23e5df484a99789a6a11 - -COUNT=29 -L = 560 -KI = 54bbf80231990c3bf0bda3f178a4eba29ce22c74 -FixedInputDataByteLen = 51 -FixedInputData = 2a85e22c132dcd935b7d4770af5d450e38c9221ed63c06663e0c65410ccc9a23313816278ca5623fb45c653917f8e0036efbc7 -KO = eb047123697002fa7024f5dfbf533afdffa2f9bd7ab4f4e4e979688e96057650f104c21f99a08660bc2eee956dd31ad5d6d77a6ba5f3c6547b3d21dc20f4c62c9ad85b82de9e - -COUNT=30 -L = 1600 -KI = 93cc2eb71b7c87a71d6d93da190ba5faa0ac3d42 -FixedInputDataByteLen = 51 -FixedInputData = 34621acf4a1c4c9aeec56915739e328f52e7983a1abe749b5ebda4e893bab36327306aa8846026108d2015a6ee60485a4fe63f -KO = 6350a561cd98e5af0cd99aa993911dd8512bd5b1a4e168a8ca65f520dc9280d2a8a209e6dfcbf1561a4729ab4d903ba8dea661dc1a661ba1dadd66c9d5f04122ef40b8cc2a40f8d41e5a5044ec30ab0b9ceabc40af61ab99d41a361368187a15a8b642349408ecdd4223851493c5d54b7fc6003fb8f0adfb1a07be1f0f08f0fe5e483d131e7f049de9accdf70fb016d5bfb314fb62b85da0cbd6e737bffce8b19c6c0e94fd5e4f1d00105f8b18c12ca231a858dd98123554d03d435e9798ddbf560bb60985321e28 - -COUNT=31 -L = 1600 -KI = 3120d38982ed483c6a43a3cce27c04906dd9b82d -FixedInputDataByteLen = 51 -FixedInputData = 5d853a7a4eb5790b89c33faa79a38d2e01d2a63d7d460028dc23a75175be580c8fa38096b83d15df33e0f5a326c1cb95f36e2b -KO = ab11d29c6bd5d0a9ac14d7e531bd9bc46772cb80b487c320c85289c0791cd6413a5d247706107a47704fc8f1781a0999d914238b2b46cdc8fed29877f76bcf85b975f0f4738a12d6dd4102a621d2f5f2e5ff197ce9dd44cdb03fa13a98039df12db7dbb3200d116810287df8e767565e0ba8aaa9ea1590ce40936f5fb4695e6e2daa2086da9d8c50d1e4ba2eef3b77b3835aa20b76ce3b7dbc04f95f3860d4fdcf671cf670c79b6d8848a549ebc7d9a3eea63f9375e3d22d8817dedc92628b153fc1373934909e78 - -COUNT=32 -L = 1600 -KI = b5753c3e735676f12978baa02a6bddd07139ed69 -FixedInputDataByteLen = 51 -FixedInputData = 71c0f80c1311cacb90c01c9b20b621de39f6627dcb4f5a478b54945e7bbca887e256ca98cbdea38f18bfc04f6d1ea7efa86a5d -KO = eedd48b1416085dba261341adc39ed9bc847bc996c9afbe9815b8c16adabe7bd4e78e6554e7714ae0059fd191a0e6014498b15ae1828314883b38ee7f6283c203af510a566bfdd741dabd1edaff6d6b91dc89fd996e2d613e73caec569bbdb8566a31557d86162b29eab6586bcd737e54cdbe3215540c68428c3886f118209cafaeaf6a86f4de8b93b179c483246004555bc5efc7d83dc33f388ad62a569af3d6036462af561b7273b77a697d2fa93f3b45b9493781ed4235867ff0fa589c30f5e0cd639b4939282 - -COUNT=33 -L = 1600 -KI = ae4a0c64caa163c57b0b79f93dcb94b9a2efbb1d -FixedInputDataByteLen = 51 -FixedInputData = 2c5f3fbd454cf08ad1a24043787a8c46fe64b625a7a20efa06fbef94af245e522748cfb9ec319019366d7101bd5bab7e6e78b0 -KO = 1ae15469cac656ba101ef008f63f7a516935ccb899997aa65153944680d648773d82f31f0d64903b5375ea83478ccb8acd9422afa1425058e8b04f48d58e3275b429b0c20ff953772a13fbde87044066e9e7b0feb731879f80dd054eb55d95bf566210810a921a7d36c3f57797d897b8b5020a1da884139b683744f0af80c411abc3376964f1b0d0e252e293724794918b5fb69f4ee9b3dec1e279d4e7101744f4771f32f3bae8ccae25cda02f1b853a1e0435b99507ae433f6658468df8c77096f8000444adc486 - -COUNT=34 -L = 1600 -KI = ef290d2cce142d6862819e03ced69bca61c55718 -FixedInputDataByteLen = 51 -FixedInputData = 061fd2f3f28b270f76a9ffcc775978dcc79659a6e07578bea2c8fa8e9ee81891ed14ed5a594734e12b7df67bfca689b5cb7e1f -KO = 8b7747b004122d1e4fac995bfe3f4ddfe967a57602e920677c4fd196073704934ec9caa2eb31299c63af7306a349f4e5a73dc34b9df0ed0405e4bef56e6434c7414eee08f80b38bb4651efd65d5990704d928073d2730a65c4a29002cafe25eb47df64adf8d494ab31d1bd38fff8e93de527844c645359a316358141462b8c1103a02144dc7e0bd9dd123a241164afbe8697dc15a571ee800d57dcc1aaf0963389c812d63092d10b10cc0698a650cdbe63967973a223c4ab98ece5c551c56d4f208ea32b83364d57 - -COUNT=35 -L = 1600 -KI = 51c18133b93aafc59a2c0243498f69435921036f -FixedInputDataByteLen = 51 -FixedInputData = d642d41c9be390ccccec855fc47da6688258b842eba54935818c3e3771001cdde2cb2b8ccb02e047f471054ab598bd563bb72b -KO = 9a4fa891d1fc52b693a3d5a28ec7711459bc4cff0643edb88c88bff655473301b6bde82f7ee69f4d921fc6a175b7bd7b246c7f7afdb346bf014df13425476c9e410adea76069b28f14707145ca8579dd2f93526577808fbf72bb3c22270adba25f4e53ff585f7755db210a4e423345bb7f2327ac759dac1ac21d6de193024d7dcf08b938a29264b9f20a5eb5cd0d3ee7c727deaa6b4951ae24a7b2265eab4bb4e89db1e5126be7ce4a6bf91c316e07b50ab24b428a86fd3191e677a8a167b562410e544d964bc1f4 - -COUNT=36 -L = 1600 -KI = a2237bd140a530e8c0e3471f1f330a45754a1fce -FixedInputDataByteLen = 51 -FixedInputData = 842b2e23bce2e438e5a150a537934ecd3ec2cfa433a879adf5017d3919e53300c37d2e51874129e6894305aec68430292e143d -KO = eea56dde3356160e8ff0b1631eb9c9ae025703962927aac015ac6962dc8961aea3e8c06fbc38aea4cf341d43f699eac7518bfde918f13c0bd43672d3ee616dd92bac1aac55858d1a1ee0c9c1a9adb5396a49f9672ce053bf9d46f00d948f07f8829312d173e3f203dbb7580c2ed0ae642e00382f709257619871e156ad114eab550d30fad26af5b2be61c268de10db8cb108ae9001d4c13be7b35af61633b5948b68ad4539c42b550bf5280814319943d4ce2641a17fa3fdb5cbfac8bf8d314e20fa6cb7d62b3b22 - -COUNT=37 -L = 1600 -KI = d3f1beb242724e74e815f4b46c7dfb19dccfd91f -FixedInputDataByteLen = 51 -FixedInputData = d24c0bbc8926e8eaaa615558ad6e255b6f275b8074a0ae6dd4b5a76d7617c5d7bccbdd518f7d61bccdf6ca92dd85eecf2a6a52 -KO = e16699080f184133fadfe43e5e093605a910eceda780db9a2637e88e03d321ef448641235b421115d5b0b4db3417f4573bead398d6c5bd43d4dbee2e5e7e99d4751d7409196a0fcabfa4c852fa0ea77b4ffbe1c12364461c119b0497fb71593feda7d04f3c6e33afbe0dc7c2137813c8b8f7c8fd7be163851591dc2c0cb2430e1728c2a04cc47fa2989d0970c9e382caeb11725535b170c831c2171111d91b76bb14240244205a847562c35ea80c57db46eed21fc1d39463fbf2eb85626a1c3170969fd7a330bee2 - -COUNT=38 -L = 1600 -KI = 90f02879491666fd2f377a4622eba9655bf36c3d -FixedInputDataByteLen = 51 -FixedInputData = ec3cd33b468ecb0711f03f10e7ca7b8d87b7fb802b0951f15bd5e687dcd355c0dd1f632a1833d7238fb30e805838c59151c688 -KO = 2d216dc5dfe5bcd6e79b843133e353b705e9796cb0fd31851243539ba6ab1ba764d757a75bf66d6021c8db3fdf90a11bfd612b63e099a13a07982f9c1dccfe9df018e167cfdb37868c595322221c87388040cf85ad2dd87e28c20b94f3cb1c724cb9ae787e14f974bf57c41e907b49f85ab54c02fac9d62debf88a0c0e869aae8c2e45f35a7c7f7b739c71bb6e624b8f9be66854310601db85022ec831aa382b3a0108cf921a9745de4f16bdea396a5b08d51deda9f541ccd46533a6dcad3b459618005dad397b85 - -COUNT=39 -L = 1600 -KI = d0a2569d0e022b39e9f578baa6941f22e43bb3c3 -FixedInputDataByteLen = 51 -FixedInputData = 8c8de0a2758fcc76728074a6678d80ff98d554f561e951d52a71bb44ed45c134242a1baafd42162b4d3552275d68a04f5120bb -KO = 6a563f0f001df3d0471bc5182984ed3a677b26328eab9a5c00a551f8862bdfa499dc791a635382c4b0c0c30558ca6dc9ef22a2efdb12ab8a82f172af91d864946be9cc9cde1a8b5f71ebe5cd5b664c287e585cf230dc4842ea929f5331102b4e338febfbe4cff9a61d6b324ce22803b7fabb2d7edd892cfb4b11dd1b1842d3fe1b351e666d637699bded43ab7f4094075a1a1965318d4b5bfbd4f16a6e859ea768ad1567eabbe1111a0a94fda6fc84e5ce8c0cd2234e025a2b2b4271a9d1f2a90e1efb9d033606b1 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 46a856152e6bbc9ec3348c18076a03208a6d43e2 -FixedInputDataByteLen = 51 -FixedInputData = 81f1e71f7169a4ed80f1b513ee92691905b0b4c43ed77994f50e47733e08d50abd46b402c204c828032f535e3f9236b54cd737 -KO = 037f1edd35a6fa69a255d71fbc1771d77e0ccd1eb14215f7bbcf4dd136901dce4d2839b1150a9cbfa29cd63a520f6058a87885e0a4a1b636dc26f812b656069e - -COUNT=1 -L = 512 -KI = 250eea7a84293fbf69c6e91d35d7c369e2aa97ef -FixedInputDataByteLen = 51 -FixedInputData = 3bddac8ab7a051aa277a9412650c90dcf6b5453cfe222d83aafb52404beefee4f3a51748a8593a4adf058cc6477de8b3bc4c62 -KO = 6a7d84c1eeaac893d15ba59a6d684423a36e9b406b8bb33616bdd13d7a4b60370b9b8eb12ed6ce81965bc721850487fec076fbfe453b05cb5d2a90e773a8a9ef - -COUNT=2 -L = 512 -KI = 8664fbe8cacdc7011553d8354862808b15583acd -FixedInputDataByteLen = 51 -FixedInputData = 2a16a7a4a1618678f17b3beef49b94205ccba97a169b859334d3fa9f8206a3b748a524cbf81456c91b644f93c702f04b05cf0a -KO = 70ebd0439c48669f55c61b23bb912ad59befd6b6f7087e4263d63d92ae9461164889f80d6d8971f8f3e61a5304dea373ad2e46d14d3e6c9ecca5656bd9da667f - -COUNT=3 -L = 512 -KI = 8fa29b9f2786545f2d058c908dcb93be76262aae -FixedInputDataByteLen = 51 -FixedInputData = c2a70c35c83b048536bd76bc88175ce59ec41ad38f9fb875c1bb05ae40ba28a05209108a1f0bfe843dc3b79080d470df164324 -KO = 8adb7c468e0e8048aeee8dfa51c8580d6e2d06bbfe04ab7936f44bcc3bef2615d72fa4d25eff6f9ad16136851f9c5fd6f18eefe38693dd8ae82dbd8251ac79a7 - -COUNT=4 -L = 512 -KI = 536d4ad7cd55571197fb56b46bfd7b929bb85f04 -FixedInputDataByteLen = 51 -FixedInputData = a8103279ac1856457a60c6a845e272b9122391c0b7223ed001bc3a1f770ec0a8cde39b8b25ee244d9c4474ef8ef55ab60874a3 -KO = 5bc850debd6a29385478dc65d28cde764a7ded34ed133bb128ebb06091a9c0d129b474a7a9c45d2e619b963239c67d7641885f3b99defe6329ae93f2a55fd9d3 - -COUNT=5 -L = 512 -KI = 39588f0c759e9e8387ec061ebfb09fd619562452 -FixedInputDataByteLen = 51 -FixedInputData = 7f5d0e98901165f86e3fc2d90f052eb382fa98e7ce56b1c6ff8f64cc4816b82954d9cefa79801578ee47caa7f8bd352cb7b482 -KO = 912e3ad7f66fba53c729031e5b3688a58f40efb23e6719266494922c07ed63973f5c71d9397157fa8d77bb38e6a2c242d20713784a3feb730a38e08571776553 - -COUNT=6 -L = 512 -KI = b0ba05cfd297728d42e5e47d61640bafe58bda0b -FixedInputDataByteLen = 51 -FixedInputData = 4ca6a00ab31c0f594e2e68654dc942b5c1b434cf54fce24ddcb18aa69908de601557755b108b87335928f775e2df11b397d62b -KO = 8077ecb49390e5b6bdb0def5b350e3ed28144a98426115c9778cd715469af66ebf62f65e506c951b48fa7f7db35185bd9b566d8f0a00acc841c661ec80478a34 - -COUNT=7 -L = 512 -KI = 93c5c23b00283a0d60f4b2b804455c2b62308ff4 -FixedInputDataByteLen = 51 -FixedInputData = cf5d6c438a5931f07cd5ba554db1896caafd94729e1b1c09bbc2903825059bb4fcbe080f04a5a48102267385e47003a8fa8e86 -KO = a142da3bd01ddef0e54656e5e7b731175903717b561283456839016b07eb443823c26289d7c917a2cc2d3d456e43fe410d1869bdfb20d061cd92ee1db7642e37 - -COUNT=8 -L = 512 -KI = a9fa557955eb6372dbaaed3f17232848e229f19b -FixedInputDataByteLen = 51 -FixedInputData = bcfb022e5f030ee034f15bf53a0a4a697d73b44a64767f750dd2c3ad97999c460c0f0bcc18b72985c3bb6d6a5c7aada59582c9 -KO = b76c9fa00c8ae9c0882381738c2a16d51731270173f3094b9db58e358974200e24980e54e4e75a5dca6a07dc477f6074801141e4034701c6186324850969fafa - -COUNT=9 -L = 512 -KI = 6472abce2f76e181391fafd8ceedd3cfaa9a3e55 -FixedInputDataByteLen = 51 -FixedInputData = 507d81971ad22ff1f9277624afea99a46eb5e9e1bd8543fcd46a62c9f19be77f3b19c094cbd2a3c2a8641f3ceb4cbc7e5a6df6 -KO = 4ee1010708b09bdbaa102fc23205769d1d36021ce933e16caf5c635249db57f6442638dd276d941b2d018b9ef7ac111b083c43763df1e45809978a6683ff786d - -COUNT=10 -L = 2048 -KI = dbe1566a4b2a13c9a8881b59d09da6de60a18709 -FixedInputDataByteLen = 51 -FixedInputData = 673fb73b0031b868ec4265c6b3b6b400a6a2ea34c7efa1f385c9b3d748da49bb6cdb6d2d1df473af281e0e4c836d4e42943674 -KO = a5c407158c8e2263897ba4d02b9d651e2a93b196c4c14b6a487a63f4fb8a1b0c65d1524569eed9108f815e630ff74f354bfad91f425c2073e544fba26f3ddbfb634101fed6d351c4e977a6ee6f4428d16b924984aa5d338e4d4a99e30ca320c1f9b14ddd14c32d34f0480bcb81eec48a97da113a23fb497d40dfcd181e994c5666021a87a0930849fbf6f562ee85bdc7a574b4ba5ca6432bfb365bf3895026349e236cbb2383984c496338655ff6e97d9fe2e9a341659d1c77df4f1cbfdca89e9a4c01844d24209bb0848e205241ffc6970947933d6151cb73255cd9245a6079cc29cbf39591f57bf9e8dc485daf502ea0131d1977f71ee98b5f99e59212efeb - -COUNT=11 -L = 2048 -KI = bae1faf8169ba2c33feb3d29b4c8233e0a3b8474 -FixedInputDataByteLen = 51 -FixedInputData = 01a127b998fd049d11bc29cec189015c73989403e64fd2bc6183f6f69e28ae654c68ec965540a9ffe5223864176297befb5c44 -KO = 13aa90eaace6a237d12755f9f26d951e69a3a1d6e683f39fd2ebf62a1d41d2eb22654bd744f61aca0e2a76153a56d7edeb32272ce03b92f0a640b55d34024408ddd45586cb242bed6cb9f5a2be5b9f2d412cc0e30a5abfb66782b99dab16d82edfb2a5ebd2aabdc1bd381e05e5c6f46db02a4b6af7e44f6b6b45ea89f78cc098b8c2447caa521facecdc7083d6b2eef44fef20497f2a0049f09a00e276bba74f9e2ddb695cf45562f02ba176648f4bde5011b41e49ef4b29186adeb181a06f794580d1314ea6818e3be72672d061adeb198d9bc3738955b76c5848fcbc410ec6be6aa5d70b19fcf2a5cf24e5039a2da876c97d509bdd1f030ced25314cf5116e - -COUNT=12 -L = 2048 -KI = fb55164be23d3035ac9f263603e46e08bdaee244 -FixedInputDataByteLen = 51 -FixedInputData = 240123dddd09bedc10c7920815e16d7da6c19d706e0a1398bbe4ed3e9d339761c155a710e6335a64e39c23e4806386011c8e43 -KO = c4d199665c3348bfe0ecb6c5a02a33c3cc08011394cd2566efc9721860abcfc390ec76a9a86fa2309576e17d4e271ee157e0f706590f69f51908003c2dba30f3a8db2b5974d96901ddf73c2f5f8086db332e8ecd7de910e811d9f46407a3c5e08321c58ebae784f8c4d82834f0b91d8bb766d3bbdb4ac2913bd7833f8de1542b26731832c6ebe73ae3351b15f6571aaa0cb438905686ea7ecff71511598c57f02a1035d0f80d61be63b04f67b12112f9fdfc4a6f573e6ab40ff21e12d7b0fce0d1caabef83bc08749f906461beaafba641390e571caa8bdbdf3608a35b7c4b00869a9f80154bfa7e1a6fe6a7509ec8951655b093874492d5972881cf315f2aa0 - -COUNT=13 -L = 2048 -KI = 6859b6c71b9d18124160fad80185d19031bcc4e3 -FixedInputDataByteLen = 51 -FixedInputData = 79d9db310d5e645e3355b72e74a379e3a7d4f4ee3d8d1abe5bab010237565ecc2956acd0a7fc82949c6d9d34708459cc40bf1d -KO = 2203b1680f111858110a2b950b0f3e0813b912601484de9271a33e71f6efd97137b8a8af43f38f1e02d59f1ec661a6f56cc6307fdde706bd14a249d6669de24646953bf07f51f9abc243740fef0d46af80c569dd74d1773377e54f49e7982d7fa2979a9b193709178160c80b3f96a22c4192dd7ab668becac2e09621029416e8b4a759402ba8ef5004b1e6bb00af90cbf404921fd73539b6b43052c8e61ef29cf7f87453a32dc4b5c21bea2dcbc952eb0812dfa88130cdf07c7b66deb8deefb79f2df570481cae5262782c68b8fced98a9b00f3229e4196f04ead9b438f57c12f6073d186e95b7e5e25165aa5aa21f14820852ff91fb5718df00e8cb06a9c15c - -COUNT=14 -L = 2048 -KI = 7687ba85dafd2ae22da90c1b2fe27298fa282424 -FixedInputDataByteLen = 51 -FixedInputData = bcf0f57fe8ee57e75bf97ee7265204bf96201b7b6850fe8fffb9e94597dae823ca5511eb1a42352c358244dc09e89b83a9c8ce -KO = e018b89cd353c81fd90e741ab910ef1076fd7661f0330623013e8dd9d89badc36b57c79c8a77d63937514f3081dd210405e5d94240535affe8c33b796531d6a9e6a667b8a516ef12d40aaad9c7dbd028ccd59739677b7ba859e71e341b64b0862a5c9d856056f3d1d00d0ad3785ce440b5db60f8fbddef40fd1a5af0963116d4e4f1db2ed9095dc8b2af07ebcae937b800b2766653dc2a4f2db9109bfa6a8a9a5c8036e3ecd2d7f22abccdcd0938df0f72cac93654b7f3826f8d3d9c5b8129f78f8482d5b70ab772b2b23693f8c2ed381b7ab1642f069a35c070086810496d55e69f95280f67c38481fcca295d979f89050d9c40e57d826141d476752b1d1ab0 - -COUNT=15 -L = 2048 -KI = 0d8a7020584d7d587b30570cb747b30a52804171 -FixedInputDataByteLen = 51 -FixedInputData = cf094c3c17224da21f45c5047a0ba0550c975c42f228260db88c61faeb3d201dc907b247ded9b808e7502ad4d370d77ba5fed0 -KO = 3c7bb5c4d5c1fbb5be6bfc5a43130f6d14abce249e32a90e531fd6b066722c37776e8a495af415cfcf36e408fb67b16f7ccb04ec6e7c5efabf9325d6aed5f74eb343fb7baaa683b4c12f72368047a35c5e387d3fdac784a4158534a198f97de052cede02fab113ece3aa401c80486ab502bc3962897ea45f32e3e994a35fc744f658fbd5633512c9da481780a3b32c631f4b7d7201de4a414b565966745d24e33546c6e9720e3021d9afc33fb198cdca78f2e925be9164a44042384e920846099094270fc3adc8f1eb94e86176b8a6787ac64b0a5de0eab90ae2c2b5fb42c366d90418c42923c9e67373cc0cbcb6651570d81004acb95a9b4392c04ef10c662c - -COUNT=16 -L = 2048 -KI = a6ba95766b5bd7aa486c23ca066ffa047f9c4e1f -FixedInputDataByteLen = 51 -FixedInputData = 195d9302146a788dd10958fb9eda0f6d187cc7ef042ce96346efd6d33335f1189462fcf0388ced8e69572c9867edc4d7faab65 -KO = da05be88548e3ae95acef59049386bc4f74aea93d5f23b5939ff1b05f536da7a4a81a3d312d85aa8a622764d1ae6b01efd36e3246786ca311cd9170828a6b57912776c8f9b8060450eb35a70da685772a7dd5e23c5a86adab6782154c1e016035ac11bea0b5332638f549af88178dc26712dfb464fab54c1c0b99ae81ec0d08571f23f57be245b32936dde6cad3c1c62b0d1056cb0fe50eea201a92e8789689d529ae088a22e153a99fabc96d3bf4f7d53bfa749c53f2c285ce5f9394f04e139122bf2a92de837c1d53084b3a69a800daac784445023391b95715d20cf64838fda9bda556422b2a9999555d3cece13f301bcf286551214d3cd29e150f4eee2af - -COUNT=17 -L = 2048 -KI = 8949555d24a336474f607370a7d7b6d092154530 -FixedInputDataByteLen = 51 -FixedInputData = da230c68277dd4a03d34a17d61c3762ded981383e4af0d247e48c0a1a17912b327fc04c91fde9848a5a25067b570f14ca837ab -KO = a8402b165de8ceacca1106ee11cf2e3783ea4e67ceb732c4109c0f3ae01333af9c0499ae58941dde2bf15824cb2bf16c3cffc602719675f088a31c67ee4f4449911258e3168e34e385f8360b42d1185713c33ee5a1a4576cd246906f3ecae1fd2081b7850749e9364dcd4c3224297be15e291506de19fe353c1eebb6be8ee925b8cbe182b604a138e4ab3df15535e62ce172217749d754870cea8ed1d22e2dd4ae19df9956daadcda4c90d8149bcd74c69d04cf24784184a0a65ea786d9384fa278bba9aa95c970eb20f555ea766edd0ad94d7ba2fad87d1f74f1a2e9828d200b849174665a9d20e832d6c35161dcc7c28b17a75314e1e8e1d708be16372747d - -COUNT=18 -L = 2048 -KI = 725d059443716b2d55344f1963ee3fc4006211bc -FixedInputDataByteLen = 51 -FixedInputData = 66223b332c286e8037ce5d52661570cb2bca7e51cb6f88a103db10e6a916a5a0ebd8b0d1383ba7a8b9f3a9b55bee412dfafa62 -KO = fb470eb4cc3ec2bd26bb214332fa6898a687db9577cde2128aa35b48aae48d5b29cb3a97316e167b14aace286e7fd65fe5186ac113b79f5ca836520daaadfa89b752ef48ede756272bf09ea9bd6c00987cb55cb78c407c3f0c3292e407803352f18ac39131c01f40c3a807e2e2055db4eedbd95dbaa6ae1183f2f83d2c9b607a5b9ddcb2f1fd47f100fab1d4f979473b3b47c3a9fb9a0f7ac8e368d524c24eef114a973f07e5855579258aeaa34946ce6a3cbb440b880b99b36006834aec9d751f31b46f96241e35e3469c7db148cc6525c2b6788ada63122e700d77407ec14aa8ec1a89c242e1fd2c44a6ce46d6c194e878a7a413f128d6ba9a7477f515c01a - -COUNT=19 -L = 2048 -KI = 526a74eeea796f3606d7db3173cd5c8863b9ff1b -FixedInputDataByteLen = 51 -FixedInputData = b8116f536175da87d6e703a90ef545c8b97383ee0b3715069fcdc514ca6e5c60dd45fafaffc3d5b9fd1371c639dc0a66179368 -KO = 53e77bc1d5dfde1c41b9025681db05fb42e96708bf326d2422a8ee08dead830dce9582552d34916e946fd1b50f8a13c59389cce8470ba07015f5710491b8ca6452805feb8239b5224a9213e8bd30d69f6698a5b77b93304f876cae422e6f3a2c7c0b98d719d59ab15ad6631bf5794c4e6fd84b3d3e692ca6d47fcce56211ba5713403f8fc74fc7d388ba6667a4d583a7c9b5d197f23bd209d7536bbae6e706d8a4d76542a1999d09bfcc7447707fca12d837708d306ae82c5aef3d3a34ca6f6aabf0749edef0ad8b7995e65c8e15fa50b450d8be04048f567aeb1ef60792530fe92768004e5fcfc0492590b3bef668cb8793b23b618993aeeeffbe22631d353e - -COUNT=20 -L = 560 -KI = 1b9b3c04b98aaa210f10e1fd88fab32a78cba42d -FixedInputDataByteLen = 51 -FixedInputData = cbbab9ef874db72bbe9fa3ecb7dc5bd29ce51b217cfbf791b08a460db99881bf6e310f8c4ae0ca0e6c9a8d05c3f5186ccc75b1 -KO = de876bbb5defe0e413e4972691f44e3306c37df406c667c6cb00beda195d05022c3bd96258e0401552f9aee463791add2e3387918979b0d9939a6430ba26c14270dd7f67de58 - -COUNT=21 -L = 560 -KI = a3b576d5f114c1174127da289d15a8d1a0bf221c -FixedInputDataByteLen = 51 -FixedInputData = 43ca1e9f9bf413da4be1b3c04123b103194f44eda5d78588254401612d5c547535441c5ef27aed6ecc83449f8f4956224acb51 -KO = d26bb21b5b21e82134ca4f75e208b90b8f9a06528b6e0ec72b42a5a1e3964e36cdff85c5d3a9db8e351347622d1a8a40988ae770ada5e2592dadc7cbf7e44898dc22d86c0bcf - -COUNT=22 -L = 560 -KI = 6fd912611460ddafeafc0c660d13e1f93a2ac67e -FixedInputDataByteLen = 51 -FixedInputData = 01dfc2492b60e3699ee7dd48cf7d33264c0f18a69821425e14fa2fcac4ce5dba25ef7eb1fd0109bff59443aaf55f71ad41b5fd -KO = 2832574964e19792c9822e621951be4d7e4ecd4dd123e2e8c8ad495da670e060591f543f4b75849327bffc5c6308dcfdf757a361d1166cf184bf650446a6b71a8fd132efb3c3 - -COUNT=23 -L = 560 -KI = 3ac4ee21bf504c78613ebdbc89d2dda2be9f605c -FixedInputDataByteLen = 51 -FixedInputData = 41fd3bd52531e8522c756b8a2441e6b581bce0e0e9564401b920a8303bc0541675b4c03ddb4eb9624cf0ec827e8163b7c3395d -KO = dd9d61c03c3f3bcd7bd66311bce289a90197edb5d9d1cb20ee62aa882c1dc4465f6c5124712fa8b4cda317e92b3eb8585e8d338bd422a66c79386860762a6fd829339f6268d1 - -COUNT=24 -L = 560 -KI = 15dcfbf542e364006983e6f7cc2635c9f9fb900d -FixedInputDataByteLen = 51 -FixedInputData = 4ccaad1b96fc60573db0e31424efeb1e0d802cb0c10453c7d59029a5167fcca5231ac13d49d80e8039c96bcc00c11d3bb4849d -KO = 462eb207bd314fde972b10d72b1a4485d0a5f623d82b46db4e3096d2ee110077aa696c21005816b298be855ae500f359fa8aec67c2177db8168d6913523b27b8bf13de7a7cf2 - -COUNT=25 -L = 560 -KI = 6130993ab55edb50282c8d4a567c40864092be29 -FixedInputDataByteLen = 51 -FixedInputData = 1e8606dc859f18c3704268634345758f8c609b974cc2f2e614e75d76d4e8d7ec0fc1273181b193d7f8da7de6e653d766c00470 -KO = 43cd1ebf37b08df80f5fb113951a6ad58a0f2b10eb6aeb3932b5fc6b8fb6a7411d7b911d5f11f411e4e40bfbeb794bc8f1a1c2f25d288bf44aec601692fc2d0159f3631a101c - -COUNT=26 -L = 560 -KI = 6d5e4e2b09044fecb1a901ad07159c32205cad84 -FixedInputDataByteLen = 51 -FixedInputData = 2d47b513ba945d6c96da023c8ba1c521e3d7b51f977f4d066a40f69770dc1ff936d8b1da8766fe6bbd5854d79bdc04a901b6b2 -KO = b2604976cb20c4726b246031eaee1fd262613b39c71c88c7ebf0d3bfc8215890168b3249bace5e4520c953ee8f6d0967f095e1d1a94cc05762e44f1baa15760dfcf2d6401d66 - -COUNT=27 -L = 560 -KI = fd2fc99b37cc0f8becb747d9ab23c6cc35e93577 -FixedInputDataByteLen = 51 -FixedInputData = 43f8926a450a681ad320facdb1b865fdfccf188bc144c2598c3661aa3f139c61b8b4e939d9135c5d49efd249efa8b9f495bc0f -KO = f2886e8e8e903cf09fa8852f5bc3ca647e89d390dea44349403888142b05013fd6e8849d9e8301f396a0c2cfa43715b0ca8843f412a141da51da9404194fcf57db67887e9546 - -COUNT=28 -L = 560 -KI = 60214410589b122ee6b7b0d4fc2194deb440bf91 -FixedInputDataByteLen = 51 -FixedInputData = 4d36a2b348afe05eb782a9123638ff1a06176f479af207f12f1b7bd1b65d86884b7df5465b4401a0f9dbce63eda4e1afbab10a -KO = 0a7a845d1efec63bbf93594875b7f1edc4bccebe35d1de5cbb6d9fa47c83303b2e33a5597e426a1593dd21ae55e364b241d80c61574f031b78ed1e1ec8d8accaef5dbd02513c - -COUNT=29 -L = 560 -KI = e1c38f15a0c4409d3f299c39cf010e6c4201c4eb -FixedInputDataByteLen = 51 -FixedInputData = f9b37d8540c3237da7df10c64f6df4f546e21666c05159e07964045d2bee46c92a7f7e7e1f842e8ed1dce607c1b21ced4fdd69 -KO = c5acd1e6804bedb14c2f76cdfe5d15c6a8fc484e094a5ce50f24e9b649416d7f3546b2a34868f7439acefd7c88ba0b519da06e022a4d94449f034daa7f50cef82d35381c701a - -COUNT=30 -L = 1600 -KI = 7d589ef393cd25a890c2cb2c6af0c264ab3731ec -FixedInputDataByteLen = 51 -FixedInputData = c96c7ffed878f01588155af5bd3f10520ca80f9cb764be617c116ee76eb685437ffd1135ad8b64c63bd0bd8a890c7aeff61058 -KO = ff1aa950a26380950ec61db53e83a13c53b65b7298ceed86c3dcede6409239729f5f87719977da50ef0d43b87080b7b2f367305a736b796ca563f8aa3dedc4c5c3e2803f19e4140afc6f02164eaaac965d5f17b1f4d8bc002b475c53af62c1a201ae0a19b1bcaf299c15c4a27582a3a9ae901dbab19ffc3423322f3dd29ec8d98ca0fd8656f8911a11326852d7f6208b3b4b7e0e35831494c9c7782e2f9d51005eb30c5ba725c34df910776b925e114738a24b113ffb56eb5753c58213b32ed6b50e8a37ccf2ed55 - -COUNT=31 -L = 1600 -KI = d4b13214c721e26d610817bfdf6448dee197711a -FixedInputDataByteLen = 51 -FixedInputData = a7ba1e8dd4276e5cd5d776bc160e267627da73a71fe995459e4341471ad734868ec7db1a5a7fdf4d54e2538044605c3a1e02f6 -KO = 982cfb5552e2cf4d6417779aaee25ade8f83a9c7c4bbe74917070be26b490e0adc49f8c9eeabfb421573136076e3ed4378adb2509d1c31a1646d2e5b0abd427e9581e25965dba9a923f68a3d5773b847c381de830b5b52f85760242863efcdd6a8465d1a849864469235a967061056908a6c2e2dfcaeb05612e864c15cb9da98c125b443fa2a3d667477b81afefdae8ac8e80e220c4a83a8d75e5a24b2333c2938c0fb98c4910600df3ef6ab3e1b3bdf9567353d3228ef79625c83c85e2e262fc553d2b95cc65346 - -COUNT=32 -L = 1600 -KI = 79e5484dcc6b87ad3404c621a6f33caee363b06f -FixedInputDataByteLen = 51 -FixedInputData = fab5c2b869de9ef5c72fe30d9aeb39316821fa593b6e798e40fc42358d8bb53ac6608a86131573974777f4e12dc6120eb16dc1 -KO = b23505bb95a40d6c49358ecb0a0c61e2791a4ff1a8cf4885159f610955c6854ebe7eeb31d633f040d717a26971789b74de5f37b86cbc62c657cf44e1f513326b65788b4601f82d41511826ce0c56bc791eeef189693af078ce47821dcb9edda8774fcd13afdf9793feb8ed6aa5fd228c090f7d95aa885fe6a2908d48f8dc2c3fde57e50946a3d302d380db21792d2d24d0c2379e0d7be386cae9cef142af9780051f300f15dad0876a746a85812da4efe86da52d64630acf7b53b2dd7bcb14e58fe6fab498bd3d2c - -COUNT=33 -L = 1600 -KI = 4e7c84ad9ea7eb8743b5103060f8bb8bf1f5c0d9 -FixedInputDataByteLen = 51 -FixedInputData = 5cb9c5666b8970289a0b3ac17164878471e7ed498eb9a79f0c55bb5a443c82b0cc7bbd12e3f09645f3fd380a1eef9b685f79b9 -KO = 831630f06764521f75f76759dcc2563355c56f5bdf52082e2eca64e742b392240d112b16203e87fefd437a7a87eb6a18b88078215b1ba554d04d3d0dd546e2da6ae1406ba8c9f8bebdc26802301b8f63f156d5729b9fe1e19e74eaa92340e03e3efe2d3a4c85e7e9dcd0b663144543667a4fe06883ea731799017fba79ec2f95c37cdba281b1f4e0b327f29e58853192672f376453ba73ff6441afc94af0c03412d936f9db29a6d554118dfa4e8626b444c07bf3d7ed94997db3a608f4919fe927b4bfb53e7cc1c7 - -COUNT=34 -L = 1600 -KI = 5342adc5c17ede7a251bf028bea75b78de5925dd -FixedInputDataByteLen = 51 -FixedInputData = b897e32b1459b123a4c9b045087306ee3e6e3744899123c8bbbe6dc1af8dd9658e82c07ddbf1e92c25b42a7944755909f80a49 -KO = 6d1ab2d6bb7473a62768cfa53f799bc3f8acdbde79bb364405d2967adc3cd673405c4cb4657dcdaf441c797bb3a2908a82f9845d286a9a22255ca2a24d2931fc532da64bb0f2a42bdd10166f3c6df2fb7bccc52d46c7d9669844b87eae31ad92472c8fabbf2f318bf96236059b91ebd1df32ae740515abd4e760ad4dbdebe4cae6056090b3cf3bc3a0617a6a96feb34de506fb224fc11453391c4080556087a6dafa23744a279979105050df62c58b066db30ff4608e9604cc26fbf068dcae9a24f0a83f3199739a - -COUNT=35 -L = 1600 -KI = 14fe89b8d7404587b0186192723f38fbc1e905e5 -FixedInputDataByteLen = 51 -FixedInputData = 6bc4862676a27ae7f74a51ab33c32b4a77c1a7417749068cb39be7797c6648f22b3a3c3b6f01714dae5124dc3ad0a679c4d45f -KO = e511c182324a42d042397054368117f16cab9442109a1651b481a54189be2fe1f02e39240094f42f843120bb1422d0ea3a4f3fec0c6230fcdc17bb5d4fd6499cadfa412f4c715f3003717e7b37140971e8f3476002a9e81d49c923d30fc87d73e5e2d7068ebb08f0bc4d01e2cd357e70802a928ccf689259d00553784cd64e9f280eced9c12cc29c36e496a05f2cd5d2d02ee355c3822e05ca2b3fb9bb9c3bdf3d4fb66b4405e9f35451327409fcb5b00abf2a32c62a78c1ef8397d04dabc824c51983fbdaffbeab - -COUNT=36 -L = 1600 -KI = b4a0954449d27489e87a1f868cde63b8fa87ccb0 -FixedInputDataByteLen = 51 -FixedInputData = 2568e4faa7ff1c3a4be93cf30c4824fcc95f8c18ad9de23930f110c8877ceb2ff97bf93c8ae5b8077eebcb8003c6a332ba0fe7 -KO = 430bf511797fdbe025c7fa987f419b72c17f6331850399e266b6327fd18df8d50811c4f67757f0317581a17c5cbb8e6dd34bd67e62de9e0ca28de0dddcd67aa490afb0feddad995e861fe0f3c535144a08bb52cef8efab81744dc443f5e09df161ead14c4553317b4eeece13caf745bca906b38a451f9546dc0d25d1bb003ff9c3dd6d57ec913d61515d6518bcc5a8f10ce2219d88b49332ff2b77558eba25c177c8fd93628a9715c2d65fd5023d1d9de0418cbf3f3c5375852407c92c4bda34f9a4ffbd78559d0b - -COUNT=37 -L = 1600 -KI = 361255a01b0ad674078f250c576f1faea314b86a -FixedInputDataByteLen = 51 -FixedInputData = a6e158f4b1871d13f539096b88cf0a5e924197587e603fc243a45dc0bb65b55d5249dfef5e8644ab22efaeaeb3f379930485eb -KO = da0e5a8b0346977ad0d6424cde380b23d59ec8d01df3781a6adb97384233dbc4dfbaa10a816b53de60117fc932ee91cdf519658cebfe06804f044b58efc75985f3e36e4b8ac42de48ec47d40a2b0b6769ac7707beaa39e1b1e299049897dfd7eb7b607e29aae96c1ad0d7a75c3276c1165e09007a10ae5c7d48b34c28de5c4f6a656f1b87be7690f646560cd641584e7203f71cce640524b7d0b58567c17f2d825afb19344cdb316bbbced84862f4d13cd13620376d5bb181792e34f33a6d755db147c18a2730d2e - -COUNT=38 -L = 1600 -KI = a53c5d16a79692e0665c9d45f0384c724103a888 -FixedInputDataByteLen = 51 -FixedInputData = 1dee87df3279e5e1d09a5818e1cd6e7768e76020d7f7f895baa8fc927e4eb955fa24bc4271458cf1ffc5e2f6c6959d0aa1987b -KO = 1ae2d9e14e50883125cc5122d339fccc7bd0e1c7f0561d9f8b5b621c70577b129547d1bbd4d876c8d5ac12d967206b6d707208331d58a4b23edcaa0dcc86a0138752ddc1e03db10e34f3b39ba413faf2af96a5242a424cbfc8eb0fc5c6c8e2d398d948d204794b2f5d980e8a8797a1e99a11c1b2a0a1d6a109ee5953e8bfd49daf1a851e3d11f4c2c51ab57e0b217b79e58b7b66364224b7850923a9b23a08a68c9335d7013646a2f79735a16bc3bea5290af1d66f131e6ddac3cb5e728e73cd37a87f46aca724de - -COUNT=39 -L = 1600 -KI = 504ff5965ea65e5e8538bcb379d4dcf9fba86a76 -FixedInputDataByteLen = 51 -FixedInputData = 92ebf3c96d33a23f44a6b895bf7e0476d909589be02b1d9d942066d5ab822d0adb85b564263cc8da0f11ebd840acccdaeca43f -KO = fc96d559a13fcf8b16094079ff2c405b24e90f8b4439136ed2aa5783173979ce2ca9ddfaecb9db412837998b010aa072f9c9aba66d16b2e22463cdaa0a1f39a07ae3d48bb8f7da998c0689b23c4bed0d5be9354ba5e1fe6a8e5a9d63bd2c0f3bb2ed7785cd70260fa71aef6044674b131f0e33a7725508c7fb39d0562d2e3c2263223585f7b376fb897bcb0e9c3bc08c47d90863cdc7a2290e74fdf232f8ea4273810fd6675b558fe0e0350a1e8b59ead7d865455be95765b128b7e15edd018b404550ed7c1c55b0 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 78fdb339dba0ef64a7ff4954a30fe6ec91f629d7 -FixedInputDataByteLen = 51 -FixedInputData = 03e221bdc416c24999a13663dbb104cd800da2cb5fda217bd93ea4a7eef28f761fdf335d30216819acbf2a17e16ce06b92b06c -KO = d78126ae7af50adf454b807e4179385007b31341609606c9264f8293484623d677d67fad8b94c5d7718187c75916d2582b6d82728b56668b5283a88c0461cc04 - -COUNT=1 -L = 512 -KI = 150d424b3810ce145adaf2f667b7b75b46f4f0c0 -FixedInputDataByteLen = 51 -FixedInputData = 7ed271d1223135eabb6a3ca50134e2966e7cadcd30f4b7a5fcb120c0d18352089e4a04ca0848539c8b1bc795f934ced203f5ae -KO = cc26a5f8dc44523028632a09957270b5671149d05aeeaffe5dbed1528d78eb82ecc4d03d9a7f69f3cb1b7bcf11d569e2b365567c13b9f0932596bb1634293405 - -COUNT=2 -L = 512 -KI = 50b2dee6c3e3d750055f7344a352d0a62dad62b1 -FixedInputDataByteLen = 51 -FixedInputData = 47971083841a2309ff4f0be4e02b14b758afa84046f0c369622be07366494d2c03d589d079b01c7645304c1f6363cf83120020 -KO = ccacd3aed7e2f6ff03fc28af98b02345cd0e5bbf8bda4daabafaf19521bcfa5e357a0d280bb50bd1cdd72863a4b04e933ebc1d0655782093b6e5c37dd4567d79 - -COUNT=3 -L = 512 -KI = 9ae8278fb570a3bdb5e0423edacf323df4386867 -FixedInputDataByteLen = 51 -FixedInputData = b267baacba3e1798b4727ce1843bfe313e65136d86b4133d5c1f18286ee48027f70de3ef68cdee042cbe8e9d973be16ef4a4e5 -KO = a05e3d846cc8e752c84f485de66481ee9b848a377ad61539791fb3c595e58c369bfdc96a0f19ac1afc69000a4a62264146fd50476a26112ea3ddff43bc5ada3d - -COUNT=4 -L = 512 -KI = 369206f352cb3c5349a8c75872a898551bfafd82 -FixedInputDataByteLen = 51 -FixedInputData = e20eaeb2f52e0357d8e3be13455dcf7b4fc4a17d261f49a23cec876e9f29f9a73be4daf5e8583d8f73851266fc936d58562518 -KO = 16f1f3d1928b61a2ce1ed74bab3043b378195c81ea3564839342ddbcb0ca6c75603694fdeb4f619c34e87dfecb199659e944fc7318438e4c236b17e6a2a48573 - -COUNT=5 -L = 512 -KI = 53686d07940575078fdd8bcfcf55f96007c05f60 -FixedInputDataByteLen = 51 -FixedInputData = 51c1be25a601a2fbc98b1f487d6d3af0a7e890bf0bf48a225e54159c764d4ad23726ce283781bee96fe236c04a52b02529d10a -KO = 14928122ec643461f21a76829d8a45ab7c10518afda89c51abe8a8337800562b287947980d0b3b9f84b967c5384c4a622cb271fdbf1b8f435ff25bb571110e1a - -COUNT=6 -L = 512 -KI = ab16b813ce87f4e8505fa82a04d12617cc4a142d -FixedInputDataByteLen = 51 -FixedInputData = d24d71024664feb120431854cc5a25cfd3be6065ad240113936161e4526ad3be7b86e7b6e97159f5d4f2dd2a2a9b41dc9a7951 -KO = f6c3699031968ff7a3c3d8856722807e458ae2c9a122fa72b30d4e1d95784e07107329e31a6dadddddafc0aa0b7c01d0c5e669bcd4c8706f3279f761129a07ed - -COUNT=7 -L = 512 -KI = 54ae9d6586fe6a40e6fc1c7bce4fccf8e23ff374 -FixedInputDataByteLen = 51 -FixedInputData = 31e7c76790267ac85b251ac17a53628473246215f649b3805b59c307c7af0a58e21461b176d395f811992828a23ab8330a1398 -KO = 807b791bb6ffb24e5de32229525f1a1665bfdc30aa7071e0872a1de97cca4d81e368800122b69642c765d86665845d3f85fef83a4a7862d07a8a86aa21a5bc45 - -COUNT=8 -L = 512 -KI = 45e25518ae4e0a86ef02551d68e4ff33c8dcf43e -FixedInputDataByteLen = 51 -FixedInputData = 552ce95165e9935c23f82143f53fd20856c8873d239b8041844b999d9d26d9ab45e8823fc1ee9c5c1e0e9dbc267d6e647d50b9 -KO = fcbc096003974a9dfe2d8c746ddadcf3c1af12c44d13148d356f1a230903e48ae8bab9c23cb5b9cc63a32c283e06791e2633d42099a0fcc89d8876431b1503dc - -COUNT=9 -L = 512 -KI = 274f3fd68e9cae4cc1762951237095ed5bdcd81d -FixedInputDataByteLen = 51 -FixedInputData = 120ccd47bc24b7ec4ad613e32e0e2e648c94936cf9d5700ac343a9556685180b59627e1841f4515807163dd5e6535f5f486d30 -KO = 37241c6730621e787540d7076fba50db9d1dc9bde601f27c9103af5f22ff6375e1c0a390848754be639df56b5c352659698d4489c9321f64b6819883e111d219 - -COUNT=10 -L = 2048 -KI = 0283301270681ae397fb4ae8302ad3e23860f441 -FixedInputDataByteLen = 51 -FixedInputData = e2435c3e01e64189afb145873bfef11168f902c53e5db7fc02e8e4d98760871d73a1ed8da88f29ce773b72db21bad6d3104724 -KO = c6d2ec45e6b08f34be9b184999373e0402a71a8add3ad00220fcf8cd82ce872a0018a5a7989de85e0dc0bf0d99622f5556026208967492100418f37b2541c05e6c042dd0e04d0333bbb6c42b0b1a2c9776ab7e63aeb92be1935b09cdd56774b6e1ce6785a6c009266819c4b258de34b0c7d714bd4ed6aa59cbbc8f8e993b1523b406f8995e4310fefdaf4a992e1d29560fb638dd5bd4b9e6528dd947092afb3c6a9844c46a4d420566aa71662a9c60fb4504f55612a6a6642207159aca9c736100e86894aef13d04193f7df9c8776748662a1c37d8a9febca435311119885ec15f1883b30b1b0e654c7537e1be6511e7a5316f62fe9bcd64323c1e026e2c06a6 - -COUNT=11 -L = 2048 -KI = f5450caa7cf1cae8985a1fd46b7e5e7e44baa758 -FixedInputDataByteLen = 51 -FixedInputData = 1dc3863d8837ff552706f498021daa4c6d40a66db56cc32a7e854ecc9ccbc152f67baf189721179b8b549848465592e6a38000 -KO = 3963523b5cc05602aff3f7faec9991a23bbdefec925831e992ac5e5f86ec00bdb7be589a0ad3be0be0ab68f89d4fccc294baf5da6f040638d9ba1a2c7499ccf1ea26e77155b7b3e1a35efd66583176c147797cbc93462d6af4560d93f0be2eacbb6fb67faa7aebad26021177efa7d88425e98bbbf1627de9fef584f114bc75730c8fe697a8daa04da9a35fe352f61b2bfad96502fb38a3d53c35ae2da74ed0c54d94427348fd4c0782a4cb5cb95cb43bfe5e9b307afe21557ad6ba31bd59c67c3880ee19cd82895c18f9d6f0801d637cbe4e8da01c5562153c06f129735a947fa00668624695f23e67758e9ba28985221752042f223cd57f09b3e72f81bbcbd6 - -COUNT=12 -L = 2048 -KI = 7d8b8925f30040d3b418063ba2107b2b17bd3433 -FixedInputDataByteLen = 51 -FixedInputData = ff82c1c503cd16abf16f0547787f99cd7c163675d86694ddf9285dcf88c0b8789d70987a3e27e772676349d1406c8823795d51 -KO = 6397b36dab80ffe59f2e4a40c5889d7f2b5abb1f84c048129df6b74053af26713a90ac3e889df9750e5779117e568e917b1fddc89dfc6c0242e81df046e294e65a1156cbd79977172a7cf9202362ce361e4390f8e63377c6a8309f1a4820b845464fa184ac4e38e6501b739d118fc1bd45e1275247d69ab8d1f9684b9731bca74310e772b1ee934181bfbc44b5ff8d1223b694617bf8a549e4e147b8f64203738c2ec7af44c76b083081b770e085f4e9d1bc786ce95a11efc197074935a90fa0dd153faa4b24a6e2cfad29f68102c86b1783cf32ed5801bbd15483974b181eb3a3a1f5e642b9b67593e0c16fd4b0fa1985b1ab33a89b1b4aaf3a185819155aec - -COUNT=13 -L = 2048 -KI = 0e1d93030d554e39465ff06048ee34e959e24202 -FixedInputDataByteLen = 51 -FixedInputData = fd99ce1d9bee6b2dab1a964874b5a91cf0d38356fef424dbbd32f13a2a0ac8172652073fb252ce7fcc751bb594f98f48736ec3 -KO = 6a65b7575ff8e1a29711b785d2d7159738402aa562637494d4c59b645f24ec766ded8d4df5ff2efb4ad776ee9b1dd7b2e9ec80496a956a045f686c60f811345050b7a135ad0e1f8c6f66bb8086d65ca3401a665651960bd79a4ab5a6a1725a25e42c33262c84c739a0054f3799f34101570592a9b4d53216050a48370f38e8288dd56a910f7d75659e313d5c2ada2f28dc3caabf96f973c41a3c9ebc2830c0f846f0738aa8db5f909b16ff386cf75080a03c9b4761fad6594975a3b53ee47a3979a440ff4b00b35712fc0618612e9e263b507afff9f2143a1a23d31aa97be3bc062282a57b5c6aa5cfc0561034f780bfb82d9587fb953cd83fa52a038b47898c - -COUNT=14 -L = 2048 -KI = 2ec742889f3482b04e3274147587f952d498153a -FixedInputDataByteLen = 51 -FixedInputData = 70a1c72b18733250f9a1e894d8417527962afd5107652cbf3cabe42f925bf5214eb453645e4da4622eba8697ea6666825a1289 -KO = 544aacbd8d4e53e0a5cbb897794485d5521dbba0a6ba68d7436acefa5f536445c22dd15c1943b2ac0b209a6f4ebdf730b8fb94813541e8fc2aaafb4244f11a98a35c21220d98833d357ec8074e0a97fb52b9a9b270e649a429bc867f118e26d918ac771347c5a897fb218cdd0cac67be7eff22ce84c02edc4803a483c42558914c5a8f55efb6f0afa5cd550e41beb991e80f889527d6dc7e03963fa983c93c8a874a12e4166f1a6d7cbe145c16845870b94fbd17c299b599ef63e0d8bad90ef17d4e9b0dd7ce6ab91ffe5f3adaa58e3ef2de770dde32b33f07f1a7c86ac4e93cd48248ffc82b169276571e26ab8f43d3b920835ad01dba7f2385dc14c3e36226 - -COUNT=15 -L = 2048 -KI = 654f1c6ff32d6e44ae374bf5fb962bb386755996 -FixedInputDataByteLen = 51 -FixedInputData = cc786897199f3c3a1f6d68d83017ea6dafbc185791687c1765a99658370dbf0ad7f25c543fc563808d0789895943eafaf7fc91 -KO = 59aff6048b53f3af950faf39a115cf3ed9ae5869ece42637a28f688330ae28ef1b3de81e69095ba78b9d122f869d645d1053247a4c1906dec2b3f99e84e0a793517f55b2d26fbf91db8678f7e03a1521b160f10305fad0ff2bb0f0cc7cf71ee62cf0eedb94aed0eb7b80df9322cd9c467ae83c31cc1450461397f5558692d349c1753689f35c425d925ef60950b01c6a31e9700243b9aa1cbcf9fdc340ea9346e7477769d882180e57f20c1685df04499ee221e41caae78329184de6251eb56c5d35a334a40ae3cba19faea5a61faa5ff518256a1fe011f58047888ad02429e8dc9744cffb302768d6eb9872c5839a3598be2b1c4464fb792e6e9ca9eaec7c1b - -COUNT=16 -L = 2048 -KI = b18afd76ed6684797e87831c0ea8718a8b738dd7 -FixedInputDataByteLen = 51 -FixedInputData = 2bb2f62092b73dc5dbd6c5fdd85eb399fb2568ff89e9b64f562fa1e6a92de71f0aee1d3738a812cbd172b40c7aba962e78650c -KO = b384cdc191e5ff8e961d6a32696a4b95f87e17d87a41e0f7cc454f270cf06b36a364f02f9253c071003ad48107dc53154ea5f76556209bbb79a232110e3059a883a919304ad11e135b221760359a3dec10095efde9284a3c96e37196553042457a338244ee46c6a15fe39aa97f70e9d7800e818ec5e4dafdf868795f05cd718f685f7636cdeb422b224f1086bf87b0547f42292cb74bca14e446e49d20c936897b1b632e9d878beccea5c07844d70ca3351718f8a26b5167bd1c8a0d87b03235a2db2ddffbdc679dfed0b3d0b5f775bb044ade175c5b323daa672e2d5271171c0d858132c3379a9afb41c2581e82424ce7d31d6906277eccfcb3fd29606b7f04 - -COUNT=17 -L = 2048 -KI = c43ee369e3f59a44a18af2461a57ca052bce73af -FixedInputDataByteLen = 51 -FixedInputData = 26cfd1ac7ca955eab2e1d011e205ecc2af50ae4b16f7fa6dae0fcdca1acea04e69f85b1cf0ead3dcb8209427efb56530f63b5e -KO = 61b1a38d9b4a23e741d73c123a73d5783d39cbe4f8bb319aa0bdc0f8b09c35bb77046c5c250194354ba11d63722e4aec2a1812fa7c2f9f00a6ef71eac432a01ef7159cf3644eb33b2a036771c2c4fdd394dccfe90cff170f4f1ab24858ccb56269e10add0ae525311ac22c08628dd6751594cf3bf507cf270c65dbc6d19a4d1d245a4c92289e7b8a454fd132402cdef834627dfbdee8e9b264ec760a65df162654a9586eee00c62f1cffca0ede7906b4468ed7fb357badc9d44111b1ac891b8e9bd3924763ef4c89ec868a3f2512b5fc7624f52928d152822bd350a5499a09e75903650dcc76cae1e9128f394d1ca9f7fc0fe3ae615458743fa4441b45db1a47 - -COUNT=18 -L = 2048 -KI = 1f70f46e6df826ae4274a1c75b5f780db6feaca5 -FixedInputDataByteLen = 51 -FixedInputData = ebf7031ac26d4155f4320ca25de965d1cf72744f31c0dbe4dab904ab61e9fe95fa95fb999a5617f0e26c0b9516ad70ff7ebf70 -KO = 7ad61ec3c2a76a75dd5f2467b814d5b2b8c73cd4bc4813c51f36567be3b3cd1572826ce5a072149b4470fc26756c27fa8ea41f78ace8d24ea6df771c2af9814acb0fe6966a38f90e1aef6802173f6422e91a0866b5bfd6f15f0e71d6fbbf7f25ba3b45ad8a639a0ca04a4cb9be26705b43cc108935206d0b5b88fe9296e9aa7832a5d8b48ab7ca3dcbb2163d9882bd23990ff7cf77535891e9126e9a3d62899b12f4f26d9571d7d9bada800c85dd4a3f135c418532f29d17c14e9d45ae907fa4288a6663c2756aa2dddda1f4a1a5544a1df028ccb2e1f8d0d881d552add6b86d92954ad755c13c84393b09ffe4669159c56b2a806ee6f9365e4a5cc252dedf97 - -COUNT=19 -L = 2048 -KI = fcba6dacdf05931ae0c7961845fb3cde1d67e327 -FixedInputDataByteLen = 51 -FixedInputData = b8a0fd1f1cbb91def8b0d67253582bea63baff3690423e0d60790dc9e738bac4c8234746db88ed9da2910512bd378315d60cc2 -KO = 5f50c05bca1f575fd99b2591829197d1cb21cae203f32e08fe679eae44cd3eed300940b8bab35e6416ad816992aa118c74e9b23a0d5a5f4c05646d8d6a3579e6e7dd4b513ccaa861a66e5254123075b6f57ba5ac9ef3f489f6b087d1ccb0894f980978a3390e5232d4fd6f6224abf50c42ec70d51c4ddaa5f391d000ace987d28ff4342858ac98b8603c4307b1fa652f58980a8d8614b65b0738af98ef08ab94ce5414ab20ae4d552e51057701ee9a9fc0e26fe1304f247a6edc702dfa6410bd86adff8a33b9c642345760c3519e2e9b6a0f68b596977a30df2770e8a321428643570777a06e5d7cd27e71f353a631e91ba4b83216eb466dd12f75073c0c1e4e - -COUNT=20 -L = 560 -KI = ce9d2180eaa88d3337f328fc0c6123031c51c04c -FixedInputDataByteLen = 51 -FixedInputData = 361ca34d9c6fa152e824235a9465219c0594d2d99d2f4fce3dea06e9ef09920ccacf29001b955ebdaa545dbbe2ed5553f6f77d -KO = c295543817dc0a4d529f08e962cc2daf8a1b4114f9a606a39314002b18a9f036276e8393733466d2bc0e50890e4d4542d40cfa82bcd5450406df39a4266e523625518186cf94 - -COUNT=21 -L = 560 -KI = be9c51b884a360ce23c34c7bd884b69dd50ba17b -FixedInputDataByteLen = 51 -FixedInputData = 5ab7dfc114d9437bfba14aae5d948496e22f3cf6f7b76b32a32e60c0854807ed088a75a24ee88f359d64ddf4ab3a146d66afd4 -KO = 25aef741d26e3300eacf4f1c666c19cb2ff9a27c71e73cf3fd49bdabbcfcff8ad5f77320357f6de19716dd782cc86261abf8c1364d32e332e0d965f54a1a7bec144657410f5c - -COUNT=22 -L = 560 -KI = 04c5fa1cf4663545a59a49a1b27e2bb0bed7c4ce -FixedInputDataByteLen = 51 -FixedInputData = 433d92f71707ebd02fa6b9e3ba8e6bee4818b2eada65afead59cafeb2a1fce785bc882a2220e0b3d589d7f9efff4a2d4751f4d -KO = 430e325d374e09d8c846b98282a0542b7074234abbda228fa2a6e19def136468ed09f62e7cf7cefb417202f90db026f65d47c2389f4dcf2dbe9cb8b202f3acfb507ca9400161 - -COUNT=23 -L = 560 -KI = ad2eb4e4880cd140e2ed4122796ccf94ffab07ed -FixedInputDataByteLen = 51 -FixedInputData = 6e19afd82a09ab93eccab26861c098ab4adaae96f8e6fefc18c7c34563eb7d09ca1c53ec6350072e95e1569c65dbba9d5b0404 -KO = 91013dfb2acd5f539b4cdbf50923f1cb49bc8f6a15ae929071cd6d8b7f33f28609cc409472e679e34f5516aba18845d3bbb8b82d6d8b29d5c9adbfe1bf2fdea947bfe2888097 - -COUNT=24 -L = 560 -KI = fd1963c40ee2703184b8e3cc0e74a76a98dde7c6 -FixedInputDataByteLen = 51 -FixedInputData = 9775d246163749299f2f0dc0bd3286e81819c3dcb3ddd8863dedf02a9326ab0e30e81b809b3f2119435225af88c080ec8815ae -KO = ff6761e8a55c87cd9267edb140cc95ab9048d0d0b16ae781872daf14f1650b971bbc045777b7f03c35ade99ca22fb8d56a2bfc52bc80c583ed93f7e0c8bfb9bb812357179441 - -COUNT=25 -L = 560 -KI = 1626364ee6a9ae9501f5a560b6a1cbb88343be33 -FixedInputDataByteLen = 51 -FixedInputData = cc0221d330e2ac2d2f360112d3cc7835ee5c81823c9cc6c702df0b9824f354cf1549eb945a6ea874344d13ef4fdc1d03f35b87 -KO = ca98f053173b502a6cd4dbf12ae042f12be3a66864c1f40c484f8ace2641f820c1c4d2096421f6a3ef8b23b1a3261a3e0031ac755748fb4ed34120dfea74c9972baa0d447022 - -COUNT=26 -L = 560 -KI = 1d2de7cea0185ab80e7f37e41d752303aab62c27 -FixedInputDataByteLen = 51 -FixedInputData = d926c7c910ecf8b334dd51bda2b513cd53216a28c0b5b34c1509f31c8d57adecfbc4a4eef1f3101ae7a7436f5b070072faf63e -KO = 734ad9560ff04fdd6b110c5b7e0ce95ab25cce11552fb94d026b2399b45bc35aacdb4686610e09807eba3dcfc59d0eda475fcdac181a176c5bedd7816310401b78f438b3244f - -COUNT=27 -L = 560 -KI = beeb082dec99bce40fc6916727d4cfdfbd83eaf8 -FixedInputDataByteLen = 51 -FixedInputData = 7df623d21668a812851effab07a298439cae775882a7f2ec37ab25f974fcd17897dff384328e439fd41850503b277f3ca9031d -KO = 80e33f7e1a05b0ff8c02b5561c4dbd4a74ff72181360ea7c930932621398f6e5d809faca098f054405b9682500f46b2163d82aad13caaa5d63d42d0addf6c7df818cf2918079 - -COUNT=28 -L = 560 -KI = e624a3fbf6348117d0ef4a93718c8f866f18276c -FixedInputDataByteLen = 51 -FixedInputData = d161f9b78832282a1d4cfd7cd26064c6515cd366c928b8fd7044a4e9273e2e34f4294aa60621ddadb6e072b038414a7153cd50 -KO = 7b86a16dc683a068ad48794420e10128571876f59ba38e875f271adf8f1a269bdb793441b5481ffab9670e42f0dc994b00043f7e2bf038ffdf636d07c2378edf0aaf722b0edc - -COUNT=29 -L = 560 -KI = 22d86b17b4f7a0274f04993d97213f5492311b0e -FixedInputDataByteLen = 51 -FixedInputData = c73c3311cfb7d1609159e8a02b45647325722289fabdc7688ce7ea3f9244b4fe0c20c150263e80d81d3e171859e5a4069fead2 -KO = 9937c1d87d31b5fbb22bebcc33ee050a82ec9393f2964cd3091baf52f4db92d91e91e02e8e316e5620d47cb6d1f97b1ce73b44b3c2c5bc4e3d3cc35b4fb3f302ff4fa3f0240f - -COUNT=30 -L = 1600 -KI = fc8742332620f7c53a882ee75237cd85b6596a2b -FixedInputDataByteLen = 51 -FixedInputData = 1118a6c1140bf88751f402dd912b078e7ba49d6ec31bbbe5164f5bc1ab36cd133faeb07b9d4d4cec06c6485c7d75acc948832d -KO = 886389e907ebbe76841e7ba770917969d44a5b298605a2f7ca360f54380e72c94169231d7b3063fb67e2b30d2c7d77c8694950dd4ff4209180ff1f9d0edb747dab659587c8f5af1c5a86ad711a7de416118620cf6368d20331aaf5db64bb8565545fa22512c523218650f982f387df28b04f25b7a64ef4ca213e4bc8f6c02ed78a4c43d5c16716c7ebf058c8914e0f4977f7962d0c7c3bd795f843273698ed9d756b707ae0a302b29a1b8890864d84fbeb0e18ea04696b69efa71857f9c50df8462b90bb73838da9 - -COUNT=31 -L = 1600 -KI = 405b3f9be8cb53a7cbc3716fa2d0787865549b22 -FixedInputDataByteLen = 51 -FixedInputData = e0246a82e0dc4a2f25f56386b98b336f8d0cf73aac248c327a4071e1ce521c11f5765fe2fbc6b45b3a8772b2ac126333b21f87 -KO = e7154be40c776abc76509b09e090f166bb6000568852d323dd944dda71e3718416bd678443f6f13e4bdf9f5519be6d094cc3a6d65ede961b607d7860f7b4183d6f8acfc8b7232802f7b2b2c874418b175416c60a4dc736233625ff9d6ec59669b32caa320d4a2f64251c9a132319fe8211dadd4d1f4cf18ab7c604538809b5da49d17eb1ba3d5b248fe3efa3fa825a3c3587c256acd67f21934cb5ed1f73a846cfcf046de0689c567695b5081d2a3113c12328d371c0ac8801594511582dbf3dc4bcfcc2ac1e9244 - -COUNT=32 -L = 1600 -KI = e870101a3b9821f8983ca2e887c81e1bfb7f9c63 -FixedInputDataByteLen = 51 -FixedInputData = bfca61a7e729d77ec59180efdc7ceec0608875b864cdbbae59650ceeb3ac175ad1a2bc96328e84e962ab6672f92d155607edca -KO = 989c37b6f9e8eb2f463441b1c13a9b6c265b04ede1b65b0b70511c0d09425a7c203eb6603a8b32b7ad365f6357e392fa3ac40f6faa90ca501a902e38cb1b170a1b95515d352d051550d0382b477486960b461be2dd5c578199836fae0cbf233360cd958d92286cc3cf057dde87633aac39601af49e395295da5cf4567d52e5fe1c4f9259996248da53cbb876bf55881c5aaa41e1565af9f9d93fa54063bb869d124f02715f1511f46b4a69479afc7ecb4df162ee708d9f877369f695bded369e515434bb24c88493 - -COUNT=33 -L = 1600 -KI = 44ee477ccbf08fbb25639c33ccc88862f7052c43 -FixedInputDataByteLen = 51 -FixedInputData = c99427e25fb32e9c7c349576ce9936400c216c7c793e955efda0a695096c96caeac1a1bf5642431e7fa082d87628c601ee4809 -KO = cc17c3f7cf7bf2ff8e25b445c6a3063b3b9dc811f7d491af334c42d6ab0c85a34455406d595549afb53dd6e78f1bf263e139e84da09409ffc55f2bc057f5c01acddb2111d2a0297cbfde7af83b56f213683421a33a1e1532351a9d026aa96f3255e25fdcad292f017336c0d400f4494baef00ec1ec872bfab5ae6ce5cc77231c13706a37f3b3f3684899da0a6820397a194f44cc18efac2471ff482b5ee850d048af1579b72213a66650c5e05802c0ff5d7a08f12194537fab440aa99242da4deda3cff92273486e - -COUNT=34 -L = 1600 -KI = 3ae28391ef4f18fdb073b43e80c68bace9571e6a -FixedInputDataByteLen = 51 -FixedInputData = 7738f0d445de01e8836f9c927c6046a10cd0f79a431c65c945384294eda1986c7da606c4f12e63d5b5dd812a8c8a098fe2f9f1 -KO = 5dc41b3678a005d092200cb859411d22d309b7e26eca0c2a7153c59da1cd3c5285a25624bdcee6fe7da963793df58c853056764fc0729bd38313b93db997d61b7af0b826534f7ec5ead93fcd68c072a53bb8929d3377fffb173cd0ec4f6618a7f2a687377311cce53471546b2f0e9088910f7cd5f136884f279c01c60474f46ae7f29645f3bee4c9da3de0c9c773b5da8ba2271a8d75b9e7545da3631ba761f6c837d131d652af8fbfb75fce73bfb8dcbbd3a4e9f22518a561f0035e498232cfdbf1afdc8f0ab975 - -COUNT=35 -L = 1600 -KI = ad260535cf40f2de9981e42b0cb7152fff087d75 -FixedInputDataByteLen = 51 -FixedInputData = ec2536c104b72e7108b766226ca15a4b1b4992e1b9c7dbc82bbed4c9768c05b903261e7a891aceadd05889bc4a61610ee2e0ed -KO = 7ae2e446ad72aaae60c68087af09e1aeff6bf54295a299161ef0234d27a084b91615847bd012d416ec4250b127aea95ac8791f579ff04194a33b977f6e85f64039b429cf975a0040a070bd0811c9e5ab30d5402d573d0788ba16435bd527726f62ad55985e8921e95522adbcfa32e3df410da23fc70407582d2cc3a5932f2495a79d0daec120fc6aaa8f38c243ff639fafb73186fff3ace965a7f5c6a2ff29de9caa8439ba72bd0ceafa1239fdcdb121a993c6b7205e57d734a01aafc05339d56586fd8a5d3213f8 - -COUNT=36 -L = 1600 -KI = 85a3e0fca7145c16c7e69594b9e12afca640275a -FixedInputDataByteLen = 51 -FixedInputData = 1a1af375ceed34ef2f2b80b3914880218814caa4e8a381e5a3e438bb78ccb8e709444229f010391a2d9ce5af827be3892fb8bb -KO = 25a4a9c4e926a646e8abad90cb80c4f825fcd933c74b9b71cfb9be3a2a83ccb77f81722a063009fd41d0629625f22898460bd72179f8d2ac9e9b3841011309130aec76021c00f5d0f078a2653bc0acec20ea93debcdd992dc493a6d30a0d1c8b68d1037f3690157f52aaf26ff0b9b1920f38ac8a20ba53f2ec347bbcd8a2fee990c59efab793df190b1737f57850b2e48f38588bc45cf23697fbb649fc6ead7f49130e587589f117e150326a2967d4f4e0359c6376b189929a303e0f5af49d4e59761c5b97251ead - -COUNT=37 -L = 1600 -KI = 3a802d521accfa3459f3338d817d6d5edcfc62ab -FixedInputDataByteLen = 51 -FixedInputData = 0250f80d4a60bb73087c2f02b66b27c55e57a7deb25f73e5265e4829f0cb1e72b4f5c29fb9286a73cf94a9d62f969ee0a6cc28 -KO = ddd70e6b415659a0246a227d17882c9e05ada5de6d17398a2f557a3f2a9444f1c158f52cc1b4a4cae4cd4a7abb578d9283c23ba40b3254f389171daef0b3ce08108c97ab4a8d69e5ea0819c0251edb9fc1c80bec18cb2e5ea818c0b5a4ba14875490be85d04c5ff71131ea05f2df5a759e369a8c20aa8c4cbbb1b18df0583524ee6e8fa99486bdb1faebfe33d83241bf313d36a58a84c2417316dd68eeb4d882d642aa957519934958c540d481e25abfa7185fc92468fb8aa45570b0f88e6936a8ccc6c74dd1ca8a - -COUNT=38 -L = 1600 -KI = 0eead46ada89d4d77d15f344febcb7f0d655296a -FixedInputDataByteLen = 51 -FixedInputData = bd6d363ec346710d92a36fd45e2c37946bfa49e59f9a00855f66f1cb037a74e48a6cf93d9e2b26466acaa0324675116412bb29 -KO = b50a18208c92bafbb48652de70da007867a3044a209aacf215d9986fa89c8842783ea44fe7192ea150d1d49b31a009f2e823151148577e89d3f7387440b095078da79a48ae774186558a9cf626dad03b4c242b4845b458b26694fa52416c9eff4a7a76364b8d12e224dce3745828a86798f045d0f45067302f892ecb4d5f4743d12670cc572a60cc0ec2d2be679722e88f8b77b3b378d9ea78a5adf58ddf2c475c9ce240a4aeb65128561b8cea66719f2c40d14fd44938a1eeb67b25d154d76d93c9969da316a4f7 - -COUNT=39 -L = 1600 -KI = d12ba7afb76bd63a5b68708c88fdb91b7a538883 -FixedInputDataByteLen = 51 -FixedInputData = 57119ed3593424eaeae3c0c8fe77c15c6a62407f0a9df867f165095645e730d569e79de3611300c7042d4efd9ef7f891109490 -KO = 6b1c8cad9a8d5b0bc7fafd28a90571e792ccd8bde9adc8683e4fc8d4a85fadf32c877d948f1d79d318342a722d12872004a771b6663003b8d205bb237d187f5d7c3061c92f34fed790228007708ead34df36bb0fc8cb400dbc0e625e582e8ff6594a14a8333bd2589a052261383a3874e899f2d05051962f67249e3eba1083022269eed08d9ba6c32095fd64c029727a375811a8112a6bfa75b75c6f4cf01ceb0af0f4bfd3c8764188965ddaff74fdb3dfcda46b82078920ef19d790e3eae4850d6998c75968f8ae - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 1d2d9700cba5e72d4eac6114262ae7c0eccb8a2d -FixedInputDataByteLen = 51 -FixedInputData = c07b08caa9c512832312672c42973ad08bdae03f79fce153ce5c1091cea94d7593bc50dc7a4fe427756d3cda314017a2010e86 -KO = 9aff9afc9d16575e3e706aa0afedde77fe1c52bfebc556744043c0d411cd53cc766d6b53e8e0a291bd79dd90aa74f1656d6da4aae157138e631f496c2a125894 - -COUNT=1 -L = 512 -KI = b07e94061f23bb190832091a8f9c39411fc501d5 -FixedInputDataByteLen = 51 -FixedInputData = 5ed1d9993fe1224845bf6136276b35792aec4ed8cc15cefba5b7038ae6a44be7221883a13f504b05a1993d6de2840037572b79 -KO = b6a759367652230f08a1e95f255f812b6dd95f7eaf266b39b894477ebe760c16341b3410352e77e1b9c699e37701136093fec23b67e3e3321f1075f6000c9069 - -COUNT=2 -L = 512 -KI = 1ce74aa416e9935ce00cf160bd857aad43af39cd -FixedInputDataByteLen = 51 -FixedInputData = ff66e1d5146ef92b31fa69ab9b23c00466f1b81bcf15d050955ea501e6fa9ca40dadce42a82fb02d9039e3066dbbe4c0fe19e8 -KO = 270ea7b36d1a64fa3eff5ee72dfe623b54697b94ff5db4318eaa63205894dd666781e7cc748c9b3dac43b54e3d6c4281bdfbe51b5ba714af574163a0e332663a - -COUNT=3 -L = 512 -KI = d2ea618ff75ba5c6e398ce56da768f1446be93cb -FixedInputDataByteLen = 51 -FixedInputData = 057bac6ee3ef1b9d56978f7ee25c42e2f6096bd078bd979e607c7c5e1cec09a6388b714482271c5cea9e98a090f8c286958aa3 -KO = 5ac243a08143a6e6b47844f672f5b459c4fd21101afe523af870ae19c428dc3a77a39d9b98e4637a975ba634b24047e180a3175b0c05a86a8c6738f0fd94dcd8 - -COUNT=4 -L = 512 -KI = baf3fccf1b57021f9570d119f2b2df1ee0e57be9 -FixedInputDataByteLen = 51 -FixedInputData = de03aea942e3e6f30259edb774d2277d6b1414f3a654a6e2f3d240499acf92fbe1ec30a76090c9a16e2b4b04ad8299f9991067 -KO = 5ce41c5c0a61eeaf3db81396452b52a381cdc403f5abae7b2f3a2f91308ca3bc50d36bfda6ce9999c1afb20df23edbe9c1bc4a8c00843bf9427723854f4780e4 - -COUNT=5 -L = 512 -KI = 455d04ac2151f3c2317b1bb8c2dc1f9d166069f8 -FixedInputDataByteLen = 51 -FixedInputData = b125ffea698f6e237406d2be636376810b1767f86ca0038dd9f0fa029eb639ec036617f8271e589ab6f05347b5cb8a553698a2 -KO = e5b9798e9ac4daf8eda96fd9494177ffd5eefba86cfa00a23acffaee3d9232ecd5e7268de084f85b40dcfdca1be598987ba835b30e1f5e40c4d19d1e98474a4f - -COUNT=6 -L = 512 -KI = 6f7e0fa167b2735c2f09ef3ddc2585448d5e11cb -FixedInputDataByteLen = 51 -FixedInputData = 534519dbeb8a11ede7017903690aeb2c499a237f1294fbc342479c9933976ff0f4616c28e47df4c526b645da4a3999d1aee2e1 -KO = 70c427c97a3e82fde7b720139b6602af2216d117f2c53fbea0d472d2956c9b61e2162521e8f6e3c985b73c55bf70a19eaf0188d527b97a33560c5bb898230c2a - -COUNT=7 -L = 512 -KI = 228d6e5de4c0247b9736d17a4e09aa0b51904d0d -FixedInputDataByteLen = 51 -FixedInputData = 82d985800d1f21ae2442a11c44b277f75e53a29ad08f3a105f36c0b780efb237e9a61f31cc0f6512bc2bcd72a0e5a6a72db325 -KO = eece8e9dcedb586a5a0e0a5de86864e78d413574b5093f2676a88bd604783711b46a594beaee6dc8eef7cfdfbd7847de498c060907ccbe471509a2de7b7441cd - -COUNT=8 -L = 512 -KI = 0bd1f29a81bf1e8f87afca6fad4719ef94440ed4 -FixedInputDataByteLen = 51 -FixedInputData = 91502a58b9f86179fcadcb03bfec4a98d50ba487a79fa18d24c5224368a19a63f153447c3519bb2b872cc5167614fae2e185f4 -KO = 8a77e31633dcf68ee717aa55ed76079ebe74b5bc4faea134e766a8ff86bf50419951fd2779e1efd2e5ec9c2ad15631be7986a9ace9e13405ef423be12d9b5cb1 - -COUNT=9 -L = 512 -KI = 173b65d695433508300854f8d920cd0e5d48820f -FixedInputDataByteLen = 51 -FixedInputData = 3685d0a91a26c1b4e43fb6458aff765ab4c42e4cf2eee70c427472784d6ec1ee04cadb1d01bf7e9ed9a6f5b02fcafac75859dc -KO = 6d350405ca1ddeafb4e3ee640f305850d1b27312e8e95f9ae6ba62a56be142233178c9a594a860c43b82bbb78de88da4a416ffdec9c2bbe412e82e233052a674 - -COUNT=10 -L = 2048 -KI = b1bbe9fe7882571f38a3f81029c8c670355821a3 -FixedInputDataByteLen = 51 -FixedInputData = d52bd83dc9f687ff0d9a846072552efcb3f65e448df71099aef430d77bc800e03ee9ae963e3c48901523159bd2714fd17f66be -KO = b2e9040d81cc4d712474ee72a2dc58281ec7f9c8dea64727d9ba5188475dd2fcf96b05378b21d1423fd240d3c2a483684486f2abf717a183c0eff86b8a45bb059379068ec360cb06515310ce1742bb7254371886b6b31c775bc1345b84429cde429a462b5642138fe0c58afd5b903aebc333b66ae3514f5fc5abaa4949aa05437889271b1c3a56f7f8c96e0f6078f6a42e58b57d612ade7ad22a06bbd78feed8ef51cd1705b1ceb33dca498869b4c83677c0275d9d75614566d476c576fd6216b99bad0e8682d01101afa7189fabc2d5eced30ef3129cffec601d57bda107c14b0a5a61a195be0a41f977c83b8adfe665e734fe2732959cac4c8b0563f7ea2b4 - -COUNT=11 -L = 2048 -KI = 47e055450d7e0744a548d79209f3225cb7df0300 -FixedInputDataByteLen = 51 -FixedInputData = 1b5f12c16683bde535ff8e594cb918a902ddcea7c3ea42fee86089070aa1707f3215cbddb2412594764603f28245588752e303 -KO = af0cbd4c7587fd1553c4130a9032a98dc51c46213e7c6ece0759e2463def13c775c241a43220b853715ea1ccbd254b3f7bfe421a522afad3b002e22d177bb598cf832da6783a34335d7eaaf7819e66d374cb9f06ac9f4d7c5d0f43465344d2ac2d90f963caeb20a6a274cbac7fe4e6681ed8ea2099a168314d80cf97d2911f9af34568bc68a1a9a844e76b18fe3d6cbd820d39a888bcb0d28d92cc0750341bb8ff0574015e7a9d6cf299a74ce0519a54651af228f8a64e89cd9c86fc8e7577e76ce00a5d936f1ec9b882960c7e4d214bc8ecd3d86d2636f3cb7c4e3574b1c8d14304c7d976b827ee0fde86254700d2a7530cc4dc88c816342abb7e6e08c91277 - -COUNT=12 -L = 2048 -KI = 03b741a4b73c0581ee91af5473314ed025d15004 -FixedInputDataByteLen = 51 -FixedInputData = 4a63a29265a3de25c6901d6f3eb38ba64e4973ea23376309f9edaa27e62663f7d1c71786dda5f3c276556a56607bb7f1dc3531 -KO = a313db6197880502e24dab833f1bc933c93b3181c5d1c269c557d9077c7f8af72943afda1053d64c1dfe086e0a728483c5bf00d19efe4f8ae20d2377537d737f075bd62fa7eda40178554fd04af92b7c9606fd318aea50f24166fa7ad25dc52d41e112b9532e1dd84a4e3bf0e120930500a3925d9942321ba20c0ee75a61248c29c67efe117ccd8eefbe64776b0c1a00a6e8167481c48a5066e544af15b7a517708660f5c445d6b7c93b1701a14e4dc5e1ee7bb2b0757efcb79b8c0cb3bafacff89c4ae3852fb4692b017034f8022aae14986929bd8b5782e49f1ab1ce279ff008363df02ab707c6abcac2375dd13ad0ec134b2d49b4b20c1f6662ea345f7712 - -COUNT=13 -L = 2048 -KI = 78356aeb5eefe8ca6e741fac7f3eb58aaba80f9d -FixedInputDataByteLen = 51 -FixedInputData = 7d7799f45f00285679c1f52a8ac3ee55aa1decc2e1371d94fcc296ee81e38672febdd0bbce857c75da80a7a0fc4082cec8a380 -KO = 9939c198111f4a29f73d14e6e260d0a5569f9b7309dbb840290ad281931508e673cb5c71e6f338d97a3f42268bda6d5b76c10e7d643c2f694b2923c073cd1a6fdb5114c2a3bff1aaf8d6f46b752da0c1ba44f6761a5fd91982c9238f874bdf4266a07bf2fc7a95dcaf09c5d63057b954be6511d81659e4cba55c6c59d80a2c3e6ffa3845335ef401443e7f662cdfdc8c151e9d0ed0e6948851c1f88310dc3d3ffcee188354bb010afb2a577929eef3bc238411ffdf70ce7dba964adbfee6af89a9849e0981a113b6dd484b601b46a97bd9bce84ab54eade87df258c79532dc9426a9e4b0d5bdb772cae856fb91e2cdb3aceed18fddfe92a566593b2c83bbc2be - -COUNT=14 -L = 2048 -KI = c6aea5c67d2250d07b6850d8602c2ff0cc13ee90 -FixedInputDataByteLen = 51 -FixedInputData = 736a7da034ad0dff28d398882cc903b533fc7a0fa0d91654ebcd2c0fdc1365a969e741dbad877947f7a0b59e547bf36955ca0d -KO = 6d469796f53a137bebdc4e164f3cfa2124b8476d6e5d127dadf637858c77a037a4b8da65433dbd33e3bf56f8a1fe285b7d360946d79e2083a9d655dca03862e4a548334cebfc67e0a79fa759987eb6401c2f76384509ff7c131f6b6689ceb2bcc044a1ff6b6bf92c0010d690a0b9de3a9b6ae1b40d32e41bc5e55323bfe2519a9ba0c3cb04cfe97f0df8b41d3123c1d75f17fb25cb05dc93a7959eb5c9d76a705bc815e8e4806b98e963089323ce37f8c38f85e345334d3e3d060ac1a8761c53b7c95aa39b5aa0219c0cdad3b85ea2c7c91d0cae021e962c16d38e95aa2632e93039a316007210ef8b21405d6ac1898835041612d364d8cc378df9137c8fa528 - -COUNT=15 -L = 2048 -KI = 1faf49bd5085171a1330602feb93da81c9f28928 -FixedInputDataByteLen = 51 -FixedInputData = a166893a0393caabc0df208e5f6adc2e8eab997cd0e29057192ff3f85c856f26793a2f93c0bdb23c8bf37717feeb0f3f7aca79 -KO = 936a9948ccb580ce641a5d9b4c63b9e5728f2c4514cfed4002a3214a36ccc4baec018188a04b0cac2a1a2c2707afe60712aa1475ada218223028a0801e47f82f84491ff12bd4cc4b8c8cb0ba0c1d22fb19a5ffee9f6070d2b83edafd2820e4cedba03111f1e9aeca499a853776be9834c5cd388fc3fdd2eedea77bbb02853fcd4210070265ca42628cec16a6d94619a37421cd0c819ac6ae64c74a4747940ce2fd44df82319c3250e3e1c0a346b22b7b3e6b4fc21517d5158eb7714c47ffd30962de46b3828c56e5c75f768762ff6b6c8b99278dfda2b26845fc319853ccbb73ac7e09e89de7889e6841cb7f76e2a88fab02eadf74f811607254bff865aaa267 - -COUNT=16 -L = 2048 -KI = 12da38bc7b937e4ca296e5d3c8bad122ed735ac9 -FixedInputDataByteLen = 51 -FixedInputData = a007e0a755bd05bb01f555328a10794948f98b4cb42b51755b29c6aa6dbbf01106fa7caa76f7478e7275699fb50f899fff9faf -KO = 715f5268e8a79e8d4352821cad7cf9d752bc69f708ed86e48cc060ccc9c6a2a41b79c6fb36604dbfb1b8c42e2fa169dd528a99aca240ebb3760ae97decdd70ba519e7823c1ed372e074f8c8c62e7475839ceef466c7f33c7cb8397752d165d1212fee9b3e597817a0c31cd221c58e80450ffe971b6ab100066ee4d7c8422cba93f759cf0290f495a478b4daa36eecf5ae647b23ea70e524d62207439487f1f705229e3aeeeee10367ae302636bc4477a0daa7eafb0b76bdd3af194edca9e9646197573eb195a4c6c5e00ab547393c19bbeddf4465f3541c59adbad859f2b5bdb2cb9b9c4ce2456cb27a303347a2d6a4ed9c058991f6f6c6efbd23b0c239f5a41 - -COUNT=17 -L = 2048 -KI = 4933614c5b9d7fb6e2b0ba83a14dfc0ad977c073 -FixedInputDataByteLen = 51 -FixedInputData = 9b4c9e00c2e1128765250ab36a47cee1fa25dba09bb7105ed7933f045ebab7023d7c247d6df9bd0a009bd7e336542d5d3a23d4 -KO = f239d101521f6587b95abbf114833d58826297b8fa76d2f93174dc269aefd46f571da929ddac49290732f5f13e5d957fff37757d9971aa1ee8a3718a1e07b8b2ed39d9a9ff03d239d267ce3a708c941ca62f07fa86c9ecdfe531c064cd2c4b0e36a67f4a2bdcc2937cd0599e7e78ba15bdb546d4cc09d81544542cbe4a9cb8a365f908229299bfaaf88e25c0b6dd4d7549e836d4ddbfa3fb357a5fd49149bb702ca5ffb8e1836fa6b09f30f4ee5cdfd1b851b8c5105286367f6b182c06374e9dce85e470e19d878a1a33928240702b4ec25bcaedbd8e02c3b3c3e2c4e151f28e39ddfea22d86811d6b5313e63eeed22487e3c8dd69003940e51ed5cb1bd7e8a3 - -COUNT=18 -L = 2048 -KI = e93cc877ea4cf0b26776fed29e3e58804cd823c5 -FixedInputDataByteLen = 51 -FixedInputData = 4bb9b58a9c8f602337189f116774c85b55e8c139b33237d9e8dad62f90974dc74e748103114e01270cd47f5a57564952f6551d -KO = 0631f0fa8382ecb3616dbe5c77cf1763ba6e4e69f6e638eabf3a720f413df8cdd885d870f3d162cd84c9846c1748a7b1656ae19203c393d3c712980060fcab457924ccf5b8a7c82776a1e557629890a77991a5241d849953c38c409b1811f7b5cda646785c580e20347f88f1ceee16d063214673fb766e7ab187f36885adb74e38aa4fb6c6b50e3a85718021fa7de92a09a8f7987fce36d98958881d8619d8505c7dccfd1530b355d3a6bb109e959aed775be3261055ea7eb473e62495ade23d3c0d2ab4160f7d566d42baf5ab7d56c8e63283fd8c29cfff43fb5757d1513251a0a9ff87f45969bc918cfdca9c3134aec26d948b138d0a90c41a809a65d9eaf9 - -COUNT=19 -L = 2048 -KI = b379470642dc116109e4b32b76b6683fa7362cce -FixedInputDataByteLen = 51 -FixedInputData = 11f388cfc4103b44f30601c20ef607a6420f558c0beae7885e9faee30716fabb56f6ee100df4d2a2013b616821ddaaf20e883d -KO = c58a6934825ec1611e94d74bac20f48233dc45eacbfb1481afc0dddc634d52607d0baace36611dcca6e76ad67f7688bab28d4fcce55c2aea6dc04a1946a7fa154646d6112b999a2bd2f2509d64b8d64834c38523545daf6ab2cbe1098d33d20a668acea54836a3c39add378227e655c413956e3854bdb0e276f8b2250192b5f5b6417905d6d8c35bb38a406676254db74ea54f6c4355b3ccbe52a60ef20dfa28b1f7fffc591504c84cd9d4f89b30bf834f95aad00f56e119d4333b39dedecb2c442ba5831038a74b8c120e9fde0e6c6b2250612da1e885ef016c1ccfd4fd617bd681519b5d6ba964525e3420c4b0c5635efa84f2319316cedbe89d0760cc535c - -COUNT=20 -L = 560 -KI = ee5bdcce9c2232ef75d3c8cc97cb823ccd9a7779 -FixedInputDataByteLen = 51 -FixedInputData = b9eb430ac8b33ffb95a35f9fdceefb1691bf96c3d026f5a280271689551f7157860199befff51620872c2712725747abe85bfe -KO = ae240df8ade0b146f1cf243d97f5703cedb2937d606375330a490fdea2bd1018c2716224bb33e5b8ee4008f13e8f6f371ade60517047f7e17c4f95c02e4cb1e9737c77dd4e52 - -COUNT=21 -L = 560 -KI = a5fbbf4f5cc25749020aa7d7b48e85cb3b015fdc -FixedInputDataByteLen = 51 -FixedInputData = 938fea669c6c3c6e85a140c7813ac86921310bae3ec6513f875d5406afc30141bf027b08dc5088784c3228261d3d309f4151b3 -KO = 531a387bdf1b0c1ce03f7e5e8718e1224eb7cf1be4330f94dc6e34c6f66b0b3fd59cccb611a6f78e3e6aecfaf68ef72d78e9c31d19920a313709e35888699f53651da53f6a0d - -COUNT=22 -L = 560 -KI = 2860bd6e519a4d7c376b5098cb4c7b9f8c915a79 -FixedInputDataByteLen = 51 -FixedInputData = e94bc4f19ee4ebecc7ba057e4499e8433e7e08a323f3a9d80a04c958eaab9c612cf03ae6cd7df9ffd047ce34236df6239f8f99 -KO = b1d3d3ce90295a11b422ff25136675902aacb486b9b53df550905c97220410a589d80156baa9540216e9eec326a69e091817ff1020f97074eff1a59a804ebaa9cef3c6f4b970 - -COUNT=23 -L = 560 -KI = e3e5507e01faeb6b1076fb6f8edb78d188a46531 -FixedInputDataByteLen = 51 -FixedInputData = 30eac63e089419c9d6f6f57a4502116e4ce96d55c6ec7c174a13560efdf310a949ae667f7b6e09c2672398977d7b2f2f59366d -KO = abe05be43e4f472b49c75fbd927f7506c79e6df6a3833270c9e75bab97963ecbba334c7ce19314831f3d5f5bc5cb367c9e1b584f6aa846c3a7014f50512b529a22e62bad37b6 - -COUNT=24 -L = 560 -KI = a2242fe4b2b5afb36e21f513b887aa0e64f729de -FixedInputDataByteLen = 51 -FixedInputData = 321977b6947a7a23b51ea28d8bd4963deab2537391afef6b9a43344af94b1958a70e7359f6dd0a9be81828fbfa2245c20a95f0 -KO = 8008af885fe56d83fad8c326306363bb4f58f298d09b54260ffc06b29a2d41d10b077ac38c3c17fb6f4e2d06e6b1667ab97c92544a32b98bfcfd434bdb1b2b7846dc9bab687e - -COUNT=25 -L = 560 -KI = 39887f63cb98459bcf3233c4fe41c52b55decd8d -FixedInputDataByteLen = 51 -FixedInputData = eb914685b0b3a82c0fdfb175894ca4a6cf5d2792b3ed2d61581282241d4f9e86a32d31e46720f55e72382471157e0d9b00fa12 -KO = eeba8f469baf8b4db530216b982522ea1a5543cd4aaa53e80fa33dfbc2206d930759b069117fce2f4933e54ce355ace0eb4d9d40159eafaf4387394df5cc6294e6619d7ff10a - -COUNT=26 -L = 560 -KI = b4400432f7c3d8232acfbc4ab65be8cc7d90368a -FixedInputDataByteLen = 51 -FixedInputData = aa85d57297796ed58a4538a9f6a01209de264e3592aafb19de379d3610a46ba2a5fd91b69a05d6bcabe8b0ec9f260f8261b427 -KO = 1fe390e6399e89076b049125fb97b47e8a9d884d4bbed484a20c503372b74185f957765292d99c9a6d5a7b090bb89e82e66c7694777aca048dee3e130b47f5a309f04f8cc41b - -COUNT=27 -L = 560 -KI = d129dfd3bec5dbb6022b44ce2d0c47bf10ce6f68 -FixedInputDataByteLen = 51 -FixedInputData = 04073eb5ca0a8cd74fd8391161982a95bb642d3536f328ee26c94e02dcf4175d458e4fb65b43313d63e986e06bd743a10be8e4 -KO = b0801d3393ab2aa3d9bbbe1f1e5de578562a6d8f6aefa74a817c365dbff9a9b7a9e05174d99e61e973838ff3cac3e096a0274b42c8b2175c8e36dc97eb903dfeeb36ef2977e1 - -COUNT=28 -L = 560 -KI = 99edc503f71b624fb8e52b2ae44158bc7a7b1fdc -FixedInputDataByteLen = 51 -FixedInputData = f559252e310506b85ca94e6597544f9b4797f94c53497c41cdde2285e3e278c83585653622f9a2b50193d2fa53600615cf603b -KO = f35d104e20912f09921bc7ccf74ec2fc133e744f65b75731fc60327db824920d7e594a7ee886479aaec03fcaa3ebe3a61f77b56ecd534fc944fb1f84d556e18a7429fddc8d2d - -COUNT=29 -L = 560 -KI = fbba6e9ef76431da9597eb652c88627e169f986a -FixedInputDataByteLen = 51 -FixedInputData = 250f4c7f24fb53729477d7902fea0f91a87c2f36c8aaf79c1634003de5984b8f67b41fa09b85b1b8d010776fb815bc50a7e51c -KO = d4e733190bc98fc4b84a746cb27f19dffb5ac9145b22509d24e9fd0bb2d27cdf9f4a4d8242b658fce29b3a05cbff07b586e43a854da212147edefd3a3f2b17e1e104c0a24479 - -COUNT=30 -L = 1600 -KI = 885ad1c3bf141a5a81f71d6c0e35183c91493174 -FixedInputDataByteLen = 51 -FixedInputData = 9b46ce6f747a07613a6fbd4fc37dbca0632ae6443bd233848f59fb2423909ee2a926e9d03fb0432b11dc163e45af0d4a75d853 -KO = 5de53b92ae38d67fa9e54dcf305a85aac316d64f691b1ece47a136b24c8dce9f92fd6f3ac1935d6d6dba944796d7ca7e50ae3b0916763c64035ae243bf861e7f529600975df53ff93792156e2579b4c36c9b09e4adf57b330cee6764c2e724383a9a8122235d2814be278e6996f9859efe2ccc0776d5f542f037ae68a2582314338af413af499d7188d481e67e814cb62a3642b3003224fce5e5da6b05d9aae9a833d7b2fbb74b4695fec941623a0895729c8d1a677057a7e8a2da48b20bf5b61da1d5bd7afd73ef - -COUNT=31 -L = 1600 -KI = fed1064705c78eb3a3534564c095977ba9bc0d7b -FixedInputDataByteLen = 51 -FixedInputData = e0408d2b73bcb31a32fd998bf3f4024b6b7f2c665480a20219500a16e293cf76960b3443f515bd046d1d81634cd3ca23c753ad -KO = 7162d752f7d5c5bb502ca77560572ef5562b67f665b6dc6740ddbd4ef7823e747f05fb27d4604a5f8f1db86b73c67f1be18ed55b9084d3dcd9e40d8336ce7a3f2fc6954d6f4ffa93c77af7398a78f38b08ab05492ff5fe5af899094c0304237e7f56e8413f5096c0f42f645a2a9003edee7bb88e5044ee813b285718f9bc2becbb8e5921fd5d60c90577f9a0aa0922a60f62b147ef6bf0d8124af8f4da7317b45f42c57689ea19a5c5aae4f9dee917ad6144cf8283d88875659b8f56568bc838f3dc24853b421504 - -COUNT=32 -L = 1600 -KI = 6896f33fccfdf134662092460f2c5bb3646472fc -FixedInputDataByteLen = 51 -FixedInputData = 534dc9cd266e723a4cc7d1f43214632636d51f85a6ec91569a5c9b8b7ac971f3643bc702c42852ac7489349c9f9e43f4173068 -KO = 141b3eb24a96e665f857ace88ca7cfd0a801c0115dcc8214815c4a543dc51d68a8e6e53781ef090b1357d65d591090b7c5eb15219c92017734cd2b55932635811c94ab1da61b554be75bdb93c6ff6dba8fdbf60437b26973e3e2ef144edf6a87a8ac0767b49f8f3f71cc397af6427b0644c769443863ff449bc5f6f194694774354f24f8dbb2a9859e3a82a190be4f57e9e3e8e82c0168950d062d4902a75b25b77aa879ebc318352aaeec6c0e2e81c79e3c1ebf679646711b1ff2510e6e6add714c10e8c91a06a1 - -COUNT=33 -L = 1600 -KI = 53e7e1f349ae7898c53a946df6f1183754007a49 -FixedInputDataByteLen = 51 -FixedInputData = c1640de3ca0d14040e36d605616f02cc936f1ddc0b7c959fbd21564622edd4ad66936057adb8b1f1835292ece95582076023ef -KO = b020101b913783ed1ab221d829089a6d1cb6cdc2265ca70b0f60f451ebc471933ebaf6876037f0b244e54f173992e50908ea49817bf55e3979370fb86be3d89404542ab29b14b0c1c2cb313a92e45ac56da6da8174fb7d10ac59493ce50df636caa241e776f009b24efd5215f1988dc01c7de92be761a053c38d4a2f7202a48457734f70cbb677e1296894cc166ceb1bb0436cce7535a930411383d05bac5e9cff68c8c76329ae1d520c06cc15f0812bd23a5e193e4860fd4e67a529b0eb05f96143ad5fe23c6ef9 - -COUNT=34 -L = 1600 -KI = 4baf4b53e7e4ca0e252da59233e80749c459cbd9 -FixedInputDataByteLen = 51 -FixedInputData = a7c1e85bc363e67003c207b786827defbf042adca0063cfcb71f12dc0558cef4f765efb6c1e31d6e0cae0d974e767ae8e8379d -KO = a006ec9a1c85e92184b173d57a7e02add8f596d9d6b859fd5a913ff7b7f3b075b2aeca3f8eb8720550c888ce21b1edfc9de11b23fb439698ea3087718435dfbe6c93b9a1694dd3aab97bf3b9adba89ebea358f4a7b289608983fb890e65bc0998482605da7a4abb979dc363c435430ead984fff9d2f6dba7528423e4ccfea346979cd1271fc9827a75c20cc0f7fba5acb2648569c7166e7fe3844a52eddd18f3ca6a495838cbda2f7308de69c8c58a50d1da416f45401f8d833f0b7fb1dfc30755ea1c4319530b7c - -COUNT=35 -L = 1600 -KI = 23b9aa1b7b51068cc8b051372656bf4943e8aad2 -FixedInputDataByteLen = 51 -FixedInputData = 6984814212d3e16dfd8128798d77bed39d2a4251ceb784161b594d021d5f749100b0c835b3bef3d589d8a97035f7e7e7813bc5 -KO = c60bb3f6f167f708577447667d4bf809705b638a0cff9bcad01182a20dfc7679cc8fb117181f220b7c1c53a0c87937ee5ab51b13095fc7582ae59074ea8942c776aa7227d277e56839e6b0ad31e1b61084d6a1f80fd75c3d5c09ccccc107ad1d4cbf28ae93615e11cb534416a0881a526ba71ce191bc36e93ecf909bb9e9231d218b431fe9484108d6e2750ec5927d135f92092db7c40be13920a7a1dc7d5a2faa629e4999d9eb2512fb3ea213e0b79e4f19a38bd60cae785679013b1380d8cf1b78b337dcc1e532 - -COUNT=36 -L = 1600 -KI = 1a0bfc5010f59620a7f372404f4bf59727828541 -FixedInputDataByteLen = 51 -FixedInputData = 163fd0cd559636bb78943f80e28d443de11a82aeb41ad6e04ca3528f2b8eeda9951299bd18685ce249e537d6202f2eadb58ec3 -KO = 7da4fb44a41be8f2c78a0083ad9c6c6215b54500cc8dc6390cb46756b081fe9ab25827bedda03412295dc4fc4c43730af484e5857ea89625576a81a4aa17b67e1dfa1b336039ffd4b97cc40c10574b942be53125c3a2f0a2372b2066d3d26bddced2af8b67f6ad65cd5ddeea5828c29655018da85016ebc4877ffa377872c34afc41c0a853223273b915fa1ff0ef67c5fb3e48e8a5d806b331716250f3ad838fe80a14676a3b69c615c292d4d9770f4f29276a127ec723596d1daee8187b624fa9b046b0cc0c8af9 - -COUNT=37 -L = 1600 -KI = 1e3792b8856a88f2711d9d7097275f15df6eeb1e -FixedInputDataByteLen = 51 -FixedInputData = 1d317abcebc2f232c01ab357c60c52f1acfc714cebb7c0f4977f8da950095ed42a734edd9920cda646a67e4fbb13c611b9914f -KO = 56c758ea6625aeac1fb1a5243daf0055126c1ba738a4c729c4f57ddedf7980205426357907d02511afdd819b785772293e430c189dd83882183ee203586969fcf1f42bd02645981910e4d9e1f5383a391d05531c939e01826f8e5134532fffa74d2140be2158c6294a605c3cc4da4ff8c22211b71929b6d07087f01028f6777660c3ea0833072f5811fde5e654b324beb9bf271d3fb8f65df00f925ed0546fc8e26e3bb3b84d9c46d4c88881d5e3252ad140826f23f9429f7e30663dac4ea19f3f49d6e250f242a2 - -COUNT=38 -L = 1600 -KI = 14cc64c0cc5068880e2ce8f1e2a07400af51e5a1 -FixedInputDataByteLen = 51 -FixedInputData = ddc2b491ae14e27c44a1e07f1d8a350c2040da1fe2f90167cf58642951bc2a43d0fbd3418a6cfdb532f54043ac71ce88101566 -KO = aca7ecc20ba0f88b061ce2caa9a2af83be9766864e56f42aae5a19702dfd27d471f50085926da1d9cfe2d3e6f1463d89b7bea75d118952b6baf825dae88766a70b285d0f72f38ce140e0766977037f2e53832a7504695fe05066f6757a4c60211d267a7f31d0efcb4d748dc511ca78f7ca5d3d31c5448a1ca09507ddd6f0307b6df9b0f96c5d8d6303f8d89143757b642828312450327c7cae3474b3099a894a7fc24050fced554530819dc52617f5d33ec5d5c457494a8da14592617918f0c3b1cee7bc72748201 - -COUNT=39 -L = 1600 -KI = 0a922f05f15071b16ecbc4523d55b7628dc7a3d9 -FixedInputDataByteLen = 51 -FixedInputData = c7a6528cd546eade52acc64cdbb042c5db5f27f3c9cd3443cf6cb6d19637311a4c20e09eeceb6db928de0f3ada84761d34eac5 -KO = 13f2fbbeefb21c66c2708e5d97155fff4c74e1c864d699839861a72a83d18990b7697a7f8ea125050a007f9648ac1305fe7205a670c171716bcfe5423e644d66d9c7142c504101614e88fe5ae2848afb68eed8579da6262ec9c043b11a1624c4c512443fffd1a82218bc853e981d4bf1b6def78cefb42b175d33c8d8337e004f54783557740800b2ea205df6aaa8b811ca786a64fe218025b75b211dbd332538931df91cd504f4826e75de3374af0209b8a0d26ab5bf66a53a8d9ba7a760f269679f71bcdac7d555 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 6d1a196cda7cda582a436a0a7ddd6dadc79a89fa -FixedInputDataByteLen = 51 -FixedInputData = ea383b917c1aa8ff9b73d84ac371d657264043ff3792537fed4fcdd606ef6ff143d5ef442196f10213777dcf59c9047a6a5701 -KO = 23bb58f43f854c410dc4929924e3841ef5de915edfeffe4787eba3ed5842b11beba6b0030861b3b41e0b00762f08f48246fa734f7f98bd97a98243c0c6a89fed - -COUNT=1 -L = 512 -KI = 85475889c96f91fe15047b140661abe710d325fe -FixedInputDataByteLen = 51 -FixedInputData = 27e9273efba6fa5151e9276c96c52c651736a0e62e0a825143c482ceadb52cdb0386dc2b1d7c7506e30b5fc9a67679e86c5d00 -KO = 3e02f8b2c3ddf59b97d0df84dbf57c9fc350d0d8fb64f3fc72e18c47f697f900e4c17320c7032ebd23ccd48b704d093594a4d0a12edd8813e7004356118bc5fb - -COUNT=2 -L = 512 -KI = c68d4c0b08bf6a6851e863dc54fb06c1b05d4c69 -FixedInputDataByteLen = 51 -FixedInputData = 4b05567a18c22050321ccbc75264284100e019422c750a30dbcb3a245cfc7f30d37dfa632d22ea1a28501e1e780e2bc2b8cdf5 -KO = 150dc11a7adc7be91ce64b4ed14e33a503cea066d4628355ca99aa9322dbecaa4c86e22082675c3407476e67dd51d339feb9b8b5643170302422b29424c1f677 - -COUNT=3 -L = 512 -KI = 25204f25ec4062364d3b5205c34c21510fea5118 -FixedInputDataByteLen = 51 -FixedInputData = 961604cd5131e5aa999335d439d4ae4c677e232a3e8613e1a1f51efc75a479bc5055271662ea30488b7e0f2bb8dfca5d972a55 -KO = 76149d291bb2ea66782c253f747ce6e1402942734495fbcc0cfd5dd178905bc47457276c6baaa8d6ceeca3820e2acbb2b74d6d93843e77b993f0aae889d920d9 - -COUNT=4 -L = 512 -KI = a2ac9fe800e90913722a05c9c32e3a45c1f27a2c -FixedInputDataByteLen = 51 -FixedInputData = 87cb66e93e8370aae530903e3749705d49f7d8e10247bc59bf5794a29ff47b37debb56369f17b8f227679649ef7e21ecc4c455 -KO = abbb3c6cfa4e09bbc08d64e5a3691621a6cbad7202ba20bf354672918f0a503fb610fd391f7a59cdd2617bad28f2b1bbaf60a9eb2d2ea49aaf544680b23a1f0d - -COUNT=5 -L = 512 -KI = 9b6df4b0116d5fedd87858c8c3daedf95b3528cc -FixedInputDataByteLen = 51 -FixedInputData = 7642e29ad65487b4b31eaff956f01299ad19776deae58f8d78f1aad16ea6b1b1ef73beae7b2978b2016a7a8a37cd9e2f2ee49e -KO = 8ef46bd234aa204ee76a87d02ad5b9cbe7d35fc859d5b083640005e7093d54a2bfeeb2720ad2dcc4c9af2d3721eb145f20cde98847ed3a7e447962c1f2961e21 - -COUNT=6 -L = 512 -KI = 2f830cd9e1d637c7d72ace825566cf205b7a198d -FixedInputDataByteLen = 51 -FixedInputData = 2bfcd0d063c1582098100f7a40097aa66b03c43e461b46ac35317c2718b4e6634f76767113224e96c89ccb850f3b1a8d84486b -KO = c75dd3a65044f0254e87a16f422b14bad35f4d17f5450daaa974d1fa37cba352aa9905b122622d5a119be4b454d9df368a14f0d747d7cc9bd31c1a249d4b1997 - -COUNT=7 -L = 512 -KI = 06df8a60376651a9f033cbf2f565965c560b2e42 -FixedInputDataByteLen = 51 -FixedInputData = fdb6e80c542d9bd6fbffb729820f63493dc9cad5eea8079259c8ad36fdd87f950357e2f3042f1bb071f6fdccd6fbceda00b39b -KO = d7001b279f03983babd3cd37cbb98bd6647953351e5cb57d542eaed342bb82483e88fcb67e9ac0cb5404e91e7cec0ea892e692f502647ef733b10a1e605d9709 - -COUNT=8 -L = 512 -KI = d0d659fbfca7f39d074d31fcc5a7376d7dbce628 -FixedInputDataByteLen = 51 -FixedInputData = c45726fba1a5cb166959573b2dacca07986c848f3ac7d8738f877eeab71c6fe443596e9ee7330222aa2e27e0810357002f1b77 -KO = a4928ae639e93ab5f2227486bce48ebd0f6b527e541fefd1cc208ddb16a4a1c92d45ff79d87e3e42f8fb7fbbca5207b8efa913ad5b5ebb3d5f611e052281c01b - -COUNT=9 -L = 512 -KI = d207f28f05889603bab25d1352020cc0be4cbc48 -FixedInputDataByteLen = 51 -FixedInputData = 81a2d2e3cc7f506df16b90d9e85c0f02fb8d1182b8eae6bf09b2e679bf178715f31534cfa97138d126ec73e942096a0c623806 -KO = 7a0eb06405123ebfca1c9030bebfa67c167b983aa5794605bdc5e5189c0bfc79aee95fccfd2228a969897ff0d2d4efb6946a8db169b0cea93a3d73c8942e4a29 - -COUNT=10 -L = 2048 -KI = 566c31198b5ca36cb1afadfef7271712eecbb1d0 -FixedInputDataByteLen = 51 -FixedInputData = ad144f340b825de4c7584e83a45bf02f48fd40d512f3e9b318293cda24d37ac8a077665856a704db9e57d6303fd5cb21ebf6fe -KO = 9869148249217c3aebdf01b7dcab661c7db8d6b7364b360e74011f5feb657c8362f928f5e4d5471c53730ccbf533e355e9f72135fb087d4249e68d67f5c64e4294f3a80be0a64e42f8f614d91620fce3573028e143f7140374b5ccac89edba753ad98c795ff01d1d7bd79733fbbedac83a1d82d53f5054cd55185eeb97053f7b769cc862e9a92a20efd92e6275401e0c2ec29608aa53caec62be433ceddb0861302cffa7e48743379fb879322db746d15a6ebb341a63a4c5d14e42b02b8142c60b71c310c9548d8d869e4c5ef627769256c5aa0b0eeecb092f2f97c3d90ec9bf60bb5a5f839cbbbb039cb41980c5404d5b8cad3a711823ad18c861f72f444cfa - -COUNT=11 -L = 2048 -KI = 62e306b69433324ea8da822d19a615a6173cbd12 -FixedInputDataByteLen = 51 -FixedInputData = 51b9afae502b4f39103fa33795c45ac91d6ba6b0786a07aa621c0eba95f72a532cd69aa8050aa7ebd6d1c8347dcb77f72ece08 -KO = 41789e14e931a78bdafca83aec6466314dd60b0530abbb56f16d6ac7cad9fd29dedbb8812a47054b7836ba765046749d38ef2703a9c8ce8c6f8f3f6daaef832e37bf5011653647450e3d6d30802c43b9a95592ef4b229c7906826bfb3c0f985920a0a9eec1613055b2abbf47f804e3240af554486ce594416d787d117894e006cf715b6d049c43aed8757e2185e8531aa2b3a32e05a4c75a983d54ba9c0af97e88ad057450dc4db1e866f393ddd2e3a7c05e5922446f0f9f36596530abc9fa329867b5e4aa140c9e8e2294e2f4afed0c1ee79a6ab70a6349becdc9868e3b382191f141a2300343f9008dc397c75de0e361bbb15d422a84c38a808feafb0de3e6 - -COUNT=12 -L = 2048 -KI = b5fe1414c3af1459dd4ed81abbe9b11e123e50a8 -FixedInputDataByteLen = 51 -FixedInputData = 92cb5a56c10e78c1c49346fb5ba4c9770ca961a1898f21b820f9d8720108b7935e523e96e782337128c1a27dc472ed5fbccbe3 -KO = b13d375a921b122a8727c67b95f2f599c9331bbeaf149d83723fac1bf96c821269f100cf4d68321411dba5103551c98ac1dfb62e24f932a4c9d05c8641e9ca3bc357bceaa563cb3f53ec8512e9944a59952705985320c3380ea4f48658643c3634798afa61753669fb27077d641e2ea719905d64162244f38b0c93e8e1caf49f44ff5b5315ffdee86711694ce04d30d129826e0963bdb06e125f8c60e3a9a691ce0f8cddf54326afcbcc91c40917282d999be94e417c8aa986a9722dd945520a085890b6929349d3df34cd246363177e6b42d2e9de88317808e6f1991f62f275196d25210e8d1886f694ba77f4bbe267cc8f0fabe068f34984f93a1ffae19f1d - -COUNT=13 -L = 2048 -KI = eaaf3b19eb995722f2c7a846bfa3e8e183ae907b -FixedInputDataByteLen = 51 -FixedInputData = 307d3dca46ac4f46c104a243b35743bf5c840babfd19833dfc6ac9313afa4de769579cc486ec17312240d1d44357f3064916e5 -KO = 1e15e9d8b78b037949a5dc5b7ef80ea295997683f2947cf86a7900812eb30feca03022b6d33b12527f314f6d2c21178f2fd97b0d7e8554e6cb017d491de620ff1c2f20075191f46a1e500f9fa0391d76efcdb3727f21c5f944ffb5a901f73af2978f3c338a6ba802af3c388c4088aba34bcdd641b69f141345cfb444449254aa795d4892d21831497b1bf9e4ade9f9efa233026d0d6ae9f3da74c80580297689f235975ff28e49308c27575a6cd0d3187631b83bcba5e451613b418d8a2726582e2b85fc6e631d5131b02f94f6b0638a6dad3eeab8f06857308ec41c67d2db997728f076521fc431dc457b6ab66d9a63f67e9443ccaed25efc54278d7a035f96 - -COUNT=14 -L = 2048 -KI = f9e56d62fa39d199c58101e983337986a69017b1 -FixedInputDataByteLen = 51 -FixedInputData = 12abd87e66087ccf2ce9a84b133cf353568e5918f0e680b020c87c2a6161a3efae1188dbfc541e6c9af3a542fd62a51ce8d9b6 -KO = 0f67ddd08ca284d61252e7100d552ddf89fff43a69dc4dc48f5959ce2ddeaa218be6df7fe43b3e586b93178df539ce5278f5c52eb25f4b0c4857bcbbaa4d1bbbfd7e0cdfa14ab65a8caa65db47418343270f51331b0b31e6978005c0070a6ed8647f7aba1ce37744399700eaaf9d9f58cb0510da283f284d7042b6a425a98c65440a1e8867bc5c5f7d1813197285aabe6d0a478056a803ae781aab396ae3a1d5247fbc96752017c2e03ce367864b2f2116acef940791c0ddf361d21b895fefdf20388c8a142738e423a8e12e82e284d82a513da4e2db2e180a09e05f8375c47e22e4ec5edfb954c9a46903b990c00488f9119153a8c7c5656c39d57b8efb678f - -COUNT=15 -L = 2048 -KI = ccb8d788f001bca91029571965767cceba65004d -FixedInputDataByteLen = 51 -FixedInputData = 9ad0199b13395f2714c8e60c53436c32b5c998300e04e2c91a74f855ed8f2a3674a5f6bc163270d408132cb68aab23d57d8ae1 -KO = db6518800f2faba8332bd6a3e5d0d89bdfa7dbd66d1d12b359b3bba582b41dfb8c4e80e31fe8012a8df40e46078a5e09da1059519892d1a4e1db17a357773e9c5675f579ccaf16280fc3d937a6df15debff606a318f9ad0908f9fa3214581d865b5aef59cbac74069fbd1f460cd7143227ca80446d02bd538695e2f09b9ec1aafbe3affbf03bc02679b5b65a0d0714452cb9f53929d4c74f5067695d5eb252bf1171854f0cb0178c2769df950b04aabdec89ae029afa63e180e8af4f4700a89ff82c7dea8b883fe64dd3942627fd640bc472f09a54a7fa1deef73e27f49308fb9ff57dfe1d456240bb45bae551d7ba86bcc3b47d139fcd9f44e028f21b731ddd - -COUNT=16 -L = 2048 -KI = fe8e5b79e4d1ba08b156e26315ab3c0db7ded502 -FixedInputDataByteLen = 51 -FixedInputData = 40e9409e5f578c01176a419e19abbfa69e2c760b1eb0101d19b1821cf5e57fde485f039b8b3bc8fc3f9a0b8ea57a63a440c525 -KO = 89a596eaf400bda3583b5b3b612ab364159d9ed8f24ca4eab5b1590d353da0e34d0e433acf671c73989c783b0552bf9de97f40a0289031e6413454a4ad194b7355943815c4e880e1b76a777d95ca602cae4a47a765589a88b2eb7b35e7dc4c570d612b28f97501f50ac5b218c97d798b9968b37d8e2badb6c8619ce9aa25c0d56447485c8a29a0a36e8c931e23b420284470c81e1c805116fb1fc242de22529f1bb254fe65ca0d9021f25c2b964937253039008d9f187e95faf6daa4021177269a409fc629f499d73deab66e6a70e2cd04809d0a24c0769fe7eb76882ffae49e258792b1d3021259b9e5a0d76d63f89e38a42964d47662c68cbea61c8e32bf75 - -COUNT=17 -L = 2048 -KI = 1d95c1c71ab21930cc04c2ea6592e07cf72ddf95 -FixedInputDataByteLen = 51 -FixedInputData = 37606f1cef02b89ff3fb9eb3d6bf4190c71ad7088db40159b7e07e5df63f0c1657a369eba357d30178e1a6a939d487a0977f82 -KO = 44894eccea6928b2c53ea7e6a976b70cc9f88760379f81c5c79d80ed983158f0207039eed5d72b66f7ae33051ece3db6075c1113333f7ea6a6d5ab22e22431d0da8d2b7af50c7f815deda23e433691e5150398e7e4799166aaabf2696460ab713d6e89fb6b0f8f8b2563fcd885e8ee1f439a8fce20483c27c96b4161b00465942a66ada8e3ada7c3f3329bb3296336b480676191628fdb90d2626f7b639cd87f6df14328394c194032d2289790ef699559213ecadae671cc15e48c4c706623f89e03e980e8fc44a3b79d1de7520feb524225a3dcea4590048f4a28e22d6c063f6fad3e44e0a051db56d18f150582c8c2719943168a895f0655bc8f881d1dd5b6 - -COUNT=18 -L = 2048 -KI = 69c9c369e13229d17adb0b9c50ff9495c6069969 -FixedInputDataByteLen = 51 -FixedInputData = 290e1c7add7154c62a01f35c5e4e91644b1f1646bba5714fcbc98ecdd13bf496057bf962f1df1b980ea7850686cb33e3c28002 -KO = 71b67efc06cfa3b6b41b6238869cb41c9372f9f1b49b156d146ddd0dc9e07ea7c1c6424c2dc321f7a7bc1fed0f1c3db88bcb3715fe096b42cd164155f0e15b1cf7d20a42cc826586b61c57e578b57ec3cacd18e6c55a24bfba87773c85708427f7f96c3daecffcbf9bba563dd41e6d5ae81e8c8c465b5df05f1cce1ef960f464a50e61c95d48ee2f8fa266a1ac89833c3cfadb1d9dd965b7c0a11a91e08b119e959d346afe96fd213e825953d822c4a8488349a19f9b5b40f3fcd21e55e80a5c83ced889e154498ca4cf1f6e75429d634161836d7f880fb985cbd1b498da5c5c1d020a29e5df3c379060904c1acc1714bbbbd0a71ee7d822464282b1fbe9c307 - -COUNT=19 -L = 2048 -KI = c6a1fe7667fb9a26debc59c632cae2858170a296 -FixedInputDataByteLen = 51 -FixedInputData = d570b8539cffe4a0a5ad7e0a51d3f5ab5357570c13f7b5aa76995bee3f025bec8f92cf0da7b19671daec2711febdd304ca3742 -KO = f1f76fc89578e97a70827c44bd47f7420c924b9d8fdc03bdff03d41b99a37188b05bab9e66a01c431f3c0a491f22905b1a78edc5fc0c7f9ad9e041f7c45de75469209bbfa656d6c4d80e9f0ee36cd6d44bbd5f90085e5405c83545d0b67c35b826d7b795f46157d714b8f6601a350c8b90c6f97fb41f126ef4e3416951f650cdea3a55bc609f6313105c004f6c20e5bfcc902f8d23ee99cd17789275ee0fccc5705e4779d71adfae269157c80180bcb099d21fe01981e6b998bdea09607bf3fcdcfc90586696c928b70c3f98b3617fe7e8a7ecbb7a538179ca71bc0dd541aa2c5cdf73d029cd580f07f2a4660a751e95ce0ed9ce803e0dcd4d496f838231c888 - -COUNT=20 -L = 560 -KI = cf124e8c997b66eed35da1098a595d75fe0c3414 -FixedInputDataByteLen = 51 -FixedInputData = 51c20c15450671cd92197cdfabaa2c197d0244b1c49feec1e194b554717ac00b87179f4ca28e17534effb7cab5a29eedaeffa9 -KO = f13e21ca17cc6444ef761eebc1d37c3ca72668eb57faf9a9bf7564d7b5b1e782263290a05935b0d81497dacd43a956d6729b13224832c3f4672a22d09113545ed7147ede8d75 - -COUNT=21 -L = 560 -KI = 95f755a3ee9d80ebcbf4d3a5f782e5b76317e833 -FixedInputDataByteLen = 51 -FixedInputData = a05e9980bb15ef503a4bf0238f066fd82fd0138374537b47883f85a7d2647268cf232f10defa334f733940a7785848d6e8e45e -KO = 169c2840aefd6d2555f877f64eec30376e163fb235aa3282da9c67a674dca9b6a2e3a8754b172b6130f4c23c9c4b11a5e4085cc86f73e20a7e92b84e8296fada6b57af74ed6c - -COUNT=22 -L = 560 -KI = 8019f80d6659c1f2baece3adaa8a7d88f4e82a20 -FixedInputDataByteLen = 51 -FixedInputData = 3e2dd3098f4ce1dd16e94a010c98afaab7608016d83afff31695ef98ae20a7797c0cac7de7be799e513e24e908fc56df1bd314 -KO = fa2840541d75d6b3492fd8ac5fcc563d83f23d2b9c8a49d3e268ea4c627e624a1a1d09465ef8d50228350c96ec2561d839bc4f5f477ef4006485ee4028428387f6b988cfb33c - -COUNT=23 -L = 560 -KI = 6f49435883aea26168b1901f5c3dc08be5b8a35b -FixedInputDataByteLen = 51 -FixedInputData = d7f1928d2c52d650411bb9a56da03fb49894dfd2301fa4f913d6d86f953e91f39afa0fed65447f0311bfd3e3c09ca0246944e2 -KO = 6bf4d7cf4fc23d85f4d46a630499b4133faf188d3d31157a2bd25f31f7899af548f755fbf61bea8e8e8de7ecbfc0604b7afb2b6f08789e5cb12a96f5769dad395b51a9af3f08 - -COUNT=24 -L = 560 -KI = d53868b167f4820a45f54011ffdb4c1b7d484729 -FixedInputDataByteLen = 51 -FixedInputData = 9546d58114103194334547146a022f5ceab9813510ea66dae4126431b3a4aa000848f4baadc17bbc877be67fbe6a5614ae1a66 -KO = f68ac4e877282c4c63f0c36cb3bb156f82969e800efd34e49f026ab1e53cacfbe11b69446942398327239e641ad8e97bb6caae4ef60f51e97a9eb445996930e35ab12d126829 - -COUNT=25 -L = 560 -KI = 00755f519f9742aea79025f66667f75c17a607f8 -FixedInputDataByteLen = 51 -FixedInputData = a24eee8d5bf9550fef036442a7a2876f09c8d542c2189c4381603905e667285d9169dc4238e0f116e553cc00d3ce8cdaa9bb3a -KO = fcc05073d4d59d85f936e1a0d0e40b691dfcd92b9727b61f86037b4d7d9c598794f5b281aaf18a2d12d98f954ca32501b3e36340d0c63c8b17ced9cfb0b9f77bf94dd40c5184 - -COUNT=26 -L = 560 -KI = a252845dbf40e8f4b8a930d9358a32c29df38f64 -FixedInputDataByteLen = 51 -FixedInputData = a074890358a1a6849eea09835a82f9f3175d8d3c465c4e421e8fff6fda1601fe4bd08f1dba46df83600794e98a826eefc06e46 -KO = 1afc165f8e4bdce319f5be2849b56ed70c7da6bd98a87827bdaf2916da1d5785afafdc021a7fcedae81ac0af59f452ef4a9cffec896ef2ccdeb4ff11de59691652795432a74e - -COUNT=27 -L = 560 -KI = 68454faccbfd0d0d579ff1c20be183e9bc4209dd -FixedInputDataByteLen = 51 -FixedInputData = 26a85bbaa4ea4eb09266479ad6db899637fad609d4483d10961721a38ce97e4d3f65e8ceb1ceec6dd4b50993843689691871da -KO = 14782842f6c654d113a9427ed714aec0c8be53afb98e9403de6075881456465231a14ee964edd9506a988767ee2b80d584abadb4db579c1c0e08aa9095c17f210cf60dce4698 - -COUNT=28 -L = 560 -KI = ab903731378d6bc40628b36f2d524822b3bdbf3a -FixedInputDataByteLen = 51 -FixedInputData = 5ff41efa8d4aa12da3fa103bd16656931331a1dfed1f2623378d5e24efeb97c6bfd4ac5aeb16462b7bd972d278adafd6f00768 -KO = e8ba0251e8b4404f4a2e68847b537435745c5f8faa465fbaab6a9210b807ad55738cfba514bfe4f027601ad678676ad981670c219b947a6272605838cbf955e4a916aab18ac5 - -COUNT=29 -L = 560 -KI = ae92adab08c65cf0fd49ab032e5bbf72cfdcc6d3 -FixedInputDataByteLen = 51 -FixedInputData = b50d05f619cc2935f167ed54984ccaad112d118024aea6195760adde4d74092a793a1bff73a3a8abbe7aec213f89bd6a87b11f -KO = 01032e91703395e2fc3b1e76cecdf7198942cdb0fc5a31530242b3b4129b0b3ba4e4230b6c5efb25aafdcddd1ee187a6b5a55bad811a5f9e39baed957958da6d2267ca5d7725 - -COUNT=30 -L = 1600 -KI = 6c241b548fe262eacf45a7b1ebbe57c4206fd4f2 -FixedInputDataByteLen = 51 -FixedInputData = ef107416b8c7f9583ac3107e748900776013594712e961a4a58c8ca8efe9a4a3fcaed16ac320d012bb855de64929023d50b26e -KO = 4e3b2ea82ef3124b4d3448ef3b3badaa41cd212cb1e50828f9a34e7846f722ee09022b52bafe707c88ca2d382d4b90ea35a3c38c52153750fdfdd1163673414f6f3aa3b7f99b2bdc2ed63e6fe5e24bd9220e526bda3ee3c6828966bdd0246ecdd200f0ad86de0dfe77c1a0c812589950ed172056106688825b8c0e42c998c43f3d697c21829a217261b59095e97384b2ad95ea01ed9e53fcf5a16ab26ce515ce1837073861fe6b5ff7ce43ca9200fae028fbdf25a5d65ca7c9f58305ab1e29c188357e9ac6e5225d - -COUNT=31 -L = 1600 -KI = 759ed1047e6c5672f1453368fe3d932fc7bc6c59 -FixedInputDataByteLen = 51 -FixedInputData = 2ec460962701023882b54541dc7180d3d62e3341a68a89efcb66e5c28e59468e114488dd6011dbf2824ccbbcd0aeb6c493bce2 -KO = 4d46773955189e042ae5b1b9de98e2cf20f646ee0b9a484f2c497cbeda7f31014f5577503793aa4ba0df7ad12aa9c942e7424edcaa5ce7c46405aecceec3292ab7c65b27cabb2dba4a782c9cb29c21fce4caddb1acc57e94cebe5e15afe8384381e7d6add2666b55bdf0e79349eec609aaae20429caa4ac99c2f4faebc8d4570dd43c160f4ba18d65831aa485134d178c60aeab0f69a19c7b8381b149c1ca61eeb64b0bfbbea2653684fd1fccc567b40c4acb39aef8207294f6bf5b8c1efc8b9f13545e86183248b - -COUNT=32 -L = 1600 -KI = 007da0e6beca67c88da60e65023d54f453dc185d -FixedInputDataByteLen = 51 -FixedInputData = 9e023014ac9fbe9841b3d7d5d9ce9f6d439552aaab4019493cfa7a2481a7a117ce62a39f5dbdd48e0e9ce734886779b01b89f0 -KO = 9a78f2e859334b2c6a26b7273cb749dd994d357a12461c80699b83fcac7fd796ee48803f54f654fe271e5d056c782ed82edeba653fb7b262f3cc31bb4642a364f6dd406bba7a46c89fe93f1e5e52a66d0c1685804c2b2f3ea3fdc21f09d8f22851ca632ea1cdceb280fc16c3fbb2245f58f0446f69d81ae9f6c95dd0495391cfcb6073623c4c1251aa567f299adaf476c66f47be70d3781b3c7a3d8f8e63459e905334f1255be186036b42a6ac682ce1b93b93ba9734b08a6ddc58f6ebd616503b399e7e75afbe80 - -COUNT=33 -L = 1600 -KI = 1537a4ee5e685fbffac647d3c37d3f69b47c7514 -FixedInputDataByteLen = 51 -FixedInputData = aafb7878e76ec69f258f167d2c07cd418088c8beb3057e859b313a3b4dadda3f1f2f8e628219edf877f8b25e3918b1cdc6eb01 -KO = 39c457fd24d2152de5aa0954249dbbb42f3f37078ea0db767ce16edc1eb0327fe7103a6eb59ad78c1987b056a63eaa098bfbbcfb4ef707ac769f58bfe13d2be6a5213db3b8794ab65f62149a4708322cbb6b49c31e1cbc1867e67ebb49f1ea714070b57c6f3095ae777006178aef54b25bbc02a3084baa8155691f72ce7d49c78ebfe58ff38a344c148d2e40f728f713b0e029c3405d500252453d606d69b01c6097ee7be0ad0436752a8a5cf772215fd650445d8685f7e42b03ce1ea228540d629d7513459bbdbd - -COUNT=34 -L = 1600 -KI = 70e2a9b657c28c9b514bb18010c5d20cf10b6c69 -FixedInputDataByteLen = 51 -FixedInputData = 214957c27e592c450b9681d08b9b546c80af081a15b3f9f06fec491589c67e73e5df492fdafb6ce2a2e0f17ad43df07fa1dfb4 -KO = f1afe2390da4f5534cfbb3bdc8323e83ec2531c1bf8f523faed0ebc3fb0795b7a2e5d8f1d84b56c5a8bf8d7fdcfd477e71e823efbeb69128d67d40b284edd3e8b99460d28ef7d0ef9bac651692b808e7d4712f97d1a0b6ee25677dd2cdc8d510d557fd754f7662ff84012e5f7a8a5a16b4ef549b6888cdd92ada360590d8bf0fd5bd352fd5e09fb3955a21b10e4558d0c80c44b67865021ec5721d9bab34cd5e0a6c61a8840adf6e6a2b34ad03ad6c50aa1809d88a011b1278770de35c5db1e554de0a5a176e107c - -COUNT=35 -L = 1600 -KI = 5a45eb715718a11fa1da87867a18981d65f16a3b -FixedInputDataByteLen = 51 -FixedInputData = 6b4b37bd7bfaaa160c18f00da9a318e93d6ce807ad9728e1577caaf96cc0ebeb5f68b70bdd6a7fa711e2bec5d5a5861e940c69 -KO = 5a4eb8548de040a68a9b6640f333dd26a8383d419c718f19db06f766ad919a26b2a478536468d5e019630bc5d39a9e5aefba89ab8810985666c5ffbbe2418ab04b26f5bde6eaf062aad6ed280485fe415f820bbec10b0027f283dbaf3f790abf9beef5627e122b83025f279ca2ed105b776e73974b8869b75b8eb1143ef2e3d64522260c7116adbbef4491395b430febd91ef4f9967ef9c032c91b3a982b06ae145fcc5451a88de4cbee9623bf160ae72f5fe60662284a6c6f3a0d5926d89259d73ae71986e66719 - -COUNT=36 -L = 1600 -KI = 7c5f979d38950ca8d21f281403b15088b3a9b095 -FixedInputDataByteLen = 51 -FixedInputData = 0a3dbd8be958c50005701bd9e19249d60909454059a9dbb5851b2e5235837bfdb35d5604988b91ac78659e952999394a062ccc -KO = 568b78ff206994b5d1497513b678c5dd9a49e8c5dd7a57011df70395710b556caaf66f4ab207990fac9e9a22b9d8dd3c3032704bc78db5566453be4b037e264ea2413d3666840dab09f4a81478017b0d37746491cd3ccaeb48d33e4a092dc0fb1447372b75f7c7ee59a2de7fc865e337f06a5dd744a3c36d72a21c1ea440f5f9185624eef16bcab95866408f53151015bc56d7ae0d784aff3171cb11e2082570fea4b3b195f7bb8d4785eafc8fb3d32858109ebe2cc3f5d4c14b48b84c8f40a0431a8012ac6dc728 - -COUNT=37 -L = 1600 -KI = 0e13db3ec367a09d91939a0b15e66494ad0261e8 -FixedInputDataByteLen = 51 -FixedInputData = ce83f25bab7e0988060411a657ece12b39d399d2aa01d283c3f7eb874c9df215518ff064909f294edab7698cd2df570c298954 -KO = d906f4c794247eb8f8ff4fe2bac3e01227581c2ff21aab95353c2724ab3c91bd32251e1acc1ee5c9fef4a297b52074c4dc7023f7e96bcc3ce73dc213719d1b272cb246b4c89b2e14abf5d05dc030a9a16383b41c306717c3147c4440e6d78884b4c90e83b68c4dc10ba9bc7132c3ed49353ddf5f8b7343ec87c41c7f4659c60360a640374fba45cc6fbae33a1bfce5fb580375125022ba97e8e93f618ccf95ed53959681ebc47040bff3129a981d036afe311f2d53da93e6c64d05ae32878042f7b82802f1414dde - -COUNT=38 -L = 1600 -KI = c2ee5c89d8b2bc1f9cd83470ae9416b0472dc392 -FixedInputDataByteLen = 51 -FixedInputData = 3e3ddb38d36309f505533270bb183ceaa0572b4ff74840f1f962a7646b61540dfed497f40243be6a909366a5b6f0162ae5f6ac -KO = 2c41878e7d7b5facd223fbe1b4f3fe811af4d20dc0fad1e8cd0315689e16680b3290815eb4f26600c8b6c050bbc551ad5ceaae7f2796ee84d0a567f59b0f1ef351a36e9ede15f0e36f89c56bfd2d5569d85dfdd337a382bc879062c57d774b52cffd53572428df1690b30c18ee86af9ecc210510961ade3f27428bda47cb9623d8eac2f7e653d679348690cf8a1b1f26f212d671a37fc1403756c7162f573ca65d26255bdd44bc6312c171b677cdd6882262bb02de49cdddccdd2b7466b4bdf0957b2c420680d3d5 - -COUNT=39 -L = 1600 -KI = 2d85d7305d8075b35d25392d995fbec2dee0e2a6 -FixedInputDataByteLen = 51 -FixedInputData = 34973bd6faae229f0ba81f97f708d09abacf05bba49a11988bc7a595ee9b2fde9bb0229a5834262c3b8ecabed476f981a27081 -KO = c56d984f1ae8f236f89cd4da969606111dbc841b92a310656491c110235011a3d2a03b34710c75b9453ad199692d219a873d8178f00158909fc523e208e94c62d2dd2db8066dab86c35463ffd7fd328448c4ef8160b3d8a3d451803e54ca5aa611208ec814a837d9b37c0f24084fef9b0054cdec122a2b8af2ef5a42d4c3c6ae3b4650ba3e945af74a282606d90d41200dfe7fbed3a005fcbb2894a2ea25f2f19891e34228d1eb9b43c5e410dc2802e821ca2d6959df0dc7eafd7ac0333b232140d12656e35a2355 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = efb188bd00264a9aa54e937ba27190113c98a823bd0600e6533110ae -FixedInputDataByteLen = 51 -FixedInputData = 93bb8f24c369c67f1ad71986c62da232677eccbbe3e3a4c3dca99e2291a09ea2cddc3f32a5ec4e7193bf272ffef83813f146aa -KO = 888e3b29fa236be5d1af71b7c0d0fc60998fd1f0d2fb8b3648d7fe28832824308f33a1b4fa342c32dca7451fe2a267e2933e2af13f260ffae716fc3f0f298342 - -COUNT=1 -L = 512 -KI = 72e9dce67c6b4f1e90a1dcfea81205591238d49ff357bc46c9c1c029 -FixedInputDataByteLen = 51 -FixedInputData = a0d2fcba2997de8736a24bd55278a6f464759ada317180c9d8021a4b468d66f8cd62e0b0c83f4eb9a50715e0cd46e3fa5144ed -KO = adae341e473a9bb8d538a430db27986b257a57e8e61de157ec780e49f984a3053197fb88b4dc866c9841640eff08f418abbbcdea22f19de70e96ff71f5d907a3 - -COUNT=2 -L = 512 -KI = cae7720950c34e0e2d3176a5a21b6747af4f7dd9912a9343a04dfd77 -FixedInputDataByteLen = 51 -FixedInputData = b56dde2cd8e1de8c937e6002b5b32578a9502efd7dfc9f3d692aa97137644210e7300b44598663969412ec3008a888cfaf9418 -KO = f38465b91b5ced6b901ce8259bcb2c26e841137c4b2debc55fe692a9a6ef1d8b57c9b23e36b7a8829ce0bb75900ba903b03babaa8d14d2844c6775d4835dd7ec - -COUNT=3 -L = 512 -KI = 7ef0d1043027ebaeab3ead4a964d1c101dc83b30656bb1465e3b7cf6 -FixedInputDataByteLen = 51 -FixedInputData = 5a8ac749f406b4cfe655f7b9e548c081f5d0cf0c03b3c9e62aba406a7ad2933257a4382d637993d4ae397910059a496e69c0e2 -KO = f5ac84b4468b07b2aac56abc4e61e2cfa6a12ea14997eefa699f4303693a8b3db807574e2b5adacf5aacefceeb61174e18060bfc4ad9823b6e9c066b950ddec4 - -COUNT=4 -L = 512 -KI = 111ef665196d992855299beeffb107723efb59a6e2cea1ee6ab555aa -FixedInputDataByteLen = 51 -FixedInputData = 12acf8be379c0375ede6c780930df820bc5d783f4f3e338eff0f08ef595ecd8a79ca8a8a4012f0910f5bd043825b0050be9969 -KO = 01925ecff578008eb79ca8f647bad04598da4236179d3b49c862f1446adf06c81f6967118cb466ddcc2d0afd7b122268f7e81c247937f45a70997664ab599ac4 - -COUNT=5 -L = 512 -KI = 264b18deab47c4b7bbbc2f7b928effcd1388fd7d0307a5fb3259e8f4 -FixedInputDataByteLen = 51 -FixedInputData = 29425f640b47d0ad5e819222af8cd427743cef4aab1d3c0f46b0c728393edac58f2a559a01431d54199a9eff8a0fecab821edf -KO = c24549658d4c753a12be1fdc3c5f8c864d7e779e6f034592d0abddfe1fea16d6f5fb1a720a21f290c5382363191d87d774745e8a58b9cd7efebd54a4813d92ec - -COUNT=6 -L = 512 -KI = 69eb1fa9da73b350f93027e65bbdf02a5d0ad9e047fa665a9d45b1a3 -FixedInputDataByteLen = 51 -FixedInputData = c7dc0962605d65c6e3a2a5a3fdece54abfba2ad05001c53793a8c63b80b0d869026315a11cc5402fc2758642152720f39d4438 -KO = 9281d097fc4e95ae9d5604e8d9e008f80e84f91f73fa73160aedb7b71fb7d4acee833adeed2bc01ab0bb7290248833a5cc9655a5a5929a679f5cb66dc424429a - -COUNT=7 -L = 512 -KI = e4b2b7bd669b85bbb7b4e8f60d8af54a59e26534beb3236e9f357a92 -FixedInputDataByteLen = 51 -FixedInputData = 6dd32502d8b662ff5799a8bda1442e0c5c96eab7715385d75c88ac3607aa926e3ffa2df5ff5e989264df1c99f3cecd0ddd2422 -KO = 5bc52862e4e5ae36ed9ccd40d8d98b66d63915907c4399ed644f285d9100f346be55481c427f316b409c91d12a169001aaadf102ebedd44e45411051e1e18a76 - -COUNT=8 -L = 512 -KI = 9066375ec491d284280a2d0dba80d2bbe80e50fb74c2b49adb982e10 -FixedInputDataByteLen = 51 -FixedInputData = 73c51ca3840b69eb10688faeaf51cf5bf58fe227f7851ffddcca62a18833fd18f75186076b0e88a0c30fbe22ff05981b4032a3 -KO = 7c7bc3de1e092cec5458da593ffd11d7e05784ff0ae25493d509990a8102bc5c782d2661480acba17c84b6ca026d3d766732a25b3ddc9ecb15dcdb4c344afb0b - -COUNT=9 -L = 512 -KI = f1a20fd23651b2e9e07b6b1fd0f055bd5b7a2f6bd1ea5848809b0740 -FixedInputDataByteLen = 51 -FixedInputData = aee63b06d8cb2feaa4ffa147e813014d1649f2d417fd28638442278257a21f0b9492d09ce927d85df7a1285e3a233a423a79aa -KO = 8797249e615af27148b43ef8132fc82effc4f655508e9b663f9b6b95d25449f9db96d3475ed386d81c36ca401850c7f5ac1655cddc247c6e08a767187f910dd1 - -COUNT=10 -L = 2048 -KI = fcecd8f5fe111a55d37b96f177f3e54e31e582f9bd1a98f5533f81bd -FixedInputDataByteLen = 51 -FixedInputData = 8e31ee6b973cf712253f5fd1936ea394e7bd09355c4a85736f8188fd334d8db924081ffca4a9193fff954b4bcfa24564701938 -KO = 17eb9c30c6f14bef5170fe6a706685c95d6c5630bed21cd8927f0bb8ee02544892b42eb0002fbfe9f09e3f5797a9920d37a54f6be9c0e8741987adb18b304acb5d00cfb0cb41b0c80cc6b6161d1f349c712ca8b246346be4b3ca53e30e759e982e330a78b699fa874778540a7b9fb3ca0cae05f9a7baf210950f6633d0fee8243ccf2b88673b988763510ea89aec2c97fc1a3836e739f36fd43f0a2f0621198cdae1a069ad5e546d1d29e8fd538764fb4911ab90fb8b62250196b9b38b6ed71cd5a14b5801a1ce69bcf2861623d2a244e87d9fbab07aa9d3087ced81f4b949c659d0f0f791ba1fba8296800221a6c895a11676e596db5bd8f958612792cb8ceb - -COUNT=11 -L = 2048 -KI = 58dfa9b632a67317c457ddaa96453b09033e24c0c6f3e002104923a3 -FixedInputDataByteLen = 51 -FixedInputData = 8e66bb965bea72480d8411b4c100a82bd214fe24d71c45fabaf5e6d336d1221476a88b9974af56aca2ac51cf08f4309b9dc134 -KO = c2a7a2555357203c647899e8c8c1d653eb31b3c0c04e1bed75e3b807a5d19bf771eedbe291102c49b5fdc8088d7dbe07ec0ca18b26868488568d705c6bbd065daac221f2214b6cb9e6659521d4a29d8e6e73a9e0eb8a8ba2b91077361397970191456a8e938d59fe3c14caffd06763307c3a63b0766b6d43ea704117ce5936f0f2984ed20aaff58d6ad153c41d71df6bbcab49c0c302dca63dda24f40f1cec12a7f571ab530b97ded73fa2c2966218e1d029a5b7fb6f751f3ae896bcfd50c0e3e173763bd19957639819b7d514eec4a8cd7cc96d18be1a9f77ccc128853892363055db662bcbf0620282187d174d0297ffd337f57024d4873e509e814ed8f6d3 - -COUNT=12 -L = 2048 -KI = ccd9f205f022e33ed510d56ced80177a3c0ee603948885f0e9fe0839 -FixedInputDataByteLen = 51 -FixedInputData = 1fca2d3047e89a2f70763b4d7927035f9be30eafd42252c2fa3833ff512eeabb4238f3477465c75525d7061dded63432f98cd1 -KO = 5109396b66df505538a7c345930f7fd9061b6c581d9f175b3882018b9bed906c6bc3c37a7c739547fb34a248afd194dba29741c02c49632237360b83110e6ad215cf4ad138a2b7469f3161a25115a59f360cab220db7f17e2fcf8ef4499780b910208fb4e97380dedc0e4ff2d2b390f751c3c6f2291ba4958589ee45eda3a434a79b4cf0951faa1cb33310315f8264801c987cad4915d91bfbd6f1d61d9ab26fa1819f2e164772ae7fa276f748918e3a1a4ad430706bcfc6ce93d034212a2aa5772181a9a67d4babdf9e24a661c0d8043f42679e78a28540746256e95e5a26d07b3485b53833d4c4dc5fedae660c8148b169c1fdd614f6ea7840ffc2980cb53b - -COUNT=13 -L = 2048 -KI = c4a3579d381877e7c4f19352452b8d2ec21b2b04d9436f692c64f7f5 -FixedInputDataByteLen = 51 -FixedInputData = 9dc5acdd984d303c5843e31fceb17568ebf8bbc5dc91c7f1c3af3e6264b3e1bcb03fc2106b5aba8fc89934aae75a45a9cba4ae -KO = f44facf280cab11cabfec3f35c501db5eb335db87732fce0704cde183901d1e7e1c05f3d30da4369facd7b885c02ac27f448cce3ff0121f97e09df38d5a750ffa9feb22713470eb6404751d4ab53ba7828ba8b5f299ec5e2dfb6726cde7c16fd7b1a2d7b3905b648c443d22ae1ff0409c1e275c58660afa30dc33905ad8a7e15a73ce2421d5c5fcbc9491d6e732abaea582a97a0cbbf2aca3f1cdbd62216d372b9beafeba80fbc022654fe863d1dab7760c643401305ac219a76f3885d73fd72438f28fd0618cf4d54d39e68926ef58a07b6277ecce2def0cd3a3f7ce0165d91371fb040887e41a211d1fd514a8ecefae2f559376d7cceef115bd8cc6ab068e5 - -COUNT=14 -L = 2048 -KI = 115fd776dd8f9fe0135c29f07c0f93d7cfa27c1028edf6dd4d7cba54 -FixedInputDataByteLen = 51 -FixedInputData = 867a76b3d7b6b452fbe1da00ace187d8c1b94d4d848b3da65abfa3cbbde55f2ec80bfcf1d2d1ed02846a22e0d16460adb1ffa7 -KO = 0b40cc77cb601a87a6feac53d5dbeb7df299e93780b6aba9a81cb92ad993af6369525111a97c1b00869eb7600208f0a0cf18f1341c776f6b8b517a60eddb083f5dabdcd1295e11aeea1080f03ae9b840f8067950b7f4087e05a3c4afbe334f511799fce38afa844e34941eb81843dbd2612c2526ba1b48490c12eccafeb6c62a32d17b9f3638a7bca71289f6ad48a795f6a8b6a22d0a6c4ae5a15f0a4b756d137db4a4e3a5b746dcdf36c4509f50623f2d7f24664421b6a2a73ce06da3fbd175645d541b7844824640d57dd6b70a9664cdb1f90cb912d35e5cb1e34cc4261ab86080e6b7fef4d74cd448943d55df21b14e54bf1bb0d64716a983cb2223513b05 - -COUNT=15 -L = 2048 -KI = 5da9931e2c8551f7a04e0348032320c566b889bab5f116b274f3bacb -FixedInputDataByteLen = 51 -FixedInputData = 07a2aaaabbfa869a04b4d066b7b506f08c1e0f9bb2134a9267790b3d8c598cce787729013f0553fb73e95346572611c8a0d64e -KO = 9a0070dcca4656d063ed1b57f5cb9b818a0083858521be91f6d025781060ff32c7c2c1d3544b66c62c44ef8a192e71110306d5e54f728ad59012a75ed147beb23668f12bf5bab718e797d735b8920612bd6d22c6c29f17b4b9e21fc7e1f43ef7f304a6233c26b684704033777228c81ae33a9323e76e80f0cae07a41c3ba640076eb5abe64f29ffbf64b5b38d5f1c311ff10e0dea4e82c891481355d1a5b22c4893a0a244d7ba3a8c81957ceed5ace27f4a1233082e12a4798ceac906581cb7f6a4e94f590304042caa421eb99b1f230e899303b8101cfa4483cbb7fa483dbd7880297259caa7f2559d9d7d947d45900ca22486985360e2091f1c4bcbb44180f - -COUNT=16 -L = 2048 -KI = a20d53dcc4b79ea4dc3a1ef6c59240321ed93ba57af2a9e498cecf7d -FixedInputDataByteLen = 51 -FixedInputData = 51463c31c38434f11087f3d57fe3477cfb24e8932f00638eea84aa661d026fa717eed0f2e917e55c7b1c83e5203c47fd47d68c -KO = 43157c2435da2bab56f10dfb973b373723d3aa3d0ec283b6e4f915ae33197984d7e82d008bd227ff9e89884518bb23ce4be0f86db5cc2432d4824a89389872fce03a4909369d6025684eac264ca2499d3c8aac62a7b97e44dccd2832e8835b2eaf0050bc2bb055c6ffa447a1c3f49a7af7322e271eb0780a18a54c48c9874d37d5daf5ba69a8092cc787bd1504ee1c717d31cefd2780ef40c22eeb01e599e29afdb5a7f0b42fbe6597dd0c2b9055a128bb808c44a03d50038f0e0686fc20efe8d597a80f51626f3a8fc3143b39d441223f43e4f9969eddb62f239dd14abd148615c2a2143d013b6c8822416e4c4b0f0e548d6c2732ca18a3c2054e1eea2080eb - -COUNT=17 -L = 2048 -KI = 0595938401a23546c1b2097e36f7e191c1724cc3ca97e30b2a83d238 -FixedInputDataByteLen = 51 -FixedInputData = 150ef049bbabd5d79c5eeffa03073f3882e62fdce9e34ccfa508f84f9fe9b6830d6e3eb9488ed39a236abf28d9daaadb34eccb -KO = 86d9fcab955c8666546a35440627caf02dcc06ebba4065e493723500c737bc48ad40ffbd49d74544368bf9f59097640e99783ed7f413624d811f326c62bfb1d846da5057d7e915d75d3de3a6ee2c2f22d1dded33acab3923a86fb24d94103fa898e7bd81600a25fa2c220761bac8ebfb26a8aa30cd8f51244f04d4e5f32b64fcf1e088060725a9003dddd2836112f434bfca04263c160fe6af250155ab6bd0a4e8e95e637d32ad5fa9e515f5a8c3eee22d71a626c1eeced33043a0397994598a0ad9aa66ac518fff325596196a1c9f0754f6b93980ee1dd0af9c26e3492b10d699e558131eafefa90efa40530a999d4cf1d0e09c925447360cae4a831559d007 - -COUNT=18 -L = 2048 -KI = 750859fc0318b5649f550fb2f0cb88afb36995b7e94ccfcf514905b6 -FixedInputDataByteLen = 51 -FixedInputData = 056cf134c103788c63a9ff28a835ad04226c06eb85c6130efcd2549763355721523141777accb377980eb7b285150be17f888d -KO = c05c6547fb1855b57319dabbdd70489313bbbc22cae441b47b8b922866fd3ad90af55befdd1dafcc4ceba1d88dad9245e93c92a894f2787ed8d576768cf0362df67916254c06ad226a1e39d8758f0002f67bf74234b8acdaa04ddda5cc38bcb7a838026279aa61accc79f091d6e320b1acfeb060658c1e767c0ad9d367888f7e79a5769fe4805a4492ab7a7850b0d00b336cce9ed37146396d5196eb8f2fdc683beed799e1ec6d50ecd6222e45f22534889026acb59e995a926dd51274185b530f167b14caaf70f941ccb003818a74b0c969ded76e768b8072ac1dd20771c57cc55d565418bd415ceaef044274e9dc0fbb7386b2f5b5981dab332933c709f0a6 - -COUNT=19 -L = 2048 -KI = 5dd82648bb5caa10a64a448e6e98a8ee9e5fa47bd0c153ed43228553 -FixedInputDataByteLen = 51 -FixedInputData = 8e04093013110c1bb7abe6dc6c2f315ec2d7c4b1ae515c3379cf02eb214d3f4113e1efc1d5b438e5ada76195348a17cec2a137 -KO = 9950f9a27b6d9a0e9c4c96b124cc0719d00b9845fb6344290d7f83d2b67319f9f8f8da17b788e1b28787c533ade9fbd4ad95c316e03a5fbb069a7cfb6251c22b97bb38b27223ee604decef47b16dadb913a8cd8332a573db780fd21f39d7874c98f18370a7a4ee1166eb0a33fa0ab5cf378bfadda044944eafe85dc0bbb00c1264d944583baa291e609143ec692f9cd4abee8fdc4a5b94b4c5262db434bbd8cd335054a769efbe07e671a09bb0f2e38f93ef3d565aa05d94d10dea3ad2c28fec10f69c1eae37200858ea40f0d7d6593423d12a71ee4997c3193a90b303cdc04abe1d209e338e119ac59f33f55f7d281bdded32be3a36526ddd80a6e259307a94 - -COUNT=20 -L = 560 -KI = 9bdb472aa1fee814a495567166af7da2339136be93892ef4b13d5e0c -FixedInputDataByteLen = 51 -FixedInputData = 6f870a50500332f326261e39df279cb811aabb2d3e78f52959752c9ca0b4399c70e65ef999e82613c69bf85640dd79e9289e85 -KO = 06842e532b8d9f8dd518bba4d51282a910a099888f81db0c6fea4334416f47bd912e1b5c2aff1bad9b6b544c3bca076852aa31efe9cfe144428fdf78363bdac6f42bda1b987d - -COUNT=21 -L = 560 -KI = 9efbaec40d8731eddf050a8cda3789dc894011d9dab315c3cd0a77b6 -FixedInputDataByteLen = 51 -FixedInputData = d984976fadc6775fed3c405e5537933a07070a62e00e52c9e8cdd928fdedce4d593c3db867f1c92cc1b3bb3be17c3c69ee2a50 -KO = 774d53fd1d89e6ea1b49de50e8264f3696d115a7aa67303e35fef267235fb479f1f8de9e27ea9e060b3ff309ca99b5a9929d9a4cf48a7f624b850b4bf929a80aef812010eda5 - -COUNT=22 -L = 560 -KI = 37b33d840e88d62cd4d00dfab7dc37a27266787e0afb9f5d01ac2e91 -FixedInputDataByteLen = 51 -FixedInputData = 6577afc1b30b3f6f8880312fa829b62b35fb91581331e1cf34ec7d3943b0c7a54ee13a4efc0ca403cfc9e09d8c1af22fb726f4 -KO = 668016850cfc0f20c41123d4c39b0f75bb49df6f907168248e176581bb9d54abdc22b11c03bc095f703614442d4babd8192dc9cbdfdbeec49a5bde28d4f7ba741b9c68d3b145 - -COUNT=23 -L = 560 -KI = 64a60fa94ba72f5876092c33428a9bc6a68c8045b684d60d069e1df8 -FixedInputDataByteLen = 51 -FixedInputData = 55285a55fa5c2356c987b1b12f599ff5459c4434a1419533f45fdea3eb78b90437ddb884fa4903746cdeee2b99c39d066bb32e -KO = 39ba9624185eac90eca93f60ed1318a1c72207b5ca8c0e432a55c4c511dd9215dedab7769418ff1a66085aceafc45524f36f779963891ab59fa74ca388fa5822c48ed748368f - -COUNT=24 -L = 560 -KI = 1dcaeef2b219cee26824f0a859fcfbfb4737c33b05e856bc11b192d7 -FixedInputDataByteLen = 51 -FixedInputData = 9d6472927bad257edcc22211b0a3991c9e931578426bc8459bb4cc19a51e861b03426b19e8737dbd4d6e87e3e0e4e32e0be3c0 -KO = f8a753138bc0e9473f0971853a6a93da413e262e57356478b8d307856b12d001ab4082fdc383fddd025080eaa2814a74cf6256e261d9416f71d9c14fd0050b0399b88667dbc4 - -COUNT=25 -L = 560 -KI = c4838f9c8687b42b1b4eaf9abc35515c78b36bcd608276f5a0c640ab -FixedInputDataByteLen = 51 -FixedInputData = 368d152278d16012fd4a643c6759b7e0ca5ff045f7324c1825bd37275995652df5711d86107390aef5c8983ec68e720c5d3861 -KO = 7837fdbd844cc56e934ec3c87ac6397035fcc65dd0b3b57cd305927991e6af70605324b23ecb05ff43740f018a0fae89f91390b5703153caa7f202465b94e15857934143d166 - -COUNT=26 -L = 560 -KI = 599dfa984b32640849ac371f7cda22521cc81a234986f99c73175627 -FixedInputDataByteLen = 51 -FixedInputData = cfa135a813419f18b085119bf9d7f727f9ac07b6bb566c536d4fd0adccefd00f1a65cba149daaa49a457bb2137dd653d16ad31 -KO = e28968e55712336fa030b0fdacfbdec8ea3beeab11020ec007802c3a22a969fc0bb40b20de84d4343377607d40ba2e35ed60803a5d65fd3e05dda68045d291c13da56e603004 - -COUNT=27 -L = 560 -KI = 8d750e4714dbc591bf935621651e01ffc80e6ae7ef75b8d7e4a280c1 -FixedInputDataByteLen = 51 -FixedInputData = 9cdac4efc6437c80fc3cb6a9b1156b31820e995f53d148f9b4139a145984067a4b793dca7f6dc43bb6e987695193e5f4c7b12f -KO = 246190f3a2ecdeb7c404b75e92bf473d31ed15ad0ee487b4235327cb8bc6a6b6e354df2b2bd6b0f729d4223f85c0f117f20d3dbc91e76a5ea839302dcae30e90ca2364337c9b - -COUNT=28 -L = 560 -KI = f69b7b611ceb8ce6a0879b6f66702001cb632d5504bc85b13d33bd73 -FixedInputDataByteLen = 51 -FixedInputData = 6d2420f70d1b76d291d30e94212254ba00a6d88f1e2da0d444e73f421b7074a977b5c098e4cc11740b45a1ffb7c4710fdeca29 -KO = 684590a38f47317cea320e49b3860e69bef53db7f996a44088d9c3b01fc3c41e4567fddaddcad5ae9cfe606d455cd8f983445226f8e6113f639febd12c12cd8bc661769b7e72 - -COUNT=29 -L = 560 -KI = 56c28d470fd98fb07ae97856971de59f95b7466c7571ed8fd3dc60b0 -FixedInputDataByteLen = 51 -FixedInputData = 4d4ff12f7588104597b9d69084f796b7a43afb30fd239edd3e8df73b73c0d3015a80a806085bfecf810abeb245038996567e74 -KO = 23df3e8736d41072259faf1484c44c096127e380551e2353893ea7f7fe72d908d72b0742742b3e41ecacab1608b136ac82d9c66f3d773a20ac4ebc4532695f26a77acb7a1719 - -COUNT=30 -L = 1600 -KI = 27e8f24122191f02fac3f5d070fd0cf17d02601fcb7f6a4c388f2603 -FixedInputDataByteLen = 51 -FixedInputData = 3e99ee61171039e60de6e11614c621358e9b88df0dfbb4c5ffd491270b6bce9121afdcd9f3d3d0ed95f349c5981118f7eeba18 -KO = 0740c4984ab3f1b1f51b946f6f6e8394dcf586a08e8f599f04dede733f7467fe4f59b0cfe62830351590b2495a392665517f9c27d1fc9dc7a73538abaa97d10c9fe99ae74c80c5da342390d3d61f1b37c6bc7c44cb8d36e51fe231bdc0a52b48e2c811ab61c426d2920e5f8a5c9d6b0256ffd9372f8f35fba2e90345f74895eb3e48350bf2d9828188630539249310c587b266dcce31141ecfb8d5d3fa110304bfb923cfbce44f1598b74aa9f497ed73d2bbc2c5c2f338f6cd37b03a8640ebe2823a4bcf886ca9b3 - -COUNT=31 -L = 1600 -KI = 3c51d46689a848c38d6a1520a75201ee9d2a171e9c419919876268c3 -FixedInputDataByteLen = 51 -FixedInputData = c6e33a60bc67260255a2616f534f33da25ec35df139c654632478ceeea4a85186bd4b63de913e239f502c2e76324fa2a4b8326 -KO = 4f590362b0304b2ea3846b2c334b1a5ed9630d2aedb1d1db2238a401b3a20dfe607dfb21451898473324b360c18a0294c4190041e891e9519366b80b375c3cee072fa934e21a272af253f778ee6d9cded8326cdd9636b4308983246d036fc62f74d7de176010b50faae4ae3a7d4280150690bf34af195813432d95e91516c2bd64d0d2e343c08e634d9fe915c7efec5d28caf86b1a36d5d82b446e67c5626380102c5fad7d5553f487fadc7216fca0d14669d741be191ba195ab47515b0578b377c789b05fa7b3b1 - -COUNT=32 -L = 1600 -KI = a1d2463984ab400734aac68daa68e9a2de4786463c5c457bcb789d9d -FixedInputDataByteLen = 51 -FixedInputData = 8189dd81241b29349b02737adb82acfb0af74436768dee96f44cab5552a8ba4a0b4a0492a60671a93b6a2ff3456f5e712c3b35 -KO = 89414e7f9cf8788e7a6110bf81365e40747a72e612ba5248d18a40c8290657ad3682d0d0f02f1ec20526f19e5621feac2c2c49ef9b85d42a6d4ac1edbb8844a191798d4b918811e016db1d8ab3a6814e6b666cddb825fd97e245dadc8d07ecf4e764dba8d384376c37070a372ad09f2622cc9d2444570cb9e0fa8a377b53cc60844e558781a0ec9f450d26c799eebc699252d2e8507955b1b7481cf1fe77f4df65b10b5db8b3333548f57a6e27fd1e3533777e11292f3969df0781424f0d6f6ca7b5cac78e0bf55f - -COUNT=33 -L = 1600 -KI = cfd629f672d44a77e8099b327f0cdf4ceded1865026ac2eefed6e18f -FixedInputDataByteLen = 51 -FixedInputData = b4c24b665fc81e4f5c5d730928a2baf17bb5dfeab9deb2da05098994cfce576f66f10f3ea515179857ebdb6c3eec1a6c1badc4 -KO = 636f9a5a5cacec142533704e3d32c508b0195723f61751d172ee329872eefdad75bbb93665d9bdd639952161deb4c2b132661dbb64e56339f78f03b73327c72ae83a650a839ab29fee38cf3978e50b5e1b7c50e897fcd48bd4eae433f72b8360b08b558714dc34d58c5140940d3829c3e3f70177bfddec73ad6d79541f29cd2de8b235dcfc65003cf5f63f6f5c0a0061e33a7d4a110ce7f0a934cf9a3fad9e35be59361f4a0ca70ca090d7bac7c10f0082279fadd1b75ee102801232307ecdf27ffbf3b0a4e7aae5 - -COUNT=34 -L = 1600 -KI = cf64057f76aa0336a923b7f65053a5dfe2260dd92383b2d5171a7c19 -FixedInputDataByteLen = 51 -FixedInputData = 609f49528edbda9fdc266eb9aa8bf4707e1451b11aee12c049eecf923e596b4565cf77ea9b14252c3479b43357916edeb90026 -KO = fefa268121fc6dde58dae382e9f8175e2d03daab0b3bac159074c3ab5a7df42b8ee815a72d9cd8b522d55e9876517168ef4ace64e178a148148d3663a7a2fee1b896b17c7cb561757679066cb18c684da07516e7309cb29c8edd1988cc71de031b285d7c94c81caae4b3ea5658eaeff8b63b090ce452dc044eb7c18c223406236ee9bc22fcdc9d35cacf1b6b07a0366adfa874b1847163462c36cd84df0d26b2d2352b1b5beead30ca2d5a1f1ca4c011fa133134a6341da12913162ce9eebec3e6831909ea5d5ed6 - -COUNT=35 -L = 1600 -KI = 2a1e5f2835a31e3c4f51f6decbefb9b186a6201a4822aefbf8ba9697 -FixedInputDataByteLen = 51 -FixedInputData = bb9d33a565bd3326eaae39839a722b9bb75f5743a06e62663c684893b160988aeecf579defdc5dfead141ab64c8405368c852c -KO = c9d1261705f9f0275e93b7edb39e79f5c58fdb8f66d0e6206f0a2571a0bd1e4601d2b4f51edcb4e6ac3973358c79edb8db5ad00107ae78d0765fdd313fdf488b8cf2eb583312c36f7feef643bc84600ba61c7e362cdf228733b5d6d40491356ee519deb4279341bd3d95c202b90f37f014c8e7a8abb8eac267adbdf999c3b6158dfac7f47aee4db98e1a47c4b103b79d46f26baa8b27c7dd98db8fa86e03881af01b14ec3ea5039ff99b4faa523d8310f33a8410ed69d76d361fbfbe0def5d934891162cee1e9372 - -COUNT=36 -L = 1600 -KI = fe6b71ec40630158dc304177ea8b6159857528d1d0d8b3186dacd480 -FixedInputDataByteLen = 51 -FixedInputData = 3a7652e788be7f6f497df04612744b295213002c4bc3c6cbcaacc18a8d27b426369e9c31ed63bc6ef8166a654924dd60d09757 -KO = f13e9735d00a53a4c19ea470e58290cd82008ec7e456a56f18a3f90dcf58478205d7f02d75d8d20fc8bbdf7ad3606069a52394b994705fdb0880d69629053bca2a18854c4294f5577fdc83906939d047b13b60f20bfe8b0a68b8fd44b91cae736e615a06a9b5a1ad2c389d7d18c13cb84639cfe791ef25c74f7490444fec14533eac90f2c46e6cd4e56a02a0a0e22b6acdee10ed09adfd85313efa6ec7d14f9a701a73703c8b7175f9df2481339a65ea469b9741b675a7c2acd3db287fe644eeda595645993bf3f0 - -COUNT=37 -L = 1600 -KI = 543c964c842adba2b35dabdda6e5f21941c49c648b9bf210340b9462 -FixedInputDataByteLen = 51 -FixedInputData = 1db9be6573d8856e33b69d5b88f0c99fdfdb706486b3d36f0edd848584710fbd7879f0ae9213d014d575d0a4bf99a4d4b2d2a9 -KO = 783dfd851798bc29721b3bec0b1954f63a0355689a1f9cf21cbde825077e417e6940230e9932400f713e6119fcaea54ceb44a929de8cae805258057a79c701dc55c73772bdc37dacd8417c32ef04b745e6f7950b4379721ea02687906ebae4d9c1b46a1cc7873f0797111f018806dd7f22bf63c0032e19bc0ebec8902c5344de62e92e6ec0bda7785048ac1b321295589dcf799c0ffdf196536eb80f9b002955735dd5b2517ba4b85ace3aa267c5c601846277e481d35e924445f2f841f36f0007ecfdb098d71078 - -COUNT=38 -L = 1600 -KI = 42a1f300ba86c405195a24d3ac683bd412d963dfc88a475137df909b -FixedInputDataByteLen = 51 -FixedInputData = 657bf3dbb1ce2f9127ddff35da79ee0a4c976fa41467556984ecaa208d19a71294715b7d62bc6855a6dc0453b4980d714316d5 -KO = 43d59ab1e041639099c1f53e268be8349852ae06f0092bdb5c3ea1c81f9a6e103e3906e77604ca6056acbda2b5150ffff8ca28d8af476b23a3114e6d3367998d581fb29eabe767a387673f0133c4a5e9f57a5a3900250ab476ed559fb89ae6b0565d3440c5141a8e7a347ec6b1cfa764fafdea527484128ae2cbc75ed9dfda05159698cdaeb5793f57aba04bdb9957f2ac49015245a1a313d0aed1c7dd3c800fd1b5332cfd674ee08bade6f736ad78d68bf0a4d05c8bd811d39cf56c544a098c99bbea8cc3ac91c3 - -COUNT=39 -L = 1600 -KI = 7020d163889bb3a15cef6851e717f2356d30e0bb5465d5bbd6159085 -FixedInputDataByteLen = 51 -FixedInputData = 26f4a75f4dd54032529df437d7626aab2cb5a346c10412dcb34a0da195050618a040dc66f518b907a4302c23b9cce6ec7e52df -KO = 7df1352ebc815ca63ae3174f5d6f31c00a954bf82f8fcf15c8033dc701017af41aaa0ad35bea4c69868c461b7eeb8cb7b49d2630c481d4417d419f09935abc8a9096c71c52faa8ddee947abde81cdea0b21033c4a7f9d33acd380904a2a27e01924c34d4af3977462e3ffe66b50ce17a27656f23010109886f516f3b0578a9d2768a5fea22b97373d877b55a0686e0d40a33e3a5e837c4c18550695236432fa9890204eb34c824b4a5bcf5077225d8c56cb988a912bc5dfbff518bc2912e9684df82337baa6c797f - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 4c5e041668eeb913448be151cbf2f17d3374edef009580d6fa0e36c7 -FixedInputDataByteLen = 51 -FixedInputData = 0e5a035df61baa2710ba4567e0a2950389194b913613f9adb46c2eafe5ab8d9c636f24ce39134d8005ac2e412e640ce6c4421f -KO = 63d755607b87b2f5e0e0eb52459c11773903626bf3045cf7f88da2869a2a15fa648389929ab2fa6cfbe83e4f5302913e50d519b41d7e5af0cb474beeba46ba21 - -COUNT=1 -L = 512 -KI = 8619627ab8da0968e4c8f9cd39b7770b5f73e20264e6a5b6e95804b6 -FixedInputDataByteLen = 51 -FixedInputData = 937ed781c2e743ec0b85fe123e6978a5cc6f1157a30bce589b3b2b1880112c71d71f02eb6100ebc32d2f6ff2854d774cba60da -KO = 032e75dd4c1a6b3571a741536f5374a65e2d75f50a48f96883465505aa1ef6a6d00dd111b6e9dd2238460ad00c27d4fcfd93de0c6559552c64d552c21ed50ebf - -COUNT=2 -L = 512 -KI = 72efe04f0cc3c4af198bf1e4322f397117e649843234a35bf171e304 -FixedInputDataByteLen = 51 -FixedInputData = e30d5b08a471ee8b875e7b3f9910e42b6922548c89d4c1fff586148a9ce3190aa611ac5660531f930d11c23b9885f3a81c7112 -KO = 35bf86c1a9f6868c7b567f4c06e9202353fb64901d955c11873d3e9b454c18a19c8c57d17d4b4de3e3291c5d923d39df0c6b2edb0be6c3cd43ff1bb201c9856c - -COUNT=3 -L = 512 -KI = f6c37b97ea95183122aa9dbd071b106d988513a86c012892f29a2f1f -FixedInputDataByteLen = 51 -FixedInputData = 428c3e771bb56fb75421e4596e070255e997cb8626741f132160f1fd6ae56df758839be493004ca7d4836cd79af90040a6b5f1 -KO = 43948ec8299256b8656c62ecee89752b62eb94b78ecedaf13ce88c6439a40280e2341486581d4744b2e48ac7da9d2c55bd73502203ea1ca41a5c6e6e1c00d911 - -COUNT=4 -L = 512 -KI = 317910a7da04a189a92f240f4e56cdf2326aa34cfbed6ccdf9c006cc -FixedInputDataByteLen = 51 -FixedInputData = 31bb297403cba90dba45df4b2033a5228659850492d4d762464096721734c189a90755ae7095ae6af9ea8bef191ca58ba17e3e -KO = ce2292fe9d3e61cc28370fe29c599d0b3d2b4c95a77bebf2cdba8e5ba8a88cf1f078b2f30ee275225a2d183c9a7dfd996e0c1ff3259f63436b037a4794e53854 - -COUNT=5 -L = 512 -KI = 60813ee8a0fb37ea034e69f9ad53f43bdd9b71218eae11f5123e9810 -FixedInputDataByteLen = 51 -FixedInputData = 1f82d73a0b93d086dbeb1db21ffef7f2a5a34f1f5bafc35fdcda7481d50f0e4a14e1d560044d5f4c82ce12546877a6b0e05a7c -KO = def42dc5ffb6a05e50fdaf1537ab422acc6863963690efcd9d69cde0951a65975e8afcb690af051c5144c8251475a0d7b07d237ce7d996b4568485c76c09b7a4 - -COUNT=6 -L = 512 -KI = 5ce301f300b9877ce129f1ba71f92c67e93b060048b26956165b5b92 -FixedInputDataByteLen = 51 -FixedInputData = e16e19302f8eabe6a0e57f0dd4ec6566d56248c5a0574ebd32a8ae532b7370bf83c75986d6107756bb4e93738e97b0ec277864 -KO = 9348b31da722348e03a8377e108c4debd1b7666a0be02e93e0150ed116759d0095ced019955a653870bfd074ed5e21234de2e6e9a1c068fef496bfddff1543e5 - -COUNT=7 -L = 512 -KI = f52c2fcfeccb475ab66b911dcd69c1b0cea7d6139bb54f600d481123 -FixedInputDataByteLen = 51 -FixedInputData = f3e173b60e01e05bca5f262ffa1fe7e2dc6b98e6388469f9dbbe1e9630352177d0cc9347f2a8540ea3ee32fdc77778bbd916cd -KO = ccde5fec617c3f1ca29cc3346a7db686449029431bc8a25395709ff525a3b0dce6699302eac10a7faa9bee70ffed72c90463770b197aa55824193526e2b7b16b - -COUNT=8 -L = 512 -KI = b5c19aba55980c1ffcd23e6585995a9f3a93376aef1c73532262c8a6 -FixedInputDataByteLen = 51 -FixedInputData = a2e4db935c5444c519cc1983c9fde3adb185854b404c78420595d0c935d41266ed5746f63c22e56a444e4d213707ac54bb82b4 -KO = 92f4067fb9acb839e56bf6ef71372234a825a201929138d873fc88b8b72446affd2e724f899a3962a03aee22a82fb044c99fc0e4e2257a2e6a1ce66e87d103fd - -COUNT=9 -L = 512 -KI = 91b63c34626ed9b00fd737b98e8bdac795c3df6163bb6cf8a60ebb93 -FixedInputDataByteLen = 51 -FixedInputData = 1cf654515acb1b9ab67b4e58607cdf85ed31f90029989441bd2dfbe31e44e25a5054670400abad15dad8fab784f567bd48554f -KO = 2c70065a1fe56f939ff2f4b86a73288a4cea8793f11de2c50a766cf0ab900956fb207b150fab7a196ffc1d447b16cd975dbadb7a116aeeae5eb3de90b5c7d089 - -COUNT=10 -L = 2048 -KI = 6482c8dbce859132d4e612d628710235046d5b8ab0a513eb3713e39e -FixedInputDataByteLen = 51 -FixedInputData = 45e605facd5433a95008f722794012ae79d3ea2ec78ebe3006c8368756c8fcd5747dc493c75c3f3828db003502a4227705fada -KO = 9134fba539bb7d939237ecfa5a3bf949a4aa3cfedb15babf987556d700211a8bf75107d2a2adaa0c66cca6226b9504328914513944dc68a50a045f7dfc04a7a9bf1d818502597a64d39dd8af09f50d788564580a1cc94723ba4c6bf69d2fa1ac0dd2871f3c8ba97cd9055c181e46e97c982ba0aba148f7f8a5e0eb69dfc162a41602348b8ba6a591c96a34c7a7a53941e2959ab37a43a3e0cdfb9b84348d8af157ceee3b9467b70f66a117f325c5631161f4002ff59b96f1cb8e51cb1263ea2f23413c9d8f3e342683b53f00802e02817e407a530d22d1adef5df36c1c623b6767b6cda4fa196fb70cc5f49b9c81c315f3e8324e83c223b00c0132182ced6d55 - -COUNT=11 -L = 2048 -KI = 7d23335075430b85b85403582c8b952d3f24131e6308f21eb626e1c0 -FixedInputDataByteLen = 51 -FixedInputData = 5df216fc7326c9bd2198d6d3d175b6fb006a237a8f191697b94f26ffff89d4c9c70c68f93d458e6b0c2b09b1de405d62269e47 -KO = 035235040904d699b3b7354697612ba39873a424f232aef88ee8ddf4e2ff3beb7975e3570eaeb0772365484ca150b06fbbff291f0e4c1403ecbac84651d4650ef79c0b6a5f5be68864719b919403b3609717831ee9986d7c20b422f21687bb071ce12ec2e5c3c81ffd57a64a917c35f4c49cd9002d7fec850719e977d44305f721f9ff445c3c6971122ec6759ac9bfe29a18de12ce58dc40aff6668ecd7b00b1fddd5ae4fcb028ae0aba78a22784c5eebd3e98d64577c50a4bb1b97f1f107fca3444debd326f2a72cbb64d2b8331945a465beed3d24cb8199801fed4b55f35235af8a3e09cdd36347922a4fb8c47eaab6098bb1645232e8f28b7aa56f4c6e810 - -COUNT=12 -L = 2048 -KI = f9c613414b57f9f8f00ef6e019ad68462ef9b050d96b3b8a2df95887 -FixedInputDataByteLen = 51 -FixedInputData = a9e49e3134c27bb7f4ab739a29116113a0d3cbbcd5f428a962207f9c58188c7b33d4d49fdf8d7dd86699345a93155b531b91f7 -KO = 43dc2311c554b7ba4f42f690e55463bf22371cb5b8d58cf94dedff19f07632f05c26a7ed50012c2722cf03b471067634ab5f0f59ebddcb6ae7a72867c38c5e08e208719539942da393a7cd6f5817b2d86d0f0c9d712e8f0dd6ea0fac1a232cbfa76e527f5ca052e9e155253913a9d9f001ec872aa5ba738a6e0545f05981b47de2de7a9099a3f0a0a8a0a9dfd11729be9555d92a4d0ad05aa8db09407ea645a5dd6e1825b49f4571170964080573496f64535f6e78010d1bce7246690c03b4975814a9d8484ad1a1720cb3026c092230ae96de164f9ba641d4d23f3147be20682b10804447c6729bbcd5d2e66c18e13dac1caa30f6cd531266ded6b312078377 - -COUNT=13 -L = 2048 -KI = ca7084dbe56e6cff13e797101ec424f237f8c60e966779ab6b49af59 -FixedInputDataByteLen = 51 -FixedInputData = 8782302108455b86fb1befee533bdcec71c8cd6243e2c7711213ac3819a250a4c2c8c37083e929ab0e26b5f4c7c73fe2a519ff -KO = 8077464127fea27255608ff1dafa050c2167a3862fafb6071b2e2d49e86495c288ebe7fbd6b96b1b6a807fc0906cfdb1e301c51926a0a412253ae5e64c6db4d41d04c84e63a29f949bf577f6a5c8f45747e70ad008310f4ef0fe1eb1f03e153ed268d3070d6e09bec63ee957d54ecd5c9642e1414f044157f659fc4d3fb701c01ae3aa0ba0c0bae18c8aca22d132fa6dd92039d4dcb9feef7f3cfa3f796bdb1ea022fd271d398cc8d935d3faf76b3deeb82d65703cf011562349732f2fc1457fe59008f01d2a8546832676ef795adbbb46c31eeb826986dc7307cde58b3219d986f8e3d84646a9337799349812d4bb9bb59fed315266d9e82aa2061962a9bcbf - -COUNT=14 -L = 2048 -KI = 70932d087c17c8505d4281ec4ee16ce4252580bba8348773e5813035 -FixedInputDataByteLen = 51 -FixedInputData = 0582c0c6da33a8a0677aeedb414b35e03d11d3f5baca08c4d46b14c1195e856ff3dc7cfba43974ac21ea4ede71adf53d40c324 -KO = 54984f5f0e59cfe8bd3e74a73589c62623f357848d47164054ce7af4200a24744084a0f61d4877df0b3cf9e6dad48f6376722d569a9bd18e9deea5ef4fc31fdd2f5c83507c3cb4b2e35c59ef2a639dbcf9ad1496e122cc6dc7449dd6a20c9e4fc97a510e5100488885ee5551100c12a228c339db5f0b956145de3c2fdbaf1ec84c5c0b3f28c48444b6bdb3cd6230c80bfe33f17028bf31f990c88821f240d2f68e56a87544e3b26d08b716db36cc3d732f3eaad72709ab7a886afac83f06440d1a56a4c1e3b3bcd3a199c11ca499e865d4ea4bb3fd98c6e0cf2604971cc9ebfc710ed79e98ffbf5a1e925faa2bfa3e90ca4962114b07499918da9eb9d7a8ee81 - -COUNT=15 -L = 2048 -KI = 678e8e498507f9d23978231c1e50b629162f07539be68d67aa593a9b -FixedInputDataByteLen = 51 -FixedInputData = e75f77a4303a1154ad03ac88e1d44ed2b2d4d66dc3f8a5ff749c949d7d0142a6ae30f8ec4505e2ac36efd711ab655931d88e99 -KO = 58a84c3f8b714808e44ce13ade75ef8215b53371f22dca3bb7da4da4597c75cf755b1089b4ece6ee148e432031255157b565f08ca147ba14c68d24c055fe45876c71fbf35bc0e6a09dbfb9481da0be7538c18413ecb4e69b9b871713dd94fed9af911ec9018511b6198a0d692ef4d04e86bdb7aea3f1483746260d754b7d07b8167dabb552516a7fdff74474f4e236fa41a6dd526e287fa3b8b8b9061f55d561b751e9475d64462865aee579a7359d9bdd0320c70b6fa8d7cbe2f7c88701ac6aabd22d2f371f32811f44e72557189a60996649520c9cf2c3f3f226f5afaa9ae8cc383a71827f9b5e89c8058427fd5891f5fee30b38fd3a6f2ab230bce510f0d8 - -COUNT=16 -L = 2048 -KI = 2fc51faeddc2d67542112c3b30d64d636beb64d09669519f1769d91f -FixedInputDataByteLen = 51 -FixedInputData = ebee9e9f944bffe7966635bd4d92c4e012776f075bd9b7cbed691b3bfb9a0db26542628dc060b4903eb47b06724d4dc6649346 -KO = 8173b44af688cdf7fc80f55de4c3bf373ae5b6d595b3f7e9a8546b240313b6ac5e56a16ec94ae53d0b4bf56b92089884d7b0bfd8f68aaac171d04107d43bc9b48304b2fafcb8ba10a28f701960a63fccfbfe74e9367ecea825f809a719c31a759fcb2d1a65be0c5ce1ba95bcb134265afd5a5bec3a93e8c96322109fb9c7e91742c18ad693f9edba62dfd41a0aada57c9185cf8c1f9f0137621bc3293f0b07ce4ae85e1e2045074c3ac1872e5f45997365802961336d5ec73f3d00b9d70de14f794eb6e55e9256db573c72d88a18191f7066bfe8ff7b964483db1239b8584ebf197b1a16c34375445f1b146b84f1581ad16680f18af003d2253cf5b59700bb48 - -COUNT=17 -L = 2048 -KI = bd7d258171ce565df79e8616908b39c7b862eca4f090cf25384e0057 -FixedInputDataByteLen = 51 -FixedInputData = 8f9ad432498c8b6daebd7dfe0577b499cf9e175e01b6d8b089a4c1ac22f3d0bf2067423a3ba2fb4a7117cb7b362312c0a4224a -KO = 029e4ec726298c6e1de8d09d0628e9d93e4086be449ff195fd2cfe70188d416646c3fc86c345175a0f9eb0a072d81a2497621bc5dcc37364659d2d957ef5a0d594a785e42a67f8570c6b0dbbefa716af9f383dea58e36923a855c43a5eb699ff581bd8ba990dc814719084a8a4b385dbc6a4fc9aa915d1745b91cdd61c59fae6958e8bc82c390e9c7498bda93cf3f7dd6733eeb13941b66a0a75f74065bdab398f5de93a0ca568b4e741f2715f44fb622854c799fd06a909bccd0f1c364c9af4f3791a6dca151ab813c24ed9fc3a618b42d442f330bd35456997c80a276f79c14e86c3f2a2368fc6d5a420ffd63dfc263550f4f0e41b914e388d4c6e22feac15 - -COUNT=18 -L = 2048 -KI = 48a05dc21f7b2388026d9800f7429122c6aecf1694a04a3bedf31142 -FixedInputDataByteLen = 51 -FixedInputData = d3244434af9cae6c12df41fe288379fbe2fae7cb12fdc67237f31629fa7464bef35b582fc74a4b735b61e32c267fac7dc6bf4c -KO = 15d0b5d0644708399b7f97faf87209f8873393eb39232c1d53d674f594ad8738325b7c88a954add7df64e0693d5671aa03276e9368dc4d0fa6c2d781dac92e6ea5a4d0f9d7f37be518d8f66726830f2520bebda99d3524f789eb986b976950deb8b1858e4a06cf1caca367475725e583610eb2b69897d0627fdd028394dd09eb38952d748c2265ce68d1046788a4c94ec8676ac9913678e6f88e3487d11cfa6194c864bc4299bb1176dcbe5a062d82b966a7dfed6cdd3e9f0a793fd472931194d3739a878102dadc2704a70cc4c20618c1f19f7108cd73df5ce6506d41b7b23b026303e72ff802784131365db3d072b8cef2f1c8855cd8fae9c93f6c2dfe2728 - -COUNT=19 -L = 2048 -KI = 443aa13bfebe62eefa88f9e277ebd46aadfdeacfe1feff06c09d678c -FixedInputDataByteLen = 51 -FixedInputData = 80aa05fc1ae73189d97556c95a054a5b377263be032ad3758b5afabc9d3daa734a2325adf652e66e3e3cbaedb4340f0f32fb20 -KO = 25d8e08ad6b48a9687699bd7017495134c28037a37fe96f42fa86c2e9ce4c64e0669cb332b488313f0d8f03ad439b0dd95133a8df54672351077a70a82e938c0fa7309dc575e1df22a405e0525c93a451535cea077301037515b4da90f58303f7bbbaa924533d8598f51d3896db95743155918d744b96289c987fa4f75259be246a94862aac6e909970831104c9f7ff50fd1b9956ba73005fedcaa1eaedbba6dd6e4de7c06288108e72a35e141903091401cd6a2071caa86bc87e1b70dcb949ed735ade43b32cd133d923a227bc19fae3ee45de87ce88d08a791a5e1a478b65aad0f130aa128045858b5f722f49bf6d333c4b0b6f06e17297f93f7fffe2587c9 - -COUNT=20 -L = 560 -KI = 55ee9ea79a6b2befae5c5a48f0d639f827dc2e74eda5359761f1a7f7 -FixedInputDataByteLen = 51 -FixedInputData = dcfa599d3f61dbd734e6ce35d7b4537d4f2755f96af63e3eac76cbc0321b8f1267a2a8dac4d1e1893fea6383203a48e9fc0d77 -KO = acc67568ec4c8840dc20778a12ac43afd266de132a23f091473395e8f52e986bfdcf672644f2d05ca84becedd43355b1c28b024bf289d0705de455da7b7cf5353d524157a257 - -COUNT=21 -L = 560 -KI = f081c6ddf49f9f5da07de3eb2e63657065029ca7a7b99fb62b1016b8 -FixedInputDataByteLen = 51 -FixedInputData = c4af03202a4484a3fbbc00c8353372441bb00cad9e457174540969f6987d64e015584940ba6f42ba1badf6453076730fc6fb89 -KO = e3c6b3e38844f0a968360789ea8e2e09d7b4715adb138e2e5f03f810a3bd67b8067fec8c576dce2165fa5f164a89954042d6d91f2152c272223240de59b1876631adac95e263 - -COUNT=22 -L = 560 -KI = f556965e16aed7b677dbe1fe8b2e49c99b0cf5fd7354a8a14f852d41 -FixedInputDataByteLen = 51 -FixedInputData = a4ff895261adbc360fd0e0d125f5fce39245fefa01771ba5916919a337eda6bbe2aaf087eaf583b6cf22a8b4c372a26c113997 -KO = 6c6435d2b5d69b8606221fe870481f2025f8effa715e9c7451961d79186d9305087c4d39a5491a126cf627c06cbe1ab38f33a50143b7c97cfa7181eadba7f1e20aed43dca7db - -COUNT=23 -L = 560 -KI = 0dc286871e2188367ea4d751c29f50a001668ddcce32548e6802b392 -FixedInputDataByteLen = 51 -FixedInputData = 21c9aa6c97cba1b45c8995de15a1205f1e3704f9ba5db2429d2a3266aef876799a6db65c323db73b5d4a421e4ea651a534a77a -KO = 476f054b73820ced4883cc4f90dc2877f2238c65d93eabc554a7a991069fa3f8adda8db51c8e1cd58ccfd6859599af1843d8e55930a80bade301065860d4393f64ffb080d4da - -COUNT=24 -L = 560 -KI = 5d14709bed3aea6a653af1e0fe6c01f42d38e12e7d0807cf9eaecd4f -FixedInputDataByteLen = 51 -FixedInputData = 5e7df6186293c319f1de19e6984bec799eb4a7b7fbc61d87f877b5e43f1970eaa81465099bd61a8ad9f483cfbe7d4847067557 -KO = c6de066f6cf70f66a5e563ac003e0781c60bfce0c83203348ca2be09182e04fc5d580bffcf296e970e31e98832df3841362dde305951b0b2bdfb1a246cca8ebbb2feb0d73b0b - -COUNT=25 -L = 560 -KI = 5940b691d0bb0b851e21b282ab33da10194d7b8100b1e06d85ac723f -FixedInputDataByteLen = 51 -FixedInputData = caa021b7286d6cceec4d25fa731473d6e4eec7e1ccfadedef48cd20b4a5d604d14f67fa388e0c7d8c80d9848b6b3c2e20c2f85 -KO = 5b1ede9036af8aa49be3c869ec16d87b5c967489b023029d0f5001a729e1c02a8183a73b9aed23e34c54202d744ffd47842dcc1ae20ebc37981793b4da80055e5c345772b5ee - -COUNT=26 -L = 560 -KI = f4d338893c759638c4c44d73f0e3e23686ecf2e5b9263ea1a83125d3 -FixedInputDataByteLen = 51 -FixedInputData = 6612c1551ffa5142db97ed3e12576d39424e538daf74eb10e51272fee5b4b5b189f29c8cb60f4e51f6ae6bcb36c00b201f91f0 -KO = 5f9b8365f15ceb02fc642103f03bf7d77f9a03ff475401654b5d8cd3f931c136d85505e295d1efab90cb04c7172d6e64cb8222646c7c20fa1162650a2a8d6a01c626267cac3e - -COUNT=27 -L = 560 -KI = 0584ab49187d288143c5ca3dd85b66de06f44fa68a4482ab1f1676d5 -FixedInputDataByteLen = 51 -FixedInputData = 9cb5b82a46f2a1f55fedd82c3e2e53ecc1bcc5ab608673bfff631b48f3830d318ed8c441b9ada415ca6fc9d10c053b1e8ff237 -KO = 5b8b0346031db1a7e49121ccd5b0d2380849d87c4d6dea9b45be99cb1bc99f8c5c8dc2bd05bdf3bba078a6dd60ac3ff091a0892f66d3c04b5907ee20078b28f4afda963c3231 - -COUNT=28 -L = 560 -KI = 8870c4d0184bdfb2c5f74c34168cfb520743bfa7b1d445a3c5971b78 -FixedInputDataByteLen = 51 -FixedInputData = 55c5b616679203600929f24e4c286d7c50a8d497f4b55178f90a47298c988d471eac69451297d77e0107c99607575bda151d05 -KO = 805d1ee1b3c9d6fb49310e4ecf8e657c3d42b73eb80ad93bd7065ee21a243108d0982f553695e0922e9e6f577401724c082a9a044d0f93af3cf353401219fe4a2f2a86934be0 - -COUNT=29 -L = 560 -KI = 31d426994d6141b05964399153e05e7004e20754b2014ba8eac33bb7 -FixedInputDataByteLen = 51 -FixedInputData = 9c69ea772ea58387afb5c67cfc7f5df825b51116af353fc47b1748196e0aa18c11b103b5319aa127384d2dd8157d86f15a3562 -KO = dd3f0e05d317da9459c10df158a97d701fb8fb27bad494ee259a504abc315ccfa6c69e6c9cab1c0310ee9e9d5e0b3cf22605ce171ac7532acbe11ac6a9f23243f63bc2554c95 - -COUNT=30 -L = 1600 -KI = 601370068711b2f8f1be679201f97a042e31fd4b61bfb5c658545395 -FixedInputDataByteLen = 51 -FixedInputData = c58c1b49119395cd63d6d01a349520229c2fb256b4bc5c504a226b20b9a3a17eb4241f48f6fe58e8a9ea7ec79718255a3bc958 -KO = f66980b60014428cc06f213e8b1296daa8eca0b88b7d4d213f25c7263e7ba3c424c6be3df95d1dd59e52e3c535f3785cac0c18157c0d506d1d2155e90bc12bdf78e32dffc17b11deeae4ea06018ba7813b8f8b95dd1a00a2bed4416a05e836e7380f7be0ef4286cc3084b16632bf7b029a5617a1cffed4db343d35e5ea244899285b3a03738122cc7fb938094d71ab241092e9daeb9e16c64e5a3d772ae357d9604ae5a735eb95cb2680c04e59b4f0b56643e587de16d63ea4b8c1a9034163e11fe7daaca2fbae75 - -COUNT=31 -L = 1600 -KI = af68ecb62873103f5758920a79196bac1792cff5530f5904b38ba845 -FixedInputDataByteLen = 51 -FixedInputData = 0678b591924e97b71cc61f7285463f078512a6736fb06fc8e7d1c2c03da14080522ff4b583cbabf6a993674be66c630349e9af -KO = ab27c5f0104bf91e8f33152327c250b1f9bb43123ff83af7429e527d627570a7def8a8ebebfeb7eeef6caf86161a2066c96583ecef8bccb6c83b9cc5453242760967226cc43606142b428f63eb66a773b569ac3da280afafded1f7158ce5b8f56632c888edba39a38f69d16e9cd97203c33441500d7f4aad7158cb1a61e488e0047ad9c13525d0d4d340c6ac9901a089d0a674a31811b5985150935b40c1669bb0d25bfb812029fcca6feeed7dbfbd3676154a72a3fefbf81257ec33096c461d5675e3fe0324f765 - -COUNT=32 -L = 1600 -KI = 22481eb1d219c37d42c2a8508eb38cf740d6b749b08cb07a8fd05566 -FixedInputDataByteLen = 51 -FixedInputData = a9a1e8549d3040a1efa46415c79f1098bca2f7a04687050edf004e158b737697cf415a305b425678b87b268c5a5d5f1e6d95cd -KO = 5a07cc5bf80d96ce42947acc31c23b3dce28e72b7da851a64bc6898607d248eb1686ce1b6daf902f675c4bf8f93e23ce067b48ef5c67a7db5528bcfcc912fb71648a9ab2b64480bfb5701e48f637be0d552f237712681b9f1aa2f439e0da645c7bd069c7a93157d895cae41bf8e04d0b686cc58be75846adb6d0602e7c4e7a91dcad3026d9355ce43d9949e911139ac6a6fa24fe7ee4c678ba342aad54ab13b113f75312004e63ad945696e187356059e6041f5a6505e57859602ad7d0b5a52c789576d19eb68cf4 - -COUNT=33 -L = 1600 -KI = cfd4f9e2d42bf3a37b8dcf4a043012723f070cf8eb063bcc3b8d9d9f -FixedInputDataByteLen = 51 -FixedInputData = 85cfd8dde02697fdbaf080eb7a48e728ac19c5619335298918a740cc8d5c93eab96e95b2b08f6b213fb828e9e46355e8ef39c8 -KO = 5d142d1bd200029c1c39538ff2663664adcf25d45ee807ed927cee68fd17c3ec7da7f92622fddf57a212815bd7fef5f31af40f48f3cb3f4f6771799c4a3bd3915c2507c0067d43d31599167e6ef931f4ed6b3f999a16e7cfa85165e8eaa4418319478a75c7ace8798adc2c3861060d256f571b62fcc7f536c2eb56209c73d8c168bd7ff7b0ca12686c4bb457b29acc9747f1b886ecec4e93c90482144e03799f210360b0b44aa7bdadcb2a70e11c3e8d03101ff1ee56fadf31ee06f16c20be89df3cf1511c9e7c0a - -COUNT=34 -L = 1600 -KI = 8fbba35e24e9b00ed0cc8b4e52089aad708c4d1a1a454065aeea2a48 -FixedInputDataByteLen = 51 -FixedInputData = 1173ecf8d577b60173af136a61aac52d767fc737683c9a6a2d2e7d0cf9e4ffcff7ae45e35d537b8fda77cb6a0803cead7556bd -KO = b06cc39420b1a91ba16d120ad68189853da3a24ff7392d480e44a374a1645417ed305e20984f0eeb22e1370be8acf185154d9e211cc88f094cde5a9f2699e989e4d24e95313e13bc466fbb85a737f1fc2a63ad82377a7f8125c0fe9f8d6d60ce71f5ff75ed95a7600ddf5094c463915cd08978135f3cd4a4a1370e7ecfe13a6dcd3ebfd51e9e159a1aa6209de8a2c7ee3c754fb0fb3810749d9328b4ff0f25ff3f0ecb321ac944d03914ee8e9b9e5ba23c3a23e2804125844eef93f50ac4edf4c9fd203966137469 - -COUNT=35 -L = 1600 -KI = 161c9cb9aac6acbc87ca8d01de3380c5b83c268c39523539a7c5510a -FixedInputDataByteLen = 51 -FixedInputData = b456a042767d348887e89b13d9c225c1e3c4b5c777961e8f4bae1154c905fd7b01d4797db678cd76f29a177ccda79b6da2ad58 -KO = 7032a7291580a3f8fa683a2882762388b936693a3d7083581dabdeac237d784090d81d1b3006ddaacb81dddea9753c09de4ffcbab49c8e85a5c5875221635d863db6932a1ebefa3ab2a8b450d8972d379ed0d922b72a1f6f86cd8af01881a9146bfa5c1d6ee301bd582e4c5b874807a912fc93c10b7f4e0eed587b6bdc31849dee78aec38fbeef3c8f4c92273d55cbdb3008d73bac42c2c943e35bcd52fe0fc9e11f5fb13ccbafd56755a345bdf47270288294ed4e700da04efa71967d23dcaeba92cd24b1310d49 - -COUNT=36 -L = 1600 -KI = cfd6b416b38947df2cbe00ba1f47a7e07b223dfd82c24e528273b4d7 -FixedInputDataByteLen = 51 -FixedInputData = b0105b9ab3af1ad50012a25dd3e5915928a24c77cafc621519fc24c10165ac8e5cf1dcf1ec6c45cfb7dfc7c0a58f63deb74e12 -KO = eefc50ff37fb65dd30c127c43b40f4e9d062ced4f790a5ba07b8324cfeddbe34745c9d0fd25d52b9a560ce27b4687f4825d4286c5598f001b2cc8fdd088a4a8d6af35bf06b803c0222d76d0cc963de2ec248dd7fd262c7f5b910f62614dd984896479befbaa879e5f329833f48d92eb9d731da905a8fd020a58472fffe55641631278d4a0e222747cb5bab98068ef756ba3b6ab673e5a7d9d2afee2cb2351655f74a3dd144a3af7a858cb9bb08ba9dd0ef910ee5af0ff246d62ba7d1c860b6dc618c45ee43476cfd - -COUNT=37 -L = 1600 -KI = 05a5411863e05553d298a4333412c3ef8ba24915e007834aa35bd448 -FixedInputDataByteLen = 51 -FixedInputData = 56d5c57d996131bb52b4bc90bf3ed004c398658e6f58d3520c96e356264409c45c8a76ce50e28a4ebebb13ab917c6ca9052c8a -KO = 1c2cba046f9cb130acd69bad8fcf63c2a98e7c58a11c8beda16e7c3b0a9cf843bcccd49bcb420ae8aa75d4ad172ba23a032aa053778327a428f264442c07018212d7cb1389cc8f06e92837c63b628c111caf7fe13c33c6a09a577f2a798ccc426d889a3cab382dd69d79ce269a005209c1f1cd648674727c29a36cde59c4da6146cbd5e57be186dcd8686102df773f41a0e7570d9e08c40452aa4baa65e592a02fb931992f8a088ab1d6813452976dee6a2f5f5291a49405a23910f8238b3ec112a7b34adcf0e8de - -COUNT=38 -L = 1600 -KI = 58bc6cedcd4c3dfcf1375d7fdc7d49d6499d8107ac6675eb4b53fbdd -FixedInputDataByteLen = 51 -FixedInputData = 92c8774856199438551c4e44ebc3e73df4923008184564a4cd9a654cc8d4dd91fddf213c4df3a3da8be5820b9b09cb1ec8b3f9 -KO = bdf82472c5a13687b88df979a980f69b8de43f791099f39f44abdfad8e801b0abb7e8677e59a17dc377653f4092754137699422bcf739bbd1f534efd3f916bd5ade7163d428b10e6ba766288619b4b708c264fa011f32ac40a516ebaad7f691b9d5eb1d5b1cf0afe726470b82d746fb08d49a0b99f68944bca607639e2cff72036f9ddd58e5e48f2cb7d17c63ad0ee4cb52344bb4571d3e94c20343f20f0e75462a8528f5921b1d27eeebf4c6ad31c27747d72d4571949985a27b203d8b8a608942dfb93cec893fc - -COUNT=39 -L = 1600 -KI = 93e8ffa664625199f635351ca36483bf64d1479d4bf1bcbc94b73574 -FixedInputDataByteLen = 51 -FixedInputData = 989cf18f1c30be6951e68f8474ddfc3bb398870fcd158aada44d70c037d147daa9de704f11a834cdf916879534fc32d6508b4c -KO = 0a44df5465fe4ff113b478ab7033f412df53104f229d5b00e2adba889a58b815ffba6243260e30bc9133eec65e759c7864273a1132e806a42558941bbb8c158be66aff64e4e210c20ed81c7ae79518d99f7b785b3b2152c367398b57bbfdf8e6187870b74aa0631c9a948304c6ad4dbebf9bc7d38a58e79ba1376b7e5326d48875481f883af4c6a611becb7727fbb65e270414334dd58fc9989def2440946eb22280a0279429cd6ebbd067de75a41e09ba9b8a0768996cffb273471b390522f1e8b30a6045abb7e4 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 02a3910646044bf9be5007a7b7dc0674a6b3aa50da1772954da03867 -FixedInputDataByteLen = 51 -FixedInputData = 03312350c3d6b57766f2cff97cc622b006f73aadb1eb7ae62e58f5ee2ce6eb39299ba57948bfbce1cb3c56ab1d9ac8a16412a1 -KO = 1a9b5d5275fecdd97ee9ff9dba1c67a631e12f993bc3664a3b2cf9e3736a2e3f82a0b2ba390ef92f980ae2c32107d3217f423d7acaf0ff77db5fff828fdd9353 - -COUNT=1 -L = 512 -KI = 13ffd148878ba3a46d5616f4a037ed18bc1c0fa2d71ec7990ef0dd07 -FixedInputDataByteLen = 51 -FixedInputData = bd07a9925065be6e81374e8d383f1b05d987519ca6a461549045e19cbd7a5cc711683ccb9704c37137487d0ce393c26d05676c -KO = cb3758077f625ab855f7d66adaa71950b7f482e61fefc6d7f19d5f0fb9a0abbb4e0af419676a7ca17cac38fcebacb255fc6199c2685a51093b6ef7d42e85d710 - -COUNT=2 -L = 512 -KI = 8db24eeb35b62a9470ee6824e3f2a991c3f4de358a8c688b61741ab9 -FixedInputDataByteLen = 51 -FixedInputData = a8d0efd36e70b06648dfaea4f21a6b2c4667192a13103504ba3229771ee1f1aa7685ba627bcd702f4ddc2efe86ad1cc5ec39fb -KO = 60e7e140efdc100b57a793cfe48500f9c0be8479b5e1952acfa148d6a3d6eb0321ee003a2de5f28996d15be47a36a1a5a061b57875bdd5ae897ea441fe42c06a - -COUNT=3 -L = 512 -KI = cc688345512e62cad9ffbc16998b42dfaf1c71d0a7281c54a70d21a4 -FixedInputDataByteLen = 51 -FixedInputData = a1c5cfcfdfffb0adfa0f6740aeded5d34e3bb185f9007b764d30fb20bb20de493f54a9770b95709f081006653abb212a549bd7 -KO = 9a018fbc646700fa46f3d0f7c203301a7434a1e060d44a0a9e323e98869792361a8cdeef7d4d07a9f32c3f0f12ccd1ac2588d9562db308c9c95a8e65ed976810 - -COUNT=4 -L = 512 -KI = f759958113b6091deb5fb6d50918b16bea16e8bb6e69ab15dcc588ad -FixedInputDataByteLen = 51 -FixedInputData = bdf2288e9b5053bcab0c009a243ee008b46397f3ef2c6e319663fd087ef7ecdbcf99ca8dc867260f5e12fd92212cef44d7be83 -KO = c0bef415a60f8a42f9b436c85625d0475f7c773b61c130c52d4038e3e48ed5bcf11171bcffb235cd7ac9b1f40c160a1669d4b160525282acb6fef65860b977b8 - -COUNT=5 -L = 512 -KI = 6dd17174fe8860e5a43c28601feaaeb0699ba3898f1d4f9b46bb618d -FixedInputDataByteLen = 51 -FixedInputData = ee0544176fad1cb051488ee84e01963f10ac788057440cab790b8a93c56a96cf84474f004c8500507e5b172d766145ea2b643e -KO = 143b694bcd80e95e3842ac423eee429cb3f07f860c6ef7be901c291ab5d69e8fa1bfdca87144442780401e872190c4716a9c6c4dc57fd1d69168a64cc6ec68af - -COUNT=6 -L = 512 -KI = 0386dac5a29782c86bca02cc25a89b5659ba65073715ae14b8fed570 -FixedInputDataByteLen = 51 -FixedInputData = f090b5a04cb283ef90a63b311ec460daee08c7aceb6d53afb7b4e01d90aa9586a831d5f688892421f50406a0a95949afd148bc -KO = 455f2ef8c1cdc9a3f1103c0f13ecda81f8a36468e30fe42187dd70094ed7ff3dc17531d8c00bd86f16ebfe83b60ead8407dee6bcb605b00a281b37b313349c6f - -COUNT=7 -L = 512 -KI = 4bf2e80cfa1c966e5db03957023cc8f7c784c8e8770dd9ec7844df71 -FixedInputDataByteLen = 51 -FixedInputData = 46f9f201d1fdd1cdd3c2e292e63731b8635a7c4b13c85e16fafa9748d1878d87f00a82caa3ce4c4612fa7cd7397e9d1025b0ef -KO = cf0145bc968e6ee788051bbfaecbf4d3c33a6c31d046c94238e34c0235837bb51539bfdcdbc228fd71ce046f10c2dfbb5a6f206a911cb742cc4a69e0e85bc742 - -COUNT=8 -L = 512 -KI = b6379971e35262159459ed890556fdcedf32c9df18cedb6977231f64 -FixedInputDataByteLen = 51 -FixedInputData = 881d65dec44ac4154ce23690b3d014ad14dbbf3f3a59db01d13d73b7ab9e6162de910bc474f97e93f1a45e5a2733ee0b4c0faf -KO = d8718c7064efa3941bc00687129908811fb8f4a5fdfee76917642106d3933fc25dedd021dc278cf16d2c7b4768d56c31a40274091997710064c99e21f501fb53 - -COUNT=9 -L = 512 -KI = 1eb8a10bb64aac3247c8cefdc3aadf0a6832498fb8ec800b1ca70985 -FixedInputDataByteLen = 51 -FixedInputData = 3464fc0b14fb346c678d789ad0fcab88051a2c285ca2902a89662c42220f670ddf537f52baf3b21fc2f8b3dc64ec9faba3451f -KO = 8456d99b9b43b7fd518f952a4c76389db50ae12d2f4b3be8eb3f2f1300db4aee264ee769ce20aebefa71ca87a910c354d60a5465729ca18b1b457ca877aa9788 - -COUNT=10 -L = 2048 -KI = f0cbf969a4e35ff2691efca346da836ce12838920a791fe3706cf0a3 -FixedInputDataByteLen = 51 -FixedInputData = 3b00f59144d9d668eca6062c23d1db657ff2f228c2a66ccf3d4e63dcb3ad929c589619fe1e8c59e750b094565e2264f0607cef -KO = 4b78e87e8637400185e13c3ded01f1de4437a1210367ebacf52376e6d4fd1aa5a2ef5b3495fe0823eaf76ee9b41aa65016c961fd6dd4bc5c237cae55601b833419084b91ae601e5a9e78a2f2010a9a5d26a0fe615e53492e536c1e771bdc029a1627e3082c492d9c13ee4b7440dc45c16c20501aa023615f95dda85b5120d8ca33d2382caca38c15befbe79f81fc9fc11ebf4a7ece260dc69e53f71cd6d757e2c4ccd001a78c17424d6adfab800061d6a5f59c52d690d9d2fa683eb9de099c45442d09bb52ddefd4b995bd143b8306a5eda1d472fc6618ce5a3313bebf2e4a670d3cc8e4b3204cd9ca1a07b2866be7bac5ef404aeba8d2b46536d70e2ce05c20 - -COUNT=11 -L = 2048 -KI = 7e4d1f71fa531a57893c5988dac5e15ef77ed70b5fe3314b5532f801 -FixedInputDataByteLen = 51 -FixedInputData = 124c6d070b1501ba2e2f4999e4ebe4652bee1e50a0a188d0c8edfdbbc670c04f1b0328d23923006ed38140c0bdc28334c41adb -KO = 53497eb7c7ab28d76edc79a56268fa0bee1abb2400a85623860eca146a1ba2cf162a3188966d97c019d0382f99026a33b9f31e3eee934f5e5f57be022b698fcece395a2e977abffa69e5421745ec34a05bbd10578c27a6cfe2229db7d9edaf5d4f253ffad44e93311b64d61b75110b4953fed6831ce4e35dc945adc94ec5add6d19ab8dce5fa01ddd5866c948483552297f28728f80c4bb4120397ccaab163ba0c4f06f14972eb8fe26548cf281b44470b0870de706f19e38e7c240a79cd321d23664b4e91c5253fdfc3029951f058fe59eb30856a3171dd1778a8a59cc99b6ffb1024321450c59e3f73a66e819bc1d1b6e56d8574d449d826984d5c9e432b59 - -COUNT=12 -L = 2048 -KI = 4052de7f77d2785958fc5f5498331815c4c39e73ffff22b95de78008 -FixedInputDataByteLen = 51 -FixedInputData = 855be79fdcf6b309126a067b218c30d4dc201c4e82e8250e143bf9ed5cf3b7792984453da03558cb551b18e3ba670c53b61635 -KO = 2695c80b08dc478b17003742317cf2e767329e257158c5927cc4920c19bea5f050d9dacf51c75b98339f7cf5c2c63091da82d7674874cc4b4ee92334fa5e25f058ddba50f90a8b609a7111650ecc859a650b9f137cb8c2710b8d169270f8f3176f0770a72c801e24726d1ecc30db7839c16fc0e59fe0b4578c23b1ce66e5df03a31652e4100feac666b85edd225eb892f4ed069ee9a9409af133b174bcde4c2f1ca48527a00eadbeedb0a40648c79883fe7fd201457c15dcafd05da9cc75b320cbc1bb46f487c355ffd55b182b8909323fda9c583bdbacf975333ff7aed035720fcbcc4151fad4a00d7a29488e5965ffb9adf518b4ab55f38b6fc9c7eef1a75e - -COUNT=13 -L = 2048 -KI = ad0aacbe65a5494b2f72f461b827ff046e5cfb6dea578b7b4fba519b -FixedInputDataByteLen = 51 -FixedInputData = 0eaac999762ba488d1a45f2e1f015c841142301a14fa4ece018d3ae3b4cc788c31ab080867632269886006b57433bcd8f00491 -KO = e9972c15d44428d49e29077fd7cfab7b0decb9bf4ff826f5b341740711a12a9580647debc59e2866eb3e4b4a111dbaac1bb619416e4d74718010622b06903f324d0f7b02da096250c7742e054e7649268c3d67f5b0a433596dabefe02bb02003d736915c814160d79b38d7f7486d2d67f59feb996c45cd0ddf67bc09b42c4717e533bf60858394ea9831217bfa4b2483c8d8b0c106c31dbb0e0afdbb334b74f908218b5a958c8c808cd532e48a837a5309fbc5a360e4c9e32b5ffa1843a6b6cb359284c94d691bb7c883124a454d6184dd12be429c60b96921de4bcf530315884d287ae8a53ee9e8c7392df6bcbb060048012291c0602abc593bff0f7e454705 - -COUNT=14 -L = 2048 -KI = c7a39444169362fcdaff234416b55e340fe7571d3a4942eefb0663ba -FixedInputDataByteLen = 51 -FixedInputData = e6ed320b3c80078c3560004469dfdf5113c13fcf74190aecfc487320a58ae692b9b24988049baa36dc50e5ea98137dff2fea4a -KO = f3b9fda69df1936b3590462c9c3b2ac9529c72fbeab0a53ac13d5991aa6ba6c10a6f6f7320b6fea6698a7827824115be71cdbb671242de37c6bb54b1ab22ab6ba11e4c8c23d25fb7dcbb60b19af59bbb424047108b58d6dfcfe8adf880068012de7bbef15a993b845823f525a80208b5bfa5706a3b577f48ea1ceae073e64151a1ffec174762fe8bab7d2b9bff01b356d733c9e457433851f9934d890576d89be35b6222df450feaa64d0e8c064db805da64aa11ff367cded172a7603a31212604ac8fbbda86f50c28ef373552d24ff09b936f2b21b1a0dc74c1401518d4d1f2f716a684066dadbff7a51c6ea72017d5311139f7e2c386184c8009cbb8a9d8f9 - -COUNT=15 -L = 2048 -KI = a23b9b9298a110e3876e3e67a813ff4aac8a268381eced32a398f4ee -FixedInputDataByteLen = 51 -FixedInputData = 109565604ed623b8257a63c07edc385d1a905269a0feb40b56cd58cacca147f320cbf2151c3fa4abe59c973fa5773fb0e2a6cf -KO = eb2472c281a138b0cb16e49e19b6cb6cf1638fed65b0a687fea9aceb82afb079a0b363fcc9fef43691593438c25e7526915ea61aeb4190ddbf44ce24fb90f3d5bf9e5d63afa1cb8705e9a1e339bca995a51b7faa106c52a6bc1d44b3c2308aeae77e9de46947b6cc8b2df768d26911e673bcd93721651ce6e20404875532d4ee19af721e949e877d0ba945dae979bfc6597f6bbc7e624211727183737ca1ac5e2a7979e94f796dabd2bf57bafe1b4d68c5e820cff66e951ddced4ece0a3c0aecebde9d11c2e85d81b4b68385be9bc7ed44ab3259103bf9da382a6b42be2f3307282c47566b17764718ef5961009d1ce3e643e250b441c3a906ab11e1c8b6f53d - -COUNT=16 -L = 2048 -KI = 5c17738cb36b194363bfe11aa9d50b4e3f9c3e1533feaf1a372297c5 -FixedInputDataByteLen = 51 -FixedInputData = 8ffba91fe644e83d7c24f4efd0120e548d280a50c04e2762ce2aead74b67a6ec783cc351633eec55f1a14732c09dcb80a4d29d -KO = 6f25a47b61025b37ae3a095593f9a1466060503b4ecdd8e0d33e6e3a1cd74222cfc8cc709ad8e46f69ab52c160acce7d969d64c6a997e4e4dbb0e8fcf450aca0d4fe642e7564975522c7a6a0952e4d1322ad6111796275a71ca4c8f994c156f971d1d82c75b52ba7238980bc62690cfd1b378ea1fb1a2e5d6b91235f8e504e9d8eda271276ae60b665f5550e14454d1b685933e2037837e183f45497711604ab6572ed87f5f33e1d91f763140618b80e9706e06da7354276169daac418b6e555e4df1029ac27f94d67e5a0b0246c3390ba8ca5606de3bee55e5fc34a67c718e997c88397f2dfc71a08d322d3495309c7c702056156e3b70a7152cd075ccec069 - -COUNT=17 -L = 2048 -KI = e5538148917236eecedd1888a2dd0372c02f75fcb2d24fe9c22bc9e3 -FixedInputDataByteLen = 51 -FixedInputData = 04726f9db6001121d8a912c47920f9a18ead0c66b6333a2407e0def4c0d02dec5b5f8d534d21483efd903fa19e73d6c9f3bf95 -KO = 4c414a10b20728d5089c26c597e0890a111e3d5a8f29449a5e3be6c6c7a8116582cbbbde3ed26c92c1a1fe661b97ac4c06546f08a19fa89e2cf563ccf867329abd4b1160a0af7eabc0ea1f9960fc3ec3d42843c98a3470d41b7f90b35731c4b1f138f963f89c093e894c8c9c275351f1033aa674fdf14136d06dc7873f3ec3c868c1b87463e6a1518d4085fe5cb62a20994e6d624bf983b0174fea664edc04382d8d343a0e8e1b446f63b564f141a86b0f808ae6fe3577f54b1bde0ade48da0ca5fe676ab7b0b92d11936d724f4a72c81fd502776521908be6113fc2eb00e60cd7ea2c9e1ba48329c1f3564160684be7ca185e7c432c6832d25eeaf358d5f1de - -COUNT=18 -L = 2048 -KI = 84aff2275195b93a4f249f0389a4d63c6ec2ab5d81fc930d9bee837c -FixedInputDataByteLen = 51 -FixedInputData = 576ad7d9595e217b9f794ba337304010b07bb1747dcdf47dd1d92c996261e3c5349b985a138995fd87c987e8c85c02b7198065 -KO = 75ba4677f71175cffaf6c30b159b3abacf60680975e839ada64d73fbb2ab3d37a46986f0a75e8d04ec9e4e7bccb1811aad468b2c4518778ba0f03cc6eca42a7eb1a5fbf758c43a309319e3867cddc18cd1ecc55759d2df974e843037277703f20af8b39ca6a49cd23c827326937e8adbcfc5ef7451a8cafc9b5954b4eb913081bfaffcfffea5158d9cf07378c02654c52a8ad7e11cb0a7a8146b787caea862b5c9693f66bd04c614bcbbe776505147cefb08b6ece4c9ab0e6a53509641ccf0e1c9a8ee22bc3626c0e9ca5466e4d0fa0b1cb13020961f71086dd64096d44381425ce27e65baefbec92d8fc3e15db6175262676a752372d5160712b7a337e5b53b - -COUNT=19 -L = 2048 -KI = a523fd5546a3494ffc68dd49f455a8994dd4378a88df220123ce45ba -FixedInputDataByteLen = 51 -FixedInputData = 2503dc0e9434802d763485b7590804f25e0db71ec6d92b4b76d54cbd14b0ce3d93c4e1039dd349e843413a2c6354d50a6eadda -KO = 48b021f88dbccf3dddd0c3b2dbd9ba7b3e9572c65a24ac82b7dfe3c13752ec4cf1c5299892fea5552b1d3c48a8fee9831a1659422c20548b92b5179b32674b6d75c94294bd8a24f2d3d6acd7815bd6441d31943ab54beebda3561779ed61c4aa081873f5f3bac477b2bd82f60b79b5be9aa3de25735aa4a927fe1345aa83cb1deb882028289b98bd73b90f8097b0741867717ec3e221860d92269640c063bb01be5bc2c143fef8f4d91ce1def58249c71f51019e32faa08484cd840e70c1ea1bdd86556377bdb839210c730fa565ae79908dd260eae817edaea86ac8033570a38b4e3e3961a622031ff58c88fb3533ba0605cd26638e4d0f9269378d48bbd903 - -COUNT=20 -L = 560 -KI = ed776f8ddea6c98b6b09e05e4d8e22c9e2f69e33bbb0a0d297370766 -FixedInputDataByteLen = 51 -FixedInputData = 0a5e48f1acc4f30a71e78c8dbfaa843cf44ae15f80ef5b839723b87a1c0098437a5a35e7fac77fd633d6501bc6d55dd221f7f7 -KO = de65d1eb91073d2d214cd99c2f446395a35c16dbf546176659b2b1006b6625e4c04da053025fd660e275276498fe9c1e5e443ffa866caf2737494cc3ebe66e8a8ee3a7527924 - -COUNT=21 -L = 560 -KI = 4c30c9e558f1edd5946ba07dbdc3ea8522267d2b4e5305f9a16e926c -FixedInputDataByteLen = 51 -FixedInputData = 38ac308a21a14a7762c048ebd10b4324466f34e45a0c37fc6ed90258febf6fd20e9d87f74b752bfa09c5343c8c62e0be61b5dc -KO = 05b1f84198188c7c96291dc43090ff722d0e347bc69de69e3b2f62b210dddd4e136e0ac45819c5a3daa8f5a506d3bfeecf5bd53f78cce646359ca87090783d6dc8f0aafda5ce - -COUNT=22 -L = 560 -KI = 501afe9d0fe61d226bc6abff0c2c887c5dbdd5e56deafe650f2dc0c2 -FixedInputDataByteLen = 51 -FixedInputData = 27d206d5e832d957351584d736a22e048c7b9f5b26db2e8e6cb5377117d05b255e5f1f1f72f7a4ab3ff86b3fdfe827a8832812 -KO = 5fd1a2360514db55c8a5f52d36ea699ec2d7d7c7b1ef37261a1b8845c32497a01904927b53321fa873c58be5608616e941b6c79ea2f55e610cf4387d47fa12b5e8662573fe4a - -COUNT=23 -L = 560 -KI = c676d490d8660c6cbd6e0823809c6378f6a89ee058c6d594b826c1a4 -FixedInputDataByteLen = 51 -FixedInputData = 679d60f7a94678427678705ede7cfaa9512ba0907284efcd279fa5fe337943a214a1dcb59cce9811dd1b8a9225b4f29de211a3 -KO = 475a0d31ce3f997542682e166230451ccde03286a6405f7b363d06e5913e9a476bd57c8f28ceb84701955eff1309e06979efeb18b1f0fa9b78987102f5c745f0aa9a25594748 - -COUNT=24 -L = 560 -KI = b7dd58f7bf75410585fb66aae4df5c998ca656c218be1f290a2f68fb -FixedInputDataByteLen = 51 -FixedInputData = 4b2e8e6ac56244f7b308c7b01d7792f279c490bdeaf3a64be15b2f1899cfff514b0ea8587637e7c29f0fb1f70028a261d4c23a -KO = c3e3f1f29e64cd43dcff018858de8e87dd24623bb7895d31db4a072760fb714971a6fc2ddf9690cbe7432ef216dc688722b8c9b8fc599a11b75bfb55de1db37137f00bb26f39 - -COUNT=25 -L = 560 -KI = d1ef50afeb2e800756ac641c10dc298ac1dd71a9d4734a115b7d02db -FixedInputDataByteLen = 51 -FixedInputData = 5815ee2388b52c4a7aa142398ad2087daa35d73a292a2a1068194a30b8ce0e98e1ec1001bad3c0597e6b86196fc033f1286663 -KO = f4cebb118faef2344d55467f6a06d7046a22fa428125aeeb058ee0ec8ad17c203b1a4ef3c3f24dadb6c7afd97faf7198fcc9b09525414a4587b2863cda58cccafbb83028a15a - -COUNT=26 -L = 560 -KI = 88dc315177a457ad4fcd0dd2b7a083777dfb18ddc20ebb003e05eca3 -FixedInputDataByteLen = 51 -FixedInputData = 2cbdd99b336e7f9076f05950928a512d56a6dee0012451f0020486652fdb34dce0b94b5d86eaee78216e951c2369cc603a0e2b -KO = 9b09f72a2384e5ac21f3e269bc91ca816e2b5e84ec37cd3538a6b3e71a6369aa7e461916e564bb45a7006b0dcdc1ee2ac9b7439e41220266651b5e916127a9c881fcab2dd054 - -COUNT=27 -L = 560 -KI = e7bd106e03a0ed33fbdab292cce5daa349332ff2bc3a7545a920dc0e -FixedInputDataByteLen = 51 -FixedInputData = 6de6e0402e5e22f33fb4b132c8cda17e5346396b0cd55b91c15712401f2602ddca3225749e25230af9bb7899875ebded58febc -KO = e0f700cc332b04bdf9e2811052b7c7f8147174b628ad60982462b8481239b11cfa20a75e8cfe1be07e7c0d4113505851188b5f0df522c86b40ba9a3aec3b6d5d6f960a62b72c - -COUNT=28 -L = 560 -KI = 5a5a3de33da182b0f367a821eeb4f7cd8fb42db083d43a2deefb222f -FixedInputDataByteLen = 51 -FixedInputData = 9a5c417bf33f69bad686582e1f76781667554c30a682379f0d36cfee260515c0361843bebc188a2dee527986ae8ac15f60af2f -KO = 90a624e32dfa3d671edf0a1e7544150d30789b41f64aedd4c01e6ce82846fe9bf58b9c4a4649f107323928abd90d93bb698e5bed97684dea74003ca3e7cef4aaa2eeaf5d5aaa - -COUNT=29 -L = 560 -KI = 8e9fadd3a30368d7cac3bb3b475aa19d6adcaed181b836fe6ee908a0 -FixedInputDataByteLen = 51 -FixedInputData = 4cb6429e1e020e091e0ed3b786661c12e83ff6771eb7ad26ca1347ed9088d9e48a745cb61f4f30cc2c2ac6de7be9ffe0241530 -KO = 24f32ff41195e771b51b3b0fda54c38953dd9db77d494e855b5c64eb2ff8cbbee3da00ce925d5b241182a2da7146254a4d19c079eb88791f5103a7cb0c5fb37ab520637a2068 - -COUNT=30 -L = 1600 -KI = b51fdb174d965ab628ececd2f5af019f4b8d85b1754ed74254933a80 -FixedInputDataByteLen = 51 -FixedInputData = 64c70fd12cceec84b43f18ebc0cd6045bd30229cac4e5c8fe80f4fe16b9395c656dde17fa98bd9a39d7799306085cb97b35786 -KO = 25896a567aea191b52dc42f647d6daee494c73f82df94238d0d1821ab1069a29475ed250687030d9ae2f267e23a72a33329e04e64848525963799c0361b7bc44f146826b439ecf9923728817dc34cb78fbe011a4ad56ae620864923a3004cb2c851abed09d572fd060e206607019f15f96266f4ca8c441c8740d1c15649deaa34166ba333ba88108c8e24686a9e37d55210185b9da26c50d4ed9ba1995fad78c921a469f2653e5555f3b2cd381cfec075635a1b24387fd8991a0c1347936451d13e466104246e224 - -COUNT=31 -L = 1600 -KI = 18f072ab193e14c32d829254b8bcbe43b0ed0d4f0c7a626bb55dc389 -FixedInputDataByteLen = 51 -FixedInputData = 26eb6ba7ed74eb37ac52dd4deff7fe5965d555320c40d59980dc372f8ed0906dc9dae20e6dcf65546177c7d21cf59b38b63686 -KO = d255e97fc1aa9039853ff93113e1e261f25ba09e6e79ddf717cf31d2716a9f5f61c353d6cd1833625fbc139697640f387d01a6d32bb3572ba3aa81e2758de8cc7991a74fcb3e9e6bfa3012dcb15cf4450233ba1340526889316b40f31dd13255a4830bc87a321b341fdad6236f407354be3a02f2eb1b871e7fee58844a92ea3e57c96320094090a89b73fb0a98e3747a84dae1683de94a12977b70c6e474277d8c3aba5fb04f42e25e60aea37f12efb9f7ad60e99362a84361726d2d93ae6de17f46d606b5c44dd5 - -COUNT=32 -L = 1600 -KI = af0d7e3f4bab69d9d9ee02526f8fa936ed3d379b9fbe74c35283f3bf -FixedInputDataByteLen = 51 -FixedInputData = a7cd9f42d1cf6d1f38ac579bda4414c0befad98c5097df02d8f779539655f7bb59e992f8c51c954232ee043549e06ce228b083 -KO = 789c771273800d0f73fc6888e19e33dc4edddc81da3feead301a8ce961c53e0d60f8744eebb9859a966814fe4bfac55f77fb013461f49fb9afc9cc80c4cd940209dce0f620e967443a3d37ff332feaa6140ae583f56b0843dc2774b8a344f150a1d79233d1b17d3d196fd6dd26286be4f96929c58d5c2de729113162782c1e84642487d0a65bc6a0f88c9d305f0a674dc4af761db0f653cce9e30e5ea22a981aaf94b75108a4665321d20334cb2778391ba43ee5aae46e49b5ea5a4c2dee698a3b0aa330196983f6 - -COUNT=33 -L = 1600 -KI = 73cbb7452879779eddc10b774558c2761280ae33226c77a791111b88 -FixedInputDataByteLen = 51 -FixedInputData = d1fd93ac5bb13465531295800aca5e6210a64b30d7fd4609e6e942b66d8fc49206a555ff5dc006d60f298449c522552f3044fc -KO = 159a2b92c545f0ca6e39c6b5619052f887ff12d0599aa33f4a7977f4463361e2a2ebedc7397fd2b4c65d9dd65e0d60c7a6c451987e53f1adfd5a5c09f7a3a4af412c7bd4509438f771a1ff16b770d20a2f34101e2935748b2e52b351f12ab404bde382fa09216238ebaf32e5140bdeebdade7c0807bde2f3d93f5249063e148687ca3ffd733ca2129740d19b17d8caf95bff85d9157d5f9445c71fe9393083ea446bc6dfef0fd627162c14655913fa2b0a561d00e2d66f85c47c1b82011a32cebcb1985a23186cb8 - -COUNT=34 -L = 1600 -KI = 608c9005bd8f90d10bc72363d964c5ec673d4d9c38acfc4961eac84c -FixedInputDataByteLen = 51 -FixedInputData = 86575e513a61101972a086f04bd724fc96ec81096ade6149b9fffca49b71f697310a41688fa2c7c70b14d0e42a46dfe335a16f -KO = 245005ec263c9d7ee6970a370694e347397549bf17ea841463e79a78674f3c2628e4b5fab91d3cb5096fa1cd1a29498af3c0873be4beff42ad8a3a6ddd23adff502be819effbb496d69cef89c0a26cc747bad61293a63e237cc8529f7b058cc1e82978fa588699daf5d5153541344f5357653e8ef0875e70231d5cfd046b1559efcc48f2c87d78d02f203276e087ab8e6ca80ac505ea64efc169dfdf0578c36795e063b6d032cdd54e96c5eacd076a080e99e419018666665fdde478b5cddc7dea14fe52aa9e3fdc - -COUNT=35 -L = 1600 -KI = 4d2a8cb6c927a0b8798bc462dfc211fb2d45ce71f55f1d460fa1a420 -FixedInputDataByteLen = 51 -FixedInputData = 4b920ebe35e499e6a88fcc385018ddbe5c34cc5aa1e6771879ffb9c8b4639dc71db2ce51ab85e36a1189af68bf35424d08fcaa -KO = ade70b5daa90aeacc7bc1a78e74eed71e877a3762709f8aab83b12b4ade141c8b3a5cbe933d23873adb9835a8537c1a79f9d7e94d96dcd8a02bb6e48bf93ab0cda150f0d73d2fc719c7d43fcc8495b61c31713c6f0c8183f7dede80932befda046287ffeca945b522c191bc0c360f311944e39addefcbb37e1c82010ea03d4b882f455d5823864cf159a60d4a76f594e3a4980a72785d8b7cd3be826fc8f7d241e0ca3ab1ea88bd6e41f1ca5755cf6a17f4ff8011df4c3a67346b724d6d40390836f47121de075e4 - -COUNT=36 -L = 1600 -KI = 5a2d9b440ec9cc0192aaf1bcb2edb2808aadc1d3d64bd07f05d17d82 -FixedInputDataByteLen = 51 -FixedInputData = 996b9a5b166a937b469b070a356ac1b3011a125ef36add1eecde12a7a97dcee93cf9bbd5272ee22a91ceadca97fce904e7a77d -KO = 3958747b32bcb4864a559b369e7d6aa6a6637554382e436c322509819799c865a0c90b2e59eb4f6dbb09a121ad2c591b811ebe5eb8f27679b42558b34aef4965b3e2c11085f7bb601c72288b9424a296052b1e5e2af6aa929d7e8aa44a57c514cd7edaf519184f7c343f8f9e8d592d8ac6844de00066e079e77d0e7dbe43a5a4bb3bbb52da0960b2fda854a69acedc2ddd16495ae6354cb90116b65c2777e12de0d5da9307aebf008cd18e439bf96355e2491214508a4bc377d797a46af5028b503b0cd7915f94cb - -COUNT=37 -L = 1600 -KI = abd70ef0e971d97c077e0a18da39c4b417aff28bea1b8fa39f45e7bd -FixedInputDataByteLen = 51 -FixedInputData = 7eb1211d6d8a6fed1a025e6bbf25a8fb896f9ac48dac0e7296ff3a0eccf1f1f0562675dc882c0913e0012f8f3423c374fd0921 -KO = 1786534ac5486a6b87f5e33a1e92f9b18c0efd960b00d2fbf05646295b4830c2a698621d34c73f76fa867f33e9d4d903049c853701af2241ee83812eb7d7a3258b8dbc88a2e1f753c6d5b428cacd9be3892729f8e4024309a490fb0b5650fc8d031013f4166cc2ef0747eda7846eb9ce820943996428932727cab25b08e203d51b8192c2054eab4fe8b45948559842b997a1402e73beae113f45b529089332d6f57e5c80f82af762a676587b42dff48fe23a28ddc80d2d8f7077fb9d63dcf7e8e27c05750e0d84d1 - -COUNT=38 -L = 1600 -KI = ab9776ef4d56261ae5a088db5d88d5f18bace234b83b9243534e02c1 -FixedInputDataByteLen = 51 -FixedInputData = 1f6cf369be883dacdf1617369e1c64c5bf1d890d55bc261958e5431213bfd43038edc73ec64fcb00add908a6edc3eadf7c488b -KO = d761bdc9112d85cab3eb900a0ddfbea41a379c0ba42afab1dc42c7bbd71795f7b0dd0366bcf3cc1f38bf8fe7d756962cbfa8c39f637c49ca16b5c7d2dc17fd783befd099a164ec601d82e9fdd252001336c0cf9785d2254d3371859e8caacaf19509529a1b612d4346e2e24c8d0fd4ddc1fffb932733e265bbee907487c1d940be1c4eb8ed7c0b1c2224999ab8d3815bec5028d60233037c43d33ff928aed917815203f27b0dca31826886ffc29c920c6f00a8b0e6e2c0947a2413fb6e91f51cfaaacaecfa8a6f68 - -COUNT=39 -L = 1600 -KI = eb8df209fd08c1f02c1745a8225fb93c9e507f19d12cc2ceb1a214c7 -FixedInputDataByteLen = 51 -FixedInputData = 7687f4a40200870cdc24d363a8df8d7945ab4cfe4290104d068c7d232b1f26e9bdc2054ead9a66b402c0beb13f5231ba7e3e27 -KO = 00bf892c5e4afaa0dd2d4b3e7fd25a5a681b0d38111312f3d8fa5c0df056aa56e907781ae4e861f2d099198b892db9bcc798cd1ddca1371ca5cc912f0b60ff2277083735e2296d29bd21d51c4cfe0c72e3189e22c2d129a6ade5c2663240b75d300697554b5788fea4a59f06218947f2d6bebb5f39a385a6af3d2e7c28d0c1f4b8343a2c8730e57cf618ddf37c0fe7b7af6c15772861de76d58e3e2c32ee4a16f48ab9112c020fd8fe742c903b2b9bb5caef0a86f7eafaef3f11218cc459f67525f63b7876773614 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 0fcaa0dd664f32f23399ad55ab0f6e0f52a1765a5f1c23e6ce73298c -FixedInputDataByteLen = 51 -FixedInputData = cf32b9d90337b9fe1e603dea752669510f812768a73349fd6174de8cb932ff110e5a18786b661a9e544135530f5a595fca1993 -KO = 99fc3395679eecb4eb19c3e57a1e00a7922ea4170d9590b3b1af3d5ef0f71ec4243f1bf46a6f07c2f426bd3a4edae9d2459048027e716a58910438924c94b54a - -COUNT=1 -L = 512 -KI = dacf147b5745e8f291c413bbf18cce296f943a2eb0dd671deab19fb4 -FixedInputDataByteLen = 51 -FixedInputData = 7b9cbd0ea03a75904c7a3356f831d6ec32e48ac03dc3765133a9bc79c27158da3478d49497c60bfa0e379680540facb5a133e0 -KO = df2bd274b695843b007d04e7b6bc9fae68ff0e14446b5931800d8117c7b789ac4a78858ebc35c4608e849ca17eae20f3315e8cf1390ff036424532a0d8593be2 - -COUNT=2 -L = 512 -KI = ebab3e2e3abda0728653215b8e61d71c19cd9e040bd8bb45f119935a -FixedInputDataByteLen = 51 -FixedInputData = ff6a146019eed371e4d0aee7397090d23a53febf1d2f45b0904b74e0b13cbf4e7e674adddb0cdf3a07491c312fa4eb25251cf8 -KO = b5c810cdaa6301a2b0cd9620547e8b65759fc6dd6766cd580f0b4b839173b95cba73b9bd1f6be648f652a944dd34ac80ebe66dc4261799009fc5e7b242862b84 - -COUNT=3 -L = 512 -KI = 31e55abc6830d587e4f1f7104cd60c3415a9a6f12508d651b6047d1f -FixedInputDataByteLen = 51 -FixedInputData = c40271d2cb6b7e8aa01af97e74a97d5e07c38f5f2bbd1befb853850e33981ff7c5072cbdb990da2b2bd709772fdf211d849c2e -KO = 6fdb688dd999381171cb172c74581b0be3901e5c2388175baba1cd54fec947adc297184321364d8359f15d6fbe6fea87e6496bb9303d7fbd3f08aeb41c351cfa - -COUNT=4 -L = 512 -KI = f47c9f96ffc0ae8a11ac21112dacbbd79963464b91b74af657eb0f25 -FixedInputDataByteLen = 51 -FixedInputData = a51221aa54a3d3441c2659984b08f86f3911c19fd912a75da452e455b2531a175667e5d8f59cc02ed21af448330686b44aa47e -KO = 996d260816c91afc650defb46304200ba31bd7cd5a94ff8325339767e34b767029c300f75df7c51366480d32df40618641afe8ded45c64f15ea6689fe4f15152 - -COUNT=5 -L = 512 -KI = 3b2927f279c6b6ef2bb0dc69a42bb636733e6ebb25eac948d652353b -FixedInputDataByteLen = 51 -FixedInputData = e80d7f44ca65e2b6883fe59e3f46f54b3b69625ae9c7a45f4064662bbf886e8fdafe725e90a8a5908a7183b567dad7108c987b -KO = 5874db0f85598e3855aefe6d4d92cdc2cbb3087c419e3e383366c9e0009c7558ce7e239b7a4b38e97c2d133378f4ea546123933b5601bfe2cd8d78c627ca6235 - -COUNT=6 -L = 512 -KI = e57b0fa5882224bb6fb2fdf8e047be9b95fea767a891a3d052125627 -FixedInputDataByteLen = 51 -FixedInputData = ecf38197913f169e401e7372ac22e83662368e7f7ea81afecb314fc3e7082df697e90b733e73d66c1b680c0061f59dc2902ec0 -KO = 64e1d2bfd8b8ff7c40ce45dbc1998166da3caaeaf5c99f091bb1a02778f4c7f0a6e43588574ce6ce5cc6dc501c21c04c98f37dc51ede3d53389eff2014450e59 - -COUNT=7 -L = 512 -KI = f6dd125ced79712e4e21535067ff6d9a8c32574c39ad14e6befccbfa -FixedInputDataByteLen = 51 -FixedInputData = d6e9b7511c340a6af4b7129409f34d72d8c75d2ca3f2a5df34436919fa2c45505963e3e048c199b912f9476edaa6f92c5089ff -KO = 4034a35622a5046c62744371c93c9b70869712272f8245d8fcb2f867e4314141f8b50be1f52f2bbf42899ad443d0f3a559ee80685d71f507492a0fbb8f2c9ce8 - -COUNT=8 -L = 512 -KI = 95a51d275f7e2f44808579243bf0f2b3e050be79190d6f8ec9f786c1 -FixedInputDataByteLen = 51 -FixedInputData = 47007230df7f4572c5bc48032fde8989760f421ea4133547f709785eea3da94bcef82ccb6d0641082fba21e30b61d1434ebd26 -KO = e231337337ab236d938cbefb00d4bba7b66dfb5339b22a2711abc3d1bfe1a33baadbf4aa7a476cd5fa19e81eace7fbe28cd51b2a09e093a5ceaa30df758408c3 - -COUNT=9 -L = 512 -KI = 974c52c03620716455fc29a9353afe78a031a6f2e5353ab4710ef3d9 -FixedInputDataByteLen = 51 -FixedInputData = 98cdc528bf0cf9082cf1ff544a6da1805bc9fdf0c8d3014ac80ef73f3b05cb72bcfaaede6e84499da6f225029d381289aa739d -KO = 235261be35681d8616ba45c6bd3a087a63f1eb7fc9c6c9a02a477e622f111df744ef63f6d9d15487ba771057e00a736b387d41a4e0bc320a56dd5fc29b7e3fb5 - -COUNT=10 -L = 2048 -KI = dba748ab0b7119d42f014fe45ed9157ee8efc760186ce158aad275ff -FixedInputDataByteLen = 51 -FixedInputData = 5406f06cfa44a11e1c9f8dce5a18f2b0931bc4c420ee35ae21f1435be5ff5e1506d722eb25b70712cfae194d9625eecd76fdc4 -KO = d79ce142700562b3e16de887236746085199d3f8e2553c8b96a1b6adf6d0bf53e1890553fbd24080c02d8824ce47ca05833402667d9323b720cf2a83c1959cd96a4f5ecf95d3f445bb39efae5251c097f1dfcdfb65c708480eefa3d8320d344030ef22f759d41959f6a33772e0798b33f90e26649ce9dc049bd458fa78a3f4f5089c81ad1f6942d98d88f119cb23033999a4ec7174cad2928951a2fb9cbaab5e49773d4955e6afdeb045bc8863cb1e8e8eaf3b73372afe538c71cda9decf745cdc89263336e31512a802bd64b25aa43945e168f42073ff189d5b19c0bc3677f6b26bbffa807c6514281e14a5d4a97dc70b40480191d413905fe933e6593581e1 - -COUNT=11 -L = 2048 -KI = c56006a54cd82f596b1ea72a2327702ff8701d9fe2788a789ba05aff -FixedInputDataByteLen = 51 -FixedInputData = b47747ecece77fde288cfe3b125c547bac3d734ab0610da6aa05a2c3cd6f534b13511527752a0459164f66758748df15761348 -KO = f0ec4f34bc500e6684b01500a247e669c6d5006c039b3a08396e0a697cbbdedd0b3a543fb4b0d05c7e3027408ed3012f00d21fcb6ffa2b5ed6c2ac44dcadd5a124a98366b816d2270631967a1157bd1bf2c3d7cbda0700004d3e443a426c4f10904d678cc7c0d689b4700365235668e1408470de8d6fcf74b7d55b22c84453b592d0550b01dac54107c9f5a5227170f7e39ea0811aa5dec18fa0b6032b0e39937312908f28e8b83dc7ddc02df9877a7a8c37fc0c7b66ff39972607055e9496b0ba7d288676e2b28d95f4f87113d923862ae8aa43cb1b16815945be03de9be3e9e0efa6a8de58397b15a473ece35766db1c6df63b6937a3c2b0aecabbbe74f776 - -COUNT=12 -L = 2048 -KI = 465bb173fcca0844967f1d147f9f2d9df1a14745b385b9d407fedaa7 -FixedInputDataByteLen = 51 -FixedInputData = e50c624070f20b21f9a9a0612288e8de0cf0f7e649f04a0e1518d694c19f274e4311feb1fa8a52c1d80694523a9ddedb97b175 -KO = 44b1e1376e42b803c974142be39c4e761c8ce7a4a647d2dd8c7aadd8818960e22dfbd802f04f43f6c0a3e76eb07ea84af6053c1c91c621dc28ef8a67cc1724a60528647aef0fd766dc34a2833e30ba81dedc3aebf583690e9803933925878b95648dd3562921cf38f0f261b1276d3b98290196658097cd0d8647dcefd9e84ef5caede81d432b797b03e866213d3d1442c1ff5de92b92b2d55c47e8d6ec30b44eb881373a46eaeec0afa95cd6d8acf9ddfe38782cc62f261336f8241e48804c2a87ea325964d03f4ffa4a94a3fafb14f2d734d1ee3f41ebd04c2d4a4bcd8740058d2b01e43f0f465e4e2c1949a7ed235b2ab7a444514860c231aaa24f49523fa8 - -COUNT=13 -L = 2048 -KI = 4522f3c06708ac1761b515ad9c869f4e0c14e8bfb6c0a66e7a203cc8 -FixedInputDataByteLen = 51 -FixedInputData = da79f3617ad549df56cc0b67b8dedca623d2e099cbf049957f1672d2be3874f9db19f7d4826a92372d775e67c4bdb6bfdca6c7 -KO = 861f13abc61176cd51779baa150d9a5ce67841addc2a3fb5ee187d1634ae9dd119be6e7f517eec77b9360d3dd1b54c6ac157fb03ce5d1fbbb05863a4eebf11b0604a80b8b8ff8318397aa8efce90660abdedf03d943cb0e1caff0875187ce816e8a69abda38a01853b62bfa31d9d82ff941aa703a1bede66daa2e577b62a67a66b708ff462b585ab5bcdd60e76139c27a371bb7b0f7bda81fbaddbfda04ce0c5847f687ef286cdf427b7056789a8e7c4fd2fb954f71ae26dab510a3a5a98029cbb0b0f6e8b55bc8708f33739ae58ede3fbf6fcd9647e1e234e390a4bb426ee2e9266c5028f837314f5c6f7215dc46919eaf86dd53d8f3a9789c30aa6fc73b4df - -COUNT=14 -L = 2048 -KI = 52b623b399eaff5f7a8e441527889232e121126200df28db8d1c9d5c -FixedInputDataByteLen = 51 -FixedInputData = 5bc5e18c4a593a45ffc3ef76d70357acce89994a97cf84a1828b1de7e1081b4c5ece0f380898e3bde8f7f9cda75ba2a5cdec91 -KO = 884be46b7b67966e2e27d6db3a374f3b0cec57b02863993d04479184a2562d6b1e7fe9850226b112e0af897c1b66825172d193bcc9627cb6d61d764e072b7ae07041ce28fb98f147bf4c8a4e0ac3cd2fa3b8e572e7ced2740cc83f3af69612e79dd521964a98e3a2c9011a8ee90a127f0c1271ce70d79decff09ca4ded3e408cf2d3d6f69cecfe20bad6113a11b468efae735be1bc47e9dd2ccb202c4e3b3819f482cf2f797355216125526b2b62a83a1c9f09a07b429eca500dc78b0bae0e7ab26f2e151757ae95802b4978a51978f676bc285b5c64bf44c9ade7444e7f51a9a4aa4bb9ae3ebd716f4ca3c2cd37f751848c5b3439f6ca7cebb4eb1a661731d1 - -COUNT=15 -L = 2048 -KI = bac30b5d87c5dec35462bd40229791c236c420f2ae6a01667a124249 -FixedInputDataByteLen = 51 -FixedInputData = 7d26d8622350c6f54a6b888497624ce0f8e2a960749ad36b462270df3c85e690cc171e1d021fa963629dc99146d46389da4266 -KO = 7674debd330404a8ea1c31eabe848818c624d148150707b884b59fb040ac8207e432c69e86ae3761ced9899c64749d53c3dd0accaae7cd4afe5d57f644ac88f365ad33f33d8fa3cf059592db5383fe3813ec4ce6e294bb31347d36f53c81a8de1e20f0018f8b409df4c57a625a058e84d09ec422086318d3604074be2a71758b2f7f1c713fd8afd63c636d87bf77d9a62eccabf97875ac54483dd1e3825a7c286d2163030b33f015148ab53953b5ecaffa4e3bde3ddfe7d3164d9ebbff3e3f4537b12acd8e81952e6348b8f372e8d4eda6b750e4857d4be1730a61ba4617c537a31dfbcb3e614d567491bc39c65ba03bc6b601b6479756bb02a366f31e53dc2e - -COUNT=16 -L = 2048 -KI = ad9627e603ac29f2e2b65e330182cd337aa9d7646aecb01b2a97d5f9 -FixedInputDataByteLen = 51 -FixedInputData = 4548b7e2664671d03ca51fbcd6aee8123cf9189dc0bb9fd95e59a928cdd5a908ba0df3974caf7986aa2859a967de2a410aab7e -KO = 840a220131d11fcb09e96170a6b24a137a67c6108b024d6c168af5077ec2f32df7e7a06457b00940da24d7ebeb340a9f1a274c0cab7db6752fc12bf53fa020197a1e2c9c1622f58646e9cb8cd57a108da8da3b90e7f48345229c9cc3e554160ee7213e46e7060e14ea9b4b845794ff7375a9c19b0375c41372424c793ecf9ed5fc2fef8f438497beb016371bd8b6f320c54d456c141e7f89bd03a5b981445de3b7cfa5eab6a753e307c1fd01d02ec13cb1fe18493d30950c771c96b0d21434c97d9398405a1634219c9b315f0a5faa4e16b48d5740a793f136d7d886a463a79948f909b736f5d88db90323612b86fa0e7f29c047976f85c90135942186bd3816 - -COUNT=17 -L = 2048 -KI = 532a95364714ef14dfea050d5ba39bd54e1801b58da9c899f5be014e -FixedInputDataByteLen = 51 -FixedInputData = 63a4e1dacae21012c20d8eb3b446bb3a2568d7d506981213fba3e60215ddf5decc0251db32afff910c3207bcc3a70f37f284f9 -KO = 9d422f4ddeb50fbd06c3694edc679b8dca853437f7dcbfeb28d64fe0ae5e4a3c5b414c553fa2e1d0b6bd481487ec13073ecdaad55c7126c17aa69f6781473387121dd160685bfc25cd853872189c5c7c648c3a1381962283a474a96a0708d84865666b142d08bbffbc5f7f9a865bbd420ec7fbac4afed33c0ee80ff3a428d5908250f0c9a24075b55eeeab586bb8e7590db29a3a73cf280718bd494e8cecfefc41a6ed72d0efbaa4e42e1b499c38dcf2f1757e8a6fe96b653407f2fe08e4a5e86cfbdca73657a3777f6571f50dd5f05e311a4cf017af7b4661496c3f4fec6c3857ae0b8ff28d35ddc97f4cb97db701ab88bbf49c78ee7d595fe2870abfc16c9a - -COUNT=18 -L = 2048 -KI = a6f6dd779b3e8c1f91caf54c4b36bc11481eb019775849b912d33d75 -FixedInputDataByteLen = 51 -FixedInputData = 69d9ddb1147f598fbdd931793fc8fe5c3f7bc3ed6232eb78464ddcf118c6c5ca639a6640f0d63e1756fda9c9bf789c562612c5 -KO = dfdeeda7339f7f46a99b1b5bf66ce64ec9812a156855590a5485bca843d3e90e51f9a328ff3301bf57d48c4a65529e477ceeadc0df9c4d97c92d5c2d2a6b2a9ced54bec87808d82cf570c5f8f09118c37d351f23842d545ad415fd19f0623fe460ea922b295286a6f9f0a6016db6b7ce5c6749c90bdfe3454496ed22f4e84248ae4628d9df61204ad8d5bc62610a42ed939d1fbdead8f1d646fc05755e976020ea7aca719e31678d9981f09e510ae56f21234d985abc295479c4f632d46b288dc93743edc435decddbfb633d813224223b932bb4a9fb36eecaf987ab34d0e68b80129f8ae0bf507997153e09dcd112dee8ed897f0a26fcac53225790139d13ad - -COUNT=19 -L = 2048 -KI = 485a785ae567391f13b889eeb254556317fbb3feec12df57765c6409 -FixedInputDataByteLen = 51 -FixedInputData = 3efdde7a109b4ef513d5fadf60eb0dfc0449abc01e143e15d91a82bd3a985687e204b5e80bc7c6561fb40d9aa7b383ddfed243 -KO = b86ee6a126eed05e9a942a2f2634c98320a8944556add8ed961b0269c423f3dfeb923ac5df7a16539043a09ff69c2df5ec94f6b1a2e9ac1adbe5f5a8fc78147aad0836c84cc1c0c89be70d8330a057ddd45d32ee1727b8998e0530e82415487a5d4b800d3f0e6a67771587e96cb2d91060dd2bdde7eb48e3571f99e2b3000fc4fa6a5709842f1e07a5a77477770117c5231401572292e330e47a8af55319725c6ceacb7c65a441a996b838609e0944448d58eeef3366749e5d187ffaffde46353ea7d4ff34d7855deca5e28663fa45488e8506bbc811a18a2ac8f6d4b3ebbd2d65da72cea5daff616f40a05f86fda92753742f62c769b8d497771fe35090827c - -COUNT=20 -L = 560 -KI = b95e9309b57986310b0b84447d16dc8d3304d3465b0ceda349fc0465 -FixedInputDataByteLen = 51 -FixedInputData = 2d7efe744b8004748627ae8729fcb2614dbd034670995ea8137756850e6f94ba13e458fddf56cda1517a1cb165101b57250675 -KO = d508784899865db078ceee18addc6d94933e615c19c8b68cbd6a0c95c94c6d9b34ba3a56818c349b648b232e77f9f1d984c4d8b201d9f1133dcdbba98e7393f43c888cde5089 - -COUNT=21 -L = 560 -KI = 54e3bc61b04e843964767c1ffda62ee35de41b0e3927892df091e8f7 -FixedInputDataByteLen = 51 -FixedInputData = 39a3492b61bbf4b76558cd77954ae591a376cedee2eb26157abcf9aac5d4815c7e21d854d25b7ad486059d8764e49e3f5f3ab8 -KO = 665367c856f099a310b90be4892774eb993bc13a90f6a5409bac58be713bf6312ef51b5fc828e9db7faf1b5a19f19696d13ceb7f4003f3f9b1024d467c4bb87817fcd4317ce3 - -COUNT=22 -L = 560 -KI = 0388ef3752399975c70181044013e0fc940a8ca540d7fa6b62c59351 -FixedInputDataByteLen = 51 -FixedInputData = 206d06981125651c0851d2c111d0073b613d865439620652de5a5d2e456dafc6f47d0a3774804c08818b6ecb32b072204a79cd -KO = e7cd06852bacb3f8065c5c5dba760854dc40983448d0a30662ff14ade13c97ae5041432704f52f457bf14c9e3ef6c2f1a98368140d9a20de52e8afa2463e7c4c5dabc0ab6ab9 - -COUNT=23 -L = 560 -KI = 8cd53bdf18e8d19de35fd135ee1e2432591d1ac7b589d8d81a1f373a -FixedInputDataByteLen = 51 -FixedInputData = b84d12c9dc8cbe85772c9f1e012e8e2c80ff0125f541052265105dd791b747ba4f87f96c5069b43dafb54525edc4353e876bb0 -KO = db4ba94bc2044c4f4db9b4c87cc7197fabed0c8b3acf2069de7f9cb6536ca446f080f917141d22889dd98fb061718196026a5b9fb5006cf2a8a9048c37adb3cd055add98e2db - -COUNT=24 -L = 560 -KI = 9cf4df5ab0e0dc1586022dcfe1f644032fc3a4e97725f0d70fcd8b3e -FixedInputDataByteLen = 51 -FixedInputData = f8c17d2850c814b4302c077712da7e1d8066490396ab8c7f7cd30415449aaafadfff285e05ff9b804ba6ad4456ceb71dbb10b6 -KO = c624209255adb119a2035ca9b0a8953be8d36e447acccfd87a11b24b670928a3544f4321f8a1d05b0f8ebabd03fb52f74d1de8274a2f0a162c2c6381d0d33ecb663383779527 - -COUNT=25 -L = 560 -KI = fedf961ab0dfb919e0e4fbf432490f7ea8ac9c500fd6cbdbbd402201 -FixedInputDataByteLen = 51 -FixedInputData = 16a15fbdb50e03da03399411ba2fe9fb86a18173e0bdd4d8def1369d5d7198d41d90c28b40f0b46589fcd87f41b2ff6a9138c0 -KO = 65d8bd4238584855424068183e4423c94d502ac97685a734909dee3c158d671132277f25422c086b10fb1584b0a1b42b0fa596c51b1417b8040138a1e89eb98821c3ad784086 - -COUNT=26 -L = 560 -KI = 4fbb89fd863835d6fc7481ee5bee83a60591b2ea25727aac7018efdb -FixedInputDataByteLen = 51 -FixedInputData = 7c96943ceb9a618f93056f3db9c1faa172651576cc6ea010d10ce1a2a4a7f0e498765529b0ea7ac69ab665cc5e26b67ab1b82b -KO = 371111f351d3cc3a3742fc0c0114cca93245fc5dd096de7d0680a2d07e93857860daf58a0113b8a3ca30108d9bd39e8d4958b7d082278a9644a44b61a2e83031a0fe233d5b5e - -COUNT=27 -L = 560 -KI = 31c15a66b6daa9e6695f57b90e8d0d87d881ec0e8ddd0c1213c44123 -FixedInputDataByteLen = 51 -FixedInputData = 2cd3e27dc9d13bc303ef8fa4bf83545bbdd178ee9a15e37cc330120637501313f1b4a3fcafce8dbf6273e012cc153cbf91c1bc -KO = 8fc8cbd0d362f4c29b821d183f1bc6c68c4a09bf1ae21b22ca496efc405ab8314407ce50e93b20ac9b7ce6714d52e26949fba28cd16ad6a66196430198e3612f55a06066eb9f - -COUNT=28 -L = 560 -KI = b3ad7a2b7c5eea4e6bac122852c55b4c461b1d78e7927df752e056af -FixedInputDataByteLen = 51 -FixedInputData = b2507dff982c9b60f0bba184c49c76a6ca90bb7925cfc5c7ab13137732954bcbe1307d22efae821c43906b84bd03a98725daa8 -KO = 07afe464d200e4781763a60c71ad926d7c02ff9ed8e817f449f2288f7521b4893bd93548471e597aaad29b0bac75760503a38f377a9320255c5df336c27f08650389e1848eba - -COUNT=29 -L = 560 -KI = b86574b31454e6804e0c3f932915f918649aa589e619a8ba768e4574 -FixedInputDataByteLen = 51 -FixedInputData = ca78113f8dbe336543b42c04c37c7cdf9d357347b8488e3e95f35fd07d9eef4b899647b36c991b828e71933f758f56fa91c0cc -KO = 7dfb4618d4d503a91e42e5776a1614f028f0153004a7c94f34c5f7d6367a59f38762307bf66224476955177e7117c6936bc00fa23ca4d4c2108265c745cbf0f6936ca9f22041 - -COUNT=30 -L = 1600 -KI = 76c4af45c48ee073e46a58da4f8c83c34ace795b0ac95a145c00e1ad -FixedInputDataByteLen = 51 -FixedInputData = c83dcf0365e70df812ef82bf90ce31fbe3a2f7e32b5c215af51257933659be331b0a340442c0cdfe291c882776a98a24d4ef9e -KO = 4f43df9ca7d16bdf67237f3e3cd1a12b26f7fd0d3ef10af0e7b0b70a86385de39810ea9534e1c8a79058decb09617d704462c9a010fa84b167509011dacb01067243e90fc71f5de8ec43f72f3adcf0c7037c15190340ed5799e5f2ceffda6ad461184d8385da156d32c005dc6a130af6a82e2f4035736e0edebcf8ca640105fbf64d221c80a6623f2eca64208c094e120f736a7c92b664b4133099310c969c8a19466fd18150ede61102977c23e027500e67e4f974616624086ae3889a2a05078ef633abcffb363b - -COUNT=31 -L = 1600 -KI = ec1dbf2c727438e3fcf4106c50ae3b36a7422b5af113acdda903a4a7 -FixedInputDataByteLen = 51 -FixedInputData = 1260bf0abf9a0032dc57718a4d37f98d3d9ec50b794f025e4a6d219bf8b668082756ba60ea063a28d6af5b69ba4a564b88cda8 -KO = 390553aa54e1db6e96fc52cb0edf47c2564dbb8a2b5e99adb6ea3dd27925a895deaac974cab7cf4ac081860da3bd9228df9b0366acf012643406429192ec2f548b43a8f295f6fa860ec7e160ecd73f657b1a570b8002b538e84a4fe86809ff77ee468e933579573533855f8007f428053fcd2399b2ee46b0335cca59c5fd8738ddd8ceb347f9904fc094660db23c4f3c68a90ff28b520d63f54cf73725a4da42bb67ade2fdfc958a01f92eb8ce1adb22980e43e87ccf824d34030f4b322392984250ae73952edc2a - -COUNT=32 -L = 1600 -KI = 23286a55a317b80cf630dca4cf93fd9670259c56ae78256a91d39c39 -FixedInputDataByteLen = 51 -FixedInputData = f55c171e9139bef8c0b9d1d56131bf81fadac347b10bac51c5ee687cf4eec9984ba539bf9f5f369a68aa9c6972404d7f31a533 -KO = c51f8f6cb1ad6964a316f8c6f9aaec2c81ca68bb719109a53d572110dee2a6a8afc27123ca30739bb09cb1592225c22ee217ba06c08e250f82b5c777d33e8b0dd04a0cc1ad727236fd5ecbb2ebe5905ac61890cdefe2d82cf8d8a7d05b8ac08e54a245f5449736a096cdf091f6f1fac8b5aea08f94c3bdd9654ee0e3ff1e723100c44ef15945c7c945252756e7cf665da1ea153d11c18447a1c34f81b9213c8c5b8854bca3e6e6d62e011b8ae02154f92c8c7dfcd009b612a47165961828ea5790e1a6249c8fe7b2 - -COUNT=33 -L = 1600 -KI = b4352bb6bdd7e4488d4e233f996d1134e88cf746c5d3f85a0298f165 -FixedInputDataByteLen = 51 -FixedInputData = 1e07a6d5a7131e5c4ca52968698e67dbbe34e893a90c91e6d91285ba109da9d6ae934d4866a1cf341ca9be89a269f58970e71d -KO = 9dec766dde6ac58d905d1f1db75009790d643aa8c61a74374a05c10f30d7d28ee2022178f0fc0e8963e218847204b7cf5b34c3189f30e673c0612c809f34bbf44ae085537422d1bb190b189ff43faab5fa0bf4a87cb46c32047c3aa9c9eefb467a7dcce897b67675540dfa1e70f3c97a450e0ef8ce2f2e324d444d8572f4d99cf33eeb68b7015b3e9a18a01bf8364f74571e1d9f27caa0bbd036dcd5d2495a8823a75ce049f9df18b54048ec27df6c9225077e7e156bd967a038364be3a4748ac39259b345422138 - -COUNT=34 -L = 1600 -KI = 5a30bada4fd1a8b8bcbb8002bb7aa92f465578bb7285322d3d301fe2 -FixedInputDataByteLen = 51 -FixedInputData = 62f494c6d6afb48889c100ea873ae9140773285dc3e8da7c082753558b578141461f9de2ac2e7fed88c94fb8c1cf3bac90c8fc -KO = 6f16e5451dcefffb3e4bb0c10753cf1809be15b346b8564f0a5869994c34ce99b7826a1f66abd808f3be2bd055cd0bc999ee8ff4143a2ed4255565fe5e17947e4b69bb31680ac1e3942e7fa30f18f47370823165ec5ee5644cf12623d61034fe633d1f2a52ed39aafba03f587692ecd3f2ec15a820c786b1104f53b83665e0d27e3e67586a98038daf6027ce9e1beee84fe43fc1ce4f3c03e4de09089692fedd5c005e9b468a78c2470f13c7cb4561b4c49deabecd98ca00a0e2e8ee7510d915ec94a613f6ccccfa - -COUNT=35 -L = 1600 -KI = d618469f3d93506481e42f0e0f83e58e15eb521aca1b460257ec9dd2 -FixedInputDataByteLen = 51 -FixedInputData = 2cc21df365e68d828376ed819c6baace5f982838d6be01452859438f0b4b9628aea116149961f9861b338d18d3363bb563dca1 -KO = cc85b0263e6ec13924bc2ba475330eaa98d6dbe67713622e117925fb2a2ac49088e72f381a392b71a0f6dd65b68bcbfc9d9740716a75ece11da01592449970d4ae5f4fc16066fa9a67e68ec5196bfbd0714369bb936b749836bf65bfb42b8c9be78f31bfc83964d21128640281ce79b0c7755e32c66b57cc6f8dc1420ce4063a70d40b64018bf8d1749788e96b7f52eea15ad35142211ceb25a304810713def593b479c5d376b1b9b57f0e53be643768d3a07bc03f764bc5ea62302e6637e0bb20e65882dd487fec - -COUNT=36 -L = 1600 -KI = 8878c7e80488df4286b6a73eb572d88a188363f0e4fe5106e9496e44 -FixedInputDataByteLen = 51 -FixedInputData = 3fba7182ae8131022bd03f8c2a0783bcbc0f605f7f793dda9953c9668adb0b0d439b09d7339daf9f834191e9842cb7af48383c -KO = aed58c47bd6b5723bf67005b5582707cd41483dc10e7e4f084b347a10af8b7debc4aa37134518cec3f69b1c3c8acd4c75da3076d2e9971e8583625c4370efa661bd6b788a09259403c7217290aed87ec523075a65b1262b0f737adcf4d8935efe782e64907090fbde6e4ae145ae9141a2cad324500808e7d80e393d7371b0e1dfd76d163ba4caa7e6d36c0fb354957ab8e6ae8418381b6b66882f0e8dc1496e3b67be5221d0b32f7e4bc005bf7e1aa9a7c250451b887dbc4457c9dde2389c9cf3cf17462ecb93e3a - -COUNT=37 -L = 1600 -KI = acd303e057330ceca1b41adbb519bcc1d231ef978b05625056a70716 -FixedInputDataByteLen = 51 -FixedInputData = 5c3bbc7bb7e6fa27f35792f5cb8856e5e6e0d5ba3d676642b10ed8e4fd51d2ca1d8e42144babfc459bd099edcfa66765d17a86 -KO = aa6a756a6640c04a38af74f9b8a72c3f16e8812d76681fb52d7cba528e537b55373fdf92f447632f909f516cf29eddca0c1dc6c615060711f945a1014b7bac07552b9fd2deabceeeeb3c9b9d70fc9d3b6c593e913ef162a1680d8e2fff175322cf61cd10a7192ac402d58c90d1306db1b50c71059805062735256d1dba1ede87938e1d99df176ba7e4f39473611a253af0637149e9b6744fc510b47d899c033e66fd871796cecafdfa3296bd4a4e440e1008b080ef99eec279d2019b100097308a74d8461d69fce2 - -COUNT=38 -L = 1600 -KI = 9253eb5084b1943aff51edcaef175630fa0976b2b2dfff0ea716858b -FixedInputDataByteLen = 51 -FixedInputData = 2d034f43fcb1968cf424f6ab9ae17958fc72f7d6d93a66603e890853c65be2c82b4e44253353aa5738f0e70a00c112b66dc131 -KO = 2f6794b02014866677633d470b5a93c3b7a94a0ea3e1fe6f2f90cfe40c2db652c4abe74afb73580231e21968b0a2f3c128d1e79c2ed120b761896ee1678639e5159a5aeb64e726b1aad092f616c1705d7f385fb72247f70c327bcc0e02e9a12cce573186b9e1daa200e144f738a9da73f9e4513fcb8ff8340402b8c70f8bf078728260d0b863461b132258c6e63a29541384cb65b87dcd11141b7b96b64e4f7e79d71c76b0f686e4921d475beda73b7bb78e6b1e614b6146dcc68e715b785e5df6bab4a6f107c290 - -COUNT=39 -L = 1600 -KI = 990526e9c4c1fa455de1868d5b82500855cde20441ab7537d718336f -FixedInputDataByteLen = 51 -FixedInputData = 177b86aec8e225986db9a280c42c02d3eb9ff9e90ce5a258ac23b57579bdde3f50b2a42b32a4f1b1f25fefc08688177ef17f5e -KO = 9a6d56c8ce8ebd9d9bdee8e2f6f482d659ad2a41b06b874e745e96be2ae23a76d293fa53364285586484cad8f5957b18fe643466a8a0c5c875b81d508f4fcf019a8809c03f6f4faa199c8e6d8b2454b27271a3bdeeaa2066a2200ec09f6ad5425dea1e8dec9c32bcb1d01408b50def4a9ed43ad836ef8eec9ca77db6a42bd025694c774baec5158648c2bdddaa54e4cb4b488c1511be948d3adfb88301885ce7c7b8887c0cc4eab25cf2b03171e7d16f349c65f75baa5bc3014588ca97a276011d8919d717914f85 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 7d2de5eb760b2a0f0a9e5f33366310a75d4cbbab4bf405ba72afb06a -FixedInputDataByteLen = 51 -FixedInputData = 181ad37024882a150f1ae1d0aa5b1f99d7e5839ee5cdd07fe544c4c90d2ea50404ddc3be4e82b1b3c76f14df40f42181c1d24b -KO = 49d0f3a711c0eddfa3565af2c6c792d26d78a0954dce6cfd819346037a07e974d10927bcce71095aaf3bc94c01ee35ce246f7013fd7a9ca79c7da9fe366f0752 - -COUNT=1 -L = 512 -KI = 13d56b1183e58702a9bf2a70831607f450fe3feef9514dab1ce3b61e -FixedInputDataByteLen = 51 -FixedInputData = 8b15000b259f4d97401cdb2e091ea262c5c1dcd7afc2f50ea17c60e66fe0b69189e295fc75617abcff10e2f13933d770f0738f -KO = d5ea2d907bb49b2f2e472b7b509aca311387948328dcbe2450c21638898fa1c8c43c8bf1e692b83d1304991195e83de9dcf04530ae999fdb55b2a58267c9d5b0 - -COUNT=2 -L = 512 -KI = 32da49068a888ad1b27cdc2bda66e8eb9ee719a474ee7a798a450860 -FixedInputDataByteLen = 51 -FixedInputData = ecc6e807c2def76cb014b82e0faa5cd6ba0104618f87d2f62b21f66f3cddb5315cd716275a711ba048c348e5a068d55480697e -KO = 0492ede191bef2dedf4309a5b862d3f54fa6dde34b7a6be95fc634c24d31d51b7f7cbe7605afd0e2ca53c30410af5c982e3afce6a7295de2e8650ec6b56c1131 - -COUNT=3 -L = 512 -KI = 437ff408836744c152b8511263c586ae58617f2b620c60d2aaeeec2a -FixedInputDataByteLen = 51 -FixedInputData = 512541d9d74314394f1d1b0edff1ab0bcba6aacff3e30192ef522b405252f217ed21e73ac0d0be5cb3f636e13069f5ece9bb2a -KO = f58577c5d6c0f56311db093f0c4a31f95d765168b9c0921abc463cb56a7376893a61e31a7e815c0e11d1c20960d229c757b9af4f68c2aa04dee17a60e46f43b2 - -COUNT=4 -L = 512 -KI = 72954830d2fe392f9d3c07602283ab4f9fd64fcdb1ff068bdec01387 -FixedInputDataByteLen = 51 -FixedInputData = 528c8b713ea86868a5c44204ad3b7fcaf75f1021dc19ecc27204845f1e7707eb04daab224da4d75dcd3af2313dfb62c4f44e3d -KO = 1e9fc7aa4a344b65d6e117c52cf38d5a24508c6f9dc784b177480a0bc906186afd8adf356f227ec11b48be61a1f27b447afad8a7207be55080eea25a9ae46dda - -COUNT=5 -L = 512 -KI = f0fa615419e40bcfa4d5c94d78b49ac2eff3dc319e64e910f0b58460 -FixedInputDataByteLen = 51 -FixedInputData = dec0c7d170ce1f0ba4d1cd5061018d204ee58ab71dffa3f079af2bd309cb3f7f02239461119f1a6f67c963b93590b2add03998 -KO = a446d24d8a543d46bedfea4649de8aceb579dd6db287be6cdcc317156f9279a71be28177c516e26235cf32b01be2816c4412cbd5b255c1ac6fbd190324a55e7e - -COUNT=6 -L = 512 -KI = e05205d67c4897650a399ea68218c73114702d42bbe964c4a18da8cc -FixedInputDataByteLen = 51 -FixedInputData = fb115dd4b29144d04d335a5295fc79dac71655b3257bab4fe84f9aa067992adf4cd085abee5d9993ff4ff4603dd38e86252b8d -KO = 998af438df1caa635d15906be985a477d12115245fa4c2b1a33a1f0efb20f22b369767babb5b5b24044d7f054529ebd69d5cd569d67ff83eb5be32a5c1a85f2b - -COUNT=7 -L = 512 -KI = 93dd00a4b8c248e27cde4cf1dc5238aa461c4d891ac57ee4f4a3d146 -FixedInputDataByteLen = 51 -FixedInputData = 1ab746f90b4a9f611a66a79fe84b835dec2649e29c4def3c965c84d6bf05a2571d8491d34b1bb3eaf0bd9552a8a2c4977ca092 -KO = 38ef3741829684907d87f43e6202856207e607076a8c6296d44b980579fabfb8f89ca97716d27d4864a2196ea8fe16f400a40467ee17d57a0b6d95261fa6c97f - -COUNT=8 -L = 512 -KI = c4a980c106ba2eeefa3c0ee6d3677e02656641583e29632d43605295 -FixedInputDataByteLen = 51 -FixedInputData = 17876b1543580bbdcf8a13204493b13f4ea3146a85c30e2a84f9a1e4f05538843238a8948e706c1d4055d34ef5415c152f988f -KO = 3cc7dafde378cda2c94f246d5112b940eaa5b768c490ae3fe95a28fd55756e7d4ca4ca8d1d488d5fdaca97ffa78f372bf53e8e0e7fc3d6e03077054fb7779b76 - -COUNT=9 -L = 512 -KI = 7be724fd355ba5ff01b8203f989d313cc1ceda95a4858dbe97eef5eb -FixedInputDataByteLen = 51 -FixedInputData = 6b91b0ccacc5280a30579b2e914ab1631073fab7e5a378261cf1c1f5330e958a82e490847dc8a50a483a3b45c27831c638a44d -KO = 0d8ccf62b04b50e1b99816c30fa795259563753320c71dc0b5d81a1f1d7304403a0efac78766c9d6c07d04ee2808b556d7791d36bfb665947313cf74c570d4b8 - -COUNT=10 -L = 2048 -KI = e55a956ad3fef0f4db5d07b18e056c8f6e9d2ea95467df089a660506 -FixedInputDataByteLen = 51 -FixedInputData = bd7c40c6a3218534f428d2605d2c3e842055ef8c1c860ff2bfb90ef684bd7f3c6fefb0d7cdc7507db0f37f1dbbcc204762175d -KO = d8ee4cbd12b5916755f8f0eb040eb4765209ac0702c9c57310c46e3e29dee4ac2f255bbe3b9e35471aed767e460ce4d2da315d6ef8dc909917e7799c13ba053325b84063dbb4d958e006aa7916286bd8aa6c08613bde70e9eda16e349776321d928e6ef27fdf80061d28d7dea1d0f8c66c853583c6d9760aedfaf323a3a239c5116daefde3f7bf4914232d223c30f8905aacd6e34a205a18d44fbf2e218d31e611c2af39b47f6f939295be03e4be857655c17c0e67ebce27f365c2101823bbc07ae99f36783dc8d8580cc427e153d7d3b13a37d3ec95c366c2580b906bc64477d40f56619d84564d0659a6b3d9e562fec030ca6af04998c61ed6b9f8364e8a83 - -COUNT=11 -L = 2048 -KI = c7cc4f6fcc7dd93fe9e6a866ec779fe8cfaa1e02c1ff04776598589f -FixedInputDataByteLen = 51 -FixedInputData = 669671675b8d937ec016a2f5d8673f13c0399049202cb91f09c751160831499222831d88ea73a9826cc609c4db7b473b306afb -KO = 916fde80aa364483ce7b5743b525bdc3780412b48936343f10b100c81dfc304f3b4b469052f04e5b318ebf231079c1164588c2e49f96719fef5c290e364ef26f565a78cb8930f56fcbe6aed14716f4705bdf05b88f715e554f0064d9cae9c22a3483e157c833ba39d42f5e57f27ef2d2d0344aa93a7c9ce948f71c6233fa692c22f9394afa5a509ff75f404ce3957809fe20780a8b9e4d2264785cb522d4bda4dfb7d26c9e644a6e3a8b7bba72ffc008964158e38d2680bbf5f5aa49c7fb583df6186af22ce6e252ea7679153dd95ec4b9fda47ef9ffa9fd017c83d7229c9a870c1a4730ba3725232de9e9ab6f7bf8b3e73cfdbdf1d15bbd68ec2772ce86ae4e - -COUNT=12 -L = 2048 -KI = b5bf7fac4a52d75b6d6d2f903c4ee1fd84e25ddf0104da14a5691c36 -FixedInputDataByteLen = 51 -FixedInputData = b24d99323808956e88637b1e17136898c555a2858dbe84dc8226ed55b8e6f72b86d78e2c1553548b0e86ae2fdf67741738f440 -KO = a9b4462131de9a569970d0a18264b8965838b0ed00e1c8536b9768316d000db49697fc1545e51b52a3f586ab1ca0f498011af96f66b35f18f6bb2b791fbc3bafde17ea747054ebed965e235bc1cd1370e0d9695914f45d22bb45cb558b61edce816fa35b8b4fa629b181ebaff0fdcb046cbb5770337405ea7f6a19673a2e5513d81abd5cf28e18b4153bad23feaffa9da3400e73bbb7a27ef1af32d312fa51934d1fd45346db06932fbc01c676faf608d4e546d2fa724b0876758b4e76388527e00fedf5166656026218afafeefd7b0514c101f1ed7ecfcbd7f869eaf7335d94f5591f106056fb4431c6316183299784b870116b876f5629e794151c867c47b2 - -COUNT=13 -L = 2048 -KI = cf577c69bfab5606de85c5dc5e58bd2e2c121c6999c54c27a10c0d64 -FixedInputDataByteLen = 51 -FixedInputData = c0c30000fd7ea9aed8a8e4f1a726ae3c887bebb49ecc1a06d0d70688d2e8069c813729f6fb6f9d79834a81233b6b3638f74365 -KO = f725554eb44ed8aa39beb2b01aff0c09d130ad5b4eb0330c8e28a438a55302966c09e075caebd08e52233967a8e8e474fd499cc6b044eb099f3804de2de6e83c5af57e0d41b08d20818745a5599ff3b42bf042a6bbce4120dc6b54028237db3d0d7560476acff69a1a6c571be77bd02e18c7a1aa91977cdca2786feaef09c3aad5e1d246aab694875f3100fb2c417fb43f71ffac9241766d3443a6251e5fecf54745d0cbf9020919a6635692875492e5564c9b7289c072d6229ae48bb0b7ec5d91ea84f842fde7db42fca665d109cc6be235d34465350f966629a200c46a8810cbeea955256e40a5b117ebfcb75614ac4c956067cc22869476519ecc9501cb87 - -COUNT=14 -L = 2048 -KI = 55d3ed399e09bcedf007739751c21a4e4300e0f9ad75a088e1aa54c4 -FixedInputDataByteLen = 51 -FixedInputData = 7bc21f4629f2bbdeea4615c0cb0ae441da9cdf449825065d5590188bdf83dbdb7fb556e5a8e7a4c5cbe0e111243c542e0e00d6 -KO = 82880ca2d46b0ef46b20410858a57cbe7dff9e2d40abf7c44c80705998c759512fcc0200d7a3e50d7da9f0e71486aea44c7a6cc9167c5bbee4f9b2f505b0b3b2e511bc85faa6328603ce8e4a0bce50fa942305f4e0183dbe393801d187c8c4a19b3abdf52224cddef3ad9204e669c5df5f53d0bb0b57cad2a34c54ba3997bc53e4d973d1a7f223592fe0818cbaa1bb688d3edbf5f061d4222c019a82f152b00646f8b35dbe9674899cc5f28a952b34f1377a39cab2d60d026b195f4d7800c581a9345c995ce0b9e542e52fcacbbcbdc5a7ad1b7a720af6a82f151b4eff029f06642b5d7a40ad2ff0486c71ba7dc3ef209372f22909b4564d94333722e84b4dc9 - -COUNT=15 -L = 2048 -KI = 0348db912b0970198d9be3d28fdb2a742da330b767594cbc3a2416d5 -FixedInputDataByteLen = 51 -FixedInputData = 3e54d78b3fbeb12a00f73101b2a7f6c0d63879aeeb7e93441794098f82a115c415b38a3661bdd4aad2813d646c4468375f4934 -KO = d3bda0e24693d343956a42165b6c9dd142f9214f94d3d2bb305be63fed27d4ef53c7b7054695b2407fc00b32e00bdd6f4c9c01278ac94f081879be4b45f19005fc330f054d46ad1c03b489a43012cd6bde419decda407db030115aa691153819b517321feaf5f62a17da16f4c55b3907d47a536c4938f6af3c901e90a1f0af9fdae524c0cc39a7446e70f070c9613358f90182e999b31ddeadd58caf59d3b4ed807af1cbbc3736dd9af5b8a92d239c954d16df4a0fe9e86cbedf7a09ceb5c866596290163021dbda29c1b176d15673295c7c68efc8836491f3424623d7ca09644fd01f80bf20a40d0236897a9e5f9c05f7c334368645fa05ee983d94870d9fd6 - -COUNT=16 -L = 2048 -KI = bf36d674c25284dedc24ce82823f3dadda848144897424272f4480d4 -FixedInputDataByteLen = 51 -FixedInputData = a774b2b6b0772768124d8d20ea72459f99bff4ff19d7ec3f74595a9341693ea2ea447429d8474582bd001c0fe533e7c3e433bb -KO = 7fce4d2b0ecdabb0da6a6040a9a390f6a7e7d009c74147392244e2fa73a13018e90ded46f9a6101015e338ce06e81531c1ca461ea0901bbe067a3e62d8222c3bea7c6be1481ea3107663d71395f89bc0a65f57fe858120d31ba7ef7d2ee85dde3dda43a85d61f0935da955262704c6f1d3d29fe12cf05935144a75d77934364ee5576e3eb0c13d9947fe50e8b72ed85f422c385eb433078c175b6ff1a78362486fd7fb84152b4b5ea202a8a1ab7a99826cf52dee32b0bcd0548d0fd604eeff4c6d87c132d24716ade5a21e3cc964ea333ad7eec589cbc1e46cd0a1c13de13a9fb1bf71bbb694da6b60235ae08ff4ad6c7bef3f08bba7743f99248f8d2bb083ee - -COUNT=17 -L = 2048 -KI = 025d8e1d08ca2c8254774ab3a7fdd89de8cfe376f4171b90415568dc -FixedInputDataByteLen = 51 -FixedInputData = 5d1e8a4201a3e8c085d6701e8be3eb9f44caecbc1dd62c55e20ea476c308e2ca7b043ddd8f944df6e8bb7725bf68fdb11bb5b5 -KO = 6a31245c82658d90c925129ddab23f87392cc86fb537f67644f9e2f235224c19cd56c496a5ce90aa866b68e2f4aa9b8b64a715db8f9a4961df438ab6e4b0db54377e3999004a74f7b1f096ed69e55169894cce5b06f6d2d7c70955f73503f12805a2c2f192b8c1a8c69432d6daedc2e7344e80154c1d132148fb6c37d2e9b526da79d6b57b0703589bc1aae2f350df12a830679f18084942169ae6cb3f709751651af7fab14cd6ffb9ec2477deaa64cdc5ed706d904365045f06298c84b66b418374effc3371ff305d0a725043883845e44c8e681b8050fda6fecf202e5f557a1b6078a37510814cfdd04534caefc830804c5f39459db73f90e09a9c2f13020f - -COUNT=18 -L = 2048 -KI = 43975f09d49e7c6744860a40549ee56605a117fab8630bf0d280a0ea -FixedInputDataByteLen = 51 -FixedInputData = b50cb323b5e623778635487a98ebce7cadc4dbdce95d22491d0044a2945785b0b866e1f2f0e3bb4285cec80c4f3d9ffc7687ca -KO = 1f6fd6c5ce8928442babfc9351ac4edb401388f53531d3611c856c32e86a672ec1debd3922ce3d8eb6162eb7b55e115b25dc15e5a1d258271d5c309fa5b771f7dacf4ad139f5b7ebf3bccfee94becc9dc4f10ea0753e269edf75a72e2875e842661e040ef13bed8030850c642e984e52d145fff4afa04c4e764b0d467dfe727dcf038798b98ef1ab746c3ab0bf1cab101140aaebe9c63a1ad009d98b8636e562371a8d047e03c46949fd4c40e13325a42034645b139bd7b4e4fef5751bf129bee4d3465fc68938cf23dee4b70f4084b885a5ccef94b0fe5a96b49489175db268e5fa313bf7f2329657a8d2a40eef6a54ca850cfd07c8f0898f2242aec225a6c4 - -COUNT=19 -L = 2048 -KI = ee0c019aa3111b916f6673e67428c77a37fc5040654779ed13906960 -FixedInputDataByteLen = 51 -FixedInputData = 67639ead922292621d193b30ec9e934ed491557ec8d6bdc8f9967bd5fe9a460e3af4472e76b26f79b8c742e45c7f5604513456 -KO = 33ebc7ae49498af22acd151993d5b5a91f7a2cdef6e18781868ff4e5a111303c8d8f48e3297ecdd25ca02f226388ed5617ba5911ca0544bf78496ec2644dba45256b16225ccc16656914825b33580c58f271600ccf6e33a3a85bec55070e70d54da1ec6020429d4f297388e5713f82716f85e13eaddbdf97158af1264d89b00c851f7336de37d95f81fff070998ed676845bfaec1f0e00f564bd7e7fd361071fa27a564730788e6313b48223cf386c5763040ba67646b9a9af67670e82a31900b6b067c8bce5f640b6e7178a1d34c12019206b3d51a481e3f90866fb158cce0602735221a38254196459edbdff37543493dffaf77f8095899bcebe0dfc86eb8e - -COUNT=20 -L = 560 -KI = 0d13f50ec281b80900ebc5a25c61ede9fe318d54f5359eb9ae34b0ac -FixedInputDataByteLen = 51 -FixedInputData = 4a235de07a167d6c204faed1d9b6619e7ed66be3920e4953ac617315f6a734163cd77ac4c23829436f861fcd6eda56643fbe74 -KO = 31471a52c72656598581953835197e4497caf9dc20a0642989e489dc1c02ea18d2e1ce66ede28612ae08d900b7fae8d3ae6cc6388b6ce2c902ca712d22c0debd74e78cb86a8d - -COUNT=21 -L = 560 -KI = 7bcea08de24c595cd43ee36ff32e02bb18a21b1a3cb834429f150666 -FixedInputDataByteLen = 51 -FixedInputData = aba4a1712ac951feaa450dfea22f7d8de18168f06f8826cd1866901e4a76e3c14b26fe3b1ba9f7efcf0a2501815c8168c5b7aa -KO = 4cb9a3a1ced1c1d4ecdb4b46492795b8405a0aa8aa10a628d98e88418dedec43bfb0bacca195a03ba75613c9da224dea930fa6b0e7cbf4f9fcc6130fec526c1f75613acf8fc7 - -COUNT=22 -L = 560 -KI = 27a3a0ecfc045ba9dab885ae2769d49b929229c9709df97892c265b4 -FixedInputDataByteLen = 51 -FixedInputData = f3aed5fff26aa8bfa1fb68b3b17e5f0935a4a9a14cf15fa6cb1b3907b2170c1c6839d179d085a51bddec9e359c9e67a19600bd -KO = afe0095fd195dbde3944093b1e14ef03ea61281369fd26008861bd2406740c155d188cb3584005fdc71e05954e17063e0d1ed6e94cbc52900541a4a59b6c2a5c66b121b01707 - -COUNT=23 -L = 560 -KI = e59ecdd72db76b97b6ffc554738ca388892646f1f54941fa5677cafa -FixedInputDataByteLen = 51 -FixedInputData = f3540717e079cf3a747ba11f22569b7dab4f913644bceb5208dd52daa8de42145af365b7da1a02342ba0802b22c7336673809b -KO = 69f9ea5924ed1f494a8e69f4d9c545bf0a813360b79942c6c888f79e1e6de5e1d1fbf56edf0ea8c7cf5d49ebd4f5e8cce8598ca8f00f47180b91aed7b1f7135c592fdebfd877 - -COUNT=24 -L = 560 -KI = 01f91ad90a67db6f8a9109607d8d6ca47bcdf7f19626b418b9d6a030 -FixedInputDataByteLen = 51 -FixedInputData = b0b52c84c4a725194ee8814daca5833d730f05c9d384db11c9eae9bcc0f015264faaee095344f4a237ab66022885d1c857b2cc -KO = 42bd6a94cafe45a4b8834a210ff6e724218a1e23139c18433d18e15327a3968c9c460fbadc12125c884231fe8e067185a5bf021bab8100139bdf1bd6115c7b0dc084b541cdbb - -COUNT=25 -L = 560 -KI = 8f0e1ca6fe28501582d216853468cc856069ffd4e810863b914b42b3 -FixedInputDataByteLen = 51 -FixedInputData = a283e59c56a862483fe165b5084766e05a31761b6b6e0ae57cc7264150ec92f49da6bdf1dc2fb46de5d7c75ddc5465aa713a60 -KO = 61cff2d7f627ee8e422f6697fce54c6157a4e8c5163d9d2ee95f063008b0d37307143f5c35e044375b0cc6c2d0b21a07d666c2747fc325a6b44a892a1ae06fac6631d405903d - -COUNT=26 -L = 560 -KI = 72ee7629c7cd7a1ba94552d6cffd05e5871fbf4500072746532ddc43 -FixedInputDataByteLen = 51 -FixedInputData = d6af47960ef427c2cd513c2713f70cffa0f36230be99aa9cfe5aa9274bfdf22245fa76e5ea2baa70d211f3c61fb90b48245249 -KO = b1c6dab4b1f8bb6e779e281804a4c2b3f23c24b9b6d081c436c9fe3007d3c96de8cc301e5e2b5f87e90f5b2a5f0ce9efaac21057de6a5534a47d5997ea1d3348bcf2e96f7837 - -COUNT=27 -L = 560 -KI = e2316fa61f165d19f229fa58e063ff442e95a017372972ad2620ccf5 -FixedInputDataByteLen = 51 -FixedInputData = 3ab06c4c35b020996ed10a7bba2534301e76d31b7112054a5020383b131093daa01c2d9e37a9ee88f28f5b2b21ef6156444286 -KO = 2054fbe86776d5fcad4b18aafae53a4b2ba8e6f8a2d922a2c1d59fe0fc633e06add35142ba9ee704edac3c7426e08583ea1c5e43d015c70155f6a8333d6a56625864489387cc - -COUNT=28 -L = 560 -KI = 907671cd6b78834c45f1d8ed89582d7f6864dfa8febbfc4e30b96065 -FixedInputDataByteLen = 51 -FixedInputData = 5d3cc3cbb97db0a7a35f1bb10d5006db6a62d40d6c3d56d1943d9f02960d5f5aef69a1090898a0e8b56bf275389d829ac2a7d0 -KO = 3e03e001c0d0f0f1b1aafe8e212a21d4c99f1cae73c20d5e9a34990c7e556298632853a84c9a80a4b8abc0c3a6c697c149fa3681c47cf3c182624bc48c72874c87c1ab646e79 - -COUNT=29 -L = 560 -KI = 6c48592cc7439ea8dc8437cc51488794c684d483a4a1f52b4e101ff6 -FixedInputDataByteLen = 51 -FixedInputData = d9db8d666c5861a5a56a0bb405f118be07170ab6be3873bea9da7223e795ade3eab8c120a4524f2a38517f9c3fa54c6732ca6b -KO = 46112dc8aedbf658cdf87de7687c4bf7b32225c67f51799b15e6a4cead4f53758546577a1c5ae04f88d47740ab978a78e7edadfa3dbce3869464a151c3dbc8d95dd80728476d - -COUNT=30 -L = 1600 -KI = 79cc90dd695c6c34887fdac7e8e4f0c7f5fa1384ce9dc5c67a031619 -FixedInputDataByteLen = 51 -FixedInputData = 66887889878829738965a9a3553d490058948a9988157f731782d62e51e4d2575fd63c1d8a4e1632ba8ddb23901fd455452afc -KO = 090e3dfa0dfad2bb1be927e439f17e5c72daed55cb46bac2a53d6cce1591ab269f9ff0246678039007d5ade60e080e2f8e42de224ca7030a5f88e7ec7fc16cd421c658a865f22fd6b5d03e7c818c5060bb40d68b57bc4cff837ba310a5f13ab05b77bc8c325997fdad8b5ba24aeaafd42b4b415c2036ac4939b0f6d355bc5bbbc4e27aee8ade1bcd406aa4d0b6d008f20305d895afdd23c0da3275a59cf596692d33cea68a57de50add8e46a8d935a2b020cde5a8be6c8c45d213fc812804f1720ab3646df28f47f - -COUNT=31 -L = 1600 -KI = aec4de6a887dec260a903d4e217fe78377d575072cd0ff664d8d8a03 -FixedInputDataByteLen = 51 -FixedInputData = cabd6b63c88d5162695d51e44fc3f3ce95828ac21c8816b837eadc0c260cccda4bf7b30733938e7e6f9959f60b4085880add4f -KO = fbd11b6601d0e3e396dfdcb30df0416c5ba00fbeadec0efff2735fd1b873c590224634f20c10fb1188a5d1366e642a904ae37611e972a7ce9c99720b4f3c0ba271bb557e148634bbdb2a7c8a5d49ca5d93295311b88f4dccc41f7be9150000467c92489ed64e1d4c5139d46915bc9f453f9e5fea7b5287b52c65f4a923cd6e029695f138c9e7805356b1d9b1c18db16142e662142db0e56c80d917895e14e669cd9366c89bb72722a5c113dc8c1266764e78f5d7f40487324bb3607a82611bcf31f2cb0a4510d816 - -COUNT=32 -L = 1600 -KI = 51ff718a3e36bcd001962093bcbf2f2363be3916c679ec15fe41cdf0 -FixedInputDataByteLen = 51 -FixedInputData = 55fe877f1b91fd2294a39d5c195b0814377186efc295163a6d712a165a12f2a92559a9036ba5ab544acf0fc8a47f2fd011870e -KO = aa2ac6dcb28088be74d30b26ad0cef50a9c65a421b15890797153922d9bef22c3667b273b4499fa0e341a1f0717d42d15763c22174af44cdadbb9d674b6c9788aa64c0792b63b0f47f09a32c92d0452d8f1fa4bf043c6cacd8a522c18eb102aedd764e334a8d42370cd00d393f7b038559a9ed9b73899723eb718911ccd93f6aa543ebc4c1a5b89e21841f5f8d6329d2709728a33e46047c1fe599616a76874bed29a9a7e7791c99fa4a591cf84bcea36694feb5773b8f96b2314536507cd17a4cb9b08de71f68a3 - -COUNT=33 -L = 1600 -KI = bf1132dc0400ed828b0554e227a308ec34dbb4644cf03f34c43c8d4e -FixedInputDataByteLen = 51 -FixedInputData = 5bd76a1f07bf77771365d242d7bf6ffb62832019f1343886a0e7d6ad622a2393594881c5b240b4cef9437dbb374ab7e8c112e7 -KO = a2ad22d8852c79f365d39d7e27dc2a626ce7debd89a426b8b2b1816a49330ee4c72dbf89ce85618768489ae42f84f3341c68398de7c70eb03a95ae4b083e3c040a11107ba8a253c531eefbcaf8758ed7cba7e847c9c2a0280d331ad9709667cc11ee4d0f9341584154caf105a99c5e38d4dadccebe67426201b1d4f98f7a526adcc2d1190314c2e2686002f2f3b936383c089686c3dc260affb81dcd161255dad15993de83d3df35275783f3f6d15e359202a06cf674ec83a3082848eb985eb148a81f29ba563860 - -COUNT=34 -L = 1600 -KI = 62edb5935cd16e896aa0847a01b865ca87598a5b8522beddc7f6b71c -FixedInputDataByteLen = 51 -FixedInputData = 7b02663cea3a859b8172f0066497864fd9c1397b2ce6fccd8344d2e43b27384feadc50b2755ae6ef07d95040621cfdecc5fb1a -KO = 7320d2df20d487fe5ef9dd39a29950dacc77b035bf2d7f3bf74b78bbe2b33e67b0f1bb5369aad2796d3f553554a730ae6c0e43a5be08c4547c4485f84f9db3bcfb7de886e19b3aa31621a48b1678c81f25eb3282d88a2d5ea0c6a7e8b3ddfc555508d9bf7ac71e1634bc8811c5dd98f147387c75cb39c9359e69e6bf9cebfd860a79173bc0b757d0c79b73b1ff2944d91636cea93d0675cb8c18fa44863a50df2d38e6c708a15922cbc2be157d23f3d606e7904c32767e054cb701265139c31fb17b8b7020bbc645 - -COUNT=35 -L = 1600 -KI = b99c01fd00b932c5ffab5449344d9fb317589a0591d51ff05dd62e0d -FixedInputDataByteLen = 51 -FixedInputData = 87aa98f17c04aa65be3e3f41f3eab6a8356f6adcc895ffc8cbcfb702c12bd604e04bc60d4cb5212b14f015a8cc7c7faf0d3472 -KO = ba5bd07a050bff124387f2866cbf202ec22894b915aa25cb24f94cf102cc1923e030aafead6316cbed6cf21e7fc009f4ccf6e6bd6902b09172f86282de6e0704b685de4418c4141f773b36f1f1ba5a84af1338ea22c9c79c02e4e1bbd53b56fb1699a6a29d42de301a4abac7e6ac86c389c0e3513c2063be75fd7671bb0968ad40417b9501fcaeafb6c47a7f0217ce8b09a83d88d10dba08de289b22a2bc95ec5f68edac3e1f93ec27533e10f55795ab2c49433e493c0a81872df9ecde8b870c45a4f2c85edf73bc - -COUNT=36 -L = 1600 -KI = 787ca52ee134eae817e86ef07e79f53774e729bc70473e08f04265da -FixedInputDataByteLen = 51 -FixedInputData = c63d7886a4ded8480150deb291afc6950d36b551b15b2f5f8bf9b1fc45f3a5edf2e6b77feb8bb8049cc5284078e8a4257b988d -KO = 85dc1592e8dc06a742b8c00bc838ba2607b9cf7b8ea356468cd8e7ad9e2be4aae04652d6fa3fe6584d72d274f028f3929b82fef1e1ed5076c9f276f396774eeb0385e09cbd85f84b7594d42c0378ba944316fa4adcf405a427e42ec9300ede6eda0101d49e36b69b071e6a7c7b241d8362c55f5d90740db01f7492af96c57ecc988b19bbd079684af67d8c3c1bc609881b81f4c8ed7ce8019408fb83be65df5db9f7ed41fc95ddb47d633073cbe694568f64a8a8fafb5487bb71373ec176e646f81d878faba54bba - -COUNT=37 -L = 1600 -KI = c7e64056983ed82bd0c14bf06dd694eef1c249613e0ab821de818269 -FixedInputDataByteLen = 51 -FixedInputData = 278dcd2b6f40e33e0a660e52aa9b21f8aad71a2a873fb9138a265405906c2ae93cbf70c7ebdecbd42e5b3e66f03101ba1236fa -KO = 2d1c18cde80a8931d3d8a3b49fa71f69ab72253d3beb9ef3a578b64e4078d3269756909b67c9f1363feed1457b8e2f94bbb812587f15dc0ac4390bf9b4dff0c4ac663e249c2c0c74e461e4b0be6665d877caa347e28c6add36bf84262e2abbc947204a08d718597cbaa4e06bf648795901534c9fd3cd8e1f32103384e0eee1ccd51682582dc1f13ecd04578181124afca2e541190a695c003bd4370b2a9ae02c2df88799d9a4753d4ce0d9f07d6eb3d2d3f35fe7694a4b5c2e2ea95f7bc41a139767dbf19c8f3dbc - -COUNT=38 -L = 1600 -KI = 77d35f9e0cba52baa920c037a1f977295be793cfde00116a27e7cfaa -FixedInputDataByteLen = 51 -FixedInputData = cc09835cd3d6a5cce6fb15c47be0caaa61f4aebcd30d785fb46f49a81b5788d3a31109e63b44588e8c4856e466e3ee50e6179d -KO = 87736c71178ac69a332ae42b1a082359db6fe9746a52be22d04ba4e4a85845d444129bdc6ef39164bb35c4cff08c2a00bb395f39ae5b81ea83395af0cd25a218332466cefdcbbecd70c72d091f69ab2654f3224dded5ee33df40f47c0a1a436358b186da6b3f33d8de7858afa6e0d25dd42ed687625e52b87f239b4e135a66eae957bfbf036174c7f961a0f56697063b24caa38ee2920250084607f565e13b425260e81ba75d708f1ddba50c11b26166fe341b7be38a71571d0037a99e660cc144f21ec10076fbd4 - -COUNT=39 -L = 1600 -KI = dbdf05d6a77b986d7c65b67046a58d1abcc9d3e82e6e6f0563decfaf -FixedInputDataByteLen = 51 -FixedInputData = 17503fbbda101d8ea59247cb0d782d52a53f9d1eb24bff03e9643444451722ceb6130656997f6f72bc07e5dc73f67cd4815cf0 -KO = 29683a0b153d2ce695398fe609cdeb5fd3138b52731126aa51afe14c7de5dd4380e082687517f5ed6e87ffb37d624e96224fa514b224d9b2e1c5830c45c15bf8edba792e0cb702f9d8a513b8ee7bf441876c93a3137896db489a189ce1cc5ff81216c22bc55a5a46cfc9ae8159a12107138ba323b93477dfc840412da88f2478627245721ec6de4b3eed030fcad197e3dcf8b7684fbc01a5dc99b4ba48dcac634127d039c2da2dfd72da428cda0cba212a72440e223b3d924579c2e78d10ae5759ff3749fdc3cbf4 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = df0fab5b148815ba658c50f27f4b4885aa12902e500e944e127a214f -FixedInputDataByteLen = 51 -FixedInputData = 5ed51782cf0e586b788c4ae3bcbe09a9bbf5dd6440314bf0f179eeef31f49e07711752c8d9d9d2ee3a1c883a7952dae4d5d0a2 -KO = 10cf628bc07ad11e956a582e1a3afadaaf8189e13401fd9fac8b4c047cfdec914c4a5b26f34f5d577d1cdfeaee26a3803c19e134e5c089241601546f1755c30b - -COUNT=1 -L = 512 -KI = c55d257073181d685de4624f47a366fb732b37437678cf578334c0d1 -FixedInputDataByteLen = 51 -FixedInputData = e0773ffaaf38ff5a887a9db54b0c9adb40ee11a1fa671888f07161e1552cb730dbd88d5c440329c991775e76d2d7465ad0ad37 -KO = 582f72477b52e8e80dc6b44f7486530cd98c708da284c8b65137e87797d1ebd2515a08cc4498a8a88066da48aa8429bacedea57d124b45e1bc13eb3cb3722fcd - -COUNT=2 -L = 512 -KI = cb6f346f2a69ae97e61606b22b6afed3de2f5bfe229e3a97f638e0d0 -FixedInputDataByteLen = 51 -FixedInputData = 86370caba2847e64b366ae1a055e587cc8a9aa744f0d13aef3921ba74163fa76720488ba3508052dd13c43785d743c98d8ff12 -KO = 84a802153dfec2be384d27694bda1f9a0c2df48b57d5d5ff0f059918289bf6a89f2ceb0ca85d459c7adae6b58e70383d627f57d63c51e2d1e1c529c9234d8f4b - -COUNT=3 -L = 512 -KI = d187f64181cd8392bd4486f8a8cc260b505ed1f9894516e555a5842b -FixedInputDataByteLen = 51 -FixedInputData = 85d7c6cc16ae63c82f0fca5f6b28a94c892579f9d4a2e649d96fec5e09abf5b0a77fd80950d0f910a3ab35404061ca16460e95 -KO = 9af5b1187dda2bf5cb0b25d3a9c90aa137efcaf8d1740ce6351770587147366066054ca9653b82dfe4933f624928ebf57cfd385ef3020e5dd7c12176736fd670 - -COUNT=4 -L = 512 -KI = 3d046adc00e7ac306c40e9ea981a10fd5636dd9c39ef8a4a0bbf36c7 -FixedInputDataByteLen = 51 -FixedInputData = 18d20ae63cb726a9d5a006a1ebd3b546356c521b000b9bd37e937c65568bccb0f5480825bf86e5e0d3fbffdd822209a15d6b8a -KO = fb9f789db5c67ebb8f002268aeb28a113d07a7e022de2b6243d28f3089c38ccb083e80586bc4f3b233300ea4f6dbc41e50497887e68a9047b379e1f09e243f23 - -COUNT=5 -L = 512 -KI = b21fa92fdd41f7c6dbe0b0c8f077851435344a2d3beff624c1b495fc -FixedInputDataByteLen = 51 -FixedInputData = 23158688f43ce4a6f4b23644d6d9a8faecba6f489f882181f1d9aac5fe4829a2d075400bfbe5c0fa87313bfdb531f34237a3a4 -KO = bd7eee602fffbe26e0a443df9c7be322da29292a8b2acb0fd1f8ec206bed9302e4077de213a22c0661edcc31f92ff2b5c42b9ff0e41a03c74299213390f4f0a7 - -COUNT=6 -L = 512 -KI = 87fe4db2d150fe0b5e74ef38e53a9ed5db58e041d3409d913a4f3119 -FixedInputDataByteLen = 51 -FixedInputData = 8ff5ffb6e653630bc9c448320343d982f7c2bedda21820215c4ca5e53183cccd8ec951ad1d3f0c5d0e2291d8ca487bbde8f0d3 -KO = a31ea29b0b50a632293bf21c3c1cb67a2bdf3af985f9fe0f1935fba8b3591dd3efc881d5e9d9f869b54c3e6220b68ed46097ed7087105da63957736248cf4e45 - -COUNT=7 -L = 512 -KI = 73270a2c3845d2c46b52217594cb0b33565b2cb2977b03cdfb3f2b51 -FixedInputDataByteLen = 51 -FixedInputData = 35b23f6e6c84d032e492bb9a83c30417351eec4fbe7c2e9ebc34e15399992043155b00638901398c6a44b72fe44e603a1a84ca -KO = 1f801af4750b042fc8f4f825c5bbe047e789611eced771ee87db9d69f445d96396c61d48b0a95d6c9619d72dd2e5f16cda92e10ea516da91b585cc6e50bbc48b - -COUNT=8 -L = 512 -KI = 8ad87896d242f540f7e844f30a377f1d9a9537c87239dfcc97ade376 -FixedInputDataByteLen = 51 -FixedInputData = 505ae4d1decee2b17323e20e03ea2d5f1bbb198c05a7fa2fe8385b7b835d2c056a79b1fcd0bdaddef9ebec1737d7ef1f74f28f -KO = 25b1857cafbf6d79739f3226434ab9abe19196970f0e194c2da1042ff7e786cd4bb5b36b7c042163283089e7f571408221c59ce66a4274759c0ca257698826d4 - -COUNT=9 -L = 512 -KI = 90d2f8d2e3863eadbf476f31c6db8415a3cea3e62a0a0d46d847eeed -FixedInputDataByteLen = 51 -FixedInputData = 3e07a7d44ff5cc672f4873437b723efbc96b9dab4b2530fd44c271fcc75a72302a8bcda1d33ee997a83a34f5d939396871f44c -KO = 78c881a9e446b5d77094d6fafb6436165bb93fce312a969f2eb0d93aea474d3de3a8dfe02bed25723ccb0bf7b29f008bab3e83b19e3dfbc56657d0adea767773 - -COUNT=10 -L = 2048 -KI = b942278aefec1a69f1896089be098835fbb2dd73d584c4a5dcfa6389 -FixedInputDataByteLen = 51 -FixedInputData = b6f1cd55de4dbbe47d12e26faae754de0fea0ed30a354f3225acc22df8fdfcdfff4fbfc912e06719eae9d4875f4a1fb68f131d -KO = a50e9897853a4bf4b0801c1cad51c315fab7b56ea05fa198611a85a952f595d0f16caff44f829cc84ed812d97c53f0ad1ce8287b78da252a7a18eb5f922fd1f77eb305e1c108c3a2d0f7c32581748f48eba29e7f40fdb2aaa322da0050c998e2a121be97cc0e9678bd9fa2be3d15e7e3062f4ab60a13567f7b4ac9ac8e13ee714566b3d38cd3fda2c0cbd73f6470459714558a519372f69ecdb3dde964ac2b98eb6bd702c7bf1cdaa435eefe2bb1d99aafed08f5dd23bca8ef2c67b3a1fb75ed0324b2709e273e990d28d7a0a23ffd905d475f0131d38209f684c4e2f4a9e703061bcd21dbfbbe54821214c3324461d8b9bbc82542653249087a672d3829e1fb - -COUNT=11 -L = 2048 -KI = 4aaea983ac811530860af0f1a81a525e91c9a18d5523cc756fee20ea -FixedInputDataByteLen = 51 -FixedInputData = e2dd51ef750e22970470cfbb365fe54ab637928f93a344dc892c17413116e3ea7fcec4173a269d7a51036e23daa338ff04e8b9 -KO = 7b57e38266947d1deb56c77b0aa58998c401df502fffc18d64c3381831c191b5ec83a7c9cdeb7e0dc5d9c98b70cd414ac9228fd94cda9b36ca5f0b7245724bdd71c7ef5675e13948853834b216ac29f823f6eb575029e2aba82e12438bede0adda537988012d1a28a1ea3d09a5f3521c242573091db29474fa976ed9954bc33e1abb29718eccca36b5743788be8a640c8eab6320f0767b37345db3192e1e8dc33a1ae4765d37fddbeb3ba2d39109d90728718b8e8fdb9bf0e63fc96e0e0e4f87def11b5f9c0cb4ba89c6234e19f25c2f2e471c23f3abe0c75f71628b7f3374229c2df5e9a8800bd03aa4ad3705ec4f88e208b5dfb0ebf096211a563c7d6eaccc - -COUNT=12 -L = 2048 -KI = 8a0eb7ce4c6aa2799ec5c75162a43815587d1191b7a1a9a7547f7268 -FixedInputDataByteLen = 51 -FixedInputData = 588a16d4129ebe94f5d18f690ea6f86efd789121159f8e2664e8ec0c8b16d61e598fa020c1ec13bb435afe19bf6661e980f964 -KO = ac16b3bffa301bc5cd130be4d2524e3526e2c381c3b9dc496ab900161929683ba79439f259b288ac74aa16a9abb12bcf4fca7b83b4cfd38ecd840c4637870ec277ab5b130ecd5a3b0833d2a6b5df4e592f396e3027d022a47c985de96fdd810aa4f12d74c88d58e9584d0a35c66f6fbb3c0858c17a30fc10dab0b972b43a1bf95e47535dfb56ba3a73db5589413ce61235ec5dd5a7b768b9bf4e158536e67399f869abbfde66276a25511ea568198bc30fc4900aade80ce8143ab707249331f22442255aff0a1300539f6e6e2915d038312aa9130446309fc3920b515bc0a202ce91b7ba383301cb0e58ea34a9f08144d26d49c9b066222a614d17bbeb01eeac - -COUNT=13 -L = 2048 -KI = 5ec62d7486d7315d89016aec75414859b740324b7eec2383c8890cd7 -FixedInputDataByteLen = 51 -FixedInputData = 463bc205630893b3b562fe584073b801c0e2c91716fbe3a9a23c501ed16fac1b43e96232857018fbf0dbc66be0a75d7945aec9 -KO = fa8c9c4de4890d2e3367bc6de0f2d7c301e5182c559eb97f363888b61c2b9667453a204e84cf0cf8b35004afd420365efd1d5e0933fd149a8025b963bcdf74b591cb2d7b73dfa24a69e32f8c531da7dae3075a9d44bb28e6bad9394903237ec86f4e76ed5505290c4619ddeadc7d81d08d934687785ccc5128b070df4c092a3183c37fcc6bb925e8d436353fbc306bf66b812651e7c75721eea1578481b1bd3c29048e2fa0da8352c9da29ef27b983351feb0a38b34191e3828d4e13352068d53ce12c80efe0cc9fc56fd6ad59228edfb7bbc6c5b6b3a94a59bb203893678caae7340357b296f717c12ae6e6913f82a5fa4ebdb29687c36eef872432e78bd129 - -COUNT=14 -L = 2048 -KI = aba40f3b3895b882c8785383048a75f2df223c8c7249e8414c33e6c0 -FixedInputDataByteLen = 51 -FixedInputData = 2d0f2a8542a08ec6049dd50cd4f541400dac1afbae9e61ec3c756a8ec1cce34fbc200661e856c28622c119fa10d0cd0f740c0a -KO = 8e73ea0ff9295f8e72fdb92056d53b3a520ee377f59a607b9aabd4441c2a387cfaf495f05e4f01d9fad8273578b96b860f072b48300a17cfdb4c5049684cf43175fecdb62c695055605fb1c47b2dd43caa7b0a251eb100e996bcbef7fc533e0f105f8e5157e01020528c2cac0fc209553e6c66e09ada082d923d46ee9168063f07812c24ce8fcf80ee0a9d2f4b5f5ba707b7ae123a5cc0bab4fb9739d5ea9ae64328a4ec5569e1cd6712e1f514649e26ef1ed6c312bb24c212e95512e297120c05a09201db289dc5d18ae7cee6af9e519e843d52dd076542263641b94a54b4b603510269085ef90239a3565e7da5dcde999311857ee6de08a476cec91282e42a - -COUNT=15 -L = 2048 -KI = 60658d0edc79e695c655af2bfe26419e0f5de0032f78be06a302dc07 -FixedInputDataByteLen = 51 -FixedInputData = f56c97314e36978e5de3591458c9c677c058571bd3e717145ead5d35cc59ecb0f9def6a5c4f096dae2c59675dc995972075df2 -KO = a43001b927e7e99f368e9e816dde6fe162f18fc46e0afc4f7ce0cb1c53cf14c902111a4d7c936d63ed32939dc8ece33b17a12175a12aa8a841b9297019463772b201989e36b97715d27c3d0930a746a0de368fdc367f7dd5900df07338716aef64ccb97dc828dc754a0b3c8abd59e950f71aaf0b4edb77e1c7d59cbbbdf0b2efb3e1c546a7986bb849eba94c8ecb3796af73deb4470813531ba9734859be83e3a9597246f9bee73cef03553513e319e43e0e524e054facf3e9ac4427d82f54d2f82c920d1ed576bf07cf2ad0a614e4eae4e5d23c637709cb3d247e299e51620f8b5d4a9a6f896e90c4e57d05e68fef19a5786388b3b332e35b65788f39f1d60a - -COUNT=16 -L = 2048 -KI = 912488a5cc87cb7976a69aa0411e224c801fb0bdc6592d5fca7db5b6 -FixedInputDataByteLen = 51 -FixedInputData = 50fd1cf235b0ff5e3795aed3b0561befe772b2a420f1ee22ffd4b9b7e71372005663ea70c123482a799cfe3f6480bf2afe78ee -KO = 6a8fa0602855914f3e161ff8609b08527dd0967b0ae81f37df0f44806e5e39a635582e863c01cda6f7fd9ff2db0b48a0e4efde774220ee6222b7a245490ebd1168f7b532306dd65c5e6ba79e576b523b177ec53b5c03c5a5bbd46bec9050d1638aab211e19f89c7c9fe959935f76a6df12b5735f5a26a759142ed68e594fd0d78c9c03d14cdc4b218dc194a12e03d8a25e08368451964235ac4e127565e04d22543b7d149975a7d9782a46f709e87d60a2fcace8735b1566f59949388b1913c6e58f1ef6ab80167bb03d489594c07d3e3814253de38a173febb56f26e1f90550fe5de9946572774aa403d28c15cbcd85d947a7beb59c2f0e142aeca6f0a07538 - -COUNT=17 -L = 2048 -KI = 5243cd9d2da26a038571976426bf41cb92a168055eaeabf43f2e277f -FixedInputDataByteLen = 51 -FixedInputData = 396722eb4d50dd8dec0a076d53b16bde023642c1eb2974e17646b08662874563a6303f346ae1af7420a975650f9280308ad1bc -KO = c09770d80e5c51de878e9f9919b1ee16546b40f7f63a9de8aa714bb167f1cd7e22f0167d4ebd9b83c89aac455de18fae8a949c19648802a9d536e26ba3a91537d044c851a0d7e809b9379da8be33b941ca4216ed0020866f74d6747c380fd04d85b2e6f8a882d7002d229402fc3b515aa75a0ec780bc36fd705d845440dd94df78574c75f019cac63f39ce72822830595c16f7a0947a90340aa6d484457dbbdfdc492d1c4f4b45504a035d36910e2cfe5b1c66255c2ca47ec4287ff5a2376cfb23b73bbb31cd0ebd568e891242ecb9b986033f91e22501d8a6d06166415342f896c2af269359cd26c122b28c3d65ed081db442979028015d77c096764cc402e4 - -COUNT=18 -L = 2048 -KI = 31e394ddfda1140fa824dd0c01554e2eeb3cd60795abb388923f7e09 -FixedInputDataByteLen = 51 -FixedInputData = 7a7a6adc6d9d9e8347b01fce883b79ff27b15f9bc6f03793ca6fa3b01c8885fecf0d52982d101f174e2d4b55226af1c2bad36b -KO = ca50f090b2fa69cb29b9e0311da728966643d0b88487b1e8bae64d4ab0d112d57734cb2e0e9a2fcd21dc4e3e53be22fdebb02ceb9b7eaa40244fa990d62e3cbea245e251d63b21a66116f65151cfd0501c520788616f5d73b217bf0be2dcd597a7853c1c924e0fdb76a101a16407fb787d263eced256f49468e685dba2485d7ef05e40a76f7c1dfc70aad6fb5d34fe236d7f284b3971832babf2c57be4fc1e039e4cb50dcdcaf6415d5776d1f85dfafb0f6d51ff1b583e967c6890749c33b77bf3f2b065bddf7cf8a9b33d4b237d501e7eae00bc60ce8a9b46ee57ce8f8f0a95f9be2b1a87878bd4aff0f88da6b0a0be4a8dd7b2c8e662408a0da59e4afc09ae - -COUNT=19 -L = 2048 -KI = 22de82e1edb94a97b1e45725416db3e471888297c2a3bebf5a02254b -FixedInputDataByteLen = 51 -FixedInputData = 51446d5fc9f58f3652be477464e9ff68d3c83b1b2717cd9c127b778c3c1b31f7cdb8d92762ae80eb2dd4a04644dd798b8124d1 -KO = 7191939495d64a20929d038c84d699a4ad2b56c49e8ef21a977142ad91e4ed19f3ac0381a14a43a4b820d2eb79dcd081300dccdcfa14fcdc01a92fb986bd970e52ae316bc9852003578208332ef5c796c33bdba1c30d392bddf80507216431df686be7763b9cab82f7df7693f74596d7b7467d68a1d9a392680b67444afb263fbd5afc1be7a000b35450db81822e3911a826f3889cecd32784016ea7bac903957bde34d89a0ca9df1983e7821aa94bd336306552090dec6909d3871f027fbf2ee5817adc32da306dcec3c9828ebc3de73520f4d1dd71d77269c97cc77485ef8b1111d0baa227a705afff4e5e5e45d2f4ceca5654b496b7ae117b9b2dbe04a454 - -COUNT=20 -L = 560 -KI = 9e760797a8718c8a03449c8e2417bf8a88135860a9e5676e26e226ea -FixedInputDataByteLen = 51 -FixedInputData = 2ba9dab0d8e440d9ec9207ea87b8bbcf87a639ef67344bb0e37336c108479f59fe815f76e3c2f0fdaa59875fc0668da1655d17 -KO = 36843f26c2fed9eeabaf276a136b3a0e13c31a616b3ec24e09d204be9f33ad534cc0e2f1cf87f1559b4150e679b0a7564d6beecbe002929c11b847550775d6a892eab227d748 - -COUNT=21 -L = 560 -KI = b917100b86f95467c03d5721761f822d030212e4634857911dcd2af8 -FixedInputDataByteLen = 51 -FixedInputData = 6e04ecf9618ef9ff5aca02937455834ec2cd0c542e9ea0a95a1bb0f939d8d7d33a8bba8b09dd866130c968480befcf7fb76dd9 -KO = ddc0afef84c6f84d657ae27879cc5fcd44e4b8e4bcb69884bb4c910a5a1d178da35b0fedb0e41b5e1425aa4d7420759fee1beb479202406d13daf0247e6e80a1697dd2297d78 - -COUNT=22 -L = 560 -KI = d6096389400b27edb0a2ef0214054cfc67aaa2e8d93e52e2c8cd0109 -FixedInputDataByteLen = 51 -FixedInputData = faace88adf1e86aa6dba59967c8c62074df669165e3d37ec3288fcebd9bdd17978a1a8bad466dd541fe2ff0313f2c2dc1dec66 -KO = d4e972ce47d0ebfa3c1aa87382eb8e19f3dda55715b36ddc7a5e716261e82303a32d1ddf4d1da95dbcb207c82fdb38c1789e629d0051447347f7749ea1ed211b833a01c32652 - -COUNT=23 -L = 560 -KI = 2809c399d7081fa0826cfd34527299ab7b035ecbbb73d1c6d08e495d -FixedInputDataByteLen = 51 -FixedInputData = 10b503c221cadcbdf2febea9f664c1b88c12b9a7fffd89f5916f8ee29abd82aa7383a96be1848b70f4746c583617635cd9bf53 -KO = e7d526c34df59c73ef04c19e21e13077eededf970940036b31b8b205b9203b8882c00fe5a5a3fe3e8d9a6a94754f5c42e11c65faed721bc38df4dfe1aac76889bc0f601abea4 - -COUNT=24 -L = 560 -KI = d873257c118109cbe8b9f282461f6579d709edc4bdc02ace466922dc -FixedInputDataByteLen = 51 -FixedInputData = 1bb620906c047b7a736f249e8e6c3f38ddfad922f12f3f4acf6e09b3afe81bf48635ef78293d11fde9b32d94a636006a1fbd9d -KO = 1ca98a553f529b97dbdd01e18d08c6598d89eb499fc0eb715caf14a33f06863ca88fd196e5ca284d6d144480a2d347744b1b80c8195a28baf6bf917184a715437e1283c15b30 - -COUNT=25 -L = 560 -KI = 033f3aad242f79d1fc6205eff05abe134e6a95a1f2824e44cc94d14e -FixedInputDataByteLen = 51 -FixedInputData = bb4f075891f74f13de6fd927b08686663730ab33c448b0bdc5a49e4d3eb03da9fc84e7a7db08f484f36de1433fdbba59354c1a -KO = 4779cea8d25168024997ae2f1b804f50677d529b2f173b5e8ea1610183797c77791781e6fe242e66542da6385cd4ed02539b433ed620896d2c393c6d1f33199cd613fc62e53e - -COUNT=26 -L = 560 -KI = fbc4f9e7de70d6057a5b12f2f8e35576f3cc8980bce63bf19eedd648 -FixedInputDataByteLen = 51 -FixedInputData = b8b02c8bb9e68b46c4f033a1fb71a25c12d5e1851cc0ec6154cdc303cb98ed3a989eb8e6cd61c9659e997769ca558e58e666c6 -KO = 831d2a4a5fa51242fad8f2b51b5d67f99c6049269bc3b54ddaf8e4c3342cff2c2f83c82e9726501157951e81e1f6876be87d4e2791af5b4343b2547281a388b76ba9ca19a31b - -COUNT=27 -L = 560 -KI = adeadbcc5f246b42e64b8e338d7d86b2b99c7d80890e98319eb1e49a -FixedInputDataByteLen = 51 -FixedInputData = 0316a829b9b19079c8dddb7bca922c59a5a3db7870210afb81b001ef99d008c16a1dd5eaf8d3b53b6df47e82f93b10a0871d5d -KO = 9c1882ddf6d180fe6510c955d7d73b42ca60ba7afafac54afc09ffa3013c167e7b993a02521b852e690af76cf0584cd597e178f1a9566c7e555b9a91fcdfb64218df1e676282 - -COUNT=28 -L = 560 -KI = 6b685ffffabc192aea34eeea3e6e29f19c4e39c2642becab456a6ca2 -FixedInputDataByteLen = 51 -FixedInputData = 71195712188cf6c914e02601330f7c0f497945f41d66def2d1f977e342619772dcf1c946f35368bae56b3d45a47a050d5c0b1d -KO = c9e4a9cae4f3e54d19a775e25aed607bda46a2513f8931c329269504335cd245594748bb54deec3a719d604e1927a7c32d189c2e277373691b7b328531138fa8a1fbdcad7792 - -COUNT=29 -L = 560 -KI = 510ce8839e2c8cbcc6321840de2f9cbadb15034905dab9052134ee2f -FixedInputDataByteLen = 51 -FixedInputData = 56f42011d4a131664e0fc6784ed02548a66019352f1ad1346061039189d255589810d950e9e45f6a77aab0e38dd9fd67567a23 -KO = f2fb391e1fb374810a4224c1e50d2e53dd2f63e962078b368a0c0319f175b17762b7626073a740bd209fa19b7705a3adec482b5d9a75511847248b58331ab4d450b53833aa5b - -COUNT=30 -L = 1600 -KI = 82048a3c950782fa827db9efe9151f81e38a76090f5955f67d434772 -FixedInputDataByteLen = 51 -FixedInputData = 30341cb1c77b6fa44e636488642ec01980bf4ad82894461b20292429779cb76d91434ff6d076d478aae6f0a0d55e01cafed5ca -KO = 5d38cc2f4b9b388458df3fdac599da73c2566ae223921875f95faea697da275677b950ed6af40e8846faf5e62f5ee5ad9547253adaccdd39d3a3b2561e3c5fcec20d55619f501fd3d811b25ffaadfdf3834b31dea3fb6302df5e49059250cd660f8f4754e6fad51c9eafda73fbca9ac6f3447ee5c99251642540d9c7606d35fa64203945355149f4c275aa672e4989c5424997ccac849d8766a5a668ff0cce9d086f36f1d9e560312a675e794b230f699d32c131a296081ab864393d82be7efb7c5c5602da584171 - -COUNT=31 -L = 1600 -KI = 5f41cb2a7c8692a7377e217a9a07c2d934b41c7cf824dbd8d0ddf3c7 -FixedInputDataByteLen = 51 -FixedInputData = 84304bbb3c07ad770cf47193284c06c175ab8efde55791e7230d8c3210c399b233e0f02968c4f29ad275a8f1c208af32672d83 -KO = e1fa2ff2bc33fb6ddaa2867610563345616a639dc2befd88ac2cd99c78123e761bbe5d85711f06c32fcf142b1826cfede423f36aa9c7dbf0a7dc2ba9d3fbd7a72d07c7a45a2f3e66b5666f9d5592df978a9aafb55c2c82973b79bba3aceb0970ba10e9b1e5c58b481cb66de68c24988da47efa0b06b10d9be5c6eddef535a5fc423419dee67ae2b29932fc33e65d2a5e6bfb99ff8b8ef5182308ddffc3b5904f4520c4f055f6d2e7b5462ed982385665cb80d8069a9fda8d7842aa3e0cc74156b6750cceb49abcdc - -COUNT=32 -L = 1600 -KI = 422ee29abff0f4bac885a8df7610d9a5bfa1e5a65675eb32ecf72f97 -FixedInputDataByteLen = 51 -FixedInputData = 37b055535e82c883b5e4a9bd2b94065531b5ec87471c97c730de1f10ceb2bf07ae388ee9783943a431ff8d9f522c0475ae62fc -KO = 9875183fe795cb85bf4989cfea5b0f130f04888b340d4f8948a738b19d7627b23c7250fecc57fed8c77a3959fc619f72902bff274ccd22c86bf648f0cb553904167170dcd0bf566cc463b1c92535d19bc53fad803aeb01190b9c40df25f3764b30b2614f0c6a715dc4093c30f1e73200351b837c72b93b47db3ecfbb91d8460970f5ba7fc06d0cf749fd3dfe8f673fdb43b15974e1ee9a3f3c20babf0566584b164e15cd68fc08e4df85f4f71f59c59b0142b2ad9247a396e7605cee055613f6316c0aca9b1ae202 - -COUNT=33 -L = 1600 -KI = 0630cf9c97ae901b6e1d8431cfe6ede28c1f03b5bc4e46d86efb0825 -FixedInputDataByteLen = 51 -FixedInputData = 417ec780a8dec894cc805b8adc23ca714643462250d8d0f1745f0035933055616b3b7975ab148642326331bda5599b0583fca9 -KO = 89f31829b507bb2c1a999764446023018350738fb473ffd52912467e5373299f56f08c443126691b2604b12929f817954d7042f36dd8b57ba79018ed012e681c59bb781859abbd749ece5b6ea10da56beb82b22a09ec5c14215881aa37fffcd6ed1ca4d24ec6cc98ac652c114e6d2e72ea602ca6b3b21377f2c640b4edbe82fb32147da5900dda8a3f66a5bfe082ad4afb2d6e07b11419c15ec7a491a9b1132b71e5dc955b85706bfa4738232eb23994027fbb052e24a5f1771658f33dde6862ce60a5f873add089 - -COUNT=34 -L = 1600 -KI = 2893a9b1a016233e820043432a9f4514aea7c4f36b1bbe21d07cac14 -FixedInputDataByteLen = 51 -FixedInputData = 3ab6b366a8ac825019b3838994ae8b829a776f5e01bb92eca6debcdb20f686f008720df596071f031e8a1e274c3ad811adaa6b -KO = 35928b25017fd7314f9c5773cfff64797ca94f86e69c12749d9227d37cd04a8abd42b4bb29348abe5f10ce90346bad65acf86c7d620991acef3d154316a920e6aac6d43eb841dfd2c048e173b59e99de09dc4d9cc52b6141e51a72dae07845cc3fc2759d7e1cd9fd4bb05d5bf8fd41eba5dfdcd0f3f8a2e308412f63c0bc8f550899964fd234a1fa9c831355a24e1082783820ddc2afb5873639821afec636643f3c48fd2a22d4dea8afd1053ecadab6fe2a16b8235f220379672bb560ec59a5eb8e1507fce1749e - -COUNT=35 -L = 1600 -KI = afb13ca98ab3ef96393aff2e3299416876ae3fe2f4a43a4e3abbb42e -FixedInputDataByteLen = 51 -FixedInputData = f5b605c08509211dcd062286034d86632394984b66a28411b5d6149184de3cb255e331fd5f88fdc40e019def8219cec35c6497 -KO = 92d531e6f716014cc81ffacde444d2ebfb9442ee16d9407c5ae7cd70d843dd7a9255fa1f3dfb0c7fb801a1b81ae97ccc63432fb2539d03cb52343505deeaa1d6ed7881473af0dd008423d04d769eab07443dcca035f2f8ae902459a98de60228ccd0e2486497330d79de5dee46eb6ec6a85c4b4e195e771a23748ed1475238d2fa08987f37f1f49b5e441c4db3634119911d4aacc22d7967a749d102ef517ac3fa196b5e7f3cb3b9fbd0198edd6b43d98e4255dadadd089ad48dbcbd0704e859723ab94d641f2c05 - -COUNT=36 -L = 1600 -KI = 032f38f57fca0647014c91b16a7f5110500098437265320912f1a74b -FixedInputDataByteLen = 51 -FixedInputData = 57671de00b76e125ee9a6f312ef57256402c836bcd29af6a4770aabf030650fb6d3980f4905c66feac555ea4527e75c55b88eb -KO = 6c5d3f552874fcfd408fa3502b52b29e644a6c6b5a12c53480cb5f042e1cfaf2934e8094a2ac594e1d6c859e800edf22978a36dbd00b7762dd5c18dda0ef3cc2620441262daf2f55c1a22dd1394371b853b0bf34f276e89805bc546507aac99567e816a2d5af12fee8dce6922c84d503b7e3876950b14434f270aa72f2e0275ba57d6e1ed4e2d718df53a04dc047b17e9546141c55153f96f62738fa43e976f73d0dfc6214535b1beaf787c262fab8576c48244c07c9d62568c9ef33b6d506b58c368f37b2306b6e - -COUNT=37 -L = 1600 -KI = a6ffc9fb8ec3ae95353bd27d922757d5758ac201a22555102205b267 -FixedInputDataByteLen = 51 -FixedInputData = e2dc61fbb92c884aa5b79c431dd1f2f4669a15065c280f476989ac1eb69a3b1761cad258a584140de8016094592a7243e29d39 -KO = 3ee1a47ce6fc231df58b8dd70a09aec4bba6677c24557de07f85f14420c3f0eeb460924b974f9bc95c65c88545a8ce6177d2849abd414ff66b823ca291b1f394b05fc2f8c57f898a5d0425a0650d89c5722d812974d337489bf04f3bd718b1a2a6a20149e520d2cce6fc8e0f05e904633cd24f0d575bd79f64f37bf90956fb4819fec177ed68d5ba717756cf4ba38b997b10cdb3abc86d81ebcbe11cac5689af42dd58c4afe322c52c9cdcaba970d8f6e4997d224563005970728d0371ed2593f4cd5a2a2ef80fee - -COUNT=38 -L = 1600 -KI = 50e32483734d4bb09ddf4e6872886d8748aac564b0e00d44553c74db -FixedInputDataByteLen = 51 -FixedInputData = 65d136dac0388bbe6592856ec7e287e3c7dd7b96ba37b00c8180c9424259a6f6ae7e807b9b656913ceca4e2781094599fa8146 -KO = c6a189bb9ecb8ba295efe146e45db66a0cd47cb13eb4f9838f3f2ed49e5776b377b3285e0b496cbe9d342750504e932cda43940c32f605321d80c9a771b9432a4bc4b79108bd2571aa6153464caa91b6401ef5414b6a70500d5fc5c8022815ab74663b03d5acb39bfe1f574671fe0f5f586f3b467c4085f3fda898c1b33b816ff0976d688fb1898b90bf74346715a2731efa9e7fc356d984bbde6d087238796614840ca30139e758ca6fc060b73fe9fbc77492163d6dc3b94c444386ea0c1beaf74bbc04bbd4555c - -COUNT=39 -L = 1600 -KI = 1fbfd0930525ae650b21831f23573cbc395f6566e97932f5ca1d4a69 -FixedInputDataByteLen = 51 -FixedInputData = a1578cdf2a1546cf333de52fabc5b90fc2c93570da5ea9273f6e9f1a72ce364f44e188e0b996eff71412a1f5f4b64339155287 -KO = 7f6b5d587fa88672af5e1d46e62c63966accf4cbffb5f225354ff8b59a7ae9e0d7fbb5ea6709d3ee27c227cf596eb6bfc6c7e8eac0868d0f18b11294bf4fa45a8880e6e3326c83d3e16e8f854be7be852844305beedc89b3703c586bac90bcb1ba3a5a340713a45934871b2e86499b9eeb9b159c0d389a76f2383bf0b593cd27c5aaa91fe1dc42b694d30dfbb80932fcaefca39dbcef854335f3811178fdb6133c0548554029f823af445db82b6fb1b09f835fd32a0246711ec09e8a35330ae96f917fb929868db3 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 74ac709a383e5aebbd557a05440cc8aa5313ef0cd6d49b982a9018f5 -FixedInputDataByteLen = 51 -FixedInputData = abd96f110b93762c7a824cd90cae96e76824265b6e2c2b19b2fd55ae0c34c30edd821c3a8fe91671230032a32b255186c5637b -KO = 065fee9a748d5c9d3b0986c68ad04b3615f4ef9bfb023be71ee8802c9196679cd082ef384df0d742d0c79d86bb97d5c3811849c354bb4ee363ed7cea62f7091c - -COUNT=1 -L = 512 -KI = 74c0664c628ea17e6d34c2648e3e4ed2696cebd9149d53220ee6b4d9 -FixedInputDataByteLen = 51 -FixedInputData = 87a702c546dfd6a4b65d4579a05679d4a46a6e42c23081ad8880ba608b3e9947dfe29c7b6ec427ca6b7ca4702307b1263228a0 -KO = 2b200011b5e8fed81285f1396ba4eae77a8507ef023c3820d2f4fd466352f9c9af3f1f5839a5a5bff4278bacc54310b869c59513c95e50847b1713b15a9c828d - -COUNT=2 -L = 512 -KI = 31038d5d8ef395d6c1126558fe27ccb04e95dc8c03453b6459fb131e -FixedInputDataByteLen = 51 -FixedInputData = c0c802adb4a5f94407b3788264b2a107c84f8ba8257c911447ccaf6fc78af8c76156ad75570dc7dd88a83458300c62427df8c0 -KO = 74930b772435d850d8252b2c5b1a5d38f9a23a3e1706a956f7b0ae47c9feafce41af240d32e1664de7df2d9509aef53cfa13fd8d9c6185fbf5aaa96bae1fa0f5 - -COUNT=3 -L = 512 -KI = 2b6fa4ee0f858b8cf274a90ce3aa51c77adb3d26e553ba6fb307442c -FixedInputDataByteLen = 51 -FixedInputData = 0305ed51e9bd0eced91b5b8c45d8970dc3c873ff13ef3fdc812b3ddab5c9aa6c77b1d08da136ebca4e99811a0d7524c1b3e8ff -KO = 728a189ac6a323e990e4663e708df1d2041ccd0d02c7d3ee06a04692d81c0f5f5dba93caa05a4bcdeb11470121c383a203de344f34df3b468b2de944ec1298ed - -COUNT=4 -L = 512 -KI = ca9da093222965fda35ed59fab97f5f4be222bd0ff055204beca1bc8 -FixedInputDataByteLen = 51 -FixedInputData = 15e1546b2e147bd1570471adcf95fe1677171ea6639a1b0137a89f519ca69a2c5563cbc8aa6ab1dd2bab1d20e4065600baffd6 -KO = c46bda70479e79bd75134854836839e3754bcd91ec7790b1cef4cfd5c3fa7ea7b0e2883bb6fdc84a29182395c862118880de1cc356183c5eda7124214b894d60 - -COUNT=5 -L = 512 -KI = 5ab7eea9753b2f0e181ea060180ad30a36e5d63c39770631a534bdae -FixedInputDataByteLen = 51 -FixedInputData = 5c64203fba662951f925842ae9db54d33002464285d2d9e980eefb93d16fe435345f0e464f51f14e9fc0914bdae7d160c08504 -KO = 8912bf9de1f8319b4e9c08ba24a54b08edd6eeacb0ce1689ff9390bb5d45f0a4cad769c3f692ce2681c898129c7098202bc3f1e901e4a465f88e81c4c26b6d4a - -COUNT=6 -L = 512 -KI = c0bde6b755636c09031a41ec69a046ccbf24e8986427161c4273731f -FixedInputDataByteLen = 51 -FixedInputData = 4756f3432edcf0ece8c0cb38670178f2f96c8df4ca5036769817099cda4c7462e82bd0a19e97d3f227044a6a23ad893178bbfd -KO = d67fd292ad8476693f5b2fc539c2c2ca9394ee04f7f89f058e4f165c0f7f5cee931fe5ce14a85b6ce2dcb94f8997eb0505b32d8c1fddb30417dfcc92e7cd7884 - -COUNT=7 -L = 512 -KI = 04b40f51132c60b6b1ccf79eafea1e6a1dfa9b843b4bf206bce406e1 -FixedInputDataByteLen = 51 -FixedInputData = 533661937c0707ad0e6f836bc4abdf4bad5cd7cfda331460ec2d932854aaff0ad3ee98851e47ddde934df96844aba7ba0296d6 -KO = 702657721a0ac6ba2c26939c60f2705a71e2efb9e0184004ab08980cdec8dc580a34a5152afb8bcf78c11df781228dfc3e4717e118dbf3670514d9ce4ef2fb94 - -COUNT=8 -L = 512 -KI = 02415f7654bc861defefa47b02e022ed853e4e83b86c40545677b7fe -FixedInputDataByteLen = 51 -FixedInputData = 60ebb1639689731ba3346bb6309641d6945f8e643f68a97d42bc3e69b1d916530e8e587be493bd033ce99c2a8d38899104fa46 -KO = 070951c77b8ca685beb82bc91dbd4354097a327af878dcf82ce2f6a32957f5c80eeea5db4708271fbfc0373296c067f31965a76bbf279c923b771fc6b13942ae - -COUNT=9 -L = 512 -KI = 578490047647c8a7efacb5076046e06ed5ac4b66038ab0cf97eb2dc9 -FixedInputDataByteLen = 51 -FixedInputData = 4cea3693ba333b1f966325d17f8f5e1802c24584bf4528d9f5c1caa1418758a4683829d2299d7ab05f457df4003d35991e5a27 -KO = bfcfd54c99597c09308a1bbc52ddd2126b5a58d658324ceaabb7adfaf603a67de6f47ad914e2f01464c26c71ffc5b98f54ff637dbc6bc110159f5f6f031ef751 - -COUNT=10 -L = 2048 -KI = fcc0684b68058762f4f2326df939508188e265dd94c6d3fcce24e013 -FixedInputDataByteLen = 51 -FixedInputData = d15d6e162aa1e20cf003fe9b209f82ad6aa36d8892fc12855fbd51fef3946383f29eac6791f7c96c8f7fc818b3fc181ef1faa5 -KO = aa31784a1aa0b522688241af458f910e5cce62bb5c0f3e646ad5c435643098db69902a3c5406289ebe43ab85746a443778894e546ed42c9b0bb1d6c0c290d72fcc157c2b7087ba74be92da23ea6ccbc364304b56b8861e28cbdcf86355f345eb6f3591940b5408aadf8547d7dc5a2fa0936554573f1aa62d0640371cd412097113e68f45157921aeb15e8aa7355de5ecb2ac62eb4dedd2557a208fc5997211ff636cbd1eb62beec00858b85a00ef744db330477de8183bf9ed63e0b41f377a9ab501335242c0749792313d46d0cfaf6f8f0440737499ed740264954787b51f9f48844d7c285b95050240377298d5bb3a03cf152a188d14c58f6e5510754bc817 - -COUNT=11 -L = 2048 -KI = e28d3e3e5915885472088408e40c2871d56979b43bfde7606c9dc7f8 -FixedInputDataByteLen = 51 -FixedInputData = a78ad984bfb958be96e26e498e866c689a8421cba11b91c920bac17cc4fe0cd671195793a11da824a07e8aae3616fb5294e609 -KO = 1fdbf56ba8050e8c1e21533bae420a2675722a6eddeade73af1a0c3e8d1ed3805cf0cfa09be448a9946057191e855b6ab1cef8e277c330c28a3cfd56c1083fa32c5fb0a9bc3a93cb013330b66ab8b1531bfafc50eff3468293fa76bba4928821ff65eb94bc0d51f6f7715419bf5df9713229dcf686019b958073af14a84e5eee77bb637fed4077de4db73e4b8a9a45b077cb09bd51f66e76df71d7ad2f52839dfca79e8754dde67c02b51eb95b8a532e1b6f1e3912c6bc20d93ed4b463f037c938156758b5bfd5a5fa4a5ff983e85109cbfdbd2df07572690dd8d7b3515e9887afe4f687363eb0a4737bd0585f71d74a4b7deccd3dd7b04bceea3c987940a0b2 - -COUNT=12 -L = 2048 -KI = 815a5645375f4fd5ea24bd00bcc40b171f19f5d35b88981b074d62ab -FixedInputDataByteLen = 51 -FixedInputData = 5bc185e988e39a115c0d817c8524133e1a8b617394c1c3521b306790755f5881843d2469b50c191ea9cab897a7439f1898bd5b -KO = 442b02922d6b339ebf2abe81328e1cdab1c37447bddcb741d9210043747870652818652c133a10d6b96f0261afc1dddf2dd14fd3981fc4dfa424c9297b610b29c111f7655046a29b316902521905adeb11da01d18550b155688748466dd4298206e3bbc342fab0d280b1adc37479ebdfb620bb97ee81b09effa17a0abed10ebf825ee977affbd25a44cdf5ee2dfbebbb3e0507b65c5e24f92e25bdade5533023559a603e37f54c6c6b9cdfc81f9de6964df92e4a0ece99f526ab343a7ae3bc658cefb6a5b89656ad8e13e5f64cb5bc8bce0b3427e18c6cd21bfe56ddee100e8e72a49acca5403d8b9737621f9ff85434fdc0165efd42531b4d62369be0753624 - -COUNT=13 -L = 2048 -KI = ac128439b7ac2453c77932ff73de5c30f501fc3925009cfbd69dedea -FixedInputDataByteLen = 51 -FixedInputData = 391b236b578a65e457611ee3537690f65a129e8172f25bc6a1768d6ede5fa8b0dc21072af5f1510734451511144d5f4b2d03ce -KO = b1c627fd6c32690c3e977474e5df8d47b14e2bd95828aa210826bcf9231b0ba7fe554486331f61473b969456692490c6b9eaaf2c1266a73bc05d9af13adcbdc687e98dc508e0acfb6ffa42831b2952aa78270b8db0ff3f6ee3bfc5134c52b0943b4d901c5bff8426b9cba5142877cc87dfcdb5d2a09c2ed545424ea64a32fb265bd5217c53bbe968199493ef1353f9112c87d3e42c98da4418f7e2adbdb5e37b8e2449f07042a615060d96676c6aa7ad1c275d67f157667ea917a721629176f0008ee27cd812df199f41f1b4e5b828d39c61ef836787d930791a7f9f06a5b1354967ecf5310c0e435974605b3eb359eee10776cf67d406baa2971d04ef8d5bae - -COUNT=14 -L = 2048 -KI = ebe835d14170db17ed8f1964a9dcd7ce91132a8e86b3a4d8270c634f -FixedInputDataByteLen = 51 -FixedInputData = 0db58608f59049e16dcfc4ae29c9fb0ded051951a4f9fe15b3b1845cfc9e58e0cb1b1731992657a60e30c319583c9bae861f1d -KO = d8ecf18ba26a097d8585f31d8a003392d97cd117f405fc0ec0b24f1657d66a476cac55f7bc811b8cdca97af68a92e3ec043064dcb16e639e20db8f15c1bdea85dbfb86657e6bf283deb89e8023956ac48cf9a2d27ec09a720714ea65df96036a37f0906f9d6296a7785bbe987948757c1227d50dadc5d74ad054c7276ce268ce1c8564b343f838dcb2192e461d64131c0c2ef967e6ae3989564fad83dffb4500a4665edd7eaa7e2a66d602383f4dfc7dab131c210f08f6a6fc681de10b6fc5f7c94757b114cdc0322259e6ac7846fe8ae46b7b12c9160752a594e6b3971a79ba5abbd38aac721dc48148cb464d296fd8ca73877e09c6d6a11cacd91008141a4d - -COUNT=15 -L = 2048 -KI = 432838c1d9cef3c08f72f2a42b1f68f18815b9db8a28e600064761a4 -FixedInputDataByteLen = 51 -FixedInputData = de3ca4cd2439a26176796338ec77cc4fc8fc1f2224d98faf0ee40a53aa3450cbfd28a2b6081aa3806c4f64473a5bf0856d3a63 -KO = b4b572e2bbf190cff0aea505956ab3bc42d71bb7149eda8dd0638d6b5e7275b17f0ff30900a2ef8df3e3ab49f85979c279e5a30cc5fd7b5bfc983d34f6aa7e4c3f735ee6db11c3e0117ce66d31529352054c1e42097a46318671eda0f57640184d3ff3043080b8e29f551502323e9767a0ffdcbcdf713a74831f6351d720372ff9c33c9d2c789906c34f6781a90e8fb83dab0f96bf979043efa81e8d94094c73751cab655936c30d65764e0389ab39bb9c4f540719b6df000716b83e58d606787ca20e99cbbcd1b4c7974f5916519712d376562ec2a346f068e95e9c22b261bebc1832c78913dc9d3a24c64e270219b40c4d8b519d3e84230ff6b7bbe9c2d395 - -COUNT=16 -L = 2048 -KI = 43c0935fb5ef6a05407240e3afdc678d1164937f8eb53b4855d7ff12 -FixedInputDataByteLen = 51 -FixedInputData = eef76464fd8459165886b0019b54362a9f369d34a0fb4052a1bfeda33f05c535c5f8b38345e1535f37e7b2df449d5212a04c3e -KO = 805d212d11489000111b5369677cc79645941375cba75dc5613751196514d95b974b4de80d9a8afa842be448323b983add48d709e8b2929f4a9143ccc73ddee800ae6fb15607a15d926c65618e04bbc5a4eca8da2ee18b86f5ae28ece59d30b15634bdb4458145f6ed91e7073813feb644755a7633adf4169eb61370673172cf1434545907f6af8ca8b61c56bb0a132a5366e7aea872bbd58a3620d277cfecfa7a3af62e5a992c8a300ac4cd9421ca1d130d9fd143c20464bec0e5f6a23c08c0f996b77106e1a99f41e97285cb489c77aedbf5fea9af9287679095bfecb2ea594e7a20caa3c366cf168f7ee57e47418d6f1ba0e50b4c6dc48c8b68b840282fef - -COUNT=17 -L = 2048 -KI = 26682e80044d1f774cf4f8e04e93e4e0921316875ef84e60aada9656 -FixedInputDataByteLen = 51 -FixedInputData = 5073c0377a4c06c71400a2e6e74e3bd1b78e6d8666e8a70b89668abc6dcccd2a36791555e6bc39615e03514d6ecba7d5f75fb8 -KO = 5b6631a03983c460d489a401d426697eee5d793b3a68b32d87cd1d6647e3947c4c0b3014563b270efbdc42ad9e3c11b40fad3e13e51309fce4e6506c32e78f1762ce8ac91a6e377460a459a9ebfd6764b9f4b7cb2fa19ec93985cfda51ee72a0cf8094f633356aecaacd84468dcf0d855f9c61705ec4ac3ba7534b8d6a4623b19beeb7705381ea0d508fba7c7191c82bf6679adf027c2972dc4d73f6a18431348cbce7518993e6f68b2cb7488f079a313a5484bf8445b8666efc17555b5f5da0221660835c0ad6392fb8614c5b0a865eddde602276c169f0b3111176acfee9310b0d7e9da858a7d04656cec048a153890af3d2fd6934ed5dbfdad9cb632e0b9a - -COUNT=18 -L = 2048 -KI = b2a9f8801c5c020d4eb3fbbbaacbbfded673bdd0e708a480bb772409 -FixedInputDataByteLen = 51 -FixedInputData = f7da7df74854449137c7607f5747e9c7207d47bccae0122651b7b54fa9a9338da505f40ebaaf9f98c5bc52e9420d961e763eb7 -KO = c0f01b5d26a17b94eb086e043bdbb09b62767e64f607115d9613a9ba337ba53e8ac2f761ecbaef82f011e605d41a6d807f043b6bc71e14033eee32522e10dc619687aaa8750abdf029dc6399fe19dee0def0553681b83d4405147f805a4dd7ea1664f68c1ddead77984d92cfbd17637c0a33da8dbc782d7056ac9b8e7e1e119cf332b2a74d78603d757773794213b91d4cf3429e2c718d8fb363da9d548c86ee376ae9a1b59a5a75cedd4c9ec9e1d806d7973d75caa326999c470f2a5d438d07d218f162cbe0df99d43b2b10913e4ede649184aeed2b2c614272da19cebc382ad9446f8e7655bcfc4f9b4c74f8f595f2daca41b66cd12588b34e66b4ccac8f42 - -COUNT=19 -L = 2048 -KI = 533ae71340ae9ff57e4fe25e2301a0041eb649f8e82ab1de93557c4d -FixedInputDataByteLen = 51 -FixedInputData = bf1171e3032310fe22ed0b18f2d57a28df7f236bc8ad5ba87bdba1583bbb7198b537d3bf3dc127f05316e8bb0c680c3ab29d00 -KO = 1148e84ef44538d23ed2b430a02840212eb5a055b4a46586f1da749b1bf50574ce462f485629dbe4f53ad4bc97ee55534e13d0c575698b19d1a0c3b63d614ad2c8f0933428ec74b57028da9114345899090643b5742291af16f3092d45bf3833ca170da171e5025d0fd1a385cfadd06bd07b75138a8dcfb966bcf1ab6efa97ce41b87ec62c0567714c196ac2ba980788d0d461debede67a012e2fd47fa24fddc59818cd54606ac260d35bf2b62622b1a94f3d883544f4f580bd581fee272e880cf8532799e175bb062709bccc48659cdba7373f372dbad11a5dad665a09123f43668840ea79525f54589b8855b0f3b72c8beb7c66f72bbc697a34f99bf97537b - -COUNT=20 -L = 560 -KI = 6d1ff1edd80520e4cbad4aeffed67bbf195e10a7f0ea157196a64a1a -FixedInputDataByteLen = 51 -FixedInputData = 2e96ce079f3157cc9edfd2c1f73a0b805941c4f19efb985d2a778193133124cd318008e7a25c67030d3f3ab05d1d3aef0cb4b1 -KO = 7bb295c494a4478a215ea110314b4df26208bddf8d29be807213378fcb49ae68b2091bd3ccc27b40b2caf8990d05bcef5362ae9fce9329dba070330ccd56755caec43ac08297 - -COUNT=21 -L = 560 -KI = 2216b114b6e3e0f979283e27dd7d0506e86b18cce2b22bc150014e03 -FixedInputDataByteLen = 51 -FixedInputData = 335bd73ba80cc7e7500063aed811c9a138034f3ba796a822a1bb19e1edb6968a52df032c70c9ba1ec088ef54c4d6000819af01 -KO = 1b62d883fdbf75c6c677501ca03461838b9e5ef70ea4e921b5608be09b18be15eefaf570fdd46f01de046f31bbc321fae4c0af659aefc48624c09cb74774f14515c984304b39 - -COUNT=22 -L = 560 -KI = 94b791becd0dd4d73b9cbb93f34885ccbb185107d4e99be37101e663 -FixedInputDataByteLen = 51 -FixedInputData = 7b6f4a7aa9157b6e169916715f8e2693f7d48efa0e1737fb561cdc6bca84de919902761df7cbfd1225e76938a0fd02967d42e3 -KO = ba5edf65bcb0f2c4c101f3602d4f9c399d1732f46db5bb60ee47e7a29b39a10e720ecb3bd4e42e740d2f45f6fa49456caab02ef7a3574d7a4d2a2d63c476685eeecd494aacde - -COUNT=23 -L = 560 -KI = 7ffcccef103121172108c42d550cc90d3a05dbfaba83df136e5144c3 -FixedInputDataByteLen = 51 -FixedInputData = 59d39402b3bc7cdc5678aaefda6d09372a6d614550841ccbad3ebaf20e4667b8f8ad46771d57a68b9bd2db4d4595a8f487baf1 -KO = 3ff0267f6d0783e68ff15a4a48c6669f0909414073baa7bf30e5d27d3cb7ea5d83680b2ae2ddcef51d9a06f99f1dc96dc14fff535b037548b02e65d1d91498201b2fe09cb696 - -COUNT=24 -L = 560 -KI = bd7aa51d0d8b748b31f1b48a1c38004f1583ea0de7c4f7cd23914131 -FixedInputDataByteLen = 51 -FixedInputData = 80a0714e41c6113b2a5e198720f86579191814394b2e426430b21d1081a608143d82afe47e8070f575fd3c61192f6fe2e552c1 -KO = f631d545a25c951017894e4a25f74b257efdc15f992b19608906d6dfcbe86bdb755b231582c94496928dd8812aadf889c0d0ee30c4468c559c3d4cacedd5eb4d768f8b766761 - -COUNT=25 -L = 560 -KI = 811597d1d88a040260766465ba1064375d41b4b2b59b2e6d6e55b5a9 -FixedInputDataByteLen = 51 -FixedInputData = 3c919a711eb7d4e3f8c5e14c699c4ccc218036aea4a1ccb93b593b3f67be369526f53619c46133c7ddb3c9b4e31806e0959d02 -KO = 12525bb34e6acaccb7a9a80d4eca895f28c1b2e5765a9f27d7d4b4d857cf904a70b4bcf4eaf29ce7100fb7025596ae79415e4ac486e035a23afbdccc876a6826ba42abc22ef8 - -COUNT=26 -L = 560 -KI = 1037073ed350716d895f7e6e0d07d1a2623eb380d39acfad570c7908 -FixedInputDataByteLen = 51 -FixedInputData = 9ab1b53414c8bef4056771643716a4bd73388f04a0a3deabd3ce83a492aed32918c460ec587d23e17c4c12b83dba921030a56b -KO = 6e6d2fac889304a6bf0f2f5430ce947a4a3d844ed1abd4585bfaf05d705e3319cb9655d8ccdcb0dfe4bffff5635ddaee95ff254e774ec6f97b618b73b381ae08f8b1fa28053c - -COUNT=27 -L = 560 -KI = 65ad81f82696d6b05e39c111ee0aee6ae51c585fe0f418ab70c9272b -FixedInputDataByteLen = 51 -FixedInputData = 3c64fde3e32bf6bacac365331c556ab8d133a51d05b940630b13d6c6d3ae19baee6f89f3e11042a97fff6966c8ddc846c58e61 -KO = c9f5ccf5c427278d58f8791e8ed35671a28de965e1cbf423c45c1dcda2ad56023daff2d8773cafa34963aca8eebe552c310852f61ce868ec6bcb5019c246c355ea8e7644a78e - -COUNT=28 -L = 560 -KI = 94af16b3fb238a4d59a8e26f1e8571e839ca4c96798aa32d8533303c -FixedInputDataByteLen = 51 -FixedInputData = 16ac31f01d59314ac0732f0a4e3ebd14dbaf2c5c6977dc1b4d84e3d6feaf070b5905fd1eb2eee469ae5a5e315b7d366eeaa4ab -KO = 9f356a26c4a34f13325518d4bec7bb8f244e30739d0cb8064aa018932c4a180bfe96a9dc211aa1e988f32c094721cc90f6c3a7d0e2640ffe8ace8a3d51dccfd01b5e901eb846 - -COUNT=29 -L = 560 -KI = 230d6cbb330bbb7a9a8fedc576f7feac6e6882f53dd874f3a94502c2 -FixedInputDataByteLen = 51 -FixedInputData = 5e05e6c6fac0979ff108d34bfcd3e58c2189354435991b5e0c9eed53fcb2afaa988ac50f7d58344593159ef5c78d27c945a4e8 -KO = 46ce0a6d1e5b650d4b719d9c78d3b65f7f2d765baaab3806d49d4475f62a5d54409f9dae77325dcc76f81e9a1c9c832b32fbbed1927edff70e86749bbbbbc931f2b2d2adc1d0 - -COUNT=30 -L = 1600 -KI = 22798b8c5197715d4718ffcd39a10a475ae53402953043f13a3f9ff9 -FixedInputDataByteLen = 51 -FixedInputData = 2bf69957fafba49f707d9c27aee8266ec0eba0c3ddd07ff4740b6f37cb345b0b25b92da4fa999f70042027cf22aed9e5e28595 -KO = f19dc5175510a281fb380fd62ac15f84983f55cd46adfc81be38527291adbd65c35a8c78850aa427ed0ceaf99f7f285a81f3c4130f0affa8fa8aad84c2f2e18bab709dd913baf40a463459f15f51855ea0563e18186ceb1db64e43bdb8e630d33c477dc09197995376d0dde67b8a5dab3a12e089ab33757738be2e944a6fdc8b7dbe4bd0c4307ff45fe0b8195ddaf052290342a660d759ace166ea697172e4e5acd6fac806eb106b8869e702d4127c12e5334ef3e52823ca4c7a3ad49b9cbb7933782218420b5733 - -COUNT=31 -L = 1600 -KI = 7d7243d0fea643ce6c1ff25ecd82365f6211d7bb7288c045fa89feb5 -FixedInputDataByteLen = 51 -FixedInputData = aad07e5fcc3b84906ffe49561752a197a39e265b0829038e420292fb537f9920bf8cb370857e4089348de1c6bb30fb5406cccf -KO = 79f6e89a66c544cc90d0d0ce75c5c717539be5348db906d802b687a172c55cdc9f35c731883c0a49157aca470c39d5cf708fbca669d02fc436a7021aac4bac56ca5806716443018c1dfd05342000b67d324baf733c3fb45e70536f1e2735a632974db3b56b31269173010b04d7cfa353a5901e9436217af47a1125bfb75b176a968a0982d9be84d669c3e373bd3678151afe734f7d6b0ab2133b03889812e4aed1f0d46c293dcd1fc929a72b04f72ad34746e1e171e9db38c6a43c22d62bc6e696d55afc448dd5d1 - -COUNT=32 -L = 1600 -KI = d47edc66b05440a37b12c49a2ed9968ae484facb9ad1e8a541c2901e -FixedInputDataByteLen = 51 -FixedInputData = 743586f2efd806385dcce2b75daf2cf243ea210636bbac771ea2d67899c47a48a6b280e6fd1bad22ed4db1a0d059b670e0e53d -KO = c11beda05c31bc89cb4b6f41a1d844a20f1180a0fd1fe26940ce2b50b5bad29a440e32e3522b7003340457729faad939aba0acfa7a1b987a3ae9c1a4ec43d24f9a0380d0b90d510a3a7f0fc053b052d1e052b100cc211a5309121634570c06b8882c30bf25da7cf9aaf51940d3eead4e8202c745aff6fbb00fa455bc621f56e6da06fec0f6aae748b2e1770468c7675b7261d21f1c7f3e2e7d487e9d0b4b5482258d642f2745c41e9a32f2b6e7b11b363a44745c386dd17cec5c4422d84fb800d7ae2022a0e1792b - -COUNT=33 -L = 1600 -KI = f16d414879867d0690c685689d0749ad440ca02fea529db4c94f9173 -FixedInputDataByteLen = 51 -FixedInputData = e960093f8b07e2739fd920ad341268a87e91f0b5821e0fc46031d9d093a263414fd55d57af90f0ba235b9478f3301a644e2b56 -KO = 939c797f1be2b1b34ed8fd2d88f93219bda7d00b934ea724ab523b6e27d9f23a2089988f7b70d8a32d1a19509bb32931f8ea5e8070e88c047cf972012000ca278808b67122de9557bcbd2716d8b75b088b0df13fbd588559113fb87fbbcc521da8713a7864bc85f82e32393ec3ff9af63db167b422d13ea52336f81d4207813aa3a84ae0fc213454396243c4c24f9cc12c4cdf485ada24934c12b9cec2fd3a1353dd362f5c505c2f7cd6f0138efe3281e614504d3cf172f7226a20e64479b89c58dbf4aa6367ba4c - -COUNT=34 -L = 1600 -KI = 8a30636abdefeeddd54aa2ad9676e25140060d7e722ede8d4843601b -FixedInputDataByteLen = 51 -FixedInputData = b04dd83962933018be460252d26d8c93634388ef313857b1a7cfee5384a444732b9878d9f9095fff5516bb28d09af7e3bebca9 -KO = 978bc068215f4564d4b27d93fcc66649e1c792e4782ffd5a6264f3dabb1319ce4d26e667eb12b22967a6185c8d9dc24b640384f616f319be51e88c2e65421e62cfe34389f98b4c89ab48b19c589bc14aa82ef90a18f37d1bbd83ed810e6998083aef2c0718f323af6664e58c06f2679b2d5fda216eb0a2f52357de79fcacb2d0aa8ce6a4f92d7d4be97dfa4050bd61851c1482862116245ce181ce87f27cec1db45da0ebe76ee19781d41b92985e7529d7d0e919357f2bc4dc653e0a9d965c10d35e39dddbad1fe9 - -COUNT=35 -L = 1600 -KI = 4c9d626cd2ad5230f13b635671e289408dc37f89742bd8fda00805f4 -FixedInputDataByteLen = 51 -FixedInputData = 6ae3c70689c3ba017f1818e19bb7a091a100602a15b844c9a370380a1dc22df8c90c65861771c54715f2c70d37717b9b5307c2 -KO = 41f712228e785206241c757f3d98063a35b71ca0a4977a10a8afa64ee30977cc13acee1fc0330496b83cca5cd353446ba041b677abbdc73c365f56fb87a4dfd1e6338b9a278b7c668763dccc3a3314280f3adcf5159d9a4c28e94413cb35b05f6cbf7df7c6412ea1974343cd72fb636420970ed957253dba972c7927af86c40e890983dc58e3d35e458aa639ebcdc51aa944ebc1067ac53d68ed76e211654b2fe189a5f552ba0dedde55a2b24e826356407db9b942322710a0161069de4570cd18b1cae881245727 - -COUNT=36 -L = 1600 -KI = d06b6a424da5b1d65eed108ef48f39b010145773ab74b05af82f133a -FixedInputDataByteLen = 51 -FixedInputData = c1d08ba72cca6de198ced08c46648353f84d4b18fd4927fd4af9c78153fbf8cc1fb07733848553a9529e17d466dda9a91aca69 -KO = e2050be45ab242c91e09ec8fe824ac47cf28802a87e5fe90b84eb75f1aa338dc3b4baaefe54d542c980b0c299c076db9328841d73d56e655ad8cdee2774439d08d260eaf5c7ea7bff1ee3be2b92f7f47afb108c39cf8e2047000e9587a6d7e90c2607d42eefb8f4c70d9f8e93b864a9f5f605dbf1d42a61d21f4f4d929d54d5ea1e8481d424dd4c18b50b063e5dc8a276e4d481e5dc3e7de5efc52723cd2baaffcdc4c7c4df7750b4fabc441990b7a5d49638f77f75fd8b82a4dec9a13df2333e9272e2096441a9a - -COUNT=37 -L = 1600 -KI = fa6cab5e35c4d2b0e1dec2a66f32289488553b918dc6ee0e503c032c -FixedInputDataByteLen = 51 -FixedInputData = cdb4ac38ed8f3d6ae285679d1a092d385ac462499957c0971fc12f99f33b485dac0f65ecec3adc86a6cd543a31cbb9d3ad100a -KO = ac1043955a19c80962cc1a75eafeccc7b28d9b6b5ad8befd7eb211e1b84ce9108b09f0924ad1991805604c37b70aa9cc695eab0903d05445f3633745ea217f5a26012bba9cb19ac4f25924e02fc6f3ba01442c3ff901897a1e0f2bdda3fb172e9585522c087a5b3ab18bfba152d27e15e6629a8aec3efb1d27d007f22b3165d6b2aa90f8bf92a51ee76bbadd1d6c3a3aef61adb3b43d7102a70f6fac03270156e923dde22f167431accf24a589c9d623ecba2506e390ac7534659c428eafee0fff03717ca8ecfbdc - -COUNT=38 -L = 1600 -KI = df15796238300c7351989893805da02ce09cec9f9a8ddf5a7b678cf9 -FixedInputDataByteLen = 51 -FixedInputData = 44365ec36c5a2b6d2250fdd4ce2709992e009a31e456244b76c4f1deca1d0f4bdab70bb248b78deb44e850182c1aaa2e1d42b9 -KO = 12ac70841f18c7ae2da60a39dca9faba4c156fa3f81edec1bda1b1f426f18520174d6a41aced7cc0ab682967b16061d4405026fd51dcfbd27d914d693968979fd36ccb56b786461993bff9c83db5f11731ce3b620fbe9a4c6dc5b87dce8700f3dbfae034c5159e2610a577d28c6930d3a980f040c81299047ab5425de42f931666ad0b58e81c2a7d41eaa16219e2d20371604039b6031288f21ad354ce5269ff379694bfd6e200c9a7bc7a1264d2d59267e4cb642f19d71dc287c70d0f41b8b07e978ddb3ffa2817 - -COUNT=39 -L = 1600 -KI = 824a5334e65d670fa294142acb6a240ab9d74a15c12ca6fda9dd24b6 -FixedInputDataByteLen = 51 -FixedInputData = 127cbba22e5ec6180419297b93f43fc066b17f61ca416a47dd9cb1f6d0faa89f73d6c19351cac6679c866a8f281ea6fc7654ac -KO = e9488ee423d0054c010f87ea11e8f3703ac7e29452a321e54e25b6fd9f22ba57a957c0faa3df2ff50023e3229697d71b2a0109a3b244dee93413568a82ab07ea56e6e9fa34be6494ea91ad9e5fb8d3186aeb344e7fd426ab7e92082094719b5dbeac2a775c78f1799f76f8d27ab7a7658651046d92be30d002e6eb4225240629cd1706849863f440b1f1074e7e4bcd6b9ab271d00ad24fbc010d0385d9da2f42cabc8b7141a4802ae418ede976584ab3f7c5c60b7850d2b07af6fe535079d76c58455957d3b2ccdd - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 18b522deb2f3dafcd52c359162f694b4df3ed5a0f14fb377e9ff637c -FixedInputDataByteLen = 51 -FixedInputData = fe3502480e4f181873878c08be4a8752de3ed610eed1cfece99d3a5a56b563c216fc10296c4cb532c0842144da4fc65edd9970 -KO = 651465a61c54964496fb7d50edf6ba5613befede96901c9cdec49d0e0c01f698fb5bc5d33be871eba0d4c710c4397ec8987f231f5146dbd2b324ffea163b98c8 - -COUNT=1 -L = 512 -KI = 1247498353f15fe168ee5b20a4febe7a80fb4c17b6f689e22b2e70e1 -FixedInputDataByteLen = 51 -FixedInputData = 5f940da949049381cbfbdc7ba4010bbf6ad575cdbc4dd331d2ad8917c67f227c9d2761d817900de04d5a684eb5be778bd9eafe -KO = f1fded0cb1dabf73cc5b3cbd4356984b49c176cb8acaa7e93dee24b604b5de3b4cef8b6dc7829b8fff7d7ae8a8086192d1ef54c93edc915efa9ff24f1bc4d10b - -COUNT=2 -L = 512 -KI = d2e7a19b5b846b2985e191f50ec2807496a888dec323a96e3fb970b0 -FixedInputDataByteLen = 51 -FixedInputData = e072b6af1940d5a198e81e8080c86dc66d3b5ce0fbf89dc0022cab4eaee26e927194ee273b93de77ba97eb919e105dd0f164fb -KO = 28817d7d8e241c551496245f7f3102bee483cbc7879270f31afdb3e1924bc9e327a20433c49e65d41b87fd0fd0fbf25800c7ac294066dd7148f3251b82e34751 - -COUNT=3 -L = 512 -KI = 62c3330193906a2b89154bb754434974c688fc47a6ed74c5429c9b06 -FixedInputDataByteLen = 51 -FixedInputData = c7c6e17ddcb6c62f7c3b9c241373c2b1cd36d95cacec42aa6bc83cbabd5bfe41bfb2557dc20d11ea6498c9ceb4632952f30ba7 -KO = 686493a9c42e7d9f1b399c65b0f826a60d2e5ab2bb6a5d93279e6fa3d9b59cfdeadef8e63bb9a501765d607e6f9d56b3cd1cf90ceeded8338165e1eaba331739 - -COUNT=4 -L = 512 -KI = fb46f3332a6c27dab0c9e6cf545f48c7c104a6ecaab5e1f57d148bd9 -FixedInputDataByteLen = 51 -FixedInputData = a1a4723fe1120e657a4ba2d2e656ae831e671460f84b322143bfd9562d48b71ce4048a7fcc33861be8ab9b09259e325dd42165 -KO = 2834e16dd48ee5d58acfe5a065aa4d2a250d0266cb84481a8790056e3f14f211e952e5ea27044d09b6b0e98e2ab6b2a0c0f313859600251e6b638fa1b36e44fd - -COUNT=5 -L = 512 -KI = 2afb1424979d9f0fced0f5fcd2fdd7a45c3a974c018abf1a687cdd9c -FixedInputDataByteLen = 51 -FixedInputData = 03fd46bbcbebcc28a507ed73db1f6185ae78fcc246d827ec7bdab06fbb9d45e181fcc44821a7d34852a913a505c81c24f03d0b -KO = c9fdfef312a5011ff0f335c6048e8dc28846a26730ff8c341845090afcedc961b781c86042b6029fe8dc3bf985fa2e78484311a2cc0ed8cbd7918e42c0ff006d - -COUNT=6 -L = 512 -KI = ae027c27f8f574cc507b9bbfeaf5560f829c01a0196c2df561d9bc76 -FixedInputDataByteLen = 51 -FixedInputData = d867a7890dc0286fb51a88d48b5414c07ce8b7b010de5c35ad764373d2bfef8f52d8593de33b7fde72f77633c6b9903e19b89d -KO = dda5493c85cf981df77316741b6b99646626c1b2e88d3ebb2017581074dfce125804775830a39c7a0155928e035891246f9d53b284591b7369312da15823dd83 - -COUNT=7 -L = 512 -KI = 9b2ed0d7d468262fe1563b347af68549527e13812063348c30d0cb7d -FixedInputDataByteLen = 51 -FixedInputData = 347ed8fc242fe80760efe58925cb3a8466abe2917f5cc1f4d337b6a43aa8a89398b1a0740ee6b5efb770a31311c34c15dfeff0 -KO = 3883857d8bb542e1e377d599c4063a88b051653b06d5c3c7284b14bd926470815a7a5df42c5569aea7d3c4a42e571e307e6296c4ff0230a677828763c7d8a709 - -COUNT=8 -L = 512 -KI = f6917cddc456c3819e85970035f6421a1db84df48b304c4ac3d15392 -FixedInputDataByteLen = 51 -FixedInputData = 16cd9b32e9c74c72cb178ee3835c9c3c949e9edaa1280aa1b3e96b5598cad6444168f1b3780998974a649636f4a77ac8e90383 -KO = 1310d37abeb9744a8a488f66cc2b952868b8dd58f0180ef4716a55ab91e61513eb7ccadda941fba731534aee0f1a3796822f980629a72ed56a555f0ceb10cab3 - -COUNT=9 -L = 512 -KI = d7e32d72e300d6a0e3f92537eb5b9b252a9a22a7fe70eb7ec3a19190 -FixedInputDataByteLen = 51 -FixedInputData = 1f22ee2d81e30b24f541b7532626b9c5914174c76111f64cd3878fc312f1d0231bbf5b8676260a95a761e6837eb0287057d393 -KO = f0a05454da48283bb93c566e1a0820ff2b7dfcd7bcd6825cc5e8f7aaf132b791e487756ba92afeba094e5b8382f72702342596f19ee735074aa09c0929945c19 - -COUNT=10 -L = 2048 -KI = 6a30903f4d1c5f0d236fa2f3d719b07e4846233c014776c9f136843a -FixedInputDataByteLen = 51 -FixedInputData = 47d6c1e8c65ff7941ff9a4b9c422cc277b62c6df6278aaa677361f3557462794a1d99b29f15ea96232386db73a04267bb17938 -KO = 6844d3445762ad68764dfdab2120f854e27af5222e8e6ec3b5f8033de5a8f90b13d49d5ae1e9838c4a5cca07161f431b176f1e1d1503fe4c510b54f8bf2c5249772aa1ecfc3001cbe1fef744c8aad462d2bbe816edb12bb9c6e27a414690e34d99f9b3f806cd9958aeb8eb71850c3a7112a168316f6b3750c44c8ae1be3bde322ae6ec18e99b14840a071b14340733b0738dac9df0a52a2c04ca3ce75e7028da5cb71cc5e4ab01a519211e66fee9525bafbf05b8db2a0de6fbfefe9e20d3fe7165372f8fef814feec5d77fefb5bb1ca050643a3755c1fa9d77e38fc53b8032ae42475d1cc14bfeb44d67dc94e70106c780cad44bd81ecda314cdd3b3480ee312 - -COUNT=11 -L = 2048 -KI = cd3cf07462fbafaf3e6892018dfc61000664df26fa36e833e38b9924 -FixedInputDataByteLen = 51 -FixedInputData = 4e1dc429f4e92fd55cd27c27cf6d99e51077b449804a2ba62527314f2181f388838370e397007f9d284c881585ca7fbeaf28df -KO = caba8676002eef7baf060d58a91df1845a999edfd1f2143e8bd0e28216da015020926868ac21b14a0410309f9f3221813237d0e2e90a91d9d07d89b08386156e628d062dea48a6f5d90a8e534339095f7033b7d08346d0b7f79265c709389287d9e31d2d9820a605908945f8c61515a90e7a217e8f6c83d4bcca981c476604551dd7bc6a4dd660c3a54e7d5393c260e062cb365280c430e83fa87568ef3d4dfc6e5dffc16a52e94b2adf3c3e13c6b1fe1575d19fc142ab8009916d91d32bf7b9eed1b370e29267735eea731ac3f5fd258c11279364aa5b4b1a96a0ce36cffc072393e2d1aa77c04b0cefd794c04670d7b1f9d28e5ed879c8f27b6f4398070c6b - -COUNT=12 -L = 2048 -KI = 08e173e924df812bd41323a420f3b5c5862d20ce729a521c2751e264 -FixedInputDataByteLen = 51 -FixedInputData = bf70b7360c0838cf8bf3427c4cc94438122716fe76bfd0ca29f4d73639d4f500371b645daebb8e58b7753d7d45c17d6dc9f57d -KO = 75cfa4c837632468715e6e9a51b003d0083422c5866300b3d662ff8c650abd60774436e4540d9db32361e4ef2336fe15f9049314721453fe7e2af35fc515817652b4c8d21d2df21955b9707c98bd31d65d0c834a4bf252a6a070981642ac0d03bd38c96dc665a3412cb5ce9d4493faebf0d95d4d6298a95edc7ee61910d824141f2bd8cf1c2ea035d5a6846398e0b44edb03d94f586c901a2c57431f686d3512e833565ff802d71d2fef65de461cd6ebdbecc33529be2539e514f27d438c8536b14cf16ab4ebac532de3c5f855f5b2ec93d176296e4d2127ca8d31dbfc68a53fd30f86bc05de040124a1513c34eee76632d6f78271f51abff39fa057875e49a2 - -COUNT=13 -L = 2048 -KI = 01e9ca1a82cf7df9e0a8122cd3036b07ee3b91f6d351856066b0a665 -FixedInputDataByteLen = 51 -FixedInputData = 38873a3660702344a072ff4f6338d852672aeee33538c6d8943cd5e9ab748a815f64681048a386c44f31df908749084a5aed54 -KO = 536ef00994acacc0feecf76092dbf3d8f0f5e7bb47b7aa5620a2126c70163ff90e07e626868ae2a36106bac0a733779d6864a7e4e2d6c8247c8cbcb7634b8f68fb5afb7088a1c18de6bc79fbd89ad09004f5782b7fa42e02f36649b21098401c228b93e5df4fe843676aa0b61ecb6817ad4d0c1b911545f84bcc4bd37c3926058744e8bc4f75739a15658b2d4a32629f577722534bf951826acbbddd39f898277c211b475656511837046dde0f8eaa2bc59830992f5b0b4824d7543f5dd8908fbe57691bb2bfbbd1647a2b86d4c2fdcf2b3f3fbc93cda7aad39f75a04565ea70c1b87d94c537d7769aa0ed27cf30e0a5cda02dd864c98ddf2f788524745c3785 - -COUNT=14 -L = 2048 -KI = c24ac955ecf91859d3b98a9f4bc02177806d86cbc4b78a06d611da9e -FixedInputDataByteLen = 51 -FixedInputData = 967bb5cfcb449fa91948a00000654bdd5f08e41ce260b5e2be8520b87fe9711355b3569dee4630ed0ed94d20b4908eb2be66f5 -KO = ebb65e6302af45e610aa435386627ed869f8e740e0ff3c6fd9b520965fabc7fe376bc43da1c9726c0baba4859dc4ee6d4ba6857a523c95eceb70e9ac3d3447f5b36f98aa76d10beefbc0034a6c9cfc3bbab49a097a34cc7b3e31d29fbabd33a701c35e66b7ee2c4be1e156bd11399885c506f4a6bf1b50d92245e0b735a769d640b6fc956f836803a71dfd41a0c5ba2c54dc6b46edb60919de2b416329a0a6b7374ab9181f2be2bb9709fb33a6b736e3d18da2383dbf17c12d464c404ac3bbdba22b1ffdd4f7d87a03ce0880eca968008c018482b5eba722854957a4dd1e5b631d9220730184cc4d898fe1def87cec5dba12077c4adbcea2b33fa9e7ab933d33 - -COUNT=15 -L = 2048 -KI = 9108576f9c6ed6a70ef93fa7a0e88a0ad49f3145650a12968f2915ed -FixedInputDataByteLen = 51 -FixedInputData = 3426af10ad65d5a3d23350177e9b1845efa600489fbb4e406f3103cec0ebb778665b075ed49a0ba796e8b1af8f5b7bc2fee85d -KO = 63d6983771900be07aaed258b9cbce97a552cd4753ced49f65d7b5faf4cb1f8853e7573d5e02bcf25bb04d2cfc6b07e8acc776f2b05d8e8afc10af2245f5076295b914cdf0da289154cb2ac4e0d1a423e5c1702ab4f065281c56f2d626d90452abcd93b339e367390492e6b719ec35d0662c6c0ad2a3277c9ac7ef887caf69a81894f776cfebbbbe8a0d68081322ad4e3789baf45a41e018aeed92393fd516215d8c7f9d2a40d1c214cf0d9721a127b856f03bceb07837a5ee075fa4a4147a09b7b8d900361bf34563f0aa6086afbd094e3127f7ebd3ba2de8d0dca951fc49ece69492ceeabaf4686adc69ef8aa463183f9cbc98fb8b9daeba3aafb0d3c01d0d - -COUNT=16 -L = 2048 -KI = e50907c136768cb430bc70bb417a53319ad8f44d9ece6c9b706984a7 -FixedInputDataByteLen = 51 -FixedInputData = d3a4fadc357b14b1ca7ad0656f6000433153eee7c1231040bcfbf22b273e0553717eba1258e6197fea4e88f7f53a25fd2db24d -KO = 9353991ab48e9286c6133e59583722c7c80f6a13b6ec7472df8914aa1385bb6e0b4090c6287f25cb100ee90e4d412201de413528bc093ff35b606de59b923b89e38a47b890a0c69f7a42d620e2982447f3de1a3429c94af44b101e0bdebb99b542c3ca6b296297a856b05c8dbcb8c9008fdc5c7001715bbc81a5a5826f2cb9987363c6d02ba68d732a27a602967d6a7e993435f109da0817077138b1bf218d5763483b71cc971c487e12ebf720956947f2cf7f76b8819a6d458393963fa2e87ee7e1447858694287cdeba456ea2887c50d7bae245e3c7e1528712c8f2babb20b7dcadb053ec492a11e9905a8bd55a3d5e3f4a439e511356ca0926d1ac8062d53 - -COUNT=17 -L = 2048 -KI = e58bcecc92a643997958e14f92666cc57e16447ce532fe4f2abae6c1 -FixedInputDataByteLen = 51 -FixedInputData = 4471fde229cb5a12dadc12fe41c40a7c9a948e8b06cc30c792e99a67867cc01a74a165e024deff29482ff19495a9eee58b738d -KO = 688f099736848b37762cc667f97336df31f5f0958a73fb6650be922cac23fd2de347ce065f79682c73ba018d3bd1ab12f57f6b764bc587a16090dd8ad854e7b814f78fb130849e193f27504539ade8aa0a229332973839c8d23a8245a200e0602853fe0e348cb3042bb434bd9174f8dfb6aaf5d711f2f8a9629ef8ad5754686b6d36f57df0e4d4129c4d71b27438a300d9fa8daa06c6ebd66828ef67336ff0f1bc1fa287be27ae6a9ffee0fb043f78e7b53d241b75e26263f040c2bccca8475eb7105bf1f4057ea236d54df4c3eee8798dca4179846a808bf3ec7c2392fa00c0a86bd2a610278459b01606ce462eccf502001cf8090601cf1fe7fa62fbbcaa4e - -COUNT=18 -L = 2048 -KI = 459bc1e79a11a59ad2add504336f92fbd9529d97a367006b559b59a6 -FixedInputDataByteLen = 51 -FixedInputData = 4e412e4bb39c1071f32902f2a6595841e331e07fcf710da9b828ba27ec9196bce0fd3970435f94e8bd9717486ccd0f25bfbd21 -KO = be695d557d3ac9d2d54b5617335249760dbdfa505d064981a0fed097240ef68671dc93840ac3afac257c01f0610010c68a4dccc2e80b1a93d92f93bde7911f52a427a1bd0fb4c3ed886c3ea20698ad0a9b0b7e6c7f97bbdcc0aec8032988eb4ec2ddf872f522f2620eec1e8ee34dc60228514ff8390b60ee2b1524392fe89a36fe8fdbcd0c1705290ae0b15e71d671dbbf05ebe5712eb355932cc196d360aa3c37921ee120563d7c8460a2c6c28d9967bb9c2f69968069d54040b0d505a2e9c554a38ee7906420d9447a6a677c3f39cc2a8668e265bf0064121c9a8f583ebcb17462d3a05a5e570122987b4a26c6f49a693dd4eae63eed84adb20dadee3ec690 - -COUNT=19 -L = 2048 -KI = 5474da4be96cde74ab6d1fe063ed48106ae67b1466a7b9861fcd125c -FixedInputDataByteLen = 51 -FixedInputData = b290b0a9881c2e441dd84c14c6caa483d95a2af1d37468694a735dce083e61b5614ab9181f291c997c4e8b6c681198fec29e2c -KO = d36549507c9528778a4746f1552e1e349d4cdcee459e5858948be202ff4b0c2014a127772af378359e790ec626df511cddc8a7043fe8f02eb10ce649eae43f39f9fdb96a64bc4e42d60aa18524e33e90d84a14d1f401cf477cf579dc8c391c101debf3d1424c27f6f3725ef0938cd5b440e69b7ccef60bbdf06f937d829b0d0fc9f3e48c254252c7d2cb598875c4e9ff6d38484c936862c8b4d1923429450a1327439fc183dd7482da0c2f2bc00a2d211286dbbd7ac02c840ebb97dc48832efc4e9d72179e8a79b601ae5bc64f15969c9096cd8396c264700c87138389fab565f47489554aa03d5efe5b7c96c9a812570d06bcb353841b1fd06837d6deebf70a - -COUNT=20 -L = 560 -KI = 2b3776644234c9c16dc04bfc286659970ef3c12065f50248699f9834 -FixedInputDataByteLen = 51 -FixedInputData = d667e47b180a671cb3582c3529bc2dd1d52f33e8118fbfe3e45e1efc26ee3e927b56aede653751ddf02bc759f131bcda3ef220 -KO = fca204f7bd840d1bd02a1255789d53c06066aceed711fb5e01a78cdf1971740ad229a55522912290c734c102380b2262f38cb1ebb4a49e815a42c284209237c8751ee1ee3ff9 - -COUNT=21 -L = 560 -KI = 0f2e575b0e5c69d2709d35fed43baba9ef4f77c504ad4e040ae96d1e -FixedInputDataByteLen = 51 -FixedInputData = 3a53a0eab56476b9c28d0d071eee288599bfdfa28039db919dbed758e29e5f8e8db8bcd664472249807a651c711a9b389167ba -KO = c87f95125e2fe5a9c643e912807d9dadc5d4379f614d255e32c81fd1d328b9ae116b303d8ac6206b487d641d76b967b391ed7675ec1caf643bb9f691ebdc52758e5ba8e76dd5 - -COUNT=22 -L = 560 -KI = 5eb97f5f468cd17ea58b5333cda96506e71d34aca1416081f7255319 -FixedInputDataByteLen = 51 -FixedInputData = b505ea2d2885db68a3cc9ae5519d8f1443245f4e60d6f42ac82f59c447ab0fcb59862b7c9448581c18af1ae865646054d5e680 -KO = 3326dda26df90baa133f660fcfca5d46a73142b48a8f53d71491a6c6c48425e2128ac9fb92c4d28b13075319fe557233bf60db4dfd2b737780ed72b185ed39d7fdbfe6a6bd46 - -COUNT=23 -L = 560 -KI = bbecdcd3ea84c48df3e2dcb98c944bb17ae1ac4b1977c09c8f0072b0 -FixedInputDataByteLen = 51 -FixedInputData = aac38c5fe15e1306e287c4cb9384df8d07748cd64cb6726714af909bf994dacde5d3a66adbe946458c7a16177cc1d84671d2b0 -KO = 13c484c3da86c536976818316dd12a3a937c8b3d6c880f59f92432517d1570002a2387ddcb8210d5913ce9d022aa3a2340e06e8eddebd28a3fcadae77e3e5b623f68d80ca6c7 - -COUNT=24 -L = 560 -KI = 79709224a39a825c28a88174908755757dd6fced06ed619b41feb41c -FixedInputDataByteLen = 51 -FixedInputData = 4f6a812026b2f2fdd2f3f27ce9bc0e6fe54c5d4593f6ef8dfb6d0ca4702bd5edbc47154cf9738b0ac0135565285ae258363b05 -KO = 2d81235265626169055f8bde9800b28a56f5f60651087e5c4f321f2715e2c595fd383cf51dfc052bbd8079bf359e5b3774f84bd054e8d2ac1dddcca384be4f72106e0618a65d - -COUNT=25 -L = 560 -KI = 3304b83379379634a4dd143a2e6c788d51fccff9dc6ad1d5a9265011 -FixedInputDataByteLen = 51 -FixedInputData = cf2dc868ec617b04bb74aaa4dcf3e7902b4c5c44c27936923c27a8f176a6832edd5f39e23618a6161ed79b0cc8ba9b7932d093 -KO = 0eb85159a34c5e9e0f11a733aa105e918a56c4daa27d0f53dfdc17814008d4c0d84438d9d38bc29de1bad0639b8a6c7328fb1661a748c0a327752bd1fbea488d90fdf5dd5065 - -COUNT=26 -L = 560 -KI = f81d12b65aef2fa9478164bb39235dcb73117669eb24b8dede1b209d -FixedInputDataByteLen = 51 -FixedInputData = 3dc94cbfc8ab4b37e0ad42b7be2837beb2d56f8e149dde0292e1dda71f4a847c9334566c6f073d65178824f207aaecbc1411ea -KO = 0fd8c7627812259f23e7f79004b0333be88fad3974b8cc7a94b8636f2bbc903ff67ee547fe2732ae4ba5bfd72349796761c39aa9933fb4a721b5db33d553416ad29e1269f72e - -COUNT=27 -L = 560 -KI = e9c3cff5e144aa5afbd72333caa4e9ec39ff13867f3ce85bcb88a5b6 -FixedInputDataByteLen = 51 -FixedInputData = 217b0075bf23de39eafd2b6851aeacb1ff202190dd257ba7f3daf40ed1221b6c191a3c2257d17be9ac315e14d599f9a3f7fa11 -KO = 5d50f6115276b3ae0b9a171cc1f4957e6761d7e6b8bd566893f259b13581f539c22449c238fd944920c8332158132d51a44030f4d7a700e3a87dcf9988a5cc6ba73f4e90cf79 - -COUNT=28 -L = 560 -KI = 8c44cfedec5070e612e01dc15019aa768479fc6ed3ad38184866d963 -FixedInputDataByteLen = 51 -FixedInputData = dfed7f64f3652efe725ba67e1935dd30515a156bd8f466abdd403b40753c0575014ab40e31aa49b8a7b66c22b3bb4a842d403b -KO = 4af5633ae0be44e2115c39ddfffff22d75d781a21b5b1f180e217526f403c03df8519e026857be37992e589b970a00dc4bae4b3f3534d0ad1ccde82b031fb40cdf5e317d4ec9 - -COUNT=29 -L = 560 -KI = 97de5b5491c244155a5be4136591c102dd96be4c0b8c7e9217d22477 -FixedInputDataByteLen = 51 -FixedInputData = c13d08ac9e0295ff54e24622a9fbf14bf757f2795767b8bc6380ad8ce6202d56ff3798667d4dc55d70c63883da8f224a9c14ff -KO = 39d68dffebbed64b574b3170cdcd3cef0b4d2784fc0885978be9f30b483ed247bb0bc63b61e4930b6b2bf932a48def7da7f6590c788b14acf7e985be1fa78e2b80de1f0711fd - -COUNT=30 -L = 1600 -KI = af06255ef2e3d45eae778ec22036b8b0cd0ac03c6ffb43a53f2dd215 -FixedInputDataByteLen = 51 -FixedInputData = 1380112cad43c077534e97cc50f3386eb5ecd72823efd1ed3e88d40882ad321f51c28a0d162ee67a4f4669be09611c3197ad3b -KO = f701cd51e5f1d1728cec7e732a37a256f2df670c03b655528da28cc1a21234fb660ba94c9f6f8601f8ef3fc95219b0d3d57b047016511b95eae157c3a5e3547d6be67289e95f3fba30afd5a796ca285d8fa1856540351ff26f8130778e91c46c652e957c6212a77a5fad4ce44e3eebf1b19b8d5da336771ba2e013eb0beda50f7901a81808fef1ac3f42c1bd43d6355854f51efdce7f3151f3fdd119799e99d3b0ff5952bfe6a2f75866d643c6ef64e641c62dbd020298c4ac53afd1258aec71fcd945fd282ad1cb - -COUNT=31 -L = 1600 -KI = 8d563e1fa58fdd6126adda5d79f5f8b221c122b4514bf018793769e5 -FixedInputDataByteLen = 51 -FixedInputData = 58f3954f50a1095d2e7c855bb67ec201fbceae8d7fa3f02a1deaced1f2e85e4bff4cd70785142eda597199f4b0a8308b11d563 -KO = 42bb7855909bc1355f5c3bcf1648ffba682f208dbc3b9e6a15cec61e6ff2ef6b8df89cab1d1af33b1c32e20983db18356f9af0fa6a915208f288340392f13ed7681472b1c5422e5e797e114e4c6f1ac69898b0031e2eb5b9fab03bc558c9bb6d28348ef182a548e0b75071689005e482c065a9881b7514df787fe2708b93565ab857bc97ac45862e779ed595c11e8fc547ef040af59cf7d6fde25393594593c9533cde7b84dec8b7dc5751d39404bf55d3b5a17a346ee6844fd5b6f4d20ac973529794b207fbe479 - -COUNT=32 -L = 1600 -KI = 911345c6eef42ff7acccdd77ef71aa692a7e28bae7a79008c8c921be -FixedInputDataByteLen = 51 -FixedInputData = fc2ff71893a3ced522d26eefad47f6ca1af1bb8457230935ebe021e1fd07a38d5980176af6a98b980f5bb0c5cc307d5e4d3219 -KO = 4c7083a0d928655799b0036a8053b552dfda4a67249fb0679739822a2ddca3ab8e619bf9c64066f6a33f3a23436962913e405c9ff95260bf9dd2e8788611207a39574f029bf8355a487d8eeae0a4aedeff8a180f97deac9900dea905ba07382ceabd0aad8c064d662966ff75269595cc7c56260ab3a2c3adc79179c231a76c5a493c8754b7dee67ad1cd4703502c34ab373e069fcd2272c42498a949f5db92024e3045112149c16c834b145f9973260cc5b49b1fdf6fd29b454b19abfeb2935d553ad349dce078d9 - -COUNT=33 -L = 1600 -KI = ef2e8b099f0e00d75b8aeb562d96f3845b78fc9300bdeee9a64fc65e -FixedInputDataByteLen = 51 -FixedInputData = dfc8053ea589c7337e7cdbf342c0b9d3c279e9d38ba6e56edfe6de5b8be930d79d1bdcc60b6f88fa715065dcb0e01a1973c6f4 -KO = cdba06300882a00ee2ee14d46cb27ccacba39f001ad332f287c8e186e1a481a17db65e9d7971eafa987c906a93f6d1769054626e888eb8a58e26117db60423a117b8c3097fb76b2315da0f81ab988a2ad543a85a149927b0273d645bf0ef3200cb49aae65385c48102eb821f6ee8aba6800cd081e3fe2efb0e135b9097b5eb4288738817ff9ac4400c1c8efe5981dbae229ac4d6732110bf273faaaf320a894cc5c1729dce2e1e3470452cc8256979be8d56c3476e2ff5e5cafea55626cc4b6dd03380e00dec705f - -COUNT=34 -L = 1600 -KI = 67a0b0460fac8a7a901b082a4522797591cdea3161feb07f4f9af5d7 -FixedInputDataByteLen = 51 -FixedInputData = 768bd7703a8a2f7d3fdfc9cef2216647d01515551c1208d486dd93783eba64e7e40a10f76b451f9a754abe04f1ef702d65a06b -KO = c4cf7f86e1c26d0315eb55f28ebad7b67c045d6365dce3e1aea051fe014153e3206598a34954ee75425fbaaf5eab8499aaf733691752c1bc11c6d96ce9729c36558f67b0a67c4ba40bf7e13d45b3bbcf535df544583c7a58388d3bf8a6be562e82d0fe88696c373511101e56068a247deccffed56605730147448f1bda049983aa18e14b38b7feaf66c769f123dd77970cabc2dfaa332cee99ee90191e515f06c17c962cf3871382243d97dc590e3706eb287cff8e0e05fa19f3fcecf2d1df5b1c9602f1b4dc5c95 - -COUNT=35 -L = 1600 -KI = a681c726a590a59b237c3ae0b766a856eec40cbdfad6465b6b875659 -FixedInputDataByteLen = 51 -FixedInputData = 3e544aaba4186d97dff19c5355a39a03963e5eae4ed3888d5389c208c5eb3c8158e44cd326fca09bb71fa459d02cf36ac32642 -KO = 8da2604067f3df05807c3a9b761cdf2b20ffc8d6c2125fd056bef7fc4023b8aa5771eb3d99226348c58ef0feee247618e4357aaeabf00e1c8b6d1b89aa9d11fe67206f5f35d66461f4847e41720cadd21745b1bec882a7319251641765c7472acdb5091592dfce4a0239a09e2a3c6159e8c72d4a0bbf3d18c9dc60d0540244309e65934644d38fd717263afdc3a996fcd9f741fc05577407b43ee52e60ffbcafcff40c922603baf954cf3189dc0afd2713ad75afeefe147cf67a70abccabb50f5d0502a8866269f4 - -COUNT=36 -L = 1600 -KI = 6827b574defd2a29bd12ecf18ec194442aef643b5d0a2b92b968431a -FixedInputDataByteLen = 51 -FixedInputData = d4c592d8307709b3ea42a0f61da9ff400f4ff86113573c3818b3311ddf990ee228eb57b682b08b8ab6188aa1cf032a9a27a16a -KO = a1beb438c6ab33ba20383f281f8b33b6d88af9961c9d407cd22ca642a9d367985b428e4e3154dcda307f3558d61b6dbcfdc9e7e2ba07d5c093fbc68ad7f262efa46f3b8fc49c80d0a2df347d02c4f6498964308449b19fedc0fddc6aaf2ed1e46d519aedea1359c59df8e4cce2699ab6e48984e78322c4ed52ffb351f988752f837579ff0029ebcf61b0294f29ff39b06a255403005c115bc604432b27da5face44609a1fdc07473971ab436ed57035aa1f8b4250da4c783c03b876ffcabe0b922f303c5b0f894d4 - -COUNT=37 -L = 1600 -KI = f2011237a298d8f43cab1a234402ee95988bee7c3251b5bef81ade10 -FixedInputDataByteLen = 51 -FixedInputData = 0ce2a9d9410e0df775b9094738c589acbda4c7ad5b5a5a5eae98d8a19590f12ead530f28d964bacc1910d310980b419bfd9b1a -KO = 429f4c25dddc053813e4aa411cc1839987e0a5e3f88f93e1080edc6eb2000fc40c3e562cdfdf34fda408dc61e42c54108023c3bb9deba4384510ac4df13197f9b7d09a603e09694aaa6f1aed3178cb8fa5061ab2ea613efd9177aab5cc669cf5a2639272e718ad7d4876ee945ea19aa86a231bae78d16788be6a63c343aeabaf6d959e4da94c93ee6e969870a94de01700916884243e05d0a89f8b6745bfe50bfb8dd4a818edd95bb9df33127bb3a35e5cd2f1eed2b4e89bd9ac2eeedee86a5ed039d15971dd0773 - -COUNT=38 -L = 1600 -KI = 7a985c70bf964f35cc07cdde3c7b43a16599dc2ea7ce178e69ec7a2b -FixedInputDataByteLen = 51 -FixedInputData = eb264ee92c352adee5dc2a2af0dfb09d8e995bea5b846983576273878bd1a438df277bcc4487dc780442928cb122ccd8d0b594 -KO = 548a09247838da0fdd5b2ed5470a61193914032f93d7446553cb9d24667fec0600f10e3dbb02718cbb922e22bda9c5b761b86e4ee3704e34f6d8d0bc1f8152ba0ebed6ba3bd88c7022885895a3b3492c645de435dd6540013e838d8ae1f911c3ba9767f2c93e37cda68350846e81b2846c310d1404a0abada962e9a00feb0952cdf3f5d27a84de450b3d13387a43046c46f00a6ad819e2fb1c5070323691c40e38ced6e0914f212a386c2e0553244bcdde68ba63768cb2925eb7f7df421f6c39abaabd93fe4ce8d9 - -COUNT=39 -L = 1600 -KI = 9564684c023caca03c79647410155a97d8f5dc8b3ed2e3d0776a06c3 -FixedInputDataByteLen = 51 -FixedInputData = e6ec28bb6c955c6b7b7a0a98bc1d87283faba555ad3f52ec95fa78cf9efe54f4a47a991c928cbd9d7571f08e2e5d8cac96bb8d -KO = 80468db1f5724fc0aa589a782f22588d7805b92c73f39ff558ac15ea0ad4b9de6cb4a1e1c02f751dbeb674bb1b1bcd48c04da6d0f1d1f372643a5143656562ede38c39acb65289e47c027acbbafff5b01bcc41676504224637f09e6ed9738333fa700b0f7ed56c27c9fd73d5602fa6ea1f445547be1b36cf0abd2cf3df8beff4f5c1cf7c75f85fd171c9d3d8a710081cb7c4919768352fe6997a48ac07b0f22e8a9a6f5524ac319fab57b3b9a18a36b1cc2c8545f10c98ec3150176dc65a744400307f4b95e3234d - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ea3c64c4eb519e0643595e725e3b6d108e3bc96718e0aa4858a32e87 -FixedInputDataByteLen = 51 -FixedInputData = d4ecca0b22cba9176db6c6ff916f750d31a257e6d2bcc890588f0816c791689254b277b0839c17ad8e985e276d3712ce62a8f0 -KO = 7612a193dc518e4b42f100eab91747c0ffa3cee279e507137195cabd785a684891bb7358ffaf506b975a869ebc71deeac8a60e9ffff2b4b4090f963e76d84e72 - -COUNT=1 -L = 512 -KI = 2c2eadca97f8d0283cd225f41e143ae38ab66f55ad1a5c5d9e34642c -FixedInputDataByteLen = 51 -FixedInputData = 7a1e6c68705a6b9a4e6d5027fe1b4196d454c95a7aaa326b00f02664943dddf8d89fc05ef0bf713de889b6e2ed1f28d72d2fac -KO = c81e7cd3f1f2182a7bfc96f56d5fb5b983b6a3492f73837af4d89da0df5ed32c7e22846210899376dbf22442bc4da57183e56c837c69c909f1aa91f46350ef23 - -COUNT=2 -L = 512 -KI = e10339489734156d6da7b4c831fe60cb7f0e2247ab0d553890981e56 -FixedInputDataByteLen = 51 -FixedInputData = 082302bc9f527e9569ad88dbfd698429aae951c7c61558e203441ef737bbbcf42d0423c3f9042291a32cd7b67efe84ec7b5d74 -KO = 7bce22c60a4bd08f9a2bc1b8a8df5ad92f6e0fa02e81a7831d01bf0326f377a71b9b51373dd6e423c6d6748f4a900b74f4ffb8761ea4dd99a0a527fe78a10caa - -COUNT=3 -L = 512 -KI = 932d220418b8d5597a60519a83f1b5451d7878b0671d21fd0e8cdd75 -FixedInputDataByteLen = 51 -FixedInputData = 1b544c7d0b60f66a9b68a503257e444691641104bd8512d1f0db4234a198c81ce8f8c7e9d08400ebb7bd224cf8d0f03be90373 -KO = 63a84f2d558f3d0b93608e29b50cef4c147ea4294a44bfded3b3c14a32284e3426114b9eb9385a173a6004fac9079d3f4c1e0b2fcec4c7fe631905412e69676a - -COUNT=4 -L = 512 -KI = d0ec7660e30ff27bd5df3dce0054fd292e626b02c380f7329be08e31 -FixedInputDataByteLen = 51 -FixedInputData = 7a1db292df5d8a6b362e1fc09d3d998d83d706771ad3f4b1955e80bb220d3f632916d7d00b294e816c8b12eb458a71fd7e0c38 -KO = 06a763a3a5d687e3de5e35d0fb33e417dec94d83b9ccb7ff0247ae8e9c7356d9ca303ece6df832026df7fb0f8870e76acb918d9c136a553266eb6d0c08ef0d13 - -COUNT=5 -L = 512 -KI = 4da7a9480fe57dbd6fd818470b993fcfc37e0632c778e125ba4d89e4 -FixedInputDataByteLen = 51 -FixedInputData = 2083ff1754056e918272266d52277e4c4be8f2e20bce528aab9c9b5ccfa07538149272583c37eb5cbc95241e809236ea8bc7a6 -KO = 416695a6fa754b5d6b46d5ec96460d4f5ec1a0a02af80723b827e8b6699d2c71e1397242c26953944600d97fc8742cd9f5ffb697754c16ab4a8e83023db9a068 - -COUNT=6 -L = 512 -KI = 745cf5fcd6a1f1acc882277ad7fc326f9c8002a5e1b09e07124b79d1 -FixedInputDataByteLen = 51 -FixedInputData = c7a4683c6b16e6c36da0b88de1a7427737fde9a0237c5011b17911b9ea782ede26cc2437161ee38dc33e3f5f70c8f10b151133 -KO = 016937850022c51f2904dcfaf0bf91a386f07526e1aa0731a8a5f7d1cf41fbce12380fb447e0f658db8e37546a77f00c54ec8e0dbf3e5f41825f3e8ea8d0cf8e - -COUNT=7 -L = 512 -KI = 62c5b2898e159d4cb9b90dd8aeece0c777539da82a0fc19910cc552a -FixedInputDataByteLen = 51 -FixedInputData = 1c5d2aa79f77249175235893200fa789e65512faf51a2f2708b77ab0330a96c9c839e46bcd93aef94d88d9d0a426828112f9c0 -KO = 27455134342ae21d45812860bffc3bf41c5db003f81d45b834cd2208f73488cf5bbfe4f7b17f1cd4c2dbbbd67b40e77ffaa3fd73666ccd0e39ff67976e509ca2 - -COUNT=8 -L = 512 -KI = a599e09382cd8f8df9e590808b7ca22a68fbc33c074aca3ac0117e21 -FixedInputDataByteLen = 51 -FixedInputData = 3d606f8803718ea2734241ceb768565c750b1a438f2dd88907edcfcd1050c0f0aca54a23da0967b4e7f3eaa28255992bebae60 -KO = c17149992dbda4cca0eefaf2cd6fed4c72f13c83f0886ac766d8375c6baa61a79aee4c03711165472f56bf650bc62e259c8334f9d47d2a9761a97f4a3011ba23 - -COUNT=9 -L = 512 -KI = e8ceca9cb9e6acc7cdb1e1d01a52ae2444f9735ef031a1f6fe0a45e5 -FixedInputDataByteLen = 51 -FixedInputData = 41d07ffff5c94df37ca555d7bb81a9a1509d53be0750d2756c51283612e5236c773cbff2bee7ac09a4e11fddb49b0e5aabe0ac -KO = 1d11c67adc0b36d31050c2c200a46ec9b9ed368ad03d299e7295ceb31789a7e5648fc373c2c9193ab5ee6f3403e87a28d3a10fbdbd9cf4d37639a11f50c130d5 - -COUNT=10 -L = 2048 -KI = 68a93262016fd16a3b47f11f0b871d174f94949971dd96b7de1e8017 -FixedInputDataByteLen = 51 -FixedInputData = 13b008b29e4376ad893d337b4971784a2252e00397994e67c36964768a025e30e5e08a5d5feb9dfc921b46f820b12aecd07b3f -KO = 702f76b807c4907f09685153bc1b19e850182fa8a1a99b9ee17e58851ba47abefeebdc2f8e28cb7f3dda86caa84af2b8d7d4c14be970d6c08d46ee646babfc62ee5880e14a41ff1554b5da5de3ff06002928eb720d8d23e88e0639163f1f07506a2063d60350150e9b21475e70ceb521f4a41d6af831fe990dd159ad37aa5ae1433c32051594e6e087b5314e516f4cc4cedf313c60b14f82c6c29a651948da3e3d50abcfbf0d5ee98eea7e1a50e890b2d89d2f2be15d5142dc95e9fd3e31bd708c772fd57b0d2c9493cfef16dc788c2d2e7114c48c2fa7bbb66e3e535d15b865c93df2376f45770f3c1b3ce6949093827ffcac5ca13b2b1a59ebb0618ca26a23 - -COUNT=11 -L = 2048 -KI = e980696984d285e7adfdc33313dde79fc78ba9a71547da29e6396d1a -FixedInputDataByteLen = 51 -FixedInputData = 279e93745b0f56de37395e64011280fef078d2e2b5457d25bb602efdd4445be75743963fe39990357eb2ccace07368032157c2 -KO = 8c9c763c888712caacde4acf5f31750a923b8cc24fc3ba62dafbd582117504eee9adaf1577fdc2dea0a82e7563cda77a7d5e66ffecbe8bde5e0e8ad2530e9d51709e7489297ccd48e42654d23cd7957a1a63649c7d7139fa7b98bd1b1fde40b07abb6948b46168be9f49779bb1fbff8ffa7e20e182e47b8b46c461e7a9a26cf464da74b6e8700a404b43588fac8715b7fb46ff0403297a33ab9ec0987bd732de0f85ca2c63b4f500644502d0f49aaa1f2457bda919e7c473fecadb7b6da57030a03c7ef56cc5027cd9d67143d9702b8676fa2e6cdc8dbe507a9326880d5eee2ac565c9b242ce532989d77c6b62a4ba6714b157e6f65cafda8e13bb83ae7be165 - -COUNT=12 -L = 2048 -KI = a1c268a8ec11cf9ca30e8f9395eca366040f698ca37193dab20d237b -FixedInputDataByteLen = 51 -FixedInputData = 67db23afc35c86310caac4ac992195a974746adcf4c9d2c25cf569365027662801c8de4340b82dd17c0ca49a62ff3259e84449 -KO = cb5f138cdfc59636002e0207244b14a122dcedc92277422cbbaa38b5e7ec354fa9883429b427fb4f00e4cb90b472166cbb010468d9377c5b819b0e1c5e91c201516dbc2e65de783bcaf4f0bbd1c38dc8753ccd23fde7162d037eb0d5ac303f6e7e1cc384585faff12405cab76cb2f24e142ae7d4923c39b034797056721ef9e633489b53076185d59f2f80ee9134b5c176ffb465c8d603860be9e9b053dc0d16a54b1c5e5c4a0cde01975f7c800ae9896b75a51c7246e2ec1635d6420809b437c5c0e7be619b90a117d239d800e4263795daf25e180aa1750d485c3f3c386d9d52031e6da64b6eb680bc1a6a2c0b1285175171fbc5281fe18ea9742ec302d917 - -COUNT=13 -L = 2048 -KI = c6011a02ea1d3b983e25cf83b5b94848eae9d93ae805c12e4ee90a7c -FixedInputDataByteLen = 51 -FixedInputData = defb60674e03179aceef3be6bf95d06d9580d1dac97660faf1195a43a65d2a82a3b79167a29b68ee4ca11ec5c20e98f3fe464e -KO = b1674d30b30002966f83ba35a61d9c70ce18e0cf3be7b3836ab4ca53bd8bd8efe06c3b1cd665058034c7221559882196881c2fa1eee9514623ea518818d0bceb53c0901db108236c364df393d55c3bed6809cb1c09028352f62b289fd4fbb21e40ccebacd6a244f28c115f6073d9839bcb4d6853c066c863b3eba983c8f03dda9e634382de7bd57e7b9aba916ae0a88e5fc01ce75adfd9278f876bfb112e3037a130805e75cc76f93168d3b5200a8fed7e72f4a1a445676b4270366891c0d626ecd4738bb631846df80976c75efede60134b6684e5276bd6361001926265e55cd6f756c98e1a4e02227b13649f4c41fe2e1c74e5235742989586347f17543ba7 - -COUNT=14 -L = 2048 -KI = e37bb0fd03a0f1c25d42fd8073c4fcd9fc4196d3668ad77c3f1c051d -FixedInputDataByteLen = 51 -FixedInputData = d148acd4f369c71d29478726f570313e048b092794aca32c6a816963977313086a20c6bb1a7c93f2243e7158e9a4070de99eb0 -KO = c6f11e3a404f8cba6c5f6d6ee14c56d87573e2e6b362c6f170cb844b9b20de57ea2b9d36ad08c8bf26d67636089836dcd3a125a98c7f39619e8da3254714b02eb3fa113ce5135c6d2739be6bba8d81be9faa69ab507fba923ab0b93b291ff5ad5540deb02657da2c937ecc8bc9e1dd4301648e0bf8564c838aa87c3c4f6f4b7978fef2944ac17a739361a351acb0bf1e9c5e1b4f5061fada3737be2ac126e8a16e18ab130d317530079a32be1e535652fb3be5af248f19da7fefd3fb1e27cc7f453651900dd89f94ff18230a7be792e0714708c84466c8a749364c15c38b339dd65ee41bdf9169509a70cff5cecde83ff05e43c363e1fa36d55b72d99eff6bb2 - -COUNT=15 -L = 2048 -KI = c5176e8bb6cc3993f84f9e285ec4cea8b2d9e6f62d9e15b662c6c424 -FixedInputDataByteLen = 51 -FixedInputData = 002c9a8db1449a51e9bf5860ad4b501298ecab5916ba22d8cef1512f7f34f070161d479483fb6b2c395be19b16d90825fc6d1b -KO = 49c4556f72b1ea82e90191513a125d0ad8ce1ae1b1170f1c5a9bfc5d0300d2bda906083fa68739059518b4be8c19f285a9d69b8ebfcba29225cab24490737f46e8b47d6a61c9714c2fbdd02810abb9cfaaffc3eac127e4a9640b845e0518d468245c74262bd69ac1ebe4ba7f964ce60d53f9ed06aeaba61e293dcbdce962881d2ed52fded805ef8d13b1a466c00fc61b72e426d73e201f94ab8224e2e3bbe5141751a0e55f2e36bb2351ef13df0cd8bc652d95fffc96970f4be131fc8162402e59548d40965eee858bd464d38d3ad01c36d49bc8ba48ac86d7a9d9d1890b1caca7ede7aa6d35840093f0cc11b11bb7279c368216a6a692f2fccbe4881bd5f1b2 - -COUNT=16 -L = 2048 -KI = 04df196c2a19e65f1a230593c327d44fdfb8dcaf2b6c9767dcb2015b -FixedInputDataByteLen = 51 -FixedInputData = a2164cec04be9c77d24ca99e6f4f520f9a1861899970a2e0247982b9d051e9b8c49b25e15ee22ab47d3c0fdfb0604a04ed8d35 -KO = 1928212bc0e7bb3d6416f25e284ba26873f52d2023017e0535c84d24c66cf3f211afc8d0c4e3e99c482dc5b80e18e699dd56ed82af88ed07a942a80894540cf9c63e47104ae383e5eeab700d428c367766b7e64518c0f65f3b61c67604cf6c8c0bd195eb89abdc797913947be2e36fe6ed407eb639bf8f59cf07afde9050169c169c4c1e0bc8a90963c2b5d754935df1003c0566a58ce93146c2484a2a8c7ec240316bd9e4215c863359cc18b1accf4785f186b9f8f13674656a7bc6cef09ff4c98423a3f0d72308869a4af32803c2a4190278509050828c1f8e924c5cc1c0fb5122f1b3c5bd90552934a188e1da39508d7ffbad39af1e29730b8a5d63190d82 - -COUNT=17 -L = 2048 -KI = 923e08b228447b24aa8f348e106836ffdf4f7e76a44e728d58167579 -FixedInputDataByteLen = 51 -FixedInputData = 672da109cba9b8d602c2eb95ea998aa6a12684dda117d7d3447794bdb800526c918266494068a13037a1713a4eb263cde49600 -KO = d0569c4db55bc80c06474d2006dda56125fdae6c63d3992b53840219dd2583ef5478303342dfb0625c5074081d39437a82e36d5c7170772035d18c8eaca055e527278d7d44309ed98dfd16b4cf05627c27035b1c4494de448692410c7d094c6534d9de856f85d6a1faa3818d1e824b9b46aac030a68aad34f49d72cd901af11a2fe343b1586eb3a715079bdb4c95f90a154b6ce828f82eb1ecc3d895bcf80cfb0ddd095eaade2376b1ac44c431c5b01b4e0f7ae56383c19fdb3b16accb9f078f54ca6f3601738203ffebf78ecb57c8bcb8a258bd9b2a0d03313519cee10bce7fbafc071fdd123a34207a3e4e1ef60323d1e85cf28c88f8b6b8ed62d20932272b - -COUNT=18 -L = 2048 -KI = 623aa9d89a9668d7654e1b6419a82a3e12caa4d6e9f56dd8d4f1b8b7 -FixedInputDataByteLen = 51 -FixedInputData = d53dcb713eb7bc07a1ad1a051a7018f5a32ea2622cfa9898e9f47af13b85bc5c5ccbdd153b608eafc7a3a5b270859f49cf4045 -KO = 76cb6921bc0fddb0326d01da7e4c7f3ac24971b8917ccbcea3e3bba1b4d29f42748a800964af00fb346cd3d141334d50f59aea5947380b01a5ea3174dfadacf5432f010e9ad2804081086a49327c8adad4c25db78da0d11720bb09ad34c4e817fee0324285c7de4baf8a366dca7592ff0959b95bb2030b3c314af330a9ff201995cbf0a16fe5875eef4760b377cf0bf8c3b8d11731b60b5ec5d8feec97b97b5b2593baf2f41e7198aab890270fd185dc58e1ff79f73a1e446e53c329319d66ba07e8303841b5c761a4232147a7d5a7e8e7f383d4f2a2a8187c4417b73ba846f5780959cfa0152fcbd5d43c7d89b397ba999df5fb093bae361b5d9114dc7ef682 - -COUNT=19 -L = 2048 -KI = eb23f756940fb1da9316b6b9b7e7579380888c1d586a5b9a71c8fbb3 -FixedInputDataByteLen = 51 -FixedInputData = c5540ac248784008630b9b6144c7283c86552b8734a687003ca33f38b0e8e25f57aa175a546efc62a3fed1e595ef59726262fb -KO = d1717236640ef0199590eb073312adb7fbdf397d8df7a8ae3e499344626e198bda770a34e34015c0b93c4f4dde6a1638c0426043410f03b69148508d95dfdb2f452cab496e80f65f0589e5e770d706ad12446458dfe26d06fe2fcc9f32d364a4e5ab2274daf20c4348c3a98e7f7006fe931e1538be55adf158bf9d22de736afab084dbd3c2c0212ebd93969e807d857a8249df9546acb651c2238c48f3514f146e7f97a3718004783e4fef9ab010dcb22f3459d73afd903142250532818b13dd700b7f96f9de0bcb7fd454bc2a588af6012680e886d9a26e4bb0abc622a99746c1449c6da29ff16d4f04663ae0ed916ab45e714bbd00bbb347d134db246a152d - -COUNT=20 -L = 560 -KI = 92268ea890d689337ddac63d77fea1e0fe83f6719115d816baba78b8 -FixedInputDataByteLen = 51 -FixedInputData = 550809b8faeedb1656743ff92de9d8f3994cf77d452fbdce1e90b70a5e82046e824c2f6da7e16d8c114bd1dcf846737b07f755 -KO = 5f9fd8c30a66dc0be5ee0b42638fe5c0a92b2e2df4c72207949ce7ecc559828acd74553c6363de981d54c309593222834360b2e004e9e9700d9346d39af4f6c2cbf2d78f6ca4 - -COUNT=21 -L = 560 -KI = 39c3909c04e521dcb6fc726f46a1e0a13036a34dfe5c10e55692b40b -FixedInputDataByteLen = 51 -FixedInputData = b868b23280693cbe7982d60e4a7cbb527975e8d5f8554536f01acf3be9e2b9ba5fd101ea61add22b5ccb472e10c938d31c022e -KO = 62a0acc6c785ac2cca4742ea567b6779192d7c1d6179a8e362bba473b1c60c75236605b37ad6186445db1ba25e2a85a89cf340fee1a6285e20ed184865edac605f29f3268368 - -COUNT=22 -L = 560 -KI = b14d04764f802ada8368e7e56024f6b257a843a2ce38d90b890aeb53 -FixedInputDataByteLen = 51 -FixedInputData = 190f5f375d41c220d1d1063712d79f85485271a247244d50b4626bdf25e2fb4de858ab1364486689aa7c79b681f3f2712a6bfd -KO = a9874dcd774faae4cb61e39d87fe049fcda8a325fe0801fcf4f48fde842d187b36c263a8581b3120a23a97e30b5579db9b3f01afaca209b943a1bbb2a5566430089b14257025 - -COUNT=23 -L = 560 -KI = d3b16d5e6dd2180157c5eb38120e540c5f0f97993bd033e6e2705a2f -FixedInputDataByteLen = 51 -FixedInputData = 5400003c596a353defa3f4133cd2d86c5309c69ce18749adda510f5cef09bdcbb92ba97300562f05d083cc7be261ab3be6f2f7 -KO = f29cde6071d560845916a0288ffae6e98b97ab1a7bec9c5ab4c57139eff991da259d66e19aa661d5404b4e60126e3cb6f1c0844828bdb2c2fe5537286624fc6d4233714cecac - -COUNT=24 -L = 560 -KI = 16a4cd68c01aa8d671407cd2d77cc8ea59e83322bd228fb73ca8cba5 -FixedInputDataByteLen = 51 -FixedInputData = 84cb138986d965ad825c0ae5d1afa53247230113fbd7a48999a7caadbb89e66d67d0013b12a87a75294f58a32e678ec0ba7578 -KO = 64c68d0822d0691f21c029011df3ec2f344fe346ca5ef8b5359e2dbf80396b70be1c53e60d0465f8025d35e14170f81a0bf7698cd4c60dfcd53d0e37c2b19668c66df7a51076 - -COUNT=25 -L = 560 -KI = 8fb72a96badff5f16baffb33da55bbed42fff275b6504242c0a3c9f4 -FixedInputDataByteLen = 51 -FixedInputData = 355659061bd94d5d570898197f5924e79af099ca493ad59421b0df0a28a43ffa79652b4aa4aca74ad5880faeb12b87adf591b1 -KO = c5c54a1b648982786cad77cbb6942089349ef0558c709b4f127c00b5e7b8b64794224acfc13e24280401a1b9759ea193d6a62b34b6e481f1a621a2129f63d3a64b44d4a2259e - -COUNT=26 -L = 560 -KI = 53acd25d44e0a2f86842bd5c32215cc52f46dea9420ec2c62460b096 -FixedInputDataByteLen = 51 -FixedInputData = 0d85311e6c6a9053a93a7233c77c8147352747e990d4c1364189a218a6133c12252ea5ae5fd50ef66f0b923d968165e29ef74a -KO = 572a36230899e4766eb2421cf8ceb289d540f95107cb9d200a8c1eb116eec6a15580dd4923be488f3206625ec74aa2e5d3c842ed03126f7b82fbb31d58396f552ffba5cdfa50 - -COUNT=27 -L = 560 -KI = a002faacb5818232c948239f5f0eb0b9570db68fa404f22f11be82d5 -FixedInputDataByteLen = 51 -FixedInputData = 7d042a4dc28d50ee3fd457fdf3fb06889d756579bd9f4ca1233fd477acaac00576f0b933e7ae3175b8db74b6f72758ca63996d -KO = 058268ba0b9b0975676bdb2d9af408ab991f83003fc00728f51f41c72a926336d8cc595f58db4577b302b3dd4bca5366d9afa82b2400ec627297900072427929ff646a7e1dde - -COUNT=28 -L = 560 -KI = 02273d23f01fb263181af600e1e7b9ab845ef3ee9879e90ff894185e -FixedInputDataByteLen = 51 -FixedInputData = ce51319e08ccfe18ba2d754c2fc55ee8904f3d2f88c5d824eb8cea36297b64f4085cefb558907bc311e4f7fbbd075c90add720 -KO = e15585b390f453ecb74c0902a247a39b68d1f724dce709c18295252e1f2864e55f6884753c7836868410d7e9298c53ac50993f3268777674339c373a8839cba4e4327dc32622 - -COUNT=29 -L = 560 -KI = c1283f863514da7bf0fbd78ca3c7422871e032ea12cf41d3457aff75 -FixedInputDataByteLen = 51 -FixedInputData = e608822ef737bd678ed70552a2ead7bd1e7dbf74e0e59fc51bc206c9fcda322f14552f00c1b860919405a97ece9ecd2fa93211 -KO = 922c7780689e30e789be775f447ef78da805bc88831bcd426efcfa75eb1e6eb175fc3f3332a31cab86d027aed6542b01b9f49273b882719e2e7f82ba6ccd6004b9b4025f2bed - -COUNT=30 -L = 1600 -KI = c6b9aa7ef008bf37a86025c6fc9857b44eea7b0fead3423eb04b73c3 -FixedInputDataByteLen = 51 -FixedInputData = 796d7ff2bbe6291af3faffa01c2ede18ce3fc62a6c2629793d209d084dd26c2b7678fa25b38293f5436cd2b94cb6fd0a95240f -KO = bb38c883ba04d071858398a635c552fda60b24c0f8696436839a29998c38a8a859fde4ab7f36893d1da6d46635595eb1a76a2c6e5ac7121f7f2498641433349f7ae0161c730154b0f8981ee47060dcf0e0345f0507eb3817242d6e309e13126f85f081bdfe59ebd26a5fe8e228cf646921bdd3ae238b51e88ccf2a69d50dc437bcc8d27fa7c77878994558eed49e297167f9371d0eafe80066950249f1573f42ad032bc20e996404c0ce331b6778c4c55a40882ec3df33d163498d9312f91a0b47355b4d4d63c6b9 - -COUNT=31 -L = 1600 -KI = 9ee64ca868c1bc3d0ec87b94207596784c503a3b9e63a6989191b79e -FixedInputDataByteLen = 51 -FixedInputData = 9d250051c61e11cfe3550ee922433ec4fe488abf1f496d726e283d3c708787ff195fd1ae684cd971ba83bb85cb00c92d6442ae -KO = 5705212d0730a0b23e59654ac2d9b8fe4fbf12c3a8d9265814f63a5199c9a8b469551b0439e005a32805d5c23878394ca3d4569a6f47bccb3f59b4b9a92b99143cdd2d087b4934129dcc337892920272bd1ba88c0bb048ba10ebfc15ad1bce15c647c35e0729652a4a796a99760ce05156c117364dd4d56599a152f8537973a2f918bcadffd988db4415f5c3cb6fb0fb68631a679bd48c4483c24364bccbf41b526c099b8d63b02b9faaafaba8a7a47af9504f1fef7ac15a00b7399e53897c11f1eeea2c4e6cba91 - -COUNT=32 -L = 1600 -KI = 6fc8be198ddc6a73e90c38de34a5436a192ea7c3f48fdaac09a21d07 -FixedInputDataByteLen = 51 -FixedInputData = fc2468daf80608c2978591125c0b63506749f3639006f1f05d7c3c7944efc19d1efdc0e820ac09643fadba7005523a3cef8b58 -KO = fee5c8ca3b417119fb0825137ef3e0e18bd89a14c1a2583b15107fbdb06095c9311d01512042e79c9824e6b01960d222df755898e5a3762966839e55c160d731c9345db44a213b7936f7962f58377a20e8fad4f214ba2d4cba838f21a66299e0fdb7ca08d549ddda91e6134991e1c07c9b1dad4680b7a75fcb326ec59fd10badbd813ee1601545192d6de7583188ddcb5f3c7d41dc80c42a60d6ece904aa03a6de5127ae6fdc6db8d3d93e76a0539a1ad60294d9a20aea6fa6c1c92da0f9ca40f3216302fa6b8374 - -COUNT=33 -L = 1600 -KI = 4fc51658e5346c6644bd8a598393d52501220df27fefb1cb921f4ce7 -FixedInputDataByteLen = 51 -FixedInputData = a979c5437a799c9f34bd77c94dc52cd49076de9b46b1e58395650c160384fbe17721569b152d86d69c7cba6af6e7747ad9d263 -KO = e889509a8328e57d1e825f443041d579262411327cbfea1293f492d3d2f5b511b9d25412e2ebd9d1b9e4cfe82983d0328f139e4ddf26253392a341152d1a723f8107efe07e8351dabb6474af9bef8eb76d0fbfe477a47ceade5605ff9fc45b05172a987f911d5a334f03122112eaf6f1ef44a87d388ef9d2e5200bf77c52c68d90f1a0ca6b8b28f5e4760b5da2e8c156d597815b6308c077c8662a3be4be4f4691aa152c6f9ebf89745328b34d5205ff6932584bdcf83b93d9df0a2c9f08a1cdd2b18c4e20d0e596 - -COUNT=34 -L = 1600 -KI = 53944a69e752d5f39ef3a2d518981a1326c8e5a398ded4803dd622f5 -FixedInputDataByteLen = 51 -FixedInputData = abfd4d91c6e1ca576f9431f8da869f453bbc56ab644339b280394048ff8719b54f8e7ae09c1a7b263375cfde824f868e960ee7 -KO = 6f89f208e4180697aed5aec48c3452b1ed92e15e57db6c82ed6fc114bff014cfa82177962d83e89d99dfbea3ccff9e448bdee254431febb1d0f141cf615f0bf3b1a3ec411e705dcdd068d1298b50941f744d217baa2981a2d48fada8a283b0c5ab0a7d1f4959bbdf6163a284db3e5263044a03a27eac495ec2e42d5146ca7d5e8c816df187688d28095519b46deb6c36d753ac236721a1787ab6e013d3d99f7127f36a2da15734c3b3b555ca6bc659bfc3ac432d4cd02b0e2ad89a61a1faa411aa7629fdf77fed4a - -COUNT=35 -L = 1600 -KI = f9ebe7552cecb5d1821270639d6c6419f269456547739737836a5bc8 -FixedInputDataByteLen = 51 -FixedInputData = 3e7bfe88e14f2fce67f848727fb8fc9986448497a2b99bd27ba76c364e210056b6325bffb1b2536fddab463d12f1454aa6af8e -KO = 581b16fac7848367722ae27e332323fc0a142de99d6c0ac87281c61d4c9d86da80080676e6a7db500ea1290a3f49de410c11eae1da4f958f3eea3193a5846aa5526c30a2f5d96019b820633a5579c5da8c9efe2a0abdfc26f0238046a35e4c9b4489a294f0629ea9f5fb87025cd21f3280ae55906d9e57326cf01dab1f1105192c71dca56e6bff13176af7907d457205d543fcadb710cb36590cf653313a05a1d99d296f6c995302dfe4fcf6778d818ac401b513e082d96b5fd1205d68ea57961beafa7f7bc8b093 - -COUNT=36 -L = 1600 -KI = 609dd5dda1a27a6cc9e44314756f7fbfbb0b8e05b99cd1270d54a85c -FixedInputDataByteLen = 51 -FixedInputData = 849ca093939c1eb470fd12fec77823753617504e4f12314f3739de2976eff674fcfd9e517d4314d1a02ad37062a273ed5ea6ed -KO = 523fa40e19d63be6a64b9f028ddd70bba3873ecdfb68b9c1f3e2db6a0fd9f76628cfe72a2095658336065f1285cc0a7c1a35219421fb9105f61c936f00e488993fea89cc241d580b19554f960c6646ab8a2a5210b93f2f1e39bac8ae87516bd29680a31c60e741d981a447fbf82e215dbf1add90111b53328f4eab589b6eaece402930ebbc39d0523443af641e62c6ede49f14330efddc26bc724ddff913f4af8853459c330317c1ba8a19204a4ddfd79ed96fdfab7b50cb656ebe3d02952f6099c8319541096320 - -COUNT=37 -L = 1600 -KI = 78fa77ac12b64d6c2fde9cf19c885a54e3b5cae66b84fc3886cc7aa4 -FixedInputDataByteLen = 51 -FixedInputData = b34e6fe69b3c0d1260dcc466ed48df3e7a48195be93e35c2dc188839f75d1574b1fb747f54303e3a366ba61b72ca05049bd473 -KO = da85cb034584340de5305bbb6a88657b055fdbff7e1399d4d431ba3b3041e9c2f8e8018dce5088bc2646dae4295ed98276bf8f34888d4ad403bdc323c04bcfe7e9bd8410ea77a98484702218a9c81d6a3f7ab96b7a346bfdbaa269710fa890f0acec2d58078a8f7335e71f4d8f710fbca5526d6f91e7250ed0996c756c384d77c648a53425b7f4b88a0d5427509bde12f5063a9df9c55d9e2f79120bf8958f1f5dd17c9ccd896c2790669316424a5abe8595f0ca1be57df5ad35b3d5d2e696f30a31f7bd76c06df7 - -COUNT=38 -L = 1600 -KI = a18088ac1f77fcc25d96f47d30ad8ecbb967941bbc75cb8fa264710f -FixedInputDataByteLen = 51 -FixedInputData = 6f45083241c12269cf96a2a11effefdcd8f0fcc0611057b0bd1548736bf1a5f4cf1630c84cc4e130fc9af5d698b94696497f7a -KO = 3364ffb28a1f9a7fb8635fecdf81609fb6a9eb56e6510a5bd1f1da2ab0f819570fe6c08ef55853dfa6a00ded30ea0802ede3366015d82493f4f5bde088d2cca43c6a4ee7e2024b9aee78dbb852eeb7c5da1b145ea8e2ff351024c29a97ccfaa04fd58c5af7fab4528e080935278f018f968db7beedcc91205caafb510d18c5db2e107392713967a8301ccae6fbb51b95dd0d68249c3bc966278aa1da6b3730b52650fca3bbcf4b15e2250660c8a565a2bf643f509ea5e83519ff9af38cd505f5b49f83927df55cbf - -COUNT=39 -L = 1600 -KI = 80dd29e4c772a3f6c4fc9d4d41e82c8e147964f99e9271984f460ea9 -FixedInputDataByteLen = 51 -FixedInputData = 23b06a0da1875c2b4e3939bf78a739dbdde26bd0b01a37e388fa7f411bdb0642eb69f5ef181b9196f2d9c39c19c1b579b37aac -KO = cc377f84ce1af9cb1a25458ef9107cef66a1dcb5954871156a2428e839291e66becf2e6b328222c7642759d61fb2a900b12884f49553520f3f840fb57c7d478eaf6647c03a161fb218b73f6d51991530feb79a4f32821958b9c7c449948dc75945c52c04c9b34a343a795d2a7b3ca0342a0ffbeb17cb2e07a2e82be65c0e9ac02f1e61420b1e6d86a7c90aff684fb73963f6f01c65c04e283718bdd814758f43922a5b7826a7e987ad29c9ca173fc75e40a5634ba33e42c79b6f4f63aa56166fb91d654cf1748a69 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 7f8f5a0bd1f56f1a6096205af58e9dcb1e6cbf536ccf101d57dacc98 -FixedInputDataByteLen = 51 -FixedInputData = 4aa26b4f70823616596e337ce61088e72ce02475be6831d6b6928ee9667ed2c5df90e513581fa1db32aca973fe76d7d1a33519 -KO = c79cc0755c1de94230f1424ea52590a7c4a4910c42a2ec7fa223d4ed0b2ed6b5fd2244c3f6a55d74158e1238600fe1cac9aa91eb336167b8bc43d9331c3dae91 - -COUNT=1 -L = 512 -KI = bac912f4a7fb1c960112024c7cd304692bc69118af95fcf35f00fc81 -FixedInputDataByteLen = 51 -FixedInputData = aa1df74f430e52fed3b786c52818e86f54475c2a2e95d20b2453f205fe2303e6e897b72dfae0b02409fd0ccb9f5638a0d0c86c -KO = bd2bbb8d4628df0b5d8478e0c4ee19f3e076c08e305599b4b63457325a5501ed6ec2fc6da4d1a4132780e9c174b3a1b1ed86c8fd18cea28af9f612cf1c3b32cd - -COUNT=2 -L = 512 -KI = ff544f8e00482f8b6c15926ad38f0a7ebb4cff0a9f6f4d4a0c12d5a4 -FixedInputDataByteLen = 51 -FixedInputData = b48e100f5e8b106dcd723c812e628eb606ff5b21f2e308377a97cbeff7a70f0c1f2cd2657c1f0de99b5293d92819b080c60901 -KO = 6ccd48c6eb1ff0564b487419b79da8c653acafc1da76e0d9242da5b3f7519d5ff46b10c39c94702991ae3799e696b70efef8ecae94cca775a4c1d6881726fe3b - -COUNT=3 -L = 512 -KI = dd7c122aab6d6ba961b71cc950cc7e4c1ad3d0f470da112446572964 -FixedInputDataByteLen = 51 -FixedInputData = 8db300b5129d79d743c9c856280e1f05923c98af69325425204b0af26b3db461aa3ed71b2b14e40b3d10a892cfd956b77f540e -KO = 3ae82ce780b584af0dfd6ec4dab0e765583c90951d416eb92b87bf617f6104462d1e13d460b2b8c45ecaccc1a130d88f7b993bfe2dfa9085f47dd5bc7e464cf9 - -COUNT=4 -L = 512 -KI = d914015b2469254deffd2f53a2182d84664ccf159cbba8216fb9a18b -FixedInputDataByteLen = 51 -FixedInputData = e65a03dbcf77fff65bde6edc83e61b8dab683834b24d6433c2272be15646f25228fef4d46c54e3c3ddfaa8e29ca304638053aa -KO = fd050cd9b0b3178b22027d30e94b42db259558b91b046464f914eabeea9ab8cc6723ff9ef29cb72fcdabd12f48044c453a4546a8ed3fbc879f1a34a92042b8ce - -COUNT=5 -L = 512 -KI = cbff5ba80c7cac1d35eeedf4bb63d02f88246037ac67290d94f9b4d3 -FixedInputDataByteLen = 51 -FixedInputData = 1f1f6a6b61e2a10a0b52b39836351ee0bf75ef27311683d8dc6e50b0912b120d7df29cb3db7498e716795fef8167b40842fa83 -KO = f6c96d79d9c1f32b69689d9dc0a26ff45a0d6b398a076b817fc65f06419ef3fc8bd71782abd32bb1a259cbba6dc04aa084d08e9f89e1dd328c365aeeb1864016 - -COUNT=6 -L = 512 -KI = 91d61e502760889da93f466ae12d09536ad1ac1b3a7e76c18fdfecf1 -FixedInputDataByteLen = 51 -FixedInputData = fb3f42c120fcb32e1cf62e5b1a821e0d0603a1bcfa350e8da3f66689895297e8e90522a6da28893360c08dd9ad9e6e1e5d53f6 -KO = b2b8f52d18b39f68177210ac7e65eabecae1cf7b0afdfa453025bd66f8c8999ba9c9e1078a59746c5645fbeb44fb2686b848b53019429c627b2dea955e0741a0 - -COUNT=7 -L = 512 -KI = 7e06fe55261743a299ff2a82851b45cdd69d530e15500a8fe964b236 -FixedInputDataByteLen = 51 -FixedInputData = e1b4fa20c92b6d4003bd61b2b2a82087657bb36b8d9f83d4c2cbe4269f01b130411990f560a014aa5635ee68f7794d5e57848e -KO = 6e7e7e92fec8104754cb5b512d59356e07d93c4a6a86180c4216e52408fdfab3c2e0be06033129b83aed2710720b96f25f4c3d7596bae87f3f55d1aea2169b31 - -COUNT=8 -L = 512 -KI = 75cc3619404748e94465daa5cf548bb5bd5a5cd7ea1fe0bbb88c7db7 -FixedInputDataByteLen = 51 -FixedInputData = 9038ad4090ee5cebeb787cc6ecd6a70720a8ee6342205ed6a0aed4843a2613c1927fad931e71672f1fb2405f9e85601d1b6859 -KO = 5deeaf082187cf98f5139de81373e923cd5407c20acd42a19563a7b0fc07f22f2b99dbdc8e7572d2a027f68bde6acebf6e232a84db020ae825a2d5d4182eea3d - -COUNT=9 -L = 512 -KI = f2a74964748419a2c7789bde20d133a54d9f1f28be948ce7ea0e169d -FixedInputDataByteLen = 51 -FixedInputData = 7fd750b11a8e59b93aa556d194c6a418d3325af730813608f3aeb1e96f82a93234b3e12c64c60f0cd13b294e64754255d2e81e -KO = dd75c31dc9452d3545e07ad8369d366928f13d11c75c310309b0dae13c20ff4fc0699f29cb1574fff71db824171c8e842359271a80e6bc8a4d0e14abb8c30581 - -COUNT=10 -L = 2048 -KI = 9da25dd8241b358db9184afb7b47f6e179df21bcfe9832d6abaef7f9 -FixedInputDataByteLen = 51 -FixedInputData = a95a81d06250c8ad75ddf495efb1ba8acdfadd38a2b54b4c00fff2a69b64fc2de63def9657e61f9a55c83057bdb7bbeaca14bb -KO = e8e069d2b37aba3af19f0c38deee34bf2aab27ca0280021202b9cdc922ee843337f61c045f9e6001c5d5c028f1d51eee06c5b6220392817fc6449b31c6db5bcec61d614b275c1281dc97a894cef9d7a82306496516c226bf9db6bdde1776c7949e77255f5c14d408abdc1c3608f0ccf9c9ada72d6b9a2c23d912610c615aa7027638f374da5329fb171745f3f49f5c345d09bcde49b594c9487a9758dd6e2198b12f41338d435ec2b91ad199a21d4769a08126e6a3f532fb729b7a44ee587a4aded7fdd11782e0349b49161e71ed6d69018793506e8f42e4e28af418c22d92577ffb9e94a145a3f069419437c7b80901be4785e66f6e4db1ec5934095b77149b - -COUNT=11 -L = 2048 -KI = 4319a4170c6a05765fc7dd07453122ad5d3346d3472a0503be2b3b04 -FixedInputDataByteLen = 51 -FixedInputData = af8151365ab863954a05e93e01d46cbf3ccf572d448c8588d1dd5db664bb5cb824a9d8014f1a4bc55a3259d0ea636320601b36 -KO = 477f6d6ac16f1c83f1335e52c3e7bf47c43d97cafbca740ba060aeb22f4dbe6a37c5af8ed4cda84dfece8dc14977d91f62ebb6ba13a5266f46f3859d3c723c7ebadd356ed3f84568c831b20702a567e0f26512a674f064a9ed6f2add8f59e4218a09d7418abf64bca2d0198cedd021e6d504a409f183205147ff8fefdb745febd286b6a094cece0c0c810bab4fedf6e92ccad6abe3bf4f94b08d9e0b7ed7e6c8c6328e16a93e35a23d9e06d57cba61d79266989880a70459e3cc0a6543739daba84276bab2bf699b2084dbb15ecf9cfc21f0e8a70e9f1ef4c7c50a61dacb313379bc4a2fdea7ff54f93872062c52ae58baf0e2af0de85c20985de513aba30aa8 - -COUNT=12 -L = 2048 -KI = efba6b8a85da4a3b87c67ee59592493b335bbf5b27ef619c7a9ad3ae -FixedInputDataByteLen = 51 -FixedInputData = 1905c9876fc5f8ce16109bde00ed892b5e381f0d3ac1f71b38657fa55933395fe2e2010e2aeb36241c3c49c20e6f739e3067b9 -KO = 1ba0212cde83b06cac7e27444224d5de13a9f63245b1fdb8db2bad0b6a315e8a43308b2064eb49a2c064c9ba13659a5e5362241be92fee6aa035a854f3e4c05c198a81b1b3df4b293de7a999b0ecdef1ab548c2374dfd522d8e46642af005c6dd3b95286caa2f2ff33483aabe6f269c10093d8860d2ca034e914e454c145fedf271b0e9b7c0b8c2928331bb26a5ddc489187be10e7c3ae36ba910687cc287ee8aab9245513409171535712df0370729c95d163d01e47b63e7d127c8eb0b2d36262a24c4997f4837e5865e6ca4506525eb7187ba7917f9d8f443b19412631447dbe8ec3b43272067f06e6c140151fea1ac6aa055614281dff798d7ba0990b1718 - -COUNT=13 -L = 2048 -KI = 83d1a2cfbc2f3098b87cbd41a8f83ca072fbd26642e4614d1241d005 -FixedInputDataByteLen = 51 -FixedInputData = e9b23bbe412ef9a84bee4b29eecc7eab1579058073e479bd2505aa713641d317eca45e8c440717448e74684a646738ba41cf4e -KO = 642241ec63b84cb72261b067836d798f90221ab350e3de2513d8003f1fd299562a358e8101107ebea1e603b50dd957177dfcece659fc80c781c0dc70de4c4e1e20aaf1d7362d97cd5af57656ff8fecab1dd86758c9b0308a82add18b38f34608d5ae089775cee2191ccd81c3a49b018c050c35ab797cd989066cf560f1049515aee97766eb66d7b17087e339d40007244679fdebf03a10e3e2d331403ff03670bb6f42f5d1a4a681c26ec8af03e7945f5d53f388ead733586f3f90a67d9ef3ebebca51022f41410c83412adcaa699b419df0309c40bdea4c50e8bfaadc7c82fde2cdce947ae75e533af61ab48b8a6a40efb37477e410f8e9de3c591408992ca0 - -COUNT=14 -L = 2048 -KI = 84a817e72634e559968e1139d015f28417157910e98167047470aa3b -FixedInputDataByteLen = 51 -FixedInputData = 158eab13d8f9a002fffc99d0a3912d88f8f73e7f9f52d2ab8f6ce68996e0417f349fde91e26e04f5acc30b92d30392e64f7be8 -KO = b0a6cdfb8e974cdef2a989e16d6198c55652c9220a3801d40aced1c526e0a35e69edbcbb27882a4f02a00bfcace8a8737e4674099e704489a524529a35d89e729ff9fd0ec9369c2fd1c4ad0c8c56748f3b61e2cc587bb3e0fb82dd8cb498df9c5fc7eea109f1c67394592a4cb8aa008a92bd48505be466ff1f05da025e8de922d62d7d103e18a7b35b1dbaabd2e06f73274cbb68f53feab2769a5049ba92f8b21c085d1c8b36132bb5f87e978f947215e42a76916933a0b4ab8d2dc8199984ce2e93af9a1d113a6d590d647347e8b10383189662a72487d3c240c68ea33eef467120440ea342e2aa1b28c055a031171862a1a3cc1bee138f1ccd25585edb4080 - -COUNT=15 -L = 2048 -KI = dc2c7b082bfefead849a29f1b8896b1187b8ea22cebffd1be9e00961 -FixedInputDataByteLen = 51 -FixedInputData = d88e0c7e66f1c674d1f8ee7d99bba9f136293053f106752fef096284cdeff2036896fd1306a77410e38c2e9fbc12ea85be39dd -KO = 2e07ca0b247f224fbf5d899af940bfea016c30a1eedad2415aa60db4a0699f07fc743fb019e6d3c9858a653f8fdc81d9435cc53468615c5d3562f3c9f0ec31b97291f12fdd614d02e92c6eb4b0c3781e56032bb9f6b01744af4b2a7ed6f73b7a6653bb51f31145159293a60466772f9f5d109f3d7ae4f70a768fff62b2c281027b0daa1bbac4fe238ec3619105641796e68e227373c113aa443a8d620c2ae42c9113094fd0528f47eceb4dd4a9131f94d15b78a024be834cf99def028a4ce4bed26097f836ddb19665bf5ab63a098e234feb5bd8f21ae9ddd05eb35dc3e2490eea2129ef9c0d9f8fd969c8a93cf2890f5b67dbc93dd318f46720f1d446587afa - -COUNT=16 -L = 2048 -KI = 76219a2daa3a607bddf70a7f6438a82fc58dbb1a6c68f202c1404288 -FixedInputDataByteLen = 51 -FixedInputData = 30fd24ce108ea145abac78ef34bf55e126ddadd90813f2bdcb71c1e3ccf212c45c79c3ae3738a2a0ca6a32148de65afe5d8db7 -KO = da1d0d2c0e592e544319224ecc438bfa8ccb37b44ac0a7f71f781977812cc24c0d1119237954224b8ac63295505f3b8a3de58d901eccdd4b2429dd07aed65ca29a8663eeb3881535e0f6faa2a4bd300fec69c24d5e06eeec0f1126229f3321a82ed0001bbb55e3d36ece76beb0880c33d0920f36a51fa2235b9f671019771348e9e9e6ddf1d0570ad9f9b4e39fb7ddba46e458d0f7e9f746893ce081702963f08192595e0b482b4638130e6732a14d8bf002642490eec8f5ec44c788c3ccc245e92b0c1717f10242362be904a74c942c5e9d3aaee733d36b3e8f399cc3ba18abd9ba23865fdc0412501233dabfe6f5f864b27c0aa8aefcc7568b23995b2d23dc - -COUNT=17 -L = 2048 -KI = 6cfb0032a834caf2dbab7a71687ce4c3ce2abbc1c98930a3ce5d5e70 -FixedInputDataByteLen = 51 -FixedInputData = 68e8b54948bb160d86ee96756417ef1b0f827dd323837cdd724a4fc777eca38c3079a462a99d1a3c2ba5a733777e420cda5a0c -KO = b7a619c54672d14f561b4fe2d25c62e571d94f172758fe91e32164d66942f50202c0efd835883c9d72158c7d83aa9036848913c4f1702348bc7117f1d4e79b420fecb87e3d7021662cedac4bff58bcedd6c0f9858f9d630f7508117107e2d46935909617c6648b4840f52e9034cc4aa30c59493b04de372a8639f526575e2b46f25424fc31e26ff2ddb6d3eedf5e891ea78c9652997524e9bb14ef50e2a417b55790dff2958a93e66f4ea9f4e8567cb8d65951954cf64b93d795a5702ff63722a211c46fea32d29bd49e703d018c6bc2d0080c68eae9a176de7144c73814bfc8cfe941c5688b8cbe7192e20eb24e33bc4413dfe72139795c7778265d25a48bcd - -COUNT=18 -L = 2048 -KI = aea9ab52a8e123b432ef998a85bc9a9aafb211f526cf9df20067bf9f -FixedInputDataByteLen = 51 -FixedInputData = dfca576dd314938f8f8c4f8ce0101a15c9300484b8249aa912cb549a604d9e3cf9c0d3b0a11efefca44de192a09c2747af1f86 -KO = 2861859e2856ea6f0c191cd87f9929790041a3eec5af1ba711935efe632514eae1d3a7c3049f7a5681c0ac207183317df4f82b6c9d6d2f4987aee26ae7c22088843e23c6dada37fcc880e37c1251c6493db246c4a79c251fc45e5a2217b88f52bd633102e7009ae8d636d159e3ec95123c5abc12393c8c9cf40ff11d599ad8ff4212837e79609ede04ccc62b9d01b89dd0f02cc06c3f2c68d0f8bd9b82d1fef91a89393f269771167229702de39cacf7c250d39ce312607387c4485c58ad5889cd577e6136fb4ed794d9c1bbcd04ab91b3ef2d566d15b42814d28b90f891abe6e660793f058f7bf1ffcf77dffdbcc17ae4358131398f64d26ea9fadd17fbcd54 - -COUNT=19 -L = 2048 -KI = 416638dfd56f10a325236a111cd0370ca657a0736a8b282f8aaa02e6 -FixedInputDataByteLen = 51 -FixedInputData = 9a0ad7c533a22daf5677aba6d5606adf80857c4358d3a31960b8b64fb51208b14993679002394d6de2c8ce5ced43f74b6e096f -KO = b3eb24e1200ccb179767ecf44b5167e7e7718aba52dd2b2b05f4fa914fd22bcff132624b77a36f11e01f10e750592af78a9e4615093fdd2ad747816fbc18972418a5a0151a5cb017972f7fea192af30c5decb5669cc8528742b5572db58029d0b81b1429674e0130fad1025cec94cef2808f9a8fdbbdc03c4f691e74f6a008473fa60244f8a4d260f48d18ec1a0fe8b2bd210a6127cf6c09f9d3f0084c1474cf0959cbf33957aa7348bb8fa14e42fd94c2826031647a10d8c791722c15f0f2c6ad4cae90171b675edea17b03e618a9c19865298332dd057fda77e0b0f39e77e75c43d3d80d413dd5bf29fd0162d48373502d5963374e175ee9c48fa96ce40452 - -COUNT=20 -L = 560 -KI = 294860f1ac2420ef60289ead55264024a29ac846ba8d022ba97f96f4 -FixedInputDataByteLen = 51 -FixedInputData = 7eb722fd2dd47db853302fe8ddc89d1366b95278f31e1754de1b4b0e655ea06fdf0f54df077fac4dba32a25004684b717a60e8 -KO = 9056ed291074dcfd1031c8cd9f80cb9925b536e6addcfac6df654a30796aecc8190328cf1820bfb4b63debc62ef9fe3d0b2d04354ebae2a6cc5f5e5e64c78edb6dd5bf53b7a3 - -COUNT=21 -L = 560 -KI = c07bc373a92391a70c1df3acb39d2ee27c25a2cc631d191aab5370f8 -FixedInputDataByteLen = 51 -FixedInputData = 78f693512444c9d45dbd15240b9e80092c27982acc3a6c527882c08d68baa1e61880999fa729918ff2329446e3e5018e596525 -KO = 9e2a598d3b98bffba7ba81e912f39565a32faffbc41c6b75961e154c659440318e0ff2849bd39837055109139099e37963ffba1299430ec087e4e54a9544a4b904a1acc4594a - -COUNT=22 -L = 560 -KI = 8ac0f9c2bf8e7dbdd2c8762f6778d794d56dca134ee2632f879be09d -FixedInputDataByteLen = 51 -FixedInputData = ed1c8c8c7f0266b894a6e3164e27f5acd4c04b4c688d00c48e0d17334d82d01dff9ecb6eee4edd9401f27a93850d5dd7d0fdd9 -KO = abcb0827bb34fa051e0a26f76573f71c2da006f14b8354e9bb9271b2342568e05a267ddf97c07564731c7d1ec637f11bc0c3746a5f0ff58af733f120373e254cb6eefa250eaa - -COUNT=23 -L = 560 -KI = dad99598437a1cce1ba576a9990431d96177aded0d4942983a593280 -FixedInputDataByteLen = 51 -FixedInputData = e9c245215953f3b5c73e8b440cfd568e083851969c931488cf49dfd2e0b821a1cd950c6ac496e2b57a92ebc1d8bc2e94929ed2 -KO = 7924df9594a3de9e1d6953f1632ddbeb1d634abca7256dd478b21cdab688bf3d10ca94debaf1fdc100ee1c71409c8637d0fe55a190a6ed3966f73b6f124dcd845546606c2a51 - -COUNT=24 -L = 560 -KI = dc2f114dbfd7eb11b0696afaaf51fb6dd981cdcecbee7d926eee8a7e -FixedInputDataByteLen = 51 -FixedInputData = 1d69b3e854cd7d804050bc13d9324e56cb33c6d14273a25c6bf3600fff4e93f1e28078a68e75c1abef20a3e34097460920d751 -KO = 5e2a1fe59b000af9adb168564151d8225e40636833e693f56c7fedb5888b993373b8e8fd4cbb455b7ea7df8398363eeaed18d347cb1e4f0682505637c9105899d44be65f3601 - -COUNT=25 -L = 560 -KI = fa1e7c576c50bc36c1a09c65883ba887373ea022c6d3c351a57d1cfd -FixedInputDataByteLen = 51 -FixedInputData = 99c6ad4eab6969c24df10c915323bab7c414a1b5a2f12b416e04e5f5c0b75814c6e963784e186251b9d63a3c81af2abc328a13 -KO = 74ecd8e8d00cf77bdb00151bb813a926f9918749ac8a47b5b3153052f28945f1c30acb5b2f867d6a217536231413c9584625907e3d76a96cf281cc12ae33318b28fc043d7c93 - -COUNT=26 -L = 560 -KI = b74514015d29199e2a63007d75a08c98d3f5949702f7e2d6cf0447d4 -FixedInputDataByteLen = 51 -FixedInputData = 3b450c392b69af85dba80207a4eaf725da0a0b36c1341330899463810ba00011f4d7464a39b941b751e34362a67ae9709c7f2c -KO = 0a5f59d00d7bb08d525fd4c876809d07f0f2e3b954ff721378561656e74bf004a4d6e4f0f638b7ec37d2430dfd19de968e53ae714a155ef0994dfa9ed9d782f39ef852828998 - -COUNT=27 -L = 560 -KI = ca21da42f962d5e7fa5abc7aef0185abb0598f87b32d9b0ce3156c73 -FixedInputDataByteLen = 51 -FixedInputData = 7b490cdc2e2fa19c3bee9c75fabdbc71c163d6f2f936fc6361225ba1b9d05fe06ce9330164a7285a39c61067ea51f972cfa76b -KO = 7f8a495d90f3e4fa5960dbef009775c8f75fdfbafd9529799e204cbe5c8a963f7282419a38da0f9fad253dd0994c539429f2230b26875fb204a42fbe587e328403506ffeb28f - -COUNT=28 -L = 560 -KI = 07b4b8a6b78e0078355e456c4b3cbba5f7ca77a8eb26fa52a26ab727 -FixedInputDataByteLen = 51 -FixedInputData = 25fe02c078df49575c9557d4d7e256bcdc6d195250fd88825aa8c685d6097d0926bd28fcee7b5d82f1d6a0f3daadfd86dbeac2 -KO = ce0e43817a414631c0b0ae6cecb2fe007f2d31be4eddc860b841cc56b8d5986ca9342f634637b17f1bca39c4cc60f80d2902a04bf2fb449f4adcf791bb87a42e7fe71d023032 - -COUNT=29 -L = 560 -KI = edc029bdd55bf358bcac4964662ee97a58479e0b4084b28cdafe8afa -FixedInputDataByteLen = 51 -FixedInputData = 1a6f25c41e0629011e48008397759f817be459826b5f48d82b31f91af0af3d311b02c65862e8621cd4ed2a9c45e8676e8bc650 -KO = 204d740ab114e0b1d40cfa2e7ec7816664ca85956b587b1159adb61655188f44100e69f45a3a2035f82b9dc15add791969441b3334dba5f2da88291e376a8cd3628d1ae12e6c - -COUNT=30 -L = 1600 -KI = b69c30e65e7bce3b0fc6cc30cb6c47386f178c26f503c0d62ceb2f99 -FixedInputDataByteLen = 51 -FixedInputData = 5ba91d2803ed75c4203638246b4a98c94d304466d95d8e181e044dcf217f8413495b4218aa68fc8a350e319375a94c6b31d315 -KO = 562cd748c116cd6edbbfa4e2bdc9e7eadc539ed9146cb9fe3011e477795ec542a9e45eb2abaac7ccb9c378f737013a12bbdf7fc790f26782fb04e03b9f60f9125e67f4867159d4c6ac8234e75a3814ab524773b106d6320ac0d716a767481cfec3b6c51d197fc8281366fe7a3870f435bd603b543e150be48f02faadc39294eb94000c87359870a13c43bd44e660618555e8e36643839311305f1bd9acb27dc92b6bb97cb49941ad491e9c3843ee704620bf21b4c72f6c1bb81e3e5f07a9a657fe88bf6b94d7922a - -COUNT=31 -L = 1600 -KI = 3cc4290d62fc67d6d416e237443559a70c295dcc4eb15d6adb397f09 -FixedInputDataByteLen = 51 -FixedInputData = f0e6c7c7e6cb21c742a9efe965fe4d21bd18f429172091aeea8c226c0e263b3f55e5b02dcacd1bf70e0e4d6dc9289c73153305 -KO = c14f411e6d7a2d0f73177ba4e699b61bc698ed316b3f5acaf73a26a3cd5f403c190bd2150ae104d562c0eea6cf7e4663b05ba10901d71421c4bf464a975b3f5b056d8cfb4d7bf29e8ca4faba484c793607d13ed51b0c8ddae55936f527b7be5be9b2095068c7257272f428f5a9c818f7178bc0a43218bca20f44bda3a8febc602cafc4efb479553721a26a71342ccb031cd7c077bdad14181cae6678a194e22eb6f18611c2fe809de86337e9d30f073c8333c0e6efa5688b6a622c93f70acb943f78d3ded1944e7a - -COUNT=32 -L = 1600 -KI = 582ba6fda56605ae9c3cbc5bce587b4a51e1c974697004ebe3170f86 -FixedInputDataByteLen = 51 -FixedInputData = 733642f4ab351eccec3e6eaca0812d95489fe013a82768b762ac913d7e34aa182685fe15d880f9fc4255650f7ba9af22bcbd98 -KO = b4f4f9df2f5ae5efda03da0e2106f95c43472faedff573e5fd2f18a0390f0eabd9b634f819a242c5d7bb9ceedd71aca1b6cd74d54ca0c1f73c9d76e54931a1b2a6ba2e2cb635993b2e960d4eb4522d47b5370fe80d50371f1176f9f7688de7c997494faee34d67c41e334d960f6b077ebeb02f78cf76e384916184a00f89f876b37e5b6bd0f312d8430cffce63ac8bb96a79c88e925cd8512c105ad95f811328067249aacd255fd5347fe8e4c66253610a7a0456cea55868b7c7d38216cf4f7d6aa0bbfa21567d70 - -COUNT=33 -L = 1600 -KI = d82aeab54cad1be092cfbbb50e4404cc2be34ebff82fbeea84020c27 -FixedInputDataByteLen = 51 -FixedInputData = 01da3317b8c5a667aa2fc2585fc9619d3b16d0590e35a426528b67c53ffa6bc6544aa79a682c37bfeaafb0f4fd0d1c1fa97d3e -KO = 2047587ac2c127be64a52d66306b6e6bfae37a2831b06aa84a9b661452af36a311f948a7553d39e7dbf76cbbffad5e0e6b8d1eb6ab4a166aa6a669596a35fc5006d3d502898c56f680d3fb65f34f42cf14c78ee76214d6aebc565dea2e263f22d066379783fdc706e37b67aa57e6a7d0cf0d854e3ecf18c7887ee048092c5ffe077020fc2a81f0011728d389737337bd893bd1c3951080d035734b393bf66c243d91602efbec97026a0bdbaf4959995049461ee0e733528c701883dd980a9c858daf01f0870fd0fc - -COUNT=34 -L = 1600 -KI = ac4384e8637ae5246f2eca92c1c9f95951315f270dc8086b3997fac5 -FixedInputDataByteLen = 51 -FixedInputData = 777e85075f597eae1d4f4ec1675b6446c4f9850e6f389f5152598633bf9e19a8712c0cbe6a71d629c3a5a183504efb36d5169c -KO = 7d9114dac845f6983c5bf3d2ca8e7fb66ebce361cec5bdb3be10a1d7297a4d6e1f343760cbd4b46547d2c92ab9d8619ba9b93640154f2e456e368e600fdbe0643fe5be3bd73ccaccf8157b6ade8df4944c116bc895dd88c313cf1dead278e4387f0ce942b25be74d6044328ce93b94f05e5c8ff94ad5dc3e3ac7c065c40593d97b975c2a4c209a32d827593614780397ffc1b0928d17bb613d688c7f2e89ae2e84276a2bf911430589ba43f6dfbf0f9265c99b9cc8fe6413d944c1a2d2087501a4c247e957c228c4 - -COUNT=35 -L = 1600 -KI = 20e19e4eb2fc9fa5bc342dda1b507819d302a2857c214edfb030419a -FixedInputDataByteLen = 51 -FixedInputData = 720be549a02ae0a9a44dc5edf4a0a1d2871375a9f6fdcaab050c7039cc81e3ae0ff61546b51a58fee30a6de7eabb7826d6d509 -KO = 25c2b47cca9afe970586fbdcd335a182d88893db080a9a1b77a239a9fb73413597de123d8494316b894220deff9461032402425a744c37962a57332a271de876e181dd03dd80678f4a7b6e662697f020ae746c9a20f024d7033526b5441dfc4d87cded5b7aafe5fa979bee4b81993aa6d8d1467f1725db0585efd24a5b0e89b36f08a2e4d8ae59976e59f63a4c1fee45e6633d5f61b05a4c53338e2d05084868a56d07526d66137f1149bafd1bd9b1080ce84c85fa3d045e61fbd09bfd6d2b2fbb02ccb8ef7091c8 - -COUNT=36 -L = 1600 -KI = 3d5c5e823ac198c531876991a3152a25ee036d543ce0d5af5d92d74b -FixedInputDataByteLen = 51 -FixedInputData = 0a8c32f5d9a3d62757f198a3dbc60aa485e069966a7bf68f2a433a7c4f8e41fc55a2f3c995db2cf30619b76b9991ae5a2f00be -KO = 162a1eb9dde579f6de466059604326eb91e66de44810d268b6d40cce4b32bd343ffa3b6101e8326fdf3f9b860400d6e1336b1da2ef253394892199e58103859d4303f4e9370a2ff965106d57e5c65dad44e06d1f88a4edea2f91da440059aee9f175281dace8fe25ded0f18a49b8b8c0717df376f96478a129a0bed598a7c2101e15febdb688a44d1b4f22b3dd49a7cf09eb9eb4023d349ce41498a9700c3bdad3bee9138222d2f651380d742f3481d19469460e85252305620848e4b847eca479e628e9a31de616 - -COUNT=37 -L = 1600 -KI = 4a70ccf3f715d03c15c2aca624862a47beafde11900c5a6c40cd1b38 -FixedInputDataByteLen = 51 -FixedInputData = bc3df8b5e9fd9822f32ad96c2f4c0a915d61ff6a7d0609e3803840112de306575285c68ec3abbcf192f3462cbf57bca54e98da -KO = c1d75d8b49491a7064d52d8ca2092bba730474d42559d9bfe6e3cdea22d3e4c942f8e8dac3c11b0744cf278c7e82d1507936509c31834ba25d7b744c08ae72353dc54a317e3156c362247d1e4b38a12abb814762a0006b6cbbf9281a9aeaf2d418a26e059736cb532723cb6a7c40f1d9cbeb6bd33ddb66c5ee6eb1d4a476bfb1e1e4a3658a7e79bd27a22274169ef67d73249265fc61704641dc4e7e632521de8f13cc58466210e2d713c0520c0bd6ccfb7025c638a42867f154b9d10a9792f834aa7387653c9fe1 - -COUNT=38 -L = 1600 -KI = fe9ef1e4119d135328015c1926562501d320baef9554f12b707b2613 -FixedInputDataByteLen = 51 -FixedInputData = 7478e53c460e3005868f837fec5ae75f24a8b0ca1de69722e5767902eaa4875c374c06b66806a60f1550bcee3aa503a544cfc8 -KO = 95f989f92dd319c29e18c53499b879a4fd0565063c450778369edb95436666cd048bc9e29ea334dd812b90fb218dc95786f3c1cdc83a0f161bbbebd7a02a605c8590f89eecb2f8b758753e58076c3352f4d0bee638a8241309a27de3866681c6c900bc62fa5760a983fa04fbcf2fdbd1bac18b6490c7a287a4b10e4fadb3a583f43abc5a7efed57b395f41488d4cf10726fdc85f609bcaadb746e28ffac6062ebaa8c513435929d24de47b0bb5b82a35dba1a4a1daa07d3fee638b8f1507d7d722119dba47bf2bcf - -COUNT=39 -L = 1600 -KI = eb13c3a4e882c370580adbb5b825397244679e645f724df86701d920 -FixedInputDataByteLen = 51 -FixedInputData = 41119ef49e7eaffa10d404b4fabfd766431ab60d10036a55b3ce4859809869fa588654a5982650ef8baab71c87a2ce822d40c8 -KO = 1f05dc94ff907e2c0aaf7d69687165d9c5db6a78d01b5324bb0dac3b50fc4982d46c0f42e0b50556c631efd62374f820273d7ce7d770e3b18ca9e89feca1932804f6143107866c5a0be967a5e983d6317d9ca05d7df2364290f8c30d14c59ae97fa46bf063446a7799eed6af862e7e3add8ca59d460baca3a6379e4fbe5a6d825d86d8e389dca94f9bf8d5ceff1b86c65766e7c0a974ce8f00e735039ece28cf65f63e8c3f0916f9e471f7cb3c7f40a2f747fb15b5d89cabc8eabd5b9b0164d1cc4f3c536c28abf8 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 2e7fe95a3b860d1e0be027ae90d231a08c9f1c06b034a6ffc928b229 -FixedInputDataByteLen = 51 -FixedInputData = a94c50cff5fff6a4cf349fc27aa8a3056653240aed4680c6afe38fc42b209496f98a7204e87118fc6541d262d72389e6c06a10 -KO = 2f7f5cbbb8062829d1299f6c2469c62f970bc89eee6f0d7be3bc55a2e03802509b26be92b4580322b2cca8150b144834705ee0cacb32bcc501043e4236cd5e49 - -COUNT=1 -L = 512 -KI = a03b338364d48f34215c68a9229b69cc14ec891a83fc611919b85d06 -FixedInputDataByteLen = 51 -FixedInputData = 95e873a6268652c1d028357c7b57daf84b1744b9316a46f4b2240b9bbb36611afa231ea448f7f59232ecf82b8238c92ab9e28e -KO = 4fff7c819c151cafd8362fdfbe5a099abae38ecd914ff5145270ed24f6bd3a5450605d10470af9ace339a0bcaa65014935ee71428833beed821c2cfc24815361 - -COUNT=2 -L = 512 -KI = 214ef3f1717a099e2da2b333305d5ed98c4db277b3e777e1901ed351 -FixedInputDataByteLen = 51 -FixedInputData = b7286109d23c1b9be00151a9cc5b55c412d8801bc1eeab7e4f4220a53a7341785ff6d6fece41f127284db5080c0e387d1416bb -KO = 1be5ea995ef76819f68881f5366489d577df68eed9933a026e817e60aa6ea45172909a93fde8a84443fc11d37880eaf6f730796418b6485005ad2405518dbfea - -COUNT=3 -L = 512 -KI = b892ec339911eff7f3a2317a13b2b538a6a6dbba6085a1ab12ecb97c -FixedInputDataByteLen = 51 -FixedInputData = 7e838d47b4ee04d094df7fa5ae7bdc8fd126375971f08f0316924773d86c764571a8f82709a357d085af5d379c2efc24c7f1ce -KO = f235e33a782337bb54cb1851732aa6c04e883a7f0f5f6fa239ccdcda5f6f0c86fa62c92ece2ade3820a879c65244e1f1b4918ca9fa52601cafdc0e61bbc17b0f - -COUNT=4 -L = 512 -KI = a9cc85730d55dc6ccfd50266d199fa5fc527c8ead59e5d7c1324592d -FixedInputDataByteLen = 51 -FixedInputData = 960a5aa8e0b013698b7faabc31d8df40093025e155eac2aec67acc24d03aeba093add2fcdaffb52859657cd76f702fc3ed4806 -KO = 3af0e96f9d363e30faeecbef73a5a4c87efe49bfdaae54581d332814a2e7db7de85d3d3752c8572778a1bb0e70e4d978c5d147d0ec7c5ac9b0a2e7b708576252 - -COUNT=5 -L = 512 -KI = c99bf29e4a9ba0a17ef679021de20e29bb0f85d2ef248bf5acab5f70 -FixedInputDataByteLen = 51 -FixedInputData = 48a46f3bcdd1e0fb234369668ee49e3462260aaaecfbc41096ea33c97f5fbad556f371142dd69b2464849750bec5a813f9d1b6 -KO = bf1a59d478fb030028b5ce3dcad43ea8d4cc77f4d67230c92c3ed6a04d9b32e29d3c1e1147edb6a8de4a7a4c6a428f7f894073c8be4a37ec7ac223a29431e454 - -COUNT=6 -L = 512 -KI = 40744183b670c2e2aabd8d356fb9237df1f0ff146d17727a6f86950b -FixedInputDataByteLen = 51 -FixedInputData = 09062d84c4dc17aaae952a130d22ede02972f6c3a31485a946fdab3e78897f0de2bea34eac48d3d51aad48c83341416ac15c66 -KO = 7c33cd756daf3a0cd13f02d1120ccbcda6a73fcd410b50cd57483334654f6b7a902da8fc969c423be7bfd5f3c96ddf17e73b56086c75168b94c410f7126cc687 - -COUNT=7 -L = 512 -KI = d5ff4c6e6e323c4f5cfd8bf3bf7b000f1ac4d48b42238c5ca3362b16 -FixedInputDataByteLen = 51 -FixedInputData = ab1979f62a346f1235f0a81f90f28ce46d6c2676aadfa68a84773ca2033257bb01acf5330f51010fbe88cbe74c606ecca37fe3 -KO = df866db1b0003d39ddd5a6731761570d35b736d7043cce9becc2a1a91c60a0ef3e5d960647214c47d573a06803f0f6c00b96355c84a5aabd5ad7b84bdb7f3a49 - -COUNT=8 -L = 512 -KI = aa4beffe969e75394232d0ae8dd92fbb7f4b1568fdb70d7a32d9dc2e -FixedInputDataByteLen = 51 -FixedInputData = fd456956965cfacfa1a58efe14f4ef96b43d4b7f1860d26700531d7fb73dec2a791ba9e88092c4dfb3f014f50ce17d32d5ed97 -KO = 6e798507fb0b6b8903e13dc686360bd39e9b7c4e9f2ad2611896dae75055e7c52c31301dadcb633e44e1eede79d4937010a28cbcdae30db5081d047684ab2aca - -COUNT=9 -L = 512 -KI = 7ea7a8f68eb74c32a85ff762f6184e380266fe87066f52c6f806996c -FixedInputDataByteLen = 51 -FixedInputData = 976998a11c7d19cd4da0c3a224ccf66339538d71b56dda695829a7442190701c39279d35ab6dc66bf39c619ef0330245c60945 -KO = d89f62b7d298e4e94e5dcb65553f328985a3b7cde939c6d58cfa0cc8d5ade623da14e244d66ba29b3a99a549b7da085d21b550c9f55f86f2435b65928a8cfc2b - -COUNT=10 -L = 2048 -KI = fe30c6d4f5e47498bb10fa4c0411a0c94b1e6335c54031ae64e80dbb -FixedInputDataByteLen = 51 -FixedInputData = 2d05c8eed3162352c86b8d89fb12b8b924517d2da9b8941906256747145808f47452c7a272315e4bfd0b49c534825fa80fb422 -KO = 7b48f9c1cbbba9ca2e5ae2eadc8cef9c20e58c96a55257de261d998d950f4d7cec9292a699a7e7c9cde95cd3e8b1193fa6521319a778249339f7f390159c57f1eee585590e4a68afbbae2c5cf5ffe04867ddec6a0fb6ac581088fe1c4ce4ccd881b5693299efa3fd069f091553df46afff14e7ab81dceb52924067bc469f9a7057dd19bde8d947d0e89aa987a76b5bec933336a84199e28bc379f3d2f3ed3737459a7f92c8d9c6c83db0b80645567360a53b36e0d96ffd4f25fa376d33957a83bd8f91e48477bad75e2b4623b03e2b31aac3a89c38affc6075c5f14b591fc3b8381e1f8db3e3c8ab4c4fc223129d109e6bc7df413e236836415dc34cbae6b59c - -COUNT=11 -L = 2048 -KI = 643cb426a7beb3c8cc9be9edb8cc5c72d7dbaa6eb8d0b3ab7d010111 -FixedInputDataByteLen = 51 -FixedInputData = 6df9527b641843d52fb22670a357199f993e3e59001abac4f8b6cba3846ba066a85078e05a3f2de4bf847054163a703c0fed85 -KO = 571761a14a508add898f0988aa3d1f4af0f51c981ee4931010692ab8a1ed3259c9820055395cd483e949dbb20b823c298fe1633fa9619a0d88d7ffabb7ae3ba4aefc74307ba62e8712a788449bbc759c0e9064ced2d21a4d2dbda3b4408e179e94e1604972574289a651d22b04364e3336f2db0851896b03513ab73ace323a1f2628dc4bba52e789ecb18bb9e9678d7e8dca344d77da13005d7ca906892ac1f3b2b37cba365bd893277772a060e6528257eb52c94d67ce43c9f29f07a5884c85834600a1da12301906d14d25d6dc71dcbaaae0a6f61f15f29aafed2e03104ae0ac02a2421a755b76fd38392120376c6df6f29060e0d2c49d85968ce6d9ff2943 - -COUNT=12 -L = 2048 -KI = 0cef16072b09cdf71b2744d818c7c655ac614d99f2c74934183d6fe2 -FixedInputDataByteLen = 51 -FixedInputData = 6db44469b01bf4e3b74e38076b3be2f15e4ab6e38ddbab37f322004f2872790a28d50f18207debb7e91ad5a466fed0df12f72f -KO = 34fa2e428e1f3b65a8a37e0d7c298339fa1198528f2d04f4e6e17987467d7a1c1014374ca56d86fecf9791e83c8bd0a6a83b98089848ea8e49ae377d5a2bc68e9e8fe7c1e1320015776d078bab40b21d4eea55df435483872ae687cc09e2167bfcf1e4593ad2707447621177f03ceffe83752ba0f559f8e876a5b8fd0ec4e73c5ac7307e95e47fe505a9d8fd601c334e928fd53886c5c19694474db7cfe92ea02f075114222435736266b566b9c702094a4e313417b58039adf603064b56f3af9dd16a0ef032ca3ee371bc598905e483e6fec74b75ceab5c6acc7fec1f4863b670f84cfc01acc7e64e8696d3e82090c474dbb892e5d9e4a7a69cd031449f246f - -COUNT=13 -L = 2048 -KI = 16dc58a8043b8dadc5a269f9b0b6dc466d2d4d68ae5b30de8a7a423d -FixedInputDataByteLen = 51 -FixedInputData = c44113ade8f46dbe7ed74ba9fdd29cea63895b6c3596e4d8a3df952f39a88614cc5ae3995ed05448bd9c1ffbaebefbf6820c8e -KO = 1a142ab0ca2040cc3d3d3b3441df944ae2ef37f8cc410c6f706c9d42444bfd9de5c9727187d9b2e5cbddf7225238c354714d1c12b5cfae47c6719c23851b391bb6d2e135384d7af9d5ea8e327532477615ae6637d342d78408b138299b6880aff1770cf61842efeda52ac02dc03e4e5f945a3090a21f60393dd5dcf6226b778487a93840537e99ae1b6f5b6d1ec4607c2a04e431007f886e167b0aa525b38530d72fb7f049cbd404a92d4e1371a326b9e9fa45a823c75f020a242e1ac578879911c84c91443b3a93c3c010911e269dfc74864978c857bb4f38e3f780f3f3de96ace822e08672cd40ae03703a3169a905fe102931e90b626f127bb6d91ad22878 - -COUNT=14 -L = 2048 -KI = a991cdfb2d1c938c77cabcc1ddcd0c5b272938ef39fe2fe6fd58b8c0 -FixedInputDataByteLen = 51 -FixedInputData = 0a2e1d5c961152c2c5e808032612e95c6b3a1cfda3c599987ebc611d7d66a60903f711f8ce9ee961159e3ed7b7ab8704fa173d -KO = 072da050ab89dfec46ef328c5574f75e4a21375778720020a05558a267ad68292cbadbdb9173b170a8b808bfc9b4393d0374a5e8946a1b4f221e15e269aef6139bc14ee8b1ce6866487825b49a17286684a79e1fe64a729c5bb717e0c5f782b7ef584c1442eda9ef0682727d2c53a20177bc98f1b4643f73a26cfff7b24bff7d696b48423f969312911f027cb62bc8c7b4e1b95fda2cc058881f7e83bd7a692e9aa7bd0bf2bc6495bbed000e346737deaf68efcb5aa31a2d286b8c2204237cef97f53220583b0fa63f8dca900873a450cac7f75446246bfbae4568b4036f8f44d5b0c60859db494779fbdeebd9d554abab50da7680230bf5645aaab17547863d - -COUNT=15 -L = 2048 -KI = 0ed0b582a39b6bf7ed0d086b916ca7768cc06d0b384d637fb7711fc5 -FixedInputDataByteLen = 51 -FixedInputData = 202864005890163cb0fc286c28758769130554b472faafa31cf9e750cb299b09c384096a93c3615b8cbe4123dce009aab08c84 -KO = 12481a00119c0f9483e0a7963b832fdf955135508eb1d6cd8380dcab84237242259895601f6975db99832094f32b94f5c2bcf2f1c0f15455502fb6e76e8f6681663831581d9a030de152242571f20cd3b9dd69f0b42f44ae49c141ec8137ad927cab4a453d1f377f526dd7c95adb7edd48df8b5ebb8c345416ffd24904c0ee0c45f53026e419f8aa28721b318ee3796801becf8c28bd727a70ddf7a01d4fffb8daeb2c2d1a846068d6192a68d5de28245024105208791a3e3d10af882a88cec559adbcb1505d68388972fd0ba1d6bf8ddca4b382a09d8a481edad1faf18b3ebc66107db72e5ae717c23a579b605b2730a9be74c1e91a56966cd4aa87c17687ca - -COUNT=16 -L = 2048 -KI = c2e1a4ecb2e2cada2a415f76c5cc284ba41128d9600096b15b6a6586 -FixedInputDataByteLen = 51 -FixedInputData = a72090e9aed5dadfdcdacd656f441bbb0d1d24478e3f715a533609258f04f792981c321105f77556b91355effd9a781093fa43 -KO = e910418464a8faef67f7cb658d32edb68fe64ed6ee850817b9d64ba1edc67089bc16c6cd27781a02b959dad1185028f60d7dd3f4d349027d7b23e2731fcf8cc5aed95ffe4fe7895cb4a0372251851ff54fa77432c91225c27500297968a414cb25e88cf6e62a36e627ad51b3b39f03e6d9a3c68cf655be65be45eedfe4a064251c25c2fdf2c47f1e7adf4fb029a32df2734d21c8e15b4debe38cb3de52caaa4acf423f6b604cd5abfb73abce7b9853f14902ea2954c01b9bebb5b4cdd3eafeb3f7840343857290f84d0da25e666bf570a8038ead5b56bb5dc20156e356966cfe2c1957e6e15ac4692cfc90eef733e7dd4711f181b18ffc7738ac99665b422265 - -COUNT=17 -L = 2048 -KI = 6d00742c071c95481dc7894763a166a9c31cbbb49499604ef44d9cac -FixedInputDataByteLen = 51 -FixedInputData = 9247823cfc5106d966b477d41197e89f0a313b68655fe7df24f6640facfc4cf19bdaba5e0c38b23b27821df2fc4202f27f3052 -KO = ed85418f0d4007a993b03f61f8b377d4c6adf6f2aca817340aad3f41d7ffe031505ff1572edf580a0fafacc1a2e3c9ee5c12c7e94a6073a721e14ee0e32dc081f5e39b9b0dc8a9be4cdc56a262d81d8a1ecf502ef28523e97c89e7718e10500015709df1f250d90573915fd140de99c6cc92284afc4f16db19086d316541fba0c36c516fc19b3a190d30c27153059d912e3ce6c7e54c013a5287a20751e667105419d3a09f575af58576707ef2ebf765e446e1e225a219977d0f9bc74c6b8a296199e6946e3eca0131c40d24c1733eecc921fe1d3da0ba35977df49594dab214c3874d04ef8c8b812c881ff36a1adda92e496e537f5b7657a29c8f1b93b5a6b9 - -COUNT=18 -L = 2048 -KI = 9f58ecdac618db0d69b6a02aacb0bd7da8ee0bce7207d47549c3ae94 -FixedInputDataByteLen = 51 -FixedInputData = 369b7ae3c8d34e7c12d11e8513c1db184f723654437e150209774b7b884c95afd38701d24066f0b2927f039874173774d0eb3a -KO = 06ffdff30f6c0d78d15bdd431fe09109b4eb9c86310489260558e2826036e6c1d40752710069bc31e10cc0e4835d4e9c2d9c678439edfa666db233ca64d8eeb8ac828e44fe0a62b2e8a8d8c7f8049c48002c8e14877bd38d2fdfbb73050ac07874251db7baea4262733b199878d429530df32e72a5610110a008e9f29e9ff3b72815bbcd43f5ba5158f71ef88027f7aa32fa585bb1105eab233e9f9d88dc12d0055d3ae318847d508ce0c765558949fb7fa6557aeef8f5688105d3b953b56765930c9734bba3372996c60739a389ccb5a4dca6c8b21d507a754bb2f2836ff902cc9bf9ba3f8fcdbedff1255f98a8f030aa758fec88a3ed203decf0a8f3ffc60f - -COUNT=19 -L = 2048 -KI = 26ac32e38a49e1701c7555519832e012072938180f46f46bb588266e -FixedInputDataByteLen = 51 -FixedInputData = d7fd03e0259694f7d0b1a0473e3f1113498a1dfcb8b61ecc5ddde8919f55364027e6b0c11475b71b4ea5b130cacb3abf09e22d -KO = 7cbdf30f56dec7df045767c19984f14b25970c126e6478f12cd4ce28b3223835fe1e240b389c41465aa27d6296b5a12e9a4df0669c694315ba163a2fe51a72b555a5551e525a02a5b271b631741f2336b0a0561f500a964dedbcaadefe6bcf2057a116ad95c475f29817ea992bf8238e92c623551623c2929143f06279f78c150eabb0a9a4edd94b84ed042e47c0d5a7d9b9f21e0a0ac4d51a1b39bc9ab826746601c33750cec341da14e868c2797cba3b3ba4003f1acff3d6c2361bcba51554155b8cb6ee53929d1a4586acada8f39b8e6268a76a909fd83e96e561dbb6a0268411390118a04ea0ae9749d987e51163a51ed2480648e281ede1fbd2ae337447 - -COUNT=20 -L = 560 -KI = 46a7b38d3848b9d03af036a2d3f66da1f91133b79451367bc95a6eca -FixedInputDataByteLen = 51 -FixedInputData = dd8c5464936c02b3c44c6be92166df840156d46760d8261ce43b5469ce310e53190c239c03c00a9a79ffbaf69655659e8d9f8d -KO = 8d50cf35a69bd65e49b36d364c6fc6303bf9a132e39d694c34632e32346b253e5a4e203a1375d2a20e5150c64e7d086dbe94eea62c4b3834a401a1773af34bcaa04d053f3e51 - -COUNT=21 -L = 560 -KI = 23141c6b634cc2202a6e4eba4ff78973f34ca41fda30773758ff2d2f -FixedInputDataByteLen = 51 -FixedInputData = b00ca7c6cb6d5e1b227739efbab826d360dc746a358a67621ad3a0fbdc3a5e251332676be54f591ef8ea218367c455d43950e5 -KO = 16729fa5b796fcd645756661430c578e8d1d17f588a47d0942d0391f94828bc4136884065f1a6a5e1b34581afeedc9193aea053d3f08546474be9e51d0715c48a9fb67105684 - -COUNT=22 -L = 560 -KI = 97ec959e775a0fa34d36ade260b0d57db9b8e6b4b1c66fa31912e668 -FixedInputDataByteLen = 51 -FixedInputData = 026af8909a4589ca784accc0415b3967c8799b728c6a5ef9a7add4467bcd72e577b91143d5a809d3ace5ce18eec6ebea11c0b1 -KO = 3618ac4a36c95f4bf091b19c3fe425f614dfdc13af9238db7d6a54507cf62f2dacf8f9fe5f15f358ccffcfa79ed68d239434976b5f1e057f3a5633bd362c284f8d0015aa4f6b - -COUNT=23 -L = 560 -KI = a2f5b91368ca6650699bf117461a64ea29c9048c7082284078a5b2ea -FixedInputDataByteLen = 51 -FixedInputData = 475db8b31a04a34bf8f5341c87d5e9a1edd0cc7adb10c4b01ce345f6ae649d3e7c4fa8c812d85fca27d27433f82ea34299a59b -KO = bbd347cc0f15997913a10350dd02a10122613a1d6a4ef2723e9f6190e77f073d89d0060561734c342655454925df1a1860e4de24b2fda3d1a81c39a50810cfa8af9f6b4cb1d7 - -COUNT=24 -L = 560 -KI = aec6d30ee82c9d74fe56a5028f5013c093968ea106b7537243905c5f -FixedInputDataByteLen = 51 -FixedInputData = cdad4efb92dff760d232db3e483c8d45f6014eea16f555d384c7159551eebbabd2b16c8b1191d551d87424a9ce76cb1c3a57c3 -KO = 27bd249234fc63a81a8d0361e71d93ff41980a0b4c2c89da53e9fe116237bbe59c44ba243336b8e1cad08fc59c5a8d547f19ccb03aaccd95b38f41167df601a52c67f4798aff - -COUNT=25 -L = 560 -KI = fc0d6101fce09c513639593b2b44e49024b00608ea0c12d9ee81672b -FixedInputDataByteLen = 51 -FixedInputData = 75bb79c3d2dd23c8137f617edb8fba0f12748b33955a137c3852cf614958a43640604a7f217837463c2248dcf1de437fd13a13 -KO = a5c64a51bc7d254b16a8573ce4c14f646ddd7e92850fa8817a386c198ab3787bc32ef28a1a124e1d491a7cfc7145047a4837e9807991fd9015655484c324783f4b3f3c1f96be - -COUNT=26 -L = 560 -KI = 94c4ea6835aa7032210ef7f9888beb71949e7f21c861bfa3d9c2ee6f -FixedInputDataByteLen = 51 -FixedInputData = e23a58e6ffa9fc77cb0a7e6c430563d0edaccb16f2ba761ccdbf88b9b137e23dfe032e0e1865bd03ab06420ced2eefa2a8c11c -KO = 38a04531670c8628e39d00d20fdd86b0654efcd3664d071746c00895552401447c1eb74dbc421399a8b229c34495528dc5295decc748fc883dc15657d07dca97bef6576395a9 - -COUNT=27 -L = 560 -KI = 5cdc9fadbd5bd1ffe0358547cae4cf8f359d1d6130f4d8728228b29e -FixedInputDataByteLen = 51 -FixedInputData = 303b1adb25eb095d500fd3c3079694e4b42bfc66a7000647e6e0cb8a1baa853ccb7b1814bf2fa219f223e921e22fdc4fcee0c6 -KO = a223d80c04a62122493d87a708b7870ac58b61eadfd8c54e1bc48819126c30663c6f9c775a1fbed9f46fa7b531ecd0af26a7647310f3e2abab5cce7a6e2845568dd82e322711 - -COUNT=28 -L = 560 -KI = 1c39f62dd4a855fb3843f789a7c137763b46e15db81423e50999144e -FixedInputDataByteLen = 51 -FixedInputData = ea9b7c2cedeb7421f6feebaf84ed72415b995de97460f5ea761fdeb0a3cf085ef2a7a389e1a9ac935f3bf5e7dd496b7f527969 -KO = 3184c512d29133e7b53c47ed62c9c48aa24020a2b1bf5a27d5d98ed392011b7c94f1db88134cb332b967346d4cc81ab05cf133ee200b5e0a05586b2915f7b4c377b203867518 - -COUNT=29 -L = 560 -KI = edca800ba35a47eae87a0ef74a20e078022a4204808e46062ac1613c -FixedInputDataByteLen = 51 -FixedInputData = 716fa28e05a23f5ee837980acea1b1c0a8f9230c5f7dbb74c3f32311ce82f68b0f80d33b583d4dabdd70d194951c72705d39b6 -KO = bd438ca93c6f7787537393bfb8f4ef2eb2feebab33745973b1795732ad09dfa5869e0e36ee66c36a6d378a240a77a5ef0e30a4dbd625fef604639ee7ee17627399810201badb - -COUNT=30 -L = 1600 -KI = 1fd2fd4aacc1153a59f8d98014ab3158a10f2edb6d354fd9a7c43d7d -FixedInputDataByteLen = 51 -FixedInputData = bbfdf3c502c9caf61bd9174adab53c1cfe06ef5095d969cc6c1d9790f1c13d339c061820bf33a4e065027e9e28cb88ac59fc3e -KO = 18429c5fbcd0548280ffce9e1b9451f43ef22991b62db22a43ac1ab18ca71ff2d2b9570f82ad8f15a398addb4e6cb97a5ad544f843f7babd9f5953050362d72e5961177218aed179122f359ddb450d2be0f1286ed2d71d6598315aac8fd8dd293c92f9be2b7d84d51fbdbb3f5c6a6d6663921e35a14d4a33d8d00f574831db8df56fe9067933f17954402fd749f990ef278991324b41ca1e97a00d19c57c6e3a3ec27e320f23e51e898f5a0390d28a9a432d45d811ddf94e38c7fd8cccdefea77fb0812869100446 - -COUNT=31 -L = 1600 -KI = 0dd73478f80e608df035875a18ca9a681568ac21b68b00a95308d56e -FixedInputDataByteLen = 51 -FixedInputData = d0e69ae8df71fd9d04d97c46fb7edd6f3ae2d6a96eef0e2745a624c568c4f2ef47cb1832a6931434d98a1574f0b6c685de2ace -KO = e5177fab21dd46c12103d02ec486d3553aa35d1174bead89fc003eb810052dbe6e59840afe28c1754adfca857c8debe4959671fc6acc5c33f29e6d1e11aeb12d6d8d778fa429f6cb2ba3322e9fcc371ee34bb9029904f98f5e9a2ad6a6f300e6813d36585911a9147e29bd14fdd06be312e8ed9a416fcbcf65962a96e5777bd110200ef704e2f6ab7e7b16574bebbb8bc4e8a200b134f5b77a8df7113841f508dd4c6dfa51d0af6849a472f3a62a91a21958bf5ecdb5b46c2c4bc9064ec4b2861db57cdc17bd6e5d - -COUNT=32 -L = 1600 -KI = 38223bbb0ff0327161fa382e35b694c56864935dc199ad2619169d3c -FixedInputDataByteLen = 51 -FixedInputData = 33d9b9dc40ccdc3bcabf832d2d04144abf5804b004fa13cf6e31f3005b13397e57bd801fc8459da841ff32588e68dcae005e44 -KO = be66c9f81f7dcbc0251c53305dd78479e30dae9a3e225191a09da386d1f28f0acb007720f44b33bdd81729eed87eb5736041b7422b9d694e1b3e582ca54996fdadcf15d04d8ea87e064a7787e42c4e0f679e5b55a59b15776833fcdcab517857f83f959bde397a4bedb1db971797f020623e3af61fb7855168278f28a5af71759ee808916a66c00c7df19c4063a207cd97263099be59812b41daf04f8e188c9b3ae77cef072713e9bb6d3279fab2a2bb5e5930bd9638ddb80f29d5ad684aaa120a971a45c162e72f - -COUNT=33 -L = 1600 -KI = 70763708646a42b717d7f5cd5057f0fb7d739364c521c9445f4cd564 -FixedInputDataByteLen = 51 -FixedInputData = ad417ebe1624d5fc398d7107923f97fd740fb28c91e5b805e276c5377c95352eb89512f4f5b7b8061efa9d87e26428d0207556 -KO = 46b2cf5568065ca1737648103c6d62e71ccca6e06c46332e3ab1e52c6c4faf572ba19ef8d7e4185d1c450993a1c75e2d3e9ba143aa27e33cdaaa819926ea40864ce3cc7fed21475ac7f72db87c1a102690273590b084e63910fbcb6d134204e9dded3f5b87d6851bedc91c95685f2ca188ceb5af29ca537505a32317222e50f690d57ef934be9ad2636d8a82bae8c27042aba4cc28c56da0c5c9e8a57c19e3f4827ae47cec630835ccc1e73b0ba4977955c7ada538a008b7146232b66ee73232f1f1f1642339bded - -COUNT=34 -L = 1600 -KI = cb27b31808ad202a9369f74de16a29c5b2baf28df1bf708dc971ca84 -FixedInputDataByteLen = 51 -FixedInputData = 058b2dbe310b6c077844438449745b867ebfb7d7d6530da2f56918fd30df245ad83c7b04e5066be1d1c151bddb75383ca2b8c1 -KO = 4178ed02065e1726d28f4efaf6bda09ef62eaa6debabaa821d2bfa93050d5d28f2466bc49a1f78340bf567e776793416c348a03a40d32ebbba42f27f634284669cfdafb3e679d3b9881cf8bba45f005ba628826dd0c57b814ba8fb91c28655dcff53432a57024f2a616284eeac471b742f629a2bba218519252ed2d1fade71ad955e1b132dcb64831fa55c6480cea349e9881fb2e1b4ccd542fa929fb96696b2734ef0df4851ca7dd7f3dc91593b39f8b0f62e259015203cdecba2c3f3bde3a147f07119fbe36b9b - -COUNT=35 -L = 1600 -KI = 39a8eaac78ec1d7c5df825a7753b695a706e4d76bfd942bbce5af274 -FixedInputDataByteLen = 51 -FixedInputData = 3641f5f81e35b4d3257f71e7efa436b9a016a000e7b2bc63fece8e0e63f632bbbea0cd727b3f179607f61c5b775a36be6fb6f9 -KO = c213f6da78af4119e5c220fa150cce67913ce65748fd918d7f2d7ded38bad72821bc6c7acb61ef18ffe10db8be762e115a2ba639ed81fd2efb33cec5a9cde76cc1fe4131b997888997cc91cba0a9dd3e291636f256cfb4cbaa7e0be5b5324a44f1fae8f55b50c828ac3926a25b37b2ea38a50a7e472bd5ceb305f4fb0db12dfedfdb5c754adf9309a77ba56119ed0d16528b690349abd6f4550943ec10cb45e194b9ec083948baabadbe114f905fd0cf69105c7b698252a687f60e65d238fa4446d9c327c15fdcb9 - -COUNT=36 -L = 1600 -KI = 41d3633ce8d8eb1afc1822a23f918df19c0b8ef33c4497432b9e2538 -FixedInputDataByteLen = 51 -FixedInputData = 0c5824ebfd743d8c89539e2df56c01db2d58752e06f6edf13f3c4f98bd4c434d0de0a2c6474abbd6e0bddf96d7ce82105cba54 -KO = 244ab8ae0d6ef3d0e5ac695917f4b7f7b4393ad8c53b7b7269f9307adbd9e8e0fe14bc34a9669bb27ca429a175472415ec851c45691de225cc96228355aeba18b43e135d0a27ebc50459cdd3a1b9f15d265b3c90df18b99daf808ea9f700dc2597ec03497fc0ecec08f2f1674767a3362915632f4b5693b658e21b82c8e763a10d78d1ecf72dee0aeb633316c62691a202eab07310e0b40b9acb10bbe5a54bdc3b210207dc789364b2305758a37814bd198c1b933fd255e7ec4e0eeebd23b684a9bf70b4dc73aaf7 - -COUNT=37 -L = 1600 -KI = 86c37220b50f565da1fc682f6933df2ebe435b5c8cf8e34c900e7025 -FixedInputDataByteLen = 51 -FixedInputData = c4e45b6b2774e4cd3d9474f441a98360ceb2d6e9d9de3174dcd1689ed80c5c5452a18c902b417e84a6c72e3665357cb071cfde -KO = 0263ca74dbc70e205e519be898c3ae81fb15ca4010823c8fd48ffe560a5107ba1fe892a58773b4b3e873568efb05d13091c4c9cc8a398b8e7e54b031f16fae0bdf82a385890e49bca93261dabab49f0d30835e5264d13004f78a7683ce4eeb9a8fd096237ec3f474c8044e4093afd30e8e276d13c7e8d7190f9b64463aaae2ea4e6e40d26a39f68d52ec8fd852f70d0b681762951d7049e4de1d7a82c480301dd2d7139533a86f1b6da0a40acb4bdf686c1ab40bd8de360bcf6736a39d292f1c067b02d23b5c9d08 - -COUNT=38 -L = 1600 -KI = fc1c7863e2b40fa2c073bb3fa807c224cda7885b2ce5c3f363d67c6a -FixedInputDataByteLen = 51 -FixedInputData = 09e2c25754b5fd3cf83bfcabd6c75d9bb3c3d7afa63344aeda2e48a4b938696883304e4fb8ac545bebd66d38e807fe25a3dba7 -KO = 836a58b898b713eaac552548200efeac8e21265cc87f7145d2b90f492b14afd219939735fd4453a3b3ecb29d13e0c379aee9afd4badd88418b8166f35de48c3f41c0b881752d44843e7556e0f5db42482545c24d9a0b1e44ebcfd375cf530e507c90235915a8c96b64f3dbdcf3658fdc8cd7e67f73266ad3ccc4f7abda3d1b681d0e5ad87aa0d5c92aa5ee7d417911b776883db7fcab083cab84e9764c22606035c8356fb603640017490324b02e9f65d4502dac6fb6727143f4327d6d1f2b9bd5aeff3f37cc18a3 - -COUNT=39 -L = 1600 -KI = 45c14d2b5eef9ca44209ffdf18c05b2fc34862a268f359a8e362ba13 -FixedInputDataByteLen = 51 -FixedInputData = 14ac3741802d72f1829dcc623b0b7976e9f69761dd22ba034e2e9fa54c84571e8579c94ba3489379ada3d2b19e367c6ddcb6e3 -KO = 71753c15095dc488fa939b3130794db2fe446b11bb6bcededbae0ae67a915744dd616552f7d806dcd886caa160f3aa77b83811f81ef10f8ba11ae63ef310815a61ac2bb4cdbf3c3aa6cbdae5d76b9277526329db86b8930a6f2a6767fac2d9ab0a10590b3fd13a064308bc992541a9910b6891cb752445c2a855bd23477a4513c71aa66b35fe04569a703913735be762ec759ed5cc2c41ef8b0dc8244d4d495f46f6aaa57514bbf524d9c35e0c69d58715a58e20ee8d77c7f8c5ff09e2501cfc3e922125bd4c07bc - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 32b40b79b22ece4ab8142db0ecff3f9c16f600a7e10cd8ea265fb1ae -FixedInputDataByteLen = 51 -FixedInputData = e370b4221d528d030dd656378e506fc6a08c863af4704a7612387e7d04965e337961014260350b70682d5bee4056898110d687 -KO = da5c4336b126174a6a10a744b1559bfabd130750d9da83c8da69d6f9109c1d6ead30f4ec28779ec950abc2262712f77db9d509b9277ddec24c15533fbd2e3006 - -COUNT=1 -L = 512 -KI = a8a9ac110812c33d612a9fbe53d54b5494a91f0f018bf5a37450d5b0 -FixedInputDataByteLen = 51 -FixedInputData = 64c559bdf9b97f41525a9651c853fc4bdd9f37f7246475ac331d9167d9ad53c9e26cf1f6499563f8b4fb1387879ca85b2b7a18 -KO = d82b93f9c00f3b22d70c1e1242d60c4399ce3de318970299c1d30e8424a160c799cd17cc77ff79d48771fb475aa535ebb00683abe5756412f18971b67af6fbff - -COUNT=2 -L = 512 -KI = fce2220d2f2b651158ca7b12a882a77408a903b49b571af303ab1fa1 -FixedInputDataByteLen = 51 -FixedInputData = 961cac527374211e37dff672892bc9fb8add7ab7470b0b4a9203fa6e5c7670001cb36a1d939738acddf401b908140c23baa038 -KO = 6ffb0eb52a39cc07698ef673c5bcc515f60874aa0b718c06234c99e63d2f559fcea390c13421668118ba65e4ca2a4926a13bc4d512e4f23f7a88757432e8140b - -COUNT=3 -L = 512 -KI = 6db4edfc55a461b1d6f3ce805371cf68fb288b2198c36bc3a6fd5b95 -FixedInputDataByteLen = 51 -FixedInputData = f572ca165b3d6859dcc23c6f13baf8722b20b2082315161020ec2eee5decdf587a08a43eb038e2b14be6d486881f869b676bda -KO = 71a8927aa3106cdec635111c78be8c53ec602f4c6be7f2f8bc16bbafab4d2ca0c99c90cf539d76bbd5e9fb756383f5b1bbb3bbc67ef5cc054bd0031f7a346646 - -COUNT=4 -L = 512 -KI = efe821130635fc1a5fb6e157521b47e9635ff816a7cda00618c5523e -FixedInputDataByteLen = 51 -FixedInputData = 3b0d97392f347c94dc5c3430a5a402a42c24241e31befcb9736a209d8c35bf015b9d9ece2e48b2f57b59fa15e6daf56355e21e -KO = f647766a6785b3bcca520a71a0186f497c56455643f52982d4b11091dd4acd33026c7e6ec5008866178162a6b8f9c38b795fa8de7a822e3877535c1f4e3e29f6 - -COUNT=5 -L = 512 -KI = 7b6c53c04a64aecb833b56b0c211560fe236bfaaf7c8677c5eb4ef7e -FixedInputDataByteLen = 51 -FixedInputData = a60190f08ae2f472f5e2124660640555a61645657963d5cf9c2918f43bcbcbc4f41a4772c051eda70a37e85fdaf265c7f73342 -KO = 66964ef810bd8521f4e53eac0c5c093f7eea4cb5894357a0defebfa86d761450bbc6992721f07e326f2c1813563f6d132361cc62b12980fef98eadcb62b3c138 - -COUNT=6 -L = 512 -KI = fcce7262f2b9219ae1a2481ee2789a105c9249c216b9e479aee263d2 -FixedInputDataByteLen = 51 -FixedInputData = 79a667c3248e358fab1805817d614af4010427caf3e7b908340305e457b843c52e03966c0672db1bea90c02ba634910b9b4bf3 -KO = d1322d8511c256901cad756733f3a224ecd78380c57d6d20ab07da4185c8ee71a5079140aa3f65be1c808093080da125b47e1b61e2529c57ee0b31b0403b9147 - -COUNT=7 -L = 512 -KI = 0bb5f9c1d68f1222d6c8c3f549515e0c0e0417a52a4ed188801df9df -FixedInputDataByteLen = 51 -FixedInputData = 02dc33e3ca60e7cdf004e0f40cb6b66ce4a5109813ff8b7f6069b5516686be20ad6bedbbcffb9411e1b58967c02db4c4220e48 -KO = 7c2bbf5a4635207688cd7fe9c52358b3b0c82b05140d3ea86cc830379df681a05b2a2517a636fc363142daeb71053bd3d3647a4a31af95930a62d2305584f247 - -COUNT=8 -L = 512 -KI = 0fd1674afabd6b1764946b6f6deddc9af3f103eb3804d5962bed2b9c -FixedInputDataByteLen = 51 -FixedInputData = ac4b515bb44e46f85dd0d77a9db6eed844f170e7f42b4811842ba7c40fe54b118dbd2779dddc9ac6fda4b777913229fcaf6926 -KO = 8183721b45ea1b69d616e286984554d024aec1c90c24c9d20f22f76c68ab28cc54aa83ddd63e0b32e24adef3d37c542e3ae363eea01209f7b64eeb7b90f3b037 - -COUNT=9 -L = 512 -KI = eb3e71c39ca3209729ae62ceb7f2024a874d581fe02bec15b3d7790a -FixedInputDataByteLen = 51 -FixedInputData = d92ef3bf976e7073584fb80f88cb9e394347fc8dd1a8b7944966811ea5ab48f836d4fbe79486a13371cd9b8ca47c7bc4f85312 -KO = 02fa686389362857ec2536e77bec6ab8c46e9c89954b6247b88e4d2c8c248524e3b6bc5c6f5800ee78e1480406686a86da40eb0c9acb57179c68ec887099b8b2 - -COUNT=10 -L = 2048 -KI = 469a3d6666d2a7b7bc030332916708e3d85178c542cfa05212fb07d9 -FixedInputDataByteLen = 51 -FixedInputData = 0e92d1d4d45f63c8ecdf1abea77282c474cfc8ca41ddc9b531a7ca3acac3a893d5297ef10ec3faeece0c600177d2406bb9620c -KO = 42c862ae8ef1006b44c0be0426dbb52edeb11a1a9c05c7a89bbb36da171016db3752cce24dcefb52163d641e1f51250b074da45108b7b8c1cbd0f73101b85bd022489c83f650b73994c65084613ed252e3ea924b06c9e9d51e296be47d235652fb627c1412bf539e153f998b16b036c023028070c4b365e3bbf8e125a81fcb84421ccc8d5dfd9911c494c4ba6a978bccb9ef9b9b72746ef93af7a7fbf1c2eb25d5f1f5563ed519b9a4120e4307cf0a6811d9c462231be94af51c3476ea7a6035ca33d27c4c96ab52e3d89447b93b92a1665f3d4b9bbf03df3fad3fcf68202e4eb8af4495496ada0a57ee9068d3d9861cc9ed29979dcbebd1010daff6ee086983 - -COUNT=11 -L = 2048 -KI = 21edcacc7f26c23aaaed84b79d863542c89632a96701297fcc194fcc -FixedInputDataByteLen = 51 -FixedInputData = bce3d49162121df428284575b18c1041b8bc560d572495e4aa2bedb901f3da713d63b75118fb942569542718044f0960fda2ea -KO = d80099ca0f0af7abfbcfeb170277cef231ca134dbcedf452d5c54fc593d25fb55ece7ed9d04d25f075042e8941a453f5cd40793fc228a80fa0119179f53ba20c46d451dfacd36397f08efb12e24377f3ad1d614bfb80afabcbfa752d02d04b6fc6f9dc93969959f39cc746a6140cb662e5ecf4a82892e32e5de12898144ebde755bf5aa8a37dc0705b83c7fb7b67c0a769ed34bf455b3bef47702c1d564efa718f16f2c2e846a8de8724907ff3ba95563ebabff67d9cba7f7fbd95e508ec4de912166fff2d221129fa9835f571b5c232ec264f88d3e06202b0d41d112441b6972e1808f713aeb64df1da9ea659c016e0adb70bbfb19e186b5658c2df4b1c2a33 - -COUNT=12 -L = 2048 -KI = 7d1448a7a60ed080d451c876e06d284f13ab97e8245a1de2259c8e86 -FixedInputDataByteLen = 51 -FixedInputData = 0a1a015cf1f1412414ef3dd177d466e2185fb3b17517838cbee1d474445ba51ad2d89614ceb8243e47f62ae8ce7fed073874aa -KO = 60e02a9fa64151ca3e673cf15f772e96e3f53ec54f5482ca42d70e1e332907243fda2a3d550d491b3b335fedbd5d6c70826777b64c7006c2bf72e2159b0d4379115fb9dacf1ff99fbe08ffdcc3450195ef49a2b147c428ba301bf2666dcc894330ca640710b6f1effddf9b16c249f3a06d23e11af6505beca0323b761aaf18e15db984bfe77bb4fb9be4116479d00af459245f6a78a1bc163251c993f370e4e6bef04fa5d57d3908c989c577e62147cbbb6c9373dea68fee9531528b2dec89080c7ca6eaad7965e8090e9a8ad6e22a3e2fa33acca88786facdd51a1d75b14e0d0619612fd815a5d184a9cff4a2124d97cb159e23218a30ad13c826b2382f3744 - -COUNT=13 -L = 2048 -KI = ad4a78a24ed1cd27d3726e7222a5430555a00e07db05a81aad40926a -FixedInputDataByteLen = 51 -FixedInputData = ac488c85001a2f87cc345cdc7797b3692a431ee21a1f385de7ec42c357822f950597f7980cce29530c80d568837115dea455a1 -KO = 420a27fc657bef1e0abe7f0bc509da158ed16489bb4cffbf4e1325619a2ce3d2c17a290e8d7accb12ef74392900682ee8f3849fce42532c1fe53d1a99c879915a7d8d32521a6e4ceba0d4d9ff3f127627e367d0056f5bb48cefff75293b36534479e1960d872cbad7b686f1f1ffcf2a2d7c8e1eb8ce83329c03c96dfaa860576ed1646a6ea6b60f607f47aadcb605744eeb3358b51d32cb8435e750680a1637aeb995bdefca146cab657fb958f43e52f3322a5147901d0b4c2e4f7d4b5ba927cf39c05b07a5b50278ab8473b4e1d722587f40bdf3e59391effa36230febe6e63752c9a4302ffcb4d98ae748e1643da52c622983fccbf6492d29948b1d9f59844 - -COUNT=14 -L = 2048 -KI = 62e7cea228c78a8c3f7879c3c009b50110c7045ea70d3cc1e64a0a00 -FixedInputDataByteLen = 51 -FixedInputData = 02bd48bd43803d021f9e9eb98549ff7c0ac2e012af9b8f81e83e0466b99aac8b3b31fedb96a5af3986c42e3e9ed5f3ce69dca3 -KO = fa78da03400e2cc8990e863d61e8f0d7329ec0778425ed72e1f21b19747e49ef54434dab2a0ad7a96873a644c73b3f5e96bae6a884043f8ce84d531fc78459cb4106fc66b562070e3f482ccd791f15a212ddb82561b9460a03154ed488408a51a252a0c6f9a4c534932ff30caae086e548befcd7debdfb42e915acb5a50cdeb6ebece074f797860a9bcdd1469643690ef847574450f7c49d74b139f4156dcdb1a62033645bf02a4e8ebfac947b5ba91b472eff83884e5813576e47f51ed49ffc7b9702aff8c8050bfb977183fa205ad7ad64597c53e95773d1bc892a460c1f352549a903c0f5f8f78733d40dcec6408552ccfa3d029535a6af949419c5259531 - -COUNT=15 -L = 2048 -KI = c498f56ca994e21d3f4f359eda1620c36d66beda840861e52628c052 -FixedInputDataByteLen = 51 -FixedInputData = e3f0f120e4beb729c30355db53b87dc339122cca1857602e89e6b33ce5956cf50e33f17a929d254ff351db91e31387ffcf9a27 -KO = 2eef27cbf8207544592fe7d6cf6f6159e673123ae0a9aa8e0330359a90e35a53ab6f2c528aeeca2c83ce403e9199f18578cd3807ad107b28b2f3959e11e13f912d582f0c0af9f7dda239c683c1f38039b3f3a874404ff98b01ed934ef5d84dcc1772fb8f3844081237fb39ed3b3f8e607e77f84dc6ca4c823a114f535ce415cbe951d164e2d38086d01f3870cd1249f48e7d747cbb42d92867283b13febd3ea4e0eb1c860597c1a9bbe367b75623867c735964fdefdcf9cd88729f17844f27d0f019f1fe5d659c19cfd837c1bb532f396340d1a5bd0f28ff28caebf46f2581ddebdbbd7797c3755156f4723a7ee30760ebc395a0f6474a995e46774d36a9a95b - -COUNT=16 -L = 2048 -KI = a358c20561ae2f63dce1b0055af819cf0bf1c0ee947306767b89174f -FixedInputDataByteLen = 51 -FixedInputData = 9b15623e63366335c616827d0aaa02d2e1e2953a01a16be65d2b0e147f1cab59601217c0f42c1579b3dcf60a0e38b120c51911 -KO = 61229f5562e46b3a89691a55d5cdb04a9e518a392a0ddfff61d9f8d83ad48a37dc5dec019c9ee76c13417439e59521911a2101eee09978933df653ec37274b0be039d1b799e7bca85f9a7398de5b15b9cb4f4fdd23c74c219b4cea09abbb8ff993c36448c233a054120389db0f80817a60b46aedc1ae6a59ef5b0c91b1190f5bdd7e3b8f8adcc6dcb3f59c477f2ff1fddc32feae65b06a8264653037af4a96404be7c3751311f8d4a8915a709ee189e4619c17200cf4abbcf50f15b7eddcf61f9249fc3d1f296e1edece1ef209e1527521989ec630ca48d85d37b55cce77f8c042081f6ada83bdc51f241c68329fc0630a54aafbf62402276586d3a288b7c9b5 - -COUNT=17 -L = 2048 -KI = 89bd361fec9e9adaed0e1c00e2aaeb33c39dbda04618e0735f016e56 -FixedInputDataByteLen = 51 -FixedInputData = b4a03103bea699c8a24f219f6403d2017f9672eaefbd26c844d21613af27ee4b26f34ee719258d19e914deb1376f7602950708 -KO = 7153c580afc6d725b52287abcaafbfcfaab2ae451aee86c1adb9a283b1e6e99bbc1b814c8563e63185f513875c518702ad7953102b9f737452922b90aed13f05fd44686fc30fb31afdab0ebfd9a34813f31784e36beba538d4fed45936e6a9add88c6fcb8103f01a773ea31b51d2909b8dd9e9ac298d47c25cf06ae21b07c6d0de02de101a3df493e0bf554b83a87e610876622a0853ae9089c0ab2a59322958ba0f34a01fc21570d63c2bac6e291d82d46b46f8a5730082275014e2298a87a2a8c06c303fa3561470816799db2c420e12e3c9035c9bc04ce49027c3c5f49b7e1ee221c8a2a2f743c8523f6e027ee1c70f3a26154b9fb02682a29d954cfff466 - -COUNT=18 -L = 2048 -KI = e0ea014aba41957e74c3ac58b52d1377ec6f740cf1ee523d7b8a9dbf -FixedInputDataByteLen = 51 -FixedInputData = 4d9767c4915e89577f3c90722078444e4d998c575b3be487a45a42bfe46946b5f804ba0f1036d93b40ae59a6b665a9b86c8c3e -KO = e20d803e24564a00aae3f4435402aa40fdce889a3eab321dd856128cb112a1e4f371d497ec39b576e44a9fa2df8536de8781f58a9e406a9de6bba45faed8dd61b8107675ab57449690b5effa618cb52a6c02d951a2ed614782c746b065bc3f721a3041d7ed8e9c21b17d92b9b1b3ee3eac20509ba6476a376af325ed5aa4cf1b343b6870ac869c7a0116f3207404cebdc3deab68a343923635d63ae05b4c36c96304301043ade0a0fe8411648437d280747b088de693195aadbc67b5699eb88a0ebc83753dc6dab8c01df1a8e53cc78fb5585236f7f55b5d678d9cdad127353759092f3cd0f08e209071bfa776ddaadf4c432d2604d25d6c116221896a899b99 - -COUNT=19 -L = 2048 -KI = 57238d79c77b41655c86882fdbcc9fd9fc47959ceb35976a33ff8765 -FixedInputDataByteLen = 51 -FixedInputData = 4644ac5a74bdc46345d6bfa4f06b486e551c136f619687ab30f68edb05ae661d452f0fece75e186b1757e3ae2d0eccdf48a07c -KO = c710b13f52e038fa17585164efe095d78fa3c8147fa33c633f1181d170704153295471d841a3ba252db0ee80ab0ae867a231fee1ccb02b2b829d731f9985112b397c37c561407338ec1bf48e4924cdef336bd14c27b0cd5598057de49a36f8013056e51ce69a2a04638a413bf81407d53b4b9fabbc7f222ee243d4f6423c0da5531c3057e7bdcfefda76412bc3b4200eaa60cd408df4dc66110b5ba9862baa0f664b606b32f1a1827487d1417609d7475b05d839e6ce7879795a7a57269bbe8b59114dcc79366b55d694b55cdbdda7d09cf1b7c8060e4ff6aff5cd0337cd739eecd25a4d6f1d860002b61c4fea7af9f7fdd150813c2160cf10e11544fe1dbb88 - -COUNT=20 -L = 560 -KI = 7bc741e2c3ff8a1bb4c51e098db24450b2256453961baa052546e0a5 -FixedInputDataByteLen = 51 -FixedInputData = 0965840ad7a83cb2bf06cc0e84580b1b7125aeeaae97e475e3ae6d067923f8f301a22d487e9ee1a90cf5b1c922d0e237f0ddf0 -KO = 4d04d7fad5b9fb6105839172ea1ad91d72642ff6360c5ebcec3d168aba2aeff5470d2d62a45ce3f0f81c811c0506a6e2d9f68eb14a72850b15f44d23647721ad99d247d5d5f1 - -COUNT=21 -L = 560 -KI = 7b66d6a23a76d4ead52ce5d4b36b45a7da76fffa717f5dcf0676ff55 -FixedInputDataByteLen = 51 -FixedInputData = 9b533d7ed5f61ea206256612411382189dfe56c29e25bf13523491b52a6715d13971d5b0676e881ec51b83c125a6f16be3046d -KO = 88cbf2809b39dca773c098dbef8949cd4118ab0cf0dc64967e7257fb2b0da33fe41d4f1d8360fcb9a903e9e12dc7ebba559451d25c8a69aa699a6e9845088d06e5ecd9535912 - -COUNT=22 -L = 560 -KI = b07cdf1ffc3eeb7b9eedd9d885c2afba6ecde2daefce676d0a3c4999 -FixedInputDataByteLen = 51 -FixedInputData = 8dfbe3235c2e2533efd2d28db275fea4abeec2278d29dbd11871dbe38e6f909ff041c76b24bbcee64954dfb4d7b41d0b46b09d -KO = 9fcdff43a66f426cbeec78b36616855af601408f8b034a4c74c7ec558472df6d2ff032c1fde28ac08428d49a22c33b595a162174f6b56ff415d7be8740b53abfa5e88588059c - -COUNT=23 -L = 560 -KI = 4461611ffbadfa0716ad43fbaca68cd81ef528ba884cd985bc9101c7 -FixedInputDataByteLen = 51 -FixedInputData = 5748d9ab4bb2392f4834fc60c4386fdc7fb8d0f0c21bf1f595df433918d963500c8ff136236972f052c993f97ed867b08882e8 -KO = 5d43dbd9e4aae04ecb5b5d6656743998fb9fab4444e1df54c7c562003471c16c888da7f44b92c72690eccb3e82f259832c33d0e2da26bbec140438eea01a1a5a2b8e0bdb34e3 - -COUNT=24 -L = 560 -KI = 1356414600198e3edcab011bc14aa3c31a7d45b0892329653abab61c -FixedInputDataByteLen = 51 -FixedInputData = 9589c25fcbde21fa883a86d7bc83ec9bde0e0eee8a086d463cb67a6ac7eec9aa19548aa1adf6214bdf282303da35058f0deb65 -KO = fbeccee3db41bf7ca5247938419093a19b67fb404cd71d86e203fdf0f8efc1112ecdcbe96b332859652528b98685c1473c73f9c64c8374765a0070e95176418df922f515416b - -COUNT=25 -L = 560 -KI = d5035f8505e1f49b2f5433745006ff488edb4b2508911f36551fc505 -FixedInputDataByteLen = 51 -FixedInputData = b694ae97ca7c51e14710d2a2ae3daff92b6382fa98a9d961ff557edfd68617576b0219832af3d30760dcb82b7631987e7164aa -KO = 4e7eb0acb0bac3b474ac64d840acf0982734eb32c5b0a2de954d0f1b39efcec10ee9e258a5de6c4e6f9b8c55097564de133f642dbad098173985e8ec3febf68d57eb0093f619 - -COUNT=26 -L = 560 -KI = f560c1ed1c1ba783f075e0eadd44bb4e421ab0aa1f659980606b5fb3 -FixedInputDataByteLen = 51 -FixedInputData = da935fe7f20ac699e1a0a75543a3b63a9ab4ded9a912e4b6417866d6902257db4196f8ce17f98eebcdfb04032af1ccbc8aa8fd -KO = 98849c9123616356428fd9167659c71ccc48735794b71d4026fbf66504c86d32144a2bbc13251cd0da3baf70fa01ac397cf3e6f9c49fd8d77afbd083ef4b694459cc3aee61f0 - -COUNT=27 -L = 560 -KI = dcd74367a8a0ba01b4e76ec4e648bbb4ac2b9320cbf7827f79ac8b00 -FixedInputDataByteLen = 51 -FixedInputData = c8811854a2731f7ae96a2f20e06e80244e6f4423a2cd133108f9893b75b6e705182975bbe1460a7d82b5763f2d9d48b7b85cd9 -KO = 8799c26bf7e8248d3797bfabd95db3913f32735dcecd80a2154d4a07191e21d806f5deb5a29f55b061ded43d132f381f882b9696e912dfe1b2f36b014f24b8804f0b0b44ff05 - -COUNT=28 -L = 560 -KI = a704b688f06458da56fe8718ff65cc6c23e6c2d54a4e5b1d105258e0 -FixedInputDataByteLen = 51 -FixedInputData = 85714074228b316c0330977ffd36303456bd2daa73cb9b8b80ab146190fa25ec93ce408a82d38235938a355ef72141f1e9fb65 -KO = 0baffb03890ba78c32af3d26e793b616ab9757a155932e5abe1d39f8ceeb4dab7ca3c3b091e9cc0177a89e82a8528efe18ddb151f95b8569b4f02b322d8c48f63dba514cc137 - -COUNT=29 -L = 560 -KI = 3cad0226cd2b191fbeeb8f35014220c208ecb4f580de5ecba4faea2f -FixedInputDataByteLen = 51 -FixedInputData = 6a2ff79d21fa5ae3bac5ea2bc9e0ceda8180875752f255c25d4c983b1ac18ab6296ba96a49528ac74c0c02725cf3bdb2259619 -KO = a23f31b47a38b698410b6759a13ec16db7006ccc9893cf30cbd9cdefc317115be03418ada586db143d7c831f82dc8bf086923deeba23b5b6b0c5b418839d0106c531841e00b3 - -COUNT=30 -L = 1600 -KI = 8eb8560ba11a6c4dedb0f9b4ea83b19ae7f164fbd673ca03a6554279 -FixedInputDataByteLen = 51 -FixedInputData = 64f7fa01b0cc24d1d50e6f109f9241d70aca1857d88e454fd3cee3fab7e459f221b56c25f132e9846d2b85983a5e0a005b4e55 -KO = c02f66e99df07f8deafe1767c9304eae25c6972a1203d5f0f1478d42f0a9465af96f9306f776ed18240e0c613f46d441f4fc10d59320fc3b41023f15218cfe3ec75d40e8695f93be953bc30feb8eca3e77200d678598a02b902a477db509ae5b643f2c2796877d95295eb0ce668592750242a36bd4684ff548829dd139c5ea54620030500dc4911e72f42ea1072f792e8584c8ce8431b9a7593ac64773b526fd45aa92223da1e68c18c115e37a74e1c60d433ea914768d7bcf1f7987caf8beb28ce2f3dfdfdf54b1 - -COUNT=31 -L = 1600 -KI = 25ffa293184b53f5178663c4e986379e75f759e7f1cfdb9f90df77e2 -FixedInputDataByteLen = 51 -FixedInputData = c3b03273d802a1ed893e23666e2f85a11efb886f91c197a911ef38f4a98d9e08201ea3d098f37791b72f1b35cb4d4a65312292 -KO = 649932ca42d7970b78d51d714fd767a2b3bc657489bb170fc59ca4b44959226a0184de51d88cca1a1aea300072b6d279e683f4b907921029c426b249dbb0ce602b4ebac99b1f94a73b75f80b481bfaa3404f1b9da9aabfd6c21e5c635acd4405de650ee6b77889cf54043f37f1e5834c0bd7a78136eaf2d94759264766d57ff1e49546872ea5782d3547f374cbf15018b37a55875657068271844ee451103031f31132c7b01bc1e95c69e2f6d41d1ee3bacbe4637491e660c74f882768511d1db8901814f3789442 - -COUNT=32 -L = 1600 -KI = 8e0d7113bb4d4228afc5b846149e02d070c289e19b07bc97f1b67eb2 -FixedInputDataByteLen = 51 -FixedInputData = 8db57d2df72cab959120da97bcf08bfaf9fbd8966382e02a2c7af9d52090fe9e81d5a293553883828347988c6097d34feae420 -KO = bc319e8331ca5f71cc4189b7cb376c99860d4ff75d67b94eef1bf648190a36122c4a7e844ec2852ad357d67be738a28cdf9d7ba91e592b837075e340554f2fc9fed7f1411d9ab3d8a93d2beb3237af7445eea22a936189ce591da0e3ac1d2ef1ba3f3279479773e51aa47544e1c69d24c709278e9c005347b37c2f052c07cb99282fcb0940810ebb49f019b50e9e5408a6b1744f8649767a605071c43a17b10fbc58d9c6fb7a96caa857b154d8b04d74f2a6ba32b8d487d99c58097cf5841bf075d88c93aaa55c75 - -COUNT=33 -L = 1600 -KI = 96b897f6f8668328476dd8c1e96a5cbdcfe325c14b287eb5c214cdd7 -FixedInputDataByteLen = 51 -FixedInputData = 3a9d3f8083808bb608eecd12888c0ee77b3d7d6679bdc00965c80dad76a05c5fec20f2096662d7dfc7ee6f60312c6dfc32b3fb -KO = 4a880ede5a6542dd99028bdc8ff54a3791e0a2929cd6173ddbe49a1be23ced0b9a9b231811557dce2121e9ee554f95e9ea973c551f173cf4abaf947b9c95ab2298a31523af05f579b2344da578a7f100409c150e7cd2933f0750284c42a737362c1805ca79f720d68aafbfe240630d9d70c373cebb8dfbf7fb067f90054eda52bb9cf420e16944746ccf41829504b178f97798dbbed30aa9d49e93c57587e351765c9ef4c61dc9f79c272c492aa9c4bf6f3bbc0c2c6caa181fccbe6744a6dfbc29b168396801fb46 - -COUNT=34 -L = 1600 -KI = 5b6fe558b005428b16877137d65a892d080168438b3f4c0f2a27ddf2 -FixedInputDataByteLen = 51 -FixedInputData = 0d3441dd6515d93e07815b250a6416d805a7c3a8288519eac3b73269bfe2b34702a195b967da009c026db7780e661410b2ff67 -KO = 034f2a7ac254817f3a07e9323855ed65bbcfd821afdb3a7e61173e79ad510346a51105508fd240d62673ed0494f3434c4225b2852326b5e9e4324c6faff998c60d30b8fb6a786218f689576a2b38289c400d306e7279af8bec0b69c7e330fcbdcd3d783268b4efbcb3e086bd6d098845272ea7258833e9b1cca2a3a545c52907ae98942ad7ec534dc97127961fd9f88378cffcd96107eac9001e5fafb40bc7199abb97d95f666c3823122a44acec48846ec18f4fd5d2718d1ea0298662ab73390395fd0414dc151f - -COUNT=35 -L = 1600 -KI = 6c5fc963544b0228ec690bf9dd2203e25086e03e1983da4996fcb816 -FixedInputDataByteLen = 51 -FixedInputData = a32abf1c919f49675e3d4b6c4051f0e594583be6c77f8753fb5dad9c7fba7041c77d9b34e268fa1cacbbda8fc4394983260321 -KO = 9454425e13c788f6499636f3cec81e086d48e46685435123beef2e7db65a0117172fad7975085f692bddf900e349fa7e2578e682f7e1de453bd31e77300f59c134e8b404eef636dd376d02552b31e9899af9eb52f1f6b7bbd6f8944a3bebcb5a311a397d97c21e1fe4c10d6aa712af9dc939d30575f42ad419d5016eada1fa54381e3e0139905a475b8d2bc73a98f4640e8e758a89aeacbbdc336a0396c290a70bf7348a58a2d916294e42afd9965db0bd936e9a8a70fd893f34f5385c112392e4efe0d0d88b866f - -COUNT=36 -L = 1600 -KI = 1bcf34c41795764f24a244178881692ebf3037f952979fe5ebb7d825 -FixedInputDataByteLen = 51 -FixedInputData = b953ee8c9f47a0dc2e06618bff773723b3609cd995235ef8035caaadf06e025b229edbe4b1717509402c543958536130b1ceb9 -KO = f05e98117585f71d93ba7469a9961f29c51206dc3bdefa94862cb2805bee5d328c58863ec6ce915b2ddc3eff47432e4b1dc4dcb7b4149ac1a2c6692a2f21352b5442ab0518da51a0a262538560d5b9d465da7a0b5033dc64606e36f96a52030a9826763c6e36a27aa34d9af63e685d7b3cdc72ad6b76e91cbc3209d2074aa705a1cc2ac1364de2bbdf7fcc2d10b00335e67766adb22cfd73172625b9ddd456312f2f64ffb60f4c6ceec01fb93da77290e557d3824db78498d16297bed65b20dd28491b52d67770f9 - -COUNT=37 -L = 1600 -KI = 66b5bf16c66282eca6144a9296ad122b0af69e1991875643e206a391 -FixedInputDataByteLen = 51 -FixedInputData = 2f0c80fc468e68c459f6bba550426f2cb7d7ba4ca267b2124b7751f6060f74d92d1841a5d225b010e75f16eb11d2801bde237d -KO = b78c73b51f60ddd40fe251c934bc776b0219d76aac03c82c25694fd29cb2d60d6f892dcd4c7776fd5be32d402418b095e7deb332fa3b96e5da2ec1d3da987dc7765fe1c0190b44e85242ed6ea02fafa3398afb6300a377abb8af408fba52c04a2d2d7dafb9acf1da22a15c10c000a18b8e037641eb3af0d6a3dc97539ed95a0c56b3dda22c169f637be1be7897ebdab04c95c44da52ade1396439d975056ace880f7e3f86e00af0c955d41d218bcdc51d3e9e8e01d22c5fc011b20c8f36d2002ae1a56b454b1be31 - -COUNT=38 -L = 1600 -KI = f9b864998ffee3b77b7ba55ab6b13856836d985a5a1d236a89f0277f -FixedInputDataByteLen = 51 -FixedInputData = 799116b4bf1afa084d57afe7954ab725dd56b7d41a67b4d2be6fd3279476e057a2c4af09caa0faf6f4e7a5187daf6a219dea1e -KO = fb7c7ac2c426697960bbdfe63cfbfbea13e9e87630d5fc1695c96446060b0b4bcd61a098bab605a99ed1dc369e87c51451bba80c65ec1d87767128d0b31c953f8cbcbae0b433bf7c60f84a1ae5b345bea38b040a421a8f0837c2aed617b3fde80a100d249b85202e437312647ed49dd66f369ac5add88b9c3dbf0876a261cc8a6b0d37487271474e16e577bc9c4bd5b520c47f5a8039fe494ffa147bc0a5eaa768a467e17e31427c40eb0d0561ffe02d1e8b9011cfa60f5cf7d7340d48e0f0cb9b97273841d9c44b - -COUNT=39 -L = 1600 -KI = d3a6ea96bf12a95a49133dcee86b358b212fad455a4624af386e1b79 -FixedInputDataByteLen = 51 -FixedInputData = c061bad06008ff951c28d57cd09236fa4121f6487166eefaa6ccabb5b139a8d5fbd4b7690ec8014a55806df1ea80fbbeaf5225 -KO = 1a4ee4e5627dda91843bbd40f089a638918309fdc17d80aad6961d4b14c532efc11b1bbab90268396eb6ff33ecd62afcfbde9029ec4889e660eab69d5ccdb996aacf48aa87ebd9506ea5ce25fa331203810b05a5018e8755b54fb5c7e927ec65cdfdd93095a785bfea9d2bbce668a466d0a28c298f3652e1f670830ffb80de2daa97148ba48c7775bf527a2ac88ac7e610e673d86906d0b1ed7fde8c3d1781e10eec14d14fcd741cced63932c2a0ddad885db022bd07ff7c07889d2345661b8b477a6f02fdb7fedf - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f8a1f7619bdd520971ea07c5329fa4fbc1a01c6bb2f6ad754642498ac4eac27e -FixedInputDataByteLen = 51 -FixedInputData = e06c8c5634a2cb5c350a613c4fd70f22c5c3feba9245116a6b32b254945075462061d314a10aa7e1158dd6ed2d83cfcf626393 -KO = 270da779252d2e5c9a6eae894bad1073b3b2edefd9c99c3315f282bb9eb8094c7494ad12c32a97970cb1b6ca9d588186aae348beb6b245bbc1cf1b6caae33693 - -COUNT=1 -L = 512 -KI = 3d411a94c2d7f339a825209cba8d84f8a3d960f21d557f50388c32851249aaa2 -FixedInputDataByteLen = 51 -FixedInputData = c26f031b10c04b09874f9d10f668f442a399703db2c4d669c20792233f64c879ec785f2ec59c7df4eb3116ecc18cfe12d7fd4b -KO = 5848e28b6f6e518d2d177287ffbd21e555d79398d4b5137c57f168f9fb98d6bb60779a7bf8d253267d10bb8669bea2069489ab6fad5ef1b827d77df626a4a765 - -COUNT=2 -L = 512 -KI = 07300c9773a9d9c71e19edf8f2d3761a50eeb12fac99d8919f9ef3023c49d377 -FixedInputDataByteLen = 51 -FixedInputData = 85b3085b9cad10c2febfb928dd811f92efe7cc346daac14659a8ec6f94116f4bc8afaa22fd7d729d5d311b6592c3c163559567 -KO = 01b64821d10b2cbacd480ad74ecce2bfb341004629eb2dd1c467feaaf85c98429fc98cb6325fbe1e799fdafdfee672af798145e9db3d076b09f06ea4876ad2ad - -COUNT=3 -L = 512 -KI = 539b8310ccdf86e88169e2be396f1c7d95f84424b46f8378f2774deb1f98ffbc -FixedInputDataByteLen = 51 -FixedInputData = bc8728a2ca92f9cbdc77ea8685f974867c7d5a6007363091dcf8536118207eb64c026ef2eb036991266050b4e8996636ae05b4 -KO = 987cf30a2bafee77ba27e7a2b274f3b6408af7669f4264cd51293c0dc94e59932ea302b2d2482e4960af825a0975c472bef0d36637d2cd5c19abb0ccecbe1074 - -COUNT=4 -L = 512 -KI = 6e3130444da954285555f50094bb854cef082c78931fe62b7f6a8aa8a1175198 -FixedInputDataByteLen = 51 -FixedInputData = 26c7d7e2abcfa7c10010d408bef8289af623b4f51fb2ecbd35a3c20b69f37769960f2e310d87ec05a8a95bf6ee4983736dd3d0 -KO = 41546d46a82cb6242e05847490abd07f9205b9c4e666016b5ddc4cdfc10349547391701fc9b5fc30d896f7209e42c1f715b851a5ef070595c7becac0c80a7486 - -COUNT=5 -L = 512 -KI = 1cc5e6958c089873bdab6a489c69b1ec418d962956538c187ff8170c9841146b -FixedInputDataByteLen = 51 -FixedInputData = 94d773242895efcf079d0affa3ef2a1033a7d4aad072d7631c6b51ae1dc14ebc9f588fb6db7abbcafea90a751ea7af2ca96246 -KO = 2da603c3889a716bbb51e36c1fde3f4f60e870486761c1e47f247274a40ffb802214547297acdea6aeea9387121dad03b20b9c8fb9c8d1254a5108cab12328f0 - -COUNT=6 -L = 512 -KI = eb38557e8a5ef84e913ba73ce0d9ddd37c653d09f2839ba81862f42b1e9e1ad4 -FixedInputDataByteLen = 51 -FixedInputData = 631852829e45c36122cbe3081e2898500bc2adb9426e75fcc7839bae18fd0111af71f34aed6ab17161d58f75349e78e988f076 -KO = 63f407dca9c5a9960b5b9889aed6279807d7f5f5fe467945bbe2af6412b9c6507fc992e320b7eeba57a6bc4117c3b09f3a29c11b3a2713b24a736ff9ad5d2969 - -COUNT=7 -L = 512 -KI = 4cc25e9b3375ca60c1bc5f12cca6ef7f14c3aa9da12a9628d2f6c271a992247d -FixedInputDataByteLen = 51 -FixedInputData = d56c1fb949fece5a0e68eb95f0a5fc360cd22e3326afbc9b3b6a9650cc73b05e1431d97ab6092c78399369ce5b9f94fa425c59 -KO = a3346a0a77016e0532d26fdef66e00d399bc72fe42227d359333f6f7c7cb9136e80f896f08ed70e9ebce9d13842d25e2fbaa4acdf01d03f8d38e1a33a9a35a06 - -COUNT=8 -L = 512 -KI = 332f24f09f5eeee16749f716231e87d7d818192c2ff61be56567d33cb7dda7ef -FixedInputDataByteLen = 51 -FixedInputData = 4eff3248af780eb246a417db70c42f0fac77e87c3c96bb4d17c3ca6658cd5623e534da42c2e252091430ab2c5d72f3d18b9c57 -KO = f8cf5ff5cbe5585ceae6cf978eff9743003086407dc11623f5640f862c8a790205584d6d6380d9d90293552cb860854b04e124d5f250ac7c370051e2cf223e47 - -COUNT=9 -L = 512 -KI = 153868b4c5a7950463b88df742c1550553e42275fe930706c43c19b47cfe7ebb -FixedInputDataByteLen = 51 -FixedInputData = 6349a1d1e4dfaf34b18bd0452abc6bebf23951cc51d79c592ba99db3b83bb083e034077726e8bf78c07bf8db33e37a51e01b64 -KO = 28f8726ce1c3d5db61af18002c9f4769c5f26cbac1b28ee3ec7c3215daf6f5218ba40dcc82820edb3ccb1dfd267f5c73d8e966566b8b138cb7649e0c468a8c04 - -COUNT=10 -L = 2048 -KI = b208454ca700fdd5dcd7ccb57ece631815dec189abf5d5f7c4a344faff05f331 -FixedInputDataByteLen = 51 -FixedInputData = d000455c3d186eb65c2212916762492e955ba3365511c75c29ed16c279d62fb1ce80b9df35000dcf3737bb15fc94e3c82c0591 -KO = 6924198794e6fcd3b912d3eb460b0dd98b9f30ef8707f05dea723324bae287687fe280e84afe2e1bedc3d43952505c0e1873eb721df380e86bc44329355c2ddd597468753ae7ce2792ff74b15a4469206efeb7ecaf2c1924e615c32f4a01b2bcfd7b45f35032791725ab4aa449e9a4f308f53894e913c96a92a7caffb80cfb76eba43a7c5f6b969c4fa1798576954b033dbf9d4f242921e8b4af9ca9b832fc644f541916374a6702fd4a0e7c21eb459cafbebdfe90deddbc20a992bff40ef26c7774173370d081d63ed27f38239f60b71b0d9313893b8f3002d04ebad5cdc49747f97ddc37c6d30850c72a4c254e2fc47b8ad05c27a0fd8e6cb59dcd8fb9f119 - -COUNT=11 -L = 2048 -KI = 7eaca9ff0c65fddc6bb2b68341aa094d9609f41ff570f5a5acc6a12b989fb95c -FixedInputDataByteLen = 51 -FixedInputData = ad5f2a866a0287c82ab14f9ecb302e5f66d539bd2a80b9a043266a46fca281b49fd9d51e2221d1d564e686fefaa6ebc30fb60c -KO = 2293a43f8de6cb49cf5a132b3b2f40d751449212e524a3fa327a2b3e4dfe7f06bdf34c431207eea0a89d775551361d66ee6fe5a763fac573ae6b9790a0204cebc7af4e08fe35574a1a51cd6f0b84892223fbdb30dd389c8c5b34115a582ac4f23ecf9ca6b4792662a8b2c7b2596083a2700c66e3776d0363a79f4fd0c7b4ecfdc5d4b0f3b3f7fa652a64493d83513d53c1d088b668024990f85991be02c5714fb7d9106fd56543dacc2c134509861768dfd373235752bb1f0e27fa03f27d2764a08b4310b3a80660f7d6780ccd4d4c7b99e9cacff4cbc6725a239123cee25defc7c47a4c2fdf79dfcceed21890e3ff3ff5b275f62ad93dbacda48960d80e083b - -COUNT=12 -L = 2048 -KI = 2b61885e08d02d7cb2915f0d296bcc688100558ee8ba94ac167e854c50ee0593 -FixedInputDataByteLen = 51 -FixedInputData = d6c607edc5072e62ac32188ff2dd2daad8b81267f8232293fe33046103b29684aad97083022b175a228b52f116ceec58acdf7c -KO = 9d7291d8678f7cb4ee4d2a37fe4cc09c29fd7a58c72eaf590e360e391bf629911cca55121562796577bd1e49f9be2897229c72d907df6370d4929ee4a6f3158f0bf35c40d3c2dfa51761f2c9d88ee887a41db120fb7a4dcacecec412a8efac509615ce312f3ec15f237293d9b5876a504aeaa6831535c215ea913f3f2d1a83a07ce9341af4f409deb4f2d15192d517a42db70d20e32d0ba224602a41efc1b607c4a7ae7e6c10918c973996ee5a4785b2b3ddaeac7dd5f452048024ba62143355de499f405e0f121113543603862c2ef5a39177d7c39f5fdc2329d971d53f16fab7db7bf36fa140ca23a69091fce3cceb014003695b213f342a35605ed6a3d143 - -COUNT=13 -L = 2048 -KI = 94f5975954d21a07fac7b225a1cc22fccaeb45118fd0cf19672bb324e9a9a65e -FixedInputDataByteLen = 51 -FixedInputData = 35325dc431254de93564add6afe9f2a73b3a6c393a853d9134bbee6a453eb98c805b8020d6fad427fe5da3c9e5d7f435aa91fc -KO = 367c5c1809aa1c70467fb66113988ffe5ead9d700997948db10f4429be7c6cb7cf141c7cbfc4741c52ef2ecc15e3b90324d1ddfd6a794519f31ff29618ce9175786fe51c83afac8204f6c7cb1782157d4f9cceb3ad640ffb129e74eeb896d043ce6e2071e62bcd9a3225e2a4a6648be125b9164902c877f7f5900aa02c00f1068b2b0230caba8566eee5d63dee2f209ca09ab26685619f9aed71846117df43b488465edabf3973762fe2b9ecef8a400494cb0f1cc52d101ebd35c7ce433b4cace02aaca6bb3822ca2eed3fd01f85f8122279183604b8f43569d100bfafca15ca970bea97535a7301877a7bd8c00828c817be24491356ffb3779153fe947ed701 - -COUNT=14 -L = 2048 -KI = 96916ab13d975d6fcf9e63dfc0a3c8d830682e44b24e444685356129dbf509e7 -FixedInputDataByteLen = 51 -FixedInputData = eccac978827058d106de25de78d09c6b88a5c2ab85a9087c9d97dae395e58c5270adbfef1ce6eda1594393cbf6e9e767d1c175 -KO = 977054cdeca7c8a27bd1664b3fcfe3c8f26c6fd99a081dd0144bc1494f5b287d67743c4ec8da0d8df96d558a5170bd85fd6b27d8b71270612f974d7ff399b5e97ea93d826e07b9d3704a9ee445957638690e00e6c8fba9af1394959c007dab96d970181c822a1363c6efbf01ed22b3732be103485e68d05f99cac74f028716659574b29617a4526a0bf87badbb98403b9d372df31f8f46437f321d7fa4f028984d31c0cf8d68f0d1d659352f415a75eedb96d991426e18fe4274912893095dc5171c1a6f24517d9e2c39df0936e02a848579af7112dafee3397a825dedd47b77462985730dd9a0f0201fc975b38469fd7bd86b0f74aa7706ebc0ca4ea548778e - -COUNT=15 -L = 2048 -KI = 8c3b0e99736e9e475d5e6f6aff2292e249dc5137bcd5119c933b7ab1d5f65c03 -FixedInputDataByteLen = 51 -FixedInputData = dd63f0a03af2a71c4f88f82d86c6039b5b390cf0880dc2de2c3bba0f376b20c75c12ea49f81d5d14f29a81d18aa68fd7b53a6b -KO = 10dd1611970feb08c2308735f8ec9f0aa31e173f3a3ca5bd753eb290a7f7263adb676b852cae97c91c39acd5ede3cf0ded05e655ffa4417616698a7733a8fb7eeb2d005c150ab24ae6c37a170e2d324a1cbd7d850cc2b910b6660e3a4bca4f71605eff921c55a3502890bdf9c953900f5d43784fcefb88f0a6166f9715203f01f93544c11a537c6c253c1c6b2469e27eb6261ff81e110b7398b803fee1cb32a7fbdf2fe6ad620a3da518668b7788d4c873fc4bc4ddebdb0ca9bdeba8eb6e62b399f04519a0350d076e0fd9edd4291a2f319ffeb14c80eb3a7c919c925a819beb6e4cfc9c804a58c87e8714b314ccca76f1456336ac89d40a45deb354d554ff46 - -COUNT=16 -L = 2048 -KI = fb1670b884bb576f38eb4180dd1fb329f2f7605da698c51f4af906b1c6f2c9fd -FixedInputDataByteLen = 51 -FixedInputData = f8abc6642f41261f3c2bcb354c0c8104220cfdbbc689561eda4a0f183cb2cc12ad30bbb0778ac739709c5ab025dd71d867f9e1 -KO = 2425207447f72454ab2e0b1ac2567655994dc8471bdb33216c2a183de191812713654e99a86182dd493ecc54b1827da7250207695f79e86132ae215011c57cf9251bf109b2b2aeaba9192b03f3fe03bd7a7ba727005ca15e0aecff03c931308743bb1f669f8d92efd1fa5e4dbfc19df1a53849ab392e6b62197606dc7fb048881885657c41f37193bcd85edd8f6b2dbe810a032a722e1c01a0017faefc94bd52082e2e10731018ceb97a9504d5c6a0892ea485ec0efc7960ccf175c3785ff60399046eadca937dddfa663d09fe78c418f7105d4e167641b1180a2ad1c1fbd4e934b07c8eb51a755a87cd89a63335301cf878d4096f1990cacefa004b9579cf43 - -COUNT=17 -L = 2048 -KI = 7a12c11811eee7fbece3d839074bdf5775b86bfd9ee66a2a1295ffd175cfde98 -FixedInputDataByteLen = 51 -FixedInputData = 54491925d38f8e27b7bb69995c7549953c5af42b2813c6eb0ece859a861dd5278eba6429318c18263c06ac3256300dca402ec2 -KO = 6f9e515e48557ebf227f7f4351315afc6b6e8fe519c8b81981257fdff47af5ded5d7dd283f2e15fefd9bce117897b3af2993da6eabbf22eeafd8fe4a792103fa7858c73685c1c81ad3f56cc8497c76ff3a3125d4e3393b3cef6121887e1b327bd9cd8e5c4b37eb500dd5e05090f9da917f4a2752064b0a23946a0657e484588db3b63f32e8437bbb0276f8d20a39310a6fee4439f1750a39548c5629238ec9f3a63d831e202f52d6c24516aab60bdd0141c45cc4f4851e6bf9785155fe21693fdc7da3159c0bfcee500ab6ecd3d782afb728d8bb005556435bf70b28f1aa53c0d82025856b5c308e5a7f31f878242148b1a8b941211937e5aa0b58baf7bcc826 - -COUNT=18 -L = 2048 -KI = 43713c168ed513b579cd5df9e9f94ce26031fc11c3cb7bd5a86feba522da7034 -FixedInputDataByteLen = 51 -FixedInputData = 28c6dfbf0b0c8c3255d5d4fa9201f8e8d1fdd6e774b307a6caa677c8163c0208d3e73c4d21a5614816ea7f1591d3ce51e672d7 -KO = a713bd46047858d8e55165cd0553113e635dce03426a25337a36d2f45f0bdb0e24aac19228702365b61fbb1d8172abca796a279376256a007105aa4cb77ff999028f39c168ccca31681ff7bde9ed4c0d8c14073f97e5572f50976453abc2df12893339488edde1eea4aa604cdb2926db1e67b98f792f937a0d12b004eeffe9ffe1028998e70e783e69157195c4c43e5203d5b40a72f810dcadaf4e630b67dce50c4c76453cd210f724d158a0a1a3dcc0a38271f994948bd70010fd775fc30a1e6f83148cad42bf8bdbe40703b923583be0f16e099b02c61c2409bf89052726a3c338e7b6289353e47c0396777815910c00117fa9e9af100d586dd2c83771fd8d - -COUNT=19 -L = 2048 -KI = 22700a3011a386c93556139d6479f286f915b9151536bf199e9b633aa51a7129 -FixedInputDataByteLen = 51 -FixedInputData = 514335b710c9b2d766538c1260584b7f529d4f1515e09b6ef7f0f83d90082d65f1380441a44b02be7c05b9e69ac4b8a3efa4d9 -KO = cde9904569c9a2a11eedf0fda6d49f5868c40c50f31615cca13b67f50e4d68f11f99bc15825c4c0ce3d0e872f13c7a4507b796c7f9f942b81b0fc0e75f8b9ee01926efcc089df654bc4b5a3734f85bfc70989d7ecf9a11729a94997e4a4af20f9294c8cf32e65f1c67b11b7221d29863b010d90f220d150d30430caa6ba0efeae1f148fc41ce302a2fa93c0f513e4c66db2dd00e277f67f49a8773c1c708f5c24b8d390c79028cd47b4bcec9453d1c47218eb355b97432adecce5d3247c913c80eab7b31d386e8e467b977520f4865b583a4bf734a504a0020b4e783d8eb138156348a84a986a4aed39cc0df0bca68fe76f477e4c549481fbed6f44c8eddbab6 - -COUNT=20 -L = 560 -KI = efceb8fa404da775da1b3baf8c092c3dbd798c056d07e1c2fb8977127521f5f9 -FixedInputDataByteLen = 51 -FixedInputData = 8bf7625d10fafa7edb5ec7c515f725bbbf0a0588dbeb683e37abfcdc7fcb03341e2bfc9b720aa7ae922874e404faa37c0032a3 -KO = cb8d4c614a69dc86bb6e0de347dd87383f353f19ffa9863e1c5cc9a9af696bf43c605f5a810a058241449b6b4a0d20384a5743a2e621e3b9323b563f5f820d40585f17c13386 - -COUNT=21 -L = 560 -KI = c80ff2505861e4b5d52c0227fed638a1931f59834b4202212986543f2b851687 -FixedInputDataByteLen = 51 -FixedInputData = bb2b6fd8857a33dfa7107c63095f6997f944e3d6eef1796bc9ec34f4fdc7f47f1457673dc6758522fd2cf259dde6bcc2cb2b34 -KO = c117f4e86ec4b138a86d1b8eaf808e42fe4ba26c423acf180e1f83504ef3bed49d24a153d7710c885a68e202744186dda4fdae2eae856493e9e914155c0a8e75155047e95f52 - -COUNT=22 -L = 560 -KI = 1b7b2e2f62ff1aee55b21cdfd819ebc9c067fe11c5db708d5152d62e92d9b445 -FixedInputDataByteLen = 51 -FixedInputData = 079df31d8f69c39555fcd28c0c2fdb662b066754e0a1cb44efa4279de5aa39941b64933d84c9e01f94dd2fcec71799b90a927d -KO = a89ce5a5db9d9bbbcb8e0ce1d84f1a86d4107a17af7f626d06d6f8d81116b5a9f4279770d323017ea56ebb67df48c4c7cf279335b0b5fdebd73961db334e5d3d2b915adfe15d - -COUNT=23 -L = 560 -KI = 28715902366dab0d450e49855c80d01724536398757c7da76f1b6da14f49beab -FixedInputDataByteLen = 51 -FixedInputData = 536a715409e3c97d8790dd17ad24e60aa6bb15943ef9aebedad509d0903a949c10b838a6a3eeaf00aa79fd123d9eb1a281d456 -KO = bff62c9edd58aa89058140d65a5ced14d04de25a305b9cb993eec0f946c5a45a5113eba64433d10dfbe3ba3788cc21c6043c5c76eee0c818afe427d5a2fa363c0e264f5f6bac - -COUNT=24 -L = 560 -KI = 9dc301bdc21c469a389520c66e74db4f3c0bb3f2eecda6b358da9cece7f29d70 -FixedInputDataByteLen = 51 -FixedInputData = d78dc8b97a29504d10c92af90f6f2032d3ed1a2eb0edbe12fdc4b1a8cb933a52055dfb9f62c6a898261123cc8b263403fb4a3b -KO = 60820e0a2a9de8a8840ac3043f5f6b88687681265cf5ccb3486d427724789d7c648b7490c14f05589e8373817671e378d750e6f3e84a60c72e33d4e0cd1b8830eb9d075b4a36 - -COUNT=25 -L = 560 -KI = 59c6caacd603de8e91b98b813c7ba1767df1aa6e791df57882424135ecf6b10b -FixedInputDataByteLen = 51 -FixedInputData = 70ee2a478674a48d9c57bd7245ff1654fe8942c4496333346d49d922be201eae8bc4a63098b7a3a6d9c73c18f26fc647a7881f -KO = 3a8f3b13be22f35d8f2e04797f8f930fbb00c0e7afefd242894b24deffc623684fb8899538536ec5096442cbce89018ed1fd48b1bc541d76f03c7f4c5a0b00fe7e32a3c67495 - -COUNT=26 -L = 560 -KI = 67a7813cf64fc89801c00e3deef02cc669cdae292bc53c7a166d5ab5d711dd05 -FixedInputDataByteLen = 51 -FixedInputData = adb1eb6c7c48ae8b85fd44f026c027030fe42525d752e4ce1b344cbf6feed28d7f671278b34c824bd096273f0cbd3573f26253 -KO = a70a996fbe4ca43fe0cac28823c93a24b803f41a15e5d3c3b30a36c35e2a1a678e9e77d7e73e5babcaae74b2a6557ac1d559cf4210b47d448b75152802d6bd0366f90148b539 - -COUNT=27 -L = 560 -KI = 4868298dcd35a203cf37825f82e19d2cf910bb8c44d4650327282aaad5c87787 -FixedInputDataByteLen = 51 -FixedInputData = a986852b1cf2ac86770a073997566951e910e26e384a33689981a8ca7a60bcbfed6cab845e9630b8d35a05aba35f67877b9b7c -KO = 473f764508d7b975835c629fe99dfc870fb1429e413a8b287dc3a4c06db42d045de23cbdaffe6867114b3163f824d1bc15e754258453b2ca5e48d8f82e6f77e86fb10e18db3c - -COUNT=28 -L = 560 -KI = c3176bb1d9a614f0fae7e79060b5584a50027b7eff1e3a936817d2151a048561 -FixedInputDataByteLen = 51 -FixedInputData = bb62464614a1f1737895e1dfd0fa9332c4138d209f0a6403922571761984a98bcb8fda12f815e5245b594c8bc756c90f8da290 -KO = 26796196dba977a1d2600767497f3bc0bc30d393f970fbb6753e38d446a1369c39e423dab75be4b856c18400fa893bd746ae103d404b03ca5237f20716a07ece39e422bd585b - -COUNT=29 -L = 560 -KI = 23472783564cc1225bd917e3df579007abf9badb7a25664978296f4618858cdf -FixedInputDataByteLen = 51 -FixedInputData = 243fa2f063eaaa4dd5336010198c7b7c11e25f676fcf3054905ae90f2e7bff6e07de0462ca112d271f5f341f81ab6e87cd4da1 -KO = 3a571f424d98b7a2f55131e791669b0941de60825113bd6c91f7fcd975f0c34b03043ea5d6a162d36205c1d7b18e2d3ea260feb68b48683c2aacc283e776da93f546aa834e25 - -COUNT=30 -L = 1600 -KI = e840e224f58b3406c178b3d5ae2967c4c6ca24785401067583faacae12794754 -FixedInputDataByteLen = 51 -FixedInputData = 567405f6e0cccde5e10518f23c4ee754a6689ae9f9015285e8677dcfd3162a646cb91c9126ce0fc0f8212e39307fdb5cc511b1 -KO = 2a559685493b11f1879fbb08eb58668a5711c47ecdad0978eca57eafdea1746d77729daea6d0b9cfe631694486e4cfb2842331ed30db87639a9e3af3529fcadc30cc91e42ba11d91c9ecf87f15556d7caa4ca62a8eb181cc820413fb76a5a53a73fafc916ea82b49c7b86601e693c32094f9409bdd8f80ff2277ed916a48eb342ffcfe3dc9cfc71819cd1ae1538b95e944dc55bf065986bc5d348d7d02ec6e721907ce7420e848128aa7b18f28fab873a7e2d2ae873ef14fd24eaa286f905ca9d1ebc0a313003a3c - -COUNT=31 -L = 1600 -KI = 756f0681b98de348926c9cb12a98f25945e3f3fb3aa86fd6cf39660930d84cdc -FixedInputDataByteLen = 51 -FixedInputData = abf217df38075b5b7252a7d2507ce4e17386f1c2937bf9c37f7df535435ac6a889ad261e5422c7af7e2290e5764169cb58dc4f -KO = 2602574f42f1aa944225d63e0de4237788d87748011a5b7552c2f82b308e527953f711473cc96232ff76ae8082fefe7c581c7cb70b71a6bff3685d5f6e143de10670f0c01138a32031e8aa259d802f675cf79d038b372c7f945a0f6be83517a2b159de2b963d5382bf1b11daecbdf2b99232f415e107abb47c09f3e4972cb4121730dd06924bb39af8a2e76ccbb65f13cd7ba388db9aa83b56e686242de8b9861a45f17dd48594ad4c5fa7f80c7591be49ecf08828fd4d86d177a0c16393803fe3eeae15eb61d58d - -COUNT=32 -L = 1600 -KI = ea203eb0f6b0261834b859001d01ad3baed9350c0df5841af76f51aa3e922bf4 -FixedInputDataByteLen = 51 -FixedInputData = 31c2029837362a212ca4b89dc400a8ecdcd54c230042d89ef0c2355b34ae78130248d5f04b85d5beaf5c434c5e4f0554e87651 -KO = 0fd3ec313358ca216852eb3c79532b5e0dd8a4a3f4bde0bb02eef411e5b072d21e198aef57f8f139538a655ab77b94911f6c9f2f87a551529afcbb8ccad2fb038c06889dbe25dddf861f6b3fcd0f138413dbf0be090260c67afbed25f024de3264cfa25aef8f2b8fdc9918a2c8043d7fff0d5fe5572e3b492960f1c96f4eaaaee6d090df33f12927c8a4ef1c8254287ee3bf0c6b09a8b40daaeca576207941e009ac69a39c38266fb52cad630db05102fc2e2f7e01b39b6a90b98e4d9352d33fdf4f080fa9ad53d9 - -COUNT=33 -L = 1600 -KI = 6896b0a53c1cfd6fdac8c5e0ec9ce425faaa155c06a6855b6682db09883b4adb -FixedInputDataByteLen = 51 -FixedInputData = aa019446e8b59139246364f511626c99c54b9dd82c547f28907322b222952bbdc0885cab2cb895e820d4c3e9d36c628cb32049 -KO = abc42cb324d53042b0b8054565413c223674e4e2013fb52ab44365170ed3b2dbaccfd93b6efc42f5bb32127c6bc038ddd81f9318b0c52a830490694c11879ec16f77229f16808d298fe2d4ff94d23540663b1a3b1debff7789ae91561c78967a87ddbdc9f0685753c80dbbf2858e1da94040086d27b3554698bc6cafc05dd2ac0d1205caedb3bf95dc75600f7d91768b8ad408b04d8fb8e2d353d4197e71641490d70fc8cfbe1d5d792da135a13c2f8472aea59b42996f8dded834782bf8baf85959ee0cb14cd9d3 - -COUNT=34 -L = 1600 -KI = eb5e2b8fb23a82a2c93e55053fc072157d9f5b3acfd827a70f2ccf2e15c51cd6 -FixedInputDataByteLen = 51 -FixedInputData = d12617b821a2bf994266005800dcad8e7254b8abf349ff76c368ae88c493b083fdfa90e8f1f110dabcf62097165df2beb95a47 -KO = 0ee46097b140597995a3e7f3dd9365e62837e085ee06024b61dacc76bdc7f29389f7f44b79829c131e3075c5d250eb1e9d8397fb2dbe436289f2579f914c35c25ea8b045f36344905604875167a86f4a8bfe06323230af256b6bb4737ad684705c021bae6ec337aff50f8c5cab0808f22657c20b5510fd0ebde1801d0760231d454fea8c0ab291d524ff31dec7db66f2ed4cb0e502b08dad9e844ecc9d87ea920be754236640581b768359c9501f1dee479e6b691de56d5a6134b7fc37f29737515adeab3e24f6ff - -COUNT=35 -L = 1600 -KI = 34bc2064ddf67f20a87ce32175ce7194f7305c031eee58b003361e0ad2b04248 -FixedInputDataByteLen = 51 -FixedInputData = 3b178501576e1659fa7c3d3d2e439b75684693466811bc1986bd23446b8c66c002e8083105d7566e7ccb17875a7ee3004cbd13 -KO = a426d490712caf7a47cd0b7cfa57f4b63a9159965ff3614ef31062d45499c2a43f44e399f847dc63d4b8b62a0959b37cb5dc220f13d4f3a616dc7fd94a83b9a4b2bea949f5ca82c6ba106994704d7c091d8f433a9d501d9abe255b94f50a967041705c74582d2830b655aa9ac95eba108ec7f9bc328ba94eb48acb1a2c9538a683a60198cb000b01657006738018b7d05c42f06a14346b53e63a389f0783ac918e32c1760e983d61f4fe68602888248c92ba46236cb8623cc84637912a36e3e51423bce5f77f7999 - -COUNT=36 -L = 1600 -KI = a654841dfe0209f17ad7a8f6bb22f0103fffcac3211cec0912a993e4fd40d263 -FixedInputDataByteLen = 51 -FixedInputData = 8717fff095ec5a6f7dd14d1eb5f1c4105741581ab321e4f7031f8c49d220e887596c2221e1b8c47245231ea3c198d2368079c2 -KO = 45a0422c58fbb90e1a4d9343bed13e6934cbc97cf484423a7a5e74d5592ffdaf52376cb4feca93b65d7f3ad924df636773cbcbd8da0622e444e4a904ba26ceae09b2566cfc12ffdf3d2f231294633382c9c99f11e7b11fa8f3bbeececa50cb5bf5098be060fe433cf192762ce5a216683102b61fde78a1e869992f0b01271ca4cc08f42e7825d148acb253bbe9f82c2a818561e96f1f4ce06e4a0790c55cfec5401746d61838fcfcc6e31b4a7c9e8562ff1b200c921bfcb9cb18c36fdcf5e474f89ea4d649a1f879 - -COUNT=37 -L = 1600 -KI = b97a2e8ed39747efd0690e5ae8d1590d7187118d46f1ce6a4a6c0ad3877d55d2 -FixedInputDataByteLen = 51 -FixedInputData = 509bb2c82051b16c3e324c056d64235c511d15e2444aeab5780135763f49460cf225009cd0a723ed5e47953218975993880eca -KO = 8ce13c044002a5408ef7ff64773ca6a6729c7e7bb77bf8f5109fd3d4b73f146f369ba6ffc1eace6477bc05ee7fb1fbcee8b29dbb9f66d58b27b9815937e37d6c1f6ae6927e60c6252bb747c9b9565bebc2bc4e049e31cd55d90d519c266525178ff5f540f1a669be3bccc4b6bfcf8411dd4208affe5c61606fa23d736b04f7704ee539c65f6484527fdc59865dda012d58a90add6fba7937ae1258b62740af8a603d1a5ae43e9325b77489a4c4ba9fc9edf516c9d82cf7e53aa864efdee482ac4f28c47d912c28c9 - -COUNT=38 -L = 1600 -KI = 059d1cfd3843fa6ff83f052f483c5fd1d0e1aea76bd9e21e41e386283de7b965 -FixedInputDataByteLen = 51 -FixedInputData = 9d94e102527352d4df52211bce0761c8b69842fecf1f42589cfdec44c3565f12b3443b4fc5bf0e3d95ea02f2a217d20af69c32 -KO = 1a7a2b21024a3250fa256c9290d063231e95041b0da133de2c848d6644611c50f08cb8e2baca171789148568b37f5c1b79f8fd0ff497a85fe2615d8866f921dfcfbe117c8c0606300b28a249e8df7707be366e4f2c1097975676a316bfccd4308702b555f0fa915b68e562ba9fa7ef3507a10ddf1548b09c4785868dd7171e0fa39821389c3e8655c121ca487b27a8df0d233c4e5e674247f946527b4d2a29e2dc203e4af748eae4533b845a99d57d27aeeb73ded0bbaf93decf6e8c8dd6be96caf6230297c3c9f0 - -COUNT=39 -L = 1600 -KI = 7dd67cbc48a3e5f851cb5a030a641b5d01e8f0bb5f81286dd066d02de9dcd3e0 -FixedInputDataByteLen = 51 -FixedInputData = a0801206def8df7dc1c01629bc2c8f879824f346f4fe4ef9fdbe8259592d5bb4599eaaf3f3acd74b65676f4ba5ecfdaa8abb8a -KO = a8509560827357130f793973e9171c7566f5e2bdc861a36c62fc99cdfe9d1ae1555cc37db2cc8adbdc3bc757a0c0c376d06771d25e2e58f44fc024cc2d6cfe35dd5a9b598d37dcf9db3eb683b8987a420b315438e10eca7d8b5719ed98852210976a9695c0d253680351ac70e37e4aa6a5030ce6cdd50ffdbd4d5c9996fb0987756f009434a4fa8b8497ad11fee16642711ec74fdf41234dfe4d86f7ab0fc9bb1e1d152d4732f3036a547ec1c1876201927c07e4a6b8afaa7c615ee3e3e2844dd5bdb75c4984de57 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ca265112c6ac7a5d83adf805dc6783bd33cef03a97494f6384657d1ac1503a6c -FixedInputDataByteLen = 51 -FixedInputData = 3cb92312196576ba8c936ed792851a0de8c184f26ae359323b47583abeeb7b46687ad068be8999158d1a554c86ead8af294600 -KO = 77dc175bbb95e259304b17ca3ea8ab79f99e22d0095537a46b347efe26699a50dc03072630400677a954fcca1abdfb8f89568db4338ea21115165076e7b8ab2b - -COUNT=1 -L = 512 -KI = 7113879325888f8bf89cda5706c20dc94d9554bf0653f8ccf327bd2123cf7103 -FixedInputDataByteLen = 51 -FixedInputData = 06beea0251aafb80a8b81967d1cb7aaa216fe58cc4debefea72be4dd8d9d6b4b203972c33b5d85fdbf0cbfd94c19dfba211472 -KO = 18ed3ec8be23bf68b349e82452047b603048a74cafde31be893a394d704d0acde8ffd7aea606f4bc4dde25fdfc03cf88cd523b5fe55521537ea96c84b14ad657 - -COUNT=2 -L = 512 -KI = 9a42d9866d8ef2163a9fd5f71f6559ba4b02ad31960abd52bf2b33abb328c891 -FixedInputDataByteLen = 51 -FixedInputData = 27e864318691829ca3050634c02d6328a264b87af5a3f6457ba0a2a608458bfafe7d8525a7155126f8d9de9c4cdad70dc1dd0d -KO = 400adcd1d09b563bdb93ee53055c1a532e2bdd873fad1f49916fd494d7b4e55b511062099107d3e17bac89e0b2ae19a12ad66a5cbdf1c5424a5f6aad3fc0bb4e - -COUNT=3 -L = 512 -KI = a8c37c9edcb546527ba61b8552e2b2e334a0d8e85b163a93c7b65a6080c2cb45 -FixedInputDataByteLen = 51 -FixedInputData = efe29f45dd8a8326a6f4ecec68bfc7097282e60b7b724f4a1f10c6d1076eb00b84dfa5bce9af3d766677ce96ece9896b35e2fd -KO = 841d6ab766a761ce6958770e25105253a2783b8fbbca4b6758347f55258f9bb97b96ea8433071245100ca8663f63d65834cb054b556805a5ad795d50bfd54add - -COUNT=4 -L = 512 -KI = 25b22b35b96c51add93744a86af69d17dc05c965eedd4f56fc582c8020d9f19c -FixedInputDataByteLen = 51 -FixedInputData = 75c98c17ddf4b184ffe2bdffba96c3ec2553a5713270091a94ad0940defcf2f2d16c8c20ecfe2ac7df5871f7ae5988bdc8131e -KO = e80ed8e26a8002d73bb5c029ca1fdb50ecc47e01f89bc6db31c74019a9894912dec608727c326f67b672093de804442483333e77c535154159be270d33cbab86 - -COUNT=5 -L = 512 -KI = db425a557cfe0c68ca250acf2bdeeef2e7c22d67d8ac9f8dadb65d7e7cba55b5 -FixedInputDataByteLen = 51 -FixedInputData = 0950b26468fe09a6a892f37f8178bb807598c94b8ecb1a7da4c9d94d0712b478d5fa90aff107e5a6a7b2d6f0093a9256f91ddd -KO = 144ea526f13d14b2431555ac60882548555aaec1df2385216e286b0bd0a9e056d23a988f0fc938f8a8e683adbefc951167c2d922392119384a396e0b23f6b898 - -COUNT=6 -L = 512 -KI = f2ef36a1664cab18c85e7e8fae7eab3c38ed54b10b5346ceb3591f2a8bc3f55f -FixedInputDataByteLen = 51 -FixedInputData = 81ca0486856776fff98396b2d4473088efe31c51fa3e40c08268296deae4582664bd928973b3e0d41d91bf34c6d95c844fffe9 -KO = 8566b834a8b97b67d35dadc0ab188d60927efc3413c09dde101521dc4c7475e5d9119e1e31f6afff9fcf697f0e51a94ba4b388f8279e0e99474eee68ebf1723d - -COUNT=7 -L = 512 -KI = df0153ac7c3965082a27792175073aef2aef764f13a2b15357bb5bdfa907e292 -FixedInputDataByteLen = 51 -FixedInputData = 6a4fbc295df91e21059806dbfd0e925e0c12a67631bf9623bcd2309ed3e978f2ff893059c9536aa9e5e79cb5700b618d18fb64 -KO = 3be30c6b7a0c84ba92ea29a64abb99137765f9ea5e7b2aea65505d466132bb32484d3bacaf4fd3ac31ca39bf6e5e711e26ba5d72a7f17a06ee917c3675fe9834 - -COUNT=8 -L = 512 -KI = 1cee4cc2205b8a8c43d73f000695d5da4a0e180a069ba3c8e1d99c2b20def39c -FixedInputDataByteLen = 51 -FixedInputData = 8b69b0c2528b517cdc528443dcac3d36cd894da8f963fa133dbb7abdd8d25ef8c180f4ba201f17cfda1ec9a895fecf3cb2d34e -KO = e41ee4a5680ed02dd557acefc0cc8a462b7d17d59456d6bbc8fc3c534ac92eab0836c140016e6fb55d033e0c00ca421f11b350ef3a711ab7f126d368c3300ccb - -COUNT=9 -L = 512 -KI = ada0d57cacc01af62ffa1ba35e3af4ce9f7bf6cddde5fb5273b9e064b813c36c -FixedInputDataByteLen = 51 -FixedInputData = 5a545aa9a0b2871e0f64b6ef948ea2b81a4f5b5006e326feb8fc9868c3bd46f3003527e2a660fabe61fcd4984395992160776a -KO = 724cf1a38112cabe2ad87fef7ddb5fb64c714e01f0dcf49188cfb120dcc0e4e1e9251ab6fa9484bb031d19712eec452e7546e4cde568814d973dc5a05fe1e8af - -COUNT=10 -L = 2048 -KI = 92e31d524f87b02d5f8dc7807e7e65aca0be5f451ebeeb31c17c3bb0a8438d5c -FixedInputDataByteLen = 51 -FixedInputData = 9d282afc2c50bc7a01cb071fce42f9cf06c5546944f071c82fb87ecb4eb54d4cc03b589b367719d6f60519dc2c8864b0338e04 -KO = 940d6923f4a92f43ee2145b2af3c4839e447a75c07f9d656f8d0ad39b0b944bc4525d82fdedb27742636b8bd0bb404c7a123cfc85e7a6c110df5a11bb33d06d3d04b48c6b3d9ba8d727589625194ca17f8b0d60136334f6573284ab925aebe6797b9775a07048dd6f662152c2b53cb18f93cd75f3877738eef37e80504b1fecfdf65a4f567825b29018a934acfa6887a17e7b11d082e9e14f1c00fc865109ed0c36f36cb3d55a9c7641eb83c4941795dea262e6dc7daf990b472f46b2fa43db71d19d411067f6cc9bf9218168279294ba8e075b1d278f10c134f12b64fa3416dab73aed7a873064c13f17c48122b5d5e03506370cafb33d3f38573490bee64b7 - -COUNT=11 -L = 2048 -KI = 50e2a49992f59a84d226404630aa2b56b06dbaf59c2ad24273b9a1a2fa602dee -FixedInputDataByteLen = 51 -FixedInputData = 62a5ef01cd1591f8a5386b1fa8182e20ca27500823c292451d42b9a86a6659f7f0851945cb7e27a30452166ac4d668869de25b -KO = e747b2b61bbaca856b34ef6edd07b5ce92cc5a4b3655493a5e5394dc2a49639a3bd949e1923613db860903c6b4bb69b260bf000a124ecc9793afbd7f91613658ffb3e317336e54744c6e8ec07e907551705dcc7ec1a21f9ac57197e51f8d647543a009cc88b901a4930a42c17cd79542dc23c536521bc3036633baddf597f233faac391f048b7ef19adedcc4216c360f1ef9fc8bb99aa2929533423e41ab48138075d499f42e943289c4130a334727de9d218bb6f064a6b28757e87d58956c1c415ac0121e235893dfff49aa10ffdbdb885f80adef2cdba287de5b9e8f8e8e8ea0759c41e71016a625bd3e20d7b53133615c3fef12ca2c7b06cc7ebb332905a9 - -COUNT=12 -L = 2048 -KI = 5f5dd5abf0c79203858e37de3f6f5a91cf96bfb6068d5b694f8e1105fe2bada7 -FixedInputDataByteLen = 51 -FixedInputData = 25db1d5b67163cb57dbcbc288bf2eca419b787339efdca5680030186d18d4857d74936ed24e8539248c7f1370337e39c3a5643 -KO = c1f5f6b3b0f25c388304a323d483f1aee341563ddd706c1832c4b233ee24adb75c308b82800264c3b4177545f16e1792af3d3815a2faadeb4279b74111c602e720d056a9bff661d0b0103254ed32c051c997f70826191d2b3dcaba17557a213b979c4bc5f4f07190707f5bd3d1f0075efdf95559e5e12defda229438c5f35fe77688c914e86af01501184a2462208d8741b49e74f99ab4535231c919ea2e1da333874dc9e64518ba5d67064627ba163bb82ddac874383fdfb5690fab5ce30ea307ebeba0485526a1092ca377f1755a8f668f7a9e7342718ec97900c963afece02695e735263b6864e991506ff8c0d93c4c6d3bc8f03882dfb869abe04a373265 - -COUNT=13 -L = 2048 -KI = 50de432809d2bf58455a344b43133e799c8a8a70ffaf9532c1b830804dc4acc7 -FixedInputDataByteLen = 51 -FixedInputData = b19f43efd4ef3c6e3b5d2eb750c1d7e8262d9f25462a1ee6df134688030c70bbbd6715085ad680ec194f32cc9bf746d876f0f3 -KO = 783f90fabeb52c8ecd37d456ffc2799dffd50f0da70535e091a17ee5a9eed7401ea1abb461a7e40e8eaa91571a1fab05c4fb9e87329ea062e805955661a302ea9c52e480d7267de25ef691421f4c1d12155669efbf394f8271718eeaac14f29f0f6d6bffc92811e135d1a1d8caf3eb41b8335306f338c5d0aa88d81a95b79dec174cc848648eb7a43a5c99799fa0e48b8ee4c8724f8e5a669bd5fbdc4813f7e0edba7e89679dc2e70994d7cc5e535972aa83c014ef5bbd17ee986268b7f4a9415a3c9b40f5502478cea6fc061bdac7b0adfd32a4284d6edb96fd613cae19a728974162f29fd4a61d56e2378a9b47ac1739a6e803737674d130465030704c90d2 - -COUNT=14 -L = 2048 -KI = b453a9b0053a92270b9858b4ce1226d1474f329650933dfabc23df50b0452ec5 -FixedInputDataByteLen = 51 -FixedInputData = 42ce5b47b667bc2af253feaf33d5dd4e8a364c4d25350ec420e6e9fb8e8257de2e76f66bb2b973a912614e03a6ee57f4135f31 -KO = 1528cd26267ba7ec88b6031947b66d11eadebeef90984e5d9892f402e3ada71e04c8afa68a72df36d89e6b5d2220d3095838ea6946e08c2b47a9f06540db29d988f3713cefef302b327d31ccf8615c3e2435d422efafe421632ef8ebbf7ced451417df63a162556c5ba47e19047ee45fa6b9bbfdda01799c1a3eab3ace341b82cb17b30a996af41b0a2da14faa1ae44c1fb36c882165c48417e5eef048aa713d0caed6a6f70b7d5a706f9c1d2ccca39093337207de207b08f283cec1c0606f3a567089de4910d8db939899415721fceb855cbccaf5acb8f86fe05ba9d0590258506e2e4d3196f1b1d3fa838662e207cff9c0820d0c8c03592f458f46e7bab176 - -COUNT=15 -L = 2048 -KI = 21972399187cea905985b34d5b1f5fa1daed2151af415915640a5c62ae96fe15 -FixedInputDataByteLen = 51 -FixedInputData = 81cac09202ce82a8b1d51e3ccc660464c64a81b08b0b95802734a382c3b51ae94c6a5ffb4f8c0b9eab07b6819ccb41134f6f51 -KO = 535827e290b3d1b2a36ee36e3781538d469857782286f00922ce575378e2f34bdf17660ab8ebaa43e07661dd3820a191f168aecded771c8272331d9380a9201874bcf53bc99dbe7226458d6c59b4c081ae9f4a5bb2aff8486f81e3daf6030e7e974132957b8bdb3ea3bc69bcf1f2b382759456f0746169378633c35142a5450dde577e998f9e6d46e0489e82591600d8dcf1e4ed487be07a9ae4f9669bd4cd1895941e61a732c4aa386f256f0114157afc426fa87081d50a9e076d210030d4fa082fdfbae9647ff38dc5fc182ddfde8505b06af8bcafd973a1956eadd2a079f18e4d1dbbb7d869788c13af4aafba9d7858ee4dc2b3ddfe7a9a3aeff485efa9f7 - -COUNT=16 -L = 2048 -KI = 10669190b9987a089f8cf2960b12a83fc8a56568975f19c867c236c55428f0bd -FixedInputDataByteLen = 51 -FixedInputData = cef3e0ee4151eb49277afa421cb537edee85e6549ccc60ec9ba438669104843058f01776a3d59eb7cb02471301238ef6d15213 -KO = e1e414f156c621a71a516c159f66d997895c12af2d4140675d384712a2dde70a18c451894cd3826f888d3dc9d862d610b1ad3b2c52dadc5275488f297999a24bbc05164e18f5b8a0f9484b9cf0ba066729f8162e3a8c6f560e7205b14188c5b0e874df196757a2c994e66a18b919bef3cb85e4903cf35f85b05ffc624dc581127afda1de83ed0ec694468a27e9edc7a341f1440d6d0e9841337622556dd9795bcd28d78b6a41f42c43e668f493f00bcc60b4643d75154707526df1f0c2642d9042a1ba8ab7bf9184a12c400e3ee4c5b14e0ad7cc621c7d8c2a26249fe590f3864407cdb973725f551cbb5b273c48b414d238a2b33d2ba0bbc8337ef119d30dbb - -COUNT=17 -L = 2048 -KI = 54f2ffa84585671cdfc7677421c76b3d55158ea613a5e311cb53fe5210af652f -FixedInputDataByteLen = 51 -FixedInputData = b7c38c7b9d28ff53b504c53698c625e73f939dc67c20ae40a6ab3dd6948a6c6f73ceb4879cfb3616b0d4b5f1dc93c38ae7ead3 -KO = 215b0c9531e179b3d08b1ab6a635bb122392c827545f97af8abe7085750e0cc6e456b6a33fa6b20b32ce25a4228f6be204ef5630dbf095ef35992f35fa68dd7ec37677d888767cc20686866b2fa81313712a4ad3f2549817a14b84d8911f832c87c532d27eecd5da7dfcccd04e23ff4ebb8e96fb764d7d5bc3c066d65f58ff18cee1c0bf12d8c14b9bb4c495d6bbd6f1b8e64645ff35ddb2772a5402996e7800f654a9b32b271bae762b166df1522c2562f99507828a35aee1a80b3c38e52b7d82ee54a8c3253a22e65c9fd7fa02940667e918a9ddd04e2e1901c20bc61a89f41be31286cec1054f5c703ff400d6d2149f4b48c84801eaea8da10f019cbddc1c - -COUNT=18 -L = 2048 -KI = 7c522bea8bba87431842b1deb1f84a99613a49f163e8c4341398b3017125aaa9 -FixedInputDataByteLen = 51 -FixedInputData = d061c4f6fa87b2f8c98ba9ba366746c26e7f591d16815e0e7ed72be610e29ab50cf6a4be3484f7b2a7af975209a807b910338a -KO = e4e50bad379d263118124c48a396b168bbf6ac69f667d976852bc0212b3bbe11f9ecee8b0a449f8e749b172fc79dca48e64c1630e35ad9a9557245cce931dce55edb48c56ea55cfa394727499162762b083c4359919b42104d53381f8e7169084e7be8ad0d817ae525c0ac4a06867b6577afdafddc0f98cd99ae6fdde6543b3b65cc080ef70b9ba0006ad034fea94d72349e5667b61b59050fb41be7593f5bf08cea8993151c1460424a0c345977198dfa0d69d84c82b218024444aa89a362805630c23f211ad66500c6689b77b0d24e0002efe224803f74b6e58fd7f43466e5cf7d41cd5cbea03e3c81c16aaa82f1a1c972388bbfd2c1b910e707ab4d6865a8 - -COUNT=19 -L = 2048 -KI = ba810dae732d23ae61fefb8d5823935f1e17225149c578d4b092bbc03336b840 -FixedInputDataByteLen = 51 -FixedInputData = abf6c9c6e17dda17cb88779f22ca28d07df676009f51ac3211f36873023abec6a5161927bf62ca54f2f7afd7db703177be17e4 -KO = ea23a2282e2ecd16afcba88759d85c529b8ecf503b84b6b24b2fd6438a0ca6e3759a46a279d49eccf3bafaa0c97e421c73276cb6038d1c8ab9ca474443f5543508729de8745ca3cdea3d862af6b9e72c4b30a922e325211451a2aa8c009691edb5a517f19d375b5a9810cc4c0cf51d8760bb10a56561cd9aa96b7cc5fa503da2d85717ab2da17225494b47040ca68582ae49a551181ace30e6bca805990f976dd006610cdf01fcbdebe0cdbaf47d053250f20671035922adb00dbd6ccd7199e2f1232501e54706f699737938bbb447242cfdcd5ae4883309f7c5383414a9e8450ee749eba25220d1ad7d01fa334379d80e20026da160b295b7fb5531ffadc0cc - -COUNT=20 -L = 560 -KI = d627c9c5632ba021e328ac24f5c78a61d8c3c97b19fa4dca65ead4248c2c2d2c -FixedInputDataByteLen = 51 -FixedInputData = 9fe9854addd22b726035ad72dfa5e1053a01d933c81e8432a22abb0a759bc827eb38b58001a75ca3ba883baa4399a3922a20c8 -KO = cbc3e3407657557bbf1d9f9321e2721382fc5d818440eb8d3ca243d027c908f4d51bda2ccf12200074ecc36b00a650422ffeb5880cff8fc33d5bc003727ba4122ce92baa0d9f - -COUNT=21 -L = 560 -KI = f8299875ecbc44002d7969f5c8845de29c7c4c69a19ffa80313a3a2cf1eb1df4 -FixedInputDataByteLen = 51 -FixedInputData = aac2cf5c94000fdef9a936d59107a0f3978a079b8bf6d01a7e147bfeb01b3e546dd2ebea326626facebc16a6fa618b8af6e91a -KO = 4617789a117770356468a6db874404a91fb3491db55faa084776cd8e77adea02f4fa74021b83faba79b724282505fabc60c22013695ca43f7791ed2859f1a236d7bc6ef505d5 - -COUNT=22 -L = 560 -KI = 25a0aad04652c3e08e410af19aebc83d5322bcb94a9e12ec5b3837ac0f6dec91 -FixedInputDataByteLen = 51 -FixedInputData = ae607917ccf19d7633e9d93a54f9fc4727a4d79f35d144099495d61c4a4e772fecf7b00ab21184aad34b8421f43f54c9438296 -KO = 75890fa1c44ad9acee5b10b6bb06d14261feb067a45d1b234277195e054882b65501122ab78878777467d6e587e9d2b66205728ed505680cfab9954af2b6fc8d94f5538eb130 - -COUNT=23 -L = 560 -KI = 1c28ccf9c99b262385c8f5e363b4ba804b232df766eebc21b57851137a038227 -FixedInputDataByteLen = 51 -FixedInputData = b0a778112d73dc26aa076040ff8a2882fd83f6071b19b23a706b586808b4c295d78ab69a548ba09ad0be77691b99ab040cd11e -KO = e58955995651c5e15ce659e47d9f55cf5d6a23116969cd930beb9e6301294b547827ba6fb46b42b87d39b9f7f7f0fa37d55a205994cbaf00395749f4701bb0021b6b3230b37f - -COUNT=24 -L = 560 -KI = cc4ee15ff45b6ad0b5be8b9085d79a02cb2b2f948d0696f28a7ee6c0db301855 -FixedInputDataByteLen = 51 -FixedInputData = 743759b856eb3d271e6db8f78d9302fcf1048373a3fe343dec16409512410d784d05eebc670965c434ab244c9c4233e46fbe76 -KO = dd9cc5f789a5b6b5491e30c7dcd575c5b4fb99edd346cebfb06bda6dd185c648edb200f3b8351409ac792a735e08d9f64cd48027c1036fed2db28df7e25c5aabd592214c41c6 - -COUNT=25 -L = 560 -KI = ec638dc433d940fb503332a51dd94d6011b141ef5ac7651e0d34d91a78aeaa8e -FixedInputDataByteLen = 51 -FixedInputData = 1f1614c9ab56ebb6998d78a04e4bbb07926a862a79002a2578740339a7f49874869ab30846d5787527601b6a61acf9540803ac -KO = a6eeb267fe3a89af330e0170c70c3e04526f33b7c571275487213cf6ef13bdc11b46a4e09ee17cdbbbd3bd00a418b45c9f7888cadd642b536e7ba2dabeef4d5997e497d7a38f - -COUNT=26 -L = 560 -KI = 869ab195926add31ff81951d7dbaf8f4d6a9f953596b4ebbab7e88d0efb65f27 -FixedInputDataByteLen = 51 -FixedInputData = 6ad3196f543251723f6bc5bf85573fa9fe2e33b37d3d19e32149a175db50ce47c5099fafc9eb0e36f3af599aa7eb79ab33c5d6 -KO = 9e260491260dc3b7bebd934fd97301d9e3e701aabd92cea3aac828c39f5945cc7566c0799c06255bf6fd1ecd9da39303c2176e4e1403d49dd2bb91c515aff638c0d53eea62dc - -COUNT=27 -L = 560 -KI = 32910e02561b483907956981a85b38d8ecd8fc5b1e219a53aabdf4d76d737d1d -FixedInputDataByteLen = 51 -FixedInputData = 07ef8ca039953428d82e54ebdd916caf9d86ac065818d432a8fb151ceebd28f22f7b8321c13ad8df5c27b05291a234599848db -KO = 466a60f9225c3070abc05f98bf39cd1471bbacd240b70b387d9d2f86f90cdf750024ad9d453160cc89379d48017248aa159fd8fd421cedadf730a46e5c500fde4fe5ef60e741 - -COUNT=28 -L = 560 -KI = 343bebcfe153a75156dba9d87f43d229faadb028e5c812ce326be58a1f299ace -FixedInputDataByteLen = 51 -FixedInputData = 5fd905fcc49eb66e2dc1737a6672038bdae9969b5ed48f2a1835b63111459523de2223e4b3f2592fa7aa9ee3fd0d3c7a9e2221 -KO = 23c1428b5f4f841521cf9126f2a0598524c28cce553275003d742a600c4ccfe7e0f7888998d0a1ee32bfe60e56dd9c784285826e6e3c9ad790efa27a5416c90f4f79e4710677 - -COUNT=29 -L = 560 -KI = 1bc67200e6507ac2bc22138c0774a35f6620b07262a2675e0c39c9b850f09793 -FixedInputDataByteLen = 51 -FixedInputData = df929ba1110a3ce0efd23aa57ac8e7e2d2c4954c690b298eda51aecb974be1c6bcecdfebcc2838c7035519ccc4a21f6d1652e2 -KO = 23a3a4cd549a875980b931c4cd091ace45fc5c81f9b4fe98ca87678b309f92af49d3013375dbef329ef9127889021aec4905171c4fc794d59d466d7562938710b23ccad9aae1 - -COUNT=30 -L = 1600 -KI = 88f5ecb345e56a240143822937b49a0c25a62bee03009489161c78dc8085dfb9 -FixedInputDataByteLen = 51 -FixedInputData = c6c82de763bce0d56b9aa797d0505ee0e3cbc9c4f2d6e78141ae326dd3c44f90bcb574590427066648d0b9abd02f18ac1187b3 -KO = dc2d33cdc8ddccb8a5c912bac7d72726903c23a252ceb037165c4655a8b387fd6e6c8753ecde868477e6a61803e16d9dd3134b7ccfb24729a6c2a2f08cdf0e1838dfd21f2a5d71ca881ab2edd81a647b6e02a4a9d33949e56506684ce6119442b4f5db05404d2f32c5a5c81f5c8e6005f172aa94f7f7310da1c816a13d8713274ae659acd6f87b126a80e16aee4f3d6aa14cc87a9a8efab7cd423b683cbb740aaa1932631e7df92756def2313cf4b00a6324538639a8c24f6f4cad57a09b68823df2a11875a1e459 - -COUNT=31 -L = 1600 -KI = 256f12316ac41ea2296c787fc9ff85a9e6e6d6815e4d5643b638a90ec0978607 -FixedInputDataByteLen = 51 -FixedInputData = e361887f098dfc9e5814db923e7a28240f8ad22eef9489ae434f9ca286b7f1fc9755329fa3e1ffda88bc426e361960c573f41e -KO = d46e1e9c6ca535730c3d9db9cbf1a29062a0f9ce92ab988eaecd7afcaa2d5bf91ad4fae529e699b5479bba97926d34773354b7112ae92af5cabda3af883b29fdda757206b98e4cff6374e504d52428878176420138ccf0b57e8ed605d85eb67294073cedef6bf964ca3edf8c4577bc12a491be5ec41ab628be738e9b955c77cab67182ff4997e2ee9fbda6f6514bf2eca4846595cc73fd6c6bad55dc4ed7a8455f25dc0a597c1efd468e9c02a8dd265f227676b3c293a5c8527e2433c6f0d92fd92a4d67dff4a249 - -COUNT=32 -L = 1600 -KI = 82835ef46c8a1d8e6825841d9b3ef11e930b571f68d28120bdf0ac2ac6a54733 -FixedInputDataByteLen = 51 -FixedInputData = adeef30bea605fc6d6f0005623d20ab4aaacbbf01817eed4f71008a3598c315b87754053220aaf084b0e89ffd148b9b1a7b067 -KO = e9a840118c0a86b2dda92a6245052b5e671167c6f35b3956bae810665d52a1aea7380e9f9b69912fb9249adc3d0923c238ae2ccfc79aab0542914df20762a44ae9017667932ddc7d428fb961c538d8c9120099028c6ca5ee37b0a355c2490d880b59d83f7b629ac2a64747769eed211bfee1423f1332b88740bc04aec8cde1426082cd61e77bdf37567cae28f1bf1ba220f54373506d0a004e0f859dc5a8055eb49b485bdfa72030bd19823ed3ec85cc410a6acccdeb7925f7aa0b2d6ce69ba7c96456e86680b20e - -COUNT=33 -L = 1600 -KI = 45f2a1d57e952bc3e887b9a7928e92ebcc13597021094ad1252913f5b9a6bcd2 -FixedInputDataByteLen = 51 -FixedInputData = f580c874d5b0280ab2e5bff5b899655ca12896e994585ddf513d4a4cd27a967c91306b31a156680d35a58e8d2db6822695a571 -KO = 2db828cd75a8d8784e4231eacabe83db7f554b0cf9250a37238ee63748680371cedae25cc244ca8a21d34c612df8459ac52fcaba7b7c69ed881d7905cc704eaa0d157230fff8983751d62d6cff4143feede813137e2b2cf0b108ec8d3b8acfc1e60e114fa87628998fb9c95aef85be562580717a85c1e4a29ebb9f85d6b787b0bfe9ce9794ed2178ffa034d56b5ec882f5c3f21bdb14e5b7d0f5476ce8e0ed91d6a64348f71359ddf52e517612b760950d062d135fadbff6b2b4a40d2f02e75dcd9254203d9777e6 - -COUNT=34 -L = 1600 -KI = cea6dbb4379c7d96b3c86aba2419b94529cf74cadc0060b5989dcaabebd01f82 -FixedInputDataByteLen = 51 -FixedInputData = 29d6012eb38184457a173d05d60899b7ca927fee17520059efca6218fd33635bcb7810c46c2f197b117c87c8d4eda24c93a90e -KO = bcaebfe5b48823945b48546f66b77207afd57da8d94a5a136910ff556e66be7010f1ffd9cf1817a73899cffaacf21a429648e892b023ecd556074d5279569ef3fa7d9410be2088dbb5ff78450080c3e8bc05b3945f0b4cd2d0ed2755a1ce5ba71b553c2c4f8347290e55ea2277edce5d384e7ea70b0ea0246b3a46c4827992b7f226cb21a067e82061b7b7da7751a9b541d28a47baea405f491f146a70480b40b5c1b9078dbe3beeb684b3543392876ba7b98bb67f996bc505994c2c41c56805cd54f095cfae1788 - -COUNT=35 -L = 1600 -KI = 50302bfe004c678ddb1a9604581c641f535d6c65bfdcfc9627005c6301c1104c -FixedInputDataByteLen = 51 -FixedInputData = 868e81363ab955ddffc420de30a67513a3812a127c75958432d7671021f9f1ac013d4c7c718a2b96f4c396557103b31d51bb8f -KO = 04f8049e8f1a295e3bf6b994a182e32905566efd4452779648bf9aecaa718d294b73593ff3a97b9c1e753d10952eb86265ed988ef95ca0a4ae6b489a530e219850b67690d4b0a5f3969728faf9099b76bdf0de60155c2578654ab70847435ac7a5b1f955638c0df4e877bf4f8c48f0d9458c3a45d2833b648329071e1ae2d4efd0b2476c088a05561f79155f0ed35d421222d74f263df2da4dfc99b51ab25bd514f49e35b38479373d3040c66b8a894f43aed3cf3571f182d2282ece2b338434240e7d8a53a88a27 - -COUNT=36 -L = 1600 -KI = 88d81d50fb6494cd18c82ed61da55a396b2559ec18e975d6491f650244ae1e0c -FixedInputDataByteLen = 51 -FixedInputData = 0fe80cda66a4f8a99573c9b74a3be6367db64a467e0d6b81ccbeb45b108a41a372f46ed0f1fc2da4fe0904622b1e239e89e887 -KO = f50aec18b12b16406b1aad55fb99f567ba3dda4fce603251175931af70ee30cae3968511dd0f981209af807f218f22d0ceeef6d16976291221d43b30d4609aff6aa9752a2dbf80aa33f4c63c41df976e26a205b54a71b6ac9ba6125075d16e2cb85ba2a86ba75c189d5b8b5884e92031159c91eadc15372a993fbdb2d8830459051b867dd1316626e3d5f6725fc9adb24aa1103eea0cfb8883b8be9308b5a71969681fc8ddc23524180c6bab47f8ca9e5284c56e34f9ae696a163c42e6f325a0f1dd7cff519ea64f - -COUNT=37 -L = 1600 -KI = 83f7aa71e03eb8485d0d0f19c69e851f8fbc927be8022bec9435ee0119a0ddc2 -FixedInputDataByteLen = 51 -FixedInputData = 2c0495acba33a350ca0999e08a7acb2359010cf3e42d7b43f325b05452580346621f11729e2b3a4e1308da7e6bc7cd153c3239 -KO = 2bb16c4290944193a168ae18d1750008a708e7a999848bee3cca4295fb5572359060b12cb42806b7d8569001039bf656541e6e9f6b1a17e7c5efc771ed3c963079256dc0b23dfbaaa0364fb2a6d328647a365f58523774029af215aba2c2806daa1f142b8df54980c15bc7278e1a71f8053c7808ec7243593cb51a7ef1e3b24e1cd22c2dad7863569acc5d6239ed4ccb32b405a80db206fb3b1cc5d985393a5a2d766595db6c8fcc95b2056a26bf5fb6e63d4c84c19fa2e02ff3129602733e924530353e3d721566 - -COUNT=38 -L = 1600 -KI = ebafae28a83fa6fbd2416ebd23e58613f4dd1d387b3f9ee9fc599d990374e834 -FixedInputDataByteLen = 51 -FixedInputData = 13351f3a5c20a7fa85bc4549a1e062a1e0e39a92776b1e29769436b4e8e5c68fbcd46f2e4838b2bbed67c9411857cff1fb4b4f -KO = fb4ce8098347d34ec689270fbfc9c10ab8cb738b261ea9a1f896d0d5e5d9cf40ee87792d8f24cde755132210b44cee088b0218f7b5c1b7a162fec561a006bd060c9e779a9744bb0ef1d37ec3c673fd712b391cf7db8cbadd21af0b0acbc9454c1332e9645306f674f92e15380fe81aa8535e70b32e4fc4247415b2d125aaa4c88f326ddbc692e8f501d02025adcb52ce974b6d6d72b6a079f8006cf2dca99450c4eacda73aa322fc65d4f241dd04300bcab4dd8a1827a7c21479b0b9ba872575988396679f1c200d - -COUNT=39 -L = 1600 -KI = 57f0fed2d92df1e7f17bba63b6d3bee49b7f8c23903b452a23babde35c5b044e -FixedInputDataByteLen = 51 -FixedInputData = 22b3c2cf0225b01c5eb97a470eb03f51370518b1d253e84a2de97c0605f40a49635a206e5daf3f18b842be1d9084a371977afa -KO = 16b777cdfd8d8e517206e4d56a5cfb627e5233dc7d777f1ef219fbf05ba7554f11a8d416112430da29f7df23100a5141ad6d0eb977ac426f3edb36ba01ea3773f09df1877662d776677eac468038c0234f8e394107abc1af29f3c54cf0885a0053f375bdfe74d98ab6c9503cd8d1a2558c945864e21374b60a2bf6711667a6b6cf430d245533f0b15d503058bbba1054d95be977d3c2a2b29aa03a171c388770b9a8b2adf011cf3b27d9ae0af4db63f81559c8a1b1ebf7efd8d531133aa2516423ec750e3cb4c691 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = aa1cae52a912ea2b36ba9aff166161f44f439842bf13129d59eb7a31275e0387 -FixedInputDataByteLen = 51 -FixedInputData = 3aadbea15089309859d64c403be643e92bc498a33b2fe830ac76a1f7121811e54fce468bebaf4631952e6b2901deb62a104e47 -KO = ac707ea7841b90d7d018ab749c8b53b896c812df9cddaba748ff1653b1224527ab18ec528d909fed3b61cc21d1655906d48387179b1207798801d1a3fa0c150e - -COUNT=1 -L = 512 -KI = 47a30219fb33171468f050e553850abd79f7af389e1e481accd6d20c0cb10677 -FixedInputDataByteLen = 51 -FixedInputData = b9678fc4991d89df4f493574d1eea83037153452c23170dcdb7d2e060994f96ad7c34ceca45a1a53cc7d0955525bf85ca33b23 -KO = 70faddb195ec692b8200835f279665dfc5cb6495f724588a51511b734bf7341dafc356e907b83c45edaba6567122de7d44072d43e5109d3cfd0a185577c48154 - -COUNT=2 -L = 512 -KI = bf3c06eead00ac1e4281d8550304b2f957637041de3e8a9233dde25cf7a562c7 -FixedInputDataByteLen = 51 -FixedInputData = b15b1b4b895373016e0eb3c7edbb6455b8dbbb3f2ec802c898450bf95b27cfb36e778a673aad65950b4246e62a04a501fc4c03 -KO = f4a684c6efa9757acfccb96f5f7353afcd63529c31ca6365c2b76dd3234fff50a7dfdeda715c9a6767fca43a632b2b1badb99b27e14791a0a4102b9f4bf43e04 - -COUNT=3 -L = 512 -KI = c2e94f285e29e4e53589b2de704d6546d7b196a8c1fe99a2ce6570cd3ef34bd4 -FixedInputDataByteLen = 51 -FixedInputData = d04406eae7b44ffcaecd3edb126731de320a33b3ed29f7d353ef8fe2fc4f474cd92605ec5fcb278f4fefd9cd39ea9c89dec6ee -KO = cef241ae5ab76cb67c196620662b8aabe60a84475376427b17c9b47e8135d107edf0c472d6706389a897930762d7aeb8cf1704303651df1bfe652b5deff82fbc - -COUNT=4 -L = 512 -KI = df84c97624c5ecc215d87c3f979d90ae992a65d547ee36e2ada2f43222431603 -FixedInputDataByteLen = 51 -FixedInputData = 693bf209df9776520842ec009b676c5a65d0923bdfbfcca4921c0f9d327926304ccc2bd56e868f7bda025392626e52d34eac57 -KO = 8a0da25b9deaa7f989b7ee8d5bbe5793f980984013be7bc802682b08f677ffb52638290cf69cd6b3f7dcb96e39d69642b11f7b37e1ad2da30333ff11e06926c8 - -COUNT=5 -L = 512 -KI = fa78ec976e75246e78495bc54122d0d1d899e873369f9e34cbd1423e1ebc89cf -FixedInputDataByteLen = 51 -FixedInputData = a130dc9ed42c4fe8f9a5316edd0c70196d2a7fa39fb6eb4d347b473a562e93e94ad1bb7d5bb43df317d47c04002b677e9a0ccb -KO = 26536c45759f503f2aebc0d0e426cf0ea63ffdd78a94d0688512248e490e743a0e68f25e5f8d60b8b7690a4f76de0062eede94621bc8d1f5e4d3fff9b904668b - -COUNT=6 -L = 512 -KI = 1339f95c4902dc992ae52799912c5196b8ac6f6c66801f49139a323d492469f8 -FixedInputDataByteLen = 51 -FixedInputData = 0cd2be998665e7a222f29d8c46b731e855a598df0bbc5c812f307e8eff704c74e136d30043d0f9aba43d01621f472896361c55 -KO = da75b06598cd1814bc17806215793d98202409571d8e1b4947e3132579c1eb1bccaa7d003cdff23bae569208f3caf3b554a8265436dc179a7580d1e677517bf8 - -COUNT=7 -L = 512 -KI = f054a9fc626297689bb22b507484e0557118e6bffba29f7b16bd29a1548ae88b -FixedInputDataByteLen = 51 -FixedInputData = 2638913841ab725dc2749b84a79db651e4db25fc4e8a160bfb204c344c2936ee151e29983b4aba882cd0a034de373f004fb552 -KO = 84f1e1bac1c13b1a04caec08333229ff505543c16494b3b55dfa537ba6b6e0130301f152b2edf98890dc20a5e8617bed6c748345ff2f96340f6a88e06f03b079 - -COUNT=8 -L = 512 -KI = 5b9a9564bed43aed4f94822cfbf96e7ed9ab9bad1c48e116bd7d1daa55ca4a2b -FixedInputDataByteLen = 51 -FixedInputData = 34d1b44e29d8d70c653b4ae703748cf835c706f86e192cf7430a5ead169e6855fbaa4ddf6b666265471009245c33f9eacb1452 -KO = 8821b643bc0bb88318879135fa9af8c9d8473d7c3ae9b789300456de71f32e1ab6bba1b84ea50a991e2886857463403f53f3f1beea5fcea297cd463341063993 - -COUNT=9 -L = 512 -KI = 31273b30f25c0de1cf0ea6454c2176cd9b9ffa76f47cad8d56c69c09b27e22db -FixedInputDataByteLen = 51 -FixedInputData = bac4966b7be981233eb883f9af832b925562f7516c6881e19d91284d1231d52b93302f3786e1b32661ca4c64f32f4502b8d200 -KO = cfefcb100be1199875347975c9ada77f792493332aad00ffdf73dea99979bbe832e31cfb7a5103c18ce4e6d55e66fc92c375b6b508267af5bd2fa87f6c893bf1 - -COUNT=10 -L = 2048 -KI = d00d3ea366f5219ab5bbc14d17e40d62cd6976c9e5a9ba9bc50889428206be4d -FixedInputDataByteLen = 51 -FixedInputData = f113dc97668eebc68c9e0b83ec98d753fc8fc6a4c6223f7975df4b2de3e29d7b090533c50fd03a82e159e7f644669e76332996 -KO = 9b3df47f01065a1796514f4fad69a83311e405f9b48c7ca5557e72ffd850e1808da755c7df81da3181b74a41386eca204324fbb799ef0237346a7c75ca019fdb561fe210e1a26580856e567779befb2dabdce8ec56c1a9ed2bfdd872cabde049034ddd35da7cd67f05a50aa3ab792cf06fd85534c37e34dcd348e371ac0160609bb02f94844a6720684edd0208132a09bdcf9362f00050b5730ac740dc5c91ba9dc1a40652b25b8da18d489a01cf2d39ba802318fc52a2fa5229f4177769aed0173e7c6428bba28866b13fe7126bbd4372ac5f8f6cb316be47cf53344ac883feeefab02d8937f577f404b25ed83f03a25bd205ea2d0a7b2a73b96381ed4ec5c8 - -COUNT=11 -L = 2048 -KI = 522bb083d1d077e526783b709f94ba5426eb4a0bfffe23add74807a0ea4b7b24 -FixedInputDataByteLen = 51 -FixedInputData = 2d3b7d10fc6b60ee287f5c6874ce7e7e668ef8dabe3809103ba8ff2235184a14ff20b510cdd2447d4824383a0159e6db500fa6 -KO = c97841aaca045e8ab4c9cd88e4904e1e07e34487155c4ebd2b11e7acacbf324b82004137b3d80dc51a99352cf62685308916566847a14a45e5852fd7d15c3d8f26662b228b0318eabef7e77ce0b5810ae43111e4e0c3d56e2cd94889791f18fa3714b222ce2167c2c972175d34ce98bb439e89f57784caff643a907bed278086177c7be0cda897ce44eb85b8b86918e5e31063152293afffa9f945345be77577c4bcc3193084c95056f76c6be964de3c3de3a2b968904b5c4b9b2fb0065b1c52a56b27809f48429ba8354b59af959196e69bff054c32952c588bf1725b8f4272d078292e7bf5f5d08d2f6ea432772aab745e238c2c86df4ce2e49a15d90c3abf - -COUNT=12 -L = 2048 -KI = 7ddd2840990293ec302c240811ccc15d4382d5f8a86f4437267e0b0e7a299282 -FixedInputDataByteLen = 51 -FixedInputData = 6f62ea244386a4afbdc4d2ed21068bbae966e99a15a5b0b5719f96efbef618bf428b3526d0d08ab8745969a17104cd71f8f700 -KO = ef5cb99e6c1d8144cfc323793f5fff97f40910977a9878b3f5cc86e250e6129fe156821aa35e9c96b0e9f84daeb842ac995cad47319301a90af1ee37918d5f93bf18f215e87fa6e22a1aa694c37794f747a93322f4fc1232129849eb6b1f63f746e82720ddc7d3ea1aced1f891bd087940b03b6e4e56c70286a97a799154ad774d8e5becbb2ad88347ff2aa2b2e3a1d0d9846b23db6c20ba2f4ec392ebc1a2880cecfc7ccc1c4189941b7c5004bba51d610808298b96b52190f9e939441d023925a584e0276302a9a62a47d1d1b6fef8144654839b4d3097ec6dab0eea434976922ec4f6b662c44214b5b95cdc9ee0a313466d066c5d8a70e0d03cc314a2688e - -COUNT=13 -L = 2048 -KI = 1503dd23722c75277b13f2c6757c7cbbf00c30bf1733aedc190ff7b6bf9a23c8 -FixedInputDataByteLen = 51 -FixedInputData = a5b71299548a5d23b25c25c66ba93e74df08af24d38fda528cc626c3f498599c5b37fba136736bf192882db89db172aadba756 -KO = 4afbe4de2d2602903ab2bc6dfcfc5729bf347ab508665df860a0f45dfb8f555c6cfe30440e7ab969c8f29af8b6dcafef7563a9fc46468735cd9fb24f697b908ee7f8355c1d46b0498e221ed089dafccbaaf76893f4b98bde0b00ab0a5fd1c554903e78ea9258bb24b1238565e288ee2d7e4c3246bd2cb5ed88c40e2c2935614046c06dda183ca84ebf6e029f8685c02732185c9a9cd4dcab9d9d974c6f0b0488aab7f2fc4de24c55b4f100d97f9c9b35015d663a75ab17105994af2c11ae9961e0dd2b15ff493360818335b0beca8fdade6ce3c41522e15a78e50b40299b052d29350ba88b0fd9c95d40a27e2c16d701c946e62e983a2e75de41c7e76870389c - -COUNT=14 -L = 2048 -KI = 922a9f19371e6bfc17fbe357fccfb30c1213f810de55a85deab759b3329b611e -FixedInputDataByteLen = 51 -FixedInputData = 7a4161476ac3262536ba70dd241d7655058c95c514fd8cac99a343fbdb2a41ad2a3a4c16c604af142c008aec5ca40808eed85b -KO = ceb91d0846de24a3fee1408913c1bd3b68e575e533780c36a8f0a2ff707ad01055ced1a2e31800132a3f43e4da678ea34d8cf9fd4dac8539b2165b1ede81e1492b17fff4b1f964defae960fef137159b66f38632f50120da2614b290a1a1654d2320617ab86b03973961981725aaa6cb45bffe0afefb2185cb607f4e626a6b739b3e4a9fcf30ce280bc270deedc0f39e273a645a5a74b02dfdb13deb99a3c57e1c3a197abf3e426bcc6304be953e94f13573c85302688d71e8284a5b3411e4dc8d4b9496d5be3a8565793cf12160e7b59439f72bab9ee7150648f3cfd4bffb6ee54c2520ca204347522bb88a9d630335fa10b69a084a8113664919482d11d6e8 - -COUNT=15 -L = 2048 -KI = 0472e9fed4f843ecdd91590098fcc1b099fa0ddd6ca44624114f462f2cb1a0ee -FixedInputDataByteLen = 51 -FixedInputData = 6b3eb3eece33e654652c43da2393fff5486ebe50736d2ddd1ff99ce9f1da0bb56937b9d572ba513bbbb21302ce815fbb1132ff -KO = f9c993dbd983c3025fffd8d7ae92effcb6b0e69f9fcad266dccea8fde34cd303e029936b3f868b6ff0e1ec12c675e96f20afd8c3163283036590e081699e8f8dd6431086afb27dcd0eb7db4186d1a4cf21d48e620e488c66a2fcbc24bb84e7cde77cd6691febad716b4f4df9c1240710e07a5a9b832b9e24ccb486eeae3e55e8b550e4b464d0bc9ed902a32f9fb5b27115959dc7359b21c6c69c2b7692f9407110dda3081a9a3021ef880a89b8fdd33e5f34c2a11ce44007d8c8f694c93a27ad88d566c80d07b66cf4acb81a0c83940e0cd9a6cc44f57ede4b97a2737d32c2063ccacaf25ffdfd2f57c779158aff6fe26cb45d1b568f466d9c32b50755de8aec - -COUNT=16 -L = 2048 -KI = 0db6d871a8ee05f173cd0b5dd38f97cd202c615d3c97e3a8e6f0e89e526a4efd -FixedInputDataByteLen = 51 -FixedInputData = 72db9a21ffefc7c928fcb89a473c6f1f6dd02aa7ec97b93f5c09c748e129421c0210c5410525638e12459b146c259be9d2b1ef -KO = 0180b9bb3b44503945d9743fef3a9404c0dbcf8bd28d6629ac7015587b84af3993f852882898a4780f12bbc79d392595168aeeb411b820fc4caaae8ed097dded69d6e49ea10ec6df47b77ff622a231670a2d1b64a1e04d2ab317330bd33a5f460d24dfc7d6e6f156a09ae4b4b3cae8a5a1967497d36d4a537e8a08771902184893c72177bc52796498ed5454846581e74653c484150c0dcbea5a070521ae2ca3915dde0cddfd707d452ede355196c990eca35e70f41886e88a6c6e96247739d9ff6dd6369f2e4cf0be1aa5af4aa502db8717363b840c4e93be5200a141d35872fb10c4eb54e9e09f6254070bd26d30935239e5ebb68f2d1c4d70d1a7a5fdf96b - -COUNT=17 -L = 2048 -KI = 00224d3e5c57f2c2f4aab881e06136cde227304db15f474266f7e3ab9e8766cd -FixedInputDataByteLen = 51 -FixedInputData = 1217d371d04bfedc8a5f46a59563a65829860cd6103fc9a1d881d0b92cc0e72badf2e0575b7e7d7c5f056e1e481f2ceb5fc11e -KO = 42aa75e62ca5e928cea5d272ebf960da66e4c2fab270eb935dffa7390de6fb38c311e9e882b81e49adaac8824bb4fd155d26efb3fe9e9592c7ac42aede431e6e3844ee7dcde4ec80d3f4a15f0a8e55d5d8fcd0c581b0462df22490b9e12a88b6f244e7b214fddfc7f7f1470c82d52dc8a10ab4abe3b30d9e52a22d8fee5ded2b15e12fe72cb113449e00219fbb8e249e27184ff0598807f5f0dc6ab8b79c6a82dbadf8a63690c73952430755fb0f797eff27534eae188fcb68f010dc0dcda93385ed40cafeea3a1e7159e628880d150811c675e253e31126ef74e851ee49e43f84f98b9df3954ea5e399586c9a3546eeccb18b9e5ecc089fedc4ad4c327c74e3 - -COUNT=18 -L = 2048 -KI = 9e3c53217ecea3a026e53001fbf5938341a9922e8569b0570053aeea03473bb8 -FixedInputDataByteLen = 51 -FixedInputData = b35ff4689090ca51c4df05bd3523eaa321552f98b0c5a3fdc475093a53945174028c8ac142652a4e505448df3156ddaf6c9387 -KO = 63e4c825b98d89a46b3c9114194d04ea772f38aac955484a48fa184e5daa54fcb869aa475fb27e6da8328be9bb32016ecdbac3acff79414415ba3c0cd6232457a507886857582758ea234933e28a585801c0116f212b631ee935726c5bbec3a8e6cab9340fb43a55c7e092d534c65487b870194c41a618d18d48cbc0c48aef1b5fbf63e537bee41f0a3a4ab6f06145897c3b7b7f6b0ae78d66ec8f4c8be87c3bd14ffef84a9f7bdf0be0bdc4adcaa3ed091acec540ae423c3c5ad02efaf06ee397f20e8fba460756f830a9cef30815bcd5b943e878598d47a313233e757e0799d7ee67d31160bdb86963d4ac33f93f21b28779d945aae9818bf10bc44d742d71 - -COUNT=19 -L = 2048 -KI = b3a75865d579cb6eb82fdb9e0ad49e6b08ea0fa2479d1c2e69a94d87305c38ae -FixedInputDataByteLen = 51 -FixedInputData = 7e0393593e695b6f0b0b6e221ed140b5c7affc6cb251158c693412a15c98760bfa328e9c73f53078e9bf878ac2dde12d35f86d -KO = 161b100f07ede72f272d1d96b38df4c5c37889929ddc17de3bbe816addaa522766feb610f74f69d370c3c42c9f96e086f26b4bca5cc44d9f6219399a5d52784eb6f63eb1125cf07f7e31c87f70ea001a27f8a5a62c011c8a52710db693c53b58fa1f21eb7375f12849b9fc79191741487e7651173a01d5ad5e5da0a22321928ab111c4627a02d4a9aa7334fdc375728ff03eeaeec34904c6c1fb8c8faa102b6e665e2d9305fb3a4b00980c28414dfefc390457eac181415dbcc7f4bc9a1760bb70abddf6ba62c3e15ce55de8fb66886342f190c7b2f84444b823421a9cc40b2cbf756611e1c7f1d17348a7dfc9aad5df4cd7601570f5fa0a3d13f874a831d45a - -COUNT=20 -L = 560 -KI = 3676d70d5f3cf4b338e2528cba411d2086b8f8fd0496d6217e2fbb34d41fd618 -FixedInputDataByteLen = 51 -FixedInputData = 9bcf2b3b7e355e7e2b0569c3a31bb848dd483107dd139aa67b10f8239a7bf5ae4b053571a516dc231ee3ee7b5f0fcff159730a -KO = 36a5a0a1096597869f03ce175857f07961f913124ea50810e1cfce6bdf9d88b90f5dbe5416c192a768418d4c6474e2e311aae6737c8ef8151260c94206359d6361af22eb2296 - -COUNT=21 -L = 560 -KI = 5d86aea6f3210be04acab7608ee30cbe4039083bc498247445049b9de7635290 -FixedInputDataByteLen = 51 -FixedInputData = 4869891e2969af351ec5261e28566bda2fd010d0547f9795b1b92acc9e270c6d421be860a6e517f2beb0e625989ecfbf97dbbd -KO = d81b9811049fcf9438372b1ab29a0302d0654fdee912d5d4bdcdda9049737ac16f307ccdf3f9bc2b894eaaf4c95fc15f41361a690c0945719044c9ba83f6b00323185f5c04c7 - -COUNT=22 -L = 560 -KI = 99547887221bf72969f107cdd3ed3b97ee38583619cb1483a6461a4b5e5f98dd -FixedInputDataByteLen = 51 -FixedInputData = c36dc5c41cd4f85fde30e02972912f75c87d74c023f27bfdaf6c7f40fbab81d19218bfeb9fd6c9a22c3ec6b52f49774b85ccd0 -KO = 83fff5ccdbe58e1df15343c0061d512688c4e39edf86ccc9928ccf3b5885b333cfba81b563590b915443c0e86f835caae6cb202101d267a57f39485d07f15355167766f831bd - -COUNT=23 -L = 560 -KI = f0018a3b5c1a73533903b923c356c56df3f58d2a88f7ebfc0f99778039e5006c -FixedInputDataByteLen = 51 -FixedInputData = 9b17dbfd51ac6c033490f3d4259337fa9885d7b60fb611e45afb9d9412832f4d16982c630b154e09077b2811f391ecf28f9254 -KO = 77be5fd56423fff4f3ca7591bdddbf1a856d7371b563f8e314b61a300eace1ed4d284c0a7cff212f4aa44b5c7578fb1fa52913b4e5de0e94d962787462c0fcf3fa898edd57c0 - -COUNT=24 -L = 560 -KI = f9d719b1a380f918ef99e9db28261b5be344e9d40cb93e217bff4088542a5404 -FixedInputDataByteLen = 51 -FixedInputData = ad7af94a4853d59dcc5a009d9e04561e9d8476a459745f0a3515580fc86b8cef5368815c4354a35618c2e58d86f933da23a232 -KO = 9d1c5a0e1c4afdc08a42b68db29850b42c611a3d4f19d2c0767aa4a00d92929b6b5271c5ef50237dbc5ca2f6568a406980e2305b8d73780a28c79a7ebe5bdc6b2167b7ddc0d6 - -COUNT=25 -L = 560 -KI = 1b2075c95b0722749c1e55d3ac78bad8585127274614016ca71341a998fedc0f -FixedInputDataByteLen = 51 -FixedInputData = 8e5d9a2d247db737d01e47f891422190e58cbf0c3ceba97216e33ab6b441b93b574214ba4a6c3ca3a785a7a52b17b23b83dcb6 -KO = 4f03c71ae4c3090459df7b493f3973ef4718a67c837ccf3084ee1015c19932a174f75b65148a37d38a329e0408add6204a9f9e33070dcf14db1bfd7dc6f910bef2aa93f75f4c - -COUNT=26 -L = 560 -KI = 1f12389b860ca3fe1a0be1bc41b3b881e1c62851784f4c316afbe6808893bbf1 -FixedInputDataByteLen = 51 -FixedInputData = 2f61db9b7245f054b0ae678149e6695c9a143deecfe0ecec063ebfde8d8fbef6b30b630f0a7417287ac1382acc1800146da9f4 -KO = 63fbe3e5392d91f2b94298d1be2375ae20f1f8129a7402d6ef006e8f4483973bf92bce1f49f669dc42fa84546281f2c45d8fed643c946f50f93f8c1758a671fa8d7db6efde7d - -COUNT=27 -L = 560 -KI = df28db5e4f7e15282a99832ad6dd5bc8fb6efa511a1946e62e9fc3d6f436f2c8 -FixedInputDataByteLen = 51 -FixedInputData = 573f5c34746b6911e70ffaab03e41e7226890d9174670e612439f38921426ab548e1eea71d8795b87ed893824274de2de1f715 -KO = 6aad117fa389af3b48a772f6ae3f44febfab452b14eea9a7a82c35397346d63553a85f45279865526c94698a859b4e638923963f89ce2a722754722489167bd4d01d4047d18b - -COUNT=28 -L = 560 -KI = 0f221150653f7c3546be381c40a882431b8b5715b2bef3dd0b3ba9a5a53be1bc -FixedInputDataByteLen = 51 -FixedInputData = fe6985d92da8ea640737901ea13e43600f52176156826b12e93923e1ebb4e5bc49c8236f26fa4388c6278c18d4c618417b6518 -KO = 4da5f19a9228738864f7c2b7f7aada5cf6aff99c5f782926a03ce033de2852e24068ec44d861c25ffe4e91e90245694fe9fe1c15d1f9fce9579f6e24658e4e11235059c66299 - -COUNT=29 -L = 560 -KI = fab20574d66f55016a0a44f4b64d08848bcf3f7b0a73038aa2afd7c43abb982e -FixedInputDataByteLen = 51 -FixedInputData = 49f4d1c54db05a74460a102a53b4cf377be0c5309b4abde26be8d89f80ceb504f4b80965108d44628f4e4c49c526505719183d -KO = 2799f3ebe6ceb3e8f17db563438ac8f34f57e461376719703ad71b54ce1ec874971f15716825226bc5a98473b7350898798defbbd230c1585863ccfcca13a2989bc5ec0e032e - -COUNT=30 -L = 1600 -KI = f22a6c5ad1d3360b22aeb1c49d91ad21edc1defa10edd69facd9ba0901c57fd9 -FixedInputDataByteLen = 51 -FixedInputData = b6cff88f7036041df0eba837a903b1a7254901ad40c11492b4334ed2ef5e8bbb317c2b23ca99dab12cb8393aa20b081d944206 -KO = 18bd13b02b7ad057a60810f8ab1bd8cb159159dbe22c59d8ebdba1ea551959edd5be96c70ee8df50d7d0679fd2d79c1b2cac2db48bd3352b4552bd2617b2409daee14a2b30e9d75f75e95e27edead1028dcb2570d3df38bf31854b3733e1f0fd1a7cb32f7d99f938cb1f6c2b7d952533f3e07a856af793d4011c54cf48d65e8da66d482b8703ec1090ce75a44284c2c9933585d74147053389c33ff721b3df8c6d045dd42a26e23a8190a8999ce0e5f151a1400dc501990e23c85f20426dba6135d47db4cc28706d - -COUNT=31 -L = 1600 -KI = 36ce0193159d5574bac9fb77cf794b7789bb03b8f7fee474a1ac8bb6ef5ed04c -FixedInputDataByteLen = 51 -FixedInputData = 43c757a1bedaedce47322cd88c512354346199fb643210ad701e77f206184c1475aee63a6fd403109ab74ec1ece74a3e789247 -KO = 8244a68f956d3ad8938429e1b55b92358dee89db1a49bb44e8a7c2c9c48f8d273594eed57e7042be78fd00943854c4f248784a243d64f433fcbe5b7059b04f25ec7f0ef8ac4bf92c586cefbaea5de59ee461599d8a5817918d06784d7820f33261750980709da165ee31b0e55f6fb859606fb87ee91f7d03256cda878eaab4cde16bae502a97eda541587722567546dbf3f70f77b413bc2222151f8a8f81359dfdc4168f61384605b5934f8ca8fca1fd62d43b94962d939068f97dee6b474e9f94f8b6418bf10014 - -COUNT=32 -L = 1600 -KI = 238a7ab30d39f1291d7f093f06bc9fa53ae008b251f3f7ebffd75070d24ef4cc -FixedInputDataByteLen = 51 -FixedInputData = 6201f304c24fbef516a3aa5667f68226078a0ab1cc1ad62019861019218f34cc0afca664493702328099c1f3101b3a055013e4 -KO = e3462ceb9be43f79a3615cf12d536b93b40f89a71fd4e81f96bbe242aa13a229ea533175907ad26058a6a09d19013c8c3c5df7ecd4a689977e72c63dd264950f4d92e90924a57927e8572a1d6401e5ebe8d0485eb4f87bb7237345fde7d7cee353496f451594f9a6f3cb747dd07f4bb9c7cd7b22116f0b9280fb6fa771e04b3c2ce6d31a3c9b7df595208e3aec19777f47585b740919c3bb70754b493958adc2a0c9ac7e4d51e462a51a3f53a7906139499c99a235d2bab8a2fe967ba2f041902307c0cb9af86480 - -COUNT=33 -L = 1600 -KI = f95c41992e2ffc1d77f5475111242da6a59addd64bf2173b7ca41cc1ad96cfc6 -FixedInputDataByteLen = 51 -FixedInputData = 345fdffd58c4007f80b31d2be23257d96f4bd08f4da313d2f6dd126439d67b097e249b8d79c3b8ac8e6245bf7b40508fceddef -KO = c4a4866e5cc69e825d2b2aa82e767e127a018e47860ebfa89a19256a962253790d4d9c515fdefbb6daac497710d07c17f09c74939a33c3f3eb93e79361063cb2f93988e2072800a7b74de5af47a59423a29d6e6f7587c3f65f2072770a7c0a6467523d0cec72f45470ff7464f95551a99727e3a44f4095ba1fbe63fdd3baa8038c5366d8298eceddf5991b8c091a240cca46437d401c8a7e6c9375e87764d33475ba374092deb801f07df0befc2d0f7782119c780a3012b8a92144e985802ee34bfcd508beba7e15 - -COUNT=34 -L = 1600 -KI = c5b7eff07e0fc80239b2633fe436c27e894a7f3cc8e7d7bec3ecb19047816e13 -FixedInputDataByteLen = 51 -FixedInputData = 7a3fc39813d45a12e89444090da16e415e85dcff8934c6d11510569ab76588dbdcf8141a82b7d7532d2445a704168190a891c7 -KO = c887453d18c6869bbde87a5750fc6d8d21d541fd55e33b1abb4cf2d5223ffa3444f236630af77fa85896ddb4e447a8e5b99abf852145d98bdc62f66ad864808a2cbeb99d86bf21b384a3e768b3694a5a9fe4707d9eeafd585d94d500c382050a552f36289fd306d80e358c7ac647acf0d0e21e99569f5c4660a78fa1cc3d6a572db037c6d4bd2d8325fe92b311aa3da653a341f190b3099ed50531176737bf17360f8f83ec64e9ed10e2a13164e20b5f2a46d2ce8533247ba71b4be79e928acf20a08ea396dbc3a6 - -COUNT=35 -L = 1600 -KI = ada690b578144da417e1704ce6116bd4461007c5a6dc677de1ad38cbde371051 -FixedInputDataByteLen = 51 -FixedInputData = d7d2da582708e896020c991d1f98d38b01c86b84e0ce6ac345bb9cfd0a4aeb333cb7f7ab5f750f804392d83705ea2a4ba57999 -KO = 170f8621b2b253e78cddc1923b7004ad8864439c2653643d46c59474fbebed9e64134b61d28b9a72f1de65b179df9403825e915dc761f2a5462ec6ad7ddefe23f85cbef03d754a2837c5c0d139a34952f5fe9c78b7cd3f21b196a6abaff68f05860e022edc4d0e782bd9cbac17819d6ff655d05580382ba5fdf00c98d1e84714d4c020ec8af4e1896e445e9ae50c47b3378a30fe9e842932177d13a52baec7d686c2c9b078dd9068a15e029925df37651dc8d3b75311265943ce53636d6f8781dbbf0447fa7d8063 - -COUNT=36 -L = 1600 -KI = cd0d274d641c42dd3b68f15e18c88f64a8f1dabb7b1d5c148bdd57d383bf8be8 -FixedInputDataByteLen = 51 -FixedInputData = 41c2fa077c5a5dbe7f580cbe1f9e8976b62eba1db38b3e36eecc80b6bd3484b9b5e4fccd30bda974739a84c27bc90626657e1f -KO = e5259dc013a0a43ab66171a282d8f1fcef38b249012669101950888eb3d2edb3ad7c1823fb4a98ef9f262ca9d71ee962944bf6ab6e78596bde62a4b4938fa34147615e7d49f66ca8500eb0c43bfd397ba4cd79482ba8f5e1d529a973415f74429513bdb6391ca2a59e457fb8afca46df273a81d1c830a80d19a8358b973db2ddb6d0fca8963000bec33023beb2b2a30263391fd6c00a140b8f9f5a41d742fee88331a217b5183390716ffff900fdca11f2d3693503f27e5db19a97ae706c9b1de629cf398ee65fa0 - -COUNT=37 -L = 1600 -KI = 13b17be68e4467b000989581271154a6e3e1be16b6bb54863bffedeb5bcd7037 -FixedInputDataByteLen = 51 -FixedInputData = bfe44fcf2970d9d5caea98b798f24bc6375eb17c703395c3976f8c9b89180a44cf3581af97168c001f45b0546227aa3d9cdca6 -KO = 7a73980beae7292159b7897adac909c247f03803e9030327886c7d215f142f913c521860586017c3f905375733ce1b7f1b55557a7570d0acebc9a76e799ef688516d06826fce410472105c2f239fffd44d621501fd537d0da743c6212f1c60f84026d02229a8f7ae7db0658e7020ef7b807a68965ac5e89eb1fbb9fb5116334df028b633b3246c9f8d753d5222dd7fee823c285bf53d37118f4b1bd5f5cf32abb266d47879237b647ebe306923c1b3902ae0522e6365dc956684adede52a92f649453c30d2058a42 - -COUNT=38 -L = 1600 -KI = 0a025fae1f0a8ab701ff5d01d8ed87fc0790a341aa364eba7e48a5ed7308a8c7 -FixedInputDataByteLen = 51 -FixedInputData = 9cb2d3652d7221eab13fe1a96c7db4664710adc021ef795fa119c45546d2ca364398fca6d8f23e8a7f106806b049ba04b80eb9 -KO = c95ebdf334148e59f0518b6a19d954ce91574d85c696f33973d9f9c09de650cca21f73cfdf8b5752c8e0f2d334cd1308c20b16b8bbe93a232f1e37dd2a60f56f3759785b11770644a01844d049028f2c34b14b1733d14ee861809a7d90e996e36428e38f51325a950c318cea15e79a4b377324601aa52e7dd80e5d98fc1b9ff307fb3c28d54c55a55ce785ef2d886075a34c7ab00d42085c2cff6c83bacb11749430489d3f5a430660b1a1f8582defea7323090c01852e821a46ebc0cc728758e2c1d8b60365f13a - -COUNT=39 -L = 1600 -KI = b35307a6cc424f5f90e042df41482619f467f84f28e86cedf76099e89959fff9 -FixedInputDataByteLen = 51 -FixedInputData = 8c6593c49a2d2ed9c67fc2cd4a954f26ade85618040c1d11a3de22c9d2c4b04117d65be105a016145fedfee42eac7fe6255f9e -KO = b4079af7a71276bb9b211010f67a277131a0429351c49760fd8f1927e776041b1bce77f2aedc341528d55c84e37d33a14ed57261a4a3e1e206bd910115d82d80d738eb60c4edae7754391f2e61ff8c5fe7fe1545831bbf1fe8ca1af6ab58bad80b7a778a67954da33ee7864a3230e66a24f9e0be34c96d259650da36e1db7111e7d244c3118078c79f6f261dd56d479bddd82d51d7b6aa358f6b78c701cb2235cf903ff17b799cb28a8792f8004cc9cb03ac11fcacc55256415ec77bb3842e21b772f660fbdaae05 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 3d92460971b83c711b549d0c36ed549a12130d3d918b01cf20ed209fcafa1477 -FixedInputDataByteLen = 51 -FixedInputData = c7125913e0406f06037889e5592991a6abb3fe228b2b76511195b5ab5fe7d13a14a88ba991faa74f7d43e82356c688895d7ca2 -KO = c652b675cfe1ed625b1108dcb793d101767a69c17ac785036558ca768fe5f91c8ef991aea73ff97f85a565c863914fbc82c93a04eb6f33ae60b9169b6f04237a - -COUNT=1 -L = 512 -KI = 8c48038fd56719132d7ccf9157b407c2381a1c5e7931a09b1142ec867c6e5fa3 -FixedInputDataByteLen = 51 -FixedInputData = 7c68b44b6625712575cf6ef37763491509db90bc1a9baf6e2b3b61300488f8d24ba067b4c80f323e68f62085606683f061f991 -KO = ecc3630808ece97a11e99d9437e7b8e7c913b4d26be930dfafdaa65fe909872a4cc17d8af59a2244cbdc3edebb4a0326ce5c24e1399c9060e911f2b4a9fc8c49 - -COUNT=2 -L = 512 -KI = 6f037d282aaf2b1c363239a74f9130136d4b6fd055482cb293e80d307340eb23 -FixedInputDataByteLen = 51 -FixedInputData = deee14b1bfd48d557b80864ccbdec9022ba5daead7d73172a3163fb22d9488997de444e0029bb0ea5796b7b627a516ec6a2247 -KO = e9364317d3ad67f529626c6a44ddd6d28c39c58aa1035704c22806a776f5676bd79535bab278c9fa1f6ee42755c7efecdde8798a3ac59e1774cc9119430c762b - -COUNT=3 -L = 512 -KI = 3d88c1530aacee7c6f5a80d238419cfb36453f0c86bcc49a083858a8a5f0f03a -FixedInputDataByteLen = 51 -FixedInputData = fae53bdf2432c5b14d7005452c35885c049297dfca82830fe025947b57a2f5c95ef0d8ce4c88908b52cf6291d090126ec3ef2d -KO = 026b73144d2cd2ac059cfd7c4ea1d90fdbd1a04cb7da910a3807dad5f86187340d9f402e95380f0ae6d8bdadc74af74f41aec7f1194cc15828c756e7ca602026 - -COUNT=4 -L = 512 -KI = c39dcdcd8f2e0d2ca140f93e1d44c79cdcf0d6820ec69352952bb7a2c86ab883 -FixedInputDataByteLen = 51 -FixedInputData = a983d34d58ddcdb0dc0d80a6a7512741663ccd58a9a5606e43f22cfc6af44f72b41e1a6a07eeb905ec5e56e739af704fa2f412 -KO = a003d6d04bb179ac1ab5c17979d22340dcfc1e8e78063fc88b992e74d94acbb7d8bee8e12058cacb2731d98205a80b6996113639ac5f6a03e374a7706439c313 - -COUNT=5 -L = 512 -KI = 84d0c9a6d542ac3a62cbf688630fc8f2d8408b026a5c36f17e2ef9cd7967444d -FixedInputDataByteLen = 51 -FixedInputData = 7b8b97a3e99af7a5ff2ced3a80bad494dbd92e9e9c9a5557365b0e5e14258c25a7059bd5929b5539c3785b4a894c80ccea9e68 -KO = 8bc9e03b3ef3c095a355390a913e35ab53341cafda7a6aa0809fa3dac189191b78781a3d90ac40a9a5cea7387c4b7830432f88173ab7c0b370b999db4a80fa34 - -COUNT=6 -L = 512 -KI = 562665f13615907637558616aaf68201bf6677a6e1036b9c65fe9084407843ef -FixedInputDataByteLen = 51 -FixedInputData = 2d143eacfdbee26b502b51e8bc6aca0630f37046f1b83d94536b7f759bd1fcddb173e83dfd0d3443e8b662bac709ac4af3ddae -KO = 2175159fe9c35726e5701e81582ec2c9fb410ea03a3808fed60eef56b464609c47dfdc81c967399501efca592c9d299192d89d67bfd595eaace344c9f5096519 - -COUNT=7 -L = 512 -KI = e17f792c320a4d4bca39df1e0e2a04fbf6cb019a3175f2ac35eb446e896731f8 -FixedInputDataByteLen = 51 -FixedInputData = 9b6cead93e0ffe52cc40d993bf8ba80d7ae5d1acca1f8e55498ae0280e0af0b84957342b01ad1791b0d9065587d12582aa206b -KO = d72f473d6f58089b000ee2e06164bec948737a552ed1b8200cf109ff46767d1264f93dd2334f89ba7638086bbd5305c64d6bfdfe1cd45495bcbb6b20eb5d980c - -COUNT=8 -L = 512 -KI = 8ce4b0512b4511a0a6bbfeec104ca8e33ee5de2e54fba440b50dc8dd7b408a91 -FixedInputDataByteLen = 51 -FixedInputData = a4b33a0c686a0e08f2ed8c3c38b3e93e8d4d669e12fd308d5937b27bf46c8c58181ae1fb09769f4c9d66c75530ed92d1c28b97 -KO = 1ac645ab766baa8054ac60d35888ce5f02d2373ec0b46dcbe4501f7731c1bf88800a3b511d41027b7ca29cd609a64467168eb40b4d7e17a530d37d40e5c1c0d0 - -COUNT=9 -L = 512 -KI = 6593608a27aee8fdb75b1eccb4b4f3ee40b4bd4f6253b7bcb9bbafa6bf8a413c -FixedInputDataByteLen = 51 -FixedInputData = 594acb95925a23500234cfc2b3dfa2e76167663107d53349107c5146d756241e72449f8c45990bd4f2394365fe5a110fb7d741 -KO = 7f0db84988b2f30c6c56d9eda27b6e2cd1ca69c51962123d56846708d5de85176ba69543de17a5790311ebcbbe54757f5cc559e992529bab72e31a94cf2ceb04 - -COUNT=10 -L = 2048 -KI = b752af45d3dc115e73b5c6c208048bdcc1cd2e17687d41e0112f7c240332ac2c -FixedInputDataByteLen = 51 -FixedInputData = ae7e4052b1acb607e9d3210fc218fc97469cf3bd242fb5a7b13bf48d60e547dce9e09062904de451a9906787466b24b58622f2 -KO = f8504da079c0cc0aed1b9c364d5935314ecf1ab9268295ae2806b3723b39817c4c95dd83aa1c300d5a353da33f4ef90a04966c62381e1ca9ae4aa02a1eb55f8ae493383d8a0077670ca76112b6c5c59030ce91bc6d50ca76c55436e46993973010b0d6e634a7468c94a3c5f758b3e47fcaac173559ede8051149cec7be7c427815f3b468ed2bf02eb52d0d4e302e91332e77c63b371f274ddc78853e444c0f9ec84f78032c6753ff86aed3d5628b5a06fa458516869af521d0f4d087bad7fbbc1a0bb4fb10783035f06ac54dd1cb8d01b225ac63a0e6c3354bca3e2c11647b137b0c71c5fd9bacd9a46279c4dc7a835adedf89f7a87b5de3c54737da8d9d08e1 - -COUNT=11 -L = 2048 -KI = 35163c132cf5b742e425f6fcfaf85df493ad222f0474110b5189caedcc84c1d7 -FixedInputDataByteLen = 51 -FixedInputData = f68ce838a2c3a49374630d38cd7f5c36b14feb4ebe84a78fcad6f78268295ae363128b7a871bf449bee61661f67ca8e97566db -KO = cd35725abaed58045480239d47881f1c52c1296be36c0644bd7c8495e33fc458cc22728208709cbdf1ca615c080bee92c1eb024d9a89509c559bf4cbd2e3642e7b24ac992b76ae7dfef364c664c8df6810d8717e61e8d1309de3ecb169e6d5644d8b13f68806cf69fcb80ae132c17e77de7ba62288fb98d818c919d48e1f511eccef887433e076ff4f2c8a3047be93d55e2820f440014dd7840be3decd2978b85243d7d77046c3de0e8414b11607c74c93fee315b6d13634522d9dc30a1905e461735fdd06160d662edfd33bf60b6f0460f25d08293d47b753a3868817ff1e488ad9bf20d4301f641f3470543f7789c27c44879192e0c561b50e88dafddb2cc2 - -COUNT=12 -L = 2048 -KI = ae9e924e282e4451ee2c1e7b485a9a454dd324b5e1beccfddc4f185a035ef683 -FixedInputDataByteLen = 51 -FixedInputData = cd66ef4a9883a22c71af814e57fb592580e58c5b6268f8b9eac575688f582ba6fbd4f3008049eb17fa7cd2ecc781dcb0c9c170 -KO = 6139e92d367896ce647315af930effa8192b15cbe2e4524604d17dccfb80d0a370060069bed95338370e854f92ca743f8311a58bb1743ffd191d3b0944f62080cbcca7e169c4c34e1158ab42465bd358de68627f72480ae242c576b275991045cc40dce3afb30dcfca2d418edab3689d13691a2277086aa241147754834bb9672659330cda331a900539e19640ce9afab8d97913c3202c7345df99c55558e68d19fb3973e232371b50f8c8d925a5554b64a00413448921a36461ccdf8d54a5207df626d901377e328bceb3e11d229cdc29b61bd5de93fce1ec6f4d456ad0ef88749353a320746e6a6aee552be8f336bf9aa0b9219827314f027bbae232000fc1 - -COUNT=13 -L = 2048 -KI = 819bcafb03d7656b729ff5825e85633ad84a4408443dd3f890b6bc0fb2dcaec9 -FixedInputDataByteLen = 51 -FixedInputData = 44e9a4923df844c64e57fdf531534cd07a8779e24e596f257b97dec49683332a3085e2c3e92c8ded5d55d2c49b6c58540c992e -KO = 4e7eca833596bc02368d4b6435497f81fb78f659e065c93ef634a2a7ffec92bd7e4f015c271707802f9db8ea5515149494f45eed50896a6164b57dee864ad1e5eb71b9513baa32206acde1c424b7e4a480e39023d214065215ed6bf23e74528c36dccf89d000d10514c851eda7abed7643a306c37cc94387796df45a83153738ca4f765e68503854c656ab58db402dcd5ea9bd9be284f258c356c42361103ce5e5b222f828e2e8a12040b03f74c62ce4825f8d5d4b30fc84625e94172609335e4da6e8924775d24e980934caa5320ba6b2393d161cbc49434acdcf7e28ae6c9d230f0138e69d6ed0e2b287cd65fd514ea8af555f9766f65adf0d991f8b1b77d0 - -COUNT=14 -L = 2048 -KI = a717aeb50fe9c6ce917156de62d905c4081a18944a90f374c3de6718dc96f53b -FixedInputDataByteLen = 51 -FixedInputData = a8d125f7b50c2528480ab8a8a778f78d621e5a53b942a251b9889793a5ddffc8ce350dfaad4515752a32b4e9154b17f8781faa -KO = b8134b9964998c34e69b7d3b57efbf395bcdcbcd450b15cded9716cc25d0a0ac3de8184248f6ba2e41fa65dd6b1403a219272e26e0faff519ff995d6a380f243bb68077c2d2ac22c54d2f102fde6e66b67e499cecb94b4ce53d672369a527baa315e6ed5bee1c6ca64285915b1654858a3fb3f274597af056249e4c45ff55d1c94ad04e8f5bdfc695a44aeb5e658422b43acb353af5ff9dafc5efca77e84ed37a4e7d3314c6a1304a3017c450c5760a4dfdd2d6c1282c6ccc96e56fda8f462a2c353ca3c23afae66dede9a39384c13b7e5155eaa5d342002db67caf7cc42e7140683e952ef7992565f624901e894311651c052fd4797f19091457649c05f791a - -COUNT=15 -L = 2048 -KI = 5a8b7f70efa9d5c8efb5e7531b30e125af583d86c4df0803ed15b9d6220f5fc7 -FixedInputDataByteLen = 51 -FixedInputData = 31bae626574bc3e1ca235d98a744afbf4d4fc0354f9f3f7a268a25a7476879354757f801a76371558db6cdc7ed6cb9885917a7 -KO = 381fa1526d12c0ad3211d00855cc3532e58615b4b45d96078c2c982bc3be13b095b5843f59141c47b8024b3180668c7f95252918a98a7eb956359822613918c454d396b319758322786769554207723d267c7592faadb5d6baae4416047df8c086ee1de51a7b24aba74b81795b49db67bdc07cba5127103433e7c780ddad1e96ceaf38fd20d6b8f051c7893ee049a3f970ca5ebb7ca1367391d6d3a3c157f70e2808c53971cf73d3a1f81e86bc3e3bbb0565e2e818ee16de9de2d485676ac3d121243f90c1ad837ff11886d61b0db3cec22586fb210439303cc37caec9bbd31d9588c21f519be4307e0ec91e003de7b5e4cdadf8eb4dcfddd9b6cd73e0db2273 - -COUNT=16 -L = 2048 -KI = 3a435371b2e3f9ee9ef246895a6d7a37394cfbf4b157db5d71ce21b2b5113545 -FixedInputDataByteLen = 51 -FixedInputData = ec70a9ad245294a0bff1c8996f31073f5132ee62eca6e24fa9a77c3e0257d16704ed2415f7afb4315c87318c676b8aa64d487a -KO = ccc5af6e959070b778192a321268eca33b2c2d95994ee395bda75e3aebc0b99900a401c83247fca10ebd15ae9f46b621aa1b1f706636635aa91709988f9917aa8dcaa1be7d2bf33817f478f38b400e32fee29e563ae26515b32f31df582fedaf938e03eb2c5151aed556bb53e00ede823bf7907d30b0b7b61c5582c0e539988adcbbc2041aa14d1d541a14a22be5e8d37ce1121da19a9becdcc7d28cf53bdf0c157697aa8c618e7be3de0881e6f94eea1c13070a9835104173de69a5c0c90f6bb0e5a52fc75bc8e7d21f1e740574f1416bf1243c010c2f79a1fad0b8682e0c2a332d96f152c00493757520b019f178353614311a28d36824b102c3a4b74cc609 - -COUNT=17 -L = 2048 -KI = 5d36cf24fd41915889eac206b8602bc88b32ee317e3f877422ee9d9e20ea6e63 -FixedInputDataByteLen = 51 -FixedInputData = 1f531f4f9b45bcc1f4673e73126fc986f24b21292bb2e6807bc529ae323db24db8030b3942606a05984c379a235c8ae42530bd -KO = 1a6cb04c3799a1be53993b65bcf9bd198e0995330f6f078c4c1360e290cf35ea0557cd07cae7404297a3a97dcfeadd48b40c85239aced76d605d45efd0123f84b52fcb60acf2b8b5fc3e755f9abba0d3198127ac47bb39fb26e7d8e162354dcd1fad2ad2d8dc8dcba045cc6e441a5b7d5e12c57f93d796a649710015cda75b9a7d9e36bdc9810555d1caf68f069a4e7335a7e5035e95fb513189be6f405bf101ec4aa17a4e4276c85bf7509172229b106eabd2ab1634de0559afe1bc47f7ac20d4ce49190f67ee30c3a8a1b442293ea7d986bfebd848bcea75018b80de4a100e6f47657c4a635c43372e76cc94196914fd18c96c9d7eb36725073256a6d1d8e9 - -COUNT=18 -L = 2048 -KI = 8bb83578928793cb49db155f9b601fd3d0843cd52be25ad5f1c9bcd49df013a3 -FixedInputDataByteLen = 51 -FixedInputData = 77c02eb2690d07772e0491f6ec833f79792e138e88073f15ab5bea3b62e333d3423ed50187342f5a563c18914f4d220fdc55b2 -KO = 6db39c4da179aa22955bbeb668da1c44096a59ae097075b83ff9e2ed4107f24e58416db5358e5ae968a5dbdaa760b67d291df458b243e35f201ff46dcaa65f23d4831bc53920ead0ed6311a8447105b9bf6b9e68f45f11971ab3cb9f022b5865b38ad264e3f6b54e26e7a10e07b0d1282fb2e1265b5b987234e926b9162b8bf2698033ed2e54a3847a46e024e51f536cf87c38bcd7102bb810acfca715dd102b2100d769cc022681c8bdc809301e5a11f0327697367d0f2a98207b41b270b48fa9fe938fee89aeb931482e3a68fc58c6d9f76007865c7776bc60443804aa35a4ec5207717caceb8fd27aedace26a362c9e8c875909553ae609001ed7a214123a - -COUNT=19 -L = 2048 -KI = 07e9ec2e29ad44ff50b027f23e6b82340c730c85a461bb900dd5796ad905fa1a -FixedInputDataByteLen = 51 -FixedInputData = 984ea7f348d217177dcd760bd86b1776a1775498ecc14e31e0e8916bd633bd372b003465e749bcedadb05c5c5fed66862c0236 -KO = a9f15812da4cfd283f4f61b669bc504a4f917c3fc7eed6f0c88dc029117c5e2f408e163824b395063238f041f634e42ece027ffeeb86d4a93a637028005f725ee0972b171beca9ab9866f61ccf9b2625de1a2a3117563f35fa92b1f2b9e51933a2a7893f002440884985072457b3ac079613dcc70d77c0a2babae96a92a317a7583c67ab3a603f17b430a7d5b026b7b8a0b7db1fc4c9902570d1f11244f718e01920fd3f4b87a89b06f0f07279ad4b3018bbc9c9f9c0259d3d57b0c42122dd627d6db47d27e4b5c804e094dc8b06cb2373c6706c3efde7d73b2be133f8b5f33af2f479f41b8504b87ee80c1e5f85f0134d742190c02fbb1132b3f9b2d994f0f6 - -COUNT=20 -L = 560 -KI = 33896eed895fa0bcdda6e0966f80d02e36bb22fbe982fab7bde1c8539a2cc118 -FixedInputDataByteLen = 51 -FixedInputData = dbb199c22ee3509c1d09bb610cc2d5aafc471dc20d091e160e0247489ddf41aa45cd88226aae6093b3f29df1cdfa606c2639a9 -KO = 818b4efdda86843d11b36f1c61d08e081ee51a55c704e22ac2b56e224dbbbab8b581b77501e9f120c4aea62af1bfa455f7a8e8e35db1ddb9e0f4f9d4a2b10eab98bd2abac0d8 - -COUNT=21 -L = 560 -KI = 7b68837d780df1325c0b519806afa09e8e31427297136d71f4224954e19b8644 -FixedInputDataByteLen = 51 -FixedInputData = 6878b17af5f40888d708e117424477e4f4f2bebd470cddbb857afb055b46586bf902fb42e9f39699e7cd19dcbaf534fa9f75ed -KO = 84631664a3f994e6005b5a7a0159caac187764a24ced417a633251c40860a3d99cebdf48a0b764b7b346542abf39c62fe359df3b3652f165a65723c03e877a2964686801b7cd - -COUNT=22 -L = 560 -KI = 488df290e9c05da874fdc8ce26bf66e4f5a9d75b34a2cfde637793b83599aa87 -FixedInputDataByteLen = 51 -FixedInputData = 3bceaca6bb04fe672af4a8b2c0a49d9f324d69ec53aa7215d72b4ae7fe6f7acc1fd135370d8ca239e1383c490c9f4a23b85678 -KO = a42cc00355bf96e822bb269da1aa2093254c3e16b2f857b81a246deabef37fbc9ca1111472dca971eca50fe0774f11d28f85961e0c3226843308e37f41cadaeec7149791e34a - -COUNT=23 -L = 560 -KI = b336d5913d166bdd46d1437a1b01a932fbb1858de9c56428ceff5db2b1679125 -FixedInputDataByteLen = 51 -FixedInputData = e9c1d14a8ed0eab738318745d3b47a3001a2d4bbab2a80ecc534517d2591cd275d8c2d15284cabd8da06d82b869aa188efe627 -KO = 5715ea204e4878f6aaf8954718d87ff683818bda55a79a8f1c9467d550eee036176097289981c31ec2627a5b1022b01132a2082f225dc10530835cd315adb4adb08c47817dea - -COUNT=24 -L = 560 -KI = 3ab8e28812126902ed78a337301dc4a1ff233cbb866d679f5f891f5b9c4496b1 -FixedInputDataByteLen = 51 -FixedInputData = 76c379e4acb91484007a13c4525fa3f56de963b84049560829b9c4d3224d5aab7535b796f9a501397c41af849b2f34185a756f -KO = 1b4b0c54866e066fb94b5e9ba5cace32d85f38efc4bbbf4900003f78cbe2eeab8a980a3d7e27e5742bd32a70167654055138a675f4999740eec5db02c5593cd7b84b125b2189 - -COUNT=25 -L = 560 -KI = f524f37ccec74627a360d0fd96610cc6e9e55d7da44edabe001605ce3b688ab3 -FixedInputDataByteLen = 51 -FixedInputData = 25530910aa28a6b40917aa951643a94ff5df336c1493c0c2832f04564e4f1632e0ceb00a53df82f72727bcb6b5f89f7d8c98fe -KO = b0e1c6e1daec6a00d1705eedc59e5160d23917c0cdbc3917e89726ed110197602030ac2ceee73f3a7989e071f97e8e904760c86df0cd8c011b3fec752167a7eaa02ffc60f570 - -COUNT=26 -L = 560 -KI = f7843fb787c521f5ffd31c09aa0ff7b179c24a8a0a071098ef72e8cad82d8ab3 -FixedInputDataByteLen = 51 -FixedInputData = df4a24497adc835295e596718d875114d442e8cfd37ec168cf92bba8f518423b4267f67019f3bc90a35fec28a156807bd91d26 -KO = 72cbd381cc93ea4f57eceefeb9930a5967b90add10183736c8e3ed09f5ac1f760e99957b2ac4f4f125b0cb1e4da1e9d32397230061ddf91121af895ac406047f0612898c4ade - -COUNT=27 -L = 560 -KI = 441ed3d6747d6b7e2753b8b515017b7c4c9d87f77eae90b7f5e342d5f8c022b2 -FixedInputDataByteLen = 51 -FixedInputData = 9b5e374dea4170b1b10ebb5ba2311d124f7471a3a293d8898b0a240c5a6a7436f26afbf2abfd2f40f59962e24bfff9184fa44e -KO = 3b5100a723c2b113d6fce0a189263eb0116828d4ccf2edebf023b0e971a5ea6639ce8c953226c801e64dfc33ff78348fb739965f0899030963d7285a8f79c2441309524320d3 - -COUNT=28 -L = 560 -KI = 6b0f57c4524af6dc604d81b4b1606c51f400d038abed091d8e6e3b3739bb1f2a -FixedInputDataByteLen = 51 -FixedInputData = c089fba0fd33557ded1cc314c6a707fce5bf4da37b736adadc0ea1962d58dc14076e12445952a343a6e0c5c7764368a78527f3 -KO = 359586fb3952852de0dcf8d6d374c885ce83d9625e3363782b369322e671e41f47683a6a62aa056bfa3ef8ac3ab87a36dce59962a764516336cf85df12dd1a3bf52e4c1c68ef - -COUNT=29 -L = 560 -KI = 90f3b2f6692f9bde130bb6f351d4b884e06b50c9f226540b376501fdd9df59aa -FixedInputDataByteLen = 51 -FixedInputData = ec798f24ec755a1f5d603997e1378f80254e7ad82298e35efa5085ae5df6ad3fd701e85fb8a43ec7b19bbfa66a46c81add8f80 -KO = baa8cf726a3257e4eae52f18f4f1f0028c5a4bcd5e2c6acb08996edfa34801bbfd71a741c7c3f30ffd6b89b345f2a494e488ac8b84a0d5c7407e6f2e29482f677fb9102c7626 - -COUNT=30 -L = 1600 -KI = db98e12222a9579e7faceb16637c4a0a03f77e2cb8b97339e7fb1d341cf91a2f -FixedInputDataByteLen = 51 -FixedInputData = 8e8da9265706364b239501d929c2e01968b1d3619a43a394a2502c3795903d6ecdcbe14fd6c34b7eb4c77080f04697b0ff4324 -KO = d61a8dff5b0bc2d8ba5b277e6fcaf99e92a8b89dcb2b58addaba2e7772271fc5f02dacfc2c22de40f5955ba09639a91a0040a3874f1ef071e7e9f6fd5820f8318813fecb35775946e000add7c352b6471a10a30ef5093dab66ba9911d51a76fcf5e73323eb2ed12e6cb6d66ccc0ffb040cd9a34d5480552ab08b2b1901b9a63e5c2b95d95d6aed58dfa6a0cf99ed23508576817f68fa60e0b8bf6e683801d033f162f7fd118af9fb712726e44746d38be9b81dc202053216e7ae8d21893f902c17ba24c2a3284d8e - -COUNT=31 -L = 1600 -KI = a1feca8c2f14bf233a004a931d7b71b91ea4ca27d800f56e21215554f2a8df22 -FixedInputDataByteLen = 51 -FixedInputData = 9bfe5893d15ecdfa42929a3751a3f5a8191f233562dc5a667957265e78f7c8293fba643ac6f18fee4b5fa0ffd0c3e8f4ebb03d -KO = eda26ea036e22a1fc3fb80edcaf276f862de687ca89fc753040a9b673e6114783c8f6654467ae58b65cf1b8a8de438f69fe8fe24dd96c77c68964b3c2c84a6c493c71b2d9825bb25ebaa1813c349ca712a2fb8814c21107c6963a4d2fd9bdf6cfd47ba4ef3fd4d65a0598d91b9c628bdbf27b456d976ecb49d177ec79878bc8c46fae7ca86c88f764be35e323888e8cddc60a2cf1807b9576e76e56bdf6ab634ca6b69c92624b7413bc0ec9ba4829956b778fb7ed43c5d1ffc3bb07464a896363eb41b606df9014e - -COUNT=32 -L = 1600 -KI = d955e2323eeeca8305bc9148aa90db8f879685bb627e18ee4adefacb374c7ac2 -FixedInputDataByteLen = 51 -FixedInputData = 9dfb374977de095f5b5cfc39fee3502abccc2c8ec022d4b0a67fdb4920cfc9600e36eabbab0d7fe0bc1ebcbcec9121c9ff007d -KO = b26fccb5c0f0c91def1502d3d4c73c2962e0c230c5b07a85ca78a1af4e9dd70cef06475052f89e8c53e4189b37a3ed5ba5723955420de11ad6376d35cb842a3c32435b7d76179a949c2ce817a4668d55bf6c4b09b4cd877125b153e1511e252295a6e7ad86bbccdb40ac129d3e3505f06592b887aa1cfa45fdf9499e8c87917b8f910eb2dec6a63128a6147284107843a6458658c9396a02839f4de27a43aa07896bc0c8c96aba91f2d183c5ac5eb8a05619a68f89eaddbfaf5b07a508c9fcda79a196d827f962a9 - -COUNT=33 -L = 1600 -KI = 7cb02a6b1db81fe73068187cba3d2617bbc79be08cb5aa539ee3db58c64989fa -FixedInputDataByteLen = 51 -FixedInputData = a43de5c3a924b551dd7c78058c55f761ad8c7c5fd922b306e666333f7080ca24dff4b6db73a9008400cceecea02c9778a56bcc -KO = 072e7ff820e3aaf6b5316282b2225d6bd6b2a467921e402892985eddc84f9f053d19e8db592b0cb93d09ff625768d5ea9a312e98db4d6593f22b2063347224fcba930ecd308f2c361c86eab3479984677c7a63ece6d463bca94a8ce7441be00fbc4f81cdb5705107ff27d600a27005dc95a432702633272906b84090a3590dbc50066c8f4247c1cf573e140b493f0118fbc8408c96eb018261501752592c5a2abfb0830705e9e5692915e76e4743ca111336a92cd87957647b14844604b74337ded3dcb44fd71e4d - -COUNT=34 -L = 1600 -KI = 296abbb59f5752a69a70f26a20d063c679c0e9ebc4a4ede0a1a94e3280b03f76 -FixedInputDataByteLen = 51 -FixedInputData = 21de43c4c833d371809d82cdd1b4eecac6cd79e47912b67647fbaf65c8742d7895377ea5c19990eb680be38b6a27f57168fa32 -KO = b705745c813b85c2019b0fca1aefc8adf057b4bcfbfd0a530ddf4760eb997d8e1bae2274053f3d5979ef99d6a57085b59276a2791ca36f2a357645a4e1aea778207689092e727b6cfa139b8e5dee7177c294b6292d4aca0807e0b4a09e664fcf5e3ed2ccd828e67497f271bbe54de437a9b1aa25eca9627c48aca1100e3d05b60db2636fcffcd180b6b1d4a3581344c6c98f81d16250f5130e35b290ec6270c0dfc84a01a8daa299f1800979c0f5469c12ddbbf10770c9090c95f508e4cfe56d143f0c15a916f19f - -COUNT=35 -L = 1600 -KI = 91afb99832cc1eb45480d1242f6974e338e97e39c8d5fcd6271f62fb1549ef78 -FixedInputDataByteLen = 51 -FixedInputData = 67a50b4fd6b23ff398bb408d7c5b75c9eee029cf0acbacc3bcd66126188d5c263bc846cdc3d98e9af5064ca7969c01e5dd4723 -KO = cc48c8b9ab159bd2e7a781ae408125378add11ad24ce3a2885af87bc3b27a2510f05504ed9ef1e9099df3a29caba4f78b20f59e078ee5fc0cbc306d8efe7ae438ab3df4247b7be2f76e658a6f31ceec37266b15f972c59c6fdbecf2aa8690534d65565148c0f3b926e6b2493663fd081de4d622e9eaee1a3688481b27490c658766d9fff35b8f43385f0d5c662de65249293c4cbbf2631411fc7e558d62f4048ba54c97f5859c26af15e017e69f76a444a3989682a9b1754a8129822f85d3d61b8bac3ddd2b9a004 - -COUNT=36 -L = 1600 -KI = b928499c4709aa40568179ed8f126f44fb97aa1d97530b385f27e33fdb010847 -FixedInputDataByteLen = 51 -FixedInputData = a29e3653914ad3203e7a256ab24025d830bb2a327e508b95933f120f1ed503f9bec4590eefdeee8caa0734e6012b9739a9aeef -KO = 6873f488cabc0c655cb7e874c89bd59686efdb7e2b71859c9e44ecff11aafe7c3d7f0a8985c1553dd472ebf15128f4337fbb60be3c2beb8b47c5274d0e5584e4b405846f822aae34f5b6728ded6e4b8cc1fe07d3b9c0ed129e78e023de44e2a5596bef4d1c581e60dea4b160e4bdc9350b6a3cb43fc8cef2ea82fe2a43c5266394985ca53edadeeef17ac99fac07e586c795039cf4cc190f4c99319b92a211e5114ca8efd005302c23dd33b3bf304fbf530d929643254b80f8bd3d2f456a3febdbdf7ede67136c90 - -COUNT=37 -L = 1600 -KI = c14f4f3225e8a569f8a1d3741d83b0130acfa8dfb4da8fa9ce1892a22d78bd8a -FixedInputDataByteLen = 51 -FixedInputData = 205eb6f8a50d4bd45966bb59d341067cc2a7e2a7476bc066b41782c5cb0e6add784a1ee995a9681c93fdf65b510e890e1a6f06 -KO = 7a8908d3b2fc8c37defc4eddac4fbd45dfeadbd4905584bf807bf072a807b955c7f8b32eae713af7fe6f1bfdd31d27696c227ad73eb72d415e3d66507942293754be216b46f21cb858fe06188beffee4664baf1b12dce1896c549248db427ab868b44f4bec67ff84b402f543b848cda9b71bb3333a263d11bb4cf99da718c67bc077895be816ca1f40647d59ea780ee6dff202ab5d3335c801f6ca4db59fa0eb8a5d7b4f85db4eabce473e6cab8ac458f41cce4bca2649be2fec875e8ae8649ce7200c97180cfdf1 - -COUNT=38 -L = 1600 -KI = 877555e2afd6e74f493653315d183ff1aca6a5b2d9e9de2bb37df8e8e789049b -FixedInputDataByteLen = 51 -FixedInputData = b932b170408a5683339e00285df257c86e5d1f1e6bcf3ab20eedf0225d447558bf9843b0e48d92e4d1d8347c146bbbe7862ac2 -KO = e4817ffb88eece6c30e6805e2e4618dc7f3462ee6d6faf74672f754fb59474f5a154f011bacaba27c3c9b3844e088566360e94a86ff0a28d74a0a5bda63b61533dbf75b414554862f7a41a354759e767f0c9ee44461512664bac3007715bc7b28f0e47836eaa57fa0abf48010422b712f0f6bf91a9df28e5b6ff15c8a39a256e409b13ae46193cae3c8147b5faf194d49835e2e006ba12621107c12634b4cad1f132e075d6b31174052366bfbff88772a7d3b072a26cb71fcc7240c3aac2861c0392b293d7b44dee - -COUNT=39 -L = 1600 -KI = 395af19298a50f49204c57afbbf31826d4277f70bc1e6332f3590f3a53d5f867 -FixedInputDataByteLen = 51 -FixedInputData = 93918322f2a31fe564a4c9f3c72eeb5adc2b6282a41a47f6ddb62db21000cee89c03c99cf4169957b743585ea51f754f92f542 -KO = 8231bc599560804c729fe1c77fd9bfac545d21feeba972fa9c1dd71b979ed759322002d067bd672e748aaf6dd2699a54667ef5b6da143a1cebfa6062d34ee7e99513541de3dc8a447816e3042214a4ede8d06e0c9d37d970514a3699fa95d3a187ad8ac3bf8218f732be93aebfbc989c80ff6d64ab7f06ab818c5b2f78a190966d86b1b3c98304daf63cabd192aaf01893e50d5e60f132def4654ced36881cbd29bc7e53d0ac2b8675f6ac9ad792e3dc49f86dbf984394b70444f65f66068cbe7de04f98eb787a0e - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = abd3b2464d5312d8cb2807ef4e3bf7cf91c7e4e990adac11f29afa513934cd08 -FixedInputDataByteLen = 51 -FixedInputData = 5872e2962f8467f7895189abb7d1f5f2d301498ac2f9de8faaac4a4e79b3a2b5ded58aed6d619e12045a0273df9845750a50a3 -KO = da7e3b5c5d5b3c8623ce56d855e0737dd6f086d96054ebc1a588a147e7a68a157bd2abddbe1fccadc4499782e763908a914005f2767dca36395abec5efb39cb7 - -COUNT=1 -L = 512 -KI = eef8c10fc164f11534924d9730bb73fc456e7cdd38c2f93964588d936cf68c71 -FixedInputDataByteLen = 51 -FixedInputData = ac0f6c84a5fde9778e4b640bb0c8b3dc4347425308fdd2be2910a6aa7b07d0486d57f521f2159aaccc6e0f7abf8beb5c484060 -KO = 8ae5ee689338c865b8d3f3c2c62850f1981709a09d203757e1976ac49c8616d23aaa81994b6da9fca5d8954ff1cd5c64ed8f669d46a033b3436412bc531b1532 - -COUNT=2 -L = 512 -KI = 4726ee7e4d3fe2467cdbc550576aa877303ecaa5271fee4a981560e42de3850d -FixedInputDataByteLen = 51 -FixedInputData = bd001c3a48c9a5304907b9a39813b987e6ddc0a5d061d08a0ec623902764495503049eb6c516c6b5623efec89ea36a0d11dc6c -KO = 5f0fcd27d14396ff8045df6a0466ed48905aeccf281747d4fc9f14278a708a339ccc637e409ace683add17f76eef0864f9cbcb8cb1425ca583937c5236f25d25 - -COUNT=3 -L = 512 -KI = 6aa65d58bac121a8bc2350bc88a0d7df22a41285687c861286456ffebe241846 -FixedInputDataByteLen = 51 -FixedInputData = 43fd68e7dc72cfb7bb85042c71d155bda4617f9e0b0b8024133d8e3845a18d71053a01bcd2fff99f0ab345edcde74acb4ce6f2 -KO = 1a6f078a86beffa7cf7b36f818e0dfdcdc5f2043153bc981e9badfb947e235e45909a6d9a37728fab758a4410a21eb0235f091d61c2ddd16b7b7fa11578da289 - -COUNT=4 -L = 512 -KI = 646b26dfd0abc9bc7709cb36395e8a95514d6495fe54f2ca7d957e6d69566c41 -FixedInputDataByteLen = 51 -FixedInputData = 18f8e97ae30bffb77377eb464dee680229790d1f08f5893f483dd9421e5279b08f79bde3ec9f7edfa706e16e841d0f57387d56 -KO = 28975fdabf0a6d205b1ff9026e5f365d2421e79c9c384cddce509e37f84b26f4051d7acda5b706dc030e3fb513d541daff63c8c6967c1c76ef96515f9012a162 - -COUNT=5 -L = 512 -KI = c7dde37504f17099ece2d8ca3fafbcd65b3c054d0f8e36f0adad8a4b019d9f9c -FixedInputDataByteLen = 51 -FixedInputData = 32cf55f030cd314750aede0cd29c7fc3db7c82a44fd3d39f84620f00bed9836aab27b886c2da836a206977b8088d622b615c28 -KO = f875b9a1de1f83a35c25612c72d69f6c8af75601886e6501d2f4b65673170c3a9da93edf2934239ba1be3650594bf226f78560b52cad0906cb05a973344018fb - -COUNT=6 -L = 512 -KI = 46cc2207bd6031987dccb07c17f46c1c44809441889c58add8b89ce9f4a06443 -FixedInputDataByteLen = 51 -FixedInputData = 4b9ab58cc5574042f9f5394c0c4618c3d1a33bb6109cfa910ef8e850ce47eba62d26a929ebbcd9efac7462c1785b84a542d53a -KO = b4e970167ac6585dbbc2da22c958a5d70603cfb3c5aea1d4837f359101fa46e692aa393a43f63d9550cb560575a31c06120931a3f4b112cd541334787400f0c5 - -COUNT=7 -L = 512 -KI = 3ea824d1c41954f76f489fbc2cf64c945d3b1d7e2e9fa9e6306f4984b8aa5c6c -FixedInputDataByteLen = 51 -FixedInputData = a6e3dfa7f385f47185f9c45f58a3435b11ea9e954455bb9235b66fcca9cd40345586c2c1984e7d8ef273a5a4d73bed0dee7a2a -KO = b3b00677c35c37e631b0b7a8b413639a0ccf7aeead0ea99c6e6711bb1e019e25145fd12884bcf16c67a401a861bb5849db6d4e6e411d8b9746b97e9e37588588 - -COUNT=8 -L = 512 -KI = 241967cae2421a7e217cc05e4c5ed5a9d5d7c310130f68217e49ae0788fe02fe -FixedInputDataByteLen = 51 -FixedInputData = 696598b7be890fe77564602cc84aac2c9d0084ff5654957c2e968f8028ee2334b5b13e073de859cdae40b6f13c333a54ae1e2e -KO = 3055eea69119d4925bddbaba4e1be5822eeb79beb8b18de7583efce40c98f7db394bfb7ab77defa4aaac7e8e85a12ab000c13100f23624b1eb65b5608ffc4bc2 - -COUNT=9 -L = 512 -KI = e999b56503b6438e52fc8986ffcbc281d527033ee414f82f19c8eb1715c300fc -FixedInputDataByteLen = 51 -FixedInputData = e6d03b040cf3577fadee7dc6414d175a31a629797606b6f092c21163652b2cfe469b01e973585c023fdc1e77d0adbac96f53ea -KO = 8e3b54f3ebc7d929d74daac2c250ee6f957bc3d22254b498800d62e1db3aba258c705949095deabad5acf44b39cdf992ef2f3e3230931df5ec30d3b53334eb4e - -COUNT=10 -L = 2048 -KI = 528961199a610b5b48475f0098a2eee250d28c15dc8a9fbb708728c5c172a3e6 -FixedInputDataByteLen = 51 -FixedInputData = 87cd400f6538f5a4404794ef6e0e5d5808fd64f73a28df4c2bce21cd0a0ea23e45d288e92534bd691b276a69262938ec4ee50e -KO = bd5f232b30272a9375172590c6833762863eb7a2cd0116a391d92bc3bdd7c42b415cfc6e77a0407f1390fa135da10dde6c7488dc9afebae5bade30822074db892d8c033063c89dc6c07cc9d773a33959428ec64443e1b2c18a5f5f583938f6426a7d898b65fbb4c5ee57a202683ce7f02cbddf35299ded174cc3d3b7178cb1db7aba6b5da6ced05964132507e3720aa303f5ebb5db07fa91fb0dd17fbf9a5de5fecf718c1434a18c6c5c6328f831cd3c12a1a229409b0545a9bfb23d16d8c8511a168a81c185ec981035c50b6e710f47abdc21879e7bdc1b86511c5e28ea62820dcd54b09a9eaf39a9d665f43235e09d6c2a0f859b064a5ec9f6c56107a2e47c - -COUNT=11 -L = 2048 -KI = 8f76be17804edbd3bc32537176de90c8c011d74dcf3ed1d25393c6fbff458df8 -FixedInputDataByteLen = 51 -FixedInputData = ae9fa20f1af34cc186ccd4fe3948e6d5b24c577591779c92e501c5413ebe1a45730c95eed47600ba7df65a7fd39d1e8a91280a -KO = ff4cfdf39b158da2b64a62768ad5e4109b5edb2896599e656f60e9b75420e7489b084fd22e8654aef28e975c4a55541db96e2eeeeb716447bef9bc67195c4ad074f00ca7c60d6192a894ef70f6b53568b1e32011f28127383c12ccee5a1cee433a547bad2c534688090cac44744582761f4a835cfd94e56f19def75ab40c983f00715a0163e81b94117139b08b520e5708537187449f79fac159ec79a93cd0428f045d5e5b93dfe3696753c2696400cefe525f1048114c0bab01437bb4d9009f8c07541d5ec37e4998a0268a2d3f9467b8ead921f4e83bc78f62bb6ef54891f5b08d227fa4a992041841969afb1814b909f7f2ac46a0386b0dd8cfee94dc4e2d - -COUNT=12 -L = 2048 -KI = ec5b41ba848801e1610ef01883717e6f844a3da9cc0a2cfdfaf80c8e1cf1a43e -FixedInputDataByteLen = 51 -FixedInputData = b03de765421ded4ffc36bba769fc2f34fefa59e0f244d13a099b67d98fff38c1c9260f232226bf014443e8bc4d06006e65c6ab -KO = e830aa0f05b6b3abdda1eb1718616ff4ec4b1ac14bfb681d7259446885586ef45b441506a9da2cd1750a53669a3be5a2bae2b4040ecfead7233a87434231a4261621f4e694fc0ad0e418b2b92fa0630b77bd21c052ad749a6657ac2b3304332d66022965b4cf547a9aaacf8c5240c7ecd386189fd05981c070e4b49024b940a6ff955be09a225811d8142a8e64a7d6e35ef74b81b707d8b1648ff09d19a284adbe6a6d7b6c2f852b7ce9ddec3069f03b8186b139c4157da17e7552c49bd048ac2f60dbfb7273f7eddc1f8fb14b0e7f26ecfb32afb663d9cf8f5a35328c1015eebc0cd94163f4aa89438b7b5684e142dbe96e549bedd19b0a145267c9e174557b - -COUNT=13 -L = 2048 -KI = ca34eb1f1854b57a4833589e95e982a4c3b939ce7c0af5010983caece09f0d84 -FixedInputDataByteLen = 51 -FixedInputData = cdd89ad9f00c3cef2428d5fd015824e4872c7bc6c9ff200fae46080df30adfc762898269c46c6717e4a28dd68c549345244ba0 -KO = 63e18a1c54aa5741e1b309625d9886075959eee78588ac83f985cc9c72f67ff2fdda4ac93c51c30a2d7fb6cea18ba73e1b1c40e6c3c746e1a3f694a2d65bd3d16353c6205345f91c0587304421f2996002c45a8ade03c38bc62378904ac1a64016b75caf37d57a6d3e6a0a72887f89900372a70a3458cba657f134eb5dfa1fec9298a019f720830be11e8a53554a2808595b4169b61d8e3c7c5f85b26b7f5b5684cad5b219126dd37e4b13beaf973925a007aa5bb1612c90ad0586467732d78cd57f1d8c147bdcf91ed9d8aa2995d08c3564d30a46fd05fe2f181d0b4019ff06fabf1e4f9014de1d8a40e4fe465316ee6dafb58a862bf9c0019007ff7ffcb99e - -COUNT=14 -L = 2048 -KI = 183ebd3737ec6ab92fc855b8f65c15baeaac79f9b889aff94172b3965e81ff86 -FixedInputDataByteLen = 51 -FixedInputData = 6b966704384899629aecbfe015b7b395ba61599c04a3f20c83cb88fb7c802b9ac5be345a81c5d06a0383e23f1739f9706966ea -KO = 8b2cd1fcfa08436a0b89abbffc7413da544ad8df827ea7a8dd73eb075edd57ba28fdddf84dea5fa63cebf4c9a8dc1882715ebb8d65789aad8115de7ccdc0bde05dab5ccade7d2f3bb2a02a1cafdc7b1d3493938d12049d08048cef829d1ae59ce7246638872e6d21c4af580e4bec44f708934a796f3fb77a157f0eb1d3395292a7781f021fd8e835b9661136249c48719c306608af517f92e068d2aef2bb608210cc1b2aa2f823f02841e19da76e7becde3d66ac9266cfa1e578d0ad98793e218301a863c02ad66a482a060ea0c2cc4ae7b9979c955ffb1cf161884e348c5bb7048adf944771161822087439d632cd45679dff420d870c2e9ba0d5798adf691f - -COUNT=15 -L = 2048 -KI = 7f0d377ac77b1d7952ceeca3bc41188ce73e40aa8893656306bca0575130d17b -FixedInputDataByteLen = 51 -FixedInputData = f4a07301e977474775c0a9384ba0c3fe26d658b67117048802a350e35f4ebe5c06c15716437a856352b944224b020bff0c9e81 -KO = 5b6669e411f4d1ba7cc52369cfea72a8a5cf17cd0b5d3b6febc2f6f9d2479b5f4d105cea2cb47b12be6c3c33a8e264957a5ebf74e8536a01b9e0bd38aad671c70306b84fea6d85be23561d17fee0e282fa801b11807b21dba6e97d9ac0da120f86109b4414ed42851207bdad25c43539cbc5b7a86f7a4a46622c257fdb766c5056c36fee4343c848e3571e438026bc24d6ccfa357a0517cd7f03935790a67f7033867215ae667e4f3450868d9d8e55a8d35088a9faaea4173facf5e125afca023fdc87017e859b3798ea48936c704a1e47c33e4f77180b6cc960884b071605add4b98304594cacf5e729045257831abe98493adc705c2345976f680b46b7ac7b - -COUNT=16 -L = 2048 -KI = 87980142d122ba2fc473db091120ca13e88bf8e8377e3e5760c190f69deba828 -FixedInputDataByteLen = 51 -FixedInputData = 61783951d32b6f1e292c72283747046d92563945480c05112008b123c69bbf675f6c7f69df9452a1d3e7c3250f4374e237dc2b -KO = 49abed612d6996e98f49f402b6f941441c340d694a21367de03cba9de2eab6634a810e1ad195036589892615c7b50cde41b4158b1b580ba63eab63fa129eed11d39a0912762a8b118f93ca61fad38d4a32293b4a45aad36053eef40576b56644d70be4685b62c1fe6c1b3c37b67ac02708a9c275d5868864faf210831b532c9bb25bf224e05fe84ea6da4e9e4de05b1d66b4f38bd61e395504559330a9fc3c637f034eb88e987159560985a085b7f3d76c111c0b20216fba24ef46949a2afd37fbb8fa0aa71ab016e57870e26149b52a631a5d7c4b75264cf03dc6500a65ecaf9d6c17dbb42d8544ce294efb20ccd7f90c8af4ccc721ade06c2d9d3e7e806a1d - -COUNT=17 -L = 2048 -KI = 158f63276479a3fc9917965639c9e27e92681018d757d5fe7f56d0819d3c6bfe -FixedInputDataByteLen = 51 -FixedInputData = 53f8e06a08cdf0c501be1a281e87acdc81cec22172439a1534112421ef156f65549e7257d7b3646f3458d943b664ada2648a92 -KO = 18a80457e40e2ab55b85ab3dbf2b1664d52a0b714c2048e356fe9157cabedc59e57087978274d8d57749454e1244a3421fd6b7c0a011b8f06be3fef654dd39aa950adc8a18b520eb076c1f61ceb8d5085a3fac8c40021402d4a5eb3cf1ab037fc13570519160329f8c6a4269d1a27eaa6863fca17cd5171bd59d040f5c9cd650bba72c2b1a89a927db33475c692acb71c6034d813e472c7f103e929fde71ec05b578433a3c206a2f928dc7b50177cf28a19b4441d7fa6f391f7357fb4e00e4c7f18357c1e581ef71ce76a56644e7e61dff829b275a970eb7baa7790d8e114329668040c531a62cdd8dbd2c4c50385f922220a60ed1c3e24ad424f3326049f0a8 - -COUNT=18 -L = 2048 -KI = 0c018b0cf4cf4703119a9681aa67424726152d8cfb787308ca7d0420387e2ab7 -FixedInputDataByteLen = 51 -FixedInputData = 04e03257fc47d0fe07a47caa552308137b716f1e7a67cf11bed7c049c83fb0e7375cccbdf0f746b2cfd45b1ca026e15bdc5de7 -KO = 806df1e6e97148eb372de81f34423f3937e15848782c5e180360b143c1947a9a50aa170405c521c57bf30ffbd918350b0b313cfde23d34303556365cb8bd3da23c891d2ab26df309bbdb8bf37416037454981b01705cce3385a08a12dd7a7ee0b7c669d48b3e8aa2cce2e54ead0baf8906e4ca6867ee5051ef1e27c3eba94378ad27f4ddde62969c7bfe31cf58de868c198e15ad13bbe306264479798890ed95387544e131bcdb5d886bf2d456993ade79fa784668e8dc41ad59252432d336d13a97bfd51870c6963c84202f5691457106bb794ba6c09eb541e7d4e0cfb793e7f2e17122f201841c285b46d5ffa5ba170540b58d6112ba829b1d69d4699bff89 - -COUNT=19 -L = 2048 -KI = d96163c8c22497a0db27e3e877ddfd9cb6f3954234b8538fe54fa39eea5f332b -FixedInputDataByteLen = 51 -FixedInputData = fc6afcbf7609784a5b1f023cdba8b2692d0b277aeb9a74b04b313a8c5d9786f16f5c75dd752ababd089ce513366a7cf12d3b7c -KO = d672bd94489f57963f5bd7fd7041565a1a53410a7911b5850f580d4635b4f5bb30558a656b5dde913f8b024c969c577f14d200c422f698afacc67f36ca8b25f843c64ac5341d787c96d56907af64f21322eb6e939660d59d41d452221a07b2370bfd521320ff4655c216d0f967714c483fa8d1a6d7ca667b16eec57584d86b9bc920d69c64201eb65967656e37cfd560226e31b2f6f2ad65087c11f0a8c094056b031ed5ddb8b5976b158cdab7bcd4d5733d58fca1c6587d629f2c7324561695f176bbaba61ea93f3c32d5d68c6adbd342b9d247d55a7c100400ae85cda9af925fe9dbd3c4b37f4e4a6f91d58047efb0e65e1d295ed872d78b547c2bc0f2f329 - -COUNT=20 -L = 560 -KI = e392adfbcc3e166497d0a8777ac3f1c2b2e3aa2c8ab7c323cd79ac932dbb79e7 -FixedInputDataByteLen = 51 -FixedInputData = 4ed2741889e9f8673db4add6e8c3f8bbea0c1c31094aadc2d9f8c9acc7131e04c6631f6c70b7b87bab74906ea9415e88418176 -KO = 77d8d2de1949ba908c20ee96ee8926bd30ccd871bac7c5a179ef9ed47e199a86e1a74e33b60b7341a2596522f730a0655402138e7e24cadeb963982899d8fc16e1928237e992 - -COUNT=21 -L = 560 -KI = 9aed6e4865c0c87cc626066008081ea4688444464e7135bc9f6758cd9be6d393 -FixedInputDataByteLen = 51 -FixedInputData = d54c5cba25e6f9914e13ad93532a35e424f9c3d24038f58573f762594424f07063d0a31ad8bf8f0b17178f5bdf666c3291d559 -KO = 8c0257d828f036d533dad6308cd1ebdafa8909e52eae371077132a027b141f83f5fe85ae06c2f4127cb7cd9205f0f8b4e45e2aa2e725e7f863bada407fce685e7f323edc8e0c - -COUNT=22 -L = 560 -KI = a2243b6bd489b490a030892412b6c7e818dfbbcbb6c4008a0dcb4f9144bf6312 -FixedInputDataByteLen = 51 -FixedInputData = d8223e4937722ea5b24a3ae5fd5547db7d9f10e1ece89f78a38556772e48824e3a9acf0fbc32fd53e878e6b82d09bbb3d45ecb -KO = 57a2643e15ce5d47d531ebd63b557b822351d9f957514ebbfc7b3c4fcf8884e66ff0f262789f9f0d88d6636c022449a9638160d2b0cf0606a5ac0b67987401cff55e6bf89af5 - -COUNT=23 -L = 560 -KI = ddff397c8167fcfb9aea337e3d26118102a043d040154d81880e2d7b8125ffaf -FixedInputDataByteLen = 51 -FixedInputData = ef375c12a8c21bfa44fdf894d50f659bb6ab8262c7b55d8bdb9c94a8d6da8f4f23ad74349e8fa9fe4f6d01b851931ceadf840c -KO = 693fa48f66a1e9eb54d9b391200997bd5b807ca69923e4b606fe2c45b0ad883e7a4acedc4581945dc17164a5e9917b34dc9514e7ebfe73a0e2506e74b806cbafce769967f236 - -COUNT=24 -L = 560 -KI = 0729defb39d0b2e40e97e722004e256f888c7470a39ac9023c927c2c97be616e -FixedInputDataByteLen = 51 -FixedInputData = 9616cd5afa86fac96541f2ab754b6b101ad974c52e31d6a297edf218373fde21ca9c2c8297d6a1ec3e0f0498897db3bd915ffc -KO = 1b86e7d2436a49d784898f003ef63cdd6dc25da78d125956297e98fd60b27977a3798c4ddb833507e0327b46ccd177c1f456daa1fd8388c3cbbec77d727494f00af8c4a466a7 - -COUNT=25 -L = 560 -KI = 0d6219be79637f179169d8abcf08b67267495ee781dc70ec0a90ee81b583dc53 -FixedInputDataByteLen = 51 -FixedInputData = 2d0555f3dae598eb1a427425778303011c13262edbc86c561319b880b26aff1e0f18d1731ee71ac0dd9c34b65f96e7c410d7fa -KO = e804e052af9afbeac88e5df4ae71bf90779c2173e1e78725aa352bae77b6f16effc2f69665e194fd7331ce24960e0ae06a8c522ca886e35cbad6cbc20d9301ff7f1ebbcb3dd4 - -COUNT=26 -L = 560 -KI = 88ad2be70598822b560c6664e8408bc6185a1e72c4f3b6fd0b21dd3275a5043e -FixedInputDataByteLen = 51 -FixedInputData = 2ff3f0924dedb1fe1a5d2be877280d98448b1652d4c70681861fc05d0119a5a85b4015b4158c31d51ccf1704e58c2269357153 -KO = cafaa20929a3af17c6c4d5bfca7b6f77c53b7a0f8e268d0a09a3716003a8c929fb93e1470729aa8fa38935b2eed44bfdf7014aa86fc70aa8eb3377f31e41b288210259d49490 - -COUNT=27 -L = 560 -KI = 8ca6d63ff98fbdb81dcc0428acf2debbc7344f821b305ff5ec67df22505bda69 -FixedInputDataByteLen = 51 -FixedInputData = 795e8599a10aecd1d7a19202e80f2ae744c871fd9cf9c55dc505509a2ab2fe2e167572e95f234ab42cb71f8769e07bc3d3a8e1 -KO = cb8307612d1087f350d6c3ccf2160701b1940349419b44355c146383a2f99689a31a667f0016f5fd079671f982b37187f8383348fba7d8c34e34dad8112c7446774291add75a - -COUNT=28 -L = 560 -KI = c213ef4db3bf8cb8087cbd7d8c5aa5a9286845e82e2d95a173f38a765d0061d4 -FixedInputDataByteLen = 51 -FixedInputData = e84fd07d672a67e005a5a9a25e3ddcbe03eaab08d9ed882fa53987b4998d8ad1f197b99c297698d601d4010ab78d31621e52f0 -KO = 09744ba851c4ddb8441959e39296d5c12aabcb30efeef02bc19bd94cf9dcaf42b3270afb0fffef752c57be3ccbfc8d78fa3cee9efa860e24b74faa2b43dde14ff417c2c081a0 - -COUNT=29 -L = 560 -KI = 1f4a0b8cd79a1c56f8fb67c163a87bfbad9d3dea5b426e480467ada7ce34ba6a -FixedInputDataByteLen = 51 -FixedInputData = cbaaef9a0af82a4fc01388c33d01ed740d0be055447719a3eee26c19907b827a31b976b8b2c097a7f80a51ed907b71505882ae -KO = 6c2313fb959912b95d6b61155b255a5511e847e3cb7f0d7fab068de773e492277958ce529a4e29dc0e41228c764200c15b85bac32bb8ba725688e8ecf451c3b0b5ef00e664a1 - -COUNT=30 -L = 1600 -KI = 82b93e7c36c03f8a3f4dca9dfee9c6054b247cc861ff85a09b18afc368e177ab -FixedInputDataByteLen = 51 -FixedInputData = 5a7a54594262f620558b450c90f1198b4a6bb48affcbd6aa0e89e5ad99aa61c4908b0a00112bbb1964581d49d5624279c781e6 -KO = 4da8a6c4c319627fc529f6406f0728640fc6ec54e44e8f8fb871294106bf6c57a4139f24abc96d5407f1995df03124276fba1be7a659277207ef3b32907b185643589ecfc97d071366b207088cbdfae5053089c8c2f094c2c343227e5111270f8bdf01cbe1ac98330ceefa18357ef8b459c2c3495bfb1aedcfc9a3b85fe470814ad8ab160d94129ab04cde2c723d6c3d4bf906cf917c10e9c347520f2ed56e8cc94302db3d73ddba4cebaf70667d37bb4d08b297bc5e49e2686a95aaaaa5c41cd9aca67697de1ca0 - -COUNT=31 -L = 1600 -KI = f762117487b5613816cb68074b96f34487f3cabaf59c147bbf7c4339df354b30 -FixedInputDataByteLen = 51 -FixedInputData = bd53721a9813c1c81e12212b436a0e215662a1f088bd8004cfe617e7dae57b716e61e4a9a351655e769a8b38dd56e61c87e046 -KO = d60c8e75295120609b07e354dd2211132ca7bf9f5fb90c4f853299af95c280c9118afc49a3612d67ad50dc3501ff598d9a062575621fa0d71123ac66cf0f61b8e427ddb62a485f4be764fdc90d355779eff3a38d5d9ccc4a5b712c7c5d9e7e3b886463973d5cef6d7c3fa49ea8537b280666d1342069fe0239488dc26042c63e9a4c7bb6fb96cdd627a058fbed6bed890865c88b775e5a6ee616dbcb9482387de8bc9738433d71abdf3340de64f8a216dda89c9b84adfe8cbaa5c2435657593f4b40b1ca67313e07 - -COUNT=32 -L = 1600 -KI = 253a94befaebade1d3fd9f091d349a20ad8a819ac01e6a171e69f7b62b669428 -FixedInputDataByteLen = 51 -FixedInputData = fb254729fe84848aa426f720a5f58d68917c612d73e5b513fc3f594b9acfe7457377558010e8cbcf6c5cdf5249d520ef88eda9 -KO = 5fe23bcc3c152929139c6abf87cd9a6420d30103673db01174879315633c1b93baf149915fc637ee84a92965dcee88363797674bf745d703b50881d606a2b8751603789ae5674f951dc391b5d6ce368b60ebc1f5cd600f36d054bef50b193aa630cfbeef543f6606cc1730b984dea5ae48f98d739f254acbc88d52da2f5e0bab8ef08bfc7283c226e0b0ecb09f361b79f1f1b85446fd851fcf68908345c51f3130d35a5484e7963888dbea4606714d7924c61542635e03855b9a9c1d754ab5632b5f8a62c0cb2f71 - -COUNT=33 -L = 1600 -KI = 40fdfa96a99582cc5fea021f378faa1e482b5962305de6743bcf7608b24003d6 -FixedInputDataByteLen = 51 -FixedInputData = fe95d90c688599d3881e4ec269c92cd99164cbf26b054085f40158517313c1e611ebef66bb9fe2f87d24e5d59084b3bc74e066 -KO = 7dcf41995c2dda3788f37ad66c9ca5a46a3cb23bfcab94e59ed1565b456e2c1b0d447b0282f6d355e773fa26044a5cb940d294144e0dd6c0e905ecffd96f3f178c5fd7bad2bc9456637cd7def87f8c7d94a71d0c2694e5abcf3ee707b6c2efe9d57c4e1ac8b580dffc1e4fe3343e7c67c90533fa2e81978fb718f894492bdebcf1730c59957662de9ca23609fcea67b730fb95d6955881555c6990461e5c053345521aa8e64f4be9fb5796c309ecd11c7ae7568d803bc35c6bf156d40567ce8bfdaa39b077d581e4 - -COUNT=34 -L = 1600 -KI = ad3a05b87c823beb89f0a8ebde2363b5b972ce04650dc5ca7e2d8f2620518297 -FixedInputDataByteLen = 51 -FixedInputData = eb37bb143844d1df821017d8dde382038e904b0584720410abc7f236a97ed81f8721077417227ea2ad1b165e28c32aaba7fe0b -KO = 780f432bd2d0afae183e2fac13e6b108cc17f756c5b5ea18aea65b190462bf8635e557b7f424feff05fc8ce56ec7fc5ed84d76e73e4d30a55e2c3fb78189a13aedd0658c0e5954c7de94c8162e956889d290d2a3ec03eaba5f53fd2f6e9cf2f942d5adee1cdd3e24dd8a588670f0852273c3a546bb908d1e30cc260e084407040bad1fd1fed6b5b702944a59d55c75af23f5cb376f38aff3c8ff454979b547d627342ee85568c13284201db8627831e811a2dd2539cbd65263aa654a199fd4f5747a036aecdf6f83 - -COUNT=35 -L = 1600 -KI = 01094fe868d28176311e1f7601350202d1ad76d8e8f85f363f0d33ef33a3e721 -FixedInputDataByteLen = 51 -FixedInputData = a591279f6a03b2c7046ddea0c0e25403b7c16124cd8d10374d89a1d84b71e2b4bb2e80898a3ab7360b8a4730ee9b0f40dc10b2 -KO = 25a9d30043f877df6c1bd42ca22a8f73c2e0d7d40790aa43ed0d67a92fd835f8b93c0975e90a82d18385d1ef2ffbee39283de5111dc14f0fef4f44ada358105c27fd204954e5124cf29b167955a0610a84bc6dc0c22553734a3f010f552c08fe0e929c416d99737ce4f72dc0ce5bed6838594cf57f0926b19a09443cf2f92efe596b402e012c278f8f577baa2916915482e138c170cb5474bf86f2f5250009973bf243be41e774006204082fe69106ea8c0134523ab5ead7170ff74dc16ad3e8aebbd81210d5c345 - -COUNT=36 -L = 1600 -KI = 9b9959d081939ef84f19f6970238e4598f732bc362350d1e44639d0a3d3cb6bd -FixedInputDataByteLen = 51 -FixedInputData = dda80fc565711434ca46cbebc22e26b29465ff2fbf9522cba12caca3bb871c9822f3d34283dd7e9d1a72275a70406e3664b080 -KO = dbd8e8707776adbf6590d9c0dfbc21d48eee1c726d6d2248ba8a6cd87d0d9c74e118ddac006a21a15de3acf54f001cb428a1a7c294a3b536e6365541da3f47bb6637249d8e622d2ee0a0680f4717cf1630cbbed592f2fef0ab4eab9171a1b32ad3ecf9af259180dad694b2ca01b8d836a652f53f009079eff8ba523f842dc0b1911500615dd1719c61f5c06e82c68a42d6628c3dc2654df2d83d0b66d0eb36f2558c7ffffde5c38ae5621bde27fa37e2aa7441d3f74b4138baa363e3a1ff45b9f8f45debafb2c436 - -COUNT=37 -L = 1600 -KI = ec8515d8c1ab3b89cb1e926b6867be61e15eef20389eea3474c239484e278d8c -FixedInputDataByteLen = 51 -FixedInputData = 678f4122c04f72ceb99038d4ca5e23521b14c9a7d48cfc32aa2966398642720976940fa07a0c1b46d15de3d4c495914b442ab2 -KO = e1f12a39e43703b55ac9ef3720581f84e4e9601dd79951dd176dc8d838c48b976252bae494592b84eef6fb1cd9665ccd2a3c840335fb160a3101fbaec8c48f283c08d206497901a33885fe99236786eb41bf12f1d2429d6705dceeae9b2652148e6f3d267998c383ca631a341412f0cb07abebd9154bf139da5fa75f299b72ef228b350057828e52427d4086d5e34214e5bbd33b068193024370d3d6de7169c4e852f6c5e8d4ab8fb3ac306ab5ad2b3dd2d46cb5ce9f79aa53923031b7f522e3de8dc00f70514bc5 - -COUNT=38 -L = 1600 -KI = 324eaf2cac2168cf47ae4ad8937bd3a4a29a0031a9e23a0ddece26f8fdfe7527 -FixedInputDataByteLen = 51 -FixedInputData = 3ca48fe36e372932b6cc19192d92cba7d3f6fd598191374450a696ef81a86807685cfc0ace73079228a6fd18ba94c5d3ae49a1 -KO = f15d7d169d122a44f12e30fb2c06032f733b2b840eda8372127d0c14af55be51a68031532cc6bc2ba9090493063dcf5819d5d5acc557cbde95fe575a9d1d50f72e66b8e018e39202192faa85ed5fc985798bba539d4c1340de0de766107f1b785565a6d2a21ce86c69539922d9c683c079c15f2d38ff9915183661a58cf7a0358fdfd9778a40e9cd747600f831e8affdbed6b7c39e95c197121af5fc00935424b91d6c2eff46d509cb25b53998da530d818f11c7b84fb2cd53dd1a6a7db6cb9ccb0e5d8b6f467ffb - -COUNT=39 -L = 1600 -KI = 6bfa8f5d3b96f68d6a7dec448af0fcd63d739f2f6cb3c6cfa97d4ca22c519ad8 -FixedInputDataByteLen = 51 -FixedInputData = 4dd581e6589bcf5fe6c7e0490ca03156032e6be825ae06848406577ab37db4ef3219a5776be960cb14a22a3eccebb687243b6b -KO = f7e532ba76ed8f6f90c82ae810dddcee108a91e4a3ea532edd2b796f1455e333a57b88499f91f367766446463a486dd60fcd8e86d95d8a95fb9470397531c58c8b841f16b84df6e507fdb49bbd95ae0c6270aa1d44a2ccab12b3db5abfc50cf0028e223dc52acf8285b2a5513a514e53457233947083c99f5b72ae7fe237ebc8ae927e88ebba2bd70a35c34cb615dd0a61e5e165fc4a6add6de08dc8fc0c364b5129f400aef590f9456720a028ed7782861a2cc19a64255fe3d243000433952fdaeabc9767e75859 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 18d898675ddae58d5fd003129e67258416f720c469ad32a33413d1f5ec4f9659 -FixedInputDataByteLen = 51 -FixedInputData = f58829b5e94da7a8fe7f0aab6bcc7e6d5faf420d558e911a8ab8af0f30f23fdeef95dfd67b2c7bae99652bf05f7e45d75e00ba -KO = d05c06a1b82d8fca328bbefff2ee4e6c3e5379160cfb926d25ec2a659c1e76c59b723348512da475108f843e69e7fb73092b51133ac0e51a91043256bbf88c93 - -COUNT=1 -L = 512 -KI = 62ec8427ccbad00cc63cb2da3002ee5f475334f30d6180d76f13a7939739a90d -FixedInputDataByteLen = 51 -FixedInputData = 355b5a11c77f27ad443a9e6adb2010f6da013a1bf796112ceff57b817a11c36f6c9b9342197676fbfb08fbcd08f1831ec9deca -KO = 5f6a956250b1e1e51c65efb660756baaf966d534614c5057aa7b1facdffde178c2aee8aa2218bb6b33bcdaa7cf32588a1d33953f3523f7fa518bc77a5474f1c5 - -COUNT=2 -L = 512 -KI = 98f8f7c1947711e68912fc05e49b5f961d1ba4e335b990b51a6a1ed139e1b21d -FixedInputDataByteLen = 51 -FixedInputData = 5846ebcefa0adf93439c3c7a1665003db3ed2ae0f9214ed74a7462f98cf225ac34b8513ec4fe2b08217817444106c8b2ccaf46 -KO = 46e6880bca0dec46764ea6c4d5612dd1219a0974ae51231240d47b453e1b6b495b3dc86566f181790c86a03382721b92020d819a61beefe6d542797de887f08d - -COUNT=3 -L = 512 -KI = 6faa1f6265912e64ad3cae42f200ac6b0bf19e4098217f5fb150ebb992ed13fa -FixedInputDataByteLen = 51 -FixedInputData = 338a21f084d071ef2c10b723eee4b6b882be922d66c6841c41a2ed4b9b9c081e12013f943238cb69e7ecfede284cb6f70cb2aa -KO = b2d82e0674aaa69191d8e2c119ed5629b40aa3bb2043f4f9d858e15e98195ff46893e747db1bc7a6e2b0bc0225220a6576c641f7fde3ed1e89dcf97185434e6b - -COUNT=4 -L = 512 -KI = adefc281f0b39a10f6855afa558c3dcdc471b84d63fbb26f7e16ebc316c759ab -FixedInputDataByteLen = 51 -FixedInputData = 6223a1f764713e9dc6051a58b4446e4305ec4d01c9f1ba03c5eef1e315f6b1465f0540ce0ebab5b260521c208597295f851011 -KO = 28a0eeffe2e76f084134d628bdbc9a1de286faccd7fe5d95d6691c8593b546397e110901151cf87df2b78c1107f7619a427f733ad691ce513739d0e6f7ef0977 - -COUNT=5 -L = 512 -KI = 26cd8e3da8d09c182b1c795e0002033c66dbb3e6fa4958f362d049ebd4b6d629 -FixedInputDataByteLen = 51 -FixedInputData = 4a3e37dbe4d7a18b0e34bd12ccfa4c257ffe1294fba7932220e324982ecf9f5ad2b706487c42b7eaa9cfad1736a6854f5bf217 -KO = 1923ab6675b53776a1c44fe0b2ff4a3d05e58536f0dedb4522f52f8e40ec3366f8bdaa990fabcecca2c85c42eef36a30cb4a90eefb638c5a53c1ed55040b8e71 - -COUNT=6 -L = 512 -KI = e235691252055caf28e63d6c2db6b625b803ad61f2f17d30adafa9996c861576 -FixedInputDataByteLen = 51 -FixedInputData = 4071310ac55784cddaf7517107d14e927928a3e47c007b0d2abddc723b44c56e75373e8fa4dd6c52774fbef6634728e834afc2 -KO = 3e6c1035ca47650773064ea1aea69195a4fdfc4c5b4d4154c8c5cc4c6128b02f1eb0e578240c4c12c6e1b5c34c9a982a9844c769979a194a5255e68661beeff9 - -COUNT=7 -L = 512 -KI = b5970c5d82959279da2a61c741f921dbccd08e52d8cecc18c139d721bc7fd4c7 -FixedInputDataByteLen = 51 -FixedInputData = 69eeebb7c17d061dd0ee7a0c6fe1ed3d20fae2c41e1ff0c9ee41a9f29801ff1af284b2aeac9770bc2fdeed28f4de0e9831e83d -KO = 5242dfbc6a3f2c720696ff9c68a8222669de342f67f92b7b1f97b1302676911eab1c06eb42d92b48c83bdf11386e3f7764020159652ee1701a3cfb90d4e4751f - -COUNT=8 -L = 512 -KI = 8fa8865c32dd001ba903c3bf6bcad1519fe9327290798dd21fb6b5c437adf46f -FixedInputDataByteLen = 51 -FixedInputData = b09968494ca17b3e2e2494cc5f6ec309bd934721fd179e44ac496abb9b1b7b9211ef5e03b4ab10560b0b8e6990b846e9247025 -KO = 52729dd80ad1306378e67c4c4a6d460c4640d631ca8b8d23a13034003a3ba0f93c128d184847a0680b7402c2196c4628fedf3699bac1a86cfbf4b4a6fbaf8812 - -COUNT=9 -L = 512 -KI = ff491553b28ec1cf3f38d7932e92d44f30d8ede1f92c4b2ab93824374ea0b5ec -FixedInputDataByteLen = 51 -FixedInputData = 757a39a17b7e17872c1140b3ff7ec2382b3779fa26f0bc3d0da019289e0c87beb7c23c6ab97bebb07516d9e0a95292509e391e -KO = 0f4ee2d55de8c8089f482137cd7d2d289a851dce0fceab15c1dc5a6573f0ce174e5efb7faf8db48b9bb9d0fca3d65ce78fd2c88b82a14daaab1f6d1f25cbef9f - -COUNT=10 -L = 2048 -KI = 42efec54374ecf8560dda15ce015623ba140df27124e969fe39c6f66f9b9ec12 -FixedInputDataByteLen = 51 -FixedInputData = 2e23919300d96504e13cfbdf3469464adb38f189c1025019313c8627dae3c802c1b473326e6b4f264da1af1a633e55fc22ee12 -KO = 8edcc0b658126bed89d4c68fa2b92570bf9f78c64fe85e812a3c9a90431efe494904ae4c1db7156bda051ea048b7c20e14eb3d48fa2361a034793237e5099076792e14f390ca435052ab66d3d628ece7acd6780e3a506822d122d2abb779ef7c0cdee46363a2eceb05a7f8b8e09f28229dcfd2865531c3cf3011d5a12b66c5754f793e52c9e043a40d285821d4ee60a87db353ed5a64bed26f8eb1960c1dabf42b2564094fbe6fbbc063289fbd6877da3a2c968efdbfda2cf3f6832034eae14534bbc54132207699ece927c90d56c6ce9d458d718edb08fa0252db30837c6247184e61816a2881b62ea5fbf7f7e3b8a3d343a076281e17bbee7ee6a6af9ee378 - -COUNT=11 -L = 2048 -KI = b3b3589c06b89ab39d8689565675b126bcab9bcafb38f8a169ff7a0bac6a8618 -FixedInputDataByteLen = 51 -FixedInputData = 60603c9d7226b5d7dfedf7547d2f795f770dbdae14b8e9ac9eadd3d31b3af101d912ee8acddaa249bde62a61d40db276d6b89c -KO = 4d46b7215db77ed51a6cec9beff1a6388461eaaf19b564223a1753123e158df0c14d4c71d8bdb413602f281d04e7de3502bc505e73fab00af100db23e8318d9a987b3ea9bd86b5e74d783a87f2e013b087446a88f98aa1ae5be3ef3e65b1c6e23a915ef7b39607167272a761e8925e03dedd916fd89489b75e0f3215ac9f2e792e33d07a6fead708cd65de128f91c0978ae51772d8371f122992ee0bde85698d0d4cde4e1dccd837224ff4c7be84391ecd1d930f88e237ece10a90f20afbc168a51b2b0f00178fa3cc53853235a48d65786bdcf5c8524bfd56208a455ff491ba431ced698f1ed8d295224c82833ca8d11ea1db20bbb83bd7169040378bc75500 - -COUNT=12 -L = 2048 -KI = c333aaf1493d720eab9a88325ec3f2c46d319eda0ec6d0cbcccab3093a947661 -FixedInputDataByteLen = 51 -FixedInputData = 9650e5437989cdc91d62bfdd5fbc59d093ddec9089d41dac992ced133b0a311fbed649605d640989236f642236add096990bfe -KO = 4f15f047f02245496c86bf4d858a523b73bc6011c1423d8344f356fb29c067aa1f63d7bf29473ea9034e230ee55778dd1021a109047a257deebef497c31c1c227fae1d96f111f2ee59dbb6e13ed083e787475547d0a23c9e99f80563352b16d518e5c3cbb65fe295b285894c60ed63623a37ce3e2e8fbfc4776a24e0e31ab2f961afef3be376593afb0ceb2189c7c8a55035b1382699cc81a9cf2ee5fc677949dbcd8e95260b3a85d3ed683b5f429a82eb9b276367a70d534805b52c31eadcdce616bed5a21e7732f729e2280102a7ccd931c9ac3e94016f3b86da0e543077b33c0cf7f74d0a77ad049d6f7a1e1f9a21099151a3fe419d0fda5d44c0b190b4e8 - -COUNT=13 -L = 2048 -KI = 193e000633761c9ef83f9e7a77228c44224e8b694295ad2e5cb3b6cf4d58c43d -FixedInputDataByteLen = 51 -FixedInputData = a506edb7ff3994d9dd0c7f0bfc7894fa32c2eefb130350e892cb9e564ab81221da4e30ed844f0ba2ce3f94dbb9de53e54e4acc -KO = 72a9cbe196eadd1d009fb0ee2dd60e0b580fd8b14263b29713ed01e17905344acb999b4e090ca3cd8c6ea0ec54075ba9b4781a58d3e1ca7fc402a4ee30248df43fb9df45c79cdf8fc2167141b83a2551542b1edd1d8394260f4f8c08cf670ade24a3a8e92626114922ae6b6d34c9a943fe7511edbbf7e1f734b1c5457081c9f916e97ca9c5b1633e59e49f28ad6b837173b2794a5b7af73806230cf44dda3328b2b716284493b07e791276c7fc8143af6a80f08001ef0e7b6841603c9ecc0ba221804ab108e45d3e64d44bfbcf79acc6ab0c61aa7ed1fee12a6f901f583562002d309b9d9997447859eb3d3a44e0f4227651b0e1dd07012944b8252bba95dc04 - -COUNT=14 -L = 2048 -KI = 4aff5d034646e608d2cabe0f0d5058d602704ae74dcf25d24532e9cb0dbe05a0 -FixedInputDataByteLen = 51 -FixedInputData = c68987e249d4693b2f9837c6da2b502ce7a4a14d0fae3d57ec7e0e3406fe64e4da7b4e60fe8fc1110fce116bb8464deb68f7ae -KO = 664eae1c87c2d34c430ae288a55c331f1740cb514ecb12254066008a0417d37afac69263ddb176c9d77832a3c65ec6477e800bd0f464c66ce7b0b1f38b3e1d1a8f049ea0ebed6dc4499d61f245a93ca2474d93e0efdb98a002aea63016923b026fe3f6ac9d0e363706ac7f129e83729f864c4f0c1bc2c98b928e27608763e71d13bfeae8d57e8614bec8eaaf62874863ee62e3d747ef63e712f836a9072d720a63fcb69585b006aa4d90f0ec690d1be2bf9e713c37152ea07672258d879c55f69be371a9e0707b2697c570abfcf0a91c915043cf0a5e5a188aeea2cdc7b6213fe5fc1cf854dda950c82e7c9618705bb02dbf136806e3a060effd2a6be1ad3048 - -COUNT=15 -L = 2048 -KI = 714e034ca5f82f25ec23f2dee92bc797a98c11d4e0d82f7be78277acaa68d4b8 -FixedInputDataByteLen = 51 -FixedInputData = d1da17a393b15939ee468c59ea1b959845a51aeed6c9932cf114051be6f600c7ebab78007b5a61bb844ab856cd61c2658991e6 -KO = a339a53e48f588ff3e6ca44a5ef827788d6d7d997d9b14fcbb8da3196eb64a535523352fae1dd6ab64b2ae4ac384facd965207f16a88b54428725323449ffb224aadd03ec53a4454d72a3f78d77f79d43e9c9adcb6d8adfa5848d9c380a758ce27c381503cbc081edc07f0468f71b50f3a46767127f29367369f018f9dfc3f6768e569b762307d3e4979b73b9219490dd0d93cc826717c9acf8c9b71459a92893032130bbbb6a89f34df8833dd62477a3d72085d49599607ecd2a04c60846c3413b9679353fdcc34ea516322e48e924f7fe53994adb006e0e6c42525a513b2f8cd9db82c7c2dc5e60b4b6a51a01bd5696078bc29ebaf60cf38c179d25c725b13 - -COUNT=16 -L = 2048 -KI = e5d518e62f3d0900b62a785448ae6b002edc770a1a866716041042a007712d80 -FixedInputDataByteLen = 51 -FixedInputData = 4213197b324f67eacd56f6b70ae3db6cfa13f628acd0475015c3d070f5ae6173ca68d055531b530f0125913962ca9b64bd3ec7 -KO = 75e1f29b93d9a67368e1d09a4d93db702b86388c6e7d0d1cf16aea15e82a4d3082acb3a4a4cdc7d5ce772b3011e89bf44cbecfdbcd360cafc0cbf4e9c179bcb6012c08ac75e9104fd2ae0751b83116455a606cfc33d2237685fc37968a225c83fb1122b3238fc02be4c2614af356a4ea29481a84288ac6d73c52f60396e834099610dc8af5598963f6b3f60755042f2aa07e654778749e1e0e477e82d5a8d8c6924d6d8588617a113ab055a078162548f1c84a6b141614a3054a62f04fe954662158bd46418b37ca7690f695b4061c1a883df6cbe51df705423e7a01785e174aff3f14f7d1b8edea764cca40f85bb3e25095b92ba10ab45e594bddba2c6c723b - -COUNT=17 -L = 2048 -KI = b0abe3fbb83cdb11de567561ab599d53a7c8a820771272e0c2193178495fb272 -FixedInputDataByteLen = 51 -FixedInputData = 25b157da1dd43c49b373b17beebdd594c3dd671e151873bf4101f8c8d7dc10d80a3365b7d265eb0d68a47aa912bfc7fa12e104 -KO = a98dc7d4c6abc4d466fbfa6ee85f4e296834342bfda737fd583c627d7be73eb0065f2461f725c58c6cc295ce24fc530b42f62760226cf199e0ee2ff964d6ccb86854170ccc8c89589d31f27f3227ccb46eb2990f0c6efd24deef904e3bf2032df162c4d2d999b6b8359085a97589e05f0bf5302e8a7144d4f09388d2b938abf96b66e914864a595fd480b5acf2ca5457dbc5f7fcb160b87e4f9418fe3cb6ea34e69c5e52163615b630e0676704102fec9dc8bb10a9f8ffc904ce0d4f284aebe06eacb67594727f01b4f0fc1d9995f62155611387e7879a8da38147cc1ca2cf4c854b48d6293b9bc62b3debc1cd43219568a5db9e0f0d0cf3919a6ca0935088af - -COUNT=18 -L = 2048 -KI = 10aec068d40091aa67cd1225cc3f1abfe8eaa7b4c19eafabff29dad84939ec62 -FixedInputDataByteLen = 51 -FixedInputData = 45839236cdaf7931fd194e23f7d02e76ad0c3d04b9a61f461e34872901b4a0b78f2f3a97449ad97f76336e12e93fb9794fec59 -KO = b208308c579262c6841bd38ca769dc9bc952723a4470d578e1e9b5af49ee414c124b57ba629859654c44913944c486c576d7e331c2d5ffe3491cb6eb6a0bcd93766f1065522eee3c1a7cde989f2269aa7692a24cc8de03e8f21aef0c015925694e230b7174310bd6ff838b49b987108546884517b695973b718d20eaf49572651ad1a09b28822c1a41d3154cde1714c8c3122f1ff8692c1317af57d551f574db8db1d77bf27c3dff02b46954cf3234455612c7658bb8263decd7cc7c08e25e22938c1c42d03cbb547b98c90df31804b93d25c7df6e676a9194b181692e5f499a1f90bb2b747a1350a731e3565d897a4fc3522d7af22a58760e3e806decba8622 - -COUNT=19 -L = 2048 -KI = 8e1b7da4d2dd57806ef7fdfbdd3b02e6246e34bbb7f1beaaac5241323980dad5 -FixedInputDataByteLen = 51 -FixedInputData = 48a806565ff261d386ab9d86a899afb62612d7391169e59de9d8227e8cf0917feb147b70dd5f6c94b95e0857991258bfb74bf7 -KO = e9a3d3b804b902a3aa0c41a89e1e44f5af20f0e732931a14f92dec465566ad38558d1c37bd20be75603a940819abd200db4b63102f36ca4156a7f796d7403978c5a1f7001fb1b0dcc39bd5663edccfd316f98f2c24dba9abd54797fd343836e8b4383993e97622c7bdd58968fcd89aec42f07f94885ee8f1131f14e5da2ff1863e2da62519795754b14e90bd8da59c0883801664a157c13270c4b476cf90dad82cff417ed81746e57a1c520a513d321608298ee8565c30b94321b3d40a52d21a17eab9cf089a28de601b86e6e5c99a82d3225abd190846c56b0240096ac93a60d806fe25a0b0a762790759167de3996078dfb47bb474fed617df005d539ceab3 - -COUNT=20 -L = 560 -KI = 940a81c5be27fd92ee46fbd7e5a9492fd2d4ecc99b8514b07023a226cf205e0c -FixedInputDataByteLen = 51 -FixedInputData = 2edc5485752e9141e62789d86eca1ce129746ecdf40d2deb0c6b947730d25383b6ce19ba6a6d24f484e102d274a6306d974ff4 -KO = a56e42f48068b640db335c56dd72a512db95a0e7b185585d06eec966e9e47876851eae79096728de26881e63bf8fa7c0a8492ad4cae7b849add8b150ad38bf362566d416376e - -COUNT=21 -L = 560 -KI = 6fb6febc95959ad7fcd81ae90df4f9121bd5e7baef2b755d008fcea8a3a181fb -FixedInputDataByteLen = 51 -FixedInputData = ebca453df12cf2a241a035793a2dd6a8c5c33437c880e568f2c06c5be4b76daecc02d7c9c257f8a5573b2219b19136dcd73fc8 -KO = b4bec0eb605199cb9f2ffc289347baa12f1c15c2f91ee413dd3c1435317340e7c245082bbd1830defd79718b25688d1a6704e099593e93615ee9ae2e26d0661d4a7326033159 - -COUNT=22 -L = 560 -KI = 5b56ccc4e08607b4de7a2ebb7737d9d64cb71029550ccd228fa795b526cc779e -FixedInputDataByteLen = 51 -FixedInputData = d782e563e4617efd8b643690cc1aa100e40094f298cbc2e849e4c64648a286cd01d85ccc8fa9319207c46d38c8b3987a702b09 -KO = 7e9159cbcc401f391fa96a9942d484957b5ea5694100f31f0807be74bf92c97a456082c28f30fe770412fd7dacee047a9f7d9f07c6ca8aee6fa116bbee4cf2b7a381e0374c7a - -COUNT=23 -L = 560 -KI = 6d1cc3e515867a532069e909c7e7c96a9c68cad1f5c32b0eb3cc65e32fddbf40 -FixedInputDataByteLen = 51 -FixedInputData = 191778d3601b9a85433d5ec7ccf041478aa2eaa05054b84696ae3f83287411bbb3c70f7baa5f0f91a300c68385e7ab2d126750 -KO = ab396c6aa0b237ab24e469ea97308c96568febe0941822850b42258ca1a7ff0a091f7e25490e44cca53ec394b6d44ed754c0c9e103be9359a372e76093a0be0d2e6fe5be0fd3 - -COUNT=24 -L = 560 -KI = 33fefbceb83a0efc7885b844fe395832f5bf2a380591ab0fccf77f4044373d91 -FixedInputDataByteLen = 51 -FixedInputData = 24aa2c1f8e79e724639b4a9fba638094e8e4ee151c4c3f0d3920f4f768b6b143287d400f244903eb4fc5dca0618a5531a0dd57 -KO = 8c1c7931b622ab128124e133734c23d2f3f18e70719391c397134c76fb79f0453520b9936433cacb29bbbcfc031200ad48413c6f60c16b4d3dc6d04886529a15946e644e8c8b - -COUNT=25 -L = 560 -KI = 2209595ed463e352bb2ee8ef59b319f76eeff666df23fc26f278b13ebb0432c5 -FixedInputDataByteLen = 51 -FixedInputData = 24399d6bf946116e9771cf2ff86a8691b473013bf0802f802fb362ccb7d8f4c3b2245f050d49576c554251f16d3bbaa65e93ea -KO = cd830c9a4b64cc207b88298ed019d4d9c3bfac9c2eea3d912fd87d9a588b6bd25502e041215d0089f1e61a99b34cd667a17c73f7332276ec3e53a3cc9306263592ff668cb9b7 - -COUNT=26 -L = 560 -KI = 308f30de7a44b0352db751e308402590c8047332c8a5b580940dfd5c458149ae -FixedInputDataByteLen = 51 -FixedInputData = 61756980cc4c2d00193c4d8b1bcb6a3ba4930ef5eb792aa7145de3521791da2e1318c2fcad4c357616132f95fe32e1992649a0 -KO = 97f56dd707e05ff32e0776f68264030d81708e330f6f06ead10b37a659878ccc8ecdfbaff27accfddd132e85507275f8857df0205ccd47a3e24dd66f9954a78308bf241b8db2 - -COUNT=27 -L = 560 -KI = f46ab704b575c1ea2431db17f63f64aa36106b5b602b4e78f9cae9fd0db422d0 -FixedInputDataByteLen = 51 -FixedInputData = 153c22364ac9fb204e983845211f6da1855888e92c016508c218ea78e90a04bdc43e3579e11b110736ce7658d89c826e50fba7 -KO = 9114d42f24b2a26a6871509458e2cba30b36687285796135e675e26642e862cd6f5dca3065ed96bdf55131fd687a88999a3641c7fd34b6feabe8ae001297b2d44a47e088c2fb - -COUNT=28 -L = 560 -KI = 09c52c2bde8c15d03e48305dfe5fe2bae9e2f4b1a5913b4cbdbb4e363f98bdfe -FixedInputDataByteLen = 51 -FixedInputData = 6ddb2749098d3683e0e6ff8a66bda2d729b62dd8eccadf1ac8b19d7511eee22d0df3ce202fdc27e75aada9075cb6da511b82e8 -KO = 1704f45170e7770c38e577759985350c7c067919123135c401477095817394933cdd9da74766915edbd83a4ac92a8d9659763c02df5ef30fb7acaf9dcfb3ca233ee4392221a2 - -COUNT=29 -L = 560 -KI = f9560ba9b86fcdcf0c3b9c2ddc5d15c48f314173a96eee517857645eaa3f4731 -FixedInputDataByteLen = 51 -FixedInputData = 1f0c2a636aa9f38dcd535001ccb451360f91fdfb70a0e11669e75f89502bd8a3cb7898653a0c77e4a09c0372ae1fb6c7d9f5f6 -KO = e837d2afffc19dd5a76725ebc3496a915f1a2e528c5056ec6cf6fedad0aadd3bb348a91da6deede6bad05e10349ae44a7a8bcb2be44b64ff22c4265067b5c01bd2e3b4779728 - -COUNT=30 -L = 1600 -KI = c859cd4385758a104536db5d76e0fa5af54916b1baf984aa1f62a75aacb59d0d -FixedInputDataByteLen = 51 -FixedInputData = f36031851b1cbf6bd6d985e9a914140acda106cc62906730afa2f659884c92b096319d0627487a11ab4ac769ba8811a7c99764 -KO = 9d722d882761a7bdbdc4f1dbacc9a808fa1a953acbea89bf271eec16a59fbe1efd873caa380c4d83148ef18045495c6de01161f5569c3d1f6e1ae26bda248591b7f052bbba4fdb37780c7ac092d62dc283d2ddc6763ca0f1793f971947b9a601eda711804054248dbfcf1f7ae12aefa00cf1dff4501712d7694cc9593353fe6675f15ffcd512a3ab1808830c7663c49271ba98be25c9021ae45781bd658a3caa5cda5a65979e738a3b84b5418768ae7950c56f69b0fab1802ed17dec7fb38edf371bae38a11d20f3 - -COUNT=31 -L = 1600 -KI = a00ca2932355715acd0dbbe879437bff69b64dea7aaed29c69f78be69ee1e92c -FixedInputDataByteLen = 51 -FixedInputData = c9426b8abd3031e56900bec7eec5e3a6186ee0a78f0c74fb72619b4bad5b4a65fddd92dc7d99a97dada887faab9f5d102510b5 -KO = ac3bdc918faf064576970b8033e3313d408cb3aa41d35bf7c70b9d65fb522ef4d62d92e225ab82751ea77cc6c6e00e3485875791178dd1d0e0d19a8ffd585682829b9bb2fea923ccd4cf111d7c8663754edd822c7ef1ff17cac8f7e97ffc9ad7d7236f43771067cb6bf6e6081bce713ea5ab5ad4cef3b52bd9c7b57d7a433af647c5c506d736294c08d9f5b89a2456d3b17805361f3bb860c3c2915f2cdc4690299b0cc67357dac960c75ffbb4bd127fd29e86e4b965e72226cf3df47f6ef430dd65443dfe91234b - -COUNT=32 -L = 1600 -KI = 8a3c10a283c9f60c5b6bcd539c0034f88df60a0ab0b6e89e74d80942f42f89d5 -FixedInputDataByteLen = 51 -FixedInputData = e1ba2d07810e9c80464909256c82730b8e53bafc8ced45f231265bd888c464fb62a3c0c8e934fb8c01d3c8c5a02806669cb394 -KO = 99779d447e75a69ee913a5406c78a70dcd8e77d4f6a98a0359395182eb65c127d0b71756d55bed9e084899bd8535cf0d5225c2165ce634ec2a6718bb08ee8f74a7b28483dd030dcf2a804527869b3167038392d3442613850426af17fc4c85006f2ff4b28f7582f7da9662d7446862d70324fa1cdd62b00057763bdc48d560ad8ce815de8fd1c370161b0024f7eaa152ffe575590ab2ee017ebd9ba10c844f6f13f4bf185ce48bc563a523431222076c5e25e271bfe039b86f306d7eb09c3329ffa97c6c0f8de921 - -COUNT=33 -L = 1600 -KI = 44b3f79b8ce8da1db1c7098100bf06838152342c955a2edc8e675125bbd6332e -FixedInputDataByteLen = 51 -FixedInputData = 74bddf79cefa5a08b827a3575361e0a4df52c3b0f59304779d227f21719e49bfd666936f054fcc2f24271cb3aa137cc751f8e5 -KO = 92d94ea651471d5fae9c50ca51fe279b4f8bdeaa7900cb9a31646acbfa50e23be16c510385699b54e7299779d2f69307b2c62929f2baecd837ffb72f6984e1c11c2e32028e80547bab71c038e2ae15ce4a94808dd1495d7a6d704165d0adf497edf60b0ca9a727641b07236b0cbae3cf21f2b4a5fa80ca04dedc811e07b9df04f97e8df67a027aac0b1282e41a2f7e38a2c23b2fd9d09f984a4013ad5bf055a8deb9ff70de579cf1ba35f14a6c5aa4db85f9583d828877d134488ad597bc6a43796c93b1ed5d61e3 - -COUNT=34 -L = 1600 -KI = 6ba1898e0bda17c4f8531b518ab45c985a31e55d7bde9ca8e84e4e7fdd818491 -FixedInputDataByteLen = 51 -FixedInputData = 07f856050132c22a9c52907338749fff4d4ccf51eb6dbd4962fd92995826eb29fa9833b5d4b72baa6890e5404954161c16fe1e -KO = 2b37fffe4bf5db429dbf79c5b9fdaa4e7298fa3dd5a97d449f061ca159a9e1468948d006027295f69b067c0b7a204f2b844c568c89393b48efe08d6a86213d79b24d4a9020b3eec1b5702e601c8686aa07fe16e13859197886f08e0617446421e13448619ede64897668dd235347774696cc67b1768f12db3d59f4dfb6f89007addfa298a943f2de71a5aa8ff0d405b6daa83ecd892a79df3abfbd3405d5d38858c0d298a63c7cea1632366c7d18a4aae541cb02479f1f93c0833ec8768453fdf7babd6893d00e91 - -COUNT=35 -L = 1600 -KI = 39e99c30bf49dbb4b62e131b51cfe191da939d8ea1c19bad38f1e9272035c80f -FixedInputDataByteLen = 51 -FixedInputData = 012bc9a0184880f8506b66d07d208c4f18065262e3207bc96fdf94cf7534d4047b46a15716f811206613f58dbc5664cc4258b5 -KO = 23cfd992767bceb6602a79e2921a80777de278a577149c83a19573e6a1d1692ffcaf1310024c97c88c6a4f09e8410297b9fa61f1a3790a06065e1e20482a1ee5adc1dd80e73aca18a5d9fff317f0c0e681854837dd82d9429134db679fece9b28f5e53800da2712b566af78526926b402f6906b560e675c91b5b259362c6e5171bd4670f441c0c4cdc2c6e6123a9f42f14d07feb96e4fa8d133b99f2a73a792d101f84df89a86c08cbe6c75356a0645aa09ee0b4de81cab5cb71fe20b0b91d0f9067ffcf3e772727 - -COUNT=36 -L = 1600 -KI = 2f99d6e31d96b31bc3108a3f3901a367d3c64909e1ea73eee190cb648c09b94d -FixedInputDataByteLen = 51 -FixedInputData = 39c7ed10edf683c934d477a2d2d95d4e7b069d7af41a01cfeb98181df83da7c56498cb3dcc0481bdbeaa2b3182ed1e0305ef30 -KO = dce032abddff633921699ee144eb373e4322a00f92601c2fa7e4b1de9f44231e1951f984b28768a45fe357fd44583cec59419ac902b9e18d617e987edd264cec6e09797cfef4220372d3d6bc2c52e7fe63b6a1feb479cbcfe5f257640dad981edf74f9bec69ba743f658fc7bc74d0110592495b8ff92ae7ff11b7ff7b8acc1037a3d091c0dc00e2136bbbdb28cfcbedffbdcd38e2a36bd3e12c81ce8a6267b08f737820b3ac67b287dcb77de4f81a97276fae624b08194eea50962cdcb2eff2fa47725890c1e4f89 - -COUNT=37 -L = 1600 -KI = bc3a228e271fc050d59f70a8ba23f6471b75097a05e7e63c4d8e540cc5f23529 -FixedInputDataByteLen = 51 -FixedInputData = 5e018551e268b55e9cb952e4e4a095ba13af7787227c7c9fa7d3031b992758923a6198b5d4f7b5339a2a844f5f5237e67edfc6 -KO = 91f86b08dddab8e46ff21f01b9568b5fa3379dc6211fbef0f5919fd61785845bfd43dfef9bd062c4198678ebc388e55e36b1126da8f5dfbc82e86fb991ae1497e0bcf8db8dd993274aefa5ed3c363bdb282ecc0321bcd637e2f6b3bacb157d61f9981d380cebb46806931840c8f44054ebf88b04a98a3cdcaf2c2a3adbffc1d18938eb529ea5b73c996cdeba09de0ea67b72d603b5ef487ecd51e23458f868f30d6a6117eed900c9a2825a42dfc56afcdfef5f337f498046a80c7cdf6acd355a2ea4bf3b3c0647e5 - -COUNT=38 -L = 1600 -KI = 8593c194a2d0a591a6da00a6cbb4626b02408cc24214604c4c8ad81d3262f9cf -FixedInputDataByteLen = 51 -FixedInputData = ee5771e8ffa926eaaf886c1d6a67547d1de602814884e54f0dcc705de1e124b8c7be92f3c60b49d5822ead7adfaf61faf879b8 -KO = 9e05f9cb8dcf1b2df90e49abccc0f7f352607611645adcd6af4271fd66e0e6edeb34ae98486b08bc41944917337a33472cfe6fc6fb5d4834004c2f722699a84720ffd1a16631c3c06566f73749c23f7ee810d4a9c3cf7ab64eb46a53ecb9038f0f9b0e3091d692f86bf1b4b0a55e5cc90bcb5a90c98f162fe279a9ea1cfbcdae2fe45466f681b1eaf716c7458a51452b596a26e13d1b420bd3d615847ad3b6cb953d022cd12dd0c073c4d5aca81324990be6cd56d2a99540016f3dd2e74dad135cd2461f5fa603c5 - -COUNT=39 -L = 1600 -KI = 612295d650b656d2501bf61b5e428ec85f74688e5a923019e7251bedff8539f3 -FixedInputDataByteLen = 51 -FixedInputData = e072e141c756aabd23dc85d4b075570dbce451b30f8c92a2a5421b33e930cdc5574e5f41c460c9b4eb1f807b872acb8856241b -KO = 1ff5070ba7bd6f474bf8e1a603d7965fd6ab5f79466ffe7ceca48518cea1394af31018bfc7008b35b1a38191aac3fb8d07ceec6d6b2a3a57f0fbbeb7eec1ee03a009bb9999de3e5c3c625e02528875f3c9959669fc265ef565bdaff50c0daa6ebd978b9db110f1e048f4254b2b0f311bbb783f3d59157153cace77d53ed11818b614ab9485f0518d9b044bc5565f6f1ca8b345222e6df65b172f2f50aa8a66610679f9164ba3317adc9a98be3b45b97e3557e879dcabb0181f2a9a19ab867499c8cb6291812ccef5 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = b9ae7bfefd01bd135efef7b58058d7a8be563b471124efa4eacca983cd56a921 -FixedInputDataByteLen = 51 -FixedInputData = d39a29c988bce8c616c9eed55d2a4b7c44337cb8afc4b72aaf0230ba9b31bbfd25bfe442ba1f1f341ab992c9db1b974efa86f4 -KO = b4f293e997de0907df297aad03693bcca7623c12446c3efb45414271fb845574eb69065b5f4f23a0d61d22d03a94d6b72e545c2fcbfd102cf4dd757d4234f895 - -COUNT=1 -L = 512 -KI = d201c46ff12a92b21e09b80bec8ea14d83e05151ccb6c103c3a609524b511df5 -FixedInputDataByteLen = 51 -FixedInputData = 07a9218ef75a5ae5f716a726129805c8a0272609f9e55876160dc4b3d7c5cdeedb78e1b11b8f32a6758717e6fd57b2485fde7f -KO = 1a90aa07839d5a969141bad419a0c645f0946a7298b201457c6090839c054766fec9f8cd0d3cbebbb5f01a90a9f021fbfb07e6a48a50454184dcaaec45125777 - -COUNT=2 -L = 512 -KI = b32c8b83d7fd8d81d25cc6ba84404b03b2d651b654228dbe6ac38c57461f9654 -FixedInputDataByteLen = 51 -FixedInputData = 1f83b0237476378fc91656b2c427c43f6b897aecf485a6fb55843b0c7d1b4088bdb58b05bf50acaa7fbdf5fe90fd98f19eafbf -KO = 005c8a2150706bb1e49b170fb301a36dbecd8db79040a1033aaf729ac785c26e8987ec06f9d3636e438f27fa7fa71ef14babfa1ebcec63cffdb83dc04e972363 - -COUNT=3 -L = 512 -KI = 93d28aa655f9dceaa3ec43bf108a43532d6340b9428f2149524683aa95479601 -FixedInputDataByteLen = 51 -FixedInputData = c7bfcfa173d4625c385fd6ee9df1f5472dd6ea55d26afdec88448af4589b126a67bd3da1a28bdd7a1d830d0cf7297a4eb100c4 -KO = acc3bb87144c4904cb1c63e48b59d9f5b68c558e046bf132c5542d2fce9a57f23debc19a25cc38e9e11166417d1e23cf771e1494bb4f7c17a55c003c80e7f436 - -COUNT=4 -L = 512 -KI = 92b1eb7930dbbd848e09668c631c450042b3b94eda61983db5cf3630fae0f05c -FixedInputDataByteLen = 51 -FixedInputData = 188957fb8b00dd68ddba8ea8316859213fdcac3d27292a1b1232152f88095c6ea4d78e632251f527ba554a33f937101abe4e12 -KO = 36051b8d238f10e579995350163c890c38db3e60341f8aa6df628ee78f05bc4314c625ecfa2dfbaf9f8261219562f955808ab2de8f68c4766308544a512a4be5 - -COUNT=5 -L = 512 -KI = 1eca5938a01a61b3154de43338231fd3be7f2863000d84c9ae380e02f8e84ea1 -FixedInputDataByteLen = 51 -FixedInputData = 9700af4cac66e761c8ac06cd8a4f1c3e46992c3760ccbdef4d291acba533b44c245b9c6ed00ad5a97b790ae454fe77ae3e7115 -KO = dc0b1e898ce4e3c77370176452033cc58d1b33f64286d91059fb2a59c0b80629189d31a4803b41b0ebd9cb81cab225ce574300de8bfc5039030808841b361e75 - -COUNT=6 -L = 512 -KI = c660f396abc9fc94d3d3ad99e99e89165733407ef9cc0748982f61685f1db977 -FixedInputDataByteLen = 51 -FixedInputData = 0b9655374a40f5886e9ea64378a04dc4267adeffb14540c5971f3ba22a6dff8b06bddc35fb854389860cfee671205dfbca4a22 -KO = 1cfb4c6c8091cebf59d9f0770fe638104e40ab56ad7fec7b57a6b233040bd5c742c65c33664d4dc6b61f96ed0bd9fdfbcb67918703b86dd4014f211a89909455 - -COUNT=7 -L = 512 -KI = d3a39bc4d376645bd938f5d40fb29157f0ed717ebda1605e861909604b54e5ff -FixedInputDataByteLen = 51 -FixedInputData = 5ffc9a107265c8b1baa01eeed061e4e41c17207f2857da10bc72a722e1a02af93093cd74de10fe46890c0cfd7c3ccdd3cf523d -KO = ec710f10fd2b79cbf5218c44c44bf7f99fab97b0c70e3e0efbf79dd1c6475e195b379673f379663142fdeff00745e01c68b65f1a09df5500a78314fbcd96fea2 - -COUNT=8 -L = 512 -KI = 8dc0eaef70736b6d3e326ee9030ddc747f9f7ecb6b095b7b8d997430c5c9528c -FixedInputDataByteLen = 51 -FixedInputData = 2a08535f24e948e09050609974418b7a59d904f2c8fce582ea0287d2aec2cb40dee6cd4bbdf2989244060aa1bb12666e9b8f3d -KO = 56e1e7bfd25ce8ced1ef1c4de959911eda7e3e89a9e6fa3b889493e4aa6065a97543305f79bd5d566459a1bf3b28948e7ef4f18ff13a6ff6ac776f0cd17fa14d - -COUNT=9 -L = 512 -KI = 524bdac3fff2e1fcba7a298758f70ba0be74e6ff2589bc191d26cd3c07eb2a96 -FixedInputDataByteLen = 51 -FixedInputData = 09d9f4c61859e3074e769e01055c1dde12acf83c91345d4f4f3312d989866a0c0aee1b9f64c2909add26faa225db04192ec23a -KO = 7bd66ea3d007702eb5123adc13435cc8cd076491c5f1c5039945aed3070c29a22c358b4ad992fe0c8bf0270599c0807c25566af3a48853360280cd836deac4f7 - -COUNT=10 -L = 2048 -KI = 60a02eaa1d2817f8d3cac71f62c7a0f4e4d774f40ccadc5bac7619e1a12686a1 -FixedInputDataByteLen = 51 -FixedInputData = aacf85d99bb4681b96b392796ca349e9ca2c71bb7743937620881488aa6078f8c190da7eb22c78db535e255514dc3c1992e245 -KO = 1b091dae7dd8a04dc56462391976d839490f6616398cb79c189b7e95cd2e09c4df3250784d52bc1c28671ffb679d5c214d5e652305c148de3006448565862574161d7b3f7e55c161f59333a0000abd45218d42ae04e4dd4b017af813a299c9b7cfb6893cc1517346ea8706e1953676aafe3417b4093cd05f8300ed99bc79f3d1fe94be5ae88ce8d4fded5d005b15cf384caeae0d6b6e802dc2625f65f4894942803fcfd6ba1b5a02fbc56626d7317a748964c09ea33efe65688323966194ccb925f9f7c3af7f17a8a1005e580bc82a096be50480ffef7c1036686632063f4beb445c32bdc3f67a475c1697d003316bd5ba64f783453cfe20dfd44df14213a755 - -COUNT=11 -L = 2048 -KI = 12665a6eb95e53ea0f9d2f8f4fb356590545e7b4e94b86b2497ca0fd2130f769 -FixedInputDataByteLen = 51 -FixedInputData = 665ae4db4116529b35ed3c6ac1634f264907257897bc4cdad3091b6c518ed3fde9d7ca7fa8c76605f652974b08024dcd9242f8 -KO = 51ca3a19ea9ab2d9b99737ab6dfa98c0d59b7be69b49e50b7fbe3aeb10e1eec4eacac035f33851d93e5060e420bce18824aaa3bcfa25680528ab85844cbcaf455a327fdd307f22b7f3554fa51bb44caf52aa9ca50010850a490e3d395ec3e7bca2eb4d657ffd5a22df40f7dab4dbe24e590c016a07545183754a38dddce07ac492e8f02143eac18eedc044727ec5f68e6a25b60d20d7a89d1c59deb3f1423486c2a17abeeeb2f8eda48ee003ad8bce730ce78c692ba4160b364bc73a39184147307c1153856afafb747de0ba06be4ecbf4ce3e06d0e6875a6af7044dc883f05a4512c60467ebd736b7bc214b780b7cc33f94720b79e0503241400cd2105ce9e7 - -COUNT=12 -L = 2048 -KI = 1bf034e8b96aa29146e27f15fab5f666395923ea1c8544499f1b421b489ed5ae -FixedInputDataByteLen = 51 -FixedInputData = e792a00e53f8c5677260219141f2ae5ed65b073d3aacff3c263d3d2b22fff91ee4dac9a2e2a789e7a28b42e57783529b2bf441 -KO = 05410707c122e02f531d511aa9fbedc84a240e610c21ddadf3c1de289ebfcbe0f2fe11dbbf87b250dbe460a001c6054ac2f0e337cd6cc54f2c7dd41ee52225b76ef6a96951c550f10e2dc4f18eaa49e959040b96298eda86cb8f5ee008788d806cc0b55327e9279d0d615c2f241c80cb42c1f46442b1ddc468039bc8b08a0dfca0cfde6cbf1125eebbd5be18fad43f361cef97c7e4130d702a9994b6befae2560612b28c632322412f5e5f565fe221fbbbe2831876b2e543f6f94767442f2ac8bc9f8136adf11a1d53793ad9be6c59aa9446cde1f5abe4bc133c87d7f9340ba0906f701760574fb64efece1ac794fa895d9f25c5055a8f53a84fbe1b926e7b36 - -COUNT=13 -L = 2048 -KI = 671e45a0bd397b4263bb6b080446b1c4741d4775baa17bf9b27aa74790c3792d -FixedInputDataByteLen = 51 -FixedInputData = 329d45e40ea52044deb8009085aa3f65a4e051f5124a5665630964e3ce496f9abf27048f4759d0ecfdf7e4b0a028b3ba812703 -KO = 2ee28285e85bf1bc666ab08ffc42952ddb35eb25367a467556300de0f354f74e60a4fdc3eca5b41c5951d4b063c910739f9adaf74f76123003bbadf19f7b023022da92f0f50e176df145777b6138691dbc2298ea2944edf83babf8e8077626124ded3e8b9e8503022875068ed592fe1d695d332f668f364505993f13a96f2ec6a3408be7da995bfc55f5d53d76bc46a5a9d9506cd18b29175a5f2819220df88f3fd342ce6fbe9dfcbb64d98beb8302f9900380fff4a3351a3de841e9dd82db2fe0069701db92f09f5dabcccb4bbe592ab4804ddee6f5cd7d3defc454bf437bc80963d805aa0cb933348cedfaabbb08c472248db5e11fdfecabc0d81a31ef8d27 - -COUNT=14 -L = 2048 -KI = c76d6d9fa0636d0aee95144c48adb8a304af27bc387a900ebe6a3e56ac10bd40 -FixedInputDataByteLen = 51 -FixedInputData = 2c5d43da5750de816d009fc019414db68a3620cf751bd1ad6fac1b2d4761ea28a8284c0e7b2fe552941552f938cbf6c3495cae -KO = 6c22d101dd377fd7cdc64989dd002ed8c94b60287477d236a1db74e8ab18bd246454a7c7b97b58027cc950b5c83006270071495e5ad1e5974e777e8a7007f67a08f4314871b2f7c2e01d37920454f2077169e800bd44446a5b47232e16faced017f29df0827e405cc328ff67a17ea476351b5a1c2439ba8700b65539d1bc224abfb7e507808239d8d788ac132745b0b0d143c86bf59cd806c2a3385ee8b709a34aca26ff07cdc220de031e5d724c3444fd11ce308be3631d4014bb76a2c4df58ae288068c52efafd8b4671ffc4ecba3acf889c8fbaf327e147f91d82908c8191bf209e13194e60ddc176aa379322c6d07f0a9f229aac4ca7559ea310ae714f08 - -COUNT=15 -L = 2048 -KI = 04f486aa66617818db7f2477de1abcecbc4ae241c660ff9e2f5b7a85b45ae349 -FixedInputDataByteLen = 51 -FixedInputData = c89b9e26314461cdec758acb13486d0105c2e0a92f69045fcf12599b820787d0fee9a770b04fbc5039ed913ac65e53c7cfdf0a -KO = 8ae737227fc32bb66a156925b56c6d374c77344ee4311dc85ab5178a8f0ba7657a3e07ac6776ee384822dd69af8c8a0ed5499be0cb05669d546b246b489af6a3d5cfd892038e2da6bb4bb56da2eca8c3c912836ca74f33a99675ae367f454eb91833247762d8a73a300d0817d62ce9db63022a8a6840ebdaae9cf23b4addcb19d3164e4651b7293fda8909af4f11b2e845ed4b17f69f820701b6959f339f9e7fb9093d941d5f76591333f8edaeb644cfbf747495658621a54bcc36422544dee2389e15f8e1da71ccd2a02e6c69830f9acab34c59ce0bc51258f6e11dbc67e6115a80f86010c9be725f331ba31d71bf722ef3931e3c6de84456a1c68bca9afbdc - -COUNT=16 -L = 2048 -KI = 0e2231954ac7cf49f7bc74e62fd724a6aadd3e9576c90a362b9ba52aaced8ddd -FixedInputDataByteLen = 51 -FixedInputData = ba4ca8a82acc2af083c2920c3f25cd89ed9cf4bc2e2cc9a05df4f786822dc2c58b28806a39cf9d2710f33249a173f6c798a5e2 -KO = bff408a2c3eb084840535fdf34ac0ddf533740f8b86be73207e1e1fc9a6a0f22bf95e9522b0ee889512d5455ae010e94e5a4bac11eb7e1038dde48ac130cc6485289e4fdf54b854b76c50f436114c75fb8c61b00fdfa8d9382a07903a8eac6cc53c904f928ea447633b343f9e42cc7b348848735c8b63589cee183ad87a5f249642b3d2095e13ff9e56ec401254039a14053bedc72be6ff314d4aff3d9a0cc56ffcae0593c50c10d28f49ba20eec9707ef4552fbd4703a90cc2ae0ba84698c12571e13e8a5b9804a57dfb9546aae4c5e27710333b5ee8bb9ff44e7612741a90a2480a826452c672a991e328f09e99e18c90445cb7a645ee7f85612d45fe4adaf - -COUNT=17 -L = 2048 -KI = cea87b92a64391d1a7a73a0563c1833145f6d624c45a07218d518b2bc439d2e5 -FixedInputDataByteLen = 51 -FixedInputData = 53b8d1fa88b175636286fb547a63db456f3291ed365d4e4ec81eb6ad9b3dc6027346af6d0add10072f896723c4b5ebe6a1366f -KO = 2098ebfe257a5308dd5364b39d9a075e42a39412db68bd600c68d89713adc538b484b81ec587651648cf6fe97764f8cab3967e967ebdd38394d14462f9913b7188d1954bf813723675e2966981c9ae4c8f7679b74f0bd0a87f02820f7812a3e45f1f3c815264dfb6ea8b1c6e4a8af2d7f272ff789b821687c1f944b82cd4cd1b714ee5504f0fef3d206322aea57d9f72ceaa276674ca3c209b812813544d67d3eef694bbbd443d6b642610126ab823f42cbeaef6041e23d8920d9c93cf1b07038cdc776a8eb103668a0ae8265301f74945b27b631c5ee3e211b5ce46fd8570adaa44294544f90333509c2521b0d7d1b5090fa3bb5179cb7c36483668642e7409 - -COUNT=18 -L = 2048 -KI = e434290c3d0888fd75dce292e11351866ea620ddeed09c0305cb7b0b6539f13c -FixedInputDataByteLen = 51 -FixedInputData = 8e435f709f11cdbf8aaaee8379d2654a1882f0292cf9485c4496e7c7b7d1fa8364742aa801b81c6d0382fa2a1431af4e9f2f80 -KO = 05c77267f4995c5940bb2b166f81904cf03b409fb8df398e126da1161e09fdd59fec60c769b618084af5580f969bff73259bbf73120ac1ed2fd83d918683a910a74f66315a9b03f51f8f38fee9b99268dba6208625b5a8895c817d5302989c42d946cd317f576c1891583c05f91d820512c0b7c97e6f17729d3c52c9687ccefefee60d859c7956fe9abd57a11f9e1c6bb2d6de7dff485a80fdd81545b9e1e6cce4dee41f6037ecb86b2bf002782eb73b5297d882e60a5b90736e777768028c3159bc9bbcc63ac54ff519f97b13f67be15b8cd6dbdff5b7abff6ae01480b2f6b06b143bbd719f7560588fc7aed407c5eeaec6706d964ca28de346d19aeb09994e - -COUNT=19 -L = 2048 -KI = 3a1e1f4ecc61fbc50fa84218e013c654dcfacd095600e6eab53ca2889081d8e2 -FixedInputDataByteLen = 51 -FixedInputData = 68be43db9e2ba2bb33e46017a18b27e9bc83914fe1374c585deacca1b1fd1fa301446a22269c8be8028a554dceb285a6dd3fec -KO = 156bf83aa6616f137844996b783364cce516c52c075ffdd265962f858b8ccb16c7fbd79b183d225404ab42e892f0fca7f3645670d04670f37919137e2759ac77375ab5c82419ac71d1091a70e0c57c8e4da6013d05156bf4e704ea8f82c079d0986e07c45af3a858f0ef44febd0948307564dc6f299d0e1e2bd86c1e08ef70d2d39a0cf48910b0875fe61a8962c579fda569ee2fcfa33265f4b32cc93e51f16849188ff87b5e18a9b0d0477d0197dc9a0b2532a985c372c42f74401422a579b0bf19eb23c9e05ff609b7495a7125fda33edd24894a103c337abab62af925bffbd964c3d397b1485ebc245e530011fc9800a310a401ba03365cefee776330b80b - -COUNT=20 -L = 560 -KI = 4da1160596968768336650dfb9e68d105b5b5699255d4d3f3747c2cb5a5f0759 -FixedInputDataByteLen = 51 -FixedInputData = cc317d2ba3743db6db2102d46ffca6e150bd4d16702f00e8b4aa3ff060d665fa00daf1c5620a8c2d6140fcb105bc53c2c3e83b -KO = ff0aa8fa540ea8e67e13e737d22617fc9595a4a2714e06ec0d47fcc18867318b6a0eca1c618a8423bec0f493b2b430ed2b19381cdfa904d6fb07225527628c3d75a21ca9cdf8 - -COUNT=21 -L = 560 -KI = 2a352049e54393f02b0a52964f558d4df269b48f4d72a22d5e32cda6573627ab -FixedInputDataByteLen = 51 -FixedInputData = 4530457ac3ba5f4d19e9964f3998298b9d5e66a96f11c76fb108785e6cac8e3953973289bb38927d6606b83bbe71f147053955 -KO = c0b96cbe05fbade8915ecd4485aec09dab6a11d69e2c25dd9e8123d6d3998c5b08e85553242071c6d61d353c37d52d10686a2ff570a1202c757143c4d84d78cfa25d1dd3f8a5 - -COUNT=22 -L = 560 -KI = 33f6590ab24fa25fe318c1640ab2d4fb81a3d00b159a0484001164a1f85b97d0 -FixedInputDataByteLen = 51 -FixedInputData = ff3f3c3b3f13d8e051850bc675680a257f7c574a878737edc3354ddd82c18f0cf8376df76e5d7ceed8b5b2861ba540130322f4 -KO = 5731bad398cc1ec7086482ce73f4585c3a6f4a5dd45b577d7739047c863b092bc5ea3771c5409be0e9fe2b27fee988a10ef284299ed92d7930da5bd399e35d371b260b28606f - -COUNT=23 -L = 560 -KI = 97e4a1f9d0f4ebb1b9572579a9c68f373c1846a49b71a8c4f248b78b35bb66c0 -FixedInputDataByteLen = 51 -FixedInputData = 64ec70f5adcedfd9df786b0a1f6f58414d9409011b98d5dcca7f04a404daad13c4759be744213e1f844a7e8818a4a367183e5d -KO = 0cd646eae0c55b8c584e964d74624164ce15298524b1ddcf9581adf387fb1a86ea6a2dea8b6700e6548ab23d72cdf78358bcc1891ff9230f2f32be14a384f3df901c2d90154a - -COUNT=24 -L = 560 -KI = 519ad513ef7b3eb3d26f5def9239bae21a44fad3c79c439bb7d70bde36fd890e -FixedInputDataByteLen = 51 -FixedInputData = e076f211f0e195d57dff1b37a0c6487057912ad40e77087b173c17466c3df88a9f18bb0d2e060aa15526bf518475b975a727bf -KO = 8619660bba82d0cf946fefa5d2eed0eded7aa066a4bff2ef2a18f0dd810acce3bcdf41ef18266018fa1128d5007773362d433d535c758d02ea41a4c4087d5fd6b33f6d7ef208 - -COUNT=25 -L = 560 -KI = 6bfff58e5368f5ebfd10389bde95fc03c0e7101ee94b1d199b73617509cebd2b -FixedInputDataByteLen = 51 -FixedInputData = e9d3de5a9dcb01c24bb917de500f1d48124f33babd1a5e841fb07171c179f6b40caa23ed2b447c0c6e46c6cf1e96b0db7a2434 -KO = 00239ee1d6d11d375290eac5e8a346bcf763c549e4d3f230be6933435525accb32f06a1813715754330082290a0a33681485199de6b2a1cecd1af14a12eece784b5618327c96 - -COUNT=26 -L = 560 -KI = 105d221c6afc278b05468b2292f6e46e07dd6fe97ed98f7cce119f7416ef4241 -FixedInputDataByteLen = 51 -FixedInputData = 90effe903a7f89c29fb4afd23b198c59c23618d4ea4f306dfc8fe31cae0e83f0b98b26bb0b4d65c8860c5647c3308f979d4d9e -KO = e39223a9c67b46060c7571f6de381f300b397d98181fdf23a9305f98781d1e636f0d595fafd082a0c93843fc173d48b7124d6da6f28ae29c15c60155d918abc24f6867e94429 - -COUNT=27 -L = 560 -KI = 081ce869ad781e3f311f0f208ee2f7491c51175f70dcd655c93f3a063a9dcb00 -FixedInputDataByteLen = 51 -FixedInputData = 9010a578613d54f0759e603e0a08169a4d87a36cfd3ab89f68b908b823c3da482055f4ca782a0330bac67e0faa0976691bb263 -KO = 0b69e47e4758f2425f6ecaea7bce5cc7a984017a7a0c99a337221c55b58d192feda501442a5d22268b41b4ebea24aa5a9bdd13ddbf4b5d031e1cd4e4c7b64365c6162b815708 - -COUNT=28 -L = 560 -KI = 006ec71f7912337455fb2804a65bfcf8d13a4d85e38d2bbd0a656d190c53faab -FixedInputDataByteLen = 51 -FixedInputData = d8a7865c5c6855d9f9f0b296dedec108b7a55aa1df75109bb3e79d1e27a6cd69f26b01dbaae72bc1248d2e55fc7b267ebd2488 -KO = 58df89c577f4f8f8c6dfd1c39db967e0357e67d5922393b0d42c7c0acab48c1bd3a2753f7b0264c3a6ac060224dfe05c5c72cfe78daf0897066340577d18fe86dd703ed97d31 - -COUNT=29 -L = 560 -KI = b9f5bc14bae684efa0fe087e4b5904d43e13de76569c62c590250243ac31d25e -FixedInputDataByteLen = 51 -FixedInputData = 5c6d4345dbc4d94b3ba093c635a8d55302792450d03abe0c5af7d1b714b3d78bc055cbb8d8b22ac21043ed293741052b5a2a69 -KO = 7db03df09243afd53c0edffd941b0bb0b9766bfcecbec97e74b595bcdb37bcb6469d10412f718354ebe0d2795aedb5a8d4a11d264f34c0269102029dcbb8f1190dd615d5eadc - -COUNT=30 -L = 1600 -KI = 6d42a9d51e5803ac10e32aa43d38beb563b0e3264973b77313ee8946e7eabb08 -FixedInputDataByteLen = 51 -FixedInputData = 359042fd2d810a1eb2d0a5a7b60df4ba7ce7a3327918339d335acba0c67d7f33ba7f8eb67014dac9a7d064c771dac84303f3d3 -KO = 3a23d0ac3510a4823112bd51a155bd58e4c8c8a0298c1fdf6b1e057f6a714ddf568a6dd5c35c2772383d296a44609d86278baf951e8374b54f1cdcecaf8aebd8d6941f24eb0cfb2e7c7b741b755587bcbbfabbce61ba21d49fec786f95646755907ae6e9c188a65a0e371c267976382f45cac09a4a7d7680e4c0afb14e438ac83127ab8bedf2ff94323dc8fabeed43687dcb3bd656e83b1d949e0bb9ff65e91cac775a39810f3d0d8b85486553d1be6e2729d156beb0f3a5bcc82045e3c0807221135302a9b51ea7 - -COUNT=31 -L = 1600 -KI = 13ee846c8c6bdbbcb2ec172de02913ef581f323ac0bd047d78778b3a70ac9391 -FixedInputDataByteLen = 51 -FixedInputData = dff57cf4197ccade187ddb4d130b39ebf77a9853d00067f2a882a23cc6ffb2acc35dec6e47eb15a9a070f3eaa0a878090573ba -KO = c2bb640320994917663472df0b978a92638f9d2bb08f3e91119923dc8c829c5cb94856da34a2a5b47a5a462ec3fcc7cf4b2a9c7134b1708e8c583b71be323d2ef7d6a9974e50de98701a908a7459fb74a130ddd65d3010a0a79b335b1f4d30f9672efa0f092e86511df476214a23a197105946264bf30c243c33e018ad8ddee27ba2039c61d6b778a8c7ce7bc8b69f2f1462a47e46f987a581df23918da6431e465334fbca8f9a1f17cc5ff8b24344a0309d07ff28f354cbd94a7a83d9bc6b3ce62734e437a58db7 - -COUNT=32 -L = 1600 -KI = 87f22154ebc53b6bda492ff52a0cafc7340120e8a503005ec28edae25c1354c5 -FixedInputDataByteLen = 51 -FixedInputData = 7f95aad2c035bb3aa0cbe882b3d3bff11cd43bdeeb179444c47fe793906649dc1b9521e04cc7a2b6a3f03d4424b4f8a484e7be -KO = aa1688264bf0114937a74531ab680330b876411bf8ca09ef3428320fdbf0eca89718f017ee923b65d9badfe2099c579fa0af53f9ff08d062330b235c8942306d32743372cf5aeb8a46dda49cfe9c1e878b125764c402287bdbfdc89f2cbb7b52dc927d34ad78d5e5c71362ad793abb5782d7f9733b83619734d6c51d74d1655a9dab72905eae722832da17f1a81c5d7cdf7907fa7fb362ccb7a91abfce5c31fe202a0857df4541497b346f85ef24bce44efb632f7e0a4eb6ed7f40e1e7ebbc53b39314f7e7577583 - -COUNT=33 -L = 1600 -KI = 96d1301fd4193e189b5072df478de81c831f1d388c1e11f253db5ea41228b5e5 -FixedInputDataByteLen = 51 -FixedInputData = ca88fd4127752638f468afc5dea5bbd5b818dd255085e91724f8d247bc808c99af80930a09df854dc3bf1fb084ac7cb44f5b44 -KO = 55f43bd9b9a7ba4ae260ef64c46296aff62142e7c6a698e998528c195362f79a459b30f897e63ca2913c3c1523d006542a183e2a183c02e5860ce1c818278c8147aaad550787fd8297935a159e0b76e7167689b97b5568dedb44cf45824931474283dc627d0097b89cfa5d99277d2ffc87930a7a9384303e8630eb1657548ed451ee3e5c612e23a4e5c099cd52ffdc8e530fbee65e97a4e131360e9fb382e52729c877a5fc5b747b58cfe53f4d6eb68c3ac89528769b915340bde5a5ba75962c37e5fe3721169ce9 - -COUNT=34 -L = 1600 -KI = 09cf8c387d4dc0c65feb6749d0f73ede4ffee6df5f1933d624e57a66e6bf553c -FixedInputDataByteLen = 51 -FixedInputData = 2ad87eecb371c5cb145c4cdc93efdd2f75c572b7bb3050ae0d9d2cc71c8cf3f07d281baf04cb43ecbdbea03907776f98e045f1 -KO = b3debb4c1ece40bb9fa2d4080583e1c40902a541211b3da2ffe748e0603632d0a73d833fa556326768c3cecdc98f2d69c8adca047677296a12cf0be9d4b2be5a7b65288c83e7cf60a421fa4be6de39172bd473f8fda5640f8d5d969390c789dbd720b39e1186a5fc89946088dbc1489fdea35c2314e16ae2f651ecf58be7ac2344c553256a307afe8b3f9bc10bb181401f2956082ff2ffa21e82171cda67d85e3ce49dd77536ba2465679b43a9925d11cba5af148cb23aec0a23141005f2def8368b3e096304ae6a - -COUNT=35 -L = 1600 -KI = ef39cfee426031ff2fe2bd0db38a91d15722b87b335688655c5fde92321721ea -FixedInputDataByteLen = 51 -FixedInputData = 337f2af27dec1540752b9bdecedf1af152455673861f53545a8401fa0f7e6f2e849f6ada884f4fdd66edca1fffd679c73ea274 -KO = 6ca04a02956b75d4f327d0e3c1e0db3c0066fc6c21cc1bd78276daa0e43977d8f7beed01f27e952af15a2371360c0632b3a0d51bb6c141e3b1480ada696c84cd6367f2758b786a80addcb6b47646d14ea62c8c0746b147c282d414de2c4ce816429838930d5dd5cb4d346b8241941eacc5c2ceebb0803fff13a386e9238ea37c625cace75ea3d57c052eaac28e16c695db40f6ef20cead36f78edc24d59c21640af3f59a0232947febb328e8ba44e99ee87f2f36bd72d52deab1f5bd43617d6e7d0551d356c0d3d3 - -COUNT=36 -L = 1600 -KI = 532aebcddaf6b751f9459092f3837a4880763ec4da3f33213e4069c4207ec59e -FixedInputDataByteLen = 51 -FixedInputData = 9419b6baa77374b3940fb499ebcdc9ae04884f9caf1dc2d263c94e2e48151e9382c09bcd0fb3fe75a79659d3f3dce6e6442c50 -KO = 0c270f5f331877cabd4dd29c32d19472ad6856e925a7249fe6d2ab5fd8a4fd23f2a7058aa921d5d510f5f2aa13954e40357899009dd869ad864aa624bffe0d1094f455f1e729e828fcfb5c67061dc1afb7c4093606aefb1e57d802d22fd199f2c8f7b62ebf541f2d4fd30a297a0a2c0f95cd3ac8010f8142b57162ad6379f753bba5817fc43c88a59bbca396f7efa13e6779e459232d006e0da3e540c466d5c1e3615e7a860396264ea9ebbe4f65dea325ffa8e65e1bf7ab7375ab8e29385bcd42700d75df5fb78a - -COUNT=37 -L = 1600 -KI = 7cd345f641aa2df966975e389fa6e5fd1484def0752dde7a49d17de669c6ab22 -FixedInputDataByteLen = 51 -FixedInputData = fb0605349f67142723feab1a549ffe929cfbb03984786689aee571b758728b82f4046e5306fc489108ed2ced0c7f19cbe70327 -KO = 029b1d712273cee418611b00654362919e3af96b9f2b0063e1fcb723f8d773d1392f2c4149fc5eee46b3e76b32bc95680fd5357bb1573792f8de7d94b8dead3a6f0edaeca493701392ae83f965fa050ac0ab01b8dea253db59b71a91128771db5ce8d82f2dcc13e5d7f331f2bb55b3dfa8f601287d841af1e6aa6cdcc03a7b24fde5be480696054187aaab6bee203589e6d7e7c39f5331e89d0a46f3a5ac07321db8b742b508e37d0026994a4c73a84bc505d54752887a69027b86b10fd5f11df08ec426383e8f34 - -COUNT=38 -L = 1600 -KI = c4e3f79a7657868389b6c19971d5f03e626cd197a288866681561e7f4747ae21 -FixedInputDataByteLen = 51 -FixedInputData = 3a8e9f6e24edcdfa6a05d7be3e89e16546e4386a1bca8dd9f6d43c8c71270b9673ac5fd6f85db074d4c33e3d00337fb2058c39 -KO = fa55608c9d9a435b068233185041307356b00a2f854ca054cef858c3429f8da5c02a044098d668b0dae43d918a8c91eeebfe4177e1a0b165c487dc359f1f61cb0cce8803ffb0005a57363926060229eff370f0a660d1042286fca9ba64e92773d2e3e78aeef3e3842d4cf28b700117cd0c6ff3faf6439cfc07bbd5a94834cc70cec3f86fb34af4c747683b79602b77b981c2f1d53cd43ec71a67b41211a15152a66792c42f4d8cef2a0591684fc96db9f0ef3bee894199169e11fb0c646ed0591973174fb395d725 - -COUNT=39 -L = 1600 -KI = afcb9288b15026ae487731031e577d90d328815c9e5a3c691b6926738642dba1 -FixedInputDataByteLen = 51 -FixedInputData = 8b4a1cab1eeb50f71241aa99bfcb25546c896be176097a12760065134c6476edb41caa001f173067074e266ac1dc188869ed1d -KO = bf02e01a555e40a839139ca8a2c1feb68c55e2b313d5bfb7501c1d986dacda1681bd6f649753109731ade1956fc10bc2d6aa0cefbaefd3b2dcdfe5fe34fd97f46bfddbcbfc9cd5f425bf1fb7b0a65f29a9a0518945e5de9e1f6c8e3db0f0d5895010d0c3fe2fdc3ad1cc32851d8e4111b380346db47346929a53f2aaf08f433072ab33a5c60f6f1024a4206338affa29f605f686582468c17580ad7cb6eac317777ff03e30c5116e965860ea18c9b2adfbe0ea889df43456ce7d580bbfd3dba59de35e928db0c5a2 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 02d36fa021c20ddbdee469f0579468bae5cb13b548b6c61cdf9d3ec419111de2 -FixedInputDataByteLen = 51 -FixedInputData = 85abe38bf265fbdc6445ae5c71159f1548c73b7d526a623104904a0f8792070b3df9902b9669490425a385eadb0f9c76e46f0f -KO = d69f74f518c9f64f90a0beebab69f689b73b5c13eb0f860a95cad7d9814f8c506eb7b179a5c5b4466a9ec154c3bf1c13efd6ec0d82b02c29af2c690299edc453 - -COUNT=1 -L = 512 -KI = b4adbb961a0d765bdbaaaa4586c871e8f0978ced3b8d6c48262867cfbdc04626 -FixedInputDataByteLen = 51 -FixedInputData = 2aa77754f050823fc2e461297e9dba7fbbd22fd29e68f64d9294ed7c179cd90fbc4adde850adebd024589dc50169b189cb4945 -KO = 942687bc9c76400553ec1fc602b4508e8f5cd276a1c56d98f039977daf1ab89a6f97435eb4bbb9115722a6ce3651c1c1d10faee2f9e50737ee1515f6e32b7cc6 - -COUNT=2 -L = 512 -KI = a11b607978477268e2eaad4191d1308a9a5e571cb60522e60e705c9d92e5585b -FixedInputDataByteLen = 51 -FixedInputData = ca7c31618b627f000bc66fdf0d380b3992d52bb2b3262a7fda8c35fba7a33b1086186e74b2fdb5c2c2a8f086aaaf718ffe3d3c -KO = e4573a9806b6588b0154ae7166ab620393808637c7b48990d42a4b44af4e6b13fd5be60f9c6b20e9c99e848291d2ac847fd24939d4431faf8129e7668a730a6d - -COUNT=3 -L = 512 -KI = 546058fbcfb82d20964e52ff54b1a1d4c52e4ab48fd29ab51240fe0419fb6363 -FixedInputDataByteLen = 51 -FixedInputData = e5d57ea82752648092f2aee9894b24ee48c74a1bf6ccbd4cd9e1b6020869159e552a947db280148cdf742da37950f02fb9b0c1 -KO = 56e29bce42800ab29fb0270e01f47747436263b0400e417ca08cf058b6ed3d4303f1d6732faaf27d78f7cb2372542a04ad3c25869a9e7a5572bd828f6e8f90d9 - -COUNT=4 -L = 512 -KI = d74ecbedf3c8626a4769d7d6bf2e0d9f740d1a74a42bf56011baba00d7b25dd1 -FixedInputDataByteLen = 51 -FixedInputData = dda0051d69769f1f04a1fe23ef574cb1199aa7e63dda467a488058bd7ff076be18568be349bb4850670f21e81820e14536a5a8 -KO = 9a0b92cd90038e720a8bd48d120bdf985415edb87557182643d017cb34801fab23aa840ab8e1174bfcdf1aa3cb83a7b879cc13ff87088859757163cb4d2a4772 - -COUNT=5 -L = 512 -KI = 87b693799d867fdafc31661878fb6ac624a45dd8ecc2143485e2479119e251f4 -FixedInputDataByteLen = 51 -FixedInputData = 9bd913f34b6f8cda194a3f53b32389d5365e2307b5d93617c9f88d70e3caeebdb6d52610e025b54e57916f7dac8be9b99f55e5 -KO = 56cca3ce656be3ff418c44759c931f5116bef9690314aaa384379b64d14fdec9d6f64d4317ff16c89da9f0ad1f580943c7ca43ad3a02263f9eff8a040c92e393 - -COUNT=6 -L = 512 -KI = e18a8dc4f7b67cfd5e836e4a894caa08c1e006ff5655f3078b9ad50fd007b496 -FixedInputDataByteLen = 51 -FixedInputData = 385663527d2254ce0e2a0839e254ef26470f46c89b7a21ec5d44775793c28c246a72c9cb756c6b8946b8a5cc5a7b0f9714088c -KO = 8ab7d1f7d13dd8e28793667272dcac79a9fb3f66b7296518ad9d4c5e35d1394aed11d1b4d2f9b70c8a6057eeb12fd42b9b2555b1a4de51012b33c2677340ea36 - -COUNT=7 -L = 512 -KI = 094dc93bd1c757ca40cdfeb4853259c2b67cb3cc4401a4d24ea3bbe24bfe4db7 -FixedInputDataByteLen = 51 -FixedInputData = fa47e85e067c53e805db920d0ae4de70003f8d6b026ce73b18db15c931bd48af8777fc7c5c1b689dbf2bfeb68616acd11db2d8 -KO = 6872efa44c9aff6f8324a0005664cb307dc32f8794fd4f62192693949714c06498567377598c4dc2acdaf47580a17582ea8a5f530e2754071f3cf8af2fe655ac - -COUNT=8 -L = 512 -KI = 98c04cbcdbe50617ed69134847258f919074d0b494abcb2715dd3192580f6bbe -FixedInputDataByteLen = 51 -FixedInputData = 0cc3795e66322645f1f13957fda39347ba19b7862f227d0a54fdcf7c954295c3565d148bebdf6e1b03f418eff96bfbdde81383 -KO = b8e7337be6da8ac1a5d4f5c11f4ccba0f0cd9f7a85e0de2301c3a67d3ea411ef124dab4d963bcf1840faa8c31ac913367ebbab99fa91db42834825a6dd5d0bf3 - -COUNT=9 -L = 512 -KI = 242115b2ea49911552a11566d551fd9e93332e14cd7fce685a1d00f7feb759f9 -FixedInputDataByteLen = 51 -FixedInputData = 949851d020683afedf86ea10483d0227aeca1919666f68e4b4f041f7b0a24eca126302fbe50c6cbe794b4615b44d100c7504b4 -KO = 832050d44a3f053a3de2c441a203081d4d547e6a1220bfc9df4a05cce93af294b54fd6f20a300164132413e0e653a32c492f78746ebf255ac57f1b7654205c4c - -COUNT=10 -L = 2048 -KI = 40da26dc85fc48a30a52fb7bc8d6db7dd18cb57eb0de5c9b210b5d574dde358b -FixedInputDataByteLen = 51 -FixedInputData = a166a4e1b63f753ae8f6850c7cf96ff8e83b22eced5dd458af592bb26e3a1d51c85eefc39accd2805095d3288d4b0d0cb996a1 -KO = 4d515afd94a115e504ed265dbbe019f1405b4b7ab351e6d496b6b9c15ae7601905eaa123b80c9855fdd458f9871f7ec2d16e05bf8991f8165c9faf916d2c62bcfb34f0638a2f8c95a5b4b720123719988c5b6fd436858f3df65c4e22fec179cd065ea5cb8551c4582f65ff4f7eae9a3fda752ae862812016aa76343c5b6040d921f14f772d2fa9dba65094b244e770965629829dd14a9af537e80ca2122eb71e9b4b1c8e25dfe3b53155d969e596095675ca8dc67c12e11e7d950f219cad5e0bef3d6668becac52140b9c153897466331ddaedac6d0ae68672e99cae96f6a021686d4fc2f1c9febacf8bc9005e4afb9a5d24a15aa2d7afe1adcad43dc346b09d - -COUNT=11 -L = 2048 -KI = 6d98916c67a6b74f4da37116e1138d10216603150afb039879c2713214882202 -FixedInputDataByteLen = 51 -FixedInputData = 350f604d67fe12ad07898a06f6b58eb26ba1be0dd8fdd4142fe48379f991e9935a75c6f6b0fa715e07da95f90a1b6f44e5ee69 -KO = 4b3c8714087a9a65f5274c402bb8d1e7c05ad05c6498631184280464b10edb12594c808068ae4e044eef3452c9f3f8e2cf9e0de9bb174ce22d6880c5e0d29dba780956f15276773e43c92ee2a05b860bdf522ac8ea24157a28a796da7d9438c6d0c02d52103f90cebe24188cada2fbb867282ebea7d47c04bc77cd0f022f424606d9bfc6acb78712b187a77a54f85317d7680ff360aff7481cfcf798a0b82ce31401851504cb52dd0409cccfcfe38d8f7d76a7401fcc07d87b26c2b967689695a31712d53b8fb285da0550e323a43785b2bf5fd816052accf514251b2e892cc2b21dd35fabe6ae0ec1bc4e465969a93619ba96975b71a806ab0d6267f9196765 - -COUNT=12 -L = 2048 -KI = c5e388cf257b8fd085cdbe3b61cd7498588d380f16552df6bbdea87f6f7e6ab9 -FixedInputDataByteLen = 51 -FixedInputData = ae296f0693ee78ab7a0bc62b219548513ea883ca7a04540ec4e922f58ee9c9b5a6bad6547963020f2aec184de7eae9f516b413 -KO = 0754f8aee9d721c2a683392f2307582094c96c3c2de62d1b60c9bf26a84a30c771df614a62e9da9e2e1815a385ad7fe1f1c4de2bd21890fa5260a976debfe137470746f94622611618cdc5bb6cbdc625b22eba077b6cf24f5a07bf98a59a6c18a6d2ad64ff28af341225e24d4a6cc3097bc86bddc7c03b7903d21a12b30b506299cb4b781fc27d2d8548977dc3dd6025ea5a2c1b11b2380bb06a6f9de3e5c55a8b89e4d7aeb301b6f69ac0443994a0f1662e4c9b01a480be2f53aae0346254a8ff883180a45e8c4499840f8dd4a783ec6bd7bc60c40e02e20d7899a4fbc3d841c6ea1931b91c1c7ae47e9bd81c845977669a1878fa34a3d9e4909bcd30884d5e - -COUNT=13 -L = 2048 -KI = 8e0a9602fde11ac2665c768733c92c62e2ee0858c0fbe4c9b9e8afa589b1cc23 -FixedInputDataByteLen = 51 -FixedInputData = 40379f5fff8950a7a00b52132469884a1584cc4e13aee05a28176b96f3de66fd2c401282e56ac5d048af4b8ac146033ee34c63 -KO = 93b689f75563fd18d1c2804d8ded8b2f76de38591790ba2b94840d98e11ad6a99555afa28a61b72d414cbb6b9e5082e23cccec60e15e15fa15f5b7c3c88ec18f42eb0c76726a2c9e27a2b1b78c388bbab4ea5a73faa6fd52f743d60505ddfd1f940e6866e06498a3cda968440e779e1ae39f3ad13bc0b742cbd84f31c6212e3ca6086145bdefa6bdb5c748da1d5e4098fa3234b7194df6d25a0172a8a01463fef86f614ca173da9327ceef785fd158c86d9724be07c7c50d7c0057f08d7ddc526dd62370521d92afceb393d39a88ff6f2bf52ee985e8a686947869cab0ef453a1062ce212ba765974b04a19ce6929fb2dcf6807805a75e3cc29ae3235768c9e4 - -COUNT=14 -L = 2048 -KI = 7dbce0c82d4b817654054ea26612f155aab592072658daf3cd19b5e75175cbef -FixedInputDataByteLen = 51 -FixedInputData = 9c01f8660183d8cc4c20b0911a36e7b1c3613816aa4f0335509e5f013e7fd487d9d84fbb28b15f569a2f18c1dd5d2ac6b55a9e -KO = 9dfc307aef530caa81385a9b861c52aa13512b856c80304e1f168f2aa6fcfc575428e6f3e849b22a7fbf27902cc53d4b0507e1fb01ab7f5530d91208c061f9c329d7ab73ec53459741ed800cdc4ceb51b4c1059c7f54ffe92742b6e276bf9c65c28ec4488721b662a3956e98c576c96a6a0039b074b84aae616fe2d9de4ebfeaaaa418b753b06596de0d3ab3f83bc94f7be7fd998dab054d20de4ab1935ee0c86b3173ed88b26cf032bf1cecce87851e29200a2e03ee64f1bd9a752758144155aeb2770eca14f626fd06a6a1141ad0c853a943ed3339cc47ccec21e3872fb778c00d027e9ca800ae44a275118c4ec39231f8987b57db8a503d367bd2715ad464 - -COUNT=15 -L = 2048 -KI = e0e2d89832d997a9e1f0438581662a68bdce33db36c591ec4889accab27ecc12 -FixedInputDataByteLen = 51 -FixedInputData = 244a37547da70912219ec70d274fb091c8ed9a2fbb99872b4528bdf71b6220a0f379d9c7f246238fbadf24c701c535dcaf0f3b -KO = 93684ff15eaae9df4fd25d71d7b00b2a42b757af93a19cfa291053f050a2d13f826b66c8d5a6072c4911f8cd53f8957274db47633158ffc17eabe541898f89cfa5d5a954003a2e594c1bdd9d58fd458a038d8d1e98fe36e3d7140911136c1e4827fef5d20ea04ffa46d5fbfd80197396d057e8a802c03ca44360328593bc06d27fa1a15a1464dfc222c2012718cc5d82328923f1c6250650def1b031116814e1e51289581f7819bbd06ed3eff6b2b997835cbe32de1018e5eacce63e0102d17bb1462a7cdc7d7b8b4b383ffa7d410f0b8990b5dcb892767f5190a18103f4c68f4795e70ea608f790f97f35f4ab50bf8922fa845aa5d92cb9f1817abc074aa10d - -COUNT=16 -L = 2048 -KI = 522e70047bac5903a0b7c78ec2bebdfe014f8c248dc7a800b0b18aaf7ee4f65f -FixedInputDataByteLen = 51 -FixedInputData = 2ba41d842e30e7f351bec6f05522626cd3e2510707686e380760bf4594c115b20bb14a59178e8531d9de28cb76c564a7d17991 -KO = 408b2c132339e28af66759e200cfc8409b7c30b66997bc9bd91fb6a3bc1407b4ac554d9df62fb9ed9eb47e982b6c4a211af37f21373e254e66bf325fa6e9a5dcb0864216556a6399332b72a563f356f7ba8a15d5c25e575a608bc801ad23cdce900304f07c5efe683e2a3b03a3738b68be9ad2b2651eb575577dad36319ef95a83f47d4fe0e1fb96d55e43a6a66a62ceacb16bcb4407f2e68c9d2c5a11f5eb39e3851f601936ecec6d54fbd10e94e3f8b4f13f8d2109a8bb0106a7035e5ed01d02a3b0a0c7e0c15452965ddbced9364d1e81908cd828c44b240a97d3904f7a578ce8f590e075b3cb7eaa25acda9ee911b1f1bb1a44445cd2c5a1303091bf50b7 - -COUNT=17 -L = 2048 -KI = 15f640c518fd794f740f32bc1ecbb09969f67339652ff77e4476a600e90a7727 -FixedInputDataByteLen = 51 -FixedInputData = 5e3aecf319a78c4c7463fd1dd2e0a34d0aae93d7a1edb9b994e43bac2afa55b0b7ddd64cbc15c3da10002df4774cefab231c0b -KO = f08d720109c1fcd4d4e43037a173f1938f6f49869602acc57e070f9eb68802b5edbf3d74e82cc2a4ebdfa42e7d382483ec74eb20d853d72de5e3bcc340069fc8516f5a4d61a5c7ad4b07a4b0fd263d22a520d0257a14f9b663e0909fcc6a00a3525fa839129b65c23ca0db036b332405494b9ac84a25fe34a083873ff818853a4292fb1a52bc49f64a68cb6d6557fbf3d590841d8c5b18fb8263901372f9a544f60b7eec8421d618e9690569aee962283734266cb915abc261b6328054cf17e6041491aa394bcbaab17756daaace458bbaacdedf887c2aa1c16000f0193c62df5fb94bfbbb0017d78efe13f7f5b8db1fb76ad699e839fd4647b8ebd5255c45bc - -COUNT=18 -L = 2048 -KI = ce380d19849d0483e397fdb4cb6572c561e0335d15ce96aa47d35d53ae99d2e6 -FixedInputDataByteLen = 51 -FixedInputData = 3c378630f98335b3fdc5b4a63062771c8d91849da6853558d3d04420254e0e5eccacacdc8f1a77f68d51aa21ed3165427b0e82 -KO = 1564a226d0fb10954c9911079ba5eb7aad16c71cc0a854b21a69bbac3ffa4db1091ca73aa97ebee1c955ba6b83cdfdb20a5702d78d998ad6d52045509e4272782fd580f0ebde336c1559da0237e09bef35882d22be445ef837c1058d675a7a67067442eda133199259268aefdab2cdab6e1f7dd1f4efcd69b41f184739c8e6573fbbbf25d6275fe1f1ea66e32626842d3d0f77c03b71839e4d1ec3b28cbc56a4fce16ae1bc3ed881e050a01665733f7de5d2c539c3b19672cfb638cc236497c9c7ac79471b93a5833d9f6ff1d38ccd4f7d27d8e6863c0cb363eddaabbc357097c7e72125254d0aff0769a41396385e50ea2009aa592e1a3587ab4b4c4a6565d7 - -COUNT=19 -L = 2048 -KI = 27cf5630aea423ee44da1c3863c8391328437baf9e0a780062628f0dd3af7c51 -FixedInputDataByteLen = 51 -FixedInputData = 7fac891c29fe21520002abc95e957f228509eabfeb26423f44d45488d9c210370872c0e998e0816521da1464aa68bc5d497b6c -KO = ebee20ebe4be982b109ca58ebf47ac0a8b372a3d56c2c425d303f088d609bac260ab1044317d3dae81c2814e95db96c38ac888e66e935f35fca4eb68c20797dd3f096afade871c85ef88bd8bcd74b7f614c2fe57150302a598b6e83d2a6d2c332973dd188d8467b1c985020125d2ecd336430f6e40c5a9934e86832d74a5b39768adbf5c4a2f1b6013484c57607d9d085c20acd14da28bd579bb221fb09b8b88ae5b901a86fabeacd227e5b57c2c274a4140cf0dfa5a3890c575b78a2a5d12f4652857c21d3f58f6290a866fabbcbe5ff95b4caf00cc82775cf64bb5623bf60961e7f0a0b94e7bf9387645161ab778935e31bafc94d3a9e13f5828eaa4c06bab - -COUNT=20 -L = 560 -KI = 9306645e6b3182a66b1cca905480b7ffa8d60467a52c12202476a54287a45bc0 -FixedInputDataByteLen = 51 -FixedInputData = 0fc1704af3daaa5942025495c22a710ed64bba03d71f0f89ee2b37552a073797d639a8fda73ee616332f5a54e51359ea578382 -KO = a0a718541e7722e8a62b7946ea0244d1b6f3f1dc9213a880cc1c777ead8814b51b687777258e32fe9f0e85854271d9cb029026c3c7eb920136005634b4e1c09acffa969cd952 - -COUNT=21 -L = 560 -KI = 5109fda1ec058514b75bed881c5cbdec262116028c94c4904dcaf444f1db95bf -FixedInputDataByteLen = 51 -FixedInputData = 452cf2aaa1ce31fe4cf72a26a7397a58b3164e60db7b63d78d12f08d99914f9a622e68e092f5e5fdcf15e1bf92b14b65f596b4 -KO = bca338bc0ad1569c0228b7edd3a16b5a893798a560ee92cace5808ee6e1214201c28b1319786c21a4bf912b77fd8559abff2c7d3018f63baf9aef5d50fb58a73cc644eed2857 - -COUNT=22 -L = 560 -KI = 51e976bc33e740bd95e1885d57c3ce5ca8b7e7f1d2a8cc6ad43f4c737d52f454 -FixedInputDataByteLen = 51 -FixedInputData = 8815227d1c296d63e6537734e38853c7a15edcdf53928d20245172d7579b8a578d4bb3fba3604f23fe1f67df2c716633143ba5 -KO = b5bd892c17029c5378317f4be9e6ada31a883fb40864c7530a702b4f47420b3ab97f74c7e847d35f3c5e626ebf74d841dc78cb7376b38b771aebd498c89171b4f0f9941f89e3 - -COUNT=23 -L = 560 -KI = de11597fa2ddd3fa478b9d0dedf65a5179be332b1b1c193e55be260c4107a6eb -FixedInputDataByteLen = 51 -FixedInputData = c37ff475aa0a93e962c534dad610ef19af63286f34ee926dbc36123cff3be72842da7e826003ccc67623d7fc7d954b4bd27057 -KO = f6fa056763132abebd8fc89eba0e70c9dd218b7cfc76731f92ad18f5f19c16ec341d5bd631acb2697bd11871cbfd323fb19ae25e3aa0de805a3e20f07dfa18a704fda0bb60de - -COUNT=24 -L = 560 -KI = e73dc06b1d2cff52364585516168cf5095a8c8f24e9b633f18d7a127ff52c681 -FixedInputDataByteLen = 51 -FixedInputData = f538c695b5dc3f80cbb672a8832a3874a2b673950a754ae881f8735475008d1dee5707c9f787c9ba65e3c4d6b6f0bc73904b10 -KO = cf870abb04824093d7e7c42d2846ce9ea156e460ba35c7e434c35b40453fc1ef2ef844af231f0fc42094ac191971be35431e417033470a589d831afa878d7f295b0e259b74bd - -COUNT=25 -L = 560 -KI = a2271bf73ec5241000a16bf24d8a98510249278cc6d4234d3b62969e2d4c18f4 -FixedInputDataByteLen = 51 -FixedInputData = 1fe1f8b01d8810f82ead673f40e96969423a9f148cd16f6c731a061730069583ee645356f0bb9760cee8219139e515fbef56b4 -KO = a08d9967662f89602f759f4f9caafbaf4fe5eaa8e0870e1e6c14f0bcea3248c6c7c63ea6b2f1f6b8b8ab4dbf6e2b5a59830c6fccefb177d1fd1474f9ac90feb9f9b49918288a - -COUNT=26 -L = 560 -KI = f602e999d762efa6efddf9b6976733435df58bc165063f15529adb61dfc499d3 -FixedInputDataByteLen = 51 -FixedInputData = c7a1d864ab703904fd1394ff5a8d998a3e0c1bd59c7a15352ed890c4cd362c3e532ea4ed40629d70c4a7e1ce16dc8430f9096a -KO = 1c0216765863b25c2ef8fbc85659ba72a5dc978ed3d03a7709e6622ef9be3f73c798bda143a0b82cea33e156122e1df60e6799f1f6f45d2b265bb0edbb975296ec465796ff46 - -COUNT=27 -L = 560 -KI = 17e2fdda2d3d2edb2a1d7bc39957a082ee72eb694e452240c91468413eacc27a -FixedInputDataByteLen = 51 -FixedInputData = a8ef1a71572f29ae90fa15927f2eedd05a4d206cc976951eac6cb0e3a210542e02ada3d5244c6759b7da10bb862ce18ea00cc2 -KO = 048cb2dad13654a16dcdbc9a4a585e4881d2f1247ce7d5ca2e889215de58637f95c0a12cd3673407376dcd32d5fa7bb5a1273623850217364cbcb005f00a55b6b1783157e328 - -COUNT=28 -L = 560 -KI = 78b39659e3b72083eec9e42599d2de94652f7b264c01f4ec4cd1ed9b58a22bfb -FixedInputDataByteLen = 51 -FixedInputData = 6c76558359b413fca461a8e42e6ea359b99911900f82c755e1311ad1ee2b3f34a69558574dc8057ede28fa537b17e018242149 -KO = c73321677b8a323ae897d6ebd0aec3d4a3dc0e0adf43e750a9db4aa7db1b9bd69abfd26c8632301511c1de0f9690a6c43f0ac86d43c9ced8a55fc19178792bb2e29dc6a0f863 - -COUNT=29 -L = 560 -KI = b5ee35a7951621b1012f5e16cabe6c3c1228a62cdc81715eac14fffaacdbe5b5 -FixedInputDataByteLen = 51 -FixedInputData = a5750a1eee752379cbdfbc9b7d7b74b508baa9166cbf9cc351a84f5d86c0466178da1aaa5e4f574421fb4f45a756a0ab1c990a -KO = ae3653fd9fc6c885fd1a03e939e9f860a2a96efe8920c80e208b4454a99fb5dec78b7ab37491f8d615f8aa22a8deebab47f51d73350e4e49f49a19de8e28ebd5907e144ac6f9 - -COUNT=30 -L = 1600 -KI = 5860b9f3bb3582c4bf22e3e4b5b467886b6de3561015ced09d9834f22e17674f -FixedInputDataByteLen = 51 -FixedInputData = 3c30883bec925eb23586bdcec821d4ab7b72c42bb99e17d0d252784b3876786048bfb764be2111085578bd1b07402c0d83dfe9 -KO = 11f16cc9b141d54a5ea96909cc935b5d1fc2bb4a4fe909a32d085f27057c0bb40d0d6504f6040bb41086aae7c3f269cc3ce8a24027806aeb36d50873ed9b2a3fd93bc2d1a31e8f730d4672628214059bb3d6717ef2fe240129f0a87e7ecc3720b01463b344b8801022c3862f5c881480f54f52d7ec59800c70a968724d4afdc4d29fbfac1e1d111c58bbf92b707e3efcc9249f9e575640f5e0e257473f5fdaf789d2d46dcbf8bd5ea82b7c118e7b6e9c1226422cfda75b12778bd54cf46f42f05542cd93ad85be61 - -COUNT=31 -L = 1600 -KI = 52af6d83ffd6164d40ed68f3cb1549685ff7cc9a327fbab041214a8773e5df21 -FixedInputDataByteLen = 51 -FixedInputData = d44b497826deb9a9a6cc0f09503d080977958be4e379b04938966ebd798ef47c816636ab17562fe0111ae5baefc006391da2da -KO = 49643a9610229bbaf2f2e3af545b2751670bd2a3878a3abb0e2e8db4bfb158545ca25d0614fd43d6e1b5aaaca329eb900943028797d763b94f3323f74163538e4a3f360ae7d95bd9ea22b7c9832eed23ced9429b9941417b61686c9a42bbfbcfe4183844b3793ed119e4df213af3199c1eac3fbe7151327b3e7a760769b7f10c02a6cf4414abc4a1fc18b9992bbb94106243bb872b5a2ce3163c300d14a5256d9350ba7ba9aa2decd0279627ff1057762d277aef7f61f782983fa8b6a52a4548f2f169eaacd60124 - -COUNT=32 -L = 1600 -KI = c71b8156c1e2059caf17abdfdc122fc0863c9b3b7bb6ab23a08d82eaf9bdad14 -FixedInputDataByteLen = 51 -FixedInputData = 7c5f749a462df6e41c849e85a3e12564cff6437c72d24aedb670a8bf18afaedc71cdf00f6824f9cc5e55421a239af68bc993e3 -KO = 69bb7a6361c1bda671b89cb6e1e0123c80006b68684010787f7529e977054bf9271331a9608de786be12cff1c36da4fb0ad2574cdb6a07cb2ba69e7e50950dc06b59b341447479c90ed53c640112446368bb0f904463fa81a94ffe6444598691f27311d574bed7051e263ebede9665bc6ce86ec266bd47f7a436b0ff336d02573dc70ac8cf675b26b55d5147a437687cc899f7c73f496ee05ef9759441f8863bf87ff912c505757995818055473aa36774ea6c9a91ea736051e8451c08e3452431b7555c7dd684fd - -COUNT=33 -L = 1600 -KI = 543868ffdf3db371d9d7f7e419252342410658874de8dfa53268c84c358c5f0d -FixedInputDataByteLen = 51 -FixedInputData = e634bcd826cfe16e780c09694d3f6366a19ba36758cfbd9a68e61588e46a282ae4e9ee1151a67efc4287bf29757571975822dc -KO = e44cd95665e46cae08f65ba934704c97e791dc39ba020062c6fe487dbb0c0823b039668627b3d3a1a5e8c9b78b74b5fbd5d3a13a64a370046e9fb41b7488b3e64ea08b009b328bd4541a6d9ff7528d64538549b4d4e454e0003a7eae1f33bba011e14de51ec1693b77f08dd9c7f278744d5acfda0241efd86729b372d61ca1f4786f1ed48fcf20198ca6157e8cb8169ffe9dac1a041a9430f01a7334dc9c92e7614f8d28cabdb114dcc803e8cac3768cf48b1181ddf7c06d06c6adf769e4483467cb8e0c1001d0db - -COUNT=34 -L = 1600 -KI = 4520b24c74bed499ef8591545c19f292bd5c8f2e5c41b4731d7135503a3bd0b0 -FixedInputDataByteLen = 51 -FixedInputData = 4a033a2154359dbc520a000a7d805fa12f0138cf4920390146acef52890c3fd34394b14751df2b7e2308e5a4f651faf0edf180 -KO = 7567ffe7c3389c85c9568a18a5a355d1c6920ceba41fc4b751d83887fca7fc8dcd435b92cf02de5ea3aa398f28f992f4120f2831e2ff0cff569e01d87d36848c8ce981b3791768215bac86221bf15a29e02856d647f9929d92ac8eeb329e7b4039a625523ea8856f6088bc9f0ae603e90a12f1b431eb9603c4fd5918b4d7c24abb0842b7967bfd960010025468b9aab3731eb08653e6f0323d92405935972e76fdeadbf269df148436b2e16fe583069eb45dba51318bb81a6a71be9c8e070caa9875ebf663a11869 - -COUNT=35 -L = 1600 -KI = e3b8720b0f74d9b39a5849fafca63cffb009be79d977008137df269bb8415124 -FixedInputDataByteLen = 51 -FixedInputData = d7b2ba93a72d19073a7d64b12e292af3791c1a00d619943273de84352956caa6f4310d95eb62140d0dc8cd6bd55c5be47cf4a4 -KO = 98da23a2b7a061899256f659854b0542bee2f5b69dd7ce7f81854fa8ca5a599429da55158054dd80f4970a9748bc7128fb145b7404b44d5002c822be328c02cff0582e99d6ad296c542c604569d912bb4781f3102e19f71971c7fedcecbb3a4cd2890a8a2870c524e62cf87481329353e97ffd8f67e3b46f5381f8eba8d90c859756625a8d387acfa2c72ee1651ba452e1fb71043812c684019ec1f516e5bd82a65599631db87c645ed9a44bd27c27138cf67a013517631d86479e56cad91403672d55b1eaff2c11 - -COUNT=36 -L = 1600 -KI = bc9c5aa1c8fab0708d0b10eef2a676a0c94a8fc44b673c127dd49e374b96df78 -FixedInputDataByteLen = 51 -FixedInputData = db857f4be809860ff25b86b3099ad0bb034a5e6f042e05966a079633c90b95694947810811b3101a4284dc0bc55792fdd93ffc -KO = 9ecc6c0ede85999ea2c77d3158b6e207b5f0ab9a9e49652bc8d2b4781ef0afd7f39c6eba75db57908b10d818b3bb4f2688b00be696913a03d17b1ec61ac022cc5aaf35836eecbe58adf7e662749f087069c2e8335e99939e44fefce2e42718ede94a3c18797a0f2e94ff9d33ac27e416cc89a5454d06123c41d69e5201e45c7060b7bca89008277a3c756501af76f890180f87892f22f7f5ae1ac14c95b1e4eed47f6f21b41e8e606050c35ea5ac3873d05af4f227e76acdb4e1bced7662619c26082cec8e094386 - -COUNT=37 -L = 1600 -KI = 179d5a7810cf79058e011f3197f39155a75d72481fbdad6d1f93704ff3617054 -FixedInputDataByteLen = 51 -FixedInputData = 84ccc58db86981fbda97a5bdc27da3dd09eb7873d5c039bd47c973126d95eee2ce956bc3e208ea6ca995a78a9deef53cd3ab71 -KO = a8f948a0c143c08488a8e7b65dadeca0d58e51021274ee1193aca599cfbd9fa64d5706bd9374aad969bee5039691a8a9850ec49ecea467cbed706d445440ba7bb396c7062ce3879eeb9813e14c4beca28bf60c31b19f7c3325c1e34307bf0e68dbbbb4ca137fd40eb14e023a51e60f51e25450afa9692aaaa761d9316329137669c8709a31d8e903f41552371dc4be2b28b9bed7ec791701c1b4b93f2a30151d81fd575accaa4c8e24ae8e80761e54bfb3b7df33580f50ae14c654ff37e64e901729c9421637555d - -COUNT=38 -L = 1600 -KI = f20c4f08a33dff02ea5c07e6649fb70246520a5d09bd8dccf4463800c2ce48da -FixedInputDataByteLen = 51 -FixedInputData = 9e556723182e6780eb0847c8ccb0929183164398986eaaddb142f41f4fb478428965fccd51e2e6b4d0ba83731c6553cdcacf42 -KO = e276d8e478e81923a13f6c3a692b82b3a86caabf584551ea5a56e0a33ed64b4713a7c05c8b2c13de3466ff697232c0213304340610bdc51347fb0e7633f763cbd726cf24e0c83525faef86c496f28be782dbf6e9e70e2c73397df26d91dffc509779fecd7258a466330e7baeea97b87d06272bf239451c5d22c5afc0a603fa16def0547721a9ec278063b3173e4f32eb4524a28dbdbe951b93e52f72bd05544c34f42dc90bd63d3a9cff0e7720ac6f6b8353de5ed815ebca913e6e3d18c9501e0e8ee209283d49e8 - -COUNT=39 -L = 1600 -KI = 35a8ce80ec4cb63e07558bd891f7c8bc7993216f6949eedeb28baac0a44253e2 -FixedInputDataByteLen = 51 -FixedInputData = d8fe7305bd5ebab2ca6f162980a2b278cf08c8beaecc1e48d33cd0533ec661ff3360842a90edb534d266ff6ab3005aaf12cba4 -KO = f7b6b8c1a446bb63462fabe291e87988c0835daf017db6fdb07106c59016a3c7068ca16d35b6e366b8234fb14a1e25b5dc531ae5be4498d2c3dc6817b5095c32a7160c73f097cc8c01b8f6815620e1811028d435b6246dd415c1b0954d632e438346852a1797cc87289eb733db0099797c9ab73ad999b64116f1725b133d96f207aa0d925e9bd26d121f9548ac1e66337362ab7ec6234afdd56dbba9cf9d9e710540a046a15f811dfac3da56e5c16055afed282d2648a229578cb68a72948519e69c6ba93cdafbe3 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = dadc0b8cdb1edd7706edadf56f5c61c2262e12a491cdc4fc0852942d955fb71b -FixedInputDataByteLen = 51 -FixedInputData = 6ef98c4d98d085b2c56847486e8774c0c639ab6fe2b98e6560ff9a6d3d64b298471a6c9cedb94b28b4e875d60ca508b21acf3a -KO = fa55f907458657de81cb2f62df754b7df168f16f6df27f760b0d8a252a2bfbb95a7c782227593d061952c9cf57521a3ad623d343733e2ffecb8c9382b9c5617e - -COUNT=1 -L = 512 -KI = ca21ae58052aa956ced3098ea7f0be3e26be6d34c59a10170ca999775fb1f858 -FixedInputDataByteLen = 51 -FixedInputData = 1dd77fef41a8d67426b0a64c8e6c3a72a08e744fa87491621b7042c7f2df6caf24b186659cf4eb12c80026c0c73918b18fc7f6 -KO = 8e17bf6a71db492774678d05d38cc97f6586b010144397f965944128edde57b29084d9196e1065de1428cde2447a7a4a21b8906b96241023638430ae400dd58c - -COUNT=2 -L = 512 -KI = feb9dfe89215494ae61056efda5fb6ce9a03fd7f6ed8ee382db0ac666783a1eb -FixedInputDataByteLen = 51 -FixedInputData = 183e385ec192a7c28d1dae1170e4be1dda8ba7016b35d886bf6e35a53a4a060508f819cf64a7bd053d295e54bb95962258336c -KO = dd7541d49812fa3e839b6cade4859c3b9f245a731e20fa0ae471878dd295d24499e722860ec534f273636acb4a75a0608494ed6bab0658abbe702a26c99efbe0 - -COUNT=3 -L = 512 -KI = dde4a070ad5c5100263f5d89b93c440acea855d9d9bbad1be18b8eb01349c1d7 -FixedInputDataByteLen = 51 -FixedInputData = 091e61935d697b434d7afdbb3fc30b5ff991ea6a74b4aea17c9d0309cbedf4204dda8aa292c2483e14a8bea37b42abfee4f998 -KO = ecbb2eceaf174d898a95a0053814b2dee92bee3553437089b6b6ab5b9200fe7fc5d8545cf802171636db70ebb3e8b6c1422095c711bc6107874f784c411e75e5 - -COUNT=4 -L = 512 -KI = 420c4643bb9fc2256e20a9d8f7972f5be31b792de41845bf39af32a444f72f02 -FixedInputDataByteLen = 51 -FixedInputData = 371cbcc898639fa7d93e0e213c6512bf3bfbb31960cd2ce4d50125d17efe92325494d9d8924a86941af60aec72f4499666e5eb -KO = 550fb68706916ff8ca7554dc0de2944f28d81c0dd31d478a56162fde6a539823956b57bf7e408cd614986a6a267e71d694fd4116c7aebdd147a6140a05766991 - -COUNT=5 -L = 512 -KI = 9a83d0d70ce06cdfa5500a5f4a0f4ecfd1c085daebf76193e7c5961cd1ccc4ed -FixedInputDataByteLen = 51 -FixedInputData = cb0289cb445afc9741464219fa89110d79ada5d7752a6e9f678ab4e2561de77568befeb2f792863a37f02006af267a926f58c2 -KO = 4dca4531003cef46eb07c299d369956e3be9fdd7f956b7bd2fa53a962a8710e57cb5b2b7623eb7f6865ad383c21fddd4a1f3860a96063076c3202a322539b002 - -COUNT=6 -L = 512 -KI = 1972d93df85c1f4049a49d2fae228c69aecfc770f60cec600c69057b9f5d5140 -FixedInputDataByteLen = 51 -FixedInputData = 388433de97aa505f07d1e0e687571e23bb1053cc85e1312db8b6ea38d83466bbf44c85c2b1665545177c0be5fb24b61b8bbda7 -KO = 575f0459af2e730508e6ea76af3c2ede31cc85e056bba3afbecb9fcbc6ecc86623313af9f7de0fa8677f015879965ac78ac7526750f19ab8e042b2a606279410 - -COUNT=7 -L = 512 -KI = 0f2e05cb613029eb15445dced7fbb3dee687c1458056b2eb39859a01e833669a -FixedInputDataByteLen = 51 -FixedInputData = b1fa31a67608fffa7af3bfe11e75fd51eb3abaa229e065b2cee077c02c8386d17192ba34cc0db13f99d98c867b2c2f657d8255 -KO = 257b349ff03016f1592137d816cf8f973ebe94c7127a5ac8bd445e5d12fc2baff920e951dcac449960358eaec77587e0c5b9c869790506de0b849c7263ef48f6 - -COUNT=8 -L = 512 -KI = aa72689bf83e7a2a918e5ebc29c810b518d5e1f5824030b623a9b9f7bb3a6aac -FixedInputDataByteLen = 51 -FixedInputData = 8e3496d0798c7905ad39ebd49294d615279e98c0bdc5eeb2d3cd0e76e0a7bd271bb69ed71f678ab315e585c03151e504618148 -KO = bbc4674f42d045f320c49b9f23f7547f0d25b2ab42f79d6aea6ee4b8d38b5c2b7748e285424016b7b1c9a888a6e3c9416c043221ea46921fa3ce7fa5b43b25bf - -COUNT=9 -L = 512 -KI = 8b66b823f234bf371bbb27ee0a2bc8fa7c459188bd52dd7d93fcc2140087050c -FixedInputDataByteLen = 51 -FixedInputData = 34059d20443f998a1c90a5e931faf02ef5b5e8380f78ab5edb51e6123ff7d7b8d87f8ac4e323ce89ff8c7839720930e1f33ebb -KO = 6fdecc94dcba2f056a13f5145da1cc628594772a9fe44ddc773e9e8313c119ee636612aa6988bddc99ffceb4db08caa76ce5b1f7b4983da883c02658919faf89 - -COUNT=10 -L = 2048 -KI = 3c36ae0aad6e64281605faa998925edddcceca7fe3c10eb482c31bc75dd4e277 -FixedInputDataByteLen = 51 -FixedInputData = 786b100f688c564dfddb8147ba6c3252e6b8e30c78ae1bd03ae3ec01f416b4778c6bd757764d1a2e5fdf5b48155231b2925b3c -KO = 0672d4b99dd5ba5a13cba92b8f10762dd63b643b17426866ff58dc439e5307778e501c5583476ff39042f1f05229012404b6a54d7c81d7c8b03d58b430c85929878d4bb77048b0ea9451229b99cc0203bbd1cf499584477c979aa1625ce2a584591df1dc2dbce791d47ce2def812ee24bc2a00509513b2022b9b1c786bb4c909947170a38e41aa33c8ad016a0ee57eba4c51d73ecdb5452d2cc4ae56f8680399eaac0330c5161d37dd89d8fe68ecd8bcf1cde75224bc03fe4506f14569288914f0ee1dadf19d1b3727c1fa2e807fa8977be92c859131026ed07bbbe3644eeedb47cc8aa6028ae9f65c064571803bf8ead1fd4cd939d9bf38dffa8ac5f3c78135 - -COUNT=11 -L = 2048 -KI = 9f591d959053b09b1bd1ec38b8fa3254546695f20c3f1baed7c55b1bad5fc197 -FixedInputDataByteLen = 51 -FixedInputData = bdd726ce87cd457b68d6e7931a93539bc309455d2f3a32fa2aa45ce5b2bed579b9d174e5b44932e74efc0141cf0fc2ef97cabb -KO = bdb47cb728f82650ba90ff77a7f26eab4efcd301eea5fa44a46580aef25b0824d4d4d04a57613a750382e73cd84225351c6b3b0fbd01eeb4610664017ae21faadee1c9b0032011b38b8f3c022d2baba5ae59a97d2dd5daa6500a502c92ae4b4a7786b8c60c4fc2d2fe518e349f28d8b4a72674d6b0598b642794b6c6eeb48d48792bc13991761950177a9f5e33ac03e31da0f66d1a98a9cad5e26bb2b024ff708e379415cf50bf92ddc84ea6f6e70894c6d28a9616ad29973111fec1948cc72e848b93dd0a87b757a4cfece6ec3f1228c39921ba9021cfa4e89e346d2098f7ae3461c148d3c33290af8ee587c83356b98d63e4284f59159970a57cb387b0f4b6 - -COUNT=12 -L = 2048 -KI = dbca8a49c87e80ba26af826852a4941c5b220e4087b24bb6de2ddb567a4c44c7 -FixedInputDataByteLen = 51 -FixedInputData = 85a72151140af8e019fc032c035619efe18e9b17d5a4225d9929d391243e0bb429ae6d536d54c3280bb9159f76a4f75aad6aa6 -KO = 39450342366a9d905c075456369747fc0bdc6fbc726a326bf69a9677e02b471d46def55f4eccea4243e5e50e7a3219d656929788ae74c3c30215bfe4d7da43986ce12156bb38b054dce2f9bfd9b4a9ac537dcd8edbf62a25e9a9497551be584f7e44ff01e01001cda2f306fe705d487a3c83f3037fae561c48ddedd1f2c705e2269ac5caed15e88f7b0c5c07f29808062058634ab817797b3ada910e902417a154c3bcfb4377271f0ff15de5e9cbd4bfb5f8b48220bab6dbd532e87492526ff15300783d83edc4d8eab736795363a002896201ecac25324020fbc85942fb7fe6ae0c3d4da60caf8f95bde65abe9d7d840e57fbb8ba1a709fcab4bcbf074e35f3 - -COUNT=13 -L = 2048 -KI = 0aa2a2d6ccfb4c468e26e8093114a8b8a31f7386618f8784d0a0d6af4c9b2390 -FixedInputDataByteLen = 51 -FixedInputData = c47d7eda6d080b2902fe85a9ed968251863d87c7af116390928b91f347dbc25f143d50266f1abf63b81545d10e7cb0770b7cc0 -KO = 00f0ce7afe731b658c8e0f3db9dc5f992e8300767be8c68ba9b618c6ddb0fd3140d64ef097836fac6c2ea4e18bf3c6e16d8f69fa6c6a0eafcec310c72ea86d64aeee1341f3e99c991ce061cc5604059e6cbfe6423fe785921959b127ae8a3a343df153f0b6387b10e8db58b7f4d4cb3cc866b219bc6ff3fa1c3fab544b5f0664585d9b5cf658532dd00ac1dc64716a5f0f0e257f0f01ca21360e9894a5d5ee5d95c1b47bf71fa732d89bd743e31b824e99da4e671b3a170c1d6011ffb9ccb667e00c70c1dd3c37aa17e534fc029b02c2a6129fe7e909e8a37b6aaf7621dd75f588e1f00056417bec7365e05988fff74a307a88e389a1848b4cb59568412d5e40 - -COUNT=14 -L = 2048 -KI = a5579766dd32ea002b91a0a295efbd141f96061b6d1adf2d160e12d4cff3402a -FixedInputDataByteLen = 51 -FixedInputData = ee1580265336911c1bc51a661ccc577a28e08c9df274620bc5fd8e186550565dca866d2f865365583174824fbf281ec555fe80 -KO = 55107d3ceb8fd429d1785076da2d54c68313961a944ae30b62ddbb5583f072840c3d74b6743815122717c76298183187ff07699751843dd653f226dce97bcddaf912c1dc06cbe4a5f4f7ca6a5911e35e1b52bf0de8c5b12e41ff9d39a18ba8da6e9933406766d7c929d3acdd75b2ca91964cee7a16063a22562bbcdd6721dd522a91e190f46adbddc1a310cf70d33b188bc625e1becdef7c1734641a86090ddebeb2ed5acd19e138b1291aa21b890805b88e75958672d282c18e7675286afcb80e0d290893aaca4511640d1ab6db026694dcc2c680fc3434e7832eef9ffb26414fa175f1ea68db40743e4d66f2dd3d5289f0f9f0265e899a8f2d8ec1d6a0926b - -COUNT=15 -L = 2048 -KI = 9707c2c8ea358a0186ce2ddb9892e30fa919c8e15b63df1f15c1859d4b6a1c3b -FixedInputDataByteLen = 51 -FixedInputData = 380b861bc1e1337ff755f147f668605e501d083e9805157dc3d567c1e762dd4a8f0df1f407be7b6b397e63d85e33e51a52265c -KO = b0119c35fc8376d6f4d6c0d97289eee4dfe64d13e697cd34fd31c9a6890d6525c3dd8830f1a327e0694e7057a25f4ace6ff6b079b2ba7ae3c193db34cfb8d0fa2b023567648657d0a3e79062ffe20b63747c5c266c57dac5cc373c5a2c53a0c7fe850a3728a0f899f948d249860e1dd54838f9209aa20c38c467c72260e9d7f47bddfc815d11e31542671b05653ae403ef16c8f4395ae6d60772cd76f3ad0b98e56a9b52b5a92c5cd4546273e0655a900a6684fa9d75e10737fc3dadeabbf4be471cc72a0dc4ec69b5771b2930d5d66afdba8361dd3ca0feb08224ebc629726c971863cca5110a8530149dfd9459c6c70313402cac62942aa4771a1a092fa99d - -COUNT=16 -L = 2048 -KI = ee6affb68963aba6446457c7fd86a94ddbe4104365619c6b3a5803c03901c5d2 -FixedInputDataByteLen = 51 -FixedInputData = 27f572d62f6cca4728a18ccf13a72c9a08c6cd90d3ac78d10d752254392c88217dc1fa846445f4037f8c563bd98e2376c5e4ab -KO = 876d9ed1800a3ab0af980afaa3af86094c21f6132687d2735c4a845eac62aec7c821c69775ca03ee7ca417e0ee4359ae85a0b0243ba058aa27a3c63734479dc23759c1f8eb7d1d520cab329e26c177b866256953a155080c66121ee8db84b04dbf7e85866b065f78157d9436151c8a618a02d82d69cf881c4f0bafbefada07890f9ce43328e8834cebffdd61552d3b81bcd07aac20b84e71ce47b0e8d77b84e8e5435fde2e8213c61c80fefdc44de008990f51ce2d0591d3c080929f8f3872f6c960618cb7d4ddaf80037a1de499994c5c92572294e55cded932e90d64aa7c80dfc087098fd63aa3d9e6bf22cf4dc59657c8bda322d50a97d528dd6a7e3d285a - -COUNT=17 -L = 2048 -KI = 428539f261722d0b9d9058f62dc7d2db7d5626f55ec2d5f99575cc7862082db7 -FixedInputDataByteLen = 51 -FixedInputData = c6bd0e587bcbcfea9c3a8526053cc3c7fb3778ff99c5a916a3bfb5283e69f68ccd6e6e483e8b99a515143c69c04c5c49fc41ae -KO = d27abd05248861759f290fdc109184368d2ce8b6e021639aa6e4d6b67b2cd5968f453e7ecae40770416ccaa9c9cdc64c3c5cd3cfe1a923f0db47c73a26276f442d9b9d6723a17e9d0c47c0ee4104c52fab2df1e665004ae455bb7955308836d4d76797e3719a3d3a0de2d68489242eb221fcc0945d93f7b7cceac2fde03aa9c7859c7d1d19396582dc64c45de2623def0dcc8474f58da2b8df352166012d348cb7fee9d31491632683f881b1caa3ac14fed2521cb3d59945380cf89bd86700bd62bb035ad83d86cea8b29404fbc6d89a39f2438428a4d64667b9d17eed6db360d24cd13ff88d6c8a394f6b9dde5d961d574ca7409242abd5710e079171457b1b - -COUNT=18 -L = 2048 -KI = 1d2a027608d84639ec16ac8427f5e58717545ef03002d11bb85f139613455ff6 -FixedInputDataByteLen = 51 -FixedInputData = 392f630db3010732d36c8efe18f0c0f3a6c9fa470e246acfe090da712b46b75950ec37d94a50decca916ba68b0ada72d907a81 -KO = 91195e2ac32b4f73765113afd318706a44a066a337df9a3c555b90935e69096415f064163735c39a48cf4dd79d3c8bbba0e7ad8c3cb5cc58e8fb2d65d9b2863ff3b83fb7519fe2e46709e7a14b6d1ae5d7d18ddf459a1d8de660cb916e084cb33c22e5ef67bac1ca19683fc8b07d66d171be636bbaac4852acd0ba3ea63e96abb48338c7581d0c4b499412b47c9cf4690d9c3ccfc029f2beb41d41997f9b85bb08c02e0230e6d5d942bee36d53b653c0462a1aad70ea0335024d11cee5fa3c573986c511503d233c2b893c68ad75ab33af1db67c9662e72ae1d413a48db0b9f46a9dd5888cdd6d5528c782960cf0df6fa4c4a514a9279310c6e625fdea68129e - -COUNT=19 -L = 2048 -KI = c1312dc92fd616220c3fbd4488ee7a9366d6cd1d8da6194f5c9924c01894217f -FixedInputDataByteLen = 51 -FixedInputData = 4f194d3e5c56ade5a42e97c45a6fb1419f7c1805039b12ca7ea015542b7fe82839710a21c82432870bcd5d23c25023d35f5d02 -KO = 94ce8b1811577546ceb9164b4f4772509a4a88ceda784510ea045bfd1caa52431ac9ed9cb48f332fc85b34a3fbb745694cebdc64057a3583e62e06894ded33f79e51800c33cdcc4e5882fed653440fe214fb107ce79b691ae078ef0347c25863b608d21b680595ef5127d555287cd04f323312bf2581c983ff13b1fb177b9f47bc1308d812683937b5ab2a86181cff1c28d2795cd2c9b7ca3c46da4b394b9af3053c683957aef3ac0e70bdc153f33e2b9abfc8fc5b4a0591b882f6f8cd0b66c255330c9d887d9c97d3fe724826007101cbb2d048f08aac8a5ea778af051329b31aa65220aecada1d1f05a931ec1834bad91c1919679f20fbacbddefe6ee113c3 - -COUNT=20 -L = 560 -KI = cbc1d6ed024858cd6d5c6da18e203e0342d332a23e176c531acad6fc165c5b52 -FixedInputDataByteLen = 51 -FixedInputData = 1e0f0c2c7c95a8d98defdad3f92b7685d49b1fb7f7e2ad5622f9848c15aafb62bbb8f81f2b69c161a616248d5796c79f5dc547 -KO = f714cb3f32a2c884e1efa9fa8957f0570788cef7eeeaf36902e68064249a402b079178a023589d7d494ef759a436bb83a5d26b8443e67e46ffcfe51e12fa071d064b4f3adc5b - -COUNT=21 -L = 560 -KI = 6dd58fadc2bfb8f332abdfff971fa06ea72346a9ea30ad6ebae99354a850bb1f -FixedInputDataByteLen = 51 -FixedInputData = c2b75e69ab671d63ea003ca4cce80ce2cf3312d855a4d5adc7d619d8bf2a2e3cd5ae7f24aa8f72fa3657336a0fe9efb17dc54b -KO = 97a14a99fcea33a57abfd3acf7c2ee20109c91f37c6cc07b1651e3979401c787963250c05effd0fd5115b177e760990d4bde2008e87a924875f2090bcc923b98686a8463fcef - -COUNT=22 -L = 560 -KI = 877a83e2fb1b0a24c86c69aa1f760e0f917d7f2a08b5b7d8eb50944bfd371625 -FixedInputDataByteLen = 51 -FixedInputData = d4c7d5c4756a576a86b10f37ce5fbb0c0fc2688dc644a89e5e97243fa76e4d5a507c3517ae90dbb2fab6d27bd6434a706389cf -KO = 02aaa0902e2696d3f19615e3386e695f87b3c332cd5b7b2ce77592c384838faabe7c835a8f29d9ab5f0d6eaa3164b66c2c96c6ee12af3e6c762e8a7f26000ebd1e05698b57ab - -COUNT=23 -L = 560 -KI = 3651c44e1773f1a71a3c7ef5bb379fe5c5c1e3d57a7185425024c2087b7030bf -FixedInputDataByteLen = 51 -FixedInputData = 118b812b9551e91c5ba9f6c370751d41c0e7fec31def8e6b721117bf77c8db3cdd1bd633616f1c2da743754066185079c71cb5 -KO = 32f1565dfee1e695365087c16ba595b9b3deea1ebf78aa3bf8560cfb63ee9da61f927bc8d2506439a47474be95dd19a3a881cf01d00d94c1ea145e9c9b2765ce61cdd05408b6 - -COUNT=24 -L = 560 -KI = 893063f1d93609b82643d60436b9a0ec768cedbeb3a7d397367ecc40e016d3fe -FixedInputDataByteLen = 51 -FixedInputData = 90d58e8e87356a2869a7467e2a884d9649c08d69427a32acd0ef879edbc7e285307b69635c1d9b41c649a0de45e111ab82e1be -KO = 89608b76da97eac27e29793953bb2bff436ee57ae86dc8c80d9da9f86ffae4690aa829a14603dfcce76e8d759ead812879d09de6c81998502256d817e810ede12f1d8b7b709c - -COUNT=25 -L = 560 -KI = f2638109ba797e25aafd2837cdf86f413d870878bf3e4fbb29ef8907b4a767d0 -FixedInputDataByteLen = 51 -FixedInputData = 10a6694f846b4a7c0b93fb63a56464babbacf9eda26e4d82bd48fb5352bbda1cd1b1500bd256564a343b5ee6f94786f19c19b6 -KO = 2b6950f2022ab31fed92c1bd633395e54d1f88c14acc1c92783c0ee234fa0df1837e3dc3e7bc28c823aeb120e681e4d49db5ac02dae1a33bc451684a8161f84d44939c03fddc - -COUNT=26 -L = 560 -KI = 3a8faf344446d5917afaa36d16d36663c49a00bcd329b26049697526cf435cdc -FixedInputDataByteLen = 51 -FixedInputData = 63936b571cab2b23be5df1945be2f12d4b549ecde91f67a2df14843bea5a642f20ad1b19b5999b5b426715357f23724dd9541c -KO = 3a2ad5b4166585ae120b5340a8d2ed469bd8c92c12f3cee2e5e5f8fe1656529a9b3e1ebe23a628f747f42c43cdf12a63042e343c2a3d1630b183859a9fa49690699fc5fa3d10 - -COUNT=27 -L = 560 -KI = bc16f508126abc655c38d9bd65d852a199e97cfb9f090dfa3a57bc3ee6915145 -FixedInputDataByteLen = 51 -FixedInputData = 408387db70793b30ccc66a9eb40f8eb66c5a9306b4a401973914e86c86efdd405ecbe652baa4b6e17df88af0e294c87077d3f6 -KO = 90c7d65a6e6ef710862c49561871dca6dc67b5799ffa72120f5efd638f7afa8a1a674234faa48157c24e270a28e6841b9da1bc570b2802685b39bd7291038a888a4b4fff1f07 - -COUNT=28 -L = 560 -KI = 7d3f79465f97e57e4619f31e0a139a9628fec538c40bde67abde6e63a72dc2a3 -FixedInputDataByteLen = 51 -FixedInputData = da8e939a780b433a09e77f98cbfcbd188115b665c157294b9cde6644c42a06ee461b4bd288ec271712ea09997b64906c8ad4e4 -KO = 5919296d67ed7c3ce20dde3211b536bc328f97a03ac2875b621f57e939c79dd3e83eb86653c9297b35c24dae3937bf7dbe69be2e95a3250d5ebd2d1c18c2a10737657ace2ee8 - -COUNT=29 -L = 560 -KI = 36f6372324b0d6412844dca7876e1e83213632910b5eaecaefd82ada1c81cc1c -FixedInputDataByteLen = 51 -FixedInputData = e340f76e9978f9ea34a9bf2665ba9e5ef90cf8d3edfa850a5d45abf9feabbb0e8f9b2a98344b6e484c22e64c3dbaf6f08d07c6 -KO = 7ff3c2aa70d21fceaa58cdbdea4bea9a6da5f2e070e1a6510d649c54f4334de1f58f84afcae75f83779f708d8ab622a2e402dbc82db7c59726166e03b658cca49f51ee34a81e - -COUNT=30 -L = 1600 -KI = 6dd72c586d6acbb9b60354af4e5090639fdfdc7980a28d67f0af62852346fc27 -FixedInputDataByteLen = 51 -FixedInputData = a585650f0a10077e35ba99bb89729baa11cf985b3cdcae0bd4bbf76d16929c404d98271f8adf1c10c02b208e44f56c2ac11abe -KO = 479c9f82e8ec0f52d5f0af851c11e148d23c3079866ed810cd2c73228232cb2bfd9e1f2cdd10fc904fc463cc79f758c05aef653fef67e7a8a02ac2af95e1d072d0af7dade47fa4d01b2e997f2c86b8b206351725a6049b3540506e7d9c97bae9e54bee265983cf7ba571bdf222ae0d4f50a8060497a4e9569739771cc2e8a9b5d713add9998df4254201ceb1e8b3779cc977318c42eaffc6f9301dfde09e917b6a93e40ec173bc53c3722f21bcb062a8113ad5853610886807056376f4222e2ccf7900910b3885d9 - -COUNT=31 -L = 1600 -KI = 24801f5d11b5a2b8286c2ea99ed53ce80cfb1ef339ebeed3fddd40fd0c21753f -FixedInputDataByteLen = 51 -FixedInputData = 3a9bdb219823d7b1f85e5d48685d7d304ecb263f0e9e1a2c2c89d42fb935869cdf85cdad6e4b644ef848284db004ec49dd6d02 -KO = 2cffed79a63e331889bd371aba29b23540a6c9336970fb42171704bcc270b8ba130e0bfbd832f302678122f70de540f986843afe4a54e04a5f2cdd649d8fac78f5a94440bc49301782ec0add708506d6f3d7a8a34c49cd80b7362897054ca4398dc5fcc542a9b1c0aac7f2d8206f677f6111421b33775cabd7cf78b6fb3e140bd7a919831cf27d902c16fda8545bebafaa292183ea3f74bf9ab410d095570a771fe36de3a145be19b0e86762b974f82b546153d6fee09c60db8951026cd4fa39c824bc947765fe8d - -COUNT=32 -L = 1600 -KI = 0c62cbba2b306dfe48ae6ebe1b15253695c2d0a1656bed9fea45caf0617fa92d -FixedInputDataByteLen = 51 -FixedInputData = 52f8788db97afb4d08f7cda4490422fb0cd9fe3e985e5b2abd68cdecde09294bc61923e4cc14fbe788214595c2a5a41a251c0f -KO = fe6bc09bdb10ed11e6262fe21710aedb54d0c585f6d4ccbd0a69570d86d833069cecb7978bf54b88b4f8bbda4b820108deab9cc996a5eeb3e796d825f37a092fc982da2cdf78985001f1a7b5e7740ffecd7dde40a4d2841af3b0019922fa73f05b5b06ae11c7e1af04dfb3ada982f6aec18c50690beb2bf272f55b88ca6770961263ae532db8a391fff56fcdbe4a54f55db87a6efa03421c00454e1fa28d6326bd50296c4783ca29db964ccc3a4ef0dc4cd84407d3a20cb44a1dcb2206f17a9743b1db043e2faff9 - -COUNT=33 -L = 1600 -KI = e3f4e388f3eb4d882163b4a63365060a529e185ce82a530c3bcc262ac7f1b0dd -FixedInputDataByteLen = 51 -FixedInputData = bc6aa4c2fed0900fcb9c318e1753e3cca2ce3549a378a8ea015c14d85414b805d417c7f94b90d3d6de44e669312ed52ff354d3 -KO = aa0aefba735ba7a1155c5e39236496c54ee753651d661631369b31f27355d9777a207ae60d9c86b457b0a7d4eabf3aae51e450fdc493cb1996456165ea983a3329dbe72081f4938b562fc29b20777d794614672826b22d215c0d0ea268f6701108e932cbb9ac7d68576a0dfc0297eeb9e0425b7d5631626ee8cdc18df42771fabee45128baad9f29cbb7e29aac717f28e4302dba5023a11ce218dd2ad1a7bf1eeb0c90f5de5160bf6c5b98d25f565e72a9fa7310f189668ed01a89c84f83183900bff1c1934d3f7d - -COUNT=34 -L = 1600 -KI = 6a04d97354df74d19dced526a164a9078ee2c8b2fcc9b0e88d83bcbc46eaf3f2 -FixedInputDataByteLen = 51 -FixedInputData = fd718868ae41a2e0e35bbdecb2f9c7d3367a0c605eadb57a7e6b5558ef262ad25591ba0f00f8aad4a19fe3ccdca028dd256bd8 -KO = 5a5a9b50f25f444922445d25a6090230f538694dba200e47748e321eb640a3b56452c2a693514fe1c0d728146fd3be17d39b348d3f2108900ce75f621b38f0355e06859d51dac918240683d72f90314bd5119a8d4aec2c2f1925c6a3712e6cba70c61de3409d38a79ab8564d3f1507d041b24a6c4f43ec1ce412fee50c78df66b0ec1f156df9de50e02c9e3949203e366d10f03a4bf8bab7391fc3472e0836a7c217a907dbd904dff9e674684020e0b12611b9b2f124ce6cdc00dedc607d6f9c423727560fcb05ed - -COUNT=35 -L = 1600 -KI = 3dbb1f5e6ae4d0a901969382a51225fdeee8f3216d0af2b31844d8e5419b1151 -FixedInputDataByteLen = 51 -FixedInputData = 97e056f80f53c50525a60b1759c9320bee2503319448235065307e9c96f690db619510fc44acd6105be6060c02e9b6a01ffd7b -KO = f0e2b22c66dcb88330f5032e3609be12e07018b73117d9c1cc2b183b070f7672f562284f31472e884554d2f0e23115492ddcda97a7388864b8dd19c3647fb5e8536adf7eafc970e88cad9a3d254882f09c1fc2ea7bc6f555f4b6ec2504c014004d41469a8654f960d9afad68ff828ea64439df1b055a187cdec2d8c1f29c3e21ca257681693b7dc3a3f7f8542842db872ab52fe53cc7758b9eebb3696db7486762b4bd928137692053cc850545ad08ec01d65a60c41c14bff5dce948ea808823f7281713463daeec - -COUNT=36 -L = 1600 -KI = 8e1a50d38f56e58acde561098dfd3cb4eeaa9c8bf4f903229efd1bc49a498802 -FixedInputDataByteLen = 51 -FixedInputData = 85428c50ce8e195045526e4b76a27c2ddc460a1be88d6a2a36f82adf97fb9726aba94b9c88f1b38f8b7f00d1d145dcfbaddfd0 -KO = 29610868130f8cd6ed1ec0de79feea5ca69ea18b9228ed01654e931b8641cc6c45ecd19c0431c93db39714e82f0eba43fec2e7dac7de01387d5bcf426a0e8222c5044f0d9a0969abf356e5545ac11b8650d3be9420c9db13c3b3865b91e484b79611601dfee9ba561893278acc4ae0d4d7e1fc318819cebecbdbd3b951232ba89cdf011db7abb7e6ca57824a5ec9f12d793dc8a53945dc274d9c6595c25402adf593703482814d4d590b6be7a90ee7c32853e5e784a49fecbaaf96ce17a18c4ce5e4ca9ae68f4475 - -COUNT=37 -L = 1600 -KI = f5cbb9aa61afabd71233d3754bb19d51ad22fe59beaac31c7dee33bcec74a259 -FixedInputDataByteLen = 51 -FixedInputData = b83d66d89151c7f7190d7ef6424a7b1ef8356ec906bd38a53c1daec565a8f42d1c4b4627218b6eb9a226260770f8a1c9741868 -KO = d24f4d29f2784ca0b2110052452bdb1a10a7314f88acc83190b69941d569b346407735ff2b1e8ff7c45bbb133d52f5c2296f4dab326df867219450fd291460c6133ab0dff3ff709d57dc8c3d3b41a6efbbd9da446d8db6b172b5a6483f2b2b27af65158c907760bc1ae5a6020aa57ed448e8581327f9da809e9d5f8f713effa996b2a47d37414391cc508b23bcebe2dbb1a83d7b5692e78245a6dfd622fe192b93624096d3d6592a70132e8bf32ce348796eea4fa878932dd8d84fd5fe4e12e5078148cd8917aa2f - -COUNT=38 -L = 1600 -KI = 2f413a3c67aaa7f7f41f92f7c1e011b506555c5f1133bb6053e937155530ba5a -FixedInputDataByteLen = 51 -FixedInputData = 7982a9c0bb8cae610ad9bc64e1dbfca603e13358f46f4d65f11796285369a438a7376a94ee7843531d5905814cf84e67526137 -KO = e91e7fddbdda2652960d289fcfcfdf800cc0669593c0c7b2992d03ea242f4dad2f6edad34167b772201d6d3210f0de8334588cf2e5905ee53c07a54a5b44486d154b98928ec0105460d3a02645b380ee799ea47e5ac1ef3464e623ba25faaeffb644bde0ae9d46b6dd2bcad2ab060874552d9bad19fcc2a7d2af8c3d7d86e4aa4151277ed1d1899cc6c6a63dc639e727516f998e70aaa40cc52cb5537a6357bc75a3914237eb1a443391c939e3b74eb385279a9b344f07f4e27b8adb38185a41b9e6567a8daff62b - -COUNT=39 -L = 1600 -KI = 4c6a03b1c7ba6f421d4ee6dd28477a4f22191ccba8c07e8bfde3f662f510ca34 -FixedInputDataByteLen = 51 -FixedInputData = 6fa1546e2714a4a36722390c4520c228dfcc587d8203ca5cf5ca312fd2ad976acea4b0b450b6bad41a69065cfff9c2e4475aee -KO = 626afd92beb5f6c5bfd2255d7c71283432775efaa2a74e35fae982122a6f32351405f70b55c7d7c2a12331f0788ce825b916bff6b3edb96e65e9c29540f41dbd8f895509f241b6a2c233b7cd70b01e6f4783d2280ee279d2ee80855543ee04e849bb172a3d6450b176611fc6247133aad174d0bff598a51a2a704ff716abea873c703ef82a27c1340aa72e4753c916ebda44b2911d897876639d0653e05c2d645d9147d429426dc47b62f671594ef577f4d86cf3998b498c23437eae52656ddf69ca1b9d378636d6 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 6d22687ace14b1bec4a69a43d8f5f64e80f2fc1a9c26e4f07c612bd21e36028a -FixedInputDataByteLen = 51 -FixedInputData = 1b5a63c1f1221c0080412679dbfce69995813d441ac45aa3c5c8cca88a9fd94bcb50a496a8783594c2a9d1145cac316bc71d42 -KO = d9a2ca92243cc592dfbba28c2ac7fda86dc778b0773e675b9c3f7298d01b73c011bdb5b016c02902c4732267ab3940ee1589e6aba6e57841edac0528e676c1e3 - -COUNT=1 -L = 512 -KI = 65e8c28bbd1701a070b0c776c058642c547341822e545f8a469f512e181ae062 -FixedInputDataByteLen = 51 -FixedInputData = a1cfe875f8d5d746989a496546aa3d6b04f953bf180d81800e77908db5a1b8bb55baace9d23ac81b7f77251b5341c5e425bdcf -KO = ddffb6a811a68ddf11f04fc0c3955340f4f87f09650b61eda42a0afb869b95a308ccb0a2c9e6a21c0218f88a50ac2b2fda7b68177c42ee90210b3c504dc7df7a - -COUNT=2 -L = 512 -KI = 94a4ab95cf267b9ec99d5790b72ed79b42d3ec462f210969b1dd0c15211cea5a -FixedInputDataByteLen = 51 -FixedInputData = dd69eff5575d518ff79bdcf3a6ee678eef05e65f730533ee41a5cbedada7d2d74c5e2645e27b4f0031e3e2a56f063058f4dca3 -KO = 935f16bea094c796c2999ea84c536c854b90cae8b943ba8f0e32cc09aaa17bc9a3d2dca8b9cdfb5676038b4c58d264c73e930c7a38e4bf5fff3470cdd127cc37 - -COUNT=3 -L = 512 -KI = 2791b03d3f73be04cca57080451775d22024ef13a770deac22fead8cfd6bac7c -FixedInputDataByteLen = 51 -FixedInputData = 603dac8241c5602de1dd9d5bb732905f79d610b35b21d3647a8e2c5233d5902c257d6952d4006f144cde3607af759b81ff4ad0 -KO = 1e37570c4a1b682d0b8c50a64aebcc887a1a05449a16e58fc169774fc0afcd3c858beab260c4197920409240ec00c7686abde731541bc16262490354e0dddd1c - -COUNT=4 -L = 512 -KI = af5180f62f3e5cfc3bf5cbf6ccbeedd3ea883add9d68269ad118c34f5698749b -FixedInputDataByteLen = 51 -FixedInputData = fef8fc6629c08aa0a76c2e5efdf5a349bbe3114def50d36c08bdc637c39c7c31bb9e76dbcd8e5f9890df98d0f8987e8b5d8ca9 -KO = 6774c62fc1437293fbabddb40cce5c267397203db47604db54e06e6d5f2adf7d0923736aa0ba052b66ead16b6bff5c65f9170a588ed4cca5952fdadf4e5d98d9 - -COUNT=5 -L = 512 -KI = 439e7512058e3fe2e129fedec16bf933dd18e316127ef7a12ef92f473145c675 -FixedInputDataByteLen = 51 -FixedInputData = a04a1f044c9ea82f46fd6dacc0eb622408eb178a2be9cc02b1ffdfa76057522c0143ef722432db020756c0a481d065a82aed93 -KO = 7aa051bfb2a845dd0b3e1c47c62611cba6996d1658fa37ec48569485118c1ada2cbd6763cfa6a914ddbcb6229861af087664da8408b59a475de02ad3b8894171 - -COUNT=6 -L = 512 -KI = 66e17c15b90ca03cd370d48ba0684358f710e1fdb8ffce2a4a0b291aa73d1cf1 -FixedInputDataByteLen = 51 -FixedInputData = cf026dd4db40058b572f2111b4be0b497a69f453e67cb640141e5519b64914318ff74f391d4ca4642922fcbeeff24c12147d4e -KO = 05e1114f93845fcb33dbac7691e088c2fa0fbeda4073a8975bfcf54d42bb695087669f51d384feed1c4fc195f408e23f43d35f4ddd0c17575251cf5b31e6aa43 - -COUNT=7 -L = 512 -KI = 8d069dbd54dbfc80577cb9987e9f5f3ece88f4418c8c6c302337e7265640a560 -FixedInputDataByteLen = 51 -FixedInputData = eb4232baddb12d71e8cfd826031c88174708fd86c56f8b2fdf80b1ce5f48defc98f2a4f153afe14707c686fd1e0f1ae2127b61 -KO = 61e913cf1fd045b0f3133fb82980aa5b40f06dca89baf3d43faa88b5c70b9473e2ee813701d504c985a475a82aa325036578c4c2ffdde943458ea5c4d76e15e2 - -COUNT=8 -L = 512 -KI = b4077eb29cdc39d5e94eb4bc1fe736070a68e6d80266eb9845e54d2c9180911a -FixedInputDataByteLen = 51 -FixedInputData = 843002ead8e2b3574b74e60b8d3a17ee584ca5ee74f5fca64f30508679a26f14cbcea169336fa18b631b9d9c7d5b2286202276 -KO = dbf5c1fb01e099fff2f5f1c677f8064e90b1a99eda3ded927e3f930fce18946ff8d416630324e5a3d4e69540b36486392b4e44279273b8ed0e2911da618a2538 - -COUNT=9 -L = 512 -KI = 19743fcf13648af4aff0bced3060ec5f8bc294ad52299ede8a883a440315bf9d -FixedInputDataByteLen = 51 -FixedInputData = aa53f341388ba9b60b17eea55a7b0dd737080a4183c022b74816b36dfe8ee96b5cf908055e42eed20bbba8066d5506f488fba1 -KO = 771cf1c7b919d3a8d3c4950df8fc67a2b28a21c33e74b4460cb4200ff49b4035e665bd2cc2f8954ab15077c03c8a862f533530815223ea2219d4713c7f094af6 - -COUNT=10 -L = 2048 -KI = 6db602def3802029e570260b77e7a1c05122f1594233832f56cf68370ac231b8 -FixedInputDataByteLen = 51 -FixedInputData = e0e8b35b6fc911b7f18e02286e4e6a3f482b4f19fd9e7e834b39c7d8ea3ada4f204bbe0823ce031215dd02491c93c4245d0033 -KO = b530a7faa502fd3cfb13392a2d86a940795e8f4526a52a9b5cdc525b719494dfce298d14218a1f1db71a0b3cbfdc4cc94683fffb686ffebf92c60aa87c80d1c3834ce45cd1639ab24d34730776b9eb4138568298c495cb9733f1723caa1623934382aca7a1cdc6ec4ccf168cb18988319b315796301139608c1a75326a4343b8d9640c1c6fa7523693815bb1210f3423af20226a18740d34406a8be96b0606e4e105d7064973fafe00d75c6822085fbba7bfde2c8bbaf0186ed5cbed77ed0a34d0756b5633f4fdeec1e8a436a0e75590a6c8d20af077f9f73819a3a2ab5f8b64461b6d6d7400ff58fa7399ce2c3416a24cf47d1f6db73411eb609c3d2c927269 - -COUNT=11 -L = 2048 -KI = aa5928ba43a8a0aa9d09e99021371160b763d65f13d256b811051826daa9150e -FixedInputDataByteLen = 51 -FixedInputData = dca1aaebd614aac61931854123140f454acd31d33449f1fdbd91defc480fe53e171c2661b35eb64cc0c478e021293336e32c48 -KO = a7fb2d47867f01f594ecc4b4a182556411277635c5e9de6f96562555c3843dce037410b3426c1ecb93acf0cb271000601ff27bf455d054ed22da8e76c18a5fa9a6d81515275e33a14d377ad05bcc6f79ac0ed6013d69d3e9b159ff52927d9af6dee2becae8cf025de264f859f504a417a69d71e4683bfcc1b1d1ec6f4c2890eabf6cab4291d8d5626e2436671edefb9ac19dfbaa718f455997b3ce8ac5d8df7897879fd7c6039ccb0e425a6ca52a25966161bf520eb34e7ad940ab8fad5eb117cb37dd1ee7ad740614460cd06d3ddf191e433bb91bde53af146954fc60be60920b7287bb41ac79527055c8df52cf2c448839b8e7645c6a5e4a4d1ef3c6a1fbb5 - -COUNT=12 -L = 2048 -KI = b50f409661624f2dd28e9f0f864c3fe0199411e1051a4e9359b3e6e3ce686068 -FixedInputDataByteLen = 51 -FixedInputData = 54b336569d7904b0d5f4c122346f9d9466d348ee417498279248819a8165039d97a44480cea2665ea3796e7a660049ddabcc78 -KO = deb4359b64998f672c5f6ad4513e754c234ad18197b6cf3de6361cc1726d6f69fad5a6f2a16a700bf4d89c6d4cf299ddeaae12cf20a533ef6b46749ecf27b15723099c83e2b473212a14db2e280042d02c98f8feeba95b1ed5a28b2893af5277e6ee5a01c1b15191591851bd55352564de24389a4e8b58c91a0b0fe712cf6d11c8a18cc1a37816b8f569a4554b479f8859ac81f0cf67eff9c0ba3aa5763a5ca56360606d43b63efd13371633e8291735382f0f48a1e4c7eca25c6a47512ed30235f46358835c511f5060bfa2cf3bc120ea262d8bb5cf69de35829a1f67c844a0fcf6a109b22304e99a507b4bb401c05a848b4663ebecdb61055c6aa06102c8da - -COUNT=13 -L = 2048 -KI = 7d9d228eb82eaee584217c26fc37ec5497816677e78b68d01d87adbf048050a1 -FixedInputDataByteLen = 51 -FixedInputData = a51e59ca60181442d56f34bf0e9cb1a00b9f501674191a88702f568f7cab0fb6f82f0fd7f0f5df1c815dfd3240049d75a4117f -KO = 8bd923a9cb1fab230169aa9f58a76606517175bb0b5d30f060ac5098f53ac9063f91cecad4c854409abba4feca2f354bfd6fa858ecf4587f183103c325fb8114b64ca105535e2cc979d75f17992ba70d494dbe62f460ac1addffe2f0fcb34595a0565a10872699003ba0e3fec16454a62d261032fe1f1ee3c612dbc44c29dca20ea7de8927c2187da96d5b17bc0cf8c5eaa223d6c9c8a4201034903d7f85b12509e9500cbc6579ea9eeb33f62a3895ff72231c6e0dc4b30516d203fc9278ae1b936ef27244e38e1c223fc286601cd69d9b8ed3d9779b5c4510ed1e1155322d0febc2a9a69a7367a0b2ef19678188019c7d4ddbdae4030bda74b4e57d5f1f20ee - -COUNT=14 -L = 2048 -KI = d928d39dc677cb87eb12a3f82c666f1bc8bf72bea44d92db631552fc84c0766d -FixedInputDataByteLen = 51 -FixedInputData = ffe874833d2f6e148a3ea5c2d767afa580d2e88606da9cacb8c4def6b6e38fe19c4b467284c21d85f14dd2dac73fb9d4af09e4 -KO = be05357bc922fbf5515c1e33902c2120b70eebe2d0d8c4796e2bc9bd4b8468e73c54cabcad192ed1dc82045b817618f1c7ef7c036139b546d3a28d4f93e07d7a5f5b38bcded1c7b30d78804d276dcd36901ee9fb44298de2e12f31cb14482e2eac37a7454a1d2fe294a951778552fe3957f68e5f2d87d8f26a6a0882e9439dc9f2d603d3738e0612e03d7bd8d96523a57a4534935960b87f3348483baac08e57bf6a72b62d980e548f74e1c1cfd802cdc397ed4fe14fcb3d5438467258a5517cf994af537eb46e510866a12f83f7f62539dbe73077dbedaa8bdbcf6c45001c66c0fc7cd61323bdf627f8d7cdf83e595036bd52bdccc5dd120e27905ff6d34d7d - -COUNT=15 -L = 2048 -KI = 1946fa6052bded237998f6f2749b64ed1c6a690c4df44e54b13da9866f2cc7e4 -FixedInputDataByteLen = 51 -FixedInputData = e1d4b5879fa2425dec41a6c338239ead19dcdf8121cf4aa01fe02df8142e481b28fbfdda9eae1dbea885879d89dcb71dff10d5 -KO = 7f38f01bd8fed063bef0b67341941425f3809d25ab5bad9a15e47d8974acd797b3aefe15ed6c0d86701370c982d609c6cb5e6d887ec83daa5f5b23a402a8a178639c84657c290f94119e65dce2248f77b48b43c79c1ec51ab65084c230f8284e14eb701d829fb9d6b6f8a374858769710476a985674fa4fab0caddd1e6380167d2b09caf18ae8dafdc8029ded26d94f22b32fd3d5dc8bfcfe38f15346cf34780ac164e3f356f1206cfb485d68443320fa3459dbd10209b99e1d1e178f39d341a59093f4b7d69afcd1efded9c48826fcc67f1ef7ce2d584674ee0f64af9a03b944b8bf73fdf34a7fb4cbabd150493bfb9f36f924eecad593eabaa1621d33ae21b - -COUNT=16 -L = 2048 -KI = 77f4d5697b0f37c1cf20c50b633ca5ed3d5c1ced0561b35619ad8cca79f3335d -FixedInputDataByteLen = 51 -FixedInputData = 566f6432ae3ea2b17871536322d4d83e32aaefc40d26c5fefe7f0d4bfc8bdbf64da4415ca93f11f96781547024e21533ace122 -KO = 5804959f43f3566a5d0af627d4222e1921c24003f80d50589c2458a5114e6d0762bdf74afbe1d54176807cc63403398a1e56b43a008f6bb17a4504256a3131f3ee897620279328e09b9cf114c7f095ad99cdb14afcab38f7ce20bb813504709582823a6774c6f9b547a0ad187665950584049e58902bea95fde871fd3acf5bdc659df5dcdce8c5a589defd7fa8de7ae54e58e9178fc18022d4dc9f1e5742dd13a1c00d515e4343448cd8edd1765dba33ca53b32758f5798fc29e72dc9b2d45f4775a0a6aba98024feea30fa06b37c61f202755bbab0b0110a62bdcf94e8b0281b86077bca8bc90fcba09b6e677acd917f197490dd8db767dc1e6bee5c044b7c3 - -COUNT=17 -L = 2048 -KI = e0191cc11cadecaec5c1f542f0d9486d370deb99628105d8b92b9bac0835edca -FixedInputDataByteLen = 51 -FixedInputData = dd8bc5824009840e932252ce56f6a9a21bba11d66efceb392ab9c3cf9a308998b872cdfbbbf9b3fd3c3b0e7a84f2b0161643fd -KO = b3a0055c1cf31f1a3e10301473763387ca3d545bc5067ceedbadba345815d18bc262fddf571301d61699da1ac6acff436426cfb603a1ab3b7162ebebb378781d22cfbd0a615bb0399857ab8e4c66773eb9acc1a61ce51c7c2080c910412131c0b379ef39049a37c82bcbebb9bea1bf06562212530f4f2a283cb34e614a08d1c7caa9fd8c4c8a5ff3ae53ba9b8a1a7d38abe02e185bda0d84c186aa2d880bd6a6604bc3cb3f0eafa59a8fc35ca561eea21477b300aec006147195bc151b302f53abd145b721e37d0a2eadbe619261178f20514e916dfa844e036e222eab5b56153d2d8961bb0058b5124275edc7a7d2ad28f1856827132230ec32bfe8049da56b - -COUNT=18 -L = 2048 -KI = 9a8dc30d203a56498ffc36f507c81091f66997d4dcf4d278e9f68f4a9766237c -FixedInputDataByteLen = 51 -FixedInputData = a42dc2c296d33400f1a5d228db56c960c749aaf81478a846c31691e8c2422d16bc2cb6b308cc8247e26bf22a7e983b9d1472c3 -KO = 92355278a62279001812eaae48d4fc09b20b2f2705ef0c9035559b654e5100f9ddc7c0ffae57bb624f347511a076be2db7c70c4b0c7315aa6a0bf0e576f5f389a711ca284627eac5a4dbb8cf88d09486be104ec61800f59fcaffb6b071201484def2e74ac068eefbdf7b652de3a3cc6a3bc7c0dcd91c66e89b700afe53d7ef8f67108f48bc886e13bbd06e65f97fb9e75062857f6563df0031284c7adbd1066de957f6e303d0f95b78e05bec86b7c6e1003f058c9ec63036e50454e4eda43c149faaaa11ff5acc62a3175f0f5b85642cc92868912f1d0c5b92d82208b972e76fa329838a734398548d17ae2bad2ca7e238378c9b6d49d5e64f1cfe1e7dc061d4 - -COUNT=19 -L = 2048 -KI = 90105068e1adf90a7ab648cfcc2c9fb463fde03d53f495d6c61b2b0f5a245355 -FixedInputDataByteLen = 51 -FixedInputData = 27719f401ce193834294572b3efd8d23e3daca2644d98915cd0c58a6b193bd9b0d6b535179036447b8e4045be43a06c38266f0 -KO = dad1bb333eabdc5ee6e634b752a5eda862136ce005cbabf402c528295ee0f2e80fc7c27ae2988a17ae06e8cf7e8d41a26455dde927d95b4469b6bff84d7b2ee7d7beeeca4f71c26fbf5c72def394c67f6f731d7dc143660a3c157d564ada5d99c5c06918b07f29cb96c6997e23e955312eef9e32878e088a94d70c886ade0743abbf0ea6074b6ca35c6b9b26914eec0ae44f314198453823032e8be9e9b17f2256710f17683dc8620ff45eb5f4208a84c609ce63ff0441100c5950617f3eb94b461909fcbfc2ace63669f40a8802d05e3c5c6ef6c1e63569759cd713681407817f4b9cde869b010da2e87b37f2357368d07feb0c9b7695cd62a5a2a6dd59a309 - -COUNT=20 -L = 560 -KI = 434c1a80d141d07ecb91dc581b64cf34d31f7e5bf7993eec19ed857e5d9a830a -FixedInputDataByteLen = 51 -FixedInputData = d64e4438e11cb3a09334514d2cef219b21409f3238dc1a73789e9ec6822529f581a5e24343e3af5262eb5921b434eaad2aff8e -KO = d58c0c5b00ec23d7290201a966cf0e21c2437c4625f9c3989ec260a612daa9f2392d2c0905dee4fd0d5680c95608984ff0232cae4e19b58b1901df15b3093d7383a64955ece8 - -COUNT=21 -L = 560 -KI = d74370ee56b8e708198502ecbdfe7bb369b7dabb4040a04709c13d74bb5629e4 -FixedInputDataByteLen = 51 -FixedInputData = 0492ab2a78c9688f235bfd3439898e3ab2fad74bd5c02112905399e0a9e76fceefdad7325ff51c0c24d9dcc7206e85039efeda -KO = 43b68ee500c2031d45774b700bb4500107e9833539bc0aac06a43a1f4d24f9eb7dda24128d9511a887d8063d9ee9fd1e5805a842a69c23d66f1279071fd89781339824f46e3e - -COUNT=22 -L = 560 -KI = d500acf83755c415050d7d1a3d2c57fc977ec5a8ec602a341ad4b7f5bf6e3801 -FixedInputDataByteLen = 51 -FixedInputData = e1fa7d0112419c58b8cb61239badb69f2d22e495518b00829584b752f38c17d33aa29470f535bfe1c2fe4829c0c158adabbd47 -KO = 0e637747a273af7dd04f5ec5407376acaec11b86978389219eee7c05a6b30cde66c306e58a9c7d681447595d0dfdd4e1c0a7d30e6421cf944725ceee4e5ba0ddaf9562af3025 - -COUNT=23 -L = 560 -KI = f7efeac2cdddf4f0a8d97c974f3a23363ad98356bca77b995122ff2d03e3ebb1 -FixedInputDataByteLen = 51 -FixedInputData = 9418ca28e335da41b5dc74ee405642801708dfe4f152bb4ecf2bd771424019c45106768f91c94db110fe076b53a54daf23d46d -KO = 1cb2bb0b6daae347445bdb5e6d74b8f1dcf27ba33ff0101c88e9786117a5bc7837f22e9a51e33ac719ba0507f4f602bea67f79214590b12a9fd4b6d79fc756506dade3257539 - -COUNT=24 -L = 560 -KI = ff61aad0075c22655e4bc190aea7d37f8eec301539c19acc1bcd346b09250591 -FixedInputDataByteLen = 51 -FixedInputData = 9e71949def02f151d48bee3c7557879179b20ec22c327dae8e259bacc74cb36a9fed8dc1f25cce8e272f3e19f0787242983bd1 -KO = 957e69473da6bd190312430a79239c3b34dc2ae3d9c115109629fad05ea12efc1e613a19a0c024383c97f1e90a3052cd8543a95ff413955f64205766e4dcffe083dbab056bbb - -COUNT=25 -L = 560 -KI = c296f5c731280da768723a4e126d74f55f447c4e0ccb52387dd5733925b8c617 -FixedInputDataByteLen = 51 -FixedInputData = 3fb849457670a838859980c2edb52c765d07887be953f4988f3503c1892779c88dec22a94c7d8efa3233bf5ef7066d2c1fe3c6 -KO = 8b6bae9df5719516f87747c95af03a130030bfee9ab9fafe2b9c06b67a86d35b4c04ecdaab5dcb7278eac95f4d7829c1a730d53856249734dcb902ef2142a41f7284a0a90e73 - -COUNT=26 -L = 560 -KI = ec49694d1ebaa848b48af350d81aa137ee6ebae0ff9ea8631f720ad27c769f2f -FixedInputDataByteLen = 51 -FixedInputData = 89534874bbd72c548e73b3075ac6a58eb445ec352869b27b761496b35633ffef24e46b706b123ae8ce7cd32b95b11db39a0eff -KO = d9da06b1f3e8b73537810befa7dde5bf653378de1a3787f6c4e12d71109decbbe8b3869d64bb6923ab8bfcd1696df7af0a7a72e0a46cc03940fa8ffca82e0d36d7d3b0ef500c - -COUNT=27 -L = 560 -KI = 03ee794033d208be08c01e718ebbe98aa5c7e7dca58db8c9d736ad213465d7bb -FixedInputDataByteLen = 51 -FixedInputData = 808d6958962f3b6f7e8f5091f491a55ca95f755b0d6201bfc16782ee9bcf4658207e2eb6d4e29be8b4c670aa75beea34c9a30e -KO = 8000ee3af987eedc1930f8d56d8642d9d6e6f68a8f21ba6f2cf826600a642b278f9feb27f83576c3327ba6b14c1996a6a2ebd58212e99a143427392b2f7ee1d75dfc1a436191 - -COUNT=28 -L = 560 -KI = 71592d29499203a395aae96757b0a9376224d5b016c18f21c09b4bd1f6cd8047 -FixedInputDataByteLen = 51 -FixedInputData = b81e13279a1abacbb14f8d1e4b9c673339e208b809162dbf76cf4a096c48635d9e58e534563ceaf0b73c0a9d734c683823493d -KO = 2e287bb3ed9e74854d2c94ec442d2cd269db1bdd7613d62f78aae797d98e75030301ed905c2dec27545b1b6516c8604412150d4c2e9645cbed643d07deafe1cb22cde1d4ed2a - -COUNT=29 -L = 560 -KI = 1bac1e8c24f02636bd49863754f8e2fb8eae34f7ad72cec7e1ae4d8a84d0f009 -FixedInputDataByteLen = 51 -FixedInputData = 6d38240cf58678bbbf46967b96757a82bb7cbef302bf70287017fbe86682ebb894e894f3b50ebaac7e1a7dd5cf740f07191d98 -KO = f889b9a2c1fbb8605024c18a3f4b89c09d3a525460f3e1c0cc08d34be0c97a3ded1db7929908f29cf9b9e8d672e0245b552057783c74b598e0d4ecfd2c622648a215a360cc72 - -COUNT=30 -L = 1600 -KI = bd1b4c9e52d1dc185d25cb1b08b11763a0e1ccfeea6213b606b3827c607b28cd -FixedInputDataByteLen = 51 -FixedInputData = 5c5c6dcc2b87610dafa8405083ff7b526b946d2bc585509b318d5ff9948e04912d982b17d99e6ec7b520c977c9e53329c0465a -KO = bb4b3621d91a6c60f118777d3f7a52f1d02277350278f4a5cae101d86e181e21b964afccbc7a06772dc808b40372439f673b967d0b488218006e98ddf27867688d67c96e8381eaacd9133a15cd9072abff90dcdd29019675caf17345d84102f7c0663043c4f4ed887a55e34276bda2d491f0f8fdc47e22a81c650da60588f1a4b3c66fa054f0d275994d7ab40b35e5862d2ddf09b77caf994f93a78c250a037b5bc8ab3939e1552c3376cb509fbff797b5e825361b8bcb5abf0f24cb55ad9afa1ae667fcb8b8d4c0 - -COUNT=31 -L = 1600 -KI = 75081ee32ae966bc9dbcc28d71e1832e013b5f70b0bcd0d83822ac177daf6387 -FixedInputDataByteLen = 51 -FixedInputData = d9196262b65a614cc55fc1054e4f5af9a2076f37046ec0079d0ac1e2aecae13342e1492683764ea1d9fd583cb05b30a8d0cf51 -KO = 339fe6aa72e8b59289f700f1e575eada472efeac59666fe8a083de1ce8b938eac8cddd5b5d32528c247221840e19869c36aff3ce8897bad161712af3ea6d3d15fe23d2f940569c215ae9ef81ba178ac29e4c7d09cc3a83abbdf6b7b2fd29455fcbebedbebf8ac075819cb8361a0619f374385dbdca3bf495d3373acdde693bcd0511dfa60add797c695ab8169d6d9307e2e6188411961d22f6ae413cbe1c64c9e43b5c162609e13fb266edd7bfe51beeb333c42e52807fedd9212647f61cc6f96384204bd8035fda - -COUNT=32 -L = 1600 -KI = 0353b8449cd83aeb2078a4ceecf36fa7724de0c6ff98fd940c09256c13b36e1e -FixedInputDataByteLen = 51 -FixedInputData = 553d7971d7bee9244bbaff2e7c0d485ad5452b2b25e7dcc164e6b2b47a9b26e4e36f959636965c827c166d13a52cab97455d44 -KO = f253632349a85f17abdd35ee589327345698c254677d78a48f1c2e3c62ddf840384ea9eb768eb388878b06bc7f1a0e3d6a0b7192bb76149c04522f5f804535a555c4185fd9c90ee78de288fc387b026ead5b48ce790d6937d839740f47f2917261f3d7941f600379b0a8839fa30261b3e36afb88a35fb9cadea444b2c8972440faba7e3f40a216dc10c4a8a870af9d8d5a504c680b28ffe657142bac088796b2e4227809bd724ad7f5e9ff01c74445dca7a91f772ed432e2c09fda6ad09ce7d9551f4f37ae7cf621 - -COUNT=33 -L = 1600 -KI = 9465e847cc6e1b3e0d5bfe946bc09b3b942d9716e20272465d2662710f0e36ce -FixedInputDataByteLen = 51 -FixedInputData = 0548dd066fd03dadbf523ff85d53a8f49896ac72e81e5e8faf44dfe25ca8497e4d902c03c718359fe7f041fb0977bac7e9360c -KO = 5ec4342113e7e29de1325f9d9d118f31aa1b327ebf25925f1e8fb03309014ee2f7e3209fae0ec2d0f5d399a470c22919af3e941464a1474b69204fa13150f40152df53e033f219bbe5f009654e2a86f635685bc4119c65fc7c8bae29a0839996c95cc1c6b7f4b5c548a73a4da22ecbac60f7d3f38374365a01068c3063fa617a445a7efa852701d6f66dae1f29a2676c947df28b74ade694ae2f5a6dd71a9a257c1dd4b7bc794cec51b191201205c38f41c1140e95342effd8258071080b31c69002684c2a4a430b - -COUNT=34 -L = 1600 -KI = 5731f603633aba6e82be1dd97ca9cf4471f8cc6063040c0404d0a8670dfbbd16 -FixedInputDataByteLen = 51 -FixedInputData = adf8de7b441ac501495921ae7f5115b40b9fe5c42e51bd31a71967adfc49b347a0576700d34d82512535d61348b64fa4558ca9 -KO = e69af0b81c2d3c68e99c0b2995807c56b1dd7b62aefaa6fef879f8fb5b805bd810f56931df18b268096e9e2bae3a735d2ed6c3126b659660fd79f69a728d94c2a68f82ed8137beb2a613e16896e02b4c93036237fcc5b75dfd5cece75828008a5bc3eae0bd1efbea472dd6c5c851a5f548202589336b27a4a4600887b495c7b52a4f299450387ee479bf8863216f041c06f0bf2431dcd7575dd97d2252ed629747bb71558db1f9bd16c0914c0efd5c0606e95ca099fc254ffb082532f05756e02c1f96a15ef03056 - -COUNT=35 -L = 1600 -KI = b780224f48b89c849023ef8f83b71dc0e536207bcbe39f1a7fbb7fbc7a5b8769 -FixedInputDataByteLen = 51 -FixedInputData = 693f9b2ad65210c470564c3b359dcf45da25642f60c12ce02127189e6c1c58ccc78b73b4ba46743abdf3fe57d06a777dbe5cee -KO = 40f63c8ef9057671e4195bda21406f8eb06aa59195be4c572a9b82844d764afbe49453c679629b9b45c253d4f054a1c84fb49ea60b7e5a3e684a15d18d9dc708f64b2e612ca29c8f449b7864ce6f2252445ac64210983e59d1a8a9d569aaeb41f3e07c39940df8637e9520e95991cd53b5595f767d4715a87ea148780995ffad9f9adcc1421c9a0c1e705d9b1952e6ef0fb1521bc09ecaf769578938eb9099edff6b7968e209a0b77079751acd17444683711050b85e33c91a6e4240376fd10564e04c3792f5f670 - -COUNT=36 -L = 1600 -KI = 3c5d0e90ef116df4bfa5cac9b5b58752e19b3d3cf978129a46714ca0d014ab1f -FixedInputDataByteLen = 51 -FixedInputData = 325a5443642497491e01e65fe4fc03e8695645401b64e4a127a37425f5dfbb360cec40eadbc0dabf4f85082841e67aa831b180 -KO = dc138d8c02e161f481a4bc311e7e1f6408ca4a2da96b76f39edfe6b3dd7b7c11f2868cda71277811f1a3c28ccb7aa68cd754c70d094f54780710b3b190b705da8b468a0e787211e81f08bc4c5b86e2d34d1a3c302b2be3d8826c1dfa367d9798dec9a985c152708d1eaec8a86e374cf4aea8c8c08b82f8b6990c6a9168504d1d7d2d8bea88cc392a934790d5ed6846633ecf5b6771d8e80124134ba6d235141033153d09c641ff47cb54db1c9f43686bc223c117b3ba29961f622749981c81ed3aefd75a4d5d931c - -COUNT=37 -L = 1600 -KI = c83c469ba7650082034cdeb78caf0cfa3b9021f95ecf06d5471de3bfe0592904 -FixedInputDataByteLen = 51 -FixedInputData = ea90ce19c5fdd5aed674eec4a9a4c1a6d6783bf4c18f6b8d0ad7e5dceeb755501168e1f4706a331040011c5ed200f839daf163 -KO = 366e94c274d24703305d32d4a6a71ce07d389e9fee26aadb4f09b76c9bf8a11693cf4abdaa97d44f9aad84340a0f89b4fd66d75dec00780b3e8098e1d40c4d1587f1418f8c2c2e2b9a77de8c6da539970709b47c642659a40c220284d89e1eb40ebc0e6fd9c3f49f53d06b0e0b29d72d8256098648654490df21c59b36753b81935f78a31beb20ad01eea7e6b82c1791cd8315b1f8a8129a7ad3dc2329a93ae32f56ad2c2364c3b16180f5740c9b2fe834fa9cc1c418f5f771215fe309fc06d814a2be69366b9957 - -COUNT=38 -L = 1600 -KI = 51094aa4b52517e8a8d85dfb84c8d511d449f8b2aac21f002170b2db00d31945 -FixedInputDataByteLen = 51 -FixedInputData = 675ea2e955dfb659ae5364de6c9621bec2789e0bbab0433e35bab90c740e9fdd6ab5e37895deea659bea782b5bc1c49b0df287 -KO = 5fcddd57983f994eab29909fedb36a3549cde84d1bc00d56dce3786c1a1433119826c739ec057e3547e55bd88321940a78b1f8be614c78fc4533dd29c20b23c4274ebadb84ef2ca8c8b06d7ed91b1b00104a5ce7c311a1958534eb7cfa8191cf92d6dd12c43cde3572b70fb4b515b8e74ad1e8be6bbccca1a9a0d6b154e193821c9a0459229059044893efbb36001c60412f4d3a0d28f9cb2ec7b943f2d67473cf7e51eb907c557cc39430dd1eb1c9b5dfc0ab1b59f70ec521955b106fa736f43262fb976a026ceb - -COUNT=39 -L = 1600 -KI = ba258f7e2198375810d45d3f1e45f3dbd6d6a3ac7984b7d46e7725501b858607 -FixedInputDataByteLen = 51 -FixedInputData = 32c535a2f595d1a39536c739d890a755047351afd8c466b8bbadb9f1f1b13fc2160659580ff1e7beca5ec1b00b5969386a4a84 -KO = 57e79a40af31824aa7697565510c2ab6d23852bee440e6ce17b0fb01157882e5bd85df442effa63d0f5cdf7579078fe1d8f4ac18ad8a289ec8ab98c9273d578688ffc370cedaa83378519a71e69ae98807c37e907346d0e3f14a2802080f4b898d6b146784a11dc43a6dffb8e41c6b27f4e70fa23c6cac6f407ff4d5d7165d83649f7bd59419064c4ec93af8379c73505e8e9d4efb07bf5ac6bb354cd4d223be667c2ffa3068f8acf12dc1c4f1da60b083c6736a547e2ddb8c530a3e6866605016aac38c77cd1f0f - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 97ff2ee6d00f0b8453708bed5129981e0098b8fcc7658d00100f530cab1d3459 -FixedInputDataByteLen = 51 -FixedInputData = e66c6d1cbf096950189f6fda2e8e9eebad82563a7365ab0f1c2cd1e74895d1bc04d91e3ad957408266fcdbe7582df320a417bc -KO = d689e787c3f041549400fe16cc7c572f6b7d92b3bca294acf3c69bc0ce5918d2595c7f56dcfd920d210adcfec66dc4d176006fc58de0acfb24b91f2514775ede - -COUNT=1 -L = 512 -KI = e66f1be9f1fd6d33c011aa7fe1db6848fa5125823849944c4feb2ec92ed6c15b -FixedInputDataByteLen = 51 -FixedInputData = 2fab6431fd87e7b6c6795e28d6a19f3f7412d131867d6ac0a1b87d4178737351ff45ec47a96d0a0de4c64d7bce21946ec504a2 -KO = 1be5a719da03dc35c3c9c8a052a1a2315d1cff7b082f3ab3f680fd26615231fdd2f6906c33a7147b85771f48327cbcb1489c4eaff32b3a0887ef21a3d8486ec1 - -COUNT=2 -L = 512 -KI = 68477cd839ae7d3e4d71746c62ec73f80feca390c2b7b9c5ed7a3ff8a54a9ae9 -FixedInputDataByteLen = 51 -FixedInputData = 9c2e77b94d62e56bb0779d7e24bc9068c3895c6e7ce6a1610758dee466dbcbe196256b4637689ebec06c6b74cde4070bdd4bff -KO = fe2f0433e344e752ed1a9a8bb09361dc73338482d0edd121cbffd983f65d359645684e7e78cc285e4bcdde508ee495b4678bc91cbe09783deb312b69e9c8e19f - -COUNT=3 -L = 512 -KI = 069d97897836ca9aefe176e22606c896853b67172cad28a9c948bfd086d48573 -FixedInputDataByteLen = 51 -FixedInputData = 9b8927a1ca6f92adf0ccc12eb4c1062500a1d4a6ab405c1aecb76fb1ef2f7615e8756912e55ee3810fdbcb3638c6f6ffd3a905 -KO = ce7d29c99fb514ca8a4d11cbecf0d1fc3491eff69ec88300740051697f05b1a7593a18936aa695d51710b4139f4a454b8d29e32b1950bcb177670164e503e330 - -COUNT=4 -L = 512 -KI = 5ff40e0b943c2eb418655afbc4d3b2dea29b8f17fb75e13b9f06deaef61ddaaf -FixedInputDataByteLen = 51 -FixedInputData = c94555452b62626ae6eb364b930a163a0eddfafac479e39f2177bae70bb8007c5c84d327bd9e5555afcf101c4031dd5a48200d -KO = 2156ddcc750e1543e0b50c993ac6cabc12cc8610ed180945158da48ea96f0de1a8c0f47e9545d098202e1cbeec37243f4afdd631e0c99e21b26d9877b3af120f - -COUNT=5 -L = 512 -KI = c8b0f1d0ec2f6f746a02f01c13c7f5dfbf3245903821e576d4bba2ec4bc2c9cf -FixedInputDataByteLen = 51 -FixedInputData = 743f1e39adc46b2b7b308341254c5c10fb860989ce7161936624a75bad282abe6993c63c2e516a1c8ebfd126198fa18b4664cf -KO = 2082bb5b24cfbf61fd7b893510a2bab754e0474b0be1814bea6d9a53d3448246f13f229611407dfaa5bfe9eee56cc8b59b2826eaf7cfe3adb2e3b0daf9551e77 - -COUNT=6 -L = 512 -KI = 2075a34daec54cdec6defee6e01ae51103038cfa18d347150c66330674715e02 -FixedInputDataByteLen = 51 -FixedInputData = f22d11efebdc724822242414091c26d12999eb8ec2c7294bda2900e54ef60369be9047e37673be845f8676a41b8e144e9edd06 -KO = d36738486040510b6038ba156f7d73c5a09686138b779a554b39aabfd42b78a034e7e3dcb1cb35a03c6b322e2d52be73404855280e6abfdb02a47c4214657191 - -COUNT=7 -L = 512 -KI = 00bc8321a3e148b7507d7aec3011849bffa34499dcd022d080ec86f90208e72b -FixedInputDataByteLen = 51 -FixedInputData = 51a4b2f879c18737bd9b9be20f7fb83b052361560b4ada6b6f2aafd35c986f03d50b2ce85e178ecc2775dc81fc1ee2d449e2ee -KO = c31f14b245501fb9970dba3143ed9e4b938893d2ca480047250dbbc9ab83dfb9d84e6779948ea60d7c4dfc654ea982bd089bd1765fa231bbf0351d8c41460e59 - -COUNT=8 -L = 512 -KI = 88b67c9a0e677204ac3715cd289dc129cd08954d5cd30a90656dbcecfedff4e9 -FixedInputDataByteLen = 51 -FixedInputData = 9ecaebf21a1ced2cd34d6c1aa6f5ada7f41ff5eda18b89b8d06f546a46a48ff2e9064ac5d8d708bb4d1682a3c4353fb9895be7 -KO = d1cd6a2dc165ee226a846cd9a6fb20346a8fc1161e2ba065dedd8fb3aef081729b43d42e802bfd37205219543e1a787262f72d78fc5d9737c655589d00d0a147 - -COUNT=9 -L = 512 -KI = ccc673ab809db8c6affc0fd9e02c5161e80a9de75393e50e97a1398e6a75abe2 -FixedInputDataByteLen = 51 -FixedInputData = 5543d0e0e9a707e97722c75e4265f02f5c652b0d8f1855806854ede1158ad0270c86a9ceac1a9743ffa7ec0582749908119d7f -KO = 8d50c3f976c8f06731b439e937f807d2dbe2128848244383a62553b87a64f835f1e996e7fb9d88cd95c2e57605ab9545aa4913b5887ad05684d85be9ab0dc18f - -COUNT=10 -L = 2048 -KI = 8d5a4d71d45e888391d9087375253970af73293663560abecd21a4ecf1397bb1 -FixedInputDataByteLen = 51 -FixedInputData = 1f71d92bca65215c598626ec98a430ff52eb083f550d61816f97bd251b8be05ddd8973641a4906cf55265169e0537e8741646b -KO = 09b7b7ef2cffa7cccecdbb0592d029bcfdd2c18b79c8a4f4797f1a9872eb09100c9b7b0ba32a8e9847cc8e2cc4a0900c04f110e1822a12ecbc7f0ee134d5c3391453f8061b0474712979e01649d015e3696ce052fe0fb04a89e19fd330cd8a121f05477f05bed11c63c5c5b58357fb4674eead0855ed587ecfb2ac34eba1125ca6f699a31ca2b91725555cbbae6f4a94dc3c3fb9bbad0e5f9d78908994b9502a00f3552ac1c71c8ea09f8c2561775b20c07ac61f2748cf64d7a91bfabda74a9f55556630c50756334793e2200a5240a5a791e5eda9580d2da15807c0229dbbfbaa52310c9e1d745c1c3af6c3239f3fe07d521d18f5bb75589321504943a137f1 - -COUNT=11 -L = 2048 -KI = 1e2924ca534f7ac1ab9364dcbe85b69887a2c0b886d513826ca7490ee39c79ba -FixedInputDataByteLen = 51 -FixedInputData = 176e307d4fc85870adb9cb2a4be0394cd914f0158c356887a40b424bb8ff85ee2c2c8f36ba274a409d662101c13c7d184ae3f6 -KO = 72b0b3e42c6ca5fa368db23cb1bedc9b0667eef42db2ecb4fda7739758c329612e6074bddb57f908fadbcb1299ca6c9c8536355448358b1b5a0668484667e6aaab7e04b55d05d37ef008c79060fa079a8b6acdd9f4715d59c711465896f53c52208b8babf87b68472461fb8423a69fa1b9d8127268188b6b51bbb63a84ebe2bf3e06511a704afcb3538473d4dcdd2ab768b5fcd90a5d5c852da408a0e674466d85dbe2f7d1b0477a079a32931b323c23fa135dcb0a292274af27cab0139f2b45db167af1c8b60b9963b852508c1042a52d57dec41ad24e8d33624d0c301f16430b348581516f7276de105f5ab3db0e1386619c2cad14402dc1f7bae3abe97b5c - -COUNT=12 -L = 2048 -KI = 1385dd339ae2a0d0f65d8d14a961b841b48a293702b31a4503dd56506ff4ade5 -FixedInputDataByteLen = 51 -FixedInputData = 0f4bec08df8bbc1c0e8e22cd7e9fc254871c8e91458e297460a1b67ac7eb3d058097c0e7af9cf48af42eb27fe7e593c3f445e8 -KO = ff3393d0f17ce10e8bd9907ebb8b891b630d42236970f2956612df116ad36ea151e553e8bda1b9e1e8e694ceeb1b6ce52648e59eb34bd3d8b76a23db1b01ec24b095904d568788572ee4b82d322c77777e855c6e6cb6034c5e076d35c3d6035d0c0ecec7439ef6e635e95e2180dea3c41df2296eb61a8acef857e9c71d818b2f55f6d890b7e45a89d26153788c6dc198a6e7c67a1cce02064828318a23538212d2f15dd9ccae8e2fd88572bb68fad838cdfdef259ff518fd7fd50bb7468192a0be27dd79508baf30be2d635ec0b4c9f269bff46bcd103ebc30a3543ab614ed47a378dc869cf115d1e67c963be74d2d0fdf9692a70347d06a05d18978462ecba2 - -COUNT=13 -L = 2048 -KI = 6787f36eef7a2560b6c36d08b5c2f205134ab059d8c5b02a61d89bb820538792 -FixedInputDataByteLen = 51 -FixedInputData = 221043e14ff5b1ec421836c3a4a90aaf56bb45c141fee0ccd1cca019a56899dd59f0ec8bcf2a24f4d45c1ecd63a7f65b15effa -KO = 58e7cb3973ca190210dbdda54520d760ce5274e92afcfe8c791efcbf829ed34e5f3e5f6a9623c40301399246e752d94097961bee6d6feef1adad54c8b8cd810e319a938a500a38ca3572cea7aa48358f375b87ecb576b0bdb66162cf3b5c8ac8314bf8041631628be338fa96fed6b043b412f114b5f5e2d1fc767b7844f4ec90d3b374dc66a9bfa1577f91ad2ed000dc9631757c22aa00345c756f186e213a3757d767848c8f512924e506d8bdd3a20663b2cb5fc967af20aab3449f14e8d1ddf6e0f47e1786e0afef6d493d02f161d0f226c11acb86a0a7f94b9dde46e27fa9bfbdd6987258523290c2b6072e32be48821e1338142374ea7c7e5fc353e1f471 - -COUNT=14 -L = 2048 -KI = 338e89676df3b6cfcdf93e579a1e212e478faa9a325f3f2dab2d35d4b9e901f9 -FixedInputDataByteLen = 51 -FixedInputData = 1dcb96f2823196305e84ab69cd2126422772555affb0d8295f3ea0e0a11b80cf278b551c9717c7acdf6c19c99b5cf69c5a9f76 -KO = 5a85c029bc822aab8f67186b731533cd3d7c05066ecdd8ae28d3facb8acc059c3c705ae93de313a334d80fc1c84ecf9c52f663d030a1df2dbee20480f36a6a00f1d93b0c1143e67e0f39899e09213f2ed5ec308d07266866201543c0a84170368357972536d4627b1377b588a7f71bcae43cd55f5f6b13fa6c9305b4d9c21cad973ff8e25f5787646d117635e2066c9b9d87835bf2c0978955530e3dbac1b831f2b3a67c60f74b02a4681b078a460d8160d9a0d2e50fd27b586f1adb99c674fc14ec604f3b7d21479accb6b461755f5a96f938b13b845bb6e3c7558f8ade3404d4ca1b9b36924b6eb3272782f478f4c5f33efd05d9d604f2e6b1811838245590 - -COUNT=15 -L = 2048 -KI = fd7beb070aa59cdb0cc4222d16b3a61f4518883da490acb2945f01c4c3c719c3 -FixedInputDataByteLen = 51 -FixedInputData = faee0f21b367b4bc02fc0ef63dcaf909892d429a217e1ef4adc3881af3b71a89c4548c55279fb3b1efb302bb316e48596ccebb -KO = 9bdc18684da3242dae2bff1f3fe51b9d9b43b4122cfbe4a8e2d566c9d0f29281f7c2cfc293e83d05e323750d976fe48e0fb640d112fd47d691a2ea84ee2cdf66100e3ced6462da352d89e467a3243a944c6f0917f71a71eb8c833287ad96bdeea5be7cc7159ee63403f88d95856f23fc2a92605e0f51df836159ed3d3d686f2f0826ad613349b341b00df7daf8ae1e24319bea1da41e7e110ec6ff713ea033ddd3af74e8e779d34b1e762f48ac411eb5c3d85f172bb6d67af1e6bfb2e2fb7d7220651d03cb4172b78f460c9cbd48c1de6fad785f020962b852520bb7c6accbc1ca76f2603bb12c707f1e5d41723996052f4f28ba3718b898b2a6c788794fac36 - -COUNT=16 -L = 2048 -KI = 10acf50e3e1226adeb47f3cf710fb539f1e15e2fa9d860b7e1557a5fd8d2cb59 -FixedInputDataByteLen = 51 -FixedInputData = 860831297edb9c7a597db14a44d4c841ef5734be7ff9ead53c3e1705a68767a9a1befe464eae1ebd580b5f663dcc84e28f31a8 -KO = f1f0f91f80a962ebbf63ce5bba291c19be1cb6a7998d233a2a93800e8d1c10a0e72300a2a270e53fb00fbcf950161f2cb32288751ffcf919992855821edc77958de3581efccaf7046ef6ead4de120532fa90d1512bb7a043a3eb2579b710307eafb9d19c86c7b09415cb819448127807b0c96f319ee5704ae6b43673ee9bb02ee6a1cc543ae515750e2d8175ecef9af0b815060b29012fe5d11b21f8adb133168853104c41830021fdff508feaf52a58f4f099783e87238de07247cd913197e67a201b47eff93564e1ffecde59f415ce6d2edae82af6a1d82b6c9fecaa5c50e20219d586fd37196533c80cf658a53d6360c2300214e1a008decb3a4e16b189c7 - -COUNT=17 -L = 2048 -KI = a3634c152e5b15e5839f4a7295ffd11fa815223fef84004850319408b95fc84b -FixedInputDataByteLen = 51 -FixedInputData = 4534e23ed51ec08dbd5893f0059c626bb5b81b96ce3a6a25f5ffc72cb33bb71c53c876e3b9b61c52f73ba8e530603be43ad94d -KO = 49425e276173c02006a1cbdd46043fcf37fe9c6ee9e4376ed29bff3b20717b022037409fd423fda1830e85043b55908a1b0482662efb22ebe11d4468a7099958b2c22224af6bf5c01fb25acfeeea8c36661107a674d2f26d839211d6ef750f836a18e4768cf271672e470875dd3ecec99fae74500744d7aac723c3e96e2b99aeae26374bdbcaa719c00355e46ee80c27bcfd573293c9105db4436489f0e001ef13951395838ef31324f27dd700bd1a20121c732e9410450bd6a0d93d9100cb7cd671b100a8ddd9a89258c4b7d971f75db40a452f769bd395d423d7c02d58db6fbd700280b5629743c77427c192b7ca4d80f80215e0fe62eb01d25dac220c952e - -COUNT=18 -L = 2048 -KI = 285f2fc0b85255abddd735e8f98dd58a05189d7b23e086ae4656160dcfd8d44f -FixedInputDataByteLen = 51 -FixedInputData = 4000c0cfab6443f285ad3c28d1b4bf48e8e5efee7d33d5f5b2fe9363891715378c51f10e421234fcff9dd04e2ac65c43b93db0 -KO = 0aab2a5eb8ee20f0becea3cb95f2fbb8df184a7c2baf5b67048ec67d51e82e97e593e8557963fb81221b6368516bbf9e840ccf376c01da31ade5b55e1d797941a76a67a2ec065214cabcf2baee304ead8cb2b852138cb1e29be8255e8e3b9c34e9193359f6eae55acc871ff03db0cff9e193890146e84e1348916cf7285cc80773c25fa2e7ae8e1305d424eb9f66fb67f50d2f500aa9323a2e7648e946c7844f43ccf13e2f718a04608862dfd2446657968457cee429ee2ec519d0ad677d3792cdf262678f27136e7310c97a8e2cda23bcf67a08070819c4c14f1be97f69344c5b10ebf5088d7418a051325b7c32b38c1f940d66e95231c1ec50b2eabe804d72 - -COUNT=19 -L = 2048 -KI = 92f6a055f3cab644035a9564c96c0ef095a9a4f0e05b02647918bdd943263b39 -FixedInputDataByteLen = 51 -FixedInputData = 882073fa486579ec8a9879dc317d00d07070474a6c6360fd332782e965931d395e6f2cef553f07b4bb93c81104957cac9f0f13 -KO = b8b7268cca65650acd2173d599bde668d57514123615381aaf74b9cf2203596802405b72af7ba1e7656ce5288222736a8364a262645f6f1489854cb85027e70784108619a964b73ec4db5b1872fae65d38124c5bfcf76b242146f0b24f2c5ae4b563065b4d6745d56051cd190cb985111f63aa0e19f37182813a52727d256a2196a995236ba621ab6db3d92dd954c5a88161f96eb80c7d646533503c81d6f299389a623cd6f3b8dc8f81decd8eea720ef02d3933799a4c7fdfd6c4351fa5bf3a287f59dfcb408ffde8ca888c363d1d98e4231197d1dbc6132049d2213dde6332c8a4baf211beda9d9fb559c2e8189ee052f6fa023d8aa3714101d2e78b3f0257 - -COUNT=20 -L = 560 -KI = b40750a8f231d8f8785dba48fedce5500e44aacf04b1e572e265e068919c604a -FixedInputDataByteLen = 51 -FixedInputData = 103654ea51074c8d571bde7a372bebc085ee75bd7cb885c6cd882aba45d6d75fa4a69774b5b29f0db64aa03f7ca556d0fe6172 -KO = b3d33b5779c53963ef7a7a7a111a51cc51c1b12d7621f6f096c04bd339937c360b76ed82966d55794bf041fe9ce29fee1c94782176e4789050418e9d1946e534674be6855352 - -COUNT=21 -L = 560 -KI = 8e823767f3de3ad38f0ac68a6a8e80031ad0a2816a50548c8229f0bd9d01d675 -FixedInputDataByteLen = 51 -FixedInputData = a9f000e10ee410c218d1d762f50e245c09037636cc7f152fc1548c42ab8fb63b36ec80f611ab1cac2012d838b80d7fa5943ce9 -KO = 4ec624afe35002e821170877c12521ba2d5b8a93a5b194daf53c5bf34d0f929613d1cdfbef44c0eee15bb22694d1b1c4eef3c0e4946a72d7d3c28cc74d4a9b13dd9bae61c383 - -COUNT=22 -L = 560 -KI = f928b2c7d9124ee0841c508d7c4b336be1a2b9fe0548bae6bfadb6f182d6cd75 -FixedInputDataByteLen = 51 -FixedInputData = 0ae571cbc9ac9f827a85006d2f8e13cb3bc1bd3f177d0c4e1c7f7edd3ac927e22ae96d5a3ee8256daacd03f3ec6d08f8367bec -KO = 9372998d5a0ec54adf970253d9ea595245cc406e83472ba00f9a951f5c26333ba30b1dc7ccebf051d110ab44cbad87189ea7dbf9909c3dd75dba63e0af18819ad4fadf6ebefa - -COUNT=23 -L = 560 -KI = 79539633d0eb64101f071a9d766f832ef8ae0e7eaeb33aa642b6660f1886cfef -FixedInputDataByteLen = 51 -FixedInputData = f3ab8259aaf5c0ed80c0c8f5c48fc06b37be163784a5bc03de8bed45a88c13d04aac66d84f6f18b12c9cd0e12c9c56e6ffef9c -KO = c5b975c3fe98d60e1603a12204a73dcb249ec7d5a5291c1b9aa73f14748ea9fe335707af542bc212f5d82c7680adf8016c89221e85046142ffd2dece4d222dd40abf54317faa - -COUNT=24 -L = 560 -KI = 42290b8f9baf9adcf52ac2b5482a1d8e7c93d1158fbc49a2871be906c00d37f9 -FixedInputDataByteLen = 51 -FixedInputData = 175149f04225a74f2e4eb2dc2e3730ae5430020b6682d5ac1785ddf01803bbc5e1934195528b5a4123bde1ce86325cf063ca24 -KO = e7cf64b2ad8b001caa382b1aa0a78ffe8b89c865bb4a28f4ae09ad1c29a08d460ae6cc32987208fff8f5e26f5111871fb944dd7e8c433c6f74f51c6aff015ff68c05f13fc673 - -COUNT=25 -L = 560 -KI = 3f5daa7a80dc219631eeeafec893b453750c86f2f2838a7cc22a25571a71aec3 -FixedInputDataByteLen = 51 -FixedInputData = 20393f5746c6f4c15d9b4b4b90798b0a6795ac8bf58cf5809ef89d8ba2aeece1a44f5276b6b380706e017627252b10e82d2a84 -KO = c995e2ee17fcc860f06f1b2f6471f1a46c6d5eb2bc0b078bf4134a812595942754b7908d81082509c4f1aa4c9e56ba3650ebe8dbcbc7d42808b6cbc3835f85b01b9160c19d8d - -COUNT=26 -L = 560 -KI = 32c91e83b94b0ff2fa887f2c90d5cef7586b67f6cc8afc414dd1fa89f9b90200 -FixedInputDataByteLen = 51 -FixedInputData = dbe093a0540db59a8fb7f1fcb822c89ce070a97358853d85a46197e737c8094d091131f40f9a9d665bef1e1b6ad35c46508f35 -KO = 99fc15c55ba7cec571a3ac672c21327aa3268a9ebf6b6d79f6b432d220d26e584122e5e74d1e2233fad5f093f4d8669d513341fda426333fe57d7c6ee1ff59702bb8aa5a7347 - -COUNT=27 -L = 560 -KI = f0b8445386ed82637252410de62217461bc7b42a2a4f06b691158e23936bde57 -FixedInputDataByteLen = 51 -FixedInputData = 8d0ce0dede85f1bbfa2092d9770caf9387a51d26014b8fbfde644375b093549b4b3c60fcb9c7be5f72d442de1725bc8c798153 -KO = b1c29f3dc23116d34a937bd11d55f2237d69e3130063121310de8d168342d385e68f4f177a922b0091680b1eb322ab4f417b8d1e946990cfbbddefbb5978017a9d4b429f14af - -COUNT=28 -L = 560 -KI = 78cd6640de130c76251e45aabce7d806b81398539d1c7feb550ef1c5d09fe9b1 -FixedInputDataByteLen = 51 -FixedInputData = 34d020e88e24f0250f620a5f033bb20217557abf59b1f6bac599ff7f996c9aef5128e1d869276890b29fdcac1cda0840092570 -KO = b78cbe25a9f5856515853e0aacc74a4432dff7758f25c2d7601565b566c60dcfdf8f04df0f9bf247d5bec1023546cca0ecedc5d257e6d8fb0e1e19baec7c3eddd642e48b2060 - -COUNT=29 -L = 560 -KI = 3f7d77a381c24eeaa762e8e14006ce0ee6bd4a30061647317c6708345a21ea87 -FixedInputDataByteLen = 51 -FixedInputData = af1c5f4b3fc48273f9287a25662ea6a3b2c511ae298ed853ced8018856f17f5e45fc145cf61cc97761f12b635ca031798848b4 -KO = c5f38ae8fff656e1a48ad7e2ae3bc5a2dedd74431c4e9754ed982815616f976b72222a11ac51d6d9b5447dbccd2f6089ee22e843f0c208a64b2920290e2ce82296d58bd89a09 - -COUNT=30 -L = 1600 -KI = 5257a47a16316cec428c1e46a45ba492238b0272434552a9bc718dee8b4b8fd7 -FixedInputDataByteLen = 51 -FixedInputData = 0799e19624633d1dbdb064ad87f98963d03da11e859084ee8ca0eb3ef4097f0f3a3a63edae6896f6db862049ad4eaa29bc27f4 -KO = c9b60551917046fdec6f45cc893b72293dc4e2d083c4755a0b2db453262b636cd4e8a9575c75250e8a50661349261057dbb2bb6cad2c5c973b82bc935e585a01e7e60fc42a4d688f4072804a321ab73d7f7ea9523841c11b7911264e0318640321d24225c24cb690c2c045fd31bc1de22a2c18cb2ab96ab3446c0f4f4f56cfa0ccc7331f313e63fcd7e067f07d7286ad6a019974f2faba817362eeb4bb3c23163c8dea5f4e9a11847516c7860a36e0999c893c7b9079a4bbdb5ee1fc891704bf063cfdf235a483df - -COUNT=31 -L = 1600 -KI = aca5b3713a982c44d1547ac0aa17c019fc29186bdb0512b7dc204f85fd010639 -FixedInputDataByteLen = 51 -FixedInputData = c0ef5160637a80613a319b877d2ee086975183b3a139ffae622643307a0da6482289c3ec091e9ff3fd55e3ab915f736bf71acb -KO = e92bc1f7c2302d0d4f391b254c39a009696270926a15dab4661b5975c1d7b2e7f52cf98087f80d476d387c1424a805013f0223470d94144cc19d17a1485a91b7d5f98a0bb80d7c6ba7f9c8bd2c3fa5b06d7de359c7428dcae0594bd8ddf60ab5ffcf9248136071bc1f769e6406602116cf97573ac02f5bad21eeb3ac279fbfa8ace201cd8a4d1aab229881bfeaa8e2e51c688836d60d1a69aa7646cdb38c9481217990edaeaf3d523c4800781ad0a08ba824ecda3acc8541210a8d51419ae5d39ce259d1effa3ec9 - -COUNT=32 -L = 1600 -KI = c6b2363d77977ed1865bce29008dd559037eb2c3f3335529cf430893f48cf121 -FixedInputDataByteLen = 51 -FixedInputData = e9a64f9b998f15b9fd442b5464bf3d38a8b67e88c915c7c17d86c6e52ea185ef82ad4eca1b8810b529e5d5c5543d5d11a87eae -KO = 81e050aa45a45605687a61eaabba6d79eaaff396f13c55631b6af7f326cd1665e22dedf96410a5855a3a91aa55176c195f9ad32aa56851400a6d5ffe85bb9f626db416981c74aa3c7c05cf53bef91444f0f6cb45092d5db33543cef43808ea79cb3fe32cc5cdfb98f8e86fe28b8c4fa897f013713f5053bab1b4dbb5c2921e966a45075692e3d6c4b80cb33c3fcba2c3ac3b5b5fc8fb25d75c638d16cd60488582f3165088c3c790c0e27d1320ba30e4a0732c479931f6b7972f8e90b70fd65c362369ed004075c8 - -COUNT=33 -L = 1600 -KI = ac96400941b94b61b2d85037ef78848b819b354e461a916448f9983e9e0be9fb -FixedInputDataByteLen = 51 -FixedInputData = a919d88d03b5eb95a988b7c242f2804585c894712d0af5c642623ff459138a4cb19c94742483561c17f542781573a83fd8fc25 -KO = 95d1854f31cfaa022811595c0e39b667631633ee9e1f3810b9709615e58b166cb3a487f4908096bef849c98ec79481ad63fff2bfcea2f49dc450075c8453b7e3091d4e49208779afd0348ad28de3c6bc87f3199288c304677ddf8b9c9beecce3010dc8712974ed8dc05b51d71eb1dfff759094499d089acc55dc98d4fe8655ca2c26426b9da804e0c014d6ff26727050e7a78404356a1ac74cc86a4986ab1ebb8856aafba3fa9de3215128ccaed9b9769ef59d57eb66b6c7d2d13a17b2205834300cff7de057ec78 - -COUNT=34 -L = 1600 -KI = 3522206ae0243efad388b53f949ab70deec1d9f7cefd96787afa03bf3aed85ac -FixedInputDataByteLen = 51 -FixedInputData = 875cb3c49a701fe6f26bada7278654d0e1ae340e2f6404d9b0838b1aee348c080f75f06c5fd55e9ecd4f3ac22401c1bacb8641 -KO = 6b80b06ece56c4eddf9d6290b2ca64f522b4e11af60e5b64f6296706b09eb4bb2831edf7fd455e492f8e70b68b3aff811ce945a899d0611b05a6cdb6d1cc689cee92940592c6430d69b5e083edd28fb8cfa7c6bf2856689113656ef65024862bfa571663cf310067cc6f8bffaf20dff6e714668a1a1c16ea28c2c4336a8999e6150d91107d197cad043598c9e9864a177ab3f85a2e7a07538735097b501b258b88ed41bc2bff532706bef0768ea0f50ad821b83ed948598de44a298bd3cecb2fd253357730b9263d - -COUNT=35 -L = 1600 -KI = ca7636c98f71d11baf12fdfdff122b2d83c60c2de6b99c9c7f5bb1af7ca3598e -FixedInputDataByteLen = 51 -FixedInputData = b3b8a0d623de10c840e294f17fd20f88dfa7618d67b9e93979c3bb69199e38c15c9e158009770a44e9748957493bbe50ca029c -KO = b9626dc8fb4d6c131c8d88118144bf927d77303e6faaa332422ad2a78d812d87b81ef1f2e712af35b5a583ea3c98a011e5c095e945d385bbcd527cecfab95f1a32d9c363c630cd8fc6dcea696682536bb2206bb944ae85995cba4b28553a0ab933de9d65ccd3450662100403823810920504a06c8dadd4d8f61403f2af060bef73c0e8b14d102f26f56cbb36377e3599d06a7527345a4036751ccb804af57e89dd93c1cac1e183970c885654ad855a4ddc84aed1cc1ad5390378172fafdc76c2fe6a713ab89b0a7c - -COUNT=36 -L = 1600 -KI = 31ac3aeb40f2f66a09323992f405519a2a7fda3d6f793be83ca4fe8411005c85 -FixedInputDataByteLen = 51 -FixedInputData = 4673223d9207f9bbbc5843a6b18f29807ee039cbe6597884ac2aaaf961f75d148b4904d6b0f765f10eee2bff9cbe1fe20b09bf -KO = bd33e6508b0c279634d60f58cb59a925ecf835283ae5e93da4907179a3a920f1aa068698b747ba3db2ae71ece97e606f05fa78db8cef15982997396fb15819ab8475917c9892af311b729796ca3c8579bf4e6fb444c62af118b148aeff510836702bd1f01f33a6aa92ca5dc5fa7c3a029a6cda0c3f0b87c21f366ff1f3d368a8a8c5a6ac4cf7f1b34fa30d9d8d799c1afceb13cb7e82147800d0bc47ad0579cfc7ac1bc784ee0240cac5ccd0866fc18f94949cd0a9a74721edd18c0aeca886d14e4bd5030da87a11 - -COUNT=37 -L = 1600 -KI = 114bee1774d5a37d2e2492a9f2bd752487bf40070b6b6f2b52aa052c6e00d2d3 -FixedInputDataByteLen = 51 -FixedInputData = 82f488237041ea15797620135c86a41927c728a2a39e5874c6ad3a249387a03a04f493b5c753092504974f6a88e918b7190584 -KO = b21f6fbcf695cb44b018e6c97ce3e80db9030e31db84ad7cb9d4119c1ebb5b1b7ed46b3e1baa21dbe6c9e1f25dfac158c6cd9efd0567f9ccb3663e90043311c34f57e117bde7bdc494dc02b9a2c77feb3158aadad4d67e030ef5a95bc7736d54af66f08ec77fda0175f825c543f729f79a1a5c13bdae9f801f86d6afd2b11b7c711ed091a34f950f327b29bde48fddf004fdc62bbccbf6c7fc8f30f522f755d50955cb3febd27b6724016bcdf5ee226370d6d096c79f536343edad3b0932381b64e9f23e3a6c1bd4 - -COUNT=38 -L = 1600 -KI = 9f408d2bde64673437ae32805dfda439c36b87cc4481aa7e0675ee47285bfcfd -FixedInputDataByteLen = 51 -FixedInputData = 6acd303688ab05d3ac35bb763f7598de3aaa4655bceec40249cf4642b19f39b50733243beca430213869154e67419039f0f84c -KO = 729d7af3d04afaba37240aed61a6de9d0a18f87032597c9eae15254547d53eb02bac265bbae1c42383b21dad6346beac28924f4ee10fc2c4936f51dc7efd0cb80fa072c141870150cc2df8e5606b42bb070b2338c6955ff8a369633c23a2e11ee1e94358f5780d99e98de5b18c7b130e2b53b2877b443c1d9ad5acd9f60a5a85b0bb1453c0a23be0cca4a78363bce26ed5232cfa989470778e80e050faf6d1f34a5f953d4a54d98c2c84a16281a8b5d11e42c5cef93b86b5ce134ef4a9ce1c6db1a337507e92ef65 - -COUNT=39 -L = 1600 -KI = 756d4e2eed1f0fcc68d7d034922c22db78a332bd877d79fd86ca2c8fe9ed0ede -FixedInputDataByteLen = 51 -FixedInputData = 704211a2293a42cfc2ce886160f699e5f54eab5ffaeb0a9d0321e797b435ccd5b4b2fd051d79f5cd6a3b63bccfd27a70021b8b -KO = 77b0b51b54e7a6c1e38df93a350ac0457852471fa02eae0efc51609f608b55edea4139da7f8d76a9b2e031988afb03caaaebfcbcc10799ec0891ecd51d23366586b6e15ca63ffff14733ae5943f2c750a05df5e10e52eeb926faf1715e66ae926cb82cab43c6526acd9539c4080d3fde5c6b17571cb64648b144388f369626fc6bd65a3f9260fcc368182ae10b037e5d808426d19b800aa7c278de9c646bda40230f53d141ea7abac0641ba0fdc1ee25127154bf2696f60e80d928f1493b87dbd987bb1819f669c5 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 02c83a1587834d9c0634f73358aacb0781c431d7296d29446b939c398043fac9 -FixedInputDataByteLen = 51 -FixedInputData = a9b32be038eb296924246a006a639feb2e1901084a572d2ddec5fd0c49c44a34a64287ef29287180cfe457be8740bf5bfcc2fe -KO = 993158e2f3c765bae6115c76a01b127f0f185b6f9753dc028132eb1bdd3d12739d44a2ffd662815e82adc8ffe69993beadff358100353b69c8d70c19c5d05997 - -COUNT=1 -L = 512 -KI = 4aa23b21883be6d768bece2e52ca66163e10af74dd4e3588a34f3949e4cc071c -FixedInputDataByteLen = 51 -FixedInputData = 54dab1d5672e4c0fe43431526a65faa984ca4c6bc9566b4bd9d3aa645ec3d0a051b035a3ed600f0f05012a88da9d68986b424d -KO = 14d70649c2441a0d4fe2e3d00cf1743c4adab546f987cce99e8d0a743280d18fbd9576a08016a1b802e99ef1440d2ace5ce470f2fd868f9057924a19d00037cf - -COUNT=2 -L = 512 -KI = 18747bed42a3a37132223b550f4f81159a5a311611fd17e9aea5d2e88bd2de66 -FixedInputDataByteLen = 51 -FixedInputData = 5fab1c75519cc3a32cddd8f8e883ade7e5aea322b4f5a77e3da1da133c8fb81de73c023f0765f90079c37ddfe6b2ba03f294c5 -KO = 078d8ecb84bd955b63eba26bbec878437aedcba08b92b8e98f455349ddecac35169c5a48dea6077e8817588ee13ae1a6dc5ec65a30b9f41b5de7f63dd80f1aa2 - -COUNT=3 -L = 512 -KI = 3d37f3ac61f36618e44366a58289980d4807118dc45253d7aedb76cc7d3e54b5 -FixedInputDataByteLen = 51 -FixedInputData = 107b1821c58022a95ab86d3f779fb5af8e9f8064df7bfcbdd61c5387f00674ba9ae5ae8552b66c4abd40e38c8b68511f0c6e9e -KO = e89c0eb3d96ea7868ab7df273b352b0644f47f7140b7224307516386ca64084068cc7f4b8cc94977a8a6d31bf2c55c8c4bcef404adf9f3759fff2b1052786a67 - -COUNT=4 -L = 512 -KI = aa49c467a50d7322638465738abe8fb707595150b9524c34329cf4e46cba16fb -FixedInputDataByteLen = 51 -FixedInputData = 20e39c1af1b4b74219f3cb9aabc1310c0f292e0e27373c64e941eefcf655c4cfac5aed752dc8499a3093f34af90a73776d6f33 -KO = cb9a013c52dd916f56c4d24baf8456b7fa126995ee045f0277207cd9c1810d6fc59999ab262abce7623dca398d72b00a4c8625a09494fc9f5fd9b40980ea89a6 - -COUNT=5 -L = 512 -KI = 28b9bd2e03ed0c75f63a1c90d1b1a9d746c80e361fbda4cad3496ce08f49d986 -FixedInputDataByteLen = 51 -FixedInputData = 9cef2b958bd7c08e1a74ab2a03481527f4c460acb7214291c4ab270eb3ea631997507991dcf5aab3512287293fbaef90ef38ff -KO = c6dd11255c6ccb569f2eaa631c531db18f91134b72c594c976fed3c83a0b03b60bbd8e8cf53e04a9a5839e2fef352008c997a9f25903847594e9bf134d738136 - -COUNT=6 -L = 512 -KI = f9412c45eff4860f474d315be277f8bc4d9408e1da9e1943cea6274aa0dcda45 -FixedInputDataByteLen = 51 -FixedInputData = 6297a6f680d95894e92a4ef1ea19801b3025e2aebeb7e0e34e008b6e2f7f33108062628cba43f75d28e4c54501ae043a4be100 -KO = a72b99741be1ebfdb4edb999816457dff7354d9df47e6bc2794e4366c12ab34817a68d15d8bc4498fd0f2528ce8a296445102cb390816b025fe78ee3a0b874d6 - -COUNT=7 -L = 512 -KI = b0e68dbf0ac177d93461df320e78b4905f61eb9c73a109ec6cc82a195c03dd6c -FixedInputDataByteLen = 51 -FixedInputData = cc04d3ec8027576235979281401e1b56d15dc43575f3a8dd6eaabf314d8227a1de10d1cbe5569b36967574f8dd572968f99d47 -KO = 065f39f57c9dc936ee8b84f102d0554fa2887f9aacfe0d9ff32464f8a814b0899aed8c5c4e9d06449f39294639ec74c1a5d2bc52fed88be5bb43e89e4f2f0ea7 - -COUNT=8 -L = 512 -KI = 601d2d0bdbf24331a9baa4565e4dbbe4fe1b86330de061dd5685daa3ba3d3f21 -FixedInputDataByteLen = 51 -FixedInputData = a5631a65d21093ea3811d7cd4cb97635084763dee7b2640b6717a79901b3e61a63ffa8473116f1236afe90790edb54a8ceb762 -KO = c1def2449ff75dab60031da74e9867c8ac629e145632d87362e737cba997806039a9085bca79d5aff92ce46bb827299d384c2f79ad18f3090fde35d777ad4c8c - -COUNT=9 -L = 512 -KI = 0578b68aa3f67fa94b0024f6414353b7391a2f22e0aa1f078f819ad7313321cf -FixedInputDataByteLen = 51 -FixedInputData = 64b7fe2b1d9118680f46de52eb38b51883fde5604102006f649bfb2c1a44592d6fb6246f11f31ee680bc1dc11c930b3d4ba6ea -KO = 762d85313d9261cac558660922a474e05626b2fdb4cf28a0466ef956cdb46469935b92260dc589be0a9a96eb778c16976ce628abc8cf730b67e199f40d045f3f - -COUNT=10 -L = 2048 -KI = bf88062f356bdf6b95526300bec16447d043de6b535277bcbed1a880c9a204b6 -FixedInputDataByteLen = 51 -FixedInputData = 460764dff1b01526d8402ed1c5ad22779604273392ea23f7c62c3ffdf4bc5296c828eb92146085c64a5f7591f44b3b524a47a4 -KO = b9a1fbca33eebece8e4e2257c9437f256c144088ee720e49428282810e630bf99baf268b98630779071d617c247b3498563b4b95734facf675a2ff490344768dfa320101eca755e4dfea208d0573a285991c8e1de86263d6a1c1869090085c4806187d7a2083912837525f3983741e06d55d32f3e0fbeccd1a62ae066250b49dd553e1078ff24570d3a7986bf977408b05b50dde19e1e73255c8c4dd8198428d249f79b3dd89339aca7947d99763e359e085570998c535707eb7597da5e47a170dad10e407763f588c40271398acabd8feb5fbba5df90a5dd9a8d775b48b851f86c4811acf0dc947011bbc879deff9fecffaf87403be946c32b38b5a7b6ef10f - -COUNT=11 -L = 2048 -KI = 6146fae17bbcb4a81fdde3431620094072511c3b00858b9a2dab3a880c8f7fbd -FixedInputDataByteLen = 51 -FixedInputData = 4d810bfb4adc192f0f3b24fb0356ca81c8c15bf724f8c03dd896791b7e68dfce23b514d59b4947c02a59d3614a672b8e50e491 -KO = cd4b1cc1dd52980b8ede6f6b81b21d3d7f2c196b033c609adaf8ea37f47d0b319f9012fb4e3813bf87314ecdcab3d482b669fff556abffb4b660723616807a846cd696379f74875a5ba887f7bf6f91f0453faa04a3f656ce9f5c4dff255140014f52881c0b9afd07b2147a11ae833bd9fac4bb3b936ae1cf9492fa18b4aefed50763df4dd41b451eec2930d077a1f68148a6d0c045fa1584bde4fb013a9c493e0cb226991175750d30e04fdda760bae23f3ee186e27ab895caf174059b9d9fb5a20504e492f2e00ecd4b9c076314874d7a56efc5374f6b09796c318edeb2970c963a1eb1edff58ca5b32b200a185a18da7a3f8a5243c32d1a0b9dadc4230e64b - -COUNT=12 -L = 2048 -KI = c245ae7167edde3a9b839e72cbca4943506e755518ec56911f7609cda70cf1ce -FixedInputDataByteLen = 51 -FixedInputData = 01cc6007ce0c702096c5904ba98f1387a3250c130bea966ea58fcb74286a37726eee7d007b6cee261e4d409339133b92818913 -KO = 196c81cb9c0c727275d1ad0fd244f2b5663ab91644188b734f80f74ce0511a80c500cf973f918dcbadab6c0b5cbef731ebc69a5aea8dad86c0e4ee800fd5d1d226707bb9de74596a55f42ba8f82b7d782e919a7b30d6aebcfe5e38e582319c334f5ad4df8164bd9e06d3dfdbbca007f9b61c223823d0efc5238974739657fb217c543c4e0e3d3804b9b5cfd9d5710fce34c902bcf1372d2e216b6244f6833539e802429797c554d7f8ecc0f8475eb25c382c9282d5413b3b439993aceb8542b0dad87d95c2920c71bb714ddfea455df8fdb2d4c25ba2e170d4d7663b6117ef7717796e885d26fbed125cb279c7f35c1fd29e58915f617bc5c8bd3e3856f30ac6 - -COUNT=13 -L = 2048 -KI = 1ff9f1d88f697d7567a2d552be9e4f1ada5af4610a135fd3e2d8835a8a95cfbe -FixedInputDataByteLen = 51 -FixedInputData = 33d3b2eb4580e7017540b13f188db8f92a141a59d52fd7189e5c4ee4ae6d4add1676023117c6f5180b969f4da7f692cd394856 -KO = fb87837a2c8f754f3468233a97f3654fa7c6879ae706aea46ad2d34825522152304346fb81a5742ce8218dbdb91b52d087abbd5335fb7a0209c02439f9654256a175bce22faa1181a890a28c2b58f4c8faf5d9b6a6f3a15d3b3792e719e93049c17c97ea81919a67ce3cec2a55085b3f6b6fb519f169c5bfc9e8be8cf8e5d1a265e58418283fee3c316999b46e46280439a832b1fa204aaf28cbd5556682d9b6f1fc526d09f30890ebd8c9e4d7b725c2ef7a89c9f359785a64103c825f342c38271d2e96ebe3b4ba79fab5930f695818882231c02363f59739e8fa63df25bf28a9399a202cb35fa3c85781fbb11478556dd7d36e746a72e226f67b3e97ed9edc - -COUNT=14 -L = 2048 -KI = f3fae6625f374da79e4024d992f53508bbe11ebc7209acb08e4f97296cf124af -FixedInputDataByteLen = 51 -FixedInputData = f36ac5ccd3da8d5bd56d7935da2412674ae735684c5ee8bec8f60744dbb6e3c82bc6602120e4d0bdc94f3f0e003890de687354 -KO = 9ff3b28630de508c2361922e371cc3f8a50e9f6ecfabda14ea911f245ee69baa71fd2fee545ff3118a8f4e46cdddbc8d16de7bc6cb5a5ea4fbd5cf7112f76ddd2b436e7eb412255eb0c16e61886048bd58914c6c6a3a9f6815edf24f8fba031af76e00eaf9e47ff8a2487ea7801b1b7f10783d2ccfcaec514084992ce87a929964509a7a6c943452b84d19e17011714b5f9893091eaf10a628071eb34e48672bb3482b92b85d1b2e8875718d7811be866519c6d9a5a61c3c08d12181bd27744814f0b216cc8d36cedc4fd1a2f371d070d669cb12ac8365b8a499144d485ed71e1d6ee355b7557c1e588d8fd8df4777ed010b632d5db70dfeed82a5b73e28a590 - -COUNT=15 -L = 2048 -KI = 617ce18e367fc081a8146ac41ee5b5a519430042fdd24a354083d18ddd0734ad -FixedInputDataByteLen = 51 -FixedInputData = a2cc914348a480e78c71dc61d3292de320b34c0d1331f9aee2e7baae5a51861becec03ad2cd27e9013ca7f74c44aee87328776 -KO = 8886456c9e650b6b71eb9f2fb08e2c2d2c86773934ab7e8f8a8cec9b13f819874eb599b802815c04320a05598de7f64e93933ba23771d7c84947f60e52b195adef9f78b4c73a8485aa7f2ca7ef869f177beeb9cdcdced88531a4ab40e2f72e4f8dffbacc5a234211c59ba1f3d9cc1aff07c45b10a626eea841171f5e99c0516a3aee971db6da7a922a7904ad2db2a935c219313c71deee82f47a0cd2acdcdbd25a0a0ce614fa23bad9ccf37c8976e3149c7fc3a81396c0f197c0616a9711082302ee2632f10e94f4d700337c3cab3f67de868789dfe1af8a7277f674612daf3d9583cc302f5feee401bb06be72869e6b390670fcdbcde4a8c532fdb390c82135 - -COUNT=16 -L = 2048 -KI = a8ef8014dc4b7d2ec8a9b3765f50bd27e89c7b82d0864123b9dfea57eb85a841 -FixedInputDataByteLen = 51 -FixedInputData = 3ba8cb8aba34cbf85f44334b03d76da6d2ee98dac1bb5d24138d41455410d3f684ed8277a18a31168668502cd387a205e6f715 -KO = 650daa6e2b4fae1ac30698e4dc7260fc8681900deff9a0eb20fce21c289f3a612c050b6892b47d754d8417f841ff1a83fd4c20e1e7b3cd1f9523acfa0689be801c462be908440fecb725ece64b12bb49564790ea052f0873b986e55c55a90e31bef7b88e1f86ccfb4c0581ba06bb5adb3443b7c0db49332ea826bffe1e4e3434b781122a7f274aa70f6fbba202818eb732bce8a37710e113a5eaece71360ef5c7b979f8f5c42c40c7ca1b4dcaa50b6876558e3179932e2e45f0a54ed5f6f22f00e1292978aa57ce987769b77e38b534aa86423373d92c6657ac234023c5282769a1aa396fd68e854c71474079f14d8662483631b361bfdbdddeb06a6d1615b44 - -COUNT=17 -L = 2048 -KI = 0da5cdfdbddf488a095e0e835c8f6e4cc922015c4fabe469db0ab0a046973646 -FixedInputDataByteLen = 51 -FixedInputData = fbfd0c18bbc5a3b771a417dc99d8aeb1f4dae42bf3baa33d11d10dfe541bf4180258fc26e953e0aa5084b77352801b4bafbe75 -KO = a8168eafd5fe18590c318eb818b47cc06466fc3b346e55d6b6c1690d1e8ee9d383e4f55e7a6e3abe6643a2795ad1ae3f12657f111a353d5cbdfccafc5456f2f89a675dfdcfdfa5deccab696625cef9b957d9b7dfea594b581f444f0568fe62acb1ce91190c10e79556858c99eb3b9052b06f0d75644466d03774d32ac5cbd3e967304d076bd2c9446c4005ee1f6aa26e833fd77c944a131bebf07942472d286776d0e2d0b999547b87e774183be56286e947a39a6027519062c1bae46a1c6a82d47001f813ad42081fd24a0f3e9a9b08df46f8d570272486fef70bce9c0143c9531ba92295357e38a471f9ff5bd7b71de0699ea7b1b81189c280f280ca2a6225 - -COUNT=18 -L = 2048 -KI = 6341b5ffd5956de2930c2d6fcdcea8433ffd4042410abcbb7fea2e36e813c5c4 -FixedInputDataByteLen = 51 -FixedInputData = 3794c761e7b57ed59709b71de8b63a1fc4539aa818ebdda49990adfeec9c634fa8acff83ce59ac360a908b9e79d7f10e623cad -KO = ec3b8c406f8e206bc7e695393907ca671dc3d18bde8186466ff1d63e4a686dd0752faa755abd5714afacd095cf1674bb3140bd004e4eea1875b564db8a33acca657d262b90ff23c82b8d2c154207964619e218c173c4dfbddf920010fdf1fdad0cc22fe9809ffe0e9979c0cec907f4d8833b1ba8dc2b1202d2b4e5f87dbaff221a408d947690d6fabb4ee46a70ef67d3d47c5b47aa87c391bcc8179a3b8e8416a3754bb841b7e1060803f652d4efe5831ceef2bb88eda87762c94e630ab5a716f616ed5d4fb5172738e7782f159fa49a08636f9e4ac67e465ac4caca2f361257031f57562c8f886694cf0bc471a6ab690c68d935312852cccd1d1fe8b382e07b - -COUNT=19 -L = 2048 -KI = 4aae75cd4c63f25e1f4f7f4474d4a70e9a549a23afa6e59d07717f25a721ee21 -FixedInputDataByteLen = 51 -FixedInputData = ba5f0727b0ffe27eeb5031467b928d6146fa24de048ff99437a968843eafaab418ae8a974b50aceab23a02bc26460a2e566e82 -KO = 79c3a2d32048675ae81ca15ee80a42fe75efb3c9a4241ee001e54cd007046752ed4c5cc96f0912290e0a9320107511d5ebd65e91247d13aa7516a3f0379bda505e6a039a93290a2aff31a166f6134065edc81ef78acb5589bf2e6532a5ee8d687c13304dc5d9625801bbcddafca9495db9df48095024c7466ae78cf99c51f78561a0950ff0e1a7608f39dde74d6ecb0a390afb23efd4b08c372be90cf6eff9ae97bbf790d87cd477875f8ec35af46c08046433b567f48c8eac393fcba5eeba57073018974ad2164d8638beb4f61a3e3b1958b2a1e025d3aac50130310ca2c4b65b6c349adc21194b03627b06ec18a42993d1f3f4a57487516160f654e9008071 - -COUNT=20 -L = 560 -KI = 9df9e91447e893f576dfaf4ba77196797d663d21491cf99ccb3c2b8c38e02242 -FixedInputDataByteLen = 51 -FixedInputData = 546f49f587f7974404416155b0c3395c7f799093e070e9b0d4c8a2047af40fdcb05d15d9596be7f92c9da5a4aa2e7aeee7cd0b -KO = 7b51f70b2c798c94671108642b118d9e9cb84d6f3530b83767e2b60780abb04af1571ce65fbd482ffc0ef8440a4a6c7c9d9161a9d752da0ca1d9930deba1280a62e80ccdd41b - -COUNT=21 -L = 560 -KI = 402b0b4cf95fa637b4c261f64390978d22895b16f215029f5d28dd61dbfbd770 -FixedInputDataByteLen = 51 -FixedInputData = 6b28f543c4bbde7d52c6b8aa4e88adf80cc6e1165a401e1a5c6651b665ca0a86093c2fc9ad483f892b103c01d300d3c0b63e13 -KO = 2ffd86c1069e094e8a2438a1366ae6f3e5fa47bf5b5ee28ab24ade2f1fe84fe5e66625cb3e4d668ed936602f86a92f3f83a298c08e3861a2f3538522cd8ff76e896b15001f33 - -COUNT=22 -L = 560 -KI = 1380057f99bc624c4302af37a3a1b177a63fb93c5b3956d890081c790c21f2c8 -FixedInputDataByteLen = 51 -FixedInputData = 6a64aaa9064539ce82a7a36211283f538ada2ff6074b9079a5eb469ecd7cc7cd970cb5a9c8b8d37d16773ac82b30d17e49da1f -KO = 426417b7afde5daf8ee2214a43c5892f534c1e250749a8aae356c301b0590a4bb881224ce33f39bd400f5706f6dda64398235b2e5f940a2c26feeabd41ac70c3311f19f73242 - -COUNT=23 -L = 560 -KI = b15b0b67015ef9db2e8eb3cf735cb2d3dc4549090fbd9ad6672c9053bbc24354 -FixedInputDataByteLen = 51 -FixedInputData = 197933e8b6f7fb7fc9e8df22a32b68a3d28b193ca1b40679ab78f7890b16e435ceba21e2454ab911bba89e9180d02c94582c7a -KO = fac8d74f524f18d56fb37aaac4c913274cd12669ef50428984550a6b0bf73623dd18bdcc17950a4a53863c3a10de4d5a090c249d2983db9ece560c9e00edc5f435770e73d0ab - -COUNT=24 -L = 560 -KI = d60edde3e01716ca2c5f51017b3a1e606e3496deae89db5870125f599e7b8a4e -FixedInputDataByteLen = 51 -FixedInputData = a64ec9de8713c560b1d5305c19875486a1c58fe7e4763fcca28d2fb632f290aca07328d6af7d40219199c2010905eb9a792bcd -KO = df803cfde2f6fade5e403c5d42dd6968ff9fcef10c79e24aea0317731c5a2ee19bb668995b5bc2e3787f7e0e3e20346df6a51f017ec3b26eb5300ac071cd9894b7f475c78124 - -COUNT=25 -L = 560 -KI = fb24a5d7c8a3711bdd551d6fc86b2be07019c3ee5e5fd600ba64697f7fadcf6c -FixedInputDataByteLen = 51 -FixedInputData = aba7c382277dec20b392520788603590c28b5ed5899aa6d3145d6123ba47f7e8f71e18ed02f0fa5df915853ea4982954635f3c -KO = e5861aaf5a7768c25b4dd1b30276db2aa34004ce3424286169c2e30b5e264d953a80fab5d8bc519eaa1c063f1ebaa331b8f2076cb146be2793cfb3325c6323460a3a5a3f05d7 - -COUNT=26 -L = 560 -KI = 333e973b8ddca4fade78d8a9004fd30698f637387c5cfd48581fb1f4a501aa7f -FixedInputDataByteLen = 51 -FixedInputData = f4a00c8e3cb7015cd5a8bcd67c46e0828d8f2b186a2736b7fe165845ca4dcc510be726243e0572b67c3729a0bdc9f16fd19de3 -KO = 9fc36318974eabc642edcaabb1d8826e826c9b7c8965041602f2b02cfbe0ab79acb04e2d4556e72d81f3437f15a05668405242b9c554a70a01339dc626dcc0ac6042fbc2d9ef - -COUNT=27 -L = 560 -KI = f0dcd5d22b9e1afbaf2e4145c04d7b60d14ca9a62ddff08fa35c7a20ddb3bd07 -FixedInputDataByteLen = 51 -FixedInputData = ca4c7538fc739af778be910200bfb0a68efa2bc9fd3ad61419ec93d8a3ab8b6246a94687d2e3bf4bd2aae21a0b365e2d583471 -KO = 3751a35ed6d2b698336e6864869b97d39d864742afb16a3e9ed761ce73ed57b39326ec5a04fb986ccaf8dca1d23669ce7824f719fa97e8a1a0028ee47a12d30a7be23c64c072 - -COUNT=28 -L = 560 -KI = 6d416d6063b01f44fbf956c75cfa2bf9ecdfc255129fcb198db03692477f51fb -FixedInputDataByteLen = 51 -FixedInputData = b1230cf475ad9fa580433995f91d4e26695362a97692a9981baf4715dd649b002aec8e5965576b33c928aac1766705032a723b -KO = 813b007432556d0318a8ba8200b783640cb89d1ca6b3d0dbee1a57f177ea1fb67cd7622365575c78b2d71a5f31ebc5131fb38d5bd1cd83cf18b3a157aa5c087f42a6b7a5130c - -COUNT=29 -L = 560 -KI = 76941d15288eebed32c718a7b52eebd67feb3b4e4a2c7e8f90d41fb4d8f7cb32 -FixedInputDataByteLen = 51 -FixedInputData = 2515245fababcb8d734439afd49143ed878257fe18cf46b1028a5b99c7dbbdae9caba907154021dbf01db3f218eaadbd39b22e -KO = 568dc7ff3f0046a6647db13625a1dea7caa063d13e683d547c3fe064af504d980ae129d68ee1ec1838677c896d60e3f7fd14636f4b3ed48b7bf8734da49549101039b476a9b0 - -COUNT=30 -L = 1600 -KI = 6608b9f9bb3be2540c8d6a57d8b61c675fb989d63e11a9fad3761972deedacab -FixedInputDataByteLen = 51 -FixedInputData = 0e8aacbf2a2f0b2ad84c11b43bf6ca0fdfa0077bb9b8e19b97650cab7fde3471034852f164f7091e85484ac95b8f1a307d4f3e -KO = 70323600ce07ea83e2255500a2aa63783366caa7e46284ad67bb9e5d5e3d447cd6d57c23a556664419f8e94c77ea953a1d90bb995c12463b20105afa73ea2860ae54e66215818cda465b33034f0164f918ae3e940a24b915b79fca3d7f01297982d06bd6284592e5c5c6e704a41179c402127ee4739a4c48db2fc2f927945487fa5d683f400fdbf6ff7d9312e269d49614639a5b4e82217b2b072635e7cef9cf208e6c27e73ffb6721d050a85f8f756abce0e8d8ac9a6614b152a05cfa868c0021150885fb6e7f15 - -COUNT=31 -L = 1600 -KI = 3f248573287116adf6817c5ddbfb4f92e4a55da3076e68f9d1c66d1ba39bc354 -FixedInputDataByteLen = 51 -FixedInputData = 20153048b9df613d824872b19e19a3dd8de2434063b0b26b5c4e75cb885080b155be0a595e1e4c19307ba8c9b00215ff5f3b6f -KO = 58576c898b43303437ce9ec59a26164b6f13e8c6e57b1246f029494eb1d4d720190e51fcbac8def36cc3fc273c746d325921bc27ca9e859cdcecce74fe4d7e27c77cd10693fea9503382cd62e4514f47f42365906dba6b051d8a3c4718670ee5e110abd4692371dafbec39468dee3f5477be86a620216db8bd92710689b99fe09567d3768ba385f7fb7a6daf41176fa3feb1e6520fea0b552e20e0dc7d425e0815be5f59070637bdd987801d9d519455ff51c4218b451312f199a39459d7baad60e64544e219b80d - -COUNT=32 -L = 1600 -KI = 35f8be5faa814487c968c746050574eadcdeb655ec4c6174f19ad5fa0323cc7b -FixedInputDataByteLen = 51 -FixedInputData = 07222c2c69f44fcd8fc9921fb70f6b25c5b09848bd1ae0cd56ebc1f813a3f5b02a9e633bc39e3c22302c0abacfef71248739e8 -KO = b053ded1dd23f083a36d542f0a96ab1a1067d19a551ad2d659173a27ab25403000708c3c44c5665039b13eee9f359946e8c539ea085691fb200d551f6150cb55b39bb37d57f8edb992434611e10fe6469c7a0c1c5221bd3b86c636ea42fe4f34598f89ed7e0c3d098ddec30a6b2b273dec5ca122222dfd88e87549a0e9411d48d39e96f21e7b5c4cb7410a68cb737396919153385e72a0f9b3a1ad67dedca8d210d878d77dd5bb760532b84c4a2101d5104894af40aebc2a487db9e4bd7542b78a1b0637ef99e106 - -COUNT=33 -L = 1600 -KI = bf1a28e17b7355af351be1475159a84a5c479f1e66f2fc562d0603d86caae6cb -FixedInputDataByteLen = 51 -FixedInputData = efe46196004bda3bd10ac30011efa85755f462cf480a2a09a43162dbb683d2d0488d97f9a04efb559b90f6b4b2508e919c7377 -KO = 9d401af64e87ffa59b85f7a1428b97cf37d2a2c1dce78bf9e1b23d495fabf97ea1c6bfd2738eef573122b025ed6f5f7bf85601be7f18a3b9aa1a99cbf71494a0ace0e7e41f96856fc94b59acc50440a4406fdd93c3bb4cd652ab11a9bec178107038a10f23d8a251b59fa10135ba68b76c49fa1e5ebf0a5290259aeab9d941d6c06ce2e4b25e7872cb3aed1456e7bb971a3712c95d68f32674fc0353f4b2803ca671880dcb0f6a21334d2f1758adbcd782b5117bb0277a0495501d0d1c94463e19addae7484f93c5 - -COUNT=34 -L = 1600 -KI = 553099b8562fa3ad48c08991c603e54b41af2fe3cb922fdd3257de7ad380715b -FixedInputDataByteLen = 51 -FixedInputData = 1cc8ce729b53a542d48b40ad484470b2a3a08836ce9a02379a653d6faa8d165ff2208d3438e29635d9e0328c1ee5f7f879adc6 -KO = 19bb1b8ecd65641995f36c4953a2f0b23ef7e84ca57a5df32d2bf9648a5743d64f534a0239c26244dc8857893b368157147893619eedea69fa8950f70687762748830de35d3de73d8a354dfd903bf19b642bf9e5dfc11202b0f713dad270b2056930c519529dfade588f04e5674c0ee6dec381f370154f7f0851b99e301c3dd1a51c74ac7e20028a38c29a1168e4f0b2b36b92a2f42930087aed7500f9e7f60da0240bc8bd468703bd883ac74d6b0d39492958042a3c6da43a38c4a43c5b83fedf7d20e49094a87c - -COUNT=35 -L = 1600 -KI = e6a9b15d75bf2ee60933784b536ea68e7e5f1323035052dd7aaef3bbebea6486 -FixedInputDataByteLen = 51 -FixedInputData = a49d13ec6b05d07b50479e24f273cdb89fdeee2470b690b09bb1aa5e08ba695b63644e7bf28a2e6a92df2e63273e35bb41b495 -KO = d63679fbe9c574c6969aeb7649cd3a897c797f1044238086f43ec7fc2136b4e24700bc35cc994bb33214e2d502021082ad390a2006f6b76a91409a8123b394dba33df8240ad6ed3d3c79c3e8e1e6c0c98c882d1ec409152f3cac81c568f8b23994a3176e76204a2f97c248fc055f3a5f20ba8617db3fec00f2c4b9db7c226e63ce40749f610470a464b9e2950db0d7138fc1954c0271af5ca832fba48672cc8686dd5500b28efbf379210a1adf6b7dc7408581a1e9ca61efd259ae32e6270f5697d8e1798989fa60 - -COUNT=36 -L = 1600 -KI = e082f3d215b8de69cb13777deed7cc47cdf77fd7dcf725fca589a278e6fb9d56 -FixedInputDataByteLen = 51 -FixedInputData = 2a1435c3b2d0c1420786aee07d27020fdc816d7ae425ff11a30218381efe12db3a0fa8910eee2aaa20bde894846447a550bdfc -KO = 3776138c890be85bd160271280bca53b4968a0d1d06ff29d6ac6cdfe14455017c22837b9b57c5e78263e961fcfc388dc4b882d756d3950b4010265bf2395659deac10dac8a81b5f5cb0b9cb9f6d9c150cc38e5e9530cf7ba2c9c9424e4804a0527920adb644b8af96989c5ecc2cc7dc0005fe92a7b9402d70e5b349f930787451683738b624c690a3785780e296be565926188205431ebc20a196b5fe1c7b733fb86c2b1b1786cd31fd3fe9db4d5d2f8e9da071a707229b99cab0dee2e403e8df1fd804b2571715e - -COUNT=37 -L = 1600 -KI = 05de57ad3dbbf16ec0c962071938ee5bd438142757091a98dee41fa6c6a12de1 -FixedInputDataByteLen = 51 -FixedInputData = a82af77c32a9e961e1a74a11041374c3df9112c078bcebf7cf951f2f7a250bbf69867a62f96056cd8ecb445d6b19ca7405b72d -KO = 4ef4e340693c3367ccd7670c67b83016264bcdc762072ad95e261557ca1fd2a17608e61f796376f362a323f88e75623269483cc067968b11d57c006836056dae61f0d8a55814f1cac9cd9b75d3eed807e0f7b83194deeecde18f1778cf7011643199b9ae4adb10554d641b8b7958fa3c1434ebc2a5e6bb1b104c019e8b3678e1f8c47ea483cd3c94b98b2346ea4835f22eb1188e9dcd27c4b042175d8b6c4dd4a0084fe4c2b303e1773da820bc74d00055c76538a9ad401565a415c8199385e63054e6b02312c3db - -COUNT=38 -L = 1600 -KI = 5d0b3e360755394190d17a1dbf2b38698e5bb662af0a37bb4a0aece81a4c8950 -FixedInputDataByteLen = 51 -FixedInputData = b22556a10a2213504b49666752f8dde9c21e3e946bb6eb7d3e12a32cf776302999d0a9d2389aa91e2e729f2eb617d45930b8c0 -KO = 5e9859a1679571d5e8436647930f9dadcbc40b5a2702db366a9d818fd292f4d7dc96814e5655d542c505318283bfc677ed94093a68b01a8ebee2256561ac8148689075ea2c9de74b3bd6901f6daab872c06d32c5265cf9b4ee32faf87a2dd8dbd75f87f91df9c0f6e46ffa28e1e7ec0982df1b4a65fbca90cb10423af52d9d795142522448aae7cd1c47b7c0cb9e67d1b09f28bcc40a421eec87addc43d2cb9bd056c6ee0ce7647f872b77000868d3c950795f7fb2485b27643fdc55a2020478156b720ca3468fcb - -COUNT=39 -L = 1600 -KI = 77b86e8e88e6ecef3ab4c20e130d3f01db5d76b6b4bb8d72f487b5b7c73a4b59 -FixedInputDataByteLen = 51 -FixedInputData = b5cfd8bf1d91da878182aa386e517a47781afa881d36c58f333966ff70543185e5634c912dda65609f19c2854b2ec5231d1d47 -KO = 58273876b953bfc08f6df2fea3372966efa93ad1d1c4accc6eadc1db54c7d65fcddfa3314bd4725edb4e81421f5c82ef3fe70b02a672c1480c8b1d0cbfd93e174b5d473246bedb439fc6283196268a9cf97e7fed8c92e4baca46d99acc133aa7a9b823588661abd440f6f38b97cb0c13c7ca8321016da23ad08ca10b82e47f0a118ee669060dd6ead1f4571566a50528e81953387125705432a139a0d08399e491d1e2ae252dcff31f0999d58e348014b40fbd6584bba53c7de5dba52119956dce7ed68f87579ef0 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 0847276bf46a9a6ac868e18616683d5afd30ebe7ceb7d8f84f74e1ad2907ca6597952cadd5a0812402d70b84f451875a -FixedInputDataByteLen = 51 -FixedInputData = 22f9e32e304e4486746d6db2619b1f0a335fe22798a49af40487a41a655f3ba955721a735994404dfa14ab8f19759c5fd10754 -KO = 928a30783775710d2b9871b8b6bfd0c6448b6218654bb979486c0690f631465582f6ca0ed3140aa85f8470adf0687513bc1cc74dadfe3a13da3d5093616cfa36 - -COUNT=1 -L = 512 -KI = 8de01386cc22282f0a6ba2c41de9d52cdf234cc3176b474e12e770a582adb77ecee983f228b806a23066cdb944135d47 -FixedInputDataByteLen = 51 -FixedInputData = ffae7ed9f0d402b75f32ff1bba381fdc90ee4386d10cb5b5ed846d005ad22cf9f019e90d5703b30a8bfdeedf49594dfba35685 -KO = 75cfeedb5102a85eab0d81243e51b6eb30b83414ebe52acd3e7c76e43d5b1cb995c3c74831f88e22056b24a9c285eca23547c44352e8db646d4299ad7dc6ff19 - -COUNT=2 -L = 512 -KI = 4026d553f9b3786290f0f4b160b1bb459e084297e7fbbb4aa365e6668a880aa7cd59a483e0317e1d5d90e753c89d92ad -FixedInputDataByteLen = 51 -FixedInputData = 844e121c1294ce58b825275d6b073c03b3022e5adb585ab2d731a1747114202d6d95dbfc6c2613eec11f00f5d5ae4e95ea350f -KO = 6811a5e59fd09449673a94a66b9f08f32377f90aee363cb3a1487dd45ff7c67f66e4e4c1d1086e26279f9677b1c93e0cef6e8d80f9598f84573bbbf45deb95bf - -COUNT=3 -L = 512 -KI = c3acc602975a1a719123d0b30efbc5d282ba560c2a5fedab3036ea2e8eb29f8acacf4328c8dcffad1be389b43b071d4b -FixedInputDataByteLen = 51 -FixedInputData = c1594fe926681e018f2d4b5a42c4d336cc2e3155be4484b673a5424fd5ba60bb5592aecfffd1bbe44689620499d2432d4b11b4 -KO = 7e1eb63d279252d1d83ecd2fc22b03f15931cb3b0b567d78017d538a2b2b3016753c2def1cc460d39a3e5a979986af38cd7663fbbe152787b1141c5d612a5120 - -COUNT=4 -L = 512 -KI = 0727ecbf39de0cf96d21eeab928801aa9a3dbb83ad95b9f38f90663ab1ad20a3f87c0e035c2aabdbe1c1cec3bf5587c1 -FixedInputDataByteLen = 51 -FixedInputData = 54032ca0b9509c29a772932a8747e3d02dc2bbf0432fe6ef827093dcde2d2010e2e4ef87f063b302357a3319623fe77054e525 -KO = 412e41d6ceba028aaf0276d76c66930445773e894d9ebbb895675c217b41eb5bf596ac34c190e21b29da54790ac0d4de3e54d6309db60f348f6afde1681f6f50 - -COUNT=5 -L = 512 -KI = f142b42af70bded02a3071721c9cb857c1748f7ed497a552b8a449ae7ee23b15e1a5d4967fd68ccbaef1fbac111aba7d -FixedInputDataByteLen = 51 -FixedInputData = 12a8dc00da11c90444ca83930024d130fc5d467f3cc36866ddef8126fe1ed86ad0212b9e48bf823d1dd1c4b5a2053e58cbb6c8 -KO = fb6fd8c21a1324c11890657289811b94e863168af1ab52930573e894b8b027f97af869cf7b5c2d032f6371b3b94244868d0d29ce0e4be00b2985b726c552a89f - -COUNT=6 -L = 512 -KI = ff24a282a9674bdd7d337c0863e2bfebd8efb562b5a36fc5243ae0b0342bda2745d0a7b91f6c136eb65c00cdc488bac4 -FixedInputDataByteLen = 51 -FixedInputData = d73ade6b54b7d48df3b8b40671ddb47cacec0404e8f29244bb4306e7fd9e475919e6dcef32857b838367bfed715b5bcb8db4ba -KO = 6297b949739353897778d4ac54d081f7e61233d0b72bff4601ec8d88e8faa3ad95af6087342873eb9c306ef54bbec7875b01c4b8ca6da3d50a1390472b3a6de4 - -COUNT=7 -L = 512 -KI = ad9c6af7d9e687d7ca289a2bd183875ae84fd446b4be0eb702eb078c4a51e73e512e6dec29c0be88149b159274f7127f -FixedInputDataByteLen = 51 -FixedInputData = 670a7a6494a9a6682eb2995ab97be6085e9d159cd38802182d1b2ce696d6d6f8a25bf6ee4a473ff9dc74d49a1ed0dc285233d1 -KO = bffdb81d0464a929ac8165eb2a8f95777ae2a2a9deacae530ced0745baf294f0ce4c7a05d96d8f87a3448eaff080a8979fd100806c15edfc0e1adb4d77081bff - -COUNT=8 -L = 512 -KI = 26a526b05217a1f694087eb0629513e2ae0fb84ccb3a37178f30fd8f62e6f8d948bc4a1b0eccb1459fb79a92964e31b5 -FixedInputDataByteLen = 51 -FixedInputData = 3d7c9cfe50b70e0292fa65b9078cae69c09f924b54b2e80580d776970e28a68c1b61b56f37b18efb53791eddec91294131930d -KO = 61ee120154513a38104d49b18edd3c6b134ee257a4bdccf93f5577769ecb775ce7e09b995dbdac67d82a1f1b66ecd35a3cfd258a1fb0427ace8452de23d803da - -COUNT=9 -L = 512 -KI = 0cef49f7464ed91053dcdc42f0e43bbad3d90cba35f38b330bd3c959e21b0900e2fb49809519f120b631fe024f70c8e9 -FixedInputDataByteLen = 51 -FixedInputData = 8ce013b1b659c6dc1758af69dc5ecb61aac7130237a4c1fd96f79ff3ff9abaa3024c1eedc3bccd3580fdfb81b061edb18faa94 -KO = af1fd947f6a7f46e48ea0014642b71852cfd1d79bccc9385c387e9b2a9fe87c829ffaac1148613cf43b81fd793dbcd20756de6c5274357df4a4ea759362ac7e1 - -COUNT=10 -L = 2048 -KI = cbb3ca6c948922eb8074093dab92e19ffa163cdf3a4dd0d019ef7f0635e98b080f404d6ca22526b994631770e4ceed28 -FixedInputDataByteLen = 51 -FixedInputData = a810d04e3ae530b632a94c19fe5a991f612056ee94141a815b9b3362bfb94d5b4b122e5edf623582b0ecf7d9e91cf13d8ca965 -KO = 7b9ae62e9c37abf88007944b7691bd246d8d519c01abaab347ee1646816529e2e61c320cde20aba28691f4c08e42023c2ed43da11401e1689da4fc8b1d2fee12c63ce48eed9318fb570d10ea6267384cbde0d872817907b79a24650a2140b704a8cae7f1e4340823772cdf420417fe60be0ef7313c096765053da6cba898d5478134ce9ad47118c8cea05a5532aa2660b6a834e1d83839079505f309780415a93b16a93e36bcb061f24dd406d145506fbc70cfd966436f6b6f9741f89e346777cae4834cd4c34a9980b081d3d5db457516a2f8080b002ca798928c36f9db1309193bd48553bd506c1cf138b3eeaa76ad64c1aba8ab19440e7036f189b7f6f196 - -COUNT=11 -L = 2048 -KI = f2b523c6fa7a874232ebd7a5d45e03c60750c6fd5a4ff05bbd87a733eed1e9e28f68977d94f5f88af496e126a60573eb -FixedInputDataByteLen = 51 -FixedInputData = ceedeffd2b039d9c65dc02a51e3cf65657b4d215c03cbd33159bc29cf6eb896f05056b2c678f57a9569ffffa3879d9144ced97 -KO = cbf4257c664c76928873ad996a7d4992f1fad0145f8c794cd3858d6c26d2979fdb69c16ae010542003b0c3727dab8d4b8d3d610338b14d285fe5234ef30893d4e9d86274279d722e3c13b769bf542c744207bcea0b965cf1e705585bd7e2640f2f8cfeb87491d9bf08afcfd3e22957baf5f367d966be53f97020269d9091f7ee689ad421597163716b66c8c424a848b020c262e3e22134603f2830b4215b2cddc6f1e1747044f61c50a3bf5db5331ae2721598bad3803da6a90086b1debc14403ad6f52e29ff8bb07e276721fa21f90ef6f44577c65edd4abb5821260eba0a814877781236ca0df1f3b5fffe7ce067bfe78707bf6c8d9cc8233c16c3be544a6b - -COUNT=12 -L = 2048 -KI = a35c996f1b4b555c5635957e02d64502294ce9aca03200536738277717e23c36313fa895136ca2e882614014b257d6b3 -FixedInputDataByteLen = 51 -FixedInputData = 28f18d84d0ddf2047dbc47f9b68f80d86a29a2f16f19f5f1f0884908707c1d2144a91cee8b9806b1741704bb4d4f4c597e74e0 -KO = 02eefbc9461a82a7c0f0bb7bc674a768ca6e79d70c2c6001ee8579e967940417c6f883f9d5818f84441170377bf6d21be8f9b5d8a134e1db1eab317587e6804a2287940387293dc8e0db1ad1134f02b7986f1fd05ff5d9e75ee146940a78fe4e53bc1eb3a31a34f0a86fb4e7b42abea45b19ddd4f9d23c5ae9bb02e5300b2a4439f79a9b2026070b2e26386b7df5fa25bbd5f962e4e46a8ecc2a468c856964c0fc943da1024f26e93741f313c8345aeacf0461aadf75b722eabf18a5080796f2f8c24328d6cb90e3768d420133457203d7aa4e55a32536eb0282d27ad037cf4dee3b433dcdd61c17a6c9ec392b15f632025fb3ff145c2fa42671fe2190307397 - -COUNT=13 -L = 2048 -KI = bd35bd91560b23590d01bb0c728cd8e0016aeb0499b06b3b3b3bf44c9d71cfd149a168c8abde218e6a1431d6a0ffa0ef -FixedInputDataByteLen = 51 -FixedInputData = b9fa1f99d53646b91b66fcd83d4e049f005c9c74639f655d8d43bbe0f2898092fba42e70243a2c66efb73d57f51ffca3f05005 -KO = bbb3875c8c6d09d41ce8714daee777a7a256aff722d7c6103ebc74f196dbb2fd1f39f9882c7d85bf15ae5daacca88426714b98a5a3924a759bf300d9ab555c34d00ca0fe2102cc8be620bfc3638d82bf749c85d1ddac0d7bfd04c36f2856895c68568320b768966ca77ce5b0dbbcf4fa71438e44e9b07db6728a6cf05a34891a954903315209a61f52e0052a9b8549bf685249ed818b45ed4c872c5ed8f943bf12bbfc15d770172875d4b74f7bc8789510f4cbee3cfe6715fad546f70b75e58cba03220f8288a098aa0a2a2c83380150b61d739bd53840b2e2c8107f3615447791512ccd89dac9dc09fa3468d6ceba8d30c7a91ac5c8ddd5fb600af89737c890 - -COUNT=14 -L = 2048 -KI = 7c626ede7eb01a0f878e4b1cd19b3338cd5c61a4ac3745a54e2741d822328b1fa956d5a640eb1dfe27f3d8e53301fc23 -FixedInputDataByteLen = 51 -FixedInputData = 49042c4978a32b4164aeb5048c18d9b62b7c8645013b4c784a7322101cfb46ece16af750c960adfd7f9de06016dc7608a2ac66 -KO = baa2070224c742bcfc5ffc87891a7a1093676ed28ff99af4e2a7d3c2633ba53cb630f42225134c8dcd898f5a07a6581cfcf509a825d43fac04720fb3391cf80c7b18c83480b3512a7c6d006a8feab1631f235a5a3e2147712072a7ab81c60c859aea326176f0e3cc0cf377eff99887c32411ce85e5ba50ef7df6065bfae63d2a93cf52e60bd1970f95679c16a195742c925905c953591fdd278f1879f9e120091dbccb998e17e3ad3146d2711eeedea6b1416da6c1d172efee5cacc79cad56f6ac36040e06a5d8de6ef5730ad9e3f8f2f72548d7a765624b597627a2141859ebc734091b3aa13d925c6662359c36d93c5b604b4c3103b5342f46e8bf25d275d1 - -COUNT=15 -L = 2048 -KI = d6fe636645d24f62080d8f358c407ba5fb9fdd5cf67bd8c4ada4a66ec8a816fa3e16fd6124ac3b3b7d0fa68c5465f906 -FixedInputDataByteLen = 51 -FixedInputData = 424db18f5a8b8ea871d1d92afe50b5207981e1a27700007bc8a0d3c05e31fa1bc8755aef2cc05afbda9a4110e4c9319bfaf284 -KO = cbc31df36c57a000a9d2a0599195d41367029b82e1dad4e4a33aa6099ee8fcf6a03ec35d53dd5f577d4cc0262fff4414f4f1d7bbc594460daec65d09e34295eecab662a44ea0bbdc68b7c069cda6736124c69e365de4def05ace20981a24e30d52ff78b92bb84ebe6d6461804a54b0ed19ce83075b1bb3bd3bd021084aa76b213547cf20fbb4b7bcea0838761fbae336d20b8de992b38d6cfe43c447fb36fbebf95b7f2269e3b66feab30c050acee7b84263091c2d145a3b7d36e35df3be0c4f9535724f900440de90f5e8d3cc9f3d71728addc42ccfaf503844b85a8035b7628af0c9fe6160fcca312e6ee90c993e093f36f10f9fd4cf0163edef6e3ea541a4 - -COUNT=16 -L = 2048 -KI = da36759d55af2f48956aadbd851fb9a996269f9048ef3446ef826262f5d7494ef767c6bfb413ce73ba050a0a4f325ea1 -FixedInputDataByteLen = 51 -FixedInputData = a5f5df538d648efb7de435cde0df7c6bc0d9bbb457a55922fef1d3c84ffa8200f444f9cca3635ceefef8ad596d38a784fc5da4 -KO = f5ab55334aa0bde960b53f86cf746effa390603aebe69d675f6c08918ae574e5d5ebb7b56b1bae02b6f5af04bb20e1c88c629ade05e12d6cd91e8f1361ba08e1b2e260420d55ea9a754fa7c6c1678b9198482db28b40ddcbb1adc9801b96271d4e0900ae9a8191d900512cb69b51f06c289f8371a2fc0070e84f582cec9a99faea0e8e59c36c94c1422b35387dc48cee95d0cc7342d1ee12345b6421bdb15c079febf12ea627f4f4532f65cf4f49e0f066a1c117d2593555a3390cf303f8d83eb2d8516b6ef4341201aaeea33edb916ed2e571cdfe827fff37144c45c1b0a6260b58cdb7f40d471c1a676ea1eff49d4b70662379d3b2cb7c86776a280b157f1b - -COUNT=17 -L = 2048 -KI = 21b2289759b77ba7541a645dee3b3141e098c404ec95f9cd38d9b39ef52af9c3cbe8600578c04343104c7d946e475b53 -FixedInputDataByteLen = 51 -FixedInputData = 2b455731039e7e64756914e379096a3a41f5ed3c207ee850f706351d9ce9e519dc6a0a339b2acb97297d1e0001ecd2c43475cd -KO = c1255588fac6454ee3a415fdae8105a4472c9b91bea81f7c1037a22c1de10a002a96f1600e791e45fd553429db29fb6fdfcd54d41652ff23c263e7b629e39481499c33e684f4a953b901d81671b18879cdefeb92bb42e1928988ab8aaa99fb1fe1e17026347b4068fd4c6a47a6fa4e01472c95bfa9cd2ec5ac8ee494a35d82a662360eab768090b9ba74c95e9c01cf3c4ff8c583c24d64ff4171f3e50dd68dba11c20cc88b81c85e96919c4c0061192cd5a2b250dcf68ca1e12fe55e691373b323ba1f3958876c2069cf7490eb723ac532ecebbbac27694c13aeed3667fd7af94601f3955bc94e772d88f135ec75900600e62cf729eabd0f54333f6b953648a5 - -COUNT=18 -L = 2048 -KI = 82b19c34e77ae94bfe9cdf1e133098156566034b625437857110833ffdc4ace289b05c1233387ed274f7b6bd8cae4dc7 -FixedInputDataByteLen = 51 -FixedInputData = efa29a41e96782424a18242a84f78afa49f5730f4c224251253db4ddc953db1f7ad20a3161b074b51c82c5a0b02bb645188294 -KO = 458ef1c130880c71244c751974a081fce1a0af34c48dd600a6035dfde2c04f716c93155596df180b34490042249023e42093913d02a1a0332e9f5ac43ad354702e5ec7e8b034fac07a65fc9e833be4e3d51bb830e57bde9280610c2572afee12ddbc1dcff3f60a4db7103d6f3db80a1d518ca51ea5b359c35f30d3d27ee126f585b1683e4e152461104e4c175ecfd571d6b1ecf1f41ab93e7dd57965bfaf5e713993922ec0807761c9f1e651dc007f62e01ad647812566c477bca3768d0d6f16857ea7b0ca9139c3aa4ad001b763e607bd510b76bff9124d9cb7487fa203e313311cfd35712af05b51a01028de72b1373c76de59f1bc023cb897099b2830353b - -COUNT=19 -L = 2048 -KI = 0e167094754070ee8f3490ce84bdb896ebaafe9081e98fcd30bb880093f18e3fb818cd1e5ef1a783fd7222fa78b05c83 -FixedInputDataByteLen = 51 -FixedInputData = 7b776a10da3d2a2b348c46f8514cf13f9c103b7348b4016747ac08d23491d8daeb52612fbb5e5549db126b57aace3a0622e031 -KO = c312c8088eb3fe70480627c3782f74962bd85d02b235db86bdc2507986ba9aafad80d9cdc1ce354448148e6cfbb79616e7ea5009f837ee4bf523ab9a730968fe6167755070984c30f25501ef962d39d5e3dcebecb9cc116158368b2768d4e8fa08874296a38c1750d21361a6bcad93d995e2c07ae826e520a8a88215b216e4b54dcccd6e7e2fb0617959ce67d40579161e6292eb0bee77c718168fcb46b4f3aae804556fe5ff06c6a6053a8e1a4c0fbc80be40fc9f251eab8d7fcc00e7a746d2b402fee9d1ea26c121b12f0331af0edd7a073a4503fc44d739b49ec4fb03d91724bac220160942e6ee229c29af1beb1fb8821bcb60dd302aabd5e2c5e058dad7 - -COUNT=20 -L = 560 -KI = bdb01aaf599cb7432ffcc84f7779b307a87a5fe94f4b6cf43303a64a95164909e1def58da53d740c36a96697e6b3ad1b -FixedInputDataByteLen = 51 -FixedInputData = d64ac076c315efaf4bc009ac117d34da1d76efc8c723f9c33f299db8315c9b2a94f13fd2a4d4c5db2aafb34ae6b528a362bdc7 -KO = 1f14a31f104759b5280d823a2766116352d505e4759976fae70c496dc812a2c24e391924df3ba6dc3e3569700ab74049786ec1400252d014df2f4b9b6baff8d6b23fcebbe153 - -COUNT=21 -L = 560 -KI = eefa3d4e655be9d04c886c0d6c9c3dd4fee5dc0a64162114192336b8083b8fbc4ed05f2d217f56ef7dcf91c0b22b15b1 -FixedInputDataByteLen = 51 -FixedInputData = 5cc46303c1c36db117b3919e2fc5692351e03e57cc7f2c095e547197e25f829e9298f706d48e4b16a977add9842eb9ce4c0378 -KO = 4191f10c34b522eb9afa5c1a681ec73784831467c5da382a68631d27ea0fcd3871209683ed19f279da9e408b676063d93be563cb8b4104bf942827f0d52059e1002e8b7a8409 - -COUNT=22 -L = 560 -KI = 03c4578504ddb9e007c6cfdcf176034a0a1ed7fec88550b0a5b07168dd320ac1f4dba5ab0861b01841380639602cd2aa -FixedInputDataByteLen = 51 -FixedInputData = 354814f5ed1f1294e1abacdcda6d565d61e9ca2353bf510aadcdf868bda5d930e71b766b09a544e015d33ae2d9a7065cf29cba -KO = 549d3bafba9845a367cd935b14c79aaeb9650b4db37e97e936e0819329b663f9458a6f4889b5451bda4f37cdf261e0ed6fe830b23a2c23df42583cd61d6b178ab0b4b14b8871 - -COUNT=23 -L = 560 -KI = c5852772920a81213472dd7b9027c15a8add68110d3c355ebfd49438c9f0e376dfd8c7ce566d0802da958216d068d59d -FixedInputDataByteLen = 51 -FixedInputData = 6560ed3ed1bc9f4dc18abb53ea0598b4fe558afde1d398a94ea44f61b6c7e773d81817e963214b04d0778a7ad96fb86da084a6 -KO = b5d1a5714892dbb8023699d9ce3a179505dc18b05d809aa8d93b56bb731dbce1e8d8755795a45816d6cd4744f91573da0e88cdb11173b0221e6f359986783f02dcf5f37cfe9d - -COUNT=24 -L = 560 -KI = 7cfb8d2c1f8cf684b497b8bfe930c82a47f34da1a6641137193059cb633c96d0bce2d67d719df221a71373a9c16861dc -FixedInputDataByteLen = 51 -FixedInputData = 330c9d5743d373343843a7309a2e68c9ff879fa3d6146e0f2eaceff3c5c8e326b245ad97c7a68cafaba402023c44586ff0ce19 -KO = 31e83042c2e175eaa34cc6a22614844b284511fe08123393892c51ff834646942397d53ba666077da2476b0f6144f9560e1a7f2fc1e7b54a62feeff42258941d42aee89a0a59 - -COUNT=25 -L = 560 -KI = 42ee44a8ace53b14f90ba81b13466ead261f8af79c64ec066f9031470fdf1344d244e3bd73aca1b3696c413509f4bc1f -FixedInputDataByteLen = 51 -FixedInputData = 97c3f2cd469a00d3ba9cb9d99e9285b75f7b808c5b44442e1ef329d5685627fc4f4b5674ab54c1b222cb94f3e8697dd73ab69d -KO = 14e03c17595729cc5dc77be64fae16ed9644a02cf9cb3879f7768605ac61d1615d474477267e9c0da6168cef736350456f59f151ceb8a833cba7f8fb1d84809afc9dc742ebb6 - -COUNT=26 -L = 560 -KI = c3cd3f3d247b25f46e98f507bd80f63373fa794b9c6f74503f41fc47d6c3c91301cd242f012c064d0e33f9e0deb7e5a9 -FixedInputDataByteLen = 51 -FixedInputData = 18fd59d5b9dc27ae2159a6d7b18f47673577c6975086f13bf55417a77d6bc9563c55591b10082d6424b1a90fc39cf189d36ef0 -KO = a46c9dcd322926997f4c9601a9829172f80bb7f5b75323499b1cf107225043951304aa73b9a3d0b598921848164b7c55d94e85f511de9cdb3f3434b03aabffad87f7e9132d74 - -COUNT=27 -L = 560 -KI = 78f7a133fbfb0c01ba7f0d549961974d9be2fb9efbfa192620a862dd946484356065eb497680580f387fc86f9e4c4903 -FixedInputDataByteLen = 51 -FixedInputData = 2d35632ba7d51d7b492c30e7cb7e776f997961d3d7028d011420147fbb6ee9aab1599c3d5905d2729fe90450b84d9c26c9a4d1 -KO = 56e2eba595fd639f9fa07cd1135419bc491292680dd3620593bd328a79eed542feaf29b81070fa68a420b0620bddc1a2ccc591bfef0d96d20a8e5a725d875a7fea7962d60ae3 - -COUNT=28 -L = 560 -KI = 6d70faf77d106a537772468c8f6152f9c6816ca1651a43ebc82bd2a3948e86787fc1786b491fafc10856340c3cd81718 -FixedInputDataByteLen = 51 -FixedInputData = bb06ff882adcdc743c27f162799175b2a9549618285604721747614d0a576423dcc0b1406e7750c7097eb8ee1a9f7fbf8c3309 -KO = f08e7a9dfb64891ac488904603e3eb865fbb877b87331c93a55dc6f89cfc6b6202a652d8036d6bc7be59365c76474faba713b87974c3f5972d691be3f1c9e672eafeb6233477 - -COUNT=29 -L = 560 -KI = 3ad13ecde50e907fd32abb53b436e1aafc9bd682bd6e037fda5ed385b4b9aaf0f4a0f3b7eebddcbef7edd26e58d3f5b8 -FixedInputDataByteLen = 51 -FixedInputData = 9bcdf8e41b2c4eaff3a3d252ed4ad4c8abc9b9ba074fb54f19e3eb3c85e98c965e18319e04161c185c1ab07659cc14a4e06a6f -KO = eeeb0ccc71427bbcbb1d5a9c4dfb3599cabeac8ac8504cc61b40c281e9bac68217387466842e63f35e82994d6e1b6345e8c111fc95167bf60dc0939c232e4d2d13639d4474b5 - -COUNT=30 -L = 1600 -KI = fd8a9c64d3ffe27bcbf2f70e048cb25760388bae3fce4d9ac7436c77a62e44da7f8cf207eae50f4087acc42b6fb7e2f8 -FixedInputDataByteLen = 51 -FixedInputData = 75a08537f9be188836652d9891a7f1df4b74b495f41a81d3f35bf8a642003abb7e2a81b32b37da023c11d0aaebf399461d336c -KO = 5b1b929fca82db5efceb3a5e587d5a900f0263cb92632bfca431c741f8d108193b46c26be89476c97d375ee5dcd64f5388ebf19afc922aed73db7f8ac9eafb9632b2b0ea74b70551a093e348d0b3c359e88e987b2e9c439485b2cfd9b224ae7ba9c8c4716f4f3594f8c0f9a4fbe2e3fadab141091ac274278697db2672430f9db4b97bc02bdd13a9fe180175e2b0c1f446f606ed7986453bc1dc15987ca5f11970562bda871d56cd6a1141053950ffb4709e955edc4e832d558a64b66479aee98570fe4f1b1ada57 - -COUNT=31 -L = 1600 -KI = 97bfdd341c101899db5f008092eb64655646f92ff18e19b3d299cd81077dd8597a5e29bc747288afddb6880049edde68 -FixedInputDataByteLen = 51 -FixedInputData = 42c048901034d58d6cead6346b1597f2116d8abc111281e4fae85d3acecc5448d30576e1cafec900e1bae409e6364a45035510 -KO = cf0a250145501f9120533a2e8514d8e8b733adb204a18176d42547d8a9ca0143f69456292b96eca814079e4692dd4dcb324ee317601713a9f28ef8570e1523e9d052a0949c16227fb418c0768370b9fb3f9a97babe47e7e1f1e9e8ef199bf93f1c0d2b3e5a30247e84848d39e89cbbe4cbba419497f0075c456f3e3c8af8f8557b88199c1161c3cc44848c301158f4117770fa4bf04cef6c1793d05bfc675b8c9889caade07a13090f1b19f54f1a72493a7407fc7aca8d2d6b4e9db0af8959d6ca7d7966af7683bc - -COUNT=32 -L = 1600 -KI = ae7d6de1ec80504b128d263935efe9ff985f9d9d89f1d2d384cd4b3bb1d0b80ebe742e65057e44ad5d4c786c81b7fd36 -FixedInputDataByteLen = 51 -FixedInputData = 6031d668382a5aa469d44181bf4964c99e610911f0517c7f29f3c7703badd803b9d6286e1b4d528d02e3a045edbe368067c3f8 -KO = 29cf1c102e4645932dcf746e948360d46400eed84f57752fa2b976ddacb653ea1cfb46c1e06adcf4dfe21bad68f7de1a8498ac954e875a28de2a27999fb7cbdf36dbe7d92c29c31ec2452f749920f87a368493053c98c43fa4a3cd00b1ad9c1a1ae38482b2fc497e4fae78087f88f2f4581f3efc5a75976c4314aab87a0a0d88a69b43ee63f52f8f5dfe2a1445c1d6bdd4b847b260c96f2e4a03bdca140322b2e02db30b791c4a0d85e2315ad33f8b1b24f8914a430c0c59885bb7611b33b1a5a7d8fa4a618cd50e - -COUNT=33 -L = 1600 -KI = 341ef841980fa5958162b385b893ff09e8a9573a6537b39a72639ab90ac16f3bb872754f685b042c3a41f18d6a6dda6f -FixedInputDataByteLen = 51 -FixedInputData = ee9dedf58add88a1e7a9f3ad3cc29030eedb8034398d55e9cb0704eedd4fc0fb1a4210a0f533dca4b899f9b912cec15effbaa0 -KO = 3bb2e096326a4976ccb6c5ec1128f2ec1fed9d2ea7a633fd9732a949fc858d9feba49104ebb7e6c61c0acf6f2eb9ba9c53c6b828ee8bafb17f41230cd462658f50854da3e5fa490fe99cbfa0b2462380b5a03a81e4ba71ea7664875c1378dedd9097b0ab28b6a51d3f78feda1861ac0c5143a58d338a8ac2c8be0f31f09fd51b0c827db20e5492f4e6dad2e984887834d7e1a0e7a77dc36d5ffa4b34d88a96ba3555431704e223091051de148205d9991aaf56b89aa8e85443ce244558775f754fda0e0ba0d964c5 - -COUNT=34 -L = 1600 -KI = 98874b9638c48ebe5938149662588728e033c1ca8f00fe2339a0769eb770431ead55dd706781b7e33c47d4c43f36341a -FixedInputDataByteLen = 51 -FixedInputData = e06db5094821899c28b3d417c02bce84a78f3ab67aeb077acd5fc6582a06bb524fa1547891559857b38213be37fc449ef8a9ec -KO = 680fd07b5d2a500c3038e9381bfb9e9657f2b4ff2b70d4d1d2a742ed76ef48fc80aff8eaa0e26ae828a3c1824114fc77b1fac3af8ec917593dce88b7cf6610da68760480631f5317fb44733030479a77fdac8e9c9f6afc4c4d00445fe8928d58d9b42621a22bd6b7eb8778800d25f0b813ba4196985e1639fcc74e533394f0cbf65176df17715038b65bdd709a8094a73e4d65db45696d005600b75c4321169cb499813d239833f86a116ec823f941645af68ae6d0ff00ed9d4a26fc72012be8276ce2774690c44f - -COUNT=35 -L = 1600 -KI = 8d0436ef93e5b84e8cbbbb9c69c01028991c952a8fd3d1ada0038c18363ad68d308e808e4ec3a538e2c08bbd75a9fe4c -FixedInputDataByteLen = 51 -FixedInputData = cdaf6800a9d22f202429bb278e0e1ed4256fe765db29ea15e71eed40f3230aedbde5df64c6784edf6fdbea1a9ed8b0ea623bea -KO = 652353f3bc7530bdc5578ef38bc2c24b8c9ebdd72b8af66ceed08295f679c4caeaf27c22f7cc5b4100a3ad6728205ec95663f3ed59f05b1c00e6277319e2c275c23465a5cedd903618dd4b8c53b8071c3b0aaef1600e48f687e8eb19968e9c5d7009949b3e0a2bdfe9a085fa20c921b38313b0301db87df32ba79054298c1eb2eae5a83495c4a6d086cbe62c0e285954ffdf52d629c361a68edab557a83b3a5e75da5dad526889f66c82012b6bac99d2a1fc919caa74cd803b91b5c77bfc68e69719685e59d9de2e - -COUNT=36 -L = 1600 -KI = 4a4b009a6bca6c8c7dffa6856979f6cf804a501bbe4e9706d3c29a855efdc4c0cd26a8887956bc87bf937191bf3adf68 -FixedInputDataByteLen = 51 -FixedInputData = bf3e6107070df81d9fb9ef0a915ab45ad83860e2997b1c501049ad4d0172b26a78e19c8e199d203ed2ec55e2ffc8a440eb14ba -KO = a72fed5fc80932f07b2f858e838e8a4991149e61273e8163b24dfd4fb5b5d035a6223b359b067f6e5589e13e519fe0736b2096c8b418857540aecac0bd41b9324d457c2530c93759daadb27316cf2467d045979c441f811fe0007b2657fc637e46e58400e12e13cba5e3034efc2d37714972b5382e9151d80c05c3e00a030a0066e722e8dfc7f3f4ff99cb27428b72d1f4eeabc3f0f309c9134090048285cbbf8a03ee5e04c4bd9f7c6d5a33058f6d4457d06bbf52c632eb2aebaf8371f52f87a38668b2d10cc3cd - -COUNT=37 -L = 1600 -KI = c9120f9d40f91bb1ddcb59f7cbbb064153a3506856591f79eb922b2934a9f9f201bb3d5524676b07c43b92dfab8e1f28 -FixedInputDataByteLen = 51 -FixedInputData = d03874b7dcc8ef79d1c44473da46a2007152ade5a735915572e19558e3682230b7b6f5435e51724574f60ac43be37875549e3f -KO = 1fa1c3a117a53a983d0c602f3de03842bde5fd629aa46642a5c4a64403ba164b37f5fc1ac3469d89ba9595f8b349b1272b663bd7a8a7618883dcad1958f8a6784685bc24c364fccadbdd73974d4131a276bf6b9a7b669dce16c58d93354187bd0255a29257abc932137c969af4b075a1a25960f40f3675e8a6431776fe95a53a04c267e74b96f34c3f9b5008beccf25d8067fcb0b7ff2826f790ba1ed1636161322e6f8ee944128db50d2ee35fea3245ce423bb0e98d411c899d6175ac674eee792e8b96201ca3ee - -COUNT=38 -L = 1600 -KI = c4e5067531ad6c421a27834aef3b4b64de3175f08a6156879000f2e73e1858fa6122c63555be706fea484e0bae9fe38d -FixedInputDataByteLen = 51 -FixedInputData = 3e7fcce3de1cd0d2f2e0274dad673cb6fca6c894cadb0504d4400af55228ee5ab8f10a53dadd6a30bf63cf9c309714bb37f865 -KO = eb1dde3955307a8bb3dcbd1278021705ba2be2588b9a7660397ab1082b01efa8b9786d2e4245d5ab0d9420e1a1ea7759457fd0557d122a915fb98e98263843e04eb74a14993be7cee9cd744377610e1a1483369fe28df135b917023cf90cfd8ef99d6744c00af46aec45667ccf64dd7b8b1ad2e7d35fa42f6746cc76b8d4201bf1fa9cf0c30d080e9e3d1bf720f3f243669cf31721bad5a763f1dc5af13baf1a49a16f732689950ec20363aaad3db3dc877053756d9c173eb353676f770eef372ae68119a2f6011a - -COUNT=39 -L = 1600 -KI = 34c2a93f641678ea9e1e8ccbb04c00c2617a2a8b35f449616b80a3b1cb21f92cddca2f8da26a9842f384071c99d0171a -FixedInputDataByteLen = 51 -FixedInputData = 83b39223022bbaf57b8a7272c03e1e6627382c67257a03c8d730dfa66580269a83876d9840c2565f4142c4f3727d2ccb9eae10 -KO = b38362c41dfa3a2af415af99fcc0aec391c94dc47d035863c2e2e31dfe9e65c4563aed61cbae957aad2ddb29a678f0c78fa805a898427afa46fe3fa3a357fe7102e6bcf73feb70b048553b5d23dc8817089240ccd1d926244afb920b418fe5b73e6455388953ef44771d3d6c9821d5b1ec33814554d6953bd73a830a1d4c7e5332d14e7fab83dc1055e03cf443c961eeaf7267c8d8b5198a18187c8b8d16918e1bd1751aaf594377a33838d89df7dd6a817361dd1dc8aa766c860aed82b9bedff95005ac4caf8f03 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 56fd0f5e4cf1378c2ad4adb56102c7032d6bb24b48740c376a765b9eb1508dc60ea28baf59de67196d1c4780494a09b5 -FixedInputDataByteLen = 51 -FixedInputData = dde71c82c12c7a62a8c5a3eaf076388d6cb92c8d131f1f685594f79b4513a9d1923b674e4c633018c7652a936147aaff42acd5 -KO = 26aeea030a73300371e572a471a18766d3a6d993c740cb9b149d4f71d10e727b3e34a0e2b3c9f318563d71e69801759cb1fba8ee1b8e3f6b846d739d70daf420 - -COUNT=1 -L = 512 -KI = a9f95eeaa4fd4f41d6b08b260e18e48e43704d52a9e3f3b6a38e8cb9110e8fe465c93fb62e02353dd9e8836dab556626 -FixedInputDataByteLen = 51 -FixedInputData = 15fa4b5b6af3c4e2a16d4a49931f13ecf4d6401b8413a1d93cf3b30190fb7a0f65e7991ba897d4ee202ee841ac2a64cf01955f -KO = 8eb9a12d6a7123b363f31435ed7ec32ec7cd46ec00765ce901422e1ad90159ed46005d1e727d4ff8591e84f861b8f83bc74953d9a58c3a6875a4b0e277518572 - -COUNT=2 -L = 512 -KI = a85ae2492ffa15fd836a518b8b8f24e9999e445c265a2d32b50b5fa0267e9824ed6ed3a74ced823dc57285a41d42133f -FixedInputDataByteLen = 51 -FixedInputData = 918409faa779a69a2ac6b9914df476e11fb8205f20e12684746bc971c3f01a07c93aaf6f108fb3d26f7405d934134c8dc907fa -KO = 5ec7863b37220c442c95d248b3f8daae19724f32e296bc960cfe32e02cb7b1cb56e972e5cdc1dc216ed4f32f9c9fc0b2ea80e3534cd8e2ffb63259db3653e12f - -COUNT=3 -L = 512 -KI = a41a88c852dd79ac40faced37666f0aaea18a09a1c51a9551df7a79838857775fa2a1ce9983f695594f3a46ec9be98af -FixedInputDataByteLen = 51 -FixedInputData = 098bbfd510350d06f7348b95dffe60742b7e71b4d027d6b069eb28d2d84fd6032870505680dd3896b89506975f9b900fd0c6eb -KO = a6bcd7d0706e8573f2f7a1f10632877516b341688287be138d426a7ed2c8f2e41c11ed0eb6c4414fef1eb7f2dad9f9e54ca65ea31e197f7f7d6cb585d78b2534 - -COUNT=4 -L = 512 -KI = 01b4ea6d64e1b4f9ed5acd0faea130727ec34b71bd9988e8d6b120f7e87ab07ccb106ca4a0a269bfbaf69fff31fa1d91 -FixedInputDataByteLen = 51 -FixedInputData = cb4cbf2f07f11c96aa6d7442fbeee124c8fe6e2efca2398713b297726a6a137def3524cc945329e99460e25eeef2f700bcca5d -KO = c5cdf22884f2a770153bfc4b963707e677893c0773e1fbc71dac7b902c1bee533a6f8aea47c20c66e42253a155619e09cadd74bde405fda0253913f3741eab45 - -COUNT=5 -L = 512 -KI = 4b6cf77fe9ecbdf45247117f8a286bcb3c0f39d5b68c66689ccd303dab572a7786e2babe32b80eadee1aafc12f24104b -FixedInputDataByteLen = 51 -FixedInputData = 360bf4cb56577edbda6c0f97d88ad1a4b1b1e21b42e03f5830b4e669822698289a60a19721bae5dd5bca32cd705955cee7daa4 -KO = 6e51de6362ffbc279b0901e18712f90369d00bd860e9ae3b4cc3ea0e3e2b6729da8f472ba8332751d147bf4e11059f64f7967cc3eb2e1ddde1569d705165f7ed - -COUNT=6 -L = 512 -KI = 118f78559f5a989ced3a43d448d93861e91a7f7e7d67e2a41127fd853542345255199271c100e360e0d868e8dcd76c37 -FixedInputDataByteLen = 51 -FixedInputData = 7beb5c48d257433419d6447448e90adebf17bb027d19e1c515aaf55d2ba0398729ba330a61fdd5e9b8c59197d450124e7b5526 -KO = d95ca7492822e97fabac05b3b078bad017866e1bcbd761c8f40eeda718e3ec3fd99181051ab8edb4598f6b98386471f053f6f90cb03c764b0bd748dcc28d2d3a - -COUNT=7 -L = 512 -KI = 5dcc614b03a86d11d7f25de12fa779c0a0ca1089bdf75e08f118f961fa4b42e84d476f9a9be4d2f918b6c97435a6758e -FixedInputDataByteLen = 51 -FixedInputData = fb9f213b417aa635c7b5d4b405659dee5de4745c53332e67f6f81793fc1af4eebc01dc6a7f407e6867a5220bca85b37770dfd0 -KO = 9fd135b059b650b662518a55db210ce6b190776f52d45cac0025196791887b7b38a8d524ba626226ea563fb830f7a9565678f480ab3c512e48fadff38f713821 - -COUNT=8 -L = 512 -KI = 8b18c4f467d92c977b4db8e5df3eba3604efca9a42b48c507fdb33a6e3a1df281797c47b9729665deb59f9cb629ed8ab -FixedInputDataByteLen = 51 -FixedInputData = 933ba30626a77068e0893ce3fce0052d8c456e197eb22c05e8539e6a77b96e33c54303e3884d8a7bbb6807ff28caff54b84a4f -KO = fee0fe39e02ddafc529f2fe1ef08ee829ac91f624548888948665db5e3dc8d25307d5d915b3a4d994ba6de4fffa56b7992e3352953dee9875cc5b521dd7c124a - -COUNT=9 -L = 512 -KI = 238a5d13ef8a211c4127afb016496e55f3681f26f3878df7959027001bb687545b1ae0991d3be69580f67731f8daa6b3 -FixedInputDataByteLen = 51 -FixedInputData = 25ad47f0286cf1774ab767e1743860459a0d3570a679a2c4a1a38a306632f8945584d0980c39aec4f5f5b7bb12e5a64253e482 -KO = 022c5e2a7e283d94965496e5518451a8263f38f57f6e35a56e3497a285155957d04dacee53357fc15920ecd3a8ac73a5df42447f5e26b47505e40d01c62585d1 - -COUNT=10 -L = 2048 -KI = 590ea3f72dc8067566e4e523d24ca5b4ef51484bf5f9d1663385d23167042720dc0c5acf954fe21c42d05b0ceb640a1f -FixedInputDataByteLen = 51 -FixedInputData = 04166d22739c595091a6ecedd2d43b53f4a610475414d91f4b420f4e6da9b7e7950f6b14053fef9e7f752139990d08ce347fe8 -KO = 6c9fbb80919995634e2d017b4a9f848ec08dfba9722c7e94def9528b15c58b479b4e6018cbe24b55b2a988decc0ebe1804157391d48f9a15fd2d56c9d513a96640bd61f80e77fe56298e3192d38d5d1730d3ffdf6cc3c449230e3d574b95e9ca4978951e225c82d991e1f61e4601d8d15d767fc19787bf616c4a9863643ef521cc6eb316f0d0ef7861adf57acd3561a21891aa030b6c14a0a9249888fab0eb64a433d957d52f973d2d635500ee7aa1082fa59db6bff7ec78529822189f079b7ca747ba423054e0a55f2990e0006ab4a10702cc200b6715f163cb591bf0a0381cad6325be4fb175700621a3a104166a7df69c7feaba469acd4bf82e8246fcf97f - -COUNT=11 -L = 2048 -KI = 193f33b5e713b9ceb46e61725333bd98f7e7f95e325bbb181652cc1a6ab6dd71a72f95c05484f618abb9a1a34349fc4c -FixedInputDataByteLen = 51 -FixedInputData = 647f8f57cd7720b25a1381dcef1744d5b6fa7d81f058dc0e09fb9c5fee60a9c30792db6182bdc14c8a88afe100fa907deed5fd -KO = 8b01fd694bf0b3041400f39b8dc9745e329f8037865e26604909bef07d0a70fc4d0091472d36a465399d06cb7a75aef6fced63ea1a6568fe70c336873dc60d872f63972ca693d1c55d98289f7acc8697aec1b8ba3cdf3b59f24df5dd56cc65280f08bcf33071131154757869937f78ee94055a7bccffac49060885de13b1326838fcc7ab8f973b38ae1f7874ff7b8b104846cd98df17cbe6faf717e5e8235d59c4029c0b903c371954c26c26b8ac9bfe4a3af3313743824da2326c3d435da0ac25084b4faee33b3fef44898d44e0c526d19a0ef6ceebe6c7bdd26a1187331e862ac472e5e8d2fc4815b3fddca3b58e1c8b8e9b03ecc7bd2fa25e23db8cb0c474 - -COUNT=12 -L = 2048 -KI = ae50ad7baa40beb59acabdacb0ab60c6e5cac0b5b89cacd0382b60da419358b5a6466146bf29a1434f13b32a2d289c73 -FixedInputDataByteLen = 51 -FixedInputData = 7cc9ebdf41e141ab95ec2cbeb7edc2e700736d6899d5e69515eee4aa064f1176674ad7af731c292bba3cdb3cd70b63fa11a2e2 -KO = dc49234f7cb369844a235763e1e9b4a675ae211b7cceb8e4c18ec3d9fed1091a2d7e43300d14d1dcbabf9b52b69adc2f5d7ebd0357ff9cce7232da8db2e86d7a9db5585350edb4c7625ba1a7779e16786bc06b3f733bd497da33a2ea9196813c3fdfcde7586d0cbb892cbba370e51e94cb2480c46f1450b18c1fa6dec88f5f304f6c1a3d1be8d1ee5a86c7452559c8d90e2eb8506cfa5e606e83eb324c561f21b61bf0c5c29a766e67650fba68e184c3ea91c53ba3c45a485393506d8a9d8d5786df87835225de3e7328f3d24b758e4f86bd797c1fd1064b26c9495b2d0521b8608c1635cefece100e8bfe9a17d4168ac34db8c15e8e564e5060d776997be7e9 - -COUNT=13 -L = 2048 -KI = 75574497835133cdda0ee1ea07f491ce38b6040408d21ed564c930883bac168754f8de48cee9a73e9adb25fd6dd079fa -FixedInputDataByteLen = 51 -FixedInputData = 1d9714e270f14dfb5ca8acafad565856562a186d6e1a61ba17a8667b4d8a96c24cb6038f85a836343f0bf8f6526bc4f9ff0818 -KO = e97080d2d2d0be0dde275ed42d5bf7a5f9332fde63813f152f114c3aec8aba357a8c0a38d3dc371683998ff7c7e853ec00bae7d6dadcb136f37d90990c20542082ca41fec1da595b0c630098bc6bb9418e42005581692a5e93c03ec223c9e0392c6c61c79f209e018ba07f4a3a6f274c3490093fbb38bef1d394acd29e3ba097b6ff1d20b3887fa3cabcd110171404b1698c04104cc86f5aa8627ba4f2571c29498fe9bc0e16aeb4ef36ca44d6b7f6eac609474edc6baeae391d5243e050e3ca0dbcf9dc594a6e0c9cbde71b16054a9d4995c2d3b62084665db69be30b8d8ef67d745c7ba22ac0a7cee1a1845c00628094f8b2f32accbd89449f8bf604204035 - -COUNT=14 -L = 2048 -KI = fa28c3d303635da81f07a905cfb957f3bde91e281f51a62fdb6df70e6ce609aadfe187104c6110aed56a2f380edca08d -FixedInputDataByteLen = 51 -FixedInputData = 4d085c0ab0e23ff2b0a601865e4b756d0575545f9f798b33d05e963366d9c9cd30a0b35ad52175b65a78ce33921ab85453b1a1 -KO = 3a6f7e5e7ce908110fc5b0a21b618cb334a0921f4bb044f24cccd87510d751762def06108d56088ab6f19a1326e37d9ae4edd24ef9bc5c11265f4fa9c6c10cf6ac4ced2d9755328879ec4a14f79a165a5b1ea12ca831d32c5881567b359fb1e1dad58e0e05beac38133cf25164fd4120d74c60f9b8018a5acdc1704f78d844b4fcc5db691a9bd6e0f1969406f3191bbfc9520193a876cd31ee7a51ff8453ed277718f2c20c49e1c358e349161eedc387e34d5f5744aca9cdacd1c2100eaac34068bcf2c39fba686a768ecd3951d4e934a39ef4cd3808ec04dadb0c6c8dfa79c3809a50a1cecd0b17ed56f10b39f6fd1c9f732c33c54074f5aacc8e61ead9c53c - -COUNT=15 -L = 2048 -KI = 2ea48b911f360654da669ad4710f05ef46b52016e88efef163fc6df3d83b95359fd7675453970c505ee4bf9ce04d5701 -FixedInputDataByteLen = 51 -FixedInputData = f9b018cda9e1ec9dea684208041ba02b042abe50ce304fd18210822dc3a2905ca9ed55dbdf9925fca21b32bcb75023bcebeb79 -KO = c3c78d5a22e3fc8c7fcb57c16e9f1f818bee3fd6093bfd3aaf0fda3712b21470bde598993a490a1b16dea7c5d327b1e36c7ed8180129da44dd90addc5b059813e8565388d599622d789cb2833d47c70128792192010875ff482dfffdc9e6903687c69f4543b5beaeda3af3961ca353979dfde7aa89c9da049a6be6042ac6591aa6503e0764bf3d52a8305f1a956ef455a468568cf84ca3e339792223dfc44661a487021c47b0b29b62aa4d529ff39b806e3030a94730adabdf1b935c35cbc6a678645a7f36098cb9ad7b401ef5eaf0bf2b9eda28b47e895847336c186534232a7cd98647e6c64e1889501a24289ad2e8328ba945b7fe9da2ffc918b52d9887b6 - -COUNT=16 -L = 2048 -KI = d3e808279a638ab6104ededa6904946c970130bf6e096de99372281fc78340fc4ec5b812e6d81a3bd7457080d4864171 -FixedInputDataByteLen = 51 -FixedInputData = 065a3a4150f4618700b5cb70ab2df8816f4cf7fceb6d33def395322584d3584bade50ce1b44d5ccb7bb66769e35702241251b1 -KO = 0e0db08a6a3c49bd6d8592503a37f49303c97003b47e1a3c5d05a9e81558293af15b4381f4c2f9936209dc295542dfee8ec2840677a67243d9445a72aff13f41d1b4ce565d2ce1083e5f51f75399099b7d3e9e51c131ce89daa184aae42c33156ae29be87c8951d57732059e2a14142f970c3d36c896c7574074efc8c23658bf938e46dbf5529a3fc43e6da387c6e3e316f88225acce6b03742267f10b8ab7408d1a5e3e05ea1136003305767c44ce38c582c3ecf518096d3c6cce4688bb21c74512d384a7fc8b5d3ca3635b5b753a151663390f6016cabc4d1a911ebe89e75e61edd5db2a45712eb338a25400ed997bf8d3b23b8281f4c430921bbb99b7c03e - -COUNT=17 -L = 2048 -KI = 9f6a4c1ea4e2e7d211c5eda2becde9c7a293f6357985c81dc9a97ce16891ec08f5dc44351ff41abe76221657645a067f -FixedInputDataByteLen = 51 -FixedInputData = 9b13a22a1ab51b711685438951610a7d6f95c5fe4767e13884010d3b21a72258782ccfa339591d346d1ae5d31e6d40244d4a48 -KO = 91ba31e650431c6490e374ef3a0d20426aff16b25b83b5a7955b7403fb9b7e4252d78f26be40c7d82e5845efb85a4f83de8f931b9625f2f86eaafa32c3b82ea21c8b1bf09083f061524c0a1c1fda16c335250f4ee09374c9c77acfab06af6141e4697d4a539a6fbb599c42fb6192a74258969108fd90eb891f4ce8c7d2da2e361f5ebba789fabb6d3cb7f11400fe3808a5eb3cd06c8db725a92ad288697e1af1a67b6e7b6df34b87ac84174de42ba0b09d3159ec12774c79828add58211fb3c8b4a327d0786448e42dd1104392a47212b78b63f1c74501824815af042f4ed897992411d5c4f15c7bbde18c5a3eacb3f19b477c17e39b2e17ae0d3a85e6113f7b - -COUNT=18 -L = 2048 -KI = eb2c12e161c5d5a0aedb1845c0743dfa44a53b53785bec64b66cbe87a22d37b10847d6407ed356235ae852e1e61972b5 -FixedInputDataByteLen = 51 -FixedInputData = e8607d2a8ce6f63f56b941dc7176a7b003e58c6efda5ac6f34550ce1e1b4ddbc2666b0f6f6ffd53e722dcd1e4da991bfeffabf -KO = 57770189dfbccac57f55459d4951ac8127c0902b2a0fa7b7453d04e0101afbee18bbadebe03788eeb4ffe7a49497e9e12485a556cddcd621cbd4331edcdfcf7a62869cc00303bb07f871d24d44411ca9fda5cbe7ad6c7b546940229f0c99a58c8b53909e1bb70d3f21d605dc4104d69c9cdd5f368a5144525c9321a0cbb848d176d656672e0bdc166668ce8fcabcabfabd60a8ed29aec570593610cdd9273b2211ebfb0b4770d96ea96a0f5822d1b766f7b6bf90edd03100bcf77dcef884ed0619b525d42c224dbbd3545de5186d2ef65b9a39e4d3e3044f155c55286fa8ad55a6b24aed33706d854556a49904aebfa10c6cf730833c2e1dba0e8deaaa50f467 - -COUNT=19 -L = 2048 -KI = 88d140c1bde310cb54f749bf49c09978aaf9a0ad32da02ecc3edc167f047dcb49353edfad0aa95a12063069bc14b0af8 -FixedInputDataByteLen = 51 -FixedInputData = bb45ac8033fdf56e4e61a6b3d496410c79efefc5606239ddab1943b01fe75a8e2bfc0b0ad8a46b0b7ed9cd44082ba837256d3c -KO = 94ad9747c64d2123047e4cfd460fe97fb42e9a8ce25ce0e66c8b0479d0d0978600c21f9509ab3e4bea6db5d69c68426a6f520f04921e06e6b8dc7903a429184436f019b5a25168f15345e88163811dccbcd63c18c51289d15c56ca730757a2236f1247677af193b92eba215780724348f8e2a1f106add9c0018c8b1539d2817316ec8af0e7e0960828065ccb998dc510cb768ae4d2d66c37f1f5cc385984ac589276cc1484ebad0b2cabeb926913d904b8ed72a6e155b86ba10493011b5081d193dc66b34bd52c45dad5fb15bfa611f7cf8c033f0f1c3695e71c687ab0b01089cf9d3eacbb3b3d782f05a755ff43307e6446aae819620257dd33daf959d57a3f - -COUNT=20 -L = 560 -KI = bcce7ef25483777fbad9e55116c9efcd5325b45404f5b22f7de982e31b7a8b7df030d798975d98b1a933c786d6fc36ae -FixedInputDataByteLen = 51 -FixedInputData = 49fba8166cd1e3fce605d0ba560648a156d4291b409a234995435ff1dfd5253f9fe1acbe5d41bb4626e180d4a01a96a096d065 -KO = adf13773b58836a548f1a99bed0117a19a76bcb667ac9415754e057996941b108ade4b00243001898255533fd38026322d59b281e5b70a3a2c9888f68b2d336cf4aa97ab5f2a - -COUNT=21 -L = 560 -KI = 2020a7d8837146b858884a0a208e8afdec2bf62a81d011690c466461ef197703e76d81e45266157a073a4a2a33322864 -FixedInputDataByteLen = 51 -FixedInputData = 2ee94b30a9cf5f424629d52cf09de649b4f74b268bce332f12c6bc10b4e7bf82abbdc21d6bc0efbb39cf2be8cb41a2af316230 -KO = 7c301179912c01f368156c0a8704ed9d5ecb7b655a083ba08863b7fe26de4f83122edbc2afc707ab6b64ad4e982d17d81f916cfe118f831f6736b9db12983949cb0960d73756 - -COUNT=22 -L = 560 -KI = f105cf45317a4fd72b25457aaa5b988728da315192712054418730974b81aad2b272442e9f523761d81e0a0dfe02657c -FixedInputDataByteLen = 51 -FixedInputData = bba0201cb132b24fbaea232bd36567ed7c497c78b8b418bd10efb5d88b2e3327148eac9d358ae93620d12ca4002f3e6cf37a17 -KO = b64cde88d1f044fe72ab696bb203c02cd0413c4dd6811aeec9d7fcd1d127f4f2cc6b137b30efc6f59441d80a6e544b5559c643fed8f63e9d95bd0f6d6202550809d949b8683a - -COUNT=23 -L = 560 -KI = 4e849a5ae32aff6df0f45f49a963c9e15ce8ddd96c9061e14b94379f96c05fce265b6e0592cbccbb83f1dba18fc5c2b8 -FixedInputDataByteLen = 51 -FixedInputData = 0de67f22269b55f18c7d3ea6483f05a1bd9c95c52ea5bddeaf4f714b87fe7e8bfbf877852fa085bcd22d9e0359c9ee41d7a2e7 -KO = e0b3e08d00607e5da5bbb3ceffcb4868f25efabd91a3ec4e658abde6ba501ff263c5ce4d8b31374b3715bc6e97f84141fca180b956c92eef594d5a213b3da1d80d8cebc9b5ac - -COUNT=24 -L = 560 -KI = 289198761a33cd18a59fa71f86c8d880ccb3d1a71d5abb4574fdaef9e13f264761c96706641bfe065afe2d326700d623 -FixedInputDataByteLen = 51 -FixedInputData = a4ad4c1af2ea812f0be08f31f2d7eb9ee4c1e20df3d0ae3d2423b94bad7b035e8104d689dca0c39bbd4bd2953e8b149edbca8e -KO = 152ca429a903078db550bd88e0588c56d2bb477245e7942075bc4e59df82fef14e2eb542b75c75d65ba70d3787a69bcaf170b675dfd792d778c15f14cb0320e5236be0948041 - -COUNT=25 -L = 560 -KI = 0599f837c677a833c75df66f31b3760ada5e2dfc14a9a3e699f6bf8dcad9191fe261fd31734fa0782765e3fb7807fd2b -FixedInputDataByteLen = 51 -FixedInputData = 8786cbf9816b5bfab4c6efc8afbb996c7f5b8cc25cef7f3db2da32d60120479136590ac3741e9310cfd11ba5bc0511e329bcfd -KO = 8f63a35e1f93e95df5f417c48429d6ac1c19b369f703959496d2d839734c567eba7d6c7fa1897417c4ef3d4422a1bab250b4e876396ef334c31cf05b1de0cab8d05d0846b283 - -COUNT=26 -L = 560 -KI = ff801f748da8810dcb260624df3162b39b77615f33ce592ed1cdf329d6a55e4a24d36cb57e3c3ce3d635cfb6898383e9 -FixedInputDataByteLen = 51 -FixedInputData = 98790d0360aa45b673a9f8724ece1123b5041798b241521b25fa1d5fba19bf35fb617078af03e9b4a95ea95c20e974c40f7a2f -KO = f9bde3587621f5bfade7335f7fb8315d206829fdf373eabaf8bdc35e0986fc1ed347e45719ace81dbd7cb168b829cdd1438eba30d3494e30ece4b3d64e6702bfff5591b5320c - -COUNT=27 -L = 560 -KI = a1d8d47eaf09f019645afde9741becf5d1546fa66cd9a3d630843b0836f00d13ddeb7966e84ca6516d0203feab86a238 -FixedInputDataByteLen = 51 -FixedInputData = ac03eedcca3b031e6a4e2aba93c3fe9c364ac59465c5bc84efce500ecf825e40495aae78eb6bf29b68bf1de32d7a4f6f4bd58c -KO = c0a9adcad28b251d1b0e27f3c83ace1c0e8253e13fef3550fa81b8019f3758df74cbd31f95c268d1961ea4dcad9b3deccb5a3d86e54694ddb59f1fc2a64553dc133f57f4fbf2 - -COUNT=28 -L = 560 -KI = 6afc3d753d14887319ae6ef016fd6f57de14651fe1c0e68459a3798abdc45f6814ad179cea5266d7346d234b074e78aa -FixedInputDataByteLen = 51 -FixedInputData = 50c85cdbe112e332b32cabf537c4d08094664ffcbe699c3ca0234584d39c55c993d5e94f118a10260aa7736afc2d67ed182e3f -KO = a149390dcee268371b1a7d99458d262da0672e0ecccac9ab3c6c4e3dd3b960c2e879055597da494c27144a0b5c8dd7250bbd95a7f7949b3790bbd24687969bcef2f5cc1d6d14 - -COUNT=29 -L = 560 -KI = 5cd54e5b6ee27cb137e5d27708695bde727133fe5a9ecb380ad0b49a1528633dee8cc3df23709dc565d055182d8ef157 -FixedInputDataByteLen = 51 -FixedInputData = c5e36e68e3847f7f67cfffc4cb641b59e2676c11b758a1f762c7079b69bcb9d60d42c325cefb489d3be5da592e15c94e993723 -KO = cdd2eedd194606d000712813d2762c04e2f0052f1a117e1a176aa12d28a0498e137ab1c0f149aafa1ecb4738be1fc4869629946c96d2367c335b9c53999d3c5965c66bb222b4 - -COUNT=30 -L = 1600 -KI = d9505ba0a77c9964c9d3035acd635a0d818a660bbbca9160cb0fe7fc1326b83d1091e3fa9ff4dc82976c563ebf3bf7e3 -FixedInputDataByteLen = 51 -FixedInputData = 2adb42229feeacd0730fbfc544ec1aef888ae9c0082b01c211e8674a0e62a0c2753a44b72d056439c49850c6e8d6d4dae27b82 -KO = 84b8d21e9c898d5c4a66359ac2a33b4343e3475faaf7b40692e6f44a9b9e0b1e6fb378a8c91e03d78406688915150fa45f266e3c5cbace996d64395ff19db55337f1af95e045f7a45387ed74d5f769c15ce83063094c0e76ef25679e2f567de8e1852c5852d1be213b324dbba9958a6c7e672962e8e69e005b70b92a1f5fe3232f6482dca01100109a6c29a65675e232cf45a1eedb7cdc765993b37d7b743019a1b100a232085b15812915ace3ca4b1916bbe458a6362adda8dc450be87cc8481e4a96aba74fe386 - -COUNT=31 -L = 1600 -KI = c0d84a91c743117e81b2b1627fcb5e0e12fe11ec7d4edbf1e61831d5e50cdc25665263e5c49375fa3a6215ca311095c9 -FixedInputDataByteLen = 51 -FixedInputData = 58e37f65d03e1136880fde840b4c74539be039da4b510fba237b320f4fb43c254accf4be55d4e0dc1d3a32d99ba81d9f2ed28d -KO = 081ab2b71c1f4f3e46df4b4b0980bbc5159377335fc5a88c01613cba4340949e24f895a5d68bcd5a714856244b0d31dfd967ac51cd7acd3f564d305546603d59ec95323a0d0094d57da720a76adc47a5ef453ac366ba770e1fc594bc632fd9ebd3e02d72362ff2131bbbac2e894f4b68e9835a5f42fa3681410af920b9be12a3404906d101bb839bcd60522401614c1ab8e01a7cb3a9f17595b59e3ab48e539ac173e29c79ec343bb69c5d99d51cfc804b42175f21492f1bfb274f5c245f3a7532f7f907b07474ac - -COUNT=32 -L = 1600 -KI = 64e446db6b3862039ee1abb354ca6aa0dd32dd098d73885178c17c48388b1e1463407de57a0912dbcce89098ba80996a -FixedInputDataByteLen = 51 -FixedInputData = 71a25233c2c146c7890d514e7c2e945f5dfcd1c9d925b1afe0182bb0d06dbe85179da191e9dc6703a0ee78faf0d955980d636e -KO = ab7a368d8d8bf4c3dd7d132a808213fc6c8dcb82a3ad569e40e2928d0c982545a68b1906112309acf1ea64104d38a2380235b455856547aefd5c8c9ffd941743f9a86132dfe95ade5a88edb31a8e898c5cddd5aef257c86ab4f178c83115efcd24d26f2f7db765d8140217acbdd657f31046455e769019708946cb631019753a2912e8afc72e0478c2fd5b3a4e8fd9563c2f54140668fb871aa449e7fd604ecab5c2075aa5733ea0874aa32fd1c5a3c611347a74c47ff67beb7bb9e72a1dc63c3ab0d592b0cdd820 - -COUNT=33 -L = 1600 -KI = fa4b5c3702a8354cf7711821d02c62d665d9d1636cb297d7761208b6e0a56282f9bccd33d3e167c9e94e6b34aeb4e234 -FixedInputDataByteLen = 51 -FixedInputData = 8b886665cbd9ee1875e9dc38ee1c07fb2d5644ec088ee008fd6d63a3d34b1a3769459f27c29ee544cecf5a610cd9a4fae3dff3 -KO = 08f134af8047f17b827b104e3828670fb8842795e654e59261048d221ea81d3317da41893c2106945f4fd5e5bb5e49884f3e3eae33fb3c7534ba44aa871e175ea1b4b3f55e3fe41def0e600f27f828ec63c09bff7814415dbb5b36edb5c0ce677f4ecb12fe05b247db2ab34ec617559a6a7c7f6627633b64731eb48348861652fda751ef63c15fcea2db267f3cc33f32c3d6127393fb9c270af7f43bd48d85ddcc8811eb8c8cc620cfdccfe1362030ec927327627adac9bc253382f9a08bad9825da7612bed7f9bd - -COUNT=34 -L = 1600 -KI = 4ed3cb1bc11ad0525e9141200dbd38688ed752bbc5342d54d4f07757f08d4f22d537f878bebd90ea632893b18279b5dc -FixedInputDataByteLen = 51 -FixedInputData = 2642bec6362969a905876186f64917f7a0f5f1c4d4a01d2f1828dfcbbde5e10fb3a68f6bc7e40c1844836ceea26ccc35b9e67f -KO = a9de9697fcac1706b22a7c847bbab45dc97dabe381048aa0e33cfe40d39caf30415e48fdc4d7c4ac565266f1dc1c2174407541896dba3aca01b732c870903636c9f7dc38ea98e376c0694232b1004e41408cb34410f1e7e0132499999155fed7ab8e1c20e3090d30d836596190a93a3cc81812ac36902148e91b70414972f58a27901333c5dd1f482596a9f304a5ec625b6c60f8b02af46d5227b45746c402203c5b07746624d4dde62e7ab3fdfc665c6fd8ef43f2241cc722485fc2ac1cf3c69d89351eebd16db2 - -COUNT=35 -L = 1600 -KI = fa77c0690e5b674912429b754bbfa2b0f009c569fcb4ea9836b924cb53c846a341c7e1423d715899e82a0b5c4b4ec7c5 -FixedInputDataByteLen = 51 -FixedInputData = 380ecbc7d393c5ab0723013badac722658455fe5a1104522f56b99c085abff5884211bad7368956024d94749aa0a4c1d24c96f -KO = 081d6c2356446f330681450ac540282e1d125b434aadec07f2d47d887c29ac5100ddd483bd5329f8d24b3489d2cd145cc54c711efa1bda6c2c6a0fb2548ddd7daa1f205537c453edba91a13c2fd64c69c8f2b9fc69d3e6f5acdfa7b3c35069b602b3065130b8ef03fd8806fb56b863e5e015cbacf2003794f034314c4702ef16f0619a63e0361bd4db8dc63f4454d1ccd5d4e3ea080cc4c3a6cd4db84281f927d12717b3912229d2693a3d5cdfc08fb0aeda4efd72fce0e31419de9bc0780226fe6f487d1f19bf55 - -COUNT=36 -L = 1600 -KI = 22e0a1a08479c4932fab8c0303cf5c3533f33648edccc80e4419682e4e17a427098d2a0f5c683c65bf706aa13cbe8e57 -FixedInputDataByteLen = 51 -FixedInputData = 5e9cabd270c6562d1db8f5237ec983e339615f787d935016ccc14a5502b187aa011fea820691a7e67956a7a6e91ffea4737212 -KO = 06133ca0656bd046a0d93acb220690790e0f678485657091418b4a90af55612d4549f102ea6b827d1ea5f8ff9c9f2dbc74a9f190d6d4510c1ac3259aa679a1da4dbeb817ad08ecc60368e6c8cf99e591aa0d984ce5aafa0a9d230581a99c8338ae6277bcb35b5e20fecbc55620b20c7b39b0c647a8d1debc3ddecd1606d044eb13de16197df6f9709cb32749a2e19953cf6195908eed76db72f8a57d5ebcc87468d0b43c3caccc9c71d171ebe9c1ad697e427a52e59e15b05a2d8fa58fa7bc1c6412a541e4357929 - -COUNT=37 -L = 1600 -KI = 59c8bcc611033e2fae1078938ee4f5889c4f6ac74cd3946bd2c1c926b24082219b004a54902a899ea8fabca351a9f9e6 -FixedInputDataByteLen = 51 -FixedInputData = cf6d50879b19c87afdb2861ed8d2d62b17d34b03423a4e8361ccc70c69599a492b8c4d66b8d29270a6ba55856a05c27ded6a36 -KO = fcdecd6f89d52a96bf1d3ebaeeb04f0b1e1d93102f2d3bf6b7cf670b5dcd5f26649bfd412a14f7a65b95ba0331dbd3a9bb9480fe0d98f9aea2cd66c8205666cafcff573d69654d0afa9cd85adaf670892ff3911962174d676ca537bddf994757e31efad02a13b9fb23f5bfed517c55e4f5bb3cedc244eab00b7ce7ad8e8f873be927586d82de6342f0c0b26b1878d489f5f29ff8977d807614dc5059cd7c63518945483deaf276eac2a14fdadbf0b21413676b09f95f6ba8f4f6e295584f6145dc38ac2e501d175b - -COUNT=38 -L = 1600 -KI = ec4271da43c65f9415140ef15e0aa62394d85fb479a9e0d6e522206c5a86c50d1399bae2164d747b33224a2e7fa25ade -FixedInputDataByteLen = 51 -FixedInputData = 07a69ab31f6c8051ebcb649b479cf08cd379fc16c0faceb44637a8329573557329ba8aea3b810a3d6c55893549088a8da8451b -KO = 340c9d364163d969117843561982a1aff20fb63d1e3cd730d0170565d5ac0bd08c59135d3c43e5bec45b1477b979c1ee899a3159b548181f9aaf7f935217e7cdd8bf294e4ecd1f88f217a1ee8cac9bb816b1ab7fee35027f298ed9104d397104091c212a91e5872708567acdf580421d3aab681e25b4442d42ee6cb8ab2230557413b8127acbec2b78f1b788438c3b9859e271cff5ab793c2d18eaf515ea34c6a276e4b8a1c5bc28f6b67dc2440f87bd3d8650672acd82f9ff75d3f9c209e36a0ea17c0c53cd0d11 - -COUNT=39 -L = 1600 -KI = 596b07714723cd4d1b4255abbc15204d8a46f84ce1d9ad6986259a8747af49fc05f06ff71f80509241db310566345eb2 -FixedInputDataByteLen = 51 -FixedInputData = 74b235c487f356938459dce046e911d4a46d4a2b751b011d781295dfc72678ed15e2bf0385abea27c29b02cf160b303ae30eb3 -KO = ffd9ad78a3ba6743adf33e64b32149716bd0ec664c5bd2887ee4085d2aaf1e265651ad551301ef1040359644914adf3aec079c73bcf5b56133d6d3c53a511a9c96a1c9df7df39b8644906f2a2b3c186baa1c53929256ef06e29bef3480f930097f798c731ce35beeb9425b08d9e30384c5cb7c48faea4e77a317d6a86e2c1dd41c0de41c5d3921007c7892ca5a312c638849566ee9224febca29a4ad62fb9e04122933f0650160a9290f15fbeb7ee7fb8318d6aab86d7e3d7d466759dcf1f6025936b3be829e7f50 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = d94fc30f1fa073f5f7bad83bd6954efc4fcc3055a1afcca01bc59c01cfa9966dc0417ee9f79f58d8a98d01eb060304e7 -FixedInputDataByteLen = 51 -FixedInputData = f45d7c52a555d087d4c392d09316f2a4bb30d75f4e55d8f3474b29bc77fedcbfbb16dd31fa505b23d00e9d49a624505c027ba7 -KO = 2300873bdd40616a022b53d3a20e9210fe5ffdf2262c16841aa2bb5d588d3c5ccf1491a570e3ddc17ba5379c4d7499869c816d8311a9d9c246ebddcd39863e3e - -COUNT=1 -L = 512 -KI = 4d98322df64b71094770485ccd0f85b8db42d393f579d955f02ff110eba28ec44bc3877698462b394f317658d21a023a -FixedInputDataByteLen = 51 -FixedInputData = db70b05f6a9b728fdfaadcf2d6280d9d8f417fed888808f426c2ce308cbe94237cac46047cbc58b56eba67ad45929bb924c075 -KO = cb085ae35469918ea66067c790084179755324993beffee8f56b066305f61674a7fd40e39e52cda2e835cebea53984dc1ad63e12ee8033e26ec392edd109053c - -COUNT=2 -L = 512 -KI = 3c7ce186fb3b33563bda95d085ed318a4095d5bafbdc6aed0f658aa9559d15029e76824ddfdb041e5b2b25aafe107e07 -FixedInputDataByteLen = 51 -FixedInputData = 90d2011ab078a383d52d20070d2f86add727476fc7c07614c4dd394870e2102eb95fde19ccd2b5f08afba8b3048ece4b340426 -KO = 6170ff21fafcc62db14463adfb77147f4d584b14a5f188b3efc8a7612af935d9618d906159b04cbcb47f30abed536d258883d862f12b6d84797396c5f0ce178d - -COUNT=3 -L = 512 -KI = f4babc03d0c07802fa7244eb67e73f8bc6bc5715788022b704983ffd1e78d27076968252b96c9a07c5c02767ae05f798 -FixedInputDataByteLen = 51 -FixedInputData = 37f7bb1613960133c97de11617fb01531e87f3aa8a6c5986ecc1fc586f65288a7eca00b95ff44caae867228d67210d3a73789e -KO = 4ef335df09674d9bb3e9681212c297aab7100d0c1041ba5f6ad0131976aa02f6dfb4dd0c7cee074a5c268cdaa253f8a811df904818c4e786b402a27bc965437c - -COUNT=4 -L = 512 -KI = 1cc76ed42736bb2bfc3b7ae4f45f7dd462bd3bf566a4e02fe8b236a0c38a6b98f1a28c6b07e7d0a39e41e7b3b246f114 -FixedInputDataByteLen = 51 -FixedInputData = bf5baddaf941521d855381923d30e77775cf21d58cfaa67a25db47261595522a178f8f1964ff10b0ee3b025ad0796d7a211ad1 -KO = fb5ad91776ff9bdc2c34474231d24dfb64090f0a6b63164b10203eeb33f1d85c5d9533d4cec4d607075814c6b5cf130a2b6ab4ac591397831194d67c79c3f771 - -COUNT=5 -L = 512 -KI = ae0356d1ae07c405ab7d4cea6656abffb34a6ff020318e91286634fd8d0c95a896f900242466f86911ebbeef030769e1 -FixedInputDataByteLen = 51 -FixedInputData = 85e53a68caecebeff123e528040b8d5786f9c3d3eb270d76facd548ac0fc6a940d1ba1141f5d4e47b4e12c10b1b3282cc18eb8 -KO = 85648ea64292d6c81e770041cfc7e37a358e28ca1005e3852825238dbf784ca3631da329b8dc270ad3688b44276745d8b66cc62551f9abeb6ca7b307ba22a09f - -COUNT=6 -L = 512 -KI = 3945113fdfc9815a8634abae62289768e291401e1665cf3ef3af87ae2aefdf27cbd7be39235ff7517cee102e122050e2 -FixedInputDataByteLen = 51 -FixedInputData = f6dd09fd6972d5288aa28d275c07ddabc6f27c2c7d7ebfefcb0540fd8c519c61656b0c1c633b51646b2f90e4fa2538830584b6 -KO = 8c55d30f76674e52393f36910a486cf0bc7d27883831a236ee85800680f4bc25b7a1bd96632acdf749cc75b81a57ba2677a5d88549e4877bf2c5b55bce968f2e - -COUNT=7 -L = 512 -KI = 7b819f0e614d2a5056d1400cc1d5f883ec776416b16bd93cbaa161c705855241356cee793fb05b8f1c56046fdaf51324 -FixedInputDataByteLen = 51 -FixedInputData = 0faa261eb4eab5141f32e6f9217d0b107fe5fba9e80d82e1e9009c39ac867eff748b975ee5f41a76821d3decb4f2abe9e6f5d9 -KO = e7173ff9b8430bdb39bf6717eb44596f936129f0ba1c58de851efe8ba341f2a00c0dc8de6039eac48629cb056a5f0076c85821e8261ff840fcd992fd683a577f - -COUNT=8 -L = 512 -KI = 208e05fd283baab1f93a0c65cd651e44cec9d27e60e6e89e2464edabb2d28742122a8c103a3de3368c95ed350e4ee162 -FixedInputDataByteLen = 51 -FixedInputData = 8235db9de889ce3d27a709b1f395e24e0114f935e6955e69f91b4e7fca81b24b2969160f97c72bdb1d3a20fca0b5471db91cd4 -KO = 7dc5d7c6994c1997582acca6e9645eccd541438d8bfab7e1787c034475ba1d9cb57eeb99fac94c750421679d89c157cc15e3eb06af017d65b98d8728865f04ce - -COUNT=9 -L = 512 -KI = 5f4ba2d8a3b6ddab69a33c030570077cec5e8e5e39874b5a2322368b1f42186f25cd073a1cd750bb9ce8c5c0a5fe4182 -FixedInputDataByteLen = 51 -FixedInputData = 0df2d712b99571b0f61616c5a8c861866bfb33fa53cffd2a005b3e47f6b6bd74ce3616707265bc966023ff0a4d325b1cb6f418 -KO = b98c4b5453e27559a0dbdb7ac6de690d66fa356af04babe22289c925624598647380fd334395a662e46ed216c80dfffc395f4913ea1e31a91b93ad9c53335d64 - -COUNT=10 -L = 2048 -KI = ba7388a1f79ba6d24553991d2117041dbeb5c981721c9f21a4409284d54e0ffa536815bf8d689f336843c67f75b4ae57 -FixedInputDataByteLen = 51 -FixedInputData = fd4b21da09b90708fa9a62acf6822095e197cf5cc6828618ac2184e05cc88f2bace4a47ab94711b890864f6fdd8eb3977e4344 -KO = db11237bb271333cad37cec49e4f85175d856d8354e8ced936aae18349316c61110b16903f2a0378f5fe2fc17d23935a72f840d48bfc65cc1f674b813506ea82570f519861ac7d4f8300ed893bbdae3081bf132044c2fe305e00ed51ebdf3a8e9ce2796bd0d1014a3fe54764b49423f2adbd33b9c980042536b9d3e8b9832a7e43eba1ed0269db44ef694db0e0d92fe4d3e471e26a3f4e942e46b60731a52db1f4cc0abcc9f7f32ac7ba346eae66ababfc42b4f608ef54786e4619b08d38f6da7087f339ac45e6e61186b14619c18f76c114438380a5739ee1be9d517bf0f8a6daa0aa4a1d2158926cc703f7521d15dbaf53c06cbefa140225d7f1f853645b67 - -COUNT=11 -L = 2048 -KI = be7a5d8f1808eb71bf2ee0ab5f52d8df8c5f581f793c5cbeb4bdbcee70d7f1a3457bb48f13fccb484754942e93a023a4 -FixedInputDataByteLen = 51 -FixedInputData = e86a33fa1dea2a3ea2556a1abef5f3551a545f791413a2a51a30ec35ab4e363310353a8af3c93737085dd2994064b814edc76e -KO = dff8f2e75cfdcd74e6a59eb88f6d80afa6c79a107991880515dec3cdd8539a4de24c30b756524b77046db66e87dd9e811ae727b3c3b8b434bb85c0e141bcf4af534ae57dcd5dd476f7707645097b412189795501ec01079052ecf268cc8d6c0c562ff3f7dbc8d011e085f605d72f1390d5eba6ee92fe05f6a4667a992688591e9f4f8b474a189f189e5126904b2ac627290a4511ae696e055290236219372e264e908f469c514b525dc5eb3c49528bc90ee56f8a68c35bf13acf595b5e2416f663f1931cc0e32aac9a471a1bcceafcbf6dcf00af906898d6dd8a84d6bad49459e9ed050e90419773f1c9f9e46f0bf48c1940dc958159e0b9eaab250488e92936 - -COUNT=12 -L = 2048 -KI = 14be3a8d40767b452fc8da670f7f7d1246a7394550c48a371bbc5afee04aff6a648639fd1f41c79f6f03d23b47f281ae -FixedInputDataByteLen = 51 -FixedInputData = f9aa645b0ebc55e22c0e82967035e540ab0c27a3bb4ce5c2fd646907317f4766006d7a5763a1506648598b9efb6aa3a8b78920 -KO = 40efcb7498907ca1af8fa6a5bcfae6131ca16b6985ef5203d3d307caa7a041ee6432d521a7f9970c346c4a7c5804e6b9edfef4f19ab9e18a1a7f84a55084038777354fd6fa3aba6b4631d6c4fc7744a7e1883471593d0d1655455b51863b5681bd1ae1a4342174c2683fc3157968a5422f4d9bd08b5f213ecba4479fdb4550a8f0e65339ed982492ffc29fe5bce4625448bc655a8b7c487ed40a5ec090ab6a52905e8145f3d6341cfdad45095a893127b6c159198783f63051beeab281bf994e3d5c60029f6e448508207dd92c23ba822d72cf4334912768965b380c5972e03b3eb8fffdf31f996326cf8bbbfe12a916b8a76b29cfa1af7f2a93060416fd76bb - -COUNT=13 -L = 2048 -KI = dd40f7705f6c1365f9a4642b900cb95441909b3efa13991a7feddc0bac1b53fe62d2ef3586a414fde2f728274ad18420 -FixedInputDataByteLen = 51 -FixedInputData = 21baff252522ad5c1d558588f2e06aa37941d1e335202640c1b2134eeb51a1795ae1a70a8c777339157a3cdbf1e52cb31b2064 -KO = 8c37017f8d1b572132ca353618bfacf1239e8ad3639309cd2b9123d2e6eada02efb10a3df2c53fac7135b842d99ebafc6b1c1ae68152965f924ac12732b5632193ccbf4a9ef2ea63affe8e803184a3d3860583b7967433f8efd0250be933521db0f9f81d579be3a0aa14e070dfa11c72039259553756c964bacddebde00ae6472d3c76c69aec8a1313b88a125b543f96a3487e3afcfff39596fa138a2722ce3c6842051aec721ec82987e5f9a61dfef283a7236f210e30a685babbbdf45f5ab4e2241c8ad14acd782a6a4bff23b2bb49342b762c7ab162406f87fb3f357d961f47dfa91f1217d6eeafcf6d41c3b69e9236a1ee3993b5c658a1c84bbf238df7ca - -COUNT=14 -L = 2048 -KI = 23fad467b697ac955ff14e2e0316f6ad2cae24aa44a25144d5c7dd671673c54acb1ac6d9cca598ad63a00763810406e7 -FixedInputDataByteLen = 51 -FixedInputData = 212b3b151b7fb528f634febf29fe2b02e6b2a91bffee30638315e4ca9ad25d3f42fccff1e871508831b733512c256469529b78 -KO = 17347d779b3f6296f9ca339d3dc944eb1444d5b013229a017d52b3543c72d952df8a28b4368987a19b3849bb45d6b88bb82a6cb46e96e0687f214cd307bcfdcd40f1e7ea8cec6eb77108e1e9a52d9bf9d3af240193b945e28b6aa6366d164b33eb5777b46aa38d826cf8db0cd603ab4e263363094508fa9a393ea949972d313b1ac729b0aa80e2c3ba72389d12d8c50a2012bf47a2ae28a5807a0284165e719ece410fd4cd5176b3da6db2a8204bd7cc651c5bae14f65d2d224238b622cad24bf6420626ff7d722ea1b25902204f91f19f648f01cca701b5605afe12b357b0cbb6454aa661c7644faf95752cba33fda799770ee9032d86c5160c46accb458850 - -COUNT=15 -L = 2048 -KI = f3065258542c96cbd16fb884a34cad7a02b6e676db2f624a42c46833d3d0e71f484b8b8e2dfd025cf02b1c0a5b1b1c4b -FixedInputDataByteLen = 51 -FixedInputData = 93a9fb1fb90775f39e613820ed5533fc61df494050512886e13bd4b27f8bbd87cf609d9e313e00fe26816fa86ec30dffef4b0b -KO = 14a888efb5f814a1430d48465e6d11dd7d21b609efd2d5125018e430abced1774137cf4db6bb76bcc378ba7fe52a93ec3d16cd131f582ada9d02a937bcffd5785a5f66cd8d348cc04a7e793e21615f4df4a8f58c733cd52d6d5af7dd128c83882a08668422b688102729af5b2263c673584abb890c75f4c4c4ed7cd14240b96adaabf766e670295228169b2adee2a5963fb41ddbfea63983c6c6226786b13818b7ad149778bb613ec4e4e3e1470fbf2b5a73652afa23926a384d718ef30433b213ad20c4323ae2dc1be1d70a348f9b4fbf9cc4938a5a25895550b22cf33c900a0474cd87f11498affce6fd33f67629e1e8bd83f304bc3dce80760355a66d2cb7 - -COUNT=16 -L = 2048 -KI = c3e3595d9e6e9fb9b09d61a0e01092a3b866dd0977d1567bab5af5253268fc35997426bee973657309b61b0b1b76aefa -FixedInputDataByteLen = 51 -FixedInputData = e799dda5e1b219c784a4c69966980d37478496fe331b3beecd150bd4e11fc01b0ec20596f21e107b1843bee6cae3b1afc66f23 -KO = b1d5d67a02422eb07b817a89f19ed92c1ce1621068e421cb35b80888912e5761a3d2b81b654377539825b6f1517c704c382cf900b0ca2571c714299f905026551a24503fc87d0e79e87afc7d24910210f76d897f47dff446d84f54d006e95cf2195322c41c85879a94c3bae95acf3eecdfae377b5239a969c9f1557f9b98862bcc576e768f034a1c2011bd47f46de24304eba975c108ad480a7cd075e210845e2857725199d02b2d79e06710a2a2027b28d0fc58be278da15d818e421928a01d0f798294edecb6f79dec11e7c40140cdf222eaa0b46d6e91ab3902360e9fa13ec9c7470c83d25ed2b97e28582e22d3593ed3ca72f7eb24dc75c2b7b320cd3fcb - -COUNT=17 -L = 2048 -KI = 470dc6e3fdfb31c305ce3fec2cfd2f081286b4dc42c09d1354eebf96dc66dde45745033dfc05575cd0ab8c35f0e2d65b -FixedInputDataByteLen = 51 -FixedInputData = 1dc34c697b4a68d1e11b999d818c18962cead60d205e5486d698601a8f69938fbf1b07d923da1014f485f91c2819e3433aab98 -KO = b43f3ac818a7fed0c61eb234d89931a3b2dda85980528e98a19892a0935af8dd25821dc47b9562eca3f9bdaac701fd749d2e10a62dd12473b0cc91c21e1ecf44a3770df06069e3b33843d1364851577b3a121a046cf99e8de40ad1c0fffcfd1df5a79ec86e630fd2c6dc8629392a10daf660a189a726e11958694deb8ae9c3266a713a2d81f66abe096c19971a648bc5e82051b1ae9750373d043168dc0d77d3594b71f388ba660cec74774c6c6a15bc4c60b612431a99a7988c0f57db024b69a76cedee65532b392287f21ccf763dd79c8af11ca9e111198fdc3c60c44f96d1822447980d33c9dd01d1d52be5e02a780ea2a2d70f263a5700d4dbfc2a9b6531 - -COUNT=18 -L = 2048 -KI = abba0e61599261526a653efed3275a2388aef6b07bf6f9f01b00ca2dada2e9d47221a0bc8faf5f13512a13fec1d73739 -FixedInputDataByteLen = 51 -FixedInputData = 93d4f9d0bbe68d6eafdbd2d1fbbe0fe345cfc4b8af346588328bc847f35fa75de77a0c1168981103e7d182fc024b20ce690b99 -KO = fa9b9914aa880dada20098112d6300239df7b1f2fa126e95a30221fde00c6fb52daa85efcf04835d1e4b4582e2fca400d858cc6c09e9e56415c604e954df430c80b8647bac3f7e07e9e63cd6d196849f14c65357d539117409836ef70df30ca4ed84ccedb318e1c0c295d67301423a4a566bd383159742ba385187d42d53f809c575a81bd5769883715361de2c3420ea74494d6f2d54caa7e7bf3b1d1c717e4aa1e725e03e524babfd70f3d23e662648e8d0961d18d640162ee2aaea8545eba5858a021fade296cd50ba0fb6d01996c59fb2f364324ec3c61114b5784813c5b3eb88dd8bf92ca1bc3d1e07ad88e1c10259235a9db6f064c98b04353ff6271176 - -COUNT=19 -L = 2048 -KI = 134ad598ef652b69357a61ca9108741c17ed0d4d58dcfd868e99c4ff83f61d3ec9cd4c51fa0e6df4e65babdb827361c5 -FixedInputDataByteLen = 51 -FixedInputData = 3f1da4d28ac6907af7caa06519e40592d88de177017ae4f7d35d3e53561e808ea7854fe3a73a25ae7537d1840a19f0fd3121ce -KO = 5e35463c5e99eea875d714e88e3b2be02aa70ca9ea19cbc0385bee67a7d27e365d8611a407b82c68ef43591c74db588b2acbdcc2363e5223fa8b243319663a308a262fc2cfddb8cadcef35334064650c8045b2c143a0769524deb557d5a05878373af74275e289d5b9539f031b4801be2cb393029d63887c128b9c4ab8dd377263f1b82d72ba9c8cfcab1882b0daf82139babfa382d4e578c506797aa63240d44c53b6c456fb4abe6abbe146ee3ea77418da11b19d40fc88bef04418c99e357df95ec7a949360169c1ec9c70bab7a940483af9646f6c2e8ab10dd6594e99f93e39552c55e2d6d6dc40c95678786e8c7ab2fac04100aee094067152ccf4916158 - -COUNT=20 -L = 560 -KI = 4ddf5ea1aa17852b25d9c8861a07a375c186eb7a6511bc0e6ef53d8e9d6030180a02c13d12be092cebc13980aa44d494 -FixedInputDataByteLen = 51 -FixedInputData = 2a7bc5609d1c51625f7a4f7292f59e45188c57c9025df884a6a15f5a71e3fdd31eab8657f66406cdb4d9f7a8a4b7dbed2db803 -KO = e3a0efd9e40ccd84f85957c75c30873e3fd4bdb108983d73eb716660faaef1489da78b239c6ef8163de8c985a5905f264fc83c8eab35ea75394612a8421fce9641f78ddc0403 - -COUNT=21 -L = 560 -KI = 6c2c1d49eb9b804393056dff814948c4c1ccc197b1c4f02eacfbaa1e6ddb081b0a84efe715e4821beca8357ff80ba799 -FixedInputDataByteLen = 51 -FixedInputData = 63071dadde33d069a5934315f3c327cf3fa6ce1a8cde8d91affe80f73f1bca3ea95a0036e53c3597b5f1ce930a9c0500bbf8ff -KO = 994ad5253ce78feb5aca9e4044f1549a0e134b2ab65d97fdc3189770a7817159f509025121cfb7ddf02468517e61d14055303a1607a9cef4c96ed1e26fbad6eb14972ce18474 - -COUNT=22 -L = 560 -KI = 850513901862e117f13309583d751b378b767690bc672081d97f1a4a477df9a12d1995c37cef54752209f789c0dca07d -FixedInputDataByteLen = 51 -FixedInputData = 461a6c29ee332813e0ca7aab1a77d4c697e8482a1c7b3b7fce8e7d473a49b02c5665c84a43b7449f91b1d6be5702930549fead -KO = 31245d546de8f7e61ca491cb454706d297341d9dfd08ca15d03d6efc69d3a9ff674a29408c7e96f2f565483e4300fcef0247336bebd854a5b426f8e58138e99712e12572a59d - -COUNT=23 -L = 560 -KI = 7bafc535aca4dc039381104d41213f3975ca1ec776bcaea0f904b180f2a86b4b56efd850a2deff2f1db98175aa9d6714 -FixedInputDataByteLen = 51 -FixedInputData = c8bc1cd4e6a8410c5a0e4c84c2d44a58be7a4d4ad0dae70c5aa90186c47fb502e554575d225cb0601561444ceaffb3a2675176 -KO = 052be7ce5aaa2affaf3cfb83ee7ada7da85dfca01f09923ec54c4b64618dd4fedc90b327f7eb237ad8c39fa59f9bd9b4bffba019b690b47520fea2ee3dff154b3251d53fa66f - -COUNT=24 -L = 560 -KI = 0a531ce522e362d332851d55a557427d547f52b128737324e91f5b3af341b3a7c7022ea3d6f624fad4c670853b54102a -FixedInputDataByteLen = 51 -FixedInputData = 216d6ce0df7f3e21eed162e8a34e14c97a49ad4c9a2fd72f646cd816af464c0319543907daf496060151196aa1b39166372124 -KO = 0cdfac27176ff36cd1c806f395913d62f4f20d013e2735868dfd18c8df500a13bf17991523321d99ba0e36782f8323f857e82d7795181782e28389f7896b8a9169b2619e4321 - -COUNT=25 -L = 560 -KI = 47c78ae19df2c346e5f6ab4d206bbb62dab89721c739d546e3f9684c3d15acfc8da8a1bcd26bd98ba58e13e4cbe96eba -FixedInputDataByteLen = 51 -FixedInputData = a543a51461aefd4f3de203952f2a59e0f6d488595d051380d05115f6e3d3dcf91c803f554d62a79fe791313742491b94cb1c4a -KO = 545d7a3872c7d2ff3a588b07a4c50d8a7f23122eded09989d4454630db9978c252a69e26209efac86a004825ed96bd40d9a9ce7610b208b0b94a9c178b7539e21e12a34e716a - -COUNT=26 -L = 560 -KI = a6724116fa84171427a840fe8666f8b8ee0d78c27ce9d53e1ce83c8715de0dffb02bc18165a66427374006522d63fb55 -FixedInputDataByteLen = 51 -FixedInputData = 43ad73069e8ae67747336730bca22dec32cdcfa4f47dc362c5262dd240cef23a7ef8c0cab18ce648ce10c7e5b32efc37b7119c -KO = 64637857c6389b88589bc10fdacd880a2fff1e179c92c2d3b8b3f0b823e0c9b86a99c26a0127e99f53224ce65ab501588ebfe91b5a4f614cc0c7f57a629c6498d87e0544b0cc - -COUNT=27 -L = 560 -KI = 4546150392f1d350172243fd49d961aa092dba411d04f30a173a6c3cb7dfc9e37f9bc79a9ed36599dc97d12f8d853ec8 -FixedInputDataByteLen = 51 -FixedInputData = a0e2999f5a5ad63ee94a3434a391fa0e6ef81ffcf21c3cda2761d4ee1d6ca352b33c56e4e40e79ab4f81fed5be49b5686807c5 -KO = 833642a0055711d8d99ef314c1cb881938a5ca4e58163fdcde72107b2e18dcf294015a3ac0d0518d5a2f6cdfdaa5bf799a8f0b07acaac3e2a2e64f2bfe28189959b44fab8993 - -COUNT=28 -L = 560 -KI = 920efe50d0b8a0801b3c95db4eae151d05729e74b0a670059d714d0e1f289353dc78f1101bd2b2c709b3e184cd0f576d -FixedInputDataByteLen = 51 -FixedInputData = 99693b9effb659c8908811c56e2933795e87d46d4eedf76506f86c061bdda743e54fae9f9c242d084d6903c420e6747d825356 -KO = 738ef4697662f758d165068b13d3d2208b890cadbd2e9f7eaaaae27f8b81383b8cb822be743ef529b313f16d0c1cb74904f64e8ee89810254093643aeeeba26144cfdbba9b4a - -COUNT=29 -L = 560 -KI = 96ca9080ab24050acaf9d8e6ac79025c9f0a8b03380caf02e2fc048c66df659e83dc0c94e0304b12fa311d5b6a36df44 -FixedInputDataByteLen = 51 -FixedInputData = 3132522910698f9fc8c78f03ecd2c844d272a2d62fbcad65e6208395233c97a276325a15b263baf76200063f39ea606e4f307e -KO = d1d5b2a986e643f949d166a65bf264d0e534201eb0ba0e9c17384b842e3025fd72f6db24d4e0934007b6b7b928693612a317f03eb91b23ce34490e119678dd1146d4a0363883 - -COUNT=30 -L = 1600 -KI = ac4168b951cad3590603e550703d6461616554b4d3a95d11f51a3e9231da8b0c349e6a1eb1f01c668b9c9231ceb1affd -FixedInputDataByteLen = 51 -FixedInputData = 58cf215d31627f6748eb190dfa3985729cb730106e4df026cb65515d3be71e3888b9ef6aca0ea7ce1e7fda4f54e1f05e0cec87 -KO = 8f11437d75810304823ac15cc6a5f4ebe2c69e2d17305a7dd6238f596d0cc98e317dd36800edc8c2bcc146c96d64d074fe846fdb82adf7d9cefdb4a6b5f932c08376d0b732890096981645daafd572d4954525de7c674e63096cc0614b957f3ecd48f34c4f598a6d42a0355a66c458c8a6804aeebedc69baec9d4453d0addf1d19280305e2724b4d8ba48662554f0c8c8ceef2c30232209e7a2af698426b06f34153c38e8875bb65bf400341eb9208d0bf1aa9da96c7e780f7dfa24922b8c75db7266c14f36a7ee2 - -COUNT=31 -L = 1600 -KI = c9343265df7e3175d7f86a9b1d8a0997464b4fa9503ff3565836ad7d62df143a55dedfbf4cbac0c2787f1a4964d908e3 -FixedInputDataByteLen = 51 -FixedInputData = 98a30b97007f2380671f25d7f7c47d760b5ce2a299ebcd8c2dd70fc9555f8bcc0466ba2c5c657eeaafbf18dd573a74e6e69278 -KO = f0d4e2823131ae53f65040f101afbb1e6e999b01ebaecce7872c4eb39bf4a8439e8d30594898ed2ee1d722f1ee01c4961bfa3a9c0168baf4d443149f74675c19b2df1854e4d04c67ee12c3e3484cc5311086e36a9e4f4643ace09dee8b9c4db83f4ac01ef5c3a9ad65aa2c153f19b36fe0c31107365e042d2f5ee7f5cd70070f2a55cfa4e6f60a31128341ebcc66243ef7e136957d44ab0d422e86396e052dc7ee6cb066531bfd39720fbc0feea3e044cab0bb4dce76619eaa6d8b06da03124720350305cf6220da - -COUNT=32 -L = 1600 -KI = 72e0d6a13f243e4aa504710358b738fe2bca9c99a8296895f532b4eaf2a52f9fc7521a2b4cd657e076ff05aebd2c4797 -FixedInputDataByteLen = 51 -FixedInputData = 8d9f02cee0972d2f546090863079fad0567ce61a557d466aad35cae0d843199558e04bb4389e422cfd0d89491a36d552b1770a -KO = 0a0d856549b94a64b7be3f86e4c0289955777a691cc736e171daaa498725dd9d04bbf6d8a9c1122ebf4f851c68144049980444e57bffec3b1a8e976c273f313e1926dbb59c956266f9ca97b1e19a80223b8cafcfef8b9837fda85b20b684e334186c39e94dd8e0e8995570e019032c07aa5a8e58c24f67d8a7947bf8884948ec19da5aef3bc7dd09c7dcf471631d3f1353564370419d09f943492bf5a0299bc5b6f7172fba5e13b6366ff83c65b7f121f566b455183ae83237f6f21fc6a6f0e74a55fdf5ac956ea5 - -COUNT=33 -L = 1600 -KI = cc4f573b1d17d41e712ec686b71740d74082639f8474c8a23469fd65db3aeeb44aa96bf5ae0184486ee58119c6e0420a -FixedInputDataByteLen = 51 -FixedInputData = 00d0ac19b84b2c7280dbcfcad80de891999a29fd349e4963ce0ccadaa0c37192fcb55f56bfb4d9163a7061a9930f389d923850 -KO = 49e53036db2fbd0635ed94bc0a278bbadb36677972cbff2b851055db2220c8fb0bfb55cb48522980a6334d2d25ceb6cf5f14f281029f6484293545de800c537f4f8f02ef418288fb439a0d3d97d1065cabb9531562f19cca65f10534544cf0a6bfde0c2343fa06da7b40d3d03ff6052cb149e10e0559ece519432e03f677d1a111479664f02f26b012245078c7c507ff75ebfe2a508f78f2aee38d34d2226a04792eaf362d577424a57bc98bc101b29a213e4c387c7eaff035c37ed69d2a330fa413e91cf7ad3b45 - -COUNT=34 -L = 1600 -KI = 3ac898382d20a795a15dbfaa7d140455e54cc827678755a4939af413acffab44b5faf4a59e2b03fa1fe23766d56ef949 -FixedInputDataByteLen = 51 -FixedInputData = 7ee5f0dc884ba1b29ea8fe5f5c4e484e18d2e2703caf874e6b17289aad9b27c256f848d0ebd240c8e181caaa299bda7cedbe90 -KO = 43d925682e2d430a6e31f5a0818c18abb6d408b46437bcecd5805b85574b4d08396a92b0a033c7077945d7f2b337ad6295240a7cc18a39256fd14ec8ffe316911f85c7a563192bf8b84c35013b8f20e1b2be5925a3ac9303152407e13961d498516bd00d4ee2b1d01fa28f32b2839d5eee27b503a32009ac91cde138a574d1245e53578a3344611cd6742e6be1c4f04583aa0d3ea81bc7ae6ada081ec25fbe768847d35e3b739eb9c1b61294cbcc865dcb64c7b5bad623822e8b41032a2988de15871f0191884e97 - -COUNT=35 -L = 1600 -KI = c997ae08111731af69a5c08dd7ee1684a2f54995d30221ae352814738e98e28c9a8503ddf95c88eff3a1f5c0e67e81b4 -FixedInputDataByteLen = 51 -FixedInputData = f780d10c4674e5c058c9648a4f8643102efc2cc6465f5939c877923075a02230dc9b7a1b712aa70c999a9ce384ad32b6c010c4 -KO = 47cf688fcdcce0394815477433a4dcf46a7cb9ffd0fa3eb5defe812c31d05b76fb267c221f16025b0d0896187c84eb3887b0266fcbfa77e771f9a9abc0c03b7eece02d5db18e26ba5ad043a8c72b2b28aa7caa540ea306cec6ac57c8ed88d8ff100ea4285134d2535d1468f14e4991a8f37ebe779a0bc9ac5f628b8cb37d600a6d518673f57350883ad33fa0a72ae1497c9bdcc3389b12945b38c0fd37307629157d66bc9eabbb3abc410f60df33b60d0152e10236ddef1426401103d80b81d3f22aa805e6130723 - -COUNT=36 -L = 1600 -KI = 714f0398bea1d0b8f7116ee11bb8fb207aec55a0534bcef12fc33d5a70b48389e82a08bed767147c38949011cb2d5148 -FixedInputDataByteLen = 51 -FixedInputData = b62ffc327b00d0924299dd862950dadea8e2d68dc3f1842fb5d58dbe7958ff2fe3c009e59fa442ed022bef255ce54559900e1d -KO = a93c02046d7e55881a403d021ea43b0eefec382a1e9f9ee9058560accd1c866a73baca9f75d832f75a74f4f632ccb25f9822e6ad4be7218b990da5df4345ee9ea3bfe93b59680fdca6febc37134d20f72524781c541a92fda2d6bb8045ed864224cf434ec83637fee1275009dc5d9eeb32855dcba1dc16f2374fdfacaa7a5af4afc5adb7b8cbb86a8cdc94cb2725a023b1c4e191843641d2ac4ff0f40743a98d78cc6673001e94615260118a74da02bf52f7a22baff1e9d3e79c1c3013c1163b08fca19bfa823ed4 - -COUNT=37 -L = 1600 -KI = c78a12ec8b98d7678f2d3fd6d5be65e516b66be7713b5dbab1be6a93b1bcc2129ffca2f912824c9aa6fee726dffa57b6 -FixedInputDataByteLen = 51 -FixedInputData = 2025b54dc53e55536aca09ac7bb55dc0d1791dacb401ce223ed96cfea44990c4976654a7c5100b54e296887814f3a523996689 -KO = 8d6ac5c6107815623fdae0845a096f99256eb3d9f29ef401138debea985593552d9d95c641cd36d8f0dde34698eca6c4ad86fea1e2d4ed7da98e819f62354537c7368e429988c3678c7610b5d6aece3549068756be048042c6e407dfaff9dd8adc24eb6580d77a0a37ccd5af6270a76f5cc48b750ae241d2b64756431e6aae387486fce77d48dfdbace199e6fdd6b0de8245b90ee8660278610a6f0d939a045614c006e44d96d6e4ca12a29266a637716459bf1dd5e388d375da04238de1033560c5d737f88e548a - -COUNT=38 -L = 1600 -KI = 3eb98f0c9c7cdcb9e2592fd4d766b94cc5bff8b3230832a76d698f6e56e8700f0242f262fc8a3987dcce5f37b5ed5223 -FixedInputDataByteLen = 51 -FixedInputData = f54ac19170dd01092cd16ec2b3b8669275896ef61837c9b9664e88e47a502b7d1886766988dacd7b92fda7219f961a4e2dd592 -KO = 968f1bc553631d603d74b76d54975420f0b316c11bda8e4e869712f7a83e45fb1a9a53ed14f52fa640fb39754736a4723f6d23e849e2288ec722d93ad00c23910045558e75fc8ae3383e5eec6e72d78ac19194674c450673857625b48b8cb9cc08fd91e7959377a232e6df7eec015e7812af01d5614a4da48d79428a974767068ad3176baa7929c5dfd112c2717c41f9b539fa9f1248639eeacd82691df21727e8b11a228dd8297dc7d0fb6263acda70e77c2dd69050747263fd21f51d8eee1a9090b04559c140ab - -COUNT=39 -L = 1600 -KI = f4fa7d19ad3cdf3bdbf8bb05a9fed38c1086a3182a907408232dee654408c926455683be9375572d708286646aa61f52 -FixedInputDataByteLen = 51 -FixedInputData = 905eaf870d226ab818a5973111bf2567b10052a7e65ecbb36ac164cfdf867678a1ef41a7892142bc561845cffcd846f1ec8907 -KO = 0f614fff8d506a4f8819516f6996ffc5ee7a8fef527e99828b6fb704fce9b398256d86d0f17a1af1fdc73709f3043b59a9f10c385ff8d1f7fc219dccdf6e426d700da6c6a002defa908b13c480ceddd2b6d210c8da99f648a6a2d6ba4e985143b005ec6c643a9d1d947b3be094a63847dda1059f3bf8f728ec3c1496a441c5dd301ef17533d937a4573fd2685806be18724183fdd4bb784c462067c683a8b0256cb3378cd1b697b855eed0b19c83b7b93a3543033808efd611f6bbc1231817ad676467ad536154cd - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 3e9abbbed95e2b2b98061aa7925e7ff47651245857b68ba9923637333d5aabb46c10ece01e3e2b7ed1f78ac5dd8383d1 -FixedInputDataByteLen = 51 -FixedInputData = 12dc8127fb5c98440cf290e00da9efa360d55814ceed71ae2cefacd1cf7067ce09d14304ed378ee4c9fab4664b519f1243b49e -KO = 3207bf56abb075b8d146d9cd90f4a89509a1688da14bdd22f9abb57f6443b6ed058bec45fbd19a2ebf057d59c20720df5d44273f9a8d86b224b586606631e63c - -COUNT=1 -L = 512 -KI = 2092d9ea171d9fef6ad3ca26fcbfc4ea8df50a5c363d55a07a4238f683b19e815cb444f244f6898872bd351c5a7b9422 -FixedInputDataByteLen = 51 -FixedInputData = 84ccb1b1499280d2ee7b9e7b9abd9771912c3bef1795660dba3e9589776fcc817ded473ae40de614c4b102e9859f775ff0359b -KO = ade36e7e59b2a41d27d4d9f2f924633d19fc489fb51060911e6cc83d2fe9c119a7a0951175d463f13288391fa26487951d0f5197947bd90aaec78a1c1157fe70 - -COUNT=2 -L = 512 -KI = a186756ced1a27d9a88c29cb6a337145041bc0ec568b264bd11fd5bcd1061f3207d5263f2a714093ca66946631e3146e -FixedInputDataByteLen = 51 -FixedInputData = 3a1b89c2495ba122a4368790842d88d373675a9f89c640871d156309ecfdcd2a8f3a81df9b938b5e65afb2c6e1c83548c63912 -KO = 3cbb98a9e06d8d50ca37089edf9b7445787b40cf96d81e9f879d16d915f72b3e8fab993047aa19fcbb5e68fbba5fded267c9665a460428c6f489ccb374a4cd72 - -COUNT=3 -L = 512 -KI = 716e80aef6dcf0f673f88bfbab2bedc7f3dd608206051745ae8e8ea3cb35ffe31e17bf85bbee9f0ac86f51d6d29e86f6 -FixedInputDataByteLen = 51 -FixedInputData = f6a73668d5be4d9d32cf631f81601e9a2a85419c780541fffce2856de2d65223132ac3c7e4bfea9f08df279565104b86248b2a -KO = 4afb5e0906961445adda2f2c0de38c870f05b8c0979ea60971522522c79b56f4f3a9f4e30321cc47872a9e10e52e0c95ce029d5f2d3c0802f6a6c5bd1ed2498e - -COUNT=4 -L = 512 -KI = bb8802c937fbc4e9eb792faa3c76e6b5f0bc472b90b0790564eefce6bd199e8490ff6b670378392f3c5cf361966bb4c7 -FixedInputDataByteLen = 51 -FixedInputData = a3fe3b83f3ac45f63567a0f157ff990cb4911fcd951e6f13af0dea1c648832dc20d79a010d322e13d0c87e3749e8e1df666bcf -KO = 38ecef5f2b77d9a1db1f63ab0124bffbe148980ce7bb1113a0561253b03222ad7282d1202f54a882b979275c7caeb896ae7a636b053715d64c7e9808ffb34401 - -COUNT=5 -L = 512 -KI = 5291182e634aab6235204d8dce7374feff40e5f95cce4ec15bc3c365abde1416801a189f8f6b700989c0bd9ab650266b -FixedInputDataByteLen = 51 -FixedInputData = 6a2b2b23b31a967ee8c70e10706742c13f63f5be6fd85fc48486b4a5c6098c083c04cfe74bdccc614aabb77ff61e4427748a31 -KO = 7df5c5389a81a4dfb7bfbb1cf66f255c63d369293c3bdcf5087a39d15dce6531d4da364f2cd27b950652f22fe9ee7e854ff2e03d078c5d8f219690463e4f4a65 - -COUNT=6 -L = 512 -KI = 1592ea8bb2e6f7310d3e1a5f316200ec1ba48bb1491c3d1950e8e0e6c7c6b6df8549969f43c503977a73d01a5d7ee285 -FixedInputDataByteLen = 51 -FixedInputData = e47e194a2137e129d98a40bb18316033db931e324bd66980d9398b53c4adf1873eac549ecaf06bcc87612b8c6678b6fb60abae -KO = 556348153d4a770a730bc48379ce3cc391553e800972016c154cd81d7af17a62019ebbab4c6a1e999c91bc2a2b948bcf5108f104ab93133a6c976a5026dcf367 - -COUNT=7 -L = 512 -KI = 68c5ae7d2dfb3f92830162477bdc037e4a3cf3a79541e04208042211c7d50bff28e606436bc762b3e95fb161428b6a1b -FixedInputDataByteLen = 51 -FixedInputData = 1e86baf8038b1c01f735ea9cc33afecb98a9e3ebec822746ab54aacb75a8ee362685a1fbf05da416b3549acb7dbdf352292ab9 -KO = 468ad8f5713d2b1193b7a7fac28024c4f158b0b8425a67ff1fb8107b82cbd7e9a68158f61053dfe835792609271b152235cdae2fda47e89d6a3abd5116a213d2 - -COUNT=8 -L = 512 -KI = f9c499b79efd1dd32bd324f36d27577be04db140fc28b3840988d053d9eac6a3de5c15f820868dcf4f9aba67424a2f24 -FixedInputDataByteLen = 51 -FixedInputData = e88cc24242555c59385785be5dd2d98640953c8b6e60b87c1c13e6e84c2ca4b43e868f62dc567ef86a9ea38eb1702613f9ca47 -KO = fc00538bb323f6e372243c9dfaa92fb29894c4b38d74357ab3cb81bfb1ccf8d03d7e7e12dc5d6dd6555b850a93f81f5913d4444aef48937268df705434237a90 - -COUNT=9 -L = 512 -KI = 3c62d554055f52443300b7fc69167b5446d1241dae150ec7a3317e8e5c05753ce16edb9e1d3f2b459972921ab2e1f4ed -FixedInputDataByteLen = 51 -FixedInputData = 1a4b2be0e340cb732c6487f669fa34a277c0c061afc08a2548a2e3d545a855cfc24c7ba43b7905b909b05fdefed880a83935d3 -KO = 47c9e266400b017b4e989f58fbd174a011b7a0a5eedc643f1538b8f94a9334351d12d7123d113c44b0d4a0d9e06b372f7cde9a9fabf4a4880bfaaf72dc0e2fb8 - -COUNT=10 -L = 2048 -KI = 61a6574eebce5f260b67d3454e9d53c56d9014c4d7de97d0c55d521af2873e71cdfae465bbcc4416f59019321184af79 -FixedInputDataByteLen = 51 -FixedInputData = e6713db2024fa6ab2591aebee576bdb9a18551fa60b937bd1542d75363f139954fc3a3148c32b90af525704c8030c3487ddeb2 -KO = b0fcd47cb06bc4c12dc017cfe5e629ef2ebf088d59d389e6b0df40c456441b8078561e753cb8edd76312c09f03969a70912146c7c186f1bdfe82226789c446fa88964d75504126827132f96a9d4a130705217a27dd071b98786016ae8010549ab150f4ede585a36bbcba34951e13c7e90695f62634409f5182627aa879b6f53a4a11fda7accc2afa527879cfef4c2c8f5e697a30ab93556bf3e2c309805141594ec5674ef1963ec914ad9093247b77df9753fa4d3ab6ce0896c48b99e05ff9c86264e9c374708e3c617c38f2438c6a6017f9760dd8dcabf9907d54ed139ac70aea41af6dd5c4587c5d703f690e4c537e49dcc3d849c04807c3a3ee15d251ac38 - -COUNT=11 -L = 2048 -KI = a90477c2af83cfc593afa1599b1fd2634f13dc6a1941057bf8bbb678173928e5fa73714b0b0acb7ce9238eea0925481c -FixedInputDataByteLen = 51 -FixedInputData = f118e5285f9cabe6d83ebcdf47895339a40f2bd2d576c31eb7f839e3d615b76f5480f72a34ceddfd42e83b39e7790761e30454 -KO = 27a8c7ed80a95725fdd52f04cb53854df195cdda47427ba5327fa5ccfe283ea41ed3531d28982f1aa39f8c73a5c82dd73414acbf9661ce724f28f6b131f2d55ab2a9f054649adf8c0ec8d0c1efa615d249b88dd4787264dfcc914f83894ba921b6d5780efe9c89465d0c4a7e82d6cf14ea86b011b71e1031b5205dcd11350938a71af7b194b5335f204c82ac670d30a9285ea90b63b2d2313085d8b38bbe983beabba668bbb3c71ccc21514456cdf894281ffaf2cde20b623602413d970510f37bcb1d1dc73538fd83703ea81953b09258cfccde34654e8ac87f987f411f839935e7a7a63d825408d5c81a2e13ab7a268f91584696560aa070f3a951fd471834 - -COUNT=12 -L = 2048 -KI = 89ca265b0c87bd8b49827210a78f1cb51c6df9988837a45805a6664178a12daa3e3b609ef00cc4a3eea8ee4a23a3d887 -FixedInputDataByteLen = 51 -FixedInputData = 452809ea9cd7674b86d71e98166cbe4dc4074e99bd578aa845bbeface35237dcf014f12baa702802d31c7acc0aab822da864c7 -KO = 70e3f4c2984b0dcacab3ae971e638a2b9f875d7617d1def6cb091145008732b3fa5ea8560442e18f98a9f18cbcc725f73e07264d5f45f413b031f550a0c4feb3b0d11b9825310192a4acb376238f59812759eaeb6a2edf71b75289b5de3acc45bb40929828ca7d5389d9d2fb49e360286c7eaaec33de0001d13067283d0b7d6b823e3d3902021299a7d74057b5721acbf8b2a3dd1fc982b1b1cd0d19cb33ff4360a88ee51899522d107107505cd6bc524464057605fcf984e2689e44420f07093ab004e0b17a8b77489ee2c13b96a96edb6acb25bcc03d63cab080659fbcd7c6d1484073838b566d06c3c0f2f4460ad6833d12a29fb60076b2afbc474ebe3f97 - -COUNT=13 -L = 2048 -KI = 02de58f440db2281d0193c1b6f7d86a6662921a8f4c2ff016039e76bf6e85d7f9e2d3093bb58ff001b14b087fda460f0 -FixedInputDataByteLen = 51 -FixedInputData = ca1b8bc02d788812e2f930cc451f1ceab7bdee5be5fa2142a0fc3508e39fee243433543efa8e03ec4b70d7a747b609077a6c2a -KO = 480a52daf887acf1678229d8e7d1ce7d81aca16eb01ea8b74abe193504f6a95f94fe2b02358b2286df1535e30cdd286b9f9aab79d8b5690aa73490f0f5a03aeb2db9ffbfd8e8493136d191074bb712ede5e37b39fb1dc3d8a54919d8f296c40fb913205d6b91c6918c7912cd745df43ef49015aeb774aea78eec7ef53c84f6480c65f6a32d4726d3b3ab44093ad359463dc00171b6f1f9adceaa586f984b9c547c4ecf2693710e11576365fe9a4d6c170e85b0b49189815ba31e716477225bd039c0da0fc0cc887bc8f832863105f4c363ac2f2207bde593a607d6bc0cd8c1e4c86f5329b53d11b5bf47e0f421fe7e1d58ff9e5b382a5e80b76ab74a5b0a7322 - -COUNT=14 -L = 2048 -KI = 4455a22100ed226700a5e09d69a9c0958bb789ac0582f260a686a9aa2f12b7bb635ecb6fa33b6406bb1d468fafc6cc8b -FixedInputDataByteLen = 51 -FixedInputData = 7332bcdf80698bd8ba7a210de94d597fd4d091d92ca33a7e8d7297952d9e1924ed425129e62771acd73dc73b18a2f6d96997d9 -KO = 00fa858ebf3c94ad32ae452fd9d6ab6ec68fd1fdd01e107eec90e4f4e94f433ae0c4891a717e386f197660f05407b8f71da8e30ffdab8dcd6ff756e2a1d2d9e49fc9099f891d936ae1f8527132652f042ed110b2db2b6ed4702cc89792900973b79b78dbf75f8951cac7224d346aec65d2d12b2a2efbea18637ec830a7e217e65ae2395b032f1ea36e04a89fab0e9cecb15a92fb179c88528c2de957cfe956f38dc94b1fdc5a74ac3fa10372d0eddcc718fa3f967ac740f5593c52b0cc1146bb9f4c0d1edc79723d0dc28b1c8c261b2523ce3f2410a258e403829ffd1cc0406d871b3247fdaee78cc806d477e7ffd28fdb428e31933c3b7591348e43a82205ac - -COUNT=15 -L = 2048 -KI = bf2c8d899757108a90174a29f4a57082fbd53f0c4539d3c490b2f32d84a7e54afed6b63a82935616fcd60e6edacb394f -FixedInputDataByteLen = 51 -FixedInputData = 002665a60d9170ee596c81204e72e1207aa453a8eb5c2453b5b107b45440f0d96a35de192e1a5f01d057d3a96c734714822900 -KO = 3771fcc99295bca5146a9d6cd830dd1462e862feba809d2e3588cea095a20fabb6608a54cf04700ab57f150a2990a1fa0ac59513474c2bb0f4564534130b0ce43b36cc73401db798bdf36205057f28bb764b2542960e0f0ee8e3aa892e3dbdb25f84470fb8a6ec972da06f2a5cba919bcf5727eb5466f10569e708abb044b1a4753f9a4d7b7fe39b9d4d1ccb4d7b2de7b066e39005538c6a1c696a3c07c5200cf8a1de43b063f6d07c61a79b06f7fd4f32058608fe58a539d4656a7c83f6b1a808ca89619db10c36caab48d2386a2bd5e4d63558ee601c70727c50f28c85ec4a676fad458748f9a7bf17776dee5b8f6bebd9de74d9da1be8070b331660ec6cf7 - -COUNT=16 -L = 2048 -KI = 9f3c8293d94acfde8049cc3b16aac53dbdf0a13d9bdf3b2a275e9cd1b729083772cd374d777f11e486093d439331568e -FixedInputDataByteLen = 51 -FixedInputData = f4490c8c0e80a7de0e2018d466867710a2245572df037106f38e61c441e75b1b2c5c1501da5ee0179210688ee98f6a537c49ae -KO = 2bc1f960578f64ad00f256fa170a4c2847b5cc4061d162caec3182c9d81f10d2284b62864ac596b2eca48ce09a83b0092622b8d034900da64d9e86ef99611fc9917fdcda3faa1a1165400f7b8eba7167e6ae2d5babba6b919a9153a05b66e5c6b5bcdb580b98085b58a67dd4adf8baf83a07fac099a8063633c13e666478286dfe2a6ae468a47de62321cdc0f749a7649a5cc50bad47fccd3b02cf522e433f92d5f13f96f518d9384f1810993a77da6c9d238e20063d21e8a72c56af75aad0a2c01a49679fa7b32bbf1ebc31454cb6910a9e482e148e4b1e48fe7ff00f65740dd59afbdab95a77c8dea2d88165f9ca5165001503a1b02dd8066b89c651800a00 - -COUNT=17 -L = 2048 -KI = 4be6879de675e3554b93d9e5dca5ebcf1145b067397495d1ad48c4d2fb9cdcd6d86a44720570fbb5c39f451788064494 -FixedInputDataByteLen = 51 -FixedInputData = af7e631bf6fa264d55f7393af6d147874e786524dbd076ec6b85015aca6ce2a8363e3b0775416139966cb89305aaef008ecfee -KO = 3f5751effda6d38b0fa857976024609da2cd5c5368b67ea345e2509240fa00f4bd2379fc1e2054ad6e646abbda916480eea68a903b2ebcdbd88180720192ad535d4023af415f3466411b402a1a4ed0161d078cb5215a24c5305fda31ebb71d33ac410cfef69829aca7df2e582bf717d60004a99cb43f7f4c0c2da9882988940cc991546fa3cf1fc57ee43fb80a3c54078709525c2019aa41f5d9732b78720e9dcd22971226a8276e266f7830d40c991af3082a4992261b57735747b888bed2b5ef89d1fd26575a0e22ef28f27f3451276f2004a980f5ff59bcd652fda91cfae445b0e6450bf504ac6a78dd568433b7a3361d91061ff7a1211e1bb6b4a9dc5913 - -COUNT=18 -L = 2048 -KI = e3a71fd50ef5e83ee8ba6a4cad3bd13f786ed03beec62322b9bc8d55337500b95b4b687b2260b0268b4d75bd85177392 -FixedInputDataByteLen = 51 -FixedInputData = b820688f31d8056642599b126d132a052972bfedcbd3a4cc0c3e63299c4671402f0ae9e2c09e4e7ac663eeae23e1970ac40c0c -KO = 8277f737ee2410c5c09f3cbe6e59f8bbb9e82d28aa46b9f11a141bf8d2e3fa20a0db9d0f01a0e411edfdc4231ac96124e58ff2a0af58738e872fdbbd4a02e95398f180b2c123a6d381822133aaecb16b4277ce2bf393ee62c20a6e81bbfadb59dd04672dcd4bad4e779ba888ed11f539611e31bfa033f35f04bd6119de68d1d903e019258f32a6b378d5ce35c4db8c3d25f0e80cbc0e33f0122add7804d0de1544967011314998ad77737d61f338952b456e99ae6b802f457602ac519221209d5876301b337cfb0aeaa9d75dc2a5ea94c17949bee9d8d028e2159ef947866f64578d41e7ef103e82a977140d5371ff29b2cb69118b0a43ab10cfd624d92d7152 - -COUNT=19 -L = 2048 -KI = da682bc008039e58e1899eebc9ae45f474f63023b0fa8b7179b66a8b6513f9fc774f1942ffc4886c681bacae8124c708 -FixedInputDataByteLen = 51 -FixedInputData = 1d42ac4196aa79a255974c03de57a3954dbaae67f8d5e2b340b05b25b817be8946685c68d7edb2d56779997cfc95eeed385cc8 -KO = 18f54c51bc03aec3e71d8013fe1245cb5e3c3acfd4160f3db275e9f75e18855ae94cd3f5643931b53a7ef51494939615e5dc6a738f8da1c8337692a9b62a1bb39e003069191da3dea518ad9e81f2a1f33c1205f7fb9647861eaf8a8d604b71b654b45fcef28256a00f365311c205265f31b6f6bcabfe193c6348db7fe4ab3402f0b1fa6c3e9a3b5e58792cfbc359f73272a45de0f3f60951e997d4105f77b7adae9a96138da6396aaa480ffe8d2d2cd8d6838075a0a21c572529e0b3564e2fe912273a4723608cffb06b27d0476bba804e3365715a007aa20f74f0090669e141edfebc392cfd6bd31bf20e6b25ea229c82a8feaa1fb017fe67a04db2435cf8ff - -COUNT=20 -L = 560 -KI = 25ff607f62ceb954da4301440a90875eab8db5f69079f1461a5588cf922f419dd6623f8cea1e11388bdfd2aba9200552 -FixedInputDataByteLen = 51 -FixedInputData = d1cff2e1916c5d9f8f2dfd6d63578447007e144613493592ee684fcacd3f1c680a04b9f94c6d803d022382c8d930691fc41e1f -KO = 3b4ecfa07df01c74d95a7764fb488d2dc5d721f41d8fe4a2e6f6be217bd661a0de042752e4e60b269f883591ce0c8f705c0e7a414c21711d0f331d7af9d63bc31e6943818415 - -COUNT=21 -L = 560 -KI = a419b9714639485e149d7ced207b11c9cc170502aea236bc3753906510e2aff8516c364430817a43150606aaf65323c5 -FixedInputDataByteLen = 51 -FixedInputData = c51f88618500b8197f417f4197927eb25393187e9c4b2c009a35374fefe45e6a730358fb4a5720fac99eebd1abe08d8c777ef0 -KO = ba54e242f1cf27530513f8ee663539362cca22fac708ccf5e17e4271adae854dfabc4814c5f9a59c63eb16df3a3de55d137c8ffef0e44acd92e0197738181e8a0ba42ad632d2 - -COUNT=22 -L = 560 -KI = 5adf2efc20ba5fbb6986a5a34437284e6841c297862c620d5bc5ea54f091b2c9a941cc6e4fd9acc6996febbf80a265ef -FixedInputDataByteLen = 51 -FixedInputData = 0639c1257a4febcc89a3ba332b002c014acb42a36d94a82563884502d7df126108af9f76665f392ba3b08f067dad79ba7bbdc4 -KO = 9cb02ec791f35e5834a00e28e535cd89c7f491e46afbdfa524fe8261b1365ec49636d97f097fc2eae4c0fcfbae5c409204768fcf3688c997863b0fca73484420dd8e6baea107 - -COUNT=23 -L = 560 -KI = 913860ea5005cf5a99ea6bfd4336f15a17b5d2b0a3bf9479363af3d41f88cda33bb699cc3767ad2371692a0a6c143e8a -FixedInputDataByteLen = 51 -FixedInputData = af256b6691a72c1711054943daf33832747f2ee5067556cab112df0e4b50678193ae2182b9b23359fca8b6fbf9d445d97e59da -KO = b7c934c926ec17e1937a09f8b7fd5b3d01a298f0e7aaf6462c260b2683d033aecb0b942b4f3faf5042d06ff9bea4aa3f8a07cc1d782793d698f1849b178648d17a50b40246b2 - -COUNT=24 -L = 560 -KI = f73f81df98fc59ffb8574b3a6dcad6f8e2c17062225447da8df68eaac2657a0f1f2377b639b436b05c91a3d615d38c5a -FixedInputDataByteLen = 51 -FixedInputData = e5f3aea7baff6bc42f5c1973cd4e09b46d3c4ac1373e4044caaf155ee2a107e2c3e3f07c687fd41f2caade6097332f42a0caad -KO = 5a3d0756cc1a9dec84f89c1841bfe646ffa21cf69a2d44aad71d449065b6ab351253728d05d144080774e544fc67c1e4a20a9c8353dca830629952c4b9357092af5b180a59c9 - -COUNT=25 -L = 560 -KI = 5758a83b1c9d500617a71f9bb7454e4337af43d1523c67336ce022a4d6041174ebdd7a4335f6770fc22ef56e61a1aa9b -FixedInputDataByteLen = 51 -FixedInputData = d6c5e00459dd105e8aa9f6de7a284f6aace38edefe96bd7fc4088f834034a45981938d4e01f24ba07bb088b6f769600706515a -KO = cbb4a57745ee147608244882db1b1bb1291e78525a5b995a0fabdcf30fa998559d7b706e3a55eae9baa5bd823495f4713f8a4d20b33ef7e10c391880dbf661cd4a61a261709e - -COUNT=26 -L = 560 -KI = e9c71bf23eb649349c7be25602dbf5bfe39d1a93daf07c3285b9668380ab9e408541c4ce756c4f5070ae4f8f12ac1e16 -FixedInputDataByteLen = 51 -FixedInputData = 2a53bf6363cd434334927ef6bf4ff435dcfd073f310c4d9c99168ae4cd11955e0dc1b808bb5929e3c8ef2343cd2bb5fc52b9be -KO = 23e05c14da429dd1e1033297ecd20ff727eca29486b3b296ef15b94b0638542532c02b71555ff11828434ef84aacfb0d3487b5ebd621e54b8944ffe3b94b5ac93dc15d155673 - -COUNT=27 -L = 560 -KI = c360ce85233a0ae7b14a9cc6e7cdefe7ae28545408b9c159e349b27c25828b1dcb5271c431a022f62ce3ac7e57fc71a6 -FixedInputDataByteLen = 51 -FixedInputData = b6ae18db123f09a024ddee1d323d6da74eda183931cbefc0aab1ef8a588474a4a02ff12329e86a1d8b17fa943f0d0ff4226f41 -KO = 3af664e9f728081e476a80dc35a8491ad3a007d3f607a90d1a4df547212aedac443249c198ca9fdfdf7ab35549b744f9e0ce05fa2c4c1028483bd38f6ce58720b678d0100472 - -COUNT=28 -L = 560 -KI = f624c7407415be43fff52d6541ddcb7cd2afcefcbc04b7219d3730ff23950b5c44471a49416db3efab6d0dc05cdc11d2 -FixedInputDataByteLen = 51 -FixedInputData = d73656429b607eb03c51db51757ea561d8746b141f2f68f2f82fbda74ce8cd2da40d37317cfc660d576d1facdb2434c59db896 -KO = b8ed830bc49afb7f55972e3377338cd0c05c43ca9a1f30755ef6b9c2c9531b2fe873d3c2a4c336ce4293f661d68aac12fe311dc059d3e0ec74e48af9115b41cb40a3409d381f - -COUNT=29 -L = 560 -KI = 978568755a3b413a6a859365f7633e82086531039a699e8503f2d80e3e50c7acb2ad2ab8bf3fe98ae4c25f6ac5818552 -FixedInputDataByteLen = 51 -FixedInputData = 42d2f36dcc7c90a3c7b085184b197e87e0c2ae27695760e5c7aca1eeae61d409ae9d3ecadd95e03e4abede9c2aa518b5734b79 -KO = e2144af2e9b2afa5b8dc1228ce8fa25e971518b60d41632226c17b887fe0b40a9dd2b2651f633ed73d0cb5c537e7f3ebe01c2ff0e5bca505b044f092710d7dc40d6793b2301f - -COUNT=30 -L = 1600 -KI = c6a78d94e3f48d6142249af94035e88af6f5e66713049217eec4b54fc52ee510ce8b4a32391bbffd1170e99effcae1d0 -FixedInputDataByteLen = 51 -FixedInputData = aa8c20ee0cffbfbe0e5f21e972504fc024a012eb89465fc653f8a44c50c0169c2f248f2d88f1a2733e5962a1c4efc31a2478ef -KO = 50cb3aabd03f3a125e0954f3dd5f9b691362aac5eea976692ebe89deaf6c567602de30d7feddad1f2c36a012e335d1cc96e64115c74f840ef73f058db560bae85dd31968831e207d06cc17351dd565707531c3d8d44ab9b8fa623ef03868aed6ddbc2a20d6b417f1c87a816babacc7d34747d50f462a6198689d87ed256311e018d0e0ded1fda10fe50ed5937885b6c984ddf0a0586b430cc9438bcfa570bf3aff7f86ae8be844cfed0faeec9a8c3d15798dbf90dad147aca0aa77c3ab0fc2200e6314b464123dc2 - -COUNT=31 -L = 1600 -KI = ad9a273d42600755f73978ccbb8191eb3ac8e9f337b350038a34908e3e37505d037a6ee9aaa3a392490ae4d14f1fc3fb -FixedInputDataByteLen = 51 -FixedInputData = ae26a3d87ffb6f63fa5abf2353d5d515ab740b771c33c669d1ac2bcfebaf9028157e37ed79a0d600f8e4241eaec1d6ef6b0835 -KO = ff351fb8b97028474ee174cbf7e92af0ef2da7e1298641671aa0f2edac54df99fa698bbe33419e47f45a2da34cf0ddae6dd62d0256f119f1f02b8e8be3bda30cd1b2f6e237ab48d09bf97076908f4fbd28951ae2104e7f315ec5dc33f07c1d7f9e9be8f7e92ef3366ef6c3dd068a3d21725ce5d4a50b37a2fa03fee797bbd1e299315b6e0df6af47156721090565505b87ad55a8cfbcd92fa9b45741b5a484ccda53442e100ac51c3555de46913858ef31d24a7ab01c9c67c8ad637f4b0ceb48e2debf3af339dda3 - -COUNT=32 -L = 1600 -KI = 5b8a904c83116220ad3f1fe52de9dd8578f7b6e81b09d78a0d0c29aea033f2bc98cb8d717b166129fa726a0bfa9d7e64 -FixedInputDataByteLen = 51 -FixedInputData = 524035df5d7f8129e18b78fc3c66c899a457e8f88494be84d7017cf84c68ed8da19a2609115cc1025b7c7e2e2e9d264c5eac4d -KO = acce5b5cef8ba2e69b67115e7df68857d5cc0ca590b8ac4588a86cbb74ddaa7cc7dbe0def242cd72e13d5c4b0838a0979b32290e6167dfb9e0179f53c58b80b1b43c130ffd22359b956fdc910bb662efa60c7883598e3fae1c515208588f681cc0b5bc7994b7350353bab7cffe58a0d5cf62d366961ef20d9c7dbd8e9523b48c4543b0b432426f6540c534b45dca92deea7b1064f34485401d0620843ac3b4b9bf1fb56523b96be7edd92de37ef2d529dd23f8dc92ac10b386cff6439ba3a0bd40c2d2bc43337d3a - -COUNT=33 -L = 1600 -KI = 3690695254a6d01434cc6b2a2a5ed99750111a167ee7c23ef94bfcfef93ed156f9991122daf79348649fb2d3ad06007c -FixedInputDataByteLen = 51 -FixedInputData = 39d4ba5612165241e55fb649bf02fdc224678c6f825da71e61217aa799b19888c4f92f2bb8e88d2fc039173ace32c0f979cc83 -KO = 3e5d8e112b3e41cb3c41c982f2dda4c2fbaf8ab74ead1e78c007ce49a621a8edac16283d9773df31b422a43793f128fc48cc585d5922a9fa94dae52ff1f93b5883fb82324900207f837310e775d968b7c3fec75a059cbead2de6772bd86f7fedcbf86ce63bdd392fd1b4c6f77c5bc9fd789109d1144af06507934a249c629871d3f7640e761c8e8f6ad549a23b1595a2b24b21e70adae42c6672e8c4773fd6d44b2d5c5ce36c455ddb2a47795169aa903d0f62c38b117f424a9a8e62ddc47b2ba3a425e42684fd00 - -COUNT=34 -L = 1600 -KI = d92e36a59b60bfc89f4cc7bc49931d2fccd6ce0a234680f3cb2549f0fe81c80791f70ba0ff0930a0a14c1ee93a3c749d -FixedInputDataByteLen = 51 -FixedInputData = 84a519876c289ad1005a5f01ac8ae1ca2ce10cdbef4274331aaf24acfa2673063ecb4757bd9482135fa0b0d544039244318cc0 -KO = 25fe899fc654b01e388e9e5d37031e1fa0ac631255ecc26cc234744da287250c788345dcd9e6c06ff94675fe02b56619833b1f71c23ad14b66a32161819de494db8ae2b50055d5bbd0137cc278c57206b74b8ccf5c23b0e41ec0ae2bc6c39b6485216b64054a5e43f2120d4c2c03052981369c8996cb575b3d720ec3464f8e5e7b437fc6b3208d9f745ee5510ff0d14e299add915e553265f5fe5753f0936c299211232823d8b68cf5d264244c6a925ebafb89c16ed8cfc78d6f40f50fab375b22d5059d43531a87 - -COUNT=35 -L = 1600 -KI = 1f0039648a9d8cfae1839756e2782b68c4394a28243258813b170f6cb614d91d8b1b8cf38351e91320634f069a5d77da -FixedInputDataByteLen = 51 -FixedInputData = 59e7db6af0b6c9c992f70b5bed5ca5160f81b36a24bda08083494c5c27ee019155031b2891051327248195989d33ca5d11e603 -KO = 22ccabbf6d0e97a17529012346d34ddda715fa7d4d7cd79332006bb22d675ed3fea447ead069bba1f77d3aa4134da1aa8c09c2e6780cfd7898a6b2dc692c31d4835bb6e2c4eeb3485be8b1986096a7057551f19e1a38516e83bc97c50ad5b9a9e013ec288d5cd56c0a73c4ecb0cb288e1e9d2ee84697cf3649aabb3195f2f23380ac723d692e5936d7de2484218ec2726a7a482ffe69c207d010113e1b299500460ed788259608cf730038cac28f175985272ea98d1309b916a96ceee0d548a28f5a789e5b5963c1 - -COUNT=36 -L = 1600 -KI = ac7336f1623e76a21152741b8db242a65fcb4c2fd39ce995e29c35a1cca991c81971cbd38ee2a8cf8fde04fd049f721f -FixedInputDataByteLen = 51 -FixedInputData = fcc6d3d3f0515a0d15df9953df1c5ffc2fd1727d41d78b18d95c9d9cc0857ca322afd2dffb6bd1b6a1cfe681b552e2d44e668f -KO = 8828d2047a2b29fa9d9d8fe0c573ed36efa653190517f974a6077ad669d46d47d679120d6bc12bfdfcf5440c0a946cbbdd69469773ff96a5b268c1cdfe8abd5a4133e9d62c4dd87f1d5fd8f1795363c752ecc22430e8ed46310cf2ff65795a17dddf49e9b28682d577dfd909a0cd2c540028d71593f2886f1616d5b9f8e1e7f9690eda181281ab51ecef53a76009528a7dae338ccd319b533ea3b2c5e77dd38a3eb0ec14102641ffa008cb16419639e110ddb35ee12ed39400fa537527c4f4059c191cef31ca5a62 - -COUNT=37 -L = 1600 -KI = 8ff7aa9ab7bb4f60edda9d3b08f546d9772be29206c60def8380bba4c7b1799d5151f8d97242c27c3b714c13a2aca474 -FixedInputDataByteLen = 51 -FixedInputData = d9433841892f8385dbcdec0a6b911dd440dbaa493cea8e0c95b90b34481abd094cf1b565805c2531954e5502462b1dbd125cbf -KO = 8f604f9fedf06311530e643f465e5277aa2635730c651a5a57441df4acb17e6cc227f68f54190f0fd9baaf857aff91ac7c80b15310f7818d0ce0877e03891ece0cc90d90f602c4f65c493899fcfc1ee80ba1ddddbf91c3a7e319cd6ca7ddfaa5e183cf5e6834533ef7776b7283dcd658c06e57a9b288aa11b20195784f650ef0f82fa8df29516af175e6dd4915c3e0c4a05dc78814203daf155a2bb37a686e59d7865f40bf4155a20fbe2aa85c3b5bbc42738b9ad8f22866d5abca10b5f10dee6445e5f11511cb57 - -COUNT=38 -L = 1600 -KI = 3deeb716cfe3cddfc9730145b96a5ab0e04242ccdce217883934ca48eaa044384423da501771739ade7c527711a78cd0 -FixedInputDataByteLen = 51 -FixedInputData = 1116e022646c2cf0c1d4b6052e6d088e6969d5beec0e47dc0f9d9bb8839f6cbd81fa34fb92c98f36a44913edf2532b49c221d3 -KO = bfd6595912d15e41e3027e116be04c9e3fd971e4d1912a36334bbcc7afeab6907df7c306b55c157f61f124f0f3a2fa29658b6b66a6fbcdc31da7f7c5c308175b70f972a84068711819ab38716f6c09e6175f0e9c786db0bcf8ad6afdfe12fecbce53d6115f12054e00a3f222ad576c2311bed0c1e2b280b27af4ed5db16db180a01cea818a9afd2d075276bce300582292ee0a3ac92eed63118f742b9414325377e76d65961b3cdd85f64d0962ebaea7a39b269b5077a0b60060bfd3290ab85ec6a842cf87a7f7e5 - -COUNT=39 -L = 1600 -KI = 076868d95b8c501706c1f8c5c13c3ae10a221cf1fd270de8cfb5e704c6ce3a1b42860f02f54068c143749bcf012776dc -FixedInputDataByteLen = 51 -FixedInputData = 44b5050060a36d6f308dc16ae16c7abd9b9ba4f35e80f0e48c19a849e031d667ecaa683fcd46b3399ca3e483a022decab43343 -KO = 41f24b3b37a0d201ff889b36b2f82c57d382581be34ae21c13d3497d9c99a344044917c0bee6896717f728c51e7d85665c8551f20792754c9a2386b68ee673c2757ccceb6e37e14897636e7e0f9ab1f7df46deacc375dd8745587755b7fe929a15a3c59facb5db12e151d73d2e119979d4a6c9a335b03e50c6fe2433173f0ee39288f3d6137230d1e8a4bfb46c4d14ac99c8672d6a4889aeb67c7b15874a17c34063bad12ccc2dc6728d1591b7d4637d590cf7a39735bb657439ab521a21b627b1439e1e36ec3ff5 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 128de1e903f045527a81d0d956d90524ca8c51aa1c676b87e8e97d22094cfd0a636d6987eea69c822e9c6039c3467062 -FixedInputDataByteLen = 51 -FixedInputData = a516df926dd80e50a3977147020c6340b87e90197361c0b00a55fcf31612cefad163931293274e952938d7b08ce2a332584d98 -KO = 94d99d467ebb10a00ae640a98018b94824e0647283b7a32ac44cecc902edfea3a0c47370d459073c7f9379c345d59399c457720b8e6295997b632039ce95387e - -COUNT=1 -L = 512 -KI = f7ae2b2658d977ee692657dfd94ac92e4dfa5fd99f356f40b22915f3b69d75a6f15c336be74696b08d79fbcfb7f176ae -FixedInputDataByteLen = 51 -FixedInputData = 0c98ef90609467dd1d2e8eae9a66c579f9aacc6c70690ec0718f3ff80245cdecbe984e14a2eef1b92309501ab39fd4d1fba588 -KO = 05cb608561ea0e62aecd94c09232e340c92beb0404809169d6488a9212fd1ec6fafbbe269da9736ee52461c43428c11c45b0b16ed788517379bc22dd696aa8ba - -COUNT=2 -L = 512 -KI = 0b9ad693962f3baf60a64ea7b1487c825508bcf7f29cf7ffb7c74b84a3a6383297a4820ca2ca57babfdbf991ffa5f5ea -FixedInputDataByteLen = 51 -FixedInputData = 9c4b9495fe9120ad0b77d950927ae20f2462bb84909844ed5287f86da22ed850573c61d3b890816c54edf07b852c96a717f59e -KO = 89a6ea220c8779d072567a4fd7a86e00c83eb1e3bfedf56105da628905e8295fef07e0c876c4f56c21c054d750dc6409248d632fca34a5298c878d1d04e256a2 - -COUNT=3 -L = 512 -KI = 875ad766ba5cb2ef489672068959d6d9b8956120b4dbb2e7509383b522cc1e63f34247658cdd9afd7d1a182b38e2d94d -FixedInputDataByteLen = 51 -FixedInputData = d92f24844d6aa6add5bc3690158d526270a20f420959dd6fdef6ff4e24a04ab5feb47b061a3f0d00a154db3f7777577c5f868e -KO = f1bffb697da3d6fe3f23994e4eef8d80f3f366590f46c33d1504b4c892bfce4f63b32bffcab5a0e8e2980f9c1dec76c7f55be0fb2217f3595313bec4012224b5 - -COUNT=4 -L = 512 -KI = d7cbd1fff1d6aef9f5f5812c78203e4bf336dc5aa8a308895be1575ffba227010885eb07e4158084bf245a64e2c0446e -FixedInputDataByteLen = 51 -FixedInputData = cac4f4d138cce62ed95b18e1978534ea997184f78aecf67f6baf380dee85e1dd3a9720544299185d9d71500d5c592a78afefb5 -KO = 9895a97556e63d8c3e689739c94ee537158a3c37a193dbea988a609a3f29f043587fcb22a5e8dfda3369dc8e998d47cbe920dc5f5714a9b0d8c506230243a2de - -COUNT=5 -L = 512 -KI = 9d83ad12b416b70d067f2ff6847181f9efe97020cc9a6edef5b8e042a412c63e4b79c7ea997c5b274d8dd1b6d126d3c0 -FixedInputDataByteLen = 51 -FixedInputData = 6c31e5d4fdd69fc7403136dd1f0bc5f3b1918312aa11f2fa968f31caa6c2de578b5a95e012e219a64c69eff588aad87935c240 -KO = 6574ed1862e8f87524e6cf6914dcfc4909a6f089b59652dcb038c31fa5aac4b96ef1122367eb25a2431c0eabb86cb94f516c05f2f1f0a9b98667a6ae95afc670 - -COUNT=6 -L = 512 -KI = 4135ad3f250f4849adcfd01f12c7ba292cf729468daa3034802f314f6760d87fb85ce0ff37a541ded93e2f84d2093dae -FixedInputDataByteLen = 51 -FixedInputData = df5a86eb3af0873e6cade562cf9995ae15a53b84141ae5335ced2bcc898a42194f14d659b09b97592c21b1420483a996d4720d -KO = f112e91dce505b03944c6881c805e33f28f8fc40c06279c0bc644fbf8167e5302af1140020768189745868bf8477091a1905ddc0cdf7cc0fad8e61e3abc67e5c - -COUNT=7 -L = 512 -KI = 0d55d4061da8c1c663e09477d1a76267810d189eb976aac89f02c1d5aed458e9f268ba6452912f4a5597f3db4c175217 -FixedInputDataByteLen = 51 -FixedInputData = bdac7cf19c3df870c0f5efc750ac5a0058da0062acfa59fe066826ab823ea518a86c01ec4074d7363ee2fb539a1fecd0b38e80 -KO = cba9a379a053b2c10a2471014398aea8f05de40da734d66a329890444945183d4b2b7cf21cef417faf02a7615de3fb55cd7cf36bcced6422386230704239312e - -COUNT=8 -L = 512 -KI = 61cc4ea1cb4b7da19d70a0f8331eaa1c80e629bde20faf744b0e8685161c07b67655479682d75fa0a7b7a7878013b5fb -FixedInputDataByteLen = 51 -FixedInputData = 80f9ecdf4cf9cd20bfd190e8cb76a225cee4ad8baefd9a3925e22c474ef5d472e4d4a10dd079429b56f502b93a0c949c1bdaae -KO = 74a1b9b43365f59ffa4c400524ca6956872bc8b1649656be02d3d8ec98b9435bc57a8110f141e60ff7e4fbbcaa940d3e40c966397afb77dc1b974d1909a6a88c - -COUNT=9 -L = 512 -KI = 5ae4b7b54a396d301bb9407f6cdfb2604630700fc114fa650bc5e7f3f2cde2e2805d2d599144ad15638dc01041725791 -FixedInputDataByteLen = 51 -FixedInputData = cf3c5d7f11deac304cd6e96db2a9d61fcc3655906a167d02b967174fc387e4b16c1e20fd78171905f1dbfb43d9c903f9b15466 -KO = 539238c3f7f5991e614cd6a7a2a9d7a90c86461b854b68a3a59a0a8f49ad338efd170d61cfb64e77d980ca76c5895a154630cff1bfdbe4a0b6c1efe2737b6bdb - -COUNT=10 -L = 2048 -KI = 38fe2d62f28b75b2c523ca08863f492feff285d4c4cd47b7ffd1a3a87147d8d89357d5d247dff52e8da806d4f661d240 -FixedInputDataByteLen = 51 -FixedInputData = 7f4c1b2538ee29b061dd8ad3d09d3d3225c7775722919677aeaa06bc7cb8f9935fb90080d0f54e9284ca1cbbbb4e0047ad5f15 -KO = d2369277523eed68c40d4f75bbb261f72a0b4cc414df6ec584a7a8440bb9465e62e5723389b78175640e33c31b6ddd8edd934cf1b0093a30afa3a40175c838a7ab0bcfea8bcd4c2cadd5ecf9a6b83ed57f78a4331d0ae2d51f23b48a72b270747df8b501cbb3c52f09414f71bfda491764185108cff8a107aa264dea373086bbf335ca631cc913c9eaa1855a4eb1da51a86da9da4394a3490ecae57e0e5f6f7ea2868875f5f4ab916950040821491893b84b6d0f91d505dbc58cc8a841ebbe350adcef827edb751847b24a0fb10d06935d0388bd8a90a0e1f9d9f7d112a22cf36564ee16443474e6164b9706c132f4d612bc78e9e642466cb55fdee6d6f49000 - -COUNT=11 -L = 2048 -KI = aeddaa40b557b8a2341b913dd3bba1496417ff41bf527f838d6197374d4c0271d9febc9230d8e20498a3671aa4720bd6 -FixedInputDataByteLen = 51 -FixedInputData = 4a86ab04af69d235775fdea7469fc50e0bef6d28d6afcb951fa029a03d3af9f77d4f41e5f1687559ab7509d7bb7ec73a0bfcc1 -KO = dee66577c9053f92f3b49d466e137ac2d67237b05c3838dc84826f14bbb5fc376279806cb6f7e3ce82fb8457f8910fae0e9ba8e46cb6117277276b7e4b83c31384b095d2e3abd6847adbf25c81046b2891e828ef8fb3eb328781ad51634eba72d861df8af0ab3deb34cacdaf69067879cafe62aba0b3be236d8a4724fe0891881571757c4188e487f133cf3c6a7a0d726a593a3dfc60e74682455687404ffba0f5ae1a82d827e7abe6c11d21bdfd69fa5cd808412895944a6450dc91733c1acee52d8ec6488f2e0eefd71bc1b663bcc0b9b09ec0c7ce52b8c71d2c4ae61c38e560e61c72f2f1de6de04d74dfcf99012ecc1d1f626b9cf1d688bfded5c6703c6b - -COUNT=12 -L = 2048 -KI = 2fc906ee5b4c6a120a9ee573239fefd9b10a70ae8a341998d5e4c66aee5871b60f9c3a58e84ae39943b3ffdd039340e2 -FixedInputDataByteLen = 51 -FixedInputData = 33b4f85631b7b51638722db772fb8d98dbc44978599244f902ac5b032c0cf6c525993ebede347b1e6af4f59b6774864de52451 -KO = 792a2b482226f2cbe2e0d5d1143677cce026624a6bffb4c2e98da94ac7f728899423f2d1a9131ddcf7e060a0db9362f881e26d8dea1684bdd536ae6e7943f2930acf89508b6b8e5d83269d7ffba65b9d0315be00613e51811dfa01e6d535903bf9450d0991761fd252162db7da9b082d568e33d5bc41fec76172db0e0bcaf924019cc0f6a5a5527461d4377472f05de5ec0844f70c6c388574724a55302b298e5604f7a9915c1a5caf562601b40c2a3ebdc6e0ff52ca990be62e118de472b61f1ba95e9759c5a9ff234e8d98de44e36dd1e6ee449b2398083cd09dcad9249bd188689ae71e667327ad6f22d17c397944673746e77e43802b5fc8197c013f71ce - -COUNT=13 -L = 2048 -KI = dbb7c1afacade5dbbc89f5112e8becf415e4c81f12375d61ee52c7897f23454c37fdb1640cebdc0182346245e8fa1fc0 -FixedInputDataByteLen = 51 -FixedInputData = 972d095d7f841bec366c80a3e37400f1bb5d1ba4d41fa6d268e570d1ec195cf34600e4f3f09ca50379c3c0f5a54b36306f0439 -KO = 984dca0e29c473ef3d72dc13fc3f39514083d0640f33f2a5b4ceab88ad7310049a2c7786f00ec4a0fd2c3ec54093ae3a4ca3b7aff46acb5b9b157987e9ddc5dedfa6cbf4331faed0fe86a2a5606da857124dc088548eee4d117a6188bb496f7fd104c45c16bd94e14dbfff7355de3045ea84235003c0b3456a5ee66883d4cf65124bfee04ef26efa5a12c1c0f594c1a3cffcb81b70142b5057f070a9bf896a608da0a5fb8c9fc9ead1a0c867d5da43e2277dbab9319aed3dc668d0f001f137428f978ac8a1d107cc812c37ef7caf23006a4f42c653ded8d871203057417214a4a6673c3fe63cc893a040b4586b9d2335140c841d8690fb534c1396f60eac5593 - -COUNT=14 -L = 2048 -KI = bec7b58e06fb46a4b9ed372a5a7c3f83cf9b0fbbeec117d9e4a26e083230aaed4c73e26d5ef5be156b850fd5c01e7b46 -FixedInputDataByteLen = 51 -FixedInputData = 63a598e8ff84e908b0bf767dc53e6e6290136ae81e8803bc14f53a850046adb0b546d3cccdc63a3395bf609e270698d3ada4f1 -KO = 75d4d98d5d9dc3e222ca080b9791c38d4c5a24f3f4e95b55a3872e977dbaa4107353561258a2352b3d2d6f12d48d0ff8cd84f44a6df1642bec691eacf34a253ac3bc691c29877795b40196a4053bc8b422d77a3f20286fcd67a955b25c91e3b654a31563912b5dd594ed399ff61f65ee18c123ff5fed3e6d47a6fe2f4b1c5a6799ecbe0c09cd1210cf88b8f176bc423398a6cb6182577a80521874870155c8c85b0567efae7636842192efb18ce53a56904fc0b87eea911c124bc9d8aa163320fd8016e971b08de274e0dc3566df8de29b9898281141411d4ec4f130be72e2021875f4c1c7ef571987daba2643ab8455dd3e6b65c65e27be39b27074c7640790 - -COUNT=15 -L = 2048 -KI = 1ada50cc6be5b2fb90c257ee826ccc2c8fa001cecd32d32d7713fe024cc41857c3027895327f31ae905277dabce6a94f -FixedInputDataByteLen = 51 -FixedInputData = 0b9a2b9695b71d48bd278be40d533f0368b4a11bceae0f345a5dcdf065d79f645d9df5387e19c1dd6028cc7490da034a0954c2 -KO = fe35f5703b513f68a4a84f529d840e8d2c047d5253fd2db3ac56ae37b9905ed694f6c7096d64fb719654af581f63e1b12913d71141d0e6e556989bdde84235c6c31ff4481d18ce3da58a7118463733bbd5074f2d87fd83522f87fe9767ea57d5e056ad60395534278a7dac7a1f88b4fb7cff7a58d13554a858e807ec28404be3f805b59f2573c4aab5fa4c1368652d2effbee6d660ba6ca62a0b81e6c863f46afd8be4898ab109e0054067d778b64e01b4b9eb6b1286b45b6fb4a58d15dde9a27d6efdcc49a42e65fde60a949f456964f356de8d11f4d3623d943d5d61ca63eb80c31380bd26745ea18e82f26c05af21a326441dee4ecd579a63a921fa1e1ead - -COUNT=16 -L = 2048 -KI = c667c0ded7c426102c5f5779013c2e7b67e644ef4cda65a0ad31fd5493f453b6b31f2a66c98defec02f5805d57693caf -FixedInputDataByteLen = 51 -FixedInputData = 6a438f0b6eff56c9413fc483bb67864144a6e106f98d49493b09f9f790a0c97eb1fb63de85b787a1e19de212bf1be729add74a -KO = 74131deec05725886668348daa1f79308db8f40524178e847a0b53d9f50d40f3c9397cebb6f44243f2a68b2113a23790cb6e647e5eae432b45d8fa00d12825e14f77337fedcdbc431fe8fa1224b9edafab52bed7a823062449f55ba557a8ca3e8275682d84447807bdf28341381cc5aca8623e993ecd81dc73471479d6634b3716e862f21dc4e88858930563a22dcd9e7b701fe5ee213261f3b439d1e9c7fe513af92835943ed498d0125b52954f1244a8e3a26d06638e0f18b97f5484267b735dfd4d05bc9d6ddec90a9a689d164a8a2b672e3333491180dfeda1226861704643dad4eedf73109865e59d01de17d7938fa048a22c7a2fb5d47a996b4fdcd7bc - -COUNT=17 -L = 2048 -KI = 4d58198a76fcd755bb53001394bb4c1157ee1e33f0d2631319138a62b58a24657f8a7fbff6ff885815ef2be63456f558 -FixedInputDataByteLen = 51 -FixedInputData = df0b1584876e5982ffd739db58fd87de5a12084cfd45ef21ac39fcd4c9c001bc3cca0a5746ac06ed5ba602333e05a3d58dc6bd -KO = 15292074f545233a0dd8b3032f7ec7a907db83a6ab87a37ed87b43624a960083db80576775ddfb92b4e1e6c50699a7843efaaf2e9fa903b3148b3c631093ce65b1fe22dc3cac466f3b5c96db3892cbcf14cc110342801ba27d7d6cd281a5e43f116a30b5f2e2449ae02a65b1442bc834b1caee32ece2a0d2c858be10ef50a43b974c566d22c3c47c42f8c591b732cba93af96c8b6b3a18acbc023c8b615b0d6dbf92c3eb4e13edc06fdff98a94583ffdb5de9b857ee0b931f781ab3da02997cb88dc77d792d242ce6fe87c273eb0d135d335a792681722c242ec7b4a8c7ac0c7cad64d65d77d9117036a1053cee226d4e947e1783f39167aa23f07036ac7a812 - -COUNT=18 -L = 2048 -KI = 8039222aeb95895ba52412eb7d5b0f385ff9ae87729eae033b4914cbaa4e2b2fd8f41ccd906e525186df5fddf91bb829 -FixedInputDataByteLen = 51 -FixedInputData = ea8a2f5c00e786c346e721b56a1ca10c02e8deedb36d539411af4406f5574456d8c776315fa18a94bae54c10337f907e05ff03 -KO = beaeeac653fd80dc5ffa568cb664d2b43383fed63c0573d9fbcc0ad2541fe15f1803c78df313fd26055ddbcf34c977103cb96f107403a70d5c1437ccda10803a4e1f6f0ea8198ba13c60a6a13fce9c476bce914e761a0cb9aeb281b956a8eacaee4b7b676e7f1f2d07ddca1f231f7f6fa131197649f63b26bee83e63a0641252aa1124a30c57615c1ef3443f14870e4a521846f9e3d5714d20b51716193a8e46e36acf7ff7b433bda23cdf122a8a0bf81976c08a5a7cda56ce424984dbdcd8a17d1f8ee951f370b36a60a11a7087af3b29c9cdf02dba2c780d92ea96be29bb3bc375893dd565db36fd1604de30fddd9c3f0827b739442d2b11fdf968a63af856 - -COUNT=19 -L = 2048 -KI = 78c24bf41a43d2ac996b496b3bfb7f138531b49f237ab5f0127bd0e3db22e584927ab92cc7e69ccc541baf8cd98e6f67 -FixedInputDataByteLen = 51 -FixedInputData = 7fe81c02b1ed9db7f3ac654b9c0f28900ca485eaf49a5ebff6f7b0de33b256573c78a98d35f9170f4bc5364de244aae0adde1a -KO = d902696feed9b77e0493062443ea34171da962722a729a7a0353d78971b15b837ab6b2c4991f899d4576570bcdc90f7d8ffc1c7195c2b58ca49a8f717fc8b7e07097b80109e11ea684660256b9403b2c4a6b04ab33103a7c0154ec4e0c4f8e88b7fae0526d684bff0df4b099c336af46576f12a37ea6fe8371c31b70cb81599804e20b956f71b5c06e53dc04c5e63dbe16150892e04343fcc123e0a77370cc243029450e0ff5eb758e570a7f241775d913e021e9b0b12fab85615ae93b253f74c82975646e7752e980ebfd66670bc50fbba348c7bce874d4e859d2d245098cfd9de4a59c4c5a7bd85be060628901b8a233369b67a4c182a6911a570a86381175 - -COUNT=20 -L = 560 -KI = d0f63e0ac2536685bd2d51eecc7594dea896811a56329963f912d0d855ad11b84d8065115eee3b255dfb3fb1339d5100 -FixedInputDataByteLen = 51 -FixedInputData = 68ebe24bae26886f84b34daefb6cfa4b7e1d358671094f8fc10f9b2dec6889f73a1260773e31193848c69975f98ad3e7907e36 -KO = 3f8ca3fc1c3c6a78eb317abb73b80e5efacf80e3ad727e09ae43c4bfa3ef70f3dde2ae5938bfd996de075c52a6d2d9e0e48f3aeb41e3177c396b8ab2b21ed1f5cf7ddb146e8e - -COUNT=21 -L = 560 -KI = 33d8cc4ddcbcb4d04c30fd2cbeb25fd5c6959bd59bd9d0368bf593054293993c1762ec75a749d222d19035159897e484 -FixedInputDataByteLen = 51 -FixedInputData = 413f5dc9b27a69f6185ee4c32c4f7f97818ada4004b28b06df535a4c6ae271ca3734496265c03c4c514b4bc16d58ca4cb28bd3 -KO = 413549a0c36e61c0f6cfc0053161c15e886e735d019ec3d91757c33b1bf7c44bf4293dff1048e72b964dc76b19797d20a46bdf838c3054d6c95a282742f4635a979b97d40812 - -COUNT=22 -L = 560 -KI = 09eaf0c818f78645eb8160a3d9305ccd9f59adb26676e20d00cfc17ff8f5ec815f7af846a7146b36480dd387199f88c4 -FixedInputDataByteLen = 51 -FixedInputData = 886154b1824147899fab51aec4fa869d82cd33a854f1d4e9bea16ba9aea4cbecb6f59854e2a5a18c12b8121be9e8525bff2224 -KO = cfa2b69792e3d0d8d9f40e382110a4bc3d756fe732b0f5cff121aa890ce2a601b7129163a7ecb7c29cf8137db6077355d4047d2e43d1bfd897f1f0ee20b718e11ff947b47bf7 - -COUNT=23 -L = 560 -KI = dbe6d4b6a1a1fe4796c45b49f4ae36393b874bfaba39c50fac354a03e6cf63b7184ef2b6d5dcc51da1b72adefcf1dcd3 -FixedInputDataByteLen = 51 -FixedInputData = 72aa4b944081ee25bee1db1ff6f95eeb73e2da1108935c413bbdffbb7d98bcda71cd33a17d8ce098bcc71f292131ed6defe763 -KO = a675145f0e9998cf82578cbc75ab5657a30e31c0c472014742e1e62a3235108216eaef5981152fca12b29055cf1ba0def93472f91cabcecc487ecd238fb69e556bd59b24d0eb - -COUNT=24 -L = 560 -KI = 098f46e1e4c33cd31ce8640667b6e35b5a68503aeafaa230dfc72f337b2aceeda4fcf79701732570271d742628d2c3e8 -FixedInputDataByteLen = 51 -FixedInputData = dc86f4f553bd7511a6fed8ff4152c25362eea4c364dcc6086a67b2a59ca9ff9fdba7dc88ea26f87ba0ed158c7f002b067b8272 -KO = 3346d7c5748720aae4c335e7b4b88c06edfaa3d24c6d930ef33c71795f9e5511a56d0b6807264fce770f5cb0d8d2006254d595f2570dca570c46c737cba97406a33cfbc5222c - -COUNT=25 -L = 560 -KI = d7185ac9ac3284edfc41e6b7f616cd0f6ade303c669bb3e884f168dc1aa910177342d59d07c047c7377aa8bf8f0843fa -FixedInputDataByteLen = 51 -FixedInputData = 921ee4605598cecf833fe60fb6c47809fc25f4b251576353ee1e977006cba55fed21bb96e04b7f5ea3db7c0cd225cfbcb74247 -KO = 2895f64a509f1a73f3c12e9df1c919b88d0cb00ec07b153cc50eb364441b96ddf528b65ef15770b3849336ce418aaf60641e18e231defed7707a4dce43bfe56a848c581aa3ab - -COUNT=26 -L = 560 -KI = 125ff91d800e913d4c2aa5d4d6c28a8768d5676a0b3052827d5bad0e20fac347f3e9c9f51154adb0317cbae1d414575d -FixedInputDataByteLen = 51 -FixedInputData = b58989ddce26603b961321b6b4b18ce5b2007f13a3f23f998a9f279a0a342d9982ffe5e6c2abf0694c0bfcb0612211cb76bf88 -KO = ea2ec51cdbe9a34ed2485221e5a06c45c42293e394f1619786eed3289542ec3fc225ea59c14f48fa43be0aea34fc0e1ae30728b6370c298cc2db796b622752a6ea636bc459cd - -COUNT=27 -L = 560 -KI = 451b10f88db27e632612b63c1df29e7274dbd6aa88e51bb3b989dd06e6cbaaaf4204574a8260eac299233758e0f32943 -FixedInputDataByteLen = 51 -FixedInputData = 63769c6dba23eeed618733fc1cd9138e4c63f7b17e0fc57862b7fcbb8fd509ef1ec6cc40f07e70e777c563bc0a1679f6eb774e -KO = 7c2c99579696822aa5bb0e66cc5cf15290f363ff235a978c8996412ccf55d6f3664de0baca5872771844a11f6faefef1de8678a23dc4f6bb227a467516b6704deac901d20aa3 - -COUNT=28 -L = 560 -KI = 0a4d3d07506e983a7fc982c02e5f3dd23214388f50261e88d9ee5bd1b426d3c06fe7d7bbb5d8f6d65728f5c1593f8667 -FixedInputDataByteLen = 51 -FixedInputData = fae16aa4fc15c06f70bf7ccfc87c0083cc20d0a7f2277681014c2c6328fc3245620dd901796db1a130c705d02f64945c1cc3a4 -KO = bbe6a2df326e5f784ea9ef83ff9eabbfdc28ce9bc5bcfd42fb8546b26b81c0bf997b1b20593cc1dbee2f3f8eb3586b02ef6759645f02bd26e70226ee7b54721edc9fb0c2e6f6 - -COUNT=29 -L = 560 -KI = 3067560fc20044c7d0298eb37104b3b1a3d84b5bb47cab05d49330d9ac1fea3f4593fe270692e44993fbedc67bff137a -FixedInputDataByteLen = 51 -FixedInputData = d0437142d1f852e83df652cea304e7f7c4098ba5d660d5f681c3200441b2d823e1d6c8e85aeb87b31c76984e127fb4b7cb6b82 -KO = 2990f91de9666c127853ca6145f3594718f7ca3b50be4bab1819c98a7a686f7d888e3136c971d612d66ccb9cd8ae6422647b99c19d94f890e2f0018c10ae24a4a5c489385db5 - -COUNT=30 -L = 1600 -KI = f8e6351d1fd13713f0dc4e1f94d3e15923ae918bdb9445971a700b55c53759fc0e2b02b428eff70d8756a9f475c9f2f2 -FixedInputDataByteLen = 51 -FixedInputData = abf1c28fa8ffe83ffacb8d526827f1754133cac72c0c11cc781a34e957e559ef62b9863376a5a01d5b632331668e722755aa2e -KO = 143e4718df3cced41e22767df850868b32a1750d52013ca590ec379ccad50f3acc3fe3669fa6ea088b6637cbc658728eb2e0922c44e5454dd0ceedd6c2744c5ecf2d1ecb712a38f58cc9fdf9524c81824fef409bd629ad23fa7c96504ab0ccee5d4cb79cd2a228ca71c499a870a7707b821e55aacc4e7b2952ee99c8dd782916f0f4ea189134d4ae773ca611f7cf0b56cc3c5415f1f1d09f675411c3c1731f53d0a0d4fbec114b5f0c3680ebf7483ee72cfffae2018a34aa971d53085c7c8ed7d97eb8d554171d27 - -COUNT=31 -L = 1600 -KI = ad6e2b754093999cf6efac35d9433b49598fd6b8b614930f9b6a63e65b6acf089cc9b719f033d2a06b474cff74691d0e -FixedInputDataByteLen = 51 -FixedInputData = 28922938aaafc7f57c7cb24440ac291911b699a6226a1ffd9001d55c6f40713a17b0ad2365de8aa2ddde813252f9e4453e2b1d -KO = 9ee7e7aab4bc87bd31ce63979d396716ea8bc6fb443f0b4bc3890dc66f32f8b7e620698c755dc16e28245aef8c9fc369051a3d056cdf13128e630fb3c0f50cd0b6b5abc910afb6f29c39cd8cf67b5c972dd301340d087d098fce2aa2fd6d7be28e88491de63bca31beda0ddf985a9654144d6e12389feb9140f54d68084730960ab652e9e70a471ab0216c8d4d8a430abb6d2e79d4cab32c98697f42829149ebce1bf17d492d24f2c43b5b61ced1c04ac072c9deef5527d20453087017ed6523c2a9299079ed4eb2 - -COUNT=32 -L = 1600 -KI = b8466dd632a7a6eb31a4954bcdf35bb3c35464a6ef9691dcc096a6b562934dec096803848967adb396098a07579fcaa5 -FixedInputDataByteLen = 51 -FixedInputData = 9e7624ae57cf0053cd1a456a6da3efd9e578faa83dff6038d502ff94b86c9cd52521014849c0ef509f80b733b1ceee4f579a5c -KO = d57b752c2a03eca2da046dc93dd4c70e56acf16ee4e02697d97d6a6a6f0660bd84ae1a43c5c9d5da7ac99df9421e82f3cf3837821954d6bfb8c64b42886576c8f415b8ec67ccd750f92e7ab323d102a4efbb2ad8ad56e5a34b90336b61321eb425bff5809da5d329eb1f923bedb08630bfc839f2e13f2ec8002ea1a39fbc4f8c37f4aad92d4a1cc7edfc0876ee83bc75fb42a949308ae8d4f7cedde5cf267de161c7bd13250b8e629950a23febba7fc88725d81f4aaf7837d84c7d54a1b3f6919a1ff040e9fa98bb - -COUNT=33 -L = 1600 -KI = 98f4fd2675a618dfeb982b308008368f90617750140733c6a8a4086fb881c84a4e04ead4af66f5673f565fd429eefcc9 -FixedInputDataByteLen = 51 -FixedInputData = 3f5740638107cf27ad2e13bfb233550bfb600b02a9846e0dac12e3743767b7772d1702d264d18b9466d25977e5f295a7cabf1e -KO = f23e88ca654b39d8b0586efe13bfeea32dffde8dd61ebb9d5a806508b3af93a795a68743c8737c1915e3c6d8e99baa0f0b3fe1f8f53e038617e91b93f27f9377970bb52f5b148169b6795f7915d3a48f98f30505801af1b654231898f06f199376d50cb58e955bee876ef3c5b2c76461ced8e095e01930f62ce340c8b8d8b74426a451bf66ad2d6f1e4ab264b91cc47f44816f7aad40298095ac540a257af83d59de5a945f774fa4d3dbec3af1218dc6fd247cad73b0456c311b9cc2ecd7e4f19a9064758aecf8e7 - -COUNT=34 -L = 1600 -KI = e37da81732781e7daa61a641e98f31b9c5a2f169dbbcc599575049390414422ed12d3d17292d3ad4c1556f014c7fd5fc -FixedInputDataByteLen = 51 -FixedInputData = d103fb50ea19797115c7ea752fbab54e45e0357a3cf3d24aa1ab26998e342540fbb49c71130b88fa2a7ed49fef3a91b3d32400 -KO = 5e90727c2fbf6ef4b6898ab18bc417696fdbf97c1a98f93d4b2ab960f54cabaf04d687f915889ac3ef7b95351d80b69d4633f16d9dae84027382da838a95387c8ff7e8888c408a4d5b1a5293118fe3c8948dcda1e318a6c447dd28c2765b8a252e2fae44fb42ca831eff423e2d7ce43633366dcc35c19c688dbbfeae184445db77110d5838a0acdcbe78df75cc8fd8fcf5870650471b07b18f59ab2e24094ddc86e0c07557aeae35773de3fb2ac5ede8b3c8938bedd7d68c6d2d4937870563669f13dc104734ddff - -COUNT=35 -L = 1600 -KI = 91ff0e1f65d53612fb29c50077e56378b1519a290ba5a88d16405881b5037515e8f1bdf37e318a55ffb74a79913fe1c7 -FixedInputDataByteLen = 51 -FixedInputData = 59b1294e4274e3c2caf874e1727ef078f9eb594d0eecf4827fa1a1e7eaa26e712cb084fbce49644ce3269618e34b93d70ced73 -KO = 7877ce0314846599d41d71734e103ebb2dec66e51ca3f466cb16a05f0ce9815ca5a151c6250bacef5f3c6e7c663a0505788a6b23bae3929b0d227ab664014260294c5b6c5dd5817cc68f7839375f3396fa94b49ad490bf386ce92f8fcc8cc277024d187cd9f7593acf8bafd4fba667d135febc41ecd623ea34f18ec69be8e35cd2dbdaae1e0043ec8488f3eb53baa5909bb5b9a0149f2ed42b93e6b1e73039466e0083e4d1fac757dda5b314e58fbbe84d8473c52f1105eb831db35a8335b0aca9062b4026912cc7 - -COUNT=36 -L = 1600 -KI = 8b3e5a6c6ac037e35651ca020bd38431b5708997df03608346ce811ec1cd0ea2a354fed7134a4fdc0e864a19d68cd1f0 -FixedInputDataByteLen = 51 -FixedInputData = 5754a758ed7ad30ef7ea8bb88007d81fb640733f03963d99d3c32580c7f54184cb27eb0c600f0a4f7cf0ea8011af9ac8b02850 -KO = e1da418bbf38e4b64298d8e75e69f57fbb6edbc1ebba07226f3f5a4986004aa18ee6cf9eaffc3b8643ff6e85360920d8acccb81ca586a3aef6a4a7fb760da46d06961e4bebe7a6535c5a93b20489ee01cfecca206af0499cff141cf22647f931b551a508b97e485ed7e0977f60155e5ed7e9db13dade7b5e2f5363c0dec4016e2b42bce633115e7a7398871538b36f4a53fba8ddafe24f5229191f49bf285d23ff3f0ffd0d7339a5e463f437e11feb1c01efdca29dcbfdd4a06a221027da3d054b13d9010a96e1fe - -COUNT=37 -L = 1600 -KI = 0aec20d91817168669049e4ce15ecfdab6c6012818cab850c616f2d23aefc74c2d95a45ade90d34c9132890250812926 -FixedInputDataByteLen = 51 -FixedInputData = 1d7061ba3b562b094513d45573e995caad187be207b5f83f8819c3485961669ccb5f8c7f5975a743318ca0472a8dbca8646a86 -KO = 4a86f3370ed99e5c9bd259c3d9ff0c11226d830dadeeccdce127b31c07dd66f23a04831be2c6be5bc78440c5c8817ed3f3bfcbc81d4f62b2499642090fb1873da8b05f9abc4e3cf3d12bba4a3a19386c49a1a34ab527459dede4b914672b15cd0175753ebf2453e035ccfe15420c32e5d15b59fece15b294c172d6616cdf7f66a0a367d434f4f52e73479c0b21c88d03058eb8368fcb6692d8d10efd7943c73fa8903be5c801fa8aac86877b22ff4ac8723f5aaebec6240fc693f00ace82de711a4f31999e155c6a - -COUNT=38 -L = 1600 -KI = 66257bdffd4d57cc9733b212291296070b2a58898ef9879e4845874055dc387d0f0f4c754418f900af2601ad3c05a2ad -FixedInputDataByteLen = 51 -FixedInputData = 6bb01c5efc7524bf353bb044b1971bf76f82ce9d61e88011762c340e7775ff2c43aa177fe1b6fde7d0635f4385bea6b30608f4 -KO = d0810357f05baf5d72e7cbde9dfac57056ff5acc22f719076f099b62fb7063b68d270400c5c3863cab148fa156ca99d0d38a65a6d4ac668bf88f91cc5c3f6553af73fef5a0855b1249cca78a60da291eb80ce199618c41112680897d6d86465480c8b4c013546c380fb3f743d5c3d08ec7cda980b80f5217b12a30445e86a582abc0121caf49256cb8c9fe63a55c1cb6a6a233941931d1b164ec0aebd9c64b3ec7e172b915683d6395431e925c5095a950404005bb294ff0cade978ae0a2f31c10be8aa891ce5fbf - -COUNT=39 -L = 1600 -KI = d6e0a5f36602d87a0928799a15610dd3223f627eed5d78978fbb63e7c9f660666fbb004faa92e565601d701c491f7234 -FixedInputDataByteLen = 51 -FixedInputData = fc2bd885370c1ca97e78eb50681d228a3e3ddab5c120def9f720f0a56e38ee5c12004c07416f0cb76c9d5f6769dd1de63dbc80 -KO = 7045a86dcc849ee9563ff83ab7bfbbf9db8a3c46171dbbf433ff7e20610adccb20674f6ebae9a22deec81f0ad33c17882ef06471d825b524a6793897f2db18fa23c3d5f439b91762e1dbd4ce402c44c2e20f82f9f106a78d6446312eaebd30207b2db73696743085af067ad9a825c7065faa75e31273c4d16be0075b1eb53fea7197bc17188831f3946716e8ed579eb313d1dc48dd07c2b253e770c4319007aeaf9341f9ba6f2c3d87e475bbb52810ccd881d65b35fbd18759f372c914b6c87eb8171c9b74e5e7d9 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 7aab274fe958ffc1d72a75c2934de81b48141f859096dc43728b6c1756a36391d7b988a7a6569190c595964b681c6d42 -FixedInputDataByteLen = 51 -FixedInputData = 8632c96645799045d5a97e488a4aa7184277ccbcfded67b15ae5918465f40aa39bb75acad9e08f57ff78d50d365e335d5aa547 -KO = f3b618eccd1201ec6ef8ae32da994812d020bfd6769f14d8de20ca0f6568d6105c25a8faec02bae4cd0260c2b2e270f29540f9d06b89a9e14fe26d491d070138 - -COUNT=1 -L = 512 -KI = c3f444bf6fc8bc30aee593015f7cde06100b3516175c6c1a6351e65517d7b27a0ab2cb2bdc053214ed5f393d02eb296e -FixedInputDataByteLen = 51 -FixedInputData = 841e542eb4bf2482723285347f4f8adbe7af56e73f7ec21ad4e1dbad7b86969390c74aa3caa1de530b47db321ff9cfa295dc52 -KO = 547210e4b9cdf93db03a2f85f3c5e02ce3769477b6a24f280da43afd6e3ebe87ed439837bda8364aafc7753adac5b5bedd6805d9fe9feb91deb5436a7e315265 - -COUNT=2 -L = 512 -KI = 6083b562471ea0b5a59ac1090d9afdf2a162025106cc854e2b1ef82c27e253a59acec66dbd64b20faca85dfbd9c5648e -FixedInputDataByteLen = 51 -FixedInputData = 9122bb9dd24dc47bcc288b55bfc4554970af87ffe04949e9f05d38937efc93255de109f015051f1437726515c2b6737ad5c5e5 -KO = 7cbe3db97e90b42dc9665bbb32c899de660d130c039663839c8883a7e897e034613fd963f2b125a5e7ef9e2192e1c41b952397fc777d9e0a61e78810ffad0311 - -COUNT=3 -L = 512 -KI = 8b5f9fe02628d39dfc810487846eceb8961fcb59c42a1ab17d35d8b5ca33916242eda80de079a36ed282fc655d6279cc -FixedInputDataByteLen = 51 -FixedInputData = 4d00707f08d9ffdad468d3191f27e86e8cb9a060d16a72921eb5676532fad474fc32fd55f58feef1b03815731fc56ac968b047 -KO = b07daafe18edb8f5d707f6e37e458f071c814ebced78f3329148bce01f14f2d781e070fa4979fd1b32ec31b6188703e1fee4aa8385b5e8b096ce531ce694fdef - -COUNT=4 -L = 512 -KI = 4434862d919ac8f872cc3419bf5b3137acc371e4db30b75f6d2386284a6bfe8642a3d52a7a381a8e64024ecf95b0ad2e -FixedInputDataByteLen = 51 -FixedInputData = 4cf0725a7e170a8525472b7834a36ba54c0f8534d0b958f95f0a803c44b3ae4ba463b9651d91de22642b1e1e5088a9ab211342 -KO = 6d7a5cd45392b53a2652d1e54729c8e1f01165bacf84a61a194d8fa8728613707b5e09d7aaefb9a47b3d77be248240e74a6270e50c71ff7f52ee9e347798aeed - -COUNT=5 -L = 512 -KI = 7b54d9e1dfdeb3d362db45e9f9a17b86110fc5b4a22ac64059fd912ce3b1444c97c600aa1633f5c497e103fb4662a001 -FixedInputDataByteLen = 51 -FixedInputData = 7b1521b3a041ea28d19a597ce1258d1beece4063908e901bf8daec5484ec50fa5379f205cf4113d400aea0758d0662d8584099 -KO = 297aa07d8d3b514c7e8f90296108020ab7cae16a962773b4b600798c74160dcc8afa98e50e8f5295af02f78cc9f96500efed15e011fa19d6f8087468ff3b84fe - -COUNT=6 -L = 512 -KI = dbdef95a96c210271c2b890380e5d2b23fd7c52315704a536b8a6f9331ae48e9f2889f99ff3854cf74c5506b004744e6 -FixedInputDataByteLen = 51 -FixedInputData = 9bb68ae25ec5a460ccc5031daeff021be77b6467cf977045fe094f76d7f531b0076219a8a6311144d9b76efa606bf5ef082b7e -KO = e2b959f04261816180555c70cbdd1b4caa01f7efa3ba1d1272c0b75407396a11e24837f115b0489f1cba67d3ac6b1ffea5f3c0a5f693d2218236e5a080ce1b3c - -COUNT=7 -L = 512 -KI = 8c5e2747ace77b5fb980ed8f6af4214e557d0a006e8ec8023f201d7c17d385870181be6da65e287c03f23fd82211ea26 -FixedInputDataByteLen = 51 -FixedInputData = c9f752c5320c8505ad885982023fc611fbae968f9645535482f5412ef3d6146b51659d008e4d308edde9a8d07edb61740513dd -KO = 8f2b74ea56a7b2e627b23431d76abdc518417ec326bbce1eaa5c3b01892656da99b85d29211015e56cb99254f8168a003c35b70d0978a9e338700a1a260d9814 - -COUNT=8 -L = 512 -KI = e66d56625bb418b400db9f18f942c2ebf6bd4fe943c7aa062526066dff84bdbecf0db2417181cd6b6b3b2b52ff16f09c -FixedInputDataByteLen = 51 -FixedInputData = 9736182cea383bf7268b2549797141dbdaa3652cbd504e55f207c173bda58b18faa18b9dd7635decd076c39145e472905b1f84 -KO = 42c3eb253565c5be916924aeaa46afdaab941cf2673fdf503d9afc1c112b540a88a97a61be805359fe55b638cca3265f346015c576ab5ace8b9808c491b09b33 - -COUNT=9 -L = 512 -KI = b5481a0d1d3bc43cdfcb27c17e0bf3bc57514396d08d3b2d49a938dd0cefe77a9d17573f1c118fb997b62a6ce02fdf58 -FixedInputDataByteLen = 51 -FixedInputData = d740884c6b6ad6c9d512fba6ac2107ca99dd1221a90bdfbe76bc8496e000b432ea9fbf2499bcb734122d7fdf8f4800a2540579 -KO = d85cff944e7f15d69f9c9912eec0ca5a24c4c8bfa1ddaa4fb0b2cf7ab0acbc2cb4bc5ad0796e52c8aec5172e1aedaf79d77a0cf123732fb07bada39d2c729078 - -COUNT=10 -L = 2048 -KI = bb49e229afeb8ecdff9d5c99fbcdca46f7ca40eedae9145908e86d01521ff8cce9719c93cfd06747e11c87dbcd030385 -FixedInputDataByteLen = 51 -FixedInputData = f55eb309894f54f9b8b3d13da07b0526ab060afde437ca191028e4985870df48beecd9cc325b304cbaee71bc634fbb4eba21f4 -KO = 84190d2c4be7cee9bfc92e6d1cc7b37eba3b9c02471ac826b0fa0b89d5d65679258fd559b5f4b537c8af9bf01df243c951f09352087a2a232baaab73046e4336e3217c72453546c3640467070116a38818bd27c80d81045f12c27cfd049f009506f3cfc9c30babfcf610a90a6290455529511d980ff84e8a54417bd08432761c47961434735ccd2e17e1656c2806b63d95aed2daf23fcc05509cd0a0c2ba905523e357908538fd33936e15f235aa16d70099daa7b8df51942f78c2ecbba709045e7548655a2c51a1690698967a7a0681fe38f0dd2aef5e8974f1b662e71bbead7f46660184a8ba507813e3bc4dd4bca9bc76dae2e1a11aa5ab89b80d3e66e70b - -COUNT=11 -L = 2048 -KI = 98fae0908e94b4f0dfb031dbe10ce1ddee0c48c364c7c27a95e232fc431941b381013e3c33d0ffc4f7ab754b1b9cfa8c -FixedInputDataByteLen = 51 -FixedInputData = e04accea492d81d08b1be6555041e073141543a216b5989f404270e1cc97e9517a17bfd04c5b05c5e3449103b636600e07b600 -KO = 082ece8eca95090e96bcd9d1463982184b35cd7fe9a4b1e0ff2a0ba5fc276b7afe21a805e4a6c6bc6faea85d096fadc7ce7a1b4bccf53107207f6dbe5aad83f607ac586cc17df23104fce84982a6e6c953d29c946d77bdfaf20c3d1f420222b7484dd435919838e81a0a19cdf4742d292ac8fe6d62838ef09f5180a3439d603d3892255a394812fdc47ed6e2b2f5412c44f5d5ee05795f32dcbea46b9d39ad1bd5a3bc4bd54f8d1f562c8e2f40bfcfc4148b8cb0a52d4a0d4cc7fcf862f5744ef35175879368996f24c09f11cfd6b4382cdf5b5f404e6dda757ca4d34a242a650f111b45063c71fb8f55562b9f39cc681282d386c88d75508c04212f85a3e542 - -COUNT=12 -L = 2048 -KI = 2ba00b0848ae1175cf3f07f80bbd69cf764e1588e7e9cfe7a2e8dbb4a3a6208757bfc84cf4ff1c98f589117636707258 -FixedInputDataByteLen = 51 -FixedInputData = a5390dfcce93352c5915d63e8628dbd55033c4ea2e6e7b5abad2de3c9702ae356451c19fccc81eb351735b25e4883f5623bf8f -KO = 50ea95c102a134bab30f02fabaf37ea66e79ea2cd004366e0253f2d10da6d713da26d20793ad6d49cc103f504f40cf2ceabc963e5650d95d9e11f0bac9cc2f5a63ab48b74165f1869184b6f5be6f58b27079700c7d7df47910041b428977767ec17cad23b1514844de6dae1efa2712b9e0e7e55f7e6d3ac4c99052578e899505bf5109d5b703ece9f8ffe914d171f5b0b11d302dc5c7bf63233a9f74a0d96641a797ad2017558c566ecdc6282f2777e6790fe4e3aa4b79bdde3fa17f82395aa8980df35ad02ec38034f48617fd247763fa0d18c1bca4b7cf94f937851a2a304ce2ec604d8dc1ebe5033f03466f723f50c7d85bed4c3be1c2400225a6bc777ad2 - -COUNT=13 -L = 2048 -KI = 07171c234eeba54796ad1e0990f17f79e07f1fbdd96c75cdf4918debf199327b3d392e4404e9caf23141ca4eb5025792 -FixedInputDataByteLen = 51 -FixedInputData = 6ed2b342d03667575db85587ed5fe6e6b2a7d37394b1321759df3fb84b5d036bfc7abb57bdb39a2b9a11dca40ffedb4b50b82f -KO = 7d5fde6469b3d77e516af627b277bebe7f04bfa9b06ac6ccf97e88344ec4b8837e9b975e4264466add788d52cfd3e452f61ea709e106fd8774704adbb5c3ac5dac596900a11894e2de7eaa3a2969cd8a80a9febe62a2cbbe454d1dba2849f18e13b4bb88e613c64e7a5717446fb2ec88174d243e66f73266dc41b615487d80d07be93a6e88269ad4d3a0ba116423ca806d3a9290ff8f31e6396bee345abd9bb353aff02a6bae86ea6c6d00e1b746c7472b1c00806e6473a6aec262b39b71f52b66f7fbac9d3a2bc17a6da5fed84c01c78a151c9d7c94708d1e9eec85ca142f88954a76a2c4b35ba6d7fe2127092982b8d6dce59f2ad55a3dd08752228dfdf712 - -COUNT=14 -L = 2048 -KI = de5ad5d51b4835b45a3d1ea2e268c8674eeef9050c5f2c130b5745ae264dc26fb9317ed21d8f2b1ec31c42767f9a3d47 -FixedInputDataByteLen = 51 -FixedInputData = f82d5d8024b96aa96b97a0582b130d7550ef73406cf27750430c7d2bedf0293d1337dde047db9271b11a9a97bc90bbf0757874 -KO = b6691a3218db0eefa6794378d535696006b07db1f8842c4b4235fd5f27dd10540a0a7ce6abdd4ece683346edffe01fd8e2f58632286c58eae28b2ef543253e8ecc4abf272e55cb9d431e2d7da5b150f4afb9629ce5efd1559aa4c4285f0bbf844a1453754b33cb025836afb843093243c8324064c19b13581e8b4277c3ae605dec6e44029e277283cf33140b1e1a0c99c9bff22bb27968f05f72f0bb5022b7947199ff33027ec3700546950c4dd5326ff51694f0d671c6f2e59fc557987ae22f9f74eadd74c98b10a601b126016f4ca2e1f7a02cf00f97d5106c747b466a07064de7d58d313612b1952d56504c32f610df0ffbb8dba0ccc8fb84058d10257256 - -COUNT=15 -L = 2048 -KI = 040515b932fa519f20e1c968306b2cfd0d7dad9186add7bfbdb5bc7240abd2ce658398a2c91388ddd503ddd359fad762 -FixedInputDataByteLen = 51 -FixedInputData = de5945e0a9776b2817d216087639e94f807c1e77dc51a1afc03f0a45409e72bddc0171c0f1fc063ded05f5ec29836eaf1e655c -KO = 35b62effdde9af0f26f6a0da8fdeee1fb25612490d7adf46a5d78b5eb1e37195bbcf9332047a61603c073de69570e71fad37e712bdd1f1b095db99b7f85e959214df1f63b1699e8572cbe868fd33dca9169282d435e148435b7d0777233c34bdd86acfc8727ca9f7e8bc1822ea69551d5d23cee891d0e1a6920f754bc379fb9aa02af0d466214a33261002d6696b995a4ffda81d28d42554d416d83d6ef311fcd8baa757423f5f9463959c0ecc55414944650275cd8d5e46370dcb0e0225eccc6003acec97ef2d91990e3b46ef2c137f9252d2c2bca68c38902f293b8be24e5bc5b4621719fa5f57512ff1cc62a09450b1bb378bde5d6a9fd24a2cae2075f340 - -COUNT=16 -L = 2048 -KI = b9c5550141131b0d7756260e9ecbf1c0ec10daea709963cd77483e594129059686df4d8670381b92cac5ea0efdbe3388 -FixedInputDataByteLen = 51 -FixedInputData = b2379a5e15cefb5470bcd172b3455c523c2a6a1a427e9279d8189d5dd369f9e22a47f3b0260bf081bd2386ccfa0adcfcb0230e -KO = 44b66979efc0f2b3d63af1d9343959f53d21a42c84a5c6ce61c8ca26304c7802d1649978412c5b356df3cc990af9fabb3e99f367664796b7f928716497f1570576e905e200eaf587107e43574e410f324e28a1a96f3298f85fb522603d1154d2b4894852c1c37afad159e6c358903fc863448d9b67c06453a8f1bcc6f080c020434acfbeff5637a4e80a4531d8635aa3db899540f913a9181b5ed1acbd59317010153722a3eb2b39753cf59f496e0fc3eeef2b4859e4b01b29057da51ea4030d7a0071974ca47c7add7d066ad6a051b066325381dd547a4bc7a5e6fd39a2043360ed203b3a1fdf9f099062c824db46e678529cdf2cdc302099b804e46d681a35 - -COUNT=17 -L = 2048 -KI = 933f1ac689fedc46e00046b70dbc5a14af1764727dca215488ba3fe2b38f223e183434e8f6b24786b3276a225fa6662d -FixedInputDataByteLen = 51 -FixedInputData = 2cbf815789a28c861e05631cd73f473351646db36259d2ebb6a27e237547097e7b1d04d31ffefa601fe6e7f4053709880fdc4f -KO = 9b7827a94385065c854a3b15aac6f0989ef02d050d0ead8d903f43e13d0ac0174ccb82182c41db3ec8326e5511d842ed0655a9c9003f7a59ccc841b6ace608d53079a66592454f960922e5872928c3e9cb7cf4ed866bae47a04920dcadd6b55f1f50fd659cfc687a74e828aeae0df317add16a8a9211a3cdbf213e095f0ffed46c45da21c613888b786926540635910b04bb61068828bc3cdba8603ba603a27a4c22785b1c5304851ef99c8f475cc18aafcb5c4c49f7d5de830cabb0f735bf3c80414f60aea80c3adc9736ee43b6a01f5f8b6d335e47f014900ce41ce8a3127f52037e614ddc8a676895745b918eac9178c20fda4fa56963f691b66328f889a4 - -COUNT=18 -L = 2048 -KI = 06f2ed0040069e75f025e42b62c4a294b2ab5961cc425d51e08fc4eb4bdd74afb0018da47ee5fda404bafd882262507b -FixedInputDataByteLen = 51 -FixedInputData = 83785aabd1fdf9bfe370f3372405f39a57eb2ab5c129bbeb2abe11ee4fb11af276610d56d56be8384ed5a7441d47660e008a2a -KO = d1eb704851a6fe646d729eef52cf34a45229e6ed363a3e6c533c6dc07c1725bf3be7c0bca4fbc2a33b9436b03aae0d1e8f2155e7c97fb0543de8ca36b82d9ea2f9a5f4e03a96394a67992f3928ce7b2dea35e030b5e76a9629b953d3b3dd34e0eb1a090cb8ceeea7bee0e628dcc18b1122734bdbad9fbee79d53390b70c76bf14570f1e45204ebbd9457cb6ed948659ad33ce921b52f681f893343d845318f7882639559bf8a013614ce28137c882c755130645c5f4912c829b78170b3820ae970a3934dba5a8ef3b119b49dd057bc1b4a49eed3e1bfaf03ec57fcc4b76b3b12be0475b1b6b7f6da5979dd6b5a8e75df4dc4732354c944c6bc871d89bfa16f7a - -COUNT=19 -L = 2048 -KI = 048c4f09db1b838b902b9ae9895ff4fe7253446822b15c7742379339a0cab6a38ae285db0eb8fac56b11726216d8ac84 -FixedInputDataByteLen = 51 -FixedInputData = 209b74cca33adf8597ca74a1033b258c34e5a9722996f6061a51ed2d13e35638a7a1d3b92cd473b2278f7e19374fbe784ec8ff -KO = 91b92844b897e9b738af79af26a1b2e16276d5224e7217b346a27930d42763ea61b281ed733a7482d73384c118afe8745e0cb3866d622ca49d28396753856fd9a611e27cf5209eb870e6d7a31850d15310ea54e886f04649a1074c7b3ad93e08e961cd883e92f11bbd417e4df23834da23d4cd15bb175996d9a63b089a74e94a03a5578554fd023dfd871f06f5be8b002390912522914b7b16c1bd4a10b5056b67dcbecc13e785115a65ffaee47e50daff5ecd19d43c74687750687ed58b378c62736e364e6cb0592cd8a99628ff9233df56566e83b5092587c3b6c7513349776dff5bb9d4bdf29e9335f52fe00a41eb6b0d42d869b588fb0935bbdf4ad5b17c - -COUNT=20 -L = 560 -KI = 846bee30d6558e19b24bcced74ae6e923e81733cf6360db590c8a6d3fb2f154a1ec9c89fa00074f89b5a710957eeff76 -FixedInputDataByteLen = 51 -FixedInputData = d573fd10482ada30eb9eb8e3d8d6f15b583ccdb9b364d17d8621548fb43e34f769f80c9339e2247d4597696c4089e81668afc1 -KO = 25be4a2730e81e6d4abfd8cc41adf2bc98312b25afee2e44c92dfb2330e0f48ebaefab129cf898e45da532bb7e460040981980c6caa85673edbef9436f4dc7bc96af2cd52154 - -COUNT=21 -L = 560 -KI = 625b4598ca02a5a77d906b09db5064a2baa6f7886180ff41653a9bfcdf024f37346ae09c617b2d53e34c700c400ddd32 -FixedInputDataByteLen = 51 -FixedInputData = 881b5b4472ea853dd8eb68a3985b0e8182998ecf8b3a72d7ccf953c8b1547cda81f147f233faf2860521d99b70de13104af094 -KO = 4ab1b8ecb258c9c53a257b5f1081b1c5778b383eaf2d38decb3602682d2e36462ad6f2b06f8c22006184cdf1316914fabc8de05ab058561f9aeb8a22cdf0091ff07e3418e304 - -COUNT=22 -L = 560 -KI = 0c1474d276540e75d8816e23def41ad42881a170d72956af07173dc49fd719fa3f21f92f98a3d0cefe5bda44c2c0c2bb -FixedInputDataByteLen = 51 -FixedInputData = 4c0d7f895e26641e4ac605edd93a8905f3ba77d764479f3d02fbd036a360ee135b6d1a27b8fbbdefa6d72707a6420031398723 -KO = 7008d531bb77fa612189c05a52da849a05ff79d04f689b5c4ff36be06e8320c681eb04a95ed5d904f8cf677c12c059a533759ec187b75be02ddd6aa148f8e741d7ec49fa6a12 - -COUNT=23 -L = 560 -KI = c1f103bb495e570bdb03676d3ff88947dc64775a93a99c814c07ddfb07bf4439819c9d7ca1f0e6b1387e83a601f2dbf2 -FixedInputDataByteLen = 51 -FixedInputData = 369fd543f7c67c4ba698f902cbfa7505786ff39642214a196bd58f945bf1c2c2b59d3a1d6576f8013fcbbad8a7b489a93aee15 -KO = a0375150d4347b316b20df532a1b728203d4cb326d34fdcb94bf4f20b5b51f450001bcfe9b5e87d7617323f9a35de7ce16ebdf944439b7579ac1edc0e6de3f4ccb10bce6c45f - -COUNT=24 -L = 560 -KI = ba8bd14f5be660ead3a3fccd12288cfe1a40388eb38f43fc54b622042cdd124d136f1209df636bd4495ff484859595ef -FixedInputDataByteLen = 51 -FixedInputData = 4339c2b04ee922e7d0615e54697b54716ead40ed40ed604f1e3325d7a367ae1e9bbfcc28dd916971928a1d512b03e18503ece5 -KO = e0b86ea150f3bee49f0c59d36c399a059b9757d0a3814b0b9eb48340c1e7321ddea2778dd1ac65a46f969112cbd459c24bd1570985b8ee0465d53b31d7a7d5133e87f457b1b7 - -COUNT=25 -L = 560 -KI = b0e2903b76d71a2b878257484300a2f06026b53d3a033a7746ee6a879e2c0fbe9ce35ec7a8fa8c907e0b472bd0b3ddf5 -FixedInputDataByteLen = 51 -FixedInputData = c759aebaf5e247527fb201530a8735b40e0018b1c230be2bea398cf6d9bb7ca8dc887bca1899bf0e88da624e618df5cf7431e5 -KO = 7139fc25fdb14f2965d17a8ddc8c5496a38a15a750598fd70eb0cff687b115817e8b4bd6d498d92184a2ce1144dccbc3ff7bbaf8a73d82c47bf2dc6aa9b7e93c50c5c86c7570 - -COUNT=26 -L = 560 -KI = 224f37943d3130520587f6c38dc48f1c38e99ea4e0778de97838b5806ac78d14e294031e5bfbdb6cece33aba47c2052b -FixedInputDataByteLen = 51 -FixedInputData = 9a6e92aa597753d4ea5bed23cdc9fba7eff39c71d1c79adb50b558b8ce1027a237a4b2d1f852588b1898ca489cbdb29fc856cc -KO = 3a95733df08fa55ef1e4e218678aff3e42efefa39bc9e71a22c8c44936d8baf2611817d8748166c7fad507e0a6a5e30f14518a4dc24c92094d3fe8ddd9ad16760e777275059b - -COUNT=27 -L = 560 -KI = 6dc4b156fdbefd5705b6fd02f08e7a1b80e9be0ec7162e4caab86516afb4a02d8aab39eb48f20c09c331ae2586642bf9 -FixedInputDataByteLen = 51 -FixedInputData = 0c98f042927eafe0c90a1098e637fbf479ffeb0eaaef308481f7afeb3d865e667861c84130121d85140dc4cd2bb302b578eb2b -KO = 3d435f6c7be17acd1fc2c07d94f9b392042facf9731218562fa71cc8d4688a4c0e096b845cc6edff666fae80645e0fe0dad9a70ebdaf26d70a9ddf5e5ec9ba70e04d6a6009ab - -COUNT=28 -L = 560 -KI = ed433a3d84c8036b370771806624f249b79f89ef9f20963e9048d23dff2d3fb57b131401a7fa6d8968026675aac83952 -FixedInputDataByteLen = 51 -FixedInputData = 3dd732036a6e59f05d31b36d71045989020c7d7bd63b2eb3b9de2ea546fe1bc986bbe7e86d05090e47f6fd6a988f7a3b9c2b18 -KO = 7d75eba635f9edd7eb21049d16ce9a7658290c60c11054fbaeecd23644d45afc010d1b86a5beb40f8e4572e3363c1c61c5f408c062631ab8964691866e463da5892ff7c70bdc - -COUNT=29 -L = 560 -KI = 6f7c75ac3613d8c4a2269a8c955a9e56596c8fa293210eab2edd03ade8ae8e72d93bd5e69ec1ea4df2000148b6e57729 -FixedInputDataByteLen = 51 -FixedInputData = 65cb08a53a4d83d2bcb60f96da13e74ca324ee5bf7e6164e02a5480485911b615fd9e44889591a8762aed7011fb0ad7cbd6776 -KO = 6b78b2c5a9eb4abcd7884f2f592f5a76e672ea521f3d1d2347304e064e4982da8a85fac4d3e76b1c99c0b657dee31829aa12312ac43c87b68b3cadbe859da559679cf214a560 - -COUNT=30 -L = 1600 -KI = 951a3a2b8fbdafd4aba3d5520d546187940888ff3e0645da295687f0f9c251910470271e997ede29824ccc2bf1399ee1 -FixedInputDataByteLen = 51 -FixedInputData = ed58a11da576d8ad98a7717ac70648f4580eb10b39552325d09b7b528fb2eaacac6c181f4fdff37271c59250b05d90eadc3e4f -KO = 3777def5b9a8b387be9fa8df5bdedd43e3d960fa9d62ad45a3db63cb37222831249194e3dbd2e1de6e319b8760cd6d36d1e6e72ac2411d6a04fc0c55c6c7a0a3c4749b93f3ca3e659f62bebd33332c91756d7e192a9ee8aa1651f9b130ed5287ad70855bf3584402140a0ddaefd27d4849e466ed97df4d164bfe01ad9f1597f5cabe1ee941d32628586034cc6761654114384dd7655d6f62df360962049ccd7be37f993ebe80d6c497ceb15d6e73d0b5d0855ca83804e3688c316be1d2dcdb54817ce2a189a27448 - -COUNT=31 -L = 1600 -KI = 714b52826dd7994440f309cd2e45ccf2e5d75ec28589c9939ad8fda54e0ca483d066b13cdb9c99d2c29edc524a9eab82 -FixedInputDataByteLen = 51 -FixedInputData = 0b003f7f93bd423166023b437b20b730d3b99727701eeb7a180c5f07c7e8c30c31f3ab58103bac59bd6663e12072988022b5bd -KO = b73ab2d936d2cd9267752f9e08ed59b3b45b6cb8899c35381433541cd7a7989e311e0073aab704eb204f67aa6e6a2e37d04611f45d5c0356f3bb43ce148b5ff619546f9d76e15175d864ff0d16d0b9bc537111088bd6aafe3592d1cd56dca582dbb59ab9f6be2510e0569ee488f54f7db47910f1b13663bec4c4e18ed4c41a369d3c9531caecd5a09985c3669b60206d008c1f53b6f72eea332f23ee16e6f0f0e2d05688c686ba2fb8c0dfc5a9742b457fdbfffe16c38a9c14047965f5469e2349785b521f691922 - -COUNT=32 -L = 1600 -KI = bef15ce8f874ef8d4703dcefc98f63c0fc23043f17bf37275b3cbb09983fab1267270ab6246d70219a6ae34d86e6a837 -FixedInputDataByteLen = 51 -FixedInputData = 3c00d21619791a2b6becd7cecdc5aaf14da8a6c644065529eee3b19915ead8f5727627a3beb4014ea19cc5e496ad56d30c336e -KO = 53ded01094eccf0789870ff637e7fddf6861c6df3d9c8d8b51bb4fe79293f76379e8282479ef0d4270c86e082c344a8bf9dba36f4283f4bf01d530dd4e194ff15238614e6bce80be45c171d27553e4330c9d2bff6185969bf674031cf854f64cdb2ead1f91f858afc097cf19797a4246ff25115d1e8a3fbcca271c94725123be0714fffaa029a54d39bbeee5f4c51b91de7842743961c0a07061123a31ce55fc1568a6e0baa256dda0bee6b55617d72c5d7c5aa98fbb60996fe50b3f034ddabfbee94df351678e5a - -COUNT=33 -L = 1600 -KI = 21a468b5653ee37b39b520666a20b86358df386e8904087bc46157ed5bcf5ca6866b104d35c0fb682f20f3e005a991d1 -FixedInputDataByteLen = 51 -FixedInputData = a49785fc87d99278a2bdc38f7c801dd094ab62850801cce8c6deeb7579a3810201fe364c020f338a6356b202b083ea3b5cf4b0 -KO = c8fc6b36187252eba7d38d607363614f4197593967475a6236704838de11a63ad83f53331c3427d2b5c61fcac78e6fa83756876703322b36efd8638e4869055ad97a1d259600b649c9dc8dfc0f8636d657bbe30157a1431b848e7b3c0b930e68851237ebb051ceccb23345f51ec685bb86d77a588608bb7d3688b94aa069bbc77908900dd6bd5f7ff88e285a22cde5d936ba775b82abd4684c48a7e50972da528e8e736e776d0beeed57c154fc3c126530959586be78fcb3668304a1ecb8bff9bc97abef8d1d159f - -COUNT=34 -L = 1600 -KI = c4ff01bf005cdd18039844c0b901e6effa4ca75d669db780e2f0039f692f0554235aa714ec30d6dede8ee4722a6f230b -FixedInputDataByteLen = 51 -FixedInputData = 1789c0362d978c139b8adbf6ea51ec56c29c35fa7f61a3a080883ec0711e7f6ae8656a22fad366ede3b8a72ab79ab669a16850 -KO = 9126265698636868e3b1064893b0371573d7b5e3233d60c0d9f99da6a6c7325a24bb5b7f766c63580813624074d2131fb2b6a8d0b110c204d8ae1ecef23280cde0aed1741265cdc9c2d689947b59bb8210a389aecc6eabed8d03d6a97468e0d23afdcbd8ecc550efa208890c4732c4baaa6fe166b48ac133962a94cd77cd3d143a84ddb20da8cfd3d5e6f36ba4164fe053133752dea243106be8dedbbe973fbd305ddbf315ca156e7d1eae0d80cc2254e10d51556820ae728e781b1940a2068edac75f5df02481be - -COUNT=35 -L = 1600 -KI = 62616be3d9eff73b2d3de88665f6f24a399562cc762adcca7a718b0cb90a8f4b9b356525f64a6c620e7a3dbb3b67aa4d -FixedInputDataByteLen = 51 -FixedInputData = d45ef5ec2df15146e14d9d0c1a8cda988f77d91abd73c9393b7fb8b2f030ef8a0e7a0e154707a8fd95c7b7a396b67d2e94da4c -KO = c6a94460427a9526e02bb33aa27f8c27262b262e99138840b93d6f58c0777ffc8b2860587e9d72b9b9aa841a14c5451f652c9c15492916d15cffafe73464729ee04be1d09a96b0dcefa459d505fb9c1e4893e60d449f833b32f1f2133abcdf582d2e55f80f1ab18205c23f0910098268d4f725d3db8ea1be17f2092378883ddd2accee5fbc6d81ce8cffee07142b30042d011efc5f494a71f1da25886dc0c792162e2b4ee6409472b2d5b949586d93c842fad631aa15c1a0bce96a693c7c6a5c75b23e92a8a4d92f - -COUNT=36 -L = 1600 -KI = e3ca4e70c33fce980f21a8604336c774cc7b1d2956f4185170ec906c8d9d60c681732bd0ce24e0a507d27d0e16c1bd76 -FixedInputDataByteLen = 51 -FixedInputData = 1f53a6f4aa76b4eecf682d5e3c5eca9a0ed112a311a6dac108958990225cf4245852b062c30ea9219e860b383b5aea78283359 -KO = d478620ed764f11d85ba2d462fd9e250c8a88821e1b00674c6c82ba96fd33f78e2440dd1e8605bdd7687f7c3b086750c468a704a6697415db22390adc3d1ef123320f9b22de6e10b93f67fc475dc2da25f6adefd87c176f59b10b50f663a1ad82e630bda2b60d13d743a65dac5c63a8b7df6892e5705ba59a6fbea938c3623638d806bebc2998a3cbdb95675b61f9f21a590f8bf2311f296d260a3da3d08a7d866a68aab507b954d09d6f3ae6d398ef2a398190f61d65a693906f807f4a6f9e3121cc7e173f104d3 - -COUNT=37 -L = 1600 -KI = 18ebfe34c9b0ef00f4973f71892f942684c72f8c056a24595b65704bd60cb59c72ae9163242c44b4c5e2c2642ade9a42 -FixedInputDataByteLen = 51 -FixedInputData = 3bbb29329d055721f64fa09f20b904879e15c8cc1a631c07d1d5ccb6c063d07f329503003e8871ada625dd71982864209b4fef -KO = f6c7df36bb322cbaf8b5136f88ef9cdfe3a2d8a0ff5d9654d2c8950f302429bd65dbcf8ccbe2e6fd6d6891cce64da05c5af235bc87200aab6584478dd59b9dfb2b6f0be33c980cce603b7e0de703623dff11354eaaaa45efe7f792ad4bc17e0bcb406c126deb3bd152620bee0c43b6ef591bd8779fb76f0fbe5e2a42a9ee6238fe885a10e10b111661f1bc9ab45ee1e0cbc6a95ffe50c332c8fdf4620d422dcc46d1857db6d170cb0db3f3fcd3e41e0b9364f2f2f23c235356f5de0f6247e1e337682a1404e2b801 - -COUNT=38 -L = 1600 -KI = b94191d0b1b4a75726ed52a94ce78d0f8fe7a05a1b272da932a7ceff88e556e63018a1206d1c32a4cf6e86c6308d0bb9 -FixedInputDataByteLen = 51 -FixedInputData = e2ae8db3ccd3b1c5ca70584c89bdb4b1f5fa849ad971752a7ad071c06797687302ed0d4551eda6c518485b8c0740bcf80813c4 -KO = c7e11d0a3239f82ac84d1db8d4f01cb594b6ba8b1d33895b28663cb6fb69383ec01a61bdb42d72680339b6d27f7117c24b5bc516b2e0741d861030af747bfe9f993043c9ababd24fde0bfc2233990ea6249a4f3e124a8b482e333b09e48060918ba9a12bf326bb3709c0b16983f8e70ff0f6f877148085b75c0f876364e5bfa063f03d1a0865e78ddddccd6ea06871c005860b72e630f0629a98571a61a35306855f2ec77d3c7dcbc799bb25b12e037636f4b143b0e91838ca2bc6ee1334d9712c387dd923bdc8be - -COUNT=39 -L = 1600 -KI = b696c5c837fc54766c9f60deb88086b91f3f372d3d086f8cd1beeee640bd4ca13f67d30bad36907d415fc3a98de91896 -FixedInputDataByteLen = 51 -FixedInputData = 829a5a80af65e7e8e9ef939f404da6c75908d8e909eb1e91d646b8c4023050e75ce29a067ba616ff780543a1fba8eaa4b9c72c -KO = 163eecc7adac08007b394206679956c13c6ffc98c243739137522422240cdde041e852ebca9d1ee53e4d0c7299ae829198879125d33bbc73a1f085c709219ab8194590e10992f6486cb7ba4cea049a09bda45c88d55f48a55cf3f56ed02865ef77af1b7672744f932bfe003f903efc2833e20ef1768a833b6b8034699b7ea5d32b116bda8604091a73b222fb870e09d0be8593607d123c296bd9d90c0ba62790dea1aff0a1fd67e0fbc78630e2d3af3456075b930399b7dabed491a072e2042ec5c259e8b565d1f2 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 905235c83af07e3b4f3b52fcc46e15359216ad9a12427653cd71bbb72ab0fe512eb255762a20ceeee6443fb6e974e6fb -FixedInputDataByteLen = 51 -FixedInputData = ebed620bdcacf9f43dc623beae322cd9073b2613a31d02cebecbd10c1702646dc5a2d34ec9413c52080ac61d4f4db43df15210 -KO = 2d208d550f76f2274f164a5383a2ed7ab641973d7f2c6b49d308de18d916a855f73f8a8098d10aae8432a3fb54b2158bca84334f2fe59c83ae6bbc6523719645 - -COUNT=1 -L = 512 -KI = e50bec84fcb6368fe956ad6f475c872d914260071fa9ed0205b5251c66fedc40e8c8d256d2593739345ec96124f669f1 -FixedInputDataByteLen = 51 -FixedInputData = 52abd50384ba0bb53babae647b52d13334b492fbead43c4ba41690cf090af519e28951c8b3b8440eb10c54522f0ba754cdd045 -KO = 12caa69f8eedcb13bf59ec0611013055149a10ebedd72ef35fbfd04c335a025d2b404c16e166eaa48a3766ae4b9611b3377d5eda17d7c4b7e0a87079a72f0ef9 - -COUNT=2 -L = 512 -KI = 29a775d2109d9716709092966e831c11983201eaa6c5e9b307233fc9dd2f22400d990ea162b416d7ffd7036a77fbfa8d -FixedInputDataByteLen = 51 -FixedInputData = 0e8d50ebead9a50446a870a03778f74731d0550d89cd380c63c5f5baa1b5f64bc5a3e058f75e16cd9d26061abb274c4b7ebfcc -KO = b2af058ebf85f9f9fdf43fcd341190d06598266d8ee7af2699b54f7e9bc0762caa8b7f211ac98438ce9e7d0e720337f1ae82f01fd2d2d0a7bcbef7385e41f3a1 - -COUNT=3 -L = 512 -KI = ea1143b668d06e4f477794744f9a2c319797d27904940c0c4b75e76df73be2a448dad6ba280c0966e8d9604590be5ad1 -FixedInputDataByteLen = 51 -FixedInputData = 9a2dd5e0bc095a52520fc69c8653a4cd28e4d753f0c3b35f049e11ec99a0f7f896e2b0eee735c8dc2e19993a78b36f4382a0ef -KO = 3c2eac76fcfafa4d61eb9cde6171eea36887c19e990fcede22a704698f222c610750dcca939e995967a67363d1f280faf3b86c1826b0bb38038bff371fb70302 - -COUNT=4 -L = 512 -KI = b06dbb437075ebd71ff1fddd49e2b79879e74895afa5d6b1f7f4773d20507d424a6b62f57d63002bbc8ccb51f7658f94 -FixedInputDataByteLen = 51 -FixedInputData = 38d947902aa2d2b6a0ff2b1fcc33f19cc87967d5811145b7f9b9b13552281fb45a7c01ea4905e3d1653c0e7bef255f53555fa8 -KO = f5142375148c46dc4c40fb4282412928dbd7d5814d9dca30c6f3c3f8f983c3f818c4ae782baf3a79e87e01af667487e9925e8e3c47448dababdc1fd8b412ca43 - -COUNT=5 -L = 512 -KI = 3f52caa03fca5dc14efa19a4acd78491e597c7ce4002eae970dba302a752ee972738617ffd90f26b76f01b0b96c344f4 -FixedInputDataByteLen = 51 -FixedInputData = 46fcf4eb0faeaa545c81a15145894d1872df1bba3a47fb9e2dbb5d567452fc13713dd03f85605287ab486668548c4d9a2b9e9b -KO = 9e62eb33e2357c9fc9c0f7ec57f8f1017daf5d24b6a51a1b12ee49fb5d644bfec802cdd6de471e46285b2f2b47a61702176b2f686a1ee9f9e7fd64a6743d966b - -COUNT=6 -L = 512 -KI = afa06e5c0c490220db2e4a780246b037dc05021ca6e55f668fb6dc73b5c7eb7d19ae76027df5e1f575485b919b3b3735 -FixedInputDataByteLen = 51 -FixedInputData = 4dc7e9e726c995460ad17e4a6fa5ec462cbd860172d93c0c27a7a81458d423636de13a531cf37e8ade21e1e5abade2d9812c84 -KO = f4af0e11e4e28d887a0f9a1c03a6b53d7e24e315caa95af3df03bdb2f85e841e8e426570baef907597146e790b2edc9fa31843a41c512d9247402c70832e52e8 - -COUNT=7 -L = 512 -KI = 1c9c2994aa6fe1ba0fdfc12687e31adbcee616f801df885fffc9e6955c65eea1e70778bcfd154391cc5156925beab7af -FixedInputDataByteLen = 51 -FixedInputData = 58f81a0b812d37c4a603e9c768c86db5dd24fb89fe2f424c56b5b4fdd87cee337eb90d1e5821325f04ac5af645b35bec0860a9 -KO = 01c4c6501be34fad8116b86db4c72250524d0e3fb4cca0dae4ff240fe3165afc26e5357d911f59570fcd0b303c421af59a914fc042130dbc11c4c0aac5833221 - -COUNT=8 -L = 512 -KI = 62d8bd77a9bbc000dc4fc4555859824e7ba2103f80ef6f94ac27e86fa91bd44b37ed3c5e7a7329e60b73f108e66a8c84 -FixedInputDataByteLen = 51 -FixedInputData = e2e9c73652363cce78b425509d15f72520b604e012649d7575b1ca5aef6d79eb57331e2169e2ddac6d9310e6035585593c48a0 -KO = f205c96813251aaf20e12b5a7881b85d3a5ce1a5dc95df67e045cc32ddce3b2f04b42f4251a5a8516189fc6654d0bff80e337739cad4b06723ffc8ca7e4ca885 - -COUNT=9 -L = 512 -KI = caa10cacd684b842942e614e799e13042701e1a8672cffbd3082e941de6218734e40d3da12315982de2999b3a9ba131e -FixedInputDataByteLen = 51 -FixedInputData = 199f4be4ffd6d560a85cfcfc56720364bb9ae06d4ef05187f405295bd725cdea6c87516ac15eacddb308fc36b3735239296814 -KO = 9f1c1771e26c40d8df252b2c7fce6ca4d98c4b5ee7e729b2d9417ad764c9876a0bb41eb6ef5910f64aaac9637ce04424651cc8f3525f41c3a489b26003bf4c9f - -COUNT=10 -L = 2048 -KI = 99dd97b3fe5895d1f6b1b083a01d5d4846bf62d15bbc1804d26896e05c45bafbe1e35c96089cd28d7d8017125fea7607 -FixedInputDataByteLen = 51 -FixedInputData = 44521dc888071c3eea62df0b02cbf8ecccbd720d2656b77f83573847173988e82933958feee371cac408d8d595421d6a893be6 -KO = f6fa620085990f09b6b19b88a3b0bb5a0fa75929358811a426168c48ea4cadaf59b9e43615ed6d94efc3eacd61439e6fc900d0443c34475adef6005e6968301bd908a4b151d84154a8c4e0681556e2b0f0d6ca806c4334b984c368f6c200ab4e3e555c20810232828cae4f30b82f7bd8cbd6edc4235b1855b17559bb614c4603b3646057bb0c1c84d269a50d5180bca507f3298a226a078d2669c99063afb43d36d3a8ae64382616452be96188e2d51fadd3fa9fb874de8409f3dc027bf233c2060bd3aa448b9b4743fd2a6d506e379ea6dcb2666a4090c34d0730535c69f9791f5e8d49af08b7bc9fd5a2f14aa23430f585be30c85521918f548e2cdac794fe - -COUNT=11 -L = 2048 -KI = 56e432d73e792cf9e2b6bfda9e75f973f3f0f319daf24f3db2c97bd0ffd6ffb1bb44f1618b646606e7864973f9665d49 -FixedInputDataByteLen = 51 -FixedInputData = 3c164ec6c1a4fb891201949ed58a07638fa508b5b0ba61db6d4ce12feb1d803cd7ba2e26188caec505f36bea1c4b4329dd22b3 -KO = ff048af3937685889bf4c60d00370e62ce820be65ebe5795e1cd217f224e0dd505ada3aee3d539aa632b11991a4b3794035bcf70385c91232c20e02c8446dc512b9cb30b451498c17751c158940291a5f800044744ec218f66f3c779adbc7213cf2c98d8680b38294dbf37f9eb216f1409b66fa66b1aa8fe5f47c8d68d1e8cddd9b2db1dc659e7a048fc46cbe6525b806008f9c6be3f909f93ef89fbe05fdfe6df02ff2ca472dcc79e50e4be56361542b8adbc1f7bebc0082f9cf8d52fad7a3392d5b59e4f21f299b177da6056ca65a676e7c0f6b185eaf0f7e8e579d14bb39c33c09034534d4b00703ab6999b683b230e2f8ff9ccd5b772791b646413e1f3c5 - -COUNT=12 -L = 2048 -KI = 82b1dd6310a2acbd6fcbe5c88ba530685b6d0589a09b663f74407ef087dc0618b03f40e8bd560aaae40fa43e540e56fc -FixedInputDataByteLen = 51 -FixedInputData = 0b8f0a979dce04dc79be150731dfd1abd38977d369797e36d6e1d86b189a99c14e888ccf763a63548f082cc3b07dd3a7c4e966 -KO = 74358f824dd106b1c3eef0a1c411a50a345020bf893c9cf9fe9cf2a1d091f6ee1b6d4cd6d6ac1162cc8c565420cede2d98f2773cf533219334927ca1aa2d6147e3a4a27de565da1b976d61fe143e0439d703b1f9d2259e8c4ef7706d90275895f1f402f817978d8afe7462a0c58112e1a0c8635548deb2c697211bbab465350a239becccb26147a44614d1a97eac6cc02dcc86863a6601292a3011376cd0bbe9071665a4863cc2eea7946f040b57b082b4353e5273e71dccf7c20f5cf2d4c1f8ebf750e8d283e3f6161ee0bd527a79f4eccd9d8b01689102fa6674405482dbb40d407cb204ce7c70608e8644498a4dda0f0ab4d9c37f323072a3ca2cb0020723 - -COUNT=13 -L = 2048 -KI = f3904aecfb007a05a1908823f087147b49fcab1fdd28fcd3bdafe4cec33a8f5f15eb057bae077c097940200b9ae62d5b -FixedInputDataByteLen = 51 -FixedInputData = e2a63b0350639dffe7b883bbd3a96c8b33954785831c1fb1a8924c6f396d31d1f57e0daaf454aa30abf15637fc098b2cea2fd7 -KO = 252fdb2a06522b7a12073c139482ec14a743c62a977f204dada50df0e7b4a730761a746672eaca02505c677726d8089d3c88ad1338a169e898bdd768acd75169b9dc3d089e1770df9b9a2e53e8543dfaa6b070d1f166e64e7db7935a8c64db7dd8e7101463357a40572ae0f9e28bc845401474b72d2a743a9fb78c285317865a146a6a4956af6e8070f48e781021c9ca32467b0b87a48433a0ca9f51c83997e9696f1fa52d1d8e72592f263466f79da189fa63b3b5e266e15cb6a488132440e8fc758f950ff347d131fb5cd1c39cd824330b17376d35cc4532a3e5ac01096c13e7fe1df2bf30cc0defd9d988e9c3f0658638593c2691ad588d0f40962de86088 - -COUNT=14 -L = 2048 -KI = 680545f923994b3bf4309455fc2406ec7f30e734f12387e6eccffdaafcd6c3058004335d31f66d1d0975ce29870d78da -FixedInputDataByteLen = 51 -FixedInputData = d19063c3b4d88174f652b7eebf09c7bb896635d453ce6dbc7ee815a98f9e8f1f625b3bff932c2d7ada98145edadb82b5484a7b -KO = aebdb543806c63e5bb141114fb338bb8f82ea446da9a149c8308803a5c2111765d7050ff97a8f2bbd7e2a9129165e37d1e7f805dd229ee6c605e0694540bf33e3492a35b70b4126426bf89315049327ba41f97295af7c844ed32012dc82e3f3cd6b0a797620031dfb168042774bddac9c17c2343e08def77b574be62908a1ddf343a1bed5095bc78daa2c9eed8a17235bd761fff0173abbcbeb35bb3675ab24eecfc14388cb4cea5012bbf04e3c6ca9b3a9993935be610c6df17b7e065abd02b302fe839417bdce8df658c7e22dcdf4517809f6eb2ee70264b9ecbc3a02169de3047145fdb67fa365c8efb7828e27cf2bfbba668db56b459671370b5978afe99 - -COUNT=15 -L = 2048 -KI = 18e08f6e2f551667a0d05508620000ab62edac793d5852d8675fa2862d8855a9dcc7d472daf0dff8e0bf601b8c2685a0 -FixedInputDataByteLen = 51 -FixedInputData = 0c1a78888b1293c90ebd250437fc29c43848a2220d289e4270a14775075c53dac49a3e39d065e5862195fce3e2f0c68de3044a -KO = dde01f359e24a0df57f444a19ba31adc3408840bce31a6c4cea0d6c15958a17484d43f5f7605c9fb45f35ed5faeea1b3d8677e542975c158a5bd9a5712bc7cc7a38e1601b889737bcd8b4ef22076a24d2fff1f23088880a8d4b6eb6dd373a5e87a986106ccd5c6ddce10983f077119a61c174a4a0474a2ebedc93a9d3cdb6cb04b806899a474d9aa98320d177fdba8ae0ce524073bb9225409c31ff72689e53f651f70e8c54f03eb1a7e1876fed496f7444b267a34225e321ebdfa16643c28b9ee0d46a82b9646c9b3ea8dfcdb044855abbec16c631c43298d4f0aa41b11f56f6b8a5f930f0ee5f4acf322ff6b8d4c4d20168059248e5213ee704f23a653e493 - -COUNT=16 -L = 2048 -KI = 89d93c418edebe93036825ed39ee1589c8cbccc3f040e3fce0a4d2dc499d05f63467b5bbcacb6f2fe7b0073256583fa8 -FixedInputDataByteLen = 51 -FixedInputData = b79d72e314bc511827feb45787a9c36d19083f3a860b959c2b3657b7e503c0933ae3d7569d6c9478c9d58f2e770229a429d6d9 -KO = 9f5a48bf6eb7909a12cbadc87808dd314bfb67e53644869a53ec3b10385eb9790da7de84edb5aec1a1fd31439837e9a2edc99356f5a2b37246ae3556d67dfadcb7898bac14b21593fe945b4afdeeb5bdeb13b5dcfc73a5f03ac4cfcc1afee33a3f63bd8c54cab745263d3a6592fae91b9e219fd87b08c03404c23d7639dce0beb37469a9422385a690570abbc7051301b95029c69149064f8fc34e4784a52c6fdd41843d6d72af4210e9d21d961a9fb62c6527f951dcadda58ab5206112b02d9470a371546aec8b3282f82fa3573fc4e8073a9e96c332f3edf1691355dec5e931a6a4b1b40c4180ced1ef08c42b2ef6e7703faa6956ca98f9d83cafa1001afe5 - -COUNT=17 -L = 2048 -KI = 0f5daac281db7aec756aac93a9c3564fe85d4e99946ee3084d2b7062af15050b2f4ac781e73b268aee181fbaa05109f4 -FixedInputDataByteLen = 51 -FixedInputData = d4c3ee3d7b039ef02b91611dfd21b296da000228fc0d2f1733930dda0fc65055d4a337d14e921f384a12d83ff78636554e1d66 -KO = 2bd6bb3f0a9179ca12a5233fca5bd18d58b070b116912c009db6a2f535befefaedafec8d3cd39bbd2baefb1bec6077f87cec106481ad50efde68d9cd809ab410e59f9658db8185e49dbad310a03898de494d48b5d2ad6bd8230fc90c095da475f81bde92077bbe71919615875bb26df3be74ae6143bb0a4f79e05cdafd9f8804da725aa3b2d01a5017fecfea613db93b68a7c16c391b29bcbfb45a3dadb93b35f04c0d3972bc6a13bdd324b49815ac39720d666f95d0d88ede1c5ec92a45287319a12435d12d55eaf23238f99ffc48140988859da72667a822aa566f297c17bc5cb2a4522784d57f8e8b0a3acf33b9cd9ffb5e5b3dfd7074d9965e68b8046d53 - -COUNT=18 -L = 2048 -KI = 010ad9d46f4ecf516350ee194f16582491827a23a2b5cd8ebb556d3f73c94631571dc36f12ddc8a8fad7262daf90ce41 -FixedInputDataByteLen = 51 -FixedInputData = 72c27d1f8b8c2a95f8683389b77f35db63522bfb375636055299a03cbf0448c915db990f15f814c902e52a87ab4a10716e2068 -KO = 3321cc7397977773ffdc09eafba8491a3b33fe1091223ddc7656d6cd85a63a0f98496328bc3fadc4f3c07d45086410ed5be1229b914dc160bec262574909377a302ce4886433334d431d5463c9ec05334a2b3c1cfc2c00834bfb83d3aec608cfecbcd64e2c736fa387fb6c8783452f5838649e999fe3759fb91e784c55297b9e870f0db4894f017a6296c49d25a3f99f129b86a009a7a429d053463e50bd83ed20e6f6df7a0ac1cd9020eceba95abc59ef4e9c235b41d25acea127f565bdaafb719a207e2bea68c523ef5e38fe0b81c0d1d7c603b80b6e0ace6e161534512c9f33377488c6bead761b04b17dacf36a20765c68631a11851fbf88c5245dcab85e - -COUNT=19 -L = 2048 -KI = a773b0c350ab0f2a0768ff54858773571740f5efba3df58df2632dd4e27bd518a1bcc4892953ed0a219e5a4ea33407ac -FixedInputDataByteLen = 51 -FixedInputData = e919c4512fbfeff6a99f74539fc232264204af45c8bc526dcedea214325fbc2404757b8f5e2d9c3f13cede14f95ae58fd2532d -KO = 225ceefdbde4978b525b1eb6411d49a2fd12d1fb4f44d256c8d44ef88973393007d81a9274d69fc1a0f24da0375d8e15eabb275a3d8eb01f969a798833eb80aa62dffcb919d5ff94b9bd227ad8e62751c2ebdeda7988eb2e4cf18c3c2fc255f8619061775aa849caa330165be22decdb3cc52a3694b314d1ab2593d888d4d9c7ea8156956563e6fc2943b965f6eedbdae7c5666f8d43c66b18ee33932d81727f959edd3eee811bc45dd50278b59c629f7d16d7f3c231ce242baf6571c47dc145ac07101d612caaf07f1b7fb241d1ba93ee4d8e9f7894d40f2dc6106c537eb36e5812bda1ac112be5a7b7b97e82963e35e0dd3b11062c567b0555803d487a9455 - -COUNT=20 -L = 560 -KI = 2dc6cc1457dfe7c1ff5d6384768880aad75550d7217db8a4fbfbc5297a766e8be4ae81de5d0f90cff9e6a54d5b487080 -FixedInputDataByteLen = 51 -FixedInputData = 505821111be9916e5d3f6dd3108c7c04f0ae7dddc2c69ea60ca21482e0461e6bc7b9002ea692144d4c9bdb5818f301e755b1a3 -KO = 950d6a771fdd983bdee0b37c24174b0461cec9a6d000b81e68c60a98d9f4b03b38ce79f511d82a1f344b165f324f759953ba00c2ba79e14bc24fd6d89cf13fc1f576e7ff6bbf - -COUNT=21 -L = 560 -KI = b1041f17a45e86c828011192151eeb33b7b53b71f851387d30ecefad9832935c297554b6dfadb20fccbbbf951359606d -FixedInputDataByteLen = 51 -FixedInputData = 6dbe0fbd1eb0cab5d82ec415f1a82f44ceb9aa6384dafbe0b92c00fe0862326059adbfaa9c14d3825b455a50323c27623edfb5 -KO = 3682f1b368a31b09ae2c71ccacde387a978edb2f17e5c2ebec2693f1edb9c61d59d1774972bc9e18623e15d74c91d44cb0ab7a3e77fd090e031d8bb60e84d2c23ab2e3832ffa - -COUNT=22 -L = 560 -KI = 850a14b248deeeb90ebf9c60778e3351931796e2153ed1aadb82dd9682af1452894fabf59f447f2085954dc1ed989496 -FixedInputDataByteLen = 51 -FixedInputData = 4f5e309a589e988dc602e68cccacaf81d2374945125dd28f5ec0439da76d9c70db495cd9634fb09cc0601225eeca04ea55195f -KO = 4208d41f20f1c5b9fbc32dd8a30a503899bc8766f40c4e5e994b816f159cc3410042bc91b4e85c013162f32bd5d96a92fe8d15191952423b39ff627f457f8818a0624f11135c - -COUNT=23 -L = 560 -KI = c5b86b23fb0d379efc377fd0b735380b65feb544a62b4dff53714e609350479aab6268826da63d36a11681a756b0cd7d -FixedInputDataByteLen = 51 -FixedInputData = c78d523f7ff1ba23778689eae8979d03beda0951fe69ae002a8e2e85ac4fc6576d1ff3d9ad84c0a5d429405f1f4798722ac373 -KO = 1074cd07af29b66df55fe5955465cf5134a0525571faaa9b04054e08ec2924bd2a2805cf273e2c8f16ac6dfb20e34d469c4a9a0c95b24a966f802d0ca97b6b12cd4cf65f3c3a - -COUNT=24 -L = 560 -KI = b0ff31ef7945010ae55afdbd5cc86b04878f359807fc9e8db368dcfe866437dd9f1244f1b5baec3ae32bfd80a879b90a -FixedInputDataByteLen = 51 -FixedInputData = bf81b312a1728d3dfc7cc95be1556acafbebf96af1f91d1f145500cabfd1937cc6044e87218531edf4fc5e3da974eb449548db -KO = 3f6327db0df34b300d6e4cf40cb203e3ec0a87d3afa6af2913b7f3d37cba5add20aba80f84f7d8f2a301103790897295ad146215e18b39bfca5de6796febe5eda96ea08f17ab - -COUNT=25 -L = 560 -KI = 4c964bf725a824e4f022a0c05e13cd60334ebc2883b2d9fc005d800b0aaa88e8b1fc42d0bc6284537b2139b55059c08d -FixedInputDataByteLen = 51 -FixedInputData = 00cf4b25bc241f51bcde17bb36d1056fdc0502bb5a8116bcfb65f5c50a78e652437ee20834c4e3d8e9f26031d7d6e8a91cb831 -KO = b124f78da2d2b7b5c71ad15ee704d62355ab1cbd7f161e4b71551e66d3444b0e940fbc04e207c8b2283c0b7f8e2690b574be9ecd664748fd2a1f9b133b26371903a84bbe790d - -COUNT=26 -L = 560 -KI = 7b07ce867ab599551580dd82b253a1d27a1ffea1be7556710daf047b1d80479999b6bcbbf2be8c128bfcff3e195a8782 -FixedInputDataByteLen = 51 -FixedInputData = aa1eca04536be34cc826aee621f5727f5618ec2de657736791105b994c85785b4cc3d849291b1dd8b74ff946e5b1e40a0cda4a -KO = e65ba8a74372f7016813bc1c71ace6c3c60bd4563510cfd12cadc8351154c037c8f63d80a5f72bb5920354bbd927cf230eb433f433e4d63284aae1056c990f698874e08d9946 - -COUNT=27 -L = 560 -KI = e771c9b4ccfd7fe15ec1cc93c539607ac1d5cdada2d6919ed79e3cb63317223b0b19c80e0dc97a5939e6d052cb15629d -FixedInputDataByteLen = 51 -FixedInputData = e6a5daec7d9ee57fa9286e5ea77145009c5a9469857476ddb40ad5aa6d7f827ee89e4bc59ac2971e143e8e5230b9b75339e80c -KO = f2dd265aa5797acb8aa7d85d22be08c2685a28ff718047fa62413a89c601e82255f87e517192b824e5340402580f954eb8b57db26de73ca94a02f2b98236bfe5291416c77d2b - -COUNT=28 -L = 560 -KI = 4548c969214818e1f373131b01d4310dc4185590823dfa239ef96078fb792cb18c6e7a0e4fde9b5e8f7172fb6ebc9ab8 -FixedInputDataByteLen = 51 -FixedInputData = 32253e425d3fa08fbd6ce281078df1a72402bb72b80916334953c76e6ff8355433c07854c26392ecaecb43d2a436166275e7ff -KO = 2d7c5490fbf348e76f7788024b58ba091d0fb19cc09231c6aa3c73e47f72e611cc4ae9fe90ba6f2cfcbffc5675cc4c9d1f5cd693716777b25fde2f0410affbdd7bcb225c866b - -COUNT=29 -L = 560 -KI = c25c43e1c43b84eca5a3940e27ac657bbd553a7d7e143b39f6764f523d9aa226f786c1cdd7d439ae71264a487595ae3f -FixedInputDataByteLen = 51 -FixedInputData = 0864172122f71535b179acb114112d947e242b069abc5d31323717c7ef8f6d5a27773b4e29375504e44cba86280081f7f11c98 -KO = f755f0ebdda09d091319c440b4e6b68051247a6f19e02ade49a94f350904a2f75cb2aad5a19aec0ef80890eb5b048579ef4b8692674e1d1203c4a7f01a6741a07775b8d9653e - -COUNT=30 -L = 1600 -KI = 214cf51e4c30f9df2219b9dcc5b2502509bd31d4e19bd59beb2b46484ad12fd45122b4754de57be89b5ce33c1a943d5b -FixedInputDataByteLen = 51 -FixedInputData = 96218b7681b62210b0aad4ecd221aaca6c55591cf18587a9a8eedf9d0f1e415d150ddea35694e06c0196d519187697d4835e81 -KO = 583a002f457a587b51f57dec68aa40f6e2358183cdd22183896bd44e7a9de3397f82d2d57a91d5c0ab6cd95b2fbc327418c1822a1e460b83fb93e05b1fcb6a4ffc256501a0ec9055f03cac6082b0ddfe36200677ab81afdb1a6730637ed6c0b925060bf515039b9d2daf98b5d2e811b8ea91670c08efc7cf15c748254d3f93c5be8ba85b824327b964ade91c269e674f33be6b226f46a7df648841573e8a9023f7d52abb78aa905316943d9d2be2a45c4e0ceaf532cf17cf517db7fee4fea6e2db5d2ca6faef7098 - -COUNT=31 -L = 1600 -KI = 82d6151148ba78b62ef3bf5f954d8248d1518dac856b601f73849b79c7a3f117b11520469182fb1d0caf235f9bdc9161 -FixedInputDataByteLen = 51 -FixedInputData = 226880453640a425f7794578211126e4ed88e6c164e3e61e186c9f7a81a900108824827dc77e8eb2cb16854ca3bb979cdfcb58 -KO = 1032b4bf4a7377cce479ee9077ea24c74512f00f6a0dcacde234bf05858f340c55af3089ac30ab063183905aaf10e9af72646b0089e3e3cabca545b64873a900bbb6c2f8eb8b1cbcb50f1981bf834943aec56fdc358c700b50a75f44b7bff13f03c6ce3e9d10e13437a9ae74a54bbe303c1f123fb3743e7594b06837b10662ec1f4d48e7435946d3967102145359afe6fd6f5d86864626d25084d8e3a152040653377fe96c9bc0f2f6f61b4ccdf811486a595005024eb8e69f7c5f119c9e9e140721d5bba96b5302 - -COUNT=32 -L = 1600 -KI = a6b9eb979bc15689c131c69cde6ad1e38786a6d38b0464c0cb8255858f2cd1ce49dc21f69832fbdb7280530518366271 -FixedInputDataByteLen = 51 -FixedInputData = 442ebdbe704d28d6daf710c524901c6065d58954009ec3df3cc32df0421ad3bd28e762b64681fa48a113d2414f8f99b413294e -KO = 72fd46162f634b24cd1c77e59e20961a549d82663b35fe8c8daa8981c8da7433fab56aa0ba95217512c62850cff29c60236cc0ffe4498e3a096e12dd920e58f5234df57ec5a0d86203af4ca7c4e3a05e454879fc92f5f00ddace5497300c75241bd788094a808fe65b1762a57f9db64015e6fd12978680641a5176d1b72505c953104c63d55a4c7f381625d027075b0a1aace0958e3655da78b5d6073d493857107dcfab2d3bb7d54606a4ea3b28b49b431fec788d81349bfbe593011072dd80bb61a2e35ea5b157 - -COUNT=33 -L = 1600 -KI = 8bdb3e9068860afcd88ada2d09bb3ba1188a0051c637b7841d4ade7a6a09c790602e4abc46504482746cbdbfb433d04b -FixedInputDataByteLen = 51 -FixedInputData = ce4cfce1c7cdc563313e4d31fc5f5da25635cf782c596e08df820717606cfbd4e2542eb79cb46fa18bf49d0a1f9cf0267971b0 -KO = ea68b66dbd08d6e127bf30ce7f641cc130afc1bb983f9a8e86c536ff6c4f7d7a84e3f0b52ad5878e9b91f177ed06eaa7cfc5cd11cdc0b7d1aed44ba09974124c0a4082e058c12b580e5b5c69ccdb6658857f006d8035e92efc2fc8d59431aa0a4123856a5ae6c95b838872280572b9421527f3f7ec44f3644896db6cb551fcc740d2a45777fb2381523704302d615f3d846ec29a39504a15e5a748e88207d45e058e4f16c890153c462ddbb4360eb6d6fa4a187a8594d9de9d3e0c3b83e11ae5300aa578e3bc9398 - -COUNT=34 -L = 1600 -KI = a25f7657275748c8131ecefc3bdaf36c3d299c0df843e0b104163d41e43eaf0c6f566eed750981ecfc7a3ec5bb4b2d94 -FixedInputDataByteLen = 51 -FixedInputData = fe9bad1a49f67cea896cc6dd93d9a90a1387f42b9dfa09a8a822f4f762e607d063c731c34521a745b0974b167314f182ead0fd -KO = a58665fa5f109c600586cc08574a517002377e573e829a57babbdf2f61debe2a3eac7b57725ef3f03c6f16907c3907e394dae1e5b4933b84f62d7a7075259a2aa7ec6b2e78728ba08b5280ce3dc71bf221ec0534f20831e6ff36bae527112f43a5f21ff4aeee8bad3984305905bf255fc55b9b667a427cb5562d3d1214f314fed73b2ebf71d48a488250a1f2522c1cbb7db342db65944ae3cac03c4136cfcf2880bf6d678c91135a3376a2057de6318986147569184541b53a9bb07b76b7ae358c037d4bf232939b - -COUNT=35 -L = 1600 -KI = c917dbd60a814c3fe714c6cd1750abdf50893b6b77f2a555ff602dd38150fee7464293abff28a869ec88a49693920569 -FixedInputDataByteLen = 51 -FixedInputData = 90ef980310c8505166994ae7e9ef9590a606808826d0468955dfe0047afb19f9f9ad2b770878f416a1811693d7dc38ba70ed24 -KO = d5320e1eb4cd0a2dbc67ce3953eeabd3213832ec319effea13351f4899736f5239338fd4057594be4ef0bcb2304e00340a18e0c66434e7a5948ea870ad43b2f39d7b0183a3fa535f5695f5a10360831180d92afee297c189d72770dfedd7675150d061f88ade17646d8f664db7c2ffb919f4d00e63a9d5834be8d35dc5aeb684c57c6181e03b90a1605d880ee63e0c1e1d147d46794a088b45ef8275224eaa553cdc56b41d5fbb36991db2e2f7e1371e306e8055f853acbc1becb661d4d62f70b49a44dbf0424fcd - -COUNT=36 -L = 1600 -KI = d50ca8f6460272ee720cadb596aebad1907be8ca7908dede684b585e5b462ec8bd1595384b37b430a05e76c9fd03cfc4 -FixedInputDataByteLen = 51 -FixedInputData = 1695dfe22d58bec60407a7755989e5f19262bb02d43190ad8138d3751099f4e26f5d6b616db0a3b532e3c95c85f26965fe91e1 -KO = 299e62378a7b8476becf51b243e42177571fa7d0534842d448323da1c0c785f846086f59043fe2b22ec49d3e83846c494accdf7334aa57d5cf017e1e0c94ef1abde2135342fc66d747d865985329770997a004e30bdfbebf932691750ef9c6091566951809fe2c1edf7e0e82d1b7ae60d73e0b886c8f9a038a1771f210ada162523dc0d755d580eb8ff147871eb74fd074124e58f26020e0258e5a2b4963899eb97e35b6f55196165ddf56159bd1b1dcbbef5b3f77032037ab8970ed38c761d011717c9891cba5ca - -COUNT=37 -L = 1600 -KI = d513249fc8b36d072dcbbac007a161a7696107844a6b9aad2eaab784043afde3e6062aab45023f10e627ae11998c38a1 -FixedInputDataByteLen = 51 -FixedInputData = 38ffbc49307b80c27443b2562f58a912b16112b8adbe08432ebddc13f5186a091b18b1af3afaa6a63acf626fbaaf41fdaa27d2 -KO = d6e08b16ed603e3888c6db163486a5d0731fc2d95812e4c516dc6b548f3a2a60b092d2cba6178aba66eb988e2b98444b92ff9c48d157b1f9f06068e2f5b69895c4bf4a8c0824379a6406137f7a7c39e077eeeaad2a91cbe60fd14e14178d539b9a040c7dce9dae54cf14445f3bf02b616d4f36e7717d23b8bd896f2b8e176a5231a884ec7c056cd1c4d425a5b761dee4fd71c26cbdf7e28575f4e5543b2b58ab61110e8f1961af4ba0b67b61ad2bb70a75083862f9f3f2b8f5ffba04874c7977c761096391ec80a6 - -COUNT=38 -L = 1600 -KI = ce7f6443facfb0ee67eef1291976593179585f66f8395002b7230471bf63e75a72ef2c837fe57e2d80e9427c2ff211d6 -FixedInputDataByteLen = 51 -FixedInputData = 8998eedfdaaa6e1001d4306ff8bf53f1a3a1d275ca5850a2c85f133b545c704c3c95532b2f4c20df9f0131b8efe54c04cde7dd -KO = 1a82d519a78d452aa7a14122f765adc622a815c93c8289e4183a0c45d86be0ba3e3a17754c5d19cb72fc8d57226b79fda368a49561560486b2116390c9e70d30a9e55ef4b793711621aedad9424f7c76b477b1898ab7d7eeb4c56dd5cee99cf2622300f7bba5610ea2e1347b0de09501caf04bc2049fb5c6f776cb305ada53814c55a73193d035ee96ba146b18aadbf4f7652dafee6ae7ebf3a9b6074e74840203df74d74493f4377b425e9c119d1cee00809a06ab05572201a86e8881cc61ec8324dca8e302abad - -COUNT=39 -L = 1600 -KI = ccde09e1bce852667838f399aa369b0c88a44c2bb86bd6bf7e75c47a489433da0b7644557cbdf705d90a27f5efc0dd32 -FixedInputDataByteLen = 51 -FixedInputData = 62848c4dee7de7c43384ba5de9a1cde9cd13e3c17bb8cb11f5caefca0ec3092e07f357e3ef4cc9bc16c456dd9f826c5ecaf368 -KO = 3a1d78755b3e8e16647fd2f155d3a79d3195a403e2123cfcd36dd5cbf5c004dee8935e754bbc27fa6371e0cceeb759c2cbeaf14636f44b87a3a8c1752c5005280db29b4306e96280691c45288a6b37d000654d1b4348233535704812dfb74fe73cc4629f4ef507284c445ba1e9340328973f0134c263adf03de36f30466f9ad974c1074756d8c0b165b78c75e2df9e6b452f3c9f693cd128f629a51249a25be4d8cb15a7e781f9606b7c202ea7e89a508fa6e00c01e4d41b45086803c2d2ec3ef432bb19028d42de - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 818aa68644b2b4e79baf522a747fe0582312733520cb458650387a356dceb86595c7b4ac12edd2f7bd8db298f5cb5c53 -FixedInputDataByteLen = 51 -FixedInputData = 1400665bf82a625cc94bdc39e0793d130077765d2ec44a428261643e6d665016f796274a2e0d85f5f7a92c292173b5f8a28eaa -KO = 8423bcb88a5ecf649a418f59d973d7ff9915e1c594835233edf176b094358c3f39eceadb8a6419bf459c0b572c6c692cb838536cd09607d9b27d0ccd3bd5caf7 - -COUNT=1 -L = 512 -KI = c292f528e87bd4157e358d09e4b44152b14ea3a33e63faafba0af80e990b4380a699ad738194ad5051984bef71d276bf -FixedInputDataByteLen = 51 -FixedInputData = 63a6d7dbb0d83217a319dce5902cc2c66dd2c0b714e3fc4e115a334fe5804141bc246bf8c749b9d1c2c839ff0b9bfb8ff0c784 -KO = c5bd04270a0018cf188efcd03ac887b393d89929c549561a7f19fde164b8f08db279da7bb99d987e911ac73af163e5868bb6423d2d0c08bac0b2a0b5678f2594 - -COUNT=2 -L = 512 -KI = 6728f3b12de31a5a341ffb234cc41ee0f61aa23291e094613ae600959a49eed8a8b8034187028915912b7ffc7d4c89e8 -FixedInputDataByteLen = 51 -FixedInputData = 8478dba5ae32e87951d079a595416fe97ca7dc760122d9afd974900b24dd4c0306e3aad4e05fcfd2f05cb80023244771e1ea93 -KO = da326b20d9a9c0c364f4366ece5fc04a6f3465da39483ee2be57f98af2ad7d8e5b74319e4084cc40b371c162e3d450d77c74e0e5e7c523a1d7535f40f80851a5 - -COUNT=3 -L = 512 -KI = 91ff8183961e79eabff1170a03a6ac19d2725b3d1da92b71b577e0c63784bf418f7de4d7273364f43697a443e8c43aff -FixedInputDataByteLen = 51 -FixedInputData = 55cb847fe4a8f0aec22b738cd28f715e8a78db2c9065d39eacae749baecc0148e6a6ee57c58042b2a9a8be1005fcb22d485a8a -KO = bb4523d58c04d574886457a7fdff4efe1fc2582755e361fc715d45083efacd10379c667beeba65717d45d28c370ab822158df4b1a46f055ec1ec64485a0fbef5 - -COUNT=4 -L = 512 -KI = 934abeb7f9228da9ad08ca0f1fe5138f4d021077e6442824f8ba4f213e17ab16b0a0fbfaa2fc654e5841a7084a683919 -FixedInputDataByteLen = 51 -FixedInputData = ae66dccf720780e6ff72e2b71ae37ed716f2145733d7386e6771fd96c99a8ea31215178d812be3188fc413b252c8c55d76da1b -KO = 5f702c7279f879d66568b34d13f7b234cc9e5e413ff5d7575661640bdab1379d1cd9dbb5df97b1192298f08ed2cf715d9e50773c06ffc45b8a141c548f7fb9d7 - -COUNT=5 -L = 512 -KI = 80fa987ad5ae7a4f7dacdbe89c31fcc99a8730f02c1c2d0c7d7f68fcde02fe44e9cc439bce56491b570909cc164ef216 -FixedInputDataByteLen = 51 -FixedInputData = 5596d67df9a33f5d61914dc7014ef92c7246a66c561ea4e906b681571869de1c85c75a4b4723b19c17665b72a466b1f5fe7d3c -KO = bbf53354cd0d9a67095b63abb84bc72fbd1d7896b1da68077581b8f70b26a5dd05b5a3cd3fa20749337837d612046362b3be93bde35cbabd91fdbc359a67c877 - -COUNT=6 -L = 512 -KI = f83c0f6a6778857de10c3125d2db7d4246aec5d21da20eae9d0831e8b50972a558af53214b67b12dfed712a50d9d9f55 -FixedInputDataByteLen = 51 -FixedInputData = d2156e950722d98a29f9cfe1189327d955434e7259f21b6ba6fd2bbb37c127097931383a3f28cff30b66415c5a33591c50e5eb -KO = 07c635a441faea4b86015bc3b72b7b9bd3bb888d99b65c048e91196478979949ce0f6421096359f8048d1fc5c4fb6b27f311dee509f2839b6acdfd0ef114317f - -COUNT=7 -L = 512 -KI = bdcfca2d269603fadd71bcb19caee952190a5f281c1644cbacbe746981b55d51edaf72f5f5d31be0ca81a4b40b096309 -FixedInputDataByteLen = 51 -FixedInputData = b67097fdd0bb7914c9360840c58c8a1a00295ff60eb95e849bc544ca66123f9b5369c72fb95537d9a21bfcb118fb7c459b5108 -KO = 4263e73cbbdd1f79e99cfba337937869f508e3d5c20ebbf5b405826d20b70e0aab0022ea50668423845aa4aa8338083d2be0d6afd7978725f567649c6d5e74ae - -COUNT=8 -L = 512 -KI = 1e65a6f433d0bd0f9ac6c769971622023cb7fa4dc4101aba1160594dfffbf59c910d0cf31e426849e8c325bfa304bf69 -FixedInputDataByteLen = 51 -FixedInputData = 6a71f5568844767085f6d8477bbec057a554b2f63afea10506e51d977d8d23d385721e926ec6bfd7cabc8f65da4a978a66e3b8 -KO = e2c1ef118330b9a0b9858c99b86a20111e448883737f1de592d8f6833969d8d23566d7e7ea9715871586b8c20ada10595e5bd76e492493b4847c6bdb0f0aca78 - -COUNT=9 -L = 512 -KI = e8b7a15ba2986f7f346062869add76c19eb3fd639537a871745dbfefa7625139e5c15937f53c1d71e216616c0d1b1357 -FixedInputDataByteLen = 51 -FixedInputData = feb52db3ecaf44705c41948020b3932eced28c696766466413bd5334a9db52ca126b7400bf8a17329c4f33b41da063e6080427 -KO = b96352de61f75b47905a75e97c6a27c55cee0f0cb0e58ae109b92ff29d48902e9fe7b7a9889dea7c6351cb828e61d91dc960c16aef41388cf417f3b368e8b25e - -COUNT=10 -L = 2048 -KI = 6c29f38feebd09334a812a44592bf9da5f79b6740bb7c033ef0892553c41b726e22ae25367ecd00950973bbcdfa117ae -FixedInputDataByteLen = 51 -FixedInputData = 2008b491b64cbadaaa388f2f699ab910bc55200867a11f7b8dda0e79a0bf4d6375de10346852fc4bc484c5adb64c6b70030229 -KO = c23274ce8dfd84350b0082091928bf2d178c51332223bd6f2368b1ede2bd39bfb03a5ab3c9a1d41cd0718bf21dc2cc6d7652f88bb9c493275f703d240fd93abda291237e634f7bc59480890a96f88dcff4487e6a8472643d874bb1858556297bb58b086fdd7bbcd98f1e6f528a1e1b5b71a55da57ca5f58d91e066f680e186edf9fc2b60561e854bab3d9fa84eb6861dc2979f727a5218d3a17f84a74be1e4cf575b9b250802d9d5bb37e675af16d5d08af91302bc347dea6d0f863f1ef54977444b9095f724fef96c40a284f7638fcbe960805f2768e0de830e929dda7be8e4c4d9bf9c8974fd0392b9d662d60d478371f5234b088d9378e01624c6e4a59f4f - -COUNT=11 -L = 2048 -KI = 2574a4ea0400cdacba99fd69a7db5c6fe01eb5eb267f7fbbe1fb2222777903a979359087fa00263d7948b602ff121cd8 -FixedInputDataByteLen = 51 -FixedInputData = db42f4b4dfc2cbf4235c5dffc6a9e869f3fdc65bd688986e65eed489f084c3b2bedb7faa2b63a8b64d18597b110647de1710d1 -KO = 24ee8c98449fb1b44d6a9988e46098a04a2a05ba5c31edfd9ff4c8838edf17ec5bab560610cc0ad01c8256502f630ac8ce3afcad5d40c47cc37bfbbcee674c7b6dfd2875332fbe86e6b451d2116a5cab69e2099c0954ac85defd60a3f5e9a239b0bc3f80851c2a36ac8839f4b432aaca6a20d7f4838667f94bb27e09f7f3830ff0ee04418ae3bb6ca34017185c953a603a0ea4a3b962224a3197868bc204385d95102f04eca9e9fc7d8ba08ad8a8a088c933b1858cd8a4efd5b367752314c0c7784e3d922da50f6f10bf8ec4eea898912f5a872a078c8f93528bf342888349565f9a82e37431bbaad506efabc51bf748aed17cfbce6bc0770b01d6591226bb7e - -COUNT=12 -L = 2048 -KI = ba238ecf2380830bb09631671d87b35dc3b463dac2d5346cc92ec0491d7c23a6b3cdb57ff2e735281f731b4f3d4849de -FixedInputDataByteLen = 51 -FixedInputData = 6c526797c01cbc03db339a295af535cb15a8eb1120c5a001931d57a069848454a151cfcb69e3e621927eec1caf98c2e0ef53a5 -KO = 5f9b8a13e72907e3ea7fba0a023592a23147b001c31c07c1891bc1902ea1fe1fdeafbda7c38751f3e9566ad7ac50796d272b5b83f0e58c4f36b28182838a9b4a438034ef83335be3ac1258af2ae61bbf13d65a5e9f64f53668fd1345353c7d8fe183c6447428ef23c7a80970211aae2426b5eb85a5fc92ce693a79c8830f51ae68bc0ab6f3f8f12168dc36b1e37bc7d046a9b0273b627d40d5afe074dd8ed7f87bcb69f802be3e0757179ed8fcf96086d5212cb43c7b10f1bfd88efc25c469b251a2ce13ffbbb737c7e170e18a2dcc4315f7c28f46c09930dc0fb06a81d1183e813e753941b7e15d97dc64bb9c4d77d8d82376c7fc94126c522711228148afe0 - -COUNT=13 -L = 2048 -KI = 7658d89487d8d898cfab921dda8c6c7051c3f8a243781b4e9214496b71847cbd2e877c8ee050067e7edaa95da885c3e5 -FixedInputDataByteLen = 51 -FixedInputData = be8b60980c7f89f9e57e634e72494707590c0cf9c70baa0e446cb951c21becbdfff291a029dd7bfbe3347d97ea56c9b55d9355 -KO = d55178858d16425a3ce79952f6bb6ede86bf4051b3a2de1dd6513a14cab7b3ad9f9ac6ff2cd5b335638b80dea191e47adf7b32f40b71252062a9e7a122047d0019280aa4b36abdd0cba69d25a32b279cabef8f9576100743385c2d7b55fd663131e9e5e472cab23cd8aa163f07bfa91ae448af478da93d79190f519bfc376bf18bacdd25ebe1ff510f05cfbc2f11713b5fdfc1dbd37c8d24d472122e1be5d3423c08dfdff0e6c43fe6c2c813caa6d4c1787de2f88ed5086ead2ca9b6e6e034b1ca5e92d038ba030eb021877c0bf72cf43eee23c96a39ba74c28e161fef5a1e3d531652f7449b8adf57fcd5395d3ccb31a977a160823b70e43474c742119088f0 - -COUNT=14 -L = 2048 -KI = b569b043c22598db38fe790c7743ca374749399a18d0413c0d662e61ad7abae9930c81f9dc2867ab48a153e0b6b11b94 -FixedInputDataByteLen = 51 -FixedInputData = f80364fbed3b1a0ed927ee50ddf54f14187fba1f00355731014aadc9d4f49549027ee25d8c3e79b93f3541a5292ee157528d77 -KO = 592f220c4bbe5eb3e2ce5f559e07e06982050d7f83b70f9c41e4ef51a1ab15316c4284a4b294edc0cfbee145c8892fbaceda1f2db839f8d4293d69604d931198d989cfbdc454bd2d408b09e8fa1c89704c568854b25af659df46a1b759dd6c3b91f32fdf83de026e70c4056d15fac283061d4b5ef16d4fbde8e856f23f071cbcf32667a678046ab5f982cd32fd691b73d6fbd1cd039fe02519a5b3d2106d846a729baa38a020e3d95a880466a73671db2ab1450aace97a3fa126f24189b900a2ef5d7d66eaddfcf0cd0ec14f43d16ea75ba299daafc0be2fc5aa0b229be51311c09026b0dcb360557b0d023edc1e3b8831f02fdeed3435219e75af226a42ec99 - -COUNT=15 -L = 2048 -KI = 8fa517d3181b9c7b284de8f5a9003f74a9969c1d8034d1da444daa614f392ab242c37c76cd3a833fb01e6941a66cb830 -FixedInputDataByteLen = 51 -FixedInputData = 9a54dc04fb006a5c0809f439e9cb55492011712442ec6fb101d86dcbf95dc631a37336767255b534ded79fb0a5c534e177d939 -KO = ceb9438d002edac99fb867698ae61781cd23bf3f7bcfa458072beb8843955e910ce2b1308c5bf658202907d892c6c74b1f5e843c76c790561ff03256d8f5ce8da0c32ad26162ad15bb47740094a48829fedc04ae714d78e338e7f5ed63b33c2a99578dffc16adceccf05b8a74630bf332f4a587bad9a2dbdb4077cd0d57025ef6ad3c405ea9bb7a2a6c7390261e21c2def979aecc4f4814190807c45879fc32de6c1e16cd73f97de8069f5d597ee16f4f093352a65bdaea0f3b39c924cfc52ec163f06e9c044f44f40e21892e5c3d77e44ad81ba8454dceb0322ab84076416cb1922312ca351276ee8cb660c62bbe0d431b729cba0ab31902527f7d776dcfdf6 - -COUNT=16 -L = 2048 -KI = e5896b3cc10771c3f1abab179af7bcd9d571eaa13785850d22d8c7e9ee00ec25b61cb65aa10fc196893489c7ed8d658d -FixedInputDataByteLen = 51 -FixedInputData = b4b8821e36995e5ed7590ab41802f82e44bbaa3f0db2be0fa7c465f913dafcfa8f79977a59a4ce0bec07251fddf1ed037ac9b9 -KO = e6428dcbc7e980fdcd9a5b9f77ca28b05ff1b1f76d748a8cec6d0735f594c8f9c48a1022bd07ee65e383de3e01982dcbaec1ee9da1949b998d5ea31603e8042743bec39f9c6e320824aa65aa187b0e37520f9430c1e9ace952ce55714d754d63594a51bfc6f59a0df5f297b7397960976719ddbcd5137b53a219852cac4c53a87ee4f45a9cb94512c61c00fe48c8fa2a1c5c995ae50b2369af09366162a30b47b4367fd914af3ed9d12719e096cd3fa8fc79e1374ccf859b41641be97f964b0e7d1356c6e88a38e2e20067b51518c9b3857db63327c08299c4cf3975b7d57706b8f0195628b45396ed586e99170d86c97a76fabc6d18b911ba62f7399e260ba2 - -COUNT=17 -L = 2048 -KI = 998cd0c04e878954685ffcbeee6d48b7e740a81aeab1b65c4c9dfb73a8cfe00d2c31b72321883e2bce0acb80d205e846 -FixedInputDataByteLen = 51 -FixedInputData = 9710512468f99c048da1e81f4fd74974a79b641fcf8531141f3bf87aa1937650f9a4c387f7b4a4840b7b2681e35c02a851c8a6 -KO = d0efa3097dd470be38c971544a56a0088856c943c06f6b547c8e189c0b51e3d1bfa6483692726bc55ae21cbb01e2de0476d53036153e5a78deb4d136d3794da744fd2d6bd0eb13664d233350976b34b7bacc1559d7f0a3755d95d9b209e1dbabb9883a345dfaaf1eebcb3815ba565cc854e90da2e1bc8b24324bea057d84ee6f7ba23959e6a19ffff0c9e9b0a9eceb833a4204daaf7299d5338856e1f3df9d805e94ef88c5c8a333c9654d432a768d480fa9c8533ea0a71b22992befa6c92dea49f1055bd35dc8ba6ade7ea004a548fff0fb58863b7fc86508a2b4f532189373cc6a0e4ca8e95439339e8aa6c1bdb6bbd1262095f431086722bd35b813391abd - -COUNT=18 -L = 2048 -KI = 3df83143ed511abef115d15bad459adf244ba63abf97e8895c22a34eb46005aaa082832216939faebfd7737edb58198d -FixedInputDataByteLen = 51 -FixedInputData = 75526ec06b0e123f665ac50603763d0da870fa101e4b3b74a76024a0018fb4b6e8abe59c1c7f9241ed7a2260901f75312b2c5a -KO = 37d28171bc5a6fc9f6d6036b069b2246e655b7eadc82ee694f9feb7f90e47af17f9ff0df703d3d3ba371cf4fa6cb50c762907e96c545747f88a8b3b81f793e08a8e42c77c69a48814c557c509ba1cb52ecf2c76c9e92109026d957b9b6ff69ba58a3203454a70a588bbcb89aeb1434b78728ab7d0db51a270fd66e59a749fe1c3c1511e32430a0367be8969da018e1626441a992d40fc8a3b805df71a85f632e9d695fde73854e1cadb908e0d21a5d0dbfc63cff78dd277d7299a1330d249e6dd87b3c2cff3c4f1908bfb1061b890f38ce9315c63f1e89599158618df563d23ba8772c5377c7acb06f12b355986d9fb0f2853b1016563b965bb20949846939b3 - -COUNT=19 -L = 2048 -KI = ac3ac7f9dac1200083c1428552037db37db0bcbb8b525c406d01a7eea0298ac3c8ab89d4b98553a712c0adafd9397c9b -FixedInputDataByteLen = 51 -FixedInputData = 792c93147a16776f721b1ee06eec350321e905e460c2e256465c8ffaaf7974ec02940d18cf321087c5e749a84f2ff623d0e5a3 -KO = 3cf7ffa7817029c6954a9af3cb21bd41b96db4357be8429a68d4f394b2d9c6223bb306197244c4f9dfc895ee030b68943a094707084cc0b88a51b337a28b94c1132ad93c7c48538b6860ece55fcfff1f1d2b28236baefbfceb4e69fc33a73ef8a5d4e6c3d7dd6f0ecae4afc5aafc0457ae18065b49273720bcbc5fde5f4c4e61ad6188dfd8e3a79bc63391dc290edc19d03b677aa56e3ac3f6e9a43c54b3f6b9bbcec23f51c570823757acb83ab49a4568008d2317264e66bf6014e0b67bcfe889e58d47b8e11184c0530c2f50ce40a286c1317857e3b10413cc9876fedf90ff8ccf81cea99f4fe75b257c8937012e41b6331b2852c2d8eddbd8b2b33e2c289e - -COUNT=20 -L = 560 -KI = 91217e806b1d3c5344e65893cb62b02eff8425d75760beded860109414ee65130fa2facf0fa8c9e6b760e3ce4e324c3f -FixedInputDataByteLen = 51 -FixedInputData = 33a06d4e3440ecd149df93ef0cc01ed12e93661de384822ae97696d05d6b6b5b55995a0b433f0303aaa3f2e6242810485c219a -KO = f1430dc77e94dc35ad677b6af6b794e5e872ed33c1af5515f213ca9d071c182cee30d65086e1227401bf62f5a664723f699ae0b213b9e21205b5699993e38e3530cab6c3a758 - -COUNT=21 -L = 560 -KI = 43fda28d6c87910ebc32f8c2ae21a6f84bd1b5811c4a599d3d83050bdd875a94116f639565bc2790f36835671ed7692e -FixedInputDataByteLen = 51 -FixedInputData = 0df8850c1f8d858b9d84b06d2ed7ff22e51bf1537ec7ca559e39d1ee46b088415c2973245e8588dcdb7a2d5b4ef34e6de302ed -KO = b66e9c2134a9f46cafedfc9b8628a673b1296e27fdc62631ae88d6ddb3c4e6be6cc6c9f1103d0ef8b6d58b277690117d109c0e8f065e745048971861e5f09666cf708fc6712c - -COUNT=22 -L = 560 -KI = 1f1f1c854b623f0db8682bfcab5c3429a72a077e5c804d366053dd645cd5956c0d81a2589f0ed093ed0c05b8cdab14b2 -FixedInputDataByteLen = 51 -FixedInputData = 88f22d9f4b21b0fce02fc0d14254a146e45e0335b0837918bbc9967f2d8142c3daf688d2d403304149f79f9d654fac3480ae04 -KO = 30d176bf51741a773955e5af7776e5c8e8bcae244e1b68eb981fa89de3389f0cb8a1a85ac591a77675774a8dadb8bbdcf11e285648f0eaedd17370d3d6164ca54f62afed88fd - -COUNT=23 -L = 560 -KI = ad0203ec0464190e22f7bef523e6649883b18305e564b789270f7ca553bfac8c5d9351bf9db39eb20f0ff6ebc3b33776 -FixedInputDataByteLen = 51 -FixedInputData = 5b264d46a8bb2ff273cdf9f4b643c1aab15e3629ea6717124da0475591f8a4457057ebf1db99ab53aeaebe3560f60b3d44f333 -KO = 7c7bb93281975eb25bf9131d1e05a6a93e843d07aafcf1786a4b852a52332b5390bf1ea69f2028c00d9ad2641dd4ab5dee909d7f702e1b5056e77f78143841f6d185298d10ba - -COUNT=24 -L = 560 -KI = f87686bf2509891dbf23150ca2ba201896e2866c35289fb70e47b2d59a309306875e482f947a62b23c46a97281bbdd4c -FixedInputDataByteLen = 51 -FixedInputData = ea7a7304f2b6205ac77ef2cf60e73795613bed9e763c99e0ef9cedbe1549a85721a4d7582f090b5b113419d79a62885da52b86 -KO = 3026f99d22f947bad54adaf9bef06006f27b9a144dca83b4ba8e949e382bff86f46aec468ac314a6190c89e1f98cd95491c6adb8d4f113893878b5936b6c68d84299d6741ed4 - -COUNT=25 -L = 560 -KI = b19a320267f9ab19d112114c1f357b08fff9ff206d78a40c85cc603340d53940d35da985002fb1b1a95c64a0868fb416 -FixedInputDataByteLen = 51 -FixedInputData = 1c9090de2cb1a396f7c5abd0c7ae84722e32e33c30b48c0b4bede25eca657cacc48e435077891ce93dd9e448bf8cd7420d98fb -KO = 5b8f0fd7122e9d79665e5e5f9f0e4d1b76b898b772275115fddab6513a760985f2e8aa827cc7c4bd1c34cc0e428777d3a0f2c66533deca83905d035108893da1c72db27ea09a - -COUNT=26 -L = 560 -KI = 7d80a010c4829f2514cd4698d3e6fd50670dc9a90b6e1613b31721f793853eae24367e65fef8de4a2c9a7205d896847e -FixedInputDataByteLen = 51 -FixedInputData = 6f0845afcf57d760c9cc674c5839f7be55c980b7684203a9ab4570a87898800be8f09fb7488fe1dde183ec3a4e44431153202a -KO = e8c2f71352d742c2c802a528a9af32efe3169f2b38cffa2b3a3469c28d49c04c12bd88e9a3d2de06ed15785432a85ce26af507458c619bfa0f2cbbbea31e77265c9b2a5afec7 - -COUNT=27 -L = 560 -KI = 23d08a4f9f268b8c11cf7eab25c046273548abb52945e8662ab6329a12de16c6aefebf7ca39941be534e24c1ec530266 -FixedInputDataByteLen = 51 -FixedInputData = cc0f12e1ac4588c61b2c086891f6fa96c1a555aa3a59b5b2310d02f4bde474ea6254ff33f0a738579ac6750f0d0b9501dade0e -KO = 84e7cead871d7c55a89109d017392af5d620cb17c0f5c29e96703d061b6ee9505ec1a7884956a7f01a2efe5ce2333f5c05faea41297e5c769c66afe19ec2f577903c5a5ac7a5 - -COUNT=28 -L = 560 -KI = dcab684b588387cfc297fef93293abacd84611d70216259df02a69e1e3d27966eb16ad3f443c8604ad5720acbbbedad4 -FixedInputDataByteLen = 51 -FixedInputData = 4293f188aab39bb6cffb7f93d5f91095b369575e846c3d3808c941402e83c77b0f97f7235e647e8fdb67e4f1a07520538e82f6 -KO = cf441c3ef7bc465664028343acca15c9be4940f05a7c5667928e2079d033fe73701c830ced086bac31edc3037036e2681b1bef5ee91a17b210a2d4567dc3fa31f7164d0e6c89 - -COUNT=29 -L = 560 -KI = ea069427fcb2a5d005cddc63ab1681d3ff9b6ce5e1693ac3cb692b57c343f92ba2c9360c5a6e91c58c200b837a332319 -FixedInputDataByteLen = 51 -FixedInputData = 9be32435d9cfa5c1abedacddf04c994d515c6b0d5b5c158416f53e34020cfd2760636c14f19945f1093b383f42641570c23ea2 -KO = 85a95d4959318a7b5453a9c537767d20a04bcdff35a81c0b45788686338c404dd1a1d226f0e70e3adf05c24ebbec13da3f97a4c772c6f1db06249bc2fcce65b8fdd3849c810f - -COUNT=30 -L = 1600 -KI = 267d3045d90b3221df23f8594e334e20b3ee78a88b43cf51c60dd69b91b0c0f3e9af15f14a8b876e7dac5291080a6ff4 -FixedInputDataByteLen = 51 -FixedInputData = e25290e8e1582d3e69eb2a58c5f392b561d14b08ced8e4ed391e8276be4f851479ec67830691e8cd8b24f3888570d33e4fb19f -KO = 010727d88cb93742b9f1440da6ea1ed33cfffb4c8bf5bb3a1004083c39745420e44cca8589252094bb931ee416f27bc5ccca3706a1852aa97e617955381563b6c24472a649b89fda8e265d17720f900d424033dcf1cfcc32785cdd0d1ce25d0201ba8c62f3afdddc7e5a5536a0ef10af6b072dfbc51cb14d0d3209356f92a127aa04b4c3aad4fe3b9642f118299a31f83ba3c5b7dca3cb5b52b3ae6e063ad66c00d74dfea38b144150dff65762b0f5239fda50c698ff7aaa17d1d56e33076ee013977176778a2161 - -COUNT=31 -L = 1600 -KI = 6674efab90ff845e7d9196773b9ecde4d774a9d5c80c00dbbd3296b2697a44b1121e0c2f1235fc2c3d5fa460d68279ad -FixedInputDataByteLen = 51 -FixedInputData = 39dec5ba311aff95677fed1df759cc7965092cf0697869f0af6a1280bfc4024559a397191438d78d256118d1f1b9355eef5bc3 -KO = f1ab3f401ee544213d2024244c8e41dfed160866f79dc0fb8528c0d6051b7955c0d576ef9552dfcf554c3c93384aecf62fc540ef9b23af8786f7f5d89d190d2c9a1bbc1aaf060f77470d419ace57c1934149b2e336866cffb9bebacaf7c2e19a43e00ee0be459834b4a83598dd41d7a558c31cf9ad3ee47ed4eb17f92207bf4bcdcafa69e5e140e29c615063ceb86eedbe99fd2537c9938662fd10e035b9a57cce06c6ed4d37425b71694532407dbcc1db5fd8142aa0e3c2d3501912c6618288a9599996d2c26ee2 - -COUNT=32 -L = 1600 -KI = b4cd9a1cf3a4a74f67c23715c926cc505ba4800ce84d02f456709a1053da9fff4674254171859528042e0aa0a0dcd5a5 -FixedInputDataByteLen = 51 -FixedInputData = 78bb76fcd131a24adb4edfd6ec4935cf9abf1a938368c407ee470ebded5e0691d443aea7b71a74d3ecac6c38570099b16c0fcf -KO = 210d4980d0812ebbd20ff260f5102e1843dd311d03863df28c40476f3ed55f6c76a628ff7792309e4a3c65becab49fd88c11b9bfc03fb3671aea1bebb61c3b6b069cb2c00cdd759bd0a48a4a030c04c2f80203a95320817f43ab1d2252229cf9065fd747cb11118c598b667241a818e8646364dbad519eff8bcb094171785b3ddd0e49673cf05dfcfca8e6d47a28b4d17fc7c939e80c283d8cb93742f288daee56fbb3000213c7e399565acb40590dedc77fdffc7d73094a15e47d512065686538bfc4b06939406b - -COUNT=33 -L = 1600 -KI = 5175624bc2fa013de293ecac4f3d6646efde00173ea5b071d742381194e197f5cb0ccd3b2bbbfdaf71d888ad0e9c0fad -FixedInputDataByteLen = 51 -FixedInputData = 6234ddd147968f4ec8a88cc51ee7f2196ece656c3816de3bdcce42c15480bdbf75d6c3c0edbc78cc0f6a010f6849ddfddcaf09 -KO = 55a6bbee07bdba9454b37b7c36ff509f2c034649e7d2d31936c28cc59a1291ecbff34aafe3092b14f3b636142f9d41eaafff4131a6c7378a8ae3b560609f5793deec70ffa0b2513c1da9bbd3a4a52a7b27fe0a4dc90018864a0306312e6a590ecbfabd7100ed83b8f712bb0ec0a398981eb9878954add2e61426b1a648bb6a73d77097e841071b9a5ee2c5af2e8434d4fd12c4e5fdad92856db520cfd5adc563b139c1467d3b88389fe91405d34422137cda3e74e4d28f601a1ad1efec279210941cc49dbc3e8eb6 - -COUNT=34 -L = 1600 -KI = 88d6263ccc6dd30c40a7bcef435155875b42edcb1eeec5a555379d50d9c9ce02dab19432a0e504a53cff271594d88ef7 -FixedInputDataByteLen = 51 -FixedInputData = 20567a849f0095a9b1397f5399829863623e5fe11dedbda39c02112ea8c7e5d60af4b38f6abc94f441b7efcd889eb3ec256aeb -KO = 7412b76dc281edc543b128d6122c82544c90d4fc0c5c6bd526a303e5daac69b0b60cd7cee8ce8950ca485927a9f4fc80011360f0f0bd7a06491b95d9df80aaa3e0ee943de07f3cab043f8158148c4cadd92f73dddd5b1c310bf6b31a43499e6072f417f58224651f5542193cdba348681fd4a33c7ad1edb6a90da2cb94fb1962b13ac71ba9e04a2a401023441257f0730d249785941cec3f60e4809e9cecd053122614260d3604ef934bdf0920acb94c29b0b99ce3db496d25c9e5a7b4d16251e588fdb6f4c1c45f - -COUNT=35 -L = 1600 -KI = 877dc7c64ba5b197d3b95ef601bee11989e9fb14f0f3b6595dc064f703daea77106de0920430d4beccf8b934f08a0999 -FixedInputDataByteLen = 51 -FixedInputData = ab5829db328c2b5b7b7cc5d8f3e9ef89e0546d7168ecb27d47fb5237b8c29590723bb5315e0c629433ef5b57e33d41f2b961ea -KO = 12ca639c780f0b9e038322377427e67ffbbc1885d6ba971e18fa1d19497556155fda109e5336aebfd1a5b60e21bc06415c5fc75d19c137ffe8cc68efc2641d19596aa685d13932a39a4f2f5892d87812e7e48c0d055866a4f088cdd6d8e599247a99a0e30694840a169a42348577bf4c80557ebdc67465005d50150520121bf94b3986b31fd52091c88bdb6e645665eef5412a788cc05df094a1b5d088dda999fc520c4fc8b34fb16276cc96235a9a2b02b41a3cc10e66db52180c75b0788998488f05b8b6144585 - -COUNT=36 -L = 1600 -KI = de3929749a5f1ec16c88d24b564569e9871eb8568b3f99df93a8de3158fe9b43ff2a58c2967a0f405822698c5262eede -FixedInputDataByteLen = 51 -FixedInputData = cad27d4b2c01924e0fb46d3a6ee9552a9dfc1f59d8dcbcee7b0c894cd986454b551afa51d24a84a34fcb877479d99e291d4b85 -KO = 18cd390a61e366c337a855f94b067f17607e710d898df305f8e2f4ccb7bc323d66704e426f6a8de918626e5876aabdaea055cfb6fa87d76f92fd874e8c903b351f23bd48c4e6fc167dc3b43b7f78e7fec196f2c712230498f268ac50e4df0afe9296ce36af3bef63a93cabb5c7a94e1fe35021ff82a10d72a770f1c727ca79caceec592cfd830fec967028a6eab9f98ff8bb4f036dd2fe114327a0d5ec546d66a7e5a56ef815a7e3e1235fa20e455b5aedfabfa0404d8a7711059d9b1d5ca6a6e9a26a265f2e9a27 - -COUNT=37 -L = 1600 -KI = 352a1e726c368a4b1b600331a2ecc256e0dcd39ab9fb52687c1ec7f9458c4d0600186547eac3cb01119fda3e24fd8e71 -FixedInputDataByteLen = 51 -FixedInputData = 87d95fbab35ecca463047f8928680226de896546af3022969b4daf1a0bd398cb1c1abfa9da202d84ca85f1cafa7fb22e65861e -KO = 03e0ba598c9fca48c0dd1f7cf1c2b3712acc992c6a3e7df85cd9c3266546e2ea6f8fe4c8c0214d453e90ab61efdb8b435d01314ebf737f170b931c3bc3c8e8396c3576edc2c875f79285e6c8226fd09882e1ca28279d875856651dffdc8dbd9b29395fe28cea63ffe87eaa601017226ae39ce58db7d37c15130a377053f8cedc9b3ab754ccc4324704a400a5d6dd0102edf41b542f89b56cf7f3779252ae2df2cffac87cba9a82cfd6c5d3bca970faf2c70d3a3826c3b152b76dfa4e50bb76a51980d966c8bdc44c - -COUNT=38 -L = 1600 -KI = b005f39c1039d7847d1122e44ac70380509ea85ab3f486fa35267835a9ffaf97717cf2e66209c536c1bc4c5e2a271ab7 -FixedInputDataByteLen = 51 -FixedInputData = 17d272a7a6f249e547f6c777c645c33de5292750e5deddc559da3b48efff299534e7e258ca42dcde2c81eef8b867c9f7b68bff -KO = b07dfb6eab68992c4203638553da5ae786277c3f42778f0d45c3c288560921258e30979cc812ab8d7db0a75726d4ab71374e3e3c2409a931980b319898034470d1616697f8b70f50b9e0342a393d249018aa10d019f5767ec6cca4ee8cbbb6b22df8975ec6b91184d15e38b3179c4ba38eeb14c60ba0a249a993689718e623b24567fd34205aa4d09bcef69a3ff4a456258cc478c930a1ab4c5726125900f884c8b6f47dbf5a5a7232b8f578e5ee79ff8ad74ebfcbd871b30f6e7dc1189354ea87108311cb1be5dc - -COUNT=39 -L = 1600 -KI = 8f474f066a20787286225bc070f64fc3f4aa74f4c87c7babcbbd7d644c104bb88d99217968d8a8876584cc941021a5a9 -FixedInputDataByteLen = 51 -FixedInputData = ea0149ede35d31f44fa1c695d9b3ac2ebec32da6d7584973beb29356d6d3421d938a58bbeabddb3449647372e1d1926601815a -KO = 03e5b620d09ee9a4808abaa0726e57b41bb2f88a8c88da2c7acc38e8e2e4fcbda6c50a419fad6bdc9ec8a193a01ded033b58bebfcf0d476dc580ba0a6db9e30cdff6f28e9bbcefa552b378794b55a35732140ab9f6acfa82b0858a417e502e392d787a69c8dc095befe7ca1e384d13415a54d9682038b28bbbbed06602332efb4fe4a5f41f2177afbd3bee76cff61a66c6102c5605c6ecc0d0b5383d8cefb7df1f6f34023e9e4ebe71c8faa1ba24e78e794c0424a061b6504bf5065df40cfef59e1e61cfaf6d2c37 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = aacc3634582f9a4b5bb0e3f83e9d9ad85e4d7b198206421ec8e5d26250e083440a0ea574573b7a69134a01141e34bf34 -FixedInputDataByteLen = 51 -FixedInputData = 5b4e954f6d6fd0d4cd62ef7631c94f8de6aea7a897dd33dded6e3ca5e58432191481f75646f3960e9a391e4d327611f071b5b3 -KO = 82af7dc3770c8201d2ecbdfce4ad413377410164636d53ff6102f2d374f56d81212ab059e35d0736d7d89c15fd9096dafb0a447af45d88f199bd3e2e47e37d03 - -COUNT=1 -L = 512 -KI = 0b81611364d33481cd589bd552c1c56d8d02361ca3b19573d9636ac41726fdd8e6b69cc3c11908c86534550cf8fa63a3 -FixedInputDataByteLen = 51 -FixedInputData = 292ed3e003f4ac5a4d8c874b958fbb748b9e163bfe8797b71aa08221a126fa3dd82d53ac82801d0ee2c675bfe8f3ae08daf807 -KO = add5c2323c25f7ad8e140ae96ae51fa02b5ff3b15f3b5f6456096e80ca166414ebe94712fcc6f1a98bf6fb185c6b55f7a3c9e6eb7556c32d853c004bab870ee1 - -COUNT=2 -L = 512 -KI = 5b6d0d37013346bfec1bfd34f74182cf90c4e9c59d300601d9fad1967cb5e00afc9e7361ac763f505acad9a41bd92607 -FixedInputDataByteLen = 51 -FixedInputData = 5cf19f59bb90381661b96e8860f0da1810419a9ad18e650f38ec8acba6a9c790049eba9a8eb4c31638f9cf317594f7d7760bc1 -KO = dd6e46f074f09c9cd8aa28bc08d9fff70d193f42887dda97f419760bdcad817d8ef12f437553ad13b6e8d03faf40918acb20347151b0dfe2a5f552ab2108aa99 - -COUNT=3 -L = 512 -KI = b7bc0f90549ace37a0f10c4a11ff00bef0714c74cc2ec8de624535cc10c86f6ef1dff82f583046047cedfea1c98f472b -FixedInputDataByteLen = 51 -FixedInputData = a1b7b5e03c72d1f64330b79eb0d6ac3c4926025f503b8820887bcba222856f7c0aba113c02cab7ff7ed6b5a0c3119911ca509a -KO = 969213e8fea9ed42c4db06d9b52852484a12a02502f0698908fde21fc25088f746d959d2e2e71f8b430060a2a11680b3d3414a9c8b2846755feb6b5004e75020 - -COUNT=4 -L = 512 -KI = abb7c20d16117f4921b161bcf10bc1a6add31bca5be48cb970ed16d3f663a3681fe9cc4424e2d865e7ffc4a0499fbea7 -FixedInputDataByteLen = 51 -FixedInputData = 131a5cbff8595e4083f623633b43c725d64429953cf5939aa59e131d0260b48c99a6aa0cda43b79c812cd441eb69f4a434d26a -KO = c32e2ce8897f44535553bdaa73ec07943744c6af154b647688a619045c706406603fba5d574729e1efc2f3c399c90b42fd044dd7c8cc690e6d07fd046bbf4f5e - -COUNT=5 -L = 512 -KI = 222b481d7b2e5cd7503df89c82dc0f7a8739c1898124575f70440c67a6faaf0df044e1558d97a4da89a8471d2220a77d -FixedInputDataByteLen = 51 -FixedInputData = 0095f191d011c2a405b44ffeae7dd17af640ba89706683653437af752d8e3d12909934f403adbe8b08a0d642d04c37cc6e14b6 -KO = f2486ed55d2079caa9ce5c1daa48cfc18f12c805b5f16ae12b93a801881224c82c3705f158061148744d371e2ee46180e58a431c5924bb4c8eefd5ea7d882640 - -COUNT=6 -L = 512 -KI = b0c1afa06c07d36555e6002c641cad4093114f1c22d2f260d84cccc97e3157f074b5af73225a5731e58076a569b9a8db -FixedInputDataByteLen = 51 -FixedInputData = 0337756a6c8954f59c78d4981fa4ffcc65fb75c315087b7f26798db9751d395355e92c2c5e1c518cbf87386ba0238ec5d6c490 -KO = 28782dc2b05203e650d2946e8c61854f06a4921902c00238a46c4a767e62ab574b3f9cd6321f5759868da6042095c068b7ed82e47a16ec25790072921bc28f57 - -COUNT=7 -L = 512 -KI = 6c1eee4c54990f37f74589847efce252778f9afd73d230065598337d127b17060f97acc206b73ef112813baeea1582ea -FixedInputDataByteLen = 51 -FixedInputData = b3564f2933faf23f7de1f398e91e3a4d51b5e9c127c94c50ac9b82ee9bcbb0ff62d4ebfbc89509cb3c4383cb9fb9cc3a414034 -KO = 78e42f4fe8a600a1d642855f468615c96f2401dbee9572373a375187dcc2e5e27ab8a93b4d5497ebcbb44882d7915bf4684207a096b711d1f0c35e5b6a0be51c - -COUNT=8 -L = 512 -KI = 0699fa67287d7b8ccd7a8c7ec67de248c4b59bf5de530677bde43516d7985c7eadbe688a165d08e8af7de60366c6dbce -FixedInputDataByteLen = 51 -FixedInputData = 9ebc5f09ab9025c3835238c200db95fe72b36457bea76d7225580a8cb7904b46a6f1ccce92e704f8e52eb9db39963d55caa084 -KO = a355628c0c0656a4a59d7fd4effe75bc3ba6a4d62d3a043e34a2155e0ab8db59e9dffa7688dcd97d67fd0912e0baab892599898aee9fdf8998095bd151c75348 - -COUNT=9 -L = 512 -KI = 3db9a21faf1ac056f9a9eb53bc8cc8641852cef8e3c836c2e07c46c694074962e0f449a99fe03a29ed9e6af24cb78cc5 -FixedInputDataByteLen = 51 -FixedInputData = c4f6fe981af0d0bfabf9645982e982b6a96b05cacd9be583d08712968c89a9312720b35d5c58dd81db1f2e05bcd43ddf10d636 -KO = 80610464fd914666784ae4cc95d89e4f6cdc464b56fe76f5d241b3c8f76237a37dec770ebf7e087f0bd531ca8d0cbb2e85c49cb75ef678361d0985090e0bfcdd - -COUNT=10 -L = 2048 -KI = c583811aa2ccad6e183265665bb0bb3f15f25b056921d5e0635aed975a5868ba784d0fa7cbf669baa5915545c66175f4 -FixedInputDataByteLen = 51 -FixedInputData = 6114a5ce51f44c893c732ebf0c1bf667d835bf750c4b2afab4554ff0e0dad14ed91cf5c1767a5d24e983d200d733a3949691bd -KO = e92011f7c185f526895c91bf15c971bc54e33a847691f75f618c26a0d27df9ff1101955d71532e7a5dae48fa11747bb09b42750bc01d7755b14061f5563d60508ead10957663f40c168e07e7ddcd2d1c0a18f13a38dfb477c44a45d0af3947c039f976201373d69947a48aeff8a990cba8affc87932364d9882dd893afcb91b6d11f667e9615568b3d01d87d35ceae12fb48f6909a1be6bb17e2c971f1580a0107247ed3724f4f9b04674b368c18008e140e25e32fd5b764c60f3b7628cb4dc98bd73dd8ee45be1d77a8eb2d2c91a8ea038070c549245e42aca1ff7ecdd15512f21fd8bfc40c494915f3b092188a7b66fb7cab1535166019fc0d43b432f9d69f - -COUNT=11 -L = 2048 -KI = bb8fc56fb9b96c8f80b6f95ba41dc692751d643e20f3789664966e13a0c5705ce8010c67d457f0aa4e55e54c4d4cb257 -FixedInputDataByteLen = 51 -FixedInputData = 95a2239fb36e79c9d3f9000a899c7b91dcadc059be5fc56c5622ce0e023eac6014a26dd4c31f07be5bda290f807d29a0da58a3 -KO = d1c853d5d0e3a804d55690bd79464e40c6def2c0c2fa51c2d7af934411acf2f779bbf19ce0302d2b29bab213c2214468535fae8f90df3ce9d6d33cd770ee417b570583e9126571bc3665c3b72bdd37d614233792587fe33b5d88317f4338684928076ce3c2f62c694d6f8e318b87257ab640f5290402537cd43513223e57ac893103bed0cd81cee3ecf8d881a257ca602832ba3b45ff8596f432a75f66ba27c869d8adfccfdcfbbab770e3b4bbb0641ec134b6ea10c00448ec3e385c0587f5fc5a5d160478ff0ec755b8e525024788c503e24fabc23ae0706c6c46d4cca3bf2a47317e773df1d0ea10c43c8803b2419fe592d32aff888c276305e62265b8a1a1 - -COUNT=12 -L = 2048 -KI = 99dad9467ad5086542e5304a04f93683f8b72280eb41c175183462298d6cf22a99b308f87b2e01665c5e8b3e843f4cf3 -FixedInputDataByteLen = 51 -FixedInputData = 259165e611e58a4ad83de942337e18d2656ab93201ee7bc8b2d2539c7e6bb8d9694cdc3f5bbd6d6063d44a1bc85320baef14d1 -KO = 7248096c5ba40883b8e119f10d089ab196525f28ca9438f8799443adb60546f8b685cfb0d9c48304cf3753eafb7c20c0eed0561b8a6f91f45344513b096bbf461d3b34e4657b51c3e29e6670ba51b481aa4b1f856425edeec473400f685b436e2e1aa587151635eb4ee05959860398e10311e04057fd95015b2853cc9d5f739a7cf3ae0fb2ed611bc61f6e96a6ccf34cbff103acdd2a1d452a668aa17c3976dfe8a39b15d763a85fa777d4e6e1bdaa20a8b88ad8e4da5dc6e71879d1f9e2ee3fa8b4d5344bbcda397dbfb9eb1ea57d8070492324c8927edfaf114d477613f34517018713ac4ba1c84f9b44a7855216d7550b13de464e2e66bbb244d30cc64c97 - -COUNT=13 -L = 2048 -KI = c1c5754b20f4188d4bc5fb5cd2429f6aed924e7f69174c2b6395a372333137c98bcb9b4855b1ec14716be5cae53d36ed -FixedInputDataByteLen = 51 -FixedInputData = 5550fa64f0bc72df1384af765af29a26d06e291aee730f7466d7a21c5ec7ef44ce9869099f3939db68b6001f0b6d6dc640769b -KO = 4ffcd489162080b9131c826e492301c01a9acb98c732863ea2d703ea3c2232a6954ef0ab8850119bb3d739e4f25a5355b777cf94db402a3b763c0ffe53ef8b67af290efd574e79ee4e16632bb0aa4620d20bbc66eb3b64865638d738a2dd970b100c313e47cbf87a9b7aa5881a12a69db719330b2c57b2eeda50ae79d90e06e6158cea69a1b9bf3d4967084bb92e33de4fb9429cc319e1d61666e00de323f95247ca49367b8878106dc23d1553d75e9bdfae8b9ab49c4a127ff82d04dcab995f12f5b0536a2ab64e941e1bddcfa10d0c9dfadda2747f676703dd9e7d15ce020d6c196754be6b56ef0279a5ab6d81db79c20885b91d001a0580760877344d01e3 - -COUNT=14 -L = 2048 -KI = e046a3019d5bf3189d4c2fe164332adf127741d504cf610a05ec088617904c426a3aa02167ec9aac09dae9e3364b85af -FixedInputDataByteLen = 51 -FixedInputData = 28304b0e689ecb5b37cc513fdce8fda754f3d22a850d1707a8ec5dee46b5a935fdaaf56815d22cfa79ee4fbeda0fc5da09e32b -KO = 3a6c046586da333254449ecb2b5876c8378cc6a8b19500a386f65554bf14dd37dd29cf69ccbf0477948aa80e93e7ea467e21a3272b0d1f19a0253e5640ae5341d6ffef22f4b3b3c8a7e8e8c9bae8f7c665d4a968b08b02b479346225abaf496ca46f42e45bcbf389b75d8b1f5f24ce1a682efc86b4740d1792a90659af28cc0d9ac995803dfdc07ba1c10ea0e1f7d7ca80f05c3c51bc2cf18ff0c77be1eb5402c4990127303fc7e1d5de04248c739092c0704d23f9c878919b316f43022aebeb823b00c47f174ee06ea79ce4977c9389b17e316862b325f6c290af8b09658f5d66d650c5693f4b96ce3e83e8a80ac97cc219dbdec188b21e9e28b5a79770079d - -COUNT=15 -L = 2048 -KI = 8941d3be5b8c8bef240a167d3e29c34f8f209d0ae8a33700926a1435588fbec56b89c5ebc94345fa5b682a5515efeefc -FixedInputDataByteLen = 51 -FixedInputData = 4e638820788ae5e975cd96858a18c6549ffca76ee7a9336a67c4cf40f9c1cff790869966de0b18fa06a09bd9c3d0d68f9c00ed -KO = ab13f4d02467e2e89aa4a1bb344b1761537441f34299ed24e22ff07f3a629804c9c89aeeeb079e7815b4a8347eb03d24e4b0cc14be71ab5a5c3da72fa6da06a4fa401e9dc71b08822299328e8867f8957231630c028db1723b79beceb115cbb29faedc3791a7d99a644719caaf24829be64f5ee49de1b5071ce9baf246a192c67e76852426fcd8a6d9c9c81170d23389aede9356079bf87c19d88b7e1691739dbea3490cc25c6290521b16dde100d9314b0f023ca421a9bbb520c445fbc69592ee8a021abcd03ce8acd578bbc0c4c80fcd27ed754c0181cf6d23afc7e794aad6286a6c9d298600d0a6e17b2f326e32ac4915f16deddf92bd8ad8837f17a98727 - -COUNT=16 -L = 2048 -KI = 2678b86a7c5fb653e3db203668ee307cecc3f137ce53ff7bc3e413a307ae091f9387dd7cfa35edbdab0198a9c271770f -FixedInputDataByteLen = 51 -FixedInputData = 2846b96bcd2bb7acbb3702d2e94c2babc0731e406b0bac58cce696fc2bcaff2d986acef5d72a94495da38aaa7f815dce189f77 -KO = f06268c6ef6c8f61c34fa7f0e9b97b66c8362a2ef26ffcd3b5a9a8a441d674c46edac6fd02d9e8e5715d18bc4c733dee29565e41a3ec5a50cc7c60df713e54083651cb69405ecc42ff63eea3c05a4aba937cef893f5c330a2ea176941d164c568f0d1ebf8d1e9e49e7723d735dd9a2eb795e4b3ebd9c39f929d4d9e07d9e44eec9c4d004338965fb943c83ffebe15c966c1960c7fcce236973d97e612fad0a771c2274e068b031cf6bbee3c190c111cb8d25007a321654a592db69bd0436461932289ca46b65b84f9839e4a13e8ed6f67b490d614ab9c3f3807fa16753b2473aa35f86764c69b1839e260e59423091b38d5c53c9855d2e2d7a758a4355aa4810 - -COUNT=17 -L = 2048 -KI = b9da15898996ef9f4f06e0262d3c6b59c4b0aa0c591f2432ae50777cdfba902fec02ba44367cd695cf8f9de21491a388 -FixedInputDataByteLen = 51 -FixedInputData = a8b00c11dbf75faffc1360f9dd88f60fab5808c8ae2362be52f7aaf95f030f6992107a18a6e0511260a9446fc3f0d59fce2209 -KO = 53a3df5f67fbd54679ccfa0071adee1115b1620d47bb5db2ab49c045cd06077664ef09b746640c61b3cfae40456bbad3c2557a98de742fb27dcc3c720cdc49c8fa85bd8924888c37b091254fc82fcdd1eb0065976e3ded1241036a88a999cf95bdf341ca2a9a64d7fb82ff1393444baafeb4a7624a49b6fd39377662c6d175beca18226ea2349472aa9c796c0d8653926829c4e03deb405d1c485de95466384d0b3d9f6a4d53b54ed6ecd89b1ae2a64842d390634fedfdb71223d4aac71400074c587cc66a9be5858fe11afb8e8beb66fb6f7028437a7086ac5b0bfa01f5863e1678402177cbc03f5fd5d1038163fa0dd7f90147f744321c4234c668e1fa3fb9 - -COUNT=18 -L = 2048 -KI = 690f0ddcab684f76d4feca33e4eb7aee1b267c6e2bce1de42c4d337bceceadaf4858dd96aa3c36212d2e7accf97912a6 -FixedInputDataByteLen = 51 -FixedInputData = c68a4e113e92a55d3170daf6b4851e32d61defa15fc469d7457a3a47968f40ae8d6eb5fa5474b7ccf49139d01ba51d25213f83 -KO = a3448056b042d53367c89b45226915298f33d6ac5f500422b77c9260f5931506244a9e3a63d2d0fc7261aa6187dc4af9dde49663991a367d08a6a167dc43d0e44d5ab2aec90e4bdf6ac9041d31c40344c3f3c6b10f50076fc5a73647bcfcda32088c60fedcd08e5deae4b56ddc3711caf4214b012ca721436ee4d75aee706790f0d004ad1a9e2170e9bc7f1990ffb4e36fbdf7ddedaf73dcebe97beb6f2cdaaaae345f0751f341555f94d2af0367928284c16aced0dab49dd7021f8960656e362cf637b67427e7d4afc117cbd047d29f97f11a961449864c827524f9a3b5ecedacfdd0d40a1624c719b7a77d1bf3ee06b413c032fb107b45611aa7d4135e28b8 - -COUNT=19 -L = 2048 -KI = 1c230c2e9d1999aa13939710c1c934e2e0be4206f4cb0fdfc5806ce037627240ab6391a31da857543c03553bccfc156c -FixedInputDataByteLen = 51 -FixedInputData = 0bdef7170d54ffb0970e70b30b8e91d2cd687db4a38813dd358a6d79f4e1e21510d095132d728b6a73dccb472fa3da46ab92ea -KO = cc33898d64ba5bcad4e3918a73b47ff99b8cdddd366890fd67225bcf934bbf2ce2abfc5eb8f77e5d9de4d48391180cbc7721106f4412776e8013cc2a7645f8a7462154207055da34d655dfeffa5bda5cda8b1095c49698d009f5940ce36fddb53682410eb7a9df44e353cce6ad45d05d547c7f47bcd63a32c12535393ef20af76b81a3dc73640256e72a8289656adeddbfef7808f96b8d839b9a7399cdb6e2a3b89a2ce61ae8ba364463e98433d8fbc0508d8dc88cdc9dde9fc205f4612bdbda8cb12143004d3420f6a2d3847e8c3d664362d6c79e459767ba4b7b5e1b83601ac9057928ad71913b8e1b1615112f9d061389cc298641fc99e7a09c5e85abf9dc - -COUNT=20 -L = 560 -KI = 5414373cff2571905c195a71a562427920e7366e870b5f5eb72d77b0bc7911fed5c6a807a83e1c0f99c2ff2b9b0abd16 -FixedInputDataByteLen = 51 -FixedInputData = a0d5285bbe2ac0f22ab20451a7b704180f8ea7e350b1396d7ef37a0d6f056685d58fa2e06dac114dc2cc1b03af76de6efb6da7 -KO = 6542161d9f5c74c4a42d72aab08821db10de8d5634672f87908bd6d62f738e9d53437e4c1d03f00c167dafeb2bcd99fd12944423896e0d4d06f026dcacb89bf06f4f2820786d - -COUNT=21 -L = 560 -KI = ee8757d8841232071b29d5644e2fcbfb24d17b5458b96d5b907f0fb2c1f9db79d36f61f67290472a8d64a7e3a77b931b -FixedInputDataByteLen = 51 -FixedInputData = ace40e69c79874c3b54acbf06dcfd31eea18ae25d3761c864c5ec91ff5f5cdbc9e5b29401e0bb4cb26b42a1d759ee265649cda -KO = bb04498a82df632f1c1b141ff55ef8a8dc82daee3c0ec25447c44613219ee1bc98f64f3fb86b73304b34ab1a4bbcafcb613b22b3aaa50aa9937f63480229b19361827944024f - -COUNT=22 -L = 560 -KI = 16ce0bb3b03141947f9285d2fbd32f43bf9ea505365389be6915092a0eeedc64d29336058815303e36337a65e0328cae -FixedInputDataByteLen = 51 -FixedInputData = 405e941cb376ada97edd8c99826a1780f5f4aaaa4247844e98769a2310eeb36d0979fc85cbd1d6b73e919d39268771b01d39ea -KO = 3d105be1d03a1d743f60cc8ad02cbfb10ec9508afba8f6ea6656e62a162bdfc2d517c36e1bbdbf4b9851f34b28279013ceee83407aa2fd9dd1def7c5c3ef342d4bd57a39afbb - -COUNT=23 -L = 560 -KI = 67da95cf895b702ce9bc247bf758b99d6aa4df9f200bcb727a97a2a93c7318b1061072219de82c11152c3ce08c72f32a -FixedInputDataByteLen = 51 -FixedInputData = 6de0164f58b340155a20466f705d55ef63b297617a2003e349b827cc516905c34c56089518f7d039a2b7b2a83a1c443ce04b6a -KO = 571ff53819ae51fd812c5c51e894416b66827d75ded1a7820389155f3b9e0d6136e33ec77059ec47f5f9ffd10c48744ae4bb71d36fd2011195f06e3cf8dc29129c9246e0ce6f - -COUNT=24 -L = 560 -KI = d61089809cbdc1247d3981b5214f7d8f6dad68fafe02c293e7dac9725ba0296dd7299a2e653ad601d55014ab06aa84ad -FixedInputDataByteLen = 51 -FixedInputData = 8fdb6acec304fb04e488db52723326c253a2721425aeab15e4041e4cb31170905d5fffdce0c68a9d28389d1ce3d6759be9f6f2 -KO = 08f7ad0aef2ae8acb1f829ba2090830e6dc197fc2ea743180b944616b5a33ca28efa0b5d16e224e86c412369a03e55d7c8e7458098e46d84f527e19ea012d0c1f3c20c07f919 - -COUNT=25 -L = 560 -KI = 6aaa27d36944cf14bf6a0998f2fc5685f5030faac1f03938f5a5d88fa23e2c460f634742c3946e99043336758e067de0 -FixedInputDataByteLen = 51 -FixedInputData = d67107d04af8e5f8dd2cb551bf0e5e0541ed18cafb6f0c9b9d8ed46c3bde1288fc0ac8dd15f93130478adab7ad5f9ffc6de9a3 -KO = 81e2dba75f240a63dc3b7bd646f39bd961597d68272cc2dc0e452d3cc011dd8aae20d1af045808df65e4c5d979886ce5f9192856d209e268a69ee352f278ea560b08b9769ffa - -COUNT=26 -L = 560 -KI = 560b495319a8e4ef27f148a70be537efd4e83fe5faa42cd335c09214201955e261520422bff13b63d148419c85196553 -FixedInputDataByteLen = 51 -FixedInputData = 0216a1dd9016741bc1853b2876bba3a9e4c517eda177e2f1e810f5917314629849440a6e5c653df2fdb5fdf458f4b837673e50 -KO = 59df81f425bfb90c16320b5d8055452a77bc06bffb0d68b5cbf3c1f6b5f8cee2c3ec9321028e3f819e646753346e2b1100eaa533aa5d2fec63ca4ac118f98b335be8b69e8b1e - -COUNT=27 -L = 560 -KI = 8799fcf7e289c24c2a856df4455cea03b3784c74012da6351e331a6a4b24c3ce30035d0364ba96099fc05b0fe8f9a857 -FixedInputDataByteLen = 51 -FixedInputData = ba3ffccece85628f075b562ca3356eda34e71cb3cd779325098d4228b9da178764ccbecfd644971cb260c3b6dadc4bb6199235 -KO = eb1b7b89b0aa8a14a8fd2934d963554367aecf36e56057d3d61eba992a1704b036fd0200f8b5873e2f7c490cef9bc8aa45614d573d6861da3cd4186255016efa92a997ea474b - -COUNT=28 -L = 560 -KI = b4d0617105a6b625bfccf59d6b1b63e4b597a14ca1e0e4613bdd42220e8c8d3ede100ac92ffa12050b5daf50a8becdc1 -FixedInputDataByteLen = 51 -FixedInputData = 7619fc5d74c5fbfae7d8532216e00556c116ea32b727c15d9ae06bb1443cc5797db143092a9d891ac96c708de7b0e747e906ac -KO = e68f8d0439d7e6b1eb38714c90513b77b3f4a1e099744d64fc01a80d0f1133e3a03522c1661d4007841dbed94b9b95692335da820bf6de60aa76a47abaab2397931faf7655c7 - -COUNT=29 -L = 560 -KI = e84a2153fdddd20eb6019f89465dceb56fdb6861f9a703166131139eb8a186db12ae15901b39583bf2d9e0712008e86e -FixedInputDataByteLen = 51 -FixedInputData = 0842432aed388fa2ba94731f0bac795d7cfa2ddc1c8d7a304ead4df608a5486b4098d42836d3fafe8fafd52605180c285b78ee -KO = f078f2ba58da2b6457b3a01ea519e958aaa37d4486ff38fc1dff56493dc3780a4f9538d6ea61d10c5ff743a9cd3b25477c8722ef406607f7b2e41f328bbea36ebf22b2fb9cf0 - -COUNT=30 -L = 1600 -KI = cefcf105c454b3b235011bcdfe02761f0c387c5c6175dd7c3503b5658b5c47838849ff41e5b98377fbded36b909ecfd9 -FixedInputDataByteLen = 51 -FixedInputData = 74c918293f13a4f48bdefa4abc6753dfa6646af4f4f1b48cf33c6080cbd12dc56b4c0b5b74299d871034d44009690d1e5f5b84 -KO = 7efa1fe13d81bfb820c590380968bd50652a92af34d90af568bfab9dd02f6b6e585d68070a2ede169752a113e6cd52f534e601022d4dbab8368eb20d38156d74e288cd8d0afc8fbffc07dd002252bd3883e80990327e71c4cb8a0663bf8b8e4ff98a1e368124b0a1c109f9334631b4fb48f06f40a66a96673a0cfba3e9e6e938c082267104132b294acc29f7caac9c8d6530eb2b253002ba9c22347f91e8b96d5df9136fd33f0c8001a331a1baaa44067c94653260be81b0f0b32c01a0ddf04713538f84c8547e14 - -COUNT=31 -L = 1600 -KI = a83cc682bc0211f10072dc657cf3cad4136867f285a8fa945a5640499c314bf5684aedc409da2e60cd6550ea642f6506 -FixedInputDataByteLen = 51 -FixedInputData = 114553e55f896df7b947ef4f019893db80d0221ca1b243f150ed72b0791a18a3f89a7fdb25ebfaf6662f5934a6343c5e3a6981 -KO = 3862cbf73a426648fa646b537088789549cffc9e3c1fca7aefefdf243442ed1659b2e1943a1593730ff1738bcc7e9dcedbc3cf54513415b4f826832cf205a0705f2946f7549940e2b09fec8e4b763d360633bc4d8833d38d025da252ad1ed01a2d3f5ebf95db7d49d28e6634f67ff7a3a469417f7c095098b2bb5c9b81d135d4bbab69d2747326cc07cbcb2e5958b402ae6dcd8f062b79f24576890c1b24826d240c9791f3bcb65ea54968334ddc15664f8f23f7e528a9c88ca63769ff61193391399dfb99a0df92 - -COUNT=32 -L = 1600 -KI = 27ec9cd476c2e91515c735ec4857d6aa82a30c0438c7f0adb57fc70f7323aa08516e0071b78bf45cf5da7e909f417af8 -FixedInputDataByteLen = 51 -FixedInputData = 234443b207cac07b90211786c7a89d9fe19f2b673e9960095aeb5f31f626d4bfe5ca4a731352f746b0a3e33004b486adb7fcaf -KO = 23a340cf49ccb96cfd783233b856b872c477b3a7aa39f2ac061ecb57788493ec0b0010056568ae29a61aef854a13ea49f1747b4bb3b865c3250c08d1e16f4a534d6fed1ee90f36ea25fcbbea7fc0f13c610b429257493bf9038928d3c2f648cd2b8a570025497a292fe1fccc1ab0efe29857bec692e26ff2f194656ec7f72ce9046e707b92877e04944622c0e41e43a9888316ba5b9c0f1aca60f8081158b346ae0d1fe43dcd4e852b5c7de68a871e827cd57b92df78779aa2df54423d914751a7b942b763d6bf2f - -COUNT=33 -L = 1600 -KI = 14f05e18b5964801dbd4484fba38c5f62a6c58df6c903de5b7e29cb0ef88551cad3fae7c9bf3d672f9f218906981c0ab -FixedInputDataByteLen = 51 -FixedInputData = fa056f4b70dd9402ef20298c50ebe7249213ee98afcf96c03be59003173f4d7c317bba98bc8e8ca0bf8dd3aa31cbdb0c7808a7 -KO = 110dccaeea0f3574efef6e2f0044b60e0898ec2f9a15fbbc143d959190f9fd77a101238a703c2491874bc9ca8c42204df26123a2217e6b62465a39a7d068670c4c0e3d36651925bdef4b62f827f68562f5db1ee850d8ad784f15984feb16a2f23bf7b05c6cd58cdf4294ee731b19e9774e641356dd6ab661e66a5a6e3ddc207ae323c847a823716edd62e234ffa55d162844b84b38f6754ab8db1264de31d266f6e9ac29a8fabc474080bc0d93ee2b6f2701bdf881b1154369759cbf0b663b727025a0278f34dbbd - -COUNT=34 -L = 1600 -KI = 6245bfe137e349c5cfe5720516c532232e2103d79b27233040c82e9c3eb6d3ce679e31d1d15b01f86addfac68c24ce7c -FixedInputDataByteLen = 51 -FixedInputData = 02914e2e91f45a138c95791f98d72baa1ddb6e1f0996dfc25482f1c8fe30ea4ec1743763aa29499463cf53848489a774c04855 -KO = 6a26404e50b7074b3e26cc5de69dffac19989cc17a894c8149376cfada114f43bc28ee5bceab4436dfe08a627b6c76289404c5938df9bdf9a8bc86e8936e9676e3a6a423ffffe609dc9441a10c8e7e97d4057630cb9e4d41b3dfed1fc77e249ac7b678e2d198362d4513fa1f909a6b6207090cd59de3e4644f1430781c9b6284c32553146bd8834896c16b4b0712afa9f60723dd333c8f4704becc46fbb3c2c37798cb76fb06623cdef773b622b3791b1ca65f5263bda18c5a06124276007081772ea5262d6b756e - -COUNT=35 -L = 1600 -KI = c12452a1b69aa73047c3608c4138edee238141d3d26d6aba924bbe6abedc066dd1ad773423519d0edc6de36561770f97 -FixedInputDataByteLen = 51 -FixedInputData = fd7a62ba02ebfe90ad1ae672b12901e15e3d37dc382d122397bb7b17f23bc07644897fdc80565ca7bafc31ad8a24195b85689e -KO = 3cab9ec3f23bf29cadd31113de1600ddf87e51940a6775d2d542af7dc90ceb4c10d055e9150fc0bab13aab8384cc6a6e6594aa69793329384f308543bb8d2328cba78d0eaf61790008424b5da0910c4d13e679502e280adfb3c50510ba6f83b9fbbc2fe4194d73c9610788777055827bead14383f3564d08ea6506cc308f3bb23e98c5f52b9a1db3dc91e0e64bc03911d94325c06107efc1e69ea45c15a841fb0497a1997aaf5984cc7a59d9d2fa64ffecda3a7da26a21d79ee18a56b4330824547c04087c4f7ea2 - -COUNT=36 -L = 1600 -KI = 3853d44cf0fb3384e352fb693a6daa1b9aff7813ea52d067e7a37f10c4b1210ab7021d3539af402ce99e1d707a839c5a -FixedInputDataByteLen = 51 -FixedInputData = 27f17e2746ada4a8adba12c285be49ef41cb5030ac9a763952dafe027d979a89f9b961eaed71171253a43f505eb78795c8dac3 -KO = 4306f8b29d2aa72a2265bcf5dbdb5c5da3613d4b6908ca57bb4e65fc6be3a8f497697d809ac9ea7d36f788905a13c37638f6278d0c999e7eb7f80b8ed8f4553454fbce9caab8ea15b052db80664f86bfec784492a5c87172abd04ddb49d25aafd588ea9c886d77f7b2e286a3a1347e1bc64ccfadf89b4f9e34e50b1990913cb68e0b98f8567ddd0f4800fac2cfbf8f663234b6078aac44ae44619064ddeda29a337cbcc944cb196c0b3a2ff8b5160d44ba8d22e25115891069093e08a09e70fd7db28c84092cd31b - -COUNT=37 -L = 1600 -KI = 521b3f101cf73d24eb1ecbd9d50979590cb65aa5f3715592fc14e082a76033a5172322a82b72ed0d18d6371176cc721d -FixedInputDataByteLen = 51 -FixedInputData = 8aa37cf9c087123ca4bb0f2382d7cfa110b823d5523e74ececcb97db668ea3ec84ca79f3a2780388eec5713c65236fe667a7a8 -KO = fb6ff421da0a9c6c33178c9f5165a80a334639f2b3cdd836c87eb3e0c908e5a55689a95a078944eda2808e704ba5a13fba33d541725a606feec6305303bcff23652ef42fed733eece1acf021daa1d0acffa8791a557f29e5766c269115e3895946fd4aad58dec623d245a4cf891800bedecef691dcfd1801405bb292c121e346a52af5d5e8d803195bd32069e83513de121471edd563bcc757a1e7ba281c352f1074828dd745d2957c983255c4557c87c403885cdfb83e07bdb2974e5e963d1015deb26143acd1ae - -COUNT=38 -L = 1600 -KI = 79241f40f83d8919af3b2306229e43c0172f0c6d83be2cc07be6800f913df1b384ad4a500dc22f7a39e4dee1c6d2aa70 -FixedInputDataByteLen = 51 -FixedInputData = 2b6385f7f9287a3fb97a2d5ed20a6c9b7263b617d09a02bcbd95a01d02658b88e34ad18b30b0497f170a7f5ba11afc08704edf -KO = b66c920851c42da138a8370c4e033879efad2913c192617842f5004e62e98b73b9530d4a33d3de401f700e05f3df9f3b98f32a3a8ef0ada4b6e306f91e42121497a7a53ac05d9c073c02576bcde8115109a0fae6cb8bee859d5fc49e8866ac73a43bbba604bdf02b19276aa7080859ee2a1b1122b87890260626f7ac8bde23ff7f115b603add87467cd97324485de27e1e483fe4b1ac2bbe0c9df9a1ec03253674aed103b6dc9660659d13ae56419e906251df2fe5febd57cc4384cf39472318f478c3e932366d23 - -COUNT=39 -L = 1600 -KI = 67a62fb57a99a1ffb6ec81e4a9be51699fe49cded1aa8d5e72dee85e643dfc863fad92946d7c24b02ad29111edb633c4 -FixedInputDataByteLen = 51 -FixedInputData = e5383d349a8015a63133baa41bf6a9ca5a76f25d8486f57f0eef389fe9dd7addf4a702e5df19d8c5b46a067fd8dded8612c87b -KO = d38a54bc9e3292e0fd1bc33cb749c3c4e7baa1e565d64f8ba303bf454622af9fe3cce94607f450ebc54fb4e78cc098859b31f3b18862e9974f223894e26ae71131bbc833ceba0b13e3d60993618694b88ace540e8ceb692d88b9bfae933e6afbd48903b72605388dbb737e8f4745d5c19a7a67abe625c2d63d1abcf8464384fe0b17e3fa4251e0056ab834eec14298f5e0d7d08303af2f6accf069f34cb8ac1c959041cfe2c693949ab56d7fcd7011abc4ac5170ebd75267b6016eb2109b29fef472d6d9c404a821 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ece2fa4db3cb0503ff235a70ca591380a977b5a3fcabd421518c45f314f3006dc7d355cc72062e129c55f62ec50da578 -FixedInputDataByteLen = 51 -FixedInputData = b3544b86cd2790453182e80f0666367feb5aa3ac2b38a7c4e48be14e3938aba977ed6b8bd28b5c69ebf05a600ffcfde1e2a561 -KO = bcec5e99944ebf214c87487ca4d42c6b41a9733806e6281edca7c279abaf31ff6663a8b6028ee756e54d13d33dc2326ec7f7fc79d7511118f6c08b43565e9396 - -COUNT=1 -L = 512 -KI = a14d3e49b528b08f2dc5a4538d17487512ee0a5e573e82872d147bcfeaea7b1ca5f0ddc1e5f8c45154aee1ba2794c7c2 -FixedInputDataByteLen = 51 -FixedInputData = 329521a28a3c3b9facdb1b8b0611e9e54874000e863e1b2ca8e1fddf241cf209eb2b7a48e6838be1a9a073eca53641e2833e9a -KO = ccb018c8ee1deb0da5761c00fe16cd4406836f80d09ae4d43ded55daf71c1384205e33837efad85641dc8fac3e1f5e8ef417e03877d64c2380b85e556e0a3778 - -COUNT=2 -L = 512 -KI = cf28fff5a4746733b15a6911a5301a7671a3888976a2a0816cf5b82a37f620d77b6155871d869e3a503a2604ea22d7ed -FixedInputDataByteLen = 51 -FixedInputData = d227649a1e19ab4ddf131e338f39fec3804fee7d9787a99cf179894b47070c5d297ef48413aac8afe391d9623b5c63b5eeefd1 -KO = d8f0d3d4b41320e288d68c74df13d69177c8c6888d41c8763707432baf78665f8967e3dd4de908618a4fb698699c2829acec62cc2403e294386e12e26a8f73f4 - -COUNT=3 -L = 512 -KI = 77dcfe7b9e492cbde4c0340cb36d3f03a1e2a10c9597da207a326b35968f10d1cc2cbcbd3150b8f5ed4d0712f5f11d0e -FixedInputDataByteLen = 51 -FixedInputData = 5a15d4290c37912db8cce7b087588a4d8f9b8f205ca116c63b66184cff27d8afd9aa8f23273c2e10dc9d96dd4649f414cc2226 -KO = 3a9d4043536f3fe1dc20ed617c5a598c65b23ddd2bf1d063d1940c6d0b8fdfe52bd47d051bb469ce39bcdc852b451a15ade1825e10c7b0526ff808f507e6ab02 - -COUNT=4 -L = 512 -KI = 522f62a51c8db9affa30ccef84f40fe3904a3d0a28c8aabd7d5874a7e629a55ee93457420ce5842889acf46ef6f7e4a7 -FixedInputDataByteLen = 51 -FixedInputData = 9a9d6d2be20d4b85df5a33a8cb45b7a5134d78400915274b75717ddb5a02a19f075e77f2925421819a9c69a2bd707f09a09bda -KO = a9e85cba93b42f2bc3eb582fabd647d899088c0650a3611ed8fb8d2516791ec0ebfb48ed7f667550c1448dce322289e990108210d12be3a9b15fa1258f8b69d2 - -COUNT=5 -L = 512 -KI = e7dea5e9da44b8c194af4ad720fb252eb30e5719ac252a74f7dfcffca3f24d1a8dc2c96539409ba79aed75abb4e1fdea -FixedInputDataByteLen = 51 -FixedInputData = e19b4180a29d8a1a1824269d26789444498d9d0351a33276ac40f282af57beabc8549e746b9d448325f4c12a6b3d0ce8242e90 -KO = 5bec6477aded71bfe8158bc412c89b0e55fb10551f2546b171600614a893a583a92dca9c4aeaaa438f83dd5551f17f4d3c37b6daee879c5735a29a5a3107da9c - -COUNT=6 -L = 512 -KI = 44d71112a900fc3fe70db85433392d3cef63371ec77b8c197a0860601c616fd97a68be6958578c3ad42f1d1f7c6805a0 -FixedInputDataByteLen = 51 -FixedInputData = cb6f3a4c88fbdf6b9ff5913d0b897d455046fcd6372ae7c3cf79d2552e00124f430435d7864c05fac669a7247ac2073f8e97dc -KO = 378e637a99fa1badd7d3c153bcea6b3dbfee51843633ac1423b584296f4658e3b33323cbacf92fc80729e6c0bd8c17d632a13c9dce6d23cfe732ff21459df4db - -COUNT=7 -L = 512 -KI = 7dcb7a6900d31c7a4538266e6e022b89cded277446d93fa34a4a7f64034b0bacb86a74a423c0d2d52171e62d6f5b24f9 -FixedInputDataByteLen = 51 -FixedInputData = 0c975a0e29416bdb0703909e15cf85cad0df7c15381455f52fbf948e59b15305e885a81cf2397e46696d6416060d40647e4122 -KO = 5e738b71044d061630df20fb41dc7e156c73b900995067a92ffe41c1d4cb22bd6b298949646925b2b6097b90ef4ebc5f2d525c748c3e08dc43628961d7f89df2 - -COUNT=8 -L = 512 -KI = e56ff36cc66d5e9a82a44a7bba4b7a212e3b8e7e462b5c05a09cad72b4321e618819a905efd7b90a735335739b2368c6 -FixedInputDataByteLen = 51 -FixedInputData = 0c0e975604ecd21b332e95efa971012391960c68318974b7c11aea7b6d4d0e68d3aa4b1510e275229cb9b0c5bc9851c3a93cde -KO = 65b62f6ff6fe738e353e5c969c3345aacf2031872937484f128ce949d60222792aefcdd0fe1bbecbc53bbe5be5ec1b379d59bbc4c34587adb5549443c1f7f758 - -COUNT=9 -L = 512 -KI = ffdc99f01eac1e5331902a037406ea21a846b008af6c67b3cd048bb2dac7b507792d88d680bf53caec24f313149540e5 -FixedInputDataByteLen = 51 -FixedInputData = 7a883713867f267cc3534970e02f8df95ada13e0fb9b265f2e97ca99712a516e231622ab6e18833562bd2df2f16303a07bfcfa -KO = 88d0f33ae6c280c44ed034ebd9183bf705a4c10f148bd0fec30237ac8472ec6062a7069b573b1cbc9f1c5f160daf2a0cf4dceeb1bc47670959713505f197a51b - -COUNT=10 -L = 2048 -KI = 21a1ebfb8f4b31815ede6eeb4817ca6d40d7dd07fc3bb571faec2ea1cd7bcc01d5a90494e6f95de364361e2ff88e31d4 -FixedInputDataByteLen = 51 -FixedInputData = 1f2aaaba05a37db36dfcf8ed66337fbfe2b364d2c274c2e2ad39631b551590a45a73acba373b9d48bcb63e93c9dd9439880f22 -KO = b14ba2a99ac2481c5a39dadc8a5b1acba4a74b9bfb2f7ac6d5b55517b952254603d3f12d66e5c0ae339270a10bd7ffd43b848ed596faf78b37aba06e9ce97715468e3105953865b8ae92e3f7a212d2321424842161101ac2c5b15d4094a6442080f8bf37e2feb3a6f9d2598577798238ced92a5b3698505ed5323042f0e47a2ebc1175fa33ffe7adac5bbfd9d6b4cb1c392a75908814dceae206470b995363380d42b08777298d41fac3d6ecd87bd059f7f367011f545ac3f3fd5239c22bcbe8da13436ff84cd69de8d88f423fbacfed265abce438659d307c27656eef4f5f5bbb5f59e72a98f9e2b1b18e8649cc766f820bfba9c24970d5d7ac6ba6dd5162a8 - -COUNT=11 -L = 2048 -KI = fc355bb81c0a7e5976b3cc8ab66182e72c5dcf15b8321b2f02df07454f1dc0025b5f6ed239a4a0f3d2c522b9c6f5857e -FixedInputDataByteLen = 51 -FixedInputData = c5687b61835703bae61afc3ee2effe87c11352dbb5222b3e7598884a789c9e8ccb3d2c56de7f3162cdce6734c36a01856f6c6c -KO = efe2a8fc84c424f4e2d12e3b0da13e40b69dc72efa070c9251c734326d93bee5f07285a88b84806f1e3af9c1d791d90be838c55ce3e6a6c1887cfd17b884a52e0751e03b1b2ba8c8fbc8da181121ed7b3ea3e58ec7fa727ac7b17e885889e4e470af4aa4ee786c8ae04153d3e67a04c10d3ff1d6cb86025326cd9fd95cfda1b7c11aae8417db831b3835a8b554598e51909be7ff16bad2a53c26fd2827c1d8b109415761aae96c3edc70529751eec660d3ef08b58eced3df3d2f854d145aea068caaf1eaa0b814d438ba7e623f47788263cd50dc09864a9f15034f02c91d49893b96e038c13c6bb7fad38ae726e0628433d9ead1c4127dd9fb948f88c42155fa - -COUNT=12 -L = 2048 -KI = 4340d77a88e072d92d6ed6b8722b6b33ee0e121e150f33c83cda9e4cf092fc61cdbc790bc07defb6c40da8cb585dcab7 -FixedInputDataByteLen = 51 -FixedInputData = 2c3ed6b349e6e9b630f876ee7bbfd8dbb3d22e561a48178226a54aa07316dd547086dd1930697187051cfd461f6bfedd2f8887 -KO = 86b632e88b81b8a078e1be57e9eb1d4fc7ff8adc8cd2b14c59d6edcff98c93ae0ec345e7f8a52b14822f216bec837a02c4c1bb2b85d114364ae084c7f22de628e7b776afbf527b3c34b5546e0f815028fb5dc1d01277be9a000856e11fa0e507b80ad829f08d22bcdf548c1a07231b7947452546b24e39232b41012cc0a86b43d0e28007cd3cb7984dc10d8ac509315ffe72daad43dd7804cda0c4a531f102474e52013b58fed0514780b69f2147d9677a894b7ea888662cc11ce3949f1fecd469cfd59d173c54aadee3ff92edbdb792e84a9c55604c997571ca8731ab146e956bed41822d2778dd27cd8ff377f3eef1dcfb844ef5005ac18640a16369458691 - -COUNT=13 -L = 2048 -KI = 5043872109d96029f2c0557383cd747a865314766574ec4834c3e27ff6ce6786b878ac1d6315385b1d2187048466db6e -FixedInputDataByteLen = 51 -FixedInputData = 15cc63c4f7e51f7166c1dfe89385d705ab18e0b6f8fed9f94caf829cb0e144ef915a77f4c2571016ba05499a219949813179ae -KO = 1c00b18f210ae431032cb8e777cacad1c13d5dd51ed20dbe9bff409c1629499d7d9d877e2b1b58327a0a0689ebcf15d76caadcbdd50d269959b9c6d6bcc3f9cdc69e81b7da0f75268d6328d4e53292d91a26890257659fbed8a677f8aca5bae34e7154128473da034a5b54d6f47ca23bb2c23d0354a1d72de9d9b6b8dea1a8ba85309aecb99170f613bee7a5574151e4ec5320730c217cccfeb18d08d68d1c46fa90f530295a3e29b2e6e1aee1e2604dd2481a310dc7431f8a471e89e3602b052d92a333c0e74c4095ff60865f103999d75565deb4f70dd8a6527eda45c1318ea8803e9f61106055b4fc344f2f950bba502222e63cb513a45f4716e9a1980c5a - -COUNT=14 -L = 2048 -KI = 0978f99208cc3f50a413d8bd953897bcb2e034f54990acd75004c9f9248ed993d1e5c41c0b5ffa0bd0f62911cb4efbda -FixedInputDataByteLen = 51 -FixedInputData = f563bf40249829d69754534e056ebe24c624eee3f898faef55c243b01777aa41938288942c298379f12d49c0a12aa2ac1d8a60 -KO = 91c099af6d8b36e63fde001ee1657e825afeae5e6b40587fa05bb791b3fb5c75591842dda43f518bcd222cc9db80a04c4e6f63b0c9a62d0cef3b5d15314d8984413d6f23bcc2c060460d05d10f11998daec4bd4f1488eef8b619217239b9d98cb06254d9585e0ec2ab8b65b0d9acebef6f94097389875a1b652da807f9b3b24cd33abeabfcad430f2ee0726833559a9284a977a1487fc1cb8619520a395bcf46d1f02d1d47cdea87217ef3fb6fce40a77531ad41048331e2f6010198721b24e181f4315486c54bdef327b105367b643da01b87e64bece83bef43798b82458239bc29b629d277cd315a6fc860a61031ad38838df9c4759a603e8ebc3dad2154d4 - -COUNT=15 -L = 2048 -KI = 592e5d8ac3524bc5421705473c3aaaee419dcd8fac054cc6f13010b986955d605abd6a29b97665f6df1640c488e819be -FixedInputDataByteLen = 51 -FixedInputData = 629b7b49825ed875a5116d37bae583f231cb5e710d8886362cde3411f3694094e978d76dbd9dec686eed791cb027daf0656f03 -KO = e1bf6474bbc9095bd3ad3e9b1c588e80d1dd3b37879fa76b066199767b99e9adff8f8c3c7a2bfd3194a6ef776ff86d569df16176c7d35adc6fdca6ea685086f6ce1c198a0452bf8caba84d45eee4626a9e8135d1f95fe88eae0bfffd64235ea97a697da0d572c8147a83d9300924b1333cacff203b6611810f47ac45974af8d4333c3033102c1879b7468a166a9a804e6269d3b966916f7a480d42093e0e846b36cf52f17af73e5d6c0e4db4b4df32c8a583075efa922fb7e1250e2e619982ab2ffcb33306e48eceb8035a97964553ef17a113f17add31244e4df39b2bc1ec0e9329470d79d52d8ba0286a91647f9be3be25bee7eeabace92be9ceba7b9c3261 - -COUNT=16 -L = 2048 -KI = 709b563111c8d3013e094e2c8f64bcbb2da1ee0d5cc3860659f1ce2247a695a96911e98b8519f42bd9468aadf883d4b1 -FixedInputDataByteLen = 51 -FixedInputData = c9524767a5b11d82f67cb1e4b633da511feed34d1639b106cefe6d4f97bf76d50d43111409fe3a964693fa58964fb7aa33b7cf -KO = 3fe938323d4881bae48864ae48c87bbc0f15e4381c545f93c3c11a905d7f4bf29723e2c28d9f817a00d35e9d32da6496faa9a3bfa7fffd0e714185ddfb709e3f4302c0ae7f92c85c6dadb87b9685bffaaceec29fa9c4bc42d99af814a72305570118178129de1e2cfa68fa1e3862573c312d13dcc39a96740f233bcad3326fc75898fe2ccc62f9d25fd021e9e15f167ad68a2c8fc63902065ba53367d7931bdf26f18c18f6be322bc91c0d9cb06942e02d5a042f86adaea2dd72ce23b8b17bd5e35cfc15a4228d265e038608018598d77dcea9a1bb8b763cbc6384d99323d119445e0b97e3d263b54fcf6fa8b66c7bb36b369d73873ef7006bfb6567bcc6e2ac - -COUNT=17 -L = 2048 -KI = 1699a380bf88c5122fb7cebf59a1e7e20d7e270bc2323c2f4f2eefcb11e60dda21ef12870b7caf5fa4d0826825b520e5 -FixedInputDataByteLen = 51 -FixedInputData = f77f5316e8c5f5aea260c9394d4a651690ee87d5d22be73dc97eff4ab63a0d69c27f922345da35fd86dbfd8de9fcd7f4513556 -KO = be1c64c54dd518864392c309fa1437c71432ef7322838d8e0441caa8a08d02d7a0deb3a7496c360ed5955a774521bb5341c0861a2c2be94c2ccbfff85bd81b565f68541781b47105df4643deeb6fefb1e58b65920873163546687e5f01f2ad9ad0151de8d75685a10a264959cba1c1ad0de2f1d46cfc411d3e3ba1a8fdc99173834b14a99f0829c6e858da04b8d811d57094b67f940b3433f0b0c637d3ac3b4e465905fb33d6da8185fe60244b21b9895bb9a187dcd02ef939fe6850d2f722f45209f627c0d84d07a8b0c97045563aa4d7f365285a16bcffa21df23e4bd6a2ef6f28f9291ebacf9e674960829c866fabaf1bd31534be7e004d68345cb4debabd - -COUNT=18 -L = 2048 -KI = 977383b72e5de6622c9eea301f005af8657173de602e59776ad71b284f90b757d94a4e8c3a79c2924bb663a8aa372125 -FixedInputDataByteLen = 51 -FixedInputData = 4f8acdb75330c937d2d04156b73d31d4495fb41557cc308b8ebea7b47f43767753220397a1584768ef41790b270abe9ba5194c -KO = 1b3b6c7c736a7d0d6850a4fa4d75590010ea2353d99f4d6590cff5fb521ff0151c245e0c3c7011614353460c43d4523bbbde90963323be6fc8492d08951d6d98dddf31113f41fa09d2cf18f39582a213db2df2add039fc4b85dd84dac172563f61b168ec7d1e1de817a02eaac1cbe9988b3def22f70fa29981a49cc09bea4a8890047a8cdcc0daf545eeddce7340d3ccd6d9986388bc3618e91d9fa4b981237c5b04c4a53da691b153f5e27cc0e096ea22e58085d07273da2f3ed0677fe9068b88cb897bbd61d784b81a92a8c3a46d1dbe54e195ebfd0117d3ce0f15d7ca17aeb1868c5567184d388788e953dfd13bdcad7efaf287b67455f2db119d0d943c85 - -COUNT=19 -L = 2048 -KI = 7c05dae4b8510cea275bccba7f874f39badc87fb87b3ad51b32f308cf0593688c4d13ad36de445900c1954f403e7bd69 -FixedInputDataByteLen = 51 -FixedInputData = 07e0d13626220d458d423c85cfa0e6fa4b680a4472fb13fa86719c4089a6a58b06617beb93cdc14f799ec3a25a65566880495d -KO = 2b37c95e9af4ddfbe260767183f98ac0ba784d5d667bc5938a6ca0fa20860d884df55126cbf250268e555b50e53c4d91b0413dde6f6277ae88e8190896abdbd2c3b27b8409217b4a2e4afb44c3308f3f6de0a6a9a40406a53cfea53a5465ea714810d3d907e15bcea7389aa9392c76ca20d014b7fddab4fb4ca3d13b45958a2204c306985bed8946bd9b512b494f03171da85a8be8afb458f93de0b6e9f785df756aa4c9c8882defc277ae9bde5738a3dcdb7c6eb107a231068b89ba237ab2a745e1b8234bc1d56aa0ed81f03327922889db51bc40c31a7af2398c5234b3169a28c18962f4e1f0a8b4162adcc5cdd0da406c53994bf0a0af4cebd7566195cd09 - -COUNT=20 -L = 560 -KI = de904c60aea3ef886edfd9cc38c5c3fa27222dcc03e50671fe4e14fc0264369f3134dfe49da85c1516424a9378c22d9d -FixedInputDataByteLen = 51 -FixedInputData = d644544f51083bf35c326fed7e6168997bdb70de086063b288a163a459527cb6a6f70424a4c6d45eda03c3bfc5032c3847ca93 -KO = f4a275d1e16a52b0425833219baa11f69b98419b54e856f8523d5d807924ec123f6560fdaae30c76c7ca819197563ed80d9d650b886090395ea7c6ddd20cad434c4f6665701f - -COUNT=21 -L = 560 -KI = e8de7085466e4567b1d7c8e3de2d98f71df6f1fc8dd3e6493d4a87ee7322c0997d6c6180622ba64e2036e379a5ce8f5e -FixedInputDataByteLen = 51 -FixedInputData = 5b12882a37f9044c09ae88e484b613037e91bbf6289f5c74210960b84fe34d1c1eae2979102032919130a51a4ab4f113080f57 -KO = 083e346ded57ecc2346b6e1de005c17b17cf6821fa0b639f2fa8be89f06fa483734d5f599c10a82d8336ba44f3b877814fa3525fc25a91470cb0ff01cb405088064b9ad90dce - -COUNT=22 -L = 560 -KI = fc5365533bde4654bda14478fd16abbeefc0f7dbebc9b6065bf868de25e16b45b7eb3d311215fb3514ff23d0454c16f7 -FixedInputDataByteLen = 51 -FixedInputData = 0f03b5c50b070be82000fdfdda1b89fe617c84a75e4a0e98b628a01b3fddf932f4d7da06fa0114a9ff2f9b69dbae55f72387af -KO = fb06cb3db2e47ec441a52c868ef264861d5eceb4e21ae83e58bbade58c03e09093e8fe7f7569c6b1236ca49f934ae85e2182cb28507e047750e7b6100dd45662d675660b7ccc - -COUNT=23 -L = 560 -KI = 8ae7a3d5b54e1109c7c62b80e175b1c21ec695fb4765a2146db8ecb0cbfd88abfc1cad81f6756727eee557377300d651 -FixedInputDataByteLen = 51 -FixedInputData = 6fb6af82e3e321b4fb7d9e31f2823b08961d9711ec5262f0c5b91686106e13efd5ba98fceab3c4cc0c312965b64d78f0a89ad8 -KO = bac0d9678050293f3c6893358c08c6c278b7524ea29347904d0ef26a16199d8b1eb95e83ed549284ac119db5cb6837fb2abe502cedb2b8d76ee0871fa61242c010da933eb101 - -COUNT=24 -L = 560 -KI = 58f2a7b4e9dea7c64f790b3c0425524551c51a544fd760993e1490bd18d2f63685c685de335d930e594e81bf15948439 -FixedInputDataByteLen = 51 -FixedInputData = c4d2fc02baefa411093b66c52bf7fb17d6f673f9a3efb866ddeb4a329b83e03b52b4c423942a66338481474678d728b99c55cb -KO = fc37248b452b8eb82a11940b80e24ef98256165ffe2020d87556900130d4ca3373e6f52737e8ff064431e9240fbb6ecb4721305b996525376c929b621361e799562b4507cddf - -COUNT=25 -L = 560 -KI = ab39d1e7ec0bbda1da383c09b750b81a4e5c38e5157aae2c0e4ea559985159f7a2503c7d48a46404cd6e64ca2f545b50 -FixedInputDataByteLen = 51 -FixedInputData = 694b9ead11850af8f6e385b521c31a6951df3e2c919c628dcf9478b0a857ac0ef2ba2b5e89f1544b434d6abe1604232fc4457d -KO = 27ba982566e05c50e6d2aba41d08fa66c16c1c1ccb7520258c30d1112d11e97c87a6ba95903eb6b36ade7eae8ffc6cba4e670986cd1b2a3cc30b39c66509a0a33ed1f0c785c1 - -COUNT=26 -L = 560 -KI = fea0fcd10d526a5144ddb224936b4bcf7cd8ba76ab3f65b012016628793edb6ceab175dfc79f365ddc0974a7d8505e9e -FixedInputDataByteLen = 51 -FixedInputData = 1287cdc277cd221413126b9a3e5d744e7bcecbe95c7d85b31c858145628cbb5768f5639636f869aacb62e9e14c529c72129ef6 -KO = ce8e4e7464f8dbaa05849cd403e2b4787d2bece8d051bf9b2fa03df50ff9cff1a62e87b646be41346c59eae4d2ebebb17ad56534e73ed3f594dd704e2a94d67fdb9dc2a5dc44 - -COUNT=27 -L = 560 -KI = 214a399d5a316abc53987d90cf23ef79dafe5c25af12d18b916b0e9a9861e03dd548a03f15cd03fee615f60fcb2a8d81 -FixedInputDataByteLen = 51 -FixedInputData = 0144866b5e014c7f2750d01f6e141f4644577848cb4d23017fe0c3fb56815c24449d9569604eccada0a8d9699f8efe16b930ba -KO = 686cb8093d7790cbd1957606cbee705fd379c333371505ba259eddb849baf51ce93a925beac1b68db3e136bc138e9098a91952e66610c33aca3a80522ba352fe1afc52d7403b - -COUNT=28 -L = 560 -KI = 26c136d944f186aa7bffcb457743fd4e9dc6fedc562e8c4117c5f15af9099adf0129908585c67c588200f22824e05721 -FixedInputDataByteLen = 51 -FixedInputData = 34df78d5017d332c70e7c71c228cdfed6789d0ca95f3fdfb21890301579d0957b6e4d629b5ac6e8722619c6007223e60a826f3 -KO = 81c578a679562fb88e74ae797c22630096ff38d5be5ac67fa82111754eb7c21b8af7b7670fb372427bad9ae32210440e21d04de3dac3a5db1c932355e7814fd938004dbcfca1 - -COUNT=29 -L = 560 -KI = 21a61d18144249dd3a51d7a8ca614eed8a08ef8c321470014db7474908a5b5046e1e3935a84ea0ad71ea56f8b815771e -FixedInputDataByteLen = 51 -FixedInputData = 7dff290972bb7c65e93e9eb66ec53aa34577ff39dbdaaf61212ec57abcfc69d1b88fc1fb588e3385f91cc62f4da394822441ee -KO = 9ac210841cfc4ed63f8d5bb726a276525002ee086ddbda1c178cab66d61182405d6c6ad8a6da40a38cfb2ca56c0f74773f3f6c4d7fb95b98c974b8222b955fbe2bab1f7d6ad3 - -COUNT=30 -L = 1600 -KI = ec452e269e7bbef27b9e6690d34b9977a23cc949aa1fdc0d3d143171be97ad60426bb827d1011d5f1bb52e8b24ba74eb -FixedInputDataByteLen = 51 -FixedInputData = cea6d67997d14e784fbfc3fba4d5afe5d8486d0bb4dbbf08e2c587e2a65ab21aba7e435d81771fabb5258438f150378e19f512 -KO = cff74616f731934231a996595a161c68541fa9e2a7ec33f07ffc40074f7342732471336809a15c93d42734e102212bc95265114475a5a1431381a021eae61a7cae1e677bada8bd1a99c6b49302de4e96604c9375f1449863915381522b1d32898f2e54f823a0d4513de95d47afb468a7c65194bd6419d9c785f6fdb10f2d9f35dbf3adaae59247eaf334aa433806c4f749b4fd62acc3bcd5e644f3cf6e2a3dabc5e7248e28f47adcdbcafeddaceeba1975c02037819605555a615a7964702ec89975fd25cde6b5af - -COUNT=31 -L = 1600 -KI = 733fe5c8d4930937180eada77be2c96c7184719c95f680f4cf10e5c8bb60a88c87e8b53518d84f87c58f4130b4746d90 -FixedInputDataByteLen = 51 -FixedInputData = a2364beae7e843fc3bdf26491e822fddcbc081f38b32955bf5840626f23cc237c9a8de2bc9fb4266b6a6d276468e3ae4ae2048 -KO = 9857bfb107a208e189b09322cb59f1d1d2bbfa3db05f9e5217991683d5c36b0e7c051d37465dbe32720bd54bcd5c1c1e423ff326fbb22de9ed9c0333c975fcc4292eb6a66ea500165ea27a65281e6159ab62c551761ba2cd49af43995427d65f5390cbee77b564ca3a22d870b5b7f5a39e821e1f652d50326bda594600a1f8404c9aabea27f382ae6b9a2e00300f9d3d8220d5a30fcdd39707af13ab2da9698dcf9bdf8c9f5ad78d03f0c179bb251f01dc0cc962d315e73d8d3f5ea14dc813ec2040d7615554b371 - -COUNT=32 -L = 1600 -KI = 78cdbc0af516582c077a3c58be10aefda1aedaec073c5ffc65b20997f8bd25734f688ff7c8c30ae1ccab944b71cf03cc -FixedInputDataByteLen = 51 -FixedInputData = 8bb7053e70f31f64aa705baf0b9b3a17065a7387e416d9d39fbe43ae82b621687b140f17321a68e7576e847810bccfb96bdf53 -KO = b272455f6daebe94ad050d09f8a3dc89cb837245b7273cd35b2ca35999a9ca7b6b55f82bfa5b483a9207ae87b434e42e693438f98de4fd150fe28829780e5c8634d7387e62f2ad15774662a32bb9a0592492097b99aac5c18cec6d20a37c93bf652f6fb81abfbe0af60332ac9dbed7fba06670dafedb9b897bec350a47997ef505f4738d0f8cb74f02a4005f73b0faacd83b795bb978f6f18ef91adb5aaa59c1389cf7170db7c3cea264fce0e38352d4c9bd8b766ecf7a5a4c6fce7dc6526a393feb55094c4f5d2d - -COUNT=33 -L = 1600 -KI = eb5535e56c8f9e4330c6d18a4ded6c1557fbcb35cb8f8d676a423a6d5134a17a0105a616a0973907d83f02aa7536d592 -FixedInputDataByteLen = 51 -FixedInputData = dedcc85d1924465ec3345b3dc3b0866d3a61b3caa7fe9ea79f91d5cbf5a03b5fc85b02f68eb182b3be96d240e9f7c13fbd14a7 -KO = 5209ef3bb2b81be00b0817d6ef360f5261dd5b020f4cb69dcc066b1c4cc4d4c585a5e1da0e70b71e39e27f6347ef0551ee32289aedbd34543a71bfc3a3a0578c99b16855c651a6b7c0117d3ca29bba88243a041efb45a5eb74e55e6d93e72fd637cda4f1fda64a4466f5e879aa831bc84ec854d6751ad6f41d2342c0e4c695abb7c04f22a9052ded15e6c82cbf6dfa47f55b438d0ebd20942c4047371a5bbd1863a7357c4be4d1b202d931c1d526e022076b4c067f263dd46c270fa567f8d0979d1d5b013c1dd00e - -COUNT=34 -L = 1600 -KI = b65dbdca42743ed67f4177488c9cbd96a105bad7c518ebf0585631b4a0ba6bc6c969c9c8e9eb8cbfa566c37b0e32ab6c -FixedInputDataByteLen = 51 -FixedInputData = 686763e049fda02377eb2806cd65dfcea6be908d4665d20baf0a5b5da8a1aca965255ab051f507497c0a179fa290806cb14877 -KO = 46f954f9cede52b9f8de89e6cd1e026b6dacc686a04b83dc6de3bc385ee0331f0069bc4c0894be403ab6b5fde2d609abad0b582756ca8641630a05358db11c5b1ad24dff63d7f445ccdef0019f3346cff8a9bfd3103e385eeea120f56452c9c8376108978b5b1ec6c6384525a1198c6575923b46185cf2d65ee1b48a690d772fd7018cdf2383b5cdcc9226dfe1c007a9ced7ec12d75556141fbac3633c271c4a59cc52877837fe6ff72cd93c02dfbd7cf141b9e551d1e33f490f0db6bd008f00d1ed728f0c52516d - -COUNT=35 -L = 1600 -KI = e1a205f751ab1d9b066d1ea79243d219cc1d12b62db758602c5321ea1f1d8ff536dc409a219fa346aeb209d9c07a4520 -FixedInputDataByteLen = 51 -FixedInputData = 7d1a076720f5e6269334a279e3758cdcfec754d17ffd0f84e5e836920f8c38d02613d1604c9db0b339aeeb91c9792da43315d5 -KO = f4893fff0ed095137eba7fe374a767b2d8351685a6b34a8608c9215f85b2b67b1594c2c8b6baf19f629aa474cf4ef84ec7b501600807c09e3fb4e89f7a7f1354691e9a8985ee9ca9a06d7caf3957491cd8c69276963c7f8ed58ac10d7f1f0d475fb06d225443650ffaf9ed8431b054a85d5416e50e11608753e2b19f81e83a5ed41e882b8fba26240d43a70d18f174df2bec95952140d25d75dc497e7a37ed2c466e8ca9b21404af87d3e68a5ba48bf67429cf9cdc2fb212e5074e0008ba96b87b53679a8d74e525 - -COUNT=36 -L = 1600 -KI = 5044fdea9b86681342469b083eb989b0a3419a4ed21fc0eb75ab49294ad7b25ee40cfe86fb551c1626bd44145ab3bcba -FixedInputDataByteLen = 51 -FixedInputData = 026a1dd0d518c5510c2b10e9643de7b9a6686d60a69ed71314b45f92abec3925164d54894ff54dcc71090291edadcb9d57967f -KO = 7b3d50c13a90b2571fed6c368f9f0d6a92a32a4fd5d256dfc023df9ac17c7774e97953c2df814c5b6e0cee3e16304becc966cb7ebdcce11ad1b3f880a2530d8df8991e349e1910cca5188e5c93362f93c5ca4e343d291885875455d562b9ac955e061ae087c10940fa8d7ed89d93887b487dacaf34c19ff450ac34f7b23fe327d4ad6b883489f29efb688351dfb6af3d7fd1e91a5b84b48159c97ab7c01981bcae07370efd126957cd12151b2758d307c3c789d8032913ef78b941e091b8cff0d3c7aeed43933e0d - -COUNT=37 -L = 1600 -KI = 7daf372296c3e6efed3ed3402005b3fb74cbb4cee1dfa56bc3eff087afe4ed5b9cf73a967484625415c20508b0cbbf74 -FixedInputDataByteLen = 51 -FixedInputData = 3d955654e68ec079e38f9851d9de5d84196b70447c7df2b29e8ccec87dc86ffb1b32165492ab5de0ff98b4b9c8fda2341d311d -KO = e751226c2e4abecf1c4f5e8612f33802f52c45446707a5f919adc4d9ad359e40831b571226875f45a72630a3414e28bfc611731f52d06bfd37757616490f8c9dc4d338bcfade412fe8be7b9c792cd5305b48f6ca0037104368fe38bb2aec13fe3a5221397dd2621da4ff1f3283e0a275cb3a1751ea1627ba5d3586e0b8d28e5b84e61d0e743a19a6af84f30f04f2f5978675fcac54bb1fb8b0a7dc25f50ac0ae8d450e01eba76dd228dc3005b383d8a60ceedc27d7181de428fd0c74a1366a3d320aecace1e8b2ed - -COUNT=38 -L = 1600 -KI = a4d85b2cc811c767c9f1d3c2f2daa1fbf2b2409fa7ce114ac9c68f031c8c94b5d8ba090ad49e05630d3fb2f9c946e51d -FixedInputDataByteLen = 51 -FixedInputData = 104277b0b03e188782d3197eff9ec6eccd21c1c2ddcec6e9f7bb07626b213e7ac6b4b049ff4509786daa530278f2957cf8679a -KO = f23e2d50f12303e6b9fe697a91f7e191964c89bd047ab8708db79a372b16fc5ded9547f8bd254448cfc482bf2d2d7a6c3e2e6ed5d05e12709c2a4b84ff4852724d1f361fc558f975f244389c6c298d0e878e87ea4ad1617539675241498c6e5b0b3037ca069384466585b0b54ed98af4dbe7ff6637755bb9b9a11ff5b6c6c388bff568a5791688431dce1252fba3695b8ba625fc34a5da8a35188e6dc3a9fe37818c2658deab7db897163c668376e4deea1e07a640ca154df9ad1b30553fdb930ebdeaf2be52aa61 - -COUNT=39 -L = 1600 -KI = e093d83c70154b0453751fa317c92779613dfdb528be87afd69d388a0d2579fb89b9e918d36372f82dcd0b68c76e558a -FixedInputDataByteLen = 51 -FixedInputData = 6dff291313a4235f5216fad31a2d4cdc4f7285589248b70f4ac5145dbfed357792d5db9e365dcef4e678d6ddf2d96905a7e169 -KO = 7d87cbd34c060273187909fc5f91be1141840b20856670661a48a96757512d38dfa459d36b2ee9038e2af8fc8c59694ff7556af38310f2c18e3eac4ff296da414bbeb9ed802a1893aa4bbe859fa733093d2ebc298a847b51dfcc9dc17433846ab04ac715cf68b169bdac2d34b231c67608653966623431c74bd5885e6bc213b205685ec02ccb5a124ede399f67fad0f8bc9f765cf59aacf0d289dae115be74c812e4186167e81992a9731c4a20a1d06763731dd2bb72ac0bd072f818adf35dc9fbc0b48f055f50d2 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = f244775c42e206886d0b45eeb293333c9555dbb1bfca4676af19615f505e06b3b79d189cab89b1895cbac01d1b868375 -FixedInputDataByteLen = 51 -FixedInputData = 46caf9d10c413161e84ef03190a3df555bd83f32798fcad33fb802ac724e885cd7d8994706da72ca54f59b2f7b3a68123cd4cb -KO = 1aa2e8485b4dd996d4ada32f0f429afdc69ae167655b492703bc7810e43271693562e4c9c21f55e57a8502e1206a6365a2cee3eafdb51b68ff8c93106f4c8971 - -COUNT=1 -L = 512 -KI = 0387a43cadf40cf9acbbb8892be02f59532a3ed045cdfee7f033aaa5ba21c74e63d32069e4c977e2bfc553ebf2a32a67 -FixedInputDataByteLen = 51 -FixedInputData = bf6a0efb3ffc5331ab8598e7ffb1389488d59b193fe3e6cc6844ffd15a6925fb4d81d6ac2df3817bab125a38fc8beb207386cb -KO = c5ab4ef1ee3b56ace3298ab79fbbecd868cb247565787ba0edf67eef76d2c2e67d7b091ada340a7bf82fc4cc25e13efa16b365a495ce0e48a286b787d4a9f76e - -COUNT=2 -L = 512 -KI = a60ba1f01ab6d1f86ab3a08a3f6320b0c1640eaafc1aad9302c0ae7e27b6dbaae446c2f19143787b8fdd26437c539cff -FixedInputDataByteLen = 51 -FixedInputData = 1c8eb1a452ec7bba3153f9555170fbb39fbc5c7b69a79d0dfcbee461f7ee37cb32d222fb28fa080ddc8662ca2deb0ca56ae859 -KO = 54921a866058e4ec18cb894f7810acb24d439e8a40a2c27dca8579037b9a971cea33080dc60295b250f5e80f8ed1db35f53ff59dfecc3ab1e633f684349f3eef - -COUNT=3 -L = 512 -KI = 79e36bbd347cad820ae221bd55915c4dc6aa39d25f68b4450c6444dbd65a67cdd15b65bd3a51e64159e01c07cb710cf0 -FixedInputDataByteLen = 51 -FixedInputData = 011e9ab4d9437e1fe64e3cf96b06318cda7f7b097d11e8acc96c0677b52592fc778aefba4e450ecaded48c53ea471c49cae4a5 -KO = 6d2927e7be6fbb3469205d5ab402248c8919ddcd39654afbf2289102920a0a8845ed6f5f122f13d93307350d4149559632e19ea54407ad60a6714ddf007e5a8a - -COUNT=4 -L = 512 -KI = 2803b8ca0ce9bafd91866ae10f4f8df975b1450e8f5532906c86c8319df02779fbbb29640f374d36a2d577820f42baad -FixedInputDataByteLen = 51 -FixedInputData = 34291d82757a426bfb3d164e99253e0c0706970cdc9fdd59e1ce2038672d745e42023f01f413005b1f067fd40355a28174a5a6 -KO = 91958fe01611369d5335c822f19f35000fc1c09cc8e17eb1a2fcfb58947de52c2d8f03c7d1aafbac76112e091ceefd04a32a7928db5acc0e3aae7a7e9dbfe240 - -COUNT=5 -L = 512 -KI = edb01d39fe058d7f5cd89a915445810e6ea01003eea1264f61186e1a84f7efc07c254a4353abcea0d308d6a18c13c891 -FixedInputDataByteLen = 51 -FixedInputData = ebcb8a05691bd63529a50178df8f9b0dfe4505a0a41ae899d48b576022881703d9958c6e1b24e614f4dae7b6915acce9aaa613 -KO = a3181689b80210502d155779ffb6d7494190aee6d41c8b2d546a1649554c4243352841386fa8913ece110a60615006719266ca423f2c44eb38426e3ec25f2b06 - -COUNT=6 -L = 512 -KI = f5398278b20ff98c487c25ce5895daff0157695674cecd95f599f45285a635803cd32f07609428b45d584aa03cadfd05 -FixedInputDataByteLen = 51 -FixedInputData = 1c88c4dec404e5b05130b2aeaa3a2189919e48ba1ff026e65639275fb8629f51b59a5facc11546a43fffa59f84565fded0e620 -KO = 90fb2de50fdb4198e84f360eebd96eecf02310a623dcb5ebe8d7bbd1016e2bf78e3591a508320c6c245d0a8faef87f6a38f2d020a8d9cf67e11e11ade957c922 - -COUNT=7 -L = 512 -KI = 44d42d3cf8b92d1d2ff21b87b034484e19170f1f50195c7427245ccf160f8b9e411c406c90766567318453cea26f2011 -FixedInputDataByteLen = 51 -FixedInputData = 083fa10d20f826ab89c35bfe39f3cba8f24f8deee951046cea831327a3a333d093f200c83011c4cba5267d289e4f38e500372c -KO = e7ae2707a60a518e6ddc44b4b12336cf843e53962077ac9b07eac7d31aaf37a16103017e988d814f4a3815797e592a4fa9d7eb950f3d7a851cec8f965888c4cf - -COUNT=8 -L = 512 -KI = 3e4a6a05caae45d5f9d27f0f463d3eaaca90056cc94b6ba9e49afead4c339fb0cd8dd703a9881cde279e137614915bbe -FixedInputDataByteLen = 51 -FixedInputData = 936f3875d69850d07843038445bfab4267941d30b2ab2a4109b2d9c39cad82b5b904b6c1d02978549d1eaaf48c1be67e962303 -KO = e43e28cb9644cc30b778cc0b64db73365c5ee4ab5179ca1130c4b81e0e48521aadcf399b7327a268e38d5295b0c8f5a08f9e12276a8dbd0ebd617762a0ca4142 - -COUNT=9 -L = 512 -KI = f39b783c41d83747e732204614256955974badc6eaba9ed060abf461cacd84f87638297a3e4f5e07e0fc0ca327c1831e -FixedInputDataByteLen = 51 -FixedInputData = 99e30defdda2902a43a0642c21ae244bdd2f71a4b3ff3c0699e75ae1af5ab1bb40af0dbcfdb51eac1d43b72f02aba97a4e614e -KO = 0df009f98c94a5159eba6416909175039077d995e226112ef97966f472df6a3fe8a73bfd35d2f84d39e7faa62a00bcc50218235dbc0c10a52ac1ff1eef6f53ba - -COUNT=10 -L = 2048 -KI = 79a7ccfd36469103c19cc78ac14fb3c9bb86ba24c9fcef66ee6961960d5517b5950e79d726a91164bdf67b1a8d745692 -FixedInputDataByteLen = 51 -FixedInputData = eb4bbc22ebdbab53bbebde2f948561a2c0477b741bbd1043b4e1c19b37ccec76132d7b0dd04bcefeda35af2664fc924649849d -KO = 58dc95b34df7b3ff7d411b3e5038f7e849c1ba48589751cfbe4949e465ee1d2185c67c12826e1de1116caf72ce2ac318c7a1e1dedf63318d49bce09fc3e48b672287e53abf00b527e04f406caaf3f7503af66734f99fd494128aa3971f9326492001b4ad073c8ded0ef4c03bb8a11600371ede2cd96a81006264b5fca7a505a6627647eb620ac77d20d1f9a84a8cf41c13fa136dc938e9ab76b431e8864f7cd4a6a0925d3276e7a83fa6d167c1a724009910a71fbb353a5d6251813405ba62d62bb1b6e36654ce01ea2e8eabf9a63b35951bb92abfcb07f7dc84c05491657fd2eecd2beabce637fa91a34e086383ef2bded2b068f3390fedc59dbb28398866b2 - -COUNT=11 -L = 2048 -KI = d1faf701e2eab59c600d0b2636987aaeb6bb776c922ef4243f597b452c7320ef4fae629756308b9e47b0f1bd3d96caab -FixedInputDataByteLen = 51 -FixedInputData = f8471322641ad0b0cb500b8b2f80fa28ff86a6d37a491313567bdc1fb76751033ba05f6d13414b74b9d2d712a89f9f4fa88434 -KO = 23c07666bbe4f9ce6a40714fc9a37f68c57be32cde03d6c40cc113363e19c89b6cb51fdefc42e007beb288c3bf52037edc575a3d42a881d1343bb3c9f7f3f9709dc16ef266e2e9a2130e88c6d1525347cdc5dd6b6432fbd2d96fffbd2130f2221f3f785a7bf947123e5b4b233229942d800ca15db7dcfb1a64ea79c1c9840a51d7813cff27c0edb821619b2885811e96f2cf6fb6bd9089ef812ac4211f4078f258f8ea9bd49de8e7f6be208a99c1712cacdcac6600bcc97a43c117bf4c4db03463a1f7f264be8ead8af557f8f1578eaff8ace959d87ea9815875c82980a621f949b676970093e61f35cde36199a9b7a863575fa3eeea9312348c1941bfcc4f53 - -COUNT=12 -L = 2048 -KI = dbd85529598901fe4238a2cac5a2cd1dc53fd02c9efabe9ebc9568c66794f372f06ff0c280fad9c697283c0be729c359 -FixedInputDataByteLen = 51 -FixedInputData = d108addea43600c2a9b8611e3c1edd2035cfa2930d1516b1c250066fc17f0d584f44bd678f6dac8b336cbf5369815c55ece7d4 -KO = c1b629f9077f647d697538df48c0f8230332db62a284cdd85f28e08a9a056f8cd0043d9e241511fc0cdfc52f2379e1f4e2d5bf5e88e793e23c4906736af882b36f243cbeb3dcf2fff76add7c5e30ff113c5bad0702b8a95305982d42df0f6642da07b36b59c7e78ebe0d1ef6d2b4d64f4fdf7abccaf04042d060276ff6743b728979560af93de1261fb3ba9a026d49f3bb52f1276b9433d7aea83ad0ca07230851147c336b8863610a532c0e56516afa7abdd6bb381be252ce60bdadf8b0dc611050381801f0285ee37c188641f84e856336ba177c649984506517b510ccff9c96c1f4fad20ebcff34908c7cdc1f366a7f256b91f262047b325d22837204f0ef - -COUNT=13 -L = 2048 -KI = f7844f661c0b5e7ff376bac5fe2b7d0f9b1b124c14541fa8ef634ae4e799ce3356e65038695ac634e686ba35ada07c15 -FixedInputDataByteLen = 51 -FixedInputData = 8f6301097798edf6371122a4c6a1bc732c02aecda992c82ed9a21f8835ca0a4c6f63da25b6af1daf18ce20a77d55d768cfbe73 -KO = e858225246e7e6918e37d0dfa3e054c379d28c22af311d76e3ed63bfeaadb601f4a6e214ea15d9d077071aaf9b26dffd504999dd6f6a7ddc425bca55b47845ead219aa093fc0dc5d85c3279647be166d1b8a0f51f467ae874b5c5375034a5cc09466012c8db52c614246fefa4aaf9e620112f6ecde5437e65fd40763ee5c18f59ea1b3860cb023a08d26d97abe01a301323e99cbdccac26f2fd207f81b93037349626320c364a5498d4ce0ac0710d546f26b7409e0bcb16f1a8410fde8d44a8d38d985b89a0da5a274f3b5718a0636e2251599b4f0817374d89b84cc666c961780a10c6e2c33fc7842669265de9a3e4fde06c795f2fd89e58b7611947cdf9c57 - -COUNT=14 -L = 2048 -KI = 498648a48ba3ce0eecad14b21b99109a63584972b95158b075f6042653cbd3f6782c4bcbc6d4e7ab94a493e2e474177b -FixedInputDataByteLen = 51 -FixedInputData = 1d47fec4283b86653a172ba4936108bfd86d9ef474a9a27516731e3670907d80293c1ca64b5fe0c9b0d62b80ae175b3480c5cb -KO = 96f89176ce681552793481840e623c21f71db2734b0446c61e228fe770d331269568aa4ecb8c5c1f628d87963505a425eb39afa5acbf53dbfde15108b92414f84f281cc49496040dfa7d35bd995f2716194500dc5f122000ca9d21c2d8f2a9833ce80b9c5553a1b9c1ea64134c1e8b47967f5ddbc8872d5158dbc959d3152eb5ed0553ded35d006cae0265e0a9d7df500d67fd95365c956119863162028e826fa81343334bc3b87c45b40db6339ba9f4bef39d52e3dd0c9d824e5768793c2dbacb98fcd72f0041c99a00589095a44bd595f452f85138797f492374c31c751c3251426442fd0b657feafe83d257c465a37b1ed544326885880967e7eb79762d88 - -COUNT=15 -L = 2048 -KI = b8d02ac36276dd61bd42117509f02d26bf334dbf87faa03696ff69c36c97fcd73d440364e8c5c8040079fd0b813ef549 -FixedInputDataByteLen = 51 -FixedInputData = 63dd57c93177b0b726cfbd563c34e90e4e7aba97ceb6bf29358469a0798a2d18ed3ec907a18017ed0071ae5aaf765b20a28430 -KO = d54afaa5d8f831a95d7c856618d312d507e0ac63b9abedd65db38a75b8fde8235d1165528d8c580a1cf9f5fb9dfc3f1204e238b972a5766e2a370a68bc45024d6a359d5b34836c88a43a13a82e167627e827c402469970392afeb07d229c13624f32e9823fb145cd3101ed55e9e3c5b89158f1b6cd301808dd5448d1478cf219a27f5b517d46b2215f83b8eba38c6ceb222ef2257c1d29c1c8ea6dd8397bbea279b3a488e92a546ef47afd70a5c7542edf0934ea402a61ad5e1a86098671db84830ae92b791fa45510ae100ccea611645c699eb461a0d388efe12495c094b85882e32927e45f70e523430a22f6335de80d17b01ac951837d0cfe2adb616b6e5d - -COUNT=16 -L = 2048 -KI = d3d7cc044c9a9775a807f1676aa243d4caf81116919a52108592926540e3662a987de6e51ea68edcf21e57f3cbefcce0 -FixedInputDataByteLen = 51 -FixedInputData = 75f7a0e9db44ab015f78de21bac1d7a844e2e353811c8390fc61aa48ba9870fa7df5a46c15e89d553e8c8613b431248fdecc74 -KO = 6b67a082d8014a4c428f34e20ddeee2841d131be0486848282e04d9542fcd681fda717ebd7e6a8ca83b9a290cb83a740cb49ab21c6243b0dcdf48323f2bcfc6666994ee3df5df834cf30be38a00a3d40d1049b35646c670705fff881bfd4e1f704235c719036b3be4e50352111b7e0cc58e3265dc8f846ffe3c208695136bebcc1a6b70b2dfe61e1c276fef4f5ff9fad3793c5483d248c117e384758da1920e3edff74375662a09b2ca91138a49b5eb49ee7375500f69b74f04012324686fe36923906c9d808432d77dbef2858a4a09c81222c0aa0fdae4e68c17c66ee076857e749518fdc07116757edf27d44ce0295e9f767b203e83d20ea7c834a19d6575e - -COUNT=17 -L = 2048 -KI = 4f69b51f078c63c5dcb364062ef0e32acb5116adfa6ce45ad35e4e10a1683ba4f3cbfd83609b758cc2bbc32434b67bc9 -FixedInputDataByteLen = 51 -FixedInputData = b37681b027b01676132b01b11ecde2766633568ac7297d7cf0bd42a4d03c4b507eb9607855c07d6d2593e31e9a900d506101d2 -KO = 73e1700f3ee65e96191012c2e6aa2c5ab0b632a9680554f13be22f5d84c792c4c604aae4189e7933af4f89bff25bf8dc05b6db38573ddbd0ee3c001a5431e1802992a5aa8ae0a1946cba41509eebdaa277dc4bd66ec4acbd0dbcbca252e0bc0618d13a60b5067dcf323f4c8e063e92502172408a13f3784db0848057d0bcdbfa2789e0756a8b44510c164582417f4c0082ad6549063d9e0f857706699444e837f45deb683346f22542303144d131d33adb819ce28aa1763f43002a502ab759c59cd82518ee6b8fc53a864c873b81cc719de75f4087b4d5f688e9f2cd108ea877ae013cce77a5dd20a98cf1b8b729070a1bc5c89fbc1d8eb70edfd51f7062b333 - -COUNT=18 -L = 2048 -KI = 91f96ac2ce53d569d6b480c319e3b6da46d4299b0fdd3fdd49dfeb840b1117a9812c97cebd1f95501cde3d6945d732e3 -FixedInputDataByteLen = 51 -FixedInputData = 56af2cfa68098eef30ed82b7d967806be2d3fe3138b7120a604b4088a2f29f833e7bc35fbc1673c9c9f8698244ac8822f19888 -KO = b6f62c018eb2842837aa9d06524b89f39d0f828f2abf5c11e67405a9be4ad505868b4c4eb1083a978083b3dfe8a53cd8eb556752ac3fd307ee37c49561028fb670a607abff5beeeb5f4f35c4ab3fc9e92b065938f57f0e7d79453161f0ccd013c47f0e183fcca3686007bc8b56124af95374934d6c3bf1319d53bdf8225c61f4f539ac2bb15cbfeff9790f5fc25fa1ab5a4a88cb2e2529010908495c9a03d92d2d7326c6a1a435c96d11d3c5205a417d37b02a9a9ef866abde59f2fece249c657c4801638f6f7b1234e5bba4e5fd0ced7b80455b2ad9774772e2d3e706e0412c2d2076ab49cd8b814496c8afa10d7b02e85115f2d1f92d5ade66f46b90915f1d - -COUNT=19 -L = 2048 -KI = baa42bcd798b63b3e88ad0f61eaf60d2e577c81b35c21e53cf95a5afc7c06b2843a2e13e2cc9c75b2c3b6f3300330752 -FixedInputDataByteLen = 51 -FixedInputData = d68902f3d0785d3f26c41b9b03883e0d96a5298c55ae356e15504d6ba414a8ebfab49f4a0d060219e1e350bb7836175746d508 -KO = d12a46753576c9ff2a0fdc70d1a893353fc3edc8ed561ce22cba681db376b5b165b5f6a283825fcb42c5b0d323be72d6331e17693080de2073d35392b95449fff8ff2aab26cf21c86924b7510203e7108fe85f00f8112390b7ae53ad1b2f5bb00e7fc49f9813a4220ed4b1257e2f5f49a6466b3221ddda65954abf426c70a42a66d9d56aeebad72eb44abd9f51ab1febae9f98ae309ef7a52f2bf29a77b0ef837efacaf77e0ab2989fd27346509621d6d8ad48c5248aec883f6e10524740493a66f5328ee0d0307a15cf1600899e927a34d9847ece6ffcfeb02306b6452053d32567519a880f22587c635c8e8be853a472b1a23bfd1aa8ff70815816a38e1099 - -COUNT=20 -L = 560 -KI = 5ea5771c4d530aa703e27050ace8740df1b54a93b1b1147ae4f1b1e042a3489e290474a802f78695a349917309d74edb -FixedInputDataByteLen = 51 -FixedInputData = 9ff01664ad8f82821dc402820866588d8855701c37327cbc517845749cd24dfa29d7e61f2916079c7a692b840833389d15bb00 -KO = 9a84348c199ad4f3e0f8b915820206b67d1e5249ad144e837b557292a81c949ce8dcfebf6983a289472a9ae1e03267563e86ce2e7e92a48f56a5168bb3180f70d15ace52d15a - -COUNT=21 -L = 560 -KI = 70385217e91d29ec849db2ec3fa9f75bfcf5ce645ea56a8b58d285065baac1b4312c1d4503e6b161fa71f70cad3211f3 -FixedInputDataByteLen = 51 -FixedInputData = ef90002588c2abef07d53f2b9c391d60b1e828f967a80cc08a5f106d4d47d78991fc57b84991b136c37ab6517f52a8852b3357 -KO = acef2cb5c5ebb2bcfdde9851e615d7cfba197265e4677cac2a65a82032074e5c08c77c4977e84d44871dd796f04292f015bb76c3a211032f5a5f5fc27bb3eef95a11c4e72432 - -COUNT=22 -L = 560 -KI = 2ea5ff626fcba29682c2c9a9c56011e5da4e89085340a7ec303cad08fc5aec207e5760b4c0e8b3a7fbcc0faa5bbe1fc8 -FixedInputDataByteLen = 51 -FixedInputData = 23294c4aad2eb4d201b7315394d460b8abb99b1343e6905f4403952b9fb32a7999e6ea28a07ecccc81d2e7f2be05a4d358b196 -KO = 763e7f7613669e5047a2f327da6dacea69fe32bd8d79700284a0244dfe18c582125b86a4a3d4773a16d33e60fa74b7e054896c77ac08c9808d06527676ee6dcf20fb21822e13 - -COUNT=23 -L = 560 -KI = 245fc1e87ed699527ed18e04f8511abcd7200a3406bb45864d228de96187806c38f31825d028e00f976f14492602a0ea -FixedInputDataByteLen = 51 -FixedInputData = 58c33251ce1f5d28267389309e0c3bf6e11bfadd4af64e83b3937b8d164f648ea304afbf0c18ef475dd13dac3ee68d9a8d1ce9 -KO = ea6591adbad42056b79473ad9714f884674ef80ae635e290e388fe4387cea78ef61a717177ba12cc3f34447be9211c35a0eea03cae3cb6124c73326082383f69fb9037127d3d - -COUNT=24 -L = 560 -KI = e085e1f2009b552205af80da5b32fdc8e77b6561604d9ee12f03797ad815424530189c1acff93f2aa6b4bf960ae495e2 -FixedInputDataByteLen = 51 -FixedInputData = cabd8179d4ce8026e71507aed3beb6f12ce2d784b974f78a792c2f37f35f9a7024b80cb5c1cc7197484564d065f14f5a7d27bf -KO = abeebb4a672c1af83ad34080b203571e8b0534756acf6472bae8e2e325f14e877d915f0d07b2fbb08cc51b27812dac05de5d638fa8f6a8cca79d57af150b4115ec5c0da924f5 - -COUNT=25 -L = 560 -KI = 227f18764c5a18af40572a25b8a33633de70f04d535ca7bcc0ad77ab1d5e48a2a337645812f16e9365ef7b2fc3e13dcb -FixedInputDataByteLen = 51 -FixedInputData = 7bc5b43588733dc2025dd71fc6a19f96d9ca45866f62979368d9c07fc51afe15679051d9b9f2778142156053464a53d93e6449 -KO = 26c9bcac735be928890796fa77490bd2944ab6b6bf3b034f952e99eedf8b75592c7cac22fda5be4305cc16b852212eaf8a234d48e9548ba4148859e4f902874da5fdc9b64026 - -COUNT=26 -L = 560 -KI = 869b714e1224915728c6317e04c4c5715e2041776b27241f20d0c07094a05e6164736eb3cb8a6a3d6c4ffcc47f9a7d8f -FixedInputDataByteLen = 51 -FixedInputData = d4a8de21dfe1fa12884efbb3d97cdb6597ed26ea13aacefbff26d0d04b3c22e10bff6efa6972791bd152e7c100f88ea140557a -KO = 6cba6a38e86be138d72fa97473591197b4dfb4c9b54ac1d7612acea4b400268273b0527cf20a0110480dc30b8c1300bc86a23bd0f03701ecce7b2aea68ae3a6e3276adb4e587 - -COUNT=27 -L = 560 -KI = 2d231c3c48cd023b037d91a266c985e8e59dcef72e1d6b037fc4fa9d5b87a67f5ef5937702981c339b1445388da4b541 -FixedInputDataByteLen = 51 -FixedInputData = 9c5b65e4759668c1d98ce48b6394327abf7e5dd84553c663f68f70fd4c4df470af5fd73abf22cf4fb788c3a7fb169f6194a00b -KO = 2e669469ec12b4524383e63e7d0e4ae56925f6ed0eed45fa5a7ae34aad62ed6bff495d274898d2df5d8e885cb3786d567cca6e3913100649d4c09c8d6b08c5d152e18ef1fc28 - -COUNT=28 -L = 560 -KI = 13ff66e06c6afc88bde56aebf25d3df235ebfc5ebdff4b22ff5ea86b1411bb17df191f274f5bc6e3a5e66a93d740f267 -FixedInputDataByteLen = 51 -FixedInputData = 93224178f483cc9741121e47612c497ea5a16c17ab5a655c4f4248bd6b7112e31844a3e2555f456eaaf500b4659fdd0b03a2a3 -KO = c406efc7a217201e3089624899cde0fe43c35ef6f645da48830f22538c22ab3da0a3505abf547d3e80e24bc38962c722e0f0d46eca4607cc4b5925e35170a291feed8ae82cc2 - -COUNT=29 -L = 560 -KI = 343e0466ca93a5b8c0e96b78298529b53fb289ec1c9c10a1a110e186cc2cfda50d624b0f76b9a99211977b42e138654d -FixedInputDataByteLen = 51 -FixedInputData = c07575c00f2f29e5ac0b20654a84441459af8ee9bc1fc1267f692b844d7b880fbd4dda3857f481776c2b2819085f42203a8d34 -KO = cd4a0291f74f923ea38cd2ab04ebee93f0c3e3524dbfb572c47b27929c264c276aced0471453ca4c8134dfd628450ed4c88939bba3d6ed83fab95e1da28354e3f39e4e729da5 - -COUNT=30 -L = 1600 -KI = af019e9f6846937aacb26b8d58e39b09a87852e7718d6b14e4985a31720b9faf0b12a7a475f88de6a6d991e045f2866c -FixedInputDataByteLen = 51 -FixedInputData = 948ade456cdcf01765bb40a6b7b68bc5b61b447cd5f0743d47d30dd64757bfdce584863fd975141c870c96e2295253b3e3d3e3 -KO = 211514ffb031fc074da23d2065a3b013ee3ef618fafbaa5d35a01e73bd0af2310b484d4205317124ff3f0882bc747592d107bf310e09489bba70fafcb90d6e198967888e54bdb81293ec08033edb9b21a0d14bed87e395fe9d49b972642efeaf091f3280abd89c402bd71976e01f2565ffb4cd94ded1f258fb3de0041cb6d851ef270af6ab21c14344a437c7a4c373b478980a20456b201281ffdfcf3cd5d466e6d4d266826801861b2fb9b941397cb1920a6a8db3b251978364f00b872b66ee673171c0c6f0ee37 - -COUNT=31 -L = 1600 -KI = f481ca0241dbaaa33114645428b11edd50247f48ffb748e5bd9339eef67dcf0c8bb1afde8162527e2e40b3912b42dd37 -FixedInputDataByteLen = 51 -FixedInputData = 784620b3775c83acf6805191f9c4ddeebd73a383e053aa6093017fa0ddc76d1032d730816d0b3553fe278e96104b37f2b72a5a -KO = 4ed2122353709a14d0cdf2e903ea6ad77b72716b37f381baf9efff3142b7f7667b3eea3ecbc6437100e9a36a5ba9f9712fe0965341be03a6a9e198e2e785f4b8211743838d0ab93535ff635500b32eb0e6741ccad1f57c3c0176565589d804e4cfcda8699b710fa93914131530316f11e157a5d865502d4575c0ec11a0f2a8b86cf38f028fa93601e8d0b4deb17d7691afb91f28b411324ef6d415b1dfdabe40ce013d4e7fd8d6683c49386a4f28b4b98228c3fde5cdcc7cbde99d1e9329ce81f85dbe511a65225a - -COUNT=32 -L = 1600 -KI = 1ebaa9e509012443bdf2e323ed15864c92252efa44700e11e2a944521ffbc766aba48feec0c57577d7cb8af27b42a554 -FixedInputDataByteLen = 51 -FixedInputData = 2db1f5e6ca992514d366589d2210dc183c3c7ffc66927e93c8f44c11f067a7c03fc112490e5c255da94336134427b8468e01ea -KO = d5ec2028babb8659d997abb9d09fc7a2447ca35a415376200b76122144685245983d5c66ca732977f9e4bcdbd89e4f2bc61cb1c21dc3db5d52f26c070d7dbfea0fa7213c4b65268de422397a7545e328ca0e18c73945031f7e6faffc5413f1413af763a49619f0764aff2f545323e0b629055b341509675d095b31875cb68e6db9fc76c5f3e0b0977560a65d477e76c798d5ff41bf6c07056e2e61f7c05fd3a66178db7a5e2b8d438c4de90f2296e2d7e6b75795427ffbabe611a9726ec1cddc4abbc9e303d19c6c - -COUNT=33 -L = 1600 -KI = b2ffc7dedda4805bc9240fd0266e29fe43f46435a694ee8ccf8a5fa4ec2716ac992da7ccbe7fc855c9b68de3efa0726b -FixedInputDataByteLen = 51 -FixedInputData = 56e821ae11168cc03c659a738d22bbd37090590bde18055e6c885b7cd1e105b974a8dfc22a11396493bcc5d7db878ee4f6e9b5 -KO = e6eda09bbc021a238ef87a49f9358ad1535aea0912bb00562509a3bbad20c53d59c2cd638eb943d99481f4eaa74f0466d44437e89f88485f5314cfdcca76d03a0780543a7dca19c19232310f94b0d1d10d7d560d9cb9a4b15247b27271a17ad94e644ac89863d80d6cf4c6b52cd42015526972e54d31f54c81b20d9f7bb690de896d0b44d827a23a74397a61dc624490a54b1c60eb55abec84fd74db0a22bc171567495bebaa2e9db3477857a062377baed30862acb41f5b178fbd8f3fa8eb27fc5e37e62a9a9b73 - -COUNT=34 -L = 1600 -KI = 473c5fc6f5c02e6d003f69dc0158e4667144e9461c1dea3868b2101c0fcb43b1dabf59dccb23d2b55299c3ebf526138a -FixedInputDataByteLen = 51 -FixedInputData = 4956c7a079f3074bf91aa048d3debd08547cf74d5199a8672c3bbb9c4fb45c992ee58f212a8c5c3d7a8afce89471c8e9f5258c -KO = 54e11e46e950e8a9e097e5ab950c02b673aefa9854df07b78eab2b313c88c5de018ce19bd1fd2959d663d234a1275f1907ed92a7960e0c6994fb3d60d4b276141060bebc8ced58a56683e7c342286cb1cd0353fea63cca7ba41bf3bcfb4e19f3b612da9b7ffd274ecac6a5eafe0c6bc6082269a103b5e97c4ad08539e8b623ea5aa18904913b49be5a187e83a4843f0392c728a9e85b56f11fa51aa913be5d1a9bf53f1c2b61e6617965fe645119087e86a601bcc484c3f9d684022907ae76600e9929e874515c7d - -COUNT=35 -L = 1600 -KI = 597422927d39971c99a9332d9d6b8bc6ee06ee08ad6840b40da8e67bb913077f65fc3ccf73276f97203c758e3a28a13d -FixedInputDataByteLen = 51 -FixedInputData = a6b82e6c0fc898b3ca983c31864668634c3681169dec72e27bd3c0256e3173b1adf4bdda91de6b4c297ead0e011e527c917012 -KO = f93939cc002945255acfadea0d5f3bd38f3cae7a535bc1a6380e3b38444d4fccf04b90488c29e932e22f97f578879c810662226de4f459ac2fbf573ef01b2bba9c5479cca914fb32abd4d052f829e4f650e315fe83b1960f236b0cc664395af0c4e66e873de0d9ef9e1d8eb920f48d8df68617cf5b2d22d1e4464e6fa4ae5720891154840ece8f8af2e3310d551c1be41baab7773cca48d6537bf34e8b0dc2589332ba1d1687e2883e02d3443b7b8077bda5db269f8b3b0588bf02a0f3100fcb7f5684d8dc34cfb7 - -COUNT=36 -L = 1600 -KI = 91eeabe944b63ccef1d7451ff70e99846a2c12df28418fceacb7c5879791fd265ebad83e6549c5704b97efb9ee1ce576 -FixedInputDataByteLen = 51 -FixedInputData = 025dce65a5d029fcb6d9771c75ca0e05549806d9ebd4e0b26a3e67c4e4992994c2f079ed95a9a14a5560e58d087775fa412666 -KO = 41556b42f8751ffb42b8a7594694521bacae66108c175748724678fd69c2843d0db4993ed66a6be5e7b66d3f8496c3248c6cad739ba95294bff8903ae32ef5b0f00670381ea826101a5b5b48246bf06053fe4917780acc0b973e3e2721022c71ed410c20b13b9d704966a0659ea78fb33ef42580996445e898def8ce42ae5a90f72face26308318887092521aa379e5d785dab3d958b7952f483261abe38ca8712b5a6568af0f89e521df3e42e6480e6e227329c90244448e8478fbad5e5e0ba23add3702d290f2e - -COUNT=37 -L = 1600 -KI = 9919199b1cb211f220f86ac37e8ff2ee1342062c4b01b8c1599299df03cee2ee5f4cfc716059f695d40624f2a77900e3 -FixedInputDataByteLen = 51 -FixedInputData = cb9d2bf9133e9496a24a1001dc468974bb39c3e1f5216b6b8c4d3ead6b1a5cbf328a21cf5d9bd33b19681394e4999d897db217 -KO = 0a396e182377ca1dfb06bd858f7889f48cb6273d38b24330a6d595c1241dadcbba2b6a6596a71ea922eb6976feeb0df3c9b02e2796727cc411ccea5a480d91cfb88f26858f3bd80d95b73a5c5529144f70a0a168c1090580354a202c20a8d436b072bf8a1a07d79bc43a17b440b11fc65da189e4cd5335d27218fc630d4a0fd6bd12c4043656ad2ca86850af5964b8cd24242d83fd5c98b6a66828a11e07f5f944da32d7ac483b4a3dcb30e1259421a3555d5fdfcc8f16502e406bf3845ae470937754bf3a9d9ef7 - -COUNT=38 -L = 1600 -KI = 2556aeb359d6b1719c0c324fef90e721fb01b2cd76a489fe6347d72047cb36e2bbe940451a2ea70a62ba547e7223b066 -FixedInputDataByteLen = 51 -FixedInputData = 92250b3274e806d793b87e33a5095016f9f0ca51b9125772cc95ecad81688b50b34e5bc4e335549e702ac257f09872309ac26d -KO = c9a766a610256fcf6806c7243b9205acb0e493693822e3df59cf5dcc2ef7a440875b75a2a46c0d228e151cbfac990c95d2c6d735ff2e976a2e8c7e274f633f6fbc72ea95bd62d228e8f0fc10f1c3895fa8c46e6b3b7d8cb01b201e2e390c494ad969311374791b8cf6928fb152bb5cdececc8fe9fa1ce03223ede39d0491c67fdcae25408cf01ce10c097c5539e4e72cc6face87970af671bc1f0d6174737e4109c596645a675cdfaf9ec421ce642729649f7cbb25037297d90fba734827ca4b9e43ff483af1d7b2 - -COUNT=39 -L = 1600 -KI = 5e767433aeffb20e52e9579ac4cbd6f8b1b7a6b1e4931bb742bd16f61b405fa13ff8fda0a694f6db5640390be6df876d -FixedInputDataByteLen = 51 -FixedInputData = fc9f496d87f21280634cfffc80b478d60b5519b5b0518480fc5c562f5d82f652d6053fcf713b54eae4623c766ec91513706e21 -KO = ab020288a641229dd36932f1051ef3784feadee114359d643321c22c2592b6fb779c0f1ad1be4e57f6500c2f4cd58292333a2841e90572cd7dc59d3beed82fe79f673b31623b52014957a13e53a8d1d84b45c286970381cbf37e5669f947c2e73882b260351cbcfeb5dc6a3689d576237f640b522c6f3a1dfcea9acc9f39c8b3a95cd446342405a154e5d9360bb9edf19a97fcd2056ab71a0fa50ee893dace39887f5a3ad607cea843cb813b455123b7256a05dc83e0f751b49c5301b5a4e623cfe850b5a92e2289 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 5da61edb7c0d9a0e354c1d6f312ceb249223a38732705a282a4f683302ecd6f68407de1ea6843d6806b58551f4c9edcf -FixedInputDataByteLen = 51 -FixedInputData = ae63f5ae6fce22331124c6ec16bd553c938b32dbb4d8246a4aee33035d8230a6e7ec0c495a0e3cba3694035174c135ba3ae0d9 -KO = 626011824827b98004b5142260ae19881ed742fe00446398b3b850d101c5bf7ac20ac469c7edc9c94e479794983ab1f039695d6a2fdc4af6577ffc35144e0ee6 - -COUNT=1 -L = 512 -KI = b9461f941fece232b095be1902e3a714b4d9a497a6b9061ce13f5d323193196abbbf2a6ae109e6050c9f40b58779d473 -FixedInputDataByteLen = 51 -FixedInputData = 295ad9913e47a38ae73265b4cb6929494e02a7b230dc10b57eb361219d4c0570142ef7edf16858e27b3bdfd548a019f540ab61 -KO = c3d19dbeb7761f90a632e0f9203fbe352f383a43d68564b67ed03dac4ed6e2f167d80253ce2535a96f80c43c1c986cf58ffa67646dc7ba207788569c0a9e97ff - -COUNT=2 -L = 512 -KI = c7d19c5ef5f2a60c3fc976afcc5f94ac02a98d59e84682b4472d39bc8bb830e4a835606e04f6d428102418a3c2c7322f -FixedInputDataByteLen = 51 -FixedInputData = 572bd77046f484606fbbf5ec6aeb5f74a02e482d42c26bf81a8dc3e309fd35bb7cef6c7b375fba3ab9d55f21db1b37735be8f0 -KO = 7b2c631dad6b4e1b70fd741f5eb7220287d13eeaeb6ca6213d4343624c76e1d055eeca778b5ace9ea1d19e0edce2d31eeb8eeab780939f24c08ed03da3064c4b - -COUNT=3 -L = 512 -KI = f298cddfbc3bb8eb7fad4bc87140a1c24834426aa1ec3dd870674591e93922d4abd544ec59f1e05081960be38911a899 -FixedInputDataByteLen = 51 -FixedInputData = 5f2c1a584f28b16067df513fc64101b2f1b271db07ae329f71e35e82ed797d35e5a542e8f14195fbcbb98787a9203ee8d8365e -KO = 46755c6c5ee44579de083046907909f9e69f7bcefa8592700bb94476ee2fc3273e630dc1115736b5c3108fc6588e0368ddb280755b2f41c9c6fcfa3c8b19147f - -COUNT=4 -L = 512 -KI = 30f37ce3b47992ad98850a13048d87cf0539df756244a8f7047245658500b77e69a53ea203ecc7eb20a615e550284f1a -FixedInputDataByteLen = 51 -FixedInputData = 8332434dbf2f2a4f67b3bebda763ba88c002694b8eba985cf95ae858fa0f3577baeda493310fcb4e25305460b00ed6049af13f -KO = d7f0ef8c46d34cccc93f29f778c0f2b16ed5b634285c627876ea68edcfa83537d17542a817e94c6ccb9e1981dbc8615b72367454b70c77663cae11b24fede5c4 - -COUNT=5 -L = 512 -KI = 975419dc3d11275050bff31f5c71ac7ea691b84ff1950d4de8b66c29c6d9074035840dc53dbc408762a215f32720870b -FixedInputDataByteLen = 51 -FixedInputData = 542b9893b1d184ed84a22a4726e11db373a219df5a89a464f22a8d6f049139dfa71423e5fcb58073a0469d54f1fc283ee0538e -KO = 14ae74415d051855bd10b21ed4f9a6e4d1c410f714f46d99d0851d844c048742701a6fa6f9f6bd4cce38d45cebe52fa470999a2ec078fcf593215fb0be818ed9 - -COUNT=6 -L = 512 -KI = a3700dd99b4326e342984b904b2487b1d21521186cf205777e0199a62676cf943c81dcf301d6aaeecdef93b86fd8c2cf -FixedInputDataByteLen = 51 -FixedInputData = 3ba2b0a68cdccb3c9ea3efcf4e75bd3739768dcb64b4afe80d41852a45315e4f3ed1d656b484dd59bc849e6efea630434be53a -KO = 0917ee4bbf203783818036798d2f1755382b26cde91521398e8ca15a0df94b9116ca91f8c096961b233f2e7093a986e570b0e4cf6427b3e4b92490417cccd830 - -COUNT=7 -L = 512 -KI = 55db7c1c5f6de33d355f2aea2c927c42c697c837fbd5c6a5cd7503e220f51a1a0271cb3d0488d3cbf2c52f5f21069e3e -FixedInputDataByteLen = 51 -FixedInputData = 37bad28c299b0fe513363446519c9ae4a5bbb1ce894e3d2c2ac604daad65936e73f3566011798bb7b6abc2c38a7c4720c7ea23 -KO = dea64000995448c740e4a1a1df6db29ae5a8a1e9a43d2e95ea30a4e9a979f24cf806683860488fa33762ed2853693ad90a16acee27e23debad934b32462c7034 - -COUNT=8 -L = 512 -KI = 3d3580cac53c893937461eff80aa164fbcfe0e595ea4e218221d12f1e1c7cca67ce0342b6089c0668194a08510d06efa -FixedInputDataByteLen = 51 -FixedInputData = 9c58ed5f09578287b3700acb09c767abb8a6eb155f3f2e4f537ea8ad9d6c118817a991d588353ea0d56df607352b70ca591827 -KO = 294e64c35652f86f0bd984925cb8c1b9c225386d709492652a62538af06ae07d5f49e1bc96a0c3414da6546143100a67b9a98a758f72dec61ecb6500f99eb889 - -COUNT=9 -L = 512 -KI = 7736d0e2262829f71b578ed970a5cde0b896bb1d3bb4e2a3e0fe746a2102bef9b8a0c303a29b7730040f37ff7fc224f3 -FixedInputDataByteLen = 51 -FixedInputData = c3a29930e05d373abc9228433fcf4ff24f84e6624d8aa931cac5b91355ba1428718cf60dacbcf84696241bfe0c91abd47836df -KO = a15a6af93e6cd10772e58fa848ffcea2ab9608390d19784a4c1ac3a5f41038d5c20893120b8b772b759fce192918a455bf3197b65aaf15ba221fb17234fe9cc8 - -COUNT=10 -L = 2048 -KI = 0500d08d75f68d6a60b504c2be1c67c2234bff1acd3a80db27988363f0c230ba6a213d62e445049f26f7e76e49058da2 -FixedInputDataByteLen = 51 -FixedInputData = f5175f54084ae7d0358e645bb61edaeb640a06997be24b52aa536c8a0710c16b272a64711338e8ec22e816542662870987cff2 -KO = edf0516141b2f629930d178889975746306a04155559d74539701d4678b319af59482561dcf1ec93134aee762456032175342891a0ff66b5b544caf639bb698cf69b576c3833f341f2b4fd3de594657454aa054b2b27280122fba94376a13856167b4c582915f7cc3e4fea52bf6cfbc4625a8d2697b07e13aaf824650dc2c44e7921ec0f369b6b509a460b3320743d8149c5a569b313a74811b6cea6dbff2ef6a3dd6771b6f4ccb642bcf2cacc6ff475fe29725b0e7762913ddfcf4d053e20720638a43a2e399731b3a3c145561628b537e49f8bdeb2d32a4cb810d8581a92e639975fd8562bc79c522abe565311a680547ee87a629d5f7d6a4dfeedaa2371d0 - -COUNT=11 -L = 2048 -KI = 393037a473272dfc5ab35a2f45e91a4951443987253d8e143227f307dedbf0862c7b81b4e6cfd2b049fceca8639926a9 -FixedInputDataByteLen = 51 -FixedInputData = dab522dfb6ff14dbeb3daa792b922794330813af58dacb2de05556fd1b830a4d4f9f81d466ce13da0c2e10cc25c20df58bdd29 -KO = cc41d0d5b185c48783e9c59594bac1ca014db6f9ca6fadec928c44ae924d6cf2e9f3cc939bd2c689d767dd73da0730dd3504dfda7579d12bdd3ad3081b85bf9e9916ef21c990ce4e8025962461a7719fa0fbcc10bcad589ff2b2ac0ede4f5ceccec2b5646e6bc7f53e72a6dacea62fea559b1563405256999e69687b1ac3c473fd4582b72d702de28b1564a20b77563511edd167b41c6344c4409dd30c271e26902a81d9e5014d73bcb4300bf6885788053507a562939d23ca2d102bf3de6f979e7e52bfb83eada93869b70026812880fad79e309f8400974ebbd8c117c20e50a6e7a6b58dc96341dff3e1992556c2ddd47b214bb0665eaf1858a2a286e59328 - -COUNT=12 -L = 2048 -KI = eb901668d62244c829fac87471c4db4d15daf09a7f736522e69143d7ceabce76119a55e3a5f89d0a818503409278c831 -FixedInputDataByteLen = 51 -FixedInputData = 585f6ac88631d00f85190390081e15d5a15df051ad2b6f50babb8a65c4a24f069ef5efdd16b10d5a390b9b9eb4315ce13202f9 -KO = 94bc04f1977937055ac61f92bbab8df284d2c280311e1f4f2fd799a82e97e25e4dab92a498e2327241b7c837b0f980d6adfc516042fb113d57e93db3970cf09d0ccde5fa169d3c930280b3a2afc0d8f269a9d9835f3d0dd4fb7b625318ed613a72dfd8b99bdd2623f90fb56da674d1acc4d7b093012e39de92db96c74cfa0e6f7effec61591aac8d2f6c4507eb28f2aeddd3069ab9d6224b69ed85815a33eb7da6ad755811552ac0c0ad8a58b6d04fbec4c1191d82d92362bebd1fbfdbfac5c34a58b816403ce222b1960fddb32c18ad364f83e28fb566cdb5c770fda11dc6eadfbfd3bb8ec8253d2f39d7459bbe4ccdb24dd2ad98ec4f5fb55371b8f9511d0f - -COUNT=13 -L = 2048 -KI = 66b791d1b0e5900b6095d7e4a6fd712c0fbafa9049e3beb2383585648a712c2adac3cdb83ea76099595e1a4b021e6da5 -FixedInputDataByteLen = 51 -FixedInputData = fbaa37d9a2ec97a6bf6eebe1dac0b3cddd314ac00c6ba50bd983f563ff516897045ed0cf979fcd0088057a2069406ca73ac277 -KO = 99d786e2f918c6059c45a4532d3a7fe5dcad68aaf0ed946909f42df272599799989fa0aaafce40733ef8385364290f0cac2f1506384d90ca65263f1f10bfedd4a0ad30deaf328b43eede3635a776d5709d93817cae27f26146073156d106102e649e393bf55cc6c74278c73c24169772f9b13980398f9a3bbb4bfb4ea267bcf994be4e982328336e082676d6e36561b84e4f8ed78c0feef38e142cd1f013864e27ce9df1ac1dcb1324558ceceb79db64625a03a0db2df4bb034103d54f8de027b77bbffda6275248cb423f267fccefcd66148f1c047f447e61d37cc723d3885dc6e55e1538e2923f48610c37a8a20aa7d9fa00744c8023bca8af55cefb7145c7 - -COUNT=14 -L = 2048 -KI = 77139036761933dfa620307430fc223c0cd262db6f509667659f33023b2c4c0427f4cafea314b4978c33c8349e557df1 -FixedInputDataByteLen = 51 -FixedInputData = 72c8aaef647b497aaee7b6f188c340705aa49217ba517fd2050ad4762101aa4a3d2e1069424b5dc09017d3772306a45d3c4f86 -KO = 5fb8e431eb6ed9b71cbbbbd8f8d91cec6874051b5a4abb1f189d1b525200e7a6f4674bed586190064c0f3a6b96ebcb362d732f9c8a4cadc45cdb969361bab4be028822b228ef8e642f5571ad381f4a90bb93ea044492d12affdba48f3066ad9458b9e44c6af1bc8502bd5fcefa3fc9d877fe2a4e6d550e5321f6469906e78a98cfe5eb10a16714174da96ceeb5ac3a8886bc311e3a0ac32d90f9ba1f1f8e084b4cf3c0eb6ca6303ce36fe47d34c8cb9e26f2de8cbbcf56784bdba4ab8a403eccb0b6589a3b5f43e49513f40cc017fcb469097264b55158b459a5e37292ab6c15ee298e726ee96f0e460b18e43a1d9d201b25724d9023b89ab91dea02e8942d18 - -COUNT=15 -L = 2048 -KI = bf05b69a243657c6eb870ddd66aac62b39f85b11adec1e4cf070a83e5181a32d93e6f5eb4cb69b84ebaeda62262a73c5 -FixedInputDataByteLen = 51 -FixedInputData = c02045681d7869a0efe5f3512268b13dbac5933e9905d987affade61f7419fee3e9936334c0523cc4aec04fd1a95ffffc6d2d5 -KO = 6be1341d0493c309ae37a0601067987bc623108365588971bccad48290bf0eed141d9ee086bfe48b245c1e0219d754c17a90acb7c1495cb98bae32db090201e524f66e28782be63559ad019d6da6679eadbf2fa9399c49b884a8c25cfa30e768c73ccdb782ff07ba9a8385128c8739f5de49f67d58f9431f835f14a104bf21555268ad1df9bfdbe8826ff73ee013c130ee2105b4bcf1f44751eec05104f10aa36319943f7e4dd74a22b21ddd1db5a8ad715a848faf6762a74d15c013e6c889e3ab0739f457658821266177b6f0df0073eb0f827d9834be2a715fe60c3ed1eb671c67951c7a1917059d0acfc73e6e59dca6ec8d6d1fe08636051f5f940d8f8ee0 - -COUNT=16 -L = 2048 -KI = 64095d426178a435235bf2ac6d70d92328c9a70ea10197702ddee9d0d2f5781dc394f0d12a733f8c004393c26cbc5dcd -FixedInputDataByteLen = 51 -FixedInputData = 00def9458b09497241d5ebf58702e9b807a2486ce095748e1e6ac3f6706b4fc593cd05677c1ca1831ea659d2a1ab85612a596c -KO = be66323767bdb4c0bc24e9c9994590b63b76f428ab0dacc89eabce062bf8ba6593e0ab698ab31b0fa92572224d95851342d6359266f61cc327023091ce770c178369a27a18667fe137feaa3058fa412d025e18f3d27688369822734e3fa34038fa62ea413261b37e6d11078f00cff3ba0fb61ff4c6383c4f73e5bdf4c71318cfcb45587a99070dd0174de07da840543053141bcf05351b83c9d43ded08dd3bcb05db6cea7e208f5369ab12528436cc6ef21027e4ec3efc30cc8c01b9a3716dd4b0dd38c29b36950ae03a1d774f03d8b0755b3dc17d74a6b1179c78e1244d4d6592b72b32a7f183cbffce44294625ac67853f870f087554e4ba56f6d54db0102b - -COUNT=17 -L = 2048 -KI = 9cdc5e6091be1b2cb03788327f45f646e68bc3b0f4e7a05e3d188885f8e7e96a00fac76b1e593d78b7d3b1aa581becf4 -FixedInputDataByteLen = 51 -FixedInputData = c55393879086c5dbd9876ff02038c6456463441d50e5f9af526b7d5b5239aa2b7e4fca455e663d3ca9485369c82062a0b210bf -KO = f0f7d474328de98e59707c60c49cd4d2a37dfa62d02511e36c07dd65bd8537540fd9dfa0173c5b0e5080b45a77f0c0ecc735b4e4e22b3d6e5aff084de76230d660c7b14a8c57d19ab9cc816bcf4cbee7fe0641d9df2f0cd06d1dfe9794feb925e3a56f30bdb14708527f4fb459f1ed2d7889f1e0f534f830898c8c988ad640ff3b121e296cd8f5051054e82c9f485dcd304259f8783b5837161cb29bf1573677d5ee274b3b3b702e10d24d8f922255144a5c47ff73b29c4d84acb4b31ab631cce5bea4945d4120cd35e5d6d4ffdbd8462694b62a181ae1d14d3033540ff100efe01279b78fadfbec731e77cbf66f06af2a59ec91b034946e5e45d25334ef0afe - -COUNT=18 -L = 2048 -KI = 1e5cacf326fa83921593956c013b1ac0624e1c27abd92de8fd97f5d0d34cdc9bbf533d26a911549ce46cf897cb2494eb -FixedInputDataByteLen = 51 -FixedInputData = 0415f2fa95b352f52e127ea90125344195cb0a7c94844531bd21238297c867c6be01ba3d6637f1aeaf5c619684837094cc150a -KO = 0101f52f975f45bd67f2f8a417a90aceb8974bfa65814a7383a86efeacee668fed04cae2f201450e001932a5915f4af4c77bd4d26ac5a4ad3e05d73ff44cc9874bc52100249c3b09155aaf9a4d8e28177400e006f31e3d2e205171e27ecfc49e5d5347865cb826eb3852be08b58182e8d87f837f6da5317ad20377cca2c77c3d4ed254bfec97cbe9bbf33d733372194fa928498f61bcde75f51d5dd9d4945251a3a54c284b52f4f5c2ed4a4e5d5205913bb4dbc9a2b7830a92fd7d7357283c43ac1a79e38edc06b063ee738253feff2c35597fcfb0f2fc2e5e9927031aa17c9325d98f2394f96ad19dbd2fecf58412a6ea807520875b70728b961e7b3395d10f - -COUNT=19 -L = 2048 -KI = 4411b5260b17284942edcce6fa6c9e1355dff90592a08deef3f5a86b510e0c88a3a7bb2e575cfa8080e48c704916dadb -FixedInputDataByteLen = 51 -FixedInputData = 68784fae45e360e5cf4cf57c05bea93d0602238de1562dd5d10092b3f7d5746e2238732cf18858fe1bab941a20ed2241f3788e -KO = aa0c2d93088e4aa6111757673b9a9286c4e95d2df6cb4e1d07672716c7d1f8ccd47b7204ab6e10458fead218f0d77ab6d5a1dfcb8f1db2ca0156473464eb33552a246b51a8690ea1e2f274ae99abaf9f2a0e1844f93a575b2a1d7de663b2410761fbf5cc4dd271a67ad8fdd0b3e2d0c5201ebcb639907936fee21dbd27bb054ae3b397e63775c6f08f545a3678cf86744c6eb2f02932eb13a42e924e7406f814c804c66bf5e1ed885c3d1055cd30b68d4d4bb5b92e53af3ffc6862000b442b72f4d494aa6e25d9722877b8e8a4d3eeb48e3a58e3f3aa15b079618b850d1fa8748445dcdbf91521f6c239ef74527ea3ac964eb7e81c0a9d7d34d45182c757a763 - -COUNT=20 -L = 560 -KI = a0a41f34c319689e4cf6a7e3452e12b974826375dfbfeb88f7be798b4156917e5c6fa671b6112236b9424a982e1af7b9 -FixedInputDataByteLen = 51 -FixedInputData = 1440210b4cf38cf5505c52f32995022a54c10de5e74aa40a54394959bd588d25d4fa5ad9437db159d1e550a759373fe9b1bdc9 -KO = 3f25b5a798f769fc735ed2dd96497d88abb6050607fdc2712308719fccc00a2dffefbe1443359e60075c4ec3c24b0e1d16aff7540345d302b3207f5171b3205f2bb089c6e218 - -COUNT=21 -L = 560 -KI = 41d3c9ba3d8a3e9ff734d1814acdd29a18d998c5aefc935fc0b33fb9ab94f393ce25c5bedebdb13198d4cbf3a637897c -FixedInputDataByteLen = 51 -FixedInputData = c738ebceaa4f10182176c1b1c5c03f34d661afc910c61df1edfa12fc2ba625e92edc48505e16708dd7f4c0b92f995a6e671084 -KO = 08176fffa2781dc42f2ba43eafcfd1f06570295fbeaac367d2257b2c1da8efcff529cda2fe5c49423b145fe2ad73a4ce090614b5e732f63b859037007ba354350b2bdf4678d7 - -COUNT=22 -L = 560 -KI = 380fd39b6016c1a940be472b349b30b46e733fdbd856b433b9bacaaa266c579f6ff594b117ce2412e3807197bb10feb2 -FixedInputDataByteLen = 51 -FixedInputData = 998e8bf0d1fef77b1c56366be3054b5187e7f08904729fb8cdd0d9a67322d6796d77d282dd4be9fa490685bbd642baf9a6c843 -KO = c7830f604cbad79a0059a3c6d7c5065145b6727819b99043dd7960fb2a966f43275668975e06904e151f809d32e5d2c53c6ac5ec2c7e7937e42f5a133a78fbfd4877143bcf22 - -COUNT=23 -L = 560 -KI = 14d454b9ed57f84e829e9e385d3285fbc6f56be508b17a2471c264e64d4b94e4bed0221d6a5451803a83322071fc9f12 -FixedInputDataByteLen = 51 -FixedInputData = 5174aa49324c9d8daebdf40dae7147a7d96faed163392102cc7815941cc6e3d15b63b9b6688acdb147acde8104a507102fb9c7 -KO = 915f3225058f03ec26c8d2226eb436b4ea38906d271c596f2d80700567e6c8df52c629d384005adc2087e502b2019312098f129671822aba28ccd94af12df728deacd7e9d498 - -COUNT=24 -L = 560 -KI = 41dc0aa95a28f7c52d3d7e66b15eaff110ddd9dbaf8fe421cf297557865739f000626a5cfe55e216e1bd36a842f6dae5 -FixedInputDataByteLen = 51 -FixedInputData = 1de83d183bc89af8bf026a25cae9716177636bb2274696c5b210b5874ae6086d7cd28d98d59688df314623d2fadcacc7e60a02 -KO = 8e05ecc375d88e00883e4f6a809bea57df218cf4b11978a999880ef04ed8acabbabb8f9cfafa22322494d37b0058436c69bdb30c52d9444d8eb20ac0f4ea0c3f37b82b05a44f - -COUNT=25 -L = 560 -KI = 9fba5e136c3860714190ae0edc8a81e55e0e33a19b8d9d05bd8e3962b9da86341d3ab7eba48d8a137fc35a384e4593eb -FixedInputDataByteLen = 51 -FixedInputData = 0a083f34d19e6ee71103c9616b5a3640d262f03777389eeafd2481d71dd0906f3b861b43680e8ca07210cc8cd93dd8e38e7e04 -KO = 60d870b0820093c947ee1ea3446784a80ada6a918ed43e622417a2671a395cfaa4500bb37016ed7d1f8f3ac8bcfdd4776b4f6abb3b66c077f27968ce37ab47305dc8847d899d - -COUNT=26 -L = 560 -KI = ff9d6891e15354eca58cf5a8f9e9ba0d7c5437bda442c91ffb630cd4c9848af82c0f28d8b276e0bbac38d30470ba5259 -FixedInputDataByteLen = 51 -FixedInputData = 03c9fcd643524985005ce0e28eb20514f1b6fe10736330bdb0f09d33f65aa9add381e8d3080f13be9ffcecd1aae96f1b324d7a -KO = 054d2a249f07e0448bc9dd2deefd3424d48943483299416662d8a60144ee1a6dc2a53cccfc9b5a05176d64916a562e6d0f57620d13df1599d284ad2f374cc67a92258611c5f2 - -COUNT=27 -L = 560 -KI = 3f75207282dded923085d9e50faa8835fd38def0d8489077af0e6212294b3ddbb6b06d8bf16d9b3abd74ab20642b5286 -FixedInputDataByteLen = 51 -FixedInputData = 102126d66f478cf683f0605eef1c36bb562b29b78631af7093226b257468f62ed702ada53ec1ec5fba26deb3dd084d9cab37e4 -KO = 484027dfb09d07cb5580e7ff50fb6074c9fedd7df11c2641441794ddf4e0af8de82847b57cfeebe62ee3d421e27b2d857fc925f9c380ff70ec4419425e425a76211b8da05f3e - -COUNT=28 -L = 560 -KI = 1db4fc083b397965409219689fc2f7e047b0731010ad424699821b904c5931d4a3346c7daee808bef5bffd654831d591 -FixedInputDataByteLen = 51 -FixedInputData = b41303498522d6332b9e560d92b8eca6725acf4a867705b68d4dff7f054ab39d8fea7b70b287bbd3695850b99ac8db4850827b -KO = 034603b55deb93c69de47414bd92b2b5ca63a55c798091168affe3b07a1868a58f8a0bd8507c5ef706aac4c3e4ec45beded4d4a43ddce725937ef464312472452cc9d4f9c88c - -COUNT=29 -L = 560 -KI = 49fb8a57084b555a23c1544968a2677c0931b36278abf1c3635fefedf64c14fc7fddf0c0b892af59b2c152716b569c03 -FixedInputDataByteLen = 51 -FixedInputData = 452bb8889d44d3bfb54f1081c98f566b0f0f18027423f27cc89a4928d07d874f0bf62d31b8bfe338adb0379b4a3e2f2f9878d9 -KO = f9982bb60270b053b37bcf68f651395d6924e80d3f4d748ffd2ff6cd00ed588574342b9c445fbba5a216262ea0a423d5c6781e6a34d7b8832c00d5383e040d19f67769ce4ca9 - -COUNT=30 -L = 1600 -KI = ac90adda2fa81cf685fba49e9be129c43ddfcabce9ab4a9324614422c3f0a2e7f23bce456f083ff796b916ec4f908627 -FixedInputDataByteLen = 51 -FixedInputData = 39a3926a42018fc94fba2d1c5dea8d2ecd22bc6479e542773c34a7933b515cb705a03cbb72917e87dbea67c7d61b5773488b87 -KO = 66f46e947c9412d8c235169e9a17e3f6fd9dce22786167ab58fab2912d6b3193cb3ce9918e6fdbe8f3c64a4a0f99202c1a8700baa40d483be48902df176d61e162f2fe73dadef891345836cb1b1940642c499083ca6c85bb046c6e96d6daeb482794bddca9480dba966ba9da63c671cd585192d23c6e7509bf33e1faf6c83163c3f877fa8f21f985a9ccf09d3278753f19f2d7758fcb16089df8b877b368d6157c071b5563e3f48fa0a871b9e8ea67cfe562c4685fffe9c24d7c59207579242e4e966a195f44e293 - -COUNT=31 -L = 1600 -KI = ee719ba5e37d859e12a55803bdc394c0fd05a73fc431ae109adfa24f6de4eb75d7b1b2324dd6c8ef9863b14b89ee207f -FixedInputDataByteLen = 51 -FixedInputData = 1134039f93023c29ebdb05d8e3f7c640f57f47ba894094e9c6771fa9fc46dc1b5445c974838297d20223a3f4b6aaaafb83ada2 -KO = e18bbc5e46597e1d34f9de637076a237f4ced44d45dad2c4603c41422a869628058bea2133716d770fd0a90aa17e412a9fcaac352d41227fc39970275a80751698c10b1c7ecba5d3e09bf9da3113f46851361afb2e9d7c4963c142f84685d1c1ee5a1f75b79ddc7c4fa19522121765258b99f7f4565e2f1d350b56cb2a210da74487e6bf72cbddcfe286ae0ce64fa31e84b685ed14aadce22cba42d1268771b8f81a25eba3e635598febd5c1cbcc52f3741c5af8fa3a5d11d8a1f65210a4715629bedaea8ebe01ac - -COUNT=32 -L = 1600 -KI = a768477e2e6896470a6ca63f91df396abb0db5dfdc6c6f56adc2350916b7c6be6b1a7ad7bf898091ef36b79350a0ae27 -FixedInputDataByteLen = 51 -FixedInputData = c1d48d0a3d0cee6b6664a74be01250858465020135e43a670b10150581998f1772cfc1bd248045a1d41cf1f1cc6f196893c5b9 -KO = ee07a0a72b5e51019636ee8428b32e74c3c6acb48b0a702f9d3b7dc535acabebea8c6abd11c85d52e523a779ed66b1e7852650257bda4e83f0a80937590e130e4d481152ff982418db294901d66b7b2c818f96272e65556e9fc71b3c29eb8cb28f10ab4c3a300d0d5783ba2ddcf9bea5772d55012dc041c9df97982e3f3b0a9b8de652f8d581a8327e5da9ed2c03745c317919607568f7c2b64b46aa24e74af51f39e9873d17739ebba6d306961b601c7a25f5510428ba07059effa70bb1cbee8634b2fdae56c3ab - -COUNT=33 -L = 1600 -KI = 4f875e1daa93c47b14c72b60103770a6f3430227c9c2e6b6536d6a0f3c73c870f1e94af3f3ac135d18668ed5b7d43d0c -FixedInputDataByteLen = 51 -FixedInputData = a74924dc82ba79c16073f26ff838a4c81b2ccd76b09b8c803d5972fe07452a8038370bfe198fff3f6a406c4202cfb195d5451b -KO = 1793f6126ed72e3fefedefc11c74a7700cc7b59ae5cb0dca5e927ea444bbb7752600f919f0df5321747914dee98722b992558c8aed89ec05025b7c7a211f983b3b9adb38297a23c45d428b6a94504ea05593733301185b77e3f5d1a16425522c63bbe6ac94a3a31124c90f481d5f003bc23879374d8db19728925e107ae24b76cb3aa29384a485b0d54cd41a88c5774baff53d55a6f1df3831e1b09d5fb76e212e2580637a5aab8f44fb0a52a7a41d8e8541947b5985bc4d85002121f8dc914c5876f580ffa77877 - -COUNT=34 -L = 1600 -KI = 4d58541ae90d77f87f4060e97290517134efb703c08d2ecb626c8db25c95063ff831e75d962d5fe3f4b099d416c3b114 -FixedInputDataByteLen = 51 -FixedInputData = 5e89865a07bfed06f1cad3a7b1c21a29aca1ec2a6a724d84fb265dd77f3f8f3e3d06e64c56fd525adedca4b554eb6c8728df0f -KO = 467b0af77a6baefca2642aaf4934b238731458da7f3a950d2d9c02471fd912eaad570bcae70daab731317ef3319e8ff7d45e3de737f9bb645ae26774f6c74a1068df86d2bb4caf93afa1765a795ade915759b8bc6c6d9ce8a15245d114fe85ab9869a9943d6a136bef4721695f2e76027649dd62d5e37ea1ccf933a9c8745012910c6f5e94f9ac9371f32be30d32b321bf9f89ea34c3e6190a26f400449349a9ac180ec069cf88b740b2c734f5f7d754f45a09f0085b862137338531687de8b3c22d141ff337ea42 - -COUNT=35 -L = 1600 -KI = aac590bd8d97be419dcd40a22c2bf9b041ad33e386df0cf1f1198af281fe883b2e0354904ec2d39615e2f726cc45caba -FixedInputDataByteLen = 51 -FixedInputData = 626ca91267af6e38544c51340ab63d5b976730acd50330e2153f77df6296cf97603e1d251055fcace8b8e0a3bcef36915161db -KO = 14d6cb2e235d2cd5925114301b548a4693c0de4d5c0960f59de7106d204473a439ca9b7fd93c4e73b9c7ea1ff8fbdc1ebf6bc25ea1d5312d3d255756b80bed8f83ceea2f2c72bbd7cf0b28c9e35859ee2a9ef54763ef53a3aa5ccdd08004afecbb1ffdf95d0e3b5836b06a85fdff5dfc9a87825b08731e8fa3b1eb3f95398b857e1588cfdb48ce0838f3181c7ce4304404d81ca175e2880ccd3bbf192c8bb405f1eb6997fc2a72ff74a28489f6332ba80103ba78609bae7af0862771c69794aa2f973f94b8c35743 - -COUNT=36 -L = 1600 -KI = 495c62bb6fe1eb63d348f14b73d66c5bcd5438906f08a4d02f2a494f735fcb785b393cd41475ebd544d8a0ad7178fb90 -FixedInputDataByteLen = 51 -FixedInputData = c06219af86fdac973a3e56e3290b2728564a883d479d28f95b56f7f1c46699e2d70cd913948d86e46d73284c5415a4902fbcaa -KO = b44daeb2aa3e564761e52be87d9c82905a4b01c4b8e5eb8c77a3be5ac6da52ae32971a084a6c8d90b3b60436fec2a7df1b868fc869342bb1a5547b5e39a8f6e62ed26f9313526d72d3533c00d24925def809bfda7efad88366defcf13cbe458914d63c9603b0a3cc59d8aae83654193826ddc560bd8d82f351fcdb5b61384e875bbf018255cdc96155b4dfcd11de2ce1d7dbd63c988943ad4caab76ee6747fc5b2bed3298a7e401c4a36dafe311517cd978f645c11c9829da05814f2cb0ef17806064b8b2c5d8112 - -COUNT=37 -L = 1600 -KI = 49375acf5cc2f356230b391eac29fcfe0584e8e4a6c85d036df9081121cabc74e364c8a20192612502cda8fbcb921295 -FixedInputDataByteLen = 51 -FixedInputData = adb8f1b063da92baa1bbe4037497c209c62a0fff6f68593f7d8535e87b70dcb31baf6ff6799f5e3da54c195c64a7f957f91675 -KO = 23e34678dacd3c2522eeffcb25a3d37b17748137aee370760c86d2395331e56e860549798c5f64e5996a0f54bc189c6a04f8a7965a98fd56621208bff5acc3f94a47c5121c5ef2f4857e79a93c2203b0d3b1e1518bc14571ebc5291a07573fc45567eb0ef80b202c3b36c11c109aa02cc50b5909bea39a88d8834f80fba4f4daf6d2b5c0e0d3350cbf29aee252c9b844dc7969acf20b9b0609387aa3bcb55d3434a28dd565956095293e5440aa1c67f283c137c82d5541fd69077f66fdc1f75001f01332d8a9bba3 - -COUNT=38 -L = 1600 -KI = f2d68b981e65463a87d2e3da3ae3e610a99a8a7de50cfbf3180cfac0cef70634fb2faaaf73845e688a963fea28878528 -FixedInputDataByteLen = 51 -FixedInputData = 4332e52fd28eb2505698ddc48fe0314920a46d1e56cb3acabc08881d60577917f5bf79675063bc4598acbe6f3feb210e07406c -KO = b8fdc3c6e8552229bf40a11e56aec4216c51a25df6a21b3eec48b1bc394ba37d8887f8515b4c25813141498d0c5c1fb2801d4ee71262c18949f249667dc24148ae2d2b54b73d3911386e79c61c94208a043829c83ece8848524d3e8ae6ab4513cd6a73fa9ddfccdf8dcafa97e47e5a1114a8ec4e14c24580c8e9d55ccd9430e19be637a1a0267e5df1130d9b6a41e4a57907155d63f46f6a09138a55b606f75ac79e8ee413a7038e59dbd05e86ec4c0e1475c47e688f88c02adff6c89b75bb7f84149abcfac6fdb6 - -COUNT=39 -L = 1600 -KI = 896a86fd09433df244493f0d139f9add07bfe374c61449fae832eb3aae975d1ed7fa8f0bad0dfcb05aafe9ca7094ecdf -FixedInputDataByteLen = 51 -FixedInputData = b2fbc5f09c61147e81e862206defbd6b0db8e3f83433e46223bd55b570612676c553221ec76912b7985eccb41154f1f43b7414 -KO = b8bd34931be83f2c51517ea84ee12b6d6a33c2a626ad7f9cf429564ddcd9c60f3f814a876ef6a29b6c93cad78e7d279964f66c4e886fcf5f2f3fc190087f90a7e16b9783eb2b985c68d522d65f9c057c234d1ac3ce089c12c00bb8a7ffec8b0b5555ce517e62e4d73b7a0de6b4f662600064a0a34e4bf1a0de0d2d7b81c67e71f288eb2a4f0eef98fe1656d687282fdca8c89f054f81f31d284fd6458a64eaa73a1f00f18fe49684b8e160a366fc7e4bd4426d604a6d3f39cad9a65c3fa430588dda3bba53735be5 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 38404e4fcde8ce60c41f2b899bcb8914ebfc30f2d837997217fd1851f29c02dd6d6a3ec8f2ff0eb5192bec0aa2029ff9cdc2dc9b2213978b8ba519c8230b8c12 -FixedInputDataByteLen = 51 -FixedInputData = 389c5be734c952c6dda4ecf149b805469f9d4d4cb88684ec05cac1634fac730d2155625b22908b4c2b6567c17af8a7e576afba -KO = 99d6b29857a56ca4c99cb9c592de6dc057234999f3082f85eb683243818ea6ccd5215e5690251c86437645983b1792dc2bf10b5fbe2d1f062d6cbce2673c10c2 - -COUNT=1 -L = 512 -KI = 01b2418d9c35dbd59f5e04a3dfec87d4c23c32e0f747dda20746d0b69a801e7f92e79c74ff5af7958812ec40dedf2484b5bb8a7e31ee3f7ddff1848de79651c6 -FixedInputDataByteLen = 51 -FixedInputData = 40280b2f90a408bfa3eae56de842534d36fcddc903e7a6ca499170a63056c1898e74804164b08776c5933051ce79500f2725a7 -KO = 05c19605e4037429a3f7b2090fb8417a03f34c811d8373c3b25833805ed519cbc354b9d1f15f97d7b0c86b3df1913f7e67471985eb4c9004b45188c5abeb7e64 - -COUNT=2 -L = 512 -KI = 220b260358f91c76b5c497a1254473e863efa4a1ff0346013488daf36e70b0520076c6e872a393237c7046cb9d34d4f4b905f27575ea37503e08426edd4969d9 -FixedInputDataByteLen = 51 -FixedInputData = b2e39fe4ee76b7f48efeda47ebcd15a869334fb7a7796b830e05f86b113b7ce2721970d08e43e4fbe30b46e384bfd645209b8d -KO = 92148fb047508cea818d0cfc5dfd36773b2f6f16bd937056bf68e3dc5aa63c48833cd317257ee5f7c8b6e68c28c5b547e86ce686a1428a83aa4b8189eebf40dd - -COUNT=3 -L = 512 -KI = 22354f08dc093c72b76398912eae57272185a3979f19a7d60d895e05c43f2fa5a129bc2e57ede360ae46ddabefb2560db4e0dade320d710e308d61a1c6b7c630 -FixedInputDataByteLen = 51 -FixedInputData = f6c5f4f15b0d13d54f84242a18852325a4a3112b2d0f70220541155363a60d905ab8c98211ade8f2ec981e977e8edbc0883375 -KO = 23a5b761b50507d20d6c2f8e078da3c03398eecb9564cd77b56184da67afadb491bf831dd3cee18b5d957c16bf0c82790eb660493fac22dcb92be37a9642a919 - -COUNT=4 -L = 512 -KI = 377b8589abe583114a1d939951ed1f317b3186e79807a515e26c7bef91fdada6044554ddcced15977814adb8b9e4f448717610296ef6852c7358c382f9835006 -FixedInputDataByteLen = 51 -FixedInputData = 8fb383d22df10a3f467e3dc69717f7cf9838fa05ee896ecbabaed404b4fa0c28e7b07641ed64b37f24667bf68ca84e5b73f002 -KO = af0095249d4d1eb759d2f6a25ea91ea8db15d66fc5bcda4108ab44009aef097eef119065f6d7ff4a0a4069c895216d7fc161deb1571d6bdb00e323da34715ee1 - -COUNT=5 -L = 512 -KI = e8fe608d18be24c2091cd34e923992b82573537349bcbeac906d2bf4dffcce887a49c035e77889d9e06642bc5774b09e67dfb63b0e1810aa428ed6b0750e024e -FixedInputDataByteLen = 51 -FixedInputData = a35bb95ea33f15150cd1314ba4ff6b565ac5bc00fdc613f9c94736daf97fdc2933cb547decebf9dce8f551a7a91bbb32b58199 -KO = 163e38d1acf5ed126d85cbde5c41e6a14f4e9be76e6a88abaedef28ae9945e79fe695fbb4a5aa7f44cfbd890e3259decbfb78f02261c8bd26a903170992ad62d - -COUNT=6 -L = 512 -KI = 22a7919f9b69795aefeb1f5a2687a64ccaa237f8699873530948a4d1bc9628341695760d2934354eb88cfbd04f7bd475c081bac438c24d918bdae56cecfea3e6 -FixedInputDataByteLen = 51 -FixedInputData = 6ae4de12f0691696157862b22f56dbc379408b007678a96d3a4368a61317a381932ad418d11955afae61564786aab128fcbdfd -KO = d35a409aba5c1c615b48c61983aa593c04733622e051aa78d0d533253b6ecf3962ef4cfc8070db858bef1d2a73a0479cd66b146fc199279d24de1909f504313a - -COUNT=7 -L = 512 -KI = a38d84079a349bab69ab7e5e09454c67de532b7544050e6b87498cad11fdbeb2bc415e70cb2a1d7d825f42eea100382f38a378152c81c2114762e1f1055a0842 -FixedInputDataByteLen = 51 -FixedInputData = 710117b6d3abdf8122e4c802ee885d2e53af0a331c86cfbde9d9b806c31d8fc78728970d3af5f15a75f81bf2a2f4e0fcfcfa2b -KO = c1e3243abb2da29605bab07ac83b4ee75a017b0ab5814c54df4c6943d7390d624c55778b1e3aa8e26d62a258a3c71e271f8798771c17740f1462bf5a85bd6c9e - -COUNT=8 -L = 512 -KI = 6600cef309075194c4c53ac8590b76a2405f31f24814aa016d2e04ec9ea3b6c4f8ca413bfcdb62fa3df4befe5ac184afd89056b54350c6684abef8c87abd0449 -FixedInputDataByteLen = 51 -FixedInputData = cee43615ae488654a2ad15e69d8231a2b5484f931ff84fc5968968ed4d5d3cf4a7d2214bb6514d64b702dafb419cd796bae25f -KO = 09faade5eb8aeaae2d7f9b50982fac41d7fc924358b0f4f90d5661ad8eef646646716b027d295f2eaaf597530f3fc2f8d9be9e94e6694e70384b7782f9b6ef2b - -COUNT=9 -L = 512 -KI = 23748af475567701305ca05b87c16357891a4ab581456531cc4d0930a0116b33cbe673000a59c4f506e7caaaeb212690a2063a10a44559a33eee46b98f2d72da -FixedInputDataByteLen = 51 -FixedInputData = 1f8cab5a40b0a5a441e4105ce3bece1e415e996b6ca0ce9cd116fac6600c2246736c8c4eff6bd05ec142df4d8bb23b8eb898d6 -KO = 7000e85199bd765d7ad63c4a301c91e08c2c90b53ae8bad2b8847629fb4fbfccdc8f86e6323d11400434b0b2f7e046988fe545a34e61461d4c51c67462a424c2 - -COUNT=10 -L = 2048 -KI = 06145c837cedd8b3e66954e80f5befca7f763fa02c959e2edec52d05cc95fa072d20e6977206a48cad2776b8125394c3edab1938346ce88930b5d503130e3459 -FixedInputDataByteLen = 51 -FixedInputData = 677746e42537258b8ee872a7cb1faff1f28d994b0a2700e475ada0201b63b87b093553f272a9cb9c58f1908337cff52741595e -KO = 968a90e1090d4841973b07c97d818876d71a9947206778dceb1ebea96eec08890ef26b6ec0560dd7bf7fc4b839a3a95308c3d7a063ef25a07a502cbbec14b97836984f2b61e5132b34b3845634351d49c1954ffa75f12f5a5c29b578e889dcb94ba0338c7c6d97871411845d3f602133467f7d15fa53202bc8dec4329fcd1d76a9a23a1b5d72300ba5eaca5d52bd6673db5af6c8d279057ba193f09b374af470dd31f99ffac6d5405ca370c7321e81bd57bbab280a13385eae80608cdd52a3fd8b8e4a8c50e102aee8b8fe42b03661c81f5e54d9de08c348fcdf7a6a8ee35dc7f9971469602b048e7f15494f12f1af0ec68300cfb3761acb94f287ad9a18e75f - -COUNT=11 -L = 2048 -KI = 1e3b338730f55ab92e9b48dcd38fef43209f38abade2d61ffa634775cd97fe037a679232a0d0cb4a7598e3fe9114e5a21bf979453e05f59e9f6c6435aa9635ea -FixedInputDataByteLen = 51 -FixedInputData = d88bfa7579afe085df80d0a3fd150a42156ec4f10b2f0514271325783b1daab91b2af7efb2ae7a3dcd63b454ade861c24d3d29 -KO = 2bfd9ce1ae686bf856c27cf0593259d6d6acfcb822017b1162755768e889a35593211c3e4f9ec18b104155708b63ff57d1dfc3b9cfdd464109f9db1219777fdf2eff65e1efd8ef82aff5d4dd5f56606b3dc964d18ba7782fbb8cad3864d878e6e55038ce9cbd79946a8b151d7547b7be7a32f27e9762f52df691dc86871c9efece6c1574c1215ef5fea2bd34e7f6dffe8aaa97e758047817a9433087b00c39bb78c8a785a9b9dd478de6a14e56370389423d7577a2d06a5e24ef86868764ccdd2fa459fcea01c3e7e33ea1aa64b43feba1479cfe9a952695d42432a63e258a995095018445a0e7105892c779a9f11beed912e4baedbb3e33fe715df17ba20f28 - -COUNT=12 -L = 2048 -KI = 3f58fca2b0a31c78c105c26cb3902ebeedb5fb9a179cc0d680b4c5d13af0fdfaaebf4d55c3b73cd9688cb61d8dddfe120fea3c4f60fedc3fd3b517cdc0e4b0cf -FixedInputDataByteLen = 51 -FixedInputData = bf800f2698f30b4fea3bd1c061e768fa58af616e546cb07337bd37f3763d4ce6ad1299fcf80989cadbd748f686e7edc284c809 -KO = b779b87f193b56cb9801cb85f2e3b0647d3cdef038c1ce45c9d24ca96e5f14350834d5523a82ddea361920ab326d2152d4788b30eea1e33228ec8c9433ab09ddaa753969f6a1845e5fd8e32d6840be6e004528f7b3c9413da70bd07a4fa3209778e716a1d17884c759cb6e6af2239aac51e9d15258b65141fd2a033b7bc5b59f6448333a70ad9aa29f283f5a1836954a555cc81a899092698cb5233097832f23c39c53a90007e864c8302c941cbe54f4141e8ab48fcd027ab111f18bbc006cb13d205555fc8958c3c3bd5ea8dc16f3b6bd76f16aa473a8cb348c4e6b7b015548860b62ac67c770e4b8e7199ce7614f6dce95b83a5a38ad8069152be3dc331cef - -COUNT=13 -L = 2048 -KI = e217cd57df2c5b6bb27069b048413d60b4aff5dbbcaefb3ceb7e584120fc56b32f13104d2c99657e73fa489f7ebeba3908274e8eaad128ce1a7aba55e77e0bfd -FixedInputDataByteLen = 51 -FixedInputData = f0189be82a01a71abb756a669e682bff5aaa9603861d9ef37796a9a833d2349db45db9b51629ed4e67ae0c2a26ab594a686ca0 -KO = 493d67f04bce18237d853ad5760d035ca7c5acaf75caaa37b991e7ab4c15187297fb107b40b8d40bf0e353fb74b91da4db91cf0249e4096e6b2d51be883162400802af73a09291a288c440f38ac148b4de595676a52a2d0558df21f7bc0b60bb8c9abd5590463a14df8d27958c7c1a367494f1bf95998eabb632f40cc1f16496d103b7f75251c9691042e508cf355ad17a6070afe5999d2ebfe9b88a4f3d1ba5be2e60686bf03376564197387efb9295419833c733db3ea9f4a3c74f8f4d6ef53c1bb4bb73be44fcbbd9efae7ba0009dd3bd819b78f0caf44c9a8b9efb9f53c6426fbe82c05bddb9e76fc72c704875ec19b689d729a8c549a880571206466d9f - -COUNT=14 -L = 2048 -KI = 43ceaf22ba34e945093a6c7b3265610d788ccc9245a060839aeaa6cc505f84ab059062882c29bc64f42c44d4ed1f9f05e7aaf5b5c81d0f2d4ad8c70c288c27f2 -FixedInputDataByteLen = 51 -FixedInputData = 8aeb64511f0271d4ac2219fb1b4aaac9c194bc9aade4aebb46efdc6dd3a13f444aef01f05efb69bf0e98af79bbeaf993ff64de -KO = 11e0431e86dd1b2b4347b504212c7db4c3eba0092ef81f05dac530316dc7e217d82fde011938a2f83de67ac8e3701b228c672ff56763532be0c21a940985dc48a65f2b5ea557b4d613cbe712a9abf58f167b6c9dbcb7635790eaa4dc9897d49a94308816a59866f693f5f2b02a3768edf351ef53e31dfc1287a4c47d5a2dabf0019eec55f6e6aec342105f3285417446bc853627831bdba72299f2d6787dbca39f70994f00c0b439796c11329642a91e229248ec1d9c86d32779134160cb7b8aa250e9fb3f99cf4cb635b83d958e378521b09fd3db3bde9f2f4790090afbad059c783e81c2ce0d7e2cbe05ffe5f7cc33e0e433a1a1b30338a0105f60250a300d - -COUNT=15 -L = 2048 -KI = 607714b04cbc65813be8542b2da0ba73407340638316d4b4b851d744afcc552e82b62247703895843db2f7e5b500681a819adb52dbcac4451c5b15c3df0b03f2 -FixedInputDataByteLen = 51 -FixedInputData = e77ad07b4ea866dda66e201175e8e0bff35e1df0e6d196ab39313287054641db4863dd95ee1a3817b7b324e22c72981ea8cbcd -KO = dadacb5936d53fd3d156e2bf4303883d859757de64f66e567453d35323256ef34d7e531ef9b438fa2d77adceae703419243b6fee4c5b6bb54733df8bdc42eb76b2a6013463c385666f31b057f03cb3448bed99b3b59f5e7a36d9fb7a3ec94b5b9c09f39228c50bc0cfac642aa518fb9f29f1d35bc7e475fc4904f675dd01b4cb5d5b8dd6e5056514b78269ee7113d95e55e4a64c848b1292ee09596d79880cffb8107b5ff24c16ee4de6a0211726f96050042b3993aeee79340632735f6bfa63fc4eeb4f097e9674e27e95161345649143ebd235f2ca3eb5446c32b514b79b0d64cbc0ff1a6fc559a37eca7b9208b704cc611120b8592243291ad489f91bb32d - -COUNT=16 -L = 2048 -KI = 3771d9d19abbc47fcf880923025e96d590e76da3617dbbe7cceb0be0c23dd585ed769ed662b9e497aa864ba22f3bda953e00ec3f220218871b377124e06dfec3 -FixedInputDataByteLen = 51 -FixedInputData = ed44cc61d4801288348d1f51e264bd75f0a07c59a6492549fc2bfb658177e7286cc263a78f3a90031517a98699c379e216ba5e -KO = ab74fbf55b4a4fb3d0b9453175b401e689a1c90d30eab8ebc7b919fa5eb68f8b36678b3aebe0c90ee4f1d2fb155c6f199d3e4c0ca4baabd42f413843f83f027697ee9fe155cfa91ac16ed4d1c3439b2551b6d1f641da7bc216a3753ceb8e21163d00561ee51fc6a7ea434cd8f50acd1362a394fee0ff80e7ea69384769ef586ae7a73682a000315160e228b163973c93116637508b13cd7164390d0c13955a434de5b628f9389c741d40321522f2ba2197a6af98a323b7a8bd501b3ac25660160537b28f37c97cbccf646c5cda62a4476ff9913f6dc244926ab45e0f463dd3b28b73acd4b448ff9cc6d28ca2032edfecc0d34c982452488b0ae9f5465edcaa4d - -COUNT=17 -L = 2048 -KI = 3e843a4b0814037ba6dcd412fd5ee3b565cfdbed12e259d022579deb804fefc5f90d1f60bfc81815558a80ce6cf69238342e0afad87aac2ae4f264a450bf63fe -FixedInputDataByteLen = 51 -FixedInputData = 8a15691d636c0c3d71b4d759d6617cb612837c032298ec2c7a1b9f78927c1ed5bd262f92afc9b720028b7aa24b9f4598d566a8 -KO = a0129b4ef78b7f28b9d5c113385a64e8223889e75831778b4311a8e2eb8894018b6242c00427e0d86837675ffef4f736fd3da56a096d715b80442872a590b94a6b65baa5299cf4615e0556fa5ed3fa8a6d14723a15dab5e02f5a26ad4a344088e226cdf8baa58c726b6714bb62dcca82a48a65ad89f1545e5fa9e3f8e125893c0eff4e2bd63215a133d6ea2c1dd9ff498d057b343eddf415b4ab22b4dab501714986b7f4f69c1d5f52eb9b8c8055533d78f3ae402eb8799694a6bc94c3ed548214e9d99ee40eb8b7fce968d3c761c9ce04cf30ff09cfd43c2c8628ca7baef452b2eb4fabf07d8c6a99d534e8656f3b5570426251a33f9860e5f2c9c3155f25fd - -COUNT=18 -L = 2048 -KI = 1e45170431890fd5fbc9881aa82d696ec01f983c165632698bf54b3b830be7ea4b86a6f99d5c62020b1eb8ea82d2bf8e8ee8091811a85046b774adf2b222ead3 -FixedInputDataByteLen = 51 -FixedInputData = ea9295abd4f11cb539a44a7a407d00d9a0db16aa79a19ba5bebdec3d086f1d613b2ae1f22b1668fcdf7e36492b217502ec51e0 -KO = e39facb6985589e49fca09552aa35ef95b4fc0fb64f39b8dcdb298b1b0f7d65eee004f30e2064b519154e12427e76903717dabe440850e0fb98bcf203c07409c56b74446fcc481362498bec3ac4cc11447438a654212d2ab1020fd9949cfe76c529768700d5781866bd7f86ac09bda4fe2b2ec08606162bd72ad3c3571de9ea9820d7e8619cb890a74b9f416a97759a79123ac3ea806aa63fa2c1b5a7d291de3522bf51d58438512984734643aeb844e88302499b7da945d59bd011d656f46cc4103a9e3913449a0c805d7da9c93770a70d1fbe304076a9ddf495530570c162bc0cfeaba4ebf83f71ef2c5ed1ff991bcd73f5655ab03f8b7a8558f20a8b25979 - -COUNT=19 -L = 2048 -KI = 8f4c495949d9b0c15c38a3fa74aaeb1297bfe4ae189cfcad2780fa6d62b429de853623caa856aefcc41aad199942a2b8f0398d4011e35ee2eee9bbd4769f4c89 -FixedInputDataByteLen = 51 -FixedInputData = 2f3658d150e32566c6fb238d16c634b213f0e30d46974f6c0775f26fc52e1e962eb7bc5c4992d203696a46ddd35b89e233f0de -KO = 84e2df4854fa62a3c68c9bf2de51b2a3d84ed71b38f6c3e01b2659711f5bd392ab71629d0e1c5b6b9f3432169f6b69c08bf38d4d63e2963211d88bc30b1e194ab3ad24b3b3099f9da13ec4a7a7f542548ea8f6dbd9282a3cc1ea50982d107910e343e9a236fa7ca6157d26cb6ab1a1b02b8fe2683dc99d7e2321e9762da27c0712280923096e6bedc46cbea78e1dbb02ef2f1de00f2dc32880d4437bf7c78c5f16fcdda754a254b546ac8c50b2f095b9c389e3e0f720261e9748148ee3a4f098d82b8a1c2a486a95f780e81cb8e0b0e7f6205d4f8b272dcad08110a75569a1b85dd353565f24afceb22556057271fb1c63051498860f3f58febc7ee5705ab44d - -COUNT=20 -L = 560 -KI = b8aca55ee3603d1a5963a6296d0caffd841a78af93949aab9992fea0aa81c5bd294e684c05b7b7b1a1e1afc7dfe93b7815cfcfc243ea02d7fd4525ac8cdaf443 -FixedInputDataByteLen = 51 -FixedInputData = 309e68c27e0c94604e6dae83e30e39cecf53c5f7016fb30d6ee87bc6976d40a5384ecfbf5160e4fef65ae8a0b6481d35415efe -KO = d5f37f89cc354d2156e931bc6294d328d64ceec4c0967eefa4a28d044209d734b89b8df90867acdbee7ba688ecbba6b8cc72315cca8b902e2c342a9d21c91481eed7134fad4e - -COUNT=21 -L = 560 -KI = b6c219b41e7584115adcf3189c5a3581e467d9972c457d98f02f793fc9b123894fd11811d073d1fc7ed6177b340c13fff64dc6d409468dac91819acdcb023576 -FixedInputDataByteLen = 51 -FixedInputData = 9ddf47e9d3d38b4a5d84ef0ef5a335991b599190df550cf5d490a533ba46cd2523f1c6f7ee21adeb9ad2c3479704fa26ffe990 -KO = 1861dfa4a043653391ebcb16b1f497b9b68afe9f96bfd6b4468186d7fc0eff2260a3c6c0d45dfa4a07885e32d51143bb2e37d475aa4127198b4c1422700eb6ad04aac4e2e821 - -COUNT=22 -L = 560 -KI = fbdfe2895b4efbb7ba9e82c501865642e243a56cf81c4b35eb28defa36e6a9c936b0aafb673f6f48838840ea77e9b2bcd374766c7ff5045c6c36d8d6795baf90 -FixedInputDataByteLen = 51 -FixedInputData = 49fa66528be4b7d88eb016002171e9677c3afe6b3dc1276d34bbbfb228fc590e51372e12d7e3dd9fcb864b53fa11c4e01464e7 -KO = dee5cc48791211c96c7325e5c5442b9a813a88fe108346713c815e7748cf3e83b58f03dc699cb97f7e739923e6f6425a5b467f2e59f319e0b6180ed46040cde4ad338160f537 - -COUNT=23 -L = 560 -KI = 732f8472f42d651edb8c2e9b7b3ba47916538c34f64c07dbd602e00df36acebf7c327a4d70de52f17c94c695ed76e3acd557a992b5b88d3595cfa4e6b7a875b4 -FixedInputDataByteLen = 51 -FixedInputData = 08d95439757210e6ca454d420ba0da4aa8cd8cfeaaba27f7f15c5bd76cfae13eccfc7a37b953090df76d6bc2a1cff1597bc4d5 -KO = f13da10e4c116bf657b0a6699dae0aabf5e9d73982afa9792d85d99f23536f7200bf9f7de64440b1a7f94ee99636f1c706ce536a8f96cdf22c93ed879dde2f2ade0394fa197e - -COUNT=24 -L = 560 -KI = b7d1950f99159ea3edf1079c5eb03408bd0e783abff3830eb878bfa46c6eccb76c99948284e7c669a44bf86a7dbdf9e79c4e9a0dc3975e1c427bd86c617d2127 -FixedInputDataByteLen = 51 -FixedInputData = 5ad90f678167b6bf1a0735b7753a829b3813d64c6408f3954ced1a1112aa46b843b6de98a9d2465da9afe1bab667f1c0996ade -KO = 6e88bec355f0d59c155565aec16811909c542bc5c6a4991ecf677517e3c19d3e46d7810036e65f140547c8b1dd5d44cf29b1b1a9674029e26ff08d0e5ad4b9fe202974cd804c - -COUNT=25 -L = 560 -KI = 1f933fcdeb8fff9ccc5ec051ed6c9c6ed2ad3acc585120d2fc9caa9ba776ba239f6eba8ec8a783ca629f2c397a282c99d351ccbc4e8402cfa0cf0f32ca44c0c6 -FixedInputDataByteLen = 51 -FixedInputData = 9bc94d22e8a7bfaab9722460f0d05e88f09d721418906140d19779763d4b608a7f6f397d74d3382dab9ad6926553fa243b2725 -KO = d98dab2647df30d25a86d1e988f331c92835b87860477740f1ed44128732dd93fd76b0aff1bb657a57c28209a893854665b06731d50e9ed0e393bb8282824fb5ddcf6514186f - -COUNT=26 -L = 560 -KI = e15c8672c0b37dede077410fd9568964ccaa80be038220176b5a3380c07484d9f046c06ebb3c19921fda170256189dfda3a8de4f53d430e44f4c2ce6f9031664 -FixedInputDataByteLen = 51 -FixedInputData = 54ffbed47b49fd9467e896f9088a3e71bdc6853b2cbe3ea9fa5dc15aeaf610d51c0187814e76572dfcc170d1f617e775d6fbb2 -KO = ee8af4b178cb2523940cb536e32cabbf8a094763e8dbd1a2bdec2b388f706774c6cae2b34c6a7c8a92490c93341b893035018addeb95537c5c68291ee1ef204ef00d08ba9aa3 - -COUNT=27 -L = 560 -KI = 2b496ea5a55bf058a9fa2349be70a46816cdfbff4e6020f4a33caf083bd890ae435b00c75c8f27e8ff356a609e8cfdb5ff4e8a0005e416866659206455b03640 -FixedInputDataByteLen = 51 -FixedInputData = bb8c59cfc1ce19bd24cdddee0072ed01444c6f4b95b296ac2a9ffd0ac64dcb68118c45cf10ab0d5243d0f5c6f550147ebf71f9 -KO = f3f59b8a0abee7222cf6886861e3a254f7ad8b22c92743fd8fc914b180cbadc278ab8b7a418a8178bf5003c91fdc170052a006abb7f6ec6e08dccc02ec3293a7db7928ca1860 - -COUNT=28 -L = 560 -KI = 15b0d2e0305d9d49e40216f8524541c8446312a9039812dcf099147270d52cfa91846146c41adf7356568594b9ed210a7147f077cafd521893f06f4125bb0189 -FixedInputDataByteLen = 51 -FixedInputData = 24c695d339a68f2f9b08d223fec42bc581394fdff0103531d0de941d40623354250a782b1ea4a68f65c7daf8d971442b129471 -KO = c255537f0ee63001e5c9ee75f9a3a036bab41378f323315bbf0ea27daa1bef3065446aa6537cf74e6ef80e5aa157a5bae9cd59e6ce473130a2d657a340d5500390bb8d276b5d - -COUNT=29 -L = 560 -KI = 31d2ca4cb8359caea636d4d5ed77bd50638ed004e17a206809540ed66d5b1bab797a3837eaa2b705595af2dffc6d8350775230138a74bea51d44ccab2e691054 -FixedInputDataByteLen = 51 -FixedInputData = d6197851f33e95085f26a9524b4de4279f480b91ca7a42ac60d078439b37170b7cab07a54b08bde60b5d90d9ec39219168f424 -KO = 09edb457ea6fb517d9849c97f0a74c729f72f8c822f2d1aa77af45e236deebee3c6e2065353b51f3ff522ceccc5999bcca242c695af4bb8d836ba70a48d007f459b0842ee102 - -COUNT=30 -L = 1600 -KI = e66f5d496e4ff86903d6b6e76f5b824af4109bd042ce0422868fdedc448cb332853c6ae24a85d6b3644d8631bb3c9c38451c66aa007aeeb36b6557020a9f82f0 -FixedInputDataByteLen = 51 -FixedInputData = 32450b34f4da54d8c79794b2adbbe9e3b7ff42cd74325a71895e996f3afcfe957d8c75f58546b31d44508d216cef0bec3dff9d -KO = 583c2919439441eba66c20982a334388aa84707bc89dba11c84da0a9fd04a53e1afe54524c0ef287a440f87ef9c9db465b327d703a969c85c5351f861acad83942f1662decc9c0eefe9e95d9d3ac749d274a029621ce1f2ffa6e859fed9311766d94997a632d87b937bcbfe5c875f5ae0df8b24cb78b83f2a56b3a77803bbc8e912be8ba15fa03eb33a3326419004d7aa8dc20232a36fbc901abc5cd3ca787e88d3c153451caf88eb915057e497a8fa7b7f65e55a2a088ee009d7dbb024b99b72f2e658af3955c89 - -COUNT=31 -L = 1600 -KI = c112335a6c0a5cd6eb33e30eada04e6ab7960dd0c7e60729ed386eeeed68997da74d3642109345d8040d26e2ee3cf983a3440a8e59c3442ca97391e0842a588b -FixedInputDataByteLen = 51 -FixedInputData = b34b514b60d2d6c5f2ab50ceca459ecbf2edec75867b8294e73afc619f907a7e6e37d80494f1adb1d9490cbeaab6d175e3e0d4 -KO = 921924f4627689466f3c67bb4cca9caa40dc3b58c2125ef30668ef27a9ff2488ffe2164c00cae87b3dca7c7295924e591a7635c56d3e5e0d1574eb70dcb767eba4b507a75c3739c2c0b3812b0e66c4494910a3cea40050667920a7aab9376330578f9d3672b0b6f746a8a8242b0ebeba76756f7e2f700d651363a681610f124efdef079ba612c66391d7937bad62809ce0de0d3f1918a14f904d3a81526f827d22bfeee4873cd475e3a9d7173a2f8cff08d507dbd1072fc1c4c4166eef2298f81305f37d0565bdec - -COUNT=32 -L = 1600 -KI = 8c18ac05e67a111503714434571743df73b53accfbcbe75e4f4cb921045abec2fa7c63d24c0062903350522b173472bbeed712b4771b77a7b91d2305e04064e8 -FixedInputDataByteLen = 51 -FixedInputData = d009d463830c42f4fce2d26ce8f889be2cb0a6d317846da5c1a66d87d7a85c7bd084f56ff655fffac751d19fb4fe3648ae93f3 -KO = f19331687f0ba449a42e719a0d680a2b66a8b79b761ed68eff9de712ce878678d8a837c631f8699c6dab9a1b13320f6510e3c2f0753c38918ffed6c6725c019b31645c178f433cc83a5fa2d7ea889b613b2d5fd970ae2c7695203f167848ad5a63e03d4adddc719a3e308d86624b6abbd80134abdf8337bff6d5a6d389007dd8283142690432b5269797fa9e6ccef3ff11859ad05f940bc676c27c7b78ca33c281502bcf75dab7796c7d364394692c5f262cfd90c1dcf27d4ab4af49829941d15784f95188f6d9a4 - -COUNT=33 -L = 1600 -KI = 2eba4b1d0830b7abfd2db2bf763f2c1fd431f1ce667c6ba629ef306b959650c9bc524864e271a212aff7bb9cd36d5f9d2883928f4f428726dcdc39760603868e -FixedInputDataByteLen = 51 -FixedInputData = dd33cd628359495843bb7e1fb44517e44c1e9e7c7da6c7141586bc9977adfde133c7fa551c7bfdf93c273270ab341a37488064 -KO = 2c5eba77005160f2ab27806f998797cbf4df6b6a68ced3c141dd146526dc80cd18642dfe3851b2127083f2bf147fc7e4f74618b91c77ba45502c5469c7b9699c156d57c8071f520bc4dbccd332662de3aaa0fd71b4ff3190bae9eeba8069962d258296249912f1c3f92aa00ef57f6e4ca2289e065e999fdc49af3f81b5fe528f96956afe22d5cce0f13291e8cbe76739bd63f0997df2af41f38c0d25385c4d895bb1fd407f6a74a46415272c4882323b429abfb70f27eb89eaa1537713e965f378a73335cf4ee8a3 - -COUNT=34 -L = 1600 -KI = c9e4a7c1f1498678f4fa118a1c283ce18034fdd385d9e3c9c5838e6188198678a844da77feb253079ebd1c7c03726ec15be587262d6f75b4a2f5f6edbbcb0985 -FixedInputDataByteLen = 51 -FixedInputData = b5be73af9fb1c55294059d8e3d182da4722ee9a2c97af437ce8d42fe42fa02b11b54f40c51ef7961aaf2d85c501d670ce1be42 -KO = 078e75460159383871296fa7b7a1ed08d32343a7f65eb65df3d59b751429964024275a5ac13652797f62dda61eb932107382ab934ff693e1f07ee853e55474e5302307bb3476e97fe6c8e92f16a1c925abf3b8f4da83264de51a2a2f1ffac9fa069b0c642ae375d7b02a8cbb2f482a711a541822d1a8bb22d95986806f791a8b2d556b4fc830e0f8dd3afa0098920021d50250af88d2cfc3c4d93cea7f4f33425cce04888ad8b1f4052841eff48bfc9a9350c87f43dd6c0671e71df9b9544a331ec5e2a34727b9fc - -COUNT=35 -L = 1600 -KI = be1c522ec54a0af96c15b2f3dd4ab8c71c5e191beb4f08838a151c196d68f9b04bfa48fb824795db031a5988e63637db5edeac5c43663fd71707dedbae2ddf48 -FixedInputDataByteLen = 51 -FixedInputData = c2306e3f2cb0e59129d7f2147a87dcee7a4ab5fe7afacd8527dd47ee3542462bcf44857bf78cf1adbb2ab6ebd05b3d863ed3cc -KO = 1512dd5d8c17be6a18fbdd03abcc6b3a2d9a1e0bf92f99252aa8d0125b7e35c2d2f762b0ada23d25a52d3e1f98354d215c5792e61d3d3eabf9fd3c2b379a688dc815cdfac6f0729e26d737d3da5c2775e56f022aaf08485067e25c97480f3cd6bdcd747d387c675c2464b9b3b0a8ca4c92bf7b1164608a1b353309a7b52a427a1ef4fc924740408bfb7d887f277a1f7fbd0fc6022f7b2c1ac613317725e8387af3036071e7bf9d69dfa271306b368589af55aafc457fe96cbf008f919db46f5776a817d108fa7219 - -COUNT=36 -L = 1600 -KI = d396c879a2e0df4e75917b20f19c881ec852967fe95cc897ee313e1d295d4e707aa5189ae7a483b287ea37ed8b346a36d976a6dbcc7087e8eb040832241d8c9f -FixedInputDataByteLen = 51 -FixedInputData = 919ca39a20833c870409f64187d2075f951ac8ffa8b9b2b5ce19d992bc5697a307ebcf91627925e3ac1eeb2bfce11eab47af02 -KO = bf75e04b54a35c6820da119285f7dacb23235eb19b7f3defda60d6a0e437fc24e8af0ad03f016b7e8b991f0f60f7caba0880edab9bd4cbe1d072d0d85ad4e8af7ab239bf43aae87cedba6f9e0a0895f83a945a074fd27d20cb6d214fdda9ea12f4338a2fb5f0bc2f3c20dbbbe94232f974c11d70098ea4651ea9e035d2bad8fc69d0c27cdf56e84cfc8c3c7eefa10af1f983cfed4faa5759e5932ab64aee9de4746771629315c3cc28e6042d9f3be173be19654a7cb6ec12d517615f750c2583e8b9dc562cfbd827 - -COUNT=37 -L = 1600 -KI = aa71e65a9a0e1f5fb74bfb187fa505fac27b375b9c6a780d0a1e0bb35724ad7372b6ca15c59210c1c40dd91f0debc95efd75356f10cfa41d510189388a2a651f -FixedInputDataByteLen = 51 -FixedInputData = b353b9ee7728317fa11bddd29e886db8cc4b18b06f89e3a1d73121b72f54cb3ecbd4839bf202969052dce45fa5f8f744e31a64 -KO = dd453d4a4e3b5c2fd6fe052456448d4319831d603df0978f322fe1123e1b497eb391fed09aeec6058e7293303553aee5ce9f5ffc9e68084f0921b3960af41d68a672d6109a2db6c03c17182c6ae32f8ef7953c6beb8c44a87d06029f648e5b8191876ad153a5584b044c7f9b5e533eb3d32680e4f2757e9fdf9f31a9164322fda343d5e4b5fba20c6f6d15d3d865a3637170c516d9f24b79dcf836616c6f993af40e975d6eabf7c73cf7ed84d79426ce94b7a403d09b3791f76b6f42a5e3bada18d115ea1c501ec3 - -COUNT=38 -L = 1600 -KI = b05293b9b2792ca3641189b6f7e8cc25ace8fedee8faaa6a1e213a44ec135d3028d7168f589ecdc29ebec5f15fe121aeea23f17b0dafd6df79f1c798098be7a5 -FixedInputDataByteLen = 51 -FixedInputData = 8d2b3904b58c7e57507c0cc11ded78837058b010114d0a85ed946dcb139af907eb13e07cbaf691aae7f4dbafa9eeaa8272ba00 -KO = 41ef15cb365d21a6f7fd92df72ec805f8ea7a48c6a0897e97f026e2f9f3f6e7d4e3bea69d43da9e8fe117cab84954b801682c36382a4df298d30e436c2c55b603ae9d6a89882335a36c5184117e27202d0a0f64f2026d07ae39a4839707ad6873d47ae87680cc75984d11904d8bd0d36578454174bfdd55f617ab369136effd29af99ec1d729904d95a61dca0b6efdedbd1554941c1d9f98210288478429522ebf66915b62f32340cc2d8e7b44220192fa070a7a9fddcefc15c896ece1842e774b9f86d35156cb21 - -COUNT=39 -L = 1600 -KI = b05d3982ec98ae74370edf5bf0df70598f957c0201e6730c9019c635e3903597c7408743dbd4d793d15a2c4d69578e9f57a2e16e99e1ffa86f82bed5dbf6f5c6 -FixedInputDataByteLen = 51 -FixedInputData = 8db0d58215d24791a8cf090bb572420330fce16e22dcae65ca123f451d8b144eba07362c9e878e226c96051765993384ecb053 -KO = 9bc2457e91f33752b302842c236b2c58903aab6de7d864d8655943b09ee9740d8625c2d20b5201d490d9e357fdf706fb38a39d6c961fd0b1205cc2fcc5eb3a1ccb2412edcfb110aaf6d2df3ba8dc849a43d1bdf87b7755ec818ca7795907dec3f61121150bafd0063f3b3d3cc73405d3ef4485430e1bd2b46cc21b6e9f4b980dbd872862ff2945784cf75932da74fb729cb3684dcc907985c9e48a45a5a0b2bb65fbdd57d5ef14fd2e44570241cf205ab31a4c2c348166a557249fe243c840acfe4ab272387f5e27 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 485be289dd2ee70bc504802896f9daad6be8c477f48ff405436b0ed0ade810950c21d5303cb79665f0dbf08cdc238da8ccac2ef8da21815a29d0ac1dd0f48d7e -FixedInputDataByteLen = 51 -FixedInputData = 3806141e9c35d82df9a55664ab5ab015ca9f231cca5587e631bfd164fc736d81f16393a7127bd67f1162716cbb0234f92ef8e6 -KO = fa01889d9f3d48c9e364d2f1b4220dc73a66c6a8af74d9cf02ddb36ccf9d3d29b09d111a31c2c14f02f5f9d0a4dd6b61217766006a2d99f8b77ffef2fa7b37ee - -COUNT=1 -L = 512 -KI = 01f54807e1a9abb2ac529ff367ac7ba633b3ddc030ada0dcf5a7e13e5d985e4b04292fc01b7174f2d0142a8e3094c8c43963368631f64ab368309f7adf464321 -FixedInputDataByteLen = 51 -FixedInputData = 831f9db2bc89b6620a831d089834f8b1578aa69a95e26e1c762971991a51884cb9858e3800a519981e8216b80c4e53ea4e3d59 -KO = cafed28cabdd9d1ce0b8ad62559e1297e9272de845b021471ef37beb2eeb3fe7dd0c545142b94734611069e9eab7e5a354157a6693670fa30a1015a3108e1dab - -COUNT=2 -L = 512 -KI = af8120b1a524656a54ba2e8e8f37e1213bcb88dc45affbef68b9db0efb1ce1e9afab140d43a5bcf0c70a49423565b91f381ae2ab5f18b567668e42571ea9ba81 -FixedInputDataByteLen = 51 -FixedInputData = 992997a76569a3228bdb9baeb2ed16d8b1c0d03a1e4635c54c145ca2213c34f3fc71b9d4c5b52e81421322f51e29ef64e1f5f0 -KO = 46b3babc4c9225be46c382320dce7344177c6ae4c2710dce3716f7749db477abeaaf17c155b4b63de215ee6e86f5a918ebb2cd4643d7d9770aaa79518acc0cc4 - -COUNT=3 -L = 512 -KI = be1cae700df68c1b850ce6977ded40745c2bc8f3e2979e38968ad774b409ad0f7b209c4ac9cd0040a74e4ccd538c9be88fd4659205de8326bb4237ae9959b1a9 -FixedInputDataByteLen = 51 -FixedInputData = 297946d5650e31796de6f4320e6ce1242c1628df5940ff30a30721a47c80aaf08459f2de18ee0649edb8d917773869e2e5d5b4 -KO = 0cb058abc1321e5d54d7840dd10390bbc6de1de7d045d3884cebc95ca3c8302a4e3410470c02acac358d64e7630c60bd93a4425a53a04f081efef29e98098d4c - -COUNT=4 -L = 512 -KI = b55948538900e0054b4a2f92ca0d60acefa033c49cfec6eba6794fa06b4f574556aa73c3ad336f6c83d6abfd288eeda3f5842f2b334873301ed3104a00c6a168 -FixedInputDataByteLen = 51 -FixedInputData = 25e5fa6ed1ddda1601488d642a195e242a3805772c81b9fd18e227d6a0abd4ead8945460bf4b6365fc575a70f7dca032b3af05 -KO = 7a5de31fe6804739e72f676c86e9d590b479bcd2fcd1eb48fdf9385b87c34fa4bd7cec74ef6e2fcbf9cfc858cded77c905836483e87ba57c88c815c20531c211 - -COUNT=5 -L = 512 -KI = 223b437fc55a511e2dfa35652b5f21e2c46e38068852d824e24508d72529ffcd08f319de5e95b08096800994592a91861d1e2c1d4e22a1f441085431b1db5ca5 -FixedInputDataByteLen = 51 -FixedInputData = ad35d4c9c7f0bb04400abf1fac0bf6f69b10e82ebaf47fa959a9c3d5f3b8f2da27cd3c5d871cad4ff8287ce48769c64cb0f4b5 -KO = a3d0543c027cf09fc72a4a82974e1ea2d138467bcafda251d6846b28c74a55ed72c7f694bfbac351330fb7fca95698c7bd8175be029090462b4b717f5d3ba28d - -COUNT=6 -L = 512 -KI = 7d6da7d04b5c425921e3c4b65bebf034b5f320cde9af1fdfb82eab642b47ebc982f7b345f026c4672a7c5a7bc9be18ce89a882b22d7ccf24aafb6338f2ef1228 -FixedInputDataByteLen = 51 -FixedInputData = 19d03dc054d77c3d1f776faa92cb0c110f473dbca1d54ac85d99499378d73b159c3166d6ca6d79d6d1448718d843ca727eb91f -KO = f7ab43a7444a7778410f2081596f15c55ed6f74eec8f0604d3628548e98fde98735c0d65245bc158dd18ee9157b39a8c1d7038231645de9796823bfd463a963b - -COUNT=7 -L = 512 -KI = 128a99fa3137734433a461c0b9fdbde819c94d106735b934ea55246dc0cd5ebdb7a29ce0236add99ba12f7b159c8a08bbfd01244b8312e6e3cb880a2be283ba1 -FixedInputDataByteLen = 51 -FixedInputData = 7665b5cac0d3fb2085be66e7d3f962093a9a4436ed723486fd150d1e61a3f6fc8ad45e935fdc9bcf015818cee04af6713815fa -KO = 7cd3bb3525faf493eb552b95887af52b9aa8d9425eddc1152536231f0656eb8d3fcd00db2714c58b4d07cfa080a9b6e969078b99e7560b5ad74c110a442e49da - -COUNT=8 -L = 512 -KI = 503c6da09fcb07b01a22e2b4f86d0a9996ec8c35d95ad65dec54f5d7942a64618d75c6369649e847303c2a0d17e17332f46b7b203d468f9ced880b0be9bcb2f7 -FixedInputDataByteLen = 51 -FixedInputData = 890b09966c3e99f2884dd1b972fb132177143f4318d2cdef44b372a4c3b548d7b0a683edcc5c6a5b8935fd6abfaf4e9a1e91ea -KO = 2fa177b3a9b92391dd5789dc55321bdc651bf246284c3d9c59a2952831a8c48ad905433d16bc35ee6d9952719e1976c259d31ca782506468f0f845a6fe4dec8b - -COUNT=9 -L = 512 -KI = 60f6e172d789d5d1696598f1a2079c4260abc017f8bb14c5dfa2848a812cd31cd49ee569843293d20485a61ced3f4d6bb2bf94544836288fb4334247744ccc99 -FixedInputDataByteLen = 51 -FixedInputData = 2e1905ceecf74894aeac704f03bd98584d9b16c84bc1861232a6177a087832c62233840a0dd158c30f3c5615cd2ab83b5f8faf -KO = c7cec74a46fc17b9186d64b30ddc4fb1b5d5a9c00adc7857e1cf9f162b4a917943dd2f04319bea4fae76865db612f9904da907440fac58e9a00556e522df0abb - -COUNT=10 -L = 2048 -KI = c8d18b0f5690f66eca7448eb4ef0308df9372896870ad4028af59814d0c1c8ede2197595e3871e825d0fabee01ca4f1de5eb68ba1c2dd0784dfab6d821d5e6f3 -FixedInputDataByteLen = 51 -FixedInputData = c096c9e5730f69537149d6795fb6db16ba4f9f22a1d09d2c931d73a279b43fd9b128a307ddbeab393cb2a68372992841ea7c07 -KO = b48a72b28cf018537fe4fa6fbed6603913cb8e6a3813c028eff5143a1a2f4c5f50bd17d62aa69a67ce7dcb2e3ccee597198c80aa4b01f80860d380b5ce8418166e41e0bdd20ff02367a59d6273815bf4a7dfe44f02b2cf5f2b6fcc3d5a15f6f00ddc72320ef5259192cb9f83999dd4ce1cd74c39996f107d14827c571d81e0e5f0ccb7860e939ed29e2a8237db438b3889794675f6c5035746d965bb130df17a6fb10ff3fa4347200711a135da31970caa30f4869411cea9a9dbd35051eb40d21e5de9d1f406f49f2aaa5ef865618119ddda349c7871e283a2ff194fa140add7882dcf96bf8707ea49a3fdf1cd5cec86b1fee774ed5492a90bcaaa6bba11e9a9 - -COUNT=11 -L = 2048 -KI = 5465e4ba07649bece22711a784ea70b39028c15ca26f13cc340dfcf97d8dd34159ff5cda43a7113d340299b8a239fc66ab2c760f1772baf4eccc030ce946747c -FixedInputDataByteLen = 51 -FixedInputData = 87979b17774afdd1da4773363ca8fe6b61a0ab7ec1e6b4a6e1ef2d1c6df23d45b19b76f416b1fe133dfb4ada0c016ec96569a2 -KO = 1ff1b5cb6e89013e4e2dd17620c90fa31ceb75ad2f5babaecadc53472300870384ff425ab501f0fb6ce31d6c3753b96900fa06792bab123e806fc8a7925b2ce2bf02c55020fe2033356af76fd500c3ef11a2930763c1b8d7e2678ea2c901045cbfc4a7f008aefa2136ec89239af42403e285bae41b0f6acd4069ec90412f87c229d8577f446dd1d23ec715cbc217a4411488bbb17442ae214c70beafab5c3dd10ab7b6fe97bb0c0be85f23e6895b852a0a6f6b54d1cfc8a23bcdee43b006b386bef6c60fc8e12408011bf8c830b02f2e14d15e78eb5945f15be0e1dd0259f4844e374c1528e5417ed4aac3efa67a2da6a149d1f02272c54a91db9c7961f44131 - -COUNT=12 -L = 2048 -KI = e4ac2c16ffd12fb40c14f7a99332b9c38f1387e91b7ddbfe1ec0221df662765f0540c84e6b9333501f8e56bef68039004c9fec809b456ae94ed2a9ebddee1ba6 -FixedInputDataByteLen = 51 -FixedInputData = 5055b1d40796b87b446ad73d22f90a684c4a70e46d01a1ed3cbd7d51fbeace7751d3a3f72298e9504ddecae4ed40683411a046 -KO = 580df601926b6835a309b3ff244853e415320f9ebe40008cf71f4c08a2e4e8d20c544e73ca2c9d83ec159943ebcdb66d08d1f96959ec0ddf1d8fd2cdc3708cb9378a47e067e88eed3b7aea8bfb67909a99257f6ef89bd497eeff2280c7a28bc653bc7be73e4591bff89e6becaa421048d7c02a0548e348b173b6c69069b1d4160941a8e5195c194a3ff23a6b4e17ff4a4a31edf020bfa1159f7b56e06ea2dc7d23b86bfc40025a0588cd12347249fef9f9cbc043d553579aa9f49a38d0d8e84c64a2489c11f497604e7364b5f9c4ecc2d5985edb02e847b60d8e4a44c5d66eaee1088b67ecaa72bd7937a0908a98d5d7b198bfca7ca454824012804972769b6a - -COUNT=13 -L = 2048 -KI = ceb1d57c5020fb8a253d1281f203e437392c58b98dc78dc9d7ff406bc000c64d3ffaf476987a04aeeaf1e55fec9b8ed58d53bfa0562c23ee20b7109028884b39 -FixedInputDataByteLen = 51 -FixedInputData = 86176aa207502da3b065b9304fc6021d153d44f4219bb72c196c8b386ed367b7cc2a41615d90bf2d0ee5c7c76c06ab2cbb9715 -KO = 0ec1664fce3ea9396abe20bb75cbe1e569a9f2a1169814c1a0bad5baeb37f9ce93a855cd72ff7e4bef1aed7c93c1ed41ce5fddae0913b16db3b74316545bfa1b5f65f3e1265558c24d59e7442d366b4e73db4670e43862c1995f169693f32b86150c129103dc6c363cc26ac2418f56fb936c57d8e784a03e2a8793c031452a2be2ea0280f5e8a4f5bbcefca29f890c8efe8b1250ccaafa73e4276453e869cebb62ba94b74355fbd441e1b2a3ba980aa52e19c15cbbc841f1f6e60cba39283d71b17e6e7cc6ec79455611bb2bcc24199dd60b4fa94b9d8089e5aff7c6fd8e33ee159ff80b144a3ac12dc501f090fd51484d5b3eb0f82656ee088cf61431104198 - -COUNT=14 -L = 2048 -KI = 0dc4a1f75c7e356960563f29f63296e2040dacbeaa249cdf02fa8b81c172a33b8e76c238a0be7be67806971c7cff02ace98f031bbafc0dd6f8f00e3172762693 -FixedInputDataByteLen = 51 -FixedInputData = c99c70bf1f2efef0de1453e9badd7a8151b6bf9e2765794506e72e338f26df6e7929fc41e96dc04ecb40811efd4dfb8d763786 -KO = ed10412c807e92b285ba05dfc54f6098be7ba39cf25276388d16032cb03af202fbd4d530c93fc495e1fc71fc05597e2eb39ab1ff84ecc12df059905704bc284f98fce79df399bd1f9e39db871cda892d02f77cfcfee80f8c86dba9915bf7016561d8c4daea2d3943c71c90a1f0016aef016b34e353a456e1f553f7aea83d6597e6c8484da794e93ad5c30dcd776bcbe7ad2c52e4e350628bed03cb3f5ab4492b4557ce2bd0848586289af15a5f86d16ac26f861d444ec5a5a1fa8c1c5cef9d5705dd35506bbb6112aaa1be0629d253f55aa58c8dfbe471828f29f458221d13472e279894f76944d24dcba4334af8afa0bf605a73eddde6593f24cb057b530c7f - -COUNT=15 -L = 2048 -KI = 892d357c4a728896dc492303a8b6afb226c745760de24066e29462a20e49905138cba10655faea1fcbb0f161803f7e9e4c05b91bb680e03f2a2af3512823445b -FixedInputDataByteLen = 51 -FixedInputData = 5494a9389dd46bfa1af69a141d90f96d1910c44956875412210f1725a3fc593b19d705d5c01bba91959833ca8fd90b9e90ab2f -KO = a8151995c0199d60525469581dd2b4eb12b18bf90a7604a8850be7d497729d4d72df171f5dfa093f29292f9d63a70f25bba94fb5cc13058896752cfe194dde5fa593112778b826c21bc97c7bb1f211bf012dc7d0b6d32249e2c2d21e16b4d79d929df9224ea29c19be83a1bb07ac7332c2277c97095de7ef344e81ad47d1f29cb7a384d3e4df9c756bd1f4b1d89a60f16067bcd621e6df5ef1944e2af5c2c8c109d4cf189197aab63f4de561c389f890d075b08ae988f12d47e4b30dce2b383d6a54569bf40f779081326ead4ea8ecf8e117a55aef8443ee6a204b94f0c53e258b6bfbe43249b71ce0be4fb54b530630377ea6995f8d8fdca4795157da249561 - -COUNT=16 -L = 2048 -KI = b07048d2d5dc509fa323d748768f3aa7bfaa899708bea08821e561d88a2ddd751651be523824949872048cec568ba566b32cc53e468a42e1df0fa5cc0e268b47 -FixedInputDataByteLen = 51 -FixedInputData = 2fe04394784383d8a9a169b837f731b3602690ae88078b168170f231fcc8c4644d0d7d0622a5776ded9b4f8b8122b4bdbd6544 -KO = 46b6cf2b87943322cc3b46ede2af0ebf5f94d1bba7e33a0e7d9b9459503fd15068ca1740a42b092d866c2a97f4d654ac0710ac2bb0290dfae59fa56bc700e7b3b685d8c00909164112fffb253725b2cde7a1f935f4f86ab9658faa1749e8a602d81670323970cc533c8f720980e06b1e2dadaf710253549224bbf55df811d77cb4929e5b288bc534f5e960822dbb72affae8b725fb20061867e14f39b27cd59933fdd7b4f2864f1fecab6a54786b0bca8e1e30e370820dc948c828c1ffb1f56abddcd98e924626af6e7027f74201cd421a6654943f800768f920805f04bcd48d1d905d066a6ef687c758b72a99740059ab1ed9e75e43cdbcad771d3bcafc6698 - -COUNT=17 -L = 2048 -KI = b027f15b8ab7a817cef3f5929246e5922ecfc2b58f82f1f67cea447e9691f011a51fe4fbc52eb873c7d33db4906879db0bfcd39bbcf5942fafcf8effbd2a1b96 -FixedInputDataByteLen = 51 -FixedInputData = f1dbf56f190b049cf614d6bde6ed3d600db48bc6373698f8ea9c9e8691166a06bc151a001ca47c5ab5427dcfd58d9549134843 -KO = 4b30a6f671c2fdcd4b48575353ef862ab241a17e53287db7e8f206a97c7fc08bb54a42459f4d4f91a34eca5f57f7388080589d699a70cb02a7bb6bdf60c2603e1ee778bda43454a173fc8e9c3c368e795e145abf2bb19b492b6a164c0398d683db11b76c79c8fcd3163ec8eb863ba66739abc5e076f476c775380314adf53dda3ba385cb3cf714805465332ae6477ca69174cc4388588395ce0489f61eb456bdc7934db503403aac6bcc89b6f03c389a825abdf2ce615116ecc314f3901a14999321e1db648998e7c81a43c8855094434daaabd663cff9b62bdf6a37a7243b92209c99ea48bd191c09e3397bc2793e7e1f02a1333d4f2890d0ab05d65c96d67f - -COUNT=18 -L = 2048 -KI = 522ab8d9d3d7a4af9c1957815deb013c99b757b646d512c2282974ff70b3d9a250301cb2e7af5721b56377974075cdc099a998e09ad991b67a159c2367a69f3a -FixedInputDataByteLen = 51 -FixedInputData = 1421917a4bb15b7afd992bd867ae8462a7a09d5d989e06deb4d54d313b0b6956403c2fc31e8faf75c1729a19e4b29de535e818 -KO = 5f898ad414960704dbb915fe8b6a64cb0a90f75b5b453c5a4ef813f8459accda5f6c50aff27d9fc5fdbebc47897f11e90a15418a498f2f97ea1946be6ae324f30ad8a42a6118491c533e1006499c78e0717d144a1f3f2e409e3f8f611a2a98ed593bd9d4e8b93326c43d430265d1d5ef9843e95a4cfe7a2dd79bcd19c8e271fb31edf948b0a7d0ca90ceeddca17e33d093169209da46695016318f735cf320b409194f449c9bcea5790ace49f85f258f1d06657612204417c39aa09ea22c7d5163816f1c005cf8531126ce7909090b91a4982daae664eb3ea0cd4dac56d1f3edbc63d0bb424d07b0566fd77605212bf9803d72a6b26167dcb7158c1e3fc241cb - -COUNT=19 -L = 2048 -KI = 4a7f017ed12f6977d35fd6ad025fe3b983feb007689286dd3c0b721a7d8b8edc6ba6f6d67606054d6aebb3e5183bf775f54386ae459c24659e17e6b607578c3b -FixedInputDataByteLen = 51 -FixedInputData = 15d59ab468b5a5ce86246b6fc046efeb79bc66c5dfe99708005ea70a6700ce4c8a432177440d5dab01691484b4c3a7b2978792 -KO = 7dc5637aa136a269c043b3e7ac64da62b072a2dc9e2d45116e675eaf91764eef2522ded0a69350d3a1df6493fb452bc274a9b9f32d0cc480694ed25cf28136c6dc7f944d8dc90ac9b2fb62a4cf662deed4334f60b8c0628671c90856bde4dfa93f12ed21fa2d9d2cad1e7c97bcb13c2787ff4b636ea702f51c020444d2537fa8071eb6f3d37a3c0fd4bcffb47f0a52932291539b8d689be52edbdfe052c592fe1355f716f75cc86498ab408ec2db9701a4d4f6cf7c54a3dc43bdf7f0c6c799fe129849264737fcac91db922841905d5cb43563bdc9e80b69f2088f9e069425de9db0fa0f49399cd062570c4206220bcf3f9e72052a1331eeac4bb11f878de9f2 - -COUNT=20 -L = 560 -KI = 1b31df0bac10f2d4ae44da880011c2cc431fb7acfc267da75b873330d403dbf8b7eb6e4673c81fd5ba027424e9da3a5ceb827d9c5b604fb24362a4c9d2220c44 -FixedInputDataByteLen = 51 -FixedInputData = b85e37812bee241f9c3fb630a36c3abfb552323ba7d0195031a28981aa1384109330b1a7ba7043d946007ac9f2319377312384 -KO = 64a58d86db6470cab6ac5166d52db52529d2dfd4dda31a08b8f9ce506e99fa2c658ee7a2dfde99dd1782f1cd5536eb998f2f8dc094578e013b85fda07d191cd9e7b3f108b751 - -COUNT=21 -L = 560 -KI = 7f047c1ef269d79ba21a9c649ceb10a11c0826de6167e466edf4debb25769f72326f08aa798ea44c1e8a4a910d1be31effba7dc4a340c15f160c16aff5f1a301 -FixedInputDataByteLen = 51 -FixedInputData = 7f9d3f91fe1926f86a9cb8242f534ac0b82baa9a7f6348ccfe53b19ab3e1d2596d2e17b360c77f29e70bfab971510a8c522312 -KO = f6427373130eee2b352bf5e47a20fd7cf47adca2d0ba0fec734c1dab065a4cdbd877fd715baa8f667fdc7d9c88143af2f9656dc6066823cb508a61af16b667b7fb43f45ac188 - -COUNT=22 -L = 560 -KI = d7221da6b817f312dc1b3458a32b5cf67577559445e69194df8d474e8745a02db154df6eb7d616ce6c7e7cf60fefcafeb2c895670398435dc4b7001f896d084c -FixedInputDataByteLen = 51 -FixedInputData = 2d0ae5433d83e18bb48a9cf1c6a052df5177aaaf2425f1230dfc5755fe0fabcd568887c3f48793cbc8d7c798d1785b3a239e12 -KO = 067ed1eda3a1c5e7d16188023346ae90aef79c0f2794cd8d33af96f2be232f2d0cac35309abb4ee94ff6add5e49db0bf41b5a4895456a984c2565c44733b6226f9c4efe86218 - -COUNT=23 -L = 560 -KI = 7a40bc363d5df41a2c750b080a38c7caca8ac2da4ffc236879f3520417fc36b9092cdf86dbec300e6ff730ad78f15c726e407c788935b1f8e59fc285f8c9ebb5 -FixedInputDataByteLen = 51 -FixedInputData = c8c5aece5f55feeeee0cd921bed9b9e89e9dbef4500fd7fa1e1c971450412e8b10b3670c316594866d75508e0ca3278deec7ee -KO = dba2815a8009c014daeb0b39eb2a406eef305cb3e1f27e233e3d0def7df5c932cf7ef7fa5a0c747118acd2f873bd8236b76faa41f5eb70971d0472398948f1f40cee2db4a000 - -COUNT=24 -L = 560 -KI = b735c3b129f20b74f88c906c171dca1640e61387233d19b86b771a6bc1b971b248ab90a0cc74e0f102158f3cd0c4312858897d0c562b64ed6e46a761e54f5ee8 -FixedInputDataByteLen = 51 -FixedInputData = 8c6d5551544da5f4fecf03887e79dafd646c6a935cf6e1a77480c85d763b3f63b371aabdff6d457769fde0f419301d66fa3959 -KO = e13546537c6c1eb100ef318d55618be2a150db9804667a3b5991e1f664e1a98ba954be12ac736bc9b024c3c6de12007098e6d89a901ff387adbb08a2a3e4a47146a3bf527498 - -COUNT=25 -L = 560 -KI = f6debd27d4f5377f3b8b146c49a41aa4b2f453653f88f962947bf693f19f4af529ec27b90651b5daaa8217bbcd9b6131cd6968a934e062d696980b43cf6112dc -FixedInputDataByteLen = 51 -FixedInputData = e58a03fc5248183bbda849267f13450f5b8b824f52bbb934be6779518254ac708ce6efdac158692875e1823788a8f260623c86 -KO = 4b082d6a9c73c7c93f8d49d743eeaaa5f9057ff7d79d428d18b6cd658248e5c0f0878450c138a7735ce5f949a4a152f420ad5255bf8e7e090424d03737d6dfec9b4dacff0f83 - -COUNT=26 -L = 560 -KI = 7b46e4af5c2278a76ddb61ed3cc54c4b9cf49b52c1df898009caf1110fbdd050e51c09ec5aa46ac4ece204b3a0ab9245d75f69ba12d8c798a4de2fa4866a4ebe -FixedInputDataByteLen = 51 -FixedInputData = ab4e3415d34ee4595071f672db7f8eb26e7b9502f24a6ec047908e09bed7014806e6baee06e621fe368d9f8fde20aaf538c5b5 -KO = 5fd9bbe206c879c96b4da4a9b6d1c78726dea3b2e1a8a344a4050503267f366a90b961326c94e27bdca2541e3dd174b7e2ec143c53ee817a761d523477f18f3cbcedde1d32e6 - -COUNT=27 -L = 560 -KI = 2ddeedf59a2597f7cd236a9f426770a6a2b55534ec6be5746052ab7187ff0e9143b9cd810d2a32fe8bf2533b0c1a20ce75bb7e47889c928dd241b37a906dbd0d -FixedInputDataByteLen = 51 -FixedInputData = 1df7eb5f4af509a987b425366180124146f23f79839265bd2efbab89320b642d16a8c67c3f98bf94dd864e76409b5bf255605b -KO = cac23ea77bee6bee033b23168d29277f928bf79e967a6abbbb701983b9f178ad47b5a085674b033da63a861683d9ca4a077a9281c84f9a8936b71d06db52fb116fe102a342a8 - -COUNT=28 -L = 560 -KI = 552fc30ac4b8fce49eb7c90b5419248fcc060074094fca0f94ae7a023023e009c711d187f513759a97ba3d6c85cba3dba8fa61be6db14c9e371ce58c36bd9e50 -FixedInputDataByteLen = 51 -FixedInputData = 2bd05e05bb5b513cb0fea1247168043ab50eee172fd4c824dfb9de103a878ec134ceddc27b2047ab0ab539a9c3b2611a9bbcba -KO = 4c92f7c4d71dddc942a9bf1b87374fe01935d9ed819a7b829410943fad353bf423ae69f0fa29f766268930a77caae921936910a449149903ba69f82ac4f16f14459abf78b2b0 - -COUNT=29 -L = 560 -KI = 66be5977d86ed332e824ad30d216eba5f98695c75d6bc65fa6f7d1968241eb30eb38f3db38448a6c03101f0a4133f55662145a4170e05c0632be66e0ce643718 -FixedInputDataByteLen = 51 -FixedInputData = 758b067e6315313b5cbb6e5bc33addccf2f167f1086befd50a30fd60c45b50df6366ed18e86441e99316771388f37a19a56c3e -KO = ab449243d6bd2b5ecc7bbdb5e1e7ef1198a50d331c170c1ec4c2dd81c9c760e24047fcf1a40b76405ed40780d88651001c97efa27d082b4ac39fefa2f59836704559f8dd94fe - -COUNT=30 -L = 1600 -KI = 7298eebaa5641ad867f170b84f8b2561a316b8ed3b612adfb1a368271b4e9f5432b435ee916e9460400ddfcc95178a43e69defd79914170eec8518bdbe556caa -FixedInputDataByteLen = 51 -FixedInputData = fb0e3fd6754dc53e95905116ce644ac26995474ab751ce90dc4a3b17a7ff7b680cc1ca06aa4e8022f1978281be77c64f7e26ee -KO = 6962139b0adcd6c3a46db4c4c3a0dab4ee50c0343d7f635fb5239a7489b239943a4d8d2a395c0f038477e327955c4e349db453726d1d8214065d931ce86817b998cb41d41ab1c9eeba4d7bc5473bdcafdf3243506c0b0f5aa9a05de2faa49ef7105c83795e86850ce7d14318f598a9eb98b50bd8f3545f3bed43b51b91447f97074d47a9cdd52a9715e330b01364c3b1b615df1d5bb8fe120c3f8473c1c5141ee4a67ab60b5d86cf7f37bcc7d0f17cd345285025e5ef71d83fb400ac1fe4c1c90b517674c9963f3e - -COUNT=31 -L = 1600 -KI = bd71054c28b1ac77685a47dab9a5d6bc9a85ec647d00e55046c19c5fb88602cc633505db8142404e025dc7676c44aeb5c451491cf90d68589425ce3d1582c7e0 -FixedInputDataByteLen = 51 -FixedInputData = dd59af37acb12007793e17b54ea04494c525333f97d649193a9d3469d2ed7d092e0ee245883bbb7975d10e10935aff72a4b863 -KO = d5daacd61eddd61ab4171692f0f451cf334294ec45fb2fe2e75f75d0930e91915718a288bf975e4c47c95fa3cdfa161af1d69a7a9b926938c4832f86b7d6926e14b33d97998de0e681c9f3113c13bebc731090c64c72464951c9aea26af71e8df0f8713f4099b4194d2db7571432506b930fc5de9529f39d8720209e2bee7e8a5fc388812a98286505e3865c2b3e9cd14c00b64ff96ebcf1e5a0193b131f300e4a9f058bd32f763d2b47845d9b1ea32d19306f396c0d5885f35ba62458a7fe2c28f892d11b5e83c2 - -COUNT=32 -L = 1600 -KI = dac275c739bae0468e093111708b4be4d5e979e5b51188ab2a65309578f8ad404130e5b4c96e292e757143f6a68614fc882ec42a5236809b2b4a9ebb24afa0fc -FixedInputDataByteLen = 51 -FixedInputData = 75e58d8aa6c46e6afdd7e448a6d3a0b2d57cbca1275394b8d28ddebe1592162ef9488cd7d9d66bd99cfb433d06d4d5f08afeca -KO = a27981a597d5be7c6b64a45656a26825203a68aeab726206a93d15ea30c22f308f998e12632f9e5cf261e1077aa8b5fc9cdf3408534eed77be31f6e080ff5f2580e14e370242bc7f1df4bc50476c572ac4fa721cb6789c3b4b2f70e08b7a9e7d23a28ac8a0a64cd0900864224e334aa4890d8ce6808cccac6e540bef41e0a1e2ae2280a74df73e87e6a7e0484ad4e77f44a4c218cb8d95a041d699efdd35f9d996eb3662bdd962c0a3e26303f6009610ffe0ff35483ed08332f5c4a04a9caba743f8b4e855cd4b61 - -COUNT=33 -L = 1600 -KI = 7c645d23c70226fd6a22aa42411eb79a02802caa436520b98cc73f416b500dae23b88519e7e5d04dc16d3db7c347abed942a3fb2c48df8c37e79a618d898ff22 -FixedInputDataByteLen = 51 -FixedInputData = 2905a0fe812b96713abda6465639adb0155d24682ff78fcd2c0b0a6237932d9b1d54364088e6627b2cc159e300f732a6706035 -KO = 2d7776fa90e1b787f29a7d655d87b44b62aa1899539dd435b0489390cb91afd80fed86ddfe098c478a10338c5cacdcafc391cc00f660ab8ae5452ce9d4d9571cff52d26b3c5990aa0804a154279704ff0a934fb1356cd2bd63dc062b4b37c557fbc28a20b4572a07ca7c334bc11fabe454da29f9218a7cb4f739c3060062095f0ed4ad42dca074dcb88de984bf9d88d95518f0b5a70baecfdff452c4b7e739bfe71b0e6e06ea9ccbf3756b9eb9909b48924dc7d3170e008f9d81e174248a7b01c91cb71b313af9b9 - -COUNT=34 -L = 1600 -KI = 8fdd8af6dbf8f2b3383988b9cb00505ce19b99bea1c9537888d10811ec81db47f958813e0fb4ffbddee436d0a048fe0b92f5dd3a677afc457107f157df65a09f -FixedInputDataByteLen = 51 -FixedInputData = c14915b268208d2d807d33a3e976dcc68edf4a9002e7d99cae85a2e06791f466c178cdb2304f2f1e2263dfbbc6c0e67de953d3 -KO = bc44f6748b5b6186b1dccbbea9597a45e96d862a77bf88172d30145389ca5eca7babf806b65dc2f568f5496e979384b693d7c8be0de3bdac912ea0cc7816defc507866186992491f192a684b44e294fafe05b310c71015a05d2acbd9b68a47bf972aa8996e09f9df4b27c3ae3ad4bba91eb6470fabe0a4c815ad90673ec18c58a70b072656c1c95d2fa089e2b1dc545953d877106761941f0968fb4b45268ee104b750a2fd15c9fe1767e346156d556a9f4d2a5478eec2f9ba7d1f6d74fb99a56da13b8710bb4648 - -COUNT=35 -L = 1600 -KI = 655ee71a5f8bd167b3f19d5393af9ec46c3a9dccebc27a84aa7acc8cd119cd256ae67701ac6b23337cbff9af2151bfdd46c5f78bf77080c6ee1d33008da7b98f -FixedInputDataByteLen = 51 -FixedInputData = 1b626f314f6208291b7ac1a8ffa4667db85473be874b358870a522a68679e2fa47146e2ef743d5565c3c2789d23bccf0f8c36b -KO = 723e686c3b15545563c12996f4596497f0883a87977776b7c335e776a2afc7689d4d80bc4d1608a45ad8d2eda8f0093d634989432b139da270db1ba4ced714a50b21c69bac86b8ee0810fe65c64f41f8edee63a9becd783776b394ad18ad660cdc662473ddc4160316b9173d10d472033160bfe99395d12934e2c3dbcfac9bb110d35978906661c2952f0c277560137f751d0504e98feade0191c4ee35235ba7cbe7d55abe83dda3116c87452ec37cbdca5e030a06f9e84c82bd69bb8c5c921a24a115bb9a40f0c0 - -COUNT=36 -L = 1600 -KI = f02920f5ba1177bdea03c40516ec1c0567a031047232e7e9bd610a5bde21764113c0f79431c2cb83bdf83aec8585d196fbcb19c9167ee1d96e747da891bcc338 -FixedInputDataByteLen = 51 -FixedInputData = f4512ac54d9a5a6bc4a72b7a7f504663d0dc0ce7ea8ad92279050527605e18010aeb9a835e5fa6b2ac00a111e48ecf6b62029f -KO = 33287605e482587fd9293edfc6a198d126ad64947ff1e1bb7bae62b0c5c7261d93cd20b3fe123dea24cf262a399692d736be67ec54a59ab2154b71d65dd7c5812a27c22d7929fabf73029ac2df723cb8b772b2f7acf8bc15aabf3421db88520425e43b616d61c3b87606325f65cb13d098951cf4d0861047fa14f3a1cf9693efa09f4b2fb0f4c4ed0e1887a4766850a8686e004247c785c06f44f4c9c30cb0072ab518b2659c314569185ef2e9cb9e11648adb93f26347b958cea4d5a26dd19c6b9a91f24531c04d - -COUNT=37 -L = 1600 -KI = a79cafcc8220998a275068737989219450ffa25e9d896a70065bb81d45370b7025e6dfc96da1d906a51bf2db69248589341c6ec12b6b1efc790e498d160a4d61 -FixedInputDataByteLen = 51 -FixedInputData = 283a4acb8e0f3994c4bb9b0341a8f305a45befef8fe1fbee6d2780bc7b1ae47c30efe185365ecfb1ca85fb6ad3ba4fc1c7d05f -KO = 3646816eafdd53140f141144242900a689b61809e3cefa2118159b79b84e4585efc13aba285a487bc0549109d2395f59600a1a8ee9a9c412711b2e8f4275599a87039f048558af41d1219d220564ff052b073da5f8f5315e7f80fc694fc017bdeba2e588d38112e5bfbc944083a1c7787065a84c23dabc6f80dd27339d58be8f23b72bb09cf3413e42d198f9e1a7cf60e736fc7e946ca040ebf42263c8acdbde77309c9d8e4896a9c92001f763303c2311b40508cd404dd74a5252c3a04e279494774d5bcd197ef4 - -COUNT=38 -L = 1600 -KI = 615a3190da5fe9629c4bd850797be1ebf8e0f09a19320b5dc4af59a3698bf4c49375c62859717d4e3fefea95d8b1832b9bf198d3686089c2901f12d200d9540e -FixedInputDataByteLen = 51 -FixedInputData = 958c635a803bce731b8bc78b0ece9986f5d1ef68b352ba376eebf0f6643ac2e7293be6a645c6c692b0babdab832f05b30a1107 -KO = 9318f79b6fc1ea3e301cb1103bf13f7889dbaf32334d8a77c506f39142a93de019859d7351343f377c88228cffa516f895363bc8d3bf141932ba72efe0f5438e0c2dfcd6549e5199efe87e228cbe20e13dcd5554e355542e75d8bc1a76b3dcff4b8f79dbbbaefbbc9f114fad3330fa1f9114ba8c6cb8f348c1a16c6cc0fefd419ae222c4787de0d13b0732b19790c7f4d8a88635ecd2978b15f361eb3f320fa404fc87faf82aa193feba3ba2d1116fb59c0fcfa7d153968401371064d2ff4cb0f20770aede588f9e - -COUNT=39 -L = 1600 -KI = a4efed80dd275cadeab4f09f35fb3ab8bb0bb37579bb80e277214610c04ec7f9b5ed8bdd592ff3424c50ca7db90fa5db2fad7565d55d8519dea61d15a62128dd -FixedInputDataByteLen = 51 -FixedInputData = 9b12ebfd5f9085ec33f64dfbf1f36b7d4683346242a5078f275f99d9f111dceddf6811bc5d052005a698dc3619f051e6f32cdf -KO = d890b5e7b3ef177bd04c0852a2f85b5670ce8026a18ee543e18fffe13758466d9aa7678418e615d9389409cd5c3d0bc0d36f75cf49839f6143a5dc0b9272d6d24b6588b3be92601adeb5c2928b692b8b047cfbb4bab95bb5b40329ab5ffbb862bf44dbff21a988ad0dd77bdc9fd352374588b4a0fd35fa9f0404d5c304bf143f087101f2d9e1e32f6f5953647d13b10d732627650123216e5ebbe487dfab2d0f11533703dbe2e31faab0d6ef7edaba9e9a777b9f1e3a14569e4182b185765698c53d4c2bd922a7ab - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = b670e55f975eb6009dcc637b60042fea5a1d854f666349fea1634daee5631a49f3127fe52363bf30ce624a24ad14b481939303795bc3487bcaad3f42b870e34b -FixedInputDataByteLen = 51 -FixedInputData = 97f360f5e693e61de3dd2952ab4186be3ace8a567b198496826d1ace33aed95df85d588c37a7d9c7fc0ade19e03b47d7575777 -KO = acf668c553826dfbac53633c9ffcf789ab401a89ffa9d062419ba14fcccc9068b6ed74fb0af01d63c35044800e7444f9b903e89a56098b2e8045e14ef1097ed5 - -COUNT=1 -L = 512 -KI = 3cba21879f322887e6c8d733d23dce4273149ee2b98cae134a2802104c37d4d5244abc9dd88dd3cf8724935997675feee5c8a4c85b8ea0baedc02aeb152eaddf -FixedInputDataByteLen = 51 -FixedInputData = 6e22056937988f0bad49ab11af3a09e3f846831288dbf9be9e53162ed321630e35d83ebb5ca296dff7e246d6f06aaac312a539 -KO = ed9283a58890ea0922ee536fa9d87b3997931fa62308f766ac6235a7724015afcbdb8d5a78301fb71e9c091cc0335b2c0b731ce11cf633b01565e32b4dae3c6b - -COUNT=2 -L = 512 -KI = 5b654f22d9043d735560ce38dca6cd173feda3d840ad58042e440f4666592eed22901de2a480a4e8008a2fdc55cd72037451ed40d7cf5ce4b2ba9e0fcceb9d8e -FixedInputDataByteLen = 51 -FixedInputData = 74bb430e5e09350be1525256ca09917bf4ac1de5d23bda29abd45fd45338481cfc028ac27066c8f05e1bfabb7825d469b364c8 -KO = 8503ba6602957d0a800b6c0f747026727b0613d4e39c694e0d093b298993bbac52a619c44d3376693a02fd8242ee230e39efb648830ff8813a750d3e232743fe - -COUNT=3 -L = 512 -KI = b31956bfa137ab60a3c698492c293fc8a7135ea9ec1f5c408e198dc75a7871e0dde6a10f0f7010c977a1af1dc8dbdc41595d9535240d832dc8ccdcebac4a4fc1 -FixedInputDataByteLen = 51 -FixedInputData = caca61bcb54587be4e56b45b60c4e7ea9f190597d5babcd80304575226b5ec428129bfa8519f9082bbe6a44740f59e1c4b3437 -KO = 47ef83dfedbb97e6a25fc33d38ea539492d7510fa9ab323bcfc5d2932eaae3a04773f79f565c59df46ba91e919cc8bd825cfa169b0959b8c5c4f4b2417b91d16 - -COUNT=4 -L = 512 -KI = 1f3b6ab63f2f417b0c929b4457087688156b0b7b98ecfe31b683d689c5205f6f16dfdf089353e8633dfefa9afabcb24021c58f4a4c36ff6fe52e03d3eda4f76a -FixedInputDataByteLen = 51 -FixedInputData = e33139eec419be271f545a44882fc2d94428b81751174dd2a953b776cc3d76886092699865f1f976631b02371a2db9a58d5512 -KO = b838acd6ceeb2843da8d5beb635934523b9931f9505df2915355ede9a1ad129e7b74ceee34587a1a44fb2b0c12ceee9e8f5df6fbceee1c7260566bbf5a2e1469 - -COUNT=5 -L = 512 -KI = 58754ec1f51a06e1a9b3fb85c51c3fa78c1e363ae2b4265cb3d118521fdc92f7f7e03d4c5f99d1bfe40b65d24e810ff7ca00f3f28e2a40e715afcf080c7dcc78 -FixedInputDataByteLen = 51 -FixedInputData = 541bff22b16aa528fdafed3ae9831688eec6542881454decc19d1e0551575de85ae8ffb2b4cd77361fc900ffb1914e173b3c6d -KO = 769ef0998a1941c7c608911a4f5e3cf04975412fd2cf77aa9cc7c93b0a2a53236f5e95f005361fb5b00acbb612dacb7f17c6910dabb5731b96255c1899a3f2b5 - -COUNT=6 -L = 512 -KI = 431b673442188484ba5811bf4b51e51c3518439c7c665134d867ffb7057cbb7980ee1caee5d472c2264205a74d47be9552e8bc0474f66e21b16f0eacbf5fe4e3 -FixedInputDataByteLen = 51 -FixedInputData = 85d979bffdb30737aca8d21f40dc90a90afd845c7e2a55871c4c52603ab282735dc4a04046f8791992e4ea528cb609d0492c4e -KO = 42e21a2d1c377ec1e3f13265d748f31ea117a120c0d451d99b33185e7c5c0d7deb3a37a83884a188f82f5263e17ae6674658babd94a6b662af2320cb911ed83f - -COUNT=7 -L = 512 -KI = b5a3ce426360be64b50de6986c7329c0c3b3965f52f251c2c0a01ca38a61759f48267edd83244ae788fc3f3228bc30db94c008a8098928841c05659e51bef8e9 -FixedInputDataByteLen = 51 -FixedInputData = f8ee6b3ad02ff6a4f2f53e7bc1b5a9cce33371fe907811910afe2bdd0e14f0a0e9245742c01551afb1e83606f02594963ff5c8 -KO = 035542fbb7f0dbc71e430a1895e4c0a882db5e36c6332f99dc3119ca47bb0eb0993fd6f038f9077b3ab522815b501e345c0e8a99e6aa7b0f4a80abbeb4b88071 - -COUNT=8 -L = 512 -KI = 7fb3e8f097bce504c41490bc6dfce6648918546e1cc0058fd43c0f90bbe345b752ba7653c58dddba1979d71cc95ccd9472291033a8cb4d5b2bf21b873dc8905f -FixedInputDataByteLen = 51 -FixedInputData = 22c2adae9ca47237982fa9a1abe12d20b355285c954183247ee7515a3b56ca7642888404fd2985d34497b7248b85e95bcc6557 -KO = c4625990339a750417c53946ce4e9ec572af85ee442e670d69628960a5a727272cf21a50919cd43ff42aa520f8cecd864b99f3a1512a434cd1817391a4af1e57 - -COUNT=9 -L = 512 -KI = e0b96ed10a5ed6229e02b43c314f46e42cf3a2b29e3581a122e8a03b2625139767f7277b15b594285dbf811ed4ec54fc5705ee0a030c04877615c6d4c2e6ee4f -FixedInputDataByteLen = 51 -FixedInputData = 983fb4813ed9edfcc4112c3070d16643f366013beddb7d4147687e0e1b1b90dca24b885028e14aa791726b7013cc4a5da79957 -KO = b4307e828fa02e489009046f823a94782570fd93fe798a59a21a903933ad2fec11fc282a350fc8c6ef467b3d44bbd1a9710f6b7904f2d57758ebe59629fd2538 - -COUNT=10 -L = 2048 -KI = 7116e5ec37f748b8adbd966d9f60c4f87dff9f6a48158d6b55db66234b074e0131634e2364b242414fb0add0da16b4a4ee866f08fa46fe02091c6f98c0db697f -FixedInputDataByteLen = 51 -FixedInputData = 4a261cea452302d0ed5a163614506dd87e2a0580fea37b76c0647cbd30301ece58838fdb6f07ea38032be48b71e0f660d44882 -KO = cdb558486cf0fe3bf114fb04a280b90fa5be989be0c24089078e99e1cd8621dd95bb42797313c1da9d8ea41aa4040c64c3286b4d0ffa333e1e35c42974ac64df1f23c2669bfdec40c1295720e971b6c71fe2a93008efccb24b6fbf83c94702bb108eab5306431bbbe9a25dcb961ad50aad5d1ec3acd21e47d2367025fecc235d7990524f37f5eee5e27822f1e9dedfb02403a6a5c139eb8fea860d6aa5caf2c3fcb38a9106c692b183310a32a1916f00288c3c857efb15b97ee404c950c121ae515231ad21352ce40871545436d4cf29970277df3f65e883b33150d66a321421bef95746b6db82de37479d765c6a1a6b77b14969f7b91712863133ce18b4be3b - -COUNT=11 -L = 2048 -KI = b5cdc8b4f2f14b8e0acf7f4dae34f15fc0969ce7ce6b3e413ee7a32a8ad8d2235cf4f0aa50fdf85c10cafa2f9e7620e63260a95e903f91383befa93be11b7d04 -FixedInputDataByteLen = 51 -FixedInputData = 938bf7019aef2d6ae442c16e1ff398b02531a193ba3db0b9773fda3e38e65b772068da550cd38c0ab0951d57e0f5e9bd7d3809 -KO = 2732e0f153e0594c4897fe33d62bca777690413485fa9e0611bed4c9cd4af5cebd7e815617b00a380eb218d6783776f48cbe2b0cc507ff67ea2bea254ad41e63acb99ba788eaef1a476041f039d19017400c0165c25ce331c7f5137b5083c177674f8e43a5dd1f57b34bf3a2ff86f654c527b9949cf17080d5d86c8c3df92b5a6f41ad054f49fa8a88f2469cbc2a5af1e73c214d56a28db03a8846d838a8fd3320defbd1d236636ef455205ce7ea5d8042e29875216ef4621e20fbe9ee7fbbea14ffb04a6512042fe1ed27073dd4ded51b51a5b886124ead0dc8f7c7cf0de5ca355b407a0e782b4ba9b5b3124de8eec62d13cb0d7ab8d52da84c09902c50a999 - -COUNT=12 -L = 2048 -KI = c193789d373d4dbde8bbe2866ff06fb1efb1ff3e0a40a41083bbc96c3dbd52c059eb0a7eb4b5367459f9ce55e942cd12d7c0376b54083c60c0df4199e0938e93 -FixedInputDataByteLen = 51 -FixedInputData = bb33be41d73623321def425f8e3d73fa739b08ec88699c9c7ef13cdf2322b6b66698d7352122d2bbc2813aabf26101bb384247 -KO = 538d0475c71596c9aaeeab29e30f0d0530f9b60140623503c8f3c5cb91d14e41a4bc4287b1bfaccaac40135074937b6174c84cbcd31d10636819eb6b5d49bb590d79d55bcb8420d644eecef99f192bd4605f12d9b50c4e77c22d390397bd75441f6a099846d486bd48eb0a1aa1641e1aa811f56548bd4a03474e1e1506e2a42ef0e9fbc77f8a7712e5bcc2ea846a44d1c2e1b9568ed77d32ee173c7a73e5d2867056aac20c5af8961a9d59754cbd5f73235b67b4b8376417d781b324151d2097d9decef278447c186abcbf33f172c624d7ab881c7d746b3052f2866d0f576d7bec586ab8d5b10342089909ecae22af10aa904f19c50b2343c9d7b74a823f3aec - -COUNT=13 -L = 2048 -KI = ce3c7631ede6265c6bb9205aebabf7efa518980ba5bd86013bddf1d304173ebdb2a2ffd09fcdb437a70127048cf2f8527f827e0012d63d095bd52f18904170e2 -FixedInputDataByteLen = 51 -FixedInputData = 8e3ae6ec1c81ac73bf5e5e318aabe41d37e30d159a790f9cbb1b1debefcb1f8494a35ad6fb2362c7fa2471f86ae498c1ccc51d -KO = 2111edf66d7f3d494bd1c32b83f0cb919ea350e1f328fc5e586bf901973077f1d004f0bc0ace03688055d9f5510f20f8dd8800849799be4daf7ec1d6cb0ddb1de39fae209d258a679bfce07403da1a6ad80a4a483c5561e73142b17618ae6ae99c31dc1abfa3cba677e0518d832f38f679ba518d2c48e8e8efd93bee7c456e82b784f22cd1a90e5895a297c235db98693b89295e2aa53c84c3f831dcdebdad0ff00f179a384cf16e2ca1fbd2887a9fe3694c92fa3def0354fb397d3f3536d2cbfb5744f571fb890108c20ed71148dd136dfdcff1bcc8d18176d8349371ed84570a4713afde12a0ffdb8e0471add7be35ea33ca0bd3efa6e690bc91fd48b20d04 - -COUNT=14 -L = 2048 -KI = 1e97c8415bd12b6fdaf24e81052f0b9a6d47865ec2d6afc4701cfc53833459f82b7f6eb70df1f4bd492238fa2a0d6ea431d8a6db0b29425fb0d4ccb4e00c2fbb -FixedInputDataByteLen = 51 -FixedInputData = 813b7f080ce46c2df8262e018e0ae449ea31839b0d72367ca76c5a48c71783ca1584714c313b48cb8ea50e27d40aa33bececdd -KO = ab6bd4638c86934db50a2033dbe0495d4487a56669833f53afa1f7b1c9eb134a2af65400ecacb1dd5c2a96ee4b9ea3c47d7a9dc8720655104f6497d19867c93c88c91a773aa8877396251f3c6c4755a7456e24c3a4cb8a5ed42351329d100241e477c025a60d9d3540f8b034502ef2fdea37b74aa511f58018a1e327a13c47f5644cbaf4a6c050afebca01423ce2d50423aaccc960f51c78e7c5c88e474fb7939842c168160db0716aebda20298082b87f8d8e01e1e8c86587944a4beda06b2671e519ae8b380b280e3e1d22e234edd06385fa7b2e0e06d399371621ca7876508e628b4dfedc257e112b8ef2b9741f1668817f8b524ced0df1cb2fc29158aca1 - -COUNT=15 -L = 2048 -KI = 56a0b3b1b0f3b7fb3c45af70376191bdbcccef987aae7a571f6b6ef1eb14c518e152b7e5a23549c786e5e9a4041f1d5d24a6119c2b5790ae32d60b41a599674d -FixedInputDataByteLen = 51 -FixedInputData = e956bbe076cd09cbe4f31d5909c1a4b484c71b7f90836155d0087f9b6c7c619720a43b287ef50f2e9784f001836d2498bec4ac -KO = 616e8223e5b12316ed22c30f000839b2fc2a02240e043ea8fad8094cb05c7d9cff685161c9fe6982a384add2b71fcf9f9d7ffa9341aeb9bfcd9cd2115455c0a75067c1acf26896aeb3ae7f8ce9afe63c5a9a60af0db0c4d14706ead4a78295bfc1b05d1a76d71fd8e703170682b7d8c4480704cc200d34b40ccdc09c31f666b0d6cd2fb999d6e079bca5cb201a575dfb1fc956abd944d0aaabdeb208044f4db2eb9f17b2b7894cb3db7a8c4cd1cba6aab137017690cb693a9c1f82e79870ee0a3716480bbb8ae24eee96d86bf5b37d19a41a6b218520ca7ffa73b2da82f61f95463b281419d215b769c1bb7acc28462bd7760cd0454e8748555d2756e8bf8d8d - -COUNT=16 -L = 2048 -KI = 4ad0e5e6d8d05140a83b725a9ea8804698319c7d5cc5f1932dbf7cb23cd01f4a1da6ba66f4f19d1ef4d7594ecb1f4e079b339448e4e82cf8c180b015cdaf6a4f -FixedInputDataByteLen = 51 -FixedInputData = 7f14279033ad3cca1b087fe51c03fdeaece383af0000d65e130a0e445376823681a71011780f976b3cfe4ca11124763ac41578 -KO = 467649a5d77dccbfa881fbb985d429b7869fe618b7452772370bcf9b5711b3ac9f412806dcf5be04bb207ee434cdfb52aab7ada92ac08142018584012525be943bebadad9fe7816ff12ded7c19b0db74facd0b6eebb9ece0413a1c0eb76a55f02b01ba29a40a5e63adf5241f5af791ee7bf5ba91d9b4284ee14f36423f42223444c7483cd2b3f45c6a6156999f535fdc4859ebdc0d343df4c8fb562c4d44fe5a73bdc290b927aaa034a00f1b8b672f1f2448c3bb5af3b3aa8877f85685b74b7aa11ed9f7111cfc9d3d8730d39fc9fff18aaad4222137c28d68a8d1338943a2fbbb80b2cf2396412abc8adb6bb2f6d875e578379ac517216f44eebb970a1ce40e - -COUNT=17 -L = 2048 -KI = c370e7a229f4b95cd7a6604744552a87bffecf57a6327d670d11697350dea6e6d1d6dab5fcc0e0b8dfb7b7e6df44503600115125defd244e7aa71a824d4e8865 -FixedInputDataByteLen = 51 -FixedInputData = a0af1b1dab5695c68e904d3d413d18ce20c1c0e824c2ceb3e98d78db3b5070a8349db0ba5c5fc4dab8598c5114d64c6aca4b50 -KO = 1af3a3de739fa9c9104e13e9a07a7999197c1e0d3184c1009206730aa94d47da88ee74af20296b4a2d715b3514c7633e9baa38efa7912d56473a78135a93274290c64f02daa4ed39dedde84595c5fa5f21137c0ca6dab946d497425ed31ff513e16e2fa3f90d94170427e9146325ef2021a4357f473b35f92d1c0ece3b4a0ca0bbc1f0493de51f67f0ea0ed652d20b0b30259a618ea4cba06a718ecf630fff2452d79f7cff2e4c2355bfdea61d7a8d16e8ea6ea080fa189988d3739fae4245d441273f8f9a62f293b354be0e7f79de56b16c75bb15f3977d59330f305e26afbf1aa8f08ac0020015570374389ab60062944a6cbe7a2f3cda0105d7d969f6c96b - -COUNT=18 -L = 2048 -KI = 46952966aaaf63b07e17cab5cf003d07e5848c1358926bdc85e27687119b3290e3e370f6e363438ef1c72a8a1bba456ca972881b9d8a549131933f03be26272a -FixedInputDataByteLen = 51 -FixedInputData = 85ff8c4ab94f79124c17b36064d2934c70bbec4b3df18ec44e69338578121eb0458e6c3543091fc6bd70b1675329e4d5ab6199 -KO = 671bc8fbefc552ebf50ec6e098adc7c3d5482e4c6b44cb1f3710600bb0c3722e3d53f81e5d328cfb5bf9e1ced0bba4d5bd710dee192c182ea9bbe7cfd7e81c8f7750d7af2517ad53c13453301616f8684d040fb39b68258fb401736ba70205fbc0a28f00f68894c6053e9ddc5a37f7bb51542f84d46910e2ece80bdca484e00dc69ef53759dda64bdb17485ec4704c491a5c0983162f4a48d26b795777ba12296c5d17b7d2a2ca0dbd78308659502665a9baf378b73f94744369332e8bdaf9f68cf3709fb5f4cf90f78998d5d95da7d2827e16ab0d83403d7405b8b48a45a7349aaebfa33c397a2aef7c8470873faa8370fef5cf30b1b54073c0a501234d3840 - -COUNT=19 -L = 2048 -KI = 6e5f11ef2bc16e392a31037f5d6cb0101643bfac97ff16484cb1bc9b1c18015d36e8fbce7cab4a992769268097e99ef6ddce64a467292a7ef404c58089737a1e -FixedInputDataByteLen = 51 -FixedInputData = 2e3fd9b611b57ff8929451a803c43e6dc615bd0a0fefc0a9c0e5f298f5cbf50aebff7995f2f0b30e73c9c70b2deb99125bdd3e -KO = a4d4a551ffc657258f81c7552a37a000b5cc29bb02654354ef29a3101297d64507c89cc2956ee3571e2117e71cbadee175241e79ff4e5508e681f545c356adc83c69e77620c1d7f6c48a085ae4dc08b9fc9c3e1a389e14669a3468a28b95d1a10cb813534951cffb7bc2bfe367e20c7a3f76b6a71088375c0b072283e34dc0bc28873753c909f23f4e8b35182a43881adcd225015f453597736d6b0c60cae5b021f64c3ed61a71dc775b8c1ef9e8fe836ee894f8c1c351320e081f341994bf1b513ebc413a45fbae8ecfd9ddca2ea80425674b54476a0ea023006383e40f89ce739917f94d062494fa323c5df794b61a201bcb443d38802ca04ae6e86b09fd8c - -COUNT=20 -L = 560 -KI = e4a5abae2185f487c656da8b0809cae7763db00240ebce33598746baf4e3c4f44b5c48724375d62e8ad7177eb5e8cbb39c8d60035820e893d824171a22f7bd87 -FixedInputDataByteLen = 51 -FixedInputData = 7c352c1be2d8478a0d03145621a2845e425678ef28906aff038fb28a135298ff3876b4b121be826535eebad6ffb2c4b2dde401 -KO = a982f00ffb3dca7f5286fbc9fbce8b2a7a272a02a0ed2126af3ff2488d0b6fa69ab0d2c403a676879e3eb7d4c52e960e6298352f8544cc9dc078296b28b92d2fc475f56647bc - -COUNT=21 -L = 560 -KI = c0a0393f354c3aa2235a754a0eea49a853eaf426ebd6526a5ae37d54df24b6fae26abb634a7f2d8008305bac521b8cd074cf6d8d6413c19fa0fdb8db2be0ef53 -FixedInputDataByteLen = 51 -FixedInputData = 609d3f20ba44bf117b42db6566aa7d781d8756bcc6c644d7f008f3007764544fccb536706da6547f06cd649c03ecb8ff7ab3c1 -KO = 36fa3733c76625e851eac93fa20ae381982d63e674b1e5fbd8f5dee2c69d15f6c9f41d89370ad6b4f5386228b4dac7e2441b42fb0069b5e8ee1b9f24e045dadee36a9df4bc1e - -COUNT=22 -L = 560 -KI = a16401dd1f992c4530ee21cdf41bcb9c3fcc457a6be091ee355a8a840895c454977d59f0094135187a01db5e18842391ce07ca908815c95b1fed03383fac8d6c -FixedInputDataByteLen = 51 -FixedInputData = bb0bd6d295043645f217c092b041ad0c3c121b315125417b5fb73145eb5bbf803fc3deb24c015820b84533048a3f3f97ef4aef -KO = 0df9dfe96eaff80de8b63f3405ee8868ddf217c6596da07f2fe7dadd2cf462d6de9bdb8685c8660f6e4926ff25752d10b1ccd774783bb1420316a2b70fa357e55f8176f32b4b - -COUNT=23 -L = 560 -KI = dfe2f54860e7dba82a24beea3018cdf792ff0961751086595aa11fc87ab911d875c9236e12fcff45d4ebe1cac5b65050c26c2e0c567796fd7c9f733185e9d669 -FixedInputDataByteLen = 51 -FixedInputData = 3759a8bc53c39f653e8f0516a473ae1046be4460065cc79468d59664526fd379c479a3c6b741ad46e1a1e638b68012fc32f32b -KO = 4c07de569a90d85f656a8f89551cb6b3d184ae505ce9824bd9ef68791fe1a560be320b76e9c5e972766cb4a6298e9102ef7f9f88b2af27ffbb527ed2745c357cdd61abc89558 - -COUNT=24 -L = 560 -KI = f4509f82c0ad1e4320552fa6c8cf4c47936c6bfaa309779ccd6e985ed6840321c4a350cf198d18adcbb9deb2901f4fed2519945593526dc0704aad3db4c1d4e0 -FixedInputDataByteLen = 51 -FixedInputData = 7c2230630e837cfcfd184cd884be69cbb9adfb7853fb67c04da0c91f70d7317076553dc67d366e499dbf2f2f3e99cbb1387902 -KO = 2bb6b3e08881c02290e9810fd022851f03cf8595aa29f6593fd9f9af98736d6fb8e3873747932ad9484e134fb5b67bdb41eaf882f96e23166a0bfe3835f7ec770a329462a495 - -COUNT=25 -L = 560 -KI = 2fd8896e29fd618527382ad1217e89eb960d38f68157be58d5780e02327bc0ce9a6d31b7a9fc14daa146c4b75bab60624ee3dcfa4c2525fc093b79750099c342 -FixedInputDataByteLen = 51 -FixedInputData = bac445acd82a222d58f5ca782a863e877d19eb4f5d8f2e68d49d7c7e9ca8e2bc66a79f20c369dfd9bc5a91974a3029102dd6b6 -KO = 02efaa6ec18ec86f83f06c9b8bd48c9a2c8f2ba525799ea0617e41d08992d43a0488d5e5f5ffd74e42918ea6991654dc15984751d841e0a93bfba027345a6e3279feac354228 - -COUNT=26 -L = 560 -KI = 68ed5712e1b3f74e8e02ce32385ee2f37401c4aa9072152b8cee878f33d49a5399a4ff737190594d0a9de0f4a8c75dcd3d5abbc2205472b646682b0524eb22c1 -FixedInputDataByteLen = 51 -FixedInputData = 2fdbadab05530c2f862bc1cc6bc161e36d2f04a8992d8daa782224b11b83935aea42c4a958d88812cbca832158afaa9b55a6da -KO = d8572ebccaa94ed2dea5294eff2c60e2622dd06902de2835564a546bcb56248519a072efb16e41e646072f232b691e1359fb75314bba09ed6c7ad33d8cc18f3170212e2d23a7 - -COUNT=27 -L = 560 -KI = 4d8a4f68dda734faab4c8f2dea391b005e50456caf79c6d3dbb0f626bb2d45cf336d704903374ced6987a150d1cc8df7ad4320b13eb8ad81676b84f4da2c3b43 -FixedInputDataByteLen = 51 -FixedInputData = 6cdfc9e2e6001dedf2d551639bb953fde06d0658c8d6f67b9ba83d44a61829b17ebd6fae539b0e6c0fc11fa88c231cb97c5119 -KO = 4a6b98ba33d5d2cd820a3db0a6a97b8293b9a52656f02823286f4bfd466cfd1e7e0c9449cb85848d5fe25211297b1c7686739c646adae87ff90af44d042b95d643f530eb80a5 - -COUNT=28 -L = 560 -KI = abf9a6494443f90c2a4ab0ba8adae806c5116f1a7bb09503bc80886a5a34bc58eaa445b3692114cada5cdf2073218c18b93f3adfcddaf1fb89926c2e41fccf3d -FixedInputDataByteLen = 51 -FixedInputData = 1ed3474b68c62f349ea69923c9ce9fab18dd8682859d034c3bb7f3a935a0f4ab62a72524792e0d40c41713f33269f9944c6154 -KO = f34d0268d3592d899cf7f650e361a9450dfa73d9f8f9d8be6860cf0ee2f63e2341cf1576dd9b9c0dc707f6ad775b324b5f24f9c2568dedf0bc8b602d44f0d548d88c4c33c8be - -COUNT=29 -L = 560 -KI = 7daa925c39be621aa7a0b8d88267dc35457b74067c9881a9d1a9aa6234649cde4014e1601bf5e5f4be97a3e4a0b4d226fd0ec0647eddd3e272def8d9b295e675 -FixedInputDataByteLen = 51 -FixedInputData = cc70a074c617e84c383502c3fc5b97f34627ef3acf48cc977a3d4044604bc0760f23662ca17093dfdda531fb90b442cf89bbce -KO = 277fedeb86388547fcbe68c39479221df3271d5a9a7c7ff8ff475ef8949684a288a9efbc14141c4de0927e66d6e3f0a40430a73d3cfc75ab9e1be572651d5a784cbe73085bc8 - -COUNT=30 -L = 1600 -KI = 4c1faa320312fad0e13f8fc78acb71390b74355157e17c8cf30a7c9fc6074f1fc14897a3a49420abd4b3fa59da75cd2bcb79cb8caaa5ea6db04e819f754b3d7d -FixedInputDataByteLen = 51 -FixedInputData = 4f2cf720bbc3975f6c4666c31c244a14f302851285458c452fa8dde07293b14c2d189d3c665ef5cd61d767e50ea842f2be4d16 -KO = c18eec1c85225d7f4db4125ff855c32d2e6b30ba8320230a6874f8f7c79c8c9d1847297bc51c0e09556c4455d131da1ea2fd9b73fa66327b675f59069ebfbde9bb437b2c2dafade746b081e61af22774e38bb51253705738559f3af4c6eaf0dba42acfce494c63641f971010a06d73cea26e66ff33ea5d42fe3a7518bdf96617f14fb2b80baef2acb037a8992917614df5101e3dfaa97f0c5f3037b82f787da03ae729f6999b3c03f1fd3f6e0ee79272baef9d611b338fc2c3274862350700a2bb4a06a9ed3d0c6e - -COUNT=31 -L = 1600 -KI = d690251821a633473d1c18746ca23cb0215acf3a0b5c235a127201ed6619492210d7143aaabbad99c068330bb5da995c421ec9f9eda757299c6476346c820a64 -FixedInputDataByteLen = 51 -FixedInputData = a9be79bdd3f6f267fe80a3b82337c6a46747a6f78ab28056a8273311be3fb98891be35eb675bdc3fb536a765c61b09a3d7bd82 -KO = 2d4aae36b9dc0884d09ee6c041b68063763874796839108c088acc25ca5b3f680be0ccd9683b47533cfae98cbb1b7e681c6ad151a603e444e6f8209347c53cae05e5286099c664e904339153d3ca51d36e900d6a4cd0e44e8778bb957cb70334cde4574a862762b20b1d16db581b3502dd9f55c29c803702db09876f5c021d28fd2f39b54e40fadd347de5db8698f300364307550f0c84db3bad82beae998b9b198d01cb85f8f9d89088cf8f0b6c44802356f972f6a453b1d0674697674abde9cc2478bbe66101d0 - -COUNT=32 -L = 1600 -KI = ea7ce85735656915a694a3022a6078a562679657e28de9bb3b2e5c751723f77bc559f7fdf52ce9d8e839f532b39634bba76cb33635016d1dd28988ad0d82dae2 -FixedInputDataByteLen = 51 -FixedInputData = 0065c04b7cb74b05d29e5973fe889371749226be20e607bc41ef4e9b37d751821e47518766f2827994e2720bd376b2eb71a292 -KO = afa1890fd4c4b1ac4c90d2ee0e770e421fd62a39b6c18e1e32a3c06feb03c9ffb801e8ecab36f5044b66e9fa097c3e49209eb311868aa58fcc0b394485de7993839fd4ecef6d3d55c38a091349b138cd24b6a27c017dbf77646980ca991cfe393c205903d77b2855a4fdd182a7d4b0d82dbfe0aa49201a27411901823f69e5e0f9d0c916a3698fa6e3673e61756a56b6011f8637675bbbf94eea5dfa5ea07f8f14114cbb1bedf7ebee8f4f4b7ae420c83d4921ae1c2efe71d51d1b20f631a1c04369aaf45292f1ab - -COUNT=33 -L = 1600 -KI = d4b8723adf7ea101cba316ecd57d1313296b3e3d64684c0d0c19618dc1fc61f5eb81c971f83f11dc6fd2e37f05f45ff2dbd0220eac705d2abb33a411dcfef215 -FixedInputDataByteLen = 51 -FixedInputData = 637f0151d6ed6a46ebceb52bb09c4301fed8943c9fd27e1dcc02c003f56c25bd71e01784992974af72bb0b12be600d57799dd7 -KO = 8b0cd11368fb67bc66253d51aa0cf65c921a997930550073551c6d969cbeeafb5168e6cfdd171fc5025211f65f373be55cd01f6e8a8d3f1bba0c6347aefe7d009e889bc411c73c1518ebe6cecf04ce5f1059bb53b966c1e4a487b02254b10b6738328218726bde5a1b1dd42af136a85e7ea77c9f3c718515d5f15e2a6ff89798aacd781332c0fce46da533bc9668de0886ec0f0f0a0151de62fa6e2c41e680442cf8dfcc788db0084d94ea28fc30b4ce682d161626a8349846b391b5711b6cad0592de334cb3f3e1 - -COUNT=34 -L = 1600 -KI = 449d3a19c71533947459f139198bb47e23a8a9fd5fcffe36c18b77e31640a1a6ed4b63db91d99a9bc60d4d36748a2c6ef870d02a01c00066eb0a9c1acbdb6ef9 -FixedInputDataByteLen = 51 -FixedInputData = 6db7f9e9dadffe967e900a193278ab000480e6c74ecb0dd236edb530f33589b6f900bdda2b03329c0ba1ccf929318c049c81b6 -KO = 19e85a66347c496e6c249e99d52e2babcf716717fa93a63b75b73e63bfc89946ed713d77b596cacaa98cd33c8a3f0a1fb39e3ee60bcfd2ef32e06ee6ae008ab59e14d1251bb6aa100f029d874d51eb5b3f04d392e2633ac907a80b357d251ed4c60c1f8d084173f38ed71b7f006631fd9a2200045af1d41105f0c1df778b34d7601e3b179978d10346204e9cf261da329285bc81a72f12cd6d74d43660ee5f669e4dc1716b140f72b975185708389dd4f7f064f89e309ae8a611be4792db0005921f7b6e7147c8a2 - -COUNT=35 -L = 1600 -KI = 8d2af2fbeec40369b2cae7010e9c55f1229fb820e83405aa565a2d402fe83178b4d5f32c8e1e76ce44a7eb139d084e9c99f9072c68ea105950e4242b56f1fb26 -FixedInputDataByteLen = 51 -FixedInputData = 111f3e098592870b281b8785b6f524871409a631833aab831aeec1abef762c0d972f9b9a817e9d7a2eba804ae97c8d30366e9a -KO = 5f2946e21de89c74abd6f7d4ce852a443149244ddc2f95edccfa33e4c1ca416c306c49653950814cb5912a27187c77f1dfdd80fa00f641cbacd72aa3fb04b1315fa13511056bdcbfa2855c90ca20b38fa23d6329edb7b8caae1b0c37fcb82b5edfb6381a90ef832d1ca27b69f6e4a5c462e326c47621ebc9e1385de42b265c6fea3c96283dbe942c52c38e0a9a98061b54cf506736beaa4f963067e21b70ed23a90e660f99079bb0f818555589e6e522c3d14833ef5ce1d847b191e961775b06367349c9713be6e3 - -COUNT=36 -L = 1600 -KI = 2f7f4663b141d0dc2b4334089b481622d699f9a01a0006be6572c06a5e3585e81669976a0759cabf39dc0e96d3f06376d7635f872942062139a723ff88702f6a -FixedInputDataByteLen = 51 -FixedInputData = ebd8a6ff49e0e1e686d4456367fd8829f617c2cc56d44877bb802ffb0b81c31c82c454202ec46d148935d559b904ac3361e4d0 -KO = e6b8d96173576a4442bdb3982cc6f8a1a1c5f5251098696545c0ad576c9c2f61b15cc7828bf536dbf99efbd6726fd746ce0c0e5d5ef56fd3354caa77c08f99197b57e3f358831ff792c66a03f8f8c8d392055280c22ab7195d7251a80e5969a6547c69f01aea1e30871aaaea6092ba71ba28b8c2852cbdf82b4d200173198931d6596e58a1c93968db948b592ffa2d56b873e8daa5fdec1d2b55dd5f6cd79eb4a3344009332fceada4ce5872692e1d9bbe64c9433c5cc2ad0b4ddf38ec86fde203b298384e2222cb - -COUNT=37 -L = 1600 -KI = 28ce25472975ebb44ec248e1cc730a94ed3cccb54b9c3e766804976172f266d8814e290cb8763dc7031a918c8b61654cc4861c74e6ccf2ee435e93b9fc8ecc62 -FixedInputDataByteLen = 51 -FixedInputData = a27d95fa15de332ee0d94411bb28366b948116d255113b80c1a5b4de9583e1dbe51494dd42afd1fa91b99e9aa495a7ec1065d7 -KO = bef2b9a9f6243857c3040dbd365c27fcd1d3a04012be3aeee332ffefde36c2eda09b23915536af2dd2eeff4a4df7e36b18f83ca985a572f692f687140f085c37697d8dea1d0a79e73162525b45ec3b56115a5de75e0887f6385a0442284fb52e502cff4154d443f15ec50e17d807340c479a3443879229a4cd30ab1135429c155be1ca306c29d8eab0fcffda2dc329d9beac3631e115bc2570b997f3d11e7d2c703551f57e945c3ac6672011ee2f2bb908ee582b224fca9d11e317bb6cc82c2b399e6bf5e949fa92 - -COUNT=38 -L = 1600 -KI = bd4a88df1d8860e0dbff28d022dc3c154247ebe2e6cb29bfb6cb6944fef22d1e37d40daf06a6801c57e0d6c9d86fe9852804311da277eb8f37b23f099af12941 -FixedInputDataByteLen = 51 -FixedInputData = 88bd6cebe1138ec9f5edb63e140687397dd1e6d10dd27cc1235c80470e9bb6196a9cbd7250ac15af4acf7890839e5b8cc88f63 -KO = f787162b072cae01e1a01b3752303b1e976949e79e2af7eb1b14863c88de699b17126720b9b907513984578708792811de4c66df32f7095d0ac9b1ea36c4d6193996e72903d6b2c4654447af2ea2c56ec669193d91a03275215865259cfea247a47cc38e8c8b98b61354b0eaca42d29dee164134f6669ab8f449e67dfbd196058c975d71d3cd1fc427b12fe749d0eea390b65d45bad18228ba0470868aab2c5ac9b3f632acf1d5ef52d07e8b10d4d5725f59e44ca9d3e9f571091970daaf72a710f510f0cfda6c5b - -COUNT=39 -L = 1600 -KI = 6dd7ff66defe48267e69faa5f1137cad4b751641d4823557e9aef6e04469dffa37f942a175cb734cf4274d6b52896cdf6a3c8c6a0967bea57271b71afb84cbf7 -FixedInputDataByteLen = 51 -FixedInputData = a81f7b7cd79a810fe721891f8c622b92a422f83b4bbd0ab39e672fa12b268546ffa60126ada65144d7e6981d46a189ea187a6a -KO = 89bbcf70a70894c23fcb7659eaf953e8e0b5196f9460234705d2b18fbde941423ab01f86d654bd7bd1f53b9a97d362155946eb58b9645754cb1bb6ec969928cc8ec4e5aed4b8c5072e92768eba1cc5c4c727c8db2f572599bd17c8f3d6bf55c6501fe7b3263452cb14881423a006c2e602e7b335b1127429ba2337ed0229e338c59368e6d1d306db6f1fde921764002c3ac379a3b199df1b7e2ef1cdc4dbe2f9b821959f87a18a3ab54f771f7acaf5eba43ee8118ffe35ab761b17714b1112edffae634e51cffc5f - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 59fe573c437c2d164ef5a0158fbf9e0ae2444430748d7623c6bc3a4d189d75204930d2a8107514420e77dd900babd9cbdf7af7b38c645cd50858b11a39207d06 -FixedInputDataByteLen = 51 -FixedInputData = 6b6db38c7732ecfdee5f00eb8f95d1b2c65dd50236fa17095b9ec15b6c78bc27e057760e62ef039fcec603c45866457bbd4c57 -KO = eb02ea5a4cb7d9e393e6313ba8e6093e87c22faffd6742adbdf4f1108e54fae6cf38cc9033e47fea59521a110a80670461bdbd8ea0fb62b2b0760ab433c0a0a7 - -COUNT=1 -L = 512 -KI = f492c3dc2f607cd149937889beedd4742d3842f338d21d5189d2133f494ba78e1352c29068c7a5b2146879e895d40e82331a220a1a682a5bb50a1d7c3eea6b37 -FixedInputDataByteLen = 51 -FixedInputData = 310bbeda699522239013949cb72b23e0f33d12a97e3e43f4f599f218e690cda0a266acd0a6623a94a6832c77839ecae55fdda8 -KO = f991e66077c750370082c0f2cfd5c85ad487d3fe932d358a74be0e3befcd12f448fcb332bab49c5e3837f55056a07e9daef86e87e12e5aac93b5cc35db54185f - -COUNT=2 -L = 512 -KI = 03bc3052b135d5cf8e2eb5417d56f92888681bacb6fff3eca5d2804453d44bab2ba1e3fb3ce501c43b820b680b5c5ae92a6688058ef0a15d5b20c718ef0f6b54 -FixedInputDataByteLen = 51 -FixedInputData = 9538fa381bb5fbc7b9c5dab6f7183c138ec1c0b673b1e208fd49a48612122a8a00e2ec7247ce838d184a2826f1663821b269d0 -KO = ad6e0e50974a0ac95cd2a8f34e1994a8f29a882ae09710d2dd81e6f7b25c8e96c5992b73757c57cf99788c3b3e0d07ff0edfc0b295df24b91db20248c55fda12 - -COUNT=3 -L = 512 -KI = 00dd27657edde58ee03a668ca2598ca68a6ffa18fc40e4b595196de5214781ce18472ebc823d8863776355676b2e211f042f96f112e513c67beb2e7fb6eac75c -FixedInputDataByteLen = 51 -FixedInputData = c345b0015fb84b63fd680f1af2dd84d1aaed6fdbc5f0d87797cb97bc6068dd447aefd21e833101b77430bb0a289f0ee823e15e -KO = ce211e99b0ea31ca69f147bd6ff021ca8b195a2356c80bba64194b6264857f4ef98600ed831ab20b711d0ef47a112827d6788daa2642f65fa63db93cd7f83c7b - -COUNT=4 -L = 512 -KI = 15e4cb79e8c3928e545981c8a91ac6e80562a54ee1aab1f50687f0c5e060ee376f753499ec9edd6b55f50ef6a8cb969dd1224e3909896cb46f988415bb8217ab -FixedInputDataByteLen = 51 -FixedInputData = ef6c1c789937b54574404fd02e930651ef222ed61e3c023171f46a919c5955206e923e6f769809f8ef16ec5a1b835e1529d3fb -KO = 322090209270a3136c8c05ebf0042b3036308aa101d28ef877f5dca940ec80a69c695b457cddc7c983155895ce72b5a90facd2d9a2ba7a6a1a3d1cde88bab181 - -COUNT=5 -L = 512 -KI = c800f5911fa7ce0eb1fdedf2f735f3d7aadfeefd365b0397e98b124b62b933b5d940135fe5df530bdd0719921f6f4b350618f236f1da29d42678ee3c22e6ca8c -FixedInputDataByteLen = 51 -FixedInputData = a2cfecf43327d38f86e148d763b36c260d43b0f9ee5f1d1e23f397e07ba3e85be677c88b3f9605ca2729721d3ad82d52a0bb0c -KO = 2e04236fb5bb986bc6a4654ad41b11a2597c0dfde036e09569b357b3d71150c5b052ee86b2c14c47c0cfdae37cb001cbfc22e347e4f6bb47408e38e8bebd19a6 - -COUNT=6 -L = 512 -KI = 108e92b1976809abcc498ca8f1c3de33b0bed8df25ee0f524d7b3bab962c6b9ffde356f121a244e37ad7ae756fdecda5714d90bec28b2039562851d810f1eb83 -FixedInputDataByteLen = 51 -FixedInputData = 35f2220504389d75195a5e6ce4f715bce0b95657b711cd940941eaecfdc09dc8dd141e532b581a84e9dd1abb2c73642e763556 -KO = 757199641286d236b815e9cdc5cbea0223fc3e5ffb10a65700193360b2a726f234c9ad5bf62c0b92bff2dbbf2ff7c862e6f52497f1aae9aeaf20eb013adfca4f - -COUNT=7 -L = 512 -KI = 155c4ec106595a3ad6ba98cb3668bb0a0b5863d7e33dc34d846899b8ec2761d1c8cdf5e4d1254d4ec9593911b86e9e299451cd2e21e80e2cadb099af607dd71e -FixedInputDataByteLen = 51 -FixedInputData = a04ee37996f8a74e19278be6bc07cdca89056bac4092f9fc773ba842113ad2144ebb7187d0b33b330b14717e051acdd3c2a646 -KO = 4ca8b09c8ade26bb64df37529afe2766dbf978d8775f0143df62757acc7fbf4ee26562105f64e9ea1cfd8bbedd2a92c20e6f26d89e2a35912d5cdae1ee4da994 - -COUNT=8 -L = 512 -KI = da74c03dd6186ea0745b0721cf2ffb08278c9ae7a60e00df34b6a31f6fde34f5e86cc27f00269ae00cb132e5b77bc1760e4c909196536bb892fccee3ccb45f9a -FixedInputDataByteLen = 51 -FixedInputData = f574f11350eee3ee32feeff0204714c8c3931498e5dffac098364561f96cdcec1cbd242a58be1ff583379e3fb66879d35a9de4 -KO = aeae4c2e4d45cb5a690ec67c7f440ba301ccd45814b532dc1dd1aa98d80c6de588c108d656f5ae1fa00923e7b992d63acf73536fe2218adf2590be8f3c837e9e - -COUNT=9 -L = 512 -KI = 380f1d1450cc39d1a77b2363b520e57e7f81195b24c74c4ceb4b00398109517497a288e6764a5f2119a100af40852aec225f86369485917397419cacf0031d6d -FixedInputDataByteLen = 51 -FixedInputData = a7abd23b632bfe3b59b018ebfd326be30fc324a8a96faa79a5ff48ce763a0f674961e168d83d01959f911e2d71f36b52903d13 -KO = 309c7972f6c6b3aade07e99e58734470a185efe5b145b3d11ab949b44dc703626801fe86b2d8ad1fa343de833f931a63f6d7a12ac47049bfcb3fff9fd8fee06b - -COUNT=10 -L = 2048 -KI = db1a903128094a2822c2e98938e24ad5dcdd82a3d041829c1c6cdeb5858de7ed7f25fc17dddcef6513689e736ecedda74f6164cebd4c0e13f00ae5de9169e240 -FixedInputDataByteLen = 51 -FixedInputData = 51b4fbb47d307854454eab25ae3359d5ba48c4873e59fcb2b0d927e9b3778ab5728191f64abcdb87210445fc8d1df1d91eefa2 -KO = 84e14c6ad0380b55d3f3a37a1729f96196d814aa0f05833228e5d5b935e89bf040c8006c1e32e727f5d1891797d52ccadafef3a99f189ef253ae9aeba8418f7ccacb76fdbbffe205f38005585c0d5adf39e3f90f9610e78932b51aac579f895f3eb7dade0d923ab556a56bc6722c4bcc992ef857ad4a24baea3325faf981684029cfd7606000554c631c0934713ab8a67ecf123f1de5e15d2e844ed9fb501c5ac7f8364ec7363186a89f4adf4fd7b5382ff4fded943a37a0c5edcb1ea9066daed0503d833fe1dd4353ee639210c6ab196796df52c5671b756c8dbd6c78627c0db35296f8f3c3dbb36da4a7102d72cb697d0048bf152b371c76a7e307ad017714 - -COUNT=11 -L = 2048 -KI = e06a6c65876c77542ace35a0cae4da482e51fc92e0e722310806e9f05bbd4388427b0fa033009d2a180a980aff7d4a273bbb101b06bf1e3ee8989d11ce661bb7 -FixedInputDataByteLen = 51 -FixedInputData = 73812f098c45d888579bb4a8bb16660db7481630c146bd9b7d27af366febbbfc08d3b6a5427c1b3249a77e2395e8d392c00cdf -KO = cdabd7705023ccc58c63ccd6926f49b1ba6e997c72d233d164da38c9a9bf6f3fc28630902ba3a8198f90cbf9264a02a788a4f4cea9ba098bf54a9974522d1f89f10da1c620f3e5d740eb316c9c4112cdadb58f929734d13812ee1fb3eec578affff3512a7ecf476a33425519cdb01d5748da5de42e153ae2b45d43b39a2f0859c3834b78389d5bfe1644e9cda12a988a8fed14fd049da604d6fd183c7afc210af72643f7cf9efa5e0256312391aff5bd70761f06de13e75c6ddb198ae7a2e94e413360d476d39e815d9d686ac47ae19cac250b87c4f77b9897d3373de5440b77e9b2fe7ba2e8d5418a86e5bdbd79b073d5191483747842dc86b65e5e2b99a4bf - -COUNT=12 -L = 2048 -KI = 26cb47fcba69f2cd9c25b5671ee765d6a1a143dcc7b0a7979b5cc02fa434233fff190adb36d24ea5246cc86d143b28344449dc56ad4f5530399e40a7f01ff10f -FixedInputDataByteLen = 51 -FixedInputData = 666d9f7e192bb336e161104042e3bb393c89983fe8619d9c3e53051e7310a95cb13f8a1f893baf7c067ba2c958ad139af37364 -KO = 139d5a23222a5cc62d6ca8bd1244a8a6751e46fb23ae6af16475f8fbb06bdf9313409cb13e6767e625b1a827a9ca32f5755d5fa152eb6e4a6cd6c957746ca239ed6719ec5329760e2dfe9fe0f22e53a0b8253bd581e3f7877ee2444c039804f1135830a909fd437eb5a425e36fca18d6187c195ef46d47339757e0d6f2bf47a83bb80ecc997576f37ae1b7cfd5fa0f5ed95af6e228b879074297a94c82d62404450fdb4f613f81c9e9db2586f440c6e5918419254b38079b6d31ef69786454588b63f4417902992df12fdd44e842cc3e9dca9eef5d1572abc4764560aa50f4a4826129599c74d8b4c3d1aecf77dddf8c1e779b809a14778f639ed7a97894ae8a - -COUNT=13 -L = 2048 -KI = 51e44f5e9b7ea86bb589584bc36dd7d5a23c0172f9048903a7cf4f1e8834b4235b3d714e4a063ff0c5bfc314b9b82e2ea9a353c6525d5000e7075d1e795722be -FixedInputDataByteLen = 51 -FixedInputData = 468c32211fac5f9df04d7b426b4e72bcc7349388d98afc43c1a7de9e82a30c3e0c38631e70c85a7b13eea13599852acf225664 -KO = 3cb5c740e78e89403f022cb9db77808f3b2f19cc1e5229a0f54bab1644790b89d9702799d63e0aab86e0e6e969d8ab95812cf057a9b2961f5c4cf8d22aae9214aa08858a58b72d76bf6292c12e00c3f97a640540a56b9de1f5eed8222ba4707efaa6dd0392d49998249d87df511785583067371fce628e0c06de6bcea79e52b16ee855f408e7659dfdb529a387f2432e50ef9cea5645c8f96c0c348d197e2c29e80bc7820d459f7b733ed496d68d32dd48bfdfbc391baae8619ef60e04d3c707e7c26efab0453a785d6b0a96d28de4ddf96971cc0d24845acfe7eab965e05d5f05ba205582ecedcff221dcfef879de67fa51638361c078bcbef981d5045d3daa - -COUNT=14 -L = 2048 -KI = c852dffebbbe856a670a80fb523c1447f700d0c54e456910e47d0c8e139cf6c7c9c399a72f6eae62fceb32ba8b36b73f4bb81c97279996ac2822269b509546c6 -FixedInputDataByteLen = 51 -FixedInputData = 76538d21edd8aeaf2575b9edd2e62bf5fbaef23ec0ffcc03c88e4d3e72823a62b3f9a673fe43342284b68752467d2352e5d2f6 -KO = 598564e995bac278ec8f8554dbd5660c10b8590809b75157b0589e43451ae883419d8b8632100c3eae440139339f86f6bf33dc5e7be4c7be3b4e25967441c41de05ab6de3e39c65074c526e5d334ad3cc1bcc88128e89c237f9356dc46efb2a35b98808c629bde1e98c878f37b19c6e98647525af4a3e56f408ae2136bad0818ff98541c07fd2c19641c5ac98eebce8bfa81f882dfb0a7195ad8ae16bd6c8c53c9b85477ad5d6cef75a35eecf3a81dc6d1dbe6e14a74a3d085c9a58b1c6c538b6e6272597b1ae038782a2fd1c29d9042d08f69c3a3fd9569479cf1b5cb0d4dd61b1b1fa241df130eba3f28cb00f97fef17a3c95ce3bb0074161d69115f3c3330 - -COUNT=15 -L = 2048 -KI = 3743e670d410a65f1fc88dd26737a91db8051b1c7a6b7bdf509e0065fd72877c7a108675a43e729d05864ebb15f9645d61a91c8ed1376594763f1bd94780cf83 -FixedInputDataByteLen = 51 -FixedInputData = 4547389b7c2b4244d7ebc517378be4378bf5cf7fdf4d507fce6cfe7a69437bee7a0d37cc7fae1ef2e9f9a03953a45969d9d00d -KO = 9440f6a18f5311f8b4e43a7f7655a564f2784c480e59fba3fe11114a9c42b9099d1fc687f1d7cffaa75d03f5902a133c25b29d0643afbac7e675bf744c0200435b0d565bcd54658314b0f0b7e061de5224e741df2899b118bb4a5c97ba94403e6782fe8c4ddea4f17d5344aa52b533765cfbb59239dbaabde24afede30cc4305aa52e7b9342dbf50d9cbbf177e7cacbef497383cf9c8b9a6281e88923ca08849be011d3018b177d7e822b9bb157a6abf3a04b43aee5af79b8a107753984703c4a7e322788a321181dd5b4a8590f5989c7a822bb9fa1c523f03c86e34421c5fc4476aec49fec1affaf7f3939ea80467a7de7cf7dd715cea6bf7eeca7f4ca55a36 - -COUNT=16 -L = 2048 -KI = e26172b68b51eef9aa47562bdad2dced723843166bc81a976dfd7bad5860a8e3a1ededcd9aa0e5508f9d3721befd2c1942e851295a91203dacb840a83e250d83 -FixedInputDataByteLen = 51 -FixedInputData = 5d577874712019fe2c9a9e5cf57f8e7646f86732037464dac7d114743be45129bcdb14980d739e1a6d8cdf49711b81d407e11f -KO = 4e4341674d6f3e3855abce0eaccd6723e97bcff4427089af752d6da89da062e092b61c81bc9502bbfb59d9ed7f0d7c6c22862a036814f5a305ed9f33901291fcbd848e477de237736dde4e251ccd8c7f3c8af3cf229c5b334341af2e7f18f5cdc3464143c0694b1dc3bb9a262a2851f648baae25f6ffd2ac765d22d126e2da3cb0113a13324857bbf9310fc7f9b56394f0e1487a7d9c5e0384074d718c9d2cf5032e5b4c9110f5d4432e11b13c5df033effde04ac037a9fbc0b17d64ee5be4530f65bc839572a0214670643463897486d12faac3c3bb62753c938d9e37aa4c7112f25a1af38f4ccd7ead4e1fe503598d0f6a5c4cf3e9e79298be161bc1725ae0 - -COUNT=17 -L = 2048 -KI = 10c277ea87c0e8b00ae14ade43ceb845130109e2e18be45791b5bf70ce0ee6d957326bdac60f211afab1e113f066398530439c27367d59c843ff7c56ecd5811f -FixedInputDataByteLen = 51 -FixedInputData = 229ecde6329835ed0c1709890b73095850e332aab065a7c8eea72f62caaaf4d096a8287c087223f844ff2a761d8dd2478cbe0a -KO = 1061dbee37d71b7c5b28dba69902a1dd926a1210b92276a0f544d4de956ff9cc1baf194b5443d71e2c8d6826249f9001459fbeb293c64e1dadc31a8dd2ee7e3aa3d28fabd03b4e96cbeac929ec0f3da15204ea480619269fa08dbdffdd33b9aa4d2b7b2e9e0388a1f015f5c7e21b5acfa2be0dcc7a7589a3104e8089ee8848877517e6684f72cb5fea8911e90dc01d32efa2db8986af3572566edbc995ff497279311dfac30a36a3dfee8d8830cd98089f70a7eda140922855b61cc3751b1d46bcfb927cb90e328b4c8cbd969f36d8dcbba1ac8b3edbc729c5ef24e0773df0997bd08eef139a7c4930071279cd4cb4207aa1703a84871c91531a061e642c5f72 - -COUNT=18 -L = 2048 -KI = aae1eac6dddcbffc831ccf0b2c4c13bad660d14bb9fd143f55c81630a0c9dde0a38024cb0e830d6834f20dfd09fed2068a6af5cc0708ae7b4653305a53a52b7d -FixedInputDataByteLen = 51 -FixedInputData = 95d910808e774b485ac1fdb43b8d1dcad65b6817c1a25500c0c46740a3a8713f0526d84770aae6ccc1fbe49b40bf881bbbdd6b -KO = 45fb24dc9045eaf009f903cef856425cd3964d88fce8dd5e1e1e20a0bcc2ee1b70f236a2c745720bc6ff0c3bea9bd73643efa70861a2d79710b5e2c6d2b90957acf35c7d816f6ed958cc0e01338aecc5384ae5020fb53b0ee7ef69d23bff48f3f6c58b4e3a4ffeb30b5ea5fafc25980e52e07b56fdc2082e335d453ad785905251cec9fd4d8a8916d6bb211667ac4c28e0c6b14a83b0471c47f71ae56a40c720987306ffd1be9616f0c20bcd2a7b7110a1b1fd041307a0a184fe3bea1b86cc9b4f33c72954ebb5cf32691a1c85c0b09e3c5d029135579f5e84f83d265c189eca7ea09a933ef1c1885ee04353ccd81ab40be7e3bee02ce83004adac2902f5ea5e - -COUNT=19 -L = 2048 -KI = 0abadf0a9d52bb6efb273540bd57b9ca485949b595765bb457876996f2f4e338ffcd1239a5f8288a9b787dbcc7174e50d0e46fa9c4e3cfa79cb1d401e134757f -FixedInputDataByteLen = 51 -FixedInputData = 8f04d0f0ed4fa35ee9524cb1b0cb01913ab2c5b03f224ef529319aed758ae59f9184434a40bd4b463a0e7a85c700317fada83f -KO = 763599db4767e6f85fb6e2c289674321253cc6ab719979aa7e977887d7ae2716d3616771acd63fee1d28abc4162424b004cf110257bb18ec474ab4c269857e74279502cab6162aed8fcf721de80ebb993b2494da243c12604f1aeb23f83c2fda364da268ca7aa59b1d4f6558c74871433a27542f4f07680e75928c56e6c1b674d002fe4ca420bcbed15f03e0f6244fecd937b88ebab769d82ac2b9b8b4d3955488e897777e3c6c8d9717c9173a86383ec732c0bdc77f9f193ae637c6ef1513b9736add947a5becdaabca52acae8e35c44a0a0be01db6edfdf3020100a5b01c3cbf597f34d8b7bda95529d6f63790de9f350ec213932a94809edcdb78305f7f8a - -COUNT=20 -L = 560 -KI = 2ec27ce4d58f5b4f96f7ee24c95ae8c775de551861026af562ddc03ea2aa9c2657842b857094b3df86d1deef0214629bac3cc9a831dbac99cd55d18beb10ee9a -FixedInputDataByteLen = 51 -FixedInputData = a22976cb78800fb13fc33662aaf4c6a60bf4ef12bae31dcaea92811b0c324bb294a561a7bcfc362dc55578e5992349d8c67a35 -KO = 8db7bdbf368eabf32aa5c9c91e4390aaa588f8649d56abcb9e31fe25b3608a7361ada8701e77ee860bb04711012df53266cdccea2d09ff9c413760136bef25d37a01716fd4fe - -COUNT=21 -L = 560 -KI = 0f893d5c22ee86ed0321794b28982fecfec41c4128e397242a72a038868625419bb3ab4998cd1f10e57537dfdb78c208ff236dcc535057de690022d7fe2c427b -FixedInputDataByteLen = 51 -FixedInputData = 32c8e863d4545c785d712f3a8fc1620666c0c6a5f8baf271358a921d42baf25cfe3d375b1d2195e91725dfc8b87c1df9d56892 -KO = 6c8bd5530267da9bb87118d382b85eb00297ceee5182c45cd10fd4dfbae0ad8ba08c675e9905668c2484dfc99f3d7e4c2992ec80ab2044a8a10eaab1f3af8428246d4dcaa167 - -COUNT=22 -L = 560 -KI = 79e96f218915163ae75089dd1f252a58cae86f2255f2380b60588dc7d0b6ffbea1c7879bb825e9ce264063fd992921c0af9db564475c1735c80ac1ac26663d0a -FixedInputDataByteLen = 51 -FixedInputData = 082caef49cbdee39705f168344726cbba366f1feb5681b56f77d6fbc8778cea84578e9913fc8227a3fb7ddf08d70f7a825a818 -KO = 3195319f384243e59660dff7c04294fb4219acaadc80494faa2fc69f6c5f60948cd365ab8ef1886e82f6c03c473de701f622ca1fc9e7f845d40c877b35405b07154cf5a0ebf3 - -COUNT=23 -L = 560 -KI = db7a2f460a0e7c7b407875db45ce4e6afa568a5b34f5df6407639fed3fed6b16550c2f0f896bc8c5b3b5a616debd843594ebdde40cab2d6551d64bfa7c53b8f4 -FixedInputDataByteLen = 51 -FixedInputData = 90e182f1066289f874903625dc13c0fcb9b1a73501c227ada22c6ea0299fa493cf4024054fc005fa2c74b02d5d2e7a63a9f2c6 -KO = 4f112d1360cb56cdae510092f9877a3eb632dc754a3ccb20123fdff2a5714a6132ae66df4d9a39656ae1aa1f3f2cdfcf216f03c171f0f0951d1c33326fa8668a1d443c021601 - -COUNT=24 -L = 560 -KI = d260bc3eafc95d1f5a7c0dff6024491cc8fafe715d985f013029c059e547a7de8733c983e5191817c6fd40c53191dbc649cccab152e17df04174ee89126f2602 -FixedInputDataByteLen = 51 -FixedInputData = 1df6e1a35248ae1ab5126c6bdc0e52833e4be2ad241796493a05e0fee433f1e03aab836215ae41fd55be560c22fb8184f47469 -KO = 206624ad6acf2ad3e7c1d2f733981f8109ecbfaf9b4b90d26d9ff65622c606bd731e553c1c4bf5c07df0febf1840680a0364fa8d5a8f3b971ae8ad8c33ed7c4b5a8bc252f73c - -COUNT=25 -L = 560 -KI = b4d79b3499439dabc2b0cf8245a1268a06dabd94cb5b6f09259d4ded9c88137892f19fe6e97fc7f5bf5ed697e0791e6542adec67d73f3843e3caa78f833b729d -FixedInputDataByteLen = 51 -FixedInputData = 82736574dfd6560bb274e9c440d32cc5c1b0d48c7c520c219c421a0e05e686a410648e723f82b73d091055929d70c3d48a2a75 -KO = 3df320fa09677a56dd1b648d14463f915a27106290e3cc3a9abc7e8a284b8fef359d8355fb5c5a4510f3b5a87e9913d59c384cf6b1df6cb006245ce43677682a3081c96a75a4 - -COUNT=26 -L = 560 -KI = 54669975f9f3f21cbf20398b4d68fd76fb0812703de5a1e05693b2d0da072937258f9a65f9d0eaea6c0f4c5ae22840cf9e9f7775214fde7e7ff849eff476fe67 -FixedInputDataByteLen = 51 -FixedInputData = 0edadc804bebaa8a7dc33f2576bcfca17a26838efbbb7e6cdaa8c5dde2224479a58be7fefd0bd959134f931b7bffd7ce89511c -KO = a3f4d259a4587e27c578437d18d4d97c7c38937b2511d23dbcb6bf7d832b0c143102b01085fcd1aeab24ca21f62f786f0259bf83fb994f2576ae1cc45fda29f17ab18946d2ae - -COUNT=27 -L = 560 -KI = cd09a7115ee6f0df7accd46f0c9d67dac1c11d1f1dc62f551b5fc18fbd29e415379df6f6694456b706758a3ecb5cf98175982eaf0e66febf99ae9b50b3fb5b94 -FixedInputDataByteLen = 51 -FixedInputData = 22f67db9aac80f01f03c75d9835d2322974241f0967c08dee51716941a54e0c5ac306fdaf4c693c430d153f794cea2c811c6d9 -KO = e3220ed71e75e477d8fabb7417e29200ad4621b07284278ebb7c30991f8c325ad27de4162a9c3cce77072db7d5d28537fa9ac8ebcaf37e2971448b79585905ed59b9d61a8e79 - -COUNT=28 -L = 560 -KI = e363aab8d995cce65b1575114a40ffea46890c8a427c067bceaab75eca8a763c575b7ffb1ac386b6a15cf5cdfe41b95fc3492d3ec79ee2958f2057c2e6bf563e -FixedInputDataByteLen = 51 -FixedInputData = 965aed383523a171662801b722f4be7bfdfd7b7ad584deb480737975cf2e55d3bf423d7eaf418a87a52d35ac1e27357f3cfac9 -KO = c127b218b7cec224ab19a54e2cc9833f29bdbda06f0a0c97221379a95563ebad967ff056d1442ee7b16604e00d81fda2065350bc75a140b6230fd8d48b93b024ac99bd0a6ba7 - -COUNT=29 -L = 560 -KI = 4fe2ad41b02378e1a6d1f258cd8c4513eda3abcf5d95d70d9bd8ae7504e200a29b7c327b9949c594a0f87f18f712e079dcb46b9976679fb1f2ba315390be4817 -FixedInputDataByteLen = 51 -FixedInputData = 315308d33a8044857e150801ee3f248f16a172215ec73133bf51f217107e49585d23fe419cf7366eb0a0e1fb5cf9899cfdb9fb -KO = a8f4b08d7d7b33a6ee5f7810eb5857369cd1db2d1db7977952d0139fec93e6c61e969352923bb38c8a3cb6c64504fc5db406959dbbf9f64a735bc851fd0fdd3c2b5da7e1ada1 - -COUNT=30 -L = 1600 -KI = 65b8162a97c7b47025e6144a3da42882df8ed978b014f86dcfa01e3ab3fb10deedf08aafca6da94a1fa1e82036e066d3169873dd3283b9dee430777b4aa082b4 -FixedInputDataByteLen = 51 -FixedInputData = 21b8db5f22ff6a912ba493a8ea8fd7ca439b27079204c74f4f6f9ca2dc997532840f93dfd35a4848354a8f5515af820849a814 -KO = 906ac15b6f7f1250258f69a43f9c33c1009ec63a2efe09cf4764fc5e3bc95d7b7eca3d6201cec1504abfdbe96c22e4892f8cbfea404526c90c87861928afc0a4129a19a261f944ccca6c60b4bd905a4ae77216978c20eac277b6143cada255f44b350388f7ba746133c3f807df11211f96c5246703333cfd9b44acbdc14831205fa6b4fe18452f56bcf37595473a1ed6fbbda8b944eae11c718b97030f2563c201896c33f400b4dc8fc2f342fc565378114c563e43e98530121dec36f2afa4bc0e7276dfc040c303 - -COUNT=31 -L = 1600 -KI = 398e26d4c756dff1514fe74fa300385a99ee14f34f7f4518adb503d36a1d7d785d08856a8486a73f53a99fad2d4c3699380fd025e54b65a7d1821c2f50cf2691 -FixedInputDataByteLen = 51 -FixedInputData = 6628b59913c39e94906063686d3f4cc981997c3bda204c65aeae43bdbbf5616a1f008ed32a0bb6b7ec67ebfa3d623bd1d04499 -KO = 1352772ff96d833079a8f4dbaaac150df9645dd89b3a156e1f7bc46e1ed722cc2ac62b0d1b4712095d1979510ae0d1bb0445c9d251088f581f465cfc7057ac9ba3c4562ffd365b2692a0ff956250aa7f575c786e74ef9de399301444ea38523979e19685cbbd97bdec26571bb380113def45ebed0f096f99457e6db5c836efe7bd6a45dd1f6b2d1544d639431bcb101c7e4a1dc52115c171c0f76e88645c514cac0c01105bc7d3d43b8456b2a33b0500ed8460220869dbb205ad3e0e61e168d8612942b2d81cce3d - -COUNT=32 -L = 1600 -KI = 8ebf3edaf35fa3e7bbac435d85366fe61e097a1001fef839e893856a1a619dbdaa43147e6a6ea551f071f4299c170840d9146baab3f4e54f996956278cce9596 -FixedInputDataByteLen = 51 -FixedInputData = d76cc2e1ffe576f6b4aec0837120c445ddb5ddfd9d0de22092391f149a363bbea3ec862f8b1b15fceaea97adec693e6f227a8b -KO = 33b22bd7857f9bbc56ff5dab90a3cbfacca437258d8f63a16908e1a977e8d2a5d2ea36b5fb1153ecdc4b7683bbbc8e1ef20d520cbd86d8cdf5ee50ec0b933d20fe6885831194f534e02c96f5cc55af88fbd25a0e089a3b3cbeb8bd8ddf7c0ec39fc9ce28e07eec14874d6247d79ed61d5ecc8e326320698738bed3e4620684e65b365fa198e5180b27c9085dc28db9b41bf474800b5bd35b490820b455d8f6c764e1b977c21009ca3ff2771d326cb405eb3acfae42a9c06ed210bde585597f1165c814e2c4695fd9 - -COUNT=33 -L = 1600 -KI = 2a06672311b45517699858711467dabea8ca61109841718117656f479886bf2f4e7698d29d136e4b0c486194df83be4668339e9766b19e92bafac72340a83721 -FixedInputDataByteLen = 51 -FixedInputData = 8bcbd40e17b8a969e19f92a7e159cd163a6a7b0b9b3faa3ec1c437a0ec24c6466cbd3134524b3779476e031b68ea0090b54e61 -KO = 7cbe24c38078d4de727c4c3d843d4f923df50f723cab5d739cf67a525a3d8d9f2acdcdf9622cba65add271e7e29b5b423dc2013ba96b8ff99f60eed5bddb3a027ff4e58f44ac1f98c623a5b3be80aca3c07abe86c074d13764a39b04cba326526033278959c3056d406e0cc567ca0f506c7e9bfb6f003df186a19056004eec5a9467a539de035f56008e58b7430200119ffa7528d4efcde19c6293950bfde45e572ddb5c17b80254411be9fca2a3a3f71250f24900c68728a04565b8fea414b1d2b0d2e8403f5685 - -COUNT=34 -L = 1600 -KI = 23fbc550c6d4e6664a22cb7a5386664cefcfe5f3c36c9c2fd526aaec3194e1297ebee3dab6db6e4f09e25bee4e2029be751789e62b969a2bd60183fceda643e9 -FixedInputDataByteLen = 51 -FixedInputData = 118de21ef0764af5fe7962e15d4d8bcd296ed2d7c4ba5902703a5cb5e2eb2b0a5d572ab6c77d1ca8764d9ddcbcd8bcf6e48fbc -KO = fbc34f4b43b7f5a4cbbc88efd8151c98e7b220f096f4e895f8018f4462216fcb17ff8ef62b40ad24c152dd8c7580079aadfeb1fb25115e5aad190b79c23346038b36592814ca1beeacb2b4176f6a7acb7c39b791da46b5d8c1bd336dfa81848d99bd0ce5040f377b9ef8040521c58d91e8788b6c4b707a0230b286b5ab4606130a6f2c536b4a021a5cb543ee072335169599b827ca6a65340d61827ef1cd4bd5e7e6467521598a5a9a672c22fea6acff1e8078e8da5d39d3f0d386fef959f93bde8e4cb4b924db80 - -COUNT=35 -L = 1600 -KI = c4e22ffc86564bd0dbc0ab9760258a5420b87f7ef33232ee543530509be086d85084d610a61263f0dc251df2f515f9e64bd8412b5f3bfccc9debb8e1cac0514c -FixedInputDataByteLen = 51 -FixedInputData = bcffbdc1afcd2e5622f2cb54a437f04da0228744903a1af45cedaf4ba10d5eed5c5729388ce0f07d07960e274f310833a1e78f -KO = 356b14d1ac08ff29b1a438f92689239b9fc00c01216e888c33b6398d78bed201db395b4868874e6cf06b8edaa5ec23f6f33ff732cc8998aa79d6f67ea3aa2ddd13b66feae31f31fa91b75c721450592466817430f00e83c32ff092d83b4a5b7024547dfe98c4e3e4feb6498a27c4d5c6e4f8904cced3fa163814b4914229e5b4d284cbe171d84326c273e129c8c1e0ea2a1daf00926544e88a3662aae0b9379d5b9b2ecbedb0bbaf8c38f7ad535280d8ef75de9a28603a42a7e747ff94c234cac67fbcdfce4a15bb - -COUNT=36 -L = 1600 -KI = 352928f421337bb5c0d8a5cc9d62598f7268f484f3ec292e29c57376f349d7f5403bbe75fa03da690b8de6df17b34058a97560258c010d48036cb7b7fbf14f14 -FixedInputDataByteLen = 51 -FixedInputData = 1f9bf9e12c58521da9d6cad03da9d087ec486d699df5bcb6e6cdc8b1821b79684c3ea6539ab726ea60b732a364eeae03e00e24 -KO = 71f1f47053d7ea762d413ea77bdf1d6b382ceaac6668bb4ff891b9cb7f3924b3cef9a901d987649b311ff8cfc1bfc05559cf0c935037a7bc64a5a95f4e16198f0dc6a10ed822d46b0a8ba5f5220c55ba316c0f3dcfb340bd0c4d6b5357b45b34e62cd7576b87198bf629d44902a6de3a009213aa87193c3ff1c88bd5c032e4ced93a23e2490e3f726b0520331addb353710447085a146f764fdfbff70834c428e046cb416e8a43c7b68b901fa4d2321a1e8ad4fcfb290433914860292472e46f86ce9bc6ecb9062b - -COUNT=37 -L = 1600 -KI = 26a45cbaa2d715923603cc5d7ec80184fc665ca53a633b7eeb772b6216f1d0c4be8f2c8739ac737404771fbba2afb3cc4597f72288373684ce290fe1d5902bed -FixedInputDataByteLen = 51 -FixedInputData = 4aebb6658087a7b6af822a574f98cb0ed904085e40c7d21b0f42ba57a8d33e60124d7b64ed35556bba8a91598fea6532139cb0 -KO = e1d90737335e42a54cd6e9bff90a6cd342ed82770038d7222e37de8e78e48b0b7abf97d4295ff2e7c0766ae4c2e625b0328a118756ce465743e02ba5920adaf3761149ee18b25aadcf8181b4f718e5b95e92011028e19f25113a3b18c91b4bf86a8cf650da7d9c792ffa98f3cb08e2f3fe3c6ee615f088645f67a6be8dbdc5c859f0f7517ab3022dc09517017640ae359e8144f942c12b55a2a0ab18c0710b1e504963404884011ea3e3041eab77d5ffd1846b9bead23131edc175d901678d9a015946ddb9983af8 - -COUNT=38 -L = 1600 -KI = 0e70f1c1839327037fcf6c428f43a79c8745684e8beb62b8367febd740c52360e82188523e553f640cbf20e20e846d67977491ae35c875d5293add52fd197767 -FixedInputDataByteLen = 51 -FixedInputData = c13df4023063d60adb674cbfd4afb69436451b458e60b4ce4ff1adc680daaaf3092aa711def791e828e77d8ea4235b89227b60 -KO = 4edb305b50d346a592db49d36db04b509f92087b2ae9cceaa1ecb8b287a56e8a1ab9da49316ffc65a84ee6f7d4cf140031ec0652d12e97b23bb67ad421f1ef9b1ec7255d7f428ea26c7758aaf812331a072fc4dde7d2a8543f75dff72ecaf95aeb215dba34525605637362b9180b7801e44d433504f34f7f3ff5a791630f6ccdde154f2f644ea7890041f191d2f3c3a01597abc207ba24ddbe9cadddfec2fc3edc566c0c81d948d589ea8e4980e5c8d5b31611f8d93cc6fc8c26cf570874def7bf8abebb32096183 - -COUNT=39 -L = 1600 -KI = 5e79c88f8f3b85df21b78134beaf9eed50c5c9c366a2b1ec2d743afde05346e573f1d9bf73f8aea48b2e0454292cd4ff891af3b266c96abd16b8293bbfe33974 -FixedInputDataByteLen = 51 -FixedInputData = 86cdcabbd129d4b1296ada77217700f5574a307c31fd9a2b40134c0851f23b59e9ec7bcfc50d6a3ed558f52f7b8c61f3bc6b84 -KO = 9706af814e8ee614bf9da0512642f9e64fdfe92170827082fb5df67cb2268a08e6aa9527e9d6db7617527fad2b1f752eb55ce3403164e57262a4393c27377386de37a3eecaa11c3f5e1effb7302fed0186d176c520f2c82fdbb3c6e7c995afd415d48aea836ef000ea80c8c950fba153982bc85fc3fc140d860707d4c45317787d8b22089f5028abe8c0a21388bf480b782833bf40fc1f1ef39efec74007c105accd3791c39d76d50fd3bec714eef7ec4759b3e2f270f9a25b92befefeefec5cfd3c058ce5c8cc2c - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 3fd422178d053e403bd6d4667b1dd861665401bd1bf6e1b2b295f0aa77cb7219a06d962ecfe4f8e487fc828d434ae8d42af0215bc50982140dfa37fdf5d26355 -FixedInputDataByteLen = 51 -FixedInputData = 368ee3e988382e2e1ae6462a2f7a829bbcd805fb18e6d0707b8fe236bab48edbf35089aa5fe8b70ee62a25afe4271951badcb1 -KO = b6fa49590d48b60aa1a6bc58db45bbbf597dfa670821d4a83e446f049b745065c0f6ce73542e85025fdfd66ed3914a6e254314d815f19fb830fbd6e7da2b5be8 - -COUNT=1 -L = 512 -KI = ec9f1294199102f736cabfcbca0d370a69908df655f82c42c261bb3c8884527ab792227c368a697db28e31ac0c256373c0b26fa1413c3b492e469e0d35174ff2 -FixedInputDataByteLen = 51 -FixedInputData = fae0a48afb48e772ac398e58e420351c7c43914d72257fb621a1247e3336bfd0c34c1805a8c1aac7afe973816a3db73a68bca1 -KO = edc9d8598dfbe05be04d19656c9afe61744f3ef1407b03bfaaf6a4819e089aa4ef3319db00e467d46724974cd8a120f546526f80e180a47fe1ae0cb0bca5910a - -COUNT=2 -L = 512 -KI = 2fba3840e8eb2f2467bdf3e04ccc3f47d513742ec75a48b240370042831d5228eb8b8b5569163b08ccf5d36b5c9be83e0ad8b26f200f08931e901d4d972ade20 -FixedInputDataByteLen = 51 -FixedInputData = 9f9779f5514e9e98a65b04b6adcadb8edecf69b01008522de2ceef237d572885883c4a13825a4be33c2da7887c6ac8c0a2a957 -KO = 68e29b1eae18534d86f48dfd898e544f733b467b67146f651708d9ae37edca1f9647e030cbd6e04a22dd553a241a709f98fe44f9e2e1f3b71830116da07beb8f - -COUNT=3 -L = 512 -KI = 92b7f7edeaa1e43fdee6315f26c50f0df0eb7904a8a5662022406c4f8a81b4473d7afc97306ae98a2e98b4f505cb155275ae6789415287bd77a75d351c18b0db -FixedInputDataByteLen = 51 -FixedInputData = cb85459bef95e4310a8a3e49d03d3539f2e4b80e8fee7cd9dd580caffa2afc01a2b1d568b508dcbbfc62f049f2b01705990424 -KO = af1e04dccd2f6659058d32a0eab31bab3dae6ea790443a4ee7aeda4af09660f6ea48202a25925ea6f43972db276c2cd6d0750e7e6759839fb83b568d60b8cbc6 - -COUNT=4 -L = 512 -KI = eca50c7bc165871e8d543ed52b87d30a07d32c40d1be9f1903af2c0950bb13a6a1a4a830cc54c0fba13f519be11850808fb3838280f2dda7306197a5d683e25d -FixedInputDataByteLen = 51 -FixedInputData = 82e3122eb8a430987d26da454dca80861fb18c919fd15cce1df1c52f1c26761f8fd5fdab75f41da5f00900d061803737c09b0d -KO = 80f2abb30f49e993039327e463a5884a6eab780b4d87f8bd2cbacfef1aa7ab93638e50a89f6a06133bae2c0a9549ed39a635d35db277438a84ed132c9748aa13 - -COUNT=5 -L = 512 -KI = be641939dd2678f11eeba0b33a1f8e294c1764daf247707dfad53a5c903051faeb5f79902cb8a78aa7d3df45725f7a05fb1a5d64fd2676142c5c9163793d3a69 -FixedInputDataByteLen = 51 -FixedInputData = b80d580a23f762cc435811391b4f736974977f3dc876a15b3a56f1ee44bfa0ce51997f7050b2cbb4bce233e306d234c94b1cbf -KO = ecfbe4f3ff2b1f892ef34f052ff4dbf247249211c90fb6e925750f2dd343c707d9fe7c087ab3865ca5baeb30d49de1d4ea4efbfe84c4069a8d68921aee15b0b1 - -COUNT=6 -L = 512 -KI = 2d93e65d4774e6b48c752ba14c643cc33c95a3ad56531e3ff0382b5f08ea29b5aa2acccce45187313d18fcd48b6ccc2470d52e6e310389fcc45e9c5041550d2d -FixedInputDataByteLen = 51 -FixedInputData = bb1dc59f17ae05fc01d2274b2ed325f0efeea565e534891dbe85f8627ae5d44d3d5c207d5ffee49b5612addb87a9002b85bd8f -KO = 5be2d197abdc4b101ddd872a37fa63b971ba088a6cf5c6b222fd0fd9313245287097a921e0ed8b1a88ddc7a024b12770f877f15f6649d608cb95f32084e00049 - -COUNT=7 -L = 512 -KI = 3bd1f86e8b30bd24fc0bc688e3f9bfab55639128358d7f2a84cea4376b469b51fea90021b4d1c93febf3658e7a58ee61dd612daa27b2c6671cd33ada3b829dc6 -FixedInputDataByteLen = 51 -FixedInputData = 2bce8367d5c56d371eef35371ce2f5ef9d695c494d5d6f0ca53c898056daabfd5d859f9d7e3e5dfbb33c7c543b17b4a253ed8e -KO = 13bd2ab629e45d98276949ed3b31992eee87258d8bcf94d53d6393f2b96bda1b93391186d75a51bf2aa9223c0047b8850e4316c40c9504b9cd1c99bcf9bc03cd - -COUNT=8 -L = 512 -KI = 43c1b25799431f533581452e20d5df9ac008d77a15e2f6713e55b2cbe71e446845d00b12b5fd04680807c193faeba28254f085fda0f74cea2abe8b06e63fdb4e -FixedInputDataByteLen = 51 -FixedInputData = fc06a752d602745e6cb3c89113fd684a1cc322e8159c3e7099c342ea087d61ec49624611528413b83f76f6e91ed2400b8f1949 -KO = d60a572cc2ff31531404f4e07d94f2aeac515355842c229f055bfd403b36722ae806573f2b2cf2f69ca8911a1c6f2e2e5b7f4b04d61fb33155da1d7f86f2fced - -COUNT=9 -L = 512 -KI = 6dda85b762070ce0a73cd7070da483b2e77d21e90ef895a8407f7363612521dea6e12e212bb7870da23ce172f37ff417f7d771f1442d7ad81b6437ff6db8c40e -FixedInputDataByteLen = 51 -FixedInputData = b11bf471f669d994bd5bff3ab0b167b9192957dea95740d04c774fb9399b5ba433765fa4fc9ad015a2945eba93c6503ba738c9 -KO = 7ea5551a2babbc308a4fe70352ad59e628c9c522226bc2b1e5a85dcc97d273f1081eed501cc8025851b4e07f5db62663b2d6359df207564d6c317207c0a3b6fa - -COUNT=10 -L = 2048 -KI = 857c8493f31061faec758ebfaba5c9c31fdca5dfc93027658fd07b8e77b4189e837abb3efd527c7192bc2651400f077a6626972b7802f3038ca2590415e305f0 -FixedInputDataByteLen = 51 -FixedInputData = 5b321660aeb0b7620d0b404a2ccb91787f488234e62e0ae4945702b1817376461849def38f831dcf3bf90f728e52b08d668fdd -KO = 6720eea454ae519e376e35925f71f7b6ca8476b022140387cb806b814abc84dd0ac36109981cc123caba518b394243d32bca156b065e6515b9c004f6637ad8875244faffdc6e183e3e6d9550eef8191260ec25e06a5e4b59776d02e752420e0c1d06754fd2bcc08b28d8b139b4d97c12cbaa9daa88184bbeb0ec02bcf75a5214f637be086c407e48dc76b45cacd3728423dfc981206669f82326d53613e27a19047d4175b14ac3670418ce8d123ea11baf4f354dca934846baea401e2477d7758ed56da617c8340dede229473971a62ac8eb27ca7059af3eaca1e6127f7f0a1df9fee193af9bfb3abdefcb40e603d1ae99dbf8fc41e8cee801463c295967263b - -COUNT=11 -L = 2048 -KI = eae282e864f3c55262ad2aacbebf695dca43488cb6e7984ce3fa0b391686c56b7139218ec7f042f39890db66086fd4ea2b2652373007d82705aced1e806b4c93 -FixedInputDataByteLen = 51 -FixedInputData = 881481a0c0c2b74857f7e7843737dc0a6e4d5cd012585df6baae332185715bf542c9b150519fd558b0e37bf710262bd16969b1 -KO = 07a211e1e264ba5fe4f97d2a60054118db89e9ac976e54af958557028dc0e15fd246b37c43b85c29cba2f7b51243960975de71541ada43b6eb916d1be2691d8155b138fa95d4da05f5f4372126bca52a6052f75a94d2d637076e5bc99d6923e89594cec30cd06cb3b5c5a6fffa6ed9e80cc9cfcb0975eb1d43dc7685b5830d030177d6dadda31dde3d7ffb66945791e0cf1c5fa63e01c1186bce78529768da83f211834a3b5742c441359366723834c30ff10052aacd55465bb73b2e8a6d3030fe1f7ac24ae1aae8951e9041ac673231a6244fa29b26b416d5231598153bafbe260f922680846635f93d3bb9d955c6ade798563629bf4f90d3ebac7c44115bc6 - -COUNT=12 -L = 2048 -KI = e00750db4b21f521e05dcf7c133c18cbd82fb14260850906bfe17ed0d1506db246785350848ccaaa51580d25a0d7918e696ece2ef34d46944883422c134fbf5f -FixedInputDataByteLen = 51 -FixedInputData = 45a016a097ce1a7b6711256396e7e45e5ed68d26081efa2fffd960f782496fa167d29ed4f80a7caa103e281d43f5a31b0f322d -KO = 5288188707f2d45b7cb84b5c5966f2fa2f1587591db67e7e7191e0652bdceb118a5368288472785e71ec54431115c497fdcc138a7f9d6d8276a3dc8d283234143d407585d713519d991d2df7eb27b854d4d5f748c1c807adeeb1ad254c5190c3d700dab6d0c714589f06ca6d57c3f9c4ff985c9df241a12fb7b0087fdbe60e0022c6d02ec662104f77c23524ec7e11eefeec2f6c0a0c813f390d488517752c52cb9fe74efd1d0b836b0f670ab083a6b8bac4b10ceba69b801a1baf53bf5c17d258d15529d5e65ca96f521734f95b3eb696fc15f223b02462924222e003a7deb079aea6504857c7b79edcfd013730b1d96a7cbe3e68dda8aee2d6c14ff25677bb - -COUNT=13 -L = 2048 -KI = 11168adda0e9b69dfa23e633d91a5a8e279cde2e7f4275f8e6ab696e245eaf36cd1f4a94f61f78d179527ed3ea66081b6b600c97fde4a8a099bb205a6f91bf14 -FixedInputDataByteLen = 51 -FixedInputData = 4710b6792055d7f3cae1379b925e7cc8445790d85f33b10b6181ecabffca7227a440f07f9571f8e83a8a3d060b36ce5dcf2eec -KO = d5c25fb896b20d4eb8e1ab58444a74f6d87fe5b3e52ddaa14bb575371ff2bf54723850f4093e13cc6e07855536fac05f114eb1de67985cbe156aef5166811487d000407c58712b1cabe96f301b7835fc114f11646852518a97eb62674d657c36eeaaff501ebe2546f24654b553f7218e9bf42e984cbeeafd618635d6614bd2b0e4125a110ce286413eeddc1c7bf43f97184000da5f3c7661e5426c84278c591d2b2e700e515e4bf135fa71317e669c84cdab7fccf60dffbce35030c7429a2b8512fc6d587fd208f52390d4b5e8bb061b84e0bfacca02de3ae3ce53eb1b6464753d1c4aa35b0ff97eb79625c829767820e309a9e5b9a344678d21fc58d22987d8 - -COUNT=14 -L = 2048 -KI = 3b8f66560c795980355d6b27e23bada2d25620728eadaad61bc4e9b3d71825f16ffbecf12bb827837b4416d1ee900c50f6bc45ce19641b8b50ebc70b16f670c5 -FixedInputDataByteLen = 51 -FixedInputData = 9300f49deeee94e4b8ad7b79fdb4d82b5537a3a2cd1f7101d9433cbb9d70b2938d71005eae55015babe8cf5f2605f480890417 -KO = 37a845f2798d78690e240ad6946355f2e4cafeaf5538c9e9792c3e8d0ea9a156ee2c2792b0b2a48183afba11ddb70ce100a61ea61ce39845143687d18beade52b12ab827004c2acf2efb3a9ebc3b8bb6c90e771ef1b1e66b60b3212fe51f2bbfb2b7a82920027214cbf6ab2a25a47d5735de13b77471f5d637389560a30967cd426e47ec8cb8d2138089b4cf859889978c6c63f4307c5850b52b8f95092f8e6c540241681acc86ab19021368fef7f3aeb130585d8f97a24681324f62d11fcc2e267e5fa70e8b9e23b8429381ff45cdaf88c745dafd33861709a4c1950947b50f25d823c554e3ccbb8890152e580625840756531be240410d0bc61d68ade1ed40 - -COUNT=15 -L = 2048 -KI = 25bc1f758775b1ac9e8f17a8047296a66a3619c02b257265d3f2de7c96f48d7646e72a120e96f1f158d98de57f5353d4758be05ae12b8c2d0736f8d2008e6032 -FixedInputDataByteLen = 51 -FixedInputData = b32bfbf9dfd71a881bd2863e9c28d817138926bbf9373e88c209a182e6f94371474b3b6357506f8e59bf6f2b28b96a2a9b51e4 -KO = 58c8ff6a256f1092b9d92c703fc6f9c970dc8b20ac39e74cf948116242a1972fd3b0afc91ae66291a7cdf86e8b666a7799e6d8062be6c7a819208fb1474bec8a14acb5338e396c755de1c302a849201ea95d0ae60094a8246e5d9d78b397d7e29b45b5c2a3479fff8e0e8a5be785f5e4e62c642d67ea1e64c0676f99d65a0a4c6d3ca8c4b432ac4121b2fc55495fba7eb786bfe92ab9bc03a7d1825b761d46779092715da7f9d457af56f4ed145693c7da59241405e79f6f556b7b00bdb6a1fb39cf2bd6699b42a1b0885208eb35cd471da01b0acb3906261977e0cb4833d1648fac5321cb74e80012ae7d31ac1f0910c861f91e28b6e9d50b571688525d6bd6 - -COUNT=16 -L = 2048 -KI = d208e1c55123aa9630cf360fde8e1670858f220feb28e206f264dddffddf1f34eafe71f57372a1df1b81722c8e7f7d5efa2084f787f03aece73a756baf6c8ed4 -FixedInputDataByteLen = 51 -FixedInputData = 3117bdafe3ce0884a11ff155bf34a152f4ca58b86a0accaeb8c129f38656021a81570113e7f10867de65f290f646cfe7abfe52 -KO = 2dfbbd46209599d659ae6b7a2a1f50d95c62c44ee794c472fd8879312b0e9701b114bfdfc2ac47a8cef5f763d3637bfcafdf82fbe1fd8b01a49a3cbd1e39cd5e816da3ef5df58fc4463ad050f5ce9ff80f8ba6aa3c41f2a59de8e4c737793a03935fdb23d3b7ff7cb0f98a5ef8b60b3af6b739362828ea769979ae0c2890012e6e4fb71272f6856d6b7beb4dab828b9e728d407940ccb8c68ef7aa70ac7f4fdd294f0c4de9f882070947ab13ea80e885755313945cb4f74b4e0d184c30931f067cfcf8005c5a32ee4d6177ac4ee93b90bcd612a8564af7d43926567a111e114686d5cbe337609f77fb3eebc3f668f248d27043c3fca24efec8ae38d83bebdcdf - -COUNT=17 -L = 2048 -KI = 7eea56886493f7232ef66e91248512518cd4eb54caaa317e68f138860e44424fa6570f03323e7444eb1cecc47335c93b8939d31341dbddcfdcf8b61c716f32df -FixedInputDataByteLen = 51 -FixedInputData = b987a6191fa25328c4f3944bf31e0fed19785ee348d065a48cac258db9f4fe254fed910824d32e402f5912ecebbec07b6c49a7 -KO = 1d4d8be313fee273a78f6bef3f0e29733982de1699a837f769419757cdb5a5502c723f609e8af4de376078d8d72545336fa8a6625649886dc2916d5d04512352fbcab4a82c873c808fa4376191ed9e2ad76436f58b40648434bc877d386b28721bcd37ee1d63f4a88d36dfe33b718a3cd70e359e8c6b6598fcde22d4605d5928d01114d0e9f83c8ed88343c836d8d3f0e66ad3913f11f18ab641b25f3be67cac96ed5b9ec54a1f86e606f98839002f4b5c61db6d758e18e647c9d718fca0ec35ab0752adf87090d53e05cdaff5b40251cc81959411c233bc9b774f90edf1615c94f622ba9c73d14176b10229b28a12d885a250cd81f521df00b720ecb11e5f42 - -COUNT=18 -L = 2048 -KI = b090199704f410cdb218e5418186b3ffbe5128a8445c2cc0b0645698cb0a2aa963f0dad6058d5826af2f902a8caad077685e0a3a246325e319c423e836c1ce61 -FixedInputDataByteLen = 51 -FixedInputData = 47b5dace9b412b092fa0eea5118da47095c15f04ac887fbdb9e88016f51fb9a8a4bd7bc20fa6903acfea10afb7eea9a2e06b8b -KO = f4f951ba2128fb22573db71f519212d93e0102ce936e27641acc3321cfd5553588c81a28dac9dd4ff4d1e617321a937d94e1c33abcc05952ad1bf604697faddcdb282365ebb9e78385a4eefcc4a30756d90c69f81fe892e0746d0c69ffd5d89dc7f1f59fdf7d8ae4efc5e2e0d36075ccd36cf8bef973de68ff4052bac2cf8fa96003f00b8e1705a97b7aa764d4554e28df851bb721efff6fb493958a890308c58de1807167d909e7db790c7f7353bf3f8fb5326281ef60c3c3dc5a4abefc8245c8c47173e915a46631af5fa2bf66656a7a8ad79d3909b0d8d76d6ffd8e87eff5137b71d6ef95a7c59b5618ff3102ef505a2176b4605d6aa72751e07bc12248d1 - -COUNT=19 -L = 2048 -KI = e34933d2feac36f2afbfe4b095c2afc08de15f5f38217adc5c3c068bb3ffe87c44fe80e3976bdeac1e97f5d5f74213568840b474b18347caeeee455f1aab020c -FixedInputDataByteLen = 51 -FixedInputData = 0d752995c380328c7235ac19cf6d62f282a74e20d100f673ddacf41f80b4caec24327a48ae504b67a4011fddcddad3e060fd66 -KO = 5b5c2007aa25c2f19b685b86dcdec0ecdee099885a1b73e29a278ed65efc92e1c335eec8a464f2da0f179fbb7b6d527844899d8e902a30903e7f989e9987c2851467fda100f0003140bb0f5677159135b1b5a0ca028d967cf8d3870db0dedc00f27e9351f534b8368d676bfd89421bb4d47387aeedb50a424f5631f575e47c561a74580e7d2e5ea8b7e620434d84553a356b758ef90c5bc990fff8c587bf49dd2093256ce3e6c65c1ffef5965f55fca2dbc6ca75e8816c5340edfc88eb92be78bb02834db007ec6b88704f6a82b0822d61fe4593f25d291ac0f7b9252c363afb0f7026e992a4cff9b554e5718bcee18ec47e1e61b04bdcad37a020e358402140 - -COUNT=20 -L = 560 -KI = 9409e7551324c8bd1c516350be04e143d39f5d5d5f3ad11eed7f3f9fa86f4d1741c80b6afe29f08b6c3be4576cb7b2928c5a0d8078283cd815bb1384ff5a364b -FixedInputDataByteLen = 51 -FixedInputData = 2cb8a0d59ff357c7d1db6c58a876b1bcb1b2c930b39f0bbd8c95be6a26227d3adfa3015e16c85b422b4c27f997498fdb37c7d3 -KO = 2eab63491d9544e6a877408686ee29886bbd2a15874904511709acda767c789bce178e23bdde66419214c735fe6a09af2563c3d54bf0c18b46c579d7706b8c49c6f6e2f159c4 - -COUNT=21 -L = 560 -KI = eb7fabcd69dbd7fc0115085631169369fc9d334396c16f2454d1a05d4b997ce2d14f4b04f3bfc22814417546d926f1bf850eb79e7bc2560940342f09c337e84d -FixedInputDataByteLen = 51 -FixedInputData = 26f8f4733723f7f3b43e5c523b72533fa647ca8f19fb8d71878a556b7934212943007dc1a0e52d327ec1ebdfaf4485e2cc22d6 -KO = c7a571195288ab1143884c6b15468a1e2e341632d80cd1221df02d48e3c03f58f1b794f8dbf6aeb2911c345ef6cafa1ca429cc3fb21c478e554518c189560c64b776d13fd9c0 - -COUNT=22 -L = 560 -KI = 48d715b05f033b355ee20788059a223db5e49ebd3f037f4821ac5e27bb986655f7f883a362c7b3c22b819e68defa08f2763a24f052d2b9fd2076462899c384be -FixedInputDataByteLen = 51 -FixedInputData = d482fd16bfc96351d66b0fe44505eb305a7f56dfbd0a5f29b2ac2e34a2cd97e7dfde817dd2e65429df1f42382a80b2236c631a -KO = d8719b6a859abb773537f85d74f5e5adf77a830a7ff95144ad18ccf6c25dd3f95006c2e96a93ccf3e3ba08059e521c7fe00697661f20d3b79f402480b026cba5553dee608f39 - -COUNT=23 -L = 560 -KI = af19d3fb6a306d0a0e200a567e11bf7c4be21ff1475ff7d1fc40d955f433a6589eda63a0bfef6781a0894203820c41e271b6dced508844c1028320b54d6bbf48 -FixedInputDataByteLen = 51 -FixedInputData = 2aa76254c5f6c8a32c9d10fb3b5593de8b0948690e9dd14e3c4245829306838df05bfa107aefdba04fed649dd9e925d2060bb2 -KO = 42958f031b6898e48734376a609b8ea5febeda6996940ebec1a8412d0495c7d58a41dc8996ab3931a56358d4e3987ddd30788bd338abb996a4343aa0446b6129478ec73242c2 - -COUNT=24 -L = 560 -KI = d36adf1b3dfb0703c563ab4bb3d6ad8db34d205ed382d43269cc39b79a99ad2a49377de61ced5a0764271e3285854d26cc5dfbb510b39a4b5f2ee157b5e3a260 -FixedInputDataByteLen = 51 -FixedInputData = f1195173894db192b03a356d11ca87cb82dd8079f7ae3a06c95e636890193b719865bd441879403adce26695b788b068583207 -KO = a4f20ae141536f82a0623c1e1e0ebc9f600ef02aa978edfed43358f9a3d7569f4252812447dae08c9efe03aa7e0b60ff3f811086e21da05b71efde10c2e3e90848adcfb5d766 - -COUNT=25 -L = 560 -KI = b6c70f4a749efe71c5c5e236066a1777e5250dbcc9ad9767b87bed3dfaafdb4957646ebe56ef63dd70f870abd779ed6f8ff9ba6a1ca82e042c1c38711dc53850 -FixedInputDataByteLen = 51 -FixedInputData = ee3988b65076c388c0f8bbba7b0d05229f3300b727ceaac3e2c0da39491d10e977f211082f079467d8b996652ef166fa8e6534 -KO = e779451cc4bcef0d8983140331778e6d46eff51954bb3be9b095e2d7515ad85a8d6b5b8d582f5a287af99d6b2194011a9fc08abfa9ee57d958e78de7b56b7a04ac342ce868ef - -COUNT=26 -L = 560 -KI = 09a17a8d79c9c1abdd7cebfac808d0964ab514b40366b1f445c216027e7647acf35dfe14e9420690dab786f27a5a5b9019e530e5871988f8e2c2dbbe5c2584ae -FixedInputDataByteLen = 51 -FixedInputData = 49246f61999067cdfbd856764f798bb12eb93eb8460369c1e50d583c07035044a6c2c7b268bbb258461a534abf2833db32f5fb -KO = 64b5368acb487d1b37b49db6a089cac235ea14b706b4a7f2bfa969cdc582b8db2e718d43f17dd0251a9958399d8240d76bf5bb6e306b0b373c2d7d65ea14d3492810acc6c100 - -COUNT=27 -L = 560 -KI = 5fce34b3ef56a99cd9752d1be0658e2cf06ce92385745318af0814109c525e71f090bc635e100aa4733dea05348bf7dc420aa50b6dccc736f80d0b2b6b4cc970 -FixedInputDataByteLen = 51 -FixedInputData = f7580f41085d1be85e4cac1f4910d9a6f8c8ce85676f22822643c1f55068b57d776b304ce8176e7d79c0665f51a11a6e2c6a2f -KO = 9ed61089eed4477827ef25912193d4ec56ae7a47104cc4670b4b19ea88e7583e0a84792c52ded5495d60108707d83211fc1d7530abb6f74b40029c9e99f14113ac5183c6402f - -COUNT=28 -L = 560 -KI = f88fded6c7eab0e654605293e7a1b2e3fc0b8f096eecb147decc074fdfbd719cbdb02bf2e9fa4a809c4e87e2b9e5766ef9c063ac2db2a900a517fff5747451d9 -FixedInputDataByteLen = 51 -FixedInputData = b671af2241e23de22da1d365dfc1a1d5dc0b4b3bac477718b2a137e8ffea64336888d77401cf04b036f55afc4f4221359e24c8 -KO = 9a223c75973f2d361d758ead1c2e11b7f3c2654542d9d1badbdc48b335107a605705252bcdfda61839bdf52f6dbb799c9102e216884ac16c970282e391a0f89d52df990d1c83 - -COUNT=29 -L = 560 -KI = 7c1f2a1112e7753826e3d3737541e127d310aa77f314787de5715e8e4f451862b0f48af7553e4a0646abed8522ff1a21ffa90ffc1a8cf14ca6e8ccdf0f7a7718 -FixedInputDataByteLen = 51 -FixedInputData = 90927def4fc4b4fb3873d10b74e3941d154491291fda2b93a051e302e530fdc52133b4205e11ad487343007acb2ec2a21b1463 -KO = c638205e21cf3ea7175e58eb88fd75ec42e40689bf52d284acb2acd44658a4ec935133c52dd6940d86a2af9153ea3e5af98f1cdc64e36791b9e1f9dcc6e65a3afc5119d66cb9 - -COUNT=30 -L = 1600 -KI = 42aabaca4065d85548ccab7d49d3bedfb378b6e1d77a5c5f92eae44a11394df308ae38c0dbe95b5af4316352d832a867da19b4a8437b1b611db5c40ced4904f0 -FixedInputDataByteLen = 51 -FixedInputData = 1c75c377032bbb1474a630489aecceb7aeb4b9008e20d60450d038e8fba66ac9d9fd0ac6d46de5da44073b81d13cf4a8690f83 -KO = 8b768482dced2e1a22ead2a168a9cb34792efdb55b1485758d88912b87e9c3e7ed433ae600440a97cbc57946a830842fe862e8a0e33bc4b99909f76b500ffeaa89f7634a80ea6381a3d6ca8cef7d301da47f057268b259c24f1fe755511e74539e973215c1fccc3b7162965e47cfc906b920d8cb4aeb914ac32b229c41aa186811d75b09d4cfae8d1356bc53cdab41596fd0226dc1ec72daa12a0bd098712c4011842c078eaa63ad426321bc84facd037dbd5c5332a10878ea5129373784d5bb3866764f03b32d71 - -COUNT=31 -L = 1600 -KI = 6c90c38d25c8015f4b07b0ba93a601168196dd5ab9a22e5e43437510fa17c77043f54b7b4462eccc27356bc27f399a4d4ca92af64f7def56563ec2c7ff551f9c -FixedInputDataByteLen = 51 -FixedInputData = 3bdd855cf23c58b513308d8d93a715756a31849cac53d2f2cd041362249158cc2777bbb167ecea9796ad400e9a80f9bcf3193a -KO = 99d50fadc49abdbacd32737d10ee336ad98a927f5c76399d6bc2bcade4fd44d72afc92b4463c495724f1429590b7749eb22e714b38c65955ddc1581e9526a715ea2702cbe4247e5f7061d74d487e7ffafe88ddd01002ca03f6652056993ff1cb350e9abe9dc2ccdaefeae4acec123e9da21dd2bc470c614170b11cb4c6bc575b7d5fec3222c8f42298c4497dabc2eca8d811333a6488d48ca198e537a682e788ae74fee97acb30b6e9e3246b0da95ce370d5b4acf315a1346da12cb599525bdc39ad54f270a6ea6d - -COUNT=32 -L = 1600 -KI = 4b537878eb7bdf76b1574030aef741616446710e141a6fe3ec7745a145e3029041f5fa84d82d81f081c4d7b5a9598e47c1028b4045311e03be6c9202020dc442 -FixedInputDataByteLen = 51 -FixedInputData = d2418ffa5af2b154ad3388ecee9a0c452f78644f62ab1fec54105651bbe7febe1f6cd81784490e2c9c3fc894659fd8ac0a61ac -KO = 5d843438c8da29f5ef1eb52fd330102beffe2b11c73ff50c527a5cc8c7613af907a52a523de138c5202a95fa099b5cb4619a307ad43cf74e5048d287ada9b966a2b19f8bf2cc0c51cf5db07db84d00880f209c5fa9b62439a2f8ac87330ddc5d327e3cf310b6891a9429a1827364a9064bde9922e59f1ddbf26532d43b3418303451cd84eaad7493db0bd29ab63092d7139a7e793b22ba09d955ca1d9b5123114cfc81bbdf8c9c81489889a33456acf8415ec2ca685ba2f5b90f8ab9e41c8006e61205af26260dea - -COUNT=33 -L = 1600 -KI = 37867737cf571bace4d941e2b6f21b3c3e6cd657b7dbc7d49b96304d782e267e527dff652a949ff571bacda6167784631a09b0198bf707bcf8651d8d0ccb883a -FixedInputDataByteLen = 51 -FixedInputData = 1ce1df89ecb76a3578d98b0f40a2e54ff2c1b8ba2de4d0fdf0b303b51ecd43d44928e5ac900ea8dd7798ccc2fe81834be3a82d -KO = 40090eaf286725d1495da95e2027fc215a81c503ede901517970a0ea3bc95b4dd3d5cecc371a4cd5c6c8c51197e3caabc3deb6edc3410cd356ea84928cba52e12d4548934d237f6adf8787ddc596c5a39b27237baa8996bc554c8eea37fa6a44d51f6fba20947b870e92c4fe1770be53c51b512f1a87985766efe1fe249b69b4b694b4db305fdd04281a7bc06a68d0b07ca950fc854d5512471e5d14566bd9dd6c128c09daed6031c8f621e1275976fa3d524e86387357a84017f827293430c2904a54a5defd719c - -COUNT=34 -L = 1600 -KI = 4b11155fd8d21f83d2b41701527959a72171a5fe7be88b0650639268955e2a4318eda952c0c2a2bbfc01d15a6dcf16991760538504e32466e6fa9e7561624183 -FixedInputDataByteLen = 51 -FixedInputData = 3e362f746bb9ae35d8b2683381a641377e26ea77f2a5a4254ab7f3c6764941d4d2af96afc18e2841f1b33de644c8a437b1f5dd -KO = 4a357348aa33b4ae8ca788bf1f31185368e826e02180616a3901860ed0d2b886b73d9e8bee9926e2674ea433bc50b6b304ef8fe07e57ab3ba14f2e268b1429088370cc18850349783413edf0b5e9477e1f3d0e1df75c45fc854d67878e49dd28e1ee1d525cfae43274245061c849ed292a5f6bd7b443a9f460454cd0960fa068265d054052708ecc4b732de8450cf0401e0c77453f3a7ff55395c0df41b0f4dc2a7a4b7c3a0931b421ed5cea87088cfcedfa9498c8385593dcc61f2ca6d3a684d652a51536140c14 - -COUNT=35 -L = 1600 -KI = 2b8e6caab0deb1ecd712209524cdf2bc0144704490fd0a652e2a049765e11c78e808b22f5ef5cfcba5f8a360fed630cedce81ef2cc6acd5b17c3dc4194d7dcac -FixedInputDataByteLen = 51 -FixedInputData = 9433e30efb7efa1d30951d692cbf3a54185b3d0ed12c20d2ba9f7835f9f1180d875b7a1ca634d459988041ef159042659b1ff3 -KO = e7d394d5b49247ebd870a6b8521ceb2ee76a9d1cb075074807d24b5d6a9f461145072c06726e18a35c793484a66eef55e2607eee24e26533e95f2a668d730ddcec1646c44fec104c00f89b5c20bf7d20abd1fd0816ad126d98acbc5ecf2d327c14372b8141e7125ba542f9bda58c8c10851b2e47b82895e57d68dee81a871a77609f6d51c1932777ff6d72b4f44c39d0f6a2184f3dd455de35c1a46a5821c2677a9119927880fada1e3977409487debdb4c56f098147cb55c45f52a94bd7e87cf8dcb205e6d21868 - -COUNT=36 -L = 1600 -KI = abe38e5c67e217cc3c085870e6cf838533895313a66342327ea947e7a5b3da626a7e377b5fe6dcb3de18cfc94760481a16d518e9e1bd1a08c06519217c625668 -FixedInputDataByteLen = 51 -FixedInputData = 5f73485cc4370b1325c3f92ac6c768c92fbca1a183ee39bb94e1f5880b4fff6bce7ab890a4bdc6c8c3525907b78033b09256b5 -KO = 2f5ba65b7df3e798742f9cf4216efc8fbba51c90b999ade02b01ee90afb81b3c7f677f7d55817d609685efe5fc6ed8dc0e60950f756c8cfc754e1414cf8e9713d4053450f2ddca64a89b135755245298c175c45ec191770a12d5c0976c4b849c671b8318cac7d7f42ce4e23a0cec91335497c77af8d245f535337650fec1e2625aa4c7a15339e5f8d43e3b60f47e15d89efa2cc5b32b0ef0fbbfcb7fd1782b97db858e121ef41de96d13d382b5c8a41f8dd319087c39a00fa34f828f8265c3fb1861b8eb3cc72ec3 - -COUNT=37 -L = 1600 -KI = 1f8b1650ca2543ab542df39ed7d57bf1c56efd94af37563b4aeaa443be4876016b3f10814771e0430b709ab9d9224c28a585c1b6c2469547ae744e53696b73c0 -FixedInputDataByteLen = 51 -FixedInputData = d807591a4568e626401f677e994901a5b752b75d84159c64dd0bb65164490e109077842a7cdadc15480ca651f3821500b4f852 -KO = a22363fc05abd281eb5fe7f30ace36400dda8ba3c42200d1940fe3de1dda1fb2c74c0c865054af945cf3c537f4bf58c51a7f8d244d235a66fb0bd12b1bea30a54e33e72ff19112c83a6e052783e061ad7f2845497530478a5bcfc062a3a9fdaf3b08f398421dc90d6d1299a9234a4a2af3140630dfe3eeee142e8fa43146e1f29445d087c0fa32995b8ee389230c13552148e518fcce449000cc56fc0b7d74f708c10b190c4e7d0d2217498593b17cbe8076efd4813ab6662f2b433fdfaba2efe2fb1157aa24e7e8 - -COUNT=38 -L = 1600 -KI = bd44ada625580e35588dd66987f68d946c2fdcc318fb0207acefc00adf9dbae2a4ff799bb5ece14430cdd6ee5c6a2708a9a80194c106d0f5868eb1ed30aa786d -FixedInputDataByteLen = 51 -FixedInputData = 287b189c68bcc744c84e680bed4714df79678ac5d9b57f5ddf4d5dc98437f73b563500ce09733ccb45899885f1b94fe74c902d -KO = 3e8f5317c3a7ae0cd98203e8b6407f4a70773ba5fda859c75a698c7fbc68216539ef3e05563a3a0d93eef5a507a785d7cdcad2a5a62b0ff24076a809aa96c0124bd97c42c79fd76a78823461bbddefdfee124583926f32069657cfd0e70f26608b1e2e90013502f47cf8754c46007b5af3413c265f8156f4600a25160215fe46b48ba0a769558b44974eda606ec32735f7332d081371a1abb9c303ee4d76ebb49ad74019862328c18cb296e2e0673a9334674904bd09e4efa93590daca044d1f7e98d1179672a228 - -COUNT=39 -L = 1600 -KI = ca442d29e30631fceedce776262175a31327f712402c765b9d12b47a0de644cde73fec84223bcdcdc40a8219b962dcbf147ec7c4a888fceecb3b16544b79c060 -FixedInputDataByteLen = 51 -FixedInputData = db9bfb91c62b9de864dd1874a4d7fb45d18e01181a28305be01496044a80e46aaba3e360ed3a4cc8fc0c587eb23c2ee076a9ef -KO = 5ebcfeb9f41f92483b5d2877b03805289b470794a01d7eb195133158962a0bf0c53bf1e2e0af31a0d78e8fd1f4d014e3942ff26bbc44ad58bcdac2a8249a0f90ee1aaf91e23d4389350c715ff961797fefd89a8218821defc034c838590d44d35731235b836dfb15b73323f50c51b440340625aca8f3d0c6cba4fd937aca289603345de0268f768ec2516d9c27efb2606bd8fbe70d58562b39cc37a26f3b235164df923267002893b581b33626f77c0e780958c3072c938978075aa92d85e7d1ad81a0841ff5c315 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 331e3d95d4c50ed8b0f53f1b99ce3fa2b0ca145377ec7e18cd6fac21ca5ff702dcdbbfee7329623ed3832c7850e1f4c04cb7b73edcc8aad058db16b03e8624dd -FixedInputDataByteLen = 51 -FixedInputData = 86305a329abbb8b7722e7b38b00994bb562ede4162b5a6867078eab629f10f8db56c27995ee876183605523c69d63bcfe99419 -KO = 0a5c054114b1fb766ce9731e78e5b94299e5dfce7b06b43c7aa756dfaa25907afbbc020bfcf65d4037e5118e184c0cddfb293b2045df4e987b5b4b853b82a19c - -COUNT=1 -L = 512 -KI = 4a2d6a45f14559aca2a64fb30bf5cc951b21342264077ed58f3c6d7c34bfb1cc3335b8fa19e1fd25073aec529d0666a413fd7b11716d0ea7bab55adc438aad61 -FixedInputDataByteLen = 51 -FixedInputData = ee5af785fdbd5dfd9c1fbed7851a025f4dfe4f236c1f6ea20e55e5e459c59cb1c2b4162f965c9fb49dd89878f4026ef5d07ad6 -KO = c653bf831e0d1ee875f83b62a94fd4c8b335c454528cc8219390dce058e456708b14619dba1373eb2032fc45626cae417ebd1c2032ae0cb954bad681e988bc65 - -COUNT=2 -L = 512 -KI = 641eb2f5ddabadf99daf1b3d7e30c87361feaa89f8c09e541c0cd3657cdc52cee78547ed364073c11addbb6b5b4ac53da316fab255264d2a6747247828ebc965 -FixedInputDataByteLen = 51 -FixedInputData = 632f821868044cc38f179d772e0b30f483f3873e22caeda572e322654e0722414257128daec9c7f3bd99d28bd5fdad806f75b2 -KO = 15b8b20d041bd5ef4daedb38f896260c68bd1bc2eba9c38a093a68e2c9c4148b06d837713f19afd1704da419d06d36eef1efa58b683105e17225a4b5cf8815f0 - -COUNT=3 -L = 512 -KI = fb3a9085d92b99091d998e801f49795519a6920c0e6ba35a565847693ef6732053e9af04e3ead14aa4733717852b7aecf04abb9a21b82b9bfbff3bc6fb2c8d65 -FixedInputDataByteLen = 51 -FixedInputData = fe240d28fb4267beffb25bc6760223b14541d1e725f65c09ed0ef8dbbfa7772e38bae35c0807f7f7cfd9e6c3247b8cda1e3959 -KO = 4e326a3ae1b3595770d9ed90791abf358942f6be45412bbc80c45e95451ad4512d29bd4f2e28657e9fdc7850481f350342a1a73d9b55c3d79eeb37a8aac4d700 - -COUNT=4 -L = 512 -KI = fa16a9ffd8ae4be2a1079c45aa73c92f750ceb4b867d8ec2b50e0ba3786f0939356241b73f784ab05787b193c60aa1e766084307648a1cc45eabe7c3a5562f72 -FixedInputDataByteLen = 51 -FixedInputData = c524333fc4f02cb025662b8236fa4ffe9862b9ed74122db0b26d4d1f7885563380ec23b3a07bd40820427533cf9901ed1d801a -KO = b9c0fa252f993cb952501a16732cbe9ebbdfa1ba15388e2efaf5360b4e6cc2500d665643540fc001098c0cf0772b7bae9f13653455a9a8b8a8fb501f6e6f45ef - -COUNT=5 -L = 512 -KI = 0da886de9b049c210f5eec7db4ae681d25edc0df46eb7287afb5e80216bb255c9adde65ba1bbac73e1e03d1007e814f7b763fbfa49837a70447b1ca23b5e3dfa -FixedInputDataByteLen = 51 -FixedInputData = 9d35631ac0ef9b59168d2d9ab35bcf892eb156c17bb09706b9dd4a8c8edda883fae55e17a2d157d4724fa017fcbdbdc8c3b16a -KO = f8a0aa0d019a10e43fb372c12b8a56c7298860a367ac6198e3b3372a14492875ea5880d51e6aacbe76314095bb9c862ee56ca7edaec430e91dfd021ebcd6ecbc - -COUNT=6 -L = 512 -KI = abbc68100136182c63e62efb5d2087adcfc7fe48d7f0b044492d8cba4e10008570a7c88034a5220da762b97f6cb177f76ae3c40658f2b9eff118240e1b93c7bf -FixedInputDataByteLen = 51 -FixedInputData = e2d918aa72f746d4f4e654ea24ddf0c67467385fd6f3c43d85612b966dbab2f5ddda1b3ff0d14c7a90744cbfc8e06a8d34d44f -KO = 5278aaee17d6fedd56d96882523569cb5d4ab2812b0d3145029c202dad4b8a645b9b73bdba8362401b2178b255e6f8d7a82af6e8a5f3198aed85a65c142f0637 - -COUNT=7 -L = 512 -KI = 6c36977f7c363894eb67d1b6a3ec22536bbd54528e8abc69addff47848f77b81f8e0432c71e943d79603958c15f519cd2ae1303ba82ff1275571fe4915ee2a7f -FixedInputDataByteLen = 51 -FixedInputData = 1630f14824a7dc5f4e1209f7b06f51b9210668f24aaec4c43c12647da79a817c08f6807347f0c848adc66db2be9a846012508b -KO = 4e62bbcdbb58ceae23d3619feba321b51d8622a9c6f08bcb128bb6f5ce343db39997e12db4fdc4ed739340ca73fb8d3046a6157f2000587a783e2ca7cb113e6c - -COUNT=8 -L = 512 -KI = 5cdffddde8343ae6c1ffae7f6b26b4ddc15023e452db976529e10b84bebf3f29a098a3bf60c3ffc879b2104c9fc8e67ea97040d5f8b28426303255fbc5d49ab8 -FixedInputDataByteLen = 51 -FixedInputData = 29e564017ce69018ff14d59d3181ed0d19df8cceb3a0bad3c9da531e0fc9c740f2b0cba308282ef196c66c20884a312c6f08ae -KO = b7dfd9eb88e393599124aa5dffcac6118413324b7509ae845f849f3c10cef4821b51aca282a71b2f61440567b0855b1f42705b4809481995de6188b169608358 - -COUNT=9 -L = 512 -KI = d932dbb0c8ec6b27fac00ee538b2859f9a49893b5ec45292750610109062aab28ff888277e22555b25bbabb65e9cb15db3745f254ec2b4a095a38d2594726ac1 -FixedInputDataByteLen = 51 -FixedInputData = d9bdb575aeca2507967be6478c39bb4e474f7554c1e458d3974d392a153fd48f60ae8fe8c3f1b54b92179d8ee041a49bd28afc -KO = dc1eb1e448c35fa7b4b2fde455accaff853f546162c1967e10b99927cb7292873b309ab1ddef1ce2663d3d154bff75e804006ffe563b68c67d0dc5c2fc767355 - -COUNT=10 -L = 2048 -KI = 890401da23b05fcbe1c858b73c7e273d6f06bc5160e31db43cff8facd006a722bd1d578837d695d411c0fd11fbe98c4eac3efb82e8cbd6cd501b400c7af7c843 -FixedInputDataByteLen = 51 -FixedInputData = 522713078f62e610a948b9117c9007e659458efc3795b7dd77fe7395ccfe1d9767c6958eff9b0c0dae9b402c3ac0e72eddcb15 -KO = 40de0fd48d650a1679a8044f0b1b6699b754c8aeb881031459a931339bc5975ba52d08d862f07b3e1b27a9a001856c0dca49093952e32abdab1805e1427336156b6041a19d1ebcf9d921e37e8dc8b9701c84c165e4a888e7b4bfd8c9a16d47f4a5e7ce3dfef5c7dab097f8b642c293b0fcde9be72489d732607e5a5f70a50e29c16df4f196eaf0cb137d4aef8a4c713c6ffebff2255622b54a089cb946057f2a4b8be85a6bf40ddc17becfdf2a58f6f2a2a95fcfacd3486c25f282dcc4e66c35466c4bd1488016ea94202fb913746492bcfbae3814fcbea94095bdb20fea9530e5d06333895125309e1ff784651b460d90ce827eb4d7f8fcd9cdf4434da9687a - -COUNT=11 -L = 2048 -KI = ebff161fcf8435ddccc09665cf39645165f36724f24c7066e005ec027ba7b141fb71ef2938d8002eb5852308c2ace3c78685dd0941520b8b70709cb5139c1777 -FixedInputDataByteLen = 51 -FixedInputData = e246b19bc19d9e216c1e215af77e0da9bd60bd3fecc38fbcd4c004e6587e3abe8ccdfdb6c8ce2755223a07162b4f964c4f977a -KO = e835d30a303e818ce9d957984a11560059f775849de4ee830c0e57e70ffa97c8d44c48286e2f3f60e28fd416097329fb5b9c5517e2986f083fe591535a3c0d8560f18c72378229945dcb71416d6a2f038c308422101b3e513dde0c8a23d2476ae3af621c22be97ed95a1f14e282007bf718915df534f38410a59e705d748c2c8a07db644b2221b253bbf9d87cb3d77d44e261fc566dfbbe750e6e4004938db05434cf84a6fe05d9fd6c6c1f8057d1907ccbf27a17a9abb533043b93e45f5851c0fa35a364affad67735b6ef2c2ac8902d5e0108a00013e1f6556e0875968da4e0e648df8cdd5edb3ac7f7071b14c15dba56ab73e2db82a9e90e1f5dbbb5cb90d - -COUNT=12 -L = 2048 -KI = d22f114a00e3524f921a0ef0e380d61976630ddf8bcffdbd9e5721d13030d03bb3a696b841bf0f4f957760c981b616a94d4307ed73019d3452e269e4671cb62d -FixedInputDataByteLen = 51 -FixedInputData = 3f3e00412e7419a3f520be1c04190e4dfed63aa8ac95e9b2352627815c6583f9783d35540f95dc728e065402fa558429edc85d -KO = 38dc886ca50d7abd63f64b7eb9296d5c87b1824d9f2c6b543dd9b832479c8974725866e1f9d8e0e0fbc20509303e3774cd6b2f54090001c0a1a256c5d48de129399ccfa16c260e03234647a050afe59a471104e828c0c0d1a96c5c6a1dbb3274dee1b06a74dac256f9081302b381239592ab358c1e2fcc3ce95f1c78cb4e3b7a53e84e4c7f885f6af7261d9d1bedc1690411a6355ea39322d48b30acc1770ba5d7f5047da97c58cea585c674d40a03def16779bb32c0fbc0d578d0639caaa85d0e0d9130daaa51374ec2018b2fed65b83cb32d61e15b5d5c5453ed55cbd60f3d1ca510fde248ab25baa4adf737455bd39ddb4f0a903468c8ae9b69a2e2bbf84a - -COUNT=13 -L = 2048 -KI = 372375114121c63ba852db7e0da1ae14972324978cc4435e770e33f512705815c3b0852ecb7e5f04f14a48252759bbb9bb9502ec5ee771f82c580335c2076172 -FixedInputDataByteLen = 51 -FixedInputData = ffbdb69826d68caf309971ea7bd3084a0f2928c4604f318f6b88ce3d5e50dbea93649516d9aebf0e574422294bfbbb676d4746 -KO = 833e609d1bb85a18bd351b9b1fea5a28b58aca4dfa2521725c900f74276d43274fb51ce2f46c3a67e4667cd95c01d7714e687d6cb9e124d1aeba1f2440a1c1b85c8ceec36f2f64418125830e752482a0e8de3ef4ffc7da806e1faf0c626f97efa9b84b18cda1240a48d98d8d8de5d385e1e584edafffa76744676d51db2eb8ebedba81967cff3c9c15f5854a240ad0f66fc391d8cdbe542fbe15b5fe1d19af5f0d24439d8c38f9a24509277a16455c5f7859a5ae332f59094fed8a1e1a28dc9d0579fcbb55d34e6bc78d5ab702a5a269628eb8fd6bcc8605800051c2b6061ecdfdbc20fbff179bb7d03aca17c68054508f2719362d704198a6b7d9520aebfd53 - -COUNT=14 -L = 2048 -KI = 89407efdc1931641bc820b136073447ac7e5038f23ebbbbbc9053f0e552b9afdc37223ff9b6bde3231921f63d558868fa2b8d34d26ad1622dd3dfdaa8b2026ce -FixedInputDataByteLen = 51 -FixedInputData = fa3fe0e6ed993a5fa4c951a4b1e03f12c50e8cf926a6d6015b4575fb9cb468321149245496091decf636eb323007d2fec939be -KO = 4728365cf26e70a60fb2d58b4af98446ba725d31ba5b2999c418c6ccb64cae0c866af45223c63bd14a4057102be63e6fd789376dba265e55fc174daa5b07be5fd9f006206afa3d42fdedf49971af95df4078a75cad4a5923a6f31dd3006191db1693e2132668a6898d5d658a4e1697738a7c3202601d20746d2b12d8fc6e55ceaa1423dd8ea03acec05c724ad832b722e5eb5e3e725f44e7cb8ac1b983e0a9cdc6a08a2ae501f3515e5a4df054dcc17f678740b8c783ea114f45ae219e05e81ec29b8e1b4ae285fc23c43d83531c237938c3dc82d515799f77fefc3f3a81f227bf13a8d1220646bca50582a7190fc94718d3a6ec13693af9850a1e1c7ba2d9fc - -COUNT=15 -L = 2048 -KI = 1e461fe0e1e91286c76ecd78319a1a131aea301e83ca0bc5965479acdfc294f74bbd3ef0a1edfbf0138d2df009bd33b75e3670c8bfdf204afb7ce1f6aaf84f6d -FixedInputDataByteLen = 51 -FixedInputData = 20a0956355215cb80c348e5b8bfb062bb2e88411302b6554355b96245225bee8a92f2617c66f0c8f1fa5d338a8b555451796e7 -KO = c8d61202035489c6ae00056509b9b9e3898b9afaccd4cb820cc5ba6c540ffe8d34069737ab3f318f35ba2e013ca4cfa654ecf8ecf4080c42dd8a1dd5c40812b072e7123c68ca4c359d3fd526acdf0fbd3deface84726d17eb0ae4467ea1f26f07f9fd8dd3b3dcef1a13a54cde23a2e51cc723676c4772d9ee5f4f3180603acbf0dd43979cc7cd43854fb22d129186ecddac9646d16d8dcd7c8ff8bcbee3cba0ab8bf237eb240ec6934c739d4741b5ce4f50559f17675a7f69d9df28a8b9db7049be3879d915d57a89b4e5934b79ed5eb99d465e5b166d6fbcfdc76a1db446ab6f4f1dcc5a4754c331e871b50008b5b927ad5c76f298626d5eb0db59aa14f8018 - -COUNT=16 -L = 2048 -KI = b8b2aa8e9d25a4ee8d27edf676d8d3180f60156f155d25886eef5eac5ba2e7a4cb7dedaa4ef01b8704c4f34cca973acf957a1d25712e63f2422432621722c884 -FixedInputDataByteLen = 51 -FixedInputData = 8d95847a4815c1aaa259dc5c368fe619578f010a865f34b9c7cf2f8b5223815333d1420ef195b6cd7de62b7bd1a46c554544ee -KO = 2ffc951479d060910a1280be98949218308bef4b0f8af6c6bef161d70f3df3b0210273fd3f3b27cea1160c8c4f0422e2b0df2b403ef47d337dfd75c5f616fafbcc89cca4f214a54c4b526fc298ee52f3742e6d99c37a8364ee76d305cab34bd87a33d7d5d7ffa88db74a0970c10306256da568f09215796df56a7f3e7231748990c8ff7ef15b42758fdca6bb6af1ddbe19eb28c3df4c15827d235d46026b7e946188fdd570e29d6bf64e775c880f5cc7c7a9b8d6fbfb4458ac637377e188a938366e48906949dc02b21bca95d0ec9466203f4cae953620e5c343cbd50a9e8f267a13eb3608fdff59e02d527d96b4e0e636fa93305f6c777dc105b1737a00b4e7 - -COUNT=17 -L = 2048 -KI = 3bad25783c82c5837e27d86e79a97f657cc04f66d0b81e85c53c7db0782919d5d745d88eba680d603eafb0b2aa82f168e03788bf7e02bdab0abe929412694992 -FixedInputDataByteLen = 51 -FixedInputData = af73758793273a6cf9d2ed151dc7e83ca7c9ae70217170753b0733c090a67fe825ea4c5e5e91d2e30ff20dc0d75e2f673ca906 -KO = cb26d46eda8f31bc4431c11cebdd97c7b28304b6661ebe7363ad2fc1740c70c13759057cc8d873a64e9a3d2e7487125c638cce5d1381bd2ff9d8c7d16b7049ca64dfa75d7ea9d2b68aa5172f1ea6029168d50df557a418cd15d7c64b8fcfb2603d7c0cc258a03f50af3a518b661d939f5415a6e0fb7952fb56e133e9ca0518fe04a590643640d9865d6c6b37ab09a3452c71bceefb8ede62a10ed124152b5cecfbb8244dc5a486a5643329cd9a8a95940756dc557417f7b14f907c831181b2dc2494b7169d243f2bdbd90c22e96b21e32b38c55ef0b3759a649b1a0ef8fb4a9a3234ec75dcc509855ba3255f136981d3ae290c6710fbf8b70c3ce9cce38292c5 - -COUNT=18 -L = 2048 -KI = 1c5e684d7c30118a0a55b0f673c572b25c8ef7c6be46c94ac148bdaf0c06b32a79a418ea09b50a5fbdf00e57d0f5c99f19f4a238dbb0bed67ab851b0dda89cd3 -FixedInputDataByteLen = 51 -FixedInputData = 7a3fe465c58b93f9e41caa8141dc3f857eded6e1f509e0a632a83f5be381004c047a7274e93000bc87f968ab11f745ab306fa9 -KO = bbea492d4ccb5b9960430e39ea3511aed9d003d13a8af190ae88d9aa7f4768a697485c03808b0a01c456858b873cde68649988f497b0a2ccf5e3c0cb3ff28edfe47fee4892e9939e1b4e12400a26fcb35e15e28046b2e032d1ad8e0b0163bed4909bd5236af3a9089856d1127c36eaa353f851803fb702f8430aaaab04de93f518082ddad3e86d8ba904f7fa5904a763f76f27a1e1c6d6027e97fe9522dd668db8b01be43923acd932ad0d5d75fc1927d2e9480ca1da0e0834ec29b8f8bcb3b4c6148e0423567583d02edafa2b6a362ad4eded272c57269405f97a5bf0b8fe6b7961a83643e81fb6aff2a19c9d9c6cdb35aea7f480544b79cd7b60173407bc63 - -COUNT=19 -L = 2048 -KI = 8de6b8c8832e3cc697aac22b0ec7d9a86c64017c2899362a01d7f31fffbc2223cb415ef9a73ecdde1514e617a8feb8e1c8b1da635559592f1cd2d61319265eaa -FixedInputDataByteLen = 51 -FixedInputData = e1605ef7120c95a41ba1f6f01a6d44e66bb3c4ae6bcd66c4165472c85060f58d81f74f35d025c9250da665d0ff924638c4a3b3 -KO = 31a22bcfd6c6ededd6ecbff219100a5920ce29063da300ea886ad2a9c5fe629285c2a6c11cd42d1a6006f5bcc5dc721d9738f925d4fc027573c17ab8c9014ef118f8d8786eba78f1367866f9e2d7768e3b51e452e38baf48f95a98feeab61686c96ae9ab5462779a07c31d4f40d5cc1c65d75622614eff3cc943a376426516b25636ebb6fc78d3e8f764a9dd6e212ccf01b6ff6ceb228767078b6de089863cd6a7e4ce5b18b33449c1a436036a161f03a20fd5df2848ffb34496336fbcab90e6a994957d8dae054965534db20778b46515718b7ebb94325d4c6fe0c710e0a18a71283331388eb66a739e74dc19dc3b9e61a49efb34bfb5f47ea2e915bb07c93c - -COUNT=20 -L = 560 -KI = 4aa665e011b2e827745d356847913fb25bcd5e8b34c4b6a52e87bb5d453efad93065fa15021b65a9a02468d3f75736f7b44d6c1e4eacfada80c30f3972d4b511 -FixedInputDataByteLen = 51 -FixedInputData = e4627051d4bf9b904d846535d6624c6c25c17b23adb931dd0b9858125736e77ea40d1f74169b9bf10b78e8feec529baa0113f6 -KO = 0842e26e4dd9df458f720e59863dbf59c444fe615065ba07636802b1426933dea5678300f1baa918c7347c85055c75347ab0b612d720fce737b15dbbc35d5f73e57164966c84 - -COUNT=21 -L = 560 -KI = 41a6012f56283f1014c4cb46458cd32722b1f6cce1866eb1389e3f5f04a24834343ea5d43ebf641f9088dbf852f5dd4db2fadfde527e5ccc712fba8610059c99 -FixedInputDataByteLen = 51 -FixedInputData = bf160c50c79a210ef9d3d0fe6d4cfe1bfd9d1efb23739f70f1c829eb1a3d3de2a45bf2aff9faed111378240e027509bb12da0d -KO = d95cf76586600f01e0b3972d2aa45263b9e43b93552e778def4a1cc0efc6135b40b9c9b1cc07e964d687d6883b27d3a44c1ff40fa025505e7f764b2fc6ad65b69fcaf07f2282 - -COUNT=22 -L = 560 -KI = d2c7b927a592a0534331526ffc70a62e6aebc670961b9c9adc35d7c4ba85bba38c20574bb6c6fb82eecd0b520b4edb150b6cd7051ba4552a2ab8194e6e3223d6 -FixedInputDataByteLen = 51 -FixedInputData = 80ff5ab823c865ea6f024641f1e276b940634d11a274fde5e9d6a529317b01b3ccfb4c5122cccd3943540a3931baaece47b994 -KO = 21302d51219a6afb9e95e38f6b1a67dcb44c7899eea3b4a256cb960e918b0089785e2f8a14cffc3a7c744e07d54e1b94ccbc32963346920b926ad031d422c05f8b44397c83b9 - -COUNT=23 -L = 560 -KI = aad3185962fc7b28364f705f241b41052db34c5876fbc0b2196e70e0aac0e7231230caa417c3c86599186cf56ac28cd6ea52b16e98c607baa539cd5168ae1327 -FixedInputDataByteLen = 51 -FixedInputData = 300424baf3a7f4efdf48a7aa02103e6b8b8a95e53c53c50eabc26d04db283aedfdfb033827e3cfea1bcaba842994d6c8bf8154 -KO = 0a82f2dafb7f88d49d769b642b18ddf928ec0a8b71fbc04f506e844f967e41236ed315ba15560c488585f2c114447db9e2ea39ae7f4ebf4baf85bc26ccf5a739c634bb8e83b0 - -COUNT=24 -L = 560 -KI = b7129a0addc26f38bf2acad360e62698f8d6dbbd83f524b7e81a9345aff81394ef574560de69b811149c76418cde904426a21663852c8a2dff27409fad39af11 -FixedInputDataByteLen = 51 -FixedInputData = 0de5f30c4dee9d0a5bfc085dd643b35b032b0639f494d4d4471e51d9d5af14c9e7d451b153d24753d37857d1c20366ce35bf77 -KO = a34329e2a61697767cc147d33d62016032507c87fdef48045745625950e1e4b62e34d23f7276e6d322fb695c50cade51dd7e0455dc30886c43f602029208f284b469ab223b64 - -COUNT=25 -L = 560 -KI = dc1172389d5dfc2ea42e89ace36b0fe6e62523c55edff60255ea970de1db1146d16385961081f8c77b247a239c1ae311a0edb0867113690559de702cd85e6296 -FixedInputDataByteLen = 51 -FixedInputData = 43a5c4364296283131e8e01b6845acdabe69171340050759bd1961100440317fffee39d3d04c25fd9ac5035494aff04a467a9a -KO = be4e92ade77a4b1ae54f867ba329adca6e3f377beecdab8b94ef7db744f0d5f66ef89dae747988fabd6382de544249f431d36a551427f2417d8dbc63fe4dac886c375a627c6f - -COUNT=26 -L = 560 -KI = 86de86105dd78f0cc6a777d6b6738d1518338c3da40ea99087d7c04b0b2e44308a4a3adc861ef5fb2d25b9dfa6575ca2a013d682bc2c12236426b696d0598cf2 -FixedInputDataByteLen = 51 -FixedInputData = 61c21d26ef9ad3f77b202278a441139c902191167de1d3aa6f9207c677b6507cc96bb24af2b6cb7e1c3422e50d6e08f9fd571d -KO = c93f7e4dd9a4dd4d8af20a20c1c1628b0fd0c917f794bc4e217a3ccb0b03c3354b6a19d65bb39026a1fb23d15dd7f82b89ffa8b7b7c734f4b0d6a56e124fb1f2d62875ead194 - -COUNT=27 -L = 560 -KI = 3ec981d530c588fe5bbde82d6a7e6c3a0f8dfb4eb4d117614c1cc053c92a351fb1a73ba4708dd4f9f000b1271e84a5097f0570b0bb13fb171ccf8303a07f7313 -FixedInputDataByteLen = 51 -FixedInputData = 3c20ea1b2727af7864fb8b952faaf042eeb5cd73305e1fbf08754e884189833b6ba494f7a8f9eb8c2455d452fcd55cf2cb50d1 -KO = dbe930cdeef14de68861610bde392b34ac01deb013822bb3c88eb2cfecff55ec3831f505b61bdb8e485cae3d2ae841ac5120153e25d340abf7fbf3179ceb53ce06b2c14c8df2 - -COUNT=28 -L = 560 -KI = 4d9c10a2e1245ff7edb339c92e474fb0b71244f830aa6cc09e0f4640ac7aecab3bb37663ca4be16997d9b9f283ee756d67c9627257c97216cc788e47b8e9adbb -FixedInputDataByteLen = 51 -FixedInputData = 3f783051eb42b59336dc59bb446d392c437516d229c8a9ac24a0cf5b2bd659f03e41eee2360f642453af67a2bea90eff090d98 -KO = f9ff6f8e0e5da6ed4506bac653c62223b8eaec24abc4ff0ca025e2b7aba3a482ea5c8d74a997f3a4db6bec38bd901770e5dcee1f9541ea5f7db2589a0fc36e95179234265ac1 - -COUNT=29 -L = 560 -KI = e6734d5d72c1d99f31e31d64fc64921e0ad99727846f0c55d37c76f90c00510f7b83e2b9ef38f85578f7f51fecf2f3e7e05756ee2ad6114c4b8ac8a5755462fc -FixedInputDataByteLen = 51 -FixedInputData = 5a9672079628d6863c33df1a16c686b19c95ed576d4b5055f161f164852b69a301f0d87a62660a9bf9870162a8d874855eed40 -KO = 993bc9c126f8338d1f730f2de463e94f47c2d2fad662ad28778804c46a0713f4a517181e29db2b6b86b733ec4be3e06e05a70c3d7a9a50706ff9cde8a67ead894695b8177bfb - -COUNT=30 -L = 1600 -KI = 360bb4ecfb38c5a1934ea5ffa13d0b59ac637c40a7cb0aa742234d7eba8066cdce72770210b5028249d283b8240e19a750f88fcda70bd8ef15b496932d559c63 -FixedInputDataByteLen = 51 -FixedInputData = 99fbd3648f86a665d05c41333a2ffceb732eefc02accc87018ac5d2de1fc97fdab73a2631e97703f2ccd17983ff35c8d24a941 -KO = 019ef5da7fae97d3f2d2bc020888d6cb8d1a84a6e8cda63be7e7dff94d48e7fe62254d2a12708df03c12cbb9e845b78a43d5a1071260cd60d58c24881ab3ac115d27458d5e44bcfa4f53549ae1ac17bb5e8a2571896d003ed5cc3e12f55341460765f45e87c45f11bff6494494d587a52c5b9b2d1f1ee222d5d7a00df5eab70b9578956a5bc26d1ee05e39be806623c9b350fb31eea816e398e3645417dc595fabd2b4dbea467df3b699caf733081af2b5f99c2e56ad95fd0b98315a076a461f969fbaf88ce48f0f - -COUNT=31 -L = 1600 -KI = 7686acd25485a145d25131ac0aaa416b7d0737305326d3b2997557112e4c03d532d1e8f5fe4d694e106f0ac52505a37541e11e6e0ecba0a5ad761f2bdae2bdee -FixedInputDataByteLen = 51 -FixedInputData = bcae3b79e0ba11231f3ba085025e8cc93cc6400abed25dad82dea44a972eb4cfc799449827a6689d01bc6ba1b946b5ce82843e -KO = 2a8b654569972d9b3de25592861dfa841f9432ab3a74bd69de238dad3247ad7a25ae95a44b335800f16fb2ff4faacce4bf86cfcb1e7ead3274cfbeb7e7cfea6d3faa689a69ea5f855c71da889e87ca5c280683db397fe5357557970d304a32bfa63552659b12f58dfb4803781484a5ade08512f2ab3d95b81a4befb188f1f87a7bc9b23788db98da01b4c6a09bc60d0ae2fb55ce324c91d7ca3fa739c1653020d95144dbcabca31578869c41d2cf6c666541d4d988018746f274aeb3c77e32704b00407cc2b20a4a - -COUNT=32 -L = 1600 -KI = 039b7ed329e6b0c5dc6d7b8c3195ab3ce4fb1d4dcddf16316ee8f74e24f4786cbdc00bb886c42c78f692814146c2e9246274d66b540035b4f91ff876cbcb78e8 -FixedInputDataByteLen = 51 -FixedInputData = d036c5ce50153bceb083ae5f0835b847a95e1cb5f887b33d2b46672e2e0e0ddb7eb197636d84649ef0d6caf83a57da2c08ef82 -KO = 02d16f9a0765571fb9c4c0d2c0f2a192045f9bc04dc99d319a444284571a5ba0339f5eca25ec399e45d0636fc798a33cf7162eecee2999ff613e0cfabc63016a44cbf17d88c5a6fbec746c5cdbaec07be646841abc285ea9314d38a35cef5f22cd53d54ce065ac22094ba20549f659940384cb7e2ca2ad746aab7750ed744e85699b2826320011067894a83d949f83d430c42502d7a09a86836d73251c8dd18750026297cf2d21ee202c132ef5790aeebbd4546db3a8d77c4788516553f483595471c98f72ee1930 - -COUNT=33 -L = 1600 -KI = 56f9f409f8bfdba8c76cca4710b493b9a3fe5d36624766d699ed3c122999bdfa1380c3a604e774e45136a246cc194e6bd5132293c3f6c669516e78886fa0f525 -FixedInputDataByteLen = 51 -FixedInputData = 5c8b77d9711458b4ed9295af73f7af2e9f7cf819557980201bbb2dbce8124b8676cd9b448f24e0a1ba7e3d6efa2b244762ca93 -KO = 1072402446be1ad7a0ab3591b6bbf44ac38dfce6bc25da03df65ef99997ea874860210d6732244481c22242cd6a9e3766a91afeb7b28c332aaaf32e0b4b813a611876a78fdd77cfbf8a5a57aafb96feb96a476584a4874a2e92c0bfaec41b638ff431f34e6cd47dc26673dbf24d9a33f6322a6bd6d3755d0f880dbc680b62eb2e444b11eeca58bdf3405d47e3f45961e0565902f7e528e27fcdc66398e67ac90ecad68b806ac107ab88a91f84925a153f923f2fb03f00a46d2dd6fb1f90d720a630ad3d86a8d74d7 - -COUNT=34 -L = 1600 -KI = 34d67e478ee10543f1a01774397944518898b8256f43404237b4f283a4b97bee0ad954487fdee9467fb5941fbb3179adcbfae65fca665524f49f42f1d0f86958 -FixedInputDataByteLen = 51 -FixedInputData = b4d7917e91188530175fd4705087fce31a726742f5f7bf07f9373c5599e54c501858b42e5ddb18f4df2a637167841551210ce6 -KO = 9c76bbaa8483e2361d152dc2df5c888abd0e716f0037267b521c40c2cc41684ab7b28c456b42b4ea14e738c86aae61c60da400ef6315eb46ceeb748c27916331593e5a220661842dfa896bff11153faaebc85d90d5bfd94fc3ee455b67312a92d1b3a94425580664c246b8feca07bb5323b051e1a94350891b40b7b569798a49ed7ee8c06b324561c067084cac10abe04303c816a419d1ef5eea50a9bd3426f4ba8466d4cf7d8ddfa617e616a82fc88945f95d0e4632e1356b1b4c42b6acbaa89a349800ce44027e - -COUNT=35 -L = 1600 -KI = 4e0fe1b8e8d95e45b0d6d2dbb7400e59b694f5503e97d3badeb2a877d97e1f348edec7e29dca79ff1df59a34e4406b3abecf78a7333f811b793393b02a31566b -FixedInputDataByteLen = 51 -FixedInputData = 11d839f72b016b6618aac8bf4e9be2ddacd2be236ef1a7d4c14a39135a52367063ceb3623e20caad0cfb77c03ac0f922a7668d -KO = b9a8d6a014fc1dbba62eef64171eae3948423ef37831de1a0efeeaecc8c82f60a1410825e46beacc86ab38c67916d2049107d5270c8ed82a33aad61bb0b4b58463b4fe947324d5ab3361b96a53324338f44b75aaab06108799d46eeed3fd22287e6b0c1067cc2df862314b0583088b123dd88be6bd9108c21ccf7f364d5d76ea8104a754c7cf78875e3b6aff4d0b043927784073e370207b92653ea8511a09b476625f3a8399d5d9dd01a7349e40d87d7ed443822d23d5581bb487d6c8ca7b640ad0cf904aa9eacd - -COUNT=36 -L = 1600 -KI = 6171ecff0a6da4179fc869ed38703cd002c961917e1d62d09f75ae32a8557509292f93250f8ed7c19acd0063bdfefa85a2b87325c1001124938c7a2f3d505567 -FixedInputDataByteLen = 51 -FixedInputData = cd2764b2a04297b01132780995231cf49181d82a82a19a51578fff5c069740a41064b954f276ebff3be6dd3c84886cac17336e -KO = 86b8100d55555992121159652f9e90bee86bd30abf2bffd578e7dafd06ea3e958c3d787c24663c07fdaf4fdd9d82e1d336092b5e73642811abcaed47315a23bbbd6a19467500dcf2f2dba854711595e4f386f8f8a3a676a6becf99e52d6817fa6a0774e4dc75abcfdd83ef7bd3d730d095d86a7aa51818812952f13007e2a89aaf86c40ef8a64f0cf1ef6bcf0f63cf6e513c262e484ee0c08125fe3527cf8073423d111120a0afaf17acaac262203f3f82f33c12fe49f4c25be2c7cda0e1c85faa256a404fbea081 - -COUNT=37 -L = 1600 -KI = 2cb655c192e40fa0cc3a3198505f8a9b85825d9fb0859ffd21f7545b503523ad26baa1244adc8df99d986b843402582463451227952c6f0c32eb4bd49e2e428e -FixedInputDataByteLen = 51 -FixedInputData = 58163ef4da1ca04e36df62d77c565b40d232d6e9318691a00c25abf082b69e20fd8e5c0c55d36b459c954e6f893c7c4d6e7a03 -KO = ba65263a46660636cb6196ec7334bc8196063f9174121b6db8361e1c4a39fcdb9c3056cf09fa8dbc3c2d3375f85abc66070cb4bafb49b41e83e726cb1bd3041ced187ec0918a6a63c6028c26d0fe5cec8a18565fdcb515a7eaa4d5c711556608864c97905472a403c73cf2c9598ceb34308ea5d9fa2c1649d8130d71aa45081c99ce204b5738dc06c89063cecba6894066e47400a378cf1d1ed9369b48be27002a31c31e2c1b1bd570d09cd1c232162d955dacd1b31c3a1ff3662f4dec19a75602ca9f6e5106c653 - -COUNT=38 -L = 1600 -KI = 3d3c2d9821bd179cc9d2921af65693efe3ea7b23ba36a5cd22ce281cb5680b875822b95f5083b954d84d0ac1253404992a9e03b9644770d986816bf90d619e14 -FixedInputDataByteLen = 51 -FixedInputData = b834fc88f8606689cd69ac845f4173af079cd429be0ce04c5ff7d58c36eaf227b615f78bae8efbe37632492c44daea8e03ed34 -KO = 63f6c5b970e9abb32f2c1d29c93236b5b9f9d06472e79fbd15298c9ecd53816afe0a3d3a44b6f67fa39ddc5c9d68b073aa2215f7f83d5125e398ff25d66e370a09d4b1306f2a831b7745249fac9a7240c3319532809a54f61d5927cd5e19b082aa0147583cc3db9f3d86807b845934d0fd7c4d2a441a944b49d8e299c41d24ecd2f5fa2c859336e4832e3d200cd49232965f7fe3ac925eff6fd0ed15a968310c9277ad9e39672d037be940e5b5bfdd4af488a73b9afba99fe534f44ee58e1a1632e0d4cbf8b69b8b - -COUNT=39 -L = 1600 -KI = 4e21b3bc294e4a30e5d411e3b28f7cbb164194521ef6168d42da23cd3a6f9768372ae1a972ff7760f6f63d89cc6c55a0d8ee37419d047b282f8d73ac2b590ea8 -FixedInputDataByteLen = 51 -FixedInputData = c8bffbdaf595d0f1c920da8a325401432f48aa6beacb36c338604aaabeef6aa21687842321b1b1e9156da3344e2b9eae79d6cd -KO = a094ef93ae0259f05f4582a27b3451aa8ee76237166e02baadecbe218f5307e37632949c9dfeb38bdc94aa388db663bc140797589846c8e0ffc6e9e15ee4907f76063eb25643fce6e2e44775850ea52d4a3a668dcf20a8b115f3028589c3caee6db672b21218206d75ada34c54687e6c2f3a8dfa6b3e1731ce9c4533e163c9d91c2e719d9ebaf65892adef976d2c0563b3c42068f0525135180ae2e71118e6a4cb373e1989b3f85d372c340bdefb07196b27e53f2c7c8688e22eb7d3136759f73a07e2ece72321a5 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3740c3b4daad6e536be1e2f3d3e277b0fac8ce94d6db46ed89b71dcc53a6d5fb2d510089bf2b5ca91b6b487d42cfdea73edcb9b0a989d762b1fc7114170d116c -FixedInputDataByteLen = 51 -FixedInputData = c071c5e325e4ad6d26cb393d3e446f89f22a818dcb489b765b89440f34ae9536821397150223734850bade9795474e439fb3df -KO = c03f88a61d365d9a2f36b54d7ddde7a6371c41db98acb0dd42cf575b6cd881d1e57aec95121b4732cb483b91b1edfe67dbd21823283882780f3b6b0cf988241e - -COUNT=1 -L = 512 -KI = ff380398e95765d42acd02353ca2070beca0db4fd3a2cfb236b47a8f2b0c3b8c52d94204bb6dbf6aebcc3db58c30292a780f1b0a4055bf6ba69318bf94ecdfca -FixedInputDataByteLen = 51 -FixedInputData = 2eabf21dc507d0bcb17ace0869442c6b593dac719100ae1dc6c3414b8c28925e73b4d81e617637450eeea4e9daaf715b3742d6 -KO = 2973800433440e8da0502f08e5f9d1918760682d8186574a8fcf832a9391b64a2e1cff5216f53a51c952d3d9a356002d6e550b2e300289f42b9e9126e35f20de - -COUNT=2 -L = 512 -KI = 3dfae293a69c8d460a85cc4443091bf2f839509242f592e200d2f36daf6637aed369447349172ebc91dbf27bc0b847db45f4e20497ed6a0959d10deafc580110 -FixedInputDataByteLen = 51 -FixedInputData = 6cd095e4fc7132a7454e8fdfb9810ec2d3f90174233bdf73d8b1a68a4e2e84f1d9ea53a8d33b777e7efa6135f2f1da5732d742 -KO = f9a3172f04094a1c18f6d325bacf2099f3d49c8cf149ad3ab0062b7ec2cafcba47946ae2aadd1e1b6d7aa8beb0d331bafbe3dc7e5511dc0639e3a963e2e1c208 - -COUNT=3 -L = 512 -KI = b7f230183c3fd97a649e7f49c38545c0cc77173e6cea717a5e88ab31d3b48030cd751510907a55fe973b917d56697d279a0bb44ba60d6e61b3b14d725431d910 -FixedInputDataByteLen = 51 -FixedInputData = dba3fb02e0025cbec1f66bcaec1c423e81c7d30252c5c63e011d43c9da726f79220b04b3dedac63f63bea05738e285845de83f -KO = e0bc36e5a5971556eda983d2c74c4732d4122a93d8fc41abf3ab9d3e770046b5b0ec52922333586bb1931fc6b462595e3a066dcd3c7c6290436aba4c6c90dbc2 - -COUNT=4 -L = 512 -KI = a6b87ec7e7adbf87fd1cd3a66a9975e16549a4b16abace3b7657e398e9c61442556aef3f0d70cbd819907f44307579a046f5d8eac64118d3e7e77ab059e54e1b -FixedInputDataByteLen = 51 -FixedInputData = ef07a76b7e1387ecb2cd87f14ebed6d1de3a5bd5b237a3b024abda17885d66db84f90a0dff56cd92948b5a07925699825b26c8 -KO = a9b9a3d60c2f2c0aa09ea65a0cf2488cabd2a4922d69c4deaa4cb63d4d309008a3607220db992211088c85c65cf0f47b9e50f5f0bde23bd9ff0cad5ecf2f3c1d - -COUNT=5 -L = 512 -KI = f55b343319c0057e0e9f76835e307e0954ed0b8e2ba998a73338893c1e76c50a639626cc13f6cc6a832dd9eae327341466767b9f1df709e0dead31f41345e9fb -FixedInputDataByteLen = 51 -FixedInputData = da5a8cd1c364fc33772a38a32a051a44700d670812aca772ec011f6561fe5f6e6a8176816b991ca026a6dfae3307f04db11af4 -KO = ce122b09f9cb990cd03bf6dd664108a1dacafa2aaf5d147d9aa8c11e2a36fe483bf29b3541d331b8a9a38e75f0cd953f49e7b7300e00d38fb39b34d958e474ca - -COUNT=6 -L = 512 -KI = 0b999a2bfebeb048bb4bfcff131ce60daa121e5140cdc0d91c3ded131e06c73218daa1211f4a940c66fd8653434d6137b7a8c2590e523940d5b9fb50ebbade03 -FixedInputDataByteLen = 51 -FixedInputData = 690949789b5c61f70bebf53f336970a1650ce65734660164e6e7ad9ba0e5ad66fa1479993550e8bf18de6e6e13c06a0d99eed0 -KO = 9e30a29b0d82a1153706809bb8a5aacd5538cafefa048a88eabc3dd0a592b20e3a7c1ec3aae360ddd2bd28667f3ca9602dbc65a2cc2c0d3cd6db98857bb94f0f - -COUNT=7 -L = 512 -KI = 47817f044e9ee5469eb14308253ee9dbbf61ada91ab7fe7530d939a213a72687453521177fba7925d67b3520bb3e3678588543b1306056af86b4d39459c5c1fc -FixedInputDataByteLen = 51 -FixedInputData = 3bbfd6f41261ef2e630ca4b6e97351db22889fb0a409d91d61a751970dfcb6d7b3754a5051959514944562bb866d04a082d294 -KO = 806040dd2c800539d927c9e5b39be4915e3b6a3a73a3ddd721873303c52d0d690487f886bcd5d2f692e8f45560e9431d1c14a731f689181dcd8f92f3f7fa3d82 - -COUNT=8 -L = 512 -KI = f86da9ed356812a562e3121a0f1e23b5bac29df104c29d6836bd34f95f26bbb03e808ad0d5558e1e7645842b272a1579ed19ee9caf9035eda52f906861f456b7 -FixedInputDataByteLen = 51 -FixedInputData = 2c85a4d6c100385d2f0d1bb9205875825fce2e7163d42f7a7d8ecf0c2c5fc9c945765c460e44726b735a1e30522c7facd0d1d7 -KO = e12768c4b4af99c96cc38b10ab6f296d827bd5ee995f304553e6b76771941dbf16a30afe9d0966fd7cb367cffc3994f5ce2e93a4a4b0437cca99e39eeee5c744 - -COUNT=9 -L = 512 -KI = 0f423f91d79760894c65cae00557021afd829baf6717e5db0b31676f11ac8e9c57003d438559c66fb931883f845a86a8c8ce542f479a85e4e41a824dc2073dc8 -FixedInputDataByteLen = 51 -FixedInputData = 11cd009990e2c3421e857589f8639602e53f0b0279536af3346674f70a5909dfe96d2ffbac53b1f24bdd249767cb724bd6aaa9 -KO = be87219e874dfc706770693806b4724288ebf87a6491e149c49cf5184fc3af6ba6ee8dbc7f82a859ad0c74b46377c613d1a7a484de6747cba90eda1241396a9a - -COUNT=10 -L = 2048 -KI = f68f5ba8929ba5b1006e64f5077f22b4b0f1b621e3e72ccf4386e03cae93240063ab9cdecec1cd5e2bb3497558dc44a881501b51e10eb6628e4c425247190141 -FixedInputDataByteLen = 51 -FixedInputData = 32af69424201751743f127c8692ac2e64ec2ca3e426d9f5eac35ce9de4fda39dcb6bcacf7e20f148b9c4481b13d1b6bf4a2866 -KO = 1ddc8452d5364d2824633db4e73dd416d306eb3b7ce0b40e0dbd483ff23768e0cb61a59333af2de0054387c7a4e7508dde4d51bdee63cf9d651241a2a148cf4eac3f088d25e201b5c547a421ad45909d557e86684d5b39c189cd380a7670be2e19ceb8ce638909e0fc9c8d2e3751b661f3007f3aaac8b94a9a93eb190a77b16d239f433977c022fb2258c13ac3b3055a1521ec736f19598a3e5b5b57c68c8470ab5b8b65bab56dbe644bb85d7631eefc0ee22afea408d2735a0d2cd231b7b5c3eb1872ab42a2519f7033cbc1becfad927797af25752b5597c64d472f64831a4473932dea9ac2b2bf85c8edd8858deb8ba4d184131a7f731de83b5f0736b14ab2 - -COUNT=11 -L = 2048 -KI = 1e045574c1a5ab7a84ca0e768daa7a5eeca94234625cd7c2e38c13dbc1f91ced0a77786333defd0e19bc1431d3f722ab8a181363b4a6fd0c353ba707bae33ffc -FixedInputDataByteLen = 51 -FixedInputData = d0c1113be1333b193b639a393559e7ba88e1c8350892769bd38b4998be8a58ea772d40ff2bed6972596e8bc446d1f094782127 -KO = 16250d6faf679e6ed87148ce1ac19509697c6ffa8e8738b91de7a4ccf3193c871c58c1bab4c7cb4397607b8dad3ec856d1b1d2a35f86beabe1d9201bb5d048258e1e6bae7335e72a1d91168c40d3bb1a1b5ed96c40ad64ab30c9f137a231fdbf46906e785eb370a982bc52376bf0d362788019b45b046c326415358e5d5c80cc8a455d9bf40e0780ed3ecd0a2c1e7acf7a280b26091bba650291bd0aa6376d6b5b75c9c6aabce588a9984bc6086ee1d95526a981518efdc27bcc17dea486cecf37d58317f0c8f5cc9fbfc309ffd36c54f5f2e2a23440c5804b61edebc1242622575e12b3ec5cfd1d65d3bd85c3dabbb70e352b0f19daa99ee3fcd0f057a16c3d - -COUNT=12 -L = 2048 -KI = cb12fac596872898a19740f416d80917deaf3086f7d0db8fea76622cfd4ba196cc12314b90fb74157ed75b6b2d54054dc064f7d44b9b277a37a5df3e91e67bc4 -FixedInputDataByteLen = 51 -FixedInputData = c6a102488be2bad7e41c8c6e6d4c8af11cbf1f5b3d478756f0973e06a2c9118b940ed3b480506eeaee9144e83f4be98aaf29f8 -KO = 6c39097e32749e2412c1c306529869bf19ae1db678064440a67bfca513169ef7d14fa46cf4e48ed654af0cf048af8a6f8779d663370d1a785483b76e6254f1e7e6a17126f685a7c50983532d2b433158c83fcf23369e87fac892ce63945f3f163c0270842eb357eb753c814041eb9fc067d5a6ec2830e70479c27506ba00d360daec5b3e0f5047eaa97718de40c47e202eb7ebc17ce861e9fd63589c20bdfdce225159770850545121d9955a8787ed387cd7e7b5b9b375a4d712c7901a4b3899ebd732bff7d9912bff55e842bf9cd5b24459472f01129f15f104463a163c83d797bc80469707a6552f31e5c43cd673bb0108c688dc78f10b285637b401cd887f - -COUNT=13 -L = 2048 -KI = ab14cfe27460114092bff26d60380ea35df57d96f16ed3059c3c94880d58218a445d7843349abab34f86ea88f7ad83b4380318400df4c799c1ec33622cb4eb51 -FixedInputDataByteLen = 51 -FixedInputData = 6776ed380ab2ebb95b68266d22795989c21020ace4c34bf8bb684d17d921410d5b95b8c1feb7afe3140539154ee3b59b9a279d -KO = 1b2e9705e6264a01df2acdb99716ab1bf718e3e9743ad4f8ef7751fdc812dfa5254cb4a431d4d4b2989dd38a03ea85b25ee10226619441e41a5eaf8ae8e6bfe10461ff23661fbbffa978540f2fe8cf4c09d28b126e5aa662d38bc3914cf4f87c5da23494954c8a2c856aa58ac6f600fe29b6d078dad6b9bba9b107e03991c42350939939b2607bb075b4bb948875dba72b2cc8b0ff9555ec2e1c463e0dbca097b14cb43ea02d061eed67be3e7bb1f9f2af24ef82f47038aaa9cb9b1c6a585539885dc38516480447eb79d6b9abdb605689c6301d5bba4af18f5ecac7250f948380aae80e285d16c9f10e3e0ff9c8140303c5b5d4d1f45035ddc3b7ff3e9915fa - -COUNT=14 -L = 2048 -KI = df10c49dea5d7b8d3d8a36e1296f1b9fadffb838c0b1dccf99cbb46218f5b919af403fccf06223aaee00a1cff0a9d7457d600a0555f4c56ec22fd2a62a551823 -FixedInputDataByteLen = 51 -FixedInputData = 638911b094751696485c8509e70ba2b0b6ea6b4a3bcf3d62ec9c29700efec69fdb847f154cb55c169b262e40137d10fcfe3c4c -KO = 18e71f2e66cb419e793d5e3c180f9830664e4d7dcb8af1149569411463a1cb37d2a7cba04708a7ac0f88d99d04d245b33163b22b867cd7778c6482207b6c19aed5df579893fceae801d02902f74c1226511c1e2e1c7df4f340056a744db29bc34a72334ef73f053188eaa71eff266d4e3b3f9adeb4fe47df8287ba140226edd5567c1f90218e34b3c0d02d7c0e9a5c6f7a47c65c926c88395ab703d4de92a1be66b38d5e02cf59543c1363342b9ad47ed386d70079d62c8964032d3f978e1f69ffc132f0a5f49d2b4cdd35563b7486d34dc560c7a12c1b421137da0da10cd7f55998208dcb30508b1a604c2583881c13130ebe84245bc4424b26c823ab199fb2 - -COUNT=15 -L = 2048 -KI = 6bfbc1307ecdd42b957f16fe0107c9c58be625aeed19bf5b529a25db7ab7ea95886996a2186254abdac89af3cac34213d04c6fc37b1e3c68e60cf6b75072a1a4 -FixedInputDataByteLen = 51 -FixedInputData = b14aa643143a4ca8c78aebe93074e7361962feec3a2faea5de4f368dc1cbbf450e71453c9d79f9714b436fc2dbb3d001631f1a -KO = 43286c4ae0f9fecbbb6a19524816cd70c50f49ed66a60680b041ca80ef73286ea8587bd252aaf97cd3ee269c2e1b605111a676c80f9fce73014289cf6e604965fd24a19acb2926a80473f2d97f36842933158dd9d334ef07a713edcd732cdd2d9c842fe1f224187ecb10ff82dff9a6c156ad6e5de2b401559c04409709309cfb8933f5aa3eaf895faa13962f8db39c89a6e8c47cff79c5170868a3e57c288ca22a8e938e34c57b6c7128d0b672b75090a804f8fbeb816cee141dc8d4f8e8f1977f1e0facdbbb0d697ab08a0c25d33815dc9858da83e7dbe09866be9e9e8b7018b961de5f3e5221039d067d76f5e70f50a77237c682ce5c5684f84f2bc979fb47 - -COUNT=16 -L = 2048 -KI = 652b0bb7c5482773b9f2e7a4c7f7b52f2ab2b61e647e5cdcf0f47bb3f36096225f7bc51e8dcf9dcb2d12ad8f6c12cffdc33896dc0260d6eea11c96adf09b20d0 -FixedInputDataByteLen = 51 -FixedInputData = 5b802461f0d31152aea8b0cb974fc25c98451db13856f38aa5c939e82a3ce076d51e81127ea5a359940cb6a6593a513d881640 -KO = 1e3c96a952ecf402f0adab854035bee78a716c1416a92dc2124cfe43eac9c10ffad2522c4c995d9a7e4d9e39909ff73dd15892128a92825b0fcc31727036d45db649b0c7efeae0f58774ff817dd44c8691e3a1a0412842ed0d69f8a15b5cdb5302235661f26277d0e7b148362541b0a9c6794a940a94870010c2a82687ce9f6f08f78a723bb0889e52b952a69412a288800014b6654bd6dd0565d0696f3d29443629402b1f43ed13bea3069d11e1a811fa01261a6b4025b731c2a67ff48ef3d42409034ac308768342d78df5b58b682fb6b63c11b963e56572d819f50953108f022d17afd1c2aadd2d6496c66fc56b3615a209d814d1621bb2f3b2c21088dc8f - -COUNT=17 -L = 2048 -KI = 701f024edbed101e406e72a5a7a25483f639ec57ea802d3be960560731c1802bd01e5a09a9779396500495755f1b98cdf7625687456d2767b4dffea495fe20f6 -FixedInputDataByteLen = 51 -FixedInputData = 079de8ae85bcfaea964ff741a7c37b100dd39c330c5fb866d3e102366abe8c60bec54ab8179a526b801635f118e11c502fecb7 -KO = b7d602eab3cd72b96aa30441746217d14a257ffdefb64af6256877344b4bfcea06b3fef87aae7643f177e4327ad81b9edf89b12110941115229c83826f5ccd1ef61a9a68daf6a4bab17ec801df8370b9fb9606f9f29a3745232b7d31d0d409214edc8c865ec52c614c65beb0ddb1a36f89d3be3b48bfee40e620b901a334c784094f51dd0cc1e310d94b9ca23a4ef3484775be9fc2f469bfade49773cbc2ffd3e5176c34a34c4b4e67d706745d7681a3eec1cce108a373bda04e4800be600449dfd5bec6f5e382050466319b632dd9836ccc8a86dcaf24ff1889e972bf83b97b0894a80a49f5768a35c2bb0ed8f91866ea23d7b0058edd4b6e717208456544a7 - -COUNT=18 -L = 2048 -KI = 9acf7f66d29ff9462e0af1ccf76a3200caf5291a7f85fd7265b33076c44df0f2c7fb9ac5252c4e72078df51636146a56dafd43189d30e5d5f17efad144cb38f5 -FixedInputDataByteLen = 51 -FixedInputData = 90480374af35871f6773e0bea54ce74f4d7baa613084d768e0e9c33b8ea52065022ae748f19ca1caad7813175778e727c8105e -KO = 17534afceadc252c4a700258c23bab45bf3ec3d0897aaee596fb25f5f3c98d7ad9bcaab604211cc694f1a1d7be2e0c5a3a195e1c5ad295a059ce322cce3a299243c5f0b0a8ba8d1f9ff3c5eedca60efe625e7df788485c59e119aa963795612496b18d092a89a6970da9fa0163585f583b48206d78a108b448d7c1f708db13a826c96908dbe791f9cf5b92cebf3c1e7744b53996b845d52af9b0a96e0dcd0e371bf7ba466e751fd02733bb235bb5358bdf11bb3c156fe1bf1c8bae6b539d2360b806751bba2318ccfb28c2773ebaf7356d175ca2031a28157f8b915ca6a9dacfdccfa2fd34bf6472bcb592c37295567ae88c653aa8eed95cdbcc90d7055d2a96 - -COUNT=19 -L = 2048 -KI = 25c6691ba684fff91a40f3158ceffff1e1b0547e499eeb10b1f885f5577ad0788c6700302a2afa26d35647e049fdf4f1e16b06a7dcb2d6b1553e9a09d4c43aec -FixedInputDataByteLen = 51 -FixedInputData = bfd09b076a5681085dfb80029568f08c037d1ec85bd9c0f80d4d5e01dc68d4bcba839423b8be021a52712c332ba645c4a38b92 -KO = 728e3f89b3705418b0406af2a7f4584c1e20f7ac67e93aab8625f78d042969904a8072c45fba7c5acecb0b515d559639a3c99228ff43ddf143b1791bca9b1d64cef6941e5d5b1bedd7343b27d82058390a570851fafaaab44e0fdac9050045e54581c18c759792a77f60c3c28703a7e46f24528ea1bf5386a7867366efa7974537bad747c075a5d5043def5dca67e0b0eec963206919634439008c33586e1636eee72d82c1fe687992c553cb2846976b58ec5989b095c9bd06f65ec38359966c57c3cc9459a3bceac83b620e299be28ea78cc472dc5fbdf84c0fd734cde1f3645de5715b16dcbd6abe5d25bbbe42fe8191f13130672b3419953f42a0d6b80710 - -COUNT=20 -L = 560 -KI = cc5c1f1e4017dc782268a2ed1ebc1bebb4074d13d7954648eb154820b246cf437db58fad1ac7050cba7fcc815b287a8d4070c70ad64581e77000a7acad54701b -FixedInputDataByteLen = 51 -FixedInputData = 39fbf517753254e481befefdf7b4efca0a803122acfe6835675c8d8506e92a5036e5827d0a6a1d1abc658705ff6d3708de914e -KO = ba227a56fd3db40fda475b0bce76721d299646773951c810d28f40bdcc61279a7a60c609cf91a6d4322c1cc378fc78e79df68acc8ba4bcf21be574fad36a80c7600a11682183 - -COUNT=21 -L = 560 -KI = a9cf6a0f5f7273d1dec389f19d8ffa78c297dbf70c3241d2c757458d8550429ef25bed515fba639925b618751f253d7c612e580c0922d2d68dbb825d6d345dd7 -FixedInputDataByteLen = 51 -FixedInputData = 5cdc173685b61f7409dbbf4f4be772ef73593a59ebb5173e2db0a40dee36460de24871986866a67b9d31820f9b470493ba9f75 -KO = 8cbaf9384c717158c9d3260567cd05bef02ddc0ebef5765b97942a3c6a3f9a8c8dd3dc908def31c369adf5f853a8545661ce3cd6c361868a1ed0b059e2201df5c2a4b73762ea - -COUNT=22 -L = 560 -KI = b70b0a106c3dd98381109f7a367cd05a98b7a79bcbca0a8c490334cbca6974f4eda6438b84910af7c9860dd6f1b52be7f259ff815a0f06ac916bf306481bdca8 -FixedInputDataByteLen = 51 -FixedInputData = 92888233fbf74327a4b43fc99c9c1aba6d02ef43be89d38c2483d02ae92b0a5ea98d13a24c811d8326f387d804e9f395e4be67 -KO = cb9d787517e76bdee715670c97bf37f594e5e3dc6448e9130a33ccf679996ae33b864e3d49b0db608f248c2c4db224437da987ad33fcc3db88ca075a06ab1c8f25257d61a24b - -COUNT=23 -L = 560 -KI = e3351e1a1fe88e52e88ec79561f01081bc92965105a0db387b1d35c68f44d112df27be0424a89413634e5d383c95e1dae32b25747925175fcde790ad2afc41cd -FixedInputDataByteLen = 51 -FixedInputData = 8c5405f5ec7def21f7bd77fe3224d3cce69299a506d798643f1651a06dd7c270e8b7944fec237550af06f81018e983249e3b7a -KO = 03f798efafa17fb5bdd7f94d99b1ec1882e4c1364389093c4ce0ae030c287b57e3d9d616e573670da362e7841768ff36188d45716386050c2f4626cf1f1e566bb521a7372fc3 - -COUNT=24 -L = 560 -KI = 4555de08a2b6ee019031bbc0789cbd5a33db51c47961c05ae722f7cb5a2bd1ff88967d77e256f2b647ab49dffa94c24b8df6d42f7bb07107968af0c313f27a7f -FixedInputDataByteLen = 51 -FixedInputData = 8162899ce162c3900771ae563c314246e9f223ab4212349c3bbc281550ac1472c2a26bad89b5b211b687f6296f93ab44a09d2b -KO = 8f0e45fa25addee29962d61cfe8f5a4b8427d8cd3406045fbbc9c47e775753efb1642b04a700df2043f7875f3aab99579ef07ed340659dc5a36b7b380838ec1c167f71250df7 - -COUNT=25 -L = 560 -KI = a4a9042cb224d12e40ec8c5053f5a0b13f7ec8d46f3d7855adaa064adc04e2f2ae1cbe32458015f30b6f9005685fc25b1aac85a29b8ed90760a1d8f31f46624f -FixedInputDataByteLen = 51 -FixedInputData = 49cf205891982c9040458f77467044acd1ebabbbf7e2983a4359a7a003ae80139c7b1c7f47e82b9e8c280e1c839ab3f6d3c2b2 -KO = 5d9022bf9b5bf489674819ae26e36e9d3927f10b4e5df7307dbf9b81a5855bfdd32ce8b6126371769cfca11adcf69f9d47a15ddad420452f3dbff7e76f00ff5a5e3ec0ef166f - -COUNT=26 -L = 560 -KI = 035fc2c04f29b6695a723b2bbf90d8ef9a6ccb0ced19587060de86622d6bf5d7ab9cf7452ccc96dd84285ff446970b8f80f03dfd51a755755d9385daf124f5e6 -FixedInputDataByteLen = 51 -FixedInputData = 2342a0132a7b9f37fa82dc5c3b3c827999e9f9ef87cd997412b4b2e255e49953f1977f2e228ecd7954e2a1423b420de884e3a9 -KO = 2831ca4b60b0492317af60114fea5b1256317cff13b2784178bcb769e4b5639b01eec1b709345a82b32151bb527fcb7fd3e6bc72d6bcd0f53cab102b818ede54e7cc4a91eea9 - -COUNT=27 -L = 560 -KI = 20f7abb5e511f25a912ca863f0f5d4dd09685557adec482ffbb57ce496afa83ca730f30e85849119cf2e1079bfcf9079051447ab96dc0330eba157cc531ca3e8 -FixedInputDataByteLen = 51 -FixedInputData = 9a41af6734c2eb2522c8fea257b7575860d7532e127b7fed7949558d0d6f8a844f74172bef18ca97beda284a331d000b353e74 -KO = 548a659960ffe09fc66b958281067410e7f93b3134356c3838e801383e25d608e6c64850415c201a0ac3fa7cde2485c113b778e83985dc506c2e7f37d811ff04300b4aa25fc4 - -COUNT=28 -L = 560 -KI = a8840dea94b2a249cc781cb23e5d40388a20a75897d6db33c3ea49dff86a4b8eaef154ba3a75c029207af9da3e52c54a7475e4fe0ba2d9e2528aa2360efdfb0e -FixedInputDataByteLen = 51 -FixedInputData = ee5dda070c1cf1b9c18fde3f10d8b2a999dc276c6c4a5924587188bee1676a6c7b3955a71e8ea9cbbba95eed319c8d3be07ad6 -KO = 6422e8f25c94ff7bbaa6fd5a7742a447181b86a053a88123a81cf8cdb157c2fd9b6efaf8c5ad84969f9bd0577836c1412b1d6cc821baa3595a1533e0f8bfd06d5420eab48f86 - -COUNT=29 -L = 560 -KI = e4b15c3147d9a90e28e4460cf3fd3e5acbf708819881eb002899ca09e03950215e891dad841f26856e05b00d2bc5cf6be1433ee7ad543b8d7e82004019a0b421 -FixedInputDataByteLen = 51 -FixedInputData = 4ab2624bfbab1bffe20950c2785ac6c296a69c15ce0cd82b5706a20758fb22476e619a98f8f4b1f4fa946a700a3d8d9a774d85 -KO = 54ae2b124000283b5637a63ccfcca11b0b8b0c53da02d2839a0e4071d3d3b0f7f06fcb1e40c299734ab447b74efa6313ab2e7f3fe56d444498c9c82b242132f4751484b01509 - -COUNT=30 -L = 1600 -KI = d267521ab1af97165c86525b4f3e7c7b6c325d8dac9bd1dd39038e4c1303b15f17cd9f2eb87c1b656c4a0f981a3c7831b00efecac91d8003ccf87c009e3d59fa -FixedInputDataByteLen = 51 -FixedInputData = d1428e39ac3597d8efc760936a7f75142886e61355e9840c082fd06319681595074548882d5291f70a331f5a4f9d9473b85e85 -KO = 42ef714f4e5f704a85970680f48ea1ba8a1aba59203e4555b0f7fbcb63638f0e06f8f6479420ec51bedf1f65061b34b76068ea8eaf58ca84fee59c02c246c276778cebeb14a953faffda81543d6cc22061ee14848128356ad24bea30ce13a0c8459e8055140b01357fdde4bd595c0ed44450db04331d1303352e42588ea15f677ea9244facd53308a650e6091cfc79a28ff498fa8a4acb5cd61a32573081e7d5db77fea5fef456e4ff6a2778eab13e146c0178afd333edf747ae22dced9df111ea55c8b244a6b4ac - -COUNT=31 -L = 1600 -KI = c802d58215e28555017699b4ea331bcd97059a3ab436fa3ee43c04144b16416c4298e752790e0a24250e4981de9b63a1ecc3ced3badaab8089445f5322accc38 -FixedInputDataByteLen = 51 -FixedInputData = a3f9307607633fab4601b0eeb3c31717e8597d887ee4d69c213e2180d2c5e10b7082201883728f70dd561b2d92be39d9a13028 -KO = 2a9e005acf1c71be22be69bdaffad839b39c43e337b3a83aef76f1c8f04394ad7a4e408f0745807e164dc5c07bb825da8cc6e51f648f25dcf832aeedfc567742544bd4b1d52512ad8ac94ed56359f5d70c66b5337f96df96a0a976ffd58e64819433fcb4c34a1df5badf46e3231c5a4de187a490cffe70a26ca15865299e4921a66e55c54a5ae1dbce5c6f679aabee89f0267a6587c8b458883d26452c0bee8262d28a1885633fe2416db57ae6add505ac82739390c45ee0755fee9376e47dfe70599de7a3548c7b - -COUNT=32 -L = 1600 -KI = 9c751e39679b68fc27d768d27feff504b4a732711c2bf8e0d3e9f0311391ebc5a26532f8d3f4ecc8789eeafc03e2b4fb741070116c6f69c0709f5dbf0bfa18c4 -FixedInputDataByteLen = 51 -FixedInputData = c321e1e566914ab70841aeb23c6cee5dc46eb0095c592c95f774ec8349ac22cc3d4ab00df5bcfe59864a216c20327765feab46 -KO = 98828767a70e47ff7dc5ee44ea39ea027d30bc3b386c08fe9f3cf80ab642b0fcea67008fb378e3468f42bfbe6ea4d0ddd023ce71fa5292261d26415223fde6bb1a27aa728683a9530a9a89287dc53ab3e06947c4c0fe90bbe4eab097de4bbccaab041b407f9782d08298d35d69f32a68148375075f9cad5b4fc6d97c6f12285b6f6ee3a39be7fb841112e2ca79667d2cbe1f742f66f043ec0c5d92b0fd52507cebb47f581c65f7b407360638bae0148930573533d80ff8f47cbd132bf45a3c412a3f4233deb79ba5 - -COUNT=33 -L = 1600 -KI = c2a2fcd1cb453a6225a649452efff1e0ba901f78eb7d5612e032e4d53115ac06a3e6d6fb1e387339d7a56c8af6e237b528a5a6eb9e5a1a18b36bd569cda59ad2 -FixedInputDataByteLen = 51 -FixedInputData = e193257bdd1641a2cae75f6a43e8333c02d3b935139446f5e37b6b3c705cb0c6a084f25af05edb06e8a17c3834c9e3cc6cde2c -KO = 02689cbce034a9ffd937faee91b2e71d435d4f0706bab015ace4c30083776d93e59df2c1cccb4787e1531152a14c83e149232b3be77737a916cb855fab0d2a01217966eee5196209786d44a73c745c99a7ba3b25a4ca8cad6dc1798756cec98d994751ad5dfb790add1612719fd786f16ef1964ff530f35acccc09ed193372ba781e34caa478cedcbb667a91c1080c76d8e69237647ca8578636331d91a7786cc4cde9a1b6c2181030a88f852577fc592c4b97407928d9a8b9565d44075bd5225c1d0259bc577afb - -COUNT=34 -L = 1600 -KI = 151c394e736079622a0044e1e4ac1bfa711b0736c47d2b79a17dc84afb0498b188a30869bdf19b1d9bafd151e481c3aaf43147a5dbbfd872de5c545fc2bf6295 -FixedInputDataByteLen = 51 -FixedInputData = 47b53d7cad9380d58ea8f4c58848f3e7c1a8ebb2b6969e0b8f23dbad7c0a7978fb3374f6fe555044d74711bf35dda95b1034c7 -KO = d893dc40041f77e29aeb70f1298257044aa27df588b1a25af18ae9f0c0d20527bbb74310aff5caa532c273a15da35a862abd27906c8ebd64748420af14affa695730308dc5df6a7b6299f8692cfacb448111c150f30f54f6039650839d385c047d228f8926ccc5a1876b7db95bed7457a15bb45bc6cabc4ceb9d0a166e63d7615e3a17aa4276265819a75121db207f83842e13497bc9ea38ee44e1a9534254ddd7cd8c8b15f4c05d4c08350b7c3f33294b07641e60129a7a90cf84d60f25bfc8e8c80e5106802223 - -COUNT=35 -L = 1600 -KI = 2f11cc7230010756d70ac3ca558f705d45b8a14362813906ce6036bf0f863841188d56902892eb79d0880d23f23329503aca3cee39ddf6736c3d85f4f3f0d578 -FixedInputDataByteLen = 51 -FixedInputData = badd030396eadd52be248a901aaa747cb3109b4e1c5cdf4ab3ddfe95cc77139e92f17b6c73ec918840aa32be16b9830e037e1b -KO = ffdb287f29a9775bbf227c7347d737b40cdea6fbe9e4ed8d08604e752357a491f901775abd7fa7fede301c646502b0593e9147f22a7d77b1a49c3a088f33a086fbe92f45f9feb10b53d160e7107850d4e0ec2f78e46d83f5d46b498cf0f9cf86aa9b96d647044e2c61ecdb1719a6b6defc7258d6407d5a6eaa590de059e03c1d4cce9f0ac8bbd8a988147f09450ba115dbb68ea0b72c5927f924a89272e3cbf457f4b40460e009b9d324c509153c1fe22190965e3841e811a1efaaf215abc242f40cffa446b2a121 - -COUNT=36 -L = 1600 -KI = 87c08d735651c2c4d09fc9a2cd8ee3e4e9d3548290d2c6be6511b2e14b4340c32b1f0c7acdeb22fce96df9b090531e2352343c13d02fde3c1389148df09fef13 -FixedInputDataByteLen = 51 -FixedInputData = bcd1dd8f8633eff9d7e81b2c0e469e40879381d57d70388cc4ce652c40c2911c70167cfa424ca8b37d13ae42a8ecd3f333a8f4 -KO = dcf8d75535990bdb2fa0235e46efe6b449b64ab940e358ee82651c30dc77526f8f66a3437d1157c7760894f320e995efb513fe23c9b79995f37f57c708334ba07061eedc69a8b77bcdd180fef8f6578f93e8e95dabc32629627aa0e5aac80019c9537f577b9716bde3f6da363d70eea10b641564f8eb9aafea43a80f82169fd19367326500b1b8d755f64d27915a4c78559667e2d891ee47144e1e78f92cfee11f7c6ea2bd469c2bc8fbaec280a6e623958cb2a1928eea6ff46f3d53a6018c72cee439cc2fa78295 - -COUNT=37 -L = 1600 -KI = 1e449da4603d2d6527ba9b5f596cc9ae4c937ff153bdd216a5d015b0e44baafc05161ec893baf6cb9eddd49a6a7f7864625564fef11d56b9e13e1f5fe14359ec -FixedInputDataByteLen = 51 -FixedInputData = eedc94f32b9fbf5d501a3b0d9536d9e857fedc3dd5cd164317208e4c5db31a942ba9239f01515f283aa90e663153753a6dd492 -KO = 267f1d54c754ddc409097e2c0f33c9152150bd80ee9a1ba86cf19066f7d6eb2fe2b5b9c38b568d08554710fc2a3903fae0de38cb2f992a6bba5018c9561afeb0a790b6d28e50dfe96229287da7d6c5839b1e520681bb1424166bec8a4c633ecd9bc69943c13cdcf0adbf514dfdb5a8ed5543bbbd06d464f3b7a30f6c908fa5dc5cbf26d948bf021b45e22936891965790506b66a38de13787ec9ed9ceeb48b9d91c23ba3c8766bc55252135a71244d658dd16b14955133986d2e49958b5a756f81d478bdb22a7580 - -COUNT=38 -L = 1600 -KI = 4b7e34f97ea1106305572b7fc79689b7eebcf11a5cdf75b7179bf2baaf2f9c9cbe6b5f8dc3f82daffd6ade5272932cc8cdec5ab8a323abb563cf24a22efd7c88 -FixedInputDataByteLen = 51 -FixedInputData = d5f548d9e69b3613fc1e0d1424f7e15c455e4f554ebf5b6b4cccc865388dfba7989ab9c81136973fbccc48e3d8f4c273c447a2 -KO = c4879a5228b80037af61aee1a04b344e9c14e5e3fef8227cb95afa0c7eb315d3155ee4be5dd5df8b1fc30753f7c5c9ac9e0b7f38839c6eea2c73300121872de26016280a8f46e0c61354da09b0758e892d4b2947a838d32fe68e5f37d1e1df47bfd80d4d34296be7572ba6561c5c29e771dde1b09e16f68425fae316b4013d66cd027eecab49b780954fb47f8aebe1d193a29fc888690f99eb37b5ca1f0c37f15e6f2e37e7f724f0d957ec93c1b61dba5ecec8e5887c5acfc5e1e00f29bfcd9c7d002c252d7466d7 - -COUNT=39 -L = 1600 -KI = fcba7db5ac06a1f2a4cc30ff919ff3423c7b4c0afe5cc691d0affb457590003b63b6687739ecbe5ea777fdf05575f14311c29360e267a6b1bacf5e43e7207464 -FixedInputDataByteLen = 51 -FixedInputData = f82b39fa73e26d8b68d04996bd7ff8620123f87585a430b327fc726580826d3c52a792cd50579099abb63ed576ca09f35e6a6f -KO = fce33bdc8ad90e8dce7adeb478765c4e13e5700f769b91f5ffe8da8893ec31d46f53c0f41bbb8c73f812499fadb49c53e459146b8587d2bbbfc28348e7fa4b9c4f0e4a0be3ca1c5fb798b0d60c4d57c23877e835906f12cfc1b9a8b502ed821e696430ff0bb1a445b8ce0b1f33abcbdb8eeb3aae5ea7bb8c5834900300d22303176b74477a89e7d02ee3b5f3549bdf204a4f12fa88f07f6c8926ade2a6d1d8f1d0d029068dfb765d8ebb84e5269424b4725a6492e78774af487273a0132fc89b1ced6f13125310ad - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = fa016a04bb256af4606bf2472b7eb4fb2344550aa0b8f3690746c5260b2ea47625d88b74b4b6cca0f9ddea5222574e4624a66d7f28bfd0a54c2338fbbd3a0050 -FixedInputDataByteLen = 51 -FixedInputData = 6d0c444dc0e9daef0c489e8dcc4da85c2f66356f4f11959f91348c985879e5c2153f22e4ce6baed6d55444c48de384465b68ab -KO = 221b902e67cc680f6deb5bde87be6f21a3fbe2e216508451dcbffcba4adeccd2ecf4d0e79ee83a201244fed871a39c2e181f241c3c75d4f71c052aa9887a8153 - -COUNT=1 -L = 512 -KI = 617e1600ae42d3c91eede010180360fd9996efe97a091a3d8bd5b12ef82928b63d283775b6de41a32ecb196e4f0ea63425225aef53303e736556e63fc11114cc -FixedInputDataByteLen = 51 -FixedInputData = f4b20a523d8b231db51ed9582a773a33d67fecc09c4f223ef872ae2c4512bac49f5a815647441651278d3b4bcf09abc75518bc -KO = 7e73a421095536a24b9c376542c557d8377c88eac473d91749949b37a2bb67d72eb41283badf2bda874dfde07e2a1725cbda98ab57cc236969f8584cddda7cd4 - -COUNT=2 -L = 512 -KI = 4ef20b4efcd5c15f789aab11cc1aa814a21b2b2496cd383bd91373e653125348c77dda00bc0496e3fe928ed850e2cdbeb1f98d86e9b2afac7bf1c70695537b26 -FixedInputDataByteLen = 51 -FixedInputData = 5f892d1fd33486468cd7f00745a1366d7777679cb9a76124a681fd75ad573a75fd76dc3240b7746eda88ab4101dc6189a8a3d6 -KO = 8abc1d76d766682bebd308ec991e993f49b527faf11bf96cdef0d95816b2bd0d8dabf68e2d9628e3f61ba620f804b99626f373fd78a21a7afb6bbdb880673220 - -COUNT=3 -L = 512 -KI = 8cab815c4807fdfbcd2ac2c9a005410d70bf598b5f2cebdf7ea414f83cdf50352626c8327e363c439bdf11b0d6fbdc06be995ba8d50bf197c43ee59d057e0a9f -FixedInputDataByteLen = 51 -FixedInputData = 997d871c3105f9d9a73d8b014e27cffa684d0ef581a78829ba341d5a8f55596b9e832dd5fe900d5b7110688f6c983221132751 -KO = 2e9b5339e23648aa1b3db6b4fc3559d6aceea26616e7cd968ef566965251192e86fb1133c31936221c3a2a698d9d39e75fd7cd5146324b152ba772c4c4c91f40 - -COUNT=4 -L = 512 -KI = 66ba9fc36a8d095ef88a96db1d1145b291e546b550218ad7d6b7b66c0bc1096fa40f11bdbf54966ed1d19e61a2d553bd329c8e461b2dbfc57e3b063ecbcb85f2 -FixedInputDataByteLen = 51 -FixedInputData = bc167aea4a0bb935013c6984803a287726dd2cc2697ee5d6d139ca1e46ae7ae91f09307df3d913e139af753ba6c5fcd6fea7eb -KO = 7562535546efbc22f1272ddd3c99645532f96066fdcf1af6706c3f3ef166b78fc36b52bc20b1e3f087bf53302def7c4f0eabdcb65beb092376637954245b1eeb - -COUNT=5 -L = 512 -KI = 459f0903e8aadb9fee9e0f2555a2e5fbe6c35b85e125faf6bf96fc8f8b147b3a3183bb883d3cb9ee275b0069b9f192618d9f49abffc349523ddd0f7ed65a5441 -FixedInputDataByteLen = 51 -FixedInputData = 4291fcf783a3bd3e5f620170d550daa3b8ceee63dbef74a7fc94fcbcc15cc54902e43ea73804e0efabb0ee04e5443c44e9a5d4 -KO = 8a47800d0bbdc51483c9484b55e2117193a5cfece9f45906c27203f784038bc8b2d6c6ef64015d7b57d8d89e3b54b0f1f6e6c91e24f8b64547e9efdffed6a654 - -COUNT=6 -L = 512 -KI = 6752587bd0f686dee746c08507773b2449a75458f722c1558da373c130139206873da866665215f40c4ab92dacc24543af8e54f14c9a87463d44f7363c19ea46 -FixedInputDataByteLen = 51 -FixedInputData = fc8342e72c4b7a692d66a06c629949b2f73fb75b011f8a3cdc659a6be47967906f1fc2612cff3881df00e9d58005b147bc9535 -KO = e378077606cdd71b27e6ff7d3d81cb0c4b475515120bf77b4a6394573bb056c8646d950a42fe30c6977b65d8232fff7cdf675575e2977480f293069a760dbf1e - -COUNT=7 -L = 512 -KI = e22dc8b66fa459fc40cec22eb9378d1c61c6d57e43491f232ba27a8ea19002a5e08fea8efd08bcedcd447ab07aab7240b1072ba976b20230492fabca42056b95 -FixedInputDataByteLen = 51 -FixedInputData = e90be2a2fa6d29ec83f8b2862cc0c8d3f13ad4ed4ad5be31366f7776a9379ccf35ee8f05c103f3288abcaf704486ed2e13883e -KO = d3d1ad6909dd3d79bcb0a43d2c16c0ad774bf093ec7867ed0d27f9b5bc525775431add1009fbb53c72c905f0f6e67be62e0febc2c8ef2a9920adf5b345c0cb4d - -COUNT=8 -L = 512 -KI = f68d19b72ec30ba0eae0a34e3edb1bc221c6f683e7fca08ea4638eb08982f0a7c3fce6e083c4986fb7710ebf9d0fffc2fa3dcd0b97061c767b161b95c28c1885 -FixedInputDataByteLen = 51 -FixedInputData = c723fc6be387363c9412dffdc7aae0bb275fd0fad7902b4ee073829f9d7204f65721f6eb0f3583167c2e0059afb84544d82d24 -KO = 6506d45c755e5193003d8498aaad27e39f787be246f5ca12b8ea121c8d34e788e592d19427feed5959eda26446fcd0fa5e356017c3a16a5fdb5074cc528a0407 - -COUNT=9 -L = 512 -KI = 10ef8d66d4392235396e835d5964ed857d40d64298fb052a1305d392a941dd7f057eb4d4d73ab3aad1ae426dcf8832f98f9ed49efa0639b0e03333612fb74b1b -FixedInputDataByteLen = 51 -FixedInputData = d1aa5068d97c1cb04d530f04661b627b9b9b9db86a550cd2d67d80db8b9e87714b54c711f622c702653629218a9c182f99e500 -KO = eb6fb9ebb276e176f0349a0a9a57f20aac0a51115e51d94698e2b89313e9b11399971834224534816ff7d2f5c8c6484dc82cb19b98f326a6722726ca8386e90d - -COUNT=10 -L = 2048 -KI = 411acf8b2b5d8d8cd8e0c99ccfff9b708b74662e8bc42951c90b45f1815e390d43236a6a80547ec5d0eb7e52187653ea992d88dbbd6dc71c849a26a2652b9940 -FixedInputDataByteLen = 51 -FixedInputData = 261fbe146966d70250ac332e16904d0980a9f0c370ad1ee2a052b67e9b07ef0b8900219b8a2aee112fc427b83cf3d69a27d510 -KO = ef10b6e4c761d7eed8cfb9362049fef98cee65abb04db849e7241e1f080e027631fc9f1d2f37063a528a9a06422f1b59a1cac4548b231f6518c43bde99e1b4bc39589170d51315152e0d74a8b192bf5547f4f34c8e908af9c9f0af618d540521a55c922a65c83359501357330abe3bf58cabb670deca679d6c5dfe0bee25a6a0f428ef45a0441c6aca40d93ac036995df53a856464fc98c79ab78c817fcb73ab2f5e6a3be822aaf2290d8dcbe9e8132fede31defdcbb248f57b94fdcc78ef524b5477de6879df942805f9609ffd5ddcf19b86457774c092e28c7ad9c66e0dac6b393f277495e1d2d6e2aab9517d48d5580e464fccb8da3fc8f8d451859f49a8d - -COUNT=11 -L = 2048 -KI = 0116f260aa0104f75064d5a857d7c4360efc9591095e1b8b6d86e864052e650d3dba966a0e01bc6f075b7d5322517b236b4183244d356421fd084ac1f69dfb26 -FixedInputDataByteLen = 51 -FixedInputData = 0a9637598a5df107dd7c406829208d488c209c17228d1201d16b3bd57be93ef35c9a5e519309f38d74cdf12dad6b679836390f -KO = b5fe112236811ca89d7570b9baa1241ef73cb548f54708e7a3562da8db631a993b300151cf1c6dd7c1cf1a25188a31d09e6cceaac63521f5a979395c41c184740937e1357a0dc593d17d78c5ab02f95d6333671e54928f6919038cb87da621960a2c242c7108bea7906701b841862a70dbfc66e657c410137838314466f3fc03a7487e37ee9f4444c8b8e262671097799969c15a49c992c4f5ca6ab788b67fe77dc5db2a74a2b0c6ff5afb218073926abafa5537bd14bf1096d767b084e269a5561bf0343273deff74746ffd0150f097a43aa83cfef061db4ebcd5a2beb150f91d94c06cba06fc6d473985f5b37f93a26a24fda2ebd4d567e86bf3bb353f92fa - -COUNT=12 -L = 2048 -KI = df84b7ce2967112b7395fc042fde508667024f6221fe7acb37eb04ee52412519f42a2886dce04b52fe82df80d81f940b2bbdddc8c6f763688520bad0b336dfdf -FixedInputDataByteLen = 51 -FixedInputData = ea485c8331232ad0cf0b5797c50e8cea8826dd1bc3d213304fca4b8f57ebd8af3030c594f0a5c6d7de1888c0bb1f0ef90fd935 -KO = 87066732f2601e14bec184f7c967a9aeb58fcf287c908e597e241580968612793a748febb143dabc1d62b44a5ec8c77baf3cff1c6fb2c69eadcc80afc6e9e9c8e4c240674e6198eca6b3f5f5a57ba5759ec1f2c8c52121f96707d7e178b3938f547dbdd2a4626ee1fd50db4d64dc6d55863d1e3174bed7eec0bf1b3a881cbdeea1fd58a28d8576d4246c928158b14237cb3bae9d86b2bd6e25cd0aaa7eb7000f9a8e3ba5231973d77c75417db93457ac724551e6ede14cdcc73c2d818d7f5bc4bd63232ed9dbca6571cd96c8fb477505e598d0ca0bfee1ebb87e96912fd4373446ac97801cc485850e69086494db1e65ff6de29787d7c0220c15f6a14125e6ec - -COUNT=13 -L = 2048 -KI = 42ea986264fd3363858cc522d7ef48f5ddcd3ec6e0a43b27816051efc3cbbb181ff1cdf9cc47b686e576fc5cabcfee30d7ed1518f0ba27fe4fbb5a14291d54df -FixedInputDataByteLen = 51 -FixedInputData = 82e08ca25efdf2fa9bac3e80aa9c534daa52ea02c10aec04560eb3dac5e7a88391d3000b8bf961fac7bf7d0ae3fa737d88113a -KO = 6941df403f0739aec6132ad100f3035ac6d9e370b251d107406a7e2d77af7e4c29aec096fe1fef50bd4d584be9c329547ae76d4d6d89554b842cbf2471149dcea38e949031e2d7c7f972d99e04004cb876f534caa9bec6fb6765a1c1e2633a58fa85e06a4af21a4c1e5ed594e4eab670a2b93c7acb1aaf49711cab84f4a63b70e4264fbb316e9b26ad77c0f6f112b0c378e3ae2ae0d080ab73580106748020cfd15b40ed9ec53bd70eeac3288b107b8ed1aaa3cf7b795a7411e1e082ff9c131c1faed305be9a20a92052340df5c93799eee46e19f0888b006ac05379f83080bfdd0d1718b67b489f8f7d0b8d9d38af56e713b9918f4f0934088d2bc43e1fcaea - -COUNT=14 -L = 2048 -KI = 8a168548cd72dc9f9516fa3f7c056d026de798cf5c089ae955b9c5e01770b63112d31ff0286f681d50549653a814027d10edaacd964682c4778837a09f2da3bf -FixedInputDataByteLen = 51 -FixedInputData = d01807253e1e68c1015c346ad8191817c175b76e2cf64552ba90694f0ee95c7ccb50e40b521fa271ca2f275791fecceef123f8 -KO = 7fac20bbbe3877475038caafc08446c7448f107dae8088588b3d53681c9e2a166cd7829d998702cf05ce7b8591c8c52c9a78fa7e0b42f8af9d20e38af95bfd9feeeec9d9d5ed7103c149bbd39c66246774f0f203266028557b5258fae7b4a2f746621d238bd4a936fb3ec7fdadbe6362cf243b0278701640c4cb93766ba1172ef82f47049dd97494eac07d6c9d4f57f5778888815377011df383f5c8d4cbaf84da6e9f5d3f4ed93df4c909bef80ea85cf0b4e7559cf993131dee622cf1a2b4ddaaf06ce1d68d37318e00f58a98a507f21660e5818848ad5bad75752f8b3caa1d3f6b735c110676c89f9b40d487c220f0f4f0393303289663c0ab0ff5fccb0725 - -COUNT=15 -L = 2048 -KI = c632567f5491dad2ac524d78e73a0a5acd2626f5a1eda84620725ea52fffc989b394aaff6436c5e7d2152ed2fa476afbcc1a86b7b78829049c81180d7146ceaa -FixedInputDataByteLen = 51 -FixedInputData = f4c5d78a77d0485d0fd192cb2ec4a7edf20b534fcc65390eaf0ce5ae7bd301fc5d74786846f2d9091e480e07129ac61c97a06d -KO = 5b12638b3bad987751438d6dc63854e7329aec1fb0a722fff1548c01970fe72c6b30e4186af4785671b49179e152eea56af8faed345ce873ae6c999ed90e557a519853175d4e538443ba3c497088548ece66002b900711ebb96bf0c276cae4f330e8b1e7b358958364faf8854b48adb4d09c47d0f8e34d993f9fbf0d58c613a68ea25cd6ab8b6eba7bd8465b4eae7f105cbcf6a8b1e48db94e12e51d90d2224a3ecebf9430a541819c7dc700c3de730000221d5c97f04334430505b4b6fd478cd4419ec480328fc374a89e6c5cfed8475d4345c508464d695068ef4828de96dee0eb11d1b3fa09cd128eff9ed73e846e96da0daca440f6ba886cf105ffdc5e0f - -COUNT=16 -L = 2048 -KI = 1f2f24e4254ce58943087620d1caad1b71a4547b84170bccdc78d666b73e33b2b02a9e491ad1f565a3ccf63f8074631953ca2e653c89eef7bc78a4c7debfb604 -FixedInputDataByteLen = 51 -FixedInputData = 01e881b16d2e4c95314c1ad2c3bd52e234473019aa4a10379b390ac9995be28aaf8e9a8388e17e3d32831e31fac72e6738c72d -KO = a0f40de8cbf5046b32746aaaacea1f0c27996b5f682d0fb75fb147eb8143ea61f51419df31f9e5adfe3e9174aee5736b4ffc116d52607127a6605c976d8116c4f9a7a4258fe9f8fe5a5f228c3f925286585d59b326898da52512ede320c88163ac7fd0df50862fdcf5f139d03769839f7d9bc7a90f41d911e7c06675748b75ac875e805d82f04519e7da02356ecad93491e1c180c96507c36daa3eae53e64f206e5b60d97a87d57cda52cc25bfdecc6f1f0bcd1e83cfb28104512e47a83fbef7ce2cb4405a8ad9af4097997bb6ec6ee53e7782029c90a60476e1b00b19156ee4df633befff794d4f69f0508ff1c9af0de77083be409e2dbfa914573a07b61218 - -COUNT=17 -L = 2048 -KI = a07e327e322c27abeb6bd9b46720a0d64740c4c309c8a778f9a8cc2cf0b0a425e0206b6035ae9c98b8761b187be6b9c7e952bc0e70feeba3e332bd3d75e0109e -FixedInputDataByteLen = 51 -FixedInputData = c058288d66473f42f15f9c9d5dd0b37680ab55bb966ada8644de5fa4333f93806ee29fa30bb91af39b70bd66aeb7cb376fe8c0 -KO = a00938eef0f85655931553bbd9bf7d45d8540ca05c1e1eab7c7d8999608ff9c25ef0c1fc20fcc3b1750ecd7a446d64afd2dec84d98b596e93fa76f7a80951ebfbc69f6e24f8b51b9f9b28cf9bc56d849705f4ec30d5cb7a51c87a413ec063646177d83275bed3d3bb24da067127361e8a11b77a2215d64c7d908dc67a311f10d6b08eea830ff0e0ab4139a8f7285308100bee3092e79dfdf2102d8eea561c8c9a3c711a87294e4ae6bca5297786cc0e5db73da3ccb7706018faa43100e1a4975b66f2c239fa0e54db1ec51904731336f8567ddd046a98f1df2a5c2382a516ca51597426538831ad92101301c6fa004fc9369787ace80adcd97e6067ceb327179 - -COUNT=18 -L = 2048 -KI = bffd73e2a29050e9a90fb1aab313bd4dba18035d70906866206317444dde8e2fd36a852a710a25911912a9145c49a6839a7906eddb5419f7a5776d57508df30c -FixedInputDataByteLen = 51 -FixedInputData = f16a194d985340ff6db5ab235da2f158436b3c4d0a35b0990d6826d8b4603e6cfe76444cc294b17e096389d8453ce5f960680e -KO = fc7946eb75ea40d30f5d50243790db7a082a7857e0e9f06b264f9986b24f0cc3e74ddc652738699b4c7b6207db4d8ab5d35ef328eb9b0971328456625c900a54494daefaecaf5b9859ce3019d049f640ff6d1b154e79e5a957d0eb70061b1b1174e2cf36d4229a8ba93b0ecaa020f9f58ff508960457ee40b088f8045efa66f8d25aa646b1a773d1c96dad2f6921edfd0342de56a8034d8fd61753d97edc19f4d4116846b23c0eae06b7d1fee416d4de360daf6a6aabe50cb03c3073178414b779b26e8cc3d4f3eb8d169c3060b932f3181cbec478cc0cf7814e349d051063767b99da97da474efeb1bd30ab5eb9a243e8de2bd21fe4ff56d9203ed759b56e38 - -COUNT=19 -L = 2048 -KI = 40359d3baa9e30de0ca8cd6146d6baf1a641f81239d0ad16be1a4600cd8fa3b36a645aee3b62edf7175300dcdabf283a24be1e42aa9ff9c2458762f5e9cafc3d -FixedInputDataByteLen = 51 -FixedInputData = 9cd3005feb1de108ca75861dd267abb6a7246c6baf011fa08cf1829b88b52f466bf1a75911ef8bbd9575e4cfe4c9a950d1be51 -KO = a64bf39e518807aa4bead74a764a5e0e7d2afe38274cbab87da6a64e10552fc9ef37acce7ff7e4bc572302ecdd52ee663ed4fe61f9222fde1a3b8b5138f8f5401e2dd01e68db11d6477d4a13b53d10d7b2f12b16010d552fbb12d0ce9418cb585471c445f1d5758d543256a7160115497b64108e23e359e03fa82a164f969767badfb8258f95208831a274b589ecdb0cd86218159ffbefe459551b4dff7ca90dbbe370054627e71cc99844fd02eddebf494c2891d1c5d5baf2b13070ad8fd899e41c0c0e2301fb9cd2ec6575057d4eeecb0acdb3e20e778e197c77730622c05bb94206d3c5cb60b916f194ec90e0ba5fbed2331bcd612db7c742563750129acb - -COUNT=20 -L = 560 -KI = 063251570e7bc2538eea97c0e727cce2e1b6d71f04be69f61ca702080aeef0f168a5411a41f4ed1710b151857263442ceea288da62786acb5033a569e608efcd -FixedInputDataByteLen = 51 -FixedInputData = 836442aa1ce00cbda95b0722245e7b67d1762a93b536297ed8fb1150417487981597c1c0c0432572ccaf6f33f41f0979d637ae -KO = 2860f71e558a8fee9f6f25fb6049b7b5a7f2bb4ecf655a9dbc13e12b4aa194556243b7d635ccab02e7c269fe32049cce4fe29ced3dc747a2aee3813bcff2d28274c65fc9e791 - -COUNT=21 -L = 560 -KI = 96512b2a90f53b542d9d28655f03c64ac5164d4285d0aca8603fe958f6eec0db8a0eeb0d9dd54d6296d7e4bcf5a1458f241b137fa671e316faf5ed65f1fe25ec -FixedInputDataByteLen = 51 -FixedInputData = ce8255b0fdef147035e8b7b394d1d04570452f1df29526c5fdb0f3e4ba2d21b0733dbf99400b94f10caa651e4f5f0f4ea6d95b -KO = 6599efd491a00d501c027e9bc385fe05d10bcaf438e417bbb3943175e1ae223b1b8819e01f5dcc7f5fe3ce2635850a7747189600a0d3afe13fa7d11cb25c25b909fde9d43352 - -COUNT=22 -L = 560 -KI = c34c80503df9e61bd2edcaae38d7c95c712d934cfeb545cc933561d38abec59e703f88891d4fdb3a879c9a6359d3131be2a0085eee8bfe72d9f0f8877d2d9f79 -FixedInputDataByteLen = 51 -FixedInputData = ab959cf9bae8cab8393d63fafe3fd469e836cf79dcc4e33538931af62d3baf32e0c1ff7397295a07159d5ae38ad80814ae33b9 -KO = adc66aa0beb40a5cc521749b7fcfccc2cbde532cf8c15245ad4f686dd520cb38935cc8ffe2f5fef5555d01c54bb909e828f30a271aabab6b3d40d433cb67d44e8d0cfba1ef64 - -COUNT=23 -L = 560 -KI = 7b85bef29bc6c0e349aac8a4cfe48911a114230b9e9cb4ed0ebd597c4cb9ff663b1b1abd6d9ca11c075c24bc9bb999899a6d49e16ac35bf4e317212c9e650f17 -FixedInputDataByteLen = 51 -FixedInputData = 56c71f85d8518a6daf22f93e1b6f37fab374be1479c0255b487b3438deb65c39cab966871e81344eb872ec22c12868c3dac009 -KO = 0f8877f55325b5e6a6af7ccc4176bfbae5cbaf13f455ada260a1a296cc8eecf05fde520bd326f4d52a26413a2e20f39d3150b9ff49d3d900426ef4e16da72b5e07a6c78ec6c4 - -COUNT=24 -L = 560 -KI = b95f96366ee3233eb63320e3ab0e3733ce1c4be32e47cc82becccee7bc9e8e5cd0bb3af359cfb0ae7bbe3dcf55ac28f6bd4e053e61e9c9be7765efa7ed339932 -FixedInputDataByteLen = 51 -FixedInputData = d7207213757ae6f2cb0886af4fdd22d2d76b05a5f5c61d126bfde11a5d7bfdf8bdb441c4dc7fa8fab89ec15b81dfe263f57b88 -KO = 4752b93b137e9452b98ffda0f4b0013dfd661a4cb127d6bc952ac271c56ae6be9ff7a10c5ad530af54645356ae4503dd2171623a702c9cf50f5f75c547834305492f317ad08d - -COUNT=25 -L = 560 -KI = 88453bf58fbc6b6c07ddbbd179935db4b0a3af396c398f9349d928b0de37674ad72801c6122d00c968f4ed72be74bc1ac0a5b2cf41054f7eb3774ee39fdb061d -FixedInputDataByteLen = 51 -FixedInputData = 07b630c1cb72353ee24c92682267467dc22ef15cf8cf6add27a4ddce8852919e952798dd533787fec57c919ee8ddfed9119bdc -KO = 3d9e59a17a6f0a5553467c9e8afd35176f8d5714c897322443c435f286c14d0e149438b6bce749bd05fb9a30111fe7063fb523befffad30457079d4d1ac92211bd576b2aacb8 - -COUNT=26 -L = 560 -KI = 537ddca36b9ac20fa0a202504a7436c0bf8ff6f866f6b355a1296b2839512f2fe8bb27acdfda2e0e2cfe24d8666660b1f54e50ec78738b46a888655bfa6fe933 -FixedInputDataByteLen = 51 -FixedInputData = 060a135164a3cb52933cd485e9b365df0f119750a20faab280369bee602cba8975ebcd3975d37c6621d5e514d2e3028ca6fc0b -KO = 698d7e6c92e3b427646622afbd694a7c5c211077786c7d3820c515bd8326b8e30d47f673bd559b72a274c1c933367b01a3ab8061d8e18e0bb40c28827ee4e53ba81d426c830a - -COUNT=27 -L = 560 -KI = 6f2800a340163c90d5c3c5153612a9ca20a4a18b1557a9a74fb09156cb0561a12fb7f6aaa23b6a231da2b665e4968354b77edc48187c8f549c04865338eaed4e -FixedInputDataByteLen = 51 -FixedInputData = 6d819e595611f7461472131e8fd270c6d1976f7eba8ed36a9f1a841ca2a824c80c1ce29aee7cea6f2294616238b5f504d22b28 -KO = 37c26f2c566af08f7a7f55873694168a039281c73ed51521f331bcfe85d1e953673a0ce3ea0f67cb7548f7402289e2587f1a0a5b214e7c85423191c1c1f7d17a213bb0dce975 - -COUNT=28 -L = 560 -KI = 74259daf5a3a45dcae7151c0c456ce95b4fb8aa9d22c23f165d25d8a9c2b0395c3f8f3d5d34fcd5f3e87970a7eaec0d00d1a507798b74fa22d12aef3bfaad45d -FixedInputDataByteLen = 51 -FixedInputData = fc97ae7d40668f60bb23ea96fa4e3e0c4260fe13b27eacd26bf364b090126261b2b9a41138918426ebec972fd8877dde6ea9d5 -KO = cb40098686e4de55f2b5d2391c9732cbfa40d05f8e2d789a97e4fd49161ebc3d52269d47e41ab520307e85bf540f383a878939f0c390b93c6e432e84b9ea11db3f7c808746bd - -COUNT=29 -L = 560 -KI = 17ac041b3d77727b95a4e933b51d23028f5eef36bd6a8b575fe0940bfaf6cefdede6adb91d177c446a5674e3a90cfaca43c0fa90bc675a867b6c6918c4a8b701 -FixedInputDataByteLen = 51 -FixedInputData = 47faa783bec8cd13f40a6b4d0461f2d7c607586e00870e8579210e99e2c2c9d94676e628bcf89094536234a0b05f4bafa750ab -KO = 4e444645cfc33509049a04fe8c19123524b4bed485f83fb7b46ca17872217f657c84c7856799e2b539d711de987f74c90fdf870da26dd9760739ed9ac52dbfeb7c07ce1c5c79 - -COUNT=30 -L = 1600 -KI = 1784e725e98f635383b6e850d48e99bbde76e76a1b089d1f3303403d99d775466be47d19399054490439160a353fb6873a9ad2b6a861aafab02b40cb7c59e260 -FixedInputDataByteLen = 51 -FixedInputData = cc188d6bf6e8dccaafac86fbfc1f07aa52a907b14be854692de782681387b14b3854e7f8b9ba12e33b2c888b061a6801ca08fa -KO = b0be58ca29fb91dc556f8b57a5a847cb332b4bfc12c4f165352a16e008767873cd4ee5ba66565283da3d3aa8d30dcaac020db6c425312e9e28788c037fcfe8e5b6e8baba9a77d07c0d20439527940410ad4ac095835db197c0009a83b0575a6cf717436c65d700e55d3b6e5a77a39cdff20b9a1699a6eaba6f33f12c32a7a0d0ffc1533f6a3a1e73481b9a900c0e55352307bddd4950dad71ec5c7162b2e196a1cb33233f9a5dba5c13c17c63fb9821b1ffc860bc8cdea561ed3cf39939f97a3ffdfe489004247d4 - -COUNT=31 -L = 1600 -KI = 2e37165bb33ce3dcc96cd6d8e3ecc4f9934578dcb9ba45015fb62957877e7abb09d2f5e1172a2661eaabf28cae80ca1f4f6e70722acc9bf6a5ec0c989d2e1d84 -FixedInputDataByteLen = 51 -FixedInputData = 733d6d7db196f0f626fb20ae65f5c1f9ea840c1ded38eee84d8f8251ecd79f8ba7a5567f888a137fa27c20230d799a0b8faaeb -KO = b72820a0e02dd8b91feb117f4a04442ce3e68505d6539c59a573131349af31e7955f8dd0e00041596f5f506a67045122e8828b7c5241a31d931567363cbf9bfc1c9e1ceb10f658231790cef4b86db78e3f83ac9e9b2e385b8c0c1aebc56e4351e52d8b9d683e41da8c244b5045f433932300b7dd8ea78e9ff1d15bc12ecf43e94a8c868bcf0e1be6b975899e78a3d6bd9358c089e5a8db449843b3d55ea700d391c88330fd0a5664228e9e85e1c0c0a7785f041ba20652f2fae720d203743e31099916fae98da13a - -COUNT=32 -L = 1600 -KI = 4741d8cabf06eaac7ed258cf8e3b4b4974be29c927c806d4649562c39aa514a5392edcc4f885fe026729d740be0d2ef5f1643002e1d06237aeb72d0cd8691915 -FixedInputDataByteLen = 51 -FixedInputData = 13ed00d950205857df30b1e4604ddcbbf557600c639d05fe97de66b3b30717848f054e278c704983fd7ec60c8a48b7fb4f3d2b -KO = ad916e33e31571e3b62045ca61f2a1ce5a26a5b017308ead35faaade350f70e0e683cb7345b88e7ea665101f387d6cfa5ed509b308031261626a5c5128ebb88ca9cd4ab1db73ce29c45a0865921bbc8e73e0613286d08f1cf9fb74df4b664aa11b0876e4d5dbfab7c333cc33cc8b5adbb2216a95051cd8d40a2a59cf2d908da800619cde58e3dd272640344a7692f3708e29f6ff1cd2750dc3c0c0e0d51e03e9edf2f23071c2dec2d780a1fff76948dc2ad8d5055a914324992ebcee214705853f4e3f494cba6461 - -COUNT=33 -L = 1600 -KI = 5ba0d7bbc34fa1c9fb098e7d118f4eb3c81a4f3972768ddfcfe3ada7f53f96bc43e5a2c5df03ee18ca46418769fecd97b9674284811d287cffe879936b40b3a7 -FixedInputDataByteLen = 51 -FixedInputData = f29d362305816502e983d2426fb4c94f7e2a6eabb93adbfc50ab87b45af8458fe61923c1675b34760b289908f1012ef602d0b7 -KO = 8daefb5f08e4c44800b30631ec05221d2cefeda1a7148066038ca05a3f754a0bde4024720dc268c81295d0397de87cda1351b628352540326e6c8e36bed55b0e0d0d3c3e2ae1ebcf46d403cef576afbbcffeb0a3c0ff09eec39f3502e60bc8380815ec2b9e7b912a111304e063ee8b6dd124e4902fef4ed8c859d612713ddd8228cd5d6aadf360a9eddcab9131b784344bf5bdebb39540524c737d9a8475f05321f020079dbb4400e2ed199fddd11bac6890b5b1fcda569ce1c301a1796cb006a0a3fe78d8624533 - -COUNT=34 -L = 1600 -KI = eecef39a6f794f88d726212584ace92255a2070a8b85020dc9320162bc8ae3e9918829ef6e454b1efae66af424cb92227e7139b0235c6962ca6b17d3349bdf8a -FixedInputDataByteLen = 51 -FixedInputData = 5d524ddcc2417c6fa73fa8c2e6406c6794ebbc328939447b9809de78281d391544d2b84b3c921512a92e55d324bd3b958fbcf9 -KO = 64dbc73c5a72fa802231fb81b3b712c6324aff8432e4a4f13006490f6a638459978ed601f654e1ed9582bf9ac1e96f60b6456a18309fbe4b34889803a2e9370971a48d13a2fade826c91ddee0cc1a60c82936a7803a90194c45ea1bb47a2215654c3d910dc8debcbc342580e0dd7e8193eb2dbe84e98e8c5a86b40bc29b11f294ddae9cbe16dc2ec70fde13e25e48045f696bbd40fc75a86d527a13c83d33a7a1dd0e61ea39ed112bf660e16b6676cb51e14aad4800c790cf09cf28f4bf6a685c9985f061b991df6 - -COUNT=35 -L = 1600 -KI = c3ec1379d13a9cebb9775eabc4d42af2047a220aa29ea10772cf2194dba0c1ffba6948b68485ee777bbadc9a021951ac0f1c6250a21733f7c656a73e07830655 -FixedInputDataByteLen = 51 -FixedInputData = c0f22ae37db9c2b501482dca46b3aa49d23fe55ba429ae524afa3f4a1b37c6ee0cf0bbfe7706cde7572a5dfb07a6e7ac4acdb7 -KO = de2ab3d673d0d226c234b9f268311d5435bae59db1c299f03aab575e366ff9a329bb818079286b54ff8ac94158c1f30dd0b3d7a6ba249748e48c8bcf7c7cfbb44c1f6e170e48a4067b0dcfdbd9dacf946aea5aed33ac06488ce05a9af5da593759b398cfa5edd080a0acd9dcfa3f50116ce849c4160062d32786723858708fbcde81943de0fffeb70e6d527dae3eea6a1b889b9c90ef8d167fcb6f03a3affc6c1331edf0ac0a51c3fd9fa9a31a9c97b0ad538ad09564615e1f745e807e105ca492b22d815cc4927a - -COUNT=36 -L = 1600 -KI = 51e06da1fbff7f7005819557e119a624a28938b2b5375f7d27d65da50a68ee16c8c52f354227b2f042d32f20d0622ebe8bb369414ef585b528ce7bf2964e2247 -FixedInputDataByteLen = 51 -FixedInputData = 7a4f51a19aedc20c4d8f995a4612f46a6f171b5ad0efe17c69640cced6f77ff8e3f1a9f56b7e5d0aa6db6dbea2f4e664254f34 -KO = 079aebaa1b327b58f9def2425959829e1a599295a6e97018484557480a2de607bb214b1ce5083dc233ce51aabe1b9acf166dbda9a4364e5557e6e11ed9f43a2e98747a94e730323e2ab820ea76d53c2b07294392a10c5f4d1fab9e22506ba61b541582881694304772f6f2b115b6f36d3134b6ee2801366ef23c66587b6a455d13b077dd1363a1374c72a7b5e1f7b251bb461187ceb91bb6cb49b5481315f655d3a6f17a3eff19810a3f7e6a62d398b6a1efbbccc272464da6c2bb00fae27c0eb4e79d16a4da6147 - -COUNT=37 -L = 1600 -KI = 4b1f17d388562f70d89943a3877022897065b1bf05f0bab071d65c3d615a8df79ef029ff07767bcff16fb7dc60fb8c698c6fa20461cf81bfb01f2deca2cfeb27 -FixedInputDataByteLen = 51 -FixedInputData = 0a0c39da85e336d93153bc1b2844e2d6750ae50bb8ad194ab79054b63c972f2c0dc139dc005ed1c60ce542af128e382af0bdcd -KO = d0553257f05e99e5b7ca7bbd502697a54a6578b95146c2be7bcdbd2a69d8eb4c70eab055f4c0959cb00a59a31d86755e482d4ec5d1df61a707c59c3973727a39f920001a87c04770e796b62df9597b1cedb5a4dfdf502bb3fe73564d2e755205dc93862a8fff023b25fcb3f5a0190f5aa7f78dec57d2615769811ea8160f3b32d604e9eb37353b82704c177261a957c9a664ba53abfd1a6796329cf867e4be3c24df954c0667f0267c122c4d15d30417e8aa58d75ac268e7537a826e3c831355a45e6a4ea1a6bbc9 - -COUNT=38 -L = 1600 -KI = 3fd1668b6927be2132595173b7ea0e6299514fcb30e14ff859909811ddc40b1cb80ffaafcc8ffbf9f2cf073500887fe327533f029b32fe4f6adbb367fd43d2aa -FixedInputDataByteLen = 51 -FixedInputData = efe20f2c3521776266d42da304b3a92e7dda0c310db85390ccf08a887a2588af8a7b8e6b69cb3fd43024c71d925dd96631fe53 -KO = b8d7c8554e203fcc29b1ec6727f59f7a4cb57dc34e16b66e705c73c21faa64ab5f1e3190a7d5c7abc6f6a29364208bc10d1dcfcae93b9e1d38e9f653a206a1f31442f4bb36909a91e7076a7ad846f34a271445458ad0cbe314e3d7ccc9ce2c492b070468ecda254e7c20e270a62ef66ff28ed009f25be962faf236abbef0ba2ee3915c3566d5bdee23747640885412183f38382910d007f52b9a431d94745c80702d8f2391ce483d684441db98b6cf749173cda3324f59ac3c93d0ff7192ff2dd465f5841717585f - -COUNT=39 -L = 1600 -KI = 696cb7bf51c40d71788f078a7e78f69ec78ea846c41b18deb1c11007c90642eab55bb101a8dcac5daa02fb6cda2a60a12d254a0dc850776e02124bf05c671fe1 -FixedInputDataByteLen = 51 -FixedInputData = ae544f43633050a6b1e7734486198d84cd4418872a82db43591e8fdf90533086763515480a4594831a2f7c157f48bb8f917cb6 -KO = 1bfa51098a1ad1bd1ce3c8cc3c1a749cf88839fc2f295255a400b81d4afe990e49d4b6ba52e4c1cb090a06ac3e7e090e58230c67a779fb376a19375c6e7a3cb331f46d1e5bc841d1a95ac5487bc40902475b928ccc5d6f70f58de92f051f0b7125262cb6d0e0320c4112d1869052694d339fcfc46e623b2c19c9fb3978ada521e2a272012c7ec0b8c50eef9fe64b7a3e923da9ae21b8c2066e4090f7cd0ad10baf2197870292ed9dc57f89009e55a3873cd02f77c46bbdd960a66e534a8a5c6c2a29757b9291f431 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 194cb1f15b33f701c5a2dc33f0c2dd5d743cd2e54910176a93c79470775255052954353ae250acf7dd711139c560fa0685f7051193008d1d88d705e4cc57abb5 -FixedInputDataByteLen = 51 -FixedInputData = 453c0508a6eb4d12800629ebd8715895b8b1ae803402f8f55ea4e2e0051dff226ced92480b4bafba86f574bd720b24baacc462 -KO = 93151bbef5bd0a9cd3eb10d763a310ac0a78d3a9d3e780e050f54bc5c6a14770477d79248bac5ca9921a737b89eaba2973c5a4d18fdff0f8127da424a1c0e2a5 - -COUNT=1 -L = 512 -KI = efeaf34fa66fc3b0765545997a6e376cad181b84bc6b173dcdab33a133319b0b8dd436edcce2279b2f8a4384b26d5a2ad5d8312833c00037a651f4f6693109fd -FixedInputDataByteLen = 51 -FixedInputData = bda2acd36ad79dbe661853e5919acdcb1b8c162b9d23c063a67084360c7291d630365ee9a6e06894f5847f70cdbbde31e9f9ea -KO = ac9f98375e04a74e688fda25d03608364ecd72f701fe50ead31580411d8e4d7be83e7770d6bf9e2ca8a340d7fe95cfd6e3b3cd901cd05f4f174e45acb7c27c59 - -COUNT=2 -L = 512 -KI = 566ae1450cee5998c9e501dcac93b84cef90d7e9b33c3996597083ce66a2aa17486d78617c327a2794bd125300be6baa4e730baf29591b62cc1429d69988fbda -FixedInputDataByteLen = 51 -FixedInputData = 63f44286cceed13d3524b26d835b473af5a52ed4ea1d7cb4ac68cf863ab18005e78c0c6f3efe05d6ba8dc32d2111492dd2b75d -KO = 25d4ff12b9d20701cd426654eb3ab332cf8c038325aec005286268cf546a3925e81ba12d3e52cab7dc915ff0610e9ff186f63078c00093a10b0c99ebdedf2593 - -COUNT=3 -L = 512 -KI = ae15d7e385f3318abf6d01a2c8a204c545f711a4765396dae5251754d6a2f9a93146e13630ac4fec5f1eefd1be38e8de6cafb9f79a6696fe6a4d9650bd758bdb -FixedInputDataByteLen = 51 -FixedInputData = 68f1a866ae78ab2177efb16806d4564b2ae7b144bdf20cdac6c8b829139503b553afc5d3f620c008997fa488335a4d84ee17d6 -KO = 457368a63b036f984cbe02d3c6916d8cd4b4d04dcd9339eedcf8b14ef49a0f2820225256fd97b63c08454dbb5451b15bdd08a2e4cccc3808509ac893b19c01bb - -COUNT=4 -L = 512 -KI = 24415cda0d92f36eeaccfc7711c304b9b28813fa1e186cecb6734fc3bca5d8710bccfaa69a96e39840543f1ad4fde5d41d920c41316335bf60423ec119d3df7a -FixedInputDataByteLen = 51 -FixedInputData = fecb8f8ef811d7d317edc2266e485d012ed9560d712c24021b02b6701cd8ae9a460418cca6537194a5d0bff55c79c3f7da514f -KO = 616e3dd9de3cb361d98c00a93006aac40ff8d2ab418c30843fc864f0780be170df2fa5f69b5feaf4e89b4ae72815e868ae63d6c1233e60ca10410b3130b9abab - -COUNT=5 -L = 512 -KI = 092261df93c2054178ac745f5d6870221d9cab6a9b2942b307152c45941834b9d7f44eb62c9c100eecb006f06a9716f6ebf2a2233e96cd6c8ccc915d798175d5 -FixedInputDataByteLen = 51 -FixedInputData = 095056dcffac50bd6c1545861699c85a03b4f5e569782896e51a0b39d1b2df8b7d9e8f71ec29ff93a92a79d485570d49c6c183 -KO = 4a1928085140216fc5a73629475b6bf672637a5cda049956fa3c410b4e6abf4346e98fa02f5cab94a4ee94b8e81e275cfea92cc629662950cd7b42543231f2da - -COUNT=6 -L = 512 -KI = b81efc264af7a006ec80fc0d4579b128a1dcd8cd52cea032bd7e25b5d01e2537f1fd53efa5567a585aec1e1bbd088c2b2e74a3c7ad1a10e747f7c989b21da548 -FixedInputDataByteLen = 51 -FixedInputData = c514b8d0f330d83d6c3329f4a1b1964496faa809038449d9194e8480ed2f1459db55e0a3064f2cd9870b10da08943cdc0249d3 -KO = cd648316e3a103b326fa06de254be39bf0ea9fa5065459002faa1db2f9204f8a1393f98a55e393a2370ac08cb39f1a048dd5fc85bf512a577675d0fd625a95ec - -COUNT=7 -L = 512 -KI = ada4c1713f6b22fc5537a35383e661b09dea2e2d3992cc0ac2b86bacddb07f4e71bdd9fc150bc33a486e3702786abfaf2c88189c326e66fc9cbdc34a26652a51 -FixedInputDataByteLen = 51 -FixedInputData = e5d69bc1dccdc7ef31e42d776e86b2f64ba9fdee8dc07e39de0001620e017f0969f27e2b7995386a538e6b51e51dacfc15453d -KO = 13c33c19475f38612ffa3923b79703046ebb7ebf71c112541c42e2f23323f91b9f120128799fa0120396a1a711bff5fe299084163756614cd7ad07d530abe34d - -COUNT=8 -L = 512 -KI = 8e2e2122473afbab5cb121e6ef73681dbebc1f00fab2f4e7a3ecc54457db939819680fb1e60ad9a1fd84e9291d0819cd8905ea93fde1a3b68889657f6bb54a71 -FixedInputDataByteLen = 51 -FixedInputData = 4aebb57a44b062f6606f8c0cff7880173f1eec7fed3d9514e314e682e89289ec5f28e3749ec95f6f4eeb7b8442b7d3483dc571 -KO = 867c92927e798f7a3e97f5840a6c002d59c1a4c479da54ca9ddb94c0ba971bc572c210b216c86dd1327cfba378a1355529b2ec40546a5604a0a2b6029c6b85c6 - -COUNT=9 -L = 512 -KI = b70e73b520d60e8ff6ba7d131b7e643d232d2fd1a1cbfa7b378d6736604a472996600f31deb588d2b7e91fd587445a27ba86d153c399f386fff739644d596c89 -FixedInputDataByteLen = 51 -FixedInputData = b9d8f4c6a0d73d7585d473f8beba75d1b07db936d6f214b4c583ad6f93bd36ab5e3068ca099386106dddb1f6cd0d5ccde2ceb7 -KO = 3d37b9bb47933398b7f124d2bc8e361f65b06a4d30c6de2132e597f754a392fb9e88b85a7a76f57abe593887d82c255111458e353572f0a5aaff859844fab311 - -COUNT=10 -L = 2048 -KI = ddb99321fdb68c060b4c43d626c75e49c5af1e5822a995777481cd1776994079318dcafdf88f187d29d2894cc873a3adeab4b1457938632a36fd85b30eb13c3a -FixedInputDataByteLen = 51 -FixedInputData = 75d16b3623dcbbf677a663adab5019891417c6bf9093ac979a837ad90241526d38861fd5cb4acb0eff55fb9a7a88d1d07c25d4 -KO = 2f42c828a4f410ed4841fadb1ac5b1f7b72b0ed7cd15a1d3655e5c422bf21bdd1be111ee383af31b484834490a329fa65d067b7c0e0afd9709e9abb0c255a9829bf31a9ccd4ded924b98a7ba5395fd869e4569cc5fff65f1ab7addb81077f6464f9dabfdcd1b8b05ef5ea55010d210e67b89c71d2b0b30a152d505039e4e292d83d75d4f9b3bc515ed54b8e84b2cae62a43f365b2ecaca47dcfca9bbaafb5f208edd53ba76fd29120fead48be6d66958a340ed67cdaade72dc0762aa6c3e1600a0ec965307626deee43ff562e60d18b8d29bd9b5fe3622eef46ae16062f73ef081a4f405c7774b93112676647ea694b8b894a6fd26f4e0d440ce414a4c43dda9 - -COUNT=11 -L = 2048 -KI = 805556f83507c30ebb8891f2969be8ed67ecb322f3872a1c00b2661a9478bc9dc862e94c2caa24718bdba53b1398a1d2f03e6323afe65e4616013684fa421075 -FixedInputDataByteLen = 51 -FixedInputData = bff1530e75a3dedf1e1992b9348726c7c28d3dcd4fa170988dcd64c252009026da8f0e6073c3a854be06f3919ef8f52f8bd3b1 -KO = cec5cd817baa4f626198fa22797a67e9a39674f56a304a19c740d5e36ea7126ab73013fdf5531f1794beafe8b4006122c89703d11cc7e69b87432b12bc0d1e0b6dbd02f221ecab1bbf2cf4dae2097980c0f32db7e9c0e943a228cc48e248da845006fd86e6b925dbc094ef3b4dbbf74435e85481c610a27f4fe35300c20016be85d26fd538c1b62b46178f54e8b79958c876fa0fe825db64e077de3fc0d13ba5940ac98c29074903f60f0db71ea3b77f39969344b277bd3bae67efb9fb02ea6d3905cf083558316d8404a2990d2bcc8dadf9f823b8960b5aa837c9727d15a4614f25d5b687df54c8d1b5c8cf15b60c9044797e11d7a81ea1a84f57ee3bd679a7 - -COUNT=12 -L = 2048 -KI = 18f1c4ef9f7a9d2555f36f7dc0e3ff613cceb9afd298dc9140c71ddf78625b8530b9f5dc9a5611e93f4edefe487b5b89b238ee42c0f16d9a1361a167ac78c78e -FixedInputDataByteLen = 51 -FixedInputData = 98acf2f41b11af679f159d4772a97596838b8b2b839d0b56e3f66465e292ac810c4826a9cf58aa746e02d76ec0cc42d0859e0f -KO = 2efa66e5560258039558c5bad190208c313d4c808088ac6839b5fdb369c6d20bf26e70c76dcba8dd22e32ca52903a8503a7416c25d29b50c8225af52fda3064f54ec410aae81477e9305a42e768f1c2f6a38a0e4817e020d802e2cc05210b19127452bb98e957a99ea967984546afc5ddb3db5ef798a93e60d7779cc034688bf692ac8cb7d9424599862e6c449801c10f22afabb67979c1d0a3b9a59669a90ade99806713329e896c7d6de5cbfafa6cf986b51271af3e7510fef04f2a87eba0383893d7c83f577340afb8940d60c451f8a5723289b5bf48965ed5db216b425f7013c5738aaeced0e37ea43675a9032bae49037347c1fbc9cd280e81b14557637 - -COUNT=13 -L = 2048 -KI = 462aa1a6dbb19581a48884a2527a72072a0a6b0f62c2e6769aeffe8a123b4336683e64d2e11602bd1e99cc27e531c33758b059a90155f94921b25a522f3aeb4e -FixedInputDataByteLen = 51 -FixedInputData = 45ced3a5d529182b0464f0e0d4159f38d1d259667e9bcbcdb6be6626e65969fb7ed6f5a9d2053acd5ee8d61acbde3b4c92dbe0 -KO = 15bb749df9ffc60a3db890c238f614483de5193c439d1c44e215530b2750adc1d047d31c52f198dd8707c6a19b19bca41d37d1680a28cb0b3bebf35fb066d3360e58d6705c28909f2e8a2b2863d3347c000ce45efbed3c577128c78faae5ebeffa9c113d7ac8f68e5992e45c634a3c64af9cb5f855450ea7d5a188bc082acd2492764925d0e4f78d78bedcbc94f5191e85bc97ec56600c61e3f37497bba1cc3f820e761b3dc5a27c0b1539f76abb7fc5cee07a1e5bb8bac08f1449f7564491cda67f97edd1be4f1d6b777c8b7a7b5fc1a6ea61e49557a021a010224bd6aaa8c596622f25e64478085f04c2391d0313417ecb683414c016997f561f3771ba2b4a - -COUNT=14 -L = 2048 -KI = 79cc5673311459248ce801472cee1417bd265c3d9d5932e22220f4347ee086784a314a9a92a8567f9702cd8836edf8bb1184fd68f04fd3608e1953e8035b1369 -FixedInputDataByteLen = 51 -FixedInputData = e86ad6232e84cc885eb5d5758abf12679fb578466db4d21e55d8c7703902762f7e96c5bbf8eb0a0178b3e1fd31a47a524fda54 -KO = 0c1a74c8491c647a3646a26ad2cba09b1cd7eb5d1f25ef2f279d21e0ca81ea045e91befe27f380dbaca469b49602c2ac7930cbb152834b439654ad90738522a46c4675f49f6537a298d0151116213998105f31ba09cc1b6249c8621db626d3aa6824e63bca4682ba2e24e6771bf93a3b17041b8bb7ae6d542d3b378e290ba0ce97ecbb3c87bb48ba62ff60b9ee3e8f3f9c37dce659398eb678ff227fffc22e59e66fff35cdac7136a1de1a2d711ba7a820810be4fad772081224611e66386a27818e12efbcb343716e4ad31c840fde0d91769dd3e57dfc2db83a1ab5558a8251401b6228b7feba93f167fc91af8d9f63a0cfbe42e0eaeb3150d2c21a90e8da5c - -COUNT=15 -L = 2048 -KI = e996740ea7384bd9b3f0488147591490a5ee0e42d9635513c29e8b7b48d1098538c12e43bd39f42cbf7010c41d6d5ceaa0d8cafe4faf70b5397c45717fe2ba4a -FixedInputDataByteLen = 51 -FixedInputData = 47ca6306f7b4f5de2f354207d70925398f16e0852d618f4b1342ae0b6a07aeb340abfad6c9e52e6a003f04eedf104ec1045fd7 -KO = 6ea71a337cfa232bc75062df2620d7dc2704629daabce0de2e8e3fb65eb6a5d559b81336d7ba88368abf6e2215f246a32936d6ea3545668f6c25203d906f89933a90bbfa0f82e8839b1430caf4f1a332717b25fe2fd769a17b391a3888fa5b6bcc344b7d71eb5ef396a5033c6a149fa2b2dffaebcbc4eac949dc8e8ded0961a0cc516676fe24283c033a947d049c506871a53ddaeb39866569132604ae14d9210dfaaf93c71fe5b292d3b8cbe5d2479f2dcbf3b5244b35a8a56ee6faa333d514f886112df527d8ace5c9d332c61833d639a4d77c0c72960824ff59d5054bf0f59a61549525110ed3ee6d8826221ede134836104fbd49c0a1b064342afa507821 - -COUNT=16 -L = 2048 -KI = 69d37edf0a07c8caa45b3a4f4bd3c8a1574375035669eff4e9af48421253e2a689854767d3de9aa1edc4fd1e1af597a021e9adc29737759095aa6db16441ccd6 -FixedInputDataByteLen = 51 -FixedInputData = 28a9b28c484f79e1b6c1971bf6652a0902cb91cb1606d5df63c77b23425005b2ea654b42010edf92e19cd33a85da37279fcb73 -KO = 30f4e054570fddabf88ec281cdc208d46a048736173c2f58d7a714ded5822f7c3e22713b3ed51756b232dd7641fc001ede932e6bf21ab451b7df09f4908ba9292d8711df2808fa3ce047e6c7548b2e07b8455ccd1fdf6ddd9f65862b08a8c0def945025d5f794ff72486b831be35c44785fab438faa4f6318645ba67d7f03fb16a163c018964040efce0a5b9d72acf3ea92f32059a54c2cb1c4cc5010458414af40eaba8c0871dd3ef93d75b745d5baefc86594df5204ff1db9ab813891d09165098e7386ff92c700c9c095f92051887450b30d615470f072226ad7b505298df817dba744c1f6cea36ac16ecc04146ca16692fa1ab25b2dea7568f24cc0f7d99 - -COUNT=17 -L = 2048 -KI = 93ea3d727d43891b94930781eadb669d946fd3b5d4a43a05ec0c094df38405f1d1ef1a8595d64b992a03f53e9600c3194e1fb5d743db582b59c1d163d3efdef3 -FixedInputDataByteLen = 51 -FixedInputData = 1a24f9da78026ff978b86d22e78293f767effffef5101473d20b1a84cfe90fff8c7d6e2c3d59c0d91f3380a7e89ade276cc4ef -KO = bcf90e75b347996709ef08eb0f16b25ea1cfc21c9de4606fb3ed4773e0a4f5d3aca0286b9d858b1480d994ce16c53e1c1b40dcc0d00d2d10c0a362d1897e82b1885d381b3e16d1a1c5f2db5cca934a2d6af42ebae061d43d73b74f6032996ffb99a6ea367728d9d4cb47baf1158b1635f746f1bcf6a31a2b2d68cdd8dc68fbffb9f71c42991810e15ff0ec274af80a02f6a791961ff84a92dba6a104bc63a405e3aa8f003fa8ae2b759390f6fd4db3cc295f86a0c85fa26bf49346097c82c44d183e743b013a5d2d6ba6ca874d4775ebfe9b14f39a9602d692dcb83111d2794738627c5c6f75efdd0f8443ce8d1fc639b992c5a7405b41158d54e638cb046e89 - -COUNT=18 -L = 2048 -KI = 252aa925b8116f429b264344ce7a90b5592bccde3f65d0389079175125eb54d48b702404119a9c270c656c3a17ba1b2ec03af532fa82573d0236a17650f9f0a0 -FixedInputDataByteLen = 51 -FixedInputData = 68b55aa1a8f736a342fc328103e301ad9539ffed58c5e03197571294d74cb053d97a58f8658696159f1985f652cb893ef09d5f -KO = 1eb0950f226e4d2cae426dfb03aaf8501d893099d21ab9ff91214488223938c6810e8a56f1a776625d150cd58bbe065b5e1ce536a26eb146a3f0d2443a6233bb909189341e5c3a127f3e31fe84ae75d60ba40e3d61f240a8d4b35e3a4775e3f490b760b7e2d309b3409223db8c8061470c4bf94653c32796f2a1c8040e13e2faa948538e1b06ddeb4cff9621eb5a4b5c62ec4fab48d6f52ac55d1da05baa91e8a6e49cf2b2b26715dd26e7c7853ab422edaad0ab15047e1d069ece63cc912916cd71d6c3e372188094930efbf3afae92ebd95e90b945577e3956412d8e81c997818573098c4709802491f3568e000b9c494562569b78c80d6b3c8998621863a1 - -COUNT=19 -L = 2048 -KI = badde5d7ad2e914a8888e5243c5675f5f3d3cc5076e1e76df526a25404a7c8974c54acdeb7109b269937af30a87f9ec783dd67500ede19d253ff077114cdb344 -FixedInputDataByteLen = 51 -FixedInputData = 8d4868b35a2fa55154bfe5db9fe9cbcd21ee989bf279cbb5d6b372677bfcc519af84955a2fb899dc2e4a8d77d6f84f9afa12ba -KO = 143a4fe5ee14c5b5d5402f7a50bddd4d6cf387a34be32c2c204c528ad50b6aa39afffeda40aa3a2f1c63453295813b5bed3f8afb09b93c1432eb55668c1993ca6363efab9f4bfb66446a93968689ff3806954e287f9b8f6eda2f9033bd7a58eb6d09bdc9101b3e19d213981d69afb76d6cb0d97c2c711ff23b22f7bf2e3850dd61f752d8403185b548a3caca7b0c4e9f27db476db789bfea73650b591a4e2de073e229ecb345b128b7b5db3eac3f1c1c7730f2e4f686fa21153c4bf3821c8cee9d09576996f3a672acfd4d0a2d0b589a2d3096c9e765ec140fdf16ec41ab2f7dd821ad18d55058d9de686a5e49ea4577691bd02a3f7a3886be5fd8ee71bb63b7 - -COUNT=20 -L = 560 -KI = 34001b3788148259511f58d3ef5cbe801810ac4434895cf29014ea6cb16e80fc74a29cccbe47711fa3c91b697f91825c0e32acff59b1f9cd79cdc92c92a4266d -FixedInputDataByteLen = 51 -FixedInputData = ebe2bfcedff59eb035ad060c0f86bbc9d527c30ba0687eff545d7acc01754d5f5988ec5e9843b350ef661717809f82c8436748 -KO = d3c9fe7d94870c41766841f7873f0c5b6047125feb28bb93199eb2e4acb1d9d40f90e25f53c707fb30b47312eff5fad063072ff3f469a7f7bcafce20a991d068ea5896eeee2c - -COUNT=21 -L = 560 -KI = 17f70d7029fb4b6741ab81fc2f53ea80754317be94ec2b916705449deb69c3550829f2e8c6b36cc30692d80740d44b85876392ea95460cbd4f8aee6d92e77080 -FixedInputDataByteLen = 51 -FixedInputData = 55fa07db19c600f0d93d8ede5660c8d4710d78b59b861a095b344f003d6e0c2d2647f7892951af3d744168358ab4888305ea20 -KO = 3cedcfa0eb944b0797c1d98acef4b5c6975c486c831980723c89657f41a2732a0ef24763bcec80381e028fcc6055aa1f7122b0e24ca54281bcf4f81d443b64c344082f56727d - -COUNT=22 -L = 560 -KI = 29c0cdea2f6429280c67960e3cf61bc29be80945f67567fa79a83e13d64b146c9479e62cc916c868298324d093fd0005e85decd1a822d612e8eb21d4682f5490 -FixedInputDataByteLen = 51 -FixedInputData = 06e7b7381be265023f775ff660a9f0e4c35f9130903c56864ff5a51d12e193e7767841c85552532a83d3929dafa1de2ee99c6c -KO = e19588fa898fa0bd90a5cfc822ff39d713ab93083213940d0235e7bdc274f9a7b259bb1d415f4bb0d983656c41c7f580d17281325a049b115f73dd23e678f6a1ed94f0b29ebf - -COUNT=23 -L = 560 -KI = d0d1063eda0563bda10e7a43b833f2921a3b01ac3be74ce4be2b75880008d4e300a0e8db9834988dafb6ab5edae261aa2844d6a2206fb972eac5fc902c2967e8 -FixedInputDataByteLen = 51 -FixedInputData = 8fb6d9f3997b6ae29d9715b36345dbc627b13b452eadddd1a0ddcdd1bfe26594984a21e91a5e52d238de3816c5c3e3c98c8917 -KO = eaaa2cf74b6db481324d5747798f32705e73ce5e105023fa00a48f3e8bf8c70f3361e20efa963444a3e79fe27f927e0e3e41b0cd0c86ddefac2821fe85b56c403eee231f837d - -COUNT=24 -L = 560 -KI = c51e88a692c6710c607fdf868fc8511058180125fbe4faa8b3c6b8ac2dc4ef793be15a3e29edd4f12c0be453de0f0c3ed5dc2bf7347d83fc466548a35e70deec -FixedInputDataByteLen = 51 -FixedInputData = 1694242c735dbe67d99cd07a8d046d54af23ba8b3713f7b9a848c68ea2b12634915a13c63ea266872f5b5bca20946961939484 -KO = fc47a3c73fcf8606d1aa56868e2ffee62dcfb9b639ecfc364b15cf556f4875a2a9ad68c8e80a13f3f147a0149405e1a9d17b3f351ba286e71918205472eb2507d8c025cb5fdd - -COUNT=25 -L = 560 -KI = fb11fd4c653f9a9d5b8c137054770bcd849ca797849c62e1250fa2100f215e562deea16b83aa5ab0044c2f1cb5cdbb2624f5f6f0469c53d0379cbf351e24b9a8 -FixedInputDataByteLen = 51 -FixedInputData = 4dc2d421b4ffd0ce7e2f90057cc02cb3fc5223ce19ee2ee112a4831b3734e460d9dba697c25cf82974b1a71fe4bd0a0f7061b4 -KO = 7ca3098b6abf9808c837c0b5f87f28deb9c130b7ae214b005c928b0b8fd4248d63fed2a46e923eee7ba2ba981e65bcc5710a56afe249fb4590cd07f784cec29a7acb11cf96b9 - -COUNT=26 -L = 560 -KI = 14166039dba4e30c5e80acc46953644183de0546c703f13912f8b8fbbbf42fbbd580bd6e4aa7be7eb0d0901c29799767c4d83f3674770df42d41aeb168245ccb -FixedInputDataByteLen = 51 -FixedInputData = 1ab683f261a6a367e17116bc3e18b3a6edef2d7fca7e82c71a6b4820861c82a645b6c61feb9b4f8ed3c46af2d8017f40a1c796 -KO = aa87b6b88c524f5a5d69abf37db8c1731322a6e7b835e036728619b81ad0a66c9778b0beb781553e875c7c22cfb9566fc080e6c1e28d4149c8b19c8b9a93cfb71dda093d62c2 - -COUNT=27 -L = 560 -KI = 4365ede35681d3a42d1d2cf0ec2b2b1d43b1d2ee0cd1e4b40585ccd0d39713d392fe3cc82efdbd6598223d8f541b28304890bb03309cf08843da4d8f37e0813f -FixedInputDataByteLen = 51 -FixedInputData = aed0cdbd3f2b7e19956c75104ec3d356ff10e893c86be48e23f87a9cbcc97f875f0cb8c07b3151580099c447d473999169734e -KO = c1972c6e2fd412925d66052898f8a2938a676a41d6b6a696b0c182c44b905c288d7d9d2ccaec617f7ea5d9adf2285bf4b38025dea20adef0f346f1e207e2c942d6a99a6d6a12 - -COUNT=28 -L = 560 -KI = 2633da6e31ce25f2298a28d1b451d3eebb90b7b2f037ff244b4ceeda0847758c0b4cee18e3eae5e285f05458bfcc31467d8686d5783e9af5592941a62fa24ade -FixedInputDataByteLen = 51 -FixedInputData = 44f603971cfc44a266310087706275703974431c0a6fb17c1af843a7678e1d38358475170c4c7f7cbe68a8d85a82ad0ae9cdf0 -KO = 91f167beda26436460e9f734a782b6753889a72e7b8eaa052856c16e73edbabbaeba8309301fe12c4fcb1e27d9bad7cf2fe4cfdc72192344f10e6c06892a11015f646abcd3db - -COUNT=29 -L = 560 -KI = 6f22fb122a48d5f1d0c3032bbe2f659835ed3a2eff18df6cc8c3476160d3708f7dcecd7b563a6d3c965acfdfdd19679bed59a5af6452f6ef2e4e025accab77e7 -FixedInputDataByteLen = 51 -FixedInputData = d85212fb2d9fa1fa475ff59ab39ce03d05666e7e52723be846b6ac4bb511079a09b48d2fd1227d09f29d428e58450151ceef30 -KO = b47282522e6c4c7d77bd79d727a2b746b2e42a40570d5ffc5920b87094186a553361affc5ae8758d1c35c0eb4c7ee554fd86a089b98a825f9514b763aedbdaed81f7e937e573 - -COUNT=30 -L = 1600 -KI = 8095a03eb2fd35ad1f346373b9780a7067734ec2b846beb6d9fef79a3c41941dfd2e910e75778e3c29fa28ee2dbc46487f357428f830e399211d014aa7cf4384 -FixedInputDataByteLen = 51 -FixedInputData = c01caefd681321ab3d5045b1fd5962e5e3ad48a8f26243f9ba61c916fd4f50e622c1154201932aad1b1b05b287bb808fad3155 -KO = 6992368ee37a5fbfdbd7a9112e997f1cc15420e16da8f64a65be63c3a98605f7365f174a9b0d4838a8026f634577cc201d63e13c0c9ab77d0b4bed233e8d3925b1c9ff2db159eaa73e9ad9204194814dd572094ea3a5ff89780d5a6b85594116356ee99938f706538171317fa558a1066edc063067850c45f4f297b724d7106d8aca36812c10b4fe5bfa4ac29acd45a0af2fe48d9ae9850f9e7b21b9d68bddb8b475e63ad61b4c535b9b4829e8afd554f2b1d166ef25fe23f4cc19a580990eb5185f0f683a35b169 - -COUNT=31 -L = 1600 -KI = 1f30ef2e290ad095ed5808eb8badb68601e17a94203c230c6497c82fb4fc2d1f67ce30e072dfd7e8cdd0ad141ce9adf86627455ed1ba0d90bda8c13727ad82fc -FixedInputDataByteLen = 51 -FixedInputData = 2140d8a9a3bb47e44d4ed0766a76d96fd1343dd8685f83596acc8128238b6c91afb16536eb003d6b619dea50478091e05c7449 -KO = 652364fc01895e7c4a1a6d44be3a5458757c7f90f4f37b6efc8d1459610c486e1295380ed2c8e5491a7a2f98d5b455b2f2b4cc5ca539c2bd5f58eebfd60649875411553d13c370df429f2927645e99da2c4af1b5b74b70b2454d6af3cebdae06e334e542137d4535569e39c4df627ee8a3b742b97c4bad7693e7127280004d54cf590b1b43bbf87cb2d0ad83a8b2e67a40e52259104897817e47f7a333494ac4e782b0cff8bca6a67fd27b292618c6055e9bd76dd1b16bf672e55474d24016056d1f1e39931a8cdf - -COUNT=32 -L = 1600 -KI = 4a511f0e5f367bf036c865ad53c09365618392ef4bbb804b746b80252c8def6d677e6f5205cb940d264efb4fe431490299ab02633d1b61e3613f441e8ef158cc -FixedInputDataByteLen = 51 -FixedInputData = 5ed9720a50d3de4b27ce60a350822c4ddf2969c8b6542f30bbf4447ebdfb601f45496b6b968f9dcd7c3336667e57e29e7241bf -KO = 1ab5606a6c06fe00dcd40b9b368cf10dba9a733f9697e55b254f99824731f50b35b65e060d4640f9c5a998313da8f195d2584dba3d80c6c30d8f49f44281e68a28a3ee8561998856699ad9d5c94614f71527bb1faa26cd37e22e935669b96e65afad7720c16421d1c1005da5b5161650f3b82a6c8d0596d465a82221fc04fde9a04da3bf79b436c572f14c5f9ecf02a9863506b0c20c1ffb686e6f8ab3aa0c7dd6ccb317db495f5dec27acbc7ce5f320807e7a96a0c426fd1d96263e2595f4b62b0e68662fa5ec82 - -COUNT=33 -L = 1600 -KI = 8facc7f92ef5c92f37714162fe35d5558d964129490ec431885ac5308f1ed011b6ae4ca0b164b76bea11be83a5bf774d7356319b018fee070285f02175b32794 -FixedInputDataByteLen = 51 -FixedInputData = 7548ea8a6839d315c22306284e8a8b54bb429820781f1b2b7fd3f61450cb6cf5b1d36d23c9f4333b27d44c00487b8a963ea1d7 -KO = b3de53b28f611f253485fb3a22fdaa98d2a575a4c98fbf8c2865b68615a3420a94a3eaca71a6546c35249da3d843bbb86020219d9436344fdf5257d563aa453b703a087dd4b7ce3136db4f45a156227c36eded1dfc94ea85e6fbdb22adce5755ba45d62d84a1cbe777f3800a854f7e6d5a8481f17f6699965f527306b458a073ba9cd2a60c2c471607399f6ed45d42d33b2a429b82152d923ca7108d8e6cdd4839bdd611fccfa7950f37397676f36f74a965e07defc7bcf68a52ff95c6917bdd782d6eebdfa13d77 - -COUNT=34 -L = 1600 -KI = c49d2e1bc52f9f1e35df925e073ad4f1ea295775ed3a8b980e7abcffc2e1400c395983a7969f09be2bd4ec22d17d38d9d058f5719dffb93b2b863f0b9230cd24 -FixedInputDataByteLen = 51 -FixedInputData = 16c5a380ae43087c87207929511e0de85538a0cd757ea76f39f80bf0fe839fc17db27dbdd04f71d96cf13c5bbd92b06dc02b41 -KO = 8080667e258529aa76a77c812946a86cc29fecfc249c88d65f8ca51764ab485af36aaed51392ee2c378073e814d144af661cc449b65e78449c1a3693e300c773e742ad2d93ac17db7602812dce69fc1d3491d8b4bca1fb832bd1f44c083198fc02718531cc17d2a3d7769a5107ff27c918e121f86435a5e609a76021ec893acae59283fd2de71568f38bb11951df17a3e1d50226c438adcde4a609b2c5af0109e37f55da23830cc0271573876977b8f51f8eadd92c12faad2749fe0f28e8c2bddcc03f10710f8ce3 - -COUNT=35 -L = 1600 -KI = c93961135be2536a536bd4c3215157f19058db24a2d5eb831635733cc37d36e41668b66fe04cae41f02800027f7b72b0f7f7a74ca7697ac73ad6f6c1a577be48 -FixedInputDataByteLen = 51 -FixedInputData = b728cb2d70dad860bdcac01ebf758e121838e8fea32de0cacac8e8c944cebe356f8a59e9654ee3c05a9153e8f9afbf4c922448 -KO = f6f977fd2f71afd2f32e0cd5cb3d5987c030d25a8fbab61f2deb4b41eabf29afd19ce8f364ac01142ca2dd3290b9f37e83ab074fa8179c6364695c9f2171a7aa2bd1aa16c2c0bd69ea4a3dfe9eee29cb2e32c37091176e64d08146fdab2624793ec14b2ed0c3688c8cfaefd77cdf2067c097d485c0e02258e2d0e5f3bdd90bddd7c2a71311f09b44ddd4fb25fd54e765632f17df11544db0a5c2e8077e861930a908996d89b84481018bcaf2be550ed38957dcd94e279341fc32b72a43730f4cb6a5666ed61949e5 - -COUNT=36 -L = 1600 -KI = a2377acd713c5edf25d7e34e33a82964f2b7f51d8598bb6a7683339b2ed8f919de3ac5840b2e6368b0f56f0ed8bfac203ef2a01db7f16c37e6d40d3641ba8f08 -FixedInputDataByteLen = 51 -FixedInputData = b638e65ad4f909fcdf5af8c9f3b64a5f2cabfab480cecc5c7cc3f6b394e0f683b1a5dce2b4cd63fdf7f268c068cc8d36228b7f -KO = ca80b252bcb42ba7289a887c45c7121cd6914eea3eefb5e910b0a70530d186a5922ea134727cc2a14d918bdc2f71730b58872c8c482091bd57876c0274d1e1ab8e84e8f5475132e73319d6707a5e7fbba83b6e8eb7bcd009a5b618276eed321569c396d4708489f00fbe773f6e718dcfb5ffa40f135f818a76ecafafd4fa0d93559e85e6844bc41481822a05451c6a354a6506a02662261626504d641e77fb70e2354376fcd6edcfc3f75d3dd3f903fb78b5b2748ed4ed7add2213d8226bf36318998e5f48dd9ebb - -COUNT=37 -L = 1600 -KI = 70b609688f91a81e0cf7775d7698922ae024d26d51229bc1f421db0f0a7b116c9a5b4e7b98f6898ab014560522668594ec335ca5ab3986c55821b3e48f6c505d -FixedInputDataByteLen = 51 -FixedInputData = e8e7294fad0e5b950f7c47e6177bbacf800f9da6c7e4ac2c8cc9f16e1a0e1b4dbcc74de73ad7dc36b8c3304fd92495f8663db4 -KO = 77903f3d84afd7d4097e9a56185ea1d860d2d511552daad74dc4f62f5b29e7b1639dc579d44ca6ef5d4e0c3e3fb1707dd05fcf6f69f401225abff8a33a3be0709912cc8df3d13348bd1a3f59e705640749c261e53be199e10b4563b59de3220a3808eabd05f9ac30ebfe47a068e60b63cac76eebd3f7c89701f1de4fc8ec27f46f3fda01ff650e4da829e27ffaa1b11b3a9cf0d157a091c4461a75976aabcca8a0d1edb07c0611a6e97677d420196313a3dd2d4544815535b6252d70af365134a2c4be58d542ac3a - -COUNT=38 -L = 1600 -KI = 41b1ac622209083839c9c20faab9018c6206b44cc3bc5c7250a7f45719bf28f19fe4fb4e5e7d6c0b9e2fdfe4592ede6c70b207029665e2356eac0c5c43dcba92 -FixedInputDataByteLen = 51 -FixedInputData = 31b020f06b7589183ce8d5b8e68e14481037466feb3c45843d1ec2cd939546c449e0ae0a4755ff8bd5ee1e32759e43a1012b20 -KO = 05b475f2765a36d8597238cd2751d083b6774a2c0020fd130dd75bc69e144acccd102ac6d62d08cb6aff1b7ea66a039db4bc9f70efd8022b4965e8fb018cdf1fc87d248cee41406ac73d673707c62361f48217b0851e64c65dfc910314d5d7bbf9b29f70c8e2f9dd76ab48171b885fa1e7a2abfe269f0f4a84c85fd341ebebc1ba83a8f74f2855d015ce42c1b060dabbdf1e4b1bbed56c4ecbfe8b92a146d6478ae0ff147c60f48f87836812a0359d737a3cc1880c771dbb732fa2a61ae10ef0a42dcccd6911879b - -COUNT=39 -L = 1600 -KI = 56c74812028b6733d504e86392b7c595dd16eb07bf394724b997868326baf2b53b7afd04445f4ad236eb35287da5f1c1f494fdf1fffa525dc2dea9cb820da9ec -FixedInputDataByteLen = 51 -FixedInputData = 322937e729c934963ccc248b3d6edee75c5154acb9030ea1784ff477abf4e6ade1878859fa6e5e25ba16c86372b6ad2a0c8da6 -KO = 123f94e426671ed895c970ef8e4ce7223c4d80d6ffecc2ffc98b3b5fea8a3a59ab1dd464094ed60509398fa4dff9e29ad78ac2f5d7c87988043ba761ea44ff4e177e4e8f9329e260f315f82446ef9d97ca9051c359bdd896677a30cc3db8768e803f7b7c6dfe2a4de29e70a4d50c66707e6b807bdfabb12da2b5781b7090de4b66c0955a94b5c6ceb163698df9ec20f743c44034e5c1cae0228bc1759d54464518cd2bf42d20cf3c3945f4a993ff48475a9222c43efb852da6b6a4a8a9bffafe9ac617696410774b - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 16b69d00a86d279640650c38e3320eeab45fab0cab8472e509d7a95544cc8d68c0db962ad4024ff6c6f19c8f990911af2f5b3194dfa51b9fa4107a8b2612e360 -FixedInputDataByteLen = 51 -FixedInputData = f79e0701726fd404131b49e396bc721bc41f750b9667f531e09fea32010305f23a98e1b33d193b8ab42ed1b6c7cdc40f51f047 -KO = 7334958745537da20e8292b05aa23f8f639faf665234cf9b27cfb0927124d491d0619ffe3b2f0f6ae420cbbcea8b6cdcf42efdcbd75d8b52396da74622ccd538 - -COUNT=1 -L = 512 -KI = 9553b6e37a4db1b00f9422e4b70687c935d0ee76a424f2c228476f4f0aa874b73dbc16144235a7393255713ea9d7545c72d31a0502f400205e771991790013ab -FixedInputDataByteLen = 51 -FixedInputData = 62b094b0fe76b9f5861de14d9adb51f45097c99c755570a09a3d30409f79fdffe1ef72e8998a36c8b3c6fe144ff53bdaa06456 -KO = 11edf9028757eb5be867a714bc4193d4cca0d789b27e8727db3e19fc8cdf88e5a47deef8741fddcceaaeda6be22cb2cf7b3796009eea7c6dbf4dbc877106b47e - -COUNT=2 -L = 512 -KI = 4e3c23defbd9ca96e31b0912250f6c08e9210fed035e74e7734b982134a51128b47a57d287344975cd8cdb3cdecb2d9c39ac3ea5a6e440182a436fa18015e964 -FixedInputDataByteLen = 51 -FixedInputData = f3c7c4eb354293854044b26c9e783ffd49902814db0dce7b513166fab799ea1f954aae254e6af9761592521666997f719f27fb -KO = da3109b012d57493020a375a406157fd95cc692a5ac93e711228b55c8eea2eb3b69e4598a81db4240ec3e10dffc91123607b9423a1d38f090232504b63a4942b - -COUNT=3 -L = 512 -KI = 4800fb73fa91f5de884172c1ecd244b421ad62aba7eada0ecabfebf6f68a7984e3648bcf37c4fb413eebb34939b7bd0cb6836e0fb93776b0eb1c2e06936e0596 -FixedInputDataByteLen = 51 -FixedInputData = 21d47665302306327b1cc01002948ebfcb66178a164cf4e361696e4fb966916129253137772e6312d4085d1e2bd48c8c99da33 -KO = 1ab898a6745c87efebbe98c65553b4c78945aa4e2a5991dc148daa0dbcd563c654d61d5fd5e9e785edd2e15607d95360bf7271a35cdae913414c1eb8ba2be995 - -COUNT=4 -L = 512 -KI = fea1677648594a26cbec3f078f3fd640cab63f3f23d46d85357d35a4386f7007e5c20b5e67e2feb457784a4555aa2b63cd65cf0d0828b9217300c615992ed302 -FixedInputDataByteLen = 51 -FixedInputData = 25b6c48690332233f1b81cd60f01fc24eebd632522c6b4246d59399f8c86decbc7c3e8b7c23224cb75298fe90f933478107fce -KO = b8065256413e1f424d4be3f2be374b4ea318dd04a47c58e2ab47bc711489fdd1ca6a4fad94d08680924388972f8b7614ca6906ef1e76a54e81a647b6a96576ed - -COUNT=5 -L = 512 -KI = a6951284a88d6469e4ba9752c2b4fc6dff20bc5479f0dfe2f542c84362c5a8226cf7c8164041b87331c6eaa2d15a6393a6be33841416d91c8f0a0084009419d9 -FixedInputDataByteLen = 51 -FixedInputData = 047b8cd311e8befd6784bf48ff8993ee3cf3ecc127e304f4ef179f1e8b6386df8b78d340a8bd5684d426352de2a8a97dfed657 -KO = 5e6bbf94778ed32db09b959c3f9e0bb17c36840fd27d5ec98e6a8884493fd81ecff39c4f5b76c1133ba713136e898b65d152fafd81d8b9d0580090c37c039ef8 - -COUNT=6 -L = 512 -KI = a9bcc39002f9e1bc24de7d97bd057e37186f6f57407980e6fecb20d99669a5e3081686ed12d98c5c9544a1f3eebac4b317fbf43668678e7a6f5584230f1e1929 -FixedInputDataByteLen = 51 -FixedInputData = 23fe93e179ecb4e0cdb630e07510cf3c8c33b644ba6a90624ea53b840854ee8ffa6c03b4b7b6d9f50b2870449aecc1fd125cb1 -KO = a3ea87cd22607b8cc17d581345d744525b9aa69ba3ead843a388e238e9cf3ddc5897281470ef2617a48c2fd14a578ae7848f4b3d5ef74180699f9ddac415e631 - -COUNT=7 -L = 512 -KI = 124347132aa56b735674f6c458c6a3bab076c5d131343db71836a4594d0924c8f348f9e31c98cefc7a839ef6152331721e5b9ff2f85176bf8c3e882cfde71a94 -FixedInputDataByteLen = 51 -FixedInputData = ea320958bd27f05446e415074ecb6abcad9cab923b60608182053acff572cf9bfaf6e56b06c27d91b6dd50ba4001c4f5b8fb4e -KO = 5fac26559ef6500dd846cb8b7f7418b00d863b4a3609dc270251557dba213dadd484066b840041e3b06dbdb422e073b546b8cf57eee3a4473ccac137921273f6 - -COUNT=8 -L = 512 -KI = 5dedb45b290d15e929557c728827df13e47720406867b11825d7c92497eb0d058021b5fec1877fc7a5a5267877f29f1bd93dbb6c4f9a7f069f2b1a5cdf0ff841 -FixedInputDataByteLen = 51 -FixedInputData = c897960202a5f149dae16daa7f773eb6f278e7cb4ffe4553c5fc3b816a5430cc369c2befc70641059d06ff6291d6ea2ca0d8b4 -KO = 19f104c8d18ea81754e74d1dc60c14f554cf8870bf8f798d890b4451faadac1e3a7a64d796216a31eadf2bc7b45562bf81835d1aff12f90e44ac00247868be19 - -COUNT=9 -L = 512 -KI = f05cf851904fbda3aab7b67fde2228f7c2fb10a67f2dafced8de7607829588a8eee00394cc6184384751a7ec9c7249ed5b43c27e855d9f2f2ffff7240a515848 -FixedInputDataByteLen = 51 -FixedInputData = 99cf32a109c5ac718ed78d38440aa1687769734b60cff4c9f24001b148239e38c5dd2354311db420bef9ead9d7a058e12ae28f -KO = 40738b1e2b7868ff1ba871ab6f3832e3af1a38052656e939fd639204ae1b9ad9f41d38325b3b423b2d832f608d170dcb5e3187ef57a8d25e863e70b24a4bbc8c - -COUNT=10 -L = 2048 -KI = 25971bb6b2f6d785e206cde2e610e097eb1c902345b2cfaeab5063405dcbab037eea85c1dff1e76a381b5c846fbfa772bdef081f405a64804cb08361355e0782 -FixedInputDataByteLen = 51 -FixedInputData = f3c8f0601b8491345fb986531542e4b761f34ad50fb8fa197bff0acbfff5c7e6582a67461aa72f814b5036214ec020db6b2744 -KO = 982ceb267c2062e76e74deef221430b995cfd5de772c172879b82fdc465000f9100ea5ccb98b208d1242367aa8266ea4dee4e140f6770f21e279e61f469a04fbf0c9dad4eba828095358cd2bb7ceb4d14e116ec6dce5752cbdc1ea719f21f113ca19f25be18b0e01e3462970fae62c15d80949deeeb7a4e10f349deb203262c7dc9537633d3398f4c65d728edc611eb504f0d5a5f55fab5f76f9a8fc41fa1f3a91e988107d409a431ede769828139235cb5aad0ff07e5410217bc0a43c824eb833dbcee9ea021bf2bd23a064105b4e4450b04f4c4bb0d90e3b19b26589476e84322b8f30b096cac1e55bb8b26a0d77fb8d01d1cd490b1b8ffc49c8f245d1c3da - -COUNT=11 -L = 2048 -KI = 9ca75e137257f07569debdf2e5d05bf29b2ec6543e9ddfbab326a85fb3e7ba489a7401570b96aa5c12b690627162b5de1f5fdf19e5290b37e347f9132078b746 -FixedInputDataByteLen = 51 -FixedInputData = e743956c78a51028ced4c320aa30042e14a313594f4874f0a4076faaf1d07bb829fa3e3d35788f79d687a7b6b7e034c59fa750 -KO = 11b7a723557a25ac33fb4e68bb8b802dd526af2e06955c7bbcda90aa4d5a3b96ec996574c2263b3fa215a3bcc4d9984ed39f52e374bfcae7a370e591e14f8f564f6c87a2dd80d93a7b28d0d71cf071154790b8f50df61ca7b4578f8c8e1d26679c022230aad2ff4b211d30a8462bbb1f5625ef8b41e07bbc79bfee4fe51ed6360f2ff406abbbedab81562792723da50b496c382c514027b31a8b27fabf92a53a577b0a082c3e1d17f1b4fc7f9006dcd593c82f74232d710f302f21651d2591f875a1454763f7d072c94ded03d0a17c411598e7948735ff6d45e0b7dda3a020d272c4200468a63dbaa92a2ecb28d88cbf6c13434ecc5801479d77b6e7a150425b - -COUNT=12 -L = 2048 -KI = e7ea9f34f7bd8af2a6b75a81ccd1fb8af3ae91c20e29b0d200cf1d83599c204d6596d2942ce02bae74bfba9aa6852031892e241929e8e2cdfe1d638baae3e2cd -FixedInputDataByteLen = 51 -FixedInputData = 8aaee96bcf3d40d9b9a64ff4072650b9edc66ec59224fc28dba8221dde8bdfe771bfa06c3c13071c2689e651e6c49991df388e -KO = fb03e5d650c31572907466f9486bc7fb61e69514b9bb764d72439efe75009e0eab1b8eff7b4e8759a691712705e49c5dd376c7e201bea23a19268456c692a6b4f419d5bd43b25caabc76f97f1c3d242cc60592f3401cc9b434df04f634262e94be41ce552dce8cd4d905b5bfced035d2a2f6a47afc9fb2da542a643e52696297d26c9f976b5c6909f845fca9e816723bf3e4fbb3135d1924ebd756398b6c9eb8644c81dc6c71ebb2b69cb37a131e5c3c6ee3669735bb04f56ef00d45205481ed038d34fee99dce6d957dfef6906c19dd9eedbab8ce38c875489baf744fec924636ae4f9bef4ad021b94095094237be2a541f2186c02e99a32138148eec970df6 - -COUNT=13 -L = 2048 -KI = bdeb3d37115877efe15190a16e6328d238cbd5aee371a574163d16427ab7b4049bcf7c35f24d57d70038e05360b215a08277c883413978fb93d8670fd985e49d -FixedInputDataByteLen = 51 -FixedInputData = 59e97699230151918b570743ca59e776cb3bedaff24ff4828ef3845d92f97977b73817eac0b0d83f74ae844873255056d879e6 -KO = 6e171f9ecb2f95a13d3bcacd754f191e2d00221c2458d6132ca2db877cbdd13ea98908b3ebfc397caadc866c5d34a1bc0d2378d03602638ad0b71866c46a14df9474038ca9da37d5fc61164b6c1ea190e81b6d99fb7b67a4562210cc3b15b58ab040479505b2c9f670dc145a5a7de923fdd5b906d22d53177efab96f926f3986299eeeb70f40681e31e70acecc90cfbb4a9c37c2f16b1e91519e466ed956586ce3f999f1b2c4a3a66c2f6daefaf1d5af818aa5b2593df994da16016f9a4bd0bdf7af5fad93a5c1fbf6a6c6d3fa4fae3de6d040ef8a2b3f5c5568d7922a4a28f8e5669e278cced3d6caec5effff59204098546bab5f2973fbef4dd603e6d3ea29 - -COUNT=14 -L = 2048 -KI = 073fbb09cf571b2874a98697c9b09a0d5a4a9078c49e01b7c9cab01e8e9530eb38c681a07ba1d36378e1814e3958f5eb2a6b78f8f855cce593d669846ca7fd7a -FixedInputDataByteLen = 51 -FixedInputData = a0c95cfff21412098b1e12dcaaa8b9e7f870489550e5ecc8ffb2f80011cbbaaa8f0335076ae61d028241aebb40864df1256ff3 -KO = 68e361baa4dc0997157a497d9ff1a742311a334382adc8f97bc5e485fb9060b50345889bfcb83ad1d83d91b5bf0979ed5b868cd5fe51ab798b83b73ab80fb7baf8e597a3002aabb45bb636f792ed9599c01c319010e5a6baee60b28bfbe8ba5100f410e27273f7b7b0a3d8d2f7cf76903ed84357585ead5d3d3fd53244ad022f57bc14429b5b9f936e4da021d41084800ee5697c198c75da508a95c0dca329838f929aa423f6faa290efdff8bc9ec184d89d21e46bb39cbaf6e7768c5a2c860af405c0b52b245e494e93bf0cd26c7dd99e4ab50a8a5b6c25524595ad32aecf1a2850ea79cd2850723520914a0998d1daf91bfa4ce9e746fb1b59b2e35ae6a807 - -COUNT=15 -L = 2048 -KI = 111f5d86f37988d5e70262a865b0e49752b3ab89aa774d4ea2142dd4c4c307626427ff53066b029409cee0a674dda84ccf86fb648cd99a03648c6ff0098ebccb -FixedInputDataByteLen = 51 -FixedInputData = a80145bf16f8f5e22b2cfaf7675845a8662f6cef32e9097f7ebf2a126d6f8fa39ad5b5e95aef72dccd75aad680e57220aaf7fc -KO = 9f28c251417b21e5c9a7a63948e121b302f39a5ee65016e9f7137b958b37b9234f2e21d1de7e1ce459f938a39b45aef8aa19b7ff1ae36b812167cda29a3c945c9b109504779f4151bec8f35ad061f11d782258068f032c9d296c2ed19620766b1b7bf6ad2af7700d60c8539f1c6052478f34180b636d4b898c600bdf01a88efa20efaa74be8c28757dfefbcaeaa3fff763d2ebece750d3359c83997062962365f4e72932a07c85d8b144a07e00d693a954a659c497edad1085ef7337a2398769b0b02d8af54d65f23632e385840947298b1c6b6c774408d1ecc1124d7dc71bd91176281b1f0c253ecae75cd053647ee4af1c51a1e32a2b6ed84d6ec4d07e1b76 - -COUNT=16 -L = 2048 -KI = ab58dedb8504e9336cff348f095b21a763e03177118338046d2dad31e398ffe564712e559e2fe23d765ceb06ff8cc23d0a7247e6dd1a8c69ccc024a40eff678e -FixedInputDataByteLen = 51 -FixedInputData = 4174d8e97a1c37959064f8bcc26d9bbd6aefabc61bb6f9f0a2ec93c409446c4562ded248878b60c8e7d0c3d28641a42c1a5765 -KO = ec6b652088ae2c74349f74610fe53e120f8e45f0c020652fb351286e719f47b120f96e5d07af41e2602f2f8a081de5de772611a35ae482d1f75debb57062f7c5cd9357a77c30ab2fb9d8ee6f42e78e0bc3b843864c38e4999e6bbb206de84bce51f41f3e4aec76bd9a5a68d7ce466bcbdf49cf2864568b29e83fa9adf3e67a6a569f16b007ae6ac1935432ce2bb546cd47dffae6db8d0bcee787482ebb3643f50a3f695ea6b8861a730fc6b5f0c1396d2126c08c64b9a69c71cacee84ef3531c273fc3de53df02ecc0fb5d66c8f35ddd26c2cabf714212fad2093835e018200e73c6f24ee50ef7f1e057b1e52a6f6d84094bf9cc5b98ce9aeeb934071593eee5 - -COUNT=17 -L = 2048 -KI = b3bef161f89262a76208dfedde4c231912344ddf8e93146e25897e08184827efd8fdd60fcfa9536ca33cf3261edb3a910dcb5c3d3eb9954770a47162631e572e -FixedInputDataByteLen = 51 -FixedInputData = 9bb855bd86d8f81996f9a2173ab1129e104a7ea07e8419ced93c1f51540bbf0029e81e325b906bd998132f438aa0e55286c473 -KO = c9f6f89b5da6361945460bc66aadf40ece437178f604aa360410379a6ca4ef99754ef83fa5ae5e187cea549c4b0e122e854b5005fbf51b8616d5eadc9df3ee1b97fc2f59e587a7abc60dcf5045a164dcc57e0ad00dc0de31309153ea6e6bc0bb9f01a20c906c7ac304078890173634e2d7ecd0959ffdbf05a0f1e24ade95e8dbe778090fe08c3278a60d24b5feb2c8b9bfe169ad9cfb60039f2a96e9457f3eb7f90a083bc92a678b92676626de052661331f2fa5c9aac22b8e816be64e32c93c54a1f04e476667fe7fc83c29292d98e58ab1ecc2d856677f1159a5fd5686d86559dd36c29688b279a00cb01002f924fbf803ff6881afb07eb68ae2fdf5d40b81 - -COUNT=18 -L = 2048 -KI = 802ed2eebd0dce18431730da8c2752b4fe2fffd0e05714fa00fec34ee2b5709d410e126111800750ad9fdce522e686adbe6afc7206ae07648ca7edd1e9f8d94e -FixedInputDataByteLen = 51 -FixedInputData = 39dc8e796d2f568004282993a6063f9dce4dfc1559aa313d4acda6f6da02944b6d001b0efa6b8c0c8ae6eab248e77696f50074 -KO = 05e4efa1030dde78057c327509ed8145511f1e916005f1206866050350ae788d9e9ff05d0240ce449f65672ad5a5986e11d3565b901c43092c287247a391325db7d770cefcd3f732cda69f101568345addee0e6c3fb1f950784f110ff8dd4b345f3bec0096b5e2d4015cc52e141fcaeaea1ede45d4132526cc03941a6bb418f0768dbb3609c49397e828ba95266a3fe2de9c456dc1f8d5736b82cb01af4a07519be81a54501fe5ced86d11798c46a10ed35b7e624cf77b0e9a88428e1e51bf9602091873d8b4d62b0eab36a206e0c88891ac881eba85f2816c39841861075d369d6ddf71744433b4ff8d53d3fa17fcc9fd30d7df8c5aeb77a185091244a28bb6 - -COUNT=19 -L = 2048 -KI = 8f5d38d64069ca3f3ba0e0ef0dd3ec365cfdb65de2bafc67efc07da86033eea6f960813e3a84871945ed979a948c63d3427162759ddc482d1f0c79ebc01ba993 -FixedInputDataByteLen = 51 -FixedInputData = 38908ab7e24d0eee384d8c9b6b4b24843bdd3bc4abe826207342606827c2e7476bed4bade47c405925a6be14001f57ea24a49e -KO = fd4004a2bd76a9baad85eb8628b89cca098639abfca7784e4e1074d4a51d94495e7fb2ad3cbb320f0da79b86e6fe85d263fa1e0d67ae429a4a74372a15636afe4e62ddf76939e81eeb7cab1646461088698cb867e01585f42042cb757413f2cf32dee54e75ff489aa65876a87bf3ebdbf7f27be455540e6b862121e6978865fc69d7f0f916fc011ae6ae9ffe8c038a279e25c3a5fc246c4936b955badcf807c3e022167590c6602db43930d41b37318c5a1322b0277ef1c2a4ca62f64dcb563b6c034a3c89c6f5278df5fd308487c41bf0433f46da4045bf70afb66c2ab6911d9076b67178f633d7cf187fd57ba8b9588366425f23f5f92bce86a5a5363d2298 - -COUNT=20 -L = 560 -KI = 1abc29cc6db1d2ed6773d425c1afacd79fb5890b39836c7338d6de75700263b011e6b260d139d097128c69f95e56e5c89f8c8df19677acc0c4790a64c4ef46a6 -FixedInputDataByteLen = 51 -FixedInputData = 4a3266436788b305b29e3cc12bbbc0b7de9c15d3241a9373b3b19d73ac0d0edeaeb219c6f78dfb0c2940e648b09ce2f5281571 -KO = 74816a73bdb94d372d2448a32a0abd5646b7fec15094fbdafd8ebc610f22dc29510bb67f500ceda82f8c0374692e5e52e522f56bad0f02f5fb03aa0aed208645bef5548af820 - -COUNT=21 -L = 560 -KI = c99cf2f2a4c67f7b1a61f778f485c21c46db6d74c689b3f69ecefc92328e33009ae210c1ad855338cbece2dc541c2262dcac5f6ab656568cfb0662d56d4cd5c3 -FixedInputDataByteLen = 51 -FixedInputData = d2a92c258af232697322c537b22014b9965f1a5c1b3782b41c4a9890be2f4129dd53cdb08ad8841215ecff0efe4bc2554b8714 -KO = b46aff265d9d0a83feb07b4a1ec92910eaea246a69cba3d78ab8d43e90f8593167e9dcd30a42caebbc35741bcd25ee58110edc633d5bdff5ad8b47e53d60076b92aea8c23b0f - -COUNT=22 -L = 560 -KI = 340fa5a50bcba26fffc120d74357a634bcb96101dd54a22ae2000caef7949fb2df76c5653a02ff36d861ff9fd74bdc2c52a02a00952dfedd2bc908c7d7ed9559 -FixedInputDataByteLen = 51 -FixedInputData = 54fa8225db0f4df88b967f1de5c5f6e8f9e1ceeb69f7b814c82ccbe3685638c7ffd78490a9bf826fffb5561a9245dd0f177250 -KO = 80b7fdee2e465810168a90dcdb78c008789cc466a54c38fea09dc583c9354f5784a2d6855514ec1baf9afc23e188d3009fb744ec18d70622e823f96e8634cd0aa2ce85270972 - -COUNT=23 -L = 560 -KI = 6029406bc259740c8466fb5bd47a831a8d3c0b8c093f98c67e7048fe994aeafa9143b03fd736ade0a1f0c4c5d2fc85c38553500fde89d2f4c7eebe93af90b2d7 -FixedInputDataByteLen = 51 -FixedInputData = 5b8e4733ada73fc143651006728d848545c8cc5631cf54295ffac69f651228d132cfc9311d20bb037d697bc45f519a23afd46f -KO = a071d1f491ef7dda7d506bd560c5689a96957a1da9c39c1d1f291386a657c706161009ff725e05110ddde5b712ece472c147133f4ea4105bbb9a0285524623fe188aa725ca92 - -COUNT=24 -L = 560 -KI = 871ea11bd07413c5bdad52b2f9abc04b682c4bad16c7572cdfade425aca61bae141f7a108260d6421443335316d62c26e4111bc8bded933091d35b3c45f93c02 -FixedInputDataByteLen = 51 -FixedInputData = 9ca3ce5cfeae3b471fc2f456c1fa676dc754a188b30542f8de697a67eceaf4c7c27283c228a02896bc6949a4ddf0760759d114 -KO = b183e2f2f20d2070bb80f841ab9ce0d254192279285d1808b7e03024dceef3a56d761445f01980bab0319e70acb0f498d61e67d581cceb3b0b4b8506838466d5074b21cde1d7 - -COUNT=25 -L = 560 -KI = 896f07acc992993869f2ab7c8b559eb85c2f1b1c18c04a9c060a6a35769d8ee4352cc52b4b069082616ff6301c67401f12ab1126b35cc02f77cc5e598ef0b667 -FixedInputDataByteLen = 51 -FixedInputData = e3fb15d0c33403d16ac666616068bbad3d923c9910e62d1d86c17741f7e3c1fade2bf3659398542fa0d4edaa020023e3c5bcf9 -KO = 1cabe56dea98cbf0a6a377ecacc922934656239819d540cd17d9c3a02f2bc66c13093d23b02ce902aaa7334174481b001056a461131e6cea3e0fb0c16b2d060ad3dab9b9f86b - -COUNT=26 -L = 560 -KI = 23cfbf63077f8d2721c8950d4224ec6da6b41c70c743e6ba5064dc5b1094c18360fc7868e34f24685f2a499332c000fdbb6adf81a593d2f421c41738e2872f43 -FixedInputDataByteLen = 51 -FixedInputData = c2f8567f6e8ff353a7d5fdf9fddd23266cae6ee128ee55c3bdb5e945ddce91118be2f7cfab0acc646b9f5d0c4148376de751d7 -KO = fc7b2c91e05506cb0b50990c9ea0c3f2fca2f3cb512f6ec300e63c97e753605571a157770f720aa670f2c6b67d233b52ae4731edcb4e09b9e45ed1c397143f1783e8708ba437 - -COUNT=27 -L = 560 -KI = 8d41e3c588fbd33d54a44736c1ce83ede2522eb15edd1775af705fc616f51d178fcdfcfad8aaf8d7639f3baff22e0f8c5cbec6b1cba44e70c512692571c3f31a -FixedInputDataByteLen = 51 -FixedInputData = a4547c2177b2e046b24c27cfc493b921379bf2ec256a7357feb5eee1f726eaa60b81dfbb066c04713e80cda30f8388bebffbbb -KO = f6ca827b188760e711e046829dcb99c6e8e1a1af7ff5f7eb1dfe76212cffd8b27a297cf9ab524f0201a10ec3030c52f3f8e5cb53f4bd5470f92359e334a5333220e88c53d77d - -COUNT=28 -L = 560 -KI = f45684b5ecc755546a040ea0eff193720ee8785e436b320e94a7b72f830dfcea55b3e23346b6900f0a3424a3e07605d3a743a3ced28eb190afc6c05dac3d7ac1 -FixedInputDataByteLen = 51 -FixedInputData = f60cc09bd1dd83db6ea3c2af95b4aa69fc1cf0a74bc1864275350a74645c33f37ec1643aa54ad564ede412a0e40b33de3ca701 -KO = 91769a812858f871ddb6ed9c5bc682f0dda5d2cb8c971d54caa35e4ebe67e30a57a47785d9fe0bc2f91652312e80b3e5bba70b707fdb6b6a2052f4f0d1e732d54aafc930db77 - -COUNT=29 -L = 560 -KI = ffcd197e2a907915c8e65a6bfc8010ef810425a256003b348c9061c0782b3bf369ba237115031fabec7d983279f1fa01822e933cf4e0b5aac36bfb68f326d0e9 -FixedInputDataByteLen = 51 -FixedInputData = c84fc4de19fdb803d5b4af037320eb1964c52a4b87fbb928c7e377c628f86a904f2f88dbe4fe60dcb7c89a9693a333d5f950db -KO = 12b92cdd7ff31d337a1f8ed630965e19d8d16b2ceee6faf0a77d5effb30423c5e7cd20245920e217081747d543fa3d1aa63326db3e8e99df55b4258b8541a4701acd046ba2c4 - -COUNT=30 -L = 1600 -KI = fd907661d33dbeba81ee20490488a70a6cd21a98f026aede145f93769e268694445470378e187027ce3d8d9ba202c915ea6d683f05dfeffa8cb4ba989983d64d -FixedInputDataByteLen = 51 -FixedInputData = daaca5d67ed659b9c6455dffd553039ed3a31dd88f3a7625186626f7f02a3ab8b85786cd352347431992ae64bd0cc037ad32f7 -KO = 6a1fac89c948f47928692f1391fc3dc2cbd1c38ace71dcec4563c736ebc0e43a34d3743f1133236e60ab4b08c060f1e34db731b52dc50c60f9b5ff3efaa7133fff6b2bc04987cb7a17ed2e83bb45cdcb9af7dacf9446c2dc70f661e0dd6a76c3745d40e5e0603f8a7363b05e92a8628479f761115fd5bed4c3808e59c968bc3b780bf37945983a9745eddb63c7daad3504c06875e3576e07d0201c219aea57d80c4ed5925fc08fde2713f5cb4cd548d55222335acef7767718407899386e4983969fc703893dc061 - -COUNT=31 -L = 1600 -KI = f39cd02a529c64c0688dff87b6d753ba590949f0ef79828fb9f933cefff5890fd612eabf49fcafa08feee7d82a75c86f5497aff9cc5ba49d686b957da4aa16a3 -FixedInputDataByteLen = 51 -FixedInputData = 4f903107338e248cd7185512b725c872b2c5f921b01be4ae50b981c0103d876e6494ab1ec9694110cf5fe9edc80f5c3646c37f -KO = 551e340bc3f767bc8553284e51363dc6ddc0b6cd66e0107c12d4b5e3cbafae09b7886aebf404eb8e5b8ec6f54162857e3ea3f59321fa5114da1b8ffa1a93693306749f07a32ccc4e7cc4ac8002b3a8e26d16ac2b49535a629441d4287e57509a8a4f1f04e38db284c7e4a022777ce6cc8d66553a5a89cab965e134b88a7cc214952ba87fdccffe409020cd8479230b13341b1a048228905b41f5162fca005d7b74cebcb1d0c899e6c7fa99f13c89aa36634c10a1cab52393243c5ef916c875819a4e6e7d78cd7ca9 - -COUNT=32 -L = 1600 -KI = d0e03a7ac9893594537aabaeee17ab496503acc43503938d7cc5e2e46f67313c3dffa531e7868ebbad3676a9761a6b8241fe7e2ff9d026187a53852623f63af5 -FixedInputDataByteLen = 51 -FixedInputData = b3fafd1d2b5cf0216457513835b9fa5c76d63c8f6940b9eaddfaaf5f5504502b8631e24b3fe3859a08c84badc1b6d79b697197 -KO = f8baba4f620d865ba9be31fc16e23f3f4a858c917c6bcacaea7de01dae9f1d6bc38060785ee78f76f039995cc4b80ed75eab9f409598092704674f6aed1a1415fbcd5ebe9960447efc4c4ef590b5480b95367fc0505046137b2f642edb2446d0a2bd43ed6f2a37cf355ea90349574d81eb8704381d5bcd63cff4770a80cf193e63e38ad0e63edf608a7c57de346f35d808d56be6eb10337bb6b573af072b59f35c9f5c7504c40dcdd9e1b1dcc49e982b12e177b2f32a134600881681cb8f00b18187b100cdc27065 - -COUNT=33 -L = 1600 -KI = e846ecf749a455461f10e8c501aab7d77a9f247dbedf4c9bb90ae3a9f6ab631e6f3fc270b2da88f9ff166e8accfae7e7ec319bed7377e9af495326e8db5f2d4c -FixedInputDataByteLen = 51 -FixedInputData = 23fc25d284262d4a3d40d7456a413d89ceec36c05df1bff226ebe929166c48af72a760a730c4e2dd42f0ee27dc4bb6fa249033 -KO = d0830baaf5a08b9c624fbbfbc7b95d19a940f0e06eaa6ca42f8d3f2c7cebcda90ebd14184c3552a21690f5e7479db21eafefb3f919b70c7d6562bab4f60d9484abdb6f7286a1b191053929c66c04909fb14f40e1e04735861fdde4dccf7f2b1a8dd23a866c84228f174a8cd4e4377fb56aef183e96403297ed72b9c15062664cbc0356eab7cdf3c7f52bdf2e3d2e1ed7e3d905172169d91a811811b4316535a366b043891e49f4bcd6497927a9997daa735b227269c9c052ce7ac2adf5da7203ae655628079149fe - -COUNT=34 -L = 1600 -KI = 4346e9f9cb3ccb2a60717128eefb8fcf79b2a18a1deba46a30bdce3ff60cca968a78948f80608b501415ffd14c14cd1443234bd38ae33665761f789fcc2ab26d -FixedInputDataByteLen = 51 -FixedInputData = 73333b3307195c6c1c8251004f64dfba47cfab59047ecca37da8dcb03bafdb61c1c5c5f94130cdbb17bd32fedad718ed5075e8 -KO = 9e244a560f701661d06ac9d1ba6ea0f5cc909b5f1e39401bbd4f59cfaee0bb467513dfa2075f80386b14b83a76a112ab0ec6ea052964dc8c5f4f760605c1121ec0f39188a1cb04534261fc83e3e69b7f80f21d5a6db51cd520da006004ae1dcae41307aa1982c913d2cbdbbbf75667d068badeea01a07d32b3733ac7e96fdfb88861336d0ac55cf8d208320b93fadd71a1fba56dd288d0d14011afb00858b63120283bd8635dcce690f9182c3d790f69abc27a93afb282251b333ea7c1e016e04c057c094eb7b090 - -COUNT=35 -L = 1600 -KI = 8eaadcc60b22e5209351f9823de6c4b6ef249e8b561a19b0fc17c68340e37e260a1b58901a4f68faf6d6b0177cc547316d702dc2479f2032535221d076125865 -FixedInputDataByteLen = 51 -FixedInputData = 2c8cce242b7133c612f6ff1e6fe718e118dcac0feb40762febfc8e97a79a79e7c76249cf2776a882faebdcff44648ded8a4630 -KO = 107efabae0eddd00701d74f59b94c2d960b2b32da53a3c4cbb6a5df2f8f8581fd90a34f795a902e56c0fe5a5f6f62f9135ac70eb324ebcbf5ac15f843578dde70cc98fffcf38fc3147554ec55babd51469478f73e72c18da4b4e6750300242f61c65bcaa5770391ac327f42c386f7c4b36bc0a2a3d746f76c530e4221f14a6b331b782d4605689be0bb3ec4c89b4e6670c97d56e72c0f08e4fe511ecb3f8e4bf2d7cb16d4b12dbe1a2a258bc697b73b739e68e9c2e9abbda14d9660cd36338599d2dfb8b5e90cf02 - -COUNT=36 -L = 1600 -KI = 30a6e495c6a718fd12a576fa6a70001a42fe4e883138f6d335328585ef32160502ea55535fa9cf6fa5fdd1c6b766d67b020006947e095694d5190384887a3d42 -FixedInputDataByteLen = 51 -FixedInputData = 62d1c8b44991b09b0cbb17747cf489b0f0689224ed82ce61ec93c18d50a47a7998c2b7ba05e9ac83989a504ae52043716aba9e -KO = d99462cdb1d2b88b72698a810f85291e5357a20440399c2e94bbd3238c9918f3a1b75b989bd78bce561451e9506f12074a2812ccf05e35ed274905ad0fe44354367bc5ed4362fe3dc7b0376c990a076494e3fd3fbf1bb1f6d402523515106a44cb2548365f9e366a42657c654099c577a48c2c539e3d237bf8d3a7bf57496e98b3ffaf6079c476de195983d7e8901ee3bd7c89208433545091bed9506a54cef68d3e5614b1592f3fa69b330dec4f29c95f645ffb546591bddfa00d5fb2f3b0e8ffc77c907f568458 - -COUNT=37 -L = 1600 -KI = a8b5fa7ddc86741697bcf769481c50b53138fefa52f6a86e82562ad039f3fd3a6f5e13335c3f10d668a198f2c74bbbe1940e0629380cfc96e14a66f76d841056 -FixedInputDataByteLen = 51 -FixedInputData = 544fc6c1455678428c588c4e8e9671ec1d88ac51e101663db1d96effaa3ce3522daea4d4d4ddc2025302a6c47da82c9ad694b8 -KO = f20340ea2604d96df8f7515b1fc32124d05656837c3164b2c814960f4c3b9b1c07ff2a1ab2c640ccb7acf81e155c14bfabea6fc03b94aa2800ff10964543872638af7b4745297ce674b4831a1d4c3cc5b51256199e0104af897c672593c231cdc86e42eb2775f10993092665e634aebf709696a926eedd2147f81414f2560f9f156644e4de8c48c11a608c25f2e512a3671915be9377c06ded61743c7170f960dc4cfb4cfc9305e2156cdf014286c9f9cc728814f5939f410b0c1bd181f138c3c06cab24a7433ec6 - -COUNT=38 -L = 1600 -KI = e668621c13281812eb41453c8fe265a7a505127174b6e675f4aebba132a5251ce3ac688caef62e7b66c0d1a2ce1e2633317b189cfb9aca16321d96ce3f9c74b2 -FixedInputDataByteLen = 51 -FixedInputData = 6fba9fea4f59e97815b4cd74293d2f86b6551800ba53b015183938d8bb4a3304c1f478a6b85ae41b2d89bf523b0f5ec95b2704 -KO = 595251259e88fcaecd155acb394b0d175898621c6f382c357ea73d96a12307a8dad425b4f321ff1f9cbafb29a11a9a3e307ec1f9584833d403bc30b6c257f5799271c4d13b05b446b6ce6d73512d91a808f1cde964ef86dee164cee5314369d7ef2fd95e32c3314183763f9b5da28ca0ada41499701a0af4a132a023e7e45b646075df6915ff89f82c610ebf10026a6bdcdd52a2911dd2adec748cd3c0ee101610cfeab12b1e40878cbcc73f74b0e98c0403e4ef2c7ca526329509e00a6b484da95671cf551e9113 - -COUNT=39 -L = 1600 -KI = 7a83da16c8be19537cd6c80121a5cd36a9a74b056384b015e65c34054e19c7e3a128964de312fb9d313707e22d9738fd62850b86236ba4bbc84384b364f04958 -FixedInputDataByteLen = 51 -FixedInputData = c157ec46e55201df724b3aae6301a687f3ef52a28599e8857046b3c96a5f309bef7993b8246398841c8adcd36292613088baea -KO = a96a1ca2636cf00909f4b610cd6e7af3f709d32d5fd9f30d80a0cf6a475a3e56b05ed28c44a8054a7082588cafe0950a1ad5db314223a58798c521ef89dfd543240c1e659cfe261a5be0da75266eea005c81e6cdf7213b6a99c5acb8e9751b6250db8321c50248e283afb49d561b32c204a1874f77bb19ee3374bb9928a225ad04842a070207a11e4bd76beaed293cc194ed1d0f6035c5742232edb50d736123f812a32cdb03348340571a5d30bef914ce3cb72ab3d1d161a48a89ef37fa6a1025bddf894b7cddd3 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 873bd59878ef1361ac18313d36449f83d8c2e45630dad0c3987ed0917e0ae30f805859a5fc1b2ac174c0414a7ad6a4f1d63631bc55b7ae23dd9c6a6f41577475 -FixedInputDataByteLen = 51 -FixedInputData = 32c469b0937203bfc7a950f3a13255f7ac44485458cbabf4eca4c3abee7e1954961948c79eea476cc092eafe3848b46631f3cf -KO = 958232190d0aab47cc1d23e68ee69cc8d0e39c9138d037a0410baf6fa1eb926e52969d9c213875f7fecba260c3fcaf6f37a524dd698268b7dca2410dcd699e9b - -COUNT=1 -L = 512 -KI = ceab6806b882ba0168d48c590d47246eadb6d9d3109fb935cfe3d8f4bf04c1ef9d7609e31dc6550b492f87cf2375d99122c60246f02f689e17e0d554469cfb50 -FixedInputDataByteLen = 51 -FixedInputData = 3233d7839a79b93681ddea0826ea0904f7371dbad24221736ab7dd79c04bed80289efc216e1663fd088951ac1412d1f4f0fedb -KO = e8539552334981ecfff7d1070b0c14c39b0d0b3bfa0629de6b83652e25fe5c60ebecb5d8f66c896280028433ea9c4ba281d3b720185e315c18034f5af376359b - -COUNT=2 -L = 512 -KI = a740379d9792060932acc27ed35d49819ff8458ddb73cb6d0bf3678f0402fbbcb2ac4539c95d11e2e79b3ee5e97da144cfce29308bb6a284358bcd8cbd916a97 -FixedInputDataByteLen = 51 -FixedInputData = 113fb26cb180b708adc76fb1c955d4a8c46a32cb86cd562b6aa5c60bf0f9ab046b91b9c55ce516d391fcdcc31e4b6120e7dc22 -KO = ef8df68b0ff9dfbc17c44b8bb52080303dde4852e6b2bf11fa44ca8bdf3987c5900377166d1937d601f3e40b7b2ab321dc26521e17fb5fb8a145ed259a67b046 - -COUNT=3 -L = 512 -KI = b4b9d961fe977f2a194415e1e2e1c9401fc6897926a4962c2be10a0a220eb32b8aed1973a34edd64d48a7ac917dc30315d399c03bda09c6ab513851549a6dbae -FixedInputDataByteLen = 51 -FixedInputData = 21b4e4fac36c62cef5ff0edfd5cdc67610211904cf5ae2aa5d210679da5c357b096b5f2c4f78b443b1943a656ae0a544f2f9f3 -KO = 54f1bbb4e7f3dc286ec3906f835663931abd96c714baac6552e6ecdeff23e4b17710849cf312d552e833f5ce063f61f1fc9dd7e967e4b22dc1e26700ae129a4f - -COUNT=4 -L = 512 -KI = 1ad92f4b72d5be82d729e6b99e177a1f7f1bf47e5542fbbd94b5e3f456cac7fcba14c4a9b5cd5b5a3690bc130d98f38065e16b7e2bbce18f6cb6748e649f95fb -FixedInputDataByteLen = 51 -FixedInputData = 877c32c2b21aef8267cc4d8ce01c8df0371c3872290e82fdeb2319da24a48c3485b3a987e0367abd5a0208d1e964cbf67ae0fe -KO = f16fa05eaec8c749815937b08bf62120de7c161efcc53cb4e5b6fabc19324d40ddc42a1d3e9375bb520d287804e8ce0655d9ee42f8f0564027cd6dcc90022299 - -COUNT=5 -L = 512 -KI = edda073306af1bececb9eed7129724576dc6fa564be5f2a56d638a56911015a7f8c7714dc6ed664770fa51548b0bddb447d8502030624b74df90a74064b23ebf -FixedInputDataByteLen = 51 -FixedInputData = 914c270b83b910c95c28d157dc6f62595a01ef11e945820cd801b06f8c90561bfc5143d3d67964cb63b9088b631bfacdda38e2 -KO = 86624635443feccada70ac4c7e220196f5beeb7799cd9fe170163cea020c93f63df90fdbf542ca5d43c6cc302497c6749f0835eb4f951330669c21c0d3805c0c - -COUNT=6 -L = 512 -KI = 5972384920f71a6e08ce8e5f237126277a8381eab0d6277434de31be4e8982fd3df8c20129da72886e1391c811da317b217491c7fb90b608aa81ec99c87a7f3c -FixedInputDataByteLen = 51 -FixedInputData = 1bdea2ffccba8b5c04e42e9f1e6b440ce83b861c00e3cb47b4956864ded413ec13cc240baa252454d75a6effd71a872c769710 -KO = 453cebf89f15725833af818c5c40d43ac0fcec3ecbb4f90f833fe3040c304980a0aa2e37f8f7c482eb8e0c17d68f0f13ce9a0b14cd93c4961e7abde818d8fff7 - -COUNT=7 -L = 512 -KI = 78e2f52eacea41bcaddcfb9ed2da672aa9433ed5385043755536b1cd3501fbf6dc266484df457290da05fdfb8df531044c0ff7ec9244a1948c99e229e7401035 -FixedInputDataByteLen = 51 -FixedInputData = 73a79ae5f15ef2f158c0781d1c6ce52d0a732d1f465930d9749754046646cb95bd9f8f475afcdd59ea86f55f5cfc5b44025e87 -KO = 45d48e1bf2019fec1730039527ca0d5f1baa28402194de0416be8bdd5a1d85616449ed2e4f2353b2fcfdeb7e69d1dee5623195f49072640923fc9361dc81d7a3 - -COUNT=8 -L = 512 -KI = 06f52610b78f5ae37d2abc14c4995892ba9164ba265d94dd2c8fdb8d207c71329c08d01e59eddbd1942ef697190e6e9bdb48c6341facb274c0cfffe8e3f04395 -FixedInputDataByteLen = 51 -FixedInputData = c4effd43cad581bc85812041191f909c3809e56c6a0f2e590c0b88359320523f11849f2fa0d20f37b60ee171bd14fe811b42de -KO = 85a0a968ea369ed865566f65198417638c111ec06f33237353884fa3134e589b7d64e19649f72a9a3d706d14f02ad580bd2bf0242e1a041b221f016548642b3a - -COUNT=9 -L = 512 -KI = 9f6994590557ae2ca5de7d469d825aafc3d113857fa451afa93b2e8d90641d8180d6a0971d15f586838d8968ba0f8f1cb3cb873685cd1eb1d9035cbfeeccfb3e -FixedInputDataByteLen = 51 -FixedInputData = 1c9dd38dc026fd7fd61a2580fe96ffd02320918421817ec7be4c433993814754568b4fa192404818e7cf74b384a412290a1323 -KO = 66c9a82b983dbdc824f58aede402168e9622e83ce35360c116bff1a6b629cc5419815e1f15cfbed0d506b1bc4c14ca6bbce0104e4bf43292dae5349f6fa91441 - -COUNT=10 -L = 2048 -KI = 3d86ecbfd34d3f133dc4c1621f786e40a138df4c902f52c3fb8271c8ed6892ab395ed4cee6a2d0f4cca4c1e4e9a12173101ddcd7972ac5da6164206744e126c9 -FixedInputDataByteLen = 51 -FixedInputData = 514dfc6aeba878993a1c3f17f9da9ae1bc2a1f5a0cdf052b28ad1d6470d3c7d35a2150fdd1f2099c0cfc976a5c9e7d8cde4e11 -KO = bac788ab652e07f6d9fbe3b6afdc3ae29b9bdf4e447d0bfbb6c93adff158f7901c4c04b08052a2a57dd3baf7ade7be2fb43461fcfbcb235abc31115ffca21b2a239d974b5d068a8fe9ab42136ef24c3ed8b8063215660d3242880d4221c0c7beaa8c8aff1ab674803f4a0f6716221150263faaecdfed26c177fd7e5ad8d8662ca870fd984755b92b5ff323c402029d6385d7ba8fd3f1fa0162401b6717b1e33c8a72d929abd308c1652190afa753cac181b1df80a1ad1c21fcfcbf9732c70c251412d7b09a916e2e91c7241afed0bd57f0b210e25a6b912fa040763d467fc659d040afebb7df5f5c4cce9a7afce686cff83258df4d74c5d8c11039cceb6436c5 - -COUNT=11 -L = 2048 -KI = ee6a336f6103119edf35c69a38f43448d15f9c3ffd139856e0b207fd83a82238312dc586e1b1f9fa40b7050e5f4c791297b100d65c999805d18629319f6df58a -FixedInputDataByteLen = 51 -FixedInputData = 97188f07afc2cdd62f7f9c3b2ffcce2719d75c64e1b6dcd115debdb5043d38f749bdf21435d2de3b522d761a67774423826210 -KO = c68b3f68ce7b939b0f00b53447de1f7ade13f18e71030ce8cb01bfdca90529c79001fffc6be96f2f35537b3e4688a98f1372576099ed63a727ce11fe3ca82cedfd3820394c623bd05c661a168038b3adf862d1664c686f872fa7c63e6eed2d0b5779990c5f5c8b6ad43f6d03d80500e1ea1f328aeab9baf3837ab339530ba7adc6654846babd1def42412404e1b8b0133a7b5ba086b3012b4cfffef2a1a9f2af71457dae7262d05c8262dd4d7f11e904249ee94b79599cdbd21febd5c643f3842eac051a7d5c242c5439c37aaa8d4eb23b71e936939947671fbbb9a0f7113080bbcf11b4c22790e4ef6ff3e4c11417b2b2de86ee2d4b5c995b35ba0a2bffaf52 - -COUNT=12 -L = 2048 -KI = 816d76030af95ca6a45a83dba4a009e6205918f0ebe8029696f861d179069f7c53e958eb9ebfd3d22771c0dadc015a9d0557535df0699f8bdb059be9c499447d -FixedInputDataByteLen = 51 -FixedInputData = 80553159ca88e889e2fec055a41e6911f4a7ccb9856009e1337facfd4a6fe5808d37c3264bf916bdda16f9828524434b28d014 -KO = 60eff2d93130826973067466e6cf40251f87d432d83674dd7218d5f53ff0207f311702ed25c7bd34a90fd19120b5adc6f776953da5c1594a7ec719e80b7555ebce14f907ddf1f09ef2226e78707d8670907e54ecfbfad1b2ea1eaf06caf48aba35a1c34af3a5bddfb50c9b6d6a834797645ccaa2e18eb309a0db31472e2b42122f7b03e895db14c4b83990f82e3a228297eee44b92a427091d2d0c521276e6a681e7f0f794700d2c7bcde97ae2d50bc75445f662dc5206c8a818b582767c68a274e97b64e070eb95e3a1144d27ecdb64f6300765e0b1a52ef52b75092d6f79114beaf145f073c9a6d9130efb5b5c1d678e3bfbae3ce65474176d877c4a9ec0b9 - -COUNT=13 -L = 2048 -KI = c7b52056628d87bf250548b0d5cfc88104c458ed7b7c99b754b0cc309b96bbf13497b7593592f4c97c01fe8c52afcbceca37d49a5e0c598cfbe42717580bac6d -FixedInputDataByteLen = 51 -FixedInputData = 1531498e0055785a66a9226259058b0832f5073ff0b3ec9451a841b49eb30ec2cbb54aac09c289de5d9f9824ea3b2f42fdf865 -KO = 11f76b3b29fcc51ac732563187b978bbd2918e2ca6e8518c429a1681d52b0fa3d80f6e6a3b8ec7630930c1060d04156fb3387a685db3c1cdff7aa5409a84a55be09fde40a37944c905698f681a953f13fe66b25ec3bd6589c2d8d8b2c2902df43b378d8caf55932326ee17367bbfdb933203dd6b18634dc4d04e951a072d752533f7e8d23b49d780d7245fa83f4af3b0874ad466fe168e2b69ba4f2211f641c126c8db384fb2459cb8af836750f6ba86ff08ffa5c92820699747e801b90ff0400de29fd80d9ae0b9f5f7adc7d4894cb7c1ce772d766f7b108ed2d189d09253d0b752179d1c0972375edb93949d8243c0a7942b75b8cb9ae0b675889cb76db5cd - -COUNT=14 -L = 2048 -KI = d81afde63009d277c1c570c44e4fb7a4af4a1b295392cc5d5b6df1646c170ed5232f03e032bb06eb563bedbb53bfa87d7b58cfc964e2fa6e72db7af232146774 -FixedInputDataByteLen = 51 -FixedInputData = 9eb3f1dfda32f654ab53f729ca8fcfa7f274d8c25fe5180dc84b51ba4149a1d1cc8f89e6d2221f26cf74366fe77d843787b73b -KO = 051b45d2e176a69e44eb26735f07b67dae33a51ae4823d3bafe42c980c209b686ef4d684a1a7851c6e8e9dacd0caffec9fd399359a21f84748e7b3deab9e4ea5c0ef8c07cd5ea734a045d28802a1fbd682fd893b9522a273e2bd8c10e73aef802a32ae597a8df340778d9f4df7ba99b56ec59aab92735e941d6926d65c4e07f89d215499c2b6816cc0307c748e943b525c7c37b469b351d864f8cf8d8f53319bf4743bb3837120e1fe46050bad5d11d28241381eec0356f3cb120093d7c650417ab33f6ede3f6d0850ecb57278f37995ee5e8b6774ce38e84cbeecf2d39c50140540a3e786c6751c3f78836ca6336ab9673275359b9ceabdbd9077a79b9307f7 - -COUNT=15 -L = 2048 -KI = 2b6c4d5e28180175a32a6e4f5c5cc16e59480363892380023c111a4cb8fb956956bdfc29c20d6f2f0ade65fb6d6202df4a37a0792f354b2ac1a0152d592b1381 -FixedInputDataByteLen = 51 -FixedInputData = 628d64d9421fb44deac61b4a245ecb14273b8ad68a17bb00f53e9772537b2e3fab191bc88ee738757bbd8ead16e17531179f96 -KO = 8dbdbf5ac2e17b6a7f53e3db335734c1b260e423a36f2bbbd131793c6cf2875e62e23539ed6169b851b37bc8a7941814b2e82f183fc1a680adfbae7f4d735b6a44e462cc797a3738e510b37b5d6829267663e90654c6aada816e2d4a2dfd099c46e26fa2a93298a461f6462e2e73aeaf3b0d49eff86572bef6d6999748ce78ecd52b114aa6decb51c26b5453848cd442135773163a4c45cf024ddff346bb77081b7bf657eb5c973b8cd28703771f97ce3328fdea272aad65db7a65451299c2425d18a1538d020bde0bce77bb27ac79179e48616447b9d7d84392b0ee4c8d06a9808f08d9b414a5e747249de561af1321622e0eff18e9f71d1a4b7f30be87a631 - -COUNT=16 -L = 2048 -KI = 7ed6cf2a6ce00aab71929dc49416298474ef5ad7db1fb216302cae0ce7f1c258f15bb1688efc60a76718557288e4b6f9742bb86b9815778b89f6fc0039589ded -FixedInputDataByteLen = 51 -FixedInputData = b7a3cb519c3e1ceea2ebb1c9e4ce407c01ee255351da7ba3923349228ecdc8fdbbed22c3e2ecf4e5aae503c74af03e7fd72d65 -KO = c6d21b4b84ecabde6557770dafe351be0538266e40878e78b23d6399fb0f321cb317d9678180a53119d88267b62d5260f11987c57335b6656551f9947e191f185e2ce12d2965a30b2ce3f0d5c5d3c5a9aa5e29c2496963f369d19071954d246d830ddde16453754b8d400d374a0e4ba50ab433ddb153e9e91c2d4927857f6e1e1543215940acffde6250542edc51cc74e210ce48491d603224d02df467d416443a064b9d901a5d61fdb07b524fe6e393e6d025e49483b8370261f82b6de964d8ab3a089be98660322594a5b4789ccdaead3a2f813cb0f3a1d0d0a26a3a6d647b89e10fa37c867265cd265bce09d48f2a6a62f84ec5aa44610cf8770de1aab22f - -COUNT=17 -L = 2048 -KI = d13ca3d2ab3ba198e506426beee33580679ce72c92d795427dced9556c5973c546fc086e2913dac77763c75e97458fe4b74e729974ab9b19481f0bd808b6d4d9 -FixedInputDataByteLen = 51 -FixedInputData = 9104c1b9bc7e0644a64122034d81f4138aec69efa7d8a8879977497904f8eeb32dedaabc1176db47cb693f4c4d8a3645356656 -KO = d6212950b55ce5b9e031db3cd1cefa8ef8431953c499022ca422fbb680541ef1c1ed9437e981cca5c7c5123199b41c71e5bf663c97a5f26a91abfe4c550cc5f35d9c0ac39b446fbc0ab49647383e645bd0f804e9a5c700b300e99571acf4ffa67bbf620ad3b1fad61193c2d47859db559f7c6e494233f1f519477b92b6d8430ce76cfffd866573bb8b796a0d8f1f4bbbd8e3753a4e05716a969e854e7df8dcbef7f4eee7b50c745afa41e3fbffa502de8b99abd2f1f3d1bd18728e36b17f8445dba55f25d211c181c43a1e10a779e7cdd39eb688ada842d4202608627e6d1c22604c2b011870374b406c6c506d69dda0f6402289e3bec1248e6af6560345261a - -COUNT=18 -L = 2048 -KI = 856b6d01e489c9a630fec42c17bb4767bbd7384553cbc98f109511ca91b9a427ca6331aecc4a54f36f1c16e6522f73f51727725e785ebc1a99abab9295aa02b1 -FixedInputDataByteLen = 51 -FixedInputData = e891ca742e71399cb59092d3c6a5e2ae6e8450147318a2a4c16bc8d2b98e693e2431f0c4ff4bbe70d8752dd2bd4906a69bc5f7 -KO = 7d6ffd18ee947c44a186c34366cc256885b01849e780a01f447f303ce5d145a9adf59535a430894af573f00e82c43165ad8dc99e026296b143e9eabc03e6ff9fe1307e12846985078b09eccabd021b310407ec210e3c533670785f72d56c4010d04f48b7d8e00818ade322f65b5ae4c184c9f93cc89da66d7a8e5cd7f7246d379314386f4a816611cf9ccff72a2d56769b26861d7fc04007d7373a3a4330f138ffa06442a84a82845f7f9df3b2e39531995ea957d0340d0e55c918b29cb14216a461025c6bedea76e982168fa2e08e2cd5f4c91094a88ffa8fe40f0cd35e60bffc7091846c233bf2520663fae52adc1b55f58ee3dec2e7b4fd9a3eea1dd23ae8 - -COUNT=19 -L = 2048 -KI = c45aec56ca731a3324e2c321c0ce2df4d0977d3ba15a70219459f14af9ed9677cc4c36400baf7105ef4a7d20032fdc83d53d575929afeceaf05169851092bcae -FixedInputDataByteLen = 51 -FixedInputData = 3cba6cc8d43611911a57dcdd44dc72a071aa30d564025e0efde5b089026e1e18e8198e9a22e54d0d42f921296eb6be71153e01 -KO = 28b8d2bb2c2eebd98fc6697d33c07143839ea409d225e3d540545d3ae1953ae5a73460bc2c00c05bf07556dd81b265fcfdad1a8a0fb05a4a56d952c3ebbf26f1ee9c995c3cd51ce060aa3fdfca35801d127a8aa36e090bc2231097f2e7284d76dbdb71d494c2df91a0dacf06caf01413d91bfc8067ea780ee4868cc1205cd885bb9e083aabb4ec5c11266466eccc371a5b7dbded2cb4d1d051d0149beac5859cf2af04456baf0a991313df93563d471aaed6974d1a608a30c6c9301664f65cc89c0da396221b1ed140773737e3299138807d6ff226e0fe5a547d75ae76edd66f2c4eddefda5739546b48c0fbb4911fe8c53ce9ea15e6461389f88697a520c16a - -COUNT=20 -L = 560 -KI = 66638036d83d2a2ea6a1b467baaad044b12bbdce03c481d44aec37b483365cb95bae3f315250579450c08708ad2320562af441e2dc1e097717fc396222dbd4e0 -FixedInputDataByteLen = 51 -FixedInputData = d4b8aa3d52f0c2bdd2776eca4b068ee714102f2c2e0c5d86ff02ecb12619c315dff315a6c59ab1e3c040954bc646ccb8a33c5c -KO = a375445abd183fb118ac27d3920776bd613ab11baaf2c04ccacd62c32e9f9273e31749c3d2c431c6c549167083281451ba71b593da087af39b93cc36f3814c56505bfdf9e061 - -COUNT=21 -L = 560 -KI = db53418efb72f03c9ab998cac9f94add568c2da7ed15ce92951b854b8f405029ad8c033ce48b30773931c38f7ae165032dd1eab4813ac4f51035ef18c49bade3 -FixedInputDataByteLen = 51 -FixedInputData = 73c8511d3bf26d2ae2da0bd955415688631b87ecf0038da71e216b15109835a71944c3398dc606ce3a7f259e0b8e7914ffd54c -KO = 601025f5e728319f0a0fc24e44ccd549c55217e2078d18aa77b0d4e1c5e2de267c52b7a4e9b65d27db85c8649a1b27e66b0bb0e15a7c526bc13ffff1615380fbc11f8af45134 - -COUNT=22 -L = 560 -KI = 50d63d69d5526acebb5879637d2da4cae38cacf0a99cae852b2dbbde78ec9a3dc61ca08601ef0e9ec8946adbc82e60127fb15619070fe0cd9ad9ac1b8f0d7eb9 -FixedInputDataByteLen = 51 -FixedInputData = de6fad6032cb47d9cc247ce2ae0a65582f8486e584acfb7ac66ce1c4513da6911b193fef1164ba315902a941d3301e3c9a9871 -KO = 6b7b9c0b759e7369afa4d03f0285965c900e107f29d85ee55be94ee1b932945bd62adb0909a145cec1cdf1b05420c17ab6c2eee58ad4368c56a456f4691f51102612d0e237f0 - -COUNT=23 -L = 560 -KI = 7f99ce09a8ca1ea54a0a7eccd86067bc6f0857224650454078c4d5d8aa87ecae38333e0c02243ac32b9666bf8e0b72a857b06a12b7a47fe966c1fc868447779c -FixedInputDataByteLen = 51 -FixedInputData = 86f2191b0921a0d949c4ed45eb67b711c7164abf69f42f133c7c6a10e5f462b76c5ba69cfd39c6b836b5336ee8185406fe4f83 -KO = c0ae5a933c801cd4f3905e2c72f4ee91f48205d051fa6b57bd50499d60fd7ddaf7e4f36f06248282c3834ac9fbe300137817425ca1c68e6cae0b99acd0ece77572525c542049 - -COUNT=24 -L = 560 -KI = addb747d47673e4a435b26b4189d97e973ed8e8dfb2eb317841db9fd78c4f674b6e87bd16767d92b74370e0cfaf4a0a3cfd21b1d1e92bbd80d909ff853c81933 -FixedInputDataByteLen = 51 -FixedInputData = 1bbdb8bf886d535eeefa3e29263dfbfcf188e553facefc962ee28021950ed562718b0234510b126381c3117070247b6fd92d62 -KO = 56a12a99a7a56f3cd07e73c8659c0e299bbc842c64b218b26a47d7465868e0afb738407d483b64f12fe4eee33d0bb7f22ceff2343bd0374ad85cd3dd482af8ad3d046a77715a - -COUNT=25 -L = 560 -KI = 1656419112b7b851542008debd98212b77549e602fa9c43767fed0fcf637ad30742e7d2d728fd95ce10ac5e80f3f19d0123efcdd795594b6b11fa9142d4c1e37 -FixedInputDataByteLen = 51 -FixedInputData = 11694b79e38e3b28d6f05c9267a46196a46c6fde2e9c66c0ed864c509e50f132a277eb25e6fdcf745a01343a7a90e6467c50fa -KO = f5df835a800f1b3625991866e5eac79c2a3dc77e92f8cc55f0e7a42aa9afc07ac766aad5d83f256fcbf2486f33bce4a25046127b3ef4e16e6c285864b381de256eae62b47335 - -COUNT=26 -L = 560 -KI = 58bfd7468527b2b3ab51c79ea3fa6724e45cba497255ef469b2e51f889fd286fa066466123d656f8c8c8e0ec1e16a67c8f21a3120098dedbdf88b628f06db164 -FixedInputDataByteLen = 51 -FixedInputData = 6f32e6bc55843000bba7644b71f744eeb4051343ca2c574c42565766973702fb865c9cfa7f19d6deb8cbe24684b39143a15a82 -KO = b8315081ebd475d75e5dce464038347383280eb0b81a9526d29c24bb7f5af33bdd8c0a8ebbab7d003b102a720482c95f1fe9e8dcd4598bbb9ea7aa7e6e2edc459068ee3d428f - -COUNT=27 -L = 560 -KI = 0d7870f3fc8629b9523c243db2409f642ebb719a0413b8aef8b253df0baeb32bde9e061f1129f62a2e4b7f2e41fc006af9a2c65bda05ed5863ddad93bdfa160b -FixedInputDataByteLen = 51 -FixedInputData = 195311eb8077ee4b0f7dd4af6ff97ec296177bdfa0b67c5fad1899d5bb0c2edd551cade6289ade5baaa57ab4e9a098ec1ab08e -KO = bb97de1ae55797a89267344cbe0edd5cc181eef5f75c92ce46c8cd2be240d81bf23c9cacc7caf4704d5998c820b04e9e408c458f2da00782d5d82bcf9d06c5aee878566e9f44 - -COUNT=28 -L = 560 -KI = a930a8358dfd1199ac9357c44d7a18064dafbf9d628815ef5f01ca71093bf41a391954d465234800d729970f9438c7767f5743eaac85296acf1864c651916f0a -FixedInputDataByteLen = 51 -FixedInputData = 69996d4b81f48bfc4f6e35778a62f0c51434952a1172231f17150061aaeb949ccd6d4cadd440a7770f6e56ceeba038930330dd -KO = 2ea0298f4c6683ff72af17d0de7b44ea11018a2251026f0748bd11cc40ae31c659c70299f86d4c45f476e4c5deda3aba7266de11a6cc01ceff7d6633e96b2e1c191a4cfd4c7a - -COUNT=29 -L = 560 -KI = d5b311f7afce6436c84a887cae8d5f49e61c0e008bcc6c837364b3fb92620e44426320b40ad027579caed6b3eb7d0d19f1816ff9623d92c517e396fd86d355e7 -FixedInputDataByteLen = 51 -FixedInputData = cc8cef7b86ec19bff09bca49ab73c1557b63a849ce552bdfcea0dd8b9dcb0352c89cfda3f12671efb45dc100e41aaf648a3594 -KO = 4c7404831cb4a4c33d60e2aaea179ec30b1693c4ba178918e811a9af44e995e3098897f0c2f87c2efaf28096dd91f6aec9250ab1440d92bb99eecd5fe29229d1403af4bef67a - -COUNT=30 -L = 1600 -KI = 0a6f6d9623a3601058e8666a5e2000cab953fffe1a161520d83523ce29c2f25d03c53587208880eb7c18142aaafb52e8979f2501dded21417b316c47ec474823 -FixedInputDataByteLen = 51 -FixedInputData = 3d05b8dc2ae8acdf7f2195120fb6988d59a8ee1dc6d72678a73e634d91b3bd009b07b309141fb789b559a0df51e7bfed6c81de -KO = 8dbed5d2530abc4750d59f23cf2ff98b3064f95f0ee2556d5edf9fc3a77dbcd454cc4ee814bb0ed9f28f4345be106bc03dff4916d40cbd4418e09ab55055193c258272a421c0c83d5b27f3959d8b1055b6137e7317e0e874644b1fd3087f8b7d11d8ee5851880017b1edcd8094fad60d818682355c8bd1002982173c6e7cbf11c6fefcc65f5c1672e8ea94471444be07547c06f562f07bed4c810bfa5198e200480b4d3e2ff5aae28ad6eed97fcc776f4292167df1cb18aeb9e39b1fa5b9f1c03db8bdab5894a1e6 - -COUNT=31 -L = 1600 -KI = f2f7f17dc642f1ec813efea2bce8e67738e77a882c3a797938fb6987a625955408ffd9397e5b938518da729fac0eb191d75420fd65dc54cc3e3908f4d52ed79f -FixedInputDataByteLen = 51 -FixedInputData = e3334dc630301b899b77fdb0ae30c0dd26718c6e65303e3456b9cb56fbf8a6d3c14ea96f921176d5cfe9b2825e327f7bbb1844 -KO = debf028e401d9a1dd47ff9bd6ffb807a7efc4aa20b516a0872e191378a79fb99435cc6274b8e5d5adaf4bfe879011dacc9d725384fbc6dcc103037c0cfc635d3630b35ce2fbd29b53df3bae8332b473e685125fcb4b3acda942ebfd430152f39f5cb3e9b622a7f3b48d6882ba7eff440de1848cb812de1444492f48ea0af7146ad35e1fa62aacdd7621b1cd2d24ec7d9189e01590fbf2d431ad3519e37bd10789f32d936021288666c781331e4450b0136ca213513809fff21dd5db3c7deb2b3c0cdcce35b0eb88f - -COUNT=32 -L = 1600 -KI = e82b243b06ed45ce1e67e737a79916af34bbc140b7bc3e84c7dfee769ec0c1ece0c22ec6bb39e6a58b77f6c9004b342fb98c1c309eeefe7a490a5dff3bff9570 -FixedInputDataByteLen = 51 -FixedInputData = fb8d6f310281bdc3b0c642ff8a57816d48a03f92680685f5e69144118416a9d00c4e041359ca646793658b90a40d4cb4b9890e -KO = b53baa2c93d1e7d400852c593d06baf854033ed10fe46a00e84f16f9eac0bcd18e199fd4615fcc1f0ab2a32b529855e2186ee6561ab7fdff166e96429159654ba723fe97571d3bddb204ce46131907f218f2a0ab7ab76b59f3ad0f7ffb76f073d73cdaacfae3f3d4c4cece58542100132680d85ad285626862da717baedabb153f3ddfb3fd40028bd912f7f2757f2350fe5e7e817095abdbfbcb4ad683bfedae229555afbd6eceb0955a987c9f8f0af40d4a435d129a1510bf89415eaf497e9e2a69f6e4ae0e8d9d - -COUNT=33 -L = 1600 -KI = 4fcf672c82188668976adb05cae8718d9dca629f28fa5b36c365ada9305f7fb8df8c1c48ed77b6074d3c2cf841f1736055aa567828df269a6fe471b62c61a401 -FixedInputDataByteLen = 51 -FixedInputData = 8c5ba0be9893ed6395f92991bd38b6d29042e3351cf42d1b350ecb3756380a8231866120d0643e07e43f13a6d773bcd720cbd6 -KO = 6cf741608bfb20f3b74992159d52fb915c0c034a23bd7ed57594a553f01546d5c1d199ea85eb4858477d2a765562da3ec9846cd45ca0d2a134a47a71cd95b089274d6367cad55e95090367df40c11c6f59867d65dd0fc78edfb4bcd14b98c612107c2bbcb9e65edec70e80475af88f5d33a551ead331ec55bc6187e64fa670105c1bd3d2eb1c930d0e0ef4efe24276766889aa37573ca24e6ac537266acab2b669fc11c5793a3e630c47d6bd78f5e7ea08e16c33943aff7508708a255c6a542c93ce5b4a7ee3f1de - -COUNT=34 -L = 1600 -KI = 2d68def366e281fab0cd0f34820fb5c9189837f605a0f06ec4cb9fc3af284a2e72060d3803adf04dc1c0574f445de4cf6c1a738f686f1e7057adcbd1b333baa0 -FixedInputDataByteLen = 51 -FixedInputData = 28f6d5df740b8fe2708e2d6d723ca08379556b765c417d5746051faf5da620ce948d836207102c036f7dd3a50794a759151604 -KO = 0745448c1692796a0991a2f2ae55bcbcb4649e05d1b0f91e13ca84a3d92c377f79902a73c058c50938b847eac86ab4918a5b4082e41610b5658b5afb9124bd3ee140b346630879d3830fa14e588ac577176b235aa1d39d9c608f33da8eeb09d7b3cde0be78945553fdbbe47eb9f9ad9cc1e3819cf33321ab1197d798f7a3e927065dc7eca1821f00cf481b81bb83f37bd7336e12dd6808564d4a1dd42b57e146af5ecb781e5a2ee60a1c57bef7e8be169106be4fa694ff8db96189827228eee2c5f32142466b1dce - -COUNT=35 -L = 1600 -KI = ceb1b41ba7897134ad1e76426539661b5946922052cde8b29e2b7b62ba99924652f9523bd9348912c34a6b06c3c4f29b16718603963695fe96b22031e587d911 -FixedInputDataByteLen = 51 -FixedInputData = 93bd7ab716ec076d4abc87ee466a29b8387497049160830e0f4b19dfa72d0a902a81375cac6a9f7baf3bdcb1fb32f1554cbe9c -KO = 1d015e9015b5641a7ff842ff5a77fd7e3ad59abf67ff3709b3a682f70c5382b29fda44f4f7a034cf15ec4c55f6b0a621864f25256f156d617c780adcaeab2b8320e9e4dbbb16f17ca43960619c02d2919cf397b51d50e968b7a9582a8b7bda848883b1cad046a76b0edd8e2c774b2d99fc95b32b2bbd29d3131063e99fc0c30532be56d857b5b726bf0d84f052d411ba523d5fc24998192d65fccf2d2f19fae9444a080aa429359413b6023f5aef9e8c8dc549b4e7431f66124f6e124892556c507020ab2160f33f - -COUNT=36 -L = 1600 -KI = 802b1593d7d167a19666b4d28b9702bc11c47e8bcca77444d3707a4ec5570a7fd63146149a3054e972ebe6e65b51270fef86d7ecd006fc002f2bbeb1b1e5f8c6 -FixedInputDataByteLen = 51 -FixedInputData = 81ac068c228191e56ea61225a9ec36659f0d853e90121c5ed4700642807f93bb256220b5b5e9ea55a7729d9135dd10e28b8512 -KO = 10c70b8efaa3ca19b4b8c3e3bb4fb75d0b0f61102d93e44ea510ddb35ecd669429b68c47673ea749ca15813916e3f55edf2825e3c215d5bdc243cf5d80f26b9ace5f0e2bc4f9007d2d0d6c11f6bba5bad8f64ccbd09ec81730de72f8d0a66909e85bd71384dd694349470c3be48446c5f28755a7415e3bba31eb88bd0919d8077bb50d383afd3e222d4f58941d81da86444a6c03772f3967d8d1df02bd91641d84a98a1f40a18cb15fa7400291318841be11c66f43c3a9a01865b7d1532a1519ee3dd4367a60fba6 - -COUNT=37 -L = 1600 -KI = 2f5dd1dd42fb626f050fa6a523fb6eb9a008f1fb79f696591dad21508902e3b49854569ed614c6ecc3f214324e8f491a7a490f654cc12eda50bc93773a3c28e2 -FixedInputDataByteLen = 51 -FixedInputData = d0e7ab6cf43be6af41216b81f3a09c7fe89a5c821a798a960c0b9562a6317987272824403ad58aac34b25962658473fe648e8a -KO = a0aefe471280783c018433101cc73c8ceeb83daf1d196b977d0048704220ec7e2b967900246dd21cb071b1f1a5325c02f2c28c9497df6c1d83882a93df9b52acea63954ea4e67989bc2668719042a5620eaac4428876820993b73f15a1094f293182b8d880b789e70082a8f0177cc72e3de8ed26c9918d078a140398e7e9c2b85c12cafd2ee6782954d7c5b5f729ed2d0b8c40db87e50ff52a9302bb1451930b2fbdf66818d99afee7f814009188ba5a7cb56288be3c26116b0a34ee00bba8c03ce63b24032a75d3 - -COUNT=38 -L = 1600 -KI = b8db5b6ffd5e5241574f99cd691d55632fcd8ed60024dd544985a12dfc9b0f6e1dfd04dc9d39e668231077a765faabf8dedfbc18b7ec00c5d0d7d5737b71f7c1 -FixedInputDataByteLen = 51 -FixedInputData = 85a696a2663636e3cebeb27fa8ed40ca62f887048ae293145c82cfbb6c6162e5a022dc10bcd783f8bde73c273c053135dbd1f6 -KO = 80f8d3ecf85e62fe09a7a85d405d1f3b7c41b860542540084c2f17c0a2b2c9fcffe62f199943fb74a45a7793ed6abe71a69038dbd982f1e24b5d32d27d932528d3929c12b86ee1e7b7407d6d1485836b7d5ec313ad2710e8f37ae7ac0b491799310855a64543e89807fd5ec566cc2aaa4229d598f1a0c7fc1e778f0c76686d96bded8f272f6305199e2b2f3bd193cedc821dd327ba33261497b5032c1427d77c3091df71b94cdb90a68d876e69a3594ca1a1e97632da619a4e62116acb9d5775a759ad734d6cdf4e - -COUNT=39 -L = 1600 -KI = 47b258bc13ae6c04f1e1a2667396de6c1cd8d2754a096961bde0ada2db63bba8befaefa30869038a9aa08784e45c642cd41f2476046b9f040eb569e413b63b95 -FixedInputDataByteLen = 51 -FixedInputData = 50bb8bfba26e5fa14db881a9918c4c7aa6e854e61a6f05496e935fc72a004eb85fb8e72bf7e8d8385708aa42dcc8efb272a64f -KO = a7b26acc7ec04345be1572dda18f370fa8640f608e8fd44107959f676c1f15f87107b65eae0419d97b20b1a451ada78d15a7aecee4b688ddf93b7d40a67c114835cc534f2903bed7a491fee3c76b66e8fb79dd54f5a8d0d51cbc8176b5614c9cd04055a7af1738cd692250cdd4ced6b2f8e5ea1577435c1045d1bfa179bb5fbb244eabc8242425735e78a6e37b6aaf554b2acaf10de7f9fea43d1ee6f013ceac9aa663fad7252253d68d39e1e977a0677282dbc715d62082cbc6875ac7899ab4b7d12cdab8379fcf - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 7c4b423dd4ec87435d9594fde21de5438775e6f4dae7458601b04ec3a41ca3925dfbceb052b44509508df54a524a40aa3f10091cbf72a0ad02f18a15d223a503 -FixedInputDataByteLen = 51 -FixedInputData = 021ef61a21b174242a5a3434c5678c9a6f808364234a2e5d77e006d630a6c61de2dfbf788ec8a1b6781e54dd72716d19fe9fcd -KO = c67b1b7d6fbfd8f1ad0f4e523efaa5b768118891265797d2f3e2d8809a4f2dfd8b38e9a71d08aacc4d6df8c068fec29532771314a4c47b8496b01b5ceb87e96d - -COUNT=1 -L = 512 -KI = 5579058e3467de5b1d78266e7a5842bbde5afa1eeed6c2af84912a19880031a518ce99523ee6f19c2ec6b6b04517b27bea70488a146c0b6390e2051dd0d1556e -FixedInputDataByteLen = 51 -FixedInputData = 9b595c9649ca228ff999a08562b0b18d074b577fe68b6c3a073cf02fbb38790db33336ba47c7119010796f32cb43dc72bdc276 -KO = 77c38496111c711f6d7e3a7596a84228b0cf6c2b75652306a24348a1d5b6aa209311329e6c99668c659aae276b75565bec507897c9941c9cdc7ae976fbea0f5c - -COUNT=2 -L = 512 -KI = 70a40e662f9ca70866d880cdcfbb92ac226f392b79fcf5df21c01e2ff22088c8d8dee2efaa48823c899dfb65a181d194044fe065708f91d1e4918c33ae6a0559 -FixedInputDataByteLen = 51 -FixedInputData = ce5b0b4aa34eb134e267a2a2f3f883d61945b3adcd36e13672d8eada3d98a2054e9e65bcbb25f40f5b5d86f10eb59d4ff6b6f0 -KO = 927a61abfb0ddea8245048ce400eee7b89906da20ed0fe43be076a05ce3c325ee9e83f042cc36181f41facfcde792212fecc36c2135f94985778d958bb7c1249 - -COUNT=3 -L = 512 -KI = a7e7b16effcd91fe1121d10849360804e473e735def704e9553066cf2531535b540d50fb39fb0287dd3afe22b56fbc79e5061e2a965bc91d1dfb8d085aeab698 -FixedInputDataByteLen = 51 -FixedInputData = 815981ddd787b6f8134faef7e77842124715848fa019d7e1bf75d7918f9e7d25232e9b9fa31653c3c7e021c2ba184a6e63152b -KO = 35fd3f478eea2907e1118a059c8c2e4434c6a9964bebab9fdc9b330ddec254aee8ecd812b990a96d0a89979cce2170fa3216cb3e9722b351915aad3a6ba384b8 - -COUNT=4 -L = 512 -KI = e7efcb1a2b3807ec06aa2e23826cda469b0ecd9e40e26851cb964c50c2a27bfff6998e3e513306e87661004e974b244ac51c1adb15b67d8e8ead956aa35bf678 -FixedInputDataByteLen = 51 -FixedInputData = 43a496afddf8f02aab72ecf5a8fb165de1869835b0f8543f5a565db389f2b0bc6bb7056b34b15203151d3dbdb315427bc42d59 -KO = 5142ea44e6eb2c8ce7002f4d388881accae2bc8b1670e8a12a903a38fc4ab7600551840cf5194105b13381ac07f50e948c68fcd3a2abfe2fabfeb1d45b9db6a2 - -COUNT=5 -L = 512 -KI = 4ffd294f8a35aadaf2bfb276e9c9049b5dc0478d14d595083687091d40eae4d2daf7d28e6564598adf99ed3823ce0cf4cfb41e922d0181cfcce23089ee0b601c -FixedInputDataByteLen = 51 -FixedInputData = ee438ea9e78fc15b7e4a246c8d12c2ca45cb6a2c978ab17b9557e555471edf0805171b465e5fc5fab20272e0b02b0664bfe685 -KO = 8918748da68e06aaac8f62ef40e8e575c1b3ac35b15f5cb693322629b33c4cf0179b9cbad676ab10372fb5ab4727b7281447235f99ed42477a5fabc120d939a8 - -COUNT=6 -L = 512 -KI = 921db7308634aea77c6dac22404ab91d2e5c1944367eee9283f356dac893f20876bae287f610b949244e3da5290c82905eb981785a086d66b5364c41eb368a0f -FixedInputDataByteLen = 51 -FixedInputData = 6801bda62667e9ce6c50aac638b2c36203105b07d97ad0dac7572f8bc51b5c8dade90c7c899ab6fb3fc4f330e0a746f5a660d3 -KO = ba8d614461b7ccb58a844b1cbeb3390c071b938207db23ca31c0d9c0ba4b7551dc5022b3e9ab65131d2ce0b2967d4e77de320a1165a74d83ef7562c69b696cf7 - -COUNT=7 -L = 512 -KI = e2a43f847b85fe1a3cafc80c5269e274db9b13b77415c6ae35be3218deca600fe81e1e28b08b440bb884ccc9ea116996fd154acf3758cdb912556bc9e7dbe8bd -FixedInputDataByteLen = 51 -FixedInputData = e44ba36b92583c7bad77f27a6485e1a280be35fb018072e5d334941e3a76fe60fdbc3708b795b7a6498ee82b6c48feffa6bfae -KO = 784cb7a3e4fba985ded3d853297d77f9ac0011d5aa949cb69e9d047f8c39be1a99075e77dfd52a999478addb11f6178c315002256fb45989eaf042671f7990cd - -COUNT=8 -L = 512 -KI = a7aa9862fbe86e2f5b97d1c088038e2724b0b121645793909bd471df727ef1137376e22e1a4608ca2016505168d42ed967a8bb2b05040d5a155235b443b69bb3 -FixedInputDataByteLen = 51 -FixedInputData = 82fd6ff99ed4a7d43ef6b52ecc614f7a6010aa75e97c6732509b24c38b7687afcc00a31ec74f63a257f952b67ca4e9c0605a0d -KO = 67a34a7e0c59f54e1f03ecc3022a38758a152e8a9ad7c1c6edb55b81d9235a12dfad6a103cdf7f29f8889b2483f6e5d41a62b1446a850f5261ed87640d669640 - -COUNT=9 -L = 512 -KI = a7f0201f48b09575882ea8be8e9dc291faff59afc507cac32e6b483f98666696d8d5a12382b1bee03ca0fb91f3afd59e02c3c84634bd2a3f78444315831ece6c -FixedInputDataByteLen = 51 -FixedInputData = 6f43626ae6b0a33bba1010570ac9ff8fd47a6464ca8f4bee4afff47147156071d12bca70ccc3986acb62b3b7ad24d4414f4cd0 -KO = 53d1197926938ad6fd26c0c46c7857e2b27e8dd4d6bde42fa09d8cb6b0ba3d027cfce212aefa3e28dc47e130c4630e0a4b2db3e7ce1d0898057809dcd41e5459 - -COUNT=10 -L = 2048 -KI = 2d1cb862c086f9e30a984d0b1061abb59e0d26b1094735f815a36650e81a476a3b97e77c9a16cc983ced1d207e863dedb2b04d3a8e3ddf8f3da8fc38294e5e39 -FixedInputDataByteLen = 51 -FixedInputData = c2c094ecf19741174a4626db9cf7c90b2486267c5ce897abbea1d8f37367a3ef7f52b0cb481857a95b4da21c3ad93c581a0450 -KO = a0a5fcbb0683a027230c4414d6b3240297049bc6ce88c28a876a6899f409afb9be27ee99a5d2904bb67bb4cf5de23665a78aa0e5907779721d8026f4dc170cc2329cc8f2b005802edad776f82d4faf669b80dff697bfdd85d0cdda40af0c67564bb782bb23e6cc2aadddbb24745ba3a73fb0a3c2b56131aec0748c7c960bac54194280336e17e4aab65df3730d357c791e2c25da1da1dd41732f95d78e5c3ef9ca220992afa36b01e11cdba0a575bdd4d8a90ef7ce6bcb9e305bcdf6a394e40adf25b7255008a33a0eef23c901432e111112bfe9fa9383a576179b1259dd2689e0286c3080d2a139151af464f52a8781f15c098dc8ab1b591579fc6f24b071e0 - -COUNT=11 -L = 2048 -KI = fe765c6e6392ef764efc4bf14136dd24650781339139a1f7e8e6e3bf750f6ef00d01b0b8dbb6cea4677aede3a8a7b7448bf8c62526e4fd7412486e1c9124586a -FixedInputDataByteLen = 51 -FixedInputData = d5a3ea0a782dc74b0ab6944d9fa1ec70f0b134af9240dbe499fa5981469ef426d9f4856ebde12945a65f1b97e6046063c23d7f -KO = c48ebf27f0b7de812f6bc729c14665c2205a3d8af0b76ce6d36d1c94a17905c3d44fe0bc418b78158ea678ea036447941b298dae02f96707373570e9fc60f555aa175e6f2328807736eff21344658ac4c6724461b1e389a2a944a25323b714aa2dd38e1c8135b58f0f41af7c96bdc386380ee28a28d76d8a60a1bd4259d898bc0e1205e13a1a7722b61261e20773fd8fdad9d86d4ce514af549e6ad52352c93ef6a1c130a1c2c4a65ef9a9a32056a68898cbe11ccce46b41948d134a3da0a51de218eb23306cc8e35f4971a146d83382515b1e2e43d198bdd11c224a47436f1d65cca3c903bb2e6846471b386ed3eb2b581164039d8dccc6a75a32859dde5e40 - -COUNT=12 -L = 2048 -KI = 0a195d55d207f9379fea2389dc63983b2d383a66efb3127d3fea4740f81d5ec788464d5325df4d6c725a4b49af9d0b396e70b6e476ceafb6f7c728b3e77d60a0 -FixedInputDataByteLen = 51 -FixedInputData = 61e26ea9f9cab65cb3137b2fcad14561354f6e2589734fc47954170eb5fdf4ba96b7919941d6d224d6ccfdc6742e7b07e882e6 -KO = 8e7ebfa4019152391a952ea3054d961dcda7c4cad094858d21291b55aceece05c4beb329ac9f818f78125788e9ff27a7da77a9d72bd19f9f866841ab5ef33b6cbe35b469aa7101cb41c0058c1d68ffd5187774c1ebb1d1e0e6408ae1d6d2d159c8fbe17257a662adbd490b4cf966498ef50aa37ea6e547c6b62159b1dc91f51b2bdb5bc91806189999adba0314ee6d8a09f1cb7ca6dfc88bcf144e9445e2bda299ea8a7d647b8df084dd02e70c8300e17c1cd2aa04d00ad5f256497fc5dc44effdab3d86848db1fc6ad33273a6d231e9cccddc133fc640f601f4ec3bcd5a0d6d9a46f25bb09b749fa479443e192bf36fbff5e4cdce37742dba687c341c33704e - -COUNT=13 -L = 2048 -KI = d9a4013f8326c8708d73ed24278eba95d2e416b3bd1348fde1a8835597329969c0b17d4c32462adf324cea45a8aa64615a8b10fa571a79b78d5ee87480eb9430 -FixedInputDataByteLen = 51 -FixedInputData = 9d7f5c51fe0aac057b96d2a096e7e39aaa07d4c688667b5f7369399033932f3879a9ab38f7c990b41ded6a9d596c1a3863c95f -KO = 45cdb5393e0c4ff30c8cb14894f35194e4f37b4ec4cdee952e816e58cbe93607618dcca82cd8aba8394a50b892f292fae2d9b13ad62dbfea2f7ad0f396a4b01c0373bbde589f1af61ac4e18afcfcf5b58fc2e5c796710c2f8fb74664fec8bbd1c4cc04549283e2c47972cc4d7a52a50d22cd974bf1a32cae12cc29c6061e0feb5faf29d100ba3aea53b1c8cc5eb763a78c578ea3ee1274bb21393d73cf0a2cd8d1173936e797f13a71db01dd6e82a4a837f6ce22ca9204c4df0f9e0c2e7aad393e474c5e0cfc570b3e67e46b13e2b5fc2fda5d74eb1e21e78a9eca5d61e68828cbd7781db2b5040cab3a4007d4283904b4c73096fe43792f800cd47c2cabd989 - -COUNT=14 -L = 2048 -KI = 29a6bfabb92da8b73d620583f555ac448cb2d527c69b9515da69134f783f02dee31790b7a7ead3af987f4b015fadb73d126da7c4b004fefc4aa194f6065784e2 -FixedInputDataByteLen = 51 -FixedInputData = a8d35f5620bb182d65097b70f925001d48220e88a04d5cd80a450e4c87e00cce96469b87b0aa0fcf347774fa41e53ed5170344 -KO = 7b73f16e4883c3234299081cdc7c7619ff1ba6f3257fda05e7004ba477cc9c1845d8e7c678edd7a2a073c1bf294d2b7c15cb25614b6d445ee38eca9f0bb128a74662e70e052eb551a0ad2a847e870f1f848cb9b4ef42689e8718d492ad21ad360574ef3e6645e1bb5501fe2b2b27047dc38157a059adcff9de3dbf25bb40ff6e0d3d5d5195bd06d009b71a26eba60c8ada3015d8110fa01f04f90ec41b5ecdf4bbeca7c10861e3f4bd0ba2887a4dbe9af1bf75d5371e637da75763ddc5b2c6efda78d0b6fe84c73b5b589e29cb452827b17565ad084fe0dafb68f6f4e3d2f269b46fa9621dee4bc89abca08892feb80b15b11ea80652dce402eb100b05f74a01 - -COUNT=15 -L = 2048 -KI = 18de3c7806edc31ffc909f13d493eefbf4469135ca37f43dd9b070a583ba12f0aa4b10e589675578a44502a4b181fbdcd3f81b159b0c971356ebdc378c505b57 -FixedInputDataByteLen = 51 -FixedInputData = ccdc658517abd1ca6d61229d94b880edbd1a95f2f15443c051c7244af70058b7564f936ad5d0cfa4080a79cce4759ddb8f9da4 -KO = e786b9c0afea2123ee481ccf3b9404c626e60bcd7c844f99c1e4288147db76ed6389234ea0fd99e72037b7a3a8545a268d612313284925bd748a1090f1207fa201a361bba38a85a7ec614160f9858052f265bf3561cd595d21821cea1f5c1906c3018825c7120a4a2ce352e215f05365273eeac9323ff5ed03e8d5a94f825b22e7f74cad8bf0affae2fdb621bae818adcfc059530e87a326d75b21e163dda95a5c3cfd5a3152a0d54e80e033f12028f16ffb012e6c636eb0bb17af7b15b407e178a8bf9c5302ad06f476443e767fc72ce60e658153f85f17e1df10ff5032f2256906ca80b8514b97534a7dda95603a549c64b7b32b7b69d97c9b101661b1e905 - -COUNT=16 -L = 2048 -KI = c5d5297dd92d696a584f27fbaaed1c7eadade5c083f4231d46de554ce72e06d2823a9f1499dc02d5bb92b86b318a43f78d6c6d1da697ce10c43538b88b74ff74 -FixedInputDataByteLen = 51 -FixedInputData = 96d33ac5e4a10b343789f0590ce79013b483fd8e23148de262773c834132aa960ab25c0bae34a59899c4dda221f88188f1f039 -KO = e4c3f9e8fb2da2cbcd3fb2414a2087ffa9ff4b7438ec7b91887368bd5f0815ea910d001b5449469b3315f99782211aa778a828308ef2becfc97b0677eee25c4ff9aadfba92ca04a274ae88062901fd7bd3b0b2d211d9e41e638748e5f433635feb09e3108d7e5188918479be3fc87160d2dceb924655c5ebcf0b13707c366425bd4970c0a2add72912a27d3e60cf795cd908eff14d0c544037c176198744f75a13cf0e6671f60fbd8dba31d5a230dd1561853212652cbd15dd19b967709827ec54690c559f0af904b29221b649bd06d926588b61dac5ede3cb149e4b0f32c67a65e5fecb753bfcf4a30ef01d8f94e7b7ac39c878f2ecf19d7eab6c2a71c983c5 - -COUNT=17 -L = 2048 -KI = d89a100f55ec48e747e69607771062664fc50dae2a4b9a29afb7da8da0d1efae215a4881f97853103b508b372f63e7af74997d086b6141e589bcf4e207a1fe6c -FixedInputDataByteLen = 51 -FixedInputData = c39ce4afd0e49539f8d48f397a104b06a594baac4bdb55960ac64d963ca35ebbbd4ee3060d7a0edb82008729413ea60070e30f -KO = 8ef4640dd8f343f0f24f8a8cae87602e94896ecd3f32513fc5ee3621c63c26f46f306e218aa749cb6cb59e166545ba8802aa5ad58eea7e6188e51b7ab8043f7aa85ca1cc20a01129ad13eee7f34915ca723d4e3572508734d9b9315c605ac9e1aa7b3cbe15da5d3d192ff955b7abd7d304d481bfd4de01c9f07d3d47ffaa0fa4bd37bf08a3d69574e75293b90aa50f205c17feb19f9415afad396bc48a9275bfbe22fa1375e4ced34c089da6a9f3cfb2c1d5856409b097181e5d6c36734e9f2cfd8123de097c11be7ed6ccf2574f163109dafa58184863c871fb9170b4970538609091144c16267dd3b06e9fd4ad377e1cb72de88b842706f7c1a7cbc8f767f0 - -COUNT=18 -L = 2048 -KI = d1d51536911608cca23deed5d14923d2cd044dbd01fea5bbf8f9114bcf1d665d61d938f3c0af46e53ed7078454ff45cbfb2bebe7f69ce2ce18d7886a4feb081a -FixedInputDataByteLen = 51 -FixedInputData = 5b83a8c9ee44f61f5e65cdd2c7c856ad4488b4de5c841c1a9d4d77dbceaeefa100ab5fb07e68301ae905f730a1e45f47dbacb4 -KO = 1e4b4e9b60941da7c111417f94e74e4dcd98e065564791e786d34aab3010658ec77f9a33eeb1c1746b2a33dcb975f66527415406a6d0aac9b7bf1653419c8bd397d52cfae2702590b8d42a89eb3a1ea906d2f56ccc798fca4065505213251a1d9cb491a71537783e874ccfec49c467769a569305c72c97c4689d71768e308ec508e3bea45fd008fc860ff63d9d16c585ced0e938d519ea5a664a16725c9e1887ce86336f23b1f19f90dac73a4b6b1b7316d28a6d697d35fbc6956a7e5d93e8f163300c29228d4b02797c2cd97644c0713a46e8e8ccde8c2c33f0026b2bd42f2d6caba53e0499ad120037dd89bd5ba72be24bba4720ed3764d5b919c0e29f7258 - -COUNT=19 -L = 2048 -KI = ab3e2373a4b4d26640d13f70d385444546465f9e0fdfef829b9bce41e073b743c6aea0e9830a028e3ed56b8186d3a3de03a467c9874a3214034665f1a65ac139 -FixedInputDataByteLen = 51 -FixedInputData = a7769ecb9db6e1bec3c41fe189764fb95911c7dccb976f422f6ec980c79387214ecbdf3daaa2c6973d04cc2cf1d793d889c28e -KO = 9f723723f1caf2f51aa42c8834cd3a9d06e1a108fd07ae9c4e78920a9f161be456cc6224001fe054563613e90da2fce636d83808f6660207b204f3b8163dacb70a4f0e4bae47673f7bf02b75129b7077311d3504dc9f4efe34da15ab80cecb375f0b2d1b0397ba4f5d51482a866ec49a8560e4556d412e01e8c941eb38a4488e0f14aa0b7d7e1407ef8de75e24e6c9b6144c0cc9dfbe3283227dd7e8ceef34a244644393efb3dcf16a4c3d2e01bfb54392d25ca225fe380848f0d3f7495bd096e31e2356ba8dc7c6bcb03c03196d10f26c6ff8eeb2a3873582ff2b1fa398103a04b5ab894e3b0e103d36630cc47c57566215b30570b8d3f327ca51f01d670c2a - -COUNT=20 -L = 560 -KI = 888515c1a32005b27d94bcca5276fbd85c655bacdaa16fe5cd54ca433a37dba483f49d847df91eda76294541693fafbdc58d47dd69dcf284a63490da82689dbd -FixedInputDataByteLen = 51 -FixedInputData = a75e2ee3afb1ef06ae3370062eab837f9df46fbc119661edd684299cbf21e9cf24371eb864a62304b3aafee0ba85b6fa0c8a84 -KO = 3436a21fa5251e3e398c730b1fb3e8a8e031a83679156a45ef4089ec19c6c708524e4ad9fb87e432c0a7d6998906aa129a45b6601cfce31dd50149a57f2dcf3812b2b9ff9c99 - -COUNT=21 -L = 560 -KI = 75804219da15f447e16a63fb17aff179f493b6f1670e9434472c43d536abf61d8ae5f060f0083b237e4fb118d258fdcf333dbf1032f18204a775a2f7bd67c302 -FixedInputDataByteLen = 51 -FixedInputData = 07fb17737278b827976823c7c9830ffb34286a89b4eee453568c2f7616c5e1692937c0e7a8f92a88dc670da874e3e39ec778cd -KO = 15c8af7dec85f9b41e5418cbd7e9582eb2e9fa99f5937af7a1933bf44a2d06a32051e85df115164ed81689fcef92764c5a374350f7c2907b014e9e5a409b90ce4859db7973ae - -COUNT=22 -L = 560 -KI = 62c32433614328f9aa7118fd6be85ca925780a55861609f1d6112a966421b2e7bc6ccff3234a4f943937ec016ce772f430a7323be102e0ec1a823eda137ee1a1 -FixedInputDataByteLen = 51 -FixedInputData = fa3541964de9966d2ad4af2208a27a091cb6c24524d47c45c780130a98d34cb5865d59ecc0e317879adc635efd8a4d4956b9e5 -KO = 4c48c731dffadc4f08d7f19e52eb345f89e43335c3151b06f2209a576220b21cb483b585760b7a5315a21fdfb21e5952243bf2b2b5e63b44312c9021c9f3f5f1f718fb96ac5f - -COUNT=23 -L = 560 -KI = d878feca50683d28eeb4972de80df5f0805c3c82d43f12de581492017019fe4ff46ed7a7fc9d72c0132b1010cf657ea09635d5388d2018a45e1601ae4aabec99 -FixedInputDataByteLen = 51 -FixedInputData = 208518c1c321ffa5deee2666dd73c5c97dcefb9b3414d19013632d33eda13b1eda34c53e32716b0fc1438d4104f02ef9df203d -KO = dc964ec6e15186c51a0409a8ba3b969405c2be9b6a1855d5141bcdc48dc21beb7ed279119805863417c3d9a38c0c962966931098bf73fe1185d6966741b9a536854aaa674f94 - -COUNT=24 -L = 560 -KI = 97b685408c905a69beeef58105e275e48f42c563c811c306dad5d6c5f2876c8d3053ad905d1e6d094c0318eb0bd4353fb6d571d8a929ceff365b4b7a0272dba4 -FixedInputDataByteLen = 51 -FixedInputData = 67b004151be4774c7bbad670f726484f2ce5611a73d6850869115a1f36c74d5abd3c28a7d8883b50b0e8066ce7feb72203b020 -KO = 0dfe59b0c39a416b1572fa509a4db376d9fdb45746500adc8fe79e5609d2e878f58d8334027bf410c18dbb2dd25fab41870db80e5551abb3b3d4bc94577d10d43625b3849c69 - -COUNT=25 -L = 560 -KI = ec5f9c936c7f2212f75f671aa3906ace928a49c098a4079160332a9b0ea4704d30465352291bb8b8e744961f617f329596b24f32f3c354dab73064348fdd744a -FixedInputDataByteLen = 51 -FixedInputData = a166496f42ab8dfb3891034f5f8201b1b0324a63f7e6dcbce73edc0d1a020730bafa35b3fe0642983d3beab627da93f9c4106f -KO = 75b2f78d7d9750d61c0d5219b0bb89e3676e7c89a65eb03525abc9db5a44f529a76abd9797d9e84a97a8ad043cc771b6a042739adc18329dfb0be893a85af267cc6526e1fff5 - -COUNT=26 -L = 560 -KI = d0f51c1215796699f93777ebec3c97cd4cafc9951d2e632bada150002e6c82e25211c3a6b4984e0b68fbefd46d4c4efcca0c862a00d93b8135cab73dc80e6c81 -FixedInputDataByteLen = 51 -FixedInputData = 865276da00d8cbd4cc513030f0bdab2be6eeb18dc588b10207daccd57164c87c1d8fcf7c48762d4bb49da9df7a4e6458386ac7 -KO = 9a0f86cdaaeaed840b0d123cdd46fb066d083005733633d874811e6094556f1820de14b56e6053a43d8ce29bc0c47e0324009b34ca350f1c321a194645f12bd8569cd6fb55a2 - -COUNT=27 -L = 560 -KI = 4fd389cc4a0487a76e6a4c223668a48ecd718e73ca3b69b405caad90682348298a552c4f7c04da94b60f97c4fcd453c3f1a6eca852bcdedab30f3f68cb19d095 -FixedInputDataByteLen = 51 -FixedInputData = 9edfd41ffb83ac0241bd4d2a46748f9c48f69dccdd8330f3e4c74aedaab00e0e844bf4fb5677b2ba1260faaf6d60a61806b45a -KO = 85a3999e130b5998e7fc8305d462155830909e8191b5d07e8f3b7957df5a3e3c2c47529296615878774634bdeaf849c8e619e1c86373f2228bcd18f12fdbed9cdfe17e5f148b - -COUNT=28 -L = 560 -KI = 70e5c8f7befaa50eb2ee86037fb76f57b203ee9a06ee609a02c3eaf9d15ca6b562e17c6db35ef47a058a41029294fc39a52ac76f36882eff8afc6a14ba8bfcbc -FixedInputDataByteLen = 51 -FixedInputData = 8f1fde929ec1c6cfe4680262821032354105481f07a15c8675093f15d7f6a54219f79de10e6d4db5efbee23c953cc7b7c4e62f -KO = 2f9fa0ed078c4d75522354315e60886955979d8909d9eab5cf6b1949d40bccbdd5094f86ad523e41a9377b0a9bb603efd0a4d42a81db9ba209f1bc021e2484124a57c9c1b2dc - -COUNT=29 -L = 560 -KI = 89bd884393bea0f50f3dd8d20263dce87a7adc307378ec5ba202440741f89946e3762f04b732ea28401b874318cbfdd366ec42460bec9a94f3bb5a2bf7ac3f17 -FixedInputDataByteLen = 51 -FixedInputData = d2ffbbc6813469a4dad7ce021f463941d003ff4cade76cd354fe5bacaad2b8060f121fe31048795ba11f6285b00d959387f060 -KO = 9a68fd55e417c1e56e767ef2e5b0996b9ee03d15090f48a374747e342078673e2c75988bf7956e732a28e5748242f3520c576ac3f88e714c726f6b497d734ef3213028f13c09 - -COUNT=30 -L = 1600 -KI = 9d3a5f72dbc598a677edbcc8de546f4bb46b56b21bbbde3c2d64205c2020c74655e588beee9142205b3493350b4863de213154666b7ae98d17301fbc78e6e372 -FixedInputDataByteLen = 51 -FixedInputData = 08e060d1b78cf37c4ce4f0ecd2734ff556d75bf1c927efeb1159e5f44b7122bbf7b5eb5b27ab1373abbbb5fb99692c8e4c64b4 -KO = 8b6aa6bd6cbc0e684f66d30466b87507bacc879f1a6cbe54b7665af4af0d72fbb7cd0037bb41096ccd183d14a90dc690196c9b6a70905e4f58b0781cdf750fa07df50157a723bc75dde4d3dabfed8bb5df36558cd9fd44df6936f0442c84dbe1be423346d3913f22ac380a33f5199fb83e2aecf2b685b40d6d95295ba119ea24db75c2507eb0eecbd5be3f3004e1adc11cba4a5d9c40561348f77907020dcd587469738163f682044acfa6198deb30ecbbbf5031998185f2a11b53aa5bf81cb22047f4b87dce35cc - -COUNT=31 -L = 1600 -KI = 345a2c5f3b60733967a91a886306e15302263d0f589d6c59cb7a497ba8ca033ce2b9820a5744ae9cdcc31b661310eac52d2822cfe70cc456aae7f53f022a584c -FixedInputDataByteLen = 51 -FixedInputData = 33101070bf066413b3d70ab624ac454f5967fdb5dedc73f2456176eac2820f4ecdd839182718b2b3874965d354262938764101 -KO = ab83aaf7f77aa2f534e19de89f4693815fbf3eee6c3f5e26934c3ad8aa605f615d135b202af2818c87b0e0ae7a1df63836f6bd7275efa2b74049439214a90c8ce60a235781080ca5b9ccb712c1b138ee45a07b52fd178c39451e34e84aa9a848b257930a715c45089a785031309eca90211f3724147236ff92375157ff369651849a393e702d3a85a6ce771a6149fe6d6bbab9e80383f6d89d0bda73b4edde5a1779cb5755eb7fc532aacc782a75838b47c11e1a713d2cc37315f543ed50e1e12e5689568dee2850 - -COUNT=32 -L = 1600 -KI = 660d602694ddbfb1184fa393f14c06b324f020c6315f4615bf813537bd3c6cc8c1cdafbb18c6ce9d0f682c804c8acc6e228f15102ed13fe89d7102e1476faf33 -FixedInputDataByteLen = 51 -FixedInputData = 8ca568296d02dfa1afe566109fe9b3bcfcf25b6a6707fe4f11c515e627be7309b7ebfa975093d49e4d6e573c68b8e810a2de65 -KO = 0982a35968313d23e30baf48eee3d25679d67450d63bbef906926fa80cf50253b44b2c6da46be3f1f3191920366d7af2b851f1e71ce60e9928a8356c0479ca0fb5d679cbfd13a9e2c7f74483d7e16045a663fbbfe93e3fa67d8db9ac6ea95a0f99dbd055d0921816e8c6b2cec0661031d671ac982080af10714a021313af509fba295e64c0facd3945030726582371c9e52c9a2bb132014590776d361a4bde74894e5d7b63a3da2a16a22a4bb11afc182a59586bf7c98361993110a13db41011bef04c2437e7672e - -COUNT=33 -L = 1600 -KI = 4a4fd7db2f7f856414bff629807733e3c83128e9f221b0caa59b5aacd53ef2dc523c52e303da36b81c9b6b5a742a01f0a3b0196c50ed18c6386b39924b5c6468 -FixedInputDataByteLen = 51 -FixedInputData = aa2427a8f96a78097cf274b683c0717c47803b254c99ce226fb8d657358cc0942f5976d565d5f499c396ae3816f16ffb87a7e2 -KO = d14a4c1641c5ea53d10b7e9faec474aa8d4d18c2c331f3e4da22fdfaf781b869b60dfe7fa51489150e3b2d08054f1053eee6995e104609b1ab987edeaa349c1832a38c0de167132c45ba9aa6056d49551d6276aba1cfe7f8624b1ee473b4bcdddf02aab53d4946579eab45e155f34c9ec5091ae9093f91dbac35935c65e226b4c71077726f1c185e2eddbc9a239f7fc7acbc0a8f058bd4796587284389cbb0c91b58d7637cb00e9dced06c660cd02565592e0d6470d28e93d967ae992d682daefa6317b819c2a8ad - -COUNT=34 -L = 1600 -KI = 97bc5cbe96991fd7bfe91e7f690ee802495df83d93d536117bb3540c293857240e895ce840ab6a1ec2d28d747d195277de8d84206d268fb462aa00020155d899 -FixedInputDataByteLen = 51 -FixedInputData = e9769276b38a4f479bf7f48d6b4f324e1a8795c5c69021ff316751e7c48948a70e7da02646df069e7011b73ebb1eba2a7be882 -KO = 19d1e5e11e61a825d27ff130e70c6d07c3c77c97345c94269c1c1e072025b6424e85acd1fe7139db5d21213a98ef7c0ab6b60ac4f08d0748f60105767d08232caf40d7a1722ddc037a4eef3a46a8185db53ea2f8b286ef32a9d13c814e633d4c7b1fddb9b57436bc03eae8f6eca6fe6e377f6b594a021a32dd94b34f18003ad19c1127cab37c1fb1160976a1b6449e26c606741f11bf4a49b4f728fcc311d5ee372bf55f1ab0892b2452abd200e70a75d06137325c829fc9818a04eb8651d01ac0c66c1ec40b569f - -COUNT=35 -L = 1600 -KI = 3412c5bdddc7f58b79977c3c6a12880bc79ca4b90fb8622ee1d8dfa7d116dc20f1254d655b5a7ff50dc745d159715231024c159b8a49cd62c81ccadee2162e50 -FixedInputDataByteLen = 51 -FixedInputData = 3aba16c923c47ea8f40ffaa1a6d7d73ade284eb464b2416626856d214b2fcb7afb52dcc055511f67380d1498b44836bf0601d6 -KO = 6a327a9e27a0d352eb7d0414520a44dc93b7bd9e98dfc6ff2fbd295c7c25a31cd6436fa217323e717354fc656f724926db599d78787856b4c9caf4c6f11d07ea66ff6d406f7e66edc0c66963d96db94f28a86d4c3da6800d38dab4e261ca85a1ff19c9c3b1038b97abbcdc6b446bc63e8aad50de8131e100342cf72e676048466ca583596f5cf9bede47d80c83e76fc78e2c8e700d49c47d7e251e715d89cf1463e2785181cbc503f40c918afae441812fc56a6e13cc42ed30d155ad83a07f3de345ea650e6ac38c - -COUNT=36 -L = 1600 -KI = 713580a650e2ba32b7d6b9db807e38307f9801d887e4f76e47b07dc557d53539f6ab17dc9c29e56907f7b7bc740dc9434b714ceb65f3c0c8ec04a216cbd9f1ad -FixedInputDataByteLen = 51 -FixedInputData = 45841b1c752f5ee48df5407f78dd263f15c4f6a3d687d984c5b3abd51d923219173e5bd45b0eca963a4391e3b700912a6667ff -KO = 729f90c4967a817538beb7f1f4f85e8655aa6a26961f870c933fc53e3167fdbf25348777c267649b9736fc70a96276d4a30cae05145f224944419284296434acdc4d95f7b47ff366e67e7e230431d6f0a9daa39c1313c93cf2977c7382f127e2f63cefc5b971805d74566ea9a387f08ac8cd1d1620b04582840ba1e7822327ab5703c1139cc96b2f28ac72054160e9eface615c10ea78a904dc6279778636f592faff0f2620b6d8160e716817c106667a0c33403f726319764b60cceae41022772d53fc863dfce43 - -COUNT=37 -L = 1600 -KI = 0f2e43cefda358c20c2206c14bafec2fa62de432946378b37bb3c5fe9cb739467b603927ce8c142e4987ac92a8fcf7734563d3bd72756ee3fab31b63a3fd6092 -FixedInputDataByteLen = 51 -FixedInputData = cb2795d7a4603217ec7e1c27e87d15be62dd1ee29d7a347747a4906edd6d0964161b921e46035154c5b243edaffd2e0161d2c0 -KO = 8ad1b07e75289408cb93372e419bd90f70e477125b690dc8b4706f89d3dee1bb5244e39a834e8c3df1d6c53ca0639a56aa075a7d3be160a05186f92721f78991abb43a8f061b86b2e2b1be27f8e642bc7be42ce01de49ad16408a06532725f256cb7aff3c20e38efae7106589192455e3d194655d29e36adfde57a2a53030ef3facf888decabea5198d41a5ed3f5ec616eaaa20b65c271e4a2895894cacc343f6d4be91b5c4d543fb11d887c7960a1cb2f5b6ad3fe847942dd2d6a7b2176c7cc065e2c86508337e6 - -COUNT=38 -L = 1600 -KI = bff0709a586b413093c4ef30a90120ed3b462df870d2c820eb5c1ca47cfaefe8dbd3400c8432fb8b4f177e02a1d4b0602bb6c1fa891099eff91d5b1381b8485e -FixedInputDataByteLen = 51 -FixedInputData = 8a49a00c15f11e0ddac6ef385e8b1c49ab6ac496c41b654c43de0e0e0203010c53e70ea22a096d7e63d9c52d45d3ff907ecd1b -KO = 210c60074282b1f7409beebcdd81534949797edaaceb1d59b2a93dab97e154c6e2238c7e4a0b78b7a1dba44e23c4b37a2db9b8b38c2a72f0d497c4450d6b33fa5d034a66350a21c16c49361a70b7e93f62a648e0e9ddb7efaabd8c123a9fe38d2110af56e1e09d3677edc7cbdbf866e873a6e0f6b12f1cc3c2ce65df4f49383f9b88d8d26fb314a2ca71017be77f8f20436b0869fe3bd8d55c131678d76083428cad83ba7b9073932dd7f0e4f0d6036e45f5225fe4cad0431a4e3cbfc970b974e2020cbd4e7274ae - -COUNT=39 -L = 1600 -KI = e8cd0166a8af6220ce2d79b220a58d26307c58280012d714886e76aeb9ae96d6ccb4705d61a72ea4b8755a5856d8ab0c924f046c83455cd98c04b9792dacd841 -FixedInputDataByteLen = 51 -FixedInputData = 1a6c8d000e58116d0ef0514a973ec8984052caf4becdc7cb05fce4b9e68cf47329e2371d2f21b6a6bf8a83adfb034715145dc4 -KO = 8c380e322dbe2d741423a4411cf77d92d40647e51f3a1ba94c7d3bdf880e446fdab41f8e6c292ebf6b15644765050012ca5aef09f6d3f6ea1141f9317787edbb58760a267e5228ecc1424327798fabc933bc87dbda160a15afb92c4a54e6709f361dcba978958316d3e02f77de3c278736e3ba2a3844fe3c3365dd8d749e5e6d85f9ec2f3dd52162e3c93e89d51c36372d005b0e529cec8616e3abedb0149566381c740631b124734d7acefa93be40993bc3dd0a52583852e87385fa84c85cc4fcd6727e764ea2e8 - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineNoCounter_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineNoCounter_gen.rsp deleted file mode 100644 index 5dcbcdff1..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFDblPipelineNoCounter_gen.rsp +++ /dev/null @@ -1,2817 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "PipelineWOctr" -# KDF Mode Supported: DblPipeline Mode -# No counter used in data -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 16:19:40 2012 - -[PRF=CMAC_AES128] -COUNT=0 -L = 512 -KI = ada2452f1f141a82c7a1b7d3e09ffed1 -FixedInputDataByteLen = 51 -FixedInputData = 335660eb265d2044efa06eacd848d3f9f57d219011343318f3a964df4a6fb1bf6cbdee711c7fcbe73b8f257f992e47e8b065af -KO = a73bd29176e38e761222ae07d639181f4b2c555a3b261815cde5d88a67c8b95c58b6b66ea4f10608c6d799b051519fc8e89de00cdc556350a7d966475086f9af - -COUNT=1 -L = 512 -KI = de8a1b7b1443c729f99eabb94e919e73 -FixedInputDataByteLen = 51 -FixedInputData = 0224a1294860863296aa5dc15b6a7925b4197dc37bf8eb9c8ea63fb606371a96da8b7be57980bda75ce0e18c1306dc9780ff9c -KO = 632143d62a9fe24c950ef079a78a0958d6e74b950d7546c5669dc50b58716acd119bd728b2695507f58a0a954e0e17b8f2e982a9a79713fcf7064e7fbe57c39d - -COUNT=2 -L = 512 -KI = 3bd667a24512608c8e537864e3022872 -FixedInputDataByteLen = 51 -FixedInputData = 2112d03ddae87e5a79c7bcc72b00eeed675a7dca556d6e9ee2bbd5695cb1185e14e1d68bcebe383c4d7d65de776ac6e7f82b07 -KO = 42ef5434090f38da2ae185e96e29b0559715539b4484823187f439fcde9fe8c51d8fcbb97383afcc00bf289ba13a4634657265eac0e4b687cbf7c00a5de65010 - -COUNT=3 -L = 512 -KI = 8e88042497df5ee12b96db2a4ba8996f -FixedInputDataByteLen = 51 -FixedInputData = 656cb0922bc1a2c9adf6dee771b1b2e4ee91f374fa5fc95fc4de430150a9a1b90aed39a9d3a3279eff66d542955a53839ccb9d -KO = 81dd4e467a032cb82e25fa0d6249fd02771117e454e59f2c2fa45503df422fdc080ad9ca72269882aea072e07777b562af011dbcda9950b3aa6f0990c1c20ba3 - -COUNT=4 -L = 512 -KI = 0ebc08e0182b74ea9d6dec6ad1262ceb -FixedInputDataByteLen = 51 -FixedInputData = e9db5814600e3b081614b223a8769cd8e4e6e77a5dae118da344e6a626f4628938f6ccf9202f506f769d0c55ddcf296537c0f9 -KO = a34ab987464923b4cd5a740e4ff9d9eaf26e6ce443d552f8356e03d23b497644e7c120fd3503dfe8f97af09b914570fee570ea15a9864c83619654b75f7962d9 - -COUNT=5 -L = 512 -KI = 1b7da1afdc6cfec2b3e8f0e9b0894d75 -FixedInputDataByteLen = 51 -FixedInputData = ff7f67bfcc06f58a0685cf3af70c50bff906e86822cf2ea1cfbc26630e8c89980b27451dcbad62f31223992f18a117c0c922cd -KO = 1cf546e26c6c8ff2e46ab703173e9ca52ee1ded37df6e38006960b24a35d0f584da6599013f5a94feb88778c78dc69aed460d3c9d2d5d45007f0736649c5ffb6 - -COUNT=6 -L = 512 -KI = a1a37c0258016cb5a968ea92a138e47b -FixedInputDataByteLen = 51 -FixedInputData = ccd31c2ddf9527cf72097a5c3574f3c2ee87aaed50d759b6f241c6f74786c373b355650529b818e07665ab35512dc02b82e94d -KO = ca16c2b3703a765f4d441b27d0f7ac6b4da2f4ced4e47d1d4796a87e0ab40ec0828f8d624dca5a5a1aac074684bcc2554f39324212d2988481d698f44d4f2ea3 - -COUNT=7 -L = 512 -KI = adf211b52a78265bd04cd0df4767c82d -FixedInputDataByteLen = 51 -FixedInputData = 55c5b24f42e963af89db8e0ad47a626b38c86f66d7f4ed43d72b3fb98f5f6e483fa987df37c7da77d50777c047b7ecf8db4b1b -KO = ab5097166527c1ccdef8096e7ff4e867d716012588f3ab2c5fa8805f601cf7b2f0d8e9e1c0acc055c33fa873497be63773b7d6f2dd4024920f4859c3f62af86d - -COUNT=8 -L = 512 -KI = 8c98319ae349de8851d720aa340df9d6 -FixedInputDataByteLen = 51 -FixedInputData = 31ddca9cf49165db9b857a992bdb8ccd657a6cc57110a21265528df2074699caa636a32af868cad6eadd8b57ddca7b51a55203 -KO = 42df1ab8242075ecbcf8f18b48809ca121f73170c043ca30145bb7b3c7b6b0f54090e004ffd264127c082a5caec6f023af3f18fd1ec74c5654e109f1206d3b9e - -COUNT=9 -L = 512 -KI = 868fe6f669de1233706cb6aae312954b -FixedInputDataByteLen = 51 -FixedInputData = e23669c67b5a7b5fadde2a2aad4faa9bdcb6e85b4f117957767a4365111a8847d9f86f935897e3a8d42395317629927218e2e6 -KO = 36f26b9839e6904cb16a0e3aa61028092aca2b085af77f1f18e465e863262b5ab4e2c195af6bdb00e18686eb085ef33bab7afbd877fea511887c935ba2bd7620 - -COUNT=10 -L = 1024 -KI = 1d4314000f1e5877776c354bb7e64497 -FixedInputDataByteLen = 51 -FixedInputData = 6f43dbfcf6521be85831220b7efcb88aaf29dbf5676117c707e273ad8b1a0ce68703389acfbe0d15e59ee705d74e67204895a6 -KO = 87ecad45c2123ede1fcf497a0777de158f08023a9c696f913ecae5cf8a8eb1e43c05e2c561b1f8f50ad7a79094367e963c2ce78a150ded795a074c59921817d1865df3c34bc396f627b34f5f8829fcc71c1dae7024689d6318a20788e934ec4948530e4b875f06e41a4fd2e532c2cad5af3b9cabb3e2794108c599fc8ac6d4f5 - -COUNT=11 -L = 1024 -KI = 25881d944982f63b07071431e64022ae -FixedInputDataByteLen = 51 -FixedInputData = 98296ef07161fdceed6b04224be5448dcf83584dacd59bbb03a91ece24c31a3f6508a2e6658b0bec440a370fa045bc8209b3a0 -KO = aeeeb2e70be54b314b75c9a68b260eae25fdd7cbfa1767bed7525cea60b9432c3f86938b3ff30aeebe7e9bab7421a1eb87dc1d418c28f41a704f2d0f96dee288ad5c22b8bc61980a24a3f29255cbda7734f40cf4db73ce699d97f5e2c51ec93e3570c4f448e2c8ad4ac09128be978eab6635034114e33234bed67a7006db3869 - -COUNT=12 -L = 1024 -KI = cb39042821f514185a04aa351cc725bd -FixedInputDataByteLen = 51 -FixedInputData = b20e7ebe97682a492d39a80d575453cfa1e94d0638044672a9041b6e538e89b3b0a6f0028b546b53bb155ecdf0c5acdd89f778 -KO = 158c77f1ef7324cb88b2e4fa93a10e7f34f831ca937cc9101525cbc45cfcee456230350f4c0ac1ba4ceda50e093c94cc79f52b1f778573e7f78ec9336232880fbe01310b8ef65cc836b17bd58fcf6f58a2f0196dd4238a5bff43454830aeb3b22307cbbc8e811629d051d0fd39b4baae16efea2cb736598ed86ff1d493221f49 - -COUNT=13 -L = 1024 -KI = 98223fe1d8d22e1a489ad9ead1d9a378 -FixedInputDataByteLen = 51 -FixedInputData = afca5a1d810a8ce377f6f6b0bb26c5645097b23ae70dad3539f026ba60d0c81ffbe41a945507353596fd06327c3f5e184edc66 -KO = b4eff3da1952cac4c5191d815f167e7d13c89079fae7e38d40da3d50e76101339fd0440c37d9ce7370700b160a957ae4f0683e699206fb41bf6136abe477cc5d4909e6961fbe99e5ca7303c67cf8bce9f374179db48aaad7e7ac9bc81baaee6a60da04a4a48632f2c1a7624be52811655888e7484ca9b74f534cf0753a891333 - -COUNT=14 -L = 1024 -KI = 2189b632f824a3f7c3ac33c1f1ee3321 -FixedInputDataByteLen = 51 -FixedInputData = 28c1720c909d7b2fcd1ab599a56c99fc0a8386bfc2877ed0d3d064c59e613a14d97d3c08ff8919a699a0d9b180da69d32e4de4 -KO = 5baf714cac44876bbe87040a839247436bbe3815b1150e452b6c3fb49c863d5203a490a5a13f7bc63b2a5c520a8b7f9e54ebe87b938703b3d2b46022fcef75ac7bd969b184a89f0574e3c06cf880ac126b1cc2e2b39b85e4350377f98af9be7d19b4085be36e9903184999d13696dfbca12dd1426fb1483d2fe1427fd3fa9884 - -COUNT=15 -L = 1024 -KI = d137c8187e4f9e0d6ec758fbf65866b3 -FixedInputDataByteLen = 51 -FixedInputData = d656e59b34e9b6931fa48070253255314e1d1ae8eb6a2f1bde91978d617fbd97e6f4d5f4203b16bb30316fea0b5e3780b766a6 -KO = fd78a0cebb5c3922a4047d80124c7008cbf2a5ee91f01666b5c9302b8bdae9eb6ac659644b1358926d580265851ae03ecdbff8a73d6943f0c3bfa961461106136cacc600c3fc5ce38130c7490fbe565de8b5f0b00e4ab618d02edbb6e9aececf6fefef13dc9d0e43c93449d0eb94abc9ebe9b2d3170836421df3f2c8442c3ba5 - -COUNT=16 -L = 1024 -KI = b8f3841223fa5ca3a910f19e3389cf4e -FixedInputDataByteLen = 51 -FixedInputData = eab778d54a5354b8a503927f6f80e15e1ef4b5a65056b74e7aafd02954cd85f7b4344727669e104efce5526bf898a5f4783ca1 -KO = faa5201fbaed8522110fc622a5edcf2aa8d362720294cde1c865c3f00ba3e1608825b37f5d5dfdeefbdcca94034bce2113d8a6ffe3a15d6de9e2fb6ff7f9269d6cad4093342b6439d9dbaed3fa6183dd5ea454ccc8188a005a113dc17836cd824ef150470ce5331b729dbedee65c1509a36a0b3e731a600ab80e670169c5fe81 - -COUNT=17 -L = 1024 -KI = 59b11e8e7e7f12c5346282266d46a5b1 -FixedInputDataByteLen = 51 -FixedInputData = 4c5c631b78eade163fba13e6792dae2037025bfbe2c06dda5143703d6591172c21a21aa7628097510b75fc5d1c3efa01aa3794 -KO = f97cfe41e316da8844a487709f1698ac6afbb040d17f8d329500c6edf63c93706fa2a387be2b090a5c423e34d814f7c9f6953cd4c4446398caae410d5a56efdf9762cd1fc20737c516dd591856fb36febea1f2d9d9545b54b065c2a9c01ce96850ac3d801eec02c50159a8910e63119b298bd2062da087a788f0a4ec38648d15 - -COUNT=18 -L = 1024 -KI = d5fc75ee35e402bc8a79750fb8d3ef33 -FixedInputDataByteLen = 51 -FixedInputData = df45e2b6cbb441b82aa80c421ae7158d4862d12e654ba8f3015e78b2e29ec7f4fa5baf4186a11bf94b3b0e08c2ab7fd3d4a68e -KO = c1b52126e07c6c3d794204f4526e343d442553828a38de07f9fa4ff111f037e835c290d19acea5ef8916c63317e49c080a88ad5c2ddab67358ab5eb62a4826600eca1740a224adc4d97215f01d4c784878e0af818f396b79091e8773600bbe3316bfcfcdcee6b0f120167a2a26d3fbfaa29ec3611c9c614e2d816ac29c667193 - -COUNT=19 -L = 1024 -KI = d9fb7550b62d9507673265a3249db1c6 -FixedInputDataByteLen = 51 -FixedInputData = 6d9abd2d795d2474218dec6f5663975d7d04b011e9b658d2177018104e38e2413b98a0042d9dfd1f6c21afe65d250007988820 -KO = b5df5d93d00bc13c9cba47ef4b8c285e61f8b5d70edc972072859e8fbdef966946a3af9c7cb33f72c70fcf67c67962e8f71dbef0f951a2c8f356699e67673caed29c726d87c16c077124ccccfedd2a07f0b4595439d3977fa14f6f71f8617160fcb5514fcf65a77f2cd3c257f654e8e8c5007529f7140ad43440bcdf73f44866 - -COUNT=20 -L = 480 -KI = 76abade7735d387d672b47d0c38227e6 -FixedInputDataByteLen = 51 -FixedInputData = 9531fd80033032c0b118df077a4e5c8bb8e59c6ea9c1b3bd86fc0dfba73fefbd35efe742f4f4ec55ab2e64f8992c79e0d9653d -KO = e734a7b973746113067208a7d107a414315251ed95a8103b65c2f3d993dfb92e43bbec6d11fc4faa01b80cb2c9883b1c31cc22ba09c0e93305b17d61 - -COUNT=21 -L = 480 -KI = 92e1f722377d6b72da0c22bb532babbe -FixedInputDataByteLen = 51 -FixedInputData = f30d0a2aa0aa12f9bd6e027b5225753ce5cefb4aafc1758dd2b028e76876fb58adba0fac759fe892a120381b2a8f6dee4f83c1 -KO = 57a34b42776fbb73d7069792bdea894d7d8ea40c8474c483d6b2a2135017a878170fe36ce2b6cd39eace37ef86117f2715167064d0841bfa874af014 - -COUNT=22 -L = 480 -KI = 8d245d3ac350474d109a9b0b0dea7994 -FixedInputDataByteLen = 51 -FixedInputData = 67fe235fef69199b8e552b79e648e88a95db704148b61ce63b79e5369901681baa45e986afff2f131b8adbaa63413666138f04 -KO = 92a168ff18ca9218cdc035c42c4b8e797780e5ddc8765e928497c4fbaaf8058fc85189064cd950343e8bc9701c2b466e9503c137d9e89b249ec0d0ac - -COUNT=23 -L = 480 -KI = 33ad5f32910e24d43494d0ebba9332d6 -FixedInputDataByteLen = 51 -FixedInputData = 213e15dab8706cb77d44d43615f9145d30a72fbdde81a8b9064f848e36ab0e3ffe4d7bb70dbce5263045c247d44ed2714a91b1 -KO = b86b7be87482d61a026d148fbdaee03c1739fb086fc6f80f65b260f3003677580abfb0c50b0818470a5e651d5f6e3f15241e5f1556723e54c00ed2d8 - -COUNT=24 -L = 480 -KI = f7fafb310a28fd8fbe351a5d20e2dc47 -FixedInputDataByteLen = 51 -FixedInputData = 60d41114155dd70dcabefa4c3a34575b4869ff2db09b7811c0f514952bf54f03ab233060cb621907bb4267c8f702e5c231a47e -KO = 06e443d1f2bd2eeb7caa29f456ca59a7e72aff344c73cc6bbd2ccd442120fe60c56216a703f66d8b33433fd3881d75a0cbdacf44ffda5b4630af4f18 - -COUNT=25 -L = 480 -KI = accf4c17a08f1afd1f0df7099b6bf249 -FixedInputDataByteLen = 51 -FixedInputData = e930b14ac2b8b37a0b8b02b0a51cc49ea94ad2a8cde3e11a48ec39bf262667ffc8ba404c14dd31fc58cd1ca88675ef276096c4 -KO = 3c73489cff4889a6b965076d38e1e26c6865c3ef8bde7dbefa3acfc494bbb8c8b24820a1b3c3f27eb2c4db2059ab245442c7efd0d31204d04060fc63 - -COUNT=26 -L = 480 -KI = 2652c2e1dda24e8704547c42e8fc95d5 -FixedInputDataByteLen = 51 -FixedInputData = 9af161cdda8bac479c9c545fa50c501a281dfc61bcd9d5b0a0eeb3c58e3f796d37d1972556dcbd390345688f926224ee8bdc08 -KO = 63129de82c1cc6a162851a9f0e3e348e24c74b9c502cf26084cfb456450bd94d6fdbbff0b4bd7f59bf0c5633be2752e49e3f7f184b7de20ddca8b800 - -COUNT=27 -L = 480 -KI = 52bd4b1c9dff8d15da15698907d6f481 -FixedInputDataByteLen = 51 -FixedInputData = 50f46b41b5339d4708146ec680dcee2a5802de8873f944c1ec383effa9118edd8eb5cf0c2a7aef41bd5b37a3c6eaead5a712dd -KO = 8c80d79c440298dd897f2fd49a1f58deea90513d7640908d7802f309cefba298d60487b9b56007d4f54446de0ee9aa9339a7f5b7626cd21de4f7771f - -COUNT=28 -L = 480 -KI = 43e9a4a41936ebbd3b6dc9a247cea416 -FixedInputDataByteLen = 51 -FixedInputData = 67f7b21da0e2e6acd888c8bb31636a931d799063350c27de711daa7bbfc6f4bba1c8e76c1e05047408f3408df559d765da7c54 -KO = 2eda44d09717a02f0a0e77d12b2d843f45126580e206bb5c2e92deb3aafc911b926064bdb505ea9091a96b6ddb9bf94be0db3f3e76ae784e322d3613 - -COUNT=29 -L = 480 -KI = dbf0b5e49292cf87c4dc9d5939f350cf -FixedInputDataByteLen = 51 -FixedInputData = f7de525b8b08ab50c020242cd2efc48d5aec8de15728b6906156f2357514be02654db79d38669565389f9c34c14f438788dccf -KO = da1018e40bff788fb69e2381477c6782c7083ade9c1c5d880cbb06b01a9b762f433c6d3f8625f641488e202886d9885bef6d8c03efe11b1c838556d9 - -COUNT=30 -L = 1040 -KI = 4b5eb78d4f5e4211d4a499ab410b58f7 -FixedInputDataByteLen = 51 -FixedInputData = 20865ac2cb20d7a0ffdf51b742ff98b7196ad2a84571c7f90d81b9b4d3c0af21f547128d223219212c4669bd29637eb2f12127 -KO = 3343ae1014713dbb8a930568133ca98e58d7ff5c50370565f86b01b4b73657a83e807244d30d5de17bf6ec57da3bab5624dd555687abe363cd821b9e3c383fb1db453c87d6310beff93e173b9a96fd887dc6d930d9bb076f1590720248caf6ed4e38d4e552707f978a705dcb65f97d0d96e72fb9a66de94e0f90e845ab8b58f5f29a - -COUNT=31 -L = 1040 -KI = bb42ab46a1962ee93bc815fbb08f80a6 -FixedInputDataByteLen = 51 -FixedInputData = a652774902315912ffafc3e4357655e0f7ba54e452c6b20c92eea0931d4cfb6b7a9eb862b7237778051191397dbe442235f33a -KO = ebc315590f02c63b330b045ff69c6577b89026f7164703eba7ee962bf05360bce44a9c46d0fd2f0e7bfcb1dcf60bf1194f0b8a7893cfb42a46b606a7ab0729c4877a3c970669bf8cdb0355340bdd2b5191ab63401882dff08aa3839110ea7cb6351181a98924cb12572ba9274036565ca6073e10a9d7fd0e7bc386420c9a2e405a6b - -COUNT=32 -L = 1040 -KI = 70978bc1ecd22a616444637e3501e271 -FixedInputDataByteLen = 51 -FixedInputData = 7728f16c93f2fe7d32b79fc192e7bcc9fc4b89eaff6880955a201ba69feaca6204a2a62936a8b5f5460feb4fe39b882ea12cd9 -KO = 04a4cd39d98b6669b7f6df40e159e67e4809accf3f7c316260f290b4c7960a1a3f89ef22f5b0e8f1707b6a4bd31fff979212051df762ef612e2a6e227ccb218fc22a6ff86aaafd5caf5fd2cc4d8d25adcc10b89ee19ad226c302e2cf8811470fb9dd0a50e8ddc7b8bba88315deb3f3be1e9fa9d1731213b1e763bbba8dc266308836 - -COUNT=33 -L = 1040 -KI = 4d167379f6fca5230aaf8121e6d72de4 -FixedInputDataByteLen = 51 -FixedInputData = f8864df0233b92fb5b597d5adaa900593770e5cef530d674270358b92e061518ebb32365477e985c63c536a89a648b190fde93 -KO = f5cb363c36533aeede347598e079061935d0f32ba3177561a82b3f758447233fd56cd9060f4e2bf3ded924ee1f71baf60706a46cbed7eadf8d1347a48432a1d109005a61d7f195f897747e6a7e01f2bd0c1da1c29f3bd8abf689ec9982657d0a21dbc0b8223bd718e7fe6fc4b174a9723eb1557d5476a04f41075fe64d950b474e11 - -COUNT=34 -L = 1040 -KI = 89f1d6822230e4105b396c26255afc66 -FixedInputDataByteLen = 51 -FixedInputData = 9a5958a5a952a0fc36279d84096d695d1d15ee1202cbe5c505524d05885a046ff0295f3be5de48807e5f01ca5ce01bc5d1bb5b -KO = 76c53669aacf884d696a4213b5d1cf01b13a2150d6ab1421809b7b93226ca2e656d6b7789abfb58a9608174726d769dc61f81be906b4521cd9669eb4301a4c5784e257d4726436617feb81bcf113a3000f31073ba6993e39ed99979100f9f30e965a239a4aa1da2a8539949472202fc2ef085f35d56ddaf9240a262013d561f0825f - -COUNT=35 -L = 1040 -KI = c3893c95b78207510cd6a18e590d69d7 -FixedInputDataByteLen = 51 -FixedInputData = ca8acff55904f186edccdcaaa6b8d50839a1e249d97aa2f23bf144957fd85088ec21a6974d153afc6f42e97786904be21d071b -KO = 36577de0a8d1fab9334ef1027c102b38a299b7b9fc04d3384f0abc7a57fb00327f51957a4c612ebc706c63ec13c9e91b4da5f6366bb48d6de203b33b6e6909ec413c94b72699ce47fa5cf6a7ec7b3a610dedce72f5f3425356bd64bb8d28c74fcfeb9e4832fe54105d9c7187b04bd2c730962d512a730eb9d10cfde9b1eb683e844b - -COUNT=36 -L = 1040 -KI = 09cc82d3cd9a3e476398a48670ab3d19 -FixedInputDataByteLen = 51 -FixedInputData = db53789babd427b17aaae3d036bff2cc8514d94bd2e76243b65570cc8f1a97e272abae6051b38bc3884c5cb88cb1d458d944b1 -KO = 0d4808d45f5dd4c78c787dec24e94f717d6941a1b599104fa1e70d4e79e15b63922930c4a7a105e5a0d8be5350260cbe47b01628765bcb822c515025561e024dcb1462701661b42087b8305886ab8c5aa842c2903f8e55063b2800445f1e11eba2be15f3993632e026975ae2c6bd5035532d9743712d59286ec5be3c1f1914bbbb7b - -COUNT=37 -L = 1040 -KI = c8ae3fc28583b62f55325364bf5e6a47 -FixedInputDataByteLen = 51 -FixedInputData = 87ff905d203266374d1058449ad0562acd9c97c563fe495e99b4eba1e30d01a4a2893031d81629a82b33a57fc4829dbf9359ef -KO = 830669b93128e80e1461f95a56f0c023c13c2792f16fdb1c867fe44be22b692ae5e0aa38da3c522bfcaab52a53db8cd64c53fc728513078b1af74e65a69349cf8a0c112e253cc6d4ddea99253f34844ff2fc11775f1ccf8e125f80fc11710c6b382cdf000db338c059cb104e0d2fb444e4f7313ae5b8e28de856284c9ccbf142779a - -COUNT=38 -L = 1040 -KI = f4e4497f645de4d4cfaeb00978969dac -FixedInputDataByteLen = 51 -FixedInputData = fe25303ee2139d5a19cc4437d9edc67696ad2644edec8e67cdbf2d916151c7d46149798fd480869575105d1fe4f360b673c0a1 -KO = 9a7b4f5bffcd894117c9a411441dbf4b39eb8491eeca25d813f37d4a51c5b13c7ffe6f0df54abda7d107cd24b04d54719ed60bba25c4a9e57544fe38d802b13a7d3c5fd5d4be14b6e37dc042e42083125d16852c313930cc7dc3af0a4c61dd10957dd369b75001908d091aaa0461c5d63778596333311342054733bdafa7e46a5657 - -COUNT=39 -L = 1040 -KI = 3d58b38b6083349565f4533c369492c4 -FixedInputDataByteLen = 51 -FixedInputData = 75c344f3d16153b96345f8ba32503caa1667da1e813984cb9fc06b7e218a638484b30e60fc25b80256291802235ef0e1ac08c0 -KO = 8bee599d0a65f5b2de9eb251e7dca44956a584bcfcfac21786e316a0b96e63f66d4bac00329a0994038172c924eb61f3ccd139b05117cad33bb69f08590cdea9bd6b64b188a822b1cff6181952baae9fd6862350d35bc1776c1fc05f3754e1d46911da52ad9c9337284d6abdbabb6d2b20a15c46ed1be53c89e402f5af614c43165e - -[PRF=CMAC_AES192] -COUNT=0 -L = 512 -KI = d17dc30b2ae32686e5acd5612d0a5abe88feb3c8704df7ac -FixedInputDataByteLen = 51 -FixedInputData = ccc0d0e85a83506fab3b2ca66a6b11605fb895d144b90adb4aa8e5ad8a86cfa58828cbf26539dceea168f4d675ff8810c63fb3 -KO = b36bdf061b50c62fc3d17bbdabed230417b24e7c48ed9e4846d2675813d838fd7d85538bd71bf3610121b905371acc6eb68f9626594dee4bccc09e318e91d923 - -COUNT=1 -L = 512 -KI = 10741562d40467e2c932c99c18a5dddc3577c720389c3bf7 -FixedInputDataByteLen = 51 -FixedInputData = 6618e975bde279950450388ee25a76faf6f0491245a00b8d15d5ace93a4042275ea52df7c71283a3a9edbd1e86293022d090c6 -KO = 138be59fd77e20d28a77958760ccf723131d7703bc73f99d5dfc7b4faec754e8eceab1422e999f8e87d7d23242afcc79c75c52c9e8251229c451d4756d587cd0 - -COUNT=2 -L = 512 -KI = 745267928d2a50202c7bbd6f106d52db88975dd80ec3b81e -FixedInputDataByteLen = 51 -FixedInputData = 84c8c1d90b688da561d8d9bbe57fcd424d09908b51192803682f945734cba1b11e8764144e528b9ae525ca157e43a1ce18ea14 -KO = 568ee53895a04eb78eb287fd9a2559d0da676a5d4066127447297082f5b9e45dce70e71bedf9e2b411aa2655d2b9b09d5954ca069813626d88374806a0883ee8 - -COUNT=3 -L = 512 -KI = 81fa14fdd7c740951c1216991402e7e78bf8a8d7bc79b237 -FixedInputDataByteLen = 51 -FixedInputData = 1b43a40be54706024aac208c2b83fac051413130ba0ad8ca07f9481d06d2dca2ca334e58c0ee4122af79d9fa5677c42cb4218b -KO = fc93732f49d11d8eb4887ee7214539ac73a33d681369c0b3600cc8cb65c9a598d5ef3738cc091c8f47bedd69516b3bf0c4681c854623ea0483e5c5f50bb8d911 - -COUNT=4 -L = 512 -KI = 3a1ed9aad676701bbe0099b5af7ebe0c6b93b5fe2a84ab09 -FixedInputDataByteLen = 51 -FixedInputData = 4f27cf1bf278337bfff728e3e94ae9f0f8293b9719fb9c00c18aa3a31906c1e7e4f5a119fe74633f3e54f1fa1feaab37a6aa98 -KO = 826dac7f08321d1e3992cce4fab314b12e46e3247513b8bf4dbc7b6b1a11d2bd43018c8942c65f2ad6e8134dec7694c0ab2e31312b2bc81e65bd9cbfb8b66520 - -COUNT=5 -L = 512 -KI = 86daf5f71b18117954dabc552fcef731545b0c1795cba3fc -FixedInputDataByteLen = 51 -FixedInputData = 4877e9d0bdc053de1d71ea7a2338acb840e2d7162a2d027a6a2c1deb02f0577e467f797e00c51dbfc3275ff8884739086df413 -KO = cc0429ac72bcced1451ff032ecfabd37663a59053f307eddc71841e3bacc2af6f26b049fe837c6985c51a8b7712e9b3d91c71d101d02c0097706e78265fa3c8a - -COUNT=6 -L = 512 -KI = 3abb3fdb457dd3092cba01463ec2a87675096e341a907041 -FixedInputDataByteLen = 51 -FixedInputData = 2f134cfa4129335017eafe5cc4e59451ba810f34d9b9b7bbe699dbe021e8e434a595f38b726fd2c514217c78848e8698e18b08 -KO = 4710bc4da1aa36770e70fc95a7dbc654e05e2057dcce1b6fd55302e2a5cd5608bc07de54eafd96736a0a7e0b684256e9239cc290a3b903af71f0a543b40b9133 - -COUNT=7 -L = 512 -KI = eae46070bc1b9cab8459660ba0bf5410eda0a60b47590ec1 -FixedInputDataByteLen = 51 -FixedInputData = ac72ee26712545cb497bf7f246f7023261e388b76f006f0e3b95f57d3fe987887ee07bd78b638612c351c6779f4908fab03092 -KO = fb2c41e4f05419c122ad8c86d3a2622f1016e59dbdb110df01d882192e4d224c5f2af5b079dd4736e65fd81b298f4f86debc1abcb2f6a613cb00dafaebe80c23 - -COUNT=8 -L = 512 -KI = 512b814858b83fefd1f4fc1c413fea25aa94ef5208b7814d -FixedInputDataByteLen = 51 -FixedInputData = 7d6b6d834a049ef294b89c0113f18a1596d73572b8d22fcebcba41f714678826e5f95ae4e36981a26b5b48bbb8f8653ce4eab2 -KO = 11873ad72adc953e3f20153b8f6e46e33b4b92aaf148db826f133876d6b8607eb7479c63cd8c3e6d5261d81e063f363949406649f442e577cafd96cd6735ea46 - -COUNT=9 -L = 512 -KI = 8ed6f3b45be42ef463560e6ac92084287571fba1a2d669c7 -FixedInputDataByteLen = 51 -FixedInputData = 00fd28604d0e0e607b8d258d2c3d2aa2e34c0423bdd2fcdfc2d2616143c55bfe33fc27e3f460701535986b44cf2aee07435548 -KO = 47d33d3ae2f719d2b946694caeb2ff0cc8bb14f836a74c06435f499455130277b48889ad96775e8d0a6732f1f12d781cb2e2146d31811a7632c5872a91781bcc - -COUNT=10 -L = 1024 -KI = 0b1ba7ea6c8c21fb7ac118dafade5533ea35f9fce7541e46 -FixedInputDataByteLen = 51 -FixedInputData = a9c261d89097053a00221a785469b8fbd2fb4bbecc209492a1680fffc0aae3f1b44d66760f90c9caf95c9f401544284a288233 -KO = 5298b2f15cc3234dc30562aabd0db54e4c1c8a8b518d674952b2ad91a379920abe3b1cb87b71bd0935a1a550743435b9d234fbb38eb9b4a3398b4434bfc022a9cc91b78befbc2bf4caa08315cd1ffcdfefd69ac33d9d63507a9d2bff25c54a51cde764db4d8c602cf5dde8b053abc1eb91a85fac2402cd43bf78bd494cb19048 - -COUNT=11 -L = 1024 -KI = 922537a019cce13957cf8969152d7c20d304dd50f6b003a3 -FixedInputDataByteLen = 51 -FixedInputData = 53fdbe3287f31bdf24d81d5c5d43cbcfe07f85cdabac097efd9610da7daf7295350508bac9d42b9169de7adc1fdd49e4418227 -KO = 32becfe56a7d920294c10d7872a83f8387520bfd243bddaf9a7d91b9e7286d7e686714568da01fe6804936334154bd9a63af43ac457faa9ae4293777841f2c1e5637245c1749f266ae6be8a8ef88e8f944a2d49bc43db7130db481f076da132e1ba4ebefd103e9389159c8e087b58547639fcaa29810b213aee04f3d04c22787 - -COUNT=12 -L = 1024 -KI = cb188db9f318e2f72984213cef7ab61b63f2af1e732b2aad -FixedInputDataByteLen = 51 -FixedInputData = 27c947da926ab74c4f7a0319c5a54919e05149299acf481cfd3449a9c5da51617fe119936eb18ee38b316b954667e79f7469a6 -KO = 3d95aab7533938ba193539d686c3a4ae4b10f68400964c5772ede7e3d675bbbd3f22e8fadf03a8a612676874ee7bbb0973d493191538ba9975420ced731d2e018d767606cd2e04f6d9d6489bc859b2782a841eb970c95dd057ca07fe714c30c78204002632ef00c4a507afaf7fdb9d20f92b38063032795797772ef24ad34678 - -COUNT=13 -L = 1024 -KI = ae0ff9f3751a9d22ec8f127dcffd1c81179ab4df9af1153b -FixedInputDataByteLen = 51 -FixedInputData = 229399525a7c758b63acdae1984642008423d491542ce6bd3d286dc89ab527b37f4d6f09b0a6e2e8e87201c6ed1b1997916131 -KO = ccd534c70e2588ce0a31e4c4a79ee67423ea401c1e1b5a66fa6a3fffbbcdcede826bdc69de977dc9f580e754a690845416714561614fd92aab87712cf8e7e27fb4b0064ce674b725b3ac40aa35a575248a021413db66abd0ef4153cce85b9ec80f37a9977171026ae7026f0d2d51481b7341254e906163f3b45fd2d90ee16f39 - -COUNT=14 -L = 1024 -KI = 2cf211c0ab460131fc33cd0852ae4f0693a5b9724f2a54a6 -FixedInputDataByteLen = 51 -FixedInputData = c4f6d8cf9476a37ee17afb17179e5bc76ec02cbe38fef8afd5efc259c26c5834138f2206c7b8e14eca70b22cf4ac5bd17dbdda -KO = 69301b81e596022a74bf39255d98e1003e8129416c3c7925361dd54b6dabce1a2bdfdb9adfbb67ffb4df776b3bddca4eb30fe0c35cc0d5b86b3d02614ada64b13f17b43cac619b1a0bd35310c66bd47570f37eba66bd1fb9f71376b432bd713e2b3a97f8d2a57e4db638b2d30771ed5ea200769a31570920a4c302f2f5d88842 - -COUNT=15 -L = 1024 -KI = 0357264f2bc6735cdd6ee46f575337151d1fea08bcb7c5f8 -FixedInputDataByteLen = 51 -FixedInputData = 0ddc6f4062fe476029712c3f11ff2d7cb050245d600322d1a4a0ccc693138c7748f1da9ccacce6b7b636255215eb1664dc5b28 -KO = 91886331719d0e3283c7b15ce85a624a51600c82d0348e31abc68ec841ef8a3b2cff24df2dae890ffb92675bba9e09ee6524f9c8d16e934dca20d59f42665ba0f341ff862d124e286e98bee26941853859c126c48e876e868c112ec170d598b69234a1794ecd741e70c8dfa39acb9ea5990a0bb2fa03cf0a2d6ddc9a4e215599 - -COUNT=16 -L = 1024 -KI = 80ad21662979e7b4eb872f25023fc78efa7ec95b24c26fd4 -FixedInputDataByteLen = 51 -FixedInputData = 860f46361ea378ced8ccab6d355a51cea0782db6ebdfbce3378ad4646f0b459614df73362295a789da911793f032e95a2ce05c -KO = 1e46a1c20af99cda87caf87385952e61135538fcc6a5224a78c8f7ac11cc7cbefeb3fce47f286ed3fdb9d5b0546c64bab51f1f8e342de6a35796b7f4cefc10d4fc649e793018c9842447ca8a257844a63b0b0c90d1daada29b24a1d8c5d6216423959b4f05a083f11346421627988bd713ab5786454ed669eb1e3a4d98536f23 - -COUNT=17 -L = 1024 -KI = e5374b9423b6e0b4699e264ad6c6bfad3ddd3ad28fd827c6 -FixedInputDataByteLen = 51 -FixedInputData = 682fe516c16eeb60664f48a65db501f810173d3061fdfdf0280a37f991cda42e6e7f9c92fffaea6be65a3ba4e517a8a656f3ba -KO = da5487e9c73d56b577bfae56cbe1465aa658b0df1047e708d5bda913fd2621b7af53e397fff69df7324705c1b537b37c4384e1933abac726e8c5ddaa8a9bc8476aabe6da39e1f6dd58041cab42a8ceda72f8de057473a750aaddcac48cba87ca354ac6943fc06a89b14555cfa6497fe4db431d4b8a4b7f3cb4fc6e1b3ad6c0de - -COUNT=18 -L = 1024 -KI = 7d73457cb74df45855621b6564015f468fee3ac6280363a6 -FixedInputDataByteLen = 51 -FixedInputData = b8f52377f5e7b7efa30643fbc5f78f78d52050c325de9eaa878fdcdc4e62d5a49546d9a2e1b5b2a35a44ebd5cf840c312da432 -KO = 36ea87b4187f2f1469f4f6eb98ffd5837cbb93b7ec5a404eeb1f262c9f8df2dac91756e3927e08527259e116976264d894d509965932c09bf32bf31e4b13dff0bd7bde2d5c239c1de4e1404b055affb098b4bdc93328cea4cde3884759a56ec125131429ca6540bce43267b97cfbbb00715b754b462f72e4d4d230c735f9ef69 - -COUNT=19 -L = 1024 -KI = 7d19628c4cc5f44b917580ddcd7733ead3fcc4e884b3499c -FixedInputDataByteLen = 51 -FixedInputData = 858e08fae07649c330fb83d974912d9c895c6056fe96b7a6ab135a4d7e4cf298ed3d8ed45e63a5970f8b04cb731e5ad611ff60 -KO = 125b27d895aadc277d31c5fe270803d735aeffa2650d53de30160adec3153e017bb51b61c5f782acf75869d493f36beddc33a4849dc2a58a94f229fb5eadaadc22aed103a59f9bfadccbc1fbd11cbbceea001117e2ce3047307cd2740b519905a4556d1a0e5cc11524535e3064718dcf00968abdac86f10e3bffdaed48eedf45 - -COUNT=20 -L = 480 -KI = 384ae675ca6bb21256231f77d58cc6e3d230a3060dffb60a -FixedInputDataByteLen = 51 -FixedInputData = b82e1965cb9ebdeb36e8934da10ca1474bef0e68480a0c8621d4d22fc212af7d0c437dd2e2a383c378b3b24923c1e96cb3b5a3 -KO = 235cc8c7b32c3b8dfab8c00c42e4de076d9fba7d22b08f66c054fd2f2f0d7e95e504dcf4233acb3a0f15870bde64f5819aa8b43ca33c1f77fd0e93e8 - -COUNT=21 -L = 480 -KI = baae937d24bf86788c0c0608f23de03530cd9abb9017a470 -FixedInputDataByteLen = 51 -FixedInputData = 338e18f02cce3d3adb60141d07e21daa23e7165327bb610c3f646d752b5e1efa69f6cea3b574d1895b3123fa94babd4783418d -KO = 23f8403681520918b987c2acdc3ae16c519ff4436f49d9823350df2509554f9ef926073f2b822a4ad5ed3299cebf7072497c3549b70b0322336f82b2 - -COUNT=22 -L = 480 -KI = 65b795aafab5a5d1015f84f582be921220801a6f08b28784 -FixedInputDataByteLen = 51 -FixedInputData = 63ff0a53df67c36b88008f54ebf4f338b10561a706418a16f0e3f22231c434c9c159c46fa14dcb83557dae86ed7499ab131b71 -KO = 4994cb2a47fdeedd51021e42c24aaf70c8eb29b62115a6edd505640caf465aaae11095203281521ffcb137fb4e1e9cc989a83d9e197788b9f899cb2b - -COUNT=23 -L = 480 -KI = 1ea3ddd26ca73c286e8ea7d34d919db189f55dd4cd818a6f -FixedInputDataByteLen = 51 -FixedInputData = edad3e85b788085b5830b851ed4168f5d2e32cf12dbd360abf46350169efdb54dbe84e962b76d7257ec5569dc73b2685cb868d -KO = b8f3abc432e2e69b5b97b0e980fa6a82a95335d2e6808f9d964fee86f607c3f3fc5920657856ad5295be6e779317fefeb72fd2fa6e67cbd535844aca - -COUNT=24 -L = 480 -KI = 3e16ec6f84763dcd7ac37736edf5380b396bfb22d70b81f2 -FixedInputDataByteLen = 51 -FixedInputData = 0588917a0d8d95900e32db360262e9cdff3c00e3cdf9754965aa9d769e00586604cea9ce5ef8113cafb68639e781a5e9ca0b11 -KO = b2fe6f382d54152059b17dcefdf0ff537924d9d9acc63db58a2dbad76902352fcdeb51129d1efb8bb27c9dea3b9652d458aeec7d86f95406246ef5a9 - -COUNT=25 -L = 480 -KI = 43346eb389d989307c0e4456fbc63fc37c48fb8e83e02949 -FixedInputDataByteLen = 51 -FixedInputData = 742b44c4fc23321b19f1d06839de93af2103d51e28d4aee50f939185f26a5b06641d739e592ecc09aa6e9df75516c98265e0df -KO = 1becc234ff6f0cd570fb1c1def2cdc01aa101a9d4cdf2610a134914ceec7d37af30a1df894fbf9543af0946257fb3f357c270fd6ebcce9b1ed027395 - -COUNT=26 -L = 480 -KI = cfc42a9cc0fda7172c652ac4244241bc47d2d75dc4497429 -FixedInputDataByteLen = 51 -FixedInputData = eb53536282f640e3897c2c276ed6aa6dea6aa671c01e81d6099713e871893ed29153ec29a7bc193fdba8aa8eb7040cc92e1660 -KO = 7a9202bc4e2b99930a8a60c0c55adbf5baafa96769194c9068299e171026decf423dd9c28a3bee46efbdb593b4cfc5b5d90b8bd4251cf002d18d31a3 - -COUNT=27 -L = 480 -KI = 2da9f16fba85515851a7273c124716ef1ec69e7647663713 -FixedInputDataByteLen = 51 -FixedInputData = c40666ca4734d47640dd587acef82e864b9c562a06154178a519577af03e1d7795ac6aa0d8fb94ff1fdd9eaa9a98972d077ff4 -KO = 65ed9dd420337f7a4a14aa45bba7be046ad1422c984495db673100d7c53aba12feacb3713b97d0ecbf4fc5e6ee2595e291a169ed194f88f95bdbe33a - -COUNT=28 -L = 480 -KI = 9ffb8cc295d179451a2acb8bd1bdde3c5185aac3ffb998e5 -FixedInputDataByteLen = 51 -FixedInputData = 18d550de21893af349ee36947a12b9a3dbde632e1c2f1f6dd96c0ce2d3c1f1ab753169694ca528afe68bddb4f8b915ed706c6d -KO = c3a4eadce8e9596ae94ac973c51bfe8867361e548e1da08b1be31547e0736a50a721b3198e34a555477f27399932ab07bccb42575b563f7ce76aa66e - -COUNT=29 -L = 480 -KI = 4ca734d4ee13d50f88230ec9e0e31725d5a8af2e1d5ca751 -FixedInputDataByteLen = 51 -FixedInputData = 3d8958c62c2b0a559122ceed1556891a532acf98b6d24cab01718c4baa1462aa70c24b187c25ff3e3442263e7f1e9338a395db -KO = 4df4a59adf048aa41dbb780a489a2df2da14d9e162e1d26899d931cc16d77fac06117f6bf24d2cf9deb93c004cf832f7bd48ea664f0323bd5739fedf - -COUNT=30 -L = 1040 -KI = d3fd8d16d7976a00964560c13f1225d0410cf63151febad8 -FixedInputDataByteLen = 51 -FixedInputData = 9634085395adc0785d7d582b9ef3760b607356a298fbe9d08888da0ecab265779bd388d643af05244279bc0410674260b32a89 -KO = def82be16488305ca339b83656ff528ab5c3a400392c0f2faff6d50be51021eaef1af8e5043757be2aa71939a3b959384ee0a297eeb1a9d5f51ed41accf5e48e6a226b0abc287c04e9e905cd4a299ec0f9b8e7260a449ca0cb448d4f3e42ad5fb64bcdd67e1f534b34d3d094950c691605d0a041358ea50a317ecf7e9ffb5bd7c562 - -COUNT=31 -L = 1040 -KI = 822cfa674a446b2f3e23a735b4436be03076f1fd2b401d03 -FixedInputDataByteLen = 51 -FixedInputData = 158c1456975716bee997e8dc39a35eb75d6dd50f727becb104f932bcaa8767e8716b247778c159dae8086376cbf6eb43bc54eb -KO = f69fb32e16c809a4afcacd4a6ccfb8b4f5e32b09e70e64b8625a04265e6cc81855170c83bf631ac800bedff8d1b7bc69792d90c4f387d634f1aff92a9c51fbdc1c07c38789007e7caeef32088a41737241830b06a2588995db5a84eae2654918cddeab0496c9e8740f67cc0fa187a07129888e9bf7ec1c7bc7d43b6702d43cf7dd24 - -COUNT=32 -L = 1040 -KI = be425298cae723686ef70db57ffd3dcc224f0e53b01a52e6 -FixedInputDataByteLen = 51 -FixedInputData = 337c5de18c9529dd7b0c92370b4c6e6733b39da379854a123831707e4304bf8d37e670ff3c7cea587c3e4f0c1b899bb896c974 -KO = 9716b987ee7206a8216765b95d8b29d9f66654f2f65a62c7990d467f7904034e778b693deb0e1a208feac26c39397af4f03c6252dad971aa36a9bebbb8a0bbec167988f3ac9eaec523023d8d4af81ea109a66c80efd628484b197763bba8a18eff89626c9041804b2ef8ad9e617891840fd0e6b866dbbf313408f2762e779d5c3366 - -COUNT=33 -L = 1040 -KI = c3d4062d6356b6e10ea0a0ef32d1a6c3718dee646e7d6171 -FixedInputDataByteLen = 51 -FixedInputData = cbec74a5376cb1a6c39844d3096d44c536237efdea398944d67b47a3aac12d31543d36f5aef25f2856f260b30b075577fcae8e -KO = e4143f3639e241a9ed000c1da393e946cc6865f69388629e87fdf4f878cc893e5aa5a28cd51fe3a9072de79bb1c00e056adbfd2a1e37509f66d632c3519bff79fd4ec359e41a74a9ec5ee75706f2e6fc705d9797d5e8f8eec49c8631adffef55d327e776e4c14e4588a9b98b68e4f931d185952d585f743744ed816707e934f8aca5 - -COUNT=34 -L = 1040 -KI = e844ce7d1882029a9927c5d85cdcbf995016580c2b75b98f -FixedInputDataByteLen = 51 -FixedInputData = a34a1c44171986abe1f8bae87dce94eb7e19389a79372a88190ebc84bf6263013241abf07460367880ae779f06802bf6e39d77 -KO = a5a4d361a26d0b32df02c1cd081449afad0a1d36c53bbfaf011fe6a55d0b3ef611a0bd1b20a377b950ddc96117101cad4af36db0dc0618b62b8b19c39e577e5f852958765a96db94b0407a86cbbccf91b53472a909dd8b1250dcfc4fc0835dbae0be1862d6b17ac875cb0477b7b629eb6b595c172f65dce8c8ec212bb7d0deb75b48 - -COUNT=35 -L = 1040 -KI = ee0a82f3d1b90b083d1e31f6fc60fef9fe1cce53c212aa3e -FixedInputDataByteLen = 51 -FixedInputData = 81aabad3a0453c023f2150fa8caea9b5c690a90374025df7f66dd033ae0069331e356343c51df292292ee7f7e290052c9b1368 -KO = 5e38a5b3710aa447e82475e02f6f7b63f1007cccbebd43c5baed9a2ef3b0b3432d1540f444157bddc54618a8824159ca669c2417c009a64267002a36a59ff564dd382eaa082f8f9ee034e09c4227fc80f90c5d320a98cf313f8779a25606d3026764ca1cf1464b531a97f877c7a5822a5f8d7a9e521cbbc36b719788b0381ebe1f39 - -COUNT=36 -L = 1040 -KI = 5220e9e25d591b023f18187491d68c1691e4ea1ae151a7b5 -FixedInputDataByteLen = 51 -FixedInputData = df564327887006065806cf03f09953927fdbb134a018f01b4f17ae39c1abddd928db8239054be2427bf19541d6f90527edf1ea -KO = 2746ff06fdfb3c46d14a8f6569bd32ac619a78995b4c148e60743e581afd9e849d7d1f38a140ef4472aa6343bbd81d5bffc9763d8ec2cb6ad1641ccd4f5edd1125549493055e7b9ca610228fd86a8f31bcf931584876847c4c80ddea4dfaeba5612f0512123c63b8df7dde45e88238c3e7814376174bd6f979f6f57544af39fb9047 - -COUNT=37 -L = 1040 -KI = 84609e09ff457f71ce3bca67652a7d85bcf34f27bb3eafa6 -FixedInputDataByteLen = 51 -FixedInputData = e779a74e00b9153b04cd579b1991ae86feb01f97e189bd75ca73d87dec231dad46b4f9bf0127a5a1444add8d3d5d552aa62295 -KO = dcc78dd94edf58e4dfecb25906bdb12d7b3ada67ffb5d8aa73069237791acbe63b83ebb10b74a0812bd501296deecd1b27905d1787f0288865c7190b32963ea1816e0b77de7e409c7fed79f0f70400dbfc67edd708ad403690269e9ad34dd3eab98a8f963cbef838c14fa9af54eb1a59ea2253e03530a5b125d5e876888a7a38faac - -COUNT=38 -L = 1040 -KI = 1590105274ff859af4aefe156b53f1bd4adc28122fc29258 -FixedInputDataByteLen = 51 -FixedInputData = b35b4d727e55612705ee0a386fa73a334c61d39f1e69b414fdc8058b8fd38fb3a116355dfc83001b521397ab7626b613503175 -KO = 5910e31a309e9f4f471799acd0316cc4920491b0434e189b76c3721688de91b688b71607899821a7a2fc28e2edc0006c0f268ffa2cb57f7d54e8338d3695f6191c8106a5ce795b612bca832eb07a20cf4dfea4f8d8917213c79d155c558c5fede7ed5b392b27e0ee71dea4945bbf28a752b38b6ad3f05f76a3aa74af29d5437b4b44 - -COUNT=39 -L = 1040 -KI = c8c73138725c72071c6b7dde45bea58ce325d38ceb3f49fd -FixedInputDataByteLen = 51 -FixedInputData = be93967354d5b1b2a61ed03390cc0e4316b61332c4661dbf3278a5778c932e91bd59352420924f69a14cab1295be6bd16a84fb -KO = a8a9f520aea30bcd1350a3acea722b092644b84420c8bd532476cda3ba88b8ad82482c0884ccd13f4bb582ccb2b11a3d97fab92d1b362b60cc45811a459707a9c1ef55dd0320c41df995a41f62be17e512b3ff465c6079bb4204246688994da80883f8d4bea53a830e5d9ab15a602f0a963f6e77902f21bcb3443ff771d7e764d813 - -[PRF=CMAC_AES256] -COUNT=0 -L = 512 -KI = f745adb6ecfa048f3d2737ecaa7676102ee0a922ece66fd54bd6fac1f03ece45 -FixedInputDataByteLen = 51 -FixedInputData = 073bd523412b11995e8260ca0541ba14471a9dbe26796408d68167a48030287c9eba21572f0a1fef2e03342f6ea0e377ac8efb -KO = 8d8cd907244bfe3b2fbc8a3991fdf56d9d10554cb362d9822230a712f1bf346514955258a78322fe750add487cc1c79d8faecba6655f52468e1438787ad62422 - -COUNT=1 -L = 512 -KI = 839a50d9817e0868794c8d7235643a9e8bcd9cf7e2d1d89980d795bde6bbe8c6 -FixedInputDataByteLen = 51 -FixedInputData = 9a846269ad428142dcb3d2692319780044446f388a7a700c8b11bc337c37aaefd5416525a7416dcb89e5ec738a2efae3ba3138 -KO = b0f3992399167002d8fecaed1211e172d7adac3431dd60dd4724128294f5ec8078774e69e1911dca4132de18a1fae3993e1b547a715d8393d58e9a174b054956 - -COUNT=2 -L = 512 -KI = e49c4fc1b89c8895764d12c53e6582cef891281c73150d4789fa60432157492e -FixedInputDataByteLen = 51 -FixedInputData = f4c5a0b81676896be4a973de6aaea87fe8d6461fdc501f757f2c1d160e808d057d251c6ee8c03ebb0d70d365ad4335965bac02 -KO = 90c95785e33dd123d610aea83b0a64313104cb3d73db7392883784932b3c5aa05b4302d005c093c07cdb7459ae6b547f2c23a8bec55a8f0f2482444de552860d - -COUNT=3 -L = 512 -KI = 41399dfce5f6a1cb08cf0097dc83a8ee79208d8d2493b7ba3c114a28f9da5bb6 -FixedInputDataByteLen = 51 -FixedInputData = 485b67303b0985d9462ae9ee464605a19f29229f118d5f272184d63a1021ab4baf20135c6170fddc0942c8df87aafbfd4d83ee -KO = 085764361fac09636deff61d13849d8cfab6e5521a14439ea1b5bc69b768e41e441c377b041b403a52a3d8bf3bbaf7fe6d2f2955d0ba6c715e522a745d450cc1 - -COUNT=4 -L = 512 -KI = 897ff3c8ec66893ef479067a54cbc98d185abc441c2c9e35f4d438e527e44534 -FixedInputDataByteLen = 51 -FixedInputData = e4a926a857e2872e0de4c14372fe6e10fa38680d361837a7cb85507935d90f5b3a7ee3255bf526408cbfd70550e083a60c5c8d -KO = e80203700280f64ca52dd515fc51c0497d565e772cf49953d192c7b00d4eecb059a3aef5e41df3fffa819ea9ddeac423859023923639f373dde26178cc62ea64 - -COUNT=5 -L = 512 -KI = 834b41885201f1033d6faefae548722103a25fa8a739df3664d6b713addce80d -FixedInputDataByteLen = 51 -FixedInputData = 26cb1070a86b615e8d624a442faeec448eabfddcf4130315a7dbc087dbb9966e5c3394ed3686dcce28eb272b62b271880df589 -KO = fe44229240738c43b3847a007c967fb31abf4624b1df597d6f441fc44ad99df2de711da1cfbfcb927636d94d51ec068b225d90a8e3dbc2203abb717d5e54f595 - -COUNT=6 -L = 512 -KI = 66cc1ad6b8ac4f2241e2a3c814e813133bdf38c527e794e906fc097341d45044 -FixedInputDataByteLen = 51 -FixedInputData = da7a08027eefeea0d14a66c0deb74613b9201fb2b23eb8e8a0d581d0cfe3d159c8d88fa0dec2a7e570033c552d338af3b938c0 -KO = efcc0fbecb6ee12c5b7d3fe6e4ec74e86e431e2f95f7f478814d2c06822723a68f483ac1c6b093adc883228defd80e5ab56ca2577a63af998cf120751c8541aa - -COUNT=7 -L = 512 -KI = f7fcb6d0cd1927d4564f30f870349ced9cfd46846423d067dae07903f0aafa90 -FixedInputDataByteLen = 51 -FixedInputData = d7cd279ad1abff3cc5c4093fd887f7a025172a34ef17200ffb00414f3dca685ea0d4651cf51fd0b8e6fc13feab378302bbbd79 -KO = e3cc3a4d1617e477ef707bf7292f86a22e89721943337d7a0ceddc045cb4610c514eb0354aca907a3a7c70a7445a0180e45f3368c805d733b61fe36bd7965140 - -COUNT=8 -L = 512 -KI = 73a64899b8c627962ad109b6ce854ba348968523e7fb4684420a614ba531b678 -FixedInputDataByteLen = 51 -FixedInputData = e8de5dc16b3d05ec890f4a349d642fe94895cb5e716df7f4cd77ae2f6a8f8de5cb2d9f8ac92bc5caf9ccaff97337cc0beee590 -KO = 1745c864602e4b9c8e10d954add13cfa023644d2006b96c31d986ee31408fce86774c036c0299595f8e578365607e183fba624e27b79abb1ff5e3bd3f0fc81c1 - -COUNT=9 -L = 512 -KI = 46e56ef5440eae4e70469844d3f668fa21f3b857b9ac20e2935ce2096bde4591 -FixedInputDataByteLen = 51 -FixedInputData = e0128a6d4b9b424530c561651852edc2916459c06cff85e8ada6bb6f3e3b61b19f46a69cc3a342bdce70692766a4d6937a7a9f -KO = 15505d49669338ebeae0d665fa59467bd2ff6ad633589e0a4bac8f170941c91eaf76e533612a195fe4d4e05c84a5403fd4dd5656d6b974f0bcfe1e09ad32b397 - -COUNT=10 -L = 1024 -KI = a03690e50a9b079ac99d1cd419f9b29f52eb3dec4fee15e1cc86a2ed4e620756 -FixedInputDataByteLen = 51 -FixedInputData = 6af40448d7c12358d3d45219818dfd05e309a5b399c0a99c2a3be30fcda5196134a934fbe07fd9615b7e078f66f214ac3cae0b -KO = b0e8f9a2b921f2809223612c7aff5bc48a2e614a2f64b12a553d1a1b0e9d909e40983e150e811c2b79b205bb3667b1960f2ee480f9d6ae31dab14f107d2ff00ba61c54c3929f0fb75406cce5f5f1b1df9033b0f0b61a117a3e73e1bbed93a8d0437b5b1991d40401785e95cab1085a88e78390310860ec957a49d7a78f61b45a - -COUNT=11 -L = 1024 -KI = 514f9aded60ccbb62ccd7e8459cac8e8a3fb95236bdec298589fd6bdd264b483 -FixedInputDataByteLen = 51 -FixedInputData = 173facafb03da445f6ea0bdfc640b3dd5be4ed2aa4a6cf93702eb2dff039fd87085e092c04e12285b80633a8e2062a117242cc -KO = 15cdd07addd7ea57d2fbeb664aaf3cf4b86a879efcd76dc414442d0b7dcbe82bbd9eda9b89cf68dfd932c3ea2b6b12c342aeb3d53a6c0609fbdcb5a61dc23d7821bc8020638a944f888349e564356c283419273f42ddead8570178a2c32108cb950318b7364a8fed5f5c18712ad5d1aeeca626c7bc629f736cbf85ec21174f99 - -COUNT=12 -L = 1024 -KI = 8f9fc9bcbea1187f1fb634eec50cab38287e9b435e3064973e6553ac21a5e4da -FixedInputDataByteLen = 51 -FixedInputData = 911667b32f518833478b46d3e4c03dcb7ccb8838968191b8eac36a3992fb6257e6a97338d0958e09ba809e8505ee8aca3a825f -KO = e9310a0c7dfe518750be84d572f92cc07ec795e9f3c86d7f8292ec301d7b02c55b089cc48f1c9dd4ba2a6cae0c781c2a7ef7b74f20fad13106c2cf2411ab89e173ad1cc2303aea8a0f99204d4f42dcb6910834b28bd55ccd0855f2dff5ae03f52626aa4f15584b53c6e7866ee9c02162430a725331fbcc2671c063c3f9444113 - -COUNT=13 -L = 1024 -KI = ffa4e4c37fce53206fa7de0931b6e452812bf11f521651371020a2af8d525b7d -FixedInputDataByteLen = 51 -FixedInputData = 735498cbd562dce9aa6d37ef0c17ef7b48fd428dc434dd94620671dbfa3a57ad91fbba2fe179bc1758634c5a989edb044eaad2 -KO = 98a254c038edebbbbb6899064065240dd549e7b15b568c4ab62ffb5e06f667adccc7f934fd147f5b56471725541fdd0d3dbdaece7935e684a7124d60bb6ecba9705da59671afcb360561fb667a583969e3a240c73430213daffd48bf102cd66f53629e86413f73ac92555ab5a55c5ac9733d4585e34d751556e390ef4f9ce999 - -COUNT=14 -L = 1024 -KI = ef968f86f196a263b89f3b31ad1d3a23e4291ba97df97fb997b73fd040f7f361 -FixedInputDataByteLen = 51 -FixedInputData = 66f799dbeddec695678976f2a614c63e7ea63dc1f30363bd0f7b9643f41a0eb3851ead47d9db81f4d48006ecebb6fcbec34ab0 -KO = 234921594e8433088a5014f0acedc9601cc7bb96afddcd31f857f3d06327830b8526d09bbf8ecd97231133f94c378f7cf55dcafc20297a2db4bc3f468a766698ad9f3f061ec5430e7ca19476234d76e16dc78f5ae0d5019260c8c161c31d405c4b3b0f0b7645bd66b38799c09dcb7fc13eff8d9ba36a6a206a68b442f2f519a4 - -COUNT=15 -L = 1024 -KI = 077555fc0a5f9927aaaaa4da0148fbeeac6467241eee362bc5d7cb4b99c8a08d -FixedInputDataByteLen = 51 -FixedInputData = 23ca6719e29b0930e1dc11f22114d8f1ea7b2e44d38d174273c97542cb6f1c06aa0e7f44130733b3bf561361a3964aaeddeeb5 -KO = 4a5fb496b0ae703f6ca6d5f421b5a653a7a62fe47bf0e0c7c368fd26c099f127c47d02723492b4ee16d1dfa10c3e46d3ef29ee216532c4899f8df2966f755c4d4977e2ad7f2db494266358be68310c44cc7e59ab21bc67e1ed6cb96133fd19ad1d44a0d15038ee2c33ee2ad3f5ebb2d32004870ba44b84230e5eb083429cca55 - -COUNT=16 -L = 1024 -KI = 25c42ea78060e0b31a6f922a5f6553b24cb0f4b7571dd87c588fb8603913bab7 -FixedInputDataByteLen = 51 -FixedInputData = eeae992be9785430f9236d4529993561e20ed8368616676be77430b60038b1b183bd5f955de33b796b6bc9d478981d9be337f5 -KO = 876f2e8825a2d8ef494f8ce0daacd9700dca4ebb8bf684cccb60d4ab949d3c36a04bbf34d6f212549835b80d808c5e2315a6097ca8ce29ee0a323c3abc27babb6900aa1b674bb0b14a3b6b873023961b391d5502f19ec8208b5373b6c6ae74a6c3f891d733492d8c13a43d0c7220a389fc42151936d0ecb2a997bf32a0310af4 - -COUNT=17 -L = 1024 -KI = 20722b4882bb840f79ea1ce4d89a885015e333602354acbbe28db162d5663329 -FixedInputDataByteLen = 51 -FixedInputData = 36d51928166db6e0cf5ad2fdc20d501fb31d96046f7f7b379ee47fd30cc5e61ab5279989eba7ebeeb8b8c971f7b6ba4ed94214 -KO = 5145b8f9279a2e488ac5ce2acb3d76771fb64e138d49b19c3d919adf6f46410c83d8c495d1d2567d44981804b0a025e20b240db1345a1920eac95a61e3d69978960ba10b6faa41ce60861ef510f0c521231e0ad28a152f715da9a539d4c5fc0a665a21bc96efced1072e887341ce7061f1f5b2c24ddf096426065bbd969d6f25 - -COUNT=18 -L = 1024 -KI = 605968d7ee742d062d0cecf3f932c071118b411254f6c61dd953e47db4054501 -FixedInputDataByteLen = 51 -FixedInputData = a49134a53a127bce5675b8ef70063140799bbbd9005456f9ec2c7b5e973d1b564a17c469566b77f6a50de02119d43a76237231 -KO = 7575e1b75a93b1f437eb53fb575f4f80342f5389c787db2cfda8bb334f794b2014a9596dc3d70aa83d295f2b24bb652870bd05218b496961358dea4538d2aed69c422d82047a9b051aa9717bfd28cbc94364861a0edbc9c3e1285bd45883a8ba2d4c0b0a635a6eb9666e3b264fbc6832d270a528e5b0281bd4c8f7548c1ac7b5 - -COUNT=19 -L = 1024 -KI = f2b10c08c8f1b0962eaefea90918599f5f00142093fae2b3d46d96be2d2a63ac -FixedInputDataByteLen = 51 -FixedInputData = 7df494dc68f321fc30f58413c7a9eb0918d2e4157f4de66a4f7dc69b6ad353f983cc0ceee96455ae305f1f40be07b46ae715e5 -KO = a0bf10d54a2cf62c41400f28c86e91c707c4da0aadf0f529d7c0d0b87b2b2c0be5011d0ae7e1f6ac50a90768ef138e8e7e0bcc2ad090e461e1dfa2e040b9d7cc1300c659e27a50ece77368ab8a065e2273e92edc40a860459fdaddf5802d652d88206d862eeb5eaf82e147bab2ab0a6466c3090a724cfba36f887cc0bcf78d65 - -COUNT=20 -L = 480 -KI = 366398d4b2541d727a0552deff7d4df84ab822d0eedcff0d3139e69b9c4ea8cc -FixedInputDataByteLen = 51 -FixedInputData = 70d406374dc6667f737cefc374271c363255e90d7cf2b015304f1a00c106c9d7a95845f92dffb25d8ed06974fc4772625afe7d -KO = e6c50b0b39b88653733e19cf84bcaffb5675abf75f68c271686b78e9dbea7ebab0df77fa36187575d33e02c64d8175ea599c869b0f19790aa3db58bb - -COUNT=21 -L = 480 -KI = 4c388222e4d612e4450bb1d766ed19515036537e32ddd17de991e9d09798fb90 -FixedInputDataByteLen = 51 -FixedInputData = eef83b3e9a990fce6bbc30cc3d3f68b07cf2897ded79ef923d15d470f4dc3ebb5255050bff60b7e09f62e0655a32229cc0f392 -KO = aa7f30decf1bfd4e29a4b56e9a8237bf23896fb7647dd54b4f8dc571d187990c6ab7691c5c8cc0180867cbf72e3d593b1a10aea2633f6938deeed80b - -COUNT=22 -L = 480 -KI = 3553e052c47998cdb323a8002c0126a7b9c6bd70bc847df190201cdbb5cbc1eb -FixedInputDataByteLen = 51 -FixedInputData = 309d69982c1238bfcd39f3ded63d3a59f5c8d0fb1491ff58ad430c315bc8b9b8c4b7f47e7d091e151a9d64d56faba3acb13cb3 -KO = f49135143d9a2af8a0fa8c266dba7efaab4a3f9d25ec6bda9a4f349e57b06f1c8ac9287a7e23d3441435cfdc4c3dd0c8f1d07a93f1b6d64fbb4a6223 - -COUNT=23 -L = 480 -KI = df3114542615642bc6145ae7e182880df9e62871dfdfe1cafe0668fc00f24122 -FixedInputDataByteLen = 51 -FixedInputData = 50055d317d061778671e96996a0c0b10d226205672c76df1c68039a38e5ff3ca9d8217893f4464b255d9619b0443314db885bc -KO = 23dcfb0438dd17f288a1f4a9c74003c007d1905111c337d318f0581f0041711b5b6f40b816a1f204b913cf4b08e2fdc249380f263ec0deef3fce934b - -COUNT=24 -L = 480 -KI = 8c9c54b5e2b11fa97e2bec74656163bce2c3e8d78d527ea883d62a4bbc52341e -FixedInputDataByteLen = 51 -FixedInputData = b6b11637dd0789db105e74cb3296c34b617cd66e4fa152533533d05f53358297ce009527f0acf9d7bcab3ad8d07822462be557 -KO = c940bbe628582ab764eb5b7144b8b3c7d7ef5fee43c587d2ad35d1334fc508d0ff22356fd6905193e6c3fe7997226b3ffc4d9c86f567ee36294d34bd - -COUNT=25 -L = 480 -KI = fdac41b11e7b2664f5a1e1b14cbc833c2c569321cd2de09bab0203770ff64269 -FixedInputDataByteLen = 51 -FixedInputData = de1279645931486d7f4b3d6a039218618f692893dbddadc59bfb825de601c3c9e7a59260f96f0c294421f55dcab3a9e6ef1141 -KO = ea34968a62df08a66707fb06582348eb8b3e1e65bce4d3cf6eb0e6427ebfc02f8891188d4248929c3b09c6ba23fbad9c7d893895b0753519f0f766fc - -COUNT=26 -L = 480 -KI = 3869bf2fe84640bbf62b903467b15da5ceb6c7dd412642ccd948910602d596cf -FixedInputDataByteLen = 51 -FixedInputData = dc63cdfbb61783feee8c48ef8dc44ef42a4061119d0c001281e83e5f5cb6805dbd8a1a3585c8849227181dad9cf616d6e2458c -KO = 5079b49081b0e51dc73438f2155d6d7ce6e0287e1484c0e347c52832bd7dfb81b455507dae3fdfbce4f52cdeb48f0ccf4e0f051ac18f08df3fe31e20 - -COUNT=27 -L = 480 -KI = 0f0629a5f1443216297916a69e7b2f69e0c75164a3e01df88f04c6862b3693e7 -FixedInputDataByteLen = 51 -FixedInputData = c393e63b43e041f393ef6f1db68202180b4cbd605acd6dad113b5bd00cb73b075e67278a287c38055c1bbc479f907610fa06fb -KO = 17856e813025f0fb4cba303d25ee9aefae5d652bf517830037e68eb709dca66bf3c119efb4dc3babe2d87df1185d428f19bdeb811b92e3805f13d713 - -COUNT=28 -L = 480 -KI = 338b27d6fbc9f647ed6093d40e67a0a25259c525ee5658097f10d5b177519f2e -FixedInputDataByteLen = 51 -FixedInputData = 82abfa7e0ffa87fbf28fad72d90bd45b3af2a47a12675e31ec2ece72539876da9091d6ce1ae2295dfc68f33d54a1d6d1a0d2d5 -KO = 965a12c89136c1748d15089beeab6fb79d069c5b66fbba525f22385a57de0e053b7b78339342b718b1f7e2f62967c73e9a9157c74da9b770958ec014 - -COUNT=29 -L = 480 -KI = b1e0cf8d94ec7e7cee1b4d4e6d40bd63495ebe36ad9bd781deb6b15d54f63a2e -FixedInputDataByteLen = 51 -FixedInputData = 3ce0483f25a4ecf5cd3f0968832cdd13dbb480a4daf4835c82d145762c44bcad6b0dd5248bedf88cdf51d072ff7c53cc64b418 -KO = fb457a2f84e806baeb8c0524d37f99e51be3ab7e1613e30eba049714a3cd47d01d2d967823e17e021eb9871f74ef467a0240fa02ac37e2b728205051 - -COUNT=30 -L = 1040 -KI = a34c3f327d94a7a2edba5bbc5e64d6f978123ec6b19d41bb97b731a15b7a105b -FixedInputDataByteLen = 51 -FixedInputData = b0311021bb8890770843a9a828c9404253d53e7a68ae6a9b8a2c26c0cd2637edb457e8dbe8da3024246dcfe269db48e4ca3fde -KO = b52f575f278e97bac052d4f4dc517cd0f7ce45824db72829720eb8b2ce5ecd47ed49c81383679d59bcedcfd6fd2d688ef44db4e0f1c62506142f43e68709c6a095e9a8f148059c09d8040d23a68439beabfdc87aab58d59feecd710950c9158a76c0117cd810658e96323e8a8957f01ba25150e212c3786fcc1463bf52fcdf9220d0 - -COUNT=31 -L = 1040 -KI = 3ed2363aed8a101f9b398d47850b93147a965c462c6ec5195cd2495f721c1e50 -FixedInputDataByteLen = 51 -FixedInputData = 674c3d8fcb6c668a3e2f33e706e524af2f18d172d40ca9828f548549b90de2e5d2782d58aadb9a9064128d8b48595ae9c6421d -KO = 2abd7807ef32bb10e2c03b9382b128b4af5f9561910526b2f948542d49834ec67cc09011176eeacf5b9d1472a7445315aa7357d213181c0c126dc33242e1e053f93368ac26d8b873a57447445a2f56160e43daae161724fe43a0130f9f2e218f9f1776f97c86f7c3acdecff0607b10671c1735a04e6703e11d08973244f6ad2eb3d7 - -COUNT=32 -L = 1040 -KI = 727ef66d3c8e5ec95deb25127a5949f36a82d4c87d201c1f62917871a86195d3 -FixedInputDataByteLen = 51 -FixedInputData = c5fe1a032cdf3953033af57a70e25f03f70fd05a6e94a43e7ab6c816e3b6dbf6e81723ec5a63331b16d8172cf7d3509ef9660d -KO = 68b253b14774f1d41fea219ecb2df3575fae88026b9992ea647f943831d6538c7cfa861e4ef3d8805fb1ef56ec6a3970cb97382b357bf038459443c61954b0a9bff65f357a9ac33e7c9a9dfd6a17c9d280d50baa88abf02c4050d942ea04f1a9a179a3f28ee7880b05a722e839f563e04aa89c68ea32f011528d458cac5488c7c8d9 - -COUNT=33 -L = 1040 -KI = 69a3fd2eadd971e67dda61f9552cc0dd607edfe01a89b7f5998b418c2325b8fe -FixedInputDataByteLen = 51 -FixedInputData = 35b362db8ef0c9d7bd5c8dac7cb33feca7bc91af8f00e81f29e89ea8faa289effca8e5e99a6dea5b541ca8be4a2226dbc44b5d -KO = f94483570186649fa79503956e81baf35afd52ec57396c918c6bdfbe2d5899efeba70e135cc4974fe71651c3bde11d8034fb26ff83269acbd37e194f442c30ef4eff309ac1de973790079b2736b4d17159315bdd296338fbf887d8dc452d592797b0fcf85b1e035fdf7a3e6d3a1e78d4db92af648666122e116a9834830695f839ef - -COUNT=34 -L = 1040 -KI = c6acfabb76e6440a509259d6911f03dc9f390c9813ae519f81bd25ece5084238 -FixedInputDataByteLen = 51 -FixedInputData = b3a8d6f4212b02c9d42a188988ac818f3b3191d8806ebbbd59fb21dec8dfa3d2f79c53434763b106a509379b47cfb32b10c1a3 -KO = d51857f3872a3fdd4124661aab88e9adf63fffbcf837b360d55b6c0668ff0ed8c3d153b0179cbed80ee9f5dceffebe81c7190f55cec136f1e4f81841021d9096c92a6f788ce9f3dc6c3c07893321b9f0e35dd0cefa01a24ba748dfa64ca397c3d6b2e9151ec293d1a1fb3ba0b53b4487112d862938aa03dacae92be4a83b8039126f - -COUNT=35 -L = 1040 -KI = 5a297c4fa2d3e0bcb747d0a6cf0a1d037800e6919348fdb611bb7a8ab7b5fe68 -FixedInputDataByteLen = 51 -FixedInputData = 40bf0f749fff28be3a525d851e3f3cf2540215dfe516e28eecfd662d6adfb4c67251190cac4f15aaf1ab9ebd99523c251a518c -KO = 63543bf2f8993c15d8bea47606b99b78693a154373731b46cd8c1f1756407262d7347c14c76eca66f5ffc6e252abed435b292c4761941a7a48b8c00c40af8599383674ad94148ccb5e4d77d1cdfd1c0a983076f634cca50da53ae232998c8106d67f4f980ede1e103dd7481e778529b04abd183618edc4bfa150a7c2e70f0620236e - -COUNT=36 -L = 1040 -KI = 0a5a00b7e36ab3e6531b2a72fb7af9b6ed63952b7b9d7ab81f94a6aab810f831 -FixedInputDataByteLen = 51 -FixedInputData = fd1d6e8273c717c56575ae191b1a58d304da8305a9ae5d80bacdd3003801408fc12f89f6d04e16b0179ef81134a9de049f6c3f -KO = 59b12e70206bbbc13309bc4f6a4b760218c60f390aabdb9397abb170c105bd0af3733c27e3bb3bffe9e41599b448a8e107981909d2710b8fcbd6178bc712311201a7411b0fd604229055596c3b110102d4424d387c24246be87418ddf38e6b3927b9c8ead87f36d8e5272b7cf390e7c3e6ffbb2ae05fd798b6569b6682806fbd4f2a - -COUNT=37 -L = 1040 -KI = 6ad5b64f95edd33461ba3714ab2b5415710bc922405a6360a9c8a5018c156800 -FixedInputDataByteLen = 51 -FixedInputData = dfdaf216dd155a37b3f30ba79a93723702d7a1c73fd4ed5b0cbb99fcc7efd1d8b954263030eae44ca577acb690be6f46ed6798 -KO = 76ed5c630cc9a2ec28a683d049a9552959d8d4b8c8fe1754853a4354b73eb379164a56793a6c32c59287c090b82cbf225f91807b7faa997e2f2ca94830ac17a14022cf75ff20e62985434aa201de314d93ab909e07fd99946359552945db7904bdacd3d5c20986974c37ab95b718c13ae70af486dbd27a9a196f2da7beb6ad009f5d - -COUNT=38 -L = 1040 -KI = dc9d3e74224aa8945ddbf7ccf9e211d8373e18a2a42753ff6d39848c3296fb91 -FixedInputDataByteLen = 51 -FixedInputData = ed58440889fd92b55248090793def56cfbe0faee26b8282853802d5ef4dcd5a13cc96451b022f085213f3e75ac00f02728826f -KO = ab3cf78f102638abca3c4d924223d1fc4f14bb8a179f2768d747991c108b84a01a3abbb2ca778ed8f889cabc4d2a04af3aaf78301c5fdbca74b8d122d396ce65aee5cdafc9d9f7b3734d23d1598e5d5be0645c5ca8c9277a7e206691bf416a0e11ffe935e6ebd91679155e064db572d829d007cdc80490e31f3aeaa8dc0f523ebaf8 - -COUNT=39 -L = 1040 -KI = 88d7247bec90a582ed35b469046e8ca25feab72f2b3507151e4f11ada0d7aa95 -FixedInputDataByteLen = 51 -FixedInputData = 8bcf5d0c8e2c5bbeb05fb01330071d72b1b0243fb5e1d5a838e2805949d624b6af06c996726acf9b966d3fb2efca6ab4e228c1 -KO = cd214288bcba8549d55ea2912caf4a111cbe6ea3e1a4f8bcf248ffdfdb7d7c77ced6722d49e304a178b5bd76ee4fa999b5b79433b76b5ee333329fb289df05e3004ea9c265dcb12c7913a654c7d1690456da2f9307bb05b829c202fb218ddb0f80b63687a39bf88f1eae50c5c755b0e0d0e6bd9f1e0cae8df0e05a01f56509a453a2 - -[PRF=CMAC_TDES2] -COUNT=0 -L = 512 -KI = 342c398b6f4407dd790999a33bd12fd6 -FixedInputDataByteLen = 51 -FixedInputData = 33972a5866c955f02494d0e04ee61b42816ae92e5cc43b6a0a0d86a9e7a0cc38c9605cfc1e12e22241770105e09a519b3badc3 -KO = 6a1be6c5d93cf288a682ea3b48ebd418f8a1fddf303b03cedd9a51d5ffd32ecf1e5a78a847226c0cdf1bd2c949d223a989c58b9eb309d8ca7758d1330123de2c - -COUNT=1 -L = 512 -KI = f0d8558524ec8425c9971efe9aa58e1e -FixedInputDataByteLen = 51 -FixedInputData = 8aaefe241a55968e1ed9b547ed43695a140a7eadf6ab91ad271d9b089a6d8e20067686644811644f3e7eddfcd52c777bde889a -KO = 6099ef8f4a2be081be50ea62f808c9494ed14ca979dd53dc3d22455619ec5b332774afe9c58d604b8ccf7dc394b4d181d0442fdcd82cd7e27e27cff29a983490 - -COUNT=2 -L = 512 -KI = 7909eaaf98edff2c10c401aff3c09903 -FixedInputDataByteLen = 51 -FixedInputData = ebf062e0a978e5f2f89cae29feef68982e845b95f32cdc936f196c504fbd780d0155ebfa8dc5952cbf84305ef046d8f992b66a -KO = 09eb56589cf93926384e2184ed50c529a170c5bf488a51079688e4c30678f79c814009afcb91ed1fa2f8c2671f641ad46458b1fdcc83f800aade004aac29ff49 - -COUNT=3 -L = 512 -KI = b863552ba25d53328273301c7516d987 -FixedInputDataByteLen = 51 -FixedInputData = a4b0c53ff5b96a2045b54f886a1b235b37c5989ee06fcb0c0b46930e27500985c3191933915bf89f16aa5a4583c5925ae21478 -KO = a98208fa8985f9f555a181febf50a6165c18a4ce7ce3d4edc5ca130a69d22881fcaa27a1c94566077481f4f7e633855a0f469bc8bcbefb0e92186edd69f7d5ef - -COUNT=4 -L = 512 -KI = 745ba3071171e8cc6b4a3afc9e20b57b -FixedInputDataByteLen = 51 -FixedInputData = 2cc93469a806ddc2bbb8962bf6b814c71212ae61432947a2d02e12ea26f20d8cf1bf95dc5e2123cbfe85f8063a46e25988f65e -KO = 23f49267908ae55f91fcb89e4c25af6ee3f4b925465387cc6ba447aa944f0a7ef22374630f5ab284854522aeb34df45cb1447f5d8db0724efb55a85d4b090512 - -COUNT=5 -L = 512 -KI = b9b4e818b103d05c479632c1b951efe9 -FixedInputDataByteLen = 51 -FixedInputData = 8850e2056d1542332aadc599aa8d36e07b5497cac4a3615c7512962a2fb07dd875bc8c2849ab4aae4cd12f5269dcf110d5f105 -KO = a3756b05af494d7692a5bbf8bbc74edbd85f795d3c63f96a806761c49a618a1efaead08a1210051ad6c2ad6ce4c6c3bb5de9b2b960baaa439a0e467015a5d88b - -COUNT=6 -L = 512 -KI = c2c9f607fcd884be814b9ab2cd7cc33c -FixedInputDataByteLen = 51 -FixedInputData = 47056ebccc2592ec55e8a800ed1d014f12075300e92f7e908565a14a916583a63079669b8614838fe26d4d88bfc27e5f461816 -KO = ef1c71f4940a985eba6c63b0be54ac9999c9920e26cbaf36847b8d685643b8ea6ab4bed08a6d04b074b4ddc254d6edbb5f9f8ae6552283e9596afe520d5c7b6a - -COUNT=7 -L = 512 -KI = e668c929bf6d91bbb585dae604233ce9 -FixedInputDataByteLen = 51 -FixedInputData = d4f70fd55eed1845deaa76f309972873e3dd747c4f2d728429804924e97bd964a7ff08fde4d9dc4f957fa343957e06cfe9ccab -KO = 33e57608adccd101a3f9bd441be7b0db76116368f98195bca01fc2c8a9a0c16fd24d4f19b8e6405ae2bb8fc8c87238d1bad1120dd1449076eaf9fcead8abaead - -COUNT=8 -L = 512 -KI = 0c7d0247ba439c4f91c267a23fe9ca56 -FixedInputDataByteLen = 51 -FixedInputData = 487276047e3b37f15bcea4c96a706ff38af55a05e09bb268b65fc11312a2c5dbff28f09154cbb1e3401c59e4e81db9138e6f52 -KO = a41aaa623d5d72b9781c2c5d63501ee14f2f12be5a711d2dbb15e0f8e97a3b207c54eb91daff96013ce73dc381fe78706a130434cedda75cf74de114668d6e05 - -COUNT=9 -L = 512 -KI = 872c50572b823c70763abd01fa79eb3b -FixedInputDataByteLen = 51 -FixedInputData = 7bf6dbc0939007a96fe81d2d50958de51c54dd43f163c2a3416eb35fbf463e95c67f6908f9cbd4259b62dd3e832897c474ca31 -KO = 469a0484001640ecdb412cd2350ae43accdacfbf11aa2397bc02cd3740a5e6768bf1431e05aec82b79f8efe2609e05570ead4c5c1c8f1eca1ccbfb640e9fb543 - -COUNT=10 -L = 1024 -KI = 0a0e89deba0f28e7c1a9ad6923996c35 -FixedInputDataByteLen = 51 -FixedInputData = cde5a9935acf97bd31d191f3439185cfac521eeccdce49e15a0ce057913cfa8b2f050287c6abb2b821d6158cdbe23c2cb21133 -KO = 23da746f1d36dd1b0e97466ab6389a3012e38668513f69cedd370de53cddd73cc8705d32a7c3a24fa661b4da4bb3bdfea3ccf5a74d978936b27ab95151a33311bb7db941420cd988439dfd748ad9ab6da0645b344de745af6991fd99f165f2c56e3a40fe21f06bd7d15823bbc1d660346039536bf997ccc1cafcde6e4c995542 - -COUNT=11 -L = 1024 -KI = 14e37e0b78735a92a435fcefe1e7fbe3 -FixedInputDataByteLen = 51 -FixedInputData = 4672024f9fcbf3b9beec25738fa872592e75d4add07c0841a651e4d9e52f6c56d6c79acb2d98f99e5c16f68fab8a99a6f5b5b2 -KO = 1cd472e81c489dc1859079c19a7cb47ebe69b5f1c1a53045ab99ed8c69af848f591552c884f108ddcf0b4de7b86f51b55b8436ea2b26442028e5dce89edc3fdc96d199b4cc31e864ceccf7acc96d52511c9d7ce8c05ea1a3ba979cb86251b5ce1a69c95c982efb002cc7fd8c1243d1865bb8c9df816ac0ea4ffb4b1d35a4c65c - -COUNT=12 -L = 1024 -KI = e891a6b00d8625500f3425e07b00de11 -FixedInputDataByteLen = 51 -FixedInputData = 05be61863e9bdec1179cd49e233964e6dcf349f247536bac0100d4729d5661c4c77d6512d20d99e19fd18df47d4f80578aad6d -KO = b60f547593f5fc4d4df6ad22600edbdca8624fd8ed431fb22fd8876a2c64b6972668821cd556aa415848df4f6a12f06ca2eb0eda7d189488cbe152af8d8ce9d0e0315caf331410cbaa14040ef69ae0c9cac8e4d41fdf73c2281a7a831f2b6e2be7abb638bf70f1c51ee2efe6a0471c686665e49f8e72335f8104b5506b2351fb - -COUNT=13 -L = 1024 -KI = 5c479ba9f16eb36610a7fc906e86081c -FixedInputDataByteLen = 51 -FixedInputData = 2264d97ae7cd3055a590207931de3a96667c0b0a51a141b96c52d7c81754bc598a0994ae9f32e912bd45bb3f760c4d126bb0a1 -KO = df58f41bfd87cfd011197f2c302c872097bccdbce6ca562117f3fddd91e5b5a35f8b6155cfc574fb7dc6eeceb825efbb7e251eb693cf93f4a9e8ab5e2ea31912628fd7ae6d0b5deb1838d2c9090aa19ea75e805131e9e558d0a9184744d6aac44261dcc208aff58c16aa61e32d48b2d79700a624dbc76cbd43a420bf7486360b - -COUNT=14 -L = 1024 -KI = 05dc2c4d337a98bb0f259ac40e83f014 -FixedInputDataByteLen = 51 -FixedInputData = 13cad747bafdc8c9ce9d23ab3854737f85b7a349605cd2c1e1ddf0a19d8aef8cb4608601ef3bf82430dd52f3ab561afbb48776 -KO = 0bd1c5d3058d4bebbcac82b1bbb3982827aa274213388b7473341dd09598ea25493f3022fdc706134d03027d0ac389c59c5a60e7172efaaf421a3366f570c4009e0ec9c6d06b0e3f5ba8e6a65cc81c51572cc0174f6172a934148c0f71a216d788e41d151f315a4f1a45d6b424f25d02466f803b5a6295d1bf52ff8975c9d993 - -COUNT=15 -L = 1024 -KI = d873ea31af1de09a3d235477c06096bc -FixedInputDataByteLen = 51 -FixedInputData = c40988a5005f4a3da6a03b6af34f219d9898913c2a9534e9af73dd2fe84ba66d8acfc0b6df5c7a367e51a1a5027d0a984375ea -KO = cb6ff0d6b8fb4bd53885fcd9d62f202945f12ee7d8391327b20e62db1c7ad1fba94f87a5ca094061c254561c5605c950133d7f0179e87d8472bf001b9d34eb7abd36024d47afe5699e62f14d4d325c650190510fce5ec3212d3c395fbf30e6af92fd4b7f1cbad0af9b64418145745fea1df0c0626bf9cde9a21261146f39a99c - -COUNT=16 -L = 1024 -KI = 12a37a41cb5d9d08abe3855bd8344954 -FixedInputDataByteLen = 51 -FixedInputData = bbb5d1110dc5adaf0b2ac854b52ad2f776b39b7a73bce408c9fc5672df17b21ebd8d331efaf0a1889a6311bc8dc50c1c90558e -KO = 87257f435ee891f7d18ebb00bd9ffe4ffc1e5f4663c90fed45ab33538c9b2e2375522b9841032c5f8b03fff6e86aa9928b564177d677746e1b0affae8eccd9f5d1c59730a9ee12921a13fc122ba73bf9847ffc38ce3e930398698c8395fb75d8bf83e7704d79243b49c576f56359c26135092fdb8651d7f6191384c621fabbe9 - -COUNT=17 -L = 1024 -KI = 6d34f6a39836e7f2973f4ed73d667bb9 -FixedInputDataByteLen = 51 -FixedInputData = 77323809e0497369f501343f7d8fcb6d13eab05027571df442ef56581c1caa42f3be18503079ea6c7a0bb0c69e0b435d2f6ac4 -KO = 9823b7c709a9627a13433fd2f74a281865d1dfa39c31c38dd62044c84e7de8880d990858813be01ff326a5c345dc8cab1b14841f7f056d6c1e6499d6f9aa1118399171d013320f611f5c0eca33ee9fdf1ba7079f6c0427b01f285a5d77c377438068bbab9b3bb073c863a846b8d7ac77d175d5cfa9fc76e6fe379ac09a88ea99 - -COUNT=18 -L = 1024 -KI = d6e1f3d30113bf123e408794fa9c4aac -FixedInputDataByteLen = 51 -FixedInputData = 5dbae4f1312b14667975dfa112ef0615266c4dffa61389b9dd688000c81cb0ebff94cd3933a2c6755d683df0d6176728eef976 -KO = 9d165e4ace3a07b54a9c6a1db0eedb9ddfee5361b8c86313a72e04529a3a4d4dc7b73101ba0db97f7fe67bcc1432b8dd9bf9bcbd31cf54581bcf53128cd79abf903696b1dfb3c8f6ac2a737e6fa29d87c02735e00897a1eb7ecf490a4423d89877be80bddbb2b8111b5094d048bf1fadd825321641ea0c0b226c680a394aef7d - -COUNT=19 -L = 1024 -KI = a8aff378045a443630157c6fb5c84034 -FixedInputDataByteLen = 51 -FixedInputData = 74e3bd123e6423cb31f63916aa5828d513e5665727aba481527b3869c2090fc18570de03f7c219b93a6408964a282d7f281a82 -KO = 66b1f35b799ef0a8582b7c940017f7a9a3e0243058d764b8f3df23af0cc2af9d33557622e73f5bbbff962c730514f278453ddf87f77b8e5cf6b8ed6c5099bc64cce68bee838aa4de34d11a3cfc4e07820206f961ceaf53732e3d35687e7029a110dbe52e273ce6887ecb3c28cf26c7951de2a8abfebcf4105dd1ed73b217e0d9 - -COUNT=20 -L = 480 -KI = 0d8ebdd08bad0d54c0e423012f2e9e96 -FixedInputDataByteLen = 51 -FixedInputData = c8966b3469f19f41a5264bd8ef0b1397977bccaa857815a80b4ccab41f0c28e7fd0b7946434161fb56d2a0a3a1a0ab900cdb46 -KO = 6f278c61bca2c0ed121f4f865a4d64fcaa411bdd0f7b5cd730b85c3a3f31c442f56f7e0b8081082fd1481d878a78bd7c70222d8700e0ebe7f505d4d1 - -COUNT=21 -L = 480 -KI = 0755a0ddad676d92ba241315c76c782e -FixedInputDataByteLen = 51 -FixedInputData = 9993924c8e32cca3be01e9f3654b93689c712e78141cf71b3dff513084de5e41cd678c146f02bea091dcedbdc8ece0a7f777d8 -KO = 384aa2d6f5de17c038dc89abe85a8b7b5fcfae3ac7bd59469c89fe38d689235ba9b9392020d192c29a27ae2c978c111a6ceabae3d7136a902bf4eee9 - -COUNT=22 -L = 480 -KI = 399f8dedc1ac91a72d244356d77a2280 -FixedInputDataByteLen = 51 -FixedInputData = 2d6b311f443d0ab89efe93879346e13cd10868892bf597e0b08d1a9366be61c02f8da9b851c6b8d00bef5d89796da6bef490a0 -KO = 31b13dd32a53aa5c6220f6e4dc987fdb71a921e293402e75f318576fef1a552ae9e1b8742f9b555019a25a43c8ede574bda0d77cf416ff3887c62f7a - -COUNT=23 -L = 480 -KI = 3dace67524605b456ed255049ae45ec3 -FixedInputDataByteLen = 51 -FixedInputData = dc3292ab8b677d7ba3f6c0c3aae425456774f71b4b8300eb2ee6845e447e326e6ab318d57d3248cbc12e923e56eaeb1ed96786 -KO = fecc165363801ae6a91f56ad5c3952393767d19fd31984200998a17d38b66dee69f342596c94002615a477dfa26761c90a85e53f686802434491fcd3 - -COUNT=24 -L = 480 -KI = 7048151c51392be1aca6573dda5047e2 -FixedInputDataByteLen = 51 -FixedInputData = 1e11f4f7acb27f31ed24271678df2d7bf22db633d02eb028461e7931e078128c60a87c26884ecd1bbf729589c7d6d240039e0e -KO = 3f752d24493d18c1e2b2c61a3e89498c531144029b215d467931b553ecc5cf29f0e1aed4b11e77322826289889db3c852a6b113f1de96903896a8314 - -COUNT=25 -L = 480 -KI = 3418f1383f7e56e8d596ead2aff292c5 -FixedInputDataByteLen = 51 -FixedInputData = fe799857408c05d31f4f92f9d49a878b2cc6471a2d27037879b40c849a0aa4cc249a09c693bfec0966fd702e403bf3921ab31c -KO = a7f682cea2d04c64dc2373c1ac214e844841d0aa79f8827a84546f1326510ded163ea6af32c4363044a499d67a40bf838d80f0b5c18297571dcf79f3 - -COUNT=26 -L = 480 -KI = 17e9fa47d854350e7a2a559e7aa85368 -FixedInputDataByteLen = 51 -FixedInputData = 117ee6bf5ae2f240ab84cca5044633eed68666733b923e5f319f2b5430ef5b219abc68aa6c31e24e74b4b8a1cf62aa433b3152 -KO = 0ee7ff77253d6468403bbed0365fe9375e5bf0aa0fb36b0bea4cf698344d042761535e33285c4bcec1935e3b9ee1e17e63a9d81dd9cca7c8de2773d5 - -COUNT=27 -L = 480 -KI = b6d7ee40f7fe65b308cbea2d78438375 -FixedInputDataByteLen = 51 -FixedInputData = e01d06d7b03298207c9d02a116f3d37177bcab29ea37b374f06c2cd66fec4a46249112a1822e0ad9372454b5c7f901404c52d7 -KO = e8bb27d39058db9d1a6595e693cb590f6de93deaf057536316497de250511d436f0ab565b3894f0f34a5984c8799ae32d9aedfc167b37da6e71e4c3e - -COUNT=28 -L = 480 -KI = 3bfd064b06e9f13372ab1790b01b18db -FixedInputDataByteLen = 51 -FixedInputData = 915e4b307e6fcbb66ca8727c9a0de7deff1c8264a62d2a523c8055517e30d8665d60b4aadcd41195586f3f3708fbca697bf3d5 -KO = c565027352d9c63c9f73b7fd0ea392882028bafbee2bc3a3462219354bbbc497256fd20f9e9aeccfae439b6c29547862b2cd1df9b2663faf21180299 - -COUNT=29 -L = 480 -KI = c83600062c384cf3655742c7ffd9b4fc -FixedInputDataByteLen = 51 -FixedInputData = a1a0338bdc36e828ed042bc7dc10322a9b9a786edb2519f4939135a5d3b14bba5187b580d2c157c1b7ce075541628bd9d87f58 -KO = 69709b2ef274d616297f874375eea801d51e5d8aee3e3243159f2f3d66074b7fc2862361cb9131aeb9bbd08484a60d6abcd31d9c881bc8866f854e94 - -COUNT=30 -L = 1040 -KI = f5c67cba7e53c33294d5350dc94fd698 -FixedInputDataByteLen = 51 -FixedInputData = 83c488b8eb61ebb9c0a034ba1b09f043a8e683177f27aeca9b04b35c2d182f8a534e36d1e62e8f67d66aaf347cbd5d2a3c31ca -KO = db0242e48ed862e9efacb5cc707ec123d67445a039151b856f93ea76be0785dfa2098a85e569033f99f9f6529b501c0a17ac5ddff494587b5ff912845fa00b8c19c5c8f6077a80b8b6e4ac5ce2ea9b475d6f12ddfdd2429405c6fbf482c443587cdfde447304c6edcd956ad4e4eaa0eab965ca47b3b050a51c0c79e033a52569020e - -COUNT=31 -L = 1040 -KI = dc9fbd51d3d077b6a8979aa479c25db8 -FixedInputDataByteLen = 51 -FixedInputData = dc20c56b07ed3530958445e045ebc3c58d2327e43c34ebdd20f89e9f8dedda79ab644321421d91918a2998f14f00dec4bde39e -KO = f83c815d0cc0aa85e3ac01a369a5ee05247f6302d868db5bf142c12410d5775a7814bc5b464a4466ecb392e5d2a4ad31e8cae9e56595eb75ec58e3f5f3591831256c3ce1bf5a1b478238d3143cca8aced44116784c29df6a231cf359e2ebd1ff3431fdc1d72eecdfcbcf7bc67a87e951003390f393771537b2d54578716904f71433 - -COUNT=32 -L = 1040 -KI = de585acbab3c1cff5540c8415b02614d -FixedInputDataByteLen = 51 -FixedInputData = 9724f0eb28d158a453b8d12cba6e8f4855e7ac9498b149da6f66ac2f7a3f2399f987eadb30b022379d1b0377e50fe96f155a76 -KO = e56976660251f32c45ed864e7e7ba41cf14ee6bc6547570a255f175be1309bd19efaa12a3d6dc3ab8baeb589a5b5bce8bd016aa85c1a08dcd36eafbf5e63223eda92f3249da2b38f301cc4a762f94e72765af5b5c5262732b1d1c731cd4ba5da2e0622c9dc0133d08c838d6baa38996805d6ef22cb3e1be1105d31dbad10fcad962d - -COUNT=33 -L = 1040 -KI = 59d382d035c7b3f34053a818d2363609 -FixedInputDataByteLen = 51 -FixedInputData = 74ff419717c197c93c791da864cc3243196c2c48b12111c731bfa49bfe796fcfb45ad31d70f4adf068f2dd7dbba6a5f4f7a31a -KO = dd96ef4cf2e0bfccb36274a6d8ac1dc98c1f29b9fb84f7f72cb0da4b6291d1831bc079d52f6017acd86bd794af65a7b02407e3e3d996d2a7fdaa6c7d3f842421e845aab54ef2eb4f7bc7619656b7e5f6f2f202ac9a48502b6e878771554cc2291cee08d0648d71429f0e0adeedfb5c08521dd08de4f4f633f51c7d53c08741c6f9b4 - -COUNT=34 -L = 1040 -KI = 8eb8c06954835646276fab0a6a20dcef -FixedInputDataByteLen = 51 -FixedInputData = 6a71dc442d9cc7576ddc663df30e33dcf45bac9a55aef7274eed5cc17ff6b084b92f2d97b38453baea0e5bf8d42ced94c0c1bb -KO = f69e0b4b8d364b06b87a03519c353e56dd93cd69240b34348e245fa37a2665308cc72603a42d46c8ffa6a9cc300a9552e9d03b8c5b53d80145d831808c5883989a69ff46dbd04405a04edd723e937ca311713575053668df795e83c3b20303e97b7ce57a2d9868bfa2c4a38bcf60e996c92856f0fc126f3be41b881eefd549eeb301 - -COUNT=35 -L = 1040 -KI = 6c6e2e4e2172c1a7059dccdcf87388d4 -FixedInputDataByteLen = 51 -FixedInputData = 9ee54b98201b114950ff05508dce7b73df63e05d31d1786e1b0dc203c6bf9f1056af6d3e10f47647aa2fd4a570960c432d9b46 -KO = f9530fca40cf7c5c8976f7760ad8050a9cf1311076ceddb565ab3021c15ba1ecd3d7247e421b838307cc7c1576503a3bbdc60061e1c4759cd5ecd98da7a85ea64ef85af6be6266f79249b919e05a120122609e638d75feef8993b7775828e2a7db80923ca8f240944fce21e4ba7c01f18f81f5cce955177b9220e0b876303b37bea0 - -COUNT=36 -L = 1040 -KI = 6c3e4ce083f077d15b491c30566c8cdb -FixedInputDataByteLen = 51 -FixedInputData = 5ac641403fa3ee9473745b0526d529fbb24de974b433992d1eb9e4ebc82c89ae2c13d83140e28918421050c47346ebb3b6c32b -KO = a5b51b17510bc4f8fd0a17c3453e3cf506ef4015948d6b99511eb8215f4e8f0c3c5fb0eb7b902346616fe8648b554d9829245c7a3c3e6d949ead71ee3f177c17ebbe8d2df39c31eadfbf5c2cf1a6f5a991aaa1111b5879ac4c71f589c5e8356c499b45a1d2fbd74ff42675cc16553c95edb5844bb58321393894d2077bd17155e413 - -COUNT=37 -L = 1040 -KI = ec2eed99dd3c098bbdf1a39ab570c921 -FixedInputDataByteLen = 51 -FixedInputData = 4809805ebb67c5b2a6d6686794289f96f67963f536453872b61800fdb5b9ec2eb28ae613b46fe0bbbcdf92b0a3682bce53e772 -KO = bd62c3b60adeb2c88a575b30d9d963b11d4340eaa3eceda782c8cddce1bbebecc38bff65b818df14b0c27a935fc7bbc5016810a4016cee9454aea4c9aba455c1b63b152b50e1c43b4a95d66a1404fb5db9d4ff0f9f71ed4b4b15baf74e549586102b4442cd59a8387ded6e21b59f51e0b81b67d0b35e267a97511f218673393d9639 - -COUNT=38 -L = 1040 -KI = 73fc3c2e751cd55fbc934cde32bb69d3 -FixedInputDataByteLen = 51 -FixedInputData = e828d0d400345fff9449d74cc91382e1de6115bd418e801231ef9237db3cc32a4a65faf145e2c63deb75b9df4167ecf3d3c320 -KO = 3bd533b403f5ba5ca3d4a9c136d70c81b0611eb8bb67f69e8ff2576aded95f69981fb42c4daed623080fbcb6a61e872e22b13e710ebf1a0c5909c0e615fb281c0af5cfbd34e2c4ddcf10149437f09e0570aaaff50749184a2cc38281e61c621ee75dcd3d0145d5a874bbc842581e3fe6c39daf5e7712baf8c56f2833fe1b350f1a59 - -COUNT=39 -L = 1040 -KI = a73f8bca87f2ad36e02b7a093de970e7 -FixedInputDataByteLen = 51 -FixedInputData = 39bd14166572378c8a31185b43f00a9147b6a5ff473dc327ffdb9146f4275cf72dfc81af3b2996e819e7d189cecce689c6edb8 -KO = dc26d6111e502386e7369fe055f3ee5c3fb57d2f4219e53f0a8bb84bede399d6711bfa303d4cacc6441550dde2dd15330aa79c07456a0c04d6005852b8242cb32c1f531b831ef1867d85f0ad019996bca6055af83bfde827e8d9df89ea884b8f8a367f7fc85c167d5a84d03529aa7f3cb5879fd0318dbd3d211e7d8fb64d54bcd308 - -[PRF=CMAC_TDES3] -COUNT=0 -L = 512 -KI = c9bffd3da2d0f83c337b86e1503e49487682bedb3c02f765 -FixedInputDataByteLen = 51 -FixedInputData = 6b405f880938cb9ed89292dd3eb6dba5f42b9069b5bcd0a8be7469c469851993f132a9984d932947fbd1aa4e12f32816d50368 -KO = 6cb83fa7f0f093b0a64801e6e2d13f6dcc49e55916ce8f093b33284a06586a7044e68d2ef4c85c1629386a8ef319c1661feb0d1d8349e518488461df86ec7f7b - -COUNT=1 -L = 512 -KI = 1e64a6fb4a28d55647e743391c3578478aa90c4988a01f93 -FixedInputDataByteLen = 51 -FixedInputData = 3d661b1615f4b07984f440da6d0a948aa9a595eba6fab0adbe0d22c708af517e95736494d6295794cce98d1e6afd20250228e2 -KO = ceafd8f80aef60bf45d5aa9f13f69a49ab61c90d9c7fe189f3dafb89aafdbde8020edfb0645cde471ad6b4fb265c60d72e85805d6b0c15331b9988dd67dfd0ae - -COUNT=2 -L = 512 -KI = 69ecfb8f7c33e79e861700c3486c356b1249ca6460450019 -FixedInputDataByteLen = 51 -FixedInputData = e5326305c9df6daab5613abe79e0f5a06730e89f2c9aac9e8733e63e4ed4fc7ec935d8eee6e01998eae6d236ac7ee22575f732 -KO = 8d085c9555266575a0f34851253c4fa93452b8673cea32b66636fb65d14d354b594c04b851d24eec6e8a55bfbce4d28eca16acd632903c8cb4b7f605959e1c37 - -COUNT=3 -L = 512 -KI = e3d401c6f4e6458de107f52be9db0b30c2a8413f188f9e6e -FixedInputDataByteLen = 51 -FixedInputData = 76b5cfbff2a5e7223c5b3836f04db53a1702e161bc353a0325676aaa0179942edc9c708801c8ee4ab5ecd2c2297f9a4246dea1 -KO = 864f451752a14f5379172a42cdb9960fc9444b17ec38d6d040b284dc3bd848a2e1696c9468f4a116805542ec5f040495daea2b6feca8207a814840b4a26a93d9 - -COUNT=4 -L = 512 -KI = b34b6957a35f48b4093174d654e139b77882646574e3fc03 -FixedInputDataByteLen = 51 -FixedInputData = 57eb4f7ec97900e233a4926ceb97b42cb7b9251221e329a7068344ff64e336f632ac602942bb37d60e05f6a8c18c651374496c -KO = 72e201292a9e665e8fce37a4c6762d1842c6d16780c346348704b77c0953f64cb3507eb32083c9c0a2d0dfe7f7d70fe9de0c2954e9186b41a9a6cc825ac0e4dd - -COUNT=5 -L = 512 -KI = e6d3390eedce7424425a0add8f90ae980eb71b62d7abe6f1 -FixedInputDataByteLen = 51 -FixedInputData = 965960894d825df87623a963e85cf7b3c218ef55e73b3ed3152c3fbc0df6630edaa711a61fffe5c63609f7d47ca89db3dbcff6 -KO = e1ec403d69b6ed57cf8c30bfbedd9c05d7fac97b3ad2d369f22cc427212f01c515da1cf6f0041008e0501977806415d13cd0f3b785a8019913e600eb027a632b - -COUNT=6 -L = 512 -KI = ad16f9e35ba54dd72848c1fa59b9c093b16bf726b71f8225 -FixedInputDataByteLen = 51 -FixedInputData = e26cbf2150c130a46245d13d8541dacb11f86ee0efcd59d6ea8a48ee03dc4be58b69b50e6e1b22040c5c03614db3a64b27f08f -KO = 1afda13d584fbf23d41028b4a50f0cedc8f316bf719bc3b9ec1b38df3a540f3c89779346a98bfb59af40df98074c15cec4694a78a54df0184e549a7a93925687 - -COUNT=7 -L = 512 -KI = 9ce1de0af6543de5a17d690643517587c83d4191a8cd2f1c -FixedInputDataByteLen = 51 -FixedInputData = ed6e0cc00d4cd4232231d01b8d1bab66d677c27e4787b0e83c0f5c02eeaf072ebdfdafacf94ad41894cbc414ae49f1d58be987 -KO = 1576437c7ec513d1fa373b2301a372156ad27cefbed2f4bac43badb737ebf4ea47a08988ccf9396aa7cc060f533e3d722293e959a5d17ae35bb49d2af82b0372 - -COUNT=8 -L = 512 -KI = 86c577fdb8d85affa62ad7368926336f061a95f1c417f8f4 -FixedInputDataByteLen = 51 -FixedInputData = 6e6632b9082b54728adc707808f9cf678ea976acd2879cd5a03b6554fd1678b11475549910e190908180500db708e8311beb7e -KO = 91708678dfbcc58a6058000ca6e45cdff20cb931fb91b29a791e26e206db997161c3e3afc33c0e0058ee0f226bbafecdd6319f6713d3afedbca915bf7ee0c2bd - -COUNT=9 -L = 512 -KI = 0d8c5f5a1a468a228ddb42df3a0a239635a4bef563353406 -FixedInputDataByteLen = 51 -FixedInputData = 25c1e6cc0fca7248175e052b34b590c937f58d85cf6ba5444e52b552b42c4100420920668a825298ed6a551ea450669cc2800b -KO = dc5c8222fc45ae33de0c8ef27770803cbe8892c6a51c7e24cd07cc9b2defbc113dca5bba2b23b2598dd509da3fb00634c3e6bd2ca4268a81b3d270fab06a0b9c - -COUNT=10 -L = 1024 -KI = 8aa0a55669e8da463da314b77c402581fa0b44727e027e4a -FixedInputDataByteLen = 51 -FixedInputData = c888fd5bca4575f495bbdfea6f9f918ff1792211f3ccbd1d2f92b2d1252d296671cca5c96a745523388edded4e5d46898cfbbe -KO = 074585fb2e1a5cd9eb0c7f4225f598226261da9cb3c85d14aac6032b5df67c1610bbcd1336f155920efbc86fefeb67918ca7a2892fd83b219a23826b97515888ecfedd32b091dcf17082cb1374da8d6555f1b479107df758d3047e78bad6f717c8d5ba36018c772f5c02c452c9c409ae7276e54da459a8d7404579bd0d27ba81 - -COUNT=11 -L = 1024 -KI = d55b76766b5dd7cc90ce5920b06c29fb38c34d073bd16af7 -FixedInputDataByteLen = 51 -FixedInputData = 8d386d71446d404e9721280b4f98e42389ed7ba3ff971200db69af3d73585830f8239b1d837a6b6a5af9ecd859b0f80c08c756 -KO = b1ff204c63918545ceddc006938066b1137c96f3ee9ccf6e3d880a238da6816c80dbfc4750aa786116cbffa925cf62442a333b0c0fe4821b47bdb60edcb4b654e0a21ba98b1541c5ee7212db6f167bb006ce009e6f23e988cc449f50aa6ac5272613d64b1ccefd7b5ed78efe4a128c7f1e133047960ee76ca73ace2b66fc3d58 - -COUNT=12 -L = 1024 -KI = 82a52676f23579d8de07002bb7137f6b9795338466246974 -FixedInputDataByteLen = 51 -FixedInputData = 924d5d5926deba5c2de5c5cb2d1fe4b670219f4377df8974ed2ec9ad64286ba39bd19570e4d2de59d6d3308e2daf21e9d71b18 -KO = f941e5e450411dda2279d8642573b20fc4bad2aa619e7e40132cbd4da79e7b4a515e2501009346f6c41a6f6c0717234e4dd0c442fe88f00a1a64253f27f116eafc6f5e95099b10bcc941c6895638f93f562fce9492dea44f9214180f4f2ee9c70c4716e24c78a65cbe3135e905de4f49737bea91712758b26ac01a746995408a - -COUNT=13 -L = 1024 -KI = 8de53d92e98efe9c25e9f7d51f2eeee7365b17d1bc9d1a44 -FixedInputDataByteLen = 51 -FixedInputData = a39e19d45da6cc7ca6bec77b62cb642520445672df02187c8986923f51a0ad248cc0b07fcbfa3881aac5159dd2035474882729 -KO = 77acc17b1cfb0a8a0ec1edffd0050e0f9090998ca41d646a4fdec9f7e978d301973d4470fc9f556025c9646459ef2c050354fb466a68fa3c01377ea481fdbb005965f9b71daf6814130b157d585770965a01556b41ee58e841d075789e493bb8e720c34ba46c1319368fef516b1348235b05b4512557b8cd326b162a75c13354 - -COUNT=14 -L = 1024 -KI = 5975469b7db722f477a939a4ba5ac285cb210b97d9ddf7b4 -FixedInputDataByteLen = 51 -FixedInputData = 1698c431888a1b7884902349e2d0c4fbfe575f60ce5611378f22b1a552be160c5ce5de0d0589f4e4d8ac74fec784d5dad8da93 -KO = 5e6e29bdf9013e70011743459a8049a9c6592a9ad2b3bdbb91d14402f43043a5638e705f4d25663533fe71d1c7cb964777addcba3ad3ffd3e78cbceecf3c3b65ccab40a7c4fdd0474099d16b877ff7ced8a6dc7769a8106620803c868c93d1ea00d3544a6bc3df6f511fc9991a772e6afc52a2f7fbddda54d80ac360efad136a - -COUNT=15 -L = 1024 -KI = 2e77d8f3bfc96f7d376d5209873948e249fa71c05e8b83ea -FixedInputDataByteLen = 51 -FixedInputData = 2be5770a3d2af98c7302707c03297f141da0e4fa3253ff46ebfd7fd8f5a7d0428b5fe0281125f9e4227693cd2f1f3640e297d4 -KO = 9e20c24514ab330e656f4d12e6b40537d721cdff17dd0deb417bf61c64e4b01ad8df15d2d67a3fb702489f11642e74367f8007796a6710ee74eb69e9cc2f686028c2d18a172be66d8db17a2cea4518f384c90ff1f880a08902d57b019e3fd625bc8bce7262681e44cee07d4ad8de6817d0646484774c59cd4aae6fe3f5d80c18 - -COUNT=16 -L = 1024 -KI = b094aa7befbc584189676ab20916b981ce1f75a051ad39d1 -FixedInputDataByteLen = 51 -FixedInputData = 88cc06cbabe64520e1714f3360a32cbaa959b20c75982eedcae9d25900ce3a6628d3cf40f30e53df3aa0f6f555534dabaee46e -KO = ff5f204823ae8ff79fd7969ee00d7ccea149f794f7c98992c9c4c42e7ed1d59e40a933e5618fa5449e6da8feea6b679aa032ee19c682c814ab7d5eb72a6d717bc18931dd6c82f280c238ee3406e7459a31bdc022ecfb487b8948b64aa2dd8830f0becd9d132cb460ed3c2a89d8decdfab074203b03cb8f99f2c2340e8bc55cde - -COUNT=17 -L = 1024 -KI = 389615e284ef40477a14acf40c7716466be383685f1e459c -FixedInputDataByteLen = 51 -FixedInputData = 2685e2ddf191fef64921baa36cf4a1014c47c7a6c87093b2e11ba15ce45811ab0c3db38bac3fc5ce7b5e370a3bd5c86f24b58d -KO = 91807da466b79f1828521a649c0c295543e3310bf997fd9be4f3d3134623b9115fb5fdd716051415de7a0f7f7a8d58a8dbd46b3ef5debfa09e47e4eb14bbffb82df16e80ad4b6227b9a58054d9ed5b380ce84baa71a193d6efb5e0fd8b1e7b62371f750051c2d5b5648b6064710555f906c460286976d6e394fb245e7fa3d9e5 - -COUNT=18 -L = 1024 -KI = 9ab43c5f53f02f53c90fabb1754c2218c530bd436fc22a79 -FixedInputDataByteLen = 51 -FixedInputData = 970f01b8de559ab6b46cf311d936a8152df5a9ea604a12e4ea93b7ff997be187c981c28dfe5a1e1cf22eb2204bce15ac38e8be -KO = 6c12fc486a336a62a40c4e9034b0c7ad25e5680d5a05c5ea9bec0c953f56e4b027abab2296bc9e13912a678255fca747517481ec601f713ae66d3130f480033f3ecc677ace122eba1712c38db93bc4d6b26b6026e987dbb07e0c030d9e9db1c7c4b9af4d6717dcacde430a97e8e6185d01f1ac0e0ad02e8ab8a529477b6a1eab - -COUNT=19 -L = 1024 -KI = ccc672bc02fe887d807fef214e944990b8c2871532e62cf4 -FixedInputDataByteLen = 51 -FixedInputData = 84eaf7ab284479696c6f4bda4e5dbffcfe2e00368d9f8ccc4e530ac48e8b219a16ae403151ce65717969fe52f97ee56aadcdaf -KO = 59fdf7a47330298c30fd52f917e7ed213b3dadfe015f129b53591ae12a7a3b9cf8eca56ee3588ab11f6d80fd3d8ecb0fb083a23ab8fcebd084de5aa3c9b0507a971fa21a543f8016d940dcc795472be9949b087f6b5eb915f5646c1dd9d3096d394b45533d22d4491cebdd8117f86cc3ce5562e5f35bcc2f574d70567ce6a26f - -COUNT=20 -L = 480 -KI = e2470499c69f0b8fe81ee7ffe30d579e5b50406ba9a84e6e -FixedInputDataByteLen = 51 -FixedInputData = 66a2a7f7701d01b570077e47ffba94abb1b263198e1e780be637509ce9c88ef2d1e7743ab7330333613a5243390a4dcd9f5c1f -KO = d7bfc4e878fd4bf425dae964b016f260164925b41033cfd2e510277196d9da72a20637344cc65d17528c6cc4160aaf5c6a7519c5170f06b412e260dd - -COUNT=21 -L = 480 -KI = dcf87d462ad28f02ea46571a2571c9ef013836676802770c -FixedInputDataByteLen = 51 -FixedInputData = 630ba732031d161121b9d27b6221d5b24952a9fa28244e3fa385b037dae25153698ac5988e5afc295a2240b4cd0106593d22c1 -KO = 8ed979a45012e468fdf462d59ddb284105db62a65f043fc5680e952837e04fcf42e5ecced5905e778f55e7f4545fbcf41afafa1177663b61c25cc11b - -COUNT=22 -L = 480 -KI = b0250456eecdd78b93c1031f88d08976bd0c198bb55e5475 -FixedInputDataByteLen = 51 -FixedInputData = 590aa5e6469dc2c388ce2ad3ef92f20389185ae428750946a1b136abdc5563ab36d9bafaa3ec5dd6dcdc51a575d60116884583 -KO = 4ab2b5b3aff2312e1f81642c0dbadad0e9995c42ffd82a6f787069dd68f80321881bf40b725d137689f575701c2fa1f55eb6af3dd0908f60a3af1134 - -COUNT=23 -L = 480 -KI = 0e4a8cae873153e7857a07192f779a0ddfc6c464c00597c0 -FixedInputDataByteLen = 51 -FixedInputData = 75a4b0aa17db869f8b81d16c51c8106fb0046212c2432d497d0e853acc67d839eb22c1d0cc0560110fd1289285f2d6f29540bc -KO = 25b36294e8fddaad5677a805771d72dbd3def577bd5336785e3709025bd93ccd0fae0cdf44cc7b43a1d1fdc88d6ac92dbeed31601d0d26f32caf2d0b - -COUNT=24 -L = 480 -KI = 9c89a9bc5de03326e275bd9339f248e2454b8a62785490f5 -FixedInputDataByteLen = 51 -FixedInputData = 67be6a35e72fef1ed07cc9bdd276e37d037327443d68d9b0976355ac0405229f20373570fce71d8f60f3bd27498e949d0dae7f -KO = 4ac39572d6f8daa996e883ce7421d2c5f25bb85aed762066e145ae054807194bdced49389c9045d83c7f90c875094a444241352adbc1127a1148b510 - -COUNT=25 -L = 480 -KI = ea4fd1211eae44030c3fc088780086b88a09624aa5158ed0 -FixedInputDataByteLen = 51 -FixedInputData = ad7ffcf7e4c66a03eead2dac5060f927e09646de370d3aa7a61947f729c6bc301bc218c8cac6779dda90e43008e3fa058a5a37 -KO = 47412e73dc17c69929a3b56d113cc5ad549e4e90615b24c6b8200edc6b4fd8caefbbabe0b3fcd871637af6b39163060520f6ba63eac6053c108d07f8 - -COUNT=26 -L = 480 -KI = f4dae962dc1a989e818a6a2f6b676a65245a0197c6ee044f -FixedInputDataByteLen = 51 -FixedInputData = 9750f2a792fcd0fb7a86f3d9d35af782f883fb9ed77cc2725e56edac8d2307ca81f5d29bb3b9f605835f6ea44e9c271f648987 -KO = 89f0c3c0977209f1dc1e88ad847849901f066075f7f0940f31beed0fcc2e7d525662b40e9a4d9e3ae65906abc00e3468527690a0f4912db64e131fa2 - -COUNT=27 -L = 480 -KI = 9354b72643f305ef139d8e41753f4b6dfeab788254c9197f -FixedInputDataByteLen = 51 -FixedInputData = cd113a500edf15646c433440e5a2e3538ab4f6dd429061e62df5c205bd0cbf091b003320c3d4657ef6bb3004f13f5c6493b129 -KO = 7c3509de3c04489ab3702ccaee8854c4e85597e91fae03b0973abeb6535992b396f335a7a75bae95a100ac795a8c11483c25eb02c36ab880b77e3659 - -COUNT=28 -L = 480 -KI = ff641afb53b00dbdf6b227ef7fed9ea6bb0b6f665a7f8a36 -FixedInputDataByteLen = 51 -FixedInputData = d2ed23cfc8d090ec0731c65de418d84aff5adf1dacfa615c2f7548352be3366dc7b23aa77f8eb6c6e7680a304f9f66d38716d6 -KO = e07cc9f841e2a2dfee4ec202c50e60df18a3eb96a6c5d70448cb751367554b705590c7ba7f5b83bef1898464b5f808b4d0cc4d63e15726371d78a904 - -COUNT=29 -L = 480 -KI = 6e1f1906816322bcd82fd61c7cbe47957420d41c2e29c528 -FixedInputDataByteLen = 51 -FixedInputData = d2be60539fe62c0646c526691e60452c4404c7ac2a2bb05a2eada4aa61081d7692c6054b229ada861b0aa2612459fc7cf8a09c -KO = a24b2ada761c3e9750f9d4afb3032944bee5c5d8cf9d70def05234668373c1018cab2a5d2f0438a43e51cf78c65935c163a2a042a01591d933839320 - -COUNT=30 -L = 1040 -KI = 617303d88324c5d34c010c389c8b7259ec37e4d24f2d5528 -FixedInputDataByteLen = 51 -FixedInputData = 4f7918803b74823fe843d5376228f348e29424d4f96a3d9a8747dfe7996230b9d03be0288f68e0bcd8c4f0ce43bcff18a9a9ab -KO = 56a1e0fbd0293f4161c491b4f0778e060fc1609636c47220e607d15246e365855a1a3e2b5d59bec8342c2864693316ac678f22e2d934dd533397088430475ceb59d3eb86da0dc012bccb26b3f9a8ac306cc697312f06880283d15ce4eed35b557acfc1606a1599f3747a47515821346b51925eb4f2f879ff7a4b63e3e4a8bdd1e250 - -COUNT=31 -L = 1040 -KI = f2bce0b97f8f2a98ef3252d7cd325b009cc8310e9d80a792 -FixedInputDataByteLen = 51 -FixedInputData = ca46fa59d9fd64432f1a1cd5293af88b742a5bdc8efdbff1559b087c131a1b1a5a065e0b779162a5f9c809f2ea2dc4d677f62b -KO = 10cde4c83773bc68a241da0b6ea2731cb7f78ac0a8541e7964588aeac1d67ced25e4b5aab88616683bc0b8cf8bfece6846b3930062155bcf381ca09aa4036217573017b6670f214367e2b22e425b1b7875de98c7c4cd9fbe9dec8341740a45e208b95dd21fdaadbdbe6b49f77d91626714f45e121fe592ce8b6786a11a8515735ddd - -COUNT=32 -L = 1040 -KI = 1912e3509fdfbfff8da5ea9bad2ae3d01467caf521735233 -FixedInputDataByteLen = 51 -FixedInputData = 05164de304f77bdd30048e1887f0d3f6e967e8ae9aad2146ecb08c8423a66cf3801ccff65fd731a1537bf960d4dc68ed29fec7 -KO = bcce67c26fe39edc65370c4c25cd9a8625c24d0fb6073973ccea9c06ccf38e91c322f2dfa37fd08e1c9049d094e84053bccc4d157c0c4b16f4384253052c8977e07ddb4f439a13ab60dc15fea4409a77ac19f39af9d2439425d616544307363376bf2397ae1aaa719f0d17227794b636a596334dcb17bfcdfd8e211bfd3ee95d3439 - -COUNT=33 -L = 1040 -KI = 124513aad7d9483208edc191b61937a3cf713fc0a05bbf0c -FixedInputDataByteLen = 51 -FixedInputData = 79e10678098274be909af4f84071ea76b66cce08d93446f6ee457177886b1fbe6aa20ed261d7694341159a04d480844b20e455 -KO = 650cbe2bdcd43ca0dc31212d4a3b28df408f92f34e4b9a302de5e1a9268fd1a0fdf7da2761fb4420fc5b5947ca1fcbea60ef40b5fa6848040efc8180af81a64603c3b597827c9318a1a588c3687866c23293c11751c2cef74c607a58cf3744c74e1507590a56635013b2f21bedb985a35d1663a9d3adbe624ed72ece946b8ccdf0ff - -COUNT=34 -L = 1040 -KI = b9febf6a264ccda08b3f241d583b1c7e1b81b02c121159a7 -FixedInputDataByteLen = 51 -FixedInputData = 305b41ed952750c2f13c0065548511ab76867cf2bccb140338c4058766c1b69e83ef5e64b99b8edc0070583e6b6c1309de7353 -KO = cd89fc4de629859b71f00200676c3a01272d730101bb0d7d77396862824e4298cb722cfe2430af59e9e8300b3ceb7276e9ff18ce108c2fe80dc2ed12282e4d74e984d5377951f315908e865764c1cc24940d553df988419316ee3dd4f39a51a9e95a1a9f5ac8519432ed94f831b26c91f03c18f89c380c165e04cce43e7be07034d7 - -COUNT=35 -L = 1040 -KI = 666c844e9525da77d78eeb2f228c21b938b27aea8916be10 -FixedInputDataByteLen = 51 -FixedInputData = 87ae4ae567cc91f4928b053b8198b86b74c63fa59c41b148bb23eff6ba524b32039c7ebc4969f07522d6c2a0c3349b28d0b8e1 -KO = 77d66ca281b36bb12de767db01031ed3d2406e41925cb84ee3b06889ef91b462c26304ec23789e1efda58042c70ca84979f6548fb5ba52929a5f71e14e8ef47fb5f238b841c1e51c4e35584c03fbb8602e5c8b52018c66df4aac405bb818148b8b763a1c77e42566e7bd28ad675524c07ced0044adaf84976d2cc807535d73079c44 - -COUNT=36 -L = 1040 -KI = 0076e248c12ca73bd02908a8109a129cbfcba7415e2fe724 -FixedInputDataByteLen = 51 -FixedInputData = c52aaa9f9f14fba04c66602824cf2894886fe0325301da63e0bddb282c192a7edc4ffbf9458a0f6751a772d5590c1c1ab1a622 -KO = 2e1d7128fbf5e0f7cc159626f40a2e908e5e73ddc62cdf4d6168cd308925018c51888c8ef43c303780cfbe8b048c24895859999603990bcb2b580ca0582b6c72897a1630ca2b29e6f24d93ca5987572c7c85763f33308b8aecb44cda1bfd728be195132b9685847de6b422bb38d0c276b0587dec33721dd32015fa2c699688716d8d - -COUNT=37 -L = 1040 -KI = 895413fe7880669db47c6689ef4c77150531b15bd7e846e5 -FixedInputDataByteLen = 51 -FixedInputData = 83fd89cf5ab0aa8fbbb7a68032d1cc31f040b4cc0d0f7c2d4f0c1cfdcbb4463f130debd0147206fd5fc4a4e128b3e67fbdefc2 -KO = 71757e0f4f85cd8067a93638c47b7f348a895d20a33a1c5e41e8fa73d7ceb2aac85fb45d37df348b42debc29fc6396470fc460d5d172c35cc6b4f8e512d83cc2c9753abf4a0d924a81c4c489378ec0befdc17672e262bbae650e73b53c5dbea20dddaede05ba009006890ae04ef57abb80ca1a0afc42715a32d3d291e91324578032 - -COUNT=38 -L = 1040 -KI = 1d79fd165282feb3fce36e0183bb37d7b3a50b725a798d27 -FixedInputDataByteLen = 51 -FixedInputData = 8b65eb24362a0399dc825a420720d3c314d0cb3ce0c68c157e909b1459869e32d263f21f12e9ebb52363928c93972234c8c155 -KO = 5ab1ada7ea54f1d03d694a586b31ecaebb5ae82148277873d57d08185f0a6b70cae3754145b9347629ca1dc8781b0613ac8b5fbe0bf91782ba7ac7b426bb8108e3712cddfe934e8e3c3fa8ca84b36a90f76f3e988db78a19f3ed822a3521519defb3addd1f4a85149fbc64b1805223f9f5bd1cb275380c24061cecaa2abff03a413a - -COUNT=39 -L = 1040 -KI = d3f14ca96a7d2f3adbe00570f706e853be16e26d93749102 -FixedInputDataByteLen = 51 -FixedInputData = b63254f2160a72f61a91ba1433f5b60b0fbd543d390ef2a362028266142679d768572282ada5b09e2d52374cb8a7fbdb1cc657 -KO = 81b2763afedd24d0e25a6921aa48d68f712e476ec6d7d2fb69cbc4cf1228b305f28efc66fc01571e2874db7b164fdae3458c56eff032c365b06afd013f7af8937994a3df488188d4b21b596e5fcb2231b04705342e1186291afb938c6c62b2c32eca2b4b6b83f04012c30c7907b0d59b20a480181d3d07df1e612dcf8daa0afe9fe8 - -[PRF=HMAC_SHA1] -COUNT=0 -L = 512 -KI = 278d5148bb874bd98d604b4417e97f95ebf67dd1 -FixedInputDataByteLen = 51 -FixedInputData = 4b90bd93e1b9bb7d385bbd11340ca853c783c2d3284c602aab8fe24c2f7c3502dba1177569ce6f58354a07999360dc0ad8d334 -KO = f06a2a6e5dd085538b75c6e10e96509efddfe6b34b2497227401a24fd8e09453f3ed8ab187d16efd912abf9a234227c54eff463f16172795dc4666ab10fefab0 - -COUNT=1 -L = 512 -KI = ac555926b4c576ef57db28694ae57c0096c6b046 -FixedInputDataByteLen = 51 -FixedInputData = 855b90399bca4c34e0518b7580615cdf1ed5fc1e07106d807b8eb54d0f30a08f743a1c6d0834edcd4a1de22b6d09fc5a05370e -KO = bf1ecca59fd9c8b93a95e4716ad1ffe3777c8c3afe92eb445a890267e96ee8b4fb2fb3d126ebc937a11b8f5b438d8f4c353a2f6b41be8027e7795b4db82f96eb - -COUNT=2 -L = 512 -KI = 8adb751bf7adbfe655d42c6274ad8b1613651854 -FixedInputDataByteLen = 51 -FixedInputData = d1818ee129326e1e8a5e41ef9e4bd74254090110ec723b417517465b19d8dfbdf69a8493e001f37b1a1b64e89efe48dffe8a92 -KO = c1f7491654ad9aa03a69c114d7bb0853d8a57693195a7e1e84e6d150266b060013920891c5d2dc9f7ab43feffbaa69a14f89097ec0bc8abc557e7efdf70a05e0 - -COUNT=3 -L = 512 -KI = bac6db26eca940e05e808d5c5317c1b9d4e9f10e -FixedInputDataByteLen = 51 -FixedInputData = 6d55a8e0757212fd80060f5f1c3e12137f20a3df8b48992e9012f96d6c5bfc3b2a998563cf6903c48cb77ed5f4c2089336521a -KO = 24a98178ca1625a6e139d7b393ae2428a27aa077603678a09a857787f492594d483896e4ff0d382e2fba10c4b5395c5091736fb24562616eaae41733b576c432 - -COUNT=4 -L = 512 -KI = 480621f51b7efceb810ff7d191b2db3172dd24bc -FixedInputDataByteLen = 51 -FixedInputData = de476379d06e0a77bcceb3c74bd6378a2254489237808d61f66755687f54cb6f3aff7da047efaf6390f0d04df9df4e7b44a38d -KO = 0c7c116f20f0fc5953060e7b26fcd034ad2fb3b33356b65b6d7216939f880a0b0948aaaa7b4403b84d14b6d24566323ee5abc6563d74d78fa453db95cb93bd55 - -COUNT=5 -L = 512 -KI = 11d1fed9e81cbdf2566d33ebd0efcc73b42b6827 -FixedInputDataByteLen = 51 -FixedInputData = 393ffcb0b2fdb3cf14cdbf72162a72e58c30c185ee0ed367e17901fe8d56e65a17f8d54eae11daffceee50c917d72a2df19d52 -KO = b1d3919b3a7fbe4297760d6a4baae654d6a4afa2e6006b916073265621ad15fbfe7538c5d01c1343149f8c016c6aa3c37daea8deffd3edae9adec29b807205a2 - -COUNT=6 -L = 512 -KI = 1e7ee2d61ca16e9d205783cf51cd9713dc0bb112 -FixedInputDataByteLen = 51 -FixedInputData = 390345fa22afe80296f4fddc889b466a0a3ce4c2fefd5b867543600f224935170423eec154cbad3998c7ac2da2c27939cd2398 -KO = 81f3cb03a238218175d47e8dd4b0cbd48a9f2001b60b4cbe52937b9469ed1342886edb937d123e118760372237a3f210e89ffa42f08dc9776374358823391847 - -COUNT=7 -L = 512 -KI = c26a363470951c1ea24f64bcad4e7ea18b7ba5ee -FixedInputDataByteLen = 51 -FixedInputData = 98a04f0820ec19835bd81b36c38150f8c90227e207af14948c6867e00425dc3ebc18bd016c6fbfe6c671c1a407b7157de705e2 -KO = ab4bd5d8df44a30dfb429524df5009091507a3043608185d22741d734cb6bf2fb64ad1ae46cc6ddd0a23226071d174d9aa2d2122333bc3ba75ea46c4467bd66b - -COUNT=8 -L = 512 -KI = 79fe5fa01563b0c6342711864fd2b272d1d13cd5 -FixedInputDataByteLen = 51 -FixedInputData = dc800bb33c2a0478e46711f46915e25d152a64ee75c64c333c9fd3686cb95af1329bce75e57f1ee031db804b90e64224fcf177 -KO = bb2ffe52d81cb3ae098ed60f6e24f57b00de6c6239ab44d425dccf18cf37d3d254d48e4efd6696a506be56dbaf85c0f1906fa188fed08beeba7eb581ad32c4b4 - -COUNT=9 -L = 512 -KI = fb8b0911638fe22f345efbde88ceaabb9c178774 -FixedInputDataByteLen = 51 -FixedInputData = c5fc480bbed86b509a6d9abf625086b9b08b34be0a5c7aa141f439d2046695027cb6f4ccc52e4db330459a457117b6c33ced65 -KO = 3d20170b07fe2ab9ab3312165de6f4697576134aae6c7ff1d143dde2c90d235bf73bdf329da2e873e8acc3291809f87306b60fe16e2d3bde30a29ffe22014436 - -COUNT=10 -L = 1024 -KI = d2aed5527ad2289a092bd374aac2569745c92b75 -FixedInputDataByteLen = 51 -FixedInputData = 056ddbebe74115c1ade201c16a8d666f913dbd6711b2dd5e1bd2d07d146bec560493b99ac0fa6fbfc61cd549664f84738322d6 -KO = 4c01e840a50448c774087787650b87d4b28a48ad5d908337b6de6094c25ef541e98a57958cb3a409de1251cd306cf6ecb6e6f6154ae7596228e25885bf190249f067e483e22273e5b9d2f02302d84247022bf502123f61d6e948a6303c8afb704d56a76b4da842eee3715a4df7e43f0dd6a5d7060352794746d816327584f556 - -COUNT=11 -L = 1024 -KI = 6dceb3506d8fa245a66ae945c553beecc9fc7925 -FixedInputDataByteLen = 51 -FixedInputData = ce6da7234eff636306902b7fb71b716276745360e223c945b20eb8aed9000619031f90e07408ed38aa462e9c56c08f4b142b65 -KO = d1f13e04f727afb3dd03acea5dac59fe6d36986b30218b943e75cd8006b21613ddafe2ff9e4f8acd6f96e650196e97a14b97bf6b6beb26699bf4ac003a493856b1ed8596744d412f147083738e1fe5aba9a5c60a254bf42bf5e01a92c8ff4178b6dcc22818ed40f2545114b5d99a6888ebc7c8f3e01543083fe2c3da1ba998a8 - -COUNT=12 -L = 1024 -KI = 9e877dbd78d0341fcf3948fc6a52bdcde0042fef -FixedInputDataByteLen = 51 -FixedInputData = 190e9366ee584d3c6efb27bf8f400bf1d40d317ea4890663f534ceefc832fdc61de76b44a2a9a4e18077f1c4550d8c0f42cc4b -KO = 4d013199e4e0a24174e32b953d7ef6633bca24f37cf8cf72a35b4c931036247393f66ae48fd90b2012449f8b6a46792cb604098f0dc736b162b37ba24f0b734e3ba27efa57472a5d385b84696ad57dcf65b69d91563017e6c226aa1926a2d744a641604d25f5b93de35771ee550e738aeb7998125a039daa1541fd84d9914408 - -COUNT=13 -L = 1024 -KI = e7fbca2223b7c60469504f88ac3e0dc7a91044ad -FixedInputDataByteLen = 51 -FixedInputData = 917ddb7807d8a560214d4e4da525932eee6b5c0f108821c0dcfbfe3852bb26e80a09323a02648b8a9daf7ef16501f58c6bb171 -KO = 6b197b85b2292e68633edd37a0e074535a477493bbce8f618b1711ccab1086f6d32c32595f95e962f9b5daf91c908806b70b9ea5066de8a845a5c6bb8dd428140a42f9bc915db1f25417f2c5593cdf857533d4c29fb74071b7129ad73db5d9b8b95ff71f682c4746816ddaa484ba5de1d31367164d2afc9462c453a165f5f0f6 - -COUNT=14 -L = 1024 -KI = 45e3c898c820da587ccb33936a6dd64785484a61 -FixedInputDataByteLen = 51 -FixedInputData = 7db0b55feb0ee227ca60d62f4c5d973730b42eccf47e0cd1707913489289dfcc897f147ccc7f02208b874a112f9c6d0eca9f51 -KO = 40e865d9097ad951eaf61ab301ec3f93c9f21d449d8d2e7e90af8bb48f6203efd4f2edb42269143883a2b004b30f6eeba99a6f18eb4951d946d81aab10c1ce2015f38ce5c759f3735cab13098aba3be6112cb46278a972df9ad018177441cc537fb8799cec6a4d720fdf336448e53fbf938f5ae7fff0792373e9458e68a4ddc0 - -COUNT=15 -L = 1024 -KI = bbed45806d1ec3cc4d0d7f447bf7befd1df1ef3a -FixedInputDataByteLen = 51 -FixedInputData = a095265c318a306a9f0682f8d93aae45d94a89e991b6c7f21c31c4e3354dd04cd39a668bee8f17d570ce2e8712a9e6265674fa -KO = a6754d2f7c2e594569cd90bf2e80f2111a22e9037f23a606a33a197d87f4dcaeb6381b14cfc58c8e4797ba0d6c2faec18a432d4641a75b6165ddf57801c4bbf85a68fcc5388abc38c22490dda64b065a42fff3f0488739fbdfbf1fa749f48c2fddcb1eb1d619d46b9638e72f9d4e376c8e6b96debf09b7f55748a156265f9ed2 - -COUNT=16 -L = 1024 -KI = 72f44becbe7b1d744f4ea3d00b199d84c6509e3c -FixedInputDataByteLen = 51 -FixedInputData = b6613b2eb4365448c2d350f799aba86be51c9b048cbd260625021e2051fab04bc28e24d207ba09c0d0d2040c183eae4b6d040a -KO = ee7c2cd583b38450a736ee9a9cd2c996a75810dba1a9d82a710c07816d2e63e9a3c6898b955a49b142e5ad7297de2ea89293c645ed7767c29001d53065041d2a2c4febe6f6f3998c9ac2caa69af28ed91a6a15d04fc94c86ca06fd5861492e0a15c93dfdf15246f9bbc2df39c0c8c3d120fe4ccca9f6ee18b819b481578224e6 - -COUNT=17 -L = 1024 -KI = 670964dc94bb81717fa538a0f57fb6bf92a3a140 -FixedInputDataByteLen = 51 -FixedInputData = 61adc58787a267474e73ae8d7ffd836ff00cfca7daca2034e184cf02f786b006c783870c31d38277d5d55bf17b093fce8e0204 -KO = 78bfa0c1eeb50e95e14f15c8805293dd04ec159a3b68d7f56cf5f566f1fb53ca77ed5334b33ef2800cd3fa469670e96fe6499119ed1f5e9688a58a0d9573cfe1bc2b35dde6ea7103f0d9c98ec06aaf3b4f2cbc323f5e7e8e16691789574bfaf6af852ac26d12f95f1173fe4af9ba1b5fc88c839db4a26d660f5ae75b34d2ed86 - -COUNT=18 -L = 1024 -KI = 4d26940511a480ea9def36345e5fd135de996f40 -FixedInputDataByteLen = 51 -FixedInputData = ae8443c3e8567c226a31229e47db63865f226bb32ebc1ea50ea0ec33e0c42908171fbce0f8ad8c7e0bfe57ec556fdf6b33d0e9 -KO = 5704d9dc7b06a3c2cb671e00623c3b5c439c77d013a042905106d3517ee158ca117ab3298fcdee347e446eca4fdbafaa4b2d022e711ef08b87ce20385f1fbbc3d4029fa8bd9c1c2ba18a88ad192903564d8583a0ec447c06d453d0fde796b97fd768e81f96ce6e9f65ddb92e5c0c76efeb170cc8bada6a35ec524baeb981b97f - -COUNT=19 -L = 1024 -KI = c8d53d42ad478e8e29c66eb3b73de46ab789ed86 -FixedInputDataByteLen = 51 -FixedInputData = d368528e127f2046e008165810e528b6927ea4cb55502e46022380af1e67e4fc2c7cded920e7b5beebe68350697e13044f0472 -KO = 31083b7837d726dc369f392f4bd34697be39f554e6a87c079ac5f5b1e0aec81d7af6bbc57ca9bfa827f03ccb4c2f03a677b42db4fcddbe405adc43a21c3778b3e2049998896fc0ecd88e5fef34d7276f9e51984f9f261f34342bdd8ac5359536a1bd50f5a7f759815882ac3ed9c57d7d74ac96e5dff286c520ad3be5fbe05c73 - -COUNT=20 -L = 480 -KI = d8109afebd0e03d8ed93500618ffcd05966406b0 -FixedInputDataByteLen = 51 -FixedInputData = fc24846f2af6f410e31730aa64182de949b3a3dad498a71916ac411ba0d6aa1cd049451692aca790b5db4598d3102f23ba72f8 -KO = 85301d459c9d3a763e430736f3008803f16c7e64933618a55c2345b19797f3cf80e3e4a93280b7370bdd3e80c32e4639963d9ebabf91c3efeb2dcba6 - -COUNT=21 -L = 480 -KI = bc48777ab2d7e0e1cf94b4b902a09c8e5edbce2f -FixedInputDataByteLen = 51 -FixedInputData = 49c40a782576bb0fae8befb8953542c2d0d89a29d45f0d2df2fc18f7e1f9737043df75761351332929895ff05ec638ea0fffa5 -KO = 441175f62465fa70c5d3ef017b0cecb57cf9f319e4d13fa6248264c09309a94b3d0c4469bfad0afd598634f0f8654ba76ad681d8891e024979bc81bb - -COUNT=22 -L = 480 -KI = ba7082aeb85e36e2d2879ba5ff3263baeaa788bc -FixedInputDataByteLen = 51 -FixedInputData = 400eda4054eb4c1fac06e9bd245376a331ea650faa6451b0af94e0602a0320d4b3e0b39ab22c3a83a61aa1781aebe1d393fb26 -KO = 1da9efc85ce564df171de2581aa8007648104ddc1e44f5ae71790690b1a3015699bdad2326f1ae6ba7066277c6b463dfeccf1736a4e0504fdf82cd46 - -COUNT=23 -L = 480 -KI = 6e95f9a598744224b9cd887a6965d0fd46a6dd70 -FixedInputDataByteLen = 51 -FixedInputData = 3e1ad2f7e31710c69c61ea2d77f7c102d38707161aaad8529926d8749e39edb561e9151650a564a94c062723abb62c45389b24 -KO = 25c53bda84fef12a21185a5ba57052d70812f0162011e19028cc08fa4908759dd387e058f4da689c02b1555ccbaafac5a1409cc4c6c032a0749c4f80 - -COUNT=24 -L = 480 -KI = 0b0562a6a694e6955160f8ed62452c3947e63880 -FixedInputDataByteLen = 51 -FixedInputData = c3994598953ae478f8298dc6820713b5e89250220bba840cd0dc767651296320bfcd9cd9cf30c3ffce0d1a179e45f103d65b43 -KO = 2d90410562247d404f0ee4fbfc3d4025a12a591bedea02767f8bc2dc22dd2e455facac4bd0b70fc5aa24826f5db224c689666f345d4cf4d75011c134 - -COUNT=25 -L = 480 -KI = 3a6dff93e82705cdde2158e9d66d8c23570982a6 -FixedInputDataByteLen = 51 -FixedInputData = 04692d2b8f5bc4a50f1fc3c9d1b0891e37093353d63d4e9931dda18144214cbb9b86eeba53215f36a773e0dc1cb9a1d53e912c -KO = 8c4f30ae75fb5bf0c29be00db3f9e0a676b286df6840017281ce6b4a4725209b7108dd20ef2dfeb22bc4525211647d131984c236cafc3216658ae47e - -COUNT=26 -L = 480 -KI = 3f48428934a1978860d380793ad32aee8af2e5c6 -FixedInputDataByteLen = 51 -FixedInputData = 5e015761b37b667b2aec717040216f617d6626a47144d388ec78c1bca392a5e9459b6bf1f6fd26096136d3b5402eb7eaab9751 -KO = 0e30caeea55503fbb5cb0d4ddde67e5983520824ff2ebc2a5f42df436da11d3b033e2eccb6a909bb957528b1316a9d9a609399dd0d7a01ddf53add19 - -COUNT=27 -L = 480 -KI = bbd745657a87581dee6b7d9a42f0f5a94c98ef3d -FixedInputDataByteLen = 51 -FixedInputData = 305d38c12fc94286f165eae4c7e7bace5b55667a1aa418538804afda6ef9abdb34ab6d17429f69a7ce223c7d2836c2d114a19d -KO = 5cb619ed3ffa049903b6d78f258987403eddea921a05bd041471a798833a2a6a212fe79e9971ab0a33a74d7e5c6d03ee87aa5078568184cc58f99191 - -COUNT=28 -L = 480 -KI = 314765c8f2f5c6144dc51fe80ee4f8536e48850e -FixedInputDataByteLen = 51 -FixedInputData = 2791b39212bb2f920f0a1fe9bdf6a9a9ca3d2703370253f3247b08c5778684aba67026657bfc696e169eacd60d62e8722d6fb1 -KO = 76f5a05aad01c6b5c844474d47230846864cc47d31d95c830637f627dbe908e48b27cd5a69a340c79ca8b065ac7ca68ff67c0935636b27a36250a12f - -COUNT=29 -L = 480 -KI = fb8a8c48c885c34d32c8ad076f36ac28dae9422f -FixedInputDataByteLen = 51 -FixedInputData = 65f36623239575d7207cd93ea0e7bc81d2a9cd653b8f508c952236f9c6046e33fa590765245164b160eedc33d7a7480587f846 -KO = 877a79a2fc5e3622aac4a3ca48da34296ec663b79c46497fccbd74e180fd564d1378024f28432928057af2e3de7f18857a5e8582a065e518fd230f9e - -COUNT=30 -L = 1040 -KI = 7128218c01567ef0e500a880091bfcbf6a98face -FixedInputDataByteLen = 51 -FixedInputData = 2edfb11b630120c9a3cb15710822c3690c8a02cb6453a408275776c8ab35e312d5bce0eee817f39df64bac070b2edcb238a293 -KO = ae1666a81a74c98e65ba8e40f0e36a2135e1466fd7d376ba2f884761a6f35550487ed23e465cdb4ac186d56e5192281d9a6b4e9ce542eed7cf595082c9a43778348e36a36466d4ac622999bb247b3bc9129eb2dd2a68786f0a625571e7706d49b939356094d76e004d9b899a09715e70fc035adcd6946375bd4f2cd13b6b80a96256 - -COUNT=31 -L = 1040 -KI = a0804cc9403b2faaf51d2f880285aa07a87af5cd -FixedInputDataByteLen = 51 -FixedInputData = 2a66de61922e375404a2e705c6debbce62d3e8eee6557ae735d25f28954fd0a06482c48908696fe6e060169ff902196276ce89 -KO = c0f75fff2be738a8a464015bb6a747594d9f777ca60d6fae852a57f0ea0c36cbf3fe8d8533d4b569d3889a93465eafcfd8e8833a184b4f7e3b146176d1a14c5ca6f8751ebb1499c11ead97434673f1eaedbf0ddf326404c866cde7d920ac97961401736b7d33a1f9a8bbba42e0989b6a8ea6e652f4ef63e7e4751051a31500dcf272 - -COUNT=32 -L = 1040 -KI = ea4b39f083e09467618ad1f36dd53cd3ca090537 -FixedInputDataByteLen = 51 -FixedInputData = 994e14d190fbd5f515bd167f85f34f5a49ab3fd1c3d3ac005b0d4db13dcc688f0f27fb1d7741062f73239a3d2db77867e98433 -KO = 22894f3131a45ef6451a1942bc28d27744579829c3b0e54fa31ad0b9ad6d88075198c104b3cda636b3d635763938fe66c60644368928ace906d413528cfedb9f51c74a694efe12158264c9f5e6097144bec4fda1b9e9f7b2a53d0122f532f872c498ba6bf9cacb2d64e0531f4b904fdb34ce295d02e7ccc296c5558aaacce75915c4 - -COUNT=33 -L = 1040 -KI = c71bb2b33532b667ea2fb67324c01c3f3ecb1d51 -FixedInputDataByteLen = 51 -FixedInputData = 9e74b92fb56bb7b93cc183bc6ce83431a006aedf317ad3758b153b08e29a6302c83b125c587ae5fa10fcebc850a0902b94aab2 -KO = 926b8b4bf04b1eb2be0d87be12a3f44b35c46cb75fe2bb531fe111217b321ef1d5f8c196ef3f38a99ca6ea372a2d21401e0661ea9b245324105d9a2b83c74eb304aa3e3df1f51e8c564c0a83b54fdc5df7234d9bd3acfb35a0f34c79cad56098b091e5409ddb44534bd2abb440829ed7231b09c42d5c668f8fdd35b8682c98473a60 - -COUNT=34 -L = 1040 -KI = 626842be5aaab6ce6f0af1d1e4756d2e619af6df -FixedInputDataByteLen = 51 -FixedInputData = 4f5f139d50e242bf7e8f4aef525ccdd128416d753ddd1809ad11769443166ecddceef2c45ffa0ea7003d1624c9d47c3351eeae -KO = 264783108c56bf32d86c6b5849ad5070609a682f9fc8b98e2cd41cde92415a0147d2c3effb7e15b8734c0d1de93356668f72f8819d96b8ccb2c023a4b86c7a14a8d8922ac7de8a468f57a6f2d63e6569b5d8ccc60cf608ad56c46c892b9a33ae7aa0b481dda8f0dbaab0870f4936081f2321d4e446086345205c9ea1c1c1bdb0a022 - -COUNT=35 -L = 1040 -KI = fc335bbb7372ad9d4f23ec50a97e33025b934a01 -FixedInputDataByteLen = 51 -FixedInputData = 65cc74ba2c602df2fa1319281a27008a6d04864a0c32316862d8339925235630631b88eec920cdb72b7ada0bf2bc5fe1f9ffeb -KO = 1df042963a4cc6395fcc5f552bc53cf8853f71848a00e6707c1d0e93ac2a9bf2cd6353557ec150a95792f194b431cbaf01553cb0421ca2e3618e629c609256817806a27d40acaa012f80154868151837036f18d5c20b373512f247acd7f8d32580ea31fb4c66c57c1fc98d08e309b606d1b7842d55907ae01fc77f1e5f2d6dafe05c - -COUNT=36 -L = 1040 -KI = 42c40179aeb117acad02d246924f9d565571fe38 -FixedInputDataByteLen = 51 -FixedInputData = 33599b7b06dd1b1f7cb5a0beaed449c8c7dcedf1ff9f0b079f018677e2d4701dda01150e9091b8267ba15775a494602505f53a -KO = 80cead0d8d783df64506e849947d88d3a81cf302d1c85d3e14a90fcdcf385ae861bc5c70b44a98e899d48afc8df0576d304da296be2a64e61af1c00b27538a4e83e7c80069aedda6b4558a2941135c8780f82c38334b8bd4a7cf20051e39fe3f9d2b063ff3d9cd56385a0384740ba3d4ee5d89e37bf1c3b6fdbf79fc23e464debe6c - -COUNT=37 -L = 1040 -KI = dedc65586c5b47bc41558c3c1a889bb34a4ab90d -FixedInputDataByteLen = 51 -FixedInputData = 389ebbd28919014c30034cee008dd9e76aaa2b0fb452e74098fd51972a0c772b18b41aee615bf955530c89d8ac80abfe1bf92d -KO = b9aacacbefc9aa36b389e14d1c699d9cf19970fc68a9b04fc96d99fe35101d19b311f1d6e3e1ac97c076f553ed6ac2a4f86c21b7a80006e53abefbb77bf9dba09bb44f0893a32465f86dd0cf634bf55b527651a0af4b7283811eb264433baf195ede7ba7c2af01c5ee71118405a9246851320dc0ca61d5e46702d40aa976b144eaf7 - -COUNT=38 -L = 1040 -KI = 69aeec80dd606936d70ae87d90ea2da6e7bd5e07 -FixedInputDataByteLen = 51 -FixedInputData = 5ae3637bc88744de2f76d3ebd904911bb423d97ce9cca936e57a13048fb7a12366dd9e986c4ca7892ecb66903e0b2bc5a52d1a -KO = 67e19069d5b9e15bdd159d99535279e5d9e978a4919394fe2872535f20c2d2f468f0a2cc0ad3fd107374e7ca974c583966127d86e7a9f3a939d3264fbbe9b0891b70de850761ceb6e601dbffa1c7e9185e2afaacc5f61c4c9869ee19a445a3b732bf42ed3eb5b098e5e6d005b1acf8ea27bf1d58ab79b29eb9d356990e81965ca3f4 - -COUNT=39 -L = 1040 -KI = b9a6e6b7c74715a0a904681597921295d605bfee -FixedInputDataByteLen = 51 -FixedInputData = 82c66dbc82e5713ac1d991b1506930a7db3ec95d0a0cba68d2a53c3c7da4a1a18207936b98844a761f3da96332143500d9055b -KO = dd600f47df57a07b546d5e61b4aefb3c43884ae32b7fafc46088fbd971048841e2deccbdec8e387ea59844e477dacd2a5ae4d226a88c1ac5b717f1e4a9a1a19bc2a0d702dfc82eedc3a2e9416666e49a87d955253c8fc2624ee267e4db92c8320e8f6640b62cdaa3e907bef8f9a08935493940bc456e517722fd401549a6013da721 - -[PRF=HMAC_SHA224] -COUNT=0 -L = 512 -KI = 5d2caf2ac8b0b2e73d4cb8875f7db2ad10ada6557303308a0783d274 -FixedInputDataByteLen = 51 -FixedInputData = 6e53248f96aff8883195fb80b9befd2226500eaf558d6e8abc1733d9bb352b75b8e9b5d423597d870630b0c64fdbf4cd161ddb -KO = 842c930d55d9b471c0417075112f71c1899cfaf880a80538ec09617eb242e188f1fb2db333b35a60e3f207ba6ad31d6509286de0f2779b89e70dc76992d2312c - -COUNT=1 -L = 512 -KI = c77e328275e8d03597fbdace54e8ad0509e7c97ba8a0eeff91392b38 -FixedInputDataByteLen = 51 -FixedInputData = 23191f2dd5d57303bec7d5dcf172bea9856cf5f6141fae34fca4a69e7437152e24a3b03ff1f6ea2d4b2143058124fa6c434276 -KO = 3a6e1e42ab8a0b571073350eca583d2e9ec3a779513c6b66bc71d2476819e49ce277dd840b813ddc816aa2e616019405d5e66c6f1e3724821b70d7637ed12cd2 - -COUNT=2 -L = 512 -KI = 7ca743c87aea90d8bf49de4bb23f0a5df980c4382f21a8eabeee0d73 -FixedInputDataByteLen = 51 -FixedInputData = b91cda343d754617abe6e3b4e7b58a9cac68e673409867ddb02896642d6bf60806d7ffe938e68cb9a395041ceeb57b92abe05e -KO = f9d1413ce4e219b3ed726243ed18c2b2344661b3b3c2e8c8b6ed7e38e09d1f38174686be1c2bee77a992691d3b496f1d041d82fed604671e1309890c843b8bf6 - -COUNT=3 -L = 512 -KI = 8e9d6f460ad15edd6cb7b3dc93815fb79d9cdbfdd70bf48e2dcfbca8 -FixedInputDataByteLen = 51 -FixedInputData = c91558b2adaed717915e58060afe9a3ac633011d6272d4d7afad58ad1461ee650d7254f1f060b517e298c59f1e4952d612e079 -KO = bad7c3fae41c9f54d3815de5c32bc824b23582b040e71b89a20b6049fd8e5b6e4b97b612c204ff2f8771db53f0753dd1021c9f2abcf95bc25fffd63b825f4bba - -COUNT=4 -L = 512 -KI = 2d61c1ee5c12f5ef216c18017fe6dc963cd116b4b3a986fb059ba8bd -FixedInputDataByteLen = 51 -FixedInputData = 0943e76f9c9807ff9e9c4d1cc3aa757d95b0087d77db335553c6fc3a40cb9d6fdd5d624176051691413cc1bd395d01b0b96806 -KO = 5e0d578e19bf78dc7d131778cf7aef8f738090ceec3362da2e6ab9554d0f704868494c7d10b057c32463b8bffe633061458f64e1f7143e8bb5a930e6fee4f97a - -COUNT=5 -L = 512 -KI = d93be2a0a90216b9e2fe2fb087a956099b0ba06eb242dad542bfc457 -FixedInputDataByteLen = 51 -FixedInputData = 2a66deaafcec2483b2b8d3080bf97f90c3618676b8bf64c9a9fb036c1ee94a52585d43b4eb9a7af803d261c09d67f4324e6ebb -KO = 72544c7dc6e7dab2914f3921a74bd82318ef014ff5bc6a48c1980342b828d7314bf2b54ed91c69e142d4cd222a109e7a092ea498f946e9adb644b4ad015c41a5 - -COUNT=6 -L = 512 -KI = 84c105577ccf3ad34dc46563ccb6c5980ebc5a7654a4aa986d1e4333 -FixedInputDataByteLen = 51 -FixedInputData = a43c89751a212c42202cb1717c637940adf27cf51aa5822a3e239f961950a52bf52b337aff18978ca8751d2d1e36eeb67f603d -KO = b9acef8aead7d563f473612e9a4abc44998439bcdb1e677b85d531c7b8f2a6840e53e07ac5411383fc5c3baf92910a5b0426a9123bf4c5a387a3d9d5894e6439 - -COUNT=7 -L = 512 -KI = 3b906b35964fff3932ac751f3c9e8cc4b47b078bcf88942745d50830 -FixedInputDataByteLen = 51 -FixedInputData = e2f6f47bb143e11ac1b0814e1e3b4b8a5cee9a85de12f8fbc67229169f690d40b17d5a14e4d5930040698d0c0ddef48a571587 -KO = e50b208df4cca5356614bff97d50171991382ca1fdc2360330b6313877901bedc4c146555b01d970965bd509817e363d806789fb7efc0e85aef141be61fb3b66 - -COUNT=8 -L = 512 -KI = 5ca374a8134f010477e98cf637efcba0da8abdea8079fe0a98dd4c0d -FixedInputDataByteLen = 51 -FixedInputData = 093a3235ecc7a60cf78daac72429dd28a10d1bcec0359284f912e3b6f681718f3dba8bdb02908115aa07913ef1629c2ef0494a -KO = 065550b3ad7bef47d42045482d3ae0483782d25a01452cfecbf01423a8bd1837fd9a918f7045b0944a4b4d9ef17af7380ec9c8f1e1b3c1b8545573adcb8db080 - -COUNT=9 -L = 512 -KI = 1721777503f43de6c5aefee5248a4ce85c41e21f31f6ae1b025d719e -FixedInputDataByteLen = 51 -FixedInputData = 46ea14b7fb7c806c59295532a7005d82605fe3992d50a0e466d7935c47dac1fac7857a7c9929254346567aef35ab785ca10977 -KO = d659d0b095b1ffe33674a28e9d7752c5df3d23d994b8bafbcacc90b73e414a1ab692a276f2b8b15d7f08909dbf572e86d417f9a086ec293e9fc6382e2ef5a52f - -COUNT=10 -L = 1024 -KI = dc579834f70f7d0768c390d98cd41364038af138b21cf6e1f562cc98 -FixedInputDataByteLen = 51 -FixedInputData = 1d69b07de61a7c944fb32ebd251877d9a0d1995a260d699b656d4fa624820d0ad987c5a320597abfcbb4bd63a2d9d6c0be1c86 -KO = f0015d1c58c849b26b329f0c2d3d39580a0c85407a2bb41600f44c39de1fe1e48c9016a8e48af5987b2b228b5ee6d425a9650b2a0d73bc884a05020dd43e6a36ea060d90e2e9c5823c1e9fe9f28ffbcbd54c43996d521f0c6224e02b44fbee0b978cf545342e8094aae40e0986fb6390e3482754052023fd3abda705e9210121 - -COUNT=11 -L = 1024 -KI = 7704bc8c6a8050426fff670421437740801ba8b2d6964e8a32fca7a9 -FixedInputDataByteLen = 51 -FixedInputData = f711d8a7c91d1418f3049988f1d538ddf2a8423710d6254beb16eccd9e10807981a817b75478cffe1ffbd5aa1698fc24a24be1 -KO = 88d76c62645a824d0836cc0871baadd7faaf62dfca8d8bcc562b7d7d300f8a4c7a1cff56bad42206ff05d3cab5c0489388eef0f8e143854a957f595c264cc0ee9a0a4cf1d6da14898acdb28aca06475f1946dc5782b6c0f47b3b511295dc4786a5b34427a5322382d17d65f33f058096f0347ecf6d301ffbf449b345c83adca4 - -COUNT=12 -L = 1024 -KI = 43796826acee7e72be1708bf1eaadd0678828250ca834b1875159515 -FixedInputDataByteLen = 51 -FixedInputData = ce3546f3f7112a6124f87fc553168f0c34c5a41ddf757461f513c05eaa7f9781835d08f5c0b7bac8035c017f7ee358300a2600 -KO = 502e7140a9dbf359a4ce7418ec1531ae84538570a89d4115d0c258276aecb0734e0f4ccd4d91ab1a3ef46579c82cfd0b2a81cb7bcf7f39742ba6adfc996a230f7b093a3717a42f10ced6036f2aca3272959722b1c6f6312be2ddd18d561f95b339420011a94e1a592eb397ee6a5c60ff278e154bc29514a49183b4bcc1768404 - -COUNT=13 -L = 1024 -KI = cc7a12245480bc0f59e9e13616b54652c42c8b6abb203887a39ed4bf -FixedInputDataByteLen = 51 -FixedInputData = 8eaff16d504b1619298ab4001b5aed48a77e490367e9f018e1b1124bfd80e3367960334d66b52a215aa3ab66fe97f4eeb6cda1 -KO = 44a07f0fae4680fc3ae00932eba8176f07ea27ece70907bd99a4cb663d87ef5672d505c405209df8bac7c2a2c6046b64c7324aacf79364824086098215f1a05358b3d56d1a45b2402b062f346101f3c1e3db971cf9f85a78d9a461136f580da39969c02e90f7403e1f92743e6b74f88ce0c9e6bf48b9010be8c46bffb5e04e18 - -COUNT=14 -L = 1024 -KI = c12f4028e2100f87114f39b9c9c901e034fdcd9117fbd56dfdbd7f3a -FixedInputDataByteLen = 51 -FixedInputData = fa77b41b3f38840f5cb03fbb8004d71d7a30df47ae09ca7f47b45e2ccd1670db8eb9d342ca20f87a85cf67f38ae60ea5cec8fc -KO = 5111a149b370e856e50c1b977c79071395ade7f09acaf273cf99e507c2f236c059d229fbe9a23e2382524c5a6a40ee8004a7795f3aa7ffcc050cb93298d99c5b79f6ba7f2f75866e3d7dbb72f52327645ca14738a25b8ad164fc1334cacdfe2e97b45dc5d24e1dbba878a067d3ae56ef370678f17bf6f54b1dfe7f186c88e02a - -COUNT=15 -L = 1024 -KI = 80ee0771a12c77fcd393869a34d4ad3b28c4182dad360adde4263c2e -FixedInputDataByteLen = 51 -FixedInputData = 564d379704ef6b5f95b1627e42d828d3d19d87ec2abcb41551f60f7857f92fb22ab7d576deba563ba523e2142df604665a0fe9 -KO = 8662b1467834dd76bdffc76458b3431c4246216cd1b3ab811fce6db0d349ac6b08e07bad4e9c8b64ba443171d65c14c3302fc263a6b561998f565b9f9d3fefacdb6a8da2eae51ed675f50db9a62b7f72cd80d8ffb30ea5c2bb397717cb34c95500f122c90b32ec0043b2c363319289e378fed1a58dc5e3e3524ac5987b27f50c - -COUNT=16 -L = 1024 -KI = 492aabda2b586edcfbbf90ebff2a3571945857c606b29b0187d0ee9e -FixedInputDataByteLen = 51 -FixedInputData = 911a91f72561d367101140807ca45ae9cf772adc8f888321d4371493dea59b9472349912c6be62e34489fcfa444b52c3e7b21d -KO = 5fa8779af0f9a2a809d7a8b4f5d70af43919804cab8178df5ead2e38e1a2497f231bd3396999f6329ecff31ae1aa601108ec87213d4a3fae6d68f39d79b23207d9bc95e10990ef4a9ecd55cc969363ece6758ce0eeb9e01c1680a44e568836e45069620dc3520b527f87374efa7975ba9d7000d9a5f77e48e2391c650a768aed - -COUNT=17 -L = 1024 -KI = 25a169cdc1d44b5af461e677ac599e10133cffa47379d0b643aad3f6 -FixedInputDataByteLen = 51 -FixedInputData = a3dbf63881eb93e9de901196c5c930558de79cd45e64341bed0adbb623c74d6cfed30d7d49272a45a5b3556f3a8b33bf0da590 -KO = 055d47394dfdd2623fd51ae0c7e73f0d34313d3253a9eb61a6f5545fc98a2818fbec8d027d816acb9cec16460adf047cb1a0eb3548e370934fda0ccb4f3c7c74311f64f125819e61fffc42207fa04ea36f1e26a0deba4296ff12c7439aa85a4bf07eeccc0b10204981f869e64524250550a049031d2a355a17f3f8c5c1ac5223 - -COUNT=18 -L = 1024 -KI = 3291f262032f45bdc65cf13ed198512481446792044daeeaf4b44e52 -FixedInputDataByteLen = 51 -FixedInputData = 9450d5b88ce6f961a31ccae325ea623710ad4c64a1f5edef4ca8404a7ab9ecf6d1e2c96c464f3c738665f7175b8fde99c5aa20 -KO = c3ec8fcbd25aa8a70afbe376f6cf356c374ab350142989987b5f32ee184d118b68e8c07986ba3eea34f024b0eac52feab2df7c6b6331762332b7a4fb771e1bd7e7dd708387d6115c6cfc56f789fedc44f63034c02d09b04b1238bd19a7506c758ead515b7ab0eb60bae8f7b5c85fad417156b74d958938dc7cfcbd9650269034 - -COUNT=19 -L = 1024 -KI = 8588670ea42f67517ee6fcee26179e4b513674a57fa804f2ee81ffe9 -FixedInputDataByteLen = 51 -FixedInputData = 994da08688ebf6d855511f0b466fc10389c0de2904f18d067a66e18a7f2f1fec0df91c16c232d1b70f59c91f0f825511cddbaf -KO = e1735e48706bb9589ab62dd9514fd5675725fdd430b2d761149138da7fc0e7161caf96103a41386e314a57d3e83dbe0a23bc3d5be5131034466686872dfcdf11f53fc58c4be99e1af18ec6811b7817148597119f055df1438e149b54b0a9d6cd32dd969d4beff0b71fabc6e29c9c98cbc40b5b9b1bca6371e7ee26b5ec787d2e - -COUNT=20 -L = 480 -KI = e1d3a93da840636e64170d97d0af62f01df56001e03620a70a5f8682 -FixedInputDataByteLen = 51 -FixedInputData = a97f6c5cc0b519ee7e809d2e8cdf594a9bb5b0ad251b145f6cdad445e75b7b04d92884e94d057bb5e97c76541e70ea3f96dc43 -KO = 11ac4f51e30a28e20752fe2ff11c434c7d666684458fa5a99c4e2727f66617ea2c5147e389097bd530f02ab8ea9f551242c901fda98e80fa92e766a4 - -COUNT=21 -L = 480 -KI = 4aff1d4d504182b0d25d22f2a2807824ffa985b9523179b848b3ace6 -FixedInputDataByteLen = 51 -FixedInputData = 98d8abd6162ec0f7f2709de920958262d80073982739624ec01fc0b1cecb74fe09f7ed85293ad1ef9882bfac1d581ba2fb5509 -KO = f8c020a71418c4355cba16cbcd3d43c61a7fdb35bcfc4c14bdd460bb9c2e526516e715bb53b6c2f269e1925c31a073db47800244b548764a3264a082 - -COUNT=22 -L = 480 -KI = b8e0fd4b267ddd34acb15d339284648a7be1fc44afb481bc64aa71cd -FixedInputDataByteLen = 51 -FixedInputData = 297766cf8787e9a039a0e6037182b30f7ae97d4b3e4c300826eb6a403db484e0a4cbb0e2088c43f820ef92ef7e298e24f05ea6 -KO = 82f8d1058abe2c658b1ae81048436540794919eabdfa564446726f18c2e42a5cb67e100dd2da37ecc1cbebfd0562f2aea3c7d4381f16c7e93ecf9fe3 - -COUNT=23 -L = 480 -KI = aa58b166d3c9ef75c36c1e5b547928ffe3472da0a0f66165bb261f8e -FixedInputDataByteLen = 51 -FixedInputData = d40d79a0bcdce1db2afe4f71f3e10aa0270e634505efad0bf027cd72f54ce9571707a3bcb99af3f54c0b1dfda01a9cfdebab26 -KO = 0c4f91d34ebd1d3aeca16874936ef9abe6511c8f88bb9245b95e2baa93e627eae34662b3b0cc9da5a3ece1ad2e8669386ea50ff2b36d92e12a37317a - -COUNT=24 -L = 480 -KI = 15c3f3c533a456565febe65435a0f8cfd937d22199d7f327b93b1b5c -FixedInputDataByteLen = 51 -FixedInputData = 2485be1ebd75fab7d2e2471e0a0c447e9fb116cf48c661187f701f6a43b7f047ca3297c58cc9aaa1dfee8d2560c974417f9334 -KO = 7009cf975211cec470613a635914f527b1233b008b3c2626514e6ef4b62312353fbda808cf9f7ffda8c0dfeff70770fcbfea144c7b21b4693f9ae96d - -COUNT=25 -L = 480 -KI = b4935d985209d239fae08da3ca8f3041a23a81f1368572c84cf64546 -FixedInputDataByteLen = 51 -FixedInputData = 010c2be847f4ce0692dbbe2d4e22dd1e454a77a9680c970eb73ef38fdaaf8e681179329084bab86fdc60f78ca7f1f5f1c1d7bb -KO = 42b71a0e48fb6deeda4b36a0a58397477c05799c153f0ebbd8802305694e2affe5fc2a353d8a5a567a0dc2424f4737b9da5bc4604fa3728b387afaa2 - -COUNT=26 -L = 480 -KI = 44274ba21490a762a906264521f69033d37da93c6579aa6f8d13d524 -FixedInputDataByteLen = 51 -FixedInputData = 0ea4d8cdcc2b4c22bcbf74ea5184b2710d3f52769963a8a35db0b42acdeece03036a7d2990668bee96c5dd3d1b107255b3ee2e -KO = 1c55a4f78cd0f13013501c415cafa44072b1638cc80757855c4a4d93d70d6295b9ad4bc0b5330dfd5bcc666ce9020f58e22656b984b3e9785fbe6509 - -COUNT=27 -L = 480 -KI = 7ad5e34e641098cf8c6b93e3c125b7e97bf37b0524a9d4aa462291f0 -FixedInputDataByteLen = 51 -FixedInputData = 535e9dfccb0a7664166b8d8468cce660c5508e5232b285074b885dd679be7124917a51c56e6880effc3f0595de00b651bcdbc7 -KO = cd3e4bd74e4c2c1dcb3bb92e37edf2b27b509e329b27549c9caaa053b376ced6d260ce401ee47d3c548554dea1c735f6b5f39d2f5170741a1818ac55 - -COUNT=28 -L = 480 -KI = e582ae107a795abbe83c6e0ddd63c4ce7211184454be505b240ddefc -FixedInputDataByteLen = 51 -FixedInputData = fa99733dcbb46190934c2c613d10b6fe806feaf2fa43089b8db80beac41cf31cef19a828f482905bbd8c8b4e6a5753dbe11297 -KO = 53c58d042389df76d3b3ea542a74d00838eb9ec9f4dcce4047362b4fe67d6f87ae0ce4c4c6ddd88863ff8a6f6acb2f5a1472e115d51e3e20a8804cb1 - -COUNT=29 -L = 480 -KI = 5b302156a9419c9b850a2906ce689a25123538fe3c4b80386b8fbc6c -FixedInputDataByteLen = 51 -FixedInputData = e9f2084d64f4ec3717c6a3c56e4d41a017330c723d2ede9de4c8abe93f1d16d2600de29128b23089752c558e304e8fd5f61207 -KO = 497e43d232284a11bac5dee23cf29724c9a0cf9f177e308428fed9b259f52572a9da8bfe6dcd1da9b83f70a230e0d99399d4d1b3f6688d507aab0467 - -COUNT=30 -L = 1040 -KI = fe51a2b7b21d9dfb175d4d65c889fe9cc9beea72855631fb213d4531 -FixedInputDataByteLen = 51 -FixedInputData = 2e947c41ca668e8606d8dc6dea4969df6ed0bc99bf2fd4162806f9c2d111b1a5398e8f1674f3e70ddc5c79e616024862d7def5 -KO = 6250cc70fdb56d3444520f3057a0dbb487c263397c324cd1dbfc4bf8895ef0a9b07c68651b03b5f3ddb8a72e47e9c7a60d3454d0514c9d91080e257acd8fe17a63cf208a3e3f72277f615885d5f18d4f9999aaa9cca4e94aaa19f992bdb0fa4f191fdb151c55840c8953e45b35651e4b7d047e95ab0edce5f781de1080a509b0c7c2 - -COUNT=31 -L = 1040 -KI = 8e6db6f2bc5509f003ebe98fb924f8925cbf1146186f7bbe172e57b6 -FixedInputDataByteLen = 51 -FixedInputData = 52dde391f910e00ef1475fcdf9b164458e3614bd3e43fef9dada8f8a30612219895183e188acf4693e38898b1d3a0b2ea1e8c6 -KO = 0836cc9b3dba2301c8519cc6f41f5a5efc77e27f442da5780cacbef03c359440f8e61f16fa854f9b9fb0b4f538edaf825190534e9cddb39bb051b5a505bd55b52b67eb65ccbb752171f59a6680c90a08095f7c0387c53ff003477042fe6d7dd9e6bdba6ff464bcd0ffe846caa6c6083e4c41e08df468f365330d3a9ac7865d46f3f5 - -COUNT=32 -L = 1040 -KI = 2b20e75f51f1515aef95ed3b534e691a4c466128e8907e73791adf3f -FixedInputDataByteLen = 51 -FixedInputData = 2d938c783b8e6ada68742b0bd8edf461fd98a58c6332f1465b517ab3f37c82d68ca32774862afdf6c52617f4091271c14de8c2 -KO = cf228e4f70ac233a82ea550ab08d1c8530c0261d858d66a4c540b76299c584488b254b9dd774bf683690f691f7432fe066ebd4adefde61760135e16133c52691ae2e1e09f705c5aaffd64f1762c2663b3f89409bb22ea544af2949965bf8dce3f0dbb785d1fbfbbbe1c347d9a4b7e99ac1b049bbf08ede18bbf4378d8a1a0cb6d319 - -COUNT=33 -L = 1040 -KI = 8eea633d6b2ea3ef0108b07da76464b037a49cc9d8154c04e2790b05 -FixedInputDataByteLen = 51 -FixedInputData = 81c766b7f6b38042dd04f0d8b0c44fe36eaa1948e4538c516c403ccba265a6af6713a9e3a0d1fe8f49693e388aa16211aa0e52 -KO = 460aa29349189b5fe52edb33d047288a53a279b12112f58cf422a42222fb01b3e2387d14e906411032690f10b9f628af3dc4504654b8ef8eb940851ed7dcbc2ea9e83105a154769b762f406876d2dd6b51270132bd59256c6238ebc5e643acc7655b332c65b1ef1eddb08a6f515e6e9818086299e031dbdb07a1cfcd50993b685f23 - -COUNT=34 -L = 1040 -KI = 707bb3f0015607f5a483c9e48cb9e4cd4fb957b6dbdb5325b6cd6cb9 -FixedInputDataByteLen = 51 -FixedInputData = 82ac688f922e818e72da94970114db04a6e75579ebb9f777ef248f831b775a44f26f6ab467c651e92099f5b47c87794aca497d -KO = f9d268a22e678478b790421f147d86e88fd512d75808a658176b3a9765a34573ba042fb48ce9ef2eaa1e7f1102252ca6dad04e5f3b1326a22906a64173e006473010641c79e86bc9f6cf05710a7499ea13c62d64bb471c365ed2df6088a03e8dcfffd0d882398b934e6cb4ca2d3d7e9dd994c241d31592517a0cacf70f8b5b341ec3 - -COUNT=35 -L = 1040 -KI = 1b047aeb1cc118314cdc8cec80fd7a6baaa460ab66571c08928c2e36 -FixedInputDataByteLen = 51 -FixedInputData = a988b5c400eca23ef5b29555accc9c79e55113b0fdb0c2a3447d168d727bb47e0c9e307ab1e44fb7de721ad5a4e46332bcec30 -KO = 460d5d4da05296d3b814cb723b92bf360c61f41ac5ab95aa0ae88e74c9af61e35e0dfd2384b68550ea7efe452a7f37a5c1fcbe012e0ac7d9fc2360fe2f219287b34aba278b4271cce32d7297dba2d0d1da6ce44b68938700ba9712a8d30b27655b5b7db5a0f7b7d6c1433ea92d4f01b2231b4a88b6c5d246a2706fe218673d1988cf - -COUNT=36 -L = 1040 -KI = 88b8de41f6e658ef9169e2691b0c3bab73baa933f31407244381034f -FixedInputDataByteLen = 51 -FixedInputData = fe310d74995ca47fb6ac9d682e4ba2b482e3aaf335933b50d0db39ff55f36ca5e56580e68a06135179be3763a35632ed1e5c5c -KO = fa28d4451ae26d8048f50cf3b6f8ef68bf9e51ddd0c1b8ea12915ea746ff7601c8565ef31c6879aebbfdf228ad90045e05aea6afe6143bcfce9eca5803a1efa024d857d3771a26cda545cafc7a5649504d1d22e2cbb1fd99654fb0ba16d3324e4625cd27eeabba225aac5a699c3f939f6fdf0162127286f4b686243402e18e5d929c - -COUNT=37 -L = 1040 -KI = 37081470bc7aeae51b1c92a8ef7f6a48ed27c3d63acdd9f79f754d73 -FixedInputDataByteLen = 51 -FixedInputData = 8e9f9fad1f9702e214bbe47296b65911933d86a2ae9ac1d2c5b0698b602255080d9c26254ca3c99f2b1f3f87d9823287e9ed2d -KO = a84360fdf83e13d97aa9eada80df6125380cd43a5675e153685be23ea22498f5e6840deaa0906815f8c2810a9ad557286e14298ceadced2ad527342b168adf605367d05936ed2b74b24cce685aeab70088e77c683a68bd8bb77798187d39201a513c0d87b4efe750a04e310fa9c91c8193026166f10b036fd472d6e6ebe7711c24c3 - -COUNT=38 -L = 1040 -KI = 8d151d6ab1406688e0361c49ae2b6b8487aa93eebd46b258602c92cf -FixedInputDataByteLen = 51 -FixedInputData = 29e864efbee5772a2d9757f33622e5e4b1bf7aa9e9fb3ebeeecc4f92893de1505beecd3ad72d03d0dd15c34a6898b5fe0c0850 -KO = caf811ad988e95d396954db017238ebc863b38561535b0cd2ecbb237d8ba5cb639a2dfbe942311736808a19c71c195ae045c952ceebf4331ed2b1fa2257039da56e9a1436eb5975bd307c2da7ee673cd258774c822ce774b51e84e565df143b6b5982311b8daadea5b321cf9aaa10fcc3ea79ae68a43b79322ddb522eda1d73153f4 - -COUNT=39 -L = 1040 -KI = 84e11c7b4d2acf9833a39b1475008e8283620e4c5e48121e282d688e -FixedInputDataByteLen = 51 -FixedInputData = 89697ee3143a7b2a7e45b30c5c8fd5f191b1c6c2fee0ef526592fba80ba48e98504247fde890a07ac9a200f40130ed36f0f21c -KO = f51f68cb079a4603bb5e9aca38460da5269aec69383c691bd6b7e02ada836da5aeff879f477d030da7aeeefe273edf316de54af4dbd2694dff679efcd5699d861f9da41558821f0dec84a2e56a34e26f17378164d56b30e326e299629b793ce09225b421106b38c3cdbb28f6e42965f53b104ad680256f4c08f6af3ec746a3e40f5f - -[PRF=HMAC_SHA256] -COUNT=0 -L = 512 -KI = 7d4f86fdfd1c4ba04c674a68d60316d12c99c1b1f44f0a8e02bd2601377ebcd9 -FixedInputDataByteLen = 51 -FixedInputData = 921ab061920b191de12f746ac9de08004f2c20f01775e27bcacdc21ee4a5ff0387758f36d8ec71c7a8c8208284f650b611837e -KO = 506bc2ba51410b2a6e7c05d33891520ddd5f702ad3d6203d76d8dae1216d0783d8c59fae2e821d8eff2d8ddd93a6741c8f144fb96e9ca7d7c532468f213f5efe - -COUNT=1 -L = 512 -KI = 6eed705b22f2a49d00107f0bea6183242500a4d3db831411eedca99590d4c432 -FixedInputDataByteLen = 51 -FixedInputData = f98fdec651296d37ea64ae08489e07c97b444aaebb9476a5e224638a0f83e74adca9940cdf764a2ce536d7d9362eaf150ecdfa -KO = 1679f2fd3e40900179f92589162cce386cf42d7f3c512f5d28bc8436a989dc567d5ed48b4fa0ae1a4f9bc668bae993fd82341729b6a36f63ee7af3042aefb2b9 - -COUNT=2 -L = 512 -KI = 3f6c905c9ebd5d9e1d0da8ed08821343ea09ab18e39107457f686afc41719a7a -FixedInputDataByteLen = 51 -FixedInputData = 6d90c3561f6dbf94ff89080e87929afc4b69bc8e577436b5fa1dd22d8caad58033c8817cc8174b45022fb27d217fd7e750fb63 -KO = 285c1888fba81e660f382e915eba8f684ff730fcff84bbf70aeb41ceb4b51e7ec3a98dd3812a0f070e2bccf28b6cae64aa6e293a6cec532d60d2f05a80074c7b - -COUNT=3 -L = 512 -KI = b10f4ff3e415c561281011bc124606ee1bb67a3fa65610f5994860583d1e3829 -FixedInputDataByteLen = 51 -FixedInputData = 347842a5268b4581ec54f5c666e4c1a2369c07878e5695d670ad329ff38cb3042f81dd80b24c9d6c08b266540fd8641793b84a -KO = e61d03a1a01a78c59bcbe31a067a9697b640049b83def7e675f63220c72de90b02512f69d92aad9526de537c8023901c82a03a8a326beb8f174d088ca87258d8 - -COUNT=4 -L = 512 -KI = 06057adef52c237c29aba78108660ccc72446c0adc82a967a23e4381d306f616 -FixedInputDataByteLen = 51 -FixedInputData = 4861e1eafcd80e73508adc1a15c494e34da2402d20e0bdd3daa12cf17ba792b439f55c69c0c7dceeeb511c24fa2fcd5b779093 -KO = ce6954edd9c854c93f73e0c8e7eac917f17b84e33be9991561bd21fadfde09616b105ad6d0df584cd8270fd7390d65e5cb73fa2960ca81c4e8036556a7d1ff3f - -COUNT=5 -L = 512 -KI = ddfbdaceaa94576672d160b7dc8631c291fbe5439377c59be2c437e207487bb6 -FixedInputDataByteLen = 51 -FixedInputData = 68759a9ce0243ba79437dca4c4b569d0140d5e1384fd01ba8b50c191466292dee03cfab834b6b85c82eb7dbe8a6007b2574280 -KO = 9dfa9af4d0757e46255840cf46987cc87036dae2106d240b480a9fcfe8e8ae369bbad89ce79fffeaa04d50da88a36759daeeee6d9fe7eafcac9347197ac7f22d - -COUNT=6 -L = 512 -KI = e648af08a5316fd9f8390d4c78c242a757555891fb459881f40cf5f4a736a8be -FixedInputDataByteLen = 51 -FixedInputData = b8eec373a69252eb47a02b0427e26044fec873d7ec675e1b029287afa56b9d8528ae2813c1f78118127641ff5a3f40199d1cd1 -KO = 49562ed1a62a71c2e0e54d7304fc0a828913f5d92a00d8d7582fceec5fb826bb47a9149d6d4cda24fa0d3771cf9ca3fe3c5e6bab91f48d72d7215e7968bd6fb4 - -COUNT=7 -L = 512 -KI = fa5b625b4cebf43e4a8889caf7690ec527053d505e5679474c8c30e4ef277ced -FixedInputDataByteLen = 51 -FixedInputData = 7806807b726379b6d541917ef00b4cdd1a3a6602b03d6d465713c7cbfca95f59fd209af38275404b5d65420e7a8da447e48fc3 -KO = aee9cb1fc6a843122151b0eefb10373ca004e8f8d441b197a02681e6a29549db283cef09a9478997bb1ac0341501d3b1a49975cbe89ff3f9c3ddfc54659d0159 - -COUNT=8 -L = 512 -KI = 9d2d82eeccc949539ccb9f7375be83202c3beb4814308c678e2ac74c3ed3eb22 -FixedInputDataByteLen = 51 -FixedInputData = 6103f02be58a1cdaaaf8b54b47a1f4d84b7cc61c5d6e637ee919434685ed52bb0983ea7d7656d2a8dede97923552d5007a43d0 -KO = 73c6ca62758cd2135b900d0f95aad39eb1ac3baf3dbd24028349537b0c77b24cc97e40c2cff5093792c30e1be4ad2c086edb34f00b10b6964a86d7c3f3e578ba - -COUNT=9 -L = 512 -KI = 98049d8fc18fb319361438ec997c2198bb0941203887fefb5c6cf8aa51bc0f4d -FixedInputDataByteLen = 51 -FixedInputData = 1d021465a6c7969bb9386b52209ef5bdf1d180ac8bf792a40ce3f0b3ca7a4d45a7d42620f61d51a1bf068582e32bfd21517e04 -KO = 63a6145e505f9d1ea47a80f135dfa89422a31bc28330352624d50e1518d90da3d5681784563c8fca3aaf7dfb38360e9c9d6014b9769e7be5469a6ed1f1dfe6ab - -COUNT=10 -L = 1024 -KI = 6630363fd129e02b5c13c4cc0b020fa3f3544827b30b6c952602bb8a47f37964 -FixedInputDataByteLen = 51 -FixedInputData = 8e195170f2092abf762785aeeb766ca64dab33ee85fbd43c3abbffeb40cf39d8da16f2aee3465e43590a2aa64743922e102e0b -KO = 22bfad3012f511ae5fd30c41192fee914462d59055ac3c2cce0c19442b4b57196202fb8cab871f99d9ccadc75b11f2e91855191834f8b36e95e266d401d9f2fd82af597e53a5170423ef1eb8c6ebd41c18daf0166fdc63ad8837d905b1b69fa6eec3f1cc7b745f9ca97a94863be0b45f4bd4aac8267bf5f01adb80c1ad6e08e5 - -COUNT=11 -L = 1024 -KI = f87846e46391499064060098b87896988e7eec98ffdc3a348c6ddef993cce5d0 -FixedInputDataByteLen = 51 -FixedInputData = 119ed70ba12db5e212be2b0d9f109da5419eba04aa8f51180784013d254a45c2b3d13ce954c57b594cce41f08728c222610fac -KO = 5d9b1dc71e18f42e61311acf32d816a8bfa4a68e7d3c1cf50b5cda750c13956c4c9889c255bf4df8605d7f4e95a0ef1b9f9b6a69873885ba2fcd4b06e767340f5da87eb16505e56871f5f98dee05d2136c661c370d165281d7931d51b3e37184a994babcb0362fb4205d62b934fefbe6a7db05b43247e90b9a6a3858b976a182 - -COUNT=12 -L = 1024 -KI = de069ff810b79fa5e2548b2df3df80f9afa53779c5d97ce2d893e1dcdfc0e262 -FixedInputDataByteLen = 51 -FixedInputData = a8b83a8b65850d6a01bf47efcd4c389321f7ff4378f3aa911173b9eb0273f0616fd96c5457f398eeb85a714e505013c53e9ba8 -KO = 5a9ef0fa5742fd15a03a7be6520a0b74dc19e37a3c90002d798467b5c5b3324da84f09b2d7ed2b7f8e2dd018f5128e296cce86f3dd527eb7725f190d24fdd691c7e83fb5222e11b4088f3320f53052620e2e1e4841850f26996906a4d4b18b22502cbc0244f6084b4ef1c5abc3dd1c6d3663e79cc735404c08f8ed53c9e5f423 - -COUNT=13 -L = 1024 -KI = 41f0f911a50ccdfc7dd17acaee829157698201ff366e3c2bb155d9a17b0821c5 -FixedInputDataByteLen = 51 -FixedInputData = 91fc1b0ab91917c0434141dab68055787c60515ff8ad9802eec0390439923babf939466b7c971cd0b0a360f8d3ca174e5d52f3 -KO = 654def3f1632cf402290df6081b01dcdc6041d5559d6d4c567d903244f3b206967dca722abdc6f4610e9af4ca66b4c263ae802f96a4e82f33ac1b8de334d62a0315563649c29b3d4c296a2b07102dd92205362ad03935145e4f8b831f6aa1fb4719cf0a7268089c64eac5cd56aa618f9ff5582ce46349c78ef770c0082061e72 - -COUNT=14 -L = 1024 -KI = e8eaac2c40ed98224f7f887efe07217225194b75115b1093f78410f3fe923841 -FixedInputDataByteLen = 51 -FixedInputData = 39a56349a72e306147453ef23ec4abece16bf04328159f977b70e51c19c005310ef94d899739b3fb7d40572000d091151e738e -KO = 1671bf7eb11d6ec209332290bb4b8d7a427ca95fe319adef4698df1520574c7a9b4d460b6520175dc8cc88eb9c7bce6208a1801519b76a90cd13378b31c2cd92e648ad801ca348ee5742cb0fd46455af1f8f56825df1371f9d64ec6e3fac14c4c029826b7eeb349606bc82c1f6dd69dbd5604041527548987618b2ff6f232276 - -COUNT=15 -L = 1024 -KI = fde1f4201bfe5270b30e40a6a46c3b51657acf234bb971ff455285171beabd53 -FixedInputDataByteLen = 51 -FixedInputData = 0eadb4137b71bc78562a64559f22183caa8ff4f7036a33e6a7d5e6f328434d71e87bd20bb3a0fdd201aae26d61e781cacf7ac1 -KO = 9a82e1839764f3d1623c292b1a61853ea3602e70b4d2c4df6553cb6c9055656b3e6205ff51c681dca86d6981e7c8296ec1c9191d15825ef999e57e0a7485f82756b708bde97247bf2b59cf54b2270b762e1cb76e2155380ecdd4d4eef72ab76ae196dc64e029316be848815c433d9669f1b28737cca04c0999713a92e1fee684 - -COUNT=16 -L = 1024 -KI = f2e578c0313ef1febe6303db6c1d6892e32fd7b6008dec119e905c9fc11e815a -FixedInputDataByteLen = 51 -FixedInputData = 2629dc0ef356138e7a792cb045225d2c495d839d1f12bc0f97706b3d755d42ac523f86043c399151baab5fc71dc994c5abe794 -KO = fc9ce12e44d14200a02f7b5a793e57b45d1ab44ef356cb620293749f4919762a1d97c7cf89514cd88264e5470fc3560f9500005770edb945d6087b48f8ac1a39a784c7bd717efff0382513e170b6cbc95543d8282b76b72e67a09bb3b7e8cd7deeaef83d74b7fd6c5a58e67019787e26dcd88e2ef3fc1fa9e90d06c2f3ac11ac - -COUNT=17 -L = 1024 -KI = 353945ec4181fcd64a52c64499c9f50322e52f8f9bea77c8fb226a0f6513a43e -FixedInputDataByteLen = 51 -FixedInputData = ff06a326b5d84ecc3b74285716198acd52a32c60c10137054b20e224b3c02a990a5f8520f553e2b42bbebcb390518f57ba0219 -KO = 7c27306aa202e7f7392b3ceb238559ec6d2a22c4bc80ba1dc3a9278494020a8fae523f2064b3459ee769842b0fd76de2541b26616a148106bbab4abd67155db4523b3e72f413cc1a52e8c7bd0810e8050a9bc90e2368b157b5d4a2ed69b09fbb4bffdea06d5e59515cca5f57126bfe394a8976db6d78cdfe19e4e4484f76b206 - -COUNT=18 -L = 1024 -KI = 33c00b648b2db27d4b4e4d62039f6f4c810b9c590ab13bb01c562261ddacca7f -FixedInputDataByteLen = 51 -FixedInputData = 4eff0adf434491706046f72dcbcad683ccd1530b18e776424020162b5b6692546e149254a1807ea93c5b8b951d9f194c798a70 -KO = 600fac1af56589cde7d7dc02b8c8637c1d1ad25ed12552fdec653c54f96997c86fe19cb5cc8c83cc3a885ec7b0a51435f59b803a48fb2dd731490c09df63eee49dce8e6f617c6ee68db72aa072274a36177e2e5ca71a903f11b9ae0ff676e47dd6d75c64919cd5ff9310c10edb49a61f46af1971de25002c33141eb272608c65 - -COUNT=19 -L = 1024 -KI = b10b9e9124ce1170444321a7237b49ac9e8f0555ea9515633da3b7d0d6577c53 -FixedInputDataByteLen = 51 -FixedInputData = 26d8389f90da123a00c401372744cea86072da97f56191473c78a4d4b2816a665b426fd8c6e1e9a14adf2aae1564c749eb5222 -KO = cf387cc7a60d20263c41a4c4969a01bb5ab1b8b83ec5471f9a458db283a653a335326356cff8d4116880a8d0f0a0b826f3ad04e780c54a954afe9bd89c7542f78b0441bf064077d358c29612e4e4139d3c00f0f84424660171e0e288f90a4d48a4efdabf353cd063759855d8019d55b26d1288c9b9e7286969272d79b07cebb1 - -COUNT=20 -L = 480 -KI = 15c4512f85dd3dd8c6bc4444dd6bfc80b2e014deeb80e26c6a923b3da2a07768 -FixedInputDataByteLen = 51 -FixedInputData = 7deb7a561e3a88a9c2c98e6de61bc1d718d628c17e51f24dcf97553dd572bb82b74c919c89b93c5a4d0576ef3bd1039267dbe9 -KO = 85a508ac79d9eb30ad17990dbd5ebb7a6d3844f9b06b30e2072b931cd26ac658911e9992552bfcd612cfacb62f4d39a1bc771df4c5efd2dbca1abb29 - -COUNT=21 -L = 480 -KI = 9a982af93df58d67b6538a4f3316b84354f5ec9a27669533897e1dd9058e86ad -FixedInputDataByteLen = 51 -FixedInputData = 5fd54f5f5328a3d115741f95f3734bfec2b92f628202f0dcdf285510f45bc69266dfd198795d8c14f9dbbd6d1155539920485e -KO = e483d267db4fc4cc3595e4e40b39f748a27cfd441bf6d28a7247ae5332a8b6d2ca5f50c7696192d4a551babab522e4ef90c2e3dd8afa0a866c34fb08 - -COUNT=22 -L = 480 -KI = a3370667318b7a09c6ccaf784a951c2037cb1565fb9206152285bd824c104927 -FixedInputDataByteLen = 51 -FixedInputData = 5da2c7a595944a5387be7154518a2171c40f5348dc60e64fab162313bc5d755dc8d0e3fcf6154b7fc3354280e615ed9a01346e -KO = 0731de98abe71be0b6898dc21e91d82bbda6750ef54dfc768909bf3cb01532410a06bb16b5d7cb6cbc165cba44193864f27401a353891b9789c0b695 - -COUNT=23 -L = 480 -KI = 91363feb5eab72bc6b74a13367181b6f3379716eb5288ad9f111e760fb601e65 -FixedInputDataByteLen = 51 -FixedInputData = 7159f37aa0b3ae3bb50fe5a19cd85c28a96c05847fd401948daeb70a600ee84b0a8b06076e25cf14e3cdd89a6a005d54e4e971 -KO = 75623b8d58bd331ad1b2e77c365d749de4732f70c11accd9b99afa1f0202b818243c2ae3285ac0a4600d577253d019480ecb2be16dbf349d25383168 - -COUNT=24 -L = 480 -KI = 5451c030c0ac15a5afc61cd962fe02366f363d76a107d9d4af273e2d3d36be9c -FixedInputDataByteLen = 51 -FixedInputData = 8f809110b0e9b853d1193459b5c08fbee13d463d29066988ce58281ee5c5e686fa5eafa3bc658a5e3ad3e5dafdb93fbd6a7fdf -KO = 429e10646d606e2d54074d76528b2ea59d0647d6629a0706578df658fe2014059ed7100f5185df19a39f1f409816490b45a612673f428e2cd1e9572f - -COUNT=25 -L = 480 -KI = cdcda88871d669493b461c553c06a14d2f4b1b55c8f6e91acf83ac7493e2b2fe -FixedInputDataByteLen = 51 -FixedInputData = 9820d4a66a87a4c962d6c4d0a060381c1e20ed6fb4ec4a465058e7eda6fa6fa8dd4197a2fe63ec9d8d2671f9ffbabe1d2d3e89 -KO = 25695bce24ad8160e1540906f1b173f53bbb00379ccd2970b73b04b68f7c40ef33a19c717eb202e4439da0b2fd1bac7ac0398c04af64b714edd34c2a - -COUNT=26 -L = 480 -KI = 34ef1d6cab04a894c249b11a5381cfd2cd5c796c9545bbfe74369eff58aed1a6 -FixedInputDataByteLen = 51 -FixedInputData = f98720fda5f5303dda60d7f6fe2bd9baee7f7fba10fd23317380b1ac6fa68d38a087512cba8a3bb2a9e84f7490ec0979273c79 -KO = ddf63cde8567f7b5ba1ceb24a48d33be644c175110b8ef4f918b31c40f7419873103769f51901ab306e6ade68ab21d9cf066341016c67e23e19dd64a - -COUNT=27 -L = 480 -KI = ccb48d370ccc508c843ddad15146e5aaea530127a29c8fb0ef6baeb2ef4b5ee8 -FixedInputDataByteLen = 51 -FixedInputData = 84138f6fe11a4214019ddfc5717fd2a9b89d3b50ed8fda943c5205220c5c631dca50ccaeeb0c1ef41048e09c9dc545c6eb6c16 -KO = 21dc76f76495ef2116dbf0e6b8c618d61ff2f3a5f1c9c9ce4dfbdec8dbfacc97d982ecbd79b6dd55ad14e48664546e0582dd3070e5500e64cedd7e2f - -COUNT=28 -L = 480 -KI = 722f443d68e6bc4a0efaf2ac3fa442056bdf8e234c39598d4fd98068f8fab8f9 -FixedInputDataByteLen = 51 -FixedInputData = e570742ec7215af447eca80cc8fee65c1667f0d3a57144e2ccef9b8c825bef227393d1c804ec4660ac981c7ab3760da7a7f5af -KO = 963544be863c072061ac54aa5b0ba1762438b0fdd3dfae82a5a98c8ecc5a0a4d54fb53771dd3812c9b0c0edc6ceb914dd1bb0a6fb933267693ea830e - -COUNT=29 -L = 480 -KI = fa0345968eb972e6c650f349b9c724a267c0a51b05cefcb5dfdc5bbcff53cd81 -FixedInputDataByteLen = 51 -FixedInputData = 49ed9cc15f319687f56037975d0505d3e3caad68136625f76453504ed6972a4b11bdffb0ddbce5b0f3006d8b020f3f5861332a -KO = 84ccf62008c79d2f7c1d9acaf74d971a16d6c7e1fc8a69564e3beb2471f33bfb2decae06e28d87b72bb182c32e6596ebafaa6d5ffc0113ed18fa08bb - -COUNT=30 -L = 1040 -KI = bc057902902650c2cae9de24f04fa7b73b462956fde59d39e6ff2b19576679b6 -FixedInputDataByteLen = 51 -FixedInputData = efdfd76bfa940293d10b4c8a6b3f846da1b2a6f1e3a10d41cea8d36c0ef8d172ce3925695958af1f62f5fcea8374a80c26c3c1 -KO = e80840366ab2d5b2d6d533a9e3a58913c3652b149f5189764802bdb02dd5a44fb2becdc8310e1f9513d1fb565eaa19d007d641d01712468f5669ca5f7471d0894c0329a115f54694022d2db5c8e99fd0bdba526dad3f4cd01824c7ec739fe0fa17cdbf374b9de47efaf2704cdb3b4484c9d7e3099697058dccbae16cda025c974f17 - -COUNT=31 -L = 1040 -KI = d7786c20f73e2c7eebc10ac4332b20e86a8f9e9c8a5b7ecb12f7d24df6d0ed14 -FixedInputDataByteLen = 51 -FixedInputData = 6aca9a3c95ee7d471cebe802f6bed855fc81f5bcb72c1f70406f310fe687d1aeb59e701a6639c7819048be19e8108c4e120e36 -KO = 02b0cb13bcb89cc1f37751b4bb952ef49a38d3b4a5b431d6d7c381ec9672aaf9050f49585e0b48d233f14a27a073d2e8444a15c1797944b31017259d5e477885339f47ff6da43124749b3676a944b47463a4f4bb68deb1b03cb353cfdd840297b2a1ab460f6ab3022cc66bdba3308e162c2efa39d4f2636433cd69469e397ec4f10b - -COUNT=32 -L = 1040 -KI = 988ad4a4632af84f7614cec84de494ee7d9435ab3370227a1e26528088bf49c4 -FixedInputDataByteLen = 51 -FixedInputData = 4fa31334e465e559428aecb048bcc94d475eb834c5f2d082761dcffb0f4e009be889030bc3bb00da2f265f027d17ccb7063b44 -KO = 742c443643708d9340748270b01ef209c24cc2db39b36182880d1099ceba8d4b2056220b6ba0d244d4a43e123e67738fb257688afb2106a34dc435f54555e57072d6cb3a15caa41c56ba25aa3eb80830df189b16017360564c5a11dc2fd3ee9e96fcc6c249acdafe4329f2046eced2384748344f5ff3c475c62e0e73378153cad89a - -COUNT=33 -L = 1040 -KI = f128d132e777901f35d86f34d3886ea913e1a11879b22831d2e55e3137db2f10 -FixedInputDataByteLen = 51 -FixedInputData = 1c10df1ad68a7db80818aa8e938b6d24c8699a08aaad37bc25e48bf0ad892825aa94de13084a17e6f95f3db5d98862b279a0cd -KO = b29cceb50b4024d2860d99d5d5ce68fa48229676207aedcf644fd897e05465f6fba4ed138b600e5b78214a6f0673b6743e0fc6eb365c4d6fb6fe5cee4d7756f019149c0708e38b8549799970051ad9172aa78647d3bae5a32c13d9e6b78811510c3845ed330f4ab411b9c186d6b1a770186570430ae58c9a9cebd7f1362a5dcc5f47 - -COUNT=34 -L = 1040 -KI = 14376b2a7e8a005d27cdc98c78ba9b125e72d42e02a9dedd8793a7974ff71f28 -FixedInputDataByteLen = 51 -FixedInputData = 0ab3f44b8a6d694331da6e8df1a81cd154521dd37df48d36f720cacd7fb2a8cb5bce44b06a4793805c0426f1e4277d163ac214 -KO = b147677821bd85efbd76b5ba5a696806a15309d50a342707b374d349c1162232f70f6d8e4a07c06b3ebe9dc621470311424fcf48dbf0db5c8ae4bd5a0be9b2efaecf46873af3b8b96528c608bfeace4d6c14482df5729b8abedb4c059e3a29a89f56b31497161149f29cb6fb91db6e28e6f026c709135457bef3b43c7fd86a22dd14 - -COUNT=35 -L = 1040 -KI = 1a595cf3754c3a0e671ff5f570a216c60c864ca749648250c2c25e375840e211 -FixedInputDataByteLen = 51 -FixedInputData = ce575178ae7f3d2738acc577b7eeffbe6d22c19fafdafb884fe3b45eb7ea7b7d26aa96e4897e40dcd7842c0623bf3e76fcf4f8 -KO = eb8085e00c7374c764650ef70c6a5701566db74aa69dc0d26041ba16407e67e2ca5a01571fa57b13a1a4a89692cc0823e487ba0d453dc3a105a233da04529a6483ca6d11ae0b110ef214a1ffd1bdd43ed4c2b24555ee0d601da6bc0918d34da255f09d5c25936b6e53845d81b3d99c78866ef72d7123422358de620fd2c6c9a99a11 - -COUNT=36 -L = 1040 -KI = 741c33454e613efa4463e707ef3a9ef3caaea54aac4186fe63bbcf8de40bbe18 -FixedInputDataByteLen = 51 -FixedInputData = c4548de9e9d5c496ea02154024761ffe4849ef84eecf759326f90a7e4f011b3478f8f8bb120c3995af264f2dcab14b9e5aaa7d -KO = 8412efa88ec1c63c0f0c8fddfde7c113cec62acfb67c275b5f190deaa82a321b53e19655f61dfaafb5e4fb8aead380dff841f4dfae780a427af3d4eb4c86925be9773ddc0c3e179a29f33672b122bc4aabeea8b9570c9322459c62ae02c57fad8837b92d43f7e9bd5716319c330fb2553a71cf873fbbf1081cd1a9d9556cfa242095 - -COUNT=37 -L = 1040 -KI = 36c60dba9f63bb2264161d20baca30746af22666e483334075121d7fe1a59ac7 -FixedInputDataByteLen = 51 -FixedInputData = 825fd4153457e9768b4ee478bcbd70836e487f98ac7692a2ee0ea241aa0099056a7b204ac3c250efc9675be6f1a4eb52081044 -KO = 7316a2e306cec17542116f3f3dbe257621288d738735a5811a8b58d0ea2766e7cb3d61912e5495ff214cd485aceea63c508bbffb9a000164c5ebdbc5eefb8535697e7086995738ca039333f61a3cb540e5035968c9fe1a4e77a6c5548efb2dc38b3b2937cfb9ec381c28d7e1ed11dae6f3b8a9c560253ad0ecfad81da0f51a48bf6f - -COUNT=38 -L = 1040 -KI = 952443490555a634740a6ffe1da174dbd37171f80b4dc5bb5f3742c021add44a -FixedInputDataByteLen = 51 -FixedInputData = 64716d158949fd5dfdffda730ea3bbff1230e5da06413312843c032cab4599741b2f89a781b73d1e9501bb4070cea30368d0e3 -KO = d457c540aa1a0936b79e8057b5c4fbe701122817c4addd1e75b5a6afeec8f513be79bc6b56f6536288e3562875b2c3fbb463e416240f39d4ed04b3f9d91dbb9d4818b2e4ffcd8b587c4885af0dca37d8e317cc1520845988f1edd5bfe064d97b3eb385969909f3dfe193daf097b4de54ee64ff00eabdc05f7981439a0cab7da95dcd - -COUNT=39 -L = 1040 -KI = 204498dc8556114a371b7beb70e4ec8a1802246f36396dff5b10440db6de5c68 -FixedInputDataByteLen = 51 -FixedInputData = 087ba2b26df6ed9dbb89af822907236f5af8401ef42411aba852bbc712ce00e7c256b4b907b7e68973da047b9fc9201610151e -KO = 138b09f70585f958867bb1e0f73bb54d41d0d29421067a87ed3466eb7c22e32cb54571d047d7ae1c350f620159e65e793741c4e340a998410beecdc8249d03bb84c3943f32f4f3430ce21552436a6ec45f84e392e498b80db06a35f0cb5eb844c7e5d9726ba3d0cf2f09e297d4fbfeae068f514b1ba6b6db308f9e8a3bdd92312afa - -[PRF=HMAC_SHA384] -COUNT=0 -L = 512 -KI = cb3642db845add3d452d74bcff8149029de7ed7ed264f8ed3b41346546b71d1b286310eeadaa2e367c5b7620870a6e66 -FixedInputDataByteLen = 51 -FixedInputData = 7ddc1380e72a346a99288daf62b5e66c83a7231b0caecfe9e89289ff37d9d67fc45b66529d16d8bc35060a5317e3c809973bed -KO = 986f9c0fe7535f20548b00b64a51fa224d351e803a48cc1ed143e0fb39084acb37364d179ac352783e7c5a6705e9c93935756e69a34165a66ce65d126f7a91b0 - -COUNT=1 -L = 512 -KI = 84fb83d72c7f8f8cfbda9ef1dc9f8211c4c875e84c83c1ea4912bcd9109f3cc8c65947fbfa51269edaafa9cd0775999f -FixedInputDataByteLen = 51 -FixedInputData = 20e153883b8cc80b01b9f13f6a129ef1bf7f475489ad55eb7ba1df5bbf46926d93f8bd5f0c8e58b6af76903814ed73d3297b74 -KO = 5ba550c6357047cc6a78c846b045e2c4817e4ef9e5d15e2a33e05b5afe3d7d9a17c452d0700a741e8edace4346ac5d94378af2896b89e5225c8b0be088a249b9 - -COUNT=2 -L = 512 -KI = dcf34a09a8bbcc15053c593b8b7a1020535d950b9ba4a1a519e741dceae29fc7e6fc3afc23eec0f66fe2f497ccec7578 -FixedInputDataByteLen = 51 -FixedInputData = dae210a8f93f11a04290fa4896af1a81aee9effa6ae5adb697c51bd5b065b44696c5d1e85b6f64d36f3f1382c826368ec9e3eb -KO = 46814927302f369b5a9cc7c24055ee61bcebb44280710775cd9c59a38ed3c367c376f50fb008b09a46682c242b980cc2a4cfc5e5bd4d910c8053f1972de8317b - -COUNT=3 -L = 512 -KI = 991b46a808f49fb0ecfc91fe9d43f8058bc81c668da32e530b0b9bffe40f2b367702b91b8d1f3d7e031a1bff9bd8cfd2 -FixedInputDataByteLen = 51 -FixedInputData = ab623549429619f0c88cd68be5805a6003f823087e1ec70dcb6b8c3efcca7e2d320af308865a829df0a6b2694de59ba1f3514c -KO = 19039f3ac4ab016ce21d7ec5664ad173c450d92b230a2fe25e3a793733d038650e1b162b7e21fa49c491225e65e28e17c8bbd9f56c2eed89eb6db20ede139c6c - -COUNT=4 -L = 512 -KI = 61bd39b9adff7965e7e6055422f3b574b8562aedeb81873797ce26b5087d6a8f4eb3daa31bfba2bb3f27ce2029c0720a -FixedInputDataByteLen = 51 -FixedInputData = b21725b31ad45c1ff5285c7119499c2870687e80ed7463cdc164b624aa0d63c83455a7e4d0597bfd061becd0a7cc3954d9f189 -KO = 422caee81d2b11483d956ac9912f2951a51579edb44556cbeacda5a7abeb1ca674d8830b2c2a3197f66238a6ba77177b443520dfe4929ac946a74001684dbe6c - -COUNT=5 -L = 512 -KI = c3edfd92cafd7c6743afdd4c3829cb356868c72bb1d062f2caf15c3ce83265e9b9b83f3d9d495bf4dd38aad957252a34 -FixedInputDataByteLen = 51 -FixedInputData = e9dc6c715d1e3f5e5015f4669ea65a6c5470a97e87f9960adf1100e7333e760f7ef97666d7fa0e55dd0dfaea6c68b757d03c78 -KO = 6f077d3a8e1a5126eb00a423a58d5ebeb4d6603a51928f30eff0115a16cd2b5d3d07fb5133db97f9cdfbc9b66a6d6b38b12e30fe0019929ff9ef3dbc5106e7ec - -COUNT=6 -L = 512 -KI = 1a79750f7e57b9a162a79868b81cf2e8ad04c125a4c72772c0f05d5f4037a8d1a553db64b2a428a135edea69696b9bfd -FixedInputDataByteLen = 51 -FixedInputData = a99697b168ba3dc8d79440063ab3a2263d021c12194417288b005afa02a54a560298578f29e270d912eb2d4049e5b9f61fa21d -KO = aa246f7616f2cb475f44717c45274290d920710b896dac09e8c579bac11c6ddebc012584dc80bc3178c76ea78d59c4b36d5a61e954f5b6d59a4dcc033c978280 - -COUNT=7 -L = 512 -KI = 6e8827f61eedf8dc7cdef5bb1231c7ee6a9a94baf34adadfe5990ba96e66bcd65cb0660f847bb516aaf609c816c92dbd -FixedInputDataByteLen = 51 -FixedInputData = 0bca7becb401a536029f036d076c22fb0f14ea2a5e2c93d56745eb85fd3456461630c195322d4ac3dd7367f1b341f46a3379af -KO = 49b6fbee68f1b83650efc1a8b2c1b77b5799c4a602fd6d7f5fdc9e3d294b1bdbc1bcf5111a2b4f547903fe6f447411bfe48eb94472d318a5b4b59405407c2c18 - -COUNT=8 -L = 512 -KI = 045b8627ad39f7b9f2d3cccd214755715542787241ad2b42a5b187c6c9406175671f84a5d07cca6d0aba979c99c571b0 -FixedInputDataByteLen = 51 -FixedInputData = dea738845d03e6a7cf696f79edf7d62c8a48261a8c996c6fd2d9f765d72976a1acdfdd056d2222cacc1711493287d796d90eee -KO = 8fbfa0a8475471eab2d187d1da7ee8b198d030db20c9f21f04bd7f0ff328f4413c41f855c533dddadc841610625c02c6e93c3e333dbc748a3326baae0cd934e2 - -COUNT=9 -L = 512 -KI = 595bd7456e06d6d2fcd9c601ce74fc95b446aef2862121706292a24437db17261a71afc48a21c3a98d90b4515c098985 -FixedInputDataByteLen = 51 -FixedInputData = a41b5479607fb7f15ad7fe9a525731eed6fea52f6103bdfedf691d52d9bcd077c11a57eaa027d766d6bdad01de5e8c81264014 -KO = 464373bf0d54a7bb515e85a6438d69f78a4497bc7aa338c4be439c0f1a1fda24a56474ae148b1a49226926becae8f376903dd5d9971943c8ca3af4ee7c88831a - -COUNT=10 -L = 1024 -KI = 3b8dd1fdbc427441bf1288a359f46e6ae9f5329481e7c164f461bfeb153e15f8694dd65a66ef4b2e00a6e2f6584ca036 -FixedInputDataByteLen = 51 -FixedInputData = 743325486d8137cf185d8188093f7954916767ed959d18a7c1626fc601155f18fc5ac2b2211fecce5732c63088e9001286ca1f -KO = 3d2e39ad093bf760bf909899c2c094722afa109d548b8fb99115c5aa466fa9064cb85771bbffa1ffdf2d5706233746dee525497932be4692d521be620cf1b5f27a1e5ed9253ebc8d2aac3c49de1bfc854359feb849047d3a04393925df205804e41d11be58143c75222a014f303d8a6203ddc06f85a3db2e4025b9ef80d94454 - -COUNT=11 -L = 1024 -KI = 46456c633fae4e244d8f1a4ef652dd7c9276a7394d0f17e2a560a36d7b53d80ff745a454cb5007596c9407b4f1712333 -FixedInputDataByteLen = 51 -FixedInputData = d8295e45448104fc1f56537708aefaea7e748d9b02a5181bc4e7d4431dc9078cc1f6e0e466c59e59a219c19fb55547ff5bc4bf -KO = 5e0eeb76b0d05bdddf720d334847eac53b6679f991697c3484a3df4d2984fe46f5137db4967c8f1a7806274baed114ae60aa90f56e5a11da5ed76692d74e56c67d9d913b137c3d4e72c5dc19c867fa53b19daf75966b85dd6a2db87a1e29b957fc4df4ba3398e83bdf65c750e284d07a7c607087ece4dc8e0203d3548eb88f07 - -COUNT=12 -L = 1024 -KI = c85b2367697fcbd16973e0f6214bf5f173f2d7c3bf050bbbb4159ae7ce569758fe413e9d210dc516a50b18e32dec29dd -FixedInputDataByteLen = 51 -FixedInputData = e2a14632e3a119b35d7f2ab5cb4008f2db14f9ebeb480740ecf1f7cf305581920d46b22968d6b50e16f158d4c1cd96dbe38cf8 -KO = 28bc9238dcd334d149efdf45aa5a9b9756454463b889993632ff1960584c7e5aa438b4ef7b443c2e379bd71c39a3181e886bdb08c8a209b7958b0b639a72cb225b6d8adc56f689c53253cb8c563952ce24ee347c7c268e61a5e742fe05bbf6c4161df1c56b7576d20c5dd410828c8a98316ab5cc103555e950b2e49e060d103d - -COUNT=13 -L = 1024 -KI = f7fabf7906ccbbec21d04e81d36799094a398ad7f4cb12aa29f7610497af50744983b5eb90d7f23449c2a28e784840a4 -FixedInputDataByteLen = 51 -FixedInputData = 4d65ed78cf23e9bb105841e5043ed17e518bd6f6e709c7864e87e66769deeca00e9d4faeb6f69f0df3b0dfdee7e8241d9b2ece -KO = 4103f8ccd7df0136e2d4a6b9c3981a4b8e3137abfe206bc08bcea0b5dbd92f6047578dd74bc818de3b85f6d3502f9896b35dbe04beaf4c610800151429ad4427950b2197639dfc90719d7026609d3fad3ff474f4a3ba55cf97e81a92dc2490e32fb6caec72338a0f64303df9fd2e3a45067c8c6d0ea6dae7e60cf6efc50dddef - -COUNT=14 -L = 1024 -KI = d81e1a269b1c937c243ead54c4a7116965246d97b3cc18a88b231b782f98fac804002036f634449a6b113959d10cbdb9 -FixedInputDataByteLen = 51 -FixedInputData = 46e0a4ae5b34f8f6ea581ed94c82ef69054bc3705f4426b5342b9e2371752e9b6d1c17a8b97570f7f3f1077f85191c1a2074fc -KO = 5689c1decf454b8c110e24c9b23b7a74aed7525c3d890c330efbf79b280c216ea1acb6dd413b165cce4b3e6d57a0ab64d45c855d91d87d89ee4f999e354a79dfbb1ce0768f4a823c9e327463743a43a0e8ea9fb6517479d6106b7fa83529aaf012cde930a163def187ad3e070da33d4b5fe0b5f7afad82c5645cedb70a1b0050 - -COUNT=15 -L = 1024 -KI = eafdeb5132db2eb9b407c84804684d4b92b55e49f585cf2c1e5327b177d0a13f3803ee5c6df0a06a34eff8d9ff71e35d -FixedInputDataByteLen = 51 -FixedInputData = 86df46a62470a49ca71bbbfcf1dc6a59a901f278a0176fd89e2ff2837f774f1bd05225ed452d97f8ca2ff7993e98074fc437d7 -KO = b808690d7c3f623d0e8ccc026a0d14fe5f11220874eb007a385731c1635c586f2ef1eee7329b5fbefd250ef4e032d149d1a12fe253b906cbc5f358ebdf7a116a5679a98cc24595a987f0ae1330063850de2c673a19ffc169968751b15b36fcad86ab55ded8a8bc71aa7c1617d48eecafbb547b43669f1a91cfe7fa6ebf29f076 - -COUNT=16 -L = 1024 -KI = 49fbf01522c2f528b7cf9bf90570c43c05ae92f06fdbc99561c3b9bbd794b02f77995bf7ad15bc4c08e6f429e0c25bc5 -FixedInputDataByteLen = 51 -FixedInputData = e76b84f66373fd1266fc42d2a98acb1adccef48763cfb414a187be330b4fe7b7f69d4733ec849b53ece45322c8e8a01b0942f1 -KO = c723ba7e43b41f781fd0a1f1b24d73dcdca850dce237448bb52584f3741bb096058b238b873dd3834bae5248f387537b50f87130f573dd31f01334b11431b679d9f00052f7e5663ba3c84002b8309bca5b13ec456f74d89c818f87b4c0bdea3a28aaa288a6ef913bbe72ecf1c8c094f2f5888172e442ceb3ac663fe69cf4b3dc - -COUNT=17 -L = 1024 -KI = 2b55a2840b35cf41e48234bc6fc1131de377bd45481e7d71f35266800c02c20041926910c3f9ade131c63fdf192e94e8 -FixedInputDataByteLen = 51 -FixedInputData = 9d4417e0a94c8c4904921e51a917c03849750737e8d469171b06422f416211ec4b75b458a3b024c0533c10580c73687e3e7ffd -KO = f9921f4ed14e0227818cd0a10425be52cc488d0f286348405f20e0e02f8a792f93b6bae55752fdad823b8656ad964159ada5ec3430977baf1e621c7169f824fb4b194500d648b2cccd00bf1a8083d68ef90f289a5ad6a66036aac1de1c25dc45c563c86b93d514d2d84d51f54f00560273ce579f5b1d7f3341c3b70fad0685c8 - -COUNT=18 -L = 1024 -KI = 14173a9de4b9c5546dc4345e4286b5ec402fc4c23ed9d03c316aa9611ebd62229e428c199c4811b0b42c245a3ef6795e -FixedInputDataByteLen = 51 -FixedInputData = 812b30b82301f147bdb6e7f210bfaf2c0d0fd35fb4667abbba5b97bb8381e36c65b38310992920de34c3392691f28b41626dc4 -KO = 45da8b8cb6d686d1496b68a8c580dfad116f1fb1e2bcc98b492a5b4a823788e8b339a95771e0abb3a71f8dae90defb88301c33204001421bfc79e1101d761e30ce22b525656372e387536f35774c579a309b56391672959e850490a45069f0cb7e21316ba3a64515d1f4cace29c8a6d10ef1ac47f67b29d14867a7c081d03c93 - -COUNT=19 -L = 1024 -KI = 67b043e8029ed3b9f84f0508d9a1edfb7f9276bdee82e0c71798ac18ae91d19b7dc0afc459514197ca35b472ff2ece2f -FixedInputDataByteLen = 51 -FixedInputData = e72414942b70ccbd1684e289ab28ea18ba5aef52eeeb7ed9bded69c4592c88bbdcdbedb6973193ffb037fa64453e103131958e -KO = 7c6611c4ee6dad7d5a1c431a21e593c5b3ecffed6cbdccb3208105a37a9b41fb43e9eceb04528ce9eef839909999fbe6ef7b7590a45e252acc0d2f49b19a3f661a19e8516fae481c1bef8015981aa8d849dcda6c725d8c88d2678133dbf89053c13ad089fc47ffecbda72bcb9061af46d5200fa57103a38fb71fc112e9aa5ec1 - -COUNT=20 -L = 480 -KI = b62daa7c0b7e569dd91e3bbcabb610ec30f830d47f5cb5558a44c2c26d0000dcfec8eb9ff64b0ef2ec81460170b4b046 -FixedInputDataByteLen = 51 -FixedInputData = ee37cda646c5a948a2a220c526c705034f46a394024c4266235d0a57a4a693ff5c05e4c24a880882bd8e6e795dc3ca511a1490 -KO = 4d5a5fa9e50766fdf561ccc00962a3f06c8271641dcf4b7e14c4125f2be78e569e0996b0f5d8ff86949e823d6fad46fb7dbae5725000fc2b7831a4c5 - -COUNT=21 -L = 480 -KI = 492f6e492f3343b968d52a3787bafddda8cac43c6ae1c8e5e51e35ca493643733613bac2329be192870559e9858975ca -FixedInputDataByteLen = 51 -FixedInputData = db9320b6f9910040e34a60f18afdfea1b35a1a973e2c177be642bdab19e00859932fdbd165b980d319bd26cc1643e6871ad156 -KO = 83b29ff18f5549646d3655c405d47a683ea98e54eb1dfcb4573724660ee3f21e28198d3553c555921fb361b4c22f41b5548f55101b6bd00bf69f7225 - -COUNT=22 -L = 480 -KI = bb3044b1b420ce1160371f92ffcc8d3e49b361ff3b4de892b73aecc94d443a385f054681f2665ec66e0bc73eddf267bf -FixedInputDataByteLen = 51 -FixedInputData = dad2110619605023fe2d001bd161b33f42cd7fcd85c0638170d2799843160ee99610c001e644903dc8cd2982536a91b073f184 -KO = c9ad5eea3290a0b8dee4d4dd71eb7367ba1562602a0f5b44df9c0b78f33a14649028f73762e7cf090d00b9cdf6419ce49a6bb5b9703377e75fb011b2 - -COUNT=23 -L = 480 -KI = 7f09130f7394ace4427a3d18c5970409664f488f8c001621ba780b8f28aeb1ea85a750809da5b8ac6b870299e3cc7b1d -FixedInputDataByteLen = 51 -FixedInputData = ee6c6c0c689a5b6346d1fdb7f53a913806d1bb017f212d1c4adc6589e29df80eb587740d7517c00579e78fb148d704787b7111 -KO = f87914026c0c845c4ba4b45e0ff9f6bcc7a63cff7d82f23a761fa554e64088477acebdf08374f414700e0359b6f4f465de7120f5f49051dedbdb7261 - -COUNT=24 -L = 480 -KI = b51074138f2759409de6a6b31b32baba63dddf951241d358759853c570e4b95355c6cfafb67198a747b92c1756cbb77b -FixedInputDataByteLen = 51 -FixedInputData = 3199e04b84e7b3b8637f40a29afa527dea346a43fa3dc5010bcf6c50db24e141b924b744f08fbdba8a7129176fb22cead7570a -KO = e19bc2d105adacf309480d89571608d3cf2dddecc1b830991df3713da78261131f6ed35ddae8e065625af751887a05783f8637ecb2d4329ae48d4f42 - -COUNT=25 -L = 480 -KI = 2a472b9e028fa45d0a23cff0312a14c9c71eb86a81a928aeba8c472d60cc21e8fc4e03df030b2f283c2a4566be17dda8 -FixedInputDataByteLen = 51 -FixedInputData = cf0c78c4878f32c88ba34e67e42ead1dc047211843560e0f9bafb3f9dfb46c1e109e30e9ab4fa09696950a75bc857184f09af9 -KO = 0bfce81230920daea215134093154b2475afab17b9892e4f7d3250427d6ba5d34fbddcdf49b7ce04bf4f2339fe5f60918649754a5622bc87bbba771e - -COUNT=26 -L = 480 -KI = cc16d4bedbe3f0a5f005653d00695d4dd82339f7849734da1f73820307c870e2bfdaaaf252848962711dfe7ce2dc1033 -FixedInputDataByteLen = 51 -FixedInputData = bd3efd9c2e59056d55c9b06d1b7451dc4e3e1627051033d08563fdaab859092158790408d298712bec149fb26b14fe8b0fd9d8 -KO = 6abf61ed5f4b8062c5d33d243b888b0b51cb23b8dfde76b7bc5e5d6f41346b76779f5abf5bd14becd385c25bb6a988eeb79e0d6a3845bdd4179ab1d2 - -COUNT=27 -L = 480 -KI = 369e204835475dd491a2630c956c7c12b7445ec0ae31600df1a6de4b880985afea2f57aff8a18732fe2af6c13c523021 -FixedInputDataByteLen = 51 -FixedInputData = 906fe386a95897608dd2ed10072fb477208528cb0e6ad75928ec07b1a0f86f8863e1e958b832ab321239cc4bc14055675e432e -KO = 4e00408e87b52c4d2b0799acb5748ac52f11b620d494bcd58eefe38a7d3f2aa97b2139d5990aae78c7fdab230213a5c363a8c43bf2c3a3d3e9809dc1 - -COUNT=28 -L = 480 -KI = 8fa3d155d0a57794fc7602ad4dfb00e166a16c055ee05ecf352d5f615d0148f730c55ee0873382f088e86154eeafc4cd -FixedInputDataByteLen = 51 -FixedInputData = 70d69469a03da61e3dfa56d1b3ce6354a23d8df48bbae5c3d8df776e33d01a6e9270f01d8a68e8c82e7203ed061825a370a852 -KO = fc90d66d62120593dbcb884a151ed1876bc2af9af0c2b878d41abf56f4ea1d3d586727f04b5720a5f26876a808b5297fbc1b705f009972be25d00fae - -COUNT=29 -L = 480 -KI = 3c77a8fa050733e7b3c92c922816b9cc387290944d3a7b90230456c75373d6ffdb7e1a94c4ccd6aafad043a430198f7c -FixedInputDataByteLen = 51 -FixedInputData = 7481fcc0715174a5a36380a61470196888b4b4d021aaea55e586772fb1c0ddb4ccbaa96a62d9d5ca10f15e936d794380200468 -KO = f61b03c0b5449cd13a6b5edffdaa84a08f3bebc6e0ab4182b2891429768a05a9324a3e108c895be53470459b389bba4da56ae14aa169b3231d8aa6a8 - -COUNT=30 -L = 1040 -KI = 3dc179bfb7226bf04e1435f7ccda51183f010ede2d3eb4f18fd85ae6ab02a04d09aea299772c5ae53e5c63e5978e44c1 -FixedInputDataByteLen = 51 -FixedInputData = 1d504cd971aa77805624457944ee7b89ba7a722035030585cc6736420fcde28c633540b454d5556185ed2fe5eaf90ed49b3729 -KO = aaa905d1469d1f908b7930565224866a3e1c6827ea7f25262055c49263993fbadabf6bd8b1fe99a097e132f202913828c66ca24f6afa9489fc86b5874ee717b4421c3ee11676c0f03b449ff255e2d8f34c0b4ef4019f4fa4ff2fa68741976136150c1275de67288014590adea3f623b2093a2a2e70ca9299f0ad47da327cb8ffb829 - -COUNT=31 -L = 1040 -KI = 6b3261da83026aa5131ba9f6c5a5ae0397822d7f862a82cc3dfe98548802e45a5dd30a969e9a89bd306dc091f2b9f7d0 -FixedInputDataByteLen = 51 -FixedInputData = 34ffe1a2fc79e671da6a522048e34fc391bda22841c4d69656a3eb6ddfa889134ea17a0417734fd9a8eaf517bc3e26e325f668 -KO = 478fb5848bb072694287dc56eb5a5826d31eec0d0f4a6b2ec4de5b07802c88ed82dff835155deee3c57237d6735292fb6ae457f9934da193659a0c04c4b13406bf420071fc3710887bfa33f8d32341e0ee8faad359b3c1a08d2cf20c86724262e99c9cc4956995b4a3b4991aae31efe2e79dcf849243c202a49b55b44568e6d3082d - -COUNT=32 -L = 1040 -KI = ffc31878e118239c8f7a41376d6286e79aa9815b166bb98fe9eda4f83bf2979d3583996b4a93bb517011c8f7613d8919 -FixedInputDataByteLen = 51 -FixedInputData = b673c53f77b0e815c7fa5c8b41e05b4688133a3d43595495b8b1b3dbe64a67a1ee8a8c8c3709453fbdfdec16ba38ee640825d1 -KO = 0f8f1a03b1cfa974916d15819de697574a0777f96aef10ae1464629e50afe7768f7993873a3379c6d499dbeaf5992e39d0fd37204790169e1f9854fe5883a9e58a601349e0ce4ac64c6e72b7e70b1391b9f85b09e24082033224f4235ece378fd60247721d0a4e723fb04a729871eafee64eb3aa63dfc412f8df6b165f7b6e1f0a94 - -COUNT=33 -L = 1040 -KI = 43c2aa0153d768219a43519712369817084b4c668c49e2af3937e4d18027add5570b91d9cfa9e290f53f6429274fcd1c -FixedInputDataByteLen = 51 -FixedInputData = 26da65b0acb406cc4bb214fc608f98ba8482fd5758e5f0c17d8faa26ac0368220792cc5e5bf1593a233a7d738fb599b65383c0 -KO = 4474fbb82a75187c69ff718dfd91385419453434ed3095e451c62ef7195532f6ac27d0488b6af9084534d5068d77c71d46c98348d207b87be02b988bc7f50c75aecf95e7ebd24053c57770019f1dad89f124058d33fb599799b75704c87dbf4146a3ac02f8e4d8e1b60457805a151e2553d45863634ecedcc05c58c7c2ff707f3ef1 - -COUNT=34 -L = 1040 -KI = d279b54ca67172af7d75f94647836ddf6f6c0484ab54fa8608055b1a77968582ddf675a11f8ceb7a42e2ad62dd8b0378 -FixedInputDataByteLen = 51 -FixedInputData = 845a129fc8cdac543a814aa9f095a68e5beca00c6ef4766a7e554eca161e5ed3598369ed8602cdff0c4914d8a5ff86d8c8ef6c -KO = 979161ab6096782005e626e2c5a9dce403800054fe19449791bf73b819a2482eb20bbd30056ee1e81860d24e4d015d4a3d9bcfb11012857c393ca230d5c3d97794e0bb75f591468298cbd19f4cf46e44d1f134e42623cc36df2cd25cda690c72d6ea868c345d3e248764a65b8c6e17ada5a812231d3d7616a558ffc0bff4485dba56 - -COUNT=35 -L = 1040 -KI = 222d4d889156f4f7abc7973de9ebd83b1238d3a606a8c067b0e7437b540d51e663d5b634a6a0cb6ee4ac1ba60a20574c -FixedInputDataByteLen = 51 -FixedInputData = d5598a7a70d0ec13e753cb51dfbda4e46ca67fdad7b1ce77a7261303e2c3300b1ada1fbded9e843474403f59cd9dbded73c6f8 -KO = a360c37f2a13e9b3d578bf19e79978e4f12a9fd7a85d6e9218d7b2b741a24d2dd5c031b28af16fbe6406659e660f4e3dd5addae03d7bd0dac97d6bb723723cd9b91a72c0ffcee312d04d82c764bb17a21594e48cb7a883994841d268f7a3a3045e45797706a37e30ee621ae704ee213fc5f8e1c170c42838365e2b6ad0597c75b5cc - -COUNT=36 -L = 1040 -KI = 372fc5db062984b2a08046ec86232a9595e742b52174624def7b7917daf7a5ffaf97cbef051f17797a6c2a4ad1ea558e -FixedInputDataByteLen = 51 -FixedInputData = a5fca84bcc294ac9b40a20102211ea8185c03a08f2d0ac68d1a7fcb41bdba4b4ccde9093f68611d5af7d127c038d5b983ac43b -KO = 34fceec291627ae870f356e105937ac907a24463bfc73a66466ddbcc55a597e15d0976e13c0d662393035ff56fd85cee6ca63bf5f5b52835dfb0219aacbe66afb0a33d45340a5ab7c699efa1eabcf96211d049e825972bd5089a5056316d2d2ee840f75763cd2d0360332c11934fcec8f1dce90f827e389b1ec019917e14c7a70058 - -COUNT=37 -L = 1040 -KI = a5b868e9b3d9b5b701cf9d59047863d933fb09cd06c100e04cd592d9d0027dee9d2390acb75c331e6e22f90425a71caf -FixedInputDataByteLen = 51 -FixedInputData = 142982c358f83b8f26b2e2566e777b91885a1048c08e56482bd3a0cbe7d59afd663a46e74bd912ba7919ab63aba7b27f0cca14 -KO = e3343fe89dd633596f114779640bca05a04ffd0b4e61ca4d9b30c73d999b87e8dac38fbb8b3a846faecec60e8aa840b89f29eb45b4e7f8f73b5b5e99498c9173bf40c7e8367f2c02ab81f206c379ca5eeb3bb1e00a56e2323873d31ece890ca9324327a7f542355eb6ece1854db2419b43d7b46f7ebda2b3239317f2faec9f261ede - -COUNT=38 -L = 1040 -KI = dc776f7a8526ed540a72e44042b365df0549747fc09feee566329af50ab4347fd3c138b726fc2103420180160136fad0 -FixedInputDataByteLen = 51 -FixedInputData = 2a5dc69c2fdb28e401d097720dea421c913a715fcce557877d549d8e56ad360913b3266751c89f6fa421c445e0157b67948967 -KO = 0fce70f982caa76db4881c97e1ea15716ab1397133e434f16b1d4dbace75402a70532f385bb3195bda8e15e9912d059fb513b9abd18e5392632e2f2b47fa6c0e8aa1f8b1d8d3f9ecbf740adba8e5d8f6cfa333ef3bceaa8792e972065f70cdabe47cbf4f90e648428628af39d0ba35f75d213af217d9c69a92315f35eef28769f921 - -COUNT=39 -L = 1040 -KI = 665a91c6ee7f3c5f7836c0130b03f37e1a5b3d0cd03087e45d6d49bfd980d5a28fee44f13ad69fe6151b0321e92c964c -FixedInputDataByteLen = 51 -FixedInputData = 993284d312706f4bc0517be51ff957a6abad3584c2240c6cb5abfcf8afebf971ca03c8f922443bf0e24baa385ab222e3ec2077 -KO = 5a93345c0fac62d78e4606162697f1ba36444c9e7818198cffe9a97b9da3b91af2354a82734b4aeb79dd968a4781c70f0b81bafcf830a84146e628f7164559348d7792713eb58a482d77222159656004fb8c9f2238cffb063a3b1d43312e40e74515d1250d6297c8edfa7bcda6cf4bf4a0128906af26aad9cda6f3b21940bddd4de1 - -[PRF=HMAC_SHA512] -COUNT=0 -L = 512 -KI = f463622a7653a692895b29ae913ff3c44d70f191927565fe9036aa8c65b3830cff948925565bae390ca888e1b02849c5c8b7d5abac04c5131ae888729568e942 -FixedInputDataByteLen = 51 -FixedInputData = 79c7a8c6aad656b7253978680d1ee76dc5d12c12f364911de03959b537a144e2a928a8663f4c881eed1d6aebd4f7e321c0b7f7 -KO = 8e9d398d737f43a1e54b3344da96c38f96c4bbf5871da8a45dfadb65c27d8d982dcc7f636b36a692df2c314eaa7291544d6b40d0d74cb426df7162e96c35e386 - -COUNT=1 -L = 512 -KI = 1216142331495569d75452cdbc8b9add16fa1cbc6ff33523c78b3e2b8166f8a29bc56ead981a4a768adad616f2d33e99ca88da1720275165bbfdce31b8a72e69 -FixedInputDataByteLen = 51 -FixedInputData = a38c4ec6fbf2a17ee3793181f2d5e0a13a7b43e0ca0a67260c1661f6f2696cbca0cb41527d461372321a13e1a6ee8589973c36 -KO = 093eebc502a7496eaa9625e92c22b00dce9f4037759f4c2c1af2f772335d055d29547b97cdebb212a591c89e64b9d3e0bd12d44dc3fdb2e795c4cae53f610310 - -COUNT=2 -L = 512 -KI = 24f5c6c11233a30d5c52e9ac89caf86401801e39f648a9e54d783388424a8bf296c03f80bd68103f74a1791528bc8e8ae5cce225ed1f1be5cbeaf4e953818ab1 -FixedInputDataByteLen = 51 -FixedInputData = 737e7e105766cff0eed7661086c5861a54ce543be2cf4d0fdc7fc9f070823896bdeff1b683979186d556afedb46b1ada2ff011 -KO = c30ec05684630e320aff2beee0d04bf9fac797af2bdb2182ccb527af4e233b3e40d7a8c1a7905fb4a520978bcd36933c617e6c94448f283b1ffc0559a1d2f524 - -COUNT=3 -L = 512 -KI = 2d0701b17f528a4a7592ba023521cae0a3ba1daba6798903d53b788585e237ac594f33e134b41c9af71d277c139d936ac678fcf36e9cc30da1795b2f4aa31a43 -FixedInputDataByteLen = 51 -FixedInputData = 56a686600a02dc13dc08a3937a18e991213d75f7f73c74827a14fed44f69a3a632ef5498e5fc0bab31a4d56583c2dbf1382a5f -KO = 740b0de4a0c787b7243bc19636cd985dfc3d6d3032ff3d5d051a999e01c01f2bc0262399cd299d8407fda9ae967e8b744136db63e3988dfcacd9a770fc71d2aa - -COUNT=4 -L = 512 -KI = c6761d18492f6b5e0ccdc2ac8299df72514c2c796d242d4b693e5e7b334d6ec0afaebcf20d35b5a2e65d89ac217f1cfc2b15ef6e82355fe2904a4e6a7dbe20f5 -FixedInputDataByteLen = 51 -FixedInputData = 7720ec1c9dc22404f3fd5fb5ae570c54362a739b3843e1bdbaaa379e906fa1d15e951cc5dca8108216590f1ba27e460f9ab63a -KO = 10b3b81c3842c010435007bff8cb8eda867151a6a676f93c1cb5465cc0d31c9658c96222bde46795a25040f77afca838979f60ccb0a9206501186ad5e51b100a - -COUNT=5 -L = 512 -KI = ffc5904049f77a2d92a24eeeeb68e229fd8d625af8f688da79646622b0fa75da98e6d8c0583408230ed7006bf958e5893e40631a7037b48a9f7c1c0606f52f62 -FixedInputDataByteLen = 51 -FixedInputData = 30c47e4924329546aa128dd8fa5472a32473296fdb245126a27293163cfffb352e461796905f41e9abea896ab25ad24b2ce405 -KO = deaa4fdc20c749835f2351558d95bc0fe0fb9836918ab4f7a99f7d80fc92cea2550579090073502ae26bc97797f4765f23a713fb98c3b4a5ec4a770805f491e0 - -COUNT=6 -L = 512 -KI = dfa457c67044298df4f4eefd89d9bf711c580699360bc5c7cb03666e571286e68c0a8008f5c2c6ec05551045318cbfb983248cf21ffb42b9552c34af7b41c67b -FixedInputDataByteLen = 51 -FixedInputData = 3bfbd5f68f5981b241e3fbbd359c66345e67ca8f1fdc40ba35f6a40bb36babe343bac4d24bae24d59118cef4e203a5439de718 -KO = 96df1a1de2855f371d20ea119184af4a1045b90ada34ec41d7d4da189efe825e2f2e8a052398566312ba71cf83fec4509e8a0036e26b0d05eb4a4e037413cdc0 - -COUNT=7 -L = 512 -KI = 50b4b55b9e735c47e01744cbb602b43c4a3336f35077674e7814186670db30a35093f0fc577c337e8830ce3f4837348f9ba5afb8ea8e572ad2e9a35c57d505e3 -FixedInputDataByteLen = 51 -FixedInputData = 1e91c5d75cc15e39002ae33f3a46f458f0828fb02de4bf8668c2d2091926f36121a573d943ec9c643d64cb75f0ee7245c1197b -KO = eb7fada0c59f4ea7931d1846fbb7b49b6707449a95351076ee87fae447cd492da59fe6ffc553d2b69b6ac9df0523b16fe8204b9d17bbe58c2765bf81849bba59 - -COUNT=8 -L = 512 -KI = 0f7e8b55f9b291042d0d1130f89d4b79caea7c953d39e3a6ae3fe7f2569ba002673484b9d74af47be334976d69c76d01a863b8d36a8d1ecbe82330b01e305348 -FixedInputDataByteLen = 51 -FixedInputData = 26a467fb77afb4cccae21c346d3967ed4d11ffecf1cfd0e7b695a196c705401c5892b53a599168fa6bdb3f3103be4b2e3ba184 -KO = b221c282e6d7e5b7953956d2e3fd49b2bebc802b6673eb35fc838dc1f9a0891afabf8890245cf48a046823974c2fd0779bd3844ec3b8962bad2b45779079c014 - -COUNT=9 -L = 512 -KI = 426fee998bd70dbc5aa78b70dc5a2d28b957755faf70c705f2a95d384b8dbd9100e6363e5149e23154ab45d942f4b90fb8bae621380adeacb50a29fad17ca47f -FixedInputDataByteLen = 51 -FixedInputData = c8e599655abfc484aff744747cb22eaa93b3eab20076e6aed4a6c539a12b1f6e3fa2f770f6e2c35e104f53825666b0c41c3d9e -KO = 5704e647c6e7beb39146f86ee8ec39ec19bae06608c09033bc412d06845b9280d7fd308e85897d8302d9998d2cc7649ab0a739b368aa37c679861471ceb0d620 - -COUNT=10 -L = 1024 -KI = 7e9a58fe1d211150f074058f4e053948d92d7d0fe4ef4b284fe24039c36449d51781ef1237273306a689b98cc5728ac83cdc632f179bdd04bb127eedbc5950ee -FixedInputDataByteLen = 51 -FixedInputData = 795b0d2d024fbc41f612173af89bed552ad4371f5f5c59c677bf99f8659393ef156c29090ee7f02f09bcdd82e22fdeebfec1c2 -KO = 0f02a0875b792fc0549cde89590b8c052c7e0d6b2b7836114776d2a4b148cd205e2fc9f08b93a20bc7bb94212c0a9330908c4350a1193b6ae8c74f61382a42fff9cd221343bc773242b193c8120095f198b826b34bc2505b29ddbc8fac009b1de4e43ec0e80b9b15d4882f9dd084a68b2207e1e173f4665b25f5b0dad0e171b1 - -COUNT=11 -L = 1024 -KI = 66c863d17cebc6eb3a434cd3a8a41ac98f09a1d117117817837d2047be1271c11bd7c375a16945b7d79e259f71c69d9e3bdf022d659ed3fb4662765614f3a593 -FixedInputDataByteLen = 51 -FixedInputData = a8f19b6eb906cb1b789dd983e086a88655616294db3d0a8f384baf5cc1054b7bf169e9d9154d06771aff04615b1da49ff218fb -KO = 951f4a5f0b63134f00a81bf8db93f7c3d043ec535ef72c9a0ac164359cb8cef979dd8cfef95a032f456c49f897744fd74c6e11b065b45b4d81e9a0c78532af30b388e21cbe01f3e6e2ad815baac16ad7725892ddcc1379607bfa3ef4caa3dc4e994e4df41b060f7332da11b89e559a1799b1bdf563569b3fa9a0c0725707e60c - -COUNT=12 -L = 1024 -KI = ddc19e922f0a5d0f02e6e70901f45150696d23105d3894cf10a36e1934fa93a977af000575c1b7b89f1ec0e5221c3035a2f2bb94c4e2e5dd2b65e504a4a02ea7 -FixedInputDataByteLen = 51 -FixedInputData = 8c266b8a0ce7fea3dda480bf535281d645d96c75df06fbcc33c66c2b30961c0bfe6e3a8b1eb072080987f4ad47eeeebe797550 -KO = e4dc1913821ac30b5443dff925e988be166edbaaf3fadf8259f3a382519c5476b38b26f04a6eb60b79907b104d2b60065bf9041ea2e9858f19e63fe6b7d0c0375b156de2caedda34689a824f97b2f89ee727e355ba1abcc7cc6ad9329b2b7470529303333e7fed3fbbb616a6677e5b322823d6f9ac020b683b90fb551e492a3c - -COUNT=13 -L = 1024 -KI = 8aa214c713ce8421d16ee444b41d610db09f9c42e2d9122d3ee01213352837d78d80a13b5b2551dfc4a85b8be07ba38a32d726c853d812e596bd57e6d9ccdeff -FixedInputDataByteLen = 51 -FixedInputData = 8b5c397ae8e9a6b56e2c6c8a4c96d4ed84f5bc851adcec31fa00c5e92f7d564972a57503e8fccd12370c1fd69a09f5cd565a7f -KO = f55487fc621f0e3c23edbffb6682dbdd18833e1bc43788d1dbebec4814f1a5cdf2006a3c6aeccf4b892c05d31f9a813e60544ece62d35514f15e05884da50065deecbf89f9b4546c0be68a661d83ecb2fbfb6362a47b69435d8db5b2c92ec93a10250039136e1837d9b000feea19e95d79f90a82e3ac14a602dbd91189e459b4 - -COUNT=14 -L = 1024 -KI = df9bc502f0f5cd2752d4e7c266ea933a2f86a75635a16434b4f39bbb204c5df9abb3af880613d11670e87a4978a5764e6c998f561f567562f66dbe6ed36349a3 -FixedInputDataByteLen = 51 -FixedInputData = bb8af8cdf27bf0e2a4132c1b03246ec1c29339f642d8a237fa5d9220a78571f2f44fee46fb4dbbe0877a9165ae20d8c32df1a4 -KO = b82b04527858b7f7ec2c8115fc7e4346002803c580bab2f46a6522a914474ea3857545b570779ab93fe8f2f529fa4795a24c18e430514c1cb8ed154242ea0150dfc4c8d105c3392673ec824cfaa5e7e6b8ee41e1ccf583cb9b7425e60784576ad1ecdfc599aba07820fca3b0befb75bdacc2bb0ed3926e6c5748c9e4e3f96911 - -COUNT=15 -L = 1024 -KI = 6820d83dc5a1e718b77deb5e35defcc59e150670b02fde3c34e61e586d7bf6d77067d47eddd15520574057a1e9fbb2fb430f75cacfb94e2aabb5f87c5e255622 -FixedInputDataByteLen = 51 -FixedInputData = c7fa3687ed8c618bd94d18550fbf03b52a574e1f82c21c84e6e7999242d005ffd08ebab3193523105e51d9b0097485f6e11ddc -KO = 17bc391a16c7d655d64c4cf40708f2824f741b1dd696adfb0613dcdcb0ecfd78e915a40ba23b1c796f563b24c5f79399d3ab944aba2bb85e32bf126dbac05bf4420296cdd82bbea1a68a452422d68e817392574b80b86eb77d2b4df6377033fba84c713b34b2b180678558a3f775d93d56a9a21c129a88bb394c0cae62aa9cbc - -COUNT=16 -L = 1024 -KI = f6d832d92781a53293ae9bcb8b40f39b272402e53cabd5b7ad593b9f96316280cd930407f34160d46b6d6a44693c7db7223feb828c0c42f6b38ebf120ff1c589 -FixedInputDataByteLen = 51 -FixedInputData = 45434b5e50d8eb497aeae0dfe58f408dc0a1dfad039d10f9af3bfde618a384cb7193708f0d904e28c7807dd44626ccd1ab4e31 -KO = ad1fcfbcfd9275d13bf7432d2aed7b002b890bc8ec8c95a6e29b6d0fb27dda3cf07cfbff8f87bd166638acd8d4e624902c140b3a942d3c60e89c2e969b21d2864c4e645b148e99c3fa25123bd0d1b241ad02a65de9e79b5dbe26bfa566422521e87f4c24a33569f06551b79977aaa8c79d5c6bf36e00ef9dae8234bc60ee4c9f - -COUNT=17 -L = 1024 -KI = 781dafcd60286c50d8312590eac3701716386ce0e48dd071472f46618fba18d0a101e82e4a8ff0325d47e8961a99e5f91466972633008aaaace2fb8a474c9edc -FixedInputDataByteLen = 51 -FixedInputData = 246a308b5814c55a2e5582f3b2bd820a6ff4d44c57693d7a495b64519af2740ffeccb53e276b0370314638f04a78794b8aafeb -KO = 7de697a41812cf0fe3c162d911ecba9ab7e2439061c30481bb64b263a51a0f1106cde032eb3a33ef024de3e369bd9f2331078adbbb8be1bd3f524f72fba0e6ebf03c1d015190c20557852c767f9afb33f6dd784802c7fa684bfc5727d89c0fbc822c2cdb9d8e45e952d2a808cad05585f1bf323114e031e744d73c6577b75460 - -COUNT=18 -L = 1024 -KI = a4d796bca054f7490660c5bca53d25373bcbaf8e42e66ba707eed6228925901ff42868d8d5788dd07fb2c75a45b4130c2600fb47449243e7e2d4df9a10bcdd83 -FixedInputDataByteLen = 51 -FixedInputData = 77d0b85f07d14ceb7ae71fb293dc3e866defe88e1928185a1cc762296b6f31028b57ac9043d14557e7be885eff69acfc3f3642 -KO = a0af06e49e028e91b3ee14e52a83a47ef6fea2c177ae6d2c7067caf1c6cf85de7b6c51b5ce4fa9bc6568f59af66086a546c0731c42a020b5ad714fb90344965113034d206bc508fea245cc2c204d67e0b34fd3700900595dd61bdc8fd37174f9aefd497bb8873468bb5655a00ed4c564d0e31d7cf4b810b9be2683d0cb2e9bb6 - -COUNT=19 -L = 1024 -KI = e7fb8797e4de148ffed1b734a0b57d48caa5ba9a9012b6f09235f8b70665ea99c72dd988da2c6381276d2081745c35e1e7e7a2df15b89521f040fc37e116f9d7 -FixedInputDataByteLen = 51 -FixedInputData = 168aeddee66f120a74e95c451e5120a49a61a218dc75389cd803ad313296fe496428ee49b4fda484d661362656f7017f81142b -KO = ef4017cbff27007b97120724e55f8b8bbe712927de2493e5eeda823c4c97ced95296d6abfafafdb201eded29e2aa7c0a1268ab43c08454ccf6134412766d3b0ffebf4f3b67426a4fc60b76a8396405ad4aa65b8afc6dcdb33ad84d2e099aa9f9806613795ccb10be4e377677486a38df4832709d728ed53b49751ac9ade6036a - -COUNT=20 -L = 480 -KI = 4c090cb64177972f33464ac33b6d321ff15ccefa43c2d4f5076b6b2dbc3329b2efebcff56a46ea42448fd9f39efa6e788a1d4d8d17c46a3dafcd6b655ec8677c -FixedInputDataByteLen = 51 -FixedInputData = 3d8e36882b956529774206848c6d07d59cf1373c118f09b8f2bd791d85831c53cc6113e5223df8af9d85620fcc36439e2a815e -KO = 848b5c85ec0adb5f9930a70b9415434cb3e330fd8b1e36b260233d61f3e1cb44ce4ca3fa7ba479c2d0eb54d7a2343205cc35810d236b770fb75a47e2 - -COUNT=21 -L = 480 -KI = 2614926bb9c03b0aa574c685861630f02b9327ee77e85b7c33350eee8393821a5204a7d8ae3a814146127e4c8b3c711e7e50187a20e2321510f0311e80fc5117 -FixedInputDataByteLen = 51 -FixedInputData = 081c91c69bbae5840fdc8d03c255d5eaa27412bdb62275d9bd0235ffa44a6441b723a8f2a8bf6a24a285f3c60bee257007716b -KO = 5b17f355de205ce31c79d55c9fa162abf1b8e0dd5b8dd61e6011a02b1020bb48ad9c76caf91068287c8ce2c3f8d7a0c8abfa927f093e7b4d478ac19f - -COUNT=22 -L = 480 -KI = c5b1a5e19a701394caaacee7b9abb4b237ab1dfb169f2b8ca082f413ed14eddd00f1649be7ebf577eb0388b85538e6779047121402d17035269b19b65d45f7ca -FixedInputDataByteLen = 51 -FixedInputData = c9b362df06ad9972d01855e1af60458095fc15576329ebeca34ce633b98eaaa69b150e67a2644820296fd0469c6e07a8d59225 -KO = 7c85fb801ba50032e366eca1cd1cddc7c9e0e2afa12324258301260396d07b2d0f61a2312ee69cb0c2fb4385d9b86a14559d95913c4eb53c5b22ce7c - -COUNT=23 -L = 480 -KI = 15a14db23ef0d6c5f3825680e215adde16968446ed137bf562eaa42f6d6aa47ce037726354d8abee59048cbafa1ca1744c3d4999fd0d285cdfce57c51fb49e81 -FixedInputDataByteLen = 51 -FixedInputData = 8094f53a01db3011ad3f1d166f074be07426fea6c1812f7aa3db7dfacd56f18332ce00637d66020bfcd5dbf44210fe81a2458e -KO = 606cc391405e503d471a3caae01fa9cda113df3aa8dfef3b71c206ebafe14b4b0f09a282bedcb6e9921c69421af51af43554787574d62d0ed67fc201 - -COUNT=24 -L = 480 -KI = 890cc5f2a950f62cce31a7de2ca07469e8ca444b28c2bb14fc970a4f9bbbc438ad729da7d6f483d129243e7cacae7ef8e346f26acad868f0a30678c45177dafb -FixedInputDataByteLen = 51 -FixedInputData = fcdf8f5d3a091b953e9c43a0c75815172425deb590980f551f2973a14051bf5ef1a4ed634ba9d75971707dedd129ba4241db4c -KO = fe4829552e1e5ac3a7f01cf135fb2f8db2ff1725edf99256cceb5cc169df8ad6d0fbbf5d8a2cb89067750a15d326103a1df623371a11651e466f4f09 - -COUNT=25 -L = 480 -KI = 446211a11ac20f788d89b70813bd5d3d1caae7068dda3f7cb0f2d739509c998c1bd963ae22180113dad2174300dfcc1bdf0e741122f2ff12b8162e037ba6f76d -FixedInputDataByteLen = 51 -FixedInputData = 3ce873b6fe972cc72bc3b8c24a7d61150d95f04f038bfa96cbe2a2fb771cca7a17076305cf2bb928af8302f23de62a4eb86bdc -KO = 359c21b12d0b85204369f9b9a0d4413da783cfd8e95926d63e24ab91021fc2f563aee5f4eb5728337413833975505e1cc192d4e4c7d9f735c0ead5a3 - -COUNT=26 -L = 480 -KI = dcb6dc2ef9d517334f90c9a2f99d306325bd7396d67570e6b9d3ca9d516073e98578fc0bf392a2e35c998ee66c685ca3d689357b9ffa23acfeb9374898b75f6d -FixedInputDataByteLen = 51 -FixedInputData = fed4ac8ad3fc819007cf613e6c5fa5e41d3f04cf347ccb91d93ec516f949912700e7680379a2cf1e3659167f4a853d2cddb451 -KO = bf7e25ddc80f73f3883d74133184cfb82a19f324a5d1a29587b45f4b8a9dcd9ae85130176ff4c336d0097b56abfb77228f7c9beac5816771279b485e - -COUNT=27 -L = 480 -KI = ae12a86899acba36e6bddc146791fae760af5402debd8cce83954dca0f0cba065bf5236b1c5216cf6ca941611d506e189cfb6b328631b6c2d0a168d79d0438d8 -FixedInputDataByteLen = 51 -FixedInputData = 872336c3d767868b3f0c1506044f152ff652d778baa07394e50e86033837fa7375be5d413937ed84a12057f4590da98a1beb8f -KO = 93239dd6d73c076848420c805a66bc41e2e1fb4a238d2942b7b9a1f49e43875364a022eeaf2e5bb7dbe6922eaa71d97046072ffa4f6551bc225f7e8a - -COUNT=28 -L = 480 -KI = 8645dcc9dac42755628e50b8cba414b86e8b003087a50835e781b4a51604bd51a05e9a74a2585ed8e84d625da5120c2b5cb48cb4cad65421e4a9ea9dd1c13055 -FixedInputDataByteLen = 51 -FixedInputData = efeb8e6b24ffd38d5a9d15f0ef2b0cb4581315f5413e3b4c72c2ce9cad02b2d33c4bf3d95e8ac50ddcf68c2082acbe10c3a875 -KO = 9c3843ee4a6a598bbbd69fbd01aecde258b061ab0fd42ccf03aa2a16d09a24b628264c46bbdabfa251b709f4e83c38f53792c97638e95de682a4068f - -COUNT=29 -L = 480 -KI = a9da4d682743c52666f936d667395217f4e9f25b727357c2c7eee433897a7d2322610c7132465d05ed736323b268889f540f0e6d42bba1bcc99429cf3b59289a -FixedInputDataByteLen = 51 -FixedInputData = f889f5689edab0418684e6a2f3f8b94334b427caa80bb540c16cd5e8bee95e8de235096bea3a73942b3128db9ea19debdf4cc8 -KO = 1843d70e1572ae5bb211edc8971384c5042672de6fe9e99864604dd80064c312b4af7890f34481d0ed6665504e29584ab35c95d312b51715f1b8869b - -COUNT=30 -L = 1040 -KI = 1928fa68e844382122b0c36f1cdb461e31016b68f116a8684e1d65f2b669a599a831a9cfb2d3cb5ae8e6300bc646db82e16f4f085e8f2c84c18866751ec8a3c8 -FixedInputDataByteLen = 51 -FixedInputData = d9ccc76450a017040c5ad881320bde76761bae5f26971ac67d8af32267384dedfe11062be39ddf0d87bd5bb3a14ca36a98bd6e -KO = df130047ebb9bd2784838b209a8701ac97bdc7644d39f227c11977f26c82ae4b013b178f857866d6bcc0c2dc1982fcf8acb26374ed42c17fae776e22977c26996ad7bd5ade7a583d79cb3b6cc04416715a8e3acc675e85be63fbaa56f7f8c0e7c4b922a2229b5a7c06b98e510def67bd7216761d8e2ac0b0db3b5e47bdea00694976 - -COUNT=31 -L = 1040 -KI = e8025cfb0e6a49c9eaa3f2bcee38c7b3c7586584e069ca0cbb8affdd3077e5839ed9614f949cd838f8862cf666768b3d220bdd4361237222d6fce0cdddb52d99 -FixedInputDataByteLen = 51 -FixedInputData = 1ce2854e7fb3ac8cc1abab4f33db7f9cb8e771cb8c14b1c6de8c6d4893694ecb1a0257f3304304b5922d825104c02e7bc12b8f -KO = 9832faf764d7c766cc4f78a9abe8f987b9827b699fc1256fdbdf8300d9f0b4afc265ce7d607d22129ba7ce30caf81f70eb5854bba5b453e1b72962c0d27755a6e3fdf66552f5ba90c60bb483202b6bc77e3be61688738e5f089667232aba54134af3947e0f24d22a7e7087891e1ac2d898271cc54dc3621bede386f3a98ef0cb3cd9 - -COUNT=32 -L = 1040 -KI = 9064bb99f5fae94758a41edc566881d8fa7d84f9adbe7ef0f058cdb24c00105f3310d7378a97f6d91ec80047bb470aeab3a4c1b2e5ffd2c22442f84892c7dd4c -FixedInputDataByteLen = 51 -FixedInputData = eac2a59ce6ccef6d959f04946509deba1bd7be466001acb71ea8894fcecbe695624ed80ed9ca2ec5e67f01a14298114a2b6f0c -KO = e5e7f2844f69d750301b78f98536a80e0bb6548c3bcdaee6923334cc1d64e4263591c1be66a22c14031585d674ad91678cfbc48782bfb047af7e9e206c95303f9eb50ff0d98909d4e736c4c318bcd21ea3ea3127476077dc779b25eda3dfbb770c6c178790843b184288164502f745d3292265716287022654bbcc2d75effb853809 - -COUNT=33 -L = 1040 -KI = 9b9e9076f40fbc8d5d88483d6484aef7a6f46a01b46f5642006e3e69172c05a9c5c0bfe03b8c74c3ec1f11aba462766c43082df1fe022ea2b76263aec6bbcde0 -FixedInputDataByteLen = 51 -FixedInputData = c44fa00e1b21ad6801e65e5de5d5173666bf40d2448bddcb82e8698afdb8cd2af1a5e2ef1f5aadf2a01fe507203bcfb9564712 -KO = 4143c9bbd838bd46b9a4cc0bc60969eef47377bc92605d0cbb7cd08d94d1ccdca81155c08613063396aaf9fd69d13fb18f4e22dcde85e5a7981a5588704c5ef6a31dab633a6bb3ecebb8d06b1faecda4d15e317d803829948dc5e986c0cf7c8c8da4983d21c2cfb23e4b93e769ecd5da7e7a4f8030d5a956b3cfabd9b68bc1f3bc71 - -COUNT=34 -L = 1040 -KI = 37b91ff22fa8dc3ddfe7642eab5d7012bab562f9987cfe7d520985d4a79d958a9de69ee8a1556a77d4dba396931129ba955eb0c82ecc7c102fa4464ec75c0f3e -FixedInputDataByteLen = 51 -FixedInputData = e089b1184f73d27707ccd974410131b15aa728769e5021dae4999c12e4f6b6c60efa75849dad554db7b2df1bc9342533124d37 -KO = 06b67f72660f6aa3af3afd0cd2b289c960ec34be2bddbaf0382ed08419d820fc4a504fa211180a931d2f2ad27c4242738e57791d61d8a03e5bb9d19a272b7bea308d2e3a16a2ccadc5d300372b4a827fdb8b61aeffbf19b8a65b4955b4db0470faefc49c4849a87423d6849680a6d780b1a7ceec18e25bfbc038de2ee4899261a757 - -COUNT=35 -L = 1040 -KI = 4c9ab93535283e55a7374836f06dc80756924258cc59f87fc57966f6b209d95b96191d652c2861176c48a762b88a1e69e44c0d371d3027a2383c00e99352a3df -FixedInputDataByteLen = 51 -FixedInputData = 6e5fd82507ce4725cacc776e2d502a2e974d014c25db5bc81dc864ed53cd3082b0c543f113e4cbf92b3d36fcf246c0d048ec3c -KO = d6535ec49b5387387fa9a9702c733053ed27a912dd71a706704fe849c27877773cf2f063ef3c79726ba153cd5f1bc30bc7e277685a08093aef20271ba1944d1d6227c4c8538b5c71aca7d1cfe3cc22bc76061878fdf611071e837fcabfcc1e2e2925f6c035dc6ad7375752e5c533384024aa30e7345bbfff49296b9d621562a036cc - -COUNT=36 -L = 1040 -KI = f98a919ba5897abddd2da92f3cb6cc759c3f257cb18c6388d0e940e33d87b19f4e21995f3d1415bd4da4ca6a2fea2b6434a1fbb26769e10890d2f89685e7e4f9 -FixedInputDataByteLen = 51 -FixedInputData = 16b3cd32e56d0c789b675e2cf9df748e8a13f6ec4077d7829cf23a39dc6751e3bf6541d2580e131e1b8fff49d05f5988e9bc65 -KO = 387ad377fa5f0221b2470537abab6014f6a283d9d68951bdb04eb08b14eef022d62517ca9418ebd2876d975731ba72ead2bb1edb333e6e0698cbb09e6036321ce6c27ec94bab3e2ffe459270c6c95449af89c1e98b11ac430419d4c818c6d5a2aa79f9ce055e075f2f96a0553df4d26af7eac64d23017b835c6c868ea383891125d5 - -COUNT=37 -L = 1040 -KI = 92e99479864c2e637b9a3ff304ee3ce6e93ab9d1051711a2871591c60b80e6689a01a521cdcc1cc3a68e17c2ab39728c32607ad224b6d863451ba31867c32b2d -FixedInputDataByteLen = 51 -FixedInputData = 9184302c903c336be0473dc00a4ece91d7b23e8e4c52f8628bdb1a1bd0b8dfd7d0fa1dd2ce3cbdea3806802297d1345e745118 -KO = 9ac7d88429970752792d217cb6cc0a67c805c18289ad71e818f5a916a7880635652e9a116e46939e1521608638333245654e3b2615704d11d3d71b7d9eeaba85809558554fc6710534e26634e8990500a6f859e229a259193bfb312f545583258d963c0c77beaa47652da1fba7bca1dc4a69156e45bb56218e4a50ca76aca0dde36a - -COUNT=38 -L = 1040 -KI = 5fb82e69b8aab7f076f004c1f398044706c898a29772fdc8b9b8f2899f868cf0242f1042eb7e9cab8cca8466c141b1d7e55e7de2df31ffecd0d40fd36e7d0233 -FixedInputDataByteLen = 51 -FixedInputData = 079edf1a8f0f888241ae8cf6f3bdc1973a60f7cc243de2243987cf3e7efa89938160b89546194ee5ca3eaa4c99249dcc0d2792 -KO = 0f0aefd07622e840daa64bb14126e334660bc84c350d974ecead7d3abc5607f161cf6de39abef52040f1d3f86f5657f93fcf534437fd3189046627752a23995492f645441edb817d5caf5d11dca21c9086df360d46e2dd2f01cd33040d9b9457cf9a16839270ea49b73c354edda7c07476b5af940c26dcd2720d2a3c41ac27154221 - -COUNT=39 -L = 1040 -KI = 3575f4983c01fdff6445ccfa009e9e3664938aca79ad1fd03011c8ef0bcc2695870970b61ddcee13dc9f69dde88086c53b8f8f1c392643f2c0b7ba1898811409 -FixedInputDataByteLen = 51 -FixedInputData = f6cfe07a8f3d102f3ae4cd333beb84dd8ae60169294f17eb941dec211eba61d8c4e1d65f1a87f91c0c58eac3921a13e3837077 -KO = 7e2cb2ca9176410950c9bed9d95be3ecef241c8f0ead04ff89178af1e21360d7b73abb99f3a096d238b9bc0f2e898a37d4df5d2b83e7c677e9ce2264a522abaa04c082ca461a8e7ca8949ca13f1748f355a4605146320cd7e184fa8270d315d0e83933e3eebb94e02c658e5ed5538e4ba9b82c3262d96349bcc70a26517fd53e373b - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackCounter_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackCounter_gen.rsp deleted file mode 100644 index 424367255..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackCounter_gen.rsp +++ /dev/null @@ -1,43688 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "Feedbackwzeroiv" -# KDF Mode Supported: Feedback Mode -# Location of counter tested: (Before Iteration Variable Data) (After Iteration Variable Data) (After Fixed Input Data) -# Length(s) of binary representation of counter i (r) tested: 8 16 24 32 -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 16:15:22 2012 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 20bbbe36e9c83c51844cd31e9c209431 -IVlen = 128 -IV = 28f28a532c3be385d72ec5321367f8b6 -FixedInputDataByteLen = 51 -FixedInputData = eb507aff69f77eab6aba042034a5cb1990d77a7cd72a4984f3fb242fb44ce0fb949e99d95d81e57109b7d5cd3746a3216c47a3 -KO = 277a473d3f514af3f760a2383343c0eb799f79a9c8f1f31db37e1104786d3ba20c9fb2a42d2997ccab7f79a5c19f094706d32e09bce4f77aed6162af08d89d1d - -COUNT=1 -L = 512 -KI = 7f7ba073670fea46d81d67000e8d7b9d -IVlen = 128 -IV = 6610df53baf48f178592416d2cf38163 -FixedInputDataByteLen = 51 -FixedInputData = d70bf5295cf1c491f2b1535cb6b84aa2c712198b81b312bbed8604b5756669ff9d39ef18be0316681251dec927ee2fcc00a019 -KO = e517d696730c06ef1065b1f5f4b49f282f15c66dbcc961253f07368563b0dec1bd04f7b2c9f211dd161787b16798cfb6ccf3fb06787a26c31ca45cb190fff8a5 - -COUNT=2 -L = 512 -KI = 52bcb5db894e791d2e14c285771d7c96 -IVlen = 128 -IV = 4f81a003907c0afe773054491ac315e4 -FixedInputDataByteLen = 51 -FixedInputData = 8c719d8b5e6959e239a1eec2d481287dee32712983320163192453561bdfce91555b314439d5b07d066fd963dd09c693288481 -KO = 612217adee2b56e5b22b74fe08909de1c4a064c6b61721ecb80b12d8bb41cab45eba52bb42c79a728dee88cf32daa31f433ac74e35f7e70bd8089d4a63c93af6 - -COUNT=3 -L = 512 -KI = 40d4371b9ba88bab6be6d1d48a28b134 -IVlen = 128 -IV = accc0473b9bb91145b25b4a2c3a2bb65 -FixedInputDataByteLen = 51 -FixedInputData = 8c7728044880f605d5c6e0e2a71bffc6e9c8e357f381d6d2cc02f517931f2e01a3bf1507d0ebf571f178bec9e1a043cee8b0c2 -KO = baf82133186ca8a8edf32ba0d70d06b1c9cfc8b86e44455e66fbb478d6ccebcc5b87a4037b58a78e930a66a8d4647b8aac3f14313980f00fe6664b9e28a6e0b7 - -COUNT=4 -L = 512 -KI = 6bbddab8d9f12423cffd5de31d1d0378 -IVlen = 128 -IV = ddac8207fc7bc9ebdb30ea6ac69af64a -FixedInputDataByteLen = 51 -FixedInputData = a42a548138f886566b11efc1a6980fdf9b8847f36bd63aa1270c70d71be03ad1ccdcf237007157420c022a77b66a3aad18b017 -KO = 33e964982d663f7cfac7c22b2129cf1f93cc7cac3b0a5f3477eda619136cbaea1b614b76a6e9728a78bbe8f542028be6fc9ea62eb2a5657691c6951ecfb971cc - -COUNT=5 -L = 512 -KI = 36db18b4d4b6ebbebd49b942f25de3e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d15a36e4837e3aae2d043353a112ee8521d36f9be36caccde0b94d8f3e484173d49f7cfdc55225299bb938693dfc57825ab83 -KO = fd354ad083a39d981facc7293c504399b0d233196e7149ad1f3b626dadc1df2cc6bda8e9f75dda2f147503ebc332e2cea0daeef1163500ff6cb4d2cd714de73d - -COUNT=6 -L = 512 -KI = 08f480254df5a4fcc55d4c45f31af645 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 283e64a8803fec7f6548a487209136332c58f99b39ed3dc3b631e249dacff9e3cbbfbc6ccd531ead79c1d627102ded8ece2cfb -KO = a9def6b43ead3c0f9d9ca8b493d40bc09e3d14caa3b2818fa631213d8082e816b0455055262e860541acc2a3a9c852935914f07d659316f33647cc9d3953f256 - -COUNT=7 -L = 512 -KI = 2e2638445be64f2587470ab059378b3e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 13ae48a0e769e80691d9a4e847af22c2363969916e9ddc751f83a0edb629ba5d3123032f7c0c905efe0320e92bab2bad4a2c46 -KO = b3417b659639a3a8c1b7a41e242a34d03068713830de1e4cc0ed5bd9f2b67bdca9927a84edb5f677a10f0e2ac1163a35c521a8167c9df57ea4569887ddbda99c - -COUNT=8 -L = 512 -KI = ee359666f78f22c293808c6211669f88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 778008d64fcba6e2c5a66e9d239b79f8154c2bc44efcf77b54e5ecca9929a2efed6e138aa3842a7b03df7385eca460b92163df -KO = e337a1d48c6f461059cadbc6b73ea56d6c84a0ce4d7015d5809d604a9db9188b0da2a6b6acd53b0e1761ad0b1cb50537c693029ed955d4a9dcf7e637223e8069 - -COUNT=9 -L = 512 -KI = 7443d36a2286d70ebd9b76501199ed4a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c1f34cb7c69aaf8487f04a923455f557ad707a3146357fcb0145a3db5b9a6bb03033effd2886286dd7d098e3c2663529d841ae -KO = cb89a1c8e711590b9ee98b429170827c07369078154ee9bff624bea9d844c252fd6dc428908dcb70c760de6a36ba62e038017b9f78e06d24ddc3deba4fa8a20f - -COUNT=10 -L = 2048 -KI = 33ce2fe5cdc7bea4914dd380cb7764ac -IVlen = 128 -IV = 93a4f0d73f6f2f935f504029a5656b39 -FixedInputDataByteLen = 51 -FixedInputData = 3c93d248b94f34f8fc768d823c4a9aa49d5037c25b23a618f9dc00d14a4ecdf8152eeca174de28fd76678fcb96b794528ecde6 -KO = fbbbc18cf99ed4af551c9b110aef84a783916848347818d2f77a6ac1ead86184f51accc76030078790c0f1b8b36a7ebf98109026e1025e397fb72cf8126e84ef6ff42e25c5000f1458d028d973109ab1247e8b961b732585f695c5987544a55af6569559d4c5986c3e741b6e71f89b9fef1cce53b45023eb20c9b0b91d9bac7ededb9af0c08ff9a8f14ff1445920e1da689b2181c61373900151190b88ac8a3a7df1196d4ba921f1377a588972d49b106954e9c28b7ecbe629bcfb72da4b5e644dc1d71b531d999fcdece05e98e1f7c1899049c729bf328412382d7587e36b45793458ce5d103dd7419d6199a74a8fd650533d5b65250371d32f4164e9bd87bb - -COUNT=11 -L = 2048 -KI = c5b1d6e64f2cbb7e002d5ac2e218a0cb -IVlen = 128 -IV = f7819432d64493de90c7a25174c458d1 -FixedInputDataByteLen = 51 -FixedInputData = fce8203c24be4d496c36896f3404ebc29b770874da98477b601bc58627b45de43c619ca549e3a601266c2f025f48d8bab81df4 -KO = ae7c080b79aaf8e13a6cb271fa6c92e1fd1d453a70938371114e7790b1f59f2b27a7c8b546ad67ced67984ae6d3317f9c92eefd186ea15cc92189e2a428db0c0cd1b651095f119f4c1502d58d63392e02c63c41db127fa80989ebe15229ede986fe9c1f083f39520249f6a6141c8c4c48c7d4285ad571e6a4941291b3b5a1e6176badef36a395536fd90f2c82e5104a15b1fdf7a5e6448d7af8f63c8b6f37de4844c4fca8084868c2a106e8793b080d1a72f95d9bca2d72a21448cbd070147e9e6177d00a3cb00fcd9a4133109ec449a130eb90f6fd6f59a618894e0ee429080820b2e0791e8d0a607ed763f2db03a10f2e86632b4c42ab947e46df7c0287f99 - -COUNT=12 -L = 2048 -KI = a79d622afbd1963a2028f28926f34d30 -IVlen = 128 -IV = 002e8c3da4a7a97a0450afc13975d501 -FixedInputDataByteLen = 51 -FixedInputData = 88dd30f2e81d5c65982608dd523c72d40a7a1096ba4302db80a27d9f8ea09296859f0d2113a1a68c814edc16c5fe3a18e8089e -KO = 9800b4a86a626d30b89a5bbff64a9f7198c086cb877766b8691234cc0b571e4dd4afe44c055d13e0febf5abc3c7933f187a011d1907386772330aededa0ba2cf4ee2f90badc96a2962d0a7de0a67a59ca9faebe0b515fba88229df2459f433620e7a57f2650c30d4ea6698e8474b76480affb2600e3ed555b25e955738340166dd6ee450ef5506e4d21cd4c8d6fbdf42f3c9562074ee59ab655a4849e0236672d0d179d3b3f4f7d76d5ee98c10958b1147c4277f62ac39ad00f0112e5e7aaf23a0f4d85a4002c00a4a7852ffa0fc92e9b9af8b176a22cf20647d1d707dfb5c335f229c3566e2c3371f0067088a3d3a4dd8b0f6b785ee028db3953ffb3b951644 - -COUNT=13 -L = 2048 -KI = 9381c4e36eca44b26c30ef7773a962e5 -IVlen = 128 -IV = f08ec1c6df965adab28b1fb2dbd4097b -FixedInputDataByteLen = 51 -FixedInputData = efebb57fdb0faefacb51185f62f893fd39648e574830058ed444f586bf9cfa0264aa4b86a45628b53f9c7ba6a2e4ff447e458f -KO = 8a95618502d959e4fae42f04302e2fea578e679d45ae26200fe3957309838c50892330a4b552db41ffd2f0f32afa8327134a6285b354d484e231253ef77a75b5cca9397f5531055cda3226dac222749ad77daa4d9fa8c5299d897ef5af71eb0aac3ceba1e368e687ba1be470c14968eeed97a95d23f29afa561b00e4b161dc15ba189bf706226efc92f5ef2f829a48335443b3bc4423697459d49c3dff40150b41e6fd2217d8575c5ffbdd655b7d237f532417c8837979065091b5aec2f5e597982eaed1625918237ed9346d29bcc7b0ebcddb0494b5e1541820b98858bc89bd838d8b01a8fb1fd297fd4eecb9f3cca3c2c9234279573f435aa437c14146c03f - -COUNT=14 -L = 2048 -KI = 41254c00afae0ab2e3af76a1e5abcc94 -IVlen = 128 -IV = 736c1d0a552f627c97cb24d1d1f96163 -FixedInputDataByteLen = 51 -FixedInputData = 43ced8855698261c09462ea73099ff53b8a9fab7b340092fac9843680ab3966a22419562276d68377807822007747dee00d48e -KO = c7302375cf930d585638c4c7f3bae13e4923884e73fc834791e0ef89b4725eaac53c0c2453d0433f95f6c911690221888ac70ccdd5cff9cd0930df79ecde9db08d5f9c2809f9fe69280203dbda5558a2129dcc0f67ca337a5f277a7b7fd7e2fe826fbb99ff3292d220e6d66349371863c1f9135f8b08be800ea6bc58c14603d1bd30ffc5225d81b2d393ee3278816245bee467fe231715d12d2c57db78d68182b681e1043f639b50d06979596b812dc820d7b59bfcd614f8e30ded47a5e93a638b43c1340a5598905318930cfff6c261fa46f82dd3c147bc3d6b5a0fa3f2d1df1d1507a17e52f553c0e35458247a8fd58fe797ec59f64ef954c774fdd0ac9d16 - -COUNT=15 -L = 2048 -KI = 4d7c716452d65ac31899b6d9c92f7223 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 69c7bfdc7558ed060699de726bc00fed835dc5e29cec1a115ecb884c3db2e5f910c9ec6fc7710ce44a857894adac785f9e05e1 -KO = 08e795dff6ea0495b3131429e8083d868f5e76372ba04d7e616ed4afed62ced6d94a5ce4528fdd8aa2c714a9f8877815589b0ff1456c28296e8fce58a20998e149bd52733a29f2054993b34bd6f890bfd09c9e4739748c848ad0940e210819881567823ea88e49e21940b6521258be89cd7d81b9c42055577f541b8cf6dd427c656fe13a5c1d52579ccb42c513e1432a9ebffc71a4cefbc8e3353a55839b3a428d3d1af704a2efc632d63af8d14b35072f1e866833d9b9be1eaf39798fbdb6a5f24d3f2f8b08c5ffc7fe9e58acac01decce9f3ae0e15f148a665a00f5ff0fb62e4f4c520a4564ca9e61cb6d309895e02d110e70b86ae2e2fc73cb88c49a75704 - -COUNT=16 -L = 2048 -KI = 3144a45b1167232b494f05e8f47e0b74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97d0945d980f38bd144cc8e9d6785a1350603e60b398f831ac6f87357b18306344b32c318d6c9a6d45a13c9b63119c1469df29 -KO = 4000a20fc747839eb90488475aa768b18dcb9e84349cb28d65bb0c31a45e6b43e70597b2e4a999f5806260cc3218609594aebe780f9cc11d58c00b6288cf5dd3efc3e1ce971356a7d0308607d16956d0278de496397a100064f373d46920b0931755b35a4bb49f40698ad5d2862c86eafd5047de2a6ce782752282742610bef50d59144f0257b02efed04e95dd25b8faf4ba03546fdb4b6ebd496a826940fd9c560b2cc1af688d673cf69b6cc96c6a92c69b94404b8b34c370db4ea8eea9673d6d21fc96611a2a96be9ecff70be20496b19f33feeb322f8ceb724260353b54e028033114b7212314cbcd30856355d01b894d3e0501eaf7fdeafb7ecb7f9744be - -COUNT=17 -L = 2048 -KI = 6ef2133d67847456c41c8fb42b157865 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c1594a88e61d0f93e9e8a4aa14d0b3c20de94f0261009635e7207bb88ed47079ee46a51f85870097bdfb5efe4b23138e1d886 -KO = ea464987d5a9198ef2b2b1c95b93fcebb844aceeb3c5d96dd8a628add4283e3d7c817f6fa4b042d759039a7408b9dbdaea7d9faa10df8bfecdff73c19a8ec55b666f3f63844267178e4fdd969c51a943866d7af6831983d465066d62b79caa821231c1e1ee7256dc724daf3ca6966fa9c015dfa98d4cbe6be511721301e07c0921a490875279c12cfbe89e0d72bc9fbe30e5b0e425db71c4836f8a53c08b5ce10b9bdb73f77b561c043459faf245d734246ef392d8b736a347b5d0f269bf38159aaa44d2de54d6298f1bb6f7321a393b7d76c727dea0c4e703824f042d21928b87e7e1c31f248807eb328c74e135942cf2fff92e1fdfec18b6ceffcc552a0b46 - -COUNT=18 -L = 2048 -KI = 2f4ff0b5b44bd01e4c4df78166a8e1e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 90c69d137272c4d838d30ce2f2e124b41d19f5a3272ea3df2ac5622b8298cc38b62b1e4c58a9ddb61b54071d7d736302a94642 -KO = 63511866575c44a19b3f1052172e206c38ee7a48f7bfacf42185127e70c2fb7bf4064d1a023b48dad1bbf28f646c30c770c0c63322dd6ff0e8699d725510d31d4a8490459aec25d5ef6a077093cc152606e2f9138ee9f64af74a5c880bf326c4875753e93e0708e7c107b7d0a3a3c97c40469d60dd48ec7b738f5f001ac84f5245944872e8235eee92650c36902451530c6dfd33de6a887f0dc536c9a8210b57c151d39e19832c9de111deb427f577203c637656b11c5acb6a051cb4ceb73517543d060168b09a7c41d2a412941174dd152c4bef6908746ea510c658cf59b2f5f86bd9bec9da472dc605e29cdbeeeaca41ba853dcec81c1276753e680f459484 - -COUNT=19 -L = 2048 -KI = 950fdf77b10a4eb9c8693610988bb53f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 453c2cf636ff2171b417049babb9a8b6e24cff3c03dc21224fa5606e22f7e5021c1cb39a652c840a0f401c07db789f69967ae8 -KO = 1ab81fb53593c3eef9f2378e759bcfa9883b0d235915078b6b0e8a32a7815944de1ae51bb95c2383003e4cf86441d8d06623a76fbf70528e8e9ad85d2f73f763f7c1fafe1d35f9d18e8f64be7611ab83161b51895c35c0a48680576b126fbf386e46bcee303c999fade4ce3a37908b3b572dbecfdce4ac4f7389a518e7830a3936a0056b8e7b629260ba70d83a1a643be314171c168afd91482aad3c560eb706719e9b5263063859ed817260ff69b84fd8572587263aa13dffdb02df10623453fa074016e870dcc1f06440f22452b9b76d886add36a6045074e42c3d707d224c329939fdef9cc86f0df1b9607b741be0fca95095fd89e2f9581000454784da89 - -COUNT=20 -L = 560 -KI = 2c3542d4df30eec2a06acea44245d7ed -IVlen = 128 -IV = ed27eb6db838246fdff25ccbe7236d78 -FixedInputDataByteLen = 51 -FixedInputData = 2abaebc3581a22d6374e73678d2703783ebc1efed20b021a9f90188b15c71706ca36bfe3256019a926202df252dd1c93403a31 -KO = 524c3607044e18c33ab9af621a718e1e793c5a5cbe4bc887d6b72d09ec47f1351d7fdd6837971c0e76308eb867f12c32fcecef05bf6f9ae8375c3299930dc27d60513a80b035 - -COUNT=21 -L = 560 -KI = 02051fcfdfe6a14dee75838594a4f00a -IVlen = 128 -IV = 8be29de2242537529dfe9366dc53e23f -FixedInputDataByteLen = 51 -FixedInputData = dd76f8e8792311d5f1df2690df51a1977410699e2377ba12aa980427ca779aedaee673827d4a0d9bbe7d95574dd7a8c218eeda -KO = 2d7af4b6fdadef8be856cd788abd442015358527ad601fce6c70e54f4ab253b13f4ec78201e706b3a9e03459675d222b5225a2a402a61c29b1537ed93931952658860e2f7387 - -COUNT=22 -L = 560 -KI = 2f55694f135b510026883de45027d5a7 -IVlen = 128 -IV = 05ea7ae8fcce8b7aaebb5a3b8b3577d7 -FixedInputDataByteLen = 51 -FixedInputData = 8de55707582e3f267eb9c39e434ee6a769edecf30f07b11d2278ae9f4ec9ba0f782e4ad83e8b9721f8a83fa44e991823f0ea22 -KO = db0b748a69d0eb823521c2a1b21ee1ba1b6caf37f46d12b510ab37a6f090495ba55e024d86d6d1424270d68b2520ae58d7a4fd48927379e097fb72fde67f061d5528cac817a8 - -COUNT=23 -L = 560 -KI = 21e68346c4a1a668fa4948c1e7155c01 -IVlen = 128 -IV = ceac8e8f2ac29f8a7b1cb9130115b893 -FixedInputDataByteLen = 51 -FixedInputData = 4310fbc557fc9e2dab72740355951d80db8c9821fb460326d445a0c3eba7c24db43a07bb205a3c46583a1baa23ff008f60f5ff -KO = c5f78dcfbf353f71efa967d0d67029236302a5b7611f2ba92562347998e2cc78b3b3a6e1fc01a860abfac9e5bfdab2f8cee380dc575e54fa91c1533d98bc56e77224b5caff32 - -COUNT=24 -L = 560 -KI = 54e481904000f25f01fa83742c2200b0 -IVlen = 128 -IV = 05cbf45eac47012c238e1476f255c86e -FixedInputDataByteLen = 51 -FixedInputData = fb39c2275f3ca58466f3df498ae6539a9738460f2687120ba8d9ba4b7f75507bcd68eaa40004d8c4aa0afaaba0632d7047a3c8 -KO = 4183fbc8139ccd6555d445a89804fd0ea2fe7fc4797a359b5f43a098f3683fb60ab9f4aac649405adae205d1f6d821d05e6323c21b6d845f407ce903ff4af599a2b4cc4886d3 - -COUNT=25 -L = 560 -KI = 03d35f2bb227b9e9d0b0a15abab30941 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4cabb856eb37fb483fe0d834823db9161eae627299bfdad957c54c289236a33b042ea235946a7b60c17432c6b27dca57641e1c -KO = 83e8aa96c7090ea64a879f30a979e262e12e83b2c2e91862b8e62595dbc0b5d98096ce360daedf18511dcacf9937a188dc7fde957a153ecaf6a46b5db2fdcb905f0eea7a3ffd - -COUNT=26 -L = 560 -KI = 87d4960ecdb38d040790b306c52499eb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e376a6f5e0668e73fb5391dcffd0ea60fc41fbd0f87ef7ed398d02748468e3c77262a4c191a60389d5e3551cdd26682a5e6488 -KO = 9ed42aab7b47e03413d0c390f0c7bf00444818c925183076b4523348117744fee513f71d08f6359fa6ac36ed04a6348185b098ffe4842ad78551cf5e7478cbe934ddd2a33d33 - -COUNT=27 -L = 560 -KI = 51ea58be45fe2bbef001d807f1086788 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e88d5173252cc178a829dd4adc981a262b09a255db695f43788228572a1baba575edd8ef4bebfd600f5d9728c237d209f724a -KO = f7f2040987175c50e3bf42f062b8c6063d5297b18330051207cc8ffd675c403558dc3f1c8219e2cfb26a958fdc23d376ba7ebca120e6fc30a5ff0ae3633820558de6bd33da83 - -COUNT=28 -L = 560 -KI = 7e5293133011244192de7d9d93cac84e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d63daf5bd6a4d19b9c984b242443f47ab54755883a76c4c6f68aa5dadd357040e11ab68faa29431bc1060dd67d5dc3bcee384 -KO = f6ecebc413ad943ccab411d7957bb8433f5a1f40faaf089a8501827acec8c8123fe044e7816f9d7adab32fa51849ef11344f4ff8545006a537d794a1311cc8b46f418dbc6315 - -COUNT=29 -L = 560 -KI = 191005cc45afe53fde24de3f458c566d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0353193e332e4d2e5f19cfc2c5b0c696706b22c9a6021dc89f962908c94f80958115be1a94dac940b650e63f0438464b454f3f -KO = 91d990fe145b91b08056831875974f5ed1e6c998b3b0ce51c917076acf4a23f9cbf440aa269b6fb908616cb5f5f01ba0d2aed09e3b254d27c90533eb756d57bbf26b0aa05c4a - -COUNT=30 -L = 2400 -KI = 4167fac05d2767ac0f9089a307dc29bc -IVlen = 128 -IV = 8f9613129bbd0758b2a2b74c978c0510 -FixedInputDataByteLen = 51 -FixedInputData = 7db1b8ed679baa3154ca4bd3ed29b75190be06df61a1e28e0b99bde4bb25e87e1c404549042ae2b5586b89394f6c56c2ad9351 -KO = 48948a0b23bb0870840fe50dcccfaf98a6bbd06a6191cbd671ec47a447d038d10c6270ff446841ba3e0ce4f30b442b4639b40d5de1a45d104f0eef85b9e05730fb083d63ffe3d57ec03073de082915d0f553dc801748ca455ef708f79ce1cb2749cdfe9950dbf4200b50f40a9f93a8da8f8fbe09263cf4efe48390838ac30596903f79e38fbf2e1804fcd17284bd9c171dd70e87f3a14f18ac23e58e896b1539a9a7299851e37370adee73c3363731e6528affcd714f3d50025336c69a81060d4c0baa8aeea19318c907cfe8e5a0fe41edf31b007d72eb5e319aeeb85ed2178a5e5002c95100ac3040f2d6f93254791074e40487a777ebce1d11d2d2f8061b2f5d4dd64d9cfa489825d7cf57ad68f701929cd1104d15cb47ba4e0ba0bc2afbab06daa4aa890e952558fae8c5 - -COUNT=31 -L = 2400 -KI = fb809a499c20f9a15f2b06a47cc3cfec -IVlen = 128 -IV = 163e0ca3a3ea55fb239350ac8ced415a -FixedInputDataByteLen = 51 -FixedInputData = 4fef62b2ac1cc8a2e2a79da31ab88f0347c80ed18ad42f47fb71f41a094dacbc581961de8bbf9941f1f7a6d48a3f4d9ae766da -KO = a86eb62f3fdb5c740a049ef80f9b5c501b5f7494f95e8a97bdc800103f5d2b04155444a2516373ca7bb5cf9ac17459bfe96db2fd530dcaef553c20ed3f4560f78153e8139a7488e4b954e0adb847383bb3c870e7a1c17f0ee97848b43206e8d652243033786681bea251d122aaf2f43999c3e28265f9f7e6f15bec546b916341ee1f8a1887f230981c3454e58e378d84c41708874a4c13b0bef9582f8ae829a9ecbefbdeb25dfc20d443dfc282633fed3b1ada3e5f0ac9d5099f966b715ebe6af27b419908b39245c7f67b1f926c8a2584372fbf669d96975f68e6c512750bee532d9b5a04576ff054dc05599c6ae0e8a28864432fe3c3b1678937e877000a27e1ec86807ed1f558f83e63b880249222c51979d87a556ada9c692be2d96e315bd7f5411fff9ddf9bd331e6d9 - -COUNT=32 -L = 2400 -KI = bdc602cb1e02bb064917a286dd4e9730 -IVlen = 128 -IV = 1a4e40cfe30bca74bd21c33c3b8a5c9a -FixedInputDataByteLen = 51 -FixedInputData = a361e81563b169dfef607cb7465a867c9c7c79a1b9f8df0f98927e137887cc6cbe46cbcc747a42d2fbde803102c64ea1e1235b -KO = 7ed0f321410152449910ffcb41685dd353db7c77bc354e3caad156d274edb75e35d2cec5d3312b657749edf362a993e83b0852809f79b6cad043bf1db3312e122bcbe3b8413456cd1a70872dcbdb9c9273664abb1d1f5e663ea65723cb6a45d7103229e954cee10ade6c4acb5e1eea8485ad5d6f5d2cabe0742388e875a24d132432f3b6cd8a2d37814c2069b65ddd60c6797cc1c80eebefe9aeb179772448e643fbb41c1cbf751a4d5879672eae6c4dff7fafc10c6be34d9cb4035b7487317fb396b50f3cfaf02b994ad04d965f56256a74c20bf639459e17dd39b5763cb8282950d57bb843321832e700f46d7d4592f1c5ba31ce5b38e9a83c9fbde581525bef876dfb105af7934cb61ecc42a3cbe899f3e0dbce6d0b123c50ec666d16a2552ca2b6e44e86a645354bde91 - -COUNT=33 -L = 2400 -KI = a907725f4fe9f3f60957b25bf2d84639 -IVlen = 128 -IV = ceba2ef2dda65172cbb96f27b67e718e -FixedInputDataByteLen = 51 -FixedInputData = 627bc194881280c239c001e53b6ddaeadbe417de951f2492d1ae09d2215705e814892fad3c65850b950ab3206d4cf98e96e2aa -KO = 9fedc3c2090cc3d38a046330e94c4b30ec4dc9d883b0a1e1f5297bbdeaecffa2f4d833a7be1bffee2c7b002e296385fa32bf58db90ec1e393b998bc32133a9646574948605bf06031d0279a4e631168344bfde8fab58311d4070568f91d7eff31a481e6d96bd1e72a776e90762d6ea3cfb99957453fda18a9011169b5fcbde3ef71140dddeaa8b1de120b8358e14a92e13b26b560a11530df13155aac89a291a82fae7e205613ed534af7537e666a56645228cf7313f2a99efde1f8fed8b88aadfab50d8fa8c4fa2709c8cc17e251246bc11195f7f7cf3778d7a8533fbf660e3bbaaca1f08c405020a8850d88a58f00bdf50e8c095869275c12444c4b5d303516551a5a31505ca740728af3192d3befa210ba3096aab7efabc24fa65a8fd2ba4644586dc93f5d0296bcad897 - -COUNT=34 -L = 2400 -KI = 33d894ed794d8ea295c9285866de131d -IVlen = 128 -IV = 19ba50c091e41e5dae7f595abdf95855 -FixedInputDataByteLen = 51 -FixedInputData = b55f44a867589396fe92fbb72a13ebdc7cdfbe9a809cab0d04311ffbaa31f3558b800324b6f45582c808138f658b2b47790f30 -KO = 35c35ba157f93671696ec71e1c7ebabc2ac6728addb2af4c0cd5d56ad1592eb14096d5cff9733fff8b24fb3ce15c459796efbb2e8464b814fc0b09b820bd5075e20891d2621933883cef234b3748dffd3851639eefd57900765d71aa55461c50c989dc1a12bfb74ba63bcd48c223853ff0d70c8a9a9ce3ee2fb0bb334d8be5fa75e707f02e90d1d38272294980caf46875f4bffba6ef32ba1450031d5b223f3210424000b5c7bd62e3277d0011faba0bbb25700ff19409b83e0ef1fc0f14720a61d315b7fd288db4f855c0adac82871d408f6e8910e33f8a0c5f9fb2d15a765be3165121d840a92292dd9bc149d427534b0caaa9fa99419490aad2e5011160500c121e3bdef90b69b86520f73adb4ab0ea0c27c4e70ec1ee159ad931a9cc247302119a51499531d0757e59dc - -COUNT=35 -L = 2400 -KI = 619c3a4e399eab164bd585d7e0ca0c15 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3385c95d7bc272ca0eaf5c72bbfb4cffe361394f000e87363514a3dda4ccc9200714c383e3ef925382a2d545936cbc281428f9 -KO = 4679caea87b20a864a2c56343d497ee32264afca6fa642dd730568a4da46ddc2fcecb25207f5efb34bb057f36858737dd98710877a53d269bb1af547bf00194e98cd1bdc823e698b86a1296a2cf8688e8dd2b54d3b0fef3606666676bfdf19cb189a769d5c5c836f1911bbbc76b4062a04cb6105cd8d0975c89869c04475ba086b1870259c4433f7119d29e645811e665faa277eaf89c6b4855dc136468f9fd17e555ef6c591734792e59fa40b6ffb9ad4ab153d62ebc02452456baafe3cf6bddfabba3d8f71f3369ccb609adac374e05b465a6f9cb161aac0799dad8b13b69c9074b750434a50cf4d8d7a72a46db06a310c9ca016ce43a610555ddf770f78146d0673b22236dfb07fd2fc8b35cecf84ba2fb6575586675f373786633ed8dc68f0c73ce2ac06636bcebc1df5 - -COUNT=36 -L = 2400 -KI = 255a599b61c5fa298440009d2b6d6171 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6c43c784dd5cdbdc9eab828324572fa508172544bb29e7b7d64922a5c884293790edfcc6295eef08816c68449863371f76b770 -KO = d65944e08a827c01db991c4d216457fad0a036a6612f623c62815cf9cf2ed636eaca42722acafbc44bad91fef1ee37e995c4880d5ad46f7e48fad3509d1d4a89ea63fcfbc92849ea3d7a02311d6bad5e5db82bbe6383faaf796af73a4f0f550acc83b2eef3fe8a85768c391b147ed105434a80cd8c9af80814eb7922ac2edb79a759d6a9f2ee3af010d3f11051ae939c7d86991f547e804c1cc39a1539e283f217d8f287ac74e1d699c9287c0aa97ab3ae119bb4623e57845c43e177abbc93315f1133552183384bde4113150318de28b379dc70694baf22acb89bb03f1ddb7b683c3e10b88ac128318e0e73e07274e8a8aa372eca31f7fd7708430063a987b0ca91a9501013d60511db23141cf13a1810622823af7e74fbba22821606e015555f9b9dc9be8225dbc0be0933 - -COUNT=37 -L = 2400 -KI = 4f105903e886cd7b90aeb34dfab92b4f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d20af6f43b7acd63117082fdf8b86fabac50dab0a3e8d06d11a0170b14fd6303a3df08c6a12fbedb744af43602912ff9b09731 -KO = 1b8cee3eec0da81299f7adc04607ead9ea601c108e98998ff6ab5cac37f0b99006862e42bd063a4061fe19aa7d9b48c56aa16ce572a8fda574a18a8259b0778ebc372bb35ff221991fc03e82996bbcfc4d6c58a024bef449b4303fa0cfb3bdb7ac0c2c596b475703971dd1f3a9422b35bc7d16f26859440002d5d65f78471941c1c1046a970b2b7900886620a63a006abe9d5d67aad399fcbbb4e39d4de28a32ea125b0cadc32fca0ba9d691be8d97b25bf94835d440e529886dcd7c0e42b4ef81ed4e7aacf71648c25ab165860f97746e8551918baf091f493b6e28351b5e45e41a2aebb4f626c5f5f84829086266a66fd4f5a929a1632dffee71b015cc77b5ed4e5eb82cc3f3a059bb3c06b1170c67a641b0283337b6e79df74a25e6b70f2087ad8389fd05582b94524ee5 - -COUNT=38 -L = 2400 -KI = 9c6d793753c3bc06f81875ad1bee7092 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f72d67f7e4e0c0b240d21bebf3510a4c443182b77ea57df04410798cc5da136a57e49384fd69a72d703da1fd5952ac1dbd9ca8 -KO = 71be40f346416eeba2a32ad5938ea860cbc24898cb70825071358ff1e4047178f0ef9d9d2e6a30eee0d5ab89cbc19b5d175863f0376ed2777ef8340b066f98b6ad77cbf3f9fbab458a87105baa0fd8e0b5892cffa6fe425c3f1ba2d466bf67650b5f19f469e3c12a3e8754035a3d07f26f56160801498b7d4ca6158f578a08b5b6cb517681989dcda23c675d1fbcb44436a494ecde5eebb6910adf8c2cffee0d64083a00b737e98356c627a94b20e044a1c34284504fb731d3fe4406be46af540a5e4be534e2661d29df8fbecdad4fdb37d33308f8f598651a3fe6b7afd694dff484ddf2f4e85b21d4543f0d23064b3399be62e4a21a1923fcc654051b854b322158aa27f2f9ac5fa49e191bb0010e4e199935621ca46197b6aaf63ca08ecfa763fb9bbf5ef64d9b029ef51a - -COUNT=39 -L = 2400 -KI = 68401f57f018616344ebe6d164725f82 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41437fcf5b8fc3663ea0fcd5425809f08adfafaf8b212d9b7e7bc18c6db3f14fc4668fe39946b7623e59752ed2e2616f7a9391 -KO = d22880c3f836dd413534f5520d858d56607c9377911dd99ce698aad9c6b830fa4283fe378aa84164c54e08a4ab6e2e0fd7d1e862f93c1f746b29c62cf0855d6eb58f4923c8a92a6bc0c7bc5a58e792753cd4a189beefacbd864dccbe50c6be6451ba58f3d3c468cf670bd97dc8d7325390609f42eb56e5b1546d55ec7933e79288d0750cc7f96e896495726f7a109a05f7038d4ea16fbd39017065db1311e8b2a3a7d1f4fd7e7c8b4be148088a7675e15d7d52f21a64c08c2ae517f7e6881a069c67ee4286d7d0c6a7c484b69c544dcf7f95e08e53429407626b2f4881db3c3d6648c704b118ae167adfdf0d81c51b3dca70874f80d6573fefc6ee9a94aa74785b82e33f053bac53a50cd3ec5425bfc671383d77eff29ac67cdf6b4188d0c71a1704c90bb7a2e3ebe41d10e6 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 44ed4fce2f6f958c3f34abc2bf72e0e4 -IVlen = 128 -IV = 50345149b1dfb83d99dc244bf7132766 -FixedInputDataByteLen = 51 -FixedInputData = 48c2fbc0f602965f18d70bd8c1b37302aea32506cffa2111b90e448afd78e0bfae8fae22d4631d5992ef8d6cccf8c2b12c8229 -KO = 2908f5fb552fefab030d0db0245919ce3063f8c8e4767561f3b8fd27a1bfba8f28bdf24ab4cca261b89dfb3a87a4b027d668c3aa6a6d9e2bb38b64059e0d8e5d - -COUNT=1 -L = 512 -KI = b06bf9dbb6651704187f79b988167829 -IVlen = 128 -IV = 64214e1d6499ad89da20707279005559 -FixedInputDataByteLen = 51 -FixedInputData = 098ba53ff4f715500f180cb663e304b9a80d9f6fd170e86b2a952331c9ecd02e62b15292023fdd2dc987b259e54a25f0f6c49f -KO = d5ebd123e03c921354cfb9b14d32e8cc646906a34770f7af0330781972bf1fbea740f41e7c8076b4d3745d48086e9b863cb899761576b10e8128126ed2a70e0e - -COUNT=2 -L = 512 -KI = c8bebe8369da78bb459d659998d579bf -IVlen = 128 -IV = 2ed883c8fb774a452af969d596373bf4 -FixedInputDataByteLen = 51 -FixedInputData = f65d610ef8c6c85db499b4ed59e368047fd788509f2cdec64539b6050cfe05958fdffcb9fee4660668c12361eef67b94251e81 -KO = 89315452dce4b52c209d997cf296d2454aa0c7b0621eca13e330c993c930cc4ade0c37dedc316828cbd1b97ba79c040d520bcbc28bc1e33bdb3043e88194d3ab - -COUNT=3 -L = 512 -KI = a13d4eb44ea3ffc934c19f3ef049a7f9 -IVlen = 128 -IV = 4c7e8c23becfb6936ebd3add0677fd84 -FixedInputDataByteLen = 51 -FixedInputData = 1b5cf083374cc2926d15bb3ba7eb333e5f9d2fbef38f560aac302412ce324c79a43af4ea084b8013867b1246b3c3ffec8876ba -KO = 4b6c909551e07fd860490fd15dd67ac67b9ea7fb58f81dc29ea9f686d11aa71301f1d6efbc461c14b60b913f0a06d405606417c7732478d906890c3d3a5a9350 - -COUNT=4 -L = 512 -KI = 6d3c1182cc751f502474ebeacc6fae8d -IVlen = 128 -IV = b10850bdc0b93404e82803a50ca661a3 -FixedInputDataByteLen = 51 -FixedInputData = 89f9f3917867ec5b86c3262041239e802750a262a00bfa959a6a1722afd3e8a3c135231ebe3a22f04f23a18b31a47c6cbf3ff4 -KO = 7259acff21a8697c62641ef5733572e9024eac416afb632f148a1ce027aa8e4e2770054cdd898c90214acd5c6974b972849c0e2f3c3fd80919fcd773abf388b9 - -COUNT=5 -L = 512 -KI = 31160c575a3fd083968bdacc849d52fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d67b78670a0ce9203ecf3fdb94e15edef77690d8ff9c20923b31c47484f1e3d62697e76ea085a4a1d85523856304190bf1b831 -KO = fb506bd6f3edc5d857553d7efb30879d670999ef3fd8841b0d2116bfa134ba5f79a57afc714685369e2156bd74a7f8edb117c83d9267dc7a2848920e06b7394f - -COUNT=6 -L = 512 -KI = 22d476942e2fd0c16dd45218a7a8708e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 507f5e0bb17e0bc69746d32dc4e84335cd10e6f471856e851fcd7ba932531f1f734bd037208e1563ef4facc44a167adc78d9ea -KO = 9a1e4aa280fe2023ded85329596492f23b0e4a3eceb1736ffe922ed50718f01b080877ee2765bea2024fedfcf370113addf4e25b14f39da082af3b59479be20a - -COUNT=7 -L = 512 -KI = 92afc6bbc1c98bcabefd92088c7f7fb6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a5dd70e4651e3aea4b86e3fa0bd340a960426a692c7b11d2f316c103e7682ddc879a63a659c84cca04270f50b2b6b75b6f67ce -KO = f5dbbbf18d845d50b99e09bb8038076c9857c6aa47e8eec6f104e9a3b4a6c0b30fde983c1b261b675d747206260fc707fd8b47dc934f9a87885010e58995c003 - -COUNT=8 -L = 512 -KI = 87ec79ccfba6c47f12e6424ae2355e0e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0e2a088174aeed30c1db4ff01d512df49806ebc717ef9b8b7d1beae00fd6ac58e3b4c82af27c177dd9eb8309d32f9aadf5721f -KO = 15cfd0758dfd0ec5ad9dc7427fdc666b16bd042116384b6395b4e3945a6343bd675e5a4e3766162016b9a6c42e9cfb74d00f97ab46870bc293201d63035c3afd - -COUNT=9 -L = 512 -KI = e5558ac7e9a89e06ea7d29153a67d030 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8629790888cffde6e5975c291c56a8093f7dec1b313a762c97040f1daffcf7f89afb71e5989f9eb71147ff18ceda4d97418c21 -KO = ac052039651f1a8bd809fda674ad75778076f6081321844de34d10c56dc58501a3ca9468c4d7d93964ee5d26a03b9177b53b0a0e47b3e7ee5bd8ede986fc538d - -COUNT=10 -L = 2048 -KI = 28c2d70708aa54090570762f2eb2adf2 -IVlen = 128 -IV = 4da86e3b06172082f4660f581caafcc1 -FixedInputDataByteLen = 51 -FixedInputData = 71932400c9ac180ff5fca15205ed93fb540145477d60f5a874cc92497e3cb8b43e8319417ab3ec4b0ef1ef0d05eb5d520740dc -KO = d7b94c714a900be633e6d766051fae6d1bd2bb12ad70d4422189f7870155ec8c09bd5f88191bbee284f30b35dc67d4cea8084eb1533d1a162a0e271b6f708ef386b2b47e25bcb51bf592558b86dc148ef7272ef026e5feaffc99a0c5f875f2a057ac19ea29f259d572b37934c9dc612bdaffe87a11402655cc77aa284b58ad2439f3b859c198966d5ccc1c53655f65edf61340cb1f3112cbc9ae77608322cb1c1b75065d3edd3548d5b9c538ea5a087261a9ef236bc66292885b43f07fd4eab2d68aa62b6b64dee6ff03ce0c27909518e6e6e1b33c5a79856ff7c00c5761049371860efe126acfb9bc2d623287622c24e05f293d689d43c47573ce474a488e28 - -COUNT=11 -L = 2048 -KI = 08c81f40c53c30effb71d2acbbdb8303 -IVlen = 128 -IV = 3b5364c15c0e5a6c7b0a68c0777f371a -FixedInputDataByteLen = 51 -FixedInputData = a989250c1b7cb16f6432cc0cc3c210eca5135bcb2cd141692d3e48e8f2786b06d9dbfe07102d2976d58751169b9c6471b305c8 -KO = 6cb007a8c6285b6a96fd5b19eabe5b909dd4947c220aaca91493e56b3f450d3078d388b103309b9178ac9e54547a064e1ac52444e8b030c53b0111214dc6844dcfded00b4c153cd7160d12e7ce351020ca9263454a122165a58579b6af0460890f16f6518d953d70911a38e73a641c0ed8a9ac2b1f8ec83d4b3815d542ef33aa8aae3eec23faa2852079bd01afbf1af2aac575cf65c9e696a687b2e87afbb69b8d2be78a6b8094fa03809f2775484e8b9c5b1f12456519c5a1ecda8fdb60e01e335d726072fb1d2d1f8eccd5922ac182b30c44a31783414894178eb54223418b6ea5d14313ee8de2ec79320e13e19351a80513aaadc5a16221a1ce37f5f3a3c8 - -COUNT=12 -L = 2048 -KI = 4a2a766ebf8c62b5de961667de2beead -IVlen = 128 -IV = d97604afb8829079cc34425ab1df0ff2 -FixedInputDataByteLen = 51 -FixedInputData = 54c7204306a9932e6e5d005a3ba24207524f5de5405ebd0fbbb67e184bba65ae2aaef3aee6a03e68769a8ae6a2ae746a567bda -KO = 5c4eb781ff486e4b6d7db162232d6704c63e4adecd1d9b6deb34f88510389f18eb2937a49d58dcf8a67939ee5de629e27362ef182c0d7d567f714c1d653a41acda2275a68d1527eec2e23ee12dfb33bb8421e3f592f0652dd04ec33379da936969fec15fb915f355801636c23c8ce6081bb6a3f6900f11b8a00a94cad0395df14f2ffe855b68b40ec25fc588c043b767b25ab417e7d110f5d652e34c12455cd13241cb4ff828466f4ec5be21f6588b7d985b299ff8e83c1e93079d0f5d1ca29252fa127628b2f3bfa200d1713d15c8f9d25ee64d7b0dee41d1dd9fcfb1c817e408a908d9dc404d75a01fee35183a260c568cf516e76ee7e0409bd407a3468c4a - -COUNT=13 -L = 2048 -KI = a37939b823b6c46839b2ac601546c508 -IVlen = 128 -IV = 35cb2add6b790d2f3e117bfdca252b9e -FixedInputDataByteLen = 51 -FixedInputData = 851462d747c6fff4908da924aad9c82057ef27daab357a936e6f18f69cac333c671fda5cde8f7ee78d034c74d568427e25ba1b -KO = 78e5d297dd6f2a135d0f994503ec6568f236ca36d761177d213113a4a7034e650df929e377d8945a9f7908eb4a410c90e55790441418722c0cbb6909e0eb18902f88210dc0f25d946e4762970b46b9e30460d062063aa220f9a9670d256f912e492a084286b0148f1234056dba60ef3c67cb8077bcb37a0e7e5b59c0235df41d5280813aae632b3c14dbd32b74f3f6543d3cea197c7f32c55cf5fec4cca3591a3c50143f58dd381511d2fbb550d64451504c0a2e119616179a46ea3e36cdaa05406523e8df6d4a1ae059b255e5a92d1bcade5dda7fd61a718d26cd1e4d8716969c9a4b463fd429cc1c27f5c83337ef58624d823a42e99e7ed62d7fdf783d6136 - -COUNT=14 -L = 2048 -KI = 2f35f27352f40fd3a2e9c08fc17d6e47 -IVlen = 128 -IV = db07762195c8e70903f322ab68beb3c2 -FixedInputDataByteLen = 51 -FixedInputData = fcd2258a7eb5f7c34b34c84c891f46a5b1d2f6109d75d2f4e7277452fee8ea611504e91b97d1f90b82fa58a87fba89107bca43 -KO = 41fee2fa3d4713c198c1dedca18fc2f3e5d33932cff2ac1985ca069a7e11a736f5a1d5a6e9bcafd2a11546e06f190c6b33e802ce9f99d07d9ba5ad0b5be6ddb51eb7992b39afafe7df3feb99d7143f309c3fbeb680edc9c4fb7d391930a7763f5058a4597eccfaaed2904907159453b83de825b006640b5af53e8c44e38ec454fc758c502dfffd78515902ac8a236453a3eb277de871c90c7cdd84cd5c86e925525baf00678c08e0d87ac8690865503df2ef89d560306685f592c639f9f5c262a50397a12fbeda17adadd6da0481ce8da923d838375c02c703cde2f63d3749d971cfc55ff07433d55b0a978ddad07ca8782df379b034986074fa65d6f7e41cbc - -COUNT=15 -L = 2048 -KI = 400c6709a2361cfa4ea8eb88c0e970a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d8ad456b4f7d7c03b6497f98e14666604fee60e93223029a6a180db27fd9a810357e5e9595b5a8755d25457667c721ea62da7 -KO = 41120a24ee2a0b2134dbad53cf470542b3e9eb5b598669c826ccb2c0809e031fdd205facbbebc703342bc26265ece503b941dcbe09d1dead7b8332ec33739e3fa2c62209f4aba60a8416e06a440c3ce9ed2d24e3c56e5f2ff407dbe03ee975f4afb00e5a25bca7ebe216bfba20f6ed087add5cf916f789122e73403811f38b060e84db33f5c17f708712aabbdbada2e727a772e343d10b6d07fcd50e249f110a0803b03ba83bebb06cf77556fe71d93f06a5f489f2ddb7cb68091938e9a082a934a624915a76f842b79995946394196220abd85517438323cdcb735b1ea9627d7b8dc7cc9fa4cae2069923c001b349f4f43681450054f772c2349a441271a19f - -COUNT=16 -L = 2048 -KI = d1851c5bbdf9d6b5c3c84d539738e70c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b143f5d884f85381718e6f710ea54ea9d8974c2c834be1a3a095e795511386d09b4eed33514a298be7d1acc52913c3dc171bdf -KO = f8bb68d5ad3f66cb90fe300be8809096025621fbc99f41231d99b9dd1049b68801b335c6ad2dd61c378c7226409335b9f4133c7a31511bc891f312a3fa206be88bee71b009a55778eeedd2672f6fdb8e10d8f7b13e3bd62acbc0ca3baddea284aea05f436e984847f0b5d24596c87fe86c552fe8a683ae268b4f9879e09e9a577e1e790932b3b1883ae28e4d1c79bedfefe7efb1e46c753e36727999022cb19c98382e77db44b3d3348784bf70858368167ebeb44af9b91508df2025744b00ace88523259ec4af67553767a847fc6ba98ca8df3cddb87f9237072c04a82d3e4beb6513aef01f2801e5c14ea2cbb8b883c85038887f51089a6742cd0848abb988 - -COUNT=17 -L = 2048 -KI = 517119d9c52b54e94956fcf14bd43029 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8f1ca92fba1413fcd6f0638ee266425b342ca6d69d1f4f883d86473181fb870f74ec4c4643ea16a041b40c983e3ad351238d7 -KO = 34c3bce9f3020121ee93a2c7db23d6ceb6efb5f51003d5e8074f71f66980dbb30235e2313c67b918f660147b63f3ee5a9d04901be5da5d6fb9de0b8e7a1ed53b7ef8e918ba27fada91cfb3949f8a17aa9e117ab68d624aecd010e970af3b5927f9c30353c742859f5c2b22ccffdc382335fd517c81598e042416da5994059920a4e1859a3a98a62314e7ffe5ae4a60b62cda2f00fd7a80f4be00fce7d51460059abeea949d3363e3226853cfa20dc0382ae261c96331cedc06fbf4c50904debe2355b8e69f1e5bce2efe6fe410c924dd4f5b7278419ebdfe80469d44d6d798e620bcced1645101b6ee2d1936052af6d0c50f6bbf9c94f46f015900221363ac50 - -COUNT=18 -L = 2048 -KI = 4b273b8d271811101671eb5cd24094da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7012035858dac4dca9d27c5c5cacd8fdccc063a5865fe09079e1d7c3f0980f7632f4277f900e17c7f40413c37e06900825e9cd -KO = f8b621554192477d04a6176a9c6a0a8e2913421d064dae7773624ba6c5cde189b4da71a452b70cc2c35f749f04cbc71783234ff5f9a733cfab46328cddb5a28146cc487fc799237372db3feb50b403f760d60897928eada5ea77741dc9360e04d4f81d63a5773899d210066106bc408af78a58dde957fa21e836c4464ecec48801107d618ba54bbeb9c7aeb1bed0b45275d903bdc4e7e43b5f161d789732f5f13e37789185d65fc0a25f36784bd403f49ef8fc8ddb6147497d3fa425e0a269bfaad36a8476e9532f167eeff07b07695b534d38793636765a29b496fa42fa697853e6cdc67f9329c0b20b903dbe8954a24be6722c96f6ae5d5c1fbe9af72ee5ba - -COUNT=19 -L = 2048 -KI = 505b5ef8433c4cee645b87a48c5777d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4852430c465f8aca661999d01a6739a73ed8676ab5d29e5a5d6ee0d821655d61535c41035b5cdb14cf3a80bc56a8ddbad906b4 -KO = 22989df412e4f105b71de7c36441194a56b94a804e7c61019c98d94c64f27bbf3e45a53ccd3d1c2ab2ba4eccec27d9588f66a9fbdcba8435e5540ef79c062aced6992754cae82f9e77d887c2be7f680258ced854babe14b4e56f46785b92ff2545ca73106012e514d51956e9431e12f6548887a1c673ba4a2162bae26f877c8dd2786c46ddf770b39130eeab318bf995136c6f3d2eb3c73189b4ba335515d2bcd405dbb09dcb9eb286ed8c1d8e218cb0873ec595b94773f7436b8fda7d1667df8a9d26a85f982c1023487e98b2ed40fd35bafba7adf73bc9096cd9ad07a7f623c4e3124ed155e859f079150d20020648fe8223889290281b3de783f5e5717163 - -COUNT=20 -L = 560 -KI = 0df72feb986160d6e5dc0db4664250c6 -IVlen = 128 -IV = 2b721c58d412175f3d9993ce991ab6eb -FixedInputDataByteLen = 51 -FixedInputData = c926960d5098069711ee8ed5eb35e4f28551f1536f920ccdeb21e14a18bb09354a1be989a88ac8a13cfbce13b5ff02ba9b73a6 -KO = f539ca5751b24905a63149a1fe584dd57a835dc120192a9d5a2449e17102b1c722efad31b2d9ab644192622a58cbd4a3ba1af52b0156be0af65e0136ad776292d22e3716039c - -COUNT=21 -L = 560 -KI = 0de6fcb67b4ccc82b109cb7f73625d09 -IVlen = 128 -IV = bbc7f80aec489c57082bf0a0ef3d8e09 -FixedInputDataByteLen = 51 -FixedInputData = ea90f5112a253d38754cb3de8668625f1b0507af51f1ca583676d5df9362c92dcf930005bd5bf43d291ca8edd5ed6c7badd81c -KO = 68eab438a8c193c19d5bc6a42df4a9e677380fa61c43d43a4b2c14517f72f746cb7e9fd1dd4fa60cda4b4d311bd364d0842162c215e3b478c6f53bedef9fa8e9e5868663952c - -COUNT=22 -L = 560 -KI = fbd63946a705d3fc85223ddcdab2772e -IVlen = 128 -IV = b92381cf2aacc3955bbbc643169cdbc5 -FixedInputDataByteLen = 51 -FixedInputData = a77012aa02eafe4c74dd28b218ce80f2fc4812f80004b2aedfdae8a4625eb372ede62c41897f66ea57af64bcb556a3a82d24b5 -KO = 171d38a0b33cefa1b11ba1d4d05db6411059cf65ade770dbec87bafba44776bb3fd58522c5afc4f2abd9ab45935d81c4f167d0aa733417cfb98da976b8ab491c9edfd1fdedd6 - -COUNT=23 -L = 560 -KI = 4c88c7b31a9f9c32c5af5d37f5337c99 -IVlen = 128 -IV = 622f9397adf70a4bcadc4afa8094a43f -FixedInputDataByteLen = 51 -FixedInputData = a82e71abd6ceccc6d4c2add4c4388f489970db3462d1b83819c331c8a5182d7960f34695c50ce096cd89a0531e8e5b3bff7382 -KO = 2152d6b58be8615cae7446ae22b099afbe306865390a6b809c0bc50df5e6690088ccf4491b8cb296de6e301ca71ec872aae3358bcf9d849e57cd08f63ea4de613547aa668417 - -COUNT=24 -L = 560 -KI = 32b9adb879aafec77db6ce9eba4f7e8d -IVlen = 128 -IV = bd6149cdfbc9d8b194b5b3805eee81fe -FixedInputDataByteLen = 51 -FixedInputData = a9670745809e9fdd94f246b7a728879a71863eca21b9498bbba395478a625d83b51afa6176dd36df060a9b25c1d6dd0bdabef5 -KO = df7052888e06fe8a611acd5820d181e888ac051dab53bc1fac29e6f287ffac9388843488bf019dc6d1c03db528d183511679ae69a96195fad746e7a5a0b7dfe4fc7773ce4ee3 - -COUNT=25 -L = 560 -KI = 94b2d0c9362d743213e2fb671c9cd649 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 278f3b6d07207d2a12a615ac36ebc70338a146cd2b0a8f70801ea1291640b09283aa0f755d2534964a0d855735160be953ff6c -KO = 547f1c252ace8620d1f61a905751ab5f1c9f4cf09d271e41c474eda3fbb32823d43849d58b8ab328d784a08cb43f470dac5ce4e38afc6a32da413bcc9785af8a6be27496e38d - -COUNT=26 -L = 560 -KI = 1800df0982ffb95434cb356023bcec58 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d74bd0547cdfed606b532be72c5c6f344f860a7fe4b7b1aa59630f1e5dd7de4281cb442cefccccb8bf1c0f7572a8a3996a8089 -KO = 85636db1c506c906ef0a977787058a8afed0dc9d52b3190478ecb0070bba03cffa37341832ca982d462859a0569c872caf60e0b3b612ac3546fbf739b5fafc79e9229462cd18 - -COUNT=27 -L = 560 -KI = d62cf1afad45dc0e041ecad17d2c4a4b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe227e89c9ffdb4e44d463a14eb0c6aa537196aff8a3f521266b8ecfef457a869c44a095dd88ecf5c18723c55e081ac79dc694 -KO = addf4674adfeecd3a3a221b31dbaf0875975a69ad886131c14be68d297c21c69687c325a639b534af18f57e675db571690043c8711ccc2a39671d6e362f55699d0c0a76a6960 - -COUNT=28 -L = 560 -KI = 4a74aa464330a9e26012ac45fad9745d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d09fa8d453119f983c57cefc200488bd4e5085a990ed5979961c6956fdc2131597def727235c1f4abc20a47f70988257379211 -KO = 0272819a2873a1b7bb62ea2cc6cd72db4be0152f98b17e2f647a679ac7106a02fddab5053a6c7384384cd95349283fb5cdb489af19c6323ef587abb36032b69681e79dc5b793 - -COUNT=29 -L = 560 -KI = 71683e7da0090316db11361abf28d504 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb8662639b7964a528b941f354662884039d4d942590a7972cc6acd1ed2f98fda7e252f05c07a7425f7e2b1e1c51346f0a587d -KO = 6b053cc66cdfa1ccd8dea96051f16b4b283a630bc7b1a9957134b814b41d59df2bce7f8f2c69c1bbd36924e87ccef502b3a9bfb5df3950b7c1d877738de31489c6c2fa9387be - -COUNT=30 -L = 2400 -KI = dcc6b7d93963a9b90e482f544c317b13 -IVlen = 128 -IV = dfc428321d697ce535311eb70590f48e -FixedInputDataByteLen = 51 -FixedInputData = e70d0cc0c229e8baf212efdbb46c3e017917bc640e9cd02b41400a16f894e1334317def2f462c61a028ea6541028ce6d0dd5d7 -KO = a907ffe3c3ea92ebf9d46e6ee41af189b21532a4eebeb7b1d406ee6f3698616304243e9ce4344a3b15561ec5eca30cc14e8fff471689b6b42e7d2cfacb337d6cf2f6749fa5fa2e78454f80ed92df089b1256ec63799df628b5a2246f12ac370df64e05ff51480bc8398232a5dcf231176ca45368e2fb0c284713d433f69a987ec6c3719606037b5f94d2399d6bb51c728e728fd1abf5c118844fb4e4579dc38224c3f330ee9a07522b6148562126b9f04a25ae4d2ad18df30475160adb3e23237277c08ceb24cb36d2785c04ea05e08f02adb89291c82018c9c872caa96719d05614213d25d2324c909767f9b7e0908397141753af772bbd9a62fb4d5df08eb520700efcb75a6b66fe734be954d0e57a00d40c40c94281564d31b57d1e5f587310c01a92933f043413142620 - -COUNT=31 -L = 2400 -KI = a73ef0d89fafacca109b858223a7e86f -IVlen = 128 -IV = 03219d59304ba0db79063a165b8547e2 -FixedInputDataByteLen = 51 -FixedInputData = a0a043905064258e9521d3a20dfecc7403089e0875d85c6efcb742d732a3de9c2c8c24e7468634b02a507c641118df1e101703 -KO = 3b3c1e16d4feb84be03e24940e6bbb6ad3070f84ec0302d96c34849b0939c88d28b37cff582d6bd1ab9671a3e2c11a82c20e9ec7174d960347600e6eea6a10a8d52c0d55ef62bf35e4c63d47a0d61e675c00f64abfd462af5c62df39786c28980c6c2a9eff19695bd24fb888f690a906c9bfee74a9a3bc42e26699074178a01736cd4e2ff239fabcb4ec6c3f0b03ddef99598b609be92f1193b40e8dd4783abe7ff1c48a526ca58df3252a7e7ac66d726ee1490eef011f885df5100222b0ae30df40b31611ecc171699fbd9984e4a7ab62d176accf345fe7c74e8b92127debc296f531c336dda757e8ba28fa86dc6f34fb380cfb3eb18662cccd38564c1bf6ba14e75f549d21213eb1696dd9ce4cd6f23938508d958ba525aad2eab36bb25d99df1680b2005e6c7aa59c9184 - -COUNT=32 -L = 2400 -KI = 47e971d4c7a8463ade1efb68eb269ac7 -IVlen = 128 -IV = 16c4bc95b4a52179c443f0e5d3ef8aed -FixedInputDataByteLen = 51 -FixedInputData = 47a3fb763cd15901059a10742ccba85849a7496c0139ca2bd81022a0be8a50c5a34c28636d036761707d1a486f805098838d32 -KO = 58906bbd53cf946cce00a956667d6764a04d71b3a7f7e819bae8fabf70fe561aa67e50c731e840fba2a09e438d1d7460f2237283e285ff2db91b6b4c4ce7020c3861e1690a74edce85acd2ced64b2220d37bcad741df18a021fb307361e931b8da6baf2d1c2096bd91892153ee6508eb360bc8574b905c1e9d17e35caa893507886ddf2b2a45baaa9b0b70e09e38bd2137f07b8426131ec32b34b90ab20141340c74d74e39995a3ff2274e3ade4fef5ce2da9766598aca1f04d8d5d49560bc2fad3e759d4d15cf74dd430d3899d94677557240a58cee55dc413008489f3cf1500684c761b8d2dfb5fa98ed3cf126cfe72ebf42ea3118c1b36841703f62df28e33678abb55c667aa4266c95512ef9b9e938a1baac0b9b97463cd28b659fc3d128eeb59b5ae15be6a094cfa391 - -COUNT=33 -L = 2400 -KI = 231a213fc043a86b54ca9412e845cde2 -IVlen = 128 -IV = f6b13f96de86bd2f7bcafa00bef4c6c7 -FixedInputDataByteLen = 51 -FixedInputData = 5705d1e61699a872cc6c3c3aeb8b5ae04e1f6804c8a1c1676318ef669858854ac07104d8b8330fd1dd4da615af19bc6d8d2a5e -KO = fabbc130799cce5036289649f6540abff1c8586f92edd15706ed806953642150b506eba650ca6ad9a35484ea8858f38381dd8cc2d76dcce35faa65d57d7f64fdadb4ef10610d15305d380533594ccea45c0f691ea67aa8bd971c7d5a3d1c7db489a5c34326c951db8dab6018a5671e2d9a8d63c05b3b2f17bf7774720e6b93560701fc6d8fdde13f9689b608fcd7e46d4d75af42b4df410520d315202c2dd7355e3b58bb0f46b204b9b30e2c1ded03717f2410351df9689802ad445fc428ee3a6c12babb601716be32db392c1ddb872eb93c2a721312fdb61da5ce55368e7c2d1d3a858fc5a11e171b5725245cd8d4d0d43ea8f93643381bcdb88f92ec12ff257a2668639a17dde5ef34a1de4b9ebeca20095c631b991e6b3f1134407cbc3232e4f4956a0eac72791e058ba1 - -COUNT=34 -L = 2400 -KI = e7c3632eba3b5168a038d7251c486172 -IVlen = 128 -IV = a42ed8fce93316b9092f995aec589698 -FixedInputDataByteLen = 51 -FixedInputData = ff80b53d2980810ac141f014aa3fe7fc0bba697328a31309b7e371afc44926ea061ce79e2e9bd5a0d91b57ef0e76cea396a3d1 -KO = 6ee2e8c897bb9b8b993b18f735ecd992f120f2b7be515b6bb71d7de3a07214d5f5762c50ae37fac0b54de5ad5d2df5a63905a6b7495f5be106d410e9aaa84abd6211f3462ef73db6e3cd16a7ab19e1c4b9ac9c857cc2e67f1b0885131cd99e5b16fa93759009cd7c90029ab7a0a16fc3251c88092310e34ffbb6da7bcd5f2740b3517b72734459897b54fc077bf3d84a449b6ed7a7048644a3b1e4eba77d9ca77433b1043cf1848ac27d1a6d61d8d765db404230d58174c42ce9144cf39f8abfe26840705ea052ce73c15822c74ac29463c49fcd2d11311d8c7c1131dfc8acfbcb62bdfc94155e6ac2185f07b773339a33e06b5d46d48840faf9155721e6248061651fce6b93c7b7898efe3732274600d888a3684ea8833f726c5e5f5383c5f820aa9be6f50db44aee786739 - -COUNT=35 -L = 2400 -KI = 199d51dfbb7a149da9fa0a4b5adcf8d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c7490d0e3b27ea75562306483b22567a8429e3280d0b759f179b31eaf50bc91a62b178db4cb5f2f00c669f860693780232f9b7 -KO = c3e19fffa7456665494f5a425261e258fce63e176a43b1f85ff57ff053390aa3345e9f43639693c5075553134bfbb48b08b8f977c91a10fffdc20ef6c399873d11ff9c03af24a6a446026f3650ae965e0d24df36dc51c909dcda4151a0f62a8f358eb78fdb22cdb7827603c805561c599a0e778a5ef2bfb273e90219a084b79ea2022d2cc445565d9f5cff5fa045c96fcbfe15f323fa6fc61d8607cc538dfa2e0c0c1fcd4ddbd9ed9df4e19feb181892ebb5e92d70f6d09a6f19bab192d6c8981527302f36844d988215da0ed85cba14db568a40c8feb397f4589433e49b70c0e5f672bda4fac3c5f81e0e1f65249a6bbb47cc43fe1a47b47b935d2f571ef12bd3527087f8a00cb017095d69efe693f817b7b77b72facff3945281439b6c0dcb3baf2adfc2aae5e280acf48b - -COUNT=36 -L = 2400 -KI = becd9d90e1108b24ef62e4b429b8378c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b611ab02cd8b0ac09985211866909c5e959fd0caaa057a486c3b739e67b94557583fd1c219821f28181b154b321b1157a0206c -KO = b74c627ea2d3da4241fa328e33c3ca53a2d2de9660c62e9152f58dbccf6ee4bed223f851650a452d5d9fa746f8869592008518c37128593f051eff96745c54599bb0e0cf4fcb967c74036c6609179f7f06bada57e132e3b9367ae831df9e507299056f643182dc47aba5869d92141b2ce35d4521985fb0ea5415f5e1032271eb6a648b54d6d71164f73508c67f9be292ed0bfd994d1a4d097fe6e8bbd7ffdfef65464cf02eb7751cfb86ed6b172f96154b0e363757dd8f821f8f000681e07078e53b6e51f4972bcebe665499fc7d9321eef20be05efcb9cc28f170a0f605d32c77766c30153fb14b0574a3efdd41872a8f6a409eeb7ac7b190d062849ed0a86292de6d3fe7870d804f2636ac259de82f8bffd2e430aa78f82f9bac7ce9923d3b5493a7856d7800d17a56c809 - -COUNT=37 -L = 2400 -KI = e10d1b044de3926fd572076f0e3cebde -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9a0ca82c905ea99ec7456e4c0f122e19827a44cb8b355ea06a7ea410bb45fc3fed3ec7c1752b7c1f935f8532955a1bd95fc844 -KO = b4030dcffb7a7ad8dca987c2c679f577555fc9e7d71aa5b7697455dfd3c572bc800043476529a4a28e8eb1d3cd1d5158b064a3d8edc43131ebb7dc39549caf3d31d45d2c4a4b4378138adac37db06c0cf2f13edd1593486bc5bbbf6f3506ac34a3207c3374b00a5b3ee64f5287676d0272846a66c3f3dfc4b3079ed9f44ff1ca4c3ef9d7b55e2d660859a59b36bb99a5b76e95206ed365e56d06493a0f0f7fc4eebe36366847acda966028f98b352ef81ca5e654fd7f6a1928ed5cf8004db0b9d93f0aa26ed497763fa856dd788518c2a5ea8139f33dfdc2a6dc098d9e4a90af9e36d198061cfcfb81081d86f2efd797fa9f59ca4fd497725af42995606c3ec55e65cedbf5f0bc195d6695bde3cf356174b80a28a8930dd277b70fa212c5fee57b5d4cd9995538bd9a2f1090 - -COUNT=38 -L = 2400 -KI = 6ef9f0bbf3dbc63929643c991425c255 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab31a166f36d377108a0618f08c68521058d32d0bc598173eb5f279ca8b8fdbf90e0e0e0f5c0b51641f4c753cab0b7b642af29 -KO = 9445182fcfb280a0e95c246e898ddef07f10d131fe0e260eb0cc78cc38ff121b2fde693ab33964c80e0fc133b0a6a680341229a0ed7e932303eb8faba82bae5b5072c0cabb4ac0a58f3df4df8912585f3838629f8d372088a5c9909c6864f8c503d8ffdbb14bdc8b8c3cf4fe780613452168bfa22f7928b8649af4d73e9b806cf19c4d1ac66fe01ee4cb51d94ff498c614b9a4cef2fa4a13e8261b9fe864d07c1f1b8affbcaa1461d1ec19f522712881fc0be50f64baad505433c57cc524aa6a9cf96d6a1fbe38dff13ae00c87a6a94321e4c8d2aa9c3196c2a665b0d086356216199c28f4f58ad191b91257a3c4e297272b905bbb538754fde8155125c0cafcef33615b0c367e655498711d819b34cb32c9e39014d433d1c1b30edf52517f2781a13dc87ca324b0c9770810 - -COUNT=39 -L = 2400 -KI = 7fc00b6062596b73e67d81f9305ddd16 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a4bbb41b8e4b2ce4b557b54bda4790be4c06cfa00dd0e30ee0c215c5c991d16bcf12a2e620ea9765e5c753fb1858830557a3a7 -KO = ebc03f627dccf1d3399685bcaa44237304ce1792ee49435723dcfdc170b6da7d3c4f2e23afdd9f9dca827ff09b8515842a99dd59ca83c3ffd6bdcb4a8a33ea4f87058852f2a6f189ada71ba4ed31e8fb8c4ae11db80b6864504feb4a30b612ccda61b856df64f296f3daaad9dd781b0f27358b175cfa9f06ac0f1bc821b98dabb42ccdf085d5aecde3aacf7e005270c1c6562f64b2b409c8d0c7d629cc1906696364540a5f6426a429f0c8e6865ccc4b7f698aac9e0c6c826f153cd7227309d2c3675702ae613e337b54347baa34445e7efd41fff748f0856b88bd18235c2866e0a403693f1295c627bb84beca9f9da792c5ce7f008ccc8544cc3f9f399a4d2326a7d0eabf565072bb3d6b0b4625f93b12de4fc107183b29bbde0d49014358eaa2c159d0290d7b5076273f64 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = fca51a6d61166129a283ca1b61cebcc1 -IVlen = 128 -IV = e424b77aef3cde063133871742d8d859 -FixedInputDataByteLen = 51 -FixedInputData = ddbb53dc4ac547055f8024d119d3f412ce877d14631eeab5944a7033debd4d41da473430182418d02476e685a6fe1b0b60e604 -KO = 05d6e87c0f31e4974b0d95b9dd821c9088d4181beab7eecf595e51f9209a5176b31f127ea13b39f05194a3b54ee2b8dec28ab775bdd7a06b5fa429fdfe1b7c73 - -COUNT=1 -L = 512 -KI = 5c7df28ea0a0e11ca578a6234d37395f -IVlen = 128 -IV = b9b50c8e580a35cdf15a885a96caba97 -FixedInputDataByteLen = 51 -FixedInputData = 96b3b728201b949c713619db67577ec7ef623bbf907e94894c6c6afd02066d58c52d45a30e9db2cfa9703315b18f2cb946f24e -KO = 41fd50023da562961d18167ba367d4598671d667c611e91edf36e186fe640917b0b2e8c3dc1996579b5d2b06b093274f37324de8f3a2c9847817ac87ddb09568 - -COUNT=2 -L = 512 -KI = bec847ce509355233fbf4a3906d3ac03 -IVlen = 128 -IV = 8d140bfe232245c0d98787813043dcd2 -FixedInputDataByteLen = 51 -FixedInputData = 38055e2d616a6480d95d14d78099062592eb342498182b25122eec7904c593f7d242b469600c655c84a43816e0e3eea1a51e5c -KO = 89c61dd3761d8dd947c4730e751c195fa8ff17dea581d273a40f9cc8586a724e1b098ef3db2f248b6251b623d1aed4e8a30f3a902f3506723f188fe8ec316b88 - -COUNT=3 -L = 512 -KI = bde3a55126001f8bce8c09382481eb2d -IVlen = 128 -IV = fa51229d05e28e145128a0cfdb98a9e0 -FixedInputDataByteLen = 51 -FixedInputData = 3fa9a40b010dfa5203cf1cfa9f584ca5dc97e4ddd314cbd10a6e8a220d4f21f60f71fa31c8c76c921a2685f820f14255ed2ee4 -KO = a76725f703449a159c3a84e182bd3d1863f5d81abe78083255e40186442bd29419938ffb2629e3f3304509ab7a8c9dffc605b3b94c4607e3bdf4af76b5af7b49 - -COUNT=4 -L = 512 -KI = 4d2b88f5da1d13a23c0a245d8326fde2 -IVlen = 128 -IV = 28f57a80ffd4c30c9f4e9832f1ab9a7f -FixedInputDataByteLen = 51 -FixedInputData = b4ec621b1e03dc6f476c84b707d1da4e938d3feb614ea2bd17752e07c0dc17d399165b0fa6a824157aae9c16c8c47e8fb450bc -KO = b15510f40f2f68335358a63a739a98b7a380c007a57c56078a6d032029018e73bf1d71b80ddc8b604e406de26854f8fcdfdc3a255697ca8755052ffa07d9f961 - -COUNT=5 -L = 512 -KI = e8bc58215ab21ac622ebbfab9b203a09 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d6e7b9f7ad2f8dac079ec9f9315eab2859c19edca79793dd76b5b5cd1a27f6cc8203da2236305b16edaa3f182005bc8819799 -KO = 6c99b90d19ceaff94908c3256d4d9eb5fb4bbf3f112548d5177b7defdefa996cda8abc4c31dec8133b26462f38fc3b9b77438ed33883bcff87b45e0e548c9763 - -COUNT=6 -L = 512 -KI = 09515382aab3edf56dbf4abc734d8534 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 587760ad347bd2fadfb54e39e3cb8c21ac993d7df99bd8333ec8e37cb9cfa4ffe1051527d9ba15dc44c305bb7fec5923d88477 -KO = b93d2829a61bbf45f9c158baba3166115683475ae7d0c4277bcf1e0a762a4684986fa25e60f05f467d6de3184ee53d83bfc94a8c6be70a8396f4e3acdbca15c7 - -COUNT=7 -L = 512 -KI = 6862f8a9f7ce971a964aab3b5917f879 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa6eae6a6309445e79b2ebad6d87487868b2cb55d8f449363f028f739086c35330a5ce87348d1cdbd1e45ee7503c8e32adefe6 -KO = 371178220b0ac6568554b43264700817d05e47f0037898de9544067efc554866c04d952027c9b1e3b8aa0f326bad26cc1db7acc58b63b8a530130eb71a366b85 - -COUNT=8 -L = 512 -KI = 2c7121ceb48fa2de106089a8952264a9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2e856cd5860bf95e4bd5807327cd465b05a35a2434b932a353cc7f2e03853b1dfc1f2dac309493047b66eaa4bb995ef106b81a -KO = 382510f250aa49bb59dafab5803f18bc6e0d158d7ab9959d46b87e22ff8eb619dda44c49988cf70b7bf45a92ceb5339362f23f88c17620a7793ecca147c3cec8 - -COUNT=9 -L = 512 -KI = dbfb62c3ddeed0b32dec7ea9550731a1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2373265b7bccbee77cec746fd3ffd2798a352eeb6af126b923f4d828e7b56615fa68c32e18880bcc9136599a1a777f5bb8b00 -KO = f04338a1f9bf69e1e4c85f0ac1159b849263da8b75ae78e570cc8f646d5f1870a6f9c17909504a56addea208e1d686049f03550a49d5993c30155af45ff97d91 - -COUNT=10 -L = 2048 -KI = 602f6f99eb6fc44892e0986af40e5665 -IVlen = 128 -IV = c488196e6e4140578b8bc18961bc0858 -FixedInputDataByteLen = 51 -FixedInputData = 81c044575e5ba50497fd085e409a1c6925d676c1befa7f55702a4499e5278f13f13c13c186d64689f8847ab472583dcfdda9d9 -KO = e2bb95aa1d5a25423229cf90928675c97d8bb4717591908e1dfaa456cb96e1676b20e47b2be217e2f516c0c76bd6e4ee767ed2ede168114d4dc3ec6d031ae2193513b5b5d5d783041991d817ef8c80d2d560633934b1d36c270c2696295bccd4ef235c88b1b806cbfb748a7642df3efb7a1113c157d930c0dcc647f8287f2fd10467641ef9d5c1c76ea967f2be167c883e2ab9398ebff87bae0850231569e1fedf0b96bd1b4693223bfc5f1ac824ec23a1b66a8d720b0ec0ee08895c8f60dbc8e7c856a637733e08d1b9f4ee58d07a5b75704ffcbe1ebb9db63b385a69b7718dcc403eb43c594380bcf6596e9f53b896f23f93b65ad0dc1628809ce7874643d3 - -COUNT=11 -L = 2048 -KI = d2acb59ce512e4a0c78681b96b8b3a12 -IVlen = 128 -IV = eacd72fe4b8bb54a029aa2cdfb3c6ad4 -FixedInputDataByteLen = 51 -FixedInputData = b69f59767c9cb34cfd8214b6407193bd2a3ae1eac699dd8a12e3822edb6a1aacd5da760380b28c294fa94300c8c870bcf5be09 -KO = 14cf78e9c64b60c46dc34112ed252285328b3ac9bd547e76525ccbecd2f7cbd8c56d6ec5702e1865213f6345247e2635acee98c49af6a268e6848ff5e790a68621563da6fc4d2e440a07693306157be81a5da51f9f986c9909ec8187b40f6ec7687562446ea0f55e8b7681d119fd3c2c86d56876a319ef40c2f25892a8fc67062a5ed34c4e82e44b5cf86d98f8df914f90f9f00c9339bd3165a62a23b7bf4d0aadc12767b3b601c51fac436574c9316500af300db53e719c32df45af2c3b966bc9eb62970203a1d21abaa4bef3f3d71b50b458ddc19f93b8232f02599831299c3fe4833456aaf0abc42e7c2d547cbe36408f6d82e43510717d9e451f2f5bf79f - -COUNT=12 -L = 2048 -KI = 607c5e272396dff016ceaffca10bebfd -IVlen = 128 -IV = ecb74a3cb5c4d78199f5dbd1dc066298 -FixedInputDataByteLen = 51 -FixedInputData = d7e7cb267d72f57e191db5ed7a87a32b794c8749482824a455cdca18b6f54022a519cbe571af4a1809faea78e2ce86fd599279 -KO = ef5130008d3a1d2cac9d179133a85efac1db444b51be809dbedecb30e79237c3ab29688260a3506a1e037facb6e9deb9efd1bbef79f894ee85b68fe5b031c279e230a955425cf17140206fea153dc015dd86ee2ffbb9529ad47316ed34d52de0ec0bdaa9585d564839303802f71b1ea860e5f1859ccd5f017936bee95abdad79a1ecd959dd50cea928e04a3ef7414b3d3493dcd70efb89e590ee133cb03611e2d1d07be2462fb265ddfc32f9c4a4c1c32fd3486e0eb413f4f0666a752cf70c864de26359571bd1966f5544e087e90f992b85d72525b72e65d9ec9ed87b009247a22298bfda5442e226887a6bfb7533f0c27cf8aed7606f3c62b22341f8e2771d - -COUNT=13 -L = 2048 -KI = 2a2d49c53af66d9447d8b6afeb8758ad -IVlen = 128 -IV = 23f7e12dbc4ba0503d18424466431e56 -FixedInputDataByteLen = 51 -FixedInputData = c3e3ce0ddba8e43e8e9fba6f2a2dba5c3aea19d4da11768297b72b6ccedca8e9a8b62acd06d69ed208c21af0bd0745c8c9d661 -KO = 148c082546a03d9ee9f0d482f2c8ce5ed66366e5775cfd5b00b06fbec228774db888ffda82d00c3e357969f59377c36b1c3dec42e30b35a9395abb4eaeca3d4d59f222b2e067eaaea8dcbcbcdecc4bc80ce12c5ca5bfc4c3b5cdb874b77826f78b21d71616b3c7c4cae6b6f79f2fa15a02da4a5511093355b6c5fda0970ef4c433ee492749c3a7912653e6b6a587b9d67f46ed13a6e03f801cefc64d6ede28a08a389bcfaf4436549d35831a91a98c54651ad796e496444353915a2eec5201fcb97386c52d11e3a20c2372633bb7f71c6cfd4b80c2d7e54ef2d851c5bde9c4d4a11ae5b3280776d29e5fd319e8d5447fc31d77073a78d57d94d9cd59bafa5733 - -COUNT=14 -L = 2048 -KI = 10bf6353386524db9cf08422111afa72 -IVlen = 128 -IV = 2776f7dd3ab9800c7dcf2388932d2479 -FixedInputDataByteLen = 51 -FixedInputData = 063b8852d65d75f0b38acab3d28e756a78898524089a37ee17709f43ae3e0e23314d99c35fd780b4a280dded9637f9aaeee192 -KO = a8c7f09b6483775d08d9b74e380f3ebc517d41c9598b82755fdfe93a6baf1d966f8a9eb3d20056998e72c374ed560b6c640fdc2772640fffbff25887080539efbea7bb8124305b2362ab66f1fe1e71fa83a610effd94fdb482919b74eb68bc6b24fecdc938e41cb12d063bb0105c571400675090df4789e3d0dd69f05e4f6fbd4603f29c75ca2571344d22f355b1878255b7d044df676da413af9bec6aa56801f29d4c74e57a633c094d70378e168377d688ad1781831d69fa894dab88d95fd3637ff9b22f99d55e695eaf3e3e7e504208b1c570409108b029ee761b9f45aa6f35edc134d762815840d59dce9e03ab6bd919aecdae0adf5b8dfc7133eea0c8c8 - -COUNT=15 -L = 2048 -KI = 44e01ebc61f3249c7e9b9a0f6e27b86d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2fb4d6ec4d27fdf74b262854ed62418f22058351b1871bac7130e34bf999fefe58936e01e5d28b60f5e67ec819b31bf9d1fd90 -KO = 1570d7af6f7568150b3b8525a8813c82817c6469efbdce472770c9fe0410882c73d9b13982222300ca2b6d34b39fddc67b8502cae2201a6db20acf6dea506d3efb90d818633690e71dca7f1fe651f7dcdd2fcb8b31e1f383bc2e71c3aa2609690193940bee097c979203a58797541ed8fff232a90c620fcef6bd41a246c68b4af775740ea5fa8859dc408d970ec3aedf2117da6fee9a6c1909f393b7a2b46affef48ad8424772ccb21ed27640129ffda08184cd05db1febabe2e94e8b44e1a97dea18920da4134c3e085dbf7d29031c86c17cbb8a8589855461e284dcc3d3adfafffeb3d916d8a564a16e65e96d883981436720cf112c3da0e738be48da2e7dc - -COUNT=16 -L = 2048 -KI = f265c12cd79c42ab3b8d70ab8212c0ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cfe2a0b6f7a1f4a02e4ef9b08b7bc9a77fad2ffb8883e5401cd88fc46429e8156031ff16d64e9ccc428669db707d8a9438abf5 -KO = c628ed80302e0473b9e5b330338ebb59d2e45d1db66baf7e5cdc47caaaafcea3d6d9da59621e8bd5e68ae65131b7890140d7d946398317df5a9a90bb6accb51e76a468647e35cef58ad6b12092f1555eee7595ab2f28a6984f745730f005cdf15875dc1a5df15951f3fc935b5ae92b33a0c360c642f590be788d3a981bf2bfdad7605fcad30c776c292e4579b4d4275d74e36c33314b6bfc569d03a0f83ff7fce1f5b45f75976dd2fa17c4fb6ed34f4e1a91285fcdeb9a04d25c03726ded92aec3fb7dbf622575e7467035e4e447495bcb945e55b7a4d57d0bd6730c36fe58571b7dd51323d3538ddb247a9e89f77c844e4f0aef19def761363c1091db030271 - -COUNT=17 -L = 2048 -KI = 2453028efb5e951bfb5a10a629901f7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c96b9624fe71948b08e30cb0f7ec08a2df2e2259ebab0a71e051bf881410a4b31e0ea0eef04be4605bf74dd9b16a2e28853b48 -KO = ce9c8cb691932ad5e3776fe6c3950d739b8dd79250966a7463f29478ac6962412384135cf671a94d5b9d541c48fd85c6f48b59ff87022ba901f98d4d9568d71f69dd8c317180d17b1abf1fa87226dd960ea26bab959c8617779cfdc400af9b3e4869ad27ed92e1b1854c8bb16a38baf99da94cdb29719d4ced3aba12aefd7254386c37b0375f7048a3f4c568ca9bef255f7735b46b8debebae2d9a3ea335691c8eecfd508e17d75cbf19a3f0c31fbeed70fd3ea641aaf7b36886364c156ab85563593d9183d0fb766782ff7142bf5d91dfeb2a2b9a0edc5de57bb654f045ce18511eac4677185f992743fa29ef723a43bf640cca8a6c93df953909dcb2b837e1 - -COUNT=18 -L = 2048 -KI = 7adeb4d4bc8a61910debf0c8687205a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0344c88d97ba9f8b0c09027d57c17dd4b03ed4d0eaeda4eecd3545f230d520f2cb3d8995984388859e184ab4a5c64912f8a6dd -KO = 39badffe09bbb8fac7c5737264075712f39d097a4887d06e391bfff152c3088f9298d4eb45d60ff5d92c7157bfbeace1c9588022f59c8a46aac6777498f7c797d4eeb5f0435d115d55c22379be4d3f3bcdff9b3b8a4aa7aac9e99254e3d79e902b8f1914f95fbec88005a574c781fa2ee0a7f67ac2d840fad213305afcad688b64a18eb0fbb98e2b364bbace5bd6a5c6b2d7138a4e2294263f084c89d338f80a1d2f3de2d54fccd0de4ca9f159d3f8cd1b47761bd2256d03d5b13d0b4c30f3af463bd9c21da2577740a72188958eccf367a7dfdf853475763d507b84eb92fb5f953e80c599fe1444b920ef17be4173ff7429fb0c86f7bba58ca77f65ef36a4a9 - -COUNT=19 -L = 2048 -KI = c40c2d63513ca280cd15eecc271516b9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57bbd1c311b005e1f063478323fee817314605e780335ee53078746780f86bf9666bc2c142c6efc0feee05820391aa84c633c9 -KO = 21fb0c8fc63e317fc584f7bb28598faa0ba419344e688f528182954d68eda1faa1544b508786a961464ad6a843a48a3b2326342c9cb271705c70e0df4d8a10b0244b12e709b42401f0208e8cbe3e57b44a727a719816fa954f7dae7c7235fad81ba97cd0e86cc662cb78da1b017f56a70bb43c933f34547528f1d560c6f6e1a8c26a52e7788857e16f4700826386b47da3051913bcbfd9b201e4c98ac910e73eb09c801c01b0b6ff3a00fed481c866109bbdeaeedf28811875f8052ff8b780957e78f7be95da47bda5b8f911dfe05500b97876e8029325f727ccf3b071057f4f2ee080db02db4ca84b7852f131221d3096427af74812a6162d8e7e8db6b23c9a - -COUNT=20 -L = 560 -KI = eae8dd27a8651b2c335bf1e329e64ace -IVlen = 128 -IV = 10324bc4c0df6a0713babf07fa95a63c -FixedInputDataByteLen = 51 -FixedInputData = bd10c32c33debaec63735b64e7df10d7155b6069b7e6d0ee1b7164b0250bb05b4669af191fc621589fc655d3ec43a164512230 -KO = 6df27b2e64a5d54d7c1e4ddbcf6a016cc5cdfc984f9aa81dcf88b270e875791f2bf19db5512f4b6584337542213f29f411c1bff80df61f8f54876f859062b07720da8d2ed826 - -COUNT=21 -L = 560 -KI = 01a79017c7ce999e27415f8ec2e47f58 -IVlen = 128 -IV = 7a8aa9776990a9ba35d2686e41b484fc -FixedInputDataByteLen = 51 -FixedInputData = 3dddfe1106511582ba88a41fc33ff1e30e5dc865e51087ef5c18d9e55a2e64187fab8499f7c3e0a940adc0d4f94d3c35bf5ab7 -KO = bcbc9e8c803a115c360bcac2afd7abde3ac5ab48169dc10b421294ec4d62c08b403db46f667a264b3836febb2852293e0ce7875055271a4c39d3dea5d2c6b73b8d6343cb6d0a - -COUNT=22 -L = 560 -KI = 3f70317d973cc2da15c54a9c92e65993 -IVlen = 128 -IV = ee12c358dac9c7c018c608b2f3284ee5 -FixedInputDataByteLen = 51 -FixedInputData = d9ebbd6deef0733c1ae98327c2560d0a2831f80be4c2d562c43c48133543eb51efc6c066fa35af9d43bfff14da53097243a428 -KO = ec785eac4c13e6591d468fc60926d8ba4b50c72beb5ddc9b0c17ab48d754d4eb97838d88a22b967703bf357ffa81f1b8e00c437f1a867c45edd596e4511bfa42fee921d385c4 - -COUNT=23 -L = 560 -KI = 22de4472c77184cd75ff780d9cd73924 -IVlen = 128 -IV = dc508484b0122853456515ce7fad87db -FixedInputDataByteLen = 51 -FixedInputData = 6a143cc7c115d36eab0fcacd38b6bed4802ae007bac478c5fe618b71ba37063a592f2f2b1248dffb20dc130ff22f4457b06418 -KO = 8f7b0d07a4abe46c18adb16414cb798549d31d47da8953b352bc6120e3ebf1e2cdbd3205ccdb8aaf0caacf6135a7cd02cde3ae1af001fd50f699f1efbb4b5b3ba262ea466732 - -COUNT=24 -L = 560 -KI = a91acf8be9581037e1da81b2bb23e4cc -IVlen = 128 -IV = 04205b6a2168dcda7a71d94cc73ad4a1 -FixedInputDataByteLen = 51 -FixedInputData = 521e94618406e931e7ad4a382b66d76b209428a63c44eab5ced65bd24a123f7de385b21b2627667ac730894f43385e5bb2e279 -KO = 9a51fb1f8f22aafe3a495ce35127d4c17d98997c6571f968ddadbd5baad9fc5c7687a3686fe204541af0de135eac517bbae493f406e7263765c01e7d9a5347ecdd769dca9c4e - -COUNT=25 -L = 560 -KI = c71b5de67f790186e47470393ac58ab5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1720d4ad4afd49237f2d4589b6de5fe3b72c7bb452b48876dc49f98145b132e4700dacb6c14e6a93c87652314ed24b2392b4c4 -KO = 82b1de8ca0f56559cd498f8cfaea3843adf02a6e03c5629ebf74fdce0f28af69d78cb02cabc8c4965741e7d19691e809a2bc7eb06bade1837edbd1ac9a66095251fbd8e349bd - -COUNT=26 -L = 560 -KI = 7b5ca029ce193fd92f51709c959897cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 291ce42e040b5f8de81fdc23d1491d7ec417256c737921716e19d0c949674be1b6de2c17a0b3d104219085ec26a4f45032dea0 -KO = be344a8923001c49c9b74848101ee2a48fc2f1210e11e7a2c244e3b4967f303713d62c538e65ef7bf59949e8ce4b1579755ee0a796e96bf71273532238245adb7dd3a22cd5fd - -COUNT=27 -L = 560 -KI = 1de1d0e8d163ca49715c11251f196ebf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 15623b5f3f3db8528f0ce46a5f5fd294a7f78e5c91b1a67b3821be74ca7899205982e7c6e37adbea8d9d63c2394c149dc6d517 -KO = cbd205e3f562de191990c5e2e3890b11127728882799cfb002b77933c68e88ed0c5f0dbe61ca3e84fd4f0314ed8b7c75e5c077157c82a9c49120256ccdc868412ab2290b5f06 - -COUNT=28 -L = 560 -KI = 59356cd43a05a97d01eafff31eb60cd2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4900ba108b2b15a6001154ec43cf024755e500f168e7656ad05fd4c77f68714a83a37d7be54263e95fdce392f637b5e324f381 -KO = 46a2649d4faddb61906b3fb26ba30aa1bd8b45ab845f6f43508796ca7c0770182829a45cb1c5ec3bcadd3533346697b2f006fc15a509cb57503e99d4d37ce5e89f08f7548d6d - -COUNT=29 -L = 560 -KI = 9d68b2bdadf8d2518faacb5b91ee4c6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8ab5ee8fe1ec46fbe8be6056876110b1b8d0c410d79fe46ec9de1422e1a10990db8ab815ec9c657bf26e1e57edcb9df6b61d12 -KO = 3ebc521111838f3acfeae1d00c7e6518abdd4b58f8bc30f92c4674d5344ec364706070977f7f0824193406c79db59d48d6d29ba8fab4682fe0c61c2a50c1a4f38d1b8f208a5b - -COUNT=30 -L = 2400 -KI = 6e580362569935e51240d4c9bc7b728c -IVlen = 128 -IV = e3ee538bd0bdc9e3e715c1b128ba793f -FixedInputDataByteLen = 51 -FixedInputData = 57f7e1e02a2c23cc8bb85d0ea5010676ebc4e602d3addb09513512ad224141b9a632d0421aea76e69fb8c925fd49d977d8c2a7 -KO = aa322e398ce6ac3a69d0757307d5165396aaff2f9f9b0fc48607015f67632bb2c6ee0fa2cae95014d1e11c1287a78b54c7f4459ad109342aa2f2d00cfa0e57145e58fe1a49e4c40e9aa4e87bc60a8a752bd8d2cb599f582b426c0701d5710c4eba43cb14d6b11558f5d8fe0f0db4f0d696b32686c0d46cceccdacf2c299aaa8f5767ec5553d86aead5cdce83475c32f61ed394117a31c705bbff3c8fd05871b6449d35751df53f4f23d858769adece600f0c63d5e82a85a31c19faadcf399805f8d247d35a4babc15534cc2697cd507f2439d5c6ae240ff0efc50341247b02cf8205b391c96e39db2a4f2037f4213c6049c2a9dc8e4a43d589a06ae1e5098caf1effe1446a7d6424c92d4bef8fc6126440435b05d2e5741c9e58010f54bef49f8ebdb65173ae3bfe1b0a41c7 - -COUNT=31 -L = 2400 -KI = 65d1985faa40d868770178c3a343336f -IVlen = 128 -IV = 419972d9245927cc464a5d3651ab00bb -FixedInputDataByteLen = 51 -FixedInputData = ca532d9ff352d0199ab77c94b481d61b39aa79a37ff4d62f2298ec097bdbda1a138411a5829ed21f98e47058d7b48fde387778 -KO = b1ad2597adcb039b775a8374fb2681ae71fb9cfc4b794829947b39d50856b962233943954aa164e6d5353b2c12aad38aef9ffe74967aa73c23f3d986be2f0bf1604334bf1e1a9f9b9443b201feb3719c45a545c5c73d9d248631ea994fe9bde5895152392d3c7a16066fdd3e3b36eb8aad62f479904b0360a6f67339854852473a9709f64758d19f07e54c4064237ca19cf8c1fc1af84caddbd36a69acb603efedcd0293de1801034e41927d8cbd2205e2a69b679a70f3d08abc510ed8652c0d18afe2ce8a40ef046741d7b7656c450f7d0b5591b878c437e5a076731c3f30284f6c52286af8a0e1d4e2baca374fa44e643c3b89ff7e2c9e3f99e15d9ee4ab611e6bcf74f33317a91661686f65e3655da3f92f44afa5a0bb8b449b7faba6334341c1af581d65dbe12dd2ce58 - -COUNT=32 -L = 2400 -KI = 1ce61d50f871e375ab57c54a06b61901 -IVlen = 128 -IV = 0342573aceb8200b44bc8ac168d1f32a -FixedInputDataByteLen = 51 -FixedInputData = bc70a7404350e8dca8d81a7cbe2386c5f2814152824308b5a1f9b4f45914e1fba3b0aea91437b80bad9caa5ba5e665366a56cf -KO = 836de4654c522ad57c6ea11f3b8239a93fdae99c1b746f62ad0e8866ecf5e28757d002155eaacdbddf10c81ad7ef0f106bf44df8717605ce3ab589296627a68b23a7fa03ed61a64bf9391e7bda0a7ca136933ce084b08a2afd5611baea0ca191caf83309e78654305ebbf3eb8ce4a1b7471df0370f37b81a6976e1cd4a4c152f1d1e6c55a5bb34f2b26acfb1c821a362e84bca46c8c700c66c6199091c3e1c1a922ff73601f1bab7f362dc7181adb4cca6cd55bb74d65bbfb795111a4ff67f6e348f809a8ec42fa0866fd27407899c36947814b087f7789002c62ae16c3cc3ef283df1809d0f543fae1207d494ec14fce4a4b2a02983d15af8d6dced855602cb291ba46ae8f49b2de8d0c3745c7701ec3876e634ee968b23193b182af16a3a4b69f4a075b810cc8e49147d2d - -COUNT=33 -L = 2400 -KI = 7c146e0554526b397d750171e1abceda -IVlen = 128 -IV = 856b9105ff05d57755143620bbda465c -FixedInputDataByteLen = 51 -FixedInputData = 046e4498a8f2e5efe0bb6a7c0a5347761f899941373893535b9e8a5734231571dd0b362b6f0ee2d21f3715e161d4eca4b5b587 -KO = 02865bd57a75b81dd07670e5113e1081db0a6cf5ceca8b7e0edd4f75a4c3dfe95b5dd001bd30ee3479828ae4fe4c81c46f18a71ec7002e151b24eeadfb651c8fc47e3142b801678ad956a4894af7038fc1ca6e84f55a6606619fbe3489a687b26daa095e59dadf5ba37797b5da87da069e7a3b1e84b5719117763418121b96dc6d5b69b5b4c6163ec146d68abe085a5ae1105087a9ef41dd1a7b7387f96888c058d8cca22ff6a15afe4f475c53c394a871ccc8b0d09f765acbe1abf7d5daad52ffdc3480ccbf73af4a3f37e695b437693bc7acca9925732693c8766aeeaf17d25f8e6de28849669c3ef17dc746f41473944323a6b8b9b2408143d501a0ceeaebec82e9dd050cd71564b496baa3f2a30cca13362d28b46ca1a9cdbb78a50e8f57c947f432b8f88da118a82373 - -COUNT=34 -L = 2400 -KI = de459bc9b8925daba9ece5e2cce825e1 -IVlen = 128 -IV = 6d79a0db24eba627c796ad993f5df422 -FixedInputDataByteLen = 51 -FixedInputData = a7b13eede2fb80da315a237720527c231582d29f6337f0c570261d5b1496b8a7695449db4e57680b65d547fc487c551faa7f5c -KO = fbfd5cca10855059cf6a9f4c25f6f92bf357b67cabcd714b103ef0436c7dc4ad487a4bf7799a00a3bf5496b4a1f940dc466f84ca692c61a4f4b77aa737b573258f905b4e828089b4d85b5427dcc90ae72d1dba45c5ddb5d4a2bc529806b305a9e47ee19dd6a8fa67ef1ff8786693743cf298ac60aa2e5f123c7b71fbbf26fd0c5dd0ee485a51725fd41d2f595e08f42a75b76bf281461f7332b72b56671cc9412cbc322ada96b9d5e3bba91765786ee5e798f9a0fb4b179443063c60ac3d14cbb7b4e312c02f0eda056e95f349f7fc8344d054140b009c1e0967c3aa01c5a52600bfb79a79d8786c690403b8375ddd74b537a8e7f45c72e2e15123d035c2c0d7becbfe8de9481ff76e621ddce043f2520a32bfbd514cf44a06228b9bfb0b63fe6e997083bef12f90ef2f91b0 - -COUNT=35 -L = 2400 -KI = d7282290fbbecd2048caefdd3f8cc406 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 801192c17b77dd812f659ad0fc6eb7861ed15ef789ad850da2a1db7b1d108908e80b5c36636bda8876a79387d6b98b392ac401 -KO = 9513a5c6ba60078649a0618c15114aacb77ed6f0b6cc25e0d1283319cf0dad9b4ffc87a455a0ec2da33da44b03c2cdd193e9c47751fd319e23492938a21c30d09612affeb499757c271adec43e902251d42ed8cf4454166779850013c78e9a3425ba2a6b91bcdb419a8d93f808a0aa9ccba40daec3965c836b8946b6f64c52c5ce7ca86fa9cadd1442b142f4b25d929b1680f671ef5f8bf50964be59afe49e1151db0ddf5e352c8c823a9807be01f1f755ec08a4b789f882faa0a656ac6c255ac5991a0a16b9a2161b2aee570c3a2ec768ba53a4091156cd56ac3d76e12a67fd6b210185932dd2a7d8c71dbb0daae3c9352c7a1313897caabdcdbc583cabf294d8e7decb053b7a67a231e4e72441f535e0f3b1a3a50584a5b7b36c42471327dd53d771f0c411207cb64f130d - -COUNT=36 -L = 2400 -KI = 02d5eac44e69c31c0318b55f13248ca2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86af3cbad6c4c2b2e1e82b5a50514a907b6e28347b90f1c8b049d7b0dd73a700fc65b6501946dff0f91098cf6cdfb2df29dc3c -KO = 76a9b334d0267efcabe5c2195116fd833c40dad7d19317834e05f12597f7d5882969070accf0b50ccca212eb54bfc4f9e089404891f1cab9811bf5e64ef279c39a693f2f7ed54547029c347c62b30e11c414124c876cfab0e93b9a0e5bdc2bc9d11552e9d25027e06c8bfb1e56f45f8189bb214566cb6a235322ef029d506cebbbe44015a911e58ea0003a00fd0dda949a73d5557eb0c7dbfc461b8e7764f08840b397700722efe02bf51cd0aa0a8288270191a4fa81e6cfac94989a9302f9df7a7c4362bd8f4f36357aea64bfbbec368990c879fbdb5d362a581cdb747a4aff2202d1d330f9e0a1f3c62a99028429901daf83924a60c99b5de60f4dc08a602ebd1115965cc9247c4ad0e61d2e668b29a603783afbd6d6b1b93bf0c86f3a2776871a1172b26168355c3e5486 - -COUNT=37 -L = 2400 -KI = ed4049f5ba4bf16d0ea48ed9d6a54119 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f26dcb75a913ba3df861ff1043ac9f6f0dfb8b2078210998d366a7839e9796e247fbefdaba0333eb03503d6b0cf369de1cff45 -KO = 326658ed3f8c6d1895e484ebd62789a4d876e7c5c0583dd6cf34bf770bbb85eebe3d367c068f70deb5c4f90497f4770b3f3ddf7e846f9f9b1c866e1cfb1aa8157185e46744d735a80916ce74fcb37b10e056d5ed8989ce25c80a26b1468dbcd56130497bcb73f791b888a1a176e93f89ec622e7396cc385a10bbefb48de75c4ea6395f61d63c6da8d055464c437bec90fdb5f0810a939be1d97b740c68283ee41d9d8c74d5aa7963468268dba059825540ee2c49419c4d6ae0bc9e5af285500d194db0d968bae58bfe196b4fc40f925180505f1f0f3b357704fc4be682d9e9ad36c35b1f7e3f3e3834a62129c2e7222f3b67b014bfbec1d844c72ee91a4a794100786e7033895e5d761c07bdfcc5478a710244904f1dbc90c1784fe3b6e78f89717b7a8f296ffc8eee8e3f26 - -COUNT=38 -L = 2400 -KI = 53fec1b558f0fa52f2026ff2abaaed35 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 196ee0e3b760c8fb8a68739a4c93de97dbee65ede772158cf86437a78a97b86501d0c2ad644265dfdb2d28a4033d354f4c6786 -KO = 8b2cd7d649a43930e5731c7c23df0766c870ea7e708d78d1b516c623cb78bdab6fb119320b0b2b453235cc81961d332ed69601b6d022f051ec4bc184ce8b37b103ff9e709a334f5e19b50468f3f21c54cce8052fcad9fca7a347a68db79b185984b3437beb9909ea04304154b0d174fd64a0b59d75bb3086e2fce6ad186484bed704f27b57ef8f9fd1fd422317a99f391f6245046db484799bd860964b85b1d53c7e79fe313447e52ad28dffdbdcc9b536a29c718d1ad4234e33748544199a9e076470bd2c079f2cb9d2d9eabac712ad01447dde6c9315b85b5f1b0c998abf144ccd75fb43fbba8c695c37ecb2d5f247088bacb0863ec9b526ec8d047b19e23bb6ff185c54a1d255971776b8379aa6eb3af6cfb1a667d83aff882d828b2009ee24eb0ebe97873b7dfb6d4cce - -COUNT=39 -L = 2400 -KI = c3cb0f409e7d59c876e8b772c10fd31a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb73c3fa3f4a260973281b81f160f0a8a0c4c667b761a3e51ce30cabcc2dad9479e05e19a6dcb5bcff15c827ecefb6efa746e7 -KO = cf19c28a3b7e30c11c6565e4c33a2c7f29b75814784a72160ca06df8f9577950c59adde07004edc4425d7c9549e3ae2070b26c5065df37bd14dbf5408dbfa0094cd1ee5007242f795af789a1a108b8ac3ed43d1f65a6d289cafed8402ec8202f326d080400c59e308122b0a8a32a781b6cab9cf37716d43a4fc46f6168ddb5007e10d51d6672bb66e1e9311d71e3e2f4fa994f44325ed1cbdd3a49007a794197dd7a9baa3c7b3e07888e6c879cf6011d98316d499bfc1eb0b60ac10f4d1b87f47164fbf412061aa96b43318f7b02e01a39f41aa722286edee6ef8a7ee77b398178ecf40fb52487d3e9f00e40fce788f177378d3979e6a62fb0206faefd1a470fbdac61bf168a77a81351cf8255f7b0f4f5c2a736bdc8d1cf5da8d97aaf2ada84f3dede8f654a5832414572a4 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = fc126023dfc9fb6cd56fc5602c05657c -IVlen = 128 -IV = a736f838049448e04845b6b0ec2d6f63 -FixedInputDataByteLen = 51 -FixedInputData = 8068d7b98b8c4528ae8555ab5ae67c71a92b664245ec7d333b22479c5072421e7239761494e45eff09297737a1bb2c39fe9f1f -KO = b9824ad55e6913151a3f736f5fd6bf0807e1acb8c7ed0082df138ba1cc0e6db3c667c8abae707cdf920f48bf77765437407b564333796c037b0378f8f431114c - -COUNT=1 -L = 512 -KI = 4f239f690e32e4a81d1565d4626a0423 -IVlen = 128 -IV = 235f416b7ddfc78ef16c6a1342d10263 -FixedInputDataByteLen = 51 -FixedInputData = ea92bb49a6860cd0c160139dc427f0b563c219fad5987fe02aff3d439103d289b62aea99433ef24c51bef17b248cbe2998a175 -KO = 8b8579a9370dfb61eb372de9b84826a57960bfa8eea891582a728b19108303b87b5d9bdfd4f1f6b431a5abd9435bcd6b55b5b9dcb038188a30a17cbcef9b525b - -COUNT=2 -L = 512 -KI = 07098e948050200e32a468fbd2b730c2 -IVlen = 128 -IV = 4c9711e0762ceb4b7a6d5d354384c1f9 -FixedInputDataByteLen = 51 -FixedInputData = 2b388f6f2be2d60d111521a067d5827e78414f8cbcee40ca27e5e9720c48f65e9ac6e4cde91aa805b57ec1534f0e321459f9bf -KO = 34b4db80dabc46166dbfb0398626ebaf96238d1bfa4c4ef037c385cc04b996a9d3b40e6821ff7cc241d7ed638d1c37611a7a5747807f3a3488c891a800476178 - -COUNT=3 -L = 512 -KI = 455777947b9a0655b278ac27ca34d5bc -IVlen = 128 -IV = 6a0d715b9f2dbb34c4eb3c28e4210e3a -FixedInputDataByteLen = 51 -FixedInputData = e369d4ebf1b2f8b5f30877c2e02726ebbcf861bebe007bf9c3759ff24e6f6a824293d952e4bfde1cd96beeb7f56d9e88bd43a9 -KO = c8bdc31b97c6357eb5e5dd703d515d115cbe14f9e5ac58dbb048b387622780ddbe7d360dc1d1696aef5c82ec6d149c9dccddc62fee2b66a27af1a971422be534 - -COUNT=4 -L = 512 -KI = 379d023b96f115b83f51a1bbb4d5a59b -IVlen = 128 -IV = 7600c4de9fdbbcb74e1e2c034c941ec0 -FixedInputDataByteLen = 51 -FixedInputData = 5a0147820ade20c65c27b36b485432a0a7964070192501027dd75f3f9b3bc0852e8b037d7372d1ae61e93c8745c4bf4134483e -KO = 808c3a2f1dfb9837b1294be60a93f64a31a99eab86559eb69f5a863f86e2908d5db1374f012b1fa074bad1f6639e75b7110871941084a8e3ff3140c6a0030b26 - -COUNT=5 -L = 512 -KI = 009fe84ed30e0e8311aa0ebbddb48c20 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 66f9fa37768ca8f57f66efe30ca6906fd23d8474fb56085d596ff47282dd5d30fb35fc9051f4524475ca26518fe83d4dfc44d1 -KO = c63e1a7a6f6a7ad8162025ec7074aca14669fb3a9061ab9e8073f9ebb4a81defe92f520838fd7c60f8ba0dd5790709ceee846e663a979f4336e02f44a5853acb - -COUNT=6 -L = 512 -KI = 8a379ba84975680002f32416a2b86f60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97ce6a269d4f6a391430ad2dad9352a67f622d7d10b9be8e29c5d0180f20f78f0b625f87deaa5e620f91951940cb0736a8015b -KO = 70782f09068c4b6aa9dfe065616a4096600ba3e41441bd0a9b8c7c49984385441cfba31cb6a38d3b76356247b493466f50462a211fe4e957d7e8621323a34e81 - -COUNT=7 -L = 512 -KI = 615e968b5c251f14dd6291a9c9e33369 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 156e70926704663a67cd71c261565794214bcab960fd8ecd54fb6de031df4abfd7b4d654cbc02f5f8b1de82d45e1884973c644 -KO = c9d42f4cd724be85ba09d9a670b5f55d9facef34e7e11d5660352570038a6b30a89486172e39bf568aa7c31dca2a16cddcd8c3f61be02d2a26e8ac1106527f9b - -COUNT=8 -L = 512 -KI = 4e3038b4815ef877f8ca0c9c485bf5e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6bf4e23b324298897f142ac33a6060d9c595318c4a3265dd9abe33992e47c43379f734a87db8117601a1ea0894af87f209322d -KO = 47a8ef26abf63b01c926c4e22efe84057695fc1eec6438a95845ae254a8825d5f241b1e86b0f8a5d2eb4ace8e9d8849f1e0c109caeddab62083231a234d76fef - -COUNT=9 -L = 512 -KI = ef6a5e5084587d4bf97d57b2f6d68be9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff35686566bfb808373b56765d8e87bbecdee09447997cd5a16549dc286d4019e2812ca0b925360c578ef5aa4c7a46f5f426fd -KO = 3b9707a78368b8af36386886584c0c992635c48d9046bf8def0d8a7037d25c647a4f4039ac54d9f6b8d03a33c1a2a6a0167da8378da514d1ce990ec77d12a538 - -COUNT=10 -L = 2048 -KI = 0546bad86d30b88096e3274813f98ae1 -IVlen = 128 -IV = 1ea4516446d0036f41aa64335fcb0196 -FixedInputDataByteLen = 51 -FixedInputData = 47d046fc55e7e76886cbed568815035b04184e49fd7411f16ba1612295adfc1fe098f0b725114cab09d76a3eb6fe981cbfeb89 -KO = a6b56d4cec4a46d14d35ac3dd6845dc9eefff4a95589395d4e65da9720c0bc03063ff01b9b2cda57e0be467e800658bd351028ad012d9309e20077e7bdc70a0e9f0a239be94627206afa3aaa77a2ecc6b98a4061958c18fbfa781801176a8908dc8a95d26205d42f1da434f71726f1dfe08daf68bd00256704ecab7d4f3f645b04b35dcf53b2f4c2da6e31358db1cb94ac7fbe5a972f614a7050b32b070fc5af01521e5cfddd3d0d57cbddcb427f36ad3c666b092f4e1a14839eaee644f04bb1625d01479502bd3d0b11cd8e9ff549989ece35a54c556807bebc2506bb54a5d0deff2e9d9862eac2f099ee8ad2d7906ee134f8de68b9e202b3cc3ff96c7871b8 - -COUNT=11 -L = 2048 -KI = 903e11210bc1d2fce35667d3a4d32cbe -IVlen = 128 -IV = c540346642c46424ad84e3bbaee9e601 -FixedInputDataByteLen = 51 -FixedInputData = f3ae6d51f3416056d97d828f1fda5e74846347ffa6782fc19a6f9cf7ac6f7829cbed1365162a1710668671b684228dc7c88f5a -KO = b5e522e76f8776f4723d2945190e5223fad692081227ea3200b706c76415896a36c24338cf0ff7744f96294f1edf24485b7e1bde5ee7ba823d5a3f3e1b0b7b6c46978038293b483b90d32a19342cec857c9ed893677416d929bb762fd687de8f4a51c78edd741f322aad6ea05f31782cbae72696ebc46e1898eaf7e0415c01c1d234501f5e0ab2bf961d279b5defb99a520c235bd3221e4c52d4036b49c24dc625d4c5d5c5377a8cd1b982b008c5bc9ab0c6a56d2bfa55af74f5e65580aef365e05ff8d35e07c2201a74ef5afb922b51a6ca2e92255fc469036e47a6a84c273e49dca2bf608532f7c006987ca2f516c889f54204745f4e60431b2c46f159da0c - -COUNT=12 -L = 2048 -KI = 7d90582f74d6b50cc5b1ef79cf2d2e9e -IVlen = 128 -IV = 73c8fc8339b3d31cb36c6ae3e53eef61 -FixedInputDataByteLen = 51 -FixedInputData = daddd3045fa05a93bc871d724f4ebe9f5bb278e75413628e83a0aee7be125869f9427923525fc6b47331aba8b9e33d5924f905 -KO = 07c05405cfbf039095b9425925a3c2783c2b56e41018810843a73c19440d7ca84a5f441e64d50da6d0b0eee722eff734203b809e0326dc9d5cf11ae8596b55da667d4ed08937ab728d4fffba1fff611c776e9a26f0378d9da1e4eaed27840a18a5719519748c93458232a5405569687f0c24ffabde161cccd99b5665955fbb6ac34319729cd80dd45dedfea4c3d9e86e76db688fe759afcc32cebd286ad712d89cd43747f43e65677fe111eff5f921a2d906f47d10c107674e54c7df9c5053988aeb24e780a06a4c1736734bd69f96ec92a459eb380a257175c186440023031604f78ea5d055a9c0317edcdb0e13c8412d5edad37bb2727d9dc7d813575a9d2e - -COUNT=13 -L = 2048 -KI = 6a2dee00280b47e00e728051b35223f5 -IVlen = 128 -IV = a7aa6835b8e0063c783ca44839ded026 -FixedInputDataByteLen = 51 -FixedInputData = ac183cf446beb793bc51aeac8e9f2c2ff2e44721eafce86f3468126b1a2dce5fc94877cf024b067c7fc874941b9b2ef291cf59 -KO = 8d5b2b7c975b34223a27b604ad3e83cc364d1feb25bf20ee4bc0c3699e19d4f3930392e103079490140e018670407af8e72881317a41a4457920efe3e4ebff09349f9ace64bc8c936904f3205f42523b529ded8d0106fd806095cc821a6e1e827ce6b726b805fb6626cfbbf55c5cc4e76627859ff6724e9d2b2caf5cd5ce551a53b87a51ff0ad214993182a2afe7321faf26a3e50463051533b412f77ec665b39286e175aeeacc9b4b8b3f52a8b1666b9d688007975e2bf1eb20fb480dbc4b7c43e228b2b208f4b6fe727f2b07c29973e6285a9fc0250ba12d3bb3eec4d4ea7813dfb12d2421802ec679d690cb51c6e535d811bfbeff54c8c8fda49e06081e55 - -COUNT=14 -L = 2048 -KI = 574995cfc8008d1aaa71e9b633b5dfa2 -IVlen = 128 -IV = e5c4030847d89f2a064bd798e714793b -FixedInputDataByteLen = 51 -FixedInputData = e46b4eaeee297eb72d8b18b0ccf2ed72173ef7a7f8b31d4dc5157fc4056f9c43b1f6c8dca5a3cfc9f334f627a8e1103d92c548 -KO = bb75fa45169e71cece121eb6711628e20f8550545fa6cb13d9cc344541c3e609e7b0e1bb27f7ad35f0fa8ea30f0b70242faa67a9f87acefaef1f1c0964b3d6a3c0cf3153d37aaf9cd8b2fff1011fc27051a47f83096d2b26ffa54bc77af5c1d6bc3ec0e3d6f9e2b1775c2ddc041fac6eac7fe1e02485ab0ffbc848ee84b0332da9d302c3c1ff00cf233caaea9663aeb8a59c3ff2b4dd8ecb0a82c543ccec0c86ae027fbc14af51d759f3ce7370ebf438a1f5c8d42140c77c2a0c1ba80ec6153db0c2a9e03dbc8d876e00adb324679f28c56116bb6f3033c36f7f57de3271b087f44b5f422f328d927c4cb93f0de0564661b289ea875418c3cb0c4e07ef0381ba - -COUNT=15 -L = 2048 -KI = a4b1a9653af49484b43b598f2965d7ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dd87ca4e159d268ba73544d5ef9b6d9e133d10ed6b8dcd1a72373120a7bc98499affbd8f4f1bf9155759a3173427fc19033e56 -KO = d94cd1595ff825e5e95e49630c001481bff46efbdd7b0e8aa35d109b2238042808fe40d19162c3391a104bd6ce3efcc6244bae920cf5f8b8a31f3e4d6cb9c5534b942720be47667eec1930f061b928a47288e17a7245e20f5762a4fe7f00faf7199d03c45e3267a6395919491936a190ebbd7b88323c76a0a527984185b52ac0be79e7bace1813068386e7381fec0e32718ea3e5d2214c0f680bd6f87fd5fb5ab4b6862e7410836aefeca7ef8c472d4c91a45f6eb9448e5513d383245f539cfeeba2836ca66d44658930e6a7f1767b167f12a717278a14383204240d4303381a7e916bf38b9c1b9c4045d896af1af3e0ab78758238a117d61fac4f3bc73a4ab6 - -COUNT=16 -L = 2048 -KI = b2e34f57009de5d83e5abbc8eb7cb759 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 66506841c32b84bc5edbd1008b6fcdd33989baa38d13ca8b606532596acc080d2bae5cbc2241d242c520a924f4d4b51384b80d -KO = 1991146cd9e79102757ff7379e126467328ab19ee5fae886c0714e907e5a92ea707a2e1b5ae45b114e713a8b12bf3fc80ef70be2e79cbdd271848aece09acd1e578065094a29d2b291af8e18c0ca181b390721dbc6702cee33fb1039e78444a4ace4b37ffbc477f7138e18aef395431361963a0bdd5c54fc77177aa3ae65b95a467f53f2a9ba6d8e44c9679b0b9e5427827a6d023fb669d8f3e56512214833d7e09ce430a94084a9d3dc73c53b06a8c6cf9643e82445cbf7a4c7f2baae9978cab53d0868b6bd7fa31ff3fec65ef11d7a564d24a8636531e646bc14d53b050e71a89ea3ee62fe5e73ac04579888e446411f66a84c20732184ff1fd945d02723c1 - -COUNT=17 -L = 2048 -KI = db0e48bf7b9a88a4fc29a2be9b87639d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f933917db497f13ce1218c5192cafdfd8e8d8b9f0a552cc256efe6b8251ec2788580015a5f8a0b605cb53694d6d43a54252f5d -KO = 016cd577b90a2e567af5542f85c725d6d7a4552d432ef30e994644b78a4b9c78948910b34efaab8e07af7a127340f64cc5fe15b690e712f41abd75016e2109ac4d9a4c521a8de40df00e912d5f54cde9056b3570a66c286190f536afb51509174ff5779b9b71a66baa3c75477bec55e868a943a8077226d827b273fb5c78c4637a683192689733065c081c35b689e440ce5fc3efc1a0267ba0326ca6da5bcbb6501376dc53c347a4b89ca157f4445086e6e6b1f47327f1e7e0d528d897289321059a40b0f10dba3d6b454a64e9a359d1a2e8289154568d68ac730084be5221ca1a5519114efa40e9063a978556be06427dd037065f52d9773c7e075facde3e1e - -COUNT=18 -L = 2048 -KI = 317708d8ed533e8f78dd1b86e25865f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0635a9ac3e5ef47a70274a517cc1e5c100a85a0ea82d81375bf951852628e4021ba779a4ea0684d009fa228d265de3869d647 -KO = 2aea4933661180563ba4aa3a46acc4274641f1407b05b7515692df5c8dbdbc71535f7885b53117a3c018d57be5f06c73c2ca21def3ed84afd728e4e15e43b7b12fb2293ac6a8d38d57e123c79097cbf71f520a6e7c4273654e79cf3404b95570f21c1bcd40b61b31b72bfbcf1eadd6114a135ae7d996c1124fce359a6f696d7c9deb3456a3ef525a1f1ce7c9b82958962a9483d0f50055606adbd0ca9f7a20ac86a4c38c932dc53f63dc397878a0faebbfc8c9e295680d99db71e562c9cb178a20809bb29c5972bc51417b695e5f27cb81e56896f380725789b23d3c9c48a2f3814be0557cfc2b03ac155147d220568e7d7633710ef13ba72b6590b4789b45f4 - -COUNT=19 -L = 2048 -KI = 4919014b86427c66c0afacafb689c061 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 06fa8e9c54408d8b0cc3364a23c9dd115354a3389a25d3f566ea5cc8040de49397607513a3ca86e7282ef4336a1dc117ee6a08 -KO = 1d32218f13a1cd7852172cee1abe0a8bf4294e99fce37f36589ab0df30765a16a7a3a5747dd28293329c6feacf95c21dccd90d67c7b0f635f6e3d31b07107c5a5eb09139a289eb18c6dd02c88abcb0ef59ead61a28c598cb6be487436db6af0ed1cc628146fe04f40ec3eb5f2dc709610d8148e4371b919edfd4c2ffa1afcaec3de014fc8312093e0c5ddbacddbe13b1fd3129262dc0d2825fa7bc44e2a5dbbd0c6ea65888253ec08fc06cf00b69997150a14991f1585b9ef1b499369d52620412386d7988808cc07b98e074672f010235ff563152be3f03d2415876093410debdefdd6ad97534160f5ffd306dd9d83db8cc125bd1ab9cf3e3f46a4b075a5379 - -COUNT=20 -L = 560 -KI = 0a5cbe9883acb961c23869102e35a0a3 -IVlen = 128 -IV = cc5b525d8f6318972b528240a694ec95 -FixedInputDataByteLen = 51 -FixedInputData = 37c216accb5e04d07395135dffc8e384600c136c001aa2e97e7cbb313ecbfec1ee0ae77931dd9880ed5439fbb683b57c85b210 -KO = b4950666ee76e19a28f0dabcd918931cdf59107fca5e8afda801d7dabc096e721436ae8776e8d2e90e15423efdd9928c842921e14a2290be1b7f58a336f8aa5b13ee293f9c93 - -COUNT=21 -L = 560 -KI = c7d2c69bc273facd5ed6a0eeb03f0128 -IVlen = 128 -IV = f1effe1cffddfcbfbb8859ab22a248bb -FixedInputDataByteLen = 51 -FixedInputData = 090148d7e76e367cca82e2bce890290fb204894b3f5b6b8951f1c5b7e503c715e83ee182518ef89b5179658b673a7f6d9f8957 -KO = 820f44ebc3e570157a6a9d24a145e85314f6c759274b791237d48801fd78af6227404405f58402bd08f1a3537b15a6825e2e7fee14db51e3bfe50440e41e2205e9efb7bdbd59 - -COUNT=22 -L = 560 -KI = a2e9303a2c8e65e545044d36b1e7fdf0 -IVlen = 128 -IV = 447f2659520ec3bbf53b5eaa604b722f -FixedInputDataByteLen = 51 -FixedInputData = 41ee96b8450d1104724a6374f89ccbe5f298858ff76de39f62b5b29b8621952b5c8bf2fee76082babb003f0323b98299efe734 -KO = 00661a8d813e64150d02c76db0ba845ea85127af54cc8e727627810fa6122593cbb21fb23d053f5a16e28d6cd5806bf3be33e20eecc57df0dd9636aa96d1df64c64e09caffdc - -COUNT=23 -L = 560 -KI = fe84749b0aef026fb421b309b7f94cb6 -IVlen = 128 -IV = 1bce8aceed91a9962a60476aab22c0d2 -FixedInputDataByteLen = 51 -FixedInputData = 14663e71e4ab7f76022bb9123d804061e76fd91695106d97832e45c81164cbe3e9df8fd4b365ed1e4e33e358030e76285705e0 -KO = d9d26ce7a211dd9fb288d60be2da8d7745c3a585bf47e8432c380daec6c30b58f54168b0b8e0022cb1ea91efc2d5fd39cd56904f34ffea8c6a1e070ab0a95ae5972287a0598a - -COUNT=24 -L = 560 -KI = 63f93edf4dfb41a9b64be50cf8f87a6d -IVlen = 128 -IV = 031b8af130a64e53401354e3cfb1b67e -FixedInputDataByteLen = 51 -FixedInputData = dc43f7711ebc0c5ffc923974915a6406deb7c8b769f2141349a3b37e573324074d84380db107ae6ea0f61d27c8a464b94f8db2 -KO = 4e6804aaab2c9e7165d841b1b1ad66cac52f26693c87f107665c27e1223d5c5d539f46a7fb0412f2750daf9d5c319c44bdbe045068e5d8f4b934875dbc4b466d28a8de6c273a - -COUNT=25 -L = 560 -KI = 5402e29375582d3a4ca6be2d9befc4f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8967550a7043eee6319e0d86ecb6693b15be498121df3541b4d4afc834ad2da597c231278f33b3206bc95a6ce489c074b34ff1 -KO = 20ebbcf904e955af74d070d9c64b4249feabfc2501f8cbc1ce9165b991dcbdcdc7c032ac69f3f264602200bc835d26d3e71c849d218484caadc1cca25368208a185a82f3dae4 - -COUNT=26 -L = 560 -KI = 439aee93d9eef372401cffc27127d90c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d63b9e448656853e6d37acd5a234802e2d9b3b344a722d4568809986eef1685d87249a9ef0da4608244931dda568600ec0b626 -KO = 835f22695714d1128d39a2b0a759f7e2a4a353876418d07bff48a6c0b7535a4d64d3de777603874a705c9f125b051468d45861d591390663d62a7d6d0c1b9f85783506802625 - -COUNT=27 -L = 560 -KI = 0a5d7f1a2732ecf11616a7cb0ddb1b52 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6cf42fcfd844e3ce83f0c6a8259e57eb14f5a164afde1fa1387047f2ba2e8b625c40f96ebe9f5b3f67c126cfcdca397cd4fd3c -KO = a50c6d2dec3efd970263a0150904eda5420474b19633628f8315746efb8cc586c8caafcca1767f76ad9a942b28fcd0d456ca3c1916f707d4de85403290d04670de38e701477d - -COUNT=28 -L = 560 -KI = c7004e4e4899c34178f59005f668dbdf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f64be613ee842611daceea97627a90475910eb72d64dd8fd9ccfb90c7f405b39469e47ca7427e43a29f6336ec2d8c05724330 -KO = 531147b40513bb0ec13425abf940e8e6b7b1903c304e0919113ae6eb8dc634995b6130d08b2846d0d2b965c46bc7c0f8d44c6716ba6d0ced7df1d1353d83d331c2779cb53d53 - -COUNT=29 -L = 560 -KI = f0282c8332399cbcf48bb4f953386eb3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5a854ce0cd5582a18c2f01bd315706a266bb504ab86530d4e791ac11a6e1575db598982128a174d5bbbdd0955b93dcd266d5b2 -KO = 597dd95b599aa0bd35389f3706336888cd87d17831ad8398e90d6370552a3c83836bd9f8694339844b16d96d14ee6cc093fa3a209f3a020bc5e041620718b815679e9ba27eb3 - -COUNT=30 -L = 2400 -KI = 5b75924272e8548c86b1863e84e922f0 -IVlen = 128 -IV = 7511d47890daf60ea5716791dde451ca -FixedInputDataByteLen = 51 -FixedInputData = da47fd8aada546475abb7a98979044dadaccd7c9be6b1da48a1161970bf32a6f036a3d6b01704d7dfd443f894cf918cd45301f -KO = 34c74c20c6e66da4f813c68455c38ed2a43221b5347d8af7c1a5a8bf5d9d74a18e0c3adabb2811cb30bace0161051e06ff711b9c7bf03a6a79a6653185e884e2c6f641087c0f6e512fb1c4c5094e016413ef29c43a88cfad909246adc94ab9611efc37e3cad3ae7510d463cfc8c8cdb0c894f75ddc3e787c056d8a9c3c4f941bf9e12ce63a0bd73a450d9c078f400e532f434ecd980623d280b4bfdbf210d420f7f5d7a5b6bdf08b41e082de08c298c80403a088b2500852d997860189801e35819c85723f8c2f930af68746714b3a0d567095f2db6fe2e879f9c74d5ad8687a3f4ec536d359640109777d156aa318d4825c02842d5d4d2c794f94de0136eae9a651a1957cba12ee278ec51e4aafdb262c4edc40e21f18a504c09a3b64a5090f4aeda1c84d745528b98d9759 - -COUNT=31 -L = 2400 -KI = af31e8bcd879ec6ea8147474326e6e23 -IVlen = 128 -IV = 1264eb8829f3b35bdf99d9988a4243d7 -FixedInputDataByteLen = 51 -FixedInputData = 9bb9e8d195fab3816d48bb59293deef72cbf087957fcd967adf6e297be6d4c13c97ebecd0be402ef12161183dde734d70b6ece -KO = 03cd2d6d49f9c3e65126f8acf1495fc8bc917b6f4d0eeec528e3b5715812bd09a87661e2092fce0f4cd24ea350d6329c654bc5cf2c5a3d690eba3113e088a307336b3a44d56509d0881d9b34261cd20cd42719964d5ff12e7e94074f81c897ccce3ff6dd3a2c7f7475cab2e9b7b53367f97ce5127e7ab89b382b27216e5bf723c24dc4ac82fa946d396c33a3597c51a46b5024874156d2b3af9f1b166a360bb68952c827a1c876beafe46615016f111a1e09ba5b57438b3170295812f48a76b88e20f034abaf9df8c99653ce33924f32108723b3b3c19be3d0783e546354e701e2542a4cc804a30dfeb9786f5e4844f4af9dcaac835471493cd047c2cc3ca98950ed053743515c94168fa9d4830a985d2d8f872240d27d59916eb1a8c3c15a3d1db9497de2b3121819cabad2 - -COUNT=32 -L = 2400 -KI = 43f4b8c9c083de685e987bc5b536fe0b -IVlen = 128 -IV = 7c9a08e91b79db40820d2605c4eca2fd -FixedInputDataByteLen = 51 -FixedInputData = 78046ddb30d6aeed603fa368daea3954d996baa69b11383df6e054e6a9547e1b35e8b46d7798ecc1ea8304706732544de70495 -KO = f044527c4129f97d2c7289e17210cb4dcc212b5aac2c72327c7aad815bc43ba2371192d90896542500322a62de8d27435c844f153aa05f928a699947dfdfa719a61d81a7dcda7c64b7d531e22324defc9f7c78b8901d40895b954d60cfe63218a41934ebd48843e811dc15465e4486b3906fe6caf01b134359e55d717338944976698f07d8f532ae4671420fda8aecab928fb466d91bace84d941259a1a330bad00777910b0cb4aa26bb79509f11013d558f8ebdf1b21558a5232853a498e520fcb1464e035d544e9790e5473daf5f40879346e063b6ea832c9c3c0b0bca71d2b8fb55580327930a447961b4c682e2c5633b271e7a8c9647fe98111e3dc8c03da2691d09a0cdc1d58272dc81ccc74a6948a8a514f8de4ee853c1e38b8aa84f53420b48960c1ee8b8f8e478b8 - -COUNT=33 -L = 2400 -KI = 590ee9e0c94802540d0fc8257a96fa66 -IVlen = 128 -IV = 6a8ac7a01698588b45e0eabfd1d9338a -FixedInputDataByteLen = 51 -FixedInputData = dcbf77c700f8fc53896388802b321ea6453b47fd7dd135b999b40954636bfdf5a11db03efbf808aeeb898ceea0be82e27c3aed -KO = 0630c67afd934be00fd6d6070e45c7d9b8cb94455385c6e0d86ddd1ff4710abe7dbe1eae90d956b542077f274c14c83c4103724cc41486d0151f3aacb4fdb1852d3ce7a369bde3cb9151bd09b0bccc676acc7fedc4a79c5d5f8a9d76ce01f6510f40b97f086b5c6d762bef6c4e04f9d92013c1e997ce8885c4389673faa6c4df56834d4ac2db48bf89cc822edbda6d758a071ceb6a26fd920cd3f3b8b63faefd5da65faf9440d2625fafb982e5c1401a9e9e6b501c6eb45d67d602878f3e8d8b2777c73fe76684c49ae6921fa92316554d52dd29e3252d8e285686e778b9f7d8856f4d7ffa6bbf8a8c638cf8ad1472b23bbc9ddb786edc7e8eb173b372e1579bb3f4108964c4b303c505fbe1bd847acb4da19119476db3aa27e6792013f29f73d94230c0dfcb585c1f0cdaf2 - -COUNT=34 -L = 2400 -KI = dd569c8a8f517205c7ae8dbd076c7568 -IVlen = 128 -IV = 1779d6421b88aba0b32e442cc54157fd -FixedInputDataByteLen = 51 -FixedInputData = 781c1718987061344144923fb0abed0794bfc0135dacbd3a1543435e228e83e009e0dfcc8b1ead5e7726d7e2f67c6384bc3c3f -KO = 7780ecc723cdb544ea00e0d7358e6129d5f078ddd2f022fd7f25d814413232cf84803709f967d4ee82ea49dffc8c6d23ad7cf991ce2bc89fbd0328b8d3aced3926711e91af1c4aabe0301f423eaae8f59200c8b9aa31492c2ebc1d577d551438dc6d2a83fd328efa89b692478794c6692096d73bf5d060967e0e9a9a03c2a5ed3404a155bebc38c4f559e1ef7d77564b2f4f158c6c3c6255e04aef20f21ba789ab853040c7132d8fdbb86106f0c28438291ce3fb4c580de64820d9fa4388d32599ebda4f1d126aed5be49ee2f2545ccafb8edc862dfedffa37eb86b1bb427f39b50afcc8977e534c2f7841c3d26db2c9879ee1f1c23fcb778f30fd5f2fd12367e80175dc332ec488522b43c92ddfa84ec3c564f7877e585a6cd6c535d1320da4473caed79cf4c3d8bc2c21d3 - -COUNT=35 -L = 2400 -KI = 22f8413c2f45987537b747d9146937b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ba28416f4be63add758c097a8b24664f36aeed9e201b38c72edb7b4500dbd8c5d2462932301e8587784d836e789eec5a2f688d -KO = 38668ffeb6379869ce961d56c39135c2faddfef338d8c91f9e6a707d26e0210a4a5913f5519287964877db012e778dc5a2163a060b01db8960681c50cc8cb1e480c237f7dbde32e21166de82b399115e7870f8ea2c4d45ee71609f9b4608a1af6773de25e23d084183714f20dbeab9e863ac080f16c91bc200fbd823285f73f5f9b7fd0663f6b4d9b21f55508cf96f024d9df6344fc80bb6121ae1b48cbc6b818666f947ed8f0b4b42ccc2d22b4534995d74155e2f628817acd39aa7472afd9baa746fe66c4adc88b18c11a0350d484fda0c3747b1fefa4e1eb9f1b587d8a6198603c16a075fe79704c09eb905e067840da9089e7c783037c84fe7d03c8ed4274015c6dc4ec7e0ca9ab2eaf17579a848080d73b29ca01e8a9ef6c1fed4666fd1e7ba17e4133c628a9eb9f3d8 - -COUNT=36 -L = 2400 -KI = e69a7432cf0fc3e6492aaca8c268491a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e81f353d00f9e295d531438a1dc976e5c584d467bb72aab08066c7907d06d17c9330541797a4519c39faf4acc7b41a3ff23b6b -KO = 8341b6b54d90aeb03bed2b990212a5a308c8ce74963cef9df2dfd3586a1d5456eaf247f31825b55dd25f8d1c1786836dd247fdb71bc1072b96d1d41a29e657def1752488b8002d1675bd5aa77f43ef6bdc3a750504b8288faf918e83f0025727fa496e55958eeb0e33620a0367bc1a947da7ea2a9eab465e72462a10baad92f68593647d24ba74bdc90f44f7edf453b8d477e722a76e2ce1ef39f7e8158481d93632693509c0466df9d4e4da3823feb0f21d077c6d770573e60db8100102655c31e701ee7ab0c785acedd5f9343260603dcc8915e07717612fa014e1a03c35577b343ce91f57356d48f2690b2c09dc2de3589b8794a5ddc556326be9f0d5ffb538b5e80dd7f65f63b98d04b6b79f02a4e2efcf51c1437c1404c25b9ec0a83a9881939a1d4ce7f6f206bc81de - -COUNT=37 -L = 2400 -KI = 380064f5bc2a276130172423fac52ec9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f903e78ed42a9a6b28cf1e80d6ea92a66bd15070f963ef5153d0a0b8ec9b213a90cdfc98e3a389252508fe8e5dac058d91b151 -KO = b22ab1158d48edfdf60a6ea3cb6553cd8c29122190a97998cfcd258a07a77e068debd08009e11392c827852f56788c5c3f48245a76b91f755fc0df4e8a99252b011aaaa0177d4367649b7ff3fb7ba7260e65c0f2b1467dde9c8d70c303989826d9dc6893af80f553b0d5c5c36d6dc7c599194f38cad935d05850bfac5127ef00da8158e6e1dae50b560207a0e89faefe6a6033d1322fe4d73a50c20ee00077827a45d44ec91282546b61f2cfa8e560df1637c006ed7faba3c2886661a2bae239701921564f690f2b880de2b4a5409972b988b5a39e192e4975aa1a5cf6ac397a846899e9df41ca6dc321a0410ec87391963d41d7916c7ab30937a0d777001ea438f8e6f1555297fa39b6f6b1462bc98df863f8d8cf979eff0137ab982c826d061f889c0ec11b8b3de3367278 - -COUNT=38 -L = 2400 -KI = 6dd60c4aa524c44d189515c8d2338e38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 412f76001fb01161b2adcec64641eb30d1f5c9e4bc5011b4c9c002da037fb5f99d62eccd02472063564f7ba14792010a413f61 -KO = e3ff395d474746ea412dde599482ae6c329ead77cf0bac2858696cea51c13afe4aaf2b9b64efc4ab006b994a17d88dba11feeb94e85cc382906c1d6a513373631cefe5d9c23bd6670d2587eb7811a0aad9fbff3bbeaccfa1fecfe3c4d4a50c4581b072b6ac758233e36d6e2149fcbb2d346d397b22667560101e85867f5bf0e70c0e13b3e7ff76a2bcaf0e87cc644151b3f7c206cb8c2921cd2ce06efaa012459d5bfc76561d470702d792860d4dd9f3c1641ed8ead442d0803c72c42417a5552c23ba3bb1918c51fbcca7096f1598b30f2d45dcf09d31a507a981194230b776927fbb71cee9759875057de0c84d28d5ce4b04fc9dd49af3ba00ff9ee3719fac0ec12c4a1309b6806af1700d74ebe9883455eb983889c4d26db24273545886f227d98a13dd8924d50a0c027a - -COUNT=39 -L = 2400 -KI = 83896f0ff7d2311554cfaf1c6e092d74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e8ff8751aa40d4026f2d8e6ea4ca4e058898715b8ea41a11e0a0522a710bb07d4da81dd93a30cb8bf788ab4cc889a4f4532436 -KO = 1b60e7aed7cfd192e86f8e1e6148fad5d6d181eb603b3cbc01c70fbfbb2d69ab19f36aacef65d63a6a937c1501c80788c9fdde9de4abe10d96851e7ed1a6890440f32ebbba6baa5221bdbdab1082982b41873eb99876977d85cbc59f91276a2a4dfd7301ca6de36d4fc6648d24b242f86d89f4f12083612cd2b18fb9f0c32ba7ffdf505cc12777d92eba35a82952a3d83e5d2b6d564fe7ab8f8e30617691ed5f9020d65cb2e713e583e17a3f869dd2c2f04e5994b523cc9dabda5d43b07a552f876627bdfad19a73a7d63732f508eb0f5f30e84bc91bf670384f31f7aa2c4a8e704b216bbe3d75ff42220ec3978c61f81553f05525a1b2b89fc20da08c2c319a62be408033cac1540fdc9b36a4dac5d67666e05eecea209b858bf758f1f05e7f254da136ddb397d9680fa548 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = b270a032965c6c1f06c4a6f89f18f2d1 -IVlen = 128 -IV = 858f8eb9d1d7c6b7bb7cb9eb690fb48f -FixedInputDataByteLen = 51 -FixedInputData = 1a791bc6002f39333e1cf6dcdf8392f74f189c27fb6d8111993c2e4f48d656c0bd98fdcaf3e9af63e4fba28cb2935beaa24ed2 -KO = 2ae3daac8fd12a7a8133e8a0a440d1a2a6aae78bb0e14a092818f93857c8efefb2e92b0f2198514c667f8d6773ddc0bb3ea42b86999a90bb384a619eb185f1ed - -COUNT=1 -L = 512 -KI = f5cbd70cae0dda74553b7b97f2422832 -IVlen = 128 -IV = da2b19e93254a51bc4dd2bef249f0c32 -FixedInputDataByteLen = 51 -FixedInputData = 18cf0a6528ad2307da315677291e44c9113abc7bf65a87dc7c74d3d713c2818f954bf5c5105deac828e6641d9d6de6beb461b3 -KO = 8817f84912aaba08c22dcd806e961e4116168dda20ba54bae6a8e9bcc7de115ac0b4df2eb1f5721b0f6e7e2025e936a0c84e8c56daf3d7ba7cccf724592b8cfe - -COUNT=2 -L = 512 -KI = 259058e23810aa324a7d392bfe8a8f6d -IVlen = 128 -IV = 701b8017bc7e40ec7c1d8f36a50acb57 -FixedInputDataByteLen = 51 -FixedInputData = b3909f0d28b5fc191ccf5880d344b46215de5dffc3dd517e35274701e07d714cbb659fcc910b6cef40715140627976d7f026b8 -KO = 3bff611524a547faf08a017a17bafb4eb9468a1c54cbac15375b64f36cf9a52323ac302aa4e9aecef46258518eb92f51e2b280dfae8b48e511e85412b2007bd6 - -COUNT=3 -L = 512 -KI = db34dcb8bc77d7fd736637f6e657e654 -IVlen = 128 -IV = 1cc2c26ee81def66226fbf2037ee1ae4 -FixedInputDataByteLen = 51 -FixedInputData = c5ba0af095d9b52d8547696cd4feb95fd10f5d98fa55dd54ab71c35140982a28a1eae57e0401f4fe8193a1624d7154dd8d9322 -KO = 64ec5ac0f240d3c79f195027d60b4200fa13751a420bc32bfc5b07c4dd787f50ebaa43d412520fafcbba434236e8281512f2739a486c6ee02d79aeebad45c724 - -COUNT=4 -L = 512 -KI = c2edc2602d197543415484885745d661 -IVlen = 128 -IV = 13f18a775641727252b61d41d913e9f4 -FixedInputDataByteLen = 51 -FixedInputData = 0343807f976362dbd901f5623fed0e1663c28534de78183e5257a12ed4cf8ba75b80fac40f26712580c5b4daa045ade36c8c61 -KO = d22544be2aaae79d56b7da31e9a1a7f5e8922f2fb7c6c4c42c2a55f484daee39f614204e008eac89d79b1f2894db62dfe22ebc0e2b14931c361d9a0374864be8 - -COUNT=5 -L = 512 -KI = beb8d32f792022ca805c1b2492467edb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 822b320632a6ad377e6957aab759cb4b61d5c280282cfb62101731d620a83c8b576539b181c0aefe16e6ae839873e1180fb596 -KO = 3213906ee43ad4e071a76c8197ab9343b9951ee03e157f5dfd03ebc924e20b247f39e493087363202b8ddd8fed8f54b7d78d0083dfadc5281b56fa1492c91481 - -COUNT=6 -L = 512 -KI = dfc4802fc9a8f7e6ad2a6c56cdfca827 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c327b3be0f446737668c71709ca0d894ef84a451790ee103c6175413cd49a6a029eff39b54aef1644363821c3dc62143873063 -KO = c85d5d0c50a25efb11f791039bea419fd0d912f2d8b7cfd84a0b3650a56fe05eccf9c19cba774507b2a6f0bef4c00e8516914b45649013d4307447bf537041a4 - -COUNT=7 -L = 512 -KI = 844074b78c10a5d996b0bd57411cb0a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae13438a0809dbad3c3ad69f5bdf6a663a106f74675305ff3b14f7b09b3c50381d6f6ddae1f1749fef92fd1a7ad667778eae8e -KO = 78baef408694c5c960b5eae3af36fee5caf8acc6936e9393bd31589b8fde4bb6b25be145957cb659c93378f1e9bd86a6c27a1a88cedb2599ea6b8f022a461672 - -COUNT=8 -L = 512 -KI = 80c3105ac723bf92a156b547158c6f7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d140051e0b0a00aa6d99f7d9fcfecb7cf68e970e7682b5ad44ab33a2f9c3f889cbdb831c89d564a34a416ab8abc26db85ed039 -KO = 995480d4582d138bca4bb2e4f457134c77bb4abcca032e27feb9ee0c5ac0f95b4e9afe5000b7e7fd2910ecd014353f0bb94ff05c6a73feaff85b33dbc33f4d71 - -COUNT=9 -L = 512 -KI = 213b21f04fa407b7c17a487db5ab4ef6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 83d33aca1c4e50ed581aac1304acbc265ada46258df62146ba6277726db4d1479550e87a543374ec639a525efca42196e1d0d9 -KO = 3f14405d8c6c243bf85594d0f8d74c901277a1aa82ce1635b3e2b6017b56d54446ff12040722db65499231d82cc6c919662cb6c3a58411c0e41245eebc77b78f - -COUNT=10 -L = 2048 -KI = 62c84bd0406b61fec1d14ee0a2bf0373 -IVlen = 128 -IV = 0e35abd63755e006c22066732608116d -FixedInputDataByteLen = 51 -FixedInputData = 96de51c4537c187d8db5e3e66ebc1ace2978d1185dbe313d37447cbf8745c39ee910be89e5f31346293c35647e4989c7389136 -KO = 28d530ce25101f00bae6af1d6c7eeeb36a8b8484030117833b3d32345d94535f6d5842763192cb35ee899d1a17295528932928d706f7485846f6ba203c287691e5320d75461be3a53e89d68f769b0f1113f912c7a76e3947013d2887b32769a8732458cb917aa07256b9ce6a03964117bcfcc77f72a530fcd5bbc8ce068e6648d7545e1185d15abb83e1bfad33b322ece39defb453c355166494bf664d4f9231fb7f96a0e16c78a5981e04c353dc18c53d217e733f94ac071cfb838e6869fc81e44cc716a07fa5de50490fb6cd7cf9536f6c426d736fd986157d72a1483f6e48fde301fb5aadecbe458dc89f2cff2f8d2be4c5511d4973376d57d8af0d764819 - -COUNT=11 -L = 2048 -KI = e6d11bc142202f92b487d4c25e6d789b -IVlen = 128 -IV = 4e47f42b532db1060eaaa4d86d3d43a5 -FixedInputDataByteLen = 51 -FixedInputData = 034b48241b4c261de91d63bcbfdc965bac41030cebc392266634809b70907bd5c1e4cf31c01531c0b13fbf00c4e0eb87c1c73c -KO = 350fa2695b26062228e128dda8cecbd9b6f8174d1452b34188c7251c7a71cb6938d1fd5560fe094ffc95e82a9818f10ec5f50c9b521418f934e09b0cd85e9b95b707551774c188fc8c6b118e271931ef8b98232c8c46680c4e5dc53da5ae074d137c2a6fe7397a31dfb1fd85d43bbacaf7a011c5b6e32c452ea760d2d7816298505cab07ca01224696dbed1dcd5d65b578cbc603f9599b79b82835d5803b021eb87c12297ccf5055b5a0dd9c530fd93853616d1d16e56e351331372189e1186c5be2d6f67e6fc95b2df80b1976e3fda891580fede2c5673aa50ed499ab9a2ef2d5768c4096df2c55989bc7c759c494532c2bebb05568fc21c5f9aec5c490f98e - -COUNT=12 -L = 2048 -KI = 953b22df3f2c590aaf9e8477e09071db -IVlen = 128 -IV = ac23a9df360d6abe50f0c5ab464c908a -FixedInputDataByteLen = 51 -FixedInputData = 1832f218077a36924f466f6ab908ad6b996c1e8747308e4aff1e0a7a70ac0833b65885893fbfd6e2925e116933ae24bab5eaaf -KO = 46db3d63cdb5daf7aeebf0814cf48f27076ef459d99493a1b873a8945a67bc53d9584e7bf7589eabdd87558f4b83bdf55fa45ddfcff031b758c597f24787acf18922b518242bc62035276f5f31feddf2407b1b5dab5a35a8deb3c4aaf225c28460d42d1d581b4114dc876a12dff6683034afb59284b0e77ae52cbd245431d2af9b51b5528a155a98dc5f6540a100dfbf9221ba0e35f629a0d43d752bf5eeff9571dc7769fe5d3ebcbdbf5ac2d30f34f6e0d0a487746c134bf86ed83dfd16e4b4870eecaf83db91c00262ece1924ce56190cb1e55bcc66c62369655b990d943ee0e6e5c8406f57836d78acd2ba080a96b2fa6a9a613171b202b57f32f2dd31ece - -COUNT=13 -L = 2048 -KI = 61551704b394c55bcc271253514cdd59 -IVlen = 128 -IV = 153f00ad8b758a45c21375dfafecb349 -FixedInputDataByteLen = 51 -FixedInputData = 4236402c0ba84c5272f7065ac9865a2408b442efe6ddc2d618bb7fcd8c7f79182bc52886c9d96627ca4a409db63c2d83075568 -KO = ade7073020548fe0cd747a1907c60cd38763886a6902a260d7fadb9be2daba838329187016033baec693b51771cd011bde20f87e46afd4c2558b7631c9b91a371163e57965ea06ddd8902688ed4edbdc3126a095fc99ce15258f788b1268af22071857c7bf1baf36c7bcf4f65a05b68dac9d3ce69176a02d6b519c0a135fe05c02bb1ac1c8c2099b8d09e91e12d24b13b0438b37cff82867a088d8ae9354a685b507dc52e61ce77f4f308fce59f01ba8b8dff20eab19f525e672ca805b0545b260dfe418f21daa47a7729aae32b9216c115bc356919a001d058fe8d874d6a767bb99d7bdaf089236ccbcd323cccdd6252c56fba76a9c73cda28d67b6716e1c6c - -COUNT=14 -L = 2048 -KI = a197fe95d12ce8dd6414e6ece4526ef5 -IVlen = 128 -IV = 7948ad3b678c37fa86b8183b58bb27ce -FixedInputDataByteLen = 51 -FixedInputData = 6b38ea9a811c9bf4839e5ebc022d19eeb3355fa469ec07c2747bc43018e002e100fe01920d0c3ecba6cc79d8039b22d88dad7a -KO = a37bb0209c703e3bcd2fc7565f397581c037e2fa2f2d488593e9ca2b58376d58f1910be8fbd2ef2a5ce4186001d0fb40d70f11c295e8d1d61a6cc237a767c3f7e9ccf8d2debf4af920035a28aafe18b75e07996aa59262b07a642670609ea9fd3717a8f3a3a66ecdd19f4eea7e70ec3cabac2c7cb8cf0d0d8f550a7f02455eb9fc15a6bc655464c78ded6f6aaac35ea8245ac4bc408c22a1ee18979f9cd14befb7f78a989d27b75f478551a3d1798fb55b0b18b2d536e5e0c2dfd123cc6c80ded4ba5328e58545624d3809fae9508136169bc39d0395b51cbb8f36357939a98986ac3211c6c597232b1aac7769bcc7fba57ad4b364ec7634a92c910c554e04cc - -COUNT=15 -L = 2048 -KI = db2f7d54022577bc8fd1f6938be23522 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cbf07340c7473a47933421297ae887304859f596da13f823b1154fee2570110097f87c3bb3461b8edb9a90332942a244fa986e -KO = 659429fec747c360501f01b282f0fae6a03ff7e370f7f525688bb9e9ab1c046af4adb74c17a38f8bfa4a41495f65c295df615c335802bc9b5b10443ac4803e88cf66424d46f61f1a7528c2d8269dcfd5d36b9ad40c4a3b87763258b6299c2bd7b21911d87f1971a8bae582b0bfe20cde6c3f068122ce102df17bbfb4377803fd4aacbb0a2439e205c0e8db47f9eae5d75e1f3551a5c75abefa31f7525fd7144274526f87e36cc7e98ecaaae86c66c56a5ae81a7514672e316a517289fc17770fdbaef6bf29c06628152ee800085eff8132e2e8c269ece8d2fa7d3d7715aa43a12bb4552f5e77a3ba2f7eccfa01259149f069ac950ddf7740753f583508726439 - -COUNT=16 -L = 2048 -KI = 3c9f0a18b3e8ba139d6cfd0be56dcd81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c7e77ebc171b77eb1eb354cdafb00666dd6ec2438d88a1900f39d2a175477f0e5aa976876cc42ba4963e9c3ef59c868961df05 -KO = 31d875570548f42d60f03ec5855d8b77fab76a7bcd2793c8f34e0daf1cdc01f747c35a53c4a4cce1b300f98e1342457fb79afa267334c9a67f894d3c328cce83247cfeb90b9ff241416a390bc0d91c718e8c1d83bdfcb3b2adfc904ccc0b486d1e9f9d559c8e89e55fbde2dde1c97795863dd096c04e746e0bbf31520623c9c685369372f6f86e308b7a14b59a1893d337a85203297b6bbdc350322d28c25675090156d304ebfb80b898f24df9b9dc1fb677c2d9f532bf18943d6b16caada1206b67bc7257f5f18c4db55bdc5f554b05488ee7d415652f9d9a8df9368a10a394d6c979eb52125f104f5fc50a59166a0d7348b5e4ba62153367d5be7c9d7ea28b - -COUNT=17 -L = 2048 -KI = e1bc65203ffc58accb99596ad88adbbd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ed5c39c8c7eb1f7fba8f71818eadd8e1507517229c6b0a3cc8b67b3e4186a8075f95aa2ec28976c3cf55119ce3426c87430aa -KO = a957adf23150e7ae50aa0072f979ba29188b937e11d79e0e8c18a256fa2722bb019f7211baa21b605d282b435ae7456193d4a45eb650c31e339fceb425a3690772e979e9c32e914bdfcf3c452c1918bd4cf0d1cfc43ced1499ac650a1f2c1e37cae581876b9894b0113df7eb26e3f8821c58cb439849b01098aeb4f7db74166085b892eaef9a66b2ef72e5088d0315d76a36ff1b924060ecd301d0a7fc59b991c258b362cf56ae82db7bb745b2c6c9e1c88f9e0f08932ab7b99b26018cd32fa5131d0803fc875b826ed9fcf867ff0ac6b7da7a926a7464190aac48a6df4927983d203dee46ce1abfacd506b1ea1ddc9eac68c9f5fd153c8bb506306df6c37edb - -COUNT=18 -L = 2048 -KI = 6c7635899b14537678c6b5e7b00839e7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 246975a6bec8b4e10ccde55e0883a592a89889a19b757e728787b7e67fc7e75972a759f6305164121c9cbb3de3e1c633fa8b64 -KO = 8b6210374cb68d3f7939ac54ca8b72119dd262d2aca42812cfc57dcad286b7bc2699f0f97d1d4c0ae6dde51982e1b1b718b5f03ddbdabaac1ab293ffc63ca235a706cf05efbd8f58cc7e113e75f9ce53040e084cdcf57083741da622754623aea03054d6312422374e7b2f72c1c354095486f01e603ef7aea59768f1957f3ec90b8872d4ac7c2d5e887c8549c893421964a2a0e251f689f3bde4c978d28a735a2998531e626f98d3edb6cbf63be7a05e1abac029693d36f1865bff860bd68fbdc6dcb83ca6353135c8b441e7cfaafe7db917a451b79a708eeef8adb5afae90331997aaba2b1ae2a793bd3a79e349301790318ed091577f330c75f269d6360370 - -COUNT=19 -L = 2048 -KI = 0c9672919fbab545f257c8c43f2bc244 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0f8850e4d05dedd8acfa3615a8356643af50f663fffb256ad32a60fbce7ad5124d6b482fe6b5132423c31430e458249ada927b -KO = 5722b12ac7883b97d49281cd2bbe4a3a9d178376631c8c12d1d43f03e79ec05775aaf9ab78720305c9c4f5ee14030ba93139774b2f35e8a435e0e0df06298a6aa755b82f2d2a57f13bed668a6eb9794d171a5578e3f3dfc9003be5768351df70051dcbb6fc5cecc959d24d5aa8b419b3982fb2fef27d920af3623f2863b33489fae77d0bea06cf0152415695522c2aa4978102120bf6df9e8024b46266f5a4ab53094997dc2002530571a2994cff4e3457b3d285b268248eaf87679774949ffab29fc2904ff38718115109d26f3559a31c90f2377e1953853d42d229bdf1167fcf250a4af723c0c08cc54f5d43422880b828af61a9c3f39a7c3576a4539d1627 - -COUNT=20 -L = 560 -KI = cecb36d2cc1391b9d7130225bddbff12 -IVlen = 128 -IV = 062461a33172b5527548aedda44afda8 -FixedInputDataByteLen = 51 -FixedInputData = 0755bcf801e105251b8fc056d437032d2969317a7007dd4ed0491a18ab7e22ca5a5622b9fb847487287628ade9beba7e620182 -KO = 8fc35073b70e8df185421b9a8f230991e4f65f5db7c13601dd7ecc1ca3f383fb62be269f18a1c6255a6437ea5780594d6edc74a05de325eb20a2ca2389c2f0e4210d39940055 - -COUNT=21 -L = 560 -KI = e5d7971daeb3c44fb4c62d4d5b0be1b7 -IVlen = 128 -IV = faeaaa0a8fc87af4514bd508f53b9c80 -FixedInputDataByteLen = 51 -FixedInputData = 804e77b66256a34af8790c6c3f2a830451a420275e073dfe82e9c62313a381de4842be4fe32c26c55e729593987a338743d143 -KO = 355789c7a5ecd3fe21c17ca7fbda4d08a797b9f4b6b484bad3e0e9788976f6d30ddf71f3943cb5542c7ed5e077254ac64513dd504127767a9ee20c8b36c68cff7c569501ba71 - -COUNT=22 -L = 560 -KI = 3ad7191b053b8db9e0e3b1e541f42e34 -IVlen = 128 -IV = f4ed8f4d118a8b13d421fb566a8b6e3d -FixedInputDataByteLen = 51 -FixedInputData = 2808d796fe8afcebe1aeb946d461a210215756861b6468cc9bcf626770a06293fa7ed88122b50bb6e918731cd3b7365898df73 -KO = ee5b4fdd60901febbf29d07021158748bafc8fc038af6a56d7b8a3b32c2a8d5113496bf41ad7c5db0f607bb9a23a9ebf6521fb9315bfcd248fc2b09913c041f66c9427d10206 - -COUNT=23 -L = 560 -KI = e06f1b46f0382f42f3473bef0ea6d53d -IVlen = 128 -IV = ce69b738a44c9b814fac4ccc6c249424 -FixedInputDataByteLen = 51 -FixedInputData = 4b8956b6d8674954fad1531d101e42b7edabe06afe496e23c48b9df920a01286799cc5451ffeaa03588e83ec862502a8f263fd -KO = 0db1f238e9c03234e8e4efb61e6390e346fe6a5c43db67ed2326c9cc4a6fb3a7888aff93a0c1aae5308e4ed206a4c8fb92e5ba81c6d597d3cd177a3a72741c4529d038442865 - -COUNT=24 -L = 560 -KI = 2dca8f6e0d5a0faef0053479f379c2e3 -IVlen = 128 -IV = ea2e3473df8eb8ea2774cac284487592 -FixedInputDataByteLen = 51 -FixedInputData = 7e0bd49860c5a9d10fb671453c2d8e75c0cb7cbb4a8f09eb4e919853cfed15f2741b01a5f61c12736a6a9f8f736f307395c159 -KO = bc388f11c96bd4834e7c2eafe6e166594acbcd9b3865a8c838019315a73c1abdb7a6b935c8c9da0212d11c3173a4d7d10c7f34cb16f205644b3ad93fb1459dc06c636de665d1 - -COUNT=25 -L = 560 -KI = ba0756dd8802b95d7075b4383856f186 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24c8f54bca2df2b34fc4afbbb3b5c38a3e4fcd867a0e877f5c087cc296d8cbf52dace97f3f5e5cf8ae89fa48a18cd2a21d9dfe -KO = bffec77542b430b60e1ebe68df770915652e5d41237f7cba3e723f30e7ee5c78e0cc70d71caf80b445a192a5306303d47e8988970e7f41d5728eac7d32fac873dd64fd7c1b69 - -COUNT=26 -L = 560 -KI = 5def9c1683e94f450f83463790775db6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 257c90b2ab154e3d437415020fa7c61c1bb9a6cf79fc5f6ff71a1fafee2beeafa2f26a54c2533c988401d7e93ba383399005bb -KO = 43c3bcd96a939b479d638995a9312c4d5eb67f99ce826a7dc5f6222dc473ee28cbadabf1eba21e5cd3e26f1ab4046af3de927b7bceff4d6cc8ae657710958d349c50fbbb60c2 - -COUNT=27 -L = 560 -KI = c6b2ece671718e141416e306e0383baa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 79e8517c817ea8c7aff78eb33117484fb6d025acab793e6ae2fb075421ccae65eb5d7bc0afb3c85741626714d2d4624bda1c60 -KO = 52a7de1e182d22072224b033be7c10f1d7b04b7b2115a7cff34c7a6bf4de6c82d457524c0d2f55a3fe5c47b06b623f606d14f20bdb1d9e14953068682e229c5153228f26d646 - -COUNT=28 -L = 560 -KI = 1d2bdd1e3a2483c761fa2dc04a6f87e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e97fbaf2f8238ffb99b0869d3fb52d426c9fddf76bd6b9dde7892aa7415f5fc7146ccca14ea1deb61dbc1b59218313bb395efa -KO = 5183e0a78b6ba951d87ef7afcb30804afa2444782d25bca3886722ed20be39cac9c248348be558b14dd9e6408145d532d4b3063e6bd1027c22885ce3229d1a0f81658539f66f - -COUNT=29 -L = 560 -KI = 76254459898c01b3fc11e14b9b5e1e6c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2c7aeca9678f7360624d8b9d538b19fd660bc6a0d525bec1f69e818084668084b218da096a280c2e03a0466b9c206863865ec -KO = 66a0319c7013c4ef3223d138f6a77cebc0223583711cff7d5fd3112a2dd355ce7456c74f617810b808435d699aa95eba47f345baff0bfd8818c7e6b6042c3934a77e018dd8cc - -COUNT=30 -L = 2400 -KI = 248d5f454ba46fef91f4167b962652b9 -IVlen = 128 -IV = 3cb2ca6bd5b8c17a2d8f742993a0b5f8 -FixedInputDataByteLen = 51 -FixedInputData = b62218ceabee4690d7faf169297c3f0a6529ae27978be649eda68b6daa7be9fc47e75b34a21ff0b4d11e8bbe2d6dc3908fca5f -KO = 867e9eb2529bb22f82b79cb878505b9f0967b6b1bdea59043199bf658a0bf45d49bc39f79992e9e28c49f5cfd166c7e5f7ad8978361127ea2f9dcd456cc9dea4d0a88d487feec52255c41d88440bfddf746e2c7d01d0006306ee4f23fc3b1dba90336d069bf373fbf5a727c3bdd08ff47989233887e4cf0bdd52a4fc971355d8145c3712bda94e7e2b265e1daa4b460e00e68bfe60dda542379f8b61a9ccf2cf672c0d9cdfa7e974abfc0391bd145cb367c21d3fc4531d94abfae138fd0cc9c5f1f072f1f9cabc8797b7a161b96a397ff2edaf87af5a637b7472074d9a280c262b96137aa2660b63251ec7be432691908626af8e51dc9c36359ed74a964aafaa76adcb319d49541c138bcddc5e41e254c418be36368f5bb4c71abe2e19e556ff7f32a3f2260361f6a2528f99 - -COUNT=31 -L = 2400 -KI = 36af7f08529a3503a4c720bd5323b2e1 -IVlen = 128 -IV = 0c8d38df9f5e697cfa1d40d6a1122fa3 -FixedInputDataByteLen = 51 -FixedInputData = f7a3fed9906c917219b6c8f508d493d351f6f9152f8fd7f1aa5d94139462bce5fc3e9e1c9dc9a339ed2602bb76a72d63f9440c -KO = b05e1da6bd5a2d1c7017953fb672a695afc7bbbf800c66d560701fb59c186202edafacfa79912f92e3b664cbb65f0d706323d6f39d37d94e0e56e7b9502cb58a1fa04baa4e89987fc2d162fefe2570600d96b1d17cb7f02cbc9550d8c73268fca81437256f1b9be8da6d825721cceaf833b0cca430022156a9e141f1828f6fdcb4bc6a29a37e24aec8fd0b93ba9af66d2da4c1619654a9270f2a5c20089708ff91ebe457e689bf6b081159a644535efb2ed18780f0498f14d098d62b73ff9fe4c75068597105a0f50668a80897aba266fc33f8a49715932628c5db2e8e90a9194c0cb3e96b3751202d81aeb6012303bd71a7b60270730f7f9fff1a038a809a3aea3a5ac58c99a7013059a6bc434095cccaf837e7be346bc0543d1e5040eafdaa49586950aaac8deaa53aece5 - -COUNT=32 -L = 2400 -KI = 488f62c54c3c5d24f52cf3f690bc293e -IVlen = 128 -IV = 8ad9fdfdc7f4fe201e4eabe28fa2dc96 -FixedInputDataByteLen = 51 -FixedInputData = deee0709e5dfff46ac3d45f64a34fe37bb37157871e71d8edadd119eef21c70d377b086c7b49bbacbca2b78df8eda178711146 -KO = fecfdf8b37d7bb4539dc7036bf627dc6fccab15a8ecf63631e262a20159b27246e0cceee13540bdd9d32131c2fa1cc694c6979c8dad42590b95e2aed44603af3f7a5fab56ea6be5fbf7b8989f5cfb31f1f7f1fafe78160075e37e934422ac7f6a8126dfe530e3a4424618e157626e2dfde053ed9d412b7ef7212f6ab24c8390f0c498e9474d2b71a3fd6476b14ebb18cef425439d7522d6ca922c363421c01011f34825da25650ae080a8ec64b6be1d21cd7b53e459363595aaf8b26a482771bc7d6ccd5d1c07b917777cb36bb0689f76b2028485d30d4645b8dc344c2f191ce75b7f03717f79f145afc9a894a41baf02aa8e177109752a8dafdd1c8b05a8747af06e6b4dd4f1455d7861980843a1e168663e8c8bf771a6d3e110bb19768e33446dcc4b78c7177feea7f2b9f - -COUNT=33 -L = 2400 -KI = 099991bb24491068b6bdf2f96f8f53b5 -IVlen = 128 -IV = 361c95ad972dd7157a7bff44b2844e90 -FixedInputDataByteLen = 51 -FixedInputData = 3baf9acfb8ba4498a8bd49352269baf53aed334b21c03a1812592df21ed5f1c9407fea10ff609ea19d21eab4f38d775c00c50d -KO = 860d6fb6e3a9cbe4b0f1bac7c6a4834545b000c3e48369df144cf727c46d6445862ce3ba2aff91b613f20cee47a6217cfc646ab9148d0105405b384bf61781d0e282036214f54098429cb63a92c1e21e4751464f7d3c82a77ca5c3c73189b70f7844bf4c5307c94ea528cafbd5cfe09b98dc834ff4d32412d9d1f5d2e8c73d0ecb19d35db07553e20f6b2c977f0c4779445c45178638eb1f985b16860620d21e3245d848eca0b4276f98a4d73c89c2a183435d2330102550997e2136de37d5d27ffb52b10f3743413625f6153c40e486251766e16e7a5b48c53b9f50f8b31ddd02994099b51cb47a38c0c167207e2a23f72661918d0a96cbe851832f823df0e28a08282bd02f6950a9be514a163558cab4f7021378628b2707f96254c169b384d6b202c3b2f922effb37607f - -COUNT=34 -L = 2400 -KI = 860cc2b61358641b0bcf164a9143bf09 -IVlen = 128 -IV = 70d49795f1014f127845f9ecb8ac377a -FixedInputDataByteLen = 51 -FixedInputData = c3a98a554ff5d4d10808cb6a99b9d36ae45d7982c411c0a71052788f2bfdb4db500d0d0a9a13dadbdb476f92da3d3eac46a4db -KO = b5154ddfb9a304e8c00ced90148bffc7bd081df1af056ed47a1aec2c51946566a115a19c125ab11e71788ce752bec2dbc2bb9bf76523670b1e68255e89db5edd51b703513a59ac5135d280ee0e16a39e914b089ccd2e9bb3d836fbbe4fa79d15af6d7ab07299703023cd0990b53f5d6a0f54d22cede6beeca4f1040f05b3ca3da305d03f6e7576252ae39a4d3e62e3429808493b73fb6e3b5d68db7fbcb2711d5910158f5c9af83c9bbec147c631b75d62e514bd69262efc5c4602054b771bfe936d8ef0629bab5f6bddc92ffdd1338d6795f22ca34f0b2c2a118f68a9b0b7f92292e4655b4e9f58a7106bcc39c7d32c6580db5c7d57040dc83dda6bb0ac5e2b4b9840b812871ca6c6bbf39e41b8cc56a5fe158b0f807f4bf1445f7c8531f07286a18abd76cda49afc2483c4 - -COUNT=35 -L = 2400 -KI = e8a6cb2bf12b66694865a49399af1ea9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee508253b11c993393596570c5562fd015a00c9e9d1c1a347b3df30394ee313efecf082e591a55b112de05fb6d8608654a0e21 -KO = bc6978e394508e3b57b751e15cd66867337540c618be9e0efdfb47f1b86231fafb67f81b683869545793372af8eec9c743608b1f9d143f3ae6227b2d5e7041a4e689c93ea6d706a3e7cdc2c9c0acb3e85619dee822d82282cd830a48a07f3d3af5bb46d3c26b79898dd9df88f5590f4515dd5fa9d101685b061c818502b7eec24162d12eb328d3fafd984e580b7a90fd73d466bd615bacfdbbd341e060a0a54f6f65ef51145119932fb7957853769b6abc74830c992d1a8d23d7913f79d70c384733da5401aa55856dc0375337625059cb51b38a362a350e4e4c4ecb176fcf005098f51c0b3fa6d62adb4a6810b6ede604692f1088569854a6096c977f307f9369923cd295b8b50ceb3d36c24dcc5de91ec4cc00c72e458aa315d06876b497069b9ae8ba8e124d7bc44900b3 - -COUNT=36 -L = 2400 -KI = b3a455d8a755eddb81f3a2c4f71d0775 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cc4edc743da5bdaea0aa8d8ddf7a70004f1f80f8fefd68762d699f20c11542a2f28bf293c0a62965eb6712e300db41ce4087b -KO = c9cafea1c49eea06e1afb409f4c9a764559bc531224040826b120869b71028c7de6a372684c8669011666904cb78589afa767d78dc7a5ffeaaffba85658336a54d7b9604fc7cfb58a75d57d90478152ecb304d4841ca72cf69ce8f791b6c699ac5ec4fe5c28bc396241d0addfb75e837f8e6aa4a88ca45b6218520313c2456574a4976eed2a6c2ca84b1bcea1eea777da0df07e4ba24bd47769189d9d1bc43790a8260f89f889077c87e188e3fea71d434b66ff55adb8c7f4427380111b4a91cae61fe89dd72c7f3b35ed77aeeedb6072337994b5ed8562038c58a76743bb924279f6f9edbea74fb9bd03d4ab5018b28d7d5538df799602056f9a7e599987fdd0f8ea9fb2851bbf2db1a6c59ccc7d6e5f5278e1824aa1c5489480b1b48476419e105f0d42f56711f06fc959d - -COUNT=37 -L = 2400 -KI = 5b4b2dcc22430b72e82593bd8a0bdca0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38ccc3883984a96774d836ac19747c276392364d3537e79247e1a2a5c27a6983e8d55fd3ba4c33b853bf01391cf13727ae4c83 -KO = 3acc0eb9862e23610497004de3bbc924feee516f84d841cafe4fc2b09ced6de5e3b2f4fa9f8002da03e5f7b0393f32229a8f3fd8ae2cc71b00101773adad42a67bf57955f735f7a7ca263ece9e75068231765629bd9e01cb4bf52b3bccf53f4852079e3cc1a0ffe873448bc4eb0270c2ace681016725f46c5988bac9722ab4b890cd0ac868333882ed204b0928b71eff55ef2132b61ab78668fc7d015ea1ed66dbe76adc36612e1941103b734e6c5ca4387200e4413d54e190b2890ddea7f0cbe45eb60ef565e360d966946b6ca14385aedf14571c7ad29fac1bfb05b7c7a2b1998786f455e410727ee3b29158a8db406c695e2204a2d02b43df50b36f60286792129e37549a8cb63d2875995dbe9b8021e5fa450ab89b883a47a39b955850857160d95e0c47a06e7a8eb7c8 - -COUNT=38 -L = 2400 -KI = 4834117b597c85db4b26c42d3b569d56 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 420d3dbd9a173429d82d6929228115613dc25b69fc5962427a527de55d9c13c4443143c9a5a5e5ff3cabcabc65a42561dd24dc -KO = 08c4fed928e8fa6f7ec39674a4c83ddc4beb1253cff906a16832227efb07f8e2a3ced2a0084f86e1f7edbb0fea855224e590f47ea02296baa6e335bab2928acdb32afcad4208b8d94f4aa8cea23404c3e7a01497bcd8fa20c9a6ab56cc020d4029f1c80742a978faaf16862d41f3fa5341c5f2dfccc52adef2eaa2b2fed53fa91f582de5f98c2fc6cd6b7aabbf0b0f123816fdcd6b4b0d66ffeed53422d71b0e09d2dc54540510de5246465caa97b5a0b19d29098c31025e946ba7aac6d8315053bd30a181a2ed5633b74332929c27e287438a4fcfe74a71c2f2ac9d359583c62218be7698aa66fa29f7567b6e29da1f871317d4403d9ffc1a6e708f962a19da5fc62e07bca831a322091e49787f95b1335f70dc811f7caa2ccb630cb3fd49059bf1420c908a5c2c6b5193d9 - -COUNT=39 -L = 2400 -KI = 4894b2919699e8b9648a8d1f9630ff99 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9478f95498aedfeceb2870e68e9e35a83c076e730135ab5403940b6ebf77b5c528ee00a90e3dd52d0781460b5628594c8a2344 -KO = 0fd44b07821319d645e6c84d26c56bea45a7452d3d186f7675a38e44500562f7559d2c6bdba1510632d8f5d0eac76ddcf78c21dee9e93bc4e0f54a89c3ab040cd45146e04b07a980f7f292393f0e823436ce66f488c80a19456467cab5176e7eee6ac965d59f87070a0c494ab716aceb40aff36c448c7b7042a9cc00386323cc8cec50c0e287fe00d02575499fbd0faadf0472bbf12db4e5c8fb31be2ed66966907f41c49fc961553f61ec082c0529f7ddec8f0fd3b1e167ea6404a7865d34d3668ea2be5294545738b980cccd74207793b13b5d243cf8c4512e293de229b9f07dc36b7e495268ff9c83ba181af84050304a3abdf0723aa4e308717743aac67bb33918283d614079da8e9d6ef610afe4ee19260f009e66d482ba14b32adccee0c3e8e4355b0b6ec3409c5040 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 194cbc62d388e155da2dfdcad3ef9989 -IVlen = 128 -IV = 55c9d5e508c5edfef57b591df0eb5d89 -FixedInputDataByteLen = 51 -FixedInputData = 5aa889f785565cd44cb4ea873c1ecd123f3033fd55eb5ab355fefbb50880cf3155e72a577e37d9d1d446d4636a34e98a497654 -KO = b955a297e9ab5fbea3e3d01f2755dc5f2192838865ac1930464cf7b484dc9e421b87b0e0e1caf48632ed60a18f26ec9eb05a5ab916c2df4b9d94a4f907b10a4f - -COUNT=1 -L = 512 -KI = ce880b3c4474c635c3a63c6fbcc3a60e -IVlen = 128 -IV = 303c3bcf8580ec845c7d253722231c8c -FixedInputDataByteLen = 51 -FixedInputData = d041c318a4c216f78c5ced5cab929a842daef3b61d574d355f21cfb626eb9996c0b67868d666c3524355f105aad8f510d2062f -KO = a18af3c14e4543eff87e9179de9d85a295595496b8f72b190684c5a225d43b4aa989618af431331b5a58f8a0553f5078a1f7c13bd63c205db138e5860fdbff3a - -COUNT=2 -L = 512 -KI = 3401b0f5a20bcd20dfffe3ed24fc858c -IVlen = 128 -IV = 11bb3ceb97e39dafe475d0632f15f4ba -FixedInputDataByteLen = 51 -FixedInputData = d1e6c0c1da530b440d1f3e094a13215c0bd16d50a25d8a825c467e6f482e8d8c91939fe670d801e2608b2ab74ef66500346307 -KO = 6db6953d7eb108c975067f55d3aaae12da6b3d8facf9395a4402660527aebce181f48686c38012c1bbc4529a4fab5e3979cf67826d4a4fdd6e5aa4fa20e5da8e - -COUNT=3 -L = 512 -KI = 2b79d028a41a33dbdf7902f20c864371 -IVlen = 128 -IV = 864145dc32ae11df5c6cd67e47a6f880 -FixedInputDataByteLen = 51 -FixedInputData = 82667793da92c1d4bd5926daa1372b5a3dadb475a82a084feaa55a336938665aebbe9764b90e76c906cf3eda4cc86662c70cfd -KO = 5f94eba7c1cb12d279b8e773a9c4eca9fd122a5fd6a94ec0278e106109f3e93b39320e139f531a1ef581a62072c85d19980c8a45e8dbb08ae8e4da5fed833de9 - -COUNT=4 -L = 512 -KI = 523170087a3e78f91cc378d89947f8ab -IVlen = 128 -IV = 6b433566d15f0f3eeeb7da631e6d22cf -FixedInputDataByteLen = 51 -FixedInputData = 4fd3442726bbe164b1ab269c0a1deaff2e237196a2de739739fd1a079c35ce3a1a64d7e8506506e3ae9b25aefb9c3865b1fd4f -KO = e2b851f960f4a9ceb170d41e6e37fd32dcdc98c3d04a8869eecd5c6e7d4f84708f2a9b7d0a0bf35671371d3dc80fb873b46de2e73dfead8f7c10678ab64c8c4a - -COUNT=5 -L = 512 -KI = d7f5fa7551645de0b36aecd46565f954 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fb5294ed40a0e4aa70a7be13913070a4c5cfc05f89b9f7dd26a493b8c63889c7c3b0b60dd6d598ffa296a426224c727a501946 -KO = 7164471f559812581a53aaf7fb6d6c53a1293115cda873887efcc7ce6b3a026b2d19f0d38db8590e218a2676df88f53cab3313ed63bd1e4828f3c066ea5eb1fd - -COUNT=6 -L = 512 -KI = 440ff57caa77ba92d889afa300418cd1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d059b1fb8aa1e3732a75228cfd5d4fc7b18c9b2c5dcebe1a487eb6ccf9a27309d76fc9cc6c2b75d46ea75f430a96b6518e0867 -KO = cd0ef270ed05e9138d71069e4448a10debe3ca9d83487ab1d7e4f691b2125c097156e706cbc0d3a64cb066bbf4100f5207c9baa42d48ac566ca0d7cd2f2620ba - -COUNT=7 -L = 512 -KI = a4062d619056c17710ade614ead5c180 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2deb1ac3ff54057d2884131b060d1c634047592cb1772f535ea843964c360318b049ee869deea04eb0f007c5060cdd9e509dd9 -KO = 1e87af3afa68f658425650020da3fee478c54d3d9e5f2029e7864033656f3d3a3eb46963d012fabefb839250afd33e033c8b812ad51a48883de24aec63a319d4 - -COUNT=8 -L = 512 -KI = fee12b9a8bbfa9ddbdc2bf6147d1aed1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bfc4e83f136ea35841a53fd8a327267e7840b9921990d48ed9dd0ca76f4401ecc9a8a1787067df0333e0e0f4e96df66122bcaa -KO = e9c3be6d06f54fce2c4e96c07e47ca058ff8abc262892d96c7806e37351a33db46861e56b99dc55c0f2a18b96c6c22bd2bc3d0a8ec91db97a2184421e1ee9880 - -COUNT=9 -L = 512 -KI = 4dac08681c8b5341dda92ff4c3364161 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 959218b6d9aeddcebb8c28c43ca508980c7e0faf160d475580e1c6e5a9e778736cc8d1fb6cce98cd794e03616583b2772be409 -KO = 5e6d0630ba6cff7f3c2927833583b93a1a7a091a0793e20c8f5852cc89766ecc9e56a829280f213d2c784fc1410be8fdf438d0fb673abc4d42d1dd21733bb4e9 - -COUNT=10 -L = 2048 -KI = 1f9f160db88a9ebe51d67d988344a3bb -IVlen = 128 -IV = 266ca578da01f586e9f25e7ef0b5654a -FixedInputDataByteLen = 51 -FixedInputData = 9c4e08afc92b4303cc2fc53fb60679fd7bd53ea0af23a2b8a36b3b6584e56f23a2cd32acff1d39ceef2d90c4569acd1fb2a7a5 -KO = 83dca05b9db126aaab0b5365c83d2202cdece02396952ec4d342c1cac30d792a0ed96381c1202540182e366c9b6683c5a505bfd7c67fa05822d9317e250c9da0a0be98ab6fff2a8e2cfdf4c6c8cdba0f0d7ee055784b35002da05a45c36ae2fff6456fd7ed87c10f8405f279ac24ff50a994eed0212aa8c346157bf4fec46a2ff2e20a406e9ea21e8e8f00fca80ea26bde80232683c5e90525951f143594ff7d7bfde197364b5117e2d8bf7bb3ea4523c3c793f8316a1c6d0240d28512ad1fc447f3ad1ff1305c6b80b7a18638079acf085a26cf2bb118d8ea3c5c68f849059c552aec5770f764aff5e9acec7a6b6567cd8ac5f02c147c6242927247cc5f4d85 - -COUNT=11 -L = 2048 -KI = e4b18b3079bded8b047df607fc8d3321 -IVlen = 128 -IV = 926452cc1e5d57067578feed422134ad -FixedInputDataByteLen = 51 -FixedInputData = 62fe8f262c1d7b215f431fffee28c80310e8785541a8cb62e49fbd733e466e1dfb17ad0d71368fe063f21ad25cac3ad65832b3 -KO = ce42103841f13a0f8817c694c98e1a243f92cda1dad59b5cd60df56a043b78fc2d752d774b101cfa2805e455b1af4839ecee54df38c0f5688a3489dbafc86554a092440ba7554891b166649bbc373fe4a98f699ee3bb2dc8eab4d2d6a367c6409331c56b100132996b8dfdca70260121abfc5386e62ad177bec2240d3c76e31965ed1a1b4b698c7b3649ceeed361eac6a2d68f9eb496d758e3c97c56b3271979af0b05097e66fd3e2d7962c6c7f109ec20b862f5607de14f4be0b767d6c8a931f8c38b0b273fcdc3a7d33208d4005fd45b4b21276836ed6f47877d73c82681e6b7ab39da34894a8ee5a4c48a032ef1d0b31d472f60eb33ff0eb68ea84d2a7572 - -COUNT=12 -L = 2048 -KI = 86860e71fa19c50ec2a96a8d2d809872 -IVlen = 128 -IV = f0f6796d37c105c6716212afa383e668 -FixedInputDataByteLen = 51 -FixedInputData = fedbb89cc0735920efc2cde1bc3894b4a61c2b4168e084fe76772a2ee0798b73c60dcf7530f651ef3ce208d3ada7c5fe8d91fc -KO = 27600cdd0148ad3fb177f1543877ba2564fd80f2fbc999bf077ee672a9694e169484da27b2363408817b3721ae1cad184a68a6a9d8160c2798cc20600a606e19f614f5aa5a118549b4961ad8477b57016d2f2902a3313fa7c08a785a39c2f5947af9a1da390b2f4d18b7b9a05d9a461d59b024db7c817a76ae5923fc5dee62c57594d79ea87cfe37006c946c57c2d00bae3fc7d30430644b1ab62fd8941baf58d9b208796896fea0dbbb44bc02cba9b071227837fe7a7f2a1c9c8c56c30d52007cfe8c3f333e65839d008b5d895f0d4d182b0519c9c15fbcfad737b28e316e44664631b934dea0696de1a413a1cbea68b1829186461a2dc01d47199b8567e061 - -COUNT=13 -L = 2048 -KI = f1b68a4bbe6c8858ed3281317f32cdff -IVlen = 128 -IV = 8a89fa4aab4d54cbb7c2b818fec5b208 -FixedInputDataByteLen = 51 -FixedInputData = 271321bd689ef8e998d28bdda8f97dc45b89171b3d785c218369a81d9e0313bf97d2bce3ec998bfe8b17078c9b41ab1501241f -KO = 4ba0af2e54999d02e2c7b3568e859d795df744013f2a0d42157e4f156e5c49100041cc82e1006ebdac972a6b82ab4e5fc95502a383d16bedef91374929c55d121dce203a19ad7226bd2e4da360c6b3a44032f42dd2beca0a3ca3dc2a6221675eb054df4c2d4155bb08c0c9c46208afc913981a5eabfd4128de9f421bbd20c42b1914184922282302bd73f523749d5bfd66adbb90805af5e5c58614329364f47a4f9652f156a503fca82198e29dced111d554c5c5d6a1cc62395dcab0124a9842d03c88c60140388d45613f6262bd23f20a07d1160232873736ebf890782b8f91696b15cdd7d9101660c38be685ceb9a48ab0298fb90f05894f4db69bed4018a0 - -COUNT=14 -L = 2048 -KI = e039a6da8137ee771be550fc933ae1ef -IVlen = 128 -IV = f7e81c4e7968b7d8acb4f178906ad763 -FixedInputDataByteLen = 51 -FixedInputData = 469a95408494b9dee09e2870cebf2a2687ae95556a2d354d4a6767270f7a9a46416d445247b4ca8090c9e38d74c02e7d767871 -KO = e56d509baa32d0908d15fa228cba7f69f15cf64ca946855f5380c6f51b65ed510cedc7dfbb4f44b5e4fed16d9e83d82ad6f35d05bf98bc56c2c0328de1162fde2a177c30a295e7a28c7b9da0f72966d61c7eea6d2dcb0272f3f8ab255200103797b9d1a584e2dbafe91f41902d16f0441ce0f86cead8ef2415b5c05d02b7bd1777e95170e031d43bff687165292594d51c070323835e9cb75a88d8e993075f06d4491b75e6d2e1132662e97a058231f9a49eba7d762f51795cac6615e6a7efcc6406de3791cd0edbe371aeb2aa01b3399ecf522c9135505912ba23b7b33386eba729cd8f03558a5fcc6ae9c332a2def74dd7b5be5ef1c152d3bf57aa0eea1be8 - -COUNT=15 -L = 2048 -KI = e7966bb8db73d9c8add20a2eaa538236 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 289fc71409b02549dc236f493bc89ef5dac1c67a6a0ca2acbfec68d9f252df0d29fb351d3095767216ebd5b9d3c528bfbe8459 -KO = d9d4ca65f0252b130b90c333c34ffd5787febbce8862385b3304f18f0cb7ce886db8a10753d5507caa5f76be5880b6ca531ee8106516b3a06248f9b191e1b7efc6f360d1ecff9daa09b231065fdd0d144e28947ff94951dbe16b8c618eff440eec56974436a0e38f30f691fdf9a64ea4a7a1fa0e0f0fa1043bb35c0e5a26612f3e208b2fce222947b701233a5a9eff03a189cc3e1e54bb4d5951035b4b689718f8bc0b7c59787f263d51b6ebd66a1d4e1c1b2138c68c4e30924762766b2e183ad7d4ed7a5d436719581ab85ef8c4384cbb9c8ce3ee6119c79d4a6039c135f058d2bc2c1a0afc5c4ed5ddddca963299906242490d385dd006c027d019770a706e - -COUNT=16 -L = 2048 -KI = 417b5746c80014318f8094992054c8e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33dea51a9a8edebba6891b7f89a01cb5546394d57bdfe8125bec36528c965ad28f51543b11a418164365d90f76365f6dbe33ef -KO = 1ac8a6b72733fc7f954e6330ff25f425d70086781f9378422d4a4ec7a836d9393c76437c9e0cf2b784f8a2c95b4557c723421f05a0fc33f14d496d223c83b0da8f491a68afd4650489c509bc370150899290a15a0597ae3feddcb402763cfc5e2647b574867f1c92e66b75996634e9eec3be467571f23712c265ee771bd3353ed432f6282442588ec76aeb3d29518b1442c55dec6540139fb7d648a6d7190848549fed6cf2e3fb105ebf66e03e5ffd04c4addbaf3c2ff26ad0c0a1ccfd7106257e3da9106102350018a06f6d29ceefe67b4d47a735e93a93ff1ac58eec92acf1d77a91d138a65133957b7b8d58a48692d752ab628f75c6640bda6fbeac15d8da - -COUNT=17 -L = 2048 -KI = cae9f3b688b657ee6f4a66f3ce700522 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7d8d2e53c566b86ddaeca665a483ca269e23c7e0fcda5e0cd68cb550c9f50dd7991266b3d05fefa177872a7ae10e63e4cb71d8 -KO = 5a247264d1490964a00baf1aa41322b08677acfd45fe4f115a3e51033f1271ff3a7fb4ca013756f6d8da14b2d91e14ef35958ab6dedbb6ed1c7171559122f86078457a664e1b3a7dd25c04a8ef1337af7536f3579187f2c966b572cb5c3215287e979af9a2161aa5b6fe06c6fd9de3185de59a1f6b759f47a5d1c6ef7ec16f595092a76eb69b35e9b8adc13a047e2dfc444e121d56d9023478d5cf9d1efb5004d04788ccc5a24696c59903822ac7f35ee92f6f6ead3cbb54c4e0f2a6f5f159a5fbab9781486aa6132eb5ea6de2636890697a1e4434ce34b751dc5de611dc97fa0573ae41463a60dad1efad99288800f45ef170f08b847e97f6375028eb8623c1 - -COUNT=18 -L = 2048 -KI = 43b8b92ebf4ca2256d8915f3ea4372ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4227176e15f055cefe9465da9ab69db6bff0469d9711e64509e4d1a96c3fa03da239e6de63d9145b635ffdf4aceb5f4b70f8cc -KO = f1c7a2e0a9ccbddff95177a113d83c7a9d71e7f34aa4056330d474e00681da78eb853d0e7af580e721fd2749b06c1cd38806f029c0ef3930352065cb2cdbee308de12ba20805bbb9a8667f731635e036d9f0aec394cf78f5891179971195b8f132ef62f1b625e0cf745a67f93a6bc1e096796eefbd4536db29588f796745c8f05c473135d19ae8cf36446fa83318b683386b6dd36ce27195ca1b56e0aab164a193d3e16c7ff3570eab69ca29afee4bcfca860406db426db0a10c7514dbe1f5c33da4d0ddac05ae0b96ac0633b12ab87ef476c32f4f85aa3a35ae4745ef1fbbf5617791590b51bc9a2860724488e6d381319869b6ee576f3a22f54167eb55fa59 - -COUNT=19 -L = 2048 -KI = 0b9ff863d53dcd9719ee19d57b00dc40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b0aa3f2c115357b080d0fd5af92d236e2cd2a6c0dd8fb861a120a1314d24d4b2ef4bbf6a30dbf1fff16bd7a4d77ba75b85d36 -KO = 8394521c6be425f6e9b8758b48ad4c875fea9139f82e8e9459a7e3a3b3c42b0f39df56404470fc34a6704c4014bc30ebff49486362d6acea95cbbd2171b31c13418e17d131cb1d07e784e30316f698d495ea08ef993b76fbb11ea98adf3ac0c7d83b1d7961f022086636148a39b1b74261d4a1e1724062d801c8f134d12de75b1302518663206470777686fee8b29154a733c3360da52cc0f8b75b02fd78d8d8e379933f9909c8041e7a10a6146d8beeffe047e6def4b82417c026e3c8fd2ce808285431c7b4a8085bd5a199949f4fb922cc2dd015abd16212992ed865473f019cde5e4352e132a31714199aa26406e25f8c9bc9cca32f939b02cb6ab63ae870 - -COUNT=20 -L = 560 -KI = 03064489680a0c32437d2178ab3ab344 -IVlen = 128 -IV = a0d3ed3ca94cb55c1ac4b40e549b5635 -FixedInputDataByteLen = 51 -FixedInputData = 60e06abbb6eead83d70ca7c64d3a9847aca44ebcc81a64a2b588c09747c316686f34db934e187c52b8a6391e9054c49f5a46ea -KO = 64fa08bcb2ce09eb70ac070958e010e3f957efceada21dc2feaf1064490341c4300ab9de85c52edf7ea406f36c6e698f4df38570dd7187e34a3339600198b28d676fba5de9fb - -COUNT=21 -L = 560 -KI = 721607b4276b4d8417e6d24e1da56ef4 -IVlen = 128 -IV = 3283cf988aa4b288e36e0a960b57fd97 -FixedInputDataByteLen = 51 -FixedInputData = e6d565afd97ef0fdf7cac647b1e23625e48b7fd6e046d2377bb0c610573d90aca55458b0dc76902a6976de4ff5fb43ecc56d4b -KO = 383ca9dfdc6dcf5908190142e336f08b9ed65409db28d1cb2ce186e5990f415f4b0c1e2c7bf0661e6f95c42a3a101456375a29276016d2af95362884795d434044e652191715 - -COUNT=22 -L = 560 -KI = c321381f051778ca21eaffdd0de33a42 -IVlen = 128 -IV = e56470497f8cc3575a8df8e4af48da4e -FixedInputDataByteLen = 51 -FixedInputData = 104714ab8ed715a71402407e81fac086497f8c0c8d3b970105e93a2031adad43520a16ea84138248195d8897c253b93f62b1ec -KO = c3751fe6b897052e01c3af609f669d22650f83ee91fabff18346caa58ad0cc5193802b98028fd637503887ac3633146161427e0109afefd0c466711a775feec93e5129c75477 - -COUNT=23 -L = 560 -KI = 38faf22b3af3c116cd57ed43e809019e -IVlen = 128 -IV = 3f9cc6e73182572e33463d5a880e61bb -FixedInputDataByteLen = 51 -FixedInputData = c9f878e38e6a81919c9e19a08a8916da1ee602f01a2926b1cfd1f03f5ece0941e3f7499996dc271efcbbb89c0ad5cc1e46c33a -KO = cdf5407abd444f6fc302e646b746359ec73ec2984975e11acc5c62019b93995fc17763e8718e809dbf341e783fd3a7745dc0791037ee059829b097ba6b8f6d3d53242432cab0 - -COUNT=24 -L = 560 -KI = 548155bd29dcd2955e2ce70dce8a2480 -IVlen = 128 -IV = fe4aa7ceb25b223a815bba9c0bb7d0f3 -FixedInputDataByteLen = 51 -FixedInputData = 611617213b27d06696b484a8181195b8586e7af1bb9952eaa36f459be19cf14e7055dab5edc5ef3272b4d3ad37edaaf3f43cb7 -KO = cbdcbd6da39c0521e1009e90c29b859da2533f0028a46640d424e63e21d5c78573a9ec87794e0fe71fcc7b1d9f2ecdeaf76fed27de7f4f98ac56ec63cb775615de216f5975d7 - -COUNT=25 -L = 560 -KI = 2223957729623660f9fba09bb0a58342 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4129129271e5351439a44a9bb6ad5952224064d33890df786f020a35d9804cb105d28c4d9a423559b2dfb564792e3cf6edec2c -KO = 0376e27d475839ea6eb6dfd2d1de16aebcf38c887b297c3ef006c8676e475af198cd9658f4963890885b2125cdcaf53b3307e959ee98f1a5dd76f0258d5aadab6e545754a22b - -COUNT=26 -L = 560 -KI = 7d02047c940272b3fa7b1eacdcc35581 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a8e826926c0dc50ee13964a7ce35833c58b258af05f282a1234a5a47cfaeff21ac789e3b864c46a20d5e88ddf9739f5bb9d8b4 -KO = 9379f89288e986a9917e42f5fb5df3413744bd679d87a7cde96bccca30b9c84e170a0f977aeca943d6288392f255bda1e71f2071778de62fb2658a77093cc6eb19dfcd14bc5e - -COUNT=27 -L = 560 -KI = 32b2cb25de51caaec115aabc8ce05c8e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1cddc284ca36ccba7990815be377949b9da33f6cae856f6f5c012c98b1ecbfe16e45a1294a300ed7e64010551a44fa39a4e58 -KO = 84124542bcfd80a5afd0c76eb47bebaced4ea1ccc82cefac01c2bab2be935cd9d25c5aa2e4c7a81c620b7c00097479de88f8e71f56119c4c67c3d9ba60db98c54ece4e2fcb5a - -COUNT=28 -L = 560 -KI = b0f91427543a2c4097b3f329912c8f3a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6036324f7393fdd88fb17c20445e74d898549ae5cb6ac38f620f3090c044bb7c309bdadfda4ecc8793caf8038ae1aa8064932b -KO = 510f44673c5b8f274aff19f829fe1b2930f71f33250b40745a7e2335633ad46fc830317a058c7173becf499c13564ac14007923cef81b728d6af1524703565c1d6b6f0617df2 - -COUNT=29 -L = 560 -KI = 8092a738b9cef28b9e1c3110b795f44d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4bcaf41c44d2e83c884f3f9af235ab126c17d0405118c6063385b24afa09f0b4f7a7b20ab9cd85e105758a04fd793ff0f9be6a -KO = 795adb6e7a411b599e3cddc729db9cedeacde50bdead91af99a44d85a7f7174b8475a816a6cbdd52d0fd4cb623f1797c7db9f4fe02b434ce2e0635a589fc47373d812fead3f4 - -COUNT=30 -L = 2400 -KI = f5c28f66baaa42e37cb20e0b2c4d08ef -IVlen = 128 -IV = 6cd5e00c6c3ad9f9b2662cee4a6c573c -FixedInputDataByteLen = 51 -FixedInputData = 9744325dda9977ee48d942ea7484b8a8605243a9796ebce9a4907ff75c70aa3e80fad5f3b6c8aa7ff8b1281203c2bac3c0e3bc -KO = b301f7b0f344cfedf3a12e805b18e6e26ad99fcc85bc81a9d23e6e7f1cb9ba2ce94d7b1fcaee8b03e4c9f64f4ad59439753ceecf88b6e50daca5d2b82f48bd756c30a071da45c4a0bcdb03dc82de7ac3d04e20a71d4ac59cf652591a9ab5693c68537921e93d8d61688ad6521b09d89b2edeadb575b498a846f59630ea5f5e24874f70848496efb679268aeffcf41108a0238343392a57f1a5b168bb027b6adddcdb3403917614fd0c8d659e6ff01f164e7c9384e8cfc8958574ab0b74ac5fc3833a859a69ee1a05d06236a3da73427dc63aab40f402fca4c3b9d71585ece3ecd1a26a06ef692fe27067d7eead5b66417c6c27dabcf6efdb194853b63d77a2a219d53bd436c6a52c9f16e7e95f9e073fc9708265ebeb7b8d81906c2e149ed3ec3ca35a3b52a85314b069511e - -COUNT=31 -L = 2400 -KI = afe8e7aa5cfae878ffe4d7a86edfb0b4 -IVlen = 128 -IV = 56468e26157fa4827ca36da9be5b0b72 -FixedInputDataByteLen = 51 -FixedInputData = 8ecba7c67eb741aca8a89b746e2a6e2d1fd9d7ef25620437c55cb8fd3d6acf323a04a02ed6dad61ce35fceabb150013b25cff1 -KO = 8524a9b582819c28f3f42d6fa1f2df2b035b26b8829de2ff95f91ca84c2c349c1322147cb2f2fc1b15de6e0788bfe4c48c99469e3de134c0ddcaf30f7a9e5edfafd7a4b3ad3729262c9d6f0e3694ce9fd98109a0f412c5258a7bc838223ba88a4a6e4c4b10508eb6ee744decaee16b3be3d595d652db52c713ce2da875e7f3b1a0acbb898c63483728d7525ad8a6d16b587a2548bc6c94a6681bb86ce5e183d2820fbbf0fec3a2e55db37214a31a18f02170174b227f5d476d90beef0b04bc904861696177c7b74bc97b8e206b31206104274675a32e3ed5642d25e3215159c3c3fb1527badd9d72a5be423ef6ba5ed1a808783bf0f2a3749a87d57d8b80505ef6d40fa4dd20ad5c900c7cff5e7bf83a271b1ee3b26972d376d0009db5e3f266724d888025d0bfe5410daa3a - -COUNT=32 -L = 2400 -KI = 0ae817a97dd89be77c9dcce4ab4de65b -IVlen = 128 -IV = a51ba81322521cf59c915bda73bb8a33 -FixedInputDataByteLen = 51 -FixedInputData = 83121677106d4f2b0acdb0a594f91f17b8f90a07e748574cd1ce75a77b64af81ddb7e937a95b35dcaf41e056839914031e706f -KO = a1064cb592e4f994cb5127ffa9023f709cba2bef867ab9384353e586036df476f42b46ae555aa100ccec8044d9f2c5ee9c18e845c11ba855e45dd9c5d43707eb5d8032393b45a2b590c30ee6b4eb5d37050881d3b052805fba53bb18d8dd43c4043cdf89f36022f81e102fcf97c594c3cb7cb8f04f585ef8a462fca2ef9e92911c877fe18e43aab222dfd41ab17946e58dcb24447c19e66991508cd4cc7797bdd7c8926382e3ed6f8bbdddab8d6276a6f5ad2ad1fdff77ef7799ed4f5f30db67d81918b0ed86e52927fc7c0dcb58d684d57dbb6cd15537d64402e7b3c810b6ca7cb08c64857d3c90217f9360df0057ed95f31c4a530e1ca6133b38a422a19d3a87c7b865cbed503cf71233e927aace2503f40084fe3d4bc3c170e3696d0c092d6e5320980816c93fd8da752d - -COUNT=33 -L = 2400 -KI = d873c641cbf65bef451a0976f6aa8bb1 -IVlen = 128 -IV = ca16a145c2b6700cbb8b59f064cb98e2 -FixedInputDataByteLen = 51 -FixedInputData = e817dbd59a6b14cb978d6c3fa4528476c80c3cd28d1f0022e8ffd6d426aa5bea37db1e58777eb6c1faa39fb16719a67ef25ae1 -KO = 1974cc1ec3845774edc65c7806eaf284870b7dd44726d6aed5e3a41f0816e6208ce56977efb4e51cd13a5efd14001b1bdc5c4766f5ade193344a70a844f656524a975ea2b99b99759eb3a20d3f877735bddee0d04421b44bc963679f91d4395dc78ed57a92d8f9a5a39f53af2648db01f1b9e9e12caefb32a5e8bdffb90ff9acff72bfaa0e421aaf95abf6a5862990e07fb8b47b5f6476826361f785ec4d722feb0e5489328686b7cde4d0fb9adf702998c335675430d7a8014c7e4349cc2d9ccc9a77de5c061613ee0e8909890cbe7d18b062fda81221f7a0761a13cc32f03ddbd7122cb8831f243670072afc06f8f1b7d0a4009043339046a5a3b2583b316d972bef8473a81e716f06cdc894bb6f09f37278ce3b033b848ec5b219314b773a76c60ed97eb39eaa8023971a - -COUNT=34 -L = 2400 -KI = 0a0742804cdb0220bc480b4acc513fac -IVlen = 128 -IV = 1c0eba6eb184586a51e84931a7cc4b04 -FixedInputDataByteLen = 51 -FixedInputData = 8d67bd5c04170f0f943c6720eea3ba403be26261965cc392786ac19df19b1b93fb18202994b76b8366eb3da7050a10d91a1571 -KO = 1ac2e4c158c57cf8c186414294de95c6f39a2abe9457403ce1291793167147626652b205049162de27fc43a72469d851eea0aa963741ec56039f59ad9a5bf75245b34644a782d4081bb2d8fa0f237840bc875fd6b21634250162263a7960cd331d605775237f392a2c6ce3fcd6c2224ea7ee0ccb3703b63a109e3b1c9ae9251c68eb5324a5a8544a3a5e839fc94610b21219871e9d2224d456116b6c866516eda53625fdbbf63c8798b2facfff557b0344c38dba02dc1adf98baccdadec5e9ee0807e4e550854d2a90527d420523d96113c7c90f4a4f2e2979c1d7725923fbde432217f5522d966754a0d747608b3def52f8837883566294fcd021ed3492b05b849a408aadc33c8e6f3201bcaa655786410668fc5d1f974b7c37bd32f7d0ebecf528088854ee0a7b63cdce9c - -COUNT=35 -L = 2400 -KI = 184f48880bbb7d33061cd6d856676826 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d791b587ce089709c27932ced8ff945c4c5e052aa72ac6a4c8f246ee42931e8a82ebe9d89fc1784afdab6d6e04a0e4ff35a08 -KO = e80f0edf70f58a7dfb17705401d7a6e03ec5b7e9b75bb540a81ec3a0d69a748e8a7a557e4d16fa93bd2db2eb85c1e1c3fb2e8fcb21c71bfee1212bc1a0fc12c47993229cb367443cfcd7458f78020c1be80c9912fedea6f28756b74a0cc25ef7aea9c6938e56e48e8b0db3513892dd98349c8a702fdc0a3f15a354c1a7e52136bef22529a5e18f610a5d4d765bb38e04c7362e308a00ae835e2d9ac0f364768ac67bdaa2ed4301ce295e83957fb545c49445aca209a284ee42af0943cf87bbf862452f2b88a8ec9a315a49f9876e5577de396073c5ef613dd36dd8dde3d88729f6786cb535c2f5b24edaf9d040a8dad6dd0f5d1a3114a1ae84214b0bd06a3a02fe6816b988c23ab54aa01a00a3d90c1f8b36b718baccd4a0b36fbc7ad8d87e43403bf1fc20841e04bf28f2c9 - -COUNT=36 -L = 2400 -KI = 75c143ed41e3f9feeaa0b34247c1a8d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7ba2b19f339e1e47d9c67b2236f4bab5e9dbf186b80a48577d04ea9df8b63d24c22bf7349acc908ef1d2d06a893b1de89c322 -KO = 1a901ea9be9c39a9bcfe80ff1c389b1b7b1422308443d6371db903a5f63564a7b5248776577e88ae3e2f0e2c3a2c26433549b918628ad594117be86211efa702dab5c9acfa656428ac74cba88bdddebfc5b1f78d716f1d3f2e662a0db2313bd42000145f2b8bd763dc15df48653d3c05d3d293b40f1943f66b33c33ea52b36e23064dd6e700efcefb2bf95a6510e0a20cc4e5b869d03db1cc6d10c91e371091205f28bb9706d6127ed67117614f5beec589cc08a67751d344c2cec418da764a96fe6ba81179a9d5bf3fd3654100242874b890ab1aa81d0736d77f649915b117505ed13033a2bab3fc092ad7ac36448b2fef98412d3946fb6ad4c7b358deeca66607b069ee3c5ff73b4b5ae62d436b64ef7a3c64072932bc8d3f4e58b66933bbea64f1f82d9b2867feb976145 - -COUNT=37 -L = 2400 -KI = 84962b542182713ce9d11e6e3f2c4871 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 48106e28a151a7cd820f759a67533d3fab77a723ca4fc06af93f23081cea393bedbde7be3f0d150775c40c413fa66505ee50ad -KO = 33c2c7b5227a2c92370fa380edd14362741f694760ea41de28a0f5575fb63c5502f6a3826bca3b5ff1dbc9c2e90beff16ef76a7d5eb7ec613772be1e3254436d13992de9800d65865a3cb3869b395948fee423981e4717c84f666aad5769c1a55a8dbe3204bd07547284c20a31931b3ba5160b99563cb90a1905e2d9c3cb112b7c14c00667d62c1ea0a7b2dbc9b5590b57acaff0e2d225ec6884ad882fddb4eb7475a48b6b609d41c8ca5cff955189f69a502ca2b02cf6674626f43b3cdba1b4f5c91daa9ea9764d3dee6441f7f69c62ba0b86ecc9c229e030f88d011816e86023708aeeecc9a0c00f92845c0fc7c6b73d83d53c5aad4a8fe1c260bf6ae77103e95680f0651779cec916188beda0193ae641fb642ee7f282378d31248422acc5d26a26eacaa3e6b1f3f85424 - -COUNT=38 -L = 2400 -KI = 107a0792d4dae73704c1a2afe2002ae4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 25b68e34caebe00e2ef20c72cede8ef1472e5be21f5e19d8ec7b2b006170fb4c23b863d5c4b291fc764b87e9660de3ee307041 -KO = 15217b5228099b4872c207a74c7b4109ea4165bfd5544c981421bda0a35d45f1be1c13b40d931cb0cf5cfafd8d78c3b1bfa346103e9a36b35d7681f17eb5c78bdc7440e67c4cd95088a75ec74a69c22db38c1c2296f5e57b95f8d1d7a89c2c5b19d2632780dc3f81dd517255df1215f249e1b4009926387bd768aca1a408249004166c574df50c6db310d1afbdf93e5efdc78ad219e4352eba5847dc34741c63ab33c54f05f2785482b782a9d808f7ecee535bc34bb965c09a57ae111dd6cc1b11160ec30132630fab75ee9f99bed13bad5a168a1c102c13e7a167b870a7b39d87b7a472eab2b0ae43351926dfaa66e9a3df671712b6de9af552804c889f159771b95d7b21dd0640b3c58d12577058ffd58e05589d8b1de3305d4af11960e9c61f7ed2629fcdafbcfba09bab - -COUNT=39 -L = 2400 -KI = a4fc52c63398f5fefa22e5f4f48cb6ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58bc3e2b1f8cd9bb70b0fc4fa3280c8239bfc027581ad025ff73f99198c57440d863d6dd642ea79d925de4d6aae8a5617871be -KO = 551abd948e8ad19d19ce611ebb7655ff4649e4d1c222716a030f7125623f3e573583749709a4b3a381a93c574a9bf1386fc3a2d2f0edd6729fcd58d0d676c983cc5d90273a6decd78cca4fa36d706822696414391b466de2629bc10cc6d2ffa52e616ed31958c362d3f21571531242d1611e5b58d65f5e997a3cca7c142781c25cb94006bbdb08003bfbb0b4d3061ce5a2b5fc99152f6d893065681f7bac9433715761108e57b2ea95c641dbcd24e4ae2b1f2c9c3405efb696536875198f41b6b9ff2dcd8e0b71638095dc7cde973b0ca10b01b9ac16225a38f99ebe51b2e5272c1989c8e199d79167809f682f9148ca4ee5712a472be497c8ef8ba5201a3187cb7a96ba2427a822f7eb9b28e9c0ab267452cf18809e2935fbcfe7fac2513ec65d1bac7051a162771c26adac - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 7028c9bc1570607c237444d92b9fd9e2 -IVlen = 128 -IV = c9c7c0e528a41d1ba69c09d90e51536d -FixedInputDataByteLen = 51 -FixedInputData = eb231f350eb3d9694d16f5387652fc0bbf6ca53dba36f7ca230c3f0f1b5b7b5ebc1e4f323ea27ba45e20ff00813c43eddb8682 -KO = f50897267bbbb334e5dac9127021da347baff73457e112b93de8e56de6f3ba0062df7356ea1b69a036cc02c37eb2fa8f123d879126c5db10c208c6c895590070 - -COUNT=1 -L = 512 -KI = 66d6053623166c93d7f7ff4c7d18cd4d -IVlen = 128 -IV = 00ab4bc65af46e52f00cf46e53c29c44 -FixedInputDataByteLen = 51 -FixedInputData = b47bdca6a06f82dec2ac1bfaadc0b03a08eb31d47766244c6ab34f8903f138d8505b1f0b4919859ac421c9100d338a3b6b145b -KO = ef7a5efce5f95a4344010aca94e115e05953d33c7d85117763395c0dcbc885470b98cc53a25fce23bc487c01b62248d17f339753c822833dcb9f1b19b2db3eee - -COUNT=2 -L = 512 -KI = 342d07bf3c15599d9d2c60c98683e64c -IVlen = 128 -IV = 174bfb9f2ccdc8dea08d39b97a76e2c1 -FixedInputDataByteLen = 51 -FixedInputData = 13933c55278f726bc1fd41449c5c5835ecc4fea82a807bacbf62ba80f88c740037667a1ba7e193f20bd81c613f64465a4eb7c8 -KO = b3f80ac619181f54078207d68c4600f9b5530277be78d201a2357c351f60ad2c418bfe3e3c0e418bbc87a63091318592ec671770c7e5f6a36ccd0707ab7db45f - -COUNT=3 -L = 512 -KI = 007bfe520e562c56251699bbd291852a -IVlen = 128 -IV = c1fb657a849a8069c70ff737e087ac95 -FixedInputDataByteLen = 51 -FixedInputData = 05be8a21926a8d546841b1c287940f5f8906ecdd992114d630209f8c2d40419eec4cac2dac2a5b5a9713c9d75f96ca94d4731e -KO = 7fbfc4907e94c47c125887f4a050354a6e09a7d2af683b47803c1f2cc167804ff890c1f950d029a4a9c0fb0f3a707f68f0994cb383c2e2dd45fa1b59715936cc - -COUNT=4 -L = 512 -KI = 300b88b7a9f0c1689aac92327a1742d6 -IVlen = 128 -IV = 5b57f1c5b28407231ba0892fa5340987 -FixedInputDataByteLen = 51 -FixedInputData = a7e719054927a578d75205553f3600a4b810bb47b1bb03ad0de669f9525244266ff2ec9067a531f66a24e26698e06d0073a016 -KO = bfe3a7d5039e633b298d43a19f8ae850a9674f30a1cef4fca22819913a4038c43535c28cb7eb0235f77930cef5a9f1ed9bfe9469f4b336e3deee0fac58eb6a1d - -COUNT=5 -L = 512 -KI = 129afa98f15f157d1f2bd4579f941f05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8b0b1391d083e6de8c44a1efdd857a8fef75698446d0ab3ac7deed70d1c1f111b73835e86171cb8cae3f579a071cd6404c580c -KO = 185a9b9e3a6f7c49ac3d0947bcb0f663c225eceedec4759e839909d9699a8e280c81aebe6af20c669d24309d58bccf108d2aa36136bff8b6f763f85aba0f0ef2 - -COUNT=6 -L = 512 -KI = 1bf5cf615208fefe1924dc80aa13f87a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d63dc8d1511c88a89b45a5b635d800055c54c7ebe0c24aab541b47691b730b6cb68f69a3552a4acfd53f9cbecf04af7949e077 -KO = 827dec971d25751759e400c64695b0f476ba1a337a0bfdc4c36975dfd96ac7d4a2c4071c635e47dd41c567a64ac72cadcd7f52d4596b397d01258da41f969d59 - -COUNT=7 -L = 512 -KI = c349984a4e346ad04a0d2d8f49328b5b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 896e247bf2c71de1fc973e56424c5feb185863655621abfde5785aad477e050381d62dc79c375698bf707701924ef3f2b2df6a -KO = 7d0879864827a00725ddfca684f3bd6600b330a3376fdba74c5cc4e091f5529ec2a8874bbb5e9beb2976b08578da76a46818576cbe372b6e207395794eb43a16 - -COUNT=8 -L = 512 -KI = d25838dc510e0a8c803f651a9637eea4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 759f6c131d386061be758dd86753120b7e67ea3cc3466d5e94d268ab8e2bf7a007d15d4e44bc1bb905f429b34e95e643a14031 -KO = 96cf724382bcb7df94e8bab794ecf97bd694a279946538ba418b6ad74b8a323cb8450e094930a16b914660183a73d0141aeccbea70323f81a1fdfde18b173298 - -COUNT=9 -L = 512 -KI = 44c6d247a1e21aa53b2835ba2616c76c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 702e360a579164ebcef6b9485f1cc8ed3d07e393b770c0340ff016b7d28de248c09db69e6a894d63e950430fd2792a6774608e -KO = e7ef463b3df06e24267d9cb90ebd2aac1397a5ebf6b481648c6295ab94ee99d19587f20af4ad5d703d20205c3986c1c0cc0a612a3ad2f2223e4ee715370e0c09 - -COUNT=10 -L = 2048 -KI = 8ea16f48c44a00735ceaa1d18e8f2f9b -IVlen = 128 -IV = 64e7b2f141ab872bf397a1285155f495 -FixedInputDataByteLen = 51 -FixedInputData = cb84511e5f230cb60c2ac73227d10e1a858ead95099a4899ea3e2ce11e6de5962b154143cf454850994a996908c69357788ed3 -KO = 0b992d639bd898e84713939d5a4d59c10a08161b575253988cf09c913ba4796a328ce7e544cb1d3c076c3a5d91a497a75de4b6078eed7a6742a9f0468c282cddf116300f5d37521a214c2ac552047e6bb69e42a7e5ac8dd813d895dc580857192823b6f9c878e713c6c7869711dd0d85c30183ce80437767734143154a70090ad53516ba172dd8ec2becb535b7a4455a42a0a41dbd33cb0f1fba0bf48cf99d6b9d2f428dba8880507454e58834807f94b355c46ecc129e46fe4131960e88b029bf0bf5b3cec91d1c85243f2c2ca91cc033af0637dc8507a910762d6a54c8b3964c67ac5c0294d50529229b216cb76de4b11745a4b14a8ae73e3f722adb14ee4f - -COUNT=11 -L = 2048 -KI = a062f4027a956e06e911b26225396b8e -IVlen = 128 -IV = 55f07e896714cc207ea0562f5e22ef82 -FixedInputDataByteLen = 51 -FixedInputData = 98460cf280860eef7791024d055f47b50c19252bc0502d14c4d97eb96328957dd75c75c653c7c97ce0785baa6016122da08412 -KO = 2fdf05f8a51a5c159b3302e66efae64a0d41d623c39c6cde5347f8695a32763644d7be8018511e70df6b4a91e191083985b8f6b990b7930ffc98efb0d8ed13fe729f1fe4feb4c6e8403d9f4bdcc0b4d3a69609b5b5de3d9aae8a2edd147e935d4c225d9cac6e0cbe06acde22728ebbfe03a94fce3e732a349264c8c69635e40148697db4225d135758fa280c6bf848dde8939bfb66b8f9e4905db3a7cbb6bde669f4472c4b2076484db33d079cff6aa17e738231d8e0ce4cb79093b8692326e075affd44c25c5c515f919d3c2e8d4a0d98e5a163715bae97d46b559a48e9aecaef1fce84e0d31d82a684d4d8deeef882d4a1dc3f7b217059599d8a803b0bfc67 - -COUNT=12 -L = 2048 -KI = e7c9f50b3551cce99beb5da3f7ea2f38 -IVlen = 128 -IV = 7f61388f48be4d80cc505238faa858f7 -FixedInputDataByteLen = 51 -FixedInputData = b4d4541e2a7455948a238e33afcdf74d1ec4ffc44e842b7ce8bf3572f836407c1977bd9444de73539463b073c9b66f12ce0f8b -KO = f01aef9b8640fe27459a14b650eff8af272e7c106e94c5f8cc4fa0b00e82fa3122080d1d6518e2025a4e1b20eeb32905cd9def09a26de222b59a558a188038138207af139f5083a2c89b73b160a558059a35895c3a514d17aa708f7999aae2f9e43b9a7f476f56beb7221e189d0949a6e8b1fe8887dd28d08d8164a1c1e0c2a537ecd0badc5bb853d910a0d020f285a10c0c288cf3a7a15798bbc55561e41993434f5218c9023e545ec331bccafba2d22d56775ef28a2f939f72e61f120c5ba9e2d52b71dd950ab47d4fd873c52a8706e390c01b3f7e6e6bad922d62ed66fddb6ecc4e9fdbf817f8206ad582bd55b587ab727bc65c7d930b4bcdef86c86984f2 - -COUNT=13 -L = 2048 -KI = f013ca5cb1c8c565ed4a46e7ac33d58c -IVlen = 128 -IV = 51d78b85d794991f21532f457026a15b -FixedInputDataByteLen = 51 -FixedInputData = 051d8956736da46da38ffd7ddcc8c2ccdb6968b08d999a39d9b14218d5fb10f91e14e129e3356de0808c460fd2da84fe1d669d -KO = 1a62f1807fe180710157b64b090bcb99e6124484d8fa090ae84c61d93ae29502f9008198910ddab7948cd16c3dcd937bec353d196024e4e5b248afec91db5875db8f64058e4bf0adf9b5ffa829a6c145456de7f0d9a5373ee1ebc7bee4796aea4461a6b188768e123a3de40d744c343c00058fd8c895786167515948c42232a8575c792468f03bcdb74cdf090a57ef553edc4ffd38f2df35f7ea4d07324833dfa364658d1f50ac1791f9d08ea7989ddc94853416effccdbb955eb6b12ee1459e225051e9f806bf7fe968d93f4cb8af7b2726b625957ec36afa67ad525159039509df2807af6b7f041564059453b12ce950af08dc8ab5ea470d780770101dbf3f - -COUNT=14 -L = 2048 -KI = aad8f237dd2a407093a989f4e46f4fb1 -IVlen = 128 -IV = f44e2a76b295176e379bfb0183b4add4 -FixedInputDataByteLen = 51 -FixedInputData = b3e1b76c4a8d3ad4aec20fad783776f0d623f8838d8033e8ddb92c819f8fd1f09f0f6be5cccad738e0e908c504d4f885a0ada6 -KO = ba836372f441067d6fbdcc9249a86de3e6aca0e0610ac8d850249892b31f9eb2d04d4af04be1c62f2c02d326dd108eae66206ea0126d283780fbf2cdbcfb83ba3b89af0f028f155a3d0391136f0cf42152db14c61fd0847b9b421fafea57d591f5c2d64884a4235c545d8a829d469b2717b2be9d774e603201ab311fbad691605fb398085fef9ac9e7e3dcdd72134bb36415e6a9e3b92a680c341927a5db6e7f9ae45ae100f3bcb3ab727b17ae37113d24058b0e53787e7519554b03fe1fe3d2546128407411d1e05f89f587649eb21c72b1dac9dd54e2eaefc907b22a32f2d5275503a36ebca0cf31cffb83aad2b86ab2b162c071a9eb1a7d75d26ecfd6b72a - -COUNT=15 -L = 2048 -KI = cee06fc3a46947778e1998d6ed372139 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4456efe64d32fb72ab313e059a536dc00e938e8f5fec466aa545c08eea5f2f18e8e868410ca109af2e7780e6c6e250a7c239b7 -KO = 54db58e00ebf7c665ca1bba87e3b0fbe82b7dc23c8b9bf89b7c22ebed42d72b0d88cbb3819ec40abedd852c94713eaadf38465a8dc87e16d8d7b4bbd05a1ad4bdecf8cf0b64a09678dc6ac813982cdd5c30ff9ca662914883154d5d97ea650558863bcb436fad5fcf815f7e57895d966a964679524b54a09df43eaab0e42aa9e5bc8af9762cbc8ade6465421a8a613ff013685edf164ab1b55292895971649fcbb3a4431a8ba60e7d8abac153408ed890a5e3c0d983a2f91e7ed7f85d5f6e9817888597ead8373a30b98882e7a5368d2fa4016e90c9a4eaa52d88c1350242a40498c7d12ba749f2ed042178f11ab7bacb0584adbbbb5b7344d51be7d1cf1f4e9 - -COUNT=16 -L = 2048 -KI = ee06ed26430e6c4e43f9261e1a5acf30 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e0e470531daf6cef4f84e605d89e72b29619a021d9e9707dd3fb740aebf4d231dbb5b077558b2c5cb5e0d9249841e7365af05a -KO = 73a69ec13c7b5010b45dff135045e8262f6d962f2b6c63e6199ca6a1b036a77b170123fea50c3e88fd3fe733c1ee09dbbb2e1bb496934af56a008d08a87b388c0704de47b7a28c19161133b02b6786cb931d79f4af5ef669b0f9f6944ef1ba2297cfd503268b22980103f93ad0190a26109362cabacbf63927088f87056159a96a59c0862dc2048e54f0e11aa6b361fd0850a1b34160fef5a44e8658e438232f0ec6aad253238cb07841d2b915f563512e40036d7c648b2a65e8ee9f0e4786171cce031db43ebeeb35b55307c7ba84b0ad15ec7ed432f3d4c9c3d5d9f6ff6e7e4ffe69e48a0b053f050a5913e0c7cf8952e62a1059649f6f534941559ec7deff - -COUNT=17 -L = 2048 -KI = b1206b5c0f1be04cb4c22d41a3744e1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ccd2ed3c67422304e2f0942da6d12849340a45d2688f3b5ceadf23a4e7361c88691b2a72ebbfb6f1746171e216ce37d25146d9 -KO = 59381aaca58760306448b1e95473d9d8c979f749201538f482fac2ac3f3b142c55876a68115ea807a32acf85bd3300d23ea9c64bfd39b0d54867701cc922815946fe5871222bba556eb6df3e4565832738e1bfd5f3b156db6efb0ae1052db40bb0c7428ebffad947414ee6beed0f32dcaa0249fbcd52d6a6a68a92f2ddedaaa19b99a91ba66ed63d94a17276164f9548a95fb4caf91984dfc9c68987b023e3fb8342140d843639971f433dcd5ba3e72c8f5b71dea9ed8c20a227ca680a9327cc0cc3f30043230dfc2c9aa8f5ef59f0b71e40e37c321f59230e52ec43233807c34ef079823be7fb0931af0f25e788eb49f86bd4cfa9ad60e40da95d38f135d906 - -COUNT=18 -L = 2048 -KI = 9e03f9e3533a6a126c3cbeefb85f40ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 166fe450c6fa27440c0eff9478ff944c92c20239c85d76d56a94800a3b39703eca8c33ccda6b0aadd0465f9227fe60ce82d76d -KO = bb9b65d62a5e64377d2fa3a18a8222c917834a70bbe694b176b497329774ee6cb68551b3788c69489690c1319413b71738094835f5b225ad3445d1eb99660fcd7f47ac76e265fae8db0f29f5af6e315f603e14cedd85f97dab0382428ff1f86c2154eb982e2b2fe3bfeaf5c9c362b29bd300e0e4910de42884e721dbc804afa9925ecc9b79cbe2db2b11f96f3dddc2e23251aa74a1c1085c574f24dde66b47aca2e5fc4bfe875e01ac6c6cd5faeabc957ddbeca2c122713bb2e8a3c4a316d0fb58a031646e098cf7dbcce9422a3b5124859384078fbab0993dad86c1f160dcc74a98d937e8a3aa8c423032337cf6e67a3bd93feca3bb3a4e38221502bf256a8e - -COUNT=19 -L = 2048 -KI = bb9344ba03a3105472464aaa0f0efa5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ea6585b8c146afcc2068558b7cb41a2d2404bb56bd20c672bb7a921f5cec8b8ade8cc0845ad152b646f5a5f6cdebc48484abe8 -KO = ae66c143b520010e3801f092ed259160abcbab01a6b92e96ab77ad8e94e1aed952971b514b50fc5b8806630311c90040144ab2bbf8c8d21a3a4eda46f54eda3f9ea90c8cbbd2f6a1bb8804c00b5118330609cad1318031842d60168b16c1936cd120a5c319559f869891b4a14e1408097fa5cc4fac727530e82a62c8d3cc769d1e14c75982f0914beccea240a9028b5763bd762a7ee26ad6946525ebb9def0e758b76ad3039ee428a73dfdc5980cc5e8a5cf2299d14218845f01234c7154049bf87aeb33202d52a5a4a549aea4da5aa4e0c234785576da0429fcc83dc1c8d7edf7d1ebda97e79429cda32a3751bb0acc53b17fee8d8bed00d848b8818ef692dd - -COUNT=20 -L = 560 -KI = 1336f14b4e0ae57036f123ab05d37ef5 -IVlen = 128 -IV = 5fbd4f4d5fbec41ffb119ef824002ad2 -FixedInputDataByteLen = 51 -FixedInputData = 21dedab84ca630efe323d7a6a46c94c2305f42972218fbd2eeb4ead7bceb21a2883cdb8f9467613e925460c9cad55d05ab6090 -KO = ad6f2d53d66b2924942eaa185f7b5da38e05d423cb1b3cf19dc0a41ecf0d862fa73af5aec072935d9691a17ac9eb44bf1e9602a2748cc6c8a103775ab37ea3e5bf44530b8a77 - -COUNT=21 -L = 560 -KI = f10534dd744bcd0ec5eca0e6d4d148cb -IVlen = 128 -IV = ed5945ec162499f41e249dc33064b201 -FixedInputDataByteLen = 51 -FixedInputData = fef40e7f2f76b7f4cc229f756287e3eff456016adac9d69fbf8856d19582fa6cde9fc03b328ed3c1132c9efd7f375c1b324b94 -KO = ae9f10f190e70f5e805d70337581b48ef4378ddc9be2a3b4e25c35fabd301522271011333a594e7e37f81d61f669837beffa127a0896984f7cef97b4a572a8ae1feb7438fdca - -COUNT=22 -L = 560 -KI = 1c268d43c8b82135e98821c956649427 -IVlen = 128 -IV = da3988616564163339654e92ecdba836 -FixedInputDataByteLen = 51 -FixedInputData = 99c8b43ac0495f5bec4337617752f7c19ad69fa321a0cca4f461e31314b4c40a95e17b4f6cb02a15b2b122b6ac65d44fcaca88 -KO = 9d64502e3dee0257b3064d32097497dad16bb2861e703f7fec318913799466bbbcb7bf0ae3ef553f5229cd2591e56d934069c3dba238b8fd378bb9c21125ba24010710707fc5 - -COUNT=23 -L = 560 -KI = 22a96d124ce1ad6d906cb7edcb43e8a0 -IVlen = 128 -IV = 2389b15eb4b34b2ddbed20c8d87a850e -FixedInputDataByteLen = 51 -FixedInputData = ddc31be2d4a12bb0cd5a040f1d26a11b9a5b4184b2043092b428ef77f68efc4650bd2b93b045165009292516c345f64738f857 -KO = 52da847a6553d9a129c14017d2d5be0bc8471ef39661f4cccfbac9a081791bdd65530ed55c25d86ffe390dbe2edfee1acf7d8a507ad859f0b75c58c49e0c666bf0547fd21174 - -COUNT=24 -L = 560 -KI = b9d24360d41d0c10c5b1dbbff8b8ac02 -IVlen = 128 -IV = efd54ac365f163486a60c55ea0abcccb -FixedInputDataByteLen = 51 -FixedInputData = e3d9d4ba72fab4edafb758ace0b2b957ef9dca039e0402fcfaf66fe3b974dc9eae6e7525db024dd0663daf608af9b70a1e5529 -KO = 6e44a4bc5954d61d594a69e08099a8485efe4d031f4b0fed561e0a32f64da943f9f1e5fd54fa47c89f6f4a69177511b15898a102d1df29b0b116969b23d2bc43f94dcb861926 - -COUNT=25 -L = 560 -KI = 7acfcaf5a680e9310861a1514fef046e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b4f8febf26bcdf2de27f85d60a7647bbf8a6a0b7b1ba63343d221c4fad4bc97bbaa3e6055eb89d22ec38b4f2fb40b2cb05371 -KO = 400302973a90c0b06813ccb341e84de53839519dce27a46b01cb83ccf49fb5451cf68d5e7091d38376c11a3bf2be17c47d5663ada0d6c000c735e1950a3cbd6264855efeb182 - -COUNT=26 -L = 560 -KI = bb3437ce9a37bbcd96ee84045af65834 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a8a31bc5ee34a360bd375f98e6baa162c7368c9108d5374c2e0c7be7af32dd22ce94e3e31106563effd26bcb4fb5254425d993 -KO = f762a19ff49766533f1b2d63cb55ece8a331dd55dee4d0c4ea1b8c7faa5d709a75e7c8f5fe21af0ac4c41dfbe2421d501638e83d89510fcdbca82dec7d2e7703cdca6e10a828 - -COUNT=27 -L = 560 -KI = 0ca9a509009b6bc188a4414937c49ae5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2e303d63979db93992ace48ada5101fa1505d635504b8b8af846ca44e4c44cbeed5fcc8af1da12397db342134b4004cd64dcc9 -KO = e847682818011c3e0dc6a6c3c2fadbd15e855234aec59baf7cb1193cdcae27e64e32e2162b1230674522d778fe58975788f494b52a7c0e81b4f443b8674e2bce61cd21627511 - -COUNT=28 -L = 560 -KI = a749e7e36770aeadf7f0f3cdb507d852 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a34e021d3fc477cbb9f6d8738197e826481f4ddb5224bceef18ea1dada11d0de31f8695bca26e1bdd013cfb143832f9ad2cf8d -KO = 23d9f03ff3b0be4b02c60ceb411e89052eb7da113dd9af64d3c5b56e6c9a254841de12f2b65e582cf7c2bde2743bb50718f15044e30e9ad650e524eb6e275d231b16908f3094 - -COUNT=29 -L = 560 -KI = 0895961c51bf16705143f8848946ec43 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 931e349ee7ebe4a70d230c45b80eb61c03d88558b6116ce3b657d27662e41f19417f3526c8f9f73e496df984d4351b5a78dd71 -KO = 6ce67de09562a4d7efaf7184ccb84c3ed90f57fd1ddedd3e37aa1682e78c439e7e73f40e11b40c7dc6b597008c093ea8a476401d5a8c7e441dc39b0391b1e5aaaf2da482315a - -COUNT=30 -L = 2400 -KI = ffe2609de8d392181ff933f197f1ab91 -IVlen = 128 -IV = a8817ec9b1fd5a44562ad5ce708088bc -FixedInputDataByteLen = 51 -FixedInputData = 08acfc692c08b3e62515dfbac99bb1dc8c6bd79d686fd1471c077689c4a8e2ff45360c45881db1fa24c72957a3ea3098d024c4 -KO = 55748240c36f5cfd5056dc426baff20752f2bc12abb3534e1d8275a43905d341624367d40f14b70f2a3cdcfdc2f8f179042bd15ea68cb6644b40799177e7dddb366939d704bc8d6db2d796934ad453409b4fccceba7d4d8f229a46a3ee7d5081ef2332603aa1bbe3d42b9513bf70c1ad0e7e3624d0c4de45864cbf70268fc6e1b015f492a027a1dec403487907e5d88459544fca9f5a3b1ebafb8595c47271ab8648fca96652ba508951c2a2d9fa5a818c6dfc78017913a2fe2e8020dda1d618e924a0f4adbfdfa870d3d42f2f31906cc3b9f75ef86ed343cc3ef48c65a6543a3602fd3016a02e81e21244c9abe680e17da140f71fe65e1b5ee768a6d6a5ecd877713fba5d3bc7e2e5c2ce47404a5e82a5d34d787369d35f3bd54e07749c3f1c46b819210f13ccb2b86e880f - -COUNT=31 -L = 2400 -KI = f3d75e00247236ac603fa8552233abca -IVlen = 128 -IV = 1e3954b1e0db9670c37d233f8952d01a -FixedInputDataByteLen = 51 -FixedInputData = 0774352cd4eb94075ee726d7f5cddc6086f5f7e7b21f57c3ecc6b6cd695664b5597dcad07be851cbad618a57252cf504d6184a -KO = 5c077cf0866cd3ef966933f55b801dac8ccb467852a02bc8082da23c58952cca04a578cc3f2ad1a4d8a929880b2b17b422aac20efd85109b27454e535cef23bc12baead23538e4efda95fdeffcd61894cc2d5dd5e799b3537ae2a910eb7c7bc00aec08ed5bfc1a98df7477391a04fe8af0a54bac755a3081a8dc2c286fd4a5e78ddb016935cf977f586a36efb424f2e121d2064ef1feb58c08651ace8cc49313773a7998fa80da9b31f8e0748f7e68dafba8139d153151189d19fab15de5213420323afbe979ad49cd2069392b627a2ee20b0b998af3b423782ebab75f88d90ddac74df2f572a9e3a83ea7878e940775517f4b7d66cfa03c7b2b938c7c8c9058d0545261af1282712dd7ca98566a43888e06462d7275f849ad78e5640c66702616e9b1a1d1ca193cee639698 - -COUNT=32 -L = 2400 -KI = 7b04d3271231eee5a1e29181a4695d73 -IVlen = 128 -IV = 7cb870db144f9dd9e671db110acdb821 -FixedInputDataByteLen = 51 -FixedInputData = baad9f57491e7a2a416e2e16fad61cd99a5e694d6822911f275d8dace7a87fafecdc503ff4ef9bea3d9da5f39d25dde6ff971d -KO = 4efd89a0a94856b836be1f01c9296b29fb4646ee7f053ab7c306ff9dacb30cdea0efece1cf016a3ebeb227bceeefa57c2c087065ebb82a0294fc162d496e7aed116034260084a6ac2bcefc1be48c6e6b252904d143341beb1f3b26d59ff1a8eaa6f7eff6b42129b95dfccd567babea31a947fda798c80996a1a6e3cf8e3caa677a06c8184ff559f2b403b16989ffa5abeb4174406a3a77b83e35165d1a05ac87b29cd95eda1aca51f4460e287abc2a48b8ec53b7cdb3b5ac0c1afbea45687542182109b915bc0d25097a0f7ca9bb41cb9ede85d884740e7191ee28ca3f338abf4be7f3371e4fb7f5bc7bc945ccb22680b3c578bbbfc95184f1c8e5e1a12c6b9cce6ceb6b249e257d67aea5db2153b605290324b1618d8bb2dd2333e95f302bfa919bf5a1e9a652a47b484301 - -COUNT=33 -L = 2400 -KI = 6a646ef4424a474b8b401464316ffb41 -IVlen = 128 -IV = 37fc774b6b742e2c3884258f51035c17 -FixedInputDataByteLen = 51 -FixedInputData = aaf84f8935ccaf9fbaa126093439c8d5a18dd76ab23b70484d19ee205f45d92471278ea9c260208d086f59bfa608409de5553d -KO = f1d4e541d531068e2be33762996d03232484255c20fbc861daea41cd45c38778a34e1104e7c9e2cc3d1cb7902c2cd014572218745f1869e1bbb8e63911d406815889a8714a4d95e97ab9c01a291390fcc918fc9229cbc49be41ffc0fe67dfc0e252b015a373622fa125eb842d6465da410e0a7940c18a45c66a76e01f9a847e0f7f53a8a6c14288b60ec1c7b2d2f174cec71c592a5461ca04bad3fcc687b228858433657068cec4015b405792e1c8713910d398ed70d8d88778266fc69a96e2422bd51aaf37379ce1d951302cb4c3c51d95a57d29c1364cbd928abb49e633182531b7fa51b9d4e27956fee14a81a1c692f658a51b4438f1d44b82fc449cb4db25dcda7e20ac1b4660399d9e0e8c98cba06391ceeab383144ed62626421f196ccf77b942a4682bc33769dff5f - -COUNT=34 -L = 2400 -KI = 73a3117cc9e4986dbbaf3e48429d702b -IVlen = 128 -IV = 3208151001e37bcc9d65b683172bf2c2 -FixedInputDataByteLen = 51 -FixedInputData = 58908d0048c44266477b56cc2be3ea8e3b0a97c2f1a79d08fb5ebcdc7956eba43237532464a7d29a7ea8df41fc5528bfc302c1 -KO = 7c808432bd11341ff98f50ac1b948a9cf9b51148dcee6ca4bca3efac5b26438b27e07ec34a51d29c5ce5a1854761e52f8c7ea0f8483b4f9f20655b6af68330a35bb75bd4f561a882ec177423f307cdf5e8ebda43cdd22618b73aaa1b11a7ef05c8f9b73abebc89611a73946c683a7d21ffcd57e826aef47ae7d25eb92da3fecb138e6a5c820c3b931db4c3a135c372d9bbcba95e4ad59c6914beec87d1be5f561e70859ed952078fee2bfadedd1add30cee753b0145eefc2eebb0282526721c548da2e31cb7b9126976731edd036f54d1f221e6f365350440c15428e51691d5908b0259133ea49a82df5f596c44408edb33ee6bab050b987b3a19d0f6282a1fdf2d51b6309402684400eab2b9ffe5af3872fdaf670113a9d210e6960c30aeefe963fb178ea35d76111804407 - -COUNT=35 -L = 2400 -KI = 3d8e0caf5b37774fc5f7d2ad3e23aa05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 538ab2687f892657f982a3851dd29e33b34197dcb9cdbd6195a40967c3e44df472e7aff5f7835310ce933dd2512191f1661f64 -KO = 6f440074aa12e198fe92ae4347fad154854c04d491dd18ef77c4ac306de370005ddb5c3cd72c12d1810098ec8c6bd8aa355dcdd2c35069f119a54a8877bf6ded0c3bde7295fd584d5db00451e814434d0af0633e5ace6b3901f1c7b0db3fb59269596912cd5e3ec319640f6fef42e733fc8499ddc13e122f3dbd21d3e901c25ccb635e7fc0e1c569e82f3ead61060d280801894f0d345c8c53ac366f6abc796761b5d8cd4cf46ec30f15eb29fdcd5dd701868722b0e58d99b665042161fc7c74d788f267aad994488e74fadd809e6a081a400223b93cd9bc30660311fd0ea690be2946153692d86ae53332244ac6af9fd73262c1b6c592873e54f94cb67e7b95a36cb1add3084b0fe70ac3433aabfc5cfd0d52ecb80c4e2b52d50b556f8c13644a2a46e7600ef935ec6e0372 - -COUNT=36 -L = 2400 -KI = 1aa4fedae633f1a5a9fabaddd879415b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11753d00ffe9380684002b98da499f078e9eb70d6da1a8491992f180cf9436f02ec0da6a5980b42ce3fce993a1b263173f4692 -KO = 9fe34902282ef3498a0f5180a5027e0cd38c729f2d0c3b2dcfd9291d57f9aee3ac65bc887a2e064964d86358f3163b3ed8ff0d9a4b6a71114c100c1e7636e30484300138dca00cc0ed29a477dec6ad61fdd595e31662921cab26b11c0b14d8d2b255b5690e3b64e145be8ab43955b1f1634c94871097c0ff50d85062672a009967933553116c66cab64dbc05570d3fe8c77e84354428853cc31d1bd0f067483842f9e856830cdcd3fdd053c8f2dff0ee0084f6bb9dd897b61c250e2c8480e3b2e4bc58fc3e6ee0b1440da0f13ded1588b522a3aabc4e92b8a46a0251f30e5fc70ea956dcfca15fcb174c26b0e47051147aa98637d71d97fa62526686c8dbbc238446adc0ebc4eae2e7b47d17c42dce976fa7030f0e03bd948d855c84718c45a842fa687166ea90c188032a6e - -COUNT=37 -L = 2400 -KI = 887f178b50df45a9fdf6d227a70b4331 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be3b36af5bd76a55f57e5ac0a33c54e0d947753dee6d20598c25e391a7487e6789852d61e4e5b215da826638eb9b13bdbc2c3f -KO = bfc31f0ec1c52dc9d869f4455335c2d2bed2ec140038b1c234c51c696aefc6ffefa03d4d08e4b71bd676a6c42e1210cd7136778d1dd6571209714db18733c9fbc6e5a78cd44600b58902803ff692730592cb42d30f1c6d5107ca5f7bf1c59619d6ca39468f4709f0d4c3d11c4a687b3dd1a076342f5c87b6659f3ddbc77b24f3806eb254b0d11193acb05cc160f902982a4a93a970a021038a860106bcc4928a32aa10cc841cacbd4f340fc84be5f3cef7c4dc698d5bea8229045e1882668368fc4b2b4e22ce08a490b40ae957561807580f92f95ac8dd1c782cea69454becc6f07b78cc9e9f2c68aaf39253a74c992b375a6376647cf0ebe51b1b97250e62e0e274389567eb58afe18c203c9d0af69de981d9284abca3186f70e097c772ab8100c0d7f9daaff9125bc6256f - -COUNT=38 -L = 2400 -KI = 78b617c4a97bf66ecd572bb3fe368859 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 74fca5992bc7d2d08ed74e592e094a78307d750e81f0e687a6b5a80a391fec9af5d5da0fed6bf75cac83530869ce86bcb1c5ef -KO = 59092eced67a88a289312dab7101f4f7c82599b49e31f6bd7d82f8ba4c6e482357347b9b46c80cd5e8ddd274b685f9a3e1e60faecc0f83eb682e720c96e128ca5d4d1eb00621b38d0d53a2164815f51db276110e9deef301ca26ce45ded4b8c739f354c0a78c9dd9d285b04300db602e0750fc51a017c2205efc7418c5653cda5c22f2d944f191f4c4b6916fe9ae2af86dff7a04360b0dcaf6804ce7c8aedcc1bd97c365ba05988aad963651a49a6befa6309db4c558a47af92bbe5048d4083630b5cdd3dac44c1b15027bff8724b6fc9eeb2637680f37c545652cd2d2bbc0c52d40e4e5b8974479ad64d96e6b55383807f6c138b269609ec30121ba0925f0c1ae9f05f6a77c58f89e7b1a8bccce601ad154ba221ca3178d04cc990530aa505d82e5f337817fcc33cc46f9c7 - -COUNT=39 -L = 2400 -KI = 6c1eee8a0ef662455aca79596dadb9b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ca056dd6f29f3756bfa286716341785fb73a5f3f242527cd96dc853fdad17b78e5eac6177e950b61b0f3fbfe489ef7227176c2 -KO = d5d254ca168e46abdb1a45258e1f4760ff6daf51bc5e808b9dff23e981b1ae3e59968e283c411a12d5c81871c95fc3ba3ad87f3da8bd780184f4f1495c103d9713881a7e59f7e96b0bd17b884ffa2fc0d844449497abb4e00b33c1ef41cceba96106da7edbd33cbc8e6b18ff054c0a69ab1178714609fd4c671fdee3fe68288fdc68a39254873311fff3f3ae5070e42a14280d2f79e40b81102338564fd9e0aefc07fd5742e903fd380585f11742cc6444951e84061882b36a21f596019f57d50835550ee48705f163ccac056206b733209567d3a2ccbd6fc3b823fef5289089882ed19a47811410c2ca8627324d41f5b1b447052fb165e4d2e97be639fce0fed09b71a40776d21caa9d0e37094cb5b2a742d25c2c78863cd291863a75d476c9de28ac10a1209644e25a1039 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 607a069650470c92021850add7506fed -IVlen = 128 -IV = bcc557c72df7ed5163e39bf201d2354f -FixedInputDataByteLen = 51 -FixedInputData = d465d19beb40b57d51eb30f9b8170f33a07ffbf03e41b6ade6338cb85d75b910bc0af62e3a228bacaf68eb099d1d315ce09395 -KO = d5741964649e1a4f825493f933cdc02a8edb6001a3986050cf7511184e4794cdec967e631d5b323f39315bf4bd2c45b692d632dfb6bdb86d509845fe63df550d - -COUNT=1 -L = 512 -KI = 53b0f10945bb40f644378edb2ca3cd34 -IVlen = 128 -IV = 60e9d3cacf5f8513b414c55bc4d0730a -FixedInputDataByteLen = 51 -FixedInputData = c22528ff783bc4a970d9a32301872b4ee9c305cb4352a6564cfd36ec960185cf08689df62aa783c69311029543b16c311f101b -KO = 121165a0ea41daabfcdaeda9bf846bf1537f0e1a2debbf899b60faf401845b6b37c90db23cc2b4449b19f1a4c93a1c74dba1f73bc62844bf192565635efb96ac - -COUNT=2 -L = 512 -KI = f29ab6ff3667918bcf6c6cf6942d9888 -IVlen = 128 -IV = 93a2408c31e0212191233a5a663d5e3d -FixedInputDataByteLen = 51 -FixedInputData = ea7b056f894232f13c93f3c4229c36b5c92040d443b04dff53d0a9ac0827ae7f2e71741e7a2621a46af780e805c14f2a372abe -KO = a2187828bd5d8f2e8fa7a4a138e095fe4f01bf86858454ce5dff288f7f2badedab2df899f67b5757ddce63349a1f6de9567eb7e1a41cbe9035783c367e7edf0b - -COUNT=3 -L = 512 -KI = 554c54f3047d68e07aff7f3ce0c03e0d -IVlen = 128 -IV = 3fd598427c0fb023ab628394e31a6ca1 -FixedInputDataByteLen = 51 -FixedInputData = 6f5af55d2a131bc0ac1ebaba8cc4d068a1f6277f639b70eba60c03b3cd643e67a872571666a8a9ac6637abf9ce9dca54573f61 -KO = aed8f376601c269d905bd38f14cbe05dd5de1a5596b525a822e7fb0cf1fc470d2f8570a2fce88c1b65eeb0043711ec7cb3f2ef56cb240f1f05a29512b80fa7e9 - -COUNT=4 -L = 512 -KI = fd02a848c672d94b3e0ca58056c12eec -IVlen = 128 -IV = 242f71a351a6b16895739ea65449593c -FixedInputDataByteLen = 51 -FixedInputData = a0b1e5bddbd75a5b6d167c0335ffe90af02c0ca552c9f28aabafcf41443767592d07eff264be99e028a2861e472886211978dd -KO = e77fc38ca0537af9b217ff5ed8c99296fda57571d568eac25a6fe659bbf3578ee2b3f34c93ef9cb554bfe172435bfc23d515a34692b4b3494a1bcc74df7a5dde - -COUNT=5 -L = 512 -KI = 2ee7f80635c118f5f91c7685ecb912e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72b469ba1516f4844d6ba63505345b44a488e1ff2aa2f03c60b4875062e88d9adaf2663020267c41478677ff7c50da961685f9 -KO = bd8e275a1a1934a5cba39b237439ca2960b61ddf0233c8082ac7fd90ac48d5ba5dc613284c5117425c827c14a85247cc8276a9767de3509a8ba95b1c6ade7948 - -COUNT=6 -L = 512 -KI = 79c2b4e53026a0745fdab3ba9842fe32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 401c74d9bd7c7554e57980c5b46b430252fa955f8592a7590e7a8936c9bdba0b641e4364738f3d60859f56463b4ecedc565588 -KO = 1042640d62d43ad65800942323469fc5a390ba4ff3ca353ab6d75a27344009beeed16c362868660f8e0ace5400ff68154c53744aff34dfc40e6e049ed6ce20e3 - -COUNT=7 -L = 512 -KI = d5e5700ca806c6d629cfe822efd80df3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e567b10d9d92bc1bd413016398be8f01433beffe0aebd53d307ea9f9d9c830ddf43307a59d1c23c2afbc486149ad879533a9df -KO = cb123bc7dbd83fbc206cba04dfb7a76f1aa5d33bd37784da916e594be2067d0d37ec0cd0c069156677afb4a9bc7d7f6a94838cfadd1a1f33db780daf0256be49 - -COUNT=8 -L = 512 -KI = bef852cfe347b76ffe5d09b00ed60720 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fea03c5e61d32d53a089946ce4ceb36e98516902295548bdf513d0998790f0a5bbbfcf4bdb4d0de9410987f2f922aa94413084 -KO = 564225fe3e2b5d6823d5815f652acd27dce80cf7c946b361be0fe2e925b1e811329f25c932307366104d845799acc6106557789ed2af93ae360b1c83d9789fa8 - -COUNT=9 -L = 512 -KI = 3f4c245232a446c924fbc8df28ede581 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11bbc4026fab03c20610d622106eaba42b91f8cd0c24417840ccf38c9a62c57edd06b6e2eee11a6b2ac669d5cdf7954437de04 -KO = 4b81a347e62f45c0bf5baa1e66fc7de9c8996d982a92c09c92b3be758bad4b84cc070a359b080bc1db3ca1765fade87c0a162bd91011c154adc65f53c16b1fc0 - -COUNT=10 -L = 2048 -KI = a9b9cdf81bd6ba403115beb607ba090a -IVlen = 128 -IV = 70a36243b4dbd4f3fbb30cc03f25a2cc -FixedInputDataByteLen = 51 -FixedInputData = 1b7d8f89e8c3c47bddec76a671637a5d7243f45c81a65bd8bb990ae28a319c69a016b06bfb7a817cac7aba4881f1cdbac06d50 -KO = 324664015322faca6905c776a1f21aa6350e05a6fba99f7c2be0a5ec13a18c342d4c87068f7b7fd3eff6a4af773f24233e7c37f70511be61ddf294d854e7866442532e0285506b5347b74b1b651b0fcaa94a4833332c2082b1ec43b367fe1ba902be69be2c5eaa12a3b97ad76c52b2f1e216de187f73ee62245da9088e399cffa10c7370d6ac1dc79fe78cce4c5486a13eaef00bc49d291a18b41321983899c5791b2c93d62ed49f24f29c2c4523010f9c8bf094e1144a7714069ede106dcfcc9437dc9c069b91f1d28d98aef296130a42d517a4c4a87fe65cb6a9f56a8616d4307c97f0d59e8e052027ab38fe336e7b60a7dab099048703c1baf6c839336c2a - -COUNT=11 -L = 2048 -KI = 5f66fc1fe326f77aef49e4c3db1132ea -IVlen = 128 -IV = aa6c49a1f732f732a5fa8073db0a7ced -FixedInputDataByteLen = 51 -FixedInputData = 8941eb706d3a12b3281676d5faa4d0966a44cd554621bdf90f73eb614d875a482977e7e6736ac903bd055c7336c043639be257 -KO = f117c95b2b633124418b472ba599245e743dcecbf0dd98f55b94f4b0f295870f4768715e428e89eba4c2210795abe6ed61f0fd7a22446dd9a0c4db06cd719fd7f8b691cf56e09fd660c243458b289b9c97ea43545002e91bff320a897d27636ef7699f1ca3712f19fb6daccafff4b2f21af4f08cbe853ed79f671d4e9a2ec7e07e3c6cef8fd9ec9d70b1fd9646b04ac022d12f64e2541b298f1affb527f3e05a1e94de8e189342578815cebf5900f1b29f82eefa4dbff23d66f0b0b6dd41975f76cc0df6c432bbcc0ecf93942f9a07b323e0489a96deaf6523c0e78229c95c16316c4138974ade5b51e05723e7168fa161ebad40ca478b1572d4fcdaf84f22bd - -COUNT=12 -L = 2048 -KI = c807b10e2859e255531a66632c6fce94 -IVlen = 128 -IV = b881a84dd01ae5eb64186c155904c4b9 -FixedInputDataByteLen = 51 -FixedInputData = 329ab5e1b070c9cce9c527a9715f8da52466049c54e5a989a8d2ff9b2eaa6786385856b86ad7440d10e1368bee4084fbdc53c7 -KO = 9e4d97814c6086060e5e148a42396403b81ea7d5a2b290e9e6710c4d46f41c745b17f14deb77dd997479cf0abfc0cac70294102550553d8e56153fe3c8d37316dbab745ba0c3610c8dff354523f4833e8e4d1d3ad9cb30300e3aed344b574d2e88113b8a3e479c99edd328e680f64d61363d9086ff03de65dfbf96252761c8ae26dae7362bf89e1268ca65caecbb7381f50157492d604f831f8743f2f79e15155099f2f4d42824219dae17a49436667246ae420aebd1c7043e9520c8f7c942db568e98804acda1b616d6db8189808cd49fae2d357050ce86546cf843bdc04c7b996309bf2273991497ebd445d1679ad923c8824164340521ffed15e45a6c0316 - -COUNT=13 -L = 2048 -KI = 29618dde29b040bc8f9b62de4ac5f45d -IVlen = 128 -IV = 641560689b414907b8419bfa16c04460 -FixedInputDataByteLen = 51 -FixedInputData = c5932d0bb43bfacb64e4ea51c7af18af7426168c0f7014d3fd8b13e9f9bdb475ebd0cf342b7214990882ddb28e83c7de23a618 -KO = cbd8b492ac6bd1bb9ab1cad10e6df44b10c97ef40f5763e69992b2d083adc20e008ff44438641a8694d964e63949b2470fc20fac8d265db8bd8fbb933b05859f514b743150d5f2a34564ee83b0009b7b488bdcd47154a7b7a270c111856435fc97ca2194805ad214cee47be11c3b577326eeeed371d2597b7dba161953be9bb7c0172dd4664305065c792c2ff2765f386f4e74f9e38440d512d0027c2d618b933a6bf200d854354d96e659d2b3408d11c85ac6e7d0cfd030ebb7679fee0fdc12adb350c7dd92ef0a75dfe629d90fad5fbb90d968955e2f701b7a49e2c97796b70a8ab1816dc78320de629e06cf162f000b17f477bde5644c428c9155a70cc4da - -COUNT=14 -L = 2048 -KI = 4c543d2eb5e6c411605cb03d8117aa5f -IVlen = 128 -IV = d822ee120ede9c78a1d26eecbd9b327e -FixedInputDataByteLen = 51 -FixedInputData = bdacd52fea1166a54deac2943606bb8983d2ae4a9214646126613a03742a6674caf54d471c419fd17f3537a520dbcb4b765801 -KO = f2f4402da7acfa12575c7cb70303dd091acbc885b64c2964e4c2b2b209090bc662c2127f9288691829af2ab1e52a17a9a876b0d08199d4976213612eb60a7640929ef34814a3e8dfd4c0d88aca8c916e248534a2c0be1237471c9a11f39b3b2cc7fe74f4fa15cf7698500893946ec0d71a391ef7abeabd389bbe0912179e80486550098d5efee46d5c68269fd45715a2324af5e39416546b5cfe33bc5c2a5a938a63a5fda43087f255f1de6f855d61d7012854cd670b352c8a8c15acd3f2e9c050c54369d6861d22fe125d828b3aa307d406176095af79fb81909161a349bcc65e455985a312b18857175e600e2ea9432b12eeeed0be45d5f9836b3fcc2b24ef - -COUNT=15 -L = 2048 -KI = a18d300425dad480a585114393d3cff9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4bcda3793cfba8c5f7f8e002c5fbd02205862477da6fce57fd1d6f4c35b77a2e161eada2641555eedc6bd1682df7beaac9a750 -KO = 8ab36ab349e54f764ee392f94e7d66d77ee79988e2b8cd70af06c6dd5a356ef35ccf51011953da48dc0c33eb8899a00c7c185c8675329b51714a545bddd3e8b5adc037feccbc2b760e33b8d5c2853d9d552502e3fc3d3e484fec89c9af0de5ac7333f8ecc730b2820aeb98a10f3cdb79a96ae978c5f2d6e5509ac452837ab009c35aac3418619b3afa68f9be075c2f0a84a39734fa1c6ac7295141b18376595dc5d97e2bdf3cec25a315d948e8c4df5219877433138ce103af457d7876c5a0aaff2fdfdc25d44c702108f2179fc160f05127bb971e1319fc35abfb00766d76b053d4d1168e3eee82f3ef0e07b2d25599a2ded33f85080bb5f413a17fecb0d199 - -COUNT=16 -L = 2048 -KI = bb7c09165ef71e0a6da39cf73feae336 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed3559ebaae37ba7d4b56e1c49c0380190342f4874973981167cf4dcab52e5a0259eb047558afaa6e5840a7cf657436d4409e5 -KO = 7cd1adf02a4084360fa7295eb2670438c46b501435909f16f4aafc54054e886fc61d62871e0f4fd75b625779e276a8c8339807fbac6921e96810680ec19789d451577766f8f1a8c7db56c9e8484bd186a0a98c7d36b4a69ef517fbbbc05438486c94ca86b609fa80bbe7271476afda85a9c1933685e245393127b701a052d702b9d2d8fd5d2f962305c58db5f5c07b22fc1d450351118e4ff5e5742fc6aa6b242e4276adbcf30d9e5a0a1199477ceb3c6fb542590c3f8f0af7f22c82a13d92cf3e38c98c453e9f2a75a028456233078aab54b63219d1bb0fae61bf2daeca6af0b0f7c7e238387ee2324bf32a0a68685b5c09b2c137a0387093016723adaeaeaa - -COUNT=17 -L = 2048 -KI = 67f5843542c06bdc17af19d3db23fafd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0389844bd0fffe85436451a20479751675c172c345aab8dc0676c99f4804e75e5259ab50a0a6d861725014c1f1c810388c2b07 -KO = b33fa3c2f7955a4a18e7e64dfb1840e8b1256f24809a1b58c71b0b7b9976e9b5fecb38776a1ac2e0856b56ffa20723f88f663b3292df8bd90e9b7ac37c1c7c75bbc3a00940d6ec1135fa7f915668530afc43976ec31fb3c2d063c88d63c66a90d700e85db64cd2f928f89febb078bc4616620cbfc472a30e4a0544920242c49cade717b24aa59a7a231e4ef6bff2a9818d28c6d27ac89aca2c5ae69ce3121c354912aacd43af1b13dfc3b8b44101f5eb915f9533e3ca13f9bd815b36b4ea6570501ef8f98724efba35d212b1ee330b7a98d2f244187d790e30bfc7133d634dd3a97f11002c0de100c5ab9bd5125c1b8eb7ab6ec1d69d4d60ebfba4f0f3eaf6c8 - -COUNT=18 -L = 2048 -KI = 433cf154c1993fbfc1c8df685679753d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35b4ab19c34d606bf0660c4a467bc32cdf655b8fef86c0a835e6d5096e9f7dbb5519e34eb8eba9d3715c12f91181fd89c221bd -KO = 66c623994cf7c36f0fd41d6e6b1ac063680560b4c394f0e08d7f6021d90b6eaeecdeb54ff91f0929b6e400290641ab48a0f80368fbcda1a2aa174cde0651c0082efbbcb000d1f04c3c9797d0e5afb888132898386c96e86305a4c366787d90afe3b07f88dbf076d81a2f34ef155217e79638d840132cdb90c22f2000d9465cfc3e6a4c54744067be94d18c19f6e0d1102c7307f2ebd809e903356cb05721b87d384783f2826c34cba5eda34c0e8defc5d606f4c84108daea6f8e9f3afe319bef9878b5ff6dc5117ed38ba296e0ccf83e265c0bde6767116cc7e0883b77ad5f63344154cf9ca929260b9856aa65ed80d87f4d00a090d05fd37204fe39d2de4434 - -COUNT=19 -L = 2048 -KI = 6d3e416fca740a35942ae38180eb2391 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af45d6123dc691bbda1c51839986d9370847406dbfd33afd815ec384ed93d4e8373a7a03b89ea120b5ca61426923fac3a81516 -KO = 95721245ade5ec64742dc82658382979e430e74f86b46fd0f130a433b5266778301195fd967cc0aeea78e2ad5bf8a91bec36aaa0ad9fa31c3079e43234d00c93337fba7887202198592b71c8a5871decd6aa30270bb0437395b3d9bf94f46aae030cee2e72cc8c49e141aa652d2676d42d49bd1e1aedc83a0cf3cd75c2cb95891ae0dd601e3c3ab3f76b6272b1a6195aff748c1ba2c32be8ac1b49cee6ca225bd3f1a019fbb99d125a54b16fdebf66edb3bc2630542a56399966bc1b4c38ba27b1530977f8a3c28ccc89a08c6e83be1024b353930cb453fd0fc48d34f2a1c628bdda59276db0ec212f45d11cd69f4df5903b6d5fca3a85003c01587587b9f2c5 - -COUNT=20 -L = 560 -KI = debc673e525ef2027f3e9fc69ad707a3 -IVlen = 128 -IV = e0f022a66d29cdbc5a6419047139871f -FixedInputDataByteLen = 51 -FixedInputData = 68ffa0bdbde152afab7fce07a6f85b64eb5032ba3615b77ef89062b242c05abf028b04d2e927a625cff3b9daa6321b0c2af608 -KO = 7f73799bd37254f0c7339f47d1f688d88b237fba08205bd7a8011b8d9dc23f1d89c67bf94add6993b284b25743dd4690ec05e300ffc89ea0f1e78a29f602a7e30e0882eeddc5 - -COUNT=21 -L = 560 -KI = f6908995e9dfc8c151dedc6a2dd7f10c -IVlen = 128 -IV = f49da4c458cc05e1888762ce1710d3d7 -FixedInputDataByteLen = 51 -FixedInputData = 15a471be398092e79500f9a4db7f4262d7adedf886f8ede9cb1755484b42135c0a23bac33935e73815fe428bf75b2c6612557c -KO = 4e0a874c9d2567f96a3d1a2cc760a30095e2e73bf0afebc2d5b34485b723c67ad18663d93ccbf306cf61faa113c494915914f580240ea1c66cdf28aafc28edf3812066912e59 - -COUNT=22 -L = 560 -KI = 7bd13b7aca5325eb7003c64dc5ca2931 -IVlen = 128 -IV = fd851a53f2bc38ed22605ccba53f852a -FixedInputDataByteLen = 51 -FixedInputData = 0039e360f836473e3bf36053c0ca41b867d40a3ff9046679472048327bc405e3ff1a7e4835e40e6559c5ceb04a6d4d4f199f39 -KO = cc3debdbc02396dbba9906ec6af0b0be71b7dd63cb1c4b4ed9c3b4fd8219235c1f7115f6bb151766ec3fd66f1714392e5e3d9762d9717378ae896b0646092eb7ff6780992b09 - -COUNT=23 -L = 560 -KI = c607abfc5a42428e35a6351fe9990d93 -IVlen = 128 -IV = 4b24c56140a873588ca9a81b80521dc8 -FixedInputDataByteLen = 51 -FixedInputData = 034cd081fb85d36af0f1836ea8a76a3c0924c80d04b8a1eee55bf2f8952a521ded4ee0a1504c5246811694799498696283ad84 -KO = 8e5da0dcb2fd636d4ec86c39e1466a9e682b6070ca9903f00baf226d71b4417351f72b8b9e538c5d9ac08cdf1f4313d149dcd217fad43ee954f955afc6b44dd23a13297c22cd - -COUNT=24 -L = 560 -KI = 9e11279e2788d521b7f990c25bf2d09d -IVlen = 128 -IV = 8ea4aaffe46fc334ea6b415feb4dd526 -FixedInputDataByteLen = 51 -FixedInputData = 57df746fa4e7496e49d842b19f61163e25e948cf5f077acb6e7f95039c814115bc9cf51a5a0ba9ed3188e7e0ca15b316a9d242 -KO = 959c67aa6de078f0922c5e1720b07a7eb8d7004c3d00ba50dd6b35475d6dc2b4fef9b647a1af9c49fb13d4dd6a736c67b9d4e48a88974d413ffcd698e2099ff74e5cfd2e379d - -COUNT=25 -L = 560 -KI = 52e5245c5d9a33fc50dc7a41724f2900 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff51c9c291b34a4d41f91151a9ef898c660414f7ca027475db68dc07044413cd3ada105d8466047f407828017b802971acc351 -KO = f70d4f3f0cee21f83679d4a526598d33138b342dc485547ad443a1085a78d231883aa2ef4d32c7196c42bf599efe3e1c71a1151697260b16d7b042ab3b5ce706a04a33db3097 - -COUNT=26 -L = 560 -KI = eb87cb06e8438d2cc9318b89eed1fd4f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e9795354fba2116e0c248a790932e2a652cfe59825930190a1234d71200364556577f8a9aa2a41ab1cdb1cdcf0764d01252d17 -KO = 8661f2ed0fc2a32a9acc4a665c18318191dfec8e9c5b3993c03d29ef4402ed3b54db3cd144b2eb7af856653369573f97acd1b0b5114fcc231e4588f22f38870e7bf2076515c0 - -COUNT=27 -L = 560 -KI = 66e99366d8fe49682f0ea2e53676e5e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e565d5acd255b535504d1c2beab847c6bbd3977caca8841357b75fdab5bc6b32f9b1f518ad24ef9179a4046ecda2ad5c2fb63b -KO = 335a085b15bd7e693290e30724fd777a727429f325959cc5f65e84117d27bc5f4e5b8b8f85c68a25e2db952b39bc9f6791d7c36051f41b99da228ec13c1a7c507c3ebbb4ee71 - -COUNT=28 -L = 560 -KI = eb0629f4fef7f140bed1936b4a3a085e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f688319d279f3c8695e466dfd28b76210a7476aedc9029216fa53916a4970e1f8c776852dec981a92b78edf1cf97c02f76b87 -KO = c7c655f35285d2af5a7966ca20c724899c10bb62547d66c2715b6b4d29a8dc461504db1441fd4375e869b58bafd2cad6fe16b805e200c4175748c972088f195e4d84fe33238c - -COUNT=29 -L = 560 -KI = 5af83b1c3e389b7d799dd30b5cfdf79d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d36819eb7ccfffea6e0aba5a9ef75d9fc60dd8723064929a44d6915a34eb061ce2db12be716a2750146af7a21c3a6640f4bd5d -KO = a26b5008bf52f387487f4bb6b8e5208386564490ceda8721d3ba0f32d872c1cf1d0077c7af794b08b212514d0a63891f0e9721b213fec5176c675134fd9dd5143bbf4cc2ad5a - -COUNT=30 -L = 2400 -KI = 9219961ed94c88a68f2341c4540d9972 -IVlen = 128 -IV = 6b6942c26b84089ad2553eae6a70e2ce -FixedInputDataByteLen = 51 -FixedInputData = 85cb6098a79d41a7d3d0b2004be5307d5c62cd898d337e7fd86e900131f8729683a15acb28a0db6cc6272a740ab34450c83fcc -KO = 67b2a7ad706f14af5b3ac1174bf97692bcc0e72f29c0a2e4a12853589508a8b8104e17632503e02f476e163847bfe9681bb1e263648c28c5f75e3bd979f80ab29c6ee04571b1793b0ecd812964f2da417c3bf0acf37cd06f540c7131122ba64be029602bfcb905489529943553c17e31e0f2e0938d66f245655a833648e2466144e65d18c0d0b4fea3e1ab29cf1a9dea13d0f8429dca3a02e43636975645b7e6cab4f4ce2a3afb5c9a5e606f8dfd82cf5ce01cec63aeb38d532d5ac3416affdef4d5cd56dc4aeb9b73de015c3aa70f9a93fd8f0ad85190dad084bcd65be8e6eef566240b0a5b53d35b6a9406f4110c3fee877e175295a716eaac43a5533d3278227eb35e7b9c08057db989edc81597a49b64b482593edb54e8e9083488b8cfb6dc579f9021931be391f12962 - -COUNT=31 -L = 2400 -KI = d78d697573ad3da05c68fbfe347ef184 -IVlen = 128 -IV = 7f69d096bcd1263565cd809ec1c15275 -FixedInputDataByteLen = 51 -FixedInputData = 60acb00c0222719d95ae20981f0e6f6457a5ad6f2533ae6d88b27d95eaa11d500784fe6419e430d97c3656cce7ca31235a3455 -KO = d28cc87886d2715b4715f6b16735e7e8d95db120264b633645b49585dc4fac20785cb40bc5e2225ecbfe7c66f0fcc6f910ad3efbebeac2419035d95c02a5cca17c067a2aa03e54efa9c328b1428c76968dddedf9627a2735a26eb657e42915c51e964fdca04d5a758a1b95e32c8d8c7944f81c05c869d49fead38cc867302bb53dd78c97b3238cca9615c5028c7559a1a36b4676fe4803fa6b8650796c4075b0fde620e515c243eb59c2384c82e9c8223f37303819f3085b9ac7899231b2477f574b2e896b1d157e89c33c36ad2cd55daacce5522d10c0b45ef2f9db69be86ac1dd547d827f13345abefe09c64303097e096175411d88e55e97c9287f2353c12476ec2e203aa18a645f1f567dfd32737444ea1eac2698d7fb1ae5931e85eac5d6c6b1d3a849d80201a3e809e - -COUNT=32 -L = 2400 -KI = ceb2fed67d499c172f7d394c25bb8c7c -IVlen = 128 -IV = ebe4724ccdd769172b4de48a8edd2b50 -FixedInputDataByteLen = 51 -FixedInputData = a14403bd75390802e331a48a2ea1698fbfe58b78a83f25cbbdf6184e32b71b9d8b241d84ce272a2f5deb7c3fc97213b97e15de -KO = ffd855969ced95647461797a940ccc8f43dae27877a103972d272c3126d50a12ad3976069dacefc5e618d895be2b1769c01e9d3c7d873991d44df5a7a766c5ad87700007724461a7ab2e0b9ba750604d6cb925db447b5f7f7b41bf779f11d9e8515d90cdb33f04338dc535ca3a858b0a3db917ebdcdc0b24f385508e4e30897469cdc05bc00c3fe7bec9ba3eb52e87407e227b8b5f381c4e16c23c43f2c7a07114b1081a1204a78af96c53d9352865ab5aac05a3dde17490b2d31deff161f9ab7a2e4026f5a96a52897ea85e7215b59db5390caffce087c878e2dbac6d0245e763ec83f1814935e2cbb3716a4f59e21571a2c8110f9a3fe0402ac1370e7f4e75a2a3821b14d2b0b1ca7d37db614ecb335c259e2bd10a303d65067ec52087542c55006261f025c34a350b67ac - -COUNT=33 -L = 2400 -KI = 6e46cf9b5fd4bafc607d14bfa7f742e8 -IVlen = 128 -IV = cc37f9ff05b8fd02933266b656151b28 -FixedInputDataByteLen = 51 -FixedInputData = d767c99eebebe3dfb856776290d1eac152f860572da4e9572aa8a8d1906894e2de5810b5f51741a67fc6aaa61f83ed34530268 -KO = be29f4a8c9381e72fe58b083c582eeb16037c975306070ef38526db0e3e5b2cfa42fcd16b44c363c164c68e0d4ca289d409683f8a7dd815a44a5f7626626989381b2efe9b41a2ecdd6fdb2e67b36e3a5038493fc15e03d752d2213674330e25997eee47e06b65731f258646517bd992fe05e37f4a6caa600258d384f6f7b85da67c3d21440c6aa67f9c9ba65b61dba587f214bc5de3e920ebfb9dbe34a4f4ffc06fc953da370e28ba0cac72cc39eb5a8e916c29c51661883d672395b56068f13e229223d6b8b09b685ff24eee0232a2809399c0f65380cc01b427d73dd2eebac58b3c9f264759c502fac633ea0ee8cbfd29a40a5ad810e259796689d3e013c838b372f4e032fdb26b628fe4e32722b3bd3530a3dc31000effe02e7ea909596d01e3545000bfb524f07bbaf84 - -COUNT=34 -L = 2400 -KI = da85b7032979b08a98642b981bbb201d -IVlen = 128 -IV = 7b55125c4e443d39d0c328c4813588f7 -FixedInputDataByteLen = 51 -FixedInputData = 4025492964347160b6db9c9fcfe3a5e3a8f073479048c98b0295a2fa7e96467ee4c3a59bab7a92810bd96dec3802d360cf507c -KO = 768497f6b6a037f16ab1c1dc02997e23bf6cc80fce45e5375b065be2c06eba7ac5abd573bb1c9e9d3cf8a152329539687cf566241f480f24711392e3bc63f4f590f5109ecd96db5d3cfe20e7a9f56bf53df42c5bd2f741d3fbc71f975784278c7d8115f074df823f4535e349e318ea16d67b175eecfc6f6dbb460c4b929e786f48617c0e657a0e343e3a61b0d74027923121d6ecb2e7d4bb53b1642bc0932ffa10160971831f1f65eb4e4b586ac4ff733987660cf3394883453c8fa3a91de9b0b90d34d847f0873bf181e51ef7a869c00f974eee9fb1c2b425266ebfed1dd122f0606d310865c366618bc09b1864e24ab3dc94b0d93c73879b8ca3dfb2a0ac97bbc4b2cb90a44f629d61aaf8c08459a8f56a86c12122540a25ad51ba615575f92773fb5886349c08ff2c4b47 - -COUNT=35 -L = 2400 -KI = a1d82386304207beaf5f4fb3f14c4a2f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 136ade1e031eb28e4830e6e262c256050ed9fcb2e3580dfd6b3546ec29d802acc6ecaf1bed172703edb10746d3f33ff01f318d -KO = a8a317d6aa7ea39e6a4ea1b2e8be6df1b53af01ea67f8c68103e8ddce91565cc63a6cb36dd999c682af9542a47ba0c75d8b4d9554825cef46f477f8d9253c1606768580a45570ba7b723816f4feb1002ee9c125fc1e623c1cf0f78931ec8e5cb801e427216c15dc425ad1ace51d994665ed7d7a2528eb8f421768c1aabb4bb3673c2a568e021405fbfd44e77fb8a4deb112c97cf75f14dd7e4b6ade03a3127e2fd651335638f0f2226e31a0bde3a363a6dd5f106ca4f2d5ebcc65cbb77c6f1180b749e9f1dbee118d35522736ad2174ddcafccda01de0282c2a897e4e797625101fc2222bb466c0b9bd08b0727359d1d47aa078e7a27a640130e80302e0ee40076fd977851ff2ecb1b5d4c3b3c29f677173fdca1990937693cd1e78776c25f775ac3f3e10c3ba62a2ce41d56 - -COUNT=36 -L = 2400 -KI = 7ef26c1dcbb43e7380013d6e76828649 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d45c8b4802610414892535d2b3733dd95d61ce4b7d0f403f1d529e4a40b362ca7091e674d5fb6e6c1263fdc10f6c2c550f34b2 -KO = fa83be5126a97b720e0a5306a95e335143eb9ff68c6e0a0c08b949e19d223b1ee0587bd5a604ab63f5d570a4b6d1ed3955dca20c1c4abfcb0d95d527c483f2863b4c8aef0ef6cdf26ac834123da6947bfd6786b1236817dc3ce9c1dd8a38a3e774c0db1329878e6e5417ce8de700c507f0ca252abb0e520edf888fc789f1c24641bd8fce5c8b97d114d523e0e9fbe5f8effce55b44a6ef0ad2d6c8fcb57c7b7caa0260104893a4e5dd778d1913c018dcedd4df95cc05c501a3ad7ab7ad9ee81697f282b7ce95efdd0e425cbea0f37eec24135404ef0a0053c6f379da57c892cd8658c58eb25495dffbeffe97efcbefeb1b2be36ed83bde808a77b17ec5c84daf8e5cf2e566eadee99293a53e248cff34f2fe20db1d9a0bf4bd31e19057029cff640803de834837622e0858bb - -COUNT=37 -L = 2400 -KI = 61b2fe0ccf35c91154b94e0f8c334e59 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2676907da95396fda479e25a9e9557026d35a3ea1de692696f14f9d4a3ec7c06ea39c8420a1cc3966f25b5dc56b2575792e148 -KO = 7cf12f3a2acfe014344a6d9753c1dec3af59a62ddeb18ed9a1b1ee5bf46d5d7d23bdb574f00ad269c9707eb97e7bc7de051e4cb255eb95cb18a123031be02938d590f9ac7172658963b300486ec180ffd85877725f355e1d76044cf9f3ae357ae3b6d79219d713760bc4abe6ac0fde7164b9d5ca14cd74539fb8e7a1d32e8772ccc045efdca7fce26be1693c420b3485caf15eca6b47d41287d7dc17cf7b2a96f9f596e8c5889e16e6304219e15d8579a36ec389352ddcb88a3b56638314b97b12dd67ab4f29d58f16e16ff7e79587750b58f346b79e2434fe3b662809d8474dc175035cf2d9f11e5544e8ead9d6b16cc233b27d44027bf4d4226d37f13c9ec8cacd7325cae712e66c9dbd52e5d7d872d60b499eb6e345699b5c44ec97c716e62538146f1843113f7ef60874 - -COUNT=38 -L = 2400 -KI = f782cd6ecdc12c4c7865c3b9126d5467 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6eea3b8fc7c048d57839b3a30c9a76eb4fa3239e915c6ab9e0fc5e1bf32f8fbb5e7ea6a3463f9ab0daa3364324d7e5fc111395 -KO = 1c2b8b7822ec586ef41fcb33ce6afa9e5b464ddf22a34ae5d98d887322c2fb43b766838fd04880e2c2bbc897e35c6d9672499aba48089c6543fde5272fe10e4e504a3e71fb1558c585c608b3493d28c406771fa14e651e84ae6639dc79d56c3e75e6519d6cf200222969ae16030dbe1d715307d2d441587b3105411404f62fbe82c294a17e80f26c731631bc6f71f06e777e05a6fb350f1af505dcbe38dba1efed9dca77f3cb683ee9db78ec2598b48ed6eb1329cbe2a080699efbf525edac2250485859af42bf7f4f7d7e09f5d92eddbf2505fb0502a46adf119a07541dc0be0d89e01ac69f93731d6c85c7e1daed9ce5b896067f2de375076a681baec5fd87b3ee5556aadd2bfab1154309ccf39643d9d1b44e56dc250d4c0fb48009a91dff956a375a7d68e430f693e207 - -COUNT=39 -L = 2400 -KI = 6dbba859e0378da47624b171761084e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dcac7c5a06e82cee2408009ffeb937403c3a0c879d976f514cabf37d3425f6bedd24908e89f5810178a9b528c6315571bb9fd2 -KO = 6922ebe03f00e6fb22b9a7759916b100a1f2d611fd889120398192f452568791add961305f70e8f065add96e52b635555b11d6dfd064f0d3c08d232f21d178b39b61ce129d1b2629fe83531df786e6189bb26ebb02940cad8c32b729625e3574b7066ca2164f880f6feabe575904ce9a925e524f0bfe209e233f719b67c5f14a247bd3281bbe0ac2180a05225901b16177b1375e2b1828f1beaba02d1a7a5ef3d9b11432c21eea286466769b815994a72f68ced3574a42fe6260139051caa01dab046461616e47dc74a5758bc719f153fbd09a6e93457cf73dba9327dc93b05d2905bc2cc3fabf300a993c2a6042b6f23b3eabe6984e78c4c7e2921ba3715cd2dedff72a358ddf3de35490ba7a8503c7d1fa30629f027b5b51ff6b0205b4d2a85e8070f31be3f3a92bfaa768 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f7e51e926975f2ed43f62f1c17675ee2 -IVlen = 128 -IV = a5ef7de4ea10ed831cfc26ca995f1b9b -FixedInputDataByteLen = 51 -FixedInputData = 3f1999b18c1927989ddb623a56002560288d6c8dfcb3f5ec3ce9bc730b05029e0263a30519d146548268cc40e8f42e884337f8 -KO = fb73fa9cbd6d89518912d6507e114f1c046e3933a08a641aa917266667e180f39e422924d7208c57316e9a2a77c35ad9ceed7b42e5e899a4cea158431cd057fe - -COUNT=1 -L = 512 -KI = 014c02f2478c28ae2c44503c1743469d -IVlen = 128 -IV = 57306f442a77854734170410d4008390 -FixedInputDataByteLen = 51 -FixedInputData = 8ffe413b2a0c68b768920f3081977d94b59cf2c9d13314aad8d991640be48804aacb69a720bac8fd7547ce414b40190051efb9 -KO = 8bd684e0d9120750ffb80a62e1ed455a3cae5a01a26e1365743739aff7231bdf59356f4807eca9688c8752933226459af795ee4bf87b30555404b606454d3c69 - -COUNT=2 -L = 512 -KI = 96f7886bac0503e4f02b7383288d3bb4 -IVlen = 128 -IV = 9f504877475e3d9b1f1c28cd9e4f9a16 -FixedInputDataByteLen = 51 -FixedInputData = 729a4520f550106fa762dd1803cec172e637a7c57ffa08ee9d54952e2414f5b48712e6917238e6f12e81a27fd09d4c759aa549 -KO = 160488de415875a1ef998e62da0520e33c51f655492be9f6f727908b1f019ae535ad68ebbb747f5392bdc33bba3e0393fbc0130c6b514536b323c3f2616fc2f7 - -COUNT=3 -L = 512 -KI = aea313c55045b0747cab84f6e9413607 -IVlen = 128 -IV = 429e37fec24c483357a8669ee997350f -FixedInputDataByteLen = 51 -FixedInputData = bcf73676dbbc5d08ce97127460a6d72b683b5dedb7a7209425bcf9165f06fc5d0ffadbd8eaf6f418e1a0b6b7c2814edaadd731 -KO = 00e2975aaaece376b997800f3905770415eccf796892d6c730fa8d0d396d52db09183dc2dc0d2ba609790d246bc9d683ca6fc518765c489e563e906bd144e112 - -COUNT=4 -L = 512 -KI = b4f480eba6e853182814939d4d4a2ad3 -IVlen = 128 -IV = 2ad0ffc3ad8f5da55ae865ed18907e92 -FixedInputDataByteLen = 51 -FixedInputData = 20438f3ba90cfee5446d1dced8f38c5976943fb490d91928a8299c869982d1f77b08f457595fb6618599c7316fdb9b7f62cb81 -KO = 7846c009e452419e114ed98c85c5ef0aaf87185b33a32231148f49983eb3b3ceb0239b2345ea85692b4a9b8966de9b4fac8d9c49562e01a692c4fa2b4732b9b2 - -COUNT=5 -L = 512 -KI = a67f4a573b19fb73292cfacd2eab63fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac9ddbc2d8baf67487c2f51eecd0fc77dd01ad1bf22134b2604fa20685976eacf7a3a65784cdf5fba17d5820605e18fcdf7d7e -KO = 38bb5561ecdb07191b2be0b33748cd051cfb989821aebfbd80f8a0f00c8753ae5ed660a8590263202f30d7390ff17ba99707976656aae6abdb0d744a10e1fa54 - -COUNT=6 -L = 512 -KI = 320f6814ad176fe0ecb1a9c2268be6db -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d0fca39fc1fa5fc7a4813949c7d3a04e8f5110cbfa933f3d4b4006776f849b741b99c4091e9e5d0eba565223bfd67883c200e3 -KO = 35fb53118a598aafcc8628aa6a2ac046eface3f51de7fe0ac4972a078189d55d682eec588f8c4196f02e4b896fc9382f7ba1e69b0ea159455f8342ca6073782b - -COUNT=7 -L = 512 -KI = 4327ee79086b4bab88fcc8402da9bb3c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 84f56070da385c13902769020ae0c86e2cecbdd90428b9231d453f284968b6ac0da8b69d4975ea2d3367358f61b485c73f1627 -KO = f10b61d9bd83de86cec40bfef4f3a080116d1e3bf8949fd3af37d30959fe24613132736700ea0e071dca4252b80be938b7a6a4591a5715e7b06ef2ee76be995d - -COUNT=8 -L = 512 -KI = ebca91a34a377e2f02f9faae8e33e630 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d6228117aca2a036db3284ff4058518500f40063f9c176a2bedee12b12a73d90bd1614bdf9c7b42a70841dd3d5b1a0926d30ac -KO = b2221eba23ef2c69d55e0f2b6d0e753001b52d644af26b6eeb671bf0b82b3505f922defeddf2141b253da8d62ed6c29267da967d8417370c373747c7171eeda5 - -COUNT=9 -L = 512 -KI = 7d9c24b32ef8e5e88ba325944d8d6c2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8506a6fb355edef0cfd0cdaaacd758a2c0a1661134883ad11a962539e59a27127673b2b7605a23d2344c9ab592cbf2e2f8e5cc -KO = 6460ae507dcbe5e1c34e31ee2aac4be30ef54f9d0bb0d429febe9e2ba78d9dce7cc44d9d5529fd258b6eb4e7e9509bd8daa6d479a80b219dc67c9b2c4e0c6b8b - -COUNT=10 -L = 2048 -KI = 0f4587f92a441f08833fc795fd649a72 -IVlen = 128 -IV = 5bcae4368e14ac911ba30149ebd184e6 -FixedInputDataByteLen = 51 -FixedInputData = 3a1608154294edc1255ab48d54429d8475204ca99da3ff1efd8071ff8d43c6db92bf129384737ddf1c9f3cf8d3ed1992fcf961 -KO = 8e8222ea572f05bd7824684bf41ea5e1091fbc6e7310b33ed0cb881b540731672558968c71e7bd137bbde18ded9b84d2dbc9955af7c39b63f190415aba7accd50ed1f240f29ad92c1e06cdee712eb3482b2c4ed650f74917e12f66ec007bb204a6c5a09b119cc6235249fd81446a470542d29fd3e548a9b64649189bcb73471dc9fc0012e994b04df65c8015d8a7e316fe4e5373802e45cab5621ed6713198ca67b40490a28e795c1540ef5f0ea8b788649464c8df712f4a6c2b52daef288d83d6b81b84a79a9b3a98b22fd90746a46687c33d0cb0fd3c23a2e11205302d486ff8bb1e6abd012c476d730ced0b1fd78c4408cfcb1d23df58b7cd9fd9c7bcc497 - -COUNT=11 -L = 2048 -KI = 9a980b751597a3ed20a26b5708052eac -IVlen = 128 -IV = b8354b53f43fa3c5025e8ffb32a554ee -FixedInputDataByteLen = 51 -FixedInputData = 11c55c0db0277f06c666aaf7a4b0b2e92f5466889099b59eed7d4b1f791363149cba9f5f8bdbcea903caab490e1bcf9888e46a -KO = 7e2422e65562942fcd7cd23b2d336b4c0deccd77c1c47f220e98b91a9ad0ada7f31cea75d0b9fe9f1911b0240c9f58db922da0f0502b28792126c1a45cf15f4446d37fd6cbb9878dc2ee878cbb1f996aa6acfaac2c53685d1b9822ceada2127007adcca24d1257381c3212cdfc4ab63955feb5687b48d7cf4e9244536db9f2ccff5c2effe724687e62e6e25111a7ef0f391c4b1c4c0b7f0b667dfa1a223c533025489ebb25a608b74ad1a725c97362573817a3b6cb36ee50631693e016216ecde7232bec2b6218360d889837a5457797a8afe991657afba0c33141fc91b56c806a61d171bc6773e67c70c12168ab82b9dbdba7f039a0648e4c340596d7a67f0c - -COUNT=12 -L = 2048 -KI = ca64fe3bb86afe5d0c7f6e77fb57854f -IVlen = 128 -IV = 6e07b29c128d44ed467dc6c77cfe8799 -FixedInputDataByteLen = 51 -FixedInputData = 2b2fa29dcdee868bcd0bc0859ccfdff187ee42a2072e509b91d61b2608058f333e9eb1fb03434ca3f46ac55be87055121b218c -KO = c97ed729b1506f1ad6d4e7efd5656875f48677fe7d121ed9e9bd459902364a69f170c06c9227568eb81c1d2aaf4aec28d792d4a59e36deaca910131d94ab661d86e7e97252958ce3c9f2b1670ba72361e1dda0eb8b86ef1e2267f1e2ef25eaeee8548dabf38c44619e3d0b4f958287d6fbeaff26264ad9949b9e48900fe8d3de405b07168dec11f18c938119f97fb81599c2d0db3ed903f464127b069867e571a246683c5f52088e2e927df66e4574a69f8834ae390942f215f91057bb73d4056fddf7a02aa7ba9ce16c02a45b973c0c3a0a0657822559f3beceb474f7551a0398c2f4783bbbb849d346bacdcb86fe59d3c16b77f46ec622130a657f93a7e3fe - -COUNT=13 -L = 2048 -KI = 6ae100af44514a3b6255683efbe887a3 -IVlen = 128 -IV = 9d37db2e0f7c41d2f650c9aa88e2b135 -FixedInputDataByteLen = 51 -FixedInputData = 94cb6f685b49a6ef3592749d6d65ecf33dc6a7fa5a27b24c5245538a37eafdfc7560ec73e4abdb660678b1f9a5fc73ea6a5b77 -KO = b2e69ff59b1f832d90e0931389cdecd4bc318230057f4a2486350c5b171843a61f036569570f8b98354db539302eb86f86441bb986223573d7bf4e8f6c1b9d7c80e44d3e710a7ddb2e883db18a25d07e3ac04bc9ee5adb3a6c6ee72920353031da35ef2b498bb2e332e5fc4cc2f173a88bfe39543aaf010975b5746ad1e4abcde36e980f9c444a59a05c32c9e57aea43f0eefd5dd9d316ddf4b73f5e1a02ea50dda155e80da7e7b2b1adaa4afbe5a99d23e8a62f809c887c33e4e3f67ae43c3b5d9bd9bdd12d7d97c1910cd7ba945b0d30368dd3ea8f12539055eaa42c188e61af0aaa51535f13c6168cf0949aa3b330f7e4cbd66cc1a5785b4009d7f17893ec - -COUNT=14 -L = 2048 -KI = 3fe9b3b460d4571cdfa6cc26edc777a6 -IVlen = 128 -IV = 3ce94ac037fe7b3dea5bbee949995614 -FixedInputDataByteLen = 51 -FixedInputData = 7c69893bea28f2e16504dada6a7c8f5d02b8df5da7023acbb941ddd2dfa19e42b20e2da4bcd453ed681189662f91df25a1e97e -KO = 4f1eb02c9acc3122f4aacd770f0e5249424a8a7bc9f8fcd90ecfe660d7cc943ae0c24de0eb825f29ade50ce8dfcfe66b7059411b991302348e227b88bfefb17d65b90b6e939d91ffa3e64f62ad6ac1d4c55d6ae2769f8f512c7637a2189ab04bf2fdac504aafe6b283b91ab2ca9f53613916289ae3ec5255f3a4d8e605deabed3ac80ed38ff2c8355363065662212df9f99f344120d5753cf22fccf442ef7e28947cd99559e153e972867f8841bef8ecc1958aeb1a5846a46ffa10187f42fdcb89ae95a858e61dfb5055bd0ebe1bfb85f6f76c1c8804edb4a3f1773ccb1b32230e2cc71f79d1fb64f38cba1e7b2ae0c3fd52fb17926df7cf4e16800b60b9eb49 - -COUNT=15 -L = 2048 -KI = 4dd49681008e8e111fa508a7af84647c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dd05f911afd0557ca1a8234da7290fb97af473518c989643f8340a81709c526c3270ac6573dd8947a9eefbe2cfbeb704138271 -KO = 9346d9055bf2444e63dee5d916e76fcabe605a8713d2a955a7b840ca46089efd10b68ae799ed7b553510271ba59b19ad7171a77f324f6193a7212412c7e01530252021effc8852dcab8a0e2b357615c4d149e0ebb5300351f71cad92d91cd7ff03224d2639c920a053daae35f2215b7f534a4074b9b8acb2ab054a07127481602a1d106f62b49b5dc530dc00e14c9dc9f6b617aab80203a872a99bb2682bd14431e5984c2254f3ecb488f0bb63c7196791bea6e7eea7a0c1261016ff49bb88049766e050946a629b86a67e4ad743cb5b1b9c2034dd8d85f0f651df2482a9ebe43bbcdefe8293e888fa58ddba11014d836fd82cc1aa6a0916874dfbd6a4411b2c - -COUNT=16 -L = 2048 -KI = 817d8ed50ef33faff2d6f625e5ed27de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8f0004825576adda0bc631169874df06e61e1ffa165f2b95faf6fc74f8f8d38efe4d5c671636a3bda0001dab1f4b78869c5c5 -KO = d69748e16262b5cc211d55e10389420d56d9e3efd7ab934cfc3cfc65b3b2b5b3a0b41238d76c107e01bc872c88efb13447a7fc0d225ea83947409986bd96fd4f4c7296d0210e937fe431e88c3781945554e0a2fe96e6229125fecabb9e7f035a26a2da9affd3af7ba71111565f062f784e8777b40b33290f1f05f207aacbd425ce31647ad80de714057762b7b7f17ba040a3be4bcd04edff216ac93bc3cf631b1c44a9e07dfd2d08a2c9053ce469c36cc0d3b5d1f0e2c7d5257bd1f9a1381a4a66f9deb9702dbe72a4743398ae8046105acb0aa06d991c12786f5a8b88b4de6cae8050983c965f03db3575f8cafa4c3a5e6c4d66e029d409903c163b6a98c8f3 - -COUNT=17 -L = 2048 -KI = 93fe8296621fe959951f56293f49b11d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c92e7c13bee7ed92a70244fdda611d47142270d2b8da4e9c2b6e873a648a0932f27d6061d93292bb8b7be6cd465bc23f930ded -KO = 883f44c6ba09bdbb7093c293eaa5cf7b70d06cf305f57dcf1ab42e6eeaddf1474093f3806d66eccac601c896f2c268a58a0a773f32332d3b3a8884f36c48e150de6d2e4a5af7e10850546ae8670d6ae1bc14234049ae777557e7e77d0fa628bca46ce15cc2fb4f3ab4000dcd45f8cff8fab01be4fee691d663e8f36db6a98786659374bb7c0a091779f2f1f35b0bcf17b73d2fb42ca533b3d3717e7929a4c3212bd3ce7efa02969c6b6694f6b98503929e969ce89b672419d58a0e3a8bd1a6f58611869a902a2e7486e4ecbf273be26644784666d8233df23e460a787a326167b95a8513fe5831cc395f1fba651b98aaa584da7748405efb1a9892067e4e2af0 - -COUNT=18 -L = 2048 -KI = 5f7d755888b29e36d8e127269e48d9fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = baab263db0431e239963f093a543645dedddc8560224df5ba1e39ed77b5b262db15afaf6b081c9ed5398b13672efda5d885ab0 -KO = 5b46be19039cf5b722d138d57b36149aa03029803b06450ce965f8fe7c88f9b6c261dfb756e4ebf76c8b6df759ec0a79f2ec308b67f8e38ae986e57bcd65e598ff3c2c0caeb37c8260aeb6b7e448f89cb4abdf3b9cd6a3a6a58ea50fe2744ddacf1605c4c318b45edafee4ee385669eb3724c60e21e40580156d88ceeadaf7f3adc4a64a0436798d39b132b2d797f6a7dfab63744a1ce6483ec453fc313c85d356b7dff453174e36a8014810a37646685d31692447bb6c13ea552854525c9d49faad60d3e03cae072677dbd4bc68096743268d96f9e2a1cbeaefa4eb40f9e68df2e8d4489d456790c069d15b3fe80eeb0a3209c79aa5fb381acc81f63f1292e6 - -COUNT=19 -L = 2048 -KI = 6b60c515d6c206e195d54b22b68d8586 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 31e55f8673ea8c54f1190852e6110a00b8c5f33ca2444a3328c2b6a3c09e726def57cbbe91daed40c61653bc665b734d6de942 -KO = 949bcce88f2ed2a9d15677a0a84476e5b650e781d8280c2b30b062308439a1b38d183118065055ec2e5dc14799a382683c81dcb654a7a76b63b0382aea4646e0a5e2bd1c3fc068ae93748232ce8105e2ff3ae6c20e4cb390e73643d2bc3f05a6d70542932e498a0dae75fae70dce30486ecc2a24bdec199d1e4b7e33eb2a4408e5fceebd2143121b03e26b3c00335c109b723cbe9240d7bc228c8bec1ef9faa210ce112ee1775e612933567a38a1f105526f2142dd2bbf0a118e8a779d5c61bb12738d9ec8abbc20befc8ec7fbd8ed8db7900baead504b575acbac72d66c4848fbd8526b5831a874eed4e0730a13d30895d75da4d9bdb739843099c19d4984c0 - -COUNT=20 -L = 560 -KI = b26edd79b4bc9776166a1aec6de59e0f -IVlen = 128 -IV = de25db6dd98c056f4c1e2bf26376d0d1 -FixedInputDataByteLen = 51 -FixedInputData = 9c2b299c5242b5f1bef004817b509679f830391916035800ee362454f7a0558044c9664edc8b2b50de38c9c12cd5ed195fdaed -KO = d9eec559c805503a4b2c7c6dd69d9852264b4b064b438b03ad16857e8f55ea45ab13a55cf892d605b2a8e5faedfa3627c54816db8213b5442b7dde0c4202e15ca74f49cd32a1 - -COUNT=21 -L = 560 -KI = 73b892f119f8a015a954202b5f3e725a -IVlen = 128 -IV = f45bedc9fbfbbccc0810c76bdb8b792a -FixedInputDataByteLen = 51 -FixedInputData = 95eefcb7ae9186cf628665211c81d85e4d6017f9dc1e348ff86f5c9b540afe873ca81f2e2a7da7f8cf2c2200b7e1b917bd100e -KO = c8d3e2cfb52af123f5307434f6d11d22ecd786c22b1af79e58bbddbb2bcce8d5f0d20be68d6edc523e71cb25e6c2ad2ef029f96d983a21bb1e79d12212d5389d7bc2bb0e8a8b - -COUNT=22 -L = 560 -KI = f86e44ee890c1e94efe8e86f9a982334 -IVlen = 128 -IV = 40e968ca0b61e74fc9e0fec4059c47f0 -FixedInputDataByteLen = 51 -FixedInputData = f315e6576b4099b8291a2a554a2c924ff4ea5dde882bdbaee4e6a9a68e293b70bcea71ff6ea60788303408b46cccbfaccd7574 -KO = 96d44560c8d1f96f05ab33edf0758851bb21e0dc1c48d61757e8edbadda7a9b37c7aa9db82da2fa9de5316d3408ed5dec0766b56edc5f87cd40d86506f89413b070065ad7236 - -COUNT=23 -L = 560 -KI = 6e57652a6cd85ce90efcb46cf063fadf -IVlen = 128 -IV = c67b501a699e33b56f0ff12fbb61d70c -FixedInputDataByteLen = 51 -FixedInputData = 8de650802219d05c5988925e4d936c8d0bac8aef4f8f92ffd266d1a4b194efb964d6a61571ac3d62480c28ba9c63f59d339bda -KO = 14e011b1bcffde1d07d675f3cb122dc0ec96c5a2215d6e47810c2adc6f32b5ea497c7491bc91e7767d4600455207bd749abfc945484cb1e97b8e7668e85d439d4bce631be948 - -COUNT=24 -L = 560 -KI = a7d0152b7474d4678be7901abfde9f19 -IVlen = 128 -IV = d8070054042db42cc39ee1c647d7d33c -FixedInputDataByteLen = 51 -FixedInputData = e501a96bb537e47bb7a3d7ca4f5df8537e266a0bc7173bf0d535fc7a4cfc124cc6572b2a655c1ab7532a62e2ce75d7d5c4959c -KO = bc260e083fc111f3ed939a225bf953946356267fdf36c6de38c78a5080f256c6ee3201107ebd1aa57ca5af2af3e00ec84e4b906ff2a425fabc9de3f5c862d5d40c28f934a539 - -COUNT=25 -L = 560 -KI = 91a4ab7a1d7675f988ddc76fb019e7c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7d071f14a58a0a0cb46c9a2fe63055a165489615c15510a77b3226c021105312fc93a7ba18351da8acd6082ac1cc034367c70e -KO = 93add204ee95a583646259ee41773a43bc2424457e5b693d2a621ae216b25cae5a65d226839a46f4560da647a221d1652f2497d2ea1abdc93395f559910b9393e6cb6b88da8b - -COUNT=26 -L = 560 -KI = 7b843e6547e57c183ef20fa5ff8d67e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e8c9e17e04c36706452e2eeaa8ceda5b71840c6dc0463126db9370ee988b32757a86db2283d2a6f824979a17bda6548120a3b7 -KO = c124b950a61358fcf6e1e3c8c931c7101152c0576faacdd23c9ce95dc0c0d6c495f2061019e06b0cb469ca84f3098aa604556e4315d02fe44c6668e79fe052dc06917cffd2d1 - -COUNT=27 -L = 560 -KI = 2710959f8b70fa88adf0638b0b1a1b4d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa20a56ad6aa000144a4174c6cb73cc0ed3991f82cf2ada2941a65b93ab782c903fd24afd137a6f3259e234eaa65fb61044df1 -KO = c4622fb997623a1ebdcf9df28d3ff992b3ad584f92c873dbe40ac43991583e91ce7c102b52b5541837206ff014159e1daa8ebb7ff0057f8bca13f3bc090f5fde05155d02b393 - -COUNT=28 -L = 560 -KI = e9c54bf3e09b96d6b2f633789145fe17 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab1f068b5c3728867463bbedc08371aba91da831690a31afdf0ffaf90f1fe6ac6839060ca08c830eb1139def83dfe981f5e2d3 -KO = aba134d95be928073b844af28b2470cca04873e50ecb731c8a913ac3857fef1556d32954cb2db4641e1bea939f532f612c6e6fd53080eb2ca8559cbe68ac2b63a69bb3419490 - -COUNT=29 -L = 560 -KI = 5b51af31e53ebc6a46fc24203f99e6a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d05a226dabed74aeb78ee7c2e442520ada2bdd3aed3d3f456c549bf0f46f2727bf5ec310fa83fd4296d5761fc4f3c31154ea0 -KO = b4bc6aabc16fce6475667901a92ce8a5afc90ae7dada0b4d1ab846f6c39247b44f4b0f34664532f32b28241454bc6ba0548ade8c2e57e9d538217ee8d2262cde4470cd9549b6 - -COUNT=30 -L = 2400 -KI = 1ecbd7b84d7701d47000de67d3db8a98 -IVlen = 128 -IV = d69b8f75a2198e4f91907d388eaa023d -FixedInputDataByteLen = 51 -FixedInputData = bdf6531e766eda95cc4e503420990607ae1839fcd5d22fdfd786cd76edc497d8baff795248aa4ab47831e6e6177ed026b2e480 -KO = 1720c9237587861736b020cee2d760f563b2b5a57f054406d4c813aa39b628c55cec21145e61ff471b63b809f933d732c3daab5d1c06a5b2474555283233c3c090bbe5617f3f03e6feebce339fb4d46500d6a37fd9f93f2a8b353f33644027c4b8b49912688bec26cdf9dcff2ac8ef27c73d8dfd2da8bbb5bef3337ab0b00ebe0b677fb010f45be523e06dfa6dc2176446f83667debce90a1ae8f3ae47da793f7f4052b94d493fc4625fa3b0ce1bc3e6c71337e6900d441efdd7be04ae72072349e8f87784fe67e39d0ada11fadb2d8d750b41b52bb287345c42bd4e331e5ec6dd449bb264c10708f27c6f40d68f1774daed2c4b04badc294a6093bc30b3281cd30465dd39e03d97c2a664ca74ba7acb46cd4a11bdda32fa25de993fecc5ef3ec0a30cca10a45dc701e9a37f - -COUNT=31 -L = 2400 -KI = d6b6bf9dc9643a5a3781a4ff9b778b52 -IVlen = 128 -IV = a181283ef86f51b5b98fc42cf25f6934 -FixedInputDataByteLen = 51 -FixedInputData = f9f68c8bd64d8969021659e607a5a3fc551fc7c6dfdafd6d040352d2a54bee9482a17aa1ed897abcb0d98211925a0be636ca9b -KO = 3dce003dd9a7891c69fddc82b61c1b9003f66612a15e111862360237c4dae0469dc49648aa03268aa91a9551fb398e6b95890f1a954fd647e04afc99e074143e772bb12ffc20324073b01d2288f77b845ad911d696853cca56cb61f89c9280971817fc8b08e4b3ebf2e73581becf3356bf298e060c38d478830e95dbaf500f8dc77dd75fa74a13d53ce56a4b97eb3c979cfa9b77624b67d2d585e7bb27219f3b7be83f750cf915bbe8209bf816f86133ee68c0bee7283184e5f2242cb25912307833ec1faf7a9cd3e40cef41569c393245752685deb52a7f10b138405ef6bca5e20925e215d8938785ee18d262cbd43a71d345e7b63d1c9da788ef8beb7dae37b57a9a7d4be9a191a45d0e4b9e15f9f276c9b22d30ba1111aa82ed115fe6ed20786023ab17c03e16bd71add5 - -COUNT=32 -L = 2400 -KI = c0a0adc83414ed9a334ba2b66f34764e -IVlen = 128 -IV = 8be32acfebcb4e3485de25cd2b1c1428 -FixedInputDataByteLen = 51 -FixedInputData = 6d469cb1d28e8b344993375528914cfc5456b6e3559c05bd516fa78ea8f133db6be7b798b75832e9e8ad68200ee1ae885d9615 -KO = c75479805df0350eecbdb7f7729fa240cda1ce86f19c13f735b53729b6f5043f20268a1b45ed7a7d20c25c40b59acd2d31c4421eb223e105ae24cf394910a7386448a4729755f6ea0c0cc793fe7100c4545a5301cfa08ef744f07395d96d171e23a958e0baa45cc27e60d4644c38e72d4ae5996a67d55a12e6db5f6732ea78f5a904a49f374294fb07483286e06aa5fb0e633ff99c4e5db1cd6a5212755df22057351f841405557cfdd7c23eba8331713525ee7e71d84df9f8c3963f99924a2e9a46f0e79f5b6c090f2e5ae4c640bcfdaede9a9de7c6443fa524153504d58d3cf0c5ed6aa6a963308e25bf54db478a7a19fc20309acf859c016d7e2583942b1510bc9d9b2a830be624ede5aab2ea506d5797549e71b6b8483fbfdfe2f6bc5caa98b9ccebdd024fdfebe533d3 - -COUNT=33 -L = 2400 -KI = a77a76e1795e832a36396c789d095e69 -IVlen = 128 -IV = 9c69cec717137917d7075dc1d22c3ce3 -FixedInputDataByteLen = 51 -FixedInputData = 8a3f906791dd63bde15b08c5ca677522be4122447478a04f77f1183130c177bc795f52b813556f31317c8ece699a95fbf6ce8c -KO = c2ab015cdd31f3eb3295a019c7364401dbf20497228e23861132d75b42bc3792d867295676b2250de6518155addd433a00fd4dbb077901ab9e60e6a310a2c98692e5c583ea3091e0bd6d9cb0e6a8cb9c359766070247db830531493794229a20c80d1a57ccdf1edd4469be2b757710d883cfae1aea02e9c024a0b6b25113a0d222e8ec2dc934b8c9ac9711f3a3cf9b3effc24a5b6bf6d903a6490cb6b68f2d3430552e9972af056f2d19d678757304ee817af7ab57c0523d0ad5838e1c4ff55a5ef810e554a28d92749489d681d364d503d09d9c61b4f474dfa9e0aa64213d134ff20808791008f4c28481ae64f9119284230dbb9c661dc543c35df10fd9e15e82f1b6b40615ff29c7654ba8baba32c2d632b7aaee2e5e2df1ff69273d7955f3da21f53a4684f5aef2d41347 - -COUNT=34 -L = 2400 -KI = c718d651653396fd60ad3cc97dc47023 -IVlen = 128 -IV = 8746ac3c54d184d48a6e0ca7c95f9a26 -FixedInputDataByteLen = 51 -FixedInputData = 480697fcbd4e44cf7109dc6c4a729a6ae5392373551cf889aa92e5a66649a3e8de60cbfe4170ebd4a25722cbbb95bf1941a4a7 -KO = 9131f6c2e1223b1444f200493b9d13165d9215c3faec691e2c1b246ec7cb30c036687b94cc3dcaa33f014115cea9bc065502e1334d1227b73f28261161766057fc03faa1ad75c94276a505f5778747d0f3046f43b629293df6247cc0a1c4ce31003ba1f9eec9b738b40960d6217bd1f7d8be59908c997a5b3c658d7d2ebe83b79693c3b703d8013053dce029f34e446eeef77b4f04b2e868ba6200baf271eb1b0911a9bc3f03119057e7ef01afbfed08aa1ee18764d790c69ec975b01977e1c26df00044bb2cf87a44308247575415721147075706e015583814e0382af1d9b1a264a083a1049e8baf779074da6935b88eb6b34a3a163f993cff34ca5a784943b63a649dec3af8addac1cd8c52013274d5f42b26c89cec0d709bf1d702b7d5a3f1f06035bca5c6769b195365 - -COUNT=35 -L = 2400 -KI = d3a5af6b27a11f669bc75d83271f5895 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3d88744ad0bec62e4fdb9f023f4aa978325d241687baf262d77d4fb23647db1bf12b81145569449eee1d418a9598f94aea27e -KO = 537caee953df217e4a7111073ea2afc380d7b193ce6e2708eac3fe539da98db7f044418cf740da7cb6d73cc1a91622dcc5042e0aa88ca53c8e39ca5c87bd3c4bfb896d4583a7eb67ebc1d0d6d1c9465b8c56ad796379a487311736a3753b36ecf72dc704377a33e378ca9ac9bcae53248f637d841ac9fcf6558e0570494df2bcc9736cbcc20f137f8160a7e633bcf60191049a1a72dc6555486be51ff8d504f29c75e1b3261267046637dbfff2d454b4ce7a33da89ffa4fa1f7bb10574b66254f6887df5428a45534acb465a7497655a708af43d092bcca8caf678453e3a9419754dfbc5f081ff5178abf4fb6fa76b5dab64a8095edc67cd7bee11827a66f9e24a5bb14b524ec0157d2df6e85a39990a16386a2a34cd644ada3bd79918df9b10b2c1661bc6eed5f7a1da530e - -COUNT=36 -L = 2400 -KI = 7b77ec610665d9de88d7467a50d0b237 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c7742b2c926dbd1dd2c8f435b7b7f39adebc61900d0f8901d6a09bb5db77a97273f4ef5c767b6a927f3a5b96e55a7d5e6d797 -KO = 42aa7f8c7d986d3dc67cbcb2af0cdf6abf64b0b4d890d40f8b939b7e59cf0029e1674d762dd4c222936183f77864abe4d9fc418f98cbc039471b881429da300abb3d4b145dc549ec8d02cb6a7cf9d414017386538ab5f5e456192ae01b57458f902eb0e402bd7f2040895003a796d904c5f417636f26cff72fe2853324d4fd6acce49b1eea175c11cf8e61a60121734f3f9c58543a33ce9f7d8f84fa45c22d73c1586dc41ab084b3892d323858b68f23d2b4a7ba2275797c611cd2069cf1d02e566208160419d13bbb9b69c8f6a77418e2de8244d6dc1b133a4c8604b8170795a3341ab831554be9849a98a9a26b87ef8cce2732e0afd64908e6760399c4e129ca29d39d90bd5e0817f8bf74ee390f28d2e35835d0e90566900880869bf58bcc9f2d72c3c4b2d3d87ffb76da - -COUNT=37 -L = 2400 -KI = 262ef2b2e6d1eff2b10c39bfa0db7661 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cad496d2da4b5c56262d56bd809ebdd0867a450b63857123436c66f3922ca5185c64ad2ef52ae362f9799da1362bdf58af4a4 -KO = 8f82c006f8ec1bc89807b3fda2f75aa3ad55416b07a9ffd3a29a1229e12d6cf8322ee0c78b86da40736b18f8e1b2cc4c660347133f14023f84025d1413260551b6e4abd55e9b86148cf396d179a75ca60f7b475030f2568bb6781bff2de455da39680872aecaf05a0c781dcf65af9c2d0e1e9a487b4179327b5d2ec2a61d6d9949295b5e5dec1dd5909964ea5b2bc13c416d616e9d43273f2587176d5cfc083e67e38a9886f57abe1c6ad4156706ebaf8932891c1faec88c27f44c00009b283b2883a955ebf0ade51f941b90c267c071e35932ed10fc0036d24a59cae64cb5ecefd1713dc43dc5866c592a1d7e46e1975d5e607d8d9c9d8519011bddc1832794856d23489a7f42d72740c1bfcc132c4cdbecb06a16b39344407833f157fec0df32eb5d503167d20ac6ae8239 - -COUNT=38 -L = 2400 -KI = be909ad8050f75aedead0ab1892c56ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 747ae13de5328373e28c3be361f729de72fb72fd3c4cfe73eabb0ff66ce6df11a47cedae0948fc0d9485c505eb569c6e380fd7 -KO = 7420c080ff15b0c0ba474fba5d91754b185855d8e2b7beea2d63ed0855e6b812b71cc51d84ca76bdfb442dbda8e522236983dfa0bfeae962e54246bc1c995c43e60fe5dd668a42b44430b2f58ac0f8ae864349a7e8a6860b791502c763d8be3e8fce9d0a657b1c216be0e728e28583c9cc40c6c07b80cf54de01395df2589a5961871c14b3629697cff6266fdc4148b4e350c79fe53aae7d01d14bc27c044417d19e4d0e0f96e105f6e5d9f4c3182e3f6e10f5367665a581a60d1f1e92bf854f090828c7b176c241c0780d3116c83e784b5637bd15ddcd87e8bf200c8a0fc2c1dff9aa82fb303738d7928c47289f06587ee04e49bf8a702d0f32ccebaae122d7be76d7edfd5ffd16ef062874ba52aba9b3f53d16cecd46ea29879cbb67eb0310601152ed0cdd8fcd39bfa0ee - -COUNT=39 -L = 2400 -KI = d92fcb5acdb7b2c73d551a33a6f03c07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b46cd25540af238a9ef71d8a9e88e4f1eaa156d02f3ee7c8dee5738f17161cfab79a18f73e967d01606166d52fc2486833e1b0 -KO = 05d659f6b1c27723afcacdd32a2b84c21535f9827d443dffac76a3a2f75457d4cb601ab6a4d6c20a34a6d44b4fc978dee8e774e2332abca584bfae8850ef1382e0a995e70a3d255eb0d8345b90b8337fc344fdd4b08e2166def91479f93411bd8866433e9945f0030d7be4d06d1bc9470138c12f9643ba813b61dcfe734e4baf172480a4bdbafcfd2631a497b20fe90ad10584cdb872227a9376166447de93dea1808597ffa60185bf18942979c9274cdf7ad1978ee0e36c54d1efea6017628f9080be940d1e318427913fd6e9805ee02a4e79a5522e1a63090f977831f656cb735dccda5371c145ad30799dcb640404b25514e05fb89664550de5b111dc9f4cd2501bbd9ad95ad48b4030ffe401d51c36aa548a5688f40bb7d6dee318b4ca2516c39234f5156bc21fcd263f - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 1ab565b928dd5abee61a893cf45a89f4 -IVlen = 128 -IV = 435019a2178bd5541ad91de4daaf0df5 -FixedInputDataByteLen = 51 -FixedInputData = fb949a415d1862427f5713e018465a9424747f3a75ab336be086303938341b7e259c5b127f033000a3d6048b2e3f3f4ce1c970 -KO = b7d279f5e6aa1373ec4c6ef3fba81d1e95d92953748d889d05d5183fa27b2f0a6c448e2bbea13cafcd774ecf5355f7e3b2d0c18786e8a7666238a02090de69a7 - -COUNT=1 -L = 512 -KI = 9a7c7945df24f2f634cdb37a80635350 -IVlen = 128 -IV = 849443eb7c0308758cb1cdb3c974bd68 -FixedInputDataByteLen = 51 -FixedInputData = a09816d6556131d398e764ab08ba8d46b33d3894ef2764b386874c8b0bddff7b6b1ec6aed8fa72d4b2402fde6710259268dfa8 -KO = 4bbbb7bcb08a314e24957eb5ef138989992f7001c6e2ccb0d3d8d0002bd7ed706befa7155b475b155555e076f14653e6ff42123e35f6d8d66de60aec0d08cdf7 - -COUNT=2 -L = 512 -KI = 0af6c4b8f7b878b9a7bff0d57b7a6e7f -IVlen = 128 -IV = 6a03707e626a42f473b1f7e764e18c18 -FixedInputDataByteLen = 51 -FixedInputData = d49e5207cc0e425771dfbb4feaf8c90a12dffd730297ac8afc4cdb848133f0013f6b2bd7a4757db534df805f08f5f8a0135ee0 -KO = 39c69c2c5b067c9eb6144e2a89746fd77956873c6f5c33d2749d99c88598e67e9755be0751439e4db3cd856246f1e99c9f472050f01b2fd768695c797ed44e19 - -COUNT=3 -L = 512 -KI = d1c08b981ec34c74a73fa9ae3e623aaa -IVlen = 128 -IV = 064453b3be6869f1f44a66d66385a0e1 -FixedInputDataByteLen = 51 -FixedInputData = 1c6330262565c0c72ab785ac7629520cc4992c5ca80b4d7d0cfaaee0afbde5adc9073afde4b34bb0979f81cf42b9b477fb3cc1 -KO = 2ab7ae0173a83f41aa2daeeb61d114de32675896b824d56528756a458d10ee0005b252905610ab0a6fd6b8ec7f69f88bca8132a041de2d4c65da280b572bde5c - -COUNT=4 -L = 512 -KI = 8b91a8126f9ecbbeffe921f02b48356a -IVlen = 128 -IV = fd87e1cfaf8825ab695711c01bfe7556 -FixedInputDataByteLen = 51 -FixedInputData = 77a85bc3a2b4c8af777dda13dc4cc35fa7a0449790564e800e3c5dc59057cf47891e7100ca32ae0a6b4aa03faeb23eed692f81 -KO = 3df515c157ba70b249f095269fb9535e0abdfc2955f29f9206ba7b8549c62872b806af1c2f27e6facb2556a6f2e62bdf3d9813c5276766aa24c96c25ce09f96e - -COUNT=5 -L = 512 -KI = b36d06041d76f83f5acd4a3013491c0f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91b4eb7cbf1b3fc1286d053b90e43a1a42c7d254fe38f42ab6d65a8abd31f275ee6a1c08969323c09b571f0dfac8efed699476 -KO = 8b030f9df1c9aa8b35d60edd279edac2eb5894ee16bc551527a30efaddf2b9464c9b37c4b90c1ff0d01c263513ef8646cea38bc23cf33a5d66944a1abbff195d - -COUNT=6 -L = 512 -KI = 3ca850a94ba8bdf397dc7882dc0318ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 488cbe505cda054a97b288eaf8af463d9eeff186532568ba457b8ea6045b6054ee022c57680b334734aba2398bc1c79e085bf9 -KO = 7f48e28fe8c69d69e76b7e70e01fddfd994d8e048e0ae8445db667d2c19e0cd1c03ff01edbf1a6b91fd643f5aeb7f6f1e72d472148a53cb7937fa6a983572efc - -COUNT=7 -L = 512 -KI = 364175aaea502ace3ece54e4451e568b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89c35771efcefea5ec6e498dc89b5c54d46a94218605486f137856ad8c95fd782cf1193f24acb90f0aa86a0813c8fd7e2f9144 -KO = ea15cde8bb1e61c13a72e6ea24f21c2aad3f8cac3a4e575256e6e0ac51fbe39a4a384146233a5c7c0df1e60029c5f1fb55990e7feaae061521d4fd693cbcc367 - -COUNT=8 -L = 512 -KI = e2dc06d9b4486df009ae79f138d3c090 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e2ed8e44124eb80663dffdbc2c6061680b458679c6e4f2eee9831fe25fcb703f2b793d13944ca9eeac146cfd6df6a3a2bd8f0 -KO = 23e8655b93ffce8ef625ac0e409e920ea6990cc26240a34c3865ca4e334155d7e5d2233830ec2f80637c90ee62702fe5bdbd2a1013dcffaf1201f1fdb4b6cf36 - -COUNT=9 -L = 512 -KI = 5811491d78a57b4c08864727873529b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd561670168543d9139d1c712ada8bba0aebe71351c7b0f92b785b7992a1725390c2a2c4d62e2c974bd8c25f56538492849421 -KO = 898b1dc61ce1ce3c20e2af0b9b9fab1257c751e129d25a938ed48d50e59d91f77d3c73319e9c2c738f74e39defdb92a456d8457a20e7f434ba84e82fb5a68a2a - -COUNT=10 -L = 2048 -KI = 6e0bc798ac6de388cf45de8f1380065a -IVlen = 128 -IV = 45a3d3fe95f965b53f1b4f68b982a94f -FixedInputDataByteLen = 51 -FixedInputData = 7b0c25612d71c60377d3e23f85dd62eace8edb9729b9797c258f36ab315db6fcd0742d3d9a2689a0b1a2b55efc9b52ad89bcf7 -KO = a9352329b5830bcf44ba49c6c062bbf978fce7a19152880a7cf8bf61d7ab70adefa62d6c9949e9b478b2270df0450911fa672812cc2001bb854ff03d940d3df49f82ea10c1076daaa964565be1fa6b8cd4f5cdc1c99a8dd7c21d1f3239616f36533ac94247ab732e93c135bed4ffea5df2f0a794864580197343b9473b1744115879ef188f16c407df867811c6f2d8a38c7e94157a300f95e68e8b75887f21a07146ac504f528cd0e3d1b04f9eba68342b11ba28e98df764c1adb6cb6175507bbe5d6025ccf1592c29846df648a18aa9537a72732f0c64e6a6a190d012c4c7335bf16c878d63bd547e0717f3ccccb0530cadaa0ed8bc1bb6a0661f08e8b1d969 - -COUNT=11 -L = 2048 -KI = cf7fbda25cac2b743840cad687381251 -IVlen = 128 -IV = f8c81ed0d8296e766bd17a781ecabefa -FixedInputDataByteLen = 51 -FixedInputData = 39e604dc86d0f1b7765449ab4e8bd6e0fe4f2a3091ab2dc5929fa67d385f8ef5c337566b963607c5e012c2a8b8c009d06e0d1d -KO = 1b682c02dc2eb9498cb2929942c036bf76d406e682def6cffb3c6bf8249ff9776d1a7f14d5e510e453b342c3766c1cea4f8e51f8a7dc6eb2b4c22554e4ad2fd701facbb513dbe6cdfcde916280bea608eaf314cf239486933192c4745e36bd190e1658844cea1ca2b2bc7e64343ede61360eca16f8bfa94db5c459bc2ee6e10811eaabab6fafc81457461272fef17689a2d1d85f8033ee5535253964e377ce22ec9552e93a4acdb16ef457860ebd3ce599d81b349bae10bafb33d909e69f2e512ffeb4e72f1a67cd9f869b7bf0d5670d16f3b0c499556dd1c28faa5a877c3f505ad7f2ba3fd178bc1efc252e7579e345b3a40ae5f8e171fb58eede52775e7060 - -COUNT=12 -L = 2048 -KI = 571f84899157ab1e65142524ce06a232 -IVlen = 128 -IV = b07943e5cc3894eceee3ac2cfd72f2bb -FixedInputDataByteLen = 51 -FixedInputData = ca7af1c0015f01e20c64f4bec7ca7b8551fdd44b0f382175e3dc999902503defb0c3229318f619bbb6022f31dfd8c986343923 -KO = c3da69a54dbd5756917b4b460c0722337aa364701f29aa147b2a1b48bfbaaf8dbd7b56d10e522fb001573e4a3c038c95343fd772df3c8a72fa68909f504663d21529c88967876892b90061545e842c81a403ede31ce80ef9cac3973b053c44f309acc902c218797b289bd111b0162f0b974edaa4e70b34a9fe5ca716635b7849df0d6a26ccb0a5d6cc2c2a81a030c7973d3ba7fb8e387dad8e2e0cda27a8f7cbfaadb19efb37c0f933232615c7172c17dcc59f0dbe24deebfbcd00967523b3d0150494fc4952165805a691735a614d24cdff62636a787ea3b12958b8d165c665ed730b441fb8acd54ce13f328d168bc299e85870cdf939448940d852e61863e0 - -COUNT=13 -L = 2048 -KI = 9a363b24ca85f156dcfac2726322df97 -IVlen = 128 -IV = ac66197d71589d0d8aaad1cec6eec522 -FixedInputDataByteLen = 51 -FixedInputData = 5a789e0f07c394ba05a11a5197be36a8455d0e52c2c7658a03b37a80da4cdf131e58005a529e1535a944936e8d9ceb542edc6a -KO = 33bee8b8721d8bee59e7ef6e596278f0bf9dbf30181c26306094000b5d73a0341f36bcf44b1898510cb2c3b441937e378ad472155455e3abb8fdc16c945621a1ddf5582a3ae58fe0a0570056ef1ecd69152a302f3dcde347e53169ebe9b4b58a6891137b544460452cc08133f9645e632fa5a47ad1ab56cfda53fd87c898b578cc1d56ebc5c01f401ad13d430450cecbaa88f1de7a93463e0511db7049155fa8fbfe4366fd9676c91ff0426cc2402a1f4042393223fec53168fd756553ff62982a43ed49e9212ea34996a39c57bff96c98f6b57b9b5e48bbbe55a6d9ee1b93069d20b7168db3e18187ccb040fcc711137182ed8ca457698d2748c0eb7d758204 - -COUNT=14 -L = 2048 -KI = b0a5c29375da8e6a2a71e96df1dfe5fc -IVlen = 128 -IV = 3fe5bb23ce1379ebb5e740ff2dac4d41 -FixedInputDataByteLen = 51 -FixedInputData = e59c036a39d6ee174117cb459c73e3cd2016712524a1405bd00b2e80a1a2aa14bc613100846968d070dda7cb14adccdc50a24d -KO = ade04ecc32fcbf54069aa17cda7ae641f3d1049b731941289147a9e5b3bfc053ef1f73525b689c080cfc29c4c99a15088ce96107f4b845c1df71dc77f6272ac461cf78b1e84c239df0b39d7911969e4ea933f4fbc14fc6c7d854a866419ad45387f9d97e2bc7ae8eff0cc67b184b54b560bb9dca9885d5e8aaa7cee47dbb4b4d96eca7cd65b1fa4739f9d8ccb04b7753ceb9ae5f7954953f79f444b03c14fad6722a450461cf09ec989e63c24e2dbe0b5008f7775ac2ba078a1ab6055dda2d2ea9bba14d46218bfeb0373704ec0d34bbeba988537e847be956f84af4a2b23845e20863baf80be5e986c477632570d104d5eaeeb7e6567c76876c990b0fdf80ba - -COUNT=15 -L = 2048 -KI = 1d900b98ecf78a8aeb5ff3652413a1d6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a711ddd595e8f69bb2fac2f5f02bcef0e2ebf0087eff6aa46cffa8ae9a39e32d31b3284c67ce0c11e434bf732e0386ebf84bdc -KO = fc05a1666459929618eb689b324eea795395abc0359eee5b31707f8d0a1208834b68612442aa78a367c47036a22d9457a1d72d9c7f8efda687e664b28ffabeac29853cd6485a8324372ccbc9dc4e90ffbd21668a9d13e29faaecc03a4aff460e00bd9f8d83c0eba5ba732d912d5744bfd62817be55880d47a6fcb98b23e94e45fd38de2f4c7d4caf9f545957e8e800a463e2c27e2bebc6c5757d24e60adf22edf372a9b591a90c78957d29b30862170556f120dfe172c2b40e7000f2611d9bede2927572bf9cbeaba911b5927e3d6e7630c0548c36bfb747abf29d56ef0368773925e26a72d41d5e716ef669f46ffa90507a81f2a3ed5117bc08322a8436495d - -COUNT=16 -L = 2048 -KI = 17816dd97e8e3ed3c9b8653d5502a00f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 988edaa9737b37cad0787201dceb8caef691223a862eebc5802cc2e3db7cd0fc66a17dd13572e84cf67498e68973082bac956c -KO = b8dc3ddc27a7d34650a43bb870f6a63a5bbfb5713ed54ee0538d6d495a4b462cd9c0b322d28ab299c65b9a5a35032ddf8a1b365019e29e9017081ee81ef657f83275bc30c712cbd17b2d815de64057e2be3341ac0932bf349c572711053636d52da40c02376ea9269ab1b5380ced5eb06d08d2491311da5d53354234e6ccf0b34f1f5dfd49f6144c56a4635907a7f822aee3d9acc49b57e29378c30d3b256a9b2c716e8b38d7ba311320b429459005436340ce381a8169ba569c38290c055a6717e9491fe9b3d6c5d7343a7d97c2909948c38e9ee4c4316f0408a2db122f2b9f7008240aec40731ad807bbd4b61a3ba0d33de07b2c4516f323c099e395917426 - -COUNT=17 -L = 2048 -KI = d3f917616a6d4a59c648dbb83a64126f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 769fdaef85a509feb3ff4eb57024363a03b9480cfb44b6e54d25022ed266c6e2f7bbf4353bf89912cdbb1123245b09462562ea -KO = 56cbcb775098098b8869ec04a967f5b7ed08af159c76af3db057dac4943ddb5faa1e1146b3ab1c65e345b42a0ebdfc47313543228048579f35444579f732c86a25cb9246fb0a4173dd560a81305d62702d167d67e48fe158cda4deabf80339470548d7bb324e3341501b991b0d49dbefdd7bd62658986f0de6467418845641ab11510e6a65b18ea9f3f250032ae32d66237cd1235f6d6716ce97f4aa513523f9eec4c7d7ae978b6ff834499fdd35f4c0cf68945e951d5f59962504285d04bc93dc77a51caf13533f9021abb09741f61733f1595b4b466595f058a89774605ab352b7ba2067085edcc037c3d601b9cf63b2e6c2f90f6d9edba3ad6cc48f6c0fff - -COUNT=18 -L = 2048 -KI = 457191a2d75399a294c6c9538882f556 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 920263f2a72a95549d47e196574e7639e32491bc7549e63a029c0bddf0bd1789f26a42729c79d6101e2f7ebdfec7f5a3d9f8d9 -KO = 421da2801f10752f80a3ade8c7b6489010fb3299b919dd83dbcb61e789d7bc23f7a53d820aa216a1e82846473811a1ef50cf889a591b5815575ef5d3a5c73179bd55c37a896a281fcf68618cc276d30574b294c5944e882f7e28db619e5189a164a0c92575cd352f6369ce02b390f7fa8e969bfbe2e2398aa0686139f3820021f1d0436e0a673d666f8d2d90bff94735eb29124130278c41932db2240b0369faf099b95896fde719866fda7952fc19dc828c50d2cb8c6a3688a51d278598f9379bcfe543d964eeacddef1a5d059188d48cebbe9e1f026632dab30dee3455de9c6fc84ce5f6738d4085009c7bd40a0de4de064c65f435bd7a2a8cbb7207945515 - -COUNT=19 -L = 2048 -KI = 551a0da1643738b727dc6b37418ddb00 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5eab9d9d04f8f8e5a543b40bf41c447c7aeb6d8774d27d71ab736735a45d03ce9dc8a6fb2eb9e3ef258b0defce7f95b90fe903 -KO = 1d811ef833c989f1726162f3cfd9dfc250906a76e701ba5381ba8629c7bfcde8cd192734855584ded023eb9fd319b9008f3559f5753478f43e6dd415c90f977139227d32c761ceda44ad04b40e52e17ffa18caf948922c2d577c6fdaa1b142d610e5d6dfd09130a30259d2d544dbc43552c01b36e3cfa2debaba8c98b92d679e247012637be015d96de9e414e7b90c13f15654afb5a2651ee5e1c1dd85b4e203467d2652ecca48a6e038bee9f49df570337491cd6a613a11b89f618df38dbc915edb692171bf1b6889a9ff36d2588b765e54559e26b06c1be03968473c46d4638c355c3c75eaca14bd513cd28c9886af4394e516b1c6cc9bf7c58c8101226974 - -COUNT=20 -L = 560 -KI = c1922f6bf0ddc872093adeb2716c5549 -IVlen = 128 -IV = d25675d01d8341821b7ce5a828faac4d -FixedInputDataByteLen = 51 -FixedInputData = b9da620bbd732c4a5a684c0b950ae1247bca80c5f02c875da0d589a421b4e13323ec0dbd872993e5e1327430401bff6a3bdf8c -KO = b63d2bea82b74b9e629ea35eb6e322ba93c4b683e78f084b083165a801990042067b1210d6c7c9ea4afd381a56641330217cc5f4cceaefe3b85f7c07de467677785e9ec40939 - -COUNT=21 -L = 560 -KI = ed7da0ea4700ae1e0da83a08938c6752 -IVlen = 128 -IV = 75c7525a4202bc6c2b7b997814e84754 -FixedInputDataByteLen = 51 -FixedInputData = e4a4c3021f79e02a2ff408f1407f042185159097fbfb459a175991271d5d111e151187c90ba3bbdd97864fd2a03986c019a51a -KO = 7ac1efe0a13de604aa7f69d455fd77989aeda8756e7d38fabbc291f9a8e703fa7539d7a92ee74c8b9c917e5417bce472efbd5905a0e4f656acc7258b6dc828f3f1f5dea0a6e2 - -COUNT=22 -L = 560 -KI = 62c4c272c524b90e387248e16e7c0254 -IVlen = 128 -IV = 4e4fa8d131d3f01b97d9a61aaf7a88b6 -FixedInputDataByteLen = 51 -FixedInputData = adca075312d97cb2ed2dae3d3da792b004e564137826e107e084eca12a5edbf5ce8e373471bb9fc5456703fd677a87568fdaaf -KO = 675ba674c24a14cda32903fb25625dd184750e4e1c2b2944ea12609ed608a867fce15d28376c2d277558308a594c3b4cf59a464617ba19f37f7f96d77a4068f935d93d8c90c1 - -COUNT=23 -L = 560 -KI = 67112a7de9c62b7928377e8b963197c0 -IVlen = 128 -IV = b42ade5789ab031a6cdd60901d98e9c6 -FixedInputDataByteLen = 51 -FixedInputData = d9b03908a9036e815ed230355308ca47ce9261948bc578e9cc6c008639f8788c0e76660247fd0f8595f2eb3cc69f5140aadee2 -KO = c1424fca233aa50bf6836bbfd575a09660541c79c533852d4b0f89cfea0ff23741c35f46791a997ead1ead16e5ed06a11459539c89aa443b3f8541c93279ff3cb3e98f9791b0 - -COUNT=24 -L = 560 -KI = 4f0b5412f06b49b2b1266fe24b3db0b4 -IVlen = 128 -IV = 9083755a9cc83d0ed0057e5dfab659a3 -FixedInputDataByteLen = 51 -FixedInputData = 26d2d76b90ecdce88cb70f89050140b08d715d4cf211f8f6765b3a6caf7714c9608894dd31bc9de874bde58d176d5a9d458fe5 -KO = 745b176f940322637d184a8cf7109a0f60a5e2aed437a624d54263ac720bcdc62c50051eb9664641052458160be410eccef943d5ad1aebc6dad26b3524bbe60e52fa0422b7a3 - -COUNT=25 -L = 560 -KI = 93d6c4bafd0aaebbdea4dec9bf405487 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da889b6b52c7546a4f603d8f8dd61d0155c95790dab18b51b2176b578c7cec2e68eb2d06c1f0f532ba0c155360d5e3651632fe -KO = ea2c4fda6ac8ff971e773ebdf50bc056dee42d43bd920498f1c2311df339ddcc5625517a40a83e3f18300c74fa5952cde075d0edd91954ed768813cf0830076080f15832dc8f - -COUNT=26 -L = 560 -KI = a067703f0f31020c56919fbf771e60c9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d5774e1dec937b1545e8982771706f2933db6a4bd63b86e8d5bf31ae49f44bd815fcf5e1e919beea20164cfee7f6c933ddbd5 -KO = 06c85c7fee40af46682748c1ba3d4e94eeaecd0c56d88855f39e2723aabd94206ed8240e1ab6b5b5473fe11d0d0a226dcbf53175c9a6cbe8c957aa290cdd2649011412dc8611 - -COUNT=27 -L = 560 -KI = cf1992e421c40648c787544c283f173b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 461bb3e2ccd689dd413b7baf0364b3155f948f60280abd963a4c41ed95428bb7f3e7e57c6ac3edc662778766f1997781c52e9c -KO = f0541c96d07cac60312f9bc57701e06a34d4afff0439a4a5ebc0562750ff805a257084d1b9c3a2acf2ed59f2df80be5c7340f695290ffc830534cac2fcd0dec1c68889a30390 - -COUNT=28 -L = 560 -KI = 19909ded52316d7a36c2e03fd8057fa9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cac33404a6a22527856bd7cc3730a49d7e28c96b5f0b06d978d81a3044053e02efa81fd3ca579375899c700407373acae5e5a -KO = 3660a525aa3aa44681d799e5b6a36b292cf2bfe64f61d8398e6f89489e65935194641d9b90b9c78d6d11c6a23121d4bf1b8d8661e8b71d5b3f43c9066ebba70f238144e29cff - -COUNT=29 -L = 560 -KI = 38c0f21998de2ed17f71627c337edadb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e90373aab1c6700658231cca16d13976556d1eaaf4917e127707cff9108f155f0fc7110641a36033a066cd650f586aa5f8c3b8 -KO = 44eaaffacd796a1d7c96849674a6dad5fed2bbbfec24f2a3da6181465ae7cefd6878d76f9ddf2886ad5c4be8faaa9b7b416682464b13a85aca85b97a6dbafd6b52d954085ec2 - -COUNT=30 -L = 2400 -KI = e85bae152e7d0e84a7c0ff962600602c -IVlen = 128 -IV = f60f421b50afb490f41b7c117f9d63fb -FixedInputDataByteLen = 51 -FixedInputData = cd49cdf581b3ef5c6783e04cca691ba8700b12f193ea686e73c75374d6c1de688850e7c4a3522db57866fd9cee02a1212506c2 -KO = 27bc2415fbd0d3085eea476ebc86329676e15fd81f372df4d8d0eaa40ffd4cb506c337bbc700a12ae744b297ce3f8b90b779be7726793a32d8641ce5c043d094487a0677822d0629434e27478b64925a060a90a3ac7216b559520a76904b65cb3ebc3d5876dbb3031b9cfd95fbbe29b84575b1de0382cb9a1376c8e72893b4196cedf42f784da975f4ad31af23e39c375079ea3a77aa70265ce1fa99db4696621225c78b17f80e83c2d779b7106331fffc64059603d04cafbbf2966cdecfdcfad8bc22fe08a7552450bd33cd984bbf2b84440c24085707ad3cf7b2c9bb4a2eb7f7454e416865f7db9a98b454402e64d899b1a8035b144ed0f9f5e46a199cd3dd9ccd8483dadd812a41099b488f98fc4f25532733669140c917bd150395481bdb928524311695720f8f35eb15 - -COUNT=31 -L = 2400 -KI = 363b307c428c370687179d098bf27208 -IVlen = 128 -IV = 3c562256f9cf91bd7e9a2bcdc7671d0d -FixedInputDataByteLen = 51 -FixedInputData = 3eb4931af4beeadfa6df8544e2ccafbea922165340e09e31126ece5500199e5cf757095ab8eade1e1b276d29acc7c310e3ab59 -KO = 4d59f89762e17ebf9bf7948431cff55b6aebab52f3655fed0a60d3722e2f98e2f3bc1817c9485bd2982b8b34ad5dcf7e96cbcbe31689e6b4860cc757af448abbc1686c6cb94d51b492d1465b25253dd0a5e0768abe79018b1d3c3d1e68e719941254ae1940ff1eb0ac8c175b32db827884dbb32b4e63532f2b9c091007a9d28a98c8034937f165cdc82e9892e0070d0f25518c0f6a2c9ce0cce197abaa138b4a7b0ac1cdee91717001efa4e22007dd826eea28a08be0e37408560dc174841408ac104b7f956a35f46bec21bf42b558c056aec6ceedf269bb9bbbc456689bebe1a84a466cdedab30470028f60fc6f29aebff8c80fe0409d4714c2dcb2e1aed4375d7fa6b1daaa677a536dcb412cf4f40d35431db2edf5beaefad0218e7b8454b428593a0674674e5ee6a413ec - -COUNT=32 -L = 2400 -KI = 6366c533cf357133a15700455ce1f9a2 -IVlen = 128 -IV = 66f86a60ec9882fc2cca08069aee806f -FixedInputDataByteLen = 51 -FixedInputData = 6a9eccc62614dd47253fff4210eb678f212b358b45a820cbdd99fca026524c552a548029ee78bfa5e67ff5274303fc0db8abc9 -KO = f89ff29d8dc37fbbc655851ccf69451f249008d34e3c5aced802029dbde46719e65762e0ac1ae0ed4b61629a81ffa8b15057ce0867482b7ae468d136eb960e33681feab52efd4b84b8a84510d5fc8b92499d36dc8c1258abbffbe2e1924eb4d93542206867fb3c3ba73a9de117f1ccfab389335f36c231c04b38aeb7d51fd00348c6ebaf5a2ea472c1d73f5af9c8ce033cd4f9d0dc28c56b8ef1cfa6458b381c18f38699c1a88f6856ed49a129e7b430d2e2ee89495ec0b3a96036824a512c15b50a3b5490f76f798a6aa869e1cd2471783eaf67faeddb45bd596da330ba41dba940bc7d6332805dc3e81592dbcb0e70c0b324b7684b805ce99553fa711404646604e61bb5d1cd4d9682b3d2864a622615e50b82eccf1f653d9223f306654f4c23aa88d9e64a757d74da7f7c - -COUNT=33 -L = 2400 -KI = ab829ccf6d4cff9a23ef54cf8bfb123a -IVlen = 128 -IV = 52abda1d24286be25c1ace3c59e910c9 -FixedInputDataByteLen = 51 -FixedInputData = de900448bc2b9a3699468bb005dd911c247fcd6bf72873705bd0ad863a7b322e07930ef956d517289fd2c7b96bdb644706b789 -KO = 397a6557f45c1d2d25679f0b174c47a7e488e41f3374b950f484db4b42acaf568d27599bfd5c17dc1465e76fdfcf99ec376d4aaa126f4abfa246ed90df6e1c6d40b2bd57d6b7c6a93ed3e201e2b68a9121532a6f37268dc5575038034ca8cf9623f27f43d5d13f2c7df06819dd02dab30544c69a4aced35010a52107c70d4890671453512e6ec84f024306967a861ecbe778c8dcf379b79afbfcb7a85e35591882ccce9dd50d4a5ebc4e9f7bb5770df68b74d23ead9f9ddb2e78a4d73d2afdc71916a17fa5b7028c3db20e8c4e459da242fd8004cd8577d14392465b868331fca4a0e7130a4250dcb4f38e2e6a1947b1cfecaef37dec51a6d49bdb7431a244ee1d98b159fa7ad20bacf160c802bb5da3f0c1aebdb7c47927a43499b788d0ad6b9ed0139a2d4914c15fb08223 - -COUNT=34 -L = 2400 -KI = 0884b5c3bb14711942e68518a17e5338 -IVlen = 128 -IV = ee42100c80ec5768c59916d0844dc695 -FixedInputDataByteLen = 51 -FixedInputData = 4a019a718ed6378fa0d696724fce22b7433e956209da5705f86e219a5206f9aa95a12bb5e26be9e68553a45efe372c480634e7 -KO = 21e8bc240af2aa216b7ccaa41c555c4dee0570d106225157df85b82e1da08533b37b12708644f95f23a6bc8853db978e4e60c72970fb96837e3ba0fbc0882118e3bc6fec0d42748adf0cf123468e7e6ee85a1324c65366eb53cab014752e71424ab1d76bfe71baea3dc3367d4d5fa333be22c4710e45fa3b2e63e6252439677779a410b139c91dc52c240d15f36e437bea9ad3dbc5140e9280b33b476656a7e24fd2c3622b4be96c3195ec3a5477f8be0e4170a25989144f8cced29186a91cdf4350a87ad3ef281385c89597b5aa42f2ede95c2d4f66f427cd4dd46abd846f250d2825ba66769db56e0f25d1d2542b1989834e21671eb0f4009c4e5fae6df434ad010f9712de0c48e74cbc1eca7d4cdec9ed90bbbd4add05e3d96edddfa511878996ce17747629da40782644 - -COUNT=35 -L = 2400 -KI = 245d25d3e746d8ad4a2365fa56f8c188 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d477db833b5414b90290fb821b9b8ab41ab98bbfd9e1aa9e657038efcedc83b75c112a8af4d451d2d4c63269c4e0e548143ad8 -KO = 5d0a2cdf25518df210ff75291266243d679c77c56fee377d642df6d9836bcd60bdf464131521d31a92b48a32340997cccd49c05e709509d4446cbd1fe2a726beee47d66bd2fc7bbe2ae27dc6e18b003b4ad0e0b730e177e581d32484b36c1dc57a4a58d46974862c5e4a9649864b1bd021aafbeaedede22ff31f7c52876ca8414cbe4984ade2c8987ad33c24f02fc30583804fb5efea45860db354a74213edcab435fc0d932f9ada9efe8032bab5f8161a3bb868d2ca6b509f664e5a9918977af8792d490288dd82950d50dfba1738d054e58a3477878908e11a8c4501824dce57892f280ff65528cfaf6ae2c968ade8a0ffc6e28a34dad3af667a5062a28a6d0599bb2b3769a6501647dcb33de17533a389de22773b4386a3db0ff4254da3ea6b936f5398c7199571168f2c - -COUNT=36 -L = 2400 -KI = 2f4e85dff80c825deb7a71eec26799c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1fb8cc3181190c1102fc37ad9f44b5e6d927d4975dd6dd72a1b86deb27aa5aec0ab4a04ca9ab98660ce6db3cb9e2d1912cfab -KO = adf84b96410942a54edb50aa96fc8408e96e238459c46fbef3ded3ee0fcd7bdfb3b2035dfcb323fcea65b369bc8d1bd71c0beb8b052b497d699bcb2a9a97796b3351a3b072165aa6a098cae170b37f19b7c23abe7404d82020b23667d6516f44bd27cc8746d16b01cf76fe765580d51d400ce0a5f68a630ee7285eaddf537690d21108c68bcf09d19d69bbb580dd2d6cfed1eb292dde3c42e4169e38c9d7cd484f92bc64ed379e4124d4341a2dd364d4f52aa6c5b0c7e59afa7a48d83bf301113dc1fb7e3cf17753339d92787f104d3b34d2410ebd0b40c93a016339de11edae29ec9390712b5e470133569c63747dfb126dc2ebff935a8e6f02a787c968e49fe9e2f021c079439fb24704ced333529d6ef38df28be36527121783ee73fcec043a7cd2c8315303e76660c3dc - -COUNT=37 -L = 2400 -KI = dbf862ed5adccb9c5a0fc87b5cb7ea85 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58ec05e7ea030dfc50fb9c52e69d2303fc9b5539fe4282e78645ac4af3fe8795e91219a9712630ee1d17076ac7e059ea42a4cb -KO = f3e8b763b516d7f29fdb826e15f28d1bd11c5db2ffb5abbca0c5020abecd5a773ba60f763e7ea6ab9a4abb7eff4a05553cbc767c5411fddcf175be4119142f1aae3596a0761faffaad09dd317ded0cfba981b7f5a4afe8c425129231a2ddf15ab177c8a9495f7cf2cb5480178d61d8e95a2b13c637e1edf99f4b3269d50a23f7cf058d30bd7d513a055693b3bb00bcb1d04da9d90f6deb31ca67e5ee737605b8c26ffa5a0fa99ad6f10b7569245ea868706b7d9352df6552a9e07893ed0e8360b970781686bb1a376cb21b340266f8dd6eb5ba2589c4dd508319611516e32b3547cdc06543642959714b47a46be6c73d322ee534173ef3fdb8582c9cfd49546545246f98acb5f65211af7126a8f8c4fdbbd4aa29e3487f02ac663ca60381003b9505b5017478562854623b60 - -COUNT=38 -L = 2400 -KI = 7a08a274c4c17a00c60f81e812b44e33 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 22e298deb91a5ecf6a23226b0e473b6dc46feb21093468ffc0246a3335d22660bb5f12610b52cf4564d4826c2a81365fcece1c -KO = 0c18e8a0030b637ed0a3645c9acc528ff36e6d4f0605539827479745580982191e15315b308ae32facc9ac3a68a2a8daed25c5b225c73d915d96cca4b0103dba267b99697515511f84540d489aa6382b46b005dbf562dc23ed64d4ac2a5f67981a15121f6db458d4705fd096879bd713799948a6243f5fc48997eff56bfa22ed06ea19440de0953600d8ce4639e4d3afbd7a8ca92cdd883fafc1e8f9221b6f941a6370f20b8dca6c25814eeab7a52cb39b4dde749b8cf5379fd8e0b14e9f6ff754a542020078cb834eaf5243d8414fac0016afcad3669dc200dc88a7529b85844636518057b25dd6793011c26b529f03064797f0e774dcf7e3341a131c9f0f2a8b14118c061954f5f1536501378aefaf3b68c6c412cadf0d7a63f67f60792df6d2564e2c4bac3df7d53a66f6 - -COUNT=39 -L = 2400 -KI = 37cd8d2c89ee4b3e27614974da27100b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11492890e465b8c0360a780cafd0c79ca8db249a901475a25f35294dfa59c78a0e1edb15249d757a7d680fd7300d38996dbe3b -KO = cb0655da8e0d3bca80aff83248b495046c2e8137368e789692cd31d43657f90079bc3f44725604140a8a9daccc3e6b6d5069427818f9e5b507fa92e09e9855fe27f812c4a4610f8bb7f20cd2df59ac1e3f38ae8793b38ecc09105e9fafac8a45b606a2504660f77e6b4a4544793820518581234af513876c6c0375e15a6ef50b42909ee08d6bb1c502de5598e402cbedd50fef0cc430a0e29716ebe5c3deee5207628b3152dacfd55533f2d210ea196af83a6d0d41c68c957319e211c2582f14f90f653bb3aa8a5c068209244d83c07e7aa0c1694fa8ca7ca38e72489d32e56e5e6c6f41e0ff65689e1c8db3360842cc5ddeaeac1d8d9eaf40c7f863667cf5bc9e1c4b5237d2d2ecc76f11d6e1255b0dacfecce8fdd337c10f150d021daf4f53c6d7bae9bb4db623141f6055 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a1bc954099127279a9a9b80f9e79f46d -IVlen = 128 -IV = cb05a3a7cd83d27dbcc3e77959a8989f -FixedInputDataByteLen = 51 -FixedInputData = c15a555b46a126f7837dc854c28d92a6f9e473d14cc1536e2f1dd5d016d8e4cf2ec179a7a093e8d95ce054bb8c97dd6fa53d11 -KO = bff9c861f11b0b0a52014cdfcc21bc785b995828564f0e142e6aa240731420fac14c7a5531f694e3b868e4788ecfb9f7cc332e0d91cef1cfc81254ba2d7db756 - -COUNT=1 -L = 512 -KI = cc186c2c5c46db2caa8f3245eb6a5526 -IVlen = 128 -IV = d12044731fe4deac6cbe44df67add29b -FixedInputDataByteLen = 51 -FixedInputData = 9a4e14128d97a6f0ce4d7338f0f341d092169ad973a9e63738151ae3d6f94a136f33ab0f672c9b6cb4381a524d27c8995af5a8 -KO = 11202a86d11808929bb05de083cc68e531bfd5d6a93ec3ecb1c03417b6e29366ff10ddd101cdc111335073fe4e13208089370c293fba78c8fed33f853dc288fe - -COUNT=2 -L = 512 -KI = 547297020b90c86aac4035169fe4746e -IVlen = 128 -IV = 690a862760f49a62df6ab70dd12e5ad9 -FixedInputDataByteLen = 51 -FixedInputData = caeb1165b31ceef02b6de78da55293fe5f093a0caf85a0bd41981509bdfd530f244dcf9ee567a6b0acef448ac927f4167728c5 -KO = 7a5262074b28a7534c92059a551c972aa3956a0252126757b21b72f0798fb7549f81e5858e1875bcbe13dbb82413d63d43c37a1d4ea2fc62c1736bae35fc9a80 - -COUNT=3 -L = 512 -KI = 99df11b8a67c283878ff6cb6ae6ab19a -IVlen = 128 -IV = 5c13c86ec95b5dd00709d1c71820a84e -FixedInputDataByteLen = 51 -FixedInputData = e98b91f1687f7838a4cad32e09a17f04e0738962081064cdd883f0e640bd8a2e66f1598c74859c49cecc86b4acb6a5ce9452dc -KO = 50d914498bcc7b669bda42df53bcec7cd4cc6dbe56d30e6371f9b75d59e2035d355d0204186a2e9b0ba62d3f76dcec408aa61f15c7abdf1a0ba94afac92eb00a - -COUNT=4 -L = 512 -KI = 6836e8b6989b45f70e2e7adca18f4f46 -IVlen = 128 -IV = 85b87722f12a0ee744293d622d986e93 -FixedInputDataByteLen = 51 -FixedInputData = b2e37b47f0e282d091283ab38300a57d6c9e67446083ad3095535e395c7c76f1df8304bc1aeae48c15240f551c483d9dab2b59 -KO = 6a61d44485e6892442415b17683c340c4d3a8cca2a67079930af8d51f0942b59f89f8a01b71ada62ffb36f78f0d273f1adc520fdf4f054da87baf5725bee4652 - -COUNT=5 -L = 512 -KI = da90d1d673ebce672f48b03de5a8bd15 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6848cb55c86aeffad94514e929c53f9690902e26be7baaa8faf19f7dc684c32c989b14114cd8a6aec53f23094682c7ecfaa6b5 -KO = 04753e2e5473875f7ea1baee85bb9d38b4040800e4329bb90d1829c5f1d9ec243829787527f564fa9a9c8c6e6c0290f1b013826ba1f944b0648733be21559eaa - -COUNT=6 -L = 512 -KI = dbf0d14de934dcd730b3e560c8b5da0d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd02d7f8bcaa48f768b28f2130c31f27ea4b7486fbcdb461c58f86803c2c91ca5a73e646fd0a68278b66afd767b8ee8c58189a -KO = 976980746a4acd29303338e8b256c93d75879272f97ec49199ffd964912b6e5bf08e9609416a1f2fc5791c47909aa14f45b25fc23348561406f4ad7dd9068899 - -COUNT=7 -L = 512 -KI = 813e10b364c9ef099d88016c7cf68c7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04264e9b302f006db14daa6de7ae8eea25eb8415aa26173ca577e2d462de1bedcfddd587b877714bc7e2578e84329eba4ca13d -KO = 1f9adf996520c89359fff89bab13e9f3ce6af282c465908789d1c51af4ad89a366090f1cb75541d6cea6eb041e2fb825d30d284cc3846259b8fb7dc1f4ee383f - -COUNT=8 -L = 512 -KI = 1b845cea1f243399e99e370a03c8ef64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d3d85f45b0116fbb6475c93f26579c8f892a05ff6137934206f564a7575b9de63441e4f16b7a9ae986fb9bca283b13e751bb0 -KO = bb437cbf9dbb299075f7ffa753706ee2e4f28fe8e128b084e3ba16f92b6a5c6b6cc2b9cbab13596d1234c3f41dfaa8eb10d0dd05bbfb46163de07f589fafbb85 - -COUNT=9 -L = 512 -KI = 00b6ecb1a3cc09aa4dff1686ec4e0020 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8331e59d66b32412be4adbb104341247a1d18697defcd158d21fec8866fe0f4b3b49a2b7afac8e05182534ea072c1d72aa8f8 -KO = 269622d88b91604646ad463ed135048c0bef2f395b22a680861462ea566d84a9501e0464418665bb2461ba3cd7dadf71cdeea99feaeb0ed6ef4f79d379707ed1 - -COUNT=10 -L = 2048 -KI = be0c3514a1dcb3f706f8175827196785 -IVlen = 128 -IV = 37691a77326076eb1603d7f52cea77a3 -FixedInputDataByteLen = 51 -FixedInputData = 73ff67664b6b7132b54e5363c3d4be6ead7a55325a30a0ce01c1cf7946435d08dad02bd49927b376041cc53480852cc7a3ffb7 -KO = 21a0068cdadde29ea5f2dcb2988c04980d173d421f2d6b3c5fa53b12f78a8fc1f603884f666203837c9b7117a4b2f8109879841229d77965eca63b62be7cef167aa04d6eaaa2d1df336c21ff76f7a8e2aee3ebc41b22a20d7835cea099a53b336ecebdd1524d852c41e2ff2ea943f3d7827856554ef47e7673e5304d5acbb3ee306b96ec9d583bdbf1fdf2db73f47f79af30b942ec4a9154983b0790524da89975b4cb450993da906e806ebc21f5eb0c7887dc9f4915357ec9129eda3f04d3a8962f94c63b4e4e43d058b67d927d2246e50eefaf19363a768e13a4dfd300c7d3b33df86761c9adea54e5026fa4c3cc9e98c57129dbe712fc4be69cff2a067fdf - -COUNT=11 -L = 2048 -KI = e91c1d501464a99ce97dbb36e2ad835d -IVlen = 128 -IV = 94d9e25e89aaa95fbaa297b15ccb050a -FixedInputDataByteLen = 51 -FixedInputData = 32e1e9ee040ef20d2c1962e7ac3d5ab4ce142ada2b33b943c1e0938cdb9b6e211004b70cb440c63345d7dcc3bceccfd925d61f -KO = 9baccde51d5e89e94ab1c6f9e6c3a75acda9a6a2d324ae7263bfa2c8ea344c178761443d80ebfc479813c272c3cae331da5a0960afc88260405589d110c51d03a0284d3ba15ae706c365f90f53788fe5f8e26aef3e0da0ac3192d720e0342c990d06f7a2ae48209ddeb7a090c02fc42a8854d777c8658dbe34b87111c17b813e8c2af0c809ccc0aa98d8580e47cf23001f8b23a16a62bd5d88dee74b6e19f754cf711ffd4116a4ba27eccf7cf55ee770af9045cfb0ef2eec4ac51bf563f463b73b4fa95e46594d625685d409b40b500f6d579928c35347fa1c5da4b07e3b511346560940ac8efacdd784d909a7338ea7f60c4b67cc9fd99d4f4700ad798b06af - -COUNT=12 -L = 2048 -KI = 818c8f9f35bc3a56595088cee82fe38f -IVlen = 128 -IV = d24d7043aeeb05315bcb2347b9f2d961 -FixedInputDataByteLen = 51 -FixedInputData = bf0b4683f163c6d2a7831fecc94cb01c094744ebcf166bdd4fbdfc2a62b1532745dc22996e708892302fcb602c4c9d45a4c2a3 -KO = e41f02b1c18b9e5d57506695b2e2f00f8f94b53976901bb611ad9124f246301e7ecd8c412cad256bc7ebb200b6d15011a90a32222d75c186a5bfed8585bf523f75ca42f75644717b441af1d3308fa4228ee65ea5bc5502805794abb988cefb51cd4996ae93e28cfca89c784fd22438689a0793dd0e5923893caf179b6760b4d29e19493877f1cc7b354146f149a4f302f896909ed82df15a3ccc4c0dbfb66f2cebf237bb7281139aeefd271257e8aa11e59b656bcdf8c3cb68de92672dff507e6107aca5dc9aebe67ff35e71b400f512f7ad7a8dad37844be7ff99aa059e5642bbf03343fac24614f2f8429660683e33ef6518fa47570bdc929c6bb4c76c8dae - -COUNT=13 -L = 2048 -KI = a77816bca39297ad01f3cd58f2a1fb80 -IVlen = 128 -IV = 1587c2d25e2e2de43f1d5d4d9fc3d0bf -FixedInputDataByteLen = 51 -FixedInputData = 22cca3edd206e97e4164864b55e962392403da97bfed99b96a3900b0856058ad15af12b544f41cf611ee246b53277560752bf4 -KO = eeaf10f9fecc7e48e7475e2c23932b7c87508c736e1c86ee780c98a97ab3ecb005330f91d087d294de5e1c1f1448b7f6579de98148f79d99dd74b2e72ed406e8c22150c6a41e061872b6cb052fb243fdc69be85a0924188e5b276edcd32e895260ec985c12162dbd6305a40d80d367bfebcf3a0a0d8aa7bf2d6799cf24cfeefd1ed891cb1d75705bfdc318250270e5435ac3874f0d64627a0f79c7d9424feefbddb45abb324a95bd51b278dc01c3b89e127059d276ea20d9f40c1fceac0012962f82913458efe9de29e32ceee2ca99874d416f6af74846c38bdf2628ac61771e3316298519c1e67d4db8252592ace2006e15d17e3d9a1655beea8da607c1c4a9 - -COUNT=14 -L = 2048 -KI = 08e071c701c980f99b6c2aab9695f7bb -IVlen = 128 -IV = e0f459c0cccf31d871778ab50e9bbbda -FixedInputDataByteLen = 51 -FixedInputData = bf985a2b8e0e41263f6fd2fe81a508d932afb7803b7faa9085b92761b589ec19d11e63b7a5bd9e414c14de95404897bc815148 -KO = 8ef6301370506e55619021103c5bf21be5eea4763d3b32987b0575ff2998c6dfb7339d49f440fda5afbd2a280b70db34557c438cd256091f767c166b27d86c14157db09fa87f2887cbbfdfa7fc78b90a879fb8177b343aba1d966015bd169103395bf9a5c8e9c0b162a6b363ebea86b9612192663222d54142945856d932809ca1ff62735cf13b2fb4f77ffb9dd63a65d365d5762493c7d1c36aa0febe11da86985b2270ba462e623ee63ceae7168f1b88afa6a89c2fc0bb66cdad81955b4ea57ef66b1dddfe9c08e5b7b7385dda0a01077b3a78c30b95c8d9c989b7b5cf805193a464d8dd98c87a35a5caec9bc056f11759be2b9c0b8e12eb0c68ce773be365 - -COUNT=15 -L = 2048 -KI = 8932b7a2f8d53f6beaa17dfc321b96bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 70a3038133d6bb57a3b92edf681c0014e1b20f7726f5ccf8cc83648f609407362113ea2543f51c10a52531fd40d79b182261b7 -KO = 0b8c513f19ff2a10b5fcaffb6741d9bb43b9941b2253075ba210c17b2c04a6d7fa0dd00ffe8a2c0265d93c5f7f63cfacbfba5f71820e331a5748fa7821a0b866ee2f16202ba12a01233137babdf6e25774c118f7f495fd3ed5b88251e6034738cc3a2e1f431fe2f81379fd28383792fd32197cf4266538fd555669bbe725b21fd7218c695a571be58479e08ee678d90e2d3b883c7626a4fb8fcf0a137a3caa4f47daab2adc8fff92adae253669f33b1c90ab9d3aec80b0b9c0b49f920a6c98ba7a298724efd3b84f239dc97b20e0ac9f4754a724df7c08a6d3a7d7c98a0070669bf95c74e2fa52305c3a03dc63e8eeec10c1efc6a1e913922f5a6527d5287e98 - -COUNT=16 -L = 2048 -KI = b92eb75092b060d10226596bb2188be3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c287aa4a18c6a8f799b70ed2f923a81410fc2344d92b094c56797c49fa710a64614f1aecf5490e383539d104a9f707275fabb5 -KO = 5974ab6624ffaa19f2c3c32d0ca14ae75d68c57489871b45bdb24e422839095f7389d492751a4d94b17841b39e0e17b1f1636340670ae9a61ac1516d1c12dd20cd4108cfb9eca32f6c84c73d27f9f0e07ef63ce97bde3baaef44734c42e1256b43aa32071c9842a5e1da8c429c7bae4f6804e3853c7641f106e44a1cba791bcca3a025967e320bf24f5975300fb89b1ad462de29a840f7183814b5319a7a6c97eaba7e05221ac3d6774bb2c6c35792dfc13efde6ecf6a509468a809bd6bd380ef4b73e055a50ead8b0f1f0d8b4a0c2cb7f06f192e3a37e88a7611077c311e30cad6cca8fb90d49234079de7b3087d35e8460a40e06dc5a6942d0031df609b892 - -COUNT=17 -L = 2048 -KI = ecf12736f89e06cbc4db5cad55bfd8b3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3bb7ff78936c345f272992c148d31a7ea7f08e13b92686b4b9b6fefb307f066df7d18e54bfe17bb76a4cad904e02529fce488c -KO = 72866a12dab831c16e444f544862cce721cf6f85cff4cfa7bb26e6c5098324be9e87a643521bee949ee6e69a508aa5dd6b6d345e4f6c1f8244c98fe35b3462466734b30bb28c0ea47c99d4a822e1c6d485e223e5e6c7dbb084a72b0a15a582ba2eadf822524ee5b7786dba0c2f15ca08a1d3c0e4637e4babe37f6e7d165d8797aae62d2cf27f46a3e496b4270798ba3f9db2e69b68dada56c9ca784158e30e176c540e5995cfb0b9fdb4bf929be8749d70dc2f4cdcf0260eaa685f38bafd2d72bb2d482970ac3d295dc2c8bd267eb71da01236055b30835dfd3825f034a6c2937b4740c9687c98a28f2837fb76f774108d64475cf68a11640307849700fc477b - -COUNT=18 -L = 2048 -KI = d5a8079f1706d8e653a5c231c7b3ebd6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8d2aabe014bef565a37ad1d8447d572e471e83de6c0828d58469523f157f4f00b610632b0ae931e04beb83f6f18da313305e0 -KO = a71c04b3ed91a63c868cbe4d75973ae3d1b197a6c116fdeccd2b307c2e2c88282c16227a4ecdfc438e43aae8427d985384786321d970402db5c40a2cf652980f2de38b9db5a0da170e0253428cd3c1727fed865cbb0b0313ce41b77c5f4fbe0a697c1e9a28ef73e73c2cc99f5fccb850cc3347b76f869fa5878199c68c5cbc1a61c385f13dd9a28c7a31859ccdbcc70879e805b5357da70114ad136d060e54c677041e0ec156f190628e20a02518872db155500238fbd94bc4c094385e3d5ed081b7bd0d4824e42321ab4078d9c5661a49598657ffbbc650c0e45916f2b8ac7ebd1f4cf3511fc72b4924c9e1248b463d1764e68bcf70faefe659a5527da42a84 - -COUNT=19 -L = 2048 -KI = c0b17f0c6d20f80e7f2433920ddd4359 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d707bb82e3d0f7b7751a2ac90f8d7350466f0f446ff7fb102b07198b22d6689c88a706d8a915cf765a7f47be51f9d340863f5 -KO = de4cb0c539410ab56bd0e1f3dfb5884cfb95f26c2df27d219f12e5148e76086586da89178132310649ff4185a4bddf8a47626703d8fac6a04c60ec5b317b3b69add3c1abcb17d9c963c8a68e05eb74d49afc32f6af0fc1e7700aa62360f685bad62831b32cd028c60dd8647b7c60e6cd7b81882854b30dcc209e72be4ca8c9be782d7fea5193b049879388c202bba93efa94a01e42f58031a0c04681e8f860d28941588f340ddf7a17767ff82aa4c35a7e313db0a45d2db588a8b93b5d311628b295f45264596aeefd27a57f741459055dc4a1a68d6c25cb91e5ca08ebfa03efec9ff22da0565b574a60e92b43c33c90a7c32b68b6bb6816372169ce58433911 - -COUNT=20 -L = 560 -KI = 198168def579cc16243509e77bedb901 -IVlen = 128 -IV = af44bc00f5a982cdd3e3c7400c9c99e7 -FixedInputDataByteLen = 51 -FixedInputData = cd878a3312186a661cca6e4777fa1bb064710739f703777f0c48e2444ab0db29c7a7f165792a405c15ef5fd433df0e34c50485 -KO = f84478e2539994bcde1234dd29c91ea241f0824d06ec44284fe09c15593d9ffb57e5d49fb386471353925eb1be3af045232718c0219d5253efd70ecfb43787f570f0a713d23f - -COUNT=21 -L = 560 -KI = 04a2c923383744191f9950901cf0c8a2 -IVlen = 128 -IV = 69d37135127a21f8e8137a1b2a732103 -FixedInputDataByteLen = 51 -FixedInputData = 1a5f468a6fd9f7600f7170c0d4107395c8481efa3f7c031b2cbb51d04275ee10e37a0993fdd8ca613d474cec7251c5b97802cd -KO = 4fff100619328734568563b0c1ac5c99e8b2a5d6608cc41d03434206b32cdd0f16a730362a4974daba7fe70a4145a20467b2753c6ca15ff070abe00ecc1e6920231b554db53a - -COUNT=22 -L = 560 -KI = f76b0a52156e111822980bf72307bd28 -IVlen = 128 -IV = dea17ab936150d6581824396b7237dbc -FixedInputDataByteLen = 51 -FixedInputData = f7fa1ac84eedbf51e1e5815ce67652af59e4597ea80bc487fcad13694a029abbc39437495ab10e5f7fcedc1cfb8a918c27ad7f -KO = 5dde5918c4da64512a894a479a01d296b4a85df5aa1952cddac3e2a39f2a3420bb3b4bd44301b991c7f508628e36ddef4ba0575691a5789a2c3abc6b4fb1b825160e7a390bc9 - -COUNT=23 -L = 560 -KI = 8eef51e60b11939c57488d106d88bc58 -IVlen = 128 -IV = a07b6564c10280e9ef91308782c6ba63 -FixedInputDataByteLen = 51 -FixedInputData = ee056d1064ca5bff80510f398a7b7fb7cf6421d9ee9f2444e46749c85fbf301ddb8ebed86d3787611a14203b2f8b069654890b -KO = f3af9b7e3317a3ad967ea09b087f30669d9e245df39c7050ad52d8c50f39648b19dfedfd8a6e6f7b3a11d02b714b41cdaaae6adccf731b24393656b14fb7335170419756b966 - -COUNT=24 -L = 560 -KI = a68065092fd00dfc0293cbd436f21409 -IVlen = 128 -IV = 9423879df875c9700faaee248c141879 -FixedInputDataByteLen = 51 -FixedInputData = c9e6d3c90ef69854c7ee9678754f2ac20d89bb7609bac41ea666cdbbe5a2100c1367e16db2a6fede8aa26f3f948c11980265b8 -KO = 884a63eab1e914d208978738839270299e33cafe4465c9244e7966f42e55861c5d3030b3031c24401dcea3fec5cfde3a44f4449fa72ffc8267f293d37cfc730985148a5bf4ec - -COUNT=25 -L = 560 -KI = 56b6c4890f121a81dae63ed58ffd371d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 714388f4a396bcb3bf4dbfec9e7b620c9e4c2d8d389b56ca738bb8927426d7bd8681f4801645e94d10c9597abeeb86520a4abb -KO = f5580538dec1a60679183059815b62979359ea20197e8f4412cb969d5d8edd842785c4078623f98b6b78f266cefdb00b68d28cfdb7b4ff1193cbdb07168913727531a56373f8 - -COUNT=26 -L = 560 -KI = bd3ab99a039e60cfbc43e2a4adb072a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b56b4bc903446013d14c80d85395471f46f0c1d23c228989073c747eb8b02cb323efedf8ff37ec8cfba42c1ed928d7d1829ab -KO = d34ff379b5ddc161ce040ff0b17c9c8a1ee911eb3974dba3548fa0be9038af77773da54e41c34aaf324a1bfc8f167f7a74bfb276db556e661498cbf6bfe104dc222a3a974620 - -COUNT=27 -L = 560 -KI = ac4be2234df04aa49c2a7de62f908501 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4622265e079042f0a3b4c447894b7101f39880495eaaeaec2473944a49d266256f88e590f305c04c830f6ac79d8c2f9f99418f -KO = c9c1cc93f4fd2c188dcc580eccbab50a744ecde74ba0b05d5db925219a3ead31ac3ffde27c2ef0aecab13ebe717d1518738afdf2329c82c05635ac4a33b5e2d8c80320f27542 - -COUNT=28 -L = 560 -KI = 6cffe1209640a92a07e341a8d7c13a28 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ccd9adb8f93680404907ef37c69f70e059d5e32c4712d618774cabbe2fa858fe9b8fa93598e1d70ee8caf6b7513f7cf88c5a35 -KO = 2deafb9960cd76bd0dadfe7a1c24d2263c7f2901f2c8c6a9bda5a6d6c4083b6581522b906db1555d0938499cb5d63d56a4ec38a4af737a26c29aaeb9c4045c5a737ca0beba47 - -COUNT=29 -L = 560 -KI = c2593f3bce722599fddfab96b5d79f16 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 400a5e002b5289ad23559d6f91c37416dda06a7d91ee4170f28867e76972383534a60f173c6368f22bbd6677c67e4917660d8b -KO = 456e15d4d4d6d5b43281ab24f58518e372d4267bb3e464d59ab1f26716c497c68b939a3161f2ccec7b70220b0bc4a7dafb1126fd4f66a64ab579c9b6ddca6eebdba58ebc68b7 - -COUNT=30 -L = 2400 -KI = 2e0b2d135df180882a3fe071d86be097 -IVlen = 128 -IV = 6e5f11df20e63f9399bb4eaebd7536cf -FixedInputDataByteLen = 51 -FixedInputData = 63ecd43c43ae8c83853c619d8bf33f8e8d20a116b684cf498437a1065d5c4e58bddc9fcccdc971f47fd12dfa1aaedfa78f4993 -KO = 0cac3cc1820286b0efa89bc263986b8317a7e513a40d138ea765a1bc60031db5065e68bc435d41f77a901389544b9899315f8fd7e69d73d327f100e1f9eeb1e18bf4130176a08fc00a8bbe1895b887418ef70ad59d3b7fc4bc9051b3d638540d485bda5fa0670dfe38501115e9685f99e91575c782fa412001e75be6b0d18118432c92a3aecf7540456e5d757c1896029ac464a331a69495962fb2cfb76842451cfac0b44baae8a4eb1cee1181fa73b9e2437d2050e90f80726a8df4e36643ca164b25390eb57fadf1d220c81ae6e333da6a17d8cfe088a17960dc5e56fd77af63ac8a7f60e206126edce81340f1966f538d872a774683bba21f75e9e0fb8e5dcc1b2035b410a6b495b64e5772aa8a182e2418aed98514177c8a2e1f9cbb654aeca63ab068501a3e5450b6ef - -COUNT=31 -L = 2400 -KI = 4c911a3bb3dd0e5350faba0b4b96d612 -IVlen = 128 -IV = 8648a9627ec1c9032c1cd7477cc06b23 -FixedInputDataByteLen = 51 -FixedInputData = a47d95c135d193362bf205db19554941b1b1574cc275bb252734317fca9507982fe91d66dfc15fedd6d2b757eebd586bef4fde -KO = 53e22cfc248e86bcb6a0483bb966158fb76a24cd0be3038f157dba9eac04a58bbd78ffd7d5da462a9148418f4228ce77c5d32d8f76973fc58aa27099490cb2c1e806f8d08b735b8d17bc948364eb4c4627e268989e48b7ef97cabf21fc84250526130fbbb3763017c9f9675ef85c3b2c9d5e11053401ad58f8c159c1a7e2924fb57a535725af0164ad37b7833404c4c02fd18ac37f98621e69ea2cc6447e18a686584bac020884b26fc09e76653baecd25964dcaa9fe3c3d5acfb88bdbc551d1bd7910efedf4bbf2a9852170d52ff446441e43c6c4f791f0dc67203e4d3049c71cbc68195c49dc0f73d75c4f63c9717126542a0400b767050f0689a14af7e2fac13242440a737b8b681800d1225d0977b02e32c54251553726e324994998898e4a292b3aa2cf6b1cfbaf7054 - -COUNT=32 -L = 2400 -KI = bddd808312ca5cb6248c2c2c4da038aa -IVlen = 128 -IV = 096e540fee2ca485dda7da8c01169bc4 -FixedInputDataByteLen = 51 -FixedInputData = 9cd0fef5e3111d9f3c25fffcbf0f32b342cdf2a67cc3a2fdfebbde074d10d9fa4fda742e0e4bf32cabe7ed44e37cb645a268db -KO = b9c66058c0eae843d5087f5cf5f4975d5c7825fac88a3774777289a7880edf06757e4032151bf564f802d52a9cd36fbbe5b6c64d0823589e83b1f7d4809fe0e3bcb23ef611890b65724ecdf0112b7671d374a333d281ccc0d6b6653cc8f9a53332a25159bbb1663f1f3c73eec9c779348ffa6669251a9522ef206a65188197b34230cb369fd9e5cd83c1d5a92e8e96306c456495da35cfbe3cfbaf4fce08354f1188eace37e29388c6fdd62e26819c56851fdf18dd79e5dc573f2deae209a48d635d02016ce3779baae269e39c4e4364f299d8396ff5f07ee9f5d6d27c28a7551559e8a15644997d74374400952330b1b3892b85a238701124203c1e07bac76e0e833675cb6774b4530d6f546b6472d914168bc49cb42e3cadb3a09756039e663fef408610a18d11fe2e092a - -COUNT=33 -L = 2400 -KI = a141185b72cc01e3f1e0d60e414fdebb -IVlen = 128 -IV = 6a9907d93705cc8f1c799765256741c4 -FixedInputDataByteLen = 51 -FixedInputData = 1a1756e4b7a2c2b1d21c136e3c6ae9de99cc6d39dd52f9dbaab112f23a94d02116247deaa9c5862236087d1bc76daab4d1f5a7 -KO = 758e3ac6ec30d8100064a3cf06508d1df947681b4712616ae20902d654da2b067a2be70d60795e7763dcbf73338cc395963f6c250857b296617593688f737dea5c4cfb4e7b1a7fd0a17f5d0f2db6c3e243607a552af4e49909ad3b85fdd29a1b5fd0bb465bc243051363b0df02df6fe356b2976330a87293f8d25c3975931dc02759abb29575f09a2d6178a5a671de0187cf4e3574b8de8311d390f24ce6256fcf1dc2b046f1cc9d95e1a0a9efc4f9bc5fccc7a2b63fcbb603373953d4019088325a5f3a7e81a0ab68eee00d49823bc3b633f5e3d0cf5279d8817d1f66d074bfd458d75da272ece3154c4d3caa3e2d37812c7865c32f001f69dce1324be87509c8b40364aea07396aa365a5132bd8f0cae34349dcdb8e7286731ebdb711955a96d9ba0191061bd97cabc24ba - -COUNT=34 -L = 2400 -KI = b0b75a3dae329f00df63ffee44da2e1e -IVlen = 128 -IV = 66a8be6c488ea24d663e757ca00928a9 -FixedInputDataByteLen = 51 -FixedInputData = 3b977cf8bfa361fc78cddb2b8ea996baf5bb61c0a5685367a86637ff4ec7ba0a6186aff286044e2d8e4cc9e602933ddf50d9b5 -KO = f4414e6a39cbf3f6e7571ae4d7338f87abafd3d2c9d6fddf4a8fa855a50036aa739462dac3089756669e5d1d03f9688c67d8cd088a46d5509d18194dcdd080a0fdf33a980be43135161a79a150db7634c61491237706d2b7e8667523541987226974f9d0426791a1de8c65e4aaba0ef2c7b94e357f205efe00fbd6253bdf9e220d0c0480ef2f4d8b745d1b23bc50ae6d0dd572ecd9ea9de49406390c2adac0b8796ab0f0b34a388cdcceebc3cb4d6b5cf5944febab0496a22ea2f044b57c7fc9a6fd0ccce16f24ec2caa27b95e1edc5e2ed64fea38950b669cb3efada4e68a4a63fbacffd1bd94ce7b6166d77049d42b99e6dbcfde69f190f979b5033329a94c30a5cdbf7f4bddd4a7f91ba8e153ecabd973ebaed9c2414f2658718b2aeb324f94cb02079dea2a28c331cdcf - -COUNT=35 -L = 2400 -KI = a47888ee4962fd7c66432c6058731105 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e80bf0d28eff030ec87bff46d9f760313ed12e34b2a66be14d2ff107ca041bad6c0a1fca46942e8cb72b4b0472f45e2737b016 -KO = 9e805af65d6e239727155c5e9a45c80783bbd49d8a58d0b21968bbf07d3f88d7682c4d52bd56f60970963a1dbb1e0229f627d66e5c248bf4ed0a659b4eca040c4b56c46d1c048f455ebe4bc597fc2437f14ac7e7fa57c76d97edacb190dc513dc353695d0af5b034bd8661e5ab4d2a90e4690a2748b3f7c69b2ab5b24a2cea44cc26ca45915c0aceafaee83f7d28973b0a21448768ef74c53526da83a1cb7058dde9b26b8ef2a5e7a1aef34d06a455be0a0cadb23270e4e459231e14439080323d445cfebe3159511b2c3ed14069f00075d40bbf4d311aff83d82f7648a1f9559e0b68c791242e732c289e218bf32e113bb51e711f4f78c8d8cb8c293b0a68aa666927f1127197bc152eae03c099f9dc39509d12b03f57f238cbdb6896917c1c4a3027fae419a2cd3179e678 - -COUNT=36 -L = 2400 -KI = 63167907cd1b8e85e410111c17c77ae4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2ec405fc00f34a34e6200f0d34bc925ee400b8db369bb008c4ee88e6cfb872725758749dec40d0f78ecb2396a70ba736b2457 -KO = 9b5720d2e765b3560358c57cb4368732de39511b49435d3baf2bfef5e4b8f6accd0ade4a2d699ea5c3354478d840db221788bbfaa7c1c91e0af32127e5e5e0061f30fd1acb5ac87139c57b54355666ccd12c63884c556a8e2a6ab727199a71efdc6fd470e5ce640a2c4afc1d6c0c21e155c1466f6b42489356e6d90651df5528ca3367db596ba29462390eabd797c60b27689f6b3238da2fed99129b5b724bcfc0072741b1dd38342f0b95473b3750becb9a31eb07c7e9baf515f8f5ca6a273186cd58290434e9a3a7bc1b6d43c0680334f76b9a24a255c7eb7eb5e075a8b6ae24381d981cfa84be7c2ca6bca5192e86baa3c9630e4fb4167a53821b71522928cf46f8ec672d9132e6feebce492df6117a29409ee3b322eee23a85bc8e42a104c8e87bc7f3bb522411c07c58 - -COUNT=37 -L = 2400 -KI = 50f55840f0f18c972cb8604f70ae07c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b1c6eaf7bdc4a74a6a763d83e84bc1080612b679959e028379b4742d08d87622552755ca952ed443c854911ba7414d1daf9cf -KO = 764636e9012ade9eedcb44b97837ffb69cff13524f71781d2bce39d88bcc63ea51cb32c5814b4495090ae1fefdd1a882e419a2de4aba9615ad95211d251ff734a3d18d5d075b6c2778ca9e671c32fe4d2115f921e6f024ae7ee8bec2a9ab766a43af06ba473b3d1827ade9092da707b75b3e7a757c5e1bfbaf9052e94eb6de526a98d66e8bb9e284134d65ee8b1a93a42882200d06e68c72f1d9506faae924e44b55571890d475b22a55e58ef58bcdda48ec224332308005dfed3782edbc193e181d57273e71d6428199fe323cc7797b35c075376ef93ab91449c913527e5a80f393ed4cdef195c75bf64ceeefd3ad20fd8eb92cf4639be2e253f73811c08ba4e460bb60c4fab9ec495cd3564d467ad888b21417bbb388266d250433677d2ed6672dcc6bbd160c8bde8cabbf - -COUNT=38 -L = 2400 -KI = d5edf2d1acaf06338062d1ea8332f732 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 03e1e46373c122b2fa56c2850ed7e8febd2d861e28457d873797d42966cb0b789f2051307982fdf313232dc167fd519237db95 -KO = d4a25331c1455b97c2eb1502135460cbe011a79552273ae85e82f0f5697e5727aee834b6e9735651a571d4f8e0fdcb7f8cb744b7ea108ed4d7623642130ed6027571538507dd4f24d388ace18ed5c9828006efa047f6d48acd45f66fe6ff429a1bfa5290be0f5e36ad1a6f9ca4e7c84c2178c90b5c4f9ecc9dc01b809ec9e3b099db597c137a30b5403b5119006412e9734d488fce486df9acbbfd5645e82d0334970c64859d7882d7afab9e6834d62fa025adaa23e7148a9fa632a7ccf77964acf78867f51dabafb7da01790740ecba88b71847a13ab0c51034ad6f2342afa5e6b703b516e47dc580f9b774cfc72e477c23f3f8e800f79d5d5035896cafb88ea076f258d66e418b0e7e8cb60656ba3a14cb60d46e7b3f87f01361047084eb0fba58570e4137f0b11a1119ab - -COUNT=39 -L = 2400 -KI = 766aea533c267829fc0e7bff3e0f5070 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b95017034abeacb6ef6940c9d4ed6356bd29e11c781933ca11346c472d3ede1e53ba7110d1375526ffdc5cdf0fdf9f43d8082c -KO = f02a2a3442384ac8790f47f6b146e04b590dd11f3963ee410d2f119eed1aedc014e97f710e952bf3f3051e16820a0f94578d4410bdf283decbdfb3bdacdeb136b3e21bdbd053281616721a807d6fe86fce695d47a0ab9d33a0cd8ba9958f2c0b3a0086987690fcbddc5200fd5e8c4a011fd6301f56364082cf20593c10fcc2c29fed568d94caf2450ee375a57334529c9b09b69f8275bc8ec1b7071339355d8933b4746d52152dbf31be99a29f37f5a9be32a41293aaf0d429de714b1d7cfc117f1efdfc7539e767b09f5e1a9658f68aeb91eb37cafda67f6156ea6c5ca53e36b4397b26d67e67323e09ae55033804b5c96b8d6bd68063980d46192b35bdda255e7a99e68345ab45476c431f1b25ed62eac236d7ad3acee8515959e5b8cb20baaec0aac11e9ececaeb85f8cc - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 1edbd1bb1ff8abda4cb51d656ac83405 -IVlen = 128 -IV = 0b847773cd50a9984653a8d7bffe41e1 -FixedInputDataByteLen = 51 -FixedInputData = a74a8c3b5b6c504f1b72b0f22ed380de8eff38f541d0991dd2f54c2259a2ea9e6907a3528e6fd5591aff710685308adc97d423 -KO = f6f3c5a17ef294e1818e5a4a7b3194f728fb65befba2083ca8ba0a2585db4c08f8f5a5e0b4f94fb3cf640255277cddf628542693debf34ec1f7d2d1612c233be - -COUNT=1 -L = 512 -KI = 6d5909b2d761831c251ba04aece046ba -IVlen = 128 -IV = 1377fe83f1f125c3c18548f50457b9d6 -FixedInputDataByteLen = 51 -FixedInputData = 2bbcc1e2beb3f05df77d67cee7d8de52e43f8126d0a7e7a8272668caf5f5090229a40ca113023a8196b87861900b70de981e4b -KO = 8e10c53d0353985b0e1e58b0728c7ffeb48530294d94821f9c5c4b4d88f21227bc7db2208be3b51d63d45c9e8ae379442f188f8aefec425b1f45f49773822214 - -COUNT=2 -L = 512 -KI = 37218b4f0be0b59376cb8d6caeb03fff -IVlen = 128 -IV = 9b12189d06af711adb4f44db93f7ba7c -FixedInputDataByteLen = 51 -FixedInputData = e70144b7744611c311e29cd8015293b2f8a42cd06097cad4e9368f062f0752b0434399b53f0eb6b5c47a134386c7b9afda2e1d -KO = 22076abd98ac5082c654d4c05ca67135177d8e8de21ae9babe02b140e426cf017666e60520bf6025ea90cf6016c6be4ce876ae9220165326f01cbe1daba4a611 - -COUNT=3 -L = 512 -KI = 28b2892b639bdb1a5cd1e549dcc0eba1 -IVlen = 128 -IV = 86db50a4315c23d8da3fabd310eae55e -FixedInputDataByteLen = 51 -FixedInputData = b014eb46dcf957c4baa3f0ac4f0e6d82651f684ed61f2a79318c859940de32348e2589aa6bd428f33246a00eb6c645ae674b93 -KO = 5a16c103cead15f8158df1f9963a408684bb7fc785a27a0cbcd726abf37afe02479cbfff9c801eea2e693480af5c797cfb122f464d005b8d5c1e7f2ca3936782 - -COUNT=4 -L = 512 -KI = db5e8c051747466172d259647d268fcb -IVlen = 128 -IV = e5ab3c057f33408173dca999c006b71d -FixedInputDataByteLen = 51 -FixedInputData = 1609d844dedd0f44938dff13b6ac220f5d9bbc517f61dadbedb9c6d80bd28e78547ca36092d25902b17e073236d03174de4a91 -KO = f53d71ee53aa55bd000da4bdff573a2830e657ac1d9034d93c4a2e76d96b0495d7c10826e60bdd33b3cf03d0a974e8ea4ddd122bacc48b0c1282fe18003878bd - -COUNT=5 -L = 512 -KI = 4ca3ad9352534ed1fd7d03b57d3b709e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 094ee0b163fc64bdc4c0913dec9f0d5dd1501e9ec1a73349774b035640e0469c5c399881d0c1ee71680472926f137a47d423e2 -KO = 7f134c9818628dad2a6dfde8bc7394d7a456dde9854d67ab2226b209351ed249d85db2ebd6ecf292df49da06a6292fe8144de0ba29cf2f40ab2e5d9392f9548c - -COUNT=6 -L = 512 -KI = d31b03de7d35f40888e58471fab994e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ffade3f773dac15fc279926243a90f6d2dcffc8bab6211c770d8771dde706cfc7aab521e1c509c6cf82c971285c768a5f08af -KO = 7215b5cec97a83cd00e726a735870287fed2005e3cef2d2c61befbcde3c43cd29924c2b936e706ec1b92786dbb9a353a9d3d4341cdab0753165e136a0ed69e9a - -COUNT=7 -L = 512 -KI = 802d1dd97276b87225e677fd3b1fcabd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bb11b50b0322e2bcc2ed2ce38b3466cfe7a578aa29c0ba1e4fd4e1898d580e11a378a8b4eddbd8042e55be901ab0186d18a20 -KO = 0bc675ffbf66c286dc02ffec42c1f3ba396e2f25bfd3a381ce81962f95dff662edc64bfad7c11360c55cd8118deffa56c0ab2cbae3f7f1d327afb5f14ab0a785 - -COUNT=8 -L = 512 -KI = c394b01f1ca835fa05c8bb50d29236b9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e21fe265515f5bed316d9467e4128a1e473b534bf95af8ad81481b192ffc270646f2ad4f1ca148fe55b05c033acf56da6f385f -KO = 819118de6e227004eb78875fe3515ac95a3e12d43cebe2d53454eae76a1fcc56247dc6b9b7905ec1bfbf6565566bf85d86573b716d2a4c7fdcd268c79fa697ca - -COUNT=9 -L = 512 -KI = 55a5bb989bb89f7bc093a32d4d0ba0af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab59632f8eeef9d2646cd72688f9c17cfb2db2020d3eefd43dd843be5f2727cbfeff8eb4ae9244b024d42ad6e8c43eabe2591c -KO = 79fb6bf07c630f63d32d261d43d5e92be149fc2bab5bceb79290d9be66e2ae31d158b3143a12b2ab5520bf96c0ea51e1e45537a33e0e5b57679bd8a100ab929c - -COUNT=10 -L = 2048 -KI = 3eb1cc2a6436dacac21e6be267f4f824 -IVlen = 128 -IV = 03cc1906d7fa637792c63c6dd1ea45b3 -FixedInputDataByteLen = 51 -FixedInputData = 83af60f6a002aa7f4a6824da3c90feb04037cf40d41df8902648451242dca6f8929877f5f0a56ac69bd07158432119bb9816a6 -KO = 653678c3602b5b1e0ce2f897a05a2010134643526f0d50fd418fb49fd552b3061db56e08197e1f1b92e59706505898068ffe470e60eb4087985425b3152635e3b0d60fe1481dac16447b486e78dc060bc5397db51ea08a1d646ce08215baefc70edfe97c9b6a7f7360cdc4e387314842afba68aaee5e597c4a2e68439937af336292e3c2348018d6e4192855e880757518440ab36caf3e7a8588913d5fa35c4b3f20587ac0aac4e21a9c774c12aab4b629e25992de6fad64a93beb74aeee944cb53bee32039de03fa89e64b78c96b6beaa3d3d22cb0836c66d9d1b78363b8facd8e865495043aaa11c7d8189b6295405499469c6664ac26d3526bf572a0631d3 - -COUNT=11 -L = 2048 -KI = 70009606d2695af6f4a4d549e5ac6c3e -IVlen = 128 -IV = df7fe048b7bd3bca1d00b824e3a5c186 -FixedInputDataByteLen = 51 -FixedInputData = 7620e4d58e6e8a35d2de427e99311b80283dc628bfe8adf1b811a3944de2af2fa4d61bee4fc9bc2c012b980d0f2fc4e1e318c6 -KO = 7ac91238451a34ee60d91c3040eaaf5a09249fdecd1eb63d9d0a8cbb36730c5e77c74f97f5641aeac6e507e7d721453be0f09de11f2ba00c75dcdc7e2db1c5f73178b8c106b208bddb0533c212851408c64fb85ccfa935dd6fd0e3e64280cfb1f97662bfe47ba70275ae2cdf84aae22e647f7b288925dead07b043d1ca01b284ead3088ae937877ee98bcf144a7a14d0d80ede7328a9fb5f6a27393b3cf890528245b5bf090d89f372d530a9633d2e30918cb405d6583dd76a0af5161b24fb22e3afabe5d5e585f851d3ea7f87b07508caa9be041f310ef7a2f5d62ce5d5d12fcb00518ee503feeefb2f762760ed28a0fe16705bfeaca79b249fbfb2e33c04f5 - -COUNT=12 -L = 2048 -KI = 9e3030cdc17ce60ea4501215d1d86fd1 -IVlen = 128 -IV = ed5051f607c3040489f9826c43ca05c4 -FixedInputDataByteLen = 51 -FixedInputData = ba587121c9a36143da4ca30d38f00fc262cd30ba9e419e8b8fda487f18997bc768168a60ed06eb8ca110f7c7af908bf627e1f9 -KO = 10cc0cc26c1b3e71ac31ba06150f52dbefc58cceaea5894a60df91ae2a13d074db0b1c25425e7d9bd299439251efc3dbcbf41038340feec339258aa8c7c154bd2dbf5b1d48f55ac48b207f58ded7157453263c51207996c2da8f6e6b26650066c9cf2a9800b39e7cc0e263fae07868348db61e37ec0a6a62cc05ce7d6fb11600db501290186a8c947c20feb9b0dcee21bb5572eae29ba9c7f15f4cd764266aaf3a5806754c2dfa5c8d5a07f700db6b33517b8eb42bbe9390b94df27fad89c5ee623ce1170a2a43963417488ffce6f7277d12d2843c692b6ef2af60e1d55bf5bbbebe2cab71c870dd3f277d4c64a7ba467ae8f67421e469b6c8cf25968d138215 - -COUNT=13 -L = 2048 -KI = 4a5c1d7b93d6134ce143318d34914b9a -IVlen = 128 -IV = 6a77aedd6975bb324c6e38457e20684d -FixedInputDataByteLen = 51 -FixedInputData = b92237fe69e291b1b3c2d4c3082f7e819b228e4c4efa2506272f715c275be5361f3ac35cb94e57f85fe5cc115e8a9d437a3030 -KO = 27728b35982c5a06bde393991df2865626e5a45328ad6772bf9d7cfff5f8dddff087fcd4bc639113a185e3dcca0ceafa6fc47d755a6468f1dda2c6599c37cb3665543e5390ff535dd54f2800c79d5d48073141d036df4af2c731329d8e7c726f45813e103fd79252983a066b54fb6c230287fbb4308b0602f2d2ea7e4f07e700c4714ab51f59693cf1a6830042c35b52f5e422e98902a19be6b73f1aeeba257f0d42863278fd9dbaaa6b39c6a9a1a8fe86f6d63360c2ab105d9cbb6d20ca0086f76731866b7c0b1f0913c3831effa6dd0e8d5f5aece7b3828dcc10cfb695e2da4c81561dec0ad32bafe8854467d8602ce99bf773a08ae1a19d1a4d95f199025b - -COUNT=14 -L = 2048 -KI = aa7ca5b060ccec3d69d5e7a6ab971827 -IVlen = 128 -IV = 2fec31e08ce58c8daaf1de983c2542ab -FixedInputDataByteLen = 51 -FixedInputData = 561f866c46b1b1d4bfe5c07e9c2268b9942d80e9b20fc789a1f15a2d5350505743d75e76113af63969f5f7556e5dbadab0b8cc -KO = f37cd02bf4c5bc01c6a5515ec8c098f1ee992976636040b6960bc339c8bf7a5f18574795fb07286d093636e7249fa610c8aeac8199a527640aead8ba6e0769938b1544b1c089c36b3ff02774d6b717ebf5d6819a009f40684ffbc2a1cc77e400fe7878db10ff92806ce2ba20019048c7ece5cff99a5072eca3fa4e2214834425611ab4ff1d9be183f27515ebf9a81140673260dff67dfa2246d75010e9827b0f7a105f58d7473edf327410c4e25763008b7b48053753b901eb0497930d9c1bb73e1a2c824cf1a7c1f67831753c498fead707bd027463e020f25f370092c9b8e873b90abe55866012c7e1b72f9ec012b11414372da1bf4a55cbfb07a0e5a59e2a - -COUNT=15 -L = 2048 -KI = 69fd933f24210e9f673d55eb883e48cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 43639ddd890a017c27f94bfdbd2bca89112cfcfeed2774a113c77d7081fe1e44affcbe776f54a0bacf9c05d2e2ab6bfeff49c3 -KO = 7f67482c294d4c5045e690bf820c36cd58656b9120ee2e776ab8f4827f5a969f5537d8d48a7b633415f2d4fe3746e4f2abc071fdecb6d55668f6191d7e1aff0b07d0ac98369bbabb880378d5f52166bf40867fed2fe941b29012ad66bfbaac6fa88e34d3eb41f6abd3c58fe8e7e6c66cbb8b0530bc0d5c59711d07ace57fc677c62e46a1250ed93bd58662b5c6f0538c7ab9c80159b73b142945648bf1f303d696651119e0dc994e33222aea9a05f47a3250df5cfa5ca3733aaa4ca84fe2191fbcf6d6e1786c8c9b4381658e07ab409a1fb445493b06ca93f2285a677be203de39a5c70ae32f0ec477965d3a64dc9f6541f513974da70d6a803f6cec232c8331 - -COUNT=16 -L = 2048 -KI = 5bb1f996a62fe7ae95db08ee0462baa5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc6d8665a961025691ab5bebfcbbc02c66115b85917bc449f26417babfffeceabfc099c202934223b9989364173fc9252dd376 -KO = 944b74490cea907f0aa91e1b9ca30eede8cddb322df8adedc12efbf53b082f034e813b01b312cd797487d647cbdc32d3d627c12692bd1da325fd9eeed6d91c17487f7a3ef65f57965bd949e25f1d2cf154a4cf6a44a4bba67016fa47aedea72959a98f6d895ad205bbb12238c8d779cf7909e7bc5f7ce0d38bcec3d566d3badd0efe164d5186887fa7fcca2f47a7bc0a906352660b89d293049c4599f6790844d3c673291739e4df7959c87db5b1ad0e5fa75c2b24b736025fc529e70e7e70f0f219172b349ce6dd0c655957422f5b26953aad9cf38df97cfbe7b0e0cf97f511a2b7da3f6fc8bfafd83045ccd8b6e7a1ff8cbd160def518f9375e090e4a4930c - -COUNT=17 -L = 2048 -KI = a8938f80af6680270800afcea263a839 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c15611bd494caed9da79bf3503343dbbeacafdcaf9f2946fc27f11b57a9e492fc62585731931d29eca5898fa80fe963ea6f69c -KO = 12df5ec1a6630801465447fa3833472023edbbe876ecea9731b27fbee4e3785c4186c58ef57bbdb2e54f532364c1f7de42bf68834ba82409d7d5c2f09b920fbd227c8d978335df4161fd1d3b7d37912dcf1c958acb0e702f5e1012e1b55d99f11c7e36fce71fe8fa0793ee55310b189e40b5e8505d160f922bd8807149e4bb693c48435db259e86f812c38b1d060f1f3639faacb39e8e09067611a91ac34b797617a10f68d7cc5dba9ae9c13acdf1f18d6a09635303f2d715cff3b68c0d956052f2b6dd2e521ae29d3132552f636e1d0483ef92510ca698bc19627197d9cd0f315b600666aee4126dd5c7520c41e8de5dd460496eb975ac75d92e5b8cc26a3dd - -COUNT=18 -L = 2048 -KI = f263f54f9e6d8dafd9f653577fbd74bd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 938420044e822981a2ba9e8a2362a2bcd0aa293a426bd82a61175c5322ae6306ad8fad9630355ec8ff0ea15842d839304ea419 -KO = eaeb7d39f741a494f597d49864abc96c7ad7dcc8946436b1bbfae1ac693a1bf9b6ddc2ef33b8490651dffa752cd885a99da2ce5d1465a9c8ed1a5cbb2208a01fbfb08166142a856c76a952dea4ff7f84d47be66dcbe0d4fbf74276f2f8f2d3243e68abd04214ab4eaa2257585c301ddf1435d7e098d7792de88dd5de6fb3b0fff03558b6c4847caa4c7430cc834139ebebb03440a6e974ea76369593bcc5b3153801e07cc3eead731c95b2be4ed413085f9d1ca4c9d36512e74aabd39ef063d2828f303f5313b6e400a5b52c61b9ae9a2cb3ecf9cf4aeadcdeae1dc882a476a2ab561d3343a2d422305e251823dd3e2e3b2178295336eccc4d8eed6e65c21bc8 - -COUNT=19 -L = 2048 -KI = 0ccfba26688f5b02a98fe539daabfa6d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 12879931019d5d9e00380e446cc81139d292dd01837396b2a9c66929d4fd27cd8f84429fa40774c57c9e189d40d393142f9421 -KO = 633036fd7b9e8d17e98172b7c8b745bb387c9d21aa25eb6e48f11e5063c879b55c86bf574fca24b11f6474a2bcfb706e8e896f0b7cd189bf4daf5d8e86037d5d4b8c3b93a5ce6fb9a3b8880624ef9310204d9853a023625a2de42f2b743b868632083b9c8fceec7206ac14af204552d0ca014fb4d8b5f4260173f6480db964a249543f7402f54f850d7570f237fc7dca81ab3e30f7b972e415b4b4a4b0719c03ad702f1cb867445d6ef5587f16137eb3776880d91c1f88130e1b654e81de9e3668114722f99bf82ff587fc0dd537ba88921ba50de12944c85cf853f1f621a37f47005bd480da2645fa2688b0d88ce8771fa6c08ef844d0df073f70b997aee9a6 - -COUNT=20 -L = 560 -KI = 9ed4ea099b06d8007428da2735edb6c9 -IVlen = 128 -IV = 883ee0ec30904d44220f93413bfa1540 -FixedInputDataByteLen = 51 -FixedInputData = 13c22321f6a7df783e4f968ad35d42ad403829048d1e971e0da7c80fa32e7935f802da18ca8c3e21b6ca039e499659b1d2b7fa -KO = c827fdc14671cce2d80ac52f51ed03aa1f854dd7c4d0597a8ced34669c487ab027b997a50483656a0611872beeccb033c3815db95f587c070750b4c43cabfdf2680595cc24e7 - -COUNT=21 -L = 560 -KI = 085c839a4a8b3523c65f193d3a11dcfa -IVlen = 128 -IV = 4eee993ca6e90633a02da2c6c3a05062 -FixedInputDataByteLen = 51 -FixedInputData = e76577541929791c83101aa26c7b33ec6ad54db453dd3f7a8148199c7ec95d37e919e3952b091a9dc72edb8d2a63e5295fec05 -KO = 64dce1625ba949f250c5f1752631f42e508caf68dff99cf68325f50f3cbf0fd9a29b03ae403b4b68a5632c4d9a27df575d07acd6597cee9168cf2c6ef03d4d3be2f179499106 - -COUNT=22 -L = 560 -KI = 90e74285faafda17c877c6148aeecf83 -IVlen = 128 -IV = dae871ae6799b978d96d19b45a27189c -FixedInputDataByteLen = 51 -FixedInputData = be4c0b5fe940cb1418f891e650d966cf0453ce3290d4319b8000ec25edb8b78f1f290322389e62d0167d7a703b8dc0324bf7eb -KO = 4503950497caea12a9c54032343b467e3d7768f3b98aea8af5928cffe4d36ee3c7ce9865b9ec3f1323d9456a000f2f9c8907e5596d9e2dd5c5329c9561fc780b8ccfc08f1c6f - -COUNT=23 -L = 560 -KI = 3ff689281f5631104ecbbf8788b04396 -IVlen = 128 -IV = fe01118f971cb1556e5e7e5bc50ea784 -FixedInputDataByteLen = 51 -FixedInputData = 860c76c0641a3cde333a89f8c0e93e34708752528d77e5931e13750e521c339545dbc17d878da7bcc6d84d1a539b6098fab3f2 -KO = 476088ba2c373bc4675c11c109469f685b4b0ecbe86669dfc29f8cc66935415ae8a310ee6c5574a4290e58fb74a822f92aae3440d0497672d1f4d152617fbb27883451506396 - -COUNT=24 -L = 560 -KI = 552bc87093d7b1108ccdb99e0bad15fa -IVlen = 128 -IV = a04f72f1705fe997eb85c5d538e82f61 -FixedInputDataByteLen = 51 -FixedInputData = b6809e527a3c6242e1dde671c72e8beccc5e0590cbfe81b603404d7d234efd859daa0881540e8bd81186102c7441172d6bf376 -KO = 983f06642deb405768a3165a019f38fda84653c8f59e133ffd1cd580eb3564ebe37f58e0170184a80e1ef33bb305cffae28838817a6d09d61051f01642c777d309c24f609d71 - -COUNT=25 -L = 560 -KI = 5b378831fc2e0b6d9ce7c1287d3f8332 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 009926f6a7df167e7c6d0b5c173be2f16f2d0fc252fed3d8bcc4b25a1ee176b87957c599303a00a4db659808451b12bb7d18e9 -KO = addd4fd9a22e1efc433790c45c5ae9c81add5d3e935831a113f26dd60d2c74c53db914ef32f71ae7aeddfea0d0a0b5e17075e87405e98a66ddcf3dd0f9337f63ffaa7d9ce291 - -COUNT=26 -L = 560 -KI = 455f041c39b5349a3e3e1c41203476cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d7a9e4818cf23a2b1ea1f85b46451797c82291b7a7aa739f6d8be4c36c2d2c5c38525259b978da5b6e057b4d1782c2ffee5aca -KO = 424fee66b56dc65ddcd907d6e0361b834c5e13b071ddb9059bbe9f21577c395b09cb6a59cb36eb072ffff4943b3e5932d801e465c06aab6100ddba81947888f461fbb0246db3 - -COUNT=27 -L = 560 -KI = b54117cf46e302c7ee114d13e86d4136 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fffffbcfb0728e69489d6927477acc116d7a5dd5be40be4b986a273820f25aefebca061b51707c21487724715e47025036615b -KO = 19387f98fbab1026d17811a50a54a285f01e3eda322b8217b90629e1706e06575197e444e22081cf88b5309b94117325a7d7b9a1b83c98849995297c7701bf91ea331dc6dcb3 - -COUNT=28 -L = 560 -KI = 893d02a59e2452c0c40591800f9ebdee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b310652adcd17408d43cf8ac2c0d6260ef14092c87db97a0c34b32f202c6d036c755a16f935d96bdb0e713b25752c76b0544e2 -KO = 2fb7648fa86c70da6a9481b30f4ed90a6486f72e2603aba94805be102fff0272e8db35453268d51dc651b968fe9d170472d0287f4fca35f8307db81b067675a602dfb31b27df - -COUNT=29 -L = 560 -KI = 140d0c3aa36a74c9ba9564c23981fd98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3014d99784040892f4a3d7eba06f2d60fa5881e5737b73e429fd772c94c6abf352d2059733d7587f9e2bf9d278995b4aad0fe3 -KO = 5f783349425266691160ebcca8fea8ec8a71795f8a64ce3c0ec2604d98543a71a3cde0fa79d5bfae268562f68f99f8d82e4e5fda416ac89a6118738a9a2b6b6a97a7843fc00a - -COUNT=30 -L = 2400 -KI = b7870165c94d33d6545f8137ac5fff25 -IVlen = 128 -IV = de7542a4c123a857e4784cc5053a5fdd -FixedInputDataByteLen = 51 -FixedInputData = 02f33a2d9d9cbde77149ce86ca3e96ab459cb4797c142962903fad809f899f3b2a2208b4061a0928d2e96a7087ac8c3948f108 -KO = e82de4597a5407c019e6f31904099e3406ebc2e53b3bea7b0db185b4969b34e6e1c81c6f9079c88fad84e2ebf21b597912c852a271f45f78ecc81522682e6499a5ba9015909ce9bbf3f394e3a95958274ddaa62acded18ffd70e1eb89786be35c3e9d1eb36dac25a57983b3568ace1edaaa38079359a1dfd5d12cae375e4ac370a1b04df299ae669a1b70d8d6c939ae835e8dbb54c7d0b9a85832d9fd164d2660ba69f6db1148cbcdf22201f518e7822e54c4d6cc1a5c2dbf474839e4fb3cde68e5cc6669bad67920002e5efaafc3f49e0327cb8bc45a550abfbae98c2566bcdf6e5ac7e6136fbce6d59d72f82f7943f8b7adbadc299853312a3dac018c43ebc8b1dc013d70adaa6f55375db98337ccd36e14d8207319406badb8d1680956019e5d160cc1b5e456af7a796d9 - -COUNT=31 -L = 2400 -KI = 765a105e27353d302bcf45abc1722fff -IVlen = 128 -IV = bbb4afda9e2031b64d60eac92bbf230f -FixedInputDataByteLen = 51 -FixedInputData = d7d5352052ef3b95db0fdea8af565fd401ee7aef244ec817b2e14c209d8196b07b58c06f7ab4d56c04456847ad06ee253e9501 -KO = 233c53a81adf4633bcede013af2fd7326002139b55d7e73a782ff6a32d63636150be46048d665b251949b13f2d56c1e737b01ad3b9fed24de923566a27adaed8576cc0e1efe3b9d5132aca76e92e506dec5de0e20e166ed7e7bb40147e87c10272421215c8044a5ebd678391dd35a13afd94e7c58f23e178ec87aa4b86480288592457b5b84e4083feb5dcd8435303ee38417ab1df4c1c4bfcf1e5fafd78fbd0d618b491db1c52f547e6bbfd94ab2927353e644155ce26061fabc3a4853cf4db2d71376ba1daeda094b8971b88413718da512630e9e12f009d591b23fce12f9197f9f643172efef7f3811f96ef687fa836000df1528bb3a8570eaf90bc2d4340b3bc96594cb1a181d9962b0d7e4101b6ae96ebdbfe44bf2d3b9c474c0126efc65c53df1e06c6dd74fe979c00 - -COUNT=32 -L = 2400 -KI = 60e89e6c266593781f8d359b9c8c7d00 -IVlen = 128 -IV = 28cb462b26abf487bcf23a2ebfe574cc -FixedInputDataByteLen = 51 -FixedInputData = f7a8edbd7858e61f3410e99bf64954402d3649466ad8e71d15d80408f52752f919143e157c3680db52479b635efb28ad460eb6 -KO = ed4a5b5c37aef7a61ddd3944e92ac00b33015efa86f437efbd180fe1d7dbc7958be4319f5ce950a30c4216fbfe62d14db4c59740d8734a6aec7cecf0c872a64db8d2289276e710f606a5e03ceff3e680450b6da2f0d36efe878f7afba430a7cc77cf4b22058b6552ae7802f7ce7d0617f6af3697b6667b10fb84b51f7e2edc7ab7dc951e7eda1b140744d99fdd4b9a0b2c959c00ae1a496bb9107f1bee62c3e2481f12f2a3e0706070447a3ecfdbf56ae5a7f3a6c3fb8e8295fa8beee946a420ef75d1ad3e8074d9dd4c5909575d9a00c7e2a94588488f7d80b2a14e28cc38daf07757eba3c072a992a16594e0c212e6e6938b853d3af937cc544234450b190836d242b5bda863bb49041fa5528f7c3d3126b15b67d1cbe583dfa013a88c4208a4e40d2671978a011cf6c482 - -COUNT=33 -L = 2400 -KI = 20e7935f8bc30382ad1a1cf1a1da47af -IVlen = 128 -IV = 51d1ee8d9a2f631ab059367b767d54ba -FixedInputDataByteLen = 51 -FixedInputData = 9fae6dacd98ca5240d289a5b7da8bafcaeb940690c03ed1749172e944cefdf2bb552630deba9916dc6dbc8b5e24d8e489412f4 -KO = f90cda4fdd47f6df224e712efed08b8f317b901b96cf3b65faa45c06ded918fed8d551d99926d07d13db2d3d277a85b4b01c93dbabd891c3494e6a1ed94e340a379b784e2ea0860960130af7131437ead383f13bcc1f28af368754e36d830f39c8d054c9703c62d4ab4ac4bcefc03ebf5acddc99cc931672012b03bdf5c3f7defad1932c936b7bb6bebd8ff0a5f592d215403c2d67a94d43d434b99ce7e2404a2b6ddc45393e1856d44a89cd89affca5450cfc0ce75335911fef47bdde0d68d25b3628e85c16320f739df734021c0f8e9f1553fa8c85d7c3f9152a6fb949d2c30781380d147e40b3e7095aedebc3d1dc3b356b91a85b5b1f90871c317843089f4d5f7f56a810a44dd6e6c334e29cdf3db8f62bea7f989eb70da12ed47b1d57376dca80fd8158239355e1912b - -COUNT=34 -L = 2400 -KI = f51d9f413d56e3947b6b800f2adfe0fd -IVlen = 128 -IV = 5a992f636637c49147c6c11e3f8cbcb1 -FixedInputDataByteLen = 51 -FixedInputData = 1c489b669ec2f1840c8557ac4cb11d1e3deb024c2c95b57425b6969e4c85a4b723a7da46f2d25424ead6fa9d68184a57e2ab02 -KO = 865b020f30ffea1c195e44485269cc2893277233039358b3e230836a09cbecc26958d216d097ef232d73e6ef0d3d51a1b2e94ad9cec9631b084060fa6331bb996c1d38ac8188f84ee72f312ebcd037691002e5f0ff0c22af468c382767302ac17b903f8f1b5a7faba48d8d61c1bbf983d5b1f3e02ecc7d658c7a79eeb8a6dbd847e7984acb083e7818fa14ba89cd3b82b98992dba0084078e38f5881175cd8e621ac31d42a49cc50f4e7aa20dcc0c45b22293a0c94a323db0bdc264d8b41d2c5f50a3ecb478418f6060b13e60b21313376ff56126cb35d90c54ca7116aa0b41b16d3c06f9be88c62e68e6d7ac531ffc889b754467b5977bea2bb873013628b9b59dd3c2a4a57f69e1f0d0a3533e711e6d8f5c85a4c69a1a4b4639713b9e28e769ba0c94397529541457f73da - -COUNT=35 -L = 2400 -KI = 02f23c80dddb73564c22b1e2f2823fe7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20c0c7057e90cc73d78407aabeddf5788e423db23c280b6c2c3ae56321716a5e03db29663faffffd183df703c8fa7d59d53061 -KO = 331adc81f564d516465713e9942652b1d5497028d151844f2c5264ff372d6f8e45f8fa8d2f47b1ffb597c7b3ca90f2ebcd8b156eba3ba94b5856bb0cff700cb8a41b61e78afeb67d892b4648535f363c3d71c3b40bb2b0641e6395db1d16dac2251113da82648c65eab7cf13cc77454c3718b3220da9a22bc144e0e91c9178b8bff9bb49603fb1beb62cf437ab6855882b2d7e1525a7474462f2335b61f39901ce3502a256879ff27d632a266a5f2da02037b8ee6174ef009f5dc7c1f9ada6d14c141a847e9de515be0245f6196c5ff9b43d6e76172376fc4aae145c4b4b90ef0c72cd6552fb367fd929e62e1c867933ea4438df3bebb0a4aec921b9c7ddb6f7c6020ec1a22aed9b2f078adcf485ee44c9c3c045cae2083540dd9110f438a03e43caa3cf2be86088cad4205b - -COUNT=36 -L = 2400 -KI = 149d10e47f368f03cd2c8b7aa45ddfef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ea23aa4967dbb0e7dc38269b28ebdb0b71650fff46c40c6032fa0720eacd98e426d8d5210637c48348cabd71e1783bfa3d074 -KO = 785b7b62460c57f897620f741fbb62dc6c516843e0d11d9ea2897662b1eef998002b5b85ed13ab3483af3add8c392f832818600bddbf58ffb2fe65111ec3374ac7e7d4ccb8dbab3c05825b09cc2a6bebfe7ecf2edb34258e919081bc4a6ec3caf2d9c80f0a2e7666d4817568239644acc4340e59301dfeab04a1271ab3a4b94185f1eeb5c5d878c99f58e44e6681ec013d477b79a9546632cc10403433f59381f48c89d5a7aed663be2dd60f7c4e9637bb42c4e4a39068f35129fddf83759e1f5aef9d6cf1a3eb52b5b438d738165ebdec5559208c83bed52145e10c6d839e5fc86dabe5ad1401b07493232997b1636178ef8ee7a57628b28050987c01a93009685d9bb05cc5bfac898778a145a9ef4136eaa8e5b2f37df1fbb08a6c397439dec31b1d408485ea445965ede3 - -COUNT=37 -L = 2400 -KI = 111500c4cd9385fd42b615a4edd9b201 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e86783add7f0fead1c6a52586f0325fc9061955bbc5effcd046957ea1bf167b730602a1cd7ebcb462204d5dac8a594e558c9e9 -KO = b47c5ba2493e66508e56e0a34418541bdf873a948af725a797905de8c9b82dd636f241468216add17ee1351f5e0f6c8b36b618a8619567d76ac147dc440f9bbe9704d42caee08fa22e73af6c99f630a17a0266ed6facc7afa76275412a67454f8e04baad50a0580eadde306157edfa5cf2abdc23708369094f68a329a83eaf33aba1076859fb00d79ebf31e839422b7cfd1e402c7a74f0e42150fa4b4fc335e1859e27c47ff346bb5b3ae4f0cb21e18001f58cc1881dd186d721fbb2e00385b008c5ae66532edfb565a674b794a444c3e2a0f0bf2c6587379fca1d4147bc997521ed4989ce6102bdf6ef1cc97f8c72b16a355bdadb902c39349a6a18cea027c8c95817d4db49cb80e33e51a53b6b783335ec40dc964274ff95b7a76a12c0ab23315a5535d1dd8a00e6b00a8d - -COUNT=38 -L = 2400 -KI = 885ee27fe437abbc33322790fef6e0f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a165ed200a8bdf78a5f5d1234f68e7ae067d7b81f68a039ca83cf60a95a88931d9d98e4dc717f177d44d13d114c3057aef510b -KO = 5d0be1fc8f5615bc8e6cb2b0afb53299e035437911ec9832c060c638d9c219e66fef846e8b51c6b93f4eaa12dde1bb1f64d0bec72461fb97c8f4efb2060abcf619c3a7b13b2e6e51e8edaf4a31b02a62ea2dad1b447d7fbbd9228dbc54fb7e68a0ae336102e21b5c1ecf7c86568bae4b652725a0cd4effe205f28c983589dd7d8279443ccfeceed7ffdc72ca2945c92124c9db8fe32008c9c9cebf2d01c9b47c29c28176d73b3b624030add8a8906d7ab884e2780c157eb80d4063e9fcee44d6898402ae19881e8f220e76cf00186f6967596b41bb2704196025ed44966b2078c7d4cdc53364dfe42206f4243afa885efb8b8365c42ec7453fb30848bf2733fa941a3760c60b20fa2ca2b4c1aba640f8b76312ec7753c567b4ee9e0e00d0bfcc5b029c12d33f6afc440f6990 - -COUNT=39 -L = 2400 -KI = 29120de4f14b2f89aff1ff904889cbc7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85e3153e78335dcad0772327e4c4cb6696cd0aa7f1cc689d3dcd39c360f0a7dc5dce5d33b3c970e23978de172cc0f41461c245 -KO = b88f6aacfad82e71e9adff22d9fbb5b33517a2177cb30006eeeed51df5af2b558d74aed5f88607c3986d8be0e9dc22fb37b6b885a6a85e7a8ef6e9e65cadd4d8b7a869c9c7abf078f30dd97f8534be45bbf21d705a02fe6b6dd4786bb4ce7b1acb96d021266dd9b115e1997c340c1b915b82d4e3fd95001d29ff5708307b5ce5946e2243288ea9f9970d2eef5088a187716a0764985198748c8d845808f6f95b5bac1018c2c4747c8e47cd9a86060d009042f13ef9dc672988a598b7c0596617385cc89219a604d4c47077fc4635cc1583cc080b01453041dfc0a0fe2a70740483e694a1a32db857abc6ea5082484ea5198c56c4e11bf43eef432f4aef61b32f2c7e54a483e147d327ac44fe2d48a6c4d6acfdbe8403b6a9d189c5d272af3368d70bae28dcdc08fe14561811 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 69ff50d637f5219527c6df66f8a38afa5184a6e146263c41 -IVlen = 128 -IV = 537a7a4d8500e4c43b0c1e063f6acf95 -FixedInputDataByteLen = 51 -FixedInputData = 57e17e6f5d9179c8c3a0768572a31833fd40387dccd5cf05e7a9c94b22edbdd7d6b6b37db6d14d11f479a650217dadd6a3882f -KO = 9e7f8709626cdc36681a83f4ead5921fdbb91fd863bded8b48aa7652fd3275a242039940c664ecf6edbe5356e3f9ec234b9bca6002c5066f40fb4123d9fcaff5 - -COUNT=1 -L = 512 -KI = 9c42f553db21f46596f8b9af1ea935ca6f4e9285826c2641 -IVlen = 128 -IV = 5f2091f17589d18404f0f09f8b8f1f59 -FixedInputDataByteLen = 51 -FixedInputData = adab8d9cc0d6ee7aad63b13f3fbc893eba61c21500b2f04b81be9ac54f8841fa1690bad9091052a51b3a684f84cdb19b0a3a6d -KO = 8d76957945a4f434027a36788d7f93f4df96986104dfa4ec79dcf965eb4c035afd5b61872c96051df2752a70cfe2be5199fa25f2b51eba77cd1ec01e3d400068 - -COUNT=2 -L = 512 -KI = 6aa27bc26592b28365cef91527cbe9370cfe6b770e44fdce -IVlen = 128 -IV = 1817c6ff968afbc99f088a7af926f6b7 -FixedInputDataByteLen = 51 -FixedInputData = 8720cc25122ed3987819c49efb4f9c70bf70c732ea67703765fdd365845b22ff781b0a6e7921c2aa16bea30a59852be33ffbfc -KO = bd1ac5a84a15e68de861c39af73b961c6397e1f2f70e32c616a7e897a16d5831636c8f6b9942fed3198dac59adf4d243cd511c20ca656c9c7d7c38f8cf590d5e - -COUNT=3 -L = 512 -KI = f960f910cb65775852a5808dff5937c8fdc65a4a2970d77f -IVlen = 128 -IV = e39a4c6deb04b4d94030dab19bb167cf -FixedInputDataByteLen = 51 -FixedInputData = 3309fbdc9a6943b11ad466697e33322af98f963b6e71df5d117dbeed10ab4abeffef7ba419b00e3d502e689f351cf5e0e3dbcb -KO = 80a71d261720d62a298b2795ea8649f234f4f04822ec07135cc4c177d01e786560e469cb357295f048d0dce4710fb6f8119164baab8fb5333a17c94b42d52d3f - -COUNT=4 -L = 512 -KI = 19c7701fc74070abfc82198f2811f0acf35e99ba43eb9151 -IVlen = 128 -IV = 7de4d75f38cc761e6ad106be42df8e99 -FixedInputDataByteLen = 51 -FixedInputData = 0a5aee4ae7ce6ba6f71bd50b4ff6ef49ea577d1481d85a3f6db92eacada70b1c9e21902cd8565f1fc6861c936e2fc5a87a46bc -KO = 1ad911335974e361cae0102ffa8fe3a552ed55c448a65efe235d58a00df0c465ce734dc13e68fc5c4a94c83b92fda861c8c3f365a0c040a683824cd0d3d4d5ce - -COUNT=5 -L = 512 -KI = f026f1367d5082f7bb85d2e45126777aa20598a92cd2b9e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a4f37204050b27a36f4c5c51aafa6994ae927a968aa21e0e1f354db2bc87cc250cf85789a40e4d0203aea21953758ffa52e1d7 -KO = a3aceeadfb279ae729ea8f7f8eeb550d28cf53eefc693f53f5aadecf906f93d1609f0eb4119031b9a74b110b40c5b976d026c259913309b1b8ab5710de5a672c - -COUNT=6 -L = 512 -KI = d56e96225bf61c9c986468b4436482ad978fe0932ef76045 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec934f98c9d792f1304422f6bce28033eaa3ab7f0ca8b4fc6a6d3a272bef931c74fcdb043851012bf485c40411a70604de5c7b -KO = 828f7cc6035d634dc8543642ac211c76d9698a2c4c9ad3ea2781e9cfad68f754aeb07f43090d1a9635d262cc7fdfa1ee9a2e8f2293e6b72632f16b905f8b58bb - -COUNT=7 -L = 512 -KI = f6f5d98ae93e7729ebf01e08dfdb01fa3c3d2e21a365867a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe05c62d7ce2eea737b07dc2a5f85865af101cfbe04605de521da414143b2efab27ce8c7628e7644a7645fbb03baa124dbe932 -KO = 05915ea8caa238be6cec4d54e0f9ce312613a45b90b9cde5474431c0a7608790eb4dce56fee93c62790322c226b9ecdb9e45eac29d6db0977bc63a4862a01634 - -COUNT=8 -L = 512 -KI = d6f05c16c5a4217869b835ea59b5d15e00d40db14127fdb5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f4bf4f052a8d0039eb48a066105f3373c65b624caee413d24cdf427e0e49f3dbf1e3020199395c0d6085c85c193cd23471ab70 -KO = 201148d17d757fbef35e5ada08051112d23e2c0c76f004e0a094ccc498a0bf6c189c3fb857efd88edb5fb2ba9e55481df116200c1772edfd98fb0adeab592afb - -COUNT=9 -L = 512 -KI = f977a77db3986914cda7611c00ed9c27436402e188951717 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c538b1a0344e20124bcf6cd4eb33ce3d4dcbfc804775d059a91c53013d073371a4ca30d286ee74144f824b0b589ec4eb7916a -KO = c6458432a3b6e9141d2097741fad19542a5e692d68a95fe18a8e415164f8938fce49d0cef5e7ead9199d2c4b2c33ad28b914927bc697c5f2e039d3fa599d624a - -COUNT=10 -L = 2048 -KI = 7492223e06bf5ac66c0e00ace075797508c18f21e6cf0f5e -IVlen = 128 -IV = cb82a03c5612515df8c28ecdca60a5d0 -FixedInputDataByteLen = 51 -FixedInputData = f3b6dcfae52e72bc54e36b80f5cd1e1078a9cb0e4d98fbe144a62323a71f2aa1fe7dc8e3dc4be7a70c777f22ccc8a7c37953de -KO = 2752e0c6909992b2a4c1374f0d073f7d5e04f8c971dd75d2e2b109ff61b7fc145c1a318de4662665d80a9fa7c8861d86bdda1816594267cf978df214e231c092691be77883c09e5032268c817bae5fa592e10a48d2b57247d9bca3dadad3d0b635fafd8fc7aec44383ae7b9aa458c44d38592da0279daa565af2021f757c5f673479bdd9abe15a08a831c84438d20cba488837fd15fba23e73405fbd91cc6e327b05b475f83d19e07e39802556d8349f4b6b4ef3087802c9c49624f00364bd3429e58ec85b0751311ecdd34e6c0b88e509b7a7b5105c333dcbce7da35d01339a4cca968d9b0a85d2da5c665308e03ebf6c2f1bcf066f498109d6ea7cd3c150f4 - -COUNT=11 -L = 2048 -KI = a97690a9e2005c41a41a87bc98ed981c4edaddf9419707c8 -IVlen = 128 -IV = eb66876df2ec4bc2473101d74130fb6b -FixedInputDataByteLen = 51 -FixedInputData = 5eacdd1a2c9f4b5b026d109cf399caf086dabc4a7509e3a951905521ad29a51c33785b5d1618e20774830762399575e6bde6a7 -KO = 22932c75c9185085ee2d5d06e86b27b9ec9164d8c605506ac7c2644a0e42356b5f62f8a07dcde2a3c64de7f32d3d16f94cec3aceefa9a451c4d34abcbd67653b56c383d1f470dfb5846c56b37d6a1abed8c015e5d4406e222f8af108c57a80fec60bd8ce06078cc16b34c090442fac54cab078ce5da7e771e51d545555cb76a3919c9b455d12cb33451f2cb959507e6575bbcf6c5efd517d89984ef7fc58f9bcc203f2066edbea8c7f768fedddff9d38c8ef92451ae2edca5fdc2d10ef1a5b3db61654cf709f25d229b0a769f65fc9e2f9b27545c015e7fa54759cef0bd9a352414ff201ea151eff6dc733132531cd000ad2fc6586c4055dbe431a19f439ff2a - -COUNT=12 -L = 2048 -KI = 60afee7b91e7dbd78e94483f622c9371666d3db7bb049f87 -IVlen = 128 -IV = 8d406d9286965d7e93e91221dda76460 -FixedInputDataByteLen = 51 -FixedInputData = 341e3b4dfbf6ce11c65f37aee9336729c7d2823e1ae1e01e2c112af2063a8302168e1de9e677df07baedd77ab6a0ff05c68724 -KO = d15b67d14464d36dce6fd18a812b17bf5fbe1c5c2a6411b34c8f0c088e54de76dc12587e503125b556cc0bea25577725f17134379f19dd9eb2aa341caa185c87da812351147bb758150a5aa404e61c79ab2ec5ef1e6143c104149e0e101ccd1d237ec3d2719173024944998b8eb0571079eca6281164eb079cb28d58ea460e211357cc78179e86b5c15e7f29368ccd910b9187cf5386cd72d0a381a5799e6d6e55a4531685676d4cdf8617b11f4202b48f96d45be7c1c6263ddc063123f6ae3413536523f5b1a04d9c5331f06f4a7adb942b570a85d5d57ca2974d3ed2ce624e1107457b45afd68bcfa70319d84918f687af401a6096a99b49339a83e074f619 - -COUNT=13 -L = 2048 -KI = 8e77cdfc7f67c1eba3428a18f923395c39a984c31ea62a98 -IVlen = 128 -IV = 99f713613d7d06adbf37d61141fde3bf -FixedInputDataByteLen = 51 -FixedInputData = 13070b8255e7e99e64d79d34aab008b228f0a7a58a9c5f7fea8679c8fd488da620c871f67e68d1633efa72afdf0b977451aebf -KO = 9fce6c1edce0983a20ac51c145e99aabc23958bceec02037786afbcb2fe6fa6dbe900cfbe74f5bb819f12b3a21f8ab67a8836d385ad8f022e8c980d1013877c6ca125371cf518ec0a002c3e42b072d869ef2f4c0ee50f86a10e8891fe97f4781559299672dec8dcb555f5df3cf0a5c9c5dc45478e396710c4eb777a719ee0b362cbd82a452f27e7db4da7d068ec5f9c481aef263be1db33c5f8aaad385779884b630074ff413133ff4cefccb8687e8c1e6dc027d36c31ae0ac53f6eab317ecdf35f9525560d3f9cca549eda56761b7d838ba89d042e03edb0a4c134f25d23c1b5cb897b62bb5247053a740537bbd4b8f3e4a0285851d07b1156915df6a04923b - -COUNT=14 -L = 2048 -KI = d48219596adbf02cf33be56b5b6fef10e1e7c23231d22756 -IVlen = 128 -IV = 5667674b4043da73a985149e4976bb0f -FixedInputDataByteLen = 51 -FixedInputData = 726e9e3ffe6d588a663c8636187f73fb8a95150352dead7dbddd47b62dfd70af40f46612cd8db7ede6ecba22088be9c802633c -KO = c6e10f70bc273ea13f906bd9a1e37c1074b1d3d4a8eb12dd703d4b2c68da2df1bd0bf66d0b81885a63690a52f4eae1d8aaa01a08d0b690f2b4ee364cd53b7f608c4723206bf3ffb846a03cbd266505682d0b873a036f50ee791243eff436325e3eedf3eb411f67298d6a43d63ac8b4e95898b7b620c7cf459f9e395e8e0f2ceaa4a01a44a8248db230ca9b2a7928e6b514f5883883282be6bcf217bb278112bc308645afef8bfc2f631db1c1a2859a3b0ce96dea37c098a6840f641b355ce0186f1a3eefaeeae7b4d74112d8e86bd320b6468f0115fd5ce0f686ca409b3c9c3639ae6c1c7b0ad1e341996157477a34b15cc13bdcc71bcf3c600b7b9065cca25e - -COUNT=15 -L = 2048 -KI = 63cb980b3e8050432ff7abaacdca2513b2eef1461279e498 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc7ebb00183c836ef542ec642d52f4a11709df5db7f70b29489fa0d95db912f4632012b5ab42707bca3a7d77df2f7a80df710d -KO = 0eb6b78eef8114a712ae663f1adf14b7ba7e21741cf22c2540dc1377be7bf7bc3f3bfe82f26006886b9c25ee0ac123d9ceadbe45dcbe58bda5bcb52894daf719f64ed9a9a81c064d4f9613d88e1c4a3e60d6f9c4a27f2027d5cd623ee7d71cfc31d27296382ef5f9512f7790b0e62b511ec26369b8c74a4d874e5104903da8a8a1f67ab159644ce995c03153e392fb6621c4b164bd8f6846678025c59258258a833bada96596aec08c06b4ef36a83b3f47a64452613161fb1c23c482fbbaa50e1082d0aa16ec676d4ae039deaa2a2bccf234b4e9e61b93a465bbc8fcc9f79e4da1b924bfab7fb76ec5693aee90d67f4125a440f50ed8ce81266fc06a8a15a377 - -COUNT=16 -L = 2048 -KI = 33172ef118fadc89b3ca96c09d5bdd912e534a0053fb706b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3c7e9438ede34ed141a6792c553034ef86e9d721ade0c7e8c180cab85fae72ca01ab6d35260e93c15b76490ac6509e599eb78 -KO = 9e809f45978f7cea56e34c5b06d3f8146f191d8c58eca7eff221a556bef75cd7ba9cad7c6f3389f09a37fd768b19503bbb4b723613855b8f8cd0c1aec62881d68eef1cafb54b31201d09765f2bae78fa02d5ec18204141424111dc5d238cac3e32928583ca26e208ed4b3c6f7a1d1b545caf856a65d0d1a3d1af36f60a17d137bb8879e73fef2c88638f7793636f42b735a90406fd5940de3b5645b464079eb20bd0e6e49a63f19e8b24ddc64388a319220334e7b3c952bd1e585c0b6e861406557bd2f182e6e43ff8b7d14b654faa8bc85c2fe6f271ba6831b0d6d99d3781099038d4dbe0b28e5cb62bac9e7d0c6339e537c822f37969bc6254c78cb3e3a73e - -COUNT=17 -L = 2048 -KI = 5bb754ac1479d87afc5f772d8475ab92aa50597a150e7e24 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 455bc1931444eccd4d6490e5843f8583b22866bc34879f6417500a33c3d0b101f8e4226247eb2ede4559055e858cb718789cd6 -KO = dae5f055df67ac5bafb601147458cfc34d7c6a982b352deb1e6b54fa5e9044454fb9510d81d4dbb69b271a8372eac9131c36e282f0bd55ca2f83f05dc5f5da47d93417c908f2172025c345b2c6481e48f53463406b613c4981767ee31b95573e8f19d3be0f0349c56a978c49a26acea4a7b4c02bc81d6d17690d8389238379b868c9e9f6abe7388c16ac063132652505cf25740d97c38e22faa5671169dbb01eab8fea784a9142a010d7b01b6e1326349d264bf0b82211c1bc8499b9caa84475c3b6f6702c4dc7ff5fb29f0928e49944f671ffbd6ea2fc64ace2b0b8cdefc0fb6e70f9a2f55f3ab44b4fe7599c333c3229ff342cf568055b6c36b5f6a6b0d7ab - -COUNT=18 -L = 2048 -KI = 366cb9b3b49be88bc911ceea742a882a8f75ec3f68ab35fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ecf86ef8ffe8aa67b1b6dc0b277834195f3104d8ce7003fce527dd95f7561b834a4b9c9b02782860b84c934c29ce4b272e8d7 -KO = deeba0427ee89df5c22c2395bc06dd38d3f7de25db9265f7aae716e0bed9111f60f92917031b5ea5ce7142f6f4118d1d743a7a7d928a7f41f9242c4f090323ccfdaedda954c54fcf39b834dc18c3213a09811b751686231cccb729f47c17a18c05b0f66ae690a0bfec27d071d5b98a47a70c353fb30d1f57dcb6e9c7b8baf1e355ce6412446798587ba1ea1f2e6fd8f52c77ce51d7dbbe14bdac6ae03bd09fb1c8c5e13b1e15fe278224a5e7b6375ce8768d49fb620225cb5fbbc12b89cc467395eee84a380160c2487e0b567bb36ade918cb5d223acec905b2b657086bfbca8bc1cabdc48db702f99f750bacfab52ba71cde5e138247bc00a0ba42e98a0b5ab - -COUNT=19 -L = 2048 -KI = a402d1c31c3db1b22a0285a46ce4e98fe2f288a99cc485de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72409dd3d43b2ee67e33f58cf9c2718e31c0727feed241624ffea5643f7dde59026e6b21dc92976434bb5e8b6565964df35217 -KO = f1aa0ec049d393756542215c705aa7d8db0e9c688721978da72d11e1232dd73458a2713cacb99e691d9956d857fe5cde6f049a2de8005ec1e65d129e44046ef0922ea854e77ec7814fa47687ccd57265014e744fb1d289fe424d32eec9ccbdc27554332a1bcf2b347d21e30aa52cf6952dade4a8d9a587b590220d9a1ab460bbbb2097599a007db7ae84d17f18d9271b6a88b788d57730b0829e5d68737ac6535b897bb0ee3c18c03ba64b73e489c901482752bcbe684e23d2e93bf963d84a64ce15a81dc87e2a4f2f2262ca0a8132d6efef933073d9c4084fcc71f960998f3f5fd9a1e9efde8331a3cf97f9675df6ea96d1d7855a8200b782de85d1bf8912cb - -COUNT=20 -L = 560 -KI = 56fd258f51aa5b73c67eef41d8a772a42dbd128aaa8b9090 -IVlen = 128 -IV = 15ca6c59d809c3a88959d1b5bbaf8541 -FixedInputDataByteLen = 51 -FixedInputData = cc4539a16a41df58be3a6a80c5a359dece4a203a64d7e41ea18a6bd01e1710edbfbda66c41524ee039e2e43997cb709b035522 -KO = 5d9fc049f802ba36b8c3a8ce935d4c573d36d23e308da08343bf732081f5f5382453cf1b9ff28fcc6fdaedecb64c383e5d51d5d0c111a39d27bc27db2511cd8fefc1a7c6beea - -COUNT=21 -L = 560 -KI = 011cd4a889482a89006887c4301f3c489867b8d80fb65f9a -IVlen = 128 -IV = 058285f30a97fcbcf2272863528bbd00 -FixedInputDataByteLen = 51 -FixedInputData = 622dc4c437780c516a9a3f538994e2f080051a43785ad83918b7405ca9be7eef31c19ebe421879b9553f24fbed944f2513775e -KO = 16f06b674f461293a061c1e2dcf9f4377a933cad8593692122022a328ace16e6c3fdc89b93f049a99a12f10a527311ce2b46a3d9e6fb387f3d094d42e78851b09c317fb0bb69 - -COUNT=22 -L = 560 -KI = 0bc16f10b2e0b71aacc440ffc2469fddd066f1e0e3755bc6 -IVlen = 128 -IV = 9f72846db0ddc28500cfcc6a7a461c39 -FixedInputDataByteLen = 51 -FixedInputData = d129de5d8207ca3aa18f7db3947c87770ec4d39ea906207b75fc47f890509333479aa822e5cf2e220eb1c63e40d6708d8739c5 -KO = 591a203732974ddfe377c89931fac7a143986705aacd5076bb141de3c0c699ad2a109a74abd4410dfc3311fd7e6e09724569406d7e78774fc36250781ae16d61ee77c097a1bb - -COUNT=23 -L = 560 -KI = d398708f796f554b501eb642c730a0b38a19a51285a37307 -IVlen = 128 -IV = 3a065428c6be66107295d8e3a2c7976b -FixedInputDataByteLen = 51 -FixedInputData = a2a010ce7d4b52e64a4079c099acde6a41df5505bcf37662787b3bf8eb71a920df942dde5f26eaa0fcd720cc2e47ed6d0abb03 -KO = 65feb1a8a527723a77e2e10ae055d4cc3f9d6cb83bc8483cf1785e672515781202900e3bc1f50527c7dd589e00b864da45cbaff8cc65a39441f573d7a52238298ec92a525650 - -COUNT=24 -L = 560 -KI = d5d54dbb7746102992d0c9d52b1be481a4aec2158e4b1905 -IVlen = 128 -IV = 5afdaa3595f0c8549eaaa44a782da82d -FixedInputDataByteLen = 51 -FixedInputData = 43a4c2a1d370af635db3ee4769d757fea44566d48edf330c0093106fd6cd49b07b9bfcb6e933cb032f7e24ed63854a0234dae5 -KO = 92fe76a4a9c525433436c49bc827183f95d91719d093e7bda4028b1792d607cc5db9e0063616fbc4cfbc07b3cfa360058a9e3bdb6782799627fa895c0cac36d1ca40c30ac14b - -COUNT=25 -L = 560 -KI = 4f0e0a6f2ec7e251ee416450511730f9852d336dbdf120cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1647510920212bbe58c5ef6ced86b4b5f60e82cc2dda4a35d4bdb822bdb2b71bb160b1f8b02b21e92311833b475ed0ba47b7a -KO = 41af1235b1725125b7c8032413e01b4bb3886e59839ba47ca9e5d8ae328e7b4abf687ee02e959cc6d0f6e7db45551246a6f37dfc6c4e655d3d4525ef57c9afdc0895283c7082 - -COUNT=26 -L = 560 -KI = b127c83270ef5eff35062cb9089ec58b25549ff95ab96ba8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d86f8a04641d7753231944ee2265e1375d389e6d24d1eb535af94895715f2cc006c1fa5243df04744d8fc1e41492f752f81fd8 -KO = 8542be69b7b3ef245f6f64b71f290d41849272bbf261da61e8cd50c9587399f2c2f04ca7cf021c85c11c0f0f8b5c5cd7f9da42e4b80732f758401ad6490654a59c4268484d16 - -COUNT=27 -L = 560 -KI = 91af3e0741fdb944fb52d507d190e8cbe99955af20774ac4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = acc73bb0f5e9787bb8864c5848ac5b3bcef6f5a7d51affa8fcdb822ee4105b06db81e39524717e8c6e215c7882c61face13bdc -KO = 50996475ccc217e7ed56e2be019be7b83b2088cd0ad6ec9819706ed9d48b3ef5cb0ad8c80358ddb2f314cffa3488a868ac089d7046ebb816c5fa485ed5796f9bfdeb77946f14 - -COUNT=28 -L = 560 -KI = 2e5b590f393271d03c785e8a0faf6df53452bb5b62b455a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe98b5bbb4d99cf6a11a4f71f2e6d050a93aaad10d69b64b4a2bdba16d4a116b4e7763d1a777eac5e8426762ce737a0c76f0b8 -KO = c3f39cdcf971a44436f6bc8eff8b075fd62017d3e5c2cffafc107fe2f729751a6570ba1abdc9e0aa7351cdc64fea16b64d62a551b6f93ef5bf94d1f11e5cef65b2f80a1ee034 - -COUNT=29 -L = 560 -KI = 08ef6e55f7f78cd22a69127d723326881a32fbe9a324ab9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d7fe0a730ee0619bea9aa627eafdf510a7f91d5ad3ddda106d1a0b46ac7cdc5d7ec39bc227c242f6f8deb6c13f91ca741bf7fb -KO = 80bd02bcd03ee40f3f616a970a855d09ac0bc01300c68038e0844a6f622d44da7c7676a6f037175ef1fbaede977d0038026e89efd0a115bd5f5d989bc195f97a85f495184dad - -COUNT=30 -L = 2400 -KI = a0cc3779a90d105a1dca17ac09d6fb20fb269b7bf4f36119 -IVlen = 128 -IV = 3df366147b1d0c0a876fe5865c2be4c8 -FixedInputDataByteLen = 51 -FixedInputData = d00558ab2df3de9fb56842ae20b8dbf4f164a16a7b170da7031436e95731545314ba97f6dd9d387b127de968beb6593fa0dda5 -KO = a34053df9893b36cbe2895a654d726093c8fc10da923b25d656a1cad48bfb7c36a2971825ed4494aad8b23ad74c056d903c2653a37709762d46c96050fc2998e052a4b01e9a6766f2355e8f256ecc37a14972f773dc9668e5d78154d5e55b5864a38d297a320f3851eaaed5c4cfe316c124a969bc90a61af8c727ffb87be95c812948b6fdfc20d538063951b79e3640976bf64338d1139d7b8038dbb2232cb40cb9d39e119bc55d48fc9470c0630b6f93a67d406dd3f75b131df17a58ce3b70a9dae6783797b50e0a38581c546c322907df682e85fc72795edf272f7beda0dbbf8e14dcc677fa752bb9e6b69e6f5677a5d1cf4003d072b4c1d5bcb5a623c1e314bb75af7e38c9adaf2cd4ec1fa7675178e8716f6e20d6b5873d7f594975b87cf6b832eec21ba983ab00e3747 - -COUNT=31 -L = 2400 -KI = 36f61702f0e9ccc501eb89a7b6a4f78fda727890ad2ad258 -IVlen = 128 -IV = 1e6e5f3e710333ea73dc79ae21e57dc1 -FixedInputDataByteLen = 51 -FixedInputData = 7bbc42fa5f39d8272a15cb1617643a3236ba0dbba0e2a8674ebad825c2d6fe760378f42487713d7b0aa22ff562634d238f3e73 -KO = 7bc3e4bee08025cd5da82845663f1189d6e4fac849246a17a1dadd70b41ccc52d75939b6298a71d865908522c3c97759dbb65b749a1c42f9a839b62895d8ca078577ff35da2d35a1bc4782b9348b7de8329d6f646a54d9a9cd7052846ee7b432281e3f2bb4d8552a65788c0e285fca9d930121f988231bf85a46b9fdacaa7ac1f591ce5c80a1822c6d11f7a52483e7b0565d57b7db26320bdf5d76cdecbc28984a9ad188d788e7df5d79247affc2660cadfed41db472b616b4e56254d0196bffc46d4a59d50f64138abf52eee3265ce32d39cf780f5a6eafc1b1b4b72286967ed67892274a91d3b76aa66e2d51f80a8a528785ac57d55369ea79a61bea61459500ca088d2bf60152e8c893f652908aa26a11a70dfc4cc8fac759b97ccfc3cf6a1018d61696c7a8f3071e4cb0 - -COUNT=32 -L = 2400 -KI = 890ff547d8eb8173cdcaeeceff487a41c94581c5ce1b1ad7 -IVlen = 128 -IV = c1025adfe6322ef3de058b641206fbbb -FixedInputDataByteLen = 51 -FixedInputData = 284579dc743466159639bd498a68ed324b7fa9919e9d61edef77d14b541b6a0f8b9c3fd589718965fe917218c1b29730db508b -KO = fcc210c0835b15db3b13f7e3d6942128698f495e641d39754d21733cf9c2eac2034a716e83c90830a230fdbc6dab13290cac7e61308291aeaa6590f29ae11a5e9aa2c8914eac4726f0c12394ccf1ba6452398cab938f4dad141b1f6149de883bcb30265218b245d55e791252cea38d5df38db9102eea5b74bdb805f3344a9316f566295d7146501eacbec9811a6884fc0e6c2a8ca223a128a061a1716be44a24240051ef2743a3f22b4e2e4874ba942cc926ab4d05adb6a2edfeddcfe68abf7acf3b63ee0aae9c4b0f52a5d1ae73b17a0c0adcebba18af57e9a11b7dc157b38948a36eb741d2a681bc7a786f2ef71dd5c5a0af55b23d87f96406fbe137aee78a350178d3a8b4b4593348dc7058a0ad9fcef62a68d118d375073128002588b441fdd200c622fcd3a709b99e99 - -COUNT=33 -L = 2400 -KI = 6effb9a113e17f8e4429ce97da04e7fa2f63611b65be92ef -IVlen = 128 -IV = b6121837cc3f9949019311735a586d06 -FixedInputDataByteLen = 51 -FixedInputData = d79aaafe1a43f6cf6abc9ba63dc4c275c8524497be238b19ca5c5a81f22059840a0ae2347c5bfdb5a9b98af216dca8c13bffce -KO = 791bdc80f6a8996e100fe45a58321d79077ed34be4a2735ba95b87ab2c4078095aed6b9e60f33907cf1708ad93048c48f3dc621f58c552846b392998eea5c87738296923d4752c42393e7ed11ff06884569898fae48955118f17db49eaed9a8c83d0fc7f03e7ebdd07651447a589ca55e55f85caae3885b9f20daea289b9d48f9985e46664a5d102ca5f65949830648fd3d60d96bf816b8473b220a9cfe30207a03131fdc11121eeacb9af14b5fbb911cf2efc11f69f3ce75d84981f83646ba0cf67c82e3aa5f3edc76def4cf6a16d6a64ab84dcfd4e324fb0e8b7f17b1954056ec5c1ba172991b535f3f256699a4ecd579f12ce9955aecdd1ae667ab1d0eb012e3ac78485b3fe776d150f878ccca006a1ffb1cd4ffc1b170d6dc9c7196408f090547a015a590c4e3953c2c8 - -COUNT=34 -L = 2400 -KI = 62100badb3d4807fc501ef46f87ba87f2ffb8535966a0b50 -IVlen = 128 -IV = cd9d31ff8b2b504d44737311f545a31b -FixedInputDataByteLen = 51 -FixedInputData = 23e7dee0840a209aa25cc781868de10b7bae44407bef46e5f3fd90179fdf27b3bd2369be5db5cef7250cf27f1d05c6a1962ae7 -KO = 07080c9b87e761757bcfff47e67bd5dd1aa74591bb5f5725eec913e6102038b6ade3c9ebe6b00b64ec5a37cfb39ee940ef91a7d2925c8d86ace03da4f294232e5676d9dff3246f6cdb4daf00fbab837e95c7de0e3ca889a76984a76e4aa472d8bd401cfcec4d04228354b53f583ab0ce20336ed1c3b23db23ed37ab66d010ad7be990219bc5998328f47b4b38468f2e581b40892e3a7d53d57931edcd36a332e1271a4ec0aab267af46210dafa88254a04710dc8dbae1f457cd78780fc305d023868077fc26281f408166b70ca5172040e10c0c06bff715af3c1f8378a23417cd3b9944765914b370ab9ce73e4607041307290b21bece3180b3ff625c5e4e2d749cafdd02a81005434dcd70f13076f35d30e787c7a0faed4c7bae1ddb88967bf2edb576fbc7904e7fd016362 - -COUNT=35 -L = 2400 -KI = 9ff622fc552e020d9320aa0c6c24adc2b48b0cf8120d398a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8fd9af443f497931b87b5917168c1cf3df5e7a8569df4a1eba40976b24e9ea7fb5cfa2a9534a54c6f5ca87233500cffe91ddaa -KO = 9d481f080111b301bf387e1a296f7506e54d8a53d304981eb14a3c13e030992122de1762a240f4bb00d3a5bb5ab35bd30eae3f55fa400fddf35037ae2c8a84e2b18efae623569d47d05aa24faacc1765afd947deab792c5b4d2de649def1dd7c79bb3a8f19a1f5eb0042cb76e977384ea893aa116884849b45e745ec1988a6977aa7276c50b5974922e25ba02cb10eb2b9c14767e14edefc2a08a7d99aec8d185ab2bf97131dc9808fcfda9ecf7627fce862c56797e3ae67799098ed7f49540af231043afb16bd0d18073ea4569afd67ca4143605c1ec31a693ba1824796cd2f9be77f138ed492d1b5b5903bafe0c7d1488bf3d665d9305390febaf3d47ba1199f88d9bda845592a2a12e88fa601b2cb332f53767ac89c451852e99bd24e5b02c40be49682a57f35ecca7e78 - -COUNT=36 -L = 2400 -KI = f36ae46f5c8b076bf5a6895327ec09cbc6235c36d4864bcb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 76ad0a1c970a423c381de8b1e8a0959b974884dd376ca0d87c264a56bd40726161c59e6184dbb851ae3931a6445bffb843691b -KO = 51f224979e7681bf29e6aa755fd100b5e072b1073e7d7d81982315feebdfd4e362efd58c448d96007a005cd7b65732fe2ab9d6c06c4d8d38b25580e2dff1e696955eebdbe5067bacfe4bb00fdeb853c6511c91e537bbdb92b61f254ff954de9b886158af1ed8068be0a6f9d3af74d18c9abc766706d3f03aeddd29bc906a50d7a225245dae2729492e9546fd6ebe38c0a81c2664c009aa694ea7c080b14a157edeac58e5a2eca50f5fe46c7fb61b91f47f5c948cb2d2f250475032cf2a554a11c0236701bce68d677d78d0c33cfc7770a632b6b77af551200d4791aa0e8983453831fc449a76a2ec07ae5e09dd8d3c27b0a0e8401748aaa1d5a306f2345dfb1c0118822db7884b3cd5564809d3daad1b00ce630beb1f3a25dd1afbb0ae533a426370e69e75ee90fd4f57cbd2 - -COUNT=37 -L = 2400 -KI = 845a17726a266860a9ba2e7af7f2c89923186a4ae0520768 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82d20dd0d546f2eedb9118b69191ac572f57ee27bd9a3760b5b7391956ca503f24c128fc63b7c421119145ee3a4696f0682fa3 -KO = 1580f526ab20c4feb49583f868232b814a7dfd175c2e3449d75a1a05d00188df1c5df85a7aaf0ccd9a9db81076f9a9fd43d9058dd6fa2c21ca36e47f9f62e1838d56ed34d6afaca912bf03fdd81c3b4e098c7645d55695a6006d9c75cd0be2afdf79aa2a7138939bcbe7f2b401c44406828f39279de0d304680864ee83a558859ef2f4f4cea0268a1e72a1cfc86e11cc105b8c1c5b7641a590fe12a3927a05a4639f424cec8f0eab993989301460947e00dc3133a0b56c4251491c6edeb2381984f41d01a05741d94fc58791a148ba35e2041f7db785551eae8e96d084954b5b07e2b8ffd4681ca2eb6223de7a0cdf1bd058e8cb3bc7dccb6c258b40c629fb5e42ba9c205659675aa3d08493d7ea56e5af442daf49da12f259d7f57a8e2c835c58895c11936fd9a47894523f - -COUNT=38 -L = 2400 -KI = c786c405c10c87daa73c990351a0bc3b80de93bd77505626 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d6d01dabce92a31e6e20ff0ed13bec774b78d534c1c634a423754960c7331a87c67dc05c1df60843242ac4f71f527e63a31fe -KO = f0b8a2ec4de3624e68892c868f535e7434975b8b104b2d56bb5b08fa9e05a5a97b1c45be78cddd1a5cb6ced070e30efa2c3e582162a50ffb1b076b4afa0e5498ab7137633465201612dfdb25e88e2d2dcb3deb3369fb114ca91bf9aee69a35a6567fdf990e4c3ee54966eca1d6ed649b57901befeccdd8a7293b2b1498e6480ffc54e3ccd210f1edc390487a8c2803ee0162ecb4308b47991eecdca9196374c87340af21088249955da3b80003bb661819de787abff6432dc698ca1ebfde403fcef1699395a212f20bd38d422c48ccc911e5bd80502557a6a8c89906ed79143d5c57c69ff0be94a23e4cffe58fb8f994d62d9905f0f591a5b5f8291efa2b8dba841fc33210f31edb0568daea5d0d97e1aba90610e2647a8abf5c2f946bfe6bfa977d0a281b4a203aa61fc783 - -COUNT=39 -L = 2400 -KI = 0a5883a005b454cf386a0632350138b6e481c6f0ca33b9bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 351dd6e30e156bbfad83862626bf85ebbd647bad66bfc9bde59ce26e77ab903da544329de5e56b4319e46d7db14b9e249fdf60 -KO = 355624af30642f15d96752bf0e7602655f9d25bf23a743ad6591fdaca3b778e5cf6084ba1213a71529eae4e127dd561bce295403844a5ee84cc04061dc662f256fbd539acfe872dd08057cb685268e9e0fb1c4dcb1e65a700c49566bcc80191e27c918bab30af71d1974c47314799c7566e92956d8edb99bd8b16833382813f0420e6ce382db060d09e18b7fe080de6326205cfe1d9fd5c81c103603cd1fd4bf3097cc00e3f0629a3be3b28c7addeb77f2bf5c854dd384d6dcc86abb0c365864bf729941c811c9bb5cc66f9bfbf8fd81dd27cad3eac023dc1167abf4799006f8ecd696b0f39c82e5eebf86764ae3254223333e072ba542ca95c0f22fd09dbc554f0e463d2f1ce4c5f63a166713128bd39004cffd2ba067f5f44ded3a4bd395d54fa8fe6515ce7822bae6d115 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 9d8a80107ed715dd1ad1c4ab57b97819f33c241b9dacfa0c -IVlen = 128 -IV = 08cdfc89db9e37e19d807be409ab0faf -FixedInputDataByteLen = 51 -FixedInputData = 16caafa5604559a17353a445e08da7103f2f451750044c4b33a9603d791474b67e47239cc651a76d77a67ac63a9f70b611d6c5 -KO = f59c8331c9df2c5620a5d3de9abc94963554b488125dfb200768a9821173b617fba6a745ca3540d18bee5b60203a998b2a091e88234056688dff836a2a0a9853 - -COUNT=1 -L = 512 -KI = 74d7e850e686693ac81e8938024dd27df7599fb82df5696d -IVlen = 128 -IV = 7a2fe02a77fcbb26a23f2d5b473a1ff1 -FixedInputDataByteLen = 51 -FixedInputData = 60deb89ad7c7b266bc290859613d778cc095cce7a38410419b1d4936773e1cd3bba7bc76d581a6f6435be033f9a036ded11df9 -KO = e74ca8199075befd300ab7f764da770ae5a96a5dd0b7285e070b07a1c85b0cbe222cf854098c4672f052652efc2568818e72ea18c5c4d0073d11b1aeb3dda3a1 - -COUNT=2 -L = 512 -KI = d614a5e0a1278233e8ebd8231bab4ea05b38f2c7cb9bafa6 -IVlen = 128 -IV = f1f839c8ffbb5b7745db047545514839 -FixedInputDataByteLen = 51 -FixedInputData = 9a680a7f5191c7c36d97005f12659b51737ab01aaa88063cd2bb9a6ad3130769fb29e72b0abc555b411cbeb7b7f1b314e29294 -KO = f748c2dd7e2a8ece65dcb2acda7e9ea082099593cad7882a83d85b6861784ab04bff605ada42c11db6676cca1a38445b95d2bce53e3d4efd710ecd5cd8862ab9 - -COUNT=3 -L = 512 -KI = 9be9d604234e6e8927c05bf32662828bc01060427959bc5b -IVlen = 128 -IV = 2037ecb84ad5c82255d514a53ac36b6f -FixedInputDataByteLen = 51 -FixedInputData = b114e83733263646d573e6df1ed0c7ff8fc17e90a01d2a40c06b193a2b95d87ab188a9732ee23685e93128aae344c27eeedbca -KO = 36c8faa782423542256bfed6c952b82bbb8852c826ef0e1b09433e675fe822631ffbaf37ec1c70e0466ddf2a68654c4470ce35e49edbb5b6b3890e7404fa3079 - -COUNT=4 -L = 512 -KI = cf65062a26f1093e14e887ff737c7cb48a7d66959a8d586f -IVlen = 128 -IV = b4a2937e866e3c94cd907749f2ccb704 -FixedInputDataByteLen = 51 -FixedInputData = 8123e910bad13d6e98fdec6c8d343f18207fb8cb8c568aae2baa4ce81b5128d07e329b7949d7882b3c9510779462abe3490fc3 -KO = c4afee498722404b9169a9f376633f117a0bff34035a81f12a2a366c6e783b946366efbff8631d6563e1d97b953ef584dfa20e6eb7a35166a3617833d7383eba - -COUNT=5 -L = 512 -KI = d251772229e248a9b159e8153a494f2c39ca3d47d8a7a889 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be67732b3cd4accea6ac3e7af4a3955b9e15f826e4cf903cec2d01853802ffed441fcbc28ac25c856fc3d24ef15dea676d9144 -KO = abbe90e82de85f19af66ccae5112ef3f157fcfc882db2e372f5ffbdf36a5752922414f0881d37732c5ba4a297343920fd381ff91257efe11d25918ef32123e9f - -COUNT=6 -L = 512 -KI = 18b517c7529eb9c2137bbc7dcc0e8f38d4034d554caf8aa6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 46573881a756ec9d19a4a70a24acb705a5d3521fa24717947d670144e23cea66912e1607d9105454f9581c6fa85263d537f3bf -KO = b525f10705a71524f4800ec41fff4fe0acfe2e9cba29877c19c3d7c75808c6e4de5094d1e3ad54de9eb7dc636899854557d5808c2b0c1c5376b7c8c7ed8048fa - -COUNT=7 -L = 512 -KI = 91964c8bf0ac09bcf74bbf1e7222ae0b7a45972d8da78c30 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 90059387cf6ff4d795f9d657ff19e5be7d9fc3a400d8bed3b27c581530d94ceebaecc6019b44ce3f22d72f90b6d349db249d79 -KO = ee25917f13b75943f49f3f6d944f543d468a9fe9e63275f97434b83c2ba6a81eb2ec76b02a3009b4fb49743cb39ba99e49b87c724c70f23043325d02523b3384 - -COUNT=8 -L = 512 -KI = 666fa0d4d019d743d7a98ef932fb4c8312433fcafca49db3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35c1042ceb5bd548e4a6f49854cde1850ee7762d5090a22088c4b36be3259e4c0b4160d6b10ecf5603edf9774c2eaa207e55c8 -KO = 60a971cc7d8fcbe4b7e51a692edcba7bdac0146a8c55dd7bef1429a9a6e83601fef846989b62888373032cf69aaf6a16314bedba323fcd51d119910affe15ae3 - -COUNT=9 -L = 512 -KI = b22cba0cb976342954fb033d29e58c98041d4c00ad0b450b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f86d1096dae3bc7a2198f6a0e3969b658947429b4d39854d48e63cff751411b36b5e06061339b9937bd2aabc9aae5156a94ef2 -KO = 306589d6112e861cac01a20e61c66679d582017c770810ceed811dc494b1e6bd64abb657fccda40419313cebfb653b7e54b885e5051408940faf29063bcc037a - -COUNT=10 -L = 2048 -KI = 4bf40b80ad0d2862a2e70bc30b10caa632c68ffb862b7389 -IVlen = 128 -IV = 6388db6785ee9b01a747fb54954d665c -FixedInputDataByteLen = 51 -FixedInputData = eefd337a64ff52f0ac69705792ef3d5603345e90d54d726b2104016e4c6c45b41a2ab450047d5cdaa3b4aa8b1fa9bfc9d4cc4b -KO = 6818ffe6a7bba88999af2de19773055901da82551347d68f0421beb9917c3c6d6851939d4fff26cdd34c10dec78119013f4b19ca0848b342ed4c998124c3bccd206e9dca234d79c359caf50011b82de821c08b48a0dee0ee2ee42288fc5556623113b3b4c7212f78bb0eade921c0d809c2b866a2432f366dfd8c7cd392453442457b43d6fbbe573fc95c53e5ec84992e2cc424ddb25756f2331e2c006c153e3a6fceaea5a015ae373702d7cdaae14bd66a7fcba2c8acd0ce6c487a1c89a6074b133a408d7a67f7f17955bf0ac4aed4851b0fb28db74b15f6d7f7836a845bd024dd44daf6500fcd894aa34788d30587cf5b4e39593baaa4f18b2d39405d2f33f3 - -COUNT=11 -L = 2048 -KI = 81ca0942e2c69594b95b37611f6bd50dc6dac6a3df015e5f -IVlen = 128 -IV = 48c3908dcecabeb39861c6f5c455246f -FixedInputDataByteLen = 51 -FixedInputData = ac1b2ee087c4b8fc13b6a146db15ea4a5fed72b6b97f70dda57b8953b78a04f2834c3d4a0fddb589ed770eb392c27de09625d0 -KO = 37db3dd64fbd9b139844ff312570eb1baa761ce217dc23aec137aa052a66cb87eb0b4df99586f6c90d30d7cfd98a28ae3c5456a2f8bc24ded1e6b6bdbf25a1604d6730e59a064713ee99d089664f0a64b7a688c6c61d68edc766cab8465528a69ab2018b6ebc98d01476f4a5682ba734cdda9d17e8035853df3e650cfcf2e5eb1c47d8450230710a819f675ffd8a9963e001725529aa09718b75517dcd1ac663a19a6642ef1314623181ad27604b5a7d87a07048e77075a3bba1f05eb7f4912c52d9a6ac62809a64325b0173ec877057dd7cedb1ae416dd299434a168c08a7328caaa4849bc74c79032bf12fc6d1c4a055d8c7785cc0f24ec75decc6dc56a53e - -COUNT=12 -L = 2048 -KI = 9686d7fc2157634074c9b995f3f5a57e0490e506ce95854a -IVlen = 128 -IV = 1701cf0f5928915f95a0e600c33a2212 -FixedInputDataByteLen = 51 -FixedInputData = 9273c792706b1af638de571b3593e9592ecb34aa2d81c605fb388cf7a94d52b3ec64cfc7a5f93b79dd3816c23e48d509b76cfd -KO = c009c920aa13d989856fca4a14068f4452050bdd6732e3d297b6415977ae479f7e988619c6b40b41ca35bbd43387dcaa2e3a1f946da40f8c75e5ad9074b38880b0eda703098f446f840c856627619785772fc5b7800753ac60c9e0c3e37a641c002c00ce25e2be49037e860088edb953e5ecd4d6ecd6336b13b46de8a250a5808d807b327fac0dedae7bcf13bed7c1808a901c230ba17daf8d0cdf1f6cd09266f51c9919e107c0f6e6ed3ddf9bf10ff59b202439de488c46b9a78c48fb0f5349a62cd17a4477a71ce68da5fdcc37af70a88d28b5dffcb19d7f8fced78cc8c40a8f224bd9bf9b042036bd5573de26f2f49498212684133de556c1a86eafa90425 - -COUNT=13 -L = 2048 -KI = 87d4d12320af65fd9d0d0224445dd0e4de23379a1f5152cc -IVlen = 128 -IV = b794da7454aa67e314a9e41fffdafcca -FixedInputDataByteLen = 51 -FixedInputData = 19aa8e5e58aaa5c15405050e758cd64a68028321a810383f8a327f58080659976a8d07a5f557d9fb0c6980752158de89b5fdf7 -KO = 4da0f1a9c41606c7252055ff69a30c54ea8c927bd1e15db5599655de9a964abfb83b141637cf148ac2b7d9d90291ebd7398438bbd6e43c8d5319a4d852f75d07277622083f20336d68ce5d9903f1f7035cf998ac8301b7c88ddf95c08e8bce27a9cef5600ee9ad98fbff9c00fd89b1e26ea9556dd5b8e9768728441e6c50b184ad98aa12fc8e5d85627819cf954057cc9e5e2aa92c69e4631126d6264f0f9193345f673a5585f0943b29d4a4669cff11457541136646827d25497c9f6d803b6555f67988902d81911f3c34373b1d50b1cf3c253758c0d0212f972dd40428a2ed7fe3c234ac5cb212757d14f9136f7455d4ed6edaa1ed0132ad9c38b6501d2272 - -COUNT=14 -L = 2048 -KI = d0d1cd01b9bf974ddce2108455be42b0c0af8d53aac327a0 -IVlen = 128 -IV = abb0ad728c60cbba5c0e5960c1c41e39 -FixedInputDataByteLen = 51 -FixedInputData = 891946136e2398c2e1a18f10acacde4fc327f76b0efe41d4f94abe324130b2c60e04a75af4f41e7166327bc26535b86758709f -KO = 230eedf5b13a46404fab8a95c328411eb9a5b92f5159cc237e4bce078d7d16a7d6db9556d2fcb7d1b2bd279535281c62e364caa10a7de16e60474d242df7040b03c91427b4ad7a32f2ff3974de042c36d42ccd62e2af457edb281544b7f4154045ef63de2a809fbc359e10e2577ab0b4c86df094515490dd72697769c260e18c068069e2664162041646e3c56493cc323ac1f912cc60d0159757c2b336493ed1fe70349644dd9ffb4bf88cec03a2a498f5cab5c531a0d8295cea57f21451f6afc50d426601d5181dc6a52678da89c2c66db2fe619c9988a97c30570c841b4b3d06f893b16fd28420c24bc2fe9e396f681346217b05fbfb08aed4726a138a1976 - -COUNT=15 -L = 2048 -KI = 8aba565e0b3f8b14829bc7a15dfd70e334cb779e66faae9f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2a4f975d0ef571a439a7b8830ac1cb65f335e7107840c81a7c03230574bd1ca61fea08b3395e694e273a7b83d604982c382f7 -KO = 550a3e074187557b293854c48c5cea7d697dfc7fceba0ccc28364181a175227e7a26027b8a95418990196c8daf9f526422bb9a3f2e23f7defa6c1600bd21b1d70237ec2a7be27f04713e9e6de6568dbdf3950b4481a322e8db84b6c215f55b1a1d815adfa7e969e7f640200cde481ead27e97410a9729f6c8e29e545463a96c7dc9b1a157d45d1805e8af52a116c0bd44dc4fb53ec90888455aae22cf16201c71598fade269700604aeff2a2facd4f369d88c3b96ecb0a7bf248a4544bcee91d31db2c42bfbbb81737dd2b5791d5e68b9c145786a16b0bc44931d3781f8f947b613da7c9c46e46fd6f22cde336e4852972f8a3868ac6fa930d98b8117c351f35 - -COUNT=16 -L = 2048 -KI = 781cb1c1e296ea3d2fb97cdadb2f36de82615ffe95727181 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a83b26571c9e7eacc9e9275a1205ce0319edd1831650fc5230c17022e5e686d7212405e441f8f0dc71bca658fb5f48bc4c24c4 -KO = 526aea73b88d9b51e3b36a3f7a845efadb76de5056e6f219f8dd4ffc4467e71f111e23f5fc4ab7625135e4a487eeaffeace5a68d834ed214d2ff29dde8366efd01cdd20b1f71dbe6fd89b08f66c36ecb7e91dc3536647a2bdc51705573367b34c702dafac3ff21255aa86f14bd09f5c992f3be29b6b79202e2a9a4a9bb935741fdf57e8b4798d2c852fb2b6b50d88aca8edd708dcc5a6ebaf36b967b682173d788140527fbc9cf76b36225393fb26bad5c9eb160b4539f570034272ae7b3fd910e97f11068aea11d348df3caaf70ae7e2dc21e4980db3961bab400b4ca742723144b0688f136d6487024300f4bc14e92b3684669fc1d8ef678d148f3b93efde2 - -COUNT=17 -L = 2048 -KI = 41e85d0da468b4da5d4a8a577e292737f329bc466ab7d39a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86a149bf8cdd60cded6e59d8d0849b1c714addca8dd8a0fd2bb4a8acfdee91b71e98de2acba3348dda6e50a58668c66fd2fa6b -KO = 83f0f160ba8b77708a135a040196a2a925c1aca42e331407e95bf821816028a2ae7be1375c3302c75693dfbdae6f3774504e2b19d47e799ee74d46942de7053aba7969b21b84fdefab131d656e7616df207bb98c27f46a84f87e87be2d35a43f360b61b813f500ab913fcc9f84ad5ec5c54611020a312d0bcb058875489ed923353322bf1299dc0094b885a82d47d6a613e0cd8dbe706c809c40c44ff3086c86f9fbec0845255e37fd896dcb53d21ce040168788cbc76fc29fb0874671e064b1c8159388f3a0512548bf0367bd1a9497afd6e8552770936135cad630f2c2d23062d3581d20e84e2a7a549937b1649e53d29b3339eb9dfd656c35772e1fb7e6bc - -COUNT=18 -L = 2048 -KI = 49307860a50a200d9c13d7039963336b44111ecd5a599d40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7a56dbedb7475cbb72d08ddada3836b64520b68e22a8a31f1814bb1f7cfbc3efacd7d98248b53cb70d6650df0af0957effde4 -KO = ea1947fa2fa41b1a60c58dcfb0ba623fad4ce399106e2272f44931e357902b9eabed72bdc7c05befb1481a4100dfb968cad288e46ec648cf6bea9da780e31b939e33e393984f913198ceee92f8fa364a8d2e2677e4d1bd1308f9fd850af428b654756d925276bf98a753b441ad74cab6d31101347b902d126c1d2c92e32e93835e93f4e1ad42e5e3e6ca67475a7b36e89d1768cd4030d5aa05f1c9302a8ec5ddd5980a9f5f0e5bdf623195ee2f311a942699889fb5c75ca48c2d00f2732ae9b4297d629c183f67c88c4beb639cc1558f110993c000d67258957d69309b39153589b8450de1fb09abb4eafd72eafa5693c4d877db42967cc76f53fe17d812f45f - -COUNT=19 -L = 2048 -KI = fe428db946825fce8771360fe22c4f2908869beaead469ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0392805d431c6809b27b5e3d9df4c9afd49d28126bcfc6d339a2dcc81ea418d273378e71d8e2f72c77c027442a1bc84f8bae33 -KO = c0bff8475b150f725dcb83c34f5150b8d194c750040167278f5ee32eaa4fe18b8868ab4f2c1a54b5648f8b9c0fea1194454b8e5e2afb36b48dce406b2450fbd05203cee487ec6383e5b4ae9667c89d3a2eb24ee3acf47f47eb5bfcf350272ea0c85902ca231a72dd8a5e55d6b2c17ab8d3b2478c5514b8e3193ffeda48cf38074ecbe56af2bee7395bf2d6fbed97e4bcb9128bfaa594db8df6b97f0b6cf6386e85b68a3f75edda211b094a2a89f8fd8fff6befde0c5ce2b14428d54363500554a8fbb08d5b7a9d4ea1da74dd6c71fdc7d11dd8058f4781e033226b62cfccc83dd0a7e9b82dbb5160e8ea4e71d0fd336f3064a2aa2cd4d3ca1eb9394634bcdd1b - -COUNT=20 -L = 560 -KI = a2bc2a947b64d26bed8ab37a205bbba2139652c2702af767 -IVlen = 128 -IV = 13c59ec1d45e9e2fa0aa0ff85e44a5fc -FixedInputDataByteLen = 51 -FixedInputData = 3a0fa9a23061f77619e6d5e8b6de2c706c82ce5169df87c7d34405f7f9da10b58d6eedb1180d814be14804f6e3f45b492a12cd -KO = a9d11e9da475bf1afb011b1cf4b903b4ae26fd9aa5cbb7e7c277d354db53dcb276a9fc15ea10a4a7d60166078af331d0a018799933b1193f469c33f72f5b84e7f583f5451ae7 - -COUNT=21 -L = 560 -KI = 99981a74f0c701be2f0a47fed1a938eb7d7f9cda3f28bb41 -IVlen = 128 -IV = 3b0a6ba154c30a92ea770ae99f8fafb7 -FixedInputDataByteLen = 51 -FixedInputData = 176c7e8dd916045119c54d12227fec7774b0bff5e95ec9036f4b4830f92d10608ab4e8ef2197c00c27202fe6cfddff880b921c -KO = adf90720d120496e7d942368664a30b88a286708815ee0811aa53a59e9502b22267cd0e299f345c887f3dc53f7910f6d355ec403bd6ba7bfb1cfe8cb7c7155674c15175f76af - -COUNT=22 -L = 560 -KI = f56e7b6c4f81e94ce7e11c24861eed42280e37abcef2e590 -IVlen = 128 -IV = 10f5b5eb8b4d633971ec2d454f27d906 -FixedInputDataByteLen = 51 -FixedInputData = b0370896a78a1b936653145131e01c96abc8d1fd5f57db1d2ad50844098b76ff8d37271dfd95ebfa645ccba1905dc6d21b87d1 -KO = 6bcf6825c965b74edc8f429fcaf4bea41744b21def32fa2af267acb6f800e57148f5264676bff4a478dda972b9a0d96c43db84a67f5b2aa43a09cf7521944fb5e154b03cad7d - -COUNT=23 -L = 560 -KI = 6caf3aa0355487e6309f01f0763141de067bcb901de2132d -IVlen = 128 -IV = 9be97e50c3564b8530fd53247d04e27e -FixedInputDataByteLen = 51 -FixedInputData = c01af0101e65da7100287f89c3a79566520fdb4f68bfb390c552cae80465902269da3358e97a1b31e3d0e7c3a0b59e83229415 -KO = 7b70b2cfc6609a6a6426fe6c64254dab41d9c3b76f82fcd8a8c4f752188ccd8019adc952f216acca45cdddecdf2b5a5645da1b98d66c03d1ed85c9aa63ca7b7bbf6d292fb6ef - -COUNT=24 -L = 560 -KI = 916461c810764685709b961608e9daffd8a13160a389c3ee -IVlen = 128 -IV = 477be36a9520ec51fcdc6ed5315cbbc8 -FixedInputDataByteLen = 51 -FixedInputData = c7996091fa9c175e0d7cc1d8035299760e94a9be027a4238d3684434725c744f66d49e1459ab8fd562f5502c89dd405ff7c162 -KO = f84369497f868bd5685eb12b161c525fc637c9a48f2ff64c466086680b85bbfed5873fdc747ba3231dec3e85c4e6ecb47e3bd86a5d082cdaacd77ed97cbf829f8f2bcfec6699 - -COUNT=25 -L = 560 -KI = dd12723c5059130c0203bec6ee32073f941b1d0ff6cfd385 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 22b73450cec3afaa7c8df62ca681a7e6e210dc57d2b43145b76b4070dce26886ac6b3c43c7f413e9f2af92de0c736741f93deb -KO = 52f2595a0dc533b9b484d07072f9d4a4333f5cc597e9218e40aadbc232ac929661d50086e2cbce275e23c4fd47a5c80d1524f456b9a83399e8ea746cd01d867232b8ec9a2aac - -COUNT=26 -L = 560 -KI = d2003a04fc47f3aedbbe32024e8d5f439012e09d8ebf74c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f6fc8220c262d6c3326ac0e0046a6fde19992eb46b30ca1605de65cb8cebd570e0831e63c421936a5e02d0404345444e27c92d -KO = 1c59c7dcb4003470394132545ec786a02b331e06cb78195f3336ad3342aac8fdbac02a113c3cd2d4b916965b8bc6fab7c3696b9a1563e02bf37a507946e99bff3afb115cef15 - -COUNT=27 -L = 560 -KI = 2d74b7c01be76dbe21102927a450ce61eda361532c08736a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3115fe3c1842ab142413ad441551c85df0b9b6096ba403fdfe8268f2ea2f43ad197deece9487be0ad1424cc233b6ee5e1421b -KO = a3787bca6d9ed458c8d56ac85512cc233442ddfdd951d524751da4e79b73881a5ea62c80db58bf02d458470b7346e7da5a409a5c452afb0222d5a76ef120bc9c8f0b117409dc - -COUNT=28 -L = 560 -KI = 769af925141f3a4ac2f6524d15281d3c036d026a4ca7b5bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed11118175fba238567d62c1929378440e814f3ddc065e02a941b84494443841001f623d9f3cc6f3a45683396d322b365cce6b -KO = 34de0312e4348acbbcb02564df3f47928f65a2e604abe9a3ac9443575b30fbf47eab8d4fc70d277b344ee01a35a628b870d1fdf201a1fcdfef552fb762dcfff149d967c4a6ca - -COUNT=29 -L = 560 -KI = a0058024f6aadae424acd8f0e4569109f902ea972759202b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0694089bbed984d3f90087e3f91bcc7bceec2a58601df32135a5cc4bcd36926ea68628a5295d113793eedef046c3148f731590 -KO = 17f03f8552eac952966d1a015d02140eefc3d5b7388fd8ebe101c7d04224d376ccf9f0367fc0462ea9aafe34bf260231a8262a8c213c5a45d0b0380dc7a4a72556dd8c3db75b - -COUNT=30 -L = 2400 -KI = a3137a2eb5bbc57163f80310cfb4cdddb6c212700a053ad8 -IVlen = 128 -IV = 79afc420756832182384c227bb31c11e -FixedInputDataByteLen = 51 -FixedInputData = a585323c7326fafb43c6305696f581f9286887ffaf2ae0ad815bd300b7043ef5c7803224c34f434d6485a7eebee64d961cbe18 -KO = 90f1225f2f41dd12c630eed37e5457cdbe8df658d641806ecd0a9771a5d1a0399a463f72fd3cec5663e12ef524023856482322779adad42cdeca0f7ff2233701825c11b7af9166a9fef05a021dc228a14cc16b34ad91b3b98919f8ccc9c969cecb8d5ac2ebbe9ba99ba53533cb08417d6367af15f00e0088db723938fbcc17f6bbce26868a9a152e0714b129a2a9cc7b977c3572ceebc3899790b4076ba1da48e0e08dcaef41427f0705af2a2ba783e1d1978cd78c15f94c3a4b31d4d3cfeeea7c1c05424a54282d5d8a4da46f45285f705131aec82b8396e1a6cba48f7e969111306541cc3b5a1abd887c0eeeab8214371a86a519a94b073a0f21dfacb6cd3cbb9a5923eb25440ef5334c9b57a2c051df0ddb4486fe5901f4f24d82f23c2e63fda358ecfdcadd02e55b5758 - -COUNT=31 -L = 2400 -KI = 4e6bad8c0d567f08c8e530c848feda34a65e99f45d6e85f8 -IVlen = 128 -IV = 577e9968c25c28e57a0bd01ead18e561 -FixedInputDataByteLen = 51 -FixedInputData = 45c99413bdbd2ee93be8a407d850c703be5260e9deabfcb4c3ec1b2060daa83d8080e7f24aed2fff8f158ca3eb6f37bbf45689 -KO = dadc85612db8824252453caab4d64ee4160875cfdc48827e2841339d1aa38f259cf42bc4a81789c9f90c157726d4a27b7bc0714be519591a47c437e4a23a55c88fc555481aee1080cde8fad47ed1791ae9dc36184f6c5fa32d79ad32276d081a022c495fc8b72be46d15aa09e71c361fbef3ca953afa2d4e1cc0619794ac6d8d65d042f662f7e603ad1b69819aa3be0d7b249004209e283be8466fc7217cbb4f50babc7994d20b07c0cfbf4d4bde66fc2459c0c5256ddb849f5d78977e2e5f4595c0c246a1ec09c91ca6dfcfc5878dbf9aea176495fbdb3df04e164def39fa2a9d1de0544bf797ab5756d4b04a9ecf3274c4be601045933a6b9ced89ddffced460d6392f495487b97a9acd3f99a814c4f9dd0833ed19c1fc3e8055128eaef71e4a87a3796e901aaa651ee670 - -COUNT=32 -L = 2400 -KI = 245df4bd2df69d3653b6dec2d2189ca4ebfbf631d83ba5fd -IVlen = 128 -IV = 43058f9dd5c86f7e65e84558201a0849 -FixedInputDataByteLen = 51 -FixedInputData = 6e0593e3eb59a39ea5c1ae1ac0b230c6d508bd321c01589eaa46468a195ef4b813d8d0b42d82376128060b5b8a145a6c4f191b -KO = fe5669018e4105097cae4d6c5e8ec35efcf8581b8ec8b993a09b262373e4283e5de538ccf13bbe5c57bff3c639e782d0bca288c9bd8350832e1ce78052ff5549ce6881319f74ebf6a2226856de3685fc7a2c2c7a9bbe0e4185073253e6f7f9f875b2c3886adeac801c85882ac2f3062761cac77583b0f2c7e288d5de475f922bcd7542a2d137c8b7adfe8bebcf2abe1183bdae26a6b8eddd5f1891ac04106df0b1e48b5ea1873b1ce813f5e1c4a4c5bbbe8abbf743d9c1e035b9afb05a0022579f03539e45096a86df783e8656ce2bbf671976322bf4f3f0b048cd6d2c2bc92a864c51a7fecc829f08821401cd9cb9e6b0babe45f9fdea8a32447931bf8b04ce493c43f263b9442018307a81ea8657267a08e32cc9dc195442675b3bca543957b6dc28ef6347dadec60a3194 - -COUNT=33 -L = 2400 -KI = a219a7c9dc072078e766fea633d223493479bbff7b5540dd -IVlen = 128 -IV = 79e0bf961563255e44f620bf6cbf111a -FixedInputDataByteLen = 51 -FixedInputData = 1b9a8a94de329af1e2f2690e8242a6490162e06f37372a9bf0a57b4291f9cfacc6c463c18a69e646fb3ed2cc6a13783d066368 -KO = 624bf9911c5217e3a6763a87efd38a278076a0231e27ae2b62d26883e9533b7ccce90eb7b35f0968999637dbaeb1218492c7ab385fe74ab98c42c52f7ba2d02e8dea74c66ebd5a5ed9fa95569699d49ee51d882127127f14dbc3c83333070ec59f6d6d308066dd8ae08261ba516291498ba73010dcca48f7a61981a5c3ede70d500d56dcf44aa110b521bf1c4bbf9f0708ce2650d9cc4c035b0443f0c85fc0a7ddf83579f317f3f507da0d173c2f1178b8e065bd19586a3b265114beb5bf1f4776fa59549fa924933aa6d67908d7e904ea78d90a46022095154bb5aeea102393223fcca0df32436c1d8bbd6cafe138d466ba1ad7abd6ba200380dd2c7b846fd62a9331a8b6e0eec70367875b8913145e4dc30cbe157f4a22ea8ecd1f4908b499921006d16422627bb2bfbd71 - -COUNT=34 -L = 2400 -KI = 33d8ca4a88049b70938fddfa2087b93e460cec0b71d2a46b -IVlen = 128 -IV = a4594d746fd0593560c9a01cf3ccea8d -FixedInputDataByteLen = 51 -FixedInputData = e2b1d569e39426e8e7cb3924ed70f9438f0c800857749a53efa5871fd65fc3f10c95ab71b4409a393c4af2906f91fe8ff68c8f -KO = 0598d86a4392bb7c696615399a771d38fb76879bf5d9b0e779318f7fedb3e0e406c9b435e1cdb36fc013529c09cbcf252150afb4e36626298a2a6950dc45da81054a49090feb21ee3b7833cdb5e4589c1bb2c62ccdef27e90849f6e2ecb32b9a01cd4fc2c9ef8342e5de51b422bf9a3daddcf27bd01ff8ddfd2df282f4c5a00f0a80baa06199e47e6b8d3a9cf3dffbb05fc55a3fcae38ab7ab187972adeedaa0834f864893e2018772b2d83608486274f1c2c9ebd09ad0a19727874e066b91c2ed938ff2ef4b42120e8e9522c99a2a6d1da26d57f10fa3fc302f89bdda5f1bde30feb9d675596bdf81d59f91ad2efcd72998c72480630e62d67a9bd27160b5fc17bf718c1a7a2e3114eaa3e02c890ba923f46a4b877597d7966b8e5c650258c1ed6360a2baec9f6709466943 - -COUNT=35 -L = 2400 -KI = 4f81b5d1fad093c35f3f58b49359be895f23620a983b5a6d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d16ed42845367d0028c35041f3a7191ebe3ce2195d92379f28bb1096fd68d22f324fd694955cccf2cfe8cdf90a833ba3f95098 -KO = 273a84d228a5d9c0802358202e2d9855bc71e2c5321e7c3d905c6ed193ed9dfb1e7990c84c96f4f68087b429dc71948cb4eb7794cbc0871635ae3015c57ec542265d66910d2c9b1c89e900140c25406cf3a8d36a5a1aac03a90aea77362fdc4dd125dd419531bd9b1a1269f54e75550cfe2b9d6c11920bc441670ff2d274c2567dd62f82d817e92df09663378e97063808a3041e7528e5e1ccd534aad7305ee5f6d9415ed357ffa860d687fc7c704df1ec9abe883f77da29157a3b63ab3e765566b91d492008473581df0c1d3649a87f229e1c1dffb27af4787fd220572ccd36c9d1cbd1e3d2ee5e9c6fd1da07289d67b565d8e6f0db9248748cfc59b3bfd0a0ac1ced105f0e9b5f956bdc0f6b36002a10e4cd56dd1d7c7e737168793f73174174133c3c80745f89c9197ee2 - -COUNT=36 -L = 2400 -KI = 738c4567a0064591a85e6d9eded23adc05821f3b425f4ce4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e17cd3a8e55e0106634fb1b42d90e5df58b3ede3dd77e81f6dd50dd872705d043416ce21f42dca22c35cba191ee29e39dfad55 -KO = 9ee008eb7a872bd81e0ca2486527f2db4586498c8c3f36fa24c8c43f967af741dd2ebf97944c3df7f41afb55519378f9c083e91080553a2ba319302b9fb0573ccf6181790e5c05a709c6930e562df57bb3bca13d2d279e5082ec9841b67967a7b59ad05e3f85fa0041f6ec70e01a8f074da288beea3dbbaead1cd8c7c8e3f2b60a373caa256727a7f06b94ef327987549fd9504a7d0db9e8454da6ee1d29d43108b325b382c19d95f1bd91f261cefc441023a9282a0ebda1b6aa338b788c76bb2d2917371b6b3e5027803fb2aead2092ca92089037e5f92e00d04bd00d9904d18f0f49eda8119651bfac9770b2d1cfe091fff7ed6818e8f25ea68ebf677d2af8bfdcf76bc69a7967b805a0b0fbaa9393ca4b8b27e8cc2b7b1c40304eb4ca2c2666bec2175a94cca3329ea35d - -COUNT=37 -L = 2400 -KI = dcb035c57db1d1aea9dffd3b1f720388b3d03895e5d35835 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1b8868da9e06e4744e2b3abfbb37cb564e2cad8c04fc70f8bc94392d0c02b47d9e24f3f36e3da1b9ee108a33a475ecc7c0e20 -KO = c4c04bdf56d6e7a3302f11f662e739d67c73e31fb9ea7ccfb2222980edbfc0291e766761bca06d0102b3cb9e4850dd85da2b3d728a8c4baae5f9a25981e33c6ac39a4b0362e0e4c0724c49537371d2a6611ce380f52cc74f15340fd05d3f932d37c76b3369e7d9ee720e87ee652ba1fab3793a853c4ecc20af36706fdcfe00a6e0ab688e50d894e6874253579a8bf02aaea6e4eddcb56da1ff5db15980f9c1dd94da7c82d82940b8238354f6e6877b09622cca49549d7dff60330fc020a96ff25ead61b5246a4f2e147d90933fa16be36d17d4293e57000f5f826828bfc98c27d8b5a3e026cfea903e08014b26bb3b33f41095447fa6db5637a410c1c35187e4177e5f7d986c962c45ce94558ddd58485bc05025f3cd6dca5b4325be320c58c9f6dfc5b5fef7c8fd5235ec06 - -COUNT=38 -L = 2400 -KI = c71cc88208ce2df144c7ba9f4828a3d1cc8ef83c6f3806d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b3da807c8e461fa99779a3130325114da764813fd90f0b3843990f67fabfaf6faac4d9f355add155b57f94224c8f07016f4562 -KO = 03846435353fc1c66409b3a0b2621c38062a1239c16cda4979f127390bd46e153e8b4b438b8561c02631a482593836fb5f904c41308850ee8b2c210f28b0e142e7c654b7ea1ba4dd2f73cde921520913aa32a32a6bb0d0b121d1539f929fb9caabaf727d1df5e422ed5325ba0a476a6cbecea0cb823079cf6c739ee99659647303ac338c8ed2b3d89b9884345f4c164ae3e7d0895cbdd51f30529390f768651a34e6f235e3f9ada347d51dc0ec4f90d87849620b451cbc1be0696eba14abc85bb7e6207989420a1a72993b2c224642221941831ee99381200c9750690ab712d2d0be94e38b2d85dfe43c2d8edfa55fa4edb70b8cc0d6d7024e7b6ab5823813f017807816eec4ea4c82d740d29e41a2a981f6d4550e6dd1a21b663fc1ddc0109eadd0b9b5352d6bbd789e7b74 - -COUNT=39 -L = 2400 -KI = 9f6053b9579745f02a11d9b3091536be7d94c200d9e490ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5076ed50c4c229a30fde017c0134f1f9f625e84dc11e6a61e03b33c7f62bbbc217fe2a8a5056e28e0a02d1293adf8b54f0a8a7 -KO = 8f9d7b85fe0fa1bc59c642fc9e77901bd06ca43162407f6361bc5ee86034c07a2f1a7d5bf1ba60a5d8a2e6aa71d1f65b4001107de989c9985d5837070a78cd1c4c20093040df28b69d453e6ff27dcc781ddc07fa504cfee62b9e6ce493fc70f65c38b5af5db55d98feccec127ec4e1c282ef461f217eee5950be9d87d948a62ca77247b8f4fccb213d6e814fbcef6541b37a162ca4e437eebefaac494cbf16589f23517fe529b67ae350ecd6eb194590aaf25fc2e6937f135f910569600f3d2d7e4515e67f9b0d0bd56e18728900342b37cf8b3d0d0f830eda550688e3bb9ec3f9006795c5f1c2f97f1eb260e85e56a05d567f91fb298e7b232e411924743f756a0b7609eea175984f99d817ed2bb0609e282840fdbaa112dba71f1284db472abf04908ac9fcf46041f03fc1 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 570a1dcea317e335b1ab965c287c02aef30a4ac56a33e4c7 -IVlen = 128 -IV = 65a75bd074fb10f54928d8976fb16a61 -FixedInputDataByteLen = 51 -FixedInputData = 7ba9ac2217f60eeea4fb04300e6d5be2820d51c242d67deed36b591ef5a10d1494d409c05f8cd2626d231feccdd47c9a162877 -KO = fe266ec326aaeb45004f1a0e8ee51ea553816434bf4945c6ba7905d12e11073ae11f7a1b5d412f16272e473e5352c097bf691ea4566b57b3fde905421529de34 - -COUNT=1 -L = 512 -KI = 1ed1b79000f0330c98d469e4650e2f77a83b59d1b79f7878 -IVlen = 128 -IV = 5cfc0ef623ab21cc50883a5f82088f2b -FixedInputDataByteLen = 51 -FixedInputData = 87f16896eefb3152f6d32bd2c5b974237da05c6075bf264bc45c94a37ed265dc0c0588afe5fbd168d0505ee395e71c94e0a9eb -KO = 1a3ea1f7cf14ed454ff656d683c7df6ab4d1da278bf4790ce3ddb9862fb333a1f0de82743b8a1666c97876fb6468d76924b2cac1463849daf2cc857b8d6072d3 - -COUNT=2 -L = 512 -KI = 9dfda2bbcee054938a1e7d72bbaf6e70b5849fb4baaf7a04 -IVlen = 128 -IV = fd91e9be3d9c2792ad86c2a380505fbd -FixedInputDataByteLen = 51 -FixedInputData = 509b303c64ab7165f0998b3a21c5adb05792a588065e6f8ac2ec8743f6caa15c2d2d87ca1e02274e12e137d6204ed67f1a0ac6 -KO = 19c1b6794472544d139603eb286542b3bbc4dbc78ae390e4604626a2cbe337bb9f862e155e3eb756e3e53f53194949d667458a5e03931a24647d63ba3a5f672b - -COUNT=3 -L = 512 -KI = 41d6ae7ba11e990158c6a6e8d080ca2f4a5750fbba073555 -IVlen = 128 -IV = 29a721e0fe0699bf974f2795a7b5110b -FixedInputDataByteLen = 51 -FixedInputData = 2098be071dbcc40fa73ac3d252a9bf82fb2b94557f16b9d89abdeea1228dc1dc7370a5a0683077f38a13c91bc165ed56e6ce49 -KO = 81e8efae58664e4186bfd3b9fe7be893b9d0e537cadc63c3e630bcb3689a00d60e968179ce2e7da8084fd6a2f194725c745c9313ebc00fb89c7851a54232723b - -COUNT=4 -L = 512 -KI = cad23821bc5a6ab9b9d22950e9184805bca30e463f665085 -IVlen = 128 -IV = 18d3defcc2a2f32308b78055fa408db8 -FixedInputDataByteLen = 51 -FixedInputData = 47078e362f32b90a49951f0b3d947f18b5fe9c3753dee5bf09a57bec943fbd447e446997b6556ad370cccbccace3cb26f13460 -KO = a5cb5cd21ddf2f936d32f6c4bb59b0f93a3fa09101b923c46f6fd141bf8a85a8a9b3d5d1fabccf487ba32af74071f39712d36383d8e7934b41593bfac2981e68 - -COUNT=5 -L = 512 -KI = a6aa8ad942fd41197c40bc0f6e46fb7388157489a67022ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab8c3a831e1e4b6e2dc456921d1fffb93bae0db2925fee9448bd1e6ca427f3f621d7430d38a4979a5b5519fd2a30a9be4a4b19 -KO = 8e79663401df167d201cf339d8a1a21be4e53f1004f88dab3a030ce093829a122c212af911a89aaeadb9301a05fe89691a3c7e82e02ba2e0fdc5f97d9fc052a7 - -COUNT=6 -L = 512 -KI = 02f9893b264c0c9e9a76b1196b25f7c86657e4cc4b2cfb23 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3516bb6d8ea07b0f14e5408f0d6e8d8198538050c3fc7a76bad46dad8f47a2d33ad8c573304c10a92822087591d0ce3eb7c885 -KO = 3602768f0892be8919aefad618559ea5855c2f5d2ccfa41b943c902741d503d919224dfd422095cf776283beb5550ac35e7dfe3393a11cbe409f20ca0d8db33f - -COUNT=7 -L = 512 -KI = db5bde9355c6e8fa07835f3aa60b56f721f817024093eec5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 044e9f63ea2e86d76e09bb2642693a703ffe139c2db04ce7336572ea362db05fdb6a6fca33880d99d0214f3367475634f6325e -KO = 6ffe415ca746b1dd6cd82d1b37098aa3a37c63949e30372d9775df583546fad9f105f7e8e0bb1f8e5501a612cc397cb3231e59845629442428242009595beed4 - -COUNT=8 -L = 512 -KI = 59027ce19de778676320b00a836d8e4472ba60627201d768 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7bf253837490e44d9a81f2c08a8c1501e5cdc3037356b934c18a404bcfccccb68b6d318352119cdf26a06d9f137cfef9306553 -KO = 7d9479c07c751ce1b4591938a40e98fe4ac0dd125704f5d96f820e77318b740400cb6dce3e7d773888c8f1360dac02a20f062a3c553cbd93ca2156500f7d6729 - -COUNT=9 -L = 512 -KI = c9822afd4a470ee00ab2f073e04f2c5db7bfaff6d495e971 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36455213b22d861298d379ec253154e289ddbbf1627a90e77ea47eb8e3079b54934af49b7d8d41949a3fcc83e47a7ec62d6844 -KO = e46b41ab1f6d29dada2d1d0aacefa018123c7223f65902c6ea1d9dc0fe1d249b8d19b44b36bb008417d206f693fd6a756674388fd3e7a4d4f675d0748d237335 - -COUNT=10 -L = 2048 -KI = a2a817e99355c56dc9f2039ff42b71c1fd13ad5443faff94 -IVlen = 128 -IV = 250a4f49c8cd1f4825e89b36c8f2cbca -FixedInputDataByteLen = 51 -FixedInputData = 1b4704242c80dc771a4671b79ce973c16128a1c46599df6555c93618b9fd0161626d3480cf7f76478287e1f28780566043d8da -KO = af6d5fae2045180c94e2bd531e97b9d17a9d36c7829dc959c607ddb1ad98b08897a39365bb70c3cbaf0191efef46dc641535f5036f51508c6907ebafbbb5c3501704facaa1b9a97964ff0b34228d30e9df47418d65c6a978e669a67e9dfadc6a099abc7be60d763b4464b3e15044574a4bbcf8f9cbae2f4d2bd726d0199d7956c4127120e8d3316c54ca833262c54298af7a862595106b852284e3ba9a0910444d7aa5a2cba888e2ea01094e99f6adcfdf2bce31b17496f28124f74017bda4c2b34b40daf433ed90c59391b410d8127ee0f6517a55b7942cf397765bebe7fe0f7cd0dab012f3454d71e450e301865623d923c578aa564d5df9eb839ac4e21160 - -COUNT=11 -L = 2048 -KI = 059656eef395d48a881116cca4c2169a89de691e5c69d209 -IVlen = 128 -IV = eed618ce3c00e342171e175067bcd6ba -FixedInputDataByteLen = 51 -FixedInputData = ceba389d330b95d81f4fd0e6eab8542510211b7345a477665d794f6326b39398cea3811e35d68e6803ef4a5c8041dd22a64711 -KO = 7eda0a22f9aa1d7f8a56e2bfecf97c35ec78f020928229ac958c5b265506d422a5331aca231f3b51857704b5f5df537c50aa46a2ea4da1df7cb29634a1078956a35a8b5eb7dcb61dcc7512a2988cccdc91d48e3f8bbad23940006a81736de9015c0484a617fe1d5997e79bc4ad364dfb0853aa04f53f4c941c3666424dd6fded3a92d259f3bf894e31682e202a16641cb6dea60eeba84fac4f1c92014ca2fd8dacc05b1d1c39afe74113181022489a1f8b59e6256ee5105028ca8a8cbcf943c6a9405754df14111101e9ffed7187513df670202d9e7bf2a31d26540dc512ffa520d3dc15cfa97956ff858cc42252fd8f6aee46f7ee2c981593dabbab9c00d12f - -COUNT=12 -L = 2048 -KI = b19522f1e446c6e3efae66e964a9ac50b7905c0b5357f7b1 -IVlen = 128 -IV = c9883f142251c4bcee6bc525bffd4530 -FixedInputDataByteLen = 51 -FixedInputData = 8a4ebaf229349971442a6c69cf3af9919d1b9efbe67d28ed9c3fca48bed57ead9ec7fca41071a149ea23eb90818f121ca8d470 -KO = 771db1d2904192730257ad7d7ddec4f15db478861721d4f0d450135ce451ff2346d19110d64c131a4f85827a1077a9ab7fd92ead32840254ec48324404295a0214f36d3310e39dd2f3bf4e9b9f27f810449e1535fd1fd79dc69b2157b8afdc7d63de2e9ecd3d2d849b2ed940a7add34a6436a7d54c2992f5709d4c8a18ccf6fa3b4253df6409134cae5d2a15db1f1790646c5ecd3529acfb84ab9d230ea8c4c3f7678fef75a2dc5afa2d245e6cd99917d9b1f572a09e67f76561302970cec35278a77b69114b8c25fcf83482774b5cfb9f93d74650bc9775a0d2736be16667024dc23824507fd2b57b17975ce16102047360db3de2633a74995c2851ad40e5fd - -COUNT=13 -L = 2048 -KI = 754083deddd61705a00fca3d625602f17d786c1a4b4c54b0 -IVlen = 128 -IV = 923d80a781b5bf6232e96278027699ec -FixedInputDataByteLen = 51 -FixedInputData = 5e687a63a8a9f3b0ebcc03d03be8aa1be602565963be511ac86d51c41810c6d22b8a4ffa66f7088e4ce666f2b46b7ded786a63 -KO = 3cb5c2922153ab30e4fe305d8fc2ed1357ff053deeb4d96b155e5b65891047cabd8abab7c305dc08129f963044299e8aa8c33c1151db8d7bd6e42eb4bce5a1213e25ea5d656a851b1d84ede0eb8af732e80cda6222e46ec21e14480f08ea5af2d2b0594a1b93d1d0cad6b0ddc7b32a831a5c4d90e6fe8cec25ca924acbf1cda71d80e0e54634f6dcf71e4d6fb745e61c2b720c05b95922401fe3a148ad8681ee2cd61572072a72889137bc81d08d33d59e9ea880571238e2b5909a95a3265b07ba27cad591e542740a1574f15d3f7790cb78b53cfdf17d8d2f14aa2e3f67d1db9bc41e9039c8aaceed068cdafef1606c31a10ec1d00c6c9646bb681ae7c92625 - -COUNT=14 -L = 2048 -KI = 8ae3d6e38581c59a09767dd201874bf92871ea4be4e8f04b -IVlen = 128 -IV = 47e36124294af32bc887024a1f6b51f0 -FixedInputDataByteLen = 51 -FixedInputData = 4cbf3eb43056811d31995d00979f422d7c448e4fec15a7ddfaef8364089238b1a5ae963c032d829c6d6e96ceb847ce6466c028 -KO = 6d15d0356e7c5f5d642d5b41c970c55558ac7609bdd1e41e3ffcfc80c038e8d95de970208e96c1191891b06ee3ce8d0ee8c6464f685253e2a135b33e4b9f2d48c68f2e471b2bc6c91cc74b578aa1ef4c4ce758fd65463dabe552c01df6065ee485b0df0dde272f33aecf8da982882cf483149365d02d2a334aad18da185647e028137ad1be471c5c928ae8ae5951a5ae005c1980985f4b8acac0a62aadca0c1afd64e1633314f13a80e7e7656cc2ea2d5db55ad15edc0b9252741f869d611345aef7292d0d4c791ca0f45d2e12a5a38f3984cb4bf2e53f98f57198b6ef41c977f9efdfd4324e746f26e56c26510a9f078a6ad484d66e4979f2b0f22d29d4c4c5 - -COUNT=15 -L = 2048 -KI = fbd5e70c0718c33b4d6043b21204fe24305e67290fd6ff9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c66dcbca23d899274fd55f9216630a04d6f462627515b104a026861a8f84989118da1030ce5a1e7e8867e827efa0f08fa80861 -KO = ac9d0681a6657b7c96dff6564340a8a03575cc9d446be543259e57456fde552d19fbd04e1bf8a3c53ff9dd3b0b45528e741204bc1394f9a2d28955fe19b39580a2d9fd6a06005ff82d3b0f939823a97eec25f8f133755bc158d896dfb46604c2bbf629090832bd2ad196f2c29ad51ed74a94d82e660aa55e3e71c76eb8498b11631ef036168935e892cee7b48bc752afbd3f9b0bbb9f580d732e3513cb6a1893052ac1dc841f0b86ef08ac0077315671f4d54a24807e5f92ac295f889e61652c5e90091c1fc10cf9dd8506897368804c1319255b4c8757adb6e2115defec08dd6faeeb17b97fd0526f0ad72c95c370b659541dc8663abedc373c833a9d01e5f3 - -COUNT=16 -L = 2048 -KI = 75d4d2b9a2dade98d48c8a7c749a83958d402b64ff21c4dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5e4226160603693dd5c5bc952c3aba0136fb2bf5b366abb722a8d49df0ea82a1adbdbafa0ffaaadec8b22e621391f177f99d38 -KO = a3ebaf71ab6d89d7e3225a95cb54e52b89041d7d76249f518f105f256c529ca1eb5daccc17b1d1ee9d24231c8c4cd3769621ca9129529806a6a7e3ccb469fcea6f386d49ef4e0511330fa2a97617b940586b05515f8950a86369cfb13c4da0ac9fe4e8cdb559c364ca3cda15fd0694590501ad66e146ad74b1895c472e10fa27964934d2fa2af0ec44a6d4ee57ee72905e9c8fbf5d4a21fadc7fd710a470947b79dddf7b8b0e65f033ff4361dc98b5b285ef1b14b2949eb66ff77d2d1da226b9949747f64ebc4d7a8c30aeb1514e18eace373a5914f08430836af72ef771442e57d7db5bcb1e5bc23f9fcc56ead944709236794732fc0a9beac3d4a02938f093 - -COUNT=17 -L = 2048 -KI = 36de1bc866445feffe92e5b5ed1ad44ea0078b2c6db268d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 47d9d5f8e6273c5fb566ebc57b78334a21b9812eb76c331ccb339103f26555740e0d8414aa41acd4740c4b60625e81f6846d07 -KO = baf777a2924bb37add10170ff1ab937d42b89364344553870842e92ac765e8bad5de3ca61620ae8c3a1f143556f5a3db40e0bac5e670976f432e5cdf4b7a329a53b16c0b6dff95a713ccfaa877c00ffde2ab2ca9beb954ca3c4135fa28e21d761325b4b5195182986d614383ee69a6ad065dee19c73013ac0d6cfd52be4f62779cf3846a1926a01e6ef57230d4052bb8a69005b337e8e62c31d55dc30a2f58f3f86f5b08b7e33700bc6de80d72ffbd4dde7918f145c31f78c6c0584f3507fc11c383d31cebe4cc0d9b7e75a33ede9144d2eca38443b19cf0d9387297b3f24c1d8e5b8e00fa13140277ceb6a173876edc0ebb55cd9c6e0805036f112e84621994 - -COUNT=18 -L = 2048 -KI = 7986f7d15573eda76f18b1a5bf5e28b0be62e493ef498747 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2acace289165f80e876acc51b50cbe9a45892244d6e6d9449ebc246addd6e6da2cc2d5c5a2cf5b4633bd8e5da0e1ff21a1127b -KO = 76688c8f9da7e6b276155c3120002d40a2a39bb68ea9eb11a08f063cc7e63dd7a4ddff4c1da04bcd9b1ad91f23a0a5d6d7a5101bcf70fa6fb08ce2b1b296fb0171af9dc51430d462240afba6cc203871057d2915bdf8e83f648eb121b08f5765508734ef0ec8de100ce7c2f0f5fde7937ad39a18ecdf971f24d14a843070df13e1b7950f9dfe59edb69f3a10edef12f73cdbb7bbb6c586ff887b1fff5dfeba83b25b8e3c458581a9999b658dad45568f6f46064c56d5065347a72ab2e383b635a070ff22199c93e674538f551d4818a7660638ea5b4dbef93d684441155a0ab77026b297377843264d576705ca0c147bf756dcc8f8d2b0a3b8cabbd256a4a580 - -COUNT=19 -L = 2048 -KI = f9c7b142523f1cbcb305bd541526f6e2b3a8d816aec247f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6ffa60cade926ed1958692da1bd5caa3b18af386eda8726fb615cd60c13adcb62168626753f30ac1e4605f43c66f8e00452149 -KO = cef1f7ed68837852a5076c49e5235ea234222052f1a22a6f33319f4b93bc8010f4efd52c31874a92f0150185844d536f70d9c5e0558360d5d9ff26d3aaf5989dc957d6cb69117445d4c851f2c1ed1a94eefe853689dae76c21d303f38eb929db138d7b6d185fa9f0e83e93e2d3078d685ef2d90a8e8945c6846c8794f7c75901b312f0fc37ba8a54e521c45b561ce3a085ffa975885acb3aa51232159dfef4be48a46bdb1d965c81043df7cecbf0cbfa860c20f94e5c91215b41b6e18533874445eb9615ad26effb0bd42b8b9613a589c0b3f112a34878dc796029532a93f53caf0aa51eaab3b7ea602c454e2da781b59d0d4676bfd0dd063c62d7379413dedb - -COUNT=20 -L = 560 -KI = dc53b81b3047fa07db0d4dc47e6c12cfa6edc174a9fea60c -IVlen = 128 -IV = f2c7fd8a4144973909dd16b60994ddcb -FixedInputDataByteLen = 51 -FixedInputData = 2f7c7e995651f2b617cae49f8edadc759d659c5f42e9c932b105aef155d471882fbc73a95ac9bafd6e569680d279a2f0780ff2 -KO = cefb79e88cd92e9d77c93a2802488a55ab123ae040e6327090db0823ba70e457784b9556ceedef0367691efd8f24ca5291f0fabd35930503d8510d87e37bdf9d90c0d4f2ebf6 - -COUNT=21 -L = 560 -KI = 6c67cffc0840d58f0401a26d3c66c6999dfe96337b95a677 -IVlen = 128 -IV = 620b382d4a35d65b96e51ddc8734682a -FixedInputDataByteLen = 51 -FixedInputData = fcd912d3666a3e1973d02b44f2a02602acf603aeece652c92652a9399e204088a830e6adbba599f30b875ee5d691a13043bc55 -KO = c5ac387a390e389997024eefc1b979c97f69811a87017f9eecef8b0f4cc01b4ab770340a02345a0381c2d199a25ae1f1615e7846790aa221cda5c5b0281cc3324276f59dc120 - -COUNT=22 -L = 560 -KI = cdb3e021ff8ccb0e9453caeb56f64d8535d04a4de743c4ac -IVlen = 128 -IV = 7289ad6ea000283b2497c51d52802504 -FixedInputDataByteLen = 51 -FixedInputData = 4bc93f27b64d5de9bc2628e578da2ce3fd8558a1d33661b3cc6efe6b97ab9114f5fba4df71a7bc7eeeba589676095d8f322f43 -KO = 801916c35facedbf3f37f0271da87007a4d4f7b90172b69252bafeb9063ba8c8c910ca3c13eb222ac90d4e8d450d2aad44f73bfefd1c167f235ca670792412a9fb5038c29a4f - -COUNT=23 -L = 560 -KI = 862828260f8a9fc518a6d78d1540ba11ac81b14932229627 -IVlen = 128 -IV = 95fad03372f5d5dfbd6b93094bf88ef8 -FixedInputDataByteLen = 51 -FixedInputData = e93869d318884d26d7569f612caa77364f34d75189b43da1b9157e5db17164d980df64cc1ec7876cc040a5617d32d60ad20354 -KO = ad5baaa645c84181e0cbc8431d54b2ab0da14874b44da06103a8cecde4f7b0d4a82fb8ea83a94a9d2be64282a8ee7c79c89a52b20056904b0d0dbfa11c902113c144e71bbaa1 - -COUNT=24 -L = 560 -KI = 3eeb2a05ef9d1e21446e4bf14745fa9b84f11aa0a6c3245d -IVlen = 128 -IV = 35c3a9404e3b76b15a38c7c37967ca05 -FixedInputDataByteLen = 51 -FixedInputData = 5ecbe653ae59d8b921fccd47bded09f67a1beb3dd81556313e1ad1c441d8f1427886bafbf6b434bc4dc5e36c5ccb1e2986a2f2 -KO = f332fc800214274781bd089d771f85dc64f20a4844f66ede0768c423b709354c86e3604078699a2a3541daf53249c90233071f082fd37171f3f6f6ba8815e3a7bb3ba47e7b6b - -COUNT=25 -L = 560 -KI = d7c46bd3fbb113ae752be3a9f658f854d7e4c394d50f9636 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = faa20b76bbee1ddc07ac0226738c6afa54405f8050c39d1d72e828e3b9f59bf93e084d5f1097dfdabd04c71d8d855a4f6bb219 -KO = e349541f87df6c7f20d23f11f5ab54ba5ecd3ac02a74d2dc73b4f3a576f153b97762978e5b39fa4c43efcef7624673bf48a4f70cfe06a92e0474ad704e702cd986b2b0572fbb - -COUNT=26 -L = 560 -KI = 6052603b664a97b86d7904d44e8892d88b8435c7ce8a5dd6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d69791b13454403c76816574c22e698ea6e99682f7dc8b01f44e97ed6b6088fece0b19e5b84f951d08e6d19fe552f3e20d2f3 -KO = bad5fe2ea1dc75ad4d8b672bb01fe528643612596dfb89c43c4718a2bbf89ccef46fb8e3b51a5e0b4c8d01bd10feb706fe8c6d915f3cbcdd32e0a668c59ac61e8550d61304d3 - -COUNT=27 -L = 560 -KI = 99d078d92b409b12a1b06f47a68a40852ed6945617d9c0d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4eb3b2229885954a24220b5e89b86954ca42f22f31372d590b9d0efe0c8ef2d5331897f8b0c0b708bdd8d83543755f237ab8cc -KO = 7d0d1a42a95360809515723121d1e217d48fd24f77f15532c83ce22345b70aee4097ca2110829034410330cefbdf0e3e12d4894db91dac7310bfdd0ec4ee95411f1706acaa9b - -COUNT=28 -L = 560 -KI = 758bb2a38dd0c19affc7baa5f7219ddeb1b86fd906345832 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c68207baece80d13d9a469bf9d63199eedff78958dad6ce5595e4b6981abb4bc2267b8b509dcd14110c055e1e08ea6932233d -KO = 9d19ec519d0a58feed7d68ab29db313eb51ef5ace0f37bf51849c52d516b24999b28f19ed726fc8b606337eee39165a6a6068484e9935c0da7bc7141866fb80ba4115fa32aa9 - -COUNT=29 -L = 560 -KI = 31d00d48e466e757bc2dc88b6b5e9b96bad027b9b770c3cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d3c87bc739d7b1a17fb5ef9d8f4101bba5146b9b6757697a22034db5f21d501d6c9112a5ed35bea8a2269660c99b5013a8b0e -KO = 9eced58df0612768a00e509ae134bc38e6e753f373b517135235a8ad7132a3ac26936f3774d99df1494d6a6b7c80f4db34705e121132bbf7bdc9a29c0dbb44a85b85db0b29d6 - -COUNT=30 -L = 2400 -KI = 741300d09db6ac534a09eeb00f9093af6c79aa3dd4dade36 -IVlen = 128 -IV = d9466ceb8a9a117596c517d236678cc5 -FixedInputDataByteLen = 51 -FixedInputData = 9d777ca45cfe66b4b160d9e80f5441792a6550846d83699a7f0ba51f3647b0f94b24ab51f44a94007dc79921ef3d20a96f499f -KO = 6b4a9e243f580b8bed1b15dfdd1e1557a78d89ca872944e704a2c4e8b92c6b8f049624894a1f2724d19a3b63e3e1bcdbc0a0362f7f37b7f0501fc31631aeb4ddb85e2bb38fbd4778cfa675f597f4a90dc75f3a9f041bc20376e0c3fb74215a467f270ff08ea847d2e515858883f92878db83764222315e152a6ab99b395a20a74faf53a6a6ed2dff3f6f8105ad1637f9f4cacb85d297c96cff9a71143e9dbbae422edff5be453f327dd6404d31bb5045dcb74f63f60bb1dca4b01ae0835cf37b980bd493287aea913918930396c1a57b0035141b33ae847d4ef3a044f0db3ef6fa4eb7c96c6728260e36fe4745398d04a378876e8177f716bdc9a7dbf9292350036055b61a6648ef4e7c708e49f1de8b90c6c1e9ddac8dc5c28e18fc111be2302a42445a03a98698634450ee - -COUNT=31 -L = 2400 -KI = 9285a832d857cbcf0e6eae8fb22bdb20e49a3d6ddb1240cf -IVlen = 128 -IV = 57d9a5777b99898af2343baa0520eca3 -FixedInputDataByteLen = 51 -FixedInputData = 1a68234d178acc556f4dd88f092bbdf45329d05ca30167bc6b872088258cfdbfdae277a2d1a3cc35905aab51ea3e29ee2d7bff -KO = e9067dffed0ac94564e7dfcdd1e370f5da105666586c6aa1dd0e1836354686833222a1f3157384762f4ab395582f43fb3881c1ef5677921cf5a095e2993255f7d93b71dee0e7c411db1b2f368ec64fb6e2c0f25cec6de7e6759a5acb257af58ca0b84f09ff0e8670b73444cee02cfe18df4318fae1cbbc781c477962eec573439b6d4314474590efcdd2fd29004fe8b77d1e49172bda6b12841b189f4610581d4cd8a9238a188ecb14fe76067178bfd22d803b112cc7d37404433147adbce1bfd0a7cb4af5503e21a1c0a8a9eb175418aa4d2e81430c00976a6799ab060073e447e7cbc1cd487da331326299eb451a1a512e53dd05c5bfbfabb364a7f17fa6fff282a82592f9978b048d0f824f386f3bd94438060c6a1b553de81623c36ffedf0d1968beb9689606c1383f9c - -COUNT=32 -L = 2400 -KI = 8638db8c74681968f239c9a0e2d075bd0749444d34bf8dc8 -IVlen = 128 -IV = 364f6d292ac03aaf341aa911ca041b35 -FixedInputDataByteLen = 51 -FixedInputData = f6751579940d197f6b34a57d083591560eb480ca1cbe7da3556cc4afee00a04ca3f9944b5c0e11e87c187563f9afbb033da3d8 -KO = 5be81818afdce0738225525f278542c2b090b1e73b6a82f5f254eddebd64a0a7ac8e5e09fb584668f32295bd90b195b322e86d94a6dcf1c64895396a38e285bc67396ff25b7c2ac41b4cb9e90940ccacb0f8ab7aa6e53c4fa9053b639da37dcc6fb7835caececa23add90dea45e332798694e9dfee431873d45e36c03b68f5e60b3292753901d8a0d8fb4802636addbd37598b2a1faee88ecc561bd77fafbe6c2978a213d4524f039e5628dd5990b7257d6064450bd164f3be53124562eaf9cdd14caee8e31518fc240e8b71aee0edee5b4b5ee4d0e89bee1bdfac118ca385e57ec34de48f8be5caf7e11ff11cc7af24909942382b139359809ec693422ed5f6c7ed4c5c4de691e6bdb875ba94fa946791f1b8c376bf3dab30f9234eab8351082f67bbe13866522c50e9cc12 - -COUNT=33 -L = 2400 -KI = 145afb73816caaa8d3dc3422a0d682e12a0fd22b9b493ab8 -IVlen = 128 -IV = 572c2bfcb446c10feced4a7d334ca1f1 -FixedInputDataByteLen = 51 -FixedInputData = 5cb1b5349e9ebc926e6194c1a36a3f9852473c7ef155c5f6e39ad1afd536227ee1e347ece75adea6eb02f217c3722dbdfec33b -KO = 5b424e8dd1f980c1fc078bcd92d8a32dfffaceca83e785416e1dc4380542480e68e9980a7c14f55b71666a70d7795d163c7265ed5c349762eb58c94ad9516937ad5042983b50f93683bb537b551a70469c284d04ff2dc5150fdf1e93b81564c347f88c025d1d9b8491f0c487b33b9f7c328b80792e35f3abaf74a01503d5909af04c14d973e6f3cefa84e40d59f62f1746cc5fd82e6a819cc91f4ee5fde772c6fef9d557748903e23d257d7b29e78c6bd55de1969da517f26cffa3c828cb577f14306b028919f4d03441a46f3a85d6c577114ad0291119996cd235ac93ccadfe745f953732375f7e87430e86576db9168aa3d26c0360027deaefe2c2134e248fcee0c926b5694355b20b2440752e9823e84f6697704a5ff47447575b1d8cbc15e7461de486ef9d0bdf7b35df - -COUNT=34 -L = 2400 -KI = 74ae7dd4bc42190212c8d7324539da290912ceb729e05ff6 -IVlen = 128 -IV = 4dd9a5dc044f99c6342e9004ea135c7a -FixedInputDataByteLen = 51 -FixedInputData = a36ab4a2c31b33ebafe731661d5640c3466ad8433608a5bf989e27a65cfbfa1274c0aa7d23b214b64c44e570a0ebb1e750a97e -KO = 7ef0bbc731dff6e7ce3e57dacfb855a7fd81a41ba1d2820e18a6c8924b8695f448edc59f19e857160badfdc416b125729859ebff1c71b737d4bb6eb56a7e1c576434e348e0eb7235f4e679edfb73f04eb9934aa14dccd1a3e24ff3c3d2c007816323f8d524d5f4fff523889ece9e6f5b97e63ed45c6d57c77c93743bac80e29a5425d3145bb98d32900bc8e42529f470e7690c2d31cd80d2f91219269f96ded9e1f11a52838d69fc0a24581a90842f1550f5e5e4d2c5536393eb0585ed323bca8ca30fbdf1bddc0471408787626fa6cfd1bacc2ede3390cd990376e8a89ebbb863630d3b0efbd6b8326b86d0f97156aa419216d5eb4245c6a719cd74ed7f0005a786c261121809e11607ec4041c6f418edfd9d43b4b9098ee4ad0fbf130b501fdb4274ee129ad0cfcff2d767 - -COUNT=35 -L = 2400 -KI = d8424b4649194e1a169c231f19f03a7619a60ed7c3db060b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45e40b5824ec40d540515bb29763c865a6396c10c294b72ea492756b02e420141589a0e8a8dce60de414a23a8728f148c0bb12 -KO = a4c8c90744c72ce7a7ddd2374851e4cf4d6038788c3a76f46bef33bdf8b176f1314cc91d2e3df8b750fe521a1749bed006da41b19e9aefd2c7510ce0d0998e64cbe80d917e7b453f2099669dec28750777e842a44bf8a372776431ed6ba5aefdc75f461ca9be8a1d03565b4586d6d5bf0426ab98f6172c4a52375e4958b179f628f0ef1cb02b47aabc2ddf8682601534ff9dd81dc9b0a67c95194a40e4a86793f3f969f9944f18e72d4c06f660a74f5a3cf4ff7a223d5aff6c4eb20e62573b749995e051c5b6490fb9b9ad7ba9dcf06b4fa921b5619a8949a2f83a062fa827043808ec06bb42907ba89cd66fcec7a3204a6f7a58b3843a5d56981e1844eab9fe003b2ced5ef8cf9b04e8335541f31e0e198a2e61a1ee7433df833fc57b00d6f8a1373ef58c6d94e3e772d326 - -COUNT=36 -L = 2400 -KI = 0fb9bf79179b3ea80949fc57d3a66ce707c4e5cc50400bda -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d7512c7c2f50ffee2450de275ac4eb22c2fc3573bea90dfd8c22e5ecbe024c246a38b276c528c15da212ddf7968616b4aa633 -KO = abdc1468f807ab58233c0736cd7bc63b82de0908c765c9977792f63ddee9cdba865ed92dfc47a0b89a409cb848c54dc6642e41220aa4cb57fd3f1dd8ec10334510d9ed865c3e7e319391a6c3ea080418defae9a2accb609a75d6444169e533028a62c9f2af588b20d346677ee2a8ff59a4437fdf78713203abddef090172123a012a4dfc852efa9c4c15c9a5baa6902a344ebf059be65a83f228bc0fff76abf62afdaaf49792e44f5575923650c4d1bcbd4eb05badeaff63395576a22ee91e3ab754fcb49470c91813c6c6185751d6c4b251da81d4d7349d8860109e43260ffdc284e1bf39e5792bbd3e4e93d56481cb366bd1a9cf7654f1d77f1fabe2c0127722d3f76db4294388aba07a3b97217989257299a079efe9d6b910dddae76d1233c1bc869eb64cdcc52a338444 - -COUNT=37 -L = 2400 -KI = eaf4653a7fe54bb2d6c8ea0f9a61a42d8dbae2b5b8fba9d6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c02fed5d19a4c1cf5b8f54eb71b75e55de8fe1de3059e48fc1c5e032ddc4d356aac1e10d93817daea1d94d286de92f78d1582 -KO = d377dac4d28467c5d20a391234ad7009d24285bab063de27a8e55637013ff5395029023a0d5d50973eb75081a9356e10c56cbd2d6fa1fc18aa5295a8fa577950f48802afbd1e2e2c875a89302f5254afc89585038607451709091acbd4be423d4b824e8b2f5ec32b584fa80c81e5dfe30d10c4ff0da3e50146811173f8deaae862972e27a43e290f32af432be70e6c8d59afa7fe11717f70599342f677306a84859b5d09e17e7e845dff0b904739ab6ce46b30bf3a04fcdbb5b700cb4659b9aae8c35400601aeb6e6ae2762f0bd8f02d5d876205a3472d00aeaef4eb86f0054d44cfb0cb925c534041a1e16d2bb8796de69b4fc956504e6b255afad04526c8cfca8c1274eae25131829ff96f181999d5b51b4a9385993fe2dba9227c7a3944f8f70548775a532eec1324a383 - -COUNT=38 -L = 2400 -KI = 62ec4aa6f325243322c466f5927300bd260d9c7051fe3f5b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 098e56a85a98afcf9366358310cfc084d9d44bc2d38458241d54ab4ef58cf3359e1ecf683a09de241841892ac0b0e727146ea4 -KO = 3e8c9749d662d57562530878afbb6fdc5230e7aa5db8abe41df8c8a65e59c98573d0693b0465e9b6bdc1e9342f3b052992d7a50074825fef6d087bf7ce382dee7610c705c054ca47c2f1db72ed728a975416c1af10ea28c7671b85663f278622aff6e7c697c130a180b3f37d81c29439e9779722d45b30824475f0f17f382976ec1f5f8d93c8b63e0e91e3cdceb9c8951dcc396c0aa12c140405ada045417219ce5a3d9afb1b79f269b7c76fd0db1c40bbfae3f44ccd72920d6b48e1d06c6a0a4f2a210395eb312ba2264ccf3b4a82ecb11da5c045c9277a29fd9a426a6fdd446bba3c1eb30a5e6af5bb719f0fd4f1a3c567b96d41625b45283a21e9fa4b9eaa692aaf5f3042b18c49c49af447a06af32edd99ced813fa618f422631a0249bdc773bba09c1895b9f90d00550 - -COUNT=39 -L = 2400 -KI = 813a1e8dc435162c641109692949785e8af6b9969004c054 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d08a6a066018607627bad4104a69a4be4a3c86e8e00d817ff330ebf8778539a32e5e1148e9de48a14acf7f15a3349e7219b6c -KO = f78ba2402233db23883a5d1a9a25ad86dead89cf3ffe111462457d488a839bd95269d609a80ec3cc206a045d20ec18a0d74b4ed5b344f769069581706ef41395fbd580b16bbb02f58053e6d86ece2234991987bf6fa8ccbb59e2caa9a245bea257ecce6360a8049409c4e7774b2050b3dfbf1aaca814ddadc53f09829e5faacead6897cdfda8fb671d9eb6ec11d9d7dc145292a5e766cae8616da9b590a2a9e7f48794b87d6d9f65dc17b003b0e8933b610ed4f4927f3ac42a55633a0792a6c6c88d87a1138ed52f2efaf7c10ff14744ef8147910977e7a09dcd158bf761b1790c81ffd740b82fad177ace4a51781e972d73b58cce5366341dfb35aace50c23a7b8dc5a627a9dbc23eeff0369c2db1f875e4a8836a59c5707f3dda702231995cc178536d4faa26382b4d9c7c - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = b62ee777708111901e6b258b3766e73f0f0c9315b90d91db -IVlen = 128 -IV = 32f301d5c170553ca7b93a079d839097 -FixedInputDataByteLen = 51 -FixedInputData = 9b83bd2878c6481898bc007a6597517f563968ba974642a205a55ded73e4c883e764f898835443600e079bdb221dd74bf132b9 -KO = 322f56f3e88fa2847027f7d79b7b4a675d1b8585442df56534c63e283c51499e8dc9503a0e76627d993c4d1643b97cef07db02b200e1e2ee772587dc22b5c5d7 - -COUNT=1 -L = 512 -KI = 261050615c3bdbc6fd76e6ead733bb4b7f0230d569a70e38 -IVlen = 128 -IV = 02b91156a5a6494385ce9bfbc9e8470a -FixedInputDataByteLen = 51 -FixedInputData = eba4daa979052df5d5d0112c6d43215706b155b2156417f72f53de862651027054eb994933da59f1edacefbd7a5772f8321320 -KO = a7bd6636a952148be5f7e57f9963c2e92a367cef6440b0fcbbf5b0042e7bd1d753f7ca538d72fead34531fbf9c884c7ba6b92c1485944faad0af5adc631439b9 - -COUNT=2 -L = 512 -KI = 89a134df9cd946a7de1571d6f7e6837011d3943620850143 -IVlen = 128 -IV = 880fb8f5ead71bacd9614034226a65f2 -FixedInputDataByteLen = 51 -FixedInputData = 2f5f5a9e0452c30ee5dbc8b54765bdab4298aefd99ee8333167b02f02c67bf00ef04cfeade43d3872cf05a3080872b0632d18e -KO = 39c57aaf204cc40f044894cdb6f1903258eb4ee3339cad37e01957ef937a0cda859659cc6fae4f0112a5f1f327b3a5dde46a37e8c8f224f45968f2437519d09c - -COUNT=3 -L = 512 -KI = cebbc8a9b5569c77cd303ddce1bf4188131f3f6285cc11dc -IVlen = 128 -IV = 51cab4ed3f2367241922fa48e598ed92 -FixedInputDataByteLen = 51 -FixedInputData = 58cae7dac1276a5a2c138335b6e9a2667993b5bd41feafcb581bbecb51d0da83d406779adbe9f74280ff1102c4915841338a82 -KO = 2bb1b7037d4cfc5b02d6346f5457199f4f89322017199fce986e475e85a305d9af30595f302b8daeb67e9724c22d2ab5c884a0e516b56fb72f18842da9ad452d - -COUNT=4 -L = 512 -KI = eea163427ea02ddb62cf2c6e90ade21df13aceda0b987645 -IVlen = 128 -IV = 7f8d8096b84aeec3b3e8a3598086cbaf -FixedInputDataByteLen = 51 -FixedInputData = daf9348aef36e0f991e67d4cefb52a84763000e9ddf90bba598b333017710d5b9f60242db2e891ec2a6e03bc4289eb4967a977 -KO = 8a3e58b2505c42e584aadb8486d59716deadf7e2894791d541e7a69b64120d8ec92cf40b5f6d4bd51c0985098028407f1890e5ea78647d8dd9fdf218ebd4cd2f - -COUNT=5 -L = 512 -KI = fd03aea3696fe68ef7da6e683fffe7abf2facd10419e0731 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 99d471a5023177323143a6174529a41574558cb2e9b53ba1e37c3e5985172a72eed9f1e7094330000e4df46bdc092e063ac18d -KO = 63a8c2e6bf9e9e00a202512c784fe970d2a29a636f9594c6057a5c0b78828f6dd49f6068e0a0250bf48cff69080bfda268d1744eca20a37f34ceaa5dfb33f68a - -COUNT=6 -L = 512 -KI = 1ddd203d50fbe2399ef61497666435d02cdb99fc134f72b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1b5d04804a0e3c70bd9205e2f040100bbb1019e1add632d1f6c5794eb4876c5cb31736ef199c308b93f83eb74c06469862913 -KO = 4bb15f31d448c0317dd51fb3129e475a8dfb5acd6c6add48532a189da4fff2f2cfee3c7e981910d6c376290eba6aaab9ae01de95ef9d48c428517044fb07b30a - -COUNT=7 -L = 512 -KI = 76a177ee9bf92cc7613c8b32311f5ffd1481fe4816b4d800 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14c08052f34abe634601be1dd701c54b813fdfae468eede2fbdca72f4a85c8d1b9df6d46662f6100d502236494be9b4046007c -KO = 5785c235cc22b4611534b8945a570754d311920423cb4ab0ef344c71598c0d1a31262330237da895d9fb2aa8d57a8e3419ea62bbece2f08a987f1c3df0e404da - -COUNT=8 -L = 512 -KI = 96b1b497626c7880af03adfed624d944483a6285896d7cc8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f7d2b3970a53a0290d6dd57f4cdd83392acbd1515f358ccedc705467e443c972cda51bb348a36bbf77e33f1abfbb711014c577 -KO = 7bc4e99782f83228090b8fd9a9b5cac5fa3abe574e3835963be7611c3582ee4aecd764dbf4284606d711d7dad81f7d8caca4bb85b438f0d1667763b00414aee0 - -COUNT=9 -L = 512 -KI = cd417c3ab8cff3697e7b32aae0b159a0a4a3f1dcf90e93c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 96b768d4758d7cfdce9c4c73d1e0f6c8564eb2619785994f8c92e6e4fa114055cb27fc0e0e4c378ca6d49904ce9276a0d57723 -KO = b99e575817b6f3b0916447108f77e3ce55a4ebf9cff485511e039ce0e46c139efa3e67630b3d108150658d79c2abc99ace4776f0362b058d577363b53dd5f3d8 - -COUNT=10 -L = 2048 -KI = a78239afb9616bade2f391b6a3c0d7ffee3d927c9add5e89 -IVlen = 128 -IV = 879890dabaa4eef9ae89940ff9e81c7d -FixedInputDataByteLen = 51 -FixedInputData = 65fc03e8a6e91502e89b59d935eddf3adc31825b14460b0291978e8e9b973bb8f9a52cffb2a62d3711e5fba498f2ee25c962ce -KO = 5a3925698ed3c3347dc9407726988d7ee2176d2d5359f90c2ee1a63958d4a3722f375a8019d26abcda2d2c8f487a21e91eea26bda94e50c5e8f17132f950a1b39f282e3f6d1ab17ec446c6f546bb3c37f7aa10f6049224eb566d3779617449467ae7f8ee99e432c10f9c413c85f7819aa943b974d1f806c441513af61822ed3c0d188cd0d50596f707711b43538446039f4ee526fdd504a74288db4d3cc683f9538c30f4e1278d35a140ede66c12c9356ae804f0d0a7b70617e0a49a72e437c9253f578d59346400fc858d3848ad5b1b794d653f35e19b7ad7a35d81e408c96e33cda7c3d45ab8f28295d9137786b4e2d7daea058f935381ef8466bea5030c71 - -COUNT=11 -L = 2048 -KI = c19a4cf0d2e6b6aebb26ef76013706ba4fc6bcbf4d4c3639 -IVlen = 128 -IV = 0073c090e598dde20eb51b2d7f91e8c3 -FixedInputDataByteLen = 51 -FixedInputData = a6e0079eccfb62db8e9b52baf6054ea8976d4dffa88a208dae7e348a6901ce5061ef76c57b132ab7901e251de9471162833db2 -KO = 6882d7a7c9450ca1f59da72b14dcf798d8a6c8a92dfff09a3bda1f91d007a4b3c858ca9013b2d169a5ea141fed2a43f0c2ad5a822de79d01e92661187ce3d47fd5b202f893e06844710b7708dc8814d65f8c7126b52e7a7bea08f97abc4065154f5606022a5016ad2d1d1264aaf5c27b71bcecba3f7bf7a9e068f5cbc171f5b5737058c180afe358ba234ec5a52e1056169b4346de8e3ba05180fc4409ed5efba015658652d0522c697ad5407b7c258cb26ff11e3521c261f749ede768c7d8d52d287b0854b71aa86ea1f7655615bb182b105ad7a767937c313cdd656480ed641890428ef3025b1e8bc334094031e3aa923ae3fdbec0f59b26b92e1016f264cb - -COUNT=12 -L = 2048 -KI = 05e435f123ccc9136e966facbc2d42eb9cf977a4ba2a5678 -IVlen = 128 -IV = 23b01810749a5a5e0bebe1429f2e7964 -FixedInputDataByteLen = 51 -FixedInputData = 945f0ca9ef57348154dca90f8d23d2ca62167c2697844e79e4daedd1f6743de92c30de2edb95cf66c75a3e2a9467479193745a -KO = 69d32bb7e64b23cbdfb0fc76c35dfd511790cec8d54329f9b3d0834e2f9cdb02bc5185d4d1eac8634cab312d9b700ffe67f6204d97f90b175cbdbf97d9c6e4b882ad9283306f1bd970c54b989352de3caf5b6fb4873a7253167a2f2e57da76a646116585925f31a65c7428e1853590c686009277ba1d001e449e2d25b572f2580b1260885230c17e93598b36971bee7c57f226ab3093bf9ce81468bf341bc8cc913c5b50212ab786636e566f0aa04e41a94f293bbcabaa1a97581892821ef0d6f22e69a85a2aab7707c9daa6973a53753fe505ef6c9afd58d5b92a3379c6457da059d71be1908c59510cb57719e06ca7402daa0d46acb5a72aa52afea5de645a - -COUNT=13 -L = 2048 -KI = a4c3a0fed964a2aa4141d8d6f8e0d0c28dce842cdcf63c86 -IVlen = 128 -IV = 7b7c7a7ff6f38a3a154ec22cc7ec63f3 -FixedInputDataByteLen = 51 -FixedInputData = 5d1740560e0895656c53f4b11fa7e3acea480dc8ace9e1a5e98cf12d1a72dfe02c84f15bf6db7eda28dedc23b9546e7f6bf2f9 -KO = eae02f63a5fb068bcb068aeb89dce480cea6d3044f346ef416d9153036f46e24bc56af98d482fcce4d7d3011482cd3ac3373f21f11d4ef1c013c188e8db0bb53c6d1875df3dfeb7dba37c1372ab26eddbf4665b383a32416d1618626b4e53eb3e847976f85a7248619982f36f65d3e568bbb71a8177314636078d42cc98115876f6f3120fc389036ef3b6abeecefd8c1bb7414071ca1998f111a12dd03b62846df265f1a7945446b6173e0edd1e6d7da53667c14653a37a97a811d98efc138867c6878fb18ddfbe42beb49b14f9ed311a8a9db10eba812df4845e74309b2ea971bb76c00bf27f97c0e44db4393268bbb2d0c7be2e3c8fa8acd2df64c8712ac9f - -COUNT=14 -L = 2048 -KI = cbe831bd275c401d468612f4d85b9a8a42642caf9d0de6f1 -IVlen = 128 -IV = 9394a1bdf2c0839dbdf989d523a2e29d -FixedInputDataByteLen = 51 -FixedInputData = b0a74b5e27299ae58c97bfd763f48b8b2c88605400e3959345715cab9990d0b3fd1c7049caf409f98e6f5f6665a098dfe8e0b4 -KO = 0bf0156803942e804ced9d426fef086531272b4ae6470ce0feab6afae1dbfefe8255fc4f90729d0a45590c53b314d7995b957f43100f6222b99a9d772bc6da78e520dcd32cc93a12af1cb71f2102f872c976f11fa541cae2ccade635a9b1dd35d445e705d0c9549c364bd78943d263d3561a6d2301deef1d61fe4e5fa10443d07f017e2460f529d4bf4a66f9356c0813b533ef7660860cc4de69e7a0160317ab1fa249d39c0f23c117b2bc098d31644e42f9f0926906eb8b20958092feae9f3ebd7c181c9fd40c3dbf7ab3ffbb33fe8c5cff3b41a217ac95d4eeac27a096b211e0e08f65e933164d1da2b74db6bbb3aaa2da9ae7911ebc1e42ef8bca40d63bd6 - -COUNT=15 -L = 2048 -KI = 41674c8402b70fda5b792141da8750676d3ac7f0779b4794 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98557b1f85ca426512e1276e2bc62431ec0d239f2045c82443c0a2acf1cc82586875472d804b20f503c4df03120d42bd5b479d -KO = 576c170ffe27b200f6e9f4defe0b2f03c846ec1bd449c30b5d757d3748de55b664da2a1f7f66d380a3ca4cc5f141d717867d4558d3cb67f0a52a25479b6668a803ede0c3cca0492f295c3abaebaf5dfd4b9ac9c14e86cc3752cf7db506562637ea2c6dce127dc7e7a9741a616e190e72f2f12511519cdec2b5484238481406168310ffc2c7d458e85c52ad22ec2c471a003d6084aa90f98844ad43c1c627e837a3e531b9d4cfe55812440e1fe22c3245435b5b2f466c720e06ab7c342ce70125555f6244ee78b5cb9f2990788c2b8230f84912502ea06e303c6cde59d2c2fe2e31dbd91fbd57f22c79827e528346dd0fead3dcb39aa85ddf27cd57fd12669133 - -COUNT=16 -L = 2048 -KI = 7e758afb03d65a682c0cdd1aa0ff02118cbef13fc3872495 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 265ec5903fd72fb39c60f424dcf079e4243a15f0b4efef135d5910b57db929e5f2d673a4e125c075642d5ecbd1dcd57ac0523e -KO = 0bddc5dab08db40c89a26ac3d92f606646690abea9682593146d6aa6d1ef442003d883e291058ccfb9ba8dae335054c4058ce30529782c1b29918bb1aab4651defd9153882c5ab2fda7d0553bed678ab77419a5b3ef62802d65ad0cc4e8e3218cfd99e84fa7f3ab06cfbf0208dbb7351a030a4470c48ab5f9efc04428b2ebd99aac8a04401d616f98416a105bd74ba155b66168db0239c1d4acb46991d051e4baa1b0340368043f8aa4e00ea6c754e682717d6f60c3a0fe1091a4a635f0a45c39775b3d1652bd02476a6be4596895069b3b8b75807130d110786d62327407a397282ef58792485c0be493413eed80362311346b8b9d6abf10f8a0e6253d5e415 - -COUNT=17 -L = 2048 -KI = ed25de8fbc3ac5ad5bf05314cb5114f206f3fa0e3bc95857 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10570dda32e8c5ab7d06798bff83b468c0788d4f687488d3090e677dd70c8cae99d6a7a8385a5a880db1a87187e72d872b03f8 -KO = 7d5e038665c567ce4c3181c2d5f0358dbab3326b3430dacb989891bcf87d9e54d9a4ad9e95bfc8a9cb7f8483afa967bb3a9cc92541c389743ffccaef86e68569afe40e692c9e551fc80cb41721920d4a81e5d768315fe688269b2b6837fce245cbcfe21a5b953a29100a9a67b6fe17d4b82018666798315eb43b2d1a6f9f4d4c4fef0c3766346f375e2162b3aca3c5756ba336394c377080bc56f21fb1686d395ab4f7b23b7eeea2b7008bfed31a5e409464f6f8a76d45a1fb6aac6d0dba752470348cd156cf7580c2348547a949ff72767e30d8208d0528408aecce68ef58b9c5cb08a4e6c76473b2690d3d64e06e8a75ea84ac2e958c2cd66694ce075e94fd - -COUNT=18 -L = 2048 -KI = f4c52a35c9a33360898425a379b1f777ff8d6e92e643d4f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34496520bffb8872990ea803799eef04844203438b2ec09b3e384f33d5c8006ca78bc71471f73bf7a07dd476d52faace7d622f -KO = b9117b7bb8319e922ede8be1c88e42aab6abbeae46a3dab7d75154bc419d40c70fd17e54d80dd8d350607a3d529da75fcc0b8ba95432d907966a6f9c7a5f556960998be3ebec218ee3f531e0ed550dcdaf7cb59cf3633628c05b642903dea7202e1995fac9481b7e8c8d05ae02583b77a880965ee76cc8b61ca722483456608d0a0120038357b62473f0afc20f052c78044a8f7d5fb0232153abd8a2a0fa27aa5f9785eac9699c3e62a71ed1f00a823e767aef4006a6908f5a720e015f4494c0395af426235fa2d91cbe3890773166d973365405c4474eabe0b3dd0feb9fd544858060d27425ed48e4d1d00d9aa64945d3be12cc825b626f41d2228919496c41 - -COUNT=19 -L = 2048 -KI = 43ecab6e6fbaede4e81ed3652c428f7918c8a8bfdb39ee94 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = beb952a45efbb8a59b58580426701c03617963a738003dab73849fadbfc0329351e1af0f441566f2f6d48a5f3dfcc8101bc23a -KO = 9d793abccc04072b08e37b7bb0e4b71ce487b09a0a591fdf96c8d843cc3bd6d99cdfbd56e4c8cffff6dbad960d1bbcb0bf8a68448a6aeade7ee39bcaea41979fa33cc20a37745c06aac2980f1d6bddbc591ecf9f100c0fa3f4e8caf9e29ff0ab1d8a061dea583c308e92fcf26a310475a18a398f68d5c394335a2681356a1807f121670fa3beb28d0e274ef013cdf91d52cf7a3e6dac35cdc941bae7602556c813bd58d31e161383069486d8a2fc037d68f2001ffb3cab98ac8d1f046e2b0736b96027cb56540894419affd7e9fc7642cc7de3c12d52aa6d542daf87691d6688c61982352e4731cab1a36892cd9048f7098ed7ce70649880a3d2248943fd4a52 - -COUNT=20 -L = 560 -KI = 85d5df57245521cc4f3be6f8bdb1a9f032ea922aca794c4c -IVlen = 128 -IV = 6cad648f7a5608ca935175e7ef8288a2 -FixedInputDataByteLen = 51 -FixedInputData = 80717aef127a7dc3f8e2de0048d5569a9b47f3e2b0ad5781e8b77120abbf7de57c5c5e99965fd3b4245e24cca3764379226198 -KO = c4edd01341d107babe25bfa630b25f1d66e1343cc34d163b20acf983f8d91d2e774997d3cfd65fafb7f948148651fe1c13477b3404a55cba1c5b368d82b2b58afac553ee5b47 - -COUNT=21 -L = 560 -KI = 6bb2b5c07d1c298047604de2bb61bd6b19a4b4789385741d -IVlen = 128 -IV = 993fe37bc849246ddad3e12fefdceb92 -FixedInputDataByteLen = 51 -FixedInputData = be4db7f5065b17ea1bd89a0d5ac4e040263f3498baae0481ecec3e39170f42c44ccc3825a9c293b4a42fd45908f5157eb123cb -KO = 4ff8d8ea17bce9ef49d308eebd6d77753758f51f797bc877e99f943a25ffd6cba9a6a7f407d3907a5a46f860ef8c0bda59f930c78d921bfa607aa821a5ca30988f6f2fce8a30 - -COUNT=22 -L = 560 -KI = 66e9ee94dc41d6c3cde1bd77f3acf4d68f9a0f32eef39a99 -IVlen = 128 -IV = c7b0dd921b459f0a18d7b678bcb6890a -FixedInputDataByteLen = 51 -FixedInputData = eb0c2a47a1f89806c52138fdc1c46185d245cdfdb541ed619d9e42b2abb3f1cae26c1e920d59ce6381fe5dd66353ff757ed3ed -KO = b6053dbedbc10b0e4dcbe16a0a53d5067d51ba2f9a2467bf245bfe336b424c6311553b4d53c264bb8ce9080d32e0f6c96adde6df7f2d316bcef611a0f06d54fe21a6cf3aa763 - -COUNT=23 -L = 560 -KI = 3c3ebb4c709e84a732efdc415b3d11cd4a076adb4443beb9 -IVlen = 128 -IV = 711fb0db26ffa07cbaf1cfa2391e96d3 -FixedInputDataByteLen = 51 -FixedInputData = f189be0fd9999b63c6d6929e86a0a9002288f24d37be301b1406c7a7792dc116c492770c6f1eb6f03cd3392085a545c3ce488d -KO = 628f97740f0bff6b6da8a6d3b92a776cdbd76f23638f2bf15139379ade7cb22c65356fecfca80204044ff655ecdec51d2b524a7688b1ce808322430245fc9a1e731548132093 - -COUNT=24 -L = 560 -KI = 9f7b2ea633d17fb976270d0877e0d10b36fd107e5af91297 -IVlen = 128 -IV = d93bc33c274d1b764410dbafc066bcbf -FixedInputDataByteLen = 51 -FixedInputData = e56ea9aadae06d0d29fc834d5469c60abfeb022fa13c193b2c3d2b14d7584e9df10d21740e8263e8b659ca5beb83baf5fe93e2 -KO = 60097c8559d5f77553a12ffc7dfe26038efba2e6c70e886f92dcf10a43c4190d1f2be0a84fd6b851647279d96120b7f3e6259d33fb443895153ab2eed9323dd011710ae286b0 - -COUNT=25 -L = 560 -KI = cdfbe60b63e9accc2c48e6d83180d131703e8a46d97d74d4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fc7a1bc2104a98582f425c56128badacba1b710c2d6f4d7e8fdb511e0e64a10f9d5d7170f49da944764368d8c1443b01070251 -KO = 86717b3a8aea9c982e108504705fe75a998c23f87a9e8c901cb9dc812c30648a162bf95126ec968982bd6ca630a0db5a671661a5158c12710ec0d0a8d086a463d9a9db1e7809 - -COUNT=26 -L = 560 -KI = a010d9c63783abb9ec43c6f139bceeb54eca674afd93e002 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb1c94feeb7152bcee09023830c845d2c55d9bec8113faa66acd19ca9edd404ad870542d9a1c52380aacd0603b920440790c61 -KO = 2dd942748ac97d956340801ccfbf02c41b14029a2dbb7cbbdd1909b918492bf87407c5abcce0261fbc65d0ab9fc499e18839f643365e2248db7cfee08176a28a744ce2ebc5bf - -COUNT=27 -L = 560 -KI = d37f7584adecb48b6c2cbb06406a5e8ee1754f8b66f0c7a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 13daa0a23442a3f324d83add3f90b2fa77b2dff0f34fc9a7205200c928987a95527e05e6d9d9c3da71409134690d0e76e58c8d -KO = b55f40a31d40cb3e9001111006c7f834403e72a7d75e834fc5955fe1e06bbe43636d14a97764975d01d9b29c55016358a05b8bb0118267a92fc533e2415a36dcd879f1b41f95 - -COUNT=28 -L = 560 -KI = 433279fd45453971d3a301bf1050f7ef7fb423735064bdb7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6b7ca0554db7f1a9981ba0d2e1db2242a0a2a9aa1576aa41a760c18ce2b4170a216b0a50f93b177c7c7df00670fa1a74e09ac6 -KO = 1197104591de70a3e8da819c4076d3a569650ec4ea9d639c2a1c1d5b04a8e8d91ff60e5f4d56fc88b013a46f392173af15e0c38a7cc9c087736b0fc12566b2ea5396cebbd511 - -COUNT=29 -L = 560 -KI = 31dfb2cb2d8d9fc664c96c61ef93fea59363172afa9fbbde -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af7451547ea62ea59200a828b561e2fc2c25b113f7cc71afa5f311a96bcaabc9de414cd07244a74cd1517cb2370c9d47e94808 -KO = 45144e30a63bea4f557f01cd9c76e5e2e0e7b1cef83c6af713c97b81ea89f8b9985cb17a15b8c6fe647824fd6a55fa5189e8c3adcab0f04a300a3840f35b221eb5f820e791a9 - -COUNT=30 -L = 2400 -KI = 7f196769c8460e9b483d52d2ff7c7ef340b8d4da3b53c18d -IVlen = 128 -IV = fe6b52e616d996bb68f7865ebfb985b0 -FixedInputDataByteLen = 51 -FixedInputData = 4e694b8b92cfec36e3dac57616ca18186a240531c3fe745ca62e61bbb26f7c8df26ae7285f6970d0e7effc03ce49086e472d39 -KO = 460b1baa93e1b2cf085244469c7d91d3ec7dd32626964845d26fe7af93e2ae99ca42f00af7a5b10600c8644fbcf234f75f287bc7041b9174875a9909f943051be2377574b6b058f8dc0b998c7779ac6793a4292e61f2b74096d3e5cb0a2fd8130f5fd115a6c5c18bbf660f520a0fa4a622a9d7f2f8f05925598a9cf9c2c3737a44ee7bb264ecf876b073aa6608a2e45da8c3e6179e5fc9a379ac2deced635aab8935e25851113990d9c3accea108dd8ed35b94b2aaf33a7acb99cb29f1fc1654618ef262b69263500ef410a8354028766ef335d1b6f5aaaac0b56559ec15dd3f8df72ce0c712952ca4f4dda2a49b372e4e2741c244ccc4719c989342f5eabfc54ef97445661484eb3f8a99b426e6e2ddee79072eee4bd4480a09ff925dafd593a23b637d69b3293989aed185 - -COUNT=31 -L = 2400 -KI = 1469c7e91feff2e2b4d4d3b9a6e7fd12f34c8fca47da5407 -IVlen = 128 -IV = a454743f10e0d4a11e1fe0686b914100 -FixedInputDataByteLen = 51 -FixedInputData = db6ca8369378f2ae658318c25ac301881cc20ab700f2f6aea0c553d651ac45f12a8935d8e7df6a9b243cd8b2d339aeb44ab4c8 -KO = 8d4123b203a80258977ad5fc23a75b0ced1fceb0bc6f832d1646ae2ee795ad08fd21754bb8734b4da5cafe0cb835fc7e0d1bba24962c3dfcf36e0da18f865a11b7b58e44bb00a660c66596cc0ec9cc6a77ee040713933c4e9f26cb8065e37f50a9a0f6aab21041b64e3d732e92623b67c45adfe081e83e3f63bcbe3229c189992cdfe0d6004fd21e242d432b84772da9408db4e25aa955ec489f73e2a21ea92b69c2638470edc31f42d667849eb6bab019e6c38bbb329fa7aca5abb0ebd97af5be2e36558b7f8b765d31a8db6060ddf854a5b90d7d09dd8821c1e81e5d9ffa63128af5af357fd9c2aa35c0ac02496dcbf234ec45697cbefd0b71d61043859656cdf54cbf3a10d9c8ab41463173309dbf889c1b0a13e33033935f599d7b384c63500eeb289e80370242fc69ae - -COUNT=32 -L = 2400 -KI = 6820255cf423e7b7a07f8423018f4eabaeb7cf24f21eed92 -IVlen = 128 -IV = 37b6e1ebfbef934976034a1bbb0e4c0a -FixedInputDataByteLen = 51 -FixedInputData = c8d7adcdd34392533bee40fa669117dbc7b6e67418a20dacefba48ee9dd1b7fa2e268bb94c07a1b384e7c047fe67198963fa36 -KO = 60254981e47823fd3df8449688de09cba293467f629e30c0f56a5693c2e83fbb6792e650e06b9fe04345418fd514d4fabba12391c7aabdde2d3b97a234c6e823b267ab36007b621d70be1e83cfce2ef1948c669853962138a3129e0278362c6874c120a456e2341f20850a78dc893345345e84728ac431a80983f70dfaf7a6a2e52731f031cbe7a1cfa636f7303a85fbe1f8e2ee22be7032a870ba8e4cb947f98a898f8950a161400f84e00567dac56b41fab4820c219845fa46efad4a844c15fe9aaa3b9a91e787dfb7c917f72410e21a1db9a5ffed54e753a627a09cabbabf6e9b7ed5d9953c7470eaa85911499a64df2424af01c719b6ae69c04ac71bf6cf7991a2cd161e249089ba33ffabf26554cbde82406faccde33cef71ff9da231d3b7c696f5f15b7575af53aeb5 - -COUNT=33 -L = 2400 -KI = 036c44d87b7a71617c1ae546eba2aba737620f827ea6c88c -IVlen = 128 -IV = 62c062e16c814e44f95b400e0fdd561f -FixedInputDataByteLen = 51 -FixedInputData = 949b70f3e0131167c1ced12a5c3725f18d8839048fff92a7315d88c5210c90e7fd3857874c38c7bcf6c15f9b28726fa2d7ef8a -KO = 3bf6e197cb04bdb9ec68317a7b339a2fd38e8fecf30fac847a72417d760327961ed7f6c3da20fcbd0a4edf4228a503200eafd8b59b09255a09c0f7ed7e97e3dcf2c797e953603f2f5e07d1199d7de57ffe3d5efb69b5d512ce42c6ee25ac9c1915c647441099d2c5247eb727f44c175e302222222d182a5bb0ad979f4b405395796c5845fc79d61aecbe04bb46a39b093b1d8c6dcada2686d6d386060d35065b7fdde25007ace96d626945aac13f5d98ebc8069a10fcbdde07bdb0573743036183adca2b88812bb35fb8b753934e2a5ff087f6a3a82fe8b7135edaed3bc8c70ddfeb71c2ae7646e578fddbce7213145b88d336bc42ec2eb0580e3eeb4cc9c8e652c9c538c8b6b0a76fcc814a9f4bfc4f7a15c28094fbfc679f8fe70a3b226f2dbb16fb62c5357c847db8106a - -COUNT=34 -L = 2400 -KI = 6e1e7e7a5ce2a0100f536334ae7887092d1749b1ec3600f3 -IVlen = 128 -IV = 3b226a81adcb059cb3ef3b04e27c45e7 -FixedInputDataByteLen = 51 -FixedInputData = 183e10dad1479708e9055299eb2f42242c35b857666e7eba6383e45a94c8a6ba5dc432c580407b8976ee1d085254ffc8da2878 -KO = 058c7782e47128fceef1e4d6ff45b3297ea87285eeacdd9bf5ac7a72f462128950d2a2067a97a7f21133a6a050b6a49147874f53935600a75f9eb2e2e76860e270986b14e22943e56c3c27739fb64638b5de5ed3f68bdac770f59e46412ee0e7285fc94ab697172d11ace4527a80664727acd928d92f7c318b06903d7120685965648dda8b153d4c23f1cf31e43e084acea41ece29be23f3814a932a9efd270db9f05eacb7ce3afd5a34723ff7e78b9a42e502d87c8f9d60565f7601c0edb1cf897877560af7cc3ffd9ccd2ac49b5fd1434efb26436e37940584f369a2e42ce7cb33adde3585a8e80ff38e61886eeaec0290fa9969cf98e6a60f39f1f44328cd557f23d2c2d506bcbd0197f91092b16ccb0c013391bb136df8f5753d28b5c959652bffbe4d2c1a7e5f158616 - -COUNT=35 -L = 2400 -KI = 4380b2688b08664953e1b8cfc9c4acbe44f4879fdfd74579 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d15dd865b6e6d24a072d341fde0a6bb272163f42aa6d7ca2cd1e046adf93f2a04d44943e463f2f26ab67b99f486712c1318c4 -KO = 3af3f852da10eff6dfd60921f55d17fd0b201f100424e080236fe0b502ff9ff7548e99dba58ee29144bda0456f21fc51eeecffe7ccf9d8a29730234ee439b2f3bba9ec5d7943fa571d06dc0445c1fb271b648cb9c685d88a7ab45ac8bc73fcdca07abc73b6de214625f456caa8ba573fb6eb3661fcf7579c78f1a2984c2b3674a7a5963b224d8587bb635b29936903b7c6d8b4b388537fb45e73b154f69be341f9f286ec42526089d890c5848203d59ba4e35bdc51e67026136ef62aeb6a256e42f00eec7c8bc1f8800ee57886973b18c3627c911a8fe51cc683e027ac5c74b53ce5cb231f33b61527eb8d6c5a5f0bc40c21dd039db09c2e052762c0c94927cf4520d3f0898a6610cd50abb3ce69be539a4e77e5768292ac2134272b86ebb4ef3fe470e9651c9c71aee145ad - -COUNT=36 -L = 2400 -KI = 4d81de5b2ab5a947784bb60292374e7feadc99bf75217140 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = facbc64c8b70025ca5e794100c195915d64144a58822446d5ae7cc9eb50dfbc3599ca5ba6511b7eabe4decf575c924f379acb5 -KO = ea5d8b2789b98bbb5fd45899c1bb8f976d79511da9738102ab364ca1d914d89f8d5a21aed7fcdec9f9ac1dced0a4f6e04e2465bbea2e68d5fc4b4087741ca334bc8e4bdce0d0a7f548545e36b1b11f418997a0dabbf43002f029ce826a42b38780568e29b90452fce003f4e2162ba3ee4da9d53f10f983eabeb4da2e72485e8ab25f40732733ff2f5a72fa7b03d6e3b33942f007962556bb4edffdcf5397e8a88cc4d38a6d9c34dd1566d1c06ac70c3bb366ab5503194560a59127a66e36e51c5351bd53e3956b3dc7afe07733166f648302504c89a0955b1bb8ead5b1b08ac7f6e4e85de9de3e4e49fa984949f75da882920cf5f014d70987f9bfef3a0951d5e4188c1974de2ec7a3746120ce82d219afff79ca20d0157fd41f3a32ba392dbf18a2b7f74bf6e3da6f496b69 - -COUNT=37 -L = 2400 -KI = 90db7f9338016bedcb6450bc3b58ef30d285c1bea0879c2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88d52204eab31c78f3407f005645484e2f4f3c2e66e6723185bd6703bae35ed0e47b1114f1fcbc56e6ee0937dc024a8611ca6b -KO = fd0a8f816df72eda4d3ec7f92d284b8a8a20f9981115c2116980a937eb16f5f5f2db60a90c2e51eb7d068171daa80097048bc4088d4417da79b098f87639fc462e130f9ff2089e3c0e63b21d0968e2d2a27f3e25eff07b33ee7372390ef2e2ca4274898877c439b8c75eac46bf70198da1725af90297aa946efcc94e2d485aff062be6350eff9c9dfdac2c77e42c6465e2ba19dab95dfd9886759578b67e8cfaaaa6e879857d3418de60a0b5f58019070e7901293dbb4cfa772259b978715d4c3bf849c494ab8f9e2720dc1e76e026835c2ee02662eacdfb1dc4e11a3bed2849ae6c98fbb1a5c5a4d3eec67835dbbfc103f8580588315a2c3721bcfaee3eb344791d555fb80ffbb503dbf0ad851c1bdb5a6b40524637cb1f03512cb7e597f519229abd818b669fb8bd1c126c - -COUNT=38 -L = 2400 -KI = 4e18bff4cc5f67c3ad2b600296849fe0adfb5dde74d23576 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4a8f362e14f9a7da5876c1792da77011ba22fb5388bd4645d8875539d4a834e7be9263b2bfedba0a32478a6775e48685a40377 -KO = b78b27ead151d1234a9172273d9aca7221412c4c65ede29f0db101f823f424d9d403c3f73658b60573e530658546c180153619f58d51b5980663310ce847b97f065f97ec15a34522d70fc082a349d6f201c1c2af0d2a7cb79f417fe5c927730900a597d87a2f1cdc857a9d71824c7b769c6d3b9edaa0a9479e753c8d34ab4cd472554d23637aa137e021af6145124f32c295e0f6caeb4b44c5c9af7cbaf928c04fe7e6e28db7a99db1374a1e48058b16e12d7bb66419ad3683a32dd464105f8a5e9cbefe315795bd1ad2a7196cbdee90a2a59a82a09c99568d7a636143bfde7e67b749708b41f4764d425e4fb79f31403b25972cee660ede6f95a038bbf97da3442d8f552197aa274fa1c8fe8a3a09d6348a9e070846e62032b45dbb26c201cb65a9876525a33aaba2f3fee5 - -COUNT=39 -L = 2400 -KI = ffdd075a2ef66ed1cf7c3098a039ec477fe58911b1c4a887 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33a5be0bb9cf03187bb2232c68e42adaf6a4d73f0cd970af2581c429d642e3a4ddcc3566dec670a5cb569f69060ae478ceb98d -KO = 99548884faa983668a033480e71451237e5148813b2ba3654ccb6ebdf35883c4a0f1a76c7bb91dc537d858c87d2b7d62c20e51f3b44e5baf50ce63305c550dbc4d56eba3124d027266e613e1d248061fa4c36422043d625e40c1a91c025342295c92b97099a85e53f6cf012b84806c3bf27f421899470207fe0066787c7840dc463177c372e22e39e400c4f32c2011c305587c0c916f38c4f91b2aeb8d56f25e164a4bbfa294813dbeadd66ccd1a2075ea7d3cadc1e04f42891cb2143e9857c0212bc25f898b8d7434b093bcad69e18fe48d02602dad4be487952835c7d8c4ac425fa8b8834cd7dd93346750bcc50a1e0fc469d184406adc7adb3bafa4de018c2b8286f4da2742463c5747ed5ec29cf77e96e253fbe859d19f4436c223938c8c267c83f77437d6f2d2cd5849 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 82058ea8b269fe0e20f0d5c1a72f1d2650b10946e884faca -IVlen = 128 -IV = a4b334ea13108599f0de98d6f157e887 -FixedInputDataByteLen = 51 -FixedInputData = 2535d0e97464a93043768f89c51e271509f45e4388385d1ae2c1fb636e14b4b0785396de67f7630f92a35aefac008505aa8520 -KO = bb3c96d7853377c506f0c571ff01844504139dd527db7d5411adf4cf64fb5bd251d2d2c8ce950f700924e585b3de297bef1eb128976b41410a4e1f307f90e747 - -COUNT=1 -L = 512 -KI = 5fac8b09a6cf621e657ef6fe51d0c8f2ab7f8175a467ce3a -IVlen = 128 -IV = a0954f4624db942fdbdeed8b1dfd73b6 -FixedInputDataByteLen = 51 -FixedInputData = 27c35d6eb27e2e224f838ad3aa48937cf6717d5deffaedb23e33eb2c0a60dd583fb62c8a51debc32486550eb40025c51613eff -KO = 15c572a1b6a4d829db5487625c687ce75fcbdf420f8e933e60d34339c7a5d09ed6ef3f04e89d12e380f1f3d8838c43d80249dc96939aa49f6f0594b238d4329a - -COUNT=2 -L = 512 -KI = 7676ba52c353ca7eec4a3a314ce4e825de735089fbe8f401 -IVlen = 128 -IV = 5772054bbf1e972c8f3674ecf4a87240 -FixedInputDataByteLen = 51 -FixedInputData = 1f38f965c046d49f74674cf5c8aa74e5f96d7ba534aef8036d809ad880d521c6efda9f2f54c3d8d147b3f69a04b9b21859ad94 -KO = ef78834cc8d24e999069050aaa22cd54ad714cb53ee1e792823b140c73b6dfdef0ca7310550da973ef7547eb58580249c7ae2abb70e5cc4bc8728c855e83d492 - -COUNT=3 -L = 512 -KI = eb2de86efccef61ee29341ebb85c83ad323f97fa3e97da8b -IVlen = 128 -IV = 7b59107dee5ad1a9cda7a96dda5f5887 -FixedInputDataByteLen = 51 -FixedInputData = ff77f47b03d25cec35a9419c54ebd96cc3dfe75b8ff17ee2c4b713762244cb8dda664728c1ad1048faec90bd535b8acabcde28 -KO = f79e745d8feb98c9bb402c19bc758051ee8a633f4e89050e8c790c70205a15fbe0899ee6733c9bb9580467a44f6eb9933a9a7747d3119d4cb66950ddb06a98ee - -COUNT=4 -L = 512 -KI = a4a6ed3741fd907f52dcbc09c3b503df80edde59543f55e2 -IVlen = 128 -IV = 669fa40a3ed2c6eecc70ed8ef60d22d3 -FixedInputDataByteLen = 51 -FixedInputData = 49a6aa31a4338a2a63d8fdababf313728014252e26a2f42b521bddaef38407bf6bc33d9b7d793b7dde98fe505fafba2b4a477f -KO = dbdaa4c79391a327999767aec6b79e361f5459a1873a4cfe997a5bb270cd011c68e144c9f71b83b63de39869ba2b2a65a4bb73062ef13447538acbf10877af07 - -COUNT=5 -L = 512 -KI = dda4ea13ab47c43d02e8c373946576b0ae15b97197f699cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58b0c677d5551f54e879d22a40f0dd1244be7d4236c14fcb34df3db24890de7e1ad2c98e8b7f08009725dd356dc79f79f174b0 -KO = 867d8bde5b7b1592fa1b9f2f35f0b20ce9ac1d8d8e2443caf9393a0052ae268c9a86a443633f74a99203c5281281dd565149ea79b8c4a7dad1bcd5076225720e - -COUNT=6 -L = 512 -KI = b916de4ede88efb79ff68ed70ead8eb5157440b2cc12e998 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8afc318ae6232d4b9c7281143b799c7a7c15dacddceeb59672fa9a1bdbc9f6984eff06b7d08c08bde9716dff3d82ba0c13db2f -KO = 057f157f4fc707a453d0801ef0884b51865f1a563a4c00ba30e7f692d2594268a06063d34265e0188cfa789ae4375fb2bd993a093102ccfa4cc39dad27de690c - -COUNT=7 -L = 512 -KI = ac128d7df240a246ef856bf0a13d003931fb7d27f4b4f7d4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3f21ed5c66530ede971e73a346ed0592ae42229bc06ef32353e8da7aedef1cb6eb28de457f4fa2882b01c19b0686bc1fbe3c03 -KO = bf780f836c9aaac03f1db1f7e0f1dcfed626e9c89e31766dc5ff1bddf74dbf7c9a2bf362c9746d6de73859576646aefc7b65b953407c762591e8cd65803a0f16 - -COUNT=8 -L = 512 -KI = d0ce3692f498f091e0d711f49a244fe36181c213857a5d8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b2e95392facae07f99d51ee57c8bb7c2de24a55dbc7aef723fc64c2909ac8a801e30c634ad2db8976218f09fecc223ca922e7b -KO = 519b00f32913f21c7e492612d650098672cec3e459043376324df8698cf5d97c1efae5d44ba40a4898c2702a0950374c72d2cf3b861fd759f27c6cece602677a - -COUNT=9 -L = 512 -KI = 59d6c9d71aae2511d7b66aeb22b283e0865fdda9a0bf4135 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d7e08df4ff9ab3c731cbcfb3edeef02b7b2bef8eb7b5c0f788f973756a1e94dbc5b0748f0f0da34260896a28bcebe911c02c69 -KO = 0809f96ca4959f8b5a86ab0536678c8ff0557549a5ccb3810595408e4b3ade344b12cd3a85f4a891130119a801d42e1229481de72dcf3ac04fdaf08a5a53ed23 - -COUNT=10 -L = 2048 -KI = 7807ebdfe8f8120a2234546a0d7a1704371502a41b60785c -IVlen = 128 -IV = e027df036f8eed5a71d817c468ce63d6 -FixedInputDataByteLen = 51 -FixedInputData = fae7f420e7fef8f98334b4982b4997bd57b0d5864e891611f215c02e265adfaa60e337ed3336fc523e91ca4b05187c4eff5147 -KO = 90e5cbc548b5882c04b488de0fa621fe84eb9568117a1c5e8339da4fac5a574a0b27b58cd7bff9064ae0e6b783e547d09fa6bdbe5114ab07e293ee647f45a6218c478e2d6946d9044ce4ef576ae5b955e2f874169e12a3794f5c01030b41de0d9889d3be933f64a2d108ac3a9b2ac53f81c9a0696e876c26b08c2a636821abd274053cedd5640df8724859a83418de6a6014ef345aa431983928d197b1e9df27b95dc61d813496e9ca34926825a6716e847c49de423aaad65556b5ba6858259b3e041cbc873ebd0461290f7807002d59ec3fbb1b4075d0d4636c3169ad94c89d7a0b792e8ac146967152de52ae5164590a083196c1fac9e96ff2ca9df22a4e57 - -COUNT=11 -L = 2048 -KI = 38b136a19e828b2f2339f5b8b7a1b73d81bed9e1eb5237df -IVlen = 128 -IV = ed09cbf948621372780961486e8b33e0 -FixedInputDataByteLen = 51 -FixedInputData = 8805331f28b3b750e199fd5aa7bfb7b3d33ce4f5bad50a51993def8af647890bd1af6dd7c06716d197f9cbcfd7a0519d8a176e -KO = 3f20c2dcb41a7a517cf2743973484da39df26f8cd0b60e08a3129229b40bb653bbbeab0c6dd4b79286a4c3f1b721b386f65bcf0a4af992538fe6f093386abf877256232116f6dc2a3789bec81a77f13a083ab7052abd36d65e00aefff8c2110070de8de0cc047a27b8c605dfa719f6928a9e362e66324bec93663f1821b45995bb0dceeea93514ae3f256af2d0e0a235b7527e88a0290a2247252b867f6685e4a6e32f8400e8f49712a619cea9ef41f661b62cde70c3607889d1e526aee5cd19f237965a8e6a673b0c0220cafe944805aeb2472054a964a026d0f4e41df3b9cb46884105298ac6715b9ed4095f81f4552aae1e976b9d27d985da7292d64ece7c - -COUNT=12 -L = 2048 -KI = b853bfb7a0f4dcc4dfa60bf225f38f337ab476a2c73c917e -IVlen = 128 -IV = 36ed47aeb2e41f69ed8b220a57aa0bd4 -FixedInputDataByteLen = 51 -FixedInputData = 62de7cec2e44d4ad4e4c697a8b6f25dfc7287a4861d60da59078b76e4d7ce88295dad98d9c8bb24903f8d36476e674d50efb35 -KO = 860e0487165b4ad371b74bd6aaa12c85ebbe6aed6fe2c55f7eb351808c4522fc164e191b518ebd6abe41c145b5b737c47881fe4b0842ee9dee397adfcc415abc3b432e56108834a926df4cc6ee540237f2e9f20b1a3a80ffd70db44334fd00fbcdba936d60ef7ee759985d3ef60a1400c0f3d73fe903c0d73a84f0f52180844b8dcbf4e51c44deed219762f7387151873d24cd6a3c645cfd7311c19e98b3ac27a01f98567db35856aa74f0686a811143124aee35a9b06f6c5bc00eba75037859fdc816e0be399eaae025cfb6701e45752036b7b9fc79e91fcac68df2d0312745aed530ec258132ca7025540a97a5f9b5078b5905c103e7a1abcaa04ea8361493 - -COUNT=13 -L = 2048 -KI = 144e2077e5274a4a09650a8bbea002bb4103cf4e63ae8984 -IVlen = 128 -IV = 3224d0580216541f8545eeb216922e60 -FixedInputDataByteLen = 51 -FixedInputData = c2ce0649c65a1a8e767128cfdf4e207f9b9f6316506e054d24c06ce21d6cb680f51447880ef7d56ee03e7414048fc8eeda7e82 -KO = c958f1c8f3353188d8c5a1fe03793094078b9483d68d9c212981f6acc6863c9706840c34ecd4264f512186dd799126ca9100257e8d9fde6035e0b52cba9061fc8e6037190386483f5a7e2dad09e46217b03c314da7e0006f9c85abeafd955be29119f2a8c3ccedf4178064f96af851e36e86deed21f1d7d7d9493f3223ce5ac263713c3f353c18b97c3a458122cfa349b9bc18e2ffeae90498047ccf3b8d2ae90915cd53718b7196d3596da6814f9dfc4abc68081d628fb692a34a5aa7843d13f130b72fe020824f493438bd2a0fc6951bd6f2621f7b3e5624fc7142be7bf1e5c1b86d09ef1af67475442e79bcbb8c935b9413f977890c80bfd4ede50b523cf4 - -COUNT=14 -L = 2048 -KI = e040633a732df468edd1aa54ba1a47ff5c5f19a9b8da88e5 -IVlen = 128 -IV = 58cec7c72d377dbdd551ed2d9ac3895f -FixedInputDataByteLen = 51 -FixedInputData = db07d76f4f755632ea09673f5940099242341683a57803b6e8752fafe71dbe861274a8df371128b532dbf0786c50e4cdbaf7c2 -KO = 2e9eeb7cd3952e11554db8d713c76f553dc59517c5da3fef8ec9e541a531ce9522f6c26753ec9ae5dbac645b61f889ae5241a47fba3b485c79b029cef2e7c2e488b4f6ac1a1ee16cb25e9ff66dd314aa4753356e91ad93cf514b3b09da2416681759acf7bbece626d45af5d22b4bd2d8345d81ad2941ad75b782aaeb8dcd5c6577b61de7dcb7f3c3a6af3019765f2f88b387ae1c8ccd5ac5f255738eab39270712bee3be77b23d58626095e297d681c784cb748668fb9ffd5dce23351b3aa40d320a4e1effed1fd23adf04e469e7317341a1bc46c30770805dc0fbda96c6beaafd7dbaeed48ab2c5eacb7e3995edd629f189eb15d851660d5535413eff958294 - -COUNT=15 -L = 2048 -KI = b3690fcc69c000d00a63373d7f7c5cee9f294eb3a07bd37f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = babed1511a81757400e440eb6d8b204eec6ee8ecccff006f9162445018428c5d37795696c866a23793b990ccd857c001cfcb1d -KO = fd08eb393111a48647e5f7c0f7abd853809c0b0f45771850de501df8a5b5b9405dfedaf3e9a27f7ff6e2566b072dbbf1de86958ea4be1085a29d45a3eb5b1a3f66a0bc741d7bf08461ab4bf0399707bf4481bb75563ddd5ae4942c88ba0d15d97943caad6af92a9ea2658d7cb308a85a97189b6b5c6dad6d85e120693bce5960abda182a732e191c615ce6176cce71262f17567439c820b09bfa4e82bf105bbbf07b6b1acd96a5e4853957b0a334ac95ded9d62a1339dd5a28bdc5ef6c9b0f662365161857abbafcffac4675bbe7ae98ef1958b59b3f521b46de82639d2112f839ecb1f4821f3f9f782bd9348df78939e31b602ed0c6036c2947d23e6ab77a5f - -COUNT=16 -L = 2048 -KI = 39a4b2a9266f45060990bbbfbbcf4e61779f0fe8e8ee10a4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 18cec93a304ba6474f29e5ed7dee7f8b22070ace4bfaaed9cb29af63ae03158dcdb196811a6fa46c49da00c69ca76f81d86194 -KO = 9cf2f09e1f7a9772b311be347504e3972dfc7242383f70c4dd622dff8ea9b5e19c4f6aaf4d03279446f0aea453080cd95d9511257455dcc5b339b1c93f8b356f13196e316011450e38a8a176a7f0ae698488610336c0bab9a02dddaa4b375ab07a435feea66bd5ef43e6fa85894322fa93a8893107f29f6f201c193f361b38b133eaf9c2f84fbeba2e1e8aa6d6a971277bb278e064506fbea62e9afa7bf07de309717a26580b2f11e38dd074997e305e32c326fc3903a1a8686b94e52468f5490abafabc9336df6e11faa778823cac2813d97077b64320417d6c26a58b7c8ad66129e3150257b8c5007bae0f1abac2d4992de170f82c229b5083db87ccaae6b5 - -COUNT=17 -L = 2048 -KI = c83fb661e76284d34c6226275c284d2cf2831ac570be979d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c778bc88bd09aaca3e42691aa6c55cc7377f408a1d885f435268d8936b59c163501aa4e4aa66cd90cf2f75eae3c3806bc36517 -KO = 29fd63875009b3789e8dfdc6e1f7e6f4f19d4da1189f09019b07707e8bf9848c5877a591de7d2831a612ff65b3ecf8015a3cb2cdedad3ba52349e8d4d3ec8ecbdbc3ddabc7481479d49438785df6ce4ea97927604ecd02793d4063b0ef7e21a6b4bd67e6b26252286e1695577582cc3d82d1887a75d5cca386eb0c70d1afcaec63aa44887ae30fa45162bfadb9ea3b581f8d1689e6dcf2a27cec1112ffa4de709ace48cd6b4a8b61ede4e9049bcfe784b5f08ea4e3201d8ffe29e5fc95e43e424307cad552b44e6fbcf429b3259cde082ec38865959948f07beaec30e830f1bf120fc7e6a3f1334fba904e258b01677dee36a6a23159a48f34047869324061b9 - -COUNT=18 -L = 2048 -KI = 6a5f5fd3c8ccda762940604db70fa8bb7be8372f515698ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04845f78899fb52f1e037c456de335dd6124a7bffc2c00cb6d1e622275b66183e2a35283da67346d165e407b8c2244cfe4735c -KO = beb892284c23db5b6b272b46dae2f5450e7e8cc6ee82bf143a42ab18a68dc70738da5cac6113e93e1cb0e3831d4b279cb06a9329b7aa2006e8e4db4687992ec4c0d14d5914b9b63377de15c24bdeffecca3ae09a00a3d95dfcadd27b1e474fc4f885e9abcb3ebb7f2da3256a176541756f74127cb3987e16e1022c0977641500d2fab368b3a8d4bd525a45ad8fdeb92876751ab6788b893e7c398b95edf24f40bebc80d381a6cfd6c96f794b2ef2e8c14c9388e017be43a1ef8ef0b3b5b1a9f41c60a26206d686b9cf8a17ee0151f031a0bf3054c2265ebd92ef56067be8c181fcf6f922c1b27a714a6a10103bb78aa8df73015c6d4a5ebf8168ab581a32a199 - -COUNT=19 -L = 2048 -KI = 432b031687d582ac7172d6851fb7011d8552c6b7a5ac0bd4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d973bb59b5f06c6d21178ec3d8ccc7a91f11e762ad26cb67063ef6eacfb0ca08db91e03486a6b39c7a04ab4dfa53c6758dab1 -KO = 0b87a6e778c981b1a1693560a47bd5ac933e161d9bb5483831748a59995bd2f12e679f3b9b743b5c4d4ea8988a1bb6192de57131ec1a00c6c059e5f74a5c99dde7b7b70245027ee2461254d8fbd527bbbf64604da451617c82e01b98ad05132cf6f5f210023d40c531edb6373ee4bada83d5e44e2746abe895d4f04b7d582d8d7fe9d1d02af0e7f4538d867fda435dfd91da0ae60392fa3bf6e6d17fda1ea893a2ebc4821c8da1a129a3605ee538210b5f767d6a60e53800281db0b20f186d9d67f7c536333a802be90155c10ae1e963324f8951b645e221e6cea543e5da8bfc547e6f88d75301e25ca597a79ed9d8a4c4a7bdd626a7f8d32acb05d16faa8731 - -COUNT=20 -L = 560 -KI = 78cbeee8ff0595ccfd571122975ac75a693d86a48d22131e -IVlen = 128 -IV = 4869cf520e1d04a73d0c5e09fb38ffc6 -FixedInputDataByteLen = 51 -FixedInputData = b9f22c2fc60c88eea4f305535c93f29c9b3bf7661d5551a3c5659ea0e7e4f6b5bd7fb0364b413461862fad0466a71d0456f571 -KO = af959083972eb8e0cd24fb92b6b6b739d85ed2dc591cb3c6b9df8aedab4f2b3b76a4b1fbecb3ba62c91150e295946f9404643c631c98b4de9e4220250ce0ad5d6070403ec0f1 - -COUNT=21 -L = 560 -KI = ccd7b547e84344ae5257f560af35e7d8618e9ef75eb7f0e6 -IVlen = 128 -IV = 4f1fb2ecd8a57726465bda0407e12eb4 -FixedInputDataByteLen = 51 -FixedInputData = 675b73510d3b15778d7a108aff3f5cabf9f0631728d4d6740cc4154599a6c7ffeafa263fcd22574483270ccfc4aaade51fcacb -KO = 6750ea66c01946551ef279e2f71a3971579abff5d0ced27b679418e0f5e9296e251f048a27ccbc3432e2af8fcbd9d9d94f450600be1cf9aaf59f4cbafcfe57f094fe254d4233 - -COUNT=22 -L = 560 -KI = b47eef00e3926930cf67f56221887dd32cb40b592f30cf45 -IVlen = 128 -IV = fefd9ff11c3c7104e6d1c6adf5c14cc7 -FixedInputDataByteLen = 51 -FixedInputData = 019bd4aa1efbdaa125c4ff068ffb749b71b977d9403c1f5dcda99244cb9438246f7a1d7a427359e5736218173062ba838d0dce -KO = d80206b9fe216de0a2bebbb3577f2e2df06f5fe814372615ed5c2f60b4d1eef3117e8c10e5853f9685643a82b53c9f9f54346382ab1250d892119dcd41b6a9669c04b2ec11e1 - -COUNT=23 -L = 560 -KI = 88078d9b04f655f2ef8f922ebcd4e8372fb7354ad8e4d0b5 -IVlen = 128 -IV = eb63e264ad148dbf40bfd11237d41ede -FixedInputDataByteLen = 51 -FixedInputData = 2f7129a5f62dcfcf46ef4bbf6116cc8f41573627bc9c5aa440ba9e02c8219108b8e0990375a6e857390dd235e2926d915da885 -KO = 3deecb2e95172d469b2c11ff85225e85145ec3c808465b717bcca0109a3c80beab54a79021ad56b8c610db4efa6fa9c331ebf50f973ba1564f8f2deed7b0a3108bffe707babf - -COUNT=24 -L = 560 -KI = 7eef197cca804e986217c48724789c92437b36fe2215c116 -IVlen = 128 -IV = 582b840e03650851c051e61736d2a813 -FixedInputDataByteLen = 51 -FixedInputData = d90237e595d3bb597aeb44a69b2903d971fef0780d884aeadf82c4e6f8da2bf8e00c9b72e60fbffe9519470fae499dd167efc3 -KO = a14be4b9415b1998b193f039258b6373837bf839de0e9b2757e8de2325de18fec6873ee2902d4f9f9e570966947ec7fbefd8252dfd1537c572e1a00e07c0dedad13d5b20f75d - -COUNT=25 -L = 560 -KI = ee634329c0585875e5847502b0ee76efa00cbeaaec9a8631 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44c8b0d616826b80dd10df623ba5a1c5bd6a3337f1ee61bda5347adc8edc64caa349bedcc1d558298124c50dd4a8d5c7869985 -KO = 4505f090968f6c89dba5c1a0b431408be9f14e6ea40d8ed81232b3a451a0207588a19f307bb5e294ae9e234baf92f110d4506243ceb96f084ac6c8f7d0f86f4b50a9acc5dea5 - -COUNT=26 -L = 560 -KI = 32ad3530400fbe8f223e4f433efd6e0b5b830da8100090fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 942ad30d8ddfa145e8eb5bf55c0f522da05642a3b4d4ba198a7261eac6331ad1373c2d4dee7c3b3ed90f360f0e03e546648dd7 -KO = 89c89cbbea7d94c9ec7bdd1036ab23166ded1246030b5de90fc2334d426baf17ddd35f379b5af7c61c87af4d23bfb8249d745c691c93b539eb01063964ac6ce29c2a3c0bdd39 - -COUNT=27 -L = 560 -KI = 585a5b5387e06c665453bb01d16b3c35d74e8b91259d0d84 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ffb96cb1042090bfdb7fb130e8dc776e676f004a28b72085165e5d8d3111941d0ac3155fc8cb9bdbfd56e9b4f87a20027e76f -KO = 33822655bcc1847a1637b7e4c4ab2be2abbef2f197449858ce6a28847767b58d02498b89e8b086ea18c8075f4e2cbb5a9ec50a387764e4c6a9f5494a51c96ac6824d02d840f4 - -COUNT=28 -L = 560 -KI = 2ed07908ce09b96d2a6c09ff092c0bec6a9ecb1217833c9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1589ebfe88b2a9ca02bdffccf0506db1e19b15d8b4f6fae569825bfdac76b095e34981ed6a047b9174ddaace3c43f3ceb8b03d -KO = a189f8a7b94aa1f95ad2252c44e558668935a7d3f7c8138ccc53e47d8d2ce0027f7485a15557b0213a5f3337245f20ebec096394853fb90c0c24097e6b57aca3d9a0aa330357 - -COUNT=29 -L = 560 -KI = f8668338d95aa2186ad1c77370e325d6d36dbfe15bd30847 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 792d6d076eafde4d181695075dd30293d585a556676cde2f25587aec663cd6ba7e3446f00ffc3eabe299f20e86ad73a3b29492 -KO = 925e7c632ed1864bf3ae591d13db19c88048136255af0abda87e8dc930d165d57b296ecddbba6a364ad1e25fbbf9b500c2af4217c5d0ae5af19e4b9ce5b1ec88dc5d90424fc2 - -COUNT=30 -L = 2400 -KI = aa03de96625e4974e5452f6185c98023d9f8b7eb0619896f -IVlen = 128 -IV = 59ce58a696ea39cfbf0af0a0bf169ad6 -FixedInputDataByteLen = 51 -FixedInputData = a5d40a20ea0b8609ed28d9426dc266bd10aa36b379b09d9deb56310920dfc650b5a20bc09bf9d53a3c08b65ad616ad87226e25 -KO = f68d0389fe8a76534c46fc7214134c3d3d6d1a4c49c25bc4ea8e077a772e04b9e071538c95add1a816b123b675d9b29a60bdd206b2221baa046659e55a750ce36b0a417fd80ddcde7f06d15221eed9e0962f432934981dbf9ac0e1cceb5dc3472017fbbc8d8043580208f7d5f8c7d67329b88678f37178fef10aa35f0ad1c207ee95772ee851c5910947cac7a428e93b9e2d1b6a2d6b14c7ab81e94f9d3edaf9f1e43146a6f9f7f09a920fa6eb7521ac8e35a73288dce7f663515ee65387e86fb16cb215c5a291f43ba8451fea68225e09b0e4151ed8ebe2f0f9c52b6a2c8807cccffc8ed38a50ee4ccff627134128733b4a67b56d589b046750d07a364645718dba6645fe44ae3dbb846d449adeb79879a5873a53ff3d0b24637cedcb5a986c24a8789ce93e9ca8b7cd5470 - -COUNT=31 -L = 2400 -KI = 766d610cf728eac40c76bb08617fc9a7ddd58f3bb0227855 -IVlen = 128 -IV = f1063be4c36cceeeeea05d8f9c6e6594 -FixedInputDataByteLen = 51 -FixedInputData = 02f52d6a53d3460a430196a5f44732baafdee9a9bf7c876301f8298eef10d9080c05c88c6a1bfe5e6863d1b92f93df1407e933 -KO = c41d1d3b1e951f653518a4ac6a96728853e97ddb02ad5afa2c47babbd4280cde33dcddba95403680178051bb867a571e589728a154d518f377243b847dfd2be15e06410bd54903c9e4de2aef96e18e971435e6e6433c48ef82a27b4e330f527df86f5e44a9f2b9fd5c075b232e01d97136107708e61964ac4c39a8a287ebd6fc10e8a1c8a3882ea18f71698ae34a5267342c09414a9044182ca88ba7ea541ac1d797a7909f871ff34a03ed4f0aa12c3dbbc603d5b8a8b6ffafbffa4f26d91a28e61819264948f418d2a4fb96fa50ce4e93f10af0c0e2649bd405418308348c623c627dda458fe774958fd25c6fb4a389f1e4d81d680c06d9fb2094e6d1eaaf964f5b341209fe0131912878ecc25d2c85f1775faacfd83cab654e7f7b59d5b5c8ba863a144ed4fcaf129fe660 - -COUNT=32 -L = 2400 -KI = 91ee8fee46b2db057ffb8284246c5e7b8df80e8dc6ea48b4 -IVlen = 128 -IV = 17f0a2e96dcd48f95d234a0a279b0740 -FixedInputDataByteLen = 51 -FixedInputData = 065eeeb6b779ce0ff11f49532c4985cfb362377e89b53b4313446b8ddc4a87399cc40cfa122e3827fdff94546892235865591c -KO = 307670555b99ae489ed1ce1cba74ccc96a1ee4c6f85bcc646b3f8ead3c9e11dd364b09104356c3d48f4116c455aa7e5f5a207e6bc831d9aa1edc4a418a22b130ae07e9b23f4375a0de45374fc8f0dbe3f5c9f5682df5ef63efd4ac0646f1543dc3cc43d2167c800c23b7963f78714063bc2df0b7cedd3a30ea549031e7da8b1ee5cba930e75e4ae9198fb96cc8114c62a845ccef2c68cdd1154b8734a4e31eb7cdae1c5bca43e11f709c410de808f43e0e735e832a1013c729cbafe75515b88afe2536dcd9d85da221f7469fcce9def914d43964d35d2da7dd4927ba50ec23382516061fe918887f74a6aeb0f1fb320c0863de49e7a0d29e09f65f1c8a86fbdf7f87591e648d43b23d9f6181ff25206d9ec0c7d0757f9a8c86f0476c6a49a626474e230ae29703d2315edc82 - -COUNT=33 -L = 2400 -KI = 471364a309009d286114ede42b6f25150f7f6cf59eb4c402 -IVlen = 128 -IV = a275bc455895a1e409ebc0fd053d79b3 -FixedInputDataByteLen = 51 -FixedInputData = 28f2a1f5a6d85bf94b54891b6021a3b607ae7d3eaa565ebad97a8e4fefe1dd09a794e8d787a5a065ad11ae0c53fef88432df24 -KO = d1d8537074be0e65bfeeb2d7c512073077e60d1038f7da2138ac9a2343ccaa62c1332549fac44028752efd45ea83b2c955e2d68006d4b37a202597cea8bff49dd6d92327f88c53ddc6664a600599d2866b5edd0c6ca90530e471e6b5d5395d200af016073238fdbb066f0c02d5888e5f7003024f6ba44b9a93189bd02c65f772519198a02c32e65eafb5b10cc23d4003d191b6bf75487581752a3e15f850be12ba601484c030d1f039fe319cbb07143dc30359feb5fd1974af0bf5bc20abfdba3f564a8f05a5db4958bca060fbd386ba40ed09b09c453c520803bd54d5680dbfb353bd9636839a89fc7ad129302553ce9bb88bc6073b77150b043f9ba55fba670acae627ae9f72474c214dc4ffcf701f06e4886b99e55f57924242b4b00e0613f447f17fa06150ef4eb84892 - -COUNT=34 -L = 2400 -KI = c4fa1073f0a55fcad79563ca05736c7d4b25b9a8fa167ce2 -IVlen = 128 -IV = a147f57178fc370780e515a309367ba7 -FixedInputDataByteLen = 51 -FixedInputData = f5ee903a11a6baf9e2cf9c5ea74c6a8622f089ed03060d40071971200756ba666acbe459876c1a356c79a4c5c50158e195ceb5 -KO = fd0d3ec6e2570f5d31fcad01af5488f7ef2e8774f325df5ff60499bbcb0e39db5647b23b92616398d7018f3e31d9e310189933824565cf38af0b3773a73147918bf1e4616628473de4cf1b47752106e4295d788577ef841d6e3a96860e97be4ab060525dc607d58da0c20e37d5aba71646c3b233564d2b799a91ba4352ff3b82c6f3727471e2ed7d2715c6679ac8e6d84ebb7f1b21045f102ca403d124113398ca2081095ce0d99d80c70609dc7ca63555c57dc940c1758513cf1ab6938bb2547ad300bd309050f15602f11a37593e3e5e6abc923139833f57f3e8faf54e42ee7feb8621bf2652e16cce8ad8e4295b0f48abbe69d856c022ebccebb0c3e2e380ec09273979705befbdd2ca1841777cf3b38bca7bfe2e76138a2b26a6354f30bfc88ece4b5fda5aaa777a18d0 - -COUNT=35 -L = 2400 -KI = bf68db3bd6b6695d0541f339788741c18c926fe74cd25a35 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e63344463e93c8205ffcdd5faf407ed995c0892df5ad962da394e11616a4e1b31c54d02c64756ba45ad14492650888e14e553 -KO = e2f923eaade1851d66895ced6e3b5a3606f59bf9eabdd2d887352489da51a932492d2ac1064f348e08b6e2c715717b4177823bc26e21ee6253289829bb93aa05b441b09a85199b6adca260d48d49cb9ac2de1f0faf3ac2985b778ce3e0603dc3dfc2bec8379c8d119426b17e312ebd8275601a61f668e94e5c8508b856072190c65f04b33b81c288ddb96814b4d6d03b835b7fb764b06bec1143bcd7fbf4f446472b728efcd379ed82c256cebee1f1d50b18663f22a527d8627f015a3ae326f47f0d80f9dce2daaf6ad71ac18fd3e04d51961ffaedf41fb3531a508a28703fafc41fcf64df628b73fef1f26cde48bb793a86f47adc162ba2888e8394a4e1aefbf5747fa85f9c554afe5cf071c2371882a358e2dadfbe6945a857198513464169226d843fbdbdaa9d6b109ebd - -COUNT=36 -L = 2400 -KI = 3fb5e2ac1b57c4c8d0d10c63aa0e53ce1ec8485dc844f1e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb6c850c39c07432f981d118c33bfc3f50a4442ac06f93f599fe4ed0285fa8363013a371d30fbde922d4ae297da36d6f11f5b6 -KO = f8a9efe2c8db61bd868c7c62eba0ffca18695b8bbde2473ba9b3ce3202cad9495b94d7427d4587eacb79d4b86ceaa56704a67322631c0f05bdd5b3bb9b87d21949e2532fdd8691625a8da97c62779597ece270687e152be791d888cc3a363cf759902e24567113df20ed5823cdb8414a4dbc07287c27d871e5f42a2e5844e98857b35dcf2d241a2f78d10c3e38de3345ef871e27b424e78f61a549e9a29aa5ca354cf71ea2d049950867d99b137d595bccc67eb459b5e9b3ce0a57db9092f9ca26ece6db34420e42cd94d1a574c21ec42e2536c8c0cbbd74d0891cc70a38a24b9359efd63e8b3b557b400090b6bc7d0d855a0fb57eb46c1f27dc6ea42eab8921dbf817c6ca5176529ff61d8e079d5199e6deca21643d5e23f10ebec9fbe5165549985a2cf803350418969c4e - -COUNT=37 -L = 2400 -KI = 3382cec0f7ff1757b76f36459bcdea5794c8c381a53fba1d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d1a142c933e78ccc16b6366e9a093944f356a75a7487cb7a692d18368810a021f23761ffe5cbd601a7f68eecd8df2955720c4e -KO = d216d260ec7ab491a300bb384ee5df737c26c6445237bd484bdddc33200a9354d4f944d80b9cc554a4ffa561a818be9d5ad7a388c93e6ae6d693725079a87b433dad9b8b84a15e6ff8ea7affa32d41b98fc4233148b3cba788a6c178ecbcc5e37e4f265ca41b882ba35fe951867254d55542133e5360c59de776d2c7f01ef7f248c5fc04d33d164c539c8c62236b53d2b0af3588163754121ef521f84f715a6bdfc7a751f82e3b3497fac49cad0519d3ef026145730458abbdb454a1d756a84140891e9e01bdc7229f11cea758279fee210ba2be70b70c66fc56e81026332f4e6cd2b51ce404a676dda2c65756c6d7a7b4595250f3d85a415d224c5713aef61882629e18d5094c98e011ccc23f029310bad9fa51651b9f9a1b753b5ec3cdc1088936a4c260857f43090853e7 - -COUNT=38 -L = 2400 -KI = 82c8287ad40f9990830cd2dab520745e8d53cb6418c03c13 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8db598774b8c8d144bc02d0ff799cd9f9114c5f022c41192dc4dfa5ee51771ff0a93cd940d6a8cc53f8e4d923b5b02054bd767 -KO = 81b6a08dfd533c1cb4ed44c6026c764797ef892c6ab90c90a4a2627d5dd4652a155dacc043c9ca002881778b992b4b02c2e3187255b08f9dbb1d5b20afd316fada54bf7fe8392b329a6947cbd6211273ceac39d617ddbf1650e927917f84baf05991d9bf83650dafdcc3315a900e6924beaf506ca30332e9b266968e16d62d8b8d6ce166389d173fc4bd6758521eae1da7ea295bbcf060548256dee10e0e9c8fc6e673995aaec5f629985e112320081cb194db322e3efe522543c5771537ad29cf9367dcc7d57f6f79279e1834a69bf4ed08a705a8914f12e7a8c3f00cdb5e199f896d446810b63667f7077ddc761d06b260cdc555da90b579d429d3adac3849b1703cb90425ebff55c77da0e03b50d1c56602aa960ed64796e297da931f876b2254a5fb34d9119fd13d758e - -COUNT=39 -L = 2400 -KI = ddab0c6379dbf12d58ed74b2adbaae53197ff52f60ac87cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 13d3b4fc6020d58b446c583aceaf6d6bf3216819524525727f35ff7dfd86795af5f84b632f39d9081739c56b380dc7555e4a22 -KO = 6aa28d1e88b2d33027efcff257838a838def35ec9ee0cf0e9c76c23fa83ce1f22e4e5d11f90a687f9df604a2741072f313f2ff526547839c7af23f58c0a252bec557f22caece31eccf5fbf6d83caa1d39ec10d20d98aa2948b3780f86a283feb501ae558c15850528b005e5931c05c9d68f55e8752f0ff4a01bfd3a243f7454212d0c0daa8a7d5a24461e724474767c843c184c8a32fb6cf2233c6a110fb6dd4f52a37fb99fcdf35fbcc91a38b641e6cd78ca39fda24c0c1024632c3fbf4081e531e64ce6baf38d8ff6174d692ca5d21185953b0dc3df8e4bb15ddddc7b0a648cd6c437ac766aa9d4554f14acd24e442b273265fe168c4c6d2bb30d93509809f20ab47df3f0cea2c25d32cf337b0fe3fcf207d5323eed1ccbbe0587532c7000be43a3b70ad0d8be0320d1093 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 00158afa81057f898d1af1ecdaff4920e8a8405d24422aeb -IVlen = 128 -IV = f30faa26a86647ea8308cdf4db975ffb -FixedInputDataByteLen = 51 -FixedInputData = be195569db0187f05de881f82990946502191ebf5110863c4cd483c47b6a9413611c71c472987c83d98b11cc26347140ba1bac -KO = 4dd24d91000fcfed2fa1b8c8122996bb52abd7807abc8218a5a69cb1c5964466834603fe60bf14fad096d9560f5884655099c2a0c3fc31ab939825530b975a89 - -COUNT=1 -L = 512 -KI = 959afdf723ddf6732c784c6cc52454294e0f99153d35cbe9 -IVlen = 128 -IV = 1e372defdc6996c80eeac67dddd3bcaf -FixedInputDataByteLen = 51 -FixedInputData = 015d4e432b92c2afe739349f1c044fdac4d984fb9cb179943b926ff5a4b03d99b43205494026368085852d70e90c96ffc33f37 -KO = f3ed1d73e472f21669d34e8bf4d310a21f43e2ba8867056f898431f6127717955bfe0398fe4259aff1d0f3e07f9e0433e3c872715eb1ee4e1eabf72fb8032391 - -COUNT=2 -L = 512 -KI = 0baaf5c2b9469dafea9939a33b92602f007374c831f190f0 -IVlen = 128 -IV = 6e82055d21d2547d7c65bc23c214d839 -FixedInputDataByteLen = 51 -FixedInputData = 94157427c719b4288f4a25bb053f2a2a07a54796ccda98ccaadd33c3d01792e71744ac68edca71e03eb51f57ba7657b47dcb81 -KO = 350d72636630089d0aef2d2ac6f45fdf9631b7eb56e910de88688c329d2a91058f96175cb7775bff80b66e2075a2aa2ae39b923e2d748a8218f59726c95905ec - -COUNT=3 -L = 512 -KI = 9a78a0fb34e6044a36c247d7069d8fd0b6e19ebc4db6d074 -IVlen = 128 -IV = 0dfcce2b8f527fd0b1dbb08ff5d688ff -FixedInputDataByteLen = 51 -FixedInputData = 6b20d1b00e712d82aa404dce06575b68bb297f9d3a0da13014254c6debfd531681a97c5de023e1433a675e9243a1215ea14979 -KO = f0e5c69586bdebed64ba470bc040ce837eb0de09f74009475d300da8e36d713c980e55be31f1d5ad5c9273953e1aca6bf229ea0327961a25de21214d741be992 - -COUNT=4 -L = 512 -KI = 993a5fa1c5b7fcd65c12b3c96d47d91ef4b32d62e5da72af -IVlen = 128 -IV = 9f5cfae819553a511db07bed6f871ae0 -FixedInputDataByteLen = 51 -FixedInputData = 82ab22e04ab17a3b425f17203e45874cb489f802d4c6dcdfd769c05e71fad1a7d0de8e56546114ae342a2ae34210719b53f68e -KO = 83eee0373ab8bf61c32db50777be234d09f00a8d205beb1fe365ddcfa4d8b35cde53e00f48d4d9b0f7c9aa554de834c0ced224682ade3643904df69d777b29bf - -COUNT=5 -L = 512 -KI = 38f9e65ba05b4f8c3e2dd77cac67c6b03b39382818814fc4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 46ea3f62c03db9e8134d15659b772291ba89029c5619a45fc30ec0240ccd49e9fe67f1f7992426744da2eb884c2dc629d6f83d -KO = 8facdfc74c9acae3c1efaf8bd93faeb38e291a330b240e5a9a87b601fc41454211c5bffbfa01910c283f902a0a04def6ac4c05a121cd89d641b6cb263a8a9eac - -COUNT=6 -L = 512 -KI = 9ced831719f2304aaefaef66fad1c3f5a568b38faf14911f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49a37cd9c9ff52a8649bec13116e6c1bfd4fd8e97f25012de1f066a18a5c6cdcf212cb7b067772d1a4557b7077af3eb133d613 -KO = 2becb47466f5f305250f56d24731b79b59fd78f746ae3bfdc034663d42800d8ea0cf10ace2cae296d03be89ae8f07ac8c11dcb1d6e24ce6d71ced7b707692567 - -COUNT=7 -L = 512 -KI = dc5c585b6f6439aa9a19a0b4ee87c6c47d09b26dd75e6c44 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd9a36e35a0e649582cf21b55a712ae24a785bca412f3d5e2bac04cde2d9bbc0afa14868204391b1af6b6ca90ca6aa35e1a735 -KO = 1808b187c0266c22591ba98321b29f396b45a6b65bd4fc3bf2d238a041002dbd16fd0fc7a9d60d974b9f7c7045acd64ca03f1b98e4546c93f22593672dc298db - -COUNT=8 -L = 512 -KI = 2d33b4b942a80c2eeacdb912dd1d0a738ed1ae860bb3b87b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56b4b1877df1c8fd7a338c41ef1752a372f60612862d1c153a877626ad0dbbd011dcc0e7fe7942de49bd440b86940450d042d6 -KO = 5b8d54e3aba2b413b923a90a64d3062bdd316995b422e723e7e0082c52a6e70b6ba7a86e27aafa2be9760701e34d1ebbb76044ecb42365079025409fe8014e67 - -COUNT=9 -L = 512 -KI = de6b9576257099d99e671367a44367eca75e5eefab1ef081 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0fb35a2d2e8c2c938997b9e0bdae21efdfffe8d551a1d3c93edae7b7a1679d9bb310d6b67a2bdcbc980a94167ee80565d2666f -KO = ff396890391ba5d23386b5c4e2ec8db58a870b8db4811ed9b720e72d75cf183641e98005fa76a49c9bda8490a7e60c10d50f50e83f8a30033729fa713c63ed64 - -COUNT=10 -L = 2048 -KI = eb79addd4904df4cfd05d10bbd9087bdc40645600742066d -IVlen = 128 -IV = 44fef835caf09f3e1fa2b91d9345acdb -FixedInputDataByteLen = 51 -FixedInputData = 16e9c20228cb7cd1bc2af4224d7c52ef47c3e2541a8cc2dd6ad2364d16c00082453dcbbcca9af02dc80dce936ceea870ca61bb -KO = 577864f03b39ec9a8fc7d7d797919e1e2c8656266f1ab338e666f41b17b2518e3e0d736ca297602fbbb396b9560450b87d0e7b8412483cf2718bad65012f8df85b4db8a17e784065d52608bcca4998ad560a124b99eb25562c7cef55651ad26c98b5914d015edd4227657b5bb920ee39c25b0cadb3c7351008eb3c8c02865d342e4137ac7b277e22bc169288165159d86564cc36783d0289fcdfc4845a84951c9e018f4eb557cd34a76e88be6faf35b333631be9e0cf1287ca7f83492de22aa683a01b2b8b7f1a8d2dcf839f9c4783f8a8645c8f1d1cb61ca10d7caeced14fc5f822402c90fc55ba8ca0cd697a1548506e0e64066545cafb2b0b21ea43adfd55 - -COUNT=11 -L = 2048 -KI = 3424c94c37440484e3d1c0c76669d1505bd4317b13733a4e -IVlen = 128 -IV = dcd5deea7741543b664c303e75dadf53 -FixedInputDataByteLen = 51 -FixedInputData = a0b163605306bbbbd6b2579bf1dc37e3ad3c03e7f70d9f43873df85f891236879bf0f1224efc4621e300fbe67659b94aa2094c -KO = fc4b2fed30f76fc19946cc5223e02f642b98d088d1b09d02e73ff06c7a1c3038ff02ff82134f5dcc0ff38c5f025662ba7830e8a3ccdde42890db1d1062e452ddffe9d8e075f16831691b33526bb301ebdd50ce5a950015eda0e15b8674ca5b36bd08615b9ac4955a281b675bc85cdda53129e0dc602f60d5159ae37188575aed1d368c1bf3b6aafb16d840db0256ed7d01b4dce4f2cace0d5c60fe6b6531cda6e57bd6ca557093eb0658d010edeb6d413183b62eb207af29517873bc4014f98144b376ef31914558d37d8dd8c20546e5d24c414adca61caf8a35fbf0948d0ef7b9fd7f6bfd0ee8e1c05649501c7a48abb69957671d84bb38ace68ecc5460de69 - -COUNT=12 -L = 2048 -KI = 7d134e5e4368f4c0cdc2fe84f02c62b1b79f033149a992d5 -IVlen = 128 -IV = d4df8130b7c5f577f4820d0751a5b2ad -FixedInputDataByteLen = 51 -FixedInputData = e1f23e0f2cf6764672a97e46df410e85e21bed44a7f9d043bf8a344fdb070ef9c5860d9e61e0660e729d74ed2ec2bbc5efbceb -KO = 6d6877ff084fbf7f52ea9cf40faeb786df38e3189e5e96ccc4caba886a424e2e73ad0ef72a3477a6f8a845bd3cff976b14309ab67eccb442c17e6a1fa5c39d85c9b92d6965763a76599bc3990fcf4fe681d79552ecbe8e2de088310eef8a41640b6b7d6301e16de01529a6b30bd012be3e56de93acb2e1543ef3a7bcda8ae5c7b65b2651d4c7f6e73d45988a4b6369d739212f48fd6ddf05a9defac81570d2b2dfeb8ca0a3603bf5145b0aeda8cb55271722a10cd44a3b6b28b620bdcc8d2214031f78b0a01c67b8b740476c068fefb6512ee73a879550534d7a9b463fbeaa1ea64857f8adbc9d9fe3032771f9a7b1fe03ca72cca290ec4be20331e833b1dab7 - -COUNT=13 -L = 2048 -KI = 345ef96349dbbce71ad91f2341d090a1dec265b227cb81f0 -IVlen = 128 -IV = d51379b1fee3a53e18dd75fbc821b953 -FixedInputDataByteLen = 51 -FixedInputData = 1d52732006d7dd0ca23a9896f83a07d7c8b9834a70e110868772de11b25828a9d4c0ba39d920a760a0879fe964c5ba696c9bef -KO = 907a08e9d253541135cf4b672aa0e1fc2cbca2d09bdce59f5a685be1543a4a6a76515b11626348ccb0ee4c2ff8731ecc66bdb8100d0ddd82bb6814eef9cd5dd2d60a143b0f6871d95ec7c451bb6b709a889521d3aa7f95af4846cebf8e62740e3dbcb87fe6e3512a3b602d400c170d7a32f84a5f6aa0f65a4860cc8627ba3165c9e7034896b031567207ce981b5c5acd2a5164204869f1f7773eb600a1f4ce3e31afdaf7113fa4460ddde5b55646d534d896a9df74fc968bd673135e86af7a6d4c0e0c80c5c772db570094f7a547aa723d2fa742981984cab59e3e8598ec34051fd8f0e69e6d155c91dcdc6462a3e3907ef2b370c6e805f454b63a2c194a2889 - -COUNT=14 -L = 2048 -KI = c617c51a462ce55bb3cb49b477054aae9d71fdd539bb307c -IVlen = 128 -IV = e512a744eb856a51804f10d6e59e1cd1 -FixedInputDataByteLen = 51 -FixedInputData = 7285c65808f1e95370dc0a7736d7de47d8ada1747fd8ec9cc1ecbfaa814b0ccdce4f422ee3b51682dda0bcb181249e8bdc7762 -KO = b759e24b9f8cb77fb13eb02de58d0d55a8184178dc109588323fb4868ff8c4c14bfc19d8de38131816fcffa821d38b952cc55b080ab26c6a7139266e688b84848bd8229a850041d8d4cb16e6516fd9cba04d44c265a42a7adc7b02bb740b9ebab78e59674db9c19a2b82682a68cda9daa759c1ac649bc8fb9312c24072f8bc76db55394a3b2900e0f4d385a33616792e96b8710845862df7900e8d1b54f9f9c8585448822584f2caa3b71724cae49a323d44d80c8f3667e113f892642a9615a7f0665b71848671b3910cce36b8bc5b7b895a6eaf86a9002860f84af2591e03afc9828076c0c0e5ca1753d7196a63da9845c1c0d77cb63e3e6e9872a8c7885e19 - -COUNT=15 -L = 2048 -KI = 2e4e6331570cccb2ee6c6624a36046ef24b7e8074e962fd0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 381cd27ad0a2d59982276a1fde022b2ca90fd9a1679e8bab9bc0febfb95b82622071e65b30c736ff65ae0bd6e3d326ad9c73dc -KO = 38413e2af541f07e0a6a66bf1b53320f655af023ca2ed2fcd0ab9e1798c92d985152f9afb4501d4bc8fabb8b8193eacb6a3bac395f480aad10b3fe62cb9bdae4f843016eb0fa9b5d0addfadbcc791effa43d3e0cede7e96307273fddd985554e95955e439712a512e1a7aecc792a509e97cea3658df6c5de489ccdfd54782b4f11a5dfcf2adb7edbd8520ea94da1c91d4033d2898311d737b8ca03871dfdf715b2b99d27b88e02302cdc66076091a85ad56e05f2cd8b5a17420514e4db980c1c022f737eb8c9c3120159b93f9f47621163623b216f432d7c87ae923beea014fa2b07ea1511ecec025fa0b6ef42d1d8b35ee0b5b9bf85de0c72bbe51665994830 - -COUNT=16 -L = 2048 -KI = d54712e818dc5da10c306d54e2ae527d79b158070d91c1b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bddd41d0b31053c5ef742e65e9b011eb0714f658253474d2fe31e4a245f658646b99ef307f86d0b60bd6dfb1a83ced5cb8f543 -KO = a0d289d269979d8271d8693acb14a848aef205b41797651c95c1e1e46357ca9fdc0c41335ea6145237b03da0bdc035d656cd3dfd8479bbdc7e9084a924c97f3ddd0c6592f437818baef02c998f8f75fa3455839a70f01428677e0c4ffbebf69fa846fc4b04c5a96f1613a429474f88666d7ea24f01cff550b7bde27ad26732173d9bbe18b8bedcf97ac04c5ab201ea9e6dc3d7d661fac45687c4e719221b75d4244e4335500a537ac8056a1c85ef04f1c6ab37e34c36627de69b50d70b7936ece7e6f6beb8695e2257b6e2b15870aa2b6b7502aa5184f9640b61b56544223ff64f2468e378d2b55368b6673aebfc3ca8f018c8260b6e12d3ceb453a0dbe2fe2a - -COUNT=17 -L = 2048 -KI = cb656a6254ae578f3c4f6631e5cb2361ad7d12aa939788bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 192b3ff54cee45dd80a52debb8a7588e37da25eabf6fe441701594bc9f0cacbe8005cdb4acf2e335f0af5bbb3837bc89ec37e2 -KO = 7048eb3cc0afcdf673e4f4c904b8faefd0fd5a274f0b752620854d2596bea04d17af320594e13f2ceffb30528ce032e7334cd16072bf9c6835309b03927ba167e0cfad20d7c37c941a89c3312b15a714b98a9e2afe5eae290a4baf1f1c0f6214df2f3a9e450c93442e09b00c461414703f2265fce32a0e5501b33f05c99a9d2aa093f8ac5224d5e058ae6365754a2782e57f05b5c75c03ad8a3ccc3d263c626e6b93b3e4909602eb30969ec6af2d9304b4cced51d79f0579be3123b04608327a7a69ac745b928d86d28dc9dccdfa1f39ca219d301435feeb5f7ec6cc819b4fb4d8c4336b4e611e268792ddbbb120b9d03d1b9dc79f61556ff27b061291a6da56 - -COUNT=18 -L = 2048 -KI = 17959065609145b848d46f3acf78b655a691a2df29feb017 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4cac66c000114fb354827ff90134524fced0a5f9085d4362372216a5aa1468e1710176aa5f9b9c20154289cb613bdd7369437a -KO = 707dafe111288ccd506b71b5b17bfe1c67d16331f136eecf8984b89a5033ac6b9995f590537e825feaab298d7a1c1a754b7cab0d18a2ba608f6aec5068759ddc2cd1d18d296b54a7fa6d81921f62fc2853f0f3767ab3b6b947818e6fc4e2baea366b0f57e77fedb32ceb0582f0089a0bfb4436b0830d4c3d1f6dc6c8dfe24d98fcd8af078228238ab2d61a40d98b4ed4c28fd50bb33070ab8e1c2faa24b3f16665cf2306a830c6289c190a6822651e71c241d422df813e04e304477d5f2536d094b3ff49aec0548811f06c37a95c23e8af07aa08662ccd0fe638f220872d1a94c43c83f8fab6d0b0927bc7c6006391ad0801667939a9a63ae7e1fc97198bb0b1 - -COUNT=19 -L = 2048 -KI = 55e46857e44b641fd9405009322e745376876169fe435e7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b43f70ca5b4dfc0d8f1fcfa9d168ac666fbd3f36ce8103d3eacf0bd4e2829eac8f788e13d5554fb200300a1a949cfe874d9b3e -KO = 795f9e8fd62a1200ebe7b116743e2dbaef1956c93c69a4ff47429bddb8466fe69d0699ad8c9c043feadf35481f454350f5c6f4386b8d49ead2fd97179cb7b4ba39f198f975e39d088677540ba037e0893d86c5607e4b3ecfb94bda771e43ae2f2017f92a20f2df483ebb9aa8047837071668d0d9e23d5a63053777c4f9c627f64b409cede75637d651dce9d5c4aa46cc8cb9499eeacaba12dfd847cbd6526fb7fc025d39aafb911a7ee3b5a17b06447cd8756e66cd48a3e1aa69ffb9ecbffa17a80ba2c2cb7a21a063753b54a354053d3da0a6b61456e9231d7dcf1252c28f5b37deaeecb2de651c545c3cb51eb0035a33885290648a06bded37e2213b628bca - -COUNT=20 -L = 560 -KI = 61614c6151cc374e804bfae0a43be6f6c3a064519989ee96 -IVlen = 128 -IV = 6c167a3f2cda2b196eaf7081d6b7c075 -FixedInputDataByteLen = 51 -FixedInputData = fc991a58b2d075be5c93939af502514c5a27f5a7c04f5b65e753decc1e21b2a07cde1a8fa6a3e58bb9d99bdb70ce440f341c3a -KO = 758baf970711e1acde33a2f59bc5d66b4ec44733de34d570d019433026e888e7feceb61db9cac165ea339c65edcab0d0b1000fffc7d2cbdbe0fafa466bbe9ecefc5b9e7a99cf - -COUNT=21 -L = 560 -KI = 5215e8100d6aa505633c76857239ad4f1b879aa308e55533 -IVlen = 128 -IV = be1ae46b2e8128c346b4ad5ab624e7e4 -FixedInputDataByteLen = 51 -FixedInputData = 4171733fede953e2c2759ac16a1ad4866cf236a4bf503b37ee768bb2ac1afb84dadd35caa49fa3601323ad6a351a9344c554ad -KO = fd26608d24726f611e49383ae1679daee30b60dbd783de4cdc33aefdeea10720350eb24228ced9797432d39068d986c0aa7f34b2d372f2da1408b21b709654ad3832f8ab790f - -COUNT=22 -L = 560 -KI = fbed6fc177cb4b5447bef29018c0745348695fe8c558961a -IVlen = 128 -IV = 4fb520ca4775a97ff12e0f939c587661 -FixedInputDataByteLen = 51 -FixedInputData = 9361ff7edb63ef57736936bf368714260e1a68dafa7f9e6ce8b465cd7d7d9e9bbc71b61268f851c51b3f97fb13e54c85646e43 -KO = 6ca232a4df1ece82f0e9ab648afae130faa07a75c97d301ad1f37189d97568074e4391539b41dd76a0ddab31a3994f6040639dd85908061231a2baa5988b64c523d7e24383cf - -COUNT=23 -L = 560 -KI = dcd58670a49f9fbbe4c57359532c8a1947072eb819d1686e -IVlen = 128 -IV = 94bbcf66a181ab6280a8abec4b3027c8 -FixedInputDataByteLen = 51 -FixedInputData = 676153646437664801bb0b261c5dba579e3aed9b5f8665e110c2bd74d3bcaeda20beb186f503fe7042b23ef8f5954066d7a139 -KO = 3c6bbed07adb74651e09fb742dca42583920d4e95addfc737fd2be34651a80e229caadc59e7f8f7bbc5eced5a7f9ddc33642060cc4d05bfb21bc8b4c2cd26613e3a85653f60b - -COUNT=24 -L = 560 -KI = 6296f7e63cf84cd4f02bd260116dfe4d77a14b59140bc409 -IVlen = 128 -IV = 7c1a1998915af9d906dbdb7962a49e86 -FixedInputDataByteLen = 51 -FixedInputData = b4905a9eab4498c7ac2f98a4318b869f204a3daf83475ad4d53c4c90f072919751487eefc9b249e511020cb18ce71f1d18663a -KO = 21097daef799ba1df440de7cdfb03c95792f36f3453a444f6d14668fc61b6ed8d7c8af36152dd02a05224656b7ec10830da9235f63cb5106b33beec6419f263060f9b3311773 - -COUNT=25 -L = 560 -KI = b5fe6f429f7d110fedf126e30944141145f32a282c975455 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c86cf7ff4dd1f93334581a7cca707fc5732d3957a61f10cd737d4ec05a8d416aecacc1774d1ff926d06d4c2942d00b4f38ad35 -KO = 658612cb1a80f2a4aad2d0a258c758704d8ef3fa6bf7cef8fc5fa84cfe30cb37e6c262eb6d9cc6b7bf103d15e9f32ff45a9161768b073baf36f5bc3c743294777154bca9af01 - -COUNT=26 -L = 560 -KI = 4eb43501d4cdc0355b3762c9b6ae93eef24e0a872aa1b10e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 206eb1238639066c55f274354651856101d024d5b7d01b049cf357167b20958414b791efe65c36cfa72453e43c50ab5823252c -KO = c4c4937157681fe9c268b19ab70a3cd066543617ddac1a171e15d3ba89f97e2dcbbbee64de19eba11bb1096744bee4d43edd637d2dfa11e364deef648dd48f13b7cbdd540a35 - -COUNT=27 -L = 560 -KI = d70416d0a6fc7db819d4b874206da166cd2aa4905fed730f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 47d6ab2e22df5798bb2782c57a938e3a5395cdcba6ccafcbd9d7260b86e9113f50c188518caae4785957b1b960e5ac0fba1fef -KO = 0d3d262a9438393b800d024fb921600dbd1211a34c170bbedebe936dca609c2582532e26565328195e257dd57d4a22047e5e5680adeb1b4f28bd5bf56157238f9a6f18005f80 - -COUNT=28 -L = 560 -KI = 85919a0595144f9ead898394bb389001598cd166c37833b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 466e8df7ece371659cb2ecadddbb50149ed19f663bce5a12f5cfb102f4d0c09a7d3dfe02666deac002fd7722b1c0e765c367fc -KO = 4e9ff27649772258a2be2bb0cc510e6e7009b2b0b89fa43097c247a5b0243c3f1cde960b447bc699fd6eda82255280c647b19fe847fd0ab163f882632ffbb7a9ba19865f9d6d - -COUNT=29 -L = 560 -KI = 4570f6b266d2c3a970ff503c814b8451cf68c5942243d93f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bccc59e326f118cb3379c11a8a6e160002c443b25fd29f74bde445925eb9bf30bf1a279ee7e87a5178c1e83a21831397b6b06e -KO = c8f1f22f772f82dadffb33abd2eec88e992a6e802d068968492ca1fbd80576287016472e6d6937828db25745c59122d931801069d26fda7455a39a6b2ba806fd25df91857f05 - -COUNT=30 -L = 2400 -KI = 84b59e658a921a919b48b171edfb9a3195536bc6b8aaba3c -IVlen = 128 -IV = aeb3b828ca52e5ac436cd647afd7aafa -FixedInputDataByteLen = 51 -FixedInputData = f8b1e41546bbac5bb4a38821577d45efca86ef4b2727bbc220c9941e2b60e4fb07f38f9557ba82fb3df1315cf32089f40f0052 -KO = 01970ca58341434b3c89a6c7c398b94ff39359b6b60f989dab84718ee383a5fc76c38b730543bacdd7184a64959d959adbf21f92b1b9f398b607a45c84726984074ad3ca0f9cbc16f7989ddaf8356016bbe13c71e3848a960da0a80eec530c3d590daed683c9460667ac9408be6f6a1f69b0d22dd48ed9970f6331edf1dcb5f28a5fc7cf59a95422fd2868e5ec3e21771e3801dc198cf4905bab081dcddc06d4688508948b9c06ed011ce4d8c331121feaccfcec0d82c92005d85fd73422fa79fb11d898b13740cec3fc70b96f4298c0913e167a05fd7ff1e02a5467b0bacbc73a7932ca93c1916a1c077bd14828cf307b4f9914b2d18080769f7e675eb90c22e8ebb383ea11609fbc2ef3c36055772c40bae4b7c4e42e8744a105ae65961093dd9a8e0b99a18c5e237fe944 - -COUNT=31 -L = 2400 -KI = 49724d5ccffade7e3fae2759d3a7e983ca6098bc81980a53 -IVlen = 128 -IV = fed51182ffa97d9fb67676cc45f1c0db -FixedInputDataByteLen = 51 -FixedInputData = 05f2a15617f17df1ef7e59bd1f60f536c9646ac717f4eb201d5429b888b9934338663623222ac09aee21688c4c991c39880edf -KO = 3926047209a0c406b422759f5978949654fb5d0cd5342edc45a178ab864b0f3904d0c8d20d67173e4862aa63a33c7bed853ddbfc0282a7bcb170d19d902094a55eb54a932134a007a611a6808fc4a209a04ad28d9da4a0294670181935e7fccc4aeecc41ea9d37f6929d8b0760f3d55e20c0d58f4402e1cbdd0437e07d67fda200f2df34d3d4bf91941ded6760ecb214cd3b97ec333dd42886b9c32e390c381bed4465ea42f96646af336bb71840f88cd347df71e6e4701bce9b14327cca960a7c585c59c54bc793c0519185f9908888179e2b761d89604af5adaead8b96d13766049b5b15f0e40697e4a137cf7b2e109316f412d62baf0c9bd0f0910ed5d93c4e1d5a38d959d0fa459e030fe78352a5e6b4681a0208c93463c1ef84df4f83eea21be3dff8a99a0dc1cfa294 - -COUNT=32 -L = 2400 -KI = 2316efad99b53e276a3925868af1278398641fd0f1d22dfd -IVlen = 128 -IV = 59bf69ebf80663627fe4fa058f2f0133 -FixedInputDataByteLen = 51 -FixedInputData = 256aefab9e16d53dce2a293c0a62b54064ec3d044a33f21d1aed5c1c82090db63b7f15be844b593315dc74d38134ea1ac8a424 -KO = 19132cc38c6101873d61f8a2bb40f9a353fcb7a06d75dd8cdb4944ba48fe1a666f4a2850a70dd2f3a3199e7128fd0228ab2d52e783badcfe17f29abf32e1807994e719f04475938e7ed20a58d91d2c07bce06724e8fdd9ec78e9315492b421899325b1795604c8b1121821ec40412844c1f8edf6e9068718cc3ce9db3472b459ea02b8aad8a386fbcd3d56b4b0aefa3ee0645d8246c1385915f895dad05112fcd2a5767a6d4a3a1881065a4f426164b286fe917d76cc3ebf8b5fa0f3a371d8d2070908697ab53b9cd397496be4edf0d1927394fb2ce4e45344f4bff54f4d590409da5539c1f84b917f755d73287589920d32017c26f02d2d978bf0a43a4676b046f35a714fad3df027c61f409c0e00bbdcafbb661aafd6a48feac7f48a5fb90c50443b7dac93392d2b1cc23a - -COUNT=33 -L = 2400 -KI = 4a84089b45ca4885674e23637807e993559d78fbb069d7ab -IVlen = 128 -IV = 2d242d578713f93e5c64f242050a368c -FixedInputDataByteLen = 51 -FixedInputData = cf74b4d4f03ed4bab0cb66a22cf4abf52aeef6af215102a559b79a9af606fee43fea6a8bb594eb3c194c4f9c6092b440d4253c -KO = 1cd39c49cc1e804bf036c796561ce5967cdddc2897771d580938c7eef31ba54ca57e1703eaf297d77f6dde6780b3d5b4c62d2d5615b55e66115e5eefecea056a12596993538b86dc9042c4661084b4d05c7182344326a8a574375f8bf73ef918019207a2486f9aa25ab40312bd3c1721db6383ed24ecf55d86e2666145fc79e50e9a48ef80d36654d1de0639fa0a10f34300873d6dbc452c1952ef40e40ff28afb7778d65f666fa786b163a967cc37817b528109150db4e338655d7842fd71cc9f322e7e02ad7455bd69f3cc31bbfc0aa5088313cf910b9c1d4ec8759a8c6fa8d51fed18aa8adc21cb9a9c808d23dc3c9064c6a5e9a375ce26b5c23a8e9295a2895f8cfb5b0ef9bcbfefe76e7362a0b14b56a35b73e9d06cc6a4f371db0f66b9f8429966bd81254c1d18da7d - -COUNT=34 -L = 2400 -KI = 121df84483ce91cba3d1b461d436277dbebf3d08456d2afd -IVlen = 128 -IV = 656a8971fc589c7885a0bae6dac3a47e -FixedInputDataByteLen = 51 -FixedInputData = e6e514d3168424ce887ce027133d2e68ef5999ed7e50d8febd3c7a9ce6c0ed4fd1aa92e51df65987b575717328a507d775e43a -KO = 79cb76014b090957c0d9cc75fc06b5a6cf5cdb7d456b0ecd0609cdb1f97f2d58bec74ada177f2a2a9416aa125d802e0aabdd258419e4c9cd0c6e5c1d8b63d088d986b34943b16595d50e9b12f7042ac1f8cf152b53a7bb58aee9f3741a382351e285a3e22e107af65e86d77b35b462b08bd5805b7c6d7f7c52bc996ddb40055620b6d1497815aa83f82d5329224667549c9912877345f0fe2e8080e1b56b75345c95bda9acadee3c85cdfcb47260948c366e91f790b63d1721e5a8995bd01f8e7566c40e1a6e7b26fa8cec72a220f257010212853b78ba5e78688ae8539f8fb05a688a00b64da8eb16592cddeba017194b598ebae94849b9e3e1c0722570c6bc85b0640e112a269b04ae14ffd29c4636150b4831d95fc5dc98a4c528b2118fc3a049338fa0a1c99c61ab672c - -COUNT=35 -L = 2400 -KI = 6a84410c00403758348d2d613071ac5560d4ecd5e4b84650 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5dbbae673f8f1e6faa427620ab468402be7d9403ad1620af489bcf2eaf3468fbafaf7aa9745433c354babd8e125ccb001ddd2e -KO = e036051e73158f1b9e3a342a69e96d3c28c2f3c7d3897ab1349edd2615d668fdc75490f154d03765532eb845adf8a63238c5ed8ca1b11311599df084dc763c9483719e7a615877c75dbb4fad4b8adc40f4a3b8b246436d5cfe9af1833b224e8d99c86f65837a3b44156fc54e9b4124213da58533a8dc88ee062e87e086752298ae0ba35fc3d3824834d1b650eb1c79105693858d87f44b388334b71e363bd9e43d4f16538e7d86b92223839b66a76e5b9ae02b25d8814bf382401049ba8911d5e22341b9ce5bea6775b2c782213e37d19db9f62d57cdb9597e60c5cb81c41ad136d75213dc2ee7152e6753f6411bb4213ee3b29e72f0270cf377f25427ce482ccb581f3e7c7c8c919dc69e9375258a40750f1e40a0f10d21f95b106c859d4069beaaa0b0d9f9db9c5d65cee8 - -COUNT=36 -L = 2400 -KI = 10c8960bb29086c491c642d897a131bd0aa286fad519e24c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f932c421be02b59bf1abde5844d2fafbf3db12e06096c364c70d7416fe4d8427d455010b3dd0b40d72aa0955790244f9a28415 -KO = 61d85aaffc0f3afb39cfd5f0871c84c779fbda9a38ccab337603ff9f25be1ee7bbe2030746f5e2aa857c336ac6b2bfa810ed7f4e224784ec99e1793827cf2a142fd502fe5e0293e7e03bec65e5beae2aeafc5022eca534eebb03262d453cd6f8f7e80b6cef29e9a6e42fb4d32b6a2692b354030f6eb5c94fcf4395dd365807c372b2647bf960109bfa4a6f0b6647ed995c5640162c89de626694aefa078fa1842edb98fe96626e9fe1b144087ae85519851305548a5a34d83c650e10d967642591350c5b5b1c9a814fded229e1bb65282018935bc825a892f8efd6bec733de757eaa405d8675c7d76c72387e64b3872d7815ecc26979a64e3a1635a8e54fc4e1bdce69b07d36a7ec82b7e0fad675afdf448e1914beeef2cb39e91c39695b2514960305132c2129705d2b2db4 - -COUNT=37 -L = 2400 -KI = 756a80359a5fe6c0d02b503be069e4ce34bbb19556f13be5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb70f684836092ebd4c05b64ac57952fe1ef0a72b4b26ea8682acf8d7e048cac065f45a8ae7dc0facab790cdbba8737afa9547 -KO = d1c7b04901aa2cd181e064a2e63181c585263cc9b75198eaf2847771018e8a983dc11da1782512eb401a70cce3c3f27d39e766b4db40a47164619209231d259b7317f62dbb6055e53df7de620c1265e4db3bc4438e8f0da4175e9a4f2c9b593dd7246c3557c49678aae57ea0ff30ff3afccb188887487b5d843941cd14f63d4304c79897de734fc4779563be3660384a044b085ac375ab111a407c0e452418bdfc091e3942bc9cd94329d68e1a7df061cd1394a2573aecd7592653d3cf9ca876bcf6e3c83fb21eb1c3a6f7becc4a1f211c9cd68d51b121be1a50eaec2010922cccf7d77a7702ce72563791a38c5450b263b31660bf39502fbe1a28ea6784e1aea0f050c265af41cc0ae1631f86b84ee257906fd1d56e3e8188def9799429d153d38e8cd2795d8a54c17deb88 - -COUNT=38 -L = 2400 -KI = 6336b0aa4f389a18dd792c4c04ccbaea8f2153a9daf52336 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 616cd171a64681fbfd9c7dff17a49c4ae66cc79cd6197f4e93eb64c71f725ab9808b8c53acb76f475cd5542037fd8e81f0abe4 -KO = 53792290295d895707e0b0bdd7b2a137bd279a821aac240520eaa114fef9891adade06a29791c60e5fe7e3e53474ded42e54df90c8762667bc83a3cefe21d8500aa15e7b38dd37377ed98e76b8a0170de541566041b16129d2567859f00f882b273d935389d7960900a54add0e4617ca1f3ea793eaae7dbc8b89c18a5258a6d2179d62dec9a45567c1b14a3539eaeebb8d28dc90d847f790dc32ae09eb70ffe96806b51529a01aadedd8bbf029ff1c80b4b36147000a829c16b15f0a7d347e994742c80e30f73cddee6477e4d5d18cf6f2322cc4bc8a9c1c9e9e9e5b9adcbf42a006378a174f73c558fe447cbb494e3dce86d173c65f51dd167fc0248e98c690ad5f21b763ebaa0b7036d2215473f8f63b58db637aa10589bdde2af999924bb65d212137fc6f9be32774a9b2 - -COUNT=39 -L = 2400 -KI = cbf7e0d59349643de29a486e061c6a2d9d6362abca0e4d71 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 42b78464c873bb9f155f61487abab7ba42499b63cb674019545b0ed6bd73cbc7203fbc95106d629bc19a773734d43cfad51554 -KO = b67e70265e291eac563f3814c1198cbd90208fe19b3bd172f4825f6ac8f1f166d8bca4b7397c3e607b6479a9425b5b4a00af7b494f0b4e33ef069fba73333755dfed9e1b831f0f33cd8f794c53914edd42535083c0c47df74e072eced56c92dd9be4e2b3b23f6d0fb514f9867166a7e3ba4a4bbf26fa8372a94614f4c4f6504eb8d811691e0077d421dc5722ae913c08c8b9b3045dbc2a47ee2f635255bb14cacab9a69bee82a6c82eba73b6c1e8614377cf4b67ce0bcc2027c74a84140c07b146e0bef38572e93ea50e54956bf09df6a8d2dab720473ec35e320c082ae6fccb31871588c327c361d9e50e2df2b6ae6ecee8e503a2b4255da38df7db989be869c46d668bfef83e33a2f765f4f3ce2dfc5cfc88673ed760fed99e37c38acef91c57fda4b236be2e70baa8fa7a - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3527c9d502a7a18c8ec11678b3489472a41139c18f9216d1 -IVlen = 128 -IV = 84a6903b24503afcfdec5327e97aec7d -FixedInputDataByteLen = 51 -FixedInputData = 7bcb672e67503897acd79d2db7a589299e7b09780e800007cd79c31b314fc2ee300bc5dfbef892bcb57f669618fd131c908db2 -KO = b2805f2651b852f9e8553c9f7f6b1d1b8b8b7523815dea22a214f203e834721f3bbd68178a524b3acbd4e5d0dc97e4dc94c4334b5a9f3abea57d416697f80987 - -COUNT=1 -L = 512 -KI = 148f147c609c93839bf533b1c198420168daa72d2c2be0ce -IVlen = 128 -IV = 9c4faa76af8563172097a6af1e028a3b -FixedInputDataByteLen = 51 -FixedInputData = 286e45cb0842d08e5395476a258fa0679dfec68fb55c794429a4aeca20709a3a304df0b434c3d60f37d803aaf746eb9060fc2e -KO = 2e2810ecefdfff9f409038c2ab67bd4ff8ff5a67df5d326381c33165e72d9b9ed829967afac241ef7ac419e37f72cc01ec1fbfcc25f4bc7261e0d2d8a66e23fe - -COUNT=2 -L = 512 -KI = 32c15fedf32a658b3ce05c6ea0259c07ae145907230f6d28 -IVlen = 128 -IV = 970caedf12e40ec4cb0c47ae6a5b1b04 -FixedInputDataByteLen = 51 -FixedInputData = f30b4874be8e0120f69a578b45f9a31bd45aed28cafdb7f04a6a1e237f74435b8a7234194853bb9fe347f5e47036a8d92ea6de -KO = c84ed11a352519b35a78b5c382e3692a3aeaeb238970ce779c97e1c93cc825d6ee35ecdfb0fc459b40c0f8db3f937d210c637c7b23af10393fa605705f2b0737 - -COUNT=3 -L = 512 -KI = d35efd5ba373d3adbcce6413aabae8046ffd3af47f1d5f98 -IVlen = 128 -IV = c82d10deaea7dc88b0d49dd393a2ab36 -FixedInputDataByteLen = 51 -FixedInputData = 5152ff8aed79fdfbcd0ecf5dac01d65c009085452a1f87eb0c9afa4d06179d08154e7223a29c0f3346c9c0464cb927210c6624 -KO = fa35e552e18b492ac537c0e5f363fb397bcef4c15b116a5952263c04dc42bfb20ee4524c886f4bfe65a756d342c0cfc1d7d95161b0c5ed023e47c1b604205204 - -COUNT=4 -L = 512 -KI = 7c76e8ed7a081ebbcb13a547d6772f0db15df63885aaae0c -IVlen = 128 -IV = ed50babac527f700ad12df1fca461b1f -FixedInputDataByteLen = 51 -FixedInputData = c1fec645d277ba33ad7d8076261ab8d37105d75d87d346c3b141e2b50322f0da56b55d5ef274da188a41e75b5db3e6b541e200 -KO = fdfab969f51a2a6f580074e2ea3180c26e806fd2281fdcab83f391f611192a98ac23ef957546d7fa3cab54a1389edf0620056001884b1e2516ba4aef88cdb243 - -COUNT=5 -L = 512 -KI = 0d8b31ebe877d99c98279e263e9f41f2de053de6258d0d5c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a75fada9c3d6809f0d951c69804fe1a6694dd5f97d54ce798e630a96b933f6a5351898cb0c33c92576e0ef3ef3883573c9ff35 -KO = a4dc0ec6ac1d5ed66f5995dc3aa590b6e3c5cd82701e739b8ab7829d350f82bc3e0c4a633fb8eaf72521553c104e7d0f378c7f9f236d7e3d2ed6a693c89fbba1 - -COUNT=6 -L = 512 -KI = 33856a6f5d5a2e09489abe511e2c15a8cfb768ab77ee73ce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ddd9dc83fc1035787ff649f12db2b27c0ada5acff0e1b8dd7a89089d47b3eda988dd4e844b8dcc3e89736a7d90850ebdf0f382 -KO = 1c521e67407a809e3ab4bddab9f17ec85dbea8a840cdd19cfd96eb3876178b09b4e24e716d7e513d5da4734ae9b7126bee1c2b5ed82c6259ecf4b0fc8d3551ed - -COUNT=7 -L = 512 -KI = b38894a8c98a01e1acca90b9a8a98ecc127a77614a51c514 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5a0c93fb5252f23ace4086a809c813f90f43db39665c075d633779d9c8d361ab8908bad899f1ee8c7f9df65660f87b6c4dd46a -KO = d3cf170426da6d456094fee2fd2c08025b7a10ae534a2cd534f6c73eb7c445a50c457b8779aec2038e473a9a1db391023ebca019bc75bccba28b8a209007f128 - -COUNT=8 -L = 512 -KI = b4819972016a17a99af30cb926a6cfd510db7f1042c865f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f68b6fd800d6171e1dea8029c4804fbbc53f720ff97859ee5441a4ef0a501dd38105e42cf274bd8b75aed42bd4f0bf41316b4 -KO = c1a373a010ffe0b1cf2856b5e551e159ed455b5bf713f13c4c2e12e890662f9e19e37d5013748a981a8fff578f08b3ce9c22c0ffd4a34724e5548c7bc55acd3b - -COUNT=9 -L = 512 -KI = 690f193fb784178b2c739569e4952971ae9bce83c65d89a1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b4766f093a3eb8984a5bbb77071fd5907f8ae4086cade2eab495805fab0c0d69d802e83977d8e201668766da548f397997c5a6 -KO = b2400c2fe6c1bbc5a6db7d3c6b03af8962a35b4375e3daf6468b85604d5aa81b3d83c6f37103b74189203733bfdd62e81c923b5d520150ea1e744555db523b4b - -COUNT=10 -L = 2048 -KI = 5b4f6f650eee6f152127ccb587a3665b080ecd126f6954d5 -IVlen = 128 -IV = ab0f98df2dca497221fc7e8b906cd487 -FixedInputDataByteLen = 51 -FixedInputData = 019c076cf75fc371e446b44d627b86d1f9802227e6b57228b34530da84da3e412ec28654bf83d00ed6e7a60aa9da5e170369d5 -KO = a8068af3523c5f98f15c3cafdbb7c4b74509559fee593de40ff201c8053c84112d83d391b85b26aeca9e010e5d9d21c9c7d519547b6150372a3aad1a30d1e411afcb6f3ca77af0b893b09c76cc0ae7477f0fc60d23f0619e8e67780ee19811e8ee2b55beda26b44ef4307e8780fc8680ca490e929431e182e1f78403d2302a364e769815e6c3c1a36cf5c6eea1466adc5b8e9cb1591c09bb922ae4b9fcc9621f8e0f25af02b63034fcc1bcc22977f92b096d1ff0446dec084ff62d2d3c7a7a672788037fbcd91bb024f7195648e140863ff472b1c9a8baea283fb69c2b1d69a2e389a7fcbd7251c803073194b0d236c69ca6f4f9c35d8757bdb99e3abf749214 - -COUNT=11 -L = 2048 -KI = 2dca0daaa2ef656fce6c8da203b65fd4b11486d3997e9b14 -IVlen = 128 -IV = e9084625736476052e4cab0f7c115eba -FixedInputDataByteLen = 51 -FixedInputData = b407ae3f399e8a2adb306298e6bca2c8ec4a4e810b8d94da668d9ed4a46916302c1f5caebf014751e038536b11f309aa37e2cd -KO = b65e4342cd30b41f30fea8addf77b881ec3fae43db7fec88cebf6c3a0ad9583d79d25ec947dcf2f07ad78a9947ed71b5c30758a76d5a4c03c4e99f8480013b2af348e6f872b5c3968823ec8ecdb5674b07a22ddd7fdf774d75a96a64e24319dc48cdee30ae2a46a1db08be26579734a9bc32959fd2541e11521e0ddecfb015969a8e297cf851b358bdbe715d9917f5364f516f5f06c69bc1fcb1838380438adf35e7923b39cd67ede4d675dc7798e4a522b04d0e0b5d138744122db5125bdfd1a91ed6306daa843c231fe2a5fcfb51eb62c0d523363c5a9619bbcdcb717f88b4efa12f6944947cec68c9c4b666d39802df0b32b21f0bbda04d0c84b871a7ee22 - -COUNT=12 -L = 2048 -KI = 40dc437c71903f0abce2665b39620dc2c9eeedd945d36d2f -IVlen = 128 -IV = d155b9725f1fbb8361f257c14f111df9 -FixedInputDataByteLen = 51 -FixedInputData = 578c3a526a8d8d75a7e85ca77275b052870c702a5340fdde5ce6304a09d1a72d82eba1290e0599e6ec22e96a3510b22226069b -KO = 636f0453a141017b5ddf51da37cff4dde010c50cd0117d56c6a2312d93d181da433a4980665de601fccbd960eb784074c5ce001091d1abef2a2a41c29115ad591f7f0f090b2113dafacf048643eff23ba79dbf60d3633c917aab57dbb1c867b1a561e2dab693c1b9a6d1b5b7634dd42b2348837a08057082144bd6b1b4e2224678c885b2366c3a3377766227972f6cd427fa0c257c21d448a29c511ef45fe0f586a1e8000dba4379d948eea1d2047ae524086bba163787a6c4cc779cbede15b1dcce770eda03faecf162e32882cf1662ef8e50dfbd82fdeb502f61ec213310f1f90a5382dcbb7d9185c122090f25950aff08a0394c091768c1a21374271a4266 - -COUNT=13 -L = 2048 -KI = 6191f3554666283e287ddfcc2625da340bb22ae535514173 -IVlen = 128 -IV = 9e624af07b698f52c400fc56132ae733 -FixedInputDataByteLen = 51 -FixedInputData = d2d2cbea4662ed6597402a40bb5303a176e87d9f0199ee0b699597e5b96e2c51e647700201cc35217505f6f6b1716a6fdffd74 -KO = 9b55cffb8dcbdd58af36c8d43debb640010a0bdd26ccc160dadc8a1d0c7a07f06b117aa9b64666b881fdfc5a5f928959555b877100246e4b31081f82859be472ac232fa0fee3040d8e9da8c7a5cd2e8fd04c9b661e88286b405d88a3556887e3366e37aaa6f87aae834228a606b138959de93db8262dad9127cd172bd47fab1f44cf64bf4fcdd0d1b14bffe10573d1593d44cced4524becae03c4dde37446f1e7bec85f4ae51f92707f2fbb37b43e9a41d37d65ce571cf0dd0f1e0b1978f937e1e63f06d9b331892ca358c88dcbf07ac21e579d218c5c0d74b40888b9c5a9341a51e401d1a07b9a1fa638a5dda2d5e765109429780f91766ab3e1d524e5daf41 - -COUNT=14 -L = 2048 -KI = 3c36ef1f66048188e82500dabdf6e553a71a2621a05059a6 -IVlen = 128 -IV = 8a348765bb381e1b2fb1ce4432d79a6c -FixedInputDataByteLen = 51 -FixedInputData = 81861d52963e5df0a3fae0af43a8e44533ffa0a44c451a3aed3fd9e3e4693827a36ac1db609ae58fa4630fbf7331999c7365fe -KO = 474272bd3c4a51000f1df3878bd0a19641462e9a62bf2b973660bc131d10a2fefc59f66c373eb1488aa799495c2b8a1dcde7d09e9557d8ee99d88b3c5ff55b0495899e282eb5cbfdedb2cc761a03b753ade792104b064e7069e8378e41c06e25ab271d17a1df0e6a09ece8ea83dafccf0a9e39abab0109d0a609b61f354b46de2b2fdf71263658942ba231592c5d4faf8e5bf8222afbc712128a4277985b9c2eab45144fbbb282d5cf0a46aee3d61961c57e05704311d06f34d50873a40ce78bcf150256268a3643ba21935a65f6e4317c77108afc4188e8daedef7b84254af058de631989775e279ad77b061c36d2754b7ae5d20c57478582dd73dfdb6065b2 - -COUNT=15 -L = 2048 -KI = 3871b7990cae9bcee714c52cb459add866af06f5d3ac3509 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c56bdcf35de59bdcbcc58cb3cf7a440b3e6e2de5226580db3bee7c5814d61f02a198c4ed5eb89c78796a4accd08842c24348f -KO = 6f6ed0d24e9747052c0c6a758c048086bf82bf36677e9dfcc2a347de80e20860105d8488aab66de7d006650e5d9f83957d0dd53e053447dedd65d7c36c8a05ec6121bf77c7aa8e1aae0183a98273a7cc431ff9b0d80748fff55ee44aa8ccea3b0bcc67fef4695a5c414636a018b321cbfc1efa7acec87ef5e6e0346c6594b069f70f317863b21ba199acb02fb04164bb91b6425292dbc6a3afb816b0ecedd469252ff94fe1635298fd1f5f3b719db7390129bd9eb32a0d9824d5e715ba56ac61d6d6e95d311cedec0f7265581d9308c08cce23ed3d21db2000fb55644c6ffdb5312d06f35e8983f986b5d92eee692eac740dca95fe41df38738f24774fd0163e - -COUNT=16 -L = 2048 -KI = 94e631095efc728591566e0fcee374fef53a43e49230ae3c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc1ecf5e509455abb7bc2afd82b165fb44b6e93ab5acd568d567bcbfbe94359193e7d012e538688702b64d97927bc5539f586b -KO = 63d6699d3b3ffabeae8150d9a373fe7ae71bdb6a73b12006430eb1bc0ed1fe49a7539f8efc6fe0912e85f9767c6e53225bf00bd7055d00dd446619002032f85059a69b33d67eaa96c20affbaa78e056c633480b6c492481d83da44d5185410871528c4b10a39aae6de56c3c740849629c0d06c25d5274f5ca0993f240611a9b04cc7973ba15cea845cbb01c707a00b568f32b4f2eb41621847f239f244bcb04d36432252f375e9072feae9f2e3f246fb286a20730501e259bb2a204da0e7fdc778e4397d8b47f5d2a86368abadbab6c2a9d4d98685cf71c1fbb6525f125708d648e72ecfbee7ed150c90044c12726c68bf02b95acbad1f152794263cda2de884 - -COUNT=17 -L = 2048 -KI = 66afa3d99ea6695c9ea7b00b8aacfd40a00f893020bc87ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88245a62e703e1251cbd6fdd917c8a38040ca969bc8df2c9e1bcb975b45d40f65386c127f8cfc41e2bf0c197b86dfdd7002f79 -KO = ec27f08b477f05836ae6f1f9270302a5b0bcb6a5120216d27034eb6cb90232d9a6bbbeff2c99caf791f1100b5dccd2306ffdf8f221273b97e4e7c75fdd49f70911943946e4d84fc8dd7e4c1d9cf32a8de38e29ee0234d306770b44dc742f88fac84e1185549f2c25ce66968acc50c3296ee5faea02d4aec54aa5dc06a61fd7ad89ac376e7a5fe80c7097847a5b3c7699e09bceb9756a358c44c9e187d21e6836c415949bcbdf727493b704f3258df297c3bb0035b1fab6588fc5250258004ba99558a0314842fb3ebc65ddc628a03459d45d29a97430bf0bc89c5ba3590fd7d373fe651bec09176d9ac23097abd7bae021a5b13936001a8ae18152a3a7bdd4ac - -COUNT=18 -L = 2048 -KI = c0c5c30580b462081744777eeaad34ef36d03e9216dafe7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53ae2719fcf29976c79377dfc750a65ff1acd1943d94312494ea63d3ab09af6ec4942b3d33f7711a2792a64e288aa930ac76d5 -KO = 3d8c0d92cf0b47ea078a0e7763342493e31e2bdcd90e47a301acac07b59f034c7ff7e90fd6cb9fca9b9130160f8e50575e05484015d00150f59ed5b339733dc3ed74bcc0e387c06e3e36f3ceec79f1ec894f2c9fe35d2ce1baedf9861874c1504fdab587988564bcdb660340d6cb8de475c3c2097460fd3fa836a9136c90d4b88a3c2a4034bc990a9b138af98c38be9032df52e77a5b4f2a911afd1cf5e4e64a60056a64a8ddaf619f3381e5f9fc4ed18a91977c58d8ca9f331d3f09f995d87edd43a3c72878a958dae920143aaa73af8547df85325970d1592856d29bd24dd6562e6321de176aca4027546da784025ac82da4ada42b6e40d5f68930565edba3 - -COUNT=19 -L = 2048 -KI = e37d19da58204f847df770ead729cf7cca36da5e2194663b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = addf6a14423b9bf5022d66317158e60eedf557d795298721ac1ee2c98d8a4c38dd164278f37455513ece0332eba2b812ad3b9c -KO = 2920638448bcb9ae86c27fd1a07eeb6c2b471312ff43327c3908b647058f2713621a33328346307276fdcd98ff2f0adb75f6272a5f5fefdf4def66214593f0232ee14bfb4ffbf4e4b86c75ac3be24d6c29b5061b8f53782d778f09c75f3d471dbc3818704d9a7bd4cf30a8214704768c9f30b2969af6f6b6fde4c591d6d61da389888d170428b15739c5e591194825ebb77aaad365bb537e196d21fa8d535a3f77e2ba31cdde994d4a38cdb59cb4349e16027290b06e47f2d9a5760c2dcb87f60eebc61b2d39d6ade90d33c4d4cf0365f005891e75ad2b3d2ff04efbb122f0cff6ef8c83030a5414b05b504c113115ec9f75c39a5aa1bb7d5d87d56e43046ece - -COUNT=20 -L = 560 -KI = 3db607c5ae30c54a309702660fc932813fba29fdb476e48f -IVlen = 128 -IV = 728d84e412cf5fefac93756875f8a000 -FixedInputDataByteLen = 51 -FixedInputData = 5ff7684fd1c24bea5f1df49b3301837e271982f637c68b3531140a121ab105c8dea2c25b8997e40a749afb6d1caaee1e81342a -KO = 99561cb90049486d0233dfa01919292560f7ef672e9eb8d2a2677f48638d303a774d8d2fe583c87040c6a457eef42fa62c6e95956cdee3fe55dffa988d19052358317f502631 - -COUNT=21 -L = 560 -KI = e06f99b9da2d26862b3b0b3ae4d04d28fa0664a4faa52fd7 -IVlen = 128 -IV = 018dead64494875279f49742c017a32a -FixedInputDataByteLen = 51 -FixedInputData = 2b5533d6c1906094e0881b9200e0dd49e4041beec61275b2cb5ae5c2549fd76f3656c070e41a0b4631c726fbbf7b552430da04 -KO = 35cec2d2e18629085247bb4d29d80f966a8ac762416cf545c88954a46c45efb2b73d299ae7af275d1865c9b0b0b0dc87a74528837d02ca907a88485b9c6c337258393af7458e - -COUNT=22 -L = 560 -KI = 85c64417a05d116c87e1082841649646de0dd8901f746883 -IVlen = 128 -IV = d8b02a3d73a9c0ec913e4173e89b535a -FixedInputDataByteLen = 51 -FixedInputData = 6611731e31269750cba9c1aff4e677aea1d8b87c0ef1287a7bb6165e389852d40ca70478ae318fa55c1132e161d1db41e7d35f -KO = 263adf640545fa0857b455fbeec2bedc4597ff15f2a1b84a551a9ca06d2fbc2887a6aac2bf8b6700e54dda1adba9151257f6de8f44397942fec41bd8f3a73fbfd05243c9a88d - -COUNT=23 -L = 560 -KI = b80310ed7842462fa661e298f1ccbf3be02fdae1485b6638 -IVlen = 128 -IV = be5a1bd55dc8f46082d1c3624ebdc534 -FixedInputDataByteLen = 51 -FixedInputData = a98c5d30c6678160ea0753e47d2e769d918725177e4df5299cfd44ffefc2a0afeaa625beac7e629bb8394d582afb68264841b7 -KO = 1cbdd0615409da96d51124aab8945ac2037a985cc96d52b4c0759e96cf392c1f1dc850b17e0cf870238951211e9cd1ec6b4de00dbf3b3ad56795a9fdbe63f7aeb5154ec43504 - -COUNT=24 -L = 560 -KI = 8e03fb9cfd57789ee11d540720458bc319d80192ac9cb018 -IVlen = 128 -IV = 9653aaee251f7b4be5ecb4421cbe6677 -FixedInputDataByteLen = 51 -FixedInputData = 69518b5e327ab9214b098cb0c8ba4b47da4caefd7ea60951a186adf52539a836f0b3cc13814ae32aa66347fc3d4ceac51396f6 -KO = 4da9479aea8df0c5fa36f720a03388aec5324ee80c299952db826e73a8d94cf08fcae3157149ed4fe20e35685fdbf81ad16494c8965677659859a70590896059e92bb80d4db2 - -COUNT=25 -L = 560 -KI = 4ca881f163bab942dab0c9e45e7b1c3ec616e5286fd3b096 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09fa8482e362049c8ecb086402e030f807780198aef800bbb84b71d54758ba2e302fe4b15e540b291ffd4c7bee62a525942985 -KO = 0ecc50a782260791f8ec667e5534b5789ee6e5309eed93f3305c9a094d14ed4650eb76cbf4ed1577c01a9d251c7e7817c033dd81e58451d1bcfaecc0ed45109212e4ea87efbb - -COUNT=26 -L = 560 -KI = 568c283a8b1a6d9235431aa243579de519686149ba4f637c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2e2d7e2c2a350507bbf7a5615f4eeb0d2d835c4290dae65e53be99eb13869ca418d23175f32ce4bd6b8eccac1fb65478135281 -KO = 4a710e4cda74781f8c71265b3abe61fdd38869f09e2397212994d2708e0da03f37e5485f53db2b1a617591aa218cd21958102c7a33539403681daadf0cb8e878e55b32a2b6ad - -COUNT=27 -L = 560 -KI = 7b704126ea768b317a8075c355fd1609e55bfbb21769bd79 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0473d52e02d37e8d195fc7f98c15dca10b8f9d271e1a4b84ddd276689a1d4f8552433cfe16f645fd0303608829decc59ddf069 -KO = 8509a5192d8f4100192e2446ddd751682575f0530ac4b7aae534cbb6dc06da5303dcec81b767da61fff508c541055ac9e56c026ab7ae3cee8ecb4119f3f67c08bdedbc56985e - -COUNT=28 -L = 560 -KI = 6778bef439b41df063433823b3160697d67dcf14de9c057a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a2f7c4e1342ef50707b1da0eafe91ccfd60a75aa11f7f227d3164b6494d26d5e68fe21a7bbc7d7c10cef2942955e5764abbcd0 -KO = 652c1b825eda0649c7f763880604c7370aca3efb05151ef30241c9379ff22c19da7eb9c703ccfd567fe9353f40d0db83b15859003daa109c61da8fcaf12d84cd300f4021d3d7 - -COUNT=29 -L = 560 -KI = f6edec87323829b53a765b298baac687b3b5826ba8f02465 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44e18b8fb935b810325a50baa95814f24bbbde62a11a69a71127fc11bf0918ef935cbb4507a8bfb2a5c8704ee500bcabfdb7f8 -KO = b0cc97a675c7322a99dd9e26d8f33ba6a09a0278cccae9963f67eb7e42d5ae35a48a2f98c5ad656a36d2a3d7b71014ce8cd5cb0fe66ccfb2d511350d6dd8f3bec4b6782e8bfb - -COUNT=30 -L = 2400 -KI = 247c29b204601890d074dd13f180effb878e73c5b86ee0b0 -IVlen = 128 -IV = 08dcf268c4ca00cfe5d8d5111eaa7ab3 -FixedInputDataByteLen = 51 -FixedInputData = 20abc3e593ef026e94129072e14ac8333bafa2831791f817d4488eb34883b3ee40be47650f8adc5e8c535c0f89ce194c1329fa -KO = 9697af741a1fe2461b97ced4f5a97d8dcf9eefcfc7f2a29950c2c6c1b3033f106f81993b3b760a2a1aa1e949a489fddc5833fccc51f3ddbda3d90aa1e37e30ae7c7fa5e06018d1a375be7a25be1811dc664266f04ef2bdae850963510abd8a9bd6e440e8feaf72c0cc42ef485b2d5c1ff9e9d6266027c7d6333d9bf9b6763be72d8f02e3dc03a8bbd17dfce53b2d9d5ce44f74656f70c6ecb6d64659e206cda2d32c93ef296fe8080ec1124aec653545df1a5bce2d96ffaf9c61e9a504085171702659407062198972361e8c4667d1ff54ee077f7ab17ccd33bd73ac24224fdef1695c7691bd556a6700eebc7161a60b3615b70f193f83b2fafa157e71c45e612c2108b544af1f7680dfcb90e1ad78e07940b390f4d6bd588a701e96b638c337b4a922c6073166f829ecf36d - -COUNT=31 -L = 2400 -KI = 89a84fb2fe38bc2c2f1c4ff1f488fc02e6d75ab8835ed525 -IVlen = 128 -IV = 0fe310e484b825e1b4212aed85342159 -FixedInputDataByteLen = 51 -FixedInputData = 33370ccf7ecca14c85203378241e4cfccf2942abbd161172600a168df313ca61ee18594fb12ffbe741219368f5c5a3b3be8cae -KO = 5bb2754a503802eab2b439ff5867736e9c2cd67a9bfb5a0c61f05569088a6b99208e7432ef983e0c7ebf0cb2cd8a372133ceb9da0e0778fb766de6dfa8378bebcc87ecf0f825c4f0c09baef385b3260e472913293c01ce0e026777e9a28b55e464bcb35dab1520ab7862ab47b065ad5b7c0388bbfca3ae770b23dd99c032b3f893952c4a8fc261e1cd27816fb7817fd4657c3575709e729531a2d8f07ee05b2cc82894bcba05bdc246dc476e1c56ba013a555ef586d95a43ee8c84294a931a53dbd3d69190ed1926dba79786c4ede226661b9aed33bc53f7d944d9e9ed3af0a32e9d8a86a8cfa7b63088cb5f8e7a900407c50ee25fa36a64621d7218c87eec511134d552f5f060c4a8199021f90ae22999478f39a1213bfdcae9d3bef52697b750e3653e6ff11768855402eb - -COUNT=32 -L = 2400 -KI = aaf5c3ec814d853998cbd8f7d0978b903379cf2cbac3f068 -IVlen = 128 -IV = 3225212a5b2d45a992a889ab538bb6e1 -FixedInputDataByteLen = 51 -FixedInputData = e8dbdb442174cb12f5efb98df191cb0041331f43c3b6b8fadf2d114282ee6fca31a6ad7bdde0baf1a5c7e28a893015eb78f3c6 -KO = 623dc7173a7d2aac9e101750939d412d59c322ee822986599dd9c1af2ee49441bfbc7e84d1a905542b1aee73782e4c95f7891fd6c4f74fb76804066c88cd85c4a11e053d23325edd924fff02dd983a893463ff4b15c04648bd05ae38011bce11c6e6c891a3fed4cfdf2368ce585ea54b116d132a54edf15704677a364d432efcdf1761f258df5eb126549d340246b5b170da059ca1029195c11baf697e2d8e2b0fb00d63faa0a37cd4d55be0a141acb36f1a579eb641266b87497b1d0a39fc74b6da3be8ec356f48884ceb131bcf58536520a5fe582b7115153e990f03557c8e94488ca3d7aa67ab7186872ba5bbbde9d2e77c088e07500e523f738f52984da45728aa69a493d7edf3761cb731f298945b27ebcdfc1a17872fee6c461aa2e313970ed3b627acced046dc95e3 - -COUNT=33 -L = 2400 -KI = 1f9fd939584a0ce9832d15f51d5fb50d26c33f4cf16fe934 -IVlen = 128 -IV = 5222db958f902efc6bd13d0d219a2af2 -FixedInputDataByteLen = 51 -FixedInputData = 27956d5fdc0b90ee8e58f50b2d7ab30c7624851823c20444d613a2a56be37146802469ac2c66823d38db2b3dcffe27a46c7be7 -KO = fdc4fba6bad75f7d277c1fca8d81757421e73644ad51591771dd4c8f7a6d462654a1b35a4dcb9da0c93f2d3c3066b52851072949e2271756c053dccf5a47715beca3784b352aeda84e0e2dfac0f84ffd7f115fbdfbbdd1615a5663d6c119202767d0943f358b13e7932c0e2d637f09279a8c68aa7df104d182f9b16161059c0016987fb492036e73f5f5abfbab6e748cb102f2730d3a88f0be7487bf148a9a9b1baeb3233242993e76dd9bd55f770a0068d5fe5ec5ffe5fa46946c8c4351fc62df72c4377523a8ff1ce1676640ce4dc3f47997864c8ccc24dd24f8b7836e48ef5e4824cbb98cba066e8c7fe76a07bb3591e695439c73adf158dab000e7c0cef022f771e58c1312f7b4697639d81a2404b2d6e0228b09f946bd9a27fbb9ee77f123fc7b184ba939b1f7eacb8f - -COUNT=34 -L = 2400 -KI = 6a4c0bc13fe51f0ca9fb795a68c92fcbb2733e01b4f1bbdb -IVlen = 128 -IV = 02835a527fb4b4a7e033be1327b57ec0 -FixedInputDataByteLen = 51 -FixedInputData = 7704577859c9c05440d83e20672482c474e74715987a77d7b0fcfcd03bdabe79da3f2cd9a038549f5ea8e0654001cd55a63599 -KO = 30a95197d834d2f79d2f73cdb2544eadad9856de42ae2daf5791c6978f6ac397de30ea09d818cf762f7aeec5f1290a604e499b36e4d275e4a2989d2a454b4341f15e58975baedeb9ec757bbaeb5b450496a6156835ccb272d96aa63df643ee8dc66441fc7868bb0cfbbee3ab795bc495de0b41858f2e3b09b85791e1d5b3f52e02834c2b45be1dcf009668ed63a88349e2df2adea70a9ee3aa67ae95cc493aa7b7f6f4542414eb972d72a8ba97de8421a51f5a10c21bffedc9a464532d7fb293a4227f9c6662b208fbb81fa00c4cc576828d2fd39608e17a771554bb58388651af8e2c266fc2dd95d47cb599f7696fdc6471a055ce970209ee58d42d269d594ab6977dd597d8d14a1e912827a53fde50d01f14088bc6ea18dd3facbf174122686bd9f2538dce60a904c5ca34 - -COUNT=35 -L = 2400 -KI = 220538452c107f477777e177430b60674989eecd4bf880e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5450672b2c3347a973d6d485e04d57bdb8ef6c77876e4b7557a72e3c929fd4bd6d41ca5b846a54e7f806628e767e1a65c40f42 -KO = a13c372873675a2e1bec2dd37b33e2693c8c2eef55ce6cd1e6ec2282e81f53ce90e11bfe9278f91bc98cff7b986b33d0207ef8e71a17f4e26a22eadd163852c6329cc0db37eefbb9dba097973fa0d8984168937f9a3175ed6948d5bc71e248b90cd952c0e99d82fbf133338c57e6988ff955c312f6efd2d0b090552aec26dc1c8bf64487bd6c47d6dc29fb0794db282022b1b54c7dabbcc717ecd2a0e0e13260c1e9a77ce7b9794fb54064f6149793ae19fcee32411e8c6388ec55b2e3f38d0d44ee95df610395690723dab7d95932bec4f17401c5f03a0063580e158805c28e2dd4f683fba642b07e99812fb75be6f431eba6b390b79d257554e549f053450f26904b303ad91e7bc9c73d34eba828471f285933618b8895f6a9198c0b7ab3ff2157b4b5d602e6d149d1866b - -COUNT=36 -L = 2400 -KI = 56295ec30e944d18ebd194773ef5380c30835b73f2ff8ae3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c88ea688b29dd95966d9e928e8a9ac21e0e81fe9bda1c4129755481c089a0c8e03d9406ce02c265412d221f864701e4cfaf4e9 -KO = a5a042f8bfabf4f72f0f9384849ff68030e63b78b78249bbecfe57f4176f28b0ea9c92a9cfe5707c3eca6cc2352396efa240c7c7bb10f443b27c4ab0370ee7e11572db8e26a31f041706b57dc389a851e451c63a796f1fabf6af4b0e0d321ff5a5873764a4ddd6b35bfb4f260f98d71ba391e754814f605ee5dfb3230f58f78e8b30d79a69fe950a4044586e5e224d5203546861015f782cf8e9e1fb015bc3383e58a96af9d6cb2616d0df6076f4e21415a6ccc61862e4f51256160714b6da69a6440d9a9b0a07a61c3e2516cff2690b223b6816fabb3a8e60b0132b23ca04f189827fcd2fdae0f091764b7386f23344dfebed500017ec20d6de48a2461e36d472ad3f182d3e560b89ad5413f912cc5ccad46f5e25968f1ccda40b0c15d62be69f05a4bd636d3c203e7ea75f - -COUNT=37 -L = 2400 -KI = 7355169bcf74ec2d11ea96056d445a37d5035a65a54eb8d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d1cce602521a2574121c26f6bc0f9279ad5b402c993e03449136ddf96f20f442a71c22c526341fb198e6b6fe916d88cc082e4f -KO = bebdd8392f054aaef8bea19841a5535aa4b2961168391dc7e64734a3555c863adc9449a309ef23e0c7b274d747fb3729d6d1d54175c67ed775c8da9d9d83873bf67c17c7af56f0d5a52502fb51046aa5af8918463d3df637ef27b42a1b46396911069dd801b2d9fdb17eee8020f50414c9ebe2f1c8191c7c790875751429e4c9c79121e82a7a88ff5864a843c862cc54e5f08f0d4287130055cc3ebb0ddb7eb0e085aafef44a5f07ebe7790b94433fea0d446dc31c02f26b2609447574ef6d68c6638d118aba713730e87c5bb78b566bda75dcf7774f0499f438a59eea1cd648cdac175d144bcf486486f422045424f366d0d00cbd0721174262b580b2a73de4f6623b8ef2238564d5b9fc76a143793a72d36e73504e31c2f228e330f1604ac05138f75456e7ecd693ac70e3 - -COUNT=38 -L = 2400 -KI = 0636ae9b717f98c6152d6e6a29016b024d313a3b3c4ca1db -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e0197522c020d5b619bca558a99e9c30f01b441d4bcf9e228ba5e00b20ca0dcbcec37b32bd5f886be945a40c2c0c252259623 -KO = ea1e7c172ef3c1c8f01aef39b35da29b1012466819cee6cb357db73bb75be0f38cfa93bdb005515c0e5c5210e4c13b4328859863556bdf33f96fb6c9f10b2fc426fbc78ff4fa7486386e79bb4f55bdf7aff2d4c7cf38a5c87bcc7cd0689bac19025d568954c408af0d3136907be752e5d15d138a233e5d750e83f6e64093128e589f12f2cc07f72010c4d8fd85640401bde726da523ee4e5de18540302223b0fc1bd8e9349b909f1015c18d2ff8a7f8a18f6a84c1c5d8b044148ae6bdea03b13964f80829b13034cbf2d6698e1b3ea5726e91470c66ac7f5ce9ebf9bc1afd398caab609b68151bcc08b8d86447c2b90f68c20fbe445861805d0eb6283674b917c9e20935aaabf7bf81277a0d19b33c631ca67f8e28b28089d38a78f7021874efee3773dd499ecc18fad9926e - -COUNT=39 -L = 2400 -KI = c06546162c7e2eec46bcba8e3025a28ca0e989cbb2ef7633 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f63c614f66e255eef4d0bf0fee9d78b00ab2ca7042b9f3fb7cc9e95861f9ffcb3dfb4363e65bccc6c5fe5febc801cb752a0c9b -KO = 8102b644c661315665e62726b61a58d2933616682c9059eb3241ed7e966135b8cd8d57a2e16668043148ee589f4ce14addb6486e307fe5c232dcf0d9c753a7c3f70aae6223e21f12387fca16c2079908e963dbc7df0743b905b94d902c6d4c0e246d39d1e272a4595bcac087f576407725077f78b1881753b8ed126867079ed6892a1ab97bf62caebffb809d3bf14c4ccae02d9421b3e9219914f4dc2cbbdbe4e0b483629581d6bbf1c32e355f78afb44293e76ac2bb9741b7b34f659a2fc40338c3172470ed3085a131a8a60db34b91a3949d940437ca70b1f03e7469346f64eb41458846ae481dc4e464d7892495af27ec39bcbd4920ee58d1e65a7f5c30eb6cf66c15c3f066e1ad4952a07dce09b586bb1b58a61d201e22a560679968d3bad818e0097640432a18d5da63 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e7984479e767eed7dda27b6f540ec6797e85a7c874db0cea -IVlen = 128 -IV = b0b3a5a5ebe5fe7e6bdaf91013da62b8 -FixedInputDataByteLen = 51 -FixedInputData = 109a00042d0444a5f66f504b0385a45df592455d8627f59f35676c3eea9c5a55330f798f52a60c83c7a90a659b3bb04d57f0f1 -KO = 993d8e57144382d137b99faed424b30134db823fd734b20e574d446fe084b61f3f004e88a89248a6dac8ef0653585eeadede871cbf37bd73ca24e82312d2f4a3 - -COUNT=1 -L = 512 -KI = 64ecbb8547e1417c2bbf78ec6889ede37979c71ff21957cc -IVlen = 128 -IV = f3dca3aa4dd9b936214726f0575542c6 -FixedInputDataByteLen = 51 -FixedInputData = 2819505b959ea7fe2e48a35a5800a5d7fac2f20d42a86563fe08223054721d29e42f65895850ceafff4de6659a8de57dcadcd1 -KO = 955c64bc11c369164bf2c35d1526e08adccd75c54aae3b6f5666c2fdc012dfe6fe520fa65e771ada05a970b788ea43316f47c1b295734780867df0368417cfe3 - -COUNT=2 -L = 512 -KI = 0f61985c4a79dbe9cb16c65289071756c5ba5ab22073f1c0 -IVlen = 128 -IV = 737a3ac2e83ba465acb0ca0066700f95 -FixedInputDataByteLen = 51 -FixedInputData = 51603fb020384950e39eb3798adfc1f661f4b5656fc87f96a26de4c4d2d4ea98f19662532ace61305bb0f7e59590b0609789a1 -KO = 1405aee388f2c7abb667648153625894f4d0fe1116d2166035c11a859a3a0ec2fad6bcb37abd293290abd8bcb5bd181c01aaacc6cbd32501537cb3465a62bb45 - -COUNT=3 -L = 512 -KI = b3d8d0733be1416605ec798a195a74345a8a6baeffcbcfcc -IVlen = 128 -IV = d40b2ce03134c9a748e36d05c57b5579 -FixedInputDataByteLen = 51 -FixedInputData = eed952844c7132d90685bc584671a9b4e61449074155deb552a1eaaf9423cc409f696c2fa708550239bbca4c9fa9b5eacac6c0 -KO = a613df3cb1a029bf67715d3d9ca0c3bb2bc09044632ddda865bca0f6bb20576ce1cc79efae908cd3f6700d95f310aac9dafe6f76e47fa8ca5735840c501bbebd - -COUNT=4 -L = 512 -KI = cae4e8292c56369e8e56cb6246c32e107f2b6a69c2a14e9f -IVlen = 128 -IV = ebe0b5634f822604d96c8e2148ce4cbe -FixedInputDataByteLen = 51 -FixedInputData = 09b9ce1f5c5a1913b69e98a90a1827c9a3408a7bd76e13777935cb6ac0d5f992bc9b2bd28dde33035a3aa349a7ffb4fd249587 -KO = f5b916b2e0f42782737c2a43875042e37e5e12f9f41b740bdfddb40f0e21c40e890c194f10cb71c4e98e4f680babe51906f9d6c975e31408c6e0cf30c1a08c99 - -COUNT=5 -L = 512 -KI = 60eef168c387d3126e3a30c3372476c9d039804fc9b6811d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38a619a2f13c763d3ec9cd6551f33e07104856557febc8328fe98fd083eae2450a9b7aaef945ada2cede13379e333113de0e28 -KO = cace8f66afef7e3f8c84f660a78aea9513514f3eee555833d20d655ae6f7aa8908464f6ce1338e64731dc3da17307cfe42039c0aa6f2277f76df4f1f324ecc14 - -COUNT=6 -L = 512 -KI = c24a479cc627728137e35c129f83619ced8a0d8d84c115db -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e2aa6753661ca4092fcb367edd5aa48fd00487965ffe23ecf9cd3c3349e52d02d1e32ab920906a5ad6f09a4bb9c20c2cdf0cb2 -KO = a187c967b5e773f09042fba53ebdb30365d38dee39ef6ecfd8ac856ef7d4005ecd7db31b5135548574425d04816bba2dcd377f307c586ef0403f65d6a7e3ddc6 - -COUNT=7 -L = 512 -KI = 36c034e5f9f165bdc5971ed09eeb238525e56f55910aa3aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 750c2483b4ca6a2d88bbcf02dc273c248618f89459d23c5e1c5bd6e6fd1864531bedd31225f355653ac92ddec19928a2ad96bd -KO = 9018872388bf2db7b6cf0339f5a232eae9f8976e692fe27da0ba9ca3c2805a71edc60d988df1d2ec7df5a28ccccf537388ac3a119df0ff01544a906ef1397668 - -COUNT=8 -L = 512 -KI = f9b560bc400c871e7fa4b46ac5556eba7750ceba6a3c0b3f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 50d7f4b4b3b89e829b88eb084ba10a0c61aa07044dba618ae653aa7803f1775cbaed13a2de54d34ba249d5dd591c3908e476d1 -KO = 12913218a215ac50fd38fe4c51476e36997c9a46ef018cd42d5ba639b6faf2b44136a145d198ef472584da130964f52c16fa02762451d54e5639399e254d123b - -COUNT=9 -L = 512 -KI = 767164e2dffd12e98b19698cae2d07c9e16534faa8914c77 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a5edf6ef258b04732a119ba68a6a4ca9e625a5eb3836dbaf4d76f8dd97f1ca3939b9785e20611bfcf4b2909f95d04265a797f3 -KO = 7dc06e2202d5a06f13a041c1892f090a03f670a907020d2aeeacb7c73e40c8046c894e05adba22e46713d0ce74f0be8a0cf3ea785e97b9691d3159c9bbaa1e88 - -COUNT=10 -L = 2048 -KI = 01b84e7d1baa146d01a93ff646b8824971d74e4e6ff15752 -IVlen = 128 -IV = 029617426d237b5c28ebf49275da0c1d -FixedInputDataByteLen = 51 -FixedInputData = 5dfb0e241b48488e773788d47d568a9ac51b23832b0cba24c32691cd9b1e7293899c128accb0d0fec15b812bb0260848d8ede6 -KO = 5d6552f2d0cebb4b8c241eb068e614da52c779021e9d7308a75db1c6c8fbcd8ff358dce599214d54b5a3809fc7e60c5d45c0b8a801476e0a07271fd595cf20f4ec9c9cf035f7663fd83cd731aa4ab1f307d5a5f1f100a93bec74343af8e10703588b1aec90e56b651487c74b8df7c5721887ee34139564d4557fe110deadc61d6f54a3bda5cd17b8a18d744fd62d51aaf1e16ac6f0930111d4c8c3ef174bd43b61f954b729e68b608a21d1e666b558241b6158d96a18a16b373765f020d58512c5f8020144a513c5682d73020dc596bb0f1ee20ddfa77ea34e5b2e05712210851611ded202a9eed77ce1d05a38e9b828936315ca0ec42868c35732fea8ff6091 - -COUNT=11 -L = 2048 -KI = ecc1cee429adcdb06089826f461b037f53a9884e20e7145f -IVlen = 128 -IV = 5c9ef896f9d80385da830bf3383bf07e -FixedInputDataByteLen = 51 -FixedInputData = 39bca888d825e4f651a8db985188be2eff507803df242838e71242c7459aa61db4b995fa59225f571212aa7f11a6a8fe8be9dc -KO = 6264ecbf38a3ee18b3a1ae6574f429151fd88d3bc205064ed2b6b2d560c88dc99af6633881db5d67331bd68ffef89623177fe7aea2e09499694537b198aab660039d9f3e43078b591a1e1c9824b3c9a0ffc95abb0e0ac217f9456fc2ee42d0b34d4112d299b6482a07742cc29cb6a871bffd2f801dedca581725251f3ef99d49bd6e1002f51a19e74a3ae74909b4fd77566ba6e7f577fc15bb48d29289d0eb7559cf3ced80d237ce38c3cfef99eb95438b4ec5ab25855da81aed3de98eb9fb94e1d3fae0f6fc5e10579ae20c000bfc716332939cda3f803df7e46efb1bf1e03daa96eda6f8b44023ff707d839e2ad1c99821af435dc8ab6c09e997182bf0a9ad - -COUNT=12 -L = 2048 -KI = 590df9cd58ad34e21cd1f92734932a887405ebbf138d799d -IVlen = 128 -IV = 4f8cc8926a55263bc7cd613e514ca812 -FixedInputDataByteLen = 51 -FixedInputData = 989e42e271000d185f75bb1b1161cde4cc1f9dc6bf22b05d4437b9b46ffa4740a5e5b761fcb9185f32650bf2209213a8f6a32a -KO = 442f0e13ec44034193372ac8c0be67a26bf6d1638607c9981407600775d0e5ca92c0001b642489f54b51a3ec3db3964f8d265e425a6cfb26f307e2118c0427d0b6c5e3a8de040897bd997fb5821537f42f9eaae325160cfee6ae545a86c2a0488524bbf279c6affe5fa16659043f974c2535452cae44e96e5d89a7b402fb90ad28c2658252c7b262b80f0d089bb1cdd465b04c72f6440e87b546f9fbca2a31112c5d9a4df215855c4f8f12bc9a8176983efde800324a2690e8d2715644c2e66c60eb47dcd2acc76676a25dee706240ce6994ba9d01f25587e2337e4d38dcccae7dcd3e419c23eeeecacd790abb761f63c3b216914cd6a7df1467cf0a3a6169ee - -COUNT=13 -L = 2048 -KI = 35a1da1f3fee575f4407c3d7e52864d8fc68323c04a975e6 -IVlen = 128 -IV = 7e3df2871826186079a70610208726f6 -FixedInputDataByteLen = 51 -FixedInputData = 319327dbb0f0228e4dc4dd971894b020b77eafe126ac8f26b4cbb16302ccac066948fcc2bd2cbaae234bf9ac82e26a19a275f8 -KO = 151431e17e46b461e9c9f15418e2551cfc0a99e67a51c2a13956a32c379a0f7b7aa22d31371ff2f0d3e4b0e1410e791db9fef96650d11484de167be64209b68a2c8ca51705a6e369d29adffc9667515921d9fd8e2a20300ad3c5c74f305982ad1e06734a1e9bf425009a4e7571d364bb9553bc3a7b908ebc04d43b34010f1174ec0ffcab327b38d2bbaa8e508ca3c538d218f4d4bfbab92a192a2a5571000ec6943bca61dd742dd1e59da89e2e3ec4b437d64e6efe8f21c2de90c152f65b25ff7c572ac2e543bcee4e4e3d1fd90223bbf8f91268a47c97f9bb752652f9604cb109183bf539a5d430bd05f227419b63501fc2217a76681a8ed55cefa0c42ce304 - -COUNT=14 -L = 2048 -KI = d3253b7b2d7226d8d5f9b57754e08902345b9a78f896d695 -IVlen = 128 -IV = d80eabc63c4abc601d4045f49e0ba54e -FixedInputDataByteLen = 51 -FixedInputData = d58def967376fc8d80c0d67295782e90ee5c1a2128bd612b90e82d82991316e25981a6842bfb8ca1815477d0e583059b722b9d -KO = cfd6665a940a7d37ca45d8d1e4f53814762dd5bb843ffe40165c8bb981b9ba2783c80517d89058fd0d4af5916c715be7bd9e5ee1877b4869e2633ad692f8877f9386ad1f056f87b91d4656a3b19951fc8cfdd3db2a516efd9c3d0b6f71e610a6b39ba0dcf5050672dcd8eecebfe6c929afdf16cadc41c24c9eb5a3b7ea68bafb6c655b7ecc08923e4dc6f7504e5450c579a92baceb9cc872e082a49a7c3312246cc40df0029a24442ebdd6ed77a27a4ec804509829797698c153086d1476857a995ebb278a61bbe8ba31f80146a920f4242b3592468c2af09f651b44828e8c31d00f2fd5f3d17d38166014de46bbc77c46410796c76e4e6986e59a05bdf50184 - -COUNT=15 -L = 2048 -KI = b9441a1be65de3bcb257383a0f0ffd77d9918b147272fb6c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 969d54014262cc9b3312748c0baefd43f838b9407601239a293172247c9133350c6e2d23247f8e9a5da988f643c6672c61895d -KO = c75c9e6a69b7f40205ba4cbb61a1c77cd89c3e3a84a73ba97163ee2c513d8f3fdee6949a796a38f24d5f3013f38ab5c4db1bbb02ed9d2be50cbf1b14b24878d52999b611521be9e671f91bb8577862a627d770bd1c1274b52f1a3d970c2d28a65fd786ce4dbdf6e89cc039910bf9ac05fff289feeb6374e06416268b9afdef4c9aabc93f535deeaa5a10927da2a54150f573124f43ba5f833e023e4220d2f507bc2fd52c87ec34bd4c3ea6cfab2e1a0d16b0c548a35a282f64c6e5c6b23fccfd47549a23cdb8db395230676538637103b9c142e86d20bd16f158d2cabbb508b5dc9073556ededf22a4043aa92882287d4e4eac4433b6caf1d0dcc7a88bb7dbd5 - -COUNT=16 -L = 2048 -KI = 575910a385bb15cee11e4c14b8c2ad9258fc34b38da69036 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5e5f5d7c8fe14873f226a5acf04e855b5508dd1cfc229abee90a5f971d4f27aaeaac415aed87a7881cf06b0520dc48bbc787b6 -KO = 0ca20b6150aa514893697db5e95629a8f61edf5cb5603f7a5fe0bb489b7fb9209aeed0a6e341bba00f06b28867f9062e18d1a089fc7c024bbdf7671bea81dccbd6ca00322b49bfd7a84e649b6cd8181e7b2c4ef19b015da353cf39bece81f79a54a888eaed5a89b1f18b63a90e6c30a7597b4a6a5725fcf3a87d396b7ff8f0143044af70f574f2c9a18dfde5f626e41c4a7b43680ab2d4dae949c64b3824eb0ae5b91560e6fa1050664ed1da2e31bd17feb6db7b2814ef8275107da59c3bd621e08035bd96ae0f74343be54503d7c0aa74eb4fb9c90d4f1e27dab72ec567cfcddd2865976e86cad65beedb433591db157179267755a2d0a9caa8f874ed2c7092 - -COUNT=17 -L = 2048 -KI = 535f568d052f3717fe93579fac03044783020643bd1f924d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b5e87a81ba95606fe9610462c4d95cc8f19d448aedc6378d6c9e8f9660df32bee98b9069a8c0d9339960a4c80f3c018de7d4d -KO = 4db7df006ba99cf2c975e03d56f0d8dcff232908a3e4bafab7a396a6930c6dc130fec0eaca7fbf9397b1dffe7223a4fd742b6c788af556ec7ead17e6995a7513ff9b192b4224c0303f6bece4e44056e6474502dce9d3878fea3d1c6ec90ecc65f71d26542de23eb3d4b2637471bc8618ab6a7ee1eeb663ea50aa48eb71ca58a29c138424efb37f1858362ecb61be1e2b70534f117867b893a7994a6ea5d8ec08afc32e373d87dc6debc965f9ca6252ccf0cda8d8f125b1767a4ca27a2f7c88df2a941a993062d3e0cd4025237d50cb8e4dc16a01f5978c0f9e0f5b2a1fee6ce50032b4817a5de72cba6db08578f1a9340fa631a748c15e5a48366d200febd8dd - -COUNT=18 -L = 2048 -KI = ad0d3774c0ac862a49b0844869bf932c8bd7cb6f42c8d37c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b166404d9dc0ac55eb130c083b6da118bd42577a85b853038dc63c6949ca41ef1886e23add057ff9a990130aabe13a855b0c45 -KO = a0f2879611cf15083b045bfab8df2528153d20f0a511bd909f7e72b8da9c4f1a02c5bc35c693e4eb5ba1383c53d92f35576ccc1204410d2109da08e056f0c92033b0ace40895e95cae3aeec5891913dd7c0e74adb271718521c469953d856176eb9a58e23ac79d10f69f9f62898192d5ea1fd86d11845955b0fa47d03f1f0055204ccf3fe5bf3e88358c4e3ca129378e5cbf79683ba526f995f8d86929ebd2691b5b2cc3dedf50318b3db7e9dd734b67cc37ddab2363082f8e58849d932479ea3e6a053b2777c2b630ebed0721e71d9853f6b99eaf2e429d62025ab063f17b0f79fe3f1f45cfd25685889f5615a7e3174404a032608cb8bab91c022ad92cfe77 - -COUNT=19 -L = 2048 -KI = 2963e28fe6684f398896ad5b847cf88548a31682bc8e4080 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45192bd7af272950613097ac0a1ac50301cc766ee708d71b54fd97689c80d0eb1e297083ef68608e458dc8a691462db2792923 -KO = e65d08aad7d147b7f1f8ac85bcf67a4e2a89489402d9df7bd94c49fa975ec841c689df6f5b22d27e63cdfc946d7fbc59305c1ed7bd89552148ba9ca5fa9268d3a1562a537087f43f5420769b5914759a3eaa2beb1bed038cfe98223933f9df730715663ea818b374668a922e282f3dab21541dc677ab99b5b3cc677fc375dc6a3db4afcf109298c027791bdf156152533bd16b336cd6961c95aa788fed7a194cbc1a45e1bfd30096068cea413ea4b41bcec6a2c2cd0a47c214d5272bb5ef4d841158fae67bf8e140bf48288637ec7c34319a20eaa12dcfaa14747211ad42bf7686785aaeb24480f1f59738b6d5c2541a76997fde15efb670007da133764118bd - -COUNT=20 -L = 560 -KI = 27d17e869e83f648e88fe056e8952df0199fd51d4fee8b22 -IVlen = 128 -IV = 4c848bd450592f0b524b5a91a7d79b57 -FixedInputDataByteLen = 51 -FixedInputData = 3a0d00901a7b6c96bd21781026cd406ec399560d5a425c569c5aa3cbad0ab7b79a993341f13b8693faa5fa1cb3141c839d0a8f -KO = f80959dc6590170595ce248e7d4dcbf5ffe2d8c539ed156a6a2f5e83d26aa6e43ab7064c327bebe3faf8727be4fb4be8d0b955901aa498b93a9c300b5c496406f856a5f2721f - -COUNT=21 -L = 560 -KI = 14c3c896a03f1cb84674502fca1385d90c45bdbcebb26a47 -IVlen = 128 -IV = 61590402efd4b32dc8c581e5194446b3 -FixedInputDataByteLen = 51 -FixedInputData = a03d12763d095df35a80d669e277157acca0601a71dbbc4737cfad314ae60c5703d7501c3d497502c6264cc7fbe9d17c48b56a -KO = 232a4d358f7789a617fd596d00207a50db84f925da3c5f43fd5c8d2aaee7d492b7912176927b6c722e240b8f864fd8b2b5648d594f9467d9d7686772dd7841eb2ea71d19ef14 - -COUNT=22 -L = 560 -KI = e8655aafdf8fe455df55fde55bf45a82101c7a1b44f5b081 -IVlen = 128 -IV = 9872c8e40b132e3244288f282acb7634 -FixedInputDataByteLen = 51 -FixedInputData = 22aeaa6ea007cfffd4622d7376f33ba54894f6698e7c23fea011bbff4c051a6154ec7ed3e8723f4235b556eb946ffb5248c4a1 -KO = 8624744cb3f580b675a671109941692b074e7d506043675d0f373922f1202ce5e800b086f3dc75fd3516caf781074ea29a0a0e4beb8a8aa8fab07c7df73d092375e777c218fc - -COUNT=23 -L = 560 -KI = 43ebb4e74b231e337b950f13d498ae2e24656765d0a3ef01 -IVlen = 128 -IV = 0e16e5f09e0aa5e1e94f05fd63010090 -FixedInputDataByteLen = 51 -FixedInputData = dcf5d778ad73fbf57410b34d1e54e0a21d76f147f9465429498e0b393dd9ebc841749b7da095f91ff0bea7197084854fe45fa1 -KO = 3f4e74487a6a09b21cb26c141976e9dc4f1e35805b639f308aabbd7000f68c7963d081b56cb1b199f457729d1c6d9745cbe857f810cdfb8c976ee417131fae70854af6b45b4d - -COUNT=24 -L = 560 -KI = 86776c3e5b4e1dbd5140c25bf15ebf48c9e7d5d9c0eb721b -IVlen = 128 -IV = a45c37593e3d3a890d814daee037ca77 -FixedInputDataByteLen = 51 -FixedInputData = 24c2c1399c98e60cba4bbadc346787cd93d4fe00c7d467ca525316c22fbb63988228a6c918c9ed3886ec81ee9d2ac9fff840d9 -KO = 49e8cd5320bed58876d5e9f345bb1ff733ff7eadbe90cdc1bb46137391d705b39d02a4df8d038bfae207ad8ebf60db0dc28c5f0bc482d1fcfb73634327017e2f236a80f10736 - -COUNT=25 -L = 560 -KI = fb77d71767935cb11a82de625a0f8d261bdb82f411e02a49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 27c3c58e790f820faf3e2fbf56a8410edcb1cd1586fbdad77e1a74b87ac8c949a2f27be257268c8f2f34600d8d44dea18a4e16 -KO = 22426d9adb2e0c9c9ca17b1d83f6ce123c72239a7dedde53540898d21f57a45d0c658a2f64617023579b991de9924f9d60d344883743d6122f909ed78054eddcd6d449b37967 - -COUNT=26 -L = 560 -KI = 191a0d18332dd1531620ec8daf0764ae8c909862c1147e79 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf809d8a0c3c3de9cd6fe003d9230236d63460f3cf08faca63e1c3308f45bbe92bdb9384da6fc1d2d8bf0e5c781b57b986562b -KO = 487ca840dbb1e545c488480d8cd17a286b9d39cfaf0daf5cfabf61778fef9aafb4fab5f85adc408122dae3a7ad1a5fea10af739f63f69c6d3f55c595497b0c6b954075392f21 - -COUNT=27 -L = 560 -KI = 92e324a2ba6229b39436e456b9eeaf5c85b3759b1486b396 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0c27d10b0c0b71308c33db91f9a000ed87ddbffe25b163dcdfc894831d31e55ab1e07f72a87ff155470aa9293283de77d6f36 -KO = 474b0e88ad8dfe2446cacc5b344352169b698bee25ec868c034acc8c836786dc674d935eabb0425338d6c6936c859cc4431e1d2acbc7411f4eba25ef1d7b6db7ad4cc5b5a5da - -COUNT=28 -L = 560 -KI = 713ee0772f4c18841103b32957291d5321d865b953e9fce3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2943c59f9970d0ca50181994bc6ffc6ff6765440cf8c950d9692d92fe7f1143d79cb7462a65431e0e57a2657fc58f5c9a5aaa -KO = e67ae370a1c0d5d3c8c511b6e9d07b1e20929e8ff82422e71f90a83a141520b2242d79f91d7ad2f4ba957ffd8f9ad63b0f41946254199f0a2a97dd9fa25e24b3955e2bd60738 - -COUNT=29 -L = 560 -KI = 768966eda7d2deb60811def5d425115a903488bd89d48c54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e5ce4bd135d4fd5fa6a29f6e010ec64b7b15a482cf08fc536ecb719b18ef9b60b7af7eaac6b98ea4465a4af96479f479de3e72 -KO = 08744db26d363bc3a45aaf92fff36845b5c1bac8e23ff2f2a3db3e9a9075467007aa7431f705e3fd8eb27f78b9468a6735370c139502d3130ff07b22b0bd88f27e1f0f3f45fb - -COUNT=30 -L = 2400 -KI = 482e78349ec29d014dbd1cc0ecdf0eccc5b13eb796b2853c -IVlen = 128 -IV = aba890ea7cf657f1c97048bd412a2cb4 -FixedInputDataByteLen = 51 -FixedInputData = 924a8326b597b62bfb1973d7b04cd83d183ef2399ad842e99f82059d2c896393e984db2d26a45a762ed94ece4dd81c1181d990 -KO = 0bb47ada748b4d9394b23de57515a0e322ae260d9990cadd6c7cb7cf11dd980b3df128c70b30a642df2cce2c95d9f358ca48cb63e7a2b745dfcd5109be0e1c9925d330ab97b64231ab3c4848f716f2be947167aea757103a5c618f426eea30b1363efa55b4ebe0446a85debb7c35c3be43ce010805e70f37a2f0e067fe0303d7d959e17f8497ea6fd37e92e3c01f1e0be0f8d7fe25816599e509de4ea1794821b6548a7a814dbabe09034b551c9e0c460d0d53d1235a056f70518ca4e0b8efdd1f1cfb10db21c6e746a37a498e7581c9e6819ab0debff499d0341a90417238eb81f8081a9ba16029810dfd7559f3437c33f1a939229ab2077e6855a557de3170d40d380a9e956259ca64b95391831345fca2ac4949b80aafd3c373f646643223ebfeb24cb89a4259b574353f - -COUNT=31 -L = 2400 -KI = 06d1edd5a06e27a6557bfadbbdffc6dd79ef4f88ef6f2f26 -IVlen = 128 -IV = 6d0f3115c95bdefe79c5252ae7823c2c -FixedInputDataByteLen = 51 -FixedInputData = f78ba71ff901ebbaade4a8e1c8eb1bbf96b5c0015eda7d5689e3ae89d884536f504ea247e4800696ea54e75b332c82a96f5b80 -KO = 16dc71f92286b8747d0f4f18564ce538494509f6eaa838d0d0747425f1f5c9e78d11c3e89c3785bfb0285f1378391cb9997e8d8ed0f35d565022f5d4a5728c67da92b8296ef165f7743358f82675f5b43b28554f138218323e2cf071062a0c58261eddfba24424b21040392129b710c1f1855c7cf740c28f9b189ab37a35ea453257584db0c3b04556c0af9889ed4f384d0775e1e45cc01be7f83ff7fce6e98788dbec626a80f97876bd0c40c353f54a76efb8d1f9c610204979431bf01ac0d004d4dfcf91bf7f18351373c1ce4388aa816a8221cc3bfa831da6194ced7851e764d61c9b195c9513b09bb5ce4248876e0c19c3e7212be14997b6a361543aafacc89dd0706966e66091d61074089075702c07c9da4eb9cae1e616567b36c0b0109b00d56714953f054e046f4d - -COUNT=32 -L = 2400 -KI = 8de128a3727d6dac09d46001e35eb11256c2446c7ec75e03 -IVlen = 128 -IV = 9637f009001f3fea34c5ea3572ba4909 -FixedInputDataByteLen = 51 -FixedInputData = 0b4db9bc12db4f667a9e344819673bc7df1fc75d47e2e6112a881e89ef3df8349d255cd14790b8137363233ac50b4c1f3f09d5 -KO = 6d96ba4593ccce4a283e7fe1faaea55b3bb51cffc9dfab057f57956e6d94225a3ec5d9de3916698003147010e392078ce1ceeae982cb54fdfc735460c2db2786a6b5b01ad02d8e503a58e05d0600a4235766ec1975258706749e42c9195fa160475ab856d2d202ce38a30eb077f64d9d61102a2c6206b57a778658af260c7d1a7d021b64c23bf7c5c9e77bc2b71aca260595cb63811cdc7f5e67ca35a1b904428ed425a79975ac03b619d6f445c83a801143fb7c2543c1b9505fee8fbc214d80bba6962702f35527d57b0796febbdd05cf01acd5862bf4c010aaba69e7003e59d751fbd208ce0456fcd5e930e2b9ea4211192154a6a66f7dc821744071c05c8f5d8d4889bf759eef2022ba45b0a5e2f7699067cfebf2fcbd4a10af7af45e4067de307074c31aca5fe176f588 - -COUNT=33 -L = 2400 -KI = 11155090491549545afe76f1557855b0d76b5bb8887f8cc6 -IVlen = 128 -IV = 6a223c39ce473a81743cdd6559b497a0 -FixedInputDataByteLen = 51 -FixedInputData = d94bffcc71bbb55cb17e5956c2b8952f547fe3275cae5546509d391e9c9121805ff9ef8b808ce701683b12a447e4226813c62e -KO = f6b6d8ce16e2d803c040fe02ac67f6135c30a2f6a9bcb50a1c9636b5ffe9da58023fc2429d9ba33a0199a38db879d83a722bb2dd2170175c44bc312a5b574ac2a3e013914d1fa1316fc2e71cb5225977e0a5a093bf22d9453fb60f8e6d51aecd0820e83a4fbf1d7d8896050884fcead18405aca125e5381677748575b81a2eb3b25abe34c1504c5f91e4eafde975ba91fda74834c9182deffa3db61f0070f86c9a5efac206a1a6f47006a745a655b355e3e22b5f6b857f4377ba2c271377d45972c3d2db0cc0b7ac277f5c0a47c1dab0c2ce5d8ffeddb83ea3ee9e9228ab62e4a886c141fc9b5c41efbbb641af22cb7396d976395e2d7635e05e1c0fabdc37d34b02093b22d9b0037d3c1d1a4bf97a33ad8eba044c30b40296aefdf3264e5fcf2b58357fb4c624455812c4ed - -COUNT=34 -L = 2400 -KI = 1038e7c316745a7128c6a33246ef4215018e2f942169779a -IVlen = 128 -IV = 16289641524027061e411e05c1082e35 -FixedInputDataByteLen = 51 -FixedInputData = b7cccb620eeb77b0896c5424a2e8391723038820b600a8fbf614b264bd3c48023b940fadc6d901198eeeb0483295e1b8a91076 -KO = 9c8771601ee0b3f44f73515113d32f21352fda78160003c081ed3dde84beb108ec91a16ece63080af37d7bbb681d9290e8e578de9e8a1c805b01068f2117b4855650f2b06af6e739a9d665b4d9d3b075c0c07cea58529a5ee8d6ff31a22b96d917ec92875fc02922638a6ab234bfcc22603279a4477436ff9625e0cd06a80002fe4e73c811e85a35b83966525381def97ed17beb3f0f4fe7c5ef7a3161cb1abed3f8b4e2aa60f330b15b0d19834cbb9293e9edd5dcea8641169bfc9556942a52d49b96b7e4f274e3b739f1ad32bf8dd4a5a2a1ab34b907723724a7b28b40938b13b5443b9185fdc50267bff4cb7b1a59e1b28485e4cd1fb983c249a1f74c48cd5ed1ba3f5bb180fb9664015a183732d6c69e4a5c090639c45a2d4633f94e10abd71ec2bd4676a2acaf0ce9a7 - -COUNT=35 -L = 2400 -KI = 022e0d0123c2855a50df163bb8a2c048ab23422261fa92d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 923d14fbde74b3b158fcb618850fc6482ae1798ee54bcd1bd3b0d8b885177ef4cb763a7df7162cc6ec3797da0bb3e2c71c6928 -KO = 06f57888f67b16c3dd4737071f170458f0a0f5901c87ae72159d4106eb36bc66898ba2b943fc2bfe999dd653bef24671a5a81bd11fca3b39f3fb9f5328d3f41d33c80ec0df15f9087465dc8e7ebb6750c2f935c3cd1d519d080c68407da4176bbb9005ae3d5335a9c84ccd5224863d7c91a3cfa34f2b856e84deca62feab4123da3460d93fbf97db97a4518809f8f57b75ded811e3f43ba650ef0e3e24a845ecde4199f2a2c38807f5d5470746c5eb5a7d240390c809636da2bb136d747fafa6d1757695ccf59149606574b7f42b07c3f6baa620a3e42592c84cbebd350b4cf43ebe3e15755b9b2d7a5e7d0ff5baa20c82d24ce4910a3c52a20992552866121a845d55ea6e64143d56cf035eca2c21d2a7680cbd093df6d574674911dd955d80535c9ab27fd4eda961e59373 - -COUNT=36 -L = 2400 -KI = afe3d3bcb89589b4db9ed4d8baac48a120a4a5048995127a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97008f3897cbebc86b5bb7e2758d324e6a552fbb1c263aac1451a006e99d841bc09bdec5eb10975ee444dc38536d6e3f5cbf60 -KO = a966f2ede157c74cd8a38200006df82e18641db23a532724a1103d86593cc68add45ecbc9d66e5fe211f606dd31a2dc993317108b2059a8194007ab81417db2cb1b3db88fbe5560dced2e98fbc23361d8d5d344b4878f8c60ead9af97ee3180bd40a834ff2d005de23c5ae830756fa18dcf727fc8f3a390a11e8696a545fcb57e428b377fcf591665e77be3c8369e3a6e59d8ef16f340ee04d9ee1b4f9ba8da12bf3bbc66d36d9ebdd1ad577ccf3e957dad938eb403da1d80b9dafbeaf43cc6cd60612ae39f29b809ebc894c3f613018892381bed08f787f4001e7d20cad048cd8bd687dc189c864035879a35e531172c52870f31916e7a48e6d9852985cc346e8f0e1ae8356344aa4b4aa55e6371f635ce2d543f2d47ed23c5b6520c02a95d5d16475df1cf335f0bb3bee9a - -COUNT=37 -L = 2400 -KI = de6ea63f1f22fbd6939b3d6f3f436ac3ac5195013663ff92 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 176fb3b58c611eeb134b83f56e84cda6b0fbad6089e344f11292dbdf93b1d481fab2a36b5a64507115f271e6a85b2dd9ba21e6 -KO = 6c6d90e66cf029331fd82a4ea32b592580e40e4cd083a8983fc1dadbf6b609ab9caca93a4c902c9ae4b44c782ba1a7ba3be0640e117214c582e3b3bcb58c69df7cabea030dd30486bc6cb98e7069bcb4f7f6a1c1e017b451f5db1b49a699071ec4171c2b30397c5bd82e82501e96d12b07af33fdf26311d51488b71590381ec8025233d871d06d115e8fbe977a227d0c2e7c58bff2e2744280ae4c1ca85de74418e627acfc6b74c14a2fcda3b9194f3336773f966fad8d26b829490c6126cd47e9b126544f6ebbfd86d68311d2e564b794aed2eaf0340d3e8f9b4c9e2989c0c8c2c3b0762ea268f2d162e1b69c550d943bb5c6412195a87c7dd3763b073699861d1d9eda08a3b8a5ba51c98e23a8090fc0ba95361f282cdebbe3ed38bd5c3f185f74baffb37d8c5c4c40b1c2 - -COUNT=38 -L = 2400 -KI = f7806bc4d6e9ac401a34a99dd6c98adf00c50e6ea935de94 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 835664d67cbc7bdcb079f3fdf54659a4852fc01315e2ecacd6dca762ee5992850b0c4616043dddb022ff800bace6a8e08fe461 -KO = 7fda50ad019807305e0dc10d642b7ca8b35ce8f45c8c099b40da326df5b504f8a827789dd82ed39fc9e17ca9cd750e07deae363d78902fe69c475cc37b7681988e9370420c3f4465db8e04bae6f764e1478c8f6c293abb72a5287121eaf68db1224e53a65582d9a9184b8105c105995ee5c9d9af586972ede43ea10b6335ca4ec5329211266db3a7874294e8c6c24f28612dc8cfa8057758a216cc36c9465bddcc96cacc6a78104ebec1c98cca6084273395e8e63daa72342e99fc7a5ebb6db3928b86a8c310b879d7ea7f5784927665a7e3b60093334457b18faf0990b8e964ec9d75dce79ae02300ec6a9a666a5e073586654354ad37534ff9121fd5b75a0d264f2e7d1ee6f042ddd152080cd727478dde25a15c191a75b3096825656004ba3433a633b1996965651e9322 - -COUNT=39 -L = 2400 -KI = a260cdd71ceb52a3e05a427f834a78cb24e582a69eec1cd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89390ac10d94f4cf0e409fe98c2836052ea760a51d813a649feee522adb1b416e93bb04899f9544684be1c99f5de8f3fea44ca -KO = 84c30ce4a9b494532f4ff03ff210a1c496343982f6d1efcddff2bb02616b2aabb2843e5f33371e3a523add0d3e11816e93df5055511092ae42fa67fd680357bd983edf3be76b3a5205b80f65c050029a8e278711981eec955b65ca0dd0181874a889db649f5a50dc839876ea264c8f29caf506c9eb5fdb55bc12665ffd1cd3893ba08fa1276979cc9eab6bc51c33df46a25c25472c1df9376414a04527076f0cb07d23cfb73ce8035bc57137a88cdce033b80ecaeb12b2fe849b00d2419bf0e1480b764dbe55dc77cb0e91253143f28cbade4d2ec5de6aff90c29d1f32d1e699892171f29e6e077cde2762271d3b6882d255f7a8c341fbed7fda163eb9a474ed1382c6d5270a2f5c73bd0e981036b1cd88a99ca426824b747a389245006ec56ba95c498b14417c0017b43877 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = c6fd1c648b5d04f549da68112e75e8a8739fb51eb27a4135 -IVlen = 128 -IV = 5d9ef79651e4117cac875dfd729ffae2 -FixedInputDataByteLen = 51 -FixedInputData = d7d69f07db1073beefae45604dbaaa7637b8e6967fc0f76838c72afa0f30344c673dfda741202ee2c1ed052e6c14985187368b -KO = a3332d860ab85b9b8c14390d1b5428e5a3e736479f646a2e0f4a42c9db0965d0e0940e5419a52ef6dabaf2361a2edd0686da52417d6687883b80f2303ccad4ef - -COUNT=1 -L = 512 -KI = ec4cd21cfe28cab2a4d4ee1e109abaa64980dafefc5c175d -IVlen = 128 -IV = 0745c0d30daff6bcf5469337e8c3f7a0 -FixedInputDataByteLen = 51 -FixedInputData = 5d890c27dff5927220ed416eef078c5dd66fb26b3c2a7b57490768f3ddaa97494f65d2b4b1fa9959efa1fc7b1b62d4f4d58438 -KO = 6944789afc417af6313eb6b59c0c48dd0ca098f7a533599b10532fd2aa52e46d608508230cd069cf9431a1e64ea194d8c06299b0177d4ae7d41bf756b3f0f803 - -COUNT=2 -L = 512 -KI = 7a36fccd461100ef70b673f7de40889017dbc87beb6c00e6 -IVlen = 128 -IV = 9306475efadce3f8c0546d841a958500 -FixedInputDataByteLen = 51 -FixedInputData = 4f59f31795a14d510e6281ac31a6c92c3d152382bf0f0612addf71f98d487bfaac0b92d7373641dc1e7edb4404feae9b8c09d9 -KO = 9b1bdd3a9860d81d786f43941d9b590ec04e635ddeea2d86fc96ff4297d3b3418354ef2a2b7798b4a3afd7235dbafe39266daaba738694b865b82bc09fe58d08 - -COUNT=3 -L = 512 -KI = bd3bc5fbcfb64fc8bef07a59c411d0bdc2f85c747200745d -IVlen = 128 -IV = c82bfa7ce0f05a2d664e0f4cc9897e1c -FixedInputDataByteLen = 51 -FixedInputData = 60710c16e78ada90d8a7cf31ee603c236b20c269ed1dbf4fa2e4204632211ab013c69c68fcf689b7e3c3b724f88cb7cfc4564b -KO = 33df0687f244732c324b88cd77ece96c2927eea3725a4ebd7a1edd1136a33c7ad6b50f6c2b89ad03d47866daa72a305f4ca8251905b16117858628d70b9bf25d - -COUNT=4 -L = 512 -KI = 828a269581924ad9d8396d9dacbcf64bb10b404e2edd3a7c -IVlen = 128 -IV = 9d783125821e8d1ce58c0dfc5e3f6407 -FixedInputDataByteLen = 51 -FixedInputData = 74eb147778266526b95657105e07a9a66c0d09dec8131d0145c3806fca82b36968cf37a7b8e9a06b7763244faf5ab23efab874 -KO = b70209b1e989c8b5417135b5d11aa07f5f2d398cba84851dfeb00da7d2599017aa3330d2b284406f10126e34d27b44e94b53423de7e46bd4eff819b9391074eb - -COUNT=5 -L = 512 -KI = a3c834d5aebfb1fe6264ef052aed594d43ba5977dd5197bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 271e375d1d82ad603cb9dac3828c13b141b078b180a159d42fc4993f454921ac2dd1840a7dd8bddbfc2c9cdf437711cb8a6b81 -KO = bf8b79b33539d127e3f13a86b04bfba8a75931a2b7fe5c498fe384d718748ab043f708131a8449c115b1cdb145d4ddcd30bf48568ee17fa10ef4b2ba29aaf3ea - -COUNT=6 -L = 512 -KI = 013e255f95c25014d1afdd835bce5477d8bbe7821380dbf1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b69312e62d8303f0b2a1a2e37c51ecc744168d2aba21c004cef4e35a16876e3a77a9d072750089e05f9153eee4eff32ffc6be0 -KO = 91cd82239b03ef1eb9cbba1fbe81ec08a25d2aef11e9994fa8f55959360217fe6a987ed6a9b8ac74ee8b15274e243a9428ddfef1a81524b1569b4772e881d7e5 - -COUNT=7 -L = 512 -KI = ac8f07ad72a5a06ed8d0ad79b645678c787e9c38252a5570 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 660f716039401ee389844f46d4136313210dcd19731b85248358ba292ce3855280ca03b4517fa11fd3c235424f365ed42601a8 -KO = 26a110c58f99a675338e77f560cde92dae2f53aaebbb3ca84dbb6528c4597fc10c140507a3bc66664e0c90a646a761076706d34ec84311d3bb0c6ef6baee684c - -COUNT=8 -L = 512 -KI = a35a940db605b2e4c33c858bdbff8e8477367a4b03433eae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a4a17c1d72f1a9159d8fd5a394eaf0e83958baf03a849782d3e5212288d3fbb799e89cd065722a1446b1aa779ced1b57f8b70c -KO = 07166dcb23847fcda73674d6b3087e39cbacf5d6581ed4244c8bf080d9104d43b3fde74faee1d4ecc3a50f195d9d46d561109967cadd3e88445fccf064e81b0d - -COUNT=9 -L = 512 -KI = 26e6d043c7d7d69f8194ad50bf0d2d7757774c92a25590f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e3ddb694c672ec535c99c2a773749925954c5eebbf65afff58d84c86501c08e88d274985a5712529126b240882222ea466600 -KO = 2b3fb1cdf309e865d29ddea7879024fb7177b449d6fb27c699272934486aa58716edc5437ce99fdd5d9e47934575da53125cec967a1b89b732bdecf41d40ca8f - -COUNT=10 -L = 2048 -KI = 615f4f67b6b69e27bb08dbd179af527125d0497496e89b16 -IVlen = 128 -IV = a575c5491f503f6dac814f343cde58e1 -FixedInputDataByteLen = 51 -FixedInputData = b99f71ff60cce4358ca4aebe9421743e3fca431cece8d45faf6f754720a9c4c5f3074d5b9732d886b5b826fad45735bcb6a832 -KO = b02423bfe193b03e8db6bcb0aaae2e0c2f435793f4d2790c5aece3d1d9f7a54c9aeb7e5f99858e6c92b1c0edc7ac77f36a1fcd391541962970671a894f372c0affa938cf0b0e8c82b2d2492e63cfe94ff86ad8e0a55aa01e7b26f47dbc5fca5d40e8678c4d8ec866486ea788bdf0920244e6b66a1b90a5e4a6914cd279df5ba98739f5f4aaf14a5f0867c89bdef7b0f06700ef9659adaf43a47a14673da75ac9d81f19995583a2709699d643a63edcf086454987aeb500c9aae063e74f9804eda4cde8ddc82dd9ea3cb662643bc93c2688c864deabd578f57b4a9c1ce7cafe55f54c92dd7b853ef1ef2e1f3647b1248d3761871271674c2a23f53d54fb838859 - -COUNT=11 -L = 2048 -KI = 43a79764f31d70b797d2d636ca8c6641dd64d2b9035f38b2 -IVlen = 128 -IV = 358903ba42146de6b7328eea2aca3d63 -FixedInputDataByteLen = 51 -FixedInputData = f32de023f51e15f27aa0c79ca75b8612ce0ee5ff1e4a5d2c9747e68115315730517d5f72bebfc1685f95bbcf7e21570e4fe8d3 -KO = 496da72d2bbcfcd8d125152b3cbe1870c741c3782087c9d1f62e378a7c10d74c5e644d93fe5a616535394d0bb0757abbb1d2a89ba9fc12f4c2e24119f55a4dd7a9eb5cef1a6149ca9e46abe129ddf2262ee72058e24ba83dc8fd6b1a6377486f02299011a3b5ee1f9b20f8169c9fccce1e45f939e4290234c5058d47360dfad8d7c57fbe70b85f0673e26205d4c6bac77667448ec11b994bb64475faadf18e0f706aff95ce1f4987ccacca98b919f89d8f95c44a0c517bbdacc33651cbfe6f77eace9adfecf8d15815ebfd4a1ce0e82eae3c20f26b6e2d5e85bb60e0c1a00e44eea8978b72eafaf10f2ab4271d09bf8d787b2c8c8acc813cb3a97140b3d51fbf - -COUNT=12 -L = 2048 -KI = b93428c19dcbefb4c9a137c0cd2c33a72da1f81f9760452e -IVlen = 128 -IV = fd65c27c8303daab67ddcd73de73a2d5 -FixedInputDataByteLen = 51 -FixedInputData = 7d1d98e8db3d14d18730e894abad2053806cdc02d96dbaa1da44bf570436df7553cfab21a2e3cbf4d559c83fa13949eedf97be -KO = 5fac960562a95f163153b733d30eacf6099cd88d89f984201136fe4507e560ecc18978e9e7b0cc35fa20bb836a97bae442379e9b07ea924f4aa65c25a3b89afe67aeff7dd0b901159fe562dd07e89822576d51c554ffb0848cdd2503924736dda6e541808c7a6923ef30a13511217fdde52c24de686beb697dc70f47805b31fdcb7b02d133dd6c8b2ebaf7df1317c25d0ae8c52f9da4422930a7ce29b8a5831f2a908ea6c2c41d0711cbaa0aeeddfb26bce895a883900752224718be811b396f8ffab8335a8ec6bf775bff565a168950d6513ce208dcb89cb83efae65862dba6f4f40d3369af4d3e2d4f7cd263834891f066893ac50ffd8a8f8d137bd53532ca - -COUNT=13 -L = 2048 -KI = c01eed20680c7d164bee22105a699c7f07fc1a75634f6aad -IVlen = 128 -IV = d4e807015a3acf8636409ff5f67a7805 -FixedInputDataByteLen = 51 -FixedInputData = eb11560f2bba3c6bc10a8c1b5fc8c354f6449b5f1a4db6d554e26ed7769784a4532b4c10dc24f51d13dcf840d70b7282815d76 -KO = 9b4c239c74dc4b51878b6d8b78ff1688cf6d3528c94695c105ea1ce1a72efc691d753f9a1893f64e70ac170c12b9b205860d8a201a2603f1292ffc0a08f8b09a59e531478743d45169721a5172710c3e1feaf59fefbde0a5eec0d1384d17944e6970e474cedfe7c98f82f8511be53576e2ff4cbba9057867192dd95602658bb5490d0ff0caef67bf0ee7495db4680a217a40a69ad73e474664f110a884831601e48de5768c728b9fb953f6a9953f5f8f3fdd998e9046b7f366e9fc4115007b19bdf3121c12b13200c8fb1738d0545ef8018bcd11425371e40bdb91e63583939e4f8cb218d38c3e1bd0ccff448566b390656f89f34c50d30f39d72c1e6115fb03 - -COUNT=14 -L = 2048 -KI = 5566a62eb482f6e266af71cc153b109e274af1c1c9c2bdd7 -IVlen = 128 -IV = af80c1d7046297e6867891f62c475462 -FixedInputDataByteLen = 51 -FixedInputData = 375043ac92accfb2c66192ca73d5c39dd8b98ba38d86708d4e4f0b954e89a3ffc392bedefc3ee131f6c9997c4965485f4300c8 -KO = 375569620b44d6c3b07350b1356ad127703ecfb42ccb7dbc01549bea41476668829d843a9447653a0bb1bb897da5992f82010d5cac652ef279036734d29025dd2f77b0b9067dfc5f1615c7823c525b99bb557336aea010b233515665154a3085da28eeaef9af25abb556802a4bf1faf216e239c862e5b57da75774ce0f24971e85542b8f3b0d3eb47a0dae1a07e82296ec8ce6b81c053885359341b9c8145defde4de8a8a86d73909d0aaa99a6a01232fda16f908d333ad3f622d3880481276aa7c27ec150428d62ca814868bb02ea3d9f9c55023c31f42b5eb72ee2cdff5c69cf59ca1944a6f88d7698428cf45b375700bd5b7bccd5c538dee770b95def6b81 - -COUNT=15 -L = 2048 -KI = 8a55bda8aa1b3be4db6fa14d031673daafa294ff7e494254 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7ecef6f3b556be2722575782cf56c7a3267526498b30b291aaf0603a8b04b71a9249b6146ca83e4a3cd6c028d582bb2a451d75 -KO = 7f5975f7575fbf884a2962d91977594f2750e27b4b62010ae5a94fac6effb5bd95f8e5f309df1f4d5a45e9e4609bec61431d7d20a149734ca6d993924140be78b3ccc1e2ee6421b9e7ccf826761e7d51b45d655b48ac8903060dde973f240acfd38ca4fe134f813b4f3551418829b6b95d6812e129c1e0527ad1f8a119077319f152050130aaee79757082c2f045a723ab209819d99c56f3ccadb1f53cad462bd8bb9e423beab3720f2b0e8f81b0605db18f895d78d25396f4ea86d29f77459d12060a9757cb56d63934c29fd5596310bd5b8029635923a47ec3203dd224b429b58f6a5cc2ad99bd10c4e93a302919a1ec459e9274c292e26cdeea839fb82ef0 - -COUNT=16 -L = 2048 -KI = 43be02e73e17a59390c6619635b16c5b0cb1fca0c4ac8d97 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eed46612ed931c3fc47be5838218d7cc63b4beff14cd23c61b44a12a90e861feb7e796a70222e3d2719f03c93c0d3afa714299 -KO = 012b817d87505f82e8cbd1d18f36f85a7a5fdaa902c23acabb0b7c6a4508ceb568ae56db7b05aea34bf6d0dfeeb53133406cda3179a8e1cb5261b34520d9cc67f537381783c123c21f83b7d849b09b1cb3cf59f898303a8e2bc07510c8b2f83768eaa5f0ad28dde75af132529e93581884be55cc11f6a1c0ca9e943482ed18d8fc29963cbef52e78f8e5dd3e0ed58a0dc8b86932010ed5504a1880e6caaa644ef7b29d6501770fe6b174087315f2a9ebed9fd69e8dfc76ac0044ba905dda89c95e2c4b3ca45e1a333e4d3ff8b738394ecabc613f032c985b0f2bec58da35e965f05ca1c88af5ce894b9ace3a063fe1598d244b8a2ff422a6a3c17f09f0161a09 - -COUNT=17 -L = 2048 -KI = 3e89d74659c46d86b44fea1fd7dde954d457f7d88bd2f0e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 803837e9baec708506a47cd8880a9dd94bee1329ddecae7505e6f8567cabed2e541352b78ca9d485d91b9208842a9ccb838e63 -KO = a6546c64741f01da19fbb8aa8d3c10eed0819f14a6b883511c3bb038bdad6e71bb1eec98b2d5183bc71fd29adbb01190f7378b1986af2c11ae932efb3a00be21c826135b3a648dbd643975544e52ccbc10bed116c5cbbdf3a6cc8d00098ef52a9cfc752c44c83f8c6c4cc86d02bc378fe8b338d1f80bac3dd47f7825e840fbde4f7eca1d7435400fc2c370aa0d16f0c8e68f5835a7c2595fddb516ea88358400d1ee88d3549440f127003961abfc4212a33d31aed39c7375fdf74730212ecd0d381177c067750b941de88541e7f6638914180ac5ba1c940a9b56ef7dd6cd7a13dee47b1c88d855b5cab4b64e25f334f45bdcb76a3ed0a76b0538c14fcbd95496 - -COUNT=18 -L = 2048 -KI = 51f3a3d4bd8c51bf7c939f1fb699e9fa3e33d0b62ec92349 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d1e8abb331bef58e50f45b7dad751c606435856b8735190c28aa0f28bf24ff2f00fdd1d1df274901c3eb68d2b617d260d438ee -KO = b33e44a447a55461ae9fc653dbe7058bbd5f6ef94c1329c6b5b34ceeb76a7dcd6c7bc5c6e47ac19aa27cd880085cf4163742e7c01fcc946e0fa22b5be855929c16b5ef3027e0ddb8fbfe89ab8f648d9a1e55a30fd61acba96431b7c282916c83c7002cad967ae21984055cba6c208eb45570db3c03b0a8fe889f70b5470ced6e0b6a96a33dda94d95e156d1dd1cc4736fecb889f4bad9c1fd69429e7649a349109fb15d7963508eadd0a6463316d4889efb9b41eed0371b863fb60599cec894211088c87c897781389c1bdf2c7482389c60f4f865cf8be0cdbe5be619dc09283fad0dffa6ed60e82d0cfce100b03494397e24de6f7b4373a0dfd14c50093676c - -COUNT=19 -L = 2048 -KI = c788561ff57fbaa2be05a0763fd4b329095b5d11b44a3ef8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24f22b47bc4667de9b993e955673b57bb519cf464cb4704906be816c90a4fd31ce99fe18a01a225e30c2367b0918a62d520c48 -KO = 758cbe7b2a267819deb70170ca0980704ca1ca10dcddeaf45db01181d8dbc3d82a498068be6ba59dd8611bb25a0bcd3fe15cd99b7574a1105822576ef2aa0b14c0605a98cd559985c2c7630085dbe169425f87f765f5212a4dc50e94b840385d6d1673bed3af332b737485aee05dbb98089d93b09962b901b134a5024f1b000519bc55789140d70014f9dcfb5c9aa4bcf5ae91b1bbc618304b237249f89c60a6a93f22eb98bad939c8f54e43ac1b527bff7c8fe87f7be3c33ce026d5b79604e9ec0f1aae3a00ae422c0878344dfd569a1c98fea0969873f96c647607b2e42108590c395e7f6ff6bff6bd8e321928b901fd94aae403b352e419baa1ae76545155 - -COUNT=20 -L = 560 -KI = e864e6c5091fb2a56491eb544241c899ec3c7a6d9a177fab -IVlen = 128 -IV = d7345c3752850611c3a57391784ebd61 -FixedInputDataByteLen = 51 -FixedInputData = b7dd48eb8b314a21f1f746f4a72e3cb9a4bf8eb226fb245a6910a03e89e7793f4a97a1e9c546213a3454507d6bc44797f275d6 -KO = a368c3aad1a5992932b00fc353d950135e6acd8c883afa7021b8fa01703fe3885e38dbdd393226de72a38825ccfa33858124eab02a1120b69842018778dbc6c6cc0901cfc1ea - -COUNT=21 -L = 560 -KI = 01badb06d0fd78cd2674e7cd03a7450e44cc74200c89198e -IVlen = 128 -IV = c813c9ecdd4e9a583c2f9fac9f6f9844 -FixedInputDataByteLen = 51 -FixedInputData = 205f659cf5fbad955998de0c29d19cd50faad3fdbe95769d73a36f61224abd6cd5bf3905eb15ca9ba6199c3befab4aa4d0524b -KO = d24478ad1aff287d9d6ed64c8c0e8ed59b7330927521fc6377dce16983b09ec65aac1eb4bb98a60f192e8d4e4ce271effa5fe439109dd9c47ea4c1a362f50af7c2eb41ef38a5 - -COUNT=22 -L = 560 -KI = 339ec1beefc3f6242f19ed290dea69393ad8f2eb287fed7a -IVlen = 128 -IV = 6bc568f1540e8688fe2f7eba40164b96 -FixedInputDataByteLen = 51 -FixedInputData = e6adf58a28d783dc414e9427a1d74a544baf26daca7a2d843a4e57037d60abe31eb23fb211d41cc29d5ad93bb5273fcebb9989 -KO = 39ca81d597a929ad9fdf3da3c1259d197cc16e6110539f4c6223ba2823bd19a96317614b35da6a8623a914889cd63206fb9532965620d4dd65fa5a892c32b3e3591bd7ad5144 - -COUNT=23 -L = 560 -KI = cc1abc06b28a174f8c941cbfb4441f4c9fc35e773cfe5ced -IVlen = 128 -IV = 9b64ba8fb4d948c2a86111d1a9baee63 -FixedInputDataByteLen = 51 -FixedInputData = 390813651e4c5ef33f58b73855e208998313303121633f33afe407a8880d1f8897e06401e70e4a7fd167eb78fe0b4669f2cf4f -KO = 6577e58282426518963bcd7822de94c47daed978527638025127ada22d601c321408536b3a78485fba86978418c4cd69bd488a7ace6e9e509f492e70ae89aad5c1198c869198 - -COUNT=24 -L = 560 -KI = bd4d49d9324bc4ad57b8069e60dbd0e5b85d5227b1db9c56 -IVlen = 128 -IV = 1df3ce62fbe893911b7c239955a00405 -FixedInputDataByteLen = 51 -FixedInputData = aa2f3cb5c30769e438781f4da6c836f9aaaadb544f85ff8a32a65683441027fa6a670610c7edb40f6b668cc03137d1af88af21 -KO = cfcbed5ca37f82d4cec05d2d23b21d6ff156a2a505ee963108cce9807b36b1db2dd2dff49b4a540234586f5a06e92a65315bef2dd3036c2e5dca5ea03c8f6039db0e1e05e23c - -COUNT=25 -L = 560 -KI = eb36f8b7e749f4301eacb3f6fc58e1c87056f11ff27c6a75 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c438db66772a2bf43f480417131537fea8b60868514f335c3375d759130ce2026175485bf89254cd71f890af959d92fd98e534 -KO = 8085255d5230392a691fa99d1a45e51879bff053af101691796cb8b63bcd65ab0df89b1bfb8f6c2152d52215378c564058a895de787f4214237d510ef1b9b49674cda3600c23 - -COUNT=26 -L = 560 -KI = d71955b5f8a5ae6a65fbb3a8fa185c59f024aa758bb0dc40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b1831b047d13d677b520f3eabd8270e5e229443169f12f6fc0fedbf8ac3fb4f7554205fd1ca7a0766f01b4563ac0bf9221bfb -KO = dab5da3aeb308f699ef0f257fe227922c3499647f03a3088262dc69eb2c91ecdbba2f2e4bada749fb7ab741268be9e84e37ee9adfa53e1d1505d6387bfcfda78ac718ccdcb0d - -COUNT=27 -L = 560 -KI = 3a22776af64df4b8707e3ecbf8126f002d46bb08c29f8666 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61c0a43aa2712f3db951d397349fe979ec0726f733ca3f4720fe1b281389025e45b3f97bd7474adc205d40613cc0ebdb3fc3c8 -KO = c7ceea3abac8edbc0d9196ff40e4363e973300e3bbaf5f2b963b3a5953e38c44590d2ba682056fef693dfda96f98afc8ce85eab689bf51473fa022a4545afebacd8f4f3699a9 - -COUNT=28 -L = 560 -KI = 42b1777a6d2fbda6cd4b138220092f5b5fe1c5b10a132727 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = acc19e6c00ba82f6020b2e6882e082af6a594696ec4bb7af4c837d7dbd4881c63ca1bf59a6b80cb4de10a6770e8c318fc7aefc -KO = 3d3d25abbfd715e962e63be4308843f9f67529c9771c0e3cdabc9af3dc979d8df6b682e82f92f2bb152ef61bdee01cffe2099b720a6ea4e90e61a993e52c380b029cfec6cadb - -COUNT=29 -L = 560 -KI = 4be902143c1f18a1a5c3cd91c187faa3dcea75624444c4bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 16ae6a07c6dd1717e3c32dd82e11bc99ea7276623d55318309c96637f3f5b69006adf49faade85994e5fee5c6669f06e50d5e1 -KO = 57395815c3b0883cec7c7b515ae71feaf3ea272b5b385bec6d7ca4e76c3e184ad02e6b7936a2df0f6a1a6ccbb2b7dfb4b970d7a7a619aeac62dc751165c4563463c4c33eef40 - -COUNT=30 -L = 2400 -KI = 07bb12195e652da5fbd44c762dbda1190e45f65b7f1672a0 -IVlen = 128 -IV = 2b075952a6c70a84c6fd9207c37602e1 -FixedInputDataByteLen = 51 -FixedInputData = 11d1898eedd149769e39e1437bdf36a6b4112a3a06cf938736c1686cceb065fe92a8fac7d38c086e6bf3211e84ab6e978cb243 -KO = 6f488d6615db7834864a51dc03294bb9bb53e9ccd8cf5d28df6ed6f2f0d7bf6d58ad1cec8bb1af3298c04a4e8a75b33c29ec03936170e5b915f4acb13aa63ff11a89d3cbd87449586c12edf74b0ace399b1f9bd362b5a674858aeadee7b340b53a731ae62cffb73f42f48c9344290dc067276cf863a54ba942405c10a2c0e6b42266ba52bfd9f656d4a28f088a8154926200043bc1c7e8078d021db303be5f1bd0d0d4ce26eafe59dcc6cbeed610403ef8fa98a9cc9bc8e11af15f1e07860bf0eab0e3054992e8a043ac2b5146a10e58e20dd87a9a13528f3e002d544bee916a3271bbf61fde068a0859c1983987d79744d0560ed6d2e80c73af1ae8d4816c56e80552b1b6db7fa9aae1ed03dc604af31354071edd6e44b5fb50220a25bd00f73698f8ea1b871378ae02da22 - -COUNT=31 -L = 2400 -KI = 98c0ade8c81fdfe9d6e8e98130ca8571a2ff2f825f835c01 -IVlen = 128 -IV = e02b3193f3cad577c7b5857615f45ec5 -FixedInputDataByteLen = 51 -FixedInputData = f885d212b64f436aa4d286d1f483c3da1cf8748c34efed1bb652f3d5cd189cb20d20ace7ef07666e2f8a45e1790e7d179bbe5e -KO = 092eba4ad4b2c3a0de1310516fb9891fdc2fa1032e08f23c65e8dadcb8aa741ca9f000af6b062897dda67620dc66845016bee5239815fa187be62f9eb5956d81358d724ab6e2e707e9f8bb67b652464a590b5e9c31dd9dccd97d03e8cc2dfcaaea8207adaf0b311be7a747e0187f5b173b720388188f9a027d0d39613584ab310879492b2bcc648591a94bf0cbe476f9b57470a604b497f03a8da722f611e460f446c611f9f912574ee172ffb0c1a9dca6128c9f68cb352d12d646133976e2f536f7ea136e254b0411f8f2f2da8a042cef6d336620d58603639cd194efee7e056c9019599002ef26c8f59878df5f6232fa6efa798901d8f26667614438ac799c122ca204496d845fdb14b226761d5acefe65442f95bdc292019b7371e22d715d4d61d2cedc617491f2f1a190 - -COUNT=32 -L = 2400 -KI = abb7d526f9643a4314bdc9554f9b4ae93452810fe53ebf65 -IVlen = 128 -IV = a95a826b79e03219d266105e577e0a15 -FixedInputDataByteLen = 51 -FixedInputData = 942de0d436ca66222efc67dcc6235274ef58db0f4a0c23467a8f76795ed83ff7247b0f890edb36168eb4193c8a307bf98545b1 -KO = 11deb7e9194b916ea8c167a41bd345dcfe76fc4fc4d742082f976759822e0c086fe8d8d60e09d362f336340a6e299f572b4bc7d942d42c892aae29d76596a6119b698615a76f3f79a75d783e6e8ac0ebad4c127ebeb4ca8cd762d4b7308d2bb7cbcb5f177921f8cb9dfc37888b2dc6c566c1125e9042d87d783dec9a6dfea6c2a464f3a77edecc9ac62240c76d0d74aa3bf01f5edb5dc84729974bcb41b0c534fc1ce89c9128170fea90886f1c1edf0de8354647ccad1309812e3ae2ed60fa075f0b193f526bc8b68d8be42fbd34112098f3115ebd3860dc9f1d70e66bec5e989e196ab67f65cf17ee662ae92c7604bebb496b50448a8a365194eff118afb83cfe30dbdfa4e7abf03b49307b826bceda94e3a920f6b43147f6954c287c1a1dcbe3b89fa38bef96ac18472414 - -COUNT=33 -L = 2400 -KI = 04175f7a887daf45b2532fcfbbf95462ba7fdf4a5302d7f1 -IVlen = 128 -IV = 78db15695f9f860269870bdf69088843 -FixedInputDataByteLen = 51 -FixedInputData = 4fa79c3de4d453819f1802d6a34524b4ddfb8fcb58290c1ad0a4559d953889c26bc79a09b109307513bb5311b8e048eea44bbf -KO = 0984f48e3e0f8094bfbceea434f0fdb41c29de34124fa67d38d05b4319b39173f13a2b440137d896e7433258c3785f0a84adf4157ac3593bb29f3cd684433573ecdedf92f60133b95fd5066d6b5e1b934b6a148f845343810affcef3138bf5e5bf006cd55fe924177fb61bb2a5b5dab283e773540604c849718a4acbd95b252d748c50c04d47e0c4567a27ab184f554e962704494aac2f9cde9b71fbb72a08d245d17d84b5d9433f43279da223b378752efcb8069d5b69d41144beb24d5b5f7dd8c94a25cc8546e114e40287456347a203990dcaa6020ec353c4911efd0248116f1b7c22ea239d20f97460c95b6c32605147aa14df58270ab41dfafc7927ff84f742eed005509b0c71dfd6daabcbaa880408c3dfdbad608b37612539a5f01f7a84f190ab2a7cccf2d0e94962 - -COUNT=34 -L = 2400 -KI = 4ca0af38351220ff7d8dc8b331394f1b5344c7b3ce938b9c -IVlen = 128 -IV = 534e64adc2e211a8a24380a93aff931c -FixedInputDataByteLen = 51 -FixedInputData = ce9244f32bc5aa3c2eb071f7bb20581457b335a0183dccbc64a33c12638e731a063352515481d47f30ccf969b6312520a40bab -KO = d64f02cf314c568f0c9070df34684fbfe6547ed8dcdbc7a6cbd3dc435b984df2719db31e0a972de5b864eded500d65fb8e9c116f25a4a48c4506bf989fd02caef43e094590f97ece771821fd7c2217b9ab63a3e37e24f479183dea58729bb1562d7ca8f715cd69bd38b7f9f11b8e756064cb9d38c72ae51191b2e328d39a0eaa11a5090d12946c7b061d404026b3eada16b893fcd93bbffa288e5350abca81bb8bf7d7f2cb1d16b28b832273bf0d1d1be19c39676ac4592b2c8115cdfc245fca8d91a9311e462ebd12b53b3631535119935bb0b501a3a878197e2af46c00d10fd0c0f22617a7b6018ff9cf0cdf59da1b118b17491dc957a7cf7ec5b0e71df56c502efb74036bc81411d4e2a0962e4790bb4ab9ed643415a2c0cc8b90025fc08799d9e64821246a11174ae817 - -COUNT=35 -L = 2400 -KI = c1ad5fc5842fa6c137a0e6cc3b131c4ee95b4bf6bd6dc40c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2cb35a7c28423988de161886c470863eaa05afaf7757a504bd19b9571a0f48c018c6538780839587309817e4e29841e4f374b -KO = 134e806f5c6a6e790cce4cafb347673d969e26ad5c5fd4d2662178928f61e1166d47e11408ceaeb6ce86ae0dd3659fc0564795b4f8df9f8ecc60cacd8bb21e1299cac2354d1e6a60c74f378df4f67337c686a86a5a2f30f86f353e1199777688709d4db1d6e6b34292cbb723e691333f7a84e5b8811e055db1a02f744ed7ff6cec1e63159c3485504e4f84eadd8a0dbe59d4c17a3ec83b354ee0c7d29027ea635e273b2a7145dd5025c2e9a4f476dba0869614b98c347f7411732250d66b4528608499a9e332600db015136236442dfbbe7d18e5589af525bea7650230a2fe66c0a821869a46273099e7a034c90c1295749d9e8766936a1ee97c1cae552f639a5858fa066398bee980a4ef7e10caadd0090bb562152414cbe4967740041023e52f2149e7649c5abb6696f96b - -COUNT=36 -L = 2400 -KI = c18233ed2eb118efb4e3ccbc8b9371c087e9bfad2b82b919 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 63eca85cd64c145cf39336e07377389f68d8f423bcc9ffe53418f12ee0a3c07c374cd3b9d9f700168707c80210ba56d6bc2a9b -KO = 87f77b38db72d4be6e48bfbaa0397d3193a3d5f79d1279bb71616d4c7132105d75d07ecbfb44d3dbe67815311af770e8dc15608c253ef619f1d2c74de70c7367c2f9c208e14bf575fd155bd0b1e314b1d82da96d36f609d2bd3007ff487fe4af0c5fa6b1f140d22daf0689cbd8a60112f5adfa49feeaae07893a6c1256d82b5ada982cc92219fea33b1988dc576908c216612e9676ea943211ec59af84244eb80afe0836c16f9f8a4ccdb2630908430509677d66a05b2cd8a81162149004666cfdc491fb40fc38ebaffb1184316790009842c7af02dcfec65c57308b27fdbaf8b19603c59d44b1891b2a58765fd6cf3df546ff00b6966700fb04b308a16fbe9d71086db769f32f38bfdfdb82fdd052c0e506182a9f08cd5c9880960ba9918b48c345f842adc9d25fbc400147 - -COUNT=37 -L = 2400 -KI = ea54f4ce2e646b6381269663024aeb6af872f9525bef862e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5e6b28b321ca7cac47893382c86dd8eaabc6ff095912e4e697f69def7b00e3be7e340d94ae0670c4164556f2db3446797bc5a1 -KO = c3d50405fc5702b41fb5495289efca8170bb66523b4794e50cd678fe7ddd24b89b9ad9c8ee1a3693141c375eb168f2834acfb341606e08e5b2573a7990f61d4d359e5c04424795dd5514360ec0bd4b7f77e23ba0af0296985cfa295804b05f59b66961e78d5546a9401afec0ba72b9ee20ead8ea63501726dc6706e43a775488c0bf51e4559aa1ecb6da5b172e6eae654cf19f288e4894c7fb817b19b092cce94c6ec42377b09b56b7aeb4918f6280b99b5f1f62557833035aee73e24b26c7d9f805741873552a2fd0c54fac75872f712876c647f31d42685ce061fa1d18540a98515045d1dc211220fc71fa2621d64c8155c967f26df116128574692fb7e7d1de746f45dd99934958e2a02b73bb734c0ad6a963f84489d984e1c31c15871b2081cc105fd1d3eeab8bf27e38 - -COUNT=38 -L = 2400 -KI = 16249cf50e95204bbfde2d3c830472b68f9546029f9d470a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52514831620bc445b4074a85e24fb396b70bfc38101452b625d86211e48f7205feaf43f99da3ae75fe2a5fb45a806ee0c57515 -KO = 8c823da73991d8fbb30f9e6805af43147a6546264caa3a09ea8c6865e8f5a40c29e75d4090badfcdd42ad0597d8e4f4758e9a006388642fa575ecbda59f33f1c31dc58fcc19b3955d7f62d181b4063ee537fc491086fd01b55fe119432ff992cb70eda397cdd94b2a31418113ef8c847bbf8458aed6a146220a564d333cb64977a263ff9647817d12e05012977e7d640d8401963ed2276a0d6fb258e54cc489c2a1d02c6b6778eee8fdb82e0deae56476686b5383d4f1d7bccd32bc3cbaeb0adc6ad13a7b6a7da384693e1ea9fb184d58220080a8ff55d2c954fde4ccb98258c493793b825c145fbe4d10ef2eeff6842cdff1f9076a905d82bd47692f43247270fc405bb7fd8d4a3c64ac68c75783d12f40114ea46a54f6015359f3d447fbb07de51ab9d1213f18b5c5a735e - -COUNT=39 -L = 2400 -KI = 47d1438fac5d32e0d6cb349e7c9ba7ba7e6263151d924c26 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9867c72a94dc159bd8175721a1e82eeb3e1c21f90c4a246ad223a8b06157e03e0919945cc4f5ecd973903d030934b3e2fca723 -KO = af6bb1c50086859b24df7798e4df438de698fd1d78c4e1a9f03d26d3e39db45774e7e67ad527fcfa9a45c41c41b77ecb1e6feff5b9b67c898436cb9ddc9fa44fb9a26f479df379a2205846f6e3b15a5e48a346a4123b294945bd27f8a3cf8b7487d64fe951f68645e3341183ce93f5ef1b5c411d486573f2ad876cebacbcec2e92f405105df9342e73034a1c5b360aef05a9730a47a4f919383fa0fd5740622204e863dc1be08b38eb081ecba34cce482ea226f04abc564dad95e1eb50ca0878f2fb4ce3bdcb865dd117d1e473007f79e52ead9d6b334a71809520c1d8573697b8bcd7f26fbab99ab291c159f04d8013ad2c82caaf3b5ba6ac45bbaa781996bb40371a287aead216cadc5cbe75c67de698372f8d617814123cc59974fd22e137559f2b0af1bea59e4fec1661 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 0eb0ae16ad7d3cbccda0afbaea4b4cce9ef054c3d0814537 -IVlen = 128 -IV = 08bc30cbb001c83ee40036cb28202319 -FixedInputDataByteLen = 51 -FixedInputData = b5856f8d0354bb7256b14c8f4bcaab18d9556e74593eb29c2f0745fd5bd46a18cfc0120ec01ff9507932eee82a6cf95071efc2 -KO = b5bc7a8947de0898b0c05b8b0b11f13ccf95efd80db81b5f0bfa965b2c98b39ef12186ab302989246f7d21c89988de9aa7ca0dcbdd72ba9646c4477a6a8f15b5 - -COUNT=1 -L = 512 -KI = c317c49f60291de7a792eaa340163218e8dfaf8f0e7153b4 -IVlen = 128 -IV = 3095b74b3d3c93efafcc92efc3b67484 -FixedInputDataByteLen = 51 -FixedInputData = c27bef70684279eadddef4c6758c8eeb6afb6b634d1e89c7789878dacb183f4f87c150b6af6f4a3f2a1704d0eb4de48ee8e946 -KO = 71f96b27fd2748b67bcedd0c03219d023d452a4c472a292d87349e45e4d0b6e8cfb8b27636adfc51a52bb6cbfae57347a0034e03476e25b8db6778aa637b7753 - -COUNT=2 -L = 512 -KI = 5c597f0e0165b7219fcc5b21e1af8e4cae9f55b0a7945f18 -IVlen = 128 -IV = e6ff5b1778f101e8f85715c6c27061e3 -FixedInputDataByteLen = 51 -FixedInputData = 4491894448ac665c7ef41361ba120d97d01095a26c8755a73414512180f7767b9b0c9a6f15d086a8289c5a29ff4cb5091b135b -KO = 85243674a993664e891604b4f3d091362b0cb47cf40ff39814ee43cf61c9ae3156f4da777c4b32e699e895b4226a6f79dc7d66b6e2e8f833924b25f402bbfec2 - -COUNT=3 -L = 512 -KI = 9b2a3e6d97c2e24b41d4c4176953fa75d331d065ebef3ba3 -IVlen = 128 -IV = 79ff85d2cdb1631966e6c07eef06fe01 -FixedInputDataByteLen = 51 -FixedInputData = 625c58414d33f8b2b21653c7bc9e4ee02ea54e1134fbab2fb55b8a1282d3573c386b2babd5886164b596c41d5c9f48bf430333 -KO = 65e4b52f1ae8be79d09d584b03d950f41ae08737b1f8650e295f3534f3e0fadf5039a2e0d2cfdd96b8ad0a357676beb0458d928ca65946eb3831d4758ae00598 - -COUNT=4 -L = 512 -KI = 7728d20872f9b868e010a62926c3eb78efe79f9d45a52d0e -IVlen = 128 -IV = 0f253b46c8dc4a8326de642d50f3aebc -FixedInputDataByteLen = 51 -FixedInputData = e0eb9675e929740ba98269d92a3f004d39a860f79c69a14aed0dcd6053cabd6fe506f7cbbebc2fb6cfd5bf884f968d24e13165 -KO = 0d090fdd4363e892367cc4fa58149fdd4d9265565e7d80bca5fa52a6a8bc455ae73c7be5d99aa74668b76c26a8222bda5d7000284f3069d7cccddc72a906ff11 - -COUNT=5 -L = 512 -KI = 66d287956ace1117e0371097b694487e34478f374252e1ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dbe4258eb076c35609b4ba82bb36ee49e03f5ff3350a55984416d36aec097daa6dc6d7e3fdf0304b058b70fc9e614cf133ec07 -KO = 3fda9ef034e4e48138c7cfe21d3c4613918c64abdd3abb5422c3444ce13083a9f3d5e5f26deaa07b82a83b45285f4b00f26b4a77c6ce49f6e47a6d15c82398bd - -COUNT=6 -L = 512 -KI = 42363adda79283467018cb2ba4df9853be1346c5623d3868 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d5db992a41dc0460876caa8411d71699576ac8b5ee04393451867de26ff54e5265dd8d5142a3add4abb774001ce55dec0c5ce -KO = 7b4524dbbb7645d8a4709bd5642dda25abd474b162ac2aa6dfb06a25e572b2d8e95b1add991c2c8332f9143d0a1601cd0a568371273139de63bf44619acac87d - -COUNT=7 -L = 512 -KI = f4141c598613b189600ba77f4273a4abb8961dbd6adb0e29 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a2648976d1d4cabe87712be274f4c2bf67fe13e6073b3558d55b93306b2bf148c6d170d20ad1ab970f121ccb96cd8a48c3571 -KO = 7e4006499343fecb67ed7b68c2440f21cfd5bc336585c1115608f66380d49d177a68e980c421de368b123ad24d7404c8c3eb64c3b1ac283f2356b67b80c458a9 - -COUNT=8 -L = 512 -KI = 84b990a9827df502fc15b1397e4a3662158647ec464786dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 297d04f24b840b63e6b3c6627b914d8d94d89898ee3f08a798813031df2d15940f91903f2df12168a7146be2837ee79d0f0456 -KO = 233d2fa253edfaec8343820d6d3c6e47c44ed43cef650e5e8fca5c25ac0e9e453dc40d7a7efaa285bb487c33a4fc683ff194fbc7a508ed3552f8174b21810f67 - -COUNT=9 -L = 512 -KI = f36b77575eca142935d18e598e3ba73fb9b50050d24195ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e795f99d559130dbe932bea310a5fec27c27d28cc04e5dc47a4ddc8690acc1b9cf2adfc209d32a091c04acaced596df05ec160 -KO = bde09de6cac5feaf26dc22142e977e296ed8d15e6a16daaf47da0ec665c2b16974a0f6c8b9357006a286a5097055e44274d0904d438f790bc041ef7183ad90a6 - -COUNT=10 -L = 2048 -KI = ae4a21925d6de14ebf1757bc3223969f9ff76ecdb46b0173 -IVlen = 128 -IV = b93771e2cd14f25803a7d413213230a8 -FixedInputDataByteLen = 51 -FixedInputData = 29db5f5f1185772673f74c73bba508a8bd97660fce3195e1665ac0699328e7a2d0b167d2119c451a5aee6af7e1d4ccf92ec482 -KO = 173a40d6b2f7ce011c41d7d84332b678d2bc5add42f2b686321e74c84d9157a3933b01fecf0f9893c84619b159755e18ca30cbabb479ccb387516c8feb0f7414a8abb2cbd2d62a4b880084c669dc62476df275df0af00c353b93e5daa4d877e5ad2e1c53d4c4857704a5fef1e911a98a3131e17509e920f77e340624911359069e9b93aeacb483f15e68d72562b3864f330dc8698b62c0b124513ca85c89c8d5855164c4a714ce4fddeb977f41d4393be51995bc6417c0e963c6f8496a87ebd7b2ebb0b47a916e56e195cfc08354a43d29f64ffb9fd86ac7ed3cd6b752cdd6e6ad527680ffbaf1f7c6eeefd6987813ab640dc2818da87c4c886008ad0ea15d37 - -COUNT=11 -L = 2048 -KI = a99dff4a80ebb3226bd10fac21bf2334941f2399c7745343 -IVlen = 128 -IV = 07232951a9c5cc8242cfd7ab2793e399 -FixedInputDataByteLen = 51 -FixedInputData = fdd65bf20ee63440de7a0545ae18a8de986078c87a4c515b20502bf41599bc4963d118301856f5fbda3e13addf06a178f40e00 -KO = 4ddcf16055b9e01022e4e9e7acf9d60a6eaea442c6b5e5956c7d88d08111567403c3f5722a0168acbcbe4fcc7c4868a21c03c7fb330787192ee073ba3e631ecf44dea4daa8e32f3e0146a86ef33b9396e4b32c011a2c4704df38441964623c71d82a26b3a39b678c8e112e43fa3728e3be962932a62ee0be930b974592d46c507f3b6f931f2f7c499eb71891a875d98208d3f1a1aa5cd7b500e8c88b0e2e5906aa638515d9ae09ae668c1072c7cd784663999ae7897c0b062e172831763b3d8306d7b724d15720e185c9a915c6faba6b2134fca6f9477336acdcb4626ec2e6a66f0d8b62d1be09f3ad854395f8cab50882f0691f342f7044053e33ad2d757ed5 - -COUNT=12 -L = 2048 -KI = 65bb3ff88463a1099ba15e46bec5ec50a033b49878719a60 -IVlen = 128 -IV = f1d8d0c0b6e95af8c2ca4884a875dbc9 -FixedInputDataByteLen = 51 -FixedInputData = 4bfd5c798d1a6a2431e83767d4058b086735de4ba32f688caf56145f60618490b9de0c8534da2d7061ddedc0668b5bb1c826b1 -KO = bd9b3f0f6cd2fef0a92bbeb93c9584f263a9241312ec1a4e6d5f5d53072e2c24edc00f3f03772c550151f784b29820891ac2e21fe9fea7def97acb348a035ff3fbfed3d4c5bf871e1f25197755c23c6de702bce3f0c840de4843768d3cea59488dc25e6764c56e7a67f3ec11eefd9bf0e24d44f442a76e57192f8fb6aa358b9a1f7bf276a9d578b33d942bd675564b3dcde83be314e93ffde3cc3cbb8d1d54878539cdc83cba481cac3279ed1779ee74677a5d3b243e489f1256a4dc0f6880f343a47b31bc8c0086c3b376d862b85a954a9d356c729d2e99747d7c0841943a83dd8e6a1fb0e8659d572ff3bc3b11999d7f2ccd269711ff2487f45e2a94a29e3b - -COUNT=13 -L = 2048 -KI = 86f15dd251813d56d97b89bf1dc6e7edab818587998736ed -IVlen = 128 -IV = 34dd195e2d516d18130eeba1eacefcec -FixedInputDataByteLen = 51 -FixedInputData = 96522fcb1bb4c162f951afe98c33d8e6727413e9d42dcafb128204668126abfe680d565a5a14aa78e91913413e0d071341e3a2 -KO = a53fecd5027aa10857d2993d82efb188f9fa4a624574606d00e9d2282fbd8b0be2bfdaaf089a9fdb9b73b1a6db0a9900fe23e58f9b5fa185f203fb1d8f59abaf746b48d6b762f1707a27ec3e3d78bb88c87be71f294aade93057cd94f7932503803bab40abdb8431dd24545f23f95d1bc608eab2c74522b93342c5873dd7c6ed5c2b42610907e014cc075b313c00f12705513ac2268e1b6e76b290da267661a65c5e42c05e689325daf32c1ee26c8b9896c37f574b116d44812ecfcc12afb42904f895d32819cef18f0347ebfe775aca6c098404b07e028d96d30d0d9020fc1f309ac8c95be6fc4313fd93cce81780399609c76435c3f4104b8d5c26a703a32a - -COUNT=14 -L = 2048 -KI = 1032fa09fc22ed272c2d67f9e5339dd58a1106f37ec9a5a5 -IVlen = 128 -IV = ddfc65dccee3c70d604e6af5f7c1643c -FixedInputDataByteLen = 51 -FixedInputData = b218173e691e55db8d0e0a8cb52635b5c05b7b257599ca19973115d0f24712b04a61182b469eee960cf13acff85002177adf02 -KO = 2da558f284972af4e18d872f752bd2f0ad67be6b5cdba2eb3aafd354c023b8356e9e096de7ef518b545d128b321b0f689ed929e5588c5547de6d04af051ff1d8c3810617cd0d398ce723cf541a8639e32c738a6c6eef27c769ebbe1bc71b232444a575fa49d210f788ec75419fd3daa5646d020d97ce9e4f3b1e64d865c61744a296d8977b5e0bd957cc9a375c4db00b45cdff81d5f3a8f493e6e06a56c6647d0186925c358bf85115ac9f011a17d8bba604fabe01371428b77610660ca6a95c6e387a588680d737809c80b7641e41df925feec6ce32609ebe9e890572687d4a064ae8d265aeb74228669ead5e0128506f6fcbd67db6675fd9ae74db05664465 - -COUNT=15 -L = 2048 -KI = 9e85155c446f96aed284423b8b21907029ad83b61de82fe5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d86aa196323d7060af42fb80157f5767942517ecd651d11424ee59f49379052bf213b5d076e8f8a64f691a45092728037a7be7 -KO = 78ea13ff01d3187f6a72ce72fd5f52036c47553a0800b66c8c2572989d8fbec34661e13968e7c2ddb0ee313fa104a66c1867d482e3b21b54d2f64fc2e27e58c52947c338fb1835faebb15595d3560346657f9b84fa169e300e3ee0a6a203ecf50f71811bf44ac6ed7a86f57a97138db043b0bc7baec6a69b1156424df6e0b83f561fffcd209e150fc5b31c64d79fa81812993d9a68dd69adadaba8e1a3bdf4435341cf207acb05b13cf36f30be78e60a1ef977a80bd37d54221bf40d07d9072c4ff78bb77f0e5b018e2e732783e478b1c7e5184155be926c10672df6a0560193d16aff18c34cf0f79ca70a318a7ded40e7f3d5f0b66970fcb0faf9a3d5c41e1f - -COUNT=16 -L = 2048 -KI = d6ee46ea96a096a60495c2829889f220cbd07f6e97e219bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b34555b9c999ca73c61b92e17e0b8d62ac8b664edcbcb444a9cb787f3233d71fd8f2d265f290c3c08e81bdf130571b2306be35 -KO = 5d1e45556c0b29189f00a9a1d5536443365e699621bc636b143a4582964de1c8e4fdefd71171882969a914d0d598e27b1b17f675777f7ac4b26c02d9713e24b1e8c40061a56dfe244f9752b6f880982949d654be52d0e01858820a11bb112e0b348cc9c437a4d41a44b7352c737495a553e66bc3e488aa6c7703550a408f40a87ae9b3c8304818feb465c5f9ee2a4e625c6b709052b0faf13ae175bb0edcec0d394d81872bda6b9949ad9649c0688b9f03e32cbd3aaefeabfb040dacee13e9c8f118e205afc85ec531b1279244f156d5126d192aeab9a6de554388bf51f395c814ba72b5974df06fecf567760c9d58cd138e6306c6d7e2a3cb311fff6798c4fe - -COUNT=17 -L = 2048 -KI = 2ac529b09b6195f5516288ae91c90fdfaa6c74351e675361 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 18191869da62f5997de227912dbac6df726a4dbdb2604417ad7c8c1ab0948b09325114106ad5bfc89d1e6f3b6281ad3a502022 -KO = 0d65b2797618d535bd147525b610b55a7c09910b475eca272d5f7d2c716c078fc3a5bbcf13862ea0fc23829c8b53bc8b842de67ea6703194315bbd06af6016f8c62cb87844692e2bbf073f7fb81b754667c21453263c8603f352b666b5664ef860b9468314142fecdac6cb2697eacf41049ceeb87e16655033db0833c8bc8b1a8db26aa383396e55a8b868bf815cebffc03830c6998a62bb17fcef96ea57daa0ffd55ef6178fe9783479496330dc31b21fba256e97e9f566e79069955edf1647618b24c0871cbbab6b1dc75c86d4e20cd4a92c30d58331f08d8037260f1d8ade024b47dfa524c850e056f34ee4cce21e36746557effc3133ae2466c862fa26be - -COUNT=18 -L = 2048 -KI = 70a1824301c29f3569d7566c0dc9f2cc421bfe5c3ad0634c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44140a10027ceec642428dfe5e5b54d1c028c046a3b315861e21ad8d9cbb24f5478abae45e918c5e5fc91a99d12793253c72cf -KO = 81a20ba39c512ccf77f03bd80d3ec030d68765e2a4bbbe26a2dfa4d16970f114bbbd3b5df40fe63972b8911ae8c9924958238fe78ac5b67890b60524869f9d861887d99f48d016f01731482ed80182deeb33d0080ec72ddd0b07dd86cfe2428a95c00ec36039a85015a5b7c7e94fac69961520351dc0e222ccbf108abf36ae1360a5fc3d1094cfdcf6693ee4c84f2253d7ba4c8211277f41057445adcbc3c84159e6069c59171a0e84469786823cba91151e5913e4299b2cd69c90d6f28124e6f55e0944a884f56d43318d67994161d2fe5be86efdbaf9f6e709625707942a7a635a8396e30649b4661909f53372113d4d384a8ef89623c13174cffc0797d5b0 - -COUNT=19 -L = 2048 -KI = 1d4ebc3190a837532f95d77e0e9abc2bd8d4ab2f0261d63b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c82eafc7b15ae289e7d01df1e8775d633c782fe363b7144128d811653cd09e4efa521bc9fc1773232abb3f0d7ba49b6bfaedd6 -KO = b18a9284577f616f640344ca9e4e88b0416965c887d02cb3767fabc5ff936ce53d90d255e7ecd67f777657e547104f61d687ecf038d13eb0d1309eb19b04a51f385e728cc93e7dfe77fb1fc18047ead4874489c69a5052272e5a560836907184623207d5bee64dbb99e5e47b702e4160a5b71a786f8934d2c6cac89d92c3d6eeb4dc0c912e7942eb7bf2bea075d905ad0a8ffc839e8f37266ef6e1d7c66f936455050adddee64e865349364847198395b00ffcfb4e0f0ad9bca71163708b3d5cd6f2470e3e25b0844406d367be99496fae54b8e0af7c46667e680a4699e85cc3c58acfe46c0024281e62b7916107af31fbac6afa91754a8cb2116ee55e81d908 - -COUNT=20 -L = 560 -KI = 2f74ec56d5baa7fb4943c63af5a03ae4dff0c6fc02a5e6f3 -IVlen = 128 -IV = 589810bb089e4629c87ed1305eb514ed -FixedInputDataByteLen = 51 -FixedInputData = c7ebc85baf6147ae3ce4c7f5f781df3371a83f77092ec80e4277bcce5ae059123b129609a9238897d30f69df73ce01d7d20ea8 -KO = f48f3918103fd85daf1e53b6cddbf85ece79e092fe325a884dfeff010e7fe3f11ed57752642675e1577b099c9198e2166443829ff55b367b8392095487b4c1a788e279e80be8 - -COUNT=21 -L = 560 -KI = 39b886bfd5f40f8d3b45b2a0001faf4d17764ec19b3e574c -IVlen = 128 -IV = bffae12d0c42639db709a653b5f72da4 -FixedInputDataByteLen = 51 -FixedInputData = 620a502c7335a112305e2f918f98143cb433e45fb4ed44e8733a2b0b20eff781cce06b0cda5f4b8355254a01cd50545b065512 -KO = 1001be42b5e67370296fb9f4435d0bfc866418134e2b8e2e36acaef9b08f1cc47f03251ae7d6c07dd8bcda2ed0117b6e99a8933cff79b192a10b7fb99ec4d1592dbb36abed8d - -COUNT=22 -L = 560 -KI = ce31eeb53d69a95c06821ece68f51902c8c0884d2584e09e -IVlen = 128 -IV = bc1440efc82e8f29859eb280aaaa8bba -FixedInputDataByteLen = 51 -FixedInputData = bbfe101d40ed600cc01c21570fad2b1211135a6a66cf300a92f952babb3545fd927152140bf8e0d760ebaa1ac1be08862f33cf -KO = 932a11e7cc38dec19dcebdeae3b2b5a059d0d01de9675908161ab2199429c4f4687ceb4e78287836819d773f6ef79a0f1934c1f8f4d442aa74070348305e3eee5cf8c15c9b49 - -COUNT=23 -L = 560 -KI = abd7393ca8819a25b2ab7662be08731bebaa85034bbf403b -IVlen = 128 -IV = f6c12a200f6e8b54986d9fd6300fd44f -FixedInputDataByteLen = 51 -FixedInputData = adcc84c3db26c84120647a179aedd046310f1b92090f0d42dd45bb1058b79e7f4143839d7ae310efa5e1499f7b7efd1344f574 -KO = ef6c9380697ef9a38bee99327798beaa63f10066120ceed66a1983b8c253bf238507385c253b2b16d777040d271df2c0d5bba66c382bd03a41dd46e097be66d9540dcf04e7e9 - -COUNT=24 -L = 560 -KI = a2617ab7d39cc69dbf26455618e32351708355ec2cbc3160 -IVlen = 128 -IV = 1d44757d173156842a8854ea9d22094f -FixedInputDataByteLen = 51 -FixedInputData = 076dcfd19fe721e6b50ffee9b1a53c3c70c1c7feccb4826b6238a4db80b87b8cc45adfd1fbb6fcfdb5961383b6debc7199e639 -KO = 21137bd136c993f833a0cb29cba682c6b833a9eb902de29f6560ba1150f0a596850d1383a7cf434d34d0f261e2bd1d4403dbd82be798f42d1dcd8543e5db3267c39f04bde132 - -COUNT=25 -L = 560 -KI = 60db86a7464fb89e62761421cb99ef7d77414065128c4587 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d3a2e34848f3c42180c10dc9dfadfd7d74ae8fb619729366a80cac624c8b0d861b9a2ee8c5ff9d93011501b97e89ad9519b10 -KO = ef1c3e0963df1ae14e9df2ba091468d76eafa44c99be0c858421d5bb7120895757162f999284155f9c0f66511c8df945eac0606a5470aa49a2d661201e338e48d75be491f278 - -COUNT=26 -L = 560 -KI = 6322e48a8ecffb0fb369eb826ac37526130c426efdfec0df -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0caba982aa35854c2a1ac69577953f34c5f93de06b034e2c3a338ea6c08acd016a6bbadb53b59bb55372390e07db75e22bd338 -KO = 539b100afb1f62cfc426ded3bd58702767ddc679c8bda68ed2f8bd870dc462a814943f700c5ce0edb8c6114cf77abb6985ba4ff80dfb87625f361078507f9eb03bf4e0c3afbf - -COUNT=27 -L = 560 -KI = 7936ed873c8561b5ed06c334304449d84c28182c63110c44 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d8a7181facdff96a65e163a128c14811784fd04e7a1d5aae4776ee44a9bf740c21abd27a2c96a2b1bd12da9d674488cc21af3 -KO = 9b099ff098e003e253e88c20d108b540b0811d98a06b19871fb1d745b581f8c1ace996d589f8ed8ac0b39654a2b49117329ecb066bce15a58ab05e331ae9ed0fe909a49f2dad - -COUNT=28 -L = 560 -KI = 1f8e410011cfb32c10fbefeeac8d66ad6bf1cb3e7000df9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24b6035d9b8569ac4001618c5ece7d0379ab0fe4ffec15d1746005d9270b287d0da44f55a1431b7725c9b54b597d53362fb7d1 -KO = 0c506381719f3c72b3449502987acce0d727a597d9230f1c12b11dad46d2d65994483c6b213b49c872205827f711a904f1398c3ee8a0876e19fedf7e0579c2e282bcf78f6ab8 - -COUNT=29 -L = 560 -KI = dc292bc473c47bbed270c5f8c7e1bef0d45abaf59e7514d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd6af4e81e1ed7d48cee1d6ea977768a1da27ac02b5c3980d6bcf1ae970ed9289ef63d240c8022474371351019ef1f345f4f4d -KO = 7bfbc389c9a59ba17865bda91983e8e04afb0e62705ef70d602b65531873f8a0a6ecd3725701e1b982b3ed57f839c89c053ffeb65f2617551994e0b2d1985670f8eeef0a09c3 - -COUNT=30 -L = 2400 -KI = 2afd139efb1247eba6b35fcdb9bca6ad06d9eb2b3076dd48 -IVlen = 128 -IV = ab3c27a2e0e155d12bb5bf35e636f973 -FixedInputDataByteLen = 51 -FixedInputData = 66c7d241e2bd9f5bfe753fdc8f6d7aa7a57414e9da3da595b5d7631acfe6b9dca403b547e8d612b4289c20a998121f56e363d4 -KO = 9b730a1aaf3f73c65f832f308c830c03a2ef3f725ffbcd8928e3d4458ee4860af1fb6646f21b8837d99eb09519d45868a46e47ea3ac61c3690f25d83f612c60557cc46f5ec45b412cd3f9ec29d74f1644fb9a3f18563f735b8db8b6a6e7dcd03a064005b2a7102392abc067439aedc0c2893223d72d245cd8f268b15da240c01b71ce733d7924d7e4c1a8b0905f25c96560a70ee10f0dbe01e2299a668239f82132f7bcf30f7b7044a3af7c14c7b49a45669f694bddd5c86ffef1b5a395911ff9664dea3d1740bc69f2ee19829f131730cfbe2fc1c941431db49e0b62c95a75d9e074b32d6e723fc380b8ab5e0e8997fcf8d6bcd1aee4b6da42ac23ca27e76c49fe4aebdf6f848870d0ffbeefdd453ad1bd57a7e0f5a71eb2b02fc07e173c17f3d0ddd3e32365ec873cfd64b - -COUNT=31 -L = 2400 -KI = 658d7bcd15b246abf8147e81bac822be74f3d96aafe50982 -IVlen = 128 -IV = 9c4cfd47e8b4c3249fc49d3b84ff1e60 -FixedInputDataByteLen = 51 -FixedInputData = 31f4c7884ebb401c5658e9ef0871619f5020c0180abc26299869cafb07a68751f1566469709a0d6379390cc0cd7fff7646a939 -KO = 075fa2e14c4a70f942f2d9221220c0ae36ea565169dc29a0c37b0b617f295048b87d0d515d65a96ec83f11f4aee6c9381d5c7bc515837cc83a5ac16d3ff4ca50bf96e539fa277e73dc24ba39badc68a4c738aa73fecbacef3802b277e0dbff9573591f48f620c9d58bce6d926d00f4feef3032474521a6d94721a96055d290f480e90ac3eebdfa9606e51e2574169611d974ed55bfb720b41e4c6c9a36e39763c7776cdf62862a562b734b0d826e348bfe0d84694538de37a41e646192214f162bd5ca701b25c3daf9fbdd33aa829c35b734c9b61fd731b7b0b76e813aad1797bc46973e0bfa4beacbae2e4eb4405d590a4540e7e5647e3c7e717a60ca487bd1035ba9f9d6d47a9f249404638c01234a53131eb91b6c0930587a43400ff791ef43a2a849578683bb5d4b6637 - -COUNT=32 -L = 2400 -KI = 5c6db7c6c9f0482567ab044af607e3438ce6134ce18c45bd -IVlen = 128 -IV = 67f0c3a06d1bd83bc96a5f4cb131c3a8 -FixedInputDataByteLen = 51 -FixedInputData = 105040ef01ce49a1293b016608ded8e3cd70145e90536b48594da5c3357e675f3ccecf8cec2498c34e70004849ab4201cf5839 -KO = 27561f8824118b80cd3f121af47aad4197b6628697cc3e5eaf5832dd84f2ba357682f53eebaf10d8e09747b9e3cfe9a4c300a66eed058ccc681a7840de502fc942fcd70a44810bd57a89a82c378d4f33f2c4493be03a685e7ec27d0c1db8556a9e507ab0f39104ee62540f82fdbebbecf9a9aaeb2df4cffe356b0fcc42ed106362a2daab69d0709784d315e7940e9b9de96af0aa2b9466b0fb0022c127464bd02380d1ede523f41190ffea8687c7bbc07eadf060139744456a1c326dde7fb93ea9444df1503fb4685b97b2bbd167624e9a4572fdb6455df2ae2d479b1aecff6f8243eb38e41299c1c044996ec1d9a82a8bc3304969c078dc039c7d749bdfdf1f3e77102847f892956c730baf8e057935b5f8edc8978dabce1c6d0e7fd12320f1e0848746dc86f2ceac675060 - -COUNT=33 -L = 2400 -KI = b0bd82d944c6fdc415450f17ca3292635ec58bddf5549819 -IVlen = 128 -IV = 314953dcd3ccdcfb0c73e14d04decb35 -FixedInputDataByteLen = 51 -FixedInputData = d99dbcd8c69c7abe7fe21786247aaae2218a238911bf5c48d005c12cca68f65f608d4e4139718cc69fa9c67368f602cbbf9058 -KO = 930cbc8ab4131947466f15db7656ff4a6b91107097682a45a749f871f27cfba0c971c340e352c9e19793cd1cd768972bb87200ddf62791275e4597a0615831a12a102ea9e5fd2ec6f742ccbdbbb5297b575e0dea3332aaf861e739b150353ff476beaf464d2ba17ead36a180bda8920a26c6becc7009f74533c4f49e1538bba26c6bd77ce8380c08bf72dbcb0056b96ab68135c3fb375c5dc4fc2e3a434f3089a8bb50fa119414a0550075a6ddcb00de5cfa156471552843b6370f04e4c0461378146a595232ff53d41ba9565da55fdbaf6d60dfb87806213c2f45bdf70ba4086edebeac8242df0d322daeaf42a82acd175ec1f2a6ac9704617478e755dde7cfada74b4692865e5a6a6af3079f4470681450b0a5d4cefbffd1c0ed267a7a20dcaf49a4fe02bb9b96c6238ad6 - -COUNT=34 -L = 2400 -KI = 0ebcebfb5a5c773e8c96683e6857d2211701c84d70c7042b -IVlen = 128 -IV = d2d554b6946349c8106ce2f69d19f6ff -FixedInputDataByteLen = 51 -FixedInputData = a8158846b024d401d95ebcf11ccffa6d62b24aa2953430b542ce60225ad7f6db1b4de103df5abfd6b1819afb6523acbf2a54d6 -KO = a34e8697ec63db6364b20d72a8f5e47159ab9b01c69d0c7c6fe0cbfcd792498f54d56d4a8a1487f6b47d74af3839f3f33864322f1988f97e8d4ac977460ba93011bc44e36083c7e4dc6e7bf73f10f94466afbec4193bdeef717f3a59357da48e716a5672692db9d4b61c0069919d7751633465a1b6d86929df4e9d7cef8e666e35bca6644b35d2424c7dd621b6336c9eb8f2abf748ed628520dd8269215aaf7e0e78e0a9c6ed05694f3219d46135b5997984d0cd00cd6c35d206abdbb3286ca23b9389b51dde0351726122af112f96c143e314b79d668366543b13e104b5ea7bb4089e96973bcdb2eb121493b869b297b20f94c4629317862bee9d6e303b09c64e55579d3285410d246d24417ed91b74da34ae804a54cb6f0bfad6d1ac22f0a309c13bdabe006081ef6a025c - -COUNT=35 -L = 2400 -KI = 66be0e0dcac3e8a5bfe92c67bcec70fe342cc537d35e98f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7dd878127499044d78db09685c299416190750162a54ed40814fa8f51edb130e0d70bc015535c77de54da7eb7bd3fe48586fd1 -KO = 2bb35b93bfb9627834233d173066cb8ead984cf99c602093e3945ec15055d4e4602ec1fb7519485a4f4d45c678a58e7db223c0bc3505eb28ccad0cee8684ed087018efe4826b3fe75dd3047601c6aca8ff8181ef9a3d05381c91fe4b13a7499a38a312a8edce76083c4dc206eb660d54af28b82bdf21899ec5c0e636ea47be6921ad80bf560612846e89ad0232f55da567567b4ae53dc0aa025ea00a124f85fdda8cbd8f3cc2d326907015b4fc55e71d6d5891d6f8252d9cb779413335c8015a6dc4ac914ce391c8b6eb15f92ab3ff0ba21107cd8ee5b6e66f798a5fe9f9a311796e856793926f538b06e0e5cdcb63b4326ef52af44eeea1dc8d0383563d466cdd4a8ca10f3fb127b2f05403fc59bf149e31dc2a60ff25b3091c4266a6db66c67ad800b72c35284b52d70c06 - -COUNT=36 -L = 2400 -KI = 119277500aa5592bad4a4bcefe13eeb218e0e1ec9da84a49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 40725a91b493f601157637af11e16d3a50d5e522c437de40ef4a8ddd45bd24ff3ba0fa644d3ece6f99b09187de6636b0c2ed86 -KO = ca6ee4a1274ffa161e46820376b0a229053716d4c6de2e55ea25ac3d2588fa4a49da7ea8821c2b75f271535344dfc6888557a87a0869caedcddf5baf8553127cd879daf1e7f16013274a17132e71dcece36cd5dc39b13e5e4e570d88f7c4ef8c2e623f2e93606fb3bdec975b6ce026ac8267342135dc489051c6ad428957675e3841afeb0b17665fa7a3ab1054f7c24ecab119cdd94b8789892498ffb70cfaf91d4d6a4ec561db7f02c54a90014ad86a38d23cb7c45bf3c81c4d0ebd1bf7f6f52bc7c77331ab87ed7e9fd423a8db800e67482fb460a9f81182a21afd8cfa878091ec57dc08a2381d6a4974498bbefa39510ff1ad8498b3091cc98e51f9d927262caff03bd6d83bc5ff519eb6d729da173620d06812782a51fa0e9089f59ab5666aed7677fb417903a1d70ec9 - -COUNT=37 -L = 2400 -KI = e72b0caf73042b60b3889dd050410ea093c8c257265e5c6f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c5e7e31b4a8b7fc62ef304081c299b5de8825e6cd32b15912a3677ebea8fe2bebe6bfefc18ca4cbffbe2490915178b80cd800 -KO = f17fbe8de4b45922393fdcdc569f2af123e4c71d65073e5b218d949def1044ffbe59037a6de2cf51afc077b830afc1e1d331a711a8d15b9b869ec5ac9d73c3a8a71bd0c4688481f51c6f6a87ac601582e726a8a23c8bfee63bc9f5f1a004b9bbef0e204f113879ce9bf8129802506345efd6290c816bba99c8acbf7cc968f1b940f783c33796a9df30f4fc29e5fc7e6033cef5c5ed100434f65a712c7c9af7434f57615d978cb816dd929884007e5120f98efa6226c79065e74259a63b2539b528d4be171af99aa5c0bf333570b323e4f34ad608d8543500d7b33e2341ba1ef5860753666e53860af3a1ba45cc58016c8a0091bdc335ad6ee179ad38dd551b685749be374a8b04db38b12eda059b488f990589204882856a01c8cd4a5ba7ed112856f17f7c9dba2a405932a3 - -COUNT=38 -L = 2400 -KI = 089c13db136e71556a72cf3baae24bdb3614e308975582c5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 365b19a0cc8a5b2d5112a3c5ead5880e1fe1135f7e587bdaddb8fc2bb4be68ad3a00ce6ba31bcf28c92cd5fa332e2568b0e25b -KO = 4d49d23a50d2fc719186d6f9da4adfb1eaa726ea9659dd2e52693b68656d0eac9f1f0f454a51046b7f39ca61c456800b65791009b8520d0681ec4f127f5f19b85d4b0be664425a98bd1030cf988489841bc81e786afc347b72c48cb35c23eec4ed3b30e1ab3e4cc191a25c084b6a47b39f716a34bc9c254be539028050a94669cfba321fcfe1954bf8eb370223115d4f7dbe012dba6d73828a156fbcdd39a9156e0c66d69ae1947c3df2473394eb19dd7f60c9ba51517159c2800700b9e482bd8cb26ee91b46a4cc0776e0966944684bf90e3a79856c11020c5d953dd2f495e9b3983cd501e1b05ad132cefafd53398ca61253221be162d1452e03dbbee96dfaeb3b55c9307e48fab8de965cd2ee6523be39253fb7ff3cd52bf3d180e2e63ed7d8acae71f3c1539e338f4b5f - -COUNT=39 -L = 2400 -KI = 674427ab350f6986ffaedea122e7898590d59cebd930f7a6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f8354a6f5aea58ca1140ff16a27a296bab8c1723896bec1638ccbe82b7f763bac7ae44dc939ab88f137093a7db1df3ebe1aaf -KO = 7f27f3fc9b9454bd2300ff702a5bf04ad956f4e42c625e2af4756506bc0a8381ffab36548a0ec1cc134cc6d1ec1a58170214acb7e978a282bb7588d9f749df5daef5536796e3ae9a7e370b4f807c92fb5b136039f0c91b9f3f7ed997b4d9cd95374c295a6feaec083e79da9e3b408b0f5f7fa2e1088850848ce3fd5c412fb338ccd44f897c8e0d26364fc2b523e22e62a753fcc18d0c9f5b2d6d85b34c394ca7f59b71ee0f88603bb7714e98990b9ff4d8f7451823f2bc6a4bb5c795fbd8ad8c557e0b5db75c7b8141bcf1cc1956435635527e17ac927779ff60fc41f588c0854b96c6523222386c6cd1a9e1f5e39210ffdd7e133d5e782c5460135a1b20dc5c9a817a517b8c7d7f0d3207357ec0c7036a83f7a264733bb676878a32e03c382dcb18e8c18e07f6fe050d59da - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a8e101cc1a20888e4121423da1610b03ec40eaea4ecccd91 -IVlen = 128 -IV = 64b42322cd27aedf03d68536cee6c450 -FixedInputDataByteLen = 51 -FixedInputData = 6d17b881d88bed050652a9b131f1d165a28c0669bf7a7dd43975e8a1307f886038d2d46a0620c90c975d9cc15b51e748609ca6 -KO = 80896c370ab8213bffb3a31c3d1ca1b34512827e8fac3c50fb4a9543b9bbcd95817cdd9f3c32836b9619f3d90ee3bb7d9456e875be6a0d5e6f4381fbe7ba19fe - -COUNT=1 -L = 512 -KI = 362a1a24a13c5c7ecc5493b5f70478fb17ab06a25dc6b415 -IVlen = 128 -IV = 3eba11c3450739263166cc6b00b72db7 -FixedInputDataByteLen = 51 -FixedInputData = f4167fe343fd1722a2cc36ade642d8a9ffffa477a0b37ef942b71a7b704623de3a7414c2c627172e5a03ed383389332e708aea -KO = 05c41832b84d852c9a116cce85ca63909e53a18935d9d4dbbfb9fa11b95d57d54d8abdc957408224328955f84d2d3cf95b6015ba8e0b456a884bc3061d283408 - -COUNT=2 -L = 512 -KI = c4b4d4850ca56c41a236ef0ad46746915c0519ca1ea5b460 -IVlen = 128 -IV = 974b2a7ac16225e0c4a61bab56192950 -FixedInputDataByteLen = 51 -FixedInputData = 2292e5af247fcfa26388f722bf1aaab26b2ab2b636431537731da01df8ffb1400f7ab2ca6a3346cbe2e80b32262f722762645c -KO = 76cbc57d3238a6a7a3c5253726c6d52124abcc0e954c0682c849b9e6469b1c851f354fd2a659724fbb7d24080ef01e533172d8c2bcc876c8b3ee0c2d9dc6012d - -COUNT=3 -L = 512 -KI = 7f251443b74949d63909d0f6e32cd66f13bc49db601ea6bf -IVlen = 128 -IV = d49c7edc16e961f87128d053dc1d9425 -FixedInputDataByteLen = 51 -FixedInputData = 0ff2088ef3dc0363d84133a8156e3a244db44702c98d1efc6ee79ab5a011f3f0954616db0863e87c7aa89ec2c9b8947924e996 -KO = 45c8660cc1d6326fd523dcf83ab0aad6528854beaa65637d3e7b8f7f0c1bc7b6d771b884b08e06346c68a6f3f825143da76d7b6e6f9d7cea8af6590a247b415c - -COUNT=4 -L = 512 -KI = d76a73b42f9a4d73d32c1b6b23600275406225a93045e84c -IVlen = 128 -IV = 9e8d9dd0a739db0b8aacd2ef3085121b -FixedInputDataByteLen = 51 -FixedInputData = 95ebb898d86784d6f54a0e650c224525ae28a0324f1939a87a99f15ec38ad1892029bbabb16d564fffea61ad18313541d708a3 -KO = ef45f79bb6181c425b37d08629474c6d1c0965aec23d77ba3ef9689bc4e338d315290f6fbeed526e871ab7bfd48a71cf483df4832e4ca5e04c71a8752fcc6da0 - -COUNT=5 -L = 512 -KI = 890e1bcdafffd7c28d8fa7980b0dfe81e200cacbae404937 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad8cfd8f4b4359d0c6b459a5fdcb4a91c7192b93f7c25add9f9d65f93f9a920b9e9cb1a3ac55f94f87e83a3a6989d010ddfc46 -KO = 5b7d23463230736304f3968ff61119dfe798242888ca88a618aaa5e894847abfa02ad6ba8e06a8a34bc7806b023cb0eb5e1d29965691848d0e1f3bd890586fbb - -COUNT=6 -L = 512 -KI = 5d4b0d9672269d7750d8434aa4d59e77892ec1c1bc2d56e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d554059d289e50a8453fc5e893b5e86cd69eaa427cb3ad39eb978f8a3806c66c9926596cf90d34340c421d118d5bcfaf45d51 -KO = c322e1954f1c3475e33280ccc88c8c92988e97b0165979d506b6242949af788e2cfdeef154559ffffd736c4643db3b2913bde4f1f03a1f92c6a68c5990d8b976 - -COUNT=7 -L = 512 -KI = bd0556c56f469cdf4ceedefa110c668e8af005c4809102ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92c025cb790a6de9eafe9fb68c8168cb5e49a178ab5771ac38bd68bd03d4d20da17ed2606e951068361478f197eb9a8ab4c00d -KO = dd3e26448288604dd4fddd03277a4e52d3333f18a0cf0e7c12786dfb33678e109c0bcd171b42b1e1ebd577c2c8e042893a1fd7c679d18c36ce951e559b51cc10 - -COUNT=8 -L = 512 -KI = a57469027024e5abae17614aa6616826e1db4397dc0d9c39 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61156630c9cef5111d5dfef65498852592d2493f1ceb146bf6b88ccf9312293ec4d2223f4482c6d1e0d8d3022782f710a98e0d -KO = 87049eeaecb6b0be8692a017efab064c534f13cfdf53349e73c4633fb6b6c8d219d3768b0b2977ec9fc02e4574adf038a222387ddbc7bb43be7727becd056f87 - -COUNT=9 -L = 512 -KI = d4baae0b0fd6f415417451a3b1c634545d19441b70ff877b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed56c60efa17dae90ea4c22423a9648f49e3b80e1e86b1a0aa06bb12a900866c89baea5f8f7d2bca11ef5c3193b013963a3afb -KO = e5484479b99c4658e1742b5b797a36c629f554e5cf6486a850f149a79075aa5cf17fbcd4ed5f1714a45da7aa1ab24d3ff504b7d7d2830f4319500bf950afb9f5 - -COUNT=10 -L = 2048 -KI = 818d91c2e13a182e72b577ff5b2c554a8c3e420b9d460879 -IVlen = 128 -IV = dece74dfecfad5dd06da6abbf0a3e5ea -FixedInputDataByteLen = 51 -FixedInputData = 3286ee28ca261aeb2e4dad511b339829c4086e3f5547c2cc006270187fd7167d54b312d4794294751957bcf06a7c0771c3e66c -KO = 3be6d88f41f8e73fcfa35974cc84e8de8b37ce5f238af0b75178df8d7a29ef2076a6857a91b729699b20ba40595768d9d9287b48c846977e56b2b4ec3c2e76662c239717c12fd3478887997a2ffad0e8843252417561dcfce93a55b8273884cab7c00f8b382acffd68978754e1f171d3534bed2dca3ac7b29a1a1b30cb0f441b27f7f6524564cd3df7324c3867fdc6652a94d68e40e5aca4571984a0e7fb20be092ac4ceaa3f4b3ba4c9862520e5e7ef2b288f2e2b428c14e18a46588914d0af8c1e61d774c688ae72689839feb06ef934d92d1e5de7f61fe121505c2fd1e31a89fa921fb5574135e12871ecdbe104bf26e46a55ddf1030fef1bdf2c2d5a43fa - -COUNT=11 -L = 2048 -KI = 374fd2fd5bb293fbb8d89e104857069c8beb64e63d96e6a0 -IVlen = 128 -IV = 677c0c3263669290e0d1c0fd167b78d5 -FixedInputDataByteLen = 51 -FixedInputData = 789a8d688383375400c4fac3d972cb6d62cae6e87b0f466e6a630c21074a9714bee2e508c7cbb7bfb1fb8ff60077f2dd22f7c2 -KO = 857c3fd93f7bf15190c627b23d6413f9fc2bd4542da8e75cb93659c7483ce6c31ab1fe49eb55920ae9b743572cc1e8cf91b95bfedc5bf9ff464a803c5a42135b7e07dc2724b0320099826fce6d8d060e8f8cb409b55e49b112011020b7d56125dbcaa74cedd63098a70b0e35ea3af05dd0e8f199ab09aeeb381c2d8eb00a4e5032dc53ebfb5ef7a5d6a5499f64d94aa70c826119b9cf5fac2329a32ca780e9537be545a5505d5727efec3dc0e0f03ccc5cd781fc6881058f0d2d4b36c734e77879d8ab94069f317bfb68f65ed8ca6714a9c21a2f812da4fbd2fddfabd63f62d0ef30b4cf35cf0520be9425423d2afc4fcafa7ad62bb76760f60a300caa575213 - -COUNT=12 -L = 2048 -KI = 5aa44881212bd37a44525f2bf8a49d5ec5c32854ff35576d -IVlen = 128 -IV = 92a144ed5e093eff09dbe62270ca662d -FixedInputDataByteLen = 51 -FixedInputData = 91d5eade75fdcfe9b2376432f9414d8c7d2b1f3c69095c8c14d11b0396d7e2d7326db3d3aa132cde4d3ee69e72172567153278 -KO = b227f45f86411ce7018fd0796e4053dcb4f6986e6cdbf7633dc757f625ec4ab6ffe5fb1ca762c4e0c433793068d91dab8cee60ee8b65781eba49a18990f64d797bb39fcbaaa804588778370d201543d570c1f68c48b5f6fbbc9b61313e952f77d745250c349bd429c5846dab5c98586064e37d631d61e1e30a711deda73a51869cffe1d325149383687415b03703dff5249fee34eda2677cefb1300d6ba302d418a88bc690e1e30dd45a5ea856f37772160a8ef35db2b3cc67c796220caf793ae144d5da2a7b89a421fee3b3181eb0d33ca498707811e9299e9380bc7542d4e328acf3ffe8dfbc90078566b062972d8b5086e84c1948b1b6caac0193fbc5ae5f - -COUNT=13 -L = 2048 -KI = 4b23163f2e29349e64fa892c3a1f0293380c6596ad649525 -IVlen = 128 -IV = bf09398be95476328fd69113271fc719 -FixedInputDataByteLen = 51 -FixedInputData = 8964a0649b820bb7e5032cfe1c02d4f143f57b5d435f9a15a31070dea46daa7c4ff390855b8673625de0475fa57aabd9738022 -KO = 579c610311cdafcd54d3ddc2b9eb8ab7ac705cf21134418b1326fe70b6bafa769681f03e1cf6eb1153cfe9d9ba752326b1e05288768f117f63a84940e08b976dce80dc835a7d1dd28eae5b5b9fdc7d486c99177e344e247cda5eb74f3a6e9e584b064117204d2a148258a9f05ec9fd140bc2fe1cfa0687b71bb2f82e9d7d571479bb4de35bc44b6d88c81c650cf9e47d796f5fa170d838eb889fa8985a485dc105bc2fb2034d96eea8cce076f26ef25aa29677c8a4eed710d68b54f4674fb00ab4e57821258559fe7c4a946c47b1df1e6d675be4e29e35ad296cce1d141f59e0acfc090fc7796ece29d31f24cb56b0241869575f23f383642f94a5587537e6f2 - -COUNT=14 -L = 2048 -KI = 73e147f5a32ffff92af84ab4b5fcc512984a922d6b57f002 -IVlen = 128 -IV = 5991e2aec12c2e2d7fdd8022403bd849 -FixedInputDataByteLen = 51 -FixedInputData = c9fb4b3f1ff3c4b42ea7f49f61004b5eefb1eea96037009b5432b93d1566a064ba2bb808a711773a6b7638906ab40247d9c2aa -KO = 3ded50ab2ccd9d4d09333140efe5a080929cb843d7e0c132259588f65b187bd41a399a0c1834dd8ef8e02f2a0c6309c6a9c81569e505c20b95647486aa7ae38f19f28ee76959a181b74999c4fd0746c0ba55e606174247240b869471477c2bf788a45e7a2b5140a7aa6b5713305dc1dd1150070f59b7bcb1eebed306c06abb947668e6cc385aa598337166d26956def13fdec2fd2fe3c152ad1269d269bc8d12dd0aa2282ed8bf050566d42643ae9625dcd7e9032da5f6d805e15ec93497d32bdd53c942cd6b32344b1edbbc10bf563d38620f042cef4bf3d4682a35b4a0ba59fde690f5c02cc6a20cd569641fd72f51dd5f19ccd5a30eef1211391dbf715e6a - -COUNT=15 -L = 2048 -KI = 2c3ae7b82a29695859ce808bde0fb04063f9333128a115d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6bedfce2b780646986d00d892b7c476de4c63f7b34be3d3f4539de145d98309cf6b5143e5dde8ad6a1cea0df37070cbf034d2 -KO = 63122650a681052e4c8c894f4ecb04d1ca08fa272405c739cf380c303c6e67f9dfc97d03e6b14e9c4175616edd4f89af1fe9dd27f43ecf206d8af3e3f43138f346c3d039dd4e1da3722f31a5729f5608de35f70b19740cf8f55bb8199b5862b481cb06d387c72e4d0e8e4eeb0bd4ba8d2e80a5cf57919934c4384394b1f0b652e1a3dc8563ee5c97d48a5e3cae034b48695b9078102f8750363569b783e2ab7f903bcd10dfd93899fdbfa16862862dae2ac64189bfdc01b7c36aa723053a36a82cca1de9097c5ec1d19a20a72e805c355df192768c71fb4d90be25a1c1cbe3445ecd9d2265acaf216c240c790d4085c465355114a07d11f9ce6fde1f9d2167f0 - -COUNT=16 -L = 2048 -KI = 2262101cb9a9af4ad19600b5bf3c9ef230ae32a7b9c60740 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 79b5b2119ace6ebb66784cc5d18c643d93148ccbdd79ec0fcfdf261e0abc6b4a7ec25f287853475db6f9d8d0ddb7607b22c5da -KO = 2a9d7091bf56502f9be0b53805014116dc20482bbc36e6c863b8da2402ba9e720e462fcb3b5069ae2b6ad55501bb911ee3977d5bdf95b8f009833782beb29bd4447bf6f4d132a0c99c4be523c1cd2a12ce412702e6459833b347bc34de18c184b9e5b4498ae3e21db3e343931d0e04e24b96fa13d3774ba7c86e7ac261b86f343d3c0063c89fff4e742a2d0739b0517bbae559993f137037fff4f4d73dd74696c6d760fff24d492973a4a482003b77ac88a1cbb1359c2eda542069f1de81f76a5d453c22e822cccb12006387c08ed879f09ae553a116cede37eda227e8a0b7ad1813ec093930f96a683acaeab982e62aa6f489893327d3be7e8abfa237fa4c27 - -COUNT=17 -L = 2048 -KI = 601d0b2ebfd87cba7864f8cbfe0264f1117a60143c9517b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 50a7ab7e50db5250cc0687fb5d00f5e1eee17f007e944bd520bb7642a1188355bf961bf4788116e3ae35a00bf2d032b9c1beab -KO = 8ff2d429167254c3f66b8a0e87736bf8b1825b304df9e121912f6bf356daead6905c90498675bdb2d185c8afe88f93fa62e95e3cc19e2ad627d32c7aaac2415b9c887eb46cd598add32a8b3a2a5de8cf6d09362c9e2892b29999b384dec08f1657cf9979a2f93daeb9a41975ec3dd51d97602f8ca513faed2ba4a8a82d1db4d40d3b82069c075ec3434f7f1c03a95ce124ee77a3df4905faacab2dec6d78d458916299bbf47777ae59b9e4119f2cc0936a936ee1fa89f0ddb47f012ab659ad0112e945b7f0c72f80c7c684c478156d8b9e92c8182679b579bd56cffed01d8bc644b023012d20d65ebf17111fcca241f0787d3fd5cdea613001a43c3ab8975f26 - -COUNT=18 -L = 2048 -KI = 43976c9d7f63bc1d4ac7af7dde0549df2c999e1c44af82f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd27550b5009e4007fa310493a8e7a9e8760f769a62da8377d0be0a6044f1bfb63f87bd559f0481ab24b9824fc5f1f8bead407 -KO = 85542d2e180a8d2c4b12bf8a7af4ac0dd02f3ac5de6acfc231ddba6cb96549cf5e4f3b993641764cfe8c330ae587d96e2e908ce7488f8284f0a18f90b8373cfb8d8d9906d8fd56095b9581caa3d9138c13d54334296dfd28dc016e4f8794ac19e757c11734bd28130d79591eee1811991386dccbd7278c815e3125d7162b86bc6497c2b77182170c0d06b9645dd6021e6caf721c20c97ad6c12377943191698255613967d919efa1e3f4b468c1a46013f6b2acd83b334d817efe94ad71e09145ecbd1f9ae6a30a3e86937af55928557fb8cb31d3a03928711b3bc1a672ffd806edc898d7c07a0f38e3c9392332d0019573f3e3498d50a87e896bd224b1e14c27 - -COUNT=19 -L = 2048 -KI = a9e485ecf76735d0f5cf5851d453bf6c0d9ca8c719527026 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 419b15f93bff30ec9148bfcf922f7eb1476fd6b854d3a1cc7f7ff6d6327cc2efe1d3fa0d3ea6778eaef59478708fbd76cc20c1 -KO = 95bab027e74035e365feeaf549949b0bef2256837290215e6233f0714095691536deb5cd36305450d6f12170219aa7622e2c8d3045f5c36a4148f536c60562ae5a01749846d3bdac271dc21b2f1ee966804305d3e95d4eabe3dfc54ea69d4f16c2d621f8f7ae31e27718a66d2842572915b8bc724abb20b0ea4ac3f2d34451c946ed0ca4d45416fb04ee5b479e9599c96ce39ee13e1d7e65d176b9c4b56c5015a1d0feef162893bc29852da40187c0a297ee78f48bebd1293f5134bedecc1760ff1642cc93114f2d8dba75276b21035a1f31402395ac49710d55038881e13e513530bf7f5d117fc136803e3c57ca5c164fdde9baedb755e20926053f222e5b3f - -COUNT=20 -L = 560 -KI = 60167d08e393fa4f06ed75ece7f83024ebf138bac775849b -IVlen = 128 -IV = 921f3ca123517838cec5c7ad77a6625b -FixedInputDataByteLen = 51 -FixedInputData = 8a45376cfe5aa4680cb24d98b8d137e0713612d3ccc491e989ea2eba892f3f36e087dd2b973df46d7f14463994c4e3e452e79b -KO = 296996381a9923417afcb1e2338f1a63d719aa0fc58ce8dc89259d24ff0dc315e8022624dc655d87f0e7778e7701a13dbd9c32bdd054c6faa2bc3e428f3a9cd1c2fdd5bef9af - -COUNT=21 -L = 560 -KI = 719b8409c851f9bfa379414d7e31f5952228e37e95a66c11 -IVlen = 128 -IV = 3f0464e4ba565353a287e7a0f71d99a5 -FixedInputDataByteLen = 51 -FixedInputData = 96559f8f8f65ebb06dbf97bab9aebbd88993b7cd8c09a57d799ba12d9546af3c1573acf1428d1767540ad3aa443a156feb174b -KO = 85bd33765fcdfc2e52dc2ddaf20ad8f934bba1d41829202b11c0976dbea32221418f67ed46785655ee275f71891819d4af2e146c497a9dcd630c94250523010761ded858160e - -COUNT=22 -L = 560 -KI = 2980f766611c06741c501e2280cd6053e0530bd85a635169 -IVlen = 128 -IV = 5e704a3e218c1e81e787cb59a23322c7 -FixedInputDataByteLen = 51 -FixedInputData = 44c482c8bce3a20568b7d02b2360fd109ff3684e7811e6a29b1c9196b78a2ed6e2fdf545fab6dceedd9a511405a102839a0aa3 -KO = ab6c140068e40b7d7cd9f18083d62ffa7d2390f4f330eefe20842deccfd7aab8bf9a1a24872c07288fe3a6baa81648810744fe7dc794fcb913429c45cb02f62242d0291cf2cc - -COUNT=23 -L = 560 -KI = dea6e8eb47fb186a816c47839602ae08c26c174686736991 -IVlen = 128 -IV = 64759d8b06d86525759ef6ab2aa96a88 -FixedInputDataByteLen = 51 -FixedInputData = 78c9fe4ad4bfb8024ce74f6523078bc04af72d4311f1454e5963ceea205cb0451f9334cb70744e08379da04ca1532c3a51729d -KO = 3aebc54901c2786d20d060c9e5167966dbf3669a37c854fdc4a143f0851278a7a0625ef9b2baca89c504d6a7e92abf819928f4e46ca776f5c38ab3e5f297de0ab39a3b3f4e94 - -COUNT=24 -L = 560 -KI = 09a19ce6eb9319c1700022e788b592ee61c7fb3924fe9912 -IVlen = 128 -IV = fd03b1f979ed68d7a6b7a1272ace179e -FixedInputDataByteLen = 51 -FixedInputData = 3b6631c32394f018ef9418ceb9f4e70a20c52458279b45a34b9e490efcdd32d5a93420c91ef625649687a9932455c26b782a07 -KO = 84b9647ed48a7fab754d6b0f9db3531dd28e99682f17111254e6e207af33419adf0fea9d3a7ae69633c745a57fd6dc3cbc3ee307316c80cbc4f4f94b65f89057b17e256b5043 - -COUNT=25 -L = 560 -KI = 711faf9fd693047189af4300bf2f6ea9f52237f5a2afccfa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58e68411ba2f014dc820d670f3046f3ffe16d86ee8029156b80eacf7d79db61c375a4951bc089dacbdf21cdc1322ff3b083410 -KO = 7459aa879e57677b328b90b680b669c42cda95f0e5c68cae4b099d20f95f669b6b1341e538c8cba9d3f4bcc786e0df5d71a1584499d16de66a712831c504a3bbce4c807a1a1b - -COUNT=26 -L = 560 -KI = bc2525238d0749445bf07af1c5d4d302801643eee9208b6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af6add66f378ff9b60b927749e1fa8c84bea3ef619742bbf59299a2d0f350bb88ea9d5e74c58ad4247864ab96607eefc712a4c -KO = 47dfad0091aab39fa93254accf4cabeb6324159603f9724de9368e159001d3a25ad8dd0b865c69932eb1e897af695b41c4bafd98f0dd73cd480167ffa2ad690e69ae17296194 - -COUNT=27 -L = 560 -KI = d9640ba4127ebbbad8d973da53aa6dd4e30d931824be113f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3e790ddc29c5801d4f03d7da154c93e7949ec4b235486a8b9e11850d3eed483b1faf545493980495fe9a5159d7825d234583b9 -KO = 26a4d009dbf8c1ee68afc6fa32bb8a8dc85e912bc42bb7b5c90504d961896db66c84911c1670b8cd378eb8f2a5250f2e4c2cfc5856672633b591a6fd2422cf1d167f0d6c0688 - -COUNT=28 -L = 560 -KI = 6f0e1607c8eddd0307bdc764f48a8948acc88932cc629c5f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3182021d87742f8ff86f04a643c428383499f0b6cc25813ab6650e6b7dfbe284638e66dc1634f600ce1434b05448564c1a44e -KO = ad590df4a51dad8297e737c3f8967f901e4cac58a63239496cb6957838ce913f0df670c510c14ea2af382e9457bd52e2a956988f966d2325521a034914b37b02b8e7b1431e84 - -COUNT=29 -L = 560 -KI = 2835cd087ee7e320fc58df93cd67b7d7db0451670adbb1a1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e80dfc04a1c8dab0d5ade5db6fcc648b904e9c4e1eb16735873b7134e3c0fdc546c1bf5c97730e8ffc0771773b528807fe3ac2 -KO = 671ac39bcb69e6d81f9db8d6ec81b9f39b44572c627a19d465743a096f45bc603e0331e9f9fa3c59beb1d289baf68d4ff0b3598e5b5e9a2cc0734a8b9ea2e90fa3c1dbffad7e - -COUNT=30 -L = 2400 -KI = 3bf20c71d943cd63918f6d27c17e8d454976e07de8d61f91 -IVlen = 128 -IV = 01847bbcfa031ebb589ab62667f2810a -FixedInputDataByteLen = 51 -FixedInputData = 2f90a7df26fcedc04523a12ec757a7395e04b52ad8af6f436bae6ff643804e6fe8ae3649b37d66796cfe62492af7db3b25b4b1 -KO = 209208af2a1ba2fba424ea2d3259b62aab65b6c89686604c93ece4d1bd3422d34ec72814dd64e11f746142e93ba433ef38577e52b85a16e9626ca006c96a1d66e9ade774c48fa8a9c2fb7d92b8deaaecc8218f6e95e2717c7343a8401ae01c1a9cbcd1d6db46377fbfc32f3f715a835b7d7e0214bb92387fb4f794e3c648c22eb00e1d7196cd895d4eba0e2a8a5cb288a9e1d68c90370bb94186fa549547e121783d22c5f3c59f0796752e4121b6fcc762c724d89959be08565d241a348805200cdc4ed316fe91698de0380c49f15336c5b22fe0f4c23b96c79e7e55977f8091c44b2c9407d114c131393d32533fe2f3e0605b4fc0f73626da0ed94ca835dde1efba613ccc3f2e7ea54d4c4ff23264b9261e2c10e4a9a32f37692ea11284c4b0eedfaee3adfb1aedaac8bc79 - -COUNT=31 -L = 2400 -KI = ef09ae2f128aaceef064182b8219bf847d565351df1157f1 -IVlen = 128 -IV = d37494a5e622942812dbd3cb52ac2b62 -FixedInputDataByteLen = 51 -FixedInputData = 665ca78a4e65cdc3070bf2746883dde09208b77ded45de6ca6bc2f57202c691612b624fd48c4ea4048557f989a6c8d56abffa8 -KO = 8ff186adc0e8c47d32588b1773e9610c5b31d31c1faad66af0c2a9a3af735a82a90a8788d828199661b427eec0ed6a3bd07cd185768a08491d314daea372cccb8d6f963260ff2041c0d0f7c471efb17e488310d0eb32b86aeb9806a1b0f27e3361535c276519aa71287b961f93db5c3afe800bf2cb24ddcf7c9d2b96f7bd9cf48db046a2a8bcf60e9a95c6bbeadbf2bafe6a3eb87ad73df8a13d7555e864cde52073ee29a99da5a684eed6bd593800d4306ea5f7aeb669f0709b97cf9013050dc4df7352ace8b02abe6dfbad0df2b64b4dc9cb10c80b2b98757f2431a8edd3d1d20216c8a32acf03deb685685928c4e935075ae1b79a9dbca7fa35b34b3e663e806e5e1486ed319391059387759d636a507bae63dac1f8c216a8d3133c683e5e30b380c71df603a79b8f119e - -COUNT=32 -L = 2400 -KI = 427436c2fe98777e3fb9b387de8a72aee78315a6a3e54457 -IVlen = 128 -IV = 13d0150e34bb4b017316422dd3580a2d -FixedInputDataByteLen = 51 -FixedInputData = f775be9967f404b1b773d31a12c38f8b0c4078ab27c36d57f98cf904d346f0b415aad3bf6ea56e9cabbcd0cf8818d136cfb81a -KO = 71d9d28e7712f289323473415cf192b46cdbff3637efbc6232aae4268462c16eb0c9fa5f002ba4d82a6ca1789ca6ca9cadc9997a7954594720bb9fdf14c83d4960afac46fe9e0d2a04f60a7b1f846a9e08151af74fd7e0b3ab7a9109fe5db0c99bfb487914083d4fbbe7a71a2925a6d01728a25eaa8d17793c5555cee22beb52f7f0ff4e01054ed8b2bde3fff4046c3283a15521f3f20f5829c8785e9fd0eb972146a410cce76ee3339437b1b7af2a7a5f005fd23395d089e27afcb00364727923644cf9204ef959226cee702243ad1236fe56fc7c75daaaa000fa9c39dcf79b0ca62841d628e54a7b901e3efc64e35e08d6e05b31c26d46903f96dbf87b011b41069c2ebd41c3158755870630622f177d0556d84624dfa73ac740da4d3064963474747cda5b165ab407fc4f - -COUNT=33 -L = 2400 -KI = 09dc1ee4223d2d66b743bcc3369fd5f579c1864b16de3122 -IVlen = 128 -IV = 9c7bb948880b9d6b221f1cfa83018ba9 -FixedInputDataByteLen = 51 -FixedInputData = ea32cc2fd13ccb8a74d699eddba1589cf9b9498c631d8a7cc093a4babbafc4fbfcd7cdfcc9c8f8ce72723d225922c452461e67 -KO = 1865f61149f02820abb3f1585ccfc59102861ebe5116a879258a5d8e66a02a4dc7f9fe474972f5164d0c56e683bb02a8352af6feccd2f6ddc953b4e942611e6f5e29e722899eae8967cb8c2aa5ed81fce199854cf67ce7bb48c2c4b7f0279770880456f218e6d00b44b477820707041b6b23b4582d080f4c6cc17e096d02b979c92cd904be5e1c672b6d30064517c5f0edd990dae0fcc272bb13df630e31c0087c7cb525ca7b02feccbfddf0058cf98a947fc8143a18c4cca4f13dd11be6206d1604beeeeef16e628fe529b2461fa22949f99c0fc4009631b99510c8398b69c3f8f6564ec139fe26a2de478709f0f8149cc26dee5798cefbea8106ed1e62b5d285e4d064cd5de21ce1b8ddcd3333cdac4489acd0c037fdc79a474068f8e5810f9ba0ea49b88807722f633eae - -COUNT=34 -L = 2400 -KI = c0451e646c0efec7d1796392c0941f03ede4dfc5236c3658 -IVlen = 128 -IV = 67e237fc21e71751b5df9e99a205d80d -FixedInputDataByteLen = 51 -FixedInputData = e5ad50751b5081c5e813256fb175c4433621388a7f9712e42b3b9c8db9b49668799a03b88d20754b794c7507b9eff9e137c84e -KO = a816e4ea973f9433d60121146b93eb1032f19df13d7f659b10cf906d1728ba10767098f51df6523fe965b4e6ae46cb2316279d8d7c258e9c2f36cb52856b1de19f38679a331a7c226943ccc91b7e0e2717383a0407782cf4d4e6818cc1c79d33cbb06fa68e9e924291a277f34d910c7fe3d62b7ed4653c92acac3e7436fde82658e3439cb4ef4471fbcf8aff41f566ee94c8ca638042ac6f60ec466fdb5498f6b228f6ee8890c3c78cca656c521bac6e1b1c9cab56292f3359adc0b91118f39a8b226b22152356729de587909c1e0e139d3ccae92a09df0594a67c91c6fe232418c79696c2c59702650cbabfc4deabcd3d7fd7c58d6642db588ecfaf7c6d97f57b0f13b1f7b70bcf716cceed9d7bb6e0e628fa25a5b25d3da02235c1551e88f0eb67077a4f7510f59ed73c2b - -COUNT=35 -L = 2400 -KI = f4a726553bcb8e0c43b6cba01c4be4e60345b1fc96cb0e1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff8b4d862710cfaaaba0cc3d91fca59cdce380140d37fc69629a762b500490e8ccfe7d5929ab02b1245ce4387f4ed5dd341791 -KO = cdb6a970a379674fa4070a7926f7aba078def253a91ca58e8031bdf549a7e1dc72e3a8fabb3554c95d4e2301612b964b2cea66adffa06f305fa60feba5e4f01c0feb40112b5ad30d1643c908c0560a08b5d787939b0b20ba59a7e9bba4753178fde8b2f9eec49026fa0d3174fb73d37804851ddb05ce42a5eb0191687d84bc1ff073085e282fe1f59c8825fc0499eb7f9887662a3d98b9a9984c5b36cf17d711b662bd6e5d346cf3302d9b3845542711a1111b8a6831e20b024d7db9473f8fa21057057b8ee39475e6b186aa714b1ed1597d12cc8a48410aaaaf8c8b1e962762392b5810bf4e5326f9c652d84723e811482866b9ea5da58995d6c2ffe2d8595c907f6621139138b3b6800acbf18bbb792fe334e981b2fce2a989824e934a82eae66c9800b379ff3b8765d289 - -COUNT=36 -L = 2400 -KI = 3c4238fc493cd1968f9e735cccf644bd9d1b7fcbd8c0ba57 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 83a437af3cd66ae89c9b2272765c92f5c5a36fb866dd3cea737053b4b73d80780e0e812823dcb593a3a9a69d6ddc7f053181dc -KO = 866b64973e07bfd88802dfed3b9b9b3562d7da66fbcca724a2d37208f91375bba45a299fe39b2f729d9dd5c2e725288eef0ccabf47cdac31307b13f3523a37bd18ffec1f3bd448ac97c579dfe87c71407c167ed62b3aec9f6af6f16caef6581861e8ee20d480e1cf57344427a1341606b8332085ba083bb05ca8f54fbaacfe48f2ae4253ebf26a3ea6bbf39af4cad437356569668e27bbc67d6272f88e99b2f6ee7148b4897a79e2a9e6a20c351860cb936b1f18b5a247c5a46a5bdd3dfe317aad4f214cbf96b331e5163821106b7e265e3407dd5547d8f5a488ceffff202a7af44c29af493ccf2e484e9c6dc49c96d6a5d545efa0a96484d940a916f9e71d4711f47b245766feb23e0093391aa026b8b055a1dc49d41b3d2e98f7c7ae5cd22288fded85262b7f19b63f7fa5 - -COUNT=37 -L = 2400 -KI = 99e1e3ec1b50019f92c62c99d6e360e1e645d090b84be42d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82da8fda358d784fe9eb0fa695bfca606d603855c80bed1837799940cc886b0fe492c66f7bd1f7f116c58919ab70807bfdf1d9 -KO = 57dade27cc47cbc3d0754fbb45f098588db347a259ac3bfba5ea81b62a77a128defe5424901f60d3df56a7a2ad959481b6e02673bb6f750333d717a3992e7b9f8cad519302a5a15fef04d358f42b8db3e0825dc8341226900d6bf601e8e017713b3a590d949d4dcd60b4b75620f6e4136460359637680dbf168050a4ea0cce292a33f8dc76c38dd4703a06d6a7b32db81e57c7a1a46ef43469f124c8fff509eabeebedbaa6cd1fb401a45f7042970d1aeac0805e0e0fd723c7414407b73d303931bf4d9770c8d7a9482816c7c047938d91bc5a25b3057c60f19cfdec798e36acea9180683a45e32027cb78b910f19175e1ed7dd6389cc70958a1f41815b0c1b11b22cbf693dfd13b30d8a0455fb0374c6b8b0e10e65ef3ee4b7882ff3d2980fcf6d057b303db1f8a43955433 - -COUNT=38 -L = 2400 -KI = c3ae5da8707862287f4a1a7bcc636c72c82dd759acdab05f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 67e82e21b26e432ebd5e86b67dd49d759c08e328e278a7967426dff01a7605181a1934934227ca1c516746ffc5274c59e7cfb7 -KO = 84d05f62b2c20f70bc9b3c685e17e23ab9ef414310893f8d154e55b77197231303c24ee196694074cf88be75166b54b4fc9c1eb4d561b0e71feaf28967e0e9cabe0ec9533e5d28fa8b0d183605f68ec262911ec8fb3f730660c2a4d00fe718e4f2eea259d0b09bd3399907128790bc78e39ce2b34318fe15751f046b2701e157514ebdec3ce6f08799fd390bffdd9f595c1e1d9e832caa80824d96df30663fcc7485d8d702bc3f57d42359ae869b1d2731e4d96ff52495dcd19f8159f9ad3aa7cffa3924cbcea8117d8457e79309e8ccab898f81489affea1b356bd6b50c7dee73ea07b5c1f19e60e9c0f44d868694111756d7cd1614f239dec134779f17e35b3f998277970d0795020093058362c9422d2ce3f67692fe87fcbf932a2cbced28c20c36723cc56ce0daf56d99 - -COUNT=39 -L = 2400 -KI = c51f622d41af3b4f0eb1a5449d0550f0ab8c3c2f232036f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd9f457b76c353812afe00688aa89b929284d0570ba59ecde65936d3aae41cce4cf5c3a015d66f6e5f1e36b691d30822a58ece -KO = 8a8ea79cb98c29a9f43c940875b34474f50c86929f5bd050c0a452967980174234b2dcd561da40d7963a9cb870761b6eb198c9ea210947ac4cc3afd5a42309f5438528d98624c9b1c1fc2c669d3e56d0bf9dcbe0caacf6412d41ecb865d2df711416b6063bcfe8c80fb90e265a9f4219e4088698ce277d74b28c65f09d83fa097d8eb747d14aa2af8a6419244cc84a24634a51c9227985af2a84d822b51b1ef0052f604d746b73ad294a522c268dee0495a4a1681a841fb8e21e0c0673e00aff0bbe359c97329e2edfaad3b00bba2cedcba0d3b6cfe4a7d87ab9c7b3bb21d7feb4efe7e7f6a67c7c4670d8ca5fa8bf0fcbc621c813bb024bac04a4cc1247fba94a36afe27ac5d1853766281df6c8a94daa27e3d3a5591e59ec8c45c8dd68bacc46bd09d3d7218ae1e8e307d5 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = a3336117b54445e5682510dd9d85d5d4da8bf6a7a151da64 -IVlen = 128 -IV = f5347b2654e04909f2d37dc429d0443a -FixedInputDataByteLen = 51 -FixedInputData = e8709e28399f2ea1ba8684605ad15352b181efcdbc2d0fec19a9ad97216bf008422b7ffb51c6a6453d83610ae59f86e5eb20f2 -KO = b87318fcb7dbe1ae8777ad6ba48f4e1f7371c474135b5d581cb7b9a3c98dc38f4f2aee057ba7dcd3006fe1e54ff442a13d649f4fb020d498662d4a511aaf6dc4 - -COUNT=1 -L = 512 -KI = d3579efb59832d774ce3a07c3c88bb984556d1a7a2ad39d0 -IVlen = 128 -IV = 8c56459450dbbd35460d2c748523d0d8 -FixedInputDataByteLen = 51 -FixedInputData = ccbd4cf923e65494f58d0a4dfcdcbb83ff815ce9ae4fdab0a37ce53991ff755e642f255a586a8bd8dfd792b95954903e5cd652 -KO = a2be7ce8fb3a34ef178c24f44ee6e39af8a30ec1eb09fb748564e8b32d46d104d568e9d5b96159cf5eda759181eb40fb53ac8d3ca7c298c1f21a0afb41ff41ce - -COUNT=2 -L = 512 -KI = 65304f27d3c7bf70b7850a8b357536bbfe137782e3ca3c81 -IVlen = 128 -IV = e939fa4cf7bfbe9f6cbbfae73e7a27a8 -FixedInputDataByteLen = 51 -FixedInputData = 278a704658d8a2802b73bc21927ccf84fe9c3c79888716ed5c6ade3b2860fcbf4ffb59c4714df3d28de2275981cf62d8cb3186 -KO = 66ab0e0c4c6ff3d106e2a94bbbf4162e07737e5db54ad2579c6ac7e658f8e1b6f9f9b92763496b8c025a3fbc370235219e835a151551ac51decd85d4bcea98c4 - -COUNT=3 -L = 512 -KI = b1427e3636baad07f732c1d697f782e54ed721b0cce201d6 -IVlen = 128 -IV = 07d65b08194d8bcb6e9cb75f1f5c88b9 -FixedInputDataByteLen = 51 -FixedInputData = 9797d20039bc9b8811979efa50fe7c3b0264660497d2fc70e70fa7d689e53226f961fea787582ab596f7f007d0c1ebe25a60e6 -KO = 82b980bbaee42289bcfb09e8e0978a343081c95f59d96421926db45dd225bcae71f759575fb24a6308af9ddff332008de3c7416aa3d160b61186fe57664b94fa - -COUNT=4 -L = 512 -KI = baa21a419f1bfa61fa0c9d9896f840f9f9b376332dfed600 -IVlen = 128 -IV = 8be3f71d12c9a5f7a07114ee439f1eb0 -FixedInputDataByteLen = 51 -FixedInputData = f032553ea21684fac1ec1843ad49c835a0c4e3fb9cf5747b60363f5ae498dd9f2b4459642908f605aec6e403636b7080563fff -KO = 14c3593671982ccbc5d325a6d021b6935546ac450b5b1322d8ec0a229c9b3f0f2d0c0f28023cb7e7268137efa10115ec9677f1ed0013af097787b2628be07115 - -COUNT=5 -L = 512 -KI = 19ff1905bc35a1473170725ab5e02ff29c62bb43a4f7c03c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5cbd96df1bc1f4ed1ad6e4517be5d8d0e8363bb99f79ba6088b0a6342e5d63b5d3791e241ceb2a2d2ed7937fe076c80292d21a -KO = d0dcdb40d0321f48793824813a9fc96f692683cca5fea40628e3921081027f53a8f3e006a0e8eba9810aeb58029afa4da41ca57db8197e6f40eba9be71db4775 - -COUNT=6 -L = 512 -KI = 6e1ebf60f8d04214438a700f4b447698471e9e662ceafb61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af1f30c829b924a34dc3c9b614febd905f54ba4448d59c9dccdf010e6911ac02ae35a569add6e6ae345502111316042f260be1 -KO = 34acb59ee0811c83e7922836f596d9f4559fc3de08e8351e4b2ba3a809d575ffe7e9fa55dc5f2eb825d14d3635b7c4003f368394a33d8ca301da13c8a43f7a4f - -COUNT=7 -L = 512 -KI = 334994c09216bfcd4e8ff41f2c3093161a5723084860dbde -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9ce90276cac11321b5c1203f98d6f3ed7417823474bbaa9b1e49f51d84930f1e5798f2a378630a0225b278611fa87920585b4d -KO = 89fdecc872de07f007e499b5cfc1d1071e3f3be0ba720e5f1ac2eeaac845f57cdd28e6ca3b5d97b0e27d75035d5e31867003d932d8a16079758f1071bff279e5 - -COUNT=8 -L = 512 -KI = 3c5de842deb77724846db5563cf056c805f406a937be4dcb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77e08a238b7c1ce6ac649049947406aa32974c2e6abcd05d003854e0093b063ad4883be516981dc239548d9efb0fec5a79c030 -KO = 7fcfc990968009984656ea431f14427808708dc987986090e96aea9b860f07881cc1d6a40b05520673a864c94b5523fc8b086fd86772b371996b15789aaccf44 - -COUNT=9 -L = 512 -KI = 5f4eafc8db4689fefc590cf787915fc82cc897ec6adfe974 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf7ee5270fcb920cded4cb4fd8888364413d3a3d7c33b00b7c07c9f4b012e15e69032a2bf4d163d9825ae8d453e9105c8d4b24 -KO = dbe9a899a79a4a2c559487d0c3ca26a34d93298ceb7f5d29054f29fdb4c8fb48f19babdcee94e0014da828e2118bd8897903900d6fc50c5c575c72f1755d1e69 - -COUNT=10 -L = 2048 -KI = 4863f5a27cec1c58b4c2d83c4f0699eb0c8b4628348dc758 -IVlen = 128 -IV = c37146b870cc5bd52e69e424b9d23b7b -FixedInputDataByteLen = 51 -FixedInputData = f2e73124bb74fabf90dbfaf9c27264b2e5e0641f27a9125827b2065dab31fc91c12e1d852ddc9a1d3e0743178cb33c3416fba7 -KO = 8a0a033c7d2aeb6f89bdd5459c52b449762bf04681c2e43bea30bb1c911ac4b58f38de318526428cad7869fa944bb70aa84531d62441bb29067f74cc9588f57520defdb5c08ce8ede3844b3163849ccb81e387971bc401c6c86ce58504d3fa5a8358fbdd8f6f0dd54d954c3ec0e0a657c05be35d9303da1a8c60181fbcc88d7d0cd090106202fb9de925e2450b99ea81f98f52c444e2e29748eca3fbaf73515c341638ff83dfa6a30993aa2447be9bff8c7f968d9c6848c7fe8ab8f07f1effe86023be69da28afc3d98c58730703a377eeb4f7a85a219c8ee1004d88c3fb9a46cdbe88bda580f43b0e448e5fd01f4ab31b58d72745c0ebd17107da2cfde82a95 - -COUNT=11 -L = 2048 -KI = 52100732cdc42b9b59b79df131fe9fcd17ba9b3f316ac7a0 -IVlen = 128 -IV = 8c3f00742828eb7071bd2c1f031fed4e -FixedInputDataByteLen = 51 -FixedInputData = 1d3847a03956b40e3e57b40a611b1c01baa3c4b400684f5c284cc64a8b73851539d792d62bad04b78cc5ab77ddc289d78a6f9a -KO = da49080041e80c31cb22b69e98b18d6b059a32bce1e89b46eba738d16bf0964c88a7df6ffc955c5fe1c8de53b35ceb10882c3bcc77a0124ae31b0de13cb96f06366b657a5f2f7331a5ceb16cc769958c3c874adc554af9c57c9e23ab9c22f32ac3a0372c9422d03121907f146bfa25f0ed10c77227be415f57c5e021aac02ac0372b464313d02e527f41520e6a4d6fdeb49ac97089f447b9cfac9903882b3abaa808c17280b1b59cf46244d4a23e1bbc7fcbaceaff91fe20482c58007ec9af1ef1a35599c497b329cb64fd92e4360c4cf44decd0795367b64e69a13aca68ef6f6b182238f652b9855e210f70baf14314e96e16c6195c901ddf36446326996e53 - -COUNT=12 -L = 2048 -KI = 79214e48285456efe6c8b388feb183472c48fa7773f0d205 -IVlen = 128 -IV = 417da7f451143dae63fd2e77efa7cc20 -FixedInputDataByteLen = 51 -FixedInputData = c5e67b6104776c2407bfcfde6fdc396538e4785b89695c93de4da01152a20257d94a3d84ae3e2fdc8ab0a6c361f8ee99a7e768 -KO = 7d0bb363f895890f60f93d4ccff8e9d996d96f8c2ad69ed1e08433a4b1c5fdc6b92f8689bf15737180bbeb4c9d7edaf57a90289c2fc63b874c5affa7bd57d8df3c4321fc14cdad2b492b3536197afce5908df0c2403ba858f3a4351f2d4458e968ceef53e218f953473acbd7c8b4b1836e5d916913ac88c119b478c3827427522248490ea62e3ba3323e4f299ab5f42f17830b5e4ba1a407601916146f859af9ebeddf9cb86f893fc1cee60ba7dd84a0eb6cc68ecc5b3ddee5e8c59b6a636612d96c75299eb2db77b074bc18697b5242ca85d6a80376f2d30a54912196e08c06665010d16ec7a84e7fbfae22f39a02db5205cad6e11883444855983db78a2182 - -COUNT=13 -L = 2048 -KI = 8cc24e53774a6d31b8727a3ea171ef39f57d69e4a2000113 -IVlen = 128 -IV = 7c1e91e08b157521a3e0207fc5f88d3f -FixedInputDataByteLen = 51 -FixedInputData = 6274fa6a1a06f3afd3dad150a58e51319bd809abd4dc34340ca1eb177165459f2e79932854bd443b33e82116b534f6ebaa4350 -KO = 4de8fa1bfdea794ffa318bfb38b29fbb2264452e6b2bd7b3dca2deb950cded6a5864863fa91e5810c54aad833719f1b978025552e0cd6d50c9be6e6fe54399cf630d7fe04b6a1ca4da40a9cb42fa27cfdc0f0ad4749171d7fe18cf25251cc610193d55e22495eea66d210d3a815cdd3151066867aae85c891149fa63833cb61a5b0af30e6327668f56e2d686b03b1c5940442a8bc1c6736aaaf8d1ee56b0c67298d76caf27143b31dcb9a940ec5ed34767ad987b58b96455d162fe3b8b89480c177b8ce7aea7cde3bc5d12922e166fbee3c7c223a0b2d16a616a08985dcdbbf8e6724a21ec4c44693ac630d48b172f34d5b319e5f83bc8f05b69ef96ee055a57 - -COUNT=14 -L = 2048 -KI = c77a1616261032293e4d1ac30cef8e5a4537c96e1ab5c04d -IVlen = 128 -IV = 6fbeddee564785701fec4b3bdaa7f8e9 -FixedInputDataByteLen = 51 -FixedInputData = 985d1c59cc07b1b9aff5a2fb979676b5753ee23c3b0bde2528fff03859998009311ea035e47bebfbcfafb99ef9c1aa26477123 -KO = ca5c8290ef6cde796dd31edf1453fe7280fea2569193b7f7d87c7a885f98fe6e5de5e603581117283bfce042cb9ee599475f28bd8d723bf6b09e9c1b89cc4f858e55b5bcce3966a5158d5f2ef7e703e4213fa38725453b1543bf79555501a374463cafecf893c0870fe7f105a177e6a5d5e7bc63136d1799315e84bd896aabac41dd440254496d2d5c2cf1691efead5bfa6cd0266732b284f20facf1ab9d6801f90b433b58578f69be162bf7c05c7a2c214d8d5c51521a2558e8d80f6bf8f59293157a7ba6adba52075550a2d820f0282bb63b8aaec5500274be8bb0929aa9ea1afc81090863e5182657a9fcd133e6e724a5fba1f8c6d0baac1bcd9dfa5a49d2 - -COUNT=15 -L = 2048 -KI = 97b01ad992dff8ce6a1837f4ec3d1e84e6ff63ad623cce0e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9eed65c93c51476adf6f79ff4bcd66184ea78d42009f23684d2dfe7a615d452109d90a02f85b3756f05f129fb756fcb14bb1bb -KO = 09679f653a643c6310a7142259ee78b82f48b3b77a226634fa8298faded257ae8cf4fd4054f6594833fd4104563c51fa0bbe44ce5b1b6d89bd19303fb3127a50d5b765340ce9e0b5e3d66cb11023b538f95a35ed66629ba31439508c3ca2280b25b477fd98e4fd6d7ae3a8a5729121551c747a50589c5dc71f8c87f83d54623f7320640e7949cb71b57d2fbe536cc85dac23aad89bded069fbabc04caa22309aef5dffe4735472078ddd2bc3fffb4f4cae11376530e4776a2b481137431b58c21604b7344a85cba8220ae97ed548ca6b2c8d2eb51888d95d709ac0dd16a155c00e2a50f73f73463d77cdab3ad2f69a1d80e71f9db54d17902941edfffe5ff96e - -COUNT=16 -L = 2048 -KI = d7e2def216735955ce70af41da2d03f867a81a0f8f044e61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5751b0c6362b201e4709b3647d905f482c853a7e44962d92deda2e4e6cd01d5d62c13de8c1fa234388c5beba82605344da0f53 -KO = dc92853277d5c9cf7906aa86aa399edc94802a53b959b8deb6fdbf527c15234123eecd4ff46219c0cb65e2d660bb091d5eccfdfeca9917549acbab93c4fb477a167666d8fc1b35feaf0ac8a0553411293d899760f27e3e73af07182fd3578d8a6859ac69d103a6692d3e9f587583ca2cbbd701dad8af14a901ae077d1633ff55abc8b5bb1aaac77aae724770756b20acb0d23aef250adad6d25226ab11fdc82fc2246c82329b340ba8f7023baa6646f6907a98ffbc53f2c0a9cc38f4eff52d48a7ece712aee184a9334f8774c788359fa8ef19291613ad26e6d50772a7facf2d09ffb36829d93120ce8aa923586615d7ac67adea69f5cb81071b60031bdff906 - -COUNT=17 -L = 2048 -KI = 0dbd2e8d12e068129c51b0030bab8993908949f6497dfbf8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7aaa03684a122620b62e3ec7d2201a677079895cb958819349b0bb99982bdcac5d0081ed965658d09c6faa89f1072f14377c20 -KO = 237ec4ad5b1f281096e32dcca98fa42ead3dabe37c0e5dab62d489709d21cc14cefe0d6deab68b9f03611f924da481731eeb24770c23946831fa396d6988c9012162a651bdd3766f2500191a81200226886dd60d35ff00b4cce815c6b3e7e4e37e644e5bc828c227f150a94bf2f537e58d1f9ea7f31790c986cb6b3b37a3c21b60bbc8df9c2aed5f2fbd650bd3301a0af0d8528f555dc9202e1966c1d091498ddac1c3810c26b131c30d1dc14c01f0dff87d6c269b9a34a670312c4cab9cd20468d5228a35452b76858e51daf27f6d6eb57c7e20f9f10f683fdb14d3f45b1ccc2b8b7faa160b36eed7c9d196b9804e5cb6af76f211f71e1a6c677565b9b6223a - -COUNT=18 -L = 2048 -KI = d5a2de9c5961ae6fde70bd291551f729e829bd1b01eeb6a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e434754149e3e4db280af178e304264e5e9c0283aecd55128f1924b04cfab5e6f3d4f67869a81d836b0b044c2823784404c9a5 -KO = 8f026df71046934a84c51a9c50a0cfdfa0b7a39ae643e6b4e25e320960ad10da1f417e536cde27c2124c139b621acfeeb46003e8afb58b107fdcd9eccce13959879f833559e07eb2cf475a8325a11d74009ec83f1fb59b7bf2650856ac31327fd213e4f55858b0c7d4ac77af5c09b7077ddb6c3699e112401312986d25d256ace7ca69af2581e90ba2e8363b9e2b796b9345d68044a9e8aaac17646eba6d7c3927d5a6a05a4816b4223d924904b947fe6f21fba381d3f984b6762ec1fa64c407cc4fb125aac7d0bf0d7b2a9ee1c65cd3e27c4abe1fd0b8d992febcf17b41c1817b6af4978a287ea0336fa4f2faf2c5307eae6c37ce02d8b6525b63208a39e5ce - -COUNT=19 -L = 2048 -KI = f451fd17e63c0bf293d2fb8f055d81004c75dcd8c677f2de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a43dba1912b010227f2c84650fcd07bd0ca0d6f10b515bca91776535951302fd890a31d4f515ce54faf389717965f53c7b098b -KO = 3663c07952b12f909253d12f79066137d59a06205d560d06e401844570f2b05a0b447363cca9b9182dc9b34cbc3d74dc391d74eae81cbda226727384c7e7d22870467c32fd66789830ac59cefe5d61389c4b97ea2484a2b7fb611dce68908746246c28b0a3229759a963f41a8e1555806803e9ff210b6736b127ce263098e60cfba4bee10bcbe3675dba9ee1f1b50477b3b3b3003bbfc78f51bd95fc482f2e173028ff6c32595b6fa88df79fcba7f3a30435fbdafaaa01a3f61749375cd22fe38230de30864230f97967e43fa04808f79d49138a03ef6c8f44aa6f5a6278b2d002cb30172119f0ffc5fb3e5871dc0b1571b0ab3b71166ccd6b607c5568096b46 - -COUNT=20 -L = 560 -KI = 53ba0a55dfa26f864e193763b325bf30dcf3befc8ed00413 -IVlen = 128 -IV = 6bb1d9bc94db8cb207eefa5e7e3b3cbc -FixedInputDataByteLen = 51 -FixedInputData = c811399759dbab6c46fba5c9c4249eaae99929179adf219c1f25343c4d6c37f427a23877bf53b29350a9e9eec3d019315db078 -KO = e838c8036e92fcd738c988fe9bf8098e0c34dee7ab4538430b0499f5369cd68b34dec0f8500fb2e869a5358785f0085c443b8a2e5ddab549e17c47a537ce4c2da78e2ded4087 - -COUNT=21 -L = 560 -KI = 19e787441208b00f9f10d58669333c3df752cb4651c8eacd -IVlen = 128 -IV = 114864cd10685926757c3320dcebb5a4 -FixedInputDataByteLen = 51 -FixedInputData = 1467f13f118d4cc40fab4dd1a415d921b74a68de42bf99821fdda3b1d119b66833692994fdadc47e82c8112e75cc22a2160aee -KO = 81ac1080ea15263e220ce6598e50ef8bc99781a6aab6832994845ecfc5dd5f30eef5e98930faaf3ca6bec16df2e7f32eb3fd9086ca0b36822b99b514c780d79b72c085db11fe - -COUNT=22 -L = 560 -KI = f3c13813c141a10d5e16cd708fa6d655b16d51831f418669 -IVlen = 128 -IV = 1f94b4fef458c0bb653187aef1c1a0fa -FixedInputDataByteLen = 51 -FixedInputData = 57171e51f7c658acd052b31a3c506efee0c5f6a588bf36eb315af474b47e126ee5a2e0e794e95ef5c86f7a7bace3037c46c63e -KO = 1db8b563bf8f12341992dd12e26a08ac3bfcc2bc882a0255c5e0a95bf8ef30898dd41b64559113ed60688ee40134479ebfcc14db9eb71a777578c58daff47fe886f176f92fd6 - -COUNT=23 -L = 560 -KI = be4c0c7e36c4961794b0ff324419f915378dfb8019ebb0c4 -IVlen = 128 -IV = 7598dc325fccc1040b1c7915cf649120 -FixedInputDataByteLen = 51 -FixedInputData = 85917236ac57b0731c9e559801103206bb9529ffaf866daedb160ca059425799052df04053f13e77a7df8318da69d6d2194ce5 -KO = db5ba2a0c4d0212d14362f0f8012e34a017a2b39a0e233dad5e9c00566e9f4daf5a7b76b15d6750c327510cc6f7135282c51f8311f74ed1305900221899895207cce09c949a7 - -COUNT=24 -L = 560 -KI = 30cea095d75d9a43d39bd4d2794a64d187add8109c07bf1a -IVlen = 128 -IV = b21419497adc562504e340c8633f1943 -FixedInputDataByteLen = 51 -FixedInputData = fbd3d71c6aea2b017f751a31008e5eaeba3e1013b6fd40656db1e0537c189cfadc1930bb09294d7ef8022f1a21f0a41fff23f1 -KO = fcffff837b7c910abd3a5a77dd7d099422d3c4f7e86f750724119508b56a01304e0d35ef4ed31e927f86386648db7b7a686740691848be4414c6b2865be49c345c0b01d310a8 - -COUNT=25 -L = 560 -KI = ecd5d68304a5151750689a235b6e267c2ad7f77022d5b978 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df7ba77f8c622435c33b5d1f0fba9ab35bb999432c34e5fb86efd4ad688747fd05f80844c82adc1c64614f26f3e2a2174855d8 -KO = 688d6406d6798f75ea2f027741a8692dec9fa642be29c81a285ecfcc69610daf1fcfd11a242e9488c3784279ff2674400217618390f585605c16d299ed8b631622a8d45ae732 - -COUNT=26 -L = 560 -KI = 3f5f8fc5f4d5b0db9aa4eae5f170f16af00cad7bee64f034 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a428bd88ebc8ca884b59081d8ddfac74e48603fceb0c756e7fe45be856b08489e133f70446e1554dbb1532b9c690e7370ad2bb -KO = d2877991144660a51e3cc33883c3fbb07b421e0bb15c2808c75bc95b04a4a5c4fbfea7c943bf2d66a123ade81f81a63f37a63b13cb3436bfcfc2e3b98fa10ac3a99eaee0c31a - -COUNT=27 -L = 560 -KI = 7c900c11e4b69a24331e9ae16d31e4a124de1558dfa15954 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1942685846608eeff2f2f93804362c4701fa132e453139eb111d0faf497cb6d9e1546fd2d234d96af5e8cf34280e8014c3b1a8 -KO = 7fddd8026d681cfcf2b2c0ad987d8066a9c96c00194cf3f4823f0039e6124a668f1f3e9aa07fae23544c3104d98af6592f2f02913f71fc4a8db3d9517e820c830b1525712062 - -COUNT=28 -L = 560 -KI = fda88102d63c051e578a2a894ba671d51c87f5381d087d03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 966d0a18d417037967353044afc7cf6b47a4d751d3bc1a6bb2df0f74dfc3fabd453dca1c2d6ed6f35d84280b81f7eaa32f6aa3 -KO = d8d066280fb3dd52018a33633bd5dc323c2c4a0e8d74f011f014b0d91e8f594e8ea0f2a45607ca2ee3f13c6dd0f2e0d0cffb9f21d5b13d82abd0466309e006061122567075e9 - -COUNT=29 -L = 560 -KI = 6992c5151644b7ca6a36b5b90a45f02ed041421d81ccccfa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3e8d350d85f3b9cc41af3e828d24f418a023b45ac6161b4c18828063ac8f4ed9123a8f58864b6c73590fe5572369bda8f780f2 -KO = 966d428e5cc108107bbe789ed7af814defeb474ae20213942223deb897d69346eb54846ef80389f10ba70559945b6675d4f61e993f5119192112c00e81592e15182b0a385bcf - -COUNT=30 -L = 2400 -KI = c69e0b0bb20f191141e4cea019bb94da37d62181033967d2 -IVlen = 128 -IV = ee8412e9b7b8fb7d63936072090ddf12 -FixedInputDataByteLen = 51 -FixedInputData = 4324fbc68a76e8f3ceefa5776335b72feaa418415ff63f530a982bfc51deeee13a3c48bc498ce987aba458c2398238439fbcb5 -KO = 4001b038e9653ea74487dd9768aad706e869d5a70f5287087c9ad562541af5c81199704784e8d511a61b33851fa655267013980b710c239b0dc5b90a74ff656be269fa4a28c71aa26b6ebbd63a36587ade19d8b6ef2a4147d9e1417337de6c0969799c4715ee0d581c4c72616235b3fe808c715c9c46cbd81d63e38f849d263b7941d6bff9c5ff5cda2638fd09b5c55b42a3d22f0ed9e61c5e184b3651124a66c96570381c51e3335cbdd6c397b4b01b0abe72b681060cfbb00e202f86a061048f3b5729d2c7413a477c6d708a68ce71f21e3bff5a1e84a9771e593874b08aa7b284dd183f978b212b7969a796a25a27bae998f93e18cc1ab65541a811aa27d593274a369cf849440322285dd78b8d4ca7459f0cdd103d2a787407fb0b5ca5e0844dc64220e9ed8cfe54471d - -COUNT=31 -L = 2400 -KI = 436896402c4675eab91fcda4ce3fe05b3baabe94246c4bd0 -IVlen = 128 -IV = 93a3de2fe27ed0e6c9123f3099bd5c14 -FixedInputDataByteLen = 51 -FixedInputData = 11079f87425d2820229950e68a50db1c54ae49176db1314382fc00f26ed64d55cb9af94dc5f8ef0b261d9d6ee21a1de31e719f -KO = c8c388ba3f97842b01c75b178d23def00020309f0db11c824104495b6a052a709f1eb6855ad8698055c86f65856a361eed460d797ebb85ebae0ba8f1fb26e2fae338685cadcdadb18141b86f63376e3acac7e3b479b74529d2190b719ef72d8eeab44333dd301eb7bc84f9d683b184f03444d31ea8a35fba88b7d1c3ccbba88f07df0e5a4c1d81c852e79c8c328e480f929835fdbb07573be291c738d9a42b297d9350006df57e33cdfa0c6062d4a1a715a72aa7dd494f8ce0842488b580dd9b71fbd364b9c645bc5b0763541e27c82711d41609078e650b7b826e682506a8478c1b3eeedec5840b65c02275f9c2fed7c193140a4e6761734c68473588c42d84728936969e4aacec00177ecfd84d41a700b05941699b5f1b028fbf451d57ec8af8b6547635a5da4630fc3585 - -COUNT=32 -L = 2400 -KI = d2d1e5f83c14827fc8add4ea777c02e987934de1de4ad620 -IVlen = 128 -IV = 174f56e87e0578360a50b01bafc24c5d -FixedInputDataByteLen = 51 -FixedInputData = 6e59b3d9b2e1119aac7f743e2c0d854806b097a31ad0e8b40e9f1d70ca4bdb4568e302d930555375aa0786a270b37b7033da1b -KO = d02e451da536a565fe3036d6008ad28f0dd2f4c750d1d0e56e7e210c1ffa346633891bfd65539beea97cc5c56a18cc28d685d3aa6ff8d82cbcc10dd6c74d4afc701249d6c470372f9e71f6c6d1ca64a3d60a2f318159dcfcb412a1493fef57f383aa04646300ae15803c554566e6d08cc1ddac700b81d58100132e3b56960c4418f297273905eb027e86916530366f196837178517f77741307e29e04282b5d60c94be9c206af4ebbd652096bc3d205a7be9d8379251534b48225a8e357cfabd35e53cf264011782abc9443c325aab17cef5d6ded98b58585afad37a0419e19da64e11231710c9094baf3d71b6938276534088ab30ba87a8562b8100f16103a799d8eeaa39338265c920fb2113f5214ba650e75786f5066dd43d68e8adb6954969d7e344e6fc7a5a2d7d6f50 - -COUNT=33 -L = 2400 -KI = 1929d6ad0684667205b74d16903887753161adfebf05beaf -IVlen = 128 -IV = 42f1057c5a928335617be87a7e73ae9d -FixedInputDataByteLen = 51 -FixedInputData = 6e753e4c021e6ae40c804780413bb3f0d3591045e0bd5b94efffe3f5495e013f88c8104fccfc736ce74c598b823b5047d62b6c -KO = b5ac2c4f8e2a41a9980ee2ac16292383ca443ad83b915a44b745ca736077fbdd256ed8501858729cee5aa31aff86a9d0a4f8a05d184054165d537e426c5eba1dae70d9d418061e2b0c07d746272a68d92d0af2018ee5e438e0d6aff9d0e2e1d6f1c45058032368cc24c1ebe552e1186366b07eab9ae57da4089fd25fe3bd0570f47f9235a082e24a57a63150fc7fbcc70bf6a3f341d5bc39ea91418ecc83e29a8a754796c0a6e34d6890bef8cef5d601d327b038271663c01a9b01c8ed117175ab012b4d8fd5d51baa888d0a150744a48a98bf89cf719b3c831018097beb486d4d468b735a506266ccc05748390f21adda972becb11c5d825af70ceda3054bd991224843e4763c747c8e493e7af5e93a693f01c7d701ebcf5c883f5694a6862f2e82a9c4976d975bd636fde2 - -COUNT=34 -L = 2400 -KI = 278a33658025f9a3ce94b4be4a3fc28037258054fdcf6e70 -IVlen = 128 -IV = bcd6889009cb3d1e44c3e4ea863043da -FixedInputDataByteLen = 51 -FixedInputData = d3bc3a759d5274fd0d18960aadb0c0537db555faec3cf027939271041e3291312f9d9390650888d3ece91611f9d8bd3d1f1afd -KO = 588a3f417e82ab40b028cf7a0237f0b97e35f9504d494e1db123e8d7c146612e7cfc0bca5668994dbf1103b9e3e944f27eb8ace89068aef63d759e73c3dc427c6b87c13f27cc73a657a64106337151a44f16f5361ad52c1c75487929b3995b0eee6699117003f4d02405fa0933750da0b24fe8977801d8df5a3d132140511b0f2b42bb073ae1a4a43207353c5c9c6efa60749c531a5cfdd4dd08c66a42ee9973d9404c92899cbaabc44a76ea3f20aaf73246344b12f896a329785325b69a6058136445dbd734f55b8b0766cbbf980aff61ebba2db265d46716e8cc21f8339f7cd9b9977a16119d79a7001925d64cb3be08d6dcb3b89daf939344d46c5789e2ab723002082bb1265aa5e5e3e52cfd35fa4c3e1cfb4f604a566ce63e85f616a90db39295b1cc9bf790812fe8de - -COUNT=35 -L = 2400 -KI = 8057934e66907f97b2e71d54245b547a57349fe2eda2d5fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8e0ff5d8ad9809aaafe378bc54ee5776ea7c9e904f29a4de4832db82c3f2b868075ade7bb207b6e101b9992bfe6350b8a1265 -KO = 78cca706b2e7726e934e04edfc4bc083a2414d11fdf582515e4fe29ec27e00f53e64a5051ed2449551558911360a9638dd54d5d3da930be1c275d96909ffc66e3c00b30b83616df3a2aa14a56e7e5f20bed4e887ef83acf7f7072b39ed90d4e00b3e72030da899b7fb8d11d8c8cece996afd570ff3dffa1035fc55c891184d5b94c6c3da0a22b7a55c84625e199061e0380ed8339485a49f6147dbce92f8c04d83669af7f3ea30d2057f95e07b9e124ecebbac4622be26eb849cb3872fec303a6a4f87347a023c1ae0577548a5480bd205a4dd928e16c30c0724ce7ad7181f6dd77193adfd4ce04503eec459175ab15fc763d357da1c5ad620b4273be8a9c10d95bbf4295c697846100e8406c01af35582c9b7088224d9c791205ca62a543b242ef13b6304c933d8a4365bb3 - -COUNT=36 -L = 2400 -KI = 241a1c4bddfc03847c77a6760f6416cccfa9ce1231583cd7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9441cf6b257d18c9ff55f47ee2c82ff27011887f18130dab453a4aae9686c0bda524aef0936aea6aa5adb55e766db7a4fd5a73 -KO = bbd5525cea150433f25df8bb7eb1b36f0bdcd823025a1341fb385fb67344bc5dd67ab1fed99f802870d4f0e0283baa3fdc8c1085afff5e258864188d4b86ad793a18f5ace357d9351b931b0c854cad22091042d82171beea71fb30cf98b2bfd3076cfb4c749ce353ddb2f477d871c8e29dd44db9aa149ccab5a48a63868a196c29af311fbe29cb799381fe0eb795681b8955cc30e739fb78ccfee9ed9d98dbd69e26e750d5e7e69d6b9911177dc2f7695a2be83cebd65650e4a883a9d3c472397ad86185762d7482adb2366cc8da2b4eb96eb170b748add9a63daffeb5504af762d527ada0d0e47f4dea5e6d59d0b037fdfd268fce95f85f0d075dc782468299b1cb0719dfc6e4fc5785c47d324c190fd14d7f2811c3c9f0b17ccd348f58d13c9364b9785745a0daa9f9bf1d - -COUNT=37 -L = 2400 -KI = 8bd9e298d806f12595249f4fd825bd3a80a147d31f8cea55 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fffaf557efb2136afa3b7455b8e6fecc6214f04d65d8da36f3a463b00873a20aecf2c3c6f80755fb64f5be5528f654c20562f3 -KO = a946ed046983cdf8b79ab6aa281deeb660568419290829689c5fffee82fcfa8649e0395296676eb5dbcd3e5e49e64de8a6ee8267bce2592da225e4f61245d240ae3a5ef169d6cb5fa52d7d389395fd22bd499c819439b986239e13559e453978e42d1b5430a697012b9e733e2537b0de0ce8eabab18d8ab4bb91c002b385d0c4e0dcac19b691092b4fb5b62d879965bcff71f3ce1e383c9d31e6f33f8221e890966216bf21abb9ef4a66027fe8f7bab74f02bb61ac451fedef3d3425bf697f922ae7562c56677f18b063c97f80cc9f3d6edf2d5ac508e9cbe4a20c8d4fd56be11fa2af5ba599adb3ce26dae8952bb495a7df1df5d1de8d723cad0b4ca75208053c0d6064921b4126f3457b9e70adb4c3914d96d547c6e0244ccc292e499449ba2b355228abe44aff79afd5b8 - -COUNT=38 -L = 2400 -KI = bc23a745e29e2e77515020655c005219dffde78de43a811b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56fbb325db28e9afab5ca2663caf5d75c02d15f1828d4d0b6877073e331f813c90c0cdc11d49307d439ad0358470b49fc97328 -KO = 7e1b07dfecec6684414b4af67278c2c48b5bb515c0f82b3d1e00d2f798642bd47c4fdbf9bfadb92aa44bb73938fae2bca4b75a1ccbf4f44514927c72b1fd0a34dbc20517d675115711df1788108df3b4261f83eb74bcd6e09335c02ae51123db643250ecf7f3de3b1a2ba88eb3685836c68a4f8ea2fc74eeb1c6737d11b0efe4880763a0ad2861d00463428e103c9436cfa35ee1ddb900e90b622cf605336261579c98521647c4e7e80fc4cd6d559d54214a4f595904870f54e10d4cc803c156149d7ea8a5cff243197b4da6c6fbceb0b6988d9983b054fcf3dcf8744ba8bdc8e5d604db3873d513b39dd264ad8cdcd4321731fadd17039dc5c3c6b02c7b579a24f77f54ec0a67d1011b65ac97fac940d4869753356058cc8957105da9fcfca0052dab96e897b464b6e952b4 - -COUNT=39 -L = 2400 -KI = 10d2e56ca3bcf66b6870a864d00ec38b164b89ddd9c67ef7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28e7f0c435c315793e2e34ad4806b00eba0c50b42b2aea081d55faf1b203ad8b377f676876f45b7bc5de7fb87f859302997a47 -KO = eb2db85ab7a2f135130f13a9b9ce5d1a0e2e0cb0fec122bb73ecb74721210915bda8f39a6a7d7d5b493f5e81748968bb3e9bce62e81f3c069958400a25b68eda0c02b65f0320c9fd24a3b488c0cf0bc37bfa62f6d0285d09cf76fbf5399e859a8357c0e08f6044b169e4cb9310fdd2ddbe3461a94419f57c494328d488966585dbb047411afef3e553be14d6dd44a4786ed08c5ca42e0f712c286e3c8b0d83a95f5b153edabfc1644cf062d3182ce854e48fd2f8c3297c872da4cfce3e978bf6dec5722bac16e040e170067a1c46a8329cff23d7986e4c8683430e64a3cdb71d3cb1c3b6241a465cc37050ac21819d66485a82a1054c2a2abc29436161f45e705ce72a1d871a4fd40cde66069ea32e4c52f7dadfd4049a3d70445185749c2ea560b98adaed7a26ea2e55dd44 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 1d9376dbb3dcff348f6f7e3f6a266f6ac181dd1aee098a74b202295a95d9a65e -IVlen = 128 -IV = ae6fff5e5a1975fa1e5522726c45d3ad -FixedInputDataByteLen = 51 -FixedInputData = bd5b5cd066ba62ee96e6b33769cdc7fb25cb28a99a802e47089166efbb45b9f005c8658952964cb4c1c91fd4447aacb74a1423 -KO = cffb9b79705fafa0ae65555454235ced6bcdfc72572ebdb3711327160c260ccd3a747b2470d6416d5465893a3187cf48f630452f99340e96be253c5939f598f6 - -COUNT=1 -L = 512 -KI = f7e0f13a7c26ed18f402a5100dcb95d52a96e20b38627227044bf3de12076423 -IVlen = 128 -IV = 722c03b8d04aa84b53966232abb1b984 -FixedInputDataByteLen = 51 -FixedInputData = 70c9fcabdf04eef76ed9f72f2e6c2d51c5d200180585be5400ef4d6af6d8c9137d4d055f962530c126a2156a81959da4ef2bf1 -KO = 4b8e6269088bc6be6a2d25f2d66b0ec345d4606459c4562f7bb409a182d043a809ee581919a3ac2c326e28d12b51495144a64f08fb4525962392fb85eafff231 - -COUNT=2 -L = 512 -KI = 3e44a9ef035f9e75b604ff88534b70ca07f091b3a42a9cd7c86221161b82d00c -IVlen = 128 -IV = aa6c0c7652039d895d333a43e4752e7f -FixedInputDataByteLen = 51 -FixedInputData = 979bd20ad4f3d9afba8fe567b82ce9b84aa9ff5c4b9b18dab3c13b32b36f04485c651aab154530b7e9ddeb578c1d7137af5411 -KO = 221fbacb99b13516615b44a39a5a0a3f43937edbe80049f2fdb767861dc754b0c83c77565f0932316b876bffd4a56097e1ddacd31020c184663173f75aaf09f4 - -COUNT=3 -L = 512 -KI = b2926b0a4b1fff8c1f4712fd013f34685a7d1c86ff585bad4fc4703d9bb1e4a8 -IVlen = 128 -IV = f06750055b16b59ddf8dda5045feb7bc -FixedInputDataByteLen = 51 -FixedInputData = 3ed807f8c2f2e75a2a0fa4c2aaaae1fb0a006026d8a6a2df2ced46c9b8fc2c55bce8a8caa05f16ca03e04bbddfab18ffd3d1f5 -KO = 6054c3b8ff3758d887d2b542a3f4e241b523d763041a10d0dbb608f0cd44c796544c92df2339f7f5cd459d00191e44f02d9ccf6ecca4c4eff4fff879f48aa125 - -COUNT=4 -L = 512 -KI = fb62d604969a304007f6747ce7d944da05e3be37b14bf564f9f042cd11b0ec22 -IVlen = 128 -IV = 7f58179445b25decdaee67707e919257 -FixedInputDataByteLen = 51 -FixedInputData = cc7ef7a89f70428a767d3367d9412ce9374dad28c77f835826be501cad26009801e6ba53f368685ad5e0dc09ef54aee5b7520b -KO = 6fa5d1b803a558c8c29fb2101aa4875cb75a0affcc6f64f1523b96f32643810f7371f7ba8b313031b17190b5745e598d34aaa8af039048d1b751b31d47d82428 - -COUNT=5 -L = 512 -KI = 2e6044d151378f6167e0baf03395f93c8be2b7cb4db9d1fcac776e25c445b4ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 96807880583fc7e8359a14e5e33af939f003bd3799c00306c45d7de1b0271c0f59cea6692824f7982f0ad2d02402d84c316e35 -KO = f2c7583b04e8e43673f41d29578941d88231bf148cb8a1412ad9d5da2948ad3a62d7a936adfb92b4b0ae13439c418102468b1638458d37ec944dae31facdf9f9 - -COUNT=6 -L = 512 -KI = a85e7884f9045505026aac12fb0f377195b40269ce8c2f466ed61c1b902745ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f9f7a5bf3bbe101d178682ea2a9bac896b7cae72625f4ba5ae36401a15bc21095d9d44e1a4bd6980e03e0f351d24c39fb67fa -KO = d1c172e7ef3c9ec9c009f7ae921a077375655e1b6e014612a8c7971c9c07c7b7dc95a2bf0190fd7d645adb834729ed9e3be283af2e3d7ac1ef746e4ab8dbdff1 - -COUNT=7 -L = 512 -KI = b522e26121376e72ce319d5240ad6feb98eb08fc943b28272fbbba8566e23513 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5581897713a97d15cb0ae656e7fafdae4c3a4ae785879c5698daaebdff80a0dd0b2218bc5c746265e30f01cc360c856d99b56 -KO = cad9156e82335b39bd2dd685a4df446bcd82d9ed3fa6072eab7950b60fa176db0d09b630d3dcf888b199039a8ac40b549626f3269faf25b84d62fbca017080e6 - -COUNT=8 -L = 512 -KI = 3dae6756c22ca640015b0d5ceb111204a091b58a069fd8455a1def84ee1a9a2a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f88967120d9a271238e7243907c29872721bec84c436ff7b643a31d391a5af3f136eed879f4b5019d0b3da5bc29ef6484ac36 -KO = edf6bc41aaf0f2f3d744a36156d7a4fe59d7c677c09a13a713c9d937e4889dc20802e29e72ad0f6ee6e88158e5ce9979d06b22f572c8c14914f24addeffa9ed9 - -COUNT=9 -L = 512 -KI = 9677c84d863ece78d22b0b7373281b155d294cc42c9b7dba9d60a7cd2ba70d8f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 449f76b6ced65117f29d910926a328a2ae80ff93935aeb3122c0090a1b26687d8ed4019f70fb371cd629819ab362b159172271 -KO = f6ae04911c16993c39808487ace8891c58a07b40944d263c6e1de48215cad3de2b13447496c40de329407b90c8a3a077aff5a9eb0693589de9f8bf1a4fdf3037 - -COUNT=10 -L = 2048 -KI = c58406abb9e8256fb23edf0739d2d37e7c4b97a739e674d5acd8bbf3d7e5fc37 -IVlen = 128 -IV = a3a56268add36a471049226fae64079d -FixedInputDataByteLen = 51 -FixedInputData = 55e481988250473c8856abc7861ca6d02f78d7eb4470039e026621e0a12d58d66e87ef8f5442d2cd1b37b15fe4bfacf4646fe7 -KO = 1679b6b495c0b8d857dc4b7a74571798a30f3d2ec4589b368357d1898b7dc62c48c69506e7a89dea4545a33c8983b4665d1d98173ca6bf269b000b500cc8e5027fbef9dec44e132dbb4421e087dbe0898fa1c8a0770ea394add173c112376eb7159b5772cd08e2306681cfbe4f14e5741af6c5cb27a0b864f2d477162cfdb4ca4417e0d4d39571844c5b38e640818edec0ee39722eca977f74991f7183f835afd684b5d65202c78ef1e9edaba3bd371c8fd33001df031113f075309235cf8933f5f21e1d5b0eb1608b00cc0cc66f069c92e0ec538a87e3f565ce40161663a71b8bfec1f364a664d6b1cc251082d8951c0e9c290971c43beec3a7a8fccdabcb38 - -COUNT=11 -L = 2048 -KI = e4b134429ec46da68837b1873b520140de5d8cbbd7c145b2a257a530c589a49f -IVlen = 128 -IV = b4eb3ffeedc6b622d1b59b7c9745fe30 -FixedInputDataByteLen = 51 -FixedInputData = 3d403d266a4d97c0e4d7741e3015cb87af77df2e7ff1e9bd91d8582fc27de2d26f0ab0c3e40eff4746ef79789d552ec320fa5d -KO = a28b53c912d465fa202f09f6c42c5bf620e81e3f86afb79fd3e945b635ed6e198e21c470ceca8ec4373953c51a9e99fbabeace0df35784068e32bcdfd02702070c3e5d19c002b89183ea5fc531e887e0a2813b0a8576e592d667fff5fe2ae62314d2fd17b803b7e997157105e8e4d1ec25313dbf989002c1bdbedc73b288631bef99f48d5b6c6f5012ed81c25c5cc54a63c9d926e7f54645f1b48c26ef9f10e4341a33449bb73c078dd3afa9642498674da4087a5c884653ee9dec75fa1b47b785cb5f84dd9ddb317ef714018c183b937954c6a3c25e1d468f663d378aa914adcc0a39262141c73aecb5cfbe3112173bba64cfffae6d7e7dbacbdb365d87e857 - -COUNT=12 -L = 2048 -KI = 8eae70f4200b2227fe0580704c15aaf44cafe6f7b3978934776d83621c02f4f0 -IVlen = 128 -IV = 70b9f99d45525862496e4d42e1cbd814 -FixedInputDataByteLen = 51 -FixedInputData = de6f66274bbafbec98989ac6e0d146360fef67a094eaa97f5f682570b886a0377fddcb822e26224bf989d090dde2885c9ae992 -KO = 9d99b87ecba2f071aa421ae871b3f883137e570b6dbd9d4fe916de8d13ac7631e0721918e3023eb57ac61b601015f81cafae6d94deaf6a33a0e578bc4f0db12a6a817282befccd96113c5ec39135c5f395de0af827e1653cb6fdb09908ed9d39b6e4376dbd7032940226f67f67d9de8b2fbc94e5fb186388383f5d06a03b797e894480c9d6a32f3b44f83c9b50efa10ada54c30463effe7b28c3dd57397574309220aac5545e1bcb9e57c3d2f341d1a691594554ac563b6c0d1f23f4956ecfcbfe4e245649dc1e7a864d91e4b62e88b86286dfaa87778ddd1b8d5f617a052bfe6eda13cdbba2e7675415e4684e11bd7dcde727dee5f98fb0cb7c0d57434516fa - -COUNT=13 -L = 2048 -KI = 53701cb8e9f4e675496611e562c7cc634ca0528cfd57bebd33ea5c1a9258acf9 -IVlen = 128 -IV = a4702108cfccf5add1e8cb37a14fe9f4 -FixedInputDataByteLen = 51 -FixedInputData = ad3555f97dabfb989fe7852af17a9c7dd1b0e6db67161191c4a13af08ea4c9503610921fe36eb144bee7412d0c6127e044e61d -KO = 247a79dbfe331ddf99fac48e1dc407f65feef1fe356800fcad7aebf7a87bdf5a1df565250caf5047214c5700a8b1066aebfb3981b09b9440ab8179cf211ed076dc67504ee416fff83bdd384d6e21bea09c5489bfb87cc890c6b4a60d504d1cb590a68f2367f38661ae7bd9e0df3035d15305f074d3fb6dc698ae3a3a5e0ed79023ad64f2104ac320647cab1790eae3f24404b445d3a5d5663f92ecf0513cc769fc3b2df88721699f69ec67b2e9b0d62f58ba1f77ca678d26a6d552a8670a1575e41614b6461c1f9514f9e924176481872f9c798ecf4769a3bfb497473371c18cb90758c1fed20f73c3658a8669709f454b43bfa1e2690685dfe54b3d5b84e988 - -COUNT=14 -L = 2048 -KI = 07955cff56144b3a3676e16b10f1020cca9aa09e894ff62cf7533e4113cda872 -IVlen = 128 -IV = 56c8b5ac4903abdaee588353b746e5ca -FixedInputDataByteLen = 51 -FixedInputData = 2f62cb6ed52f3e68dc9b0098b10e17673c2b1c137d29d8877aa0750ccf3bfd958539457e134cd86bdbdc837a479161f4b2c74f -KO = daeec29e9524a40196192e2d60bd85b94d14635d12248521ecc899006ade3a074b7b610ff8e08615c4b1b33f21d1cfe02270f6d4e8f6c2ba6a37b8fba2bd56dfdef1113ded9da737980beed9c756127b7ea8611c68e30c1f26ab01b38945de292d892242b648e0498c4052ded6359fb2996927a43db71ba20c70340f2e67ba83746b5f8cb9cc4647884263263fc3e750626904940c8542e1f5086bec00aa3fb873480b7d39a3b48d2400d413eb4486e710c673209ed3bb00e25f73e95ba7f96dc2b43f37f92a13f76e9e8688af828f33b8671f246a3d0221e20452f5e360a3694f7e299b3d34d866c340939d24978f1938bc9ca27c15c420a6e209db3ed9cafc - -COUNT=15 -L = 2048 -KI = afc789a321d2ea070db23a8b94955ef2024b64ad9927c80127c284bf6b473874 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c4a13625dfdcb9ae5d21c9bf8461ea2605ba52dbc4011d397dd7df15e26f476dc4c907b5680c8201f29196d7cefc225d8126c6 -KO = 91e8d4fb620eead8d5a74318ac3507a5a1eaa91a56116471e003f24ea4ff3b6d616482ccc3f20d044456056aba625183ddbeba2dbddf69f83061a8c5f8425f4788db72bf76243299b25f220005439e413d2d476f2a519178cdd579e9e879b0c32d29f4fd38563926e75bd21627160b200daf446559526febaaf87c4f27c5b38748cb79bcbe479d963a1f7cf7c24c1f5320518368af65861e17c16ab3a43f815942c8a8fb3a45c7afb077e4002c690f9ac618c4dd423506844fd5cc9e97c125ed9f913b0e8b706b7ef80ff44c0686fc8a81ea4829feca6497bc24178f342d37e11272ca20e65c2b9745546bd125c95dbbd6ba1302482039651da3da90f44f3eb1 - -COUNT=16 -L = 2048 -KI = 8966a41e53d7571125ac36ef04234688a5bdc4866187835d8ca4463d24a6c8e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f11244e5d80f80db7cba3e1dd2889078dac1573b4e9e9431900181e60b8be3e4e0aed00dfd9eec7c4dca2e517f289056fbd7f6 -KO = 67da69992f6b7eca1de0da38a94e3eb5198f7e6fb08cb20e60aaad151d02c6e7c4cf8223cab8585ed4f600c492bf0407833e3ac8b461ec3227560e84cc0a1d0b1a55a7ecc48a2c980e8349a6a0fb638bd38a9c14ccf82b16ee28f49fcbfca6de073ad04e59ebc1d92bf21bbc7147205e3ebeaa781fad7e4a6faf1ae2da278ac57bc309fc516cc40c0179375b9ff9b8f2f061d503c9cf55ed60a4a8e55834790307ad51e9ff1ef64385f517d7039707d31c0dcd1dc8c3871aa00abc402794eb51e276f92d128d394e9b576c838c13a5934d814d81ebde24b3c1631243bdf48eebdb8af54ca16d5a61f93bb778b2330a846a4a2672554d3b821388335a304f487a - -COUNT=17 -L = 2048 -KI = 2c7f7b67ac6ba2dfb35986136164289533dc9c151281b33eaf7cded31d34ad6e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78dbaf8c63539e2b91b881e2ec3c361d1f2d4448502806f57705dbd0c346755eceb5b3bb7da43ab66fad123a675971957bdace -KO = 011142e298122244c34ebfd02b3cfa385ce889c0d08387228a51f2a84f47e273260617d3d5c7cb3c1e28186dda5558b6d6ab47953b2d412c13e58856018d9cf5a05953bcc86be49e7f7b7d61fa0e86dcc4de0f2bdf00ff2b14f31fb647cf69a2dcd1b31dfe0c9d2d4ec8160f7e40983e3b0547f3d623d807580cbec03a75a9d3b5fbc4a0bb6dc5db8579479d29eeb56a389622ba2edd7ba1e4e83eb6ecdaab30f21e5e88eb9feed96d8e9e4dafb5fea9bcb18e08463963ecc2ac553305ebed5dd64d2d228e259df0ff0c1f2d6d38e0383a65d8b55d6f297f65bf34babcbbefd6b261713e3dd5ea395008fa03fb1a23315951505e13365bd5e387daff8d6d8b56 - -COUNT=18 -L = 2048 -KI = c2b1c40674023374d63b2e9f00b833ff9ae88d088c10fc36dc3fa096e6204d77 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b07b85695478b0c81fcbc76ed374b9b428a5b9cb5b9cc06d3f63efb1f3528678c2ab0d16c0d184dadd8b2741a7f43b9497dce -KO = ade51ab1e0cc298ba0889f06b493b24234fe4b9cdb3072bb9d5638e36bd4ffad1b6b5bc77a40161ba20e7fe6aff0243cc9ed7798ca0ae1ab4b56f735a2f84a51e3b717dee8f7aed50adc1a81563c3b9214a97be95b05c38ac7f4a43ef44fc812ee83fb6bb7fe1ece3ea0fe97250389769ffb204faa98cab6a9c903f6fa51fe82c632d8b501577731cda1bad4bb6a8fa9424ec867aca318499d1de8c17778bd85cb96beaf21e7859026dba7c6c2f4a6ea0597947459fe13b35f3913e092db41ed4c2583a99396c285507d2fefda8763d911555aa57531d70d2823882e09ada9536acabb873f565be89c519378d0548dfe9e7c31e8c8f251de02d502874de4d0b6 - -COUNT=19 -L = 2048 -KI = 3135e69753582516e6aa602f6472239dd16ae582f66b5ae4d49d51e2848c0c55 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fcca1d1ffc923bb1620cd7fa9cdbc6e89b27ba63795a8c6fe79b195cc425655b0f9630a3dfb88cf872f3b9fe780c291c83a9f3 -KO = 5fc13485cafa838c42bbb338fd143fe34cd72d82a7fbe7e76500749a0b2424bd4755e1ad5c3cdda9b9b19c7fdc7bad44c83fdf9bd231e651e9c029bc4430090821d8707417d21036b8f53890cf555f804b0986a34ff1ae702fe42ebda028b1e76ce7a82ecb327d4a9996163a999e50bc556f80a4363c20d27a5dcc9354bdcbd19face6240b803367aa4a6e53f1e5a8eb3e75e0df67791410e8d5514513d8c67635716ea78f1d2c7dd7cc24d2c603c408eb2fd973e04c9b74007e9a421553bdc119659fb0e6f2042512656c1ed8eb4c9b611c44990295f43290cb71a553775dbb25e21d65b13bf922a8fd905916f7c80dc4fecf9dab036178d7fd88848da5fafd - -COUNT=20 -L = 560 -KI = 9f17c540a02e4ab24c996cbecdc44286431234639dee2620eb8f41750f3484da -IVlen = 128 -IV = c65da083c37c65dac052e2f54c1d2d72 -FixedInputDataByteLen = 51 -FixedInputData = c7e1e195c13cf0ef28fb6e510063f9796fc4c3e047ffa3ce2bf193fb6cb8307e2d08e79947490016e1159b5561353bdfc97d18 -KO = 03ab4bde7a4adf368f680b19c971d524a21ff0abf5909c085758fb51a2369caf998c1f65e3168a6a376a3c27376797f4f6f95caabd624d99d3932a22ad65adcf26930084a55c - -COUNT=21 -L = 560 -KI = c1f5da30dc97878190597914ccca2b5da332b0047c5ef216e8ec1ba222983acf -IVlen = 128 -IV = 3b2055942efc96f07fd90ba5fd09b045 -FixedInputDataByteLen = 51 -FixedInputData = aef242bf8ff94d475277272c9b33868c0ebc66735b8f0266a4305a0cc61545af5e9829f7cca19dac04623f17ea94f1ea894833 -KO = afc177fba0efc3d76a85e717024a9d5d07c20d56a5c0e5a7dc5b14e343d30bc43db96096eea6dd0da948e5d575a07b6cafbc9848722e281000a391c4f75f55af03a2abccecc3 - -COUNT=22 -L = 560 -KI = 1fb797ba717770513574d9acb1b76682e20a58d910ca4565b0114fd52a08ab73 -IVlen = 128 -IV = fff4b4de2d5a9b99d6204165919b0607 -FixedInputDataByteLen = 51 -FixedInputData = 02540afea059a6b33e3ca0f9f97958b60db985935d99c52e6a25d6b86f80b033d860e241e9f9ac0e679c367bbac0d138d58c46 -KO = 97738d036afa1e296f6673baf270942cbd681b35e6585e1958225961fdcc587fd195d504d775f5aefa81916f0fd84fc04bcb9e7fcca21baf4a034b1191216216bbb0ccd0b44a - -COUNT=23 -L = 560 -KI = a956b28b337adcbbf019560409e854163446621c8fd2b0518dec8695096f0aae -IVlen = 128 -IV = 2861225a295c1b5e1d44e5f47e62f9cd -FixedInputDataByteLen = 51 -FixedInputData = 351d5c8ddbb68cc7ea9ce0a699b06d13f41bc22c701c35ee56b1468551110e13b42fd8eb2efa6575d932b1b7469c341cc4daee -KO = 09baff0630e113c38e3d83fbdc58299040cb7548ecbb7124a71064f9e922c5636ffe9f229279e3897c5b5ef19d7dca8fc315a76877bee59419c30f028a68c6c59a270e93b592 - -COUNT=24 -L = 560 -KI = 19f1bf57f1b637757712534f740d0e2f95be56c14da501878562ae6a67734804 -IVlen = 128 -IV = 916273a57b88e24a8c5473f398db7002 -FixedInputDataByteLen = 51 -FixedInputData = 1982dc1176caded8e1eaed224ce20ac507b262e2bdcb47e09176274c0baf28a07907cecbe8d96a5c997f8e291a071158c34b89 -KO = 252fccb7ac5716146e7d33ee2ce68b4856d46c0b0304428e57e724a5e604fbea70cbac16e28b22bb6d410f9cf2eadf56327694e5516ec312b4cb7994f6e3afc84017b843a7c3 - -COUNT=25 -L = 560 -KI = bc727225e836416c4cbbc0b1f32b22d8dd3d09c425678fe87a94f74c8533d813 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3a0dbccf9a0caf12cd5f645223e559b630a990514cbc627df7539b7c19987e3728b52b0f270adb5586d14fedee1142f788a82 -KO = 5b0c48b52df6eef90ab857530d1270ee3cebb779ea32f5d9fb723cdde2f340e4ee7d462d4735079af461074281026d46c1a11189560ca1b4fc4cb1f9ea496b7907aef70d9655 - -COUNT=26 -L = 560 -KI = 74973958927b553b90114b76ceafdd1ef13bd002f02ab3fab8eab8e00b6b19e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ada8d29b79a17bd80791b68dd46309c5845d8a187194a95bb1a0c0a4da9a86cecb073eab9ea685e5de3394cbb8f53b8e2d9d57 -KO = 2024224295b1f7c0d9ef7c4b3c02c9c6bda26ed2c417ecef7204d1f171c299e60649f94693799874678f62e0d818457d0babba63c484056646fdcf033c2b10d4e4a3a846c8c6 - -COUNT=27 -L = 560 -KI = efe106e4d7c067ce57f8f588f4a0fff60185a98f36fe5db34b7615938f30b0a8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad425efc0be7cb1cdfe0bd604c6050203760bc0bca71b4be6a4924466f7e115ad02f5cac3b7e54af207c34dbd7d08ecc4b9ec9 -KO = 983423f7367a40509f41ebb0c6109c656aeab5d873b23917a769ff4ba9e4074eeac30a4f657291c06d7ca98058f5bd4d69de5e5588f4ddf2878436cffc3d673f934ac506f730 - -COUNT=28 -L = 560 -KI = 1c983971565602fd06cb4f67b4aa5216e0c756a0463df2078b318884d85be5f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 550164b50a8dca285f4010dfb8c5e27b74407380fa5fc4bd0dc675443b435a1c3c48475cefbd6f649c2df0e02332f768bde4fe -KO = 577be68d6bce8fb818ca30bac2884069b377fa9b242db337974d0db4e95a84ec66c220f6cee95a0b28778e0372c67039d47998b455681ef86d0259bb9b1e5e4a255454f34723 - -COUNT=29 -L = 560 -KI = 7288be7d8baa3bec7b4f3757d3250a9fa7fccef1aacc410f79e131c424d0c22d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e06e342b4043d7a6ead3fe20cfb561629290deef37b0c5e98aba26113b9226da3cd06a8e550b4f2d4653baa8bebc9794ff00ad -KO = 5fce256294a05847c6409a29a702feb9f6bd60fe065e5e7d0d25e14a2f387c54c0d14d80e15d0fbceb05765f6910de8a957bd8867e2255aa104511e65022cfc9365c56fe8a2d - -COUNT=30 -L = 2400 -KI = 3d66757d9f919a237ad2a7ad99c892bde636f80aca87fc83015bb890d1396f07 -IVlen = 128 -IV = a55f086852dfb65d127e9c8e76217467 -FixedInputDataByteLen = 51 -FixedInputData = 8c324b03d7a6c8661966836bd7689f1e48fbbfea88d978113ad6626f1c47b9937b1480e2a7fd6448133f685064fcdb90d130ec -KO = dbae92806b132997ce29b7ea08466c05113745f495374d57734d96d20e7b947fdc8b6a7cd00c3ad0e11fb9e03f98c724d78624ec8996dc6a8bb9b12d4fa55f5892d0463c2a84bb1d27f086f242b918cbdc5ffd8a81ac3a27a2b830d5342766cfd1e8161f5bb61a85ffbd586bc20ef5a9e74385fa26bada4dc633da143bd6b737ecbc5e208f04e7714d9eab38928a3075db5a2dda950347478ed314330e9f52e6c5841919e1943281650f2e3577c002c737330af646531dc90800d738b5cb71585fd111e143eb84413249aa5f9f28f4437ca7ce44b9f78e5abf6caf8cdda71b57920f45195f46ea782bb69fba2a73bdbf388abbb759bed836df4773efac9f292eb089c38deefccd2c892051def7efcad99cfae8711e2967a0db5999aadf11b9ec96919d4ae133e81a4bab1a9f - -COUNT=31 -L = 2400 -KI = 6b7d495f8fbf7148e649a4283e4a8ddcf4a25e737e6d0d2ab558272cfb709df0 -IVlen = 128 -IV = 185079f9eeb7b9b3fcca38ac8fc1c000 -FixedInputDataByteLen = 51 -FixedInputData = 56da52c19ee9d1ad4223c01206bbec418689ecb6f83c3a35e034159ba34b1e8561d1ec721aa3eee8f712277cffd7e9d3fea6bd -KO = dedce9b6bed06113fc7efe0c7e420f2fe234b8c76512375d2ca8fd8b45c7265c7a299924a12a46f5e41dcbb145f1ed96697c45be1d0e448ea11d255ff82c0a01d634a3b8c76007d13bbccfbc6cf146e208ef34d75eceafd5148ab9066926a5e4ab20474747e1c61a6280a59e12288aeabc7a9a03840dbcc489d8259f72b17f897bb0dea945d9294f14e3ec4b291a852d30990b115b8c1c38613aab014e217be4178d9762f618a75329d6c88b949b9862478121b31b214f3e8f6d4fc455cdab6abc813e026fc9068fedcb82f70626f6c8634d77f74119d9616747fea08eb8939ed2a83a450e509f781056452834376c352af891b9ae4e1e0b4465aef446e7d864a2f1d4268d3591a2bf2d4801639060cc8a2684c679d1d304c933168b518193fb6ae000f0b71cc9ee0445dd13 - -COUNT=32 -L = 2400 -KI = f565b32dc6cc9ec7244fff442f10a6ad0600584fdc779b20ad7b1d6312bf730e -IVlen = 128 -IV = 580308a33cf79b2f5b564d84631c096d -FixedInputDataByteLen = 51 -FixedInputData = dd5631ee6ff02f5631e3d521372e20e22066d5b8dd8a01a064b967379d3be0567e1f5ab01181c009531000db04099893d71642 -KO = a12be1169a30c857076588025822b82403cc12d3c66ab7d3c3a511d33b3fdec99c70b997ec5ae3779bc952b80abbee4236d5ebdd716fcbbaa603936488a7e0635bcc32a5cec10c899b2ecbf74d31e8974f40030e9ce6bd206d193ac4c1ab6530ee3fcb80fb92b9bf1ba62376681b6b125b85c49f28e5f390c0646198c8c6293c9a1d7880e20a9335257e555a7d5b319659c556e5082927d822ecb93a03175a0e9f646d2887b2613454134503654c916961dff4e74a5d5e5923f7768d0bf9981b29b1dad06768e0475df1c54e0ae46e539e4c5c762ba79134689f695ceee358c8f28d60a891a17a18988eda8a098cf19b0f327557fb3f4c471ce48bcf9fd5352f9c98ef06387c060873e27a4e56efac3fa8e320e56f1eefb0e4d8ea86014f3e7ae6e69721dfddb545fdcc5774 - -COUNT=33 -L = 2400 -KI = 7cfe7ff3aa405a048b8f6ba58aa9fe4b43b4ed48a5c49f02fda97dd44dab0e0c -IVlen = 128 -IV = f3acbcf9c55053bf93e2c252f514004f -FixedInputDataByteLen = 51 -FixedInputData = 18abba433291c28892ccc5d041a3f0cf3bc3103bd08e77a6df57e4cf44fbac29f0dbd230f2be74fcad7e760222114f7ebce23f -KO = 2b68a8647918c739193bf547dc28e67292728b85f7f19745c67fee4da4503a4d47e1f70b9f98459c7fb5aab7ecfd5d78b96b05d141f541f963ae0ab4ea477a7abec437b944132517d2b1b6ada48d6997450bb499c3f1d913b003a580aa61a42616d39a497316c139644486e262f3f81d589caf518147505d85e5cd921dbec94ff8bbb66ebc81ac7cebea8d5e4d2285782a2ec557ba6d8eded889d93f72af034865f8b90a938a8cc12f1e1355b30b87c311c9a944cd1433f0a070346dbb38230a461834b6707b5b1da0f04ebb38f2ddcbdda7df11f6878439333a14e00bb4f026fa82908e95aaff06d4a46acf0bd17d5202eef516033bff0261cb5ff49ee802711acacb4c167785eba92cc206f8e8e28fb76b8772d8064f507d14bbe21930524ab4361d3806bad7a18824c747 - -COUNT=34 -L = 2400 -KI = 06e7f3542a1dff041be31d41afa69861dff5d44838f76a9f3ce51ca24c3c4fee -IVlen = 128 -IV = 493026d00cbeef8a53ad5a0a9d3f7eaf -FixedInputDataByteLen = 51 -FixedInputData = 7b4448fd09754e6e68f842662352ad3ecf79403cbb091d7982a69a91a0954cec780eed6a577afa1495e43743074ea1f57a6f93 -KO = 1dacd74597030c0cb5874b98890282a3ac043c708ab9952d6020e7991a6863a4d95f038b8db33c3b873f2667b57fb7e0102415cfb270f1339ec7e48bac307126ab96781a308b1562a1701298df7e4ab20a34895341a4e273de1f6de2a14082f29d8e87ffd55c1cd3eeac4c8fb94de0631afc9c7c8eb4b0b9b83e672fde195755452ce817f55880cdb1bc5d56cbce2e91c0296455513668a91d79d20b42fd3fb077b5927f6798db5bb23af5a7c2f9503a0439ecc47c6052197971deb3d0fb1d0c91325afb866c40f2e61d46274e0a328debe6fd1d7b708b72839a86a2a18b8de25afaa0f89b9775a01c82a67236853041ecd4a6032091ee67e20ac34b9253122542f3305aa4568820d63c56a26b3cd5f85bce118210369a3e22f5161226a6c1785d2396b15617fc09e1120031 - -COUNT=35 -L = 2400 -KI = 3273487234f6479aadb4b2217c92dc21b1f7f6fda10955c39afd360a3246db22 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c5eec592c63111416137381f30c4457dd5e3442902a3a91f4794e384516e98ef1e83749e2ee7c50263e94746c18a47f72895fe -KO = e85fcf36438ee5662978662affb51f97c9d07e8fd355a0f80beb029bf5c9143e7c11e23a78e0fa8c578bb2332616e63d73b16768bd01a3a741aaa62739cc6784cc33680a3ee988811779571a7023cad555fd4cfe57b4e6716289624e5e70a92714b656fa63b5cd7f9c8746c601d8735b40f5a11c689c4c36261b858be1b7b709ef609ad6262fcea39a22b37bccda60cda4ccc911688b8196049a7d55f671addde489b3299f9bd87c358556a50e96cddf743ff8aaa61d389022f723436a6699a189a7c5b828548d3a46c8a4d2be1a28db92a053f280dd13771742478f7b7d74b4210924e94b946aa487eed2cfb64dc30cda271c1a5b2f2d3e27f82681031cb314f2507d35d7d5231c290b405d2b06b37a9d4fded8fb4ab704a4287e06f05a76c4c69a07fb2f5d51654be2bbf2 - -COUNT=36 -L = 2400 -KI = 92b745554aec8efbe777650b76c90a1063b6e11aa0397e8788eecccf8bad54d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38d7f811cc949430467850b38ed284ac114149a9c8331571dd03fa0ca8ee5c0292fd6b46116f7ef194fab0279c6535fbb76ec5 -KO = 4b04298566348b84e14784add1df9143504fa9eaf0d51dce5e15bb818a4e4252a6b55a74d25f773b86c5e8a28e25848b6ffe87f806726de3790cfd924b96ea9f61e68e65f59ffd2671b34972b6c9cc88765e6f3873967a049cc113bd049b9f03a9e434a82bfaf856d7181d95359c2dacea5cd2db17d47638022b084132aaf4b780066ac57f300f853dee6a2440841166a9c92e587291ee17ee7872ed58784760db8372b38a03169bfcbc7842854b97b708ac41239cd16c69f9a21e07522a7d4d38cb1cef5e642991684a1339b6fac252e93960b455f49029120d25bb406091c6ec027a6b59a4d3da287615180f74735b23f05548a4b768dbe025dfd203b92da0cbe1bb688bfac9bc2c5075883bb2341c5173093a762e06fd0954acc6792c7db9df6b2ee09dfa0fb4b0851afa - -COUNT=37 -L = 2400 -KI = 7c742c62a2bfc20b5b9862aa71590b78116e8ec7d7bb0cdc0222580b507d29e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6febfddc7e19aafc76c164dfcc146e52bfb9cabd90ec0615d86b7daa0f351f274241fcbd1e770a8e735eefbb3e131fbb6fb7a1 -KO = b797fcc6a451f8633592e368fd591ce7788125dadad611f8a63f9955df34d53a854080743d12d973fe1bcfe205178905d0f533be33f181f5333a41c86bb42f1463d3d6d3b639f72d7cdfeca581e7d3e47c8f724391ae699ad467bd1630d034d05978c2adeb0a6ef8c394cef8e0d53d89b24932bd5cba9dc1be10c2e0f1cc6595344376ce27086e108cdcb67e32010415dcaad562afddec8b41302d8fc14e2859b1a030bbffe89b0250be45c99e127ce399701a3339a169ab6258b4ffd2c045c6aecd97d2119f255116be2963ad9fdefe2224d5c60cf4bf3570065affa27217d4e42ad38573fac47f5a82e6b869139a4fe56fca2d0b1993c4fd1760a5318e21125453d94a3160de51b57bbbdfec05979121810cd2734d49390fc345329a2c5b979e08463d7b9017473454fbd4 - -COUNT=38 -L = 2400 -KI = 0547e205473cd53f684006ac1812752e67e39c2a111912067b1d4244e90bbcbb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a1c35d637de42634d44e893fb43ee7a4aba44bc117cd4286bf12135259000c4bd6cff4589a51d9f92d4e34c0b2c5e84351808e -KO = 12cd44983924e46527c34d426229be8be792bd7f1c184d103f2cbe48b1bfdd5556fed8cd5bc72c80c28be0594ca30ba406ab0fcf12d5d4a7d84b05dc0d9b7fa8b092d3906c1fe60b9849efe80159b79dbb52c383ab26db9979eb143284692da6d579ff955c536e905792f0f8c25d557e87b5e8e988cf9b5a530b7a5b03f96bee86d1dda3d047fdaf1ced4d38a68ca17302c9ce437eba4a4f4bbe093bebd0caf1e5f0f7b59ece325c0e7f364ef68405b814998a5b50251e862ed7a255d2d2b2ef751dc20b83ff0e9d3c91c70fb0c908c935759bc6d69c69d5644ba8cd09d8ecf7b0560d7622ee60ab18b267f1efda54f09707d820872ff3dbb5d09be7b20f3eabb1983921dfc58e24053dfec41bd5b541daa3d9b66966a0cf26bda81a089409f1b307c10f0be79cabe7257426 - -COUNT=39 -L = 2400 -KI = b0af2d476a63b61c883141902aa80044360facc49b78d54a3d81c487e5d191f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 64aabe99daf26dba33e3fb7c94747181e3c863188618e83eafa4543eb545928776f8c85c9bde950ea7496d805c6d512370f473 -KO = 1925e802b0edc1c2fcbc715f5778afb538f96c4bb58d8221e15505e4e81727804e7152e13785b5e4fcfa7b3a6778c33c22f02a87802c1a79982f1feb74e418fbab1893f872f46f89ea557b2b0b61a84bd5cccddb86ec88d4b561d7b12beca9e7800c93d0c865d4cbcc07766bf8115c128506caee353e4155ed74c44265264f120030d10694ebe7f5748b0ffee76401f4ccfd6c602bda0e7fcb8dcd7440e1ab9c2005834aed5e376e4779ec6b8cfeb3dd512b9c604be3566feb4d15c1dc49434762a5a6a16c4a5bc9bc315c46ce6cccac4ca54a8b29c0c64fa78740cc4ca3533c0aa867da3991c5825d553cb6d1432663534dbe0e7b1031d2ae7fbad8224e103a7371854ac31e32e7bbf077cdda924ee8d22f4b785c48c9af2e34fd639629d157cc35b2ad8589e7fd09f99f79 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a901e8e0a7f8b65758ce1c484ab0394430e6cc26ac6cb132287c611b39aa068a -IVlen = 128 -IV = e174ccd75095a5ec96615332721e020b -FixedInputDataByteLen = 51 -FixedInputData = 0258339266694b22e29040c9df7112895fb1efac438300fd142a0966a98e94b27c689c5b89ad408ecae57a2f887bda96a33dbd -KO = 28d8ca0a90196dc7f118951520256ae39392751d1f9f799582d4ca3a2e931d8e50926cfafcd1ffde72f6210369b21d3af9f44826c5c87eba1b74da36be4bd927 - -COUNT=1 -L = 512 -KI = 8719d923e251f6644e329c00e2978a356e292ff7ce5f263762f1876d3a635825 -IVlen = 128 -IV = 3b3f89289292711bb9d2ed1331104399 -FixedInputDataByteLen = 51 -FixedInputData = 3d891741a0aea8c535ab1fe3786ab2aa561ae2c81a2a2cbc0e08a20f250a6046fce6473643d9a285112d6b719fecd2613a6b22 -KO = dc9b78f4bae8d73f8fc6988200cc1e7732ed3e15a50157580c08306a834539034418e92a1dcbbdbc746f257880edf23fe60c34670d1a2d9cb168f87207c62906 - -COUNT=2 -L = 512 -KI = e2672da3fdcd34b20311e9caf5a2fcfacf1f0cda5e5de1e92a3453d8149ed88e -IVlen = 128 -IV = 99a9ddd6e5d13d0c59affbd49f8485c3 -FixedInputDataByteLen = 51 -FixedInputData = 2d90c98a352ef8b3fe26cf3dd19fdb6f4e6dec5aad26e3b97475ccdfb2315af5f396888b1b5798b8c0a6a80f73d0863dd3b63c -KO = 09eb421a843e45e8ebd79d652534a90d7c2197bfa4684fcccf04e39d249c5423db5c9588f1beaaf3e1cb2c57382762c85b085b529f994b3e52555a020db6b0cb - -COUNT=3 -L = 512 -KI = ab6ff1174111876de85bc055aa8cbf5acd01522f7a53a80b2ea4a6579803e54d -IVlen = 128 -IV = 2c92018e052b472ba066c56452fe30b2 -FixedInputDataByteLen = 51 -FixedInputData = 605f46c167a931d0dc7b25e0fa6b6f6ce5978ed9144c5b16494bb815e9d12f5805f23c5c8c328a5432169ea573229921789250 -KO = 85179f8934912f213cceccd9f247a534cf7c8adf73cd8349fc4c3ba260541b7f061d6385c51d547b1d71cae127f4ad18c7d5b6c7f32ed40d142061c47905d970 - -COUNT=4 -L = 512 -KI = 67e179df8b909ca05027e39f7905924d15abbdd0004d88c640cb340301e5a605 -IVlen = 128 -IV = 3efb9d26140fc052207de6a8f632019c -FixedInputDataByteLen = 51 -FixedInputData = ea06151fd026a096ddc1fe15c061d4983d96f25f8db13d52103b57461b65af13dcbd61cc62a5bc52e6959366a355532056be74 -KO = a6a79003f501c7d8ed3e0924447ae9962f8b6555d1d818622b1e29a24fa451b7a5622fef38452e90e3cacfa94b53c68b1b8150f2a634ae47daf9f3f2cdf29ae1 - -COUNT=5 -L = 512 -KI = e9b54b95e67b6ef74fc9c51becca020aefdc0e81c77c23aa7feb9f8344d2a83b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3aa9b220148d0f0936939dc1098211e028ad2808785bbc42bd5d77e69b01b92d2d76e071faaa03fce8aa569ab50904ac9ff1ef -KO = 2b8a664061b93f9075d30ee4c413ade5358049435cc3176d2436cd3d732af7554cc166f72bd342e25ac939be43da4c6d6d0eb9868eb68b16d1228939a83ace9b - -COUNT=6 -L = 512 -KI = 9473f8cd704ebacb6e00326131a84d11804424d273cf7b3230e098180e73868f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b723cf8374bd3f714f88cc73b0b3638e8d30835eb8e5c357b4995f345ac748e3f0532dbfb15ee5d53f9696c82dbd06ecb0e187 -KO = 7b3341101555dd07788c3d32d320effd29961ba17d6b9af801b798e92a8b1d7f907e92c8c43e2f45e2d92e3e37bab31ecff5165beb19780baa28fe6d6ec04e1a - -COUNT=7 -L = 512 -KI = 45f6467abb6402b579159cb1b3fc9e5d7f238f69bbfedbf2bdcf0990de739d7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2858a712364a3db85461752c6cc33501bc13321c35fc6702e60514ce3aaedc88e33ea460bdd15b2c1c647c22c7a51bdc9bd969 -KO = ccbe4a711f0ca98defed05062cfd05d818691e5b9b16364a70494352fb438353850c5799c54f8a731f9c645c652d6cf9495253fb8b6c7115d72ff9d00ce75f84 - -COUNT=8 -L = 512 -KI = 792020296afca8b4f4827d5c538e823ea3e3eae6f247387fb1acff08ed0a1236 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5382426f1fda017a20d4b935479a0f2f094a958e8aacbe1f5a06593855e961cd95ba12e6bfe7cf44d2677fdc2b5c7ddd18b0d3 -KO = d68860818e04d669a8084f4b70b8b636533703ea51af231ff8d7b15ba1ad3b8863fcb2497d097ce4881e7b4c2e473fae27d13a2b09b13d053e8facc40a2fee3c - -COUNT=9 -L = 512 -KI = afade66b879dee494f6f52bce51955383a9d896db522132bb2d30467e9ec905d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ee74f09a7d421be01109d7b5016c3d688203a18c4f049f853e03ff1f317e8abaa2ddc6e84c41f2df4326e991d6acec45ded97 -KO = b3004ab148d3950c624cd3f5efe2c338c57b0abffa4120e0c4fac7768058f75b9e778490b74658a3ca8b4b8dec4772c408fbddd872815bbc98e1df1942cdc31e - -COUNT=10 -L = 2048 -KI = 332141d7378c6484aad5e3f39325f5929dbe750f969769d946732065296eeeb2 -IVlen = 128 -IV = 4c068c8ccf011b5682009abf449d1f15 -FixedInputDataByteLen = 51 -FixedInputData = 1ad4176d46b23dac0e85718b9d799390c6f199f86a5078bf7175447c4dc5a0097fbb70081f7067d74716a462a0662316d259fc -KO = 3b53070d7cfa9392aa577626d6c2544b0ec30b436ccf360affe7ddea0f6129a32f51d0d07fe667fd69be86132b5aa7a9e991d627c46d1553b1b747633451b140cf4ff7011677bb460d535a92c2d79bbceea83c89a7eb93cc0d83c2a8b4606ce193599182f5c689bfde5ebfb12270e44c6c6a9beb3528da32193bc73c4b3322fb316c13ef00a2b625179fd898f3bea0795caf60df55ad7c314adccd6544c5fe56041a96c3922eba1f342efb5fec038879526bbde6eb94b4e8f8f407e20786818fe693e37ddf97aae486f6a77dc48fa6b5d21bd6cf36924b3827535054d6d1c358d7ef2f08349b97370755d49cc9975b1440d202172e3fb5496cce4774851d926a - -COUNT=11 -L = 2048 -KI = f85d48a6d4d79d980e02d41aa8c7163f59259656ca2c84aee6d1ba9f36b0d11e -IVlen = 128 -IV = 0e1c3d1820ff2364b4dfd5c2cb2b8392 -FixedInputDataByteLen = 51 -FixedInputData = a675ee88b973140a848b43fe8f6a52a327307c39fd5503e38ccc9fdbf327369b452f0613b6f596143a951f39b63276d45f1eb8 -KO = 2b8e5ce0f0511bb3020c2c0d2d5d7152fa913f2b11908a3ce93b2e21f302014d6eeb298d6a1ec1b88ecc643e45b5e518c5924429b1d3b4fd9f3c20ab3426d4d03c47b1d443be831fb93e3526bcf11f0e2fc9524c3b536d252e9acd05c17a9d0911e874751648fdbdd853c9b7800ebb7ae74e02b7db0eeaed18a09ef8ab57defe3b343c0ff367d0e7d926560367b284f05e5d859d597f6cc85cd67cdc86b4778c49f056016437e240fa226ec5a2958f6e16b85e768067eb1930276e629fee311600b647c4fff01c3ad255688e4e414ac292a0cee64419524be32120efc685c285e3de1609b254f297f55052b6116d4f368955a18e7d9aa5bd243cd672ed4227d4 - -COUNT=12 -L = 2048 -KI = 2b5da43f2737f090b961e3c39b2e3da3db711f240b4b9b9a9158e2d68acbe5a5 -IVlen = 128 -IV = 08adf92ca36b0e62e357a7a83607bca5 -FixedInputDataByteLen = 51 -FixedInputData = 3e4cdbcd61dbc6416425490333e87db9b7d2a3dd3d047c39be4c43e30b3e929d6c4e83e9dd4eab255ab1cea0f4f0c398e593a9 -KO = 41033b12e4b3974dd6861ccad9007a61f22d1e8366d66bb3aa3feaec7d5a33dc59f38e91f2c7b21c880638be5dfa11e00aedae9d365c483435cb671aba27efe0af96428a94a1fbb71ec396e40b02823de3154ae60d77b61394d823153057f6132eece29bae7047c2ed132a0386b98ab75fe1d36682e1cc40d6539245d0a150a85b33e07a8f5969d42622c81a11773b250629a50a36c8c20c54e93ef3761786ab2e51c331bd4fd54244b1c35acb55581b3afa44dfd06667b8a365b99dc2064e5775a31a77c17d91a64406f43b08c4108c2d6cff94d115d842adea486b772f4aeb389236ac22340800e011beca641af4d75025c73ba4042414084669d4b0b95807 - -COUNT=13 -L = 2048 -KI = 4751c5acca1be11c2eafc6b2b0ea99789ecb74e7dd6e8899790c1d76408cc6f8 -IVlen = 128 -IV = 08e89b4cae2008b8d80b7597e86a8cf9 -FixedInputDataByteLen = 51 -FixedInputData = 92b404385e28bc1c7663cc4cc33429576a17e8786a8fb44d1ffa778765646f3425b9c72dc26f06621b13bc19bf421659aeff65 -KO = 0c5cbca118d55dc8d542d871f7424074628f401e5d5ad2ea5bfe25e3bbb62b4c6cd5d779d74fc22f04b7f7e72b1e99eeabe5d97941f4fd005bc1d8c32eef29db2a9f23cdd422c18e9505ebeecf82135a139d3b32a484231314c0214fa2efc730d75222d86e53919fa17f4ab46b9c4fe60a798d4e72055abde6e1599d9421c34b80a47a8d7b9cf0b15805a4dc849818b3a72c77a830aa2499e432023b366d9e85bbd8a7915895b0070cec4240043ce9bce58517ba51ef136b0d245570f2c2d0c2944114907c0697d443976985a11e7d3836a26e845ea6bbabd7bb66153f5364d1365d0a45766a363a964934b96f50de8df8b5aa48e9327e11121ec68e126d4fbf - -COUNT=14 -L = 2048 -KI = 18c413ef5adc4843acfb797d2d95c0aba9d178cac05e865f5d37e98a6f60646c -IVlen = 128 -IV = bd4c1cb74acbaeae67e7959008768f95 -FixedInputDataByteLen = 51 -FixedInputData = a73b7ffb8ad8116e6767d27512820095cac64d4f855c18826ca91553bdfa3f68f165d8661ff400f59b889b83a8710e62e82a98 -KO = cf5d494fdbe4be3f3a9c9f52560c8b611480738ac5b7ce1d658cd2c5aa3a936d4f69dc039093c8ef4f64fe682688990123a135ccf5f9864ee0e466d53b690a06dce1325fc709b99a111099cfed06043a945f8edf117df9f4b104c8014c822c0236237e832e68d3df7bb67b4955a27a55eb30cc292e7af28f36c6f660716c0b0e4bfe2ab9fa90e7b3b37dabf79cfe564611b9488784a786636c9eaff410e4d73423595ba10eafab300b27a58b6f14482d6291e77d60c577aad7df90383347f8861439bad481d68e31ccc1fc7ea634b1ae21e6c8ded0da7485bc0bdd3ed336c7d8815663295ab1fc36939e99480067f884d6e38d4e2bf4e97c057fb4c97a693b5d - -COUNT=15 -L = 2048 -KI = e6f5debe263d5819f582d5a84a97b06af576ebaedfd4937785080b5f34c7a430 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b005876547c174407dd1f1228da819d886a01bc0519432487fa95d113f6fac4af5c998139b8aeab4dd1eb6fac27ec73d4697c -KO = 226292f8f7bc99d3b007ab327fb092f355955b776e5326ec3bad52459a98ceda6c0e9a0222fbe80dc638328a19da5b0799167a9704e283f88b45fd80497dcaba52d77f70078a05dc4f25199f6acb0c36c5ecdf870248f1aad68cd94cfe2266f3707897dda0b0832da4b2e07fa53d094acf47d9eda871d4ba475f8d2a7fd1c4ce618218265e4acd1f4fa229a3b398f4fd00033dc6e9e337f4759f7209050f2253ecec0bd190ed3d1430a3798ace19ad14d63b02a9dd4e33ea99453e9d9e7d3b28f675f51f1999b87847a9a0696a9f049655e8f4563e94f4f417509c0edf41b6c5bfa07ae100940ae5ecd9665c2dafa9f293150e9f735f49e14a4a2e9fefa4351b - -COUNT=16 -L = 2048 -KI = 3d9fd333490cfa32db0c475b9b1acaa0137582f9c24d4a1a0095d9ab44d4da48 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 02a159784a447b39d33d958dd31bc92bc2ef94ad55c50190f59f65d711ebd84c5d3e4ccc08e531b77077a0d4a345fabf71fb9d -KO = ac291e7f78a3855297952bf95491add5b4c58b1f1e2e44e280d0883e3860cf65b0e9a08abd836be2273b4097788ad8d0acae23d93b9593c5d399853a632ca484c1c81bbc36f2b9c77d8a677ebcf98745e3762fa4cf7c6b19783ce36cf2cf25c55ff16b754a11bca900b60fd5ccf137d184f8376f5504aad1f9729aa7d496c5d25fbe41cdfa15b01e0ccdc293fedba3165c0d7ca783e8a7145241fabfc81ee6c8bd216141f22fba2193d3d2b1c943618a9f84a4e6fcdf45e2d3600a42f863e2f2a335591751608a2362dc6727f4bdf089e9ec59e1e69368895dfbe5d881ee4bb96378a203fd35a89be4424cfeeb732c29003020dc3ad5ab3e42bc2f055c52c934 - -COUNT=17 -L = 2048 -KI = e5cee0dbe218d4592a4621785615947ee8a20611c79951e000b39a9fbab0be04 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 901c61caece47db78bdae5b55ed0c06d98685a9b9dfad4b7c2cfcbe6a38b4fa59cb977b9807dbde291477c30b1bce25aa799aa -KO = 30da0bcd46d47392e5df299aefeb7983c555a26a93d15a390457d3c3d29e9af362bb8c0c93d1c2053a0b9c6f930680af94dbc198a440a03343c45f67b81756dc192be52a06d61d43a6f7c09cba343b3b13832cf3ebfbed9a43831e8746c1145b603acf46979e45dd997ef7fe55985e0f7ec4d23579b9a2ff383608acefaa9750bd855db5bd73bd6e8e8b864027a6f04b04f515bcfe4e53f8f2cd86e3e9bbb6287f9255713a5d321e9ad40ea3f167cf49f5f027eed7c47acbc0a7c52a85c4fed848c3ad0b316f25a173108bfce8bc44fb8c0b766fbfc81c878b917b0071c32aeffea5ecc4861b53efd6694f5552f0c34478537875e8d10ec4cb3937016ef3ec5c - -COUNT=18 -L = 2048 -KI = c2105a18da3a8a4cd112a91961599a9898841856e565a69bfa218e8cfea5042b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 671431e690cf491cf2cce4ed06544434b713ab329dc6d516b9647b69381987f94acca57b662608d1458e5ba45ae6ba0aa5c301 -KO = cbd9595decb9d74ecda7d3d5222ef500bad88632077aa62c8d56d3f48a80ab1b9752eb5c47f9f376fd9207b7ddd70cc19513fb33fc2511551fe87bb2ce773aa19b41c477320f721ba414c11f587504fa15a6be9f49cf4ad27d7809559032adb4c12da558fda19c4ffed3e939ffca2b940d0e754c73a1d7de8ded0f6ebac015f5af1ba6b00af2f63f81c4aea5b21708a74e79a6f4a148a3c5370fd71f99aec3df0b4e23d6275eb8577fa94b797735c3664ae8d7135ed8ef085731c6522d1e6f6e02465a344cb86196a123415dbd17eb417cb0d165b9af2ea1a0f7a566ad7236c64b71a71702ac759be707633e3149586460607d95a4be779c21024d265cd52f87 - -COUNT=19 -L = 2048 -KI = 9b5ef49760c5ee02891ac3acc89af6ab7487855dfaf9402c0bfa9aa2e3b7d17f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a2afed426d288719a228cecbee6be3073761d781fcfeb295c0a89cab06c486b0158796f596815575e0a79c25ff3da38ce4af6e -KO = eb5ce4c7ca660c8ff79b054796744ac6fa525d49b19cba59815bb8c3514b529ede57efe0c73f8a9aaa3a48029f1abeddb04fb4ef7d38dff5a54fe750ba6f8eabea16b541b57f0cb5be931714f1be64ce46fd421c7332ab67f2c05e874e8336194d50642ea8a19cfc067c04f9a711c2f64c1c1b459afdec4ec2c4a54107d6f03e721619351a9ee2ea176407b9ad934efb42ff1d48cdaf508a46dc4d2ad57d89649025736ec7e7fe561122ea4c1304fc8addcbb1413e9da7cac86c2cbba0393c23b2304f7f03eaac38ffbb1f2ab15f3cd0b995b6c077857fe3ac2483c45538856671a6d6b43419168098d4defadb22dac5bd6fe68e6d257ada5e22f66efa0e8f37 - -COUNT=20 -L = 560 -KI = 16f37a8f74529de0a09fb0087100472f160ee36fc731a71e550474d242fde796 -IVlen = 128 -IV = d2a5500627d0bbb89ebdc64c313926d6 -FixedInputDataByteLen = 51 -FixedInputData = 7a80d9ba08a2ad8dbd148db6e8296d837aa8236c701b66a5de234c377d96e2001041934757d110652011313911730dcdcabbc3 -KO = 6a0d314ef57cf50122caa388dad5ada36b1d1feee71f66b6b5e078b0c89f645a7fa271530162d370ddfcb2945a35af2c735aacf781e9ad586879a682feedd9cf2fa7d072d3a9 - -COUNT=21 -L = 560 -KI = af511a7513ab1f3ae2b6057b158aface8599c4021aad79520cc61b7c376361fa -IVlen = 128 -IV = c0b50a2000c433452a503c2c52bed32a -FixedInputDataByteLen = 51 -FixedInputData = 5c7147b852953cf84c7f402a85ef1640598bf2647d2479dc2548bffb2dfcfb0a8aaf20bf6bdaf74a65b57ac93c91e65f20d081 -KO = 4947ab5ae01bf9310ec33c96886c31aae9c5a89f51197f292895b83655d2a824081a13dafe161ff70c6d8af4a5e0e01e1ddb3c5624bbc80d64e45b5c99c2718e4a9fb84e8fe5 - -COUNT=22 -L = 560 -KI = a7db77ac9c64be1f14d80cead8b53c7f9880eca6dbb6931827f446602d5a26e3 -IVlen = 128 -IV = e9faebb604e939e6c0bcaa4a6ada1f2d -FixedInputDataByteLen = 51 -FixedInputData = ea23b6277d482d31f85aa019cda02e6813512b0eb72235d1cffd20078e6fb88afb1540e1f4f7ab76aa848aa5404265130fb590 -KO = 6ef586fd478ec72dcbd1542ebd508fc02a028413d6078efc5ffeba7791ea09895294c690064870582753a61d02acc793dd6313b4fa9813a1f12f1b9f812c48761ac5757c5613 - -COUNT=23 -L = 560 -KI = 3c6aeb7bd90e755885f3406fc4231103118d26d3dd3576009eb400155d1d45e4 -IVlen = 128 -IV = 4c6b27c3ff6f3f443652ce4a55236523 -FixedInputDataByteLen = 51 -FixedInputData = 15d6ca57cc455887b5523018ba0276933a7537a2b87364225a3224612ec442ef6ccbec299f2c7b6873a957cd9423d87298a639 -KO = 7fb9e000ddbbf24fb31104603f37cfec351e09f3df9f4d00df3425fc91e4e2b62450ed6a85b751be00a1031af8744eabfd2e74e1227fc4d15a8c55272f843d7000a8cd99c4b6 - -COUNT=24 -L = 560 -KI = 784c60901cf5c79104e918c99a9c5fb633274e051c5cd9fc51e2bc635c7ed914 -IVlen = 128 -IV = 480605c10674f8ec75b829d344d81f52 -FixedInputDataByteLen = 51 -FixedInputData = 1b1e8a45006d0afac6e9449336ddbfc24f3e4bd4f68ca2a5bba18095b873ee8be7c2777b745b9b3feda9f148420f0fb852f8aa -KO = fa4b1c7c08baad04d7a62e2baa864a1666733f462a54e8f94bc8e04b229c0c4dffccdeea68899ac8e9260bb50455334208e1b5ef9ef3b9995a2d0309735e895455924281e71a - -COUNT=25 -L = 560 -KI = 8c91943f152b294f308f7e738bdda333fc3bc851b57c5683e076adaf83a69ddd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8bf8ce7f7b0f7e033adbe54f926d2316f4f53f23b1a86f28a276ffdc2796860c15bd3b10b9fdd165f71965ef9a4d6a26424294 -KO = ead673b5ce9aa7588c73eb54aae4222589f9b329a7e01d3b4e94b889aba9e8a38eb71afd1ca8329ede125d53f2b3ac9553c30cd39c258fe104a7025f1fcd5206bf5bb419e5f8 - -COUNT=26 -L = 560 -KI = 33311cd26a2fdc35d2b6e7fab3998b4ed98ffcecf10880a28978df3b9c79fa98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 573ecc06f92763c91998c7599866e139115856612cb57d543c89ad7654ed11254495f4983c8569a625947ccdf91354de320e1a -KO = 420148baa84971a133e2b787e62b82208a744721c5689f4e9581aba5ac02a54d7a73916460c88eda4970ac8683fed0dae6004d4caf68994ae5d9f12db5647fa60b6b5c88a6fc - -COUNT=27 -L = 560 -KI = ab9bdcd94501c45472a66ec147d03e46c1532fece9e5c8780670ea90296059d9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45cbb07c01c6a9d0423f3b36eea87fecc889c4d3716ffde0606cb147631f20e95dc622f53545fcee46ca9510e381089ec77616 -KO = 5e596e376304e8be39e0ed929d78a4da21b576b9d2fa527e00f062edb9582ead4630c7c2d9aab842160aade4c9932c36557db8c2be235125e20e4cf8a7ba80396e4a67bd3df4 - -COUNT=28 -L = 560 -KI = 4665287e32f7702a96a5f8a16b7dca2aa8515edd0a1a6a71e731813641d1bfcd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77b5bfebd5a160c4da20b3b8dde6a46768453ab3f0c66987d72a310ed044c31a3b2236549c8d55d4cade9096372a3989e921c9 -KO = b32b1fc7d309a971ebc245c58fbc9b12b44a3187b20337fd211de59ee734c5a7202482d5de29b2324308e0ebb0b54ad2cc71dff878a781666658b487dec6fc513057f40e6b83 - -COUNT=29 -L = 560 -KI = 4c4eaf8cffd6ba2c02aac7cfd981be17eab8f82fad6fffb2bd0c2253f8ea37f1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1124a02a6fd51f7155a2b32f1d05eae3932082d84e7c34ae3efd773ff345591cebf495cf91518154c2453e23ef2c5452d15608 -KO = 6cb4ba32b122dadc564dc3a9db1b5be22b4df99c20255b9f949f87d5ca44e6453c55b0933eb5cb0558e3d78e290980fdf632b237aaa2fdb2a46a369e190d9dee1f96782684eb - -COUNT=30 -L = 2400 -KI = b92c316bca66b80091638ebb0f7d69db27ec945bf4d6619b483f4a06f8b17201 -IVlen = 128 -IV = 17c41302aec401b1e0e1e67c50f05d97 -FixedInputDataByteLen = 51 -FixedInputData = 639d980ffe43ee49061b429ce97f5b25fb0c7cd498b45e000498655df1b85c1dbd62f85cfe2a83320c9a96e42b57ffdc58588a -KO = 2a8e64c54b6827135e24a81f923940aa38bf23145790b888a0e4fcefcfccf59e4a7d4e6cf645ac8be5821feb416b7a17489ffadd84ef6cdac83361f641807eb3948b4410724a4b91173111013953dae1c5edfc8adeb74ea6a07243cf6f71f20a00474f0387ff6e307d0dfd6204e23007d95f717c0c822dcbf17554fb3c4889a736e2bc5e056e094674079a362b90a840858375f5c2b4edbc049070f672709c3b73911fa461f430fc37c34199cfb115485acb7602e71b4ea3f4f4c012c4411a69033e587639270dd7a8d351e5e43c257c860e026858909ccbaa0691b0bc74d0d27e0e6b5464251d5b5ad26105dc9eee902cbec95d13e1de733e173915ce5e3aeb8a71515084569e4651dae7e34c8bfac17a74b865c068ea9a98b00b309db641b433d72a5d3e50bfd06d94a293 - -COUNT=31 -L = 2400 -KI = 94bddeb6d52ad67817cd1842a8c3ee96b562ec5e09af7916bbc26626dd53cd2a -IVlen = 128 -IV = 13547de5f364db2ddf829bdf05232a4e -FixedInputDataByteLen = 51 -FixedInputData = 51b5859efb523a82d9589ac791a270621f2b8e3661c201aafc54d2fabf57b3205fba2b3f55295ea771d3ee0426022e51c90a56 -KO = 2f134cb74cab0aa9d400c88a6f115ff44e6fac84203b652b2e45a7c57ae4a7d2d3995f47ea421cfe24d815194271369dcbbab2b9f70bce50a9b8e63a0ebd4db2cd0e3ce3d54a5f38c2e00dbc5e51bf39e8c3bb4cca22db71ec09c841b2f68eef63fd07f076eb8b8c7e97251e6d283545038a341826656f5b79a24f11644d7e87c78690dfe5827df117b7fecb50ce5c1b2066d8f6d8c6eb2aa95d59b20a37d1dba2fe5ec858039571226a32bb3903cd11391f3b6b84504d297ae3d13d22f395567ed9bb9787ffc541dc45d0889dd65c6afc585c7dc3be9e035c6837798891d1afc911ee90c4d8b3ab5cc8d35b9e0af4ff02bd9f7a44e761d4aad101a0f21f148830ce784555b5f4c2157660ba879f334588b7eae6d1d9687c5b6c395d586cdf520e45a3ab422dae54b7f8fe51 - -COUNT=32 -L = 2400 -KI = 8aa2a2f04eafbf00c86db3937240419a8864ad19293bd05fcd54b2b9d12fdb0b -IVlen = 128 -IV = 55584861c01dc41ca3795bbe7ab30309 -FixedInputDataByteLen = 51 -FixedInputData = d9cdd7ab97eeabcb7aa4728bdbf82e1139fa1b93e56e6891d7b3d7b97ee0f053eda8e0325878963e414e6eff55e5dfc473e4dd -KO = e1153e5d0c035f2417ffa942538fffd96932d75b7f8b7b4134202f80aa930bf9cb9ee0591eee468356a3471648d4a80246b24474d58e36f9a50de28c1fc8a77c02352866ee4719eb603fe0c99a79914b8974e75329570b10d6ab9df02cdacecf8856fcdc7a17591f545d75fb5cbe7d1db6e6de008f60ee2c1317471668372c0080af992f2635f1dbd6b959e2c0dfedad82f50a5048383c7f6c1ade2f3ddc3ba00a1b8eeba2844b0313fd5524a766a832c4a46b07856d468091bbef6e5708cdc22912f36e253ecab1a02f809849e40e6f4682ffd7c036079397044cda2faaeb782c32e155033c47039949846bc033775cb7989189b615f17adfa772155e2cc316bce4f4b77da8853d2692b4d8b8de46a94aa34abe36b723e664e743685943d663b7e290a8ba07a0a7bf8c3f29 - -COUNT=33 -L = 2400 -KI = 30bd78b4243b8067cc66602c10e4a5acfa389ccd7b6981432a11860f42e9133e -IVlen = 128 -IV = c8f8dd749e20bc7344ff0fe5e4779e59 -FixedInputDataByteLen = 51 -FixedInputData = 29ac7fafe5adf5795a095b325c423cfb1e9fcf0adf36ea88bfd7d26f2f0a4ba5c6d9462b0f968a281d5c54bcf7da895ea5f0af -KO = 8413cb2851bbf7ae1393896c9cdf7a0dabab8931d679f2c1b9eb8b3830bb42d806e90f0902276b405f4bc9b0bde64c3f608201794395613273b041a1a691954cde794357832a9491dfe3827ea54e6c81aecd7a83a57db5f1178be1dfb911dd266a6bada3ef46105c6f0dde14fafd872db341b850b79bcc147307648b344aa011aef02de8dd289cb6a00bdd0914bcabda9dbcc360144691c1c9aa37091a5d5ab256156a18303f0e8319d12d2afc2e15920055d448771a7276f48676d8d4a96c457b69ba8a8f2e02defd1dc76b4741c1982f863a7021bf3bf9476c597edbd1a9b31a385354cd2c53123114a28eb8bd2b689dd7e75ee0393eb84b34e37fa35c46b67adecfe4ad83b6407d1654b55480eb90bb8102f93c1877335034554ed6d46d8a3efa658c387987058ef2cc19 - -COUNT=34 -L = 2400 -KI = e72783738a8be84343ce7c12ad96e049d7bf7f595802f7f8f6c67cf0c3f23a4d -IVlen = 128 -IV = 093748bdc964cc047e0f6de70367c7e6 -FixedInputDataByteLen = 51 -FixedInputData = fa43d56f2803570b12f1613b4311e7948e0743e71e22fbc9337bdb9166be9bf2c86235495d7c0e3aacd1bb4bdff4fc6ca3e597 -KO = 27e25e4481c539e0820f5b86ce787f9ffaf934175fb8cc91d2203269141b776508adf76cd1390ede98f7da8affeee43eddbb556ffdb2e3feacd48cee71440f618e02429c41d25ea5f7d9dd6c43f3e8aaed66f758c0e439e3bdd5fdaa72b80586f8d383bf9cf535a466d4d6d8cb812d48496d6b605579ceea2d31fff843bed60f16e78919e27b4eacbf2cd5966fc9b0b189937a0d4806d762eddde61ff0cfa619e79879e7e867b25c646e4c08ee0f1d8019080e51027cb3367ca3d768ec8ec0357ac2018dca4dac59f1712ab463d48d7c6262290a2fb715abd1164c130a766f9b5eb2fdff7509ce8397e10b2221cf4a9850533ea1a8bc4f209a4da09e8dce093f7bd1b997c54c4c9e046e9a1ed3621c4e9e1164d4614fa9e21aadc5470d53c6a86b6d9bfbdbc273f7a0929145 - -COUNT=35 -L = 2400 -KI = 8757c4ac60319713334e5094406d706094a651a975f80211f97491815f73c291 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef63b741faf8ce8617f2a7e38832a00d50841f07788f3061ec3233eddbea9585f3d9df6eeee0ad0c42fa926e1caa3ad4a58f46 -KO = 04188ed81afba03f4f3a0ecadb353d74915e1142077287cca5c4eca3edf291f1b9922cff5bd191b95dbbe8d13c4150445a621401319cd93cebf670a747463d51370912d414cfae28ea09c7eda48a0c3f48560f235f8b81b67fee89366e14aaf103fb34780e8219883424ad69e5427e7d6a47e975065f08a12546c8312bf29d7e7b220fa081f315a175ee36dfa950f15f1d507ac86dd7c80cd558d90dcf8910f41b6540ecd6c5d6b92833ca7f9422d9c1ed49bf10dbcbcabe1ebd1c8291dd5b04967be9eed39589b499290c5c1d11970debe5cb088e766b1e5e4012475c77996310e9d7f1b6357d5f922c3975a2a96373908ba2d5b65247a85208aab683527f1724869e127fecc4ef8491e4544c121a22f7c29587dc7a69ae3489091dfe0801a6e041cfff6e31d786776f1ea3 - -COUNT=36 -L = 2400 -KI = 11bc9de590eb89cacafe8d0bd5561ae2ca4d92b0ed3767ac6c95d82f471c653d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb13c3664a6257ff46f3cc4333dcdc5f72b634e9e87da1561c27ef41dbd6d30010412466f26216bfdeb71cfb4a3f35affdcd49 -KO = 024540dbfce463511d653a4722f5aed654e8e01cc4c082577ced30179b8b0e63aef2182099a7d34ad8d32bb20aadba2cab59b796ef18d0d59317bcd34f0518a069b71b3e6ae40ec7fabfd7fdffbbc67476878cb80be29a13dcf1e58a69d5fccb92f603eaf961bab54c02c5072024cbc24a76ee657528a8545a2fbbe95520119d846a7dd5ef862fc3a443c4f496d924c80f711277ea40ef4d6503ac6532f336873851779295c1132e71272f21942abf0f11fd16d1ad6b0f11ac57b6e4759c1477abf554b36c10706cc7bc6cd54122755abe07f7ff32eae5afd890199f7b7f208f25e253b20c7d640fc4d05a1e8d228c93654b04c69419bcde04da8fcd4a70949ee5d87a2d7060fbed0e15e860b15812a757557cafd5062014cc980eb2caa9af9e92a5035d199ceb92c384cc89 - -COUNT=37 -L = 2400 -KI = 5053c1c5b3e18f46174b27e8a82edd28c74debd141fe5913ae8e3a718b3fec77 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6bda9d9909c5cccbc0e0dad65dfc03370197e1dc4bc97d8c7613347e7bd58c9dbd67b26ac7d6c43fb2c29e4fa64cf7d9be2d5c -KO = f717bf274d7e6ad828593a2e3cefa9534ccb34dcb2c1380fcb230cbd53248e38331b4ad9c5565c18153f15db5b1804dc4971022de11f1ddc2b513fb81e4979efca664a0f89e01f7eace50c85d4b0d733fb077728bea261c8d71f77660f2c3a14131aa76fa83b0978396b0472ca6757619a13ff0f98b7429ad9fd3efb79c345a6b238af98d048edfdc373abc3cfdda01a1f4f7c12cd2cd531bbf0945df8c178cbcf618131a3aeb2d97ae2f6719ec9a9d592f56f4a8cb960c0c15587d6064c145e0b6a809ac27c66415e5749a7484f1510e983f36b2927338dc1cfb092fc3c3aba144c8d089a4fb3a63592b1cb49321b6fc8e2829bb8d05c3ad4a73a4eddb0bf8c3c39fb0d385caaa186c8042b8f2f0749c387661d4fe62cb6d6242234594ff2deef486907576fe8d9a3674ce8 - -COUNT=38 -L = 2400 -KI = 6cc65160cb78c3524fcc3b223d0d762798515fa948364c8c072a4b64eada756c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5bc18b74b9230130e0eb098113e6edb6d6abaa9669376e08ccbdd8fcac1a8b34b541dd38a96817da71306f4dae48d8b0a530b -KO = ff814e4c04cb0e471e0d3f2cde425a45ed02bf08500aad54976e7c5164b3f60288968089d070f6f11bbf8bb23399ce0e8ba9d2fa5f2fd04c5b6412831b32978b1fe772d9339523aa43e20a512600ac74b8abe18dc2965e2fcd9fad96c6856f0586f6ae05415366f0fd343b47fd01b79287f63685d90c2cc0be6c5566bdb82c8578a9e84c477b2396493bc9003f38565bf1981e888fda6ed1ded7dcdb0e1b5e868d75bbfd483a24d6f98862e187c1de399cfca718bc5087e488217886f2e5c9b0fa7fea67eeb8796f341043c39d7255326538bbdbfbd6713429fa263fd4c96617fb5cf257891a07998ad5638d15edc7895960aca107291d5d57c6f327ec4e197a9f34b8da97bfab2bfb293705b1329eb7daaf1ef0955f44ea60a3560ee823f92ffdbd0d037673f7d1290b713d - -COUNT=39 -L = 2400 -KI = 666005d85c9d7c9f5e8b41fe562d236d29b1a883bdfd90e36238cb18aed2de9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 366f7a8dc356ec403f37516ee1b021e812ee7ae1966b2238011d7881e837e282a5a8403d123f31648cd0c1a2d81321a2e846ec -KO = bc347aba542070363ff09e410fe0af70e8715279baf0688ce4bd5fc38f31016749dbf1bf7131b8a471321894680966f871ea0e5b18110bd60cd2a1c1e284150847ee9e9ce1b3779185cf7525b5826f0777a554b6c4e4f535dd17c6f805825577553fdbac5d89054a788f3a6b3e939a6fd867975308dd22cf21fe5459f1139ab997820304043dfb6dd52367fcb0be7b9963e834216038b9a0211c68436c39c57059bfc85afa08c1ea36973a2c85435957158ff8d061d3224a948334bd56c15499c2673e2fb94fe071a2222427c279a384fcc64a53ead54849c9d54ea3e63e95736f631adf44bb64a953292fd3e3b3f8b06c2563896f21dd57c977c62b7cafee35bb2943b0e5b8f51fa37475e3d73201513c8487f667eb9f1762179655d8c767a26f846d2a9b085db3efb2f9d2 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 46df386014df00c5d7c60133346a8858e97e882dee448dbe1a7736fb1051c866 -IVlen = 128 -IV = 5b1d80cbb80eb976f11a146bcbe78525 -FixedInputDataByteLen = 51 -FixedInputData = 02091c1c5f9a40029461356d7a0a97754fdac66682f5321ef9c03947a447359f94e10331625c5e2b702606977dab96119fbf25 -KO = 231c59a6aaa1ec41365f1a7e64e8114d7b0db2fff08d49d1aed9144b05ec054153f5def124ed17da65177d527f34b80a6a9af2e26a9ffe7837ef80441028e9ff - -COUNT=1 -L = 512 -KI = f3811f9e01a321bcc59f673a97e9cabd7610578a4f14ec2c799ac4e80a9209ce -IVlen = 128 -IV = c654b0ea2a8b435bde40c91cd37ffc1b -FixedInputDataByteLen = 51 -FixedInputData = 641e938f9086524940a5f926d6c9f7d8af21f8a3a52d10f4db503ad6643cdb10e30aee58ae3b95e38410e5056a242132e10f74 -KO = 3f247341a2fd1cc5931c4b36dffc02067744653d9023dd01940e322b0e86c685ad4843936b8f3f958dd3a26000c5871dfb5c88b93174e37c3cc09445c13e87e3 - -COUNT=2 -L = 512 -KI = 0c94258c1c51bd6e3edc1e70a41f93b2ed08c85854f3269424b34672f45238f4 -IVlen = 128 -IV = 9aefa348c916fcb0513c1064d8fe1678 -FixedInputDataByteLen = 51 -FixedInputData = 7c4ae0300d44e159b2309619866325cd2c4ab7ea36cb40719640e09deff50a381c47e5d8b07da8fd5616a6d6c3f7155e67465f -KO = 7bff93187d645ecaca5a0211e05341e9fa44df24bfa1902bab0f1f8d971b0a5c8f04e954f87a9108f915c9e3792f5e0ddef5c3c2d6b7045bbdcb95096e60c3ac - -COUNT=3 -L = 512 -KI = 075a2c7c820e60282f53c70d1343015effc1af5e66b0a314b8bb4af0e049263e -IVlen = 128 -IV = e1aee195f9a4e33927d233c689b74a0f -FixedInputDataByteLen = 51 -FixedInputData = b645cf5ba36bbd27d0bab2e7b7f29c89d23d94d2879740143a4bafe18148dca12ba10e97e63921b9170a03c6a81fd0a16588b3 -KO = 63c01be5b95bf777fa50d0ef14c300aab1f851a0d16b4dc11a73df606c44e05ed3befda7bbef706204106e5e8a34f2d910d5ffa4f11f459ac4df57e830ddeefb - -COUNT=4 -L = 512 -KI = 0d03a5cb57ac4766b217d341cf3213a50122cf801d7b48531cc9d6c9d36985ac -IVlen = 128 -IV = cc0d7f7ab4e2f9712db1ec8a36574060 -FixedInputDataByteLen = 51 -FixedInputData = 59cad8c6195f631528cebaadf510a0639cb2a73fe0800749e0cf065708719aabade20a97ec1227a23bce11d9e1858c0e51fa36 -KO = e55cc6d70f433ce60f57568fc69c60d2a0ab552a087b32560c65de2499df21e18df29f64d05f6cbc0fca18c2dae746691564a6592db94bba7533d3088c0b1091 - -COUNT=5 -L = 512 -KI = ce188f254175c87b48de9865e7d9ccc0d1e504f084708afd48fb49338348e4c2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3fb80cc0a664dbb5728e45976b37e2165ea3cce7b5c2601ace02a05ae87f0cf0c0b797186cf9751dead59bd4ffa8932bd9c0f0 -KO = f590d9ff1a5d6e43c9f8f65168445f720feb0a5654ad91fda76c20339559ac56e61e174627992d9dd318f886453331380db8b551ea64340076e412f5f2179362 - -COUNT=6 -L = 512 -KI = 60ff9546922fc49cb2e199506990072279c91ac423189096a3538146894a4fe6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2aa55c01fb3d9026e2b92b0967d6a619ebafba0624ba463b87bd3ac7800671cf573f98bc4a475ff071207a37922a21bffb77bc -KO = ebb021c18e0950dcc16421ecc004bf208ccead7332f269a8777faab3484738fbffd0938206ea16f82b948e1a9eedc1dda576219db3ac4371957ac24af38b8e41 - -COUNT=7 -L = 512 -KI = cf367649b32e1817881dfb9d4d4bf4000d022da8419efd9c9548cf3b73d84b0e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97582de378b0f4df1553035a81d3aa054d9c56cc3add6b7c3dec27c388e5f7a1669e0a0f70fa859bf78a3e6a3aab79773e9669 -KO = 4c37ca17b6fb7728441668b771b2783cb4cd799ffa7b2910d538fdc8f49c70d677c58e4093c53645ee046c20cf36a97d941bbf6875c44be429faa544d70ad5be - -COUNT=8 -L = 512 -KI = c51f1639741323528787a3f65ff08010236eddb6ddbf09bfc36ba8d68301f29c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8dce33dad754604409856943576bc89403a67520b17e1536e691925ee926f25a3b621a55b381826aea16d6d158addad4e06983 -KO = a64524483e54f22326fa734f9e5babce3375a14a70f2003ddaee0715814657e31e7cf3f0311dec1e17c9037f0d984415a8bb7bb5b4e517c8a4118340e2e29dc8 - -COUNT=9 -L = 512 -KI = 218f65adc78313b34746410983b12df6771193f85ed7d2a303592fddef2dd8f1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 996eac73c36c09ee3e84bdacae06b393c5a785452226ff0d95c996ab1d8472d58a2d405a9a68d9cd554a5482a2c77197612c62 -KO = 8351f6d9a8b883b275468e77c03886fb0a4237108c6b77782fea22be9a11f07e6d6ae47b783b25a94442b781c4cb7b9c14c315d4dd2e1ca471eeca521f66bed9 - -COUNT=10 -L = 2048 -KI = af81ad313daaeea31290ddf015c810364461e4bd5c02a789073b76d626668df3 -IVlen = 128 -IV = e7f294871ed20251f55c3f9ebdd6cd2d -FixedInputDataByteLen = 51 -FixedInputData = 9a346772a1d05696e989e87bb5d7bc06ef04b660833538efa9d1263e2c817cc6c056372bb46df02008960e682cf75c95b72e23 -KO = 9a35a3eb9e18cd8b407179b810373e9a7fdec5a6bbf055d23ce5d72c01fef8f487a71deb1a86c9c9425b07b648478f097a179089478cb32e3ad591f4a8ce787f347437dfb8fa5728adc8442a16a4ba79eda026e621bd268724c67f51d36fadda68d3e4504fc98cd90c45c4bf7f2432277546be287f5d02862989311872342b8bb778bc4423976b57eb8d7861aaa552a69fafc147f1d8390c56f444f4d9e45bfd125ff42d36f65430899ca7f719d2e785824638e26174c05edc89e2754f9262994632ac9c071f2b58aa9926140b22051ad23322bee753eafbcf115d877817ac1779afa2f9cb4fd95985ac863661153b7c8e18e12b93ca0e6533c504877cd6c3cf - -COUNT=11 -L = 2048 -KI = 1787a2792c4c89bd6f5eb3ce97a607f5a23922feb79665bf2fac4e8be03e29d7 -IVlen = 128 -IV = 7d0e82292eb87836981cc3ac64839107 -FixedInputDataByteLen = 51 -FixedInputData = c15391f23f2b6dce1dc43c17cf17ce0e4f325f23b32290e5155761b64249c02752ec802b5b4ca7c867b6b645ed3aba20163d2e -KO = a688c574e0f849a707be0b36da60215fc2ea1cfd817388ad186f64a7d1d8037c5ff23951b316fcf10b8a94e3ba2a68b91a2962bb3cecb43ac862e48b0d6423dde5c7c55b15f9dd6c19bbaed84b08508fcd4ff1df53d7b6c0d0b8ff7bdcf224b3d391e7601ef0efce18606d2756648bedb2e1a46d22faca4f02724bd71652555d1c26054738bfa8ec7c0f6248fa2d25f8bf37a7b03e7399aa34576a661a7430448c8790b6a687f377839f399c61d1a851c587ce382e7de3d49d8caac62b87ff957abc9b5596a77216379a7ed0166ec27c226ba6ef4995e69b0d9b226202458266423bb63202c4ec51f94d7405da767b8856a7194984651294f29e3b95bca2f98a - -COUNT=12 -L = 2048 -KI = d019470bf7eede08ebf9a0d4da4846e789abd845eb15fc260c08043a7248ce67 -IVlen = 128 -IV = 5859ac8cbe42d72642b81fd8fd558f37 -FixedInputDataByteLen = 51 -FixedInputData = 38cb5ad7a3ec4916c5388d802eb94cf684ab2c2f12b159b11703a2d47639bac9803fa6f1a216bec5409c0fe182d85fb64f23fa -KO = b4182bcc83059aebaddb9f545d33db0530b798a3fcc81c7d5d7802351a029d8866daf886d122ecdd997583eca4517c2e4cd2b0bed86f54dd5679c76b14deaabc3d7a3f0916ca6501beb875f27991c13e65145648988c75f7038c78648b884c1e42183fd803146e39750576c49ba072b728b087e62dc38acf1d70a959fc16971f1914a01f436e2d150cb104359705a4637fc16be3a3ab973211fa5bbff26d87f9f628fbdcbf42401bda0217adb8acf8b439ea9c8120aa48bf92e4a71834a0259fbcfe27355a24aa45403199292bc935d05382c1fa8146090f1b362958dd2c49e8ca4bb121dc56359c04cedfef4afaf71809bbe667c9f17e37a3cfcf7227544e04 - -COUNT=13 -L = 2048 -KI = 3259eec5bfcdd3aa24374b7778bffc9ff61d1d03379eba74f59bb0757e46e419 -IVlen = 128 -IV = e3ca651a93db18e02c966754301b4bd3 -FixedInputDataByteLen = 51 -FixedInputData = d62e540a69fe4fa2a3edbcc0962292570dbccd65068ee46621c8a7d898fa787ada6bc78a6b12561185b8097ffbdf4dece81541 -KO = b2c41570c156afb76bfe103632fd867e359c21ea165d4405a2795b42c6ac19c3045bb14524a5893ff63bccaea99e5f429a708cfefb42f03724d3991e6e710ae2c3593d4450349efdedf5544c0b106e96f145b0788871e4d420200a9e3d40ada571b83939b1a629b46df53b3e119b18ca0b8b298cb9567e6ef4cda554fea5a6d0a60dbd32d7e9b3f8b76c89cf293fbad8c9c97557105210d575c46d205c7402a302080e4d4b854c8e5fa5d7ebf824ed30f00281225bcd88c6de0afe060a68cbb565eae6ef359daad756a728397592c8c57b9e7f57df3f08d4ba8fa044b296b93e8d2db57b227a184417d085ca9720c106b08cb5595b1c8eb1e252f61d2f2fc705 - -COUNT=14 -L = 2048 -KI = a3092df087b3698a1b68eeec208eaff3d65a428d6dd792fc2b81398f5025872f -IVlen = 128 -IV = 6c1d62c611876c8eecac58fb5958e5ca -FixedInputDataByteLen = 51 -FixedInputData = 9c2bf7e1c0182ecd50386c160caa7ed2deb906075d9bcce617ba8a65cf4932ec37fba57ebe22972ce1a830b2a1df29a8b3c2f1 -KO = 5d4c0fa3dc8309cd75172816f8d7d44795fae3ede1fd537dc6972d6b9bf23dac1d118ec906269d3d8fae3064f349748967616f643eb775fb7825dd2f94d98e5e12221ce9ee40967094ffcd0a8bee49725b76747f7ca2b36fc5baa7aabecfc4d17d4417e7fd2aca91d2f9c185a52906c1deb9db7aab7893fbe033de6c942a28f8c1588f4adf48d9d578f37d6330bbd39b1d8df83962dc292ba3c0697cfbf78d89efa4a4906bcf81765de924593120ec97b82b414f94205ac6a717ef45320119c6282748d6591c1ef7fb87d26e84bbf377a72d5065d5f2943bd0ebad743289a9b9381f28522d4573cf4889ff658fe0cdbbb2edc578ce7f88a232f02942d4a5167d - -COUNT=15 -L = 2048 -KI = 00d8893cb20c1857a8b47db20da78ab868a9569ecfca133b39515782eb1a4571 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f7d4c3499f724821869e86e55a286cba1764942209e6e7246bc0ab46e0786c58e4b7de743f1cf125fc52a81482285dc3b4a96 -KO = cbeee5f266d82b61015c701f3f5d5bdcaae67322967300023266b764e1c08c401a9418fbc5f284e90fecfdcd1ec1321d0dd1b60136f141cc0bd79a16bdc68fbbee770d2ca3b781163345e0f853abe5cbc706e2ee126b998eb52eeed77802e04397d5b6bfd2a4f7d84d34f0c13d5b6caf00d777dea39b498c90eb9cb296e46cde1f242bbd793672b9c0f86dc417aac2522cd27c9d54c3f222e2f54ba305417319ca822c8bacc15625cf2590a164fd452e9a3e3e39ffc36761c680acc372ea74bc38c4a6321349aacd85a8cda5d4df4ec55f5aae19e9b6389f2d815fbcf773528fb2c27b60905273235c64e6e273eb13117e36b65fd4975dab0f55ce8e056985ef - -COUNT=16 -L = 2048 -KI = 0a990541fdd5a951be64aaed1685d180fbae204f733d78e46830c7ba4f1e3759 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = de00a094ecf4413175c5a65746d8b386e38672b80a4a7732fc19dacb95d7a780afa211c0768fa2b5f0ec999f5c8b281de58502 -KO = c56a837986f726b19da74fcffc1c3584a5f50838525a871d7dd713a90a9f39d83f20aea108c19aeb13e48110dae626b94281c89b46f8c538862c7ad31a7e4d0b0bf2fbdd5dbc7349313a73e9eaf2b2017fef1e587530584c6d2393517d598686db67bc187135e3318853b0e6155817f2bb2127b6e1ade890d66713c84ef685f215f519bbb6936430f01999122a3ff7bb3711214c26d55105394d1e6110e4598822126b4ae322cd0c18482eebd0cb02dae05ee6fbc9d33b43691a5821ef4fc681cfd97eab5a25137f8cda5b0cf46c42ccfce62794438158fcc4eae4239ce8e33978fca8bf145d3ae32c9df65bf24abccc04fdc6fe86d120b0aefb0663f2d6d18c - -COUNT=17 -L = 2048 -KI = 5695756a3a0b71d8904ea2b9a5a7cf1cc676c58d8dcb2f4f8b4e444a78ee4c53 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d4ceedd10a9cf5bcc027ba7a285804ae8230904d608195f4ba7b8d88125a6e05528b6a71007a2a3367d0fed8bce900726eed2a -KO = 071ef07002fa09a2bfe7badd6020bd160a7209c0336a60be04a402dc85dd49a33601d564cc3ddb6d70ced77f5df2443a5c99dad6bb86357425f0b3fa29c54c118c4b863212ac3ab2bd9bfaae6bebba70d7fcc06dbe863beee5509625a19f0857632443cf8cc7c43538d01d6743202ee48e7c50eae4978a8e577c85410a99d73a9d8d881fa94b1640e2883dd6509b78b23575e4f335a5d657fc4063b96bbbee4b44c31d302afb3477933e554c7469bedb6bdafa30f6125bbb9ee6b619eea8d8cd553ecf74c00241492a7d723e7f446b5ac0561e26ceb125afd32d5986879b14f75e248b3ab6e5d6a2c729789925f775cbe867da610ea48cd1167734005031e810 - -COUNT=18 -L = 2048 -KI = b389b5433f01744ef34943afc3e9b1cd8d04902493c1b6148c4d83758bb32e07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb97865ee283cb853054b8f475e4c668afff96b7f9c6a158d382d513a8c5cdc8ebae8c67f670da5a2d5c58ea788f0cd8bf1070 -KO = 48368d197d443cf154ea88ee80868bd6f73dc58c4de5b6432aea3117b8d60892ffd837deaa63846268e0c684816eaa58ad54c45dd562dea6c6217daefeffcc986752021a0b4f0cc0cb9f733fafa1454af0ca9d89427aa67e147087adee3428a2ed9b72036f7964ae27a28a5c2926c86c903bf9d2770eb83ff10404c0558c122e8623449af48e3be801522770b43e1aea07e80226a0966d8d9a3c9f968e7509d52ecd876bc0858db2919ade57d56f876e74238ea1f83eb63382e9f4c92192ceb85af9a2e0830cd39ce5a943a9f20959d951fd63402302919b3e84986d9a7b937bbd0bfe013e3d4b92f8260712c12ff441306229e18b88615e5a6f2866f14a9ea4 - -COUNT=19 -L = 2048 -KI = f3002587b27128b8bc2e13d543543aa0a7f45fe53ad0062d7212ec56bed8161d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 241c78435157af07391eaf63877bd805aecdd7a24421dfdab38aae1daf65d0b80fb44d2c7488f79f179e3fa1570838e29cd662 -KO = 1764769f4802298ea660f6bd404f2467c55ca9d59c4789f23318f535bb8ca6a1b1f3d2398989910e8af51a8955a2b6bae9f40b874f58bc65eedaa0868cfaf1e3892a54be8e05d0b041f3d4da8dde59db6aa3503cdf0d22772180730645918ff922bba66c735b2fd8d692c8699c70c4611ffdcc0d433485fb16d749adf8cd33926a7c15035cc53d5b18a88722c267c1147ddcb9649d9da4a4752d32c303f02bea60090088fb0dbc7d3c02eba9a16fcc2671602bfa5a9d8b6b26cbb05de5644be0197a630127b478573439b4abb497d2645be5637fbb7bf90e82c343a0e71ce693c184427279c4dbaeb0d27245f0c72d8fc6d869bc2dff3329f533a9bff9289b2e - -COUNT=20 -L = 560 -KI = 3f3b126d217e8056954bb322c0445ed2a9a174b02dc153ac24c8d2b69e534acd -IVlen = 128 -IV = f834d95a542562e0fb40d67a4f2786ba -FixedInputDataByteLen = 51 -FixedInputData = 2f878aeed7d46c792894fccc85a6850eae7076881bda55b35f2cc1a4cbe20fcf31261af18556c61884d7c31b869c68cebda4ac -KO = 073971730f43fae852bbf8dcdf9d3da8d829af30a9875bcd18c2f9884baa0a65eae09236c7590d099808a25d54cfb6da61be2700b65d9d78ca0248edaa4d80374cdab707c47b - -COUNT=21 -L = 560 -KI = bfc9227f65aa241f44b238deeec7807472266d0859daaa24b923edd24ec8c98f -IVlen = 128 -IV = acc46a17324ed31b4627d0cf302c092a -FixedInputDataByteLen = 51 -FixedInputData = 27ab503bdd1421ae307f984f7d336c4fdd49f0f1b356a94813a167f85ccca157f75867ce50766744f0254c52d608083d56df72 -KO = a108163ee183e11471e316b0cd4d62c583cad9d9b8ba3d053330d8232e34847524b40af0eabcc547c0781054d52a8cc558e1a94ebd5c5ed8c0d500585fb5ceb7bbccba447bbc - -COUNT=22 -L = 560 -KI = 570d84d0a0cf293aaa9cb172530393ff48f55ecdfbd70a2258a40aba28d8798f -IVlen = 128 -IV = 5469750b4e9487ed608a59853c3f971b -FixedInputDataByteLen = 51 -FixedInputData = 9304e4b211a90c1a69f3a7a62f65985d35bebc49748da25cff102b131cac3cccdb1bb8d590b1e8732141e426cfc9670de6e0c8 -KO = db46af81ddbfba5d42b73cfc9fc7c3f472b1a58f0b22996c3b3382d85cba00000f5225d19f51934f2c09a446db4dfdb28f71b786a31163cae293e851e54d7841820713167435 - -COUNT=23 -L = 560 -KI = db44714affab6661078b492c1ebefdb9aa12dde57bd9eb767f624c26ad8f28be -IVlen = 128 -IV = 36e016812f35c346f84605d7e68026f9 -FixedInputDataByteLen = 51 -FixedInputData = b035220e5149dd1953da9f5fd20ef3743ba5d5f753a2d19805b7e205e1c4fe99e7cb77d7bff4121a99b91b517be54c3071cc04 -KO = 65d4c7bd1582a7b1ac5e144f55d54b717b30e00c78c0cf8d39a3495bfeeaed807a36fba7cb2ab35429c3ef6c0636c764c33f5c383df0b18adbd073cc94f7676ae8ba4e3a4422 - -COUNT=24 -L = 560 -KI = 50f0696d0d897740a74100b343cb2e4ae45d0b72ed5b07c699f47345042af5ba -IVlen = 128 -IV = b6b5dc8893416b52bdf6a3a16688608d -FixedInputDataByteLen = 51 -FixedInputData = eca314b792884a0cf0a2f4ecc426c44f3240e2b5cb98e9a26158a893963ace0822c53121bcda1da959fc358d40ce276782a829 -KO = 2a5a9e290be15cfeb4978793d073eec9a352b8202318ce4e5e3e47ca504b3c7de177d063bc36542dc392d1f0bdabd9e20287896385d38128ecb67e5b4d866d29e785d059a595 - -COUNT=25 -L = 560 -KI = cde53d621f8ee181dc0fcc0faf6ca58436ffe36133a694c4c5eaf21b7e1b3f28 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d44e6be9fa828ba4f8fc0f79483ade6f653ada54385ebeb0dfc462bb36c32ad060b6f1879a4650af7e0b446ebb3c1b47105f36 -KO = 6b17f5f40f2c8c6d0e863eb921387704591c46e590703e93dd0ab08836e0f3412ea3164d7ddfe4c05db5c0c0b349b74f0cc32ee228f906523bbe89fd5560dc5cca2510e3f637 - -COUNT=26 -L = 560 -KI = 000fcdd63a3dd5c6b4de1d26e5c0a15135cfdbe8609d08786ea5f46005180cd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 37998c2541f6d533b6baa19286d0a6747063115bae64ed7184560a48c32086f584a950eddc8f75150be1b642096fc253135925 -KO = 1b213d1aa7e024b69feb8e43145fd8c0a697ea154f8d804ccc2f9736ddf89932342d5781d1d739989bd0f49958e960d0c36a161907039cc10ca34a177a646d93d0db6b8d84d0 - -COUNT=27 -L = 560 -KI = 60f5aeb47c60b34ab0532ea4ee03a6626e3164d44c1bedf8772a3525a5c50889 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d398c2b513cc98d5c5806ba13a2f0f1344dc68314a52db8f07a0630fea5c420581be993155201c56df92d1c5e311ebe95d4d45 -KO = 3e3e51e951511c1f0c3665b65626b4e422c88da1ef97614e6f9aacdc672c1b1538e2e31d6b09a6372f63554b94181cddfc852c93ab8e36b9a567a10aeb62815592c57417f109 - -COUNT=28 -L = 560 -KI = 74838bc1028d570d2bcdee5c868e87c3b3c496f3d5266de429c28314ac900a58 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 51288bae09f5d0f193ee0fa29a3efdfd151272870ad67574286e00edb3cb5cee3b559148bfe2f8bb4149313be9a907f73b4aca -KO = 0d98b17ae2347359eb51c19fa9d50e2e9da55274eddb646359a7d9ef315d084968a2c06787a916495c3f7428b973b6056d9bfb9a49cd28401ff63141f1c79e2571049ef0eee1 - -COUNT=29 -L = 560 -KI = 2ec60b5da5d0c7b1389fca587fab54913d4d0bbd64df0fbb2a1c98b3dca27cfb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 617ce69d6444003fbfdbe228f4075fb82fe1bf24965155c60ace2ae56fae854906274dab209543ce221bed510f0885efddc3dc -KO = c158b235cdae46e95b3345076185d7e5d8f40e70314a6fca990a912042af071030026b7d16cb347344b2eb9e32a0491b0f263172386ad878b3f7dc618e915537ad09f5ff604a - -COUNT=30 -L = 2400 -KI = 864efe11f719b18c9a27bcd61568975e5ecf4bca693e97ebf9038d23356dcdcb -IVlen = 128 -IV = 634a30807e92cdfd59f11b89312a759a -FixedInputDataByteLen = 51 -FixedInputData = 16d7757b881c71f1ead72f2025e26effe778dd67961860f286f2278be98ad0e765414ede58efb51816b45050d30455802facfe -KO = b9c7be1fb261f418cc130858fa9841f24961d7fb63d7bea3e898aac0e9217a82813ced622067b4ed20ccd364051673661fc5e2123ea70ee6fea31a49ee2528d8b6c7770ce6b8f929cd4e3f02a0d7b0fc7bb0d5f7f2efcb7b293b5d045ca8499bb49cf0ccebf378f291c070f31ce9601a132fa79a933862946c5b775688d377610271eca374c934b0671460b61168e43d9157e580025cc210faed5002348ec8ab9341d9e1ecfead845c3c6a4b4cd322a0408a903460e918f21060f3759b969cb2f497cd253526bb2a2996c95094e9273b2b74f4d9c99163a7a1324e410d4cf929504d92b0bbe9c906be301bae77d040d786061e54b1bb1871792813c0e3eb8f6c0718e7ab70e0c6c4260b4b122a7c15abae7525fddaa0f15d155061846586f10b9505bf6bcc1cad8676a0a530 - -COUNT=31 -L = 2400 -KI = 7de8ec8d85a19018678c4d7b16b4c60acd81dd8e15c35bae6f716e99f3772811 -IVlen = 128 -IV = 40dd658ee41d2c3023215948b035d77e -FixedInputDataByteLen = 51 -FixedInputData = fe11d2638e0e5a1c1c1b4147ab9187444f84299b1f5503d047193248c6ff6be0ff249dee529397c96a0ce8d2dea0f158ecd06a -KO = c0c07c906028ddd816bda01561b890a9e78571fcb4a9919d91b1f644e1d3c8b1c5b8b4813973a2ca2df40800a3bc257439d4cf4339be43c054987abd2801698b6ff72edc5263c85d77d64e7fafdb076984e09efeaed2339e273e4f7887108a056a93d88415629083575c4ba8dbec193fb89d9116cadf96e163e3b32e5391146be9ff071efca17cff234f17c1280b2c5ddc9077f442b5f7dede302f000373cf8ad809058c90063227e3ea5785d281fa7a6cff4a71783c90a54607f65391cca45dcc4f5fb98b72625e92642a51aa137d1d5bfa4662863f46343bf3692d15fb432eea94714258d7738a09915cf2479db2e72c0252d58380f4457d7fb4bf861693794032f3346d6055ed3a962c3b303afc10d0ea8e015a8987d6e31859f865759edb78b38d8f5a633b83ae74be28 - -COUNT=32 -L = 2400 -KI = 0236579981f898a2f54f2caede0781c6453bb5e83d2926fbdcb6439d835e8713 -IVlen = 128 -IV = 044822ed3fb181a6d6e8f2e2d657b4e6 -FixedInputDataByteLen = 51 -FixedInputData = 71b452365cad6ab8cf2d93b80df35cb1f2576a538f415616364903f3732abd2589ee123a30cde173c7119e68dbb0897a810f39 -KO = 48ffb86f8f8b9f1f889c7e99092449acfd3262c2fa89c6b0f0d3e7bcc471557db13982b4b492cbd36fc5a228e0c7a16529b03a95d3b6cc2e1602f4b5c93681233aab0890240d3bfcab6136eacd4c8ec5b7955a05233218804f04cfa5420ce73e2707ad394b2af3e4bd57ac2ab117b73f86cda16b27eb479e2cebb45e57952cf7ea2a7acb4fd321481a916b63b2fe5f07b2c3adbbff0d3503050484ca37b66a30ae9dee63e5e3f9d01948e38e1d7daa647e4e13d8ab78408f43b4cb94e2dc542977a4750ba1a616340bd6c7e59d25d5ac8727aa2306578d9e698f12e13d3b3a2dbdcc1c2226c68b30970cd58544c3c97f615dd5270b358d0810cfd50f3a8209a924ad833f77b46fdc721ad8cf253a38cd35f64678ae2ddb55dda20781dba37758af46ec7512e6e3d8e9d81657 - -COUNT=33 -L = 2400 -KI = f237085775a5885772a8fc538dd081a9da53dcea5bd47f7ed9edd866f1503f7e -IVlen = 128 -IV = 4c6ade2cb9125422ce02a3ac42a86759 -FixedInputDataByteLen = 51 -FixedInputData = 76368ebd547683140ed5fee9788eaa8599b61ca18b92488b41f45692a45ae5cc33df71d33fc05e4782d7a40758222ab8aadafb -KO = 5f07c898827014ca3fb9d77ae9f588bd1b892eccbf4de11a2d646a1b0f29b3950a7066ac28c3284962e54738f41572956ab086ca67ad65543968965ad98fa8fba3fd3fbda2ab0be05d253ea7966f335feda21581d762057bfa117fc94848d5dcb33e1160c462b68832006e110a564e6a3866924da31a54639c06a6ed81a877dbb0b530b612d075b4e2d63c733092f1f16695be398c121e364a00f9e454220bdf323b414043046aabc511825d44e472548c77bce41f16824c44659e897d212b60a8e24590f70966ba3bba0805d5902654245641eae101243a74d62c6bc67356200429e3875bb7ade83f926ebe20ccc3b509af2cf8cbe2ef8667b0e93d1c764445c1320dcfef77129094dd657cf1c8607e16d20be2445eee5de044de084547290602f40bb6871b337ae69ce50e - -COUNT=34 -L = 2400 -KI = 0d2b79e83485f1d111ddd8a7052c9750b00e1f6f5ce3350910e46a86985682e8 -IVlen = 128 -IV = 1ff5d317debf0c6311ed2a19576ccaa0 -FixedInputDataByteLen = 51 -FixedInputData = 8f3e3b7a2f4460ebd9ad969bc3c0d5fdc0b2fd25cde3161d0f0f09fb5de1dfa65081f6576354ed5fd654e300ab05cd27e1cf1b -KO = c0aa30e9b7e7a8c1aea8c524ee4b37a75dae279ee50cbed05c66a0f696f92759d417cd1b2188093ab2a6540399de342abdc40bedbb3f5f24dbad7d9ff65975389d839aec47b44850f743b842a18b83ffee208a55f923f003edcd048ae6670ce96eab44d34cfd71f8712802f38a3de098e5f483a3ce0f0ff24f6645c8b4b470fb3bf24e4d02f853c3978aa14ab11f8be2fbc58c91118bc962286e7e4741727c2759175024c663ae57ff1c2d7da3fac584c2117bf503dc9d0ab8ee5787f0e8f393a7ffe7330ce211619bba4de3a47bb4bc29609eeacff734d68200d6eb52c685805e6af24ef1dcd368fb769a74cfc62d8d6a28c0e142f0b2fa12acb28f95436953342af8a665a22068ad7e974874a01ccc66bdca1067ed6aca6c667ea39a978b5710e2b9e2363ac1497413ea91 - -COUNT=35 -L = 2400 -KI = cbd321c3b390e79e74be8919cc939a2d66e30d858a1dd389cdb237b916a787ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 06023b3e25ed4ee76842f40e29969abeda75021ac91e071654fc8d5d595ac0859ba026e2bcf7f1e3f933776b74d720d8f0d017 -KO = a0050e6d45209f0744e143d05d5b7f57431209e7cb1eaa1c76cd41aa009910e6f49cc3a921f6192c389a4c2a1216e04d502f0187b50321b2a171a0cc7cc12a97149d6a7166b3cad58ad47012c5df9e4495223fe8fa2f58fb7fbb31bfeeeaee56bc925394cfdacb64d35afb34ccea3400aefbc7378f700ad35f2feae956bd006181f31ba1cb8fb3e18a3902d796f2c8378325fd5e996c565af4f3c70680afbb87f03f5b63ad11a20db9148d6ab7c696a383589097f698254b2bdf8c56faad2e369f44b2ab3968aab3df2685d7f290c7694eb19aa85507b25499758474ebe288bd4b5dfe2628098d7326f927ac8d36209df470ec1b6cbf337af41a390632fe6698d893ce4985eec49731a793bb26ca4d7ef00d6ad9c8472fab603e9ebe7c15412a5edc8df1c9aca20e663f1485 - -COUNT=36 -L = 2400 -KI = c6fe23db4a6c2ad25e67b9e9fb9106a6a8dce19928c2434b54ee5dbfeb08dc60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14f49eabfbb1c8143c1ab66fc84163b9f7474841a1f739d3f97c8380ae70badc5fd749e110245ff6ea4f02285616c2cdc94f0f -KO = 2dae6223064855657b54ae85630ecc94a4393cac30a42512283f5e4fe6970406ff59eb03cadc5f56821aa26982546048add05d77a747880afe8a553734e7e393304f606bc4f9b5c619b6b9436d79025bdedd6846329f866a08be7b238a99be87177688a739ca10321d60ce624b1e648d1fafcf7ce4c5986731fdb4af2a97ad3c1d08eb41557e3086d90ae6be49dda223c47947a5683c412508b797967d9ea086e1c24acafb24bc7e9f00e1d801f525ca4820b2800af547c450c46e908511bb00df55ecf5361ce35aa89b3eb718e4e5f46b5fb574fbe43fe206654a3fd65f09fc62917b9563f4a04fc6f74ce2f30ff5b804f04d065e114c18fcd7e78911d894b049fbf25512c6279894308c515b8b21c09c0ad3ad0e26ded38f1f182e2fe155f602dbcb03de7032771887f914 - -COUNT=37 -L = 2400 -KI = c76b6d8ed51086751bf838e1b818bb594f2ddb0dc377c65cda27646d0e54cdfc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52c9504229736636c874a9aa38afc61c485adc97aa4f9f4d2e2313a41b1161a6cbdf0fc3e7fbe87e961d40e49bf939221608b3 -KO = bd596b160e8509a9bd6f8f3b23804ec35e4ecd25e9db2b33781f119ed16414e441684d21fa3d11c9be9fdbd257cbae7dad34ee0d030078c6af5b9c334ebb73511387d74fe3c39f4e653f4221654d9573399635a8d109a275502ed0271682d5a3206a86a2c06a7ee6ddbd2ac3b1ac0c8ba74780807dd0267f04432a8447bb545454cf5301e8744658bd205aa6420aa85af8ea2a750ab2d4b043adf749cb90d2da5bdc101cd16e31da228a71dfb0f5bb8f17aeab093d44509225331e904effb6944d0972de8c73f9de652c2a9bc735edb615d320a2d613a812c0342fdc0b1e7885ddacd82d45bf1c6a799ef9f179924170ab00e468471295a878682749faf8132098a1ec2baf29bb296f5ea3cfd7cbc6338fb4bbc78dde7f623c1f3600f0ef9cc0417dcf93468e0d6853ea1195 - -COUNT=38 -L = 2400 -KI = 88c22c2033f63ee1c22a53a191b5b1f836e5d0362b59a204adea8a0f6ed316f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3890b8d28be533ba8566f4fb50a36be81f8a51e2875ece8d95b9a92904606289485bbcabdcc960396c96e7dbe2d367fb528dc -KO = e5a91b8d8d84ae083a79c4bf1ed17a65d4dfbf79d7b4487bb08ca0699b31817f12d8c9238057d572229cc38b676fbc2279502f77a91559735fb0ccc91ffa90f93c506971393688bbc59004319440da9dedc689773ac1f750ae7e6835361520cadbb02bdc26bc28cf343574ef1545fa03ea2710d19b387ebd860c72cb14f726eb4a8c9086e94cb365274f3db828ac3c10dc3047af039785093ddba123c5094cfb1bb168472b172d49d33f54bdfe5831cf4437183df97cc9ad896a97bbe45fe239bfda928aaa629d0a524b15aef50a49de4af536bcbfb43f70f100e3e353d2bc270ce4391718cfef0a35942d760809a7a7d7d0496135d4d1c0b583993cac323028d8d1a61c3f47488991581b563fa873f0e994937fe4ef6a3e0b5c091b6a5a64dd726dc4a21e72116003af2d66 - -COUNT=39 -L = 2400 -KI = 42efa73366bf3f28ad6e5996b4b54371930adc5e0de80cd0062bef7094240d83 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 152ef019107a9c379a7a1fdb1f52303680b8689c895ba1b6c62fc710b72f2eaefe0ebe0cf20d94954860d9f9a93f0566e6c6e2 -KO = 922a39bf0b3308c317679c23a4a1594c55dcc2705bc58dc7db0f3ea9b801d2bfa2c78f2b36fc9f585a447d1d62db8b0ca9896301901261cf60997bf46b0a86212f2324e1cfa3de78060781bc34acf19c54a299c6ac626abbc5f10b4767802dbcaef0bb7e0775de3cdc529bb97966d018d513975bde917e5493aeff1d7a11f1e88bb7ba91f36d85bcb3002c9e8f33ee8be4fd8c1ba3f88d65596bb57169c6fb540e9c39b4df9d972129a9ee3160ddf5adb2f671dc1a7a8362476b2b6814acdfb5f9745e0f430bb9fc258b5b2a6c97da7253c76dab7ea6cd680fb96f078dab3f1b3360238d4dcd6a5c25b878901186bb2ac0a1e3ad29f36d834cebed22adc3b60a43525dfc9344368a7fa1fd927fc11f3c99057dcb829828aa60f88c16645af2095c541f404d9d7089b258da2d - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = c64c04b5ec1e7e77dcdda549ff983045d3c3b412d7f39d88773a1b6474f5c8eb -IVlen = 128 -IV = c2735ddcbf60efb6227504004b478096 -FixedInputDataByteLen = 51 -FixedInputData = 33089c7b9e67228e2a9ee3d24c56516247bad97364d95be63372552c149f8a1592758bd57c3a64d34310f73c0ae72020602b1b -KO = 0c87e520724b6dc7ebd0a8b1e9b99d7c8f5ecc4dcfd291f0bf70680c70c906adf8c6fc87df8beb52c81e301ca3e08c2153221ea6e70181deb6969af965d99a54 - -COUNT=1 -L = 512 -KI = e16c70330b6695e1c434c6200a08f0b2318a261fae2ee4fbae62efff792c5ba4 -IVlen = 128 -IV = fe7fb7bbb540867824450e0477a1d39e -FixedInputDataByteLen = 51 -FixedInputData = f0dc57897cd7d9e784fa3900255dc40c908bad1f23c0251c5c72ca5b86f8cc19452b7162cd706d4b99f8271f8396873c11f942 -KO = 26cb58f3f60f15aedd96ca3d1c11224569607ab53ca48912602c969a07b4f5b719eba4f97d22714c9ccfb0346782b4574524d8f7733439141270511100e28f8e - -COUNT=2 -L = 512 -KI = 225526dbec8c95e0816e22aad8a3fef9b9a3084bbb71f324611cbf553a865981 -IVlen = 128 -IV = 02bdecc50a96f8f556b60b15c1b620ac -FixedInputDataByteLen = 51 -FixedInputData = 4e68e9da40e25bb515231a80d7e99a80b55f39a937b3ce57695fe44d2d7d7f127d1b04a1e5ef7dd6014aca1e87aaf41957546b -KO = 2fe67f9d77b89bec87f7079ac222fb137fa51c117eb451ada64e4be2aee2556097d0c2010b64924125c330cd6236be2c1407894a7cbe1f6ffd2289e4012c1a5b - -COUNT=3 -L = 512 -KI = 8f5c1fff66ddf218d6dcdc8a76d76da59bf37a68f6ed283fe52f0879119ff324 -IVlen = 128 -IV = 48e6b6b38df8fec7bfbae44815addf8b -FixedInputDataByteLen = 51 -FixedInputData = 6c96dee54b503b6bb8c803176688a67a0305b51a85208fe7314f38a6610e64d3d02d813cf14edbc7efbefd32c563bef93e13d5 -KO = 524cdb0a60a0799806c1e9c158b5e1889df461bcf7ae94b2c7380b879ef1eaa2b7574c2007d5b14ab132ab820567132017d0d2a2d34fb3618c0ed5c6536e8dd8 - -COUNT=4 -L = 512 -KI = aaca59475e8b224a98757b45820c2b8f401af7b44909a80be7e01535e5dc68c5 -IVlen = 128 -IV = cc3f999aa1e21ade011b673c79f5b5d0 -FixedInputDataByteLen = 51 -FixedInputData = 1bc654d9ad53336a111af698e174068cec56437076c639a47ab5887a9e67140fdb6822a82dbb1529adccb1ab1b4a7005a4544e -KO = f4273d04f837938c187955b6585b2ff1bc34e3c19024bedf38b2868ce44de277e53acffda3f9df484da24c4d5924dac477b96c4c1f9529d15147ea14316da3ca - -COUNT=5 -L = 512 -KI = aa671a5700b55364225a812ce598da17a65d0d62aa476401b7258a00de45bf5d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d7c2bcb285e47d053e8e86880e0de81326efde6a7604c9f6ceede1daee94c1a9d1be198c4ff93504bcca905f90836e371223b -KO = b1f4a0be3f714d2c3cd5bf54a60067bc276068b7e40df13e5961137fb90d33e8b4ec075a48953931995d6f38decb361fcd425c6cef3bfeed1271fb1121e0a2e0 - -COUNT=6 -L = 512 -KI = 82f9336d8a90db8bae1bb00364aaaff883712d22af7cbbbd32b3661d73f35df6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7fdb05a583b5e4d31d1482eb9aaa2467d47ecd32fd0526b55ddc7dd720f74a80ce28cf6afef96aa58a74584c736302fc15298a -KO = 04cc47a2db6e9a5cc07f83710d3f52aba067ff8dad6c8dfa5b1886fb88bd44860b21021895ce3074e0fe0f189f7df1765777db2d3126da589c899360264d00ef - -COUNT=7 -L = 512 -KI = 631faef88a81f6cc19b195f80904389fe8bd53ab44e10f5ee9db6a7caa0935c9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a943953da09a5932128943d0e958a2ff510e3f43bb18b5c5817c7c54bcb4460d0484e18070acedd99dfac8fc1e5607d0f47864 -KO = 5556c8ff4b29f73b1e29eaebd67440d9e38eed1665f2adc8c30484785854e9c0ebdb5f388736d60ba7a776dc1e53358705c9b53b623cf3d60e2f6debcf0b60ff - -COUNT=8 -L = 512 -KI = 1e6443741820ccbd2082a777be9f5be732ff6932cb732671c648880d0e1b3f93 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da0c1ce742cd6a6b72a992902f33267bb46574576e7e125009bcdd618620aa867565c8ec8860804c5ea5c54c71fbd9ae75c7c9 -KO = e6dcd90b6ee49b7aa374db00ff4b4eb3f0908527a15a92a7afeef8d4025713f948de7c29d4ca772c649784ea4ee6946afa556ff50f41e2bf3809247488f57a15 - -COUNT=9 -L = 512 -KI = 6cd9362bbedac740a82fb98c437aa2b207d2c08987e6a13dd3e9bdad746d8a61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 970e1e773a189e94d9213c414aaff5690a41ab774b5b5fe148b87a5dcdff0ce82d422688fe652f6ea470e265beab9751e65ac2 -KO = 783b69fe5e0c856849c0368f2d02f5701617e0186b5f9500a11c39d4004720dceb7ca8952f952ed83ef95fabbb5bb8f1d84095b18bc0516170e355107a8ef23f - -COUNT=10 -L = 2048 -KI = c2c73169e125c9d1245589f7ea0aa51a5f2836e6ec4c4db47a47aefea2c0552c -IVlen = 128 -IV = 89f0380fa9c40d0955a3f1a1cc1f831d -FixedInputDataByteLen = 51 -FixedInputData = 00b3027465b53aca7ce81f96624d54f73bd9a07901bc0e64896cca9e2c1570d0c074e49781f4e661dc71e81cd7c765c0d47e4c -KO = 29dd34bf22bcb215b057f34b5dcdd8930c37b064a589917c1bf4aa815294aa2cd17b4accc96ec019c55dd294915dffe2c77f52ac5052172de945b25b5b43b99b3b329f81ad650f37064215e35546f66921130690f9b29d3fb9fa8191a6e353aebd852c391ce6d8c52c56fcfdad052b44f9bc480feb8e0a66c608134a280b14d03e2c6bc69813f19ec3a08164a69b1d69965b1ddf5d6cc6ff0777a8345ce2d37d471fb0c956c43eac526756d3ced6901b2575c5a23ea008575a12effb8be8a706f0e8ffb0ee9bfbad2a61d6c80b6db7e7b1c0c8d6298a26f3eb346b90e9a606326df15227cad9d4f34ee2633e0945a68152e98cd59084b685e500031b8462c0d0 - -COUNT=11 -L = 2048 -KI = c9b96578a21c525990f5204a13e2094e1ddaacbf63eb728010c4ee9a8148fc99 -IVlen = 128 -IV = d2b4b1338543e2953dd814bb2a70acac -FixedInputDataByteLen = 51 -FixedInputData = aa917455a306d85685023ed40020e3e5a752f10c6fd0a1ee03adf83987a90f2a3be1d62db110ef375062dcfd0b36eb101e939c -KO = 606b47cabbc79bce1e63cc830942f44cc2dd9fb4dcbee85864e8ae42adfc0b426ea025555e69617c05a573ba72341b67eb5c0444af0c6399ac5ac417d21d27d86c6b659ce76f5f674eb1a41de45b2adbf1fb7704180ce4aff71351694519063aad61ac1ea1d6558ed1b4b1e9f17f2d803d8282495d42260ad178514387856de70c098e1dc504e7dfe58e96f19dd72175d948f0f65b6e3b1fd174ffab3e6d16340d17d118b122e91cbe82fadaed72e8d3e8b4e199d1d75956711a6e30ee6cf97acf9dbf661ca317cfaf6bf6be41cf1509944c17a1d6092920b13e012afbdc577baf7043ba18f27049878bbf3e4260046f9c8b658dca33430ef66fc9bb06ef6dfb - -COUNT=12 -L = 2048 -KI = 64e66304ae214d82b88c374bc5514a946fad392bc1fd8b4cb95df0795642385e -IVlen = 128 -IV = d3e92998c153af4c7ac11fbd52577cce -FixedInputDataByteLen = 51 -FixedInputData = 1862a3f29ffc55fd490804cf8749ff1c9ce5286e1f5a05e28a82b0b38f48bdbfe215923457ba3d9b79802e74bd03a290a4f62b -KO = 53c4ac73b1dbdf37a9e540e128f68005506d9a56f487660bb9166cea34b1c86ff8b320fb5a923437a4f6d36e4c6827787dd1b2837e6ee123ec64d36509d176eb7f6941cd77a1cc9e5b32aba47869da3d42879ac76a264fd15fae9409a865e20fafc64cf5661f20aeea5e40406931e6077f63818a1acba38ec1fc3a6b0cb9823027908ff072094a08adb77fe5f782bd38e5f5573631c122dfef1982ffb6990ce92490c778b0aedb055d2eb85f479aa0a9f742955393525158f4735d81393a490c305a33dd01d7d95f57eadc84b9f6cf0d799d9f8073808d5544e68240a9bb6ffbd35c80ace59322af5bef95c72d2d5f5b9e4fb2f0c9bf160edccd8e9c7f1eee04 - -COUNT=13 -L = 2048 -KI = 6ab232f02a978b51aacee79d8d6b81f08ff34b749aeab20632010f6ed80a7afd -IVlen = 128 -IV = 7e690ecd8ecb9cfbd503fbff4c6134cd -FixedInputDataByteLen = 51 -FixedInputData = 1ffcb6f8fc3b5db7b3dc32b0eeabba8fcc561f85d34569ea565182890c548a8de6b4691bdc86663bc7fbbb3c5e854a14cdad5e -KO = 763d5efd71dc1c9243d737f9eed482490a783d70566e04fececb77f1043ae62b250e9b8eeca9f5ff26da5d39704ba3b63513b5a961f5fa740bb807ddac199be3e530faea35a621d17bcc3528239a9bb82522e081ca0edd23e527c70fd7bcd4860370c6288477811390cb1350b15832a905e5e3ed80a5467fbc35cdcc6e65fd17c8f3f8f9bd03bbf04b74e4127266917ca847169a7d20b2c193ea1c2da21cb58c1786f0b0412262632ce55f3d8adb030615fb66bc9fa4482e705360740a05af9b0c532b651d73537593d8e38e98ebfd840fee8481c3e6a3d82cc1b11baaeffbee2891c698228fb4d77da2f4cc26a6394d15ec1def2ace8e30ad8b31f0828ef1f2 - -COUNT=14 -L = 2048 -KI = 71c6b6a9fd1f7936be7ebc80615edbeb4c6b27145bda8487d757bb557233662b -IVlen = 128 -IV = a73f109030fe95b1aa78182a3899763d -FixedInputDataByteLen = 51 -FixedInputData = ab9c8dd96b06c0dae1656ecdef05f3c5f94e7a6dd8672665e8a2d729ee601dae3e7cf80ae7366dbbaa9b0b2b3ce0d279b0d9fe -KO = 7fc53b524477a234a387a0f1b7882c7731d9ca3af01975a0a875a274e80f383cd626778994b261220f6616e1d23faa4bae4645b671bdf115a6f70279814471e8df7cc9075933dd61f18166260f6b55b36f3a1f141359fe7bff292dd816a25454ca8471d8428d7b1ca141bc88eed4a426aeb22597a947c9205c2a81a1dcc6deef29f7414cc84dbc47d679da0d4c4493844ee3886576e2a20e8e51cee1c471486d358ca6fd94e81d43bc1b68b705169c0a501e8e7df6906ed953254b40d08573c9d5cec69b4d23e673b822d23634b2292f63941c03a4cee47df1d1132608fc7a55fba0b7bc2a7b8df03426bdf8ee90b8c978b5e4f682a8eb1feac9886ca54e303d - -COUNT=15 -L = 2048 -KI = 9d348b3b63a7d975861280a60ce0362ab4367c49fd6dc7bd7c1dc38a1dd9a9f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a5c9ee9c0c9afc5251843859fd0264776fade8a973287291660910b25c2f0999613efd5b19e99bd77abf5c12e9496dc0443cf0 -KO = f90bc934d592d0dd120bb24580b0c51b3bb82b74ae6dfeeab6615098cf35ff3b720eaf41b578deb1aefddd105d375327a3ab85236c661b2db9984888bd28081525cced6f1d8743be5e2e50373ee1b52eb2f1776eba791c875081a1d9a6fb4a1d76978fe72f6a6180f2ab9e30c02c93933c4807c60e1ae602dab248f333e059e34744f4618db6df5db5114c2f0b52f83df2fcb2f320dfec693bf957af3762a8ec6a200b7a9a584f714aa6b026f87cb05266842ca845b0c3bad892e39754e29dfd6a5e72b09fce491014f1aa79a1a228fdf264f22ad02d42bbcb9fbb8a6dc986f653240721af709084ddd35c2f9ed4d2779d45329b9bd4de7ad7c6a3d35be026d5 - -COUNT=16 -L = 2048 -KI = 3a40047717b64108233c45739d375b83f8c7da5639a40cdccf4472eb2309e342 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 665f564ca6ee2e7c53c36ffb0ac555ed67637a29fd5fda3cc210e41438a75b6366d5037380b6bb8fbbd4dcc2e6ec660327cca6 -KO = a9d5b4cf353f3c6143b2b0f8fbadfb8c737bb0811e758325b4cf556b90f425d47b2b42c4438968957dc940892f10de6b8e1282ded453b2e0263cd8ff150d52dff82b9becd53e358eb4d22b5ecde8cc10ad28c299329118e33dbf234b2ab61f33da952b031f93385d6b3befe4b9e5edeef00da82331878de3f1bb0f4ca0874ab76be967bdea1871be687fa2e4020206879663e9909f6bf89a9fe347bc6d30d5c37dfc5b51ce7e207a60622d1a13be602957d62d170b1fa1959a2d123c377fb84788b6252eaec0b457dd5e85722dab0b1bc47674658108e129709a566917049d5666c7bdd82268a2e2336cb32117108727d268d1d6f1eb37dba705693148de1002 - -COUNT=17 -L = 2048 -KI = 0a4cf476ac9a15144820eabb8f03395d7bd06e91f35dd875a64df83f9b8be272 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89cc145826ad1906c412d9ab244329ed12788011b98098aad5ff6598175161f013e842b424a7035a623773ea3dd612e978751a -KO = 4b0d3cebe8c74862f97d8bac89af4c26de4eeec14c6fe52dc75178801efed7fb97f933f087cb72671e44af989279ac2114758571921bd45b0aedac93559e61f4e814e3fa12ecb0bde0f328dd1ad6c5c2bc0613e92324d8eb93a4cd8f9eba29e1aab7cbf9eba1cf1bd05792e0a27de9d0120d76cae941b6c0c735a35cf75ba6c127bd1558161027394c82e7c978a1a5814ff4a16b3e076d3db5ed4cef82659893e14d66cc975f70b471acdf125b3b08673856e8e3573ee679158607e33a683edfc4c0cc75159fc6a98194f03d12acf4467bb866366e9cbd245e7071a3dc91fddbf3d0cdd31cc0a77b32951ba1efc2dbffba15b52d6211c67fa0da879d0127c5bc - -COUNT=18 -L = 2048 -KI = cb8b78a2b226b3d5ea21ccad5fd70f88b076944056cb7b650ac9be66190cab7e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b8cbfc6933ba0d1adeecf54ea555be609880a90232ba608f67d0082d9b116659cce36cc41b5e9c631a9a36c8158f707689dfb -KO = 98e8558c7c7eb8490659ba9d25e604ec5d90e6c456069eb11646e7b5a10f67f7530b855958bd7f39feac4564ae7435a0652c207f418a2a5f76f1b28a1ada4dce70220f37fa9b1976b2db445844661a20353441efece1a14c20ff7a3c75145db1a35ccdee9f9c4bb3066be3055b80f825ba5d110b0831a32027a8169d5e25dd3eb2a9fc4b0079efe7e785215e81eaad7c1118c748ad5fc86c4a0d415566d1a10de88293677182984c890aacfa8d14cb9426e8397530143021f4dfab07f515e5a79d6653e17b821e417f205df5611ca341ada1a0453b82ab3ff6504e66f8fb6bf87f875e034116e65874d2f514df4919abb2a6f775046e3497f11f6b696f288869 - -COUNT=19 -L = 2048 -KI = c9146c0351b6e942633e99876ff4dd8d468c406becfd66af05473f97af7a1f1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d496a76e6e3ac86a6a3c3ce1223e10fab523daa4b83c5edf833a18b7d35b0accc15a45bf4f169091febca59fdf104dbac2b5ee -KO = 9a430dd9a9bdaaccf52a5d933a813f2b62375c390de0bb1d22b751f9ed26b684eafb7d0ec92bd19acd312eea4044ec4a4b8b183f9b1496da523affde78ea261f298611050d1e6c6c5f29ca397fa0dcf3ce87efa8231443572ac75e8688c3a3b49d03d40491ed6810f58eacc6c13c425a91305d72fdfa6bb0c34c840ebc60eba1644f74505c0544b7bbe50644e516e9eb0864d03fe2af13922cac9b898646d84125c4dfa97f6a707b2e2b50f278bfa5f9f750adaaaba56173ee9dcff77153d96863252bf509f54ad37c3b43110c6f210adf78087f808ccbef6268dc6076f4d4f521998a9cb86aff39dc531915537376bab9e79070d09009cec478687f0c5802aa - -COUNT=20 -L = 560 -KI = a65be13fdaa026e8fefac2d889872267d5bb416dadb87d45204167ad53da2302 -IVlen = 128 -IV = ca90d2f1753d7c21d7e3466bf84c2380 -FixedInputDataByteLen = 51 -FixedInputData = f4012fdfdeca75eef0bef64e3e1a9801605f4fc0179bc308fd9f22ed0e242c1a17de60c93797711e50f4cda0b6a7083760c88c -KO = 49359ddae595b14e5f1a9838b354357c6ba417f5fccfccc52c5da85c2c316b082a5c25696c66cbcb76deb8ba82b3ced69d1fd4a74948cfcf63c537fc38c7065256048895625c - -COUNT=21 -L = 560 -KI = 599bf1e4747c3fe1d1f4ce48b569612556c8ec4ec5b52a27dd5551d3ae4c4e1b -IVlen = 128 -IV = 45fa8d547721dc8da86d2929d57c4b90 -FixedInputDataByteLen = 51 -FixedInputData = 0c7be112f87d3b3ebd010eda4c7de9151d1bdfa61dcabf1ada848fe4a5c72cae7475d399189340a2c4d18c3b59b6424f2c201e -KO = 6107638d0a4973e923243034b146e3f4ac664429033b7d8eba8ca1ce19208cedce60a7bbe7030ba84b36c0e6f3234aca9a6f45f32f5a3a6cb1b8d3805d3b136aeef7903f600c - -COUNT=22 -L = 560 -KI = 54d6935e1eeb289311531761de8c27175c63aeb0f24f086790857b6accbdae6b -IVlen = 128 -IV = 0b47694ac2df5fa3f1ea8bc673b2971e -FixedInputDataByteLen = 51 -FixedInputData = 96b253a42aa0b4391905c9d1bbe9e41553c9ada2fbfb4194c3e3ac465f9074950029df1b31be683eaab3efffedf8afdd70f0a0 -KO = bcd982b17b76c3c21903ed14c1cb1492dd77c939ecc3f84468c12d576565dfa0cd9bbef3a44b5b16865235a8d05f09ebe0e75808b23b4394cbfa575233fbdc5dc587a9bc6af4 - -COUNT=23 -L = 560 -KI = 314ecb55d7b7b3dedb571543c2f64598f01b61091806a3b03c987492160e6ee2 -IVlen = 128 -IV = cc834b9d041b886516adfaaa0989117c -FixedInputDataByteLen = 51 -FixedInputData = db935b7395f8fdcd20b94a5b539bde56dd7195552003de62e5e4aab29a9b8bd0cf24457f5b011cefab11bbb80565507aba492b -KO = 4ed1f11243d6e5ba3e4106c6040861c481b65724c4166675827c8dc385528b4bd9f1f9e3b76a13a6dcf78fa91c1441a18a702fdb18717baf75fe3e6a55f2e83f1ac5c0fbe63a - -COUNT=24 -L = 560 -KI = e36060d1ea2d4ceaaa8f77ac00202fb27c6b7b42f6e2b83256aa2bf250f5f548 -IVlen = 128 -IV = 3df7c238184bef7c0dfb2cd25629015a -FixedInputDataByteLen = 51 -FixedInputData = c6b78e57184a52a7d7dda89c1388d872521317ae11024a340d2d0674accc701b62ecd5c4205bed52df35c77cf7aba5da865149 -KO = 5075759bbecbc9ae27119389e22a6fbcddc1cdbb8a91107473d783232493de6df7f1ca5d0c68306bca4ac8c6bf3059307a0d2db45062bc3f6fcfad178572105894953f6198db - -COUNT=25 -L = 560 -KI = 220fc1b32b1a685db5964961f4483866adae4792b57a1b6ee0dac4cc319e65ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = db9fc5b6318f1c0fbfba1986f803ed7d2ad6eab1fdc5374940101b526acc23bed9120ee124ae7c127381ed02f3ced311aa8776 -KO = b6861297bf3a135700b7c1818e5a1c613c855debdf181f4ace4f2eff4573ddada4a8d6f642e83a4824520a1a4af4355d56771251f82f9110832e67db2c4043b8768fa3973076 - -COUNT=26 -L = 560 -KI = 4eeb4e49492bbc07ef82f6b0fc61692fab83f1d4d4211e05c9d8a5aadebd345e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bf39bfa21f4bdec4bd82154fdb6bc758a02af989de8bec31031e443832e729daea53fe4818f979c4d7f896c82465258cdec721 -KO = 32d61914e0be86649ba058dcf7d4673fc7b89d37281d0c1bcc173705bd6c5307b4b013aa0efbad5f43fd573615deb22c971752fedce9c5e5d72b22b2899216638066185478f7 - -COUNT=27 -L = 560 -KI = e7db4893ac45a9de9e5df5a5994d0c455a5f68a0923ed5ed4fc92a20d905d345 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2897ca233f90c6537dd0e2f137f0b1882ceb01ed50a7bd3094e5493266564438160639c0604de54fa1ae384c81efc1b79692aa -KO = e86a5dae0687304e3cc3227e3112edfa2eed21b6df255704bcfd328391d73bd1686c7d29f389ee8f56c517545b3810531c59b6547391a1bb079a6479048ad38c43a71af88b06 - -COUNT=28 -L = 560 -KI = fd02e25ceb4124ebc9981af8cf511d4fedd1732638e8804f5e5bf9680264efb7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09ed15209774dc48f210b21dd78422d65745cfea4c6cef5b8177a5323f97c6eae0a89537a6e000d86ecbe281e16e0078e0d526 -KO = 176c87cef6b381c261d0d80c9e736ffc4bcb0dd25dc5667b323a44688ca0d4716e652e277c31967883ce4839a4e0abf57a127665e6b336da575d62188ba8dcf931e7bc6ed25e - -COUNT=29 -L = 560 -KI = c934fa06c414cb614aef01e0b3c74e4e4ccfc285736a47675316a034325619d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad08d00476c4e0c6a2e082d29e789c021af99df98b07084c85398b17842f90ae45bd458460b486fac8f7490a1c6633cc2c94c4 -KO = 11930cbcf189c0d198cb61b5d289af7db549af855ef40e9bf571a617be9c1d71bb6281eacdce227f1649a51da50446360a78f5b67b615c6125d9a2942a12e46d0e74726105b0 - -COUNT=30 -L = 2400 -KI = c33159332e849e83ebc2c63dd2bda1f4a432f48f7d9304cd985e180503585e7c -IVlen = 128 -IV = a6ff3e2b3b8f1c21d5fa9706b0ff115d -FixedInputDataByteLen = 51 -FixedInputData = f019cad33c89d6e9a6a42642a75dc505ee8969a24dd8a847bdc5d0fadf2a06e0d79c7c3ce43daea62f72c23499796147776551 -KO = 075e8a281ae1d8ba8d00fb77655236acfd888b910082051381a9b9591de1b16ccbc2c185888178aa6188dedcd0801df6cb14d4b5bc19336ac9121643b74810d292ce3dcc86e642a9d7477876e8cf8f9a58999ddc3a7726c41471e9d15ca2b2ec219e3d29441a915204fdf96f5c8a8d6ec00e790b29af4981a8b257da0b48ce2d3de79ba84b8d67d6eed1139fc85f554088c57e3e8b1c462a2337ec4e30dffe950db1b39efd4fdde77bc53641a41f7699a981e4980a1adcb230a8c0f42ee207f053192e0e3ab07913f050024de114cd5e1ef0700f0d497215eeaffb481f579e5536426d3c907b5b6bea087227566ef15ed317c8b02c99e93900fbcb3075eff78f6ea2562a07743f3d49b5a7d5d1c181b8ebc3194e2487035f6526977a09e361769d771f510acd59c4038f55b7 - -COUNT=31 -L = 2400 -KI = 0172f96a3f7c8c962e6d4b0e57a58761c6d7b0aed012a29b75a4cd051f6f3049 -IVlen = 128 -IV = a7072e6530cd7416d6f96633a5df42f2 -FixedInputDataByteLen = 51 -FixedInputData = 02b68a31ee3de95486c387b4edbeb2038d7af338578138ff84ac2f80ee02b9c1f33332904ae6f9dc672d36ecceb33bc923dde9 -KO = 88eabea1427a64bd0ee42de702d5e944f9255f87f1c806489faa118bc59419db60fe2c1585218fa351c1e2b380fefcb1a6262b3145810a979bb8f760af42b731d8855d7029eb098604223500c0d4e13532261dac695a3f60c7215e493a1bc36f3e7fd908b7c30a2823d6e5677f613c2b5b7b2e59c6639b026c1dcb15b81890b4c2d86ef8ca08cdbccefea6255bf56d04cb9b2d1b49d0e9183380c33c6d38f6f98023cce9dbd0b38ec960def900061440c5917a483edaf5fb965db440290f0000f7a3f6f0fc85393fb26768ff9aaacb0341f6ac4f11c7e3b65a18a4b48638b41aa18e3c3638df9b449e7397ac9a63b18ab315066cf8a374fc4d8c176562669c341cf0a622c01be06c877b25f7688052f2755280459032743d14de6aabf1579a8b6f0186fba2ed714cfcef3b1a - -COUNT=32 -L = 2400 -KI = 67d90e61b8a56a71a38ac2e6f543f5e64ca3d80c17d27b38e18b1c08d55d1192 -IVlen = 128 -IV = 4bf56c49d8f1232350eb2101a72e7970 -FixedInputDataByteLen = 51 -FixedInputData = 8f76991619f4548d2d55fe6108cbc43c79e8b392e4e84806fe3ff2fc0549ec7a7f49275826daafa5e44f837056ea6f39cb3dce -KO = 9f363b60002c17d03b985ae82c9c654afdcf0f9801ff4d5fdaccec874dac181bf2d9ac6312eec8caea58e58b5f74470e5e09bf90dcf4492376a6fc700a49d9e2cf145ac0b235681b9209c7885b536ca231d53278d72bae1511b658fc1c11d9f6049ff48fa7236e52b45eae38c10e64686172e6ef21c21346e48a481816289d808b51ce2e89b7f13bcfe4154af1d79c5949d125b776d3beecc6629eb49d2f609395b67f803a9a98fe6d767098e9936790d626e07d64acc5533a2cf53d1e9363a652132979f6162c57412fc48fcc0b05014d1e3f6e518ffcb46a6e9b428c99ca0ee80fe24b06031cf8f90df08ea79501da657a7ea68eaebc2b92464da909679f0648db7be40c13794ec7c17a6c2e260e3d16bf67034de84362a50815831c76d38acbadff954d07dde8ed62cd61 - -COUNT=33 -L = 2400 -KI = 86b56fb98d93c373859a0f0f05ef0e0f6bd0fac3c7dc313ff3adaf9fff01c3de -IVlen = 128 -IV = 6400ed63659a4baf0ea2b7c3d99cea23 -FixedInputDataByteLen = 51 -FixedInputData = 233343d34b959dc6aa855bfd99e062ce5b66888ba9e682f51be2161909defe3d277bd2e2d76c0c2991f319cf617d5b10941978 -KO = a1a43146179e1dfa93dd422474800339d4ca3694a427d88eefb715b26449da169fadd82917dae2727820b75b1cb1375c01d0e2739902eb3c691688d64973eb0f9f69e72185ea371d98cb772bf44e6b4849ba9523bc9d956a61b38a14a82045ab90cfa74dd3c6150295259eeefdd3cfce8106af6aa158fc42de6208b0a464a73da3519bf2d3f55d71446b03c3e05a21b47bb9cc8bf009257032c7a98d422fcdd7119985d8b46a45e112564223e2752e57e8b83870a35131ba703fd0ee3836c3d6f3de290edf345d0adda180d565e977a8cdb00c54a0e926760bf66a8fe05b0b87358db0642da07a036541267fbca8216fc5950274d261b52820adddcffb8af9abe9b2f6724b378fde6caa399cfb6accbfd394c374c55d8e0d388acd4520c402b05e589b5f8600d28c80b6263f - -COUNT=34 -L = 2400 -KI = a562c25845a0c96d8cd528025b65277898c647c90c3361f7511006116f31444e -IVlen = 128 -IV = bab6c616ef5b5366e7ac8b4692b198b9 -FixedInputDataByteLen = 51 -FixedInputData = 8e910e0d7b9e3142e093b71451a2de7ed3f856b1673e37a973f7aceee7945276b64af437ce005f3be18dc4f37cc311fc39a796 -KO = 6c834eb2f3127b862d3dd5128b81beca4f38d19323acd28aac79a0aa33b490c2a5ae1f5225a2a6d380ebf09bed126befa1b084a2b9325c1a48f39990a91bc890784dca2f9a676e18cb319345be2c9bcf003221c0cce3ce8f3492bed3358a36f248152fbb0d5d9416d21944c209cd965b30a2682be9e0884b1218652c809c881827c328db40a1d0be446f5d2f0c07f091267ee210d98c7a0c9da05a96a9c0410fce1214508ec05ca1173b17c2af28c954e1fa652e6e278fb794f061575bda8f1e61cfb3794f44ed185eafbfb56fe20b247bdae2a4ed737ce13ffa37212b8074f986a20a51ae8a52217232b3377c9d412a9e740a047555033ff349558af42cc71bb1fdc98d716eaf61e7f75269c71b395dbd6bca6793362f0d47d6991449b8090b17d6e05bed3a4c335838acc6 - -COUNT=35 -L = 2400 -KI = 92d3e45255ba6b6dd1e71c9b620bead43ff0841b395189f08ad5dcc858af1f85 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3f22c54f977a885029e62ad32d703449f411a0f5372a8c5184340618dba67363825aaee54a1f8c22c2713be5f2ea1e2bd96ece -KO = 753b397d3a49fadf769a121d16ebc164005f582fa032f97c7ee2b10cfeb5e398b2c05e6479f32e74c600300e4e1c49201a3181f0b33bb4314c36526e3d6ee02d35a574d30824784c80c4d38ce17d76b53246b99257008f0165f8b065cec63c6f30b984c0f13a521dc8224c400d2506027b9fb9a0db6afd077b23ca0cf8f3fdbac991fe85ca8bc73b814174916eb2fdc54574a41f3f4d4eab5a974a049d22ea6f3609e5233e6b304b0a5efcbc8f30a6816e5ba7fd8dad0f78e650e08898242ca6440ebc9a1e922d4d81449685bfe4b4d2671694bfb8713d0c3ed7004f193d7c73cf2e46997e38ed13277759da4cf62a2361d06ef64f0b6996fa2e16f0164f14328e771ba166197caccc69146c718a2efe994be9b7c565291961e85d2233d0b9adc52ce99949c32d4b51f40c8f - -COUNT=36 -L = 2400 -KI = 54adeddb0b45f664c4927b5df7bb60e11c635e1d0cbfbaf0e688511faac06a98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5177bb18112a8c53cf23159fa25c4210be168211c0afcec3229826ecfd18adc70c8f11d0697c05d1f4d8261a924296acd57ed0 -KO = 2e9d76cd1fbbdb6860345d8a0a79a99730b594ded12c70350df834e454a4c96f4b81d33f9f7f3e6027efa506ff76ac82263f4d18dee47fa029fba6e20478f6ce3b284c3db03af6a6568bf89e250d1ebe5f0019e11da466d5fb6948e7191e9caca8cec09faaecea586c8bcbd9448b75713b17011387204fe69453cf2e465fd911fb9957cde5688a27d1b86b662e6e87572025164e377adb85e77fc7a24da5efd2c2a268dfbdf2690b6a3dcd72065193198cdb90909e9c02bcbcbb9199470c3b491770fe63f1901e436ca02ede9333a77feb5b75759142ea8dbd12bf39bb6a2d04c0ca4384b4884ca2ea693893a524b8b0f951149c5e2865d5e7dc92b489f252376fdbd34ceeef7c5a64a10cc83a06e8dd757f5082c498a0fd938c614b57543d638fc82e0245413ee7847a4121 - -COUNT=37 -L = 2400 -KI = 7e856c6ab5540ad52747940c23a219bb2129a1eeb3780d61b6816c137c1a2fce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ecb61a4b5f72045097dc68a4fc48ef3256d0287e9577e0e48914b9ef89abd8e46c97011a9174d2e60baf8cba855d821107ffa4 -KO = 2e3f0069bfef50fc592ae344b4142cd3282ee840a727ad43d2695540bc804ee8e05ff7bfbd1bebb4f56a5340a15d38741b0333d3579f43958f09b5f4601b505871e1cc53f16337d148cf830a7af30c53ccd9e89b5d325dd0773081ea512a4c114c26b6dda66f5e89bbad99512e8052871e3124c1e5b2a62546be28e7baee843fb2c9b514837bdd00809d0f91a6dc68051c25ab7386aefa62253e8e4f41f4ef1cb58d778123c1084137c26dbf95128e5a1e1a170a56c2a5900b1aac8d76e676e267df950b2611dc9e0a02231cc660dffeea368dfb262d7e21a27947c15e3c153c26a26b2c1e332efddaa36c58e825a6ab0866f1e7c7fab175ebf0a57fe2f5c87da5986e96e9181810d60388a1a8b63fa07c7bab77397a96bd5bdfa52ea5cd26a7068156ef1a6d71197948bddf - -COUNT=38 -L = 2400 -KI = e7cbecfb17067e8f5a428c8fd408f10245c4638264ea53fc8c120f10dd9ca1f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = baf1244490cca1c04feeb6c5135cd23a4748cd269d2f919844cc38f57bd0f56eb8f5b68edc5c526f6245ef9603a2d5fe426756 -KO = 0fae0b9156435e62704b14dcdbd2088ee09b643be80a0f897ded0e0c0d576bed3ecfda93affe9e74a9c14a55530d00aa74b0ed8d6ab1777075a17f4a46c7a69df5be18b5df736f38d61502e9ace304380fd5987b557dcd0eeeb025d1a302a206720a6284ce33dbae7eb3db1380ee832e4010148abe8170cbb847f689f9567bec08175b27e0f1d9969f97fca97eceb6d748ff5718316f92a6307ea3ce2dda50a5968b5ea0b5ba7f04a468be84fa48c1226a46bbd986737a12670bd12c8fcdd48323994aa1d130e5c69d9df7ef206a42549c85608f324f4ad362e3518c30f4b1ff7f538b784155b494a6a828f76491bf0dfa5ce14d8e6936f49d9c9fd1ea07c006d06a134893392a4172267fc399f97799df3cfb718677f6568a00e3a3681c34b476f419cd139e7eb65b905e60 - -COUNT=39 -L = 2400 -KI = 85803d92011f4413d6e04c119674b37189259db4bace6f2e2f759e530c679036 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6ae56342a44a7fc8efd726e78a0fb901e95f7570608683803d5976364c5a555836d0b9c0091b565855d5e1494dd24db0687afd -KO = 1900518f5db53887215d2051e5c54dc9461363890864d7ce147b92aba1b5aa996311550075119922bda5ac5662c1b33270ef71b5f451132793628ac37d651c7f6ea9b37073df1d3947ca554ca55930d0dcf7cd20e7a67969c47ce8d83297bb94d15ca6c78e300652c1e7f8633127e9d24678e1219bd3bea26c43a909a0b277621f0b4f532f2e9a98f094780c29be6aa9749e8285eeb1aeec806db7f9edc425d485e628782c0439c119b297394a1c95edb92b85cef9b325a5a4d776ff10815922dda50049a99587f9d836b6754f573f1f0010beb53db56b5932b79a3f94ac697e6a8591339fb9f951151efc413050734d2b62da6d317d15f666037dc77f1f229749cda9d181eef9157f06cee0f99b07625f23a4c66cee1d4365ea7a7594548bd380ffcbe0e1845fe5295ba645 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 9b6d8f20dc5189c61501e554ad6d1c27c39da156cc2f23ab298f10227a16f3ae -IVlen = 128 -IV = 6ce5d85757a6c0a0e08e460d82564c4b -FixedInputDataByteLen = 51 -FixedInputData = 3d158b9bb84998bd621ff783cc8d85d757d53d9c0b993ff888408285b928b84dab7b197f2ee8b2e51827bdd349d95649b2d0f1 -KO = bd63682fbffd4980b6d2e3ce9332cc4eb6113b366eb8174fe9b852ba33d809de5e7c264ee65c6d6521756b3b867e664e7483281bca03216711d5c5c947b52d3b - -COUNT=1 -L = 512 -KI = afa6a08b8f092cc92f22fc579cff74047c8376c4df21a49da33d49c78d0d2646 -IVlen = 128 -IV = 747a9195658e7ef522b15413df65511e -FixedInputDataByteLen = 51 -FixedInputData = 70e52ab8271a20b7a73454f3c1a4e06c98cec0a62efe0e679af2b70a7bb359966c7562f117820429590e915aeb4f50e6e67a12 -KO = e0efcafb8723ce21cf9057b40331d9a6536a56ef268d9d596ffa67c0ca9c202b1a6d5b20c26f175a23ffba257a2891a5a84a081daec6ef741f5351b5a019887f - -COUNT=2 -L = 512 -KI = 8129686bf178b3ee6ea9fc1405d91c843189a39936dcc83a8047298e10cf1c25 -IVlen = 128 -IV = 8144d3314cb30704ec25be3ee07ba0fa -FixedInputDataByteLen = 51 -FixedInputData = ec202f7a28ba905caf14be84cde024492308199aece6fa0af3465e94df947154a261586b01224bbad2b07814df499c7355606b -KO = 3ddf30c23a0d6ba073861ffd4c918763feb2b97faa76fe424526e7df7e1bc4317948839f76ed47ff35d9103ac7c71df35e410623c6a8a627843cc0307054add3 - -COUNT=3 -L = 512 -KI = 72815b0eb17950c724e6af598b3b945ab8ea28b4e7fe6d6c2cf8dfcf3b70e6a2 -IVlen = 128 -IV = c1017e2ff613831ade2147dc643911d2 -FixedInputDataByteLen = 51 -FixedInputData = e0f9f461e9a03bae9661fddd80274afcb1558d24f68a169397f9594e2522dd2e33a1e757b5f1f04e9d54bbce526e20639029bc -KO = 2dc655793b7ad25d3298b080511f5135c94c0ef563693fb07e2e8fd867c5817fc60cfbe78a289af83d102a9eef8bca4f1ad13c965c5a09efcf5af6b553102726 - -COUNT=4 -L = 512 -KI = 48a9c593c9d7bf226179e34fd703d43ad4cafee6c26754188f441933ac1f40b6 -IVlen = 128 -IV = 1caad970d80bc294236926cc44cebd2c -FixedInputDataByteLen = 51 -FixedInputData = 1b6b4eb21624d7d843580add4894e25cca1ed75846b38b9ca790181ab9e238ceb35fd8284db4cec556c4a539f8fe803f149ca0 -KO = f25b520c688eb3502b73d6dcb3d8e3ff435cb01c03190dede84e572449f30fcecb91d256bf5571a566b9f26b4a8b7440d22bf58e173de7147f33914e0e9a5882 - -COUNT=5 -L = 512 -KI = 65d6ebb79a410c22ccb45c102d18550128d5b223beb2536adfcc1a4d2d76422e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 525e85e3615422480d6e07c685ee67b0fe733db83eafe134c8236fb740703209f01d78be1355418e5ae91bd67eedb155427ce8 -KO = 9cceccd7e7c11d11054eea092967d95f8705fb6416a6fc3edd05886f88f742513b0d49a1c50f1c1ba342879ddbe002f9f4b2fb0a7388b634a0301b8ba143e9c6 - -COUNT=6 -L = 512 -KI = 659f690d90f9937cb6ff036515fe4d32198d5782ed091957fbb8b2f60ce37238 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = edd8a5ab27de1d45e56a7efeed02a871c54471c1dcfc5bd9ebec9d6790d2bad5c8ae51b54ba0de7c2a07983e84da0f6bba733e -KO = b0be8f7acff4b9a1744b113996ecf54a936aed7ef6c71d3eabbf8d35b6c6a74297545d641a585c0cb659fa48eeeedc8643a62ab9ad0c778689557ff6cf57f0f7 - -COUNT=7 -L = 512 -KI = 499ac6280c5e98f12a12c7403f96a7c427e47a8a5fc37a227447958850eecdbc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 39c28634d4d0999358200ffdac5c81c87157c611b0739a1066802ca39bd49a3fc31497e30d5e5079934ce8da604b5b11f24e46 -KO = d7770879c0cab82d03a3fcb3600af9d289d09075cb3ecf59cdb674a68e1192d56e4fc63c1e4abc76615cb91ab808299d370969d332facd0850077eee76c5b5c2 - -COUNT=8 -L = 512 -KI = 29a25cc3e15101446c1ec58bd92fa7e0e64b94cf587cbea77d9e082011a8a1cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 21875be66b9f047cf7938bbee60d7eb3184dd20c239fac9ccbe8e778fbdbeed891cff1bf213413427b4e7482f80bcce23a024a -KO = 2757eac31c74c0510926bd96c697a4ed6b322f45340c56315cb03d171ea98d56b03c8409af7d8bfef2940d2bf1a699c11987c4e2dfa80a87cc569942f2dc8499 - -COUNT=9 -L = 512 -KI = b7b8b40f02ddecc10e2c25cdd576891ebacf299969e1487e2c6abfca7192d9ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c3e8ec3b0e6b5af45f0e4e9f8bde57a19dd5b98d1cac0bf1de5b792a78f57108798db5d881153d0631cfd3dc811f9ff3ad00a -KO = 662f981bc4f2efa325f4a6fe061d103b8a4ffe0ef9ea17638aa127b38a95c17e37c2de4d58af1608d5e096e49c3ebb086dfdd7a970851d1f5b126ab7bdd7eb75 - -COUNT=10 -L = 2048 -KI = 130f22539f04a8e7c5940f17d124407ca92cd713c8f150dbbdd1f2d923759f3d -IVlen = 128 -IV = 41333d4b44a3863eb8b5444738695eaf -FixedInputDataByteLen = 51 -FixedInputData = 5449629ec9a5bc16e67ec38889a6e5c2ee3fbe961f35ce1361f18408dcd1966e457cd7e8ef58d6450fccf0524a78451a6fede5 -KO = bfb8e64b3eed42bd6bef01a6351e16a77e00808d851b1df2afcfa034f3b466f73cb30f23f8af914e23a893452737845f95886c08ac9857ad4bf6811701e5c5326d44876f60109b452ce9e4b268db9064cdc76f5e22561cb460756220c997d51b0633611b07cd2189773bc55f7cb539ab27c1d0b74821970f7aa3889adf91a814bd12a0ffd27d01f7993d3e09bfe8ecaf2788517a89faae56827148d8e55551fab31519787464e29c8934d7e801cbd7444b133798934487d8e48ed451c36819935a79baedc717237e4438696526b57e604527eb751a8f64bbe35b4d6d167768317637c4e337d846578924b9d723ec3010deeb485f14927737bd714691089e7cb4 - -COUNT=11 -L = 2048 -KI = 5c32c809b98dcb83e07f6a6bd463886b781a7681b4fd52157503a38cbbfb531f -IVlen = 128 -IV = 4fcef8db57650205236319d16ed91c84 -FixedInputDataByteLen = 51 -FixedInputData = 9d964faea6ee35385addc91b8319ac90022a2f1e0850dd079988905a0bbefa2a917cb7ba7b38308f10d536826485aca7b9ecc9 -KO = f0d327ca06705cf787096dbcfc3ac37f0ed854284a7dfb700ebb75e1d720e0b8d7a16250815e3c66c800ce56005f69f3aa177a8bda33a325a3bb39a3520f73ded7fcee32d69144fa624fa14d2b5785d7d65f06610d3e09b23bb49c29c2d4962776ddf7e062532c8162217fa3c5aa9b8283cca1d9d194fb65d42f2a8dc4eb544b36e96a3184c4b92ee1a57233b31f6cb1c359c0a881ad692d0295fd473795b9d577f6f25542c97e35d404ed315aab4c2f989646e946be0c78dae494ab4c8b85f98753adba600a148372f8cd65dc433ddf204a44d873823384910024ce5e5146a1deb9e59b36635b0736ebe4bf5cf6a456386b401a87d2cd37b3e23a7b1bb64693 - -COUNT=12 -L = 2048 -KI = a37326f58bab6b9155182a98007f8377ebe13cd53a36c1497a57928f66f03b36 -IVlen = 128 -IV = 0a6953b24b947b0273460bf3c0006215 -FixedInputDataByteLen = 51 -FixedInputData = b686c67459e9d18f2b34340d2c1e348e10afe75f0e430968e17ff00fc39bcea386cbe8458b221e0615dfc802a6f48ebefab57d -KO = 37cf2f9a000879263c7b79abfd4603f68d9a409540d2cfe3dd7d5fa7c1409fd7f620769776013a9caf97c61fb5f122c60b69bf7452f396f5018f74254c732486d94163100bbd6b5f7bccc308d2363b1713e63563343abc532db504f64fb41441d5e01697a80f4f5e927b45e5eed16ad0cf75db8653b96379503da4f07d275866af9ec5e38d53704ce525a02485da28bd9e277c46b06dd912659b136137d042d9506c48643f42ccb5011019592b47569d279bd275cc2bdb2c0bb7d26ed9268fe5de8bdee8c7a73c5408c30b622a9f164c1d6bee2151fd6b8b4145644ee371f62aa2720e89492d165ab98b4a564a774a8df23f09a9e86efd12f4428b518ddc24d9 - -COUNT=13 -L = 2048 -KI = d5bfabbeff2e3519e2319ae5a1a66fbc6f4e5fec6c2979f64b68c467d347dadb -IVlen = 128 -IV = 12fd3c58645e0395c4ac4e1ac69cb200 -FixedInputDataByteLen = 51 -FixedInputData = 432688bb7200ad66a040b041ddc45977cb8e49029e22b663c61895d18c7c7a8506a81c8179a2a541bd1552b9b75f91710d2f13 -KO = 32898dca55dc9015720b54158db79023ce13a01d6fcc4bd960e1008203dfc6378f2e773a259ce0521c8099d1bcffe163a505cde0ef178cc4c48941399d3ca1753fe8ee4bdcee1223644f786134ae109fd2f5cfed2714290385b50c8eca86162a88ee60ced7ea5f952be4b197863a6cfed031aff93d521ff72b76e861c9b672a29311a89fe7d60c1f133b178b9cf75111a5cb33efb4a35764081768955723ae359ca54089d3f68c823709871fea26f0b248f1bf5057e9e080d45e831238e19ce06ebc6c43d0d41759a810722554e75a5f9ffe9f9e6115cf36940806b105f05f5e6919ffda9436aaa113ab4a944a646fcb6317a10385b2b3688636cfe9c7500933 - -COUNT=14 -L = 2048 -KI = 79443fdfa3c812f2a90a7e0e38c6c23cc212e0d1e12bc2058f16a7b1c2d3a13e -IVlen = 128 -IV = 4c3865cb75969adf02a0409644c4a42f -FixedInputDataByteLen = 51 -FixedInputData = 9f001d26b701735d86206e4f00d7654edc6d9bd23a4f8b7733f5fd95ba1785201ce243e69dd707e64b4116b71be401d23407c6 -KO = 996f011a7ef8649e7f1d930921e1f11533e0d664a7a746abaddc6b33378c99a66bc546db2255f9e650d83c789600b289f1358b23ffda4d99b9a64b1f69d566a7f67eed9486b5eb9447a72f464c333fb8730caa1d83cf13246d90d5f51cb4d942f4db1c9a9e2cc54ce0ec7b17cd36090a1be9df1fc8e2353fd8d02fa5f57ffe1156540aebabc6d6e0a2a8b740b90333372e1078511df70d9b2d9f6f47e9bef7a445c532841f79f7b61abb79cd5addc8696d3e055f29adc503b24bec39ca652219e3f224482b49ee413ce289f1af3cf459a3af866291f3ee2db3dac0b073f2aca42040db04b5d72da3b72a61626b4783c6e2c86dcda291b86986c9feb51fd59f13 - -COUNT=15 -L = 2048 -KI = 2e81e443494454c5eea727ee6a4f05fcfe0bbc5969bf5904b07690e822cb5df0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5fac43e402b25637f083a2749a793eb18d2725ce3addb7727d4d99356024d8e0fa3abd50f1c70dfd915ba662b756d4a9bff002 -KO = 08b15e9dba979c7bd19c8193d0f01b7aaa1102b04880d3eff7f442b746a6520d4426d68e588b06c59df83bb6ea8ad1a6e452af60555dfcf7bac703dbba4aa14ff68300f9330034a4bb1ec231c427d9b2a381e861ede1996c4a13fd6911a8ef343b120f08c8e3d121c31378ca4141c6a90d0d3e5dd5ec710ea3532194ba32e8ca3a882b350da6a179495916ff912c347ee8780772783f7ccef7f46a24863b217f28d38d14824f2f270cf7d7b20f15e5f401bc405a7fd1bd6d2ae357eb2b9d20db86067e4b70dc453c44175bc2b776ef87988e930384b403e063486c90cce2e42b15fdcdbd3625f07094c487ea01e2f997558ca9a9a99f3f59bdf50a9e71982088 - -COUNT=16 -L = 2048 -KI = fc6037ff45990a1b1db907c2be6a2a84394bdb13f2f37bd7f6826ae2c7bf245a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3fa14b303601141d68480fe60608512a893ee54ad9701007b7ff538479da11538985e2f7f687a12d1df71964c1f501ef0a0749 -KO = 9ce07bd4f323090dc6fef5f497cc8a595bf94187875a922efdfebad928db3fb79d1883a9d190ad0d4843ad6ea7b2d5366a8397923ab434d90c6c6cb121f3b2e8f13f8125a4d2c0cf486bb63311a97e226067505058e0ce67cb85380ea5a94cc47ff330ab41b18c4bd9f661cbf8033febb24b3744d7523b6c96e17a3318d9c754b7a90adacda71003b9d76f71c2960da3f6a6d7dd9e4b40c7e75c014266c4cdf2b52ceb47338d0013cf09f27249137405946cc3f6f95004a3c37ecc7e4748ed293be56c9b2253aedfacf956a795d6d9e2be9685bd772c71a20a670e9f8e8aec1ae77f0d8e01fae508325ebd8da7f54d1c23705012a91fa4502501e13c53f013f1 - -COUNT=17 -L = 2048 -KI = c5f05533e9ebf553bf8a2e160e384b8236b5025b84b4db95776df4459073864b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = acb0c32b33ed9560cf025578704d2b25920f51b2fed6b8b752e3c0b6cb0db38f1b338105e4f9a2e4f1955a48a5471ddfff0c01 -KO = 1c85656a421395ace0bf34bbfcab70774d7bdd1bb9597edc747b101ca83c05b83cfe180ced1f9a40b59bdf4fe6517c52bf34f272f7f43f4f1148836ee90a84618f087096510f05b35a1ff5404594efd675fa465d65dd27428c0dbf88cfe4c58b24fb24efb9aaa6673dd263330dffc92369ceac820f2193deaa17fc14bb1f465313225b6da699f3ba733d62549f7e8453c7a071fd4bb2b49be2eb2dfd27c22a9ef417f140c6bd83e7407587c0e09f0a21472445993c7558ad631985264de8ec629095612a1c74f011aac737eec1a27fbeb9ba55d097d5d7bf51c951d5acde83cdcabef544c24305e78aca703470e90c2a6e1f980a075a58ffbed3ed7d206fb740 - -COUNT=18 -L = 2048 -KI = feeccc5fb0b906ce7d4741b659b3b3dd3a24551e05e59bd3a07c065f78c22b98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c9216700e8b9c916f5e46c6cd7b9cca52b208523a2c525c886eaa9dd54c2a9a68be43db44938def0db1ee9f4285a9f8cf44b0 -KO = 8ee99b3ab60824dfff208adbe734eecee3a97277023057693a370dabe2b91d46a8f5f0649fc01c1912b5dac98081c2b69605367d1d40e1aa1a880382023ded8a3eef51c3ef38900114f71325fbcbd6b63b986450c636b9166e7325ab5edd92675672aad92c1186f7d8aaefa48825c171e8c70906a33c3bee8ff932fc60cba576f8136ffcfc682dff79f92e088faf8eacb293f1df2c4baab9b2e52f88bdb3d54e9a15b05b182f08b15a89fe766918f222637cd69839972fde14d13fc803ad4da457d9215ebac0b94d1ff3cc6fa8cf8e88cc705d88ee69f7d4cb77385ddfa17782b7ba5f6b29b024dadfea47129fcc381bd98123fc87ae0574aaecb5b244dc5231 - -COUNT=19 -L = 2048 -KI = f0384c30445e86c7e50c31e469ad1468e1e719b95aaaa927d8ee29a76fa697fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00a55510b7d9b34c8c4969c268dad2be026013eb3a329d720ef991a325c5d2fd4619ce7c70c3cae498323018456196638c97c0 -KO = ec951787a6cc4b6b1b86b1fc7a623d403b30e2b1f0bc6c2bbfb4fbc4d9e2bcb763a60c979e406a076eb60f3d0dcd51ff4699c8185d065c47902d5430179ab9369aef44c9e0ec156e12e25da50f5ba142b11e65dd196b17f5f4bd119a828fde3dd9565c6608550ab4dfd0598a69ceff8e2279a6c520ebb710ff4abaf36eec38a3314848c192b0132906b73be583f704f36ffc45c923564ff979faf3bda17699a616bcf439b56feda5b9157a8e9aea97aa25f1d3ccf3326fc6f04810242000bbbdb9ebfd0027d11213841565bfb7afa202957c38be9b928aca56892cbe11e385f2ffecd0ad658dd6c34f0ff620901f9a2241c40c69514d1d2f5a22136741df5e72 - -COUNT=20 -L = 560 -KI = 52ebe7d959ad8d52c59b7f71904d772d49a7e112db763dbadc34b89f71c71f1d -IVlen = 128 -IV = fb1577d112982bd15748c74cfda26b05 -FixedInputDataByteLen = 51 -FixedInputData = d7721e9c810257b82176ad82ef97a48cfbccbe1480d67ce38b9e83aa83bdbf164b95e3e2b75c7f07eab2e08481c22f78663304 -KO = d8c41be9242fd06d90f443ee4e901f45985dac594e96f12a1b60bee49431b36efc253e5d3cac771c9a001b831042c2a50ab2bcf947ed62785b3cb9499aeb6d1c4d40bc8eebf1 - -COUNT=21 -L = 560 -KI = ea340dc601d79b1d69ef5497138107ef41ae7d9d865e0fccc92c23c579415199 -IVlen = 128 -IV = 92cb3606d4ea73b0e46dd6e3b38f9ef5 -FixedInputDataByteLen = 51 -FixedInputData = 14ac1e226ea33cec88e697ff26e10ea90af81c02ccc4241687c4a246b6a11822983db4642812db7848402d3ccc0f1567691f2c -KO = 475acfb371d912cfae10b44d6af9bd5654f52352f7cc7694e47b75adc97aeeb68530e6bdd717a54bdebaa795b0d4a0c23ef3978f3dcbc7fab2c68e6a93978a1572eca702e533 - -COUNT=22 -L = 560 -KI = 90fdfdaa5852bed2d4fa646a58203b710aea27361f3670a208a3daf1c8c100c4 -IVlen = 128 -IV = 898514d26ce63d8d610eb688f2b17d78 -FixedInputDataByteLen = 51 -FixedInputData = 44a5120656c61b35e538afcc796ca6ee1d4898c01ae4a05121d211918be74e94cfb4f3f9e54dd5ee7f00cb61730583a023ba3f -KO = a4f1bd0f57db016e567a93537a22087890f79d4074bb0136b6c5796a74bd4ffdbf26ff185ce8adc4bc3e0dcf3a5a798acdbbe9042c3b594bf11a7210c9c7aa346551f59cc057 - -COUNT=23 -L = 560 -KI = d446ff29f66c0eb8a03bd709977ab3d417472b3575facd2f01a0a9a71d6c0f48 -IVlen = 128 -IV = 1ef737a1edf6a9cd897c42419df1958f -FixedInputDataByteLen = 51 -FixedInputData = 0616418f7f900c1cff0312831ba47eadec855eb2b9f45a6bc3d96649c015ce510bd65bfe28a0571305a4765eac047f7dba0193 -KO = 205b1a297db7882ba78d73cc9ba4f6ccca98ef7fd2a32912d91542508c55b144691aaf99108f1a44547a755be356dd93d179a144242265d35fb2366208d3d3bb4b70dd527f40 - -COUNT=24 -L = 560 -KI = 36c39e97ec8c5a2774a72023ba381cc21d459f7a0eec0a9e82381021ddbdd6cb -IVlen = 128 -IV = 867ba3f479f9e5261b2fee8e93a09047 -FixedInputDataByteLen = 51 -FixedInputData = 89a12c7f2058104ecd208fd2e3c704755e6814bbf690f038a504f95249dfe548b30a6dab755b45011db7e3077bc570aa127150 -KO = 1dd5cda4b1145c1198dcbc4bbdf330bfff98efa7fc3284cb40004e6bbb5c57fb743688b48986b6d5c14f46e5aa399730eb6d991752e8aa472b4d5317084df3e93174c3b6a7aa - -COUNT=25 -L = 560 -KI = f13eb5fa00e7c3ec4dc533df2b96e104bdc6690750d00ad58e0f49e8b18cced1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cbdc5e06c92ba596caf0b9c2496d187c9467fbebe2a6765088c1f2c9c20937c7c01f3c76b67c0df1843053854856c3b012b9e3 -KO = 165768dd46398faee9c3414fd95dca5e34c6425ffcba6c5dafd1a6d5233fdf6e333c2aec83ac41a48208b53c3c52f82927317c64448f4d8e381c1a37069af4e909d00fdd49c5 - -COUNT=26 -L = 560 -KI = 5193b54e8f2b058f1f2689cafac0308a5697af47348235eddada6764707697f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b4f343fc2f0565405274608646ea98c59b8b02fecbf501b3e2637031ae055b49c2334a41dbc5f6dfc01db6572ab021df61e89c -KO = e723aa05373c6579f0a68425fd7fc87a08723332d3e83646de8d7354761d7c31355ca3ce6f037f355d4eba4fd713d126cd01c82227423292953cad0f890cc57abeb031f6baeb - -COUNT=27 -L = 560 -KI = f8cf94897f8d45c90581b134bcdabeaef798d1766f20679cab5cb16c8fe47d96 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab397917d80edc4bce9978a4a6dc0aaccbe814ecb96cba79519b13b71af1508b1c0923a9376fd3b083dd8fc9cb47572a9cd1f3 -KO = c7b934ac74f085c78fa5b79838d63f8277d6e21d5244c3123482182782da75d939d3daf25564bd3bd4542ff3a6838f7b3ba8040629df8536697c8bf0e2b24863b631e6804de6 - -COUNT=28 -L = 560 -KI = 6f1ab2b9bb839160fde055630c88fc69ee2ce2c724146356ffc0d8a421a36222 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f4acab9e93337ad342b378c2b159de6becb4f7818f885d157abd0e1e27180cfa1484393adcf231a9813e9a88402c1c50ae1a22 -KO = 45f36f6d8e99079e9b738ca4f8dcf10594a55a56fae67386005dbcddd73f8fa62d602cdd762bfc47c3f79bdc7665eff6ccd9a165c9f79ec91667618ea147025b70fcaa4c3a6d - -COUNT=29 -L = 560 -KI = 6f104df43e08a2b8a7ed205ee6a247858ab4b79d5bdb1cf86811c736a3abcca8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e42aefe60641e474e69ca49dff6bd5b43b90661f98951c8d31ce36055905fbad319a096e2f1eb0fb643c7d137406a918e30a21 -KO = 59b5f4700bff431943842cca7c9b9c63a0fdf31dc1ccda80e3026bc38d21af9ed05b861dab9262189d5998c766804746faa3b3c939f888636e479f1ae3553838ed448abb07a8 - -COUNT=30 -L = 2400 -KI = 6fa7261cc1293b131a249d028b3febdf8cef71dccc39d4770262d431c1e310ca -IVlen = 128 -IV = ed1860d84b6c6523e91ddbfe396d58aa -FixedInputDataByteLen = 51 -FixedInputData = f0da0ae62f33149145c3b847319a134bb3ab8276d4af579a7dfd17f92777f551cbbdbc4ce5e5d31a2ca09cc71b0c4858a6c9b3 -KO = 99c8b46b242a8a186dddd1a53667d88c83ba0c1f76ac9f3d8269e5c1c9042bbd3886102a982f7b31a48f8cfb4a090ea912873eb1461a0e126915695882199af86750038aba5c6906fb7ba0d56b643170b6f51c41cd37cfbd2d341b34cb30cd3df5365c0af99abb998beda0b9f8461ca271231466716c8ee82a5b8ae3bf6c9ebfe06760fd7a69c7acf981146684f05dee7e9cb910a9dc7377f24e6a839c47e5200355e899a427c226d65ba8a30d6a56a163e807142a6d18b7125d3ad4bde46911319ec6c6cd5413ac891546291ce33b99ab08a815e7f99de3ad2f7b4b9eb86e9740bd6e659120ec05142a1e3942e74eff16f97d0e8a07d33ffc72e6a45d226c988d490383844a9b8b04f3220a474e3a4d6a696be1d635dbe90719a67b8d5d952c47d9aa422daec04daf950905 - -COUNT=31 -L = 2400 -KI = b6c430a74d1a5402ee2a865106165f281a5b4f4bfa26ef3d766fffb3a9d156a0 -IVlen = 128 -IV = d607b9e1b98b4d6644c444482c047771 -FixedInputDataByteLen = 51 -FixedInputData = 46c22e543d67b7ed4b1bf1a8041071e959e68a7f0d3b1b7794f537aeff92f7d3a3f9ad0552fe3f5896136509781adbd97c7a6e -KO = ba21a4ea70dd329a3465eac7f1e15916b649ca225017c55ba51f16c9388f87b19f9e79f1da4da3e281cdda3708236ffaee4a5d3951ffb7499059b301cfd3a13329a389fe4ceeb8d676a4d656f8761328212ba831109a68e42b3ff23c36c66a25ef6d0aee9abe08e470ed02173516f18db195bd1981dafb1fb5e6d294b5be6ccae445fee592f587650af1a5be5b2c207f67ff8371f3842a9aea84e397aa4571aff96f8ac3bec7424bf8642773226e30d692a64fecdf944ce51b631c1207ff8f8c93c5ac36d984a1b2b655d55bd32103630b66e41cb993c6b690bd3214b55003fa7c45407c9969aa5874e286198a54bcefe374ae1591fe8da1287de892af32b7c4a1661c4f7920fcae4c0ac7a48206fd6256a73b2afcdc9dee560bae4285b935c693fed861754facd39ad93b06 - -COUNT=32 -L = 2400 -KI = 2d38247ac51890849732bd6a93b38f309223b1ce39b2936f0637b712e62f711b -IVlen = 128 -IV = b1f6989095acd1398d18fa92d65c7746 -FixedInputDataByteLen = 51 -FixedInputData = 8b4ae3ee4b6625411ea1a6b7658c2c8cbcdaba23f701a87be341fbe3ae64e75bedae85c6a2bf5c8c2ca5d25434d60921fb14e8 -KO = c1f0576784ad3db785de39d448b04cbf444d472ea2f8f79deaee4549ccc18749de1cc78d5e06ecf51ed56340d31d91d3e936b7811a1a62379383422f9b51185abaf06e6c3479ce39e2e6baa240b04b58bd080430edfef0b82fb011bc88dc62146293c7d0c26135eee2c2364a3475755b751c97c4bb9eb8f84d4f882575103e2fbe2e8b4d4df9124a0d7a9ba24c734b187e7e40351863c6bbe2c4b0bd9bef61e5b950b27215c8f618aa760a5465ec87ff37b5aa5e95db81555b5361bffd24dc07cdffaf46f97e1f8dc1a702d071536078ffa922c486db8614e4247308a79c50b73d0e6a1d536ff425cf8d9d3a425c996a32f0b25336136a751db0e32a8f9c3d17002d3553b811ddf59de0e615784c953adfe9888cd852c81c9fd290fe4c3b59fba305b3f638ba43b201791521 - -COUNT=33 -L = 2400 -KI = 86f575c8e9ccedcafd4b13e3f26b42011b205a9988539a94104aae6ace6cf2f3 -IVlen = 128 -IV = 6269d2708b5094576c356681f357d812 -FixedInputDataByteLen = 51 -FixedInputData = 011c710468f2ceb2f9405d6f0c46e630260e414d5ce27a67dfc7196240163bfaa73a3ab67119b2230659bfffaf08463aff57c1 -KO = f4d8382edc31312240086e4c057a957d6be2d220838d8ec39da6d3a6175ad24ec4dd59569d207132de03e72c0d410db625f75596b20d696b22e35d2b757b8c2142babc05f9d3840b550c18cf95458fc60cb5bd0fa9cb18c62a2026f0fe288abc623dfbbcc92ebd9515bffa0e880f37c868afb408b8425fb7c509210025504146b86afa8b56fb12ce91489d8c7413278f0bf1a38e91c73e37eeb143b35f1f6e32a37c9cd78aae33f884ac6247f4e81f28c0bfc4503429ecdd735f687bd04daf14ef992abdde40eadc72388eabea8d2d20b39bd8cc79dfb9d35bca439eaab505e7614339cc2c5bfcc60b700735f73011bd43d48852d5049c09a4cd9bf00a6e2d3af7d0fe0812982f6cea3e9c855d25055f9bafe9b01e777964721d9aa6b67ff5e2235fd48d9d23df1a4dd84a34 - -COUNT=34 -L = 2400 -KI = 1a7f258f94010849c61a088ced11e0c062d3411a4080f662a1a224536f8f191b -IVlen = 128 -IV = 2831cfe7d33908d7d35051a32f1782e1 -FixedInputDataByteLen = 51 -FixedInputData = 36ec4b200fe3da39bb371354d31ebd893f1d0e62421726987a0b3dffe20c4f2abba83372d23676a62da01a36412ed371e051d0 -KO = 7fbbe02c702142543e1f2c4879576aaf9fd63b09f51bc91ff2367e8eb6a2a255677e367c366ed10c04f2768c7c072fe80e0ec6cc8d96131d190cb9ac4b58f04f839d1f43ca297c5ace49162a3672da20184448105e40dd9004016c2758b7f5aaf90e91905f328b0599687663442e5936e530674d9b253bcbf3da5d02aa1db2aebba94241b4f51f2fd4ac3f19899c0840ef52a974fd79e76be36dc1a83edab154f1008e4af76bd76a447133d6d80dfa898af040a1454d2dc5520537826248df88328e8de70e5fb39e2745895571ca1aba93b44faae848b5af333baba828074b4d56099dda4dfe7595dba55b76b0297a7fa703e9b3af62f1aaf9a7a50d34d36d7280927d4baa97de82f5119f4f1d6abbf62eba6043360a6ff6e4cae439b120630708767ab9c34369ba62581abb - -COUNT=35 -L = 2400 -KI = b89a7abccfe8e97b3ba05e3eccc11a7b17c4ffa8027f3054a6bb6b0dd8f59f93 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b2ab1e723c9007610e6169eec9db98b6f99126f52b31baec6b70007a5e6873e393cb8a310f68b3f70308d1fe37953973925dc -KO = 53e4fca563274b0fd38aa75c50c728ee6a75465787ee466d1aa47648623be269fe7719d1e9b14fc87acd4870888189f26c7cb6da61baaaa2b106fee104f814a9b6d7073e8c816c0777a3143267d2fa5de1fff7a63583cb0d26768a01b17bbaba0c645c2adf3a82cac733f39e3aa3e20acfcf3d4b982b46dfa69c0891ea55b371cf93d38786a9d5513ae51023abfa71c76a26479df046ce98520d54384848d072d7944a69a84d06e90906b1b394ddcfeabbe104ba76e241999be071b90f0ceaf317ab1936327178eb891d2d984d505841c98d8f7313d0c25e48a3480ec59cf31abd445be523bee9858842faff940f675e2355f4297180b3130691d7d43559868e3f288e961b058b270936383462651d26fd766b6b1bc4a7046f379112186c15b6a05171e2a42b805b99402446 - -COUNT=36 -L = 2400 -KI = fbe62c837354195c4980d3809a1fc39ebd19bf4977660c2ebcbb4910332fb87d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77e574de9babc8b9031cb774b6a6566b3d900b3a0a9b64f701cc53aa82e9585d75ffb4de971a45d498feb7c37bdce5490d8794 -KO = 856355f772718b3231ff4f6561f141f0a47febb576699cdeaff2edd97638a8b987d97428e5461924425a955ce5900f09fb26a3c91771db922ce080fbb91b816d3fd1ab00d75bc18d63c9a71078df50daa9d56a6a70377865e7bc99d966fdfdf73cd22454564767454844592da7018fbc3c4687983ee12ae3d6d6657831f2ffb0fe152a4aca8b6debd2070c0a36e6b9a9678814aa1c8c30a832551dfd93dc77c4be7f099adcca9ae8b0014c9b7964bc2e3a1fd2cf3e6f2c491426c994ad8e6057f56f28464aaff33a747ccc1166b8c75e54bf47ec6e39b9ae2d07af681276842603084e089e2df33a43ddd27ac3caef01257f848624ac77b2cd53c727176b0804b7aca11ced926121c716a3cf898319566cc85f67f18357ac8779784a2618c175e48f174235c912cbe3444871 - -COUNT=37 -L = 2400 -KI = 5c9d22485a061d54e973a2c07d01a39193fefe8a45435ea7b456fa7471e3d4ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2280e322035af7e3cb5da2761d748e991d09b3e910cf34ea3e976f0131b480f73647d77a105abad45f6e7e3c01db324c23a7a -KO = 2f2c810d9e0cf9cbe0f2925c704e7ed6089867ca99f3d26f9c9cb5557e4904c6f4cdc1d9e02e8bbdf18cca05c4ecdce57cc3e17abaed5b02e9bd38ad77dcbccf1e6febc407c3b9609ba9c3da1631ce3f612548008ab21413970cbb6b34112427fbb2352322d7437329620c1c8d00487c57d959456a1e2209789336e9e255e51e786799c8ef5bc25d6147ed200b311865e9ca8ecd9021396dcca43779c68d33cbcd12750cd9e968da7b888bf0a50d71f36eb3dc8fc8911241892edd28935dc7386a2b370bc7bb21838067f953753d959026dd2d4168389ec181bfc6311a9a989b94d74a8b9e34a11f40fde3069ec72e84b8a4809d398ee0d7ad1aefecdd3072fa64021b6aad5ca07bcde120fa6259c09b0dc9e7169bf021c44575b7ae37be7d84068cb7dc0d36e2d94cbffd0c - -COUNT=38 -L = 2400 -KI = 5275726232dbf1fc77fc5dd545b923a45e448c45e552ee7348552aa7c1574171 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 182b1b84184b5d0f0b15e632d26b85842a3ee73dd30a21abc335f5e134b6a44f46884c5409435ed010a54bff43a10c4961d04e -KO = 7cd26615b9721b593e5744df6999b0bc41d95236df869d5dfa7d9dbdafe25d99a02baacf8c4e7f02068c726c0f8562859790172551c768d5ec4ccef37cb185057a5978c286a7c9aec89b7783830eab6fc02bcad084cfd75e11e5aebfa7bbd1b1adc2e0bc468709d1c6386ba7b7d5f4edf769e4d878b5b6f95893f7bc42f87462179b56a324f35b2a5b2db4767b1dea22129f55334c1746bafdd40eecba3ecacdc23ec80f73f44b4692d7061a074379d747cdfaf1871493b8835c6379b4f1896f03382f9ab8128f85dc665e3b2404eb10cb9f021a54b26b2b1e67a8ee94e4fb2a9eaa958d802e557960e6acacf5d2f191198af582fd1cf5521a750e3bd6c5935a69938a02e4666b95a1020f92745e53f014c66f2bded867fea13c2f1d4124d50513cf9dcd6032d70c44ee549b - -COUNT=39 -L = 2400 -KI = 6d0506e4bfcfbabe70f89d3b695cd6f628a4dddc9115cef11ed6c5a63205bbcc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e1f09234334c32017d4d978196d9102e47d137522a18db874b787723d65df19780279fcc5e10f16ca9b2792b6daa094677798 -KO = 6600e601e37fcc073f136c953dbf310661338437f70f4b99090f910805d7998968083993e41a321623ac48a25750b42c36abf954ef090e08bc0b85a106b709ce516a0b416ca5ecff438281ee60900fd1bcf8333d9229a3917e67e1ed14c28eda302ae1ce1e7de2ef39d2eee815f89738c242ef00ffafe7b21d0217dd44d585c283e78d19402688338175c16af83f83e23939cb24c58d04ef4a3fb1404374f6237338466c7ee0fd71315b7c0600e63e7ee899e145b20c6e9370493ef075b0c53b4214614a4636954023f5c6c2b94c5613fb02a0991fc9fb6217bde0989213963a5fce724ccc2095b25324af4cbf083e1134434a8e7d7627b76f31af5f939e9a70717c125c2b67927acc9b273b0eebe0b426f9ddc3004f2041184fa13444bdd5c16157d2b03e2f420f6d4aa6cb - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 60244f7c89d4cd1d9b28c63b8b90029dfdc71c1063fd88cd76e9ba3c2d323460 -IVlen = 128 -IV = 24fee9ea3242bbe159e9d57f7c54e912 -FixedInputDataByteLen = 51 -FixedInputData = c84b15bfc95d1e63186945cb247527bed849a00b6b63db88fbf9a892d13aa31e671dfc1d26e68ee57291899dd38502bd23a4a3 -KO = c7b046f4c7aafb605a16768bde480d82364f932eddf415eb0498284bfc872f6a7fa8f062db984d69af3234f764ea2023ce0c858b633f900eb520549e5542d601 - -COUNT=1 -L = 512 -KI = 2f82fb1242747707fca018290aa1331a646f1b790ae2555a4e567b3eb5578e00 -IVlen = 128 -IV = f0143389762367fb1163593a37477b79 -FixedInputDataByteLen = 51 -FixedInputData = 3883024e3bf156458c6cf278a1f4bb39bafbf47f179a247baa64589328af9ae031c34a19b90fb26e67fbeffb0c5dae29aeca09 -KO = 89821d000a7cf1ccdefb987aa4c4a96fb4d4e559a7b158919ef4973987a1eac82e80373d3e891da52c540dc9eb8095492de43731d021bea4052e6923455e65a7 - -COUNT=2 -L = 512 -KI = 5a1e9f07df8d656d1826b0d0af4a36152fb8f2656848f7e884fbf249711c08c7 -IVlen = 128 -IV = 2cc09170b1f55c6c8465ef4d86443571 -FixedInputDataByteLen = 51 -FixedInputData = eeabe618f1a4e03dd11a9d3b0f0f793a8a703ac5599a6e2b05370296e0ac76c5831639669eaf9168227ef1734506dbd1c730a2 -KO = 99ce2aafdeab7801a35e724b9b7a6172bb8a506496acf3ae7385afc313add146505c3ce992d5d02a0aa18ffe84f7ffedc164f10991ac3ce2f2a55965fa328fc3 - -COUNT=3 -L = 512 -KI = f3b0200312c731e5f472acc6dd77cd9961991fecc9df87c57792bb9e5ff220de -IVlen = 128 -IV = 86d60085a507f6bc46147397199f13dc -FixedInputDataByteLen = 51 -FixedInputData = 18d8a48e4080812800cdb73eda5c3044debbe5e2f08c7ee9186793b66590697fb195e4c2c8b2918079b329b5f5105faf80a232 -KO = 89a654460c911e45886c4251dc687fb05d1cb66aa3942c3f93f29a8a9167b6cfdb800c0e3f1c08393d8ea968745f1b32e5d45906dfb66d952ee2d988feebae2d - -COUNT=4 -L = 512 -KI = 10f4591d6640e999f9a3963b88df8ed21e27e2f9c9029ca9dde25c265a7ce231 -IVlen = 128 -IV = ddbaa848426a21387f1a9458620afdc9 -FixedInputDataByteLen = 51 -FixedInputData = 4ddebc71b001bcb04a3e1fd5bef3e857372948d9ad914c68d76624521343cdaab3bc5910b7f0a193c093724d1feb83a4ccdf41 -KO = 207e8a3fefdeb9182c984f40a108ade317661a0150e41182f06ad547f2141c4c2f8c7563b77b430577dfc75ee4e9717acd8bf9eb20130c346605156f72ec8523 - -COUNT=5 -L = 512 -KI = c157590ddf1457518b7b68e6d116a9db24c771d9fbdb0ce6879f88fd4538878f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6379df0275eadaa13eaa10168832d346aefcc47dbc6306413c12b687eeb191dbb0b46066331c5ef5c68f97cdb67df4bfccb304 -KO = a797d0658a02576506ee79239607f455082f635d3521b6c3509ac00f41df06d79827d8b9ed51ce35a335e1f200f15f0de0148bcfba6677e83b6aac0357d7fe08 - -COUNT=6 -L = 512 -KI = 6808d5cdd8c89f97d9586c285523e34245304589d762d98053d0e3a9b61b1359 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fc239b9151573f7296ff0db77b9a0c3da25a7c4bcecc7c06cc1cc6347f36239333b3a5daeae8890d693693bd70f4a1e28cfc8a -KO = 84acc5fa97e4a7b4466a135eae084e7eb481a022cc90f92da8b1e013a2f74cca94780d8d9e7728c7ce891f5056424b9f96f103d4d913505c2d8c56c75554759b - -COUNT=7 -L = 512 -KI = 9123f307eba603e10dee88a3242d59a0937fafaddb15eb0c4ae653f7ac03e599 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6bb25576ac460440c6788e1b3fc3af8031897c7f2fa86713d8237560ef857dcb9197e6b29b324fb50690bfb0a4f7535ce2d01a -KO = f83354254ea5aba9f72d5ff6fab80a86621eaee8f34eaab6c6cdcb9c26870976622e1f041f5f91c9b035a8493a88fd3223d6ae017819478c1502403253b488d4 - -COUNT=8 -L = 512 -KI = 8e1cc01d54868b6a2fd6db98f50146b90aa73656bce78ba781fdd6fb093c25dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 800795cf9b61c42b5742ede44af70a4086b011f76751f8caf35d38748626ad8e44748eb5b87056b33e96168c664f3af3bf25cc -KO = af690d61e844694f3d814ac2397fa6b52fe2d448ca87e8d3978380c4f45c0d9f88d7a232d7d225f614fdc255ed93a4e73204df3c5cb6d946b8eeca16f6e36cee - -COUNT=9 -L = 512 -KI = 91fad2dd76dbd2e14cd3255e4d11ef005cfd7eb504b35cd3bebcee8e58f9372c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d181575a3d0982b4acd04cf18108c49cd94f7e4fc9d854b23d8d5c9eab2df14a95a313ee6ba847f0236598109cca0a84d442e -KO = d8a341be5fc54e31e6b78557ca9cc22eee9475ab08069fd4d3ceb640affc53db04b5ccbcb419844368ac2db7782043eae2df174681a4211be9a5eb4f96b3660f - -COUNT=10 -L = 2048 -KI = 44eeb29e5b0f9a575d1761d55a714c67a07b2e3b10cad9aa9315f9960e09fe10 -IVlen = 128 -IV = f2314b615b97da44c2ae02a8464dbdb7 -FixedInputDataByteLen = 51 -FixedInputData = c32a501167bffedf12f7106da75c5f9131ca056b7fac9d9f509c88883ab3d6a79a470b6f014d47fa65c1d107da6c1bea676771 -KO = 6cd5911a1cbb649cb90f536b44fb0450517f8cf1453b0aaf4548f0351663153b72f0a0bc106d83506a6beaef1e77a91826decea7c74dd85de31f0f3dbfe27d1d2d485ac242bba45d4d6a3d9961094f997556c3a44773c6a6f0e1ed8b4f84e0c8963260da75b5aaae10c34d0fdfe9d17e74d158b84fc5fbdef5ef80b22a5ed195396c3e3b508f3d9f0fb23471a2d98d0cf2716352be54b6f38b69e735975f67f302d4ede5a2efe883dccf2449a34be746886f68d91ec78fb323c2412abfbb39aefc4719abee258a0e9636708b9d6bad27b5360fad748a75780a8b596e466c8d8309796e60693e304c48b95edfef0355e443f26bb90bca61b77410c0139a440f14 - -COUNT=11 -L = 2048 -KI = 3b74b4de9848021178ef45435e014401acad17550f8fe0af69adb6a5a6a3d2a3 -IVlen = 128 -IV = 303015d231dbb495e7443e9e40f84d4b -FixedInputDataByteLen = 51 -FixedInputData = 3ec438274faf9aa58afd89c79d5da33ecd5edfbaa0227d54209dd9b2935b78da9e88a5e6cc256e5d6daacd0d0bb7721be2d22d -KO = 03a7742e6a35dd0a2b14f184f197ce13991a81d4de4c9ece81334f0df08f8a2f72950833a48ddf43abd0e2eae497a615575276b99af1a1f7814a8faf0254aed91604f08cac45881d7f7b133b3fe0129592bccc9f61d80f442ee71161f1d1fa8868195a292e0eccdf8d832e62d4c5a7b62077022805e133478d0640f850491e95c291896ba28b90f9a94411c5f30b8fce9db7201a053e18c5a26253c4926158903cd8d9738aec16031f61213e1dc4a0ddd1c5b5ff5253c1cd4b99a3e68d4df9f8b99c5fb634c501ad448f0d37b1b5a5785ed551dd0b5049c2f861ac6fb87f64ecd34df026346050494fd7dfe292decb433cf91411fd246e03f6fd929ea1ed0996 - -COUNT=12 -L = 2048 -KI = 3b29749d0cb1e0ecd4ac23ecae6eb68a7cbcfbbfd2223425a4a9b38bac22ab52 -IVlen = 128 -IV = 21e281052c2bdcfc3a6da03113dc4010 -FixedInputDataByteLen = 51 -FixedInputData = d217da557674c5029b82a6d7969419dc8f9e17630cf71b202664bbefbd85d58430a42d69e9231f0d9ff0b9bfd7dd10e0287c7e -KO = 194a368391a3e79acef2d17787d4542bb630823cac5b11c5f4e6827f2e9b90219f7952a6cb7a70f6a321b9e9ee41bb1f1ee7bdd745f9d65447e4974e81ec3a0d77db8e6e744b523ea1bcd7502bcec2f1f7b28f224e393904fc569358d11e50d1e926461bcfcb4185a4893574023f3d97539214f4a020f55dbd3fed84b8a55e7be0b83ed4174e45b8f4f4ccde92aef53d09c0dd31184fc34c28b0678ea274036f9722be190ea6c9fbec40d1b8ff535f79d89e1058bb64518ed0ed00d16cee2deeb65929fa8d22bc2a5868ba096dd730c2dca87f0e2b2f35f0b4a224bcc4185eabead1b0e75fd899d16041fcdf00d9ca7202b0d516fa72d0e23fbbe223d8345627 - -COUNT=13 -L = 2048 -KI = 147f489ff577e6fddd04b0772acb0abad2799466970aff61f8b5a708e30344d9 -IVlen = 128 -IV = 2c3677570ca49b5bf8ff4ff95cb06915 -FixedInputDataByteLen = 51 -FixedInputData = 3608d7287aee22f6e274eaf5f5a8db339b6273300edef5dfaa76de43d04d7e39cd02a8001b80c72bf1d51743c6a6fa23e3d79c -KO = ac9141849bf5ff50d8d892c9b6cb00e2868902180c196723b4fcae038b3dd0ba3c031bf02610b36a714b872cb325e4797abdbfb02a37b9a97b252952af2c969499284b7da73d8c154e27d76b34d570612027d9bb6a32fb55897500e99354ff1b8cbeb433a78e8e9965e6cb75987e9b1d8bbd3676706bcfa9d05377da8561c1e2fbe73d13971c8684ab4e83e1fb6c3a253640ad1ec9796d68fc43e23cc39da80a0d67fe8a681c239ddd9ac37f52d0fdbdd6ca4fec43398cd23e7607b1186f717cbd474fe0f46d4184f418370c29dd70fc3e57401628cc9c21f50ecd8b62eda5bf3ba7a41252f37dd1649421d71c67e3f6d51e13628f97ddaaff428808ae44641c - -COUNT=14 -L = 2048 -KI = bc6effebc29f947caa6cdf13d4a489f9c422f3918a2914e00720b510a70c6d53 -IVlen = 128 -IV = 4ef763a05599b492d540890934f1a82d -FixedInputDataByteLen = 51 -FixedInputData = 2e4c71a86029b1ae5fe7678ffe071f092f0b5cec33f17e135f565888ce51658a70624a66d9d3b1ad1c792a2450f03dbf116819 -KO = d6ae1408176ad4971300632272ba4540a7bd4e0387ea69bfe1b58c226f57ed588119a89bb1b35f3cbebc242a0e523aef3badf935eebabe1b04e19b3b1e0edda3a4ee35694b79440d6bd75c482b9d99103a79be79120079b271606b55914527bd08c59b8536ffc106bd2940e2374c49bd97663e3e69c85a9ebf0492c419302742f7aebc5d6aa4b723b71d236d33b7ff2dd867e9f88dfbd9d204a61716739b2d2ec9d5ba401bf954540cd7b48305b7b8d062a1c081a0dd4e79076a7c570db228113a27982f3ffd4bc0e4aa86e86720dff9a215e4dea9e0e3844b1b4f52176f242416e30539ab67d8f4e09ed4a1e580645c33ffc14c7ab5f10a81aee9ba6073e438 - -COUNT=15 -L = 2048 -KI = 095622c1206f3cabb68c7f5e2f266f37533a16a63aa6d0c94109e241c35911d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9babd167ccf3bc3cfb6aef0e7dd7dbd5dc6d0f6bab7618047c3c2451d8d017bc8eb09c0ddfd40aad3df6440e9af99e802ec1a0 -KO = 6033a694a5eed0e077b02cce112594ee087b05aeb1c8a42c96863142a8e6be5abd2c673738f44dab9604e2c83ec92d26476f4e8170ac51d47cd919b4b5c65b445fc52fb315810b02fa12195ba25e8d784a280603bee9f0d991d36c7325227354563580546572ac7767c4852396a0149752b56ecce4e988fb850adf5259acd76fc3dda84baa2338685e16f792d8bd025269f06f3b354e79aba5f66259845b9e1f62d75348b7b9ed6206798fb08e812acee5885dda7379c8a0fa8529efa86fbdde8a18534dd41a8d0fb36ba14c24c6c45208ea3316538776aa9b4c67e74ee795e5cd03f650eb0e98f69e9679b13ceeb3015e80d817bd4fea62cb14fa77b2cba74a - -COUNT=16 -L = 2048 -KI = 739fb4ce45af729b45a88e69f7b1aa5055a095b6a4a94b426947b3012b44cd7c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f12107c04acfd122998e3d3be04aae172b68ea9a87a19eb0ad1efc4592ace433fd934b3da709d763a775e0a6c1ebc141b905a3 -KO = 6c1112917877b56b85ae897b5ae0c932a7cd251a6c53a31d6c5a723e6d7f4a488c07c6b45497e30a93cbe645e61ad32b1998b63ab4dca5bb7e3940d0fac0f0ee3e7fd64b0329bc813755531587dd3107c23fa691320d079f6d6970867337818293e444f69f82c768b9137d4d00d3fb45d28c5e2d6de4a248f6266e63284276ea599fe16fdfc641605226aae1f3a1afe79b385d93d6d301b5549f6ff080ab5d8ad34ce6a6780d2f40c0be28291429b7386287d8de65bbda1e7c261c96ba0c6f9d8678c1b2021089cf7414dd7080057cc6b5c81f31f58688618c3e3233f8c6d044430e1c374f9b9fd56c9618e7178ca9af69025e3ecb163eacac06cc6a002bb73a - -COUNT=17 -L = 2048 -KI = 8033649b5e5c6fe5f4ba996305402cab0558b9bb4e81f69874623d1901ce9dbe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f905d3c7fb987e2e6c1cfcf0cf36b11ab7a868b8c09e1a0113489aba8c02d2f54046750b9a3822b9987ae0e5f99b9efad3769 -KO = 02bac6f5a0a4199be35bebd7008ef7934c3c161c993bbed9c2036735cc651d310af394225e64837ef9a084ba8531de442cd4253503d48de24bac8edd5128fb29e0b233b121999eb42881399f5d6d548d994df79e04789ef0d42ae68e87ac4a564d0f85d24bb51263de971e8c69e4f67ac5d72f8a5a9c9c4d59c163e63cd28632afc2056397c97c5600ccb4ef3288a7e7e5f964e0eb24af548f9c5107cb367f13fbb4e8604bdb7ac83285ca5be9d9434d272a832092f08dbfa243891638ed891708ee9e8ef556d748f44f4b2c3847cd81583e7c0c793c83f4e9b2b7e5feb7c49ebb74690a0cc94c2a4a52fad3d7f796488ae4e6d0526de605db0f1242b910b5a9 - -COUNT=18 -L = 2048 -KI = f46647eee138db348c571f914ab8a97b7fad36e773565ff63e0293b7e045ab6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1aba8b3279921499ae8347d0265de64bf5d0fd7d573e4c51adc15f71ba6fb2c598b66b2358277a605e12e391848ec7e5790a61 -KO = 47a375be0dad47458d07df0785c76ff89df010b4e3e9ed526f6a6f37db2befb2b44fe18c35e283c287b27a25db6ef205f08ba481051399315574d74d58e5b05a2a92b8c023afe30136ed1869f7b1f9dddf26fe233cfd9c6097d978b44fad7d4c2b2b2767c802d50f085b098fa12587d6179796feae6c6d981543b3b1d6784b91079198b6e6478d6efa440e862ba919ec6b6deb4a375d7f6fd4056bf96b71e29705cb67a355ffcdbe63c238e2017632a0ab8bfdd9ebd1a696c67414dd22b5a3283ec29eba57e6c822513d9b78bb57f473f27d2ca3b9200e1f4e2a7c3160acf70ebdbcc5bf1f87f7c21572b400cf48ea978d331a75ccadb551ae5396f61e1ad6d4 - -COUNT=19 -L = 2048 -KI = d719a2e8b9430aaa30c357af9adff023848d7841f957ccb1b89a1ce520fe6591 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82c322f77d63360d31636cc952b9294d011a25997745d598d3ba719544a95da4e7d09debd52a88d87daf5b7a91475ab4586923 -KO = 2478418044136226911784887e525cc301785231596ecd86c889d13a0783083e706973986834b1ed9c48aa37cbf576e49243c93b93296f13374c7efbc3b7a25df160fd5872280c99d8c6dbdeb772fac0e520cbb72ff4545374f97ab788774fc10b2508f5cdb4213d977cf8570b31c011d2345f6948a03805e8c3aaebe1fb030b7fee97fe95dd3622bda06c0aa3744c1f153ee2e779f68c41cf9947516ca5b19b2f1807a967be6d417838bd7f7e73f16e200b077a6e7f008a0c4105b24b5912fe527f3a5dc98ed400d650709dd7287dcba5efc27c4d166217d248e1af57eb29c52954841679bb22ce4db6e84c60f6d21cc89f00e0532dc78106476bce09ff9d23 - -COUNT=20 -L = 560 -KI = 6162e7ce588866c92be0bde4c89ed96a0455ff0058b711cb12d4b91d7b877279 -IVlen = 128 -IV = 562d4cb35572171747e93ed5da72ea5c -FixedInputDataByteLen = 51 -FixedInputData = 4bf82597651c011378bad45d272007026c387b7fd5f8d5717257255af1f1d732a875543ea52ec094fba7f455e4b64c9da2773d -KO = de75adf431c074929d7ebca3b1ce9bb44bf3989029ac122c7c77c857f890de50a53825e92c92e99ed77163313a85cfe6c1fbf3084aa1dc15e471081d6aeb9119933bb8c00e82 - -COUNT=21 -L = 560 -KI = 35d3aea6e4131719182df74d11cc5a23b2f8284f4b70e65548c82b6351261cd6 -IVlen = 128 -IV = cc188dd00039c96a8c50f74cd6b2eb57 -FixedInputDataByteLen = 51 -FixedInputData = a35ae69d7acdb199d41e74cf944d258f858f90a029fb54be2c8de25856bb530e624bdc41484a50282fb8989ef8a5c68f9906c5 -KO = 8e68c0a15ed083cc113b88b9fd74b2412daf743013313b1439b556abb3eda37d4e57cce697f2533f0c09c8ac27aa3b78b00a6b5e67b657c0744ad1fd91bbdb4c0a1e9c8b708b - -COUNT=22 -L = 560 -KI = aca8a4ea2675e4fe329026b7f5c62266f0959f67e54efd410eeba9381b4a285b -IVlen = 128 -IV = d0bbcd603f94ad9319bc043c36cf2056 -FixedInputDataByteLen = 51 -FixedInputData = ba65daee2906212e5e2609dbe1d250167cb14ce5991d79ce8509f1148c0ecde3269883e01d0b2c3741720e2b578e640bb2917e -KO = 1b8a9bab5493d99e43e2d470fe2f876536e77b91f990e482479c80916f1c92c44bb281127e724c3bbfa49369a7c37d14dc8d9d62df13223a6b9d8b975d79694294f07f4dac08 - -COUNT=23 -L = 560 -KI = d1964fb2726b9a44969134107451e3cf139ef789a36dd5986423441a7d8e18b5 -IVlen = 128 -IV = 319fdfc0da768b4c7e49bfa735c595ca -FixedInputDataByteLen = 51 -FixedInputData = 3503652126611f69970d2cb7af9b7bc591a91532a51606e13620b3abdbb1b8eeae5afb6847900280131b06f48a2cf8321e3609 -KO = 0b57a96abc249eaa28e754ed5e310732d119505413c2c63f1f3c0bfe131f2fcb2b410d79bd9c13d064e42d720e00d175a77d917a3ee8ceaf0bbdcda41a0ba0a83557017fa0e3 - -COUNT=24 -L = 560 -KI = 217b5fa45f560e0627c848dfd9370d454667209fd19f8113aae53cc541cd401a -IVlen = 128 -IV = 995234f4b7f795998b6096d804ea2d65 -FixedInputDataByteLen = 51 -FixedInputData = fc08f097a3d5cf59b2a2728fb5aa56ae5c79767a56a4b1f9b457c74a6826f4cbe62184a28bd9983d4dd9876c17ad4b180b91a4 -KO = ae84c1c9dbd1793f61b1f2c060f953f6451a3113d52b93f1b2e5f20fceb379c3ced3d744557ea1db51eefb3043051d9930d90bedd1796ae34df7df2f8e582f87f59c2de9f611 - -COUNT=25 -L = 560 -KI = 86a0046e97e6ae9c0c4286be0c7961fca3c31b3586313299df312f56ef13b72e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49a5a7ff723de662000778cba8a36e2cbeb4dded93a42e1422a99385a2c62a26c2cdd081b4f2ae5de9f19e7578ef4853542ddd -KO = dd95089d427f4d133bb10e228f03e1cdec21009446c7a276222ac30fbe75631a31ecc97cdb981f2ecf0fc5f54a789f1371e53f45e66607176adae8310b5e347452414fb0c245 - -COUNT=26 -L = 560 -KI = 03822d755ec49b51149733d46029bf6f9b47e83ff8e00f007cfb4bfa7e87fec4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e99e6f8c882f2e0979da09f3834d6d2e0ef73ebc72c3c7f60a5935c6135ae7c89fd03a555a4906df6dc5645b04639b21e8236 -KO = 28133f45229f139fd09b8e6950029cd6976f3b5799bff82e2c28962f9296426191be2d1706657f5130279c5477a4ae61c84c2b06eda096f140fb918483b6d83dc2d4049081f2 - -COUNT=27 -L = 560 -KI = 0fb60e7337dd37bb3f54754a08d0bb0c582f3e602e134562c788615fbd4a0ea6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ca33361e1d49c46f814cc8119c50c07fc15f7a70c407f76bb31a552a21f1d16ad229e5a42f65e6f61443be48c9ebba66208aa -KO = a50780d93b33b14f0e734d1e5c2f053d633ae5ad7d8be9aa5964fc3509953752ffdbaf5548e3f80642dd500a8e4e5ca45c8d860217bf7f3994706ccf36035121836ab31f5965 - -COUNT=28 -L = 560 -KI = 98fa41c57e8469cd132f9f28a033c5cfb2b26311ec76e3b3a4da08b3f04a81b5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b82d1463816f31e0291fa72fe90ebf9c2788c16bfce6d9df6d9c549d53ba37b0c8f2744b6b94aeaf06fb397b734d242ba1f6d -KO = 21024a3390d2da2b839c2fd4052d7c00ebb7ad2f6a1ce94bd18ab445372d78b5aa8ac977a000054aa7ac86629b44a43f3909c74bf91e38eb3c4db91bd3d66915e8ed698055cd - -COUNT=29 -L = 560 -KI = 79c831096ca91bf76e44ea0bc959abf2c8640c27eaf6a5c907429de9c1dbcf37 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 580324ae612682c1810c063b438c0bf93d24399eb995cbdf87f784e3a72657380bf3da72a953ae8c885557fecd5a907001d7f5 -KO = c57f0c25f46c31370eab0b38e5158f59cae281b3093029ad492a489967c9da5535822306d47cf9d38d73e4ecdd5ca2bd55e31c4b718c22ce2a402ad6dd528242bd4c6f6f917e - -COUNT=30 -L = 2400 -KI = d76f83500ea07eb9289504868611d567a2666aa3a93da3dfbf5722e8b8fed33b -IVlen = 128 -IV = 7b07de9b581274c78f7b966bf3fb2d38 -FixedInputDataByteLen = 51 -FixedInputData = ad84042f650c6c7a1a180bd7091afc0865f23d627ff56675c57f8e0e07f3110c19792a7ab016f157d06155f9cba931661d1802 -KO = 2d19f8ff12206bf5ff396914c38cb3f94486a511416bd5b450b6138fdb9cabb6966499509325fb7f16bea1f7f8d7e4df914d057401362c21abfef7af6744012c9aa638987d43fd3951cdd7d89b2db1165858006fe2f8a49da960d23ce0a150696eedb1394b1741a959b181b78044e27116b65a3ed42203075e451ae4b95a171de6d23a5dda4d59c6eaacd9c93192e3837c587993d49ae5da2e2feebff0f1fd407bce5e04598379b5d421ab3b086061925977313e221f3728505cb4714d5056d6ad4b68b0e1f56a3661edd936a2acdc9285282e327425b5238031555a1fbc94cd6017b69a2275bc579887e7297f40c15b57e67182bfad0bfcc692c714d41aee21c246d67f7fd9978542c55f808d874cb0f0b3a7b73aedf625d01e4add31083da3c5ff369dda52e7ec562d7596 - -COUNT=31 -L = 2400 -KI = 8e2f2bf172c190e7d6613a616b725bb8d75c3eb674f27d0edb0a3c72739a7c42 -IVlen = 128 -IV = fe4e187572126b6ba1275f81910290c4 -FixedInputDataByteLen = 51 -FixedInputData = d9fcc5ff58834bb281f3433313c0d7a5e31fd5b9c63509cc58aa7ec31def47a058b29f832865ed5e5b27f94c541c642973afcb -KO = b2f1c6a35c5559cc0babacbeeeae56cec27a5c6fe79fafb35ba7df12df4dba69744b045e614ae7c47efdfdad6a8068800d4626cd9190ee76258845c342c7551e5c3c996e2347777e7cd043b7d187cbc0df68f591b23b441c0a5f25fb51ae2046b38a11dd0ff87202082d18a0cf52b4f6385fa66ca2531ec2c2eea6e5118331a5324c7080f4cd78ababfad1cdd2f801520817dca08412da144ec2ccd97289ec1ea0b33b4f55745cffa65b1017fdb03b66cf328bea6ab9b6c9f7a0344e07e2bb581bc60f54150947ae2779d08ed7bc7daf515d50bf113624d0da1e089093aa1b8ac7672f51e592bec6120e2cec5264d6fb844ea7f7e129e537e0de9ba33210de1c083ff58c28739e5ad21b3100ff84dcc29c64964384826f14f86e7c1c0848ccb75413117f63a3e7bd93d6cff7 - -COUNT=32 -L = 2400 -KI = 3e4861428c3fbf911d633ab1119a1bccba9d1eb7e88bd8d390126faa28d5d7b9 -IVlen = 128 -IV = df657edb21f6077bcc0a85c1ea8c49d8 -FixedInputDataByteLen = 51 -FixedInputData = 83caa767b52594dca944755b692b7fca67ba8af2b82c02b7007eb3816f156e41f1df833f70f60783774d804efe3bf079898776 -KO = 9ac5621edc117c7091bf8fc77ce0120004f0a97ce84ceb0d7d8fb4e45ef631eb8bc6fb1df77fd24bb5d33d754b4fd558e000edb7e6566fbf0deebedb34be0aaaab7793373b7903e9157d9ced8fc11d8425502e0292058cad13e72450b676bdaa2ac4672e73e22327d5ea814b1c08cdd56156da9e5ab9b5c4c5f0e8cdfcf2d35ad09203716e03c7a067a854d44dfac57a49ba94d935c489e0e25393c136848ef18b51bf3e4d3855e5508f3da951c4f0ba27e6bdbaebacdb7df97ae4ef1eb01ded73e20bccdd0517a675d86ce73f01990bfdac7ca561a6b17300f8eeea1f3c74dfe634e095c1805c29005a28d942c2a0bde1d80fd6fab3ac8a2548b60f7d7c11975fc60f3346e37f4cdf41248d58886f076ebaf8405e1ab68cf93b56211f6b217044cba5920e1887c1f7d7e876 - -COUNT=33 -L = 2400 -KI = ac142873b78bf746cc3960dc0cafb3f1f33a5d47210c0b1b8d4a369c78fd8853 -IVlen = 128 -IV = cd27103d26834bd3691b62ecb8456ecc -FixedInputDataByteLen = 51 -FixedInputData = 33edcb6f3df17ffb4da70e78a2672fb6597d55948a0a335f05f731a4d18a3ced24448072e0289a81377e7b725f36d346c75c63 -KO = bf5e8de12c17cc8a480b77fb48576ee2954e689f946aad19710166b0fa048b000a455280670579acdd35431561fe7bc890c05250fdce33850f0da5696836ea4c36dae1c0577d67924cec89e7df2f0500c93e6f1bfcbe4e8d63d9fd52fb4a24db88ba65ad4cb6c02077a2c52c4b8b15e6271d731bcaf000ec7a5e4ade9926f7e6892e9dfbc406cd0ad6765e38e1fca2c2e43d1ff62ce11cddadf6d40ea0562889f456e3f389b44e5cb9621370ee16de2afeb4b20ae61f43a409aed88cb401ac2728170b3dc3e64b87fec694677cf76fa20df3f15bef27343666686832d4ab7a212d1b87a598774406e65f58d996ebe00b9d3984660c8203b4d2cbaa4f68b79d7ee250d768f5bd370eccfc6bc10cb65c993a633fe79f81ccc924f64662a7f48f2c160cc272891d98f38c1eef7d - -COUNT=34 -L = 2400 -KI = 35617008bd4295f127c4fe0cb2e0cfc9f086b7fd891437179730dc02c55d3250 -IVlen = 128 -IV = 5739d818aa3b9f2dd44450b9e781e716 -FixedInputDataByteLen = 51 -FixedInputData = a5484a28ff7e1eec89f6ff8b8194780e8cb3fb7c92d382636e898905d0fd64e423a21df349b5f3bb8b18bfdc1a7916fa89e691 -KO = 5fe4dceb50056776c90ee4f2ef604efe7927956a25338c4d767dc5bf43c55ac768ab4fc05500acd7bbdcffb51b488c28d43da4ad21e052f19fa5314507d77799f6f8896bcf9d586b72b31fb3dd6dfa7db91f58bd42531264e0109540b9b0c6eb63cb7047b2110e58c87c11f919756be860215c29a32abe24bd72af2f0dd5c9c75792f6001418364fe837da642623f2c1b8f58091e80b633b0a66c36aa1ab47d8c2881548545f4749b3dd409fa5214b631c8c4e9c2ab9d118d07c58dde84db70d956ad737032e8fd932388a25bd36ba55635ca116ce398115552d25f56889ef03ad3f8b5361ff89880e4ecbc8fbd1cca57692da95e57cacfbf7d8cbec0d9378535f33854288f32e2af79f63249d92a817a950089607795cff30f430a95f05e0ce50af52e4ef19c114def5e3fd - -COUNT=35 -L = 2400 -KI = 16e75832efecace3b6d4d54f051dcb0ccdac899f42fbe9b0efaf5984845b3d09 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e799886fbc82f438e89613356f1ba6ce4ae55b8e5f7fa680b68c11aa1fb319b91cbd0c10ccd5c178ea3203b7f0c2707ae47c6b -KO = be63312639369beb4dce84010991600cdaa3b2d91a81c5f779a773eae7d56fb7389d7d78e11149373746135f3b05c243280eaf65f3bc7e800721d7f0633344f35df0dc9872bd57e6d941c20c256763697e684db60516332aeb1bf3620193ad802f26ebaceff871baa2d228bec9dca8a3bf6340d02e39b8e73a969649999a98e3c4f8650848065925de37b74f2d8800d10133f5b23d2459b470650ae4315de1930132561f17676adb77cd9fa8a541876d16fa1acd185bbc9aa3e92e5194bab8674359fe68545933d0667d12821ae7b317c535716eb5130a7586f2779d4253e656431fe5bdcb0f1e9af572f793a82cc3cfbbb0f8b6710e49f0b4f95f398064ba7a6d2c05ae29f24ddd48bac0764b48173fbd429c0f7808c3396fbf0d08cc9e2a8daac00f138b5830ed02aa6199 - -COUNT=36 -L = 2400 -KI = 518a6e46f34cbe2439629bcc26e1c4c0ef4a1c22d7f6280167cb9b63c3c6b3a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2854d19bb98eb647a19387c060d8f86a9090ac1f8b77730bd1aed102da6ada8ab6c6591f8b9189d28706151c7a510ee377a50a -KO = 27b5f8a967879f9ce54d321d8287c1ee3acc40fa4ef81d311d65eee00896c70d4cd1f803a8f29130638d642ec77467bfcb8667291ea6bbb3850f3ebcf531c922a1c95cf801e70867d6bc174eb58cb6b7a1a13247b550b63e355106ba7d590def714c19e9d4a50aa2f2c7fe58008c4930e9d240eef5a311793306b19b8077ccccd5707dd5cec012d0107e835f77cb0e64f38b18fe509dcedd6f1c4d9f9d344dcac7c5da1a9edc9f74c924877882e0fec97c1b3d96f8f1c0a0fe8551706416d9b00567b623e356baad5973ebe1ff6af77779ea2345625b63352f4a0c1728552a8e05b5f7a567e0df6e84021c0116c1b4b307f192ef0d4abfe84a1dc6134e872153f64bebf2ec200a1855c4908e23225fc8928e583cb45368a3516de7238b0a36e0971dbb5faf69d6d3ebf16069 - -COUNT=37 -L = 2400 -KI = ca09a324106b8846f450b621e79e51d85364f047c0886bf1960325abb95ae248 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = debef835637936368425a2952d6fc32491ee51fb66b33e286ef657236ac689e82786ab71f974dd72fce756bd60f5d193ffadf6 -KO = a8cd3df76ea9e0573271919918de6bbe3b01367609c5353ac6658e7da3c82d79095470893ff2effd6488b2afdc3818b9fe3f596dff6151d8cb80c3ec6dde676cb8eedd343b072201a32d694767b7f01d6c599d5fbc1aa678b203a1b4c728f2f449e395a60abfc96c58df9bdc842815e24180761a10ea6124c6688f9c68b1669662323aefb08093673653d1f6d0e021dde38688591bf5af2472f2865ab702e1a24d6c5f8ec74a8428bc9d8d21513e0ef121c0f80d87912f283c2db13402543eb3bd8202f6b424d2630e5c3c9bf74bc9cb25748d74539eb5e8fce8622908c8155180aef9271531d03a816acc08c3b958a31ca10776df342efbf555b88e722a262b5513781c5c3e3197bfefada27f4787628318821a0fbbb6505cd84d0bcb0d507b10efef344c4873e30f03b2b5 - -COUNT=38 -L = 2400 -KI = 6ea28dc3fc0dd300f49e1707a8a7a991d19b3fd7a51626bdeccc9d1c6d93079d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6052979de2d07ac31e30d02731a6f493cd44b09d296cdd6ce1e770f37268e7b36c9d38603695c5b7bee51a5b74419e9c23eb06 -KO = 4441b56ecdd26502b1bf8907cbf88c8515a3fa794270348f072897bceb19d8040e1c66e0808128dd2671b57ab7e990fcb8fd9727aea38e983f40c76277b9c7c27456fc6ec2ccda3cf0abb0b3a820100cfa8e430a133a233e0f51bcc5aaeb6e6943634566fbd4da363a9fdc78832a063b0c351d0363926cb950565a0f191556fd95ec24309eb71580f0b8084823c416a25847c365f7d4f2081aa9dbcf5f389c1c3dde718d9dfd361bb56dc4d24501d3955f6167384834875e9fef69e899a3987e6b90b54fe343c2949d7018263ff30136789abe5846fb96cab8acd0abe3ea118fb84626a2a7b6dda593102552f5419c1dd27a14413f3be43c27216af75aa2e6970839cd7bbad69e0965c6c86c2b070dba942a01388368cf4732edbc2e81d08353932359bc87d308b98f8cd753 - -COUNT=39 -L = 2400 -KI = c883970b714a4da447b6709264b758934f12da8d9cf6f03785a060a3ae821378 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a25fd2c949ab6114a6ccef35058fe7fce2f63895bf19477b1dee5e3d768d2243cd021655417d0a13a3ec00a845a7df334c4aa4 -KO = d70960fac54d072721d3d9999d1c06429066d5417ed1c54e62b5e4329eede5a85b6ab63880255c358037699edd46a693e5a2c0ea7b12b3d4d29404461528a6123216549f5b015c444d5051b2198fc0d53452555cbc779df56c1f9a8c5d2ce06acef927d3e75e419f5b96297362665f95fda5f6d87e548f95671f1b32f72479e911f7992895c6617a05f94546f3fdbc945778ac930e73d8cd667a38064f0d59c7dfb50682f64658b61f946030daef147e8a21e5e04a554c739d70d5349d6b8c8389cbc2cc7d8eda6e5209638844c99637233ebf8918ad92eeadbc0d3f504f3e1a9cf7f3cda999d4b82b9ed4961e857f555d076be35aae0f6709339355f3a31ff2feff6cb01e5d67c0191be16929c51de933cc130310b358bfe96f373e6961ac6c2a75adbf445280c1cd379bf2 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = e659d3b53d3ca1019a7ad5cf44141dd55a79750bea6b5cbfc1522ae2fa4ac16f -IVlen = 128 -IV = b7662c3e538bce58a9446b255bb482af -FixedInputDataByteLen = 51 -FixedInputData = 378e7b11569b7dd734daadd4209c5fcddf5b07d6a1df432a7913aa4d2cfefd423fb201cb242a1e18343309d84dbab10db42713 -KO = 3063997eefb6382415e7b5d092df90097ad6c712e6b92a127952ab94060c05892423b1dc5c4aecf82393fbd0ac512f9ed51083711fef61eb283d0a969418cb88 - -COUNT=1 -L = 512 -KI = 70074ede5d9c2d7708edccfbe39056f31a87f1366a9ee2c03036c254dd27647d -IVlen = 128 -IV = 3d5e5fbc8881b6766a1cad56dd8d28c4 -FixedInputDataByteLen = 51 -FixedInputData = 4fb87e2e69eebdfcb3f577e240110bc0543ae89202293731aa29b9d7e9b577756dc47b20ec194dad35a20efbf43c04bc8b23b6 -KO = ef240194bdfcb39821ca64d2c243b6c804d3e364128fd17a35284dc0f215a17b4895dd0c138c17e1ea7c149cc0f9fd21f0e90afbd330196f0a130608738fd259 - -COUNT=2 -L = 512 -KI = f567c88cb1161be390853aeeaecd8e4a13ac58c58b1d02c111a4c87e244d1bee -IVlen = 128 -IV = 6345de27478da4a3be131473a136e250 -FixedInputDataByteLen = 51 -FixedInputData = 8358a97b86e09830cf5d7c22096bc43b25179ed7cd9fd52bf71c28583b5164b8a6930e3e8308424b074ccc17255499091fa8f5 -KO = e5f495122718d87a0772198cf9092f7a436d62675f5e6af1b32258a7070f856d004f7b14a8a353a0afc5419cf85e61b9ec607874a127bf2dc0501be2e663904d - -COUNT=3 -L = 512 -KI = ddb83a4e8c42f0d6a398b24913db23028687c0d7965458fb62059149bfa0045b -IVlen = 128 -IV = 5336edebb74f4a385ece90823cbc3df4 -FixedInputDataByteLen = 51 -FixedInputData = 3371ef83a282cb2ce942971869fd7fb26858dead7f44071cce6043a469f7158c534eeed7aacc35ddd215e1b7a7272adc8e0c30 -KO = 5a0624dabf6918bc4ccae18f4b0c037b654598bfa7c0bebf40ab4b5c4cff24d45665541492f7f18a3898b52762f2a94d82a8077737ba605f43c33a11a3de5859 - -COUNT=4 -L = 512 -KI = c184978e5f18bbd10599f0b635d2e7fc8676611a2bd35a62ddb1b3415d14fbe2 -IVlen = 128 -IV = af8d236dad13bda517a7ec9741e193e1 -FixedInputDataByteLen = 51 -FixedInputData = a5ecfaf89c25cfa2ff7950cbe14031c2ef306d1ad968e3312cbac940c8b291496b54dbf681e420290ca86d165c4fcee335378f -KO = 1ac05cf35bfeecf95df4e19b098f5d8996b844430d1dc4ee9b9deed09dcb9c4a2cdaec04a9b555001f59c089a812c8dfab66b27f3a961b64daab20a8333fd8d7 - -COUNT=5 -L = 512 -KI = 0ae6bcf241ef3be10c6c2a8b790724030c361b1f3d5bf1a6018bc8659a151b9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 910ed874f50aaf7724cc1e808ec50b880f3303741bdf51adc767a3912e64f628e974a1fee3d31d3f160f4467f76de3a50c54fe -KO = 4ec2db965499d537461ded6898feb40026a6b8273bfeda42d271858101961791dab718332663fc18a53696d51cc0c40865af07819a34e27a0259d42aa637fbb8 - -COUNT=6 -L = 512 -KI = b2f209c3721d58c00e361177c7cc07a22ee2393443daa30b4dc031746704e8d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 30a6097bc719d2c08947512759b8b52f03ce64a5c866054db2ba68cd39fca8c6fecbe209c7bfb64037c20f9d5444500005f888 -KO = f23e8d1ea28e8e853372b5b767496cf93582658c667f1cf673c16b539b863dbbe4033ede7284a0a692e18c4da2410645f635f96ca0959f80dd1e743dcaa0e5b5 - -COUNT=7 -L = 512 -KI = f69ffaa711a4cc369a8ff35b12313c7cc65165e499202061bb3ec4815fcc507b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 06045502c1c6b8f5ad6cb95b12ebc28b1d2280621092937e5f1b020c2209485f6fd42d1e2278f09063599d5862170217fffa68 -KO = 6af317401ea71804b63c55856226f8cf53e84f67d365b63996016fed0ebbad71d80388d4043440a87e8d919e447484dc829569066f95859b64fabdb4a505edc1 - -COUNT=8 -L = 512 -KI = b401ba36f43d1cbfa223bd854c57ce3e2f4a9912ca581f2e2d19723fac2c6e04 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c69a29be64b82ee32968ec460f8ee25348d3ff381cafa556799034e7ba697f6069223a4c6bcc4713dc6aa617d9344bac7ec3c -KO = b09adbb7a29ea08ff24dddb9893e9ae3ca3ce3246e7dc14778229693c72a76c996d264de888f6cd3c7350d67ad3ce112db825da7240c86f4bffda56f63bad3ad - -COUNT=9 -L = 512 -KI = 24a975442a316bbbe5bd219a62fa6a955b2e8dff215244359d97e4ca2ea4f1ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f1fd243dbffc7d5c5b9d9e080e753e9de8c91133639b010cd6eca673feceb75fb73e6085c85131a2247ed342b1b2ebe8be38d4 -KO = 021ece9e1d72b0d4f25a54670b87b936dcf6b5b666b29a6e58f0d83ac233170e8137c7616025e2699c9837a9aa3ee515419baccc0efad3cc4ea6d2ec6b69774a - -COUNT=10 -L = 2048 -KI = 60c4531140aa50127ed87d2600fd2828c4eda10c7b96ba748bebaad12f8dd715 -IVlen = 128 -IV = be574e228a277da7dd4dd9a2383f9bc7 -FixedInputDataByteLen = 51 -FixedInputData = 0d3c88560c7abe62788b67bc17c3f69b10bcabbace1a6cb62fade54103b8a0db51b4b32a52f8f41f39c830b0be37025e268cc7 -KO = 552c2eaa1df70aae5a809af758ec9ea7ae1f0789580288d08dfa767cfb0553a254e88f52f1f6f2e55eb3ba083f53f62b8d51f1bf0347163746af449728e03389bce807fc59a051f61776571e7e1261e751ab763564f2c848134fbde9d2e752143da0471d4b8e1d3a00e6f2aa07bfa6a2433ab75f0e523f1e85639889ad85b49c4b710aae5ed5ccdb838acf8f348797f8f23ab8f27952e1e38a31a86c77b9d67c26e805a30adb4c99ddbae98f1b8939055789893153bdf4a2a7ee8d2481399fb4e3363311b0d706fdb736e65cc64a9076f1037a19cd8a481b3dee21ab0d257feebcf6f3b3d8574cf9e57c7c16d916ae13ec7c73a15cd2c3e33bc459022eeb6f78 - -COUNT=11 -L = 2048 -KI = 3c84e667d21a155d66ad51c8e68f6ed3c44328843a3105c692e2a2419aa09291 -IVlen = 128 -IV = 599d68f6041021444cad8e9fdef2c96f -FixedInputDataByteLen = 51 -FixedInputData = 4b42d69cd517b0fa30b1951136bac71b71b76d55636b6a8658464acacb20ce8f636db3a1c9d7f4906746c05591c794c571443a -KO = a77f7a21f85373a73aa4d75ba5e9af5e3e3098b2bb04c6f10a3ca946d5bab4a34b4debfacd9920f627824e6a52480e2569f17a90168e3e937a12522615a7f4b1511289336cf94fb90de2051a282d7c19f2bb34b65980bd00ae126f5492feef7da7be012744ad24c50510bf7a1b83973f6d144a81313d7b78d1c83a6f12b2997206c48c0dd15679958e4b965e5457eaf1186462214dc633782d56616cfd932c91d3c2c67144c97ec0fe3f8859ad99eb1bc4ddcf1064300376d10c08129388c35fedbe43e57d6e971bf1de2ff11b07b311a9a872d181b7c01e14b41169a8752f8346fa2d11cd62ae5a889e87555abb22601a9acf8a3e24410ed33f84d95004fc19 - -COUNT=12 -L = 2048 -KI = 5dc7f4e16d0acc26c43490b43154219917cfe8682f8934a71e0a9d2400cce941 -IVlen = 128 -IV = ca03d4cd7452d08d170d9685e26e0316 -FixedInputDataByteLen = 51 -FixedInputData = 7effc0e8bf1544e384c76e29b34df4c2d3222c8de1246345106b67f08b5a5bcd6538ceb4e1791e5e25b3485d293b9ab63dd68f -KO = 55f60d8306c49ada0e3fff14a52827de99f1fdb3dd17bce3632df915582cc1df87e9728816bcac0724c84c3b2683c7fda711416e7716c36b3116d1467606b17a236f1b81d3e3c54bb1927e57651e6e303da0c99ed85625ec2ca4deb5e8c1de929a8e3c4c95e111b568fc3604f66c28fc5ea17191c328a3dfd8078f480c1cca2258de23c38f811b90fbc0a89c42c157eacf953eb5be9afe5d5bbcdd4504fb7305db55cfd507a41f7f073427bb982d1fab297ca4f2bd357a16134348ccfd1b13a474ffae6f956d7ff2562d00792d64bd1d745e689b2b01d8f65ca4bdcebcc578265400822ee544b2ceac6782fd0f70df59d013e1205feb3bbb0c31bbbeda218814 - -COUNT=13 -L = 2048 -KI = bf84743562a1a6e4c5c062d96e81fd42473cbfd998422ab1659644537d3060fc -IVlen = 128 -IV = c1bdc02968b04f658e3f2ac9032f172e -FixedInputDataByteLen = 51 -FixedInputData = 54c99489502ea94720ac794301ca691759afe9b89db77c208b97b133ae7f725cef05d07cbc6bea159660b013e1bd7b972827e1 -KO = 3b8f3e4291ab809fab020441745fe356efd730a9ca0acdaa43fd830a0ce4a91600f2a192076e98f1ffb062301abb50c44b7ac16eda26ecf32ddea1d158cb31327cac71a073160f928c5fa6733303617fd9f7d35ccfbfc2ea9269f6e53de7b43c731688dc435848da9a57a7f337dd33fa9c539b32d44b30bd6608ace0eda0bf3da1e19d08cfbca2ba709916d5d615014734ce8a96d07c4b4d3b386715f38fc9d70d44763f9ebffb41b0bc50f67aace6eb0ef2fb776c86e078e4b483afa71b78eb00dad2e52713bfabd5006b50e362bac78d9b808b4ea8203ef2972c3641fdf2b679d8e566570dfd6a6bacf2898e3670a71014c86febeb31e03abc09695b987558 - -COUNT=14 -L = 2048 -KI = 4b1c8672bdbb959235f251ac2582c51f21159f5f4e9a27bd7ed1f2f7ab7155c3 -IVlen = 128 -IV = af41ff9e1a7a6b402517636e638b732d -FixedInputDataByteLen = 51 -FixedInputData = cd647b331fb8c097f6e3a5572238bee7822c2d33779aea0b5b1c761740b5620e240254c1e699ab73e4ff1c6a8e7b0d21013bd1 -KO = d75c9a8d9be55fffb40267b7c3c9bb41185f2f08f6e8cd8f2170e2c7e073f5cb534dc9cf8b2221b9a686bcd000f2f9b92f88f5d9452bdd39195f88c471dcbaf5d71902217e42afb3caaa3feaea019ad06f55a35e67b9cf674fb73c73c1d5e6299c147336149c4ff864152bf78717024f8cc09f511c51f3a0dc8b869d738a3a66804985911d4de9dd0762e92590e492c0bdcb8980df327e593170c66e0f948941906f41db91565a94b61b4c4b777749c88a85e59ed18d967094d697520112a52db3806eb7ebe9cf18c93e2ff74256c48dddc0db69640a7a80a0d61461212e224e1ff009016cf7a9800e4acaec113c7091ea2b9868c702e9c0569805536e9d381c - -COUNT=15 -L = 2048 -KI = 8904efc29314b72fe7d37f68b5c0c484782b07d13dda0f3729372dae6a0905c7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d4b1459f7a1e12f84e00363be99802f0f6ca783fd8cf419c1d31482e0f384e86ce0f4fc7c86c3932b8b5d9677ac1b7c03f9913 -KO = d14dbc99ea2098bea7f886004e962b518e2a2d5b2e4f6c3f10a3194c48fc3e54c1992f6ac7da99f0b201d49bc0400b2d23aa4b174d7fda4582ed7d02c45f29276bcfd892609a12014cfaed13afc16fa4446a90a39c6c0886223f035ae7d90f06d1948f70504b48bcc6b4bd8a5894bb4b4914b929c160a3b6cece75e9d9ecfc949ac11c77409a193d9ead468dc82ce7920b74743d32c2bdbb58526500392575bd965d29c7f515c9173820c5186a2a31a008ad78cf941d0a777283ca0f97a568a39ad2f6710531956346bad8916ee412887fe41659d8da6f7de907e85a15466771e7040b8f5dd2de1e59b23aa53341263249d0a1eabd5b4e22db420a86d0940d88 - -COUNT=16 -L = 2048 -KI = e4ae252da6863be797016e57836ea8b1231bd6f8303d274b059369412e8eea6c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a70fe2440388e8917ce2f76831533d748e9d89b1feb5533d8eda285fdbb8d1dc8ed2221c95d6239ee5621ce7c4dfffc948d339 -KO = 4c2debab06edf359958035477d9f29ad6592ae74e1195ea0fb4dd24753387ef1789bcbd9b5d36a3144b3c5af8d9b3e9b10f1507f639a0ae666ef1d5ba7ae0b9bbed75ea990525eab24a9a8dfd4b507302f419b3c26283826a454233a6ed36c9bcd2bc60d4aeb67d6c9ce7af21713927259f76817a88b4365b72d4a79b66504af9344106c6a3bf896b962005b837749d37fd6823cadd8a23479b9802aa39eb7c9338287ae0789048f69fc3ec1c749f52e60a0027df5bde4fa7a35695fecdf5da9786fbf4501f432fea619aa4d690625b6aa7da9fae0e58da80aad1bdeb53b64db3de3ea5027b818d776a5af9b4052594a2a701d52830b54a9f416cc53ab937eb3 - -COUNT=17 -L = 2048 -KI = e7c263572c9aa67ff6130eb45f35045888b9a71a02ec97f44d02063f96392a4b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b9717b005e8f92664080efec96171ac4b566e1bf0174633fb709dadf8428a09c9dc1279334d400d6c4c0e0c9d9231874bf5aed -KO = b1e959486a6eeb25cedfc2a81a8e3eca624b71c90fab2c80051cebc345725111919afafe0ccb828af31507dd253aa664e2ec92599f49da0378b9ce486215fe7b980ae16bdaf1eb78500274901b77fa8ce940915309d672ae371a7ece28a98cfa92c0f780f414b30c1bc68651fd9cf494b2b1ef00e9cbccf993d43899d97b199a536bd5a4d6a851a625e6f632528161817032f48ce78f3e4060770d88417a6881948b6db5de4fe6157bbc8654ee092b3cac6364556bbb6453bfef2aa50cde49f09918dd304650da8c289e8b51b84494f37cea1225cc2e33fb4c817fdedf0693c2bade597d8840c9fec5bd4aaae5afdea5b6638811ef2f0671926a9e8a330d04b1 - -COUNT=18 -L = 2048 -KI = 9e92fc2a2141112c4a563f41bdf02541b792a14e0270fa6a2f5b627190fd9650 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8900eb546ff193b1c9e9be0f131fcea816edb899d53158cea3b043580532c1c50bf844f435a3d7d38e5594d19257fb58919238 -KO = c0eecb2dad5229b02db438dd1bd9513e8b2829135c5e84673ab787306aa09c7ab3f75693e07832544830799648c13c3cdff480ab6adc5c01143c5e32b3f094e121714a6d9d8145e22699d9ae4439ede03118504bfe8ff2d6aae2a645e724e8584c09dbed584ecef6aa1cb9b2ac40521d37331d465e30f17b0c55ee2e584f8303b3386733254afde2fe94321b43d831e7831442e75fa4915abc81b3c5182d13e30ab0f47da7d61b539aed502dcedb58524399745cd37118114098c7f17895d654f77612dda3e3e17666d202eb8b5fc0a6dc77334912dd4b06f85508d9eac05a77f8aea475271b0be20bbe47e2ef84340e3cf44de9a1036160f08ac8a02de6c107 - -COUNT=19 -L = 2048 -KI = 5f5f54f18e20b772d61bfa2e9b0363075252ba6646c1e3aa351853227a0ca437 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55cb5d6759dc5d754f1b3004702871c717d121ec6fb8404e5c37f95f941534d072f36569de641371127f3b386aa6018aa1ab1a -KO = 2a19eb78283af08b084b10bc8c93af50ab26b229ead99ea63927c80aabf10dca0412ddfd7355664b570d19b89e950e94f62d75cff8117a7a3d602c94a8a201413792907cec89383b6e84c88b417b492143526624e86984df618fe2e3f7193bcfb7b81e8bfc45923f8dce9ef60f4294e46d39dede536c1dcd8b318b269814a0f57580304ef0226a27413e682ae4a96fcfd1e974fd816b0e098e2099f95fa05be6c304a2adbd2186ba7d0df5f48bef71a86eaf3e3fc81f5355a190c39bed37f8baea962218ac5cde6db229e44e8521a05319fdcc050a4810ab5ab1a5943a3806d8af58ac6190a15dfffb8459210ba4afc017e709b6bdeb41d8c5089b42fdb83376 - -COUNT=20 -L = 560 -KI = 0100e158a4addb8d8f8a5b45d2cfd40ad122aff97f37d3ee6996c944ae0a42ea -IVlen = 128 -IV = b4adfba8ed8fbae9e2300735db52fad2 -FixedInputDataByteLen = 51 -FixedInputData = cd3087b32d98fd15139bbdc326aeca6c2088a833475dee1c7bc1e9257fff6598cff4a5a0f3eb9d64d188130349ccf16f59fa43 -KO = 0f2f3eb4e5d1f5862855c87b89eebcd151e2e9eacefeeef5e923f97b2490bf63afd43c2fbf01b9e5bbefe90ee52740f6f0f8ffbef5fe7aa7e0e843e4c1d4f501b28fad7bb17a - -COUNT=21 -L = 560 -KI = 94e32b68a537513127f78efc3d5e33310916633fff245042dbb5659a834e2226 -IVlen = 128 -IV = 312231747a57e955f31ba6bab6b1938c -FixedInputDataByteLen = 51 -FixedInputData = a115a94ec112f753f6e74a721e0fdf4dc24d06a33786a4bd3ac0263684406bd8ad5bfae8f5937dc00010b05a9f1ffd096b98a4 -KO = 0172be42df2dfff6c81b4a6d5aa56f082aeb21def91c4ed55809eb936c4f4f0c6ca516861bcae4698fb889003334a5d8f295295e5a2aaf6b56d3538014985d84db6f8216b7c7 - -COUNT=22 -L = 560 -KI = 5f4153e3f6c161d25a792d64b24fa0a86f33b511669f2bfc26549fb9ef434cbf -IVlen = 128 -IV = 5cbfa0c3ad573d24ab393ec82259a8dc -FixedInputDataByteLen = 51 -FixedInputData = a67149219c20e5f03d8ba248de9b45b0811fe164d6e568f0bfecd9227f5a32491127aacefd8abf2ffe331cce33e63eb9df5ea2 -KO = 7edfc9c21754e89140fa4d557dcd7f802e347af56a1cc5e7a9717a8d942b43a6aae5e685885427225a8c9cb9184cfc7a784432228241ec52d98f189375643ea361f17fffb451 - -COUNT=23 -L = 560 -KI = cb0e1297c6868846b32d6f38591de372a788573d9a83153e0f31d9a116d778eb -IVlen = 128 -IV = a48be0bb616280734816d7e5ba3d8389 -FixedInputDataByteLen = 51 -FixedInputData = a8cb6225159d4ff0c6e1a3ea67d28f73372944410cce576f9dc919a63e0a759bb9fe2caff2df07d922fdaa855e8499f7c8e88a -KO = 25ba92ba672f534c6d90863cf1bebfc3745e798dfb3b80d3571b93de1fa894f948b61b9396a8edd972b4549f51cd3bd90aa9abef03abafe78916fec58e9b1b4e57406f90a513 - -COUNT=24 -L = 560 -KI = c5b5b83446fd4cd321fd9ce1bb50fa06c04d19ae496d4bd8ab2d8c4585141a0d -IVlen = 128 -IV = e88c06c3bed4d7ea10170e0806ec4091 -FixedInputDataByteLen = 51 -FixedInputData = 82d0c2d3421f711ba9a1e0217015d1f896e839c7aeb1c4da847da21580bb9af5e648aa31f1f0385bf3ccacb121830cf0beb1ea -KO = eae2f5d26dd62cacf3018b5d0f4b07f5863d32a21140324df0d638306cc9a815cb0e1a085d80fdba712f35cb9a6d63c3947be6bb88eef830f4aafcdf1227d840e8dd061a9f86 - -COUNT=25 -L = 560 -KI = 25c02c40cdd3d4389e5bcfdda246126cab4b1837875a712f555b8440768315f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd9d7705aef4da910790e05d0504def78dec3f61d7a108477c648ce23d2261a1611b8aab75761291a4a6490eac18e6e4db21e4 -KO = 6a1e78127ab50b9301c56d7d6e26660e14a4824d11a69bf95f79b2df1c8c8c894418aab0f91f68c95d5a7749c5717c2cdc9b838a7cc5ae91acae8d4b693c7668f61182e581b5 - -COUNT=26 -L = 560 -KI = 2dc37f08ef44921513a11dd50f821c19e86d216ec52c0f92095f6e1896fa9189 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61d3316f5ba2912aedb8ea598302697455fe72491f684898026161ec00773d95670aa62bb0f440f128725d6e0184e1235c5071 -KO = 0cec864b92dffc36bf560613f9c15d461cc11396224d4df07d621f2ba60eb89ee2e129cefaa16750e38efe3400c53fdc8d4d4ae2541c0054e585dc83f4999dd69d683ea14b40 - -COUNT=27 -L = 560 -KI = c32f37d29a8d7a7f3c671010b0898b8d87ddabf17f263eff9d34df468bd2df7c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7d122942cb1c2cc3f62610258d74c60c6f0581c176f837264fc052714bd5577cd5582df6274c9a89e97a9f1fe4c5aba23e5c42 -KO = 23dc6e5ab7df01b0b7a70b375d252d3cf113a620f811d5270956cfd4cf1b41d3f059dc18ef4d174dbd8c3bf788dd14729eaac0e4ddd4244fc9f85a79e84c48cd700f1a902f36 - -COUNT=28 -L = 560 -KI = 90a3163f6d0e766a68e71420d8b14c81ea709b1d39b46227c98afccde9856db7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 175d5eff84fc736d94e24841832633b2954d5c14d3026559c60fe261e259ae868d4a2e96046e2ee89ca208a766371f114aefc3 -KO = 17d8a05b587accfce9a62026031b516cc146402c922b3f662b47495380067603996946883320af18ddac04e424c854e97164d8ceef4fbbda167e9780cb7cc754569a74a66fa2 - -COUNT=29 -L = 560 -KI = b18a55f24c1a95dafac95fff1c0cbad34d1ec41ff002af8bd074d300b7129765 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5224248dca660264f18ead944d5a8ef3755de89f5b9cb471811c7736a0150d62a28ec5244a3a3e8cb49b22e0dab300c42f5ab4 -KO = 7dd15f0d1550b96834c1adb4cc9add068c7ca8e2e66df0604c570961f67370b8d87d8b2d35fd069887999f2b3c4c7c431b7b8fe98268445b5610e7a1bdbdf42c35a70ad122b0 - -COUNT=30 -L = 2400 -KI = 934ba1abecd4e7d1fb783cc55f684657b80faa0d06a0000f807bcfc94c472018 -IVlen = 128 -IV = f18e63adec320b304e26afec3a04223c -FixedInputDataByteLen = 51 -FixedInputData = cf14f02a074642dcd01295104d2f30ca432690a43f37fb6f8801bac1fd50e8640a7aab22240733cfb4ae1978f60603948f95cb -KO = 67190fa8a5147283d28d2f411b57675a148fa09a48ee87d1fad0391fd2b2e04a64fd00a5ae30aa92e7e3845ac27fc6d243fcbd29915613f5ba2614498dc1a96857ea94e6ee0dc44d821d7c4d6dd4fdc8cba675fd93ac5ee3c444beae2c32ae6f960204287c8d0d4c80989b03675610db47c94996243d438f9a7addd833ab76b526b83ae718173223910ac86508dc207913afa2ae7458c59a9b396eddc94dbb9d3b6c48080a60f37055aef4a7a330d1d442b4bf0282b2161e9bec664cbd997eb9d8a87dd70ec74ae64c9b4ca2375ef88a7cfbc8bb93ad80139f3fb2067889c1761f0d8a979f3e2136a6cc8061582cc107531f5e18ff6b358d135e2d0f8cea65b30a57fa55d07351652fb4d60b9167db24ced0cabfbde868d20dbf7f6b07eabcd00f648d89521e7e6af6942cae - -COUNT=31 -L = 2400 -KI = 1d35edbcceb90af6ccd4b8dca78976629efeb9e98e75a72b45d3c6c1a18e001b -IVlen = 128 -IV = cf41bc6a735e12701442b4c52425c438 -FixedInputDataByteLen = 51 -FixedInputData = 913ab0bd24844feb0a1d02db80f27ae32d94285a953dadd69268834eba955f08e1708abb42b4ab50f066961e149187f74bb921 -KO = 6dbca392fe25797596c9b76d6ef43830bf9079e5afb7c4c0b4157d0bc2631c5e7c1b822f86e7830b8beee5976dc4d3ad402459a2604979a88cba67b1db1e7065168efad11990be1155fc8914b1e91806ec03ff3588482709269ac2d9450c4aaee9e54cf466ce0a26aa2f1a19e81c0be79abf110bc775de942f08de4c1fcd6ea4ccf73df060239c74440b20489e6bac3f817e90cc13b2197b7215f9b7af7d4bc8d0cee5be7f7094f71d5e192bf6d56c88ad7deee7f0872d8fe99e61c938ad9d951d727c63059d2ef182796cb50921671bacc650eee34b6736e2fc932f8693358c177af698597bb3e75c11ac0a8648b22351ad64fd86542820f8d650ed68821a86e4755850ca36b8a73b6e219a4a0b4f7b38d56671be1d6779fab9f2e32e7ba76e21c7c1582c6e3caa7c1886bf - -COUNT=32 -L = 2400 -KI = 7391a5eb6e07acab50a290e0e4bcd8fc8b88a4bcc7c5bac039998fe9d1d2a562 -IVlen = 128 -IV = 97298a22c308231ee4653f5b8f0c09a2 -FixedInputDataByteLen = 51 -FixedInputData = 975d578dcd0f4ae745458b2e36f37a8e2f3f0ca494755d455ea82e7e41878021214db646246d13196f07e2f5ce9c83678374cd -KO = 126707c4bac32ea62b80b864783bbd82dd92d1a322713430f49cca795addc4ed953af1bd2a0116dacdeb4960c1408ae97e398ddd73b2be7edfc3ac97fb241faf18f292bf2261ab9c0e9b6173650ca6cb931e74aed5f72057ef01a9e57f63713c5ce77ba2a8dd43d09dc5f5d47002e1cd142aec2568a6250eee527e2337e160a113ad015bb24b722c4fee369905236ef14396041295432be9bad7d26511c173ddfb6ed9a92a8e3d498c03e516a251f6c4515bc203da0fd97011d681309263edc2c6a9415f9a30ecfb14ac779c04d7f327364a53a4cef778c383fd12481d6afb98914b2a68d386325baf414c03cf68d2de586700b9166232c38e998b7f9082d976853a746ac677d2b392f79d8bf4792f6026909f843519ca58ce108cbbed4da2a8927ee78535234ef2478d6188 - -COUNT=33 -L = 2400 -KI = fb2a778f25f3a6da16c9c5a2b7f6c73e61eda3f368bb8c966b0d8fb6ad970290 -IVlen = 128 -IV = 548fed3e51c41be63f8519b0731bf66a -FixedInputDataByteLen = 51 -FixedInputData = 1fef0e4805a058bbb8f8b9c9a62024a84c7f5f9b762a5c9a872d7d0807c9d68aecc8e2ced2dae4f5ddf79e914dd3f30a745186 -KO = 948d7fe16f3678a85995752288a26d4cba3b9b747ee9954714758dba46a4acf8c9630d4754cb72ef3aace549b5208c5af0180db28fedd2997164cf499434240ba5f9fd90efd77871726c1e47a6230f2559f864e8eef61903170f995f4df735ebe26a0cfea09c270b03c5eac2b8639bbec1e6032cd862c59cfdefc436f0420f209db10594336b0cc0ed3b1095f773e22f6e009558c31bc1ebb1daa637fcd34c25173fd1d21f33eb75e6d8a733c10eab5fdfc8cd4a12ba49c553d436814ea6e4750d8d17b21fedb209a138483a0e0981184fb3eb5306ee718591d4899837df4be81b74187e5d2c2c1712c803ac5fc338d458ba28c951766c5c14708636576270c4a4b3fbcf2ad3cec769149405051f8f912a9f620052a869c48b1f340a3b2b15b7a9e282888844e1588ca587d3 - -COUNT=34 -L = 2400 -KI = 98d369203c1240d891efa1e8a2d9a2273712a531fd5a3af1568e6dfc6d09d258 -IVlen = 128 -IV = 63305006b3a628ba34027549f0703967 -FixedInputDataByteLen = 51 -FixedInputData = 00580beacbe271ad7273a8a387986b08554af3a66167b3760eec90deed2124dae278ca07463d9381c824d967c2fc66babe82b0 -KO = 371744dd43740641bb314f40a333f21622f34183fa4dfbbfa389b785791fd8bfb0f6c37a8cbb392884529eaedef4dd7c700cf32f3d253df7abff441a4546a5aae97d8fc9966cbd8043ca8b8b9b5421df78da187e3f710d9113ae55c8c4dcab803d8de934f16730ee45a2ee3556fb6b01e71ea4a959086357d9272132f8888614a2111001688187a944e642796d6abc58bb749f49b69ab44ef17fa70c888eaa5d83032f2e2942de977983b189b482778a459b8b468f84efa1990ad95b4b68305a347c279426a1cd1668365ee0ed5481f106380383f0bc2ef1e819d73978d76478694b1bdf1bd455b120e797eab3cbe38c5d67bc4c925fd5bd2538b5dcf6ee532d4dd0a68a24ec76d656836e53300afb23d66d992c498c84f81182b544db7bfe01d9e30ac000fc8f0939b99c59 - -COUNT=35 -L = 2400 -KI = c0c55d8271004de803411910bf30c302f2cb37b5ab995c01064db41eb7ac6a95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7398af9928b7c210868dde60165728d4b8858f4ce6b340e5b5f859b01a18d98967d4d2d5247c74e0632c79386afd1c2d4bc50b -KO = 1348f1d71f37695036f8f66fb1677f877727eb75d013ba9fb3dba805c8d2d5db25c45b93c9ee7f1cc5a20f48ee49cce808eee377c43124bf4eef81fc51d62018d97483d2e648e580ad67975bd89f911ee3e9f21d30942ea12258a13b678cbf38b02921842f45295b7cff4802fc0ee0b2f4823ee22af4a754eb36b3a13e82b0edf7f707e2bc0cc394e25a12d8de326e775543cb7b7745f9c3702e3b7e45fd1ac78fa4d193eff541a84c40d03f4a694a6e251327e160cedd84ba7a7d32e8881dbe8641b66ae8cf5a5da8f3ddbd5ba367665b1b4956c92612f18ddadef703a3ae38ffc1c29d8243649533b26dcb963abdf3c36303b99bf0e3371ba4d421ec2fcfec7b60d6d727ff6f656b02dd555916ead8e8d861c5b2f0845d161173e4e0be43d69f4df75f4110363402ff7aa4 - -COUNT=36 -L = 2400 -KI = 8d751f425e656600901d155ac19a57037571675df917020d6fedd93f987b20f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e32f30312a5ab85d9bb0f8fd725fc65f7731dbfdaf1766e463f43c48e09051b755752284cb721b9cd1f783f65171e1e0a02ae -KO = 1dae3ea93a7932752aefabffd1107fef5076ca53f28ef223d65b195307e5c9aaa292fc58e5dae72b3aef7ffa4f3ec4ade3a76ad639006e5672af3bc736d27abb8f2b421049e5dea1609901fbc85870ee1cb57462cc9fda27115e588651236b061c8faf0179f8cacda1e00f898f63970d1dba5cb08f901a97cec122f6b39093cf391623f9ad0ed94885fa7926e31f6ca8a3643f841e6778aff3d892b417a9a585dcfa990a7488c63f46740d7983d6d6f158422500cf49ab724acb6d77ac7d4d4fe7415b43abfa454722d4b1a28565ad05ac58ab833ea7247ae626fdbf823b4f4096d308c58545423fe5cc386841dcbf43ecb31cb2dc6f587a2f66439ad3afdb12c47eadee8e02fa2bde501e82cb76511d8c76eb56175419237032904c1f0e42f35c6d1482e616986d049c8ea5 - -COUNT=37 -L = 2400 -KI = d570e49d5704e71e61b04a341b360e73a1a2c5ffa5c8e8038476e0ec70bf1be3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f1e6552421ab17fce3e26d5e1f45c9c5fe22bcdaa6564cbebf4e56c6d8ce67c96b905895dcdc15daa5f501aacfd5fb77caa3c -KO = b28e593131fc4d8c869f23686324b884446710af7ff95f65b64e9648dbc934831050cfcc1687dbab1af5ed6dcc4e7d5e98fd3afe7bfc713246440fb3c05fcfb9a5a84a4341db26df65a0b5a395776f680f249720195a7240021a7fc7bb4b54ac466d79572ec7cc4a2f49df5b4b225d9ac376ece4e529aa6de9561b18896c51bd90b6ea3b52d43ccacf1c203f784825278954393b81e1ec7a0675a1bc91804a0fabbb2f83d1e82fcf0448e276fe7db631bd85510c866da6126af029ae3513dc9133af64cd409f172e03ae24d6e406eaee325d8eb64dbaa7a4ccc46079d36e0a31512d2949644378c15eadd16d55640bf63d920a4d4b389a5f318e23304e6e88a9f6b9f9265247dd6eda779a809b95c09f75d016e6cfd90cc3849211a86e6cf597877f4a38132a7eb18d254f1c - -COUNT=38 -L = 2400 -KI = de288125e981d7f07cf0c1fae796adfc3c84da4ea5cd5a8bc14dfff30e0f618c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fb0567a11cecb45de9ee32202aafcd7b84c9e11b768e5e77ebf4df6341784af0ed94c689d301e4057ba644b16fe40c0ced4b7f -KO = 35c54bc1d102ce694094961820cb6209b26ae49fb15d83f957302b6613ff4ef5961b1c8cc6091b8a0118d6a5e1143acf73bffbce68f14995f5e49766c04342f14c925f04428ad298d916e9273cb519e5c982ce4a8941051dac6591e0cc35aef3618f000961b43f60d46b20ef7a052ba78aaf46ce2965e2e9f730a6fea95a4d60f513fe393b165f683771beb91ff6c33fc16285af5afc1d6c445e63d20a341f230231cb603471a1e4f81b709df428e494558e25f4133502c32cd825cba8977b01c2b964afd5ddc3dbd2322447e84f8bb67818aef6b6d0381b0d789977297e115a45f9346f6fa061e8177a7f60cf0fc9e2f31b97020760fed58483fba8857459d841b6bf1e25ee743d1abb695b150f673ee75b97868edc8b391e5ddbf366637f724a86d3af095a4166fc428006 - -COUNT=39 -L = 2400 -KI = 5032ededf3528a66d6ade4bed8ee1254ccfe0e8623f774b910707e2d4f828a74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef2c210ff04aa56e1e57d6ee3cd50e089dc8673c4deb929a339ac63e1c17b807beb8985bf69baea12dff11ac62d7d9886ec1ac -KO = 29ea1eee1222c6a4ef4597ef884a1f6b1b3a28469398d5265b2fc451da886f91322c7935e1449b58504701405f16c16218309ba7c90d9be3567027a1b2251c0842465cc2287e1f0cfcb8cc568f31e0efcfc27b6a11736c28da4548a58d26b46f947f0cd26ee3e603325348efa9617001c4969f1bd1cbede4a25805646fba5772f073a69c48f5395dcdc3f03a83e5d26d124efdf7f2b04304e14f83283b9b043d541cb057eb0857a9dff577bca3bdee0d7aec7b74c300c1fd732829a406cee1a9d8646f54dc1f975b45aef86d77373dec29116b3e555eac213c9368d2994a3ad60030dd0c7db14cf6b0ddd9710f0c3b68e5a5fdec1f46f8b8f92debc6784188997d86ef7c02e871c477dc74dde8498615c37ff82e2a48787a88879d9e4ca425855b38767e6d67cbd7ff66bcdd - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 44c7366c284b7afd44ff0b0f845fe522c065f3a2ff15cabe6402f04067ffaacb -IVlen = 128 -IV = d073b26f4ba06b817c7b0a258321939b -FixedInputDataByteLen = 51 -FixedInputData = e7af8334df1d111bf0b4026cbb11597d675196a762a3a846f8f1056e8877f06ab2ab960d69af0112a9f6b1ae8a510212726258 -KO = ea1db33b23519a073a09899839703e967ba4357222fa7a922d010ff43139bc2d104ee94075a8e4b3de0b80ce7cfa3be55e3ab15a39961b57b6998d1f77ca9252 - -COUNT=1 -L = 512 -KI = 37c3c72cd7d995c65a1eb35e1c464234f4d821cb6e647b9e497ab8206fe3c765 -IVlen = 128 -IV = 724e3eff499f660b257f692bbc1fffaa -FixedInputDataByteLen = 51 -FixedInputData = ac6fbc8be5b5bd8e53a15a887d57200260bf75e58fdcac2e8f24e620005e1c5077d96f23c00ca9955b454f6278e8df2ae2077e -KO = 835e04bccf153d31b0e779c2dba174f5410536c6c0497af7569071532ab7a70e92fa53d888ffcb78c7599e10c6d0b99ed657294b6e395e7d5c8f9b13f96ea39b - -COUNT=2 -L = 512 -KI = ccd2790e7a6ebdee05c7b943fdf2c733e196839919cfba3fefd0b76002e7a6b2 -IVlen = 128 -IV = b21b0a0524479c591ecaf82f66c1cc58 -FixedInputDataByteLen = 51 -FixedInputData = a75d4bb4a5e227a5ae10ac50f7875cbc801ac804d157e8c4a7b93e4e2f69878f8987aad56c56bd1972e1cf6a51cca5be4c5f24 -KO = 976ece2f9daa8c6904b2285010416d58da1eaef91845bbc93eda9adda06728c17ca856df7feead8aa4e896533f1f40ae81c9b44c0fef543bcbdb6023048efade - -COUNT=3 -L = 512 -KI = e2b163031ba5268ab1796a419e1688c80964a8f2040661bd2712b432b18212c2 -IVlen = 128 -IV = a5d513c129f6030966d8ba1387323c25 -FixedInputDataByteLen = 51 -FixedInputData = 619d4454db30c96b3fe19387320a93bf6673491458054563cb0f8863824eedfad3310beeb6aa45253db337fda7571d7f78df11 -KO = 6b9f2d6fc780614dbc550fc9251bab621e2282f823a002b281ea1450c31e6aece611df4171b35c0c520c9b3158bbe8d69d5365be0c05ff5021ec166c2eec425b - -COUNT=4 -L = 512 -KI = c9f6d327657db4b39604b348118ad6e5acffc470b4ffb14c7bb3a8c057267423 -IVlen = 128 -IV = a8f751c5769b8f9789f9ab0c8f2e9319 -FixedInputDataByteLen = 51 -FixedInputData = 1f996649d81ad6ff15f70096d5769cf284f5771c5e6ebda17f52c24e0361167ca0ef263e06c15cceee40a7290560e177a08d29 -KO = feb9aa72e52d17b326d06cdd3414ebc4a0d30ddc1565f3c6797d5b38a888bc3d17e805aebf07dba28a2e33374407e0a0c1102b2ae34253f7ef91b8c18a35cd97 - -COUNT=5 -L = 512 -KI = ab6467d81332a96a3dbd81f2c1b68bb62cbabd0865400ba7795ef19c658d4ee2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 247b78da379a4b6082137ddb96be67760e4f17bba63a143d2e53cf16d48c60c8abd1a3f7fdac7ff640b2bd5a29e4d020245087 -KO = 9a2f35b6907e361156071580030aad1fad008850f25159652f94afe8d57e5ebf8d607374f92c10046605a599f84071a43aa208c5022e706b24a7e2b210cdd9b0 - -COUNT=6 -L = 512 -KI = 9c7894baf19793094be3fb71832368184e5adb06af343e662fa00331c5ad7602 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4531112fd7e4e88cb3a95cf577dbbc8bfc5f3859912606f1cb7f999ac35030e58d62802191352273cb90cf71af22faa09d34fa -KO = e68ed897052011a2e54738b64bf04b1558369ff2b3bc6ef76a82f1bd21edd07b68032f21142ae8ca53b50b1bd924c7523294f8af0e22c4c15875674bc972a4d1 - -COUNT=7 -L = 512 -KI = ddcc7924646777a73c43bcdf0e559e2f152b2fe15852597484fdc5c8189926b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8791fb32ad67ff1755df1644ae41f0de4683372fc5ad0a22596edb76e1df1bda19130d08ed9416ed0cf40bdd61b681f48b35d1 -KO = d594cefe6f5eeaaebcca2aa1a18f00b6d12905b5a737d116dc38c70ae668d8f9e429a00ed111f1f56c80cbe4277db86e648b224b7d8b2cc3bd895ae26bb552cf - -COUNT=8 -L = 512 -KI = ebb17dde261552a34a967d7b180ecf2cdbbc6a887cec1b92da833e21c91ad5c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c1f03680f4c8096db99b20c17c0a35ba36aaded76ac634796494faf0877d0ab787437f0852c064017a3b259e309f38fe859ca -KO = 297583c1af3c6079f115e420f32ffa1a2febb2bae8a53dca314228be9517b448bde5ac1ed5bcc3eb54a8f7ee487f942730ae8b52904b9aa8ab6896dc2cd88873 - -COUNT=9 -L = 512 -KI = 1d0524668149515630f6d74110d1f9f3e4fcc9361394121248b50e30b1d03975 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d08fa5b8dca3dc4baf5ffe654d268e8bcf6fdf662c4202667a2229b87de2c411e0535445ce8e764dc0e9db150d79755e794c9 -KO = 968de28ff32df8dbe071327f4f8fda20c669f8c72dc3e33a4d60b2dea776eaf2a4eb1a02d38ed9849474a8935d05c7a921e162090c346af1574ad4503811c823 - -COUNT=10 -L = 2048 -KI = a8217ccb5728f65e0d92ec885ed0527417bef7057c3c6f5c51059be6f1aa6802 -IVlen = 128 -IV = 2b77f3dd42b04885e906790000433ddf -FixedInputDataByteLen = 51 -FixedInputData = f49a815729a66cee0f64451a19a3304834300fa39a9eee7af17f7b4ebb15bdb319dc946b047507f518aed288d686fe087d89aa -KO = e119e1155ba1c6054d1bc882abeebec7c3df067171c9485c52ea52f096988d4e2ca450def879f32d611447a3c88befc5e19712959d680cafbb6d71caa8aa04929857e8a1c444a2a1a5cccb248ab929592e9d0160ed73beadd15c339fda9f902222ef3c946d0d68e6aacdf3f8ab4fbcfb525301efb4b25076c5d2b6264b4bf8e1632cfce44bffd49c6195dc8f70b890c5f00b5bc6b03b5e1a02bcb8880819a7d3edc80a6ae75e6990779e0524c9679e56b0dffa392cb0d8f1c40180ce77a2d1e0c0bf9b9ea5ff7bfa377ad614ff9fbefa990b0ed72862be3aa24a939a69f3e3c6e6b1a11466496adc098478fafe295f1716d3ff8a0b802aa31f8b3b3b6a1602b0 - -COUNT=11 -L = 2048 -KI = da8439239135d832bd696b916c3717a0c1cf14f2d61b8be0d14d7a629b0b22bf -IVlen = 128 -IV = 2b67dacec985ccb4b3bf18534a8c893b -FixedInputDataByteLen = 51 -FixedInputData = efd886dbd53c8e5ff91433f124fe4b09b308c5e3d63ab6a8e82cc781e2ef172b1285c97f553edfa6c18ff5c9dcbf9ef19a562e -KO = e599206bf532b2fffdea42b5e0ed8f1cfbc0ae3a18f95fce78880fb97bf710d318ca6e5554f74642acf39ee491ef0ed40b761f3033bcb5135e094ad2c195fb298e10c9670bfd47023dfac3131639df5ecd69547e6fe0e8b42c6d903569d8d58f1c7b889602ea5bb8be8996636f52a50fa8aedc78bfc4b02ba35bb1b472ca85849557175cfc9ba3bbe41125e437dffc5d7c9c5fceecdf1e2479936a303245bd7d0a61153ebb123a666f6d0aaca3b5a0b78eb8f4b1b46275742d4dfd3942ead4ec847d2239e11ba258203b5a7851cd911ab3965435d5f785966fbd0babecd693afe16f9016349085928178485a53c3004367bedf8afb6f0c4449f432aaa23deb35 - -COUNT=12 -L = 2048 -KI = f09d1b9f948173535e0efab153b53373923837047b6126f2e10ae606aee51f17 -IVlen = 128 -IV = 65469f1f711cd4661822a78f10acea0c -FixedInputDataByteLen = 51 -FixedInputData = 1bec0f0a53a400146475f90a68f112fc4606de7315a14e5896fa3dd1f3b4a3cf0155c300ba616d0d31e2c00fbb2de32e8d40b1 -KO = 7a081223e849d3a95bad91db3d8ebb7b38479423cb30dbda4346abffe3c64319c1d63265c2569b04b422e52f49929d12b94d488a822e5747d16cd1509839b2956c7106c1812e39c83b1a005929ce42eaa3ad7771733b006ce4958670c62c3ff14ebbeecb937fd4f504529fd22ef002cb50b377850718ce3d7a5e5eef334ff0ea5d4d7bc1de938da5a5089289beaf7b4a92399a629dd30108f364f04cdb0b7b851a46252cd4ec1c6d4afd71b0332d90cc3bd54df8dfaa87bedb435ffc01255c95ad9c7856598b50db06418749abd71ed2bd261c8413fbc83ac5d75ea830edf7b023e9b9815c233c9e9390fab5e4f627fd645a27225ce1884104e7d5df596e772f - -COUNT=13 -L = 2048 -KI = fe5995ae767fce549191fe5f0e6e54a30f270a4d65792181ee37dc6a8f26f20c -IVlen = 128 -IV = 001dd3ee5f5d6c16ce7589ba968e4611 -FixedInputDataByteLen = 51 -FixedInputData = 8d1a8b4b6d88bc68f24f8e615c3d89545a8987fb69d471f110a30e4912885d3fae1e016db41e0210f034bc0a67c3bc00bcb858 -KO = 7944c94eea10cfe82694dee20c2fefaefe5d2930edd2c2019574008b8ad61fd166b1c417524e81f943eea53a3006733f0816445dfe7fb8cbcc95d9ddd26c3a0325888346286f3ce310062bf2a9ac549f8ae0aba8190cea18392243cfb19ef915dd4e568340cfa2a652867c23c2d0aae9318e302160fcf80dd9b11b0dbdde7fbb88e0bb4493537ff6232cfc6ce79c79db4a99ebf001baf85760db64c47386f5a8237b1c73eaa47167479ec40b0b193f73558d5104500286152e09f0864f2f4b338709cd524dc33a00026b09cab6c6a3b99e70f03ec08e627174732b39f8ee4516273101a725b4e2e59bc1501125da7b839475823d7b624ed739d3cad1d0d4ed7c - -COUNT=14 -L = 2048 -KI = 9131977353e93b132eed86af9f08b9fce981aa419c6d7d448962a110c41c7a0a -IVlen = 128 -IV = fbbff0e40a115d5e94e3147eab2e8bef -FixedInputDataByteLen = 51 -FixedInputData = 1b61a85fa20757739f561a0981184ecf7a87d8ee0a1ee45cafe20e92e987e3ac102c717ac309713c027e00353d821d13bf0006 -KO = 6d63d0eba553b2a7e30b58e98cd0a4c1614acaab0764057d97f4737bc7556f0779124f4362a2ad2616f0e678104d0b73be12cf37ecaa487bf3918d28b62238413c2d2fac6685304709cc42f9c5576e0a3698859922271a9d2499a0b3fea8c2cfea850ed4e2e67ed9c70a31366637e30b2f28f0e7ca5f8c4d09172c08fce0c0991a5149d01d979afe52d31da0184859439eeeb24fa60da6ca468ebb5a5928f04be4c037c9ade7c5fe2cdab6a871884fb43bfce28b418b721bc33eb147daeea0d51ac45b5721eabb080fc38c9942253a1409db587a1007636c22e5455e03c5573cd454708da0afc229e71adccfd4b65cf205e1bd2c06395372bcaabc1be5ba510c - -COUNT=15 -L = 2048 -KI = 4d388108c5531d827fc29226e27dad1e46ee7d4f8afa95ba74c3cf08c604e416 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df31173e4351d401282b2af8296e3b38add0c49511decd4fed25c6a39fd86b1759b348e9454c4bdc0b878cb92086657a0db880 -KO = a0c090a401d5082ddb63165e56d98d28dfab3a51adeb2323f00c288e8a1f2ec516fe734d99bab2842cd850e69bb077c96de24ed2cdacbf3765607159239dcf5ec6fb7b05c0fb08c877a0b20fe53138a00617df1ffdcad6efa49dc116f853b98f081ba52e8e115fd363531cd995d2441a860812b670ee6871706ca77799668a60cec07b6b8e674dd38498067e53d664c28d7a6f6a06d10299e628628d00d34f6235039f9a218f451c6ee6e5b78997a72724f36d5c12ad280a739cd948f8d3f70eb0a0b9d705e8c36fe7d86db24caa4216d6ad7e967c48f957ed264c606268d7a785f48ef53b29acae2cc6ae8bf000c130486a4518b6d3d6d4c0a6d1aa57db06cc - -COUNT=16 -L = 2048 -KI = d66b585d28239a8a186e702e7867e2be895b2e7939f57c29b2aa44ba42a59d26 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fc395b1494c9bc9065c75c68ceec46d0ebe388b684fe7fbf3c50561cbfbb1769e3d82ad84a5808fc466cfaf4d9e907d7636b52 -KO = 1b7bbbd95b766f59533b3a01724c8b992cb537befe320e4fe298fa968636d0f69958085bea30f742ebd14ff91665376c1d9fcbc7304ae93344210190f4a39a072b02dcd130c07fdc805323d1c31b9743fb17713e738f8cc5aa540b9b77ef4caca5ebb8d14ddf083672f54239d5c7f67296400867978bdeef5ca5dbc080510fc1b46fdd25fe6b11e834d5e5de66aab5200dfb44d719d287924d049cd326601ce655c73374bef58190ee70d286952f229c069186a30c7a153d755074a711bf2088b5cb1fa0aef7b9f1b5ef1a5c263a016b2b719474e4312c9d0a305ec40bd570c586b899444064f609433e795d41ccacf600df551424ef6f6041ba0073b24d6d32 - -COUNT=17 -L = 2048 -KI = f4b74920b31f9f8fe9c13dd879c9e6e6a7ed8b7a3a8a364d7921093ab2841463 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 777c73802135c29d6eaec67ecb51e0ad812426966ea59702c30bb2a75104f3021a0d000e3aff3ecbe4a67109f5c500cb550c63 -KO = 708579e464d118539beb0943309b7d9fa0ee4569488b652ed2ee0cb61895ed2a0cd1260c896ae291b18b88a1396f476dd3bd5da9a5c10d438bf65eab8d6b7d8d70b606ba6cec9e2c708f96eff1a60a90ef933ef7211ab1a8b91da720f6a13529b82fdfe63539d4cd3d1808188a78e2af07a1369befb719bd5b38303fcc1b2d4edb2b07f51b4ee356b17538424a28e4d2469ac732682cdc95ceb18b7f1f7973d572cd04ff3267924c62c0563f69f6e58811c97599e85b9da75556eef73b879875cd849e1bf29412d0ce988acbecbfa2f9623473f726d506163e1afabb4d9519ab3796fcb79d4ba44c8f2a246ac78bca55b7cb6074ab2b422cd1681a10632e2e9d - -COUNT=18 -L = 2048 -KI = a9d1fbafc710f4b51e61d2a5bc7a959675b0bf6fa8e38e0202d96c31cf9dbadb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 26398fb879db3fe1648cf3daf333dbf7f39eeb8c122160a834c2a6035a53f6bbb9ae2d1093286e12ccb41c619aebb375030e24 -KO = cbe676f212cc792ffa5cfcc4531ff7fb8385299fad7de4a3ffa4f8bde6a31fcaa44a9dbb2bda296d35d6f337ff12f45a1f8e77c227b7a34009d85668c19c7f8167ee3ebfcb0183e21ce4d0a5bbdf635e3a46368125591f5ca83ec1cd394611532f1e65439864be94887abf7df582d1afb5cf6135f7bd572cc91fda2d970a17326efd2a96a01b57a28b47bde782e45c16997f6c0947d223063479862363ebe6e5b308291de3a5fce6420da8989544c920b7726dc7617428cd564267f934aaf70d8f92f849540a07f0d3724a8b11257889d06bbe9cf9873bf35812f8ffd6b61332c41d29d11fb62ff4afd05ad532841588424bb70ad2b0283a3f981b482b0551e4 - -COUNT=19 -L = 2048 -KI = cb49bee37ddea8bbd573b010639e7ccdd57ed33e82f11ef4ddec6bd217441aea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f620cfd76b312aaae4fd905e81624e4584a1f53c34473298fce1df2b82f104c1de6be9bb5012c5e0ebfed64c85169be1d6a234 -KO = cf4872c75db39cf011371b92f2b1907d1d00a57dd34bea8dc1a702c4b1936a9816d86e3aec825a7f45c435dbf351cced8d96996262c7920766b4a488b55135e19d3a7231e370e978e06a4db3c7eb00faf64d2c2478172646c996c4d52484b8f2d3b8432cdcb9a117c2d161ac179ef00ab60978cd24c0c21988a472cec9ce121304e9dea87b96258aaeecaeb23e12d6b77945394c7e451ca0b3b0def2ebcbcfb3829d518e4b421b597b513fd2b252eb5971af88b81e330603d56ef3947f6257ba4d62d11fec834f312a8dead7ba96a03dcf322ade02ce52d123519cae6e6e7dd77de68ec93c2befe186ea5128f4f4db8ade7842181993455ab66b374168563b80 - -COUNT=20 -L = 560 -KI = d1ed6eea64b49446e7a6b1bb4d07cc210cfde845c415d82a25277b9ad49a9c88 -IVlen = 128 -IV = 4db11a28d012bba83c2f02c04eb36e7a -FixedInputDataByteLen = 51 -FixedInputData = 1618bc89d003feaf48aadf1afebe476e25ebc399d8e6302ddceaf272ad99d372438a03d3897e4ca3da947c202108386fc11c10 -KO = 3c8135f102625dd2bd200dd9634ad5f487fd8cfaf3182ebe3ade6750727e34ede49d0c1b89aceaa2171d408d909b0ba1b49157a6ad49b93c2d796d7c818bd956f4f9c5d2d9fe - -COUNT=21 -L = 560 -KI = baa02cb75f99b8561f15b7177cc0dc704858fcf69b979c0e8a007b9f4e503f47 -IVlen = 128 -IV = 5af8f19dc2655c988cd47f3f79f78706 -FixedInputDataByteLen = 51 -FixedInputData = 00202f8af5571bfd7cdf871a53543265c79e206a108d2527f2237cbbb1a0e28add485e1f7d9c96a7613c0d65d056af9f21fa27 -KO = f96c0a23fab62ef9cc32fe0b66ab27318abe273fa04c3208cee8f588fc18b6f37d720127386625260c3872f3bd6b1b39193d92142c21e3338f8ae78a8640ccbcb2199e924791 - -COUNT=22 -L = 560 -KI = 358445e23afaf7298adbe032ad4ae8cfe791cfe3c8cd2d45b1a497d03cc7b74c -IVlen = 128 -IV = e46b4a515df51c6dfd549ca3b8684fbe -FixedInputDataByteLen = 51 -FixedInputData = 6abe2cf73a566f0d2885e6200de7a3805eb96d4b5f464d4342a7dfaa832fb1b0c27a259f4ba10a62f5132af8f678a996aa0ad1 -KO = 24b62b1dff965b9419a3d34e0508480f25534f15238e180298a9cc06ed7309b38dd0dae2a2f2bd32bdf87311e13886d43b07901f6048a3a8ced0447b774afd8c17bbac0679d1 - -COUNT=23 -L = 560 -KI = 0b7b3040b0a4dcdadce35f0c8581a100737f871fcc0084b86341c1c5ddf78408 -IVlen = 128 -IV = f851feb2e4118a4e775d749c200f553b -FixedInputDataByteLen = 51 -FixedInputData = b34162bf8640d68e1e491478233a6d4f61054ab36230b0648070c8d49fb14065decac06d1c4613126bfed25f831e54119e93e4 -KO = 65d9e2541eb7727c4a472987b44038dba28b67ff29fdac89fc352dc9310cacd4cd354628d57f4c3c73c3897645a0f688891b9696772602e5d7cced7867cb11ef173bbc6459a8 - -COUNT=24 -L = 560 -KI = 354889ec8070e6c4112b16d11766be08ce858fe5762d66608503f7ceebcb6b75 -IVlen = 128 -IV = 20aa6c7cb9cd60c477921d704695f05c -FixedInputDataByteLen = 51 -FixedInputData = e5949543a4e15a272c4ce0532a478bd1c8114e3fc8bc94e95a24e1d4e8a9dfe62bfd46601be3002121aa87fc00cfc11b94a656 -KO = c89a692c526ff555196ce7bb955d0aec6d22c9afa23664f54fe2f6a52231fc9dc14f903d80700be564b07891b29260e4ceaf44bc4b0bc0d0f58a48045f731463f7be847ff23a - -COUNT=25 -L = 560 -KI = ee788b6095613d4a6c209955d3f93811c0ede1f049db7b5034e77f6c45adef1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6c101266da1cab8f4ebecda3951cfbf3bb8a43eb9609a2de3979cb081a39051876eeb2b27a339388cf6c47c5ba0cd17c2161e -KO = 65dba436c818d5af5c38945c23d0fea5959f3ddb82540a393bd214e28eb756925a8c471a1d0e4fefd245040e4d3bd59d390b6552e27cb2d0cf772e8484f08ad3989605cdeac7 - -COUNT=26 -L = 560 -KI = 5772d5054142fca3451f214944c54fffe25d7e9d53fe3caadbcbbbc13f14d93f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd00fa94e75f14642b6647e3d762332ad76f66674a36c7f67c3645135b752d5a9994cfdabc31fbcbafce67a4b53fce9126d444 -KO = 630c5eb7925f453afa6079a9f285819ee03babded25fa662165b4058838ef7553af047ca35a956c0a7f20453957b950e93e72aab950d667667510ceaab3e84526e0ed0336301 - -COUNT=27 -L = 560 -KI = 9b85dbfdbd85399c0b508142d35e56b95d5d32821c45a56f3ab50039c0d18d02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b08831a4b4e3268ad586ad5b4fb80b94f72beb1ed51658cfa14279fb811f9e3a5888078b9b23e9368182edf23562308bf425ed -KO = d01eb385a8ca9f7a61236a98b6ff11830d76000b15dd64773d222d572d66958a435178dfc9c2869d9fba70bda0738302abc1ead61a02aa0a9783637eaf4b611ad3cfb49d5cae - -COUNT=28 -L = 560 -KI = c06842162b7a0251b142ea52c527b5b6a84eb9c0ba3f0bffb5361a6180c7c834 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f18ed2a7a99fe594570cc4e822096e31b6ff6bb4516962d4eb890b103d19fa5a6419656900c808921a2b3409405b7efc99cb70 -KO = 6f2c1a30b9d8888e8741d3add6ea05e8bb48318d1d791bf11f51e5d5454d99b26ec8d85bf7c2a9a87c9066896ef6c5eca26cccc8dfd237d4f1147941b1b0613be97615baf5ed - -COUNT=29 -L = 560 -KI = eea53a6789a406a195f3dd3391026c3abeb878f9f3760f0eee23d218a95ce07f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 398f490b3fd4b86ccd8d2f3e0425e3a9b89c8ab59affc78c22b445db7413271fe9189368d742b42b4c814521e3f6bab3a5cba9 -KO = 6f7e01c510064fae363f382b9a3715275f981a062f07fa56ec8126d57c3eed05d6874adec5ae1af26ab67cffd20d9e9461e6568d73b5ad6de8294586b89bd6bd629dc03f3698 - -COUNT=30 -L = 2400 -KI = 7a4dbc14562fc6076bfa6fdbc92767e23981007a4292f624b4b1ab6ab11468e0 -IVlen = 128 -IV = 1f7587dd2356ded4dd8698268dd068d7 -FixedInputDataByteLen = 51 -FixedInputData = 10c2c4998a71c9bdecefd30e15bfbde691d6cbf40c534171e079fee765f28011194f40f19d8ce5887c36a693e225430dd36d39 -KO = 52096684fac6e158519f3a982f1fde25d6b622ca7143dacf40ab25ec1db49a01b9599ddcca70045e42a26578f50d018a346662abbd53a910450732fb831859000e3f16963df4de158bd3c4fa4f480662c7a91921b8f188d5133254c255e5e9c6e59ae5bc78636abea8868e29e88d4b0a4609ce495191d2f0c86534cf502f595af0ed6ef6f954e12651cdd1ba972ba14157373e5da7df8d3e26bb53a1f195620e263bcdfbeaa0947876cc759dd0426f5de1a29fccdc5a0e5344075918f4d96d0b944fd3ce0566deb8133ffe2165b55a6c7c5d1656fb8f4c7d3d0d02309ca654c7b3830f89e9e6bd635fa1b0bcf4247aa6643f59768c988b4eb93d92cfbe98bee1f5a0f479188bfb7ed8a32955a42b785a10e29a7e504f92e096613829f2873333a7d3e444e143cf6f613f6cc4 - -COUNT=31 -L = 2400 -KI = 9d62301175e7db5aecc42368adacc89613dcb1d2812d021c4b1d44e498f31296 -IVlen = 128 -IV = f43ab79620a7e9ad0dc6de82c49a7b13 -FixedInputDataByteLen = 51 -FixedInputData = ff19a85dacd44918bdcf78dc5012f0a345b9a6053a160db471dd288eef1190e441c3528684726ee2f550cc667cd2e236c360c8 -KO = 67c6cbdc2da84af40a4d7da9e205948d1aab9b47843a1c6ed9e2ce3e818d739d59c166f9fa5c54226f0ef56ef453fc70ef2b7d1eb87ce4b5b0e1727abe9a148c93e04c0c5694a6e26dde9d0565e334d56fae7703b70bd871df0da5713df738843d5821edbea708fbe133fc88dacb95fcbe4498687d23b40e5bd23c7b8a1b2297a8f70c6e11483ce19c21f8e2e2e4036cf19f83b3fdc3e3acdd045e254abbe342d2e015c337705e7dbca42cdb203081db007bd4ff75a64e4a4b1353eaebe0346282973beb2c488bec9ca14fd57fbc430f0d2f2d2c953fea9e9d279b0835b645e62a532b3ce2b2ddc56fd4c1b737744d9d1852dc53de8eb90c61fe42498702fb14dee7ad60e4c6b7f051c1bdb359b4b8f5431ad1ad796952d4ec30310fe5a675db5b7e5c37e3b8c1674fbfd236 - -COUNT=32 -L = 2400 -KI = 7741c87a30d05edcdc103cbea8cfbea910bdef417d48a14509aa404bd723f036 -IVlen = 128 -IV = cbd2cbdc72ccc2eea35490d0104ec3af -FixedInputDataByteLen = 51 -FixedInputData = 00cd919818b6c13bc4928f18486f8a30d99f7932e3ce93ea379e263d74a31a49a9b67d8e63de3543940650909eabf15d8acb36 -KO = 4212bce0ab4d8fdbaa7570bee73b4353841a811da435a688e0598903ced163f490db1eb1c674e90a16d76890d9a5937366e070f9302f92cdb27b84819ca0bb2e8c6cab825efe99a313cf812ed7d877541f2bf22d00e49bea013e658add98cc7d5ec81c51897858b48f1feb1a324878bedbffd669a7614db90c5e30fcb69129c1f27216d515251095993a8fd0e233d99ddab14c806d1e0efd02a6cb70d9691a10ec53d9927137f65ffeaa036b33d8e2187ad5f5b756ecf02ec6da0f01262058529f00308ef1cc5b5fbb78edef3c04b931dfcb6fff61d6978b01867fc61731f4377aade7594be6494b545a286dc0a46965f16222987c329e3d8cf243f54880af16466aedeacc1d42e230c0146c3481fd8ab530131561bd703b75ddaa2afd6da71e2d80c1adc0d81561adf9e5dc - -COUNT=33 -L = 2400 -KI = 0424d317009d325925098828debc62c478ebba1560d722a139ffc47927ed958d -IVlen = 128 -IV = 98fbf870dd1cdfb37403fd149c20e3c0 -FixedInputDataByteLen = 51 -FixedInputData = 2ee022a2a1103f2f576df734cd5b6921e46e7e25d3f79c81f46594a9bcd4e6532cdd4f7dcc33d1ebc56886ee12db71c5ce8d92 -KO = 6b28353ba4a2432900b605e953ea6f8b92672e9f6d583594bbcc112bba714c34e4a5b46a8091f7c7a54cedc525ead88a9c8d663c9f735efe86d4913234e5cd0278c2ad010ff53fe5d472d9a34392bad002e726731036425d3a5ed665ae19028fa599c5a26f9f031cd0779570fe3b8a0d15a55d553c2523405469959a7f6107b1c4ff20652454182aa844afb0ae1dfa59c9b3cf8a1952663aafd3f90c1d43e5ba39c8126cac435d4a7e265c84468a722f760e6c0dd9a1fbf56469d007bbc8ce73d109f54bb1b46f0996ec8b0477a2e9848efaddcaab432dbd39c9d724bb25710bb09cacf795135581bdc4c78e707c07221b7714115062155d5471727034df95a922cb4dfd6e6c2fe121d6d9dc8b64bf1606250cdc8b24227f5a97f9f35785acd9200dde5aa2acd229a93b92d5 - -COUNT=34 -L = 2400 -KI = 7fc9bff845b9b7d20cefca98dfd48ba2d30564eb412d5434cb9088e0c1a548fb -IVlen = 128 -IV = 836b45f4ba893591107775c821d75f33 -FixedInputDataByteLen = 51 -FixedInputData = e2a2c332bdc3a573bb99810909d4a90d1dbebcc858ca42e9313a39e55f58ea5f696af9cf062565c7c245be071d52432c1d1f19 -KO = d9397018ab4600cfef8201967a89aeda37503099fcdfa22bb43d1feb6e3b66ef49c2d21be08bde2f20247d45586ae19f992f9e7d3b985d9952c77b2e7d650f31039698d82667b69df386f35448962770d4d441adccb36741c43da59277ae6d96ac50120d60de061f89e6ebbd98588a4a9ed4a66f673e627452fdd87ca1798797e51acf2d205689469c1d300b69fbfc117a1c2f024ce4f02a760645649a6d55c69b76acf6c557d8d7b6ec6ff0a25683187275520254dc11767337bdc84af74241ac4dc955476e3922589c6e0bac4e5824ea850286e8a78eb97295303252e119fd8e5d2bf21a3f7d867dce5838533b78e7e22b4bf9280d0de6532a3b6df24fd640fc31fd48e0d0a8af426860703865c42d3fb00f1dea5b854b5d5a954dcc7de8b594512844d1287e124885fbe9 - -COUNT=35 -L = 2400 -KI = e9bbe9c693ddb0c633c8b18d721626aa1af18bd81715afc9c4d25eee2a65d34d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b14affdf09af6f73f0f8c2546696059998e88fad522bf04585ab51b475489516fe047f06df4f597074bd8c47235083f7c9b36e -KO = a3a8e96a24eadb35e4b697871ec44d44caa8d6103df266fe7a83fc156e16bcb731bbbe50b8032e70898f0c442ac0977c491f3cd24fc1dea927d2ff82d2d14b4e4eb61f185655c51428f5bcd56ff8ae3a3644e27d112fb399f06da88180528330e26114aa48a6353e05afe370fd213d97bb78988f6519c5356e663301576e9179bea321ae21eb9cd28cdec925bce78e0a0ef49a433637641ad93705791dba3e4f4b44e951c297dd1236484ae156e6849bbecd7d0d15b11dc33d86935be405c09e1c7517939a225fbdc6298e6953e4632f1612f6c4b4b796c9c0f07a7e0298f510433e007530066f5723781875c65d9dcbef38c4b07675edfe30ce6478a6dcbc514dc1e0824cd522944c19bdd4189552660b88870ddd593577b7193ad52d8cfc0f253839981c23761950d6ac13 - -COUNT=36 -L = 2400 -KI = 318d7bc249ad83e554b4abb51d9c0269977d48d9e9ec699e454d429c32efdd80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00bc1dd13c7d044962a224aa5800eaf13b13d94541410f71aeacfbea59e780368319a923736803eabd0533d6788571fb34409f -KO = 55781bcda051f9f0ab4adf4f910920afa1a7b1cb1cdb527d39d0a4cc17d5d938d3a9135b8f242cd38f95e5aa83ad384640445bc4793114b25be5e91cf64216c73a4d52248b1515d27b9afe23be7e6ab0de2a168fd90fb7ecb9508c8996b588a3f5173143d1fec32dd44628f0feff2f99830109139fc6696ba1e479d1baca9759ef1656ee54defd76bab6abb43594623517af3718e9093fa32522d986bdd990d14788a3ac90459e84b70bb91df289974d67917c88638a7e21102127f547c049c6119db96c5bc941c353f68266a15bd200d440a96723684692b2d47367e0a618d1663475bb14d8c3395a537b6a92019da4b06c9475bd8f3692247d17a76f18590d86e5e004e324e1beb27440eafb0d90afd2480f8953a167f051cc17bfbcbb3432c1ee57e370f88a6636a1e086 - -COUNT=37 -L = 2400 -KI = 4cbfd0ce513ba634036451a1dc503541fcd23b91f7d07c4d7ac1968d7bc6303b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e7a58abc359b6257e02449b527fd59b5fa08d96e6fdeca676d3948f2145ac32c4242bc24eba9efa7d6d52dced1d4fb0210e60 -KO = 462e3374f3d6081f9295d4f4fdfa49f75dcc635a8c4e05c786a32381396a95bf74c3d48b7eb4c93765ba1334db4207479d5a003d6590f9a63ad52b036aecfdb4fd8ea40439e213199958f1346d87b9204502626943b036e6d314a9e2ada47774f762f1f3050a9a1d9433844b4e37045b8ca29970c74396d4218dee9f3318dc4df246948f7716558a0ff6af1380666426c70d44f22b835742df48d5b918d6e28e3f3d72110234c4d954cace0ea65cfa835b08e463bb9ff133f2341238a4ea1bd42f9c786989d4fa3494e7ac5bf693ee133fae3d95c72c4f764bd0ca18c49d6ffec30dbcdb9977b915ef921e6950de4e673cda0cfe530c8ea5ae93fbcc42aca846aefd6e4277cd20dde32f8df536345a02c6ab883fe0198c2aa3cff222a5832c9fcfcaf244c65dd7cd6509dabc - -COUNT=38 -L = 2400 -KI = f36a4d285da3ef56b35e85b71aba10485d70d99800684ebb94356846b9fabf70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b577ef672d841ce707c7d6ebf129d4695a040106455751ce3004bad179bc09ad3852acc2fd0fcb26bb07f64cb0148bcc49a5b -KO = 89e42946a8f82ca312629aafa9009d444fe00b498b7bfc19e78182734d0bd3b14cc9c7bcbdbfa9345bdb7d7857580fffd756080ae3a7a0ab03ceef38f30bbdc3062787aba48e46c3dd1cf1c024e41afb535ee314046231bcab80f4ff684bbf3d4fa74e8204209b0b425a653b02fd395a61db07617389671142aa3e1dcce7af7719ba7b6e6b1fc05c8a14e8aa5c7819c15d6c500d20207722cb1ded7470d41bbf8c1ca42c0023c43512ffacb84ee96c72535270c764f1e9dfbdc7e5d1b7d9cec30c37c321598d195dd3c125be5b9a864c4e9d2fb0ffde6ace3c50045ed95afefe78db194d230e84f31001a0e2dd4bdde525483bfd72d2c4e47d094dc9f4391c5706ba420cb763edb0e809de3986bab8ae69ee435cda9385f228ff106b82520150fd275318e77a7f98b387759c - -COUNT=39 -L = 2400 -KI = 745e07b9e4f324f25e256934cc141966de4281980d0ec17ed54c303d913fd3ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 71f0c91c4b4e1d0c5743c1da9867831cacba670c28b3d90b07b922db5e0a62e73f8db1a09f6208896bce809ad706a95ee10f9f -KO = 6aeff743561a034fdc3b2184d266f750fa8e0517b4497f848c3eaa88645c81e8d847b6d027ebb1d232eaa2c373c1b395a5deadaaff0bbe1179efd54772981772b479f2bcc7c847750e905a1b733cfe559b39f9a749f915a620a37bf0cbd7169bdf3a11a10f23ab8b45830acf024045b66915e8808b8408f0d4c8255c93a7bbe6390c6a52470ab7e0b5500d5af784c0630358db17f1e80705f112187d4eee8fad552c1f585b185bc1257c1357969ce18fe5b42b5453bda1c027264b32f298d805aa8ab445ab66fed5cfe6587dc5373cb2e78e264fe9fcc10e2c4497b0f21008ae2f4ea121a6c4b6e17e077e64bf44b49a4071c97dd15fbcd6bf09d37b1bf4b85d055c8b260721f0aedb39c94dd89dbced56f9b1aff5136e3f6736c68e35c5c8f78b8611ac895509cc8a4b35f6 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = bb1d9c9fda58c8494e72123db442f97920cdcd829661d469252e59a6cca29653 -IVlen = 128 -IV = f962bfeb41c7844d22e5c838e488229d -FixedInputDataByteLen = 51 -FixedInputData = a5a9c1cd0273f7724d27dbd34017c04a6fc505e94614ec1d4a3e6301a43597285753a5ce7af491a812e38c084da26d76bcc68c -KO = 1b37b860bda233f019e6241c3072a4e5e22b859caaafd0ad7c7b836f072a37e59ba15138bba47846cda4a220ece5f43c9e696e39bf9ae8cc5ddc77a32720af07 - -COUNT=1 -L = 512 -KI = 33a75c2f6dd2bf7ebdcf11de02f6d9afffb3b449b817bdd91fcf53073c5a10f8 -IVlen = 128 -IV = d5faf143c25c70657cc5153481d06dc1 -FixedInputDataByteLen = 51 -FixedInputData = b284696e9b16bf501d52088299f154b4ecafe2d4a96d3e98fa721765181adaad6c6f5dd2083a00aaf2b34a8a44c6f6883655ba -KO = 8ef3c2aadd6640b7c269274c5727b2b09afb281fca53fc855a6f283800f2eb1bf16997bed96fcebad718c8e20bc62d67c598165dbde9b6737f321ff00358e408 - -COUNT=2 -L = 512 -KI = af9cfd8151e0415bfc83a9003710ecb803c2909f6ee0aff788ba233d183da43e -IVlen = 128 -IV = 279b0ae7f4b7391e41622c2874782a4b -FixedInputDataByteLen = 51 -FixedInputData = 1a28e4743b4af897dd706cb526b3bb6a6950284da60200abbdf887c6d9b57610b74776e2a2fb0190134824ac9e1402d1c4aa73 -KO = 4c0e86fdd9dd7fc3d8e037125838bd56bb547b19505cc71a36ccfb63babe7ffa3b950b88857254476fdff69aedb79aca735f9c401ec1d7ea6e7afd348668b136 - -COUNT=3 -L = 512 -KI = 19603388c25c9fe49015dfa5603dc423a0cc16ebdbcf3f48a7d7cc911949470a -IVlen = 128 -IV = be234822532e31694899382d46046024 -FixedInputDataByteLen = 51 -FixedInputData = 551143e9e34f7cc10b973edf0d3953b1c653f2093c00ba85b0464e0998e72431a41eb715551808db9bc4d26e1bd39c75a037a6 -KO = c628dbcbceb9e0faba9a3a2d259887b1e4773d357a2f0d228b9bb26de07cb277bd28fffa4ec61ddee0b2840dfc5c4f169db9c1574494b92389866596fd157224 - -COUNT=4 -L = 512 -KI = 8f840507234ba9c47de53f970f3ade4e66b398ee60f29ce661c2c700e09f7dee -IVlen = 128 -IV = 7813c3b9f9da3961c322b687b4d121d8 -FixedInputDataByteLen = 51 -FixedInputData = c45db16b7f09fe4a4904cf15822d8a735779f3146e87c1d1477f0023c46ad520066847900e3e117d446a95d00999df10d9c8a8 -KO = 26a953c6b8d9d29be60c2d9d784c2553411de42f1197caf033d30dec61ee6e3d86c71fc3d805c4d320629cad0268100e443646dd502e89e07d33c3595b040eaf - -COUNT=5 -L = 512 -KI = bd4a15535b93090494d6109dfd7a8af5ee300382812f8fe7a18ac75482747506 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53605752272d7a13beb5eb5fe3b7a11b6b44f4c78e0f046d295a6477504b1d94ee1c540a5426f3ce2b6b039c3c81525360e834 -KO = dac3117192aeafddc6f1c1f86a4bc63d1585576c37609f3ceee61ea7c4ae5102937fc20218d243cad4929f9c35cf1b9be12dd8e7a8ad8799b7fbd6c20a68a7ac - -COUNT=6 -L = 512 -KI = 07382c0d08be99947550afdd09c01e8a1a850b72870691e2816b9423e34b15a8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0f9c5c27b7099765cfec781bab6a57a9a16949f55e635bfb4a7bf75079b3480e3163d7e5bfe041c11c6377fd98b3974fc82565 -KO = 5c01347cccbd80333fb7c62e2bf2d3427bb27c286f75f6897e19c8bfbd77bd8eed3eaac2326d7c2f5642416548b3612add9700b88ecbb9283de02c12b5dde01a - -COUNT=7 -L = 512 -KI = 590d3d8582485bfa77ba961bf2f64a8381a4d99e7d95acec31f7e5defef2f7b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0dc987e76c562fb605f2874b580e5c755ef5588480059dfd478d7fe7333ed3abf4e42fcbcc82bc0ffba4afefa2dfa59d23328d -KO = 60775b240699cc9603e83fac1eb336b9374549761b07bc0496a3cc16c5afedccd81a47c1a14958a6164774305c3124b78b98998b889da461a40ee7567e0de2c4 - -COUNT=8 -L = 512 -KI = b067a9b809eabbe42dfd9be44f3c5b6e785e6f199f0e7c9f380514a53c66dc63 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 200be80a84c8b091528c834427672b70d95714de73818cac6de6c7b12140c2bc891d844aee27500dc2d630256bdba1609b5d7b -KO = cb6054beb96e4be70674c0812ccdf877b78669db2634705532000491ebd35e94122fdad4ea857901a10689cb31a117ead0a24a5f060e4d289a8f5b53b11b9596 - -COUNT=9 -L = 512 -KI = 393c8d8c827b6b296a9680a7be100746c5de26cdf92eaf634c66ee51919981dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab4e5dedf4c989b02a1561cd3029d7881517c69596ac21f9d019b4e6cb1f15a1c41eb04a6f7b563e6811d5cc8ac214ce4f4774 -KO = 6768488fcf3b31106691c1e8dcc142ec77682764a4e66357111942803010618ed217189644da112a4c1e2ce129185b551ff6071fe0391060ddd3a42e27183e88 - -COUNT=10 -L = 2048 -KI = a2060dda2d323e1c82924f5cd94e6584f7a443dbe0876da29cd07b41e97603d7 -IVlen = 128 -IV = 29777192d4f0ed0ab88661dcd8b1bd01 -FixedInputDataByteLen = 51 -FixedInputData = a9d29a6bae2954d2f01540aa5302871552a69623cbcb7132c0118e613d73db7386454f782742614b1c29e24c6efb67cc1ea724 -KO = aec9eb3f3e87e5d710f62a0ef9265ed550b6ae118c27c2249f798bd0f6713ceb368a6e716c6637387f2826391b96bd325036a5ee8d88ee9b8e5ab15f482595034189813087000563987b3094c83b0ba9817949f879f2f2bd08111efefe8fb89f1a475799f5a261ff9dbae2ead2c782f141a1181787b32c1e0d03e5911c5d36d07cbb7477e5e38c9df8e629112e896c7f943c3fc412edb905a039288dcaeaf0ff7d268ae5f946e88458ee071671a0f10ce2e68edc97861a9ebfea92b304a73d281394bedc099e2cd14c410f9545928f3ff858218d1ab1d237c34099cc1475d1ff25573362eaaeed8ad6f51dc8698d8e61503ed84a4f613e24e4acab871aa83aa2 - -COUNT=11 -L = 2048 -KI = ec38bcdc27f3904504c32912997c0a1592624d3a282180a35316245ec56290c5 -IVlen = 128 -IV = 3e8ced36299d3084f84fc2327ebd9300 -FixedInputDataByteLen = 51 -FixedInputData = 523f33174316c65ddc5022f8a8d7d0cd2ed6b0ad0c196d65c8c850d8d0d00c096be00ecbce3a53fa5b26a11d07c9a7d643441f -KO = b0ed0d55a8f399d8b896300f92f23f0a5fc2246897d640d9e43d6ba169d6817a739716bd82333ea1b95a08a8c18373dc1cb3f0eb1e9053321f8ada27a1de94eb6a137b52ca13fe70a35dd06df170079a988fe96480842a7497dd806d736ffb201894ae16b920ea89bca4542445ef53b3b225bfe83d2bd68f7292e3f3778f7b0aab115d109d263b32fa44408ab81ffbad581279804ac97576283b23c67148e91c3fe23f59ab55cee9710d4dd80c6d2e4d1158ebab718c6d5abcfd273fde85ff484a62777114d865db502e7cca2e71a7fc72418830e5ca42eb425f59e307de538116b5978dc2b190b62b303f57e76d3dbc1a80d07816478221b8c47e409d0d60d3 - -COUNT=12 -L = 2048 -KI = e653f1246bb086543dfacb0e426b4de6072da229d4139b988bb1dceb8cc56521 -IVlen = 128 -IV = 6bcd3dab04707127314717acbaee98be -FixedInputDataByteLen = 51 -FixedInputData = f3420db56ff7cb3151cace4b07baa69bfbbabc37a88d2cab10b52fc0d1b0ab25e49165caad468e649dd74896599d6259124f78 -KO = 9031392db9a730a2bc2cf7645f0700fb92167890e86c5ea9420bd178db06b53477024d1f14e7d41b88c63bb779f2c98514af77f6ef690c196943034710b6b06d8ab161b69cee6b26edb7269b2a61abf750721494b016511a5dc08650db090bfad504e8df03d29596b86f1732e9eebbba6a276bee4719d62c922f12b5ebc8a85fe28055233e02c96b47372ff5f34070234dcfdf4b740ae713e4cf9e674c373073d91ab5a77326cbe77555c40589311be7e52638ba9c02eef71b9cdb3fb7a8db16f8c3280b3531c44e27bec89acd50202c93988bbf12656b3b568c1f97380cc3ec5587650b7b31930e30d579965d98414272a384c3d0ff179168f88cce5dd91ebc - -COUNT=13 -L = 2048 -KI = dd922d469a4f1a61f27b384c8742b9f33ecb824f8fe5bf6d5caa38ed3fba2da6 -IVlen = 128 -IV = 0ad8fe24db5547ffadeaaa9bb49a8553 -FixedInputDataByteLen = 51 -FixedInputData = 6826eae070e08d650fb518a2666026b75a165c1abcf2d4ba9a64da93815d1de401caf560e0cad2c74ce46d2f1161ed07b35909 -KO = 000151998d2e8765b30df0730da32618e6f1c4ec47bbd624301b62b739e0bdca0f6674e35ec24fb9f24e3e74f4c59ff3712fa8d6691d103978dccfab0c796456cd88baa94b239bdee6a75fa0c647912d6ae74d1cf162dc8742af6786800d770ffe40ffd70356c72b6f04b6e332b73c327cb04ea2fd08ad07407160db4366bcd9427994c58dd3436809a63d20cbfa41ced592fe5476586cff5105f95eb6afe91fa288ffca6c7eb37632cf124295fa4a43c24d6768df687c81aaf4d3e39706d3f6f446d75c7587416624a9eaa8fb90e54c3712a37c8a5df0ef001ffe3611be0ba96e2bea24cf9375b4ae818b4d7b4f7a949dbd1259c60d9b4367c84b7fcaa16649 - -COUNT=14 -L = 2048 -KI = de58023c0d3c5e8d127228dc0490ec88b423eb5866df06913698612490c9c5cc -IVlen = 128 -IV = b5417b0500433bd95b97ea18f070fd85 -FixedInputDataByteLen = 51 -FixedInputData = 57460ea9ab567b5fd217329542f07f5660ef76158a98e1159ecb825287a8b613b1b26a563674ec08bf276196fb8c787f55638e -KO = 7fe2082648399d3daa0045163b04bbd67b58948f93a71ff50d3ac4cbd8b63564558ff512a5cf26942b30c7de1982452b07b7950245153a8f3afb0aaf134aff29c5a6da77eec2b285e350acdb5617b7df61cf172a936418a42bbb7e6903ddb3d530615a9b552b1602794108e8df5ec327070063b636f69c264bbcb5c6914042eae6cae5e9680b9c3487b3ca80f488e3796b75afcfe7df7512fa28ca40ab4504cf4ca88751ca2b427f0f431f811796ebcc918f30beeff06db0be589ecd73acb639cff2e683d537fbe26fa39f1b9a417d1be851575d58c1a033c1ca9bb7fc522b572affc93a4ef70047fc0487b9229c168e6628a37879c1a40a3e4e473678595a2e - -COUNT=15 -L = 2048 -KI = dd74f637f298e7949563c1e2dacb69770ed956689fcb3a7ad74b7a808e7cda29 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b6c825e5dc7dee6dfc768fcda65a25ac1a2c9487891f024fead479f2be8a4b7daeaedf320d0c53bd56bcca306e96e15248a419 -KO = 3eeb9cfa2a026e755929c0a60c9def069fe887c1f30aeac7f36b16c70ebdef6d9a68a5514b63f9f26ed1dc2c9e9b0cbc97805855d5726884ad698094a2eb53d7e984a000c33dc122bb843dc29e38fb9846c60fd095a517112a3cc51199d31b55cb4d5be41a77476f90ecae2da2f7eb1f1370e5e1b68c3fb2d1a64df39c172cf7dddd06bade61046f940673f2a2c5f587e6aff3ab939e7c7c32f03b7b7b452433aa79b902102145f44a0dab8e3a84c182927fe72218fe48939640c6f17160ddcf3218954e96132b7a03a36ffc35abe6180b6de345cb3b0404160a77ebfa3a160445d7a1cae550cfc7fa9f8d63cc5fe165583d38eef5477b012f5ff4cd59981f2b - -COUNT=16 -L = 2048 -KI = cd65ec222690e2287c7267e9fa7863d6d248e6f964130d53d46e4832a430276f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ddff51b240217ee2254edc329a1c4ca98b67a7368c28f55375430a2b204fe4388947c43b401fade4681990711ef4753bae6aa9 -KO = 383aed9118e9808e1ff0357447662c933e1d9cc97692782edd3311eb472eb8688019a66aacf51c30785c5b6019543ed1ef9fe2f43e44b386e5ca5bd5ffe13dfe48a5906c5a97be150e41883aae5e2c9b01807cf0249751c5df4d6debd900950fdded4a6623e8a8d7c1be82148ab260493ebf8ded93c5c88949a2c3b43eacced15174608749aa4359c8a477bcedc61b23aa8b2a5b7180d32a160ea9bd22620d206acf222939ae8bfd37bea386715ff82f8556cdffa72e6c163ba0b74c1f53369affeeade85b1d6fca68622587d87c521e738170d3deb918ed4aae2209ae18b33f47c993c42eba1f1b6a39580d1daa9d64fb078b3a9afe579b002332ed235000f7 - -COUNT=17 -L = 2048 -KI = f1b37d71d7669d9c8d72ea77bdf5939978bb91d2913a6705afa201f70f1b8908 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2a30737ae9444627c5dba666289f7250f61d02e0b03d13c0ae67a90c7755ed0aeffb28fc05a1565ede1cbf043e1ac5cd5ae123 -KO = 10a1280f96ef711c5bef8081dd9c19abe990a38b15f6a1612a3c6152449d6db169d070106f7d428227c569835000e11c814a34f4c48a3bb3fe81e9c060a9372377e2686d74c594a86150cbeac7c01e265067b46305088e6c7337e4dbd1faa410b16a56c00e71f58c061207fe64adedd83118b872d0dddc7ac410700e04c4e06f4fd59e34cff5639b4cb3cf6663ff14214adea26c4449eb5682a262d328c74e281cdb41682bb45a0e5e76838b0fb16b68281ecf3e2e7f007324acf5346e9ee05589a8d96b6243d1b0244747189e43012a2619b8be1b0ff3fb903db0f0702247906b11cc37ded73c6ef5c4ed9bbb0b5c44a9043723dd9f05b9d924aa98b5ef8e41 - -COUNT=18 -L = 2048 -KI = 862e1e63b3e5cc4e87e9542420bd6a95805ca1c0f62d74ce75dbad31d9c58743 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb5f71705ae12abc7bb97aa4ebc5f5e02a99657e24d6f45a9d576186289f63f0554fa452a23b2761bd58564fe7b9f076bd0f69 -KO = 01a4b45cfcdbb1b139cf0106aa7d3279150ca0deef979a6f7f250c22351480d00e28ad944ff168da2a5e63cdfd3590b0dc2ab3054d75677620cf1ba20d4b69a5b1432324eca494d98a4a367f8001eaf052e9fa3723f86642996b97dce972cd24f160ba2d90729c6610dc89a4649d2a2b6fe23a1cf69685065eebdc672befc4e46b36bb7a85e2cd3a1b1eac5767970328ba25c918f83b93c02ff6918cc35a20f76efff0393b840710381b51ea605419d7ca891bd7859e0ef8158948c0afd0c1e44ba52095d3f447c2f19d9dd330f1b23d072233f379d4f6303b1ff70d39157578682cb361368d3c5c278d55409c8815dc68ef4bade0d9a88ccae71dd9e134ae1f - -COUNT=19 -L = 2048 -KI = e411e9f27ea93264f6b99ddccc91f1ddb191abb1318a0add78531e243c843a3b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28147071a29e00afc219f126a7bc9ce24cb01eef9fc0761922ff42cd0bd7e60d010bdd4ae9199e67e48c357aeff69291843594 -KO = 61cca70206c322839432da588ec6b4f9baf833feed8e2130c756c1f091590aac530ede95c9fece7f9f48a71857eef1155031872652cb7f692ac1fc67262b72b124fb2958db22e9ecdd0284a3bd52b88da2c890f5dc0afd905091660caed1bb58393ec7d2c92f87350872e982a8603e041076e2d64b258230ba75440f58dbaa66e9e6a7438af332b5a6b067bf5eec08b2529f1cf06ad6a075acd04c144819d99bd5ed5a58827ffb7f41b053407a38170523edcf72a2cccc520688d1bdda5ea79c34f381cefa379425624a00ec19c820a828505530cc3213f9dc352df6fb3e0399aa2ef864b67f5022d8d89187d89c98af9841b37472cf2bc84fab436ffad07091 - -COUNT=20 -L = 560 -KI = 0712399d617da8bb695b66eeebab2691120d26f4550248fb033b0fa676852fd0 -IVlen = 128 -IV = db22b0b578eaf45420b204f380373e0c -FixedInputDataByteLen = 51 -FixedInputData = 18118939c53a92e36fbea769cb1be6ac57aaeb83fc758a332da3fceca03a83f54eeded2ce7e897c79abb128d42ea5607904b3a -KO = bc059aec05cd05548e0708bc4363f90e7249324a56d08da045a846cb5e3919e12ed727f99133bc5a943d53c4f60aba792dcf77e6717654d66369be8ba01fe24ff8d8d42f6714 - -COUNT=21 -L = 560 -KI = d1912d94e3b4f8fdb7cc53f8ff304f05639d21a359e130f56294e9cab5c69863 -IVlen = 128 -IV = c08d00c66f8b1ed4783c29720e2ee760 -FixedInputDataByteLen = 51 -FixedInputData = 53ce4d00a424c96e12b777b912ae01aba598c13ab492f0d755a50d86a30f851ab1561b6947ef9f2605532bd86751fe113f9ca6 -KO = 136527ef560788849d3c9590c91063d974ec606430f4c30fe043618a0643263d5634bc73920d981d4694a3b2c8b42fe31d52b76a92366d82a82056ab052dc74a123173cf3812 - -COUNT=22 -L = 560 -KI = bfa4112d93550b2903e7f24563cc3f3a09cd1e472808b5d6ed1683cb0b5951a6 -IVlen = 128 -IV = ddb0e5b7bd7212e08d6f231ee941a0df -FixedInputDataByteLen = 51 -FixedInputData = 7166e5e93d25ba8a3658b15bde4e2c9689797ec765aa6e9891d47a09a5702d89b60e2674ba656389553371588a5b76ffbc0fa7 -KO = 9d6fbbfed9997c63ea11f3ce28b78126f8346ff4bbd4e53a36c260bc1acbcb4d4129931660ed6fb61765049abaf156757bec989cffed855ba351328a50caeb8dc8bc5ef9ca9b - -COUNT=23 -L = 560 -KI = ccc551a750d51278d33f80d1caa806ad765634e69111f502bea1496c96611b89 -IVlen = 128 -IV = 94a0500fec6a380e80776b5aefea454a -FixedInputDataByteLen = 51 -FixedInputData = 58d660c6e70b8e6d2012939674c289337de18747b31a8d45476fab91496c31d9cb30fa4ea9e773228f460ae52e4a70516ba9f1 -KO = 3278944a80119b2655ef78f10c6ac050a173e1c512322e8a64578e9c244254bdfb015b62255f43b801e97642e2c32294a592ec6fa75493f3ceb65d8b61c7354b46cff1f4ef66 - -COUNT=24 -L = 560 -KI = 97d2e968e7880bae12534e26c96f852586cade61297f43b1b7be824a284b9c40 -IVlen = 128 -IV = 856e773a244421bdd1f2885eec1eca5f -FixedInputDataByteLen = 51 -FixedInputData = 6bb261badccb948fd183b9b38478a01dc3dc61b0cb0b9b2ea3ab67a01acecf83340c6473942b43e46ecac366e696e0564b2a4c -KO = 905ac1fea104e550d319efefcc96109e9d6c58b989635c40b73896236dee0d0b8c237f826ef6201c52b62cf17e14eaaf1aed9e42c6571f6f5c48a41475d1a89497802eb797c8 - -COUNT=25 -L = 560 -KI = fb009c26f1f7cb495a705f6e745abce1120a0c43184c547f5c2b9b5e3a7619f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2fa0286963cdf868fc25a63728f33d7430c2d86c5ce274f27d54ac2b878342250ef53b221c65ec8c0d25bca0f581115d303eda -KO = b9ad45fd09dc82c84e64fc96471f0b26d8e92b10079b86a5f2824388deda628e40fb151cbc488acdad9d1f626148d14089f2c0983d281053371c8fe86c0e1a967d68950bc921 - -COUNT=26 -L = 560 -KI = 7efbefa336801cdab25f218e7defb77a32696d3193472d56e2ef70483df6abe8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 077aa288847c8ad1119af5baf74781053b76b148f38e3757eaa44c41ff07eb657d0616a8b0840394d16edcbb687adb5e356ed1 -KO = 49383b7bcefd3c118782340053b22d5d723169c6d826d02691c0b216a6e919083a67e44fe2800834ddc5f48da3cd6fd7fc691596b123aeca1ad361c3e99e01cfeb24afa5a774 - -COUNT=27 -L = 560 -KI = ff5e80244bfa6b7d8f1950a12131db4d308d29fae97f96b07301c04759e62c9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72fe1162d474793a6c1f4a481759b0a1a2da945e73c94c5bbccbdbc832eba7ef083da676c0a4ab03401978b742bc032efad725 -KO = 6d9dd80677e8e87603688ac312c0125f433f1ce2b65c2812c3cc2ff68092e94b65720addd83e16609c7767fd4400aeeeea840aec1860c9d0dd7ad1bb4c8342cd3af2c6d65288 - -COUNT=28 -L = 560 -KI = 6f42d05cc8c6a9b0ba800aa914d6a93cc11e3360b75685a59c543eb664edb4c6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 26767c8b2ed5c684f9ec57a38b1a619af0df8cacfd3714745b74bb76a6db3fb4ef966fbd8e38f6755b47314e6dc15208b45341 -KO = 23293548fb25427f64971b9cc6880b1c700108f822722f1245dcdaf51ceefefbbe1d8fb7297273691cd028df27c9385d03c50712a5054905f4e788e483b10b37f337cb5028de - -COUNT=29 -L = 560 -KI = 95bd465a818e3bd1dc83dd220d985b8c450f9394690f633f5f5eb632db95e8f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb124fd169b478639da69a7282724d05fecd4660a43c604f260b7a3a82ebaf15ca9c6df28d0eff5d67aa268ea8307c40fea1c9 -KO = c4b3198f6ffd12a76a3ef56852afe56e26795a03e9ffda238bc6e1242d318688c99886e22bfb4e977e2c2d157b7283f135fa439af99da5a6e3072d646936fc8d5b56b090e036 - -COUNT=30 -L = 2400 -KI = 4bc97e147b6e82fe5cd8890ab38cdbd9263bb110f270f915b2d5b677a78b298d -IVlen = 128 -IV = 8d14d0265a9b7d627fd7d0df11c9624a -FixedInputDataByteLen = 51 -FixedInputData = 96dcfebc2e58713649ef2abb66705fecdd4c98a504a4b76595a74de5081fc6e0508d16c16120dc4fe16fda2d3607d583196f87 -KO = f0b831851bfe204de64eb75d2b28bbd06b8d7a0b1abef3d91c03ed3b2844a89719028ddc1ec47258aed246c3459ea91d09864d74835d3c5c5e251573fe3cfa09d29d4ab3b3ee13faaf33dc7c0c4033fe9a0b77aea006390b970d89e2c3796bb1e5b4444d72edcdc4664f129a3db56012eaa26a919a37f4cf96e1101c5a5a19dc7dd0ab975364b1861f8657026fe081fafabfbb4856bef086f8862a4777c52a28bfebb481b7b17b2bd45a1cd9220833948aa82e2898afa725c28056f9c9c07a11ce46c03279f27128a9eb03cb0d46b0b1792e2e49d15e06699ab6b33fc76a432ed0a37b0bf78221748879bc1658fd5f94d9c2e074f7faa889ba19ad34ff748b75bb37356124ddaa7f4125af64df5789ccc636676393c3c36eb6b3fa180114f4f196d3f9eb9c85e6d98a2c9f75 - -COUNT=31 -L = 2400 -KI = 081e6ca04d33f0a45a59de472ec8f0c92dc07ed3527f00cb2439f16e1fe3592a -IVlen = 128 -IV = a771d7aa8b71b155c8c7b14806b4fb8c -FixedInputDataByteLen = 51 -FixedInputData = 8058faa8136d8d0c0daa3aff653adaa762e8154e957994371da237c9ab83c79b51fa870988c8b3a8333a1d3e4896b32da87456 -KO = 5284b2b5099a77cf7b83e5332516596524f50dd3e7ad26d300997cd64488e508ca586e8dfe782a03e567dd9de404b3fd3c9ed97fc626f4fb80241b0cbf24713e2ffc1e958591f7056a84d001c31f91f80a003fcf08bea6e8a4a839d4d78e183d3a65f35b90004dc21aa8d20fc65f4e4eb16ea1f97e75952431fb1422b45c4332b5f3e0d0ffa026c82a6e4aafc021f77a102a0a433c73aee16b4c042f3921558a910cd026e34632753ec7e6c2cfba2faa629268f26fb8aa60fcd9e640a8a385026ef70803036916274761075b8397c93a516980d8d22ceb54c453b4ae3c5bd34f17e4cf88cbe4531467f901aad9d1355781a7fa6cee260671f4f106afb3e0a257f0393c5b7695ee208ee14d52071b3013e5f5fdb9a9d726b2a62e2ac557b017a2069e297ff6f038c109e7d215 - -COUNT=32 -L = 2400 -KI = dc7d13a94fabc5a41ef44665853fe1852aff404f3ff8ebe4c761549d4b6aa4c5 -IVlen = 128 -IV = a3e7ca7bb8233997508a3767bc4914b7 -FixedInputDataByteLen = 51 -FixedInputData = 0880fd82a927bbd3bf3d7bffb035eb5134714a3064f0eac1bb043c6e803951e07de1486330c972da2c139096f28648fc950aa7 -KO = a63e99bc977507340660af826353a6f594ada7db583c1a5287492218f93047495f6d6a39c1507f707314f7121a43851b1e1db0e8efef444474be79f8df42ad2b7ab6fde93ed4c6c4350898e5f9c052099e09307c815b4ec22abe9bd32fc547755dc7ad3ab1b0b167a325a793862238ceaa26ad4f0e414f690a6f2275f8b06318c6bf925a07edfdf1a0219219ad6828c58534c920585aa717a7c2bb16b02adfbe41a1675976dc6e550e4bb00da9a631e72ded4fdba90034fbf2c8d05a44500ecdabaeb7eb656abc03ac803241eff615cfbf03e2f0df87b26bf8120e32c896456fc35d8ec221706cad7bdc3f15691c034f84d98581bf318db63246e047ed7f70b7f30c6a8a39e2f6f2cd580d6e8ca059c8179dc15b008c59fd88886ca8ff706f5d38eaa989aa83fd9bcaa777c3 - -COUNT=33 -L = 2400 -KI = 6d5f410b4f450cb1d4ef0509ab460fe6aae75649088728da166deb3a93e076f8 -IVlen = 128 -IV = 48632a984ed666ceec56407f609e44b0 -FixedInputDataByteLen = 51 -FixedInputData = ed931663a50b0c81d1726784c1e3eb0f8a40f71bbcb13be0fecc32ac74838771632f677f392d47f02ae8e6a37916bb8a73a631 -KO = 75b04947713da4b8e0eec14138a25ad728ef5fc6b63dcf2d9bbe0ace3ab90e8a81027fcf26e1c9c4623098ba6ffbc5e55234e3bbf2b350036e0bbb69c8d84210a4c0809290b121a43102a9ae87e74723ebf9ea8379bedb5c104e28b960b97e3975745ad12859bb2bd408ea83751a882e5b84ef3ac95015aefa2c36b0ccbbd4757b7d49e69b969ddf640027fbd8b29a9550c0357aa63f603be41162a07ad6378ee32faf7c3a9988dffb1974dc051fef965ee06425d379fc6269d3590953285e5b303def090c94d262419d01d62fc5e1a604cb5bcc89cf3159f59660308a30ae5627047edf147561c30fb24ed21018b05fafa236fe519bc00900023e8b452209819cf77c84c933674600435f41d4d9df5a21d6a477478f2a658f399e528db99f29e72651b8dbf3ece1136e6157 - -COUNT=34 -L = 2400 -KI = 5392c9681af7ec5f64de76d481895efa1f2ab778565bac6f7959a17a0cb4a2e5 -IVlen = 128 -IV = 746d3bcfafc4774770b5149b53840df9 -FixedInputDataByteLen = 51 -FixedInputData = a94b6706bca9c3b24fb64b00d0c6404365cb379e1ebef4cf347b24fafc503f57500f31a1cb52b1cb9b0ac2befaf69a3b6b70b0 -KO = ebf4453130bb072253389e17a9505769906e3097b96b05fd05a30c36805848629855c3ded61350717052208960dfed6fb8698c4e4930035216cfc6f17263b62304764d75693c4cd72340bdfd64ec47d81b98462bfe61e317bf09f8c2a40f4370a08945cfd18d513c044012de1a70fe6fb38ae3cddc39520844427fd4e4f4985103b304e1638b91ca4eff856fa7cb754c7894de41f16cbf159dd909e4b13823725d4315b4639a62c97635168f9e70b2e065470f218ed699a630f236d422ca18517ab1b7cd0f2f7173c76835063ae4c36c599b04ec60df3eab5f1ffc5013c7fa00e9098e79d232f5a63f0fb19dba3f51dbe86d3b7b767ca16b966fb824e08797391dc1d3cc24733b9f5cad7680e61df05c7d2af7a692ef7b7ebe55550381edea399e97bb1ffe308151254e6b26 - -COUNT=35 -L = 2400 -KI = 4afc3e37958887b58a5d90ab387dcc2ed282b7cdeb4a9352ea8bed08dbf2436c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e634e95b7f74bbb6f2cf0d48a02321c0ba741ca9195b56e156e7cc09294d5897b642dccf45a0be60fd93776052d0784f19a26 -KO = 5dd668c45bfbac13609d4d93c1cf8cc80c895ac1b890318aea099a91f4381d72f81872018f930fac08bf905e01ad6687f2014393d90e478b8b4716ad3bff496638c4f4cd7497c7995ec4ccb6b01051902c89f91eba245355686b0b34a22cfe4c4d2dc13da7783429a4b5b3c3485f7c07006e4068ac2616324917b2b81f3bbc75c824de77ef84b2fb15b9530f86d2b1b919a24c3e938e4218fd6e96fd4257c8b391cfbcba16d872000cb191f2e66dbbb237d9de88827c30f7532ea8121e55df6b0447e4b8a7a59e938035b132145d1820b99d5d86459b0a7b776a1b7950489fc9806987e35dc1747d4352c2b7f76ad6d016519a8225cbe114821d144c907491f1e26c217ecc6945c1dd95d97dc486225ac7eea72272c03b19bb3fe43716d4c1dc2408c1ceefdcd535943d4ee6 - -COUNT=36 -L = 2400 -KI = 2d7a640b5ec109071eaa753fffaa1f4c53fd5f014b14a0b48b1c53cb97f640c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7d7ed88312a76ef6f28857051a2906666dc35ef9f95d35f3ba17415f23e17202dce70911ea1a16a85c329333c35f6cebb771ea -KO = e6b973531e67b421744757f28dc30b5c1e58e03855b0a3f94e65ee87d36113b50bb15b7a9ee59e860957b76545500c76c51a2056454a11c0ae7ac657d6d2574026f8d4fbaf77d2b45d287f82346a7c4720d9a2adb707484a999516dcf4ee78ed1dcc36d61d37b3aa5186a9016de747ee530f1357c1ea8bd38b26b18e90211cfa5ee3a593107e49f6e539ea117c9b935a5d1c5edec0aa725263cdd4bcb436eff0ebaac66f144fd87fdc6de8e7874442e471f209dcbd1d2d1343e8962f4edf88acf3ecddf1e8768162288de38c22ddb1948a05f8c70386023f16f5b0d2eee0af8c9712451912782afb16d0f81a1788c9bcf0c6499289966debd60dc00f19eee2d632b80f0be5bc77770f32ddc9e7e7475ed7c48bf28a7d89c28a266c5f39c13ede4e1b51911041bbbb17dca97f - -COUNT=37 -L = 2400 -KI = 5e86af933e70302bff0337ad1c2625411d2afed1bc599af971cce3de8b79c00e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da3ad8aa4fe415b64e690c478f9a3fcfa443a30648d92ef99a22a2d80ec59a1e01e0adc7e219a052bd50a4a87c2931a2b5662e -KO = e1b9db5cfffe4663f07f46055de136a78351b3caac77d05b27d751a289bfa65a7813bf1465704906c731cb78790de265bda1ffed3746218166740663e8207dd0d2efe03ba3b3c8259f5711856f3aba093f89f392921f7dfad0437f9d6caccf146f0ab808ba376b77c6a34e7a63b716ffd1c5bdcdd33f723f005abc55298cfd309e759c8913c4a0ff6275a1cc63c38b86b6c87988aba45238f5250a19f8a5af24e50446544317b4702aac231177cb121e2611b8f7ecfcb95dc60a21db13607524c0151033a034d470d5606faacad7e61fcdc450752b8551512916f465bc3712999374f8e4ab2636938e653f94806ded44b4d72930829555d718e4eb7bf5afc9fff4a82521a45cce8e2afcc92d3ff4607ff6bcf60466fe7757613b3d235b3b562c1ad90ddc750c60e380445f10 - -COUNT=38 -L = 2400 -KI = 3a6f6aa1dc15f584187e0d2725958d58c0d6af3b8bda58321f62a73b47582cd0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14c07fd1b746fe710cd82aa7646b2a69b36dbe1f3600198d16b24580dcc04531c90a1b987f131b2954904429e4f7dd65c7af1d -KO = 68fdc5e51bc7e3621c29de953252114f042a970d72f869bb371932600e907dc1f67cd6b1f34e9bfee466a6fa20f2682be54cc0de6f99821ec053fa3280f6b8b01dacab3a52a8c32e63da338a6a1dac4a38c89026ca16daaf9444758a55bba46162ac5aa9fae49a9cce1f77b6c705690e5ed9d342f9c2389f0e03a376ea8e8eab5f5de86e877ae0e6d84306f945ed8c2de8078597d14c4edc8b7c57f62e1bb4509960628b6df9adef79e56327422034c8e516462b97ea2a6f393e579c0a503101cd2f6c454c306785c52424ee7ddc04ba5c4868551dff637880421d2114875e69b4d55066395e045c1d214604701b42d0ae1b5a279302ce3a2eeac16b34508ef65d645929723c7fa3f6f27c67e14e8cbfb5d7ac7b1ff28cb310c6e1e17009ae9cfeda4ccf0c409ea651cdb89a - -COUNT=39 -L = 2400 -KI = f7c9aa7fec65f8ffd60ae3932d4d17f662e203957d2f5f6a62abcd61c47a4be3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6679c2cf851b1fde2d1f90064d426c31e5187621797c3cc8282d469f7672722b4599e00c4132f56fb2855e26a40e6634e086dc -KO = 0657354468f02fd834a92d90809692b39ba1dafee8ef247c6538a84f33580118d95bec3e1eea2d8861e852524e2b679c17dc927c77187d0a2a9b9bd9ef8ed079aaacaf90f8eba2ae06da20043470adfa9183042c33f7849385696279723f07241e4700b9edc59e4cb5f5fa458a621e080a1b0c69db5743e14a08bc3e4be2b4828ad2096025ac7745a5ecf4e749b7338ff682472442e1d5a0a04675e44c94d40cb15300bb87c62dcc03809aed204ac62ff3fb24dda5e81ea1ec6ecf41348308a27c01991c90b2a66d86d9a57b59366d6ff52218b1949f9f9bf18a5347f01f03c93cd61836e0626e5a8632540042492ecefec8c9db8b1bf4ea1200043f680cfd9b6b2c930d8b933c9dccf2c9614f3ee1f5934e1843b4f0a9bb3e672d396bb78398b7f03dfbbd4a2e835ea4da71 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 40a4aa6fa6f170d155c90e718bfc91e22949b172e644831e65eea52fb449a5d3 -IVlen = 128 -IV = 582ecf8abe26a3dc26b7400bda2371ce -FixedInputDataByteLen = 51 -FixedInputData = 07ffb70d2cb494b00b0cf7c175f7e267bbe169cad743d33dd55bf368444a6496c5d0a364f6aab9491dce7f782a1b53f9f79944 -KO = 109092b307a0d6e4fd7d777bc72ebf13c8da4bdbbde15e7aef9f33d5d475e17ec667ef84d08d9a6af75c385c4b758bebd2b692332e26aea684b67a336ca47e72 - -COUNT=1 -L = 512 -KI = a122d0fa58270af3626cadc5d1f26f1b5b6708d534d5a3269036b9c825af74f8 -IVlen = 128 -IV = e07ff73e45cba82e2f981b5d3aa18173 -FixedInputDataByteLen = 51 -FixedInputData = bc8ba194781fb6230d0473d088302ce442e9bcf0e610845f0782937beb1652367d6cdadd03cc57cf7c811d85f2d776f70f42f3 -KO = 53b1799e12441a23f6433e69beffea49bad7fe8b1afeb3c51ba173b6e8373232a50ea548255b61dcc370e3f20b70474c97297ab53f6128c97483d6d091a2dbee - -COUNT=2 -L = 512 -KI = 7b6b6f44f30bbbdd2159f8b2ad59a1834bc6d32e5a56c115f76fc0992e626a7a -IVlen = 128 -IV = feac2cc0d1e7d54a8008465ded05d1f6 -FixedInputDataByteLen = 51 -FixedInputData = 736353a3d3d26881d17523be8280dab1e182fa02ba2a7c10fceb2cb5818e33116f6a484c5f29e51953e03ba53a5463aa830fd1 -KO = ef791718e4fb5c9f3ab2922c92f553b13249ef4501f58e24b03da4054a79fca197acb0c43bd19bfc040d3674de4cd73eea23afded1eff299f7fe539a41510471 - -COUNT=3 -L = 512 -KI = 5b06646ef367d05cc2a5057571d582a50fc0f758613e07d3f7400c3b2d191f34 -IVlen = 128 -IV = 48670bfa5fc13ddd3fad0e6b0fe6fc30 -FixedInputDataByteLen = 51 -FixedInputData = f463eee6b74bf2338d6907214ad0ab72fb2086757eef30ed99d5ef6287f6f9d0ff5737b46f5ee8a4810a870309ae97cee4c0c6 -KO = 4ddf4958ccf820a46a8805a2859dc20bf29c6ad878bf424aef1521bd2cc8a99b1957f5601ed0a8f4ab37bded24ccbc20fcf4be0930086a055c37a8abc18ca662 - -COUNT=4 -L = 512 -KI = af0437c32681b06d1654a1a3beb63f9ed140abdd2dded6be2afe195d5b9275ea -IVlen = 128 -IV = c216bbf99c4d081a3296245decb9d1a0 -FixedInputDataByteLen = 51 -FixedInputData = c9fcd144fbb7077d2deca51aba39c256149f19fd38039f54c45bff270764ec7e22b3e332b27614bb12366e4d56eda9b160467f -KO = af5ed3ac08de69f9e28edcfab28aefb9c0899d03bea6702c337e4145c638997dd7e20a8f4d0099815650e3a14c202540ed9c8fbe74e5865b555464361789d326 - -COUNT=5 -L = 512 -KI = 219266f2723a28289535a0d2c701d60add4e30858e64e01cffc75dd2271f18b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d808a23732d3998cc2e26904ef71caf84a88a87a5a1a9233437721e25832de0c08d570135a8f8050130129c12e8e9c0d627dd -KO = 47080a2dbeb38461147fa63e6c8f1ddc9b3b40dc1d69ef253751a65008b96d62bab8e980c19afd894dfffd1b54dabefc6543afae9b8a433782910a99d256eb2f - -COUNT=6 -L = 512 -KI = d6af95d99d8af1aa96d52718e3bb0a9d92e8e39bccc145ce333d4fb721751dd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da61b04a5d4d2c996d574eab6f0458a479bb12224b065620538488001f4d29275ad56e43027930e9bfae8e82c7e3e24dd5fccf -KO = f535f4996ee4df42afbd2ee034745cd315de17290ec2a5a8ac692d9e0a3a7cbc8de91bb0e5615195b3f58d67a22427fe3b02fd4cc4095dd2f7b29a266c6f4ea8 - -COUNT=7 -L = 512 -KI = f38181a91bba1144f76f63c6d7a295a2c593a09a59b7f535009b4d103ff2538c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9edf9c4a3e2821ce4cb4336b1f5049c573a2ff959a89005e3ccaf6a30ddce7ece516a6c520861393e980c3fde2011e6dce3f2d -KO = 22a6ce7c59f89d35f22381ab625e348ad90bc913b9186ef343ed04dd0a042015e8abcfc3563501730e6355e4f706943c0df9d1a8dc692067bf5365f92e0a3d60 - -COUNT=8 -L = 512 -KI = c304e552e3e89749e60ee12a649b70df7ca51a1dafc925e0697f44b64c2f7716 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c496468843d72a5dbdbe02f2ab689b221a51c655338bb613005a75e70db95ae4b9c9df58949f2dfcc361ca1b1bf06ea3ca2066 -KO = ea007da80082cebe605ea95db7fb145ef8616850974ecdf6bda56312087802243c3ef0d0bc3ba7a33a1966f796dd13e4dcb53463b929fe1b231730cbb81eb2ab - -COUNT=9 -L = 512 -KI = ecfddce6ed7688e063a3f20193335bff28884fb2ee6ced348971b71b870d7bc2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e6842b3ff1c4ba6666fd90d5a316ea8ea67f6f25b5bf20271efc881e3621f20bcec40ea29536775ff97ab313dd254ec94ee09 -KO = 73b06081aa00d3b895b47d69d2494a27c027b7ed401495c12def3cfc7cd3a1fbb530380b7d4d6b160315d64006711ede9bee51b53153609f0bcd904582259eb2 - -COUNT=10 -L = 2048 -KI = f2c4757eda1be7ef04ac0058cc2cbb758bc6e738374b7c5c5c05066ded0a2d11 -IVlen = 128 -IV = c9dd2e2329f8fded53d7b2adb9e79de5 -FixedInputDataByteLen = 51 -FixedInputData = a9246e54fad168582d1bc2e43816690138b7ac3e20a4ffaaddb5b582701b4b20e1acde025727d331ea99521d211f6849642a62 -KO = 84694afdd9943c50e3288fc17bb031b55026e84805ab977cb17bf07acd80358d7296a655585a2c625bcc4078fed90828fbb61d0ca4683f569821ad8ee3368a8535bf2e79be906c6941defd7ae3e5f35930b573a80640eb9e93e3558d0b53575d731d1be41431f61a96ff3f2890b4e6a2b26c15d91fc7075294d378caa5fb45341ddd1e1ccd1cff13bf1453d8ccbe66bf48dd8f8653a1e2a5a678af53fef207f323a0075b2130104683eb2f1f699051e9b47eae14dc6bd5f6b70331bbd3d84b54b7f867e943629306737572031b5d188caf95241d75b8c6ba0b2f04630eaf0fd8fc7cc1bbe0093fe6bf1fbeb5523c2e82a58a5603ba5797918e178bcaa0e2603f - -COUNT=11 -L = 2048 -KI = 41d4335d28ba4c93b2e30c58d13d36203a854a49a68fdd79df3898cb12832aa9 -IVlen = 128 -IV = 2746b6a74df09acc50eeed587d88db0b -FixedInputDataByteLen = 51 -FixedInputData = 078321d1a57460c836d0f624750408ec6c67fcf06b7e9f1eaf95b594659eee7906768b07687e37f88347be7899ca8d1ab341df -KO = 882f3706d52eeb28a814207582e60cfea48ff73ebdc4c4b6fe69fa117aa3ef7a2f4f90f274d219a1fc4d6c9903da5c64f3b1e8fcd6687cf562644358c95c212c2f616afddc8cf063af2e337028b2af8164134f9b513f6b1e044cb5ae08032ef2d073fb0ab8c4502add235bf0b5bde966f234be338ce31c445540825113aff4cd8e063ca93e042143cc29a4578150bbf8aa477817e3b282105fc3dd33d5ff633027c695e1fa6fc550daac9e04fc79344e1bc6fb0eadcad5af797ad2c56af66a0ab7679850358165678101c6b709ebf68457b6b5364110bf217810fcc4ccd1b6678001f23ca7089b87d137df12e57a764028e5f95b94dddbf87e36582edc44677f - -COUNT=12 -L = 2048 -KI = be3cb4fda48d00db14bfc012c72c2a803feaf2041923929175406f1298474f81 -IVlen = 128 -IV = 4f16d1c566dbed6783cf5a04c0e43c79 -FixedInputDataByteLen = 51 -FixedInputData = b3d5bd0dac2b3820460b0604f1066896a52bceca82aa7cc37e53690d5a5a79fb6aee25fc4ba7a7a8b60a77e8bf07d942d83339 -KO = 7916cec8f8e8c986177c0547713e9612298eb8fd47d0ae8c1ff7903f808b7bd9695ab2f4370a4a0f2a0fe0e494a58e4e081b154b2a396536ca45892f100119753e4f36b5d8f59e852c8590b7af93c3d6f4a3d3f3da7fe6cf0c1d14a80b7eaaf58d7b42feb5e12698c37fee1a82ae0896e485e13c51da2a4c62603024c96c2d4cd034a35c11bb1c91f49399ce8d40131d3bf5a8e04acab4811a822e7956c0c49630099648b0ea52cac8c065b5ebbebabb71bd53e0a34aafee9713fd7cdbbb8e22694daf8da0bd323d236c289db4a98d716ac5af8a010c411d19542e56324c0709c7a8ff7ab8f48f94732264481e9bdcddb8e20c96773a2c8cf763478a02de6638 - -COUNT=13 -L = 2048 -KI = 6ba7944736e64654f50c1ab64023bee69ff0c50bbd99cc5f7fd1e30a684b36d4 -IVlen = 128 -IV = bc453961ad5bdbd724f0a5c9ece52416 -FixedInputDataByteLen = 51 -FixedInputData = 0aa46a6e01d9fee100aa83e66f751a682719ae052c6811492fdd9eeec292b57d3b70517cfa683b96e914f611bee33a55d6417d -KO = f615be72a1be24ba9fa4238dddf66b2cd7b53fae64848e3c10a2b498f47ea6d2acf02cd43af22a8c69213ef0538e35307a9da024cb2ab5b8ce2059d81141ecab3475bebfa417ca0eb8b023646a6ab04397ec6a7ce20188de0e2776124025709eed743ecba86b4d2da57871dd2104c3b1299d5ca3bb11b47d68a3494fabdcd1dea73ef3fe309728f9cac1afeb2a17c31cfa383a663e2029f904b20f6934c444a1ea199d9be48d52d2d7ceba4dae50336646be69a0cb22c2866c59d1229dca455573dcbfd84161467aa939dce44114c0a8908d4de7ebc51d8de8eec75ddcf6b09955ac14720da768b466e547cfdafb3c8f88f8c550dda46ac500d1a5c3fa5897dd - -COUNT=14 -L = 2048 -KI = 6c25380535bfbae2ea442b98657ec02be9bc0889b0c20aad42888ac2b4dba1a0 -IVlen = 128 -IV = 678d891aa8b0e2c93ff6757a1a04c0d3 -FixedInputDataByteLen = 51 -FixedInputData = 527f24cfbf0a837c340e6a437b8de2b3dccd46c19fc9373d793a8ce2528ed6bbb5dd62822d524bce2aab3a3445687b7fe249d8 -KO = 1e8c7d28a3b055d7ab882f7cdc07616b80c3f8727afd1cf88d859edec98d5357a7c67de157b95506c4433bf9f082138321081379d32aefa0b0a83e2ecb71851397a1abb1411ec7a55c20fe0edca8d9808661a438f90ca4834cea4de16a721a6c355ed9bc729896d2bbc8de63a8d3647d04892b79961633ee773e1ebbd80e627f84352d6c593803fdf1ba9c6b5bd43d8088728357160a6a5cc12c4f1fe2ac1c9c3da29122a43875ef227b70f56950521af65b2d835e00fca417046319f4123cb7893908094fa591e91d5df1ba6c6daeae35fa491b22484724f0156880675acd08b66499d6afe17da1ccae99af91691a0bbaddf7b879fec1bef46b9890756f352d - -COUNT=15 -L = 2048 -KI = 7b22e1caf9121aee12d7fb55c3e517459ca24b9bac78ba7255c114dad0e6f735 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 479bb2fd1da0117f7d195e1ffa72a9e4ac44c3f3afbf0426d826b7720c39e375357070d6fd7c936959408fca90a24518ef25f4 -KO = a5d2fc8c5330b895d5f8646cfb2ab81cf8f8a37ac81afaf1cec3f33c3fee9f23f18c153333fb95d9e3699710ce8e523fe29187a724740005378e6888987f7741d9e4971eac13db1bd60c132810726892fdf04cf074229ca01086849cd2a07586ad1e1b9d171cf43c1db9b5a0cfed338bd8621b464b96765fdb89919fb43b46dfa376c94b4aacec2fcb877d2657267ae22c3a2b1f1214434aa1aaa42c0a3d158ad4b5d3f9dfc78dcd6a7cdf9254f38eb5f26eda95db7c30bdfa40231eaa58bfdc480a7b8550aac13cf713566c368a5d26d2211ee861ec8e9d841002e2b0a6548429d61ec28c693cf2527193e2f3986558fdf1252a39a0f492f4f8bafc5563d1ec - -COUNT=16 -L = 2048 -KI = 931aec8560a8811546951b83ff3fc81e6ec55c6b791b831fd3c0a8c6ad77e9e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ce91acb9cc5f820b614e83db0057fc373e2dcd40ddb883f917bea3316d7baceda8c9710a61b7152e33bfb49a69aacc3ac3370 -KO = c7eeda60e35a482a66c2acd4cee1940998876a5f56face635ee5de9ed98f15857ab10a757ebbc2557ad9dad4b4418a8953bb01171032736bc9d81fdd1997094ca4899577adbb98a8ced4c7359803291fe416e86056379919feab0d95b11faf40e415f35bb7d3b719716411e2fe1222fac42af7d83006e74e67e5b6d89eb905f2825dac523250aae5e14688f49da52dd4e7db9d3926147368289fb1a59d4223d0b78b6b92455c4b65768e87b70dbc87575d0737b127413822220b71bf84162a9a01567bf776f8db1bd5791961300f7e73be92fb977a345d3dd198441eade0ef586758f6bb0839d8f62eedc9790987f61b8ab6bd488346990698264e19a8941117 - -COUNT=17 -L = 2048 -KI = 1f15a9c5063b01109faed7d16a606f214250ad8d69592b0c4ca1ca8ff66ee4d3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ea97bf914d4abcce239b1d131032d8d16bdfb5e34e49415610ca8efc1aec8d74a88571993757673907a3e49001bfbe84ac70f -KO = 42e73cadb40dc12cece90264671b5eacde832dac204e74dd401f02431c663f0aadeb930527818b55152b06d5f20f2b2848ca020e5c249ba5d09da60f1332fe75ac9a302557a52621e277e54ccdca850810125e1f345f6cf62401a07e91a621f9ba63298decad3eb6a52b3f372587421df731505b0e099b7cf1e7f0b3f4453cc51d16dccc5356456b27701ea8a4a99838b97b3021b75e666d52d5f4b3c1881f6eac2394c626d785685873bc2f2c652a7f629aca41e109c0a87e0277b29956d89bd6ff0a2801a1065ff4484f39314dc82cdefbea96ff9b4b0af677f617a1b06b3d7447d6724ea7d8f5ad2d67ca59c5e4d8e92aa2d8a77a777f4b63fb51b2864ae9 - -COUNT=18 -L = 2048 -KI = 6db43b3ba12d86f6bb63ae60b58b7ca40cacdf2f8b63ebbd66f7a0e264f0b9d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b41a8ecd5a5fa6d6eff830dc68b4d0c834168ba1e02f178240cb04c523c8df9a8ec46a93e248931c2c977e2d6be6272954f752 -KO = 42e753e5893f9537225a99542598f42dd001d99a791c9ed053fa8a0eea10eb88c361b746e97b153ee1d2230cc2b38486ecab575d859ef9fe56730f1e619378f6685a7636cb410e24390ebda945bbe576bdf0265681cd3aba78be68568c42ec40bb47f4467a213883e84940ad7c11a2fd52cf306c5e96ebc80174858d5095141eb7f03881f393f391df958051c64038a7195e92f6f67fd6d2d93e199768434313d1a9ca63b4ba98fa9c41f9d9474160860f3be858c9c71ff388f70201fc36700a263c90f1b37fb476d2b401abc4aebbbe2efb1495de075bc35b6f361386bceafd9543f47869591015708ff2f36afc6f801f73b5240edf26a3214875208ceb9bf9 - -COUNT=19 -L = 2048 -KI = d0f28dcc1189d5be6e1fbc2334b124b41082ddee83542b9accae05bd524becaa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed18c8cc7e021523d190c1919a5b3d6213a0e20eb90da33f14b133e559e00d6952e0b3cd6f80835cf7a812c3f55e8bd4fddee7 -KO = fea89a7b62f23d5dbd549b0355cbbecd5317954a27a2093feb66995dfd1985ebb36f5add9135044ebc259dac3df8a2a266ff6e93e6119b4f89f7efd206f596fcc61924f6bd86537db5032479a9d2b80f021cae725a5ab36ed4e6795fac42f17e6a7778c1ca03ab4090187080908a6a6e0a5d781f243a3b1610447f38b89fc57f3f1457ad33fd111ef96d6ceffbede806e7178a30ef4daffbdaac9f47ba1f4410072f21d116957899d8b22c2fd8c416ab2be55244b25d2218fb9842f9825fd57cade4fcfcd2d61de7dd8a4d6bf106123bdd9e1c28f13ecbf22cc678b3865df3e6fba8ea28abfff49b27bf211c46d78826d2d5066d3ef5b903212dfa8936c4b008 - -COUNT=20 -L = 560 -KI = 140bb254461670c18fd89f4f133e24cc561eb8254ae2b50649c5da468e28b85a -IVlen = 128 -IV = 14a0adaa3cebc30dc4e5375568e0d8a4 -FixedInputDataByteLen = 51 -FixedInputData = a68bdf1093a92373161ea324643df384e8c39730eed4936cc0f942da443fff42b51a00475f47b7925434561c42ebd359ebabf2 -KO = 4119e47545dab964df24c2373a7fc1675d6abd2085f370bbf296aa4898d78ce851acea3640f5e0e74dcd01bf94478a4d114a39cb3255931b74c197bbc56fcd5e73d39da6583f - -COUNT=21 -L = 560 -KI = d82d5ac73f67b6e71f621dc6453666fdf225d285997aa3a52f707ed477662edd -IVlen = 128 -IV = 387e992f01a84516176a6cd1ffd60d42 -FixedInputDataByteLen = 51 -FixedInputData = fb632922570ee3bb45e59ef929dc020ef216507741e87c464300932fba77e5e06cc533c134320fd65d3537db2af99f3b86b076 -KO = 83f143042ce3fc66f9e77fb640e02e042143aeb6d01c48b4c4e64bbe1789b8e9cd22aeb95ac08cdd99b936ee0a7f5225c2c95783517c4b4c65a0245cd6562e00f426c5287de2 - -COUNT=22 -L = 560 -KI = aaaa36f98d315f2dd2885bef20681b21857efad811af5b1b8225d83511928ecd -IVlen = 128 -IV = 4cf9b8216c013e74bc73181d2ad9e36c -FixedInputDataByteLen = 51 -FixedInputData = 28492e0df72804308397236017ff3b9398a48047fe241d557260743ba8f1caf42f27b7b4e1b54c7688ddfaf6fa28a373bd47aa -KO = 55f48fdc4e30f5db2916c33f470deae93ab980b5f1d3eb4c8971e0a6b6c35a53a0165660990f13c97712f71496738bfc86ad7ef597e946f330aa48fcf9ce751d71a1ba200971 - -COUNT=23 -L = 560 -KI = 636f67c7c4b924177246597bad7fad446d932a5374a737eb54308ca0a66f91f9 -IVlen = 128 -IV = 456c072f8e1ed9458299e5d5313da8f9 -FixedInputDataByteLen = 51 -FixedInputData = ad0557f7ffb81e5beefeb5b9bac48066165b461393263fe5f598e6b1940cf2509ce9be860d23a30891eec500871279762b6975 -KO = fc035e801dc1d91e57db530ceadca7247662b9807ce932cd7ec2aa8d988a51b5016e6a416799b9694215317484c0c8e515fd096a19b5925b4cc5b41456a99dc132bf7ed151dc - -COUNT=24 -L = 560 -KI = 43bd60543e1bc523f8e20a43bb66a44e82a6cb504d0bb7f65754b8a106d2689f -IVlen = 128 -IV = 89167ea74cb04ab2ab1eb892ea08bded -FixedInputDataByteLen = 51 -FixedInputData = 5d1d156b8c256f35f8ffc3cbeb0c83fbc54e862cdedf7b2bfecfb48aad3a7752f7f468f7f9d1498450bbb67b09732de0f788ea -KO = 268c00ef04945555386a77de85c70b2b924a62c07fdb9a6cc3e973350f7e0c1091c69a6d736e45cdffa6ee549e97772134def79661378a1d10b3a63eac34bb2f4afaf925bb4b - -COUNT=25 -L = 560 -KI = cbe02b95c68014041fdbc736fbefa53b80a8d604eba457ed84f69c25b4067fcd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d74d946be0ba3d71a0d81141be35f7c939c01a6040379e05eda968ef664ba8cac730da07214e040e39d3565f1f6036153270e -KO = fa89274adb97246b23effcedfa498128a52bc1b2d25139d23286910da9f66e4a3ec9d845c39e5834fa9095f67b000c324f92f453c0692e899e17d5f67f95be1a9b3cf5fd1178 - -COUNT=26 -L = 560 -KI = cd9540c16a1f8d7cf3a9f95118c3698989ef6ec998640f3694c74a0629efec7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0c9d0713905d367eb2bdc7306896fc3037bb79227e5a2ab772789ce47eac968bbfb2ad079900e4bbde35b4a64f6bcdb45603e -KO = 51a5afcb7c0bd8d34945d26fb35c1d63041a3d5615f6a13240d15e2010cec606baee28adcaf055018fdb78e43c396bcf27ed7db6064273fdc3e21165b183506500adb9b99a56 - -COUNT=27 -L = 560 -KI = f1533fbd0fcd002ef8bd3f9bd431dcaf72366b3bba45afabc2abebab75a9a735 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b17ce54dee28d89582c4fc90c43ca326dccc7775b9be99a784c2b42fd5d03f574a39e4144e5f4e916110c277c155ef25002ba -KO = dc1106731b363689813be4650de1977bd59e105cc6f55672555b05c66db0e142eaeeeb4f04f6df648b374fe60daa211695e838dc43ca51b54963ca2d5051a5f92f6020607947 - -COUNT=28 -L = 560 -KI = 064ddeccefb80ada6af6d9d8b481b927630ba82ce1c44748a4eb7ea68e531ef0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0a0646b10daccd16849a55b117cc94cb29b5af1aa212536c8e855499a68fa19b228ab991c78d66341c5ae9d0ef92fc3431d5d3 -KO = 9bc8ebdd7f73929d2e15ca8a68154cc2705cb397130b72f3e760344a1e65aa08dc9ba69a399d85646932e371b87913e3df8a359e163636eb5fb7f362b28d20278dff47a06dd6 - -COUNT=29 -L = 560 -KI = f7e7d26b7e9d1e1a0520a0236f8f982d697559319e286c04a2c6911c2e9ca6d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 183c07a4104040d8268e304aad180f1a0ce561bd7cc01b1dc534720c22eda6509003a5dc4929d684f2093471b7a60ad731ba3d -KO = ffcee6b034ece11fc2ebdf21a030e4921c5a49688249e43dcadfaab717d61a337d1371be8ae32ffdf62f592fac154ea6254376eb564c4b126ae5c8e20cc5e81cdc4206047a4e - -COUNT=30 -L = 2400 -KI = b658152dd00db7b46905dc68ba4af51eed486905a76190851087bb766d7954b1 -IVlen = 128 -IV = 0ba33b75bc409b9301d84facfd657b18 -FixedInputDataByteLen = 51 -FixedInputData = 9cfb37348241404dc40696a33e4d8303b02a0bb4034523c3923d3ded29b27ff4ad3e1b1020b28030d4800dd021ac6ac4a178b4 -KO = a0a0adc7543393f170edc76a62ea5c8c29ad3b53aa08997ea9f44c7819f808ca060bec09c448a7ab8301f6c792fd3de07b28697dcd2d2cceef6d35f1286402da87ce371ec1273d369b5a76025ff5c5cca73c4ced9339bb3fdc4628447c28fb5d036fa506ac9406029794c68516544c33dd7a391c7df6833c7e12023775da6f38f7058a81b0c3b2c7a65e3b9016ef366a0163b51ac5bffc338539e9110cb1498d0403d620f488a123d5e112419d88db18886f5bd0da33be03636c0c4baf931ec6755b6f4ad5609ca5a0f13f306e617638a70cbc4f1f4b7316df93a33e120774524faeca7bcf3b2aa9aee7ee1d788bb567a58fb097557e5bba27f289076673c42606907d96f6c9d46c68e66aca99a19be0bc8eb9f8ab2398d42b76b7915068cc4d4914935b453c2b685f915907 - -COUNT=31 -L = 2400 -KI = f777c90beb92313f69264ba2c9412cf42aac7775d354cf2d1ea24099039b87c6 -IVlen = 128 -IV = b085ff4364e2d70c97bf63ca1dd4f1e6 -FixedInputDataByteLen = 51 -FixedInputData = 74c47e71b1bf6b03a8cee515a28bb62f7625430124dfe4dba07022916e3677bb2a17ea227d5fb9647654506ac861cc5d743a5e -KO = fe2767af68cfd6e415067115f3af66e557614a6f7817b89927422b4040a54b12244599eed458c716b5c2bc382e395d5b213d84766dce546e5271168ef3b483ba08ad57a43e05eec3a860ff305f085a225a10d13eee1a1e99793d89762769243878d97142febfc178546adbb1ccc35b60bcd65aea78856fadd644964a1d3973bd70d9b3bfb14f6d1ea385080c3b14e8d0812e7c5ba085065cf4d1612f09d65246876a58ef88386608ae71d85ff75141c0e62d8a3dd4bde614cdb71a1f0a44def50cb4c5f7420c6c9d3716958cde3b724db8c329d314e8227adf782e2227ced48ce7c9b014e7c23f1bf7134e9ba4c1051461c1cec8eadb725ac7137775804fc96f5304fe0e6e573890965ad32c312b55063b72fecf9741ec41423cc1d85703cfcd26545b91fdf2624e495f2ba0 - -COUNT=32 -L = 2400 -KI = 0c7a8eeb8607c4153e58783e3dee32faf7f372569d1bd238e74e0630fc2c9127 -IVlen = 128 -IV = a96e7022d38d837e4b1f5a66aec54b34 -FixedInputDataByteLen = 51 -FixedInputData = 81a1e5f308e82466d87e2fc5e2c56eb9e38b77df9230b7cd2f4eecb6ef93c742e4d8eeaa5e3f6f024206ff96f443a432635bd4 -KO = 9a46df1b64bda07659b87bfe485376cf92f0b158af4c5fa6040edfad7baff8ab29a2c16771a8f0648e7af7c65a3428ca02224f6949a7a6ce26fb763d42f03e06d4c3a51655401f0ee9e22f8388341d0e6b09ad53a07c22159ddcad5149340cac876bd9dd2abb19bcd7e17a66cd629d81aa988549cdf94a93cf41e37873412e4d366bb09559ce8d48d4adca1e1c2f3228f9a66f91a5dc6a4300a3050fa977e205ff861e75c99a89f1d6fa8fbc4525cfbe792174018e70d61455b0d72df027d84be0fd7ad3b519baa4788bde09df727b40d026f16148357dddf3735abdbcd4797727f8380e4cfc04c8aa2533bb789db03e90f79b95cd58be6412c17b4ef6d85b1b25efaaba7f1a4d36a4ca62a502e079d54c9b007795c495dad55660590350066d85a8a14c5e0ccac37473635b - -COUNT=33 -L = 2400 -KI = c325db4998978aa3161da62cddedf1641478aee8d2512aae8fd057cf493c5b11 -IVlen = 128 -IV = ead15909f7092f34a7cda49df080721f -FixedInputDataByteLen = 51 -FixedInputData = 4aa697c0f8cc63a7cd7cff5072a5a7e41284f81dc56fb52936b939ca70b09fa72a7b69b4d0dfb79fd92f71c4fb97bc0945e39d -KO = 74b8db84b76915d500e52bd14c6fc52d3601af22c50bb4f3cf79006e6051cf26bb072559d451f579f0b3a3a2e7e1551e622d6fa96b17d3e2c6c72b57c358ded22fefdec704df0ab86143daadf5d16f72786273c76f65f574846a8684594c6c28f090b4185ae8cb0b5f36f9403bc3788dec044ce4a11a2a1dfba5d6ef76ddc79d395cc23a48024622f60a11d4e985d1bb5159e5f64ac20f4fad0ee086600241a5961ee77538322bf0dc0004f182510d6734505864c706ab2d8eefba8f46958e2c854ed5f718c1c718bc3f7fc24672cd774175f1946deb67ca0521ad1fac03c7691d63c6aab363623a3b04ec61c600a51454c9250ba630d2029b96e79a41788a592cbd0413c152c0ecd71100096412056fdf2438163c38a1a3157eb0ae16267af8cb1401baf8b8251781528225 - -COUNT=34 -L = 2400 -KI = 4628c4afdad5bb39439d261398a2d907f8d80953ed2ac611af018ce0b2b59eb4 -IVlen = 128 -IV = ac81cd16fc3cba6ba140d73e18974e96 -FixedInputDataByteLen = 51 -FixedInputData = a2d0dad9206f4478672dd570c629d007fce3374a28e8453002622fe800c14deed13b2c9d5f5ac51cc9c18e32422daa0bb11501 -KO = 6e77339db3c2f39ed23e820b75b6492303091a5dbc86db4ec8a079da87e2866dde5250bd163fb079c1881efc311bd6ab006bb261a2fc34b711e20e010df1b133663e69688e00e4705b704236630e17a39363e3b8b88d45ac496936369b8e7cf4d91b72ea58ebcadad7f6b8043229fe650785c3b524e85611b0eb2e34aa89ccf77635d035e25a6b67eb032b5d1e9ebd493e1826074456de177d6dbc78dbb7a311628be183bd96f434baa5af6d03ddd50aa5ac09e46520426885e63f54d170a4ad2fc9351384d1a16a875ad31d3cd4e209b83f1a196e2b56f6256b6c57d5c7307f2dec4a94c52e338a5f778749e3882aa56e33c3fe3bb9ce8b860f1b3e435987a52a17feedd26f130842c4a84c667dcbda5d7559f5499ff16ec025073a63341b45e9ebf18be92effae79a9aaf5 - -COUNT=35 -L = 2400 -KI = 1d598213b8054add2529e5ede1c52e590ebe4c2eab70fd296c2bd24a54913ae7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a7d57ba89f8c437d43568bd52985a1c91dfc82f344f21e22e671fdf1d2a8826c669bfcda814506246e0370a9994abd034b8b7e -KO = 174fac04632f1ab142ac35e1d36370040e058bc3111458641fbbc3e8e443937c5304bf85a3ac4538eba3c862f9228393eaa3cbf7231a75d3fc200cff7df114e7a2d33f0d559c2023172a1e10664cbb4968c9f871f37be0c260e158092a59f2ff54e8d7833619015a0e8351dbd1f7e3f9fa303b017ecbbc9fb7aae53a2027d331431532b9170bc14f793af7901ffe03f461b6b1dc4c6e8b8194e9d80f538f3177564185841edd7664422a60ce3e27a8462fd3008b70c1482ef56a88003fd5aa1874dbfa8e1dddfc55f3f2b5b4dee3013e66663951c13e636db226b77b651e68d77e94185ae06e1f4339370de49fc1e25582e9fa27acfc2cbe35d25f77ab04a0afae43af092953b7906bd491319458e0dd9c7824ebe4fff57261afaa16575c7c6b6e267034a9ae9ebd9e1fb5e6 - -COUNT=36 -L = 2400 -KI = d293bd3df239f3341a5cf4774ff7755f098f38e55df02b45c7a33f9bad4822ce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d987f537d209720e73021e9f13c11377c0c2c1df4770e7fff805e7d4b84d8f4407b6ce1b039ee6f4014b05b1ea551d69d7bfcd -KO = 949c4b0d55a192eece754017a839212707b62e863893829a25bd8f935d97cb15b405f3475373d28a8a50d1b764572b7d5bb00290ebb512725b525f48777d0b9551a64f0b1372f08f9d943ba2ca0075a1c3702175f9cfc7c0937e96b2d73445c40ef04a079b7d073e1ecaf3b3db38826213a7e8491aec33a5515ccaab4ae1d5fc3d71bbd886c247bc53a5421f20a3771d68002c05ce7d56c6ec29d292081d3a57d6d304437062fca924520bbb25ac908f23f135f6208768f1d155343bd8dda6a14ccc9e4ab99a90af208ded860e61e9d9228174d6c2500c02d0cecfd07bb026117ebc83a4fcec2d0aa38ddc1a4e6af47b776e14fbedde743228c071bc652ee50232018d39bb822e701b210f621400b94ae8af337f2401bd3fb6f270bd6586f1f7fa1208260a31ae8e109c437f - -COUNT=37 -L = 2400 -KI = 412d4d40394594aaaaee621c93ac44a17bea6494334537015c7f90166f085186 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd20e205abb126e269a63a4d53cfc48a537e330968a2078b42d0ce4bc78d0054db2034804f8ad686090bc2c79677196118db1e -KO = f711a4379ab0cd9da2f9899b54bb7a96564a41ad1483d23a667843af588620ae1cd92fd12c71f93e8389492eeb4f9d18719b02a3c0a97b12ede984094aedf57a7e267da0110b47cb6d52c69681b31da34fcecdf492b5ae50da0a53f2b014cc70c6e81ac4ebdee66918d57cbd93d67960d2c3b690d6746203a1950edf56f20cfc1207a0f8223a209e14c00b4bb2d660dc496cc4d6d64ebceeca75af3d8d6590c09ff54a1c5f09ca1099aafc3a17b6d809f40349e18819755b5c2459c79ac3776aeb598bfdd03c2e836f50e14ee41f745e98893129f7c45f48bfb2e9db6730049a69022f33372e1b9820a0537b97103f4354fcf9bf307eb4eda15cd07cda650880410c9866478a0601be318c99277ba657f4fe130578636000f4612cc5d0445e9cdbcfb92a62f61b4941654d33 - -COUNT=38 -L = 2400 -KI = dcec62ec1a2df4acbfd1b53a26592e6d6ef1c3fcbe7a476f94e72f27f10cedf7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c1760bead4dbac2a9e843f27e5a07f242dfaa647f90eeadb892dbad7d80b9b78da19c4730b6294e15a9c329de6c81e51a67a0e -KO = 7bc63a7a0b5d2d63799e26a499fd9e466da55768ba34fec27aa02ec54c643744f72820e1975225efc213811c262bf22ce74cb1d8bc2a066834613bbf351c172b0047db7205007402120a4e48d8af0ddaaea0e8e279581a665cccb65fa598d69baec7b71589e980dfbe0f11507c7c2606fe186cfdb9e5e35391c7888709a388af22ddf0f7493b7bd2561d49c87d4bdd643c7af1b94933a2acf677834b34dedc9fdeb17e0854768df3127635f8d2795eb919dbf7fa10d7a0dd209ab71c8c458e196cf3ae01d6c762c7133f2485ca7439b6532df429184e0318d155896b2e6edf106463c94ad561b5e30de3ffb72504ff071f384aeb42ecde76ba252ab4196667455d6f7ca0a54c832cd0bcf2f4300a0b47da5caa8ccebe731cd63d5d8e8d93e5733a83bd51a706293ffc1c76b7 - -COUNT=39 -L = 2400 -KI = 3ed5644ec52ba8c22dc14cf2da1137e0478b7a4f0053c559a429e23ba9560208 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f36fa4d1227ec18fae9d135d29007913b68ace908435e46c93e244be461b8210e2fd422dcab9088987547b0255da2de637aa2 -KO = fbd3b1a8e4292eb33b3c528a7b841d455a1ff9f5e95714bfe817c23162f2c52f9d2dd6d722c73ed1aef13d32f86849c6ee05daea69ce520bcda12b4fc8fb0f96c11d774aad97748435b6341fbfde5cda28868077bda90fe22ad8866c5180466659c84e979e43a8df1bb21b632eb53cc68b078dc85c36409a8a341e23a1e307cb7eb69c0e8155309f7d9101bb3dd4a9c5a696bd6b208552b7cfdc146f4d57b41d86b76b7fc3f30f96135067137790559f119158d377f5c59ba2088da366f599da162b486dc8baf07f013273238472ed48d3807d4237975e0b9251ba325fd20ffab078aff42331ed0955060b52930fec26a8fd6f1883868a3aeca8c98003140509b301af2f00ada5050b45c9c0319e8609c752be677891690314564d1a884cb5844e5e4c38900336f4d2e54821 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = b818901271a7f9e3fba8a165f1d583212d960f503c14497429366dce59fa9dde -IVlen = 128 -IV = 69a09ab936ef31f870d70b61225b8b84 -FixedInputDataByteLen = 51 -FixedInputData = 5fc3fb29d95e2be84989a872455c9e12fbc7a895250e661228ce752fc21b05416242bf0f7ec8f39977d3ad9ca130b63aa72c64 -KO = 455f0c5bff776f56c8d62f95e631161905b3d099695fed2278bc80863d62a6f32e16792d902041cc810937ae48a984ee99be1e0c0541ab07f6c94ef421011624 - -COUNT=1 -L = 512 -KI = 5f9c4ee506e582767ef9fde06319d7b91b7873db996a60009014a5fedce80741 -IVlen = 128 -IV = 9496ff1ce930fe21de9ee70186a24900 -FixedInputDataByteLen = 51 -FixedInputData = b1ce6c3778b686fcc7f9f6154d45310d592f00704edc8846d3d5d0f55b036b10d1ec329247112df19f10627899a56f634a5bcd -KO = 1fa19bafe2daf3c18bca820872c272dcdf49e5b263e679a8d26138b61880ae2920b83ff316e2289788c16b3769a9a80448aed441401167ce0fd2032a9671f5d9 - -COUNT=2 -L = 512 -KI = 374d141f8f928e42624d3bff7f0df1d54d95bd5cb1619c8ac9f7202d97a8cece -IVlen = 128 -IV = 7c5bed6daec6b109bbd3aa1b3293d31d -FixedInputDataByteLen = 51 -FixedInputData = d031dcd2efc123096843885e4a0345557313ccfea12051a3fe422dc6a7a434cfb826c3ef634f68fc1a490b006a563eb2c5beef -KO = 840d8faa9cd9f791e73cd3c7df5cc5835ed4ed47b36526b08f59453f193b7f744d3110b124cc9f66825443130ca9f59466c14c6b6df4d2eba67e360227d73a55 - -COUNT=3 -L = 512 -KI = 0ba9b58b069185d4b7ee661495cb2ff417a6351f5f781e55276bd7b540cf4df0 -IVlen = 128 -IV = 089aa014d01562b7f2526545ebb6b128 -FixedInputDataByteLen = 51 -FixedInputData = 457a52d6746a4093de190989916db4b4035aaf60e6bda01d9130aa469ffc51b28a037a61d9c96cfcd81133e47138eb2982751c -KO = b41470f721ecb10a92d81bb39885f21314fa651be5e5ca67a5d47b3e63e400833aabf46f3b79f94f337ce9a488812efeb429fde7085a1c729e6c70eb6f0f4eeb - -COUNT=4 -L = 512 -KI = b54cec1d33b12de1e18665505634cfccef74a672807dec8214b9e2ad5f49fc2e -IVlen = 128 -IV = 23d3b11f3e5f44925b13533f8cc48e44 -FixedInputDataByteLen = 51 -FixedInputData = 38204e765a7df3b518d93ecef10778954b97bfc9aa494b1abd326d17ba81344720d4cabb472d220c1897d74cb2ed0ac1e2691d -KO = 3d0df16e8f84ee02ebb89d24ce8372d8e3a28cf4fb19dce35bcd8b5aeb2abd51c0f4f8395c9594f129f8a1e32cf1018e9251d6057a40f4c4a66bd3f3c60091c0 - -COUNT=5 -L = 512 -KI = 2fc4e55eb9bd9530465483727b66da61714a1d56303f2b2648f1ed6cd9bd0d17 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 460d5a985a426712d8f9571a654b0b023d5b7ba87bad62daca9278991e70630feca9d30995d513a745baf9cfe84d0efa847762 -KO = a86e2df6f714e69487286431c96966585d10b1a12ffad46adaa487496f07d749343d6187bcbce8f9cfb9855b43470330ee059ac0605e6beba3db449ac767c511 - -COUNT=6 -L = 512 -KI = 89146012d61192082e9300649878d26e029317494625208d64ae6b28454df5ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc0306981223f96648f95ba004c725fdebc9f264a86cc693dcb2f2bb95a8d3b1b7661184746b3bceb6e8d26652face58da6de5 -KO = fe9d06efc37e13329ec10d09772c63fa919c4c5af458de745b4b3d29602bca6cc19f3049d32966ed4c69fb8de3a5079960a615b5b056eca96f04579893be9bc1 - -COUNT=7 -L = 512 -KI = 2e7c7f9843bd4fd4806beffb0bc5fd4df77c078a9c1ccaadf44309651ece86ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a95b0748ae464c06661a162c60022bb6c759a4e7b970b802b0d9dcb34eada8375068adaac46b1944212b6c9aa33d4b3fab3625 -KO = fdeeb891c3541a0d3d4ab5eb7eba9970a32c1bd59e2792c95edeba5d5cd70eca7971efd96c54c69058d3be88f2563baf7088bcf290c6673f1d28b3dc41fa34c9 - -COUNT=8 -L = 512 -KI = 21185a4a0ee3e8295e9bb43fa788ed83f492fd4bb21a9eb2f124927aacb89620 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 664392f8f40b17db5a85c924b1615b381be1f5aa2a5cee9af463993554a266fc9a33787d66365b20df83182145b07163fcd35b -KO = 4797f9158270cf0c34a38998b37c5f7501f0b82f5514c1943344093b0c36396eeddb80bb40069f707c79cfb5a5e0846d9556f9cdbecb1e3ae6a5b9454589d3bc - -COUNT=9 -L = 512 -KI = ac4f8359daa24530f97b9e1ac785ca1817d32c0fa08250acbb562d2455d49501 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 66f77a9dc8eeaa6af3569435e1499c8112ef215d2d019bf2fa43b9f95216c43106f4be2eaae2104c02acd78b5a41dbf2e6f87d -KO = 0d526b1855e2b0fb2a1ba1e883d65ee422a26ca2e0dd31f4236ab416be825227318617bcbc7ff7dff86769c02584dbe375097a4f1afb5b384c2bd8c4ca69cd23 - -COUNT=10 -L = 2048 -KI = 5ab0b27f82e28e6d2615e41e2c46aaa4c85bb83185dc986997647e7797d2aecc -IVlen = 128 -IV = 29420f8cff2f24d6d0e34ca8721332b5 -FixedInputDataByteLen = 51 -FixedInputData = f50f9c592e403353833b192d4d7d9add879c322919cf62c8178739a6f2eff5b602762630837e94b9da4abfa416f23a0d7f12ff -KO = 3aa77a8fbc5ed915b63981f26230a061e6664941d6a31bbcbbac87bcea69b7b3a38c56af42cf45bc13a73c5900b49d99216424b14d321c1ae8e9f2d391fb8ced2ebeb6e9fbfb2af48a55274791461a261794ae92b2f401a5afb4590e92d8f08570121efc1fdef03e2493224839cf052f05c27c90ea588a35f17213208a4901b578b17872aa22c78a8f133b287a82dde1fd4aa9d33b67ac5ef80dc9a25f8b02a58fd4ac192233a17da2da3597422b18d5568ad4dc5f7f142c4355c5e3517e9084d59345f873f6133167d61bb7a50e9e72a54086a748c2727ce737df237c94cce0e868735c1fcc0a2913267856d5a37cd1a321ce906d1311530de4fe5c6133d8b0 - -COUNT=11 -L = 2048 -KI = 05bed8d6460d433398e9f1ac2b75aac84aa8c49ebafdbe370a3b7ee875038541 -IVlen = 128 -IV = 4d1986b0943c74d3530e7ddecf120da7 -FixedInputDataByteLen = 51 -FixedInputData = 4180e5e337e3acf6a7a87ccacdee75cf6d98e64b46578c633118b217f88b58e1ac760ca3eed1473b7b69b076b79450063780ec -KO = eab52260ef7b5618a2b6b5805b5ed05a02039b08dff2b994e39388c6d94e3fbaa6cb0577f83640618e1b0879b63dadd749b92d95c3a6be68d52a5cff7d03cf9a18c0181c6d12e91f61741937040c30e2a4b3ca50cdc681de2bdd4f2e9f45104662161b9499d174281d7804280f1048f0cb25ceb19348a812f64fb931a7177f9d3adca816ad73e57299d731442cc8a52ebf2b2293692a85f936b45b547d4e66a15e456ce8e7c13a9ca13dde5c337fbb18a1df317cbbf371411cec4b8bd5cb2fff85736139c8142f5dfbce4ecd6fb68de115c62e2adc89f40928ca6d1ce63f5abb7ab0cdc3b34ff7ad41d58253a596691167db12c309bbb6502ddb61c2b80b5c4c - -COUNT=12 -L = 2048 -KI = 3287ee415c12814a1b6cb396a334f0af572cce297f9c63564feb979e250fc439 -IVlen = 128 -IV = 02b24f6fab23d13f8e68c87a858bff3d -FixedInputDataByteLen = 51 -FixedInputData = 5cbaf5da444b094629e8eac144c1893c72e1a27c0967eaa76a6c9e39712f9b6109e6d877b9f932b6e4907898386bec1c4557b3 -KO = b05bb16dceaad5faa82e62bf1a69de6059bda00c590302daa68a41d436a1c4ec8ca59179f7c3cccb079a9244c52e45f15d5a82212c5b45857c46dc5bbc79332ecbf9585316ed793998e006dd37c6cebbc53cc198d326c0765ae177984575dd49b1b14c035dab798466f055b9894aa9009843fd22d65eec6abb6b425afd816d74e627cf63d9bd33de56179118824ccd5793bf717d76814f1d54b5cca9972f98c56fc46617555360b018c682c181b660000f60979da1e0e436732e51d82438af1c7accebc3c73c7385368ff96c84e7c7f5678a8137dc08c6698d70bc13716aac1e1790a97b4c4aea670ba283f392b0d6c6da0003800db2feff5abaccc0df50970e - -COUNT=13 -L = 2048 -KI = 4d5ce08cb1511852369bf9a247ac7bc8567ade9f48f8641e197554280c1a451f -IVlen = 128 -IV = 840aab5863a9a20185fe54ddce220e40 -FixedInputDataByteLen = 51 -FixedInputData = 87437eeb5866a1c9c2f6739b2b3c1de6afc224ccf38a87036247de3ba26144c1f881507fabd41a14939768cbdec0fbdf631b5b -KO = 7647fbfda2ea0a3f106cb5084f605b8ad1d9c7845800d97fc19aaf9b75b3f311e0fc3096bc810cd016feda532d9b4d01e3ba73fc7a1633eb01831874b30ad5d7c62eec01bd3a752306be50a4c812f302655f507cffffc96d96cdf5159772ca841547a389b0d7a18de7be092a1d1662bb00f951478013646501bf3000e2775a246d100851b037dfad9ef2c71d9946c55556345f38f38ed10787dd045dde72bcfd7edae09abdde78d18cf6533d46588efe6ec9d34a8d7a901a0b9cdcde125d83c28fa7b2250cc4682d9f614bbf913d35678528803f0c225f92db40435ccbd2c658e18bb5851fdfc3c60b46c6e15a6a2d1086a86a5bab747017956d786002e527a1 - -COUNT=14 -L = 2048 -KI = 60917b9d7a546c1a84fb19fdadc06d9a750db91f067ce55f1790d5878bcb5bbc -IVlen = 128 -IV = af7655916a44713aa1f0047a1d7530c6 -FixedInputDataByteLen = 51 -FixedInputData = 4b66272bf7c6020a0df2436313580e3cbadc579aecaa668b5baa806855b3e0a30941b8233f858f4cf6dd341ed83f0a2479c0ab -KO = 075b27d53363630163b75aef4590fd78ab3a58e1cec8e4e7b992e95ccadd3c0f36dac5be3928c5a62c444bc37099c5d935d7a88b5fae879ad42be372ac90a5f81843fe7f90ff866ccfae5622331d3318ba4cf35aa0ea0b10e48dbe6ead312e3c3a7a521be93577d944216b2fd80db05080c8804008e85e46d8b5bffd4d76bbfeb3d3288d9b88c099411d46e78b44ba221422110d52b0c73426ab23f0b889fb2ee981cf7f8cf377aa9c05fb1fc76faaa5ae44284a6738fcbaf8f874d5953c9a1ae30c2b5ccf20d58b140ceab2f79320cdf49a9981ebd43018cf8b22f72575dd841c730db8aa0776d7cb4ae6c37d0f67bfae7d8887c5512c18763a3c445a5661a6 - -COUNT=15 -L = 2048 -KI = 8bdf4bec8725771a9102d88e6da40f177ef3ca8b91c1a81c8339b39180e16091 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1860fde741fb91a2d20f0d49ddbb6318421228cd2a87ea5e35916687c241ded3f5bad229c387e4b382a87f96f04d2002cc34e9 -KO = eb47f26302f154524132f1795cf4edec263104f1095109852d07cd62712f967f08cb896653c95e140f399d3ff103f356db4b0b0b0b95da2b24e80ededa26adab9310bc96fa67e941a8040c434b8b0ae99fbdbba12b6fcefac3856451c2fbff7029140dcee8a550613839e230bbf49c8d1b9b3592dd7a61bb4255431b3afa7e7f3f9291fabcd95668c43fb877689f15b2c7d73b2c1f97b7db1cd416e9d5be9ac4523b3ae7a8e2c9b2cb7b2cd170960341fe010072d63d263b4a80255ec59c0961e36974b094010a42a5c307a5593af662db54465e1a1f652b1ed7db90aebb2d90c7847cff14a95812114d05b99fab17aa71fcb95937ae204de4a075635e0d7fb9 - -COUNT=16 -L = 2048 -KI = e10aa73d610c18b6987eb324dfed8734af470b8067ad1967897287a639066b54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bcca155411f2a03c6dbd578e8fa8ab2f67dbcae32b1f72e1de87bd91bbca0656d280bd268b1a62cda259de618c69dcb7ab879f -KO = 42a6dddcfeb413364ab4930d18e4345d21c7095125d04eb71aee80e43d00f2d5763456c962f81bfc484148a112fd57876bdcda4e77367a92a8376e1e9fa217bbd49ebae767ba31c91222e83d4e69cbf6cbefe2b1342f5c40052878825e7fa20a5b70546d9074d5ec383cb6052d3e93d942aa53b754beae1e5a0cc4f0b955f6140a4e7948e6dc5c1207996188c0f7b981a5b7315d5b4a77a004dca9790ed07883dcbd41350fad29f17614a437833448758e13b7347851e05be0555c7f73d419a8f6ddefbae408e4de0cdc5df9d69d25296935a9a2dd5beb22aafccf90e384ff9705a8444a54470509e015ad3ce78dd444f1ddc2bf4141965d5245b4b60b85ae93 - -COUNT=17 -L = 2048 -KI = 3e145795d38fe114d973d81488623881cad48a6055f25161d72aaab26278bb86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00499d65818f2d50b815771b727c5a97a3c53f60d66fce3f839b40734b714be8f73e7e0a928f99dd22ea6fdeaa1a38bff3bf20 -KO = 0b9053141a6f723d47aae83a949a6195fcaf632769e134ce219914c1f3f62987edcbccbb9b19ee7012951bb8ee1d3e113e8a55e30f8ef5b5732b73913360457a345e046bb6c72fa0263865095d63bdd75d0c634036d8aaec3b0e27baebb985e4d848a41e2320f87a061a1fac8daf2def889e476d1a1d2002b8d2a124b22f4f2e7ca9bf28e2fe0e5c1ce2258d8528bb0cb028abd559eb1bd268d3c45d6dbc0304b215b8d37864580a580f6284e769bc69ed588d720d0afd3569109d2d71f199e0f8fa5d50a174209336995a7d609b4a1a74cde544523b1ef0f167c7e4107183e295763ef91ea02c3c517e8af966178ed9b4f6157481e1a2faaed5b1e4a001ba92 - -COUNT=18 -L = 2048 -KI = dac2e985257b9c35809a7f218789c9d60912bda8407edde58059968c5d97f472 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7bbc251d9be244efaf216f0d331f42ba36fa8ee3df59f890c701be28234537823b9a43bcb45bea472e9c448e6050ff86b1b20 -KO = 9ab42447569d2bc4fc36cfd73c51b9821fca438a4cbe3d728c2103b72f4c68b7cd127b2b60f80000844c74a958ef125b54f1e14daf3d2ce982ab3fb3eec9c251e8355cc2d255c66483e22e7138575fbb0a25dde9848b28cc81901555375c361c74a2330473304a247df093732bd9d3c0b49df361d3d705c342456bb4e596f165cf7b017d6d2b67f49418bc03a350de6f0937872261db69358aade16f1104992c293e24eabf4f484a1b3895db66541968ea20793ebdab557bb56ed3013a299e8ccd152f528f0d289bc00da21152802070efe0c6e20eba1b092fcdf1303e713fc05380ed906f48801d63e353f1321e7e47dff15c364b4f515e4095622a3b8fb12f - -COUNT=19 -L = 2048 -KI = a76878ddcfca108ebd741a54312147bdb506cd986ae0d3396884711e25038da4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8ebf9ca0cfd00cabc8858dae19edb047b8eab965a983f168bd92320007e9b0384796d8a620ef01d9b7fd226cd29d671b4bb869 -KO = 20e1301a7b74e165d15ad0d92aa06cef12fa1cc9b931a06deae2b5755d72d45b236e736ff3d8fc0b0738ed46339a72bae5c3541e98f55997dbd5f51678bc1866b164fbf23e60cca0534512896a3231623b0430dec459d0fd3b5770d7329c4ecd394606d8c1233a2f4dae2672b3bc3e749ffe619bdd65f712a85d2d088f40d7d208d142163af4968e58cb5b482d1ad5be314542740e9b82d84e9fb9602f97b0ba493e00bf5354f79466ff6ce83334bb0d6605c4069f32286745c7d8d9f06297542290a74bda32508ef6d43112a03bdaee1d214deb5345ae92d7f2a8e8afbc75d8d670c99e5bcc4d3dfe48d8e658c836d9f6889b95b3c799e84e85834d198df30c - -COUNT=20 -L = 560 -KI = b455795126ad114ae0b69a4ab4c4f1861dcdf740253b40122b6f1ea73145cb0c -IVlen = 128 -IV = 0640a794705486b0c7b6302caee89fd3 -FixedInputDataByteLen = 51 -FixedInputData = c9732f04810d6432a33da088a75e7e426b5f23a15e3bf8678e56f56de71f6bcf83e272cca76a02d4fd8443b93d1df45a53a252 -KO = 0e9b7a4ce78a1335a95024d211051238fd4a21a967b364c8b8cf053b4545c65436539605a7fa408fd4a1f16e5e6b3e0a85157baf37ac6ba7b19bbdacedc79607a25bef3f69eb - -COUNT=21 -L = 560 -KI = edcd8bf4c49cf14bb8e112e33ca16db1119952b3ebd67181f07aca81a276152f -IVlen = 128 -IV = c79583a68b6e82fc568e2e55594b39a3 -FixedInputDataByteLen = 51 -FixedInputData = b301beeca660bfe42d9724bfc897cfa599eb5574ff781542b390b0d043a101bc63c126666ec6e7c4b8efd740d291c693ca5ea5 -KO = e4498c7a5b69dd9e0551d1378f890bb21fc8dda60e636c9093293caafa37106229d2485d6ee7889ce241fc1a9cc7b10c309a2e2a0d45f4b38e386593246e658f3c8e4e01b487 - -COUNT=22 -L = 560 -KI = 9c0cda6c6596f67dfdbadf5949bb0083745653e77b1a627a9af708ba05af0e4c -IVlen = 128 -IV = 5fdb75dbdfd84af8ad8f5a839a3c3f60 -FixedInputDataByteLen = 51 -FixedInputData = e6d23827d6bdffebc0465a269abe9ed8d89a66c367c784b91896ad306232030424b210c6cd5def9b8082068724f2bd4fcea1e3 -KO = d44edde18ff62181a026bdff1d9885354a92b9528aa136e04db4e4898b309d136dd3e87c42ab27aa49cd2b2912bd1b3f8bcb42d35dd4fe6c6ec4724f880b39ed1a2479eace29 - -COUNT=23 -L = 560 -KI = 1dac840b07040ebfddc39dafe2291069869de8d061f1b74936ef09daf1942541 -IVlen = 128 -IV = a9da54e788a9d3382815c5fa2c96b358 -FixedInputDataByteLen = 51 -FixedInputData = ec03d12e41fbd817e4035280b85c680c79d4b9b82a5b54ec58011e8a795c3800a976e8def04607e78e2d80173a8fbd01d5d067 -KO = 37df9c7742395ae2eb4ee68fceb87f3159b7f1d1257971988d3e525153c2ab4442980be3ea82f336d44316893a4fb1e12f30cb5a6a1b871e7182257a050c8f1073b675a6d55a - -COUNT=24 -L = 560 -KI = d7ab178bdef069bd9c2d20c2e04078ce64aa0e4ecc41bdb432fdd361e0d1a73e -IVlen = 128 -IV = e76ed17eed1003a3e6acfa4f5afcf0a2 -FixedInputDataByteLen = 51 -FixedInputData = afead8d901b36a2b366ba53fd389d7b790c16ebb62b1bebe5cfb347cf03ed58e9393352d918c11171418aaadc9c5c9ac883bbc -KO = 8c3a0180b0a7939273522af61f96129520fee758eb173498ad27e2f35cad782576b214f9605f489ffbb41c13ba5275debcf8f55fec49e97e950171ec1c012800851ed04ceaea - -COUNT=25 -L = 560 -KI = 776b943ba2bbb117128e1d4ed11d4dcbdee29fa4e2790cfdb0e7dfe17e4db31d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 514ee5ebc5d697fd053610f4767dd4324583967539999bbb2df346bb648be39cdf080d0f4415ceb21567fcc1a1638e7f167c48 -KO = af81c3342e92dafb860f9eb48d45e8556ec30898a8134338a3138d0a395846db6f866936a9da13156bea5b71e1d174651f79d4f535b435d7c69aaf662b2a01fe09bd42256c07 - -COUNT=26 -L = 560 -KI = 1b6058ccb3f4c69a0f35aac9db76e422fa3ea3531fec7a991e5c4fc06c12a696 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5470a5bd00f9b46df86010218a6fafefa124788fa2abba30b9537ca7c832e4b508e8cf8c3afb0fce62a171e4ed29f648aa7bd5 -KO = f7939cb0fac58744225859d12f190fd8e35455737d9d32e008676e7b0df7f5f3707195b8dc3bfc169b5d01799f910d212b4a212beb317bbeec8cb797bf2ccb6e8ca5989849f1 - -COUNT=27 -L = 560 -KI = b1e9a89b94372e066ad46b9c60155c57a8dbd4110b2cc2bd86815e818d1d391b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d87e2dc574d7f5880dd707ece389b5773198e0813ce6c325ce636cfe3ff106cdab5f5a2ff49407f9ea4bd25a2582db41dc1b51 -KO = a1951d0954fd1242cd0c721139407100033e1e3e90fef6ffde9aa79da185c3de1b2086f3e119801f4b46da8dc9c72a6cd69ec536b31cad6ee1f73f9c46f547a493b7ca040dc4 - -COUNT=28 -L = 560 -KI = 507ba796a1afa8d4327eaa78c12205132e7e1f6bb8def121ad92efaf87164258 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6663511eb731ccca4587ed9815e410d8994177c2e95ea66e9e28393e9478ec8b2971725ae0a361f22539d9a8da7f9464a7036a -KO = f68ecd86df329dc75a7f22d873ec92d08ce03ac304651127530316427200945b3bf9dd78e2f5eab307f1d2da598d6cf5ff3741ded0a03d44e295a8bc76f5e6c1ce323499673f - -COUNT=29 -L = 560 -KI = 369538a48ae15f51519c46662b071fdb41e0ca60281ffcabf7ebded0a82e2ba1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57e67746e1d209cfc9d48c3f614e731da45795abb040cb622673bfaf895d90142709e6b160fb83018ce30c2faf4097be18cc70 -KO = d029500fa813331bdaf1b64ef3cba7a754b00f43221fc592881a773e8f94031e04a31831e3273ea6fc865cc5666dc75609831e80a406368ffab870fdcde8e52a6de188e7cabc - -COUNT=30 -L = 2400 -KI = d8bd6049090198574c96f10cebbce51ffce1fc52632a4eea7f1bfdd61ac4a0e0 -IVlen = 128 -IV = 25730b457e33cbf8d1417611f21db4cc -FixedInputDataByteLen = 51 -FixedInputData = 0b25ddce037b728d22830919c7a997903009d3ea08a48a2e36b945b959ba927c79467e1ea2e17093eae0897048f017c1abad10 -KO = 4216d54fecd0772159f59a5ab30dd41dbf2164fd1ee8cd2941d2d2e9c91cd7f4f9f57e426d4218e7f5f72c73f529ef6754c5f477b17f0dfb0d32a0e6712b2a1407da85ffff3894fbb8ffa97c0044814ca5b998940ed487516e3d703807e34968a6da81eff9d2a4dda45e2b05010a00ed3e0fe28a45debe43c2eb8b458ffa8bd5c8069e455826ebfbb6e0a1a5c5f8fb120fa31ada921d4dbc5bda82997abd1af7563f1805dcb266b3ecf81f5646eacef4d6b5e45d2eca57d56d46c3785de474a219e73a70f6b22d63026673e02698b4bbd75de705be5d3f566deaf4834ce36c3ae980cc1be2820b0b6c32e67ff0a8ef5f8399e38001fed437435af272c24a5d788ceee7971f2e8477bee9ea69650600afc28209dca06eb8a8db69c8615a156831cd5de264b69d0c02a2b7baf1 - -COUNT=31 -L = 2400 -KI = e9e744bb6542640312b9f8e81930d5b39063680d54a238405fe3bfc2ebd6609b -IVlen = 128 -IV = 0ef9b23da26c95f2cce1e58b4c978404 -FixedInputDataByteLen = 51 -FixedInputData = e393c7d35784bc257a997c2b946a839983d18e4804e26208ddf464aa2bc9eb2998df3180901bf07fcf933e4185c1baac749fe8 -KO = c6c58a269f8dec8fcdccdd1cae46d1337a5b130c29c24da7074cf6c0e660118f20ace0a6bd9b36ae435945bc053f431080b113d96fae6d8bfb45050cc4eab15e932d27eb0c917a910d350cd143774ad61dd44ba369917b271cab31538f9e23132ae6384f995275f42138825b3ac5d812460796d4b577e2219d042e119587aff64f51e8f043ba46610af1ae87504a07f21941ff6062564d25c82f9938adbcdf681307ab82e1ebedda4248651c82e9ec26f7ed10151a0786c84243bac930f2413fca70b24896051bbb94725424c927546205686daa064517301988090fe48da505a091d5572f743bd6758b4f50d6378135ca014f94e4a85c0aebcc05747e37eaf137ab6fc512b02b1fcccfee1b669850a9cb094de5db5fb8bbb8f706b3f329a1947942463a1e4756e35fdf7283 - -COUNT=32 -L = 2400 -KI = 628aef80f3954186bf7ef4fe4db7490ba52d5d2528bada8823e20effbf95b99b -IVlen = 128 -IV = 54b39a565a12d6a8ba932641d3ad85bd -FixedInputDataByteLen = 51 -FixedInputData = 63cded909dd2a07b1d98328c20f43be35fec950ef30994037602d2290193a8801fc543160052170539764ef348ba540b319483 -KO = e909281685f024a1af72cd34e12b0783bc525f955f79d922b4e8a5dc038d801181063da91da88c2db3aa6b690e13c27e3b7a95fb0b45caa5f91b7180f21932ab265be6053142cd6b654391f0ed11ecd6544c7d69eb025079f3a1db9e01bd2594e6b3659e9817f0139413f4104e0327f23ef39b07309e11265e7bb4a925f7826cbc256ffba1dee84bfe7e022e2eb93be41630741a25ff37bdc5970644db513e3b64aa26763ada104c8c1b240cad0dabd5396e7ae3454feb03840b37466c5ee24279129c5ab3e55b73ee0449c1156deb1aa6ae7551d3e4dd89669049d4da10d769840a6937b4c7daa0e876f2ae356f32b8208d1cce19a4a3a7b26b34fe2ba714403c660a5548fde201390411edf4ddc215b2465774d8ce0e1bb971f651d925064a1156e3cd3740a289d8adf8fa - -COUNT=33 -L = 2400 -KI = 51c3d87438fc93900e21396cfe80d6a9f6d59828433453a2f40567a73b7abe33 -IVlen = 128 -IV = 21367af9be7bc08dcecde3e62f2e23cb -FixedInputDataByteLen = 51 -FixedInputData = 71f852c30c9dbad3f9754ccb8c9930dea271e266837b4bc602d612b5814ff7caee549f35ab52da7e8d5728f05b02f29a41da7a -KO = fde7735878b8acc78f777d87a3ea1237321fcb7cb38a227e0fb6c5062a255660372208c388ab80373cc423e5f26c3726ca4d21ee2c3a6adfc2f9c1e92b5da58bef9373b4b165ab56ab71ab70ec9b0d6f1a0dabb27960951b4a69bf0b8cbac7ad1e807dd5ed3846bee852828e9b2f3241c1e8360e7e5d79e14320f249d16c74947113cb8e656674a7c1d06aa785cb20e229ef05caf0351b2a8f68efc352242a9a2e75cfdb11680a6a4ed23a835e9a2a17993e62cd5374b8457cc252c88600af829f58e8844ffbfffa84477dffe4a266ff6e08f86625a4d75e4cf5ba07728e79100a18f168fe852297441e23ea9e9fe1a82aca21fc6f0fa3c2fd0553cd610332e6deab733ed3b1e5dd0d29c119be600ad25bb9dc2114b829f8020646f4bc47782aaa2d0ec098efc35dbbd0659a - -COUNT=34 -L = 2400 -KI = 6a7e9f2f233e5fd6da33ed13200e646a9508c55128e7809c5db7386c659fbfef -IVlen = 128 -IV = 6cd28f2011f7dfe5252f0bd750ec1fda -FixedInputDataByteLen = 51 -FixedInputData = bc897314798c3becb3933b71d02d6703fbe56e1ecd7c313a427474cefbb1609867cefb82dd0d00246dad6a08733619324ee6a9 -KO = 5ca0a7fc20de85261675586825109a37f534ebb32df28b6aa262b8d9f69e17430d83caee082a28133134204893d6cc1be75b6fed6deb98521e6a87dc75d2c8aa0aa95467f1e1124a72ef75bbcdec70ae0587480c35e414076bda080cbe74d4fda6e92f0558f5cfc5995413f9197a13b9e11f22eaaec81f6e4959cc221ff205978baabb1b9ab8ec124b4b85d8e5fab6deef51cdf5629c63dfa99c53da93660e0bd51f3ebea9e87f6fe7ad0b90bb3a41cb2eb7180000f928c3b50eec676e2bab77c925b0ebc3f8b1482dc7cde2aa3d97eef19317dbeddedf191b5f9299616cf2644b47c921e41c2ab27d312226ebc4319599e5dda8f2517bb5e729fbcbea07a5ef6af7b71915fad841c88acb8825c1931ea67a7a378054e3f29bdcdd2b9b4d07715c3bbfda0bf34558bd44fd77 - -COUNT=35 -L = 2400 -KI = bcf7e0914039c3726140f86fc3cc2972a6f65c00efbaecb74d2e442c4dd64d9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b321eb7a4ab3c690b8b02f22fc7d79c22260d08e00bb936695b989ea1602ab5453aac670a7e37dcedf6cf04ad6b1b2aa3658ae -KO = b175f384f0f5e65c14b598bcd4aefb9a4b003acb1b9cbb372023995b9cfc3e4589c9eb62a7a34e1cbde3fabe9d77097a9d93465caa6bde18ff73bc2b2e7f8c65cae27281390666ffeed19e98293c0d87ff2193f163cdd6d020821f665d2f08fd846ad62ecde7ea1bd8820cb7e6fb089fe41035a5b374ff222dbae433efa1e33b45917d004fd1b33290a04c12b33034917d4e73c6c7d210d3ba63b4a97d2998dd0182d2c0155c2e3cd12685998e4553b18845297d532c09b622e2e4618a037bbf12fee736d501b7dbd8d3a71db6471921e9e0c66a7949e7527720cbe6703acb324d6aae5a5b37889a2270e3df4e57831373f7f9bbad9d72c736c576f9a5c8cb908e11bec002c4efe897e64f91d296601017ece076c1d2ff3f3ee5475209192691e25ad39d342052eae533bdb8 - -COUNT=36 -L = 2400 -KI = 594128938847bb3fde8cc65268f62861a37ab1863382844d7904f6d7fa34d6e7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eccf7d343a9b37e3030f3d45dc30d7b3c9df1e4dfe4714add2e14c8b093778bb6f61c360b1dfc18a3f64576dc6c9cab9ef7f05 -KO = af57ff9e80b1d65a395b340f1d1eccdc5f8352b1281a637897dcab015df0b66a812d9f39b66790b128e0b610249d22c5b7751b4f13f4412b1b668efb5d027559208bb2f4d0051716efdd9742aeb28c9a42e2a500b5572b06d76e626dcab93c03d651b2e81cb62a3980f8e25d806f1630d297b1a0832a27b6717bdf8f48917b80db27f520de5206a133aa0202d3f592c268add3e61b01e7cfd5ea9c678bbc4f6271f520ebad54f47004937dd6fc7401249b554bda7e804c3e88cdb82572958f3fd7a07572d1e84161305b76add72ef9f60b2dd372e9549dec163c0d52475ff4a3551e8b0e35e5f05043367554756c35ed1c9b404fddd9090d593db174b8bdd9cac5fe35a754dec73a0984aea518c94d1a4bd847da3e2b6234a93cac3e4a0a2ca0a921b165172bf2ed05d26bb3 - -COUNT=37 -L = 2400 -KI = 8eefb9c5f40e87e480c961c52a6eab0abd4b5e69109990da03ce53fb4de02fa8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55abb8b1a1369c72e5c8198d61a571d44e817f52e9baf49d3e3614f20cd30ac5915d696a12a44238406eecc94ef542eede9f9b -KO = 5ea3e9b10a6a64133a811fd26a1160786e6a4e5bd9e55148a898edb8a134c7c2303f62708b8420677b85c1d55385136fc21bd003ff57d2dcc4f52e4863a2cd9b1991725cca7268705646a327fe056f6510d443077f0120f5f4b5b1969466e3192627c1f614c1da6620c6e2696ac8f0c66f3faf12a3a38a0f234e83a92e2d87e3fe51658323a9574273bc86345a232bdd15c7be8f8a22be79b33db0784c79d9dca8dbd259dbc2898fab23e9df9526a658cd88ae12ef78643804b8c1deb52db00b800850ec6c40e0f21566a9132d619c251e238953e25599d18ec716758612856f520e16c60ef9f8546223395017f16d1929c7bbe0094b35d4d4db6f44740f458887d73dcc2976546b116adf3556dc479e01b7c3386a0f91939c2d6ca6992c35dc393bf0bfbf0e938142d808d4 - -COUNT=38 -L = 2400 -KI = 67fbbda498d1c1a5f79f2d81810236e045e7126a1a49cba929122e2680a6ea12 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bcd0d0822c21e661df5acd040a96d6ae9a0b2ad9be0558cb26a88fef5ef9034f0c70e894cfabbdea2e733eebeaf4fd9253652e -KO = 4f9dc27da357a235d6b99b6f192ee3d55225b50c75d74e8fd771e5dda9ee74ae2e46b0737141d864ec9fd01e9d39d27ffe42171558b674f4882c4634d58e6d215849fb151ffd9b18bf0819f1b13d32be4bf3b1d38f09fb8c0c4fcb85be8b66ea5dcaec5986507c1dcad15fb66dc52b7848dc62d7829f26e4b9e3a70ff0ecedf252587a8256cf93e33c1a107dd4d771a4f019519453eb04f56bae166fe23190f3de055b11d308abb0d74c39931a490e937aa23d9c9efcfd6e0b109a754ea1685bef717c5766e4658e2018977f7620b9f36fc727eab21479abbb1c43f0be5bc8ee8ff4996e9f87f4914307e416e630e51a2c81566433d1c2f8ea6f961db9fe6a8e583b7a49af0a6791efe2f67ca90d6f08a5c657fe1d6d9cfae34a5cdadc90d6d16913fa3d9e1080981f6cfd75 - -COUNT=39 -L = 2400 -KI = db56fa50f752277d9b02add3817c4ec31acbd65d39c7193301fa78069fa719e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = de2fb025f3bb35bc2902fa4405721c5624425c9c312128fda276e47aeef1f1fccb6eec253d213a5a54d80e2bcb7c82ac7ef209 -KO = 7126fddef901379af8c14cd8dee7f93a3a18ff254e660eef06adec536f8fc96bd9bee2638e8531a9043e9666d75b5ec0e2ca1ff3aa11307cb2dc60a479d5479361797546a7e55bf63d854501ef16a69f478a488ea179051f60839ff879ff0229167257a0965f49da7f21125a3d29c33dd132e7affa1514c25c1b7072336a9a39b67bf1f46fd6a3d670b58cb4b0c82ac876da4cd422a0c344e61eaa38aa6e6cb47c9abf934acea032d873c8e21b9a70f3ef45a0b4c2688e5848b64747a9bf9e34319c839bc928445d2a0e137f69c2b9550c39fb9dcfdf3d545d86ea7d35f017b14b905d1a6f6aa52b1cd2a8adbedfb652ca2038ba9944b8b7ed2ad5813dc45b8c780a29035f470a005f47ee4f4e32c011d27ce0e273cf21f6e952f16c1e9a81259b9351aef84dd27ed6ec6024 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 10b2af9403ef2e9455b0f93b724116c10c5ead984fa03121f6ae298c4cbdee57 -IVlen = 128 -IV = 2c2446945fd66f6d9f0afdf9dd25c936 -FixedInputDataByteLen = 51 -FixedInputData = 83d3d70e5d89940ea9efe84917c10a824ad96a789cb635c1ea44a387d0e539546569574540490a42fd8d97bfa9aff133159ca0 -KO = 30305371735abea5a4fd5bf01cf0142800cacbf42bdc7c9245f296fff2c44188734f9f7e48b74ced3975538e9625515c99bc191df49bd7c19cff92dd4d0cad7c - -COUNT=1 -L = 512 -KI = 0dccea54c25512066c277b67474585b35e9a9795dd2e4d93a3543e665d3bc3c4 -IVlen = 128 -IV = 2eff292c95ea4f988f1c9d0c031add94 -FixedInputDataByteLen = 51 -FixedInputData = a402531b9a6ce525a4569271b0ff9c400a0af28cc08c2ca769c5cb3b780383596bf919a459dec8457e22dcde733f6a266d4389 -KO = 54b89a4bd389b388b2a8884f0e4d96bc44780941bbdd17290b71d33b05c5aec19dc1bfb63fa0daceb0eb8dee50d0089e12a05c21f41fc10b41a9ebf74f998ddd - -COUNT=2 -L = 512 -KI = 554e5129661adea455b9ec96d3fa66f58e8bc179ebd8e4b1a8340e0bc4464b9d -IVlen = 128 -IV = 303e4e3b09e2fb193ee7934e87fd4a53 -FixedInputDataByteLen = 51 -FixedInputData = 4ec8ca78a1bdad950721df55f387e2d4b5e30c14d460e2d1953ad46ec6f94405a896c29171d2b70ba6de9a5b3225911bc57def -KO = eb96dd08f8a5d3d5da1471dd689cebd201a30e99854e93b481de6cbdbc282fdd05e38fb212a81f0e28ed0052582619a1d2a84e69b2441c51a16de4fe7ae63983 - -COUNT=3 -L = 512 -KI = 1fa9f9125a2669ca132ca01d8766ccf46e35fc59cc90b1befe6fa36e46a708a1 -IVlen = 128 -IV = 6dec17d5c1b53ad452356d219d5ab153 -FixedInputDataByteLen = 51 -FixedInputData = 518730af62770407caaa4a934644bca5cbdfd28922ed4da1ab9070f8411b1e51b74e4725f3b684189110b02fecabfaa70e44a8 -KO = e6a857a66abb4166fda89bdc33a6bd84f14a4280c5887698fee547c54d94b6a59b31dcce54e48a26ba9c59a80b3848bb2909e459529a31f93b6b36ac40756803 - -COUNT=4 -L = 512 -KI = 2032d03c1fe0597f7ae1c2a8b4829dfd000d57fbab4fc91eba5c9059d3c24e87 -IVlen = 128 -IV = c9397c447c2a7e215a6ce67b597424c8 -FixedInputDataByteLen = 51 -FixedInputData = fcaaa2b744436c79c7488ec8e4d1cb04e77363a8e505e07b8c025a9f4971653e82451930ca6123816eb448f0ed9343ccd5e16d -KO = 93a4acd4ccf530428a48756658846bc0de14056486901294902b6b376cf48bee96c7123a34fba013e963b241657accd02d28484ab22a5b250ff27ec057c977a3 - -COUNT=5 -L = 512 -KI = 1bf716dc199c2c2127d587d8c94f0b92c8c8ec4171eaacf04e7891faba4369fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8599163395f6b97942b616f921843153fa064efc6127976d4e90d2b48235cd0f979eb372be88d71ae62751510265de146f1d1 -KO = ec0927f524de6b2d38b9b6b260eae855a3e93c9f730dddfe2b6b83360dac6b46a67a818ce8a445f6c6ae90edef919d361ce32f787a27a49390bc0ed6e2b21671 - -COUNT=6 -L = 512 -KI = 0c1b53c2cab147352f42a6e7d33e695c9b4c5926ec37279ca9480eb20673e5fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 889224bbde7d76fcc79ea702494c9d93d96787fb04c098e6dbcc199eda4c8a556cc19ace17c532194f795e216f98f328371691 -KO = 001c9005f6a95947a84b2e057297a357ccdc445d34c28dd1d8e74ff21da486ee4028ecb1ab86c559070b479843001547041973fa29adc0d74d88f760547ae5bb - -COUNT=7 -L = 512 -KI = d2f94b002e1971352e7204d3dbba9f2f3c5189bf83ace4a73ef9b6da28c91fd4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 922bc01d04ce40883c93d5f3ae59f6df365dc011facfc296c2a03b22da87123609991f6434120631e827a539e8d2a23989e641 -KO = 04817f26fc6a7da62f8f7396a385f8913fc2d5ae61d013dfa660575efe10c84a59347c8d19046d3cc29da2a6ea7ceb54700f1ee7e1851a554774813107a4bd69 - -COUNT=8 -L = 512 -KI = b1bcc6b4291611d131d95464e5cc9fe518bb535e16861267796b40bb27142f14 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d344784c33bcf96a7c0cbade778d67841a333648aee49cf7b9b6fe6d99c66a0f2e2ca97fc8ab4a8abb9e8aa9ea9bbc835d0051 -KO = 6a2ab832e135f57eb435e93a4639d37e008ca5bc9e171fd8094edd1610080774bb0b67d8cf187430e1b60629f6d92c5cbb9d8c0f69a8a96cfeff12237a77ca16 - -COUNT=9 -L = 512 -KI = c9015227284f0fffaf05bc5cfa2848d7062f36d24a5e195cf70887f4a1a642a8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1075dba169b6207efce1680c110cfb419be9050b0e7c06e7657ec5aa4d70d38b0a4b596e65703646c52fcd5921cd7dd3c14d97 -KO = 523c2df4b131111092d188b5975077e571761860fedda10c449ca5f07ac63f79d0183b346695b9ccaf2e2e3eadb5ec49a68f473d6a5677fae6b1790c1491a6a6 - -COUNT=10 -L = 2048 -KI = cd563208f4ad8eefdcd0b034c7440f9bd7347a7c28483f82e0b63b7eb7fabc60 -IVlen = 128 -IV = fc610d5b4b885f69906d01ac65dc7244 -FixedInputDataByteLen = 51 -FixedInputData = 8e9ae02a55c1b080fe9ee0532b9dd442e54b7164c3087db7d46ba659725346f94bfddeba9cc69bc289ba56a63abfddc6688a73 -KO = 8025839fca37f9dcfa7c0cd15aeedba754edff1402195f0263554f0b20b78bf8aa741604d213c3484e8a97ed37a08664ec9966f3ede86d94dc2158af084c9776a25196dd7ee542e6e8254196b86331080fabbe54fa3062d37bf2e2e3b658702645327396f2520d9e6e60a692152f6233c6107d16ba47a169fb270ac0eb0b5096a14275918ab257cbbc79cb1bb96501b0fce5be03e64ecea655e0e2712d3deb0aa789e7da6864de8101fc87233909661c3b49bfad033aa60af8f69cfc3d574c25dd85d58be5cc089d63ff5b517894e9553f28516a34028bad879a0656ed9b1ac9bcaffc89e3835c364f3a4cc635d547b31ae2adfafed6d5b36cf6604efc8c466a - -COUNT=11 -L = 2048 -KI = 4f73743fe27e43f52d9cde68e3ebffdb8a93c61da822a26766a846ece2d4d739 -IVlen = 128 -IV = b474332e81ccea5d5a3ba1fc722e33c2 -FixedInputDataByteLen = 51 -FixedInputData = 1a7a001fa9e3b52f9ec34a7961f1a9aec305fd17c0e4f331de5916c191db38aee7ddfeeb7e8a1459b7869b233d561e72b8b0ee -KO = 1e1f0b24551e94a52e415fd9af0f8ea221ce02665e40ef256945a4d9f9fbf7d6d83247ca51c76385511032a51bc0e985562e9bb4aab0b875412a22050265cfdb889d7715d8b6f33f2d68b01552aa57ced206e0e767ec0bad580d11829ba9a46394238b3aa562c1e25afee7ee17682908d34bc96cbc81cc9bb3d5e4a1984a07b107ed25b3ff0ab25df377a0ef00bbd6628b13b79f69e8b0a7a182269dde59c1b084a1f524ba27771a29cf962909c5113589196967550ec3baeefdf238e7c67399e8926f644b9f557b258619b95e9b1f03e524ce56690bd7b0f5f56dcc00bf5ac28deb36065337d3ba9457282e499f3a837efabf12e11960b79caf468c5c012c30 - -COUNT=12 -L = 2048 -KI = b1a055601a62087c5e9d7cc471545908e5cf1e976b3be8e508e4df6cd261ffcd -IVlen = 128 -IV = 3e9dccd8997b06450c405e5154378704 -FixedInputDataByteLen = 51 -FixedInputData = ac1087af34193ab6a3e2176414472729d8dfc138611becde7519b9caa899feb63ba768a9da40f651088e93a9e1ac2c0c275082 -KO = e919e44e1e5adb4b2a80fe372377e76d1a36b25cc49c797fef0a05efc106c9fc9aabf1a8c0e8fe781070a8199b6a00ca25a8ff4873828287173a2e044c5f005e2a3580c1d1203e231037d64c0a5d1a54a38bac7e5ea2a49ec8d1189a292a8243dd48d035764f0ff29840641147185d53e8ad69fcea918ae2bc24068e466d7035c511186d0f725dfe9b14fbc4ba7523be1500d57fbea901b4ecda0c78c767f20112983e6bd7f39aa940846e25e292a1719fe0b24a465fb0d2df45e888a16789f485ae9525531b99316789efa89bdbef068cd793ef3cae948b4be7aefb70a15e4d19158173f24e746bf38c912899cf642902001fdc94879117983e89683b6d005f - -COUNT=13 -L = 2048 -KI = 1fd15b0d6edb1984f0ba2a5403cf35b98fb5c054de04849563b2053e8675c490 -IVlen = 128 -IV = bffa063fe80fd39e817964213c962134 -FixedInputDataByteLen = 51 -FixedInputData = 476aa1a40c8e928af6674f262cc84d676f6b5d743b548fcaf63389c1530d59f27897da0f121dc42983149d42bf1153265dd0da -KO = 72a3b3402ad1959857e216dba43067f27b7aeb2ab60a286c803d5c0fe674a3dc69c515c12cb475f5d19549ca5f1746eb761cb736844b21f652177c2bda10f55f9fc8db79fe3df49bf3e332e75354e4322685675c7594dd6a6438e815a3a4772cfb64704d33176a32f2bb85b2dba92cda28e725bc6ae926c75a0d67f62c2713d2ba63705a4f2973bcfc08ef01a1ec19966881f7d7dc60e700ce0f97e7f7dee3dff167b164f41d6407c09b058108ade102a9bc24b147122c733aa8d9f2a8e0b375d9877f54691b7151ed5ac506bea52ce8c9c2dfab9ba59d97e2d979733f4ada2a76e0b6871e48283fb83304e4484f553aee9ffd3fdbf8c0e9fcaf9bf59ba423ca - -COUNT=14 -L = 2048 -KI = be1f41f318f91ab411ce4dc06643e15b49dcce9e2ad17b13d833a2d0b90fd23a -IVlen = 128 -IV = a5a18744b25008c58bdc2c5f040e44db -FixedInputDataByteLen = 51 -FixedInputData = 2cd0b69a685bc72851a8ad1be6bbf64e226bad74b7abee5c9ba591d7d4cd6a6a5888f8155994e337bd573deded9bf3b531fc9c -KO = 07d8cf0e50b3ceaa587fd559cbaa13c99b4ae59c10bce7084691b7fde3feb87e55a59062ffa608f919aee9bc078161ea433ffb2aae78a909b877f5b3c27a161307d9f016a1e7079ceecf84bceef375a19e6ef08f021d6b22ef35953b83ce7f8b82914a3a51efab19eccec85afc1a297686d020233719cb5f9d6879e713d4085c60d083ffc8c3e5388286bb1c205be2d197fa80b0b805d2a1a205a9369a087a670d6b4365bd0ff9b88ce1ed8d06d1286c3883c69768a8dd75adcf184545a3c4829ef31cc8405c2b5c82201891ca14a4f43a0e95b622a9dd32fc2083108bf4d257ad073432b2a26d3edf2752d02e3ff702a0adda21e7c58d3677a49433950075df - -COUNT=15 -L = 2048 -KI = 39f490b2856345723ebcfb28ac7395b86ececf7a7bce2ffd6010a70d30fb9eac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc77dcfb1915d64adce1124bab51f5452b5b8d1ac00a81eee11be292dcf0404c499be19d887dac59d56bd069233f5fed3aecfa -KO = 45b8b6d1ed6ac3168bbd229401ce0d3549987c2fddbf495d74c0d3b0ceffdd9f924ec4af8e6f43b95c309955194d344a72b6e9f4ab5c62b8d0cc210ece5917ac4cf1b56931f9a42dfc92dd992a1a1c7c2ceaa2a0bfc751d0e80a6007d05119f56b3516d03d8ab997ec4eea4dd0a37475a21e1c07bec7a970bc46e8bb3e160d1eddc459b4efc52224d1a685273848e08f0ac4dcd2e009b8f6c60012eab10604b232329fe8a869f75bccb6a0fc579b905ddce5fb67c15dfd737851bc898fff6476e8bea0e84b150cc30b13872dac7eaa790b7a4fbf631cff11f3d351b6780728b442ae0fd4be06b737af311e716db3199a56fdbc9c6c2f77845189da722654122c - -COUNT=16 -L = 2048 -KI = efa64bb721b8a8590a40de5862eb3c70fb283f1f2be2b273cfeb82bd5977d265 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b83d7331811c9fe219c318ec5881e1e62f69c9f4e6a6541d55ca94a3610c3568746ae510210c8bad4aa58f20aead0de8cdc11 -KO = 6b5733f3b9c8203bb4a59030f8258cc5db74dc7b21f87bc538c5bcad51f60a168a0cc87c07aa37fcc3b30a17f73d786ce026179574dc82e98cfab6a19e5673dd5e6f818d5997057ddcaa1c4c90a6b85361f10d8fb8bfea953e7b3f7a1179e51f7db6b8efc60b358a5aae29b739814a1fdbe1919ae5d444cbedd12616dc5ac1cf73026475ab0b428061e6fb610c59091ecc29b9ec12affba5886a1116c2c6184a3d5ace50c67bea6402d31712632b5fcd5952d5aa09c6ceb9ffc885c7c0a15aa487112511e697cb3afd540d59f879e4665bf53a6e2eee6b6af5d289dfea34b4fe9e7b490a5abfa6b7bb560f66083aecbced9b371404c420c6a1d4b372e0fa3a40 - -COUNT=17 -L = 2048 -KI = f57206d0231fec9feb6c56b7dd004601a044e83a8ec7e111fa242cc5d732a00b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 317bd605bccfffddb4b19e28695a51b3e8a415e75b717e85ddde6c74478715c00b04125c0cef532a2a8defa811564a3722384c -KO = 00f57472fed0dfd8ec5575af300752e981eb5c0bc32c86ffbc85add9c6951dafe865287639832b12cd5120cc67e2352e13a11f43ebd160c1c21e74297bdbeb36c0fb986011bbbc8f06c833aa19f7ac270077b22aa7c4d2285ac79ee0f1fcc366e68666ad5ae383c1cbf37fd723f0e3f4280ab16d8093847d590c4b21708c60cda48c65333a3f21907fbfb666b07a7413a96a6698455ca749eabefa7997d77b5bfbd99bd6eb5197f0c995e79bd8ac1d1ad324b22688aaa31563a0c2998bbe67efedfbb4e0ff1c57104639bff4c4a0098a253295905f7a0c450a36bc4a9016e0c8cef1200d1b514407297216570b0bfb25e906c352e89ae27687912115d4d50fc5 - -COUNT=18 -L = 2048 -KI = cba15bcd8aa31754a8716be2c163a4adc14e995ca1b069b21c7d3174dbd24f08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6042a458378a7d01f89060d2122caf47ff2e90d4938c04947c1684faf2ab5f5d3d92b089e10e105835e8d89e253aae3d38224c -KO = c2d642eaf6b58f9b8a4f3372dabf8783926a81801e8af40e6a64ba4631c8733e69ad23e5139ab77c8546ee910c46d8b8e2dacb83bc85272124477670ef2c63a08ec581d7b8af0eadefe3845db6b2ce5228a626d45b955d00f5fc1572503ea5bd44675ed44c3701c1894f7c51052c01d323fe51cd30b1c8e90623aaf3ac2477be1c009cf94ce760a1511da944e6d01fe37b761a5ae79aadab396b1624a5f7d0754b77160ce9b023c5a56f8edd82321b18d86e6fa473fce3b974b518cb5162189ca90e591f7ae494627bb16a5c9fabcab18609009085c020bce8cc92de1c4a46782c0759d99ab04237b51e92aaca9d380f279fedf9a423c3baede7931f056a9973 - -COUNT=19 -L = 2048 -KI = b77756a2c996cfced3e687e7b63142a4078fa841f40b39b1490f4a58f713fecd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0da6998830bd8fe5671f5152d0c04e163e7f9907caccf4e2be8cf56f75c9c6e6f2c64e094b9cf8d3be0d2e05d1d3f3d3ec6e8b -KO = 24b27126ac991680bdebff0141aaa561a60819a687c9b91c6eb20b685bc943564446cf7adfe2a40fae1f16cda93d83dac3e8ae507821b94b27d59413e21cb60ccb3f89812e90aa62daea7f4e908c1409ef0c6bd2579b1a415f9c1e8fea0221b09cfe730b54a12b6d1366b0154b81e9b545c71669d8111a1f8d9386323cca5a05bc1f66aa1f411780477d987c27798086bc6d3132d53d6b3113a796f78abd4b9e469f4dd35d1d73f8c8ea9afa0b84ed4863907693693f83061a67b6d36dcdc09f5134f76c7b30022adb6fe5f7d304bc78a25bbea8b638fa57d6ec0a544bec75e3e35f7c951b8225d7d425c17164a3c8508cb3d034c5e1f1605ea42e6f6c970073 - -COUNT=20 -L = 560 -KI = 296157b523c17b32b14ef59c13fc3c9d20d43393336b21bb939524a25ab7020e -IVlen = 128 -IV = 5750cd5297534593f75399e9bc3fec6e -FixedInputDataByteLen = 51 -FixedInputData = a1ae5c90633b5a759c11e91cb74df8f01916dde7db867328c3bc737c629c411982658dbfd831a4a47a59033a13ec2f120fc3cb -KO = 636a6ec2d7a3277606744a7edaf81bea701d11152cef7e2ee94f26ef9b6fe88454e61a8f89bfe6e9687f164f1d920b35ab6306d10721c4366607bcf61ccfd5e7f5fc151304fc - -COUNT=21 -L = 560 -KI = f4ffad5a18201341c8a2a6625a08785b2a86f922b8f3ae896a53d7b5c5ce9540 -IVlen = 128 -IV = e7d952a8fa93adebd9b88be3257ac05d -FixedInputDataByteLen = 51 -FixedInputData = b2165411660bedfda5efa803643e4de5de2e67935eb9f108f5aba3af6683ee86d07b423e3340da0dd7ecc6f1d4d65569fc37cf -KO = 9218027fcc3ef04ffeaa72a9c493870dfda3664bd96231a8060e3680da5bc16a0afaae8f8c2882949c0c29a1bf9c224681cf49369d0230c3752ba27a6825061b01e53f2d24d5 - -COUNT=22 -L = 560 -KI = 58877ed8ee9fde4715e0739ab6eff1c86511c901041a6c9e31d6ce0d4c0d6e66 -IVlen = 128 -IV = 16b11ca3daf2ec16a5085c9b96624ee9 -FixedInputDataByteLen = 51 -FixedInputData = 69cd06bf17c80a631963450913ba35b3e6dadd062b595e01b39219b1cfd9b99363429e2b43a9f175c9bd994c7b2ea1e99a7f5b -KO = 8e195fe325d27dda77d5ddb79e6dc99289cb7aedc2ce63c47e318dea1412797a977ca7d87d8579f65970ebc7f458526d7675cf56cdb367048bcda65b2328eb0c3752597455de - -COUNT=23 -L = 560 -KI = 7019dec5b04e4ae65dbf65026c7fcf63d390191227ae4c95c460cc9ede5201dc -IVlen = 128 -IV = 9e8b710b2c6959226f67535243a45fc4 -FixedInputDataByteLen = 51 -FixedInputData = c5a32d5fd09023808850579f0eaf141cfb0e6710d6bd6ec48ff8c49b20352185ad35ea76fb39c8fc2210c501b52e8baeae7743 -KO = 16c6a50b177a668c3adc372490307401160cedca8987c59bd8d0c1234f6d98dcb4b1b30c7cf006c5b92d594ecb8b15721be1613bb1a2eeed48dac35cfce81c88ccb9dbda035b - -COUNT=24 -L = 560 -KI = 5dacb099c5bb0a6c291f63f5bca079ab2a892de1389f882f8d27ccf20d30535d -IVlen = 128 -IV = eec104e85cf51ee4e0a9482f4f751334 -FixedInputDataByteLen = 51 -FixedInputData = fed91d0b1ac0f08f49afd75512bf5c31c852c5dab83abfbe2a61a4ffd4679ac0f05110566d3d58e0f6520e128343da03db1177 -KO = f7d2a4dd66e96621ea8b9e29055da5db179578164b03496aac5832ef14fe0a6d14681cfd26ff079d8cd5b4168886b79bddb1dba8f4bb539ec613a17fadb0dcbe9203a07787d3 - -COUNT=25 -L = 560 -KI = 9e65c870fe35c9aa5879a46cf1ff5c7015e2d62f5647b42287ef8d1bccc8f4ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 534ed6a590f5d0736749265e92d73c3b07ba712bfefe00a977778a1904d7987bab1fc74547c4cd26dd5022bf5a00e2ac76a827 -KO = 5bde176c93182866a992849e367376beb4470407471556a46852b4762bfc9eaa99d9869a92a82e27dd6e6c9f64b6866683734b5b1a73c9c5b21a81f22cef3e943c08348da448 - -COUNT=26 -L = 560 -KI = fb01c96ff3eb99dc6a5885bf369931305505d3e75b6941bbfcab5937db1ff933 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed4ebff283e1fc259bcaa8d5a9ad2136a07e9c05120ca4486fd0103a7a1fc06f5f8e57fc0f7433abb90b0cfe9ada1a7286157a -KO = 61b32720de53a58083d3464f101c61384c1c2ce5a9335a675377e2b054e67e6ca22c226a7171202810738314ef3eb2e5b135b33e383aea5cd91b933996cb4417970bc245f847 - -COUNT=27 -L = 560 -KI = ec61a413d7b5786cc571b938b7147a7f6a8031060028d900ee54959b6973cddf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f47c201935855c544ba6c8f6140399114dbbcaf64753d102c2436ff23242d09f7f9bac1e47437b710218ea653d868e5c4795b8 -KO = aa239742b6e6dc8a04882d66c2a15889c55bb49988d3ea951a17fa52784bbf9abb07d65ef3cf37ad75d1e21c59d6b166c8b1e390ad7a588e77a64e295f13198069836fae1f25 - -COUNT=28 -L = 560 -KI = e656e9afa40d6f70de995faaccd9b3458659d42f2083a0cb65c3410acd11171d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = adf02be70d2b75b4e9e05db5d6a87b8f7b43494c08835ad1aa2a5b97ffaf55c0bf941a0700497e160a75ea32fd8dda19298218 -KO = 5e0cc127075a3b0b9c49a1da291c5fdf356fcc6306ce444ea5f08c3c1ffe90c705a21db6ce0a4ab09526254fc105588fa33bec2c14a4e21e96065118c8f8eae5f701b1cb441e - -COUNT=29 -L = 560 -KI = 6ee3f236fde00d470a5c8b8fb10ff61198b662a29d750554685c675a6d19f9eb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f1c8bfbdb026b7e642ba5b27cf8313ec924e6a031b6d41bedf39cf2e66c314f39b875984b80823df1e76332e2f953fb6664779 -KO = 0876c4cf448f0e1d9595811429061dab4f6a9b255dbabf3305ab590a3fe593b5539716e1b2614f3790726d733d9f64ccbb3fc7c2bd4ee056e35dbd4060eebca622a2e80dfd57 - -COUNT=30 -L = 2400 -KI = db8c6de21206de342c90df507f77556ee619341d3d09f9af1191a6f45543080c -IVlen = 128 -IV = cb436b114bfc7a5c9d6dd12962c0acea -FixedInputDataByteLen = 51 -FixedInputData = 9bb34ccdca946ede3758583f55a906cd46ae301f325d55b8d105ffb0dc7633ed0693eba7d9461bbafa92062d76d1cb3afa6e86 -KO = d5a3067c41885dbd3ea4bf9fa1f2511026cc305091bfd4575da575a93b3546f7e2a4bc9d94f177defe962cc94b9c193282112592ce0edc18cf522940da35b53fee7bc604e32c23af3a17517b63762353c4ee24c5a2b81c6db6817f3355efed899311134b4d520fdb332ee421e1a35fc7e430798907e6a87e36dc370dfb3a41deb1fcbddddc978948afc6409e2ca34c8a6d0e53b465b1ad87107617f23af87ca0ae05eed7ba2084d2a2b581251621e6c579d6b51a99673a5c221f5423802edae9314c26c6e87f3bdc0ecd3d82c26c40bbd8f0505a3bf7db9702989fb50e2b9b709506783dda5aec5bac2c163cce9632704a80ffa81c1cf46c846e03c18fdda9e0d3cf9d7dbc51116332b1d661cc3022ac66f6ab320a3fcd2c7d65a919031d51e8990e6072f58d7899c14d9145 - -COUNT=31 -L = 2400 -KI = 8f75aa479cabb2b1dd5df0e751673c0d738045c632f32084b230c3780ac4d033 -IVlen = 128 -IV = 151c93b350c78a29d1f46e2eb57db7f8 -FixedInputDataByteLen = 51 -FixedInputData = fb99603ed78ae910ee2dbd97d705f542c1348a6965444f7de28872bd481a674650c3b5a37295a9c5243e61cafbba2d82857fb5 -KO = ad7faa9b6f077e642037f8ec0c8971f83f8cd60cf4c648ad0c0ac99a88437f82a81ebb3844855ec814683909bde49c06d8baa57654482d518f12da588e2f233659ec8480805c53477b84c58aec16121d3b5d7d9b04d57f8d2d286452b38011fec6e262302ff8d41e972a6548fd7af2867e4a945605dd46250d72ac9d2862c4b34005af9fcc107346ec47dae255e4a0ef85e24bed261b2db996d02f0b461d116564a15c1906236e4b7ef38afcc5dcc25b9e00b229c05c6c51b5486fe606ed6b56e169069aa913e1282d1e40023dc5d1b9ee1b0fadd700f89bb28b36739ce3033bdf7797dce25009a3a5eabfc39a1df3522ebea65dab9123e94ff89fbd73ab90cc4d143ee20c2eab263cadbc04f976f57ac03e27fb86dc2685616c3840d01693dda7e02b065d045bee84fdbb01 - -COUNT=32 -L = 2400 -KI = 2ecbc7144d1699ea3ff9c16c840068095e5e2fc11a8fa6a6d90198731bd1f86a -IVlen = 128 -IV = e7bb45709a6c57e11240f659ee3753cd -FixedInputDataByteLen = 51 -FixedInputData = 12b8c9c3db62d0f6bd539e35a39ac281c973b69aef996e58bf1500f0386dfce001554eabb50e84ec8e5ba91afb7eb334ff868d -KO = 278dca5ebed783b5e54cf58a6c4afe6d769c407edd4ff9eff36ac5893e432867c1906ffbf3c92c8eca34218eb8559b7d5ca94f5a942e0d136987e26d468b63e914cc9c15691431dc6e1810cbf345605eb8ec76a2af0ebc040b8e29ca07f37af1a906ebc54321c25d3fa91e7861e220ab514df21e312a01fb9354def98b3de899c0f7599f2fafc5054eba34ddd977f2245629bf710ac584098e2231a9f1ace9abd5a54cb16379188ae6c8316cee9408b18d54b56dca0251b68857e0100abc59319e300495c05fb6b468750567fa468d6ce61e08503da2d73482c504b9d57de773434f86e646f0c8c54a33eb548a5a961a0d71e5c80e718159245292b432a6bed79c0367734c990ff54ce4d9da32ff7eef89dde130a5cbf4f7533c6bc8c89095d6bd08008a7c7efe39d8ee354d - -COUNT=33 -L = 2400 -KI = 942fcf58bfb3584973fa8b1ca57f9e0b35c84d13c29ec058443e6b003e481ade -IVlen = 128 -IV = 246f8c2bd4e340e13ccb509a7ce97466 -FixedInputDataByteLen = 51 -FixedInputData = 82bf42565af4f8daf35a3ba2a110ec49e086c078eb27c95f432b6f32434e10db52dbef01d5f1fe785011b1842f7e3fc6205732 -KO = 6826aa123702be5232cbdb997776d0560375d59e3a421b67cbb60be1e8a0047219c5aebb49bf4e6d6d81c60ca545f8cd12648de44eabf5b99bb8809e95143a94a4a5b29898e0c27c9f0da651781c52fcf1091a73fdc601887db4ce43e67e0600554b7327ef93db319a666ded3f040beb858197b8445d190e881115a6798198636abe2b199046d09f1ad80be543b4520ba454acd4becb5fb79399696134b8584fa731c7e2a6377b106d0911bf56adb5358f9d0c74ac5f2a89905ddaa879d8b68d521daf8744b3778d1fcce02947a97b18e727d5cc837ff36c5f240c0176ffcd618a1d910084db003c11f04b0383c33e801eb612e7f2de6555e1104d7b152fee9a941d65474130dda877acdae4158b52d575f4463e44468a1946d09e4cc19582e181c619a0112036e87f77e1ba - -COUNT=34 -L = 2400 -KI = 67188ad2866b4cc58aedfd1e037027a521b529a8f9e2e6594ef00e5d8058dc20 -IVlen = 128 -IV = 11813c3f66e0c45ea8baaa51079679a3 -FixedInputDataByteLen = 51 -FixedInputData = 5427863c896c4e0fdece87afabcd974dc570a11d1a1adf033ead1a4c76cddea5b9465975f10f69eb5d7cc15b10ae01dfeb13cf -KO = 905b2d758e2a2313ead53fc83e3d662e5e5b3e6c52c7a2ea8f4fbe8830cc84954daa0b0b626fb8220cf600721b7aff49bcc7513efcc6a38af81e5117359f51ed9a71ad40f0d1b6232426826d75e0ef3f3646851503e217fffdc19e2e7a2f3084461d4b667cd79d20ecc3da34cca9fae31cec645703eebd3a24e732cdfac366c1d45a2f8d2d6993a307e580e37b832aae66b1dc3820cbdbef250d6dbfe44773358f544a8cff77276362c9789d95049062677333fcea80a4b250afa6465ca443d017397f8e45170a263bd7d8b2d7353556f14f233a3a2377023b56a9818102dfb1ced47bae786c033943ac42834218a87ca34c8740d766e2d035f1b64bb2f60596ac7cf77bee7acc28af4b1d1fa3c2fab0a9a696041c6b138220dd16dbcdd710b38c0eb4fa21f48036ab72ac81 - -COUNT=35 -L = 2400 -KI = e87d14727512dcc121f44b0a454ff66e9b2f30d71ac2f65b9e005e75d9a5c9bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34154d684876a760158a0e614168e406ef25aedb766541dcddc697df7b2bbeddedc4992e895be7309e67f39a5b06fe9f0b764d -KO = c58b455c65da70cfb2da903910fcc8ffc18a7176c2ce6cef8def366334dea94ffb79e98c3e5c2ad762585cc2382e7c00ac46d4bbf2f4876e72bccdea93a433cf594f3fa8657509ae9ce9ee03383b7abdb13889ce8ed1ef5ddaacac2f096bdcf4572cff189b235478e0b9d9bb78f3aceb7f18b6afee99a3004b6da49cbbfa822af486dcee75dfb37497fb8dab3b9c16f780879dfc941b10777daeb47a1277074d7cff5463f30a5e9ea3dfb2bf7735f0f132a22c3d495b16b45c934f55a7dae4c54168b99dc127e0fa6de9052ca4fbfd647194e5d277a4deb030c57bf36b15438e55b5415a935b3510976fac7c242bf39ef83cec2a1024952033bc0bcd3a2fe7e63bbc86f70705f1e3fcaab97164fcb9b3f0d80df1db5b24699d6064ec38672f64af0916b77cee0ce2e378d6ce - -COUNT=36 -L = 2400 -KI = 5004560a9447a2247acfb0c7ca017bded1968b53b202fd4d597e9340f7da538c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 21af05f55c9a2a836f1cf456b0197f5157c87a59fd57341f64b2f7bb3b99c61eb3b175f5a6b7fc6ca1ee92f45dff9ab51de398 -KO = add847a7dd12939c3f04a705a8c69bba5ed17cc413ab9c0857e6ad2a93635f9052c43e8616c6398e46f8adc7147155f3a91b259ddf405bf88535e5ff989ffedd2c1a5c76ae7c374c4fefd5ce7755a3eb9f6347f2ec0f50f7c1009c2faf2805a029e88dbaea9c6846fb812a43182b770cd9f9da6afe8857470bf0638cc28b426d3e380de5d4abc1fb850e6679d9007b20e31b99313933231c02d6e6436f66ef18be970bafa9780ef9df47e153a9959ce80ad3ebfe3fae1897257107796c585f6581b73cbcbd6cd32ec970a7cf5accd0376825b1b4d94cbadd3718eaf572f351cf61c084ccb982360656a655597c19abcb014a806ea3dbe34ee694ccf83bde134dd08586b3315e2c4cc36fa5b5499676157011b289c7ee3aeac4d5cf01a14420046481486f1ea474a9d5f30fc4 - -COUNT=37 -L = 2400 -KI = c5e8de40c69a7d36b91a50f3cbabb001f8941e71189c080506e5b3af73904f72 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e124d5d0aa6e2bd560d9352ada483335ddc6dbd410a9e6470f12e47b0029d5e83b4410729450446296fa29f8f8b4fff35275ab -KO = ef813b874121f2abb87932c98374f221646c828960c60f151e1be4852756a0e3d6fffd4ad23789bd582cb29142bda22a00eea8a37df90354e8d8c0a6e42e52a0c88f3a551a83c3cf196b5af1bf1d421cf25f2196dfb87fc0302d402da0b8508679ab352de4b63fef5b226d844a6c0d60bd2d71cc55c01045b4ed5e04173a05e7bb2ec8563f864d9a1756d1f8fa772a1e37dba76a04dc94f84bdc252840def263c48aa92369012866e408697d9a6e034518223bbcf61f6480d1df56ea4201e1def62eed0cdea474b006e5fbb8c1a5fd8c27beca04116cc4ccb55a4426d2367ffdf59d792fb779809dcd922ed38f3dc4fce63fd8ed0298be14aeea793483c7868cac7f8b48dd95dbff581c921068c48a056cf878a04173674090ff290cf4db49c3485998016d20d45eb20fb906 - -COUNT=38 -L = 2400 -KI = a8e7496113ce9a7cad7e39fab2f66fe1c17fa53d5a00ec81f8f8ca5756bb01af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 014f72502e2934fcca9caebbf3598a5d00c99c71260d5e210ee1bcd5d368d3c632d96ce9eadb3896aa3ec725e0ea494904c46c -KO = f43c2b4a4d13e72fac7ae8d13edb539783b7e6f3d8946c7e251838d4689176fb08878949581dcdf78d2c8e84e2bf2c7448eecb7459bc39e4c3a4129a641363d618bcfe9d95a1d9911001aed29b4344f9c7467edb1b0b9ffbd7c6e89d9dbeec9170058cad1a101e420f3d143ec10ecf47b313118ddbabafa5eb50ecfc2c3f011f524ac60d18dbdd89cf8ccc11ff2a024d8aaac8078565eb4db11704d4b64a97548bf4ff72ba511bde6a20ce7faffdf9df418c9c38c856aaf50700d67c58ea57720a687751a99755b36a7cd9d3f1884379cd24bd8b2269257afea9e42766c0b555ab5db7bbe21778e7b39513752b4c82a4362d6e02b66c73cefce4c2a0708a2c5be42a2b5e1d53eb30a5cb6aae5618b36db7156f534024a2c7e0f89ee5aa45cbe5f61034d9d1a00e95b335d8fb - -COUNT=39 -L = 2400 -KI = 007e0e8619719eb52c0eadcef0056435463f1e0ce88c74b4af1488bf853cedd5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3ad343f620078f3669f2095195cd1f6ff8fb8e2aeac2959997421b10a43af98574403e98439fb97177b706ea9700fadb74ee1 -KO = 3b3b0059e2cc1a3911c480204b1a84328c34f2ff91b0838b87e8fbf84ba19b409fa04860a8a76aef1f7bb32d545b9fa931e11ee6ee67922ff5de26b25095a34f4b4154c9034fabd65cfc7fd52b81f116e316ad0bafef7d961ce563169ec7069661e3cef4ed2ed1b9e73efe905ceac71ce4f57bf52825cc5bfe05fccb4e7604a7eab8ce74fec81532b389f3f8e21401504e6991ac7872d7cfbbe0cdc3a5b7d8d0f5934eb84327302cbc9d25b69d7ddabb58105d35389954e9d3e3d6799f87b605dc0ad268f9d0d45931f3dc188e41a5647789e8c58469478cd704994db8049ff117342c4095fe9c881086d1d5a79d7546304c5fd4add41f923b31dd7efebd0ed3166cf92518c44fc933615f1627997b543e25d2779bb8ac4a7c098b6ee8ee5b44aa0dd2664b4efe323702676f - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 836ed150c7f2b6457bb292271ae24a8e -IVlen = 64 -IV = 113d0a9a9cd6f186 -FixedInputDataByteLen = 51 -FixedInputData = cc030ce30cf04e0b76ee1a060e37161fdf108ab8fe6e3e9fc98943a0616cc5d6147505f17dffffe32b863df834983ff9142324 -KO = 16ec832851b1ccd35779f985367f2183be1c69759277bb8ebdafd559b0088c30033a5cd654660ed617906a44feb40c61142ae58144244c56c44739d56a69ed91 - -COUNT=1 -L = 512 -KI = 317bda7e3defcc00da4dee0fbcf02fc0 -IVlen = 64 -IV = 4e72d9999b50aff8 -FixedInputDataByteLen = 51 -FixedInputData = ea02eab3a10df5bb4c58c9d45adc74fb3b5631e2fad26334daa7936a76273f18e47e0e3b5f4a7fe1529771323e4c628621e9e9 -KO = 67f623145804d59aa482e770b9bd9e770e493b1fb4f01059b0360d0034e9613a051e0df74fba89444ff6842106998402bf92bd13aed88d14d4aa84de81710a2f - -COUNT=2 -L = 512 -KI = 44fe00c79a674c9354fd7585bd819387 -IVlen = 64 -IV = 2e7766530c2e655f -FixedInputDataByteLen = 51 -FixedInputData = df2a82aa8dadc65a829675a9d78b5b280ff5943912ab002784815986c08d800c26777601351f6c3a2ce5c3697d1f54ee4091f1 -KO = 1296a1cee78cdf02f8075ce75dc2cb1238309befffeb216280dea20479a05aa977437fdc7e02512d226ca09dcb1bc5963b7460c3c032c104f17a7f45aef656a2 - -COUNT=3 -L = 512 -KI = f5746122b52172cfcabec37bdfc4f9d5 -IVlen = 64 -IV = 1f2f951c4135e366 -FixedInputDataByteLen = 51 -FixedInputData = 97354d33fe62382ba2c5f721f09185c38a3de5b631f9da42a2f394cdffea551b1d9aa701b965c16bd3e644168f5c72ee9a399c -KO = 0c885df3fd26c5319f83a67c551e90ec05f8705763c0aeb5ec3b36517cc4149cce12f3425822ea476a408d335a281a6be97615d1c1cce5b235803de59a75d89b - -COUNT=4 -L = 512 -KI = f65e8bcef0c024277255b05bbd39f882 -IVlen = 64 -IV = e7e00b1e9e9963fa -FixedInputDataByteLen = 51 -FixedInputData = d941748f4c468fa73693fa3f96a62743bc3ab3f31a2aa022a891434065a91f84fd2cf4aab9c7e40a7d93db8007c0ef84c2d111 -KO = 1ae986a0165669dae2dfcfaa35d40e371b5473abe854e3f1374d024762bd1f82458fc7fc6844a2ae7263c116405fd7258ae4c877eddd6956d7f55caabc12ec6e - -COUNT=5 -L = 512 -KI = 529b226b8f9d2f200129666ebe712524 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a964cc76faa2e642f94e1cb57b6ec29fc5548239fa78a20ef274010bb119ba2a3bf55baabc051a40a059ee7b4112fcb7a95cf8 -KO = 9a31bb85de0d68fd58757c0191c6c2a852bbb6819d1e3849c0b2cac51fd21a5ecfb1382ef8209ef1e7102a84fa6e32f65541807eb69d5c55630b6c290a344ab3 - -COUNT=6 -L = 512 -KI = 39cf668ee319e472532200c841831e23 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6245925dd77c28833b103e51fc0d547762b04535442a5d5218ba6fe3d98c61a49608959e5ad31e4a492437f512b4488223c08d -KO = 13315af7b425d4389dfe872ac435ba6fd06c56fa2e0b28af1d9324a3d1252c4283513b28b6f937ca5182f06706f50a91c3e3c9b67059d135b26b24b4f44fd5b3 - -COUNT=7 -L = 512 -KI = de366353ad0326144cd053604a1dedff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f16dbc10204e4612885f59b2aca2a2132d7b43c435da00191a2e87c52bbcbc2d994e62586a5170b86a962dc21574183fcca50 -KO = cadceafee81a314478b85118718c73fde81c196bfb106c7ce42260f82dff907eb22262526c011661d5fbbd99bbffb7afecc59a6e03baf09531383d95b3b1a218 - -COUNT=8 -L = 512 -KI = e437b6f0be1df205a83cca3e4467a8ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e0f8e5ffbb85fdd1cd0f7c72bf1d81af355517b0e59df0fc4ae4b3d757de3f1ba0f57a9fa11b03863c897d38520ff063e4bca8 -KO = b4d3309f4dcc3d345b8c9b33781a222c9fdcb3b9a218f17d297dc6a7773364ccfa6059c847016a0e97442798514e910cb0e6d0b28b75fb32910d3c3121ca7a32 - -COUNT=9 -L = 512 -KI = d59f2ac01dd01fe08678334628b28c40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef881828f7693fb06982c8f3e25eac8eb8d576590e9ecaa1a2167fd343034c3598ca1b53e9fb06dee6f3f8ea78019ef3504fe1 -KO = 2cee01641c04cddb9e519d51d22eb16524ed75f63bfda630c968c119642bfcdb371d5f81ae9e13100cdd876bb6163c3872945a99c41784a2ee88d42054a67e7c - -COUNT=10 -L = 2048 -KI = 4f7107978db848a59f03c9414ca6610c -IVlen = 64 -IV = 8ec0f8ac1f6dea73 -FixedInputDataByteLen = 51 -FixedInputData = eee56df9705489b5a7a911855d8e9e5f84e868e1c1c9ba3c877a87c5dde9830c886423a81782001bf4ee568bafc2edb9ded37e -KO = 47f64ebe00ef2e2c66bcdb7eb06cbc52ab7af987ed318c13255414736b2010800a4ef4626cdd53d43b8f1eb5f22c102a55827b302e050afcc1957beed1665ddb3e3c7d5a0b73b7953763ee11f4ec93ef5722b366babb7c996a5db6438ef3d76491ef2231dce764c68f661dc529bb21925f130d4bd970402a1e3e7a527420008533ccf5f0719f324c6bcce42cd7e8d5d54aa4cf8ca21eb16a253386f44724eaeb06af4892a5b91063f3cedad543e49e04de43c61a2aa00754d7f57f10714cc372ad10cd49ea740115ddef2385afe64de32edc930ec66fbf82e316f7511bba6a347d6d326cc410e61d489e205464a720be08edec96a0423db60500bfc6d67d51d5 - -COUNT=11 -L = 2048 -KI = 0f3fd85d34efea0ce2c4428f7eb83dd4 -IVlen = 64 -IV = 27c1bd6027c418e1 -FixedInputDataByteLen = 51 -FixedInputData = a0d7058bb6774a161d4a37fa0001d64666c11972b9f9f8e2549c3ee47fd4f6a7b50ebdb05a28f6e958c9b820df20b9a381f9c8 -KO = 07f47b1956c867643938bcbdcb7b0538b0bc47651d318ef7ff2c02215262b6c1c2bd79734b400d6fa5851cd7ff18cabb0c2ee1cc0abe12fe679d966125361de0934b724707c04dfca549d7135f3d8e8438d9471482415cbea96606f23d80e464baa0851a73c9773db07e93f4627ba887d6c4d8ffdb67d36e9d7d11c96f004d7778bf87df7befbd7e042496a979cf3568096d5a061de37cafa7041b73337147056f6bbfe72e580779e17c7d725aaee7b92cb6a6b5ffc4be6845eda476ab32cd5c85401268457d63294405a1386f204e0eb288bd2314068588af0b09fbcb0952b71017847578a932759e63062812e35355959a0c6ed43906c21e1541a6189e97ab - -COUNT=12 -L = 2048 -KI = 98cc530029259ec530b7a0b92fc6114a -IVlen = 64 -IV = 9c43e0232323394a -FixedInputDataByteLen = 51 -FixedInputData = d5b096a8a78c9711177fa69a286da5103fb90e08519f130c3d32411605e3c88e568f51c9ed16009442f204250cc82071222f35 -KO = 3a107c2a66135dd1b6d9c94f532888f92862c487060dae64a50ec5f80615a9c12784026ffb8772bd555fd925750e03c1005636bfb64cce325baa17cfb9bbda51a7aeab0345ca43d7696a5a6b0f1ca300acb7d205915a75fba4cb477be31d8b3151b6dbf78a67c34242ada469f27c76c26bc260e4ccc9d87c2d72006cba932c09dbe30f17c4efad770cc5bae3520ce9ff3096515ea969a5680dce6691af1a6a82016d479671c402e51e9f26adb79a2afe5b1414e602f9ad8451f173de0ec2c25d76a93d1ba1cade32e07f3ee1d630d53ade4f2d91b49590a1e23b99fdc19f5689059a5bd2f7ee3b4a0adbb60a804cc89c774d7b93bed2be8c27c3b61580b476be - -COUNT=13 -L = 2048 -KI = c8f0aef4550e4b3c0d119e63a25b6e4e -IVlen = 64 -IV = 80a304ddc1211655 -FixedInputDataByteLen = 51 -FixedInputData = d6551c348d83ce7f0282f5e3a6d8254fe40224507ed38abe4b1dc0c21d3ee50402692f82abd05c0bbeec64d23549b70037eec1 -KO = ba2551634bceef8427abda034c3cc265066307d8f1de0eac5876286fd8793a92b8380aa1b9e01d4561675417aa77149d50d4477f11106eace34e840002f57335d0da965fd6472de1049b8d547b554a81133d6d23135122e97b164ec57ce7ba460772957931e646dcd552fc3b2bad8483aaa46a696f0294f4d849c60b3bacdffb1a32ed8581bb8d752d9f40c36c84fd0b11f2dd447277f50fe28257a6e896914458eebed820b46d1ddfaa0fb6dd8b0a4d9d9e126d1a35a8bbbe08fe694d15f22c8471f8eb99e096b13b981533d8e6c63340cc06441db0bcd931da97eff849f8a5dafd69ad15afb953be460927f53359ffb8d17d8cf2e91d37c6780ebe087f5314 - -COUNT=14 -L = 2048 -KI = bc6366456a405109527e1e0d0d74cbeb -IVlen = 64 -IV = 29481fe62187fe00 -FixedInputDataByteLen = 51 -FixedInputData = 025e4c82de27414fbcab87d878121ee38176a2d3c98cd4b728dc8d2bdc1efc83bb79b623406e2d61dfd265048c4778d8379065 -KO = 374ebb1ed21c5bd31028f07051f5fbff11c18c39d732297a70778c7187b4d56b9b415fa9b0c8924484c53df5367e79378bf8f27f43b77bbf37f01484eb896657b82978d3f4d3fdbcb83be70e43c9bce8a86432d442e1a651524e6a26ff0bd3c5ede4866e823ceacdbba1ed7a8cfd6249fcc1e6a7f901368c5a98480935fa1412a62f26abace751e068bf558f6bd9d1dd402b2c2de205329a2074e7530617954f334d6c71e9c2a0c762c0d69c716c9296c24f6867ef672a5603507b703703d269191b00e55cbd2b74ec2af957c2314a8e0c15e6e7ed95bd98d25d58866d84deb13529f93368e59dd0f5ec0f3e6c384666a839e8f529655188a30f93fbe0c6cfce - -COUNT=15 -L = 2048 -KI = a99d34d188a1e645f4409aed0edfd5e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 59a49a1dcdc07e6bd9ddc2b257aa9c834b65e9f5f6301b4f9a339205168ab59c570e5232082b1fc98044cc2eeaeaeac6f2036b -KO = 95be906239033e1481dd0a27a0f9eb221578d22c7a3894614b7fcaf08d7d56e1a947e189041e3a4b3c54c66ae56b15feea49848223fcdb97fa804a53fe39cd28d9aef785a3470aacd010b03a3c51a40529139144601fbe2f4c9ff4b8f21ecdd383e08ba705d75ba095e2970ad773a3ec0507eeaf80d3fbec444a3a5998063d2926f3aa88b1182ce0ff577cfe657bbaf4240afcbb20557a4f900ed4ccf53ff5c5e8e95c87bc4a1ac93629503a5726816d279e1aa48adc12b9021a4c638500fda584cb6bbe4953f3a2d8b6261cadf23f2901bf30104e0d5547088538ebe5b7729907233a3a782b197093a2bd791848f1376e0e45da4bc6dcb9c6bf68ebb6065e1e - -COUNT=16 -L = 2048 -KI = 6397f9ecbd9cc9b7ab1b3f6da4cdd958 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38cc05e523ba6d027781dad1766eb5c875bc9225570edd5f2e5f7ff051836b6254db627ab69be54e22e23dca05c968838a80cf -KO = 62a9b42b0dc1adfb3064d1c1e057bb702438bfaa9b62e0670b1038a539207af608c5786beab1f1c345184431a8d3116b6995046adcce3d41e86f01adac423dc0814d35faff0be610812ae5dad9b7272863e10d5564c89469ff879c213595ebf1dc7d81b7fd6dca4ba520fb49a034b8a5df27fa1890c26243b1d875b771dbdc98ffe6caf71236e3648c52b0c595a0d7ff8a03aa137a23b93665e91f8e9c46c4fa7cc73f9aaccb49742af00cf946a9c1be324d754fb9be247573a714161e0f3ad13c82fe8347b75877514053ab0e83bc189bf6d74518ea0d7e7dcb16098a31da740ce1d2b80b0cace34d2fef2b5e243389b8281c17a1b8fa9f10b7f3dd2dbdd18d - -COUNT=17 -L = 2048 -KI = da4ab8d3b193b500e6bc282fdd13c0fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d694b81a5269db2da43f6e297a0dbaec23c1b7608199d3c0832c55119a2c47385ee17854df9b9088923bf4957664196b98c5db -KO = 0ab55a7da8637aacac6f8d0ea64861d1af074285529ee431e20974d7cd6ee52853cb7482c5a27403b1c48273c482c4cbbd09423826ea8f68a8706a5e0af1409aa83c78556e4cf6d0b33307ebf8bf1a9ee988d3381628650fb197b157f1da24fdd7d2c1a21c76e79eb09d0f04c9b86187f521f8568f0c862a5fa081b40f5b5ce354a36e8f7e02aefcd33d083ddf99d881040e52568feea31f05f8d709c5ee891a05b5c39998461d9a550b57397875b46144990d03f41b0d2c97a668699ef8efc41b30a8b0e6b2f9729ece775b2e45f9ceae58248f21e35173bf30e6d379c97ead79b42b28346fb500c2a3f81659b82ae9598c18815b519cac8f8726ff8c55250e - -COUNT=18 -L = 2048 -KI = c7ccd90f21c7ee0a29e35df6c221232a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = efd32638f41ee0104d2d648ba339913b5fee107f4d1ca762d212d1170bbc383763d173db2f538d2818a2e3636740fc99cf14ac -KO = 9fe7d9999873ad3ddae4554d33c84b04838cfea5d05b5547dbdf128d96cf4e0ad876ffd1ba16f5b832951774200411e4fe8a386d2d09485b8a46f82f75fd3dbb5c50a34061c36c6f09e9d21c0cbf89b0a90d4afcc094e9c8c17fff85d2d7c1464df1c952c7b0b15307235fb3f5aeeffaa0000aa9ad341ccff27473f246a6096ba1eba63408c12f7a2d869b51bc3f486622de750832d6c1961c66bd9ee904230698ff493b082de5027b0c68bf4ddd8719c2dcb9df705b72a4c402a123cec19ff431fe34dea9699ce03f661bcb977fefb1c3594416e7caed770d2bc4a627a8d06d8b6429a8090287fdbf9f472407cb489133ca616cd48a9947c2d43723a3615a7e - -COUNT=19 -L = 2048 -KI = 00a60e40d1e6897979d4af7e9c3e48a7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 372d0ccd350fb45965541abfe1852eec374539601395baa087cb8fe230c8db84a63942a35dd518ec3470d78b5966198bb54413 -KO = fa997f2bb69cf72da3524e4ec89b853ea9b79537dec01f2c242b5c1ca84dd188b5e4cdedef39d2eac8eda4cd0b61463055f6ac6c1e72602332f5f0a63503142f9a040f18caf0e18529315f60a992e9b0e2fa7f1f6a7b5094c6219c32768d0650606e5e97743463ee596ea5474b970299c6df5fcf45274205996910cf53c3bf3fd8dcd24ce458a7a5013a0d6432ed8218fc1a58ccd04cf05b72f77c0e57db8501cd5c274e1bf3de9c19badbdea125b6f7979a81b1730ca7243a06d65a36d06844c459a62251eabc0f684f33183c4a681066ea9267943986ea4dba2c1d2fc5287fa03be294f0d2b329b428450f52fc3e71defdb18a0044729aeb8cf37f9ee3dcd7 - -COUNT=20 -L = 560 -KI = 60adb5184c8758733e0015fa72095923 -IVlen = 64 -IV = 3cfdced4e3552b2d -FixedInputDataByteLen = 51 -FixedInputData = 1043cfbc00cc46d2b021b04026cd52bad9b6bd663c481c781364faaba9cccea71be873e5bb9ffa560b6444ff9ef0f126cbb9b5 -KO = 1fed4425c0f0644034093f8161d87ace2105aa8743537506dc4916682b604e117023d94591527de05967ae2ee6315c48df4434ca6067f3c700f0da9de37f5453ac51b4bdc7ca - -COUNT=21 -L = 560 -KI = dfa94d40a2e6efe8bec0773278300010 -IVlen = 64 -IV = 1a8e937ec5888540 -FixedInputDataByteLen = 51 -FixedInputData = 0b92378b7cdeb7494cc7e38c4edf2c8e2b5c1f76a018979b04ed9cbf4af32105388e91fb778f4ce7a6798bf5d147481e5ccffb -KO = 9aa6d3b3ecd4f955603dd400e22d983f42703b621df30fb98db8271956074b2474f4d32b05c658e0d1ab5da4e0432a28b1f269888e8d5eb3af8a4d593da794e305e06a84eeed - -COUNT=22 -L = 560 -KI = 671c7ae24935022b86c60cb7a21061b1 -IVlen = 64 -IV = f74cfe8d1dc55b5a -FixedInputDataByteLen = 51 -FixedInputData = 99297623834872eabb9ebe8bf65b45f84c57d00c42416af56be633219cf372edf816f1a4d074e8cda02ff8bcc2fe6c99c8a624 -KO = 1c1e47c07df98fada38eaa0d27cbc970f83b84f0ba5c48fb3f0ad36b5a7e2aa31765651e9a362bee8f57c07455f90a2aa3096db3b064a794051b3b5ff93785b61c8d8e2a85c6 - -COUNT=23 -L = 560 -KI = 155f7e605183769ac1b10b4f52be8974 -IVlen = 64 -IV = f2695ecdc4c7aeb9 -FixedInputDataByteLen = 51 -FixedInputData = 39d34e29e896e541c4d06ae3d084dfb9804b614a7f8dcc7408b321c798ab42b168120216919326a1bb13e5c1be7f320efc85b9 -KO = 5301eeb55d3b0efbc55ca3c8ba075e91ec9e65ef738d742936c36371a68ea4166491b147cbf03c0587df78d7938d9dddb01de9a0c68ba0e2f9118a41087234274234d9692b83 - -COUNT=24 -L = 560 -KI = 3732f01982172957c2f9e951f0e41e03 -IVlen = 64 -IV = 1e66b1f5b2af926a -FixedInputDataByteLen = 51 -FixedInputData = f46e4c835fb44b2d34793200171f2a019a0a8dbd2b00e64f2bb10e120a527817246958e1a8fada12b256d0d99e3863f2253f5b -KO = 2b976ae59fd068c805ac79a3c7995ed03bf43fd8addf19df6ec92a59f5a6bb2503cbee920ca9cc26446b50b7408b0e0963a1690d6b8c3bdc9eb3f0d8cbe78d38d41d36de948b - -COUNT=25 -L = 560 -KI = c8d90b6d2f1a03bec6e4afbac500bf81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 71eafb5d22f4602847e838a8b4ebe57a205b7f5c19c5d7765fc17ecc511c271c56864fbafe1a8d737bff803d70583f2347f30e -KO = ae2d607860d36a7dd96fcce2bfcbaae4a40d3f470c805431036ed2216ca2ff7dd1260d1766677ae88578c181640578294f1bf51513a3782466067ba549eab628cef49e4f0f96 - -COUNT=26 -L = 560 -KI = f4b5c2ba25dca202c5849775b49309bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d82d253ec9c4c6083a9b95281a018f6f40290fa4208208022c31e2f5a8bd24424c48d14949cab34729cb9bc98db5d1048dd60 -KO = 20595b32a39b3d1f925071a23cb6ca8540eb2841a70979308b71d74cf0d8d57646ea73e158e44a7ceea305639da9559b79a462bac5f87e06ff69238358b27805f60d517c5c0b - -COUNT=27 -L = 560 -KI = 1c47c80e09c7cf40a41ff0abd08d8921 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7d4e348f9a9467b273ad52205b48345e6e328992936b9531e22e334df7e4b6241ed6b9fecef6430cdb3ea25f55856e741d74f -KO = d9b3aa9f7e62efb7b2b36b05a4617e315eb3fd19069821bebb5bfd7544f9c329549c427714d23f97bdac10969ff53e057998ef5af85c11e6f2b0581e2e13008e0c87b86c1355 - -COUNT=28 -L = 560 -KI = 2da7b9e51f937d3ba987200cb8f85de2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6430cce0b2d43359139172f9a1cb0f4b82c9362dbaecc9e0eec45c6fae0e74ae116117431b7e2796640acf79776c5dfe31ac98 -KO = e130013f03084d11cf8526c23110fea8f651d2069dd27dcc57508108a63148fc59922b3655e9eabd406b0c8669be3e871b29f98af7d3068466fecf6c06db00ac3e84c4a07987 - -COUNT=29 -L = 560 -KI = d29c0c26913bf6a4c50d29ce9dfe6ef1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1912d7ecb26a2e8429592a93106aa883a2873428575e57f48bf412270d8c11a318c944491665513147488bf88ff8338b98b39c -KO = 52beab6fa8e0147ae13eed32f8352bd4f07017d84b503ed1dc6d9eec864504c029b4bce075dacefe6dcbe8760925ea6470ebcfb29e9288549cfbac33cce65322b4cca3ef5ccd - -COUNT=30 -L = 2400 -KI = a2c92a59c10dbfea7f653e6052225bb3 -IVlen = 64 -IV = 5e62b2878e200770 -FixedInputDataByteLen = 51 -FixedInputData = aa5aea27241834dc31c462256014936cf97504288130a46b3015b6e30610f6b00ddcc4cecff3c5a85a74c3065272b5c77a563d -KO = 6664e9078cb9ce56f4cc53d489f0f846fcc85af1cc90a0bda71aa889550089574096ecaf814fa4214faedd74a527380106f79d4e37918b30bb8b11956f80c266dcb639f3e0de9db79441bff71e283fc47e30632b86892fa6eca228e11da93c61480c58520a2058c4fc0626add737949babc9109fb7bbe36c41efb20780334f409bb9f6d4cc863db044e61c3ab80b629f85053c415d24caea48e5b3b75f00839a8ecd218b18f9d80d1811f4b1ed21628daaa2b0b42d72dfb03de1a8959df96475444195f0822ad28cb083b6ae812326e77a6a929e009dbd6f93ea95df0b00ae67bedd76ea7f6a3b6be63356ce48d040cef37231f59c0655be86a9a231dfc8662c8ab9d2e1e8dcb9ceee4bd3c962e48680610d736a5cb7522b42270a6af6bf61bfb7d1478411448780e7f17ba2 - -COUNT=31 -L = 2400 -KI = 9c9bad3649c1952f85750afb938a00e5 -IVlen = 64 -IV = f8bb55561a63db1a -FixedInputDataByteLen = 51 -FixedInputData = 8b5dafdeee6d300b32c5457d9e22c9a05d5aa4c4c0d38980616c6fe8feb859da98497aec6587d9f73a5305f305614201643d29 -KO = a76f2816c46f9b254fd22ff71c4c01ee4f3c4442622f623f6395b2347d1cc4a50c8a21da5b6a2015fe814bd778dfbd49945655ed2be678e54dfa99172d716130440b84bd930a34e5167532611f3b409226722b687cccc17d0635f55171a93b8d806c71b4a3daf70c47ff9b0344e884f24cbe3c585de43ecdad134020cce5e4a2476589c56f2221835e35595905cb6c036f94a84c33c659547a9f37b19d6c1530878207b73a9a26d7943f7ef53211335d873edccbc184bae017d37607c18cfbbf1b158cc0a4b24f16a116182671fcfbdf1390e74c74e67f63a6332a5b4dae0c8b399bd3c6844bdee6ccf5ab21d3b1af7b0a5652610e0dc474b17e508f07b6de638f8d762ba40baf217c5fd010f1eae2fef5e4554e6fe15e3e2c1c704f0c6affe1536b944cd4840426a6287464 - -COUNT=32 -L = 2400 -KI = 3efc2a1e9cb602724c98dd4aef78f25c -IVlen = 64 -IV = 17307cc1e36b5550 -FixedInputDataByteLen = 51 -FixedInputData = 2be17c9d960c0e1bd483dd9f161070cd6a267a704875621d61c83bdbba0f564f4c926bd00c70b1533ad7927f1f1d0c94ac8de4 -KO = ce8f855bdbdcdc124775fa9f5284f783b4c29d3811c020e500b2fdfe61f49536e3c06b1d0ff425579777ea1d2cf4214691481b0a76601f47485ce3696062193a4b1f1c95d6bf8c18e535da598c00eaf0b4d96445c87e5d16d8df93fbe3bf4a824cac334e5f9db253ed3c3019337632eb0d10d18633cc4a463a12983c9bae8cbf0cc81e1ff558ec8bd0c3598a998778ec4a486cfa11d7b681968004092b489bdefd1e2760b2879d2a9e1ea4e35f5beb53425e104e3ef20959a784b95c2990af7889d9c7f1a58abc459ff74b3343fd982d456176bc3721f8907ad41ce7d458824fdfa6b826ea3591a022e3ddf2bed2617a58a6dcae18bf2cd21aaeeb324e3ea4d61f83552e7e9d974a20c06cab70e7ba964590fb074ee1a4575cdd64d7425f3777293351ee4e22d48744333163 - -COUNT=33 -L = 2400 -KI = 93e915929d93f65b7e7356b1a8755030 -IVlen = 64 -IV = 1fec90d4777b981f -FixedInputDataByteLen = 51 -FixedInputData = 24cd6bbd7c14d437ac55bf4e0dfe7a17cc7fadafb091c5f2755271206296e3ba637ae0282f821cd49a2e81eee96af2182e433c -KO = 136139ccf6637446d33a459b5d51a65cf8b72cc68b7933e5c019135547c43bdc54496d063e27ca24ac1031bfa812484f9dd6dbb7f9ba185e8a1cbc3e1a63ed619c277e4a29a748e9431cef1e8fab6c185111ff26bc4c6350a3c6d7b5d93fe255ae498d948e768642e14f5e61fe8d1836f7f6de5fc589e5b43ae437caddeabe4e6ede46e422a3ae22075aa39068c9a0672f8c1f8a513f8cb34889c244f0110902dcca51b6c4b1375aef9e2eed2a2839eef8b2a68d6731c1964c3b66b04ec3d20302005729be7ecda47bca4e16111ef87cbb1024e466eb8acbf07d95b1ebf3e167f118b42d2e410d65301008467570dc992982c97548b05599de0e2de907ce1b9553ce686a2ae6d041969b2f464bd5bd7bdb99fe44378455a1bcb408a05f9549c10132efa9d030616e1b28d976 - -COUNT=34 -L = 2400 -KI = abc5741464ccad4f9226c1b9b2e2d210 -IVlen = 64 -IV = c158aa53e54b412c -FixedInputDataByteLen = 51 -FixedInputData = 73311a4d3a7d608d1506fd36a147fefb8505ec6af09f6e6749126eaf00e80f5b8153e2decebd7c7f35c860dfd1864651f3a9b7 -KO = 051767a5c29043367faf1764a65fc139a3abe72553237947d85c32881cba4ce3c5668e5a47b5a1787587e55175d11f7db15405189100dac37ead8943a2626e160f2285090552e1d5d99ac7d553cf3a5d3723a9b9c90a01c2b916a1159d3949d62464e72fa637679f96f0e1808b7df14c2324599b8fc51c085a926c5d16742d41a615111220a2d685b2066179c8688ac7166752c4af1a92d6f9e7421193198cc66404c0fc9b8509a40f0d3c8fe1a01fdb28a38f6e20c3514f3c9b01404678125beaeffd09a101fcf17d23733e4973421c49c70632b2c72c1fd7623de2de2afd20456362563e43a234cdfc9896569233f7a1e8b601d592cb3dc92cb313934e3e1162dba3dabe88133eb8b720227a23efce4e30d16e9a62f3e718751706ab6b3bb9e318bf11585f8bbac4c58185 - -COUNT=35 -L = 2400 -KI = ba383f09a918d16ca8212f183f10443e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0ae42687a8042d3f28a7d7c9b685fcf03a50cff0be5f5611eb351b03562385c725845dc391cc1c2db934e23ed62129acff7a38 -KO = 0df25834704457cacbc04a58e1774b451e758ef7f143fb3bc6dbfc5ca40b6ac27c291babb5a25a3d33c3e7fa0afb54cd9cadbb31c646b2e21c3d95d80c5769cb525ffca57825049120e445be24600ef8e350d1cda7e4a8f8ec91ad4a4302574aeb32b9f0d1741a4c31e5b104f38d097c5aa4f540cd65a4f6969cf89c165c495a6d8daea9cad67dc859a418eb64d53eafee4d4a6e91d831f8276ec939dded3036d5c12d51eab0f82ca86eed94c3ee5ad87aa5fce5a8543e5c2b61fcca56054a03a7eee45220f297a87d07e506efa4f62a8a7d0885bb39627f80e87f3eaa9d7e967eabdae48ce4220ed30958e8b080e64cbe6e65ec09707bb9e243435b76cb4c2543ec5cfdee5337517d444d621bdd7448f6c5b66fa3295fd4c65a5b92b1053b2755b53fa066b3b68f9dc69785 - -COUNT=36 -L = 2400 -KI = f05701e64d0c8e2747c097a768d1d177 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 416e7c2f6f3cb38f002f78f96b4368c2835c4b6af26d33bef8ebe195033a9d0333ffb6eab73b1baf92ade5abbe66b3be845829 -KO = 526012bede236cf6b29c67232721572efc629e84583cab3235e269eb1358ca5dc3adb73394cfb44d3f5e7509d220117d8cee499cdcab02b877a9a530aa31bd865d3be0a8bdd7a63e502c8ba63a9c4a1ea3440f434c040e3f5a5d8228f0c73db263f4da72d323795d2d00027d84de580302420b1b81ae28f0dbde64e0b5120e0d5741cf86b6fcada3c44cd6f14ad9ab1797e372f7f7845c01067f305f41f13f0d01aacdfa920659eb101441cb928d8061d12e89ab3ad3b1f24805ba7e9b1eb00b5431cb9546346cbb156948be97b791937cce3614e328b729adb638b67e65f9c30886b13a87c5400b38d90a16f759e0a7d6a18818994be4a942dfc45942942aefad678808dd1dcccbff4a357d259ae244b9623039bd140f85a16577e845fad457aa3dc367f8c6c10cd3e6d760 - -COUNT=37 -L = 2400 -KI = df2f5e68a6a5b37fa88e3bb9921ccd03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fde2f5343edcc0f3ba219df433cd30d9fa8aab867ff2c01964b1aa29c9c9f787ebc03565d4bd6ca5aad8e869031c4ce504e52c -KO = 8d381b0a7d697ea0e05b47e31fcf03f45c65a8773eb9f2ddb1737eb5241d26ae4637b2b926f52927e2bb2da11b1bdce729a20ece2942a5bf74fb3c0b9116e31442863b7f0954769cc302c1cb2092ad1d67667c9928b2481d83954413030b16490ba0746342f3a4e3548f3dca9d920c03b87d04cbf7dec0b3e40b467894a307b9aca3a89b9a34a54ef8e72de78e71326dce6e057132e05d3fdc9a11faf4a150bba5788a89f2cc89a8f9fde80dbdb670a1acd0054e34c873fa741cbea7333f0addcde2d343d5a04cf10fa23eaad3f4c966017a72190b9886c82fc5ce27fd223d26e984723d9b4ede3eb122e4365b4c09b1604e624d8419646f677f97bc588c4c2f5879dbc99bf94b37fd2c22897f94dafb47d214a3e8f9b0b7d4c40c1307f8320ac8449166213e2e0968463f13 - -COUNT=38 -L = 2400 -KI = c4322ac2c0be4d3360140e38dcecb362 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24f685a51f61d22aa1be3450f0f169c22314ea93946b5f0f069bd39d5761b052cc09f7f9c07d6c51b806ad8edb6004791a4379 -KO = c5f5e64975a1c2cf40082050bc10b8e61e87fbbf89d844ab68869ec6c2d8f2e0638861aea7bed33a2dc8b963858146722f1c460434c62daa38b49985a32f9ca7ed26f244834f626559d5c9eabf782f7f7a9ef4efab958e1089b466f338d5bad72d07143a526b301eee1759d5d63ed79b2f671b8f96114d7ef6f2365187570ecf5c44e29fb27a9d1c373644fbf48be24c043f7720aba675b7ad1bc4856826ea982da0a7859488670bffdc0f382807068b62ab3deaaf88a6ae6d700d9947e601c708d69880fa769a5b4afaef3f9befab4bd96c309468d2201b1f6f0d68c5ad79a6e743e240f828a7454209890f15320f2b5e511aba900385bce865de4db4d4b46b9a40e7904810f1127819155dff66dcc72308be8e220b79c6808efa8a54e3266db196f829b5f8e42517279eae - -COUNT=39 -L = 2400 -KI = 03b2baf4000744319c823044bb821419 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b90169c89189e6f4e300c63899264efbc9b8d010ade33a5037bd7aa1fae0be0d7ce62927696495079a30dd6b0f19e68796d89 -KO = 581e0aaabe352f78643ac7706067ad4a9ee917a30eb43e628e923ff5f8634082be6d7960344410a0b2167e146379c6ba31c35f938ea3743418c54d6c5d5d6acb7d689f85eda13c26e1966363abe553d13ed2676c274be34167a7f7ed7e1afd80c2ce910f847a84be02fac103d7b4ef6b538edb69cd1c40210743e212b073c746a397a42920b5d4b124ccef07804f121814791a4738ad71d3f422ec026ce8dd4cec40043dd1ff34419be67f4124c8f8ff0332ec5f173a764f9fe8d4361b2cd6c91854aa24ce40595749822a39e7fdf88705d2f51d0d0ffba3e63a4afd3e67eb10f6b7b8595222870b6e0db12cde838b16cca9c134b461f678b5b42c66990db28a04659645d092068136d124b283a74444695f676142b97f4cab26a48ac806a31b2e195f39e801a0143fd75af9 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = e86aeda74abd56ce6425fe1332a6c49a -IVlen = 64 -IV = 5569e5126d152d50 -FixedInputDataByteLen = 51 -FixedInputData = fe171646429fd7bc847fc08d4b0fe65a0ad3d47a013d7a53c26f446d5cf9d338098e3171ad48d09ef420163c428d915441dee7 -KO = fd2e5e16d1b6b789c2db71b38253efd9096887f0d82ba5a82fda29c55cf2e76bf5ccbd5e955107d52a0b3e4c9c8ac985fdb722e6f6e50b00bfc8512ab652c6a5 - -COUNT=1 -L = 512 -KI = 36cfc5d2864a458e4bc52a69c7094988 -IVlen = 64 -IV = 175cdd7b19c898c8 -FixedInputDataByteLen = 51 -FixedInputData = a280f432cbf6a998b956eacc41c0b698df2a58a283448afd74051566405beb815e055c93a737bc31c807b68692c13c09edb2d2 -KO = 212f6c1ca43f3eed1dbf0c089a431bc3362fdb114d001f52e3e401f6c49cd11de5e6c72306fde0c110106dbe19e5c0052c486b98317cea9c7e6c5f1090e55542 - -COUNT=2 -L = 512 -KI = 857fa291948b6c2e6214c476996bf64f -IVlen = 64 -IV = 6519a333e56b84d9 -FixedInputDataByteLen = 51 -FixedInputData = d082a38d98c7cdbc3fc209cc04fce3f47255fe88962a88e817757f5f19d25dfb48bbf1836865093fd8adc2a44f04b442949767 -KO = 517107ea47b263d6cf1fd688f2c42ec233fde0c520aeae875451cdbe4e1eb950ead561449831379ca2be4c8ef08d9fb7496f7817a5ff06a66c9c01f1d19f32b1 - -COUNT=3 -L = 512 -KI = 17c990a5e6021430f0c69b499effa730 -IVlen = 64 -IV = 84487ff8386cfc08 -FixedInputDataByteLen = 51 -FixedInputData = 2cc1c4e8dd2303678e0624b742be2bbb81577197eb90fbb9763eeed701e9564489966f38327148a3ce23e252b8604a275adea4 -KO = e2f9da7dd470974fee2d69268bfcf60abd1575fb15ccfd67457f0077895bed6563f155d81965a1486b93fb4796cae2552f7ec43e3570d409c618e3a3d8bd6493 - -COUNT=4 -L = 512 -KI = 78ff4f716d26177a7f7373e69aa4f41f -IVlen = 64 -IV = 684b11ed9c1f3790 -FixedInputDataByteLen = 51 -FixedInputData = 120bcedef9f199a2e74766a8ec45b3351c1c4d55bbba848e545e877cc08afef766ad27cf07122fdb4eaf8e86ffdf5dc8f6b577 -KO = 1483d538c6b18ad7af125c7000d65e9445e7771176b3daf0baba44b2d341fcdb7d2c7a63a4bf4242d75fa1c17e2a41ba3b9304529ed355eb0cafcb3871c280fa - -COUNT=5 -L = 512 -KI = 91ec475d0b4cf0d6929025e601f5300f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc74a5cb6cfea9996eca036a3ce5aea5d91872b06a73f3068ebd4f61fcb661d0e38e9d4bc4c2f3dcd10c68e573bb5b909ad139 -KO = 028081f69cbdd6a6bf413bd3ef4a3f2b792818e872ded2d8f1bb3e48db5b918d660c40ee76c49912ac90a2dbdc4fdc4081f517766a46fdb43702ef9adbccead8 - -COUNT=6 -L = 512 -KI = d48873b8526d6ae919671548eac4aac2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 771f0156389b05da705765312d50b0358e53c0d07736e21d611826deb08865531b47f32d166ebcefb5de0daf4ec04dfc58153b -KO = 1f070a7d31c00a4f3a6a51a8add11704034853ed5d86b606edaad4f5d20ea1151ca8fe022e0a7fcadbb058fc851a63bedaf90c072cb2960b67545d3f487a820d - -COUNT=7 -L = 512 -KI = 8a41057852f988fb7f9106ad7e254ac8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f444fcffa36acfc12766429eec95e5b0d79503d8367eb6d8a28affe1d576de5e6ce920377648787e411c1a0fa0c4007d56a8d -KO = cb053890bcefc1386e8e8927f098a5ef644ce98b5da5528cf8f8965dd7c19883789b997b532c41cd0d9acf57559e5da50f2b17d76d3857db13c8c76dffe720d7 - -COUNT=8 -L = 512 -KI = 638e67d80fc686a5aeff6278c85abe1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1518188cb909ed767a429aa37b26b142b1d16fd0889031c23df231d93182a64a882bf28238f49254f3903528e94feb72485a27 -KO = aaba73e7026c17e6ca8a8375ea0d43a3f11f59c41f11d55f25bbd39821631a0aaa795855bf6f4bfcd15a58d87ca665246be9b35c99135745b776f03415345832 - -COUNT=9 -L = 512 -KI = 06d8cb67936864c63669f04d56cc6a2b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05e33a6c4a74a4bb54e2d7d2e300a5bf2abaf95de48fbd28a81ad081ae08bfb7d6ccb94d829804dfc2c807c7850c63343679e2 -KO = 3ec87a8a5185c512173cb85b2012947f0411488f2adbb682a1bd0954862faa6982db7f83900aa93988864edf007d95736123ddff0b1b7d66aca0cb391ee81dbb - -COUNT=10 -L = 2048 -KI = 57a1a45414248401e7282c83dfbad655 -IVlen = 64 -IV = 57356ea65b833c98 -FixedInputDataByteLen = 51 -FixedInputData = 15249d39430a997af4359447397330a951e8bf9ab8c7c48d3f0e92b5376384c26cf6deab2191b667d17ec38177f6dc281845e3 -KO = 97d46936636d47f5886ddd30048db6f550b6a98de112be09782a0b41bc18a4cb8c5d2a6f510181db2509fb0a88c6e80bd8f448b0713cdcbc2742fbd2348a537789e881c3527b761871a8da3f7c9724eb90bdbd50bcd69ac8d11a7853e1578364d3f6d674ba3794a0a922b48ac4d70499b6f533ed01b79f66a81148e0fee8c2eff0a3d81bd80590ee705bd923d6e24c80ff0a86aa3987746d762b1dfab7fc36e2e8def7ad00bbb91ebb731d5d795c52c2c5e897c4b435d997510704f171825b6de71cb28ec2df9e1bde576dcaccba4d34b70298507b378245624e911674a3207bdefdeabcaf8c2ed13c1ca2f1c09cfd1486e6036cea972c69698ffabef04732ef - -COUNT=11 -L = 2048 -KI = 24e6f94cc34bd55bc9e59428e2ff3b47 -IVlen = 64 -IV = d2667f9a8d636498 -FixedInputDataByteLen = 51 -FixedInputData = f9b98d9e8562139a8e467b1e0b774471fa032d0819952a772a0a9c8844ed0c2fb85e7f8e22e59fcf947f3435f90e823373afa5 -KO = e1ff4d51aafa9d5728dd03db29a9e352cc4898087aba96a152315303557e3de5d74c3d014dc4c8089a6edebf6a1418cda302548fc6dcef6e413949b977507db3f7791f7db105a3994183222dec892d08db6d529e43a7f2163b4ab8e2ddf9c8f82ffa9d74d1a3960587fd6502f699e0598a230ad4c89765a36951d7134ab97aeeb75901211cf7d22ad5afd8feb424d3ae42fcbe6acade23d663de402f9c381626f10d97549b9d59e2824d26653d6be44e4f7a9d06aea9a2b24d74cba345c9df69e69ff49dc76f5ea7c0e547741330aa09e00ce134877c81c6d6b164b3a49b11bf53130c9a98e570b0b8e63c455b57470aeaa091d3ca254d0b65e34577af4c6dd2 - -COUNT=12 -L = 2048 -KI = ea7a41fe63900f3cda85e60df8071d9d -IVlen = 64 -IV = a085cd41a76ddf3b -FixedInputDataByteLen = 51 -FixedInputData = 81e2e0212cc9af2293c89f15af9e8a94ac2ab94d4b94ceebb1da6ae1d61b652e4d1f4d0cca1286e4e6f5f3032569a28d6a561e -KO = 47affc81a26de8d61d0e6818ca439da87e036085208aa6491d80ee716b6f40cc78ea9e915f75e95c90aaceab064c9573d9654b9784475a072c1ef8c52486b17587945bb893952d47419f5ab596b7b92a9866bf77346497b148647d0e797920b39612a5e1953c672a3f4d6961904f3b5b677f0b728eca21cb4ffb9355c4fcb15b012189058f9b5352a3602b0eb208836924a4bdaa099095841bde1a45c9e10768b1dcbfecf99fda950ebc98d487e649d0052a431527bfd771f8c446382891fa691af5d4e7ef6b2ae3983d2b66ee09124f06e6a4ebf9e93924e0eb0b7d2900f4ad1cd59e0bffb480ebe14a3a284bfb7aca3dc7a128789c4eccd51fc705f7925cf8 - -COUNT=13 -L = 2048 -KI = 29c8b47272f3a055c36d1c496420a0aa -IVlen = 64 -IV = d50b786055b7036e -FixedInputDataByteLen = 51 -FixedInputData = c0a057a110d52e70c88a72b37a7ed9ec0ce390c4f213c07e4d0b7913937f72e7639bbe80ecc1ffaf1a5716d06df1b077590156 -KO = 3aa685ea37ad0ac867a0cdd990f79ca0cdec93f5f3486b15fcf4df478d31446d05271ef4b25b938908e844738db7e558556e7f4744bbcf823cd3f5fc07d904069952771d001d5768dcb7daa4d35607808e8ee6948ddc5244d98a32e9d768909379ad5a1b461c7df1c325f37a8fe278174e5c13f642bba30a817535489326519cd3da1288dcb4c8e78f100cc16f2552eac73046024d68cd575731c2f67d0cd8f47adaf0d848b22a42314bcf4eb615bd1cca8928ed34c1b25a897fa39093dfabec3ae6f3d8d2c9318afe107a81e41401ef6e2fd33385f45f29c490681c976bb867aeae39f7c1f0bee89e070e855aa4a2b42993ba7f7a000630a193c5911e1d365f - -COUNT=14 -L = 2048 -KI = 9b71fe13b2a392cd9b0344363b26006b -IVlen = 64 -IV = f6d515762725aff7 -FixedInputDataByteLen = 51 -FixedInputData = e1562ba5e31f863811e22bc84bac49df72277ab18b057d589f09bfd1e0e243baf8894785c5fbafab91aeb3fda89763a1050739 -KO = 783b2d13b4c211aba219a3c1836db553429c66b54159faf60f490f3a603dadfd9af8c50d45b2ba04010e1e8a3be984941896d80cf5af7fa7699d40953297719376a563b8071b48e9eba25bbd55e3b00ff5bab3c7cf637e95b91a20951a9ec4d3f228cde93c7487be677f85644ba478e72f108dc1aab474123ebba8f2c7e7ebddad31b897379b4ea6b76c8a86eb66566b73cf923d6c002af60ba9cdacd8241395dc9e7e25fd54139347cd547a5178b85dc69b4cb97ef581005d5a7d63a78ff548b6748717e341b411ae9223b51ebb3700ddb235771f31bdbc46df150f1d96c14940a6b3dedd79c0cdac69f0e01d81cbbf5b33b8169f67f8105e935b9d5c97c0e9 - -COUNT=15 -L = 2048 -KI = fbecbc02b3e5b7affce05e9ce8334fb1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 447b5dbb42b2c690b4568b5d8119dcfabf0b07bddf32805ff5c470b94abbbfabf5b3c909583fe07108ffe71f94d6872fd1715f -KO = 21207ef8b4fbf30dd41cfc577ee4cf7b3e7a88e62149f6d6b65f494799e762e736cd45e8b606f70498a973d124272d4be6b1ecb0d4538fc1407b12ee88dcc54822d1b7227185aa666f49027c08a4152eef2471b0e0f76758a3c50489dc8bed951c9a0d22bbab9eba7b2e0049a2521bf0a3d3aaffad9a64724fd6c92c5c9c853a18b1f17fb7065e66a8cd070acd39b7924ee3bf7bc691677fbba20844efc6e5aea8794c3ed0b32c99db6974dde3c8cb7f5b1924b54273262681639f324cdb04109b14f0efbe18dfb8e03c48f8533f8afdba300186237a121a288873a45c641314e3d6c07f0007bd9a8bf2391cf839636116bdce7de82109baa1e97b63d6b9f589 - -COUNT=16 -L = 2048 -KI = f44901e06af42009fd9524123a6253c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1849c2e089d065959c80f5f0e868e9aa218c21af5f490b6b3823e874a7929aa1e5fcb7f5064f92d112cfcca78f809c34119e49 -KO = 916fd130260d0b1a72b2d84c1be8c9ab0277fb40a82c4e8f30f022348356c8b64ba901483de4aceed8cf2dadc33cde5318c5a8bcf2186f2a55b78b999aef6eb8d331737f863a4c2c6002744dbd2dec336a437f02dd1226d780a72a6f63c2fe16582c0c9493db746d2b2d64767b5514ab10edb41ac4272ed1933b1b27c659c09dffeed94de557e1fb7da820cb1215a9e11208238cd5e24c2ff32b60808c773fa14cdc3b9316dcf0a012d73958372e614ca24de58cc4b713193c94c275a1fe0950d9aac2be586d7550c5fa6ed5a2baa71b36d6edea3080db8bee0f12414cf3fb097d37f0ce23eb4ef8e0e9b9599bb536b1279c3d3c574f8028a61902be492c5dfb - -COUNT=17 -L = 2048 -KI = 65d5e404f75bb4c06d87f8aca6b6a5f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a642b0208fd782eaa2bc7d727d87e3a66cb3e8462885fcaff29642e1dd4a57510d8d44794544469651df10b6e2632b04a2ca7 -KO = 0d937c92a5ed07f4d1fa41a62169ee510cd7b77f339599a4fe108fff9f31300b820560a35b261017c838432b9e777ae1b44b2626c6f3d773a75ec101d1c7125e03da46a3fbf83c188e988bf714f64d344fcaa8ed3b3164a19b355954e6438f9dfa0a319a45b5ee485965ea10a5b47f81613c2e315e5eff33ca34d984a2354df85582cfeed536eefd17f01d766037a60a17a25e0963aec7be8b025911be3ebcce6ebd5c8035e107eb1c159efbd3754bcda503e4fc05eaac3eaf8ee3e64c3390beb7a1b543ba0b38c122632fe402f2a1bcfee7b32e9ccf39aa54795e1fc97e48a988e672119910799f270cff58bab667c64e81e470db277b448e831aea499441bd - -COUNT=18 -L = 2048 -KI = ccdd4d97a097ea3d2cad58d19e528bee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d25114007a132ce227ab3758840e5d6d4e3720ae4f3d812c12a52fe580b8f69a3102817c91cf589fbd18e3efac01572086b95 -KO = 919fc459264bcda193e3c0060cafa6142eff9fbaafc76b630195cf15a0b26cac81329ee98180b65b4eb06402b98dc78fd5770a3079d3aa63e165465a9a989de17ae7b7a29ff64b3b05245cdb63de0c7a3bf0b8bb12e2a83ed4c58e7b45cbcadfd91e3332dd650ea23340634921111785fcd373a346dbb685c577fab8a583f27437310f4275aed30e56462c62b8b7e993c11e41c917d4917aedbef5a9490301592fafd4c05a4e4183bb8e0b35f866c70b157358f94e7bfd926372379771278e63ad0ac8e95d3dba545ce36c4b926b1247c0cdb109f3d9013c034c7f6bc7048475049393007ded27f5528e0c42cb4356e5a9281d65e0dee258ec0854a142330ff8 - -COUNT=19 -L = 2048 -KI = b33ece696fbe26eb22832a51a90c48bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a11ddc380ccf67976a74bc8ef111f096396f28080e7bd4b3d27a603de4cc41c9a336f955b2419e9f69a0df4159d899fbdb5f5 -KO = 1fb02c18dfedff0c2e3e92c5c91f22f50c5fec3919d7cf7bcd894b1bc62b81e0eec6b01c07649f68b43a5d7117a4696f886115f29a74c259d8ce86d7f9b13a0e90b5e081fdd670acdef9606d9f882053f9712ab696f45e63ba86a17b510a945a4aad4f8c1f856c29177f8d70abb8b04206d40c7f9b3fa3ba68f474623e535c354ff2fed40614d66d3cd965ff02bf3fca15fced412230e1192c6584e5300d45710e17037bec10bc8b999a3155cf30e5e2b8338a2a178798226c818dfe462d02074e21098bdc8d1fe2d9740e18ebf3680d957d0521e35c8144bc3fcfa903453933d783ba95f7803c08acebc1ca43e26ca24c86fc5674c4b016f821a3e9c31ce408 - -COUNT=20 -L = 560 -KI = 0575641b57d40af124c71027151ee317 -IVlen = 64 -IV = 31182671747acddb -FixedInputDataByteLen = 51 -FixedInputData = f025ac9bc759a492a69509c8b539c814376668bb7faa9f398e77379b7ff7a6df44de114cb0d5607e8402cf00a9cd22f6a08ade -KO = 20d6bc72f1438255f4670f1c9033d3de1fb7c43b117a055c385edde45059271bd130b551689ff059481f360d74ab21611975615f87a5f6d8e4c3b96691f4a0c4aad3aeb92829 - -COUNT=21 -L = 560 -KI = b88ef90422246d124bebb825ff865efe -IVlen = 64 -IV = 1db5fe1d951860d7 -FixedInputDataByteLen = 51 -FixedInputData = 0a1de3aab60c3611534c554141c14884e43590a8f38d1531d34dca830c45a785f508a599a1fd2062be5e30c061a2689bb7942e -KO = 6ac6fbb0eb226852d89b9e6a6c60599cbbb36580c4f30acd9295f44c8d2c8f7f9fa364f7894db7fe094e214a8082dc09dda8d9e4acc4b18f362b2458979ae202d88e5f655657 - -COUNT=22 -L = 560 -KI = 7d8b8f4743ce74c216c440969e02392f -IVlen = 64 -IV = 9757e168be47f792 -FixedInputDataByteLen = 51 -FixedInputData = 8f7e8f94a91a41e0c69e15302c5bd46c331edb03163d88de04dc174ea6c33c47c305e09c30d405479d7254d3386167ebdc1d18 -KO = 1be6c824a9b0e782482199f68a4c52495d9fb85c550e7a2bfc46d80763d8cc61e879fe7b22edbce0adb4acb385ad01534647d5b90f06565f23f9e7e608898a668feef9402422 - -COUNT=23 -L = 560 -KI = 3ebdeaad0212fdcf11fcd14b9b71772e -IVlen = 64 -IV = a1b976b6e7f30587 -FixedInputDataByteLen = 51 -FixedInputData = 24d730a8f5b04ac76f28e2cd85f61c92f806540f8aa73bcd369675ae501a5868f663931b201c5491909f1aa63a6457f9e6695c -KO = d795407601cab6df69562bb9df3f91c3e93d75622e95ce56638ce0ec13afbae8bf9d07beda42ee45404e244c493d76b99b1d4764457e8b4b945ca162b9b9b98b0eb46bc5dc99 - -COUNT=24 -L = 560 -KI = 2fbae7c92354e6c015a286518dbe8e25 -IVlen = 64 -IV = b5aa19f3c2183d08 -FixedInputDataByteLen = 51 -FixedInputData = 3af7c99378b614bbaf716b2d0e6b3f96a6611dc40ba44386e09120be2173899145ae550cad480752fc1ebb189e2fee4f2f3e5d -KO = 2fed2b8a3f53560ed5cec6e7bc73b00c716f1405f61f79e8e3eb1c3edc6dd1b04b721936fa3e16ca28a5eebefe70b1a97ff121d3b31b4d8fc045ed85357a72e975b1c8823677 - -COUNT=25 -L = 560 -KI = 2b9ddc973e5c95a6cd82911b2b13d3d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78d68a6200bfd07cfd354e66e334ef16c3992caa085a26d80a9949e8de087b82c789a128e94689a9090fd7ce08499ad8751b49 -KO = dee82e05e76cf52e372a12db89d40b8ffa41c208c4fc93df55a98934feadbc066f48b8898e78019bd30f6c8b0c37d198827b822036e9a3cc6c538ae57959f0da06d25edca4b0 - -COUNT=26 -L = 560 -KI = fdad922d24d414639692a7ba60e99a4d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d9384176d78f08ed94523fa12b79b1425552adc33c832443aa49cc9d85b6569a44b815cfc3801ad4efbf59880ed6fecc98e19 -KO = d81f42a5bbeb6acd8bbf6db40a33315606f36d50fefbdf7e38c749f9bf03024b887e4297c942cdffadac18499dbcfca702d995ebc87c95bdffd0cb85b320bbefca12669d18ce - -COUNT=27 -L = 560 -KI = 9166f08ac2bc6c83b21a8718c4a73503 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9fe50f335572e9ac4048b3af317b905cd68cee20b8eadf8fecae9ca9fae708436806e4dbe17511ef81b18dca8aa61fea40ef89 -KO = a97736e72ba09b092be1467c5cf61bfa48345ec4f24e2ff2085baa57d8d26ae2c2674bfb7ee8367574b651e5f6309c2825cb3132fdb701f0b872179c786b3e9705c053bd976d - -COUNT=28 -L = 560 -KI = f777d378c9a7cb03fa598b35a0032987 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ce49c796c3fd0d26c7b7fcf3054c29fb4b57d0aee8838bf210f613b61df0d4181cafcd8e66e3a5a4cb7fbd7fd575a5e9a0d0e -KO = 043e17a85838565b9cef396dd7163a9bbe2db69aa54366837ce4a5d60601b79e73e00541087bea05766ad903fa97926a64d7546275ef828f1868ba26fba57e8d94f21c8ac8ab - -COUNT=29 -L = 560 -KI = 95e187c8e885ec708cc635566c8cb1a8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9264c57f5e7b8c1b9fc2ca828833d27c48e607d23a8793788f9304183acdf33102f5a0b10ad72bc1f51657369de24a117685da -KO = 471418cfa14c8b1356109956b22a6a5f071dceb8407015b5d0ef0684ea00559259bcefe3db4b7950e9d3953ea675aa6fc93e961d63443926e478257c1959e31fead27f2e4664 - -COUNT=30 -L = 2400 -KI = 90fae9659e886c88bb2a99de63d4249b -IVlen = 64 -IV = 8a3c19cdca9e31c9 -FixedInputDataByteLen = 51 -FixedInputData = a56f784f4f91ce280e383ea7f01cdcb96f298e73e496b4d7329f1785d626766131c365a64bc808cc8cbc2748ac77f8e6594732 -KO = c25ae2ce25cd789582fb5542c752e9df20966db4db07f594068d87f66483822a1a4c365af4770c7bbb97617b183ee41a0add89c663fee19077204f3b887b67dbf5d9420e81f9bbb6407e9442a25bd73ed702c6891170b33d549f228e0f762a96e2a0e344e4760d2d97c869954417fb28cf38c7b51d0cd829fca296106b4898fa9d8c060e2f7501f164005e72d01fe86a96dd02ea16547fc9cddd8670b8dd2cef6c65c7a1f34422c0cef835235c0e7e1de5a407b2b1e09eef190ad40c1ab8d899e6d2d3a1c5a76cdf126184799d9294a4a2f511748523b8b8272aee8f3ec4713aab3be7acfa7195b5ee2bdf7a906a31ba274f4af472eadc79518ef32a5fc156ec0568ed5151501170691dfda51b2a65c9aee3b0bf318bca8827b7c01baa746809050ec771e5790856472aa206 - -COUNT=31 -L = 2400 -KI = 34c21cc59fc153233f8587e5ca0c51a1 -IVlen = 64 -IV = 3ae9e2198fea575e -FixedInputDataByteLen = 51 -FixedInputData = 3781f2e596e8c0d17eac5a4246469f6d0c40a1c5b7c9ab9c1e7189b1927fe09855959a7b066cebd4e009c470b9f8a440951ad5 -KO = 4fd55977f5ae84e02ed47b14a04739e166aa93ea706de49ab7cf55c8ace5f0456a10874e5be868e53aeb7d3d3636965eade07b6e37d3bde0b95d16a8fd1f6dc5c9942746529f9283752a5e36d172487ca117c9d7626108e03a51a8af9d3601edbab5643c9919ebace3167128ea6560b0cceb226f242e6f763e91be014c38c6e2826f2237193d95ca853435bf46e65e4bef9e2fbef51d503b80dfb3a4383836d06c75dd54a5b61f374aa6bf36cef14a9e8e16a56f18232f3a33879395eb2e9d4beba75acfc2bfd45e3cb6d9b35e633ff770c87220ec0d2ae7a2dab16a5b2b69514843931d01c75f5aef050f02ab8988bec56aed7f82480f6abc705f16fddf29d2b56ace6ad6cd815eb693ed0ec9ac1d244cf9f7e7f2969f5ab2bd564b3dcb0b3801c4f41995cf4cfd072cfa4e - -COUNT=32 -L = 2400 -KI = 246546b003f5a2e084c930c16e2e5ed4 -IVlen = 64 -IV = 556d305624338e1e -FixedInputDataByteLen = 51 -FixedInputData = 78b6a43d963728251eb12d4ffd12e770eafe3da260b56750cc5576703ece051a7bef3157bf835e96db441f048720a2c966b8c1 -KO = 1d7605004b8fd1eefcd2c15e31c5b3a99534b1215a069ae176b787c999a0778f2c204bb3e9d66eb4cc95a79745d8433a4930a4c759c986c50edf8a24c71e1704a44185eae396d3e24d65dad0656a9141fd7154e551bb5966dccf90c706b091447565f5670f5f5e4a1bc62f1224c8d6fb452019c7e2a63bca6403708d9a36f3bdd3103a5e19fa71c86b03a2ce1abad09e5bc9ade4de6846194062e0da2ca42d2330c34ec55ae7b2a919783f01df63464699b850c7e48df6f0868799f7eb8651f1c86e2ef151ee8865b488136870fef41abec7f2e2a512f3b29aee3d8dbe8ab4e6d1c52ac10248767cd78f5b10b1edfa262c2c8ac76d706154161cf29a5c6ed4d5836e8f9d35d69cff015bb789da3ff544261ff15a1f7d3aa0ccb9e2a85749d33aea7d39d7c9b727ca8dc97a30 - -COUNT=33 -L = 2400 -KI = 8530d727ceac7e000d3f8839fe48bd6c -IVlen = 64 -IV = b1ede025a9062a98 -FixedInputDataByteLen = 51 -FixedInputData = 6689340091ba4957220fb90eb73acc7192f5e9bec9ea74848cfb4c27c3d06e134b0c8a6c1a7df0bb6ce93f9ba444f3c20f6827 -KO = 79fd946733c584a94253c5ddc4de84710547fa03ef7e3321e052701d6ba996ac257b3889c9295c92cf71799d65012ed6748f2b1d3350c7e11065c4defae891ff0a5fd82e6c1596342be2a8246321b4b069cefd5376aec554bac0601e974f12f2902d48c2b36e685da269c6ee71938d0f30fdd0190021140f1d22172a2a9474e5879c40b8cb147beee4168a0a49bae1a77c25a20ae46ef3ba9c78e343880e3d81f78074e4902888e12562da35a5557aedb81419947b425f1d91ae216022eadf8db9fe9abfc2afc5c9e54ff69bb170809c0b03a6e503d8108d0e420312b702ec2af80dbae7fa887c15f895bf098038d364b49884ff34442cb1739f52df61ce47538026bcb8cc9f262a467a224502538d848c2799ea94afd16fd24bf5a2e89e99298718443a79f22a2681218517 - -COUNT=34 -L = 2400 -KI = eb8498c7de088702ab09177d7ae8d0fc -IVlen = 64 -IV = 1fab48af7e5bfde1 -FixedInputDataByteLen = 51 -FixedInputData = 749f9e1856a98ca3f7a4253e06753828add355e165fbb6b4a8966509c09d9b2e3ffc22188ae07ca16e8887a69bfd6f4641e72c -KO = d0a6ecffe0481a6ad03dbbce016a20e51518169198da238a007ab6a17815a91b4eab6a2a8991401dab869b040633bc881a5307e1fb553fee967155c181ca83a37522fb2c5aec68edf6c39f09575482fbd7f4ddb1694076291fbc5892b1e601ad9cde5fb92e8db54c2a23eb867cac307855ee0eeba3123e49b802f859e642c84c33f575a130cce11881a7bef43c129fea93a689300e9f234b7647ba0d3476339321c7d7f9440134ac7829352f00d90e860dc9e83e78b6b5d7e69a22d467eff0ad527a9f621c53830df61b65f41fba8279d388fb79640b480e673b3c90443315063ca55816776fe5ad7e49ac972a0956be6b670bdbc497947e35ff9153f3ea89bb343c36e3a4d194b4ce3cec4f8aa1f3cba3b69c64c2ae547a70378bc09f5fcd1c59fc720a795bdb0982799512 - -COUNT=35 -L = 2400 -KI = e4219f0455998bc8e6a8ce6a5d5a3326 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 50e63eb70fa88b769d464e2759b2f1e203fde0d4ad4c8736699f6978b5c08956fe9a90e09674a662de59f56b8b9313294fb692 -KO = 7fd4e6d10de834d9d48614827dfaa0016bb6e06c89beaa5571c93f6b5477ebf5eabe0e636da4b75e31a3c9166f62b19f3d6ceba0ed971efba5c0ef3186b2cf103a72cea034236f2f5d748763170aecfb15f701e4e40a16d1f0920c2692731177e70eca8364d599b23ebbc1c7fb02df05855eb942bc762234238f5fd165ec92d1e7e2982515fddb3dcdbc23efe0afc796d4962a56e986690c0b176b3bf49845b9f82c98d34f386287c9132dc8a20a737a3115e3deaab381e2b03dadf60b535b8809bf4a01dbc12e31cd117e9ceb4427171a38ce239c805b8524f2fbc8086f885aa88f850626a25a06412316ec410067d19bfe09ee07e5bed70d1f3f25e5c49ac35b2435f21fcea9e96d606c0548caa022040af8797dd873b00c33f088c85344c0894623fb34acf298e47d4c3b - -COUNT=36 -L = 2400 -KI = 1005a74e5ea2726ed74fddb77692c7fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8344d4968fe38b353793e7ddead91bf7a6bcb76feb1217a06761d8096c40ac1e41965e7e7d00d0b89d99472ac9d416aafdc0f2 -KO = 90e748667d3ad4cf425f47cafebcdfe9cb7ee4392c22115d36840c1bac15167284e05639fef17e3aa4d44d840acbf303ef37cdbb4f915147deabadbba8288d1c2807ff73c2ed432d0c7cc3801d57cf1adaf98c93355698b8a502f62418d7984d29582fb41448e0fad63be9ef943f75b3e8bf75e30aff47678700862d40d109c3d985e53c7f18f39023fa43300d1d7d7021eb6c57b2c301aee147892d153ef0cfb71006c87cb736f6bf1b431b369c28ee6c8bad6eaac5b910202e726cc5fecb6d2e225468c5afa30c97e1cb65300549b80506a177acd53e5c6cc8cf63bb3c1d2cd308148a9a0274ac2a00425e09de22062a719ee44ace8a09439bf2091eef1db770a5c8436938840e3e0d5590eae9dc0ed808f93c22c0d3cbce98a01d6e3d9520a91aad436989e3814bf45c19 - -COUNT=37 -L = 2400 -KI = ad7f3ab1ce4e6d8deb0ad4b81379420e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d57e19356d17aa46af1a9405b59b7c11e9e4eda87e41b98d119d1f3a159fa2311759a383f5960e27b67f83befb2988b4379b17 -KO = e55923d952b4630dbd3ba2eef352fb32059926ff1b53aa04bbbf907d8f2a2b89951ed577a2480514107ba7c61d083081f68c71447f87e398c43f55967d4a9c00a36d9302fbde59a914516bc86216c3c7cafa800c3184b13fe5a972347d799ad93e6bf0adce49185cec4ee512e2f06c8b5fcb186bd51a923ee6d4cef81d2cb31f52a2a0531f70d92ed42ca5be65dc78d73d25a82c1d0eae83938e23833fc09b50ed92bfdaafe204695a09ce1638f863ffa1be416db7a5a4177aba533229e76aec86e23e9202d0c35bd7842f3052dfdd34b7ceb5011c7012e3f636dc4d59b6280102c0b886e73599dca4c3c168cdbbd139f6595e6c22e888bb1b8607f226f23f0867fc3234afd86bb2aabfcb844444647473dcab7a774828b0f39f6084bbbbe61fce18f52ec93e2ed563e76458 - -COUNT=38 -L = 2400 -KI = 407e9d197cff23244dc0a19b826dd120 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dfae9d736594338334fb7a6361eea0e3e27364b45e416d4a0ec234ddeb03a7cb9abe385513755dfa308e85c98dd17d8321d6c7 -KO = 9ebf085a4a6c4574f728119e4a7ad8d94d8b4623735168b7401770354ba7bc040f0ca75cc581f315fbfe8c447e91f1621591626058b6b2e2f7cef03ed196ff74c1f2f4d49c03ae3c143da3db0410c512f04104015765e89f859e274499dd7d58a8c0a920e6df0d14140326db1d8872ad2c2b1c58ec2a6f1cc635eb3579fe09c0138f68552bcdad3a1fe81ab3c5da0cc0809de9192a245f3b5e60fd6e9149b474c5a877a06c5b86899080fa6b4fe92b8d2ca071d6f6cd7d7cd17900722e4c9f69386a18f47ee1ab78b6ea81ccc544454403b25e3e5e7b1de6a008bcab8593643e4b3560ec5972825c46834139a4801694c0a5644538778a9c59667804f61f96831229cb2818ebd48436e66cf0d951c0a0475f546f4fdbd3d94a4adc03c528175bcdb5438873840d6276ec5e64 - -COUNT=39 -L = 2400 -KI = a0052df9b3507fe138877dd861583454 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c98265d5dc02aa5ceab23a8a908569d1488381d92241245f4108f9fd4d0f56db412be18cafeddcc715f2c8c52ce8bfe56b9d1f -KO = d932b6c2bf45d0ca766c28db11513f9254f800388f6fc27c8d3abad0e3f1c399693a6daa5198aa149d5d9f4ead00af1553d1d54ad171c5622413804aa8c8ce6ef937c8f34056e154e3bbd1aa036a8d405d8b58c1874e634e7a445ffa20dd89d91c29c49613df00141482c63aeea7a96c26e519f7f7c38e5f7c2f86e175fbf9df2a1db5ca51d5528608ce4b6ca13201859300414597a9797fc1779338ac1618fdab286fdac6285cdd6637fc568042e73ec8d3956012e38847e7fa34f3fd30925204d8aec089df104b648e768ea995f23c5dac21269a2bbce2b77084bdcfc1ae6d28ffd6b135ec2e7ed22e27971e66bb351bbef9316228feb7a99f5d3bf75de04c034ca898d45a6bb150f1034b9e9cceeae0d99f40919adb946f8da477bb7ae7f0bdcca773f70e65ea1ffe1b6e - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a65e039af9b3ae51991136a210cd382c -IVlen = 64 -IV = 7bb9844238fed047 -FixedInputDataByteLen = 51 -FixedInputData = 57d75e4568545960b3e02fbfc92f1648815be11bd3363d0b0b4ab4c4199491f4144bfce6fdc9f402823ec22356ad1608f3dee6 -KO = 9261c38f481ad5cfb0bc98842065161d558f1c43d06fb1aa56611a0e85e03f1fa4e600ac36557b7e4555ad5fc4f4e7b87a4d3d26295906b9ac2875d9caa0e36b - -COUNT=1 -L = 512 -KI = 2c51a5a3e03600c01691afa7fa0e1354 -IVlen = 64 -IV = 5a9280fea313f6bc -FixedInputDataByteLen = 51 -FixedInputData = f0720f0d47f76ef661b2ea2a506dfdb9a01b969576073e126dd79e921a05a23c82d4043e33be297cbba07464ddf77257efbbb0 -KO = a803c212db40e13b24415f6ad1981ca6c17ce1fb212c62ed51dd875c63db7a3f0e0804e6f0f6a8e36fca2b38f8ff68087ffdbab96cac3fe856559fb706514421 - -COUNT=2 -L = 512 -KI = dae5105e70a6711467c595ea7836cb9c -IVlen = 64 -IV = 10b72fcc2429aa0e -FixedInputDataByteLen = 51 -FixedInputData = 728df0a35756e64a42968fbd6adcb9c0c2bc6d8bca5daa7ff5a3926f0d2b028c9a04163f81e34774275c48d801112d784c8c76 -KO = ddeab9db644dde6b8c8916e20545af4f7c0291bb4e76753d8c38935d476a1e4086786397901f78c36f9b7934a57bd1f2e34367427a0c69114ff82ac0217b2cb6 - -COUNT=3 -L = 512 -KI = 9430c685780d5ddb456fc44b1c6efab4 -IVlen = 64 -IV = 73ef7feff4c60914 -FixedInputDataByteLen = 51 -FixedInputData = 8cf6f71b99ebae79678dda7583a9bc0f037581eedd45d931d66d9caf5c202b7be62ba754d3a1f6d12f0ec0f501232a378df437 -KO = 2d83fc3b2049a5b625038a6f3ea0a82d3f35f5c6285d82d495192e78764332dd2e92158c1262bb5fb3f90791d9fefdd1cd326fee984ea2ad9944cd8dc32f5998 - -COUNT=4 -L = 512 -KI = ed8edfe489c956ae1d8d91b83c9641c3 -IVlen = 64 -IV = a7e8892a734bb53b -FixedInputDataByteLen = 51 -FixedInputData = cd7b549a76ce513c9ca32ebd1c1a82c9a6c5c7a738f3704212bc60f9a1a8f27464c8ce2be177912ceb588b579407c553b9b052 -KO = 92fd204d99e367ce42eb830aba1f4ad702d62354dad39bc3e4640f507c2bb1e18469b85d7f133b6fe7eae1c969da66dd1fa477bfaf3890ea815cef78baa6c6d3 - -COUNT=5 -L = 512 -KI = 09b6339266e4ea433f4b8544d0e5f886 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b2c734b1f54296a8479fc9b68431eee83e89a0978bcf7b2ccf10ae015e292c7fe1ea84f137ab95b2a8d096b4f36b5b3e5751b -KO = ee0e4237b3ee34a9dd51fd11cf636432f3ee3c043aab97bb2675aca0a18e955fb093fa289b635762884730078116d483aa182fa108badb715103dbb9de26fae7 - -COUNT=6 -L = 512 -KI = e16f86ee5b1f644d1e6bffea9d3b4e7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4105d8fb1fd4c9324693e653c1aadb81498c6a99efd13d2f52aff2f123e3e8a44f3c534c069060ae8fe751d6b5bf0b81b055a8 -KO = 7f025bd313c5d25f5221f56424e8b0c06cc80435087dba46fb66e5df506965859a938f33be9577e327c599c8b0851d327478ee07395b4ee616359957216c8cbb - -COUNT=7 -L = 512 -KI = c18f84d0bb1fd34c244c46f5595c56af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa1e2215dc53663cf407fa04661a83e79ead947f96a78a8262494e1b0333e4fb6f0b3f8ef36ec4a4a77829a1e99f6529103072 -KO = b71796f7ffceac408c6df91f780453c8fb95393815ed93bdeb0949c0eb52fbf53e1555f8e91e8a71ccbcb08dcca0673d2f010dff1461ad5dec259758ec2484ba - -COUNT=8 -L = 512 -KI = 1fb94ad765dc064c5be928323fcfb843 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9a7f4167bec06dbb2e39340aef11f604dc403e4ee97e8c42bf5f9a0f3e24cb7cc7ffc25a135c3d5d22b1449a2fc23852db214 -KO = 509ebc3415a1f215c27e2627cb5976de6ce2705b4a7228afca0cae73dc23db083a500133221c2ddd2d8e77f1181da81fce19c8f807cd6139dab863a2daade853 - -COUNT=9 -L = 512 -KI = b6c50814d6e70d1122c12e5d10f5a5ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da486a82d48f646f3b6a843db6f4d822d261435f1f77c8722a520c41a60280b5c9ecfcf2e94c5eb9ad2656bad7904abdd19f27 -KO = 137b9628b329de8befcdacd1f6654be8a430d1127c6ad596aa47983b26e94a0f55149aa5249efa7524efa47df72c0b315d1384945457a9c7985738d0f853d710 - -COUNT=10 -L = 2048 -KI = 77ddcbeb6049ff888929a9025e1af166 -IVlen = 64 -IV = 182232eba7f2b666 -FixedInputDataByteLen = 51 -FixedInputData = d7754ce480e698a7b8e65a4c9d43a4bad038b60c335c66ead5bb5b64d64976e05894730d280364d1e1cd5db824f5093719fd5f -KO = 5f4a340503240e2cf5a7c7a09c25a15d977624902dc71e3e05fd036e98bf039d4d4344fb0bdd9f0ccbc17951a1545d9a2e3c1da4f8d59306314ba3ffa40b596085c7163e7c5916cf2efa090b212b58c457ee219353959777bc49e7ed7d6d0ad555adfff2ca4c9886075e7e402cc3e2d47f0e9bc2b5a4f887cef738931a5f2c866894e29d49a27374b6da8bb6827c4e584cdbff52bbd27f4d8f1aa60f4a8f99d96f7183f8673dc0edfe1a9512d8df4d0efa3b8fd0b67a1a272843550e794bcdfe14e6f857523bc86801bf300f1005e2ae6c27613c1dc275b3ee09c96fbb1e1c5080a6279f25801bc7879a0b60c2659e74d8ea59c1f18dcc05e50629c369e8bf9c - -COUNT=11 -L = 2048 -KI = 4977447850f2e47700d89c6cb675b74c -IVlen = 64 -IV = 034eaa75305363fc -FixedInputDataByteLen = 51 -FixedInputData = 32d833b28642f32d0191e241fa41a5879737e4c7713a2fcce4f775cd04d48c189439ea99b8435cdd4be7070dbb8d5e56557629 -KO = 40257775f9ed826ab752b89b6bd483b0977660cf0e36d209099921f9ff5650acadafdb80004359a86aa54d6d17aeba03197d0575f7934b16da4d89c28263a5e8dfc3a1070b2a04a90e321abf97e12808703ab3f0150e36bcadc220576486e7b21e64b439c227c1250a0a2f7c1428020e43a4ef1b1023e564d935b602e25cdc99fe9212870006d537b3fb0b508a918f2fcc429200201a45a82f31d6b586ebac180d97de5a06d341d9e9394f11322d24c19aea3910b0689bfcb5b0244786557c3215f8d92d204684820b7c9779e6ce10ae5b9d8322a332078d59b6d848c5054c25baf8792f644872f03b28669932ed086a9ed7ddc91d234e913e2ff9cb7b757d70 - -COUNT=12 -L = 2048 -KI = 5e8c91a427b3f9932fa57d4099659ecc -IVlen = 64 -IV = 45f1c057aa925232 -FixedInputDataByteLen = 51 -FixedInputData = ffbdd2503503b0d58a9e5184ca1c3062ee1cd53c580f2581de4d0735ee8b56a6c1bbbfb88d13366117c9dad80e954ca0ccfdeb -KO = 549254bff2953648694ce5553bff91bb9cc69a49314327487996d5119ab5643677f82f2ccf2a02b9c807b20dba5de5cf1769e597f6dc61844bb4ba109ef8aff662fb422a21c818279c91c2bff24583d935b7ae7915a2376681619ef2c64fe65b8fd5bbb84b322058eba916ddb4874fb448c75fd12236023274241dbd0323c9c4e74b70c92fa4c1c846af8be4516b83d5d01b3526f7da2cee29c268011b8f5c16908ec76d4a89ed14d70d0357848f44ce950680bf0d0f847ad1cdd3e07f59fd0385d71ac40afbaf5b3b8dd46b94459c6326e4c3debfe6594da60e01d3182e0251e3ea1701b5e1f77f4d6d7bbf89ec2db2c90ff6a4ce0df03efeb3e89a4a80f102 - -COUNT=13 -L = 2048 -KI = 2bf5c94e4a5e2f27b5d8754e828c777c -IVlen = 64 -IV = 8d20238bd830e840 -FixedInputDataByteLen = 51 -FixedInputData = 970521b4134cbae1d17a127cc738e50ef5b3de6b810035ddfb558376bfca3d849d538342e6660817bdfc757a8b4b849e234ab1 -KO = c9213d206844cbdc2c3628ae95ecdddb182af470c9f17c589eb26521cf356e72379addbe6045dded8fd7e766c0b5afcbbaee506546c13ff9b07a8c7138ca7dfd118eb5c7d166c37f551c8d371a880ea9afc1889cdcb3b29b05509e6a3f120de9f9f6a3a9790e5d886e9a5da3b5a1053d12c0d3b99b0a8aa9fa27839306ef6a9c8984f5f5bc0cb168d3fd984fddfc22886b904da808ae40c0f0883b08932904f42827261db044f8b4c0bdd1576210617807d91f9aaf87ae252a4d171cb284614df46f45b2507d07192c0c30d83db3ad43f31ff7986ea5960a8ff29a7f57e3adeda8775ceff2c4352100e0b8ee1f0e7c2f8a2c18545de68d279c946277ca78d0fc - -COUNT=14 -L = 2048 -KI = 338c6800a696cf4386ea2ae64e7f04b1 -IVlen = 64 -IV = fe95f9ff5e485cb7 -FixedInputDataByteLen = 51 -FixedInputData = a62169807776a0c495684a6cd3710ea6c78dd0eabaa08ba38b45f5656e51fa23f14ce8d051b2e3b6ad7f8cec4c01c4b248ef5e -KO = 96b3595e261e86c1823db342a1d5a22103255fdd3f01a727b2a9bc00e9d35b00afdd3281ecb49fb79097c742635900e35c9d85035d042c479803fbd6dcc3fff80e8621b71998ae63436314c65e05cefa6cb77ea7f2772d0b4ad02728513ab2e862f34c48fb3cdf7ec089e94b8c1268be299164952f4a4c039927fb9180fada8dbc40102293d02b9cb42f1360cfa5183fd68d27f2e22fe00eb169c1bb31bfcda2aefffe8ba19e346a7364d865bdf61c72a89e72844297a2eece3ee369367d592d139b40014e6fd0e772bab63a1808b065ceb1e40b6a536c33b307f35b1b83081a30aafbc0572009fbd0a6b610e791820e9fbcbe915ceff95bb1c2df2076f716a8 - -COUNT=15 -L = 2048 -KI = 444339e2a4fa6d6d56af091bc321b249 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0be35d2eae6c784a69b825727b6adf43bfc14c991f4c7ae42cb9b787ec125d2132ee2647bce632c11fbf7341f2d0e5b9502c6c -KO = aebb1a28b7b6ad1461e50d849d1948c49bc3515fdbcbe9d9fc4d8c060a3084f4b303e6103c25bc95e357914570da8849a359897e8f8c2a9c74cde95b4084192b6b36fcabfcc6ff0996351d0007ca711207ad5b0fddd6cd240ede095d08494100e568b2c5680da74be4912ac34dfbd68bdcc3720304244d5acc7cefbfc12f6dc4ce81ea3ad2aa510ee9ff28d301f2da107a2a6c2e6db658f41971a2a9585ce32c67376c8d1e0c3d3abdc1551350533c885d39a19fe3c151c280cdbfbf9cb45772e8457eddde9270930df8ea6ac8af2f07658fc47183383173a68191f1778c22dc03e202f4c46444f75abf807de9c1943bf04c8754685e2d74468e1ae931490e50 - -COUNT=16 -L = 2048 -KI = 1001be4f220ebdd10e3ef8d817c0a3f0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6bde3cf573992f6fa5f86f2f901be2f8d7e6c400aea4a78a67d133d7792ec70bd25fa728cb0aef64c094c991128fb6bfd969af -KO = 41f0657c5ac4a0419509042d0fb0aae7621bbdf187c8f40afb779b6f0c7d8aef99281ce6df6da722ae5e69ad8dc3d8731e213334df672721ce6c0686ced9fd09a410842431eac4a70cb9de6f3aa61258268f56fcf351c6605e66b795c917e76ed7456390d22c1cc819ca619ec87724473c42332c49ecf3c162aa660ad56cef3e9e55c996e8ca16633cda8de9ab76ae63e593d441f5926c847f298ade5fff83acc55b61d2939c910731e80f1f479b06337061a8eecb9e71840d1e1b794153b2f2d04d02dff830d356d701d332818a10de484b7fea1009b0fda23e5fb77fff4623c74f5c76ab2041af6f4600b3ec2536866453a93e2fcbfce91b20266715702df3 - -COUNT=17 -L = 2048 -KI = 5c577d9141cc5974ea02719a63f34af4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a60ca7d5201960fe2c74953d8b3be46ffe51df07d9f8d6188b84510cc0dbf350810264c692d8942675d895290cbbf7e288b78 -KO = 356b9aeb8f15613d0372206b6852ad25e86e1214f1e62ea274929319702c31dc1269814f3481b033f037890cfa38b470ba7159f7c17f65cf043663fde6b78cbc5754d6f8912ca0bdafafda5b5553dfd657bca08a242d250454727a9e5f6955311c58398b90c33fbeb4a3c60e5b19792c2b4515ad76c206f434cc69bfe5ab1afcb1f9c7495f49e27c45beb71bae9098041210884d87e9a76a7b2cc01665cc86838e54295e2450cad5096438d68571d0a2ad95baf684fe17fe4446d9d3a65f6c973a48c8c62a4897d99d24c8bca2f2047e5d9610d7928ff23a949b4e232c3e73136dcf4fcec4ca490271429b2e7ed3fe7cf305260ed2b3823096e55518fc0df1ff - -COUNT=18 -L = 2048 -KI = 5fed75a89ca1d14d361fa26524826ff4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e4d3d5f34eef0a5e739c0687202812426e0e89295641dbbaa05d125e9ebd885c6bfbd6689f7c83518a8e057d34b37da531ae94 -KO = 2e0190818c2f45f1c2822e2899c4b52797fd51671e479c30df6c7081f23013507b9a248e37ff45493e047f43fa457519af483b75d45d6e1740b94e8960c9b2ef498686e4b6061b252b86a553daaa01f129f639a6a8e5258b4eb36618f5e30171ebc782eeeb476e89733d78f79dbdbb6afaa28338890d467091424ee1bf00f00bf682c65e8c1af35b25088365f8a725e8719c272327ae9a1fd8ebf011e6059caa3f5f9f640106bf94f20900a8509bb0ce00fac5c3be836a902c5d3c6e07d6702a1bcf55dd260efacb2c35fd9857d806ea1280c513a3725da899e8932081305bb99893586f95a414230369864715ad96e44a320b0065d334af46376cd65f6b6e3c - -COUNT=19 -L = 2048 -KI = 9dea272dba4d143bc547bcc8a2cd5d6d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dcc1293a1e3a89253ae72e8fbe7505c84139696c579516601f8514db8b704ff1e6b0165e3369ed6cf74f348341f85085c10a31 -KO = 8b73a32e813dde727e96ac3462cdca57e63ac99bde1dd986d226b7b35487dbc9403992ebe7452b9c981ef7671fb2f6209d473fa44bf644c60c08300f913c80514ea77b3361d03e945b380586e5e259b2665e57eca89fefc675c8b918319c92f9a595649ab24c80ec359537e3ae9c6df6ee2a4fee607567934a4c43fc877d50b76a84beb7a76259b830d196d2abf3c66e9d675d6f072b7651ef0e8a09871237008c57fb67d2523fd75def2087ecb64f382c0de155e9d3bf26b2e96df206832393dfc95b32e8fc4a89bc4aa089ff6076f96c0abfecca90e81b98a74ee8121bcb79d498b9fee403663888b8079a779a5cac451ddd73c6519f6d01297f8284493882 - -COUNT=20 -L = 560 -KI = 6a58219d7a7e022c2e04aae351289cc5 -IVlen = 64 -IV = 060ff303486c2953 -FixedInputDataByteLen = 51 -FixedInputData = 2d530438c5f8076561f365bf077bdc051e29c4bfe3fa4dbcd7821f4256534067582a4d6cc52114719fb317fead343cc3cb17da -KO = f68e16b7491aa322ebcf92cfc2deaa16d3e3c7c69d96970980a1c32c3957eed5a316cf712b22681920fefa277bdc44af8a9c3e7c9672d5d2d068cb1adf42cabe72c05e5c52b9 - -COUNT=21 -L = 560 -KI = fd8bb0be9324b3de74a158396ef74c9d -IVlen = 64 -IV = 1e6c91c296b31c22 -FixedInputDataByteLen = 51 -FixedInputData = 685030be2a917b54a2eb3400a5ca606555e241c6ffb0eab8ec7d18492e3f7eadf71607936979dcb13da341a301ad53f6e1ac4f -KO = 5e47cc3b8097fc9549ad7414b931c8852b4c27e330566b1ac6a47184ce9bda579f63ffcd4593910da373813771d627f0ba52c7c25c52a97b2ef6a68e8e660d7f0a303f64d768 - -COUNT=22 -L = 560 -KI = e04807bf0d4a68c233a7f574d7692d69 -IVlen = 64 -IV = 454e1a750da4627c -FixedInputDataByteLen = 51 -FixedInputData = 312d4a05bb7b6eb2263823caa6168e7c3a678e9eb3e36fd1beaf5008fe20ac28486bfd7e7ea818c239bbc943f66971036b4833 -KO = 715d7a71e96caeb5a8cf3a0e59778a878b8110a00e53cb1708d74a028c7298748f79595e7ec3b15081582af09f010c75c6bd522495bf27cac3b606c2a2366ce7b2c03895ce75 - -COUNT=23 -L = 560 -KI = d7e2007c51e1afada51a895e17183029 -IVlen = 64 -IV = b5ad666a91dbbe0c -FixedInputDataByteLen = 51 -FixedInputData = a452a4678901a706c861992a1083ed39efa5bf9671dcde96b53a6c8cdaf8cfc928e2a32fb2180b9c8f7c1c52819622b900fdcd -KO = 09465fbd0c49a21586540a1e67ae17a0641fdd348d10b7eb08ef50aa7fcc35e3d26c45d6ddcf0fd3732ab943664438885f6d73b6249b1f5e09a56b37d0671acce208fe4f29a6 - -COUNT=24 -L = 560 -KI = 27d5b90d97badab169f3362620d8303f -IVlen = 64 -IV = 89b6ba0fc8b6ab6d -FixedInputDataByteLen = 51 -FixedInputData = 1ed5470a31fa040ce8c361bdac1f2fe1cae67931b937a28f44d745419f00471f1b4b590cccf5d3238dc3c0ba41f8ecda519050 -KO = db48a704ce08dcec9f4a3be85df4d9e6d2f1809f904d97188f3231457c42bd18aef535a7d1cb343cf919f54fac63f8cd7c7164c85a949e490e42b571ae590873848f3ce05124 - -COUNT=25 -L = 560 -KI = f73c05519a79d1a89fcb193b6d02ddea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4507689b4e98f66ac4bdc137f9559c51bdcc27b49e4da5b7805b8636a7ada537a572e654a5e2607856bba9d4a504130e796296 -KO = dabb3670cd95efb108067ea49b889087a3b5a0033dc888ab6bad36b7f401ee28ea8ac0e4bc789ea7152581e36672a2e07cd5b5c621469c2a4dde300c13dbd78af24f7133e2b6 - -COUNT=26 -L = 560 -KI = 535f17bd82d943673e375faf50e0c4fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 96da209dcfa5ebad77117fb15c8aed88841500eb045f4e9e1895c9f0b5af8d5abb88c9a8216dd0b772336f5a78e99eaa9cbe29 -KO = 0c8d861a1c4e9ecc445a3f0ced62591bd855d3bf54d40df7d6aff43cb4e9b25366ab301a459e4acb0f17b95e30d99605a057b99cff75665153ccf3d69f78162562b778fffe94 - -COUNT=27 -L = 560 -KI = c47b20da5d5422c8555477384fab160c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9b74db027c0032c17e91a7c5118be2ef4b43e107e9aa4975fd025311330221601b7e226a0575fb36e6dc8c8e231a0cf7cd759 -KO = ef0681d214dbf9e6c80cd1ec129107d59a2ce949d0680bcbc5a84b91c8878fb6e7926397b55a87c4326bc314f0993840ba3f4e34f327b2968f21ce7c5b7443b538ad93458a1a - -COUNT=28 -L = 560 -KI = 25202dccd8e0d7b97fdb06595da3339b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e9e850642dcc307b165065ce72f0bf707bcae907a0550718149e6bb4968d7585b92072c5268e8a2bf710fe735eec654fc3bb5 -KO = 9d90b23c5718f87c706017fdeca6733d3df2f8a83834fab05725266f43f13aaaaeb0a006c99bb61763b873a1ddef4ea89eeb4a5995856daa8db49b8f8ff43ba18c590d6193b2 - -COUNT=29 -L = 560 -KI = 6ef78e0dcf7a9f7d91d7e658ed7eb550 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49d179fba30a0445eb8850695a21c5f07a658d7ca1bb42f57862f2d55acc4a3839916458e73b8e62a79345da196c41bcdfb450 -KO = 303ca854942d5f01455eb60a6fbe8b3e6f10d6a3da8b22903df636a92ee3b485333496961daa4cf83645d3e25f1c71f41262c24fc2c49c8d5e5c644545a80fe975fee7db9011 - -COUNT=30 -L = 2400 -KI = 91e75f4dc171eaa83bd5a9df69f938b8 -IVlen = 64 -IV = d201cf623514a5da -FixedInputDataByteLen = 51 -FixedInputData = 3738f252e67c3066a6d5c6221726b69860124330ccd757beae1994368704cfbf12ae90573c2df33c76db5cd3100f39b383cd62 -KO = 2a15ca27189c2ce198d005e89f19c7a656179d955cffe5d5586eb87967631f99684f53f861df1d8b677e004c663b4b4bdf7f9fbf67d832bf9987a318507093c80d97574a67439cab6da0ebdeed47b346160dc98f2cfa2232896a2576f5f4caeab8bc23961815cd21eddd73219256ad9c2456915b5b8fe864090ee09f07de777f080cd26604cdbf164daff6a0ff6d0a9a5d5ebd95a9c5ba522340897ba50cd4c2607a482149fa18ff4c3d913a31872d230e780f9c9ce96c0b925d7f397ce4acaefa44fb7ffc62f517d53e319305e0e0217a7189b074e85d4df1d9a8e48c896ce6b4818e7c72bc6c0b504873e29aa669b3259e30a22a779a95b259f82c0a7804aa893fd71fef7b12fe94daaf1c2e17811ce59e3b2eda52e1823effe37b845cd8ad42296888ec44d212ae8fb28e - -COUNT=31 -L = 2400 -KI = 8c61d57544581df808f54dac6048f6a4 -IVlen = 64 -IV = 62d207fcc2386363 -FixedInputDataByteLen = 51 -FixedInputData = 1be978e9f8069b3db7d66d780ec3deddd7ee723c553c68171d47d30b969c81400216e1caa6e969242c9339a751d1e80a404795 -KO = d6fad601afaa66dae23dae0e58e730b4d985334666d6422c83016941dc2f4b03f7cb9a71f58502dc79871ab98d373423fe25f8a3619a960548b76ea9a0996ae5ea0defe22bc445ba9b5c1bb9768a11ae072bb7ff7b83a206e630bba6f4791ea289d2f537632377eb9536a6b939caad20d8018fb5f3d8f1efd56221c54b0366c01768614a27e383c15a990fba23c6973d507a907fb2e796590fb15836738f2f175a0c5e47de05dd44879d93369de4a32d30586941b7aa73b812629e0dd3ab91922a6bbe92696c6c0c4ee10c25bdddf4e310ac81ef541b57bc2b41ef43d09a9909cc7d229fc8752a3cced7cd6e2751c65a873ab814b1a99a480eb9d5e578ca027f37c825c46c338fd25ffa193601d2d28189babcd4f34ae60946d7b85db082edc5b3c17d68cdc6bf20bba86592 - -COUNT=32 -L = 2400 -KI = 298f42145f8d61e535fb752996bd44ae -IVlen = 64 -IV = ab8e3319534112e3 -FixedInputDataByteLen = 51 -FixedInputData = 31e5eaa4a9534867b131646223fba119a0c3687a9fb647a593552b280b6c17d85e80709af1e5bd9ef8e5806dcd34282113d012 -KO = e29fb9b9e4f5b0005b17c0089fe6372aa3672fca90b989498d75d7a38e4d7a4ea5caa2a74caacebec1b1cf31e38c32d358ac59cac14f86f0453aaddfd981c21ecf5747a4d48c6ed35ec88f4b821a932a33ba6ee412658db74bc74ee5d39ccc65682b96bf14c2d4b191223b614767d925f9f5f695f17a0e0ceef2fd65f4da3e99aa5c3e90850f3f7715e53fca06d62c36618646d8cfa6bfe3da568e97b591ec167ed7c48fcd20a31229d87d8c7cef78a5df5784ee6771ae3ab7d315c16a8a305b59b75a84620d4b8750b5a4e784cf48da983835bb6045083e194d2da45466c1bf3b56651f63cf993fa21292d32a3a391290d00ac794d39d171161f85bcaae1bbaacb19b8b924ff8dd9d5ae4f1859fcda2c322c674ad86f17f8f551d461489b577f04c88abd39ee6ed183554a5 - -COUNT=33 -L = 2400 -KI = 5cf2bd0050345538451f6379d1bc0d3f -IVlen = 64 -IV = 0454f1203f773d49 -FixedInputDataByteLen = 51 -FixedInputData = 95c977582b81b9585e0872f693bff127d83ddee5c9b89f7e7e179ca11fc3e8f4ec2bf27a0fd53a64fe0ed8de3769937d934bd8 -KO = 35290d6b9336cf395a7a8fdb7fca34e93ae6f12fbf7a3afb1dd719a305b3b8279c8f8eaaee87fad764cdf715832880475cd40c22d2005295cdc7501a669f060e1368b613a15dfd1b3b75ca3204f0262d3bfd48d42a3d0682e6892d6186510620e246958389a5b90729ad26528f59519d930441b1dbeda6f546b78bf03255aeb1f1e0b44015d8d98a8ed3f8b3fc9d8ab87648ef5ac995dada0382ecc21f69e737b825de4373648467556e66014996bdb686f18bdfd68efed7241a535863d29f002dd85d938914256dfcdfbaf94f54852cba721c57779995d152c1ba4cd188035babb154fed4740066f7d9a8bb9f44a9c1bee3d0c3b09162e74426019f79f8af53ccbfa322801f2ec9bc5f319b27db9dbbb9a989d629c29c5f2152ae993bf66093d245d1c6e3ba2df080152db6 - -COUNT=34 -L = 2400 -KI = 76e2a578f2424c7bc7e6a59578b75fd7 -IVlen = 64 -IV = 1e60cd209a147da6 -FixedInputDataByteLen = 51 -FixedInputData = 37a03dccc3cf5d83663633d0636c989397b3c45e63671bda4eee89f0101e6d3d683d3a00e89f62e14d47ca90d6c0bd8d7f06ce -KO = 958436eaedb4b85312867f6f929decd6de1429590a0039884f5cd6f8a269f44c478a0334c5a8e8fc17f30273a336f409b71977946947b4f01c58b79d66fd3a0b7df1197c84a3f2c50e968d8753b9cd7aef3b697ba393941c5a3914edd898dce8ce0e70316e1c191582279f117a14dea3863109a0490c7cf608ee4e9c3c64a9c4f9eccf47bd9d665ba25b74d7f999be10d157e731ad0d622fe6205c4c982128eb791add716bc5ab17ee4171628a01b9e858b0d69d50b1ef3fc0c0a0d6389cb19738141d43cf1696dbab1dd9c6b473ccb8d939061d80f57045b7a4929690888cd3fd6b447fd6e5db48569bc98d38028d6d3e00ec824d6cf9c2903c973f88bb5a371a58bd8608c51145a05ed1d456f15d17fec3d2162a06e037c8f975db3c483d0d4a45dd964573dc3d4ecfcaaa - -COUNT=35 -L = 2400 -KI = b4a442be68c40c02f39acdec8536227f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d81e60b788df69e4f8e75e540ef7d99c74642081cbd63b0814ccf25aaaa2a6aa03a47ca904f912578022f43df6dc6c299901a -KO = bfeed4048deb11002c9fbab153ef8c42d9b151d505675c321cd57a204be72aa731ea5544dd4f0deff5679f37867c9fe3492732cd99002dcff88eb77eac9bba86e06f4edc19990f071fba6e2f417d6de10a240fc618d66fc6053adf0fed403f93119c31849204c0c2a3ff6d28889edd48ff49dbcf0669ad301904182aedc82330fd2493dad1ebba85012fe5b7a9be910bf7b9114798652ca6dd5d11fccf2ee62ce43df205acb8939b532b1531800cb5989db8f28a1af74fc517bb5b3f379007393d9303720245a2458f053985b14aa48b3a34b6adf5398352b3131de3db30e72a083361912fb4c92704eee803df702b1a3ea2124c4cf4c7547dd924fe1f5040499e51d32851f560ff8a70f83e1acfcdafd7c82fd3de41e9b62bb4274722b014fd2f961095cda6da13a404da86 - -COUNT=36 -L = 2400 -KI = 39f046a389e825b8bd9c0dfbfb0f2744 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c81b2b3a6aac78a441b4ee94c70ea9a1a830b99d52dd82216a417df81c3a64039fd6e96b07f7e1dfb803e14554fa1427f41ade -KO = efd38b808cc27de0a78365fd13d032e85a5001f9ee011ae4e33bd12fa30dffa85ff2db6ecf0cf300dbd2b229f19deb5c3f1b83bbadd0691fe539f8c076302766fb2ac20acd908028a23143876b14337f40d84000bcb621334ead80fb0cc248a8bb26ae65576f2a63a4e006188c2945494659d876ee21247a962f5d1b9f3c19c4d1ce14ffd90a50deee08c693664b83fe84615d727a01e57e08ad7d6707e88744d2663eaf72202ce3c10a731412564e89a72b4863bc32d48b6944d2918f3f9294f667789cfcc866f6903e8e13fd1d11ed47fc5a8f75b17fb02c1c26e1bac71c770632881100cfccde525ab408e8d08a6192dd25cc2b800be60db326ddd431da52b4ed0a527d6d65101a0b555141149705d9632472e763d0a8c22478b8484ef01c4f4539e313392ad2971d919e - -COUNT=37 -L = 2400 -KI = 19c6c8d59d42b273a51395347537fb24 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2eaaf5bbe084cac2418aa8c16b539903debff849e8ecba86f78fcbfef73add81f83ff097a4e2823e04ed2804f8b4d8d6c806d7 -KO = 505fad280cc3269c9219cd1515bb8f87d043c81311562b431d1e03293e01500451c3b231c3729cf0c19bc1bbadc921462043974faf326746bd5edd8a41940164570d975b4246264608f390cb82addd347e6418d60ba83ec1a059499cfd08321a84f69ae083e14abd58f1fefd8ceaa1db2c5cb436ff983c7f19f413a60586e62f37cdb3db622133e89fc0857e5d7a9e0ea13843c376717102f3b3d8cf053c384c7deccea145b96664504621886ff35a1dbf4b72085efb38dfc82e3bea42027da9f12dd8a655240b3a7133dc692ab22e6a0dc3972685afa1bba9b759855b7c2424ce7620b175578c69d7a7212b5ea777831e3ce6d869360dc49ba2eaf66e5dd65a02be271f2b2f5853955dfa589452e47c6e7437f5461a612941804783b7f1cdd7fdee1669336d46103ead6bb4 - -COUNT=38 -L = 2400 -KI = 86d7adf0518f4c8b59737809127a96f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c7e19f4180c33e8a7a445312c4396338deeca4ab6bef984069014b4d3a6a3fd98b7adcb7b4b1ff778b911f7f5ac9894c9cee9c -KO = dd7e68885f7333f2cf06982550dbb7b158c0bf4c8954e450d3bff809b889c2b63de48f2a20ace63c603b9846e5dda52af111d72e5072f4a8a2d582bddd075ee744abddc33b8c7fb2d2081dcbb85c12cc94eea76f44cc13adab4e2b5618eb3f203f6388c53b2dabea3222916f0a4c670ec6518f2e9772d806d37ce457ab0b9a0b2e25ddc4954490568ecd6f6f3026537bf345d6134e7ccf9df33deb269bd75140378fcf92bde2fe96abbf61ea153444a30a0c670b6119aa72ea24e64c4eccbca697eb2aeb15503d4a5a659e6cad37c09eab7cf6f142469aa5dafd906fe15b7736016336c81ac4c236d96e55202ad7c196710626c65e44ec655ae5f156d9df951fb3262f0d10131db67219ec19f571c9a377a392fcf5d92c353f53972513493476fcc69530b04e45717b219caa - -COUNT=39 -L = 2400 -KI = d6cdd8b7c2b7c6f6e54e5e598743f84d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a066c22e70abe7e1c242e2b2c6dc58472ffef0770c651cd18b5655bfed88573b37519f5f66ad49ab51d30470468ee2997d83bc -KO = 7df54989c4490a532b1cf6dea58fdcef473bf464c0133c4bdb13d5f632b67b784c761cff6e658f459474ba96c9c3220e82fe2e6df0feea755ac1d59b1b233b5a715dbdf2d511b568742f67dcf28cbce1a3a91b04d9922a4b8102aa124b0b2a57ea68e8af5495baad756004f112d54501517ffba145a009d19fd56b2559d59ea825f42f851a2b4bac16fb6be0e9f232de31bc38c6a392cef17d1d565328802f345a42e5de33f5ff8e1f39221ff6fdc9d2339963b4df329559338623eae5de4d31ac1f0b44753c7fc29998f7d2c3e3517e83348d032656c1d88d6d7943f31afafa7a00665e702ba7a264e4cac84f59e7a7a27a604124a003009487cf195ad48ea9f757396b386641acd3a75c427e7f85786abb505df8f2ab7e6959a39e306ff4860f8dfa6dbca751df7695b477 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 946fc33bba4510a28b8c9651c01a8000 -IVlen = 64 -IV = f658df004043b2f5 -FixedInputDataByteLen = 51 -FixedInputData = a08525782f7a7518af3718064f49d872321a670925f098b3c22ed2513e600efc55cec0030feafb622f1e0f0f3acd89aec0b7f2 -KO = 4e3c139aa5fd9ebf7eee19ca14be20f8ef8b04ab2d5db9e13fa93facaa059f7beb0f5162e4892f3ee5ac638fe065f48990f794d00c0fbf6eacf4faa4aa267749 - -COUNT=1 -L = 512 -KI = 1a0a97db6b9105432acc8a4d789da1c7 -IVlen = 64 -IV = 7597cecb9c818fd1 -FixedInputDataByteLen = 51 -FixedInputData = 1968a69af805f53b88b2b46de4fed47139a634589a32430365df3bb6bf39b12c1fae9ed24787a097e69cb6e0a0ff146a05f187 -KO = 6075c7606a8664505a7ba978fd7c43107804bf40db974c20b5120fa395c857a764175ee587feae24ae2d15559e5b0e9eacb17126ce2eb6abe5dc564eb89841e6 - -COUNT=2 -L = 512 -KI = 42e26fcdb960188b5a836a3cf83798f2 -IVlen = 64 -IV = 7d16b1268a3e5218 -FixedInputDataByteLen = 51 -FixedInputData = 13e25258ca20c57b51f7307d773e109e54f8ef1a4fa07b18f9e31af4969f99571a586206840473b05b87ef708c3b6df2f7426c -KO = ef2ba905026ea325059490adf2a82c540f004a8c75b59c4fa0e5e4e8efd72fc5e7e1518a9e57430837d6d03b5c2c4785e4f30da891f4f1a574c6a0fe83f663f5 - -COUNT=3 -L = 512 -KI = d88c6052634e585c01152a925ecc832f -IVlen = 64 -IV = 5224643eda4581d0 -FixedInputDataByteLen = 51 -FixedInputData = a155ea32a693c9181be072949e10b1056a6b199b8c4cdc3b97a24ceec37ad8c0a584d1700ded84bc1a712bab6827e02ca2e674 -KO = 942019957a1d9a04d87290a781f024acef83cbee9cf7a10e71b798824e6d1819b872e97e734843670b306977423792b03955f5cd27647db313ec0c016aac92a6 - -COUNT=4 -L = 512 -KI = b9373a7390198847d5a6aa9c334a914f -IVlen = 64 -IV = a1876d2752e7dbe0 -FixedInputDataByteLen = 51 -FixedInputData = fee1c4a383128b06e6fa085d5ba3f2ec204ce86c7096455bd929eab7e218e314a2efb8392a240c32468102890e7f2db89849e3 -KO = 362642ba7666490870e0a9b0c25ca5c4ce9c2915c2324d8f8f641aaf26a2dc4c3a60511967357c92c9ffe953c56c027a79cc8d0538f450816a4e3ed4126273a3 - -COUNT=5 -L = 512 -KI = deb3fb8632dfcd685cb29af3c5a2cd5e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7690928622a6c66a39399a70600c46f588222a2c02310e3822d227ed4db4cf874777dc78fffcedd167572792b046191473853 -KO = ff3bd8e2f554fcbc95a47447431ff1aaae652402a0a71a19dd7f721f4cf891e881998bfb8a47aaf0b392222e00660359ed016a4486b8325d49634fb3e554b098 - -COUNT=6 -L = 512 -KI = 11450c1897357f430e83cefbac0c0058 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3bd99d564d4cc571f18293d67bf36db70cf98b29a6afdf54c026ef417f5291d3c64017abd7926f837d041de5a6e5f4ad857d9 -KO = e13f3132d1e7eb011b866c0d09b166a62a7c1d8704534a0f3441998a463170ca46dd654425cd216f3e3657736f5e9ff2398aa2443f913f19d9db1f0aaa8a14bb - -COUNT=7 -L = 512 -KI = 233066f88406cd0077b41448cf8195b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0528aa2e6a50fc099f2a0208373bedcb35d3525ba66fc5ec675540f55a1fe7f2d5fe12c4dd83b65fac891d48f00091a6048144 -KO = 2ac014380c54356a54fc785783e1ee8328d497023eb464f0eaa0ceba75f0579f8068cf90d42303f8e5ffbb863c392217146221b3c7d2d27877cf60bd93fe9360 - -COUNT=8 -L = 512 -KI = 5cdf382408d3c69eecb685070004b92f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 060830ec5dbdd813f3000c399bbde9f8b4e28cf4b489aa738e9ceea3b204cda09d5886e9244df0ff75d136231f658bcd01a4ba -KO = a94fa1753bc9255e55ae8b896bad422c7986a9d97f8dee9f97560d875f4b09696174941cc9c7ba438166f89e446a00f7bc83b3e7724be30d04ae416026602659 - -COUNT=9 -L = 512 -KI = bb173f69d675aad5e8c067c386d3a3fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3b0b505ea8511ae38fbc949c99427233f3a6bc3ca60119e8513c176d2498fc3b0cb1e3e2e046d00f1b85b5929d1174a9a5b3b -KO = b7da22cba203ce24c7317ac5c5d6f308883245f79697171c712823f6454649a5d422739ae66ee97616f2da9d1e3af055b834a8ee9df01bca29cabc6fb079b343 - -COUNT=10 -L = 2048 -KI = c458aa5acd776cf2c812b4234072607b -IVlen = 64 -IV = 8b6d1829042457a1 -FixedInputDataByteLen = 51 -FixedInputData = 2adb8eceee48a6d16dbeac2048b865ecfb8fa085ee5915baa10c7127659e802b5e33d62dbc8daf95e1c434b6bfa56fe34f38d3 -KO = 2bd04211a28fba23600e195414350e9ffbcfd4736bc2a46b1849f05796792533948a8a1718b8b01f7978ccfcf52d3d2016e52b2d186db82f4cc088379b2ef49a7fec405f7af48f9e03a11d8f0ffb565cf902dfa9726d1912fa84e303d7b2d728d1c48759fdfb488657cc630e171f97d5d759dfbd55a5659f1d4790eff280f6917d2caea268778898cc141efb4c44622b431b37edea3d15fff52bfc2c6d23b77e614e1d60a0fc4f90cec3f74456e6e99cf95f082b4e9e106192c0f2818cc00b030615fb9454130535880d30d6145364d1e93cf8b7efd5e296b7997a2815b5074b8ab5f4cf8fc78b546e08f5dff4e14ae603151732f6c044d77a6c0276c6f353f4 - -COUNT=11 -L = 2048 -KI = b7f7678226779917f3b84f4c2f99aedc -IVlen = 64 -IV = 6f05e65db3c3a142 -FixedInputDataByteLen = 51 -FixedInputData = 225d58ef7cef3fba3cc642f4eb1f0b4cd983e95dabe469a4b9d90120fb6da6571065c849987dad8dea4b039cd1771066882777 -KO = 30a36bc1f69df49b77520b618a1c1def658267a34d895365cccad1a9e01a46da962254a309057e57bf58fe493d075a1d52597a8f149a92bad51ead23d5abc2c6ac678d449bb067bfbb985b98f91986444cad88b06ce63466b47451996add34054bccb6dbb84bc650356eddc80ff76d6eb11a6b1c13a6706b412f5dc1fb8d49e92d21307649fb99dabd05832c3adac7230f898a70ac588427078fc5d6a190303f3b39a491aaf8cec6a7752cdac20999f2e42325b6ad7db4571985baf774a69c8be73fe5f0bbdf513254dc61c8058931016eaff46fedf455868144262f49dcb3e8716dedaf7af57611c75fd8b7420627886307a3c1c196f9d40c15a3f8faa3d091 - -COUNT=12 -L = 2048 -KI = 67e4d08966efe82d2089ae1d8f7152e0 -IVlen = 64 -IV = 5638fbf84e93d37d -FixedInputDataByteLen = 51 -FixedInputData = 0231495efb3f30b840896e872e8fc658b69c2a1446cce978b3ca5af8c3881b6d7dc2a1a80a05e32fa0bfd99fd5ec65ff2ea4d9 -KO = dc3724864b2f38f87ada41f6e64fafb9210ae490f57d0546f4522fee023dcbdbd3798313a0b2ce09cb6ac05d5c38424d9183604a2c4b5017175d5bf6cd6a7b0d6e7d4c4fed666a3355a08e16d298dc4af15b07ba2dffd24cdccd6e5e0dd97e74902426b8399bc9b7e87b8d0379770df949d1b7b6ec7a2487a5ae8513357ddc98a94b26c0d623e168bceb86add4332366751df39a65ab3d312fc163acea21b84912c91f1434a8f469eff80cfe7f8817b3ec45f9a43cb02171547737601f7b841a62ee7784d0edb272e47ba85c9d467aa9c47c9b5e569ea321aab8d1e6ce83306f70e0097fa2e47eca7c59c92687b9a49e188eb8a2ca93cd6780bd287dd5981fb7 - -COUNT=13 -L = 2048 -KI = a44d0308d22890b2271037a661c79949 -IVlen = 64 -IV = a94e4f151fc095af -FixedInputDataByteLen = 51 -FixedInputData = c0217d24c00ec53ec13ba76266d69e422810a271f476c9aa732d57b59402c7d3b51adbc41d41f9bccc68671122263b98cc78b8 -KO = 3f57199a13e2f56564da5d15a1f992b39a6e5342aefda1316516bd41265ecb647047c60f40af2265810c77782022379896c3b6c5336ec2e5f53fff762a65b0d7ea68ed3b3b23aaed1b6cd3aa0053150ab05d17831ec10422a949e109f6c04b29e47a5a98c28253c1a91a97449f06ad80536ea68b47fcb5f4a39fa3a9b294463f8bfa73c4a025bbb2b46d9af07d9cb8e90eee565745940928b80dd50a07a6ce7e306c9f013eff26ee1c8d787fb25c0bf444fa8bee2aa55cc87e539c109c20a8c108ba33ec45b3b06bf4e27982c91fc708aa9542406a216e82bc27460fb186bfb1908405b7b715f613049b64f6bc7f615a9ad68bbefa8bc9df0e5a16cdd73711f5 - -COUNT=14 -L = 2048 -KI = b89b739fef81a4a370577a8e39e36ef8 -IVlen = 64 -IV = 61c3c253955d995c -FixedInputDataByteLen = 51 -FixedInputData = dd3b359671fd313169c69b0e2bb25f2bae24348eb961995a8d2495e7890e3a48b63e0d2d54a29093ef5a5c14643f10884be6d2 -KO = db39595f1f9f61c41c9a4328ae70f394adde2e355fb394e160218b422ee05b492be8778c046a0735b40ae44d4389d004933a2b35a4c6b581800964ec678529208de19d2b2fab47eb4a70389681d8fff53852bf1b34d178c4643c522e454be478b74477b312306e46974f6c918386e09aae9896b166ac2c01cd6d8e343ac11089fa1bcc37d293867b6c4312dd40a16e499f7baec6e85d4a8cb9e13ed97242f80e75e34009012070ffc4bf49e6a17ffccd954cc347d8067c561d3ceb9cf7334c2299bc98eeb1466adb6d229fcf8695f32a771c4b660977ff29a1e1860cc33b6288fa59653173ae91f85f6431ac25b048878507d1234ffdb4015b17d1ca05caae88 - -COUNT=15 -L = 2048 -KI = ba7ac103311f3d5c42e54867310f1645 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bca6fada0850978955fe7c92cc0946de158882f3aea64f2258fb34ac744a7b22ad0ab7c78bd5b5643a825f84ea5cd191b4751a -KO = 084c27f9159d2e8410aaded4ecd1ddb55240200492cb97df782e82b14698300f5c8b6f67d72a4003601171226820ac9987ba88e27eb5b362bd60f72fb957ae89ce691747ece6470328d27ff4bf16951b0faacb14f32e8a3bd47b9cceaf01136ed122b56235ac3e712c4e8ae7712565dbae9fa6ea43dbe86a0440147fc0c111f8b8dac931127afa7740451d8398b7e689b297756dcbf1c1bfcf870047d35bfa7f9764afe092618cc4bf0a54d17163fe5adc9e65f21c3c8ddf3bc286fe99950aa76032927a1b357b4ffc277083392c695ca8a002bd898d056322d9eaf1ff512ce41ddb2fef2ee210ed2cf46f7e25f1e593147aec43f8b8e510febddad1c3d80a8a - -COUNT=16 -L = 2048 -KI = 62369695edd64b9c59e55e586785e59c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80fc0dc77a18f6ed0b0f521a9c5bf9b926dcf8c022ddfa61d238a0933c819263cbe05231e47f1e3e47fc192a1e0bb2c243854b -KO = 7e740d77975de23a8ffcb416321a37801c2cc5b05caa30b7348178e0b58ed61c3439806e29ed622574c826365547eed9633643b6e12fd870fb680edd6b6e25afcf2347389217b951a93b02c6d63e01fbe97fa054d11b89af8855e8a901467ae1fe792897d5c28f1f410ef934c7418819e5b078a18873b3dace8a25e9e58b0eee9b4384faa0265e1580ce8bbd994cdeb6b88206aaea9ca5a051fb2e4b3a42a848bc36cb3cf39482edf984afffe3f1ee670a913b2fbe127af41bca47493094249912333fbf914034f0561386ca88bc0de84920a37359aff2fb83f86917513ae7631bfb614047bd46d2f175975ad5c2c9d3aa778c8a6f72857ff05b0ea20b6050a9 - -COUNT=17 -L = 2048 -KI = 8ecef234de64ab76f79697c1e70ca602 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df7a6061850ff2b164000c77e1b186571f3d08140015f95f82e98e5926b89900a4059038b863be34788acd7047de895641117a -KO = 86191886e71a9a30015592c2fa491b6e99bbbb797264df65426755cd278710b2369960b44a9293ed6881b17c45b9b21470101a7cd8962909a337cc4946f48f5204a8e1fe2bc5795e75c4906597b17bbe73e079bd044739578d68f3a134d466a1890459661eff10f2083d7f117d91f1e617ec6a3cc2414248164e8fbec443bb1b9e5082e97653dd27723c1ce84d931815ac9ff82ebcb067d0f3f12fe04cb3fb8bad30dc476ea26477a08749281ef2ea3ed8183e9ba0cfcceefeeacbd6b4ddd61643514856a4410ade39e11c6ad273632e5b18a386e1d7940905496dffe85df80301f8501999f36e52aec2bbffc939ffcc92da48ef317af23f21224623d12debc7 - -COUNT=18 -L = 2048 -KI = 7da0657c92e57868a2d46f6cacba612d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 062413adb83acbb904e79dba7f0af6fd9d76a236de1a0aed6cb9dec8f277b4166f77508e32e042d1921e8dab358332cab89b51 -KO = 7510034a150d492841b1d5f771cb73cc6bdc3cdbf2fcf73c87ab0718fb5d703bf51f349014ee506673dee1b2534cc3e58e111e8d1bc4aebbd11e1ba08968e360ac96cfeb05719727b160cabce1d6db1ac3a1945d4c08fbc8c306084c9b712a0cc0fb7fd94506ab3fc6a1aa10eb645d731cda11ffc4a5d33330d162923241fa841b8b7e99081f9c11cacf3cb52ca1d449e3f72519f28000c697b6e6d534791bbb5fc8b60082a06b4303cec3d9e304c1d48ca09b41330efd4e6b3604596869c58b524ed55bde016f5190c1d54d224c6192a704dd26e80eb70474f579dea4ee1e8b4e7ee704a0ba3b9e502470635745a7bfb59179cc613f3ed4f27fb1adc403a25b - -COUNT=19 -L = 2048 -KI = 04de9e6f017ccc3ac4125efb9b41dd23 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7628d2f59d74bb20d14420aeac883e30834831a2f74566e9b057ae7214dc4024a6ac706b924177326d95ab6a074efc93cf111c -KO = f25fd43e042716b66a65f0c63e72b32dc6ff9375d28cfea3f80f04d02ac5cf3e70fcbe9eeb4c3d3cb8c31d36c3b584a549576b5db77ade83fccce24b6abd4f79fdfbbdc03f707e6571988b8d089312e4e6122b354eced64925d32005241d21513ebd3bd13d5e0a91b02e977d5150e4de46680f3c9432e87e78628a19d57465bd37986277292f5e5ec55dff5ac6c49169f7d7cdca83989d2ba39da7d1a20c22cbc279b0b3370d8694955f63237f738f6c8ce371e06ebe73b9ee0a8f31fd7ef6a590de560e189cb31b60d15973e141876b8a8dedb91f7d8c7cecf8232f214692f007a158f35911aa36e086dd4312b70b3a6d0ebf6ef1ade458fd3439e943f58bed - -COUNT=20 -L = 560 -KI = a9e3b591cf63583fd066824acbb524ec -IVlen = 64 -IV = c5f4bc06cc6b76a7 -FixedInputDataByteLen = 51 -FixedInputData = 70dc903389aeeb754c9b0cc379e11f4e16a6d22a947feab2533a1b7e6135e06e63f630aec5f124d43de7a1fd482488636e7496 -KO = 4061bf3cc0c4f2130c340330981aeeaaa2a656033819162d661b9019e7248b0bdf80bda0c78b6bbb70a05bd1dba63c8d59de0a8d0d35e4fbb4b09c03ca04a765a2da77d55b46 - -COUNT=21 -L = 560 -KI = f03b7a9993745345346bac6273c879d8 -IVlen = 64 -IV = 0d39d12ca0dc0bdb -FixedInputDataByteLen = 51 -FixedInputData = 02b88b7934eb7eb8b8c9f494c8613b0d9fe925bea056898395f81307d7d5ef8af37cacc4b4941b0b8c6272f33da46d2dbfb4ee -KO = 417439e6563eaacf59bf0aace360d9b819bcc4a744469329b7169dfb8072b7432ffbb030190d8284c9f6a8742f44f8c601fbc6e5b261aea30a90290340ff335d1b121732df28 - -COUNT=22 -L = 560 -KI = 8c78c018e03f651949e4aac329ce232a -IVlen = 64 -IV = 21f04a10654cf232 -FixedInputDataByteLen = 51 -FixedInputData = 82da1abfc07da4e35bd7f465a07457b57ddd4e1e9b73762ce7feddd0efa7871944f27e18bf17336497a87f96c03a6fe6a5ce21 -KO = c1ab631d5098fae9237b74a42328bb71cf2b829eaf63a8b72446f7e0db25abd6cf9fd8425a1610eaf32ae1ab480f6e4ffcf2b54d949733e5c587baa9a299af233fee92b962c5 - -COUNT=23 -L = 560 -KI = 23984c7094c129de66fb385fbf082e48 -IVlen = 64 -IV = daf21e0ff03fc355 -FixedInputDataByteLen = 51 -FixedInputData = 2ebad25c6d6da1e146799d478670964471450bc5589ad25504820c90b117195d4765e0d8e30fbc8c2d5c34b6279144625a4510 -KO = ec4304ac65b52c442a3ece5d0daefff9d8f8d101749f5b8298fea8675e13c854d5dff233b49783f8f0de78dfb89424def3f3332ed6d07934a64d87b3e4f8393aab46e1dbbdf5 - -COUNT=24 -L = 560 -KI = 8fe8f0155ff88656c83fc4de75f40697 -IVlen = 64 -IV = 6f965166eab31640 -FixedInputDataByteLen = 51 -FixedInputData = 906859d881e1e7ebc1660895c071bd5ae8aeac7ba785963ab7e54bba33233187a08af68f5ea343731c28fd12a49c6e5fb8935b -KO = d544d159e7f7bfe96ae5e4222c533225e6d2b0aabf1fdcfc33a9cb0b0ef644d9a5590999ab242456b7e12049834ebb75b8cfd0807084b5f04118e7ee1d85575aab045abb16c7 - -COUNT=25 -L = 560 -KI = 6153ae0212c548335dd6ff2175b6d42e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dce6f08f4d7670b8d11d38aaa6996667126e8352003914b73a46abb26d38fe02c304842a6e9de30b3be3fe92134cc61cc5dc16 -KO = 9b376602fc2a3a4ef7e408de609297300f9196fb6eaa5add1ffa652370d5d29463caa07b1d0edb2858b13fb327d0f23e2b7292a12e46d34e655ce70ce6c5e47c622e77f8021e - -COUNT=26 -L = 560 -KI = e1870241c55ce132f75fe8dee81e1de1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0ad8910b5564b03a1eb2c0ef8bf624be1e682e03d9084cfec9042eb03b0631a400ec5b2012271dbe703ba2a2bf1035adfa7242 -KO = 5913ba9ad3e4f6eb939e6956853be6db2ddd4e0de92095e312be7b9f680d5721f7f880e65ed53ac30391c3e2f0dcb978a32850b0e9a527f9ee41fc317075aafe72d8e618ac85 - -COUNT=27 -L = 560 -KI = a5296373caa2ebcff1d95539e58b98cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 238a34254d87aab391e5715f0a76a97b02f21bf0bda85c03478e1a191a7c0f679efe6fb81872092f96e438f28c474b42c2bc3c -KO = 2f53234299eafd857410e288f5eec2e08b1f062f79650d43346c6f71f99461a54dcf921c6644db19df88b78326afad0575db77839e060c59393e6a1ebd774df4d8019dfc10b7 - -COUNT=28 -L = 560 -KI = e1759619edbf8f5cecf8be5af6510ac6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44a3d2f0cae5d3b2cc483316171a684bfd60a55679c4ca558cbf51970e57b44b7407e08e99a11d8f597091aafb75f8e90d0f19 -KO = b48ec2d351bcb9ad23d1f8e7bd93772e6acbeb6c224cfe39c5d702ffbd39902371c50d08dfdb0c603400e4de3d2e49dae42dda94da2170844861f76e6bb5c23a093f6673d0b0 - -COUNT=29 -L = 560 -KI = 0a64851185392b12bf03fb17194894ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0b737733f824534d175ad416e85ca571c521bc3cb14cd557389f730075a6313bfa1c5ae8af148a4d9a8d7bf80dc4d0d151270 -KO = 53b102f9681ec4db0d50c777efa075ac5efe38c6adde583006cdd46994a81e9213e7184aebbce9099f3d042e986729f98082c761d42bf06b18238486d6c357b38245422f9457 - -COUNT=30 -L = 2400 -KI = 1559c750307e5606c3171df08424c892 -IVlen = 64 -IV = cb893cedf6c34fcb -FixedInputDataByteLen = 51 -FixedInputData = 9094752959909a82d1abdb01a1b4dc140a85f5c832828833995b5b99227ee9623a54e7bf87b643a24151330716fc7513123e74 -KO = 0957850a8515b0ce31f971759b136e08cd30884b39900db589b3383715432fbdb2fd02030144b56dee5dee3cbc6b3e1e14b98364cbea9c296268f985535b92791c3514152f10ab2d1be2bc4033ed4206c8e406ce14ccb6e9a63b94dc190d363125bc4f97463cc7ddb04aee760e62ede265d850a87defac00f21d2d866aa1301cca08363aabc0de04df471b5f6440f02985ff68de7cc1243c60e0e446f3baa69c641ab0b20dd78cbd80a72205883b9545aa87244cf9ed3fabf4d67b48f063532246c203b921927f71d51e442592e08be1c9ae65229a5c5c02863af4f861ee0f9015b5a22f9aad2a6be73668900799459d2e44947b62085a8e470b941bc4bd40776b59211f7211c2785f0b2920609397fd7a8f4d49457b6b89b4e622729c26dd86cde0e361a8dbd6ecd67f8abb - -COUNT=31 -L = 2400 -KI = 2bcadb1c04d2e46c7a0972e1f623f564 -IVlen = 64 -IV = ffd5f74e76541f3b -FixedInputDataByteLen = 51 -FixedInputData = d3030bc4ad7f7db9e460f3813745ab0e79eabfa5b752e5af742c895f3f39029b3a8e8bc3d51b262b29766596573a56efcab6d1 -KO = 3558f03c4edff57b4ead24857167c839867de1185d3d348f9aaa702e2f2b39af4091d4eceedc5dd06f11d914eb174eded04e843323dbdde5413f95e19903e82b5efde2d59687c4f80028b0ee77410d86f8298a67fd8f9d6e069280b077efbd585b53ae4249e62ab24746c2ceae73bb0dee8ffb1107c8b361f4e1e352195e094f655ce3109a6b009c41fb5ee0128463bcc9ea1e05bcb25d9992133149da4e4a38f9d65b31ac2a867bc233f3c6e45f483a6525711aee43e5d7cf937c38b91fc3f3540ddb9e922d9e982ba20e6ae0bf8a3a690c1d0d1e74c8b8ac30e73a3b817ba476247f3cc2ca1ea211179f68be7a8ea585b222a383f59d1d531252d5ff795a053b9168a2c0d1bc53db82582e7b7d027557fb372e487b65c7018a06b4bcc9694f7005aea6e54d730a77e80864 - -COUNT=32 -L = 2400 -KI = 11bcdd1987ae4fe21edfe1257c6e7d23 -IVlen = 64 -IV = 1849f7fd642fb9fa -FixedInputDataByteLen = 51 -FixedInputData = 14fdf8150823be9e9e99a6da5e7a5ca0c998449add069efcbbe4f47d53b0cbdf8dd04e28366f375221c652f5c6ea41078bb53a -KO = 7efa5709fddeb00ee8b83ed869ea787384bda6d4127317699d90e80ac19a5228e566e53ac13fed8a2b282ef1ff3ea96cba7b48c40572f96a02342045f2f305e85b968fe0130322591df0c388a3b35918e676fedbd1f186da8bc18870fa94f33c9f11c2d44425761675c87c6304466804bad753ef4f8041dc0af36daadc2e2a28bff01f9f28c79c43df2fb263ec0d6639add2c9864099277d5c91085f9ddd00f43ae23e12240e3c905d2caca009dd4e5515960d2d6ad3d85fb1a51e1b699e9ce2fa6523afecdaf48fd8a9a49d5f48a90e855ea151adb39f9a66db10282c45c5bf6741ef41a98625e78d662814357a9962b8943a7a4a936bcde805ed802ef5e9b6d87b70cc0960461d4eeb00e3498bc1280b68da9238f5f6be0bc488d661e47364dc388d513280e3e2821782e6 - -COUNT=33 -L = 2400 -KI = 4ea90bc949f39b408e6dd3c3d753ff0b -IVlen = 64 -IV = 82c7b620f646efc4 -FixedInputDataByteLen = 51 -FixedInputData = 093fcc9258ef5c991e1d4671ff7dcfa8c6abb2f904c81f07b7c1ce91d4681fae90e196185fe3038126ad7b1aa6c3e2e6e8d9de -KO = c84a259b0c2f2c57fee3b77a20f0cdcea79baf35494ac69a9021723683a3110cd2ed97f79661fd1d6577ae4eaabdff36e2f85cae21d5cb4ead96491d41bb66d0d8f40f1d5a7a8e0dcf279dc5eb71f9900eb5633dfd4d2928f3fd84f5bc62a07106d536ca3c3e8d244d952d9be92a5e55e63e31c8e48b9dec369fb008fc6ddc8b68f8eaa79a915bd3418a11f95c00412546f25cef7538a1bb90d1bcf21db96ff36ffd71289525c2b43be8aff750a2f8fc66e03b24c9172ed891d6b261d1113e750e8fb36998f9314b1b0f08802f8cb4442d07a3afb1a34250bf298f67429ba2e58381ef275d9189f7e5e4a313bb34d22e99a1e35d80aafa2b0e51720f813fca81f1668b7dabc207cce6776d071b85944f5ba5b5092c9dfddbbdc9a793ed9a7b7917fc6283a40ae31c211f5536 - -COUNT=34 -L = 2400 -KI = 05973ea944eb9b14caecca5480eb7ba3 -IVlen = 64 -IV = b2a75ba362fbfd96 -FixedInputDataByteLen = 51 -FixedInputData = 4758c2ecf093a4008e962f15e7b741e93b85094018acc0817c0618d4ec7b097fe2bb5ec919e230e6c4771a74bc4f6cd223f0ae -KO = b3ef095ea2ecac5d6e977eec74cb527d2eb039b5189f964095e2efc5e5bbebbd38b6c8031fcc93cb1874ddd73667f668a6621c32dc9712f1679554239bdac81e467e7d705bde065cc8d82e754c5c03cf757a735eabd4e3f0e08f621cdc6f1f6eb91f7b15f83a2a6cbccaf792162b076941955c1f93d6c93d82d3e6db8bea4875d95bea5b8518d231bcd914586ab769363df5f79ff7aa2b935a171ce6e54813665ae991a2f688f6b4cc83ad68cb7b2c64dee012ca1723b42a49e1137e4aa91bfb946d89e4288e27a0308a4ef9238e610c4a37843249156a666ec091e57a98113957336f25060b903bee9efb32c1fa4deb967d83152c16d5658a7d54f5b85703d4b0a891418b4b0610bc877cd7db1d178fc05aa540c3845791ea51f583bcc90d3b88bdff4eccb18796bbc6a1ac - -COUNT=35 -L = 2400 -KI = 6847857829a995f24be876f9edb4e448 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ba148e1c8adfc5ae886fb3df3fe15b415802f411bc63b39a49eb7bfdf376e92830593badab91faed9f82a08e8b86bf554a6e7f -KO = 0965e2a6ed11c312bba29ad76fc9efc6c9cdcaa42cf79516e73a05dff80a9b4a679b34bc4e47657571d8cd0f17b07dc2ba92df6b8cbb02c4c5003cad713cb40fbc77f8209cba78cb03ab928957b8b68f1ea37fdf3412bf323dbc0249938d03ed138c6337c7f59e224d649320e6d86dec61a3fe41c1b9c8cf46927026a1fed2714ce07914f6e549f08a58461f2790805b0d5492f16e2fc75c21cebe159ec2009a13113238918653a585201944890138425cb53f8a19c7a4b7d7238a9b5d6abb5ac283d2b1147dbdfa276f1b552c76c6d0ed3ef42a0063009c958d67de0c66d0cfe1375efcd25182c16f5a8d0cb6121719f4159ea4b137ea1a216387abb814c309221807f327d90616fb8cbc31d9983a3bccee9b0a07642fa1535d2c5be5ff9cf83d814c28e409a62d16d766e4 - -COUNT=36 -L = 2400 -KI = ecd2c329aa62bb91de439a8f82b22863 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 25d4c0de4109dd96b72e53c1a048f2f47f212857517f3189dd5d3a6843735ae850c5ed30768821a2dc8791728993cffde910e8 -KO = 80ef3567fd11692d7b1a2ab849aa823acaa5f6e7c83ec9e9cf79981ce2b04e2d657344ee24dec849627a7321711f6f6fcad21e15eeccaa8783a97ec7923a87b1c07e2f3423c3683b9d2ec5edb0c58c2c2d789537fa52622ed6b24a41cdafe164a25f8956f4a294fa40fa7e3b9461e1835ef5563e00031ee407aeb77a740becf5e8e4b0af3d622efb6f8eeed6610a74cf4ac997b24074bbda2d83fd7b023d29176dd8dcef255a6e52e7d43ad3417a9d82f6e31e74981e7c294848aace6584b640061570f704c006449e98befe9a8bc4daa11e854555e1227c8a9f0e47023b5d2ffaa7bdb5d71286afebbac47a8126935162909ac5891078c00ceb9f1dbad3c027556183d7432ef4e2fe63630008a44494c97d03afae249943a0a8d6c43f1057af93216edbef8902479cd0f7db - -COUNT=37 -L = 2400 -KI = 3066798c2583e9c65ba5957fcf448356 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f59d31a6ea6527cb9ada26b6ea5789741f3de64ce4f5765507113e7a2d09c24eed51f2735fc66410f393de7bdd78723aaa35f -KO = 7b8c159a95d390db9c648ad1df943b1233a68e027c2a4c17024da3aec4278e6bf973a5e9cb1a9903beff56f4ab4ecb059b068919394398bbd8ebd0a23cb8d70843ac00b36f2844fe0aa0f82c4dc5e3596c1f9d871605390b6ac5c8ce1b7bffd0e136a4a477e6a1cf17ea2339dfc2f708d180f7a557af73556b69dd9a63944d414986a9632cd12a2b813e8978dfd4bd61cae5a31c54b1627a03cc367b4c8f71f660d6ccbadad200c72283c6c1ea1586c47a19019c93513dd7bf9b91dbe0bc6d85fa3314c19ab5421eaa5b47ce0ffbcaff7ecac1fee3ad9473e2bcf2daae822afd244aea8be99e952b0d87cdff376898909941b9614918b668c4fd6ebb6ba7f0733af50150ee2f75f09bdec4f899c8c90db2a188d8e12c94e00d7a29c7b2fc62ba67b24de9b032c75f67d52d89 - -COUNT=38 -L = 2400 -KI = 888eb02cc2473416828e0d446c9a4242 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d600022cc2877bb24b6ce40e3ee4290e3d283330f42ec07d81e2f7bee56e3c056b181a4c6c6553dbbd7253f6606847e4ae19be -KO = 57ba75025945652561a69e24c18ad50a4f943054ea3b783c245c01497ef8ea0302e40c66fe30eb026073a346dfaebca6f107bd9544758dfe249b47a4cc3377f5295af884fb9391dcbc815fd4cf58463f1c9faff8f5d0c633dfeef9a34876657aa8f98416916486153e3f6a6e94ca36d21f343fd64c0dc59b3c665a1af172cd58a9e5aac16d3652faeaa1d89a72adcb50be2481b0118fdd1684a57debf2732f212c8037cc4832f41b006dc425112cc14ff62761f91dbd6be210b8490fbaaf41531d39afccdecd231636bc49d9fc67d9163ec48ed588c8391a2d5231265393fac51c6841e94afdaad0f837a6bc5a84911fb3f322a63116dd57a711d81b4a6e951ee7f10f890244e5b8e4453468aee2379f09331d32057cdd44afca4181f8a63e21ee759c876a45afda1bdb2247 - -COUNT=39 -L = 2400 -KI = 1be2890c0c73032ca7037b272e5e7c2b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 275f85c0d741e480814d837a7c7ede6a2015b086f3b709b5d0e0c7feff4d5141fad21218971c218e090f5fd9067d9d7e934445 -KO = 40de440257ca57612adb8f9bb555cf60fba491e892947782164217ad6273007fc1e2a22866713a12f748aa93d642800e9ced0436ac10be48dc74fe9b99afb0f9135fcdb0a76af92ff8513fb02284db9a4d0fa7c5e02d63fce8bb313ab51f6981d105e257e542e4bdaa88efabcd6a2c3391b1d8fd2596b0461b44762df586c21ef1d7a377bf89165e3344c6d20d269e57d299e1a905579f3a202fa29bd909f110f0310c68cba3eea0e3f6484cff95102a31dc9f67f38c9aa5a46f7d008e76ad7716db8b3064cd1bcb750bccf947a4404083156ed421b97f87313af8fc55a316895627c2b2f44f7093f067a45f703de6c3bfec425c0e7fe1a7950e50a6d7c6a280474631a53a6e6ad55eb8a1463d9dcb7b2991b0978e1d40af021536d2d12ab6c98564a279899d75825cd77234 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 4e54eaf1b18356f0e9f295d30e5dba66 -IVlen = 64 -IV = 1b5a31121bb4d648 -FixedInputDataByteLen = 51 -FixedInputData = c466b7acd531397abc717f88f4135faa53917c122ab2ca91840f08b1fab2eaf78888def2f18d98cfee0d42f778da7abd17dcf0 -KO = c794e336c559e392ed833ac9b7137f769b1e2a30f6c2b76b41387d04255d6c41b63b472abcfa04cd329153a05e59541eda5f3ad9215d29cca067dd2e75888a80 - -COUNT=1 -L = 512 -KI = f05258cf876417ddf7ea30efc412a5d7 -IVlen = 64 -IV = 9f86470bd1c5cb56 -FixedInputDataByteLen = 51 -FixedInputData = 11a43b3cff6167d6d4a021e8789e13fcd8852648011d8615203b14ba3f7ad731c2d667f7d427a1ea2e43092912f94b0aa32643 -KO = 0e50f1f7b60d27e82b92a1518cdc6699bd8409adbfc43fc60a5c377c58c0fed9ea58e841e7c4c4b2f3bf83d3677631de1c13f5552ad96189a656e8758754eb88 - -COUNT=2 -L = 512 -KI = b8d11101e61e0f658bcd4ed4f047afa6 -IVlen = 64 -IV = e029a871a2c99070 -FixedInputDataByteLen = 51 -FixedInputData = 3c90d842ee5e06ab03ee74ab39dc856b044f6234d955721ac7f44a3f9f0526bd342967bd1edefea5e9004f69b235d96f83c738 -KO = d9c26e7277c680e712cbd7d3026130f386ebde51767f474312cf540758f03387a28dc6126b1a22a59cd579cd92ebd3ba80dee21eb11414a2ea04a335fdb69540 - -COUNT=3 -L = 512 -KI = f19715040aeb192a14fbc65f8a1c671a -IVlen = 64 -IV = aea9e832daa0cdf2 -FixedInputDataByteLen = 51 -FixedInputData = babb9109a5f3350ae588586414abf54645de80b15775e41435a1d6ebf02277174ba463b71a29d28c5f1a059e9cf46d5b3b9a75 -KO = 281a71e553d2af2472c8206c0d9440b7ed89f1cc6b545bbdd712ce242d6d63ab11fc5e08295e4d1158eb6836bf5d9923458f40b718ef6c9d1b404e0455d2af93 - -COUNT=4 -L = 512 -KI = 13808ac1f0f02f9d410de692716f2f50 -IVlen = 64 -IV = 7debef6536d8ff99 -FixedInputDataByteLen = 51 -FixedInputData = 776bfa1e72dd116d3b2d3d084dc683a9b94711f4d85a23af951542508f810290b9bea35ac26c8acd4d81a523241fce8c3e868c -KO = 1d93da3fdcdf50ced8e760c3bce84aaf7d502365510a49a0d426dc0a46d7d1e83d4bc1b4eaad259bdd276ca785854faab8f81300c1c72ba68a92d4235d59bc73 - -COUNT=5 -L = 512 -KI = c04ad4b01753c5360e0b7f93c65ee17a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f4364d5e1c9ed8260e432b1e3cb544265ecfeeb85479066cb0ddba294eee0ed5a883cc84b8bf22c4842ff12aaa242b6623704e -KO = a166f8e172b1a352d4c141afe6dc6fe0f0b6f0c220c6d1da8a2dbeda96584dd42ad507b20ecb7ac1cc99bda8f5e1a26299b0dfee8a58d0e689825635eda63c7d - -COUNT=6 -L = 512 -KI = 2577feb5592ee27f44ba4752a3b8b3cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = faf075b3a486aa009250783845ca84323c3044d4e3f8aae018f2314fe2e598c14d099473f84bd9dac748cca9e03f0467e8e242 -KO = ff595ca69df49acd46bf15d2b46fdc9dfda4491b8636c5db75e896e4950bdb2b9354ae639b16c239248a2dbd666c4bac65e482465a63168e551b77e6968c1c24 - -COUNT=7 -L = 512 -KI = 05bc9411d01ea6a2720921be765cbaed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cc01b3bb7010a1e05f6a6eea9a2a415171249cb882f688f1d6c352618aeb17fd13a0b084fa3e5572f707280b389a5aeef3141 -KO = f5f92bb729e41a1e844df3edb73183c7b53057d86b2b20075f4e155a403623ee376ef20824727c6293882c8328442d5395ef5d7253fc3b9b31e3e4294881b13f - -COUNT=8 -L = 512 -KI = 320d074cc379a653e2e9ddac9a62f034 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c9906b2afcdad381229224ace3ec2a5507fa45cb96f951f1553276ef93af8c720b7c0514e49fcaf5b33dd09a4a0bd0c64f896 -KO = 24ef2d5255e38633ee22c5436044276284b9b4893c1baea546029dae59feac7ca758765eaef594f27b12a62e700b84ed4a5126a7450e7e29b00923b74ffb9aab - -COUNT=9 -L = 512 -KI = 5b7dd10cfc17ca909b5b79ce5a1f7de8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e562f3fe484ebb066e3a3f4bfd0b13d82fb78741b2bc0f33ae4df8d0988e6cf0361e802e7fcf257d1dd5126a9be1f089dc510f -KO = 159cb4e45d3f7436eea2f4270ea14aa9029b0a828b9cb5707ac7b0cb0237d6d4bcc3e41600357e72e11bccc2d63d536fb9e00b853eba52ea06a072e39011abdb - -COUNT=10 -L = 2048 -KI = b34d04e702f06c6c16ee30b6d6ed69ec -IVlen = 64 -IV = f2e94377fd2a1034 -FixedInputDataByteLen = 51 -FixedInputData = 3cc3acbc1657997fcca8beae5f806d65e0ef08f31cc866e478a68d9d3290df2f5e9c0ab8836beee5bc9f6c16ccbc2db1bfe83c -KO = 3a86bf175d99701faf1b5c0d53cb5454ceb63425dcbec628619b12a3f1c90873e893cb48c1baed6e346eb9116ae91ac5761e6535e54300a87f237fd08ba000080be378718dc0509a29e5a36da538e1065c76cfbfdd5d9bce8f2cbc71edc0001b3f8fa3d591fb454ea4711ba9c041b635cf16ff12aa6e2ff7144cc051f1d4bbe4ca4b0aae686438b3f9e6c8aa5fec4e79f7809269d56a3ea1ef638cbdc5869c60b5447a51f27b314efc155a04e065d48ded66b5c68f6075382a89cbb546b08910f06b00b7a6064695f8fd99b531272b5373e1db07a8058ca25d16a3820419b76a1cd3d686ead5c4467dc875a09e79f596564897ce52acd24150d10cdf31239c5b - -COUNT=11 -L = 2048 -KI = 84f4514f754199bc4c03837eb09db125 -IVlen = 64 -IV = 02837d6d92a7aa26 -FixedInputDataByteLen = 51 -FixedInputData = e46ed45385c642033d4560ff3f8fdca699cb69ef77a8d3c51a4e1af2595194dd0c8ef361072e57c0f65ad744a04b65764df66b -KO = a13d887fd98be218d8f3a83d972f5fe2ca6607dc29fd9333e00a5738bad55a95e739051a18a486468e444abad6fd0b541d8445f7a12cbde39cb0aa587ba5094235cb3aadf38727490dc6ac1f3f480a321cbf68a389998c6831c5a95ff0b5a4383169b778712cd80ea2a2c938e476ab2c595431c3a29c1fab8cb666b142b803c34b7bb25701d705327fe1c6fab3ad7dde228df6bb12d490d7caf847876f421a7ca5153257f2013c1f541f011924c0e63a5d73f5701179d291277eb39217b0664c77120627dd6386ea5604b355ba7252ade3aabf27e2a93b7ecb20eb907c46526952a89d5d5845a02fd0f14bd99454afa7f7136e2fbe59d94714c5063ce99de845 - -COUNT=12 -L = 2048 -KI = de1aade107e911943a3c601510568f2c -IVlen = 64 -IV = 321bb46f323e50e5 -FixedInputDataByteLen = 51 -FixedInputData = a95569ab06a9c168c98dd5037ceddb11225a262b19233e51763736b9ba474d73124bb54a01a345e41b727e3b1dedc3f11ecbea -KO = 2a0792ba294478e17e12d7cecfcfc742ba4ebca7a206abbb3b5087c166c825cff5a30f92b5ea152a7c7afedd9b65efe3506e254cfda06ad92b338ac5cd4ba50cb7f2258f3500d18b7d109085a03885f17a377a1140fd523fd473f58be23f2c2769e95559c4a5a1fec4c137df158c941a1f06726ae4a84818d2c21a8976555a0e10d901da8319388ec059f8fe9afee00f79fa1f166b520ac9cead9ee5092d6c567136978d385acd27f6da7f7c77105fe1f6e31f1fe9f38dc0ce894f128e853cf00219c52bdfb9832e964203d8d07cfd887bff831a796a2e64aa74e8fd0e6cda81f24245dab01456ccbac3bb0fa2df8f37c6afaf41b9f42f0e922c181d34c77005 - -COUNT=13 -L = 2048 -KI = 2b98e2c23536eecd7de969f7c35890d1 -IVlen = 64 -IV = 5d8367fd1761f98b -FixedInputDataByteLen = 51 -FixedInputData = fb593ed72087aa0a9830dd3280c02ddae0b537b1a3f58e3f6aebedc755d85ebf53b561323757cc676718f5685f62be618159a4 -KO = 1cbebf4e1addfaf166bd0923d79f4ef03aae2a0a42de7c595223414b7cb1cac32e1ffffaf051d225f9b6c700306e7c0586168ca5c41b0a67c94d83d1b994dab1d025795787a5f2d83e53941f1e44eb94703bba98b6d97f2a59a0bc8dd25ce829639505779d30add409e53603bac8c53962ef59cb0c39001f13895dc65f38c1a7807847f61b0cf37ae12a509f3d4c60d42a590943df70e12d302a1949b7636e8854fea950baaf043b4b6e314b1ee295df47b036a90eabe413d93e3ceeb056dbc8ff6eccb7c404df6e09009eac37a205f125a439341c3041852c0468ff78690a820b641210cd337dbdabc6328e6157790fa2ca010ae0e854a6dbcce49ada6cd497 - -COUNT=14 -L = 2048 -KI = b6075f9511998e75dbf02bd69362f438 -IVlen = 64 -IV = 50d4f5203d423c78 -FixedInputDataByteLen = 51 -FixedInputData = eb4d0a912faa5ffce232efa4eeafc17c97363f2848735d90417873615ac0a457da6bee96b0ba71b1adfd0be27235e197b4c211 -KO = 55bc8b9656dc6dff9efefc4e22e9dd33108988bbeffa8d9209450bff3d954785f6d9577141ec754afb6a938fa1f2c6bdcdaebd29fe840e2d2dc18efc3b2af0179cc5088d4a3715baa51a8747b2af4aff8997f5ac9edfd17a36e44d478f2479021fd9d0faf3299df5265d0dcf913af0fd7a20f89c529fa4ffc3de4bf1f5d08c744274f2af265d0252cbb8ad4bf5ab424221ae5df77036fe57de2d2801040f5ab39ed28a9da503c9a9e69cc08bceffc335feebe61364b7044834bc364e2173c4d3b388662a2622cf898d945e1ec3a0dc7d7d790270629a09ddf5303b40eefb8fb6d7f1d129b53790577385a172343391b15130e8b6adf4cb3128475764a85edfd4 - -COUNT=15 -L = 2048 -KI = 612d54366140e3a803176ec1195131d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3e423f775497e52c4debb1b43da758be9617e9c42d145c72adf04fb010647487cd52c7aaf793021dd26fd4f58203029e6efa9 -KO = 8e4c2d91eff0fad092e72edcb904204f85c18364e8966e2b524fd5ac776e699e3103634653c4ebc791501bdea829aeb425f37a3178d36520cd76645001425443ad757e38242e5b792e8bef61d8761be4a490f83b649761281be0bc1ba52788de5db4726c6863d1ff7e3704b410fcef03d1a022eb86f936ed679c4f12e1d3272ab21b6ffa24a7b5ba595790984f8a25a658475c02932c4d457edc975d86e06729d2d44d389e4325fed3847c9a2f12472761ceedd4366dea857a2240fe24c369e2a61b79ebabf592eeec577d096527a06d501521bcf03a3cc071ac921cffa0945d2753516963237dce23f3b201d03d16295c046ebe1dfbdc6bcac0e6bb5a09f42c - -COUNT=16 -L = 2048 -KI = 3ea4d7b19a37c758f560c19a3284fb9d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80d3e9becd4800343ac4ee7aca12bb7b3b7c194a753183c74a6b3ad72fdb59a4396598ef7079b0d6a8dda026706ffeea6859fc -KO = 14829b793ea5b2144bdbfdb475129886ea9277b507234806b285bed1fd3f52851efac14f751ff826f30c0a848cc0ead0a71e66765b03ac3f01536f6670b9c7e0fb258c04739071ffe9785aa79d351384a6d10edcab69fffdada5e55318e133b6d2e5c8a8797024b7b4acc397060fee6d2e52ce7d19b44ea2f51784ef2eb1ebd7b207ee52980f7ca08cbb837b53250bace65eddb15b19a286c8348863b614c59633c6b95f0017b892f6a682dcf66d1cb704123f1c3a1646a6029407c110bcaf92ce9c9c8fab601d8deadd9fd13c18dd1da848f16006e09bdc0b3e346bdb5ca3e8397c63464842a0cb8186378564f24fb56473952c00ac861e2618a10d61b1b467 - -COUNT=17 -L = 2048 -KI = 99ffa1f227428b152517ce0b10b0ad3f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 028a87ddd1f1e302b6f426a8d9b89c1f9bc485bca5a956af7b0aad925842d33097dc53e54631bad71eb691542c4392e36eb142 -KO = 78eacc82b50064b8845ef512ef1808ff635912c141ea6c22d7e3c210c76e4dcd8a17181f7dde897cb7018c2f160963f95ef79f4f22eaa1278456ecab49cfdb6b7c480bdadbd1ee5f4f3a732ce72ba2fb02aea46c3c10f00a4877f2d1fdbcd463d6d98157e16db8d7d68c1e4375f9790624d1e2f1e95a5a7d266143973011d6733daee3d6fcf7fd25cb0e1d2867d170e91b13871767e695532c8acfcd17d2a2a6eb0ad69122d69e51896c2cab3afb3aa785bc403a30b3a2b4bf301e7fb8853deb667b7f8b85d4adf8f39c3910ffa378c3043e5cf6eac45f3c0cb788edeab5f00f2cd2587a54ce30f3916717ee9e756d79bb7d82f11f64a0246bd93583e1f1e82b - -COUNT=18 -L = 2048 -KI = 08f2e3691ca79aec06f3b8659af8d0fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f371a2683bcfca44f92b9332de2f81e48ed2dd5b26050abd92016042350fa4d740675f8fb416ff21260febaa49de13125fbec -KO = 32d0f4c0c6e5e4f5d35ed51bd87f5e51a34bfa7f4e99f56e4890f953ae8584bba9b759cc6c0bbbcb793f01ade1ff3ea6b7e6c964b502469f3ba3b12eb5e8545296f951f9c9fcc86675389f6274e6bb6517ad356eb2d008fc2b02d93e61f6f8db9392d77698a93bfb116c55fe05e9e6497526fde9d3003971793f94a2d76da2243bfd5804a81857873778fb36307d3836e4447fe5aad458d389fc95c103cf51de0e46a3c1cc305da94e6a97a326c60e2f4647a4af7ef8c13ff24ab5eb40d12103df59dfe9aa9a19fcfa75fbb37de97059906b048db413670b1aba94367c8a668a02c122429954a9594c787618e01bbb360176feacd92c6f324b6aecb9d72656af - -COUNT=19 -L = 2048 -KI = 21d1137bdd03bf865493db39f44fd2a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9fcdf5dc43279ab7b95c1a5ee71179665ac71d2c6568d2379fdb3d50b2c80b16a1be06dd1bed43b36f776ee3c79ab20fe04cc5 -KO = 0213a7c7432ca66bfb8859a6c24275011f4505d97f0f42b41133f53cc138e06e044a287d6610784a55288bfd4a9304ddc55a7a689d179957053eecad0b84d5d416a191fa71db05bf61426b4ba1374f13334b017bf34f3b0078943e01f9c926d9a70f18021711f65c85e40d7613138df82a658f29db146e30894258cd385a36992d211bef8834b517b0a89c1e012bccac8d86085bb544cbbe6f166b2c24a00d52fc7782a991225244b596605baa53ebadac273afb2bc5433d3c7ce468dd5240a90d0dc6e9fea735428ad225fcb3337087bf9ea9f73067e2da20566f144d0fd63c8db2346a5529a07136dcfb6c014176225cd1297d1d30662c6e5836c0ccd29279 - -COUNT=20 -L = 560 -KI = ad698ae59699faf731d956819091b80f -IVlen = 64 -IV = 0a9e97da88642fbd -FixedInputDataByteLen = 51 -FixedInputData = 78a5ce4c0b3776d94432110b68d9748b9eb44a0f49c59b02870b195356c0bdb98b1bc80b488189003607c800934d69051c6e3b -KO = e60ac9a58f7e027850ef6c8c8bc45b5f51a44f67c6ce465c7639bb94ae3788d0be456e3476f6f288b6d21c406563ef77224a0eef93a5120b8701601f0de8ac826f76e2dd6dbd - -COUNT=21 -L = 560 -KI = 411c07fc799fa1bcfa63c2cdc56a63f1 -IVlen = 64 -IV = d66cf9c2d1e7c751 -FixedInputDataByteLen = 51 -FixedInputData = 1c35578a05eb1fee7f478bcb892f2e7456922a496e37de39299db263820bb111ab44c1cf8197ade7b22a5580196574f66b584a -KO = 6055a83b1561b1326d36d7268c8cb12502d03d1e7292bca48e1b9da75d09d558ec191a27e239c0a99e92ba60bced7f7a76964fdc9f9c9a69bc0801c1954ffa76ddefe612695c - -COUNT=22 -L = 560 -KI = dd97e8c4eec26b2bd1fb943f16592957 -IVlen = 64 -IV = 6e6e1aded4830df5 -FixedInputDataByteLen = 51 -FixedInputData = a4100adf6f74ddd9c20a5dedbf6dac12c1480ee99936eaef2254324acf2227c85dcf0dffeb7eec06473d9e12a007828d2e2d01 -KO = ba52dfaa9cdb3202a673a4302d7f5e563086f75559c9aa2138804960bfc25f8a1497b235cabf6964beab0f04f4c2888fcf36ce9cd8be894035ccb88a12deadce1445e58e03e4 - -COUNT=23 -L = 560 -KI = 63cca71472bc8068e63908eca99fa612 -IVlen = 64 -IV = 055eb34c6d5d34ac -FixedInputDataByteLen = 51 -FixedInputData = 419249f05b7c2cce8e4bfbebfdd6f24122e71e5cf06150ddba17b07e1b974f6a431c6b7cba02fc7e0dd3c4f491fc2623bf8e6b -KO = a337a14dc19a3deb663932685e52c6007e4239975bb9412b73fabc54f695fb4f151feb03eaffb66e96a8193724d36761af04bd9cca092b6cca9cfb55bbb444447d8da3530297 - -COUNT=24 -L = 560 -KI = be8de6c59fa3b982109b647b0e25c779 -IVlen = 64 -IV = 6f96d9349ed9c66b -FixedInputDataByteLen = 51 -FixedInputData = 5864aff6690c82396bc7e99c4ece389853b4aeeb8fd9a40e098db83fa31f51628445666fed0330a2ca7f116b517d7a17a325fc -KO = 139a54d7863a7bda0d0dd13168b871853c6b446923aa511d39b2bab98f5568c77a016dce738f64ebdb3e2eef6f38e51eb77b1fcbb4998392df5539fe0ccae55248ecfbaa3dff - -COUNT=25 -L = 560 -KI = 2c5ca0607552d60a2d12985341317e01 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78931cc889aa6d2b462f7e5bb96751511ee78542077bfcebc3f0d55047feae6e88ef8727ff37677031bd4e7d4ce97f8624c970 -KO = 98ccd415b5f2075a2a0dc40b2cbc8849109ac09087de0e3a0031266dba0728547b053492094732cc244415ec264a8e012552b37906b72d1570b7fdea917d3819b2b6f434c3d1 - -COUNT=26 -L = 560 -KI = 63421274f5c138e160af9e3670957a32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52bac757467b553a9654373d9faf1cb8a3801b92b803399bc333181cdd0413ca7a3957904acaee62145c70a9fd2951e2fb9bd4 -KO = 7295812ca708f4af9c1ad09d12135022761c9693399c7459557986d32ef9df4f2ca575906bf23b90d431ebab0645cf033d3c985bcfb3515d8966c3cf07150d0c340fa2c50acc - -COUNT=27 -L = 560 -KI = 401ebf0d4b5393edd68b9400382189aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8df82d76671a2f7ed39e0282145df426023acf967f85abb0a2550ff751c9171f6600d56b996866cc5ff19e504aaf3637e87bf4 -KO = d6b6e366db40a7c830b115c8f1fbbc07b1c830c244622d5c9041508a239efee6eb93890176580dacbfeb537d0f8bdcb16d534673c0e780e30ec85aa3a01f2d1c4270fdf99c21 - -COUNT=28 -L = 560 -KI = aaa4e0af62c6be8237894a145b2a349d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 980e65642803edd7dbd691da163ff1c7771dbc67543caa6ba0849eef83776854171a3261f8304ce08b95a2de76c6225a35f6a1 -KO = 5fa5015ccb574c8bc4a0a139a8b2c3440b7aad3b5c1e3b71bd166446d5ed9853b80b25c586192cc0538c7d58f534759d0cfb1714ccd906b557f5a32a13b03c6c9c5e6463e49a - -COUNT=29 -L = 560 -KI = 8ce34894f5705cdabbabf9679acd8015 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 67c06674cc08688a56a9f2d766f9541ee6d22ef3135f2982179a037aa7104233719a496e0de0d4a0e3144563fd0f17fe2fd2b2 -KO = abae5a90a12bd8a60b9fca7387582483f930f32ba9ae2a5e45e8627c357f6eb9ae7792ea66e8bc98dfec9c267296c2d5216a1bae10102bee0433457847fc15edc3145cf5112d - -COUNT=30 -L = 2400 -KI = 18cc93d9778d8d9589cdd856314464cd -IVlen = 64 -IV = 7a3e3e98cd59b563 -FixedInputDataByteLen = 51 -FixedInputData = 68963ebda24b14db689b645a356acd876b0e03185e98edf6360eb108f1524df1e1afd3211576aaed203021df00cac4fb4e0ba1 -KO = 5324db72ac6bdb301a0679251f8f5f06318aa7e43782eea96a863a306e8b930bb49d04c14adca462dca240394171aa7d315b4fbf6e060b96dddf44825a812b0aabc970ac0dd19aa5fa80c0d56ef053b1fbc21d304ff50950d0e4a3cfedbf05e52bfff3c1074615e0758ad7373c1e62e818fa9544742bfd5e4a51357db1fa2de53cff45fd46e9c0477f9ab658f38e3d79dcf20992a01a139609fd8d1d4d9411687ec275ca5bd438c3a799b401209b3cf9e9675d718d8938aec27f528d6d050260f6376f27a97e0fbd809840e2922565b7c98f81ea9428e53cf46b808bb87dec416af57f7ac117813f205d7337a03d6607f49495068ecc4c53d0a41ce4a53bbf6944bc2f6277256f6745d36ccba49fa127c469ecfa76e6dce67b8180d43bd7a9e3e952365736a4e54323ad627a - -COUNT=31 -L = 2400 -KI = f812aa1a57953d9a51e67e882adaa571 -IVlen = 64 -IV = 69b2102b1f17e5de -FixedInputDataByteLen = 51 -FixedInputData = 2832877d545f09109277634198a2f7f2e3f91ab04690f7717e162430a64c2036bc97361f1f597588ce901abccdb877234a6e70 -KO = 48cc4587939eccd06033a19b513d23ae25e87c45818ab6508fb0d6b6106d6157b7e485c6b5da3a2109d3afafaaf0c835f9ce37bcd6b3ca5cf4fa081f08c28b8d5ddf8949244ba5ccb88e223258793e9d4d4cfd7932280147bc49ed1c5fe7eb4df9428ad1a489e7e0f544db5dfd5ffbb22f7771a36154470d05ae0054fa6bb4fa4dabf89e355ad8200d957933fcee5d6c7b191d745a4601cc637db93db268cb59cbd9dced944d86236916e3361e21607b0dc810008a9a1bedc73af4cd006c3307b434a803c27f4fec5002bb634ca67195e35ac9c48344a6ca3f806e7219660fda3d7b01af7970fa75e353b4f34ed2d0d04f7678f1ccb5fc14b71da3fd7366b3b031ba4c3ff5942cf78e7f813821054c2d3fc6972479b0d16c39741a668e21fd0072f18da75db6a550ac9ec687 - -COUNT=32 -L = 2400 -KI = 13828862dcd1466b586f759397de95a3 -IVlen = 64 -IV = df3e9b6606470a6e -FixedInputDataByteLen = 51 -FixedInputData = 348ec15301390077c3be1ba781281005510bbcb40277ede2192a4236d47de62f4b0bf0a0fde8410f4954ff564050def996fbd7 -KO = 9c345316abe7cbeaf468b10a31444a939250f4cca8b53dd9d7241228addf3e3570fcebe09feecaf5b7a3a8a5a4dc1a49e04d0fe648db63e0aa0525060a1f22d6477137ba32590706893f29f2bf60c129e23098956fd3f05a74720ea1917587a0e5bf1532fb3b7457e41512d2d14df738b5b8dcca648504a55d6f1aa98f8a3b214e6f60cb215e153a3f7559347e64335bd7c3903364a2046eb944abd84501886982f271be90240fffafd1a9672b6b8109a7e0ce84f937c5b8ad870167d51addef7ba338aa66aaec80eae6e7dc19c178c42d89c441ce9336f31a6a05aa66c792a64eb896d4866bbdc9396a7a40efd86e8fe8e360fba64567d4a86a0d16b4cad79081cf9a2d4b5f819c2448fffc299291a16cbfb0522b74ce19a7733d93735652dbd71c04e1c60837d9e742101f - -COUNT=33 -L = 2400 -KI = 42a0deb2db8c3dd127daae832e71edba -IVlen = 64 -IV = 427ee5ff327f3690 -FixedInputDataByteLen = 51 -FixedInputData = e4b4b43bbbecf0736a4eb8749c66003e90b1d46fc63159a58256b635799043895dd6ba83e443c5f769f52ac08d53b755eabb6f -KO = b5b24b44e7e9282359de962227f835280513144dc35b7c4c6ca542c5cd8e44558374f440dc727726d28754decd92f107f41c628959436ed26d2d8f0653181d42844092808d630f4c3d7cee2625360a4cbbe679399534306f3d8410d8d058340a07aa0a7ad331e44f2955b2d6f70a968cc1754de2491e73950f78464a2e87a50ebf97b146f5327c43a09ff974a67357fc74cae6a3575e75688e798b82b2c3dbe8a0d8affe5f722d88b591d098570876f93020dc9232ff684bfcdc4a164f7ec6f9ad168e8243e8834db89a1abe76f2f8d300d5475bf972fb808e80fa864262d9fb99e0fef4d7d550d8b6743d9d75a83bb957b84ebe9b630fdc2e6c2f40ad428c5f4d30b69da6ca05dc1012a4cbca50d9f0d7338e763eeb8103e2b0842b435543cf4af6a8cdb97722628b71a528 - -COUNT=34 -L = 2400 -KI = 69c748fc35d7035d4de8a214104c48a5 -IVlen = 64 -IV = 54953e66868bf4b6 -FixedInputDataByteLen = 51 -FixedInputData = d96ac2025dc61023cdfc662b90d583c148388cdba77bef29ad3db08222b2b1bd232e509f0329cda93684d66b36975e62deed8f -KO = f8d301a787a449a560743d8d14261cdfee9bc821bbf7cdaa8b52b1ccc0185ab4c9045f6ee865071544a25bf2f0939e4cf58c4f7b50ea21d972b268620e8e7ad70ae40852dc2f80107dae8da5ef796754059da926175ed4c75ef7a345013a693cd7577b73fede240d8ed294d1ce7694e9ca33c31402c47209a6c2ab8862b2d76fe827a1c34cb2c66f0baaebe14b45681a16ed2fd6134b1281936ad897e6a34b2412fcc49a766dad445c05800a9ae0e5f7e5aa9b45d33d9b20e72b81f2485559ef87cc75148d9ef3174d9232bc51163cc323fa8f5beeeb7d56231caf8b84e08abb67956d2b21226fac2f09eae0647693c84db894cd59bba983a758f186b762b86efb2ea991fa293ef0847015a42f47c0a64749a3c74d519053dfc7b9d9876eaa51e33a77e56aa033b412ba3c5b - -COUNT=35 -L = 2400 -KI = fb3f0c78f27392cecca3fd0f289e5d9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8c5328345f3b13e618dcc838588669235e88e49d5e2170338f95a20d05646c37a24ac653a45ee2ebf24564ca1cf329ac421127 -KO = 2308a4bc7f15af560629038d6a51482d54d5b2e14e37273c3dbef7a2947769434583f62974e5da004400b8700a4315a2f27bbc1c8e3e80063605eab13d4ca4005933e5fc6e5f06d2631f62f65972ff2501d978a3795998fdb604e5a209013427e316e00ea2c8f3b0b926adbcf87d5b21c212c92e11ca5a85ee938d183dca04e44793ae7ba1004d188b3e565c7ab5a242acaff30c4b6ec81fbc915acaadda3f55615e3ecdfd9284eb12393ebadabe690bf9068aa9abad51f945f74144524cbe36af297d5f7dc4a2b7d1c94c09d0ec0273333b984c3ff6967bdf2d4685fcea2514e8a59b636fb373ae6197132453e6c4d5a49b7e04d773c293b253967f1ede1b32ab33f0d12f8790276979ffaa4e8fd1c24c453b4a75d44f04add82f427c9aefa040e8ebe61a47c951dd581768 - -COUNT=36 -L = 2400 -KI = dadb8d2d5c05dda249dcaccf287949b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97bccf0ba8d28afc08fc0a269cff280a4f334e7dcef5c560fa5f5d51301bc66787a6a3d114cfe08cb54442ccbc709b67244584 -KO = 0da500d7b96957b7016ff2194a76a24315d18a2f986b40a75757be6ebfcd27280f41fcbb6c3099118f122e2cd5d3701c426e2d2331aeb0caa089fe9ef341d8e98591fb36a4f78658ec2c13885601f2198418858a370830f5f2b22e4336ca03e694a8786f0eac490a44e778f0581b770d8be9e80ad6243e3b2e9442e5d878343cb44c912608ee74834d298cc71e85acb7df74d579a1bb0fcb3a60134274cad775086e7b943156c3e6f4f0a2675c9ad5fd07f3200e31d073356a563f3cb1df0de76bd97509c5e3722770e7780ff2d05c55791bcbbeb4197bc91c65165a06cfbb68c28df041aeb76e4aca44b9e62f63748093c1cc6abce8084850ea4fbc2775907fbb405a84d5ae41d5b23b723aaf33492165114c2c01254e18800d5649766561daa70d26214e4b2b7559f8346d - -COUNT=37 -L = 2400 -KI = 705b083f489de38dc2b6a7d5a3d64e5d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f96bf8bb5ee25ae020f2e260d9727ce73776b4a1372303e615ddcb35399d39f974fad623bf6bfc9e46f28e29fac25abe65a543 -KO = ed067c266ecb6d97ed3929d1b42633ace3aad6acaa68d3439d167209ea04bd2568205709fce6a1c97173cefca3ab5c996da50884503432677c5095686618bcb8f00f0f5c7a1bcd5f7fd5adb3d1047a6783a8113a585a0c5848704a29e09dced0e7fa9f62080278cda3e7c2a2ef1f20fa5628d0357a4bf3db645d57e0203ca203d3d09cfdc01aee6ffd43a5889b5e752436adc0c8494fb20c6610ead6212b4e7fa1337f8761fd650b6f71e8ff87745792842b4b5f5dcebfa1c194f9a9c4d17fa4266f2af0be87c52c879f1d01ddd3b510821b0dfa5126aa814bfc5d210c30178dda8c34678d0f1a3fc8932cf4637a51a30e4a7c310a036e0f60a6e472d102bcb9f78fe7c676f7b46a9df3970f50b19798eed921bb14023a56093cc181e467847e549f02aae0ad05b12d539932 - -COUNT=38 -L = 2400 -KI = 8b2350e8252c1569f8b87d859034eb32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2338f2a738c647a0408937c227a7b4c2aabb9545612fd1a264c21563995d8ebeb94f0b81c2179ed0541d71f187af81148e6cdb -KO = ae4b09bff219dd35ca418921aa73547c9a43f7a4058fcf59d531f858acb3e243bf6084f61d9437e7772009b1e495ca06c5980241bc47fe82e7e424ee7759a1b14e278922d10302be150fa4cdd3b2b8d43858a96d02428ba7005c376c2fbc9f1f41cc88e0bb6ea2861f0a52a8edb362c9faf874af98c5c30684757efc6af11a1f1353d399346c0c9b3620e357627a90225ae104ac4f74d90c8ae73c9e2fcab931be5f0982f5ba4acda49d59884f9f54cbe83ff2a557ddbe83a1148c1746be6ab686a43601867a92a5806859bfda7fefc54231f3592167dc0a2bb1b892bac793d3ee40ed8015fff482b794b792505ad643f58f34d0e562dd7b4204b52ac73bf4023ff3bfa92f0451ad7e80d15afe8df02d896ce22b10a2aa0e7097f6ba76669750ecabec7dc39273d48be908ea - -COUNT=39 -L = 2400 -KI = efe40ee9d0ca90e3a96c3b1a5d1c9c42 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8fb5e6fe585038d6aa05ba00f558b6b370f55b230f162ae6eac220435bd64096cfe8ccc0362532d89909305b5035b80128fd0 -KO = 579904b8054144b6460ac11d8f29a0bedacc0327f499e208701c89d761f147f93770e122e115ec702d2ddfb9804ae4b55ae8bfb54cb325a55ea57473742ea40c4b7a02797767a0da7529cc338b28a5fc45c5cf5cff07831955a41deb9b9ca8ac9f2da73f9cfa9b72108871843edcdf23ec53b46606d77622366c5e141da3864d2c146bb64a958aa2134313ff2505ddc0ab63d54a810ce78c11724feb0677de75eec3405e3170b7bf145e925feb0b0947938d4a50c2b45fa593dd8efe3d52fb317c61b5c0642f5d48f02380ca332e4a62bb84bf9aa66e8c47bd8261f66b44776ad576d5a1664666211863ac8cfb7d22bb033233717107751b20fd0f59c4a5eeef0e893f8f19b385657e570d80caa298e93955badcb85a5d8add6d132198bc7c86b86589986a2c612368ad12d0 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 681a9d683cc17e38e493765e32505a5e -IVlen = 64 -IV = 8eb5af8e540cb342 -FixedInputDataByteLen = 51 -FixedInputData = 75e4a50444b9b3667351e88f780f00959d5c1687228bef2d5fbc7865770adacaa11338211c5c641aa237d7a4c246e564f5e728 -KO = e0584d82e0f77693bcf9cc68e894999e132d9f3466c67a807e99e7955a626c4b3113d38f90586814732341de0590920ad1827d818690a7f37b09ba35c117af1e - -COUNT=1 -L = 512 -KI = e6deb3b503f75f586c338a60c6de29c6 -IVlen = 64 -IV = fdf374134bbdb5f9 -FixedInputDataByteLen = 51 -FixedInputData = b862784bbdf1b8973a9fade7bafdc995899174ce21e2787ffdb82667ca550355b29f13f24f4564b88038b61ca6f2cd8f8a243a -KO = 282acc1ba0f493d8f28396431aa42353dc44fa6ee1fa4e19afaf1ba3d5b3a799c48b921cf4c6b66f49743625531cafd2f39952478cd5c9aa2eb1b23a4f0edc27 - -COUNT=2 -L = 512 -KI = cd1b0338d07ffe9ad388f2d765a59dd5 -IVlen = 64 -IV = db01bad438bbe5ec -FixedInputDataByteLen = 51 -FixedInputData = 6fb4b873b9216245ba134faa2d48e1be342ed958c4741941dfb9191dbdd40fa7124803dea221830b32442207d3cbc961286fb7 -KO = 1d0650214d250f75baf537bbfc931d604c43ed25dd86631fa08f3bf46d8e5759ee437388961e5328e4c15cb09cea03ff4a63d5794456acf892f215bbba73ac27 - -COUNT=3 -L = 512 -KI = c10a810cb273aff4c0d16b3c5a5b6832 -IVlen = 64 -IV = 0a50a58caf947130 -FixedInputDataByteLen = 51 -FixedInputData = f3eceb4e058465897ae1d5fd5ff8fb3977b39871386ddeb8037c8f6f2fa48a57efdc2d8619c1daf1e22dc93476e99dab91f38f -KO = dde45bedf5402822590b1751ab37ba90a1b221ce878ceec46b1874956ba2472611c29bcc12214ccc000dbf04bd60473be9ff5152f9ce6dcd693ca38c7abc86f2 - -COUNT=4 -L = 512 -KI = 8231b15e971d7646d4ff94517e7d77f7 -IVlen = 64 -IV = 57581b51584acc1a -FixedInputDataByteLen = 51 -FixedInputData = 136dd58528cfddad9240bfe6ff8b72a310d2440ee705e491b97961b7c3f6f047d402e0f5e4dc3c65e7c48f58e55d36190cf4bb -KO = d04e95d7f59f46970b21d84ab67c7664abb46237c7dad6b5e1ba0757814079b7dd0484730197d473a0108eb8fbc55d8ad7074c7326b71f20ff858ddf95440a49 - -COUNT=5 -L = 512 -KI = 41e4841ecbec2dae38c2dbedaf80accd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7f79d6bb0a01c04b97a636e40901f1d19f0f9036dfc49ef7b180e42acdbfb1ebdf591341d999d5341b319ebd9387cb2dd01ded -KO = 9e0da16c2aadadfbc7afb7b814ca44385315b58ba7074713d5969c2e109924467c45c934ada4a24e5a1f2132d237bfb6c123826fdc619794e133814cf326b1b0 - -COUNT=6 -L = 512 -KI = 527e342d1b304856ae36c9e578f2fff7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eda505e7d996d448c10dd29f5fd2233b89bf961fd62ab1d21001c9987ea420019cee921d6a3585d94038ba7802dba197e34b39 -KO = c08060e3972d0ccd84435d65917fd6c685fd5c673ad2c8aa04f544a80c3fa9f09b42d3bd0e1c47e98558b4419e22f603834c9b4cebe262f795bb3d3a25106450 - -COUNT=7 -L = 512 -KI = 7633538537cda35f99cf2220cb206987 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d38a3f71ae5b3f9c6c3e0d1ff4c731d98e3775a400784bd98d01f1e933d4d02f0e4d33f2fd978aa95c3f71b3eaa9949cc621d2 -KO = c258a1cc7d3129a1bda9e5a5d9fa1cef7dad7a1bbf67877d4edcea26dadde5017c4586742be6bbb10385956b8a95694c45bb67092b10dfd8563d0fb81aa9f8e6 - -COUNT=8 -L = 512 -KI = f77e75952627a15729683180d1ff3506 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3efd6ae50dc2be0445d0d1b7352cae116dfbe74f04281e3575ab23abe08faa7619a78c18e9ccc23ea8407ca0d1e48508e361b0 -KO = e412d2c54315d6a4a1591532b7f734dc2d3bcb2a391b0b42f3e2cce410811799ba422cbf355279603eb86916bbd3ae5f5d8e063afb84f48eb8a52d3073eda49a - -COUNT=9 -L = 512 -KI = dd78a5349df4639f9d9bff572f71a5a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d050386ac99f2d0b364b89324a68a2fb18590ff061017f5c2e1767eb45f3286e7bcc0f8e751efb84a19ce3e0b6c899cb5c3fa -KO = 4575f4c32dc69d9cca56e5c556b86a6ae18f4634d42888e673358aecb02e8171b7643fc6d02966dfd4ddcdf91baeae8e556ec35e98483d1be9b03dd3ca24c737 - -COUNT=10 -L = 2048 -KI = f1da905a62599d1588d6083ac05ebf10 -IVlen = 64 -IV = 30420faddfeaee59 -FixedInputDataByteLen = 51 -FixedInputData = e4345c6e91919ee82026473039bb4530eb92a07e30dd4e446d01c5a6fe3e2b19696a104af117fc4a7163db681aa2fe24b6da5f -KO = abe60ac36a1805f454a9e617131ba22f05145adabd5e45059b9f14dabd8ad9f0916fd928e965f1bb78566a2655508c3abcdce76ca53d5c0ee75409dfe7eadc4c26b65d1ca6d383cdcbb0849cd1e9088d687119e2f6c4a52562ea8a703bdf1297f064bfc2cb82d1d9d8633fe46ca27e564a9af4dbd72342979e456516b46a22a6c97ea250ce37ebb065b1e228654c9b85acf545763578958a322c09860ab0da9ba193a6f7fd816ce528d8ecebed01e22ab46e2347afa0f7cc8a1eb6db7db4e1548cbbabaaa5ec18db865698cbf3e46c0b3068b6b406d8f7a2331a3bc944b67d764e7d5f49e0cc9e46501ac2f19456d4fa5f4778c7f1c151e2608ecc5b2336904f - -COUNT=11 -L = 2048 -KI = 88dbdf2006f8c0023763947016a6e7c5 -IVlen = 64 -IV = 2adbb49438eb4000 -FixedInputDataByteLen = 51 -FixedInputData = 08916698322cb4d2d0c34410b29e84aee773efefd9ef959637463505b9bca9b491266ff60426289a19f30064b953fa2a51b891 -KO = e5d4aedbe36faf438689f8bbfc236259e35bf6c7ef25fdf4833af475ddc16e202ec498d22ea43762633911fb8e6852f428b3dd80872c70ea3d46166829af0b86ea7eedb82d080f20fb744b15fd1f3ebd4678d2c4776ea1ddff9f4aa295c778ada1e65cc58c23b20536c6800f0dcd9f255435f517a0458d9f43c1c4e624799e52313f2a9e17c4e395ec5a96cf9f185352ef01c86127ba15c8dd0bf9b4771914ea2d2730c83b8e1ea79e0cb30ff9607b48c9a35f8fdc570be4d0cc4666673ce28dc564974e423c23743e3207e167a1760ae22852e8766efd4dd2d223893aee6c16307dde842d003f3c0ab4b4e0ee712a796a47abea930709c86ebcb4f7454443d6 - -COUNT=12 -L = 2048 -KI = eb8a6ef96d4f9b4be483abf498455284 -IVlen = 64 -IV = 825432927f5595e8 -FixedInputDataByteLen = 51 -FixedInputData = a14eeb4c3c91c4cf10ff1bff074793d1cfbeb7c8d4ae4b918381ef1613ac66ed5116808de5f24c8d160a4924570e00a483e054 -KO = 14584f65327574b64e578b5e5183398301e435d33741f54479c54eaa20bd40d05e3d3f16db5c21f00351c159f6168c5d89f2d2e5ea7d676c2c29409735f5368fdba13fa2d480dcf2415b22c1f3e7d8defad2a4048fc8770f6ac6a74d2a4745710e7759b9378a387d6bca5f2d16a119ce23f1f5ae104d39b761266c52401d7ddf9a6a2259c66f2feed588e0d2cf06c311abe98ff1de33e86abae8a848e8eb357d5d218f104cad8caece75e6f785ba5bb5d2d3967416e9a4beaf635165c747d877f59fa56592a9e06f37450e26da5376313ada7950573d4a732b7a77a3bd45ce9bdaba11676f52fa8227a89c2b78dbe58d9432b5770cbd0a3c7e00f24f65264c56 - -COUNT=13 -L = 2048 -KI = ccb7f655861ccf9928e5dd9426866c2e -IVlen = 64 -IV = a1d56c353f1a26f7 -FixedInputDataByteLen = 51 -FixedInputData = 863bfe511c64034fb6d9a4fd76d4e9722a9f940da1897b3597757ea4062f5d3f0c54cabb75d0da4572c09d7f77430019cc47f4 -KO = a440aa6b47b0f99b7e86530437e2f9bbb62b8dacecb3878d0b3aca2aa8452f861e9986c8a02bcfd4320168f3e5a2d363e49d9165cd4e9916c7de4dbe7f9ee1d3b3f858291406a9ca03e181a905820d791e2ca703edf5623a6b136dd3293b761d4d42fad0fa5c78e35c66a60faafb72e930fce96be65d35b62dab1538fe4cd0f3f86dedae534a3bdc76c109a691c3998938ab56a2d47144de053d2071a90b1b8722eef8839ef2b24f273b25b27aadf42e2e940f7589951dde17bef28534bf4524a1fea0a2c949d8b93561cf28edd54e6e14a3a974c77c0eabd36d904a7d9806806b8dbc5b5172e08ec472be0724ed37292e67f72a99521df79d06af35ab10e9d2 - -COUNT=14 -L = 2048 -KI = 6fdacf2b349cbaa6d516fe40fc57ba00 -IVlen = 64 -IV = 1bebea7d00713f40 -FixedInputDataByteLen = 51 -FixedInputData = 58fff7be3c7ed3e02f83483a1b915fb37108d8e5876792f7d5e17582b67ec944e5cdc76cd375030c1caf0a26ba287f7f5214dc -KO = 7c723025307a43564fe94e24c8e5be373388f1658d5d6ee31e2b5a4784d2934354b45224ddf789db725c4aecd580499b16c6983064e025f023052e748ae73e2c5ade8c241f0f1ff31611c45d74b9652f8b451b0accea7e2726e6a766151a01a1b0cee899aaa1fd083c8fe7310978febcc048fe27a847b4ba3264c72cd10ac81fee22c0865efb24764410bcf8ea5f2f81cfc8dcce7d332f5964ad9ad60a1f7a5329f4f8cb45e3ea5b754cd4153908f321e89c06281d936c76acdfdae0929a600133f6f410061499cc380aafe6b4d81fa7a77dbb1c742cee3daa728f19aca614e387088e8ad70bec49b7c3e8f1aa261e52ea9a1bbc33d747d939eee16fd4298819 - -COUNT=15 -L = 2048 -KI = 5f42ea1b46631b492652a14ab9528e32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4facfdf1103e33e485a269759c24d8698ce56884bfa87d5b2e74d4d7728c3af9d870c535cf387ed1161705f83478961850a5ca -KO = ec5df4b7142f469c29f282c4b26b64075dc69ddc25f53b2e97061cbbae8eea1dcf5fd82999ce37b92e0ddf61b26e2f0b166dc69de3694e3c7001c2f232cb4ceb280049d3b8dafce4c300824bcb3cf42335fa9e3582b0a2090dbbee5307a3e4aac89d8a330f32ec6e10ae600ea636e4e51e83875137837a467396abc165b6bd1e8e66b19f9b72314581bdca1ae623b3eedb9f88367713b88c29368a8cc84fa953260e9bc9da7c7c6205c5d6c1b2e2618cd70693c1232fdcb34f1fd80c8b5229213b8b8c167159df27312db7c40f2d83d91f13744022cdf25edb6a831269e15e4941da18d768ddb67952e39bfd86b3927cc5d0812a960ad82d854727cf29ac2ba9 - -COUNT=16 -L = 2048 -KI = 1cc3cf534a116c12c246eee9d20d9f2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80e0f3cb79e263103b4e68c926fb8e66d64a732fe88cbd6b453afd3662a5740a886299a109673b26dfde433a0cc7f817bfde19 -KO = a3467ee70cc172416c978f0377420a939b03485d37deff62a6add6b8e8be2297e74786179eb291bdd079cf093f57fa426b81240d6c3c8411a253c8045222476c073cc795c1fe6215d8ba22639711681038d88c41e56fbe086bba3ef7b20c81d0d9d78b82a161859ecb955ada16d03440a9f7fa870e44d0d8b612dafa066f122061b95704a72f6a64933e975a5ee4b180dd3ce759d6ec4d3cffa170746a23d20f686cc5844e77d9b6e07ab5731c0b78f49f91cfb176c4b69c7573349c8773d1935b00085bc75908c7fa3568c2d2fff16c355427021635e4bbd0465dc22e65634dd0920d09f848a5ef6209d5978b35a90b16d9a542ff2a3a706d7ecedac39292e0 - -COUNT=17 -L = 2048 -KI = 985f3cfd3544938c81b86e5bf703e4f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a471c232be26be46f664cb1eb249bbb5718314046c497b2aca78eb69f4c76a4119da434040033b3482300b5e23f02a11e95d9a -KO = bb84d5c4f549211d68383e47fb19b0c992f6ee068606f0822f79601b308b20415da50b438ccdd7fe08b32a9c6006907082490cd79147bef57fe7ed999bb7fbf02dcde3906f9bda80e74d4e345ccdf90dc90090d46226bfadf828c8a65ce62043855254f811d6e4a6b54a4ca4b24c6bd6cb2347546a03833b5ae54b7c2a48476e492dc0e1986ea50118432eafcceb6f391879a3fa58386a31687ee8fbb04a02ced7741d6e55df391695bca9d81bb710d1288e679ce9e5af771b063be129342b173ea0621741cc3d5ec61e139b409586cb6dc3ff3feef9fbcb87b1fd836bdb4c3632fb0697846ee7d4a0cfad13ecf8fc8bf112b5b0cb13b09b2f7d596c9832ec4a - -COUNT=18 -L = 2048 -KI = af6af12d448c55cb22f14b40566d5789 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 436fdc298f1bc6e99f3cbaffefff1c0d9785d4163e8858dca16225a148bc584310ab0758a212efc6b0503c651f795d706dec8f -KO = 9865b46cea34c9a45be9cfc3b23e5d9cbff71371f321f1468b816be79ff1eb5fc9e9255b8fb31df995e0fc40ca4d060391b703504abbb79631e492d7a77d15e4f3e84423e323d6dbd1416d58d69bcab3ea03abbbc997194d4419e22bd40dc9227ac37b7eb366fdc34d323b1450e18baf67e71502919aaed7db27c9104717008a8c8c528e1dbea1fb021c2794a3c35bc6e9d41906af837bcc73f2317626bf3ac5688dd9477047b6881d8212a6bef582704c438e1a5d6286cdaee187119c3cf644e7ca48ae246d06e5e920abfccc578986389c9d14c37109856acdb1ee9676c4619bb6ece4e5d9fa389abedf172c003b99797d3de8171930aba2cb4ec317dace1f - -COUNT=19 -L = 2048 -KI = 8b441388d702f9aa2be3e732622100e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f7c53482c6459918ad991c2f49e84322d574109763aca270ee0fde895ed1438b6b015e58fa736f6980929d31ee00bd1aaa7a1 -KO = 2a2fce801098faa5070f9138084881828e8e4e09a2a06da91b5e58a7af408e5c9ddf9c7a3ef5fa5fdb4b8502233dde987bbb195003d01bcd8043cc8b8124104432b2fc9bd7d73da95277154b027a12fc70c0439ea0b92a810773508bb7e0ec8d4d859e520a541d1d947e8d03eb4423e5b613553f73c1880e8a945ed94253b0ad551becd08959f14e377cfc4b7218b344389031b86e11774a1b3330ff80f4f4da7f53ee2cfeb69a23742f7897cb0017095fe5f3c4279124dc1178367d56672b02fcf637c1185ccbad4e9d49f60de19da15b0e397cb893d6f19fa491fa58bfb3d6b12c3ce9f589fe0c35429ac6d026184a9bcc91cf6ca181a4bedb89cc8e0c92a4 - -COUNT=20 -L = 560 -KI = 1982fc2bffc40a753362f992afdab934 -IVlen = 64 -IV = 46479dc01fe8c129 -FixedInputDataByteLen = 51 -FixedInputData = f377cdfc06cdf52b7588056cf3aa8795c4095489235b1afbdecb7d27ed026250010fc8bc9e0d1e8bb20bff0f3d54c35be2354b -KO = 6984d8157047ce27f988d87b4bc39a8b01693815a4060927bdf0ee3359b8ac2b81583ef8eb9291fca500a0f9a1cee4324016ec4f8faa2b629cd7a70f6e54f53773252711616b - -COUNT=21 -L = 560 -KI = 0a51e31b75be77d811dcb26039dfbf85 -IVlen = 64 -IV = 9cc0d5b77b691ef7 -FixedInputDataByteLen = 51 -FixedInputData = 6b1517b9af9fb94375b8a8c978c37e91f94456598d5c7801d66f8f584db1fe05e08c3832f04916ec3c07a1aa74f82f1b327a3e -KO = c59a909c7b6611f15e725679b793e657290f130d145b9cea9ea26deadd4a343c5a9175fb10967dd7f029c378444a89f3efb35eac96cfd4197eb300c8bb1bef480a4b3a7e04b8 - -COUNT=22 -L = 560 -KI = 53e0ef986bdf78e0dd66fa1eb36c8045 -IVlen = 64 -IV = b7102fbfb6d422ac -FixedInputDataByteLen = 51 -FixedInputData = 129d682d9f174abe2e793219ef0539bfa7f1760f321c11820b3c40db91308df143a0138f5de2fee38a675ec82a3be102654fa0 -KO = a0db89b7c23fb635c82bd7061301dadf4619ef1bd772197dcbbdf2e113af1d88441218316636ea7bfc5b7053069802ed5c9c1db7c8b535eb324cecd24b73bdf14a3180cbef20 - -COUNT=23 -L = 560 -KI = 89568d787a823d61f3dd0d31fbae8107 -IVlen = 64 -IV = 1ed6a1b230bf4b1f -FixedInputDataByteLen = 51 -FixedInputData = eac486a25481360c9da03f5c33424b78fef4ab70c71e90d14cb4372313903086e31ffe228bc95e24db52e1c1e92f8d66a580de -KO = d1a0667769f30a6753704e04769a80ae17e0940cb8db5f9d44493d8901caa8c528c5bbe482daf9dd85f150642d76694f49bef85e5a984702a1b35e19d8659ba96cf6c7fabc25 - -COUNT=24 -L = 560 -KI = be0dc1e4cc19adb8b2c1858ebcf78b47 -IVlen = 64 -IV = 937da02f895fe6d7 -FixedInputDataByteLen = 51 -FixedInputData = cfec77be07157d64d28181258a8855900a011fcafcb4b14aef4473a32861d9b281246ca86eddc88e1f174c0194d0f04680fdb0 -KO = 7aa99a190445996b053c8725cdc6c02a9b1df3fe8ca8bcd9f63611db025f218fa6569a871c2851e533d7438316cbd39e3e9c0eba33e7953982bfb9c2342ea52f6cb9a1017803 - -COUNT=25 -L = 560 -KI = 445bd4264469e7572404b42428494272 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac5ca46495b062c5266afb12b358c63d1b9038af3c88119432c31ea7f83ec423f295e17175c1ec6d49e435ec51cc06fc77e54d -KO = 1d06f7cf0e081efef712bb368757d8840f0792e123fb8c6d4c19a8b972f43782e10847d6e437fa716a08629c137b290e271183de832051c03cb89221b52772bc0cd43dfd9c09 - -COUNT=26 -L = 560 -KI = 233e246b975ad9aeaec0532d8d6da546 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d60518af3972510509de30c755832953cb2fdc4b743e4acb44531c13cac7f1e2408f3ad7da2f606a6636772d7b4e6b6a48c7aa -KO = a13f0e7030a652f4f8d88f1e9a04f129002cb258ab2a573be122fc67cd95d9f668c4c0f1714dcf0beb3a487c37dbbf6e44aca22f49fd2064da9b1cde8872d448788ba7d60420 - -COUNT=27 -L = 560 -KI = 0d272c7e7c8e598ba60752f9a79379e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c46b1b50e9c9751c529c648179317272df1ebb404c19ffc90d7b54d94c6f2096f7ef88d447bc699509c5c553a9caacd5590da3 -KO = 7651f0bd6a2f5f3f3bf50a5854b41ece8c925cdcc35b8499ffa81aeb0739869767d5bbb3e8d57c41b7ea567aa5d67d7f65df85f01a4680012c5b3f22acd8c30554516fd02960 - -COUNT=28 -L = 560 -KI = 8e644a6d105c4433e25cbc86ddcc3177 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f69aa3d9f402ddcf53698fff49c039fcd958be64fe438ae9aa4e9c329284d57a230807f4a3da254590748f1025021932f82c4c -KO = 3fe8f0c16754c7b2aa9bf2c68433de57bb599252edeb063b2a71c8bc72270fea0014139c55ee98fd8deca8332c1eea3c8dc82629d4d8e6d2e5b7b13725f35adb9b824639f324 - -COUNT=29 -L = 560 -KI = a77426436f10e03148f502d7dc5c9469 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c203782d1076ea1defb7daf4e960d1c5c244bd01fe0f6f5dd3e96459f7292873dbfccd56335f19d48c4431e220dbdd5e365f8f -KO = 155ebf2f504c18888cbb3c71b4b9503082ae53fe10c2a17953b45cb84b7ae9b799c32d77a99a61d876f7fdccee1d2e43def3e58a799a86c4a9d8420de9ce6ea4fa83f30c25bf - -COUNT=30 -L = 2400 -KI = 3dc1c6b7cd32c1a60dbfb7ee09d057ce -IVlen = 64 -IV = b1cb028c2b52a45a -FixedInputDataByteLen = 51 -FixedInputData = a7cab8790045d8b49e65b7109884fadedb6c6ac2458582a8b17058038ed0461d6952e5278c6ca77a178690d46c64830e066369 -KO = 3f9d6feb6724859db2cd5bd3250576aef185c3f24cb92aaf638cba4a15765a7b5e7c925c023232a209198e539ff673a35b2591dcee0941651e24117c503dd9586266fc47c75501210b18823f44d482adde1f81ec6251f1af90b5c38f03bc84102a39a45525caed4752a49ab92c76d0f67e6ac84f0b355274d94723da02bc354d5aa1704758096a4c059fe7f708318617632c1adc0d53ed1a276b6edd439076beede4c727cabd723493a9d154f1b0f49bf451f08a1da527f9a4cfb21dac022ed8d4f4876526bf839132d7206eb36f107fbf4e9e1b230efe4ecf019a354a7c0165605c854b3240403dae382d262a876d2bea12e2cbd385dc9770d1550ad44e7cb274507270ec29dadb2774c0cdd0aa21d0df61a1dc51e506a689c1ee9a971113123099145a6963cc326f4e2f14 - -COUNT=31 -L = 2400 -KI = c5573fb8ca286b31bb505fcd7c0a962d -IVlen = 64 -IV = ca57a7fbe53e80b1 -FixedInputDataByteLen = 51 -FixedInputData = af1aeec2416a38365b8c44713321e3270f87dee7f84ddb66ea6aa05201c0eab280f1123e77f5834c5fece2417ad22061fa5de3 -KO = 8653794d412cd10220b3a9490fa81c30417650f0958ddd83ade93262832b54b67bebae78c80f7b1dfbb5f33278ae2230e84bd2a928c5635064d9008360bad763109733628d0008ccd317816ddfb432cd17a5ca5545fe9e79b2a03740c8a5de937d68cc582011796a79e91644f221c2fed46fd37e0b9ade96d9dd6f61274ee08e971d91ab1b1821e1f42b08944986f5d50c397becede0238cb592399cfb67473bfd4645aa478843d18c884bfede1b0d55371a7222d52926f35ae5a26ce8cd8359bbcf54d84eb34bcee5bfc6b274ca2f639b44d0ca9803a7071efa72bedbb6567a08bc8a9d3d43b5516c06963fd139d82f23640f96b7278df439a0dffbcc605c5a3cdb0ca60652efb9d875dc3041e61a2c7bfa025fb4e64b1d7d52b35c86f840c0cadeec58fff4ed1eef3f15be - -COUNT=32 -L = 2400 -KI = 2eef869a8785aa5823cdbfcefd6189f0 -IVlen = 64 -IV = fca14d9a5e003449 -FixedInputDataByteLen = 51 -FixedInputData = 07c0da1b763d232ed110cf9b6ba42303185e9fbc5d0c723e0ac109261a44565296994ab01829931227edde6536bd5853f545a1 -KO = 396f067a0bb32881b75bdb1aa0b0838ec5eb9fc646e6718b6f3d1aac997a72532f14b53b4c2932ed004bf05cddb094691e4e00a521e7504cb0a5219aaa7a50bb87562bafa5d52e9e16565a378c0d2db493ecd9772e69217f4e5929c4acd9ddfeef3b58fd3714891d672e032e56b420f1c1040593ad06568bc104122b76c3a0ee5a780fe36ddc63524d37b4f8bd619213762fcb2d8c978c48e8a6775cb10e68e741ed9609f1821b58a225a36d5cbfc23288dcf11d86dfe96c9f595c2b10548348badcde17ab7741c641f80d8dadf79ca42c10d236d444f43f5affdcf0d98d47de08fce2f5f2edadc6bd999854921091a55358d91816155a5a7fbb9bc90b691cad3d9d994d48ebca62dba0e1b2f737958658cec83693725f9c7adf92372ae50ad074e7e102ea8b239e0d416da7 - -COUNT=33 -L = 2400 -KI = f600c9ad49e83475802ebdd318a9d5f1 -IVlen = 64 -IV = 4765b78c6e93d482 -FixedInputDataByteLen = 51 -FixedInputData = 3d6866969219d9103a09ad3280fab3e761f8902ce2c3f303de73b1d8b2dc9d8ea10e0cec7b650f7b70fb8c48fcc440fe011f4c -KO = 21d9ead9ec690a6051913236e167f92c7e7cc69c90bd2bfa7b3a69a1d33e0210f21ffa789687a73a1aa6b2f032cd7302b82247add0a7db1a7d06225d71b4ef07ae21580b2671d0d5bd4a1d2418fe66ce2b5a263d90be61b1fa8a000b71fd7f444c86cdbe33757627b4538b1954eafa98b29600a054bae6a2d0dfa8048065fa215d196ca4dd825cbf1bb3b66afa430fe5bc3832f6c49d00e0a571bf43f61e6679210124800bf0f7bb6b1493a4ac4f867a13f6783453ad4abc1471134b574870fd097ab8a095acb3f94f3eaef8d9394de6313745ab2dec67a8ec5b2efe67519493f97685b6bdf5fad1230f3e7ccf604df2d219d57c8e8a0a61dfd3c5ef243121bd8774b3c71be46610787bde8fcd0bf0c1a040c0a7627de63733a3458edb3ebe9af1643d53e7b55110e01994ed - -COUNT=34 -L = 2400 -KI = c843b0de1f5a6b5fc4c99eae27a98fb8 -IVlen = 64 -IV = fad6b01c0bd6bc3b -FixedInputDataByteLen = 51 -FixedInputData = 9ca0e7cc23587f8f58dc60e42c26bca1e615710ae8bad6b073da66aaf1958ba815b6b678e67adcbbdd0983937692052a422d62 -KO = 105c19d1dabcac4c145a16b8d03db4fa9a9e96806baa2cef5cabf20ea8a4718ec867e0461759e653607930b10d3185217c2d57a2296e3389e1160134aa0af2ce0a512cd4ceacc271abe6522455497e6de2449bc1caf1cc049d7beccf6eed93cdfd4ea12ae06ec56db64e4ac6b2b9a7cc73d94398026f3b7c1c826721cba6137e4b3b6569b1178fb2d03beffa937609e6b437f35e52c47d6db373069da2a58b202260212d4ebc97aff6c86d4ce73631ee6489125a16f511c1f9ab45114ec200d25a0f33e59d49fa0e5abc560303310e72f8819425163d0b6b9c29840bd89fc61bd6aa95421a1dea931113f8f15bea890d0d5b47a742feb09c167d15607963796785253f8a565a66a0a6e1504eee6221f0be6a80f3724a56239f82ff9c311f57cfd0faf190643152eac8deeaa6 - -COUNT=35 -L = 2400 -KI = e0647cd0a9536c7e65a4b868c4c1f2f4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89de37b99a9ccd48c2f09e5af1fd3ce78af14e37c6b188e3669bb948d3c865b81a0219a999f7258113b8063f96f7f477f999a2 -KO = b12ffbb07841efb1e0d3a06ba38386a30a1050ef4e17e5bf661c437762d2aa2c5ea51ce23781b2aa45534e099d5e5a35770eae9f7673736243ecf821735ba29f8e2ca24f98354d34c0fadfaf2266bdd98b78a8b41be678abcab09076bee6fc6404fd6ab3d3ea398ddaee70e837ad693fc3cc40c61d5d9245b099d4c19a425eb3b33e8bb97000aabe1337a15312b6f080851d254e21c16cc5aaff69b2b6399b9dfe5ae16facf29f12390bd9e0ec9d60274c6683a44031a23b0c41b7d858879c41dcd6827c77bbc1e40688e9afe0329a76d727d08668db220da2a064949e2282e7f05f2682d73a68047219673f0126e125dcf72a92275644e719ba55c5d6581321fc0465f5d45a053b8d90462ab12817768a9b6682455388c2e42f902df52b1d3157efc15d47db44f2683accb3 - -COUNT=36 -L = 2400 -KI = abdc7ed2b73cdd2f753572b6858b2f60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fba258e2909308e3fb4c0a307a4b558f2a3d0d3720fda34c8d8edfd53beb0eb3095429e499ed97271f10d8d9944abdd4b12a07 -KO = cebb72d12850392435a42e27b93c60ed1bb394482a98bb33bfd6495f26a03ebf3a644b2354bd39d7aa7a6fbbed338b11a55f9348738556eab949013b1fefef22360bb1dcac2e48dc9f729e63d91e41a415a46bdbcc8a675503a6d6233ab141448a9e95ab0f70c25526d94c00d3639146b0e31667b6208fe9945f9bbffd6597f86215e5ad4d67c95155cb47d2377c5c01acf601a0e90d92ee9c4a78b32b7638b1e75fbc3313707cdbd9562bbd821dc1e414cd21dc53c92abd0c9bc7eabc93cb989c22d255103306ff811f4b3dc87d3887536ee41b3dac92f3202fdd45ef6f7b8fe9cc616f6db79fae52f1e6dd8c58a1b28b8dfb7a7a3c7ec66e5655a54e9f6cde30592c9d71d88539c4430e514cc87bdebdf992bb8d10243b7d4da9ff89ccf547571a4acd1c29cb5035de8c3b - -COUNT=37 -L = 2400 -KI = 83fc509e8d637b4b98c0a180b7841bbb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc2aafbc94ddaeb02894f46243b401254035231825c1e456b2efa398276167131286126a68e8bf960d9e8ce3e9bbca84d1f735 -KO = a03c1d30146b8429c55bda387f2a7a9f3c57e0cf18c2d25bd2771065402bc0e3c32cb948e9af4ac30eb8a10bfc2e3174f00769a58cd41db2f44a9fa688b9860444dee312d5672a02575214eb951beec5655b82a38f81b10d379e5bfc8082ab542cbd6b817bd2896822f73a6dc5814ae39b1435d0461611a953d4a687ef28737fc0a403a1c1b27dd5447a2cad19285886a02e35c12a0e5b52af12e171fc3e322179536cfcb27db102253e3f816fec5e1a72b1c49a718a98afdde5f5de6adbffe4ec5162558764391b5407cec76717dd196a16ca4738b84b7ffcd01449c9456448d80e3e7b4624fcfb214b0cef3d2b2673d5cb184ebae29dfb36ff55f29415c1f2742a2f0b2d4049a652225229e1e7ab1d38278805d2329928bdd93a2f695e5840b612186bf66e85f5ebc211b1 - -COUNT=38 -L = 2400 -KI = 4d20fbf7abb227745af1b8e712e19a10 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36eea97c1fd8484a75eda1de8d4cec8832584c1c161d101564f8f7c80711b6af7694b262314e48d6826c4d7055fd05d69e5799 -KO = 6b135ae647cdb197a2e6cc277ba3b9992b8bdc6540bc0dc87002638b0a31d6230eaecb16f8ecd2fe968271dd900b3442ba26b3648ea058602a7da4bcc2a68494cc79416e06152aeffae72baf8a4c298b85cbc76f6c8245242d935341b1e97d67f007c72c969c169fc9513eee9f18951bcd8c26f8d69be37ac04a7eba9740982ec78e5bc63defb73d1c4c1283bc59a3722f065084c88ac3e015687ea72f641b875ac5970ead5ae9b72fe69b83b7695c8d58fca0a5fb3cab35295e1159128f404f1c16532b8626c66eabb733377a1523254683c766a01dcbbb8ee531ad1aa69aa2240aac8c74b220f85299582d3be50bb656105ea36770b3dbd9bbb5c41b1d52c267bab4d44f70383923492ec8ef36019ba01559373880a6eba3b70e72cb942052da5d7e530a074cea5e978dc7 - -COUNT=39 -L = 2400 -KI = b11a58506e210a01daa928bb77557376 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c4c99ebc29229046662e13ed7170a6eb2dd6fb4f80a0476af4af4f5bc4a0f48e27e57d5384454914e354e3a51bbfc597ad6c2 -KO = 91bc74074c1f74127284d53b22b231b05334cbd7e2c62f1e87edcb6efa0dcd8ea343737e036a361ef139ed2b892cf3b41f3d73c3f1c6ca993dfe030b857fa2a2299e402c5f78883e2d25a810c8d65d83f54c99343c41c7c776d0b2f6191469cf0741c1fee7f1a225b4dc607b056405e109c3a9b3ac5fa3dd5ffbfc46a9585d8cc87764d71fc2e0ef6c1186c54ab69452908c57ab5eaed5461d4bc3c16e0938cdeebf6db57e2bb8d948060fb6a4f7ca24763987c087804edc9853029a71570e7b0088567224d75b899d000bd341cccfb9a7160db94cbc043c2bfae40f30b8f4d5bb07edd8a6cf015ca978139b8a241808e9f6d6da44e48115e0b7681b1a1547f90f9247f84102b8d654fc8ec29701ffadc628a1a6549dd045518d74f1e732daa2908789c2e5beaa3bf463fe35 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 5616f70fe533ab25f002ed223a326dad -IVlen = 64 -IV = 82e4bc2851d2009b -FixedInputDataByteLen = 51 -FixedInputData = 72f5266aac9e3c7901e1e9a4d4afe7b1fe889fcd25046351d209c39d0d8c034843f11a0a2ffb995c19024173bb3ff6de6edb89 -KO = d9db9b96d7ed63b692e8528cd6e6495b223483da0955e0c62ae99bb88b14ebcb288428d0fd874ba3edaa37c42f81683fc28ae9d3c1ac7cd8e540143725a96a98 - -COUNT=1 -L = 512 -KI = a53b5c5a4ef218818dee04029b901e0d -IVlen = 64 -IV = de693972b698d96b -FixedInputDataByteLen = 51 -FixedInputData = 5c1ba04283e4fcd0e3e461133c232ccba1dc98672c951f8f2ca3c20a7b56a2c1f0fa74b42cd081250fb50dd800880e32593308 -KO = b55bb828c3c14880b4899fb29163bbb79d4832867b634f85daa7f8d022b40b43f998b536abe7d8b39e0f1fd3f51447933cedf3f192ddf09a1a47b4e337947cbe - -COUNT=2 -L = 512 -KI = fad9a6631c1fb69dbe4c251dd992cf85 -IVlen = 64 -IV = 72e40b13f4832bad -FixedInputDataByteLen = 51 -FixedInputData = 9c73306b0679d076a454774e420ef59b23c115e7d8a79476427a8a46384cc34d0a438cd9615e6905a0f085bab15c394094efc0 -KO = 79485328565da03fc2ba66bb1f0d1981d19838f25a94560026f63f9a8dee880c2244ba4769cd85f4b3fc7d67f4218023e55ef198d4918920229c9c4db24a047a - -COUNT=3 -L = 512 -KI = f1e8a5c68e2e250eca1ee406c5fabd0a -IVlen = 64 -IV = 904e84a2564e3283 -FixedInputDataByteLen = 51 -FixedInputData = f9cc054daadf758f16aa7558eb13e9d6423e9a86c64ef1a8b50979a5634423d0fd8fe98af39db9ede2cfaf00974ea329a7c569 -KO = ab6c5e1dccb424e6025c681f8a4c8d06142cad8a6ca713e486e172000b81095801bb4798f6653141c5804568f40b8c667b9c78aaf5c8f06a00f4c30286f12613 - -COUNT=4 -L = 512 -KI = 6a2f56e19f5b6ead8656df6da25b25dc -IVlen = 64 -IV = 280f68eff531fd91 -FixedInputDataByteLen = 51 -FixedInputData = 28537cb1945689a7a7efbad446673223b3c033c1d83a86e13fafe63dbff2734c0923230db308cbd478564fad4457054d8818da -KO = c44b4a7b69589c6a903600f3fcbf82ad3867700bb91adc6ca3e206cece086debdc246064dbf138df69bca0e384fcd537a6b6efb6912811450183a580bac170c1 - -COUNT=5 -L = 512 -KI = 69f5caf308665c77554e4f459a6b922a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5ae92bb3e44dc5be1f4d7d3e0a3760c3fb975b2f248046458eab5535b9932ff6d6f2a2b2f77c8d76106c6cb6e8977b9a023bf4 -KO = b8923a47e6b38ed8d8cb98216f5383c241571d371138c7ebda0555fa54e8b28551bf8e25a5e8ea1ced0d829faed9dec6637197c5e7710b2bc20ff65c31c50d86 - -COUNT=6 -L = 512 -KI = ea193c47fdc7113651250ab34a59af81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ffe7dd2646659003680210c40ba04819ddf5752f53e87701dffdd7bd200975a07d220f42761d4f0b58bdc1b818928b05788883 -KO = befde5c9c1160ce678c4e1b3536f9ef22f9ec011b93f0a8e063b3877573487013178eaac54a6efc69cd56f3cf11c723780b0213c422db08970ff12cec6469c06 - -COUNT=7 -L = 512 -KI = 60aa82863797481eb6ede6f17d2bd06e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0fc5077dd7d7ee168fbdea8d3f7e6ad0f57970a6f74bcff1d72f942636edfb9477bccbf786332f8b805321fc64de509b4e7fe6 -KO = dffeab6b95950ba2a7e6fd3ea4938b791f5a435cbf3f1debee5d20bcb0fccc88e8d1f3b532053e64afa1ef6e94db6204e211f3f00c992373e46a6b616d4a63d1 - -COUNT=8 -L = 512 -KI = e9e6747b05e56ce85a7bb5f698e9b582 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72398d4de1fc29edfd7450f545006d45a7feaefad1ed1291ff5bfc7f3c6c0549e71c8af29b2d80f1a664dc79ae6aeb2cf38fed -KO = b78abe130e83c882c6d6745d7d66563871ac2dfdd3d54e96e73e6bd6cf175b88a611025ab3337a835b5da0622b0cc3d705e66b0a4841767bb5b73c0c3a9e233c - -COUNT=9 -L = 512 -KI = e700133e39cf7708abd76254f30944da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5cc58b3f83568b19ab0a7708ce10164f2831a0dbfbcac3f82a6dfac96a2b509b82b25ba1a9e7cb5a11f096262f47307e8459fb -KO = 4dae701fdf873ce49a0d4ab71a3a3e92d6760a2f05af4e790dcfd09ee7ba057e07facf8cea7ea6e90e55f7b014dd383d83d5882546664fdffc22e6b74b9f0a4d - -COUNT=10 -L = 2048 -KI = 07aae46bf366cf2968aa9a1e20676f58 -IVlen = 64 -IV = ba9e9d8588cdeacd -FixedInputDataByteLen = 51 -FixedInputData = c1c1a8902a53fee1bd4a8881b598a3b5982b3c1f5a15457e93f895f02cb42a10e42d304ee09d4430fccbe60d6a51a5ac88907f -KO = 96b167b8fc19a6af257ba3682177e33e30a98a74db712b29f07ea3240f1e5102eb5042630b03cf6c483215ee5066f6680d59facd2c58e428c2e1dc65c9677089a60410f23ac5cc0ecba32c172ab6437af922b989bb43d472399c0da93daa653f6eef102024b738e92f903dfb71751a4d8508486516b7aefd6be571a2a7bd9c24f3527a12b6796de728484f5a49b3c1a160f68475a0149e82dde95d9125e5c2b88fb1a2402ca7c931d93f2e0573fb85ab7edf41cae5e3e95f4fb29601adbf64ab226e73b618ca88fed2a624dfe21fadc5db038deac484990495de116e892771e19b042b03967862100dd50c3de9e184f5ec5197ea19ee79c7e53256a294c4fe3d - -COUNT=11 -L = 2048 -KI = 7b7bd2ad55f3d31543cd44fee7797b57 -IVlen = 64 -IV = 66ed4dbc8d1a65d9 -FixedInputDataByteLen = 51 -FixedInputData = b7ba47638660bfea50b80e618d5b9c50764391eebca8b1ab2e2cd8a1ad1bba6aa2cfaa2b19407b8a7627736b47e6b9a77a99f9 -KO = e924250a7b978e1168aaae9b1944a3874a0f269f3193e0657aeb070b67a45fa2759fcda92b12f1452479a74375d89b6627a536ebccd498ee83392a81b91c9dcf99e85246cd9d7744861d178aa9bdad8ce33e58bc506e52bfe39564fa42ecbd8f280b297f2551c7e340302bdaefcaee18d9ff374f87f6423216a9048188a794fe1c1147be73fc000ab0c2c0888ac21097552d3fe5a36041f05a89bb3eba1625fe7d7b6e107edb058449554865d02a5ad5785b404ff230dbe69c40748cfafd89c921758466252300e3162cc0f44e2ea3faea99e562b0a55a9a1370e72f47d5b6ff49e1c48e466fcf93ad22614984c8bad7506c3c5b5ae9ca62b1b3015a0f37cc7c - -COUNT=12 -L = 2048 -KI = fd91c715a3e82fbdbcea137a30cd31da -IVlen = 64 -IV = 46e14b8635ce984c -FixedInputDataByteLen = 51 -FixedInputData = 8b0460de112a4ce3e07490194498cfefbb5649f786196b2f00bd4f8e6c10cbfdbfd68d93bcdb22335ce87fcb0b99436bc7567d -KO = cbbbb78a54510826284bdf6e15ab9ae79e251067e74146b2b8f82af07464adb90b982d8909b4e593585f02f9b806e73b53c651503642b2ef745a73b8a9ef88fe38ab2e9453db50901db12b94b596edf608a330091ad7c8cb2b39db34d3fe1ae54410da2ec0d286e1819b0087c0bb73b411129986e220d1dc919a06dcf85f8f6e5142b3dc85d5bdb4125cf89ff40ddbda9b07ed2d69105a0caf53ead14bedf0319ae8fdc869dd96b82b2457a21d6d95d7d5b3da11af6a9f5d2849cfec7ac996a4ba536e09fcbb30918b25296e0f757c7423668f83a7c06226c28dbb389f2b39c01e91a0210b6757488ac7b7b22ff11e1b47850a73074183b7216c3a5372412e9a - -COUNT=13 -L = 2048 -KI = a75bfd925ed3a0d46b634884d601d369 -IVlen = 64 -IV = 37a34b6fabc3123e -FixedInputDataByteLen = 51 -FixedInputData = c3cdf88376ebde73e9c642c63b8f9f206569e7388415035f95923e40257014372ffebe7358ca76cca0e15e1ff16f1ef27b4253 -KO = 03af32db9fb4a48e152163f2ed0d0f47827be1785fd134308619e51a8dbf1fe4f572d100f380c26055cbc8c2db8444dc80da121ddbe1d96272b2a82d0da6906a6b75c0bcb77c181c3710cdd2a338b677e2b48395a09bbe29d4b290470b927145596ddcafa753d274eab3413d28a3ab13fc198e02ab45efc07603a3affa6b95878b37644c13c8ecfb54805e73949c49ac9e1f718c0c4f109fed2f7d52c4dd02b6c42426fc6bb86f990ab67177f467e7c65648ee6cc7aa52a0cd002a09933781244cbfd0cbab7b01b70141dcee7d2effaa1dfe6089183142d36be87c9e15ab2f735e971be6b523ac155e3ceb8beebb24591f3be59eaf01340aefb1484b419e44d1 - -COUNT=14 -L = 2048 -KI = af4178ef893a04188356a1c7ae08720d -IVlen = 64 -IV = 56670a831bd8d2ae -FixedInputDataByteLen = 51 -FixedInputData = 4085d569965d6a28999aa5f9ac50e7aa2ba48a59c23a91ebf9bd865db9bf516a80719d8149409c4b76b0dd4ca4c6bed252458e -KO = cf9429edd1c537bd97911ac23d291437dd40f69b83429cd61b7d175456240cb9bfc8664290a809db46356d2f678f7a23f653819041e517b48b86bcade093f394c366379f1e0fa365b06228d5e8f5680cf713a7c54e3fcde95e5bc12039eeddb4f93f56754cd15619eb449a829edec782173fec826102562d43dda7955f9c7cae86d5ba4f1a34203cc965193f354cbdf00fabb02e49c76ba1c73bd847ae8ab5d57b55e4c2e0690b09f9f624ebfcc034cb358c225312d2877cb43aa602a5f2c559182c2619bd680afb68de3c59f4cb18ada156bd4e6a853135a8e065d406cdfe8adf366da761060aa1609d1e6bd0ddd2a15b8dbf9f17a72ff4ec2be5aaa42614d5 - -COUNT=15 -L = 2048 -KI = 1f205f1b077e81a8f49dd02ec8ab2eb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a564cb8b7c3638811f7cfcebdb26df50f9c23942fc96fe51f0b0e822ed69007c76797a95955fe09b5d2756fa8f4c9599be9111 -KO = cb35863863089e196475fdd16b414f59b53da12adf05ca97ebe1fef9e7cf4cc424f15d70bb726adc5fdad0f8f7dd1731faacd75571de2c7fb71c4c58d3127290343fd0f3cd985767a93e5893c56ac1dcd11cf325c5ee1e5312f864b2be7b8eb0a932ddef1bb1b4e68dd6e34b52eeb45573102a85d551f03326ba8dfac85347a5206a9aee8c4283384ebb2b7e541bd2984ab67d907989daa0bc5834c28c46d8116562eb5321e3eac60b9b3030754e60ff058c4aa1959c61e4d7c9e054f253e9544975004fbff16783ccd5b325a835191f44d65732eaa209375f64e2fa0f76acd2d6d474d7db4e21019692ff6e199c359e7dc289640ca2eb1a6936091d8de5ca39 - -COUNT=16 -L = 2048 -KI = b03769d97a6a14f18825853627c02544 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3f3d91783bf30c13c2212a45b431b641e7dd7ba4a1c982f00598c05638030eae2ac6cb1cbf5faeb843294004f2eb8803e1d739 -KO = 7c2da85ca2e6e2865a7a67dc6d1dd783d22032c9e81fdbcba4bfe1ab18c259556cbb04543574d10a89ec4291f8d1cd48f2785cee9d7dd957998bbc17dcf21a195ecdf23a61c1ad87f3aab7d2b2c3f9894f908bd4c5b005e7ccdbb4955a959553e2cdb35f1f90ab1391f521258ec13e86392dc3c524c8a4a986afc293efdb930921fb5ec3e2da1d28785a2e38e4e9aad639e0252cf80266ecff0203a25ba82659a798aae9c6f34adb349061e08052d94bab4aa1517647190a49e8ca0193d8d04e0f0c13cfbd5a071c4ff90525abf3d0d39573f064c263649c62a755aed1915102943a3b733dde83efd3f22ec67cba9f86c5c900d0888ec47bfef2fef692ced895 - -COUNT=17 -L = 2048 -KI = ff5181e1530efea3e1785e98bfb3d4e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 258fb7fe3fdafe01087bdbba6c44a49f40c84e0d2adb4e9aba8d4fe76fbefcb7f70385314966fa0e73a6ca4da6150097de7f35 -KO = 3e3bf60326ab83d9fc2d1c35ab4eafeeea16d595821a535828b9b81463b3a3925f83c5fb385dc4fbc5c692b45618b83a70ba2d087b9730b01104a49bb088b2ab263aa92bb9c117e5b506adf82dbabe078690d767a19c459ba25fb9157ff37a1eea97a5cee6c952dd187880cedbf6b5cf441e70766e5efc01dd8d3589898ab1e122ef531229e2d3f5a47b27fd0e7f2913f6dd51cb675242d160d6fcfe78b60c071b3cbfdd4b4111df8a9474161f1b9ef569cb034e22afd634f40959453b8d604b4bcd93ba0288c70b88cb01ed407624b478ad1a9e8ab1a082c3b8ca41a646ea26a56a2302dbeab7a5cfe2e444a111787a766beee968626e1dc1ce1294421e5847 - -COUNT=18 -L = 2048 -KI = 9decf3c549c153a9f5868a3d17263f89 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df77a65834fdcefcf7453fb2e7fa1e5bf4aa2d858704f2726ed5ea6506d28b90c81975fe97d8014bfcb98e8dddf606fb74a9b4 -KO = f4209af458b65a3b6e15987daf71598492c8a4d1df5da796e4c9d9b5794464dd1ddfc7e486323769aba54c95f0034aae96dd930956601b1b70437093f05cebae57f37d8990a9671521ee09a42f5078ac5d2272f2cbd74f53eb9589a306ea55e852f4cceac562172a3d415703196a4de06cee04b63592c623af6ad565795d625494131435d720c1810b77e4c2c1d0b4b4c5514ed024b6eaa4a0f4697434347f57998de633c82f3e44fa85a6d057559396bc05370fc67a7176a6ac066288f95a4b7bf2fbfbeaef466e0dfde2c1362d981eff230cafec9a07f495375ee55ac8eb2a0cf50d40c09f7e3a1bb0fa6d4db8d57cde2888510a8470e40bde867e7374e696 - -COUNT=19 -L = 2048 -KI = 916c35b69fed2ee9e39061ca71f7ce3c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 061ef56c6712fb24ffd02dbd501bba701bddfefc6a7abbcb966582628084988e44daedc1fb82d96a441ab93af10a2f10c39ae4 -KO = fb816ac6da307d5a4e1e2d7271cffdfbdfe95fb93791c010b2a89cc46104c8e08cb3772aabd32b0419c486eab004002135ec4b2d0e7412140217c429ea49ec6eaa26e5abd91cb188f3d52125dba5aa34c31dc4349d4b7c292eeb84fbb88f86a344f60cc47b3592aa7e0b77488495d02260cb4eabe23c7e36c7f17b7f46fdb787a7831389fc8397ef7f3ef38397e0805c10fd4c742204af3a4f7056b0c2dd3295cf83934b4be60c62dca93b2c0e0416b0a415f39ed06612a5d9cee2b6b81656868e34e5a52d70476447eae42a4dfb27388367bc9b1d90933fed58c220413407cdab301cb4fcf1eb293cece63dee1d77577419c030aac3d49a072301a837d7e4f4 - -COUNT=20 -L = 560 -KI = 4fc7ac90ee3837ba5a8489d58b1ad3f9 -IVlen = 64 -IV = 84153337f3118bcd -FixedInputDataByteLen = 51 -FixedInputData = a5cfbb52d4beae60ec87b338fd3d351ef230169f7341cc8c4cc74674c980419ff2af0624cbb7fd5c5fa4b2e0b75240ea8b7ded -KO = decc64406d555662e5fd15617caf2b473d6c858816841873978e4c0a2796340605e144b220b9fc605b013c92a0e677d05c48641c8e8d26ee3862bc6580ab55c19338773ac23e - -COUNT=21 -L = 560 -KI = 39469b63a32cbfc11f7d810afbd1a474 -IVlen = 64 -IV = 2d90f5efba86db06 -FixedInputDataByteLen = 51 -FixedInputData = 7e8a1b32f38fab0b8797e61707d3bc19889fd1c600c458f5b2c8e2cecaf2a2c15e9b6f7273d5cff342d5aef914cd61a150015b -KO = 9db789eb2415394d7a212d92d7fea77de781d6090256752b2e3aae20fe2d3cb3362ccfa75f3cee310817d16b7d93c32e050e41bab7267b639c1fbd0ed07c8578daecdb6f6774 - -COUNT=22 -L = 560 -KI = af44b43fbb6da861d41d28f4e73adacc -IVlen = 64 -IV = cf35b83bbee808b7 -FixedInputDataByteLen = 51 -FixedInputData = 427449d7488cd0183e995356fe40f0fdc5ef95754761d14995d2e602a0160422f13157351c597eded603ca5d1aac71d5da566a -KO = 9a0bd3d6a7622e65b9c7f53a859f604946f61312b1761205d498ea25cefe687d566fe5636a36315c96a9aff9fcb821937b907e03d731d2dc632299c1e39b1443b1702526db54 - -COUNT=23 -L = 560 -KI = 2351103fcd490279bd5b077870a11fe5 -IVlen = 64 -IV = 51465e1def5eea49 -FixedInputDataByteLen = 51 -FixedInputData = 8e471d794197e0abc98db63f68717d315045dbc0d3b21b321f1328d4fdc279a219cd4260f937d472a091dd95d267df0b2b48de -KO = 755e7a6f59d3a9544a7f393ea249e23e492a94653c7312f8e69136a1d9960c80230f80339f2483fb9f5658e402d493ba89c147674291177dd84676b0880efad781d17732e3a5 - -COUNT=24 -L = 560 -KI = a79cb0a408c2a4ffefd070922b065b97 -IVlen = 64 -IV = 03090f7fbb4aef67 -FixedInputDataByteLen = 51 -FixedInputData = 8639139aae997767ff35f6cd657f7ece0d9d0f20dda3a20351eab9bc603247173461ec2703db8718fc801b8f19d89199bfabdb -KO = 77645e95597ec6462af9bacb7a5a0a689ebfb1e314bc6cda991befa55f9bed84812576345d132f43b161bc35e0c5d8c8e5a127afbcaebf0775d70a0198c67eea4e2e1324cd6f - -COUNT=25 -L = 560 -KI = 444c27b79ad3c4e38789d6955d9e88f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f787013a4e11e1277eca3d88bce864c68b4fa04e320c4fe093343c30af0ac25f8c281f31f19198ec07e8221c603a1d2f39334 -KO = 5361d62e9e25dffd0715bfc2baa6a8086fef02e5cff2788cb61b41791f59c84eb24b53e636bc06d2c3387b5cfa116fb3c688860173d8cb124248c06cdd549370ef4f1be9afc0 - -COUNT=26 -L = 560 -KI = af7cb4d5a852e28652dee306b8b8d4e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b61557db50b83d4c12d21b2fa9aac3f07a5085644590a0114c062c27107bf3db2731289d967169932693ff4c86d920d3f0c3f9 -KO = 8b4b3f5fc8cb7fe24907b988b968ac64204d1b60ff9ddd57da39452c259266e1e0b51b8fcc6d0ca4207768078e6aae5f46bb8fdb608b5f756df0d58e653f2272528f700e5b93 - -COUNT=27 -L = 560 -KI = 258b8cde3797fd30cd02174816529d3f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14d6f8f08d359107be2314f254730834c1e164a2e25517e94e2ebd2c3974600c998c0d67a9f6cf419529370fbdc4ef9120c0cd -KO = b81f2bab50e1e802a5c85c8f1dc39d896898c0ac6ea88457eaacd6986bbc40f4cbd1a9dd715b8e2501bdc57dcc08ac4da04fb5df8e1d923d4d74a5b69e1ddc238ceaf9e275ca - -COUNT=28 -L = 560 -KI = b19c1348cd0ebdced68b52c9f5500fa6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33da708fbbd7c487463f78733babd566092427d255b437a1c3e16cbac8c9680e97762e02a7460bbcc7a9b13df99ee5f00f701d -KO = d8f5e2d17c196127d5cb8bdfc1b46b1d51ba80676183910abc481a1ef11c7da01be6bc40c31b7a8f29d224426e8bf9c0b8992b9b5778b1a5efa4508a8b1cf54c4c3b913d33bc - -COUNT=29 -L = 560 -KI = 168c24b80795649cb764495f66ba25ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91759bb73545068c71197e839f897ebd11241502af2ccd544300136e1bc84a9969eb22d8889572802892f39f2089e7f0ce1eca -KO = 8f74a7d4eceb4a076dcee2dc1f3ea68c04d1b0d08d97c2ccb87b1176f12b9232f7cb47a66b5924df71629bf335b96c4091d357b7db9226a80cd2ef68f065f7a6d040896b3277 - -COUNT=30 -L = 2400 -KI = 1ab9e7473a70fcff1bc3ea0021e60cb5 -IVlen = 64 -IV = cb89f3ac73d898a4 -FixedInputDataByteLen = 51 -FixedInputData = 6a29f7b1e734b55c068fd9d6c878b73cc1dbee0805a02f9ee602c64ec041e1c847a6ab11cfb078e7db3a9f2e9c24eb14616ca3 -KO = 98f37d260ca737e46fc2b7502650dc14bf8edce1f71dd6936aa636ea3f128781394fe60d24270afc119ac261be82f5d9409d0b4f71b1bd475590d94b4db67042c699d37efebdce1b6044d992776aaeea634c9ad8ea3509696bbc6a764b905e9c68e31f4ff9eaa6fc3e5db5076246a170ca5a52505cd17de44dc296f377b430e41fddd5b18d33837d291ae7f44384d54ca17e24c094c3bb430673f8ba66c10d771a06d5bcf8a102bf78c6205fe74aef80c43d4449e8c8d5878ecc9df5bd6ddbef361cadd0981c3a27df7e3b928fabd569bd8b249ea458c77883ecc4c9584811ab3085e4cccca7ae2b4ae10c7c66ad965d668b65930d2cd38c4c13d8e8d5b06b0829c7c2928cb9ac9be3e745a9382e5206efcc127a461741da70383261402ce6a9830aebe47dc865ca6b440d06 - -COUNT=31 -L = 2400 -KI = 75426012d93f6b9eef77f130179b780b -IVlen = 64 -IV = 57818798e1a92c5c -FixedInputDataByteLen = 51 -FixedInputData = e857c8d96061927ef80cfc2cfdf9b1cb46c23a0ce756557c70837645901525db2d4e6c09d992cbdc5fd43fa8e3f1e6c94b71ba -KO = 81bd5cf3ff64f0331718e62a345e02c8b38ae7556689cf5812973ab45c20b073025b1a47563fba7eea51fccdf5454e1cd01389ef1414ccc7fd90d95565fb5b1d6f0021670089b75ef15f87e2fa69492c384aa7dfb18addd8732a4f55a366c4ac35d704306f8d0dc76c48e89de921b2103110f6f46052b470995c76cfbdaf2e572b0cf2ec4c62ec7aa0bfd6eb6c2664152a87c28b8e2f4213d05fcf4b8dc92903e4be2897e197b061a2b5bd7f0365e2093024713016c8acb89d9235bc712729950f29392c901f5990e59620c864db2737a2ae91ac7d975c3432fce3e53deff603e5769ca3aa3c3acedd610dc5d06c314a76cccaa4eaa448ee1f172f0bc706ade733e52fe9aeb91851ae856a322b3a815959b6fd03bb31a984386c4b9451605508f298a902043a3887d675560d - -COUNT=32 -L = 2400 -KI = 0c56bff6e57b473e25501e0df66dc68f -IVlen = 64 -IV = f7263c5b494a0a9c -FixedInputDataByteLen = 51 -FixedInputData = 6986c1f32f9c5d662ca15aa13ad06c5d01334250605a2f5a5bba6808dff1fff28cf2bfd39f434e54fd321864f21399ac4b7285 -KO = 056253ca5845272fc94ac26c6c22a447e723752b7abc358d8c3e46ba30836a5166bfc58d0b2805229556b4de431943ab42d24fe4ee91c37881556eb2ed229606103e38c9a5a8185b959d246cb2cb0bfac395036375c21d47d3c85fd5519979a8297b6406acfee853bd010f70da76814e52502b16e3b5d343203432271abb0474186a83ecc2bd9eac427edcb784d047231a9322b15b9e84ef4daa8e42ccd10b4bba5214f2074a819a529915cf79074a14347e32622afa5e7a0153b99fdb93eb0e5859d3dde5c93fb724ddaee87a8fc6d6f85b3b4c06b679e581290e09ae147672addeaead69c8be00ed74334598e43cc65fed78390a0c6548c34662070b8de96659513cec0c2c729c6998909650fe6f9652ba7aa68bd174afffbeafea0c7da754299a5a0fde361b086608a901 - -COUNT=33 -L = 2400 -KI = 06956bfc0d0297de7b90f84a07cef709 -IVlen = 64 -IV = 890b6ef577de8304 -FixedInputDataByteLen = 51 -FixedInputData = a818edf4fd08b47fe18b47b0501f31ec0401b8bb69362ddcbf24751c00eb9858a3817e806610bfaea3712b54e500b8fd904906 -KO = 5a389656ea9d59c2aec5f15b67bc2806c5756fdbaa6b1a5208e0742f5968e8268194652811646fb5b8f97ced45a2024dfd33434d571bab2c43b7af61c4fb7316ab9f8caa14b86c0cab8c3e0b0363b908306093082d38f0d14a343b151754b2db11122113c2e598375970ec52b97e76d3a5c616cbf52ee0f724b4ed46baa32991278afbcdc93a584b2ba1fa18bec55edf146139521346807cce1145ade8a7354d6c42419251b463228ea747b0f284db37c44a54b117cdc5de6918299077a7c3f639c5c2226d4f7f6c671e6cd7f2473ebc24decdc5f7dec4ee1ff8a9e800d537edb66e0074dbb0eb8306ef6d2c7e709d0e979d76e163b06a1e5bc925ed81495cb7da2bce16db192aac2b2a900b06f9679e2ccd8eee899dff4dfb0ff8b33db53da6f1e1fac6f984fd6e95a4779c - -COUNT=34 -L = 2400 -KI = 520e82cc27fc446315de3d9f8dbde28e -IVlen = 64 -IV = b0f9e4b4a2b36eeb -FixedInputDataByteLen = 51 -FixedInputData = cf7537294c41a0c97aee3e357e69e3b853c7235ee59730ccabdde78db587a90115c1abc3a474623a0c69fdc4e4c3defd60fb14 -KO = 505d3c3f03ec86cf7c20fd50ff3ff16f988a98d93f15dc8e4f3cfa33da0fdf8b91a4d0265d7ec9f8d25e3c9c1fa91c693741283009a1d0df51a091d1757ca2cf402d5ef6387873eafe25db2f3743d96b0db0b2b3dabcda489739641a8970d783b2d34802b5a102d4a0bc72d6a286fe6d2ad0ad265f34624dc49b286bce5f9203a191a761bb750fd0be080f8e2864d84d9aceff019709f9a6f586774620d23127c1c24224c4875f118d863700b6a65648c70b7258090451ff1639d146ddcd85d4cdf13542d0ff61222a761675785def837eaa886c04cdc07bd9b2c511865fddd4883ad85702422bfd82ac378d565950b99e149789a93b68cd3f9ca2568fb09d3b1646981313b12e9aa2c498187951288d704ea1564b590a16b17ee82dcc29eb6fb1cf85c3270a4aaf00f79656 - -COUNT=35 -L = 2400 -KI = f8035ec3080e87267fc4d44a351713c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7286f2855df8d8bed04e1bc146d5558e6a72e609d6e39dd12fe66bcdabc350f8996bceda971bd61e4b36d2443caf20de1e3ae0 -KO = f19c83ba3e75ac7aa3127a5f3505ef2fe9ce1777e6d9d3755385523472545848cbcbdc5827e8aae4458bdcc662af70b6ee3270ee9a95fda261d3e170000c67282520096aa6dd7a0b4f82cfa862f64a64af705f21867fd028f7a6ee60193b92e8ed587ffe3fb9f9a994590512440b29d2537c972279dbd3899cf2ed0c60534e45b13e5917ad359d04988e9b1079aca304c50d90ea152dc6e4de73ca9cefe20f29ae0184072efc08ae8e055f449ba2b8dd603212f6384bf04c9c652c2313a5c30796b5b58e36917d0fbd40c73759d991de695d20f7049ec81d29844c3321d696d8c920953bfcf71c23cb76cc13d2760f86fd538f36cb8506ccee5913db62fc7d501364a0419b20b2a531e35288edca98ce0b52ad668bfdb479c660bb22cf5610bd037a9d40651a1184590ffe41 - -COUNT=36 -L = 2400 -KI = 9f822dcd96feb8a4df10e367d1314f78 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d6479600664c446e64ec076225889dc2f0392290e6b304da80bd81c4e5a2eb39143cc9e5af68d4453b3b1ad17ed20969ac23f -KO = a7b6097d7c0e741d0d863fbd7ecb966b52e63e7aa23348adc3af8cbce77d10526aaee3098123c9a2f90d06aaed8c2d181d0b3307c30269cf6a2025278c91c39bae88ed3bf33c3db895887993ac320b5fb4eb0ce0f67f76d6f194643147476642c93bbe92c05c1b225bf5f095e16a1ab16e3e6cfbaf79649b7787b20429ff7c23cf2bb985793c703718f1a258b9498351f3203de3867e40fda3c9eaff6563aa5ec8b1d9d9cb2b9d937fbd1ab59229e641cd2d77eb257ed22f41d69043e6b3831a9f91be723cb3f4a744a27061089c97831f133d809ec7cd85ae9c6fd959e34410271fb18789b6bb3bf7fa3ae41aa56220fb12d3a61e49d21a4c463cfdd209bf57cb95ce84add5c147278997d51efc4160b2768eca41a8f3328421778581eb311bdd3e0345600a7e1ca325b786 - -COUNT=37 -L = 2400 -KI = d6a7e1a44f6228eff0b87a6bb9ddfb09 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0fd6594d5fca8773d8a31df28efbd4b4c090c0e83e0ca0c3dbcfdc0d5a6caa9a7569fbf85ca6d6dc879a6c525f86d5234176ac -KO = c610c853faffc3c8605e0fa9156e510ffd7f492af9ab77c504dbb4069ed8ee96c59080ff628efea3cafd36f6d76d15096fdc010490bd5454a7673419d76c9c9034a4dd4ab9d44549f4db8505c646de84bb7af9813ef2e7c0bc7a7e99d65f59b72bd15499f00294be63279e8ddedb33fdd54b29752feff1174b2e2536eac170b174eaeee4b1ff881e18b70af7dfdd90dc6075094055822e12aa4e6cb551834cf6fa330f3be0b9b4704239a6e6e2931bad2d1446b0ea4fa32c7454d254ea9c899f2655616c3577524ed6630100e75d21d609451364864f48063b857954e24131af8c8b86b9178ce6bf90374465d9d82d02ae474cea3d6dbfc4f6d209ef83542fd15e0001db0e9f9ade4e351c0e55f4eee655f910d8ad88ef1eaacab731c31671d0461c9c85000fdf47feb0fc48 - -COUNT=38 -L = 2400 -KI = 71d49e75d409fa1a408b0d20b5d41484 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1415eeb94095a9fe9e376424d6242e892a9f5ac031fb7ed20da29761acf8647f483374727fc60025721e10327893a75160d657 -KO = 5f5f16abb40addc3e14af48df508cd0b3b61d3189c24c5729eea0c13036fe80640835f1cd15e810ec7dfe42754de56f070ae9ff5303b6848a22e21435c337dacaf2d0ec30902a74be28037b5504b16ad460a7b74e4c50a193d135b31f490a0a5393fc9e21d7b35828b4d5ce2b92f861766bcbdb85d0f1eae127ab6360e83c097e8f5ddeab0ae533c4ba788d6068044ffc3cce5d2df588f4c1c2b44da2b7d3ed75e6c1b0270f2e518ecbe46c505dd2592c443a764f56eaa76e24c770fdc72540e997ee4e1ace99cdfb7080153d152447b09104a26ef18afc14e7b476ecbf495d6ea841fd6088cd62a4c4573704c7324bdfb2ebfa2ab8d41e5be0baaeda288f0ebdd6579293e004c350d10e80d76a00fc8b5453182064053c78a768cbc3118e4fa22caed05ac0d50254edd4986 - -COUNT=39 -L = 2400 -KI = c12c251d9fafd2ec3722d6c2744f26cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a1d82e3662dc6635bdd89c832c0a48ad52173cbb4f6c247531efc4df0a4d1c2723f7fecb72e3ec29ef0093166c4e4cac845b9b -KO = c186a0fdd28b7929733ebbd68dccf4a6331c296ad24b98902e1d8d782ede0d3f7626d71233565de7d336e33cbd534d55b44514a43a6c23faeb074c83c2c3cbdc235bbab510bae12e8c0b89f1f6fd1f0bc3ca08ccc95eefac0b1588da1c814812507403eb8fc37ca76bb446e992b29cf03e1a1e29e3f2b5c7a5452e4ac564f478c4883dfc072f8ce68dabc2d943cd4253a335bb02cc9bdae3dfb26f27a571a4c48b4c7bd998830e77bf5344e69c96516ef80b7ed14c499472e584862ff52e9320ca8025e2993cbbcefc1250c863c1907d07984c24068b8a870d1a5420a39423e2ed6caa49ecdd8bf8aea9c54ff6926ec8114354423e255c74642da6dfbeee611279d13da991b7e9b06cc684ed762beb280f9f4d41135aca5b33e0b2105f93796dd474ae6f551c07bfd004f88c - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 2a918b2f8b3d2e88bd6a80781b144136 -IVlen = 64 -IV = 1ee33f07b123b819 -FixedInputDataByteLen = 51 -FixedInputData = 0438ec8b1e9d3f8dc08e3836737775c76d09fb34de4fd579441d71d9fc32b0c2385aec46722795e0e84bdfd9326a95402112e7 -KO = a5a316783bd3e57cacf0d1a4fdaa8f8d48ea6d49111dedf41b11f90b5380227d2c80f833bc901d263643beff754cd2bd19065f4158a41025ef301ad4f174139d - -COUNT=1 -L = 512 -KI = 942073fa5c2dcbc421382786db0c3b11 -IVlen = 64 -IV = ae8a7cb321664dc0 -FixedInputDataByteLen = 51 -FixedInputData = 2041767cf6a5f37104e30b62c071054ae1f93ad65e48a6d4e5817bd102941f70006460726f2eaaece51c81dfd1baeb0e001ec8 -KO = 313be9e953da58a2e54f7166c8a0797f098f05e3b71245b5ed7618bd6c59310f2c1c0317c1042a0694ced6719a6e331f764d295e9e28ba1e873b70bffe5657d5 - -COUNT=2 -L = 512 -KI = 4a8f2347655b9db9f5c19449338e5cd6 -IVlen = 64 -IV = a10c983e05f3db79 -FixedInputDataByteLen = 51 -FixedInputData = c1e0b222327310b2c7df346b784defebdb11bf5ffaaff35d4bd429c142c603085b3c574d018ea24f06bd9e817d841f0b6bdeb9 -KO = 759fe5c7ad9d1acf529bd063e3ea8edc9cb511fb8e6a7c404b8163e602c61152394324abc9fd52077f59b433e5eb0a527ffe2803c80ebd4130f10bd1dab9ee10 - -COUNT=3 -L = 512 -KI = 3127cf2ba7787a4784b8730e221461b4 -IVlen = 64 -IV = 6eaf992adc12d1e6 -FixedInputDataByteLen = 51 -FixedInputData = b53fb361cc73a306983644a84821cc15e9eb5c21d5731ce3779a71209b3c25f2bfa1ab955b347b821d88f67568650617a5fd81 -KO = d33bcc284fe865050aecddfff4ccda30e0c3e9ccff284c84655c0ffea2545bf716eb92ad05b8f0fb6ba303bfe6fcc65ce75130c249b686f01b7bcf986cf6360f - -COUNT=4 -L = 512 -KI = 81a440372b090d37f68c70aae696a135 -IVlen = 64 -IV = d88858c58930c3ab -FixedInputDataByteLen = 51 -FixedInputData = 5bd6c6f0682405aa79405c1f3fdd2e02970f32fedaf002c6668ed33b9a3c447caec9b4a01b0d59cd45b5dedf95fbfd67b5681a -KO = 17d0e2ec13adca7feeb357ab67cfd8bed232860c68ed4c9cf3e9ea5399686d4e14dca95aefcb44979509055383ce5af998d6086e7247f214cd8b252af3939992 - -COUNT=5 -L = 512 -KI = c45c419cacb61903a16b37b6f649d054 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec36060f4f23d41f321c9747fb9882723c29eeab9dc5c1b64589e74d10c83e8b774e510f8c2fc00cbf59b1e7dcc318dafd65fc -KO = 0bdde5ca3916db133901cec159873592ba6376924a4c067e729cf128fd694f1f6bf8436d3794dab8c23fd5b117ea8234380a98b849fcf8bf2ca892e309e40a28 - -COUNT=6 -L = 512 -KI = 9eefdacc6a20b4c1ad5b0e4e6c84413b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8be659cae85e31dff10ed9a4eb00a4c28ce39cd94231efae9c6e42feb835cabc62aebc3390e5dd1e3fe1f329bbaf8871298d39 -KO = e96128cb574fd4afd0a26769d244451c4456f479e28f032af0654707911f59a8bed6ac8619546c2741b399958c6a134f41b0007b3967cde9c644b11cbded4ac9 - -COUNT=7 -L = 512 -KI = 5f8efbd8880cc13fd0ebeec0d543e5e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f91e0ed72d2a0a185a6db0f5743558b10cb2e3737d1402a6fd5fc620440cd44da0a062c9e95e6ced59bd5ce748ac48a65964b4 -KO = eb3fbe5898efb1236374be5645a5ea95cc35c98fd62714eeac71f52bdd5b6de68d44005bad25158005bebd271607b097d0c57f0872256d659080e47425255c46 - -COUNT=8 -L = 512 -KI = 85783c87506daf1666734cd1aa85d7e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a72d8fd2b1356508ed6a3aadc16e1b782da0f28fe96a6ef4ed1fb17b66cfe833a938642c334c6d602881043ac3089b6893b7f6 -KO = c2f322461ca9ce3bdc08f3d287fce784014cf46d70fec4bd6d17aa47014a6ac0959bd8673a0f2555cff8223c4fcee4e04901596b16232a5e1c2aa9c6f34a6f65 - -COUNT=9 -L = 512 -KI = 7e06c55aea5049038898fb37e71932dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2fc85d58e4bad5fdc1e26420777b085f37ef7c5da2c04ab920a0fe57492cfab88203eea51c42800917b0fd61f25141626fa382 -KO = f2365eea2a405d3e37300d419616c81c6e0ae9fbcbff81d340a3f493dbc5d38300176f73cb8b45878df9880d63e7eda968a9a48c38203497bbb6d7285bd0b678 - -COUNT=10 -L = 2048 -KI = b902949f3f0a644ec92afc2e5664240d -IVlen = 64 -IV = dd5a77074d2fad8b -FixedInputDataByteLen = 51 -FixedInputData = 5cc9d770b0584ede3ce01908c76c2c6032618b23e8107ad70446eed94bc693e1a0c5802ebc45c54f9ac59f18eeb5f5cc84b37e -KO = ecf7df6927517607eb650634ea66c45f64fdd3c0a5fef83ca07697c2c7a097ab17199e75b3f1bbea1602d49dacd2ba12a23456ea749d704330e147235231a16f208ba5d1d12a6cb139139579a7b5a650e543190771f3e9cbf020cbed7ee7c8438e4f922c73e631479de165f94d9cb5dba10c81b4754fc91a393fed08bdc5d63e27789d82ebd7c5f50fa302aada16bc1eb5f71d4125cdbe1c43272e90df648acfdb0c7189d7aaa3fb8f3dbcaf32c29d4144cdc31bdd0ddac3edfb385784e2d7dbc9f8445c75f480bae1484efbfbab40452602357c802fcb92012f0ff93db29adb3fe429604ff87aef3f61cb965d93539ac9b26b9dd69ee42eb2502a5ba831d8b8 - -COUNT=11 -L = 2048 -KI = 6295cf73fe529e216bc971d15fa6c824 -IVlen = 64 -IV = 408218afcae9c554 -FixedInputDataByteLen = 51 -FixedInputData = 809c166dcf94e5349369137307f3180968809a4e33c5012a686a06a38e5540ce953e1d39704acd228e005019008c13eed931bf -KO = 564c98d0e5c5795e5fa41d877d8512f4f0db02d931d1743c6b97d33ffd8fb67202d9dfa9e0cf89acff0d36e6970195f8f2b87c29e64088d1fd5faad86870e5c86d1e7bdf46a78877a0bb3ee243cce663df31fd8b55511da93a99318c883e4c41e95ab801a5fba59b1ce17cbe67f47aafe163b272513256441e33d1dd0d745d9f751c5daf43951103b08392f991224a2c1c0a50d8d6212cd4ecbe4f9e0946db8e49bcfc9aba24adaeb49759e67dc7ccb2a51a684a0c232f5f1b795448ddc6a79731c241b2526ea8a7ba0d1847ad25f31e54f2c78e6626ae542281fc8ba25ee6e91fd13da24287c4c7ca0bc61df85ca0d122b6c836ceffd4e154b6f4780376e04f - -COUNT=12 -L = 2048 -KI = 05bc2a6ef724e640cc0e0743faaef0a7 -IVlen = 64 -IV = be3f2c768306a498 -FixedInputDataByteLen = 51 -FixedInputData = 85f2fdbdf0821a85e74237f85e6d86704e82d6fc3efa7d0120f037652ad369958414d5890fcb00b01020b043555dbcdc2e56cd -KO = 175c5fdb7b69bae95c26044894935c7613304c24644e610af078207a018695578bed95524129b3318aac0869e7e0d75a79fe87e03b845f4d7225b9f9671ae106321f5a9f354e0320a1459b89274a391651a83b375473c9960742be4a2d4c0fa2f4ecd54e37babafc97e647cc591264c71bbba24c313c9cc685b3e584edd78d6a00a0b5d07e193a6a50e890ef4e384b4ec88f1905b2013b1ad9a8c73f8918c45bf6caf2b155f6bf8d19ca6791291657712010ef8e733d6472a0345f6d339115d6d053bffdacecb732770af3f0b6421b1421458d1bf48c86fd463238c3a90a25e2c63aaf4b67ee39950b16a76b4036a748d8ee3b3a6b534153fb98839c10eb0e08 - -COUNT=13 -L = 2048 -KI = 333c71b58878e1fcf55df0891e0dfb3b -IVlen = 64 -IV = a25db884c9ff114c -FixedInputDataByteLen = 51 -FixedInputData = 9fa05ab10aaafa44ef8978ba05880dde5ceebe50d743e7b39e6bee329d69f3ed8983e1c7abc88110e41a8b9475b4fb933d3b61 -KO = 546ff68e0ee83d3d2a250e1050edf4de52fc5a06adc9ba37de13e71b08cea4d823f3dcb9507df73d7230db9491c6fa2a595a33e298df86b6ab407fb82e3f8f1a8dea059d7b336760547f47cb7f947ca9af528ac2bd13d758179ba1616413daa7c1ed19244b6c1c31ca214341b6afc48e27612cf94b64103ee3e45d1b16b337a3092274d36eb0de58a0e7884d9d76e949669239a088095b065d5fd25a36a55db66a9aed88e64bb37cb24993e628cdd0b1d0289d4f185347f7af00e6462f97b6dd103188d245288fe51fc606287bdb5de1eee2883bc361b1179ff16a8d9b81627751bf93b74c7dabc16a6fbee17f63e686ee8577a377967a0ac2be9d563da76892 - -COUNT=14 -L = 2048 -KI = c4054e1d2e9f686478d0337d30d44a01 -IVlen = 64 -IV = 76a2eaff37ab380b -FixedInputDataByteLen = 51 -FixedInputData = c099afc111f0a67fd92ada96eda1d1bbb113eaa492bc7d48daeea639f8a0e70638b982433f3ee657ecad9b3766f401525c5abf -KO = 720d910b12ee0256946497cd943bb694122fe4416af488c7a73e459f4ba077c24ca5a054462e9ae6f133b54b523952b8d4aabef12b9413315743a17488c0e0559673a1fbfd9fc9844316fb6a87a56a37bd9f7156cc7f8c53f409b288fd113210a8b9998c0d6231c4c248b62686b5de1093b916e895e7200ff13bf5a9e3087d6953f4ee78b2b6d0a926893d4571167a756339f4fc3887eb21c6f06ca9b7cca32f453f148e72cc5be1d35f02659e986ff3f61f27ed747c3eddd3963c9f4c6f74c25ca8bee8e6fccae49212ada58138b8bce14fef4aa60c8bde3acc72b85251959447853f90ce0de3fdddb22c5f635da6893512ba449401fef814724e9c0a01fc0f - -COUNT=15 -L = 2048 -KI = 7dd384a82689e555a53faa053a7e97ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 166b781326ac8b977ea43a1ef51038abbb9447068d714de71684d939384caf9b5a637bd6298ffefc42c7d6f5b1d0b979e09d00 -KO = 59c1cc009b53dbc94bcb6b8b5fbcfa73683361e0fdf84105bb77a96b756fffb999ecb7c062e3c0c113d5dd64bf8f82d8e1627113258eba5740d8a6a39e3dd7fa51ae0a2f0dd2292b7832b0dc76b2415cceecf9997183b9918e117a5233d746a2bb0b0fa913739dbae46af8c5dba31fec3e14920aa387a084735f39116d65d5fd2f9b7d4830d75b4ad385e3a5f2ac1d0b12c7abf908b9924f205098bd3f764b8fd9b492dcc4e8afe530b9552010cd8be9e4818874cb810c232fbab832b25ece9b554879b6f2c58096c627ca634834519cb2e2979f980faa240182c241a33e41213db9c0c8e4586c5bcfd77a8ad50ca59c8ac2a988a94f114c47f11ea1ef2acad3 - -COUNT=16 -L = 2048 -KI = c372c84fb38d0f366a31e8052a5c40ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd90f34e249525f09c376d3bb00f94ec3e1b0f8b905584c7e0d2193c668752240c75dff2b2609938d5e83c3ffb88c802445960 -KO = 1f3650dff1dc39f4cf39ebdecb0ff946947003c259e62ec9387ab5c1f0239441d148665145d1283ed6a60fd980c4ec5ff4bb481ce1ff103c669a3de67221a33858dd328837fbcfca089df7bfed95f13fb95a32713328e1dfbba4309ccb6d07b7d069b7979b7ce74ba9926b5c89b1d5b6d615dbd8ac0a4e5841cead11ef1ba281a3e23ad78622290d1bb999049cb22940804e82180ae9eaa9d96db99ab24cf356640f64f14474b650c1c69e97426272650f7924e61408e12f3ed4c94745cf779b6b0510ea47931025ef20294a5a0d6990380d5722acd49e8a6052b23dbdf7ebf3989f86632d54a1e511785bd3231d7f52d5e616ce43cb5318eb9b9dc1be241d26 - -COUNT=17 -L = 2048 -KI = 1c01b07a2681b524fd02fd56e22d1868 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5427ee1a79ea84c6237f39508f34400d83387c3b1bfa48eab8a9894ec30d909e65684138ae0c2f1a366059809ae108452e413a -KO = 035283ceaba4a682642e6b251a581c69178464025cb3654c98ddbd87d3c2d461163340fff3f2c5b0d58582bb323c3829d55e64658cb5c1c525f5aeafc424c4002283bff65176003b82c8963e70a3f28af905e5e987227b828b8300a99986dd83ac92cc9852e04d6db4bd49937c3b986a54725bd0cf32b1a1357e77f94ab9c89336373e3b1a9ba588732d245bff9764f25db8e1d7384f8110daac10805129bf7d552abf26a974c7f059e57272ff7a035109c354dab0d5c479aec8426cd13932f324d093e48a815d0e41a9a579de7db4c7a90f47c2e318e21304720ecdeca51eb3ba5e45c3525dbfd961cf1ecdadadd033f0a10e651ca7f566eea4966aa66fcce9 - -COUNT=18 -L = 2048 -KI = f45018d0ab6a3c1f9e5cb0cd90e8d64e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a45a3084fe06ae79e4d2a2f9c77ae93240bb1953490eaea0ad94ab953938f3b5b351d73a8064cc26fcfc6b4e563fc67dff3f8d -KO = eac2f11a8aff1520acbfcb243ab82f269ae10b84031512716bbc3d3289ebeea07bc3a4b70c8631ecee0b74c7ef83a8f849d8817bae31377b84eebdf68154f9d671eb77d7da8a3db50ce4bbd788fd982f87f3437a4d6424f1d9ab5ad484b8b0156bfa0a626e69de9511f3b220d788510be0eaa2f6a2b90a43992c7d4e5731ae12cb8033c09c8fa4a4238bc9437a42b6842dc3cfa0cb4108156c5fdd3f94cfe8f674ecbe7c8c77d67e36f8732cd9fa788190ce86ead3dd8e3b17ddc7dbe300f30c17518e445d92ac4760c5983cbcea61b1cdbccc89b3d1c008f036eb60e19c49103d1314d9baed6b0026f4380395e5c80f00ce86be6841563c2ab76bac14c5151e - -COUNT=19 -L = 2048 -KI = 592ec59106e87ab6f1a11893ec6363f1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd599dcd6ff30f76b9ae95c43696139909be9afb6bd5bcd133dc2234984c27a58d1e876f514f42614bb472ea5fb694a6f2a54e -KO = 101e7a550739dccffad4b3901d181d5a86f881b8a42a0a3be32089d8c722beb4e513e308328ec6084a7717e6a3183dedefb002074ddca0455df275950a816fb5e3c494838222b4e9cceda1cdbda320bc5757744fcd28c968d9a0b8a7915b0ed9e799879b840860e8acf7634a9707f898010bdc993ba718a087da724f8235a5914dd32a8b6653b786243cd9cf82f228317e842820e9fbdfc298ce1804c6e5c49f47b7cc4dc260fa0aa31e648ec9063cbfa171f057e3b7d37fc5d80d5425e47ca3eb6ef5ee00a073d076bc9aa0eb9cdf7cf2f254f9b9d6a00dbc7a00c9e213d69cb4b9221175730ef99512cc92cbd276822d3ed77b68af9a69ca67d0ddbb0a7924 - -COUNT=20 -L = 560 -KI = 24c1676f3252848fce23e8754aeb2bf6 -IVlen = 64 -IV = 1f6c2e8eea586470 -FixedInputDataByteLen = 51 -FixedInputData = 02911614a33e55bcd54b4d1cca6f7f2c13ebda9c77bd0b0bc5653d55a11084c80cfd3bcc1be0046e7b1b3ce45a4da8b60918a0 -KO = a4bc01acf5ff5fb458eea80304b2d0e94b279134015daa4504e81c1a30b58415149b3e95506990d5f8a55bc11949a2626e814c7f4106a85e15b1954e57af830b17041ccc7120 - -COUNT=21 -L = 560 -KI = b7d3f91b80c8df72f7ac779c00067fe5 -IVlen = 64 -IV = 2a75393d7b47859b -FixedInputDataByteLen = 51 -FixedInputData = 69caa03e44578dcbe4dbae484024c5636fb7d37448ada778e312af85ad65c6e8869623b8b55c048e53ad44f2fd304a0e60a5ab -KO = b1499869f1404dbf8b54786344656a1f514a0d4829745f6d925a659a4341fe3c35e374c2322749bc22c32779d77253a77488b62f4daf54e87da55dd4f94409c22f95bb3ce15c - -COUNT=22 -L = 560 -KI = 737695cce90dd2c11d1c823429e9b407 -IVlen = 64 -IV = dc6732930545e52b -FixedInputDataByteLen = 51 -FixedInputData = 128e7a122155474fe00bfb1a32f1e1feba7a3a76b6a8b04d200883de3172cc1d01243b911a8a3bca443e806cacad9536d25fbd -KO = bc17b13b31c6d6d2d9662ae9916cabbd4369cc22710b1209884710d0ce633285ff90928ff22d309724e77aabbebcc38e528d91a5473da9cd98aa6cf2c10acdb8aabba0f7945a - -COUNT=23 -L = 560 -KI = ef19bf635afa41da4f69cd1091d22501 -IVlen = 64 -IV = 0f0aca6c8eb4781a -FixedInputDataByteLen = 51 -FixedInputData = 78ac985532754ac9dd5b6e2594e6dc51984b9033e29bec2bda4ebe9265bf2ff73884e66d4a5485b8dfd3fc6bb2ec87e4ab95f5 -KO = 7cbe40e63fd1540c30f1e773260eed3b02c77ada2be42dc8dbd193c23f1b88442912690b267f799468b6e5fbedb81f15d959137e51ca401e1577c7354838aa66e13f91892d40 - -COUNT=24 -L = 560 -KI = a1b456ba89e6c3c3848359d47cf85676 -IVlen = 64 -IV = e161b73db44a9902 -FixedInputDataByteLen = 51 -FixedInputData = 6a77b749acd8eeb650a38240a74900b45ee97dccc4dd48d6bda21177cea78ccea5e8bda248b1f393ca55b24eed837b3f518343 -KO = bd8b21e8058fac48e96088b2702509dfabd2149aca1d4183956cd4a0520d956f06a5a627258fd13d6097393e078252b6250b5da5858c4f13cf6275e1e810d4da5f152a85695a - -COUNT=25 -L = 560 -KI = 47bcb5189ac30fb08bfea819c6a9e1ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29e8e6d220d7e56b55936974b6d7746512467e2ac3f4508825dc18306ec78842e005a06a262134c6823425c1a64289662126ef -KO = 2845ade4154be890ec4e442fa2ff33472f4791425638340d13ab15097fd66afd2b3189eb921482dbdb5ccdcb9c41a82a301c046fb834a97b9e08f43ac5844ddb85b05663ed0e - -COUNT=26 -L = 560 -KI = 5f298e7fe21560a07302ee52150fa921 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f56f87346f95aba0129361a96867f37cff483a397bf70c9d0fca8e1fd076a46c498fb908c013da2d0f1a153c64af19363f13e -KO = cfc2fcdaa97737d670ffb23153e7430afc8ca93c5fb3d92f9c51b2c5143b0b63bbb70083103d3dd0f9b24ef1c9e3ee40324a57333922f885b6b37f4fb485f398e018fabe879e - -COUNT=27 -L = 560 -KI = 4c70a2054ebe0b1b46fa9da79d04dd54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cfeacca886ead3baf6440fb3ad271f4facb4805b01a4aa17edb15b269564c9859c21d1dc243d57bc1a7458ef1275a28d274ed -KO = c10c51b27ec0e3c3c4963fb23e77c32ae259a8d4d94efe50d82a51fb54875f83ddd23b9a62d393014ce2baee351059c17c2cc5e6ab788168348eb814e916224e6871dc4ae844 - -COUNT=28 -L = 560 -KI = 050c6c854c10af48795c264afc161f82 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c25421fd604a6f793ae07110580397fbc9fa02ebcd1d65533215e9fbb5136af40c584ed8f6764daa78dd3b05f0db1f2d06e3a -KO = 1dd73f16f14d0c8e25386789544bb7a0db974cd09adaca69d9c3dec573e07f2e1feb288204a72846323b439d50dfae4164d78e51193a1c8b279de6908794afa7ed8f8102f4e6 - -COUNT=29 -L = 560 -KI = 7d411cdf1971f28a7edd379ad1f70716 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35fe03a4bac0e25cdea5f13be575d93c47b6d4dbfccd8e36ee0e64d2988504478bff6a72b199e84376993c56879c55c060e79d -KO = 68ee231f9282bb8109da03455192b3d88eb4dce843a280ad72d8f3529f254ae25fdc5eb5b68f9263dd02dba981bda0ca5e6ca1089375d5ee686017d38902cc1cb4ca6bf7fade - -COUNT=30 -L = 2400 -KI = ea5248254c5c486cbcb22da382688ee0 -IVlen = 64 -IV = 48d63554a0e488c3 -FixedInputDataByteLen = 51 -FixedInputData = 910607bc888593b4258a8bdd6961add3b0e859f91e5f64128341f2ce04ec1dc6aa559d544e4796571f822663ab844ef0e6641f -KO = f16c7c2bbd718d3db4d873f39dd5b8f9cded86b49ecf5b514cff6d5f88589fb4d9e5f8e44a5cc77554203126e2160e82e6a7d7d395883ef57e14f0d1276c21470ec9cb02e49fac8be7f8b1263a7e15617c48ac49bb0abd1f0e9fa5368ec932e97ba9a416576ec16fac2f422c870e0a30463ae384039d6a9cb44fe05060f53abc4ff2c58f348847f4901406a60d83c974fb89cc05ee3878a1339e2db4460054d775be0d9921ff61f4807c719cf35753f0440f1d67f0104dae1dff6b210ce141d4e19ab5434f9504a512ad30be334091039dd442bc64cae181d02ccd5a4f0251daaa1c0f070645b4f69ff16bd8035512b16345a44c1830fc2d199605eed3669be35c1682b3af708a0dfc4c69f1e8dabf54bc152f30a8fcd9d4965d673415002482c3e9a770134b0da9c86db85c - -COUNT=31 -L = 2400 -KI = 499357cdfa4c71f8e5a45d19c200441a -IVlen = 64 -IV = ef4f0554490ff38a -FixedInputDataByteLen = 51 -FixedInputData = c58b96fdb540c8a10478f1c523909ba71a59f8e0f9ff05efc37ee0f3f2d47986d089fff21fc150a4d7fa9de627620ccbbe4370 -KO = eeb7e95cd1ebbe58af5aeb0dbf1ede2488763598d6d8bd9da762aedafbf4bf3567713c8119a318fb23a8c78a4efabe26b72bdee2673eb005ac40ef76109b56784cdbc74ad09ee41cd076f105f3e53487445f67018840060ff3067544a1cb1b7e8878f3bbdc12de605411897c8b6f34afe2c693e8ad519b54de7c8d7600b0da7d6866574b63896861079f59c97bd9589fb409de7c8b3807918dd8abd93a2a26c41894efc6b18b5876591b299dd920403d03a7108473adceff421a1f10e0e01f3eba2828e35cc7d754f9cd426f78fe895c2577d36beaea4772ff9511e3e9e71e68b3577337318c8d005798db0bfa68d567838568810d8645eff9ff158877ac40c4c3c7129c8b98a028506ef5f47a874c1f8fe6c22d4483c4de01cc349f8392a705135e38313c6e8751d1aa998c - -COUNT=32 -L = 2400 -KI = bd56306f0fcdca9f98ff0e5bc9fd33fe -IVlen = 64 -IV = 4458fa4f4124ec95 -FixedInputDataByteLen = 51 -FixedInputData = 6361126f9a799b4d478a16fd8ff04af8b5d454598c9cb76e1253a536a362421ec7c6e67a8d973a2b56b4addf15b733c056c8d5 -KO = 50a6513e29a97a59081bc914046b3c484e6e00c2aca63e4866539d73a7dc541294abeff6658af916d4050e941a1d028d0dcfb25b1480b2069a1d240feb24246adb0f9355d0855588e61ed7d500b9fac93d53e33e2d110cc728941027110476e2409ea0333e682f5b55f988277e61623bed14931980dc1e3ec54df7f2d480fd481eeebc95e563cc6f342050ec61c790806e555afb22ae99d2f79cfaa1733f5cd7aa67301772e0a15263247c720c6a1823efe96ff2d72f3888c07d35e357f5612df94aa3c3d9466480759e6b502248c541e88fdf8cfb356489498d836c6e823d5176747132884f06efe48c4d1517674a5ff66d338a998558b843f4df11d1970f9fe6cc1c802cb735291afb10b1f19e262fa4a8eda5b2a6a30cbbe9382e16ef5fce05693755b26055f1ff0fcca5 - -COUNT=33 -L = 2400 -KI = dd332955baaf18d5c74e1964678ee653 -IVlen = 64 -IV = 14c52ea2ee2102a2 -FixedInputDataByteLen = 51 -FixedInputData = f188f600c40ee723f8889310c30bcc1d1737d5407a60724cfee0424e5f27f8aeb41967f083799203bccb7324ca09ff52209802 -KO = f8003a88cc8a7d98173f9c0c26f3bc59da481f69491266ce01fca4822c24237c0d26cc75ec555ae03b730524ad6303f01ab6163115aaa03214af87ea372ea441a063793e5beff9216a96f2594d69372a472cb05721f801a72bd346ec10c596e94c7092a1f26ca97b85140dfdb18af56c64b2798988753416c263a2487e1af54456653d6df51781124cfb89702c4999ed803434b2c1636efdc63733b9e565cb5f89fc77f7572c4a44db97691a74870cc47acbc92685dd26c6ae7fb23ba6be314f84d905000cace7a3c81f073f3338f075e8e33a3916003c236812d863cf231acb5ffccb139ce705c057bdd7195bbf980d82e1fb61c37467e9352c89702aaf1960ef174749258d249573af859701a7ca4c983181ce654a177ef2d5b4d961ecf93013565b24ea3076ed13710515 - -COUNT=34 -L = 2400 -KI = 0122cb13d9602840f65b504c8ed94e11 -IVlen = 64 -IV = 7d5f6f2559068252 -FixedInputDataByteLen = 51 -FixedInputData = 7714d22843760b5f2cdd0981f6f833a7bba9d0261ccc91be69a2c224a1d7fa1f047b86fba4e9134b76e98e5ebe4dbcf95002ce -KO = f10d9d75bb13d4415682ad31927fdc4dcaa2fee14a95e54e260a0552acdc1a2c8141215c070ce854cb731b92046d214f999744e76f14f64d4e8134be924c1229cb3ad32cbc85976f54323703337e8d5c5c8f5071f1236156e3fe48869de2648806b91a5f30b530cc979beb2ed96ded0761f636c2427496129bdcd99b290f248f890d7d6f6d4a1fa58f2c1fedfd70c365afffb6e39eaa03aec41abcefa99e415b1409b80dbae06623076c4f67e0596009eb124c5d4a803742143f6c1b021c4893a5f485b00a778260ce73d6e746c9ed4f1bbb5a79cb8b70783a9b3f989b9e208589030cfc07a74207bb3547b90c3e08e5f8d8985901e26c673853b1c304360ae0b85edc98ae3d9ea25e3d0bcec67a3e4d12fecca0240cdc73824ebdf1d03ba2cfde8861c4808eacb02fef8265 - -COUNT=35 -L = 2400 -KI = d08f3d48e3c4081b1ee913781bf3903b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38b40ec5a9270b4ee612beef70ff927f8414b22cb57862ef74735a17c47a354501b423b96e52d12dbd7e42763fd84667700999 -KO = eb0965f5d530f7b4ba34d3b472fb43a34c9e45416b5b2afdf130a1694867d16aedbf08dfbfda4c2b6874f9ec7f6c1dda9feab2b6a3d862ee764b2e8853d03bcaa7bdee45053ddb292dbecda956780e02c3ec23a90eb19148f5148e4df9c8d85c55f53b10fd0cf72a772117f7de9fbf5ab72a5d4a9f58370dd489e6b5067c5123c190512ffc5f39f44883745b28a5975f862ccb70eb9e65429fbe3784036f90c34b31a86bc5cd465fc7a18ab350b29e079f360ccc40280b0d93adec22203632f08233c31ba6027a974ddeac016ff9ca53ae7dcfea70dcaec254e343c4ac1ab9b89340db6d5731abb131302d7a5159d0cc423a5d8e2914a81a964a9744e6a3fcc98f0acac2bfa103799bf22761e7eb81e39f39b5da41f54f018e35b2ff11d7f1fed064f73d29b222cc7bacef5a - -COUNT=36 -L = 2400 -KI = fed5f91b66108d468c2b03da2446934a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ebc24ab4bbdf5ab347c7a4d156283d3bdc59d669890ca3055d0d43ba884691b6e6937e8cad82bdbffaf9066597d6bb0c603793 -KO = 40996f180ab965a24e9246cb2f3ead033691f7da50f6b7b27603f5870fc4439fd29db68f03bbe3f4886621fa2a028521a0a661ed718d466ec0e2dce63c677075332393501af63b5c936c348ba1184d6eb1805c271fe3e3b6d0f4afbe846787f100b33070f2354927d78964f86a613060cf4cb74bf6ffc07ecb0636390ccea678d8253acf3ef469f40570bcec0a1c540d18b247d559d6a9337d554c26455b72a7770a20690dd449b074e98b6e3e3a48a2c3a5656f1e3609964fd302172f38e6e64a466c655f2676165b0ebc6956ad8b5d414678e1a370daf16c722aff1b6ef36ae8647fe7f00795a67fb5d2e8f8001ae94918742617b2421a826704faf929958245e93c69856e3b6e933fce1b3969f1430c2a9fcf212ae0d41e16c6d55438d59ce0587622b6c127f8105c25a8 - -COUNT=37 -L = 2400 -KI = 6993e38484cb6ed489958b984ae228f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 37036c224ee980654cc9b59de1d338034d5283a23b0fe1e17b5c9b9e47f450cef088f2c8cc13a46a0e7b61732005a6ce198730 -KO = f6300878ef9a3e2455e43ccd15382d1a9477cf2d816840c990dd0646c8dec50add133632e64263ba58a524b658eaae2823167c6289ab59b56cd4a770254088e3c76d3f0e982de767e89cee7946797d6155938e699b6d35a0e8cd3113d565e17ca72c66d4f748aa9c938802bd656f5468194b52b2fe472b7c2b37493418662781065fab0f1ccdbb3ecbb0c31a2dd3d20e2f657ec526ab15e58df7a3d68f07caac9d384c8ec747ab1675962625aa8a5e5bdd63bd2a2525ef11706cc276036db0e2379207f45488c9bdfc47720bdebea77796bd43219a1f1e2fdc20bb65032bbaac0e856612953731ff131e244ef35b2b5c2fee0c3c423c06f2f7b2e415b294d376f869dfc5bb44319e36b07c69d1d552e14ab7e21b677a1ed72df2c1dc8349463593cd10769e6a4ecb113174a9 - -COUNT=38 -L = 2400 -KI = 230e4b6eff04b7a0b9f15efe1dfe7e90 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f3880e01c5a98939f6f8d3aa39bbd05540a253fc489b5968b00ffd908e059bd667769c0f8451ca7e2157690d6a930c016b9c23 -KO = 9d97d11629fa179081c8a76fc7c36e9847a117822798be70126e5083aa567ca5dd68a34c8e2f9cb8c88aa1bb41f980463072df836a9be46dabdbd457495c7f6a34679c77ceee1f918d0b6706959c1360f9f29c87a708a3e90dec49e875401b37580bf805801d6997646f3d46613c0056b7cf84b292ad972757734723e4829c642dec800082fc0b48970d14f9b0c98483ce162d7ba5d34fbe164fbef3713e8298a3fbead4a6520fecc6682ebcdc6233d1ebcec850d5f1926728d8149174f800eecb08bc5272efe29ef72942ebed9e233c338e7ff091968487ca39c644c093af9fec9c7508f59aaeda88c8d5cba200d6fe903be58f142dbdc0262cd4b4970937e18877f2da27470fd940d744fe6cc33a65f46a0146f495a34a03106878b0c318b926b76e08f3020d18ba18c51c - -COUNT=39 -L = 2400 -KI = ac8f9234b198a3027bd0214eceea7674 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 25233d1712625ba71660b83679a3de8faf323c6cb57cfc210f72e2629b329a1623a93f9cde7db43b2a959f92dcf10efa614fb5 -KO = b6b35c0c711c11fd27b52a73306d31d04ce4fee77ed35654d3dedd3af2f7c6bde31f35661ecd67d45e7f2e9c4d4cee4bb3e8f8643bf095687e0ae0dbc58eb73e041fbd5cb3c59ed70931032527c1c1d4ba388a06393ff4deaecd209f4c1960e7498985d360bccd1058435bd2bb313a9089515b7cea3b2c7cf91b1114c575e8ade215479e9ddbe5a815b7448da27c11c7ea195a2930d0701e2b1cb77011d933c835641b8d6f0fe28be0e46b37694edf2d0c449b6563439ad994bfe16413e1036058f85edf02dc841bca80032649a051ca4d0537d0fb656b99566921a676033c38cb578f10f1e0fd72a10ea44b638c2eec9757cb819a455f34330cc24fa15f0d056015ddd51478814cd0582b3c0629cd216b6e118ef37a574ea16f572cf93bc2b4607941de6469904c2a1b9265 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 550e58b15a3cf53a9f8044f65ec48dc8 -IVlen = 64 -IV = 40cb8d6e2770d7b2 -FixedInputDataByteLen = 51 -FixedInputData = b2375d472e064dc62ec0a979f27aab1365b555b126c4270bfe51d2ff26fd81ada28f1c8aec9e5ec5048522423999d64cf2f324 -KO = d6e859ab60feb42ac87d83a87a4f130d11b7f44dcec4ec23d15b8c4b114bb5184138b86e23b35885d5c3eef542bd152e49120d15231a59e63d1fd5f76e1942d6 - -COUNT=1 -L = 512 -KI = 963b1fee5ab76668716be92864736f38 -IVlen = 64 -IV = 63941acbd366d12f -FixedInputDataByteLen = 51 -FixedInputData = 92fbf1dc7ae405d85fcd6209fd9a1527294217fad7a9e9628e0b89731a60ce1781dc832ce1b1b8e51e1a64e6ad0e19a661c1e2 -KO = c31b8de6aa2dca6260a18a2e476af765eb328aecfbfd2234dbf316f50271fc116d3d53105b3522cb3dc4432018562b459ffbe0f902ce1df2f92988b333dfa52c - -COUNT=2 -L = 512 -KI = e91d483b75a89401d470362341bd4fa7 -IVlen = 64 -IV = c8a1d6ec4b38b2a5 -FixedInputDataByteLen = 51 -FixedInputData = e879f768cda9ece94f58d46a7a67b3e89adf653765384c8ab1f4ea175e5d938d7831627c688dda59b75f1741d70f4d734d9d06 -KO = 308cad8cc4330da25d9943bf1a23eb45ca8891f5cc08a39c4ee8ccd581433197876c322fc0291ec974a8a9e2a224911fde5684a2e695dc8f148c1877c4c85cb3 - -COUNT=3 -L = 512 -KI = 6726193b38e01b28e56a25ae1e9c9c1b -IVlen = 64 -IV = f0e79a5010e3a57c -FixedInputDataByteLen = 51 -FixedInputData = cc5f5ae5a5e3c85408d059eb85455115e6351c1db2ca2e1250cefebcaa5bf798456e3adadf64f76d63803605224909b5c54334 -KO = 8f1eb65ee9f6c28657bb4aa998b85411aaead24dea75e9f6c734b497e5971dc41f7eabf3ab802b62abde83c5e2c59c837b6c6f7345c87ea56585bdf72f01c7aa - -COUNT=4 -L = 512 -KI = caf28e74c0f00f044069e9a2facb10e4 -IVlen = 64 -IV = b337c91a1c879898 -FixedInputDataByteLen = 51 -FixedInputData = 19a3275be60a7561f17a5cb14f4cacf0d34be12e9538f249c9684c4b6bc267c32a5b1601fc923b5f51dbdda73a9f347dad4f0e -KO = 8a936e7d533f616778bcf1f8715c7ec101d3f23f76dcbcfa7f06a95f69cb5aea97dcb5675b4787fc20dbcb8115a1d7b6f3dcd8406953081d36c2c22cc543568c - -COUNT=5 -L = 512 -KI = 3a985f446ce7fe8ad90c6a7ff36f0928 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05d4f69b4265d1e6112b9dba1681eef7b6806bd04408294294410adbe04904577100731024f4689479b3ec6e77f55249aca7a6 -KO = c96e355b2eb2c3aec66da10e922c510a2cbe872e8dd64a7243b0e2f2868e89726eefe3740fafdc4e58c07591926b91456223c6b3af21bfbf713acb07272b52f1 - -COUNT=6 -L = 512 -KI = 1ec22289edd37e250402c499684c5b61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35228fff55afef4dc4a0c70ad7a6dc2e3469d08e65f341a1106bff4c4dec3a1f051119c21891d4753fd0823906cdfd10b76f5b -KO = 33345c573005a77469888ed1205a952a6345fb67701531ffffb4a322db54c57fba30cb2d2ec56adc5119c94cc13ebab2dd4399461281e30d05eeee619459f70d - -COUNT=7 -L = 512 -KI = eaa2b2f6143c7380432bfa86eef86660 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a282eda8a4eb13a5541928d7193e50474e929a38504ef509deb27b7ab12075d62dc94172fc385cd269cad851341e01f505ad4 -KO = 1f5c34c9002258d35789674e824711462b6360b4c0c8ad2d852b844deb5453089c118d1ecf10a9ff92f57e0782943d4a79e6d49e264599269af6d8434e32b14c - -COUNT=8 -L = 512 -KI = 732370c0fa487e66a529ff3c5a661e4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5469df5f2851b8d9d104c290660f8931982633cab006771e9bbe16bc867cc0938484c891563952f5411ad463c614f198c75892 -KO = b68caaa585c459c873fe19fee826091fe190a9668f51a778e983a6c1927146ebbae7281413193c8415bcf2736159fd4710ff4b9bf0c11815ff2725661867f20f - -COUNT=9 -L = 512 -KI = b2143b4285e1caf953ffbba4f1236f9b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c5bd33d37c9b25eed7f636ce1ba94510f4b18a3c01b7f05a781ec3416f5915c8f2a2d8c826eb0d8528ef5636e34ba712cb9134 -KO = 8ef852fc160a1bf2423ef4935d2c5ebdc783ebe060300c2ad97708de738c784cb5976d52575950ef4fb58cefce6a4372ced75fcc0501880ebf26795ff71209b8 - -COUNT=10 -L = 2048 -KI = 65aef44a40d8c468175e5986e70a2051 -IVlen = 64 -IV = 61e125229c0234ca -FixedInputDataByteLen = 51 -FixedInputData = d1aa7e5f3dcec76c22cf8fa09edae9ff499cc0846d6601acb491fc157ef9f40fb3124155e1259df9ba9347856b9f983bd61952 -KO = da5578ffa65a84145ad396d8e3c43706d05a9859e27e185cbbfabb3abfeb7729df8d55301a2fd2edebb8e709d3cc060258d4c99cbec754cfd6c5407be689d3824105b9caa8d3f71b29ce91093342f700d809c220b4e078613a810eb8ec408f6202f87e97bc54b3ae4ac40401ecab2ccde0683e02de64bba4948d283ce8bb46ebbe6dbda9ec4bfacf70279f5d1b4c9c57e92dbf877ef387c07094bcec1830918806d878ba85f727f6510d6d86862a08f74e95a1ac0d0f7cebe9cd8ebe37c1ed4a3f04590d5bedae5cd0ae6dc8ae7673000d2f7723dc0619a5cb1ed99e6a165ca9f7ae8bed2e2c87cebd09ceccd34735dd8cedb820eb78f03e02288efd86ef6644 - -COUNT=11 -L = 2048 -KI = 95785f419691c2ccc6f15f4b0be87cc5 -IVlen = 64 -IV = c3fba79aea61d573 -FixedInputDataByteLen = 51 -FixedInputData = 7cc20489b93145e4f51f58997004fbff89a166a01722e455dc4b8eb1146f68eb7fe544cd910b80993f1202a6608d9db2753fc5 -KO = 0e22e1bc5afb7242889a5dc572564a0e09de0ee49c57e2918d971b50ed8bb144d4b3476a7aa6b454f2e0e0c5eca061ca0ad155b75ff80d25410b3dc36728c8368daa03697a7c4cc549305c7fff5e117506ddbddf422fc0f5b1423f3b0ccd428808bc8204305c85cc8785d9501dd9949e56fa500f5157832df02615576a44faf8ebcc46dd13fa5ee2bd6dea062b01178298cfa6fbb4e5be112a9cccf6d9ccb97d7b6f7e3e97b2c37f01d9f5b852fd6af37f2f4410d489504a35a7a77bcdc66a60231ed5c3bbab27626398b19598349cbbee0540ec928acd178cd05925e35326e909046d7d1bc35b02490e958cb3e218b8902a8922217f0ec238fabae4d0bb736d - -COUNT=12 -L = 2048 -KI = 68c1cdc74a80fa65d0116998cf735608 -IVlen = 64 -IV = f59185711f61024a -FixedInputDataByteLen = 51 -FixedInputData = 0f05c1163cb8af13b52f464caa7d67c4200d91f2d34c9c8315f0367d0ec6f2da52b697491920c8d219df8b4080f7401c5be774 -KO = 1819c03b3a8bcf4b781076850c9d6872ec3c1a932f359bc57dd14548f790426aa080e598440e8cde8439e572c256cb6f90ff5cdff48ceb92fb7550e7af456386bff2b45b6717ca3970f421cc4f1bad8308b34ce012ed71a51243696d2745b7bf3149c727a1a8fb5958c5fbca7910a5145c640c8609d0782ea2ca520afb0cb9e19bfb106a06b5859438729c8ba5b2998cc4a8290cfbd5eec9f5d45164eff5a4fa96bf5c3d3377c8f2a2bf4c42e63b9b8147f732ab3a52764408f0092b13a45116b2b4ab702a3b0e315d91a3d8b7c41ba657936c4a39f0e0958f1b745865321a5359f145212de539f9b2afc10d3e5cfa8af3a2d5133372db0fed3cb538e115cf99 - -COUNT=13 -L = 2048 -KI = 8f9b7ef1ac8db4d255e8e24827e612b2 -IVlen = 64 -IV = 8d8427d592704fc3 -FixedInputDataByteLen = 51 -FixedInputData = db9b29bbfdb12ce9033a6b87618fd513b3b9b5079f9eccec26688c3bd75d2c47883f1b71b65d7ec16191ba2ea5fa5daffefe88 -KO = 4c72fb7c8e90a07f00006419cb177dd436a8af7200d91515dab1e9bc5986669f5cda9f09a9b9c1329cf3cb8aa5ea12aeab6cc25238bc7c23cf5f1ee6a6f0e0070ac75fe057824460158cc642a8f6eaf1d4d68a0c758e7dd72de949b7e664e0e3ab36ea24cd2308f5f0d90eb93e35d44dc552a7168db8ca3378b17f7eb523ee087a89a6a4619d2ca45c4164e857e4729273249f098491249ed613f2da5c92a5f5e766d53575a1f9893b4d92cf1e53a0be5e30aa3f53919e1153d1da8f5c3bf19b8a2f1575f7ad6eb84023b0982a93368175e6efe809d9e6b125608ce913024290f2dc49fd774c9bbcb7c2f4064858cc1866d35050bef62172899f5079867f0483 - -COUNT=14 -L = 2048 -KI = 7bd50a13a0f11a4db90e5fc31174dd1b -IVlen = 64 -IV = 89ec6d06a58cf0f7 -FixedInputDataByteLen = 51 -FixedInputData = af10b10b5074399b85cd2ef2a187bd3f7a56e64a4d936fbbbaf8e8d3334caa79a42e290c693d4bdfb9b3482eda0d4ce767d7ce -KO = f942fdafabce7ca643610841c2edd0d12a0bb736b66e9587b259168921a5cd4679a9bca4e4c5523ea9b25bedae179f42ff8348e62a2025740fdbbf6dcbc6744bc13d450d3a373e5fbceb44d7763a5de23c10be7f79a41ced5e6a1b298d53ee3ade671ca8f49136cc842206e656953b4cd91d9f45f8474cce0e62c00891940626580d6218b737d06c68232f0fe0907aae544cd14e1e5760d8060df2d6bfec785e881176470bf6f0ac804eba389e16352a8521e38150bc09b823da6ea317e3b989cceae5a04c1b2971c481afa8a120c95db84c1cc331d16cfe07e0c6e73079923afeefc0b95f81b6af5b9d6ec81689c46c2abc1adf7c4caadbe6d7d015f0a09979 - -COUNT=15 -L = 2048 -KI = 0975261a6052908eec9971fac7b16835 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a7cab0155755ae48ca5e9979c357e617a39e73b8ee0cb2ce11341392a7a4276aca4f300e99361b70d4020d432e47350cf05239 -KO = be2c6d1bfa466bcc14c52f4358e71c960748ff33625e4f730d3ce4982b507d97b71266f76860bff804c6a5f0aa493048cb0f94f4274b63c8f1a4f4b65aeedc00550313008ea7131c27b5d0ce2650a9e7dec5cd41cead04d8f98a23e6ccd33beceddef8caea99c4401d1c0932c78af6ebe9a16fec9fe120cabd4ea4422e8cae08cb1ea73cea7ee6d2de90b227a03cd66a630666aa3e7c732977131d500d8af7655b5356693df29ed5d75d6d8ce24f395559631300ab69d6adb92d02b937c6c46d7f7640e81fe0358bdbe74bac7f2e9cd2a55f648e28c31884a0ce3dfea46e173f2cd5dd21aba45f86c425cf06690156f06e71c9844eec340db8552613a487c47f - -COUNT=16 -L = 2048 -KI = eb18ff29194d250ad26f438dac7b9bbd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92ec61e9676cbb6193bc1906663c341e5d9bb064a94cb297f4e80ec0821c1b73f358d536f24a2bbbf5f0c216de97a2e30364cc -KO = cd42ec69e702cf84db362585ef57be66d145143e31aefc01c057503467b121d497b790b301f217c57d3209bb8afa42599e7f64003605d19d4eaad9fa2aee91fa526c24d6b3c73c13032b3b592abc048fa9a64598f3bdc63a5d06d2a5c265a855bcaf0a74487b0091865fcb5146441a733ceb9cc0e6e165f0691a852f8fb31dbcca754944ca4e7c8a3c8bd82ecbd78124f41ab9d3ce58b6a44963fec253a7c12a675ee99743598ffdd606bc2b3b92c3797144cac2af2c11f74c6f3d2d813642440ffdf653df14b63a01e83eb359642ea7357a12150bb5e6864f2308f62f0c2184bb2969983b6035e417d78f38a2dcca67d1f46da7981dd8a78e34de56b1339d92 - -COUNT=17 -L = 2048 -KI = ce43272e793bf38eafd0806485d1cc64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 74191e878a82dc94f327d3b96ef3aa94f663af996644909dd1c95d2b429e4b116cb413684959e1a7c4b27ce2d9483fb8ba114d -KO = 5f2ac7005b18a26dafa933d4a915cbb7f56d99ae03a40e85bd24bcb4154982c62f513d038e9999d8bac5f8600ae28488eb3e206f58ea1a3883fd2629fea8a9d4f88e93ae81e71d6bb94be840c8d12772e4e44d45227e56c4541b13cc4d2777311a7f03e44279fb178a243815844d53cca294d088530b4e99e0fd6ac42debb2cd0770027ddc998048d956ab211341fcb9a57ff384f9f9845f4c444c9d9a6d662b537159eaa204ade3fece3a736c3b49ab1bc7fadec995b4fb7e68b53644c60084102503854fcbef341a5629673c4ea46b30f7db0edf51c827b786eab7cf331d91a4a5e69ba40f453cf3f6a72ee869640f28123a7a10628ad8f0084a802a1ed0a7 - -COUNT=18 -L = 2048 -KI = 6f9446d60a87120db17564d3e1a25681 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec7d1398c8defe037cd543d5a663f1dd53bbe5476bc3ba2cd6489acf8261ce150c919fcd40167a5dcac9f31b49703ca63debf0 -KO = 3b795906f30c6d356e5d7a206e98d508ad165d1950295d7b7979d4d79d2761ad57704ab82aec337c9d4c634e6d087b66a06dd56172d8c9ce610f27083d5a7d12829a1e9e8a042b67fab7f0dada9c6faa52e7c14887e75790f4f04ea129c038e5fc9added8508b45384471126d55d42f44480beae4709c9420d19f90f7f6b1b4ec6e968ad4c75befae7bd05d04680976b07cad1aa69c43032280e6143cb16fb1675eda31b847565d7b4e1a36c2a0b85a0a7db68203b16b69af2c176c864d8845ed055f16c41c0dd54446d636fdb410da8bb2bfedf935741d021ece71a30fdc8520e6ff621552da60597e5d1148c1bf79794e64a2ec25ab90c219765d4a0156f09 - -COUNT=19 -L = 2048 -KI = ad8769a534852a1f42c702bbe1e6bf58 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = abd3cf1a152ec94c7606e5cc01c892e0a7e7cec1f3ba0c97f747ec245bd8c159ca3df7f74b1408fe3acad3226873b586ec36f6 -KO = 7da0f683908599cb9ee7d28ddcd6c23e7334b80239d0f5497f5c6558abeca4a9014bd72fe572fa6ae7062c0461e11108a89f73472ba5eb3441f1d6430e5258052b0046794115193adc8916eb0c02441d51e1db12250315b6173d886dea50186f5e65226306effaed11b27b20dddd7dafd9d977de3ef91561693acefdc8abc5277e9153f7cae0ae646790b0c6c8d2463e34c011c377611686d81937e860fa6a31e6003eeff3c160fa9ef4acc619790526b3ff0658bdb0b26af749ce6d11d11ed9c4f5cc265c00ee9e6c2d3a0e25ba7cd88f0ef54e52ffb95e9e4658fc6038491d7f031c5ac4a6dd5ba44bfe140b56e05eab4279e031fba124f543452b5f5a2061 - -COUNT=20 -L = 560 -KI = 43b5d43a472b7cd2870aa1840316e5d8 -IVlen = 64 -IV = cdea2c3c3a00a105 -FixedInputDataByteLen = 51 -FixedInputData = c9df4c70fa13edd2204ac3b64feff6e56f5aa5853918f49035ca2ff51df52b65ec8123b53948118054de4ca8927cf880b180c0 -KO = bbf7ea8b161fbb5c736a12659b076ea99d0db50a493ed6f28eb2bbf3f1675dec98e4727466e4972407e8c20840bc3d849787930e1854034cf37ff6176c2206ddb01c874382bf - -COUNT=21 -L = 560 -KI = d00b5d4f83b341f0c491d1556c8f5129 -IVlen = 64 -IV = 035ad36e652eac18 -FixedInputDataByteLen = 51 -FixedInputData = 741355925ebdb51544a5755eedad04a839b12f9ff954f98a53d5be68cd07a1a2f760e77cbb1842da80ab6834f063faa5285727 -KO = 69c44a3a92275793c348c2ddb540acf633fdb352cdf0a6567ebe0fba5e8830916889719effd4a14f7a1db2146678164b67a5aff6c9f21c8a302f16e72ce6537b32d6c7e254a6 - -COUNT=22 -L = 560 -KI = 5a376aab4affc665831c48fdb9d017ac -IVlen = 64 -IV = 3e49cea38180df26 -FixedInputDataByteLen = 51 -FixedInputData = f4f5f64eb65c787c196de5ab69eb3f5f4d1e50e6b6d006d88e709aa7d26273e140b77b9c25a57255127c7362a2c5d354dac960 -KO = 12d58aaeaa4f7ffae4141ad3d244dffd7bbe272089b5ea4426b83b9bb01a8bd87ac801c1f447661fd6a5fc04e017f042a23496ac43da9ef6ed6221eac3a23003851f2797c4b3 - -COUNT=23 -L = 560 -KI = 334fddfb08346a52ea34db8a6bc50a8d -IVlen = 64 -IV = 455b7e2da8de17e7 -FixedInputDataByteLen = 51 -FixedInputData = b224caa19d3e3f4a5dd0cfc0089c60089f1698e0899562ce13fbe403d64e7f2d5a125f1834bb605407807332299cb9191cd2a4 -KO = 7d8511cabfc99c4a8e096430cc27220079c206d753efd1a177552ef315ac4232ca48e36f93a01c0824653f917ca8ddc882535f4ae3b5bbad6e1dc76524a65ad29aa9714e37cd - -COUNT=24 -L = 560 -KI = 246abb2fb0833ab589a7192d50b321d4 -IVlen = 64 -IV = 6394833e33a79dca -FixedInputDataByteLen = 51 -FixedInputData = 8ed5141371e056642b44d64038ca4f226c1d3b6ee6b717ce44a94e78eace448db42de0c7ec3bbe20238be23166a49c3901697a -KO = 8d050ff905f1770ad7b55a8236b1f1011edeb9e5997bbc079da0c3d5c7b663efa692475ac7e6ea6d0941531e22bb374aa879760c1b126956b0d3e904f0319fb543a2ed1dd851 - -COUNT=25 -L = 560 -KI = 6275bc3ef35694d76633c0f9091a9248 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b98878da1d182cf3d057679e01dbcd973a6bcec7f85d1a5e3226ae5fc006a65a70001b0f471b14afdf46325296f623665214d -KO = 3dd307dcb39dea0a4bdc3d9eb573a94d4f95afe2607bb09bb9ecd4ab58b12cd61ae5fb1142cd7369b66fd10af5ab574be4f8ef232c74bc6fb04795b1f9eea877816baf73a9b0 - -COUNT=26 -L = 560 -KI = 4614709dce56ab6ae4a653aebf7bbe3a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 17a82ec9af835b7c4471f5cedf57fa3cdf118aad5212a11225351088a901580de5ad3f6b96f3938bab12a21e3df85d2943d85b -KO = f336690e8268afbab01ffa0da854abd4e4db997c4719e60151db2aaa6198fa2dbf4948c2457f40db6b5647a68115edd972edef0b9b80c39068536536e0caca4586f1ae99d36f - -COUNT=27 -L = 560 -KI = be659106ba52d642d4acde70ef17e206 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9aab74e703421f4cf67c1e854e2c51e7b64a784eccf95993f34223db1a51b455d9c54fa4c18bef397fd57e886c5586683bcb3d -KO = 8d60c1f2062bf0113254779b05881f2f737cd175e3dc6e433882cfb17b62c86929ce9f66560296c7aa50b8f91c2f6b0c7e767b112fcec5b3258292b31348fdb518c01ddccf86 - -COUNT=28 -L = 560 -KI = c4ec66f80b58d91ba201fad3dc61711a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8a7c6c2600cbb17bce92d5adff22120f5e89b5d5ebb4de56b0378bd5f841db8b93fcc150febbffdee79eb5c61798aa777d89f4 -KO = adaf0cbb55afa6dca05d3064b7aa68f91cdf1f44135600fe86cfa62ce0c42a12a8b41276725fd3d3bb025af4e283f261bce6772edffd83367e00d14c1fa2c6096783a98e77fe - -COUNT=29 -L = 560 -KI = a8d8376d7d965a5e0ab10c4297bf5804 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 306b6bd5de5d007e97f2f18ca1ae7e1c623cd92865e8e58be4d3ab0bdc82b8f2f64591edb636d33638bedf96106b468dc84e1e -KO = 6b083de5461641546b09b4d2a66b7fd837b3abef6b86f995d831574d595853d31bb0bd2a120981cc884adadd7d5a299ba77e9a5b029c42d1b1c436bfe22c5c2dfa94aeef1155 - -COUNT=30 -L = 2400 -KI = 6097e4efafda8d108de71c4bf7dcb11d -IVlen = 64 -IV = 593b918533a8bfd9 -FixedInputDataByteLen = 51 -FixedInputData = 272b833435d086b4805231d8eede375d5d80f1d47e4ccf6aae6c2b861969f423fbcc1920d851581d8a3c19cc2aa04c590a73ba -KO = c94cc41e24d23bacf1d8f7d5c6c92a928840b93493fdc01abe72cced42c6d8f18d7a277b7e63d368bf28e8be5182021be7fd64e167347f2752c85286a5fd1af1242b33e02ed6dc9a4e4c547be4ddf623f942fcd6fb0293d0f3af059e256920b6f06087fd935b4d864cd0f69f93d9cd35e8d28fe56bc7c471cb9ccaaa21af62a92634fcfa4e36a6167c2faba68a7da13088c2198d8e99d93ec4e6209ea8b2844fa76ae743483a3d98607d615e26c36a84cc5f2dba3fed9139c84295f7f76939f520dbe3ff3130943016cd592f6a8ca7653aa5cf4d465a2f12fcb2933e72615cbd0b3d0ef00d7ad906a316f44024ff62dd2b14d81ffd5f9d4860658a00b1f4603c1042b21a36caca63540b7cacd3629ab7389dafc7e1231dbc7acb7f606c68c34ecd99a00607fee946c1638a1d - -COUNT=31 -L = 2400 -KI = bb8761f1b90021500f4817b529af5b6f -IVlen = 64 -IV = a960370c43f2b660 -FixedInputDataByteLen = 51 -FixedInputData = 4b6ab3a062ff1b192ad8523db3edadfc85bcb9680df1c9b5ceac98ecda9f54f27be21b3fbef248bc16e3c2264dfe399d662285 -KO = c03e87425e463d222fddad2c0ca6b5adf917871aafb1479d352e0ae0c3f03f4da1e46f4d8253fcbab722cf30047ab792408f0393c7276cad6295bab0a0f570212c4172cf2a9753502c1f1bb65c58ef7346719b90ab674f3afd84a8cd20a2c146d3dcc504676ae4eb17c1febcaaa781418848d0ef998faa866fbf64e11cf7b3af1a654f36f4499a4d67747abe94077092d0cbf97c0c938ca41d376caf514c18b5a842a9569c7a656269fffd80cca5eacbbffe8b1baa522dc8f3ce9a2c0e3158f36efba6cdbc9a2227cc8dd83886b25d59821b7b1b44fba1166dd534da9b234139eb601a982294c595c4bbb9dcd1be42c1adcfc6d25133f8f949d466e5a1616e8c0475a64f1abc5a597ff9eca5dfdde47fe75678aac46bdfe63616d67245e168c9d6ff7aac0694ce0d25f5894e - -COUNT=32 -L = 2400 -KI = f9ec9fc4d414e23958537eb4896b122f -IVlen = 64 -IV = 42859cb5f7c4eb68 -FixedInputDataByteLen = 51 -FixedInputData = d47e05e8986848dc61ca64eca403c98b8472b29e4db38cbe2058af017f20aaeffca88f415b8b43133b11dd834a6274a7aae46a -KO = 7e97d7ba7396ed8779ecc15ff7206876a39b6b994ed452f8face1668e26b0a97352f6ff8b4b63aa3d67d0ab70b064529d0324b8c26bf44b009657b11c70c913635d56edca5c5c085d3bdbab67a1813f17b6ea706e5d2ccb85a277c52d235e1f1a3e64cb1355dfaf7982762fecbaae467b46c595a40faa707cdefdbb6aad738dc84c1cffc67f10d877173f8f18d81ebbf4ccbb0de5871fb553f49fd74f9ecd0c66a7f2c25b0991af8e5fd810167e34d3b0ea4c4482a7862e68233b8d707ceeb238b1e4745584e35652aeb69891c295428790f5ff7b3b4b558a5e3f037b944d615d0c0d610434e98eaee95a28c1eb6a33fe7c3cfec337e1c6b30bf8fded5fd71bf5bf03d977425e8665f9f5569df3892dfe991c8e130640e2630ce4d00191b2eae152db43ff45ca3d6f128c5c1 - -COUNT=33 -L = 2400 -KI = e3c9cd8d8cee3d8225ee8f87da9b2e69 -IVlen = 64 -IV = 180813bd647f0364 -FixedInputDataByteLen = 51 -FixedInputData = 746704ff9c7b383d4d323545ef94a6f6e85164f4ba78aff9628276575ed87ca5ee702f69223e0546d22ac1ce1071584008c5c3 -KO = 69e1dceb5874b893d631b044b3bc83dcb69c53274577922b297deaa0ba288def70fb36d4e275d89d2ab498a19d2c375bd5cdefc0d2a702d32a1477283b696562c863661039b95ffcf0b9cab25a680b03257f405afb0b037b799a4d073a23bb39c8a38e0238caaac9c6308295676be4791c1130898686e078ca343dee501127f795461b14e0e4a75345a6a49a247309168f4d967873927130213cd3ea7a31ccb0123578d729a9a82a153306255281e53e9ead3afbbda8072a83970125a1c845cd80a7ecd4bcf746073d885b1960dd7731a4467ee3fb4d792be30779a36cbd6582a16423a1a1a01594feb0f54c6f7e0c7a0ce272f3dcbfe46c5c973af72b6e1de6766a5d6210fb787743e1eca1a4002692882de54d384f2b974ae866244e1427bee2167def7c7fed90a3fd7a4d - -COUNT=34 -L = 2400 -KI = 84780a0fac1a720c8f9feb3d55cd631b -IVlen = 64 -IV = 56b905b4fde06fbd -FixedInputDataByteLen = 51 -FixedInputData = 272f2ce40a548f04244e4aafd1ef2a8b897afe52ba34d55772654f282e89bb896e7752524868079935aaaf7aa3e5d7421b0bac -KO = f785dc584402c8e824bf19e2aaf9d006ce464c039d85d1bedc16356b2c5fcc91a842a8ff4e66e802ff319505a3930f446ee080b0d9193d0ecbe644aea10f6adc1ffddfe589fe6b3a901f6bdfae6a9e93c6e1bffc52d45867a9fd4302269cc80e427268a0176d50a0e556e7236b569f00c73f023006c0c0b05d8ea67e51be16be890c94be2eed5403ffac6fa7fe0c5fd414249d7accbe4ad44511b87e0a3853cd6be7b90542f9e47d8581299410bbdf17f0b6360a164b48b90d1741b744f43bbf6c78f40b757b8c753726ae8d13dc33aa8521eaeac198e3b6b8f17ef22e825b6083a9b341dac0eab8203a5fff89eaed2341cbef6653a6e7f74f726d9ac08cf7780c3c86136b1fe76bb1f6508f23acff75246351f5a1126ac6575700a3b174489c5e808056658914ad6bd0002c - -COUNT=35 -L = 2400 -KI = 6b32d60cd55c34c6c9e66d242c1fccb4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 892317984914ea9ae9e1f936bffff5ae6788acc38df7bc7bb8e4a0f1bc0a6b31f1d561200369026c83aac2008d4fde920aac91 -KO = 30d504174251090de8a2fbf10dd7927bb7253cac020fa1596ee79ce262deaef9284aed25bc36d36cdf3d832b4eb35c328c118f26825e08816889010dd0a59824c0511b6fb29086c09e506b99ebeb4eda59b9e3389fd5b7d6e07b1410518fd32d705072c388bb9803519efe0f623750f44c3519e67efbd3dfad8ce49ce2e1a932c412d2ff321b2c8bd073d2ba16d7b60ef02b5c83d07b24dbdc66f11321180484ba45d7a3fbb9e1ab26dcbca5c0bd8dabfde11a9f0633f8f1369440dedcf582c71e8bea16a82fdad40b353e15fc2d30e6489e6afbd809d8597dd8a87fa16a6627cf2d0de0cc59773c6132d7f5174ceafc3379ca62fe88d420e1a3f81ac85d93cf464a082f6257f7eff248a18a1b00761e0a18d7f59653d3fdef4965d881454d43b6e686001d03a92a55091447 - -COUNT=36 -L = 2400 -KI = fd53cd018205a17fce2a889372806fd4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 524f045de0b759b86c3bb9e28527bbc222537303dc22f69c510641a42188889e1b4a94b72e3b101aa04dba058fe0acd0b81d09 -KO = 1d9915aee7baf092a5542da0b708466b81d902d94bc5fb8b620fdadeceb659738b7eea755f9ede2c3858fb095908c00dd2301da3db7dbc71368357971f6290f1f86933026240e2bff47a415319796ea777328d3ff283b2c9d5b72789670172b46a82babe87c3b6d561ab2c95bf908d742058fc3f6a8184dc804ddbc2fb0b67761754686b24189014923cffb4dceaec755037e6bba3de1cbd8beb577cb71575af9abc72f7494e86baff240a58b6f421ddf4fa00b2c03c5b76e6acab008b02bc7ca4e06a7039c294c6fc94152ac1814b483d9c47a11cd208e4cbb93044c57cefab99f18fc7c8939d65025c531950bc3bcb64aaf5d63c89111b9edbc0af429e05be4afb3c3bf093c3411b6c039bcea982375b875007eba186e214e25ae0fd11443dca2e3da11e9aca0658d4ef36 - -COUNT=37 -L = 2400 -KI = 1249b20fd7172861e9194e38a8818b64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f882a3220f26bcea8aea1232f6fe543706ea0a83110e6e29c005f9d6f7c1d50b8b33ddb1c8494bd4d230cf288968320887d66 -KO = 7399dcdc487c4c97d0fef5dab839c4ab7c2f8519b513dfe4d5d668f32964b2366d2add0755b687a91b6877654a51c14ab3dfe6d4ef35ce0f2501df8e55506a9258c091a9c53143d190168bae5901674469f9a3e638b59553ff364faa6a1649f7f978b4d2b52dcc2c2839f4a02cb6191effeba9166a24703237a08b0a58056ce3fb4f7b570dce43b252b415d176ddc1a73c5ac8dc205f3446494ced947abdd652a0aac229fcff062aa675f2f2b3aa93ef4a757fbee6cbc2378bfae9c96306db8346dddc08955e853e9da9f7451450886cc951ccd4ea0d6a04cb064f86454d008bba765b112629b05816ab5281fef5aeb7c2e32cb4b4911af8836267f8bdfc935781af10a1819b08fcbf92d8e4288ed7134312d21eacb5dd4efd08a6a5e81c7e27cd7bb43b341b36ec9e590089 - -COUNT=38 -L = 2400 -KI = 9a2ca6c8f4cf4ac139de1974dd24e448 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23792c573504cb0ec43d8d234f7ad3b75d2c53b25801c228dd800bdea150afe995080d4d7c811ee186c94372a58049d0341662 -KO = 23211d80a72636b0ea5e169a4b7786e11c078594f6030cf839306e709b0ad8ce830bd786f25aa108d1b682d446a37bc06b4bc4ee2b77c7477364f5ebf0a0fff9e7c28655bdba181cbd29d9352762f4d86fa1cfca0fe4bc39f4c188a7a5985ca409672df43383741b22e8ef1dc87219d81dc7922edf3f488c71f6d6fdf1d6cf47d020324fd5b66c4223f8d9a55fb80922614c5f61c27a0beeff3d0e6d1039fc63b52cb490db450dff1f8cbdaed00d526604e8a453d19f628dd8a5deaa678d8a9c6e00916b02fbf7a300588c7ba459fd42d9f6f1c5d83c1a9d3b888501085448364399e562b20f7277b1e7d3cf26bd83cdcbf6eff239dbaa368b59e4b9f0b85457cf4d20721ad210b9652f0da95de620bf9cbb1a3f291d6c67a15d9bd27671ef4a907fd04142a5f9a0e8a5e0a0 - -COUNT=39 -L = 2400 -KI = 7e410c746b4565fad1280ea3bcd042a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b4ccdf81f6ca1fb7922f4350bcf184eff8ab907afcab90fb015edc8ff7282b49ba43dc2e6db24836475b0e240682a37e87ede -KO = e57a479791eae5da4694d88733c1939d61020cfbe436489851c317df352efa87b2fb83ef69ae8220680aa9342b1564fd2f8ea08e0664eec2d5832058069c19770ca1c0e371ad88734ddc02f83b7a72e700762a29f1dca7416f6cf159008b078e531ae97d9645dc35fe46f9161992f6991bc350b884207541957abc7ab82f2e2b38ff0b86998ee50655829f7b9c643969a4eef22cf629b846ca36f162eee73ed12a6765ce03740d07e8cb2d521744dba9dbd5c30cffa64590206e2e525aebc31d3c231c29e71ae4c3801b4cd1db5c718662d79ee4ec05e7a124ead0c4a88fcdaa4880a700083a65b4c4ada19a3a9e913ab7308ddd93d734f0db25b911374a003b1a92bfc936d33341e32b7e106a0a8b6a6d0367b56d04a8efddbad6a36e6af1d4600921644fac942e615293ff - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a93757ee127eb2de04214780648d689a -IVlen = 64 -IV = ebbdefc1773222d9 -FixedInputDataByteLen = 51 -FixedInputData = 414f37d3aa6467d58abae322848d803ed4677bd378b39d14fcbf9341ee6a0f019e06f5febcbccec6df83023af1e41bc3e9b968 -KO = b8e75cc50d65ea3bf6bf3606013f48c383a087b7ba982853772b5ced28aa50f0dd8b5d559d5887efe02364f1ed157031ac815906e934cbd8455f254236710a90 - -COUNT=1 -L = 512 -KI = cdcb27b9a4220523c3668dc066edd4f8 -IVlen = 64 -IV = 14ca288d6ce5d6eb -FixedInputDataByteLen = 51 -FixedInputData = d2c6a89e3bcdea896f0640437fb7fd77f5db4f2ef15abfa3c6adb02ea7457d342bd901ceabd1d013796b3cb1d5f7ccfa95fc9b -KO = 4d1979695997e87fba1d70d3427d55a078aef6ee698d96a3c7363bac01dfaa44ec50dde5d42f56a7d8cbe7b98e5a5be3bb098af1052109eced5dafb222b18a7a - -COUNT=2 -L = 512 -KI = de636991d09a7b4949af38fe376e98ca -IVlen = 64 -IV = 8973798698542c7f -FixedInputDataByteLen = 51 -FixedInputData = e900e907ac21286fde60497b9af44bcf7ce9bad98f0530d9e16bdd32e57932b57619fe388fe9bdbb0273d4897c913bac9bf5bf -KO = 558dfde58072451000ae65474c3ea11e47016f78eb1227a5a20b5b033c47fda12bd6d598992a62c8e14b861e0dd54b290bf2620e29509043e0d31e8dc9486da6 - -COUNT=3 -L = 512 -KI = 1fdd3de6b2c988e4c1964195003f7704 -IVlen = 64 -IV = 172fabf4b9de2b2e -FixedInputDataByteLen = 51 -FixedInputData = 9337d22bdc3e225f0bf7f032dd463aa35ed9e05cb7a538f463145b487315761df39acdbb6d9c0b893e587ea22f430be9db44cb -KO = 337e6b8cad0a704f9353469db95153d9baeb4b352e592cc2f6a2cc2e4b0bb53c77344840877526fb4c7555c3b10d909bf13e9488ef8835baf4291d0e086cad5f - -COUNT=4 -L = 512 -KI = e681833407b3b863bec4957ef9d1777f -IVlen = 64 -IV = 2814a0e4eb7eb13d -FixedInputDataByteLen = 51 -FixedInputData = dbdf5436e4a565eefd3d9c22f764aa8e4b570de175fe4e0939b50f0ac7bfa04442535190805150a6c880b7e05f8f69c51dfd63 -KO = 7574d563e958187f64640f48d6581acf2b31d8e38484ac3516199b4e92174c826b05ea426bff0014cc8ec6379dbfdbbe9c2aef3cc80db74737e2e73f545559d9 - -COUNT=5 -L = 512 -KI = f4a84516d06008c046655540ba140b02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9dbe384150c73a21d4343ecd15fad9f5b442acfe2d4e1d630d85bc990d6dbbbff33b98a84bbdcf8a547c03281d14b969412926 -KO = c8bf425b8456b52f731748e185dd9a4b56b4972df853cfe9f4e3bc401a63c32bea31185ffbd664c65a3cb43f705d7259763cc98401aa8bdcbb437639486d8834 - -COUNT=6 -L = 512 -KI = 720cc7639c07f0a2bd86f3355b7b6077 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 64afcf10ddb9f6ec2ebe8c118db322a9fdd576deffb2e11397ccab7a4fc4ab3b1e9cc6de60815d80bf58c03c7302b2e88de823 -KO = 9cc51fc4988405e811da061a24bebcbbaf52a532ff212e66c5618f6e721da61db889f3f44858eb0bb932385872262f23953e922ba0053201701b944e856c89f1 - -COUNT=7 -L = 512 -KI = adb7f8df1c679599913cf30062482b98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7167e1701463f8d68c268e88cc659e7cf90f963c140b8a4e94c34783d30179d5f714a024208cf822c66ddab780e6ee34940e30 -KO = 39782c133a88600be3377c07c5f3a3becfb35c0cd333fd1f0242c38aa507fbb6668d13c797373b8655c2419a761fde1928612cabc04ca8954eca4e43bcde1f9a - -COUNT=8 -L = 512 -KI = 924404bc32931fcce141e668d211485d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7ad255ad8bc4acc02876cd996018f40b92119800c46c638afce37463fa1025a346f6d144bffa216be15c05bd8f4625cfb69958 -KO = 13340bb2475a2301493bdd583f703fd4f7005e44815b703c69085edff090b534fce6c1772cf83f3f54e924ef57d07a283bb70e43877e9e2c07ec9d309b2d824d - -COUNT=9 -L = 512 -KI = 52f4a7a606027429820f387042f1a301 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c18d3ac2dfda166c2c21f5d9eefccc46fdba693b8f561d4fe1b6adee313f7e3a92d1a2dbc795e51d4afa314d3801d1e8721bbe -KO = b661074a624267f31302843d13504b29cca5e25737853401cc92996eceb90251a822105a78dee4c37142283c4247edc943be725a338271364f8fe21c6cb4c024 - -COUNT=10 -L = 2048 -KI = eeae48f689a5e5ade5768861ad994651 -IVlen = 64 -IV = b834d1449ce0cc85 -FixedInputDataByteLen = 51 -FixedInputData = 4082fae950633d5dd42042836799a0395b918315639a6c4bbedd18b57fb4373dd269f77410a1f29107e421287e1a6ae14ea7c6 -KO = 8afe96ca2c14f3a2924cbebc0a94b1456fd8c16b6ebe414311459271f30433180c87d8d4fe91465ec5c004a6a5114be41f41702d897c8b266b923a440216038a94cac69c14e8c07ef96f663066ab4ced3d025d6861bc16d5d93ba5d1ef392610b747380affe9d97a28032e2b0364cbd6c6582a3182e0b5219cc407e69b537a390c032b9551704c685e06918ba9022f2325b4cf0c2f383bb1b98896b28725ad4ca07f894eb53c2a7f646cc4523ef0d148485c5e890f8d3535d3261d56851b5a6bec2c570556756724ba7dd78ef35a62704982ac24a950f4ee3973fae6d6768ca457ec947a1778b3ee0a32d6e15e3a2098506568cca1d533307850dea43e03cccb - -COUNT=11 -L = 2048 -KI = d4134be1589f6c6e82c93406b5ca4c2e -IVlen = 64 -IV = 02d3e74ab7e4860e -FixedInputDataByteLen = 51 -FixedInputData = 9c854e49a453d729da1dfc1afe1e325dd45511bc8d3bd25118afa9f22568c02ea444be3ae003c5f79ab4a0f298189a270e22a9 -KO = dfec7f7346b73c2267d7e8d48aa740a3d8657388359d56d94f249722745746d356d608c371e1eff0adab68657f6293c2399d87e6fe1b03cd8e48272191c4ff2ec992b7e55b3c74938a00cf5b7c7d0c46f528c3ddd6a075cf77090ee6f305fdc75a541aa79dafb87747a04a58a87534394754596c4a3eafaaab95261b88aeb31b6654436e7b0bcf3f75fcd12ec7b94057025ae726a20e89067c81f7253c80fe3baf48bcadb5daa1501e0a43c408799cab28c501996d2d51ccc09fc2eab82ea424bf05fd2130320c33077442f73d3a272d5626501600803efa6a093859ea5dbc3c308b30b0f5c88414a07b246207a66f87cfad72a0a399e0797451bbdfea0e894b - -COUNT=12 -L = 2048 -KI = c74765af55a1d35062353d30fb4aaf8e -IVlen = 64 -IV = 8bda0201528955db -FixedInputDataByteLen = 51 -FixedInputData = c4ceec59bffd7a1567080a5c79d984bb68fe1aff8e069d50fc34f7c415ddc8a071fd42c7283a17f956f899fc1d11af41c8faef -KO = 9570972a763789220a6b7d0c085321d7b6e612ee1f48128bbfd9ce4ee83482e191160aba67177f5b32301dde2f1162eaefc4f00bcfca34e85ea7ba21a29c0fdf231aa15c5042036b240ea77e1346ffa552e361262245155945de92ce6f84285fb1492b904826fea662268e0b1d98fb79e8323d70df5509e6169abe94a57bb7a06ddb0ec8ab57f3a132bf12c46b97b6767b9a0bbf1866b5e305cf6a31cf5abd8ae116f7f97784b1e98045c54f7cc9a5d68fb4e3d7a1e3e389095d474fe08608e8ed29546ad265874efca3ae7eb708327e914fa9a6a8029a56c43d00491525f1da156f993ca89e074238113653579d9f4782296aa7f18910d93cacb4025e97c10f - -COUNT=13 -L = 2048 -KI = 3d7da5cd5902009717edd7575a7a488a -IVlen = 64 -IV = e24172a3fdc8095b -FixedInputDataByteLen = 51 -FixedInputData = 1db24b03b2ee58dca8614e39bc3adfb3893df3deb3bd94c0324f1245e1307b4367528b149f86708565a6fb45fb745b4fbf84d9 -KO = 2f1a772350adb61e33d33e2deddb783e9d992d86f1999645a9f8b626e20fdfba78a0d3fb9c5eba67ef56660d0ca5574c9f8351d1ceede65ebbc614b53c49cd9ec852e12a751dfdb0967f889d9ba1bc56bafb8caa76a4e467f95e15c3642612aa4a068dbf19edb153bec9438f8b0e26fe0467a8623f28263bf0fc567c8c844af841e716d7a2ad683de1a0e3f2cb236a599176c7df8bf820d637f74faf293aff1fcc602f713cd1da5e20ecdd344fc245f7322e4e4f52264cf2524f10cfdcf0cc327c29553caa996f976c42152077cf93ab7acd859653905b8a4db5f20b6bedd694b41a0b2273a41975fd76e3577dd2a4e9af28b1a5fc4aed671e2532d534dd3e46 - -COUNT=14 -L = 2048 -KI = 5b6ca98526717d5e87316b1ec1b6600b -IVlen = 64 -IV = 3c4c268cbb4f93c1 -FixedInputDataByteLen = 51 -FixedInputData = 64818e24f00caf16d920a88d85bbfba39e2b4c1d5f0ffe233186173c4e048ca5f74bb2001c969ca17be8c1c2238dcf29327477 -KO = d7af8d417e9b3e76f60030c79a62b264e1a10a56d08214cd12a85b38ec5be1cabd3fe90ce017e150b4c9b8fc5b50f396bf0e324bd41e8a983ac16492d149d37a0f251b30ffe73876cccc4ae18ea8bb1c2c8bcfea3d1c491baa3fac857eb79a4a5b99d47cb68b7a4300ee7843abd6cbb4c23c23766609dcd94a90a972dde1a53a0ef9a443585ce7aa580110b535d784a34b925abc2812d773e2b690a7fcf1d22c0647322370ac0c1695fa80b643db6b6a2a2a4c583f5bb0a49c1535a4c3ce8e1900c55d45090010304ed23d5311848669310097e1e6b03088ae9ab2e878654485b156a4e1a63c3714f686ee7073c77a46664233d83c7761dcc4f2593c3528dd17 - -COUNT=15 -L = 2048 -KI = 8306e0b3cdbe1a9a64f017eb952cd50d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34705e3a4763653dde5294245d7692b2e7d2a52d814234566dfe7566c4917b77ba4d50f74f6efe403da9bb889fec781965c6b9 -KO = 3427aec407915bff39818dca9a2eb210d1d4c1240744cf8fd64a741c111776c6803f9493317bcfc0a32e4f18c46be1588d87d9fbd28ad5f2547f0b24720c4c9639362ce3532c95881327701998ea9d7470def4ed3148c6af8d1b03fbefacdc524587dc23b8b866985381da732f3756d8aa9886ba86d9854690a30e6f08c22978b00e48fa1c01e4e237368e60139547fd4f385e0b472fee1eca10b1756308211263bc99bd2778f9fd9b44d68da5d844e16c6ad9cc881e26054b6cccd7f7e0f39ef729b5cf5a96a2821fef9c7af39859b46bfde539c8f372ea6575d4023ec0da2cfc656185c759d269ba623a06087dc0068877f73bf9d1fd9f6db17a884cfff013 - -COUNT=16 -L = 2048 -KI = 10b6422ecfac3b837709e3b5090e8ba7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7783d7d11b4e33a5eb9e6b1d03164eda116ef527d74f34a1660d9ce2a69bca7b6aeb30344f596693abda998cb7b3cf76587b7a -KO = 76e0865f5a5d46a5a3efe2f1eb50eb06e1de307fc5506edccc7333f03b98d68e152aab4d0c4ff88ce843ec6c3bfc3c5af6a41063a0000aecee046690d6e202c3ca1c252f92ea90086a2d9f2aba687d9f9f71c064ce79ce07330c7b43fc89affaed551aa6b42e6f97b0334b39fc29c329346637c2f0a1330f8efd158a3c4072aec391cf3c9154e29830a2ea77c350a6dc8a00351430ba28077b8fb1112271a951334610ce57f106f5ea4c442bfa2a9c9406403a73bc1cbaf33cf693fc1d2a676109e3f8909ce255295b323af49365475884424e82291f825af74419600ba122b808aef758a04d94a00cd6faf9eea2340bae0ce874672c7db6f5d71f7988a2577d - -COUNT=17 -L = 2048 -KI = 36dcd046b3e1728f183353722713a987 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b2c0679ff941ee5e147c46687ca9404b5abcffcc35d56bf24f83437734ba8c7793a31c7f1522ff9af568426df117f882be83fb -KO = ccd1781278dd836a44cae247f37f57a2162f7a4d710dd2e61e11a831bec1bc5be48696b51a5904f84645e890235707dade5d49f667807ebccfc6294b5ad16664aea2e2c5c3ca564eea7b4dcdcacdbf2d3c98cd6e559a90d1dd56865682512559166e6e1727c982aeb250bbc15f4c328684245792c360858930ab4d650c51e3364769ffe617d89bbdc61c001cde2b630f59e4cdedf0f5d520d8f394376baa5bcfcb701ff1871da4cab5e1b5ae396af318d5214fa9a209b3d40278d97ef455973b4c07e8a76a84739575341fcba7d63a2621c17f3f593a39a5a517838b0159d37d14e167237a011133ec9589fa3c4007bf2c61ebbc4676e7c5e0ffa883c760563e - -COUNT=18 -L = 2048 -KI = 3601960fb10acb75e3ed065488ec4447 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c9e6cc00faa75b791bcea39672899abefc369c158c5481b6299c953587dc554080630ef3f961b2623167f4fe377b886918818 -KO = 1c971fd11772ca912943a18789b2ca17b0e60947b2c795967204b8bd6eb6221c70726be869b655ad988238c91ecc41c79b415f5c1b5aea219eab687bce59063c154976a908b8d909195761c1020d51e0b1979039e2db9936ce2984e6faad8e3fc01904cecf09df744a8f4e39eac000f2af5fb019f710d63d149561904091207c25f28d79dcf5fa4ec4a205e818698774326e9541c20475733cb207e4a637db6361b8635de8d841e9824506467cf0903ecb2345cfb0aa4b2fdce5ed809c0137719cc16b2fc212d1e5a5f6f1844fa003b8b5e3ccf9eb621b1a45b053df6a230f4a0e2e675630fbc3ad265617b40f828e59c6f0346ffbd0a166d85df60076820e49 - -COUNT=19 -L = 2048 -KI = 1f4932e0818b8cdfa0914fbcccd58568 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f05ddc9243800846af05ea47eb926e61cd76b3ba1fec5c217fe349a472bb2b16e45e3911896116bdaed04db64e3e295135f06f -KO = 657ab85472a400dddb6b40d24049b96b54764103ac715d38da1b2ade6e9f26ada3aac6f6ee51dd6b245e05456a02d081265bbf3c89c409841df550494c642756ebd4d56511175696aae447e335dcc077616c5041eb7a189879300829b0cde2d8e185afe2d6c218c9844ae30ddca025df560186c118b4d9629c5f64d6322d50d60ee95e93d0ee1a1d154577f03e9192faf52245e7aab8f820cb02bb2ad73b6757c97b1c1f09b9e746c1a2322e0d94e4af744625c0391d8c8eb99aa8ae9722d0b512408e01aa1c46045ea5c503832f5bc4d7fe52f4b903c584a84a9bf2e2782d67fdb8169f73c3cb880c348049a8f1ab8a5fe5a420b0bb7dc4dc1d73be48e41021 - -COUNT=20 -L = 560 -KI = d249b8d193cc66c35faec8505e158dea -IVlen = 64 -IV = 9fde8baccf3856b7 -FixedInputDataByteLen = 51 -FixedInputData = b9386ae1a8c99cd33502901428a4744396c14cd6d3421044ec29d52e12897eb3f6ba88f2a6995a4e701365f86a2ea5bf5ce879 -KO = 7186a03d54ce82e5735af407477fe0345cfa1c0cb8c204652eb24c1ce51e7ee8154891b4319b75c9fa230c348aba4d093b23ae3da512b24fe7296b77e48a130b44c3e5c309c6 - -COUNT=21 -L = 560 -KI = a9d8fbd392b0a3a628eb8544a22e5683 -IVlen = 64 -IV = 4a1ccc647661c301 -FixedInputDataByteLen = 51 -FixedInputData = 519d8843142045c1ee3ad559c5a24d37b4e5a004b12c73b62df46623b5477fc482016c20fcc582f7029ca9bb3621b1bd1b4eba -KO = 43e051477fdbf2ae7c1c8dcfba44b788392438b0c80af99d4d24f96e7ef7f2b50621e1e51dc923a756fe24702a04ae2b88e45171542b32c2af6dc9173cf5eea43949291e5ba8 - -COUNT=22 -L = 560 -KI = 9289c4c1495c79866f9b6d4cd66a57b6 -IVlen = 64 -IV = b8704c4b90ba0601 -FixedInputDataByteLen = 51 -FixedInputData = 5cd5707b4751bbeaab1dbc0a500dc1900fb125f186982e752312fd366125b8b7a29d6d56bb61d675cce85ee467cebbaac4b648 -KO = 9c9f29ef7d68094663ca18b649b6757b1a832d7c79eed799f8094f63e11fa91d852751b15126c10bcfb745e4ae4d11f88004b782b55da885895ad573fae3a725382a5d134713 - -COUNT=23 -L = 560 -KI = 97a092f9d7ef78561247dd4f17245443 -IVlen = 64 -IV = c28c4b722f7469e2 -FixedInputDataByteLen = 51 -FixedInputData = 9d8abe73a15d8090ba41eb4a2475fedca9df2a6682fd35882ca4913c292efa03b3dca5d542043a8a4f5552af85b89f68c33666 -KO = 16b4ccd9d2ffba1d6bf164c689a2d76d1be8b44b7ef28175935af828d0892eb2dbf7749d57ef6cd5892354f7a2d4df6d3cc9c4bf2c96bbab5933f51f418174c59b95502e425c - -COUNT=24 -L = 560 -KI = 4ab08d33e53345cb5d61c534e05cf782 -IVlen = 64 -IV = b4adb277cde62f93 -FixedInputDataByteLen = 51 -FixedInputData = 13c2be33509ab5922dfcf23d7a09f5787e1c2720c44d4046b451cabec312a72590cff0a022157f6de70e781adcd16711a70e7a -KO = b9421f0ac7d5fdb87a2c574fd68b600c1b5702e543c60b28d33c7722c90cf487792a7349ebf77891d62823d2d12f26e0b474d71c5aa7fb3facc3847124d84d3c59f25273e627 - -COUNT=25 -L = 560 -KI = 1600ab588ca04cf897f7dc4b25cfec1e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e592c2946de180671517ddd5739d8df498051b47443947dba166d4e02e933bfa5e727aac118d43056d84c3eadb3f9c238a66ee -KO = 2db76dd0ac55bc5de341842b26cb379e4ca139e4b0146457cb631fc9b62701aeb0abe0f4fff547ab0f79fd71afb294f33224a939b0769204f726fc97e069e8fa3d46dbad5214 - -COUNT=26 -L = 560 -KI = 48d284701f8fc2a353aae9fed89e0905 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2be062e12f9937d19c5e77a356b931b1b51072132464e94481ecd491896d2ccaad7527ed203ed5e54b6f078d2ae4f9e3d95656 -KO = b062ed6b8fbd68f3d66d6c11bb99c501ac08f9ba9198c372d6c60dba8f82b657025686f96a3711cb98ba54b3919bed03396ae08ba8233937299e70981a512580209411f902a5 - -COUNT=27 -L = 560 -KI = c00e2471db2d94716bb32aaf59cac048 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 464b559d9e7ac118ab16468a4f8f4ad9b6ee677e4514e2be1d54b9b01adb272b41fb386e6c408edf6916ff5afbc65c096a92f8 -KO = 39b04ba60e781f9124c7316e2cc5d2ccc548450c4f4e3349787cfec099facbf3f527c84066d2b1504339f8eb5c351885812c0d13183a65cac3c541e7bc19c4020abc480397b5 - -COUNT=28 -L = 560 -KI = c33028ff411f22bc8aa0bceb67b37e17 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee58869282778785c42670c1e7d8b9ea29a9e9275307cb703c7335c865f68820a46daf09f09292ef4c631fa228cdb39e7ac59f -KO = 0041b17e63c0e2356841e8caab047107d610f4d98e0b64d597b9e1a5ba795abc16468dbaf791e84b906ca1af13fdbeebad095631df8b420a87d7d00272aeb1a78bc343c27eec - -COUNT=29 -L = 560 -KI = 33b8f918bed258d0cfac1cc2fab0eb62 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61ad57db1918d1c50fd329244d53402df85c38884818e79fe339d0497c7dd753d8769fc8aa275e2293fd0140c7cfc61f4fdd5e -KO = 92aee7365749b996bc589217f3aaac8ae2a9977ddfc0736cfa5b00f6e35791551d1baf59aeee34c86113fc46a949c2a3efb75d758f620d11ea63a7cfe34e9671432f28dedfa9 - -COUNT=30 -L = 2400 -KI = f25f7b2a8e355182e45fe6f164bcade3 -IVlen = 64 -IV = 443a695976a832ce -FixedInputDataByteLen = 51 -FixedInputData = 2fcc3bd44d4f5ba7791d634c7c534569ad30e172e8b9c73d0036b58431945267a1d931ec0270d2f015cf4fb98cb873bec288bf -KO = 3c9546c576d4310d383abe70a23723b0ff36802de914700387bfcb6fc758744de710a8dc4ab3c7e0735a41562f1fc66fe1b9b1f768ee88abff77dc5e6fb0b9ee4a0a18d5f8d46e2f934fa8f5dbb8b9b67046b550f97e3f9b66867c1efcf263fc8613ffd11147b38771a825935352b36fb672fc6d318734e046f8f2b6a8f55efca409e6da82face6227a8e0d4695d8260c9a0dac784d0ee99c8e4c0d990662225ffcdfd4a3c967216e4e8ef11144e9924602e94ec40b6da89d6088d70d92bde8d9233122ec22a68aa9640664566be3e3e528dad35a7bc1c1930687b66dd5f7fd0b7e43a7b0b570720b8e6acde7651a4eb539e91bde9a14e9725b8302d7e8d1aa8bfd959ade43ad52076ea01f6b611b3b483a56c7ac78b12f4bf5ab18ef16656535532107492b907945ab61ca0 - -COUNT=31 -L = 2400 -KI = cf56d08022ab501dc620180ce86e7cdf -IVlen = 64 -IV = 97fc1d82abb8556f -FixedInputDataByteLen = 51 -FixedInputData = e0bc246bb66c578c80b36a3e11cd81a2998a81d59bd0718b8e9137a6a9e9c0d0e9b8a0d1ba1467d81b7e4448e6c12e7c5f0c8b -KO = ce2a27ec2861729da0406e699159fef44e006cbdf1016bd1603ffe2b221cee3534f4c79fef59fe2affd40e4a3d028303ea1622353490f9bd104a2daa0d4f5754c98d9b0999f3e7e3d14767c0a685cf83432361d7d130db7328fd882cfa1429611f5d9ea4ab65453b5619f14261d0c570a7c96127d32ec563799953ae286a6482f3c820c1b8ce439d63a548211fb4cbd0ce7b925206b282a175cbc9de62f9c17e734acad9d1887be66e79389b9c92e34a9ce03a8b62c0802d91b465502eb197682b1862bbe6f2cd495d0face4f912b2132733464ea261970ab6456031d63be479e388677237508dd1f4ab3a0c9cf892617305b6069e997aa243376e4893a5ec26454d0163b59d28ff5496efc64ec23b5b4f9aad0e7c6eacbeb3c52bcb998d1e6375f3290e02adb6b154e338c3 - -COUNT=32 -L = 2400 -KI = 75e0eeea910558694003fe02438d678e -IVlen = 64 -IV = 7f815b166027985d -FixedInputDataByteLen = 51 -FixedInputData = ddd5f5f1aa23c31ec955df91097e76ab33333c27f95f5af1a208e9b3c0503ca1a85ae7edebb7c17e2c665d03ef9d5714f33451 -KO = 39e8c23126ebce70bf6554fe1fb38f8971beddade47df8f4ee9d3ed541e8fe24fa03fcb040705a5887d88ce2539674ba24a7596e6febf7be2d02f980efba90cd265626fd95dc1a2730250e1ec17cafdb6837be0398b843b45b7dea17e2cba3499f9b38d20a6448b83715815440961dc6792dff3dc54c6de23882cced952aa5e5b1beecd6d08bab0bbee2623f4e191b12f60e3403b0624d6a89660449ac7f1c176f7b0b4db21b2951e90ba348f7268aaeca22a933e12b869e5db132c7c5b70341cd9278a5ca5fe67edac4d69a1b1f693b580fb62a20ab4b074606ac0bc68e3aac92345f4396fb68de45c295b4dee0b8283ea3cf6f496272d39cbce1bda51c031fa8f306833bdcd27d62129d75b86330c7bca725906dbefbfb9faf1de7035bec15902535971277bc164afe53a1 - -COUNT=33 -L = 2400 -KI = ad7052dcd96e684a5da9365077c272a9 -IVlen = 64 -IV = 1c51a26a6b102f9f -FixedInputDataByteLen = 51 -FixedInputData = b86e36b29e45e63595bc35b33c338c1496bda2a7e5780cd9d1d75953a39338b8462856751260c79968d7a56046433899604054 -KO = baf8ef24eb5ba693869e4e3a4cba72348458ae49f16e20427d5a5326b6fa5ab57967499e139c2b3320a851dac69dba8eeab0313f7620901729aa9437afb579f6dfd1f6b86405e53ff55f5b566ed90ab7de9e009572e8936fe92e1a9d1e2427c32225d86cedf962b0090351079cf24360aa40e63751cadd41058683036ba216d6bee9be39bdb7349adccd0f9e3eeceb31f634ce881b1546dea916ea63d3a3531fd39c5bcb117b0147c3533c3e5491e9bdf4dee2287deb7865fa01097ba78722d8ef03279f5ccfdc2210e2b913e55f39ac1e455b940078ea5d7c993881f370110dd9ded7ee4eeadd2c7368ec2c1a53ba32dd13da02008a4b422580b029ef1919f046648cded679a018e7929cee68683ef636a2b191f29300e7e0bfdf91838cdd9dacfa06d902e6c05a46fef3da - -COUNT=34 -L = 2400 -KI = a1a9f5b6348b7709aa80d1bb50b118ab -IVlen = 64 -IV = 6ea8b53e02262b25 -FixedInputDataByteLen = 51 -FixedInputData = 9ea2ed0f86270bdb10434aaee12ce51ec415313ddb44abe19af5cb0d7f13ed67e82b5ff5e954e7e425900720184a263382acf2 -KO = 2054bd0d7035aa02d5dbd764a91d07a2b16efb2ffb8820a685808545c4dd45a6433d0d49a0311df7ea107409afe33f6ab1dc000bfaf3c68f683edaed67108786c501b5829becaeffb9708d376a8490d95427522482da6549897176b01dbbc1e9b239bf5721b733ce06f35614cf5a999ab0ac5175200c8f58a0d2e0d625d3c1d70ce2cf2942da9f7e2fe202ac06ea257a98fdca936cc0dd88b91c4daa21e15e038c0bdc5eaf5c68eb2eb28a1232f3588f3b93fa4464706cb43f5f44b8cb637eceb534e01c9596cf67a7da0edf9057c51974513adcfa7a577a7af34dd451c609c2d595d076af60857a97525a29b85e00d64e06ced48e3640576cf16f71e909b14d9063e4f5de1979a50f5b2727d6f22c196366dfec7e6c2f914955343c28c47a4f7f73905beed0fae5c8577703 - -COUNT=35 -L = 2400 -KI = 43b3454a45cff696f1273c5bfe942380 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 343edd5372074f6eabec3a3f2ab77ebcc76184116ccdc1519ff5181f05ac6fc8df0b7dd61f4df17f8cf47ae439fed724ed144f -KO = 0b49ce651fdd5d79798548536518cef147f014c8e6c649cc08275861b814c42f0a637463d7ee8694430f6a9b0abf81cfb880bee36fcea504a09b68003542f3a1287027fa0ff13a70f4ebd111843c4d9dc5fc8e142bde504f96732dd9109fc69a49dfca80c158cb54a8e278f894feb266f83f0378ba7f32b6aa4fe85c2444d14447c7ed128ce6c442bfe6011205766039bbd05380ad27d83e9eb95ed15f0de1eaa5e5b51874bb2c7ed9caf4d1c053309ac2ed71f4794375667e2d65fb12a542a29f0aa5821e0b3585b10472ed75d27756f62a67919c6800aca6dcfe4e8157cd9eaafaed46f95acb48178c39837af3a1c4b38b0e593a330ed9a8797248db5fb4b137cfbd58227de9b52264b48f51d8e8041c98b5f3c2b90bfc1f7f6bc824d9509f16295bdf410c2db090be07f5 - -COUNT=36 -L = 2400 -KI = c51195d4007205d2cdc1544d3f1d9827 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be77df13cf6c4e80ca399227411b5fb535bd7c48e9798c3ba7b9af567f08b2b6b22feb3ca53fc677fba2d2da9a1ba455ec6143 -KO = cf45180025929cd62dcb19b477bc435f01841738e457456d265b0c3c404ad27779efbe070ad41580fb773b6749f044351c451e9075f4404dc13da94793d990877eb17c04812b779022aefc621a115e0a1093f18c222c64da31e4e3304fd0b6b5acc7c0275332d1794009b6135d45d20ef7bba33283fd8259f07200b6f250ec01033240feb4198de62313908138c22791efa7db4a2401489fd549856f8c5057659ad894ec72db71bd118681adab97b5021e60e9ae2f7b18a62503a14798150eb544233f59662f18582e32625a88690e81be28b4b674b22ae9429500be5d93b8252881acf7a1f11172fb1c7028909402194b93dc6fbb5021b3e94eabb26be2bc6d2dc42185388f5cb47bcbb3c89f16f8dcdfd34426bd0052abc96883139fb72080bd1c1ffbc514018291a8f91b - -COUNT=37 -L = 2400 -KI = 9ec19228b5df84fb0afd8e04b59e3ee5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ba456d70f45b931c05ba1738afd4c5c894aa1d26309a16193cf75015c9f7af2d7319c4220a34f56267462e4afa0aab48f6ec61 -KO = 087f661b7e2ab2752a6baacd878c3de143e2491b0088cd5ef28ceec652da5f63b5fc97c6a2a7876bede0ffa9a1ebf55c03f17ef6a495c853ee104f14a8f8b42122f13d836e3affe2166162ddf264b1998c0d54fc9cc45b26ef49429c36db54ff45d4665df061a0998f18e2ea2d4a6271594ff83592f34d8b094383512a329172661aca5c53d4d9c72cc63491e5a308457d42489b918e56ec9e248df7ed2d95b0b57cc7b0c09e6c90c13918807ad74e3baafd04071c1d09993af5aaf8a145359c44215ac94b91881180d98684d25bd93c4a18d5e0739a7f4876788f60c7425bde7ce8c35a9f140e31e15b92f8737b34c59446e674f419caf75af9c984433804eca512570302a106690bb6376741ac2624290b4d01b8a475be49254866acd709bdeda2cc0eb8a7bd6a6ce49316 - -COUNT=38 -L = 2400 -KI = c6ce4e6e1ae0e1420d70e747e579a1c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5e7752f976c18bbb1f839da5300e9d8e1192f4850ceb5988dc267b814e884ccf94596162784655ee1532c8895dce2157e4e56 -KO = 5c167801494d7b935fdb7d76566a12f00370339fefdfe3bd761ddb74ca4e8bd9e2e17eee9fc172c85c52945497ec71290a1f383f57af6d4366a6ebc1a5fc5cc283aaae44926e7df7a430eec8d0bd93ff1a79481ac79f2b419c4e3953b55b8e5263e967e5f91c6c5fd69e65cb5561f4e98ff4ea0fe6ccc6a4501b31b4ad0343b1c90ee321e046b0965dff153c69330afd8ee905e174ed6af2d59097a2893411e524b4acab1e7037cc40faf5430925e2dcfeb9d261d8df56eec7cd8e147eb4becc6bdcf4f0b3293d4c40489803866799e325802a4c26b4fb1397c334181ee0d6b83378d7d8b3f552f3d67cd0ccb26b06a2b6e2bd51f6dfda228c2f176ad52fb6b8eafd4fd2751521e6d9fa9d366fe1874b73745c1a5691885b8fe1ee0becd70a0b3647182cdf949abec6720b73 - -COUNT=39 -L = 2400 -KI = 894f8c896e516431709d7f55dc4d9f0c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cfe000545c20dbd7c540f8f7c55452777d81d968f851a5e3408035fba7fa2651450480358ef832536522c8ef148fa5ea62e8d -KO = 361ea47f32aa82a6fb95b2150023a46cd9c48f116e0db584458a87354eea874e0c0de9e0761b7d8dbbbf9b0d29cf48208236a7bd0bd14675eca93a7e8a00b1fb1f5dd4eeb360ccaf8bdccc73d3e682bf4dc3b6a777e7bdeac2614da667afae96c8707eee6382a91059a6ea720b3b1c71b63f058211dc0a8222e647d92fcdb3d2663e9370dcc7a7381ce668245190098522c98dd1bd6b200f9181dc34d6f83308fbf84ed96b03bf5dce12a1bbe0bf77b2ca5b5ac56f70f0d6f8e9b51152d5dfba7d1f7c574a2dbde19230511c4807b55ee34a4e573d56bb72ff4f93f9ca59f53730fc40274823bb7cf6714368fa1a659e271f9d4f68c1684e4901491d4d65505714b239d2b075853249a42711574887a5af811eefda53408632317f2d1678b470f4a5c1b61025c0be2e3c0eb9 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 0d16ccdc607f790a34eb9920bf9eb432 -IVlen = 64 -IV = aca4827c9a2f498f -FixedInputDataByteLen = 51 -FixedInputData = e7fd2168719e9a2b00e12eaf100bd96eb20032724d16685f796f9958c3bf2dd60efc4c2a4be582500fa0f6bdf92ef936585470 -KO = 15b34597efde486f8c7551dec7cc503a42136eab0dcaf762fb899b467d99f8e6a9117733d19e46028f4273876b357e5ae72996e8fc17c6a7cf58fe88edb0099e - -COUNT=1 -L = 512 -KI = 4a9909f09efb22b6816b86963e41859b -IVlen = 64 -IV = a27547893fe65193 -FixedInputDataByteLen = 51 -FixedInputData = f795a070cfef7f0bb0c763f36e9d9395d876bed2b03c95a277ce7a775200bc9053cbff2e5a740627cf7956238d442be36e4d3b -KO = 530b4190feb291121b61b2486b7e4da5511491fcf495b4264dbca21b67fcc7acd7d229cde736aaa4663458dd6fd0157bc67f498585341cead1927e6eaf370ac9 - -COUNT=2 -L = 512 -KI = c29700249245ed6251d43bd6d2be3cbe -IVlen = 64 -IV = 41bb4966f310a429 -FixedInputDataByteLen = 51 -FixedInputData = 87b527ec60fdbaa455ce73cc78e231b517892d71cfb5f9003fcc64fc4270fdfb7ec2bfd7bdae8baaa2a6b04b9bf5c0a51423b2 -KO = 387802efc08f2936b0258f40541e61abf508aec1ed1bec2a13dbdd55d1f003d4cddb6c473e568d473b7ee4049f3eec111d4217732c7b3218b7e5b6e610ad099e - -COUNT=3 -L = 512 -KI = 8f7d1bfdfaa0406f40e0c9c42444135c -IVlen = 64 -IV = 53134974e5a2b350 -FixedInputDataByteLen = 51 -FixedInputData = 2b7fa8c7c238253c6059d503d02de10bff0cea516df6d62da6130898d12dcea8d8a504edcb03f52ea2ddcbf1e260f9f0093f0d -KO = 46521971a1499ffab4a931450be11dbcf4596714131e1613e5f9d9c69a3d6452d71765caf271975b29c0a18ef752990004bcc9c812f97a64d7cdb805918ffa73 - -COUNT=4 -L = 512 -KI = b96adae2557e7f4e549a9babfcb10406 -IVlen = 64 -IV = 0510c450857a5907 -FixedInputDataByteLen = 51 -FixedInputData = 03ebcc0f46ee79e258cc0cef802fe7c188f9b7419f8ee2231ec8fdc8aec10cf0515dbe6d63ee70159c01715967383d27cc29bc -KO = 7878dbd08550f314beddccc0dee50788fc11ee66bbf8e2ec9c53f83bc8aeca09ffb7bc851c03f7784cf1436829b5090e776092eb874ad38ffc3971298e75a01f - -COUNT=5 -L = 512 -KI = 76cce0c9e813e19faf7655d6c06f85ce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36f7c4edcbafb7bfea4e65f544b6f1fb3b2d2d82ecedf585a6c5e01f6d4f9dc55c6fa9d585266558186d70d21c659f0e4e2862 -KO = d1e6d3044ac59984fccedccba193b6bc62adccf3c9f600310a86ade47ee8df747e484de337f7a0a10c0817f36acccc60eafafef2bdc60fbb1ba7f58e0e927a52 - -COUNT=6 -L = 512 -KI = e22a7be7e6279cf07317e80d058647f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9276544055c77e81b905a6a44aadcbe11f5929e0be0671fba49244d577b88b3237dd5d9200eb8c37caddaf894a09c5d9e7fc53 -KO = 6836b4282e702a8285617c1f244671b737a4dc55e2cd173c161eb9633067e09757eb0856ba3fe29ce8f5d70a7141a38bc806058f17d1f29fef23fbf2a9f95be7 - -COUNT=7 -L = 512 -KI = 216a2373c4804343e998196c303b4fc5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa0c3779d5a979a01d2b91eb5e20eb1c189b4e8a5dd78d9fd17bbe51d6be36175ea37e4da40172aa1986a65d3f0d6056e8acb3 -KO = 2799678d62c4bf93906f243727a66090408cdb25e0c2830548ea3b5fdd8d6159408f06817c0fb05be7e1bc15e086271bd92fd3e7d6bcb816dba6bf73cd28198c - -COUNT=8 -L = 512 -KI = ca86df76720233426904b49fa451f318 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 048a104997b7a1947f0ffd821ba7a9bf6dcc3f3fddaf77d202e8dd4ba8f307014cf656b1385b417e42bceaab4ac0d872cda2aa -KO = 385ea16f33ce77b890d2582a51fd788a42e11e8fc79f841e8c210e74c5b2bd57dc26cac240a18ce93ebb01450fb0f5ee2258682bf20da36f07c684998856fa72 - -COUNT=9 -L = 512 -KI = 284b30ddc504be7e16b411517063e861 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf200b8c706fbcefc5e3bd3568ae36f34a0d07ae5855c1a12851a7f339d12965d2b35f01ee444c9319cc913efd6af598c77fb4 -KO = 7f06a112f590191e7856159b43d899260382027179196cfaae44c58a272c7a06dfae1d7826543f34a2fefef87921aa509b7c3360b6db56c2722a83aa82cdeead - -COUNT=10 -L = 2048 -KI = 3b85de1060a61341ad1d23a590bdd6e1 -IVlen = 64 -IV = a6c23f3d2c575a76 -FixedInputDataByteLen = 51 -FixedInputData = 33141bee21f19c50a662b76900c87512cedee05521fade82a28d69b71259d0a05796e375ea5cca6112c041cf4a0a6efff3e707 -KO = cd7ad17e784bd0211fe20e27e29c060f9b4c94c22aeb730da87718b80116208521377a9ce820c239e0afe4eef6f750322fce070ed4b5d8e6aa64adf64381862365bb18c4f125dfd3189da67ad150f37bde3af3fbd12e4fe98e2b149e7a969862fc1bf06251f31deb3ee2f74d046bbe13fbcaf2be4509023212006c3b1f03fc89ff585fbdd2645668b4846ec0324087158e36019b348f3806ee5acff24315ea1547accd7ff857f1a6c0727f9f7a483426cd83a203970c07be815feb6b9ae7c2284a0fa84a1267aa583e30d0b513af9d5203218eb974d868cc64c65aa140879d1d17da9c5ff028217255feb600714f216b93f548a6f2639d4beb38ec3c85cc0566 - -COUNT=11 -L = 2048 -KI = 26c588f6c475db8db84bc02fbc69d8f6 -IVlen = 64 -IV = e20bf9a4cdafbfb4 -FixedInputDataByteLen = 51 -FixedInputData = cc0612ca194aac4c56206fdf85516281ad6619b22cd1a9c85a718e3be9fa98b331aa859075bd35bafba87dafe34c98e727b1b0 -KO = cf368d5f7dfbb2f2ea61970a62679202ea148c793ad87b5efdca6ae30f25af5d11b5022e7ffc63acaacbb181bc000f7f1b0efa802871ad83adac66e237652b035b40c7dac00722b58431021b2a4d8a86d8dcb96a839af712cc6bdc4c8d3834b46e89bd77eccdaaac3e7b58f1313b2f799fb6287e80132352e6b24a7ad630e84cf0d2c7554dc38db6d826d9bdd6b4225e31a4dcc3f77554793774bd11ee798c543f3489ecd1be0272f229888008fadbaa575e2342088211c496d34e01c584f4f22ea986cd6a84e79234974105829cb5534aa4c95ce106f802e429e235568efe1163d6a57b182e7685e0c7736cc7ac02e96b8a581ce4635da133c10c8f3b9fc0f7 - -COUNT=12 -L = 2048 -KI = cbd01beb2f3da3a583e9d819d2f8639b -IVlen = 64 -IV = 92c063d98c37016d -FixedInputDataByteLen = 51 -FixedInputData = 4068967fbdde11c793c8af82453f69ce7d434252c5c3b12cc4e6ab95a0093db39264097019cd000bc970af7d2a642e6536f766 -KO = 0d37b88dc190f3027f50cf742fda8e3939ec235b171216ad5e2bae76d2f60f69bc4e5363bde8ab3ddb29b87e745841f00ce8dc9ba0220216a5490927666f57a9e163fd1b1c2ce37f542df69c1a2b7592d0753f5bf2c78e4887467cf0fd9a07cf9141a6bd44d0afd03ee12fd3bd60aed42393ef834346971a7fe214b345ba8f80d1d87f34121032df35e830d8b9ea667441199e841a3e1c8c576f87b954bdab38155af0d9ec459fc8a397382acdbbd75793d09f89f1c7759526882e2c67f57b296309de1636312c124fdf7afe5f1451deb1893685e331b5f194a3d64509e2d92d7cd5054d2b5b0fe56b89e8a3681782064dd36e7927dd067d57db09edac74c28e - -COUNT=13 -L = 2048 -KI = 602fe3f91cfdf5970c6a5906d7352b01 -IVlen = 64 -IV = a42fb0f35ecf9adc -FixedInputDataByteLen = 51 -FixedInputData = 9f300e66d33fda2233c625a15e79661299b7020ea283259e87e8ebf608f648a889eafe4f90f857b24623af4faa4f98b8c167ed -KO = a773f9b433fd38217571cff9e877ffb4ca249ccaa5ee530b0441088ba48ce93b681f87f5a0622f18c9dc036f2f6910cd4e79964b16a6fdb12c56298dba33d4986f88675b5f079107450c37b3163cc3ec101896c569995f10c132815e8085959186da7b68e7810d195807112b18901e17fa90a55a25506d3b8c4196117520885271d906ca50ef658ae425f7810976bb7ea9539c5d4d7bf9f7599cc5e9f2e301d52a5c5fb2fb35d20fc5ba627517d773d9e48f4a4f72d6b739a4efef655168cb6c04d6c71760237fc3b3d042a8453ea0a46cae713d5d3e535bfa76b5cc8b360fbab16f6894b6c6e3ee3c4a9b23d0ab08bc34d64dd8bbb19ac99f4c51159d90855c - -COUNT=14 -L = 2048 -KI = 97e5cb4bc599eeb59fdfc25c52950210 -IVlen = 64 -IV = 1e1dd797f9974fb8 -FixedInputDataByteLen = 51 -FixedInputData = a790d86393ff927483ec3ac734f8a0e18f7e01401c333e847b009ec732b95df4a0d0822a11d69c54027180172897e59ffa5dd4 -KO = 0067b5dc4b36e0130f9399399db0d0a4f4e7f1f4406044f6a074ba3700921ee4ca24d07edc2a13e79aa5c00d2d6e7a6cb7867eac266e4ce3981441d3b87276312c5b0ef9ea3ff69cca7706a9e9815866927eab7a1610ba48e61956b350a72c017550d741c29b6a372153ec9b1df55d099c787349caeba45dab804980be04f548e1099ee57c3d37bdc7b49a9090aa101673c2cb2c9430e65c1ebc9b29c3d59013f89019eec39056e51e0c3e153e2a65d7a62ac69307bafc9956a0a99d7a350a051397db8519294b0ddb5507ec9d98075bc8121cf0ca8af4bfb341a9efecd32cd96c0314f5e88c7281ae8ffe8644866c036cf686ba381913f44e27d72391b15ea0 - -COUNT=15 -L = 2048 -KI = 1f0393714668cc58c5d3fad7f26d5875 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 40b57cd3cae03509f17274a5ed6233876e989acc62de8b063918260e715a31ba0919ebf67e04470a1667c863a7baffb3855b7a -KO = b053ae0491077bdeb4bd31d241070195cdac26f6df195ab324f6f5a356270281f87588dac676b4f2c703576c1fc0fa55bab9bf5084e0b80dd13582cdf3e9eedc78737722d574391c36a32b473a36c421861be13cea7a0131f4cb28352ad44c17d1866926556cd5295be10c6249ea28a08ebb55aeab55edce9db92cc074a09973584c57e2c4de9cccf93e80bb5fa0c58e3db70d8011ce422ac2bf0982443dc52e187bf68806732339f50a5bfdfa7952f94652b8642a401519d6badb374c99652683e1352c42307e77eedf354458c5510ffc8db75bc6eb741014679738e882ac8c709266d02a1f5943abf37f10af855736a726fd8c26c2d001b2912d8efbb4900b - -COUNT=16 -L = 2048 -KI = 0ed4fc9b0d1fce34b4c4f035d3d086c2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4a13420b9e7ae3a120c70b3f03cc3e2fb3ed8ecdb3c72f380007c957ba555497c0004c7265e61422307533eae2ac45e8c4ab40 -KO = 1856cb7b2608e1dce922c3e7a539f2a9245c7c97608c5109b94271f241dbcbc0c8b35605c83ad55a124109a0e69867781fd98bd9e697df0c9d324e139f9b8b8d0838346bf350dad181e6da273ef02a2ea52ed68afaa33ea20fc3b0a7e95ae4eb906bb99e6639357169cd55db6591147d9358dc8a11ebe7f34e29fc5be283c3d4395c671051116f9a587079a0df9dab1ffb8f39dacdf83a65a92c4b1fba4ec26f2c96a203bd3ea9459566ad0fd43b037b85f24d202fe91124a31f0aeb6f9da91a1bc385f6ab105064cab40af7bc159c2ac393f1296b303dc3f6fa21760138bf50b8bbfa6a7e6e5dd57dbc45a9fbaf0c9ea9bd359a7fc8766f6a1616bf7bebf384 - -COUNT=17 -L = 2048 -KI = 5b0eea4e133582df61da958fe39a2a90 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 63f2126ed5f77818107338a9e4b3bda279107907369b94910ee22cb2200c8a12a6c13cb4b12ab958bcf1166b5ded15f2a242e9 -KO = 1189e46db461ff1a614b553b44e54f949469085a8fc17c57ca9476b071bfd3939b536a51cf99ac4ea6676f031ccbf055e8bb208b9b56a154ed190ca067bb41fa8ae7fbc5fdad44fe1fe99dd53cba110df2190f7a62f617cba599961029471ca95e89ea2a259993b06941893ec6ad93ca5e323f07ab0cdff1854dfece6fa5c8b8d5e9544821e4b32e2ebc9e23f67a9c6901ad697422dddb27f01a94d63c8900406bc4011a3cb6da1d9906135e33bc0a9b27dabf680c24090023d8460410903f39c1888da005bd0a8b2f7ee7ef082153f89ebfe2144617034a1be7d6f4fa6568aab589af26099bd3be75d5464e3fec7090db1c2a5acc18eee1001fd706eb87cfbe - -COUNT=18 -L = 2048 -KI = c2104c64c080e72cc4687066dc3a77b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 160d8a7e40c4e864adb6482a90458fac332c6c223e60982317428df86b6789a87ad5fcb7734b8ec3ce6bf766a74bd8bbcad6d3 -KO = cc806452b2e17c68cb420406218d8ab2df222ba4662dcc34fe8d8a6eaae648830174fa2bd834ba1372436ef20f2568cf632429d9d6af69e8019e460c9dc4220c47df828d615f0fe245b6b2e43cfbb1a8961e37d0c96e13f5d8ff590100250a96f9c38670546e9aa06e4c8a3cec71dfca99ebd0e0372983f9323795611c86420978709ab4ad470f0d92d80d02dc04466dbba3db4078b729900aa3428053ed31c7c942466745ab5d5799e8ba3e1ffb3f7f8e8618ba83bf0b9d79f1f3878012b7de779bfe8111e17633ef18ab91922c8884b02a3f396a719afd0093d0dd715c2e800f05124041de0a2acc855b505d9cb7a7dfb118363dba4f31a32b13b1eb8a05f6 - -COUNT=19 -L = 2048 -KI = 7bba5b7ea5d50d0ede827784026fd50f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0bd9cb0670e795462cfa5c7c8588e6bd5b026e8ed48bf5bc9f8d4876a88ce626f58f067076f10917c604bfbe02afe00b69705f -KO = db8a5a99526af93b02ee161760d92976f6a0cb4fc04d95cb8b77411ff79ed02b8862aef6df86c1e762ec5e26c39787cb01f1898acf276e07bb396c5073b48647465f5dff4c03a10c0220fafc5c5be88128d029953cdb3d6f52e6f2669dd026484dc2bbb9d543d3fbbf4a9e10e634081a711c6a4e33373368972684f1d7fb64334e7d5837926f2ec6732393ab19cafb5d9544fd9e4776f7f015b4bcfb63b65a9b0458ddf48071a59d91bc9d3f788c92c9a42e3d7062b31fc630565114696c33c9527b96430b19c845155e4cb82cced182a012cb88bdef208a4fabd8de52b51cc0bebd3562bd91f6e7413618a7faa9ceaee4fbb302d9e781ce182c2cd9c3594b94 - -COUNT=20 -L = 560 -KI = 3c8d6ab9bc18b764a00c5094f971b0d6 -IVlen = 64 -IV = b0e254fdf1fb181e -FixedInputDataByteLen = 51 -FixedInputData = d71db2d551b486f753518e5571e65444fddd2f802f5a4286072b7c92459b3500162a9dfd105a1fa427bbf277ccb277816ebf9f -KO = 59b90b4b728d37b745e9e71aa36856d94bb5a0ee8310d9dcf0fe8e9face19909fc06f00eb5959fd6903a5358b1a397fe922dc2621a292cbc7bf0091209fd9bb95a9ba3511f05 - -COUNT=21 -L = 560 -KI = df621d73b49886de4b1329c427d3beb7 -IVlen = 64 -IV = eb0f0ccf6b72f68a -FixedInputDataByteLen = 51 -FixedInputData = f35fd9922dff0c9be288262434d4d5fed7eab42a69213f09ff0c399912111c683f90ae2a4d0c011fac7dc5336346c2d0bd960f -KO = bf72d17ffb232bfbea872feb64882f7868adc4cb587b3ede39785749a4f7a8b2fc261bf3ce3e60c0f7b99ef00ece9f4814769ae18fac6e8ad13fd7b3fbf65c5e0c0e6fedcd64 - -COUNT=22 -L = 560 -KI = 0f4eec3cb24d6b63a099536b2268c4a5 -IVlen = 64 -IV = 2e217a83fc09ee42 -FixedInputDataByteLen = 51 -FixedInputData = 3c2b9bfa990235970fa5fa6a8ccbd867d10f8d72a23da832cd95d1e7b3cda430392edfc6f64173c2336b76a257822903d8a0f7 -KO = f4eee94e5d70ac264309003546ef1ef41ea27e83020bec1fb05e88e733b4ebdb96e9a91aa0e50b42806875974a9514524d0ebad04011d8be7d92bee56342262a7d501260e6f6 - -COUNT=23 -L = 560 -KI = 5d57fd4cda69980fdc0a7894915b612a -IVlen = 64 -IV = b9d9458428645f27 -FixedInputDataByteLen = 51 -FixedInputData = b4fd7cd54764f82c20491fa106e3e743130ec2c98ebe983fa29661003000e9cc318679782ead1f27f5e4529bf3ad94a2f1d409 -KO = cc1e597798fee475b22be2748178fa0c0026ffbaacc13fbffc2b43d545848ffd266db233820734ee41864c0207ca3ae63dcbc054f307f93599e820462394d2bd08c20fc11aaa - -COUNT=24 -L = 560 -KI = ecf3594ca801a7c92bd6613621864995 -IVlen = 64 -IV = 47c9893b5a7ce3ac -FixedInputDataByteLen = 51 -FixedInputData = 7d71a7be77f4470055393fbb0b3b2fd95264e5d4d9883ecd2e1d3c19d9f1d5a6d085331de990509e180d358951ba6461af297a -KO = ffdf301dc5aa4aec8c4218a00ad51e45eee2d739f94a04d45cc8bec8c7cf956b055ddb84c8c18a19e3f6ea762c802d47066908a6652052c1e358c3c4c305e0915b834fd455a5 - -COUNT=25 -L = 560 -KI = 0cedc108661b1aeea1ad57e005d216d5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29d3b56d3dc1ab7693f4deed9c17808f0994b86171a07f674413c6e77b2326d210986cd80910042b42b9bf1136e21d80323faf -KO = e88463b0490c79020a798effae4af09d1d7165399c1f9e8b7be5438286d8d83ef9fe789d60b5f6b1a46453880a373f937398641ca03106315eddd40d1fc78d13e03ffd4a3ad3 - -COUNT=26 -L = 560 -KI = 043f29a7bef27da7fca3c5e8f4b08489 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b89d14289c54dba10082c858c8975682817670feda355f4e6d63340c4960703426261db3d865d1943a43f60e10b24dc853993d -KO = e4ff9e8f97b21995a8e28c7f6afbc8bd104000d20bcaee2a8407d5f8980449ab1072795edd1228391848c2c2baca519d1d26153b47ef5a0eb2581610d6eedba6410402ba32bc - -COUNT=27 -L = 560 -KI = e05bdad69cee404e78cb22d452e46061 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e7f54995c4ea2e37dab80e32d1fe67f4b755bb5acb5bd01faf76095f123fad334164a0561a9f2c568db51fc29063920590768 -KO = 994104d533a2e8ed8ad4688aa2d1c1ff784dcc4d42cd5e5237ab3e376856f7c4e8b948cbaaee77d518ec2cfb6996cff1187e6abee34156d34eeae6d34a1836a2ec5ee2a401f3 - -COUNT=28 -L = 560 -KI = ca54011417c4d28e73daed5cb221881b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8c42f5f8ca0deb1ed39eaf358c07e225c122742cb5cafb68df97c98cefda3b89e9948a0e9b231fd3110a97109356d28dedae4d -KO = 177a09fda14275f5c5faac60ed9d16444bed89ce190efb242f5029faf0559a4a49aedb45d4bb260558a4942c2b114a2b3c9a77df230d881a92e149e95a84dfce27fdfff7a0e7 - -COUNT=29 -L = 560 -KI = 2ec513c0ac088f39d6140c15cd93c06d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6409e3d45787d48cd9dd32c71d1ebf711f62277aacbe7465d8dde43638d6695b356024de42a0b9cadab26d49fd42b9bd041185 -KO = 7100ccad16a625cc28df33f797bc277a05211c904b53439e2d44753c95ad13129f03f439ec6888fdcecf13c60ff7beda86eba73119eba2b5df9ca98d6df18262ccc54c1eac52 - -COUNT=30 -L = 2400 -KI = 06be71cafb05daa455b471d6c5ca879c -IVlen = 64 -IV = 98532ad587a81b30 -FixedInputDataByteLen = 51 -FixedInputData = 944efa59b0e8efbf86cfedee18dab0c440d2f3733834c118baeac88b8b009a38c03db218b9b2ac7ccc756e62148e0741ca2b14 -KO = 5dffa276a8d85309f12173b41be06b4c24f991aef944f998c9606c47ec85672256ec4b998232b900e1569649b4eeeb26fe9353266314dfbd13a9897f9e6980d9f08090bd030ceaacc93ab3809ce30a27dd34443a38b6887db539206bc86fc8c45aa4ca3761ec478309d407c2e21dc6e89703d5db10ade3901d8f6fe9b3422bb2a5d59a3cf61921dc4c460d54ef37ae0f5d3d22baac975909f7175934063ef78a9dd8e5ece5c4c4a519f0bffef7547a31e724e7866f2eb98c04829553d42b04cc24804a455f21a8405503a8e07d31ec4fe0f007177815c4a623c1b47334b788bc2b283bba5ac674103f29c2e1c24da586d92d8b1ba7f1e8b82e6643a764b4517340af8f07ec966da9e3af5a1b9d5af30321594d67ec42875c313f769ae494b70ea5470b86b3cc3869972a304b - -COUNT=31 -L = 2400 -KI = 49c17cd1eb00adf23010261b3d8dba1e -IVlen = 64 -IV = c6bddad9d2b38dd9 -FixedInputDataByteLen = 51 -FixedInputData = 4bb26105421b721ae169669ec2585e3e860f380b8b3775e148acff051e9f8b188c367d54fd44d0a5fdb332562fe201818259a0 -KO = 9a029c0f35030a6c1489714c17c9464bc8dece8284036aeb8463a497e500aa69e9cec0c0ce26b53494e16b353d5e6e8ec32c9e1c765d5664e9984b0fb3fce12fee137095b051ccc86d89f8ff05b2a93446314b3fb62f35918edf35e292a232ef43f68cbb1adbf5027850dc3ce510499c4dd9e1cbc290bf079f003e9ee3eb7fc5a85315d7f6ce3c6a9e42eefd07496dde220f498fef9c80e35106ad33c91c06300cbe9712a436c2ccdb1fbc38543cc631ec73285b8ac2272bc423dc6771031d52c43dc812a4aea0afbc0c12eb767a5d58bd0ab1916e6ef57d1977d589f24fbe05cdff2edfe6d435028bca41477a60cb8c330eb76e74398f86ef1fe28522ea6430a419925cd6fcc8401593f8f2ca11b85ed54d6a5dfbfc8f58f93dc031d8b788f5d2cd29c66881367d27afa15a - -COUNT=32 -L = 2400 -KI = ddc923ce3e7a799982e77ba8b8ec569e -IVlen = 64 -IV = 6f69ea84351787b2 -FixedInputDataByteLen = 51 -FixedInputData = daba0566e8daba6ac964d40353b7998a1eab0523d70d4b7fcd77e8edaf9f3ae52a91c112f6d0d25ce015b2aa67fe057fb964d1 -KO = be0bf4ec6e2480f42bf3dc65ddbd38d5303735d92a3a70a533998b55e0c92645c3a31e07eccd34e2427ce8236950d9ae164ea347654e086298a6a57455779b3066977cc6666b48666d71e13e6ee64067493ad6e7d6b5676299e7bd5e67da4fbd3143f9dd6c7e37b59472de729e8b0a9e38a1ea05b5fdcb68f5c2b9d9a0f4168fc8834090b63a2458fa5a4db94cd93ecdae70546ec6d926303ee2b5900bc20bdeef8e19aaf51810dd7fb6649d5a19b15ba13402bc4446891de097d8f4f81d5b2c2efc43b5432686f4c41def9c0df7e3b66f3742f81c32c8b72d2cd01470828b987cdd5eba4831f3e4fe649008754c37e4c867842396ba10634e36095e291a8b2ce23cc96ba0e444e40634b401f1be58f08dd39cf2fb157ce327946ee4bcc721db04e3a18aa08895df5024298a - -COUNT=33 -L = 2400 -KI = 273458c57b2f624e17eba8ea8b5a52db -IVlen = 64 -IV = e016aafd54ad0873 -FixedInputDataByteLen = 51 -FixedInputData = 4a2b8ddc4781d34bf2cf8fb2eafbdf8b2a21694d75e00029928a437d6aae106260acb60651cd3862112bee1cd4ce874c961259 -KO = b337063e571bff5f223de2744a17dd93ea6464b8aeecfb22c039de3485dea866b1ff713484d4c00f670d018aad39d6a88d6063af4babb59bc969766fe6367b6401f51ba6f43300dbf412e6e93eb5bd638c54fae9b4192e5fc1e40b0784ffa604833a9dae9b65df7d6acb0bcae324ca897491f906ff5cc3995f875368803c0055e2d734dbd181801582830c5801eeb4bf9d068e4bfb322a01f4f46345f3e51a96e3a9681f02bc0ac593cd4016c756291623caf6bdfb4ceb038735ef63d057701a889f0c9fd4d7e298a4a3d2d67d74f43cedb2ccb88f7c9951011fbe9cdd8982b6f6218909ff46dfa09d5e5a5d451b47f10705afbbc3044a256f525557b0723d4372bdf62ec00b9e570ac77f48f014ccf7a9ecfa0251faa71bf6134afe3023850df037d3264c5b61b6a66aef05 - -COUNT=34 -L = 2400 -KI = 4fffa22c366d12743ab1421c9aaa08fc -IVlen = 64 -IV = e59fcd017d76451f -FixedInputDataByteLen = 51 -FixedInputData = 8b65d4f5f08b05fd56ef0eba12d75b14fc4757b65b261ca974be3654e2c2bc6f783b57d0bc7bfac15f578b1d4110671f19ce09 -KO = 5da4f9458692f6e682a6f1a77f8b38de76ce077888c10e0d7afcbd2ece3a32042fafcd3d8873233495d562b769383eec21a67e560fa9691554ba28169ac1851aa3bfe66aabc4bde17055a2e4ffdb7a5b22b7f49bdeb14f2948675b52125be885e20df197249f650815e3b86640e4eb662e4830833c7b6ac58332e1f469d86d4319e5a8d808c32981703a2f98393de5b1747ef7a14bf2fe7781e51d0e4d79aef78796de7a418baa07735a7a0780c79bcb3b08a08bdc0036c2e53bea68c412d9f0e2fe73ff3f49f43c8ccfee0ffaaef0edaa31d9ed75aba1c616eb6c339186e0daa821d59b3498e9e2e3e6588975c65c2e8f4ffc16cb9190b041fc2bb216ac5574a861073080b4bfea08ea702973659cb511a9ea2a92036da24dc3237ad4f0e34587bb12cf95f09f2038412ff7 - -COUNT=35 -L = 2400 -KI = 0d1a8b0e326c58a25c44d601b1467d8f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8abdcce65f144bdc33309643a2998784f7a988a54af603e4567c814e87e7139eed842d73391201b0a28968dfe77506d4c4f133 -KO = dc840c72009d20c9879aa1991f20642970ce70e24c9d0655827b9ef9593407a800de9380f08b8557806eb5a5cb35ef1147c1845f833f686adcf825b7c4cbceeebb4ada9b413371dab67ca6881598af6439895e540da92232ab5b9835ab5214d5862561b1a9b9e1ca4ce9bbd2da62bbfbf3324504522536713f32ec14cc3433979278d2c35349770dbc4be39a37b856c4ad97a1123293868d9022a4e57055b4c9596058928eca3e52cf41e6f067e88b451a486d9864ebbd3c36240b652c1aea4f3ed41998dc3a2ca26755f5184cbc03b36d22fa59e7c5e5dcaaa5b61594121b531788a3e122989009d5088b4ee0629c00b1f1b06d0416e9fae14156445d7bc56e2b26a8732cc285a0c5b812735dbe43d3b7e4cdadf076146216da62791c10c83e64eaa29e5a8ac2ba3cad5f53 - -COUNT=36 -L = 2400 -KI = 40f336f9b774cedcaf8098ae5da84675 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a559b95681137c4326f8bb325aa849464f3e0414e7fe44cd4bf7ec62baf2b143e749694440f8cb517f52089506bfa7de7adbd -KO = d4d5cd92d5d2c24f649904665c27a39df6b2eea8ed21bcf01b9a10ad1af79b2eb39c3a5049355add090d176f5bc2fe8b9a4ad53680733d9e843a93392c144ae03b78e5dc88364902a1a6fe491f364266440c7e304f2ae335e307c0432cd4a8a638ee726a6d302e1fe0df327ebf685b21eac55e628345f589a0b0241ca0e22987b9f0c4e901ac923572a976d9da8ebedc6fcb158d68cd6840414b57b6a6790aec2ebba22aee80e4039dee57f1e3beb40874eee4ae21db7a7080a44dfceeb0d0a2be5c8c1c578a09d7c29a3c602ac02608158e893b7a6adc76bdeb73b9e8a95e0653b5f8eb54d3f594ae7ca79b17495864c2655dd4f830474c68cfdb4b655d1f84d89afcbef067397154d4e6c5c92d057e520175cd6f0cc017bd3798820e69b615cbd8be5d4d8839f170642805 - -COUNT=37 -L = 2400 -KI = 6c93d5f1a99a812319c4fcf9a005694e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c9cee50595d4f79ef5eb4e5c970f74c76b5c15d6d39ef85bb3a3b1e7225302f75e4285cf5b88273256fde4e0cc27e165a6b5a2 -KO = eab14d640715a1ac1374bb73bd8795d5ca08dea4e99a2be62aeacd8f3a162ac65ca452e7316067255ad2c203946614abd107153684e065260ed7842ad1511e07a15180c180cf9194dd3cbe18bdb2b6c280c58f3f7a504ffe41ae8c18394127bc1ed05e91f208bf5ad7b690eb9ac786ed00ce222c0ffa669552a50dd773eeec9ad6431dbc40a3fce9d48eae073ae85b3d420c45a6e4fb13f656bb206ad0980ec8317bdeb04b75e2e3a0aa0ea59ffc5eb0e252111285122d7dea72ff7c0030ccf7591da5b2a14028c554fde1270713fb72ca193bc70aa9a723dec7891111212a5d216fe0ed826bae71d3176c4be47637fef8bdfaef48a7cef951fe377216598bf99d9d164ae9265c4f2a17b52f61447d6166793ad7c35f6c59c6e2f6a999d8e3959ca2ea83aa21d05702ee9105 - -COUNT=38 -L = 2400 -KI = 4ec262cbd27d3b62f8754132ac55651f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dd7044856ce76f461007e63c0a63b0e0d07de9629d02d29a20b959133ab7b150b24a8f2ba420783478695c308f74bdf769c32e -KO = 289bb4b8b2c6079ec1a28c279d69b651cea95ba6f6c2fe12f6a02c407235d13fc0e76bd5ba8ba9b5b1c2e5cb232201e8c43c5000083b1bc370518f272e5b215db68455438ec4edfb036aeb563ec65684f45b7586e922cf762ed82878ee6ad92b53db6c12b0a3cff1ec87d1f2feabf87c16ab370ca9d04ae7d68804c9adc232ce87b59d749f968771e06ba8ca2abd9dce741b7e8bcce72cbb8513b439aedd73c9132c07ef61549f85cda2a98f29dac38a2171358532d6a08926a3373183c821920ded116f6145082c756fcd3143a1687bc5f2976247a9a672b5b77b3a715d112dbe269d72ac283335b3f8fbf20ba41551a52780add96d2f651edc3ef63c399bc8d3b8d1a4875ad03c80eea23e06843838903ee1a135c121fcf829bbb2e6a728e8f1eb92cfcda5e8162f2b069c - -COUNT=39 -L = 2400 -KI = ac3c99783d99772229ad5c162a2e5a60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e424638d6feb72c9093e92acf70621b9fd3ba15f681d4248cd98d30541c1fc255d11f3623759ade1e9f66d09664ee0941db09a -KO = fccf8dafbc53f47c36ad47b4477eb89138922aef2e8c2799b425e2474828d48d3ec3fc934eb8991817bb7b1ab6943b3f3f730d66b4d6e00c528bfa49ff0f970be22e8b697a49b6514451ddf6f924b6507edf117f25023731f166dfcb9851ae81e9d02cdc193d91d18b0d51d04f7b874fc6ff475e1e2c5ce0f0f2e4205b0f40d68e636a0140e766dca3e8d66f17a9fc1887452f33aae8fa0556505122b4cfdf4c80c6cd0120ec99a55e7c63415ad3415d760d1d255088c235eefde753dd23411336e1037a2b760e9fd52a42c1e8ff4ab046bafc663a4ae60e2934d0258b25f97a01bfcd3265dec0d13556d0245e0311fc2d71783681ce167df57bfd36ae1a42555d44d5e7ac1260b62e10ef60a6e9665126297d5edd5a73c0f6278983a542eecdb331938d2dd084a8942ebc7b - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = bd26df8207340331564af4fb10a66de4 -IVlen = 64 -IV = 0b4c909d8b10a3c4 -FixedInputDataByteLen = 51 -FixedInputData = 32fb2c9b95dd0faaa2737a8c4852bd78fb8c5ae8839f45369c665ee7457663477127645b7cd94849249fd111dd8a25b47e986b -KO = 7d0e19bcb11f81b0f79938405902ed36f3a0485c938b83d9b004477321f98968875327ee1beb4072d9e705a7bb5a1000dda4e87ec0704028a2b15554d59f5c43 - -COUNT=1 -L = 512 -KI = e2526272ffcf6d485bf33023b364cc5c -IVlen = 64 -IV = 90b0e94aecb3f79e -FixedInputDataByteLen = 51 -FixedInputData = d4a82abdee60f627dcca6a9c750e6df6951338c619b2a7a6f84b73ec25be079b342bb6bdb4bdc82228c9ce700fa10bf9b687a3 -KO = db669202ceafbc6672389bc8e8e32c2619e0d882d43b30b2f88966048b0bf14d844cf0f5cac8156c37f4305729f425dc33712c6040caeb8e9a64b2f42fa21be7 - -COUNT=2 -L = 512 -KI = dfa0bc4bf1d01c7998d0d68ed8533f91 -IVlen = 64 -IV = 4b6893327aaf395e -FixedInputDataByteLen = 51 -FixedInputData = 6e1d01946532a229c449d692c4fe0ac0d5e5aefe4a66ea1b0dcac689c214e35ad5994e786951ac7c35f8e257031d1a2dbd308a -KO = 5d31de1387e4bb760abb06dd4882356980d3c3b3b359051d1bf54369e403e47f8619f67c7042b6a1168d34a37eaf136c29d4911b4b8d6326ff9d34e2272cbde1 - -COUNT=3 -L = 512 -KI = 37d720a2b036f26a7f0946e194427fb1 -IVlen = 64 -IV = 91d62751fc976fed -FixedInputDataByteLen = 51 -FixedInputData = d58f2313a096889eeaaba7cdacc61dbc867f06e201abc18b2ce6fc86a59aa809be2a01d59872ed13a68429b657af93f194ac7f -KO = be0ccb60b9c0b2e8e03f5fb1e9e431f0bb6b1e29b0732296f636a0dea904fd67ee97fea3dd9d6a032379465ff7b9102dfdf865bb6c06e8a80ba6d6c8afe503a3 - -COUNT=4 -L = 512 -KI = bb42cb08fbfda6fd63cc222aad3d1d92 -IVlen = 64 -IV = 8ebb1cb4ac62e005 -FixedInputDataByteLen = 51 -FixedInputData = 7f4ab16f04e2e28e07435c817014db625b451728c8baaf1407a99d43e1feeea5c023a2aeb2e2d2cbe3ddda28e27180827df215 -KO = ba6cfa40f5aaedc5b75670349050a8a74c816ac8c9386fab40b7bcb273413c0ff7ad9ee604be26b0a9c881a8d05c7e7ab58e5826880228a586a9cff9922e6b88 - -COUNT=5 -L = 512 -KI = e54f75975fea531440719169c31b382e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c95942d48bf62e987c401e6f0ca33be555156088021e4b8d8dbe9568142ef8655d582ef04b511bd0c17ddb5536bbf85877440d -KO = ae04a1955e1bb94daeafa3850297ace5806ecbf03dc5571ce402cbe8704721f8886d6dca17fafc114c6699d301de4da8e8b12a41d93d50d5fe779e6014abe0ca - -COUNT=6 -L = 512 -KI = d427a03eb99e946b87b7ff4bfbb5e2b3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eaab7e0d8b1d9a746ef2bb02be023a569f487d5b8a39530c695f10720bde55b2dcaade64ebe231e6d088805ae2d6ebc59987d9 -KO = 71a70082ca34855986ed92b93a7aba34b4c331c443fb8d89b31e026491d251562593d7f2e9e9be570400f496f2589d49c7ea256b38b05d293d55d3458967b2c7 - -COUNT=7 -L = 512 -KI = ef8d469a39e1c494f54c17bf99799327 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be4ce13e8dbe85015023a36a8a8b098797dda0907b44465cdb843501681d29132c74100322a80fec3c196282d0c6f10d0c05df -KO = 8c833b2d53f62ad08d7474221ed101feb83a94645f97e3103f752e3332ec04f4c3cd6c22d75badc2fee1145fd61a89fee2249987e5214d7c110863f76f1cd053 - -COUNT=8 -L = 512 -KI = 518622f8cfd44c43278f633baab72cd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2de7c7962a4b0543d5659fbbf66c8a36ef989f3f2989e33c2c2672e68a55d8575842365c295af154fc47d6553ed3acbb1488e6 -KO = 5fa886e77f98e9707c4b4bdd7fa9c2555be6fe531dcd84c26925b0006b5e6121b2dd4c9f35de7349f55d3b3ff4a8a35013626a69ab2e4c31ade9bb1593e528ec - -COUNT=9 -L = 512 -KI = e9886be9687d1062a640779d42201728 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3cdee5b350c69baeb13401e8f9616a39598e64c3e21bd29d0c28f884bd800a358be0f2786dfce693ce47e800d8167d631841ea -KO = 2bdba2b376aa05d6347a9fa8106bb8e0aa0ab8c835a041e9cbc8a0d8d6433c535822df38d198a108edd5e137d58a4c0db7ab8f716fa1c262807c30a3dc0e8339 - -COUNT=10 -L = 2048 -KI = dad5e3d991f076c61c271985d666e2af -IVlen = 64 -IV = ebae6c371d0c4ff1 -FixedInputDataByteLen = 51 -FixedInputData = f1c39a28ff22edca323135fdaa255f6a73cbc8e4c13f54c47538400de6154129234c727e85d2e958e6c1c9f710e3f78e12ac97 -KO = 07eca0316b053eaccb5d61e1879cf26cdfc848b4bbcabcc80bc89c6cb6fcdf05919fcafdd2d1f97532e12fa77e11fd85c74f2a506cd10d85b2a56e6b12b6ee4d639513a738d9a4ccd52a7c4777a79b87cd1f8ce4848aebe4d029af9ab459e69d0c19dd4bd27f308aba81cd05622d4918bd508b10ecab8ead7c3d7a6b3e06d0d1a4906dee0501d6657caa750251f90678728f27d00bb35e0621698090a40234a2deb2163d44d35ba9ab48435fe7a727648919450d1adc1891406a2c8c382ff35e6e76d436e20b05968f5d5823061b1739d9512540ba563078fa3a8d9fdbd386602988af7cfe1c55ef1be1487127ac450fb5f42eefe0c16b6fad8de1b420fa82fa - -COUNT=11 -L = 2048 -KI = 611f75fe70fc2dc5c7f1132308e69dde -IVlen = 64 -IV = 0aea3c8c7d4212a6 -FixedInputDataByteLen = 51 -FixedInputData = 25443d0bf33246703e33ad5e9791c3540a961515094273e2dd587fc94cfc100fd3c395fe3fddcb63692a1d109f7a86b6667acd -KO = 50cce3eb2c424c80be044d8c6d20c60c8f33aea2651af9b3db2e75dd73128158cf14fcc9ad35e722e13819244e9f22e9db89f050c73ac8514bd548af99082156cef9b4a1366181bf6040952be5c068d9b2dc2a8b289d7e363317592cc8579d5ac535f8252836fa06c0135d115cc9a9654e772f09b75958fad3b50fa8d3ce6c9bb352d53ab9ffa86087d77a512c43abd99ce48a90f05daafbf48f6da9dc98303af223685600557838f381f103d7cbe3f10d348b076602558e70cea14188d89722f43964ff41fa3aa8dff2f303787ead48b64723ee109422152bdc924f931a5c3e23ffe8f745ea7a6ba0348820927fe05c8ac3eeaacdd08e3818857712f16fe389 - -COUNT=12 -L = 2048 -KI = 6617cdbb1a6fd0b4c36e501176670c6f -IVlen = 64 -IV = 77e9d140543a1aa2 -FixedInputDataByteLen = 51 -FixedInputData = 5d5ddd219b9bcbeef15c94367e9a61eed1023b60fd94104dcf287078d76b7b1544b7cc0f6ef3114ebed38dd802828e0049a4cd -KO = eeefc104f1b08893298579df02ec16531cca721ad5adcd9f8635e38d3fe9c89a82cd44d56238022e5438a52e0724922570cae3db063bdd84fab86aa7470ae2fe014b5271046e846bdca3909896bf8bd305c301684036aab6704fd11395859b2f9fd655af364fe9351bdd032aaccd4e0c76fac12bcc768f262664a0095dd7bb10707e4bd9b4a7306e6882640536119aa556e07a4427e885cba42c74a723db3f1c43380f8f93d515439e491d2daa9d61470e3f8a8214c85b7f236a577dd6fb380430418c3002200f8a47b0c25ec20a4e9c57f7d20c1fc2046418184aaeea96d8b754c5f939bd79f4538ff534f08605da32dd9c544620f3cc4807026073dc7c3ed3 - -COUNT=13 -L = 2048 -KI = 8824417be9c7cdab09837ba88f0655df -IVlen = 64 -IV = 42d14cad44575d8e -FixedInputDataByteLen = 51 -FixedInputData = aee710f26af5afc0fe12ae003e0d9510e40f62d0f70a8a6a0b8ef44f9833d423cea2fc8191b35db57e6e01d3255eb4703840af -KO = 7c24124e6bcb0d924dee35c36e178bdc2f001322291bdfc3040fbae0eb5838a2301efc3bc753fb9073acf517a7aa5d2fbbe3ab63b553c05ae0fd95099da6430544be386aeb7dbadf1f67738d53b4b37949aa679d25106120d8f8ce3b6a7ce6b4a70c6aaa1502c0db146d482ebf38afbcef768f175666a9c0efb76c994ef8fe48ac94e82d9fcd6037f7776e99b1819105ab786d24b883f9da57725c1a85670405591c38ba72821fbc90b1301e66ed4282be878aa999487d2c4b14086eafd747a7cf0f195e7bbf4829676f3a26592cde32fc11d36c61270d17128f9c0f57bc832a7383da56f0c8328db8b6b8f9e2cafe44bcc5f0873698e5c5e0bc917e668b0a17 - -COUNT=14 -L = 2048 -KI = 779e24cd7e7d9b092c7ab58150cfa568 -IVlen = 64 -IV = 33ec0e817ceedd8c -FixedInputDataByteLen = 51 -FixedInputData = 0bfcaf384fe2a5659c8409840188488fcdbabd02d97a9e1fb4c7d3b5eb0fb170bed1c62ffd2b97692609c6468b486d09c34557 -KO = 9a29b0069c8369302a9a6af520b9c6a4761ed3a209f538dbe8db94381a6c62f6d9aefacbf36852e2afffeada50bd81db4c0fbf15436a82d65bf12324d0225f81f2ccbda4130c66e1e7b5dc5e61eb4e0a352ab3e4c00f3768121ff059bdfe127c8bf9d7a38acbadfe4b1a974c2502f92b1a1d110730c112844d95a3d82ce4f77e4fbb907103efabf498fdff7af6b386778e1c1deecb15afdb85d09bfde8ef6e11c4703d6458a477f52bcc4261088b3be80de25a97c292b3b6aec6be755b755838e1710be9ea4e44a513a169e60a00b3924d353faf01051e08bd674db7eb86d79b214bba38396ce25b0ea668527883a23e382d8e65972b4ff14d0d91e18cd3a570 - -COUNT=15 -L = 2048 -KI = b89aaf4a8d4ea570d9469404e51d81f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1477a87bf36f7323adc476038d22a0dedff2c5495877dd70f3afe4e1473912dc9630b58bff7fa2d66b96be2fa5053bc2a917f7 -KO = 45345e708a7eb03b7cce781c5deea3b45da24f2f2b4d609589b0ec5e81d20dcb9e55cea3aa926cdf0a93dadacfffe2173d35cdf16f49e81e808e9003d4e9c835cb66126e4ed942ec9adb8f157641aecc99d9d0e76fa98a492bac76a7d076073eff85fe393f34854b61b153e89dd9ab73b378721f468bfbfaf1954b55904aa6853b370d55f2acb69cb92573bb02c74859a1b915c0dada120eb2eaf8a3c687aa900fd6549c814d0d0af1c4d9e72abe49b4df26fdc9e03575d4c8fdfa73368731b3947b4f00168c9c2d10584a6a56389225caaea49bd8ade2ec95fc74409a22bc3d904ae61d7d6fab1e90d5c74cdec04d8f581f6064df63dd4501d08441cbe695d8 - -COUNT=16 -L = 2048 -KI = 8a9c319bb560465acaac9ddccecd0238 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24f049ea150c66d8b2e0dee7861a40997a5dd22485f13e66739d744965548e58bd22d5d89bb75ae2a9452474bc269b63ca0317 -KO = d0a9aafd17c1977ef094556f1d2006a48b03bd272d038bfaee41b8cb350ed22a2c22c19410db3fd6bf758ca5fe6fec99421e2535f8fbc81349b1c0e42fed33b1a5d5a6e0bcd7514feb3ada26cab1c4571bba8fd3d9079f54f99fec42b579be996730df99415c324737b47d879e36cea3cff2bf7d6dda918d94c15b2bf135446a83a0fc382c5182b01a12d4bcca62295d7697aa59e8c3ff2aff0bb740c2fdc90975bc103b291ff84ab4bea1b03e3b3b0c5d5d8ff7b1cd7c89a27538621793e07878de6ab138917b9f84f1af0661e58dfb35010a5b3d351916df7f7a320b8fb713d1677cc228609a6a7403e998ec9c1326f0ab7469ea3edc00eee9d45dc5837ea5 - -COUNT=17 -L = 2048 -KI = e95ecfc167e0c05e84d45b790be0c0f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e15e2859cd4a10c4f048393254e13381ec874b60452429b22dda61969a0e164a0d97dcc52ee60212af3f22efbcd1146dda78b8 -KO = 2e15c48c8614a8a746c5c678a9748be13fa22945a291199cd760283c1d5b4d924fd64c4153482a6bc2df2e24a2df0bdf96b7c9657a1e152f87329858f02390b246540ca3444a8c53932bef96394970d56963ebfb30e2da8263e60f92d5aebb3cdd5802a403cf83b02380ca21576cb38fc9c8f801a21f573f2cdfde82a630f2ec4592cadce2aab7719cc5407f432b7e53605994251a47aa4ee9b3289539fcfb03122f2e6e62a0603e23d0fc5458b8af583e28c046f64acd2e89a5f562edd183ede53b1fdc4cc11d7a994c3b12cd05d579c1bc8273b52b2ea79af0aec15866a2f2826af660cbfbce2fddf366e2756521f532bb75573862ff94cde5bd9f7358cb9e - -COUNT=18 -L = 2048 -KI = 3b123af02aa68481fde5859178b867b7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a1770cb47562fe85e06d5aa0142ec9e73fa883bcb3655b483e9d12ff432d2f65347ec20271e69d21207cd442ffb7bbcb91e6ec -KO = fa7837bf9c520821ea5d368593048fb849e18cd558ae85aed733e6091ea5f766a2d5ceb26b3a2e971fd0cd0a3578dec17ba0dd2ae4b732e140fd8c46a4b613e42faa4c2e7fb96743e552ff87141e3561bd4442b7caf2f19215269051570c6e8d48020e011f48be41897af5216c2d6410fb77c9a6421af6d932bd5a9ee8643e0df2032547bdfb3c6863d69c1c8a03b814600bd12b0140970ae108c15c43517898ec35bef3b185c2a8a01c3bf72378d5d82ed394c7fc9daca5cfb638642beeaecea8ac86bd2977ffe7e09ee9a49d377d00153bca80d408521d79a28c2fad50e2b07b3440f10080d78ac8b3485bbb2c6bae71a9dddaa7dac2ae9a60b22329adf04f - -COUNT=19 -L = 2048 -KI = 48a5da5636b5bd53bd8bba28e6b5a51d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a4579b638e19bd8ced7f435878871ee57b15ff0f624b6fe97b5a401fc0ca327ce9fe2d2b9d6563a40cd17137cd6134aabd45a -KO = 7079c9ec80a06776ac22779c4d1f0a3fd2f24dfb6961debf3f85257f1a33e54e58e43903b217056c3c4ec385901bf59ded588986adeadaf236077932d1bd0779d47eb3bb91aef8f564cfbf68560ed6ea9b47b27521f59a4623c48967300e379995e4646aa3e73aebdd5e3bff7a7da1761cc59454a48ba9ee158979f6759fa02380adea9a21cb6cb11e8a90ddb901e184befede7f0346732dc9c03d2a919114dc53dd1204243f191c2cef91015be25c42bdfebe9844290761978a918d9f434c53326f28d2423b5cc0cbdd7ad402323b3c6f74ebf701afbe5db6af6686935a5e2d14e921ad028136a29aa9373aa5016bfbea8e7b251856a7ef3294e745be84418f - -COUNT=20 -L = 560 -KI = 61e6be79414db1430449d79a857d3e58 -IVlen = 64 -IV = 9d673df991c54a6a -FixedInputDataByteLen = 51 -FixedInputData = 6611337b5f649879e953d1125e3751a83be4dcf89d2bc3c8998562148804f740096435484cd5fcc6b74173e7844a8179863716 -KO = a439e3c574a312abf61c668bc95f7cc92c2bb7d7649599d8a09c6899acd5e84b38b568da8782b8902fcf016e6d22272acdb2e739d4a78471f8fb7a829b1266fa1896adbdef34 - -COUNT=21 -L = 560 -KI = 587e74c8af34f9c3736d577f124c5965 -IVlen = 64 -IV = 5b173676567f5b7b -FixedInputDataByteLen = 51 -FixedInputData = 3fdd4f8866d77ea6b22ba7c51d35864e6d5ede2f2998921a2ecd17bb8927fd39eb5a8e6a84e2033021b13475ed0c324ee60c79 -KO = cc4b43af2e4ef1a8a1df2a4e2170466c16a02a2d3bf736c80c802bda14a87e7d824ff8f341a41e79c63b9a95bc56cd6e2f555a3fde4ce58a8b113b7c602b873db23adce3dff3 - -COUNT=22 -L = 560 -KI = 2da949433039e9c365df978587796d1d -IVlen = 64 -IV = 8296807356f4bc32 -FixedInputDataByteLen = 51 -FixedInputData = c3fd14bb2a9f31b049ab21d41ae562909cce2e476c50ffb14d31fc2f0dff8bc105751228fa47de1516be9311a2a0f7ae7ed6af -KO = 32b044fe8b2930fc81381eeeb864d985b4580af610d4ab9867cffe76b2206431abf31de3267f9bba99765f8e67e7781307f98017fc4dbede36969bafcfcc6a4a98cf46dd227c - -COUNT=23 -L = 560 -KI = 928ddc28af7aabebbb0c86b14a2d41c3 -IVlen = 64 -IV = f2368a4260a928e8 -FixedInputDataByteLen = 51 -FixedInputData = 2c24f42d3faeb41b44033e0db692f38f84a6a174f3064c4a7661abc561ce336473a904ad374ad403781922887404472366c414 -KO = 853363860cc885022cd38dc799d70df7e0efc98deaf51a116ab5c0ba66e20fa6b74a258a38988a6e2962e94f248fd60d7b0c5b27329850c30678acfdc3bd28dd9cd37b9bb535 - -COUNT=24 -L = 560 -KI = aadf89df066149cbf38433a37459d9dd -IVlen = 64 -IV = 3ee4391dd3bcfee1 -FixedInputDataByteLen = 51 -FixedInputData = ed0590bc29445d9140942380b2b341a746efff4be5ad2e93443fe44b81b4474ac3577dbe167a7eaf54408b9eac49d73ee189b7 -KO = 6d0363805cee1f7984418de62acb099dde3fa470ecaeb0fa1baaa7aab16ee86eec611fc81c70f97066149734378ab752a7f815c9d75abaaed416068be707868a0d5e35281a87 - -COUNT=25 -L = 560 -KI = 55092e0e1cd6b121de571205d9d0c227 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0fa38781f9ebba9bebd41966d198841cdf94f98ab11a465abceee2b9a866cd809324a5c5e56dad25e91ced4d09475766a9ba95 -KO = 4438b10d16c02adcef281918dde5db983514211244b338a9c79ae1b2d8b1f2e31a8b527bc239000c089ead52802f3e40e9aafe1153deb6276ebe34952ff2e46c3d68111bf317 - -COUNT=26 -L = 560 -KI = a75dea096e72f231a498ae304c60ae80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82e431055269540e0e3e39c80328ccbf1f8af0e576d933b0ebeaf79667900af923df53b4118aa5b6506ddfc3e8f8b335d412e1 -KO = 6f9fc2592040e897fb032468896f1492e1396b00043b505446060c9f18a02b895920ec589d49460394af8c96a15caa74c4f96d61f524e9003122afc8dca6558f1960867edd2d - -COUNT=27 -L = 560 -KI = a1435e634c6a5805612ec4c7dd478b2c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 883da668ec73cc5a529210a70c3042552f55142da4c1ed14ffbf1b32625e57669d53fe82b844655b931e24b26f55c6920929d9 -KO = 66df2b9bd71621b3d58e9a75dd4593cd5f1efe41d85b5c654788611563a2ddcf36d33f4456b095d9180576d2fe26808c1ef1729a6810302d40137f2bb8ef27ed5acbab90de0e - -COUNT=28 -L = 560 -KI = 0053a1be954b548d929f59b01bcab24c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a3cbc4e8974527469a39be50b37d856c8055e030f733c82f9c712f15d333a4b3edea3e8c864e014b50d048e171e6a55dab8fd -KO = cc2ce8d6688a9de0fd6f73c043b5f52470b4a98ab1cd8c0a95cef8ab65b0955b8937a499188153d646b8522ac4cd722f9a9b5fe2d0d6ce7cf2ed4183543181bd38f8b6098e02 - -COUNT=29 -L = 560 -KI = bcd1cb1abb3ce8c4fdec5593891153cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b89d9a01198e62f67581870cf71a41f8f883b204abd32dec054fd0cffbc827992eea03800b1a55252aa567e578533a3faf7c4d -KO = 957431e5582ef053696c79ff35a333a3596cc03878ef2b2cc432c60e8cdb64b940cf112417d461524ce276b86e6a39f9f011c219e0e38baf3d48afe99e9f371d82fc4ca96b42 - -COUNT=30 -L = 2400 -KI = f37f9af050fac53b94b606d35ec3cbe6 -IVlen = 64 -IV = 28695ef78891a47a -FixedInputDataByteLen = 51 -FixedInputData = 680e05e58efe606a419bb1eb5076eabb148424697dd5504672ef386405555af28b7c40255f2d7607cc9af2d08a6fd560af75f7 -KO = 67dbc0be490a0a7246ea67ac6e9132f033e5c6d4d076172914dc6278f4e429817ec85149b4c3ebc021ef3fcd836389c81969bc3ceed232a0971dfb0e6d9947ce4ca2d10adc1c30aa91caf7ff403aef42aef3d02f79982a8ab5ccfbe15ce78d3b0babf6cced0e72e2cf6cea1125a4c072127c6fca7bfd6bdf20b78b7bbfa3591eda91f4932868e047881e9e3388a8ef189a030b65ce0541d505809e13dc9615b47209454a20dac3c17141b5a68be1e1bf99a9b0d0ec5ac4eedbefa76b7ef06ea4af1d017094161458ec85c0f2d7b024dcb613344859b1303bda5d3cb95157a7102f34a9c9875ed14912f526e99209c9f05d7a3e88f1457fc4ff5fa960706993e16be883c9b69cf82624e66127be09c979ad575acb92e017dc0c5d11f686a95aa20759e57dc6bfd7280b56a472 - -COUNT=31 -L = 2400 -KI = bd8e0683f49d426eeb568c9aa37880ce -IVlen = 64 -IV = 9b438aadef0be378 -FixedInputDataByteLen = 51 -FixedInputData = 8e5a46477aeead5d75d1fafad986a7a84917d4ea0c798fc6b12d38ffafbe595cc8e8fff5eb118bd829b1c6503eac26b3131653 -KO = be87baf3e28096b568ceea8d7eca82413811870ff304cef6da9817ccabab00f80d36e0393b62759ed5722c6408d055ebf90def724efa6c0805de8390e33d989ad1e580cc583088abaa503b6a5b58c18381ca860c90df9cc3f19809dc6bed60121d11e01ac7cf692406dc17bcc835b59dfa76717d9036b6f00ebd3ea50432b692b2bffa2142cdbdbcf754e189066893b946895f2e01dab72ca4fdb5fcbf3ceefd0e91b12364daad48d62778fc94cdabd44ddfa5ed36dea4b488395feae3d83cb421e44936cd38731cc30887c3b0291a16822bc8b3025ea43768fc89ae4c46c4b5155aecdf01e48301f7b130fb7da06ec62388ae01a91734e1608e513f701ba5b1c1bd8780b0bf609062ebbb85e31648c54c1aebf9189701bb4c7009a77442f099d0fd39a174be8077fc77c058 - -COUNT=32 -L = 2400 -KI = 454e4a8c6e78cfe114d1d43088a4bed8 -IVlen = 64 -IV = c941789abc8b98c7 -FixedInputDataByteLen = 51 -FixedInputData = 4a7a910366fac7be11568a872415aa614621f0940424cb17d437443366fe16102f25041467232399e2852d29083dee42f8c5a4 -KO = cfec5c3a439df9a4003bff81346dc8b69a40574c84bd943f75f7a8390fcebedf4c27fbae48809794425729bb9dd0977c6288b42ce329d2eb308ba35c4d571d8c5ca1c2e824a41ea2db77967d4b8c007bed7319e43ff5b0bccebaf981bc11e291c694f0bcf9241cc2aeb51ed25c2fb9c857e186791a6023fc3a3714b3f87400cdabc94cb63f49fa3de728e158a022435421064fca59899d87d3dcc2b1887b40887b8baad241742be8eed4bfd86c75ec6a58f5878b19564c144fa58dedf40284c706096d02874f638e36916018495d99d242689a9bec6e25c60dff87f9fe9ccaf12a6c3f98450765b3894f4fc676ee1a1d5ec34b1fe935f8e0ab555c346515724b383c1399aeaff1258905888bd483afbf3de0ad991cbef4a8c23bc6ee35e437112667f95ea03da61aab065d78 - -COUNT=33 -L = 2400 -KI = e602970906ba287c00cd6853f7402f43 -IVlen = 64 -IV = 1d4809a33a8bf581 -FixedInputDataByteLen = 51 -FixedInputData = 51b59fc50ec126a625e1d1448071e6535037cdc1b60b99ee8625e90188d0423fa0f870722b9d5bef3187275391c30228184f44 -KO = 90c26ab58add7e2ecb71aab95d91cca08f7d2fcaa2bfbb6e46539cbaf7b2243a22ad3cbd33dddb4ed899019fa06753ea2c1ef88036f275947caa7431a81e2a22d3197951ae27599643fc5574f73f86be1bdfd22369c1395a239091712a2562461aaab660fadd8cf1f5a63b2f1431e8158019f8bada301c1fd20bb6a3a4353b8996ecf894f851018e17dcc464476e332a6078a1012290ceb1e70a58a98c63bcc362ce44dabb3fb37fbccd94c5c05df672d3849c8298cbbac229569263672bff3aeba7f33fad22c97586309b7d462587b9ae86e4dcbf5a8d7eeb107e24ee24b80971c0b0ef71f0df7eef7c60eff035879686f48d1ac666cde847c3e56248c040540d952c6e2a105cb9c42a1e50dcf668481d7faaf3d6b65ac29dff12f00a932c9347ce598834919b9408101cbc - -COUNT=34 -L = 2400 -KI = f2999a262175afb7fc28c496ca7e9d34 -IVlen = 64 -IV = 11e8985c5c1627c4 -FixedInputDataByteLen = 51 -FixedInputData = d1fe8fe689429b7fd6a6edae504db4b6c178e732c29346bc9893a736ad22afd898d62392e2daf647917e23af29dfe5780ec49e -KO = a51c9bc26bccbf798d7bcb1b1d6e66d86b4a89c9d46f78279e3812fafc003b177ae99710821834614204220bff90f5c74f5c8e71746ce6b8bbbf20a31f8f466ec17dc369b3a20c0a05d644dda2a04aa94410e89a59329a6f0f64fc539af59e9c985a3c86dd1517d0cdff93f1b41d75454a29c4498e67f4838cfdcfd27d334f5a510bb68cfbf268c62565947ff8c1692b5ade2d778cde0372b47c2c29266484a0ef007f0f0b468aa03dc783ee77888f09d34b9180ab61f0629bd1570f267cdf04a623db0fe89754f12540f41290fcca906884871db26894b9e77ca662742ff41a82b8a6880a839a0d44f7b32de45e141232079b1d2807a248f1b34d41103c50326be6a94f355ae0582d4cbdde920255b90ca8918f3cd5477c34837ca9750bb81413f237546bf6044cd6a23844 - -COUNT=35 -L = 2400 -KI = 8069614e58d970311776850807da69f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8b0de7e1c66aaa2c68fa88ae3c0dfefc0c2299ed27b5a19724216b7eeac056678ee9e3ad4099968d3671dd5fc3b396e08d7e57 -KO = b3086466605b13c0be09c25ebffa4e8e83fb32a0b2f69701cbfa545959fc0a76099157ba874a33a4ab02abbd17a24eaea16e78810bca0239dd789c6d1e67298155b8d1f234d2f88097325d44ae2fc1de77d66fa0abc6f5670416abde8ea267af0bd663ef4f9db4d8a6da8c62123c0a28fc7d304857f23621dbe07ec0397f2c6456a8d21ec00f4fb1f4fe320602db15db6f625710bc061fc66938967d2a0b82e022c50405f339553755974e80e428576d7f88114796a0a1da50acdb17ee596f46d93ad30cc680756474865a8ca998ad7f9062644d79535791d4ef16e42dfbc518cc65cc6539eb1bb266d00e0eb228f7d45f02172a7ae9599ca5e714712911f2e475d951784c59ae2d4b11e857ae0425bbaafd4b0f98173cbe221a8e851d05bcaa64acc48f511a905a84b2ffbc - -COUNT=36 -L = 2400 -KI = 4427bd47fd734dc0d343e17d1b676c6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 242f488f0e2098123ccc551148a80c64d6220e92cf1a38323d2f146574b1d64d9055e4d7c5e00932378b7bace1865453fd73e8 -KO = 6188bda9ddeb6f64ff62607a10db19d912e86f3918a1174418a3cce3242334ea231428f569c2d1e82057c4b58665d80b858febda59ef21c768f9c95ca3b2eb230b44d30b1738bcaf283a1f12a079c001fbdf5d82d864b3d0df9cc6b7bc5548322259c200227e0e062af6c7dcfc5e9a276ed575810a5165cb4b9a6b81e4efb43adf34b227c567c1c0f42d7c4fadd1793c2d8f3a3e6cd7f958b825d0deee2491d9c7dd5e7ffdabcef8400ed40055f1528c3ec904d07e7206fab1f75e6f71cd17e05320805bd234158173eeb0cef91be39844d139502046a0911813f0237047167fe7bf3c8155df398189c13b2440bec62044fbf0743ed7bb5c29cf7b358896bd5dc7eca43acf5511d6c2bba6f4258818bdd984faeb049099dc39d1cb1d3dba9f665dec3b5238d20ab136a89059 - -COUNT=37 -L = 2400 -KI = 32de9dbac30d4e69a56203937a3e0447 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0512a235e8fdb3eff3709bb1335c38923edc6f31989d28572ac998837c222e568d50ea6c103e7698f009908fa76f1df1ee0770 -KO = 13ba98f59f140ed4438def1b991c0c90c6a9ea55c39021858de26ad902d86e8aee74295bac36ca820f2d51fb1842b6e1ad7a8ffd637412ecf80398a93dc3a0a111b4850f171e02637536ab0de37b7c8682df5c1a43cf19d665a1d46f54800b11cf2c9dfea99d170f880ddcd5f75ba98ce2afc2c38f8c0a04610a340113aafb47f293f84eadaba71200efd26683844874a0e7e4895eeb38346e4ba7335949c3d8b50e92f1ecf6210cbaec183ccf61702d965bb63a4121152c4b538cf4296260931f3e9675ef511f02eb9ad26b65e0899a0b16eaeb567564fe8aeb0fcd94697ef8ef29c93252e8ed092dc31168bccb487c1c59bf9967e5b83c50285df45c28850202383f3d71723035f89409ad64661296baeca8eed7dc66d5dc191af57735fe9beea18958f27c8e8a63de70f7 - -COUNT=38 -L = 2400 -KI = 79ff3e21d945f4ffb48419cc471a05bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4758345a0b07e1f25901e15595c1d75faed947bd4dba63b957d06144c9fafd2fe38c2886a3177c81a75c8d436ac65ecd1f2cf6 -KO = 0a1d0698035fa8913a11c422d281ce03af0c6394cec16692afde344150f455333c8c4fa398176c93e8b0de41b19710108022c98cd1cc791271bac6795505c1c36263bfe317d8e17d62c341cc28354c8e879677b0851f53b509c47adabfba9d03a01614abc67484edcabf95bac4ebdc8a6c3f185531114a2909c2830ee19bc584cdc99de8c4da44818d1c78d8a25ae6ac4f031936b74e09e0168405e1a6cc7aecadf2969e9a68d9d2ffa642dd2f0a582d197d3114f3f4d8343d45a882d3e0542711a0123b88f8bb59b2c304609e8736abb5688ce46cd42346e1bc83695a3361bca2f62be147996c4aacb888a41700465a1089a9c644757494090ebe30c53b9194afc9f138b27e582e10bec27c9daa8292c815da66e433682866758ed3a6faf160e28c7c537ee26200a4e14122 - -COUNT=39 -L = 2400 -KI = eee46433e563bbbcf59e9111201da99d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8129cb2b97a66dd7d8fe645575600b788e5962e7036eb705df3d1997f81cefafc5622dd1fa27ff14d50aa3615905db89adc1eb -KO = e545a2e53be73f888a05035bd463d565c00bcf06f892d4124a307088abf3d449372e94ab8517f1b09ab006d77316bf43d2dc9c80a9fa2ce459ae017abc982117efd04c2368e29f7a28a9501238cda4a6778a73e3b2e3ae7d463d645c125b72d065a3610cc99300f57c16d7691a513d1a87736b5cb0bc5a2d54f4b6eec240a4b96b63d0ae6dd1a62d62834a3bac5ceed7819f72164355798ca02b7a6425d9d1820bebe7990ca93d413aaffe8ec5e302e54c0723d18b3c723d437d2b4edd0f53e8f3fd7b9818d0cb3f1c351e5cb22c9912520b17bbfde152b8d4ae197fb788afe91490dbc4ec0f8210ddeffdfbda9dfbeffd17e368fcf27e5949d82327777768d993c0ee28db8b7a2a35b9e658bf71ac0dc59b3d3edaf99a26fe73968b25a2207914f6d33a6210287f26842f97 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 9aab3583e9a5b062c6f3fbbb0d817a15a9cf1afd8a25c058 -IVlen = 64 -IV = e2433750582a0ca2 -FixedInputDataByteLen = 51 -FixedInputData = 42944726554ebd69bd6045aa56bd96bedfb807211228a36a128597a6c36c7055955df44d5d203f14d82ba5632fde789d600a17 -KO = 9565bfe42a759b96a41735f92662c00d1023dc424b56911e27a718550f902752693018ee1232dfd2ab1adf3c172f1216c45d4a38961d9746e34ffe2f83b5ebec - -COUNT=1 -L = 512 -KI = 1cf5d2a8fe0f736e32b4b35f7cb57290a9105f7b968ef0b9 -IVlen = 64 -IV = f705d6f79a4e87a4 -FixedInputDataByteLen = 51 -FixedInputData = fb9c183b541fc8031e392a45876c79d2493eaf071c64f94ac08959620e303de75878e918a7f561bd3914f54f3ac4bb57dd3f63 -KO = d9eca51d9fb0f6bcc1a4b523dff9e448e983b2ad156b1cb107953d4dddcb848a6b4d095b4e078995caabdbf7c3fed36386dcf83c825d232fb4c6acfcce490e9a - -COUNT=2 -L = 512 -KI = a9390e20b46320456d33b01572be188787df062ba6e63fad -IVlen = 64 -IV = d4666b695128f5fc -FixedInputDataByteLen = 51 -FixedInputData = de3538a9c97a2b238ed4cdad11fa398b8be9623b75a4e95df26d6607b1b8b0a65c1cb1a6f9a4eb9637cdf482f5a79287bc4262 -KO = 35e49c3e337cddd2fd06db8618edc541ac272eb9b3ca2f370660f3578cff51c085a63bd7edfa5c7f454084f9398c904e46ecb2ed89b7b5542ca5aecd25a523fa - -COUNT=3 -L = 512 -KI = f312fa3e4bef14d12872fd4e1d91febf0c13b8dfe148ea45 -IVlen = 64 -IV = 9d49904b16f3dca8 -FixedInputDataByteLen = 51 -FixedInputData = b5a870e0fbddd51cb3924ce2bbf221feb0f0d27412577e6a240a003bd326bb6d341db982fe31ebe56f1c38219708f11d72f664 -KO = f2e6739707285ca03a7b056b648798cb3d44ed217f53a5bffedc871be31e6d365ae9a65d43fee43e1d9a020f1ae5e0f464870acdc4b9239e28109581f3f978f4 - -COUNT=4 -L = 512 -KI = c247421b3602e656e460feec50a7e8f2b4b6203ae4ff2396 -IVlen = 64 -IV = 9fd8974a71d76661 -FixedInputDataByteLen = 51 -FixedInputData = b0796a691f0c1d82dfe32f68dc9bf6a3c24c8d24cfa899e5fb6ae1512807529b5dba569bd427cdeb4420f6c2f35279298fc193 -KO = 5459c8f7167f1766fedd67ba4b0418f9cc1037883db68a1f2ac65ef1b6fa962958347b9f8fa5e3e77b1c3112f39f950b8db119813fa46aa5c04670a1938db0ff - -COUNT=5 -L = 512 -KI = 7449cfab830c5f507107a2e6e303412fc75ee5e822c094fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 17eec731c9a49f758c248095bde4415e14a8e1dd97ed3279fd3417fc943b959e088b59339b8c998c4123336448659d9ca7d9fe -KO = 4edbe45543beae7c17b507a6d048e22b6f21c033815afc4a80a2820abcce12ea9903ee7c3460efa93e8bd2af645b36d83fa0dff2f8e4a095c9630eea4a37ab95 - -COUNT=6 -L = 512 -KI = fb69f1e7fbc5ceb7343ba4225702b17402b231baad7f4c8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b37d33adc48238c62c16686a699a1829ccd85639c9d7b70661990f88d8f608d5c7919e1c8fda6e98c732e69f96f2c777776b2a -KO = 0fa520064fd30a086fc7c3b9ac330b288fb491c39b217a49e137d7dbd69c6b466fb1ccc10c320b58a32de36a961b28bea2a86c64408a6a2fe52b2b9ff983f2ff - -COUNT=7 -L = 512 -KI = 29ee46661abd2c2a5af7679d667bcdeb2635bcdd4c683fa1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 163f46cdd61054f396011abf4afa3a9185df5f31ccd47d24b16856330dbeb48f4402d0a2627257e9267387edd9cb1415aa07df -KO = a64275725d713126a4c1eda2f32dc6a3b90728ac2eec39de2a5e18e2fe1256eec88542e18758a5acba04c0e20c8f93e2856c82c1164fa74d87e993b1854b32b7 - -COUNT=8 -L = 512 -KI = e410c056109cb2e1b525850e5093b8fce77b93f66f3bd931 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3024a6fb16430478edbbaf2806edf14ffb67d31cec8388cfcf8e733b0fae327278c2fefd45032e6fc821799a7ffd05a9f1d5f -KO = eb9ad1c8e13b770ddf710924f8d80bfd399c283bc0018841e9493d2fa4f70b6027db4222e78056847e89d39234482dfd90346c5c1f61368f09c5dc982e4d1c4e - -COUNT=9 -L = 512 -KI = 68c8c81e38c328124037540b4925267679f7d52b5120a98b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a1e710dbfaa556780f7a18fb8f50185751ad94f7b93b55b1ed949f78be788a072bb5f47af4da4cf188c0d7c880d1e7bfaa16ad -KO = feffd386b4e8ad239ab905517ba3e25df8e1a51ee46438bd0ab3a9e2cefb51f0faee61aea59688505c2b831bd813a1a2a83586c5a473b342225cbb70eb25acc7 - -COUNT=10 -L = 2048 -KI = 7d4a339c72b40b73d6d469adb7c9fd5f486bf30e2437eae2 -IVlen = 64 -IV = 323b8fb2ba9a5abd -FixedInputDataByteLen = 51 -FixedInputData = f4852671b3c6ae13d218801c89859820c6900ab363f4c5def381b8374d6d9a4f04a392218435093aee846d9ab79290892a6b36 -KO = bc764ead5841df5c19fd395cdebd870dcf73e473c66e8c7824178d4c8fe1a951fa777a49a5f55f6e99484b24aa727a99d398d6d0c9c4b7e6857a83285146c741e782bad9b3e078553f182f66d017c9043356f41f25beec0232d756d15e7064a497ee52b9efcabd267a566293e64a48e99a96baf80792301b14aa0268a9b4625328dbecec60dc0db0e37cae0961e98de905a00cee647ca3777d771c1b9806bd8b0c375ea94ecbc66c87acc7ff4a4acab23c7fa72d63e2d9baaf075ba562948fdbb7e7f1283c129f6f8b0565a7a1d389561ced49bff911afc3c07ea9f336672c729a011c4fdcf239e3d34d15e11afad2fdf28cb6e38da156eeb4bd1007a57bbfa6 - -COUNT=11 -L = 2048 -KI = 9225991f60b1c8a7646ec46df84211f6f4a4a195ae72515d -IVlen = 64 -IV = 7e28dfc0078ac952 -FixedInputDataByteLen = 51 -FixedInputData = 67bd52d97c2e042842331be2231f054843cea29c4d8001fa32ae29f104d311b2eeac75bd9bc785283f18b0db613b02ab824685 -KO = 3910abd5cb1c6d649d458d18419c8ae6cda250e8851658ac4c33944c2a4cef658d483cad333876fe39cd00357e8498edf883e8a588bb10cf0a7dfb790549c197f46172c39d3c0e32d116f8c2074e6faf06b78a18ba906e688c53dacd2bcbfe83769b60c7f8be9a6cc1c83c9cae85025a8ace4e254f9496eef43c6e8a3a24136905281f4a8eac2bec4ed4e9f659d97070883eefb64282be663a8f4a8152e5169b6bc19821dbc1ff7f3a071535feeb03bb313986460e212f2b124dc637c098dbaac0c52a36dd5f77d14731e9e687340b88535db58a3d34187929e24f5431da7c16f5dbad2190bfb7ac9e2416b3829b4ab48c8b085a91a5ba7f04fab6b6267a6902 - -COUNT=12 -L = 2048 -KI = e6b3d93f1653bf8750c7701e8204825c0a2001bc5b692730 -IVlen = 64 -IV = 1fa1ecf3b2a74516 -FixedInputDataByteLen = 51 -FixedInputData = e2204574548df19e56bb6deaaf901b50fd729fe1c4a6a6ae4e4370586e8b1d5aa7a370fdcb9d83423def7fa92b417a79548faa -KO = 330be59ebc7753ae6893a0c6d2e541bcc74d6bf05293664fa5803d6a708a349b46b7f7b53777d2cdec9983dd45fde49c3fb87c554b0e05534c5907857dbea8bf9f6de36dd031f9ef0270794551e7cc19acfa1e9c9ac657d88c6390f3f1e8d924fbe6cc9408d216fd7f3d779082d8bacc3668016edfc0b6853ed83e79ce015402c350b29d24d7f6f1cc9330ca7d60e82b71f556c9b445dfed116ab5f6bbbef4613449e0c34e5711873fa1a2096ec55f2a60c05a1d153801ebcd8ea59cc87c116c7c18b717ddec4d82e1ead1f343a2f5db1dd13c44f500659d6e79fbde6e48b2f6920bd0a61a987a35e63295b47e52caf1a575e101f840f1ec020434be206db21b - -COUNT=13 -L = 2048 -KI = e397f019d07f1f28c4bfa0657372e853774e73ca1867160b -IVlen = 64 -IV = 0b482967ed11a252 -FixedInputDataByteLen = 51 -FixedInputData = a9105b74b3f7a0ac39a2474805cac7f865f9ae4aa310d9b7ace377e573c1103838346c615670ad01e600444de5290daf0c83b0 -KO = 3618b77af782dcda3e882ca82d10ffc8988c0c3ec50902820b1960e50fe82f3aef0da60d5e8e4958fc4665f449f16b23a947ad96ce8a354199d5266c0e7b894667a0ef6e2a3eb70e8091b95809d2c8800d7698a3afe48e6ca6e5384be5818a193bc9b7e503377cfa7b6041e78abd75bee16d662e6fbab8fefd786baf2a4f5a93d2e76333d4a2c643b575ee1d67866b12832ece8d2fb9bbef82f6430feecb97cb8ab88f7ec2daf7246d0e4f14b5e14b8a5b9f353a766aadb4681eb5a81c0c2c4c32f2b5f77aadccab30e1df39837c4b0e0be8ab837110bb42ec34dc283e1f9916f412d571070c2d43c4860b1c00d3a7c4048457db40a2110414b67753938e05c4 - -COUNT=14 -L = 2048 -KI = 36ef6dfe916f25e49a086faa37d103e9a420dc7161c17d43 -IVlen = 64 -IV = efda9fa377f9f6d7 -FixedInputDataByteLen = 51 -FixedInputData = 4ebb6f755bf715e4e2dc84d6eb20c0e00f127ec79cd9b6bf3726af5fd46fb5400a3c8a0c1eb8b245da84c434c24be23a75388c -KO = b4650697ae8bee98f96702405e1fd0eb2ecad366271380387667122a9c4a4b51669a9bbb14373fa648d96f841199131c90eb3d5f8490a70606d5bd75cf9f6198058e6e86ceca1eb2c231635bda1eeddb91a60bfec2fb0e7d4cfeb46939871fe5f3ef64f67a7e1b814f71041b8db1b55c7b72df178c77f9d5953d8390b140e70780864efe60fc9e606402d0a477c411140e2889318cc45b21d05d267d2ab548405ab2106d82eb778f83b793b4ea15d0ad59c14265383aa9e9c7d289ccfde63e708cde679e3cdcd9d90ff89711b85de2ff7c43060d744b8425d19364ca6ea96d874906698164acc85ee06cc5d4a49a393e533bbe70b7b9c894d7539187a977de2c - -COUNT=15 -L = 2048 -KI = 9503a939cd87ce83b8a16aedd2b1295f9175e336396db2fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 74b2a96fbff93977c08e2373705e4a5f410c25a0c4137c862ffc7b65d7af30768c7d0149dd83a9accdc69ac9fdbf57d09bf5b2 -KO = a713cd71b2daeeea5e1377705594ff628be809a58cf1166029f82453de619a2990f745f6771ffed74459fe7200b1e4933c62b775191f35c12c1c9f4671df08d7912fef628bbf27d81607971be0ad54ca85b60acf3e2e30dde0310371f30e9a669cfc4b9935e736cb4a62760d2d7f36936793582a0439cbd871a1b1163cbd99c548880a5ddf9f86daa550940d4815553d431a8e95563eab0728c46c0c1caa0bc33505bafc8317cfc27b44aebbc97d98435c97391918e9832f076f48a78ebcab2551a7dfae6e0235461f7eae68db62d537df54eb4707a1e1252525f9697c8430f65ddd41257ee5952fcf688d8fee9cd98f065a5d697d3c9ead0fffbb7b357d339f - -COUNT=16 -L = 2048 -KI = 1d49b85aa629f8b6e2f722b80d65000dc3850f92d51e35fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3472e26da4deff59f0629dd2879ad589c1807716f72fde5879119a209a2e3d1528451b633f35ccf26b9bcd2a2c9f72f3a8a83 -KO = 036cc62865605cef304051598ef50b3f378174e667539ef1ac4e5bd53bea9a599ca4e60829483034da4c5f8cdfae5d02a203eed3ad0b4ea5cd0a1202d8ca271c4c25673091b291762dea0bd07d048e3eaf32fe50a707f9710d2eea8130d3379a1bce3523dec6c70d98c651d1af0d37bd113cc170247e1efa1563f23e4cd189960efb6aab20c70332db0d6fd0c5ed1b94b18af1d372f7ba099a0f7cb2c9bcef676678bd9d67159093482e4d2ddd6925e869400a0b2cbd97226724d7379b899f731cc13e48a7ead33cf09a9ec2d99e022c3a4952f70219041689b0accb6b32ca592564032fa14aedbd4c6f21daa21c21ed247dd09b46e35cdb0162b8344d9592c3 - -COUNT=17 -L = 2048 -KI = 8a1e9391f0ea758352b14d5bea354099961d60dca9419f52 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1184ceac4d20cf96146850b3551aa4b7c91f4ef65674667a748dba415abf292a82e7f561216fb0933812f86c721dbdfa9da929 -KO = e40587fdc05496b926d0fcfc5ad9ab30308b71beb19c06e96d4c7caca30d5a6ba404f20c9584ee229d9c7ff9e06a39674a4e9bb4f38647a31a83eec644e776c5e3467421647ae9d32edf384b1eb69d860fe10355b526b7557105136cffc0e117f680cf0086b616d812c3b984321c8762b30f1071e6e03f8d0bd7c22d6986a2f1555c00122f60ed49181cfc8940718a53bed07eac6dfecc6bc0c35b4f5ae42e3c57f47d1be1fd377951408c34b470fdf8f02ae5903e994784b7dfcb121d0a916a7a7184e62db89db6b1843319f7f0f1ba38a2ce214953109dcfaca5ec00c9e19801467a1da3fad20265788a1c0ceac6dccfbe8e4fcbd1b6a4e8fc474af1b05a35 - -COUNT=18 -L = 2048 -KI = 14c0f9b9f8678e12c6dfefd9a9fb6464b5433fa2ead643e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 64672638ee9f6f7cd1f4fae52d88444d149a5d3334361ae1134492a5ee52d7f5e7bb6114908abc5ee3d83faea852363ede6638 -KO = b4273c60571be4f7485b6a4f8e860dd9ee8c60fe6f46257acc8a902176b8cc6a8e38a95e4c40f39ff51e3ad64472a3b8c2089c62bd2fcc2ebb4bdace4f02cf0ab46ab8da3fda19f8093afa8d14e6744be79f8eedeaee19e9673ba0786ce9127c0b77ed37277812371b2097c5197508c08d7ab7d849dab0b2400d54c5af9cb605636bceeede4fdd3be4985f03dd931ea1f6ba4977f32b8acac1f92473408c96e8c69766bbe1a84f241091cfcaa1abc3f68a0992840c1b4d17482f95578bde7aa9b775b10ad77976aa77ac870c9c1c257c1c6c4dc1d748a12fcfebfb297d4b60ae110933364297ac339dbde2d5694d3c0893b0a8965503f2da85b1269786484384 - -COUNT=19 -L = 2048 -KI = e3be0b1122144953f15448f25485d77dc27b703813eed426 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b502fbaa5975272d4d5bbab59bfd42d51eeb616e806c9aec192ea8fa7225734dc33fb2f7464810bd67db91dcd4784c10486ce9 -KO = fba2f9feefa548f81dad5d4c380149965548a95f91f4be2cb08423d1ec1ecdb53e4c75e87c3de624ea487a5e37d348625d2c69be641ed920aafead33c634e14123cfeb48bd05bf992976f872ba3733081c9bd56ded91fc3091c44f1767d24c8c3abf3acf617660b113b148e7cb7ae375d735982e50b9972f8bf47b59c96d487f4442e5b8f80d6d402f28651e1a2659f688553706bf0aaf7b7d3c051a07b849ef71bc7955022e83d6da6d0645cd1e433ac6034fb2504a794daa78e65e436b00d7e3eb139ba313017cf1df5029c6531d54514665e7246461a33c61fd03e1036cee57395dec67e377dd7e637df30cf985ede84c05d0468468bbe1ac50a6c29d8fad - -COUNT=20 -L = 560 -KI = 8f803601e232ffca8448f87dacb234884cf944ad74aaf425 -IVlen = 64 -IV = 510ccb5e655bb5fd -FixedInputDataByteLen = 51 -FixedInputData = 580fac8f0d455daae0c7d6e0206d438ab44e6815a1d7df5e6bf81068b3dbd1fc3fec3da4e701999ea49859ddf45fd693fd8558 -KO = 1e5d3cbc51c834e5fa4737a54c1c5d4de25aff721bdd647e6874b9339eca0ba36e2a8ed15ab0e1c350e192b04eb4e48404a02dfaab8bea8a1739752aacaa362cb8a7f176d697 - -COUNT=21 -L = 560 -KI = b7cb8c906fbe34cf73c85a6c6aeec1c8d97cba3094349755 -IVlen = 64 -IV = c9d22c57b96824e8 -FixedInputDataByteLen = 51 -FixedInputData = e1f79add27dc1a783d1934ee2b3f7761918eeb99aa1d7c4b6b3526117c452ec50c579b5322656e333fb5454f53469d86412980 -KO = 97ac9634ff0c1c8f92ab1e55736921f250721ea2ba576ee2f65c937497a50030b1d245362c80128e6862c40f7bf44a771b8982eaf6fbb0892e0721f5c8ee66b1b244aeb57493 - -COUNT=22 -L = 560 -KI = 239be3c79fb618a3e2e6383ab0a5265b990a400b92c72939 -IVlen = 64 -IV = 4e180557230f3321 -FixedInputDataByteLen = 51 -FixedInputData = a938d8ccc67d54aef2bb21e36b57e66c8b70fc7a87cefddbc0ca93bf2d7e16860b3089b318b56bc0fd9ecc418ebc62cab05bc0 -KO = b39c0b6e231a4a91f39e9eef83c16ffb64fcdcea13ed5c2182dea0d8c4c55d078f3ea3eaf1a6e6741c474b2fba5df92a4f4e7fef8ce80cd070e45ae4d4dfcb20fd9233bd7a21 - -COUNT=23 -L = 560 -KI = 6abb7e964eb010e947f07e3515a9a1d65c1ca04123ef1e16 -IVlen = 64 -IV = 31055ed006535eb5 -FixedInputDataByteLen = 51 -FixedInputData = eb5a7ed25b94bd6975d3a607d4ad917e73290f8990a89785b5d02fb2165f50eecb2704d56a93f4cc0fe3b6df8454297abbfddf -KO = c5f49f393f110e9fc9060cfbfd5b1edd9348660738d96dad22b463ef242f3e6bfbe3254357b26342283fd2066fc885a038b71229305718f3551e320c767c0837ef80d55ed875 - -COUNT=24 -L = 560 -KI = 001f8f68813ee8446a1b75398db831415ab87d76bdbae5fa -IVlen = 64 -IV = 23556deff628ab8e -FixedInputDataByteLen = 51 -FixedInputData = c5548a30e4e4f2eee03190088025b6e7df4c85555920b54120c5f55ff3cc78639a124d3cd07a957ba3863481fd835f17bae4c9 -KO = e3ad74df644914e6ac017265184cb44abbdcf842e129a90627e4f5893b75f1310012ea5ae3ad99092b5289510bbc702c5147b144daa4148f1847cb2bfc637126889249497b2a - -COUNT=25 -L = 560 -KI = 759b42382fe87bfdece9ef626a4b007f4437c3a2c7847080 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d466ac7024649c2e7edd08309a6154d255d7b726e17c67ad06d879fe8f09ce973b42bc973709d72ee8aec62f42280f146c9f20 -KO = e4f616e0b19c65428455fe93b0b377247487dba85b7fde73245ceb70da55c043180e7c785d56e06721f827d7f49f037ac9768275633ff59bf41074571207c5e9d3f11af88e11 - -COUNT=26 -L = 560 -KI = 25ba05741fdba09191b97032e1792086426a68c6108fb464 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9a117e178726b679586649c1ac154eb3faa92d550489209c5a99f485b60b93d526a454ccf71804732ab162b82ba18d3f5fa6a8 -KO = 73ba9ee89cc21b4fd150d05d25a0627fe9da930eef382962caccb2b384c8434acf76980fffa03fec5e7b9ff1ea99613ed6e98133ee787e0a38425e65dc00ec2eb60c6749a017 - -COUNT=27 -L = 560 -KI = 1d2902adf8fef1477b01e80979b3c60f58ffb15123f5ff1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a717bdece0f98e485521f88c5d08864f401a2ddd9bc7c2a92a7ed6e42c61ef889cdbc52e5e115aae854ff17e5f4a877e2e4912 -KO = 0430c7eb206dd091c5f0b5325cb8a06f985a36e6bf463ef5920d751d4e34e784f38343aba7f13ee0da6a6864e30642e655b8d6987261f2b9a0877a4cb8c16e9d31bcfea11547 - -COUNT=28 -L = 560 -KI = 894303d2502a1cc37e49a66bb55668fadd80c63217e10365 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a9e9ba4f02d3347fbf1ca3730041db1cc8b651eb070fe1d9db71136ddcada902e3736cd632de004ed7a38725ccc9a6184ee4a0 -KO = df2bb92dc504d24d09f57df5ecf031c126e0b28b7ebe306a3bc8ae1f0661878cb3a7c2560b58358a91facd5de3f2fa0721358e6e8cee02844c50656a7bffa1f889faf9010de0 - -COUNT=29 -L = 560 -KI = 2d86dcbd72a6be45cfcaf639de002c023260afdd9bc5b345 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6fa208d4985a8e2e4f9ee8a582d57c810925dac6e1c70ce237cf1a079fc45e3843b23d60ef30301eae033301bb2774fcd60071 -KO = 79a7e5a534e6d62677e2f6fc8dad7bafe53a9486a08dab235682dee77c6488e99db8da233de7674cc78c19bb8e183cc957e0cd8e26f2986a36b2a6a02ee56db94ead76655fc9 - -COUNT=30 -L = 2400 -KI = 9690de920ed83074b829030411093d22dc29e2e41041dc1e -IVlen = 64 -IV = 56aa98eae0ac9a6a -FixedInputDataByteLen = 51 -FixedInputData = a62c055c2cb2d81d7311ac41428f6cc9ea86309246f6e3f3f090eae49ff0c1161bc0d696d97477fe78f1cd781b552aed3b11ca -KO = 0554c87c0b29322b84357380922107a64949cd21c01bc1c513dca42d9f0be25ce8f728aca5a280f4477ffc4c2f549ca20e6076308ebcd216dba730ede1c4f56c5d547f59c667db696eb3ac5c3df83318e59cb0d60ced86cf18d968f7527be93bcfd881161025de4fe0822ef7c8a9b71bc76f68e336b8f403ec0f02aedb595c3384067f5e4f3078043f7f6d5c8debcaa986b37517b735633b24a98f180b34becc266d4bf7bb4d9837e4cf390f292df020699f3de529d1876def9433175608f481343e2fd951ef2f943463edb58a08d51eb2835fecbdc455816c8c6deaf3a0d2bb7294531b0d6ac552e7493c3ac60146e5ec0eb07361bc2e37ebd8380e1e4ffbab8aa64df8f4af9bda7efac82acceea76e5d29e7f248ee47c030d235060b27ec9722b7422122d2da62c3bf6e37 - -COUNT=31 -L = 2400 -KI = fdfb65df53eea4dcc72fc3045ea4b8f07cd9a84766a07328 -IVlen = 64 -IV = 05fd58db1e515faf -FixedInputDataByteLen = 51 -FixedInputData = f82f487ba94a320b4ee12b8a4d90ae6b99246993334d08c92b500829120a0e2715dbeefb35179a59528c62612465d5d5d44c6d -KO = 7be4501fbdd330f59942f81a29fdbd87690395d5369ddc561f7efd46d13da1641e44195348fd0fcabb718995570237c2865f1e54c6781fd441c18e9452df04acd98ac40ce7ee224e6b93fcd8bc01ff8968e144fdaf65aae175bcd312f86d77d3705c2d4d279f167aab741a4f23bc84d1dea9091d32b8a2207731c8f5d3f25b72708d0557435a38b42cc7bac117e0856ef4f97edf33429361aff6fddc90cfa842bd7e01f293d261571e2a85d15932d765296ca3167a1a116ace48912c69feea3b862135df791fbc28309945d6853adf2be77566f063aaca720df28c6b552cd0c800bdf59cece5f60c255707d8fd937844217f29a55cdc14f9fad3604b898a10c1b7f8ff97a78456e64e7da913a9d1f1581b372716371ce757ee1cd06bce02ab660336fc23ec8c8328d5833939 - -COUNT=32 -L = 2400 -KI = e3b03c7bc84f1a0d4e021fa93544028e4dc7fb3240de079a -IVlen = 64 -IV = 74a27af4bcf7dab0 -FixedInputDataByteLen = 51 -FixedInputData = 916634ef510bf0da5b5d7010cabb13d494f296a83792991004da9efb02418ee82d9eda1439be896b2add1a2af14d24478a8703 -KO = cbeb065a5dfafe472ed49e91bb12c8e8be7753783cd44f8baba37d04b3b30818878d2f89e83ccf08407dd44280044f1a59c320f8488fe46dceccec5c40bbe573c0dc184f5bd461d27c512a8178d377273541a52b428e6c8905766d892b53700c0b09f51b031b0cc926947ba34d5103dd15750abf28b1b144ae032368da8df2e98da9b3c62fbcdd5eb890fc036f515b4d131033a98883d4f989ffa06458b52982400cb9befe44a04438db6b8cba6c6524d5d1c96580cd0e4bc77ef1dd12c0f7c83ad443c2284bb3b9bf0a3a2100b832654b1e5ca895a55bd0cf8446329321deda5c003f9ef74cdfaa4e4c6d384361b37a4e0471b0f2a146adc288f04ae43c3b72fa5a36ef71433d44639cad4d3a14c723fa8bd2d8dd6f2d5dfa0dc4eb3fdb9fb186c0377502803a0a9efad933 - -COUNT=33 -L = 2400 -KI = 7770d6909865fd5a439042dcea094dbbc5d4f55911b58d8c -IVlen = 64 -IV = e655f71a71b01513 -FixedInputDataByteLen = 51 -FixedInputData = d8ae3b5f56c59c5efbe128d35da97694f546daaa39e93d5d50a8c725e48e74648f294721897ad2e5decf86ee873d8860b053b4 -KO = 27546b0272eaaaac20bfb3af5a1306d4f127afdea9ce09ef9cf0aa177aab0f503df954fc60431943bdee71123b9557676c790c501796e11f6acd5a8fc765850088c2246732a7668f170e36e6066d802c3799816664f8db78936151fc652a32062a061bbd7361797246def2dd88f5f9d89c625e9ba297f0e7319040f50bd0f85249bca2a30f19db7f2bd8176a66f903fd24bf29f02be67f4f0bb4c136f3a09f3d913b6fa3ae307e6fc39137c0f5d73e050f4ff7e2b98b7fff46fe05a1c0c73fbc96337c41f79757cbec5358ff5fc3cf57e7f1ad3d7b68896e15eabc0aa6e41d51ccbb4f65f2d92120723ac014a4226033bbb33d2cfa4097ce7f1cd35eafd0d044844b3a2b182234760fc08c9bcda651a53eb20395447aecf7fa25b2689209a81476ca4ff264ca4f355effeac6 - -COUNT=34 -L = 2400 -KI = 6e6a94a9d6468a3434bce7fcc4992cdbd133c5b67dfc267e -IVlen = 64 -IV = a842d90f7070ae32 -FixedInputDataByteLen = 51 -FixedInputData = daf5ddc08324863fd6ddd86cd9781a5a2e4988bab79d2a98560dd8ed86fc04a0e3b4004a861ce95a8965cd802cbd42881ed850 -KO = bbb40a8db4eabfe52991c61218c10c7ce5bea28a80966e0e6a2483746cfe31a1fe039f3a900656af7baccae9dcacee1c1edf4b45a72a30287eb59175368e2082b0dcb7c9bccf52cb321adfa38396bba7e3ad31e800d2a04dde483ddc6288976c846f8ba71d50255fbf0507ea3e3200b48a2318d38904569d0d815de0f197c3447e3ea3526995703dc213c8d9f98f48a144aeb0065626ecb1bb01b1ceb4800ec4997a52edd917f5c16cdd3e5ffaac4ce523d2f43f4720ac7fb4e5045450ec87d4eb58877817e7af05493a20ae29ddb7a99b05ccacc4bd5374e2ab24a60f03ee4462c59b1aead210b7dd66093301d24f7f3af7119885eac4d44ceb5fb35da9a6de8c6bbd8ba5f84eb4d267cfab1615b5d1ecd53098783a81621a4bc743b2788c213674cb0c625066d1fb101ecc - -COUNT=35 -L = 2400 -KI = 626ccae74b7f8192cc18cf0499a216ef1f5c9b658c34327b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9f0126726d14d0584daaf70e76c4f03fb6692cf1670c1d7cd61b9f8acf0b16a6b264a79cad4e63cc5303a8d5703cb4f7fc473 -KO = e806547580feb173aa1d65332485be4d6a49f3d418b50aa873fc735358b64ee3bc416d92d41eebf3858d810c869c49361bc75e6c5071a90e35eb3304370996cab5c1aba84ba399a11fd8229c48732a54f2072680c29113703cf96e145eb90ad9cbb4f0b789fcd81e44269d5af4931cb5fca430ffa20119a6252f95118da481c84e20ad982ff747aa051b002bf78e09c03f900368faf2b5c0d685d957f9aedf7b18d6d7f0584cac799b00ee3c44aa233523644636ab84723b73bc4bf3125b0c28cb9fd4021d44120a91dc2cde7f7546c93254391344e40a330a63dfb2c6af57d354c5229bb334d9385c8e578922643ff77cf1e98978bd2237ff2b9a434eb809704019906656853764469287e76f66ad35d516265298d0ca8818984280e69d0524b879ece401064f78b47d2d1a - -COUNT=36 -L = 2400 -KI = 1ad44dd579d87eebfe86a9c3e407b93122012bb217b1fb81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92f298591e6a26b8b37aaf8ae23abb6d92b00fe6b4ec17beb50298908b0f7829e895b232d2dd69904bfdbe341f7541d267435e -KO = b895985ae243dadbceaacac75b30256002a57b1bc20430e6b46d1043469796ba331953ff9b18f933917d082e91977438141d6ec4fb3c0a11e2343c34bf45ba147a8949c10837ce7f38ecd2432e2e4ec9b1c2ee2b5e5ad098da15560e915e24fc1a7a147f581017644468b96a00d0c1ad299a5271f9588692fc70690f1e1c2e4915409c518f545bb90178b67a50042921afbd0851b5333c76de3c51fe09f812495a9aec8964e76c83d54700a54dc71c5fd11436821443a1881715196cd7125ed4a75397339642f998b2c929c0ca4b1861ceb3266d9c49b21e241a3920f65fac24dd03ac18c23a9bac588f73ee619e0f80e5fade3ac7a586dc9c3ef2b9770f490610942583da01de7a0b9370353e44e9f09df1ce652c40c7f41ca89d8c980a07af577deb63ee752b864735aaff - -COUNT=37 -L = 2400 -KI = 7309e88f4fd7bf9fefd6aa40883d7906bd1687e0a50cfd45 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b9834a1c64e9286c8d5db13db371f64645cd904d1204d6c86cbea3bb207e2e0928b4813f8d00286f60163968a8944068ac3c3 -KO = c6538be1290f04578ee11b496a02e5c8b616f5028d0bb3b81f324604a7d4b6ddc8f1e4f1490ba379c9ac630082064c332405205bb36e3f26b9f9d025c04a7e54c8f33bbd50329b31af73bb37f1b6ce1dd1f29e70ec1a708a266d1c768964b9150bf72e73e8608d5d7cff782725af03b58d97b034ca3ab428ccf9ef5a8972a4539f6abd2b01beb414d0e2d586ed0f8d57b88d83f1e64013ead8d89089ca9de38c14312306f562247778e6af8b37d236e3619aef942c510eef92e02a8369335a5527e10ea5e2ecd7fab7479ba2f19295110d707ef49330094ccf6894e0e4db35a24c846d0ff43fdc96c0e1199e44cb15d6623e0e41a5a787176870f66fbdc154bf2dbfd2f9b42cd718c47cfa11edffd576aec7c0e8324ad3e9c4edc6ecb8f40a7a8c9c9f1e79c408a76781e934 - -COUNT=38 -L = 2400 -KI = ff4e699ffa5d7a238910fd51441cbd3b320ae56685d2982a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05fb1be8bff8133163faee904a879760cc8952646c338bb0521aacf3e57b4d376bcac929a123f427c8c69565b5f6caf485f505 -KO = f0084cf00e5ecae00f2e87f504e01a4e19b5b38edf30c9a7abad3b5293929c7db50d1b28035a9d128fda0393607e5114ec3c0565302995895f4a2c7cd9495f50333f242fcbbb97e16ff829487e4112e1f37c8e51670fb993e4df74d191e08f39e08ff5f38b14e84315e8cd128b7e478941cb73fc934276a4ab0135407f3c9d7c6c21bc24e1c9b5779d52c23e8615376bd575ab0c3e3e08738bc4ba01be399223d23bfac1daab9f88133b35d1bc6f51ebe861e186e87b6726a2f2f100a8fd724bcc40ac7d1c3ac1ac631cefea0c907ca5f78486b97256ac0fddf623dc4b6f33adff6e6e0d800e04e5a2decc7cefa62efe8accbfa243c9cae05c1540090c95cb38464dc16a63b08aaab25cc4ddaf6ffe6053509da4a547f77dcecbc16ed8155af48874b9b8a1da9f3f8ebaba15 - -COUNT=39 -L = 2400 -KI = 08ed1b263b953c43c009d1c76b7a162af37775a9409e2268 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8883ce712159385770ffee43d275941e46a1435a92d6b455b9947c0b3215f03e2db5b8f32eb2492060fb659f765a8867a5aa37 -KO = 9daaf22f748303ba154340c00546c04ea5c58b892c9b060d2b7f3481fe1f1ca93d332d976f851321d0169be04e1225b57198d002473064754eaea72f7e9ee120e16c1b1a6dac7f76e80158cfdf66b769c2927e51f075e318ee65f7600e05b09e4a2321468019e67138c801f67da5f238a682743d30e3ca59f2b6ef445b7121939f1f1e943cc4062a1a46e890dcbae53f2ff2743a2e77476fc667911ffd79bec235be645978d3726b03840af824e5bf4826a76a1b0b495347ff3222a5b82d820deb190369751aea80420a869a290c5602b4ff120051c2392ec6287090061cde950ce39ecf41fb96d9a832e26f13b8fe5c6231395c5db32787f77dacee24ee9c231cde5758ac6b9c0b5e832529e9f39268f32e25829188266fefce43b5785fedfb37307f64bababbd6b4392f9f - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ede3d908f1ce7d6149771e20784cecc6696dd4655c5f995a -IVlen = 64 -IV = d654615c37694494 -FixedInputDataByteLen = 51 -FixedInputData = 4b21b3607d5b3b032a12c035e7070ea7c0be988295678c510b12fb8c12feb34cfcd6f9960bc301e3d89b6c72c25c6ac7ba0b3a -KO = 49bdf7aaf99aa8cdf3dc8e0c726e053315d6f1a5fd276fa88e8b6fab6f0f1eeb270ead28ea27c620069f1e787056dfbb7c124dd027fc9e82c2f1900e2c1df8d1 - -COUNT=1 -L = 512 -KI = f94dc7dc9096d0260b687c27486af4606489f237f1e6bc07 -IVlen = 64 -IV = 287a39981b23ffc8 -FixedInputDataByteLen = 51 -FixedInputData = 2b7db0a8e7767025f059cd8558ad9d5e7a766814c8378963cef2f76422681c53950aef6e953e3442ef103c345ab7c3f4605e93 -KO = 46d20e210fe24c62714303e9d5f375e8c2dc6ff686b8fbc8779c26ec639facdbfffaa7283f42d10ddbd6f563849b8aa3d5a261f339f698c935fc86730e2de4a2 - -COUNT=2 -L = 512 -KI = 841eaebefc2d5dfff72fc71bdd3428c2c2276ad1aab9eb76 -IVlen = 64 -IV = 7c092cfd57e042eb -FixedInputDataByteLen = 51 -FixedInputData = 35adbf8323d620084dda681c55b3a1cc0c10e2c349e6eabfe6f1f1226400e3b5b6d9dbb63c2156b888ac3a94de8b712bdfd678 -KO = bcd8ff691bd93364f7545cfbc6c000b862c9303f8c6b825e1ccfcc528171db8a851a007e81f114e4b6cbe7e4241aa74349817a3f55c8f0996213f96e6b7eb961 - -COUNT=3 -L = 512 -KI = 0970e0dd3fba6b91f7d63ad82e8be459771dd1602fe78185 -IVlen = 64 -IV = 7019487a287abc2a -FixedInputDataByteLen = 51 -FixedInputData = 8c8d6f0cdec2a0ef3d53bd94f0a22c6c68a59c3fb07e50ff52ec214fcb32eddb8e47812606c71bf0b1e3b3d28598b3c1d5d4b3 -KO = 9e258c7d198413d9a50fcf15caad6a4b80683f1b4198594aa40ecc0cc60292cae95c23ae46ad962b8b05428fdaef16750c1193b55f6a75ba746d8c129718ecfd - -COUNT=4 -L = 512 -KI = 8734bdb7edd302cd7a8615fbe45c006a0e959fa94a357f1e -IVlen = 64 -IV = ca05f7a3670e7063 -FixedInputDataByteLen = 51 -FixedInputData = 909e2d9592e0ecc910f013e6b9d131d5f753e121392ee9faae49a33eee3520ff3a9b95e7a2252921b9f607fcfc2555905ddd77 -KO = 820035fd31890a7d1ebd9134b03bb0306129baf1e27e2f12c636aa6edbd190f637bbe874fbc453c6513e0782bda781703fdd0bd8af377eab15b0eba37333e9ae - -COUNT=5 -L = 512 -KI = a3e6e194d5920c0cff6873eebf58f43246e3bdec00977e1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f4d89a0092b596cb593a0cd24a3451fdf682364759153f822b5fcec2e94506796d067b8942aa26501358d73ed98345e8d5166 -KO = 431b3bc029328b0045a6eca85b6e5881b043eedcb0238f864f676ea80d77db7e81d06dce40e35d6394852c22a772d1975fd082a61a8172eb6adfa85fa7ee9755 - -COUNT=6 -L = 512 -KI = dc343d21e4a7558a4b1feabc3ec74ce2a486e675b0f36182 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c557713ac9eb94dba9ea3e71ccd25fe9beefe4b52f25fed477ddc7ad742859e87551c2076fcba23189ce480a9454d02d55acf9 -KO = 33e1958b7a9a7f7d11d8d446ded03542a29979e84fca6515fd997da508ff3da3a4df9758a323cb982f9bba256c2f353dbadcad5de99cde08b2c1f5c8e5d6abe2 - -COUNT=7 -L = 512 -KI = 67669d3ed241b4bdaa1e070633c3d3bf1f01a0f37c767d2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 67120e2ed6d32938846bf5958fbcd4e1153cf3665515fded7500abbf975a3774686509bdff3933beaa61b60079a5468fb5e205 -KO = 78c8b57484207468730fe854112a4e24759ffb3f661dbe722d883c75b4574492097799e15200882143c6a0ec61336f39734243fa82d7fcf2b05b43442750ab5f - -COUNT=8 -L = 512 -KI = 4f68d8bf1c81df5135a444b257ad8209690d586d9cfe4f92 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4609b3aea7d72bccf704d5c61555cf8137c9015a149de38d9b8c3d69b605f759650f00d134f792aaae8ca4cc21ddcbd0334a8d -KO = 4c416218d28a090a45cb1641d1aa7e74e80a3cf07e348d619b53513795afc6be1840116075f115256697a3f34125ca1b7be5e4a16c61aeee4c8805eefed2b5ad - -COUNT=9 -L = 512 -KI = e9e5155288b54a87f3928078d567f753262ae744fe8f0b8c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a039680866974b87bf2aa69dfb1a8eda7c59fca4371175211c043344ebb729a5cef6612fc50644d07cc70452ce0fdb1cc62277 -KO = 7c4840862ea1465dc4ff751a57e5527264603ac31af01d2daa6960be6b71c5d35009944cccedfc510fd34dbf01e2cb9cbc9d908a9c69b9d632860684b58488be - -COUNT=10 -L = 2048 -KI = ea30bab4acf9c3444c8ee7a670034ba1bd8a38c8a1b64920 -IVlen = 64 -IV = 52dddc90cddab193 -FixedInputDataByteLen = 51 -FixedInputData = 4d6f38ba4203764f54867c5e2f9a30c14a5350ef6ff711a26b4b594c0cbba767e368e2e55732dbf5869f8587773f0865dfad45 -KO = e2c2e4d97cd02043f88eb07e0161e07f7d9ba22201786ea65d9bbe05cf67b9cea241988853d5295bbbd07d7dd576e95b5964377e5388da1a1ececa07566180d0d7453ac17aa048883ef0d4e9abc40fc28e08c16ec5b81ac17b08416b078071fa729db5d347dd928e5f3fdd73bd6fb5fa8793443af145ca80ee3118fd21c593be11b0fef9fd24e4ded1984ccb50e74f46be13650d1980ad6643476f29babbb7bd360740ca49d1c07d33b573d7b590f3dee430e5812a11dca3c41d69f149a52c09a3598341f6c8a810f64535c941de0ac811103d52604267c8b1816b6565cb197f22946e7efde664a6fd5cf90ad02256e7a3c004654f9dba3c189ded4d8494da8d - -COUNT=11 -L = 2048 -KI = eac559bff1851dfd0fdba714e4d1483ac9d1980da358396e -IVlen = 64 -IV = 36051c1a23a15e79 -FixedInputDataByteLen = 51 -FixedInputData = 523d984154ace1489f497e858fd0e3f8c588e9627133ec28b6b36caa4407a4d45684184141f04329ffede7e066177864875289 -KO = 88866bfbb5e8f3b10e403f90b27d5460036ca055cad5e295417777fd80d4a25592abcede62506542d6dc59e5fb0887100b6ec9a954edec4f4893be8da53b88c9723fa3e026ebc1df97a40d2997c57959c160d9be690de950ce1ad188ff69655f70498d72f2d091d108fddbb230acc55169985843a6413a672194dce97e7f9001fac189e7cae2f00076ba8dbf4fb9f1faa5c05a004719876286e46755f41a476eb6cd199cb6319882452f2415f406fd38f0bfd7bf7b0ad688d9104c4dc1d418f271628ca671c6b7843a48babe4039b948cc6ad546e81b2838b6cec76847b1100d07e6597b1a0bbbcae7404a67c098113831804b1e32a5056834db67f327d62a3b - -COUNT=12 -L = 2048 -KI = abf4b83a1ba440c3c5981abaf4f64b361569b3f1b2d6a32d -IVlen = 64 -IV = 982325aac376e8fc -FixedInputDataByteLen = 51 -FixedInputData = 419258834b3465af36841ac9b82a9a8b0b77645e1295dd9b257dbb35fc17e2efca25bb730b035e1a667904d60c4b9e63b38b76 -KO = 9ebab4934e36f3e968b41d2ce7999f0b39d9e1500bedf280e60b114df26cb214b26c0a43fb39c2e6d52b79874d54e506724ef47e19582c275c4ebd771420ebe115f08e0044ce1fd0a2261ad2565406787da1c8fd614295dc60e3b40e5a3afc7caae9c49f0a5faba7e1b5c712f58d09cfa6d4bdfd4317e14dfdcda8508cb699896e35538fcdd74e935ae9bff9d7e8f4cb209eadff8543a328368dda8fb8c0f8371124bfdfaf73c9b18af284cc7857139b6f85e875244343277fe9c6615f761b4c0d170bf5b698aca1095f60d4fb65c8dff18c320c79938974b887ba9f6c86b9bcd45585024a308c01fd1e5bb45f9560ab11cdd107ee81de4ecdf8f6efda261d0b - -COUNT=13 -L = 2048 -KI = fa80f4d731c0e1987f1ee3d17a1332dbc3ae5b7e4abbf2d8 -IVlen = 64 -IV = 101fbb4b24c50d23 -FixedInputDataByteLen = 51 -FixedInputData = fb9f3651a73076069376b9d6f7a6a1d638c77f25b89ba3ffd0be31a29d993d32770cac39584af0cad4b265cb006ae158927f62 -KO = 75f60e572c7b98c146eb9f4abcea85efa97030a2f4921baf13a7fb48c1ca4e56a3a068d0e0b41c6047ebe88afaf1ceaebea1131f8ead746c1453dd3f7da5d121a805736ccbf96cb0bfde44e769c5eac21a4677b6bc04132d28c3a860c6c080b32a5044fcfc8f157e65621975a3b2e72a157031b8f7bd02e4debfbd250a02c171b181e0167d69879fdd3f2f4399537677d684df9002245b66e078bffc9a1c588d76e0a092a7058af1c7db0e4429229f6abe65e7d02bf086d6f0a574a43809eda36703213639c4dd95e960905a12416f8b5bec2e03271c1b1bba4a14988a54d737ad638cfd419a41a4464b5414413c7493cea0f2c8e26c69f4d0c8954a180f5ee7 - -COUNT=14 -L = 2048 -KI = 1ac40e5006a76f1c32f1be65bf129d96a3104ad967c36c8d -IVlen = 64 -IV = ba15ce5f89060b0d -FixedInputDataByteLen = 51 -FixedInputData = a30d484725fee93cbffcc6c8e120a2e013f99e81d50c0f4457352a753543cdf4920bcf00c74b2d98d635dec5139e21fa1144ea -KO = fbe3498feaab4375757703b3f019ee750a87f55a74f34310452e190f141a7e3a2f6d40207934400e2d091e9c8fc8aaefb45f0300d70a07647f0425cc8bc973b0ded355a76e4feeaa236d0ff5496bae515d644bdae9a7a8b2e05ee3fc2c32292aa2ba635f5e1cef6fdf0fa46303f4c3dbec1bcc67831261ebd4b74965d166dd0d37aaad2c9a5356e941d2b4cab36aec6668b7ef8d65c789cc09d2242c5d2ac2458a8f72a7a3c02707a67c997dd9fd0538e4d189d816fc1a60e203a9cbbc6f2adf51b35f00947e2a13a0921899bb1f610a8802b82210ba1376ef773a64fde9b9fc07581e0695bbafd4f379ad77187bf27269e6e64541c40fe11919ff28d5e64130 - -COUNT=15 -L = 2048 -KI = 3912e23d3b7a01050254d87b4044cf718e258883a4ab4cdd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78b2dbe1ad86d040e4e42da17c3b41fa67f1b4bb0b05f7eb0553d4c677d2052b9345457973e201bdc1512104fa34c6961bc0b9 -KO = 74945a9aecff671b690d5fee6e1e0d46db8d3a2979990ebdaba539ae4dea404943d9378b8b5a623cfca7a04d83c59d3431d796826b62ef43c6253f787dcf5dd1c995419848fca1196ded6602f163a3cccabebcb43fb558f47727b5f1e36c0ed3619098ea0fb649c1a7aa7ed6e67c769569bc1dd019d73143ea0e7d7dd4c0ae55d79dc94b0926553ac9bc13140deff39f3856a01a70168cb7db9723f11978858e232559de2e6f76d1b9838e2473edb22f3c4354ac2efa76da4d06979358a90f98299a8cf6c2bd395f3aa14d51216a23f3e6c4cb58b8296b5d6a013dc35dd61a3151ad9964ec2c197d9323bad9199a40cc6b0734eb3297c2cb21e542663406dab9 - -COUNT=16 -L = 2048 -KI = 685a73b1c1664c7cb539249fb44cc7049610d055b0899315 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1263caf019fc029cc873f493fb843259316268b3feb067017d97b6e27793590d26c272746950d07c41fa0856058a399a8728a4 -KO = 6dba6279446f0b3af2ec5535aafa5eb42edd6d28385252d141c7fb7bc5d7d4db69bffcf039349989c6a506b38de775c37d524bc6855ac3183d9523b03da82c8703cb075162d296e11ca324eac0adcbb7ef1da0c6110403f3aeeb61d99eecf7b9bfde393e19d87483b9534b3a32670b5cda32949b7f213b9701b00d1081402d5c658011ae09c4a25bdddbf7e40c255cbf433eb68da0c2b628e766e7011f842adcd50c41a0e91ddc9234d417f58ecfc34764865e0c41921b82b1d355ffa161f3745de8af604cfe9e2fb0f1d23054e354afd6c9174994e346e53e11217c6b8e6136b2938be83c43faeaecd6bf918595c7543487eca7afbda22fbb755933ad3540c6 - -COUNT=17 -L = 2048 -KI = 93bf46624f9ed6a554a20a9a4dcbc22e03951728928d3e83 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed6f2b36e8300062b60277651b87d9cc25c6ef9d41555162df655928f780611739f5ddb80804c71fd4754dbbbcbef4afd6672d -KO = 21407d5de6b084465c8d8d71fbac4d05e551fb16c233b0b7c36a29f8ebd7d2b55f2689ad656c4c1c75b624206637759da21391fcaceb48cf7c2e0023d471b03b01ad434e8e9477c4df0e20fdc3b5b6e8ed5a9e830cc01c3bf349a83d027706901759c705dfd42af43236420290715077221d26d8a8e5828cc4a8995a4fcc6fcb94f9a1e4857be722b062fe68daa2db7f5c2355c2d4fe55e541631764275edf7a302fc6d091c2147b49b034ea8ebebbbdc2f6632dc3983b75209f81fcbd47d072bf2ee420bb2e6d5ef422c46474215ba24b1df9a0e69823cc38fb4d1e6b737b99cfc0eee6b8ca5b23d40124916ed9a85d3de08f89db2930476a5f1f37ebcf2b27 - -COUNT=18 -L = 2048 -KI = e2fa61b1062c41dee230c890d80794abe251ad3bab093a8c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0303baa6871f86a2d6008affd0f6d3f9b77ca1b582012f5b611c468eb7de17ca7b89b39fc68c3c7340857a56ccd1a3301050d7 -KO = 0403b0b5c16ddb734bba6f4715c5aa14f2cf98e4ded7f0c76e0775cf52abb8891e3c8623c81ddd7b8a057d5f249ce0ca4570d1a0d1231588d6f6139e5297deff8e746a125e2f9aaf950784a88fe39a83101b60810c9ba56485d2df64adc3ca17330f4ad85f5e0fafd8f3b9dcc05170d6268a68236379d0081723ac45ba882ac4637eca596c8f37a500476e2e33fd2633aea0249c4e658556f750a29bb54b7639c90cba512ffbf850c8171d6f33e1abeb30c9196a4ee8ec9740b21ec86f06e6ddf09865e5774249b7288a87dc19caceea94764634d83c2eb93d42cec5a3c3befe560e7b2f7dc90ec3b04142dc7b2f71910b3e4b300e67be82b670fab6648ebbdb - -COUNT=19 -L = 2048 -KI = 75f738a8d7bd1e3de3105125d1fcb59c196af247b5ddd23d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5a428bb3d9cc25e52c1b90cf3959a18ff704060e553154092d63b910009233c987c7b99a90b6bd9c61e1e76aa9212d3bc9f004 -KO = c2a75543f5ba6677e1f7ecf3f1452c3307f79c8b48f222b344b0e58edce355180feedded3030330bae024d649976a0d9e007543d447c8453b09f574c7bb4906fb66f191b623937123f36c873c523ce610230c597710ede4043393ac9c5e1fee5b61c194122962c6e3cd926354bb74292efe6aff90ecf468a389a72b0eba6bb7fad97463328c52fd9166e70f51204a6c79ad394a59e523c4446a936f858df395c22462f0aa0d875457d381be77c1c372f0bf42e7d6aaada22a1d07ae290bb84b89b36ffd68de3e6b023a6acfe77957bce29ce048bcbcb0dff3d5e5aeae1ceb1fe2a70ab9165b98ddbe01ab76aa862fcd4efd18c6522eaad55ba63433dfe5634c9 - -COUNT=20 -L = 560 -KI = 2c91294837d680f93be655c0570b3110ff1afdfba9d4afbf -IVlen = 64 -IV = 1942b88b4641996a -FixedInputDataByteLen = 51 -FixedInputData = a66d3e58d50e1c49e2525f962b20d5a588e131f98bbb7be7ee178e9de07b7a9f8e63393a3cf4eb107ccef04f28bc3c80cceb33 -KO = 2b967141f85c501f2197c25e47488268d71823f8402f666fb3fa11a13ac8a4c1338a26bdeaba399189023bad7b4eb001b895d649b29b9db39148959bdacdd73b981ae0703110 - -COUNT=21 -L = 560 -KI = 47e1091322fe39821443f482afcdbe7af2f77966435543af -IVlen = 64 -IV = 17f2bef156190ffd -FixedInputDataByteLen = 51 -FixedInputData = ad87d7223ff2d675d9a6e23ae822e1a5ac1b9660e02ab6805ec13e39f0cbbf004802ab586313bc59f0c096a54550e03736c5ba -KO = 1e2b1b43bdaa3d80288c9f6822fec5ec9a64ecfdfb1051ba3393546b780f8e441db27b800ae055aab6f5e4999fe9d25edadc372d02f29e13964ebe16bf68f1e14bf512c46c71 - -COUNT=22 -L = 560 -KI = 3f61dd0fecdf7c4630a4d68f337bf4f31b002890eaed932a -IVlen = 64 -IV = b6096983d3cf8a83 -FixedInputDataByteLen = 51 -FixedInputData = 08aec530699d390a759618d3bb66a1563a83791bbd47dea8e71b411c45c3be949a60fb133d24df7b23d29b5529737e3ca5f844 -KO = 9e35386e6da44df7314abe8923c558fd781d75051c33ce2b5ccc702b67b87589e33e2ea19989176d5417b5c1dbc44ce4823c9d7bc0f23083b11036424e2799dc54681a858ab6 - -COUNT=23 -L = 560 -KI = 88e07258b8fb04de8687b13ada333760803bb4afea27481a -IVlen = 64 -IV = e468eb56141298fe -FixedInputDataByteLen = 51 -FixedInputData = 1f4e7f07095e49181a97f00097b7e55d86a9f0cad844f90803ed269d1092ff24c24a3ca854990eec0777e1d9dcfa66744415d4 -KO = 36e5de9b42b2bae57aa5e325b109bcd01f1fef96cc0805e95ed460d85e8550f97c65f5ba964dc5ebcf772023d4585b94c9d55263efc18ab9a1becba4fd40b554b4c129f2c2da - -COUNT=24 -L = 560 -KI = a8e4856be25e5f1baba80e89012030f508ef25c89e600ffa -IVlen = 64 -IV = 5571aa180c6d2264 -FixedInputDataByteLen = 51 -FixedInputData = 3829094e56acdba7be05c72a6b8c03ada38b6e9484e969877570992accaffade996e0219833190cb01241948ac9aa2e65e27a6 -KO = ec15691cbfd0f64cf67357cdea2a515d778fb1ca82aecb359186dfacbfdf351611196a2e1d98eb0f340046d35790fcdca9665faaf8cebd8063a2006029949a6a864648cca7bd - -COUNT=25 -L = 560 -KI = 4b115b4de92710c4d97caa88c29f89e31da28da1a572a3f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3fd089b6fe43038ae1445ec83916e314a0e4c22622028d9f4565509ae2a633b00bf9f2b8a247db6aadd53de5b642bb07e05900 -KO = e9ebf3ad587cbe25bbb35b4aeb61a276c5abaac8835c19cc8a1c623a9b2c72cc972007e63acbe53a09a58a84dee6c83e018522bade0aa607cb4eddf61bb1ad6e80b42b3fd49d - -COUNT=26 -L = 560 -KI = 00dfc7304a0201658a4eeb726505a91a5836403cf880d5e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23b1aa331451449f008fbef263d6546c8d50d1114bce3c73b153c0844bc429103aaa9c36972f30405a687df0d6e8aa80c9418e -KO = dd84d64cccd79dd009e84ab55bb6cebd215956464ffbf7dd56b83820eeb27181de6ba04a54dc71aa7c8ca85cf056eef3848afe35cab3f806680e3e1aa0db406fc6db19e99087 - -COUNT=27 -L = 560 -KI = 6ba48c8e64232d820beed475cb546ef39377b7ce93703f78 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 589d11935ca518eaa040c0e7caf021432cb1a6004a02ef0c14f663ab9c057027649ba37c1402cef36cf7834e5cd18a5b63ae5a -KO = d1ded33dc117af23cba53db0a31fb8b392063d3b3bbf779155f4d3317fc5be39ae70eb89dcaa31e30344bd6e54f13fc3201d7441ca3329ace3d554ccae3cc3a67e75e84b1763 - -COUNT=28 -L = 560 -KI = e45c79324467e64937f9fd5a7f2a3f48130094c3d66f663c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc314f977b2394436d80eb655271deb87fb097362f5d7653d0681c8ef2240d2093b875997cc466a70bf30938c3085809b09a75 -KO = 5c541465d27c0c3030ab5486d4b8a0bfb20316f6fefd636bee4067891dec4dccbec1995108d16ea797e4189a7a85a8aac181b0cd3eda412f3c463ba69032a6e5f8f41cce507f - -COUNT=29 -L = 560 -KI = 2bcf8cb6286d0eb310cb3cbf76c8f849513280105790d950 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89166ff766d14e129ed31ce74ebb982761db39f0dae8707352ab22e740b645683e9b4c3a15412f0a94c19ea70fbf9beebb4344 -KO = 63b971a8b3a3da3db4a3c4b3bbacf7d70c4010571a94b04bcdec7bf815c526621449debd6522995b21bcd57028e293c5dbbb21c2ce74182f179a044b795eb77d391a0dd95c97 - -COUNT=30 -L = 2400 -KI = 36d4ed07b0734fae56b5087169d2b3694dfe39a41c06f6cf -IVlen = 64 -IV = 73cc933c681d8966 -FixedInputDataByteLen = 51 -FixedInputData = 031c0da143a8f5d7d629310dda95265ddb7ac2510d8f3e6b7bd5d2904bee5f90ef1d5efad90e48183419ae43f750bfa3ac1f55 -KO = d3022a8e66c3a7d5b88c7967401ffa96dc8b7f1253a482a9aa8c65346bb5d1dab896cc2e9d0937ee012b95365ac0c1e5e25f7e8c6817d8f83f95a76e689993a68788b0980bae3c705fd8a955f8392460f38655a93d923eec1becfd8a36fa3b91a87858b561e072d0c2081d425be6e06067f8b590c4ad94f917d6d4af4250d913c7f4dcd3e4c729d3e5a4343f3a800e5dadbedf15d63f1489eca3aed455eb5dbfddf9c672d68016fe2a5f9620cfb425c44bbc8ddcf90c878cb8f6181b46fe874f5c4cc349e3cb91f5d62ed5809182c84d50d9b9eae74379d0e9e5bf7d3f938e16ec2a1498ead56b778888c42420f388b6e21381d0167dd752942cac4e00d20ccaaa8e853c707c8c671aba566d4ad1bd847fa7a1bd1c6b839553db555e5c3990a990b96bd5f37994a02b74178f - -COUNT=31 -L = 2400 -KI = 80dc15c734b34ec4474914525bfb231c425491c102aef90d -IVlen = 64 -IV = e52ab51363f06a6b -FixedInputDataByteLen = 51 -FixedInputData = efd3117da2d026aae6f2c17baec587ccafa0a4f0ccb23c38c999febcd10f8beca03c88e6b5e99f8cd954c7c4a043b6dbe44d55 -KO = cf647073762b3ef55f6010835c022245bbe95da79b6716496da673f76db4cbd03c0bbc425cd9234b36d1b915ed5825aea5d964aa0790f239b24671eee26895feb29431c9cf5874539b1a756b40966692041d4454eed0c5c688d8026bb61caab2fcf7e6eb628a32ce42593204b977510e9ce8f6fad8447afeda95d42f3db00ba7df1ed9110d993903ebab03d3ab46e3c64eb374b7ba6d0961793d881859f345b3eeba02d4adff6e579f69beb3af6fcb43f30a8f45a2570c60d4dfabe7a6e0b2f3faad7e0ae0347093e77578ac801d39904a118c0a39df79fd4e3068afdec6a22f5b0ef08878b6149165a4c8ad043af18b105d9fb7775bd47e3875859cc590fefc234d9f47fe9aaf2889c9ac9da8fe2ee0b65271e27a481f4a677fb9a01fdd7fd10650928252ff119fdf66a69b - -COUNT=32 -L = 2400 -KI = 976dce1892a76d968ed7299cc2a112a86b819d8d445f43fb -IVlen = 64 -IV = a275bcc34f76b087 -FixedInputDataByteLen = 51 -FixedInputData = 5b23660051c50bb981780524915a0a654e568b2e224ac127dfbfa28b65c802400eeac3d001951269eef4d364538f2eeaa55344 -KO = 52b3abaea42f5b5175aff0adbd052a1cbec319ba8f708f027702829c6e49ac3378818ebc0da1d89337928a5c6acb8916bd915d512c1ded61c5df0a3e055ca0b7125fdb6e82ed14ff5210d6f3105ad1a5e780418b81b2ad66a3de4763fa56bca1d7521f03efe6b4a44f48afee6a245e9175b037c4e6ee4c57f51f5c0f6e2836cc67212e432b4fa4c5e6137cb0d7ecbe5321ad82cc768cd879325e097314a5d71f4eeef08fec003a2281fdbeb405a2ffa5acbcca867322b08ebd3629ae22571ee70a505af53ee8ee74e33a11545798b1eb9dc4bee4e2166bb521eeeb5299640fa74e9caeb43f943175dac9034080be694794fd4aa003923a0fdf5ba200284ace33dc6a204b70a44b8d5f0887cc9ac2c6ab19289945b8a785f6936f4f1b981705e6ddb87c0540f10572407adf90 - -COUNT=33 -L = 2400 -KI = a9056d564f388c48259223ed7e535e3394dd9c93f20a8cfb -IVlen = 64 -IV = 5d4c57c55026b546 -FixedInputDataByteLen = 51 -FixedInputData = c0443f3cc1fa9be490df8f6afbfc8cd69b838a0344431c598a3aba13502911dc5030c329e5808b1508316705cbf1fd7480ff82 -KO = e027c1a3aa72cf9d423e9710c502b11fa945e3cd3f551bd9f11a3762701793ba441423ebc430ad74164e239eeefc37c00db7fa5cc79b880c4772dda18a15098f7d5cd7eb374070991f51ae59b4dfc9dff5c366518a459aae14b1cca550b6e916d3087d1f55f52f6a6cec97b33c0ff3b39cc240fa02ac91f877302d1cfd67c7d04a003309abe3a6d7afdc264b4e5f642d25ec4e6981c60722d1c966ec5b48d038424392276555761e8edd4efbd129a0b95276c6867d389fc7b5ee103a656f62daa1b3cddf7d7392ea442768e7ead6e167658fdb7cdc28f7ecb05403dcc61c1254988a1cf71fe2309651f92f9fc0363324a08c217fe3b4cce0927f1be56735b5b87c6e1626705bea5ce523ad6dfd11ccc2ae1f3395bf097dcf96eea0484caa85a1ed838ee7b0b787e626d6a9a7 - -COUNT=34 -L = 2400 -KI = 7657089638b58a71a02ddb5f5a72313b2bd767731687499b -IVlen = 64 -IV = b40e09f5d0324a91 -FixedInputDataByteLen = 51 -FixedInputData = 66069bc558c6dbdb96a0bbf519ec3ab02f7f32a955560022a5f2f1c58943e6c859f31f4feccb6d39754cd47af864f659713061 -KO = 6a925d3a3d4e184e539c2ec545b76c9dd34f147bb2ae249c95202819e56254d2b9665c139d381641e8bf1bf96e4fcefcb5128950de5038c77334cf2df14c30fbc27402d58d984846fb836e72881a357881a1ddeb5061e8f1dd85e299e2a62865b463d445563d76bf5d5412817bdbe1189858e0e785439df6bccd8a1cca43e7147c3a18f34706f2bd5d005a4cdadb7980715a4e68c6202ecc5536c14f0e4e9251d29e8fd2c2b838efd9764577d8199904ee4d7c144c4ca32f65dbad364dd3521b51c9318540d09c148877d82bbfffbf7f372b840f0402ab530eb5eebf21e065af84b5151d81610fb4ae5015615f97634e881139efb0d4f8ccadc40c0ce45548e0e19995b19a0f8773adb04c6990416ad11a85cb233ce269df0c1d2689c2e8a240d12ad2ab7cfcbe2d5cbfe191 - -COUNT=35 -L = 2400 -KI = 31c30f8867e2c6d40e40a8efd96a28e381bbed9fb5175610 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af99157ab352ddfc8973a28be369fe3b74aca8b99a4c8749d9d8a6579e8449bfe0bc1c996c7f4ac8befbfc6a05a9c97b6bad7d -KO = f2c73af0172a4884e092010c95a5fe0f5b72c32ed3687895ca3bd548736f0d9d2977636a067b6b993de09fa2a193660e484b0baf3aed5c545b4f93df3fe792b12790766719f9986da93041735b0b22f493a88e162180b179d755b4e934007353d5d05e5d2f7d7f0e8d0c7431792dff4146231eb6d5b85e64631549524d2e9713c4222ff11253bce1a22fbb0559e8e81b4ceb4c76e895b2de3b2f98c9feeeb1c93ee8df37af396b0e209e9abd4ed5daee0b21c308406230930358aaaa0e5e6a238337e816d2452676c9325500c2bf61b64f6397fdbb66a376c5960bf3effafefd1f47692175a6db8c1fcdab83f4c838c36b90b54de9f9e6ccea9f14f564f87c0b71d0eb921189d830eb3ae02ea4a4c487bfade745d689953d8f4597918651d4dd52a2a381cd160cc3b801fac4 - -COUNT=36 -L = 2400 -KI = b1e2e84c3b6ab833e1e31d03e27b4f55f48a525445229798 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c142777807a91ce419c85df955831be56c4208f03ae1f9b979eb898019e4cad3c31005af5fc07ee9f6d696214bc566aeb6b606 -KO = f81edf3598c833005d17e9c07f2cc640374f62d56946835a3596813326bcc879e2dbd23842c35462639528e2cef78aab6e97be1c6b0d20358728aecd11b0ed61a1acd6cc63050e3edf05e257fb7ae8a59ff21667d4e69b3041c5bdcb08513b3e5f7919cbb6bd8ddbc3b048202db514eb78e5b43fd9a1a46f5419f97e90531bb982f3f38780f681468d86cc40cc42045e90c4b815de39ad7b1b6831f3ca6d4a1499ff197c7e7e036f6fc3512d490eeecb4a43dd83a8fee2abbc276da0efd808584172c9345c2978d6d6518e553d0f1966eaf61d512fd1f22f5e34d1cbf8a47e1d6bc06dca4da6d062e56e966d85347a29979fbf022277bcc9b6f9a76a535404714e49ca46e80d3c4fb95b26bda9048722bce9eba242bf1ba06a2c8f1a2b7baf87223ec996ad7d2efe5eccd001 - -COUNT=37 -L = 2400 -KI = 5cfe7d3b527736eba2b7cc0f975e389cc378b57945d03810 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b3110b279e55879fc2282f6bfc1f6b286ee6c38d8c72a54522d500c58cbd9f20b77b50f297339dce547da1d3f5f63315a239f5 -KO = 55444469522e9c383028d08c50c219102f7920442a9f0366d4e9f5c497ea23b16d50ebaec3f8f6791705a79ef06bc65c4a3020e1b73c844c576a9ec20bf6b30493126fafafea91d123ce006fcce0afdcd7c94c4b31f186124d6a3c1acb2401efe3e5758c848574bb92a85828c5fbe60d70451e66f1abd8cdc06361b5980f66e00dd83de1e3d708098c9c0075a6b6ee079ea2dd41ce9811c73eaa512c93c53eb2e354013b77346a0b00a6bbb36cc233f778f5ee8d598e09f30270571875cbb81235a1a50f2b6cb8ce3731cf0c2050636fe3f02c75abea420b46181b106ef6a217d22a1dd6394a109ed82530e1360968190ded7722e0d90205289772f858f72a69ba0416ba86843da55b639d4e76d697a85821e2dd69aca1f5727ece67b5d790dd64a106a39ed4bbbe723f1e21 - -COUNT=38 -L = 2400 -KI = 8e489dfe25006002d0b5b3e16aceb21ca0617d0a96d6bbf3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b956462e4dfebffe0d33685107add770ccd7df1eb0ce53b63b2fd51005785d73edce3bb489df3f5f00b058630b1a41525fe6b0 -KO = 1d6708fcb32ff8d41e2583d83b7d0ebaeb9296f6899a9759231ef70ee1195b77a1b6176a598f870ccce9630d42d3f3a621610a3e57b61dbd2354bbd074d1e070049c0942d8882ef688e70a80333a153564fa0278b3beddc3a796f22d450d3442133f47e65655f13a0e7f61d90d6fc9e21e99b767e0b76afd8de1dabe9d7b04b534692f9491e76a44d22c2cc43da4c5c04c712cd6ec3c8775dbf5286589fbccfb6c92c09cb4b4feb63babc0579a65fe8ef51a991eb6c4f6ef420c80f2e1b219b75bcace2d1177b07e617c0f1b387b56518d63c03c20339b84d2598a37547f882fef17770cfac2b9e81ac504a6da00ef23fb93fcceb3ab015a8bbcb479f84e2c76316df6d723059d47b3357f87ed1a64581f4b1a0c339af48e4e490f4762fe80b2d5531f17331beefc8a8d15bf - -COUNT=39 -L = 2400 -KI = 9b0eda1f5d3ad0a6653654b09bf275ad7ef44843d2ca9bc8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c3159918c5b0c10e3026f60d55fc65ae091fd148b77b110e298d6c801ab49a7c466af14b7b21c33edb3c2a903939308fe52da -KO = a585a774ee7585b7db94bc4410bee9211d316f102c13af95d9970324841348dfd0e067ecc59d1331ab871237bca2ee7d992f39bad3205b67a3794181e6f3e766e4d27ac36af94835cda18e51c4b9d1b047dbf191a0e80ebe9a52a942f252d63db7d29b160a19187e346456f611c99b0ce783cdb9f24161ba9ae8c2898a2158b9fe736d69ba3614965bbc6682685d116d6b736dc14f18d7103316ff5caed07c879bd258d0a28c7c4b9a4fb9b892bc555ac6e6625e10ea2865983649787fde6c8954cec1b094979ec59d864d8887484fb98846221948640c1d16e010ac0ea6bce709976c0c2765dc3da759be2e1511a942f506344ea4e0be99d13aa07d60eb7ca73774a57dc8df6395cbb7ac55c68a889b219afdbfca960bfc964d93c01f06059c12d1c7ed8a6d527e79691520 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = c1a7bb67ec4f25992b8f6a102b04593de38e98f38a95eb2f -IVlen = 64 -IV = d99dae79bfff1708 -FixedInputDataByteLen = 51 -FixedInputData = ef1bb808262d1a53dd5253684cef9f59b448885152a8c1e4eddead63f12273c48ee58d8221f353c7940e21d77e3ec1bacee8f0 -KO = 27091fd21b9fee903dda526be91b9aa74762e048b03b0dea5897f9355013e655083f9d81e0993c7dfd1b532c82aa9c97583cbb4c7961975ba3de09d82f3d3b91 - -COUNT=1 -L = 512 -KI = a7b4b2f4e1ecba79db763a0eac22663a385e9a183b31bd6a -IVlen = 64 -IV = 54615168ffc0a2e9 -FixedInputDataByteLen = 51 -FixedInputData = dfd962b842d811e2115e79b2fd7c831321b4191c85624ba09e61db49e3ece4d6099bbf59162a407c725f5d340a99cc4e1ef93d -KO = 972de27f9a1915c247db63bf1e219629ab9fa6dd32cec224780fcdf00d9efddedf94db27228869559171eac2dd91c36d48fa4f85dd4d969eff28cd9eb613a272 - -COUNT=2 -L = 512 -KI = 794b71561554438fd0ec1aee0bc280e7d0d839ffc5fe7676 -IVlen = 64 -IV = ff357b33e14780a3 -FixedInputDataByteLen = 51 -FixedInputData = 0724837d0ad36552eda849bc5c141c34e6d022dc230aa9351b3a2d3d26e2091e9e79c3679ff9f1cc75d317f50c2a36546b1ddb -KO = 7e8c8fb688131d5eff7291be0d1a37827cf3bef64b38ce66aacbd74d8988e80f430d43daeeac495acbdb1bc8ac2d7b4f456a6610705cbd99bf8fd25c005b9555 - -COUNT=3 -L = 512 -KI = 2daff105d641aa5656592dff01c91c10fd3862ec4cebe92d -IVlen = 64 -IV = 5b68b6f13ec598b0 -FixedInputDataByteLen = 51 -FixedInputData = 55972c94a01557d084657d60c176272f324116de0332e06cb1849c6188ec9b77103c8c1e42105cb2dc7a03e4f258eefd6a78cf -KO = c7e01ba353ec5ea86a90a6e380760d3227d7cf984f484934b3ba8492ed848aaf9aa518c9fb8379285f3333e888a0a862c04fa6e34ecd6cbadb6e5226791a298b - -COUNT=4 -L = 512 -KI = f9a444a67891d2dbe75612856d1005b20b9bbe40b95b8b75 -IVlen = 64 -IV = fbdcb139b291eecf -FixedInputDataByteLen = 51 -FixedInputData = 6c0053734790d04397f8c50de1b8a02a54ba98e63164b505baac8e9df6b4f803b238883bb71e3299c1f0e862d64c4f7fe9a80a -KO = 80766b95c1cfa079272d61834a3764d29b375d2b0282ba3f7946dfcddb4ed4c28f030f5f8b2c2b0818899ca9d9296f1d2b7baadb42e3049ced4284f41e9b58eb - -COUNT=5 -L = 512 -KI = 7b36eee42b2a20f52397c0232662ec9ed2699d2c1e5e693d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad81b7dbb2d3e82e25077d0103fbd43edad4334477decc0b3475278d1682a882565ae62375e6c4c988f2eb7e9c2321460a3197 -KO = 6651092a1344962ded7d84d92d06ddd50a8bcf24ab7be9663557e5d0417d94ecf0a594dcf8d6cad64fe36121bf94afcb92a417664c80e5a0a9285c955344173f - -COUNT=6 -L = 512 -KI = e0a79d6a478d34fae768ad17a2ec4897dd99a58bab52ae05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e26e6122dc78dc090038b878e9fbfbb5e3d8fea505445e898cf7f19225a1a64bdf540a3c4dfa89920a752849b736911d00e73b -KO = bddcec6a4ed193c2bd5f919111dd0e67a8d54d5138a68dabac576aa9618b223ae3589ed5d251d2f7d742cdc8732e88d6cf7b084e06f1d2c6469c8f8bd7b658d8 - -COUNT=7 -L = 512 -KI = 5fe75ee97816a2f3b2f9ecc2ed427e2b932bceab69bedc95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b2669049becde35c6cdb94e3c852435452a121d38c004f0828342721c6ed25d6597beeddaf5627badb6e6deea9219d0aba9dab -KO = 41a7d103f8c9b46b60e5d15d40afd718bc8af31248325e2a733ebc28357e3d96217f6aa1796d7b610ff8e524f47f538ebbad44e136bd3aa8269ea0f125a0b42d - -COUNT=8 -L = 512 -KI = ab77d522d89c4d946768e4092d6c95f652edd478614e9988 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82ec277b3cd17f35158bba9de21dcc5f031f7859cf2ae0af0384ecf1e6342b8c0dcbb3d8d750bcff026048e8ce36e6d94c34f7 -KO = 8b4055c27e5a384676ab4e7a7a5642d1bd27b59012cc134a5295aade08b7b369f00c25924670cb4d60c0acf0a969917d5fd92929779151b6b27b10e42928f4b3 - -COUNT=9 -L = 512 -KI = c901992cc0ef6e1b0a706f58c25f9f0a0220ce6a601dfbd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd4a99c99a0e5b442d5d0c03fdcddbb5e4bef4bc2fe045a452d769fa4af810252480a9a918366feb2d5d02c52b1d55be5b2937 -KO = dca638785fe148467aeefae1960b67a52371717f05c1b6ccdea71c0239c6763e3f96e93a8a5ab5908a27239876daf6f554dcd114eab4013dbce2085a8b3cfc81 - -COUNT=10 -L = 2048 -KI = 3fa19cc93cc1f7858a96eb9215346a863fe1f4df0f668f83 -IVlen = 64 -IV = 6b7f788a32152a3a -FixedInputDataByteLen = 51 -FixedInputData = b2ef7a70f5bd97eb5b4a42825aed202cf0c1dd85b0bafb54829925523e04ac42167e0d4a6af04f6f55915c25cfcf7c7c35623b -KO = f68e3d43683142c14f6b91d4464675ab3b3eb404bada72073853bcd470c6a113ace369d8d41b4e528011b14a83ff276d54575253503712c52decc6957995b00693231fd83d2a7136c4061f8d9da1340299907b616ad0f300259c32d3f6e89e331946d97ca43edf44daddd09a3e826c0ab98c22a972177f172a4a989a8e21abdec630f2c051bde04bd47e1174cae6d74e348489e8adaecabfae580d33e6e3d06deab4ec34d74d779f97f803c1611505afa72b502d8f212ca23a248b4f0f325f2f8086be428cd1f62cd55f48cf9adb39657eccbbf5528d2169d60767e252eda3dd46f88c1fb870adf60ebe9366185e37cb270316ed9e4054f236b047c776911940 - -COUNT=11 -L = 2048 -KI = 9a40fb67d73565fa30f9c165f798323bd4b5f6d89f2e37d3 -IVlen = 64 -IV = 86e36bd17725eac7 -FixedInputDataByteLen = 51 -FixedInputData = 02512f47e2715022fb132097771dfff89edffd1dbcc3aa8cfa0e76388351082cef50522b202cb21b3e79fea1de19bb848918cd -KO = ef06453bbba4e04ee10f3ddc7b1780f07128e3acee5a8657521c82333538fa951aaddb7691b276fef1d788304909bc3433f52b7ba854745d8d3dcb854f7bd9c1cfe9352623e09b4cd4514dde67af82105ef6bc842cc85390d42ad4d24cab67d3fd212a340bfc61f9ae4adba14e9cbfcde8dd066c430a0431d1d59cbb3d9bc2f7fd567ac6ca11abc5f524e24352ad3898d13a9411fc21ec7c1b21358e39e72ad21adc2ee96f10e9edee3d0b4d952333291483b840083e68490eb00917b8e7908d27e91ac3cfb012e605bf0effe0486091199c195b71643f00d2d3b15f4b72a39f0dc05b51379a2889b486ceb94c7f3765f2a45a4915175e5568e1b561fb7a8d95 - -COUNT=12 -L = 2048 -KI = 6f228b2e380ff7dd202278a3a52eda9759a61243deca8a4c -IVlen = 64 -IV = d97a4bc8c8bc60f5 -FixedInputDataByteLen = 51 -FixedInputData = 0f5c8307b9e134ced8dd8f7b39c5d3f2690f9e750c383e8cae92d2b154e4d0302597b6eaf23d8a6d2aad6c636ef29de8f87211 -KO = ffa4c39e669a3717393cb163dd65d59eb44a7b8675902608d814e79630730a66d84f5242510f55ce646161ce71e14201af330fc4acbb4f3bbf4d6ba72156a4b4c68de4ad271276a3f2912ceef6e18f5137babdcc5571aa963e2571cdc2eb3d14c05cd4d0f9cb323e9e210c84347c41fb684a52c088b1850e83cfe7fafedd018acc6f7ab58993f7d2aca95b6fd322bfac8573d4def42b30ebee71b8b4e8ec0ee89ff50ebb2c4ccc397d110e2a9807c7aecf8320837b6667b1d6d9d76dd7bf33996779542a86fa7e945ffef1ec69e15ceabc830e47525412296c49d5fde66e28301426dd0c295900d8f8ac09845a1db165cb2c5eec1c2f99b6405480af7d8fb794 - -COUNT=13 -L = 2048 -KI = 51e5f7650b92ecbf68ac5a340fb17fd8ce4f3e62d3a69082 -IVlen = 64 -IV = 6c8bdeecafb91090 -FixedInputDataByteLen = 51 -FixedInputData = f21a28e1c4f99f65909082deb6943d6762bc9de5ded47facbc098d225a212378d61ba86ed628fada1c88a34f2199e36e568ed0 -KO = f4bb7e8a145dccce89773adb43f6d4df1004249b9e6131178673dd2e141c592784bfbe654ab8a3511c45801e15b9693ac7b2e1051561302821739c3a80c43e208779759a27bed15e984de2bd02a34954bad34361105cee3b0e4fe1ae20ec36f207a1effeaba960225e59ab10f26b00d3ba54b026803355767ad29489cd63c7022bb1a30c5a4fe3268632f25358d6a05a0c4936fffd16915869eebf985871801677a6a7de7cbf78abccb3bc92cad38b4b3849991ec5a19600455a175f14502aed402681e39067194ada5a14bf15e97391118f8624072f422d41e999cd24fe9acb6107bd26d436e62301d73bd9d9a58a2dabb53ab9542473593ba42ce39fd4fb10 - -COUNT=14 -L = 2048 -KI = ee13732b1e2f9dc6805e3078772eb11be3715d654bc67c0d -IVlen = 64 -IV = 24f9a422e56059ca -FixedInputDataByteLen = 51 -FixedInputData = 49149968e58300706410263d977f0806e473d012c60b2ee1b49933083499648b7e32a85635ca3161126c9432cc7231c30092ad -KO = eccec3c2cbe380a5977e890a049502583af2cc98f313645c68993f28889640323a99622ae4ba50d527d450cf1526fbeb353884061266b4a0c0c1a001b9893d895eb42de805cb7ecb2746b125aa5c80ec091c6ca5f6fb6bade9f83b9e7e181eafc62814cb9d97ab7803bf83948a9d9eb38c884efc6ec557879952e139a7a02fe7474e1601a512dfa298a0c395cdcaf51a913b52fc21db75f3cb8d4f44ace29e1527c6b267783052f881f9517f6027093a722f34da1b7a4eb1d9f4c572334c77e4697c60a4f6734e990792eabb80106bf8c016cd5edaa37bba0240bfbb777d511a2de275c0ded2cebdbeeb7c32b1c2aa3d53eadd003f275034a8815f1a456bfcf6 - -COUNT=15 -L = 2048 -KI = 88cc0591e7727235d5fe0348ae7ba6d2b032ff6185c299d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4a30f359d11f0b368c4e1b7d92fad79556a3a06ad9ebf88e237090f568115d69210f0ebb6253447797fc728c221636bfaa43ce -KO = 0b6110f40e024406b6f56b169b51c0e91213ab406f9c17c283b2ae5429664eee145449a52803d091db181000db93df30bb4a1f8863c9aa21c87f7435b9c2e09512f9093263811413685a9379c94adecede1c196df932531430fc82ae32d586299fca620480630a5b2d6c6004acb88423de3b479123aa345cb88f7adb81ffeceda956106766451784555616ea8d6d58919fbed046e88378865d386eb1b9afd4bab2384b1445574e2f1a4750b30a4bd5722e6eea837a29237b026af3cb7c5c7ad1044ddd7b20c1f60f8570bb792b9e029222418cf1a26dbed3ea6874fb825828c0625fdb11966b9bd7c8ce9b6b651ce263b07f49059cf4132efc7e082c0b9c0f38 - -COUNT=16 -L = 2048 -KI = fb459cf9d2e62548dafa8d63fa804201176fcccfb5be5c61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4332ef3e396585b601f33d082c050dff6aa430e7666781f8c758891d89a21c9389860f0fe685d67d9b0077e8c57d47755fa435 -KO = 37b1bb2ad1828e5e6ead295197ab6cae09c7b1ef1190b1af5efc2610f1bb2fcc178ff62abb3b4167f1db58a44fd8d8709b4d0a263f9b0137dc7ff5f9c1787ba726399eb33009f7c5ea806e05e7eb275d38870e6c2ef68ae22a225162b888d8d03bf2a6c66420c500c3bbae9fac36868cf6c11db92ff3c818a1f039aa7879f7457fef84ad0198b14d73c0644bdacd97e1b58be4e4015a0c4fe2ca2be2b35d3330a7596c991b4ff68f224266f58c96b495c248a1175f5690f45582f7cc3785f1358f85d78800a83bd257e3cf38231b58fe3ea70cb11e2e3416121e0f7ab483e614d2e05e2b994f379fd9fc8c06b9bc95bf155b35dd752ff87e600780598e1f65cf - -COUNT=17 -L = 2048 -KI = 23845fc07650967ce66be40a50d5034a50d1b1fdf071041d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fec77db9263fc550508565808371a0da2e67138ed2220de788fe9b0f928fcea16280822c2a1f59caeeccfd2f748aa0ceff3f61 -KO = 684e4f90710670ccd8f2a232c2ee49ceff7744a7663e2bd8eb96ba4546463b4035d043863de76c48238d36a16b6eee4b201906bfb3f3a8de4be92d0858b341657702ac6a1b93c2c9a159050324d645a4b4f4629c63192c11c3e4933357b9acaaeeb31af808578b9f5221e4a69e1978b33b124b5324fa9181b0126c1e1be5139950538f56be64d2e4464385dadefe87c76e8b814fe4bb01ec2a13f9e3bc33a99c0c206e47012c7253fda9c8ec903a79d64d7575d66f808020dbcd30377a1986e4456ed60d13f9d34c676ce5b50c3e4cf2ffed187558f15dd8b1ac608788a8074e3188a76fc68f7900d3fcb7df7f4d0885919f0a1cf3e525b5500039e4c427eff5 - -COUNT=18 -L = 2048 -KI = 49e4beb9f216e4e198e9aedd177e32b1e9e82b78f78a6255 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c8fccb0e1414044e864f2a9358029fd766b2d9a069171b83a39b7c0d1e6b952aa51f72394a29e422bfb2afc7d7b05a60abf90 -KO = cd6aef35b756a0a389624b5c5015e8d25d01857f7e6d4dc7afd7abc7c1832a3ff4eb29fda1a6445107cd189a92e0fed3845b5339dd8817c73bd49d30d72698af3ebdee980d1372268527e1b9472ec93000e2bc261da533c66d967dd76436ebb73b6f10861c35849f3269dcf054934ad6ac14333a5b7c8b7ca7fbd950042ea009aed3e5d90dba3ce82c1dbb533c146aa4d5691d51981e4a8b2a377bf29457c13303062ffc4500f49a475c997ab5303e43101dfe77626974f7838f811280097bd0a11be2617fb5a876f621ed5fef15812c21017431c820a7c2a840ff236fedb44b1fbb1a5ea3b8719d49a9c555806e0c7424d61e1a8b28d3cf36dca068069a576a - -COUNT=19 -L = 2048 -KI = 6dbd55341032369691e6f57f00704fd2d3173a5ad132428f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45e9ce9ccf4e42188cd1e70fef640f2943e019c2d10961d967abf15a50caf58fde007b2572ffea5e556a9d9eabf47d1e162a00 -KO = bf43cfc1f54788fdf66d49de6770da7905d1a5003c1c10f7b62e594e41f88dde28e79b8902784206ba8ed3eff3a26a9fec6604155bc8a7a713a22d50fe434b621df644db2e8861c047e0f13a1f71697743cf9e86d781e7af284936604ec6715c6a741be8647933bf4cf5e1d52663fb1a2434b01ce5964a16625e59e481799631eaa520bf65b05b1eeb459bcafd5ffc525dbcf8f6e82fd2b93fc217cbd892b8f88287b9484574aac8f83d4643133dd83ba3ec0d049882a6eecd706ba51a16c35488b8c8ea08246cd4e6c2a1c5e359900a26eb50cee31b5e4c6fe3884b0b703acb62d403b316d47ace9034ec2c8b7acc61f5672516d432ced6364df7015730ca32 - -COUNT=20 -L = 560 -KI = f8f7f8923a1f43de4a4910681852a4030e8f3e5246fd4a0c -IVlen = 64 -IV = c6c26d18f2d37e45 -FixedInputDataByteLen = 51 -FixedInputData = daf115328b7a0de149593cdbe8eac05d3237b5bd9f100e8eb669f6a4296b19af4b0dd2127559a754ce9cc761d19f140bcfb2f8 -KO = 83c097a3b9b8ca546fef6a97a420f569ff4f3c911da624757707eb384ee2a7de314d71cfb6ea8994dc4ef2d93a52cc5d0e4f34225d721c0d2b74a537432e2b3e16e4769c9dca - -COUNT=21 -L = 560 -KI = 94cd0bf2cd78551dd064a8aa2f0d8077be2e1a203aac2e75 -IVlen = 64 -IV = 89dcd701c9fb22d5 -FixedInputDataByteLen = 51 -FixedInputData = d5c2798cd1527907cdbd2dcee7d00a5e008b51047e0c204401d169b7664162d44c1a998cbcf810356003e66c6f4e4b66239bfc -KO = 70b90c7cca92af992c2557e7c33ea30096d0a6bc00a6d9220e3f63128031ce4f50d7e661e41c6eac6d56fab2f76a9600918602e0742f45df63638863aaa049775eabffaf9de8 - -COUNT=22 -L = 560 -KI = 41bc697599b0d3e51b6d856cf63bd1c79f3a28211d1e05c9 -IVlen = 64 -IV = aec17418402e8c27 -FixedInputDataByteLen = 51 -FixedInputData = f7a5a51e7a892532f4a3555d918bd02e9671f9064fba569150a819a10839a898a2c90cf2704d8732e0c9158558700528a6aa98 -KO = f300258c1eb1470968839c8a63148b0e95e9f1873eac50a320fbfcbe10e61c6bdc04c6c433a6e62c5ca4d9e85b22046ca26766185406ca156af6d12edd0a2fa754bc176088a4 - -COUNT=23 -L = 560 -KI = c40c0e9b099e4870a2fdd63298c7fc295090e58753f17447 -IVlen = 64 -IV = 4c78bc04fb68be7f -FixedInputDataByteLen = 51 -FixedInputData = 799f72b2014dcbb54c63b1faf7f67f96d48336242fc069b09315559f8431a40f892b6241500b0fb7fca7a970251191557954d7 -KO = 32c7a4472a70fdda8a124be2d3b718a0042d3ac2e5bfc304a4fcb82017629cf7f74b2a6ff187ec2de569b626246c7ac49b73daad2b96be37b074ca9e6f36dcd2616d74bfadb4 - -COUNT=24 -L = 560 -KI = 085e84e540e6a083f0f527053b54d306403b61f78b54c8f7 -IVlen = 64 -IV = fa8e3750349eb2a8 -FixedInputDataByteLen = 51 -FixedInputData = a4caa0f0ebff69b15ee58a8458d5f6f94752600ece872b4c7c09780024ece53ccad1c6713fe287c3162cafc81b5b6fb2f52988 -KO = a08f181fdf56d42d02bda106f1717a0c601af9a5e79712b131dab3a54d875b49604067b1e7532426933076a1fdf15c52123b6965949c0c3bcadb26537e62260365219294aed8 - -COUNT=25 -L = 560 -KI = b04d9f9f90dbf9b653e28b4e097048d6d0cdeb6bb3601c06 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e65b51511929541f83e6fd0a9c3562552c5518c4e0fee394b969fd1f36dae49080776d8f12956f71ecbb29cc4ae24329dfa62d -KO = e079a3ccf37889260074b930ebc587972945d87ed02d90109cce544cdef5e13bce01b5fc3bebf327e4e3c70e5cb86e92f894577207f02db700fc2fdecc9f50386b86b9b61485 - -COUNT=26 -L = 560 -KI = 8d49fe5788eb51fee291f4be54ff3e87045f14ed4ca2d378 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa60dcb51053a2ea6fe9a7fdcb320415198f873245941159bf4e437dd01723cfe4a7250fa3409ef2db5e63cc666b2ac3010332 -KO = da3f56218e9d98e22cefb3bb7d07838f7da02ac9f4de33f8e18756af2cb5910598737e25c71254d444099a202ad5663a5435e28870b6eb0cc8cc4933b77fd64b6996e78ee4c1 - -COUNT=27 -L = 560 -KI = 7899a0c1531e37355bc71ca95ed09724d587b16842415f51 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2ad4781acf1d2ac5f1e1cddd71e620cc13c3fcf22caf1e40b0f254eb450f72ff77344cd1388f67256afeeec89622af5b7319e -KO = 4189424de524a5aa292929baf50be191bb7c4171893219e55721117ea7ae1d61cbdecf101cf3febcfd314949113b20779ef53a0555e35d3652f974cf34dfc9c2725376eaccdc - -COUNT=28 -L = 560 -KI = 22f533f317865018fe2ddd62b21f0ddc50f87b72e7123dd7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 69f9300fbde87121969db618775cf5583629a2b31a8170fe206114e1fa861e9b15038142299ebaab14fa389dccb965d216bf36 -KO = f0874d91c724573aa6014f185c0696a8cded5884d04c291211aeb7fe18ae556d16188c9986bad7d69ebd98d2a7ecb84b3a6d73d53954938d4302fd15338646a192851c4bb8fc - -COUNT=29 -L = 560 -KI = 79c928196dcb234b98a655642ef71aa6e9df2b2d2a75bb88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c82c3b6beb49a58bc71019c659e01db6d91688a4ce040796e13c011e54ae6507f1d64fc6b7c249bf440f6a453d0fdbb6c6c132 -KO = adc7bc8fd079998d08bb20a21d0c16c8c7810e3dc2e2198c54c3522248b089c9659aee66f020b387d781d82b9bb406567adc665e2cc0920ee81fc1386cca4c0ae07783bac04f - -COUNT=30 -L = 2400 -KI = e9914f2ea554485a2c6ed334c016246b6506abe9c78537c1 -IVlen = 64 -IV = b9e9b8afd53f843e -FixedInputDataByteLen = 51 -FixedInputData = 8760d8e39a85609a3e76a23ea685182a35d01e01d9743684caa859d6c7ac17493ccfe0c7a6fcab17fc4462d15535db289e9814 -KO = f9510249da8c7a16f334e185218e4315227dd205791b3aad34ddd88c1fad331161f3f9ca6ef9076c6061c1a8d76e8cfcb05688139f49a62abfa56715c56c518694292a4584cc64f612e60f2b7d4d8c1f656f82d9469b6a5bcf2576749fe74b0c2150794060ff315cac2f641bf9ce57ad6c7aca7a102f31ba0c4ea45a6ecb1a71ec2caed453c7b1e98d392b17cf4e183a9cde995b9abb85130086ec0aebbffade667fa743e2b21d93552f2383ef953d66e8ab05e8fd61af40f8e9debe35088d8e789897403e5fc6c0ddd5a2f41bdfc276d7b0f23c54a7bccefd3c983991066211bb8e06c167d26d37402f957aadf4e3c95b532cc72812366b2042e43728a191aed232c1fdcd4646d2c16398174122f50137dcf8f34e7a850effe6ea6ea68e579abfaf798268892a81f854ceb5 - -COUNT=31 -L = 2400 -KI = 03840b7dca19db81d45a1af428e4ccead377b6d15c133de9 -IVlen = 64 -IV = f288bdd405d6e4c1 -FixedInputDataByteLen = 51 -FixedInputData = 08292425d1c5531403c98df2478c626a94c30e4a6bf1b16855ab122e821dcde2261de78eefb7792c4bc59d7d1af3bb709d5722 -KO = 8a41372be6442cd51d99eeb0a573972a69d273abd936189cf5d94de756f0236e87e27ce7315171cee3b5deecd2caa73d2c1e6ba47269d10ec1c80eaaafe1cac1e3e64da091b08939206995791ffaf95245e5f0d1e2f755dbfc9ebf5d8e9421cb9e5a5378bcb8f75eccaa8e4c51c53b09ff569104c91ca2186ba88c8b1d21556197751640a7779d2afcc2bdb0c8c6b16d2d79ff77ae9515ac77c3ef75d0ad56d7b219453f703ff104b2fbc59ab9746ecabac60d551f3b96b8d1fc89864f9a9975789b2ef1bc844dd1c6f2f27500af272efc5e84a7eb0ecb7b5b489e8a305118ea56c639f6a5c47f12dcbef1d8f4fb7cc14902b1314253676e7dce4b33d09c43df8529e6d142e83d0da9dd9f4d1aef303a279b542b4119ec4798346136e4cb049d5b5bcc98714eb7f6c0d4fc1c - -COUNT=32 -L = 2400 -KI = be5f568623881b89237c7d1336309c7a0407e15e33244a78 -IVlen = 64 -IV = 099edd0bd99fec3c -FixedInputDataByteLen = 51 -FixedInputData = 739a28883fbd87019e506982aa2e2dc93d90fdc44fa18b11aee56150d709c2b08d818ad3996eb40b39b5ef635176eb343c58f7 -KO = bb5633b9172a7e0f318742699fa251c4d4410b100367a7cf843532ec369871a85e4d1bc86b2dce03fc8545e50f99dc18f1a9e89ece537925090392d8ca2a8cc37c4eb495886e351379f74d81270a6b62e2f1f9be3c70eec272a78b92c676d346df47beb26662d475867ba786772cadbe2411d203b49f8b5796f465b171f89492655bd32dcf3ab342f257275c5d902f15ceb5062fdd8dae01eca7e0f2ad6fbc68aae48c4fd63d51cf150efc203f7b7ff45543c25b8f8855a91adf67e6d9a13d6d565528c895dec2c9420ecdc2bfe609d46ec090b8fb6d12640cf6b2445ac72e2e91406a97374bd66f98dee4c4027f795c22840c947425b0045883d026f83866edc94cc9c5bf929da75a78bbf7ded6e4116d82ff91aaadd4833d4c489891107b3aa637f5ac0cfb60665afcf9b2 - -COUNT=33 -L = 2400 -KI = 1ee706d777db428bdc0e4e63088558f74872d9de67203d9c -IVlen = 64 -IV = 07079d4dd8002fcc -FixedInputDataByteLen = 51 -FixedInputData = 66ca52ce285601d67959cd08655992e2334035d72e2382d30a283a4bce7334eea96217ef02180859eb33b5d146c0d56798f338 -KO = 45be2812e59671118e04faaeb32564868bb9adf5e333650c635e3ea645cfebbfec1ce5b2ceef6b7941aabd5cdb3ddb8360cd0859a0a16837d29a48fa4b863cce46e0353110bc94bbdf5dd618dab0d20eae7aeec0115a61a3d74f69af41744346924c124adcd6a4c53f900ddd0819bc112b4bd9e8bfdccc395613cd303d04c0888f7952c07f98b460329b3fcbf78aca238235238f91ae308d12e2252521a6ec29aba35c9a16d6abfd48d2d6086421810959ef91492480d63ddbebd996329538c4755abdc064e6a0e9abe05f6e4e28b93d732435df44262cfdcbff077bbda7ed75644fcb1c83da5b5d583a4dbf527d3a55fe88b7196e1106ec0b8c789755de0dc2df2c1a73453c7036240a80ba89c26d1f425b01e00869c7f7eeea611feb8d9f0d4b35fa44107339b39b1333c7 - -COUNT=34 -L = 2400 -KI = 9fb7fe2a0464a494e112b616762dd1e372554dcfd047c605 -IVlen = 64 -IV = bdd1927a66ba70c0 -FixedInputDataByteLen = 51 -FixedInputData = c164c00a3e2398f212a3dfc2b9a6e54142e9a026b5e449bd3fe065f284b6102ca6639d1005e814aafa18b1cb44991882945772 -KO = b0ece40e84a1d01f05e49df242d30293c0a2f619d229c59553d99e9274079c656b9bc141daa42ef9f6207b6180321141e0e292b13ae0cd745f1eaf41a11531c79ed2df5a3583fba4800a56e91c33f37fdb0bbfd9894029915ff563f5695d05ce6744a28140f34d5aad609379eea250ce4e6a6eff624521830d135eb6d15d8bc25a2c4bd0c236d5d5eebeff57f97f4e62a54bd4e7ff56f80a34e10e4671b2ec6eaac9d48eb8c15bf675e391ff48ce0026e33ea2804b4a41fc63cb3c67774b5d5597a5fd45a4159bcfb945c5e4afe6b45881eb8637cb8552c1f2ab782d120c5b5a2f15b80d9c26d4628ee3a3665199429e25d09fe42ca90b1cb15b42368be121e329266e92083f1d7a91790bac33194e398f465b6862bb53e7fe8be953d58b86250d8c8d746e23658cf6c4ba83 - -COUNT=35 -L = 2400 -KI = 1bdecf9f87c8119f0ed1e2e014c3ef8bdfd3412104a49ee5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = db25379aa43ca7ba178f3c44bf48ba14e23272b987331babdadc129f7a582fc5048adb964c4c8f3dd4bc54c41c140c0bfdbe3d -KO = a0aaacf1a3f209d0a3a49927cb3dfe5be341186a31b269ce8e5ddd2f6739ff3ee27e0d342e2d5c260ca91ea01192d231ec85c15fe687162a8d822c232df30c33af611558f652694ae8389b2dcf1fd00d9fde38b0b4f1ac3ab6b5aade30101503df69cbb840dd543fc99d584c933b23144980332472256d3df9238744deba745e74892a2f13d6ea2a1aaa1ad1b664e4a9a05b2dee4c2d6b383db2f2717019e19dfaec90bb41605deacb307b39e11bcd00c87e179cc832b0b45645b579f89ab5c326740d868c1078162d1dd9b5afb590ecef57e5b1e08925d65347c44b6c530e14321bab0fca00dcc988b4a3e12e5176529983ae78d8e8f115b8d316410d6a6cf21b60c07ba642e9127bec7250eee16dabafba09e48fb5ff81533380e393797a07aadeb0cbaafb0cf77c1f034c - -COUNT=36 -L = 2400 -KI = c839972fac87fbf8dbe8a777e8604eaf878d20b1c233ced4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 07237f0b9435e0cc08cbc920a196696fd076b68e90edffae7076e924bafb8294fd699f37c22fece2b16586b2bb1daa03917afd -KO = e18f74fccae83babf647f3b0cfb479da31ad69e46f5e541005213c1c2aa05ca51151fff7c6c2f339acf564b5bf5cd4bfd383dd0f67f47c22f68f9d63a8c4d6a130e6d1101a286e9c184462e00db1bd345d06aeabdfa478fb5551d354611f8ed752e95f9c3b42e49f49c69611e09804ae38b38ac5179782f17c3f8860446740bac4663b3d0ca3bb11aeda749985c8abe6de48b8da82f4f186ed4c783a65dcf09da32b8093b55da4ab14773fc81a8c4d0682274c31274a871918a3026789a971e131fd204e808a4198f7e8fd96566ea07405e7a9f2b5eb66fd25513b8d2b67c37253a614c4ae1e5900c5ffe6413ae9ab02aa5d9e661be11cfd26e16934f7f0eb11d667634a6a7c1bb72a4abd1debd95190d32fa0963bdda976ccda2b51d777d990c19ac21864c545049bfdb668 - -COUNT=37 -L = 2400 -KI = 2aec7ebb6930101ab51052ccfdc1ca0106bb69b7777e8862 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f5fe7034a12b7243f63338eddf27e612e611c5cc8db4648f9f36eb6951a52e98a4e9e0e61a25b1b3fea9193ddf9478c6c63bdc -KO = 323e19bbf1a1a9dbaa65931b8fe879cfef531b12400c16d0cd4e310d11687fde2f098ee72cb4bcd69306ddaded4833274059e2c6be0d27b9c1c8bfd53b6934fc52a639a6e3d42ccdaee13c61c93a74ea7f8a7ba4f1e499211b214c6ebed7bb4906c74263c37ab2dea55ee8fe8513671d287cf11b89e55a371574eb3d8411fd37c42603ab3586cde387aea5b9eb2ec1723dba0951dcca5c040338115a182d43b87bf53e8c1bd7baf915efb3a3fce5e97b8ceb172132dd4ec218f19d9482a7a5dd5d7c060305ce3fd9cc9174f53a331357de9eb10fde9e5a586b8f0a2d7f1424f5a2469a380e073726457c16f87e4d5caa7a3299a104ccbbe572f4db41d71e13ecedfddfc2197f50b45ccf88fda6766cc397fea07e43c8b3a92bc08b5c4fccde88e4c3794832d485a747491424 - -COUNT=38 -L = 2400 -KI = 5ad86a9ca3cc244779f58d185cb83094648aa703c23d4602 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = acb6a30f65cd1bde7abfd3e64268aac6a0181f4ec9998929f2ae20b5556ed2b58ef59dc87053ad812234ebea14dce47944d3f1 -KO = 99d4ad7f7266ab8827c4ba4a7f2160e440fbb608fd665c1735b3dcb0081f41cc3edc15a4718b99e31a76cd9b21a295886478517c263982a2f3cfb6d9636258defca680dd676a0625e032a79a93ef62adb55c9dd9ba5f0f0566c04e30768b211b5d6f6f7a4aa6618fea5f0e6f9b497cba41f4131002d7d515929922d0dc039054c0fa0413cd454a59f96f492ebc6887a55e748a31e36a0ed856549af4ef2561b6dd6fd4c984dd552783b46b0a8da20789c8439dba75272884897283caf236ce10613db9ee48699f1df94dad851f1c035224bfedd0fcd9ce06527fd89f20c11b47c0440874bf7001f03229cc3bfbb152e39947ea07188e82267819b7bc31ccdde3bc6daa05eb62d6c514bc0e6d5f1b161d459be700022bf13927b68d20c347a826fadbb2896966606bad81127c - -COUNT=39 -L = 2400 -KI = bb9b0c26c9f820b73797a37286e8c54bdb2a46a126666b94 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a96a984baa2a47edaafd2f8e2e2544d4e245f9d661ea5e9d08b2ece59952a0d2e6c0afd27bdda7dc0807d5ab66a0d775b58af5 -KO = 427adf8e170ab39dd69f1b456056930a8c52c828dfb529421685649f5b5d442ae3573884de28083e9123f8a01192751abddcd90c7e0abe29052276dd59b0eb9d6d4dce28f33d08d8e9c3bf0c74495b8916acedea52f610fc35380c15d9f573891cd2a94c2c0e8c77ab94004a689436f5a75aa51c591718a56118dc65ce34554e08c2811a746e9427990f3efe13231a65fb8cf25283b0f37648a15efaeaaaa044ba631ce04bbfb53132805dbe8bcfa0a2337120cd36234bb3f9c4a6d4b51c1711b16c255762fb8a1958fd607c3de96156c28cbe02c32c283bc0fd855fd758fd572b314505990c7a6848c2769a234bb1c43c5d6626c2c1239f4402952d6ce74b8531c39dcee6337be5e642a28711c8cf53f37ffe18dc598eb7fc11ca070d801f30f7b738e9b5bc2bbf720069bc - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 00706a55dbef7930f072c4383b5c367cce734ff614482c00 -IVlen = 64 -IV = 9b4658424a055ac5 -FixedInputDataByteLen = 51 -FixedInputData = d1c5d8e4a9dbd3d0e61e4793813a52b5b0eec19b5e4eb23955614669dd79a747244c47096fbaa93644c3d7301670f1e6a1c204 -KO = 20a983bf875e8f9110890863e14f9fcc4f782b8bb52fac9bc8a79f20e652403dac29956eb672e997c05784eccb1598120b4e318a1441961da6fe78f6c7e726a3 - -COUNT=1 -L = 512 -KI = 05df6b086e3123939767f93c126e7339e0b9572d2b57f910 -IVlen = 64 -IV = e0c94793eddd229a -FixedInputDataByteLen = 51 -FixedInputData = fdf2a2f30134fea17e47f809e852e5c54a4c10f36ca7d182e95719b5a5834dfaed2c8ce601a1c45c918d1527be743d878ac2aa -KO = 6bb4c18a965f991dca00c367debc240312efe612d434e1307d7b704f34554b48ed5772a0d79179c216ed7274b6f2b758572b2f27f0c62e688218b2092fdf342d - -COUNT=2 -L = 512 -KI = be8e8ef7b73fe2208171a2c998cf55666f4ed42dff9383bb -IVlen = 64 -IV = 0f3ef12bc9ec1b4b -FixedInputDataByteLen = 51 -FixedInputData = ce47fe92b1e98943a8a3851da848106285108ca346e3d41184134eea141159996af4dd072da68167c2853e49aeffd5d589833e -KO = a59efa5fc44c3b080b4cc6140e9300eb16f1191876f66e8080ccb95a11b873813b345cd77856ad90b6763ad9bea24cefec53483ea1090fe8bc5a0414456fc62d - -COUNT=3 -L = 512 -KI = 18793d7cd87e8bcb9482c4c6488bfc0d4e5717354709bf11 -IVlen = 64 -IV = dab15969a9651476 -FixedInputDataByteLen = 51 -FixedInputData = 238bb3df7d35befedd49e96f8c7e8fd94c6e97ceb44106f14b3a25e63478730e5a48ecae82f8a24cbd283f392442f273ef7e6e -KO = 72067bed2f60fadd71c4229742cb36ff3c46ef80fa47ca413ff8d4fc994939746388363685fb889147513e785e3d925306d18fa2c7281e249f685bcb863cc0cf - -COUNT=4 -L = 512 -KI = ed817bfaebec2cc7ec7a367e91f7cfea724e903077a0ea1a -IVlen = 64 -IV = 1bf1317653abd2bd -FixedInputDataByteLen = 51 -FixedInputData = 39ad2f8a6c49306b5f5fbaaee605f8df4568068632818f091380077382d5dfd325d6698a0db71a6a18e1fc4010a1b6e295cc05 -KO = fab2cb538c4080dc1d4adeb0ebe5a211d641261b4e08c428538fb96ed4bac3e5779fe5eaa2e5da658f45fc4e77fbf08d5f8408fb94288671fb0e53c151081c99 - -COUNT=5 -L = 512 -KI = 92950afa1b75c829fbacb2748d0332923751857a4d13c02c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d6a310f5d957c32e88bd04fdb3d5102b9681c2bf6239e1238161b8c5cbe9504c3f9e61555f27f8a2861cc58c550ddcca49c8b -KO = 4b30c5587f4c8c573388063d01280ac20c3ea6c8deaae46d850eeb24d3056b93c9f2739ee33aa9c19992dd03dbcf57654c3ddd4620bb4eaf963816c067ed1319 - -COUNT=6 -L = 512 -KI = bb71075e683f523c4c49d37d781eef9389aba2e93a00eb70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 695860a938769aedd7cef6b7f2ad883fbc931353f20de8814be94003c048a693fe240c9975ca17273fcaad5417b1c52dc2778e -KO = 3b927caefe4f89d584562048ef32943d324b9e6f5a8104a66845d114c267ec694691a95e2893cbfb516e91db55e63c34c7ece4467e604c390e715e04e774ea2f - -COUNT=7 -L = 512 -KI = 4a908a871912a4e21a6af39c9df6f548fc4cf244ffae535c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d2a28a2f32acb3aa3e46fe3e7ff9f0f70d6b4d568e4c40f8470494cf45506cc05a1a7ada0e5f7ddb43f722f573dd0ebb7c854 -KO = 4cafc52d43942a87a17a6ab37402648b2c943d519a091c153884a4bd8557237c4b033cc3ce9e8d69067abbc8fc4034a15c8a6309b1dcac3ba2d9dc05e0947395 - -COUNT=8 -L = 512 -KI = 2f81c8f0ba14d7aa8e2622e83c62ede1c7dee32c06fc81f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0be8a6f78685e00c5a66ee3abfffc00626932844a62574ccecc690276346fe0c64420ad11d078ef4f980a772a162247a9ccd59 -KO = 4ccd9d713cb6870dc8f7645440eabe46484dbd3a3eafcfe7944896b4ea87267c359b0f989b752d90ccf3a7b4798428d5e9e2e38c7f5a923f3dbe343f0ee7eda2 - -COUNT=9 -L = 512 -KI = e433aac92cd9b2042d1a59c8324e4133e78253e0de4a26d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e8eafb89a64a1728a86ef029a4934f4db3b8608783f09455f17609d1c8c78b8c61bb1ba439ace1e0d7b532db1ce87b72fcae7 -KO = 8cffecc3fe233c8d7744ef184380a82ec387ac6634a3f861822180fcc99c293bf28ff23781b175c78a105f837d8c06e5d8fd2c129bc8770053c04a4fcf498048 - -COUNT=10 -L = 2048 -KI = fc168c4f07a42deec9d80555407c983b997527ff8b32b8c0 -IVlen = 64 -IV = 9075b3e43718e802 -FixedInputDataByteLen = 51 -FixedInputData = d7cf3f65ee6e9b5c6342a8d920c6eab5cc60427aeca36f72e91163c89299c89ebcf5cdba928027913e8879aee231b9e2f0e5b2 -KO = 7e2e2536fdecc7adef29be1c02ba1031d4f6eef42eae7a45eb3c793bcef859352f3355a5ace9562a6b296c478f526f330175864459fe424b41a144f46aeab961419b8427d892e0611876229974aad7f25ee0e2c07706fe126b8ee6311803b175ecb0a6f8ae8d4ae5202c1d1b4691e4bdba80a919e09bfc49d8461b333edf347ae2385a6b57eafa61e09b63225c655efa2f996c123b2fd6a64467b084e1ba4db07f4c01e2fa8239e3dab3ad12d9e917e8dac0fa79a5b529583c872da59e6b94a5e040815a4e815b8fcf71c95f029c112faa04c93410227aba10397a7e14a8836f32fee643f32b9a358f386663b84992b4e9719f73ab8bbdfea80d15438e1a5022 - -COUNT=11 -L = 2048 -KI = 5957685551f518f528913b5275c520fb801897f296208ce8 -IVlen = 64 -IV = d02402a78e934ff3 -FixedInputDataByteLen = 51 -FixedInputData = fa87a1fe1a4a04173302205d21253e02cb44724f97cf82f8ad7a825ef588d0e7c5ce1b8dea4d343144310de448d7af50968e24 -KO = f5e697084a9db0148dc2668efef0836f7e06a64c61c48824f01705ce917c6f90de768c1fedcf133322ea48f6cf7dd0ec37e117f7d9852a183d7bb47d488dd64f2985bd9aed9bb0ca18dbda07618d6ac0818f087b769b4f9eb0579d3b6ece4130027151965b4eb6b1046fbf5d96190c338c70639347e1358be1d04509154afdac6971c48dae8bee35d883ce1aad041651c43c652fbebfc22fa5c30c916bd7000a23b9001655db79a00e03b6637913e3b1ae36c8d9ac06a2afc656951c24f5d96aaf65618aa24cdc2cc2e4dafd321d2adb6bd2924b0b4ed34e32cf16de629d54663c40d60dcb5890b257faefc31f83d6fdcc0a22267ba6f2dc0a25bc68d533f6e5 - -COUNT=12 -L = 2048 -KI = f753359725f3e72d76759851af5e10e714a99407b57ff495 -IVlen = 64 -IV = a1560f38b201efa2 -FixedInputDataByteLen = 51 -FixedInputData = d5d623dd94f7805f84c69a2b8bb16af255b227222cd1afb76feeabdc8b694766d80bcd3191e1465dd81098e76c23fb50243801 -KO = b955b75a9e6b6b0196144d9de7d6669469bd495f73ba0853a1b2d9970a922dd94bbbcf1f86e8f0495e08e9f7df9f1732073c4e141d603d498999c04360067886e7ab7ae4ed7210982a35262797c877dd41976fbbe46ebc684f3b0025c37f0ea157dce76baa4ea29c033062aba20b750405009553f01871d2bea9961f0223a057f863b2f35fb5aad469a6a51aed7bd8daff2df0e4485447297eedf8a7ad2ec5c98c024e57637b71da343c1e655f32e161df0d71ed5694a1d82f6415ad25d5b96540d47c0e741e7a71facf600baf8b1d4a81f3b1fbb7d8e0c8dc3790e5a2944e12e0f22acf96dfaa010a36e598b6d6d4348c2f946004307184cd5fabf5f992b897 - -COUNT=13 -L = 2048 -KI = 7c75bd78f2a8f5e817410df53778c11ebf64729c0f5d46ce -IVlen = 64 -IV = c5d55ae02dca3e97 -FixedInputDataByteLen = 51 -FixedInputData = 05338502c1cd7228aeb41d22c44c7c5c7844c95bec63bb3b32b3d628b44a055e9e3d88deb00de5ed485819551792d89acf08e1 -KO = 49532e9f9b6b3665c05d77f1caa2a9ac99a2900951f3cba5adaf2eb9c69cea750cded2236ab5659585c89f2404bf44831e19aef45b301d05b9e7c771e93e039cd2daa1f4436fde7bbbf74a65f6204d74cb379dce4d2ede9b6c9e33b417465ca42d4e4ca03183b7ca4d736a63a0cefcc9a3e63dc4f5514ca444ddb980cddbbaef9668853ce94daf7da7437063d6407c4c7df2fabc37eeeed6659a4cb8fcf54621576f4e4f6fefe2f52ff1308e44983c285ed96876a23fa4c43d7863d632d5fe8049844a782a875ab5931a1ce44d2a4abec69b83791850883c3296e58159442dbddf056a030f7f1a37edea4497d414862e5bcc694d628930d4ae222b4612ec020d - -COUNT=14 -L = 2048 -KI = 32add61f93554755b3cf287525e0782c5a66e00e7842430b -IVlen = 64 -IV = 4590b44545f99170 -FixedInputDataByteLen = 51 -FixedInputData = de0e26462c6cfaa70e3b3cc44abd796344798e447643a77685619f67fce3e01447ba725c6c8c4ee011d0b44d5497ec2081ede5 -KO = 9ecd2754fdba7cec7b58fe5727dc1667e219580b5c6d23b171151cb042d9e8a20b9c48a3498f9f0d08c229e830f4250352f1b40f9eacfd7836ef473402b7a31924c48f4c6e71ec10a08842c3acb0d4921fb3485830c56a275613f83220ed63600da7aeb710db2012cf109a0ee766588ffb06b20e77161377e6125182423a428a2f6ab90e55c767c18f4f4525a85bab43ee1863a4a8d6b92061629ce4b7e04af47ba92de72f656dba8cc4dd19ed2abcdeb853b9e7dba2f998340e2d15e14d60b24b39db8e3a7935a536f4b98e474d2e8550bef45e8efb52db69ec9f6953d30de6e3b85b72816d0cffb29a36d55e9d546c53d299a8a3ffa9892cafc92afc562a29 - -COUNT=15 -L = 2048 -KI = 463b61222ef5eea1523cf1c0cf524b5ae8d2755ee519d7ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65dc0ef268040de386ace5d4a2ded42010569aac85a00aeaf115f8eef4a5ca483ff6980bd2753c66da2d2e50b2a0d9c453909d -KO = 012272cd49003d11cce3d445d561e74bb115d002080693b75fc209d2725a2babc0a2c54d8215f12ae784f1220aff0f5b2bd02bf3f8f8a6d8ab6fc07876543231448951693536af9da199a2417acb53412e33b8b1c738b565e7e73be5ad7218140b7a3ebbeeea494ee74b37d3bf073fcf419ac41458babfada91ed6c7088583526919d5c74cdf694335c2bd9983944ad711e7fb5e21e9cb736520a7f1d62b20d06c3abbc92dcf6f9cb47ca7dfe9138aaf805cabb7daea0a59b81edb8c9261feb56d1005ec8aa669e557da7b711173c726f712744adf7bce26a875db94858632842cb420129b54eb42be94fd258a05e9563d1dd1b7d3743b47bdc532bf96a9825a - -COUNT=16 -L = 2048 -KI = 13eaa0a7904ac7c7e595b1c6490f064ceff205f1084c3e81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 592595f7726c4575594f9bbd3c937be24670fb6289f6c9f4074838707aa259781e02c9e36a32b6e46ea44d7d20484a36960ee0 -KO = 6437411f017ee400da125b431b6cb801a4248dbffc2ae2c6d1e9f28cecbfdf3fd1f199aacf5d41946ceeb4fb9e448291cf2282d15abadba4855ffff65260c30b565491d33a1ae1ccf812849f4d2de1f8bcbac47be0e7c9c7752d16d48a2fe1019870b7baed6073ea2bd2de82fb0c5e491ab9b232bf54727e231ee88308abb78af7002aa036cdd438818540ac9f3d396caee7ba82d7906f448611e61d5cdf9dcffd078fcf8780dacadc1df6d066b814fe1c0ccf08fcc7c05156dc312b822e9e00729c703c87491b94885aa37875fbc38b1be8f0f2f4c371caf9151d6b749755984351d934154c390af142e81e6d36f8ff2a6c5db3055d810fe9c51e1dd5a55bd2 - -COUNT=17 -L = 2048 -KI = c52a728d85128d4073b4b1a60698a203d911efb813e63429 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 789912d34a99454bdd2040e759fc575966dfbe29fc67532a97ac35dc058deb22bb97765d52b70143133e91b4f4527e15762677 -KO = 1dc7faf9473b99d720019424fa8ab2ec2087bac101ab6ec5d35ba941e39fee949e4adbb15de0217f22ddb0df58ec7e55fa42286d6aa9066efb1843ccb38ccec99d5ea48f3603bec18d0a8ab5f9662c8419a4b471d5bfdb0c060c59a2bd02767ce9dce7dae9b4b597f87921183aa588f0a23f4ff14f1e49c54343fc00ccabaa3d9de55f507e126c321b4023c8e5b8fc58c90045815ab4461633f7c65b5771924c9184630e671b6c57d9227f939a84bef6d1454593a8bd12c4dc20b7a4a28b1c56e92e76155fbc57c236baf0f281b4a5cdb3892547babdee3e8ba1f2513419420716708e51fae54864320263f81e1c6925e1e2b609c5e3ec94d9076ae2936358d6 - -COUNT=18 -L = 2048 -KI = 7644fe7315a05f8b9528541d593646423ba2bf233c453009 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 882279fa9a526447e834464210693db4816bc55a6378a1648e8e40798bd50704a1f1419fb518d2cc2256d1bf5251ea5124f541 -KO = 25367c0526335fefc44b367a81a9b6320cb8787554d4dcfa3f439207bade5335763313bea11023fd655057cf9ba1830527d6352acef957de79c641ff54a2c08f02e9925d3a17100170e771177ce4e1a1bbe6b62505ef1047789f3655792e29016c0bb334a073fb73a4b618b6e8b700da2d14cf56750073dbde664b2fe8b3ebcdd123fbf7d54706b77725b6eef98c10626eb339b1a14af132f7ebf983e0b47b97028a61ed24b14d901bb51a4db6b60dc8727a85b00153f74b0b4d4ad43819ac40e7dab40dae5a33ee698f48e27ece8f0058af3f65e5ee33e192998896b27280715a89994f94725e1ac82d38d83da59de06b8fa15d75b6445a33b3b994efc3f894 - -COUNT=19 -L = 2048 -KI = 0310f2c4bab324045b55b6e5a14abefd8bd8a0b276ee9b5e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d2c3fc8c30a02bbf7050b3a5a0477595c730009f6a6663ec6803cc2fbe59b5a113da3395762add8c1f31e96f1116b4146e022 -KO = 480261fdd6575cd5b5bdf480c7d8e4b7f730ccbbddbccab5babe72c27de081742af5a7e0750293642b02f867d5e44abff0944cde5995908e9438145638647205c20f005d04859b7f9037aa3337ecd9b5668e24a9bf52ac3f755a4aea7f506a39c04637acbfddec5fabbf8b93ec7ef92ed003c129a4e91bcf8030effd06c43b3332e2df35f491b61260bd76503db7c96523a1c23a7e4cbc8e056c37dfc0c3afe171c9f7c146da7fdcfe59d8f2859c18bb08fe58a4e40f51bf3004a5a5e867f99580d67a15c7a1edd20073cb18888ce06a1043cbb22547bc47499bc7c7c1c6fd8631a873a2813e1ecdfb23b21b7448bfad6f7c0c92cfac0874dc4cef2ce615bb43 - -COUNT=20 -L = 560 -KI = b69341842a6c3bb14862514abccf4a7bb2d81ab8977ee8b0 -IVlen = 64 -IV = 206c194cdf7c0def -FixedInputDataByteLen = 51 -FixedInputData = 777e4427c701bb5a38cc1c2352fb64d4d2f3c45cf6d90c8b2946ec352ffa25984f8670e77904be8825c51cc14d50b47dc53649 -KO = 99a646c192ce1605b7cae5330e186b9a2f84f49f3cbb1e085b5ba26741c5b1620852ee262f49cb4e0d6a154ac490cc92e5590ebb61d88e2fa7df1a1cd303905eeb93b67990d6 - -COUNT=21 -L = 560 -KI = b7cd65339e4ec450b925cdf6c6f0282ef3b630f500eba3fa -IVlen = 64 -IV = 16911633e4555f7e -FixedInputDataByteLen = 51 -FixedInputData = 04847094da263656acd78ad6b2042de06080d9a3341ada21f5ead8685ec57773acfb414fab34a6bd3413eeb741b5887e25ec2d -KO = 6802185d0639c682dbdbe5906a84e663ec21a5a27b871202b7cf4acd9ee665fbb46c2cf51ecd3dade850a76c7073d109fe3e2cf9eff5366ce083c3f698e5cc392ca7e0e5eae2 - -COUNT=22 -L = 560 -KI = ec6cebf9c5d253808edae766d100c4da39bc80dddd1227d4 -IVlen = 64 -IV = 2339f9234921a8ef -FixedInputDataByteLen = 51 -FixedInputData = 2cf05f801f9bec9ee67531e078248bd7c69fdf68bfc21d0a8afb05142970d05c051c6b61fbbe6ea489550e91a55a8aad12683a -KO = aa428abf1e2ae6fb1ab0bb2659725e6b368a5c19fad6a151658046a45b4ababf36d14a70747160642957a3b126e6def6aacb90383845239b03aeacb7efb2d8c8f4941ff5d343 - -COUNT=23 -L = 560 -KI = 7a8067d84999dce2b52e07ad93e720cb39366510a2ce0b7d -IVlen = 64 -IV = 85b594b824c22b3b -FixedInputDataByteLen = 51 -FixedInputData = bbfc26a46e8e8e443a25f7777e5b5e48a3572b06437bb2fc40ced8c5c7e9ce6bfcdbd074eb65d9593cd751ab1f2e7388ce74da -KO = 9bd386c1d0df0d1f73bbdd1855cc7a249b92d1fb4eab04ad4810752d42afe0ae114332c32e4c24cc1e8fe3903ad4e71dcbbdb6bc5061e7590e24851a4562710a9cf04be147bc - -COUNT=24 -L = 560 -KI = c1acb1b5944576fe99c7da980f03751c20f335f31edd70c2 -IVlen = 64 -IV = 8b7227a9367d0234 -FixedInputDataByteLen = 51 -FixedInputData = a5793fb6ca5ee7259f464de6e1ca55ed8299ca7d99a899ed0aa79f49c56aa1becbc0db8d8b84d45fc4c871389608b1f034b1c7 -KO = caff347cf02fe3893f9d31f685a51311cf291b3d347109f4b199e215a15779713c9023224da988558d3a9a267488143afabd7984d74d50904fc734bf503ea0ae3209c8f84d19 - -COUNT=25 -L = 560 -KI = f6b100d961ca3d004e46945decda4d9ed240c41f34e8bf55 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 447800d59496a8ca3b9f4e09dd74443276dd6cd4c0b13c9042dcec40311d3037ade126dcd792f8f5a5e68aec8916a7d8577a7c -KO = f0d35d1569131e96e35dd025624f04b5d7551a8c53e3bcf3a97beb755c7d170f5ea955bae79097bf99f6ef7467ffb5765dbdc7bc1ce0e9f32437989103b531734817d123c220 - -COUNT=26 -L = 560 -KI = 72bb405e8aacb444f34c83655b37d97ac00c9390f6a10f5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cffa67c98ed2b1ad8eda2badfbb1fa75f5929acda2010fff33817a1f1f1f38d56ff5d7ae6de986db312d0dd1a4cea5bb6a66b -KO = 4ced8b9c03cd0aca4df227567f9e2260407d5b77ac046d83ba9f6fcacb75ec26f88eca0c82ce003c898dff214946cae384834745df5f0a0139bf81a30de9b1f559563dbc54c0 - -COUNT=27 -L = 560 -KI = 6b2ba7f49675ac503c3fb97a3b257103ea03cc5b8de09d6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 51d47e12c63cf7635d6299794c2684511eb03c5892e439de074d54670fcc3cd9e9b23e5d712bd91aec66bdee671deb368edfb4 -KO = 4153104c9e074364fe907551e10ee570bb7e8cb4bd5022e1df27187720fc3cfc9fadd2caca6b2207fc62137f9f80e73adeafcb208848772d5dec3bd48a5d306204f5f24b4135 - -COUNT=28 -L = 560 -KI = d1736f669129f8993ffe0c5b592a741c8b9348835e21428d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c215adf6371b8e7be64d163198b214de7ec39d593d590c34fc56805aa8a1071c40843bd7950c7c5cf31afedef6e061035b884 -KO = 29bae4dac7ebe8dde5f3bf1236032a84647a05f07672752172348c485c369c3d487ff5e32b91d43df439eec6dc0396ba0ba26eb2151e3505bab6b716a00f855945ec6f54bf38 - -COUNT=29 -L = 560 -KI = 1f184941356767792da9f36d2ece9a71543c85f9419a1321 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28ca94c6321b2d19c906008b8a4e813fa9f86f21075cb2bc388b44a7a4916715e6b927542a4b13a9a23b98da1b2fbb1ead66a5 -KO = 341719633abf891257efb77e2e21ad49630513f3162c09d7f8f6f30310e2d5d11f95d04436575b6a75fb8ce92af391b4025b6e4f02a0c9be900ba8b94ca61b45499b82a6d839 - -COUNT=30 -L = 2400 -KI = 75c059c37940570ad6b4cfb6898446a4bda7f7e81f2376d1 -IVlen = 64 -IV = 3daa45ce97b1a134 -FixedInputDataByteLen = 51 -FixedInputData = c292b8fb192ec94ad6423c384c3c9efafc8f710458fb25cfc61cc9cc65a297c32f373f06ae2bf1c100df1749730623951c9d7f -KO = d1510d449f4240b1548f0546b7010837636b216c53ad7c5e550b91cda7b7868be5aed5f9126c9012fb95936e247804aadc1c21b62a6ba4c5d377b71ad9aa03a6ac798ebe0c04e18a3f0e66b00ea8f53ff90ce84252790b35080c685585d765a1ce35aae357459a5d9e4a2bef5d7856e10fcfdb53b372bb26221d3251fabbd6c15d136b6de096ef6386c1419cefe1a50a3dd3461617df0fc58b8d139a906f7f237ca2524aa58c9c412092a3a5ea23411fc6ef8818a6218ed65b7181ad836e85bc4c9caea02b245762a674dd86409a1d3a2810660bf4fc4e98d421512b1d881bd595872ccc9b440ebdae8e33815ad74e7b283d47604ae9c145ed09ae35618987bf2e64f9d2a52159cad68366c374485ed6ebc5c528a0a16eabda4047af85cd80dad37258bcc37eee3f1527abd3 - -COUNT=31 -L = 2400 -KI = 4dc9db7c37c523a515d8e47c0a42053214f3f89003cfbde6 -IVlen = 64 -IV = c9cf74ea926ea9d8 -FixedInputDataByteLen = 51 -FixedInputData = e47e51c4a8d0978b2ce2bf2d7837db17c14e207c7cf756da17a9ecabbda1a4def83a9a3ec58649879c76abef9aba4973aff841 -KO = bf1153f80c7b58c63f17f25da1c7a9a49d37fde3713e2fe26887c5434467cf7259a8149b693369264ebe976aa6305814f9709fcb303b4dd3c97ac5f5256b77a0373ba0e7277414d76e8bc00e934cb1cd3b23f9bb4032c6c556080b55a081b304832e13d8e10c31709f6a08f203b3adab3792ecf805014d6679c8909c88a825f487a98ab01ed6f2e4e46e01b30de9d7b1cfbda9399a1fd4870e5ef91f9a25775f1125ad80f3597e22df0df7c4ebb26d1da58a78a424ec58b22e771f941cd4adacb1580dbb9330fa99a2b9d944567741313eb5d8edd57439b22334e7a93db511ca3691b1e246a116ac0c1699e6fb53e953978c562924957386ed77a50606e61a9aab9637ec07b161c821d7fa9f3ebaed174ec2ae3d31d67a9723a4268fed6c810c8872300904b99a7d81ca2f5b - -COUNT=32 -L = 2400 -KI = 5a5e049dc19d8ca87d61865abd879510b5e4ef6fefaa1cdd -IVlen = 64 -IV = db732bf3e753c200 -FixedInputDataByteLen = 51 -FixedInputData = a33eca3e468f8389f5517b8f89ccae27dd351c545808b8493d4dd74e784b640280c9747a17d4111bed83319e47669b7cb324c0 -KO = 1d22ef7b5acc71634bd9ff645086393c8e6d402652b87849ad65e34086c0ffee9b0694d468309fe70f2d02e960df776b329fa231fd843ed08e36f1f23db59445b236f319c685d78a76a888524bdcd1310cbc9aad5cc9bc9249a24456a68e49845272820dc755457967f6e0f0d86e00fdc312efaf6a9e1b755f30f8331dc656f9a8f77a80d6cdc2bb04ae38434c1c9b7f6037ab5861319d0d106c617ac29c71c41b4c767f3a23c4961b40b4f77de0653b30dbe8290e0be0840d87872b9b7af0aadfe237328a2d85c63fb010a4204e924f9c223c1e6d1582a0ef88c2b40b8bbc844cc739ad45f7d4d9e41ce456c6a5f90dc0a8885d690743d8fde549b32f670b120956328c7f38610733c7a1bd7f84dc8b58876187279097e60b620f425d170207b2e033b01b7ad317ca8fbd94 - -COUNT=33 -L = 2400 -KI = 36a432b308cbb6fa3a7b2f7b576539096894667c1125f258 -IVlen = 64 -IV = b9ecf94c94687cd0 -FixedInputDataByteLen = 51 -FixedInputData = 72012e03b1180d0fa7d9869b6ae6148d8b479e3fa86b81098fb7cb80819ade4be6109384c534e162514375dc845ed611f512aa -KO = aae1bba40481af2da73e1bf82e775f1236c0a029648d6342c3332f416dee20657379d15efd9ac7b0406849a09b6450fc9bdff1f9eb2bf0fc261d1232d816b277d694a72cf773745fff62550a2eacd78876b6601d77607d8b509ec46daac316041d3a8ab1591f624d9cf74b7bd21d097cd65187f9ccdfa4ac098ba22c17f288db2abcdb54ab74e63d68ecb6cf2dc27ad4a2d4aa40e4d81e4134e9fbb26da581a8388b7f14b0ae600e161952e4243fc24dab7d574a76dc1cdd3a88987109147e1166f5e1ddb9331bbe796c9f7532a96175b2f537889259a01548547be6f790dace04e43b57e0960353a67afd2de51d4091ae86537184f59af0f455765e223279d3ee983ec9761aff79f949f3786b9649b74f2886ad9aee26ac5bc61e3bc0d9e600d9994997c539fd489f3dd784 - -COUNT=34 -L = 2400 -KI = 6ee587f9a5abbdc82f2ee7b32065050393a5ba33c05c6f96 -IVlen = 64 -IV = da275457b0826dc1 -FixedInputDataByteLen = 51 -FixedInputData = d0332e09207033083b7f1708410d6563409e6c3cca86d745932e58a685e300eca9d8a4ee61cc0f8412836419c39875945162aa -KO = 721cb9607bb8882af92213289510542e54db39d9d036e8b34dcc04010038c3e39204d8327a5ed98b879dd5de64656b1cc0e688eb550399021c4d766e37a41c0a16ac18e108ff7304cc6e68a3bbaeb20be6f01736cccdbd53d23522d08d5a77ca0e3cbddf1966fc40c055fa0bb194264c220db7da84cf264bd66aa7d963ba6a5ecb1a11c837d995ec47919e5b4839c4b049560bb1087d4e133e4721e4eed9727b96a3f38ee72980194f95e9b339c8074bf33ddb5abf886b6d9d1947d3a59cfa617d1eb13b0e9bd5cb7e1a6a01984edb61589b7683fb0fbbd05ac05251900d2c6327278802cdade2e855e0255e0b95e8367cceb6980b0de47499e201966ff62a0193f082d983fee47c5e22e2d1817199f1b25c8b534ab899bce4e9dd7ac471fe8f6453ff6d6707a9b374a242f1 - -COUNT=35 -L = 2400 -KI = 99ba111d744e50e21a2feb70f0ad79a4c6525b40774ea22a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65e20f8bff3ddf8f0f05b2846b29f653b587ef3568d00778fe663de2295033c7f893e1256eb4ec8258d1c015cb57f179ba93b1 -KO = 970b466c5086b9e05fd833b88575f47b7bf2c85f0543f0a036c610c4266c1f6ceecbf2f142aaa7f097210aad01b66165fce01ef14dfe280d1855798f0b307aa9c82b7a98eb26a76339a937d33a94a3aaa498af858b0950a51d0a6e1af34a7175a1dedef82c268d32fa6d1dc610c310f419c02397e81891d9350756d8bc011ccd804ea85f668a566c0b1f50dcd148a3e76834905f198dcc8c17800c1b16fb9ceb728adf515904f6c0428c40ef567b471a5a4c88fdf07f4fa85f97ebbf7064d5af96e297ef7c26db8c5fe81f28af084361ac91a91ed9d507c327fc8c59a4287c2adf82683920724c88b5d320cb0c4ef9dd53166c181edb1802ae5b8fe075cb23171bd2f598227c1848d3390f14e9a8b57bc17c27c6467ff068a48b874c11451e8d54bcf557bc5214e2cdd73d26 - -COUNT=36 -L = 2400 -KI = cd1d9426a76ab0c679c2be9d658353b9384109775a754e71 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 606c83c7e6260acdb533218b029060b1a207c6f22d3bca13bf10879133ba8e007294853e399f00ea081977c8042129af46ed6c -KO = 2ae9eef5b05783719b4e4d250b14840ceada0879d3d880b85bb40eabe403dea44134d6ec9768f761bade0a565d85c0fbfb7c8013e0184f42713abd4e47b66e843dd96183764d5e80ca001de0e887bda71048519659a8ef069a48ff7f76f9f02ca4a33f31cf39e99cb1b6209a54caf492b49a9a49d676df1544cfc053e478c707c4bc5bbca9ac6402286333085ecb950e0cadc811fb54cfcfb69db1bfbc48b57a7c8db0e804eae4716213f030c289beb70f6a8135ab0e0b23e8594708ce11801570bf9568693e39a0ea36ee893945a7e14a58b9c7c549767a98543810d3b7d6f4d19cf82bf591ec5028be39934b394139198bb013858396e59d19c9bb6380a816fb38b53a07a8d2373ac69ef31255c0c755082c9c9c0a9024942ed835294a8834926659e861f184eabe6d8a16 - -COUNT=37 -L = 2400 -KI = 58cb5efbee5b825c2392e146fc9189eaa3a2da3888e47f21 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7f9a32160af730434aa8001627941d3bf5f307979cf5883a5177e0c70df9b033983748e78775226e49b725ff2069bbdf38939d -KO = 9e83dea63d4fe740f2a203bae29e25ff0911620e395b11eee7dfd5b3d0bb679ad7634715ecd00d20bef97fca55d93cb25ee61be41b79d3922e5e29ccdb7617e0ceb22f424921e1ac3ba9a1ffbe8e574968b38ad31e36f0816e66925366e529ba90e0beddd4e15d94a978a683b0f82461a04b4f35ad7f41724f6f4ca1fbe75d4b4b4985abf7ce99cc2d2988b3c84f0826e0f32d3542e14a9c00465e2e6f9bb0f6c70a92fffa4a12d4f1f2d9f64b3ec2d89b074c11d8b095035340edd66db873862072fb84a4c40f7290175c02045a0398121dd15e38febaa5100c33aa69889c5abab8d87852a602eaeb82f7d2d0218427c946647abf4b4cceaaf48a2b90d1bfe0ecfcb1b652025f1ee521da4554cd565d0de3ebe101e19a0d4d86eee044cedbc6cd3530dced9d07f690daa227 - -COUNT=38 -L = 2400 -KI = da6d3d1ce5e42377296337875b281cc1ffef6b26b3371a8f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6559c228a20555a44563492aa50a72572792dafa6810a2fd6844a9eade31a04f939b48fd2fb9b03bce259daed311bef12ac774 -KO = 88eb5cff6caa0d5d46e8bc2da7e75f2589110a4e1c09d807bebd97965d0f241751650f31f6c7a7f702a3efb9326ab99677d9a708e25dd943e7435241a153df9cd81e4cfc113ac810cc49558bcdf79da2301b9939b72d6aac7c67757175f9b9e292fb4c012717e995b08562867a329a399f158d25b65b9af989c4614a509e658601300bbdcc67ec88686cfcf4de01617f509de1cd001a3fb5f0344608c714a617c81159b38684e9aab03cb733ca0737859ff5d8018fe570fc6efa749fb89dd90f7db909b5eb393a503269385880b1cd619b3c5980b4b6c6f0bc03e2f48811bd31a732ca77f129c67022ba5d35d51753f57f1464e90a841e428f0baace1e181bd868b31afb1cf4cb9767907823072ae37bf42c9007c186137c480793fc1876e307e5bdb6a64996c44f765e9835 - -COUNT=39 -L = 2400 -KI = 7c068a47720eaaa3083385e528db535ec0c2e43c87193f9f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d865b43259838d72d1972852b67f31e88e023760e51fdb2a1413e102448e739bb8fde8e891373259d011ff5e8855a541a13f3 -KO = f5af64911e4adc512bfc6faad151ff8148c1e3882d509d3402ace9649b800b59f35756c590e9fced3e7f86ee9344f08645b718094f06f03c285747eb126f198bc9f14364aa5e123baa6d8723418944bfee91d1cc593989f0cebd2a2f492f79ebfa57a529dcd41db05a822b088efe949002b42d67e613931f4da49c5cb206d791387c19a7b9ac16eae5c5cc4c595cd5cecca20f19539c7600360634cac5d2c905c7e7e545194c8b8dd51b1e27df3efca9a48ac8594180fbc0aa2a2a180e9fc4f99d384ca3c00645c79833071719ea713e96cd11384457af54bcdfd917f346e0da34777665d3757848385a542819c328fb4c6e7705981d17c006a2cda61ba371ab254a51384a88fbad1d042c996ff24696d6318bdc0c2faf007a52ef46287887f4122b51b044f2a6d21de3ddd2 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = c1199ea197855efa64a22852e1cb72b28787de8bbb6dabd2 -IVlen = 64 -IV = 779f4868b65541b9 -FixedInputDataByteLen = 51 -FixedInputData = ca3544e9933205ea5ea6192d52b6cfacffe2fad36f4c1128065823ee6f2becb920d267396525a7be00f3b7dc928419942015f5 -KO = 07e0899961aad8b2dba02dd882c2d37abb253681d81a6587303a3b901df3a8a58bd0bcb04d5019b76d905daecce60241e2318a1895e7207b2f78fdc06c017a58 - -COUNT=1 -L = 512 -KI = 5e51cd156be6405e99ddc3dec5071dd260e3e254ad09ed19 -IVlen = 64 -IV = dc8d6589a20d4f19 -FixedInputDataByteLen = 51 -FixedInputData = 0b03653517eaa4d988791f04040400c37a565762f81230796395acac80b276e6bf227da7bcefa0d945e3443f5d7b7579155ffb -KO = fca4c36bce5f1bcdf360ecd50870f6f69d1075500dea2957a2d3bfe4259da915f764d437be8f352b9db8e2a3d6c565cf1d1beb48a2897920a09fa8105896969a - -COUNT=2 -L = 512 -KI = 0514f35831f6a71a79cf01bb8df3273802e24f38d7bdf2ad -IVlen = 64 -IV = 27fbe0aabfe31231 -FixedInputDataByteLen = 51 -FixedInputData = f146e8adac934c3402f9bd5d33a76f225adacfad05fb67142cd91662d6c1d169a275d51072399ec526f092e62958803cbd9128 -KO = 2e92e0f7554cea96ca804d310cd45371e272f914c1620133f4f97e6f10d804b9798fc4469589e391a4c41a5003cb365beb909e19849b198fe40e9266dd97f5df - -COUNT=3 -L = 512 -KI = 2868eabe67b9964f81e8c7658557fe64e783f325899ebaa2 -IVlen = 64 -IV = c2b6fb6e55390e93 -FixedInputDataByteLen = 51 -FixedInputData = b89a0435f7f1c3918d87977e646fa366e93504ea868017c203f5c8df3d38609cc5a0a231174e35c5d90a566112059e1eb73f59 -KO = 0d4f815f24722079d6e76a716d4893699172dfacc3816e9737328fca43f2cfd0ea5c2cd8cbbef067deb5b5ec314520039e511cb0695564842739bb968ca43323 - -COUNT=4 -L = 512 -KI = 1ef96beb4a507d32e8f605e7f05a0173bde3102d62e0b2da -IVlen = 64 -IV = 120436fbbc79e6c4 -FixedInputDataByteLen = 51 -FixedInputData = 9021fe100df7da5d8b17f596ecbeff49a1ea2d8c6b5e661e5dc369c9fee743042a8062c480d883d100e331604b1f9cd810720e -KO = b7b89c4e762fc0b1aeea466aaa89d1fd5e877ce1723e50cbf9ce70fbc74cdba6ea867c476c19b1d0adb0e946cd2ea60cac817e3f02c73eab6f52be2387d7ec39 - -COUNT=5 -L = 512 -KI = d4cb891b759f950239a9151b3a4e8d4d675657df073c99e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce023e29cd73fbd3cf17e4dddc4d6b95f956ce9a16b8893551006e758d4d3512d702ff93a909b31020379ff09ddb1f7cafb223 -KO = feefd51fac2fdc8c0304948962f9274b1ddef940c787df7436a6d508d3783a13e68bb05acc3bc1a286b2bd784872b9de7fe674a30d172e6e3bcdb5d9b66edf7a - -COUNT=6 -L = 512 -KI = 4f56b68c3f1a60d57f98a96b4fbbac384ff729b5fc450f12 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bafc8da1593a64740f265aa6b0547af737a931c910a20526730587cb09e85c52ba1bf5b2de27b95e82c8c987cea9c985fa1a8 -KO = ea7187a7cec69c098a0e2ef1dacc775f290a85013db653dddb610620e2c8c8d6f8168568318b4b5e8570356404afd2484d25698651f624ffba5c3ea51b4b96c2 - -COUNT=7 -L = 512 -KI = 14005926a41196aa64124bae195bc896be81144ca75e80da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 245eb344ab5b5b77668a4dc547a4893bb2b8949e51c156fbc2490cd15f10be2fdef9f069bd9431d803ee9f51bf332ea05d2a4b -KO = f173e712925b0612d4b4500d3c37b83ee0509ee998dc74efae0f771c10c0744173ffe275223ceecadeede4b39df6ac074f41f2bb1a591a2c032a36a8ad48cb62 - -COUNT=8 -L = 512 -KI = 20da98ea088897635dfd3b92226a93a1b7ef640e7386bbe6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 490240fe07cd204a8c46c463a2e1648c28ea4a344a63d431d4d34a35e953bcb268e25189dde7b93fcc138cfa6e507ed1aaacaa -KO = 14ed5dcc930780748eda4235b4ac2504057f0cf3c0877203ac45b15704c10b62075a3f18dc446654396da3df95ccf2d1313690f1b27b0c841667398026598218 - -COUNT=9 -L = 512 -KI = de6f55750da1b32c27ce62e1bab262259f64b3616584dd24 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8c62d06873d0f4ec9ae855c38e0be112014a2ff50c513868c4d44fc679da11e62154578425e322f195c819bbaf962a4e11ccb6 -KO = 605eff6791a2672b34da5910ba53cb0ff611adf4fdd7b7050c9b41ccc3ff53965629ac554cc0dec958cba07d114d8d160901a927004aeaf553088a4b721e11ac - -COUNT=10 -L = 2048 -KI = a1067c8951806f5258257924a89d5a4e78fa65945617005c -IVlen = 64 -IV = b9ff77bd03c34496 -FixedInputDataByteLen = 51 -FixedInputData = 806a6ce36b26b20b7deb480c55450903145a02453ee59a7cc2bac6c0a47a6d75a864d0d6264233684eee973807401163968faa -KO = 671dae7ab9a5b5ecbdafc8eb8a97e0a6dd804d91c37adce88c370585b6bc2ff2b16b1594cdea216d6605b64d40f1c198185f9513daa1a642bbc03ead48d838bbb00d64d099f9c01a888f3f54eeb7fa59d9e65206e36066ce49b1e1d835dc44f9df78eb11a6ada1906b6840796173ad1d0c3574582feb93c1cfa64e9c9a06de11679234eab8c0e047990a736a5961f06e45280355bae212aa9df86df87a93d25ebe7ff28707ce756e459e99a398ef9010029eee8906db952aaefe6bc71b1aef04e0fa102addd470afc6b3788bd8842cc82a257f1191bdaac2587205d85333b2f6389df94a62991fd470d9c264d64ac8e53254abcc3c3cfa38b316a336b8cd83cf - -COUNT=11 -L = 2048 -KI = 61e5a51249e8497ca556cd31f0169a2d78f5b68e0165af27 -IVlen = 64 -IV = e411b8936749ed7a -FixedInputDataByteLen = 51 -FixedInputData = fada8b85990de327748e197cf744e88be4b4e62ced9a9fb038deb2b12d979dfa20f121023f8821aab7b09a863249ad7f8f2f1b -KO = 94da12181026f2ec4fdd9b2a1b20cac7aa5237a8762904bccbb6573ed6dc81ee28767083880ad8510835f37851f3a34a2e7ab4c8c7809dfbee323e77d55a6438d49f1c6c9328accfe29df4ec662eea89c8d9b951bc5a99efd6dc40cec0615a4acc99bee324c7a74a2541b2542812089b0a46d045c227a96420bb492cad860d3be113d513ee7441300c58df1653b748582e648791250d340643d332ebf9517ade170626445b9dc35a1bccfc82b1f859c37e59069a54f9938d79209430416ace2e3bf814d004bc5144d89c9b7052ab09130ad9aabf79703cc2e86e7dd16bf87b5b0a1705ada3dcbf2ffb00db3b268c811a42ee8a1f4f433074483ab070e5b37fa9 - -COUNT=12 -L = 2048 -KI = 65c159dca2a0af932e703025275a04e9f013a9dca969fde7 -IVlen = 64 -IV = 8086e4c62c9449af -FixedInputDataByteLen = 51 -FixedInputData = dff58818aeac2cacb4699de1a804e0ed7816f68368ccf01fed62bfbc2089ec2f54e9e3c5bdeaf2d58258aee6cea582df1e5450 -KO = d5a2d5fc194f2fc80549d904b6815282bb921add68058edfecaad886936dafcba5780a1b46d7b09a1c8e154797b1c6850a333439cbe10094f8acab92af6bc45147f25d6dc2e7da8821d6b339aef7962d76df79003436b047504fe5b4e2305f4d38eab9527bfd5aa35d36d2ff74e93cd030edb274d4de9528937caee405b71bce0e89a18ab6277dd53eedcee7551ccdf28a9aaec1ea52ddc9d0840bbcfb6621cc64e347fd82e304f55d84f337ffc44a54e729ab7ff2a7e5613c81d9673fef11af1914723970580f907585b0e36afd261ef95c324b7da8122cc27437fcde42cdf893af9a8691854bd6e93043090beb36358c375a7fe541baea383d52c4f21bc50f - -COUNT=13 -L = 2048 -KI = 34d6dc83998c299408d7c2d0873945205b3a50f1ffb6e0cf -IVlen = 64 -IV = 021185e1c6ce24a8 -FixedInputDataByteLen = 51 -FixedInputData = 49a9f35aa788e4d78532214a16aeaa74fee798ed01baca14f45f441235da2febbd451390b41456ba24bcd1001f341f88f39d1a -KO = b7e3542516237a8c4b3816da26643e00ec20752b2be6dd95dd2ad0dd8eabc1b761496f9da000b9b7a4143879b6a3d7655e72ec6b60b2809af57bbdcc6b7108d5214adb53f8c6e3f1e640943c67bbd9769facf2693a297359b0365ef6477a9da258ec89b4a8bc8fc1d18dcfeabad4ee1a178770f6588dac9f3ac92dd60fe39ad056fe8905b194db0ab0a2d9feb345359c41eb9f6dcc07ea963d9ed0357311a89b9bd7e3676b9c66f3b3e1bcd7fa801416467c1f305490d41c0ea1e3a4d929133a3b11abf082ca1f1cac5bb63bd4bd4fd5ba7e9eaaf14698ecc957cb0195e3868c213da201a2f2b60e8a55d523636d5fb64b1cc5af386b338ac6c2703c0b33c50a - -COUNT=14 -L = 2048 -KI = d00b5a92c9dd5bf8012abe093a905a190b1f9c7021fbf494 -IVlen = 64 -IV = 4206913260143383 -FixedInputDataByteLen = 51 -FixedInputData = f4f05bb9e7e4aec1a25a73cb9a2ebfe31e16d12876884527a535d6d3578b86f5df5d14e2bb11768df207ed397350c10b4a8aa6 -KO = bd9db69ecfe5d60f54d19af8e605c17de61b99c49dd5ee86afc54525fafea30369a2a5e4080250a092c5b44b6c433b611f685b6eb5ddf76e5693a7833129b587e74f83c54ffd4d5784bc17c3e7c7b7bc433507a1ecbd6d1a04214fcd3f9d67cccfd827389f0dee56bfb47a5e1c9ca9cc3b4ccee4735d5baa9e39ad56f768fcdea7ddcc171db359abae87609296af9efea98e469831a71b29c6d2765c7110e5d6d5c6ee99f603fcb98e0b8619659d28a870083f77609f6bff5d480b5e3e08f5bccc0cc142352a84b7599a4fe4eb5541594f4781e2003c207a93680f4498bff3303d05ebd03cac7f4a7dcf55014d3a22ac14debda9a822f2769292c7cad7a1cda7 - -COUNT=15 -L = 2048 -KI = 2ba327828ac0c13627035a1154de68f749fe86849c771864 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c142f049ab13da4e91dee010de69defefab98135b554bcf791f938e4fd24b9f7c184ee616dfdca910736f9a29545e678d4a74 -KO = 5ba8270566f19aefd62e036c997e97fd412ac12371d4b1f27757e193500646fa163d39a06521192c6c34d6e742aa4ca88978c99140ec3d53ac3482b25159863570314f90e939abc8db37fbc1093e0680ccef1ede53c974e4e9b18e0918645a07582d116927c35db520d1ce7a97e230c47894b57595640e9980115d5464f0964adbb74acce3690b4d030b171efec2d1cbc27107e330a20a24b8e74fd6a091ae9b0922e86c41b05763e0651434147c1f1e084bd02a3a6be3a576c75ddae4b6d84b1ae331c3ce8d52c808d50a6be9cbddaea6466d089e94b9e51b132f689871b435296f0dfb683ae438f6f46c194d230e287094a6c7db61fc2132ff139a1990fcac - -COUNT=16 -L = 2048 -KI = 910ef4ea43eec69820fbc7079edb0d16e95a98e87b773763 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 37617ad82356461525904e850b89423d8330d6456253fd603deb24c7f1dd764fcb9d1dd20b2d777861a964cb15010f666e49c3 -KO = 951e9f9498fc264025d5c7d2689123b754b40eccf4d50f010752e93eaf8ce9c6141842940ec7948723efc75135fdec31ac0954d4d47ef8463bca4d75c855bbde2605230a7a89f48bea0e88c11d131ffe7881d655f47bba2fc1cf0c4d01af75afa2f77d44a7729e959c4b928006fb3cc3afbfbc1da44084a4617524071152852272dbf80593e217d6c78df3d2e919c833d1164062ce3539a386023573d321135425bc0ae531bedaf0e2e9edba7e260dc8b80fa93b86a48f7916bcbd3ce84edecb1f01f12e9d5b2b2e6d2d1c0c17b4f200a353e6a33677efc2c4db2783ec8719a836476c01a66bf5978747ef71aedca344549813798560d363ce31e7e9da94da1c - -COUNT=17 -L = 2048 -KI = f33f26f3687f723b3c4b5ea8de8ffd3f85f8469b7bab103d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5e2bc9f3b07272147a610c104952aa2bd0f7d056523e1a4eb9dad71d123b4fe4226477fc01303f67638d97cc5cd77d4166910e -KO = 081e7c38ef89fe6ce80e311cce5b6008f1e87854ce0ab0974d4540b6cfedd26f47a6ed5f015893c1fce8d04cb58707edbca7721e2e72a57860f6c33304ce75c63b60eb1d9dbad7694adf60469499da95de00f12932ac318c5e8c2893da38d8a4336530417de75d6f8a61fcabeefbecfc8cfff1e4357e5aba56d90bd430b10623f8047f944b308d581e081da274cbeeb685469554a0ed158a1caf1bbff5ea81f70e28635885007ae5a65a27073a94a66c3c6c2aa49a1a36cfbbe5771d34f211ce8e3a6ec2cb9cade4b934c339cb765aabaedddea658e521fcce93b2a1d3c1cda2876f071567d0dc625d2c862738337eedfe21adbd555eded990bc231da7184c07 - -COUNT=18 -L = 2048 -KI = 810385804bb471a8817cd9dd49280595cabf7e4e27d6103d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e52765acc5dfdb19f7ecd2f59ff3ea373dfa9824122df7ce8511eb5df9df13eb7cc3504a1c87dbc5766dac557d0aa0dd689fd -KO = 7baea328ea587139768c9fb8a3c29af6c9e4a99f822f958874b6069058f782000e9b77fbb2e0edda3c5e9240be68eeaf39136578e06b841b1b3d3b5073367838cd020cd8231b40de6d7e2bfd457b00632790228ba4dbd7d6c291541a898571aa70b8cc6301b3e28dd3d9ecd2fc56a47c736fb3b0c769a326ca010e56121ad2c1432a36164671b5e09153be04a563d08fd8c5ab6af76125c526969a033fc850c24741cd781e9e48899b5dba6044eb5b5f15f7a7112679221898cd7da2f8c0b1309380c5115bd29b150fa829ff0c30cec1f4fbff7a1214740f74431a6f8b8dfcecda013e75334de6e5a160666153743e9e4acc9c663158accb734b29ee9130cd6e - -COUNT=19 -L = 2048 -KI = d0e066e6835e061e821500d204a4145f408700663751f680 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad32228801fa5be7e0b13e13ff10848f6e11cda9efc01007cca60839661838056023b05fee08738323acf8f88308ea72c42118 -KO = 2abe9ce83d9f4ce3dd1c56791820f046ff6320dfee05cad7cca2dbcaf48da1a8a202ddbebf440af08a800ee836f4fd06de40abd2b36784b18e63f5c7831dbcc61733f6885de9c1d2ef19fef2669e584aa36fe9a9a400ed9dcbc0c6db7947e4aa976bab82af91e1ba5e8c7fac3362dbfee615d84dc874d790d09b19e6b2911c68d7fb59ea42a9f66aed4595d1ccad38b1d238fdddf567b1e4f6c5612f67ecd4e6f0019af1003280d7a64567db1c0fb90cc5019488c0e57ed2c1b4528e30fde63727cf55054b55622f6048b2229e93d78f40df5a30bd6b9dc2cdcd290f73fdbb53e7c866f7bddbb61da9e5daf923b6dfa5edecc37188f4f715658ebf0d4d27b440 - -COUNT=20 -L = 560 -KI = d11e6749b7bdc8224284ba1efeb508dd4b6cac2b835ad4a8 -IVlen = 64 -IV = e111fac1cbb1a8aa -FixedInputDataByteLen = 51 -FixedInputData = 9d495be4396e3a893fc1b681d3ae8c65a62d73b9432ecc1bcd782bef3496e33b6c675d96fb0711b8a21a22c3cf28ba32e3de77 -KO = 4e55299355cbb31a76e2e9b6a555e8c5e9043c2165a48e9580d55fc4b6c13510f2ab7263584a0a777a1646b5abc7c2923bb15c4f20f7907c3cbd2856269ceec7714e8343f583 - -COUNT=21 -L = 560 -KI = ace8ff2665fe902840777bb785941b108b036c31ffae7d51 -IVlen = 64 -IV = e7b6f7541f789ebc -FixedInputDataByteLen = 51 -FixedInputData = 4ded4d71e20db3f5c0c799fe5ba3d09d6b5825b49b5a1571eaafae584e2a6a0a58415d4dc2aa8c2f5be311e400eddf5dd8d71e -KO = e8c28a461899d9dd63f6ec59f04212a014a26a65e459e230a73ef949f95d6f707dfa63be2f17727187b0462305214226dcba61413437263d8c9d64494cd75907b7f8ac1f6ecc - -COUNT=22 -L = 560 -KI = c15e723fe23bd25afc7a1eaabf35489466d636dfcb5d68a4 -IVlen = 64 -IV = 75f95971c2760096 -FixedInputDataByteLen = 51 -FixedInputData = e9f0ebf303a6f45b30f19bb7c4f820a87672fe94d84d1524393f3988784625e5ed9643b0d55bcee196232a7a034e729f8534ac -KO = ee0c1ac10ca3bb5f8cb91f3133fa7743b36a5300a0a29cff57498d4d59295ac85bd724a8993dcbecad6c45b2a20253da1d8c4dde7c031c79fb0ce153f9705d5d47f6a8fa5da1 - -COUNT=23 -L = 560 -KI = bcbc22e8b3360653de6182cc868c3d64e215eb2e5f2ccc77 -IVlen = 64 -IV = 629db324d2b1b40a -FixedInputDataByteLen = 51 -FixedInputData = 6ed8755ee07a4158497088399873654ca76eaf0482bb115da6775085fb41f2f1e317e139bd3aa964255321009eb7924d4824eb -KO = adf97979e4dbc6a27fa5f0a8563db001e905fc6c646fa776d6c93cf1d41600c221a0a5d4cef81ab7303c5c973a17d93a7ac778913dafce45d29088ce2149bfad144c9f4a454d - -COUNT=24 -L = 560 -KI = ced504c381047155f66ea87286013556d51affbd5c32bea3 -IVlen = 64 -IV = 4b30df0835aaaf26 -FixedInputDataByteLen = 51 -FixedInputData = 88c3895dcb0fbc62b90cf22e0783c4dd80f3de4b38f72d445025086ab5ea0ccae54c51d84f5e13630df88c4b99f273d63145bb -KO = 7110837fff39b451974a9bdc5d3914b09ed655274a9cc11cac1f87621ea952589649ef0ade3616580f8d8a0ebde2c522e5ed5ef3b33d821d02158fbfb508232dfcd874dd2221 - -COUNT=25 -L = 560 -KI = da99f253247e4f6ebe8b694282297615fc60dd48cb23583e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 42effa6cddcbd42d7de4e550b5d6236aa408df0cf27558bb584ce3572f9b689dfd3747aacf2dafdf4beeffe645545aa86bc2a5 -KO = b782edc09305a4febfc11f6c84e52d5fbc3d3bed9c84714903ab3649ff5b16cf90394236a6f1d5c07d22da183057c44533f013928cbb6b1a95fefd946d0f0e8247ddf82e1028 - -COUNT=26 -L = 560 -KI = d1e19795a85dc8095a68d66784baf0ae709f1d502fa18e4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 382afc8e63c8ed217a171cd3aa25402b2c6405a369b1a79747301472c18d91ca7fbdcb4024d81c1b76cd84f03fd2077bab6158 -KO = 4f17d22f8790c56b3e7b3b4b1dda527a5098f19755ac294dca1c1c88a9145989a091f0b14b79695723bbbb2a7a89892c240b087bcd79e75c1ffd078cdef412c394f46f9438e6 - -COUNT=27 -L = 560 -KI = 3ac3db66f5b5a9ec8616d3da973d6fb5b738a3d7924f608d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3a3f70d49b7a299314f43b217b5d3ecf590125efac6c4a363b66e5b48341fa127a1b6e11fc5d68d1a922e8777ae5da1486ec09 -KO = cbc9c5cde2f2b9cc456f528f57464b04bc5cf22385b9616367d7e2c3edc2c4b4a75ed9fdbfcd33520a05bc9df7890d30831dc9bc0634652cbf692e836c619ea00c0fb6180f0b - -COUNT=28 -L = 560 -KI = e3dfd5876ff6150cde215e21a5160989d5f1cd30f7ab9aa2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56880867019784d782631981dc799e85b2575fd378112c3b73785c337ed25177ba78801fdd45cd621d0406a54b589746cc7652 -KO = 48c085722bed0887f10e4b42149578d99ee850e547161a2969bc41d697f239a41e332a4b5a9ff5b66e64ea24d547d64fc31cfb15dace58c5137273314b3520d50aa68e314cf1 - -COUNT=29 -L = 560 -KI = 3481cac6a3a7642a44c8700dd55ab07b187cb85a11ba7fad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 94dbd1425b25b8d3f001807f993f17638922ee19526d5a01f58b71a1794c4401eec6c8d9ade801427802f59cf1ffa0b47eecf2 -KO = 1f9354ae5bcb0b216e256d81962ff8d6b8f57b685138d5277014d635b7dacefb05f258ac43d94eb34601a323de1a8b38e58deaa676ef1b18085d02716f0cc7f949a2e7763197 - -COUNT=30 -L = 2400 -KI = 4be049b5eb3964e71d9b4be85771b05cefa263d9ad3ba965 -IVlen = 64 -IV = 946b0a9729b743c8 -FixedInputDataByteLen = 51 -FixedInputData = 4fe59ed7c800ef9c915ae89aba988b76308590777e8c05586afecdac42dfc4a786848396f23e03338bbae8389584c4a0f84c13 -KO = af714da87a38031a00a3f5b6422243258c407d13b1baebcbe0df51cdd5dcc56fc75e7d062c762411c7b4e767cfaa114e62bce51448ad4ac26018721cb4ddb3e08436df6262e40bfbee6825a1d0a9205e2aa3b59a84d99a2a36c96a2af49392503ec886df6e5c8997721c9487ee1836bfed24169bb3aea3deaa44f64244decb4a930352824908e32f40adc2f79d24cac59160f710de030cb980bb49bf566989d8bffd761546bc029c1bb66dc948d3e1ac3f15738da5162ed9ecffecf7b38b83212f6b9436c09deb46e360335e9c80cafc3d1200050ff26acc65e14d415c94d78826d90d94db0ed6a40e3a0a48cd01e07b55f0bbc834dc4f57d7679eb54cfc2b640cafa911258f3b7cbb6e30b3b043624340cacb201d9207d31d6df784564540eb919594749f4d25d2990baed2 - -COUNT=31 -L = 2400 -KI = 5517c87a9033f9969a405beb5a9e550fdc669d9e3bdd47b5 -IVlen = 64 -IV = ca8def96d052794a -FixedInputDataByteLen = 51 -FixedInputData = 978f0c9ff2ffe24d3e0be45a16744c489a9f0fecaf31f20e3a75ea604773e9d452d18d9e9b36062e6a1cd2adc436393591fc1f -KO = 965523168420acf6936220e33b2362d37032dfe28bf5632a88c7ea6929ba10a3a741bc0cb206441b2f0dc5210fe13358dac9790a5ff9e3ed50371c40a95326c2ac0e29093d06f443c9dad827b4283bbd745816efc95d61562ba102bd9051dd04be9dde44c009704268c7b9e44a387642584d16ac27cefc544628b9325a5b57edb5f069cc2debdc083e762e02a10bef20bd5813ac977f10441facd44ead3eccbd309b3896902571c8dfc1e2f34f640bea20a6a061058cfbd57550936d36a7841b3be32bb61b2758bc658abb27230441dc28c450ffa319ca99be59100770d8f71a4d916a300b507b059d13ed512d76225f15e7a85a771447f06635fec43eafcc78ff6eb95da266de464a7d38dca9f0bdf6afe027a12369ab47aae4a63505c77dbfd5be848d1597cfa1a6992376 - -COUNT=32 -L = 2400 -KI = 9b170efe031cbd4a2cf032fb39d2942a9814be28271c1187 -IVlen = 64 -IV = 002464532b177c50 -FixedInputDataByteLen = 51 -FixedInputData = 38704a366305ed411215c0d07a15c9bb4483ecfc1fcd7b49c48f9eb42877a1a704a9d1fbf05e4cc76b7e397e4a5a7df66aa79d -KO = 15087a2eb734dbad6a4108bf11e419634b08284651baaf927caa7fc5b2448feb37461d6876477b33b22bf27ed56e9e77162a14afaea43bd62ea76b1871ba13e7b9954c6724cad7cff395c00df86e542796e9ec97c23064fb690a5ec2dfbce4af8199a2dc5a70c3981b7a2a41ac9667d64913e909a705e1c0e1a23f9421d2f6ede4ceb552e78e2fe7dd51bb44f7520d48526c4c67b2451816d7b28493925c73b54b1eef0fe8726cf2260ba7c85e3b0d0ac7a7119ba5de24fe27450f6ff4d8ebc1d55eda02810a60e2c936f850b8b92bec46d930aa2942fdd58031f735613804df68073edbb48734de7e2c857230ec2253b288d20146e2d052aadafe55a74fdcccbbb5899b6a403c3b116b0eb245348fda8871e3a4ea8f68f13403f378106a8a1f39137efdcbf1ee05bd93fdca - -COUNT=33 -L = 2400 -KI = 1438f9f2fae230f469c7ed2dad90cb50a6f53953bef34dea -IVlen = 64 -IV = 49564ce741b516a5 -FixedInputDataByteLen = 51 -FixedInputData = d84ce92fd0ddb3deaf79dde4cd93013f7d2daf7a9d9d383e521ec32de0c1f3b546d83461bd513bc20830fbdc1a11a7c655832a -KO = 7b81a1dabe744891f0daa25ba422ff1cfcd0e1a476c92266ea69e34e5e817ef61947cf42dd9827463c1fe2a1d7a00f67688f753ebd3a6803bb9bdd295f1140a6f8c85b34993a5f93659153c56b9f8f26cd95e8b377fc221e4f5a334a8d801cf58a4513c944add0e36b2127b65954946adebb218e3d7a178e419efd2b9eb607790a3920a1be3e1e38fde11f267428b7538748ae7f519d30377d42262e33ba814034f00e8003843e99bc28b8542f18be1d38925f597687aafdb14a1bd07453350a89194834b128cf71b8ef8ad15244fa199587f30691d6fd5c5c1ba12cffc30f832246f1ae76fbb1d11432fccd59d81192b1f4c937090f2b3b80f25fa012a7ac2bb1739be699d1ee83dc0c5dfb9a313ef3f31aed580f7e7035b502b26c42277defc1cbc7134478ec74b0cca50c - -COUNT=34 -L = 2400 -KI = d945adafe4ee96fb20a596ca3a4947533506886fdc6a2bee -IVlen = 64 -IV = e399871bb8a75968 -FixedInputDataByteLen = 51 -FixedInputData = 22e4dc2c4fb0458a9e48099f4ceb42794d0d66a1482e0fa0c5f752b81a5742c7767436b59f23f86e674829de16c7fdd6782dd0 -KO = b29bf655cd607dfbe2e154db8c76e0c0c5a9fe329ae767405cfe130c5468c09198ff52ec7c36f2ec169bae6ea099340f753b69e5d3153996c20713e1dd4578a32de124dc66b5ceb4d337961a6e31ff84f7036522fa8f57cdcc7478524bc490ff2ac5dda037b970cab86ed88bcfc6a3bce6ac0483fb7452c811dd43119e48da3c6030d28f13411c6a227f009d4dc88e4f00acc84f386dbd3d2e60798e6af82601e0c086847a5dd2623ca5a29cafce24288920b893178ae813ded378150e6c6bd3c5a25476d469fdbb061195131d1093b7ac88512f440abb68490ec581c306bd43e2d3d486088406ee4bc068c3bc39c07ccb1312158b640df551496b3c032baf3c65e03d1f38e3529d6e397577fe832d26ae8f9d3059c5893bf7d9ba0fb69713bc00010dd3298a5dc73e639ebd - -COUNT=35 -L = 2400 -KI = 6ec938f820e45df147268e41965880ef5528195e1e8fe4b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d7f4edb9b9ba99650cbd3a6a38a002bd00b19f0b436dd1533682108e6e5b6de61afa9b237d2fef400fb09c3e47bd21e02c012f -KO = 84cb2ebbd1f8b0dc2c2c750d498a488b317210480683404f94029e201d71ac4ba2c5d115bf2a5158601c875652331ea41b1a9f80c6346b4d284c0fcb7267502d25dd7ddd7bfcbf9e3e92dde047814194752f39af18de501ca2305a90e70e15164ec539ffe1919494d575487c284bea28940608a19ac03edede61d6c451d40fb1957288601090d39f86455216f1d35f1a856d0443e60eb732dcf2830a59486526ecae55eb03aee44aaaa373f60e5157a9447a02a7606950da37036f7c3f3e13152b822cf818c2dee5d163067142a622cd58114ece19e1934a3edb72f9c2a865062059a968c5be7be1dd573ff3f084c6441f4ee7883d1077c81863db829b0bf6396c20e0d8f733beb3fde5b67c2449346e6540db0997c811a55d1dad0d542c7164c174fd7b4191a0a00269cdc2 - -COUNT=36 -L = 2400 -KI = 760b3f1a26e1d0654ea344246322989c6041f3873b050f1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 71244a6d90a50a5e0cbc47958f2634cee6d0163de535f17d5851f627adf8079c6d5b26e94d674eb0ef234878a43813445fc2f3 -KO = 88facb7d5f17c700b9b19540a52f57abd54c91f0dd189169578a3904e56832d853533763646cdf4277982b6474f73688d6d51330486a308cf5bef8d2122df86ad84a7f65572504155b7565794ed9587960601feb627f0f0d51976a1ffc2e7376345f50e4196c6cb401a2702c3c4499bca98895283e34665f923a800ead70f05f75e7b0dcf066027cae3fe5259dc3f98acc2713f5f7d2d0e8bfaf52e0acd919fe30bb306e800a69b46fc59fac3073e279deedccb9437f00ccda68058ad26ff57dc6d3ae65fde1025a5f8350c66d09f0475d5e3c22e5646966606ea4bb98797777702f4cd82d42e50917f0c5e9a586616b1acf55c59e86e0dfa2314fe6e1947a5900f0beca767fd6b5d592a2b30e5e580db34fdb483fc302348456501246499767764456031343b4d97340af9f - -COUNT=37 -L = 2400 -KI = 91b738d6506b0d6430f407f89d0a5e68d9a4d86ae6799a2c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0a525d8264559dacf4ef7c28547a0b14f3553cad088ec1164531f707f7024b917564321363d240a42e52497d0fc59ae8d1827 -KO = 5337c1fe3bc7391e5a5e115c0b9f3543da70c941e0f26cc2beaedfbb27a0c19ef63dc4a208bfb2e685038ba1721525463eae9e74219736f59172b111e57f5406ec6b1137e56052f39ec5eab3704f4007244f8cb0c4840637d0eaa490b494291f7326a32342f661e9739f7153c634c0de8ac889675ef3471f72dbf3f61a9d4a670259168d2be48b8a88f085a46fce1f309cd7bac2d987e5196861debe6a184eb30ce446604d2d9780dcb99b7408b9eda8a4de63c0b23ba238b674f962297162da032db7afa16a5e2bf1ba130165007c4d31de11a1b37d8c25160f166bde440e7ff3f51427b04f1e7b5460c448697f0575c412df1229a2a9e5e40aee3ba4449e2568952b89065c1a19154cb3b1b1edf51c2141a9c446140fcf03d4e690f6182e9c86393eaf65a42a290fe67d99 - -COUNT=38 -L = 2400 -KI = d574b439dbd59e9dfed21fdf3b76fccd5a7a7e4e385f2454 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7010526d0462170359d7da0c6a0894fb142fe869339d87c1c09957122fd80d3022652e92357d26f27d1da2194b0eadf16cf4c6 -KO = 4c4a0d403be6de94cba36f2490357ece5d3166a0b823bb09ddba5deae3f9c0a2ee0f13783c9db38e7634bd2b5a1c0eb52cacebf0002773cf581adefe0ba4c4e2ac1204514bfc9998db1726edfeec22b5bec13669f4c21c3257a914b028fbc1100d41892f2e8438441d2a2fd99bb1b811222cb4841ad2a55fce7ea21e2fb055f3e027b516964a616d0dcef7d5f66e680b1a098bcb6f01bdb619af4f40d20c5a1c1e22b8ed0cd0030a587ec2d392f5a7057dcae0281f88d70d85a7e63276c1ce036982c24536f416b807520235e1b0addd43b356d742a1a6a3b95efafc5a7ffffe42120c4b93c0db0ea159f049b72923c9a0b6f46fa64e900bfcc8eb640fe11dc1c8c9fd8bc693a2bcc324cd43527c61cddbbbf181a5f185a365072b47de0cf5dc54cfdaaf6630acb442a5c2fa - -COUNT=39 -L = 2400 -KI = 5b86c8196a75f32d4370aa10daa10351aab6eab4a5634657 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 75728e2868c7e119f929a9faf43e163f8507c3183fd535a30d17d5d5acaee26c0bf0af1deacca8ed18511a12b1f82a1e184deb -KO = 0a44e4aeba54f5c8633675a21e5ae8607e7ed07bd6a625ba9cb6c8d5cc4b3100d5d04149dcbaf8ec34e2563e382122dd36027138932d3c5dcf2c34b959d83b907b564280fde0bcb156da70091f79da407068648022a5e67670125775cf75336c7bac6522b887c50931f56e1e85148b2931dee2c958ee54bf51d3f022d652ff17ff08f2bad06383f879d14021e911cd7586c383deee6e056361070ab002d7fab52e0a6c2b68320b4d66df0f8e89e1ee9afa158636af1b108fd0a0ed5ff2d50844b599ad2550d05d731fc2319ab8bb62407b8ad3689a0c35f8e3dbbced1baef88d948dbe614d2a54d6595a8fd6f7dd6d5039b78e998df42714b1a7c6dded1ba256bd4d1343908f851eebbe4790ffc59069ef942633a2f8b10722e6a2a76c51b21b408fb854525b9248c20e09b3 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 4ac1524e0a139f7ba72969a6eb9006f76b935e0a9a37316c -IVlen = 64 -IV = a0c16b4f2251f8d1 -FixedInputDataByteLen = 51 -FixedInputData = ebb36d3bce3fb07c0979712a49a67335d27f7abc518b154cde5f197cc76e460f808c13b239c34d45ce5b41369ecba92fb1bf5d -KO = e8845dc9f610adbda23eafdb80d3528282721a6e0eb9dea355ffb971bb8120f034eab841358f89d550ac8362c0d4e55e24efd7effdf9d9e680a9877a027d7bac - -COUNT=1 -L = 512 -KI = 06cb029f598abb690c7959b9d8420b220c6735b624767a20 -IVlen = 64 -IV = 338b46ad927ed65a -FixedInputDataByteLen = 51 -FixedInputData = 9ac0c95ba2d226a4f0b37270601ee84f84c5df2234c39bc959ae2315e30b910c39b06a2e80ebcee20ab940ae98813b41adcb10 -KO = 4d4ae14f4ad220769dd3235aaf59fcee16201ac717d7b2337c9d9036006b030ab4c8190385ac6f5ee835c7a39f4e3e2e0b3ab4f96fe78c61cbf26834ef2eb858 - -COUNT=2 -L = 512 -KI = 35ac8d0b81f5edf71ef4a69485b0d72c5f8010593923ece3 -IVlen = 64 -IV = 9dcf6483c0b05110 -FixedInputDataByteLen = 51 -FixedInputData = 5f7c46619487752e48676ff429081a37b384aaf5f87e9f25d7a679c9fd184dbd6d07ac1ce494bbc2fe0e0d6a79958a56e153a9 -KO = d1200a2e72712ca8facefa79d088af57fdfcf83ac16c345d8ecffd55278db63ebc05352f99dde3cbd506d5a72d2bfffffe0eb70d1b87ad61e4d87eae82ec0548 - -COUNT=3 -L = 512 -KI = f652bba676a9a93bc87614b1cb8c750427d9771917151bb0 -IVlen = 64 -IV = 82d694be6db7e394 -FixedInputDataByteLen = 51 -FixedInputData = 902bbc88214dbe3baee009ae999407b1dfdda7d4904b930daa01756edec83343caa656fc0b2ca1852b7f42835eef8ecfbb47e3 -KO = 0f89404f480896fd8fcf253028c8a35920707ce11e79303c99f60e969ca63d25fb8b2c1ed707746f6fdde413ba16f824385ff2adb34413cccc9b53f65f5ab5a2 - -COUNT=4 -L = 512 -KI = d0ce31be2a67d7eaf5a8da5797c662e909bdd5ac5a5eaece -IVlen = 64 -IV = c3aa7fb53968c61e -FixedInputDataByteLen = 51 -FixedInputData = 1c2d8c2c14d2a95d2e47b1fd31948b6562f956ba34f00ce0622fc67e19f2663ed75f3667c1deb6b101fd2bd553a197d2d5a423 -KO = 2c267db0ec83437c36c4a4a0232118304999621cce51fe45ad2308ed987425e9c3a551a4688c6c548e82d14cea6be514e00a9c7a69cdf3b3d0c1fabe3b977dfa - -COUNT=5 -L = 512 -KI = cff5f7e673b8fa8da4e3116d909ab08195fcb00400c224c5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 219f0a67ce3cd300f29b3f78fad7a11cdb7cb9c4e11a3ddfa8d9de0f34b7b49baded0c7b8287686030421197d3ed70a5894a64 -KO = aaf1db179e1ca4dbac3d893b19a61b971e89ced35464b14d6ffc592ac5e77e4a05e3c697071ac9eb1723a4cceb5153f040e87ffb88bbe2f4374a326e3efdc14b - -COUNT=6 -L = 512 -KI = 6aab252baf859274bc623ba0293e44a40d1163ba05e177af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92bb0fec444d46b50fb40b396016b7aff9a62a883cddeb71da829f929753819dc009d4b81eae1951d92d3d0b06d9bb0a4cc33c -KO = 63317adf10850b3b484a523cc9766b7d4ff6df8d0a7412d6d32575a725ec9d20a32e52a3ddc1c3397da8cfddcb78fd002dc479c43a35d5b580e049223a5c0b4e - -COUNT=7 -L = 512 -KI = e2da2b201f4fd7bd6b03c81305e1d8f839099cbc97f3b060 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 886c871ca1daf894a9d3369d8392961c5404112ec3ab9d6b3a9013f077cfcc6b87d8d63c366bc999e959f1710e1abe71d85ce9 -KO = a39dfa5dec2f421fdd3901494116ff1b427efc8ad0ce53e15b167dfcb85e57bb8a5b5bd7ca3895b7c97598a5eed2c8b7c29948131a104769c94b91c522508669 - -COUNT=8 -L = 512 -KI = ae5bebb443254801dd8278f23c072ceb6145dfa2ab919184 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0cdd3f93b6e993a273420fc5e3e1dd46f075bcc63269e265fa3dcabd1478bc8e5714003cb2018bb084fc8862910060be56b909 -KO = 1dc104e7c6d7c62a7ddf42dc3869cbf52cd38c4eaa78f83e901b7072feb09a89f51162f2c00963ff6e23331ee32a197af6a5355e143a96b12bcbd1c75a8a80e6 - -COUNT=9 -L = 512 -KI = 10f5f9a76842a41a1bb5f0808c16ca59662598b42edae70f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc4aacbb96a09481b9da3155c1cf1518af735a0fa20fde6427345709a9873116d0abb76069252bc0397c762189ceedc3e2fb43 -KO = 750ae9137d1e33bec8136542cadfc9066f05f25ffd2e575b1d3c661edceac9b58d51ee59f3d1bb36d55f9b08af9844041341fe8bf5deebce49eaca90b612da6e - -COUNT=10 -L = 2048 -KI = ca01387ba75bea467b6e036a9fbd9358114483d0a55db044 -IVlen = 64 -IV = fd67eda27e1e149c -FixedInputDataByteLen = 51 -FixedInputData = ecc8433132e8844d0eb65ff60dd4785faaf75b3d7997a1ed82b1cc2f0a5251372a35d63702ca008873bd9200f1913ccaceeb30 -KO = 75dea8d809d055061de2b8341e8848b2d83165c6f7aaf201cd643a893587a4d617c851b26c65bce3eba85d7c9299b12d2554184b4e6c0905b33ee4dbff7ef8d1f8365f5b8dfa10a69873f3e5a22f1f75754ad3be7d99376d4228f48c2c1315dc86735d44bc827bd6479553dd91d99c6460f1eb73f409551e90e9040e58fd8baa0f5ced103511c9a6256874784d0663617e957ec08682add8e43c86076971770a74cce94024d20cdf3a67881a75097268e8e4b7dc0ca24e92b05af071fdeebeb3147c4f84c03857e35ca34a36f71f146ed5649159c785371147310561cae6084a8270f131fbbc29396d5b33051fec84702c459b1235c293aa5843c0376178a515 - -COUNT=11 -L = 2048 -KI = 5965b11bd2adee4cef6f361d76ef5f552c2ba09bbb709d43 -IVlen = 64 -IV = bbfe66bd677ed2e0 -FixedInputDataByteLen = 51 -FixedInputData = 93507eadbd030d56bd6e67ec1646e0b20a5d4bf2fe9ede2dcdb3e129c0069dcf779687e7597530188ad5be050b8830e367324d -KO = c3139dbf2c6881b64b11403477ad32cac369e6325255d9da8fbff8c8be08ef419e032aad843e22198af0577a2e5a374f59e790992bd1ebb6ae3543c12bc17fb538bd9cb83bbfde1ef7b2c1440e65005d65e2f2b5ed2f29b1bcefb1904a25163d0f2651c739db72f8412326e9ee2889db140d1aa942508685a5fffd418c0f723b35dbc36b46d62fd25eb4e6cc7bc37dd87c9c7ae42277c11f1601596b0919a51343918c8099cfae28c10b63e60314b800b9102747a024050802675ae043e84b870170a8635488dcd68055f8d2e0ecbdaa9e0c929d31a277a2bebac32084e8bc131c6f9daa614a111cb5c8c046a537a917dbb53370ee6290007846c79b0b192982 - -COUNT=12 -L = 2048 -KI = c439693a3e9369af85e32c0f4d62c9505d0a3cf51ec68307 -IVlen = 64 -IV = 9d30a59351c80917 -FixedInputDataByteLen = 51 -FixedInputData = 7a72d81c82a3b38b2ed985c1051f506e94d4a427e84dc5d34826c328d1585514f1f7b84ab5f43e57c319a203e9a57b9fb50d9c -KO = 9505f95afd2e9b927dd97a428a2a1b65b65c3d42602694c60072287ecb8ef3b9faf42a4b18cd32760137a61ef55b7864dbbcf2144fc732dd86b266bcaf3d6e5d933fb455905016e5c8685b8b1e4a62c2b23b7c822a7fe95c44acf87ae318dcb93aed8b4efec8373fa7b3fe12407c6ba687d61f14b56489732c132bc21617238395a38f7df4ec5defc1b3f1d8104ac13bbd464c8a1c6d24731251db5df4c0480c9fde7670c605116387de808ab8af1fd419631b668d9228fdfb952bf3f47eeb22656936a5339182eeeb5e95f129438b38b1ae395e87de17330f6f4b4ba978c1ef4f4a782b78081f11337132363619e43b3355eaab815980956fdf3a48be8c6999 - -COUNT=13 -L = 2048 -KI = 89a53f747ef2fdd735da774067a52eec06ec4216301fc4ae -IVlen = 64 -IV = 1a2a5764fd6ccdcf -FixedInputDataByteLen = 51 -FixedInputData = 454137b91202d286c4890f3ab72473b8fc37bdb47e0c93c0e8fdb850b191af6c75200e10dffb39fe38fe136fc0964fba03ae86 -KO = 79cdaf4ad93ccacbe4af25c7c9d1da2419ea0c360326cff734fa2ab33fb281269c99267545bbe7dc305d69e0a28e4d9f1c63c928dc0197bef086eda89f469e3c0c6352d2879b4f02742597f81be00d55ed00ce79513cb4612342f09d6d10298f8dcf0d16f5f61063bc5f559d8b8d037cd674fc5cf539ad8afb6a52de21455555faeb6e6bc4467ee16dc579890ba46cf53fe8e515ccdab540630eb3fc758b8171258be9c25b60f781e81c733f3ff0f3d25e1c646a99ecddccfa25c4210dd66dc0e1c629b9d389d1adb8b47de6cb4035ee84b11d4c23858d196d5a5d933218e597fe7d1e634f837f550a553b4b034b1843b90ef018fd327251d42228677fdd8af1 - -COUNT=14 -L = 2048 -KI = 3cf029a46cbacfbb0056d3fb3fec7bdd5b8cdea162874054 -IVlen = 64 -IV = 222ab99dd462d6f4 -FixedInputDataByteLen = 51 -FixedInputData = ae882dfc5fa06737250f021d082ab5e0b9f9e406e7dac027717f2f3d5c3ccc6e029233f7573c95c775929f5bf93a1c68b6266a -KO = 7d3bb879c35ba2db95f773d87cd725f27ccf0aa328a54ac5466d7c0c9ab38571705ce1249730dc6e6fd302103b967cabf2b463b1ade4702e6b3c10924cc69f14a410ddfa165e5a0e78057694ff9a84f1cde5a8cf78210285b7989bcf34afb8aa46ff63b0b96b112d59a7039de2ca8127199093034c776a46a41e9b85d193d5781395993f27ee2f65e512dc0dc38f260c96c9a34fac04f856ee327c8d1ade808a9955c1bf045239274e2f98772097b37b1d588a79f1f8a72dcc5759bf74a1705e8a170a3bd497ad435b794d3974e9ef1cbca7571ad74b16104ca688f2db789d2e686e0d7fb91cdf0330bc1472f0e5c3a48b17ad932542959aa08c33da08869a7c - -COUNT=15 -L = 2048 -KI = e48c0b6b1c9ea5a09b4ed981a0b7baa19376325c428368c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3e932626a22a038e100c94a13e52c12424b9b3d2364700b3e5b587338035516e66cf7e2bbfeab5a6df579ea3af66f9da30d7c0 -KO = 8cc3dd18a88bcb72182c5455b980e43200c21af5c89df588075208482fab4ea5aa4732b88a72f46972d73a5d67826fd825b238c515fcb0b26a6786537fc43fe33f7ffe1310c0799aa813efe6e0acbea9f70fd43aff989a8dbc4b7d9aba17603aedcc43eb9872cfa3846d216d884c6ae959109e3e6b8867f647e0fe0dd5cbef653f74e3fda604a782b9dee033a0ebeaeae4b317e5fd48a5912139b1d12d802c97bfb239af6acc47de48f2c829636730b8dc34104c7903b819ba28ef9953b8d7632839bc1302ae7a5add5d149efef23ca8b1b6aab90d26da201b449665e5833c8a0a6ad905a3a00e727b0034560577c2a097b9cb965cb56425284450bf1f982e21 - -COUNT=16 -L = 2048 -KI = 7aee94a13a5ff1af0b76d03197d36891d04f6e3c683be0a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e067d3952e6607084ba777ef50f6a5f3a44f9fe36d77c379364c07a3bd579849e022686cac46cf1f5880b574cb9196021e3dbb -KO = 4f46ea15d1c7e2d33c115d2d5498e245fc500ae6fb60ee3b474355112ceecb1b000e81eb0a34c625984316bbc6689116f2b21cdd797b58bdc72b1bf39c610799599a2a3594ac687d0a632efae7935f6a164aede9da865f626788bd1ff12212156c555f6974d31d01208a35af02205eee680acd2cb33f7313aeb3d113a9704f8613095187e2f8d3cb775b7cfda25846c689dfd232ef14ddc81b0696c111dc319c465c50df5f0bdaa803c20a5be2169069891c48395f1756f6ddad75ab32c7653b9a29bd41cf90863eccd03b2b887c9c8236f97c76306f31f7188f512ede19a9d50009a33a660775f956b108a2ddaf53b67d40e449dacfb5629516f178e74c3165 - -COUNT=17 -L = 2048 -KI = 5ea095ed23d754c011813377de987aae0e7195c7cc582963 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b04b7b51fd0b255d5feba9641a9853a4f6c57d1cf8465376bdb40fbf0aa27ddf009b3e2902382feade6a70f48e1e8a0bebb647 -KO = 5afe13d1db78f996f06995a71c148e5c1c381c904ad1b698ae12d423fe7a69821bdbf7b606a43ae114cd6e1a4b255eb83f193906740c6c579b188d735a994d81fc32462a3326e31af3479587a1c0b5adbb23c399fa368fc54da7f9146498bb1a3937d20e0b655ea2a5ddd89670ad3ed3de62b3f0a78ac887af9dd6a92047fb226dc17f6af776f51eb7a6a82e0f445ff8936adbe6e046fe3b29b934901c8523f0bc17fd21b2f3c87430288f500e5a2a47839e2ad9293127d1a17d11ce9d7633789de3bf067f2c2290789365f9f568bd46ae47ec5503f69826962b4c967804a6ed157f9709a0d609ac2f14f20b97d60c4f59bbcd9e99abad18a7be8489a686392c - -COUNT=18 -L = 2048 -KI = 79321ea5976ccba5e31ff3adf2464facb8ded69419695039 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 587c97b541738bf1723d4e5dc10bf2f8ba5b0dae0ae1bb1e17559c6a8cdc5c77c1b26ff2acd807d667ee99954f8e7d5d18a2db -KO = 4893714cf02f61ff275a1892ee8fc3cee6692437e2b5460e669c03b2c11595cdf9d9ef002406b06a2c4c2d1e658733d792fa22d05a0b2a35bfd0eb4fa818c342862461eef4331da900a42c95a3fe48e44d4a05f4e6c99c6ce232cb3dffc716e9572b517766bbefa0a3eca8c48134de90ca89692e4bc748cf9edd1d3160d0f6bc57e081efeaff339333c77ea65bc2480a21be366301ef1efad6f5074fcfdae1f9662a1d19767cb8dfca478752a6e910c22b2f43d934f27b8831f84972bb9114c2303f1bade490ce78c386af7e6c901569fdc6e9c7bc7bd46826a1495899a8f261bf0e0a392aa1287ae47f96ac721a67e8f70a8a62850a1220c75e9d2112efe9d2 - -COUNT=19 -L = 2048 -KI = f5be75ef3f1b212fca25939c237fe1bbbb0937f74a211b1c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d5aa8e6ed2e441ecd7e088003d9e2a4e68937e3ce2d1e5218bffb47b4b5ee644f11811881072972a256ab2123803d31d2b193 -KO = b63af3e871f0b603515726c358d1110702ff9e5326745be85f8bd52106d7bada15989246e85df90839973804a6a69d1918137cd0f3299950e70362e4c525d5e9aded2c70ce6331a3e308257d685d014d0c54dc830a6c68e4fc87bcea72e72b4ea6b22b7dd640b2368f0aaa8ee705dbd09f1ec2c1f39ea8f97150264e75c5ad29800c8e5ee9693bec92febe678e38111b62b5959e608db49545d72d71927cae65d5ab4de88deb0588804e8ad81ea12c004c0f84536fbd39db92aff73ab02828bb42b04a4ee1270658ec85600bfecb4efda8d5a8862ec4f272d972fe8319ca13bd6ac2ef07f650946c24757ce18256a4a90fb5eab14429ef5a1c4181a5e70b818b - -COUNT=20 -L = 560 -KI = 808c185c297b6ffc5230e01c74fb1606a2bc125b052907a9 -IVlen = 64 -IV = a20d8899276f735e -FixedInputDataByteLen = 51 -FixedInputData = 9a157f925a1ba1d50ff2593b4d3274b430166ad64396106f316d826f6c13145ad99aa0b93ca7642709de4c1a200c5d1e457bb9 -KO = 0b27efa76fb445e3eeb2c0b431326c8eb10ea32ffb971c5aa94340b29bb2f4fbb7d98505711d65d8e3528c02e36d15e362966088ae8d1539ddf9372689f3c2080bd6a8bfa855 - -COUNT=21 -L = 560 -KI = d125eae12cbf5c4b004daf7b22b309a59efac228861c6ab5 -IVlen = 64 -IV = 1154c0083c7a91e1 -FixedInputDataByteLen = 51 -FixedInputData = dd7d4c9302e2895efcf57a25189d15d18a441497386e9e05e278599d191b4da4605092ef8d672c922e157b2308690c3fba652d -KO = 877e668c6590c38e77aa230b84a8e20f93090e7a79990d6add38ba371958b2f1c448a8e51fe7378496ce4bcb7d94eeed5377055dc4aae06829e2347220228ea967d3c65e68bd - -COUNT=22 -L = 560 -KI = b4a714afde814c8a8e90d7a75de7cca1c0ce6b2ca903411e -IVlen = 64 -IV = 1eaaed65837258c8 -FixedInputDataByteLen = 51 -FixedInputData = b23ad7620207eadf8f9e4afb2269244d2c02df44dc3b34acfe0e4d97f4d62fd9e33fe21da185363293bc541e864dfd7ddd2c90 -KO = 77488de014cd7c33b2e2233f864bccfa09b47976be5969862956e545e3bf05e50f7874b3cbd1825d4594f442ed56274705045af4b7fd4a4dc37d57adc4f2fe9c10e81ebcb7d8 - -COUNT=23 -L = 560 -KI = 0e45dd02c6dd1c6d98c108b1c8ad67201f16de502bdb3e80 -IVlen = 64 -IV = 8f6e7dab0ca43020 -FixedInputDataByteLen = 51 -FixedInputData = 40d89ff05f63973d4cc206c635165a9471e1cee90b31fd7e488edacfc41c272bc0dd587bf0f9a90fd4213590145daae5f70707 -KO = 4717e1792d7a0f1964f8f3715611f73b5b3edaedb8a33175c4f769a0653e740f3c6e1fbe45a8c67d46805cd344e44181cb26325c4e206d051cc4ed3084257646f47704ab8581 - -COUNT=24 -L = 560 -KI = c8d9e9d1ba1cc5c22524fda08e877088308a8fef91e66e95 -IVlen = 64 -IV = 65c26846e44b451a -FixedInputDataByteLen = 51 -FixedInputData = 1a892b59e2643c1d931a39ed68b009c2533c0b7a52c6c7aea8bc8180ba658fbce2c13f9626f30fc5bcb6a3d234fc0912dad201 -KO = f203424afcd4904e7d7c2d23ebba372fd2d70274136e65756a75b4735eabacb5741cc0cad5f914fd07ccda6a3619fd5babd9bbf000aa2557f327d0859974d5aa148244732493 - -COUNT=25 -L = 560 -KI = 5fd75e95aa95603f06b9e2eba7a30a7bb61909cb1e7080c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ebe9bab7ac6f82a35186657e709454162c6ca173d905c6ae9c80935c5e114d24332f39b0903cc8d59bade64c5290d0242c610 -KO = 10b1b37a1029b799e3da7381ec7d8dfcc5886149e5c27a322e96d375f2a37b9abecc38e0b8ad94a15e59244cdfc6d375ed76f8426eed2cf16a641940300ef2b3bad77be4a517 - -COUNT=26 -L = 560 -KI = f5835f44ab16d92857face9cde5b9624e17cb9868b13fe7c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 041bfcb8fbdbe6bc358b645d35ac262b84e23b80470ca9f94ec4456218f2344121ba8f7d4b2641950685d0d2b7ebbab335ac86 -KO = 7172610f5b3cead217ad92973a33a4693ac7a866f8dcecc8ea5ce1f7a8a5e024abdbd924aa7e97d654a05921f4245961b9e327639fd802c53d095e7837752673efe950837dcd - -COUNT=27 -L = 560 -KI = aa4278607f9fe8c5e9652330369bca4658a22bc05580b587 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2464bbad8ecbbc1cf0f21f16e76832eb8f147b39e572f552a470f748c51091b50b04aace7741517ced7bd7b5e23c115aafd752 -KO = 87239f02561db55b89193d9b65bc2c136e9e41aab424bb095f4f3f55b8ca9ae6fb94a26544eab2ed6641a114a217798ec21c3bcfae9c8b23fdd43e2e0145620eeee866ddf7e7 - -COUNT=28 -L = 560 -KI = b9ea8df84adbd7dd59bae0dbe170be5ae34f558e3a106826 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 667b0ce356700f37a87717756eb22060915a0451da5accd9c9dfced26d4999882125f38cc2266ff149c4093e56e5429829ef7d -KO = 9f6efb6223bedaa3662732fec26391bdd934275e9216f3738cdc500af39c6142aa2dfd66c0635d117a648ae69e17642d1367d4b3a705b929d75aae06d331636633de2bc09655 - -COUNT=29 -L = 560 -KI = 774e2b14efaaa722280255e0ed9529bbbe12b309d6c2c629 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fba38a04da3ecae13f59ef8a5e581891c89ea4ce1d73a0d15926ba260f207763d95542cdd21c449b9c1ba4bb872488ad225f85 -KO = ad290ff95daf7f152b4e338b8e1ebe2af5ca897a748af99adabe22ea611420e658cf7e0596158bd3aae06ee548499d432a7b8d02750681b7134d6fde41e2240d2d6a3d8a4f01 - -COUNT=30 -L = 2400 -KI = a1d9bc63a53db62dec7dc5591ad44bfb5447d578f6dd2030 -IVlen = 64 -IV = a81a3f82f45c311d -FixedInputDataByteLen = 51 -FixedInputData = 9a2174136a7c883eadbe029e92e1e70e8fb2a1a6d0edcc1499cb51691b896f6441f0020a2fc0efec512cb54a0fbc8ffc3daf38 -KO = 8d6506642543e3cc4e599ba05faad71c51a151845a7ec288591728afed75baaf3da8695172d79f7bdbcf82953e578635b6860d0f6bf054c9477c56545dc383e41c0366a8b8ef2112c98e4b0d69f2a7b3272c45d5b6b1e2903049b3e500f1afd21305bfc5946d02a66623450f8f5caa7b37b51b3e7801f85b636569b10b33d13e5e6ff1feadb1f2d63b101c2fd8c61eb062604366ee920db2ba64b66c2a93785b1f9a5c0dd3f4f32070200cb06397fe9b58ead6793a8234d0ef3d2c9a933ec8d59362536faba8fbbe716267ab05de44d23f130c33e07e2898e45b1bd559229a875db2ce701e2a71c916859a81e4c0b6b65099269596e418cf34930ea529b8925f3408930eca49601e1bd19700896b3e714b421aacf0f88a19bb8e7fd7d1947327fcecb2c900ec484bdf3204f7 - -COUNT=31 -L = 2400 -KI = 78619be884967469f43fde8f6829dc41cd33f34ba5cc44d8 -IVlen = 64 -IV = 9c4e74a06336ad15 -FixedInputDataByteLen = 51 -FixedInputData = 60af02e89c7df05b235bdf43a19e6eea50bd46d8d0ece16c4aee35217dcb8c8957476f456c4dcfcc1992acd360bfe64db0711f -KO = 95da2f063ea946ec7be357a739723f376085fdad41a7a87d24af0ec803914e3966152f5a845ec083ede8bb6d986665832b461e8e1e302192fb4fd254804db9875c0aa618a65624c6501edbe2995fdcb6cef525a6b260f61f1d2d43f6df997d48ceae2f3aef28efa8287d241a64f4eadf4466312e7636fd7fe8a45a4d8268b120d2dade0b93f1ed680fd916753388d5819517449507bca3be8b8805af8a1895df04c65cd77f4ffe0cc80033f1290f716cada0f2ae590afde8927e6c24988a1516fc6e056d461367959647d4874ac112665d7913a055f2a13c58ae9f232ff8403b21d9f715e07e3808b1d13411d239fa9020d9f30a3876fd68b8115125fce1956e643267a77a744a6b589eadc6481116d62f9a18a02d0e6c035562a19d81815fb813514090a5432ae287855d00 - -COUNT=32 -L = 2400 -KI = a8a6d1fbc1f7a86999cdf160a8fda7bb36cda7572416fbfd -IVlen = 64 -IV = 8b1e085e33bde318 -FixedInputDataByteLen = 51 -FixedInputData = c8750d5eb1af77e37325d0f2c74517208867798620fc2ce1b08b989cf21537a4cfcd0e2a5429c05e1fb5cf0eff146f49bad609 -KO = 5699311fb2091033bb86e0fc46b8e1e2dd8e0c10721f3042534a3423ecaaf30157e4b83a8769800c85ae30db14d4d1b2e8694e97498a6d1b8c1bbee7b1181da9e79cb30a8e93521cb9f2e4bfe59bf8ab2459c80c7b74a5c8e2ae77fc24d642855582e9e4980f091843455858e20cd096043ec5a66394f8d660d22c97f6dc2d4f01015d7e57250ce36759cd3f13c828fb272d818325e5b92900df00b59150fd93130781a9592b13ad3128d841527cd91bfb7dde40f45b6895b815a5be8a766823a62e165bf25d329596e9a254fffe6250423dfd96333321bd0021cb580e33d28e0f10e6d5156275454416991c4a7874b71d412977d581dbd3a7ed7d97d7fe46e181b98a41c4de944b8b51d5d5b37ff0001a8b6ba22242ca15d23568eea77868e461dc2f4b99c051d466ab52bf - -COUNT=33 -L = 2400 -KI = 225c346c5605fa70b3a746da85359bacce143111f7bf77a2 -IVlen = 64 -IV = 78611b767eb620fe -FixedInputDataByteLen = 51 -FixedInputData = a7b01a41c36df7f88ecbcc7810519901dfbb6f1f15e1676a1bc376e424547157215ce09e02d7fa3072eab9217dcc812aa14a85 -KO = 6de07afe5df7776008ac2a60dde260a56df37bf457a008e505a4a3da9e21da3d2296bc2c86cb75e7b6a092245f1476d402fc53df32ca815ded605f585fb48a2b87d4f9f64e42181af0e2d07a81b1cb06b452449deefaa514a191c19f6de8f70261264de3be8c290bf7db5d4be6492a087333ec63905917b6f14b29c51647ac198940c827c4eeb7818031cb9dc97cc6d67048cf081f2c9c2eee24bf433c5707444982f0e01f184a09844f9981ae6aec570a335eb98f74fc8407fa6ba628170488a07b7695e4a8a769d40825ae4204c1a02445ad47851c17ca6275d68e0aa823fdf5031343f4188fc603b4ca66ebe46ea19849620ece8f7898765234d8650c6645f5cb0a525b164156e95e4683dc19b7cab419e2a2239f9111c6c94097396080b1cd7f393884ae1b3d5ae64e0e - -COUNT=34 -L = 2400 -KI = 841dd21cc3fb47680cbf383c3a0bff18d0d8b29ec75564c6 -IVlen = 64 -IV = 8e71585df9ba9b04 -FixedInputDataByteLen = 51 -FixedInputData = cfb3c2d1479580b07e0321f5a392b8353d1752c7ad2189ab0159b946bab794ee829963b272e9a59615a85339886428de637532 -KO = d20adb7f5e33d1a78482624d8a4c16f27f79a379be83e46fffd59c16e3ee7c0660c1c078ecf7115a5270529688a604a09349c5311892e5d56e554326625536af06922fd6fd2ca0e029e4b77e54e5b2c74297f397b586d81f50755d5aef6d6a344fc9aca25785694b4ae81debeb8d3e870ae92e518e3355a732150d7dc4f92db4a303d48d146395ae8379daa49e096b201523a80bbda122f9507e2d99edfb5313a0cb1d3b6967891411a41ba0abbbd2579e931fb568865b73ccaa636bfe956b4267e94a1eb194edf14f71cc90d2f5ccaed37cb6660a860057e462f3ec4eaedd0bad29aa10771403accab3ad185a7131e545b532796889af221da75896a0e0d9aed74b302d14411581d9f232c0eb027e9c2dc590298c85abe3115a48c3c8b04a69ca9e4df0635c5b317aadec59 - -COUNT=35 -L = 2400 -KI = 94cf5a9212659c7bdc2f57eb8b5b508508e90116cfb58fe8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f0612f5ad32814b05d88c9105cbaebc605b9d226d78fbbe8909730fa7e96914e827805c906b6d678eaee5455657c2db07c50c -KO = dc9fa67b7de201314a4f3f187cdc159e27ef233b3bfba7faed24bc487a7c0616dfdc85a48fdd177b9cdf4140e5dbb5ba49b2bebab5f2cdd75f82bf20dced2f2932ec58018f0b2fff260d6a96ff30da7ecfde7f38311289e5bc8a3048280f72dafdd3bc9ed66a9abbeaf881d6ae7fa9694b38a79d63d1797410b9bb1667bb8441e320356245f30105cf321af1d77fe7fcdb72bafa85fea7ecd1e322e2ebc8d3013ec7999c484ae73edbe5b96c7d8bf25853436de4152bef42280ca2becd4bec1448b00f49989623976e34ef6c5a5797afedf1470c2445d6edf785da73a0593fb247d011a41c82fc914c4600d2629b481965ecfa22ead34f046563b8b60b2e3bc606bd4d691b0305170018346e095086dbf97a0501c7ffd3bab07015a259c55ef0180a113e669832983a684670 - -COUNT=36 -L = 2400 -KI = 3e3c197270ad5b8a56addc1daacdc9d62e446be1d0b30447 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7d64c9af63c0e3f33f3a32c7aff48e8170eb9b0febf20f31edb5529d75530bf07b95a8c333b647ef41cbcebed65bcd71ccd9b -KO = 9be3b0a56730577d47ac0459b43f036ea708609e97fab6b3038f0f7be63f06485c218df86b01604aa7dde54b3bffb18ce9f289d9359c83d1d807fa916bc4758094cdf94ee5fb70623b5c01c06dfc33b3c3e7001eae87a02736a7cafbf18f70fe828fa3f8223e2603c0dc7bf90a5e77159f5aa8b2453f58c5e0d462fede558998101904f21fd62a5234b253deb0b25a5c2cc26689111b777ac3357f2dbf8a00a92469e8331fae56bd242d700554d72c249b4516ca22d922e6c1222367419adbf01ead54d22def1873b54d18e9dee6f74c974ac221a67c1cbc3816bd9be6dfb2af906195839b1793d71d216e2566a42835b52dac1bf9b4b0f2b66a717042138354761d41978cd641c70745a7b128028c20263bed7b096833cdc6010d5aed90fe2428c60a1f85d08c715583176b - -COUNT=37 -L = 2400 -KI = 93b3909afdbcbf393ac4930e665a2d6c20e80e2da063d124 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c96a32594cbc3e2446deb7d4389eef8107713782bc007c181752ee28dc97bef0d7306a2d142e7a81e9034c842f4ea255376e8e -KO = 3cead4457ad95e8023404c71418cb72c1d2e5023228a914a1dacefbf80551fe561d8262cbcd94aa68bf08895e3d58265cde254cb81f68f726c1719219e9d4874131e5a35fb487352193bcae7e22ff5d2359401f895cf462198827cc223551936c2bdb4ed67b218ed4522eda6610a9f1f5a7776afb8608951ba77354b5fba87c54a66ba6185392b507b48e17f3654dc6956637bd6a710f5e1e141b0623c5d53f3db68570d286111d416bfa127003481641f51639a7d2e144c2d4ab782c8f0e0418636855647fdcc8dfcc1cb7d7fbb0001a6eb94e7b3de3edb6ee94a5218aadc29027cf497c0cac29ec2a1001522dc0640ccfcfbec14d45233c1a1cdb08c5510c53075c384ea0813d6a445d811806b53936e979d39cf5f419ad60875a617129dbba9e1435ed501924809fde443 - -COUNT=38 -L = 2400 -KI = 3cc7d28e98e5472ed4d50fdf5df2de1cb990004b4c4af777 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3b7bed0ec555ace08179f5741ab9388b454c696479d1544be2a180282220f0fde63a49e19832ab912d116eb5b81fd177b7199 -KO = e7f6d8fe43184453994aac0667dfa68bddb40fb597f7da67e9c21987f96ff0ad305428e7b4b5c7dfb348c26db4902380375e1d47850cf677c6a83f9dc4bb3c90e0a578b5206c03759ee4ba9dc71c5a5cfe1cccec8daeef963281c801e2e92b624e7addd4b1238aaa7115867248d6830569fc1c170ad1af03a47b964ecb036e419c55905fa145a6cf6b009394119c489b72ecc02630dd965ef2d32116e9f2ce4e21c4b9542d27fd5eddb720b788f2273b7b15be2af481883fe5cc854a9c9a8f5741551d9b523e8ede7bca0c994a55dab411caa95a67f693d9ed694771b1a04a90c8acc2dced61bf60d30f991c7aafe0f7c0b5ebd36439367867eecc45f9384c1774b029829a867bb5ff90c915f8bd9f30a5e99e2691a19317572a31bcac0ad71775ff18e61d83c6274609245b - -COUNT=39 -L = 2400 -KI = dce12ac516fcef0b655253f2e3ca7ee5dfc04a7f333d2441 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b5e7de3647f44c518c7bb7df41607f1b5d4241133c5b9ef3ef93e944493f493b633cced12568c5290e3991c80ae91fa9899c4d -KO = 70326ecc8d009f36bcdc5394f422ffb063ba7d1e8a2759db8341b58eac0723e7989ca260be0c919f434f011de3dccd2f2136665ad6635586eeaef476026bf120dbc060105a1af0f10d41fda8327c974c2a5c1a46c9fd7062c669c0e9608837e99e5d37ea71e188cbf6026a9e41f788fba1c2a2423b60dd82288b38dcb43474189065ae75251073eb15504cc38c8b04b5d8412dfd1a94f087a9dad8162a92b8856e3a33bd9ff67df846e1929eb75084260dd5130db43b1adf35ae60a39d2f4de54bcf4b7cdb1ddb6777d1213b52311b420ab356b2d9420bcab623bcbdcfbc6e09d79a67e9616630f87f0f1c08bb319564d10a4ea1d771049478ae9b0d90509b3d6207791fb206131c96de4bfcb11c5bb76ffde56bc397eb778aab0b7d45b1de4523b545dd47d8d07b0ccc3a81 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 55c255fc94f7fbf47db46833571da84a4a5c9faf8bc295c4 -IVlen = 64 -IV = 3acb66584aa90c50 -FixedInputDataByteLen = 51 -FixedInputData = 43700cddfee02e0347db2956163285175c118ebdb96cc6c41e72d847632a1765c4ca1cec51ad409dcf6e13f8f3e02c86e76c0d -KO = df9f75b5fc0ce698501f995b08eeeef5a5dc2c2c049de6e6e50c7f672da1eae6f7a544a1c2e388cd5983ffa108bccd219cdeb6bca2b160e9be37e4de0d1c14e3 - -COUNT=1 -L = 512 -KI = 9b67fe472802ad5fd85b7612a3affac5b1875a6ddf03e51e -IVlen = 64 -IV = f2c1677d23e4cd2b -FixedInputDataByteLen = 51 -FixedInputData = 9a3377cfd0cf59ff2db82cdb99b43f7f0759ae39ac0010dd2a3adf9d8b25b9d6d72cdf039696f592bfb791fd93ff0941fe34f5 -KO = 740f21b67c101cf7af0e5d58ada61d24e9a0f21c39d66c4fcfa24579a23d8ec7a0632aeab81049d4bb11bb5452b044ecf2b7f78c3b07593616c5c4e5568911f5 - -COUNT=2 -L = 512 -KI = 9ee6627edc0b66437f2e2de3bffc1f1c7eb62d913d489833 -IVlen = 64 -IV = 38a7a6c6124fdfe0 -FixedInputDataByteLen = 51 -FixedInputData = 0321616b9e1c81bc3cf699e225601d066bf48750a5decf9b6654c6dcec8a0c7e1bd72d08886c675df065b491bb34f512d6c9b1 -KO = a0e4fb238e71fd0e8dfcc243496bc1830e74d78b44e499b8c84d26288018ce7838d5a7bcee80faaa168823f2552b27f8255764f8f1a6eed8f38937878029d05d - -COUNT=3 -L = 512 -KI = 185d82d9b5ef24d4d82a44067a3935ee9a5dc9f140fa8e27 -IVlen = 64 -IV = 4a8477097f647fc2 -FixedInputDataByteLen = 51 -FixedInputData = 027b97ac7c885197fa6b015f5ef5c66b88439e5aa929ea029aaef6be4a0377db1ab914fbe5df80d5e12cf6020fd8cbe42ef756 -KO = 0b34ea38ab8899800584a15b19bc76bd4f6eacb581e7062fb82f7e72325e8a9d9923297e566d3c7d6852da7e4aece631bef5207e6144026904a85d35bde07fd6 - -COUNT=4 -L = 512 -KI = 852856a87fbea02fc47fa140fed5175628abc5e6df542ce2 -IVlen = 64 -IV = 84ad00867a608a4d -FixedInputDataByteLen = 51 -FixedInputData = d040848db9d59ca2d57558c495844bbfbabf76b5e069edf25a60bb1852b25308f6e4babcd9952b60a1909d37d3e4011e9db528 -KO = cf0398cfbcd647a4a46a5e60e32d16663f242403237d6b20bd9b8704184f91af387695c35b62cc6a01f6764ed61e2cf43570e94b56f2e7ae3832482832ec74d8 - -COUNT=5 -L = 512 -KI = db17af85ce94ecd7622dd5c0a9cb3ba3e3754180c53b0e22 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d775bcbe114aada30d263818c4abf8ea6bfc589301a757e5b59ca66e64991880e275ec9c46aace4411575ce1a42f20e58bd293 -KO = 8bbd0cc6ca1aa5f50826f18c987ad383740f6c54b938bff93f833a605baf8400adef29ed20d757c75e9568b56e5838d12a6aabe754a4a1e26c10f9ca9433fc95 - -COUNT=6 -L = 512 -KI = 83d07c4eefb84e8801b91f453edd7b1a946e5e7881830246 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20e85b5a4aebd197b9dfa790a3fa48105a510c246c091b548ea226e3bc7a24a63eaad078bf152fde6e32f3f34d18b11a6efd33 -KO = 8c45fb6cacff5b336eb47e351ff84a3bdb7c65442907c126e5e813c84aed883189cb6cfc48ce6ccda03ce52d732aa29f09fc2bc1e98691bca70ebe7bd5faf597 - -COUNT=7 -L = 512 -KI = 343b3fc27acee28c14a3ad4bbabec562cce033747fee60be -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f436a1c215aeaace1a62968787680c2d8223ead7690ca200e2f11aafb50667a3f12dd3942cde79339080215d0be539428b49d7 -KO = b4dd51fe30ac7022675e2a5a8b1ac89fdfe38094a34b9455583a0c42816fbd5fbf39a434ab7d6a5c42d9f9eebb1a15af2553681d17ff15c8329520fbb847d7f0 - -COUNT=8 -L = 512 -KI = 6219cdb8fe8377dfa5449c645b12652454682f976b215e8f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa265d1c8081fb1bb93375608c910011678787e24295529341b6a0156c35c5d44e55cb26348bf927bfcd8617b9aaeda25175b7 -KO = f5c3ab689e3dcf272d5f5b12566822801e7312ad3c36ac2ea99cffee344c849b1399f16b4ec29a9c063f49eba395525bfd5a6b346a371075294ccc5050aad9af - -COUNT=9 -L = 512 -KI = edc5c1192e86c99606ff2f1d1bd8ad901b4641b53f61a963 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f20ee307c4d59b5cf457c76c996c9900b9e116798a4413502bc253ca3e5f91e27bf559d90d389c630fec3cb5856f24c45f9f1 -KO = 5e49487a5937d36d349692d8427f64b98fb95d8e2535d65c7c1a18acfd608cf617ef2cf0e36b363f2d2f6db6c0a6ca89d4d055c0816e61474cdea25bbc611fce - -COUNT=10 -L = 2048 -KI = b557a7b054b8de8c10f3cd4886e5ae07f8b775a9e5d55d6f -IVlen = 64 -IV = 2c6d114e8b820638 -FixedInputDataByteLen = 51 -FixedInputData = 05908ffedd7adf136cee11ed100a88fdc0282df99529a5f6f7501cefe28174c197a40971a4dab27a82f83d2f1238366650d438 -KO = 3840a01cbc65eec8d22a783ed6872dcc3fc50bd8b81fb1901bc10572100ee9fa392f2b069f330ca8ef878f21195f580316184b4aa86a20a6abdd2b9dd9dbe12958d279e2cc59c9d08bc0c76e73a18ea4553182d6365b9a1aac567082770c67d2e350ac904efe977f05be456c514ca41d29c522640e783d0b31e0809f061e0c25f5c8b60e3a48dd230398014aaf04ed065742862b5fdb100ae858ce252af9737c9958641c38ff8700acb7f2faec0f78551f30958aa82d80eb6e41c7cb8c36a23511498e8fc0973782a18b97df8f58614fbc9d94ceb7a2d74a2f3c72785903592a32cb9ef30215c81ff2fdf7a8cb5ca9d01feda4f0092d66b213b3a4bed39ab764 - -COUNT=11 -L = 2048 -KI = f8aaee1d71eac56fa7239a714307080e415a4939a55dcafc -IVlen = 64 -IV = dbcc5bb2b903dd90 -FixedInputDataByteLen = 51 -FixedInputData = 629554e40ae48485515a4c867f5f1c25afeec889887266482881b10d247d11d0f5eee91599ef2d343edc28559d99e98b8faf4e -KO = 4a73153c7e2c4a8460a6ac994be5b0b19c510dc05c97fb46db098871bb6da88244a588cf632ff5e220d88a8dafdaee713e9e130297d674bac9c6ec267066b83d50cc74ca259125555dc76e08c4908371689021491ed27304f2242cd2c14366da533d4c6058a3788d22678fb7b7c29f19bcf3a6dc3f52b4826f9852792c4befba24c1a06ef7eba9263a1af0ef8a3f7b523498427d340e2f5735b509ee4b71021c28c578b3454f22552dd7d87ff409b6d6b31e987b566c6148984c57ff5e7f6b3c4bf78358733e4b7edb850e8b40cdf128dff73ccb9de265b43afc1383454b62d31185419467e47d79dcee58a81086edcc4cc686e893c6ca7cddf22755bc236eee - -COUNT=12 -L = 2048 -KI = 6c826a8cf3b99937885a146378bf0742e7b18ebb8cb99a3d -IVlen = 64 -IV = f1d6ae386f7101e8 -FixedInputDataByteLen = 51 -FixedInputData = 3a76ad85c6e19ad925469544074eb7c182a4f61c5b47fd29b444f2fa1e7bd6b91035b5721c3a27eef9eb4a5a7883b365d3d20c -KO = 30918663d067451ca64bc0e815aae3421b4ad3d5602c027479b703b1a634c28300926c035eee2b7efcd36358efd0040a6f19f1ea4a9e3d081c524f10db75534a658c5d7b070f90be18043bbcefa8fc78e04f2278a920121feea9b44df1cdceab3030c4cb2bf8e24b4dfa8412e2606c863dff3ef70a7131c484d65b395fad8701e667eb3f4b3ff8aa33902bc84bd8ab587d172b4f8b50cb42d16ef715af58974784dbee9e41e84d82de824ef0a707bcf3b08a37e4743d9144ced43a8c9191021b6bbfd10b8af4fc6983ba94e9774b0ab3ea79ea403c7607354193dac44e7338a4e4dd477fe1af5efe80ad97b4ace808cf5c696d9983af7cc88f6c5fdcffafdcec - -COUNT=13 -L = 2048 -KI = b554ed6aece5e033b3dae6e0449901390b67af75433425f2 -IVlen = 64 -IV = f9aac5216ccfd8eb -FixedInputDataByteLen = 51 -FixedInputData = 3b4d1ffc87eb88b0f304f326c42b559f083fe315b57573ad4517cb5a7b2d08c3ae2fc2f1fa13f668f7bcb0361889fc2923ff89 -KO = 772d0d091514947fa55204c33c6c02b8808fef18ffe01712805fbf4169a813273fc09c9a077a27a861fbb6971c17a01e5f3938c7c7f60eff3539b893d0c34555e9122dea5407555b933f3edce8b3219bbe62e4faf61594d5391315534864807343bed1bb4b2ca3095dcfe97613dfca13605a41186fa2e61159632fedc88471fe1ace0da3027204dc1382df852d37623b1423399ad3d93d24c114a2bb4de46c44f3caf3b9f47ae2cc56f9d914c01fe57fc11eb237ea2bb17efcff446bb4e38231100b82a646adfaea4901fcc8ad039e7bcdaf818805af07a606315b8d859c5be3a7ce3a9f65840679fe09e6e04247189fd954c38b6c1199ce29c78a5db849e55f - -COUNT=14 -L = 2048 -KI = f2439b76d8e984d22f8f922588d20e43902b3ae043d2636b -IVlen = 64 -IV = e224b3aeffbd31e4 -FixedInputDataByteLen = 51 -FixedInputData = 36e874912b1137ed63c94da7abf32ce29e2b78da8598ca93878902f833927e3ee373ee51ae67625649f363a6a6c1d07da75475 -KO = c2c29f13c6d77f182e9064e5d570be369b18339d7f63c1361d1ff58529d65be5b70120f6f985fd390f8a1277d2fd9846c618e203438268b4539123d4543d0da738d77c032c10f2181a62539426eaddc5df07cf78a00680e1a71016df0454f055c59f9d96a65f397927e312ed3280166cbfe8917d7de6cf93ceb6c368f79fdd1a1d0c01a2b6e2275560a0a3ce332296c7a33df2cc4d44ff9a7bb72385633b6440b9a688f84bc0f30d936f544d3208e1f1e2e2275191d78e4283f19427d8d58c854961797e203f27ec56c21e73095a442dc6eec878d1cbfca8518f1c631831601687e82298c2ef4a8e42b1a7a2b6b84fe00996d4f8734acff5f895168e315e85f7 - -COUNT=15 -L = 2048 -KI = 0fb09da7cbf43b0ecd45328b510194e56ebb3aca82a1538b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14a6bef5bad7e5aecb14ea427d32168cc97e4329d7c4510d0458aa7edccabfaee366d68fff5f3187a9c2f76b6e5796df70a72b -KO = 37bb3ad82a9b76074c4a68a7f3c716bd2e454b91166e1bd06445b9a23500eaa1cd13c2d6f32ee55b6b832820f6ae92827073125ed28af2e3a98d15a4cced693404ec0a2ab7dee8b192584f7b73f630a4b675505f457c852763562be3cd698d7f5bcacb074376416ffb20d779905f33c2f8b815514bb1f7c173853c0c6fb06cc1813f16db470416f5d35e0fb885bb6b3fb106d6b90d1476d7e1e4a847f94b1c0c5b164d9a3e4bfb904b573cc636040ea68287a5e0072d4d25b884dba287c68e652952f18594137e8db179bf799cac764735e5bed7407f61820d3a3c133c4cd259e73c25edb51abd7c87e6c75f80fe94726fa61fe92621350e81bf1e603ad3afec - -COUNT=16 -L = 2048 -KI = 4b4b3bb628abbc59e4f66cb71758e482c6e9ce062aa34e88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d25b85e71c8e8c86ea79021f751aad1ed52df04be918f1d8e898d957991b330a8179ab287b5390343700a2f69a7a31fbc6a44 -KO = 8efd69fe3c0a383363fb2f4272a2428ad9b538e9ec29302a0cc04e1192cd9ecd37a1bc263d447a8556190b3115a6741f1c59191f1c80192b7a27b3c126a402754c866050624d81c09ef4f0280cbbcde128d6baf02336af20ad15295e898e18b838a963993e1e9b2236752c9567ca99f752998e871f1091713fdd30d1907796d0df823c457b907aba9853f68a7f27ed57500e7d716c3c871c2c41be921a3a4441b84b3a259ba364d1b142da8b570e4c0ab507b3eb85f9acbf13e4fe0ae6b3c2bb911a62320afffb89130184defa23e217dd664511b0913da85161ab3cf28f9551a0b223440b1bed1c69f8efa630a341d257ba644ebea9edcbafba9e21379a88d0 - -COUNT=17 -L = 2048 -KI = 65cf0096f2f28bf9090d73a375916047c3eacf67a8c9b876 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 79324e926aeca99299621015a734e884fd5fc87ebb70b8d032ca3a8427e9ed47c15d27f26d94343bfad753cd506573abf0362f -KO = e6e7d0ee45350163d07861270519f64f6ab7fa0f4861545de882d632b1c7aa732fee4ed929470c6e2345bd2a3fa5d92ebc8ed0e597f50c6ad1db2a4f97b20ae3496f7c3d9b69bfaae6689bcdbdc603a8daf491dca6cedab63e63369550b4a235cfc7a4f0ad56eaa8df4bca789645fdc0e510f5cfdc9ed5886d6dce30a4f3b13698569de80d013b5c0ad4f1177d6b55d237c45e6dbd81b5f4db07c3e7c276f1a905f45527b66155e1d23166b1d3bb07a974e23b911a95a9482cb01534ded15926f9fd702c7ad46c39f26a1c34a401eed88067291371aadaa3e19d95f80f392c71229351b52deebaff71c8e7c64157a8d9502603938d453c3542585f303442002b - -COUNT=18 -L = 2048 -KI = 59c3d5014aed77756fe2d60ff47214b6431ce24ddc318e83 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fb407c4ebb5433572f742f77096623fea042b4b605216223cbf9e2dcd75a9cda581d1c1d6818a69336df83c9e4a4c1703691d3 -KO = ecce87a5be11054c042dc8465224f97dcab9458afe5394bab5678b7a9890d02529da8acb97c8ff885cbca23312afbad4a54ad2d9dd967476bc2fb28803b7be11b7af548cf91ff2a1f47a4e0b40f65649ceef6302f213f0e41f5238493c84d04986ed967294f98f6fd3bdfc215478d9ef3301de5f5744bce94cc5f92726f86e28caad31e05ba354c82aef1dfe5eccf9f183e4bbfdae21939c6dd658f3c9a05faa1e0b2b71bd9d89ba5cec9a07abbaa2534675101ae71103d4663fa3c721a31439d2d2b2b5a8a13d95b8a9a2d373d39670caef076384b1678dcad1b6d8f1b6a9e29248462fffaff559e28f2130d3b6aa797076e52944a879b2a7cf92b9840eed39 - -COUNT=19 -L = 2048 -KI = 3e27cc2cd1e34e53713835d98ce3ef89bd91a3b3f4143fc0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb16f34c90d18d89f0c25b90380a41251735189c1ba48f3fecd1db531bbcb3fa675df6d768508e26813634132a16cdb0ea26a9 -KO = 545c18d040879dd20504ee84fdf7a3fdf73e4fe35f758a0e1256a91e2e40d3ba4e1a73f42f7b7f1ffcc25abc7ec667e97884b1f47e0aea198fe22d9fcffedc5344f20c048b452ec7e20ee31b17a9ebed8eaa172c69cc05f91b40b4060c4e9a050ebd1da8997852b3dc3a698ca3b260abcbb5ae07256730eb663e63a6d8b15d8b8724c051b4556ed18ceb388692036e23f97f372e397ce48c86f8ea1f97c31367f00ac58537cc2ed051ba3c48a134f9b18dba933d9b6bceda79bcf6bee138e01c1ec34b725cc65b0934de153a0b930d46e0f4d9e0f2a72e4d2c5e44fe76c8833e29dc739cf2175d31397505aa94770eb12139879c44ded991864ec632391df459 - -COUNT=20 -L = 560 -KI = 87f8a18cf622d91198b22f91508e54caaac57c261c3686dc -IVlen = 64 -IV = 142bdccb1c86976a -FixedInputDataByteLen = 51 -FixedInputData = d0effd614e077ddf103d4e395d20c9565781c36dd9d877690c01722434c12872f455a9f2296c353a334333f14db77fee329eff -KO = cd12480ec90b1fd3cd13455cb29bebcc69397342f716f0325373802433d2ce90808744ee409cd6241a08fa5e41d99d0989497379b7d11b090f65401c7104600b24c423299f33 - -COUNT=21 -L = 560 -KI = b7331d7c8e8d000eeeb66b27e7f98c6f276b93fc23e57c6b -IVlen = 64 -IV = 0e1dcbde5c6c8c97 -FixedInputDataByteLen = 51 -FixedInputData = 6d23dd7208e01162b687d311c9f611233321fa111a6a4e0946bd278c005de263b985d44edbe750a03a34cdc37e9b0f6e827fef -KO = 79e6b1bd2f9bdc9d1e086ac77faa0aa6a4ea869724fceaf278471728195d0ca6adbd47e964402e4a2e06de01f598df76caf53f67aace3369dbebc08c863543a1de941a3e32c7 - -COUNT=22 -L = 560 -KI = 809c3acb16fc057cd567db0ad108aeae67de0f2dd2547c90 -IVlen = 64 -IV = f3fa335eaa868fd6 -FixedInputDataByteLen = 51 -FixedInputData = a3b25969a89e6f38baf15f991dc75eb84dc774ce35b0091928961a2d52b84caf449f0d9cb98b2a6ca801b6cd755b8a876bc80c -KO = bebbd44e654d0a5c93458d051bc720655a0634ebf0b3e3cce38122d7a8f4b1f551515fedd29f4924c17e926f9ee02e56a82b00ceb0fd874db09e26b01d0b1e008bd41355c40f - -COUNT=23 -L = 560 -KI = ca6c99c208e803daa2352347b3dae05183facc676773ce1b -IVlen = 64 -IV = 112271e1fd37e60b -FixedInputDataByteLen = 51 -FixedInputData = ab31a3ec4c067198f3d0dea3258ae68e75aa905635491a6225b24bb8170d2b10bdb1860e455a63e34eb7152b9fabb7b20229e2 -KO = 017e35b48a9262cf8065db7ed83ccba0d17a63f8e9a92c77d9082186bfc06cad9a0e1f3b2c79ee6b55407b80bbfb0d6416459e561d22905eec2354bef36b0f02e97abe2e0008 - -COUNT=24 -L = 560 -KI = 2b08dbc22f2304672b915b1b7486f02d312e8d104e4b7e91 -IVlen = 64 -IV = ff3d5750d34734b2 -FixedInputDataByteLen = 51 -FixedInputData = 8dc7c5ab328b9e9775db44ffef76ab24a5b1d60ffeda8fc044cd2d68bfa5f63161ec7e76efa8eee7ce1dc67d2ceaa4335828bc -KO = 1fded15cf7a9ca5f7391212d61e28e4b33e8e6e6f5a5abd252c5d677fbe034dd2766ac3ec35afa4eb928b291a5b3b1c62b83175de2db2f5edce59e263b626adec285985a3466 - -COUNT=25 -L = 560 -KI = bc1bcf140427af9dca0d4ff821e0a02233b7990a041f34f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c482591df68209967cc274f5ee57efbded5c24be3579db1875dc14c3437beb1cecc61a4e466fbcb1206aedddb8ac9c7dd71790 -KO = 02568af19a0bbda69b4a002b499e508943122bdd2b57ca921bb3c111c521ffb56eb9da0d43970c8d74aa838d39906d3bcc78b5c3e4c57c80edbfa0ec1814d43fb0c29c928fce - -COUNT=26 -L = 560 -KI = e7cbe0927e101775462df1c16b36a82291abb02f3252df50 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8bea1be787d151b8101a3b8c230a8bd546aae4480924375e8d430de9bcb9fb16668d1fcdfd594e380cdd748f0fde3cf30846a -KO = 81d3ecbd477bc771e0cb8f1cd0bd2d5d4a6895f2893eed9811671ec55217f0ba438604f4e7e0e4e38afe25aee145175924af01c467d20c35947ee6eb9cb2190d5bb380b5da54 - -COUNT=27 -L = 560 -KI = 8fb2d5b9ad83adec33c1c3a41c877c5279b30b6301df2cec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 062d160f78f328b34e2e32d54ece143a6b774b6b7807d537845e9e977f0044a3933c41e731a287bc6b7119276b2447e11e601b -KO = 2831e596cb29a55e343903c2d6215480da35f7be701d535d87e60c8dbc945a890b01fe108f2760b5a32f8d28c59603bf90ca865dbc1ccbc8bb16b558afc3b08fc16f4238660a - -COUNT=28 -L = 560 -KI = 5fdaf9e61f2b32d1fd0f1195a1061ba9ebc0079d6fb1b08e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df7437e849d77b14aca139b376854abad8fa0d81c7564fcf00452b56cbbc1e62c5dd5e524511d9c6423ec4a202a35f936d4926 -KO = 2824b86afc8823c0778a2ab872a2b98c991c0902962cfd63ad36317a6e2ad8a445c37b7a89fec11417a066a4d5bd0819d465d7209f891c5aba2d4f75950cb35e2b6e1e303f6f - -COUNT=29 -L = 560 -KI = 10df5473acebf9cea21d9121d719dd6f08271ebbe41934d6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d39eb96f84d783074ddd1313cb9e642009f1d570cea1406003cc0d1218d0986fbdafa26392e0d2558241ede601cf62bff8db43 -KO = 3f9bb6f0ddf19623d55d4cb13a74ea55a42460c25bf0932ae1e7d2416ed7014cfb1973a2a52b1611de32136a8e4baf28687d83b0da5596668e819bc01575d18329be5d8eda55 - -COUNT=30 -L = 2400 -KI = 9bffa16e4bf31bae716b5b0e51a1cc31b12e3ba5d088ea1a -IVlen = 64 -IV = c6004b5dd0c2271a -FixedInputDataByteLen = 51 -FixedInputData = ac9fc346f40809bedc0e18b7484c84b9c3d7e7bd31f59a8c7aba87aa3e1ea67afd084ee566611f2c44638a01d4e8fb63f28302 -KO = c0a33026c8856c157d1405600c26aab7e0d509eaf57436720a94cb353569b427a47c601b4eb1688aa36763ce336a199ea5dee420791e7c1586b6fea3ce538883727a8d1fb5f8983f6d6e2b332edaecafe564d13b5a94e13c493bc3568946e5f032e07dca3db2161f9811382acffb348291c7e49d5d9fe0da956f2e9255cd3137f5edb366ad5017913d67cb7d59d9d47760d5b85d4dc8231a8ee15606a0a3bfb8bed6510ae5cb70b9b19c26242c6a158791b7dd5a8a45450850a9dcc3bda0f70217df830273f68ad5819c8b8d7a897685afff281df427d2affd15c315c5e7dc7272cb74f27e80e9a4d608fae505160dc3272626cf0c73ae8fa68c2412bedb51f9878b591a1711df2295262f2c4cbed8022f0fb1157f9c2e4254175cb14c0a2d7ac2b40e31a0e52c8449a35b5e - -COUNT=31 -L = 2400 -KI = a786899f175683bc18d849dd9d8998176d136f4bfd441650 -IVlen = 64 -IV = 4fa405bd320ce87f -FixedInputDataByteLen = 51 -FixedInputData = c6417dfcb1471a69eb373d22c97eed683668ff14a992f5854996bf0d48b98aceff624cffe8da46762bbadc8c0bf0c1931db73b -KO = 3249529060ac58d5c604d374ab0a748314da130ae15fdcff796fc8ef1c9d2a789db6de44d02e7f0ee984ab95451b7d865d3182de4d770cd0989157ce8eb6f5527284575aa4373df41389785d4c898fe26358a978b4d242ab3e3bf39a8b0b50460a9181b3cedbd751fb404a4c5dab251cd1599e606be5eadb3eee4041b2380f0e8afc63aac1e481ea80f3ae376221b0f37a14c52d183a93ddf41193b6550a825164142eb62a77301350d168e235b7032b2215a80b69cae5a98711cf4662303c3937e767392f8a3c4ec44cbd7c7b22859aec690c873cc6c5fdad65b22ee84c70a5281e06d45d2d1dd0286dd6539459ba8854ee84d4139dd0db1038eb29cf16c9903d5f898746408eac88180e693fd6d006ecbca88d93800484df01c5d4f68bc5570825615b4d95e67d0d604038 - -COUNT=32 -L = 2400 -KI = 3d91e32ee030d4147926028a38fe3ae484ee6d05aba07c22 -IVlen = 64 -IV = 77ccbfecc2fc6338 -FixedInputDataByteLen = 51 -FixedInputData = 29d440cabf18136abd5be0a3143ef40b0fb7d570bffe110931ea0a6f460673192d505965e62ea1800dc62164e89dd83c5342a6 -KO = 3d9856ecb86f46ed5a700106e6833e87f9a0e07aff2682fa607baea30c842231991ac178fed4e019dcaf533a885d26553f02b0268d71474ffe27ab7ecdb8e96b290e82a46515de3ea24a0abd5921d1a89d3639b55cedbfd900e9ee8a42528dbee177a8f6e0fe8e811cb2d8ddd7d7d9949ee007c3c9565ff6f7be9b1ef2134843387dea9bc9ad3df45dad9106fa24e011cfe2b18fbaedf14c1c014fd11ec8c40be683f9412696b6743dd5bf037033b17afc4dfb4720af7c8d2149c2427fddcff54df4ebc97d195c5b64cf39d24ba894ef9e1e6cd53cb5e593c7ade3345e4a3bee5f1569a02696f17f227731931d8170ffe95b100140f0e6566d6cb4cce815456a8543311d02f7efb4d7655ab96c7a56e0e4d7639772a80df3252c0999167868502209d1ce2d0b4dfe7ccac9ea - -COUNT=33 -L = 2400 -KI = 75674a2d431283fee40c990ca40af09ec0d1970e67e6318c -IVlen = 64 -IV = 90f5cf119098c14b -FixedInputDataByteLen = 51 -FixedInputData = a014c84a83820eeaaa361d09f29b5b8614ec140105bce5a105868ea234921daace4f2cbb3de436820694165e0b08740488f536 -KO = bddcd25a11b0f964380d1e6ba1fc133a405d3e4f763c78b8bdb63a44e6cad300598a26c5db090ca77fa7b43bb5e61cc154750fefe2b97e286a018457431f7c106c0f0c7f6e41382103f5d584a3949492ce08732a7c946d18d4e75d8682c4994f00756433b21ffb016b645fc8ee33e3c96fee16a2b0ef3b3931bbe818e03242d0bf8fd3c1b0e8f80d24cbdcfb0f6345ade2c873e736030dd11f5b3b0d0095dabf70315f5cf8962617924bba18686eba7a8ea6418562892a045acf2a32e9da645231ebabc1b4656f973fb5dba14affa0d0ae8e00b764bd9865b0ac05ef0e119215cc448fdb4f3f6e5a62a5149bc27c614ea6c3907b180dd3f73fd6125d44430fa1953b54f7c4499c683d90ca2aeaf72d8da7ca296bea6ce7fe6f67d56f2674aaf7a3b9b717951cf81985c997e0 - -COUNT=34 -L = 2400 -KI = 879ebb5297d6f5dd90d30c0422e6cd4bbedc8f84b4ba7f34 -IVlen = 64 -IV = e0eec289498a871f -FixedInputDataByteLen = 51 -FixedInputData = fd4421d1f808c3b10375fd3024b442d18f756764542a035092048437df6be07c5023adafef72a77945d90757695dafcb6218c7 -KO = 91bf567a251566f0d8bad3c5f6a9f2e61ee5c1db69af1b1f992cbbf9cc4967a1a86b00eca3da7ebca38018caecf21ed6fe76381c88c5134c2e1fd51432e84004f754f7a6f37501c923e99c051bce8cfdfe02831908203906afa6cd5b866bc8839bee588ec081bd46c9d677f6b312b4643f31e2d1963ca64b55b67d45baabc39cb9edb5badd8e9108133afb090c1a6717ed524844f8501d2b64adba015986aead19811fa1aa285f7ec0b60b81cc72632cc6c704b73aec408fdba6594a0ff23ecb644be449590a2ae1915ce875ea73c143f9949f5a67fc21bdbbbd3195dde7d9843fab5f5a15c8221156d9072def2c2fef6cefec1a6dc9a61cdfd5d418f04f56dd9764c0ad1c384cb06313e0057e4fe65e2eccd5476172d370b4a052db81667086d16a39982129dba34fae27b6 - -COUNT=35 -L = 2400 -KI = 07471dffb2e63ff1bd4845010033f5d4a60071ca51fc1b62 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5667c0bced98133af80d4abba18d344dc2ccbe5100352eb47646dacd03c1781fe8ebffbe203501d186a66af846403ef5a64fd3 -KO = 71bad11df355ee3a5042bc6e80e7c6bc18696351a93688ec6ed78c772fc67d4b4cd0452a2a13148a2b4f119176d6bb6d9f4d7a8cf8292d1144e6b1058a7350b915bc9adab45942f0db86667b13e135c9db3a135587257752affa7512d0775c1184e770ad2b6a5d74a4acb4833dc6909bdfbe8b8460acccb24232a4d852ee4a3739185642a2e7fae5856318ba1abe2dea670e028c695971ee2cda1e7d25692a906b4cd5a5fa7faa3522d7f3ac5e55835ced050e932ecc2fbeb0b33ab4175b41b9cee8a4257c24a8756535e15038959eae168d8867c61d976937e4ed1f24afac9947e6c286359ff313fd6759eff8b35a155be1c72943a0f7b95d94d4e499ddb2a5b2184360accadf79c205928cb1d3f2834bad8ca1e3a02a981019920e8cf24a0d2bc257ff57e5ec83bf8eead9 - -COUNT=36 -L = 2400 -KI = a4e62131794fa9196d3ec5eaacbecb5bac2b6d2b4e1367bd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d29026c26accf19ee38141ac6ae1fa0b947b08c853b9674ce79efcb118a178c94e29b61771a310d0d6e6b0cb20e1d95f3a8ff -KO = bf834f4d2844a8bb945780299076c6db2be33948d1b3942e25a83243d894d0641f790f4b7fa36387e8759cd9a96ac2d061661f18de9927197639bb667774b8ded48ad8690a9dd1599d6b44b74841cf3591257aa69bf552b9dd5c4cde8ac237330c5681c6b08bada070e2a1f61076d854c39457b2025414ccb1dedcea08cc036de7a02a23ba9be50553abaa6a0a56c816279f60b93b73aa31a3ab7432181852aa0213b0f791b8d688e698e57632289bd25ca04f6525a14e0abaff3d53e3c9aa3106fbaa80619483ab4a1fe9508291d95c6d0242f8f362406e2d269594fdcf5603ba9f7f06cb1c2c88dfd4704fe22630c41b07ea49cc8fb3a50877f191ff43a5440ea167faaf1ab32e46f6f79f21bfdecea706e4aa0811313d0618dcaa686f8094c26e451a08f4cd12ff6b7e0b - -COUNT=37 -L = 2400 -KI = b5f2b0caec9d3f9fa2d6354c5e52a27507a7323bee140352 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a953f549bc2c405006576249b9eaa332f8e0905fd5dee3218de361b5b49fc858eb5dfd35753d1fc037f5f68c06aafd1e58a9d -KO = 01ad29ec9a675e0d1008be259f546cbdf74df5251a8b025019da01bc78fcf00a83be7b6b378d0caeadaaccf21fef7de894255b0377a9703023af36106e20ca6e936abf6bb15b5fa9a67bec73ec943007b1adc077297e3581246361b24377d3d9373af99440cba46a2fe3a444313481d1db20eac581ce6c147cfffa955c6364377a6822feda0800e44f90136577214ecb13caf89fcd1c6ed471ca5beafd687588a91cc86adf4ad70ea0f686a4d1dc91c8c2ceb3b1bf155b2dedecac78e4db03cc98cb5112d61694133d35eb484b657a8d44ec1f5892be578dee875247df3b3ebebeaead0551a4de99fc0a3ab2ce4f94b142947752cf1bac235801430d9a664933eb8c45ded49edbc5bd7cc0e012714c377f3a984444f64541f4670bbdd85d3d13e880671c8c1af26d92b0d5c4 - -COUNT=38 -L = 2400 -KI = 4bd39240d8b6dcfb5380566a03a01604f2fc7a950f731b5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e4ec74a12864241a8b06b9b389ae44e057a7653fefc908935799a231bc0db1cc030e700c4f448cf6a292c92ae2f513a111851c -KO = 8271953b56006d32137c67186cd85a2a13afc269d018b73ebe3491f39bb93efb88ad0fd3826b6c23f5d17b79a94b4ac0750196e4a2be21c0d8423ab42a54a6766530c7a17662650c11458e45dac2e8b6f705648da1b43b5244b557bc90825ae544e0fc808c06b589c1e552ca40817acda44c43379a3f52f9dd4bc2a45f59001df310bcb6272cbd249bfc323e18a610e41b5139308ffb505f2a1072909c3db1087fd5a2fea6c1250d70e2acdcdeed3e01d5fc383c6002ed103cce25b582c5f681588655cdd0dd8d6d2722bbe61ec2022cf426f97cfed706fc73c329cac08b73b2b01dbe642c9bc45c03995d18f06c1eba78f81a6abdb5746d0ca80c32e59f0b4caf60e94957d5f44bf47a236ab0e019334d11405982947fa57934fcd5322d3b7d1c274258b0c46663a4c580ef - -COUNT=39 -L = 2400 -KI = 797a0e69c704d1ed147e0cfc9f3cc0b87ff81d16daf89f28 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a8c6e2833cef3fe731b1fd7b861194bfccd4dfd47596f2fde93836d19daf4960c56c0fe3a0ca4def9997d11287b36c16225652 -KO = 7cc4027e3084cd56d623f660b0d5f6c41a937406e79292f39aff895b2530467e4b2fc7e99117694244e626ee0acf34c59b695060d938512ba35505cdc443f1497b7344fe9a19ac307ba52875e661a31ed09a75944bdc615d9357b237179642673d5514813e45e37178b10e7b3fa6589ea314ec0294a598eb615b9bdcce57561f6c21af2dcebe56e2f349e4769c3274b7f3cac7394316e0899b9390094aab01bcec67ea315e805786209974d003108436e37a46e11e3a3edf7fae8051997801ed29708b9741e4a7419f0c3ab04013213ffd237cd1aa0bff2e369b24b55ca44e3d265b15b0a036078fefa5159705577e299aa50952012a07029f351d89be72ee2c3a943cb095fceae1453a79866f41a4aaec70a8d93a5e2ac936c53b11a555340e71e6a9d793eb32bae5181e70 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 35d29fe9fee24dfbde6ab683407aa140e7de3c95a360de36 -IVlen = 64 -IV = 804d3cb86c25eb67 -FixedInputDataByteLen = 51 -FixedInputData = cce5f128f030167a1adf7a58865a1a6e05469029dfe64dcc51230c052556cdad81dd1d547d8d312eead69fbd1ede2795ac4323 -KO = e7e048c6b21d83c7e6ff672df72e438eadcc2e565fad100a2c73d3f56d6d58b902d79a45eb68dd2ddca0a8a3a3d56763d493fa58b95b0ac26fc41ab9606c8d3e - -COUNT=1 -L = 512 -KI = 56defd682a89931642b3b6070e30cae544fa399b6ad11648 -IVlen = 64 -IV = 4c0471b008965ae0 -FixedInputDataByteLen = 51 -FixedInputData = 6373cfcbe2ef5d3583d4f492a6139ad38d1c156e19a47643eaa8a79e336b64a89cf630cdfd5060748e603c80f8e260e7db617b -KO = 9cecd397f5df8d285c3d1b4feaf52aa5f061f78a05b26dbbab89f82dcc44d92157f78ad496117920ea13e24d16596c7ba91ac9d9a87f9ad7e0c5ea5e1b0e31e9 - -COUNT=2 -L = 512 -KI = 467f8c71698467b00be5d064c333d0640736bf39f081e6c1 -IVlen = 64 -IV = ae09e9818bff44a9 -FixedInputDataByteLen = 51 -FixedInputData = 21411707dffbfdd02ca2eca4accbbede166cd0cf6eff3736b8342fe7463ad91640a29907542a165714c2c8848a3a55d5ac0c5c -KO = e0b626333440aebebaf895758a2098dee7d0b606cf196d01977cc103672d5e4936e574d5bbad849dde31b9ae3b3ecc2dc9160a6350e817f12b46604291e6c658 - -COUNT=3 -L = 512 -KI = ebd98b0d69a5315443113a73e27eee2fe184c1221824a824 -IVlen = 64 -IV = 199c6bca2654b2a3 -FixedInputDataByteLen = 51 -FixedInputData = e5619fdd3cdce2ab5d02abfa1df1bb498d1b2c2a7db70827a135784d595faba097fbc1d687d0d645aef851399cf6dd422e8d42 -KO = 3366882c9b0d43c0ad2e690a55d1fe859c3a951aaaa3f23c4e5ab0e734686d086ba132d18af54f3b62b25aab3dbba4c52f4353b70b9368dc895b7a7c3b5d7f25 - -COUNT=4 -L = 512 -KI = 25d8229716afbcc8e9716b7a3663bd3e53076a64ad4dcf91 -IVlen = 64 -IV = eb70f016f4a81051 -FixedInputDataByteLen = 51 -FixedInputData = 3a34e2d3e0a0b21fc7c77c986b5d9d5329fdbef501bcfe930041bd86702417056e14e0f529dfd797eb241f316a282dbd606988 -KO = ea58e0c256578448b994a068ddbdf902f2d9d68ab39bec4707a64a499bbbab32fa6bbc23a7b62f569a87d419ea10d4485cbc6327a7d9d94e2e8c6a4fbf90b109 - -COUNT=5 -L = 512 -KI = 869d9579c983c65e388dadb16e363f1477833b95e742e84d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 460177f16320cafb6891136da4f1bebe379f253159bd49eeecba1310ce662da2ca0f554bdd81063940684269a9dec008cd8372 -KO = 8061e647d76325e3f802c64a4542c57942368c73ad8c64d3df18ebb3fc7c56115bb99eaeb1025103cf8057bdb91c6412ef93bbe1725d86203af4f422d5aed152 - -COUNT=6 -L = 512 -KI = 3692a7499a2b14488552695a1f20d77170c37eefe8aecbb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a48b78ceed1107edd366c6fd9da1b0bbb821a01f4da22bd49c40ea517c4019d7ef6f14e737f086bbe70f16b749b4e1f4ef5cd9 -KO = 1cc5e84576938af441aa33ed879307695c81521ea9cfc3664c53079a3e0fff30e72c49304630b28e013ac0d7d8a1ea6e4c28d778c37b4d2aa7071fc31ddf63d1 - -COUNT=7 -L = 512 -KI = 4aa4c03f777738aadb7804b564869389afe3481dde41800c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dfd2dd86050a50b1fa7c86fa31669a63a55f22c58174a732e2c0224e006dd54e5682573325c44fd024d33b38f58601f26b5307 -KO = 820099ef2b028e87a6fc2d18e33d72412e86e324da364600b7674941228045e97b1affb1874c2d97036593114e7112d7afb1a8e2fa39905abbbf1754fac20710 - -COUNT=8 -L = 512 -KI = cbe4672c9f77e879e1d9548d3935a10dbf2db69c1eacf8ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91507b6e4e87da57372f651f709ba261af2e07c6beef604e2e211aff8bc922729ed75f109d03dbf98fc962ed580b40bc473e7f -KO = 322c08488b8cd2a8e1af9458f26374ff218accdd4c2d59fde27e6e1941b586efafb2649ada37d77d3fa41838219e090c4e346f4323ff920e4a1236594fbff429 - -COUNT=9 -L = 512 -KI = 18cd920e00ba2d5492e7511c010578f127fe623bacc1a92a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0403ca01c367b0e67d72112ba2d9a2f299216b43eb83314d9ca397c0e2de2de07692cb1d2617a0be43c3c20ab214051b8fdebf -KO = a6c46c9d74fcf6de236411024e5b67d0ef3937bb7132a46b47857886b0c0c9c00d8163d78fcca761653a842a83a0f995f1a116f951da6ce11e3d763cb25b34a6 - -COUNT=10 -L = 2048 -KI = ae0f3d6e7cc65ca64079a90594a5843b5d6271d256d097b8 -IVlen = 64 -IV = faae83edf80c11a9 -FixedInputDataByteLen = 51 -FixedInputData = 1ffa4cc3ce7d239a77beb836d779ca61385242f2f4be72b4500a5de9d355e438bafd32966458bcc5d9e45bd75e1a526b085d6a -KO = 64de83cf198570e186ad225add647c5d9c284b4b83b79212f290d2f1be535a0d1bc846e23c540b93b45bd34dcea97b3776dbdc9e988ceca8ef909e2a10675c70583e48db6f676b8f0aecb3b298b7068ddd246f1d11d5ff71846b50eb1f6ee311bf622c7e4b8792446dffebe912dda37a5071e9fbd53214d04c2c66cdb57c42a219543ee9ae0decb8120819e2405f185d359698f512acbeda99bb1ec92cfd0eb9737c38c4cc7074f41212a47b60eb1657a47d4feb21d00e61f17d6fb73c1802d1f0e29e48a7b55f3bbef8f8282a1729098bb282ae98e17cee4f7bc87eb3b76441e4f174a9bd8baed7cfdfc54517337df5c4f66fa1650d1b6f2d8a643641164d23 - -COUNT=11 -L = 2048 -KI = d3104a87a4141fdde89806f8e8d8a46694c879a5f3a29436 -IVlen = 64 -IV = 7f46b32830003dc6 -FixedInputDataByteLen = 51 -FixedInputData = 75b2a8d34dba9821ded2ac3714ca052eb48dad041b2957c1efd487ea9d77b9b543c674b121b5f68c9beee718ac5da518a16c55 -KO = 19fde2e2cddab1570327d5e9834d14ce5e8768992c18249e417568ed8c7446a0b0774525751bbac8cdd74245d214c0a06d18516a23499156bf16d3734e0af39bce7674e1f108a39a44e1b0fff68c70206c16ba6b1d593c374ed188340fce3a4403ae3a77adccea86d46f89dea5e03438fee5ac3761d5b7b6477d586c764b1e9ef05a7e29ff3446738bdd1a0b4b49445370d1007b72ec8d27e06cf25598767975f575a80ae000fd972779d24e7e21ae390ae703cb2eb1d8ed77f363adc6b40363a8c8e865b0b9283a0e03cd0295ce138322083a6cb3a0e3bb4f8c913c10f18bab3d002661a6081e8fe29bb1bff63fed238ae5a957b2cea981d32df7acdc18f623 - -COUNT=12 -L = 2048 -KI = 01b247e05b92c626a1c8d0524e5252fe06c4eb405d323000 -IVlen = 64 -IV = d68d2d2b1d5fb280 -FixedInputDataByteLen = 51 -FixedInputData = 16be26be120f416d64c46ef0826b739ca0108038b38b1f5aa83b893cd5487cd5062c5bd410a605d9ce9f23df1671cc1e3662d0 -KO = bc54da287dc8b90fc52b79e46f6fbd376c63d6814c184d611211050265c7db569e31f6810332b80686bfb8b5432e5bf2747cb6e8a614a41f828ef609501175744faabf35020796bd122faa7bc97b67788ea96538614270f7a9ff2aab7b518dc1e86f15423b43fda437ad58ea8c19cbc00b9e272ce539813dfe3efea2fdfa0b0e436711455a62770607b9cbb86908cd5f26494630202c57442b143388661f04f2a3d9ef394a19729b8174988b8d481b2ba7816bf528a6944825dff3b1e91a2429c03ca66f1c8060c1351728372b969490d266d9fbfe3fdfd65d6fd65cd8186e04a937d87cbaf18a3390277559ba5b1e07a3e5a45905c0a8ae5953feef3babb849 - -COUNT=13 -L = 2048 -KI = f4434d086ea693f554915ec64b75e04570ce90a7a8b36231 -IVlen = 64 -IV = e5c2e8c8663ff272 -FixedInputDataByteLen = 51 -FixedInputData = e5e1bb49054ca26e75cca69c7c3da02cfc1d98ba56f6d83aa157b2fccba3a4f85e2de4076deace2f00207459a017dc489facf3 -KO = 3c8b0c2132c13f3bfde6d874b14a3aa9acd6cbd6f0a650dd602b1ecec7e84563b9dc80790623a807d4b7348495cd62325baa0bb6ac138ae997791c370912918876f6b40cf07e2215e8c8077df479cb44c9dbd1b93c7410d4b9f2276ae2ae134cc391241f2bd56f143afe8fe567d2a77d42ecdb9bbf22c613e851260d69dfcfec48ca2cb722ddc5975719e91b56d41837723d8917428476f170edbbb0959791a5f299cd28674480a8262f014bc28cea5f55e53f2199b309fcc0aa528af44e7809b87fcb89793ddc408b3dd3543cbeef22346158c729df53563c2ab0c05368929bebd6badbbf0d282a3d995debe52985511e0a12004094f87c2fc01cc0f68c0ef1 - -COUNT=14 -L = 2048 -KI = 296d15fdd52cc27a6a47b03fc3c2cb2a43579b0855c2cc6a -IVlen = 64 -IV = da0d990220156e6a -FixedInputDataByteLen = 51 -FixedInputData = 18b83c08256d26f183be91ccdac288644910b24879c2622bbabf14e1aa6a41f3283c421ad2f92a7f87982c4fb043014c7704e5 -KO = b31524e2f26e70978b9179cdf93769dadc1777f4be23c59b72b5d306f1752a9789fa8ba5cb4d339e71c0f29b7c8ad08001f0c68ec79aa190abb4db453b8c16ce96d306bd94d1766c04aabd06846ec3b86d5d7db50aa630e7002dc150a2df51d39b139a22ea5e714e24b7aea5e893bebb293c43507c8ada946def1580f3b9cdb56335be4022c087e7c335ad9c709a817557b2fb752caba337a63b88973175db17711af037e6b3a89d90724ddee7b83c2a822177dc4562be25f2213fd1d409761d47b19c7009980028232b81cd932607526a54d2cf39269ba99de3f2fbc1010984a65fccac5ae7d08c59d7e1ad2b3cd538f42f16dc2c59231539be506f8bf25273 - -COUNT=15 -L = 2048 -KI = 9a44ed8cbd1946e4c26f434815737315cec624ca9cde7e4e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98baff211279a7b52579ab19a3a5b7bb46a820030b059d060dfe2947401ef61dc858217aa187d7cdfb90155869fe68fbd98292 -KO = 04c49435eb050ac0c82d4f005952cef87d1339a682a43bcd993b17902ae32733288bc1ea0e72e461a3a2e5b39c6e89bd87445b14472ca97efa85de8b0fc1be4efe47ea146a5dadd50897cfde98cd70f14bf1c34d6b9e66a43b2e52c5079427f7a50e238adaf9cb583f31468d0824c270ba44193a2f4938dee6db796043644b58f328e5b89fa3b6a4e560f6378ed346aa79b6fb6a4700c58fdfba36c8178dd7a2dcbbc9a0747e03612f7657916020ad9df6a3274e59e277fff56b055299308b7fdf6d806045b9736319d79f2526f002ee000860cba532d9d9cd88ff72c04d68fd261a5192bc5bde230d19eacd15024831363000fe9bc7294b37b092d7169a2617 - -COUNT=16 -L = 2048 -KI = acee603a94e989da52dd7f8222e96699155ddb737c52bcd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4a084d208164b11162d2bb0f2a10f29910e498aee4e1f0d257a5a13400a757177765db86920c77dd9de903535839707b6cdf9b -KO = 09656f8675f28afb6febb212d4e7d2261073b0a0cc1446e67c524ea03705b83ed75f45cb4380810461bcb3adf7a16ade79218615b9747bfc86ce7e004b8d278b192e8c160ffce71b9ea9b8efda353dac87ea7e02bd071b32071cbc9ab2c50cbe5f59aea14de484f7e62c15682e4ff9736cd41e39eaf144c83cbbc7a1a95db799cfe096097d9376ede4dc9895cdac4245740e60b354e250fc785cd960b66ceabb5b29a72c6bec5acc7c2fb33b4e85d8149d4879205a90e0e5e25ac315f2d4f088a9b7ad8c9dc665d2e4c4f3b9bd7a5a8830a2507c193bd5a3bcc105f23e2eb8b6cec1604b29392e5b34f40367cee2cc4e536622941e0a5f13c63ef961c8e15577 - -COUNT=17 -L = 2048 -KI = 89513d56124aa22cccc654435822246eddee87953f652c0f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc6570375508e1386c69ea1768a2380721c0d3ae765bffa6470b74385d68453fdbbb7a7ca57b84b7e0393479dcbc67af3eec1b -KO = 59408bf25111f79d82ae95e754d98ea1b4e71d90a4b2910fa5dd2bb69509700487c9b4fe2de278fcdf525685ab148e0c13866821e4fb78162d8346972d87d6cfcf839c9d3ab0d2af8e5ad5ec5bfa2d354b495365cfa6d8d8915fefeb5abf8f1446d17ac8e40f245e98014320d4ad97deeaaecba5c73af0f0b7440ae768d11d88e544d6e50b6eb33e1470925342ccbd1b7e2791ef026a2afabab40505cf6a0db04170a82fc62bed202cf7b0f3361c842b8c1b6c96f6a2897abaaa38054ff201d67307ea29d226123e2e73d64eb97247b89cee1fe65d4cd2dc545d76ad8bb3fe71c597aa8b62c4ac390785a2a945685d956657a1d2efcdc350a39b61b321c1e583 - -COUNT=18 -L = 2048 -KI = 5a187f62c4ad5cda97d1cf118d452b1d517d617a43dec8fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7592ef7f0aad586c92e387d86aa190f1dba64a26a2470fbcd883beb9ec681232063a88ca2936ab698a47fa41168df9359cf176 -KO = 462d3283e9ca2d5dce0791e24ccb6ad92423bfc03fca4aae187f492917357d7dae1d2989d102dc449b9001de3c90760f0e21a599cc3307baefe5b21ea1b59fc7e7811f10310a6483eec8013e66bb53a0617ba52ee329b40a34a97f4903463fad769b7fdf549199f105b7af263a50d8276bc1d90dc872338d0c686f828320d085e5a1001f3a3722342ceab5b539ac4a30eeb28170820b387b4e11d2231311af8fddec22fc2bc1a14213ac1e0ef05114059d728a4888930c2f363351de84997123d60f791d7687eb91b0899e560c4c514d4d7e9d6f7f12058e30d062393328d25fbab9550acb3ea119662fe0ccd1b608585365a6c2339f7e19893bf2a3744c2e9d - -COUNT=19 -L = 2048 -KI = 500e7f85171398eaa821728aa73bc607c2af3329eac9ee54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 708e7470c049987efbae66a8b030366fdf8367997776fed44953c3a6b4cb94624477472074c6d75c313bb6fb293ae4536af8eb -KO = ca17b47e98cb238b5499c13210268d4b996f765fb1c7af202778b4e28d979328e23af4ad70182ff74d06064c22900630ab4f19eb76e5ee9da2527be7d9c2aac421a21a31a41b389822a8cb0de67c9c4974de4f1379cfd4ce40a9ea1dfded0ed49285ef47ebb0e3e82082e0acf8e2dd53ecb67675e6ef32b653d1cce39930794c8c4a803570e0816636dac16e019119fd5313a7157d2644cccad202e6ed5bd8bf0d563e5dbbe3b7faf6d0e384de9d7f83505c5cd041ef3f1b167c6a3f9b94ab1c8295e024e6e2b1708abf3c308348ce831fff36e7a76d4208ed544c102180825a84a3b60ac6225d6b33d95a8e54d4b023c3b6df14b1dbd03feecc1458ff536cf9 - -COUNT=20 -L = 560 -KI = 1140a72d37c383b447794dbba27b47000637ce2c7d7406d2 -IVlen = 64 -IV = 763ea9391bf7fa36 -FixedInputDataByteLen = 51 -FixedInputData = 3584b6a891a7320ddf5282177e04011f16189cd7ccce9c3487b1d6d017c8c409840fc1e533c5d962e2e2cd5ae7638bf0b4cf29 -KO = ba4dcb95a663ccc623606b2f93651d4d767de89810e54dfef23b4cb9c8a3537974fc9d6ee2a571918ff095e1c1c948b31cce1e25c84c3d6a6edbbe68d537a5fd8d575a1cc533 - -COUNT=21 -L = 560 -KI = 5ea3ab5a9e858b0c1d7a3cf2e582ac931962dd5f552baeab -IVlen = 64 -IV = 57e587ea81ff6311 -FixedInputDataByteLen = 51 -FixedInputData = 53334804fbf6d76b8fc08643aeb89bb98234db18727f126ec3095accd76382bcab6e37d33dddf0dc86af684fdbfb97c8932996 -KO = 17918fcc867d6127e27e8f9b244f8e62cead09824177efde0484c3b2b4a468c8e72284493d4eb5ebde3dd90fe041864641bafd3b4903efff30e1a4b6e72e37057311ad02acff - -COUNT=22 -L = 560 -KI = 2bfce89d11bb37e5daa69c2a330c0b647e01fa44eab8950a -IVlen = 64 -IV = a5030bc368dd4999 -FixedInputDataByteLen = 51 -FixedInputData = 46a95c81aa20f233823e0378a19874ccdb32716129b81c3a53878115acf2b4821061f1aae40931d7d3c1ddd66833a2d87c4687 -KO = 074c2b72dd2bbff33c5b9a8e9a83be7a141de9b02e98110d273697d6ca762f4dcbe7f88f28c50571a7770bb14db20c71403fcc5c7cfe3a83f26c056ac647180ef1f93f499cd0 - -COUNT=23 -L = 560 -KI = 6831760df34431210b65be4a14cc4188a46c86c377cf0d7c -IVlen = 64 -IV = 69484914bc8006b5 -FixedInputDataByteLen = 51 -FixedInputData = 36eebb28971a7c7022221496c4111c11edb3394126e7a1c9d83cf3217a763fc5cf88b99dd44f91903b133d8f8147a96e74afd5 -KO = dcaeb17a3993493d28901f6679c8c1ef3b034ae99a6715f36d33f63df1945bfa8211ab3620cdf3e5cec2079240e82717f248884e24061daa8ceb924294ad18de0f44d850a65d - -COUNT=24 -L = 560 -KI = faeaaa286390484342bb1aa9648e1df0507f021d0eaff097 -IVlen = 64 -IV = ac382d4093601c49 -FixedInputDataByteLen = 51 -FixedInputData = 6183308d13138ee5bb6e6ab94aa875eed5da00c570ba599006489f31e09a0f0707a05e6dc38212e8204f85226b79cb02649a76 -KO = a019c3afdc4a529be58dc770f0c1b1324009fd80c148da86b151473ad66a543b259f56c0f37d177b73e5298b2326f636c7fb000bd51ace855b5b2b0c7c4ff819cb218dae0735 - -COUNT=25 -L = 560 -KI = 670da7c8c5857bbed8e81655fa515c54dcb2221871f50dba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 686dc461e105612d27830d97a7da46afb5f26de15cbe411f88601cafa6d229b4d97f7c947c40ac14d42c7ccaf1a16fe5abbb12 -KO = 84d96bb95599882cad57e78c5d0adef1344f698a0742a2ff839b61a4c7a41e768a77034fed4039bd3e7a3df65682f73ec5a756d13909541be1040b320d2b8ac8b007a97e6399 - -COUNT=26 -L = 560 -KI = 16622973a32cf9bdef7b7654519e954c02b3455789c1019f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 08bfbc2e7191badfec0481bb1125734d3299f72666b23c2b5863b6467f2cab23510fcab563c024e67f00b962ed3ad529d6fd19 -KO = d9aeba1655470226091554666faf19bdcc1a3797e4fd18c9475c6e2b4f1d5f7bb5733753cf5e44ddb155c5ed8b1efde5ac80f5fa4f62775a25125f8b816c206d5448b188302b - -COUNT=27 -L = 560 -KI = b5898ee3161dac2dd8bf3cee7db54752ab11eaef9b4d2408 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4879f52e80b4ad2e5f71cc9c751d728d2a8f2aba96954f96122a7c8c8bd2d52a2a49566ca2b413739adc2bddca57a1615a33df -KO = d232aff301de317e07105a071df44be944815b8b2c7e1f7549f10a19197e60b309f8a577cb0c7852c0e22bbea07d1b93b7b0d18a5cc4864d532e80b40a19f91c2172e400fae4 - -COUNT=28 -L = 560 -KI = bb6761b531f7f245edc56a7eddfbdf239c478069706ff541 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = faac8796dc796b70c32af615e1353304f5b2468ecfc0c039fb0ca5b46c235f96b1585dd57df7617f3db405ffd7677eb5b362e1 -KO = ed8015acb43e751075d537c2d58b6bdcd499e038f0b182a3cfb49a0cc5171f3aeaf803666105369a54d388f2d0369846d0f6faa83b6723900de4b7c11ba4ba76c6cf1711438a - -COUNT=29 -L = 560 -KI = 164f003fd2b28b4b48e417e027dd7ca74340d3fa16cb452e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b83804eba6badacce3ee3b140632691bc1bffad2bc60808d3c720f0094858bb2d38f86b86d388f66f273f5480c3cbea90001fc -KO = b05c33fff61951a64b8e780c494998f72b1d7d835666af7cf254e2024d3b16b005ed792df1fceaa58c380694bafa32bc6b9bccece24a676452d01382fa1fbb86e004b11144fa - -COUNT=30 -L = 2400 -KI = 8d7c80f2da425fd7d4f7f7e9371245594250b422166ed8b2 -IVlen = 64 -IV = 1937efcd475ab731 -FixedInputDataByteLen = 51 -FixedInputData = ce3569f090ee6158f87fbf1810faed4004989c909c236656bbc88d4d5e4b6f995ac72de0796bcf713da20d41e31c286a8ead40 -KO = 2860850a9ee15d38c8849687c8e24a2da687a4d21262004057a2614c973c8dd6c551e1a5e2a00c9b167a46457806db945f9c88fa42f7452738cef65bf7b6995dd6da7c07e1ebbecf9bc19918016d8fb6e82e8f7985b258914da6d6708644f19856a32002aeffb9a05cf2d1603a927cb2715ea25bba847eda4fce84abe4b8154b6b37a4610d566c0ce310286192fa7822c16b9fc64efb396d3d8de6087c59338f10a6741f0196ac960485e8203bc11b558b68f1d3162d5d7cd3178efd6815eab609ec6cca4afe2136295d927cdd77b7f302f080f1f0f9aaa8332333575f3917193c077048956103515a77d1bbcd17fd0546089649116f15dbc0089ca0e77dfde60cbb37c298c80f76137b1589e228362ae04a23feb1ab2ac4e2032e0a346bf7bc3ccf0e552948342665320a0f - -COUNT=31 -L = 2400 -KI = c9dc0bac1fc71fd05e32800e669a5cdefd56dc226f90ccf3 -IVlen = 64 -IV = 0f54039d87fdd710 -FixedInputDataByteLen = 51 -FixedInputData = 98affe0fc42b1d6fa0ddf5dedb2a9eff5762f7bb88ee3eceecf029e55a7925f8fab6223eb1f958ad2c092291a12f9423a7c58c -KO = a501803c4616325e49d633c1a0e27e98ea4e87142069018fed3bc50dac88ff7c18f32bc3eaee39465b956efeb08753d7859889b3a7c42e5708986aea1d7337ffc8fec6ddb97c529843645ffb58e83ef738bd16e498d581f21f5a5d161a2da25539bd1eb4de5380368c1827b68954681d2f1f2e3d9b7121da01a71ecb164e71de1afacac83dabd32fd0c719c2e68d62881509e5ec6b6690dbb1809c0f7203b1d0962ce69e53adbc2c67a159d8eb4441aca217d660c717e6d513affb149153c027c69e742d9d32d04e1b83f4f26305ae195c88c25de4af9f167ff0090872ca1e3c83e46e9b08622eb67a4a04a9ffb1f14236fcb96d9fb6d5fdfa43e563750c7f19e3b1f80086daf2b65b51cc1ee39f036ce8e6f3cd6040372bdd5fd9db3ddd2c36983923f6c20a9efada06c102 - -COUNT=32 -L = 2400 -KI = 7023da293a25d8518cb4bb126e042663257852c2a164f5ed -IVlen = 64 -IV = 94383e1b50c824b5 -FixedInputDataByteLen = 51 -FixedInputData = d2489d91b47e3844f35044c3e1df2666e3b9594b3234d40ffe85d98d4ff477a83040b6c04718ea35a9145fe7f07dbf82083147 -KO = 5bcb00c71a76a81630b20b6288fb9134d59bec65279a217ae3450ee74696d2529415a7b38cd026464e1507d2b404aa40f97d8877813483aabefca46c1e97b6bb2ea8af70b3f6a6088fd193c67c217a0a098fad0c41a2139580e4e1d35789625d202ab832616382095ff676846ddec61be4649efe4837b5b707184bfed85e9cac24f71b3f04b76ad2b76904f30e50e4d4f1bf0c36c3863de0d1ed607613db46b1da936f97a74c68046bd2850e65fda090e339d09a427848c12ab619024cbd3b194f4f255171a95d43af58e6acb765d31eb4bc641133ffba5046863813a74ac129a1bd79cd3d206fc41b323235359a739f31da6a2056c4eaaecbbcdada76435257564ecccebed12aeccdf3df3f61d4979217ebf8b3aab71efdf1c8232c9cf223a39738c198014c8dcbf10e35b6 - -COUNT=33 -L = 2400 -KI = 3b661da4b5919cee8df2aed959cc9119ed8b42b88326cd49 -IVlen = 64 -IV = 777b984624490c3d -FixedInputDataByteLen = 51 -FixedInputData = cd39db92aff4e7afc062b68a3344ef427b52a8a80a0b84dd5d78cce1f88b8866da684d955112bcb901a05d413e69c8757f7ab7 -KO = 53a303afcea1c03e42b3992dbfd8a9b9038b999c632750d9eb071db9454d7ad908f28354da8ec34c8d9aa2d24d11e61ffe7b93331d77324dda62b166302184f9be97b34eef8be6918d9899c696f493a38c39a7b817241f454c8f9678c50be7b2b77e23c0bdb32564682170048cab317ad834739759d703edb201cf5e8e529973287bb36c30781f60afa80a982d77ea2b13e24f7a0cb716cdda204a4ad6f44b7433ccb0882df117bf06828cd6f19a1e0188cece5c2aa848cf3a3f8a707ae541fe0f0dd5b038e40de2b42bdc144f9b4f257b36294b88e91f57f576724283582e91d1718180dc97dee5e1d99695fd8380d37cce5c98705dc796ef6b4c1947ecefde2dffe39e179c347e2f42a199471585c397cd9b7cadc2af66625fbfda673b2540ff25d512c5ccc380800f92f9 - -COUNT=34 -L = 2400 -KI = 396efbb368f713753d1789dc28eae2ca9746a97a70b4babb -IVlen = 64 -IV = cb7b049ae7b4209c -FixedInputDataByteLen = 51 -FixedInputData = 5287380139b3777b108171bc6e01264eba0198d4b3e0328028b0b0d73a0a539c5380078842908bbf5d16730c47d0ecdc6ce658 -KO = 794f8454c3a1722907bc3e0ec900f7925ed363f2060fb2bd02d10ec05f3d6b476035eff22d8e1f278f9aa28c634adeee163320bf35eabb31541b8ebed9d8c3442b629d548ea20d40e8e5835db34b48fe567abb8abfba6f5557d2d222d0e0d7357ddaed1cfdff5b8c1679be977412c69c2831c7b5c5b2a3261e2b89557fa660a40ab29af70fd5fb69175acc501a11cecf3e825fd4fd369bceb76fc9f978fca1562d581ed91ae8f86adc4e59508082cadb51e44b4a9ae629d29103130081803cb120e6963637c584b29ac386c136fa4c13650223890cb5340b63712631752837bb70f6f00ffe548d1084de2d608b0432a256619490ee888fda68943ac0b480bf6dd0f6cfcc3f0b7e4b9ed2de6cd973bc8db235884e9047154fbfd27444757b6408626defe3e5350d88e05c3bad - -COUNT=35 -L = 2400 -KI = d7ad142507869ea3be4e56e5ac12be173e0f0c91b3d4c659 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b6681766dc210f5efabfb98f13a5517612f835104928ec1e7acc0290c648f00f3c545d5be83182d55b18317fbac28003064660 -KO = 99030db68933e6d98e8c57faea2cd5314e93b0104ca07746b543702b6b4f9980e1a053c9f34366661c9e927cfa6afe4c66747142297cf6986633dc594f53f8d7a4bce624437fa0923383c97bc672d396592f9479f11b1808e2a2c45a8a68dff2020f23c1aedefcc91c101d501efa81450ded6c76ce40c7c2809e2a5d17dd9221327e856f63e203be9bbca985e60955431ea3c5a32b22ddee94b0793429f1c61a3164dac1428f1ea855a92b377e4adaf118d63976f297cbd778b5b86ea7c5abb2e22aeffdb5a9048994aeff0bc420f02530f076fedf5c9cc30f9538cc8b733770cedee803a706cad15f006aadb85c67515bc0672cac9d54257288f837da9ced91af0cbf2c36fbcacca1aed2581bc2c9b329adc180b717d7ba09f29ae45fd07f7bfc9d25b7779baab037ab4ea7 - -COUNT=36 -L = 2400 -KI = 58d5da35f53fb82419d7cf8cf4e97d19f5795dda4befb6fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6fd8373b2444dbbde9ebd81f88c90492c0a6c4316d1fca367635429a650d122ac73193a636fb5cf984c266dcbe16416493208b -KO = de48cf766b5cd8aa0a472aed2a7334218676ae01a220c5c050fa9a0e25b97b181b2f957921e4e3cb32317e3f6b001cbc3555c075f83df305af76837effdfa4e5bc604570f098774db3c4c12cb7728b1aa7e7381f28296e83bb874f611701d9b61733c0d488bdaedfedf855222a00224fb65246d69446768347a03694d660bdd87d8333ea48f60e37f25468408d7a3a14c3ae45dbc81fbca47bc66900f8dd5b8c0c6170b2cd6c844343eac2d447294c1c858dd930e246fd5302a77aa4f1d3cf8f32e2051d9089729fdfa618d7063484c6078e716758cbbcab8bfdb15db813aefa0577776d18eb0d3ea2a2dabf67fa2d5e8ecdc253696fe8d6a4fa689962d882c62c527bc6b51f69d064f5e0e27f3fe5ba179e2a4866ccb0493d5e5388e78ddf882d9b10ed50cc63e119bd68b9 - -COUNT=37 -L = 2400 -KI = e489f41275711633920bb1a30d1d4bba02bc4ec373735e98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a54ff1eec36081b93432c8729a77a499dc23730347cbbf8627dea561c11a8ff3381864eefe949bf0ca942be4610c52dec70805 -KO = ac931e1860eb89c3b2b2d3efd6a38df657bf632667262a6699b67563c904c9a1f5216703e5671f335ac16663bc39ee11a82ee8e6e35dc031da42b0ad28aea6461edf6caad7f4898320fc02eac3525775417d3f06f3280d31f9bd7f581b055d7177ff2f055bd7da492d4101a8fec37e49237e307c2306cb10c5e8d0edf241e2dbc7bbffd4686d76e6f6aec72b57c048fada5a299f3ada0d51fa47d8f010320a5c47cf09b8671f107dc40eb62f52bcd357e6168f052e592a8c376b4ab1b6c1bb2e4d84373e790753386521b52917b3feb7378dab752738b93d2bc5a33bcfa924b304ff503f87761f80ceb16352064d17726305e93cbc9f3228a630a3638a327b7120291b6182d3b895cc0bdf6eb26ee390b677d13b65e10a88081b8b5d8db36da38ce7c70fe163f26dce65a6d2 - -COUNT=38 -L = 2400 -KI = 1d8be2a63dcf4f1061859a7fe791b00700b65c8f49ab6dba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b3aa1d453fecdd4bcf6a79c1ca8510d0ca382e68bf38bb8e1ee1ea382df3fc6c82fa67da994892bf18d29764ae146a2a06baa -KO = cee442d62fa3461ad88803ba60d825920b9ad420efe61d5556bdb184922cdd0bff146991398e745581945734ecc023f6f49c114659a5fda442b63532451e25a68b5e2e85dc5dc27f69df95ec1be1c71ede8f582b6a236893fd1ea3589ba65df88f3c653cd038100281bcc968d991ce177a37192c0ebcb1bd24d1db146df7c9017c21e06579f7660e594fe9134bed4cb0babde831908adaa66f1d2f954810462cd6158d5e7d4dc29a8d0c07950217996b725880d244a56ad430eaccc682d95b2176d9ca37a10aeae5fab7d74485b390913429275cc30339fce4a60c62a2230f1e670fe47b88858bc01b5e73cca4add7dd6bcb167a1f9f911309104da7692eb40bab89af6cb620f1a8e9835b6b3c3d93c9076365320df5060554879bf0b52f52dc65b24375483f7098f361269c - -COUNT=39 -L = 2400 -KI = cda0329f2323b0f93cce0b027fbb82bd85835d92b11c9a3a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 19c8745ce4ed9f5fcc7f5bb256598d38e8e79d39b55c209b861419e4e9e95a608e33bbb142e5a09d80619274a23db160e1e9e6 -KO = 1014da831fe01bf69ac832c8e52180d4403b691235f5cdaa3848e8bd2197872a7dd636c62a9a2a5eb4bfa338d942a0eb86c72bc7a4ad7eade4bed285de915574e5c42d49c7c606c1fa38769a322d85d4eefdf07336130f0e273fe4e66ff4d639837c4df03863e57bbf2371b950f8028e4b35343102fc620a5a4c8f409221bc10ac0a5f3046c546c3d5a22b1ed186ff8785ecbaf431dfbe21b436fb86343a432f5ece581ab505181d23a986dd08e9bbbaa7f6c9ea9ac4ed15bd97e16d1d9455a7d8643ebbfde9aae7141a93519b6c8bae18cce659c828987be934ef04e47ec5e5a481f982e43b7021206fcab83b1c127cb0eb110d2b8bc207f449114577507a6d379df82eae70df93871106eec4919133fd7533bf363f5505b0e199af1c7d3c31507c0a377bf479db39707471 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 9f5c49820c8e31247b31c1eda40179fc414327609ee63f4f -IVlen = 64 -IV = 4d4111b1158858d7 -FixedInputDataByteLen = 51 -FixedInputData = 53254e9410a1cb5c8218c529df1a8b1a2ec295a59887a491124645aa0b08c52d66d35cc8d4fa326b0907f5c199101ea3d9cfc1 -KO = c209ebb17797cc2a048c29e9083a51eebeb9b9375246e6f269faba00e3f5659a7e7ca6e95776d30d3a255544304a27040d81ff50114206eb8bf0ddf70e40c68a - -COUNT=1 -L = 512 -KI = 48f9259bd1817832a7970002388e5fd0e9b240b681651899 -IVlen = 64 -IV = ae1ca92ffb43bce5 -FixedInputDataByteLen = 51 -FixedInputData = b94dfb750559dbbe03edef244669ef1e4de3a8922f48b52aab75408336e71a274dce830e6d24db176a4450f0f1d14bcc362177 -KO = 856b432ab4fc5ef220a02cb8403771c1391e846c289f691bca6e8c593cb094e4362a9bfaf009b9d20453931e40f2efa9d24dcc6af7f18ed01dd498d97c8b698a - -COUNT=2 -L = 512 -KI = 32c743c1b9d43a7f608b1c53d9193e918a2c168229a2b395 -IVlen = 64 -IV = 842be2587d6e0eda -FixedInputDataByteLen = 51 -FixedInputData = 4afcaa7487bbf301cdeb2ad0ba2c30b05e93c3c05e192bbf476b883c27904bc34e261942f68db950529215580979d4cf249de8 -KO = 659f04179fd5b7185b8aa930412d710a2186cebe6aeed316a533fd96b3f4f145904b060ba48116b87ffd91791731d76b880bc5e342ebd7741a0a792798fb4f53 - -COUNT=3 -L = 512 -KI = 5b71e29fbd10e08bbf7df630119960b1ecaa4cefacf2db10 -IVlen = 64 -IV = a89edf647d96a4d9 -FixedInputDataByteLen = 51 -FixedInputData = 9f6b387d9190137f15d30dc3552c83c12ea1c6360ec26ec04e51852cea43d743aea121dd79e9297b12c97b2d4f1cd76757dc54 -KO = 0bc95bb70c98b1ee135959ba73c536358ea1c4a65334105a261bba58e4f8fed825abf7f4aa1f8cdff8fb3a2111c1f364078ae9a57808fa3f38e5f1debd0c942f - -COUNT=4 -L = 512 -KI = ef44e0c90a69e2214e736c1304541f4fdfa68fa4ea9d901f -IVlen = 64 -IV = 6b84df37ce1c7dcb -FixedInputDataByteLen = 51 -FixedInputData = 0741fcf3a030f41b362e4683c63c872d4bf6f7e6b087d328c9a0f7f6e0e03d5cf304ec09039bbfb55d95a03bbf8e1f67896e31 -KO = 52e2f20e7c2a00ea1bb9e0bfa5fc179dee38898504382f3e82b8f6340ec607ed949f0fdc099a841ed9f93fd62083d36f47a329928b293cff4f89bf18984fdd5f - -COUNT=5 -L = 512 -KI = 2d8b6a4e51ce08c91e1a87217f98a9367690cf8f9893eca4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 902c097153572338c97cc2c26ad6c8ba664aa17c2534dec1e09bf5920d29a11e58c8ab3e994268ac00eff1a2c85c7a320872a5 -KO = f253982fa5c87ea4b2dd0f2b102a466f800d6d6987f104f4f9daba077295ecce0ea89c003f1717c39d0c0bdf693805a4b87e4bf66d035c91c8a8ab69e21a57ec - -COUNT=6 -L = 512 -KI = 134f1dad576e4b16159411b1b2ab4b89f4826ddb30969301 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89c7781350de7e2b3c109aeac064a4a21c5d507db152282d49fc265870b606feebe65c8fd35a4559bcebe94e1d8c6a8e0b50b9 -KO = a891785bcad0cf2b8d0fccd5268bc8265901798f694deed2834d1c0524f82952156a7da17c7acc619b43b1f5fa53991fca4784c7b08655dd2df1cb765c3dbf92 - -COUNT=7 -L = 512 -KI = 7edb50c1cdca72f89d9eee485ca9e883dcb2460a73d18aec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b41dbe156267d55cc6bbc237f104b6861b267203109f0c36f5f2d70edaf33435adf5f09b2ff7df2e2ff09a4ec3b2a18644d89c -KO = 7b164a2fea864383367a8b772645999b9950ad390c8e2bf59857838d224e49f01aed405cada6bd8225549aceeae4e1ce2d53e0d0d570c46ed8f3fe824cb35679 - -COUNT=8 -L = 512 -KI = 384bcbb2e81300a6c48b6bbd006fc1c8590ff933056da08f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 389cb9de88a6a7b934f30f02c87a3e211e186d08e1c66a2b32b79a6afbe26681565940ded1534f9b8c89021002025efee5a099 -KO = ec04a43246f90b88aa86b108bd956c5b16c0d9ee150fdfb92579535d2a7be93a1cbbe512c1bf19641c6bd140211b2e707540f2cd1e3a15e1dc51ca758c185cf4 - -COUNT=9 -L = 512 -KI = c371f5b784e3f91b0adf3f823257a4d52bbd5e77add55dad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4af216cb5e41a2d81379bafb32bee900435f2f98e2bfa038325cf20ec087f2635c8c1924896aeeff41e975943a7cd57892c41f -KO = 302e4e16fc01502d9751e4a514052b17738850d228391f0b37921c647aefa549539463f1e36742439d82a36510d882e561869e738ca5b6202e61e0ab904db0d0 - -COUNT=10 -L = 2048 -KI = 62e6a332ced5ca92fc31c8365573099eaf06464307a85e27 -IVlen = 64 -IV = fb8fdc29da5f459f -FixedInputDataByteLen = 51 -FixedInputData = fd5a1e98fc4ef9d8ac024ea31e4839519bc021ab21668ec6ab7c24aa5edd91fb054b7671ce67c6a208781266a319d6228aa84c -KO = 0c4d4e0b6a80123258c5f4ff0f6669b730df64d94d02ac6b349117ace6812060d45a405c2a1b4103fdad592d5808453726ecacc5340e64135b3a5d5cc4fe2a7cf53f59e574b9b460052c45e39cad285d54ae964d16672c231a93a56f743928123a8c9ecf0827650c61937dd264ee4d2e6816a57755d3d83df14ee6725c93e033dcc2d512383e5347dc5c86b0a077efff54280c2600fdbe4e63900057d41c984fe3d1cb94460201b010b7ae372977801a629fba61f8705896170be64b0e3f5cdf4a09051fc6c5807357a917f225a022faead96bc6dce02983b68bde38c8362af8ecf8654ceb15a257e9f42af9b27892efccaf6ab47137bf3529d0ef1840d84b82 - -COUNT=11 -L = 2048 -KI = 6265df35edd8b5f71fca1b85a1d7ba58b887a1e4e1d3020b -IVlen = 64 -IV = ce8a170c61998c12 -FixedInputDataByteLen = 51 -FixedInputData = 50742f64be4dc8409015ea61cd638bbab9994adde372f1e8aa0f2b12286cdeb30bf4366993b2d8912152d03e2cbfdd27247d98 -KO = c8953bee7f3ff98c8b4d4f96e9bb52723b57b55ae826c608782558cfdda1c4dbc1eb95ee82e9b0f2c9ac55facaa966d56e1265564006ebb5d46455350ba8bb9061f16844db3e66677894caac22d513052cd3f94c00a4e983822ced623c5cd85baa6e4653ea9bf888136ef67ca30de46add165cb04e7b97c370bcdd75bac8112873fe4967bcf7c59916e8f87e1ffd249be3e5f63250d8d043eebec412268c04a2c8116f9c315e2082df8ff48340828221ea7d1c5f5dae25a3c82ac9b70260f499e6efdde62a6941fe4c65b1587f6c34631c1bc2982987229111228fcf49b0cdc766f4ad761333725726a202c03d6397d757befd37beeb84dee40dcaeb5ce3407c - -COUNT=12 -L = 2048 -KI = e357311bff14230f4c5fa2e10cb5a3c15ceb37b5d5e0611b -IVlen = 64 -IV = 028aacf9d114f9f8 -FixedInputDataByteLen = 51 -FixedInputData = 7b5dd9e4f7c68e9d36af6bff0b8c526051371c6a17db548d84c91f45147acb66844c5a18c21cc5dd6d8a270f1600d8d688607a -KO = 467e45730d16b04afc2298b844a58ce162dcae01ea5b5a86c8353d4191cbdc846da01f22ca778cc787dc15fefcc698b1cab4cb10bf7a396ece269effe0b5b2af573d2e31603b1b8f5c05d8c05e7ce0440150616e967a5040e46edcc2ca5cb1fd2375ef33e92e770226d7cc74f92edee2e018ea7244488c52e0a7dab9e2b4fd7d6dd753022d8d5a642d460385d7ff12f2565a664d14cdb2a918cd13a691c65fe71e7c269b54cca6f4b173a661a0ba529a9dc408d25767e419ca53d7d121f4b891bb1cb796d41967ce14890f1007e0432f8b3e342ed52fffcba15dca5e47dc0a7bef907b2422f1e99a94688ede1c557e83a35abc135d6fd8c25129da70c2ed4b1b - -COUNT=13 -L = 2048 -KI = 796319b92566e16715f7dac788c1034ada8656edd82e8300 -IVlen = 64 -IV = 0926f3cd29200762 -FixedInputDataByteLen = 51 -FixedInputData = 95136d189b26ef208441148f467d9859d49d8e2ce525d3a5f3fe8c52a18e3117991ac85c0c7e496a60190a8a6eed0fd2fcf761 -KO = b45cdec0e0a123d746df8da3669dccfb0b000176c808be94bde40b3c2aeb56ac213a5f861a85c6b812362446030790a1f842a5e710ffd390d2e6cc60bbe6ed297df5ae0f810c6eecba5a7a9c608eaf425bf1a71e50ee583778701e4a32be15d74f9c640ebf3f508d2e05f79af16661bff293195813edb84b4227030c48c03571d7819f4e9480f845f86719f5c94600b68ff8dc5d9abee0dbf025566757c318b880a91b9d250ad8e81ac5a52f3444480bb5c5aa9eabcb89288332cd565d83dbce1c565da17684dd49e68687660c2027fa4cfa9cb247c721ac5cd3554bde49679440549c44eeaa7fbfdb7be47a6971357291e918234b3631e3757127bb2faee974 - -COUNT=14 -L = 2048 -KI = aba2e12aafcfc0f1d09801aa3fc62fc58265448287180933 -IVlen = 64 -IV = 8e73b47191fd5bf6 -FixedInputDataByteLen = 51 -FixedInputData = 8367ce8f2ddc414068f6d861bcf37f1d08b9cbf1bdbe0e3da68376b3f26c9630b32b2042d3f52c4f37a3d46dfb4f3127feb7d8 -KO = e9cbf3af6d874d73bfe49eecc72b1a2416c60aec23c1881f59e55e2b51d2133a9d98f2d59ca3825ea7a45582f63220dd9b011cfc00fc229c78e0f794a93b5cd4c00de9d864c04d7dcf1d11a568f5d796e68d97f81442da7f3d3775492dcc7ee480807259d27bf39ac42e6bc0bdf72b51c91fb3b041f0c387c16920568a7ed71afd68709709816434a278c9f32d6edff19be3c81c2b9ab22082963a33664af28ea57bc5791f2dd37789c010c603ebe9f91ebe878b8d5632a98559f406839f14eec691d0402fe58332eb68515b7634e994a4dd3d2ed3522b8026f774512076ac1359cbf8c3837e5bdb82cbd4eb541c4220d750cd79a248d74952a72d25a6079a51 - -COUNT=15 -L = 2048 -KI = 4538dda2dee87c5c07899748bd62906be3fdea5cedbd53bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0b307d205565b7f3242be2e1542207626485927ed988111a04f3a5394378c2d46716ab03372973b174ce66c8b8fb2e209fb9f2 -KO = 31913e0e604d5d22a8574fa02d26cbddc25e7cf03463b2d5f8061d62a9d4c3cf3cf2b37986bd49cdc4c15b856aeb54a73f46e8daa37c5645a1d4e50f4641d81f9279ed63162adead04ee667bc177164fa59ebe8635c2d6287178bb560d65e6d515d872fa40216f657f1ce6c281ba8925b2b5db54b9eb068032266068058123a2a256799bea7c0fc7662b632ce0e08879b066f33584c618bf14a8aaf1489484752aa91d02162d4be13aaa9952423f0a2a3b27dd5771c2da39ecec156e4a5951ff6c3f4101dc80ea32bf4a5dd699f323d23ea5e193c3e847621959c2480949b971233fea40466f48a2fd6f2048cbcb94935d5d96c26c0c604b1af29620bbab507f - -COUNT=16 -L = 2048 -KI = 7570563f4c3d066a484e30ba642ccf6b5d207623b8c85a4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = edad62798750a9b3738255e84f925f39f6d3bfa791eaf9e2839901a6840df10161a7f6b6932becd9ab62a33faeeec538a52909 -KO = 78f17b99b8981cf09d94d21a4e6307fe105645479a6083a251eebfaf07fd5b69731951715f52fd79e69ed37e6826990af62293a5418a81cb02590cc7e136c2c2c2d5b56c87321fc86b4dc33ae7436150576d7218158a9452fa70ffa453e4b1340ddf1e920e49595137dc408d52130dc763d13c6a36a8833cf4625757077190b4b663e0b6b5714b7647301a01fffea547f7f4c8193c30cdbfb9a6f0568be6c811e3a6b8f9430e6f44cf2bc88cf5a56720a9fcada0cfd7b5c67fbfccb0a5aad88eca4fd3bd2fbf646f3e38eea2824dd3f98c1e19bef86e878e2d071f6f7b79362e1dc0d4359b4203ce74bc2cc1f6f097f08f655a64d26d50528054165dde9aa5a1 - -COUNT=17 -L = 2048 -KI = f3595b57d15eaf1b6723d11acb4de501fae4ed09386b6c46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bbe76d4acda059f604993347ad7b04091baebbd4eac3c6f71fb558ee8670b5a0047a10f9358332cfb1afd74fd403c7829483f0 -KO = bfaf4e68e29513e0e2f31751fa767f30fd3b1c530b6481d08174211047e583c85438f9500fb4b0c81b6eb839207bfb6b98814eef416cd7f94472c905059820b3c508ee1bced21d89cbc6fd0047661447bd8b3f553ed3952ea6f43978ff615030fcb4a9fbabebda3ae608c76b2b7c6700058fa9d4690c984a0dd6b42d71119a2cc3ac4ea3b75ea16c7bd99e11f291d549d3b33508891979edf86e166a256c6de97b1aad8a473c94111e0af5a54ee0bfe75bd1bc70fab4ffdebd0267d55f790499a045a946a727e22ac7fe213cbd0d216c0a14edc8cb6b111ee32be5716620d455efea8c940a71c2a08b44b42c985411b09740560fa78697615ab92bbe9ed09f71 - -COUNT=18 -L = 2048 -KI = ada8a6ed6a217fc4afddcfb8ee0f7f57faf7e8f31f5acc12 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd423ef94f140ac657823bb4b186f2031609165667dcc69b9f0127732dd80b0e59eccd58168d2ffcd86ce7f072b4975aaba043 -KO = 0a91e89bd582ccea498ecbaf61fe812789a0dbed4176fc1a36ebeec4056d52f3523b500657578d95d0aee4cea08dd274865288a8386869842d7ab589865ad37c57efcccc262cb5715ec97d8597d57acf0f8f6eaeaba1a49a43695bab4fbac103ffe8788ffaf0d538690170e801ca7d532f1308d2e40fa3eacfe9ae1b76f2110f3c82891faaeecc3e5b6e79e4a0ffdfe3b84f08c9f3405c287bf3d4574c375fae98a6dc17f13e177f1d0a0ff5452749ff6e5751cced6fbb8e233a86db4425c5ada4023963b42d0c5910b7abda09d2670f409f559e0c642f80fb98bb3ff8b097c8f5b2e11bd0834f41c7820a99e4ad3b4257fbf402a665ecfc60fcc32de76a30d0 - -COUNT=19 -L = 2048 -KI = c5e14765f3ae1508213de4106920cde7d268f10768ddcdcc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52e9ca2d12f263c4380d5196a087a20885d4ebec4b3ec2c52917593be26d8cd0df72dab10d6db3910c9ea0eb629a317d1a282e -KO = c8315d2a3b689cc6e7585b50421fcc526535fd2cc72fba53f8bf9bfbf9cd6f9a22be476c998be489dfdfa0e92becede2829996d21c867887ee4c898945d16ec6bcf80c7484202fbf11aa1bd0f0d6f2bba8fa229f2cf4b76c1dc14a1db705766d23a14479fc21cd84caeed61f3be11078dcad65f02431adb83b6ca52de43f271fd3416c8bcb205fe358718c44e9c81d1cc80fc91888067d5a60cf40c42a4ba53f8d4d4334c0fa1bdfa216c768db72188407ebb3d8a4d10db46d23b4e2c114d3e54269f8995097d60ede210d16b1d49f9f326b36f4314608778b7abb9773a6b190f4ad3452ca4823643cba56abec9c3aea788172a616682b716c04f1d2ba319292 - -COUNT=20 -L = 560 -KI = 20cf9c186b21f0b2ce86c4ec37154c5ae059283820865776 -IVlen = 64 -IV = 0201d7c6138507b8 -FixedInputDataByteLen = 51 -FixedInputData = ceedebd7917db890df379b57a701592b58bcd122e8c12a2e47701792a8bd81f6412367f7ef95973c606b9e8a9476ab7fad3074 -KO = 51c6bf2af82961ddd7a333f264045bb03513ac915a9c8a15c6efc17744caf3b4da015a819d9c3c58c50af39527ca0babfe46bc049fa91db3d5ebd9b1634823d61ca0d264dbfe - -COUNT=21 -L = 560 -KI = 60f7e5368bbc7e868879fb5291c612988824ab4e922ef287 -IVlen = 64 -IV = 848a3de2aa1931d1 -FixedInputDataByteLen = 51 -FixedInputData = fe8f7c02deb85b84d1ac237b7ef93a3f7c97c5b221bed6cfb78994edb72486cff1c0e46d7d90bcafb1ffecfcecf502bbcf20f5 -KO = 1bc0059755f40369a3df97905c6bcf1b17f9e7690644efad04c2556277fd6b18a2b427d93288eef64dd2604093ef72082cb31ebc7b34f2b35d4448e75e59525d38517bef6c1f - -COUNT=22 -L = 560 -KI = f850144dc438af7dd5d9eafa03a4c5e3db00af317ba35626 -IVlen = 64 -IV = 6524922e8763c2da -FixedInputDataByteLen = 51 -FixedInputData = 3ffed1137f918fe92eae9dc8df94a6690e9d6bd9788998abea7d72c079dad9b51a720ce0a48d7394cc209ad08eaed6446ac3e4 -KO = 32b4bb6cdf3991c49fcdd5b464cf95f8744e05f957685513f40d0c0bdc455e887186b03cbaae165cb2633c0ee2723c0fb784d77191c769120c95e44ca4d03edd646c81cbd0dd - -COUNT=23 -L = 560 -KI = bd1ca2ad97c12e8da0603a99930c399d8a15e659c0f82624 -IVlen = 64 -IV = dccf1f83eb0e16a9 -FixedInputDataByteLen = 51 -FixedInputData = bd8cc206e3a6934655c11e055bb847618fbd5db31583a375a239460d0374d940bcd8f1f96dbec9a3f36d0cf7c7fe932dcbaa46 -KO = 3e579d3a2901de8606b941ea1eba799ca8733b6897dbe1ca5135f0143d4079b4ae661e5da4bba1f5d4ecfbddcecd3cb8cb7bd23d94387804a2ca67f1e4e88674b71e1192ecd8 - -COUNT=24 -L = 560 -KI = 125c388f4043b395ef63df8a63f101509f601d2a419f4bb5 -IVlen = 64 -IV = b98c80c091f7a7c3 -FixedInputDataByteLen = 51 -FixedInputData = 647488f79471b632aebbc9523cf2e8e8860840c7ffd59084c26eef44155af7ebfeabdbafb9caa417f01d4115f60261d69c7219 -KO = c0773938d44b4def796b53efc02f70a48d69cfdd10b6b94e29a11d2093d9ffebcec6974aae41eda21962db870a73ec2c5b77139ca5e4849eb4a94bc84e90b9e7c9d2bd947351 - -COUNT=25 -L = 560 -KI = c309d2bb7b3c43c025c700317187e4971b5ef88eabcd9a7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ffaaadc74aff1903646059d0da919aa7cea29b74ce949a86953bf3511028d0e9f2b81730f649c593ea795dc5bd3a38befe58fb -KO = cab31bfe698e95f9efc5da68030874a4fe9fa50ec5fdcbd63b956c58c88d2a696789a17b82cc4b70cdc6926ea7d08cae26c780f9334f1fd463dc27977d682ca81ec0376424d3 - -COUNT=26 -L = 560 -KI = 667bbeeb85c5a2a7c71569edeca90049698eee2c857a0221 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 677c38fb4e49cc9005562048261bda32bf7121723f9c63dc090aac2c061bcc4c0a4f280291dddf9f2e389b29d669bf2ac2420d -KO = 069f1a7c2f09dc1f110a912091b4cbf35b470605e41ac18ea91a3841a62a79231f422c19cfcd5e68ed2346ccc717da088d6d6075a9c9afb06879f34248e872de1270aab95da7 - -COUNT=27 -L = 560 -KI = 03817ad9ca242619212a6832b9f2d2bc753e2ca856a590a4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3dc124479d20c239c8563aac36c61a3a7ba46f5dc4aea880e8cc7d9eadb18b9bd522d4e3e5bbe3c7c586b98dec44c1a511585 -KO = 87fae8d98397bac71aa08941c9c98e831311cffec2c73238dfbad605929a44728e6f4f3b47cf23ff9045ef4eaaf6d93b715ccd6716e9a1d6be87bb0fab8bd839efe81d9afe0b - -COUNT=28 -L = 560 -KI = 4c1da7a5bb99755dafb252129b4daf1e45f666af52a92b45 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 993614beb5844d2f20b0db5bb55fc3886a1b1df65bfdb654c8e6c5bdcd6fa339c08904158927c45f703765f2466d85c9b9609d -KO = 80b6b21d0eca224a2187f622a0b43ff8ffc0159d7d4e0483a69f96f6e04ef7f19c0abea60c0d3a3f3c68be830d67817ae7b962579a32a972a8e5b72a946c0922a973a79cf6d5 - -COUNT=29 -L = 560 -KI = 5612ca44392f5fe01f8d07f7899a61eb6256fc742577fbfe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = db5fae868dd4c46c82710db7f06171048be9912851d3905cc89c622fc5c096e8f5aeb1c39c0a025f907ae35893e94fbcf53802 -KO = b93ed3b4f334fce8e5c23e95b0c2accd9c569f149438ef04fc02e05c63d24a525e23cbdad0ab9d39491ce1b0435edd3f0faef07caeb57647c1971b4dd0c5a47dd314e01d176b - -COUNT=30 -L = 2400 -KI = 64927d19b6401d37575f4b3c33035c9c99435212499b22fd -IVlen = 64 -IV = 90cbb88c6e9747a7 -FixedInputDataByteLen = 51 -FixedInputData = b63ea12d29cddb96eb332f41be0fdcc0b3871bb556e6ec6e5fcab0bd88415c2f261dda2b45c292603df50063ca8e16128cc6f6 -KO = 298f0104fce8ceab198ce05f634b8a0f642cd8801e8964bb29209753b10a95d52415fff26b266193680fe8edafd14a055501f4dd47443fa6fd1e4d6db0f9cfb43d99ab7b78591eda4b3e737333873161f25f86e21228cdbe19d1465723056fd0edc34ecccf7c48126ea87c04aa09d6a05299184ea741512843b284e6df23645a6240138aeb4c16dd961eacf47b8beff8a0dc11ee943ededf6357cfb242c5f72ed9157fd4866288f37ee77f4fb94ca8ef8c4debfc3a0eabee10ccce53947ce349b3845c55148ccadd61365751b5c9d1528b2a7a6379cda51e1b422d6f0546b8f67b8a859c784b379b9375da634a2ed762750326833ff10a1e4d2f8ba6a13ed5e038502637d89cc52abefb706b6a539e397a0ddb29c30383473217026bef6638b65dd32786b59afe4277ee1b17 - -COUNT=31 -L = 2400 -KI = 886ac9987e535dadc6c00d1788b9e8a08eb61c2815386515 -IVlen = 64 -IV = 67b6fb43504c60c3 -FixedInputDataByteLen = 51 -FixedInputData = 61289ac37c1b9224ca7a112172e792143d8f420562e01b20f7ceffb645c7b2eb534a44ced3ef392ee4fd21ecdf95e789f8cace -KO = f35ccb932a547968ab08130d04d54364a70d98433b8187484343deeeae3badb164857e8cf2b802117dfa2f651a1d81cdac198bf1dea73ffe7dfb3f71b098234e299f6c50661273a5ea5829e0830268ef99f2bcd0f5b1986bba877fb7b199cc03d7d4b4bb0dc6808b977b7c28cfd46972314f19f611c7eb969227358b383911538e6f2e94c271e597e8b363386217270dbfc57799c1d11569d3f1185054048849adb0c7c6107a31e9052258628da8b799b4df72b0d8490362bcea3286cc8da7f104ca98edfb0b82907dcdc1ffe5e868886d80a4d08c34c8804911d5dbcfac96787a8eed7c2516c91fa6332fcea99648e67eec9254ab8f83d230fc886bdd7475191ef27d4d06cddd0be84d8894a39e161126458d6821816ab430627f1489abfe1d76adf47fb123240ed1faf171 - -COUNT=32 -L = 2400 -KI = 9725d3ae045e3aa320ac38bc312687cbb06a1ab21b65a8f4 -IVlen = 64 -IV = 2b618d3fdff02ff5 -FixedInputDataByteLen = 51 -FixedInputData = eae93f164abfbd1eb6abcfc1a31f7873a354e38d7fcbcc2bb9de3fe3f361c3b191bd3e2e7a6374cd1c4cc9e85c06cfea460014 -KO = 3d3e5a8c654357b9a7f5a300a04612f69e8f0ad5666902f3cc9a9c2199c4c14e6188c14f2bba85731011ccf47fcfbfa132b799e676c65ae982138c93d20553036f7172058641a1ddbbd7ac61177e3ba5e02eaed558eca3f13166e96f996c1e54bcfff2c91fed4b3302ae1363a9febea7d02d2a8e1e8a27d6afe801cae2fa7523173d7d32ddfd99cc79f074afb0b0bad421a26faa46219e7bb1e332f7bf41ed4458a9523e8c793e14e5948a48f5957b51baec25b166f85660cb033f00a7a7da3caaa235b4a612b5c5349a98da4aed9a0a8127bcee5d32c2777c40b9f434815748db6eca523189bf2d9fc316bd46c9254fdf42c99097341dfa72dee66f7d8632ef0ed6ac085edb6d49d27abce269ec39b25236d7eb097aeca1cbe32a3b85f169175ecbfd54622c1a26d2e64aad - -COUNT=33 -L = 2400 -KI = d0e59200d29b46906358e6a72310ac0f1e7a571b1aedc973 -IVlen = 64 -IV = b7c2542ce19bad81 -FixedInputDataByteLen = 51 -FixedInputData = 53f138a3f1fe64cbdc3b0389c3bfb8d9c172cd707c636921978688c029e135cc7aebec95b8b3f5e542462f8ed0e00796e922aa -KO = 0829ac5a1cf3bdfb51760608acceffebeeaf04d972f83c3c7232f25970a888167468688ea23e8deb28438faad4bb1696f37d65f37647b0c2e0c8c518e9efa106c18f6e1a81baa13c344798843ad0232e7baf35e869dc74e07ce9a68cc32a023b2eb826a81d75ebd84e68877ed7c8ed5340994061513884b6f5dd6db3128d8dd0bb391ffb91c7ed14efa3af80e9ab054ef63ed9c0bc57943aab272920a4b58dceccd27572a31a56f0a2f9378e82fcf6e497506eb97bb65410000c4423e6df1bc041a50bb20c5dec3f7a724d7b04f1ffc848583abde781f5fa455c03f57ce2dac076d8e510e76669e8943ec5507227ada276b25a26ad5836f24ca6e8d86ecfdbee19fe26d6b399b17c71bba104c98a74bc6b41fc555f53e2f4407d91b05b9a598bf2c116c460909d19b894f7b6 - -COUNT=34 -L = 2400 -KI = 98c24e1243c7db8c3eeaefa0bd10ddc4e536ac3b57c527e7 -IVlen = 64 -IV = fc27ede937f4a641 -FixedInputDataByteLen = 51 -FixedInputData = f09ab1d10e4d8d670817a1f978f1399eb42e6900781dbc1ee5f4e18fe6a5419fc49afa409a359a35bd82963484e8ac06ee0e0d -KO = e275f0150459841f7590e4089ff0d28dda62409399880a8c1fe8e777f274c533c4d83d29216734ecacf849897d68da37f8d5478d1c2ad2d0e7dbb6c85d5208734df3a1829c059562c800c6978dcac67240e5269cfe051f0a056c816bdbb39df01c86e630ee9c5b4185e8c843f2716977e26862d3043aace036a82428f71ec1841cd8208778ad27fdb1d6813f3e05a62b4894b0daacf6ed36217a7e5dca1357da48b8e27afa4bde3e3c5e533a34c524ef75b84919a09b37f718de855a8c9a8082b5b1138653c0e21ac4545bff00eaaf439e66c6a47eb9524698e38a14a71ccc908b756afb79954e74f999e43a0d6eb895cb485882c25b4e2588a49a74d82e97c17d542399cf312330f75155631b2ef6611fa7eb9e112a2d9a28fc2108e6729a8cf11bdb0c044958790d546bee - -COUNT=35 -L = 2400 -KI = f359c79a6d0c6744ce1b1dfb1973ce2166694c7d74ae8c7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8ae0b523ec64ae3528ba544fc3adbe8f01b397a674cef18c781e60a896c83dfff716bbe010c888556602c4bea61e665f239d50 -KO = d557266a48938f2f872e4ed5b0f325518eac176d9bf792e4c45ba88910cd2d47675b3138417843957f5939b9223e37139bbe1dfd64458c244e572e35ebd729f022b83f2f3d77633e16b3f8844c2635849701e054a3aadad630821dc5d082de66c0696fd2b465dfff71af05f13f7a0d6182c437da242a1f7426603eb3c2e3880b54666c45793431b7926abb4ed0cb9f9c67f09494874f11557237728cf3f30e1ad6ea1bfcae9cae97977ca1764f6aac7bc9348cac36dc48e9fbee53f622747d1282e355cc7b4807909e424170233a451c5040621da2f169cdf40170359266ca42199c55cd63cc6356755c492b69fc62326eb849c2c4d6d0f33784890c049fe267406216f3f94ae3a2e996f79b50a3b9eadaa0088a02acc06ef8606c094f8f247e2089653f5e35e6dfa0d4f7cb - -COUNT=36 -L = 2400 -KI = 56a8c7b2ddbcb439cd8f9e87eae877934e2d30fd96ffe4f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5fdcc28e37ac5caa3a7904f2b049db934ba8098e05aee0ce10fc85d4cff8096dbb5cb777879c896ad3a65938ef62e04a58bc0 -KO = 45335157b2f45f0aae4aeecab397fedad4bf4d5ab7dded96516596230aec66a7a847be18b53e7af15a62d67fbf4882646ca32af6010fc2837f7bafe066f02c23adae239eff45ba533604f7aafc9ce35524bed8a6e4d8854ecb564d1204c4b90e0a71a25438052eb409744daac667599050692c3bfe4617ecd2b718f83e9b407b34980e0bea485d3f5fc808b7394a0ee02de934e9d8e1b553fb7a67052fe445029e14a8e787883225dcd00e18577d06e4dc562d9f2fc9c9463a123c534c78648e2a5e1b659f586ab640fb5075bbe93179b7fd04277c71779cf07471f9ce648c5b62419188258a26a56247d09e531a6849d4c0cbc64edfd46ff3efd671252f5965c0bc5ff58b304c6b175e4b1ab3906f50be638d5d469945834cd7f3ed673ad94d9800ed87c52ff19aaedcd0a8 - -COUNT=37 -L = 2400 -KI = 868c97f102871e4db6ca50e39370568f1357d80d05638ec9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7170564f1f2cc13b5518f2aec0ac0dfe131788c14a86fc2cf047c5e451da6575fa155745726c9ccb99a00fc5c09dfcd8daff85 -KO = 81e8a6098f72c541695bca650798486c6e46bc11701628d2c03d916ed7515bd7fe93ae3ead3eee555c45d7119853dd320bceffe23dbe6f4610a555e10437fced83657478a205803a050e39c29c7ebad83a1aacb993acb6b4feb6dc2c190e7e63a8d8d19edc9ff06806b77ea22ed60e52c1b9d620b7088419f7315fd381af133dd609138ebc378c798dab9085db52e5c901ad79b1d007b258bd402f39fbbf7e615693fd022bc655560e025b6a656e9abb79bfc4c2705f718a62e044ccd1ff591667115c591add18ea357a6a073f8e3b6b091eb170eb45ce21a5045d785af19770a1d460c645b70c2c9de48006d10b412f30994aeb55625a375bd292be891239aee565d90f6968a943616dfb763c1b1147200a5f1a011b4006d8392468915cb792bde399e68262000521cab455 - -COUNT=38 -L = 2400 -KI = 2f4dddd36b109c7ba967b74ca178e8105684319904e274fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a542466d3b787199d228344630508b3faee3e809c23ec22c04ec5909d7e70d56f5b1d3bdfb48af6735b4a8e46c3000fa0f5a7 -KO = ac4ed4707fc6ef281597547478f1cf0761c101ee822d865f9ac010bdc7630e844f7a58b110af53f96e2bca122629f9935f6f4228192469d5cb4cbfb8d4fde19f33f371cdc6ddc32aa37a7b1981e9aaf0e7a9cd1ebf957799c041338546192e99e6aaca65b280990cd25d84ba8c8faefee51c8267e31879d7f17b79110ea4865c8cfb33e886084e8c56e2d75398cc57d49a1acc46224eca9f8e7e7dc8e682d2bca426c66b8f632400852f288bc4202066213da3fdbf6db1b89c6c4d27402a348c8ec4731e6d74f6287a1f0275e3b69b07432810abe4a950d794b28c03a04466d7e5f96e1d5bdc8841410a03f7142fc5ae0fbc268e3c859fc0f964270b2bee63306e004a8589e3510022a8c7851b58b68e513fb70cc74752b9aed441543423e855e4a5de84d193e72fbb53d6dc - -COUNT=39 -L = 2400 -KI = acb522c60d9790597483f62a77161caa20752b7b1bf35ff2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c2122195bec0741ce3598e7c3d91eef8abbbc5abfb022dea87c0e30f8f4545f4e1b5036a8e84e7b6a98924e99c42e1b69ccb4 -KO = f39ebe07d7f8649e67b05189f02a8b4347249e7cfb642ff895acd391ceb5e4b853496b51aae85ce2c1810fa6faf6aebb7be8e78c859fc6341dfab339feae18b520c8e0f8c7c9b6d786941b0f1ac527cf323f0942dbcc40b810e3e1eda33392300f5d26863eb5ff4e3b60a94e0a460685ade42a22e9d390dc86703b57eb6136c01046e50d62d04cbba5c01b1b74afd0a78a6f71fc8af4ad3b263e54c13c1ddd99d2e7debfd813f62d560e0e2aa50cd7281a7db6c9cb54b4ee04bd8eb978366c56f154d508e446382e2e94042b87b5ff29aa474437845bfb8df265f8423051ab11c0cf28b9a0fdf3803f60f16fb49d792b916fa4a7c643f58d6bddff1ea1fbdc5120cb482c9be33d29baee13a59298816d88b6f89595c362f2cce3d306debd24bd159a9262ea43ddbfe1f4f9be - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = b586483e3e3eb9dfd15d44722e2b1a5fd28cd11b1cbb70fb -IVlen = 64 -IV = 39c239964849bc12 -FixedInputDataByteLen = 51 -FixedInputData = 2170f43ebc77b69aba191fbdfb8bc573bbc33b8e085faea0710f29550cd8ce9f5f7c2b414620f09201e2cfaea05901f4f85ef0 -KO = 109f03b1cb2467cc8d2043c0d8e35473d09a74602f46d57bd591cb38dd1ead7af41935ff986552174ef2ae9bbedd2938e18530f62d8c8c2913c3a24a219b5d89 - -COUNT=1 -L = 512 -KI = 3a399f77a0f1913470bc73ba18f1086d330f0cfa0d06b469 -IVlen = 64 -IV = d2e45ae3ff4a4d0f -FixedInputDataByteLen = 51 -FixedInputData = 1a4af89003794d2d797e41be30d8ff5dd84bd5229a0778a33c829fe9d3c331fa8a331f70ed263d079e4ff0d418390ef16d1651 -KO = 45d01062fd5609f43daa076a2c04a4adcf87f61dbdf522ee2c8af09d13fb9f6a08c84863b68b53ea7273409d9d9fbfacc2dae712050a51cb07bcf35370552ed7 - -COUNT=2 -L = 512 -KI = 45a43f445e5745f600e71bfd0c8dd813aee93adb3d813899 -IVlen = 64 -IV = 30ad0f72b9adbfbb -FixedInputDataByteLen = 51 -FixedInputData = 62b1b0ffb7bb05c21576112caad0f43bf8ca03dc68a804f944303606caf944d2e4be8c920bff51fc588fb30b25bfe4428b517a -KO = 5152a05d01a69ec80ee7f403325e5948754cdfa9951eadccd232b330d450b861ca8ed6b7de3c305e626ecc28ceb3b8700838049169260a0fcc7505de5df73882 - -COUNT=3 -L = 512 -KI = 62f3b1b66c7d3cf443eda9e9aee2a78dcf2c4a02adc0246a -IVlen = 64 -IV = d3f19e0a2691215c -FixedInputDataByteLen = 51 -FixedInputData = f19ea6eb97474a77934b11a13f98ecc7d13f8c7e37fc5ff9b6e21fc85afa8523082be9046459c395f88ba3ff85a49effda9c04 -KO = bf5523d41391145940032892b2032f848a151f9c19a8f6348fbee16fcbb6b7cb7e5997af4ee80af73177a7960fae26de4a693036564b0e9639a09413ce1ee718 - -COUNT=4 -L = 512 -KI = ca9548596a18fabee8a24464361693cf8ec6f0599e1d3038 -IVlen = 64 -IV = ab438efd98e19913 -FixedInputDataByteLen = 51 -FixedInputData = 35923b4643fbe0c14d533c00baf58e65af1511fb8480fb5dae66fde47ae2f1327b3bef10f6255e2f7d7ef1db3525eca2c90830 -KO = e44e6e5226671d571b5ceeb89b0010c99ac0a4ef6a665e1628da88093f7086ebbbcd07bfa6135a88dc7357750988f750b9b2ede8c7cd4e675ebaeb4fa5fe9098 - -COUNT=5 -L = 512 -KI = d8b30a387b3161a3a4e810b4c35d985779e9d9df00ef5c04 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dd69b60eb7f809dea034addab6915c4f74a4bf9904d7cf1f24a1d6f597d612021a798d8cbc6530208f6366145975da7cf42070 -KO = da1985fb79592796bb8a672c4d4e8dbabf59d984412c6bf0f0cf3bd0aa53517ffccbe88a584c274438613970590d489015fb42e7fbad27528f80ee04bb0724b8 - -COUNT=6 -L = 512 -KI = c495d58a0cedc68217efc95dfea69b8aa322a62134ff80ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 367423de08054ba6c4bbdf9f3bf3a19d64d687758059d54ff888743f7546a51f45519115986c8b45ef717982a23608788b7883 -KO = 9c9c2067c696a036de24dc9b991519c875a5b8b24d1630be207fb8eb8873849447d35ab7b058d4a0f4172f0a82e3d15e97ca0f0efcddb6866f5d094df6919a5d - -COUNT=7 -L = 512 -KI = e9e8ad4923b9b90d4c86a70d568739eeeda8117ff312628e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fcb615dfc23d88cda83f3b4026d8ac1fc1cc72de8247d977be4ff98dbc756f25ccf775a861b216d529cabe2062ac6693ea6711 -KO = 866c3a9dcf5b6e556237e62f7109b14667a711b7349628f24512410e3c3b3117c55a5d763c2cc93980b0d921571d86eafb9aded08dde4b1efa25a31f970f3694 - -COUNT=8 -L = 512 -KI = 62b99e3d9f9577477b17841e8d61ff7c4059e707b87cc2c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cbcaaf5a63ad6b7bfd8c75287c82e71084a755d1a92f6c87aabf95b60c2b8955c0c9cab2883539b98ca6120786b54992f68ee0 -KO = 616b6dd5225ca8ef56d60b1a123b9cb2ba7f0937b7d211f57456168554c52543092c5624334832f7a36f7706bf728d39b267d1c4385749f60a651a69b5d2aef2 - -COUNT=9 -L = 512 -KI = 6b09cbb6ed5d3a2836ae7b9c1c536e7d52d5ed1d49bb2b9b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4fd819f8ad22568873a5aca06726c1212be8b5a79e0e39c696479b09551f367b6359d590451062b2b9fe99ebedbfd581b968a9 -KO = 06462e649dbe259d796acd4f245b042291e585f071de2e441643f4b849b08ae97caf17eef8b14222a322e1e54919147d0aa04658ba7c7eb76c0e8f3545e1d408 - -COUNT=10 -L = 2048 -KI = 6a79ccca2be90ca5b9eafcd775065c0835142a440d591435 -IVlen = 64 -IV = d14274a8f1105ba4 -FixedInputDataByteLen = 51 -FixedInputData = bd7af1fac701711deb8690964dc9990ffda41cfa29d483bec72fd1fff0df9afa9bd27ea348c6384a7773c91fabcc6fec361aa7 -KO = bfcf38567adede5695cece77a071bc2c83d181d012c14191a982816d18441967e3e7574d4c178da90016f1c0082b2209f9c82c2326414e8aaeacd3ea8d2f567cebb4a3c7bf901c9b82f04df2a2a68cb47929f5793a0be4d7ef4e5a0eacbc4603521e62e21d83cacbc9d7610995ce121d417151e4afd384d403d8cfbf59b36095a77484eb18cec4e69a3b96a1fa9b5321c7339a2cb19d536ab9e971953dc711207356ccf392e4a95f04b5299e800a0050a0fca1056c24a4ec45ff00e9cfea91e3ebeafb3d0b67afdb1ef08393abecad77e5832f90a589d9b40996e1cccc08a4f6cef22a2c5cc667cb1541a7715e6034af8c403a466c0ea8d0356527ea115df0f2 - -COUNT=11 -L = 2048 -KI = 884e7c93d35f87bbbddaf077aa3222c16ea3a63f8b8d0015 -IVlen = 64 -IV = c1668ab61d350c8d -FixedInputDataByteLen = 51 -FixedInputData = a89606be0590058eccadc2052000187f2d427ccbac596ee148cb44f8241d4091482b0d296ccc39ef7e962c90bf98607df0a906 -KO = 6eff9f925916c7104208be9424bf3ca4b48a6559b56bf9d48c9693559ca68ac3c3c10b8be29e972fc15dda101e7bf3a1c47a9d97dc9a4920790c1d5d035ce22a7b193319a4f32f61a95c16b2ef66f315df3d214a612070a2b7be50847eeda48434043050d01d264b419fc7a919fbe640c2f5316d23075f310e33466bfdd715292c4f033b34f7c92a749903313175ba1945e5d0f07c1e72057ab1a6bbb1a4060ea2df2c8d3bc54673aa1ea84cce39af51807b68809fb427c7465cf01542bf83a5c62a7b273aa843aaa43b2e80cc7c40b2e743345c7712e774bf25ee0f43fa3f6504593a3ac536fdec549c74ff4aa3f7708e34638442f9fbd6069033dcc7aee891 - -COUNT=12 -L = 2048 -KI = 45918c931500ab93e23a2aded93cc35b278000e508443673 -IVlen = 64 -IV = c1b3c08ecd18b2a0 -FixedInputDataByteLen = 51 -FixedInputData = 61c837bcbf2746c9bf170768053496153afaadbbf5e18159411add8f128423f6ec212750fc9ef8f0d6bbd12dc63935c5f6c4b7 -KO = 524fd23ca4bd2815e1df33e700e42b83902cea8860008cb534ec44b2a12cd8950f6d813809824161db1b8e3932c70a25a956ddedc18082f1f4113d6864b231164df358f11b95c67831bcd1cf5a485249ed09783c3df4fed191f5ddd13e3a6036e44d75d1afc2453b052b9a7fa23fc71b667e9f31e55922f54d3e8d85feea6e2ca65ff336450a4d5d21c94a038eb0c332870f170d695312181d3995c1d75704e616c96ca8178e8f6f0144e9742cdd829926a836a6aaf08d0b77090da892bb1c1618ca354f7453f23eb5aae4ae90680db283a1abd38ad03ef11093747267a0012946bacc760107d15da16582e76e5b3b06cb1a428c657b3b2de4d3a057e14c42df - -COUNT=13 -L = 2048 -KI = e8a417b4a1b52e350657c41fbe6aa971bb2f9ab1f9601248 -IVlen = 64 -IV = f5cfe2e95924a1d0 -FixedInputDataByteLen = 51 -FixedInputData = 64a46ed1d2dbe86d7cc401e9f0e04e838b14e14f5c909578f07f6fe49911c293c1069df947f896467b3e81ec17f5741bb93ce2 -KO = 6fe08b4e7c85b32eb5c7917fe270337c225c1a45c629b7fed62fbae8c5c64784cd804f0bea157bf81c2f9168d27fedf5bf580c5a28f0fb5cc53f37feb18ea568dc2a3cb3b993864999c3590e31cd75a4b0dc9844868d1ec60a498a7eec91b0995673bce9f2a3a36794e392ab07902b3f195afd89810b8ebb1799e9e7c1080ee1edf5bc4c38591f6d585137ad2dbd2797ca4bc87ba0c064efcbcea9226444a61df948f696f1394bc5bce0669f1b15f13cd14b3ab4708b133ee41787781d33cfcf9fe1e3b635c3cca3cdb91c0fe3ed0d4d8cad7391f0edcb693ae10cfe80691cc887662fa04f2fa60d731591cd65c8483a1ba5ccdcf001b69f1848105c1a373c9d - -COUNT=14 -L = 2048 -KI = 73ffe07bc0e06c9cffe974fd3eb9588be10bce69605fc4c1 -IVlen = 64 -IV = ab0aa3639794c856 -FixedInputDataByteLen = 51 -FixedInputData = fa7b8f814c362a0a67e7ec5f45cf4ef67681e8925b4e43f8c8342c8a9d2715af9f21df504e112f6bb0a8f88f249c42fdb61486 -KO = 1e87df55808e8babae9941a0ac53d1a35aeb14ac51e8bdea866ce5219badd2f0aadc97e61327eed2125cf2fc0bdc49e240b793831e8f35cfff3db244c3ae6a4ede5e850eff9823a929f69e45bbc70c64984bc8e1612471aa3c5b06c4440ef09693c943b748821184e5fe55d8af8ef2c76e45caf314c14f9261879bd50cebf2c2d63cc1842f10c3422fa746036f4c76f32dfe34246b289f77acea8e3bf9e1d09c52495fd012327630fc2da46cfbbda09182dad4bac71c42e2e1e37b1ca9b5e69e75d385b7bc548b7e9bf86cd1cfed93a492b55a81885bafada83c85dbfb23a3600dbe60797bc1e9bc7956191427dcecf74689673c0ae035b3eaf4d0f268bbb7ae - -COUNT=15 -L = 2048 -KI = 7c694bb8411e26f2aec714120e277c5d9ab7bc898e7d5115 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dda43ea13527b6f087cbf09a3aadfc1f30db2c65e6317e0ff8dd9f54e589f8552b961dc5afefdf87923ad243e86337ab6ccacf -KO = 010c4754a09021c85cd4710f229d675768ba175f0f0cd5c07313b3cf74582c0299e97f94d7465c9c1dd5dad99108143d5ba3f4cf045209b13a1afb5bcefb75f038b63afb4fea7db2bf6ddad8aa5a88016866c6671eafe6ec68bb72ca0a712f9b1f6cf4a4f96383932b8a4088274987c76a41749fe2a226676735cca9b5526169e37dcdce37124fd44dd2fe3f11554b8dae1944f8cd86827be65a028d3eafd102b099fd3a95ce75fe2c5584e2811e6d018728855ca7a8d1a0ce8eb050c48647ff0a019d88bfc1c12642a84d49651dbe4d33c8f66421aea765e0cf6ed0674d2ce254028b1978d5ecf065db1f94c7a881a3059942b3216d6dc0cb41ee522b46ced9 - -COUNT=16 -L = 2048 -KI = ce875ad418d80b3c1c613c8a3ae5cc3f648fab3e1cc17fae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a405c056488210ca3995fd28f1af6e9767273237fbe92fb794ac0b34e1cb3638a303649c2bdaa4a9b559174b1a07ab15820c65 -KO = ee0ce453689c688d581bec1ee3b9dd60ab5a53444d0f45bcbf15deb523928a529ea9aaf811f275b8d912053ae1961f3a371356b8262f3f19500651004976158b27cdd38cb30b1b213be16c6dede120c000988ce3b728485155f859427a1385c7b6843bd4581bcb90e9c13ae776a8f1e28e267742da6359dc2e198862384a18f2f15aaeba67dd10fd2ee66f7aca34c0f14219fa032abcacdf32c8bc527b53961a1a6f7689cd9e94c00dd5264c3a2325384d34e1f1bc420926f2b461eadbc08fa2d1b27801820b66289e6d1ab46be316725bb2490bc0b7f6e5dc410510cbb51378e60cd925147ed4137f908b582200bfd5ef6db10f5ec88e4095527bc361ee302c - -COUNT=17 -L = 2048 -KI = 5713c2e2c1e8c2d9271a8211aa57697165dac640f7b0bee0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1e6dc8b67c500bac9c71bb02574cedb842ee566c467d1959a3b2cb3df0ed4eb5c0ca629e7a61a38a2127e45d9b5fad07a7c2a -KO = c583db4d81ae63d2020e5441ee5f092195361567f4cee2fd18ca34f4b63453352eef805d76ed631afad534556725d588d7139870b2caf3105c0d3aae703cddeffbafe66cbee97283fac44adb87f2c25877711393d224bb2e726b3171b46bc2222ba52ba8e8517417a1c21ac6b4fd9643f074f53c72a34d9c72f0d84036cc0d222e5aeadebb9bea1621188058778ad9a4f03fee98645670d10539e8f352fa4c638c9f439ff3cf534540816d70be761615f16f2c5d0698bf78f80075532c859dd9d79fdb47d69ca9742365c71c47ccce14a7f9c8511f3a589bb14c9932af06de23457a29346f5e405708feb9ce92d32416ff5f360415b9a9a7738c12e48bcc6583 - -COUNT=18 -L = 2048 -KI = c0679c2cc572e08b58a467801c68f8a598998e1202efa916 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5ccba426b288120a88aeff93a4bb061dd698f3c2df23618e42bcca530e8198e64aa6dea7672994aa4d7677f389966c60df2750 -KO = 630f7e08fb61ff6a617d9ffd85b712e02077e5cb3a1618a549393fffdad19bdd7e40e3423f23af9c1c47ea296d9fd4fe8bceb1a499a4d5ecd93f2ea9bafba457b16a6b455c70465690de7cf714fad6d6d31a47181734467d8c51720759e9f70e321ef11a82710f6454a962d04ee79602552c7bcf917d1ee84f8bc22fed428bec0a32bbbf086d637d8f726f1c15ec9728e179653d9167ad73521348c660c307d063943355a51fe0f899aab71fd069d66bcea8b1686a527a4bdcd36e2c9b102b4aaa068f090a7d3649f27f1c5b72e9b11255e66962253a732bbc69564480f5f1ea434ec36b826bb2b2254aa23744f104958221b740c5c49d62bb7d7b5c5322a336 - -COUNT=19 -L = 2048 -KI = fa8d3a5268857d177a49efbb629525f3adfc92b9227a6393 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 903464b3f602af7795cf37fb578ea8b9d49d62353e7042239c04558946187f6a9bf1d965e92014253c27d807404259bbdec8e0 -KO = 8f00ebc6706e2230b2922393c3ad31cc8609a29f471576ce043b2faa80ef8ada5acbde20b26ca7d98b7c6c1013dde0a842bc31dec9a5da327e1b754993eed43c35bc0d46f4a76d4fe86076f5e348f93125af725b99e0d5fd09458e0c11329e439d6fc0e27acfbdb2e9cb2ebc6876feada8933bad5556a39f431db61b3af02bf4ac1211045c5e3b1ccc27c09426f830ff791667368d3422dcc023a4d4065a7276aebf5c262ec8586e9ab870bcb711e2b27a39b84634eb985c394c996ac57a09310767ff3c62a80249817106088c89415ae027fae7ce25494706a3d1787b4951c5072a4e4ada563726d0c6d3ca560da074f624598bc52353bb0934cc883ba64a6f - -COUNT=20 -L = 560 -KI = 075f0888ce946d35234ab373da1da0cdd1447ba4e20795a6 -IVlen = 64 -IV = 7496d9762899d4c4 -FixedInputDataByteLen = 51 -FixedInputData = 34a20c71f53831e9d636d90c32f5c6766152243ea7a2802e7fca5ba52715d4605bc545fac9ff3227db384071461e0cb0bf7720 -KO = 9d7e94a6e41d8406313db90c97e1e0c9940f6515980ab40eb0c2e9cd7c0618f61544ee6dde2275f22d45cf6feb630cb41b27964b52f1d2dfe4f94022d27f80bbae5f18e8bb44 - -COUNT=21 -L = 560 -KI = ab749f765e967877dfdbe15a75b66224d2a02c7ea9ef4c68 -IVlen = 64 -IV = 3fd898322f7636ed -FixedInputDataByteLen = 51 -FixedInputData = fd9b46e613e985fde7a55a6020727d1823b7c78efb370bd90efbb2159eeb7719dc6f0c5b7793394d04dfe120d47a193e120d9a -KO = 69d38cbc827a749714d40e7f7dc82479278fb0ff9b2aba72062b64b98a99d307bb435cdb6fa8fb82d68f9edd380412ff109529dcf9eb8d08d14cb5055efbd560632a77c3e1bd - -COUNT=22 -L = 560 -KI = 1c0372229f914e30cc372cd41a51d1e535d3a6de1f405073 -IVlen = 64 -IV = afdcbd92ac9d1a1c -FixedInputDataByteLen = 51 -FixedInputData = 0c16bc9c8c7681ace262383c0cfeea3e0a210b299424676e6004608434fac7afc877e46dd673d2b374b70760857ec9545d432b -KO = b9dabccbf696ccbfcad571314b9c4a50fbb7233fbc85f8e566b33a363c4fa9285df3f0b4622994e7c2cabe5572c55b36bcf00191b3fe5c3970530b825424a06f124813cd09e7 - -COUNT=23 -L = 560 -KI = 2d3da92a65f138f49b26eb4c22c9c47ad30155a623f65d70 -IVlen = 64 -IV = 9c24de79132ecaac -FixedInputDataByteLen = 51 -FixedInputData = 46ab569cc63a368e1a0b4f2375764b1aa0c8d484d6fcb1aa3f5de94c3c7b0834a32c47d2c0d996b57bff8a5f07a5cfb3e90f43 -KO = 14f8d83b5aa5f89a85238528e5de862a96bbd357d16700e1d40c359bca8f3c023e7280cdbcc060707d3873bf7daf3a3fc74da52a04a1f1f31d4177b52ecd60849a62e26d83c3 - -COUNT=24 -L = 560 -KI = 4b7d9482bf3fcce3379b27f9d22ad89aa5411ad332cac15c -IVlen = 64 -IV = 58f678d72c3b2eda -FixedInputDataByteLen = 51 -FixedInputData = 938ac179fef71ae4b893c01645c8febc70f8041768dbbf54d6b291881f36c3df170341d96688dfab5bb70d9b12510c97636b76 -KO = 2d23fa4c8fb95be30ad5612b69b5b4547edb8d0f8ba6b8cf62b5196cab690fa5802c4842871ea80f77a0ee64873c858711965044f50dbe94d0d43d96eaf178bf239d70efdd7c - -COUNT=25 -L = 560 -KI = b5962298c1f60941875b623bb8d6dbd609f7dd6cb947c57a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5ac67d8e958f887e7088ac85cc7303f5fdadc6a65419cbfc5a83d50bd772ee715a22b1aa8d73570c61ea7d67d269e069ca0c8 -KO = 80095c8125e707587a96b84b182a9664bb6564d0f914296aace2f6d4af693a3426aec076111194212f2be542d93eea76942d96e3f40882ad5d5efea9258ef33e7ad494f7810d - -COUNT=26 -L = 560 -KI = 7dd1f45e6d4e7e5409fa26d8f793f484a75814403b17de07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36eb24ad73385f19a6b72248218e4ea09a61434cb29efad93371b2bb94194949aedc35463d7fcc227017d339ffbbb5811abae6 -KO = e2e9db0232f1d6543aa254da8752c16a21a65bc044383277d8129bd9606a19e87c9767aff622dcca4329974ecbe041fe302c591be949a14c0ac3b2b787397dcfe7587e3b3b1d - -COUNT=27 -L = 560 -KI = c158fb30303140e6723f4db1874d0d4743cee96f52c6ecb8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4eb9abbd49592ae71d650c12fed716cab422be9a64c5e19173d8a77ba8ffc4cd53d95984ae8d14ab63b26ce63ab7437350d365 -KO = 09d43b335513dc211e1978067ace7477683f6571348b4894038ebcb58d98adf4b2dc135a7222980f3d65aacfa88471ea2a99f528080abcd49caf3bedd9dabaad8328bacbbb49 - -COUNT=28 -L = 560 -KI = 275b5a74046ff257687b0c93fe42fcea076d9960dbfce80f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5b62b213d41e892497e83ec731ba84a6f9c973c656889da562bd4b4565879af700d981e42d81bdb6362d965aabcffa42d97009 -KO = 41311a6cf14b0fff7ce5b27ae50d790631e4c1da82447a174f98da807df335ddd98c9e180d3db5b0aa453ac171f869215fd33b7f4e1ec5307f2053e5984ed070e38a7deb24b9 - -COUNT=29 -L = 560 -KI = 0084dd64be8cbc6a5ce423444184922a55fbdd298ebb3e32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10edbc6945324c697eeb62562870607744c9ade8238fde19c4f7c60a5522661f2448e445afae1f20592924bbf593c9c9f8b858 -KO = b0dff770a687d4bd04f948227730caa429b66f22c0242741938ae2a9d2bca76defd6f6218b95f060d562a5f6e831b317e068cc4acfa36bb5823d829977dcea1ca8a97a895173 - -COUNT=30 -L = 2400 -KI = 696c2fe0ea2e1242d42f935c69076c7f86efe057852396f7 -IVlen = 64 -IV = db219cff12c8ffd6 -FixedInputDataByteLen = 51 -FixedInputData = f1841e6c5c7c7e9bc3594061659c2dbe57763f2614f4747a6679cf86517db848436f0821d01171cfbca699b19b888670e088b7 -KO = 901702f9a0a444ce316fcfbb356ac9d2f5bacc0233b8df22e2fb4a5afa1fcd1480a20243162fee47344e11cb22791130177e78b5148fb8239f02d797e11735523db02601c9b16cc17c1806d3c7c0bc0d439dbdb40927ff5fadbf8ec3e1a39399b93dbe57e4ad379798db7a1e1d2bc61211e4e3afe6bcd24ca2813df503073762a96a0d51fcd1891aaf67519b54c7b96b324f70fada01feda6857cdb720ab74159ac447213db1a1efd10322f391bf525cf5935461a8a0559826fae7b54628a5cc240c8555cafe5f23fd8f2e835d5adefd5b7c0a9d45667d76578bfcb43d34a4a9d91fb5cddbf1fe1e744dcd719e1a5d09aff337c5ec53b8d068b2a204616951cd1f4a48b4e8eb07d0e0c0efcb83f39c6930393f4ace53f8264b57e4f4adae5a5224d4ded9acda8eacb851a273 - -COUNT=31 -L = 2400 -KI = f470fc837f15ad78b272bb03689892bcfc251087e5407d89 -IVlen = 64 -IV = dc71c1a89ff0d802 -FixedInputDataByteLen = 51 -FixedInputData = d9fe7229b6d500a9e7e8051d462e1880da4065180f828d05b23a23e9cd5057e28ebdf20a2be14e3efb348fd28abc22b19d7e98 -KO = 81361bfabc4334b070b740c7913c2ee5aac5ae34287e854832f51e76f9efff8225cab84450dbc9009a5668677cdedc8a22fa03c3d726e4045745d288c6c0b007c2150bb848e1d1f0cbb2df76bffbb6a1af81721071e10dc5f70661d6ad298c2717ac2599540bdb2f8b95fb4b25598f743e2c9ddac417f781ffdf829af77d215a58d06d4bf88964d9a90cc0b96578c663ba8092fabdcdcede20047a0739b28af74cad230c6c65cab0140b50de9db03b57e30848c7b0c0fdfce672c0febe8f5a257d21ce8bfc2d70470449cd4f276202e23e436cc15c6e47b27ab32d84e390aca33be46911aece88c8e71d2ca9578e6fe4525e412da0582dcf3de7eb6c1afb7be144e19e168a4150ec3f3799664d783d8ca546ef1fc4c8f330780399d7c5cc979d74de997676642a4df77d5f45 - -COUNT=32 -L = 2400 -KI = e1d23b9354577185a2557ac7f404a162f2d556a42400a169 -IVlen = 64 -IV = 78f90d08d978ddb2 -FixedInputDataByteLen = 51 -FixedInputData = 4df87c30cf66dc8412db16ac7ed3cfbb48378a493bc46c39b41dc4042184e7a93fbd17afadf0f298c70ea4c5dddb212cb98771 -KO = 56f1db371c45676f45d87f3d8aeea762b1ce241c776bbfd625ebbd78d29522f80031c80df2c4f4f838e44ac6977771dca739a1ab3b3277d7d992ac7b53fc914532d700c38ebfde2ad428566f11501d37b4d4aa49e864c42d2ea4fef90ce20cdaadf860e55c0b2f399c204eb4e1acf2ec6161bdc9a0cc3bb7404459afe29f829f9f576970fe4c36d85cfe4acf9d5ac7bac202f92e7235e4768ca7df86117fe27765eafa4b5e1c9184193980ee57b3e494ecda4a15aef56314a636ec40a8d03b98482277439b7e06b1cf71ff6c33e643309c4571f7f3b6c029d0271d29a4f220552fe6c4318601a5d2a78cb130447c7a8bcdb15d3528dcd1fd4c62a1eeed56cf76f9a1c9b3f5196c2d58b0b20436547a1ecd2918f0cad29bd703bbcc3d45c6c6e9655f08e7c6145fba15ae455f - -COUNT=33 -L = 2400 -KI = dd4dfbae55966f233ffd52d7a72a281d771aa520df439b7e -IVlen = 64 -IV = 81bf816e0bfe949c -FixedInputDataByteLen = 51 -FixedInputData = abfdc636af6bfa64f91b8e7e8f7b297bb255bfbef518a981402451ada4812ae60de913dbe47dcda6d4289df09e154f4c8a5b51 -KO = 3e9a952e7ca5039b1f0d5e7eec8d192aa7f30612ec73dd1d0b0f40eccb214747994fb87ad1b20a75f76bcfa33f1d2f348b652d75b8bbaa6a72ccbc44b0e3d360504c9520a3476824e0644dde85c0f31d159e7342ca3d92b62cf1bfff4a8012cbbe36c6cdc1387a279e48635c35a7f9f8b6eebf7daee26d9e64781d4848377b62dfdbbeec7b95e077d591f2dceb22e3878da17e7e0690a96c840e7976106a27d7f0f2a3d8009bceca6bee83b18b78234002af6969aa60cc4c3dec1e7c1c01f7187ab1b65c0bc88b82599eb9ea0cb9fca85fec57b963434c854dbb354c944cd97ff551520085d5e9310df77d5acf19ce543d9f1e9c3b8a19edf225816541697811ecebbf3eed3bd8f422295c81c32d668164cea2ca71ed29665094b1d5c19f6f2912d92120c97a59e7be9776b6 - -COUNT=34 -L = 2400 -KI = cd6b08c76d29da1ae18ccc39b0879f0ba457865d9ccad8f1 -IVlen = 64 -IV = 2365c41a0cd15e64 -FixedInputDataByteLen = 51 -FixedInputData = ea1367862b5c77f52ffc17ead4fdade90da32878b6db0c2695ae7837c7a8043bb9fb49d07640750f52033472d08431e29a6416 -KO = a8f408a81a2a34f11669ae7cdaea31437073c48bdcc7f281ae06b84a3b14b23d174f860f5dd4d7dfad13d996502abb316e728aacc5ff3e0f076c0c92e95c6c8b77912c2d356292358af03cf42381d78f1ef667f4fc8d7775ef974bef3a21b7b1f6f10c60d498dbdcda17f5102974c8b3cba8a04b406ebcc54f1ff5e2d3a130b6972556afc7cd90432d4c88c6c8664fb2a315ecd3a153aaf6ac190e849843e9b81b9790afe3a788d5be5f986927ae13c43aebf6542409007cbf1ce018178af2091539894d507bdfd6226348c032428dc94b9f70855a701aab5e7dc30efb02edd3277c176c9fa7fa67ed6d9b7db348d3cb82e0acfbb346ab1a1b018fc2806b9a34906f9682b1813185792ae34fb5b9a12ad4a8196dcc92f589f1cbb0a115bdf1706e3ed45943e40ba2860352e8 - -COUNT=35 -L = 2400 -KI = 18b940d0635f6e26065ea49e97cff28355592171ecfa64dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9763d3f84e75bf2260ec5bb94903b622bb41602ae5a672b712768b264bc27d70a846bd35617534a5c3745b63bd52fc79e3cf51 -KO = 4857f14b50d6478c98488b7f272c2de93bd41ac9733f4408c8a5bcf664ba39c165d220c6532237c774b066280ef98664917dca72cfe251fb11cd9816a1f869dde6e99c2e477f94f2bd330a135936d9fdd06532c46807d19aa22fcd3a5682e2fc46f1b7b0f5a11e655063bf58544d5db1fdd1000a49ba67c1cf6bcc67207a7648bc02ee24c5dd789d87e84741deffea71e69e5c17d49f0dd44a4736ff316498deb485ea220a438b8e148254f14b64a41cf6eebf338519345f1833aa55109bf7d4a6ad858d101977bb7db3e35e5c11403c3eada3d08692b7fd6a652bf948b31d73d063e830c0880e7fdd56078d89f9233ff6cef1f4b7044a08857f80692c3a6d6a620ca96691f0143fe8859dd1098eb05f69587c9f359a770c20b3a643199c17a0266e37d3b50ca11467230d82 - -COUNT=36 -L = 2400 -KI = 21324bb08bfcc9366cfb97c1d7f1e692e0d239b35a258d3b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 575218a4ded32e3249f9bf944fffa13ebf5e3fbf26c7da1e6b4e55a5f81580deb179cf2c0158f57685de3e7d1e9164eeda6899 -KO = e78728734a0162ca02747e75d6cc7fe86d8a28c87e4de5b9ecb4d69a1bd0ff9c041aca6eff4b42381d7ed80d83734fa018dbfadea99093e701aba0ff8c079c8c2778bd6ceeabdf96950ca07756ffc5031d6e69c8b829893bb65a4c1e0b8a8de5ed3ae3d14b722cf5ba00256832971905f79119e6379d9c3936d6f70e24376008efa1a9c5f7dbf932897497510b7fb5b79b2e8eb569ac4417c0e269f1471c5d7b4c530a31f1a550e8d44f9bdf5dba1c78e046b1baf6a2d47f284d58baedfd7866155aba4fc74cb164da4a4f6bbe505026dd7a0101352840c855c73f3ab607a11e52316cba008894f20a6ddea8b92421a0c535912255bbacfbba18807efdfae8a3f6fe726aabca4674fdf5bd16e907583b33342343116f36160b149b31714c302443da27341b7f10a41e51cbcf - -COUNT=37 -L = 2400 -KI = cffd2130fad2cd7ac65f66a93c9bfecda6a7a5801be6bce5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a35aeeea99f2584df361b600661a526fcd94e94bc4f3e8e1559b02cd86e0f5b223d2dd0b59d071273c605417e78b8a001d7c9 -KO = 569c1ae1f85b854cf5d4baea66170c139437a53a3234d530f7d31825fe58fd240a7b86bd2e5219d3e69d614f323ac304bd1c95f16fa206a7abddbb862bb58c3325983b0ca5ecf184e8aa97c946d0732577daf2e155e3ee9b3cbb501280878e457ea2be6678e03f0a4504f6f4276a138888912f67931a3cfa19b2873ffbb32ba71677842bd5f9fba805619c4d08c2d2bfca40d4047d04d4a8accc3592ba791fa034dfcfb4062595ef7a31a142d9a8bf958d847fad4553856d989a5a1cb92bfda40844016bef0ea76e4c783b697b8cbc1e7d2a62c0e259b104694774620e7aa7a00dd53352b434871d551f3a01208a63ae911326faba4d69fb36bc2a33f513fe67a5ef0b35151edee1e0a52e0db482b4b4c6b2a617d497c1ec9412752a9c3c0545ab241d62e32c450162d4d3c4 - -COUNT=38 -L = 2400 -KI = bd77f09891c9b8c0f4ecda0b2e022e1692acf3f03bbcb8a6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4f46c6e309aa0fcc417be6b8ccd42bd923799676c96615daed16ee1cd673e05337bbac8342357b84678a1222fce39ac96293c1 -KO = a0f3d474dec59847bf3740456e9a7a6787c463a57a981ff89ddda12a47507286eb80af95e5927f1003e9cdea71ed55386d444f596beb09588cb49f7dc9358036363be80d81c745fe8b188f3533229c9dc897714acb3cd8a6f7a3abc14a6f60903d73c788c9c00cda9df60b272042c2bc5a9b9bd2ffe74853023e09fe07651673dd1f0f4512b8ca3857709d6995e5ef098491cab1b31c0292e7dd10b70b9a72e93f942e9ae88c9d0fcff24f30eba9799f7fbfb6b63912ce14c82ffda8ffab2da9f60ec0fedb774fd2169c07d53b0ae4dbd359cc9005a2e9330e096763a0193526a1d646f323cb035b5acac82fee54a3e6e59ee7396a4ab2a5e7f19e022139adeb8701d61b0b20cc4801acaaad93a5710f605787677b6e738a5546b65d0aa3611fe7dd9bda3c73a09706a7c6fe - -COUNT=39 -L = 2400 -KI = 0de9dd7ed050b42ce4040510ba8371b7cd44f0c224d461d5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cfbb6a04e9e3abf75a16da4051631d423f06dfcfd405fb2bfe7ecb62107a9d4151c3429ce5da37c0271fbcf5c245d6c8dc7fd1 -KO = 0fd1a8bd7070661530f3499a4b5ce535cb0ef88c014ab1135d5574ec64407e3fab0ae11fb89304bb32868500aca7bae597ef00bfc1bc135da934986dd1273c321acf7bd83705b599eb96096e4692771ec5776898efc645365bd93fca7406a069c070fb8cb2e3a50aff6eed3f20168e76858a27e9f4348b6d7a4a642f301ff595a4c7d15e2f7a7089773bb6820d197175e75aa4b5b983c8e09ea58445d7456823ccf6a39246a69b432d730663467fd75b4489531647d5791a7b91fd4f5f28ada8cd936e9af32cebb33b37dd18cfbadc4dc0284a500547ed645b026a07ae7d47b6f799607f3ef618a67f74d873ee6f285f52607bd01451e120e684eeb8b2f774e9e264999c621e46074f03431bdcf3d3427551adaec6c6fc52ebe80183e8d7dd5093084952dbcb71552a341825 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 01ad2384fa571bb5034d76fa47e4ce6124b61ecddbbb8b84 -IVlen = 64 -IV = c7d2aedfcb1df3c3 -FixedInputDataByteLen = 51 -FixedInputData = 76b64447d5eeb8804a89a196910090d978831334dbd02d7498bf036c9c5b2cf02ae2752f8160ef024401972fd2ac24b3fc0598 -KO = de949ff2c3be60e9106bb0dfbe116aff2ad887f1adf1b9256eb839da92587eb402a4c67bdb8b0373993b5c6b58b930e4a8eeecc32f7d9a9ecfba1ac33becfec5 - -COUNT=1 -L = 512 -KI = 87b527f82f7b52cdaeb986639f9ccaf6f2ab89af02e68ab9 -IVlen = 64 -IV = 3276cb6bbcb9e04c -FixedInputDataByteLen = 51 -FixedInputData = 84c4428c003f532dfda7a9c2e3657d74ae7692569119f861e5b21d113d4216cfd972f3f64ef9b3f1dea35dfe622b274a7f5148 -KO = 7cc99874d65d5f8de78321007770b6ab393d037e64289b687e511a0997727e5df3178f43b79f8519f506aab999843fcf80e84b9d684d0e87aca51fbf55177aff - -COUNT=2 -L = 512 -KI = 5c0c5653346e7dbabd04ad9f46c9dc4a737e635b5edc7193 -IVlen = 64 -IV = da61ae77ae57a05c -FixedInputDataByteLen = 51 -FixedInputData = c9ebfe1772386474928caed4ed209bddfaea4fd013fa5e019d82408ea994ea4977f86857f2db05cadd999a05a7dcddc834b6fe -KO = e6aec8b249f22d8b8e77fb86a520ebd75ed533de2db21ba8136960a9055c49e5671896d44ef9c18f95551794e2b2c97a87e5b32e0cd262f8e7c913f55f3dd1bb - -COUNT=3 -L = 512 -KI = 9ac66ad08d1cc46ce6bb695cacf544c92a033599f6f54ca9 -IVlen = 64 -IV = 3245725dce282d96 -FixedInputDataByteLen = 51 -FixedInputData = 882a456f805cacf54b204aa89bbb0e3310e4592ac93e1a1f70474317b1319b0f6113e2386ebd2c280c405d5701faaa77fe746c -KO = 41d5807d716edf1ca51d4ccb492e24b1ac13873fac1d6324a967ea1f9da8a4dca7591763c9f4c98e48a4907fc9724288194ac7092edbe32a54f9e8c96cbaeaa6 - -COUNT=4 -L = 512 -KI = bc90631469eafdbd37398b3f7d54be16521e2d16d0257e11 -IVlen = 64 -IV = ba149acbfed69f60 -FixedInputDataByteLen = 51 -FixedInputData = 77473e2f29df423927805935af958a10ae710e7d41b4e00780b320876111a9262be3563a9e785257500158a051d2e43ca406bc -KO = 33eb2c4286ff9b6901d47e0be4f17899bc460026c614c48e2fd12de52d383c85e020ad685272367a288cc505d0f6ac255ddbad5216b051061d5d737e13bc45f3 - -COUNT=5 -L = 512 -KI = 87f3d95411c97e4d639e5c5e74bf10fe65518d44833fff69 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a129b13853f8f1214464986eea0462ee15603cd8005c027f39028bc63f00dfb08642c3cc8889c57b9294d839de358c018a7c4 -KO = aca7efbfc23e2f88bbfda800f5cdad24c4e4ca82cd706cab76eb8e4836272f1fff47703a41a63709ac12db1dc0f1b876f90fd84fdb64f780994ecc7a4993d4e6 - -COUNT=6 -L = 512 -KI = c217ed83b80e448da0640a399ee2d6f3c3623077a743bf65 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 379e8326397e17874757f26f609f332c6e2e11b669162a743fc2feccd58fd0b0a3bd8b6944f4f1640a890e923842ec8cb940cf -KO = 5c396dd4b7d21ecd031cd4f981afd4e27e9162bbf183c11f45e15a6086935420e1326ee6f2ce42a34383f929329f8cd6de40e901c3b9de59dcadda2cfbec9f47 - -COUNT=7 -L = 512 -KI = 559c7f934874047431671e5a6bb4b0409dcdc7423e723b03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29a4336083c046ef09b0341ad07d9a56529df37ca66a067d0aedf93225606309f9fe04ddc411cc228e54065daf1f14b4c24086 -KO = abbd0f7291d0a5f1aa7b7c342578da936f98be40efeb55928d75ecb9593d0f2fead42dbb90b940bbba14630b7b261f8e9bcf9cc83aca735c634148ca5a29a2bd - -COUNT=8 -L = 512 -KI = 4d738e5e309c0b6119b03385116a73667c2a621682f0e2a6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c6ae774e1fca48a941bacf717dec370600d54b674216b58780cd512dda5f26fc1d9defca1465baba187647620d63dfec40583 -KO = 1fce43d399705670ccb6a2bebee9e3fcfaff7a1e21903fbd5e0f7730e5d64da587915a6ca8ae90cc7a3b9e97365eab0f5dd42873da84a923daee36617fcc98d8 - -COUNT=9 -L = 512 -KI = 8cb8d84e06c5d3bb4eaf1e6d7ec56cb3e51b5f1d1c31cb1d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b59073a6c93b35671d60591b82595b3bbe2ebf03d12ad83ba41236d9948c4b30ea83e56e2a1a3cce645d0451e2e2f7eef7a72f -KO = 4e19805f50125c865b202d52033de5ffd6c1540e01987fe820fb16c18f1f66d3c1f2d56a53feb0df0ed7219d917c897c2ac65cb3db2e2eef078af71f5cc82b4e - -COUNT=10 -L = 2048 -KI = 9d8e02af3ba50e18a7689ef3e75763c5447d8aa1681a9aec -IVlen = 64 -IV = bb34bccd84b58a5f -FixedInputDataByteLen = 51 -FixedInputData = 5f4b7b65e13ce5ec2b0dfad87a933fd385171c9564bce69e51e4d3b6ec6f151f5cc59f08a3848f049b07dcb3bf2a54ade50084 -KO = 4c46ee3bf03342ad69761221970e450e375dfb284f730da7094f71b704f7de8994bb858f1f08d865fbc0ad8a42b46a73539d9017b156c9086562fc5d3cd35662410222187fc5ed77e2d01e511ed04b16771de8a31ec5c5ee6c1ebb168f101292660ed342a525f1e60552a9372d05f6ce636780bb9954d66285846d4d14ee95e5e22ad60d434d4b3f179393ccffd87121c432cfe1334c85a8d9e266484b348035ec530be9e4c6fe13b705074bec4876bced5164ac03e5ec67e5e32726956cf3af7c978a11bc8a1cdaccbda37c04ebd2aba210c7e4989240202b6add839f3413548b204b0e99c0150b93a0f4e50c4fc53eeebe96a82e910b995532f9b3b8712960 - -COUNT=11 -L = 2048 -KI = 911573b275f313312496573da3269481388d8b220d7a27bb -IVlen = 64 -IV = 7678d9e9f92d4295 -FixedInputDataByteLen = 51 -FixedInputData = 4926c24fa38c6c27b848dbc0c90d0e5c80bbe90e043ab969c6c035ee0b9538b36b35ad1260fc0b32ee02886d77160fa606a304 -KO = 5420af531f44eb67096489eae7e8ea90276425460f1b1c668d69d0d037e49c0c20d766daf2e505d767b7b77566b26459433271cbd0500ed8a59c229cddbc51e5a3cf2525dcaf0f4f66365854d41a1d9bf349685f1f5f148eb235698275d6496b6b580d307e118d86b646ecb596c6c31032606cf0a06a2175e79e313c5aae5a1d0faff10c27c046311b4c1847adfa3fffdf0875002d0ee79004ac9f49ef676ed0190ee6fc882e88d3d57ab8697710d7d2fdc8daf2d3fce19df743fa58a1463f140a2282c7f0ae875d7f81f3550a16dad76684eb562dced143ca941a2e50ab56d2164a694b8efbfb2e9bd3abc49d84f538668cc31ec7ff501dd973e2f2e8b5f5c8 - -COUNT=12 -L = 2048 -KI = d0c261fe4a0a337f78d2d98174b35fb8d324dc12181957c7 -IVlen = 64 -IV = 67c51f9d5e5040ad -FixedInputDataByteLen = 51 -FixedInputData = 4ef1b199b4854fe97919a8a5a021785b4f2b4639f34c7d62c78067036d70a755e94fa20c4bfd8f9c266154188ce2478ede1209 -KO = 5e896ab8943a17fff52d9b7f6426309660f023ad41ad104f64220d97d0c0b6964afc7dd0c820e1a848e210aae64b5113ae923f262a01245285b2e4583f31732f47aa317c996377514893b61d4c2803ecd741267c04775127db090d3d518e80d5c2f3005561116a751cb6aedf540da2ea82e11d29b2195caadfa480de57a1c0d20815c96bac4dc9e4160891d6b5b5182297377204def946a9502e2e779d25d3c509592998d2c7de075222a1e97b589f8e8580c71baf7c13649728dd0945c74bc09de19a0bcd1b2a1d74573bf3a4d07a009b26811325d52ae8e45c3f62bf0c0269e748d39661779ad5d1817f5bd933e5e98479dc3a577feb16c69b7c50e3ab51c1 - -COUNT=13 -L = 2048 -KI = d277d12869540f149c7e6021e572909152e2389a7347a268 -IVlen = 64 -IV = 982cd4268115b603 -FixedInputDataByteLen = 51 -FixedInputData = 7377c3fa02727805499e689cf7c8a99be48b8f457743e4c0770c6225ec5d199abd6a23d75eca339c26710663722391fc732be6 -KO = da362bb69f8ad4d2cf6b62b6f39c6c907b1a6058848baa9b022326b875f781a4065e1decd203c4754fe0c582178c2763b97bcf0b745535149039b72110c0498a8957fbfd74bf7f36d85eb6e1594b83cd64faf86717015aa22353cea60ff6e4cbe3989d98ec2f8578eac7833e1ffdbc220f038cd59611202af4c7391e77eef1a0678e06a5b161202069781d9cb51c4ba70b4db9b86a6463c9fe5068964f913591255c67019588fe98a505e6fb2b73e47d9c86a45e7e5fc6c6e472c097a6968a1bfeba98b326fb56719b03dff54b4d7f2b4ff575ecaedf78f4f691d1e810be4dc68f565f9e433cf6af6791d54cb39144445d303c12d2f3e6b1abd9600dfaa9db24 - -COUNT=14 -L = 2048 -KI = a8238d2109774ccc18a3b98f7716d34395340c8d15e4719c -IVlen = 64 -IV = ed2bfe77431bb3a6 -FixedInputDataByteLen = 51 -FixedInputData = d248d8ec2bb605a883442e0b226a8d09c7f2ef96b27504550a2abea57c942664b16c493b3b94c2aea22b67670ec544a4174d3b -KO = 8dc9c3ab56f5d88d537e4dd5067068cff20192e8f673fd5fcf86be04d8dc29609f340d80e1a5b13c7722467846d0b345ad3005a5ddde60b6d8ffddb378786290cd949ace210047c3f5b09f2808c920807ccdd6fe51faf8435532176c8da51591b1c74076c6fa2da4fff21d91235af49b81a501aa458bc73dca39eceac022379396bedfa4f2709e471d370988e89eec4dd1a7b7ed0d1670d14a8fd8a948bd4ff7d4f2f0569f1b4510d41d68f0b0c98775dc5c79ca45b71fb6ea7ddd1963360a4ab71223d3cbe76a55f6396cf75b436c9988a7c2a6fc3955c782f6e4592570f3b6a6b8a1f8e1f21e3ce6813b5f96e33d4de1a508bfda8b8dfebc7b07bb477e57c4 - -COUNT=15 -L = 2048 -KI = 09a0ed92fa25ef6f0d80c5249b337875439dc2a62ad3bdc9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 63a798b592c81c93601fd443cfdbdf76ee3f1ad254ac9364b0230125b1a9c9acaa2b7b83ab05acf007947739e1db9cf692f269 -KO = ccfec14d3966ad115ce9241db96f766130f47b0afa71632209229fc8e8aa4fc36c4f005128081d6fecde549480259f2848a911618797154fea37fbb42a27024b235f2efe4ee462e3ac776ec80046761d577ff425b3103b0c8e6ec679577a486e0aad4bf85fb07050043b0cc0a387792c27c852dd4b15431993a1d951caa130981c84b5c087c19e806dea0f5086f5157edc3e94b7d82230d0e3a2e6a75305c9e4faec2516852fd9ccb3eeb3431869e32ab07fcd75444e0707caa95a090fb69c88ff5d27badae6243ee9a3a4813812b010b292033c83023e6693811d5512c7fb143ac6b0e4246a1cac6ae3b7d8a4929b2301a4383986ae4215aa717416b27f7c51 - -COUNT=16 -L = 2048 -KI = 77b7728f17ba9726e2b7530c33ee30dad76ceb39860d3cb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9582374968d8123f89a0af9de852131063c3dfe1fc80b53900ba7709db700774a96599546a9f09a2ed26f6d8c2522ac2d9f72 -KO = 088e65046552325f4bd295ac946fda97c408e588f2c1e85456a2c4de004cb7f89e973b430ff221d801c296675580f10467cb1be33c32a34349466ffa9a7c7e95f8da75bf4f4b2457e1220a6b4138e08b08732cbd90c05f7e352e3b31a4095153777fb305dedc4d5495c87ca82b4c753ffa318ffbb7d725d23f3251c82e54da5be21d0bb6068a859866b372d27895dcc449f7d45a3326c98f8c0bccdc2dafb106e9d2f7fe1621e71a186c8994764b9fff01091bd705530ac07a208f60ed67b233d15678f2451a0e125b928f51b4ca0467bbf1fa984e9a1cedc3b1ce6af41115b17650b979124a2d52e027760081ca6f8c841c0d005b1782bc2ed624e2e1ba39c9 - -COUNT=17 -L = 2048 -KI = 49d72e30bcb05687fa3259bbc404fb028eaf0f3a52ecb56c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 457ad3e3e4b03de84e6b3c2a24f7a78cae5b4db3fbfc6da94e25104c3dfddf34f68801e1d1701cf8f6328c0a6f4a98f5a44569 -KO = 0689577cbb91c7c2f1677573c0ab14b2369cab65c9803628a55f71fcdd5a9f7def8ce27cc0a80401a94db2412ef7735a28491802b1929b85f1dedc971ba2423ff575260391b741972637841c2cd250e153a5e2cf6d7daee2152d4a5e526ea7d4115d342e80bb8a20164c6bd4df74aee286c815237137d90d6c9fa6850e035e55d17d53b8e0f37845fd21d3329d85c5b286c047e761eebf4910b9956ed589ac68661268138a1450fb22acbcc6be0dd1e60c9c73a2341ee69435d01e805e48c4000c80d4afd32d159c5d8842ad89840fa1a013452b3a3d90a34c2c8a13ede42c420f1743865c05185f7fe2d15a33b778a6677f01b320dac3a4f061c37ede5bfd7a - -COUNT=18 -L = 2048 -KI = 63ac7090dcbbfb990822f0bf16bd9f65b3c0cd6b4ade3a73 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 526021a4a0b031e44ffc48e1edeb765f1fb85060faf49686c9e6456efb6142890fa2d82040655b3fe31b3e904bd743991918d6 -KO = 2572803fe1fceb21cf59042890083c1bf808bae9bfb255a0f71c7c5731f0b559c20b3fabb598856182c4d5638e0a141f9a9c6e868b223e7d2c4c51a676b3a54e950d4cd5e51573a31f39d3ace90a746d1314e90a2fcef0be7d303679cff84786b61d4d8d6981c0cf78fb370747e73b89f2cb5e1be8e863f2066f794b80b99849cf7b4e75d5a0cec4dcdae777458090e88eda655533afcdf7677b4904fc83fbb82790fd406910704cd49a3e6ede2effb8202eb16e7cfa891a457ff4978f1c9de629e835f40a3f0c1d08013459897c57bbe3c6cb2d4fea4a22f825fa227edcacf5e09d5c188ffbb7513398e4a8a4d99312144b3678f60af370858d65f8795f0f41 - -COUNT=19 -L = 2048 -KI = 8622e23fa268049a41a6ab2fdf21f0640cf33370f89d4f08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3896dce1c8d00b4558ceac9f4f5304e8f15471da8c793fcd2f6b0abcf4cbedd0b801060b69687135d41a058e6ac26b5a6e56a4 -KO = e722a2d6b645fa8c065b5fc943473269191d55a87db872497841be72e106967560b57a1619fd272a269514401d05e3211b68865ba6456a9a8406eb8a8aa0fdf298b4d29b35d6eacc4a3a94ad467ad048be849431aedffab86ac5f651431313ce512bfea48811136213cfb667232f06bcd02daccbd89f80b106b3851da162327dc9dae5625d4e7a36db2c2270808db7a727fd3d94e43a3e9752770d8b779e855badc15d152bd106e1dbaaeb8e52246c89491e8bb9b0c984ffd2775ccb1ed2a5df04803d372ce68743fc54ea3e95aaa13103b916642fa671d20d9487156ef129cd2875bfcc137fb4e133d6cefbd07993c18b687a5189c94e23a2d5550fe35bb483 - -COUNT=20 -L = 560 -KI = a695343dd67021f20282d5bb8e8bf7ddb831835dba167923 -IVlen = 64 -IV = 175bdf36fda17368 -FixedInputDataByteLen = 51 -FixedInputData = 3d1446f8a92c5edd063c4456993809a41a9920320b7b769c11488c4ec9a9776299d2172de7d01a2a21260dc159e02459e41167 -KO = d9d71ea018fbf9cb2cae62228169324fa19d39702be150fc35fb3563cbf89108871bac9cbc006d95cf1d1239a6f689adf2c542740c199cd74c357083f7c93e1f8b4cfa7ab10c - -COUNT=21 -L = 560 -KI = f4ee3e312561696eb5c7a79bddfef313a7d8ac6f13808e0e -IVlen = 64 -IV = ad3ca8638fbd55dd -FixedInputDataByteLen = 51 -FixedInputData = 8187d3fe2baadd0c42c42490002569211cac2709ed0e9241ec1079c8b7699c444ab20969e14e0c69807da7ba3cfc65f5d06757 -KO = d876eaf2b2b12ff84f5531287c51c2c869da9881ebb93052dc52d09ad6114700ccec64b31537fdb3fd00ac538385d14b203dc58469c43323bcc2653381b23bc9ce4e4d5b6e50 - -COUNT=22 -L = 560 -KI = c8cf53f8bfed28ac27a0c70e3742c20a27832d7c3462f1f8 -IVlen = 64 -IV = 9cb7b0fef2bb88f8 -FixedInputDataByteLen = 51 -FixedInputData = 15152662c07ddffb31fcbdeb458b6131f00561ace8e538ddad4a3a8b276fd5b291bc94bd88abc5ef8260b83142b8865c64a5f8 -KO = 00417917641026c852a67d36b2986452fec3fca0aaa7d50724c08cfb7ee77b6fcbf8e1f9968de86f8a472a25734db3300f7c8ece3152b3ec70ed085ff7767101b2ed4b31dab8 - -COUNT=23 -L = 560 -KI = 1f396df0e7d210b3a5d656f39b67072e22bf808ceac70fb9 -IVlen = 64 -IV = 0ce1704cf9f5eb3d -FixedInputDataByteLen = 51 -FixedInputData = ea7b7af8193feb5bd433b8559ffae87eb73f4c11b01ff00124487c86b7a9762d9a13ca5a6158870edfcb794e281878906a2154 -KO = 215675899b3807483a6744ac345748cc7359e51acd66867dcf1742e567047bc9641f5dcba0f10ec3ec04444da69523312fb4740d94c0cb71fe5c7158e9359946d9c89e008a5b - -COUNT=24 -L = 560 -KI = 397a2c9c16d266db1cc6b86c7d9242ec472857b00999e87b -IVlen = 64 -IV = 6428db678d1476b5 -FixedInputDataByteLen = 51 -FixedInputData = 21ef519960e9544dc04cc62d180655eb29b09921f494b183a5c206b67676d54f9c609b20521b2e96a9c19c06b89c315ccbea4e -KO = 44831fd21c1ac16636170dbf544acf8e6e50893fff4cdabc2a98a4b1aa15096ee602c3bf89e73b761bde060ccfe237d76402913f36287d23d3ddd11105c50afb0d7af461dfe2 - -COUNT=25 -L = 560 -KI = fca66db3142ddca361298dd0f5f8c3130a9b650608664451 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 03f3df4604b0de308d04aa8f18fa155510b3bf25cb884d2c27149b4d47ffc0f83b451c416a6966d3f3f99ce4ece72ad4770be2 -KO = c9b05bf84ea615c3ad59862d9d024760bcc96941ac55020bdf7cd1b00634e369cb48475a034a52edc436ca1acdb6d2e8e10c0a73b972e2412bbe2c9cd8e0e7aee627213de6e6 - -COUNT=26 -L = 560 -KI = 342ae22d37fa57dbce37e16b2f7c965f16b3424f2fdabdc0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 766eda427e1a13e977047489ef2d61ac8e974706b990a5269af5ecd3c6596027994384c48c3090b63f621d638ab1aa2f470ed9 -KO = 9bf90433d6127c8a1224d8f1745e61360b2e51ea4bbb8752e11af69a76c9adbd70fc8f99338795a1654ede95524ed05f61293faf0e5afe276ba7a6a7d3be70c43460425f9bcb - -COUNT=27 -L = 560 -KI = 6cf4db3b44b73304e2317e20ae6e28c89890b1916ac078f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41fbb5213c6ae7b497bace036f660ca9e155b198046113f31622cc6dbd3695593e11c3c43f02bb999517810fd8d9a1536c67bf -KO = d90695e24f53f3b2dd6a36741be4a6f002db61c6135b2f958c40b9cf2c0769840f7867d903be10694cf32437fb69bed947e786f20c3263643a6681dab999d14a903c4ab40b0a - -COUNT=28 -L = 560 -KI = aa7e583158461cb71a9a1804cd4bed311a23cb415971bb3a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c16e7a484aca4c2fe6371a659814ce5d0c3dafed11daaf23bd76468396736e7314be63a35c79a5282dcabfce90d9f1774c628 -KO = adbd76f00c7012d671f847ae24f712e2e097ff7046b9796030d4c279460178e53290860a8e039f690433a95f754bdc0026e14c0b9c22c42d93016350ac3c52f07c923e989c1f - -COUNT=29 -L = 560 -KI = ae6e56d902ae77478f4d0943d925ce1cb9816ffac968969d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9992e0ae68b1e60caff4c0e0bad677d3e59bff70dbaad922c291d2935dfc891fd9d570364a92f5ebd8d1df127790d1b6c39d9d -KO = 5ba241ea4368bce9dc7a2a9f545a389d7caf6910baeb10d5896a7319a1f2653c7ea79a8a0ad56cbe94e14bfa5036322a3c386622b57ae7b43a5d11f4a6b3603430324eaa577c - -COUNT=30 -L = 2400 -KI = f4a12e8039af22a852b7552daf70684bf01c7044578cc94c -IVlen = 64 -IV = 2d74d2befa072da5 -FixedInputDataByteLen = 51 -FixedInputData = f2b05b759cc68a219e6bf0c4526daf4019ba73d9a3c2b738b3ce83bb1655a3736904ebee359738ea043c9f6a0be8afbae84529 -KO = 4dc5cd9423ffcb003341881aedc1977ce65d26b7dc6e84d3cd1fdf2bf406c2c04087a792281fe68f1f808cfa750407962343b02cb2e0fba10daed81453bf29f48f62274f192c3a04bb041599ba3b4232fa7ce5361070955fb6717917c5bfdd1fa5ff83091f1a9a7368f852bf5a9ce35b855404cfca48699611b95a8828709e2bb77d3ab6c4924cd773f24793dc71a69cda90645a6cbcf0182942917ab80db185bc38950e03b01d8197a5e1af74ff353a7e51dc3a535332d1e147f540804ce94fe408b28b2844667f257145c9547f0634d9ced361f6bcca6b72ea1f9e26696c46dedf62dca7dbace592fead13d44783bbcb5fd18e2abaf44c77c52a0ed3a9d743dae65f92909aa15a932b9ba5b026d8c10b27727c689242cefaa70c1f0b27856907250e72ddea6916f53f3714 - -COUNT=31 -L = 2400 -KI = bbf04c036da87295b5c58e22f7189919090570018112c115 -IVlen = 64 -IV = fcdc9e9350d4202a -FixedInputDataByteLen = 51 -FixedInputData = 8f0b991e7238f7772a070d43f32db47fc5c0be733cb8c3656eadbf99ca8bb8fa1ce4807df40af5aedf1872906e1aff2a71a2e5 -KO = cb00b89907b53a8bb5864f39b2096ba2c2f91bb6059c18a169a12500e8e84b7599831c2897b92cd9070b36fba3dd72230e95c35cafade8ce558a93de45788c455a76c792fcf7b4a1d96791cf8eff17b0b4e6bb530fb2cef8c8794c7f8bd25b77037d1a6f6d8929dd7397ec24736827e7c31e51731ec7b3501fb215b2dbea7eb0f95294aa9b45be37ef2737a6b843a43be82d63bc2c956d4a46f55febf545246cae5cd021f5378462b8586969828e57c928adaff1ac422705c0bef776cd33c507f2e862a8d1629c49a3cb25ae17142a4353c76093d7d35060854b22898d9ebe7a3af5b5e0cfc22844263af03c6459341a1e9d9d0ed284717f06c2d1ccbe0cc6703f28aea75e0298e19f0236951b234caf6ce1e7bd1812b01216109aede96df5775cefbfd2d998337c55c277f8 - -COUNT=32 -L = 2400 -KI = 66c5e0d866c0adc7cd3b86775156b1bd7e269d67b4191f36 -IVlen = 64 -IV = e8fb2e6a23c2a107 -FixedInputDataByteLen = 51 -FixedInputData = 7d8fe365a0ecd01c39b52e484dd494a5d9bc895d70ddb041f5d31d1e09a625e3d97d256603ef67e4192aed609d82d08de10309 -KO = 804f33805d2a001d447dafbc4d838cfcba591e4a31b3ce306f7d6187cc8b7520a6b59aa07e9365b4b5ea588357255dee770cfa0efb652b7ca7f4c775d04ace9de431395dab450ab54515ac6a8d780f5b5aa249ca986f16febd721a9c2f4e4987a57d6ffc50dd3856ba8106292c08cb90ad7b7aa0c16494bb02a333a4fe4054744c234bb571f284714fe78dba32918cdc08ed3aa7e1b34d2c7dcc4c4b683dc702ad01c19974ed0624e12677d258892eddf3a062b20ac18def0791a11de6176c667106bcafc1482e31f3c05cf9429906a9e3823a8b9596d75d198867e670181d1bbe309f217e91e8859209553498c2d4e56aa4b3d2ee3823bf84d4f8d0ef52ce3c1049cbf1f01ff3cbdf4b20fc89420c40290cbb105421ee2f67ebea330db486c20175a890891ed2bba6963b94 - -COUNT=33 -L = 2400 -KI = 4ffa412dfa665134f3e2a7ecd1c761ca8964853ebbec555b -IVlen = 64 -IV = 6391dfa5fffd8b39 -FixedInputDataByteLen = 51 -FixedInputData = 02c7ad47e3e8c682a2d27504f1e5bfc223a45a970b240699c78c2fd97f0b2a58473c8059e338246e999e0c23daec5ebc54905f -KO = bdab524bae97edcec1f2d7cac52efd0cf17648f615648f15d91904c4e3472ec808d7b718db3149e54b9b0eeb3b3c561717f599264a2047d67f16cd508ee695dc7e882a262bd522b2e1d94d357e967fc533dd66abac9a7771b3fbac145d5eb4f3f40f8e31d6e11c46f43fe8c19f812acff752dde39d38bf2be1666fa93344c9f0620f3e7b77ef2e532175dccf76a60c649d8343cec7af38de7fccc14c08dd24a924ef74b8ab68f07ae5a8a12e1a70c468ae22cbf66afea94fa059acd4e1fa6ea7da57b51b277a55fc7e315c967eb4db9b019ab0f82ec986ff63a9dc74fe911ce19fec53c38eb515442611ecc0ecfd2aa6eceae89ae4ac24b15219795d93142041e6c23a365584f9a846b2c2e8f2d9eaaa3d5fc63f881cda44d56f674ab0b17ab2c10aad393a1aa74532442581 - -COUNT=34 -L = 2400 -KI = caa97542482b70ad9079021436cd17d02a5914ba86ebf5c4 -IVlen = 64 -IV = a5bee4bf1517664f -FixedInputDataByteLen = 51 -FixedInputData = 3ad11fee56d8c07a89ba68a98f8a00a0c90d6df35af405c7f645382dd9d9d9f941429122079ff113e3431ceabe1f0bfe555929 -KO = d02fdceb583f63a3514fd712d7bbe7a8cd6b71c40c04f943fc135d78561b2b33a0b711e5bb0bac44198736c12f571945de049690e4c29a65311fb38b51f147a5e8b6ea7fc8eae63c35fee15958238880da59a5202b73109171bbe3d8b2c74014851c3823b513e8b327b532b208bd9f5020472ff713e744608a18a99a2a6aad176393960b1a130f65c39e19088501bf343f1598e8c3d76503ac4b093a86e07bb411a33bfb721d466d8b6c9121b1fa5b9d44a902979934ca5f5c2f2df4612313fd427c699340963f111437405f96a57bd3c905563350b91821b94efbc9129832dcc443bd04a15c8e92ac842824f6e602ea7b197520ba64a88988d6bea3f243c43e6992cecbae4c27714fb2e3e2f546aed512e0536a4bd0015801afcbc83097471a6434bca3b7d2d701d60a0209 - -COUNT=35 -L = 2400 -KI = cab66ec1671e016f1eb4573eaf221cf81cc23dbf7678fd36 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6979623058f88a891d2e81d7b6004975b1b6bda0fd415baa155f4119eaa1b49dab88b2a96150c45564a5ed2b6ab4233ca59479 -KO = 72eb51d73fbed340030e69d77bb72dec610b69d59e146a36d54fa4d9b711a819a9204d9856fd40ac2b933e4b68b00fcbc4a5cbf1b3b7ba08928487f735be1964d83d2af0ad28e8decf162bf222133990681dd8e8d75548502ef8e0a6e100ec1d2e9b2ab2c60d40cd094f2d219823e95cf9cd0b2e9f2283a3cfb74198ee580026e736e4e0d7630ac009f357114ff56912b6bafa75a1fa6db641605ffe6af0cf1283ad2ce899561f3375ea16b896928d325ed600f82119e7f84c34feaf0d7d05c553db9654740e4704a60564a9c6cce34e1fed60c968bcb2313451b1c7a21d4ad0d1223a8c06934494b45c4af8956d4575a317cfe836fe379a6f7bb37723b3a53b29ab549efc4bfa199f9c437aab67c5d33d3319f151f16cf424bd55ebbaddd73022676ac97f1ec742220d934d - -COUNT=36 -L = 2400 -KI = cfe7f83047ec5fbdc719448712525d0cdffc36ffa40fe7dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff777bb9f2c2139baef6c875ee226ab95802edde6510e626351e74aa2839a8f4ca7b87fd56a623ee896bd53fc67bf581e9a4c2 -KO = dbd58c3d3792e60dc0592ee8dd4a0c9c4fc2b2d59ee68ae72d18dacfa757faa7423e33f821f8567a501914623479199d7929ffb7b1473b398d63eb13ff89335c7ad352df06797da570c38a3437b87cb34e3c798906d800a36dc0be82b8dc977134c2761776488fb44b28ff1f79699bcb69553557369d1f85f3a475e8749e42156fef36d9172c98065fc4c7f45bb953e71f78bafcb4ae3918549c1db5792b2343a1aef4d2e289d5006619090824bf8295d29123c7eb1d77f16759a40ac7d80815c2f3b9a2ae76ee9805a6d062ff088bebcf274dac52ca03625b4d3784a3955773dc4cba02e6283833be0ce1d7003c127e6aa307595ffcb9003ba948e686828acc89c0064efe574a004f5844f07822531cb12debdf7ce65e4806a7265f218687ee94f1d3c1dfc84fb3fc50d831 - -COUNT=37 -L = 2400 -KI = 27c17f754c322dd109bfb3e6b0b52648a23bfc2845350356 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bb7ca234e7bb78901f2c733090295bcb7b2eba391d3f5007e63419f992e975bab8ea093abc89f62bfdf1a28232d5adb46b14c -KO = 2b9fe75bc1e59f9622aca7fbc8301dbe87fe2a22ff87698b74b88fc523134f6c1be68d5646f013b754e3c38cbdcab840561b23fe3661473e3dd44b88218fdca47ae0b54139fdc65af4fca83d47fd6be620ed77d61f8f5bc0980fb74b9f5727ecd03aed4eb8f4216ac9caea9b4e4cd4568c072a359eed645e34f8c883eaeebc503561b4e8b9963f31a5f7484c6d07e04e88443200c3114ff4748b7ea14972a94ba69a7efe0eb24f3a71a9d9127cd26ddbadad1cb6639e1c94e2b43706fbcef9cd4714984b4098d10b812997a00ad52b4c71cf75e760a9cd6e00fb524922aca423e428f0e3f8ab5e17478bb969f6f2100f8fbcccd5a8ec78965bf61658ec8405bfb2057bf79a833a01d2e993486b49782cb99a963b9b5692905933ad1c5c4661599cd6e3ac731a74e793318154 - -COUNT=38 -L = 2400 -KI = 9cf5aae27054e45cfaf4c1d8afb33cd1c34f6b7a295e55d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d8de748aea2916f17e2a9459cc5519b4ec62278d5b102af901ec31fdae9d1c9e2a15359cc8d15f3b97d326df9c88fde629713 -KO = c97cb2e52f5a03f6a2786b00508325c9099f22c85ef843126367ccb3e2e229c9f34dfa98f75751bb7d31c4e9bdad098ce9883ee87218b385cf6f02453bf38ef4a2ab886093807afaab69dd514c21e4636e527d271723e57f14c22f4778a63da4f6a859d282fb631731819294f59ea35502febf2979643fbbaeb77a1643e68e9316befe9559ad3a726a26dd4974706a285985d1f58be2587e37fddacd0f0d4a7389be66a5bab9646f6ab8f7fa7ebc9c31c67c6e247119a53166c55017e43b81652c0445a77ee80d4496603a57569d7272a285b0e4fb6e60e54d4f7c0c60150d91791c3759768529fa22ab01fabf20e9415ed57c377cceb4a921024f4a23f12e8ed314502972d2196903ec1e0c58149579e8643fdc8d92301ea126d167efd6c88049dcb27be0142880bf14f40f - -COUNT=39 -L = 2400 -KI = 4d0c5f305c005cbc597c99f5e85ba59eb67831f3812eaa61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4af08b1973f090c4dcf54adcbc8f80eede252d9d34b1637fca328fd0847f19518bda57bb6b30a605b27dde2ea033e277d9f842 -KO = 07b06b089af4621622e4344e8a8a961669dec4e39d189f35cb9f1230db78218a17ae30d87420e88c2f328d47866dd93338ac48d37f21f2b75dd6ea3e395909db1eaaa377b82d8b3594bbef968a23cc5dc218476fac6172327026844de9c867c9cede4f198df3a235f49d0c3e48b6fda376f3973293c23ab2e1d3a16b5d068724e3ae169b511a1e355b1536de42717c8a7971c8e362fa790ab06e1d1ef4a5ffc6d8924d73e1b5ceeea129981b6a309779d905f41035972e0d2e792d1955aad8ffad5c099a0b8d642678340f2b340c0b8605dd0086d64f5fd4dd5fb5a00082de422ad732717034b38d743e467dc8e9d3e474f578dfa30fe7b3adf8f196195156b091e731453e6dd23b31dbe5b671a3aa966a8a50214efe0a011c4bdf8578e356db17d90f32a603b72a30342262 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 897a089b67dafd8979dc929b43f3d08bf9e4240bffb1639a -IVlen = 64 -IV = 545e1eb5006f4cf1 -FixedInputDataByteLen = 51 -FixedInputData = ecf558f867986f4eb3894771068d393a20a3a9c5ef2e8a9695a85be851217181653b757b260c2db829e0f6b1bde6a821b33f1c -KO = 1bc7ee58d4b7154821f98f653dabc0602f0a7fc769da906523c390f5b8ac81190df1592ccff19e776c1ea76e9e472cdf86625e3bebe02d5015f60d33b5270604 - -COUNT=1 -L = 512 -KI = ac5440638b608ff4cacb86bc8855110162dad1de3eec4afe -IVlen = 64 -IV = 255b797e4289b520 -FixedInputDataByteLen = 51 -FixedInputData = 3d8ab182efbd26604ae8a1cc19d706fa19d71b54200d01ab0e8fc6f81feefbdd63eecf5a7b94d11bfa431142663523efa0bc61 -KO = 9f37bffa2c38ed782f54f9862a1259f0219ce93506d18450605a0f7861a285fe8bf4397c6054ef7b632eed2bc72b14af1df2b10cdcc5af5cd7d82f5789ba159d - -COUNT=2 -L = 512 -KI = 2f1a9ca3589c19cf83c04041c196c8532626371f37e2eda0 -IVlen = 64 -IV = a090d29fd7aba72c -FixedInputDataByteLen = 51 -FixedInputData = d5c4ef0d4facc7e0a9a68d030c96d1543340df23e9b0e2a911324254db0ff3ecb54345a56d83863e05d2ee95dce988b71fd1c5 -KO = 0f9b78fd55bd74007d93efdb43b61f0fe0747933373ed369912779f90d7c682d7ab2fd917fafbba7ce2035cfc29a7e2b6968411973af48128d64034f2c2c67ae - -COUNT=3 -L = 512 -KI = 5fe644de5a2ea54cbf472c0bd6195fa7058e2fb969e956ee -IVlen = 64 -IV = 1444f80bfeac46f3 -FixedInputDataByteLen = 51 -FixedInputData = 754df300e24159db760bf6bd92888d5038b6c0dbb70653f208a13550004ff2da446b0d4f00bc82a7eca061acf2eaf79f78eccf -KO = 8d7abe15ce11fc5b6707121ee373d7622eaf9fadb401918f582db9de82d096b0ebbd68cb9866bd1eab25fd188cc8a14750a5f7f82b4998845abec03c4bd4f916 - -COUNT=4 -L = 512 -KI = 308ff5ae4c0a740d34f23a1cab94dac59bd1de4a8e68b234 -IVlen = 64 -IV = ac8ff417aa7acf0a -FixedInputDataByteLen = 51 -FixedInputData = d4abb00b8c7a49455094a6725cccadf3c0d372acb13ee7692141abdc9fcd20f123020f7956cab2e5d0c54e956746223206d864 -KO = 1bdcbbf9fdf916a8fd30e71dae488a98b17f0940a29cbb1fdc545e00f0c77e6f2486b2595c555593d39d7edb466baacd3460a1ed177369d5ada7a43039083a2f - -COUNT=5 -L = 512 -KI = df4fad3d97b9063b1153593330622d568042588d22dc3d1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 26077f5a6c7936eee98393ebb0acd0d1395ca501c7a9a50f0760a47235c1b75bc689a4249ed2c5b2a260c52d80f668986619fe -KO = 3848f34ed26c2bceaedcd9603b2936562abe01ccb02d1ea8f41fba3326b8728f33a4087a8245298b275a3b73e582282a1b9c9b7084a3449209c8cd80d7b6f534 - -COUNT=6 -L = 512 -KI = a935d0fcf822aa9e7fddb806c6ffcfefdd043dee1564e914 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29b1dbe9a7c7df28d56dd9888da67bb4abb4190d6cc1ca46d4af7e799bed8f4e77a576c583ff79c568f8cb6d1be861b91cc8c2 -KO = 87b5a17655456acd709b19aa0c3cb03bcf49053c740ee3786166574aa60ef1152e2dcf020213bd044f7a66ff1fe7535413d3f178f6b5aa52062f903267255c59 - -COUNT=7 -L = 512 -KI = 23df7f012f2ee5c4bf9407930df367dbb5da2b86b4f1e210 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d036761c8e757628ae24349377b11bd2f0b0600d31a52fa157df3604994444c25b76c90f762f2fb0b201afc47adad61efca50 -KO = 619d3c8d67da16234ce2e58cac6e1c98ea76ac144177f6d3ea2a4abf7b1e38641dbf2778c94d42830f9749c6f6223638fb398d7faffa75a9a44aa62d30fcba9f - -COUNT=8 -L = 512 -KI = 6c8e6b1e376ee64bed1b1425baa6308a7f42e67ee0acfbf2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c2e85fa0527c34cb7da2e3605f5da488a0ff198d914e63b99d33aa30067e63239a35c733583d5ba1941f8944e212972e04add -KO = cf42a0741799c0793f8351fdd3fd6428b793e2d8280e1471b663f9d6ee7e06971f97cd9d08f4e8382614478c1de4c627fc8161deec19454b8a7523210f96c028 - -COUNT=9 -L = 512 -KI = e48e358f6c69995c92303953da35259e854926e1384088e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9326dca167dadd362b3c3dd732270bfabd3b30163345d2d568b1e4524f333689eb23dd1f673ec8fc00ce453de492ea107b675f -KO = f0d65ce956c3e72ab88023cbd0b44bc1e7bee3a6f273f533e6719481a23562d8ed21e329ee24418f92e0b953703a499b5996902e1d04a2a59f31df9a1c61f9e8 - -COUNT=10 -L = 2048 -KI = 23e56ac74a7528d42cac5af7863799099e81ce7b8372b9c7 -IVlen = 64 -IV = 3c305b73240d857f -FixedInputDataByteLen = 51 -FixedInputData = f3874a7e8ead2b444d2e1470476954720d721ace48a13e82c97396009b90cd6d3d1623d91c1be1151d9bb38cdb1e12cbc75076 -KO = b77f5d156065de70719fd1bd3a1c8ecb8fcb450c44980b161d9bd1b0422e24263472008be70e32b4fbe83065480d5784e2fae20ded622e3c5e0d848d027b70b491cfe48fd254505d934ae125ee8754f0392f619d0716323c9f6a934d9b0537b63b9995265726092e50db77aaeb6bdc427584c0c16189dc83e71902a43303b4c197b215a4be279f2fb736f4f691bfaf86109e3111ad41acb2dd515f31b4f6da02c2f679b4ff118cf3322370b546e72f354e4829fe2ac94a068bdb5c73b27028ca14231159d4618999a4e5e5be0f21e43d25507131a28e2e3a39f5597b14be13320d5165c636d3481ca899629a755185ae074ff7debcae8defc5b24038e7967c41 - -COUNT=11 -L = 2048 -KI = 9bb04e4a2910f2d6039ce28fd9a1dc06e71098ff8c064d05 -IVlen = 64 -IV = 04b702496b1dec4c -FixedInputDataByteLen = 51 -FixedInputData = 6f8a655a4f4d9feb18ed9a35c5774c8cb06c3097fce4c5bae08eab611d0a2963cdcbff797c7fdaf0afa69373960043d7dbfb83 -KO = b30764a2e97701fb728581d6b5259ff2d987d56ffac991ea9f5a2e020e1bdff246308eefeb2154a3d7030450cd07783533478a4a475f2ac4770162389f592edabe711a5643a26149b05c96b153a61448a05cd173ee103935ba766386994553866f3526ce738ea9e98b0cec4abd77cc7fe4e376a5749068d495170b19040c3b77171c9474d90e6ec1fdfdd0e0b7d09936e453584b5c0a0956e2a54f693709652ae010fa790d12117c5d420e73bee708e550cbcfa84fcb030c1407cd52b57a7ea061e2ee0b982892de0a65c7124f29e5117e7b718f0db7344d06b0f7fbbf85d6d498793160b546b7b3c0939e257ef4855f9f5afa4ca8e385e9723b089fbd641583 - -COUNT=12 -L = 2048 -KI = a78d43a0d52d3fe63532a9e46974174c5e15ff4d48e19a1d -IVlen = 64 -IV = 4c338a8038dfecca -FixedInputDataByteLen = 51 -FixedInputData = 7ed948a9ae43665855324769797560ab998e6f0b63860eebe11867d60efa4f2e81e09633034bcc2d96b754eda0577193c1027d -KO = c96e5eddeee49ad5f4fab8285a5ae34b6fe097c5ab79c1e150e082c2c14fc6978b6b5f5d66e1ceea72dd236c4f58821981adbdb7c1ba29e935ad73064f3614e1686600202fa865e2a3355f8b8439927bf7a9aca513ff967b51ff893386b326a84907b0a87c182b8ed5ff14880cab75949307c3fccf74336ef6bbb815751dc1466adfd0572a2fb08fdfdfcc9593ed3cc723b487daac9e03e8ffc681133dfae2dc87a4ea06be96615873e25885a8bd946a75564efcf1a895aa8af8b6926b902299424f567fdbf06fea87e7da1a5f01b74182ffb12cdef13098920ad320b127b18ed7018bfef6d5a8db472393d9967d8a31e0e833ea3c211bd53f1f2c564d8e0efa - -COUNT=13 -L = 2048 -KI = 533aa26286ada4b721bb2a03b9aec6d140d8abd61baa7cfb -IVlen = 64 -IV = 8c309707197461c3 -FixedInputDataByteLen = 51 -FixedInputData = c43f532e776c368508947c4a2137838d259c5e2a403508920eaa832f5f6a3e2b86e7377846bf0fb54eddba521e3fe9c48fa922 -KO = cd3924846f50a86754e7c2f2821eba76635e4cec2913d4cf762812a862442c435132382f4214375242bd22ea980c26fa326523937ff81c38ebee1933db11d620f48c0c8617c6623cf2fa265a5264a97aaa9a10d51b9522911fe6049cf866f5a41b6830497715adf3ddfe2801c5baae32077a9dba5e0ed21f5f122f60dfe5f81a754628a12854bc8ec0e283a312808786ac2ce1becfe9ad79a80fb6030956196bc4f49d923a8584a970ccb765313f51f330362995ab1e20374d73ac00bf87f6ba4c27a20af12dad30894fb78b25ba942ecd08363cd4c27489a10a52ce87256da9e5e87613cca6af8513ad93a7d4291c9c6dc0b83d9513dd9dba7d69d7b37c5cf2 - -COUNT=14 -L = 2048 -KI = f42164edbe53e8c29ce7d4bd145ff90dfae571551d470dd5 -IVlen = 64 -IV = 20bb53b665e8f0cd -FixedInputDataByteLen = 51 -FixedInputData = c18fb969b4ee68d3b6a819b8e9f36fc6eef5495a5be753a4cd2b47aab548e4414aa846438df77ddcb8c4cff05648c2f5047115 -KO = d8cf744931ee0b334045fa8671f2dce6e41059086977e8d2d9f47d20f16afbd8a35d5c4cd869b2e1e7765051e449be0ec73de17948156faf048bb02e3e85c66f5d4d45a533cbfd3d99dc6dc5f75c9f57cfa1f1206bb62429ca6d78694f9ca92d4203d37401ff9c5a60c0981c65ffc13c51883dd01326de61753657d3c2a563ddf0e65c72fa1e99c409758ca5c4392765dd5e406197b691976a0b8860d64e0738ff9d42ff1ee5730731c42a58b07cbe2c611405144e7efbf449ea90dfe91d62db0acebafa3738e5919b19f1031e5a0ae4e31ba95b8464846d18acd0c92aa00d191a5b0a10218b16ae46004c1a8bfa1659a58e9e4590b826909d0999f963c1790a - -COUNT=15 -L = 2048 -KI = 0900a6e89091666e776f14e59dbdc0e29c3bd0cfd691349d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8d071318864b995f4d75f1cff005563e1e5810b59d5ed4c02366b7526eac2aeeec8273f001e848d6117cbb02b17cc6be8052c -KO = a1e154d3654ded7396933241555400b07336d74cbc4df966af6641bf6a88efc5b09803efb0f026789dd807c3be0d497b70b86096756af724989cd94bdc3d44a3f433d6d27b985af807396649988f8c1fb4cde2a7ba5864f777bb85dd5c1fef67beea4043d5c7bb593be2bbad30a86fd747a4fb0c2b0cec33a6d690261f540377d7cc8942f08f45f3772ccfd3fe6fd6b4d6da47d54ff8ff09f8464ce2f40899f215fb6c5e44a79f67fce4b4ffe67d82ade2547717c66336d55ec68b32437c70c7a7f65127148f7327743082bca951cb83ecf33216fda818dbffd163f8f6a1eb5572238a50a0e155f8401431863f6020751d357ea83225a553de265fcf4da73b0f - -COUNT=16 -L = 2048 -KI = 91638ef9d4cee37d8f30255c56e10dd01ac3198cae4e43f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6131485907d7918fba0c0561895827b3a9e549360ac7fb50ca096100f641abbc0feb0a2a1cb727938ba7e8804e3489a7a30ba6 -KO = 03bd218dff9cb8595c5dd26f9cc0d4783441be4cab4930efe2d6678fb032a6b22c2702136d761989be5ad6b25314771e8b708ce1dcbcf09f0827afe4dcc7e786c318badf1e6c8b4f20d5e2abc3572012d2085312647ed448d12b23617812a74c03a1efc2d1e4f772fc8bcf5f554482475b320a28af31c3e0e3536d7bc114680032e1d170c02b0828ede081a99b87f76655085f3163ef7c90b56ef18c47b7e2a2082523094ef05f88c03dcb453c05e412f051f98614de4c8382b0a350ee01fab436b04e95b1da7ef85a1898d3322b996cd40389e308d1a8695bcc7c975928b45722f79bb76ad509a9ec593bc40c67d934ad4ed0e788eaefe5c0c5a0f774349c07 - -COUNT=17 -L = 2048 -KI = 85ee791f37c648e618c4c3b0d7a67020068e8e1237e7ee3e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9ef53b3f27b5a819c4749b34b4e8bd5460ff7a3d36b0376ecd5f83b5fb09cab999a22c140fee11f4ac6568e6d894c431e19ead -KO = 8bde7bb49e8dc868aa2bd7cc434eae8cfef05100cf26cacd95ba220e93c33710376ff175460da2c81baa229daa73e9bee69303f775a029b5f35be6b4e70ca656856a149b5eef6fac2e3c50b83c9cf813dff5f1374a53eeacbfab30fd5a3c963fa2dc211f528b0b534d5fb6404453da8d683ed45bf7ac4a2dead1ed3e7d240702adf4a70da40514872b09caabe377cf3f2fd630029b21d66d1f093fa80c267d72c97d5f46e65ca4169d57f37c66915c18d09081aa50cbda8c7bd0451fc31dbad5e213b90ec832fdc2d315136b05470945d513aac352ad0bf12ca86331687fa5e77d986caadd8f573ea56845e44faf652027602031c9e3550bee1c74bb97f83a9a - -COUNT=18 -L = 2048 -KI = d93fbec672527aa9e8ccedb447160c66a7d31cfb03e3603f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e9d534e5d1fdceaac8745e53b14dab615f251d0146e3233a570ab15d3849524e857d93a411de48bb5e2319487e58e27b0f6c60 -KO = e7bb6c6855444f96f62fea35bd98794ca65bb4e1918b0eb1785e8be85e212030196309627a09444f419f56d94db9bd5693f3daee68f4e02b0a97dc6ad73c70c41d7db775ef7485823d74bbd1e11c7c877e84b7059e8f3cafbae9ba081d6c280b150526e69b2a726518ae53610f66619f5f67fa1c75be2e95191d2fe72447a0ee6c7e2a18332afb664f568f2567ff73a1dfe823ba4a3f6e0ecbe75db8fa325adcf5b9dc740ad60ca0e4f1cbe1bade071cb1f3a5c1f2144c58c6fd6a9b9ad3f871814085a1ed064d0c32c9c7320157f6b05b876844d7c59b7f06f0c972d16e4eb5986ae5c3603b1500b1e7b1d5164839d901c0e1aee5f2d7a9494748e29f1d8620 - -COUNT=19 -L = 2048 -KI = e7978bd381f073d947d4e3f217ca3f6361476e07c487029d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4c9a4e2b3315ca6ab92a1a5a30e87788ea953e1a95c96b96b35dda4fc8f3682bd51f118d1749a4e4a1422acbdd3e2ba0a6ad2d -KO = 96c80533c925abd54c6df97d9eb4126c3b301ae763cdadeb725cf402f7666cbd36f069f775f0f29cc9a23191646b0cd8976e7934d1bee7a9c492f33497d16c4c79670772a3b30b66481ecd754821c73eb5e52eec328be75b7acb2f7f8d4009588b3dc5fdd25af2a05d23be5f7cfc7ec3c052481be99f5d594cec1b53a5ea1c795ea07713e9c7c0387acf764f6f769b8b367074e922bad6613f837a033b0c820777e2d2fcde3a9efa0bc3d8393f0afdef8c883e19b772f105960c4881579b33db8a4c513d28f27365932189875fde5a953cd01617c8120c6a8ceb3de2d4c96360c53039ff189c094bf8482b08e83c80befbeffaac92dab26aa87df535ac5099f7 - -COUNT=20 -L = 560 -KI = 0398883326425d57b7eac5bbfd861b06c18f505ac4a3bdf7 -IVlen = 64 -IV = cb0097e14eb7cd41 -FixedInputDataByteLen = 51 -FixedInputData = 1f6e4bd790bda366978a31cecae60657980a4b9b8a7c5179aaac322fc006291af6ee30a611473e2bdba795cee28c64f3619300 -KO = 596c9de7f2da256c6305188bb618717ed811dfb0fa1a75d653da394eeb28b2952d4bbe7e16c11e4f2f38c1b931167ec5e58ae3e6ac51e43c453ab98a3c16fa7d1cb57388cf33 - -COUNT=21 -L = 560 -KI = eeb5826c92086d08961193119b471ba86eeed9dd9a91262f -IVlen = 64 -IV = 78c437627b786390 -FixedInputDataByteLen = 51 -FixedInputData = 101985673d41cce34b7b5ff98fadee781b33be91b680d216f768a78c4bcd154109ddc3ff4a9d1dff73cf1238af7c921c2c2c53 -KO = 1aa5a337efc45f2dc58112302c2212c445dacb1efc3e151e8f9b56de76b5f627013d80dbbe8e512d4c2566aeaf222aa46947ff9b2ba31ed91f16b1db64fe284e633851506cb2 - -COUNT=22 -L = 560 -KI = 869cf12f3d80d894ce5efc1c3d579d6ad9e9b95b3cbf1ca9 -IVlen = 64 -IV = b0043cc0fdcbccdc -FixedInputDataByteLen = 51 -FixedInputData = a2692209b1145ff77294f11c6c1c3e7bc57c8c663ed6500ebd527d10e00e791556756d1623167efa3b7717b89136ac2402be46 -KO = e70bbe7526406e8e1c10c68634134ddc4ae8496bb48c26ab1661652c175079d61d6c2d8926b24fed7110f944d3e0cb601624b5de5b4cf2bdf1822e7d5df6ac3bad85ee82ab68 - -COUNT=23 -L = 560 -KI = 6e104b3745dad46573b3b52b9a6264d7b031e98ee1e716b8 -IVlen = 64 -IV = 8d7a91dea90a0da7 -FixedInputDataByteLen = 51 -FixedInputData = c281059d5d704bf71cd0596f0979ed6415dfb9ab2fa7607da848780104151ab10889ce85547a1f3bd184abf8db56a7ca4de9b1 -KO = 78777d8830e2adb7b9841c9e08a72e38a86fb6af89ba1511a33f3a31457a8cfef661ca528e1b7767684cd6f6208f39000cff93927906ddaabaf9a220ffc2419c66263992d417 - -COUNT=24 -L = 560 -KI = 56a9c046f7f38f9b1aea5d6a9b5ac0377a9b83ac47a1cc88 -IVlen = 64 -IV = ff6816c19e48398d -FixedInputDataByteLen = 51 -FixedInputData = 0b7b2a28eb0ceada5d9bd69a0dc3ff8422ab043105bac96d725135c69dbea700b098309801c8ccf067eddc43b662b9154c60d1 -KO = 806af4d4d969fbe2bc075d178ad079c162a9e9d7d295bca8fe0f12ae447998d5189ca9403437f38293c7c3e46f1f2e27b1f588302877e684fbdeae7b3dc2664ae19d96fea6bd - -COUNT=25 -L = 560 -KI = c06d5c565d0107dd1457fc02fcf032a806a31a0487355b4f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0209f76204835739622469b6ae1846cbae147511d36c3fe72fd5b80b1eddfb487964e48022604b795af85747c2055466a1d50e -KO = c6a48498746666ec8ad872c6d62254d6f4ec37f078c5a23dc7add8e19e6fb700b58d7059f97e1cdac8cd4887ae0a97fa144f9ca55c80d19170fdc637b7e1fd1cb472e36b0458 - -COUNT=26 -L = 560 -KI = 6127093ef0754ae4c27b9b9a7b24c9f3457cdcc333bc10a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3513f1700003635a887b1a9cce62e542c881bc518ac203e6a27f0e0fc4756c13b72ee229706431bfba380013d9919b1c4ca894 -KO = fe6b381ee9717dd50354dd9edab5eb194046a8f8af9efb4e1cd3d0de24d095985d31da8e839cbe67ba89f1491a99bce1206071fa8c3fee7a176abe06f9b32b010390ed6bc669 - -COUNT=27 -L = 560 -KI = a03f0625eb5bac2524768add50644a2d28d7ea9c2237001d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41f0adf10fc90ee8a71f4069193ad66af0543c28ac9aea591b32f219ffecff8e4697b54c1fa1fb4a8cc09349fee9bd955f2b77 -KO = cd86492ca31cbe81b86707cccfca39f4c2ff6ae364f786161cdafc1f3a02dc4dc52cdc395dfedd408a721f5b2e56cfaedbc8e70be44ed31f0fbafb4be63731b3574b8d520817 - -COUNT=28 -L = 560 -KI = d3e93b02ec20c63dfb93fb2cb43646f7a8986a6ab6f67b07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56e201909d05f5417bd5c3026dfeed93f326a988c8361ca5ed032b4c652de5069795ba85a215ec4c0a2151c0047a9b87f03126 -KO = 52de80e7e8323af0e1bb4f154cf993a16dc1abae7315a7c179790e942341cfccacf5f85b9d8cd33443457327db9411ee3c4758c5010c300d204b2faee848a7fed33682953fa4 - -COUNT=29 -L = 560 -KI = c4eb9273c5a762f3caa783a95acd718693c2000bf108d2da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20c5fd35e1f889504a5db50b0b20d1356447b87dabf66f271eee5bd45458cb53f7a1b79908afeadbccf421249ecc57f4f9d6cb -KO = 02ec7d868c8782d34ab893ff55d2ae51a4412fe44a012ad60732f41bc1928108d0fd81e0994c10919886fe129cc98568ff227e85322b6b1a3ea81b0f157530a2e90f4d888840 - -COUNT=30 -L = 2400 -KI = c3b62a9946b739cae913176f616d9c166e629d5bf15a26a4 -IVlen = 64 -IV = a5bb68561f2ea726 -FixedInputDataByteLen = 51 -FixedInputData = bd4021dfe35b21c406cf1fda46c76e2385bf927e1088f156d26ceb083f2e703b3c2fcf728db033c0594ec3ed97328f2d7ed39a -KO = 553dd8274bbc8af799fa8c687e5426554e4cc8a6a9a8080c72ac35685a6d5b2168965a20adbb93d0581f3b4d74a60044c15505c8f29b41a52df0860223af945fde147640e0ea0399f2160c5fcc2c69149b8d3b931918e07735bb5a7cd3141d9730b85ff21b75631bd39d8824390b72394140a147f59e483f7cecf99d29e6a6d1196d90c1149714b0b2654f87caf0b8c5b4cf53e2058e883acbac61dc7d9bcad9e15596868ba839027c2026a37be7507821aacfb49af53027f5a7be4b2d9dbc3035fd3e19bb6e813e346241f7cbcd3719635bac136e1424f7fb166e5806f4b00d660d33e68a1c6fc58e2976f2ae053fd708459e1c97e9f1e8c4a81971039cdd52275a70f478aea7a55fa35e80ea0ac1b7a3cce72d8c87665422a3ce65f20ad2bd9e913b80583d21a87034366b - -COUNT=31 -L = 2400 -KI = d6b1ab26c50321369fa38abe8d3c72eb3c262f80ceb08105 -IVlen = 64 -IV = 94cb53c867cadec3 -FixedInputDataByteLen = 51 -FixedInputData = a1d3c94f0c7742e47c8bd95ed1db19a2e7ba1b761582ef3c0d4d23eec098903e779529202e67ca05fc7e80f83dd7215bb1e3c0 -KO = 390d5fdd49e2d9866e6c45a29cc1969345b809fd65c47bc5ef11c2a61151dfea6c68ced70d1a8c853cd9e68a04514423e90691cf0358470de02908087173cb2a7516b21426c0d40d6aa58d81b741c80724f876d61298d3708a435ce6fb421da2ccfc956bf150932bb25094cc78c64c134eb6d11522d6d4700860ba401fe59ca6f6a94d62587f5cf9fa28f7b456d11d0bef72d5f8812130302516fdcb6d0749f2b99055e8f2012a6b21c1a4f04cc474b9572620c4ec2ad98a6e5cfe80688ffeea4f9fc1923f3f165283ebb0ee53497ed41c52bcdbb2140ff809251d4cacd2fe1f9261dea588e5b1115b286be694dcff36d8cda4e30d5cf47147c0f755bbc02efee350f698cdae5d92238ff142a5894b14897ba7ab480eab10ece63130ec278c45572381574a46f36549521dc4 - -COUNT=32 -L = 2400 -KI = eb56e67cc2b79e49660321cd5a3cddf982d0aedcb79a864b -IVlen = 64 -IV = 4f7c7b842ce8c6af -FixedInputDataByteLen = 51 -FixedInputData = 904331fb6c4fd7f1b74311363b1e6b3eb6c191c2ac6ad5e494343b7b075bcc53775ae6282843d457ddea42c68ef4d6a660370a -KO = b78c7d57c3ed40513edabdef8edee0891c6d41cc81d7d76b320676766eca033e6aa26931f3bf1f62cb489e6b0035c09edabe32f05ae10a3368032402cd17df8dd8b15becd770290f483ac44798a1f833bfb732afac0be94435136363c80247c3d1adbbf41ff80465a07309563222204f1ab797651f07a1b70f3c249c8244518b01a3857636f42325ed4d2e9af3fe43bdf2df76496a9d2c166a62374b1f6b2e854b2f99abb61eb53b0bccac00f40ff73c50f8d4927f005b97db368143ad63f2d9819a1aa1cc62ede3ecced4604cfdfc865e6479c25fb2e8300d573cf216e0c9130f89d044bc78c4a704838d87eb9879e4185fa4ad44ad335f39b831b90e9dd0d4c128ec576843e07911d66c70c009c54744dd0f4c9976d13b4b2ad7651ea6d7ee849152d972b558ba3e90b9a8 - -COUNT=33 -L = 2400 -KI = fafc6e5af57a4886554705224dccb2b511f35d72deae6f7f -IVlen = 64 -IV = 575d9c78be67cb2a -FixedInputDataByteLen = 51 -FixedInputData = 06b7e375a29de4c1f1cd264b59f8f81e5fb76a248bcecd46bfdad654e3e7c9a2d0e74e508079f06738acd9e6077b387f1cad0d -KO = 9f27de196b60cdf39b5602fdf95b18193eb3667e329a01c0877d46ddd28fc139b6efa2ee49ae1f5fdbdae0d0802ed3ee041848bd39887e07f7b5e009dfdcd2c2306950fdb942b06d45b19a4e430c183fbd2cd70a2c8ed33bff533e16f0c93b9aa6f5488fd2c0b922e200180cd15796229cdeb11bc34926a038fa46a4bd5a17b37a54f36e8dc291ce6f96817264efe8f747ffb21e0275eace03b591f3825b506e60bf6773de890085cb3307d07dd7fc8f7346fbbd31f0e13b8923bc3a219d86831bd84d335dc9afb37277b6c9404a1d8c8c1afdaacf83d19ce0b7def08d92b8cb8cb548d71c3dfef9529fb57f6c2674e4cc391a5ccf6d31b43aa8d0e813cf6cfa5bc29c2e764b461a0883feae20ed54bea4225e67a3b110e7f8a9c1a6981823c0bd0a9da21072394931c2ce2a - -COUNT=34 -L = 2400 -KI = 99268edc23cea83493a8ce32b16d8b6b9125c51c7c066cea -IVlen = 64 -IV = b1989824dc07de92 -FixedInputDataByteLen = 51 -FixedInputData = 1e0f2d9cd567f5d2f047182a3362c129cd6b1492d07a3bf33b38be76b42bf09cc59d72da3941dc0e9b084b81fff4e7b58ac120 -KO = 60d941ccb11c86e0b42d47a1119570a1a5ee8f8606353a08a9bc1b2b025fdfcd3540fdf33d4a9e262263e53f043023219002df5c9cd93a7f86ba879578adccba0d617afe37551803afcef16c2620e5b38a5c0cb3d792df6f71da8d8c652a7392725879da159d2505d614d279c8e532a5dacadf84b29b74a908dca0d0d2e976ac7b2791e82e7375f0c8335bf013ef09492071c775a53c4dd5d79b5d67729e4b3ba5ce4ab703257b89d729544f0b1798f5ecfbc0527b29c887aff94f6c3b4bdc07ea633347a4ebc8221aba064bb8418bdca21775a7a2a0a98188fcb15284c912930f2602232551d166e56ecc61d0919a295eb59f811414c68719c87ddfc7d8034bee425f6af7d800d0b340ec792b4e6ec39ef01622c2a12dc14980d2420c972ed7142fab2bee445d083cf701e2 - -COUNT=35 -L = 2400 -KI = 4405557e73dbe4d73774a41fde2aeab501d6e0c764234aa4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a3191628d441144269586e0870366d3e6d0360f60a0a3a066565abaac4663048c342daad37bc2d4b80a70c1b11b34aa5324f5 -KO = 3a6b61ff540a2ff0cd1938deae79371b8892d55c138e5d7e331a6faa29980193e1bf5c7c913ad317d75ea5095c64dc6edde3e4c79e6670e4234832371d7b475c0871cd03687d9158b683ac02e95e13328d8e21569e265b987c028352220a2a739e95ad10e4c9387f093c15ee533706ca0e3d31b302e50a303964b2a227b562888bc9305512e93e5e5373e0415e7f61f447b2fdeeafebbfeddc9bf8b35bdc3c10c7ad3261b68ff8cc52dd70cff71c4b924c7b2e76a3ebf331e7e9542ea329336ceff733ec4808c9b4ce192a2a81e8692b1494a64d844c58dcc553ba151fcd9efb56a49922051b4f580a5237024e0da1f5fc0d91aa6db12fdd2048aa883b344f476d20b3580d874cdb45e6a08b41b4750ee7497273c580d106a177904bddd7e6f8e585f40519ee44c26ad0a667 - -COUNT=36 -L = 2400 -KI = b0785988ae6bd6f974f86c0fb604b00c3f5d025f34402215 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 27cdf466c132fa3a873ebe761b45936bd8df077ef554cd275253ce9ee595ad1eaf6ac607179fe23f0c053bcab99d710072ee3a -KO = 008359af3f7ec89d39d79ff4f9e10cca2552492d24a77c750742ce904f71edc4158844a097c0c654169c4a21a8d314e9d015fe27babbd228d4af8dc34faf955f99153f34b28ca200bdbeab98d899e98d93fe9202e92d54c9657a07db2d394bd92ae3dd9450687fcc1b6734645703d61099e1ffdb18e3535da2ed797456cce1f9c6ead6493e8566eeb8422bf851825e7c4e4b224299ccda49eca4d8c2af12253e98c5d67c4b11c949a757df6510825aa8a7fb338974d58c2a1fb09d6b0fafb9bc85a7f3160bbb7fdd61c51fed1bf9bfe647ce45a7d58ff51df732a753841efda3650baa55ea7d999e9fe3114bdb156b472cb0546992c68619d4f23914d59d143badeb251a8124d9fbd56b2fcd280c3573198936cf07c771cc50ba5acfc95e17d95269c0ca22ac6f30be4e80a8 - -COUNT=37 -L = 2400 -KI = 3386e4e189a343d3c92cbea8aed3c04ac3aef83a188d99da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c87318067e111a43201394c8cb76de29e82e257fcd69e303ca17bc998b6e4f692069aa9a26b8b43f033585cbd079f47244a68 -KO = e2b04aafca0918b5676372f4eb009b2e01a7595b8e2d3704d2b044ae8253829fae07133673632f87a9f460648800c25726dc7809143832e4bc2d5d37b92a817a6086ad5569e323298fd2faf0854aca47f10827f6f841994c950ba0d0094e6771711b2a8fb2af7a71fd6f6f0862247e95d2f94b41a4032a61581a009279196aea0d895cedf69cf3d85a5fd2623e7916c79c308c88235c80c182a2f9a7e94696964424ad8b4f09cd581159a5123649314a37209862deb1bc912d1cccf4592f831d0700ad138f404fd577f963c92943d867bad52ca917241b7a4872f6640edcd389804d628b28782e7364199469d43b4023dc017c5938f2240c3465dc5a21c98c45d426fef6f1588a0711babde1bef7bd1f64180568fd8f39a4ca83050568a1ff7cf869fcb47c801d245200639d - -COUNT=38 -L = 2400 -KI = d0ab6159153130d7d59ff40a2f11161b796de439f7395737 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bb765f5511489ecf80318123b21760089d4e2456463bc932593dae65e8cf8a86fdfd5c6bf536fa8fe61c558db4aa1adf37a4c8 -KO = 5ffe3dd827f7a2da1b9a908c27b45a4dab39184b35f589f38099827b07f11bb3748e34894dfd07cce684c18ed95d0b3714729cf15a1bb7abedf1746bf29e785958a8e9be1e76745712ce28b3415189d0fa1f361fd04f823420a9f8b2caa044f5905aa3c3f7af390af01a98831bde7e7496448ee5fd96c728086e5a5001b73762be03d214ecb4386b1702cab50d476656843b1f89d6c260aec4fe711e16cc93f116808b41485794dfc651ae1344ff10de46c4fa3562e0344d6005357b92e8852b0bcd143a77667042a57cd0e62c30cbf0fec8d2ddf60e0f62042868711e03d4fe31e47b528a5649bd594c6179aad32f37947b8f6e914e4d3ac2a210f0b2dc80ce0f3237d6f37bde98397e19766505b5e4f079656fdb66418c75da09fc49714964e9dccd351e00d8bca9db5d50 - -COUNT=39 -L = 2400 -KI = 96c5d7ba0058c8f3eea66046da1df53c0c1b32e3d3f0ef69 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cde217c76a09c514fb1733713935e67c946e5e002084a5ad7257674da4ff5f8ec25f2b9e9ed02f23dae745511e35c5f63e7558 -KO = e86ca6a13177a95a445451cdaac8536963cf62a600afa932266edb18c00738d693da51edafd4e35d0240c4d0bafe7c51436509d6ae2e0bf0b6ed16dc79ed2c7dd5eb63c0a73d434704359932fd31e0c123864f7ed0902eac2bb5601093a9934067e5c2788ff90cdd76077e79daadab3d84581f10e94b5af7b150b123014c51f32de7dabd4ca0caf44db234be9f80c64ed2e2695b5cfed626cdf00dea184388ac4634a65440e578e96aaa96eba710124fcd5ffa429a6b1a03f53792cf35946a60214dd4629a6c4d48daa7e428a0c87014d8f00ab14a779ab67d493bb6e3848bca26ec56146ad966b658fa3c69cfeb632c92922f76274eefe024fb57ce47ad722f5d3def059ae7104cda316f2fe9086c570ccf04cca84cacf7b60e9616a9331563e5b92ff1ed1deb455eb5058d - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ca45556f7e8d5d462e67fdfdd9e047137ec23f6b -IVlen = 160 -IV = 5099318917f61fcd360bf4ceeac232365fc6a973 -FixedInputDataByteLen = 51 -FixedInputData = a692164acd42adfcc5c0ca12579ea6b387230666ba0d91a3f670b65af9808bdec770c72888392d6403b214695dbb3f1bd0dcb6 -KO = bb57a09db948bd6e54ebd8416ce9688136ab4f950dcf9524b6ee07a6c8a497846c436f5fcd23c595862a9f81cdebae807737052ea7f703bbe250708ac6661690 - -COUNT=1 -L = 512 -KI = e079b77689726264dd37f49074cbec026c64a31a -IVlen = 160 -IV = 79876bc5816fc798191fe9c0048ec538f157e686 -FixedInputDataByteLen = 51 -FixedInputData = 8c48073a7b274b0baa44e4fabbfce0d01d81f99e58f119a19ac8be769dbed364c718ffd2d1ad76312fe8e84a831eb702d3a777 -KO = 460f38a9c7008d3c8ec7cc3a6c1ca77a745544cfaca7ac379550aef6da11cd1cfe91e12caf02e1fe99a334474e53df4968c982118b2998991e46ffde593e68d7 - -COUNT=2 -L = 512 -KI = edb26bb61f2e04ce3e2bbf873c96677360f49606 -IVlen = 160 -IV = 8b9562e92e4ca0cb50349597cda189d4e440190d -FixedInputDataByteLen = 51 -FixedInputData = e609f0f884a6969286c39922e0df3cadbb3d532c860ec64fe936110014882d11bb8b450316f4fff193e91ca1ca80a2f6de766f -KO = bad5a56d7ffeaf4f9b29ffc0041b9b6435f62c215427d77487216fdfcf8eacf2c26a908b2bd811ded8fbbf21f9c7f072e4d5da4229c0d9f671df9c856d1ebef7 - -COUNT=3 -L = 512 -KI = 575b82a5e85515e17a879527645e67cbb095e33e -IVlen = 160 -IV = fb1db0e50e7a72a8ea5faa184b5c2554aeaaa761 -FixedInputDataByteLen = 51 -FixedInputData = 93d6ce54b7a1e77d671bbde4d173d38f199d0224e6bd29ef441d9fd9b1c8070452f53dff4eed4ccdec8eeee40bfb6990c6bb68 -KO = c98652932c01950081d259360dfcfbe5909d90a03f774b59ef80363d9314447132fd65797b15caecd370b30aadf883eb48cf0c9311a6167f2705594c491611b9 - -COUNT=4 -L = 512 -KI = 1762950cb166c84325850b9ab1532754b25e246b -IVlen = 160 -IV = 300fb207b456a2b4b0878b7a97f66c7f9de5ab10 -FixedInputDataByteLen = 51 -FixedInputData = 3a61fec585eef7633e8adc1cbf613b318f269b221afb056c9bd5aff57477bba018f15418c57fc51d54120d70b9f15cdd58da5d -KO = 47c6f46e8f07cbd078b1421496853ece800a1dbe8615500db23d33a5e4ee5d774a40b5b5e4ddca4c30fc1ecd6e3f7e2e14c36a3d7faefe2ca50b6653b166c066 - -COUNT=5 -L = 512 -KI = cef5e501ea8691951e2e156aa16462b13f04d82d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0758853c2dc0536b39f5286d1467184a27887c8b0bd2e0b14aba940b476c4448c8f38f79bad27fa49f2940d811b40c0348f039 -KO = 663a0c25ecb5f877879f9a9c5ac42b2d3d5f4ceb434a1e31c38e9e44a82dcbd34a9b304172a8ba8e98cac37b2c7f0dcffff3ec7d908f2726ca982a9740704dcf - -COUNT=6 -L = 512 -KI = 4684439fe723e93a0066aee9f759a5fa5b3e3646 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0ff9909324cd39e7142def8a4131f47cbbfce09798cde274d608eb5a36c7a119c4c296867fd4e39115d10a1d7c02adb94d6699 -KO = b62d115fa4c9ce1a3e321ffa735d900afaa4834aaf9c1efcbe82c97743ee7657bdcb7ca24d8d08cc1abc23b710d53debd50745213a6eaa89b14f8747833e992f - -COUNT=7 -L = 512 -KI = 114123d91ab9408e210a5122ad69a8f93d97c6e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b29f681013af05c0c73f190e2398ac4ec37eea67823693b038cca6726c6299bf966e988162b2a4da17e3ffbb2cfb810c548ea2 -KO = ba49e3339ed0ad872220e3f7acdc3ce5ad4ca17648ba46e346d75d75234718be556a73907a610427b4cff4757fcd1f3d94535e035349e7b98919c61802e30175 - -COUNT=8 -L = 512 -KI = 357b7e48add4a4bab0ed2541d9ba5a6b83750af3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 525e3d3482fe08ae1fd56e519fe5aa90bef18dfeaeedda252c4d7d6a9843d700e410a6e322838621c2402cd1ae5ad2ee28137d -KO = bfc58dfd6d51093ac01e154f47ae87cfeb911df09c3ea389391cf0f3f32d4d67dfba093d071de10a9d9ce7887d3e1034dbfaa5710bfcbccbd34434692268d9ec - -COUNT=9 -L = 512 -KI = b4ee3c6de6aff0d06128daeec670b14734309a2a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 312623007b702a1afcfe622e806b01ce13cdc7130292ceeb228c0ef81ac84be121d0959eaea655f9dac91483a4e3422f9e704b -KO = cc6d5b7afa5385058c95d63d0b620481177a1f169f8a38821e44a0ab821c54ebb30ec3cdf612f81b14d1dc1344598bb5cd5028850bfecac40bc5c1d3d53614b9 - -COUNT=10 -L = 2048 -KI = d89731cb9f9184a2a7ad1cd219fd628392d5eac0 -IVlen = 160 -IV = 4e990dfb153b600949b1244047bb668f8ed66d7b -FixedInputDataByteLen = 51 -FixedInputData = af5191ed8d4530fe06169ec3f516dd4403fad00f0783281a52d85d03fb1feff05cd502b63be6150a7251e6a387b6ba7e9c8598 -KO = f522fb6f3139d668c747a9c20cf2e302ae83ec087c9493507923f3789db670723369741d386618bbb5e7c7d530b42fd95df4cdcca5d201ee7db2382dd176aa84c07cd62d0e3d751320cc8ee166aae76ef6724e5912a8879953d204cad7058d4e329af5c3d7433f8f12aa8c39a3b4b0a30bf79a32f06dda95756391a4aa319129c3bdecf07c2dbe1fe1926a1c9cf48cc4052dbe46b5f26fdb0e2bc17d2db29f5878b336c436097be2dd1af1c61a283de58770bde9e5d849f89b53c52555900091c34dd5644d45584d6f2b5e12f5046fffd87e4c92592660929ea3dfb2cfe93d12fae977127a578452b4b0f0f5df7a2398d3ea4c0193eff551be3dbfff9fc69ee3 - -COUNT=11 -L = 2048 -KI = a7504f576be3c694d10b40232c9e0e61605c00b3 -IVlen = 160 -IV = 15e89bd2476324fd96794328e27523bca103d606 -FixedInputDataByteLen = 51 -FixedInputData = 5e441d9f4cb4c3938d888b398324ed5ce1264d0f39ae73e815db94ef6438a59b4ac53de09e96c7283878e6f9489c40e97ad063 -KO = 14540c0eed90c6cc32804dce40dcc5850d1186fdd87db02e09849526418dada4411ad7b463f6ee3a3b0585e02af6ebc9ace65972c255082acc6f62eb94ad37c32a12bf8e266d76f48db0d3b48d8cc4b86d610a1c384ce36020129fe9176027d0e1d1e79fbf7d96beb1f58b0342f02637fdd58a7392d5f989c521fd3eedb728de2b6a615672e7d0cc812d94b2a15c13619a9052a8770f63bd4eabc9f649a466b5f11b81adab0167171fa82d3d2984d6e88c07d7d7292e82f9d40760a2e0722bf7ab1dcbb63b918b8b37b10d1e4e1ae0886baa5d71022e4eac58a4e15f2656ca690569669c2e7ea25ed015e543d94b680b1bb1106651865640a0bed00825799bf5 - -COUNT=12 -L = 2048 -KI = 59848ed281b84649e52ed0ea88863dce46a069a0 -IVlen = 160 -IV = 3f589a1e101555a3f9ab87efc7d0550bbf1a8b17 -FixedInputDataByteLen = 51 -FixedInputData = 8159bda1fc1f2667fab7a58a47df185c33fac51124642fb0fa8b825fe6933e59de5e7ab7b23743551f9a49dc83d7062c876133 -KO = cd7861f63cdf3a726b98f08f8fbd753d7392d5cd56b71f3a9fe53650cf9a7ae4b7c8186d419824949f876583fd884cd9ecf152d1bec062dd30d0899497015986a67ca4ade3574cd4ca0fd8e2ec332e19d913acfab9be725fdd41d5bd0f4baa9e8579494c90ea5428ee0308625876b16644fb1a740d060e4c3cc3bcdea0c53300728ffcda5f6f4b2674c3254334d65c22ac9891e0af73e1b63cf8eb5c954f714bbc2cdbb1cd3dbab816aebe13decaebd4c7ab5d027cd36432a1a720baa7383fcb3e254d445685efe3dbe939b3685a3276c2872a49190b41eed35a3fab911397c83503f4225ffe299d44e879f4e7af38a7241a2f506ea94d5571c08be4778e0473 - -COUNT=13 -L = 2048 -KI = a8789983480b61133291e30384687d7846b3d768 -IVlen = 160 -IV = 4a6342ddb37397af2a028ace5ba69a246e17f1a6 -FixedInputDataByteLen = 51 -FixedInputData = df4f91f45e5a125fa54626b3f8be0abf2c4a025f337501d3284fcab8329a60b1a6835bce1c788a0dcd721aa90509a59eddc2dc -KO = ad2a0ef07ca8a183aa2367dcb2f7e7961b8158337497ef01dbb3c69e05270f6eb5f000979d0747e2b4bad5102e2f1797e927c0355a498b804223224a928ee6ca0d16bbff255f57e962cc2883282794db82b069900fe84b189fde96bb3ea5dc7207c679ffce832ac8418b140e0a90ae3531441cc2515df1b60fe84c3d0789076286a4e30160a258ebe3ee91260f710aca2272874b2eb4a701889c04cc7870a1c41975f19cd58c0ce678de5c9c15ca41dbce3ef720ddd3acccf6edd2a36a012202cd20e20c804088f26a50215fcb7cf3596ddded3f1fe582ca30c03255d16a2a4ff88ff6fc9e35b6acada27b434c837b59a52ddcab15ffb48b624e6fd5d0cdb81f - -COUNT=14 -L = 2048 -KI = 195699ac22bed8ec610f17a6b710d9d208c54368 -IVlen = 160 -IV = 250bfed8fed699ed622e48a22c76dce3bf50b657 -FixedInputDataByteLen = 51 -FixedInputData = da160985d62921dd6c4102a108171a1563edde106436a52913ba3b04fdfe353a38e2fb9b15d330e997bfedb7829730b58666f4 -KO = 93f32f8db9224a1fa1becd29d764a7d59ee5a83c8f1d5a15723e095046e31b9717613b8917d7dc7d6981a75bfd9c45e9892582ef192c3470e5473de9006cc8c83612ec116980c850d5f5a805aff6a23f0aea84e94e72534b9bf3ba241c5036cad399f9dd49179c9c3ccbee1af670314539a88b6ad2a50cc3c326ca4cb636d832ed21c7e552ac37970e6d19a1fec1c8f364c3acfbefed61ec125fdeeb3080aef2fd76380994add14c5a2afab27b0e2ad839a81e73b2c9eaa841eb881cbe97fb369aa1c6954438a740c98a1192c34e2ef307db75e3c6b14658aa76948cc4f110771f3b61d4ab732dfda8b9571356eb7a12735fd75e471119d9fff0e69ccabd7a7d - -COUNT=15 -L = 2048 -KI = 140726a4fb61c6d8875ce66814c6211b71a42501 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 94311d759b2b9344aff86bdd81ebf292619b1f6293834ca0de337e6567beaa3317b5bb487c3cc247e40bfddf7ac4335092fe9e -KO = 700902fcd83ece6dbf9602d0d63fa19d05752646280b0381946c440870a297583cb78ee71006c056baa71422c43aaf50f4c9a16cc831016b3eefe7b7cbcfb2aa28f06f62af3bf9115f81abb29e4a2afccbab33c40a1da7fb02e72742d355ccf3d2d5877c2451c0fa9d32eaa4ffa5e8987db2c1a9e27bacf4b316e3e797333b2a886e7170715a3c01b20fc63fc311a21103c7be8da7f9600034f5423b2a1c3857b0072b8740fcb067533db83668618bb780e6410d1ee3ae98b9c334fe2290eef66a4c4053835a9b96cdabf650fe2c6466338a7d84ded160c4cd0113dbdeb36e60bc2ef8abad516024bd91abca5702461cce78b7f883ae44fe08776ad792fd9a8e - -COUNT=16 -L = 2048 -KI = a694dba454ab4455e679d96e34d6293c22bcbb2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80c223cecab572b1430070ecfe9aac0b2a8b9931848622836c577f3f9b25b89ede1d983e11c6ea9760fa5330c4d10e9ec4acef -KO = 0cd197d0f4661ea0633260bb48d52ca7529c1fca82fb2f2a2927e0da4f70ee08a09564184281b384362233cb585670b7ff4912a4186b2b6316168f4a322f642137bd5340da121d3887205b05f46f6057b14ec94a6147f23f04dca10eacd69707c8aecff57c039e546cf2c8c04f5dd66bf46eb1e2f8e92140203d18eb84c85a13c25e695c1a9755fcb33583f270b5e0e0881fb9b0972999d156641677157be36d75bf5e4453b6dd1ae539ad3cec27f2eb084eba7101b7709f19f38402f53d4bfd2f25a0419af8b51e816296adbce3789fcce09942cba1bb8a3fd61e2b0fd15fb59e56076ae79e60e1ed1af15becdcdff0cfed94b9350803699208e4fcdb73364a - -COUNT=17 -L = 2048 -KI = 3c70dba225795c8fe613024c65c24a2231a1f9d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d459dac5095d8f09b82089322c827dbdc6a1821ff14f14989901f13978c19b4a8f6f7212f27223e06f4ec79b352ab62113bf7 -KO = a4efa7de80159b7a2ecd2df328851350931b949873577d88a95cbbac6a2413ad843d1b3b62a6f6d38f2aec4fe90ad98fb7f71a2e4c1b04f066ab00a802e9c72c0d066c7f798a18e6aa60504cc14e85f7ba3690faca5e8fcb60f40c3c0707fbbebdf43ac87f7efbd41d7fd356aef85dc9de5107eae504fdb5acefb2787e0924baa9245547bf68c25d773852a93eb033f6ef4774055f179f2b05d730f049016f2945c543776faaa2a7fba65666edab22b3264ac9ebbbde06175d365a848f52b3161f1ee15e43317c8d979ba80119b3923637409551e5d079aa9494f668de03b6a2f7ecb6cb7db28bd97ccae599369a1d832821aa729fba932d94331ad0bff5e6a4 - -COUNT=18 -L = 2048 -KI = 90bb6dc861dc9e20dd2cd18a1001b754c485f740 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0cf7ff082498e42acc56aca2c2b7dea86196152d7053cec5a861f01bdf412dd484d59b45174f1d84c8c4026a0f45510cfbed53 -KO = 3711ecc7279b90f6ea04573367c975f0772f3fe002267701004723eb5956b5833ad45643a465d8fc585e4fdb62ee09f440c0547be1632544789eaedd6720f1805b6a9924c210fb29e8296c92653d27534b51e08765cf68b2d02cf47e659b0baeffb6ab69513f3822bd4b37db302e5a1dd089fdd93cfbaabb9d770d09fe2d5c1aecc47a2c70b39ddaaedb384f2d969e03979a9b6189d78e3de6004d1222b4f3fd563d33b35ae3a97c8cd6480e8047e86cb836bf0a1ba7d90b9fe09fc8be051908b9be036c04d5da22378bc9173d91e1fb4f43f35be088e0b9cbbdbaeeef0d20cf9a8bc44fff0f039d1e833f3ad45ed0aff26023a49ba9b207d554243d82c58638 - -COUNT=19 -L = 2048 -KI = d1dcea0f1c5543498a49e0e8d6f13143faf0c311 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6ab5a7fdff130f93a970a4fc5e333a03756709bb17a69181d4a003573de75ff6f4a8dd5986eca13853477635912553ddb281b -KO = 7e1f1fa2c25ba230e84ab261aea0e47c40bd063c09b2a73f17f4bfac119b89af941141fc1684b95d3473e6a86fe9548b8d1aa177c8fad1b2df895cc9fc0f24374df25d5786e9bd72e31b97c18f4f9b56ff22348342d374da269fe7441377770a47f97b103ec022847eee9873458ed89cc0d69638bac04ac2be1c488775768a4fcfc9f51f3394abe9717579169df1df530e5ef495a06f2d2d6b2222f5c524f44f73a230cde45636bae09886bdff1fc0647a2466b2eb1e5a43982f2093445d820eab7e4552a4085e9bad54db4d5c875886983354599eb6757544df410dc926b60fe2fca856943d094917137f21da901c1dd437a97ef724da2f5dde26f982352073 - -COUNT=20 -L = 560 -KI = e93d34c2618613e1c086c86740abfea685dbee19 -IVlen = 160 -IV = 9def03b67ecfb912888c9ea5cb09069f44466e33 -FixedInputDataByteLen = 51 -FixedInputData = fa0adb67af7df03d5f301789f93431a439885c4b8f49af13aac09c508b66c563d666f22ecd70fe3207008979ff717bacc29cff -KO = f6e5ea65880ada7a975c7b2996f8aad6e47fa7bac2940f6c0a314ed815dbbd7a10e03bdbf8f27ea05f94a619c2f52693915f795f815439161bc597410579a19f293db168434c - -COUNT=21 -L = 560 -KI = a0c288690c00fd7ae7151e566fd30f37a2226fc0 -IVlen = 160 -IV = 98cb6308157941e5e9f32559bde4abf3c051af76 -FixedInputDataByteLen = 51 -FixedInputData = 113f10a14ee0f4b8dbdfe5d6dcfccb7f4a0851d9606236e35003acdb03213b2195a5fd7bda7d09126d97523830ed8b6113601b -KO = 2d04ea02e0408f188440e7498717126f3c31b34894f610f4c6b1999a4d3903a66ad56314c245ab1a84633157ef06349fc4faf1f64533c73c64f53759475abede43b138d249af - -COUNT=22 -L = 560 -KI = 3bb29a00b94a3f9e8af405769ad10d92362d1beb -IVlen = 160 -IV = 02e04f5b56fda631edc812a2b7df995c213e3a33 -FixedInputDataByteLen = 51 -FixedInputData = c0b3f75704cad891fbd92216a01541c5132f172a0dfedb040ac49e60ae1ef4d045fbd93eb1554fcd232733584dc6fab43258f2 -KO = 7bb4ac1784a6d60ab46084601ea32ee1ac6b5163a9d4774404cd305c77cdcda19899f913e3323e95195f377be1e44ffc984d80cff28245b46d327970742f25439a8e71c70ead - -COUNT=23 -L = 560 -KI = e74609f7d2189f32c2ac454456cfe905b60cf957 -IVlen = 160 -IV = da21149887ffdbb58b4fa41822e3fa97f0fad0d0 -FixedInputDataByteLen = 51 -FixedInputData = 086e8bfb16b8159e43bd240211116ec5fae630bb7030a80d8e1e308334f87cabee1e9a42bcb49ba8fd0e9ad51972cf6238ccab -KO = f85297eb099c6f1991b16f8309141c06751e473c9187c9520b27544a1b16940456d6e1ffafb16d2823b5750cc36486410d56f876615153a43993b5d36f3cb8898a84b625fd3d - -COUNT=24 -L = 560 -KI = bb873baea7f1a9497a93df4893db1e9bf0a7690e -IVlen = 160 -IV = 60d02611b030ba6cc619f925035eb97f7f9fe482 -FixedInputDataByteLen = 51 -FixedInputData = f1192e48275c882dbbeed7515baae968f9220fa770c771de6b60b7f4dc039c93c8be2c9bc7287c3b6c15e54335f30f9b83cb1d -KO = 7c453d88377293c405fd33cbb4ddfb007e7093f2a9278fcd98c9d0c6d771c0d8d7492c47e9e91c0f518822b81e9caf10e6d10ebb212095bd725d748d562c64090d6f176a1105 - -COUNT=25 -L = 560 -KI = 630778472c93551e5438335c151019ff07a6313c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5fc60342072f1067b7d9d820025a3c9576ef95aeeb24aee9c42d2c3bb1ba6360792ac8bbc3d1dc023af2a60c533f69a03d178a -KO = ef275e1ed188306a9fa6f7ae280e3b751d3b3ddd66efc46137ea30e0148c3d3370cf84f208249d0d1ebe86776ccd6f97aea28e1e82d9ad1aca52b1508404e58cbe5e3a178ac4 - -COUNT=26 -L = 560 -KI = 8b19fcaddc5a5571bdb259f727bd5647636fb802 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 225b5e7fa5bcfab06f7c64493cbe2fb2d1072647e16d871d48c8cf60bf55761cd0d95fc03f4fb966ec2ae2c1289d04c2c9d948 -KO = 8ae58ca41115f99ce0ed3e966e4c8f377be5d6f5be8201a049f74193c6f0f4bb3f8ebd9e095f93c7d0db006ce8ed959be6b51cf86bda31556dba4bf9f80b52835806d5dae215 - -COUNT=27 -L = 560 -KI = ada3f3829577a5cc5ee1d7962ea11f05ac621739 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4dac3861b417dbf68fb1960196d6fad4d22b61844b933d293ca2b2192801b11bab1f2e242765c3ed1d653976017d58e6892e91 -KO = 6076e805a5d02f1673ce492e1998a4fd2c3d9bb714d70248375b247ad42086718cbb6dc5e2c9b88e27c346a0cecae10c3a1e0a69e78d107bb52466fe8cb1d0f56fb43c2f83fd - -COUNT=28 -L = 560 -KI = 0cffb679537a7d758d38df4290b55a334a9ab6e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b15c8b57986adce3b2b4ef827650a1ad9559e26377db9462285a915a8ee8b598965b8fa9e24c6f8a40e833d5edbbc875f59025 -KO = 5675f3f1400465d9de1ab3666c908b74cad068389d6eadb3ab22e46282ea57b8568e64bc92614e547edcbed6caa7de58d7706b0bdab8c14c42c625c1f3adc0377c20b527c896 - -COUNT=29 -L = 560 -KI = fc8ca4df1654581ad5a707e60791927936d258af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d99468be7b399a35ce9aa142be87aea3c88451f361e8b1b272feeb251d00c03d13687ff2716c89a2afcefc5a1aaf6bc0e9939e -KO = ba1030e0510e3e3dfec0faf638e8d5dbef8c0b9c3ff43f96d84183242fa717c2ca00470f48514ada470505ee69449303216053133ffbf23ec302d867138cc1a2b304ac5bf391 - -COUNT=30 -L = 2400 -KI = 98347d3fc60e7639830a889a768121f6e954cf72 -IVlen = 160 -IV = cd5eadd4c7ab8a745ab60bf58581a52060de2d61 -FixedInputDataByteLen = 51 -FixedInputData = 6b9f7e481acafbef79ebb76cbdcd35230f951a068b00680e7afefba0abcb0e51ba6709071355f29828222eb6cf4b02e3d17091 -KO = 5313d01cb45ea6461ecf79318802b155d1aef30e74d60443930991405a83d845028ed6535b055881c4125425f0aa4d9b452db89c5144d0498d2b8324dc6503367bfd07084df3c1fd718db7b8d4679fdffb42266525051272d27167bf937661a89393c24c61724231a443d8f001e1cc88bb521ec9bc88b939baa52c8720c51bd741e54a87c6d393192e9395ec165173c7f462d9dda59bbacd5e063c21d425192d49caa397ca5c278abc27189d954d6fd22ce902bcba839a72729f3aa7a90e71e5946f82077e36197f53971b5ab647119b07c2e4280791cecfa2bb6b34c972f998378816a218cea5583b98e0e440d5b51bde33afd5bbb69d0c494ec038fc0d34448b3302b5ebf31efd2615c2704d3da510f60fddb9380468b62a133b50b8ac3b7a396a6565c0725fad25d8c577 - -COUNT=31 -L = 2400 -KI = 35f1eae2a3c641f518cc5e4fab9d370e80203b26 -IVlen = 160 -IV = 43558620fcd1398878547cc817e5f31ee9a46e52 -FixedInputDataByteLen = 51 -FixedInputData = ea30b007b6f6ab676efd8e977af158b22f1f2a2532ac375e10e5a2caff2d1c268fc982cb5f49d27bceb8e3c7f21d13bd125847 -KO = 401f50058f1a5fe7cce9451339bda1acdf1127e46b78947e3ceb48935436cac38a8b94b5917366b6a9ee5707f3d84d83dd39ee4bb9c7467db435ba4cc02c41724ea6eb37c86bea07b0a016ac268bf9b8e1ecbec59beb918532218430204cb0f197d95f3265cb982d5dac989d64e359f42aaab84f9e21bbf8b1b97096f6374aa160739adeea26f7b295db4466d1ba2734e521d8ec631aa229de2096950a0d84251f3a0f1951c96f190d49d7869e2f6c6f10a46f14d978e6041d6866edd1d111587779e9901d86246effc948c185cdb70ca6dd4aa52d8ce06f634dc1c1e24194c5f6e7a0d182df62a5dc2dc2e25d557ac0c184a17282b639bc2fc5a007585839f0ec5d1af6680b0f49c08ca2e8516cf8ec5532c4edb0f1055483cebe6e4c7f0e7b96bc172924b36e5cf32bc4dd - -COUNT=32 -L = 2400 -KI = 134d10045b081d59ed4a86e5d37124678d557c4b -IVlen = 160 -IV = 507f1101c864581665e44adcbcb629386953b807 -FixedInputDataByteLen = 51 -FixedInputData = 041c420bab8bb4d6e53d6c35baa73fe14ba0ddce668aa584bcb135641d53c474e6a8a5e9f5d3da93214571e25f2e3c339e8f4f -KO = 577277cd0656b5235467125179652bfa1866a0456415e2d279d10c6ec9e29c6488ef0e854c04353d6024ba8d02287d2c7bb004f43839b3b2390e345446f25d465a216b060976f3bd09efeaa566521ed0a3aa2d3d5c801d4b8464b5fa3fa2820893687925d73e7f3b8dcf15c6fdc056b47c68801bcab553376634753576bf132511c9195dcd5c41f419ed067bdd19c86511cf85fc012779461208ab0aae4156fd5eea278958cc15b6b3d5f13b58a33d9f09c9ac730e94ed923aa0398f7c2bd7e2417407aea13d17f229708a07203c48165be5af1eab4382c5d542b0ada6f6f15019315e343431b641eeb75dbaf294769ace75d31c4055171b11d088044f548c2fabe5be407c8b30cb07dc3148fa74036a29a3867264404591659c8f59357080efe03700969849e33da58a2b8f - -COUNT=33 -L = 2400 -KI = 308a58baf143405b2930cfd468335b474f9bf55c -IVlen = 160 -IV = 40bb2dad79ee71acacf5287c3173c64f7d471ad0 -FixedInputDataByteLen = 51 -FixedInputData = 19226683e678b1b9e60e485b147127149370b487bb8aa906b1f88ad38e6c46d1bd2130ba782143619d2677df4d006eeca9f5bd -KO = 79fab3ce46d250486c9379ab49052bf74306703746eb73000790e933429213b3f09160f18f9d9956c7bac71b11b650722f1a2963f9b6662c3a0b3675a6332b6a48c71ee690760cf25fab7cabfc56b1ef48b814f8646ac073357fe81b67ae252f687a9b036a76576e6f76d80623975aa48d6bebb9c71d88d4c2dea39441537f9d88aa3d4d78ac2fb3b9cf3b84fffea36cf9f2f4f03fa4eacbcfd7885f76105b3174359cc3f4b43a933c105ca09ecd3f9cf7a708c8a450086fb3d1350aa4670610d274d2e53a047b1c2767c885341eaee10ab778b134a658a9a0a40be0bdd13d14d390d2234b25100707b233c0fe0c610aa00a4ff81e08b4584f0cc34f73a8bf38bf95d315332a7cd40b1d9d2d4c5f4d0dead9b53053f2d8ce21a5c619a8126e0aa688dbbcde78d72473810c68 - -COUNT=34 -L = 2400 -KI = e6fbf8bfeb9574b0a7c1eb51e8067b20dfa290f9 -IVlen = 160 -IV = 7970caebf2ad7fb4540bf2c4450ed823d6fef668 -FixedInputDataByteLen = 51 -FixedInputData = ecc25903483f15f206f642e932110bb3ca464ccc825cb82d766122877d44a17e77ba6ac1c309828e40935ee87f7727c3bc5028 -KO = 5570e0237c374d7ab02e6ed4c3de1a72e325a72100b6aa3bbf91c6fd92c823ea3ae482f90586d28ee1008308e929a1d604f3ad153d3ec35b0fe23a3727090952e1aeb1c83ea6d35d48461a4d9a3b2b0dcb15a0811595e971804cbc0dc6d4eb4dae85400fef4b56491e804b6d1afba4223a9a70f51ce867b75a6b7b2e2a117cf9f22b44390f001b1994831d0c291e06dec22d654ffffec7e0939e00cff90eb9a31a54182458c00bb9f79b24a353db661ed9e24927ad21525720f79291174f4fbc8d08417bfc918096463da5f4189b10152e2bdd8f234cf0f91282a7ab9957fa7260339228c21dc41cb92ba1211aaadb27a9c7eeb6360186824ae6f891bdc220e5707ba79611986f2b46bc3759e640724b70dcf783a376518482bde093299f4702bd29f8d7e168589d8698aaba - -COUNT=35 -L = 2400 -KI = eda5d8219b0cdbb4575dbc8fe59bf903bb2ed7e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 47c8bfcb494ddfa18d6a35e27c89c598dfb622fdcd10b32af6958ab84ed11829edab43b062a0f5b0e71d5ae16dfab2cd0f0885 -KO = 426389f073d8593be7c61208f5284c26582225066f616c3807c728afc42569b81bbceadaf8288f7818b43a530b46e4de57dbcd3d999f98fb56b544a844d6226aaf6cee6060cca5929b88f337c8f3682cbc4e3171fbee5a57c454e7bbba660b0b530268d132a03937370d0d50c95b42f74f10dcfb8997569fcbd3034cbaa5db00c1c31501d4b76f3aa0dac05730b130e312f3e581c46760dd17513857065803232772edc31456fc6a606e1f68c29e9b1c4f6a8bbad6e1935d8ec19463ad19ec60189f74f42fba5b5452c1764ffc3cab714457c03d260525b086e59bbd088ae1d6025f5da11606809b624deea56fb61e84f324470c645c2bdced2bf5f9102994a74618c1b690bbb60a24fbdd468f79ba3a61bd19a8d2834ae122e3f3f4d7b7b7b95ca9d3fe6a7116865016dbc9 - -COUNT=36 -L = 2400 -KI = 7535c11a6913a0f71529e049ea738e36583629dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a2756097a7ba7e603f7de7d44a40e95cebe7c3405fa592756485e09f285a76c2fdc77ceceef89e339fbf727245db6566cdaf26 -KO = d06ef7c1cec7150ac17c1e822742487960028d1e881593021c9bbc4b09f7a15347167de1d48005f4abf327c90949fc10f5e4baab1ab122325a4f23dfdc3c7e63e091b05538a492b6ad2f7ac3787943c23a18848b11cfc17cda0c0c85d93179c40400c3a8d3a526ff5377546de0663faaa6c4ad14513536162b2ea05383ad96ee76b884b0561d43942b31d1ce609495e732cb7ec02704af8e15684e5e56ccac7a470a993f0c7e48a8eb2a982da9ffee85f080e68d68501756e49159a7196d321fca3e846a1abd944e066ea3aa8720c6acdde8d278f5dfc87ffc6a6770079f2478fabbb52ce3c3b2a2aaa54c340a3d40949eea5a6b4adbf1b1e3d8287b43b9cda51f1369827907d94afc6539ff7755d25da80396304e77f3bd5c5070fbbd9cd2a15c259f09b5a84460ca8cfdb6 - -COUNT=37 -L = 2400 -KI = 406e14f801f460fafd2a4bda7f3b9e8f450acc49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b60d9f0f3d207224096892bd513fe69267afbedde6a1155f33d2690f784c0e5b99211072872823ff89aa2c2d063e54e26dbd1e -KO = e4967696093e6592149d2eee9b4b1d74b398f17b49026c1781d2e5ff35ce52ea33c50601d6841aa7e56e7eb5d60dcebefd0719dfba3b4cecf3bebd229d6dc18d3a85addbb3c460064a5a24c23a8e69f3749db2c2fc937aaecd4d27eaddca2535a7f63a5b2cd7b787b38a01bc311232dc7e55e52134dd48ffc9fb210a70479181ca64b8ed8db6365344b169a06d83ce2cfb97728fd10db66d1599df4f4a0b28ea5529170a2e6a6c2835cdb1520444afacea959e7db382c00a6aad96c0cfd8eef18da080e57702e86f44199207df8bf294765990f0e97dc0054d3d8b685b4faf94657959cdf8baa8b857418eb65255dfdd12e7b3055fdb80607df3c53b0feb79918cf569c8bc2768cd53a3dcdc89462feab675098a956097e12b20a5e822281ef3327e47ea5b7efe1ae620145b - -COUNT=38 -L = 2400 -KI = 4f441bacac0743f6dc7d0acb746e4450e9a01f59 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 21d36dead11e640e71f4ac9433719bad2f30b26cd8dc59bd45bc143468e3723032019c363759c44e242eaa3b24d188479a5b53 -KO = 28d1e67c43565ce4e59e28fa4feb87fb3e04b351f1c7c514feb84666d5af0256582d53b90d6f91f2aae38d3f4592764546354d8705c08443d300f0f73d04fd04d5f94c0c52d6b03b1f6256c58c8b255c1ab030a60c4129d3cf13e1f15e942d2c6d4fca5c8f8fdd246eafca93b2a22f3e25fb15594a6953242dca0d39fae415c7564a1785183102a806348cba5b610197f244ae32652de78db8ff646ec375ff1d69918f54197907531152942cac4b14ac3349c43d82deb8b6097cbf47f136d98d67a48c6b0a4c48b00bd7c3ec4a1df18325cd3b796654bb27576d787a84609f3c4cba9720fa5d8cecab68a538aee9d72e7ddbed4d96eb974590ee92d6c590b4019f2a1351741929ddcb45cbac591e7d94666a16a4036b7ed09a9e707e8d79228cc8532953e1372d91f475e3c5 - -COUNT=39 -L = 2400 -KI = 3370673d7c26ca151128c9e12f80b1b1bac0ca19 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10a2bc656d190de141a82351d51e0140b9ef90a4c3ba8758afdb99d921cb3c3293cad3e726df15e1a56d9ff7008d92a752f9db -KO = 70a4f9b5626916bad452f73f9b041bfe545321393b623bcf37c63348773d94ec7e0ed061deee428b4544f7941c2392815d85a7bd64c54d5bf9305a4cdf508037eb9ceaae2e6c1d09042787b3c25f89034749749c6aefe807b0971d28f9052184a20312eb2032fdd798084a68cb54cf809c08a3a5687a1b86ef26c83e63cb6298b37976bc917920e2ea6c9f815b82e0b2f180c274c7137066357c437273157da30ab9a9eac25ee8f7c8df6021dcb3c95823f08535b38bd643b447da9628588c295ac51d6a5f33624650a1fe38d3dc86efdc5efc8246fe2c6921b6571bc0d73de42c246bfc67e9a4b3ddbdf2a873a6940d07482c4289bac1097cc29db26cbc1c75956523e5912ba6f633e3434786dd1b6452dce6f9dfc2855195663284ed43a9f6b7567eb0bf71ca132b905b17 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 43bef0e4f94a65ae4d702f2deaa20746ede3e60e -IVlen = 160 -IV = 4d81f4ce9b5e6b5d5126a4f2d7ce061458e12231 -FixedInputDataByteLen = 51 -FixedInputData = c658b211915f14ce4834252cd1e80174546850759e79333d6e631456b33eec200295457a5d5f6725c611d8607a1cc332bed250 -KO = 98456b68b4a1de6e181ff9a4261757fd850c930b697bea3d3077fe0fb888177fce8e8f45f4c31611c17dc9d37c6099f90d00d035c98ee84302ff25e3df5c3e8d - -COUNT=1 -L = 512 -KI = cf54a28e80b1822785cabc9fe5069565ceb2e199 -IVlen = 160 -IV = 9bfffce39df5886208448619c0d4e6c236008650 -FixedInputDataByteLen = 51 -FixedInputData = 881c5e43bc916943bdb427b374ebfd6281f96674af7cfc1e969816089086d9401e47373d44551098173ebc4752468986d3fbff -KO = ffbdf7338073c292809ec56565b99f71c9358c96913e7f343788c3527f84f63d363e9b28717d9d0fe77817f8e74f1876df13f25def3ed7712111b2a4a16812cb - -COUNT=2 -L = 512 -KI = fb07fe40c88655617964b4b3d61d36df1a3b8ecb -IVlen = 160 -IV = cfdf0e9743facf84edbf90343beb8f6be037742e -FixedInputDataByteLen = 51 -FixedInputData = 7c0f950e080142895ba9e908cfe9572ee4dd3c0720da2e9d3ad5cac4ae9dfc4cf94775e689d9cd909ee97992871f39b2358a91 -KO = a06f233befddb9f5f06a68a1b25fa0992b2aa5fae21367a4642240c357930b9d8ffb2d8be59c229d70c73772e2eef5e0a1310101956a763303eabd8cd594979c - -COUNT=3 -L = 512 -KI = a2e230b8e936164921f120310d21d35ce6a88ad2 -IVlen = 160 -IV = 3b809acc470625057dbdc385b6c7987a64802b82 -FixedInputDataByteLen = 51 -FixedInputData = 3ad10ddffff5c930e314f58e30a5e20d405bbb932a42aa59114526c3ed060e6151ae1cf2576dbf289af100004884cadafb976f -KO = 12f8e0fe4e13ecae526cb512b374cfb65fd8acf242917e6880bd7b1a3b59d0d4bd923f48263fa31de463512601e7ebbf660ee12245a7cb7ec8177e7d130bd4ca - -COUNT=4 -L = 512 -KI = f729492fddacda58e8eacbf7ba9dbea917ebe563 -IVlen = 160 -IV = 0bf246522510c21bf4dfd18e763469c8c5c2c1aa -FixedInputDataByteLen = 51 -FixedInputData = 3f57866ca78823dc68957aa0dccb0106748248adfa4c7b0b1b8f03c52f14920f02f011eb0a727f87943c8212ecba3dec0c1f55 -KO = 0441670a0f1875c87345272aa6d2862ac5e24c74347adf7c316b219cf8eab9805ee5a28076184d084842a34def4d39b2a3e6f71e8d85881410f687d904bde201 - -COUNT=5 -L = 512 -KI = fa8b7e96281ea8c896e715527110f51b322b7636 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e67396a7e7e464ebb6960c7ba9252bc7d71364cceaf64fc0fd4a12dbe3f8f4587637db82c1fde96a789e8dd39e4f7e3261b31a -KO = a921fdb1fca409d948b98174b23801c57c2ae5af43b469939684e9503c515c2950aea63b03185a6d6de9b02ef3ddfe0cd54377e05027bebd4c34baa88055e75a - -COUNT=6 -L = 512 -KI = 89f6ff2d0c712ad286bcb1505a8a1bc48c3a5669 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d7782c242d3639a36a41889fc65518097781f2cef6a37b6ab45bcb8f455cd6269fc0dee2ff8933ed6bb934d5703008559aba9 -KO = d7138e4f3808c6b0af1a8396522a9a1ba75866439a6ff065ef0ba675b44f9362ce10559e56d5e8730775794af9987ce806cfa5f56753fe87e6091842086308b4 - -COUNT=7 -L = 512 -KI = 40967c81ccafa3587393f2d2d72004e473fbe431 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aefe0fb3102f103ccf98e32d5681d6c12d33cda1f21f6fbcf5b3eea6461a2bd14dd44868d719d06ee8267c5b9893a64993a179 -KO = e0bb1a81ef2cd5d3ddd9aeb7cf12ad06b06f6507b0cdfbcee1f4768579fecee221baf1373c8fafcd64d6f72a19c65b2f6ec7063209cb3b3fcd21750eeb74ee56 - -COUNT=8 -L = 512 -KI = f2cdb7ba4c337b00df00a100c7ad78c8d81f3ab2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fcb9f8c906b47d47148fdc73c5d1909e2b3a611aca63337f5053a351b70b659d960b8f6e9fbb67609c2f61522f03478d190faf -KO = 1dbff5340ceca389ab199832e66afe01145f5500ee829c5582a541ee53267e3dfeec5451727f4953559b9770b2b78449395d1a2cac3e85cbe9a0a8c60271994c - -COUNT=9 -L = 512 -KI = e277e43f5a1109706bee9aeb8d60f5cbf6243292 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 786123c973622011d4cd48ecfa6053119efa9020a00b3982f3e9f649237400464b55312bc29aa997860b1cfcee8b36aad23ed7 -KO = ff08e40b1a742472afd03617f9fec82e94c8c35fc9ce8a72576773aa134d223fbb6c4fcf3b443f5ea423406d9e8d196c0f60ede5978106d0c02aa7542d9176f5 - -COUNT=10 -L = 2048 -KI = 5a3eb8ee6b031653795488679045d7b6b025dfe6 -IVlen = 160 -IV = 14557fb1f91abb82d0c2e04091a3000e63766fb6 -FixedInputDataByteLen = 51 -FixedInputData = 50056a10d06c86345515722700bf4028b03c28bd7c6271f96545d69b14246263b1ecfa6d4fe869a2961facc8883fc6b8f17d18 -KO = 5b34afb1dbf14717ea5dc71bf65106e726d1258a964573450f4fc133f4fa332a82f799bee276c10144da9fe7481113c268f354623669535c4ac7181e8199db7662bba999d4a1200d0fafaf6e0475703645962fe12a6bc27ddbe2c4ca24a428be93859b5f72622aa69782957d7c7308370d3a75f542331be5860b1f61968e89074445977a3004b3ae4c59253b5726faefd281d72bd8d3c64154ad1e49c851cdb0f2910d6e6164d4720c14bbdda64ef409396c5f8357f82ecb4cc1308a7d6e30410a90692e49850dd5c7aaa2fdc18e1b17c4509376f56f3fa658b8de80680d21bb94a7aa04f10b689346f7c683bdb2a68d2d83e75a2c553d3850613885b2c9a3f1 - -COUNT=11 -L = 2048 -KI = 76123a333b8a463636cfa218883e2bfe7fae118d -IVlen = 160 -IV = fbc6a38fb8dd2c8d911a21745c6ee7d3b3ae74ae -FixedInputDataByteLen = 51 -FixedInputData = f145806c564ffe6bdf371fbf8d857ea274d76ba3d389a26dc040e4341e13a6b0b100f42c7cded96606a5bcbc0b7e1beac29b37 -KO = cef42270a48f80f94f1589ace5e0c3ff755ccd912eb0bdaf56e21aa2b96c8a458bbc7f1da1b9c20b6d8f3c39636b613d8d04c13b47a50471dedab595eb419eeeaa94308404b8939d522b750f12b25b05059e6514cf5e9b972cba622f75a355fc533d41adbe174a14f2cc5e8da76f73b73e7b3ba1f39a8b322b57eecef75dc73cfb2da5e5793b61f5a360f6de2be2c164c9de8f41a4760af45d8fc3b535d3e8abd7214f1d18717e7e2dc7a9c76fbbb4444b68eeb8cf4e18a019f4e4891e8ad735626bbdaf32d1800be267d49fe8b245bcbd22f5fc782ca400b8cd4fd05616f787398effdac53b24f0a32bddfcffd2e99a48dab23cfbaa138ae2e427064c3a79c1 - -COUNT=12 -L = 2048 -KI = 50dd110ca54ea21de056cbfa88f116913f568cda -IVlen = 160 -IV = cc37fcabe125fee8c19661995b43777a43c8bc42 -FixedInputDataByteLen = 51 -FixedInputData = c853db418e6d319f8507c7519e137b8e37fe023262d3a509ff0c530577c476ec0420c6bc3b7ed15c3587dbe6c6f6600451342c -KO = f9b3084dc06ccd3c28e6f69ac7fae8b38bd3e2ed246d271dd59ec830e0b6977372899d28b973a0ac10a3ff8f7460e7e7d0f32febfe1b2aa8e53245608157597c4dde57a5b90a6753d977f61ecbca1934ed328be9bde7f61738009a0c445f80fb25aeafede88a9d62e7a053d5327600c96a2b7347e33bd637211d5005c015f4c90512a14428dbbcb7d12e38b218d646117ca46d535b86bb02cd5b04e96a6a4c42761d6779a77bebf976063fe16e6e02f6fdcd9eab568af0ab5022d53e9c06d437ddfd91220a99b451b770ea1ff4858b16fd4bcb4db3b2deaa17a56abc9315b8f9d2f4ef67fb055f6e31f1729994d29ba94fb34f3ae490097625623abc97de4eab - -COUNT=13 -L = 2048 -KI = 4e764117cecb70a9ab3deead4d88069333fab05a -IVlen = 160 -IV = 356e9f41808fe1175b0efd27f084b31447c57fb0 -FixedInputDataByteLen = 51 -FixedInputData = a67145259ce51cf5e68e01248a418144eaf25319daa6152f38a508a5447eba48e35da24ccc8c0ef5207360d1273907ac9e91cd -KO = e4cb49cd0fa0370cd11734604e1920bdb6a123dc7c651a8a1ae29b9c92acfaadf4a50c5a187e9f11e818ff78c1c2a1b452c8c6423c5e3d19cd182234a80dfe06ba40f47d0757581f204dc24eef81c72cde62f538f496392e6ca99d13b45c5669a2685fb1200cfacd7dd2a6ccdf85b828ad29f979c71293aa893b82158e5dbff6f2193af916448834b10a35a51b3cf2f8ce06814d011cbbdaba5bdf67748952d81d89bfae35fee5bbe3c29783370ccb50874189c48eb705240a681ef899a1613b50f3818f9bf1b72a7df9fbd23f377d482f1174900dba26f2f1db714ad9910d041155dc5de710d9aa1a7ea780c8f611f1ebd632f2f690cfcf86b5ad9fb8fecee1 - -COUNT=14 -L = 2048 -KI = 348d07a431909f2e721a8cabb396339627d764c8 -IVlen = 160 -IV = 3215b401f4230626505de4d9a9628154e49d3be3 -FixedInputDataByteLen = 51 -FixedInputData = 3b53eb476637df8976a8b5eb63a7fd42592eb8b268d390aa44e6c30a4cc846ec1a815765c70d4e7ea591d68f67d04fb977f1f0 -KO = 4bf90a8dde2284e4991a71f11bef162a28a76067741f8ad067f7edf8e017e4c9aed19c6e7ab3236de640e048841abac08b433d11019d9658e8a409afb1dc1c5161a0673daada83d78d374655c8488bad68bc7164b42ee38a739b914dda791d83e00dd4510ad9333f44b33cf077fd6d93b22f5cd156aba09c79a18b35a63beda0fe9ff55f7c19a08662ca7dae59e2ec09dd4afe3d962258b305abe47a7d45a9c59bacba198b5437acfc0a584185936b8a8b9bc7097ed16ee25e9893d7565dd56f40a1c59367ad1db65cdb7cc52b7dfc2e28753c25cd0beb1f1f7a8c83f971cd76a658b05edcb0569986b92ce2ade58e6c49173eed48eac5fef38b6b870c0a2518 - -COUNT=15 -L = 2048 -KI = 832f8384d5d7e6279454f608e1a2c72d25fd9e40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9942c3795c2153c6742fcd198fbee3e25f476ecb3508d3fcfeee54a150fcbc65d3ad8b57efff80055158690bafee4c436f29f8 -KO = 4e243be76328923f9421bb70097b68df4a3e74fbf45e90113af8ce84877c61f0c1e4e54fdc57d88151be81882468aa946547815abf088fff0883b742b382c62e37e292a7834b4d07d09015472dc1bec6c0f84f594a8fdafe799e30803aac31b3c6184199359fbbd6a7c5c12988da1473291da2e92df7cfdf9775649c4a611b76281235f2b90628afe61d9a7c13f4c44cc00778861d475e913ce47e585844789539952e8edd571fbbc22d9c5cd1de7c880fa3493c4127fa8252f3a6eab9adfc0cf0c5cee65942db547f27809e5a2d7a31b39f3211bd6e2e4526be3940ac4b561c6728fab4a42f84a39cd25671677d2a8a8c2fad771301b2123bc26efbab150b0d - -COUNT=16 -L = 2048 -KI = 8daa8eb17223411dfe088130f31cf0367c100d9b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f6976f6ca46d9f94def328ecb485fa9048d46520df620c6f612fe3f4808c824b319bb94b5b7d8402527cc393f8a978bc4dd602 -KO = b3946c8a12d5b935dc8c08384511e0365c5d4e9ae2a6f6386dc0a25345364a620bbbeae71294e85a67b9c642fdeb0a1dd2e4659d065f5f717815336aa873ac48a3cf3d4bd62b8ee9e9f09ee0d0f1f5341c1652c23e78b41d279272ae1360cbdf2a8345c2aa598c21357cc65d606ff809df3f2095bceba22e67cf48866413d5d1a8e89b523cfee7cfacb6bf89b5d031361db7b907fbe1374e6ea2ac5cf9dc532b52e9769b32e3082837c71ca53c9460f256f29f182937e255eb86b559fef3cd9335b8f280186cf52c27d9b6925cdf3d6bcaed7318c67046ba839953bfdf91db04fbf216ffcc8428ad2593ee129b55b32a2259227fb34da5b712e917c957c2975a - -COUNT=17 -L = 2048 -KI = 4d8d7b3ecbd2c668240e45422879376875c7b772 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8accb1c8a227d7742bdd38aa1ed3b67653daef9a0f205921e46d0aba0915cdd2c71039508079a035c711354124fc5ed1c797d8 -KO = f10980dfc72fb6004c7d6f73b5afc5cca61e56fcbc722f320e2f03a9878eaa9569500dc66b0a6a6a4b21f0296cfa2902d186471724f8d17d4ee6d3038476818868ccd061b1977d8a09ff385e143911e83c08d0faaca6f390c1f2ba89c7dcf6a33f50655ae4eae37c3863df14ae54400d73a61c48f5c17add3d8da0d9a4d3adb6f39c736f76478e3abbd97edfa7f3efb440b27ad85bf424134023164998cf6e774212027913db45b630c1a11838620502c1b706479612c8ae68e2887d0307a3514bc7e0ee94b12e63db05a4bff95ab12435b343a42e0b4da8f6f8609e101c2cebda93df8ae845e6229a366f7ee668ee8c1965034a7cdca31e6b27919b736caef4 - -COUNT=18 -L = 2048 -KI = 0120ead87e97bc7d596669ce35064875832ff8e7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9e09b8dd574aa0c896cd9600565a8668f37973a55d1ce1174a92a89440ecd139e80ac4b3e6c5738527f03944267ada42fcac71 -KO = 8526c4cc1290bd7b0e0efcf3e812af5bf55c6a5028b0470dc12c69441f3b9db9d9808916653c5a7128c1ab93a3d9493bffec7d1db0c0e4b2c3924cbe02ec61e7bc357e45e4955a8a7d2c1e37f73594663876fb5f096e54d8e4168c9795094366eb05ca51273a36751defce985276666512f1cecc382ba0a8e17864b048941d98753816f3de0d29da75fdb54d4802c73afce427789ee838bcca53d1ebe12926a0cae374166c217d51a94487c91c259ffaeaa0bb93f431eb258544a69bad2bc36a325b6076a97769f4df0557e23fdfa2228123788bc08d22ffb0059f01c95d5a2ac78d3c72d654891c755d63ef7cc20907c491dc054744df69cc1a051287542ef3 - -COUNT=19 -L = 2048 -KI = 85c7de6a68e9c53708dfaefa7a4b1ff7e89f67c9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89f3dc97590df29dbe050dce5bd52e7797ea32e32e7e838485e578efa8fb804adcf5ee5fb6884190d99d410f1ceef1f3ecf726 -KO = 1cb6f236916d35e2b3eef11279600e1e983a8bbb0c1ab2e32a959a3a0d23478dd8635a0887acfefe59c6b40ad35d36ff47b311375f0703cec254311d1d15532da475093240b28b88c0bee41ab73ed615db148834aa4828b16eaea690f1868ab9a894d2533a49be1b6aa840805d6bc190a0c429cc4ca9c630d1dbf5614cc6d21fc63bbd2abdc114fc5d84333a602eb2769e16dd5a4369c445501e53449f1c5797e752c9bb1f15903cd24a443f1d25bf1e2c1399a6bae4df797ae0bbb4aec957fa30ffbd414bd10319e150127ec223a36456468dbf004a404d87880fa2f4bc44f089c0a1f6757c740585686da34017abde6df7bae6babe5df0895e6fb5c1320b80 - -COUNT=20 -L = 560 -KI = 763f1c6f52ce69e212012b0c708fa644840f6d1e -IVlen = 160 -IV = e02d56eab4c9b70b91137001af9d1059651fc2d0 -FixedInputDataByteLen = 51 -FixedInputData = 9b7742904a77697e3ec4b995c0f0eaa53d0369c14cbd10e5aff99c37abf57f1c0bbdc56cd903599647229c3e0988d7db87cd44 -KO = 978e3551f8c021534de5df0c2eb489ea0ce4e38814bfd8e88c005eae4b1839fb0ff9430cbea2317aabfe635a3cfe65c6021d12af329366c6e567719b6498b39b8a03f463dc02 - -COUNT=21 -L = 560 -KI = 139f548c5ad53ff18c3d1cc54c459ba50ef52c63 -IVlen = 160 -IV = 0e7d910f3e5e7ee356b9a085ffcc02557ab1c890 -FixedInputDataByteLen = 51 -FixedInputData = baf425130f1a3b090f7ebc6affed98f032f1ddee247c1832be483692e12f891eb48622363f2401025b6548e2b998c5f8084263 -KO = 4a0d2fd4503423ba542ad48cc9bafe8869cde51b7c6eaa4b2e70bf6b7fc3cf3657cc233b6a6018041c0d602d1ab0f16cd1f341e17cceaa6e7132cceeacf95253f763a167cd54 - -COUNT=22 -L = 560 -KI = a76be8fc4f8ab2a721fbb753b77d847b3bcfa32c -IVlen = 160 -IV = f95c87f2d13340c9a5a2bced553c54c74582ea8a -FixedInputDataByteLen = 51 -FixedInputData = afce47cc62d3b01af469742798b27514590ece00c0a97ef637ad6250eb65aaf40a052f154b95cac0daf9660e03e931f0e279f2 -KO = fa8ddb9207f21d8938195014fb06c9aa1a0bbb181a95e3825acde4d6fa1d11a52f2e5f0c789d844ff6ffacfec09c8be58b718453808108f934b38f42307ec666cc6a84781627 - -COUNT=23 -L = 560 -KI = f11933f590be69231d368d3a533b717bd57e67d8 -IVlen = 160 -IV = 4db6215ec394f90fd02712c8b85aef2046b78edc -FixedInputDataByteLen = 51 -FixedInputData = 7c6937e3fb1eb0e0b39e1cada2e17be41ab81544d57cc957c5a0e48d0aefa0f71cb48dd78b10324e67b3b03fb4a76fb8915a56 -KO = 9e9d56f343a5d5b67821b03ea47511d6a4bc743c5b8cc1e8a6d2b62928f55cfe3daa7708bb802b61dc97287a7557432c886babdfdb104642312af0b70c05f5412df259ea1051 - -COUNT=24 -L = 560 -KI = e211e7284837810bd20c8df25ecb8a5843da0780 -IVlen = 160 -IV = a43287d3e412443d8413af2d6e233d9d44103608 -FixedInputDataByteLen = 51 -FixedInputData = 4c119f9193374016bbbc4d5bbc0abab3d83cc537eb076ddb66d539043e8fe37794cbee540d8daa16267128ac44f3e579f36aca -KO = c0131081f7babf2d3c4cbeb8cf1908c258fc50ec7467ffa8dab6bee805ad8aad6506742418603d6781e149205f4d983974316fdbef0993141c0b0a3555e46339e65455d1bb0a - -COUNT=25 -L = 560 -KI = e8b0b5482c009560df68c3c4ab20b6e809ebd80a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e84a35f1297c8c3383db456b724843c9059a14c271f731ebb990ed489bfc7a690d2288c1d41d8b8e5c29723a316f88af996474 -KO = 177dc9847dcd8153c13b6cba153adec62fc868c26b4ea49242a1309a7c5f7527c7197593c998fe5b0930845e3fc2e3ff81f2d7d66d7b7dc210692d6b134ae5c8be045c733f7f - -COUNT=26 -L = 560 -KI = 24a508218d1b35695cfc43dc99a1374fba81d4a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d931432fbe6111977148b101725dd125fc955048bf56fe2e7a635ebc911c9dbabbe303817a82b8cb9e81a8c3b78950df804da7 -KO = a5a8da0faec61a2b8207a58c82947378ef9572fe4614617f58de82d4bdd074d7b2dbc2f5490166360a08340fe9b628d51ee0a98c97c1273f88b685617cf950abb28ea2239bfa - -COUNT=27 -L = 560 -KI = e8049300daaf18cfe71f19255f70ec6f8637a62a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dff795ee9d46e3b7c43f417ef98fa4fc6c591b2ffe6e81063ff83972d455132f572a0f251fd69f9d8021851a0662c198e685d0 -KO = ffcab90eb3290af11f752973f6f199293c2d65f3ca95bc21a99923b0d7552a8b7898cfc77f2fab89eb19415feb3f64c5ea7172858598260a910b121d496e449b69ee03ca6a65 - -COUNT=28 -L = 560 -KI = f661a72068dc7cefef8c3c7b1652774d9cedca7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a31cd3af2a61846f6d0b1c4be23ac95e6921c034b1080f95e882adae3805b65a11bf3811a46ef783e168f2f6fb4d97665a7260 -KO = cde5b81ae070d184b5d718fbd0925e12f5dc44f1cd1b1edc59c16e5224d619509c551271529ee65d65b1dc8215183edf520416c55e6f7a3695c1ad3e8433d1af83b3025bb085 - -COUNT=29 -L = 560 -KI = 66774172eee1006417706fe9e4acb4c7ea7b2d3b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 97cb6dee6ba79a9a920642436641a15f040bcda17f4e1ece072c2fcec709c2e9a981085302ee59179e508f99e90282c70a045f -KO = ee77d7f2673b6fd946439b1064eb5b4c36f453f588830d9cfe919ec1d2755ee2b9996f65aec2270d475183d19f14e921d5dd3446b426482560ef2219c85bd46030fdab70844b - -COUNT=30 -L = 2400 -KI = a608cad648f2ea63aef2a38d2f30716c30286275 -IVlen = 160 -IV = 89a69cc3858c529ae5db0d07637fa6d60064d834 -FixedInputDataByteLen = 51 -FixedInputData = 3eb10c7513f5c52381486c1c401532a05314196ce62b66ee7a73cef796ca38f43bd37869fccdd36d7cb876bf511acb0b33d178 -KO = 0fff03a2dc0f2813bd936db03d95b41242dbf564f47aa37e4bc22d23c0ff72c0c7ae2d2364cd170ffe75629c6cae6715a5bba83cd7a1855fb01fbac21d6c85ca76d971412089bc22b8cde857de6bae3ce943f7d926d0a7e7c9b6a68bc301544a9368d38a326bb8a5e341e6a953417bf9bc2d4c82bfc3a14be6aa9deb1ce72ff0f18b494ba22619fd8dddbb868c5b69d4f990be8cc9909696ba8ad175888aa22f33cc3cef236e65ed8cdf00dddcadf4bbb6d95077d3bc6fb5830a75b5a06b5b2bb8df3673239d7b2ccbd72bd4daae5b8275b4d351e6b1274cb8038d5f9c3779c476aaf40f78259031aca32ac05d8b122cf4198ef2ea1e8ffeac1b5b56742a6670460e6d3938d90e2a9d8e85befcb9a35aa9ca77fc6706935e0dcec2435efcabd765404781b502f8c8c6c68716 - -COUNT=31 -L = 2400 -KI = 2812df1fadacd8ffde00e6b1dcdaf51c06eeb3a9 -IVlen = 160 -IV = 558da9c2398f782cad112caf3bbf9fbbe67bb8dd -FixedInputDataByteLen = 51 -FixedInputData = 5511bcd4499c7bf619a66407dc876bd4cd75ce9ef5c4c14667ed0dc4efe4cff54f602e24a31ca3361e6bd82e28b5f3c69c0397 -KO = c73a5c27cb33b82ac3d6f48aab7ca11d8321c5611cfb0f5f9ae3ed87823f3a07080b6f65c727a566c54f3e78bb82905d43c9c29052cca7f0f78eaa49db5672ee351e3635e9bac3ea11a7c90474ceef9dd71520b358ded9d7ae84c32e5c01b163467f3e6aa75579f30f50b0051fc93598f841d8c8aa6f56323b2ededb93806c8c5e673193fbe2625ead27a84f37338b8f9b1a6d95bb73ec25c6a4f45d73617d012f6204acf7b35ce70449523d68f4e679ac627f62f388c3227a69ee6ab50dcd0544a58eb56922efbe324bf710fe92a5a1aaad56f297e7504d6c342826b79bacdeda068662be369d0b348f1423682b1acbe50c0b5d638e38492eb18ecf19975f1cf015e267104e459ecd0b948d046e47a426cd9b68ee66d033c0a06ac55378c10d9c432aeda72a45ca7cbbbab9 - -COUNT=32 -L = 2400 -KI = 2829a5523d5a07c8143fb45ea9e933719d710fd2 -IVlen = 160 -IV = ab4dc160bd6a9a20e606dbe03a0454e01eaa7713 -FixedInputDataByteLen = 51 -FixedInputData = e08f349e9e0ab9904f252c42197cae949853aa506def797d6185e05620525c16edcb98f6e05cce06ede3a0fef60e2a9897c664 -KO = afe70cf27bf412e30f80cfe8952d16c2ffba8189fa31422f4bcccfd7e8ccd0d79b923c6e14ad6f778d2ff5e34ef480b830661226e0a7751df33a3233a0d7e21a7f2433912810c190fdf20d2a55c31128508494e8653ab33a45bab333d770d7e16152a88e6d2df6960aacc5a3213354ec0f82f71b849fc9e19beb7345b3acd5e47f8bf16ca391c81475561b0fa2ad5880b99e983aee87b5a01177af2a4304cedb783261ced6d2b9846c2398be7c100b8c76f8956d43264e5c299e851ab3e40f474d2efc9ec44c0f6ec3f3dc28d87c5c943745f246c81226e0fe9d6dd6cdeb02b4767d81bc16e5fb2869ca535a5047ce86f8235157213f239aa803bd7dd4f1b0c52685ce5434d8bdf8d703ede129770144f03464d4581b845e7669ca543562f63baacccae777db28ab6ae3dec0 - -COUNT=33 -L = 2400 -KI = 1b4888aa4dc7c73f525ebf461c55c75931770db8 -IVlen = 160 -IV = 5d17c50df10160b4ebf35e2941e88c2ad9c05108 -FixedInputDataByteLen = 51 -FixedInputData = 098dbcd18e2246046ebbe4f5dcb3752a25e60125ea492f5c065dcf2338fc75863acb76fcde12d972fc963c25e4ac2c603944af -KO = ac6a91796e4055a456c65ae213d48a40aeba25013201f6c8c71413e26c3ea1b1043f734654784590dfa1ae03a634fc38cc342f67afe216668fe70443e6ec7c9948aedc1587049e13628dbdfb773aa78ff0a2425dc314f7270759fad85a6a4e290ef3bfe01cf6f204143b6d20b8d1c2c2cb1064c8baaf1c6d2ba2d718458ab15ff72ecb29cf73914cf9cc48c24aac6f8fdc94ad21b30b06a67b6cf2fa38bac205eadd58c4aa134748f59ff392c87aae417c2f04799ed8e3f48015ffe429b89588cceeb6a40f7d89f2019db1107eff73bdb376d0b15a24256df68c721fb1cd021679cad6c88376d26dea18fcb14c2cba2d19e714bcc23d1312054614d1b94e76c969d522400991784b542dfbf46682532a7f404f3c76ab1ebdd6a7c6b92d2f318aef3d90b25b0644f3b687c83e - -COUNT=34 -L = 2400 -KI = 84743b24839b71878fd0a3fa16203f7c461a5fb7 -IVlen = 160 -IV = bf07aa7f2e8ca695641584eb8c66953f0b0761b8 -FixedInputDataByteLen = 51 -FixedInputData = 371b02434468bbc810326058c59db48a40869771b278f16ad476be080f794017bfd478cf93f8ac4ef6ea7cd3ede97fcd859089 -KO = 8ede4c74eae1bcde57a6672699a21a414f950397f5feaad38f63e5c26456c08819d2defc5ae1e6c8aad1592259837351d9602f5c33fd568220f470d8f3650313ace63bb586932e27ee2f33a7ffa0397af1ac8fb67a7983a40e2cf93929259295337940fbbaac0fb708ff34e80b60960c72c30b41ddadbcca12a639ec9b1456712a619394cac3fde845910b127950588e96ca9e64dceed859b6a5628e9b7fbe4f9da96f71089051cf06055fc53546cfb5bfc15356255fcb23ad9688da4e873da0096bcb3e19aaf9b4317d44bb29a0dba492db76b68228e3e07a3935b9795d5ec82a595ef2032231f6e4c764eeb763376f3ea4c79617351448f4675bd1cbae0ac98812d776ecf9098d8dbf6b506051e29668784085639ed78810d3377db1fd0b7978825135e5ac09cb06e0bffd - -COUNT=35 -L = 2400 -KI = 45548aa360ac04b274122722f21eb53d368feade -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6ba501703c86cc7ba43d98e5a6c571ad4ff16183c5d259b05bafe29d723c77165d37b0814441cc7c8eec4dfec2a4cb668ca1e3 -KO = f829422733b21b8e42adefb4afa71703885c45b311091b5647017722268e6dcbf5bb19c3781f04dd4119b1f3e81e70a69e80803e591ea159e2dd2f030b7c1ced8a3088cadc16b03502cb22fa85f318d392d528665b629d2fc335eeb5c94ccc5af22bea97d66ad496c682eb0b4d6ad4c40142ea3c76d425cf5e17ebcc85520cd2087b41ffe19a47c75c14c26628d39e87e6e851d68cc052037420d07dc333a80e03a1036e21bf9956d8aed3230717f86f6924eed82a0570fab558f9803c3f69715ea53dbcc364cb82f8d0bf3ec161397045bff88df5a721591cb9be911dd983e591831d7d5c3723c93f89eaa3b79d4af1ebc6a995d7958c7b5317e34de29c77835846458aa021ff35f47571040eff662ed13a4d5e21a3a05bdb02e8ea783aa5bd4c826c844e660fa560da38bf - -COUNT=36 -L = 2400 -KI = 15d4685ff95fb69b6469389864bd14c781b94a9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = abf614e7e744a773143fcb974daff2ebdeb16dff276a6f9e063792de5f9607f56164333fc16d96a9495d5f5f2b65ff087b2446 -KO = cf5dc4d52a0924202c711f5a86e2a72ad4d551b518798d3f5f585b54a9de3cbc59b25241e4c8468417368c4dfd8a5606c4a83d5559b0e6e4d940ceac43d9b03247ede0cdb19fe4dc83aa0009eb0fefd4aaaacad913babb111b2687c2c9616b5304e937146a0ba218d98be5a662c12f880321efcafe13a0af826208edd883e2913e61724f2db6283a5c596b55e7056f39439b86f41fcdb4ee79f56b083e4691348baa75081ebe24f61b702c52ff0943f92ad85324f1814cc01705e1bf317b5fb3d41f6edd9721f4d28434b9b201bbbd9d079e917877ce6eb77c0e5829dac77c58c72d91059248168114629865c2c3f177e47eddcca5bf5a08188bb6624495801913e20c1c27377a4895cb6ac8482b802baa8504471c0c595077ac82d59b95e3b51b573b8a58fff090f0e3d2da - -COUNT=37 -L = 2400 -KI = a6623e8317fca2329c4ef5b204529a590a0c35bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1fe2ca2601ec3475198d1e73df5f138fb83cecc9c23e0dc48f04624a3b8c29670635133212af585666cfa0aa1b10d8f5b303f3 -KO = 262e601a5012da3e8b482544adbbce300ee8a39646e65058eb3dcaa4674d7e32cc4fa3e523ae956dbe4614912240c9c1f65ed8bd6b42368f447fac9d28747b316602c16ef639e4e4e5b3c2969232f006b69cfe470d7cfbe31ab9abe7004d741e91d95a69a2f9d937663be0ea743f7b6c98a80fb23e2ca6a616576e2cfa2890d7756d3f4b0b17da83642f87641f7689705af8170856deab664d3fad3cf069750bef499db363f2b301440745f03b5a902f3f6557f247200a656e3ea4639684c02ba9de819879c2541dc9fac2f24d27596f73675d0c3e23b9de0f75eef0e5159b8493746707c82d9b905ab6490bc58875c02321d23063a56eb13d088ac3f9ac1e179299495bdf50c5162d31b86558771d851734f5348b0286c603f7fa0dd13c6ce4fe1e0f768f021ea5b4138c37 - -COUNT=38 -L = 2400 -KI = d130c709787c924bd8d52e19eff9cb38c37110e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f64c3dcaced225ac03e23c847d20b727fc05005634965ffedc4464d81ea65221d39377870ac2f404576a54b05e759f2d2a019 -KO = f056ef28eec07b13b17633fd1dcdceceafbecb543105841b45f290105a906d9e58a43ec3d59438b515499af09e2bc70b4ff3ac18930a28d7982ed2d4d97c6cc63c7fdc18229d23334d231bbca4eab856d2a0691f8069816eee006d827adccd1012a116c9830da213fa7a7756679cb11be11198e68ec508cfc5690921c358fb835ccd2d6cc7ece72e4986a56c55d44cb252087aa63280ba63edbb7b19dee1354f7d6cf63d9c3f424a0e1446809e387b55d9399611fde265e68010f88e8f9319710c96c67ebcf5a0b2fc6fd7e503998d80a3a0cf72a9b6b4658b62f189683369f0ff95f37d92877eb842b5f854a776b6852494405222c9665e32f356e5480384bec71fa21a61d356e53c35df06daa3f01dec5684e6ca487d2266d8c2149863fbc5e810bb3c8ee2a265fe156e99 - -COUNT=39 -L = 2400 -KI = 7994339e14e5396f0df7bd5fa4b69a7293b76d33 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d4fa1dc6404c9e4d85bf9c69dba3e239a22a348e236ef3aa5bdf5da398afcdf875a466c28cb80c2256400bec0f785a4fe19a88 -KO = 99f6c7b6b1acf7bfd2f4ac6cb016e351ac3f69fcf199740bfdce36b200e2991024c92fd8cc0eea9c9c403210c951c74ae690eaebac735ea927ad893f3820fb3f2965586dc5bb9e0d1955c525d407373d388c469ebe7a72a1d90197153239957d79dc63f7da1d244810a9911e97a2a0760cd36a0b68c5a5a7b347ccb43c8fc625bbb9427c55364091fdecb83268a1913a0c474fc722e17ffce50067c6df7863ecc8daefeb867e0cf009440b8bc6af2dfde33609a06255aeb31b6a529528e8b8316fcf374edd9abcb42cd063902491dc9f5c065893ca248ef7f690dba4121f39c060cc3bd3d2a45ee8c506c05dcdf97afca7582e720cdba680ff8003179414ea527f6b5400e8f89070f7677338e13a8eea4a0b748aa8cf5d63f0dd1864571688598fc5b2738492d6b15f84f618 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = b2973cbba53ad9f8b62938233463ecff13ad80a0 -IVlen = 160 -IV = 2f4f794d99709569799b8ec90e6c9f59b1c39683 -FixedInputDataByteLen = 51 -FixedInputData = f4e5673a72579bceb09d5506ec707786f11fb733a1cae96b2db4c6512e853f443acb6961712911eebdfcbd3b4c6e2ca415f444 -KO = 4a780d8526397487b006bc7ae49868d6a04a10adc27719f658d9296be340d1e4544c90df2cb10bb995675dc76299c39021791f0a18a64c1216089307b4c8e7b4 - -COUNT=1 -L = 512 -KI = 7bf1f0b3e721080911f98d32074985a8fb6e6afb -IVlen = 160 -IV = a5d3aee23293337d7a45065f75a76ac379cf458b -FixedInputDataByteLen = 51 -FixedInputData = ab9ebc3323f74d851de3de0694a6ab696c7a88c2acf1c2dded4d605051df9524e542189f866d98dd4ea4fbe4fe08e59ab0cc0a -KO = 228f7025c02f9022e478e6a37867def2c1ea212fec0c10f6a6eb07edb5f4d58c1113dba8e4d91c7a3a208016801f02d9067f0b8da766276f0d5fefe06edd8540 - -COUNT=2 -L = 512 -KI = 56fdf43298d31c7d42fc21fbfbdf7f7736017d51 -IVlen = 160 -IV = 51132f258aa5867f300d54a9b394217ad531e757 -FixedInputDataByteLen = 51 -FixedInputData = a8de806ecac03ceebe76727dbe054aecd63778bdb9bba43c4f26734fc7c5da6d3073046dfe7726af4e73558f9eaaf9cf5e407a -KO = 67045a582fd124921af49862b7393892fc7fe2ee3d331ff015ad87ffa82b503890bbfc51e44a77c54ed2d67c5518de33775ad28b00f05283137eedd26f0c09f9 - -COUNT=3 -L = 512 -KI = 7bceb476aa5aa62abb85b7536b0b41ea555b8ada -IVlen = 160 -IV = d5cdbb46edc094a83e17a730fc731898be93ae4f -FixedInputDataByteLen = 51 -FixedInputData = cc5c38b224757a8aff73a09416e38c064e20146aa8a247db7fc21446c5c09086a31dbde60546a247405731c1c081d5ff89400b -KO = 340056e7e1d3d02611ccb95bd54e53bd990ae06b1c48f9274e4ad467bbfdcf28f4a28ee85704ea5f64f163d4a90e1876e2ceb00bfca21dfafc3a533411588984 - -COUNT=4 -L = 512 -KI = febba4064238f15f1ce9b4d4cca064d5444dc7a2 -IVlen = 160 -IV = c20ff1033a7efc9a5141558f12c3f43ef7785703 -FixedInputDataByteLen = 51 -FixedInputData = 63f4b768438b22c2494676266ef7900ef2b90691201fd8517ba5093f2530141533c8c4cfd7da31ef15efef66868969b8694a79 -KO = 29d32c569b5d1baeb82fa985a6117f1417a3dbe4a4a865c85b1d451afaf924dc41b247ecd209f02e54a1d88294b76a73a8a368c938e6617d0798ad754e88a64c - -COUNT=5 -L = 512 -KI = 1296a963ade8e6a215bc2c88740e2b2bd2f567ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd509ce7daea66a4dcc4791f1330620df0df6d367a4435ba416928f2a79e7db3709eb78363b21a93ef1f249b7fd2358317de52 -KO = 6cd54985d6b62eed4b89c78d5fd7e35e72bb172b39d4861820974204da8120283e84ab2bee556bc5b073966f20c6b3f85e1c2c35f9f75bbf64730e218adc2229 - -COUNT=6 -L = 512 -KI = 67766b92d42d65113d7974443f06cb8aebd8b461 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53df4083219bf49ce96659ea6f8ab668b57b19e22d7ff8b515dad183db68b9abe5109b78cb14135dd2cbe00a88b4ac8b6d1bc6 -KO = e2019edab4722e30797c1837668a65f291b6bd4f46fee439172a0c5428c05719c2bc118df060972e8d0c6ec2c2cfd3945d48818fad0883648191edc5b1aad9cf - -COUNT=7 -L = 512 -KI = cc68492bc38d36215bf97d4eb802fb0368566893 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f1ef2178b08ea350737422a2f5f5e2142404e36a975cdbbaaf0d43cd271b027135f0c800015e7d584d53860d45887ef16942d2 -KO = aa51f0aaeca11c887fb2a4d84481fa9a2c036e56598991406949918cefad13811f58903b958af22f74d8add450bb5e94d185ab492259b1df711b864ad5d694e0 - -COUNT=8 -L = 512 -KI = f99ac0e06fa02f36a7b35ab044f0ead7e124ade6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b708dac2ab4fab1ae6f344d02dc516fb39cd06b2982a1cd257c320741e1e9ae576391d5c8e83df4afcdadd0d57394caa3663fc -KO = 5e09e732d504f34d7ab5cb4616f02dadeba9db7259816b32b998021c343c02e1a1a8ba6b32213ce94649ec1601475b26dc09239f37b9aadd17328bb9a94d30d2 - -COUNT=9 -L = 512 -KI = 234ab5159296a7f78f6ac72f2a6f6f4bb0a76403 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 13e537d6e21bfc1bfe74715dd708b713ad81d5c256a411ede3f7c4a72db7e42a926faf870bb27e455f3dea685c56e7d6d6cc3a -KO = 39ec0337131279571f4ca510cc20920885d9a3539f12c87689d47a068085c0ebe9688b1b06ef15f095c7b80d41d7ef941ec4bb470126dcbe74328507d873097b - -COUNT=10 -L = 2048 -KI = 5ee4cd570f692e5863dc4306983acf24d4aa8527 -IVlen = 160 -IV = 18734256d6565a23cc868b87ba5b6ed9a6c9d556 -FixedInputDataByteLen = 51 -FixedInputData = 9ed696217663c95fd56746f08f07850045ca6a650d68642217d35a6adb02c850ff9053ca97c91d5870e2b524683479e71ec295 -KO = c25d53be89f96307873c1348148356e42e76d00fee92e51a73a620556c43923e9b06adc96f282f1c2dbd94bf964f4b4a4a06b913041f12ce390424ececa15a612821abc47c0ede036503797ad14a643db53b6a7e6e5cafa2f0d2034da10960b203a8656e3187da0498fc4fe6977fc038f344a00a675e5622bfa01b8acecfd545152ca1374267a0db4dfb3f2da04dce0a547271654183425f9d8f013183631ab505f14038db5982edc27a3985e18f1e3be8b224899e7854ab8c1ba752898b6d62a4bf6bf08ec1f9b66f64e79725702a2063b2d9cc25aa68064c285a3d1a6c2087be5f9129d3088bc500e63713a312af21cc011faeb3136d2bd26a4ea8ebeb3324 - -COUNT=11 -L = 2048 -KI = 19bfc35fa4d518c45a09a84ce5d7a8e4648f05a1 -IVlen = 160 -IV = a6c194d9fb96b3a6d29292373092f1f7090872ed -FixedInputDataByteLen = 51 -FixedInputData = 291de2986b45e37040f02de9810c30904df0221d192d9c64c7365779b34ee33d8e1b7d4c1e51cc905bd206ebc19e95029ec1cb -KO = 0e1d4aae786fc391d0a805c2e0dcd2b20e2d7c8c8b69fc627f7963a2668031cc4eff6f0bb1aee811df9675938f34caa45ff461eb356d339891496f576bf06acb665d86047a36de1647755c92f7e910967eaf231408bfb8a1632fcc2ab37f5a774faa26c0b32c4149f8b6a5ce1b1ecb104ecfc3b15ede80d7708fe9a3b402a24517db05df131487c10550a2e8fe6f65951b733b15587d23c909fbcacfeef86eeb705c123251375d75eb5824badec8ccecdcbf472e8d6331277390cb5eac17647c27b9db3b2b3616836a79fec6f95811882b87537b66e156d5a3fdc5fd27f07d78b0fb110c8e65a2579e5a21fe290f1cacb3089c421235955f5c241f21570a1a43 - -COUNT=12 -L = 2048 -KI = fe7ffb79b0289091cc77032ddcde494a9b98b3f0 -IVlen = 160 -IV = 347e5af29857c62972add3ebe063b88d9098c5e7 -FixedInputDataByteLen = 51 -FixedInputData = b564a2528738d1fe7b7cfc2dbd765899b7a1604841e167c191e4f80685bdc9497e30720aa369df9b65a82acaac7e2088ad7d4c -KO = f3cf80fd5b0353fdc7f33726b9a8a2048f9652195a98041abd7f75d1c94d34785a6e5144540d18615be7db7963bd0fb237047cd321328ba71fdaffe35276232fe3639e4af80167d79db6bc2d964ae78061cb000a042a77461c7c0a7a86bf2c56b5daa1f4c94af9046c2a318c2d39084844c8afb85911ec81a12991af9b7082bba61df046fe3ab99475435f2113d51332da5b114cd7c75c97f9d0a192c2113a0017d47fcf119760a718e511d581f1f3f969b1428c3ccb5c42c7813d5c78911ef3dab584bfc8e4922669c88ce74a4933074c79e1ebabe921285ed068f76c0a64f612c1f7ebbeb5d14ef5a9fdcaeaf033f082fce804600cae92dfa88296e6e70f4b - -COUNT=13 -L = 2048 -KI = 9caf2300ad8dfe8d1a0f36fd06f6595458bce0c4 -IVlen = 160 -IV = a0098b990034e6e0f3fd037be2f0043e5e5a6f5f -FixedInputDataByteLen = 51 -FixedInputData = a1d73c7efc85fe079d4aa47c626204854758726e78b9448afc1767bd45cf3a74223abd1c7d048c21372c6ed5890ccf51c215b1 -KO = 905096be939e91d339d1df3596939ac29767999f8a2614dc41813dcf5a79d0cef20f5c5e39acaacf7b5c747923abfd9a3ddb0d9cf7eb59a0321ff6fccf031e3f6cf2a8ecd12196996ce191bd417c7a4194ee423a473575ff6f3f9d42201ebdeb81af059043acf656803980e05c98eadb90ceefd6b07a199273645585a42ed14cb9c3ac809751b86cc88684d19aa011cfd9b0568b29005e24e6af600a025f9142158fccfda20ff79cb05fe541080c99e2f80660f03739aa31e10085c7fcea823d47a5573c705abc7cee308217345f4cd4207b98c2dbecd6edbb131ce8d7682777d7e3d979b64dacecadf0fbcec7eb55e490466ed7f4cdff3950296a66def5e998 - -COUNT=14 -L = 2048 -KI = 1ac4e77695fcf2f915c223f80143050fdfb3b080 -IVlen = 160 -IV = 1eea7ef243eceab026504264dc069fed3e1fe19c -FixedInputDataByteLen = 51 -FixedInputData = d95f8e21dec5aa6a4c298d8f27189e40c1ffcb301c24a7858d2f7aebf8a356e8e702210ca53038613202db8a6192c934d45408 -KO = af16bf6c3df5b8baa10bf03bdd6d00e414043767e93988d6c9a52f686181e7599136827199a922250ed7e0ca7a306ae5b45041829c4329b8dbce93768cd7218289840e9b347eb5ec315a4e8487c6c573e3ad0c526aa61cd95a71ea1e329e3bf95a658ffde75fed1cd7231ba598f1b800ebe2c6bf9fc72d038a448377466780d19fdb6a79119b0bc7e816e3451923b2062cef80b222b5487ced25e95f838925029ffd39e72036f7b1802c4e9371ae0cde617006158eda48636504f9af7fd344840ce680423751498b22d83d372a8823ffb7bb9e4fb75724b591b9eebb5fd53e220d12b12d2880e96628783d6fc5e13f9c936914ff094a7c98987f24ec0fe3eb2e - -COUNT=15 -L = 2048 -KI = 15be211d3ba26d024060e936e5b5990018abece7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98570a8a06241e1baae07ef1dad8140481e07e521781ccc7ef89d98437833ba7edf72ebbc4768dc6083b08d12b02b9808304bb -KO = b613cee1babac8d4e9a4c1ed5439a07514b181dc0ad39f1061e797607b8d9b370d73af85b81f603ff34c92161feec8e771cb78fd6cf05f18be5365f0f0ee4f8a0541780d487712ccd111772807beeba41948913d53ecfa70e64aa4eb424547c445133d8cc0cd2478141ad1b42b6d14848e100dcccb38682ba9d487c654bcd3bfac72a13d762ab96dce188d31bf375b15ea5d870e7a87f644ecc2cc59e5476369ff4741c1c7cbf1a456adcf0e14b5e9f3840ae36610dee1672b402d31bacf5f8f6216346e362cb47567a69f094298f71a8a6b7c419498e5b69ccff4ba90aa307b22119d32dab997edb8d0eae5246bdff1255c83634179c07a452a4f81118a17b4 - -COUNT=16 -L = 2048 -KI = 2dae7033370fcfa0b17205727aa6dac82d9143f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 148740a443e4e0b2f73c60f2a488225c0a5b27b45c49a876bf9e4af9d6c3210523c929a85b117d5f2ecc09c2e48eb47573bb8a -KO = 6b174d46a29734d01d6e99886e9fe29fbb45100f2011a94e0eb953499c5ba6580a66387269b85255ea53c730db943f20506a3a49988beac6b038e22b5b9f2d08d67b940bded09388347f14b239abd96211e95085cb013e7d899e916f217d25976d517885943caac1d51b5e05ca6be3fcb9953a9425bbde367bb5a133002493e5f7d27d97cda67006f1de206b3a6142137c1b2384426120b4a5b00cf71bcb6a93ae155b68fabaffde96edae5c2f1bff147ab18e6f6bc2ff488e66aa6d1614b8fef829ad3e61db0251f26cfcf0b42285f2c42db9511c769cf1962e5bf631e4eb3f864724fbff5a60ee1c6e5f85d72049675469e550648bd80e40ad3397536a9daa - -COUNT=17 -L = 2048 -KI = dd68c82c71d71903ca037a52f5e97701da62e243 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a19e87210dd283f72bd419ea7b4bcbc388f201d1923f351be8d369aff7518fd4b93371a67dafbda3fc2fe38f6e22409f47f02 -KO = 6a64f36f2261e0a9f838be3e70a056bce7db23fa48d4bb939ac4d0ec9b56968d9d43abd72e53679d066a93d47b20e05884df7a48720d96cf50832f400d5af6f4a91d0a15aa3cb92dd8a6fbe0f8eada3401a396a92bab1b68810ffb1d3c2afb22136e62216830053cb6b314e5503311579481567c9f8d315dbb3cff3ece6ba09d01bd0aa659e681483de2f8dc0622a01218fb97ab3445c08d19f893e02515618702874e80f1d2d43b7735b9f4f97cee8d058c1073d2ada877b9b9ccd16fca6d0d2c1204f200b6401a73f250b4b1b612fe9872225b1b587f976f9e6689561db0608e1bd059de8750d5a4dcb788d048e0344a7c5b6fd2bc595ec310c4773e900b98 - -COUNT=18 -L = 2048 -KI = fc35cdca523de4e0e11cdcaa59b469989551811b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09df2e4ca570b99be777c2ec587731eb97677840424251ae8966c750edfb8d297061bd9671a066542f35e10065ad4f376d2e5c -KO = 8ab5f209dbfdd14ed80bee31433a1ec2511b40cd3bfbaaaf46e400d35db80d3b470c199ad9a124b349aa4c57a120b838651ec0d8bcde2a4fc0ada0a2230245f77532192289025679741d7113c093a63c1366332363c102836e11e13bf25f6838f59233cb89768b529b61ef4dbe1a54d9aa5bcb6fc13c0384a464f0200a77f408f08091fb0fdef7cf2c7e1babbfe4f6d52ba2ddc9a3f0ada01ceaea6ee0d9f272d617a40f7c95f9747c0ad83c40bfd2312d3a0b55f8f9b43d5c2fb10540fb0ebcde2bb493425ed9efa85ecc34c6100cf52df8b7f033ff0a777f3e6c1d0bb3bbb3d027b5a0480eb3569db3dcb3f132fd867aea704839f294a32dfe0db3680c6b8e - -COUNT=19 -L = 2048 -KI = 7e6985b4ad891fb7766f624812cbe1310a10e36f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d82094661005268dda703587f589b5642c7b8b41505149190be33747260726ddf85adbb767d0ff49014024a3fc72aa39f0d22c -KO = c0319723f743997065bd64a1bb6de4c4a782edcc49c488f8c49609a91602248b702b1a70bacd24ecd3f1bc7ca225c948ea4fa3645b0c57f1f4841c541e150321ed91dee0072d0cfb0f29ac2a3578810fb2e1a15355cc5d2dd2ea6f315634c98331651c7992113d7d453dee8e4016133c807fcd1ccb94698820c57b08b85c5b234841418e0d0996aedfd7bed21e17f52594b091728816c6895a5fb4ec93b5df61f2e2135d2cec0614bad20b1d7f29c74df795ba396e5e981e2ec074c76a570aef454ba0ee55b742059b385b5fb0147c4e208662c246b9a5203c92eba8dc8f1e839654c5ebae001d197834ccf0b04412717db61234aaf73453ebfef75a1130052d - -COUNT=20 -L = 560 -KI = 476ac4e090e55cd0dcf89e32283906d44d8a0db5 -IVlen = 160 -IV = c84a47fec88633b0e6c428a5ea3d1f6c7aa844ae -FixedInputDataByteLen = 51 -FixedInputData = aadab4b34ba7fcb4ec2f0df0bfeb97a9e97bd61022723a0d6a22b83669d38f1f2bf1b690f227e4adc916b259baecb3ffc9d91e -KO = 96c13fbe419a4ef6f402f12ba53aecf21148acda2d4e87aae1368f22a6295f0f8bad28cefa4b350f34d02781052ef56bfb4888a97a769bdbe13d0a88315d857f213c7f249cb7 - -COUNT=21 -L = 560 -KI = 3599cdbeb0c5b9d12d811d710d1691c3e4315461 -IVlen = 160 -IV = 93b20b6c73ed12a789d1055927c1620c7838dec5 -FixedInputDataByteLen = 51 -FixedInputData = 17f3486ee3a2b8b03f7092bb8fd524210a01cb7af1eb1bc17ad7e8d7f8fa71a7d6c27d24879ebc6be391b25283ecee4deef24f -KO = ad269ef9c21b870cd92fb8edb52088a401799909dc91bab326da2159e3a8148e747f26137828c17a9fd9731e1b284c3f160c21548bb38640170156665a6e6fcfdb9e526811b6 - -COUNT=22 -L = 560 -KI = e42eaa22f79ca0147da77eabc3cb2d39c0ca53ce -IVlen = 160 -IV = 8ae6a3ce1a1311146a8bb2583cbc6b5afc644d83 -FixedInputDataByteLen = 51 -FixedInputData = b67d8c54c55489ecf4411142f36299c11cbdf8b8b06e06aad33b76c22fa42f86d80e85bbd70254f932cf7d9d32fe43d72880c1 -KO = e0366dc5cb0eb6f401f9063886d32fa569d3624b9a2dcef01f1e3f0d80d8e0cd54ba582883f63dc0dceee73b771b8b47a723695506ba1ebc89b808df01611c1caa7327406aab - -COUNT=23 -L = 560 -KI = eabf509fd8b96bd2ffae45ede5c5a6218a4ff8d3 -IVlen = 160 -IV = 5b03f89084ece1fa7dde2fc79cc829f232f0d376 -FixedInputDataByteLen = 51 -FixedInputData = 41f376441b1faa61fe79c1238a5241e057b92f07bda3869936159d823e37db6cb82df2368cc698b3e1237752a763ac06aa3b48 -KO = dbc308d38d9056dd82b9bdbf1e0c49c7fba4cff592805c6846ea81efaadd4c84631eeb2b33ccc5ec8ebd6fdc00830e0b13f191239767bd0425d909d303ba62fd87859488f411 - -COUNT=24 -L = 560 -KI = 053c5dd720ba39a387939fde7a1ad5238633442f -IVlen = 160 -IV = d8e97ca4ecbb145a660d9468166adf0ea29d1db5 -FixedInputDataByteLen = 51 -FixedInputData = 279844a7c8d1fd693493b55e5ad21dac78693699732452e06d9c44ba06d09a59521e6e4374655db0748229ca908f9e0dec1f66 -KO = caea59b01e4288e2cfafa14fa3996089b258cfaeea946d56753ef86b2aa2145829a5458084fa39796567664515e0d26b2fec117a406c39dc2137d8d1f2257ac795356ab669a4 - -COUNT=25 -L = 560 -KI = b2b947a92397cf15c2b865b168e33aac078edce8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c313d42e938e642ead457fd0e8c0d82f8850331e304836e4fe78f6104778470c0faaef87fea0ef40c401e085793423b41371a9 -KO = 2a63dd0134d1fe727ab794712f171fbc950844b27cd0721b5513e6619eb8c033ada1b811aa6d129aa472314923dbe6aa3f339b9346d51db557809e57d19c2a0a65af02a55b52 - -COUNT=26 -L = 560 -KI = d61d1abee54bd3b36456195c355b618eebbbd34a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0df6171292628a726f8de4c053770f756d23f2805015bf4466b97d2c0ea9a18b1bee0ac45b710f8c811463b4c7f127162eab89 -KO = 5ea9dcad42ba8bfa17b88d8c0a865513441e4cad534c5e7e2247bac9e809124f78c631bf5c2d46c04a50fb55ef708b0613636fbe7790f596504032c641103c4595ae3408e3d9 - -COUNT=27 -L = 560 -KI = 187700dbf0e46eabe8a91c1da624966324440bb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a74c3c975b51f7a833fb107fa8c9e0340921b2a221874d70c8778eff454e848512147e84d50445d6fd82e7e2e0a4739fbef78 -KO = 7229e5f542d069db048eb57db317fd212fe6fdd42659356b690b74b0a6cea3283eb34dc0376e44cf9ae6bdbd568ef30a9ccd1f0645a8d5c657ed6d3365f08241b3f941e82e6c - -COUNT=28 -L = 560 -KI = 70e9538b47b28c789188e85c8c180970afc8b73f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = efd930bf1ec5349e899f947ebc39ce599ede47dc9969a26f297251d0bbc37df87de64e3d0a52179d3a7c606a2a465c924e8e60 -KO = 36048f3fd7cd60b2a11b1a07091fc63ff3aec5145727acfbdbf9a12fb5cc1be127054a602a9c835ac246bc3b5791b0004110acdbbd956bb93cb50bf98f62d061a1249ccb9a4f - -COUNT=29 -L = 560 -KI = 7a8933b0b4336dd9ec66f01d045065018c336a57 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0383477346ebaef426b6c9a27692167e50879d0d3158b8f5f873921b01c94c8b3f95389a983eb04b4cfb639a8522479c43190e -KO = e588f7216a341339dd27ff79b6f2dd0a0256e8a990d9535703429c57816354ef49a16854d1dc7f1e11b94205c2b8465cb8ef717ca955be807f4a587bd70b55b9d9537d8cc2f6 - -COUNT=30 -L = 2400 -KI = f487dc92d3a5d21bc1553f1a0f0168e6f10e3dbf -IVlen = 160 -IV = 47fd5c4ad640f0e05a8ccbf67fe7ac8da7170f20 -FixedInputDataByteLen = 51 -FixedInputData = 6cfbf3527e0ad39dbee25b1b352b7d2d8996f973356f71767cf090dbb565687a4e12999edeab0ff18811e0be33a1f1c5424918 -KO = 65c30b629aa9640c8a636896b6a70b20987a4890cb2ab6e07fcbb48ca288ef200a3206af0cd808b8c0dec8a3cc6dbbc0ccadd79b557c88cf0475645ec92cbad988a1b119e72fd3e245a7a7ab49084a30aeb7a6fcf6b51dae139bb27afdfdf60fef1ee5c8bbc1baeff77a90ed840b780a394e090dc8948f95323c383dc85e89b48d2fd890c6a54109f3215fdb4a4d9a8539c93af7a8364c4e6666f4c6e5f9f8d238f3e60db2f0591b1ab8d18260a31f9b357f993f20089649fb56e9a245ec1ce729d1afadf88c2be95d01d98233e454a90ebd0b5da5bc74bb261f9280aa73387d032018958a2d99ee8a75bfe3d9ae67af6029ce9cb4ab43eb0af7c512b242105e210d0fd808e17a17b48204af7ac362020a8055620a4668e99f09aa136b1b6c6343b93be739842da6ab381203 - -COUNT=31 -L = 2400 -KI = 8817b26275b850eff97f95797ef4577543dea5d7 -IVlen = 160 -IV = de85c8b431aa1f4f8f821caa881aec4a5a0b83e7 -FixedInputDataByteLen = 51 -FixedInputData = d197b02bff834249a635e0e84b415afb6df8b9b608bb3bd7a63fc187cc30a1b3c81fe5421130ecf2d6836a436a20c312aadf3b -KO = ddaaef5c75035faf904bb6169d0533d7e6ee22f4f24f7040401ddc55b53970fead14f076401890783991a74ef1ed211c6bfea6f1211ac2cc554264e500d4c363f6d928a7027f14b09379c6711b211257aa82209f62cda8db25a4cf0c4a4b3071ab4adb48e472a40fc7a0d2bfb8c4e245a631e2bac8dcce99e15230f15cef405f1f06b4f370e4f082ec0bf2f27d57db8215d40cf59574dca8edca0cc97cc268b09df6dcd163e403dee328233532561583314276a1c5d6fae7e6d9abf51ccde1901f9dc4e30cc71480ef83e17ea51d950f9bf41deda1aa35078d5145788187f9df8fbd145c353bfc3a39cc88267831c5c58478240dda7513d7ea0e37407196c0f102bf46c0273c966b64ebfaa1b0b733206e9a740905e6f87dfa88a4c74b1081d51d0bfb578427812b94203c62 - -COUNT=32 -L = 2400 -KI = ae9d76052b12b3c6f3d8ccc38f5bc85901cf7bec -IVlen = 160 -IV = 164d1ddf3a2b2b335e0e16fb8a44807f118f1e5f -FixedInputDataByteLen = 51 -FixedInputData = 62ab90c7e7bca6a13ea365e8919a73d5e020ee0610d4d43cbde9b1ebb974cef29f55d99bb95c72282c94d93b2babb56e0aed97 -KO = 66c25804516f28ad8fb789346144bed483c9c91aad1a0ee08eae3f75774472508cf70f24b30a1b11d4eac432e5bfb3f55ec3f4ffb5f242670e27602dfee159f148cb3277112a1dbe390f88f9dedab42b455936bf2b425cc434f76a95c3a4701c1fde3b637da02e4c6b8e2f0dd47942a50e93e0d9f9254bd53e320af78204ab1e27a30a3aba574aaff2d212542adeb665a7f2b26eeb8d29c2d0b2111d905af704553a69619303de95fd79b46a5b20ceb64b82da55c019ca598752f45c22b761ba8c6552048b70877875e5b992c4feb1eeed57d9cdff6919b2221528fd91c693c0b70f74bbbc63521650477f7ff5129ef08c9777630951a11b73c4f5e2dae3bac59853398d9be252d6e663614df7513417d269bd51cc2fe5430c2df28b450ad59caad0217374ab06cf6e69e049 - -COUNT=33 -L = 2400 -KI = 81ef757217e818f10a63a101d2216113e217e37f -IVlen = 160 -IV = 887abd28b625ddf9ea499673d50bd80bc764ab4d -FixedInputDataByteLen = 51 -FixedInputData = 92e59660dbba57acf4b50f8dd2a681e14a4ba11241c61f690f6ed90fba4e1e04253bd387226e8d7f1d7e08ee8de0fc5a334b7b -KO = 44cd8cb66031160e98597382ff9c06672a467d5a9115bdc0c72c3f80de874e800fac9b019b9894407b4cb68f08b9cc3f211f386dbe98601f8eb66a7de09db26490688da74bfd9304c4b7cb968fde8b4f41485d69000f0d2c47e3a20284a2f675242eb5d2fd729e8a3f54b98e19fcd44ba66fdda3f21c8ee6925b964c247b0091fb78b7d8265cf2e9599d50912115870787854913d3b5b9a18f8a8a6f83b25e6c659860481f511ac0ce69800b049c40e00d3dcf78db4e7e328e9ae9df8339d549cf7e2883d1bb8e02f39082753e45a441ef09c4b5e4b5cd2181a57785ec12de007106bbcce62b01eec64dd30a0983de26904e5daa34ece1d9458a6560c6fd96ea1c880ddaa7676a0c597e07ec769f175ac855adf1aab022a972bbd22d92b5ea1a992ec41b12cabafa85bf131e - -COUNT=34 -L = 2400 -KI = 49e52ff5cb187a62623a09c8fcc865e1bb026d5c -IVlen = 160 -IV = b92347e02b88ea6a4fcf5185f76e0f76af4febb1 -FixedInputDataByteLen = 51 -FixedInputData = eab8f72ac28f7c0229d3b74d58b85608c090b7fef9a4d457694e16cbdf2dd2d19d97eac2a534e6ac5d934c061375330671692d -KO = 8ba60fd9bb2fd0499ee05746b5ab5ebb7b0708485f3c959e8fbfd1839d58e0bc329c95b0658e7385fa29ae748e82d30e3b72afeb7b3af9fe7c7568ceae452da820e3d84243add952b0c60b7feed7e8de2100fef09349bb50ec60251449a169ab472a85be19ca9a5bb2ebcd941c8b3e4c0348040e960557e6546fda6dd6cd9ee011df132525f41030679ec766420aa83313eae347709e907ac179fa2177e74cec239e7f1c1ed3520a2219f7b5c3b625b04e7fd705f026fc1f00f4e917a5e2fc1856afb1db698062663d0d8b2d6a532457477567c286a1c41878d4a27481116c55202b5470afa71bb800b515b7b72e2a18f14bf9dd1bc7036c22abc4ec2ed662dea71d2fe943c35fb776d57ccfb947747343f8956792aa59f3a44cbcde7758b825322b1aca6ca7baa644707b4c - -COUNT=35 -L = 2400 -KI = b49ac4007969dc6fd74a3ab5dd6ead726e9e0354 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9cbd821bc724b697d1b91d9958bd724711085d79bdf76c266ca6cecee9fcb465eec34fc0e29390c993a22ee9c543d987d468ef -KO = c92d72ebd61e9783ad7100f145c73845ff30079318c4770e09eff65d43c60c6af340d6039c7abf1f2121cdcb60f0f264ae59fff0b982586222c7f7e3e1228fbaf2621784be8111069aa21dce43f265bb93c025b75e8025bf4e87d5f1442c3ecbdf055549f5b1d036613822cd64b19515cdd372a848eccd440835cae0c3f636482c95350190a78b50a757cbda13867ae35900473812510056ba0fae6d3bc88f7badac0b180c6d1e92ca29cf02de7834e836e47501ee7e926192d149276b2330b8d08ae54e7345bab747243aee4bc2d5cce16ec2c7659a369ccc63556bff18b32014f65d7555c238af3395cf87c15921f278078097dd6f377d2565d943b02d056bb3e92ccabfa4f7f24eb21a0083e0c4469918a7c413e82a9fee6dee0086396af3d96b31d435f394ba608d003c - -COUNT=36 -L = 2400 -KI = 07d5415c90a4efa50a18bb8dc36ae7c5f223cd5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2eb4ae32f81ce5f5250cc1ed8f2fcb6ae3ff2584d3ec21a4e81c8caa692f55af07cc2063639fa043a309062f62610b61e5bdd2 -KO = c54a76b860f512ed78692125ed5596dbe78b8c880f26580116b06f71e404dd8756a7b8664a23bd62569ed2c783adafb88451199d295f255abd35b39b38c760e34f8a73f63b22f1a7bce6a91805d93e141329a9d4fc85cb7f8abecfe6a66f0f1e50cfc657b74e9b1fd3f404bac518e605ba5c9a0c0b3bdd6cf7fe6c12359c5395f625e800aead619b29f7ca4298c8e9c7640474bade1f106b243f40f706d7c81a51b480542b08d29dfda6b19c9babb5b47f8b54707d36eee6cc0565eca0c9782b7e559424421cd73ba5f9b5e2a07ddffe6239e97da3330e915caafa0d3e3ed9e669e3b038a295ccbe53e55721a911f43131a7d7ebcf7214df8e9bc4dedaceae213f8d78d3e9ede667a4c5cd80367339c53c0835d2a6cedf9339e19c2fcc4f6c5ca2efbdc284ce0a1f378bb8f6 - -COUNT=37 -L = 2400 -KI = 7d163c21e61e9e8592835963f9382de45d3d2005 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7c901692d340a1c0fd06275f27df80a4a6a561767593af7ab704bc72a4bbd65f67d207d5720d3b1279a421de31974e53ff1be6 -KO = 979e3388feb103cd89335804979029b995a898e75374a1f5eb4dcc57b2aedf58254de25444886ff31ec65b51a9b2f4527625bb17f5fccb0da664867d3fdac30fc7f3a6fbbaa103923cf4e821afdb9f9e3b23c9f042e2d4aa00775d08515913b3d023afbc0fcb33f3a7f21a017b8374873bc4fb94d0b9ab5ce70ab1d156a27893c6d64326e46c93f1571f396898ad551eb2f746253346d2a5462e95d4ad2b31051b76d9c1681a45085b935952726e83fe8f7584fa33a95c7f9a84beb6c11e4d83b8d2444940df44a303d7d5871ebcc15651020da4fc74e9d52e43dd9069647121fe1eb0c3e4693e13e9b2640ce072828e5bdc76c9b37d42cc92e7004a93fbabc28db72bd334728311f731a8a6b2ea9802608e1743484c407fcf5e96c44b1f89ada64b2dc16594fe03294f0772 - -COUNT=38 -L = 2400 -KI = 7dfcc48ec3eb915e0c1c14ea7bb4456a6463b4bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e9f0aa98dcbabaab0fb35a105e9eb2314c357a90e119c8361d79d109cd81ed9adf42b6ece360bf86e3299057152453e70ffbe3 -KO = a765c56e2af247b75236dc0fc084b371ac79b6804b73c538b5c26ae01e0db5ca6c73e624151f9a4c354a65d23c4adf36f6c7e6d0fb3afbe88471a3b5c1e0b8267e961be704d81f624f95fcdc871b150d6fe4e9bad58fdf034bbf3e89659c76823dd44fed2ca19ef346dfe919d5c3eb5d76cd5d68f2dc823e6f9e8fa3533edbe6a064900eefcb833d85ed47fc8a5a84f003f7507a879bf6ed2de40635c15ad606c96a802a20338a704d12da59008dff80937aaf2670ada951f26f7d9023737e9566b869ee6568479b35f4387cfb446a23737b53c7975b1713bb4c1ff939b81d9d972e3b6767fa61393586194fca2ea746b5df52e4e5730919fe4096df440d96cf38b3c1064daa97cbd598d387f927b363c0724bde17a3b40df15cb2a6f6adab5c8acf485a5de258b7183d1cd7 - -COUNT=39 -L = 2400 -KI = e732ac7dcb0928b647b57c2243c1d918ff1094fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8e21429d668641a11ec8d9375f8ca6d6f8c4d11e9a6a7f4bf4b877b8d8a921845e1dbf7e92c017d7de50c5e7051edd71e62e8 -KO = 73cf2d9e1cc3b126404d58cf35edb5cf4c6e8f2c726da44c7567f389535074cc66bcd367858f65a377d467a35b34b7033a08ac4ecb51d73f4822da70083edad1688b47d18865c0af8bed151dd319c1ff4d6004b7253c987d0959fabfaae68af5b66f8a3414bb3565aac0aa33ad0cf6bb99142051e0c7056df6110ca0a576d69b74e846d7adf4ecc0988457ad07ac6409b0525db65b557149c50fa2dd9f08486c80d0764a7b30d81128dace570e13b99220de292330b592f3ea6509edcd6e8a2cf867e9214beee288762019a264e94816ce0aa8f37eeb139787939b2e0f324a51c1715230f4801b23420d6f99456e6d64c0d69cb7a702c3fe8f731e8f04bbe4a5b9a7abe3df8875170433f135581cf70d688ce58b7bb32959deded7a0d4e965fd29f4767c6fde4de5df0f296e - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = db8386df4de32b58b834bcf87e5a9f6cf12b58fc -IVlen = 160 -IV = 9db47735cfe8f05d231fad951f6c369840c77b15 -FixedInputDataByteLen = 51 -FixedInputData = 03df05d42e87fe64016670104eb97cb8dbad16615b5aa359ecde4039579ff03d8420b6170553b7d2bbbd691f7291053f972057 -KO = 2a22bb09b1373a12c99ec6d718bc2de9f37d0c6ff5a0a144c93d1072c70581df444aaebd780db1879e63b419eee45c0514d35312b5c14ff6b22dd8094c07af86 - -COUNT=1 -L = 512 -KI = a8c4aa5637728103bc4c9e9978bd54afbcb32ba6 -IVlen = 160 -IV = 2b13fa09cd6ce7f8a7afc76fac568d88ad48fe86 -FixedInputDataByteLen = 51 -FixedInputData = 5891929eec6de24fcaa9f285a9b0e54ea3ea93d752dbe7b26163e2f2b6a7bd9e0a5502c37b709944e137e1a27662169b329eb8 -KO = c408d4ddc6ea2bc35482ff55adfd546bcda4d643113d4200a4f7ff564dd8cb7955aabdc969816de1fb4a851c3607a883c3dae011fec775186c78a3519e80c3ca - -COUNT=2 -L = 512 -KI = dca04fb81ac40276a3ff4d6fcb92e506d0047b57 -IVlen = 160 -IV = 427657ddbc134ce7edd4c7c75bd99dea800dd609 -FixedInputDataByteLen = 51 -FixedInputData = fcaf63de4563ae2cb65df6b79753727eb913998d10263edcc4f4c1a576207ff7f53ec6900a29f4652bb18dece005e92a725b93 -KO = 1c12144bb7a94e243d647416599ad0bf897f44777435ab3eea7ce4ad37e5f7f253a0cd441bb3c9eec32d34a4502b7431644f404c4922c3923eb1bafa9820ea76 - -COUNT=3 -L = 512 -KI = 8e58ee089fdacf3b41d1f2d01e8ba59477e871b4 -IVlen = 160 -IV = 54ec670bf6ef1b0f6a6249d654b8ec6046658252 -FixedInputDataByteLen = 51 -FixedInputData = 86f1ab67a57b8f18225931129e6094e0441dd4d5db45042213b9ff6d87d532f63ab2dd5a6a0b7bec0f2b128a454dfade3cb49a -KO = 71412671429cad535da58ee44a1b5b76e4392c5a949334feb8702d435db85f87aeffcad6b91d3a25267b6d8e641cec3e94b663cd78e53424e9916152ab922dee - -COUNT=4 -L = 512 -KI = 54c176ef8576986c3968834207d143f9c5a7daf2 -IVlen = 160 -IV = b4bf2df7b57419183faa69b8df52840b381ff6d9 -FixedInputDataByteLen = 51 -FixedInputData = 299b431f54d450375a22e8160360c4b18dbbeaa1c6e3c44c2a7c3f94782eea110f68027771709a26db5994fdb137a3e0a9c400 -KO = ba9c718ee16dfd3b8fc3820046cce80e4c7ebced68258e02602e7ec4c3590ef1fa64e0289515a8634d17affa87d556202f4f2d8df6d3484c38be1b5af89deab4 - -COUNT=5 -L = 512 -KI = 93cb340c33d201ce3eacbb153de6f4f0c79d00c9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c9623ed9f232c0159d90764c1f4ad365b0d71fc0cc6559011f8a91dc6d012163ac89eafb835d765d4cf753b03a52faae55546 -KO = 466ae8ca8442486b3fe45494f4017d61c11998e923dd193abc7b9f0cbf64a67bcd9786949340b0cbb3a959257570fb29e8092584c3248704f22a83863a9f0950 - -COUNT=6 -L = 512 -KI = 234191fb67ba5e2586c878bc92dc8b1aea10afec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20147b5ab3a6e7528840ba6bf84e802a6d2015851f5d053e769ec4edf7ced9a4ccd188ec9e8fd81c0f3bf8a428f58998797fe7 -KO = f96082e09472757c9feb2c359651fcc79fa5b6269ea12affdedda6b1192801ee2affce0abbbca2e1c0febfce82034778d0f5bc8a97ef76acfd4f9786305688df - -COUNT=7 -L = 512 -KI = c12b76518808b86043d801418a320248ac359f29 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 06d3373fb3f8ff263d28f26b7d65e11824bb1e80770c1c15ac6cc23fdc4535e3dfd86e1bb2b569ca7fdf24f60c1ab26df83147 -KO = 40040fcf3e8600059cab7c0e47f018a25210ff27c27dd1fa2edb7b59f2e59ce94cb9f816d1ccc27c6b83a0bf77279d8501b33b8ecc74a089f8621236be4274d2 - -COUNT=8 -L = 512 -KI = 6e31583e3028891dcf5db17720393e6e3b39f94a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f94b63a445ef6edecb0785686135dfa28461be2b9c5450e817660e16e42fa275de244fb9e46ec69f51beeb767c4d60fec5aabb -KO = 86e8a6f406b295a2306a7500e822da19e7c86facbee02cd4487edb4a2e7d0739c332de5161be34fe26e9901c696e5d9181bb89105448d8ab50362b8d289d2be9 - -COUNT=9 -L = 512 -KI = 0c75ab3419f9414f1290db468e46fa27551d96d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c19e10b7cdf5dd909d82aaaad19128e43f547b453bc6172c267f6ecd4662175388361d0ba26088bc403bd63ce6f5c746cf5666 -KO = eac019706382ffcd6cd2d29e0740e4d26f9736d848cf8edd18b367942fa5890177256f6314baf0adc948db1d5608adbf1b2128598696fc71ccfbc50ddeed8714 - -COUNT=10 -L = 2048 -KI = 69d5a081067e453aed4f36cb104623c5158e631a -IVlen = 160 -IV = a7f43b81a89119fc93f677cda7c097297a29cdf4 -FixedInputDataByteLen = 51 -FixedInputData = 7569045311614823fd9e0c78ef6160c86cabd240c7cf27f0d6ef21288318cf7d6488912c0183b2c05371f330b6ceb2407aff93 -KO = fd9d9590aa815af42292ec99c49e0fc9331956c6af467faf6025f7c61474acd210269dab138520aa46070f29d289662d38a1c44918e35d2ee9b04fe6bf94e8e27bd79787702c6eb6fc404c3b5612e75e04c2e762f596c2fc44c468d6db73863d9e194a398a671ee41d65b4f2af5400ed0ff83eb64bb00d161e633fa770e25f919f34723a6d12b8a8555a576dee6acee6685c5a4ab388979fce842785b7c32e39d6cc60034dd3aa20275bd5216941747854a9e757e686646aa21358c8baf3364f06c012224e85b4de2928859bc37c1b46744163b4ecabc3e8b289d5b562996a37fa46ff24fa519e2d840df7180201020e87bc787837ea96e6aa2b460e23636799 - -COUNT=11 -L = 2048 -KI = 8e9576500be32189292f8bc820ea1d841353bd8c -IVlen = 160 -IV = 21ddb78c95640f9a887d8fdf06251df41a1d91f2 -FixedInputDataByteLen = 51 -FixedInputData = 269563f9eb09631c20169770f8a332720b51d839310ca8dca92e3cd3abf7913dc4710469aab49ed4d2cd0ab847479d293b18a3 -KO = 35fdd3830f85da993964d6e01cc8f2a8d3fbcef573d348a41872d108358db3a84ba4cd8636c6ee1464c32c71327c2085ed6eb685f3bf1c47a71d8269b62bba3fccb9e762f3ccbf217fdbcf16265c99e7e4e8ebee8c1f7fe228fd1b2217dff8dc0fe2286889e4fe6b59c05d12b5ee1d86b25940adb69e48e9d383a6f8eee292ae74171301f53c17e6417965c908180e8cfe9b6968888fdef9bff46d6c200328c41588892a284b86b6d27e9e797a388e531f98460ee00f536bef7213a0476774cb892e2fe1d6cffe6a3c11f2569eb9fd8d952184e36e64d3af22869b8267425bd8892fd7c55d1c4f1d678fdde59a6c278babde4333d63d1c61d06320f0d2c67288 - -COUNT=12 -L = 2048 -KI = 82ecc0532e03fc1b2c56c7a6e0b0901d58325106 -IVlen = 160 -IV = 497d7734efa1b985f438c9511b0425eb1df86c02 -FixedInputDataByteLen = 51 -FixedInputData = bc031a74f6e4d0207240951eae7247fe246b9614956c1de2f5fea030ef5322023fdbd4ea81a545f5e074706e06cb9fcea4cc58 -KO = b85479bdc771e8c5f2befc5994b3e5f82bfa856bc5951f414c0889d7fc8de81ed6cdb5fe66d5935e0704b31d25f5fad93deffcfdff6af80adf1925d29bf745402a5ce71698f7f5361b44b09aa5e9605942ee514e4401fa5135036fc196dc06e8aaf6a6e9cd67f995f819ff46f52f5937dc4559826c8bafc46af59efe2253959458aa078829d4022a85b376c13b24aa2b33381e8669918f89f6fb7c085b1ac4f66b8390ce7712fb0b9c181d32def1e3dbc849cce82d85e1ccf6e3de1193f99e11ab60e6f5f2b9d375de9306c4f1149e453185fb8ebef61897c0a0a502a034529fdf88489b1de44d1432b36f8a37852cb65204ec7154df88f52f81b6f1d11b3d8b - -COUNT=13 -L = 2048 -KI = 7040657f6f2d0e075fd5e58b5825ac8956ec024b -IVlen = 160 -IV = 1e077b00116cb5a67e8788380d555e36cdd430ec -FixedInputDataByteLen = 51 -FixedInputData = d59ffc2ec87ea76076e2bc6e72425c7a76e16efd25d4821c9d4c44aae35fd728644bc57032b0708506e5535c15d202fc7f9bbb -KO = 1dabf9c27c15c331cc4b0670318bae1fdcd1ec68d8a29431ea2ddf92987affa607316e6762d139e0eaa02e5850e35896764b21b09b35b30a9bc76f9f78a274cd115ca2824ce254ac60785eb30432838df699bb7d8eaeff4d38d1eb5f4a09668593f5a4643670cd2ab7013dfdd417ddbfa35d7cc8c5ae55a87c56817ccd69bf8784e9d4a1953ef6dc767c18f608048e21657013b01e2693a048cb0284676dd1d874ca28acecc493a1ba5a487f85382e54dabcd6ff2bb252de6e26e146573483b0570a32f6d5785686c02b7307901b3982f774940a53597728fee7f4a73f2f7674eb36302678ecf0837a623e781a19e8d149133c41a9ce83cad7bbbd230da6e329 - -COUNT=14 -L = 2048 -KI = 0f2d56bef5d3fd540499efa76b7082c96241eece -IVlen = 160 -IV = 8394ddf44b11ee78d2a33c8c83c2bc72a1cdbfec -FixedInputDataByteLen = 51 -FixedInputData = ff337b5afecbe8693bcd3681616f2abb8efb6d59e812c1faffd6255aebe45fb0ab84efe07fdd666640c3a8ca1d6e575ba4e282 -KO = 2aaae8a26ffa7dea28f6c8af8d8eba224b9c9b77c7258ed5fdce2b630f3eb15ce52c94c61408ea0c1cc31673f6e84649c72e6b2a0e3abbf130a5f6caaa797539d99dd44858d30d15ab2f4355d2a3253579b4953940963da4f8e16e71ad40948cac87e3f37a772a799b0678c56ee0a81413791a5db5a2f6be982e4b845a44bf4873ab9a604dc3d150bcf68407b0a74ca34619948be473f94f805e3c3a98701c5c2ff53c7ba5ed2cbdb88030793d8909265f1f77c42e48f12ef91eed1d0114af7d75fc8892865f7d2df9c57f1666f0aa0ffcd3479243af88bd6712a32149cbd9ef7e8864c4db1efd498347c2106bdc7a517bd454cce725f305150e5068c042d2c4 - -COUNT=15 -L = 2048 -KI = de92937a74b4e226db442877916f0360355a2e8b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f581ab0a57cf02d6baa85b8d7eaa7c537d9176d9fee8e9bde8d0fcefc7aa34d47faf0f428dcb7a531574996a795b07f6bac014 -KO = 5fd11788251ce4d4577bc016216b9b70c6794d138b042cf5262adb5fcf42c2ce2b9641c9d09e3cf1c9869d92103bb40d650a1ba3876addfa29b09a7da989f7e26270b0c62aad7ba8479373ddf9211bc150103a794dcc1bae40dde41cc0b6201824c6608ee1f5a782c8fc52c8d24348c8a6cebc17b9ea018783fa5e7ea506fb9eebe6cc182d61a1ebfa7be742adb4a30f29b83050bcea31b79f4de1a607534e9b7aed69b6af08238048db125466d6b5d9100fb6f7857e47539a50f36e1829c9db73fb478603efdf9de7390215090af42d628bb3e82640a83e017e7aaeeb9469629388099ede31a27819af4fc2aea654cb4e23fc68099b5e4da5bcc7b1110f3d46 - -COUNT=16 -L = 2048 -KI = af84347434861e6844c9d51507c79eeda50619dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9e3439c7bea52cf66cc666a4962db536ddb45bd9c006805ecb85aafa5d37de3772f7779b14aaf43ea6873f51d7fc641e4e7d9e -KO = 2f35d8d40b3c83ca2964cb7c0df47e7301206d7f6c42e46d5b36e2f0cce3a4635e89fe302e73c88f429a81e7f8d8199e49a130c8613b10dcf520f24c7275352acc8baa5777403dd634d250d91123380663ed814100f5762ebcc6f12579fcda2913eae6335afaca5414ed132e8f1e23e47a02054808cf2c927ad0d85deabaeacb41e7ef538d8ee22da6240b5e8897f989610a211de799b03ae93a0a3568cee4c4345721657a91e198ed01077b5c32ac3e18a96643bec542debe365e1e5106f6fc2e51a95964fc576710e3a3e9c9745c46e0b2bcf44adf60d645610edddd9acb1fd1e9206c25ecc7f441f87f948dc3c68aa48d11ef6b8bfd5267c472b25077930d - -COUNT=17 -L = 2048 -KI = 722739b00a95c9dd8ff0a707b62a1d32f8da65b2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a133eb1033734ed08d38cf66273bff79f73a8e8db4d66a17325dc2a5deaab70529bf653d503eb844f8f64f8adb57cf0de49185 -KO = 26825a9bdcb1628515299d0bbf27742a02ab2a2686e176891aa39f19b9bcd4160f4c3e3dbee7ea74825ec159a4dce0caaa03c826c2c5c973292695f7683034fb079e6c0b6723a33fe21affc88b6ebeb87f2cd17a0f010fe6ed3151102bac3ea06aaef3fb8ba8f7be3ceecbf536ee8ec4ca16ac679676e7a492c900c6ca91301c4882465aa69390dc895a4a4fc88abaaca54bccf6a9d4ab4e635f4a3107aa55768b61c389bc066e4287259983505c9339d081932628d8b3e2316c489357632b2e53cc5fd90bd1a18c6211753bf094f8f24d41f2eaf221b587f4f7e810ca0fca68ffb4db6756e38272aee17dd2cc289319a1ac58830094fad85bd08597efd037d8 - -COUNT=18 -L = 2048 -KI = 20f8d44a4c44ed8c8163ebd65c0905e424c66f79 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5de6a090187660c96649bc16aa16034ba96e7434f56e04eaedb963433648c77edac801cdb51509939661e68159dc2da14de145 -KO = a6a4aa1f2ca1a3dc4df2215fcaa2dcb984697f4fa0ae97506a3c504ac64374c60efd329d5c8d841d27e58f67033d939490bd1215ade8dc722ee2efde592a4a78826f5bc6679e3b66864b3cc7799123d90364ca067922ec930491de76f5d0d89ce94310d507cb02ecf00c6677ff227238b1b216e600970b7168dfd759afade4dcbc938f7b939675a3de6b2b0bd71c1671f02378db30598bc6ea9d5e3252a3cdc758444634fdef68035d22d72151d01f474c1e87e0476c772d2ebff89a8bce61558b10045df01140510d255f4790af83b32524503668a06715ff4b95cc7284f806164e5ecac8db4b5c6ffdb77979cec032ae04f75d62926822dd3db161171bda75 - -COUNT=19 -L = 2048 -KI = 1b13d92447334912d794873c1b49b6337b6f127a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49fa2af11ea001e4870a91b81af1c059feecd6e3489ca9701181cbfbd9e64ddf916d299a638d5937c1c4e4e0732ad318fd7ba8 -KO = 63e9f2b3f7b79c7c5a626ca30b013039a90facf30f4b02adde87d1a0b0a54494e92054122a7e4929942a66d6e201356b8cf6f5d8b2bf23b8346b403298b13590d0b0bf6b1cd7172fe9997e8be0f1d4f8524c5a7d1ca8748f5bfe7103f75e660b7b77184b95142eaa734d3c1a34bd5000ba701a4c6adfd9e114e5f9e8e1b4ab8c6c30f7ed12769f486cab3eedddba18aab08944d23458e76f7f2c194a9deb263ced12c733b6ff54dfb4d38c1ecd1117541088fb3a1d0c1639eb0f23c9d2387701ae0f8acd799aa7e362a8e3e35e063d184c52b46fc8ada7b8db9562ebc3d8ee17dd1c39493dcb0068d581e8343a2dc2893c71d916286568181fda6780a2eddc54 - -COUNT=20 -L = 560 -KI = 26cfad18add03f5823edd033a259ffaae60b3ec2 -IVlen = 160 -IV = 200ef922419ffe3612aed563eb58bdd4ad01c2dc -FixedInputDataByteLen = 51 -FixedInputData = c54b63c327e90c3dcad83b668972c79a0ad7fe409d66003fa2da3608a5d2bba2ff01ab0f515daaf12f58bf432d6e1f83066709 -KO = 77aa51262fc99ccee0c963329ce0f0a7a36f6c3e921450c63680b5da56c54088757d4fcdbb65e776e22eb6feee3c6aa2c09a002c45c49cd708dbacdacd67c020e40778ba31f3 - -COUNT=21 -L = 560 -KI = 7c1938033d4d366ba9fac641d05d9215ca8e0f69 -IVlen = 160 -IV = d4bd2088c15dfbefaf29a7860c0693a76239c1c4 -FixedInputDataByteLen = 51 -FixedInputData = d723365ab2ccc839f66d0fc2ea71ec039583aab96ab865253b1759fe6f3c89ff035d72b2197e6c07f26c3f0dd79b9ecb977406 -KO = 335e8c57ccc398565a8cb74d36474a3b0e58daced136352d8b9936d1b7364a46cb2f12ecd45ecbfa873e2a91fb9153add248b2946db63943b6ca45571701944401373c65afc0 - -COUNT=22 -L = 560 -KI = 693d95d5601719b4ec17fc7a78a98ca323e14a3b -IVlen = 160 -IV = fb0121133010ac3291be34862fb4314e09a82792 -FixedInputDataByteLen = 51 -FixedInputData = fe3545ecb7b1ecc8f6fc98f6d538abd89d807455e54244cbc3be6343969525f7e8736515ec3ff995da771e110cfe335b02c121 -KO = 96b7bff57482187e2288b5adafdc47ded5dd7cf3248420778a75612831f755dc55b8af4331cb7626992803339ca7c9b6b25d8c7643da647d034c7477d0fc40f4fecbac184ee0 - -COUNT=23 -L = 560 -KI = 298796098524fdd7e44b84ea690dbad34325d662 -IVlen = 160 -IV = 8de9605f75b153d305b6744adcf73431cf326d7d -FixedInputDataByteLen = 51 -FixedInputData = a4ea053a637a38382cfd4e2a0f937bde5e9ac771fefbfed42344b6dd2a714d3ab1d04171fd18d33654f82894bca33ffc1be4e2 -KO = 13cde4474a9d7756f35d89c855a45ac82fb73c160984102b407c71d744298d843f2018c69b7b4229a4acfbcc871c1d54e351735a5098e972d1892e24388f1f840824832d5ec6 - -COUNT=24 -L = 560 -KI = 427a8d01b55a23ef738760181aa0e7f6c95f1801 -IVlen = 160 -IV = 65ad7947df3bfbecfc5e4a7678a4e02d5c4b06ee -FixedInputDataByteLen = 51 -FixedInputData = bdfb23ef18ccc0ca129d05b1b8103a2141d10af2a61bdb09314d4c4815e9adf367291c4966e4cbba583becdc26e2cedd6af121 -KO = 6c7acef6d2651d4c05cf2417572f81bda6d469b62c63a9fd28826d40b07bd72f11ac9e0e83c96cb38da1b130f21a1cc8bf83df0b70fe9fbc5ac22fb6c1172b57d34cd5f0f52b - -COUNT=25 -L = 560 -KI = e177a0d3045e616227d69a2201faa756e3109dd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ece210f639ea3e499e2fd3bee7fc1a27a431b91b3738495210c3ac66bce37f04b8584e24ae1926de0ae92e8c5cc07547949dc2 -KO = 694836621bc2f1ee1a7a20bea6ad0b32a2ba65e1ed803afa0319fe0659455d477dd1dacb57cee8dba476d85cfef8dddc7531f8706acb833e652e545991cd7cc7bcabed1a34ad - -COUNT=26 -L = 560 -KI = c32f63f9964e26f04e45db1ca71f99c88e32b45d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4cecf837def63ff6fc8e27b8551439988fccfaed983ddabac616edad0c676d6b20e88ab67f19582bb1da04e01a539a39868dd8 -KO = 4acaf3d97778c37293a815a61f9088c2e1f516546f7b44b7b06de681fd9a6da368b70529ebfb6c4f4f8c5919e83bae88d5c1a2b041e6ececa204976c2499e5c8bfa7a56b8345 - -COUNT=27 -L = 560 -KI = b794f77c70dc7aacc23791695f110615fdb43387 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b2465592d8331fdaa07b648eec0f95d9308e8d3af5d5ade2b2653f5071fd48e76687bed6b42fa261aa2f918d7a190d0d61253 -KO = 6d0daa4d3706d980b9e8a36cf6c62e013de8bfd32565cf99391003212eb258a5102c9b2974cf4f0f621fe0cb726ddce3f99d50535ba0cff0cdabc0ca5a40b00ebfa0aaac7b81 - -COUNT=28 -L = 560 -KI = 30fe55fdfe94ff3f1ac7bc70eabd8ce69570ba3f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9a762bed07e3b998604e5aa6c46e90e47be49fa2669954a81eae92db6e46c35cd2519f5d54f5689eb050a4150deedf2a53985 -KO = de3147be0e809345580086abae503bd42fa3f2b3b3e0a46b88bf5e8064f2a8e12f3d874f13c726719ffb186c8225f53cb861ead77880f67fc31e06818dd5681070f1c7770a2f - -COUNT=29 -L = 560 -KI = ec1660230664fb3c875bb8ae742b26f3a61688df -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b6e3756ab8adbef42a3fb59817ff06fad14beebdaebe39b60146b8a3eb5320d8d3e83fa78da209ff0a154621cc9d9e3cb2312 -KO = 07c8da13d3cd8f57331b8c8f9c864d382d19faaf7e693ae4599a9141c7155d684a9b7062b6b829bca2e1b17d799bffc5a839c71503a566c47195a095a05fb586d0c2895137ff - -COUNT=30 -L = 2400 -KI = 33943fd96e9916c01f634e6e773895ac0e123e4f -IVlen = 160 -IV = 9ce5cdfc63e523c2e939a4e89e8ff1365c37e87e -FixedInputDataByteLen = 51 -FixedInputData = b604ceb86d7bfd9d41957f2487cbf427edd4f1123f0945e463703f460908483ef9d4b406d28da763481728a9efeb0e8732c7ee -KO = 627238115833d6e8f4aa2f6002dbdf931f889fd3dd7955187e9ceb7e8308c430198b909669390608bdfeb5e5192bb455be84047335d962d2e7a0c1b61650524ba067cc426057bb1cfe33fca1e4118e56e921fbb568e5e10f44fb327ce633df39ba34a0e0acee60ab3665b1b3ef70b472e4e9c9afce415328c26245ae36d83e61dec10d780b264f222db56654fe19947ead044ff8a710c9dcc63188c5a56d115a447de5cedfcaf01561e1a9bd405ff2927f7a4188f46078a7fdb8d1f26ba118d0d7c98a8eb09d0f68ed51220f5151c54a564da2a4b04c2a1e3730d2bf26154649e11866d24ba02d03aafd69c10ccb85bb3871a21e79661efd6cdaef043fabb9756aa4e1c440bb553501ff4729f0c2b5bb885a945b48cfa87827edf7925a9c2e9d345581082684baf9d7027ba7 - -COUNT=31 -L = 2400 -KI = b6a6425eaf5f9eff93a09e4a96ce4450448fc917 -IVlen = 160 -IV = afad7678d24b3149c0daff821670f3983abf7e3d -FixedInputDataByteLen = 51 -FixedInputData = 2e86a414ca31a6626027ae448c90a323ac7a012a8a4658de1f0a6dbdefa6423fe5f9d550f66d6f005c591adb0ca0f8bdb437ef -KO = 0c074815e9aa832bbedf9c0aee72b152a9ed7690241318e968db47cca4b346edf37480bf628ba937a5c2c58baf89e28f2a1db40b47cfb0a2be2369d01db81f1399735ff5a33e7780bc1428d566a38a75b57033d56ded1b112c865381ff44f7b7be6bd924ca144512c4ed9e63808685d3796cde9336a87de75200039585c0b5be997db5f2907a3337d912d0a87b714c0ba297574c6a74d3c631783e5df3dff19de5891b439b5eff0849e33b5f5becd12239f07d2ae4539b219f25b281876c1983fc7e6df7e794c2c837c0a6aac01bf1b156e82b1991f59a7343dc4713701bc4bead8a70b9751f166f63cd8017b47caac2f711f6d3345d09ea1163c6415c92c84a2fa458ce7485dd94713727a33770eee73fda79d156f88dae65ed1a5b4a2b95b9b5d0ae14d53051e22921c9e9 - -COUNT=32 -L = 2400 -KI = b258b2fa81f73ff9b74c000a92ff1c01bba542b5 -IVlen = 160 -IV = a178fbeedc630b3c4c9c2b836a1654c6a82c2678 -FixedInputDataByteLen = 51 -FixedInputData = 2bbe38b87bed9a3e86620a0a43e101fe0a5d41a81eaca9376a114dfb4a9a8dfa90e9e0acdda2ecb5e64dd2d48daf73a93ff2e2 -KO = 53dfa51b4580fe2a61a6b091d085090582d26a272e96d4ca307be942f88a0e5ab200d8aa1f1ba7e2f06610ce53fed0c1d9c02f30602f51df1f9c39d2c0d2de02e1bf2a90bcb8dc67e840083694d54f5915414765cfa73042fa90d7b69488d17b53ba0e7ff1943604b3cf384a2b9517e092440407a14f8b9f63b5d9c3f3f61abc3c8cb795b8457e6a4c57bcd165b68b0c654602cfd6cb248c60a66f9f98f875cfe2f5dc63a941194c748a5fa85f6875b3f00696e8c16aede117ecf9957db39399c04eb07c7c32f0a30e3a24d9c02ea2ddc1f1e00250b2f25ee71948134d4622f9bd25f4db9a9d5b44302e4cbe369a5d3d129afc54fb88efe935f2fdb3f2c9ee56af5fd1e53e5053b506602b81feb8a14b4cfc9c3d87e5d81f0e15df3ac02450e0dacd1aeda6b07b5be0461c48 - -COUNT=33 -L = 2400 -KI = eea44192ad232e36fceba148afe03b595bf0c06c -IVlen = 160 -IV = a6c75f5fcdc8de371988f7d76a0958ff2ae1112b -FixedInputDataByteLen = 51 -FixedInputData = ed70f791733ce406867f4e3cb20f161951654a2240ade0b0405c69b6038a84ec9e0f6f0cc105f4f774270a5b8ae9a69cce49f2 -KO = 46f97d8f9c00a8c66a51dd90f1654341518c00a6eda06a81992ac8bdd9830a6fe2ab9e79dd6148ceef2e1ade7fef16ce5cac1b5789e2176af4ac5736b6ed51cab721c083ee75881a1073da4e462769a2dbe1bb4ca9c411d4d138b188fdb6e932d4faa102c450eba8f4636cb81de30c02729f029b9ffacf539d1a41020a3a5521a0a9da51c8d63e10354276e7b6262743a0c4fcc685b8186826c9275a64dfd1f67b6f7fd931854b7f071d8aef28dc39149684546d4aba6a575cd3232bbc427f23e407c57cbc6c2ce2d62ccb37fde69de8ef22adf691f8bb9fd246b1d32bd474d9d5cdd542ed2a76c240396b5213056cf3e160308a6547e78fed29ecc9ad4c1ed5cedaa51c9bb2a216021da848d923a703f4c7fd99294832fdd3d616114d98048dde10e7b3ca304eded2d8bcd5 - -COUNT=34 -L = 2400 -KI = b58470c0ea48def51609a25e3497338410067079 -IVlen = 160 -IV = 85daad65c1cc560d4ef98cf8f78f8d9002c10861 -FixedInputDataByteLen = 51 -FixedInputData = 8ad04c44e194b4d912ff8f6115b9923746636e0dae9ecd71f94f25c66f89be30dfeb0968150facaafd4289f21b33fdc563a459 -KO = 6a211569d75ea5965c687d28d5177f85d3019573af9120b3f1a63d12bf540922b0680d0cf59ac8e581101bf803cc94a10324d95a90a840406933187b92869ce43ef4d3667b7e1f0efe3d6f1dacbab9d106f9d6a3c92a961597e42a75a04083a75a1c5cd523aa2de6e2c11d7282bb3b48cbfa28fbe928a6b4e18a3022b2eefa0d2a07367ce0b49c9782855cc56e7e1881c9ed4c951281872d2d0b53959f97edb450b6beeb2a7a2f6a70a3320e9ee148bc7e26f850b21e4eebba3b7501f3b758abab3367f988b47bce65c55b6e1ea1ac456beda8a8c1ce21e3351e9e8fbcd4d6804c86d45c76cfd5b76217bf0e5d9a52977c63be5758c2e8c0d3ad63cef0d37c7a2d1078b0061afbd55e303d8ba4e799e80d730e1600e207170e25de1eaabea12dadc599a7914566abebe00796 - -COUNT=35 -L = 2400 -KI = 68aba1a25f30c01eb62f1005c4b6b836caebf15d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3895f76d6d587f2c279a79a6b6a706ec803964e292d2387338eed701439829d577073a6f4b713672d414fcd9cca98a7e91b52a -KO = ece1aafd64cf4c8ba3d59b4448e4da8a9d9696bef1fc6149535126daf31c5e4d2c9dc514f4651d6a288f0c12924463dabb1982e86093968912f5f4d78a1ec0c5fc16061197c2b51e48a92a2fa3bf6b9a9f1e6153c79d76151a9d4f8296aeffa5a7fc48cf0148162310652bdd382638ba428bf1a8aa2aebcc073406a71de2f22d1643c51a66bb9fbc6771a053d7c63d5dc17e27e195809cb4b961e6ebd03c40d4ff2bc7b15d8843ac65063d7a74e146b7256a6e0aac212f4e9205d004caf76d270b451b2cd4f042f12d508c6a2a719cada3c45a2fb77eb0035fe020d855f8f4b3b243b176363c3a5e0a81fa900d8eb2a9e419da5829ab0aa26498f274618bc2870d83ca551507e3f4076b4e73d8e2e72cde93b99861ba20d860132d9ab40645b14faa005b996e0e6912a0fbd4 - -COUNT=36 -L = 2400 -KI = 65f8caa0ddfdb0a2e1e526ebe6dd7d1f4f2173ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b98b39e2664e8bfa39725c0071a18eba8b864aa3d6633117e2e9c322b626e753fdae54cf6effe1c1499126415b22907521781 -KO = f8abd7aa3eff535da7c5705985cca8d77997019944caf03520cebb6c8e191594966bf94d665bea8acf5a2f15074181590038e54d18367c84a9067f4a2598283e487fac71acd07d65996b62c425daa0fd9b61b7ad42ebece246e0a777c851cec1c1460d58cfc67f5dfbccc813fbecd143d82d5b6c1fc69452dfd0e9683164933a96adf58fe8334695d51a4ea59228933415d93f03935cb6e877fe46708aa55ce86f70497cff113b03bb0572fbe4c93c8fbad8b9636fd1c8cca7e884bb411060c39049c2a404b4c415e2ba0f557f0d97e0a5fd157fd44a61c4ddc45acecbc104c5537b3400c95f581e74279261f28e479812b35c467c5b64094a415f05d7efe6cb8a677c0a346d3261527c0d9ef8bf36637a06b45b3ff88583cb2296c16a64a2159068fdbf794651feb70956df - -COUNT=37 -L = 2400 -KI = b173b9802864ab6f76dc7ae63ffc99205ec91182 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f9e6af8a7ddf09c7c6b7654e7eecbb4ee4884f03259a16eadc25229483dee1ba3be9a5459b3295febe2c1a7681e92682b6a7b -KO = f6c674a228bf70acfac8b02ef42326a783bafc27640aaa4004432c1562747788d847e21b9f378cea177353e3d96fe89fd0aafbaa14cddec93d8098731c921260a4a7b4caba44ba099ad5d9927c010af02a5db23d5e10098f47c4550c08b4ed35d7dbb9dd5ba1bdeec361066ab7cc40df45e0e4d63783f19e9d29ba1b66d24b37ecd04eaa29dd2d3c6846c04f39571e7dd4a0e9d6946f0aef8409dac211e2f7626993c2fc9809d1396c139b7262ab1cf273ecd04b398b930b19e79e582776a3cb22b0ed538d0310306d333dd118e0bf1e5b916dc7db229005e753d802a2512846899bbd75a8f1be2193f1cb016f3489a8710f633d62de88c5415530c8f689382322544b75530d5770746a194946be463aca37fa3d7fb72c81a987fd1484f9960fdfb5aca77942943f2616f316 - -COUNT=38 -L = 2400 -KI = 4283b5a0d6bac26340a600d91620efe97d7647fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 580c1741708c199c390eda439e23c5174583b9d2a429f9ed443d9ee9b0b28867784e3ff751e6320fa5a65f17685c08ee4b0806 -KO = aa0a6d753e6e60445e8f67157798d66d288a0b64cceb806b51943f4cd82fdc7c97205191a1cc056977ef7327535105aeddb58fffedd667ebfed79f54375f3cdc6dd14cbb51f4d1af106bd27200441374d4c542ddb0a959540e82e289ba0f3d2df56487b5d9cd1a5881d54ec50b724125024dd2a96f28cfaf6e9ccf59501cdb55fee2ae9f10922d7ea3571ac85a77738746720a752a076f478e924418da1b7ed29644d33b9ae540046224bdebfcb4a5b2eca65671d6f1bd610d783791498494b9c7e7ff9540959b611e13695fcd9584ec40f91da18ba1485198a78ed763d8074aace967fd6563b11458afcca6df683efb23dc7503f3eb729f53d9f40e4ef91f63d042b38421280f77f04d438c31e76fdd85c5cfa283cffbb1f079462d4a974c674d414bb0c774fa00222db7c1 - -COUNT=39 -L = 2400 -KI = b577fb16ed9fa4700449332279e3e9cdfdd11310 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8487d4e60d444eb94b84f3b5572db508bcadf417d08ca03bffc1dd20122feb3fd77d00ab95955443dbc8f5cef2aa181e14bee -KO = 2c899a3046daa47212f493aefeeca77f963553d638bf7ac8a564a4b503ad6c777108d447303620f247211eab10775db8ab447de15199f8a83ac29fb0936271ed03d937edcad6e0645443c219c27e00373c499fd468e7021c555f9adf51f0f0b4105f3a98b1df17844ab1e7ff460dcb9908b07df044982926acae8f14a28791cdcd58921e5feaef24ad7e6980c9f833aa2b7811f823f3070951ddb5b3b2fb9294270fd28f1ab992fa7637912a4c9cc63a5e8462e3366ecfa95495c6bef91afa5df8f82f8a3bd79c909ecac5cb4c0a975b2bb684da404d2c871e470f516e2289dcf4366da9c2483e72efdbcb654bd0107dd83d3eb36120e3f8120d9a38e04937197fe91a1e150fb803bca4c03a30f7fb38dc3b770a1f8716a414c71d7c70b2470b60e35ce75830297447b51ec2 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f7155e6c61c97b9104b6834f60178eba7fba54d9 -IVlen = 160 -IV = d3dd55d3a12905e9f9c587df4eb95742eca99b8c -FixedInputDataByteLen = 51 -FixedInputData = 80cf60b8c02d470abf442475b9b31b8866bd25513ec273ec178c5df66e69ad35fd1445e65797552ab05bac95db169b9bf7f4ac -KO = 48da30912d0816df24aeb2a8af97c4141e1fb42ebce171563b97d9b9df60087b22c6572739748554adbb67ba5eec2cf1d23b40290bdc06e7bb341f61dda1b8dc - -COUNT=1 -L = 512 -KI = 0211c85126e5623951e676357eb253097231870a -IVlen = 160 -IV = 1e65f5433795c7b71983ff9bc386e21f40b55cd4 -FixedInputDataByteLen = 51 -FixedInputData = af861329467bcb90039e377591be2fc730c54d89ca8f51cc244b71ba04a45cf0fb3f68081f98b73589abdb0d9a7709aabe7139 -KO = 5aae6522add5d92ab3904edbefa072072c1e8e20c912926e5f4f0c4b063a8662e59d1337a603cbb332764d5be770d1224e4c3f404851463f4bf3e6c6963aab6b - -COUNT=2 -L = 512 -KI = c76bb994677156ebdc414a4fdafac76829a6f4dc -IVlen = 160 -IV = d57b6bcce2b88ad993d4fb2201ce8b6ed823f203 -FixedInputDataByteLen = 51 -FixedInputData = 57e6c66b07cafb1e7b34511b7d638b4bc0dfdb6b51dff042dc367c370c87960b5fcb28f6e554b89f0a8d5c8afcc9c47b5067c1 -KO = 47bbbc1789da2ec01a64ba5584f45022e17d18d3afa44a83bea74060bc4eeba7b6864c2917d04d713704690f710c3265fb57b9c000d7c1664028455043dec3c3 - -COUNT=3 -L = 512 -KI = 53c7245eb270e34dba643c2c7ee3c4415925a691 -IVlen = 160 -IV = a52d227b101ab65041d4222f630f617652c22adc -FixedInputDataByteLen = 51 -FixedInputData = 96c9b080909662e9a73854aa540f21b4076dba93954fddc4e938c4b06ffeb14869f2b9e522b2f463fea02f5ff5865fc76e981e -KO = 4db009519506da1bb5bda4a23dfdf4a535acc6622b955477b1760b1d6d254a18d46da840c1f40e1a14cfe2f90533af49eb8e078c32d5af511083f80114104927 - -COUNT=4 -L = 512 -KI = d0100bac5165759c3ea979806bf34a7e7fbef59c -IVlen = 160 -IV = e91fdb2e07d6d01a8d55f7f380b46e1e08d628e1 -FixedInputDataByteLen = 51 -FixedInputData = 33c67f85d2cd6fc93c0b95847fcf90bb934ce63ff0b33f833f14b1f7e533e2095b6f0d64d7f1da58dbefb623f09ceed6fb4f99 -KO = e1eda67ffc156b1d583b1394a2880eeae3552745e54475010d997994b6cacd0640addf43f636f5f81300a736652de78f27df127908f6438484f0e58a7f5bf49e - -COUNT=5 -L = 512 -KI = 7cc9f8445c4dae7879c5c5d198faee2cfefbe219 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b6c0cf3940bc12c6614ba840c98706b41b82b090e3b43604999b4aeab91ad724b4f1d7b0e0606982e362863c3c0fd371db2e1 -KO = 3e1b7430ed25eb63e296a6cdd30b9950dcb3f2859a08f81f4b184d2025375700bf0437485efc5649b8fc888fadeee834d1339fb8026d3f0d91a96827c981fcdb - -COUNT=6 -L = 512 -KI = dc7b6004290a9189f4f3642cc2054999b3a268e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1cd1156645b329e3349c351e9ff5e5c6f6fe02d2d3a22c23ff6346cd65499ddaf8f8971ae559be8c222bda0023e79d624833e0 -KO = 4e93d5d3643c8597ffa2d44b776e26a74116b93052725c5f09ffb4d0d1952bcd0803a997ce778a9c920d3dbb996366c47b1066cff08af115882a17f864b91c48 - -COUNT=7 -L = 512 -KI = 99f32cca4e5f12ff2d2de7d9af273bbbe228e9ce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 556d1fee732dcd9ecb02927dedd6ce3982e4d238b787274255c9544c9ef29860b9d2ab8cf0a0ca7d01e6a3dc6602482892dea7 -KO = 13f21bb676d81694b50ed9cc6cbf63d98e21cda73139f9ef1cb14f3cd4e5e7f6456035f3eecf472883e41726a38518eb095e31d4f29cdd26494ce501559dc77d - -COUNT=8 -L = 512 -KI = 7bdbb1f950f18ab4785c9a2d825a8486160b96e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 763791c106ba4d0d470688e10d9f5dab1b539a2c4b56629c3a4f23551af07e2ca7dbd8e15b7f04f74f026bcc446aeb327dcfd2 -KO = fe5810d70e02f238a30f1b383ec666e8c340f351f68775bf383aad5d79d60013b1c43cfc12b68827fedd2e9eac5a543141d52e86191c718b3359ff489afc8132 - -COUNT=9 -L = 512 -KI = 72c30a0aa1a8d4feb77df7a0917332627e0c80fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 218c7619f7221ccf8a4f5c3c156fdd53d9dabb0bf04402dc39d2a79e7559bd1fc726aeac0e74b83693a04dc9331b8576aff44e -KO = 97d9e8a71db1f42db88df1806f76e34efe9088124bf95d4a627a9ff877eaff3e2107c1c3edc00062db95ba7d8c42cc9a1b65a98bfb528c8adccc57d0268f0ae4 - -COUNT=10 -L = 2048 -KI = 979b9f026b039def7ed127db7eeb273b1cfd587b -IVlen = 160 -IV = 363cb3b8b6aa77bb84d2f6231fc71bd73d59d2d1 -FixedInputDataByteLen = 51 -FixedInputData = dc89d93b80dbb02c8fbd5fc848fadf0102f753d6f42e03762623149f0375da8bf788974c42df4d34c5efe5ffbc586e913c9332 -KO = 16129c10a6295ee165f20ea9efcad8ba8b9be6ed8c7376749c376d3b72e823aa2fa5394e1f08770068333daa295e64760370fdcad2128810972feac53d108ce4a3142cd1c9288722fc8042e3178ffebb28800cf97587e0059440fffdd038912ae40b0088a98e73b0a24b11141cfc4c4c20b213e793a4a6d9e838bd79fe3b0de79ef164a4fea244ba3b57cbcca54905864b5a24a8742259f114cc903212543840818bbe662f79410fb5805a7b2f91fe595d5294af3f9211620661f6bbddb0538b2b7bed687dd3189cde8ec5df1a981fd24e12c1696cea7a77f9e5a6936e98925f7686d142707eee237b1b9f0353e21d2c792cee3fb3e8613d51e1c12394d45259 - -COUNT=11 -L = 2048 -KI = 403f6849ddbe49cf331b5fb62ee1ed64ee00b3ce -IVlen = 160 -IV = 6257904ab837ee756e1dc5ed1389d8f4ad7c32f3 -FixedInputDataByteLen = 51 -FixedInputData = 08af24eee3ab8990aeebe48778c5c1603a8fa1a4f11355df9e2801f8b1242a2d10948bc8fa4f272b885cb25755ebc6dfd093e1 -KO = 992150df1afa1fede846349f77a82d3753558652acd51b88e5890c42a5a78ffa4b98b55b2ed3bf9f549476d78b96e1839bd8e903036a48370bb107ba188196ac512bdfd3b8ef8494861520dda298f500dd6d4af487bf33299e2b51ec1d9e96a08187d33cba53dbafb42b12545a1ca00103c84c023edb52ec24c3db149e522e357a6d973d87b202c50321a7fef4a6b5626bc528c924689e34d2de8a499e926ffbf77efdeb178c3f1952ddc19c266bd4e779b0a8ec5a1ae437e17871967cc071c40f08955c4927a777dbe6b09adcd1f016e401c6ddd323732d997f0ac3416e4fc1b24699220df2069c16d519c985a2880c1eb14e15ddd1328e295a23f437824193 - -COUNT=12 -L = 2048 -KI = 7b618708b64792366cafe8c265e0723cb8d980b3 -IVlen = 160 -IV = dfe10735fab3c4a36e13cfca81cc081b8e95c277 -FixedInputDataByteLen = 51 -FixedInputData = 5551d5c0e9c8293a6ddfd6d8b87bebfeaa564d8adeb09eab694f3b75528133946d8431d5837296b9190f6f90ddb25c19215a5b -KO = a99fc37377d6b52c1a931d39a64ced8e1145cc6c72680009ed17bf6e78a856720d79f12891085b16b10171859ab7f49526540a3e9e27a741274d8a4e741c003fc842a145bd715d94742bd0e5a62f656be52cbd527d9a334a549c4b2df070e5e6d12ef1b7ce925fca26c1c3d5522012c725ccd70b8e2214f27fe8f874fbf33fbe573a1dd5a5cdef434fab5d7b67677fedc0c5c4c3c7dc2644035f92826ae866938b84c55d7a49a88bc4f7e766b2515c36acb625986d4485464ebb8e86fc7158721287ac7cc0fb2af550d075997bb75b48bc21dfd93231c5362937f6cf2565efc337e97687f92c5aaf42b9c1040a3a9840bacf1cfb79d04e6de5330d217a56f239 - -COUNT=13 -L = 2048 -KI = 023164651271b1f271225981d9c6af8494d68ae4 -IVlen = 160 -IV = 514869e83e79f25817cd913c8437e7fe39009faa -FixedInputDataByteLen = 51 -FixedInputData = 248db768380ee66693044d069d1cc6eb27ebde421b86e901dbe45955c3e8fa5aef6d3519fce5073f336592fa8852bcacc0922b -KO = 21f7fe98426bc8636c7323417afd1ebed51e75638bd93940468a85029cc0c152198b94dc08f5ea8c963fca8f022ed006787a1c0e8120e3a309f2783310d58540ad4e65175eff1acf9c0bfc2af11168750c2d7cc1725e200c3d7e23181f09ee6b82c6f3ace1c24376b43db9d7a894a287d1c941159e2fc0ef7920e81f2eaac02c6b8f36a8deafe0ab684d7757fb4bed618892ac0997efcecfab251fe3f291f91ed1e2edc0cb9016711640e77d07811e94d54c62880fabe2b44fdf3516a4291e830890e0e297f909e33e7443941aba7fe02a2828f3a9a56538cd6568ee68330121918f68c838eb144de8b40970fb2411398d6c3327786c28a4c06a570f15bda2bd - -COUNT=14 -L = 2048 -KI = f7c3947781df2480e9080c5222a15976e6a3d803 -IVlen = 160 -IV = e1eb7784bd13fe13f0331318fe2de555086785d1 -FixedInputDataByteLen = 51 -FixedInputData = 8c0ab19821b5eed269f53aede0f6319349f4c432f6403e8340baa1e68d53515c5a51dc5b39e833af2955bd56d5dc01a75f9016 -KO = b5f76aafb4890c313f22f52bf195784cc5046534b6bb2e977c902bc44caf2fb3f434a1c3c2e21fbc3b49fdf65dc9090b8c4ef405fcbd1411664c2b1b9bc3c21389c836dae5c4393258cef67cfc3595ced1105ac94974e8badeb2ed6e6d0b92b3c612e4fa34bf15ae4c0a7994a90d2d01bdcf3524e6ffa5d0f34c1aeb583045af3d62b796a1377571c3f4f79101ab91dad0fad2af65080b6530bf7f20efbced4ff33b126cdc1cf72be69a376f0dd84344aa4ebe9403f8158bf14fb86174465a60e239bdb7b2b7528639659abc62b9b6f2f70e428c4a997178ff867410db59cd74b63b6dfa54d01270a8967869717acb667096bb377bd7a4b0f7130342e20a2264 - -COUNT=15 -L = 2048 -KI = 77c356183d00cb1ed901420c96d4f58bfd895727 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4fe4ce3afd51ae33e1489b9d1fc976d53e9e796da67dea321160c6b008c39465718882cc03fc46520a5d80cd760848f5fe31dd -KO = 4d1c794b1b7bc3160b3c32c15ceb45047b28009512e50864615a29731fd9c792568b151a69e5795bbfd781685ba0c0ea2d6bc563e68f3fb76573d516a4f99bb2c0059a20d393d63cbba6f94904c630f2483bf07324a89871bcb9239d5a69d0652a36f943e517b23eb76c29af7d4ce74c315147845ecdacaefa9e294d276496fbd4054de70250963a4dc972e50f1792dd57b5681077d56effce06f10dbc87a6e762326281ea601067723fb49832da958cdeacf2ad4d5aabca3e55a4b4a0f32713ed71011d62d2028d97a9ce9e55331fbd7370efbd9190e6f18808cd825c6aae43349a8df16e499fc7ec4861a618b7dd9f577136daaa220d7d706be30270a3fbac - -COUNT=16 -L = 2048 -KI = f04aae9185412769856c2f7e262c26a04428f8d4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ded6adfaf522306972031564c68fc2c3c295a23b4767448c3504ee517eacf5785fdb91938fd2e2dfb8be8221e767a631d57e0a -KO = c7401df0d25a415c1ef1f3c369ff217ab1a22bd97fc8c8bca74253c23a7dcceadd3fa6bd78dd24fe1e8775228df579158802f5f0b0016320273092e771484305e8808b4bb2f49bea778f385da59c30f6feb9f5596a7b58219a9be44591bc7b9648f90c51b49e06d92a256f1d309660ffd8666a3982398a91ac08b6ed5e1d93ffed713b7ccc388a85a78cd9aaae23757c235455a739b702cb841ebac177d0885bb0e9f7d1681b5b9ad6edabdea7f898ae73906d5a0f8396e47df39008a0a9eac2f5093c5104adca9b0f37f184f66a7b0084f87199b804fb641bd63a108ad1b8c87a41629ba0e27cfa3c31ac30d7aeafb7b70481d04244767ea5426ad9d436374e - -COUNT=17 -L = 2048 -KI = eea89d064ec271f962ca2a83ce527de5b7ed73f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cde2dcfed2116e76ba875f19c8042bf9a02b153b1005492de8c5f31ef7c6b7dc0f94bbbad664a2a712131f625fcdddca0e4813 -KO = 8789904864a8c5890feeda4c9416fef067ec3398bf8db645b371f96171135d046a7bd004c1cc130740ba7dae784bd4765c635f16ad1a93d9ffb6588f5e8c455e1f4b188ad2227767bbf4c58ac298da07945905a1e351caf762fddd4886b1391230fc9d62e6e4b8af30e3584851d8b0d837ff7ea24ab36c7f3a6746b8730a4c0ce58a5ae2740209327082642a852f162830b46162ec6ac71b57e08548347c45de8089e0a13bb15b121ba1d2e0249e4d5a851274e9bed5b8e9305d8c0420a1e004325cded3192034f0585eb87cbb69dcd924336bd6e74e7a0a0b2af13d6f5ba9289bf17ba9e513494bbaaa735255b09c2f8d90f7130ceb4570a5a1f9bad2de171b - -COUNT=18 -L = 2048 -KI = 42a2185d042ea40fe8fe0972cdbf019ea9bf16ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 81968dd3e3c7b3ad6e2b4e4c319970cfb964f9423f589cef92eba8ca0dcc16cde258dcb5e6aadf6884cdb8b024ba7b042a4a62 -KO = 6880f996b0387e5de3d32b86b765e7e895a7f7478a2a15ee319a9868d0f823f5a209dc1ed0c5b0fa738bde38b703e05d33ebf69db0c3522c38a864ca4a1d5dde04af349de278f9947b2e967604c416dd007c7bdd1302fc285c990f8e78d5891bde1544a7d4931506067b4c61a358b3cb24c54c1c51a9ba9b63ff308d813ba2df51d52187bf4105095abbf516381ea733008e0af137f93d90adbf0f5c80b581f4685947cb8dbb622e64396143e2f15601a18e4a95f21f5c649ae95a8ead40f9c0c0dc2a63ab866157f5881e9274ec28218f55d28b81bb612aa10f91ec98bfb72923b79d9f725093ac14198d59cc7158583d5e302839634caf8b65d5926c58eb50 - -COUNT=19 -L = 2048 -KI = 4f5b343ef4bed53ef3739853043e83df90d2654a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f9cde9db11887c938d09d2a414b50e71247ba79e60ae9fac5004227fe770a7fef7da115621e2830001d0c68f1dad6ea25deb1 -KO = 659a9c3119a2435f43c27d0aa4fcff1a0e253fa58747acd0ff5038c6ac234da5342ebf56189138dea74237770daf6625c75f560f2e47fa212d436e4462c68c8275a7ffbb856096d20b69198e3e89058cd55e7ee3388aee71af6834a9d208f88c6d022def5410588c7a70842c5a8f13ee7c44da84df531a379cb8fea5f659929dff63ff28eaf2e47e20813a5ece357b686c76d03101c14fae466c0ec69eba9ae5910688c075fbb9b62a3d7ae0f680bf5c99a06ed312f4346f5eadbf1721de41de9f4ee9077881ccabe7ad06d5c939b3a934be2c2db322f5570077b19829d51c1cf79062dc1cd591a950d0a93bba5a987baf0d51a672dd36b8a2cff76fa69853e0 - -COUNT=20 -L = 560 -KI = b7572a7dbf821929d2ffd3ab1525967a6064ca8d -IVlen = 160 -IV = f3b641d6cdf7accfc26c497033aec9ca6ff7d7bb -FixedInputDataByteLen = 51 -FixedInputData = 6306a13be66152a26d39d12dcc76db00ec498e9a7825837b3abc9a906b16ed974ea31c9c8419fad3431d668ff9a92d83ab64a4 -KO = ca12476648c69a98d4f4850843f729ae4a0e6f37a55d3815d79e60ddba139a9803f76238ff49e71024004273192b9c2af958d3a6dbf6e264cbabd1d1af69b2ddd9d656d65e33 - -COUNT=21 -L = 560 -KI = d9d1b21e6f0126f7d4c2420a4ba1f4b328f3c66a -IVlen = 160 -IV = 5e62183923112963c243a3dc467a239a5a9ffdbf -FixedInputDataByteLen = 51 -FixedInputData = 4d08bda5338973baf1056f8bd279d50f3e3a9c69a3f9210db2607d8fb0a81e18beca5198d17befdc0ef8e1033330254e4eda92 -KO = b8716669489359d34d4889d3ac4047ba8274186edd5fa9c346c53078a78dfa81b1fb44ad0b01a717a5ed2805596406a3530d3e37fc9e9c44e9517d5c3be75df6fbe0d17ed3bb - -COUNT=22 -L = 560 -KI = 0c595e7f75fee0c6fb4282f0c36c79c4f66a60ba -IVlen = 160 -IV = e86325ed9b6478f3b4fe77bbaf28b47535674c24 -FixedInputDataByteLen = 51 -FixedInputData = 5bc634b46b202730746adeae778bd795ed77f168ccbc919c60c0a3d8729de61ed5fb4e433da11aaa1cbe58eecdb02af242d793 -KO = 63c830eb50a787858eb627dc32775a4844c40d7238d75aecef1be172ff721f892b4f1d1bd35e955a831fa39c2f46fb1d74d4fdcbb2b54dd97df65eef757404346ed6e8f778e3 - -COUNT=23 -L = 560 -KI = 61e63cf3fd28c773c0cc20cf84aab9b26371bc04 -IVlen = 160 -IV = dbc1e0c4ef60e47dbbf78209529dc7e799bc5f90 -FixedInputDataByteLen = 51 -FixedInputData = a20947e2902b62234f5f4d6f299a47cdf03df74219ba99903e39076f7257047ad7908ad012aec6219e1f83bb762f65635f94b4 -KO = 8053dd38eb6086f44613cd8e9d68b64d7171451567ee6bda4dda3c21462c1a6b3dcb22d76b890affdc745c83dcdec01d2af39ed3af67cb741c4eb107bb67bba05fbb9188eb05 - -COUNT=24 -L = 560 -KI = a56bb6f49d0fb84b0b6a8f4cb106740b23c6ed86 -IVlen = 160 -IV = f9075593e378476603a03989e8441cd2a6ff9c82 -FixedInputDataByteLen = 51 -FixedInputData = e71e2c4b7f35cbac5062ded60344cef4f9e438a819bf8488009ed590f3d3f388b8e640e08129bd207e00ef694c6efd80e795c3 -KO = d50dc05da612e6553ae42b6807a6b312f8bfdbac50db241542980715d3a35973aeaebd0f9f9bb3260c61dc0397acca168dcb9d2a312c4224cb942bba9d2bcf61a8316477592d - -COUNT=25 -L = 560 -KI = c020da2ebf882641f992ef8528c741acb2261fad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 71cca2a7713e73a1f6c276158f2da1d23d6d84e6fc446e0118fc902111bdec84f99eefd921d7b6e2e23e7e4c5498fab1032620 -KO = c9f78dde6f5289b62d8d66d433bac7e10350daf0c3413d8613163a1eb1d8273907a84f75b58a5c68f2a86d9b4bdf9952a4ff3d7c79100c2d9b80f2cb0a346ee165b2b0e2c5ee - -COUNT=26 -L = 560 -KI = dd5776dea3d3df601c26d0359c47994c9adb7106 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = efe243c215cb24c3e832e36b6612b98d82f8aeda74a5b549584dfd9af614d2ce7e1979049e9adbe1ba370e6c888b090b4f52dd -KO = 06a6a208e4d0d9c5712b5ada2d383071ccf61db81f56458351d74a228f4270b4f763407409c4af3064546eb188c6d4bbd2ed259a42954934406751a7d4c0d9ca441bdf0e98ab - -COUNT=27 -L = 560 -KI = a1c6bc7d0742dcdc14621ac8a0989a0ec15159de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9fcde701d426340ab9657d85fa99e26591bfd4cd14f9d5f719a366f8d746fd6c17bd78bb70b0bfbd5be32035a20620640b9060 -KO = 8fd3b3935e657e54904816f82e7ffa9f10387d2061d7064231fc1b12b156f0b555e5771083af2538406115221f0b83a43fbd6507b750be00b1905dc56c58fa69bf645f7c7285 - -COUNT=28 -L = 560 -KI = 69616a3e4fa70b0d01b5ae394d57ba447e6aae5d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d33f11ecf6ef58aba8b73cda1d2b13ff0488d3de56a36391b9f4e2d1a38daec5d00e45287eb0d7281305fc893fa189e793fc42 -KO = 934902b255ebd21b8fbc4e6d916e7cf64985b9426ab6f3118abb4d14f39b093a8bee6a35eeaa2b57e5d4d5752bdfc3e55060bd3b3a6b5e0532d79a537ba97923ba547361ef5c - -COUNT=29 -L = 560 -KI = 3405509a26a112ae7f216b59e7b06c9f3aa65b2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53618ab5faf531d30a166aa6a47b7402b9112a05ac860536160b97dc1ca0d4b4bb2c54f96c2d553077969f8382fac338852e9f -KO = 710285dcfcad59e627b562e537a84d78c39bcc748231c5f1890edbf09df06090a2362d9764e5f0863d584d7136b58b377e57a7ec7569fc00b76dd9ea7b122791d35659356586 - -COUNT=30 -L = 2400 -KI = 1db688e299b65fefe5c23c582f5a95a89604e79c -IVlen = 160 -IV = a3d25f544eec8933aea8e60ec36ba410880e83df -FixedInputDataByteLen = 51 -FixedInputData = 0be16301b5e2e09ebbf35b6313f95dcba81456037327a690b85d179d4df6131b73686c2af62b12e59451158e588f0b5c7782cd -KO = e955ea4c61c10dd1f407edf45ca3568d8e5548d853ffafcd049a77663073238415b9ac8de81ffb211ec68db6997088287719b22a1f952e7b0ad9fb7d9dea9472b8f510560d76999392f900311ba350d38ee11bab73db737bb4a5a30d5620dae3af76a1bc02f1c4996773fc658872dd438f9007d4bce51937ff2e0bad55a9705b314668a9f9124892cff124dd1a1b5d1d5fd4db393a34aac12a871c8cf682a1489e3219a5825bfe5176065027babac522cc7ba92fe6ace65069bcc32f80336487f874f84ea0e3077d7b5dc5f78bd22438f41ca9c885dc3ac573bf51c7b7f95477da44ea81004e79778ab8b50ee4fc04a3536be56c17871bffa3f655ff8695b22824be10d36661e2eff1a0f1a40dd1ab2b5844cb7eb91ae2485fae05fd3269b95cc06148d97a3128da25961952 - -COUNT=31 -L = 2400 -KI = 07677d780d785d914a4fd520275c7ac938277a9e -IVlen = 160 -IV = e7951239bf5a2689933b141c1452853004f81672 -FixedInputDataByteLen = 51 -FixedInputData = c331ff09c383058c25082c63f09cc1a9779ca73caabc39f9b649cbc491fb29f0ff1f168186a0e334c5c02a88c03442d79e0f2f -KO = 1dbfd138deeea4362f7419561b78466065b80ce7a75bf08a0ad9a5e94e9e05562da99a3db74e798c78dd29e239eab8576944dbd2efcee8d648e8926f5162166f441825400a46250c90df2f53774724e85e0afc756d4422a1efb3c6ad29c0fb0c1b877c64fa60e568389972e6eca55a5f3f6f553c8855c33925ad1bdd545ca58a6ecbb463f4949806635b0d3819f6bcb333632113e5e67b04b19c392f6ae6a5e50987df4b0f502fd6411429f7e5c7476382e3ced1e464fc673557ef5c428a83045e0400d24c8b9da2616f4a4beedb3bf45581822268406907d1116d88b7cc33f1b0e74f4335c9cbbb279cb40cf7ecafdc6dc28673b5657ce3681b1ce67aa752edcb10c51f1f9b6034f9b7acd78df84f51269fc4e85e64bfe07f4c47e3c6d96f8b575dc8d68323329b9e2cfaf9 - -COUNT=32 -L = 2400 -KI = a2d26159d0f3a5a846a3a0e9dce971c55d5e1ba6 -IVlen = 160 -IV = dbbb71f0de827a179c62f8a9a12608b48924e0f7 -FixedInputDataByteLen = 51 -FixedInputData = 796461b0ab711254cce9a02c53442a8f1b63c58f221790b6e0f2f928c56041c5a65b8492be19b8f4dc03924102cf63dd93b300 -KO = e8f8e5d1ed436653f98c75b184fced89b4791433656d08ec8ebdaeb56719da881d2b03f543be29830c476b0bb61d450564942de1dbee98ac8c3e7e1dc873555ed1ca59d0d685e50ebde35c63035317e66ac9e74cef41dcf7b8ea9a088cc01abb55e7e0403a7f8fd78ccebee03b1bbd88d1460a853b51e8e13615273acb2ba2be525c89a1c73d55bcf0f128678db349081470e43fb33a65ddf03f0e21794d4d8973b5d2d3efaa774bbc0668d1f020465e710dccdc1141e299bc45e7775e227e5dccc1bcc824ef2e2270770cd7fe95fc61624a16f6be6bc8be578af83563cb5e65a5a20f4f118d593dfef94248e56a17adff85b2bb2783e98e3fdf1a65b4b09fd96453962923aa6190fbd8d43557a861416dc0a688c34e475b5b97baf22329eff19a8ebdf7f92382f4baab0a0e - -COUNT=33 -L = 2400 -KI = f6f52b0ee615a8b862fbca8b2b87359954f09398 -IVlen = 160 -IV = e6f211ca64ce1f58827ff1b56d7efec609fc04dd -FixedInputDataByteLen = 51 -FixedInputData = a2661b7958caf77200a91e98b408f367180cc140376a4a6ac059c57a68d8e2745778616cb3d0423df1f894ef22f8bbbf3067fa -KO = 27c277246ce15e5e8fe67ff7042d773e6fac5a8b1c9ce43a17f9a16482dfba6e0a0c157dcd48ce38576b485f924600857fcc1f19fa39c319acc53aea07797a15a2f6e3e63584853a95ba406011694b530081296619f394b0d35fda391f07108a47d4d59ae73e2f74f51da2692edc1f7528b674b2b50768f6303a0a355ead915cf7ba5eac6c682c636b6066ebb3e83a75b7d2d453f99b649ec598fc9aa65c9a1905df4731f6de81c553ffee067e94db9c3a69dafae0624d9efdcd9b117fc495762123fe7ec3a38a4a9d6b4f47febc88c8e8102d2a048b6a47b63598ed9f64fa7b7b160b6b276dcd05bf047b1b850aad961579ccfde97530eecd0cb7396d4435727fb4f903cc6f042b259079b19f040764feb53abbc959a56255819daabf0ab90323a73958b9504d0ae9c0aad7 - -COUNT=34 -L = 2400 -KI = 2594af296221f8bd8116f33a1aec19aa81587229 -IVlen = 160 -IV = ce1fcbf20cc3286dcd2502c5dd679c2167ce41a8 -FixedInputDataByteLen = 51 -FixedInputData = a6d763c0912a8176027be0f82a80b52cb254be195ad5cbb0f0a8a90797caedc488aebe9a78a85ba0cf0a1ef47080a8c7565e91 -KO = 11b8c017d2efd934c4331852e8d56792f077e86e2ab8439baac80a886e76307a3354a680e71b02f26b7980b2cf66953630b54880fb0608d3d426dae1d32b26ac784ead6af5d02795740eac45096de2bad997335f27519ac74e7d7bd3fd6f5b9d40fdb6acf48ea5a0dd2248fd54d6a6c1ebaa27ba6658bc051692c619c4a9e5f332789cdb26a223bdaa982cef218182886c23613e70ba84c15e7b8e8950d64762abb0a51dd957a71c3d6f39f167e71ac77bfe6775766962adf4e8892d4cd2999fc082ed4723225a421b4a0859087cc1343302c6ebc525adc00d8c488becaed4e0c5a50a56cc535e1b3ccc79e175f391f0ae1c8079a5c063d54224f1e880cb11214756ca688ab726e53c39912986b9a556bf8bc93213798d09a068ebf24c1ff856092d1ac4635a4d6ec25e92fe - -COUNT=35 -L = 2400 -KI = 2ba1e8bdfc518307c2f773d723c10ff7ce3a9674 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88736a3f32d32c980a60d65fa36a9736f782ad50099634eef1d7089a9811cf9dd39a27ca7e923e5572facf3cf70b51dd5e818b -KO = c9e8bbae9f989cc1837f7eab3f042ea9595ae74bd151b844d83fd8d84292e97fabf93ad55c6d38fe666a936233dff0eec68a56866e2b47e5c424675cc38c1f52bf873c0f6f5d93e2ebf1d4ec9b0ec45e33b11f98f5074ea98e297c8f432ecdd473e0cc35a1bcf80a65113c20f840bb091f87c215dcb647d137d519edf25ec5af0485e57d57fdc8cc82629dd11393018315eb1a431fffb0932ed83dcc2cc6261b18543672b1182fb61e3ac9901f353f7d261a7326689f9c3b421dead4c14bfcbee26f3bf48b03d27c036141cd302f2eec28f95be55087651d417009c3d956190488cab4556cf24cd2b94d2dd9da6e8093ba6e0a61c5734b7e820d0bc7967421605df1d320246df84a16a542456eeb9c56a7228eec09772935c1922917d56605cbf1dc6e54333977feb09a90c8 - -COUNT=36 -L = 2400 -KI = 67325d1b2f369f268e610a48329e92e012b4515a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92dd3976874909905d5471c4f45f35cbbe3495933e77a0f4eeaa8d32b3637ad42ecc089bdef074700a4d2b52d8467b4c41c9f1 -KO = d967dfb73d5122ddb2827e84944fc1156917bf4fdf379fafcc7c10cd51e4fce1f0a9cfb9c6b346ad55cea430bb7833aa0f863d764702906e446a50d8fc7387b59e88a2bd23582127daffb6ed647fb3c8a22920473fbeea9d4506fa009530ac6d767423b9dde8c045ac75914e121b1a306f40a2fd7f5ee584516d94d366dd5c56bc378d600f4f75ff1e04f52c900c015a43a911e8210a7496923706c0afe2bc28ffaf83225f6ed4724d1dd0408e3780be1b0dc98766c0960ed1ae3270b62b551a8209860946793ebc4a108c77fada791b7fe6aafd32a1d4eb641aa15fecb30decd325cf14e75f7754366f4842bbf298a1bc4876f4634d3f54bd84d6a2c16394e37f3efdb40e6211525050a3398e526078e112f0bdae08f40749a35ae33fef4ef9c3092e17f8a1edbf6f18f98f - -COUNT=37 -L = 2400 -KI = 486d8da505eb3eb312cb9bd049f8f3d52c2f9e32 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34fec7199555b09a13a8a3269dfc435b7d8bfa23add6b255c2e3bc2051545325f88362003b4ebf85a92cbd4bb2169746680072 -KO = d0bdedab8656674258fe0ef2074c3c7572fd8738070c5e6b914f14b904de6a0f39b0e09daeb85f48d5811fce9df65d2ea483dd5aaaa4ef1154bdccf69341b19037cb047648669d928e368a407698aeaddce87a26f4af29670e48746f3f629df71122885ee123e2a1e0103836fc0110bf653aa2ead5848182e76c6a873cd4897e4967039668b752ae4af27d70286477ffebe444421dd9514e092a0c068b81dd2dc56660b247b631459b9a7e1dbbc44b6813c7429eccf33afd2fe74194f45033d58f9a480312be751498c016c90fb43b32eb1c7a49f02b0beb0a695fdf4526ea11060fa5fd22a6593afaa185d7c72949aaa98ff8689fbda9027bd08068ec3c77cbaa4e55190dc5db8884ff69212fb3856319f48cfe4c00603e1d1d0da28fb209fe94528625cc2288c4e8287de1 - -COUNT=38 -L = 2400 -KI = d53cb6819d7cb5e74f1adc8792cce9fcd22720b6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9879e3d135823a945b0f16ac38c8c944f21007c927d501a2466a371f63500d1f0a5cd5cb4dbfdbcbb940bf1bc2cfa79e69be40 -KO = f364e1418e1ed0df9179c674f52f6f14147cdef437dc1f2d6622e846ea9e5b102533b9a8f15faaf90122d94ac107571f6756a8c3cc5cf69c277a32dc8d94de0cee21b740d11b3ce23ce714d3f6ccdac4c7e1d04195a7bab53f444d391d4098c6e24c22672b538e11220fdc4083307f9c6eef232499b14e191bb3d4e2477b66f33ba20624c4a77471e35112f0949492cea5c7e16638f5d48bb8dda2d68c8a6896fb8dd0363142073579809697af66a4a8767b18063323c0101eb6c566c0b1a13a3bf42b9f6e52fd5d90c5b3c31516fcf5b91f02bca1adc07ebe976a3d77250bd270e7a87edf095f29831a34a3caed336e7b90085c55baa40e4003dfd532ba060f09f2c2f9b51126c6b49000227806794855366a84dda583d1965ac77d0564b3f56fab21d11ead43f764cfdff6 - -COUNT=39 -L = 2400 -KI = cfd317b3ae6213c39ce85d05ab1e11788a8ea38d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d56eedaf095789b3bfa97b82c7e7e69a0f68a4335ffff7ef45a7f4ced67b355d6bc38fdc30b8ab5884f78615841698f42668b4 -KO = 7d70e9805dce66372f9f8c675cc39ab32542f83cdae7be26e0201bbb3dfa894791f1f86ba48cbc69749e13c15e56b3c5cac5026e58980215dca0fd2b31c363092ed737b96fe38af82a84dd49f098de5a1dba156ff74d29a3c1c97c59a1798c5f547c36bb1e40257481ba67ed0fcea02055c3286d23e24576d89afad6f60e00c2fcc4006206dd3b52440674814a7310ab0fa7edfb15d9d494c2ce387f9eaeeaa1a0fda454d5f190a88178d65c2458d3f7faf218ec6ece4f1e672819db8bf44703411fb4f524f0338f8734dda586b0163dc9c02692a905c2a876d54d7263676dc7ed0f58363459b8fc030c4ebc5baa271fc582094f2f7f4c7930b8702ed17d31bb64b0405f2aa52b0bd7912f1d45d664a263ee1993b69dc6a0d741526bc7ec26b72a793b71ef942598faeed193 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 6a2e804c5f986ad3bc5e132f4d9f098e7624c5d1 -IVlen = 160 -IV = 6887130af57b83f9f880691ac96a68d97b345d41 -FixedInputDataByteLen = 51 -FixedInputData = 35d63c9138de1fc1d7d2d2391da810b1bafdbcc59550ed7450bcdb60771631308015e0f7278aa6e8a8e4bff63373dc811df586 -KO = e4a75d9dfc5b4e09717af95d9813699db4160f7c2fe5df2ac0e81b655a6718d4cabb5448ef1b9a9d08f70920ac116f6abc58f2cce0a919e6b42abf8a85c0a9b0 - -COUNT=1 -L = 512 -KI = 7f4aebd36ea381abe4758f9d19ec74e30c38dc6e -IVlen = 160 -IV = ed2ea31f5ecb7f4d346f587177332dbd5490dfc7 -FixedInputDataByteLen = 51 -FixedInputData = 897266f59481536009b4c55bbbe1b0e1a6d6b0bd782756e2d16a82afa9ecc482eba615fa4d4039398ea765ebe9c4a676e5e9c8 -KO = 0a3dcac17bdd124ed2e922ee4788f0863c8558899a9507bf31f83d653cb4a83c1ee3298934cac58f5fe63df62548f904dffe0f0347c88d9f94aedc1358370c35 - -COUNT=2 -L = 512 -KI = 3599c13d65991f3b0ed93788dc62afdc972e7eda -IVlen = 160 -IV = ba58c13cf8c6a9b4f656cc1172a464065033e713 -FixedInputDataByteLen = 51 -FixedInputData = a399c50ef99729173436a3eee21b86bba6af68ddb4bb2f9a03a8ddd6b5e86b15dc11be8ac812851c5f30f7e3fa4bed13eab3ce -KO = 8115326c130f276ee1c6729caab4b3a3713e7ea92d3f6577a5445d2fa5e5ec15c97324bc8051be3593cb620c31c196a955d27745de13e57b469c3f4d5ecfb56d - -COUNT=3 -L = 512 -KI = 79ab461e40a4fc04c14ad3de085d9a5fa6fce97c -IVlen = 160 -IV = 4b16f1064b2073c8cb1633d013d440248dca0bd7 -FixedInputDataByteLen = 51 -FixedInputData = 2b92f60726e7ad946d644150a4d6f91d64cddb62b127da7d7cdaba1b60689c6ae16f300a569ae198879e83d2d568360d6e93b0 -KO = a0f570ce4049407ec257e32a9dd9c817a2c808f58a309c85a324f1da9fb2455ca2050105374e444e9d13e7b1cc507cfd2067e63639c98a8d61c7e7520d8e1278 - -COUNT=4 -L = 512 -KI = 63a6334de514824adfc3c5b2f026d3e2802c6ec7 -IVlen = 160 -IV = f29e0ae6e14369202cd63af1029fc52c5d480f60 -FixedInputDataByteLen = 51 -FixedInputData = 3c2bb9c93f5e9ef770757a33f45b3fbc278b13587b5c95f404e1d85aa78f7f9f7de5a80dedcd97c8b8394a82478243758eb200 -KO = ce4f5f87a363adb02c7a8cd94a1c3d9dd0f2000d46262abd26a85bd7c8f4dc15fe67a11ba7de63b9a3fc664a43186a32993907c27470a1acd14b24becb4f5f35 - -COUNT=5 -L = 512 -KI = 19201c258aa18ea1aaff8544cc81bb95f1dd37f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf211794f63a3438767fecd7af152886734d979073ddccf0d9aad40760cfb56e31f114a95d2d5734cdb6885331cd65d37486b4 -KO = cba89a7eb3bffa8aab2c5d8e924aca3017fc9375debbc3401167c3d7f03cbf4636d2762c3a97bd45a48866bafae2896fd6946cff01bd8a19479e6f758a347ee2 - -COUNT=6 -L = 512 -KI = 980cf89768af8caf0e72bd7e11403acaf1a2b214 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b543df92e00ab52d86e6d172c9c6f17c38fe61383b32419a6012ca7c097de8bd870b1386d35bcad034a921259b4c923db20f59 -KO = 3d0665f94677d09a93c6abac2bba03a88ebf91d5a637a5dcd51238fb91d736d0cde6fbf7e09510663fffbdf4a36ddf4819e41f7e524990510a5f09a899d4bb2f - -COUNT=7 -L = 512 -KI = 0a2c60f267dc86abc06443695f475b37245ff45f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9b57fad3be950cc0459e049f7eb6a45d5cd9fcc4ff9430ee8fa5a3b7756ad81de8f0ecf62af79ce627d35fea12e5f1ca90e1a -KO = f3171f1de674750b47770a5226917a44726808c597b617f067ab58063fba51e2559cd2ec0283866e45c78abbb8e5cdac7584a5ee7cb8685d19e92caae3295722 - -COUNT=8 -L = 512 -KI = 356440e5c9b33554a6bd16c2e01e310e7bbbd053 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b8d6676eea3d17fa03a04da07a95edbc8179234aca22df5d17957920117e1255bdb10555e0e4c503ac10d490e57a1c5791765 -KO = 7765e11d53648ad79c6260f6910f757c3532320f9e2557aba60758e60815d91bd867e75c0c2c1e4263de51748585b619b6b916e42053567831c9748b6efdbc4b - -COUNT=9 -L = 512 -KI = aa93935a642fd81c6139a58acd8ed6f6f637350d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 67df34200b9fc8ccbb1c9bef5a254fe63eabe6a352a914ed566279d6aa8c09a9f68bbcfc2399a8ddd1b4d18895ba1328023870 -KO = bcd209b65a8179306f84c63fcb93a68c5eedbf34b30d2d7c801317a5d49c0d724d15cc259c3a18c152bad19915a7ced7e759141372fa617928590231633d667e - -COUNT=10 -L = 2048 -KI = 9f5b3ae33e77e48fdf57d63e5239f70ac675ef8f -IVlen = 160 -IV = 466b511cf678a5d35b8fd956dac30a3d52239347 -FixedInputDataByteLen = 51 -FixedInputData = aaefcf83ccc5dc0832b66ff23925f6491c1701006fb529a5d040a9673a7b5eab56f27150ec9112e30174d148f901624b557a9e -KO = c7fd85c39c4ad598d6a95c1bb0a2155c76fc63f1eaeb58c2e6847c7bee290be6089b5b41401db92560ba61a84338e679047864c458e1fb8bf6920faab1acb01ebf2111b5c6bc2e718d060d0d6ee903d4428e9f807249c15bc40de4860f0cc6f8802017c5b723bdafd8dbf84019e8fdfd274bfac1e3be6d0d590c71fd8a0f9e3420d377f13c5fcb1ee7261db71bf8d8dc90b94414690a7e0c947094b64321b92ad016aec51d5c5f6c9d2f3cb2e39700c1f87f22eee29fcebdbef69c814cd1f292a4b26dbc29bd4739481185c85bbcacc62404f38915308e921c2fb152bc7af81041beb84d2ffb99fab52188ad4e287de27620528707f15d46ea23cdb3de107464 - -COUNT=11 -L = 2048 -KI = 04334f2d0255afd31f3f95939b256424f12ba8c5 -IVlen = 160 -IV = 9f3f74a70e8bc4a4471a6a59445f3c18373c36f6 -FixedInputDataByteLen = 51 -FixedInputData = e0317055efdb38d2ea5293a141e0452bb4dd72c454c8b42b7e6680b6d1a8b21f284dea46a69c16dcf6d801435afe30070918d7 -KO = 1c5d5070802f49560fa9fdfd76153c8b710b84004e3809c7e3cd4a77dcff470070e6c223040629e220f408f09ceee7eb4985c7455d1153ac5ba05e39cda3d7d9121a78b520e465d92d3570e48d8d7855b473208548efa3d75de59913ec8ccda4f31c144777f4548c1fb07a5665112340ea11a50bde6235062373c3c95c31ea608ce79bcccc22116fb3224a97b27065c3c6d962113448a45bcbb1b1748c418407e963cf441a18e4cbf203177f0bb63010c2979514b7c73e219a586969d342ddf1681740349bdfa4fb9b5486f3c30fd249d80d184344bc3c91b52c807091bd421c159dfe4d563509c0eb5eabf9e68a1dff0a5ea0c6785b86ffb895c2ba163da236 - -COUNT=12 -L = 2048 -KI = d8795a78a787f9bf4faf24989d601c966a0a0319 -IVlen = 160 -IV = 46c4ad41296d0cb8d31e7e2ef915df1dd016ea2b -FixedInputDataByteLen = 51 -FixedInputData = 620ee58987a665bb0cf4064151f34fc2eeb44ec64bacb99268374b46ca8e7a0b06d05743fddeb3efe85552ec54eb30354c5d5a -KO = dd9a51bdd36cf5351d846346c6e6bc8f3451298f52a1ffd76daf17488bd58e3293363e99fec4de24b8c20d83930a6de13da57a0677be084f7b01c3ef603253b13cf0eb849094e1afa72613664de9d7cb2dc337fca6f59dbf5713cb8c7ffe445c1d536ff74ad714a94e3f1c744f0b97694c798df129821111baf85550dd3610bd16e404547f9453ab5d67a1a491fd760dc9162a68df4915e697988c814345c731c6930dd20879470262d981fe1c812bc218b5383f9ef9bb146bdcbe0a84d77cb6220431af82625e97470c71b0266f28b42a442be431c747506818b0edc03cf331338b83c38805172c541ba2c63cae15a5e97dbcc18739306db57faa01a324240d - -COUNT=13 -L = 2048 -KI = a0c8b952f2434f010f7d9c7eba56936c8474700b -IVlen = 160 -IV = b1b228be423824f42c6c593b923883e211899527 -FixedInputDataByteLen = 51 -FixedInputData = 5c11e8a622dee29fcff0e127cbfbcddc5f0e790564b51e55266f9d6f9fb2bbad7c2cdb2c9cd575db63a1fb7b8f92c83a998eec -KO = 2cd96ae7a51ccee63f1a4878227d58684b0ba5c9f2a98c706ed09b243ee3a4c6053469148b8f73a6a1d22cd18ac7ecd47319ff249edec0dd9b46d05c09d755e6e604d41dd8079b32dea88dc02480f22732a944c25e694e87d09d486ab51f4a1cd0477793afaee72306cf09ce966f72d12d501f53fca7dad980a046c6574582b877d61701f3caac1d6ea05ab8c5892f892693cb1b688a696183c821ad88ecaa0ed7b0dbecd8b6d51181063bc9abe37f37e51b74297638504acd41171b70d55edf3bbcdf13fd665f4faea6707c2e62dfbb6af49366fb329778fb2cd79976462d5352d57e35c3322a2f7e6a6a2855c7f618a9595d4b2717517243b8b5a31c8d0d41 - -COUNT=14 -L = 2048 -KI = e726f5bea5964ed4d73a4046a4e4f661ea182d28 -IVlen = 160 -IV = 23dce700078d44e8c0cf4fec043faee7750035d7 -FixedInputDataByteLen = 51 -FixedInputData = ed90266da9a080345e17981d574ffaf0d56743cca0d300b558056ae614cd16fdbcfca4c76151e9ee6529f177d7be7df15500ad -KO = bf6e545812c2065f816b2832e7cb0ae46a242b3f73b2848c4fbe5746f17df13c9718fefab13cb006ddf6b97e912cd8af14a6ec01e7b9c1f078d852f280244b6d378c976158dcc5b99e656194bec212c6a0aa5f1a16e73b7f13c26e6ba7f2e2ba1c2bef1f71009a5b19ae91a554337e18c5b2afb1fe91b954ec5211d1d2855caf99a8705c4327bb69f4d11a6524b600daa239c456b2345276e4e4d2a094c0a525ad414afd842b71270246245277a624797270751d24b7c86f3956e838dcb16ad562425b56beeb1cc8541a2ca8381bc0ff084e28f2646a8ea3880982d717c49a4c4f7c7c6c78ca71ec17c3fbcbda1cf59ff6297e64c6174b891313f09a22b44fd7 - -COUNT=15 -L = 2048 -KI = cc8c1015aa1b4f07bc9436409ed6451db3147323 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b76ce586d533e2ee461aa5581ead4194e6600b8dbae70007c46a7eafc71e959d771a31ab4dec47c042208b54696ff709b65f44 -KO = de031b2d780648dfcb8901598335cc91413edab4526572d5d2921f180fe261c9259125a000d0f82b3b33e147e4b61cba693c82a350257b229f57e71612ae6ca2db4e15dd14dd55f1f7c18844e2292228f27d5e4f1a17036e38245843480e569f634bef3b31a6262d29872d0c4e08a631ec40bd9ae8c2d7d48f8b6d69da520a5f4fe478d9621fd0ec213735660769373db13b49ccbc18c2c7f4be8047f5e7a097e69968612e2590bfec16f9e90fd15dd431c543e464df2913f0ed243d6c2c4d91b5a530cd73ebf5f4f5a8a1a54f3b052ad93e91ffaeb5bfe6d7d200e5dbd57244e995ee5eb42f9c0ac6716057ac265aa6017ac8a4f62f93b3ca33a8ee60c60c68 - -COUNT=16 -L = 2048 -KI = 7eb316cc624ecab19a297c57d41daefd869842b6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9d99c9b1f6c2fd7ffbd09788791d802642d0c1b40534bceef7aa69e9c343e237099086125d0dca9b371b9e3b66b25a46af548 -KO = 0827db7e7d8ef3e59489cf8fb357b296cf218e5b4d124734b3aa666a87b0f53e3996400d7641acee85eb3cbc85c8c00f948c65dab6f1c319df4fea661c7a8ec38c46d6125ef4dda8958a380b28eba222e445b46d60ae2051f17bc93c2555c3673dd57d1ec02d34820c834c56d42d84ddbf56cdb447ff0ac77594cd9af307a635a25f8833b3473c36dd571892740cdc72bc569e8281e142b4162b090dddb5d569374f018d5be54a931e8407bac95b8168ae4680f32795c5bb6aceb66e7989f5e2e9cbf9c7230106f13e30e480625f2560a794903dfe15cd288e36008075064eb9b61282c38eaca1d9abb9a6b43ec44fe6282891bbd653e3c62cf713d89b36d490 - -COUNT=17 -L = 2048 -KI = 1eb022c7d46af8c6aa4c346a4984a2b0bfe34a52 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d9d152eb5e00e6cedbe6d357328c17fe4b0f8a275fcee5ed40697d6450aca4c070896731f781f8245ee9c94d566d29772f22f -KO = f1acb2e4b6c04a6b960dba86c893a2f95403768968bbe5bef2a397a3186b7546ea805e9e27d539bd0bdc0b9d64c01d98ecb867d59f0fbf52895e58e6bacfd582b74ed2454f566d2ae4ad53087a41c1a0b966bc5f52de1b288f1099fb2bc7c1d1dc851dedd706193e578abce34c959c9798425995e3cb8e3153ed9b7051d9c27d55b7bdbcc695e4447021e2e2ac34ebe07ba7a78576ab89ed25ada15283c779bd3b3c2a57857a1a6c3076bfcdfdfcbd67526524f3ae6cdc90f6d06e93b08a5ab8a8a9a955c9b39776cba98212d62d372c064dc18fa1a06c8f21dc841343d45d4fb64fc4a8c1ab5951e675b92d03449f4516d017a9c78cc2adb00c7dcfcaf58ae9 - -COUNT=18 -L = 2048 -KI = 921bba8b953d41edbc663bc5d1095c5318341320 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 94136fa21f9731fa8faf95c54951e6756188d15ee9ed15abd8ab24eb46e4c8883959ded1f6de62145a9b070386a747166487e6 -KO = 95429e1e762eeebc8260dedb9f96a958b45068657c53145ac0ba353189a07a2f5a5837cd8112d8dbaaeb856f74855912750ae65297df9e1de496374ebc61c7bafe500274274d1ca1e36703b322f8b15eb59eac3aa3f5da6d876c07e945920ab7da89cd1314b3adcfb1319abfd3e3daaa5491bc0216ddcd8e6946ca2b96c6d8bcacb7af37084e025b7583d01600b5a14d681954a822fa1364b9d48b5ea27153a8702ca0ebafc30a1351326b8513e95ab67c3064357f27af87d73b0d88d328f8c5a5ed4748b10cdccba9046d0becdeb45a074cefaeae641017edba4c7ee3c1e304d36356b57b8ae3b041e17c54fb12c1ff4ddbb85e28897d4b54e92576486a74ef - -COUNT=19 -L = 2048 -KI = 221e1a7ce1aaa09561f8c045dc4078cfb206c3b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 40c8e70c536e9c8d71fc1dd114e679b4ed2c5ee7ee6bd5a1036c2519a17f549787d07ade07a6d69069695150e3ee69e099f756 -KO = ef20eba64624898b39524253e1a8b6173c70e035dd10a1a3790a54efe5d6be35ff5f5fa4e19a2bd5b704c9c2463e70a2b0e70a0a4d35a1208056780ae3e7b7cf9224191a7d7a93b153d4334540105f1aea2b9a7c9f814e21145d68b30d8233f150855bfd9611ff1c9116af1984baf055bdd8a5fb5547c6a757b2edc5d4c9d91cc9467a2bb6047b24502d31f6c880cdfa9843f71e5dbdc0059e4a6083b1bcb0bfb0b875a8f7ebb194beee97ae4fd3e33654720ecd01ac3c32a447e2a5c6940b3111d8c5e4f3ae6ddf65bd7bbd50e848f8fef111d8ad6df844fda7897165b12fc1bb4ef321c9e28be30ae0ec8c29b9dc5034084dda2ebf215b7dd556ce3cf515e2 - -COUNT=20 -L = 560 -KI = b75960e8ac1ea1f9a69203c9727f5a6f08134228 -IVlen = 160 -IV = 901eb803d5ab16d42d44a9b19d066cd177e3e485 -FixedInputDataByteLen = 51 -FixedInputData = 4a2d49eafac62223880ce17990dd3a02f2e141ce22c29675dc48e7d37c313c431ad5bab000100b08cc190bffe173dd88b1058a -KO = 0b87306e85a98b457d71218eaa8a00a91b6f911f035bb8cb64a3fb59e326fddf9eb2e567e794505df54414968f2a0741769daf9627158bb4804d143ad404a01effe86d278b3e - -COUNT=21 -L = 560 -KI = 69652a98139214aa2f8fbffdab0d2e2cbcade64a -IVlen = 160 -IV = 86d1b4ce7e3dbfa5059a33ac47ec8ac2f43089b4 -FixedInputDataByteLen = 51 -FixedInputData = 366c9f0b143a795eeb5a804494311d97cc81f73a9ebcb7ad1d868280d22edb062daa391918887a53fba6fe1aa23a4362dbc756 -KO = cbc09fb0344c5da332258239b0f387c6a5fd2d8f5fc3e9c3d15d985b5f70ccfcf5a435c134eab735421fb738a9fc8326b40d4b37da58fea150d3cbf629e2c24d02f94c97241c - -COUNT=22 -L = 560 -KI = a628e732e601fb919744e02a3ab45ca43bd0a695 -IVlen = 160 -IV = 1fe214170b8e786640d7479c8c02c57247d1cebe -FixedInputDataByteLen = 51 -FixedInputData = c3f41531c477ef2d4c638aa73438daf0e97d70dd7ce90147351d1aba9413f70c726685866cd99f1a526c307b166806be208d99 -KO = dd075dc1b8dfcd642bbdf58db5887de7f058637b448b4ba016db12d452d46823e800f6abe468471c8c26a12f61342206c8ee04fa152a883879f4f9416bb28a33efb0a360db35 - -COUNT=23 -L = 560 -KI = 776add36296cabe7dc344623dcb94f42872eb8a5 -IVlen = 160 -IV = b08cbbcdc5ae6e79522b89302bae2d28ff0bb17d -FixedInputDataByteLen = 51 -FixedInputData = c21ec5e02ce811b447d81efbdff21eddd214c648ca6d4b00bb7cb9d7f372b9a20e96a2ba2ae0d1c29e10e01b137767dc3a47ce -KO = 9390add8157cc6d5841bd8d37c0abffeaffff710e32b3d0a9f3e4f8dddff023c69a71aa20ca0f2ff418dacf882aff9bd28e31f3a458b062d8278a6d25bd72fa6c05ad9b07557 - -COUNT=24 -L = 560 -KI = d72baa448e471257b6c6271642f7a924e4463a5e -IVlen = 160 -IV = 27200bef069d5642db455fb8fd8ba07b1514d676 -FixedInputDataByteLen = 51 -FixedInputData = e084124540cf5d90d72014cd55ebc284aca1d5e82c7eb7a3a473d484a7881ebe6b57436fff3fbf5d129a26b6abae692721423c -KO = 637914c86c0ba37a07914c4771632819d2e18d90354bb2c673daef92a2e6d5fc45baf6988b8918b8948a7d3d53a08e0ce056e444ba38072dcfe0a7f0b098449232047033ece8 - -COUNT=25 -L = 560 -KI = 486be4c1ed0546be650aac0feb41dd7277200963 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6cdbb022098953a8dc2f9111088f335768c8358b3f84d94d47d33b6ad4faf54c6586c34b2af57ea9cac6a0821cf2fb7580d380 -KO = 896d5c3ce482a88441d0ce420770c15ad734b12377e4532af98334b03d071153fc12a2b69bf4620b0f011f627c37be350e3694165d7080501eda294934d2878acea9ce9951d5 - -COUNT=26 -L = 560 -KI = f5098050a7fa90cb88a700908d89ec8f5151be16 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53cc8bdb83c1c4c57070a5a4910a3aba6c60ed8921ac2ff81f93fe7f78b951a25f60c837dba5c992e25f6897d6f77ce367c2c9 -KO = 099c81565e693e3e1589a18bb7bb9f9dcfe57aeb76fc63a20cece8e3a8f1c12d795838abfa5db428136a0a48cb87a513f3c250223c7d082cad3072862041bd0f371ec61600a5 - -COUNT=27 -L = 560 -KI = 01dfda2a29d80dbdd89fcff3b98def10ffcccbf5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3916d6ae9f03a214bb04cec7cd26894752cb13a18c94aca05b37bb051b6caa884897b2af4f3580c67273441f3fe42aa4d095ff -KO = 97d6d94681ab97784dfd9dd0f079a506f71d51ed6a9b45a6e1e18b816f38771b7dfc03b5caca352268bfb9f808001831f9537d7aa3e8e3a2595a8228847e7181c179ae74446d - -COUNT=28 -L = 560 -KI = cd0d47e2284be1adb2d3c67090ef553ac2b9d6f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04d376bb6425a961bccddc46d9d9d219f4100453e85dba681999fe49f8e077eec720fd9bd01ecf241f22f05c75a1b028fe41c7 -KO = c6ab7aee961789de1317b3d28136c5e417838d8cfefbb977557e12f87bcc81b6c787f853b71cf14731178d78d74afbf53c46b10139c4e36cb55762cef524e8ccf78e8d3d4a6c - -COUNT=29 -L = 560 -KI = 763692b8d085fc67ff4dcfbb0c1625ca4ff6c24a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0a7a56467e82396bbe5c1eea3371de2718868e3f300fa491c964546553398590690ac149eaaeb66e738b2dc701a753f1164367 -KO = 29b92be652e7cffdb7235c7e5d0c441cf4f6accf040326ec29e68d77e950ec5868b30791b9b85295dd29fa15344709996dcdae96b6af84e86a666abfc1cddda5781e5fc54937 - -COUNT=30 -L = 2400 -KI = af1812f3a0bf5831349a307aecde9cbc9f724f02 -IVlen = 160 -IV = 859763c9f86f8a0766f4bbec898cd1b1e2c11e88 -FixedInputDataByteLen = 51 -FixedInputData = 64528d7cf943c7fcfb62e827e155359ee8fc2ec6917272717563c019fc05303353dd1ac1b2d30d7bba466bf8c21ebf1440d6fa -KO = f642a8c104005cd4eeb8309d8b739302b390700b12d6b545630a0e38e30cc3b1644521488fc505f9d8a7c5052c03b7bd6644475d22ac714b79554d2f9f8144017a5247ec272371cd3fe40107cd12cdb87635ab933801196761a1bc693398a5ddd48c8f6596de61082b2468fed3a779ffd2b00fedcd773523a618154bdea34ace968a49fb0d282f56c741d854093d3066e12021c617991b32f0a7a821013dfe8080df3b40a298562aa2f09a288aa169f96ad1712ddc861633a5697bc1eda99cd5e6cb6f0f35a51fe848c1f1ec863c416ad1b82000629ba3009f5d644f4532e9d1895958541416e27e576fbbde0dbaffcfa3d2ffd2e76e257ce37b274fa2427a66c3d61a3ee65038d9ba2391f58c4a69918d945e7f045204198c048a6c6ba75460c7714312197f5c3346aa013d - -COUNT=31 -L = 2400 -KI = ecfe7f96686354464d3e284aed8d62a8482777c8 -IVlen = 160 -IV = 8af3b2014e2f1bda6665fd9c03e8c6f98d3db01e -FixedInputDataByteLen = 51 -FixedInputData = 5b451c15b2b3d68c9c942ea00190ce29c720d4136a06e6e82c1979c2fe9b8ddcea47b9127737b267f69a3a22cb35d5560735d7 -KO = 72acfc465351c88a81e203f1c594a04e98d291aa403bbfa2a7a166f32742c806505abf0d84a828176b018dab944badade0a634f070a25967f259f44bf2a7481b1665405a4e588c0874f84ee470c4803db959c83598189cccbaa8469417b8670fce58600d011eab97665560d8d9fd91f2e77b79663c5ee18014dfcc0ed8a54955e4ad2a4bb2f7b901400665c1b8ce1a6a969b8e6d4ec3acc447b67951abb5ae43de27309bdb5163806ddb68d3f0c488c36c1f53d73ea7cb30c750be01419b1f79a9c62804cf1a5e2ecb138435758df602c2c183761bf6500cbbb72fcd92d80aa4c6eb1e49dc100235aaa4371923ce4529c2e06116306b616831856d4c3e3a45715191903d24c100e9cc5ff82d01e1ad346c9aeb03c7a4c99a945020345561d325ce1af0410555ee372caad60c - -COUNT=32 -L = 2400 -KI = 5550da6f82133f940a2551b1bb7f8b25c76bd346 -IVlen = 160 -IV = 950de195d0658774f4e52db92a4e95165b6789e7 -FixedInputDataByteLen = 51 -FixedInputData = 0c2cf90839512a6ce2fb5314562bee0385f29b75c8e676eefe1f80c0c01cc109dabc7c82e42d475d77e0b70012d9af649edd31 -KO = 920e070dbd5a78251b62514a3182a7ae92ab1be145238ad282fddd9a7a838a1e398b53b2b065a35c9b0f55f48d239a6a52560e91c3da3973744e6065187efcf4f940482526ee8a5e3964c2e4c4666cb2b7764f5ecd346b0a6c4d7f5638ce5330a8331464e24181ce345cc0f357c4df4d9cbf4d61eb427fd78e39810453c0e6920df11f73ea7c88e778896768ee8419e560b10b89101c39ece63e289b49be5effbc93b1e0520aaad68cc8e9caacbe53dc298c7d76f5689a947e1a28563848a2ec1e0988ea061e602ae8a21f4d95e119eb7bf9147e5f54ccde875405a342cf9872eb35b16860bfdef30aa5613f243a03027b32f5aa6eda78a3eecd0e792a36c40339675bcc9a5266de4efaf5bb6fe74ed340d736776a87dabb47d328fbd66b03010c6773d55b60935d4d6d2105 - -COUNT=33 -L = 2400 -KI = 7f303fbfdfb43a99536c22b87ac44be5aa70e4b5 -IVlen = 160 -IV = 511afd05a8c9883e6077a552c4368e46bd19692e -FixedInputDataByteLen = 51 -FixedInputData = fe6e4937513fe8e3b4bc3251977ec8d2212f48af783dc2a194490cf974b9bf7e397da680e2ab673193da37854f5e7aab4e656c -KO = 0547e928a670575a5372848c9aa90ed5f7b03f9d6e431dcb92e506027fc36b7d2da63f567f08f2b9a9f551bd058c7da57d459d3aa756e3bfa8359ac2350e86b172cf1e463c4c857007d6a97d2443d7d21285cad1c1115714634fed4ef504fe54994eb56dbabde21e8c7c860c53243307aa4c695adad012e424affbf0afdcb4efbcd699c3fb44737c4f9757eab4d94691ea08a2a83bc6fa0432b4ec1c2af4ba8c48cdba26ec7d69ec6262a6ed2b99ac58b0eb7f639a7206a777045bf28dcbd65561038a3481656bb74b57834b2bed29327181414413d87cc0ec9ed9a4fd98555931dbd12a83ec747d64dd62481b27e7147b5591e5855c1253bf62bd1142a0407ded7cc0358754a2539cf108e9feef5a5fe3894f2ebaa98ac47a20bb0f8e4c73539d68acc80916e36407b02332 - -COUNT=34 -L = 2400 -KI = 3d7ac125fe50785d37e7254e89c97d4d3b46016a -IVlen = 160 -IV = e3dd5953f3b8cfb8aecefdae4e8bd329cfa0afb0 -FixedInputDataByteLen = 51 -FixedInputData = 574acd6b902c604c9e5f220650591d72d08bf550d017a4e6e0a6da8704d0e83d8a5d1c10502fcf2e9c61b6b8ba662458577222 -KO = 127fb9095464a513575dabf6c336d030844aca9a2de41f421ae3bc104373076688f74e08be59fa92013aba43b98525e1f82d45f8e5123fbe1f4150e45b595c656208129eb5595890c5b8a6b55e76413cbbbf24dc0d81d8a158bab750b7c04be2c2f4cb324eda5ec74a8081c0c7fe54bccf6f6384d3ce42d6f582cc8eb538e568ce7c56943fbfdc0402ef3001a8e1e2b817001e42700be564e93b5d6880b53e0f10fbb8a3065fba27dee8a4434503bb857e7c8c9e52cc9f55a0c23a54d6c9bbfebb9301a8a3d8cbdbb3caf990dca77fb53c25e63e272fb7dd3e0658ef4c647c63748e6171e3901d8cef46f1fe2a491242729d51bd7728b1261a3478755e375a99d0693f185b024df1125f92c2260c5064da510d9519ab9fc9e0ea038e6faa1d65e4d5d6bdaf5d77707f0ad652 - -COUNT=35 -L = 2400 -KI = 2b8521667baaa79165671dc627b924c435c96562 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb792907ff7d2fce5d24095032ebb91a962f400f7e1b11b18fa1980a283e83028dfda37f961bb8032048439f733a0179edbebb -KO = c7e1e2f09205bff005f53bc12baf75d08c638235ca05c2e6441b44ee509b7d4265519b02ffb3ba5a9012757fab912927938386772c7305dc9d754a131e04c4b0b4cd6130a832f5d8a06a4f0fbd6d2006bb0749d68e972dac3849a9166a68c27541ad75733d468c3abef160e5292a158b054a4dfdc8c488c849e956547c029eccc782e062ff6ec8015f812cb91f3547e1c4aff852179820604b4c0522de73c5bcf362fd2efdbed3e998b1cf762941421d8a4101cc69aba151f0959cfb96b70478dc1b4eb36db48a52b75aa333dc4b2a2c037af4b7b1b5cf4537a0b9a17184475d450372ec3659b05e2ddd50e0f202a8c9f6ad9685992606535db197e40eb47e094d5bda53ae67c4f42133afbd534e8a6dee3d4775ba10ba16cfef3f04c6fcc25e14fe3339680ae445f7112a16 - -COUNT=36 -L = 2400 -KI = f82e55bfdd1f7925a792f19f891bcd204ecfd27e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0044292e5157518d11a47ba91c6b31f7bea53f388df339f021f5f7de1cbc86fd355298ff789b059e271da46d57210d00280309 -KO = 61447cc2abe495d0bcf41bf29790c7019c35a6dd652e7ef56ca265800f552f14155837ea37ad7fdf2e44019bd0835d111011457cba1b86245a56cf2e4ce8d4116bae5f023dd7fe05a5ac12f208823c220f0f73619e79582a059d74ec77608c3fab175752555f994e8b6095caf22517b3ce25d7315dbf85b3befd38e20abb13c1a2d8d23afcb804e5fe6dc13ad6c015911d03c20ddfbfd6252a1d71cd5c5aaaf4006401e9ef35a59d158adc35612752c6a6e9be530b4260791fe652b9fa50e559531da9862ad763c2d2aa69a47170d9993b73490ed7d42cbc0c33f6935cdf32380483a884988dc037655f6ff99c88d751aa460f60608709de05552f611192d4a3ef4e0f5685fc4e5dab7335d082220a9c4eae8093306258175c57d683b99b9c47c5e781c777483f9e9d01a52a - -COUNT=37 -L = 2400 -KI = 3113cd7b920fc261c231d7dcc60d11eb370af720 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6e7aac4ee925987451f5b6f78fe418a0e8550fe111a453787f29e2941891991978b976e0d19f4b4e415289b972f0d681f1b62 -KO = 255cde7d30f462e0f6fa4a9367a36210c8809e6615a5b06c6de3ded7106c7f6636a9f9b42088d4e15b0a95c2ea459c6402fd69e0c5c244be96b08df1d46fa878254d7acaffdf881defc1e74afc5f25051dbf353e4563acdde0e4db718da0cb90cf5b8a0e00138027cf356817c63685203338720beb6377c05c7b366a83b8f5bb09b23c2cafaec220a43ff6edbe205124be7e09ebc2b4f9c9930bc646a917bc6101c5e91cfe40d13b144884a87d905e81c53a321246c077d3b8ab5a408ee3c4089f73a6fed30f85946790a44b6c2799a3fc0f2d1282feba1deeca5998eb8deba389e9ac15a3217822df1651115f45dfb02e51ea51361b5487f2ab31c9c2d4387d3007837b36db094018ae5224c40de5fbb845f5c9dcfdc5eefbd105614279e4ca33483cfd2b064f33b76cc31f - -COUNT=38 -L = 2400 -KI = 6dbf0ef36b92e0d92bbc69429c55f28de798a665 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c57c4645cc040af502280b27b7869202374c413bb8aca35ff4c9feaa8969722f2991e67ae0dff8db07f179183a19c422cf177e -KO = 5ec19c068cbbad9e8f477101b1a0f3243bc392588f4c1021d1895387c6be2ad357cd3837750ee1d17ae8f883192f2a1c8f823b5ac5aac84374df5ec2ccc308c5d082ece8faee086de7697d22e0dd68ad23c799b8775b156118574d3c9155ae292a337b817d4834341088e13fd4715c2053e1f9c64d50a158c108f0fbe83541bfbd89ed3e076edb75c35c01aea9d7afb9575b514ffb29db71e7474f2c133910e597fcfeb83d93c0f5e169de57693d7d0678ff9ddd5b42ed3dfbd595efeae0d46cd39f62c1d180fee5e15c754439ae2d030b60ab922d9f5e57889026680cc28290cc9e2ce508bba1c1e29bac4ae5e9ccdc02bfc6f65846bbe4a8da94f4ac2d7e3000353c6af24a9f83d92f979b9068bf2f3cd960ad766c055a7d72a6ac898164d5edc84afaeaac25256d27dac8 - -COUNT=39 -L = 2400 -KI = 696556b6a0b231ef111c6eb6dcd99fe0e30083a4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89034b8dab917239a8253e8a01df85ba82cd13a9b9fa3a07556674d86c41d13413bd943e8852f24410c93e1ccb94761a0ea230 -KO = c8bb29ffcb2414237883495bb8e88cc06de896b9d90510d0ab654f7f47089098204ebf8fc71b6b4b88a3ca0d90b6280fecfb2a0c0ed01a2069b954cc5df97d22e02989730f3369e4f44874053e7af9eabfb269cd5064f55753711d63de2e5eeb9e20a8ada35791a64a176defc0909c0c55a145d6291f73621ca13bc1643707abfffdd0922c21caef720a21e19061e86dc83db352a7da04c98b0f8dbf12b8cbdf9dd347472d80914b162328dedd9d9d0c19c7ed6285c9ecd7399aac4e82f4d8fbb4d2099bd27e27e73e883c8c300f027a323562fdf57bc08275b9285726e339215f7854fb585fbaf955b3dab33f465cde61700a4c852b0c22a6f5f41424d085817ae1e72663dc0014cab9e7b42f443162492c591656cda02c4e04103dadfe4dae1ba159e0238098a10e53f484 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = ed08ef8d5c94eeb0e449dba53390ba5ba9ee4b19 -IVlen = 160 -IV = c2ca399a10c4b0870bb46162fc2251e808ac16f2 -FixedInputDataByteLen = 51 -FixedInputData = e0f96a0f4863570a51c35ced4fe8e86724f53eff181cefbab7c4db980f2fd912d2b750720473f787a92d2b9cfbf03e7c5e96e5 -KO = 79e013cf30b119639bd46eba077565f61c0a99137e298591f991bc26d6026828fc73bc78b4ebe379831cb46568f934a1e3d9fc1c389a23a49deb237c6ed33d3c - -COUNT=1 -L = 512 -KI = ea02c98af29ae8fd184ea86590bbe56dc96dca49 -IVlen = 160 -IV = 3f36da25abe57dcb00cafb18cc9809d0335b93d8 -FixedInputDataByteLen = 51 -FixedInputData = 82b232984cb33824557334a3094377fb2b39d3442e8ca79646fd4a67c38451fe8b5788ea5dc2a8aa421a613ca28e02fa6c647a -KO = 63a9d7b96504d6ce94f180989b5bf4992bf4a76022a244410b2256814e690b0afa0a501ec022addaf43b5c31a9f804ade8875470d9cfc5713cdceef5a9c6e3bf - -COUNT=2 -L = 512 -KI = 75c73003ff1f328974e311a7e09d02f2774be263 -IVlen = 160 -IV = 9139689f93505bc4e1a5245abea63ed0673a760a -FixedInputDataByteLen = 51 -FixedInputData = 43f78be57c099f79ee8c1c5dfdf7b9322ac9e9b0353ee72952e274b220a6589aa5581347b423e1f2b5abd6d133af2fde4f1db7 -KO = 91b4c8e3eef74c4c4f6565daa1ca5bae63e5716d1fa875828c717ebe619bf39df2bde81f90297c2e83013fcda37fb1fd9faef52e81860b6fdd10f1d4c0cf3df6 - -COUNT=3 -L = 512 -KI = 146ec2778ef9a371e86b5a6cd5d87926e164fde5 -IVlen = 160 -IV = 09f2a20c5b6a768946c21dc2b15293021867491d -FixedInputDataByteLen = 51 -FixedInputData = 9c3d10b07a4b11b8702c1c2394165a9c252014c7e10e145d4300f20f2eab5fd10f22c20c7c36654f46bd37a2f503a7d394491b -KO = 025eedc54ce42c6b21a673f9dc15dcecfba3c8796a2384f12775f535ac1f72159e8e6b5097df4aefed2b3a634c6317ea4d7b29f78abeef0e9b61b7646fa8e01b - -COUNT=4 -L = 512 -KI = 71884cf2107c5429e8da48cc8e43dfc86e143019 -IVlen = 160 -IV = 842ab6ba901fb5362730b710003f8bcad3cd0d1a -FixedInputDataByteLen = 51 -FixedInputData = 517eff397efd2ef39296fa8349a5803cbd08d877ccb9d69ab174ff6c4d8d302df390e38cce09bfb723125b91028e87158a9d4e -KO = 34175a601f67bb8ed2ea2b1e9ebf2edc4ddd4187cb20d20447e5ba8dc18dac49a01445858e99d00cf98e2d496695a0855f625bcf988c3a457b6719103c220f11 - -COUNT=5 -L = 512 -KI = 900a4bca19daf858f77cb49856ab22b6d478a40e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72bd9c9d84a3a1216421d06e2fc2bd3143d7c7566198aa2b77192dab8ef58444df9a5753d3cc1ee5adc581af6e76b3d1ccb76e -KO = 0e0fd98d587eef53406064cb08ef1f9991b19e4c8dc10cd44537e6784d61a194332f5075e0111b333af5a375665eb30c72242ecb1db72ba1b6f160cac2fee5ef - -COUNT=6 -L = 512 -KI = 422371fd4c0ed29eb46ad14d40ea67939ef49fbb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7dd9f1ce6385e01c2e149d2520bb7b4235dcaf1b90f450168c37d65f89f54c0c2220480ec745d038131cb91b22d0be6290d4d0 -KO = 6d8878559a72683e0321615d7d312ac1710f5523954d0506bd644241851dfb74003a653a3af5cac6992c3fe24ab44d0f4588571b0f2cef7caab7bf0a6a5708ea - -COUNT=7 -L = 512 -KI = 3d55df9876598a393b3d8a92f87d6fb5f267152f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3387ffd4becc6a214a06a80cd7e37d6df5ee7ab645e9d502214dc614355a0d327cfd24b5ad43daeab43dd4eb39e2f547e1da90 -KO = e4cef393e54481fe417f609887fb62b305bcc4509a67e50a2de799f32af3310c287a713dd92c1123fa73456d2918602683ff9872d4321e5f57f83754bea33490 - -COUNT=8 -L = 512 -KI = fdde7052254e888cf808e200b23c581f8c9b9819 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d366dd1901019b9e0f29bbfb4656631a7f4194697d140e96332e091b856083a8e391afe8eafc89769339662fa32b89cdb249a9 -KO = 45822d782cca3751ec07d164b25608bb249b2f17ff9fbb0c31e2aa64971aec2b16207cd1347fe1f418b3e0f96cfbe896e664058e7bd1f78eb5711fcbc5e0e240 - -COUNT=9 -L = 512 -KI = 960648160422c4336538902a7d3d64581a637311 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8b19dd64acac905d41d2225941e2f9cf17d4ed6867a69caee4918d497c54ecfeebaeeacb24c0f25036ecf626585be3d701b66d -KO = 4a640630fc35681a9191afed27219934865ff66ebd9172b67cd8f111fc1c4ab0dea541c00c4c033b0483fb4439915c78f0fb7e41f9dc6c2ecb39a52ad455e0e3 - -COUNT=10 -L = 2048 -KI = 3c14f180243d376b7c82ead92cc92f24ac2f7a71 -IVlen = 160 -IV = 5f57716259a1b5dda2a6ce495a49e1acd0271a30 -FixedInputDataByteLen = 51 -FixedInputData = 7eae745c89ebea04ed34e7bac2737e7b848b516d3a73b03bfcf38570c992dddf1345a678d8fc558b8fb415bb602911f4c86ef0 -KO = 0d6237eb6e6a261a83ecc41a88937a4bc381409feda3c5e86606466879bd37888f323fcf4d978e8c45bc2079772188012c62a954056a836a9374c0b4104e5c5c75c5315c4cc98cf7da56fb87e0910c7decf60a739bcb3fdd2a676425b2fc68cc6f88e63a78891f2a27daead40d30b77a6741aef5bf44f31aa855f2f4e8673fa6d449adb1d52600f5166924db18916cbc8c3f1722f65e5e79c0e8016794b7b3fb41e6efe00a98dd338e75e366afb8d65cbe2680b6ed19b61de235807b4c66cd86f0cfd8526f2fd3701b09816a0d08dfb51e4c1eb0e44834992300d3d67e5e0bbaf9f356c42786b82f14ea2a3c65caa0cd116fb361a4482ca6c44e12c4bf50fb5d - -COUNT=11 -L = 2048 -KI = 05609825118a517f2b86b3fbb69913726be46d99 -IVlen = 160 -IV = 8e2cfe29049d833f41d1c01011a832bb0443ba34 -FixedInputDataByteLen = 51 -FixedInputData = 0f0db888a933aa819b3b3c7bfc97f087ab564502dd78040f0c982eba76f785a9e14c91575f089706fe8a44dac9f6a44b2ace80 -KO = 6e24e0f01535712b775ad1d8ef2f116eda0f52e52224d3c4e7733e036eb9177dc8320907c57f95d4171ae42ee777e9b93c8e97194e8b5d33a1e185888bedc56a5ee1cd9d57c3c26bcc86f2a8facb861ce6d430027b8f88134d19aa7e279b1451c3c83a3db189eae2e35a5d3e103b873165068490d827158f06de9dc040a88d0afe28372b6e08939df2abadedd26840bf47d2785b171b55f14866abaca2683d0e672124feceb05d250caaa501ae4aab54953ebb5a1f4fc742d3660d43033e1ba64b606d3d1a6c5df6ea3bea7739c6e5bf4ed57065ea4946d70b52c0b6e85f75350d785f2285965d6f51b4c5f83d87122cba3b9c28b630111b48fd7e07aee2a9d3 - -COUNT=12 -L = 2048 -KI = 6610d124e4f64831f87f8ae8d60c216e15af9086 -IVlen = 160 -IV = b6a518a6af26136b942ad69b31eef6999ee531da -FixedInputDataByteLen = 51 -FixedInputData = 105c9c29d12f609076824aaf1e706fc0a21e3e4846df989fcfa8d9337cde2499ee06dc066d96a152796255d584adac409ba52e -KO = 0ed321958e814e15c7b4786317e5e40c53386ac51ab8f56d2736e0c68b656f28b93ffa9816ec1d00b238758cd8338dcda5c5b3fc1e433e0bb9d3512dda6ba3022c4e2edc6aa5227637b54fc2f1409ff7488cc9b8e0887e367e00e9fd247f1494c5f337d27cb17cac6635410038b01fc219f681f337a6b4315d44410ea62d777ada436f50b494e2aa5a31f2e4515d039159dfb6c00e13847fdbd017309ce00a5639b3c9d700c8f72a0ee818d8c1029a8543aa0219086681a662a9b176a33b79c318d275c419dbf9e3e79f2934b5b7c7a463f094dfea4e9c580794ce5d017ed12dc439e921de21fdeb447d617a21def9987858bfb03f4e3ea4c96bfe97336995e0 - -COUNT=13 -L = 2048 -KI = f4869f550627edcf973f296d3372db12937ed4b4 -IVlen = 160 -IV = 442ab6ac4a440e1fce8a7270414da8d1d1b4bb49 -FixedInputDataByteLen = 51 -FixedInputData = fd484b755e3d148fa6837d8729d8aa905aba241ca669fd86b1299b8bcf034503cb2ac12523dc66c7b2e82211561942f5774c2d -KO = 2c99afc5ede3a656185606f8e5a52d1630d0c64855af67ade796014b1329a8789a6ea22ecf5a2e1cf85c6eee79c85394b790c11521f0a7edaf1a80519fe848af151cd8c08b0274985f055d93dbe278d14dd892146926415abe39dcbfd71e70e31955fe9b8728f3edf95b3f0808c6fa25899beb361ec65ae589d077ed4060936e6c3c76e8feca62a800e65d88f224736a056956786d26ecb60b298c35375b371d26439e68ae2c49929bf4f1ffc780537a00e532905b3643fe22499a413441d958d292cf49631e0991af981ed69558b13f6ae8d64d28704cb802eca2156ddb2291d71a1a4a2a0062c43511a44797d46c352cc01b92ac0cca65bc4d53647aebd84e - -COUNT=14 -L = 2048 -KI = 169eeca05ce08ed1d74bf210172fa20db39ad3ea -IVlen = 160 -IV = caaeb116eac981d22954e6736f1ec561bd6b9f31 -FixedInputDataByteLen = 51 -FixedInputData = 60740ad373c9c2ab29a71518ce220774ebd89fc9b3d8c6440e3850ce349e59d28b7ba7049d49f646f90966d6c7ed14b331ff63 -KO = 99a17d29a2297bce23d8fa231417c0859629d834798f92db5ab7a433353f6125828555b26406c4c0106373a3f1719dfcbd2a4da00d70201f8f0f182bfc928349e9c16c5b001eb2ad62e675b7c61f3f39ceea2bec384728ea4e5e1a56e91885bb5f28228198bfee6210f613a7b73017fd28de3b002efd39d51ea6664b8351264e22c984042b1085f0ef99957196ed7bae5a190a5c8cebe1d874a6fbaa109fec6f081f3b2922283f67968d35ae8593a7a6b6cf4771420de05039dd5f732f0ae7daaffe95d2e68e4956f883d3429cb8fbda58060e50a619cb9e9e1acd7fd488031b35571130c10e5664e7afb218ee0e076cd2cf454ea5dbeb87a808d785c5e90198 - -COUNT=15 -L = 2048 -KI = a502eebd06303dffa48cc17ef2e0351da8aaf10d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd3bed2b92cf4e78c753ad1bc49824f56ad3e9f519c91c6efa61c0e884c483acfde8732d000e99c0aef0e9e84464cc6f40a795 -KO = f5f0b0176bedf456fe8a3b91c9a207a06c81a510f28a72e123c54569f759ad48d1a0bbb7085f8888617b1210e2220030e993acf2f4295250fb22e8ebc93a1fcb3e7f387235c0711507e0979cd04a85e47c1055e611c7ebfbbdc8213b588e134641db8cdc4adaa5a57549e6f8fa1602b6218a4b278bf5d80ae9aee5fc4d9aa23f02f024cf616d5ad0981a1b814a9657ac7f2089dd956480a902b2cb612556739523e34a63849cac889f61b3baca7d2f89347cb7b780ec74a21a84e34579627ab9d058c128d2b09ec9b069289567fc9f340d5ee02b4a70411728e68dd4ed6ccf22c72455b9d19ed4a675d5a671ee9570bc26a50a41635873e3c2c54828ebf4e92b - -COUNT=16 -L = 2048 -KI = 65b16a565dd2589e3bff4b1c63f90730e32331e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 87904cbe5c4cb4e389bb7f7ef9593cf79d499727ae40777b1d51c16a25d6c02d9b3886d6aedb30e4a888037ae7ab30a19d6462 -KO = c9e91abed4f06846a1974e5d4fe8ec749e5d4fbe800d62e12734b340657996837c09e5660a462ecbe8a5e893a7f40fd51edd233ec56a30cb3b19949a3b391c8b728a65cec1ef3759bb2dd7d3c84431250091b1ce459a53c683950b5678978fac6fdcec6eb205ddd82662134238c53ae42e63229a7ca42ea199e91f27c9a07ca967512c4f3dd8d7a784b3d04aa80405bea28b8fb7ed16b92b07f2b6ed9a5cd6c146e74ef57bafc49ba188c6fb67ca58fa447b8d8f171681c9a6ec79392867080c0236fd18f37873a491467daecb2e45fea0785e6614902e8a0889c8cba2af10727925328fd37bc961b8a13c648e96cfbf7bc982faa80e7ba0e65fe2f277f4d39e - -COUNT=17 -L = 2048 -KI = 8235c375410acb39c73c1c2d2ba4d09b3830da37 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9688e49c33ae93737c8bc69e76e7f20f089d1444e2c3073842d00a0f2697e0059df3d1562b8bd3b7846ca205f5d88d01663222 -KO = bc679cc628554d732be7ec78d24febd3c50b8596d1d7a809cf77bb5f2e51e3cefe9e3a97d925c7ad42f1be8b35dbe6e44b562726e4c0bed3be0fe97e564576b54cf6ae589eece6bb6c0c2bc78d1c26490eeb642e7e51d0c8f102b21de3a16f5aa6ebfb58ee23a268f144d39a367226150877ceed4ba5676732d90b7ce1ad535f12965c508aaa880cb1b65c4311a77bb355397b07705db90d6c9ccb35423754c870d7d386de28db61b1aa7c33acdbac6e7d91bf849c56a142b8eeae7d4ab5feb2651fdcc4a8c00083045c33c9839e275f586fc401398f2146921f3d649e2a80235b30cd3d338c699e9b906fa97e010fb780a89ee3c51a390d60502a8ad06179ee - -COUNT=18 -L = 2048 -KI = 8be701828120ffd0b419221314f8a35dc44b8e7e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55794fdb086311ef65e07370541a115d32e7d10a93035f22cde654f4d53953260b26f22b894fdea85babfc8ffbceb90c6dceb3 -KO = 6115a28016084337e8844fda141f40f228217febb914f251748438b8e92dd718d3325c7cee7886396673a1f454cf0e96f38eb570038a4e565ff89364822e23fee7edac888b17ad8b4306081ffb03a9f3c9479067746638e59a1e7bb14dca76670ca7ed4e4d0271fe5ccde21f215356bef90bf9ef94de029df6c7afef4aaabd8f7fbc3aa5b44def0309aa84e52d0b35d27259c6f734cf4f15150dba4f8beda22ac837036e9bf10b3cbd64971a0057e0f1d03af0ec6de4e8c2b04ed3634e783e0e83348f7db197a0fae9335bdb67f02064e398366c57b25a3a74fc4ccb7d4781c41ad76790bfeecbc79f47ae8b460bcba1529db4f53f874e18707900d671e912dc - -COUNT=19 -L = 2048 -KI = a18b2b525c9ce79c3ea1fb3b0f5cca65224284e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bbb411dd19e2d2b3fff5d956560c01f57678a556578b1ce0971ecf59cb44b8ea8e4fa81995b8e47e6b47f83d724cc98ff4bd91 -KO = e3ccd7cf183c9a86e40fb70a36d4586c7202487ebf2aa0dc551579d553633a2030227f614e976e32247466a2d308f40cfc8760b1533aab7f532f23c65e2987c65bcecab08ce5059a6839f95516904cf67d906462904e579ed5587fe550d62ec3b621d4e7f448667c4d6d0456dae2cff837623b9e14fe46f8bc1239f5d7207f4705092389c1cbf53eebbda1690d622a573b797bd917e1afc822040089e45bb74350d2045cbea088c3c5552cb50843550bb989fa2ab847defe912ec6aabf5760481be6711cbd5f059edd5be6cb16452fb68b72f093fb15b47565cff55688a55f7a394ae0845d519d33ec199ffc826418807b2cb3b4a9b69759b9c84b8f83744519 - -COUNT=20 -L = 560 -KI = 2d31f672a8e8f692ba25208d484fab7876e489f3 -IVlen = 160 -IV = 379fbdedbbd7864be9cdc662ce5d3887db5ea055 -FixedInputDataByteLen = 51 -FixedInputData = 06d5a27e7c2b3f069d777fba123301a0999b472be654f35417b02fadc74b5697f066ded7795aab6b9679f7093c833b0155da4e -KO = 07beb2503b305f197e85e9acb2556161cd872a7443957c28683e7136de21814ff7912de2d23197a534d4d530c4597e427d660d885419796465bd43f47a41a1a50cbe874435b4 - -COUNT=21 -L = 560 -KI = fa7ce3268b979632ee9284ce60747d5d2b5d9439 -IVlen = 160 -IV = 8a249078f3e686a3e7ec1aeb1fb7cb2197472105 -FixedInputDataByteLen = 51 -FixedInputData = 1948ca2dc8a89f42bf943cfe264eeb9dff9325d3926e237d5a401a749d4644c4295aa57824998c372c60cd19ea5fa7d1096b09 -KO = 564ae1929ddcdaffeaf57f8a57705d4042c5cb44f71f5602687da1276216baa9f6ae205c1103019b6e1fae25d2975d0119df3f9366dbe66d2451d28b42c688d6dfc02666365a - -COUNT=22 -L = 560 -KI = 458c82d22bcd3e0eb00932d5d743dc3212ac3948 -IVlen = 160 -IV = 10cf5c74b2089028c29503ddb1e2a4f2fa4a1a6d -FixedInputDataByteLen = 51 -FixedInputData = f426cb0e97c5de55a02b95e7d5b2ee4b29d232b7cb36d6067743da160f6bce28404a9edda13c38ea9dabdda1679865076fbf45 -KO = 684e67801b2c7b98be39454177d7f16bdad450994ec359675619c677efa05e9228cb144e0e1417b5ff38901930b68069b7d507957b3baa13dbb2941c2e47e548199239575c25 - -COUNT=23 -L = 560 -KI = ba27501ad3b0ca78570aeecce6c1b251bedadd4b -IVlen = 160 -IV = 47269f469424a42ae4d1d58c31c6a2ed3986ed66 -FixedInputDataByteLen = 51 -FixedInputData = 7ea49b6232e4a5e5b228d7b431bd2c48dc1c87a86204978ee5787a799f9446b34da3ff0161aa47359cea66a9812720b5dfba3c -KO = 7cde671ae1fcb320d2ae1eaf30254283ee88c123df981174359f782d6e3bb8f6977d8bb5c36fbf40acb98b54ab95c893ee7921baf563e9cdf032e69ef96f0734ff7ddd14a32e - -COUNT=24 -L = 560 -KI = fa79649e906d25269211cc0afa2bba9f5dba975f -IVlen = 160 -IV = eb98da3a0370876213d5d56e0e08a5212d5664a8 -FixedInputDataByteLen = 51 -FixedInputData = e603abd4e9524b391f1b7c5d3b9289e259216c0b087bf81d0c1fc378a6f20130c94fa3600a7c5481711a9f020c01380d57248a -KO = 194e01f2ce6078a1209d6a8ce9bd39a4e3f69046b39716ebd7a82e8218be80e778970c0fe125a83c367ee9aa411f8e0f2da33d3b5f1ea88f812f5b51b2bd02956ae64e1cf69e - -COUNT=25 -L = 560 -KI = 8b9832ffb405f37fc4e6ea7539b73a69a3c8cef8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5fd63e4e3f83ac70fb2453a58294446e816e6163cef795dd6fd553af488db79cb22379f17579a925a42acebea3a33e7bfdae8 -KO = 953addabcb9299b3adf6f7c27287fd4b118b708245a849941e62c3e0a2778d2133c1d8c6e71e099b9f310908ace8c4c09adb1891e04b8659e0b670ea48e06706638e92664d78 - -COUNT=26 -L = 560 -KI = 02ba05fb5be2454324b257d53743c37ab7f6898d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05dfcbaa83ed39c85564bf34f677d542ec6688ededf0db5b4d2b4060aba30a48a97790eef6f1f409bb94fdb923db985238bae7 -KO = baf4e27d098b0dc17011c49f74c8994b531c9c3f8cd60cf519f992b43c20ed2711ab1543715d3ac9d2d0eb04600b4b669892ee7e6e2793e87d26a3b12355ff747ae75a5529ae - -COUNT=27 -L = 560 -KI = affa585bdff4425b14e12c4d7bff12b96d932058 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 07769c98b5b598b3476d8c2906cf5d611c133066c1d83b034054922e8dc5a84e6d8bcf8208359bfeecbff1a4ee8459895b5cf1 -KO = 29a69bbb55d6762ccde731c9dbe4f425b778161de17a7dbfc28ca34035befa94d94a80771249b17fa055fbe8891683fbbec5fa5473062b8f4d1007ab8335a2327ec8dd132e84 - -COUNT=28 -L = 560 -KI = 5ee6e5667b41959141d53f551eb8b50e35a58e86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f6699691fcf499fa9b8d6964a451f49da1521f6950a9abd86c6e85e106286e3aabf650e00c8a263af25b655f462c68100933c -KO = e6b75024e6487156447a92c5fdf741283d1f1e01b56be439c7641fe8cbde88ddba342c8ad336b768863d918d268837ce631a2b6eb88ef67d9c43d6ab485337a2c9a0072b0375 - -COUNT=29 -L = 560 -KI = 8fea5b456d95dab83bc187386fcbb8443a71df7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e348ba0e6a1c7a22ce74d041c096be055b0c5c318a21fd82e7052365dfed8c57f98443698ad7e8eecabe1ee70e48bef4374679 -KO = bc8316486307980997e234c1ec704657972246b95c8ab57fcb6f188ab65169e99dfad053bbb0b13746c1f7f18848c4738a88672ecd82e8c8d8d73e10efbbfee0924df599346f - -COUNT=30 -L = 2400 -KI = b1041c8367d2fcf5636fb2fa80fd2c05be5ead5d -IVlen = 160 -IV = 8f64a58647837b3743c0ff57fd940df2e5c87d21 -FixedInputDataByteLen = 51 -FixedInputData = 9b24db772050168df1a19f412243b0bbd1d766371ea868e3482cbea3761b16998abfb339bc7ef212987d5fc9edbe9dd0b3c448 -KO = 8df8e6ca31d18bcbeccd8240283aa90b72d75c8b104f63a20f1f7168372684ea95b530189dc393bf02ed87af7e2b237dacf93bc5cb63da6a81d8123f7d38d76ca9b0128247bbbed8261cdb8c865e7f1fd34e6dbef162abef0fe7f309fbb99377d416c3b612a9f8bc25dcf60a6370f7a02fdb1e055c0e57cea20bf80b18d7ffbdd4fb7c700d4ad579f1f684948022308d298b89c11e5ebed3a4139accac9b4b1394c809f3cbca047aa68bb8f5a84fc77fca37876efcfe84583d1fdead024d06c3fdfdbc581d77fd5dbe951589fd46e825c82026c22ee6c2a8c1fe97d9894add8ef9aca810c5e888debeb5fbcfc28baba9d203cb5bab61a4daea7dc904e4f9b59a66486eea3e6e82fa0e1645435a56b43803988cf505226d345055959093cf0ce235f35ddc11333cbcfe40ad98 - -COUNT=31 -L = 2400 -KI = 8926b4c337e249960dfe6a260efce6d803b75cdb -IVlen = 160 -IV = 31d7492b45d2b1ac1a3cf6a01691a672bf339e20 -FixedInputDataByteLen = 51 -FixedInputData = ab35236e03deb9a743f4aba00031c0976be91c4560f6f3f8bd9e171274ff5fccce90fc1fe341d75f6c3fbda9851b5e1bf5ba32 -KO = 1986a0f305bbedbe245362c845ae62b995f0d7ac294e0086bbc5f2c13ca5150321f5d86b9b2e08ab53bacd65732f00a357917fc404b1a60d77d4f219ec4e7d13352ce159c0575cdeac9359b535792fd8999f67188642165ccc5a124d8a4dcf247f9958604eb4733a74299584fd5243d25ec7d794350e537d621690c9cccc71349b4aaea799561c23068eb52a05ed9ff147bc1306b2465e495cfc4d2ca443e5971a2c3f8445f370e1af86c2fec5798f83e41c7a75e7ff40ad5071797efbf261d7809e716bc75fad0233ebdd6faaacc28b6db83f9a4e641c6d1926824f6ce94dee0874baeb4c153921b874a256c186bfece68df8e93d805c13dceba8f46fd70cc81e48927c41f393a89c15f31115ede672c27f0308ad4589b0c492b46c01c8218658a42b64f40cd5f8ff5dae17 - -COUNT=32 -L = 2400 -KI = 7259c75447754395977ae6baad75e54e11211c3a -IVlen = 160 -IV = 6b3de9b3245b959d89bfb6a48208016df2f29c82 -FixedInputDataByteLen = 51 -FixedInputData = 27e3a751b2fc66b0d978e4b990fc1153536f6eb167ca6cac8a7e18f299a3a693e691562aa3899dca5c9541e94e82f04ece447d -KO = 4819eb9f2d2017c0fb12bee1bdb9c25ef333ef596888eefef56a50e8b18b441ef2957ce5841f51b8496e9567cf2f421a7043f9eaf09a82cee051baab06c5685f5bd7b67fd2d38180f9722bc19a4b03368e59de19847654099bff91f46530b6ec3b35197e83039be36318d1d61ad05d9010af6c3917cb443c91cd9f9fe82b740d801c5e1c834882295d38d3519a9cda15aba1124d6444afa22734d0fb89a080d2a6b7bbff935a274786dc1cf92bf658489d8321b28a63666cb1dda2d555c5da47756acf9ea1028a2962b3d0de609fe82c0d6598af28cbe30873f6de08dcdb45ab2c65591780c0872f1dd7b589ad3faa52a922dd2c24a12198aabf3d06785b73ecdb9631733b44e77dde198c616063bea3cac8799f46b6f728728e907ba54df1628027a9f86d80fe5fb5b55e41 - -COUNT=33 -L = 2400 -KI = a717f222d02572f4bde45a747b4dd53a6de7bdfe -IVlen = 160 -IV = fc479429c21a540ba580f60a60a8d55a8614b015 -FixedInputDataByteLen = 51 -FixedInputData = 45be10cc1e994a22c72fca48359d0216049a41797efb574b6c761ec717dcb2853a9ffa56809d81590f5bc6dab12966075ea662 -KO = f55090ec56c806ea7a6fcaa3bb5816a882014c201eb5328daef59d0e7883d3b0ae73ffadafb87e756253caddef5bd6fb586b0a8a6fcab0c9021d2c24b80ae0820e27bdb42b6ee659e833ceb07ffc88e15babf5d81ec48dc0ad20eb64adbb45bc544d96da7b4fb2edfdbad9b4c0f7d0e427c4ae567e0ce2950ee444911257f582a3383f317bba933525509113b93c2f31c728e0b7f8d52b9e00430922e69b6d59741ba668bb0ccff3ab5078ebd1ca473afddd49ef41cc0b03a035d87986691b8af537bdbb865ef2d7053d3fc352f64bc4338e3300697b8aebebd8d7f3a23af879202436d7e144678fed5127c5f072c40bb255ffc2e6f32dd3583af69e311ad9ce3735bfe208c2a7df9a0c0de4ec5cd678c93cbffeb9dd58ef83ba5dfa65db8379c06a3229ee4ea8f49c046509 - -COUNT=34 -L = 2400 -KI = 8ebc97fd054a2b195c71ac4cb7ddfc6fd31410d9 -IVlen = 160 -IV = bf45a57864385067bddb27ac90189fed80d3fbf5 -FixedInputDataByteLen = 51 -FixedInputData = 94094737070788ae0a94d1d4d4b370f38e1af809bc8c69438d85e0edf029467ba2e188a9c6c0e1b34b32e928fe4a99d0ff6a63 -KO = 258123992873383b62808b4e3b063c7f9425127d95262e3f099155c8685feb219cc748dc05628ffaf2005411bb3a00c35015238b29a68b88d516826cbd2edd36d5b4e428bbe56be65d8dcac3ad64efd680245aba64e6f3b6f59e89a083e114922b7963c65ae5c2b2569461f1789d761a1dcae8bf0d539f03475ef8f92745dfad213b5f78c1ec3de4ba8dd5bcb4e4437b20dd0e149c4d9e40cc2942a47bd56fce9df0e5300ee5569681e38f55aafb39d6051d33a25874e3822c206e8d619cea4da37f24cef334bba022023b9e100a1894172f87f628ca8f2b1fdd4fa449d2277bfc752f211391b170546a9d4d083a94077f4c32b37ab7ece2a29c0801f57e5b49445ca764fec872afa2d6e460c2947359870c6801f70f7326081e6bc7df71026ca5493b4d0be60f4d794c46f0 - -COUNT=35 -L = 2400 -KI = 7551485fcd4c2b04a7ed02bbb66eb775aedeab4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3e582ee07e54bddc466ff00e545f95b8a97e2f815daeb2e8682597f323427e9124fb1710aa2c77ffcb4a7102a08a4234328cc -KO = 1292e791d5bcca80dd21be48d926a6f4cdac250c37b3142889237ce53f6a4150aabcf37f8a47e87fed662b030187fea7388bef0a0b62432e002a9d756ac37bfbf6920127f5637233d2ff5244020ec58c4e27171103fb1419ac2b28cf38eb8ca6b28098e4f01f1722818900cfafc4b6eb1454118e764cf48a2b79c170473fc7d56c2d6ff7a752cdfad863a5d65dcd3047659954a8f08c68b991df318bba47a5ffb0d93f67cb51659c81478878b42b8963a571443b8ab6bc5f1e012363df7225b752a5349755ad2fdee31883bd5e3c2ea58c2ddb0845377827f2ca61e2b5fdc3332e99658558c4832c53e765d52a8f4acaea43eee1d24c02ebcaf68bafe5ce0efee1aaaceae57f0e49fc93d438b1ba59efd99bb0e23ce97a08eb7ae3d85feb9c5b1fcc4859446c07441f161b52 - -COUNT=36 -L = 2400 -KI = ffe964975fee2853c9b3054dcbc9f4772776e74d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3e2eedac27dfbf8136ca4e77a9daa5ff8767077cd459216c9c8d0e1cb3de1e0a8b9f456ff5771e2e9e6d4d39f0b8b7f61152a1 -KO = 9d45bb88d166a1a69e0042ed7befc3751c3f03d59395ae9ba0ae24f161db7bc2cdbd293ad829e8d429b34c2396e02a8f248b209e9e4265d228a3d439c8bd7c58b2f150e12e0718dccca2b9e7f180c9eb236772083cc8288115ee01cb6f107a8a06c9e05e8717384ab6c77f0752d5bf934befb9203051f4abc308278abe966c9e52f6338999f98e3f3c1d26e0047b65b7f72f86a24b88afe49b44598fc3288b2c7b7b61bb56da30e2011966b38ace0e63fa1c06c8d6a0e138aa6e22e334b15c8112048abe3f3fdb3ed5cdba6fb2ee01d5a31cc0ae4a241fe984594028847be0f01b89fe58c54a26dcac3d8aa6658ff27e1fbc1f939d49bb9ba56739b831d0c7eea76211b3d4467436ae94173273069ae3eb3f5672154d202707360cdecb1dd8ac8876329b42357d1f3c2dcaa1 - -COUNT=37 -L = 2400 -KI = b04a5b7055aeaa53d18dace02e65ebcf8e1e4c72 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0b8933430bb76bd58b593c906a7e9388b562a4929e28aef85ae7e103406f008a0fcd40f1c36bf596f1ab49c61c69b0a456b48b -KO = fd4421f1d0e804857af613652426632ae442937ba576902e13c034d72dd15d858b1da73c82e23ee2a5370aa669dbbf04e17391ac2c4f0e845b7ebdb03c3acedd067b39aed0b2c7ff18eb87d902b5732f5e3fe0346c6018943625ebc94798680bf5972d31128e5cfad4b0ca6078a52bad0031fb4f335695b688bddabb0302a8e1d2a680358b34d8a07cdffee7c63740c26fe6a6a7c8d8334428d745ca887d4eb15b095b08b76fb38109efd51542257cb01eacf862206cbbced6cd429246649b2fe83b1eb2f92ca0e51427ef0f70988b6610bca779a3bea13cb1d9d66732ec3a10b6eaff10740aee910cbc84beac404e689018cba77b9ecc9d0599df94d54165ba304767c4876329cad23e7908ccb1a42a66715b12c4a3bba6f291f809928aa7436dc06d5a9ab0efc8c2967600 - -COUNT=38 -L = 2400 -KI = 281b768ec78ded51d7dcedb8f20cc45c0a473f4e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 435d8b34abb4638ef209769fadb88f19769f9e656feda958d902f1cc369db4fbda84b63904cff0064b247eea61bc01ff0ea36b -KO = 60f85e7f57d70c852c899d4f16abc8e74e3cc2b338f8d18a44429e8243deaa9a3b4e5608c3baf6f87823dc6af18ca41dc20e09405be44126066dfeb82e19aa746d3a6dadae64a75a80ad3f12978bdecd3148117b43cb83baf37f387428a011ba295da1d0d316d250524c6471276cbedaca695dbe5241d81abf57a29895ec9a2465b14be30ca752eba651359bc5ad14af60b5531cfc40d946fa25ffe23be68b173441e37b22726b0740858af28f80c94856475960de3fc1cf29d1fc6d29e3eda50acf24c3987251fd381484e63fcc0653640ea165e8f3a9f9ed003724b16c5f3ddb6440f5d0bd3edabe5d803e87d1c9e7730bfde520bd18bcdac477145914be1c83ca75af7dbb23e987e343b7797a6f89efffa2a9a13c864ed18e338c6ddcd5881b028cc136b1904850533720 - -COUNT=39 -L = 2400 -KI = 31c220623b164daa8fe79443c543f476151d027e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b219e29370b28267a9395200bef1b31f6116da7178c200698ba0b0f8df7defa73b0116bdfcca0eeb17164bb34722f2180f6cce -KO = bfc39a473a8a96493ad51f02aee667d03d76881b132e8dcaea91bd1e8dd117a936423aee1658ce7b72dee7b502bb06e33ab540a0f7116a6eabc78e2d7980be873cfa867e65a80079b931a6d43a0c6b1d22a42b1b357e71b120c6ce5bc9b77ff6737d0fb5c45eeecfd6440b2c2390926e264a41467578f19d9c9dbbba5b3291880ec1db67ab0fb56acefd28aae83bfea43a04c9fc4a14d165d457cba45c294947cba2cdcd339fa96df2266163f04f5f58b4cfd3c7e6967d2119713240a4b46227a3c6e8698a27cbe34196dfb3526d6848e1a957af8c3863ec90d74726e1ff81098f70003200df00bac453a82014be3b5f9c722f18a07cdd142bd7bdce777c0d0e0afbb6833a309b9d143832ffbce14747fd54e43bc6536c9281a9ffd06f07b8df8c4ef1fe1136d6c6fe75c1b1 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = da1b6418e1ae74e3c51c9cb5d6447b92963993fe -IVlen = 160 -IV = d65e4e37611652c51336d3744f96695f64722aee -FixedInputDataByteLen = 51 -FixedInputData = 6a7d0876851ec1e2fd7d033d41dbc3434d90e51c157960f90b41bc09b00cf499d0dc59ebba966285c02b5ae144d6dd2a728e52 -KO = 301334cbf113e95ec244b23fb07e5df1f95abac5e712defdf5732ab2d144a3c3f4dc70776c4f19765a725d1f9f55d0431db1ee4e62bb047689f595f61f6f699d - -COUNT=1 -L = 512 -KI = 2f7f2f751841df1ee93ee1bdda55465da783c1c3 -IVlen = 160 -IV = b12e9e07a11c2981cebd78c317e604a9a09169da -FixedInputDataByteLen = 51 -FixedInputData = 00cc36edf53b007a60f83003c917f2397bfc18e9d0e35a74166790dfc307b6a2b39c16e8b32257ebe64a243f1069fe60304b1c -KO = 3ef78e35f062b6058be6ea399ba39b29f1eea1fad8211b46bb45b8bfc35c88cd0566d76c0e06104d126118e96f3a427ea575596421b7361f7ab04ec5544b2ae7 - -COUNT=2 -L = 512 -KI = 6b95645852ea3f017b839bb8fa421cd2d44af3bb -IVlen = 160 -IV = b71534b2c5efdbbe65a8276b12408df8d68e23ac -FixedInputDataByteLen = 51 -FixedInputData = bad569269026f88a625ed931a0ca18a06e9672f1d797d4e4592965bea67c9fecd880928b4d5c6e2f7190ec02a09c0219cc368f -KO = 3579f8913cd66521e68143d451cba7d70a7771396aeac8df19249c30d5b1427fe793da0494ad02eb09aca895df62b04fbd2d34c268feb6329659746ccbfe624f - -COUNT=3 -L = 512 -KI = d03bb3fa0900a423d74c3d3486697ce57414ce8d -IVlen = 160 -IV = d17782cdd2a75ed25d81e5bd85f678beb91bb605 -FixedInputDataByteLen = 51 -FixedInputData = 7ac1c29d2b6408ca1aa94d27df7f114536b933c4edd364568389028ac46f76331b2f30c5352413809903ebf1124b607290cb97 -KO = 28e0709da1c11a5c577e7e80e7124fb742b0fcd90b42ce367f0918d6c4eec0bc4f665ba5dacaf73bcd088abc229687ae902b63429654297fbc40769adf96e447 - -COUNT=4 -L = 512 -KI = 78ec886bd15521c035186fd637db876219c539bc -IVlen = 160 -IV = 3b5b145c4a4d28396a68111abc6fa07f61cf2e80 -FixedInputDataByteLen = 51 -FixedInputData = 916a5a033c0404581fdc3b7a8f754f0a1e41c25bc09e9a0a89c0f1cc0a3d192403cb63b92cf2de54a177339fb97feaee68d999 -KO = 3ef989f390a15e474f61edcfee1be8a1b46fe21db2b456f009132498178f208656157158097760b87fded2c5ef2a8be96eb669038958fdd7fa516a9f2a1de40a - -COUNT=5 -L = 512 -KI = 7ef1ff955a7bb62fe6acd66847a018411f7a36e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4cfc622171fb6e003bf9b85d4748a723217ff206039dd2b52db4286c4b928b6ff5208b272b41dc9b9d417fbe43d7c54662d24e -KO = af66b8998110e75b607aed42455d9ae0ad324a880ed8f73c93f060dce982bcc01505e59ce0f685146b693adca3dd858a3ec0fe1b243f2972bbab59cf6931b888 - -COUNT=6 -L = 512 -KI = 2cb0e92d1bf876365a90a0f3dcd26a083934264d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c2a809de4eef52a59ff23217aa39731aec6787ce701f83da3553d4b8911de0a5205afcc852a0f160977f23b1e453877214f13 -KO = 634263cc7a0902f8f7a8caa9ef38ed20642fd2c6170236742357d4d3b03de13a23d83cb4688749fbc009d87113907e4bb5c9a3823195255b5767b47e37419aa2 - -COUNT=7 -L = 512 -KI = af1e7f8fe16fe726c57c6ad789bf3b28ac3876ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1fc64a33d5e8b74e8bcca0ea5172786ca8d6acba15c24a2c5979b302e4aa5e3744f259fed8255319c71a838dd6a3f06c244a73 -KO = 8d0a431c8b2b26f1b5136a45e6b81688a3302a7a5dcc23b0cc8be4cdb62abc2abe6fd30dbec8daf54e46433c11d98b1818b33148f8c41d431f4c93ade30de2a1 - -COUNT=8 -L = 512 -KI = 389eeef723b46af048fa1efa24af22b60dcdb6da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e476932e3516a021c14926075837d38053834afc343b05c211c2ac8de272bd3f5edd61899373bbe3a72d628fcca4dc89681ce -KO = a13163f64eebb378b83315a22f4fb80d19bc54380f857dfce772453f6af2a575eaa1542c9cb6bc65b2326f077bee316f86af718a59870690993178a3321b48e8 - -COUNT=9 -L = 512 -KI = 75866408c96739745ee1d35657bac5b6de1ac3f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 96cd8da9b6c1cb9ef5cddf79ee999c566539164c5e1c572e5c57ed89c764ca8adb7f2949577778f44756205b5ad55654398727 -KO = e1a730a23d02b7cfcb950456dcd6038e19f62b8ed68d5ba8627a7fb4e1ac9eab8a0f00744d4639861fb1e44c67e025a4de4d177e682933f7283cf1969ac012cf - -COUNT=10 -L = 2048 -KI = b1c54ac8cd5936dba63cd05a720c715fed8b5df6 -IVlen = 160 -IV = 046b927cfe4aa6c513725b6390fc9dffb16f9a60 -FixedInputDataByteLen = 51 -FixedInputData = fda233328c9ac8769311649b3b01bd1bd594908180f0f779d9d54326bbd042d17420181fff7183629965a3f2dd05d5ef2344df -KO = 5d6042868da231becd2f736702b0bd1ef936108a8900094a17f3dd911463512e864cfd931664d606de31181178a0ddbf26c85fd8ab5e46fdf19462cd5ee96a1e22bc5bdaafd25f46fa8a598e7eaf4ab8ee1e8ff28f6508810fb573aa3c96f6860e7297fbb0dc1b411f4d4a1d3eb28ad5b57b201a016dd88f2bfb05104cde171ebcb15a48b1e0b5cac8aa2d3e3fb0a73b4e19fcd8de984e65533797b91c21c1a24b3de5d7a119cb96d14deea59b86326e385b781a12957f4a3233a809fed91fbf31ccb2e692be3f10d73003b918b5e48af43d4bb348fc82db56ea9a5d6646fb1e59611e23164da9bffe67caf4cc948f5ef48800e64ad336475f189968944be073 - -COUNT=11 -L = 2048 -KI = a5577fef7e09e0f1f0b8cba9b4a22e24b6462cba -IVlen = 160 -IV = fe279d65ddb66297fc32d1e3ec41ac67047bd248 -FixedInputDataByteLen = 51 -FixedInputData = f2a87aa7dc5ded0243106c6bc5980353628184bc0ae2705322bd747adb0ca80df8f6c64d4457283640ed5b5d72bef859e76065 -KO = 4c99523f31bbf93ea5da250cd4c11b50c8559c7b61cce43d42f7bea3f3dcdf5989513352fdbba31a1aa1f721798a656dcb5fd37a014d6178c1a6f53d505bcbb107df12695fcd3e5a8ab8ab60632debf0e4800b19f34154b18d42b79cf1028b7a1b1e700d092c6f79b1aa258d3a785f7e6cceacf8cd6a29a30835cbab7432126dec8462ed94d3f9c8086a0405c278bd04060cdd737e2a862c94a8a7a5131fa0b673bc27fecba12269007f631f65ed1e2cfec9ed7a424f02b41267a2ed225969b2a73949064ab1d078a17ba81b989d5b67c49633ab96462abac58bc211ebb9953f2743b8d329c4721879ac029cc3464548197fa1591065d91ccf8cfa45643dd3ef - -COUNT=12 -L = 2048 -KI = 9ab501a5b280deedae9c86a8ab2d419781b1e6e8 -IVlen = 160 -IV = ba2369ed1f4633f31f04507c3974af59ec644942 -FixedInputDataByteLen = 51 -FixedInputData = 3e9099e41613778580c7cc1e1d312b685b8ec0512a02f509a5c5765d7c307f20173becc6c4a6b7500e05f1aa47511d5cbd3f09 -KO = b3ff1ebed6393e4a685beac6266e166ca186de6b341810262e28a0659557e03da9ac0afd784ff1c09879a8c63e06ab75348777b0c7013be3f42b5679474f4d87248895b9b96c87d3d21100a30fb7c340b06521b167249b8be37c2336f576435b0d983e6f474e5c685d47e75a02370eb9856ffc2e7b385c8d5586b47ae3a6c140c5072d9f8e1f340c279fa4fac9209b94f85354093603c4a61dbfa68052b0851273c928b850e814d2ecc2cf7e6c2b909450b4e7b461dbb9c0ac96698529879d05675c76a8ffc0ff36037abb65a4c6da771bab1ff56adb5844a75639badf55d91849bb40998f006eb6d92fecdf8f5b59e560c01c311e0114e35cefe65654bda7aa - -COUNT=13 -L = 2048 -KI = 220d8178675b82619c93428cf143b9536771c738 -IVlen = 160 -IV = db03067dbefd6fe741825736c8f59611f550bcce -FixedInputDataByteLen = 51 -FixedInputData = 95d7466170286f8716b6e31492f1af59eedd0cb0a477a989e37c3c97728fba50d4b60c5eaa0e0bd14467d27e4b5e925cff6588 -KO = d4bd1e58643cb0598446078c4d0cde55f98648c9d6f0a1c549f88fb169a2821696d3b8b85bb05a52de14d5a37f789dd402723efe22570112f18ee07b1a39cb8010a44bcb44f895889404e31339e926019cb7b9f1891030b51dcac40c09bde12f018112aaf0dc795e7f48da19dfcea8b9568f443e425419e2e5edd0ace71fd3dfcdcf4b203bda2941c53b26b64b169723a2ad116308db5233fb6c99ac2a96de79db9a8578116dbf05b5c301c167372e7ba76c50005947502df1807304e45c5017021badaf7f11a730ae6edcc564545212b4d1c72d265cd6cedd24bbe77e8b77a17fee47107db1f0d2d3283ec7a901dae04b8a27748a545807c9c50f2682399b74 - -COUNT=14 -L = 2048 -KI = 8dd6fb6554b37ba6b6b7a2a4e40c704c15b9119b -IVlen = 160 -IV = 92581a83d2c8733bca715370d683b79ad82d50d2 -FixedInputDataByteLen = 51 -FixedInputData = 9a4f5d05a5889b328cb92c5dda94c0da114d208a9506bedff8280ad720dfa25faaf3f4578c8fe876df69f8c3f6ffe269a40b0a -KO = 4035c36e729c17c4eba036b37ee6bd92af96c94532afe14ae69fd77a68ea29069375854ecbebfa74fe8abf067f1ae987401870283bea702c222931db442d3081b80c14a6b87c0843d6e7f96df3899b393c1055e803267cbcbe3b9ab0717803354b1782c82c3473376b0a1bec2deec4216fc5caa0eeb4166e6f1e13672ae7b03b3b56a590ca8d9445c38543a77f64070c269ae0f36f5e80cd70d1fb8f6b110d4db4eba722e84012b55d5f7aa04443405c32c8ef74defe39e87d42888cedb39634a9a5b04551245e78942515d616e4020f0398d491654360fff5426b5c21cae45be3f96c9d19a5dfbf5b786bf30349b66c7b4dd61e3fa41e2ed75d53dd5c924a28 - -COUNT=15 -L = 2048 -KI = de851e875ec90c098f46b5bd01e2c94e8be4858f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 674061ced2d9eff28acd5ff61a3b57d781a2de05862b1ade1c91123203e6f42784ca5bdfc312a2b3e00835a93b191592bc3a30 -KO = ccf09347532f286e90758bcac0da94ae731a0fe5ed7a42b64597e55f0229c574f3ff6f84143650b33ea3a06ad2401ef6ecaf3f48bec51b1229d3fe787f01dc00ed0c693748938bddeccc666b87d8d301795deee252e4e810e6136457258a57ff4fc5f0696012c77f807c3455250a0d9bf76881f39f574ad52ed181fa4e92c1f02674d1720b893222bcdde7d9134b17f1fb8b07e689023ab3269b2235ea358f4a90fd65f9e0d7a432b140fffaaa17fc2355c138ecb32431360a320a184fc32b92b08d275928762a1ab8a2b43eefaf375acfa2bccd4656e920ec89bd219c64df82733367b68671af13ae5be93a29838ccdd9a53b0007045f4b98c2a8b5c2c734a8 - -COUNT=16 -L = 2048 -KI = f2eaee640cc144e39fdb81142fc004288b97906a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 888a22b5a255c3839a51f7fbb2ff38731c9c1edf5cdeae30048d86d090801c73773c676bf1d548c3e52c226cfd43f9147838a9 -KO = ec3abfd9fb04a13a00779f32c5bacd7e4fc4124be00a65c2c669e949902beda32611e4efc4036c2c0aa5d34eba22e2e3cf698cd2ddfb72ae5f38e831e6bcb2b8c54056c9c7f74c6257b1c14c3b3a1fdd7f6bb0bc11d2522a9ebb9b9fa6ea84e6fa081addad9a204d68776ffe794343a405a9cf9714b5879de54b345bc66a34128406dbc920393302dcff173734451d66c18054b396d20c9e20440aa7380752afb617a9bc6aa51b2b553f092d03b66778c35553c9c24113468c2a9a0eb4ec5cd02844e289391c83a5a309b196faefce879deb7b7c6e15f0f4e195078488a078a437504aa9ab5f288356a841a9e181fc4357742c0ee048a6706974bafe87266bbb - -COUNT=17 -L = 2048 -KI = 34d2b74f0482384d675d45720b0ce4272d8f9323 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 84f01d29d0787f7842a496bf252f36c7e8e50ec5e6d004f50a2bb00cdeb2814e1b4a5ac6b62e82bca48d0d8e97a55348ac80a3 -KO = 56b575a39ca3fa2a17cd911ff63d7774a85d7c1922f4a641573154419428d35ecfa41ae3bf75630047ffc6e12889f5bd4337f61d51681298751edbf59cf098e6898c1884d214cfb21b468072437b0362576d0623781b78801b1f46d0edaa23d869098f1023107468d98bb5aeb4f8e4d60ccdc8a818cdb59cc9d82490ac9032654388f45b10488d25685b2d60978ea6e22c50a908a0b9c29f4ba3650edd59c14a83fb87dfa7c86e8658441f9c4174722110acce918f9b7d85392c5d54e8fd45dc34c404d82d6a824207e349bb4947acc0699d4f427546eac8cc8c6500355cd0b91af92afa643fb71c1066f866937081cbacb84aac61e0031e39d21f7001883d93 - -COUNT=18 -L = 2048 -KI = bb888bf6542f5d235f6cd8eab2c1814f86006b86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f27580eda690f6177f80ab138ef9f30c8136c0dd5f7c370378a1f8cd05c012ae370d4939b53bf199d371ee4c49444aa2fd8e68 -KO = 410b9daf521854adb6c1f05f40395325a422e35f6e36e28c821b97de1f43b5c2378ee99c61100def1dbf4aa4a7298f264d5ac5f94ccdc7aef7fba7974fe063e79ab5e90c055b473f03b9784ce1169e11d641fea261383d50ba7240ca2cea6783ffe1dbf3db8549805eed332037a42fe1796d6c61b89cbc87af9fcae25ed2cb13cf2f1e01375dcc31bc9d25966ef15ac725217d4c853fc81aa7edd2ff76a7773a488a087b68136d006d20e90042862df394c82fd6c1d00aaed17fb881749b1b1435701475aa7d80722ae728354a3d8061d1704349bf69e65231e36e0ffa9629a78af63bda42ddcb7c4a95077c60a1df29ee653961c81fe345c13a4e7273ecb477 - -COUNT=19 -L = 2048 -KI = 719b3f8089dea9822ff533df67c1190d14e7f1b3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c9a05e6392363e6868a2696c6858992120e72347c6bb46b17df0fcd1ad32ac05c3b0e65887e913f7e93593dc2f41f5c85f6e0 -KO = 58d00c8faf4343076cbb1715bb607d5e40445e41a9361c0c6343353591fe86c6cc4e9a092c93f3649c7dc729fc52570b05808f4da741ce5945fc90548425d5e8dd822940b479b92c5be33655396acc0350ee8c3a220c52db5f93f365301f336e05913b18e068d9d5be19d93fe03a00a8b0a709ffc9b660643bac4054b69391296a26ffb6ee807116a0f08cce6193a5de1af6e53c3b24535b6cb645c39a88c44c0e1a76ddf0d0abfef0a36b3578742848e5cd243dbd126c6ec0075d4d1fb7e8dee86e9c6fcaf556bc5792dfdfd6a94c654cb3be08089f54ed526792894d11c6e871724a8129c9f853b44fd786cf838316eb1ffb9a41a9cd5e6c7339993a895faa - -COUNT=20 -L = 560 -KI = bbff666acba5c220499fb406887931f820ac5627 -IVlen = 160 -IV = 930e3693d9c5bea4a3d7cb4c1d95641ca9b1512b -FixedInputDataByteLen = 51 -FixedInputData = 88174ae34877c1422cfe6bb768bb52d17c7d898ff36260f48148ef63e000978b3337d6bc4332d4ce6a4ff3a5b0745620b0b5c3 -KO = 2234217271ff42853bb7d10a214a9e08f413c059e76cf4f4b90713bbe3c5d84930aeedcaaa1549d2b29cfb3b263af82553f20ada0eff536b3739dd54c079944432ad3a3fab5c - -COUNT=21 -L = 560 -KI = 3c32d78b9706ec18bcdad676b12d5a4110146cca -IVlen = 160 -IV = 483e63be1f993d653457afef5034e5a5fa377d59 -FixedInputDataByteLen = 51 -FixedInputData = 270ee7115bdb00ca3f178890ac546cd15790056c9d5a0ab5523de970f10a717b93521983675a88662809491b399f490d07ccf3 -KO = f75d2a4c113723ecdbbec8c9ceb6f118ff0636f9385e3c23fd39ad610d3edba0bddf54b38ef20ac317c9f689bddaaadec5b519aa5ed02a3ef3f0e1ba1b47f92f83b931dd973b - -COUNT=22 -L = 560 -KI = 52af2acb883e39d50685215a6912e2ed72236bb3 -IVlen = 160 -IV = 3d51903ff13d33d9480e8b468bf82201bf8a5841 -FixedInputDataByteLen = 51 -FixedInputData = 498abaf6760666e44dc0429e6be3670cc1eedb91e46f18803a0bba2226672da13981d283075b9ec8d82b8df52ed814a9f1ad6f -KO = 5f75d146b89d76aad412c9ee0dd4301d34cf5d7c63845581f6da0f6485625dceb663fe7cc748d3321dd47a4ccd1c3f0dd1b5dcf4000f23ad9d797d1da6b14e88bfc7046ce8b4 - -COUNT=23 -L = 560 -KI = d29a5fb625bbaccdf44f8710278f4a12cc0ea122 -IVlen = 160 -IV = 986429fd9081ca31f4f4d202d343967d6414d5a6 -FixedInputDataByteLen = 51 -FixedInputData = dd2f04baf025a888e331beac25ff08769a3c9602c54efd6c38e006ffdc800b5e86cac4e1c3d4b08acf7d355995c23a6d90fc65 -KO = b182de11d6c8d25e1ab0cb192b147c65e6078396acb5fd99c9acfabdd2d87ac1d107b97a7d2bc081add8c05b6c5539e53871a1adc3cf6d117dec9847085d6761820d3196d634 - -COUNT=24 -L = 560 -KI = abba26963f43405c3ed3dffacd2de81210e13476 -IVlen = 160 -IV = 98bffc24750be30f9faec4bbd4eeef7b86438baf -FixedInputDataByteLen = 51 -FixedInputData = 29134b1bcbcefea40e70c2b820419c137b213083deb38ebc2e0d84f50bc18c5892554f1acb5a8c31491ccba1c52f767c5c667a -KO = fc592ac5a4736e92c6e3a8d0aa43adc98e22525cc6e8d4a9f7e368f56cbda65135eb1eb7b57439f603d26658caa75bdfd8364e5c9d9e31cf9b901c92ca4cd02317b991027469 - -COUNT=25 -L = 560 -KI = 3ba1d95ce485138bd68fd0279b30ea8851bdfca7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 84bfbe10373e343bd29ff1c8cd6dffe2e42765ebad5c2bc257a18a96b0035978666c5ccc6bc7d3e37c61e942029379857dd66e -KO = a62b4c766b0bff1be465f3435209d94a9d1aef1047b79b0492d97d3fd1ada23ddbdb799cfcdfffaaa5431e972df705701f5333c5dfee02ad3a2b2dfbd42331069c6f7ce37b10 - -COUNT=26 -L = 560 -KI = 583dc4a2ff25bbde60e3089f4ebee6544fa256c5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 641c8d335a22429bb6e51450ef0b597e8af237fa8fc6b2ee66065ae59b3914b4d33647852b1b94a28f05fde37a1f6ac0086c39 -KO = ff087b031bcf76aa44def75eafad2f2a2518a1dde6892aed810af1292907de3c6481accee22937d6907d1a656768189a2b7318c81ed89adf61ef8c343a5f373e984cf4ff8b42 - -COUNT=27 -L = 560 -KI = 30560b34eae1d193566db755ff4c1c417bc9d6ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36d34361b4eb412096c721f6f2a587c7a309b4c7ef1957071258562514b5f36e32600d39332e4e60969a5969ea7c17937bf5ef -KO = b8b8fc30cfb014d107bb1ade8f83ed416e70b52a7dec110db09443c9c7cfad86d0848aeb988cb093b874bbf43c690a8e78f1efcb42af2532ff96a5fc2425bb2880def4f5d8e8 - -COUNT=28 -L = 560 -KI = cd381f3bf89432982d8a0487177e80d6421d95e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8886c1ebb1245f34bdfa952001f9fe44aa98f257c5ce290e2dc4b29ef30ec6a0f4eed315c642407475dcce83ec343b0c2f1cb9 -KO = f2cca5d6e344eb287bf45ca892fa2b83e926d55520b55314ba6166968649c276127530375e1c4c32ae08edf4e5c8be1689b8c59d92e4ef165a5636d06fdf3755771a549914e7 - -COUNT=29 -L = 560 -KI = f31f60c100874738556a36fac99836bb766d2285 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7f96bdd7b683b4d06970aa47ccc323337011d03461b1074fcdd9a29608a3d29396b164b6483fa24e87304e2a871e7f804bb698 -KO = b524ebd2f3a1fdbb83de25b5785400ecbd511fb832ddc69453446030ee34ab70fcea626a840b8df6b20176f8ae1f29305958e9cdb85c639c0a47785fdc806cf23a0574fdf26a - -COUNT=30 -L = 2400 -KI = 1eb65fbc6fa95bd41f5c38408907502d03ffc2d0 -IVlen = 160 -IV = 1f19f3ebfe9fec54404406308353e5452206ed16 -FixedInputDataByteLen = 51 -FixedInputData = 891c439f58bb4e643465f0c47a23493af42e8d61145f946b694146df1aa5847594b74d3a28a6e84eba0a44b82a6f3194121f2f -KO = 1f4ea88f61a7e281e3949650c0ed36f0b0ce45135a09916971c4d4427e0636c8f725736431553d0900a223ee8d5880ca6fc3aee95f43b50eb1ccfc4899943fdabd9cfdb43f8f1b2a4f3c600fa13d8f277fdf00421c29de1651f66308bb0c20748ec7f5d240c44ed67bea3aa66aa8440922a42cb30f6831de88d06341f89289f58f9db928a8f74623925a493e4017b0a9636468af1b8440897a1154a5b3e082c955c2586a9abcd449949dadca8b045feffa35807afd4f731c85c9430c299f4c3ed9c8bd608bc055c7c1603dc12dfe418612d60946a25ef4a4c0c08dcabcad4bf5737fbcc22a60dcf52798a2f67b60c793677fb5223dce0af446cccaba082694222038eafb49cabe417fb4763552509ae70f99eb93925b454213490cd891a1820d40b4553361e18b8369132ae8 - -COUNT=31 -L = 2400 -KI = 3863bae05fa0ef84013515069776e3a40adea7a6 -IVlen = 160 -IV = e2435672140285cde310a2d5d2bec6292ebcda08 -FixedInputDataByteLen = 51 -FixedInputData = 1a096bf52268e9b64d7fca4dcf0d7e277f3d33a518f847421f375d94f55afb852dada8cb3cd36281c8926bcd2d67bc0dfac355 -KO = c03768e6e4c207453fd9de9ddd834076b16e12c8ddf9b4b12d549a53544747caf77f7396463cf6a10009cd2934d75a297e683d5e200d30ecc966b6930527d0c16d868af8516d25677fe8d34b6216175f23d42e2a01526d722467aa59217a8cd1739a07cba0d194212b7b2d0a453949a19d0ab9d0af0670d4c7f81b6921e8712267be04e2652f114dbdae521a56b31006dc8c131347dd16c1be56f43826def8b837f3c6a3427760a32ddd0e695cbace78aa159a1d963ff1b410eccbff3678712377a50da3c4e68af9848316710a09c7f31b0968d89c17d7630042f982a8abc267d1820fef13150afb7157d8b667f99df0031d15ae6f668187788c3e9a99d1407e595b84dbe014235b43d6a40db10cf0d7b76ff4aec9a2a7727e03d51ece050d4033994c2cd023669754beb501 - -COUNT=32 -L = 2400 -KI = 4045d4f27a9c2179255a0e7449e568e88b258ce6 -IVlen = 160 -IV = c8ce6ad452f7d70fc94bf319638d32362e20d9bb -FixedInputDataByteLen = 51 -FixedInputData = ae428447ae1837082a6e0b5d281c0f19355f381a99ef24f932b2bfc194ab3977fdd0b3599f8c5365f46133be037f465334a566 -KO = d651d655db50044b304b3630fc9f09027e2faebad23c40f138db008b37804a1b534cdafba79624e59784180c2902882362cda9be7f078f29b88cce2e89d759a73ebcbc01710e3503fc28408c0b1456050e1dbe476535965d7be9034b54dc550296d0d39c0d1c7d878519157375962705c625e92bdc1f816179d29bcc53bb5e1a9454fa5bccc8da172c4a19ad41063cf8741f024d2076d4963af967b1440cd1a5b5bc5ac5dc27f693ec24e5fa699a2d912d44c78f83726b87eb72e8d400a87f168199bc4762e3eef22751aecbf424d11572eee55831a5ed9e7450976828de6f3de82fd98d634a4e0785e65244330d6408d655ee4ac9ce26343c844cbbfb685a1fa6ab026296810e1108c016c9827763b41f98bb2e52c08f642dbdb59ba9f3a9836e8a95113d3d89b4531b0bb6 - -COUNT=33 -L = 2400 -KI = 34455dc24898d80b3bc518f83b211e38fafe9966 -IVlen = 160 -IV = 427f93342432123f08fbf3ea385bf6dc4497772c -FixedInputDataByteLen = 51 -FixedInputData = 67dae1ee8ef1c0c441448aa4daa2b4fdad7e1495840c11442aea1764a81144635ada792cda719a881b7b63695e2e7186f7cff2 -KO = 81aa7adffe54ef619c0b70a6cc34b4c839feff58bd9121157ca8a8e8b5ad292e144feb129a1646efb005588433e5656d22219821e2b88a5e61d819f8c7fa2407f98c326d4c45fa66975ff0739cc732a687f136feca54771b0773346be68b0f5b88c8b7b4d938279917cccf32413f7891657190820a169fff5686d43d22f90ecf1d80f56698f62a558c7bcb29d8e01f99843e8e3d2a5612cfb3e184fa542bb6d8c17fdd70459c7f89fa49ef30b014f45aac65a24b46eefde6d72c2595ab944d266715620b3459c760f878c5166fbc4e2b72dabbb55b3ba283e473799a2ca662058682d19a65afcc868273a4dced41f2560cccc726a79f4ef9f6f699397a67c17a176f2e9c1708c6963deec84d6b8c6d6196cf8f09bb2ac95c01b0f543ec357ef3db8ef9f5f926d233c037987e - -COUNT=34 -L = 2400 -KI = 587b303044742c5b51e5c1e90f55b6ddbe2433a6 -IVlen = 160 -IV = 2f972043fe781136309a76091b73163b23690386 -FixedInputDataByteLen = 51 -FixedInputData = 2355d5d0fa0846c18bc15543eb4c91e32addfc5493aac66c70604202cd3ca99644c2b81773bbf8b556bb791c8733b2af299dfb -KO = b059376ee10f7e138de15d6a9e8332d6988aadbeeba778c7506c99f1eaa23e80a390e36e27b2d88d8952ecf99e12d36931cd13ac894362cdb5eafd64b92a2ae71b133bb454d5f5a2e2ea2e208830d2390686032f44d2fd416b19aba3baaf0b57c4ee866620dbc775afd63a79530d8aac95dec60105066ccea76016d7f0e64049d2d464ca3a4757e74e645921cd51c86a97681a233080961f5f809d60d8d9a1828c619d7c081605e27cfc0210c2f861683235500d37189eabafd7541f52e5fea7e468147077883265d3b4b54a0b1e71eff32257adecde8715df1573b08a8069d722f5c928b732f1e4b55bf83d664c727686380ee6efab66c54eef3b1e4c90eab83988d4cb295f6eff280ff5285bc6d8cab63842bcb887c645b6bc45023dc4d71aaa5b75c04697b406991030ce - -COUNT=35 -L = 2400 -KI = 119532af01bf03321c93a999bcd00b196018076f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 17f40adbb7fe3bb2352460d228e7e4a7667d06a4d026e41bc6074963c673d3007bbe2611631bf2522a845f8600aa778fe632a6 -KO = 95e8d6a411ebb541989b5935b340c551da1c8640ba6e4fe0c1fe4c542b5de923dbd3172a47293cbea6aaac4f89502078fd3d0359d20c263f8532754d12044041f97fb73b2f1bdf2cc6f86718ca175d581099003b75ee5e46d27d1abf78cb8ca7504c3736af38aa31ceff25873a054bb7860a20b40fb56779d1c58b3fa1b80ad0a2a743286a55fb3d3129a019bbe1061a5d54782c9b497b8bef47c606cb4dc81452a64708246b40b62077443cc1dcd6f0b678b828384739e44c535a2e6bdcdca7cfd32eae239817d55f8666e9949195135c6fe5d0cb5d8babae71d5e8554427260cd8d56c1836e019191d509182bc707b42befcde8caa91ce276313fa3fa3cb0e7d9c4708bb32e3c33efdbfc8a5ecd1abc0da76be969441b202c2678ff69e8ebb6a6de0e9fd9a8357ce50319b - -COUNT=36 -L = 2400 -KI = 45955d84b2a28f9810378e139acfa93d962fe1b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9425cf5ce161836b318aefd1742eb217d0b568f9a7fdf2ae15321851642c4ba661b6ba46a50623cba987df177954358435e8b8 -KO = e267e4d896ca97631d040d2864728dbdcae326e2a17b19528494fae3fc8a70d4e0d78b8dee31268159ec4bec2267a02c1dec7e1be3700428e48f716e935deac5933caacc8a687878acd57848ec7e5fcc0de55b49752440b295f740fe0fc4dd8afeec98e65dca31e417c8adb7fde93aff714b165668666c0fce383ae921d169a25cf68a8df2d6dbd446d72911f0f9ff4fbd239b8e7ad60186fc107ff26c0bb37880b7f388087cf5ced5341ab5b25f96021618b65f7258eb3e2c4b48c84cc37d069fb613426c0c842e84e78afeab90e47a724d5bb5d5896a60eeda613c34c00647b9a6aade3c983c37376301fb97288e4feacca4ffaf1a8ec92ee1c97997a69e65d2af164c0c3ec3808bbb0c1b41d07a5950909a9922c73fddcc3b0ca630fbb3a9681c628a964e3568583a69c4 - -COUNT=37 -L = 2400 -KI = b3cd8179728c5205951365c65093b9ddeb9e3b53 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aed2165c28e1e2fb6a57e088e5e1f82bbea117391d95615fbd1c82572e52b527f3a2d1a6cafc27de23b40879814d24d65b7ca9 -KO = 2e61c994141bdfdd7bdcab600aa881cb257311f10c34debf5399915bd900e22f50f3dd81533be1601709effaad03c807856a149548f8dbc93337f3ebe3d3b001df0936a3672dd2deb148e3d5f1aede6a2f9c0b36a532559726cf2511bdaa86e06208b8f4b9d848f83779d169747c4624c6983df68424228f9ffa266121b749a13e99dbf7ef23481e48e0435a017e917cb1386eab3c490001d4ffef48eb98c6d54cdce29c5802e1e8c899588d04fdfef4256727e9af40f7b303166dd59473fdc24c7cd50afb88ff04b70731ccfa8c764752e3f445eb368b2c56b3e46261776c92576c9100f05bc0fd4aad20250a51074701d2a3dbdf5798b73a8d2524e7919709d3e00a50dbf69a167d9cd5f3db20eb421a244f0599e9cee3875eada9f610b54b87b37a2ff5a00ff4d83595fc - -COUNT=38 -L = 2400 -KI = 8eaa99874705f09a65e1b00970f2450770ac2014 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cf4b17b8b90a23e0e8571acd9eb629e61737578573510f18527d859a824d096561359c17f592139554ed8b6f68b0240d5cb78 -KO = 8fa6f90487a1f09e077bcb16bb6c1acda16ee0e9083a50b467b025cbf8a7e5715da64971ed370a6f8f375814084bb404dba5b2bfe4eb990e8aebcd9fb6f2fb065c512bb86b07370d6ab9cf6ceb900bc3583eb3a0c64f3e71895886797a36f341e37813a435a824c4c8d1d0c1ec4c050c0f05313e9fa0a390dc98a977f7a43137f7092d8b2b04e5d8ee69d8e12a471f6d7b89703738bb5cec9f5cc785d32435a11322e2250f1b50ecacade9943327b2cc13e79422141ab8251969fab5e4090effa954e22f6744a433d76001d99ba26242849ad023a5de67382e66862bfe014a2a54b867301fd5044e3feed20263b688340c5661580fe1a93215ca9b63d2685bf46b1d514ed81c7f5e5ba4a2475ee5af99ab15a1bcf0ec83c7073f271994ce66673451b43525170af8a7cb9021 - -COUNT=39 -L = 2400 -KI = 778fdbd2a5c2e17cb3b8e1b7bd5cad8acec987eb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 684d8f6d3291d0e8472953a847317bfb3e98ff3626b1459ba2223c77586099ab42751b7941a4b7c15f91cf932c18f32f8eea32 -KO = 1a835f671ffd1114de469954d2cc023fa2e47df1ac4a40b53a6be2da5bc89cd322f47affea79e0e3e9deb07421226cfc7a2d1e568ec6e106c915d19aaa3d5c1b3ac9f5e5a1a5dc2786e6829f87fb0b27378a7799af013bc9c7f075b09ce31ca84746bf1766f073e402b0cfa0204fbb4e218001dc178f99adfaac4d77b3217fbebd5951a300e2f2a7881de6d4bc2d2d4986a4774bda9241727a50d626d9a23991eef613b1ac013e4f1a520caa0ebf4504e34e7a7785e5839073bbfa31f067cd1bb8c4945110c5fd24f8cb4a26e128d21092fc6863e742a22cc94c4e540c7a70adf7d2779158161f5c1e27673509935384e1e05b67f3af4b23b50732812b7eebe258df8dbae325561376e4e9ab00b1bd98d42b441a47c0c6b8c57c67f5b1a6c47957c747d639d1f2c363a53913 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = b8a76be2d505392ed48ceed53fd03665e37f737d -IVlen = 160 -IV = 3795ed61029688c3b3817d34fc51fb36c452b3e2 -FixedInputDataByteLen = 51 -FixedInputData = 0bfe9435f5677c56a65a0badda1e12dcbafbee39db802627efc10d9ccb1eb12f9fcefc8c471b0f2247b6e979d20c34e0455477 -KO = 1016291e035016de24cab865b81b19c09520608d87cd700fb611dd2b7d8b993f4e747201ba6f5eafb58009bb7804e32e23a3dba687b74f6bb0134ce3d5842c93 - -COUNT=1 -L = 512 -KI = bea683858aeee41d3da0b4bb42405282443df75c -IVlen = 160 -IV = 3a1ca13c7ee9e419e40b6918081367d35f33eb14 -FixedInputDataByteLen = 51 -FixedInputData = 5c7e5b7cd046259f82165ecca64da9537cd2243acd106540d9797b82886708dc068c4a302e7fc499daf7d9edbd2ee038db54c5 -KO = 078d44345828a312ca60ce38eed27ca7300ffa5c19dd6203a513710332d92a1bd555f59f5353fd7490f8d1c0e0fa49da8885289cc07f9696ac3488c6dc4113f5 - -COUNT=2 -L = 512 -KI = 0f092148cc8a43d54a2d1b221bbb1445f2940fbb -IVlen = 160 -IV = 605e836121bba2a3765a9e409e687572543c8b89 -FixedInputDataByteLen = 51 -FixedInputData = 64847ea0c53b552ad096dfcde957d7a53597a43cfd50b4c22b0f4c81e46b45a6f26aaad905a1c24eb1b7b10a705952a6da12c7 -KO = 6399ef644312d115dce9c64817bd1c69eba4e541c34da2302cc9c9f6614a2785d3aec66c552dd8f64469b557c1efa69e3fbb3dd1ca477c43fd33998e5804297c - -COUNT=3 -L = 512 -KI = 7a51cb2a756aa30e705a5ad3446fecbe29217e12 -IVlen = 160 -IV = 79574c1c0b0c9b0a77e9c05413c24d27f2c14423 -FixedInputDataByteLen = 51 -FixedInputData = 1df80591a2befd905bee26dd18ca79aef3ee7d3a8a587c1eb89a3752e23f256a17f99f37008519ff4cc00d480258fd6f5a1b82 -KO = d129d660f154335abd58b4cf66af497c35c2c9e76119c05ccc0b494b9439678ef67cb10d81e5b4f647dabbe1af75a088c2da08750971750f1d1b2ebfb4146909 - -COUNT=4 -L = 512 -KI = b7b9ba12ccd367d519a4bbb19eab0c5a4a030f46 -IVlen = 160 -IV = ab3ad0b653563c36be95796e820b6c3decb40808 -FixedInputDataByteLen = 51 -FixedInputData = c825eeabe118f523454a0ecf3b57732d23ec80074e6ac32ada0d4a4fb6bf503c7bb0252689400ea678e0bd24be9b79d9cf4b0d -KO = d63e4ffde57678460532ed502b2be5a188c37a836de6b16974b1a0e1cf567db8d5bed34c0dfa036942c441ef3b04dcf630ddc95da351a5141f7385b15cec3503 - -COUNT=5 -L = 512 -KI = 81de2f2b927a0e368ff64ce06838200074f0c6aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 591d487a745cb99494c44e515b4bee0c13a3abe4873943c3e54451dc8db1752c60350caf12400d7c4f043b6d109a5dc4b60d76 -KO = df586531f8d644016ec65807dcaacb2b798e163ad74b41af508c8f271b11df8006f15531e19693097179dadd92790a01de0bc7a7aae9a05552decc75d07c41a0 - -COUNT=6 -L = 512 -KI = 38f58165360f851fb16b37c4c7aa97a7fecc222d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0a2d3a67d77247ea8565959d9c100aeb8fd3b734255bafd9625a361db1289bb04bee41aabe6b2483753db30e1c5ad3075a155 -KO = 2675f9c5c3eb37032813a68615d0bf800ca44ce03479d8edbf1d7f6d6a91d4e1aad1edc070c62d27504d0ee238ed566a4b60c2b976c652230b93ac26a35dd3b0 - -COUNT=7 -L = 512 -KI = 1cfc085723bdcc6d85c713c01783864ed42bedda -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8ec79cd9f5526914aab8b42300bd2bb64a3c74f3554afd0e9b17008df9725f57bba268c226eaf5bcbcfd6f7afe810e77f0f37f -KO = dbb9eb5a754fb18c5eb184bec255ab99b87c7a9e3d23c60162dd2cf6f2af34303039273138307162f8878fcbfab952002c3171a0fadb601bbd32ac1400adf107 - -COUNT=8 -L = 512 -KI = d8ab7a54eea2fd3fc91162d9ec2f8a5cc0fbe22e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e61dd1d69dcf82fdbde30c173406fbb3399dabe8e303306786395259fa507beba25f21e748a488283e98259d9750509d045e68 -KO = 671b73268e5dab43ca48e8f8ea3667cdad2eac8d85ac6360afcedefc3058faf32a24d60b89b831a8985e59f9166c3dae0674fcdc29a76da015d29a9a335b4414 - -COUNT=9 -L = 512 -KI = 8a2b8790a6115624dc25d20eaaab7ba1ade5a9b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eab9f0f13c553605b8c089364ce09420ef2560ad96773a1889d1143578900bfe5054c28dbcb95b1f7ca7c0beaeab585cf6a855 -KO = 1e3601e0c397d6ad41589d6f51001901622d397e92ea97e20ac50af7f432509b71bb6512bbfe3276d32ec3ba6ce9ec3e907ecd2ba4ae920da8d7e5b71c69146e - -COUNT=10 -L = 2048 -KI = 10d9cdc362bd322561c937935ae8a94c7e68814e -IVlen = 160 -IV = ea4cf0af3ff7da8e0f2f63cfb2a95a87918608a3 -FixedInputDataByteLen = 51 -FixedInputData = 838b7bfa72ad4490c4330e287a1ce84007a9e8106eb7ec7fd01405bc23ce8b323e3a47ba122b05576727e9cc083318b8c57b73 -KO = 9cc71d63aa3d291313c3f607016477d144e8ab465197a6046eae66dc92cb09034208364929bd49a04d67f9a437f446a340a67958eb93458f6e365ec3700848192a1d31c91467447a28d4e23bfe3596e9ba86194f0b2817c128d591787ecdb493ed1a90afc9f39bdf6d6c3deddd03295b6b26e1cf3bbe5d9d7538aa9cc5f86e783f267889bed6ba8f2e80b8b48b1a6d49e770c35706d814b52439c2aaa2501fc7f966f90445b6058daba654e9062c55ccb8a32f277ce57cec38c3970ae2409577418f68241937bca0ea9dfadd66a7360e9f0fe04f677b8c56e97aa2c214ce2445759de958e09f52759d1fa7371cfd2c9d235481a4855d79c24b19a3a1f7bf80e2 - -COUNT=11 -L = 2048 -KI = 25dfc58a7f1e3317a0b9003613724ce2f8e15a46 -IVlen = 160 -IV = 3e62378b02e29f6cefe04ecd7d425da9ba986fc9 -FixedInputDataByteLen = 51 -FixedInputData = a9db6ebf71e512bc76f7f3ec07a0ef82f39fc34a52d2afa23324532eb1304d617c4403d2b28007e2a90a6181b4df21f9b45b3d -KO = 80846b220e63ef026da39aec5c4fc8add32518290a0e74c1704705b0e3db0273f67be0b0cf73dc2059e67f184f714a1bbb631742f8fda4a78548c9922896713c1e45c3c739de05a805017c8002adc6aa480f880a508e093f4f14d1acc2c8a72903fa7236208258fbe87c4849f83e8c92ca73fbc59b2f62d5866f0789539512fb2da5ad3755a63c6717b955c73d035f4bd160bb2183e56f96a6f0c937fdfd63f37f4f19405c07e757d611d1a62071761c5d3a6bbc063bc5e4da357791dded939a365016684bb0faf825c686b1db51cd76729f9e4f4c5d1a750edd2f327c69500ad4865a963706293da818a0a36c8f06335cd14d7d75693ab1e86197e78df4c1b2 - -COUNT=12 -L = 2048 -KI = 334c48e2c771c332702b67349bc4428e8a345f41 -IVlen = 160 -IV = 2443217df54f98ce35646ba3b1235dad3afe5d2b -FixedInputDataByteLen = 51 -FixedInputData = 964fa172e0a938cc9aa31d3dad432ed948895b568af74681358fb161edb7873eed8154618b24370450a5cd804c11cce15dd971 -KO = c1945eebfdb081703cae8869bc427259e594cfefc56ac4ca86e49548d1e35ecda0ce996db1bd24145e26fe7a5d337f1bd7cb55fa4578330cf5a984446be595c7b8f236802ae95b16bdefed103149776a6eb7a370fc2f0b217e891aed569dbbaf55cfa514bc27a395380174042705c4365ab48a92bd92b39dbb19746a418d6d25c3b93d3c36a482009bd44ec2252e75da46bf79d23d4f933743d24ea2047912acd08b488bff0949154642b3765042afffec9680747c33039ad3ff7cdacf6190d8e864e983a12dee284e9a47ddd76aa6f042693bc8e9c4522d3aaa5533df0b899cc9db57f47fa1cb070c8b3bf0c39305805f893dfd19abf31796cf9cabe8cca6a3 - -COUNT=13 -L = 2048 -KI = 9bbdc07cabe7407891aa5c9ad7691d30f47ff45b -IVlen = 160 -IV = 70279f5e9996f82d8adeb7ca63c9c3b573540ce5 -FixedInputDataByteLen = 51 -FixedInputData = 0580608828b1af39546e1d6908f247b6bf567f25b18523523b03e99e688f65c70665fdea18c02471f52b791b65725695809ab5 -KO = af068c7b7f3ffbe7ddfa59a6ccd53a26b1b47e66474e2d73fc81af4012643a452cf5a75828351dd80c75b3ae2b7bf07e57185aeb1679f1acdcb72f728ae0662d9613ca6aba8c1dc2f37d0e43be62bf82ffd273a7696b876533bbd82cc54ed4be21a959feb2f86f77b213f811448ec197af31c0f57562fd6f06eb66151eea60245de2608409b83c910aff5d1fade6f5c25b225c12699f303798074f5c2474578d109f58c7e1bd325b85d3a6c5eded58dce2cdc710b9321445432c9f1ccc11b6ea790336f3b329c3ed872c3c63d901601fa02169f4eb0940c91202ace9889b3388c233ffda49380e96317ebd65c4f7092e9ba240bea96501539df10c2e84c1d0e6 - -COUNT=14 -L = 2048 -KI = ae57b6af8e880df6247bf40b79a9961bf2d8ab2f -IVlen = 160 -IV = f6bfaf2c6c33668138c3bf9466a247cafa7bc354 -FixedInputDataByteLen = 51 -FixedInputData = ea13f2a93992a424021e38d7ab69c149e6a826dfb9a7a76b4c31ed48b5c8ca46dcc30069d37ccadd1a4b7580eb0b828e95f8d3 -KO = a810c8e57d6a431fc346cd24e45515c779d01e6e25ff0a88596423a9249d8cf4b76efe7bcd3bb0d062284a9baab4e09ecc164a6fb96214464af723a5f77e7f0db818b1f41e1d47913b027a67bd88a46c2877e84f5dbc96630b707a61c9165b554733cca81f8ac2971af4051dfc0923ae83fc7090ac0e8bbaabc197e617d619cc5aed49d936dd668843b635cf9c4719f7eb31c74d02075461568f117e61d2548a49a0d09a3352bdedac2563cd8d66ee57da2146d32a94def6034f87806258ce7f9a19e9d83d1a01a984b006fa158693677b760ebf95cd7299aa13394b205e658b7727ffa718ae893931347a32ce5eff6a774bec81409bb24365e08e118519e909 - -COUNT=15 -L = 2048 -KI = 86ea815a7837c42a201cba87eb46d41b6005e9ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c308c626a66fcc63f82f4108f976436cf32c49b38d606f74e487afd0119f3832f65aa0c03f03e6c6b3bd9680990e0e2439ff0 -KO = 93d59473e9d8420cd5f44d125b631ccf98f2f83466e214d66ff47b18ae3d28616793af4584a385bcd05fa1370fd99550ecc3c9963e97f328be9e27b637ab52531f3f769b9312500662aea23c20a44006ec6162d59b82a162e4ddb1f552387c94754e7346f2ffc2b3b2421739e241bdda35d54ed6b3347e5989163f0ba5248c10422dbf7c1552515cbf70f1d730b0b569e68ca3ad9004cc23ea5abe6e5baff19ffeee512824d3f365b30ad730ee58a505a69707ccd734e901c89166a32ebbe06a74e85c5c854a1793620e6e99f0dd331d1a1a08933806f20130058631e8768cb9d690132ffeeaae9fcbaef42daf5c61766aee417f87db81b07202919895d9c44d - -COUNT=16 -L = 2048 -KI = 44123754aa985455e77838ea543a4ec62fd2148d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 87afc9b284c3caa8aef84d4777978d0d39d5a2be9ea72c56609ccd917ccaccd5cfbd92abeced2209af70c4805bf5848df5a98c -KO = 0a3c06f1115295738ac2963651a7118298ff6e66b8371cc38c45f5af89a351f4000d0886297c2dd7502486e90382585512aa3b99b7596da0675c917331452b6caa28a0c87640a66f3e0196534ccdc8d3581f46ccdf1b7bfbbd89ee4750cb4e3bd1616b41213f6b8e875add3a1e462241f26438d7fe3b354dd737e5378823d01ce17cd3e0e9dad4fc5fd101fee8c8926a403f0b3f312228cf26f97295aebb0ad94e22862f107d2740be36eee94787d5d6686424f28fa2887ab5c63bfe2061a989f80f641892c996cfe891f4ab3c7e87d1e50081164a3453d996daa2b0174f60a77216e7178e0e995b5e660acd169ef1be6c0c985135bf70ac51008b5960fc7c41 - -COUNT=17 -L = 2048 -KI = fad266c074a54e4589eff2acb2a7c55cc56312c2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b31c01ca1adf0b1a83ecff4954f63afb8cdc58046e6d6bf06a9706163189fa450ec4660830ae7d32eb1c8efcf615d8a529133a -KO = 533b95d5e727e3617b55308e2032723214620cd6c9d03b4e80c16b9f5ba98a6de76dfb9995e4ca107da508736244e0b6d91b5b9cc263e06417dd9f9e0a8df13d2864e4ee209619499326d01b554b8acf502da43f88438c869af76d10236fb2dc2aa0486abbd9ed41d82dfa5ea1dcc438eb82d0a2d5db8e434dd407350e3b4d12b6225c6613ed376da1585fc8ad4572fef11683f5ea6613ac10e1c11b7120283e275de7cfd9f93682e356913f08b13dfc8a02f3b8bafa866583251ac8898609729cdd80247a755cdeece7bb4c4c7e5a0d42032413f2e07514a84c750d9eb5cbd8cf2e56fb191778f365b0aef14d6c2c01717d49b138857906ee7c3db2e77ba307 - -COUNT=18 -L = 2048 -KI = a910ee6a85383ab397c6acbf5773774080fa95f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7fa3594b8a364e974395143e024dff9153eba30948bcc45c04ce70d4d393fd9185a12e146cdc8a219be44caccdd8544574003 -KO = df8b17153de94aee6c52655a25556b7aeafbde5221329b31f1a194f31f1d2df843a96f87b4db3a563af3afe9727afd6e46b1b1ef61130952481aa745c20cbe4f2b07020a01107f0ffbeb981a00573fa851908433287c0900497d8b22142faed406103d5378282455e307c12cbf63f4ceef94c418cd0931437459060facdf7f65f7719f5c9ef88e3dcc6c5279a58ebf8c86921dc3d53a74899ea1fc982e1031431471f44ddb9339879133dbe6f9c09a65888ceec2aeed69b1ebef008f78f7fe16886e0d1f2a8ccb7faf20bc9942f0104a52f3b48d607e65fe0c3a597d1fe34a94ce8e78469bd992105c165d97271c150ff32663498d9beeb66c810531273783b1 - -COUNT=19 -L = 2048 -KI = d7276f32daa2f090e28fc1d932e0f1ba3ab6086e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a103a357b50d5709521604d08c96316b62b7ebec96927b818b87a9b3a58d723359287c2b6366b96dc7255ced398ac553f31a4 -KO = 9a30e1beb9421dd8971a668012df7df6b68c21d104c8103b4466e5f269a55a67f76b42e68550f401418ade09b1360f1e33069474e95ffa8241b62d3152f867c7db7a41cee318d4c8fd7ed7704fb2f08bcf0d3d3bcc63b7dc7c7ebf40086c3d7fb9a667fbaa30e64b17420235226d098f7e50b6832ce0cd206c850ca8697d61b5faa217d2f634a68d76286f325f1f6f9dcf7a219e8d0786290eec37a99646b38400c0414b8c555c1c8e56383c5e92b263f9ae09dcc49c856bf86c19e1c10cf481c4c7818810ca6d85f6b9a467ebb08eec427a3411e529e50a6ee73a0743b086c6b8c3a62d533c980263284d9233edc7c46e974fa34e5b23d561da626b4709d370 - -COUNT=20 -L = 560 -KI = f22e2708907c0d11e8826d333a544200c750bac2 -IVlen = 160 -IV = 0e3031df91be6457e9a906c0aff97ee91b76aa4f -FixedInputDataByteLen = 51 -FixedInputData = 5771b94a7b26668cc43b5005ed742f2b830417ae8f001d517248e905f32f51c8db4764279abd4de6e8be6ecb1dd0290e892e88 -KO = ca69608f7bb38355413998e97f1d0dc81d712ca0bfeab5baabc65f71e62f233b5c61c13bcd71af0f29c5bf24f808fd3cbf4a9ad133067a6ee25c4d34d06fa7b7a174e611e59b - -COUNT=21 -L = 560 -KI = 6091b0a0919f13724ee701376330abc314698ccc -IVlen = 160 -IV = c8801aeadbd91b30fc199c5e33a4adc1ec74bb7d -FixedInputDataByteLen = 51 -FixedInputData = 341f90d905da90429ce2e4557e8fc821b92acb44d69cc00487943150c03e843266877cb8efb85d3b4aa588c67d2f7913cdfaf8 -KO = 76484459e35e4c061d623d79cb8bc3d96d80ff0de81fb8740f38a0aada32e17fb0a038725e26597a023bf7520b8d1d517b62b6b62dfca808ba50ece94c453386c60a820adc91 - -COUNT=22 -L = 560 -KI = aadded1628181156cbab7a4b786345824cae5d2e -IVlen = 160 -IV = d629b7810cfb599c5e4fc70abf512599155aa91d -FixedInputDataByteLen = 51 -FixedInputData = 7e4e6d8e46319f6015ecd5a2d37055f3d28bd154e0af4348eff7a7e6b83de591ffc01bc195828de9a4d552510369aefdc34a1b -KO = 9980cf39ea519d6dd704b526bacea7392d6504281d9e855cc2c2de683130b3dfca6899ae8e1bda7562c01f93650ea4ec3fb70340f02bd240da2ba15928cc6fdac7f8a997a986 - -COUNT=23 -L = 560 -KI = 82bd5a59641a55d8950701b85a1602f02f1e17ce -IVlen = 160 -IV = d086e253bc6b7dcdf9d2cd103102e412f35da401 -FixedInputDataByteLen = 51 -FixedInputData = 5bd102c72aa0ee63636d09d994d13548545df8eb620425d5a3dd6ec32a9e08d6a484c86525572038a736166b128731fd7d5e3e -KO = cd69708565edd01103e8724b6aa6390a62730b31ca3b2320c34787e4667675ce76bf456f71304a78495f9af7ac3945cc45e3937c97301ebb6ed0743f632c55d08f9a59cdf849 - -COUNT=24 -L = 560 -KI = 1247aac8dfd3e8dbe1da3559cba544a27688ecd0 -IVlen = 160 -IV = 59a76555b9ffb30b40f6e6c2888ca968aa592641 -FixedInputDataByteLen = 51 -FixedInputData = d25d4e5f5c0fea546cc80d9cb51e5d0f69a6a7b69e71f2bb353b067102498524aa7b9a60cc9bcfa41ded747f6510937bf8888a -KO = 518ed491b71c28193adec031cb0446fad1468e30655db50695ba61b18c646d2bccda6a2f57a28cc18491b0c4f16ac6263b2ee97cda3aede49871b3f6491bcfb827cd649b61e8 - -COUNT=25 -L = 560 -KI = f2798db248fa673e2bec426cdb10d8bb7af92ba7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 961f56d95495edd72807a55b10a578cacd47763ee7bc2a1986f9c2666b964bc1887efadb23651de939a3281d9a2176e9b2fee2 -KO = 73c6a998a05faff79da27f809d8e4738e7e693c4c947981228663ae66151604daedf0a1e2cba6f261addf0aa6155a3810ee97632cba1dbddc34dcc01d97266a4b71d611eed4f - -COUNT=26 -L = 560 -KI = e6b9114fe7b98a422c8109879c0d1f6314eab0d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e21240b7969147c2e4903d9cd2c429e34cec3b6e8858683beffb476520faee19839fb6b2f4d67dedced71e273f05bb7a2be471 -KO = 0955608e40fd8b390831bda8c98ea8f87275d4ba38127a52b11569548b4d57a280d6d8f4ffe57ac3b73661011fd9fc8e3c21b127f4851375359a5b7c446149783f63643ce592 - -COUNT=27 -L = 560 -KI = 11bb5f01582104b5a83cc391b9bb9524a19ea90d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c9e5f382605b476cb85b531b7bc6a5a886f879cb8d1ebdc4eb9eb1c6833c21e3c3f1da9ddd242b7510153e74c3a569a787fe35 -KO = 7510a7e6369828e796736e1d133cd2afeaa56c46b33a8ca417de74a4ff1bc396a0606c02a069327ee16d96105fd28889e811f0dd3586e49105b08633e4fe827b0e7dd0664044 - -COUNT=28 -L = 560 -KI = 22ee3b269830d41148cbe03d5fb39869ad8ae063 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00cd116014f73505657bd6a1295400dfb9c0e8975768f3f5b80e2b1eb21089750a7f235aff2513fb6f6b685bcd09cdf1aa9d62 -KO = fedf66df06dabeef523e854704fcd3604e6342cf88191e60b7a209adb03f69b9719a6bb9a2098ce1ad27368c7f6d6050e4b9e638da59115405fad41078a97518bdfe80330ceb - -COUNT=29 -L = 560 -KI = bf30e0fbc9d9e7eb6c2458956ad3ee30e80d52f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92c7a6eae2a9de2642ac81c86d46e891af4de3cb640a109a7cfa2cd5e5b87ea6be09df69a6a2c58f3fe81e7f86c5bae5175f4a -KO = a4c2aa8215e6e8425e14bb95597d1374704e22736464c24a63a53dfdd3d3ec6c29301f6017aa446f0137dd887d61a9b46ec1c7eab8eb29839659cf95e30ba334f2ea8d01b661 - -COUNT=30 -L = 2400 -KI = 86f9d7484d827ad6d6b9c8d0819c29c88d097747 -IVlen = 160 -IV = be46fde9e57523f40f2b0db6c4462c847c2ff422 -FixedInputDataByteLen = 51 -FixedInputData = 2ce06a0b9a7b32c9e558f6b439bc9be6cc5659be6289212595761f55815fb92c6c2a159d348ab9d51c6b42a8aa3dd266ab6a99 -KO = e611411895cfe98b750381d964a768fe1f45a5573e1c1e430d2aa83a400de33b3bfece9dee0a0115a73f392acafce2d3f0d9d9effdea116a527b10045756540e7f8fa57b41496ca3bd2f1998623173a6fb1800901e24eb66858db591d89c699b80a1f42e04fc2fe47d2df5a196f106ee00bc4848358d4a29bcb2650908d5783455fe8981eb4b03290a9d859a5f7b8e02990dc0ea47233b47eed811d3d169236a362f5c3b48835d8812df1b8ab643d9e9a48bd01c2b0c39cb9f52ae38b5d958390e5ed8d37e9d352681a4fbcecb086556290ca5eda206cda176c58a134ec752fb399ce5960c9e1dc114719e2a9450b6f06179311c7563f8a3d2d038e8919adaa829caddf8da3422355822dbf4bc3a6f284705e1782ebc939c31974e20f0f9876d0c8419787322750b38f166af - -COUNT=31 -L = 2400 -KI = 2c24fec119a60136d2a2911897deae78926229de -IVlen = 160 -IV = 832fa559fdcbc5105f62b68993273881c8238d84 -FixedInputDataByteLen = 51 -FixedInputData = d0538d1f2f1487e3ce0c90ef1cebebd86259ad9d1ba3caa675ac45e8c3f6d69b5f1095cd8000780bbeadd009a3c5d6533a6383 -KO = d97968ca3316fc336a37a379b7377f1ac84e7b6bca4cfaab7ca75f58d424bef96f39d2f01a195419e260cd8565d2ee91912f49155b671403f26fa73820f00d123b94e573391d991bfd57a0f3987e845c1715babb0f1b59e079ae4fbeb4eff439d2681f622f7eabe144c96b0de1c5060484bebc6e1dd4dd6f93cd24836a42f73479cec40e09874cf1fe8e22e568ebaa4a774f237bba2b6d3b25fdd76d5f020badb49c123f80897b225a9fbb9abcb6feecb34f7f4f2ec4cab90f55a56568d1af7a69a3016fa8105cc0133e0d3ea930ce9dc9858eda51ee15a385f6db157d83b61d38f128568a455d5a401526c955e19e896f4eb2297de83bb9e4cee53c65f4ee8f8c8f2c2b3c883c9c6f16303a535da45287adae9dc29a73fc489784188ffe1786f58f8acd2221343a70b99dfe - -COUNT=32 -L = 2400 -KI = 8d9544457427bb03c7831be8cbd137c9e04949e0 -IVlen = 160 -IV = 99b568c82aa7f9b33fd5a337d6abc17b6a96304c -FixedInputDataByteLen = 51 -FixedInputData = 862b23f615394fef4fb04ab100cd9c668d0907a9221828e727aff8bdd88cbea0bcb23fe0f417d752a8946a290bfb4e0abad533 -KO = 497c5bce22416825b5a5b730e1cb33e2df92cb82fcdc5bfec6e22d1a6b5fa9dcdcfee3f77a87f4a599468b552774eb6ba263721cb2f83f3e65d4cd9458972e9fc2d661339c134b30585e01dcd8cc2289f1b18c8748a57479850924d85177284bca75bfca4cd1815a89a051270cb955009c3c8d3a47b7f0b3eac5b2af35d1e6a554a7b81a3b8a616f1fe8d1ae7e7f843fa22682d68f957143be2d27fb966a71f0a6889344159b0a34cfd3241e6458cfc0b158fe929c297d4fc1e4b3ab0ecaf82bad55f6dc6e517d82e6487410d2ade53f55f7f4d54a3502abd8972e0ba0a17c4cc23244f7447d683ff8ed7487410875224252b6d98bfd6b3629732612095db65dd1df3cadac49a2e9f7638d6cb0f276611582b91502c4709d8fcd98f0ead99b6c40b4199aaaf465cced0a7ec3 - -COUNT=33 -L = 2400 -KI = fd17c3aeae8e674a14a0968a233bc91a85bd1164 -IVlen = 160 -IV = 4e8efcc5f7582f53f094437db1529e0d03af9d3c -FixedInputDataByteLen = 51 -FixedInputData = 402cb5755f1fb4f012d408c8534d476c26fc5e3e636bd41396a1c517d07f5487640ca5714755cd9dff7d05134efacfce5f9df8 -KO = 46cf909328046f9a90d606865b18aa79002f8b888269453094ed5b7a7eeb8b077e17c4cc882f598a6010ec779b04f9331f14bc452defc64a8f7408d8eee2f223ccf7d45d911c7c5977b2f7b85c301f0c6702c747d0b03e81fdbc3d6186391a5682ecc9870fc8d01b9b4a63a4057ca307ccdb69c5eaf076a44e2ed3f59541287f6910f6f7c63e8bd4598b406e5e2b0f5ebba1fd1158021eea760719af5cabfbc1860c993d8cfee03acd65ccef65fc3ff076cbc77b9c8f9d4dd8124559148c3eaa9f1afb3e64ea579a71aa21bda68d08cac235fc4fbb7537ae4db1aa0d1f42863e57626c2fe69b37839729034d7f85ac563ea727f5f370c9d39a485c6f50044231fb139ebae42fa931517b0402f1e44601dfdadc1e69a6f1ad914c9d6c83321544a31828825eae569f745bb11f - -COUNT=34 -L = 2400 -KI = 0e9bdadab85a341695a1b9ad82a7aa25b700e8ff -IVlen = 160 -IV = 093dcb508a872e344627d014d239e9db216f091d -FixedInputDataByteLen = 51 -FixedInputData = 8ab16aa2a5c30e31464aaaecba9707d20f39fe068e0965cbbe3d17ba0f69e422f3226955c2c5c084895e1ef036028a06523c27 -KO = 9712f2a15d9afff0ce945787fcd5bab26e1b39f0b5edbda415e9f55c9f6b605d05d9450e4680a9b9e228f45c916071f36e73f1de93b5d3f42b47a9f9eb13aa8797e7dab7097e182125be78a8048ac75062e345c93a214e7cf483ae799a92341e197df0d44234f557adfd138194a4aab82823543d4deb9f18620dd6cb1946276f97fc553107f9bda724169fedcd48f5afd5300c1f3af344150e1d84dcb4bed4c006c442d0c98ae24517ec6d19408d9284ff0b44ad6aa32b48983e5daa7ae9746ec419500edb280354e09902b01bb22724024cc244a06605b1092f461644a9aa727bad87a5d71074cf3e4eb1c27abae779ea30ede18b6a7473888535670ff4dd5968589c957862674c18670058bbfca45352c366529b9df0751555765ce9c97d5ee7fdb43f56d01fdbb18e58e0 - -COUNT=35 -L = 2400 -KI = c11e459fe337ee9cde3bc0629d5cbfe272b2ca98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c93e55667f21c0807ee9e9364c60c739551a9ebfbc93495b30b7b09598c8140babe150f3a63a2e4a07657d1ca757e853a3b4a -KO = f4d396008506bd5666741b0ce5ddcaefac79a7097da92051eb7cfd588db5a6200442e372785dce821b5cd46b2377be4618718c1827a76b439a09bd6d6eb06c95d58ec774869b8ae7a07a70de7c90398aeb22befb734c70af960ba6a1b081d8cd39fe058ab1a7351d0ab21a7234afb9bb929b195d419962566491b9be27274f821d6f5e9576a5f6e9ba54131e83a87ab07e6ed1762baf61d89149d57ab20222ae117739c707594733fe88de9a20d50fcc789d813d8987373da8bf2cd61f517bf5661f42fe7454585f01364c4e5abcf56bc753880da7b50b89e6d522ae061b349c1c45efca4b995699513fa9588f7f7f568042aaab23cb69b1d92d3da683e3cbeeea938d1dbadd719412b23eb07afdf9eb69575dcf20c8d026f7ec99eb2e237cb9cf9f2bd1545fd5f71dd120c7 - -COUNT=36 -L = 2400 -KI = a76a6ec10912acfd284e180560f0de38141add07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35b39ec081c618aa0c2a4fdb2d3573203bf6516846dc73bb4caf5932d595fecf396f20456d02599b2787e80d17e06f85f042e3 -KO = 767a5c99cae9ea0ac33ceed2a761734626285876508db2a56d851f8358531902f8de69e043fb9dc4ed02969b26dc6c69086aa40a880c9b57ca32734e6cf8637924919da09928576310d71d8fca4878d6b38d60db7a7a774dc7664ce20ff4013b5b21fad6064c1d670a709cb5cae92a86b090df5e5718a280143acc19bd8006ef4be3dbc5c3308a463a639382ce3d2ee172a72d482a10b5420d242ee26b8fe4a1b6b80d236979e6d5f7bd1e40772296399ca2c7d09b543b3daad395e2f7156c3d46ebaa1ea86ebca937bf660ef3abe87f45b796783e022e097140b3b74479639f3c558d1c196a576a9d2bb5b5b815136d302baf1c7b77b853961862466528ea99147bcbd04e69daa1c5aed32429f92ac5796b6045348a3222ec2f81e6e9764fbf6384cc072e8e8c55c1ae60fc - -COUNT=37 -L = 2400 -KI = 87fdae100fc3aefcb4d02429e6d105bd919cfd55 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0eda04812bff89fc7c93a0c344203a57d6530077ed94dead35cc560261be350fc49c19279adda90393c8977a7eea93f852276c -KO = 0f9b0ceda4cdfbb816a6c676eb4f6e89a201d0958899dc284b8a918a3e2452c2ac3f60d9dd064ef03a14ad968ac8b68a3ca7c1fd237c8d10591e3e974c93cfebd2782d88f9dd2a5d17a26aea1c99a4a8900246a288d8d531a8859ca4e8e533934b80d01b425f04a79bd4ee1481e6c8bed2744b4b4c1f05f3d55af15d85fb1eff83fc78090f7232d7ac0317441c6dc0f48d7eaed67951f8483f15e2e75f830fee1757475f0f1bd89b40f147823e98b738fdbcabbed903e2ced95a6d975fdfb1358d17b04011dd0783a0b7e134d49ad6e36f4e3f9db4dbe577a8eeb3cb1f19176255aed179afe0698f4e22a121d6c603beba55245d7b69d5666dd8b6f1f725257d743ae3c5ac90b5a751f79cf6e42b106a69a3c459e403ae00f2d695ff9d5629bb4c0375eac63e44633534ec72 - -COUNT=38 -L = 2400 -KI = 5cdb62b7f814f3d1a0fbaaf0d945a42ef5040dee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd46b6c1d704e3961ecf94035d4daf792b130338a86480dec8939ab010cf0e02fdcd32314d9db3b861ec124554575befb203c5 -KO = 2d029569fe6a7e6e3666c013d955ac8cb91425f7868eed8397565cf57f0304fc9c7e34d534d68e828302729613b6ea874a49201f62902b3a2d8f9d1bd1863448c42493fa915cd6056364af74de07ebf8a5d9ab279267113daf6a17e94e53289d69ae3df3cade4e1a6b0c4c236ac0d2cf460180934ec8bfe81e0fbed97b25ea1121fadc11d3d83fa6e63122f9e547adee6dab716da4e002089ddefc406f620d8723d1c696e99abbb75acfd47a71b2c95d4b119312a8f06f6f3a97cb021f9cfaf05a077a8f06bf3180720ee19869d64297c7e9edf880c7a747347dee64d2ef4067a31c47ef43cbd612075bad2b4f7b3c96105fb76f44c83d769ea59c9c91c0fb62f8d59e52fd48804929ae865f2d7cbe1a4a91026470f1f9eb479e22b5961c6c64cde445dfdc0e0171473d8696 - -COUNT=39 -L = 2400 -KI = f048161b82acb31368c6d673db20564c93b2a60a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6b65c6c7154c758da625484c2ac38cb9cc8e6ab1604ca8b5de1914ca66bff6f560a6e35d3eecd9b5bd85c3becf9619df5e6d35 -KO = 15c9ca4f8514708c98b2166c0959b3254a1111ca084800a77d5dd4bc2a32322ff8d818dc54e0ecb516ed98bf1c1aef3ec5b998839e40c126e3923e36990f336ea589e30c93d161a819e328ea3c224c34de2ac99d2f163b3fd96065058bc985c3286309e325f35103448afd9b00f05cfc7458ecad887aa512ca6e9d01c2cf0010e3a733d8ab8eeda60a01e74e4ed929c75ded79c1d1f730b7a5166fc503e58a521889c86cf8428eed121855ce3bcf15980b078d33a8be3fcb7ff05af0b445b04462a4bb003eaf31a821666ddfd5803d91eff8d270a7f9b7edbd68623c45e6dae0d798a2bd6fc6271981fc38ee93794d1443e54aaa8ace32212fdfdef7d323e0bbfaf1fbf1c7e1b6b1ba517ba7eb9070ce16cb0f82d3cbd65a335f802dc7d46f8b32aca6ed21d10084c1ab45b4 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = d6ff374998248d3c6e98682f5fceaf13544054fb -IVlen = 160 -IV = 5e6f6be20f04c59f9d9cd56edb5be0222148a6bd -FixedInputDataByteLen = 51 -FixedInputData = cf267fd555c2ab0555e52f5f844ba7bdcffa36379839a90f9639fed6a4b9b7b9e8caaa9dc567eb78490f93d2dd3c16669d380d -KO = 8ab20213c705b87372f943a7600fab69f891ff7f98b8351d5c0a518660f43b3dfe1c6c858bd97960e83036be2465528a832bceb669cd98875c49df517acf54d6 - -COUNT=1 -L = 512 -KI = f11a007ba76988bbcfd69e2e6607dd00e09cfd27 -IVlen = 160 -IV = a25a3d42a6f4f97a42ba520f700f2577846e934a -FixedInputDataByteLen = 51 -FixedInputData = c0032e2c876473f14066efe9510b8473a56224ee20e3ff85c121319998b865eef56f10d81f20dc600a22c679fa61a87dc5622e -KO = d2279ac7f02cae52c379c6de682d5f42726fd4ddf564429ff5f20e908a45cedfa76ef71885d66ed303f3e8a5de479d14f8eb9ec86c22f1af1ff67acab77a5c0f - -COUNT=2 -L = 512 -KI = 1cbe0aa534c423351811cb985e3505081c35d375 -IVlen = 160 -IV = 745ca34ebdf6efcf5999301b584a42e7b0290853 -FixedInputDataByteLen = 51 -FixedInputData = 43848ae864c0f0736d0025fcee8702bdd5d3216e00dcfa0754a0cc930d382b462c0f6ba74e18b10e3567b716408b637f810653 -KO = 2ed1c830b4c3e8795c3978c96f00794b32884e6498c7545420a0d4f9614e0d8543deb75699e690c0e8f8e97368a0660cc8a5536492531d54124e8880b5278228 - -COUNT=3 -L = 512 -KI = 12f96d004197a88d9dd76ab798d55439c88c12ed -IVlen = 160 -IV = 1ecbd3d85d50506768aea0e0e465624d47882744 -FixedInputDataByteLen = 51 -FixedInputData = eb71754d7bfb77884308afcbfe30c15bbdf10f4f1bf97a52cea60412cc947f965bfba9c4b76a421ec06f6029bbb3784b079a87 -KO = 422df2a108e3d641ad19f35e3f5d00aed8c38c8ba8b9e5df9cde1c4efb8cb23015c50aca9a8f3e2283b87fc0b8f9c9ab69df9125f0f1420a5899ee49b1fcc1f7 - -COUNT=4 -L = 512 -KI = b10dfed069107cbb126af91a13957fb66c4d3a2e -IVlen = 160 -IV = 5d5d5231652b1e6378f6ab281b7ae16e67112eab -FixedInputDataByteLen = 51 -FixedInputData = a5664775fe25595dda32f1e7f4277dd0cc645c03f4d1619cf9b7dd6ec878679d7bc5d5fb0796d2586a7dec0325259f2d49169c -KO = 17e838a087ebb3dc84e4759f1ef6ed3069f2212ffe6de3f32abd1aaa0613eaa3d372f9735afca1d65dbae92dac55f5fedadfc1af9ebd98065790048163376e60 - -COUNT=5 -L = 512 -KI = 292ea74239d58748eee70bfcd2f99e0acc5d1c36 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88bd9c199b78d146810f9659114d3449f75d2644987a3ec1cff1785fc3fa9da742aa65a7e11fe198bd40484b29caef31d1351b -KO = 6b7ffdf4b998a4dc85853411c7366438ba46273a8af719b565c0c97de42974931916d74af83cde2b0e5ebe9f29d5fc11d8f368a409dc83b1bf1463dc8dfae82b - -COUNT=6 -L = 512 -KI = 3905d20bd906e4c9b769474f013ea318325b370f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c9cbbc3dd2403672095101bc595928ce5419485b48e59c906f1802de7f9f89527a506b8e9a6d8a4c6e71dc74de64267586e09 -KO = e72cbdc06ef3c0a57e07a08e062e131e7cd2fec0ba0fe4944e1d7c20f6ee9e3db81d503729ec683824415fc3737d56950c37a5dbcc1e6e16a1a5ea514b96918e - -COUNT=7 -L = 512 -KI = b7599b3a03c343e429c904bd41427b2e658f0d9b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ebf6c33a20ca51d58b08bcade153c30c7eaa55297d364a5609637064ea98d09dd65ed071d3f3af1caf11dd82aed3a6c0a1aa6b -KO = 758e4b7dd9cfaf58c5d056be6a56c45dc4dd7514f2aabb1b53f2583a38d4ff6ca9e8deb064ca3d2d4553f8fb8309b5e825e4b45c84fdb99d638c7793ac3aa879 - -COUNT=8 -L = 512 -KI = 6a55ac141d8e998377cfbe410f5fcbe8d967f80d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0399df51219abbcbf6566a113af2e3818dc879e123858abfd187b178269d086f25f80e0733b8e1370bd0a6382639d8ab98f83f -KO = 6d144ba1fb30247d639106d9dabac0b085fd3d35bb8e8462668baf8ec2f856b59cbc22ce87ff4bc9e45cdbe61f53f0a7de8f6cbc0d190c030c24697f28f4ef4a - -COUNT=9 -L = 512 -KI = 596c5db8912268370c6ccb209c396e3784db72f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f41d5d2b302d73c9d4d1df6c4045220b108acd78c1cb8cc62866d2c655183059e6b16b6ad7efe3554015d082c269c604a8409 -KO = 85046a527f6b719b46afc845686f152eb62fca2d27562022b13e5ed5bf8da11572696ce848026cc96754028714ffeea1721153e9b8010ad16ace9ab7b384184c - -COUNT=10 -L = 2048 -KI = e9d0b9ebfb7f4ab7bf85cbb4865cfa9d8a45c27a -IVlen = 160 -IV = 215b1e88a63b9351d92770389eddae55ec05d22a -FixedInputDataByteLen = 51 -FixedInputData = 2d4977586c58f8943dc5e727e4d81df61084e3ab57568d44fd9eadd56abea3c721ea1e411f15bcf5719ada7d92ed0fcabae161 -KO = 222bf46b2fbb9946587f6babcab2708630b2b252f7a58afd7c2aef53945fc095b344baf6e4a6df2315679febb7291d209b463efd4f6a0098e0855295ff237365af8ae0ecece82dba6c056244c8bce417b5482b5c558d30a8ec21330204955c20fa4d92006377d18dd01b73a2ae656d4009d0c8ada2d141c37fcef7811c1c2dedaa6819d6c0bb78b49f6f08551e6875f6f860b99a8c96495f270d149a59391bb892ad19d6f224db3101d80e08fe9a549c22390f72d32307212196ae585db6e1d8011dcf4dad2ebe6ee5c6a5b1cbba89f4c57ffd7dc4d53df9eebc5a813cd73c8934e9a8f6ed7ffc7c097585ddb4cdc02617141ad30336e7b7fbaa0c771cfe089d - -COUNT=11 -L = 2048 -KI = e885ae111bbb1bc43c3492973f76ed01f6f141d8 -IVlen = 160 -IV = 982c794e90622e079174d7245a3c8fecf98c626b -FixedInputDataByteLen = 51 -FixedInputData = 084f36509e108a52034d9c894858b68d0bf7ce942e9e98b363a95d35f14a7d32ba37e40893ec3508fde35df2fecf29ce3159ea -KO = 666cf65647c7e13b55663f0bc027726c5e4c2d18747b525f10cbaab9c4e7dfc2b41d3dd97afa9452cc6aebf384495470710e84e3c9b3a446839df78ce1a6a12c1282b19c38053c81df888aba058ab4a4c64a9065cc9093f4fb51f314d2737caa5b1252f76e10f8b5aea07d857a25542d6de1556e8244cf960aa6fe0b1894aaf9784b996bb16b331b6fcdd700692f3097214bc35b7d1651887fafabe1d093e993883e3b08aab36734d9bde25d0cfcb3cf1e01b0094998913bd41e88beb7758d3926ec20f048679232dae2644357933f5b6b3ee45105ff72530168c54e4d1af242f879c1365ee36c5887944e3ef41521e31f097e27bba744f9b6ca7d28254e4bd2 - -COUNT=12 -L = 2048 -KI = 5b7e4d18a6fa7c6c1714a71d7c1a1c7fb35d3f7e -IVlen = 160 -IV = 93a6f7f1f7f0b5d2f80fba5aa079eae97d5f6b71 -FixedInputDataByteLen = 51 -FixedInputData = 98b21cb8d03cdfea29842ca07e4b89c514571971a7ac052ae23d5119ce35ea3036ef855acfa7bad4330c6ddb7f07e476fb2df4 -KO = f7e2563c655fb942ae8aa4a0e768984b32569cd24454dba2ea405b33edce5ec72ed5e575a530178209adc5f947421f5cd4f66aac0a74499bdba319cd4c3a0a2af5f0e432c123df31d107e84cf59f3adaaa76da5df205ea23fe3451b5f4727af358cfb6f24975f288b9688c80cf4abb22b055cb087dffc5dda18275c6d5f9a41073681c5495cde8fc9a9067ea1673c15bf8914f3f028aa0630d1dc561d77887ea12f9cf7b30b969fb294b1e142ff036e55b129bb347edab7fee1293234bf5e91edc09201376d3ae7cd303b276a0cb9a0881643ffb3926f2b371d451d90b8cfbe70d6b4aa255451dfbce35fff7dfbcb5301c8d561bdce10997faeea9f2956873a5 - -COUNT=13 -L = 2048 -KI = 274e0744d1372f33c295c2b33bfad6fd2a4fafad -IVlen = 160 -IV = 566b34975d4c99bc06f244e4d10a3048cf2b3801 -FixedInputDataByteLen = 51 -FixedInputData = c5a0bed1dbe0566e5b4c27be2ae9ca853bcc2365a051c16d56c9c5cba2972dc69ce5c9a21fb2d88be6d486939f7b18b0e6138b -KO = 13291ac33d955ae5681a089dd2f2f206f314153f882d4418b0b0be6c6fd8bd71627facf68941a18940e9b2499b9d1343c994ab109551afee21b9d1903b27b956a2d1c4621e6560744a2c9c5721566015f999e325ac14b52c8467d37e86db07c2af1486b74a8885c7e792d942b047c388590106adf0f81e5c429ff44504ddcb57dc4cf6a1e5d4ad1d9f0c9228bbb4290767ad7af2d19df2f1c2aa2cd10bc54f8f7a0adb928e587f3b8f335b45cd15a04a7c9d457751fe2e304c82e39e1a3f1b97e5738490fc7e61e9582f6e05725b6ffdd74b2ef2faff848825be4b145f3d4c6e05bde798f5021e454ee3ddac679ca6cf49644313bc60e8030636b6c7b10b9bb7 - -COUNT=14 -L = 2048 -KI = 0cf307109e4e3ac0a1c16fc99c3a32f049e76175 -IVlen = 160 -IV = f1659aa9183c9e502b8eb1b88417ce6f656c3385 -FixedInputDataByteLen = 51 -FixedInputData = e6968e8ca52b45a13f20199d1343d765bbedc8b4b3aaf15ddf884a5ec272d598d49bda391315fdf12a012a41184393070263ea -KO = 38b41a23ef9c294e911445542712ff67559f752eb47fb8a181e67f6fb1b52622b7f5e9a70451536fa51e8a64b1db6e1b85afebf619325913ca052a26910a4118895087725079703c8f491fa91e33821d731967113aa3c483fb4077cbea85f3d46be44c6f821483ec9dab882786563b0ef150f1c05dfaeada9424d4f67e7327499c4d941db7fa1a965eb9c6d7091a153cb9214ebb2ddf1dbcb5b9d001eee51e6460a2b73a1132589c886fbf7389f174197bcaeafb67b7839b4602998456f46ec41a4e953c6060befdc05285d8a3fc366cb437d31dae76f6310af8284281f4c76e2f2c8693d4d14e2843b43d74400507d6345df91e864bf6baf82a22fc43587d57 - -COUNT=15 -L = 2048 -KI = a087a0b50b02eab6199dc0b45966bc002c85299c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53c0871070f35145c95c525a84ad7687adede86f7a8a2753d7ee2d7db73538c5444227c5ddee5945fbaa6d83c51e30bfa9d415 -KO = d9e7cded370e2311549cfda338102232f1e0cd0467a6969f406ea4506df8374baed30a30b6cc689437d26d67a618bc2f3506370b4d0852e3f053281936005c7b039e434e3bfd9a723494f564960436fe390575a037e57ca48a2ff86efe6159e2563b226a561d5b5e7475edc1b3a6a5791b016859a8d807b647c1f67ffa85da1f68b4d6ef0cd502345780d0f5bf2fa763e4d81934c2821302714aea862d102cce78de235bcfe1361d37a6048ee53fa47a7b54ef897da6d02908804310ab94ab5416ac7986c61c4de7acc376311f12d0fa0ab16c81c110f65725d0634d3959ca2d6a3b30a409369504afceb5b701b7c1ae8c4419a0e3e1e34557d34851aaaa84df - -COUNT=16 -L = 2048 -KI = 0d65e918d6ca936509037faaabbe37c6a687abfb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 960303e5335b92d93a167639e089fd25da1cd67edee5aca06f6a4940ca3df4233f55ac9afe571c9205be7e1d7f72555bc0025c -KO = 2f395d64fc59f2b669764d5d2c55568de33d9724f1f749c237dbf402fed8adb6fa17e294fe00fe04cacc20520b171edc40a503b353c4dd67b918f9ba5f0f07710965f78ee51016e19c19ed317fecf7fe039238590c337563a68042389580b06a1cdea038e2dff43bc19307ccd35065e748b9dd5bea558d3733ad9a68614bfb996f5773331dedffae8882ecb9699bf4f2bd66dde3e84628beddea9e54ccc63b587d9a924b721b6d5d00f044511e0ac00f4310014faea7dbe84d4f95fa676dc4d9180f980586e206b8f06f0bfda4ef5215183e2254284d3592c17c92a6c7fb8ad1d9a04941764b99b9cb51971e4a4e01df51dc75b27d19d8a663fe075cdc4f1f4b - -COUNT=17 -L = 2048 -KI = e1a7a6867219e6b2a64d6a4cec1ba0de9c7010ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae7b9b21ccfc1c4c9ba53fdad0fe15b68851fed4f41d5f955f4b3592a664c4cf54f894f0568068038a883c126198559bc80e06 -KO = e49391b26624d3f9c6c6c0c2ecd61a5be5da24ecc0e70151cd064aca8a7e84401c5441ce9edd6bbaf8ad9bbaf11df5f09fe25e7e8462bb3463b46d81a8fea60af660ceb38830b2f08621327374069df27413fcb76dd0e1f052ce86302bd4863a09049eb812011ca38377e1814f422e68e5afbabeaa1fca7dd517392ec1b3d905744f82f23c7b68c6f4b8d977236861ebd51d38b1c56dd7334ab24dcad2ff089e45ff08f05a5216b6360a94df62ba5647c8fb5eaa1813370760221f7f91db37387a3a80812bb724d15559f87d5425234a75907bc28449a61de793e0c5ca2de0eea46e1a050a98b44a7cf3ebfa9513c2ccadc25898701622937bdc2c9b93e5f61b - -COUNT=18 -L = 2048 -KI = 6ab04e55c0578e90915dad8bade970789b8ade41 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f55587d277be67aae631fa21f3103272b05ce7b85a76ee5cf7c9d7b8065d73edb6b36c88a53c187e6a4db889afbfed69d18971 -KO = 798b62fcfa4d927a9eaabb9dc52403b7362a0c7a2c191443b44752f62956de1caa41c94010b1775de23b8565e7987ebf82b5b91a0db0ef1407fa104dad3a8ee95f4a4d0cddfadfb8725c6c1c427a3aa0cc9b15405c1cff5ef845b86fe5bb99dca2196b64a8ee0215fe9ebf40af12a49e598595d58a1e9e33378943af75adef0b3abd767fd119882aa7dedff09aa3e7fe7dffaeae2bb470b00c176fd883b2e9daf09744071b11b46c9572210e7ac61d6b91dd5acf0fc247723d5b6b4c80a8824080c06eae6e3c2e51d24bd37ad5ee1bcd6320958104dd5287c623df726cc95f002cfb470aeee58d952a874b5eae746b1e1c17c5321159b372f25de7baa9b61b71 - -COUNT=19 -L = 2048 -KI = f2e3adcf0e63f056d10f5eb68e9871bae1b421fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 461e81baf98953ce344c17b63360c35363a72980b3a3629e950e7c10eea33e7898782a141890d46e2a034163d4cc9f16cfc963 -KO = 4c6de85303fc569cd191e98d1a82c21db19636a844b57a9c1321483bab4cb1c4efa702d54cbffcfbec3a1b2a3153b6413e7626f73d4731d700e0b2d40c3ddc9d3d44d68983ff1dcbc7476dc0bd4302b645ff0907d9b4052b460011602f588ee63db74f8b076c47679805785cbe25dea0c7f7aa55dee7e9d69a0f88a3c52ac77483999c229571213e2c477aa43e7d64d9f13c6bb4e753bca20d8118d154cd04b10cb5715cdb339d8bd2579f4978567c0401b1fd67297d43fd229669c858cd32a217ba72b351c45f81db8b27980e67653e15fdbd5943f76fdb5a16729ac35d5c75db902002b7bbc01020ff8da79a68d67e679809ab162deebc6fa70e1f07e94dc9 - -COUNT=20 -L = 560 -KI = 2e5683fe69affd47f2ff193567227f7e62242333 -IVlen = 160 -IV = 2716e5ba9c66f195c17a763f5381250a31605b2b -FixedInputDataByteLen = 51 -FixedInputData = d7daa89324375fcfe9864733227e5d5dcd7dc3efcb8378b0cce1415547a652d376e44e89cd5edd318d2ee9999676301118c5b4 -KO = 7f7537d27a56a927fa7e5f152ee3b097d727d297b262f23962a2ef57118f3e6ae33b48995169e8aff3e72600468866fa9d3f7f128ebd99f39c668630cc9e39209836127ef7cf - -COUNT=21 -L = 560 -KI = 328d29271da770ede5974aff0cd5810ad46c44d4 -IVlen = 160 -IV = 22b32a1b439697143c032c5d6da8921b7dea6f5d -FixedInputDataByteLen = 51 -FixedInputData = 0b8343ae81374580c3105e5f56b8616b0d2088974c4ec2d75d0cfd086a67c42cdd92be9527bf2b0fd197144cfdd95beb9afb1b -KO = 406303007c6d5173354312e5110f114ce42ca4139da7d1797f4c53849383340d1a88d0525f31689cfcb9f86b01ad0512d3a5ea675230dc81bd277595929980d03ed414581d85 - -COUNT=22 -L = 560 -KI = ed28467458c7bc6406e2471b3ffca13e753077b7 -IVlen = 160 -IV = aa4e7550b378ce1316a844954f695ed6d3216302 -FixedInputDataByteLen = 51 -FixedInputData = a270eb426e8e222cc9971606a1e3a4edafa3a5a19a8afd2e7aeb07c4b1d32db584fecdddf2aa26fa6c55d800356ed8c58d2eaf -KO = 592a063bccdb5f983240596d4802e343dc98637e1d8f9d6dae90dbaf1cdc90cb020800591a60ec846dd89f0c6544791baa6b9640f88378f504b8a753fe9dc737610cb0cc522e - -COUNT=23 -L = 560 -KI = c4b1621ab788f480d19f754b1252293db621e5dd -IVlen = 160 -IV = a333dac98f10035fec6c7969f19b70d44da643f6 -FixedInputDataByteLen = 51 -FixedInputData = 79916962b6b279875daa06790fd63b3c852d0cbe59abc3a15dde0b90c64699454390ab7aa9e7e1db55980bae48c46ba92924b2 -KO = cd27ce1e83404b3ca3cbe361f701ac1263067e0451776b4519c18407a7911794538fe9000d4e56671db57f763a9123e1e4a6c15f201cfed50f0007eab876b32849e0b95d7451 - -COUNT=24 -L = 560 -KI = fb95847241fe6f62cd6641188ee6d27c7cd9846c -IVlen = 160 -IV = 6460384f7ccdaaf35363b1c9e8a80e6d56ad0a0d -FixedInputDataByteLen = 51 -FixedInputData = acd028c1f7e9efde9e30b82059cd6be969cbb3637bb9e35a5b60c5ae657cd679bb0f445f1d7a7171a7879ddb11de51ce0c3087 -KO = b80c4dfe98e3f9c3ffab61b2d0860f20734f3431b69d51757fbdf717c40ce52821457b2a2200829379935f6304d0d0effe679825e3064691adc07ac444ae2e21d1648be3da1c - -COUNT=25 -L = 560 -KI = 733ee4b56661567c35f1de9092fdf7abfa0d1ec8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45ebdbc71b45a4b1760eb06cec63ab91cdd929fb9f4573ffda27867e3a2d5d8199f3cfa68789a50d37939ab5008c62553491ae -KO = f7e567ee1f3c025e75ed2a11f7febe3e926c4245230cf363db139c659f913416f44b9366a43bafe3e5a106004e8aa3d52de31b3e24116393a078f438979425099ac33d4e13bd - -COUNT=26 -L = 560 -KI = a9c2d7831d076207ff3cc60610ac0b1d57d5cefe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb6ad25ab6c899cc3adf53e3d6e240753c53e32383e23776dcbd4ec39d3075ee88c902a6e841ded358cf2ce62153559085dc61 -KO = d1fbc88fe28780db3cbd39e64aeebfd41a6ee330ecd357602e0c61fb8df71d443cdb3cdc94b55788bb8da3e3fa07b82912fccfa3d9926cc66c518239bf4fb6b9a72fb7053b95 - -COUNT=27 -L = 560 -KI = 75c34ffc1effd4707135dc6782df6cd719a092bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f84e4e1494b526a076e59e1d8ab45420bd07cd62d51d49e8c387b738281354f5a27413166d629d2a52a39bdb46d679355959aa -KO = a57028366d3e1b23d5a573b4e82a2e9257548a376af4217a1b8e44603192f418f32dff4e87b709570f8f38714c5396cae298f6f3f364dd315342f8e306d42ae64a9705953a83 - -COUNT=28 -L = 560 -KI = f2d5e661b9a2ca1997c610f528e2c2aef85fbf60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd93279bf5fcddf947bea132bae07fdc1d68f3ea0b6e04da6a31b747ed9d8a9a1ff018021009622c49c7ad0cffb69e1b718901 -KO = d771bf6c580acb81ab4e78928eaa12f59a8b977431fdb23534bd3f41c9381d4311378196f66c2cf280448fceb069b6baef3d5a6a0508866a25fd236883f8de96350a7ec28cf9 - -COUNT=29 -L = 560 -KI = 9875afba45cfe0c080286e351f5589bae8b4aaaa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dda47fd3cf2c9f6b9ea16db754cdb3feba25486b1301919ad6d4d2e7d841b359da0c84a443c05400ad8d3a994f5f05090ac6d2 -KO = 816425662f5ca95a602ce519c4c08c93e3dc153550f49bc0f13ab7e1a541923a83683dc9a5d7e046a3b768dda7fd9201fa87fe465fc7aea9caa84c07665a760bc8d8ae7dc649 - -COUNT=30 -L = 2400 -KI = 4f4d72bea3ea3e8de60cf98825a06a90c09dc8ed -IVlen = 160 -IV = f61149c92fd636b3e0fc95ac94e1c29674b89498 -FixedInputDataByteLen = 51 -FixedInputData = 1ce0ab8526f03adc3dffa4fa2eb51c7b31a26cb228d8d9f72ef40b3c9606134e3407f874d7b45abdf53e23f96b3e13f99eb399 -KO = 2474302d7f84aa72a1cb82efe2f75108a644534720887cb6adffe25a630c8bdecb3f9cfd4c9d85d0e0c5c5794e64865702e1a08b7995f87a2dc43a8c46a24a2d17047f8e44de6730ee08c77ccc23611c0fb92f409b45d6205dce77ac00ef192ca88e20aa2e2d0594f2ae423a123de963041b12d1f04d82b55d2312f12a83b206bc61a41736ec44465e3af599f44545fe530436979d24b3fda3ffd4b658e9954b6580dda810166507cd26a286b0eaf4263bb87527779d4fc08cdd01c26ecaefe6ecf89028ed9229f47233b7615cb248e4ea5b5d3f84923af9f428be65fbb1b2068f859bedb84d169b4c4702a236143ec8a4802a12101ef5a57b5da4a57a22197a232ffb6d0b7a950840409261f4655bc2c57f05e5e1aedc40d178f59234723477309ceb9457b2a7616adbf386 - -COUNT=31 -L = 2400 -KI = e49fd031e37281abd369ecefc7cfe0493d7b688e -IVlen = 160 -IV = b56d44659174d3b339f659a110256dfa9400e523 -FixedInputDataByteLen = 51 -FixedInputData = 5e8d9e179c396762b7d8c57a86aa408ff207b986350e2d10a8a795b88851e78e68b3d90e58481ab77f4555a5c91b410f4a3c11 -KO = 81e43c958ab8d388bb2ded04409b727fcfbff0c1b50dc92bc543e6b73fef4227d12731a61025c22bbe3659d6607e593580f7667cd695b055dfe1efd21d0f7b1ee3bc63b708da508617c6cf26f02e84ee1b98b7f6afa7be9a09eedfc286aaaa771f06273548afe652e0f70d3b4ffbbcdca66fe7814fca3537d8fc7fa1aeed0d61b735582001a9c19dd7df48365ca356e00021b3699bcd8413f9f43836d6b7921c0109ec75aa043e595dd04667f7f6b65cfd97f62baa3474b47d87e344ce4723a406e9b1747ad87b58b8db63073d9edd78cb69de7b1bb8a5e32aebdda8d5538a84519b261fa0114fb11a1bba64c7dca0414cf3be57572df8f3566e10ee921c5d05a197237aeadb8672a8838c0446d382c8582b2e2c41cf4a32ed2d2801e14a63cbc580c3371a14276930f65c82 - -COUNT=32 -L = 2400 -KI = dd6c0ad6027dcdd24612b348ae7e0e203ae04335 -IVlen = 160 -IV = ab31a6f491ab3d8410a003e4e434d28268af539f -FixedInputDataByteLen = 51 -FixedInputData = aa780d44976e58cf0fe17985cebfddcd7cdb3611acfcc94c71bbefe1826a97f5fb447f548de7b93d13be3de339c08a6dcadd6b -KO = bd3b31983f3024aed2d68d088a1f341162747b7b649dd15eaa866681ec6ff48b8ec0ab512ede26ba8539bf0ab1119a1bd5a0264077f71de2b07c3676a5feb5ca10f19a5ea48c1b8b05aea5b1d6789b7b7abf2c4ec8af11ee65b2cafb0e5a92eea0bd5f0e2245e5f714233fb260e5edac285fb1c0b59ba0a176b532f15bb509985c03d2965141eff0231b2bc9e5b6e7731e0f85ef3069b1448ecb86e1e4a392a8a3e53b125166d9c8b035d9272663738f1ed6fcb7501a8b60eca20a703bb0f095eba2ea591bb6de57b740548a6b6352ee4c3267d05b400bb030afde55fc112ae324e8195bd46baa1132538b1d4bb5db9d8d079abeaf0c2ac200446feec477d61333e4db62c578bcf5c8b82d40960e533b18d4f51245cd1f3b996db2bcaf96f8842c34d88cba7fd00fcc8377a1 - -COUNT=33 -L = 2400 -KI = dc3893c604d151a36eb159c87f439d5cf1a56c9f -IVlen = 160 -IV = 4b697f636f43607c965bc80874ab550eafc7e3e2 -FixedInputDataByteLen = 51 -FixedInputData = 42b3f8b5d25f8377e2ff48bef9fd5febc4609d690aa4d4f50dcd69aa7145f848d340bb46cd92348cbac3a53065c59a627a3e4d -KO = 29a76412d6aec2ddf301ffcbef21b28c2be0f91828cc49efac5596d380e747c0c32beb36417a766b5e1c13acd825fa11fd7e1b355d7e530a53aaed45e58b0f93f8efe681ee218fd9ad460116dc7c57b1ef810c6c32b3da74ff0e683c36329ae95a2d9a88fe874d4e7c97126ff0ece211841d455f1975835bdaad334fb3d71d4f728fa93b512b55d7f7f83da4b2c17029215a2f08caedfa56f5c680c280f2d071731b22da1160adbdcc3e430ced72b4023583bdf43e93ea57516cca1f5354b547592830e687b50b09e1eee277a76e1e089f046bc10753f8cd230279bf28b0723230c65c0c3bcaac4b0f9d40152c1be78750cbe747bc81597ed245f0d874c5de42a46c0f18b7b4cd867fe01f819de335798d9f3ee9a510987b15c0191fb4e3fb194555413cd326e8e5a15bc4a5 - -COUNT=34 -L = 2400 -KI = 6b79d81a0297d4e36833238846ceb8f8e8d1a3b6 -IVlen = 160 -IV = 1ae055cc1b4b544bbf883902b64adcdec6065816 -FixedInputDataByteLen = 51 -FixedInputData = 57e0a9957ec9506f58e7fe8d81ef1d88da8ffa25d22e6afb0e853821a024378491f14ee5aae534bd07d450be023f62172f127a -KO = 65a1ecb0219b89dc319594bdb5eb113d38c3cc9f39232c8fd4de62120223f754549be949536e8ff72a21aa8b6d8e6438716caf281a44cb9db7221f3ba5cfd6c0bb6a729dd28c0603aa5d4bbb132a5d9fd04ad1f51c07731686c52078866cc9caccabc8bee2cf866088354db5809d104f43cab67ad44acdbbe874e34ffbee2084c5c1053264ef9201747bcbe82bcc6318c09733006bd0abe9a7d24aee7b32fd373fa563416a86ed30f5f97a463abe56409888f79500224121b8782c76f5cd86218662bfd34ecd8eb9780d029e55caa02444bfb4e1f724327175d946a90a8475223c0dc7496a32b7ca3714bca002a0dd04905e228e61f9aeb98b21ca2b128571b2bf179da105b552bf481a4f91dba436f3d674371cda97343786046cd1f00535d9ad568bb7895f51d8aa10fcd6 - -COUNT=35 -L = 2400 -KI = 86adf04d47ebd665eef06ee93baacd710065b430 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0dc27c85d6ff2ba0720826c7f15214cff6a5bd1536056791cb15d1aa8686bbfef3d60e238c6b663df68f373cf9b5e08ad2237f -KO = 21f5bec3d9b35a55769ffff165da0deb9e4f5821e63eb5dda3b7778872a57a1a52a4be9fe8b019f113c4139404f582a869d5a417d89d7c2f54869c1fc9c066cff3b4ea034b7ce2af02bdd153673d05fe949b3dbb50553a0dbacb51a1ca35578f35653be6f432e0a17ad73d68214f0443cc9414b6c753da883ca332bf95fafe07b473eeca0fb984a0118ba70d83d684e33d8b8ba033f390b8fce5a4355d16202f39248b2cb9ca3a48f66ac03ce7d0b030be32d53411c541d6e2056efa25a17e7d44efd719893e486a2246ad57196bc3ae359f41fa0fc8a2562590f90b1fe9d45ffa7a6e2401e2605bfe010d4e29fe3f4b1aefb128f5609874f6cc83a100ce4d5345595f701084bff5451e3d93da41fdaabacd58cade6148215954908cb6ca8b089f8f3d019fac82cd6f8a86f6 - -COUNT=36 -L = 2400 -KI = f22a4b0778cc17e6c1a6af8165234664fb1d1e3f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fcad0fbe2f82894dff96d2b4a564c8cb6a91e2ab08710e08639227c00366eba261b3a461a2cbf009a44b07be563a5b2782074b -KO = 5b6aac95c810a8e5ee254263a1d655911d092b3fb79a762171ab3781962962e7d2245cd966eaa67babbbcfc75ae491b78b2ebf3504315c2c35a2cbb7897c7f2126069768fd978a6875f7857e56b30956b259832e0dbcae8ca136c443616038d1f6163b1875da98c7b988b58193f5b7e37d77fc160afead3922158adc2af7bfdea1518f52e6a69cddd445c5c8834c0f6e85eb8d78e8d50b7db948fc5181ba17c798c7daaae023eea9599a7b3d6d77cad21e60ab24b1d47c0896f4e04355a87607e6eec6e02597561d152bbe83be3f14a1254e63859873ca150ebe2164a60be50b84b25470c86b77cb436851696dfca6b77fb74792b7312d1da244935c94cb968f43f1b832127d5dca79f102a13b4853b516f578844875e8f33c2d4c71c9f4c973c009fc0ad1431d03df45c39c - -COUNT=37 -L = 2400 -KI = b843b8d2caa6b7dfe6915867f648ef5954bb0546 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a57620e9d53ecef6abbf2d12dc955be1ad9889683a8191a9ac95edd09ba799e91c75b7262d88169214d2e1a72dc2bc97ea90dd -KO = bc995798737d0615477a07d58007955628355d631ccefdf28e5f0220cf8f8f60cfd4475d0f71b7843b86282f78663d0336a12cba160a4020dc20a26a3ae36e21fedc12a52205aec80e681247f4f0b40a6ca909021d8302c3c1c769e07e59a7ac5972cef6e165b84d48e144b4770e33b41c61b6ed3d508dd9432fa5cd7439e43e5566061085baa12e6bc19543e8279c59e7577a5b428643355d3659d06810978d095e012f4ffbb34e0669247a490625b3ef0ebef84d4984dc23b709ec496ea6c4798b1c14013d9f7c2b75497876567880daa154a40e4d6f7e8094d4c6d006c153d0fb4e6cb28344363f86fd0300487386b2cadf0dc4706a7e7292b904774a901b255d29c5f707ab6e9cb2b6eae4dfae8b6f97fdf61de7803f1a22290a83bdc876b0889880b61f14006238ac2d - -COUNT=38 -L = 2400 -KI = c12584c9f38d46e4b7a9f8e696dfc3f9be0f7ca1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8cd6a940fd18b3dc8aa7493a455d476a0c56300587e891b9763b4b9b51a62c543fb666ebd8d15eebba3c7bc963de17e6e417e -KO = c5a77414e9dd57e7605f80d9fdf42dd556f4ba4bdd8890a63417eebb3b549619c7d27a4646076dc7614b0173c5a70b0f55d0282a19940f9182d9d13d4c8f785d3e032ca129436e0f315ca71f39a726bad6107cd4c89037e994be132c9becae0918d58466409c0a92600511807eea31e66e3b809aec129b179d45366bafc310175e87d1e7281cfa25d28fd0b91ad21810dfa6c0cf643e7fdc48330161410b8860861715fa5b18d77e668619524b47f7ff881b67928e8ac924c819696286c059526f7c72638deb8735e9b9e8dd713915ae0a295f9925895da04d452cc5c3c484e60086a1088409b19890c0ca32121d861d947b121cdc251f0276314a885336bd066fc289f224bf83701c9804b76f70de0a49d8ec8e27df0cc9090473eb0142f2770ccc4c7fe7f689509a96d405 - -COUNT=39 -L = 2400 -KI = 49cc64d7920308631d66d7cb95221c7e1d5c442d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05bb0d0a0100c41daea100d078cb48e180c63e300b8f6b75fd8643e3b0e90f1dad0dfc9588fa75c299880a96135b9241005ac8 -KO = 51aa31ae9cc72c7ff4e6ba0f146ff1f40822966775a5d6823fbbcc46f0e639e6d816ab1f45a0ccb02d5b9a41f6b4983e99541d7694fe069f6fa8a31d83e230562696162e667045622486f3ba79280995ab31a1ca78a632e028f83e7d4781a9ec979086da139a4acae13bbabae1ef03c51b720260e3380f77905178997df08825a046df9a91dcf0a1b83c1e4a2b0c4c71a2cff18ee8295c34e076b66affa082996d1137ee004e5f3d839bfa1ab2267ac0589199db6637656852ab36bc2a979e4a90885b351cab76337a2bcb49fdd4a5bfaaf809c90179bdf65cce1671588fc05aa7bf108c48a25e7ba3a8a324c08006fea17583ee64e5bf9f9743cac60a48ff6e38a9fc03c185a35709fa78efd558c34ef450ce28ef239cfa37404854a0669e94e8432824c2f692fdc3bf71cd - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = db7c02e8b7873538779355c8e8c372c5542e41af -IVlen = 160 -IV = aef0a9608c8324a9835313d5dfd5a867fc0f1285 -FixedInputDataByteLen = 51 -FixedInputData = 85b9139bdad469846cb3a61920a5e91281cee6ba9e0169d66f7649aee9457ebab4cd7dd54377599f22ffaeca914d4aec15b3d8 -KO = 43c28bce9a92e463da075be758af4e879dd2f6b3800de0fafc724cabca5ef514e4e74b303b5458cddc56c58adafeca3e345bd18c448a029d7abf6a64575234de - -COUNT=1 -L = 512 -KI = 1f333e121e793fdb7afae932715b11b3f6c77461 -IVlen = 160 -IV = 0023566ebd18cc89994404acd37d68dfacde3ddb -FixedInputDataByteLen = 51 -FixedInputData = 7032a21afb1ec66a6a4290f035cfb0273831c7bd91b03876cb15adfbc1ccc787dace3ef999e4394c25e95e0bfbd4dcae541131 -KO = 737a98ef72fe18b9db2f328e0ed7f7c5557c4a2a8199d40579c2740d9bc52e5aa4307181e9d85218136735f66bda30bebf09d5a2dc59d2431ab001701e5f66ed - -COUNT=2 -L = 512 -KI = 6526c89cbdb29ea94ea87d1feffcf71ff3285f71 -IVlen = 160 -IV = a2cd04b18c37106666f41c6a9a932517043083b6 -FixedInputDataByteLen = 51 -FixedInputData = 568b58702f739e2bd38534c4c403599103b9191d72f0c5d5968233f706594968e03ec255c731eebf062160e1e5cc30000ac834 -KO = 906dfc12d66685d47b046f5464362fe7c74db575c6cef27a2f25b54f2caf37d3d91fdde704d558bcf4fd9e1a76a1c31d4e368290f330a73edb05e0ac2aac76f7 - -COUNT=3 -L = 512 -KI = e301007ceb3fa40b41461926eb992e69873ab044 -IVlen = 160 -IV = a468591998f4bcb003ca55cae703ffb1b3c9557c -FixedInputDataByteLen = 51 -FixedInputData = 0f7d9ab76d125f5a99091b1fe58210162ccfc5b004c980cc8805deb09283754d7b202a87eccb35c3a6d7746bf2586b2cfdc89c -KO = e2b60990fe692d0175d8927a5014dc926ae3f8f0beddb566d284d375ba60408f3857d52631ea5003b0d6964a237b322f4dd57349111ce7f0966bb843fd10a54c - -COUNT=4 -L = 512 -KI = ade625b89d6e658754bed7df5b67c5d5299d82a5 -IVlen = 160 -IV = 1c70f955f60988065ba1ce7d5f282da1d424e4af -FixedInputDataByteLen = 51 -FixedInputData = 566dd6c816e6422235fc59fa12866fec1b8e471effefe8a8a2d91979055daeee3de2f6231fdaf9aba41e3657a841af988b3ece -KO = dea5319002653388b2533d67dd5337a89b962f2099399d1e0bd6779ca04339163db5515f82a186cb01f7ddd319e3ea0149c641dd9cb05ecb5b636069de9720a9 - -COUNT=5 -L = 512 -KI = 7d118aa6fea7e7ccdc4defda1a9e2cffb79813dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e107eaf2075a7269c0e5858428d0e18fe69df4cf6ae5ab9bc06f5d21358574ead8811b724910494bf052dd99c1579d18978cc -KO = e8ec9278e95eb854d2b13d0fdec5ff450add6f10ef025f6cf79a871fb8224e9b158b742e1578da111defddaf7c89215ad767854933e5fe0f37d9b1b84f73361f - -COUNT=6 -L = 512 -KI = b6058666457bad9f667faec17373d86e51041cb7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ae9cb1128a5b3607faa89c8af2c060f9853cc90a32d722d0f3170c450e923b57147213092c440dc096b1473f01d1881abaf0e -KO = 9875e20c86d445a64245e938589041aa988e58de69808554ce0759bca4956f11554e9be136a76d40ec50c780f677a9357ae4e99f394243b8f18a4a7d4844c62f - -COUNT=7 -L = 512 -KI = e3bebc5ef2af391a7e176f574fbbb4b6b7bd8a04 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10ef983f47ddc84d4bc61c37b46935e341049129a0871163220f9c4f858bbeb19c4e39a54c1df452a75666bbdcbc34cce97178 -KO = 0ee4deeca8b313ae0e03babdc3dfbbf982faa7824c556af2f145f42e63d798d24e70a768f4b791112b7f6cb711e2d7edf6d1a434acf6aefe5d4d99a89e389e71 - -COUNT=8 -L = 512 -KI = 8f485579ab6fefbbff3962eaed88bab2d343abdb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 377f4e40632ce892f0e7c43c33c27f488168671233700f7dcfe44f67adbd50348e3c75170a8647c5ecb044b69da6bc29a5b50d -KO = be412bfe7d62c8b972c3f413477f691e377b8154c8dc5a66ea257fdc311d4dfc7ed7acbd2a2d8805946d08afa722b7b79cea87535a9176064ec7b0cd2792e9c0 - -COUNT=9 -L = 512 -KI = 00f915da72397196a0de0b460cc52e4ce9749275 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9e757a349459d4266b8838f7f24c0bb6d693dada9a4eebe74319716ba1f56c3b314ac3f66a290810605501c1aaeca2a71f4800 -KO = b3291df495e642174babd078664239831b33d9ad39300e9429e9b47c99eba32b8b75588f54130140f9c3f0a2df1441dc5ef54ef91dd8101fb8b7a542e3d96a88 - -COUNT=10 -L = 2048 -KI = 0a58deaebdc00d420cb0451c7a7fc968a1e31648 -IVlen = 160 -IV = 22c08a5111c70520bed827615438a8fb0b667033 -FixedInputDataByteLen = 51 -FixedInputData = 560ba2536e30b0ab6d0c218ecd683b13a179a3c8b151495d6aef1288607e663c5029ad73dad09ea662465e696924778377aaa2 -KO = 29f1777c12f89a0a89cd1f1fdfe627b4e4dabc93787f119e13f512e585d3460cb167ace38eb946bc9e7e6424912899ca9a8d6f45c0981ac9d05559339a1f8e87d1307635378389e9b78f928e2b2fe6ec39c8906f619790a11f57b54e7f4ff0238f27a1cbd455a47955fbb7fcde97294439b36e4def3adfe1dcd7ee23f6493ddb1d10a84a27e36b041d7890ab3460ca27d2b686a1bd90f2ba491cb421e636c650051cd822d9926c8d1c803c06216777553c98e81cf79ff5411dc3910edf5025bbd8d5016e46bb7026d782528dbd69888aa0d5cc491ab9fc00422a93c5d0850f95e361a3b9ec83877e8207ee56feea0b85b41b4f2911f77833569f0511a6b54d3a - -COUNT=11 -L = 2048 -KI = 08e4d894f21abd0107af823a0cf80bd7edbc5bcb -IVlen = 160 -IV = 7b10ac66a939e3467d28c7e9d865ff178dec1889 -FixedInputDataByteLen = 51 -FixedInputData = ded70aabcb14231bb068910f528bff33ca8a626712c103cea1772dc08ba8a3d0c3876d13b4f388175bc94b6c542a6c5160d51c -KO = 129434c8b1127fae9b29a226e1c6739b2840834cf025b5788e7e56125d2bf009982674c42a700863afb91aefdd6815b27642eefa1bebd0ca2ec6dc6da9fa1424ca13d6a73b0d419be95c3c67c7dfd9de06777dd2afd6ca63748a047cdd7755ef937f43289957995d4b6df5eecc8534a51e7b581970dbeac1713f06ceebe7231e9049bc6a3abc9ac1a479906c8cd301f5791a6182ec4f39adef26d3a1b4b1c5a8e882d8683c554e1dc4f7becf2f42720f14ea2490c7491f7ed9a7dd1a107188d94a2c5aef97377f11f964707ea0eddaf917f0c6ed0b735f4c99cc9f594f2f7054f50dcc96ebd79a39c109ed23098cfd11b5d8190668720115bfb403d5c05ee3f8 - -COUNT=12 -L = 2048 -KI = ca982572ad08cdca61fd07f2ab661722fa589621 -IVlen = 160 -IV = 51deb8a4b314e42e8aab972cc0aa884702de4fa3 -FixedInputDataByteLen = 51 -FixedInputData = ef14e16ab4eb4ec809d0469510efc81560e2d223fd67f4ab6fede6b9b8d46380672d04b7ca1c7c7150db6f7f1ad330174734a1 -KO = e2b5d5de5b4c07f24317edfb954bbd5fa67db11696ca577c210cafae079b969eff3cd5e6f53978b10e0ed0dfd196f63004535227d11350ef50101a1661f13d3334bee9e1d800a248881697a671afd0d9ab7e364e7f911bd2a15bfcf11177db7f17764b2390903eac290a23cb80cbd50dfca5ab62ede816020b1075ed3143ceec3208f05b9c88fc75e58bf1e84cc7a3993c11ddf091ba7a9e8c4860a22f0dbd4a858ccfd99b2dfa695ff89ef0d8efde31b2ef8266fb45f324ea3bbf0254081ca60b7d385faba09759de0dbb00d53ef5ec9c298d593283d9795e8d2e674899fa8100f0fecf60a3e2d6cbcb68e1080c1162bbf1798ea18bd9501a2448516e5b3679 - -COUNT=13 -L = 2048 -KI = c63e70a1432c421ceba9f397ff4256b6e865c67f -IVlen = 160 -IV = 897f601e30f15a67a09d5f8fa1e418d750999cee -FixedInputDataByteLen = 51 -FixedInputData = 28ef05065255dd9acc778d08c4bc4fccb39767054697b44363b6fe8dbe2aeff91ad183150d059642839f4d09bfa867117a5e8d -KO = 9e1f681f89fc1b8ac73ca24fb36693c2296ac004f10d1ddf28c25b927df38faeb0ce48fca8de376db5ad436d9304c391d7fe49f4789f3ff813f631eb117373ff6f0025de86ed402164113368d1bc511bd968bfd0c0dff387e46d3df9c706e3f2d2896484651993d9f189d785ba88b8286f15309c0ad2d24116a3f873690ddf954f923e627aa4d2d2d844cbe9cdf09977478b0685b86dea0715da14a40fd3020625bc5a5dddb2f079016cb5ffd6fd647d4eeed9776475779a7d5830828f1b43aba10be14d8f9f9cbe1a33ea4f35de15c5fd5d063c1443fc9f512a0fa1e723fff8867b32a745eb7a0425b290dd261c81caa919f265b6730d70c9f684f5962e58ef - -COUNT=14 -L = 2048 -KI = d5732e3f2e34afdf703f84f28e040a817121914e -IVlen = 160 -IV = 124c2d5b12ef9fb1f5b0df81304b03f1b3e66044 -FixedInputDataByteLen = 51 -FixedInputData = f8c2e4ba0b4670bb2c026d81f1bbeae2f09952166cc3ddffe63d8d3f67cb5fb32be37dbdee644538d82eb0ae9ed4f487634783 -KO = 7878753d73e1e33a1079d23914031e335bbca7a71287e0746c00f710b019207fd5dbdcf35159ce50d585393dd4449d294282c17c625cf6ebbe4d83b193ab3b24e9816879209a639722946a32d126a0bd9f181ce4fb0bf843127c5ccba5f6c2e5bb5d652c435b69db7fb7858d5efbaa40a9cf2bd6630bca30cc102c0b2712bb0eea4fbb0dd80c6fda3f7697fdfb9816b3bcf0805bbef3e30d7eebb0d54350c26765d77961cbd99199f5912c4ec5a0196aa2c12d2ecb41d7b203d6b5d9700cf0c57be196b71db4737c7fdb98485533a431025b49eefa7857fae57d5cb3f155d96068494f792f0b63183bcbe810be0e2eb72501f4434088ad78f4f2037e5afe39fc - -COUNT=15 -L = 2048 -KI = 0af47d8d3d3bd6cb9414d071b9ba3698e9448ece -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b0ec4da2504939f8336b7c6e5cacade714d401b41131345cb601f105ff1d025ff7e9885ee0d4d489ca3dfbd6f3081d8180e43c -KO = 6f622f10601762eee1d65d7fc71f8706db0dd89f3bcca94afda6e598fa21b3f85fd73d5433f8f9a6e768619c80ae2a612206e9cdb2a673eadb3a420d6eb275195609386c80e07f89605dc9099391a5433f72f361d72c10a2e682ccf03748c34a7c02337507ff68ebe0de088c39844c4d7170173ca8ba84f04ed927a95fa863fe0e8f6f7950ed919298aff37bb8f0011781f4b19f255203efe7dab0715f640685511603ae4244c0d857d918dd5b4bf1164a78d2f0f9860fc50b7e0fadf6d0005ef99be01f2ecf4ba9b07c61011296298da9468aa2213e51fff495d3d57bdf00936d302ef8230e3093823c4fce08bbc365776e2a6658cb694d8bb34648f24b5d66 - -COUNT=16 -L = 2048 -KI = aa09d0448791527841b298dd0603795a1c267f8f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b306a4196623665cf9f9a4ca7448cea5ae152d5cc83e44f60563a69593a40686fae184770d9cf0ee357cdfaf1a8090e9ea8cd -KO = cdf32ed0ada22f197fd32923466d70020291cb3c5f5130eeb4ba3c27a234f5c4969743256b2a20545286229c331ff3cf8e9fcf5258932f56aeca53a066eaac38fc99654be79812a7544cc500b0bbb04b107ae23032006b397795108f8dd3f351d18ddd9bbbd45349596fdb83a426931bb33ed2cde0898082c918b8c761939b8410059c94a3e1c61f5613aea5bce44be56aeee76d5408d51676d48164c53e2020d68b01694531b08d4790717cddefb698cec0af05d498fc7f56a4eefdb159513c1c4f72133ea77299f72157126a4ee50c0ec48ec19a8e5e278b0afcade72f29439f8d2666b518347319f5b3104eb91de6e30d8bb643afe3d3b2292a25bef85edd - -COUNT=17 -L = 2048 -KI = 90b35825ad03ef6147d4a224f0d67e84133073d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 69422838a81a6621211c040c1ad800bfefdc0ca8c5353390386300d62ac9a43eaac02ce3480379fc92251b73389e85ec2d7cea -KO = d93a12208ea078a5d72e28dd81c5cc3b785d03469b7e96ce7f125731b9d3b6ac3f6c864e6252c65909e5a0c089865544da12e1fbf07828b2f9c94fe1e87081572f261e7cf6323fe8fb3a4702d758b6a35abd1dbcc7d0e1aa419776e619c535f30cec8348991a7ec6ff92e0f3fa25b7009b81025f04d94df41f2810f344a1d42faff90b38f5f269cf0149f60f699027d92e4d039dd01bf86c81a87ac583f49e508ab36411a15b63c48ab10a0fa03eafc371cc76a2e7eb1508e2dbbd002fd645b45d46b94e230c39961052123728d1316d1a4a9c878c69dc3ab43a8760c774f578a0ad915e031e3744972a3efc0150758fc960610d9d14179e4454f0445f7810e3 - -COUNT=18 -L = 2048 -KI = 370dea497ccc06220bc4e595a7b712ecd7141b51 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f879e8aa54610cda097dfb70ec7a037b02c9d6abee4830fb90535bfc1e71c1c375ab98ae82e3c612565d4c03f913751dc39b32 -KO = 5bfdb7db6e3732723f5107d1f36f5d613c2973f123fb17744c41394e5a36a17d1942b9832b38d3e19be072a4c4db9a58ce65674c226e349d7fb1ca37d8a02585276ab0e16bb835eff4c0a492b600264dc0a60a30f0af633422674d459a64a999a8309341c2d720fd4b82e46eec8c44b65abbc4891679e242e38336db8793f113ebd573595c4e2592ee1ebe40b133b6140916265711b3eb7b598ebea5032efc91c28e9de0acaefeee1f61bfeefdfa9074784ffe43226da1b7d8b0a5e04044fafeafec508ffebabefd7a1255296df22f1c76d2469ea0b6b03adecbf6afb9cb179d58138fa68308099aa3f00abe5cfac0587a78820e6be0f11ec30273c748da47cf - -COUNT=19 -L = 2048 -KI = ba9b35bb5f8f7b6c6dc93ebaf92f60faa25f840b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7f3d98951598939419d0728dcd892b8b344e0feb2b6245d831f6c788971536bc6555c4681311b1793ba4cbf3914794fff18034 -KO = add5219ee230d670675f29b11b14342dde35158609dfc4d0ec5001961ce932b21b7d35cb3d47c9bb03eb6ae1c3ece26285133bb7ffa173a6085f4dcff4b36ef4e73be441b63f683f8af105d865dfe7175c810f392c7ecead66c0d05ba34f879220b24712fb8c2d839b11cfde7ae18a3d272bd05b7d59cf280a3cd747115c0564cb69ee49bb5524dbab78e5106838ec196690da21b8e3e1bbbd04f381ccca739f65dd529e56c70b60763cceea05bc22078295ba91d76810ecccf1f8b9f62a26a258cb857a9e87d28924cc3e3b9dfff96e720f925d286ffa702907e53dd9a339714f034ed94d1c26e55458437d07ccaa45f8db9d3117649bc3f484b52f40d577bc - -COUNT=20 -L = 560 -KI = 1857230895ce3c812c8368e2503ce86b282b4dec -IVlen = 160 -IV = 1260c9fbfc6a9ad6b454ef7147779b4ced6a2ad9 -FixedInputDataByteLen = 51 -FixedInputData = aaa27d4cd5403c36882115174596671ba6071797df9da93b4c06609f724ad491d7102c1350abbbcac03771fb5590aca9a2e8a8 -KO = 21c7122d623adc2ee9bb84fde1cdb118c61a649b0cd0d0b5021845ead72041d9a8a0eadb7cd6ee46ec0e0050e9202b9d37833c8dfbc7a0cfd73d792314619196b21a7fc88a97 - -COUNT=21 -L = 560 -KI = abab1470fe757731df269ec2cc89b353018ea17a -IVlen = 160 -IV = f864b64571649fe1501f4fecad8a5d6acb9112cc -FixedInputDataByteLen = 51 -FixedInputData = f9e5bc44f94d2f474170323ce966f9e9481c64116a6d3bce77edcc6f3945da01d3a283e5c694cd4302ed5afc12924f33ea02d0 -KO = ee47f8f532861099827c19a3443c81e8ff49341b7d5ea1068472c4f4c9785d9dcedc9e2ecfb857bb34895acd59a554321c776a2cb60846113331d8bd0a49c5786c651a76b8a6 - -COUNT=22 -L = 560 -KI = b5743478ff7948867b2344abb8d8b42952469fbe -IVlen = 160 -IV = 2c8936cc6a4ce125437c0ae8edbf87a21425656f -FixedInputDataByteLen = 51 -FixedInputData = c043257dc6af739fbe3e756212701ac5b02da3d1db293b93c0adc6e20316d4b7e01bf202f1c33c3510f3e873b43a3b109b31d4 -KO = 5eeeb503ed977a8c29d6e58604c68468d78ede0b26e68747660cabfdb0859b9e0d2ba2e401bf725495cc9de9be6d39e99aec7d278f03970f1779715f0ec94d903fa088637a37 - -COUNT=23 -L = 560 -KI = a1ba1b70ad0e8062e379d5a9cb838162a54a4eb6 -IVlen = 160 -IV = a29601cf95ec91e410336f2f023d147c1db51c75 -FixedInputDataByteLen = 51 -FixedInputData = a0c68de8459b9e66dcb462f351d72e97a5ba8107a734183a300bc6dcba658bdf47392e8e6c108a67d77745246fd6731b27a644 -KO = 91abf61ff8ce3dd6d829b1fff29a7dd09459caae441da86e0d2bb7807f0a9372ea74f15032da8412a1806be7c518a1f86041166ee4ec2e3d45da6d85c3ad898282dbbca6f4d8 - -COUNT=24 -L = 560 -KI = fa432bd7bfbf2da21f8aa6402264e50dd32993ab -IVlen = 160 -IV = 274cad903cd1d2bcf583617d984a000e0169bd08 -FixedInputDataByteLen = 51 -FixedInputData = 793d9e8315292e232c044634d3565e588a67d7b996a4cd2264bf527907c9f6b68b8d27ec22432bd3f25efdb5795a1cfd05079e -KO = 46e2983ee4498a326a40502f9a9d8844629244660f4846a22f9e2c885bc893a916cb3e392bbf05a486e857aa65573687e01383e539ac57b5dabd60397398be48cef87cd1efd4 - -COUNT=25 -L = 560 -KI = c05a13cf032ff7e243468c4f4ebac68fbb814baf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41cdf2cb5d9ae22e3475f3967d0d14bf2e7995771e8e0e63dd25307fb96e302b45abcedd139968622c83ad9f4db011683c21fc -KO = 43fa1468d1a99097a1c3e066fcc2b1578944ab51d9f98b6d01dd62f5fb660f1954ca65b3f055499d0459ade6bac01a84e309a13bdf48523d587557ec0c04b7eae8e163c2ff82 - -COUNT=26 -L = 560 -KI = 39f58e508f9a9c85cd64977842324ce69612332f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f78446629e4e78eacf808e7d2d118860bbe62f817130088ba8b412e82312a83b3470e80a4cb7560e139d1c524830af4898970 -KO = 56d39f615874d3fd88e05dbfb75f54624ab567dbadd3cac40b97c16e00dade37a899b3d3bbeb8cf35c90517844e768f0cd27e90c0b25de78ebb53f9a8d9a6bb132fb1b8bd9d0 - -COUNT=27 -L = 560 -KI = 1886d39526e5012908b80680e3479d0f0ecaa22a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe4fcaf5cb14c0d87634e6826aa1384d3940a015b9924151ecf6cfded38549e76daa7f5a0b0f0672327db44dd62646e80e1f52 -KO = dd4511f023dd07e0d804f5a4615bb34b8c5dc8564f8e35cd4eab4b223d8ffb2801f839e7ad61da4475975500fc8eccec9c89f463d37eb0ca52e6ac4da3c5f4b10a0ff9da2f99 - -COUNT=28 -L = 560 -KI = e4a4db832dec72c006a3cdd20b750df04d79070f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cfd3d10110d672a5adef356ca6df5fbb0379fe92025a1b3f5e6e2a6809fb4526f0208c738c067113fbf35c072891b241db5703 -KO = ecfc0954030112683391592c745376b1511b83abff40321ef36208d9bfe1c09b194ff390c76a5c99d347ea259ee9137fdb50f3b84eda1e52e667dc004cafcf46fcee24829c1b - -COUNT=29 -L = 560 -KI = c62c9a7269fc10ca2a62e5bf87fd7dd10bcff69b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d8e79aebb237c923f40217b1a5d1a2971adfd2e0a9c789e3ccda7b6d9f35e324c9f47eeaef25531fa23d666dc06c1a8d84e1ff -KO = 1de8d8c992bf93c48b7765432fecdc8f10353a8f73f4c1aaa522c9dfc7a915f46dd482b82810395c1ca4ff8c807c8b497ab5bab336cd73d4ac1c0dbcd34025255be50ce3ed61 - -COUNT=30 -L = 2400 -KI = 1c39b5f14894ebf9e2160c33cd6b86ef75fa5d43 -IVlen = 160 -IV = 73e25ade8aaed08851e10c5cee18593fd023c667 -FixedInputDataByteLen = 51 -FixedInputData = 7705f2fb79103f56245505746f0b6780542dab8844a42caa5bf10ab92a6f8dbc6e834cea8a81c4c8e6184d0347f4c156543492 -KO = 4d884d7d98e455991a4290dd081d30b275d54f265ed715bf4810178ce9279f24ca78f9dd48014dd59d43dd6066d42431798b8dcb83d901adc075cfb6c0f125e1d71b10419339cb0f76f582c30d51db2e6b96bc332e2df28fac0f7fd65f30539901e88fc2a815ca900b5950f238a7007f218b5fa7168cf0b37b3a7c1d4189c4c5c7f946b177fdfe6d7d09c48880ee868e011387f7e22f1f6b59426a7692f8d2ca9e1adeffc94cb330217649420116ea9ed8e33bd969761d12bbd3489d1b0cd2787c07a5d16da2014377d38b53cc8aefcd38ee074f9dfaca9a2680d7e3a5414864e40260ceb405ce8986e5db9ed2b2df0f2861739c9c06a6e2d5d33cbe162fdd1af1fe9de5123d72f87ba27c50446affa8c95c9706531cbaba8eb35af7896e098cbf28f05fac44951fc851060b - -COUNT=31 -L = 2400 -KI = 922aa8df2b911cc28c9c3f1eb36f432a4a3a7312 -IVlen = 160 -IV = c6ecb903c5db83bde989cd7804f8d3dabd8ec7a3 -FixedInputDataByteLen = 51 -FixedInputData = 486692af0e63697a3f0fc890583b1d019cc731e67cc89f8d92bcf63c50fab11691d23670ebfe6ae42513ce13545a21909463ca -KO = 2c5c05b1034a82fc5bae8dfa17462e367987802ed4b93ca3ce0a4655dfcee3c4a9c1bae0b6a4ff8fa355f933850efaa0a650404fe89cc2073b1949d2b3b9c47842e4f22825a1f3c67949bd7f844ac2ce94e17ee4abf165113ec2c483f945a6e26f687dbb96f388bdc7e1ba8630d5b925f88ca38cf0a4209e7542a19bfe0f40b6f605f4b271fcaa624f8f5597f23cc01c81294e465365a0df4c63ba8a1f2984727b71b8623178edeb5f0ae437a6a6e8675f4e5c0bd28059d2ff4355685bf550fc83729176474231917584c252d9e9dd6f4f293c16326c53e9ae5690bcf1bcb0c292b3bed774901a168dafe92647e2e93d7c8a647488b969c8f7991643b1e8d6d265c5ba4825e7dea526e37037b6e9d6c22dc763b96d45fb6b8034dc09ba9cbcc9693cae5f1a20020ff1a2171c - -COUNT=32 -L = 2400 -KI = e607b1d0c313549ed9b273fd795487c6ba15e2cc -IVlen = 160 -IV = 887d424ad9b1116106640951a5bb43b60d232eba -FixedInputDataByteLen = 51 -FixedInputData = 6377c856f986563b845a8fa5ff5b563e64e959e7c47c458896434aa88ae5d08dc5351c5b970cd556ad784d19bc9bc182ce69f0 -KO = 69e4aadc4ad19215eccf480ced1006be2414855bd03c251f91199a205d4d3711de9d3d6fd6dede03565a8f1a2e86dc738450039f2aa9594935a5074ec40a4edffbee50904a5f9b8d04ff39fc6fe94043441b9e132efab312670a93ebd9b0ccacab108243a99c88a9f08e1ddd493923264c6c58d4289cff37fbfca4a66455559bd813c8d63c059ae3df24b2d684a8c6b7450f6bcd762b608f10e4d38d933e45d393b03828538aed0280afcd9d639febc0e137180706484da8d0c519583b45ee2a9a07ef887e45b868b928e65f712f3a52915c0a63313078218504dee4fcea2ad4594f172f4d9860d605749fd53bf5bfb406c15ce4dfea3facfc0d25af219a08a64a6b14360fb3a82af9100a6720be9430ce1a36e3dde0e9dc645f6fe71c7171609c04cdb04a2876ba863de723 - -COUNT=33 -L = 2400 -KI = 4df87db4190e761d6e6fa3e7177958a82928d8fb -IVlen = 160 -IV = cc8079c967e40cf9f1720ecad8da0fc1f8d7dc7c -FixedInputDataByteLen = 51 -FixedInputData = 6a67de6251d13e248d8840da7e5e06da97f0ea90304edca55e25708a7cc7409721f644c34b6607c0043853b5dd9c30017233d8 -KO = 7d4862719aa75ea41d0b800a125bb304a7e16af0182a0a00fb1771b4d2d40f2de7a1c531469a3913a7eb99848133e575e92c083c8cf0c8d3fa289650cf348f0d75450d77b71f3a3ae25e2120012ef8de7edee123ab8204f81373f9817ec5f9e9c41fb50e26f74dc2728131b55a5d291a54b7bacd42b9df2a28d35d9743794193c216afa9610b03f56eeda6b6c25e4b76f1bfbb5e5958ee5008feee62c317dc4aaf5c43a930166bb1fc799002159cf7965f93380d22afe68f34de9f6f7ae4334d83957903cd5a90ce3be9e4c06e358584693b78cfb9512ad85eb356b4938fe46f98cbc3d8b5c13d0124fef78fe8eaff0bb4f316770ed9c6f39067ea337976b6047a12e1e5d4faaa24c32b01fb26382612608daf3bfe9864f03fe608f8f75924177507b044208f596b894acf13 - -COUNT=34 -L = 2400 -KI = 54d0c05fc3bd9efa9bfbffa3bd77800ddbf21a8a -IVlen = 160 -IV = 0f59b202934af2c530f3888ad63ff408e0617ff0 -FixedInputDataByteLen = 51 -FixedInputData = 14c77bf919837830161573d7b18531198e20e766b690469aba52b084d896c8123da3a5ad6f2d911d9403f818400f42154acff7 -KO = 32dcc854cf6588fc07883c55fd3b5b915bdd9853af3e73d5853de359a8a699cf1d82e70fea02aad82fd9b36c03ff2cbab858e5161b636cc570f07ea541deadbdc32eb0201888859913129d58e0815afba47a755d793e945553a88846332faa9219bde7528b221f2afbbaa973a24df5fb6529c479774fc39ac0e877a084533bc0d8a6099a641dffc62ec09f649af61fd11ee2e73cabcbb0a919b298baf9173c652d4bb4e6e1ba648437891bc753de6653c048adac02c22be63d9275eca4ef8922d5286e65cf2fb5cea0f0f94f6399ab0a9669e3b03f5a1d7ff774e11731e0a55e401cc25d215602db358d13e41d80f5fc0130cecaebe6563a7bb2ae34936c8aaf2dcec648645bef0532ca314114e6401eaecfdf45b3c7d165ffa2908f2851edd4842048d4381e2976e5335b52 - -COUNT=35 -L = 2400 -KI = 634d90dafe510e9246bc089bf3660e8f4386358c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 93d43573eca67f672b34db883e5cd93e5259d393e5b1b238df2b4fed078ac6005ab249aa2ef0be8b50a504e8db7373c53e8866 -KO = e127d8101a9864f249c5bebcc48695d43a217b3638410e5e93c953f2c1be0b78490e07030b23e9e1a19962b8cf76f7c31e3f111efdea2390978f068f77b971e8079dad64ff765f7c3843183983f6085cb8e1e9e32ab761154185cc22326d03e9aacfcc457db0a2aa936f99328bd8e76cdde83a25b2c7e493611f424ee807d9f426a5aef84a2e29514a70b0e13aa3753bdfa816a4ed1821c1ec90e9ea0ad23af76c186010440488e7e9003872e8206ebe98fadc4c46007fe5aea4d1fb8aa2bf557cf58f4bca1501c41105ccc71139d5dc4d007a1dcbe22dcf35fe664d1ab5782ce2b9fd6e4a1c00e9c3036bc6d14acf378bbb6ea934bb293a5299d13cab36b713e6d62a9a3efed5cf513bc2ce1afeeb205641b44be7455b88fca664c49d967ce433bde356940d1a59b11aebce - -COUNT=36 -L = 2400 -KI = eef93da533cd4bcf6438c9068c9e947ef5c48a45 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2456ec3d23857bcf8a8437c6c200a25d139ca4baa6a7a4adb98d26bfb55d8957379096e67029cff5b5eb77cdfa0e4d4bb6eacc -KO = ab6eaec752d355f42f97e3952a1d4d19d79ccadd1c1aaba2396b98f81c93105979de1bc0974dfe197b5b2185ef2b78d1436ce452b86a29b76d2cfe2fd8ec8655b8ab1d4434274e6d0d7401c2a08686d0c64d85edbf7e3bb244c6bba0b15cacfae1b623395165251abc6895b5d0085aa83bd91e3fdc8786c43defffd8d27b279377bb7f9d80fb9d16af8f87e30154fc4635dbdd2d817ed9b185b8134ef194f0aaa8c9cb73b706512bddf05ea808e8e13d6742444a2e427d5bbd078a4faf48a5bc8f0a16eb248fd21c010cb0ec2fdb80d546cbe38af9cfde040bba8414da368b7453bbc8eb01df587862361f66f015683c9aae8f71008b522816a04b847b0222ac852b64215579a316d0e3be51337e438c9aaef40a61621bf21fbb6cb35293bf799df2f4755fb81955a60800dc - -COUNT=37 -L = 2400 -KI = 5c9fb3ab65f7ceb92f54ad07818bc0b429bed860 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 318e41f7909e509a64c1b8b205eb1a48900f4d8d1fbc78b620a5c95221faa5229109d7d53fbb4e61034aa96851ea5975f2a67c -KO = 8299f86df6a257584cb4f3e50c367f2ff3bb6adebf1812494f88180d083fb6d213fad7d37922e43cb34470123af6a0e6334771f9bde89294469876d1c85ddeb5aca77461b81e5d37b3e620cfbef8f17ee0c69134ee66995a492dd5e3e173b0bda6212d8b9943361f820145a81ccd50645887967a71c457a2299541b766c02bc2c53ed06beb3e278ec826716bb701c73004726999bb45556acaa8d3b48c1029bc0388b32d12076d373c37b5d629248abe3d77fcf31e5b12f65ec620609d0a702ef2ce2ddc31d904cd62617bf117300d436f74fa53c304d00f4aacdc3c5b134bad9816c4281f22152b60d617bb9a80dc856a353b2df77e58775504039bed02272c3a4974d888f3a096d22912d58e8321cbba8d92ce22e3418b3ac1dbd2a7fb78a076d351419d12abdc808eb24c - -COUNT=38 -L = 2400 -KI = 1b0b5d1c27993ba65d89f809f885079e4bd5f4cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 009890969587eadc812d5b90c2239e3b3be7398038976055147d3f301e803491e5fb5607a3508a4cfdb6d447f49fd3b53eb15d -KO = ca74c2e769945f84442aa50d5a459390229469acafe3c39cf652d1b8ebf1444e7b4ca0643aa19e8a25b685796706ba03363c6b0f8d1e81a3d88750d00eb6b58bc26bf22f438e6ba88551a98ec8f9b3f7938a02afa06eee89b4216e49b4c934b3c6aba6d457441b04e7f647d64dc22e9c241c26487ff656ea8b67a8460d226c1ca78ee21fd4cf4f71293cc2484cff7ad89b60e17ed8305eff9a6a02eee2395cfe446d581de83813d6a6268e220d63f4cf1c4511759b7fba71ae7f4ecdca68e30b0424636058e9f472c525add78ed81d71cd909c2a10bb12c148ace29b1e85e662e509e9050e0ad77c322f25ec4d42317b9d3b7b1114b16f78d29a20f19e8a4d6942aaaf225cbdbb6d87da32c40af8379b051be64b6de1e28e4935331ea68b99ad889dbe9b625dbbf0ed8120f5 - -COUNT=39 -L = 2400 -KI = bd8ccdf6dd7a4820e908773680ae6c3a32bff749 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d551c430fdf069693657abf4731503090d31eb2dad606ee15843007f2501205b6e8dc28a71cc8e3bec00891cb41e78c3436377 -KO = d64a2a755919587178f140c30540de7ad19c66f6da878d6f91452ed4dcb2b1b3fd9b11872f35014c3bc88d8f646740b7b380f72ff84e6f5de2b110ea4d71bdf3c119dd1b13c7d56e185b25e968b7c8146948f488d4a5f0dc3bc7d6c574b65a17a29204957980e79dd1f94c2ceca8b20e94adc424f41a091a280530f4caba07b3b474ec8ba8dbb124f5a072dea0ae308c35a4d30230bdd769b02eafef34c494d17557d5807d7d648d849ed8d32d1c24226971dacb87d7e1dfafe9ff154ed38ac815b8a447cd3def147709a089768c8b2a802d4b4697e331816131123f3c3119cc47b1574ba652c81081714e46f6d0966dbfed7a74899dcee81fcdd7c3ff5369f36fdbd3f9b47261a63ea3c90bcf98cb7d29544962d026e6d6ec8e59031770cce7f39f553d6df8706cd3aed7c2 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 8219c7bfa442b0f3d3717100a9727add49d76181 -IVlen = 160 -IV = b342d72ab75434ec2b2d59af6498bfba1c7d7ba6 -FixedInputDataByteLen = 51 -FixedInputData = 9673ca44bf657671787e8ec9f676c8590b14a7c262b034d2056cf74fa2f8f29a407efdb259445becfea857b4781e997f1194c1 -KO = 8df3c6200cfdfe3821c05d29dffdae10a0be19adba05ee0a0c7b5a24365fdb5e048b28c9ba0ff70dc32dd1bed18adf5b45a24bea262c934a0657859ecb6187db - -COUNT=1 -L = 512 -KI = 605fdc06d9cac61068397b997dcb98b4e1841868 -IVlen = 160 -IV = bfe96048077dba150434db652a6a38453ece7971 -FixedInputDataByteLen = 51 -FixedInputData = f0868bd9e2986ee9f05b45d59378a00eb526e7497b5f091e896d77da49d0a837fd5b9e7e53aa03b9021d6acff3605c7c7050e9 -KO = be3d6defeafe7833805f294c5a06adaf3ec69a0a2d8b6157ff0fc18944ae38a6b876035de234ce68ad63a407858ab0a455b0581024d4c7545b86955a846f7a7b - -COUNT=2 -L = 512 -KI = 69a2dc8e1dbc622e540592776ee8f80a5da320a2 -IVlen = 160 -IV = 447935686a4782c60a8f8f9fc72357ce7dca7022 -FixedInputDataByteLen = 51 -FixedInputData = a2c025fe4deafd7692a067a29807169c371f7e6132105286693b205745969195df17ffd045a8570c0d578f0a4f4b70c9b1c7b8 -KO = f9030c65ac07ae0075a67f8ba6192ac9e6d64e7a17074263d5c79e30e02b68c108320e0bcd1bd63d8e23670aeab65f8f1816c17123d8a718d1a710927b902e66 - -COUNT=3 -L = 512 -KI = cb8e19e38dd22dd1c90e108b56b6aed352230845 -IVlen = 160 -IV = 1a1d2b3317ff08382f4934af34c6ef186d623d96 -FixedInputDataByteLen = 51 -FixedInputData = 424cfb5f6463f7acd486178f342ca6a9f905f40340c53712e305143ec7a33655c63bb3acdd517ba27fd9bbabd18e0f2fe5ce36 -KO = 548a95e9ae91016c140229144b1be145dd1def77c4d56080b74bcea8e44d0c715c638f38d2a1654a521e99de87c2feca104296ecbcb747bfd7e19bcf70b85fd7 - -COUNT=4 -L = 512 -KI = dc76a0274a9c54a55dd790a13a2571eaa37d490b -IVlen = 160 -IV = 20f0e5563e270fc7304c10a9100c3ed206df327d -FixedInputDataByteLen = 51 -FixedInputData = d0fe5568dd412d5928a4625d0895d6a33f611d8f49ddb169a2f1f82cbd7a821c71ea76d0756ab45dd9aa77f2753e9f943196a9 -KO = cbd32cee502cd225fd323636fc7d41f795131ee62613e7ff42c4029d059556eb98810a15793b75d545a5d3fa08aa2b6c32926b8f47aa7e309e927652dd81b460 - -COUNT=5 -L = 512 -KI = 24caca1b8e5de9b3991b1c24e1f783a2b3b50d75 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f5bf6e746a480fa80b3f421fbd366862bdbe67724f55b0eacfc99ea7b43dc1d2e1eb308fe7eb4cc7bbddd8943e429a67ce3b5 -KO = ca65c5d68ac1d5ba4408b1a7e3b717a1f6ecc1cc83dff18c0335c40214db2f378fdfb4b50a210008b0937a7b1a263b691d8a10782d182f3d209f5885ab4cf8e2 - -COUNT=6 -L = 512 -KI = 517d99e6b3bce75a9bd412a0ed4507fbeb84d99d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e77751012f7d07e467be71066a34207badf60c0add18f3568d07fc7a5f832e021fef90104d423e005db652f0f6aef4082615b6 -KO = eaeba5caa40b9d71656012e6d77238a2fc06cabe57f9a424f6415313672c72fc590933f69e04995712ddc71b6dd7ab68ff8d38d26b893e205e45a22e9c9b74a6 - -COUNT=7 -L = 512 -KI = caba18624e43ccbe33a3d650dc9f60be41ea727f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56ae8fe011dfae5f1d0153d719ab3c0e6264ceab9397e4a70d92be4564b6e1a970afdbfb9189702fc6552dee94c4e712be92d9 -KO = 12cee31c5af8efb33922b6b9ae2b69aa9bc279d15f743f0686c6148b3884b3eda599e2f7d6ddd077c3f5dcf6226883553b3e7b0ada9c6cf92534b49c7b715b66 - -COUNT=8 -L = 512 -KI = 781fe1084ed6ce99a8b290c14c889a53acbb46f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33916460be7a7dd534e89dfa36f1252fbd86482628e50d7b13a307cb8e7c1c40ba7a738c1cc887be0f6c8d59aeee822fe7e8e6 -KO = fb8d9415130676931293e729c34e6f8b78553c34880c321009898cb47923912099238493bc5b90e352afaa64f3264c2d4835f29183919f9f7e4d8dc06e816bf9 - -COUNT=9 -L = 512 -KI = f8613a13cb60b1afbe6ebd7b8fa62ada49ef0ba9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92581ac54646854f2ae4b5d40ccccd96a022a8c381945308a93003aa9c3aea769b5a0c5818cdf76d23d6b8466481b0e2999c4c -KO = 4956aa6b8f3a95975beb384ea6e34ef99506c847ee7d707616a0917bd6f492a6736bc72d043defea9716e0ebe32f3bcc20dcbed74731b113e6f66d0cdae92975 - -COUNT=10 -L = 2048 -KI = 1cd7184ca8c134afe9435ac5e1161e2cc13f35e8 -IVlen = 160 -IV = eaef62cfb5c65687802c9e8d61e132c4c19de507 -FixedInputDataByteLen = 51 -FixedInputData = 6b04d2590c8470c04eff2364e3b15fe8c6f0898f9e379255e7d99b229c77244304da3e0eb0fa742e35e56ea982d5654df909fd -KO = 12d2b134366065d3d6e7dbee94f30f48f6012504cedf59ae03f9d6d320161100fca19ad9eca66abf61f5861f20355e055ad397eef67e442aefec4e20db964edd8f13db24cf9aaa523e03e36af85acf207ac57577b9f6adbf78c038d6b1dab3281a405884809f9d4e455bfa53d396c0818bfa985312426ac107590c086f1ae2fdced150bd03e5039b89d4892680f510f1f6937c1e01ff4f1a00a7d07e1ac907afd1642e85945057ff5def844341e994a157e7c7520932d1be579d8ae04eee0b83b48caed178f56d3afbbf2b32a30758f7d912a06ee10f818e8db47efcc7186b8d2079b488fc8dc0e647ee4c4437bd764a09fdc89eccdc66f6fb0498bcf99c5001 - -COUNT=11 -L = 2048 -KI = 524cf0aec27856db41bcaf87d1df89a1e090a5d9 -IVlen = 160 -IV = c07d85347c275dbc4648549c11174f9519d18bc1 -FixedInputDataByteLen = 51 -FixedInputData = 9e19a417846e5026f944aed7196102ebfd6e81c8bf8ba4622b381cba2888317642f429fbd347ced68c0d25500c74a027782dd8 -KO = 3739628c4e69f56e79fd9fa39a2748bce14a6fa198a63d9e7312bca9d21f00b9dd445ad344562f3e014e8bcbf1a061e5d5fe6ba948b2c8bee53d92b7b4a8f19375007219242dcc8a1b0475ce8ea2acca535d6cb458e516c66ef606e1da5bb0b7947e72bfd969719b184560f81d801969aced4d1588411d0c7fd62f378ab3da0bf2580bbcabb08846ce743bfe3cc663cc3eee58b78f0773e428c7e15bccbeb8e3c146f67f434be6c3a2d71e53b4986ca0c8d155e8f21235801695d8db130915dd1cc3f5e722d1ce6506dce70f56ebc46f0c425f0d0078b17a6ac6d585a6b01039d3f9276215f7fc26dedfbd4cb34c0a99b2940e761eb8b716d53e0a3d5050e515 - -COUNT=12 -L = 2048 -KI = 4b55cdaf7fd4312dc46ce3d83d87a979af538f7d -IVlen = 160 -IV = cf0581d427cc73d8f33f517735ab9d285be8f595 -FixedInputDataByteLen = 51 -FixedInputData = 0ad95498e641062629c4c3d046a72f8673f111e53a52b54b4e7c3fcfbc8c0595d301d8fdcb52888d1364291afbe46af1d2a6c6 -KO = eb8c48935ab76d7fe33dfda7177cbea9f15112e79c7f54fca96af6dec5a673b01b2b356f6826b65151c86e72847b92c3a379762c807d475cce9aa1a4cbc3bd14d3e9938860f7f9d4a629febf6f89b8bfff2781cc4a659abac44b6bad01565a66faa8d93700a6935fcb65bd34e2a9359d4b88042e01f6267fc9dcbf899971680b3805f89dd06f83eccc9ce3159b7128959e13de99365194c642acc4328668d244dc93347826e02ed2a1f1059d769f654b3438e2952a5314517dab44571faaa89bc4624d5ae16761a32407c5c09157cde96a3d51bc99815a32499cb5c672a6166495257355ba303a09d3509febc794f75920e423e186418da9e76a608b7f2d4fd3 - -COUNT=13 -L = 2048 -KI = bd38a073444e853cdb5826722c73987820e7f7ba -IVlen = 160 -IV = 96172f589f5bc5117573f36ae8f075de64953aa7 -FixedInputDataByteLen = 51 -FixedInputData = 442b9f482b671e64f03b67757fbf83d7b5bc1f59946c2f1618ffd4dfd1345a098129dac2813f691ce814d27286d77beaace12d -KO = 052d863f37ca1d2af3cfc7b37cce138e710ed3a268640a6bb5b35f95913aa98fd37c5ae0236ddc3f9c7a1cef81059654b5763da0765f10625d88f1c14436c99a6d1f45a4b7be9dfb99de3ff7463feb5e2c21894f71b191116b557593dc23a451be745a8472051638007d15aa1662a9b2642ebd19f911bf708a204bf7242b7cca700947bff9088fa5a8320ad8b73432dba7697d7a6630afe2bb9e035b393d691d8bb3b9e456847928f28d6d8756d0af6c5c14af0c5fd0cd91d21dbdaa54b3be25fc928cd93fe3c3df7110b1a2723db919e0eaa85bd515bb674ddd0c44c10077b82d00d3805eb8b05b1a9fd9fbf01663ed7baca2a9faa27be6d7213f909394c910 - -COUNT=14 -L = 2048 -KI = 3101bdc8bcde3db66b20cafe0f8a14bea4a24aa6 -IVlen = 160 -IV = ba0eb5ebe4f00ab1968e8938a32c005f501d7a5b -FixedInputDataByteLen = 51 -FixedInputData = 6c3e793ddf3968866289cb6bd2614400101be26711b1ff33108aad2528aa706e34eb9f9d055eb14a3e820f5aa000510512ff1e -KO = 42a4343e892794c7812ce2a35fcd1ce15e924a6ebc7b142bceaaa51c2cb45b666362084e5e31a0b3755c1ac3b271c2cddd1cd89256797e5a4687cc96b8e16d3fabd76c719a054bf6caa2b55cd8d616855617b13d80536592990260c2df2a7a891871cb30d0ca6c74d5d95c03d6c50146c4a3214b6ed7aba9c62447af1d3336d1ff351821654499fdc592e0ae6af00a710faaee4800ee2147eb5406688fa16c14467fd7f68c85bdd8b0d81abd71513af5ca48d59ce06c3dbd9254efb72c20030e7c15f152f78475362c6948888d9b963427e304d0e6b88db5650633708522ad0f3962ec6a098a69e50b7fac4b9e2da35c067efd781d0e20d316f07222c2d2f5b3 - -COUNT=15 -L = 2048 -KI = ee260f08a657583b2b41984da2f4583074dad157 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8561f6b28a193c075fc94cdf568b68ef742e340d099882ba3e8c09830b6155c8f57c82f202d247e2e878e80551e49be57c2fad -KO = f5fa5f0f201bf1b971cf65e8a57591f463f04ec8fe4c8f86144aba8129dea8931bee1fba7ffb50742a92ef93e2b9d4889df894d1a4da7ebea68369043b84fb5a64045b428cd0dbdf542a0ae1f63ac574a0941403a37691eae2f2060558678930d2d05f45ad900f1c32f7daea92788d58c36989f253d2c88001b1454176b1c31dc916d2e2571b808f83cd29d8e88374b5976c2f9b66b5eca8bf648996851e811af607c062c422b1903f864a3a7491c2ad62bd02c205c2b0eb5703cfc8d5fe91907626c17eddb57b71f43faa195e23e821e241d148b121c4967d8333eb0dd061952d3748494cf67a0f203abd6df39df9823809357f239be8e0248da1d55a60cd21 - -COUNT=16 -L = 2048 -KI = b06d1461086ed87b18e4b88b317a87bed9d64e9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c5994ab1d7c16f83080941d26b4b0653760d42981c44303bc1db3a1e039a2a44ba3f39c13e867ac1e8a6278a092e424fcf9d52 -KO = 3ce17956c7386cf16344ac75b3a0937488a24479209babda4fba771493eed6193b2c5b0cd37faee3f161633bf02a21b6d7e280f7d87c6c13fa13c32272292b39aece7412fe1030709385bf9ce74aa570421fbd6534ed093f279616195183252844dd72c4116507e5c2026dae22017edeba7f6ac2f93f8519890c37536f9e5fa565d7ad96b43c733be575e6237836970185029d9693c5636e0a73ecdd4c74d9440a78a2646796018f791ef023358d09030d87532c085499e36a95ad81d31f48b6b617e9ff218431ddbba79974a37cee9c2864f92b1e12a0a36195b4ec8b874d73f3cf702f221a57ab01c81416ce8df6402949ad2df0310804373ab9c65f1419a8 - -COUNT=17 -L = 2048 -KI = 78cd15dbbcd3b0bfe09581a208b6bfd3dd766eb8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44f894fdc81271f21981696430d1c9a4ce7f83261282db23670c8831e2d74202b9f68f92893235daa1d093c74b116983c975da -KO = e51a0f6c3a6f1b4f858889dec4ddbba23807c44d31234553e7669d759a7dcc98f6de44e32ae2c2deade7768a6990b738e6ea781d1a6f90354caec3b37e0d9652563f5407f6df52f4b3e3e5eb927f85b1a9c387a708c52d5cea450f85f0322d48ae89b21def69ecc897301a57b595aac8e59b569d67cd38f6ab3ad517a9da481e3a7d1b2e82afe823ff35e8ee95a3cff47a86606b4379666fd745bc2c138b492ba3879320337eace8750df1c6c7fa12f9288fd92b0c5d6da1db010407faf00562a643cef8280c8a1feb2041b5c0c073e32927542246e0d472978d52e3eedd330305c295f089e9255ef6844ed4895fdea0ef54241025f71dc0a55d300e5716fb2c - -COUNT=18 -L = 2048 -KI = 98aa72937a017413fff31247d87aadfa14d61f36 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 59f9fb8baccb981b8bcb331dda434cdbde5bfd139c9918575c031146b67b8cc8a792596a69597d14ce906d5f5f0155c01cb33c -KO = c26647838384b89eabb658982d66a768d7bb408de0c079cfcd93e501dec4ddb090a5877498443bc05576d01377df70ca37a3b05d9950fba649f0e79f3518a668cfbe9ddf3a373e2d11d16558a5409bd1dea545ac8538e677cb1b763840bf1328837aa9e6fe02fbf7e759e1e3a993cd24365836cd40fc3825acff76bde7f0ea7dd2fa4182a2ad748a99364592b7ea4b9d80e63ca3f9921649fd713a1d79cd62e3de096a6d6012b9329fc09c44a95f5730fdc8ca118e4700f3f5106ab4272a36ed50bc262a98f98186faf4e3834d41b4421f7083464d108b296df77b32b7aa8a1a038324488ff73c1c1ac95d0f910d52007c5d7efd249fcd36f99c79fcc80dbce6 - -COUNT=19 -L = 2048 -KI = 604e41b4e110e83e21472cdb63159b4998ec79cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bde7b399479101c10e796d544f13cc65c1c9d7f879336ec53237174744570de85f51b9870564fb9ec329a224e24d3fae9f177d -KO = 80b79f7b11a7e0fc6fc030fd6b7a7b0cd8d895955dbb0cbf115a5bd4164cbd368100da7c985f20839d2ebeaa813e97f30bda198cd49ffc67a9e962817aebcbc55dd6ec39f880b585a472510d9b785b71554617281b4a61e2e42be7c8f8d7786a94e378eaf34ba22979ac18181f1272d2441766f7082e6657e7a4b9bd4153efc1fae496a97d646d684459ec0762dffc7be08d5df248df8946b2b11995ca82d85f1c6898b43604cd725b3a7a2b7daf3533adda135adcd9f0fb4405f02367a56c89c1f3cc4979ad68c823e3fa40254515e660a3e16f97d19a4a8e9119421244f7ce533d09880e88aa266839dd73e02523b58fb0d82085903818e2e91e24dacf227b - -COUNT=20 -L = 560 -KI = 0a973203cede59a0887e7116445b43d75c324b83 -IVlen = 160 -IV = 714adf5d7e5b1ae54c4c655a014cf65d27b7ec55 -FixedInputDataByteLen = 51 -FixedInputData = bfc20b8882479791f522264fb8f8e53942559a781243c959c5fc1606e45fba55dc040651d6eb0f780979b7ad021fb2aac63baf -KO = a92ce7b22d4e437285bd1dab86c64e8f009879645d9c4aa249ce1e80d0334054e71bab530b4452f9548aa8b06cc9e70c90cfa7df953cbc324ea643b4c2a259444f4f62ea66cb - -COUNT=21 -L = 560 -KI = 224da90bb3d490ea53dc9497c3b3b6c35240e6bf -IVlen = 160 -IV = 4b4a5f22067ef4f12d3d1ea3a372ca07c59534ff -FixedInputDataByteLen = 51 -FixedInputData = 950aa757ca3a3cde2f7eac3ca7c2f465457632eee0c5395aa3f167d01b679b8dac535f399592221a0143ff099cc138627faa48 -KO = a9d360dd518d71dba8a5b5b5763c607f97197d4cbd4a0876550d42e1aefe51488ae0b127a963522b88bc243f6fe511a16871f14668907539570cbc35adab04652511132cde49 - -COUNT=22 -L = 560 -KI = 7b96e485eeedf1adc2f88481700dd341bd97d067 -IVlen = 160 -IV = 15d02dc937403864c4bb1a42e153f26d14990df1 -FixedInputDataByteLen = 51 -FixedInputData = d981f3ace9e7c38b0d82ec8d14cc9b6a2c76c19b4b9fe808ba749ccdea8ab08cead077a59414f4b0c6d1ab2ccb412c1a1cfcf8 -KO = 0e87112c3a9634a75226d901aea690208f78d3fb94200dfd7f2dec822519c55ed036bbecdf39b786c1a10f62a5954d2a671412656f9876bc6b167dc0322da4706f840d9e50c1 - -COUNT=23 -L = 560 -KI = 2e53fb065203b72b69f88c32bba7e1fe44b52f6f -IVlen = 160 -IV = 1361a3238cff9c48bede298ac70204d4e90c2643 -FixedInputDataByteLen = 51 -FixedInputData = fd63acade1a13c3679237e3b3a8c271b61e69eb650fd7d1a5be9030f5c5fd82543a9ff3b7b79b6cac436d9067767da5ccd9c3d -KO = 4440c0c722ef9cc4a0f430a87ef9981b266426e00dbd36f56576e7c318291f7da6cdc3f1cdbd69df26bb1f176aef7064ed9f122dda2e1df1b6b0ab24ab3ca33e9ada9fdbf48c - -COUNT=24 -L = 560 -KI = 7813c53195605f183285344bb4c92cdef84277ab -IVlen = 160 -IV = 44e2bcb9e760c6da6f6a25568e7243c4dce702e3 -FixedInputDataByteLen = 51 -FixedInputData = 5381035d3249f246c85688b1d79db773d4ddab2dc648c4f791503d608d0c8121e5216a141f6b49c26027ee769f3873bc174bd8 -KO = ff2528154df3e34a4832f14db98fc423bae727f48c9ee116030e19c81cf4bf9999902c58003ff83c2d4859c93a7dc060534011ed52091cf0dbf2b06ad51f380f1a597d5bf3a0 - -COUNT=25 -L = 560 -KI = b27d5f86ab40921b210173c573aa72be5f38a512 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3fadf887cca797635cadbeec28a60b1bf458b572829990b571070ae8f0dc74b5918124d141dcf812424e797ec2935d0e3b541c -KO = e63bed00b7aa0b9b963888b9655c034ad6643cd8b06c2ffe5c3edeea56efb44a78aaef69c2678e59d00ca2689a05a329e7517b1b2e5bc258640ed96c347ec1428afb9142822d - -COUNT=26 -L = 560 -KI = 52bc383ebb0ae41901c3d3eaf6752995d8dd3516 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 958d1e63816bbb83b4cc8e37a749c5edeb6a14cbaded46ae1df728d70fea5e008c8631510042c272ba937436ff04592806f842 -KO = 891c9c1b94997bc4042ffa1fc7ffc02216283098c9ecd675ad6e3d40faa56e76d81a76869cc2cfbfb151384540afc3f133e77b833716effef42d7457cb2dce43b1d87aa8ff86 - -COUNT=27 -L = 560 -KI = e3debbcd54f0b47d89fa4068b7c71b8cd8c098aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e52082c877eef571c0682b475e9fd02b4b7d8e7fd1099aac906d8581f77e412d527c276fb0c4252fc1b0d2c88d2b60107d6e86 -KO = 3dbcbf82c74955f29c417f027aafb7d2f5cd873a0bd88c60a529871bc1bbc0065cc3af1109f34ee7804929ce8af2367961a75d0141d16bafc4406e8641827a7d407730189090 - -COUNT=28 -L = 560 -KI = 50ff264e7fe0f8b86f701714d4a49b8a14e11822 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8a7a15093efc157d6ca306dbb6ccee81812700846569f37a090de366ea9b4f05267d1a2c217ba669de3940684daccec2c7b66 -KO = e27cb20506c166efb5477ed804dc1a4d80e11a8f006dde56d489c0f377a8dd8fea45cc8d5227e50daadd785b33da55ab706589e5a3593e65c7e3682f78941ca83a7469cfd361 - -COUNT=29 -L = 560 -KI = ba78d8371553332688dbd195f0e94f8704adb1e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c5d2f917a825e610b5f7c304c0da9d61b0263ef5f29cf2bc7327374da2078d2b3cbd0517d92abdf8a6302660edbf5249ec8dc2 -KO = 0eec474aca6e88a8891897073a6bb37cdeda8c54295155a6a68f5c8dd40a3a9a24595d74b3a2e357c0bde8ec7d3ea5ed99fab354d080df6ebffcb4eaea9dd229e9fb58fac1be - -COUNT=30 -L = 2400 -KI = 830d757f2c74f19a7b4233cfc96b928bfdd1424f -IVlen = 160 -IV = befb9d668273221adae2a9ef9e484c827b285a50 -FixedInputDataByteLen = 51 -FixedInputData = 4cac839e71cb4edb8c1be841bc78f643e49dcf396649da56e3cea8912c55567e017bc038813985b5d8a45a8c568f7233e21e00 -KO = 2790d0e2099ff634e89da90bcaa10c2d5dfaf53e908fa3608ea92306650d32f013e067b6efed8a8ffecb38b93a44f5baf569f9a99714f416e2c681e10ebc24df3c3cdde4a3460cf9cb6c89842a73730ea8fd5c3d901da1ec597a3a8c0a65083785c41b2bb11a160abb6fe000cc3de6786a7e649d3f82389b26d35087470d8ae22eae770d2cfe9f7dc7c1219c542afd252604f7d7e7bd8ac2a94d87eaf2abf87c862771dfeb9046cefbf815f42a7d359b963ca606738e1d1c8eafd2835d6a3ac579968a0a3ad6b71776ce6b12ec5ec2e8eaacdf3a7cc6a73524dcaf0caa5ba9f11bdbb1d219710d3fdd968e5f3e4cafd3845e58391136b1f845b9d65d3a7c5a8f39d7ac3941ff9ee6b17b55b0bd9f82bd2a44e4c6d5420b4ab44335691aebe871abc4bc09e7bea14c96fe176a - -COUNT=31 -L = 2400 -KI = 7ca72e130067194aac93445ef98b6a0a0bdc0108 -IVlen = 160 -IV = a878293b7be5a50313a3a77915811e3f66986e7c -FixedInputDataByteLen = 51 -FixedInputData = 66d54f5b6e4876696b7d5ed32144a92247afa658c49f1243e5211db3949fdd150f5c0e29e1c22bc88fd48a8d24176c9db8e92a -KO = bc786e645e44f99c61bcf643ffdc4cf7ad125d512fa338d2bb902dc2afad1f6bfce32d9e4364f855c5069d8bd0a876e858566cd2c3320020460213f79b4ed2b0523d9630b4d91ca2e4921ec03542a3d65ff67314b6b090b410cc8b3ff11f26bb46651a18d6b92b47f6d54a720aefb8ef3fe779fbfe312f1d0dbf8f6722ab1ecd44f492b385dc1788ba38c08db11b1296b10d6d69ec34c9ea129075e9ac9c134d71b615bd44d25c07aed4af6fe9addc275885559a4199e09c3be4c87e86a314808162b21732af7f3a2a1e58aba99c67cbb1f2b6dc0328d96d5bc2421819fbb8263737a8b1227c130e94fbd390f85e13219d46f309df4667080f701a23dc1686ad9f210707b7e555b32641a28430d59588e9bab792b23d8a615569e582dd63ba0523c3d2a066af55de13e279a5 - -COUNT=32 -L = 2400 -KI = bb1ae9bd79570bec5ef4db7a6ad194afc53a3eaa -IVlen = 160 -IV = ade1c809a3c7ea27e13fb94ab29ebdb8ad477623 -FixedInputDataByteLen = 51 -FixedInputData = 498516dfe7b02dc43e4c5ffa100bfd8ee4f25e3378efc23996e9780ff3c1aba8d8de3dd01f243f433e1b1be9da811206fab7d0 -KO = 8d2e6a0143fa5b451039634c6bf7911bc85d6aeb1f4d0376034fb0aefeed9aae475c3bda6f907236cf5699e6235a8c5576f880653c6f0ea38a5f78f1f8bbacd4cc0468ed26fd69458f50b9617a551b9fa62eaa14563ef6a59f12a3ac177c58eddfcf0e52e1a6b20bbb57ae090762f9aa6a6ac341a9ec4e47842757e64106bb125634766c81a6e43d7e0b1a0911ab625e66b300fdf5317902d0b4aeaf6337b84917e29afd580353a98b3b308daf1095ef6b7e0118b15b471ebf4a6d48ecc3f4934283035578440215e78d374166acac2679368988057b84ad4c23d87105dcb8bf3b6d5a053aec06085254a70c990b523767b22d6a9c11c2b5a797ad5ab8f85beca177922c443ac908572e7db221e3975836eb5028d5e964704dabcb71763afc33b7457d6ac0a2e18fcbeb41d7 - -COUNT=33 -L = 2400 -KI = 71ab4cbe9144ce02bcb3491bdb36ca6fcaa98102 -IVlen = 160 -IV = ac6c6984f84a2d0beb657071e7058d26e9ace6cd -FixedInputDataByteLen = 51 -FixedInputData = 58f991b10d23ad5d90f5559f12d7f2c9fce2ec4a2586326e792b38fd596a243e2f0ad5c6381484f3591de2106157c0f6d14012 -KO = 9c9f5281a95a0cb9dccba9c0a21a1a6e610f59e517cfe0dd4fb5165666f9d5288803cfb1f31bfb896a3b2548c04f91f8bb24a8c6e3b5a862a4877c690a67db94b8490c2949762cc27e8511772b12ae52ed4aeb1465d8875009848d4324818bcb37d5d031776900f7d6cb6a74b937bdf9db500a0dc9c74c3b1391aff0c37283e1d07eae5a2aca55ec8aface9594bc207e1b9124e86a6b3b4bf38d19d126e0bdc0074c238cbd9d975001d7f49f25c359ad110203a109399e12c1fef4bbddfc4f7aa5460fdffd25a3cb35ae6b4861c8427f8721ab2aadfd9ccbde24a1c7704aca341bea75fcd66b466b301437e912ecdcf619b7f1e1aac4346f2653190b6a8c3893f0fdce1caa69675268b002539208ba87231de344de7e5021f7264fd99e052c5b4510cbbda5f1d005917d9605 - -COUNT=34 -L = 2400 -KI = e9113f4bc3cf1c969eab788af44d591e731b3bec -IVlen = 160 -IV = 61424502d9fec1424aa66c814955d87e8d4cab8b -FixedInputDataByteLen = 51 -FixedInputData = 394db37d70973d459eb32468c693a669b640d7a6146e4bd096097188afc3cdcea3ec5fb758b38fc9a44c914f4c431fa06dd2db -KO = b849a54b336472db7d75c431d8969b2e0db7dafaa28a1f43fc794180eff65c2306863125ce334ac238dc76a932517694cfa7dbeda2f4bdd66fcf131f780b123934238f5e245ac7c6350574c9aa203fc0ab2291876ce8b93263e7a030e033b5d9c672c3527e7c429b50108408e76c97f598ad63dd0dda6cd98e6b21c6aab160dc2e8e4a3daa3b6f5fa82d5a74c450cf56ee91ee104735a84d088613d1450532ce8491d6ca0895bfd51062be507a8a3affbc4280884c3641f8b71e46c1e2e3b80f2f84ea48fa8e23a9aedae1d598d3ac18032b6374b12fcf87572ed3096ecad14e9e72bc0cb9679028e9eda1914c0a7fe01f6379cd734b2fa42af80193d8ffef50bb2bb5d81bcf214f59377c97658c358d549742dfc73bc8631ec80fc9eb66c7e28e1bf68b5cace2eab877cdf6 - -COUNT=35 -L = 2400 -KI = 7db6d62b05ebbcb24feea311e0f27ac0fe595d11 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 468b973d2631ec088cce3204fd21cf8b225633128774232f11dc8b2f691ddbf1e39838ed4747dc11f3a17622b0293ebba8b946 -KO = adbcadf7094e2c41ff60d0c033a51be66501c948c45b0006afb45281595c1712b68186085709c3a0db99c99ea733aa6328771bd1f8f16d74338f11b960f42c5fbbb51cefddf2bf4b8d4445f8fd80aa8ee4a95d9778ac6d83f03731675920455e9305ec46d52219319e97b6b1fbdf9ec82a650984c3e30fb8dc9d1074a8d38c07dd74c18faafc32e622dea587980b4872aec38e477480f4b7974ec513d0131eae30da3ae6ce5ce842350231c7368dd1d18d8be76ed7bd43c56d3e3fee0667916703823513a045e061321a8da1cc1486eb5d5dae860ea3727f369b603394e2a1362261aee210fd0cbd816e13245b5638869454787da8cd763a71b7ddbf16df3f589a0a633168cdb61948e55643445db868f273be5f85d3fd16d5788bbe7f64e08be4d9ed6be150b17ab0ac03ee - -COUNT=36 -L = 2400 -KI = 1d06c4600eb312c177acda8c53f18aa23c2c57e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 60350ee09af019ba9e5e7871066e285a57cc5754aba582ae3543a0443d8a06b2e24c310324da31a85b1a4d19c4ad3a2a6c815a -KO = f66baba1767a4f22c6657c3d921b96ed3a2dad71f65962286c2396e05338f0984f6b39e1205a6a3936dc320c44271a2d45d3980dbc65cbf8c509cf3e44b6015f506c4b8bcd16cef8929356f3220405a3e9a17c3bf36977988dc5484f6b13f8952c42f08db9c0be5304ba9298c42db6868046a906306030d704da215867c2f850e4ebb1e02eb0bc801932640b5867152043c94b549c87b6601515405cd82157c7ba639f3b94182cf97269b688f7f206ce1620bb4377af6ce82716662fabb52629cdc0806be98006c2fc10b6aab310783d79fbd6e717c344ebd9756340e42dc01d308688563fa7ceb545ae332fe3e9277f91b46fb9e7ce08936293aaf166e51284f2ddc94f1ef41105a30ec01bf1dcacdb3fb1d9b08d8b8a9219e81869f833a83ca281c80dd2ae73ac219f0fd5 - -COUNT=37 -L = 2400 -KI = ff752d83cf328c9b2b0eef24ac1f097fedbc3cb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 626900499ff5964bb36491c31a60ccea158ac8ac5de4f5b21a0ab34a2b60b0a50021ca2ad3369ad39aac6013cb6c0b9206591a -KO = 1d877ce2a7276d79dcc20a453d5b56f0d3a7c7b9efd4af5b7a7e8e522e0a36907b98af22bd74682f8435727ce22982d6a5ac0afbfbb665cebfb30564c6dbffd643b2a7c835b702a8f6042b1446ec79f8229be6bc63e6cbccccb497a3830fcd3ef8281ff438d58e44512e742918ae841736bfbbe9bb5af145943a9e3d20b21791b451b3204ff0e0a99cdda41be0fb84bc3f2c91c3048b0af36e956071e87528713e2841fc0053c14003a867b55a131795d36565bd039eb8ef26a21b88b06cdee7de7ed6fe858f6a69c04b4dad877d4d9030d79ea39e42609ab564db551b62e121f291e24071efd87c739a665c1ea6d2de0202d3ce96dc122904fd9e8ba1961481fa95ffd49aee14d6143ef6417c01b727bb387bfaf0a8213aa0c57d9303771184f5ea0bb5f6f38ecb680d3eea - -COUNT=38 -L = 2400 -KI = 36e1482ab98d765e8e7cdbf4763ab134d75278a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 344b80cb5c3acbaf7e16948088558207e4916bc82c738fede06b15301e9b958ad96437a966c981673582ef983494478df0c64d -KO = 8146416323b84fb904795d16ca3ee2c909fbdab12efb0e64a5406c4d9850d7aceb67549abf6977a5782189a4eaa79dbcab60cd2008ec123c70bb32dc4a5db136f5c95a822dedf1d7ac8b6aee6d49819697ff4ec896774cdd422e0f62f5111a9381d65cc604d63485d3dbd526598a24d151201e91cea0c8f2a8e29569effdd434ca8aeeb86e848cd9db271e8dda2e5e8c61ca6058e105c6c67cd90f784f78eeb5a383c2c24fae76a5419a73b8452fe158e76427e663d250189136f978e91b930c4e5d01fff5be92e05459fb958fa414d60121a375ba65e4f3b3ea0eae2497bd962d05deac465e9e6c0a390cab1f8a7ee745d241c2a304ff9de00784ffc80b8b2b490dccd4769b36b4ce34deebc3da323685b4add82a61daada36b484db471d3c0f61998579c5676f1722aecfd - -COUNT=39 -L = 2400 -KI = b2dfe72bf8c256c513f17254cd2de618c1136c23 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7758109db52351fa73a30758c19fa0a60d9496a7005b10915b607be222500884a872928a9f6c5d16c3f2c48545ce7073c10b1c -KO = 97db2cbdc0600855b372c0ce5c01198a0cdf304ab7cc1ad909a6f72929ee3d373423ed824c6312f740833df57d99bdba074356488efaf33da61fe960be1ddfd7b0edc45116b7536bdbdc964d976fd221003da2b86f4374109df365e1d98f733e5f9d31eccf9239f611a0be581b20aefe5f367deb963f401b95a837256190d98bab49118e92496fec10e00368b1e437b72f2fa0ac118b49cf9039cf5af869c058492d71bef843ed8ac100adc27cab43a51d45ca8e35aff77472e1070a4eb6f5db5d588686c7aca1b69eb77c797bf03bbcdd3e906bbc328e7cb85b53de3599fe44d5cc8caa5963a2624971a7d4e396f6be014f73ebbad070bc70f708db4e95fc94b16b3f07e075c7c1b0e31b1a671bfd173fea81ead092a3ce1ee94fed442a1ae441de40c1105c5daeba8911c5 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = a53b7bd694e6cec99a76e6a6984227ca5ebfa829dcaa8f3db897bbac -IVlen = 224 -IV = 35882beae91f40e95365719546288576433311238b6db4ab03e3ac9e -FixedInputDataByteLen = 51 -FixedInputData = b0c2d9a578304e518c3bacc0500e3372cc21b3f9c0e10764ff5b78bee24e2f2042698243c18f9b08eacf9771fd4f5027dcd39e -KO = a06fee5ab55c4bba26af9baa768c97d552c4487176b40b7f4a707381c2a130e08e612e8949d717f5129201bee21dbd0fcbf0f7df0a2fdb074df7b031c8b5ea59 - -COUNT=1 -L = 512 -KI = 18496b78b85660235f76b80abc8c066ddabce3835621df1b8a9a041d -IVlen = 224 -IV = 0eb7117e4936c14e4a32b4396af0e7f7e50fad93918dac29302149aa -FixedInputDataByteLen = 51 -FixedInputData = fb1dcab223d7d1afdcfc24f71e367905001f80e36253a7a10d1132e9b85da83ae8fc5b5a496321434b4224ebcee65745d6a43f -KO = 4b5865014f872108562944e2e25473ad49697ad962dcba8e8158d831c42b636f060d58d13896e3a7879b78561da4a59a5ba8531be37522c5e2d3af32e82cd062 - -COUNT=2 -L = 512 -KI = c3bbaade2a225930a58293a8b341449dd84d0547572f532d825d05ce -IVlen = 224 -IV = 57c961e77497d5ed034af207b9ec48ee0027dfe4318fff3d96ff302c -FixedInputDataByteLen = 51 -FixedInputData = ce69cebe439b3bb1eb12ff8b037386b5fd7e0b2679ce539a43d727b1d37241b60e751b1c53e28c0ce222441bda17e3a245cd53 -KO = 7cd0f307b20d5238bbc50baca42487076e70408a75764779b550072b13a658f0666af998f952e81224fd9e87e6de8ca1be1bc12315f58d1d269818cd2b51e1d5 - -COUNT=3 -L = 512 -KI = 68a0ab8a3f524b6d66fc82c2eed6e378d08eafe045374a28cc027e4f -IVlen = 224 -IV = b8e63aa6cb42e2ca30e2bf394739abab90bf87fdb2438ff5ba6deba5 -FixedInputDataByteLen = 51 -FixedInputData = 4bb7681246004028990b74a0ce71e7f6e8715f362dbdfc1627a3af71383ee3e5a11d7a0c8f028b08310877fd3da097463a3a21 -KO = e48a9a5eebed5aedbe66230e80bb705b3374669008b203a831b833c4d3ab8dcb38c589b03ae5927197f3497b8b3dafdc7336e6e73840c8e096a7270b80ed326a - -COUNT=4 -L = 512 -KI = 741c3377d64272868c7c82df4082e4f760ad2d14f08d8bbf4b0868e5 -IVlen = 224 -IV = f807419745222dec3ae99e4434cc26ca8a4de3453743359a90958d6c -FixedInputDataByteLen = 51 -FixedInputData = 85e6b0c377dd81e8cf5b2c8b62812c56f4169840e8342e588aad4fae094a47ad6b50fee28d1857a4622d0536b25e40e7467767 -KO = 6f79a2ea5eb10727f2417cf6d54e63468dba95f29e8e87734f10a8584295494754f57196a0f417705339e849bdc2e40df6d64bc4ac26ef9c6663c6800ae29cc8 - -COUNT=5 -L = 512 -KI = 9f8bc47e1bb8e24f50e292d1ed3606d6ccaa99c5fac60edeec9d4678 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9ca7c54a4d934c5a0337270b926f6c4ea07f527f05270a2dc216c95a9cbb0611d1ada792ab1fc1aa8dc596ac48d8f636f1d651 -KO = 9270ade13043a2a21214e90efdde2efc626942c1bde906afb1afb4b11efa71ad6fb22d6f4d8461d37db3cc704ca8d017b8af7c185d32889a59d5c5dd0f7d4228 - -COUNT=6 -L = 512 -KI = b01caf6c33d7a489c27598aa0ee21f56aa7bffdf7d8785483c3e2b71 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cab8c167fcd4bf12dd7f3444d1b6469e206ec0eaf1f7ac0cf5e3ec40861e6e2eacde5e302c57e387b7fd284585cda2d17f34a5 -KO = e579325856d265ddae4744af13bf888b137082de0380d444884b1458aa711ccc17abb89f3aa1c08c10b839a015ea7fbdb53f08f80c24fcc5be80f4e7c45372d2 - -COUNT=7 -L = 512 -KI = 04826dbcc346fd6c0fe7bc6fe937df027924853ed279694ae627034a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6207ec0600f9757226cdd9c4733cf589bcdd481d427f829456cde8e6dbd25771c60b443a5a90d0bd773f158a625bddb5ee1c20 -KO = b40ca0ef181d3bce8ce618ff845f2906acdb7d6173d9c4afe592fb0e35a1a13a44d7da3f93e2fe2bfa23aeb5dcb44cd6682befb5490c6da6a71695fcfe0e28d2 - -COUNT=8 -L = 512 -KI = b212d18a46fa97bd2f8844e3351284740340c0df6deb0883977375f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = afbc5003369381f89e75d6117f21e6554a9a4c4b3f0624afc8c7a8f330d3d6c77ffd9cb21b90cb0b3995642886607ab64e726f -KO = 06f984eee77b21757fe6beca90dbc4aa29acc48dabb3303625e5b4414927204203d496d83b8eec2e61e99f64c8dbb15ea9dd79249fdbbe775bf080c68f57680e - -COUNT=9 -L = 512 -KI = 183e756c7b578b5f33165383eb37aad1b681e873790c6b3625cd838a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0dd486ec8db4a5798c5622be031a5c7d75a8dadb54357c89e89bf31115784c8e45f4b18baeb46d4dbaf42bb49ab1ad1da5288d -KO = 323e68846d4c409c3d9bf13ef87df8795eb2f12cf3c41258ce7006ae7f1713c15f405baf6e9cfb74fb613a5279706af2afdc1e8b1cd765547ae45816b9a37351 - -COUNT=10 -L = 2048 -KI = 5816e93c255f12a428550d690a4d8ab1652ce315827b1d6d3f50d23e -IVlen = 224 -IV = 542f4e06bef0f0bc1ad8667f925e803133f26d10c87c9c97090808db -FixedInputDataByteLen = 51 -FixedInputData = 59eedc296b2591c84a0cec413292b2567847e9004022fbff51e2e824f017ad99d5ebfe71d473bef10fb57ade774a363d9d2162 -KO = cb028a5053fb2892d4a6dc00b163eea943b1ad7cb50d93343ba0698e2e9e4bcf95ce730e793f4ffd1b644b544193ee87849bf4f4438309d540361f1025ef6ebb31b4425402526fa6074176247d74dbe7da27c609cd8e9f6c1f2f9cc06342063c9ce76aeb8b29e43cd5159274194ded5f39015f9686f3a98e03b7ff1e61e9f169b4fe00559dbc9243c9b06274afa7467f9f9ed83d75690929105b0299b1754dbe99d4dab87f2cbb873f0d92106835254dfefd101e43612789f89ddc09f79904b9952c54ee3aeed2143c177930d84b09455386780b9178e13399a62d3ba95adf9798031e55ce7997c10dd73d0671d747b8e8fe14444c3bca79ad53acbb6df63693 - -COUNT=11 -L = 2048 -KI = 7f7fa7a7e0bed661e39f028f829d951d96e5fff49fdceef8c5fd3c5e -IVlen = 224 -IV = 64b130defc6cc3cb22dd191707bdfb509086dfed71977451938869d1 -FixedInputDataByteLen = 51 -FixedInputData = 1da11da0fc865af48ecd16354148223804726b3086139c59927e9f5148317ad50db2d42782d9db9473ae77bf856c6f7f10b2dd -KO = 3e5361890edd471162731b96e8785b96d5edf390e564af7e1fe7b0f85d818d741ff87fee3bfa94a86ee326469b671671f92f18c3853497163d689663f9eb1496a49d52c249afc47bbc76456d9655c0ea2e45eed9b946503d2a9157f75f5d532998c5603df472847e2a7525f20796d0a7af7ec69923f040cc28f78a8bbb203d49059df80423e35a1650c98b00e129b45415ba32876695bb3766dd40c8926e70e9141e44d0e0fef7f25cff98b825e019bf19d1eac806247404ad691a6ede5c44e4761335076c31a03065adcf057d4e2ab450729e76db543d9e62031379bcf0bb98ccc2de31e59c48524dfc576e8d7b9ec1a75a0f7e7479bd2e82dc9e707515180e - -COUNT=12 -L = 2048 -KI = 5d28f39d2fa9dab2f2d2c38a8a26c08372bbd7a154043b9050153e0d -IVlen = 224 -IV = 6581d10d815e9feae470a3beaac2c5de0367ef281a2b14b05cfd2f85 -FixedInputDataByteLen = 51 -FixedInputData = c907fc74c1a0227c49c2d0b1b16937cf5b04aec493d806f11ea6e44800a4b771adcd4433f21e3a8b418368978740f0dac23a17 -KO = acd9fe00049848c7294edd3f5ce16b38e09f83d43c755172b4f6d8eaf9ee4def0f4211d3f1a1cb16f9cfb72a05b03376866c26ed2b137e785886e42914f30ef70c1892166c9a157346f47d5c1b3c067051d72e5f919b0a6749cc36fdae857d6ebd4758d435810d460cbd95124c8442bde0133ed5556f623490b84af7082e818a67b1f06da7dcb44ee057a2547be66e47e81a5ae5b870409d044cf1c3dbe5a943e936bf8f8659037a7930e4eeff7bbdc750c9b8009e73bf290b94eeb97961e3bc3191802aca25e1badf2432b27203b9baf7c250e38ba8d9febcfc2d04746af3020e9d906511a92c9046ddc9bfa9326ba0cda2d6c7abcf20a11c3c1b2d2d9afe7b - -COUNT=13 -L = 2048 -KI = 12b3d3f1cc9bc5be0cf07e045319a6d7bc21a3d9e4e65c6a45a79f55 -IVlen = 224 -IV = d9b3a1a77c37f4b81c6503bb0e6e0e7b31084583a0922b1414a820db -FixedInputDataByteLen = 51 -FixedInputData = 7c85f8184627bfdf82329cc5b5acabe17dd9335870b17dfa691867dc48026d96c96b60793a1196de563bcd5c0c51bc19ebef1c -KO = 6afda32c61734e8c9e4abc3d2ccadcc3b4efb44fdc58ee3ae7186f1c2d4b0e6a4b11b067b7dea5279f1edd294d1735d2d44e94a37843742cd795a8d65b1f065fd4bec240179caab090a02c9a7f4edced788f43161b13245c225c4453ab41ff69b381d9bd5f759e9099d10b5f2b335e40a829a7a14aae92399483175760b5d2ec26749e6cd7d77c88e9f133d3bc86dbbffccc64efd2f9838dc42b25eb27c879118efb18aac7fc43f501c395a8b6cd8e709e9b3a34b39272de6b4946eb6dea9d291d7acb0d872d0060974e6e3f3cc705cdcea92b600ad09185e2a4384b1bf5c22daf0142f241f572721a9c216d73c06d1f0cf0d2723a0c985d283c2ae066e54cfa - -COUNT=14 -L = 2048 -KI = 728159f2e61f0e3f12d8311a2a3c25da7b33b730e440647c82c3b1e2 -IVlen = 224 -IV = d6edb476941a7ca279d5fe7310a30d57f474784a68a5f0d15d34ae44 -FixedInputDataByteLen = 51 -FixedInputData = 6e5c0a273cbbaa44e366f60e5f28a38fae0641ea92d933a2887441e57ae313f2a4acbc834f5b8ee6d50520136c5e76497150a5 -KO = c71877a77f607682ee8a7c57c1208defa02a684feeb74fb9f79b6e5a7c9ee9dcfdd827fcb61d140f606b4ebb93ba28627ffb91fd1c8f3a66bce0da173a77e6e35a17cc95b1070d73eeecce7be13a55646a1500fe4bd8dd8735cee3dabcfd2cccbe1673435cbaed7bf5aff8e7089c863b02b695d8e7e1f4adcb01af09499887d6ef883888f20730320b794825b9d88c7590ade90795852412f67452953053b7a1c113c1df8478af77f1c209a0287a3bb642e805639321070f29165383fe14529f88472464327d8e7aa72b32b2552c492077025ab4b3a5a3e6c0d5d363ff3155adf687b6f475f956bc03e8169a7c4538e610c81e661954ed23126592fbe0f464eb - -COUNT=15 -L = 2048 -KI = 1ef6a7c7a27a68722772df1f2d175f6d1e152dcea3d74d643d034576 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f958dd7a6f2bb1253220acb237894ca082186087157da4d4f5d49eb6f56affeaf3678cccd612831d0fcc92945041ea82235f85 -KO = d0489521629df6049f8baf0d21b338597e7a5af4235d704a196fdddefda6a09876fe9d27bb9d7fc3d99f2ed30923f1505603dd2f3078e66289be41e30ed50fb652e0aef37c8df4cd4b0ef15de6afe05008a7c96cc86aad5bd168f72dafc41db586210c00317aa8c32c188f52bfa003ab738777e3adfc9531c673f07dcc25a9bbb43880408c125d7c24b9f9e568f137b2109215984fe331807062fa82f3366c231d122fe2c97eb00cec90ef693ba075e7646b0ecea594afbdc477de9a3044d3bfb4212e6a9d5e5708405148a508d776d067a0329a2544715f8fa71e4aacb885b958762201f69e62e5dd37e0d6265b7b33c679bb62afbba355bda8c23ad087bba0 - -COUNT=16 -L = 2048 -KI = ef148b601ad124d874c5aaeae80405f2a77b33bac66eb9b4dcc6f7cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 678ff8bc5bfa65c43ab4c699120cbaf15f472f4cefee3957490e025a8d06f5f24a6d39151497729a6ef7a69e99a47fd9573a47 -KO = e1c9b9d4ff84e37a7fe3df94214367caa40d701e39cf81cb028e76d0a73f5450ef73b673c3a01d2cea1307cc9981b85f7047abdb492a3aeb3f8f0abb0208d054771c9666ea3cfa5c6a501a30c963b315899c71cbd201a7b2bed4db60196b76d7389e3de579d671dd6fe6745a19b37ac6e3bcfd64d619bd243e982275caebca300fca416395457cabcc94f3b6e8c75cd3179506a1e24d73a28355cfd926512b9ba3e882aedef508a6c316dd3ed08e85bd0f9566c5865ba0adeab3f3b639ada3907807926b0602562e850ad3289b0c54491772da95a9b101d98029a5c60eacec1f94a57d488d21b5b9cbea8b658e7fddfb75ead05ab21024712993a4ddc7089972 - -COUNT=17 -L = 2048 -KI = bf3beb49386dba94058736577b7073130c835148e3d63fdd969cb400 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 369991d9b160fb6a1417ac02a6463fa5d35c94f6dcdf55518e73caeae10708b364437c9b4ddfe8253b6de148fb6684801d83d0 -KO = 19e575c7c294bbfd321fc38d4c240cc7685e3f4b05ef4723d6e00058de201db3a0ca6e96b2ee47f5b195d1203b543cc37ce464c0f2b6e2647f35d94006d193592d57fb59279a16c61055a996ca6da9e7d02d10750352098f4f907ae858f0dbb365670dcf9add3a80b6774edd06f2a93d5dfafe77a032a47da4dcabf1f01ccd92ce2aff3798d1fb7768f751823b409b4030e804fc64c0b0cd7d2be1b084dc282aefb9e11f77831cf358df76b29ae2ff8aa0d1505084b6efd643eb8e3745a6ef489124a8e36c307ff6a85a22ec2290d580cf2e10b27bd18facd9edc5c68d98a815480cb345a50873e7e40a0a0c64095fe2fb97802e6c4bc58de0bf93ff6ca9f29c - -COUNT=18 -L = 2048 -KI = d25a6a8bf97f35b0520ffbac31cba77134ce9a46276e467701732157 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc663de295c33835c42b49aecd31c0a6bb02653d3f3db8ea9b2bfdaa3789092ef15cbffaf359adc36e13e541277c4e4c0d8f8a -KO = a5bc38289a80901a6fc170c6ad6d0b40f7d4e99f152854b08ef25fb6a1c27e8bda59c66e6c325bfee3c22cdf5aa71bd4c78ac6f476755290f63be69853a516841692cda3c7421f8dfc945cc7ac37271a86a9411a212ab109cac9c5a65cdd54639f040d9f4d78f2998b71d29df00988496f581f71abe62f059a7dbb41da6d5cd01c3c79ef6b20695688b4eec0ae9ea9274a3674cb3e6151a4e01c782dbc378a0b6fdeb32bf6a5a0c659b83e8c411c21c2da947fdbc9b7abccefbcd39a963afd405d94a5e101dce4c1a7765b4a10115e9bb61a1da6391f9f7bd0feadf7e4676eaa45a33f55773dc85ea36869469a4e5add6d735e6c7c2dbe938e0c25b285171c29 - -COUNT=19 -L = 2048 -KI = 87d38a5017c370f5621dee26b828ec27e0ff4a5b3ef10e2b6ad25d0a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1c97d249993c9ddb0a4964c56ed493b2649ca9d98c892a7005278e77919d1148a8c7092d651d0072984812a6d42f4685148b8 -KO = 98935e23a2d9b2fb6c5f69fb5918dbf9a0c64e44ebb5374f2f5f0427795b641b493a408451087dceaf5de055d4633fea798db6733370e34c3f81a0b4fba7b8e6082494e7e1571a70a91281328881e1007ef707ca9597d453261c02aaf86e76cbbea741967e84d853c5a088b3482e410d0bec1399e702a07a8fcd91290045d6ae489e47df420233c64a7cab2103f7e29a674490ffc6f6f79e676d93e2f8b7624a5dad66271a9e707b91f1e29e86aac94e013d9442c63f1dc2c14322fb9462b888bd865b28c0f2e84e65367bf147f420e8577c82f858cb24612c9cd486174a5ef5614ece66a0086eb0b97c14bf119ef4ee9b7d825b2ab754eab7ec58986c1d2582 - -COUNT=20 -L = 560 -KI = ace8f9a5f70d7860c3591dfb5e98b27642812a10b8fbac67033f4b91 -IVlen = 224 -IV = 43662d807c102866ab31b55e03452e70009f780679dfcbcc8281319e -FixedInputDataByteLen = 51 -FixedInputData = 4fbf5715dc18b588cb427670ec2a93f127a98516e56897124a8eb997777d2e553caab6679137621a520d605365b2ce4421b1c7 -KO = a189b30ac72ace3b32c55804651e08cad42077126fab070d756c8f3b3b2439d272c1f9c026359a0e1c715d1a447f7606009a496b1f618481f3c277a5d90dd50964ed423554d3 - -COUNT=21 -L = 560 -KI = a0394dc5c52041771cf6a2d43f2c8afbd87f698d58c1ca102413abeb -IVlen = 224 -IV = 5f36b1d6ab027a164c9e7865d7c270982cad94558714c071740a4b01 -FixedInputDataByteLen = 51 -FixedInputData = 36f018dfcb4493e82ffab03a9de30e7519c7b9831f32e64591bae58c191d2ce0d947a858ded97c77bc470f90c85fac9f9a136a -KO = 2aaa9f4022c56ee690995521aa3e7ef4967cf87eeaccec1e5f7ab51e565d57616df02fb38b4625ec593cddf9677bb5334840760c4200b8daffd89d72dd310c395a907301829c - -COUNT=22 -L = 560 -KI = 579fcf173ec7bdc419855caf5cf15b3a71f036fa9d824ebabec46bb1 -IVlen = 224 -IV = 36579af86254167aed3cb5169e4a42451ac3bcf59c9e074b26d4b738 -FixedInputDataByteLen = 51 -FixedInputData = 5dd059cb0911df2a3b7cdea1b57cc23c49ecf4cbc7cba16f2b0945901b403bc8c9eff5e0cfcb4900d99ebadb24a468606fbf69 -KO = 625792357ff35a7027ee6b2cee4566fca569c2e949e623332cd44e6737c88980d1244688d653dc6c3b053091703b9176b212ab8118d90f1c7ceedc00bd33f8a81f2bd95c1c0c - -COUNT=23 -L = 560 -KI = 1f716d615527aa24bc3f81f95c9b1042392518c9a4ca99ff111c3907 -IVlen = 224 -IV = 8304df2fb7cf8abc9cb9855621002df692901d4f56f3b2ab8c824ac5 -FixedInputDataByteLen = 51 -FixedInputData = 6634888ed440336784a78f218de7b855a3bd3c4d917ac6162aabe6c5955f215ae1493b65312bf998266c4b57765e0ed6e8ee03 -KO = 2327a29a01681c244e63f0fa2f45581b00bb11c45a8f79986fe75fd799dcbb8bfc43a6b3a808f0bb7d97b0126b65691d18ad5345923c589fcc550fc09ead7cc498b09671c87f - -COUNT=24 -L = 560 -KI = 7769c1a42da248f0e4bef0801ef5b147f963909ce849ccac478e856c -IVlen = 224 -IV = 91ee16314dc2f781bf5df460137a9265d8cf48c12fd99e157c33cbce -FixedInputDataByteLen = 51 -FixedInputData = 6270f7f31077c9fa1063c77dda698b4a10a35a309aa3e06f3180f1397db1bbfc443b4d6b977e3aaac583cae617656714a6f04f -KO = f8a0928baaa39e169e2b9cbb5c2707cb2ec5433c1ea85ae10705edc7e67e7accd00c69f2d34a29524d62b7a89274ee5283b8ee8d46cbb8094c87a54eeb934ba5ec7c26b533c6 - -COUNT=25 -L = 560 -KI = a1f041839b6f911357035f72c5b9a46f8b0d14e5966de302d15ed3ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e6702a7b8e49c6ca347d7b48e432e0e7bd203fff29bb1a407241117fd9f8a36099ef69c38011b0595b11bfe6bff03b44411737 -KO = b60829c9b3da244c9a24999c139ad01c8ae9cb20e73ce0cee1bedbab371cda1ac157f3454c7edc7158920fc1202775d4f1cb8eadd854e0f0d71b497ad0a67e9cc8fd3bdd82e8 - -COUNT=26 -L = 560 -KI = 26715b22695ea5daa0808942cc6a476f9b81a3c10961ea15ab5918f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61cb00946fdd5eff914cd1d6f98b8ba1b7bf0a964698b49fa14426f37b3d7cc9fca5060e1cf17ae2957983f7fec60b0575761d -KO = 225b46c0c7eea895a4d1d13cd99135ebcc8f3bc711d52388e65ce413da86e805ad7fc80fd1776f8c38dfe7b6f9e79706334dd7bfcef2d9e35f45cb29f9e840470e3b4356b576 - -COUNT=27 -L = 560 -KI = c8c25676fcf4f32be5a4f7c8c139b39b306158345a94e3cf127c2d86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df274aa51f9ee392915c7798ea38add67223e8e68a8bed64540b5b11d4be01470ce2470f19d8d6c753635785d17b3ad677182b -KO = 889f322e21f93552b81c5d06dc22b75912616c0e7b1de6c77aa7dfec53df01b50af1b33d462834c20a3b2d20db56808ee75a49cf76a3a73cf99cbd07f758cac86ba00cd2141f - -COUNT=28 -L = 560 -KI = 7d1d09f29c49c73949ee716b5e89af017ad85e81fd886b2261ad62b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5e0f3a9fa8a24a5ef7f7c7a842a27700af36e52004b7c1eadcff8b5fffaeb01d22760f67e6a2c42b44892cd7e37ccf861e24d -KO = 5c8a2cbd79787f32255afd319b1071e00a3324d51256ae31e41affb29a871b36216b4bdeabba46088c532eb0daa09ac38aec66e529ac6d7b1ac95aa160d031f99b2a3a675f0c - -COUNT=29 -L = 560 -KI = 548d1580cb67dd4f323ee55dab4a3ec615d5fb8160094ed7f2a8cea8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d75f2ba122878fe3940a31f77e8bca7a98c540b826bc7038abd1d55f68d5c7baa070a50919790469b96cb067745770825450e -KO = 32a5135dfdb92174cb36ae3de89b2c68fbc606ac157940ddafae0c0c1a595ec784f74b4aa171d0d4a6ba744ad004259f15e5fa2a05cd2bae82b58dbf840bd35131c6bc94709e - -COUNT=30 -L = 2400 -KI = 1943170636b23301794180ef0bcf21da4eea2916e9e64a23b225fa8a -IVlen = 224 -IV = e536b700df4a755ec98bd992d52dd21673dbcec5a3ff64a1ba2aa576 -FixedInputDataByteLen = 51 -FixedInputData = 9c87b33dbb8e7385be5d2aaf95d08d6c4bdbf78c46df99f16aa63cdc062298ef867dc78efe8c3e0d2366578011a12d3c97e4f5 -KO = bdffce406475caf2e5c6d8edaba0e288e368b7a0113003001040a48a91b2c2304b25eb8bbc2f00b0677c530b5fc5577922b97ae2b29b5cb80a18052c5b5c93cd93252dfcfa5b1bbed091d47233725b9b8ef7a08182d5d86f23fb5d02638b65ffbf74fab13366b8ffb855adec2ea767741e42165ac030ca1387a4ec79e2f281f2be96aaecea46ceedd9b2d8f50e6628f0d15a5054f44ea1c6a7e1eaa918d24517bbe8a9a23b47d2b0fcc6fd7b2730b1c33a871f964d7b8d5df7052ff0e5035652a00425f2d55d799a39a3965b444f8b5f6ad041ea019783e5a4734b89c032475b8c059f2a8ba3e166a995b51d975c407548be8e2bef4926799f592c63ebd3857ebf723fcb62473155ef78289c541d792793b26110c8913475503e0a604b1f13fc972d086dd7dcba79c0b29d22 - -COUNT=31 -L = 2400 -KI = 4e9cff351146cf935354f8c3d8559b91436b3babc38d566b7ea0511d -IVlen = 224 -IV = 7c7ba4ea5a3f2e3ae3f4a5eee39d379453bd88e9c2e5b926d210a580 -FixedInputDataByteLen = 51 -FixedInputData = d2509e1f50452e5536864386afc5f8beb2e66beec56dc3b9d4cb12affea75df61f6afb966f20a9c5f05ca0723543e3bd871034 -KO = 78f4651dfc62d4eda136b47a41a6c3982d20b5fd22159ea162b0252dd525b5badb2da2134ed7f8eea74eed0c588bcaa7bc39b4c6a3578ccaa9f9f8ba53aafa73f549d00ebeae38c9d2e116e431f8c3b1b5741a2db7fea66bed742828626ea924665f4bf2209ac7e87dbfce4987d5d59fe431ee2cd84ebe2dc11557edbab6372c47f7324eb858b06d3e24859325febf3fdacebd79de1ff30d942370843f63079a14e61774e5d502814182ac928bda7d6e3c0f810516ec9f3c340af6bf88103f97a3df9e04912706fed1e6e6460ed17d81bf18c311e89148deca84de2de71362802fbdfe7398539a0a8b59767edac1cbacc8c3e6657eb2e7e280e5acb759142e5c26781c9580708cfb71f244ea2a2a3577e7916d8de578b765695ed89cb4feea833fc120d844e9630d3c4570db - -COUNT=32 -L = 2400 -KI = 9ad6586651191f8077a98b4859d0581a1d2f638ec54d60ad5a9eec41 -IVlen = 224 -IV = bbd160b0c2d9e1e7b0c949233200f49de2cdb154c4da4911ef9c712d -FixedInputDataByteLen = 51 -FixedInputData = 60c19af8dc8386112b7126c5d86462aa5797a9a1ccdc79d25d8f08fb96e0ffa09f293486c13a6780e381079bad61f7e15b5d84 -KO = fe2dfe519ef2825684ac71434db15df9fa4dca416525e2e4bfabf63b5a5d480c7042c0d4d4d027ce5232759b668839f436d07d59c1120c08ed03b515cf6ef1dcd3a020f23b4cc29e75adce0465c0523b649e2a170eac7d0d6060c87444b0aecb905f56b0aae6a8bc83e0325022ab3530f78da3d3a52dcb79999832c1f60a982ff67f129df606500d28eb8f3ab5fa5e1582839226918399dfbc8229b4c06fa0b2aaa2f8ef949d81cbb7c55bc2ed0f97ff6bbc94b54f5f92a912bf3c7c98c381d6bb28ee08160f5d17cd1a3e52f9d65d9a340ff8e18d9cf0fe315a48679ab2e47c09932d1cb933450d05d8264b9c62ea6d960d8f2d8bc32601506bb545d4763d5f19674a7556a52e043607ee40bb91067dda8d3349284219160eb667d105d88aaa9ac52796dca43045b73f82ce - -COUNT=33 -L = 2400 -KI = 7adf7aa1def06067d478fa5f63a125e122f4af4d13b1e3b34c4b1cbf -IVlen = 224 -IV = 58c22fae93fc8c7476219407bc576ce7240bbbf9ffd57b3d06ed97fa -FixedInputDataByteLen = 51 -FixedInputData = d4cd9dc505e0bd95531abfdec14092fd7344e8036b05173e3d8aca74ddf0262128b054de6a350071f40ecfbcf4a7d92d57d710 -KO = d6a83d9b96b55935b1d56ade88e68431f95b633a1d73fa115e7b58fa5b88147b93316de14bbf495255cbb28dd3402903d0b82c5d008f4d93db5170caba5cdcfc15adf4900b6e09537aac40348e7906fc32ba37fb7c90931564cdded0dba13b030ce368632ece77a3dc1f6235ed71974779706128edda436d8bf14a18bdb1dbaae2f27d047115806818fa00050a84ae568a06200bf0b51b84752b7e92e5e6f765b046826080e0163df307c2e6ef24f747b913f150796e7852997d4c7f4e621a19b49e510dc211afb8af312e3fad9e0ec158b7b688de5183efcaae85c3b01600a9f27855f6dae35fc0b47d2a1941c433c19583bd243759231f3643b9c6c825315fa9b17b7140d37ffc4ab1d359c052ce0a00cdf1dc7fcf0e6723c924714fddcc86e1ecda1896bba876c277f90a - -COUNT=34 -L = 2400 -KI = 16734745e843332a5ffe5574c941a387c7953ad13cba15fb48c2a755 -IVlen = 224 -IV = 076ad3254c4ec58662ba228ebe6ba06d0fabb48639326826bfa2973b -FixedInputDataByteLen = 51 -FixedInputData = 91a2d5efe6fae8e6b51806a92a5e142dc109ef685c4d3c4b3adda2d9336f1785c58c9922f6d9131f7803e6cbfc546d99d81cac -KO = 1ba94a5dc469a1aa90b2fdc38b981f1d87e59d70b038295bcec17fac451fcdeaa51dfc81d028d65d356e41bf3a11e7e6bbf0195acda135e4a02dea87f4927dd2c18efa793e0cd26dffc0ced3d340f98b7454c770f1ede8278391b60c5d88a83b09053f03bfc757445b8f78ab7bc8bdd7af448c82f28bdcfe0037f002fee97fed8537f0f092cca7dec0f650713930369eb9d27562e761ed70f6d9aa65c0442cc1a16d7ef67e831addcb23beb4ad42f0a08b0c9d525d6f0cce7788daaf6ff39039476b356bd578d6e278aea8d8b538e255b09e755ac42e6ed339fcfdeb63814c4566641b4823c55be68b2573d6f97d224b42bc3b19bd89c148f0321b3a6a832243e5c42f5934da64e839f7b099bdb654f436af4c83e72928c95aa0b5699ebf10d3779b59d49b2c5664b280cfb6 - -COUNT=35 -L = 2400 -KI = 7b6615472e2c59e279d5432c7b09d06c3ea3f4dca9b94a39d294fa2f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2902551876a26d22396b113ef046b9efec54b318e51c6e70430651555ef5a4fd3e2853d9c0797278f2b7182a47582bee5bf89a -KO = 3bcc60f6a2f024f137519e9bf7ff3d973aea56c7a1bacc54cbca151fd66b313e7c07df323ea54d95bae6dd8e5e9ffe3b31b2b5257af8d01b1b680d608edd165afa91833614c4e05bd55c7aa4a1011e859d95d5bdbaa5d76171af0c8e9b8c8157c0bfd216188abe1779c76104af0caa33f0a6f889ed75fd2d0019ce1af5e36854cd9e976d78fd095d4774742ad7f2d85a90f8fb88f79be0af92ddf86041617ad90a830b4a562098743aec7a8485cd04b89ae68ad25938861fa9f82d98f8855392db7727cc19966a6cb27ce82210612b415f61e2cf5cebe2b17b0853ae830992478d8cd288b2e1ce69921ea0d37aa9b1f9e44f6f255f1f56a70f58b450967da5c37640112e5db02d0a70e98d233c01a4896f4c9891fc7a037df3e64814758176b7ef92c6615431a953088f17d1 - -COUNT=36 -L = 2400 -KI = 9d0aef501a5c17ec26206769bd5e5ec60cdbcdb8c55ad78365adc726 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 982eb84cb5752677291aaf8165faa3cecae9d99b4bc9e78208e42a5d605cab3ead6e60c4e1c1ec032a29371dc0b93b1772d44f -KO = fefc6655e3f6127982d9566d87ef5381a6d3aa117ba6ea9e6668f03df66dc0ce981511f9ba7f51bcb6e6da3e0df40440e1d43210d077708c89a4ae67f5ae30c8593ecc0562fa4a92556e8f863ec123e38859956dc0084c669f1d4c51cd7d91e3b0a94a7a04e362eb855806bf1efdf05fe976278a45adc1c20fc3ed6390059f47e3474cbfdd2fc0f1771ac10a5c78a57f589c8d0b3e3b61262472fbc9a1aa7bec6f8d6e10824113974c0c335a0c580d3c63a51d1bc8a759e25273d216499026b6b2dc71c5c694dc2f09fa47bf085a05839eee04c8cd5197b9f11e7aaf64a81f5af4521107e878be16a6f0cf7290342ab30bee203e2f9bd40e33879c8e123cc2c8227b0c72f5718ea7d997a7f4fe08061c73476b240327a713aa86fa0bd833dc1eb5a4e5e6c29646f807baf4d4 - -COUNT=37 -L = 2400 -KI = fb75704e38e1bf8f925cb35396eea2f390325505b5d700629e3d0364 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7829f6f11d565007b770e0546a66c884430cf9c6af00f2a855eb92f836ed5fac8819027f37b1e84c35331a0e8ed50183aef73 -KO = 28488a6e2f21d2a8702a5aee96da1f8487edf49b6d476114a403fcd475450f12ed791e39eafef7c63b5d14689216b504dd1a00075752e57f7aac15172472eaecbc2ba76829ab6a8cb5c51f0c4d649081c126b8a37dfa2b80d583cb1c70b0e9cfaf1f02f9fb4b8108873b076ef89b1dabc159fcd877762699d2e3da9faeba24a121c785b4ca32ce441d8e9b0f93892e715dae0710044afc7d6bee0e5ad10762813fcf24892cea63ce4cf78db9060642b14c6bf011812ad6f0ee6e38a4d8e020c61a5cd6cd7cc600fe99e2895a9b2dbcb37c5184fa2e1de375ce6148c3a0f7dddd70f0afe8adfe8ecd58aa50ad1a52f17760d6b81b1efe2882d906ac73d3e888b1d485ccf9db1fba243dc767cf523d064cb2aef600ba04626f189f36b16586ec6369ed652631d0990db587b2a6 - -COUNT=38 -L = 2400 -KI = c5458a2dafb99a2202b9545b3ea0cae3faa516b8f7d03a9c6d2f744d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 01838af8098d26d1b651ae434bcde8345d10963178fe5fff4ffa125317f76382b48402bea2302f656b67abded0f66ec2daf2ca -KO = 5325e590e547e4b305e0ee5a7d57424d4a96500b1ae182a11be3bcc2a4cd4e599b119bc95d815116bad99f37094bd6a0f58ff1ba65244a528ab7dd2ca2a9caf2ac15046aa24dd062630f5063a57e73374abd035c6217d0a69c2aac2c8f92997c5772a955cf5b2b3ef16bf8fc26cb8ba2db0df9155270377ea5145d76a529454ea4e33be30d9b9caf591a9ee3e8ddc6ea8ec6535300f8db9d6bac62a51e9fd0a7ad46cb3fbdabfd5d9ebe973b3a36954f45f6dd814598edcee52264df6ee60616402d19c6548688a2a393e33ecd63f393a1c766faba755b691f4d456078185fe3f32734403d44cfb3d0bac17f856e00bde038b986d70b572231a4d324972e1b44c2e2c0650bb609fe2b14bf8021541b5359e41c7a66928609f2ae22c663ec76a04daaca4d077281499a60cc59 - -COUNT=39 -L = 2400 -KI = cea3119b635ea89d952ae07d8c303493c4a4b0f4438b829e962c93ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80c6a4cf2a41c3af175dcf5a78edbae37c963e470728a77640c6ff00dbfe14ad560e921ea9a1764bdc692e840a506d1c5ce969 -KO = c0bfa9708067a4fcc288527ffad290927787942cb3074f9b974dbd745ab3ef05f57b7b6e41912db0ae4da9ba7913112fad917ffa4ced7f77b78649714ae261d47151edf061cd8a5f6fafd7443f1e38111edf5bee2ab1c6f317714cd06c6bf5d72c75ed19780e2d3b85b81bd552421b3714e9609677aa912c761cb05c311689f67a7a7a83d1a52cb4cec91dba8cfb9ef285c7b398361fb4f96ee33ba49cf1fbc7ffd2a080285e2800802b54b64ac57b2703901a1072895aec0d5770c6d1411c299dfefdd539be9646a17440b60eaa859546fd62273506d3fd9774dc9c563c08e0022e3d8c24f90eedf184b5211997f84bf354668e44aebbad6da20320d281ffa7b00b874319fefc65649ba9e41bf1239254301fbf4539407db446bee9b6bbc966f337c69ca57122c5088abfe4 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 9c4ef2e32b21fd645c52ad8fffe9daf7f92f47dc581eac072eeaed64 -IVlen = 224 -IV = ca5324db001ca6e1a6e9b591c6a38a74808a0a578efccbfbaeb6bbeb -FixedInputDataByteLen = 51 -FixedInputData = f570a5e54da8dced8295edd3476ec4cbfaf268f3f4d9dfecb463e584806a263c251c6dcfd43f470d2b7ae20361f8f766b4c272 -KO = 8aba17d218602e75d332e3ba273eece8872f7813bb06cbd2934ca66629877c7c0c69e68a460e4348b4e35b85d4a308950b6cbad1b035792f67f7e56f4252afd6 - -COUNT=1 -L = 512 -KI = bd78bf60699bab2257a8a1f93d66f054891ed797a45f09b787600ca7 -IVlen = 224 -IV = 4bce62de75d257542e0915e379a32240793d695a45671d81ebdc74b4 -FixedInputDataByteLen = 51 -FixedInputData = 5716c854ab036a72d0af43172946b8aefdfd8f0603f99a897b3d787a1b08d4e27d51dd79ef792c9b80ec61284293ee7fb0c2fd -KO = 4ab533ba7a41746ff3d2922e349ad1f8d9ea8e446538b52f562cdfbeea1ed3974c3fd4e2f77c6ab8a800088e536ef374bb14b2e60114c1fe734a6d13a4f56070 - -COUNT=2 -L = 512 -KI = 2a22a8e597df2bb412dfac46fe0da1de16fcf37717a03cf09ce7cab2 -IVlen = 224 -IV = 525302ead72f11f62e4ac811c768e2ba281bf1150085fcad99b0183c -FixedInputDataByteLen = 51 -FixedInputData = 5bdd7218b9a46ab8042204c1046e4d46c533b204dc8bb5edd3e9323fd34f16089b993c5a41cbf388c113d3c503e52a4b5ff15b -KO = b5a89929edab4f516a31850649f7b7fe0216b4934ffb153fcdbc9428140ce049c0ca7b0a56bd37d00db6439c2c70641598c7a188c45b98a54844f5800af612e8 - -COUNT=3 -L = 512 -KI = ac9a6aaed12225f34b91a17c2ad416c48dcedc977215159d1457443a -IVlen = 224 -IV = 7286f567046c8b72ba2a38a241149b413393c3ef2ce3b6024ac6c200 -FixedInputDataByteLen = 51 -FixedInputData = a87ebb74485cde3ce05aaacde95e85dede9fbac8c528b266a5dd58beea9bcceb716f026194e56dbe156941e95d185c6bd6d7ae -KO = edf5dfa985af8689e06d11cdbc3e49e5178fafe7e542ed8a05834fdac7c4e4ae6990c2fd1ebda8333b58d3268985067924b953b9bc26a0040befb4a2da5e8629 - -COUNT=4 -L = 512 -KI = 92bf4978aed91a74d57a73b19bbde537c882f2b773381bab4cfa96ec -IVlen = 224 -IV = 6ce08f390db4b13f25c6221ca5f6dbe497d65470a645f57a3aff8c05 -FixedInputDataByteLen = 51 -FixedInputData = 3f18f87cea4cec93f6b1734de573fe2d616c22c4b04a643696d45026e8f7bf92972e6b76d0b7d5411b79284238eda5832d5c7d -KO = 82c99de9a24fbe5f7feab3575e5a9baf66e072bba379387a5df033bc868c347f0b72afb3db8566cea05365431d8a99106aa8bba323e870934db9485082bf4d3e - -COUNT=5 -L = 512 -KI = 9aa4b52864d9902a9ba832dc1ebe7132f9416f6b710146e4d6601ef4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa7ac0e236449cd116c2cefc32f220635754cf2fa9b2acd2a5aeac91d7ea5df1b4ef3ca88a29534f2f71dcf5a50b77ce99590c -KO = dbde30d4e4e35dc0be1531253d6d29975e4417b65e30deea2e3675843cf3b2dae915993c6b662d1887755411453d878a964ee0ec31939f8701aecb1690afd8d4 - -COUNT=6 -L = 512 -KI = 3d1bc05a94112cb94c7d5d42136d25d846a961af8ed8123c7b5478e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77ea89e620f6b1ee1d7449182b1a6dd352b5654dc0362673b3cd073aa3816e60161c484b42cb89897b7fba229a861bd1336208 -KO = 4b9914bdf943510d6d0ca6c01ae621189eab6eee86d41b9715b1c85cc0e2edef290069d24f872932fa68b27ab9af5dad25d2616dac5957cd16b37950a5036d8e - -COUNT=7 -L = 512 -KI = 70111e0ad69f96c1bcb50a664da1d1cae4b30cf8199abc9b328f9f2f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92bbb791f2cb9ddaa4a05b2d61c27972aa27153335ab7ff021c0ccbb29563f57e4a870f83bfc573e36fe144f0444565b065988 -KO = 8922712451834ad0391fd482b0d1811a7f27c7c34419b1fb1700f85ee9abe9f1ea5712f83c1d30e77d98cf3b295c2ce9e5ddd699e8199a48a8736fc66d07a3f6 - -COUNT=8 -L = 512 -KI = 7221a668b6ebacb2fcaea30fd7883db2a3e4f54df44ebf34e46147ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1014ea7fdc2188cfc7f57ce64bb419966e61918cd019b7472a627c087a6ad7f834cbcaa55b61adcf8fad69cb3506c8c324f7ee -KO = a84e8e6c5d01f2dab876a3c7432f445c6ca9f22b62da1b1843cdd5dfe85b94120fe840832cda5d75e055ae2a761c0b631cad9df4c8d1badfd01be687b09e6cf8 - -COUNT=9 -L = 512 -KI = 4cfb393b8690b96885947b3fe59dfbb778c7be7579c52193c710e4a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ae79c2b18ff3f0226c83bd8681fd89d0ec17589b0b4b45c5ae837c3fcbaf79ab54c83b0cc97b5edeeee48bbf8229f1bee5f6f -KO = 23f305951e4216798b4123f9308450541bcd33a1db40a5aef65b02d9209fdbcd4cdb3b269d7b562ce11d839fd2b384aa26615621d9c317391f7c3c0d80d88e36 - -COUNT=10 -L = 2048 -KI = 296696be2ef6fd802663c89ae76db9a50ea9973cce3c25e391254c1a -IVlen = 224 -IV = b14a27c57fe32782e3a880d0a8bb27fb8384250aa333b72dc042637a -FixedInputDataByteLen = 51 -FixedInputData = eddc678b04526611f01c7c0be986e7198362c64a01c1542eabdf381429827b4c207ab1acdfc592aace972927dc461a58a4e0f9 -KO = 910abc3037e4caa0af22bc98b7f4cf1a3db8cca47bcc01cae83998eed95384c6df0bdda455ceed7a6909bff6e26041b9358d031bce8927eb542f467219e0ea34680d65cf37ca3d367ff9edbfe9a613f1a2aee82b93e32d1fa5a2f98a20c8dc4131e690844951c7dacaf3ca438995889368b618a92c2f47eb7344e3676f5c5b6960814b811db1dbae59c35efce062a08086eb3b2134900c5ce14fa767ffbe5606174207433f5e4fa45ae60a5ba710b415c831c59cb489590ef44d7cbf65f64359258d1c80db08ecc6d91977dcbf89aa5b0662b07b702b413e2eeb53612c606a91f2a4b49b7f7199b91cd5c82b520ab6fe861c5fff7a98f34240cd3cb2090f127c - -COUNT=11 -L = 2048 -KI = 27273a4984fb6a0a43a06cfe7558a144cefde9722e91fefa60233405 -IVlen = 224 -IV = b65f316e01e67352054d1b60f674dfbfdeaa85ee8984f6977ced60d4 -FixedInputDataByteLen = 51 -FixedInputData = 153bee9593bb1a6007030fb323e06d589689031c0c8b05f91aa7dd799ca29e7d9c5a24ad24e04e0727d7cb72e969a4ec959236 -KO = e444b2cbc7a5764ea7e3f6e8babc9b9d0476801b0530ee5fd34e312ee441598f9738fe38d5fa3b9572f56f89a1a2cf13104f528ed7e2e6b14750ab5fa1b614a6686d63f4cbd4a6a24798985060cbb00a3747db1c16a024c3927548adda28dde439c32fd62e994fcae939b61f9794f1be04973d20c33bd9768b27c219aaedc58bd49cbec7b60ef35d3ea08493af1a27d45b7607a40256eecff88ccf02d68ace18e3e376579406aa0511c2a3fc703cac945612756d021ce0f0164116d8755544581ef8d8aa216a05d15d61f0b9b46ebfbc9c70da547e7961e09ece93b0cb2bce05026f6f882dcfacab53432c2337cc7bfa9a63c4397535a90df77d208ca64a256a - -COUNT=12 -L = 2048 -KI = 7f65c27d2b6f3097d506fca9345e67cb5599e49fbf8a004b72af3e93 -IVlen = 224 -IV = 5563c91b06f9359e522451513eff9c931efac5e4b5618cd6ca0ea8c6 -FixedInputDataByteLen = 51 -FixedInputData = fe56829f44e4b912a1f8caeb2305ce2849c16bfc5db218bef87d7a368279f53bacea61e141f054dbed6ec3e8e98675f4bd0640 -KO = ea0247af73bfe92bcf2f182596614e12ba9b828f1d0d8959bf896c8fb45134edbe7f53777feca78f01a154e641dea8c3e9545d8fda767850870904eaff64f0c17a418909f506e53ce88c2d2a9ea3295f6a0889f0dd0b4293e9eb59549386c42b3256af3fe69b2ed18a4e566f828b278d30f7d11d94b54bcc638d9ba899ad44c813b4ef18539ec43dfa1ac49735395b17dfe6139ca075b49d378d1b8ee5f52bb06c9336011f56cd9b261f059fc3bb6f162abf2970538b8ed6f6115cd27e840b7ed72b4e835f33b5f4231fb2184e16e223c3fa18256da545380b25a890a130e7ac19d57aa4d335c0644c4ab24880e20ea64e4ec65e7597d1a06c5b25b04ca86cc4 - -COUNT=13 -L = 2048 -KI = 477b07efab27dd60777d46d0f426f392b615462490abe1af8865584b -IVlen = 224 -IV = 573de41d222afead28301495fb3a93aecb19279ad6ebd5c005d4fa18 -FixedInputDataByteLen = 51 -FixedInputData = f4daf8fb12eec56b7c23663f95b99c580fa104521991ea42dc227205a30300283bb8ed4de5d0273d227f569aa8167485342cec -KO = debaaf54e75e981b633c400c1ae5d9cd470fb48c2a7ff4925e2f698c48ecf599443f8c01381a44ebf8b9d27d5daaefba7235ef939021ee91d084a74fe812ef6e252f9a193d499ea934e1c8f56c8604efdb2ef023aaa8ecbf4efff5c2b81b5dd8ed45dd7b49d10770cea7e9e82f3d22c7af37f1321ce345ea18efb1d02605276a382874d1991c0dd7bef6dd2ab9a1b49fb8df915159a0e0e7e5cabed4a1ce738b5fce510ebaf3818d2f94f1e8911b0d2a3f9603bc99957e1ee2e9ea30d4ade27b8c3b9006c007a86aedb81038b722ef70c4bf39a08a5e77ed14bc481bedb943bf7aa04730cf379c591bbc88bdd1f2399e9f5255c4148f2dfc0542eeb70f03cfac - -COUNT=14 -L = 2048 -KI = 7f6ac5b5e5f6962136e6bfe4d19d25fffeaa7e54e0bf5ecd8c674a29 -IVlen = 224 -IV = 10e04df296fac1cee765122cfef5779f03e0ebf74f413967513c2d10 -FixedInputDataByteLen = 51 -FixedInputData = 29d07215f0715ac84369da26d9506af36df7c49fd2840c0f41cd5bed7fdbcf692861c8cde40c69ad5737fbb4887cfe33bf1bdc -KO = 2e1f13cec8173ec9bd2233b6cf6eb36eb905d751cbb28e59c648e1bf88b2bc044ce6d64ca6c49f83bfa09503f57984e2fe658b2faf2befda1f715c7d17b2d8136c70bd70bfc69f9ad877d061fc434dfd59e05bb11283a98b3c7e1d80ad9956a77593377465a1895ec3c23e18e826de203ba49fcfec900f9b8439e01f962ab61c14e2cad6935613d3142feae58f03a7cd3eb6067f21ae63cf2fb10be6f20089a8cfb0ef67d4b71b33d58f65ed14e9e99ebf9ca4d34f990091d603674e8375f9f8232a39f08f75acba48d53c3320010c4bff89f0e8ded986fc65167eef489bfc1f93b341f52ebafdb73631a467ab3684e13b93ce359d90dc72c4037c20a761d658 - -COUNT=15 -L = 2048 -KI = 23a59fbbb311b88bd0fdbc2cb9c245e8a2920a89ec27485b467944cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00faef46ded1f2602877aee7f8d6201a0f670b2b55cff35b25826a9068cc401616502a10eb2331c7e3310f6b6af391ac47a6fc -KO = 21dcaa9b130b7df480aa173187d78fdbfaf30451dc39d4e4b876aef6edc0206792090b7d3bebb093bba34e8f5578ebc6d4a0da468f51fed750843cf16e4ee24185341bc5c81b53d33482097290343389d7ee634651fc448e070d22ee550bd02ffc451796fe57c7935bd66e23ec14dc11d94a35d8c437c8e48715054bdd895e08ec963699d0e0f1a806dd6d425d423cf110a78954f23af04c6ed3dedc4477d86982ac43d295a2ac44bdc32c7a4cabf41d7cf828fa64e97ea491df5afbe408292b967baa6e529aee95af25fd229e80164ba79adfa4e682205b9619ad77f8768a4b65b553ed5d185b4db93e45ceca7ca29772928d27c40f9e63506b4f454007bde6 - -COUNT=16 -L = 2048 -KI = b0791fe6463423b4770816759d6a871f97dae8d4d3b644857ab59e89 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1771b44aead0cd0261afc4785b645838b1315bb997bd2209ab1a1fe6703eff06d7f6ecc76f05c49852d9cc3624565aeb495970 -KO = c37d7dbd372eaf30d8923b0a7458b48f8044d7c5c3c9bcd7151d685c165f44e73f723a0689fe939728963f1560efa2871eb46c657e6a9386811315fec2a9d3fb79eec5a812fed9a4c1fb9b78997849df9d2233a65a79835e577800d987bd588a89588f4a970687118791a95554ca7f4fe3b16fcbb4111548fe3c6c969bd99fc61faaa72f339f027852cf144fe0be99ae0784787d0f5657dbc259e6ad9ee993c932fbf69d6939936b71c64558da8333bb2e0c6e258da3a7aa28dd6ed6887b0fc26e9497e134cb20adbf0566db7fb76e030533dc175e1527cb2c5903d28770387cb458a04cbe9b7abd7da58e0558deb7e7a469b9ef00e31dee84276c6ac758a839 - -COUNT=17 -L = 2048 -KI = d92d8e1900de6cb36b9aef042c2a594e444699db62926aea3bf11b5d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9a7d9fc209812a9be33b226ee0c4b4fbb4134aa16c827e812d30fb994497d105c83c3f3a625127da1d3063dcc7005009c87ad -KO = e76ad65a0330710adab036b8cc21d265d6edab6d4551a3a07ab1bcc0ce88208b54fa221ebdaf167afe6411966ff42a450dfec161833c345388a49c73b8ac1235e468962ea92b004ad95663ab53ab8791ded0c5d143f4ba15638c13dcfffaa81def1934aed90a6f6a05b3bb1a26660a8dc8d1c223cdd5cf2a1dc33a4d69c462e7319d77dcc590772f782a271cf94156d4a3fb8d70bc982e25c48b9d3d52e505eb17fba6fa828787a8a992e73a4d4482ce4982b266b4bd8608ff093d17ade2f39ccfe4a7bd4bfb1eb4814f37a1d6eee45b179e4c2624b4e675a6bf98e7fb63a8df18263351105e85cd706ec34fce3042478775cba5de8e1488cedfbbaca9c107b6 - -COUNT=18 -L = 2048 -KI = 3f64d61c9722871223f982af79de3550652967c1d32d94cb3e26d395 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc6c7995b01bcbb5855d71eae7774d595c36cb9b7a18e3180da808db7d0b1aea03c7eb5811414d264e725998b4132e647a10df -KO = e411aa9a7f89aa6ceba0ab585a89017df25831370af25ab845d2ae14b6af0516ff0cb5307f5aaaf84d9582ec653c75c3aa40588079e41c9211475ac6dd150e4502d93f56ff2ac86d9a6a1b1967409ea797e6bf7f3bc0f481c389e0983585f6ea796b5d9b1901f842e6b6ed077f6f8d6935237dd4a1d17b258c44ff5fe278b469ecf9aecf8048d1828e0dbc12cbd99512d016b60cd20f72c046cd274b823fda9f340a89b11872603ec66bfa8a15ff0f2f8a5ca174a0aa06193f2af68fae6b660db1eb05a961c95e32e48f111a39cef17b90132ddc8b8584a95ca7fab95f9702b41f0313cd481f8e94d3a4b64827daac8a07533f0a4f074d6597bf05d9a7661b04 - -COUNT=19 -L = 2048 -KI = 271c27ab1f5a348caecd9fa25e060282b3df2fe880a0fce69f536ac7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98052ea0436a0584838e9b73adc1d9260a978f73ba933a3c501b19058772f98886c3473d5202603b592e4f933703f8cd9f6c97 -KO = 8be00dce20b2aa55bdb1b23272282fe165f2645124a8cc023afd5927eb6f168482e369b671ffa2b8141ea71bad08f0bf2de220fe692fa001afa969e7c32bdc5e0500c9d4b87016246c26f36f568dd9d473d930568801bd2ce6afb3771d7ab63a79c71037f4e204a945743e9473db63ce374c7b73fea500c755e2083dfd043916a13e3167adf85509a75a5589c1615bedcf562fd3588c303ca6db55ee6e2cc36cc5b56c79f85f313e208c2b4fce5548eddd3a01c75c9f665998090f78700651e9fefe73aee4f82206351e68ae26ec4ac395c54687d3524834134c7c608ba6afcccd34a143791fd1296204ce2e6a2c3f27c2f9aa6e5cb1e7fe806f5ea1de4724d3 - -COUNT=20 -L = 560 -KI = 4ba18ef3d4308ad5d08714c2d159e6a769e2b78fc2dc97ef6e961f24 -IVlen = 224 -IV = d47a5be347ec6ed03fa2be7b34a8ff2b4d7c1f5e8ad8f36ba35f9af5 -FixedInputDataByteLen = 51 -FixedInputData = 917805c9a9d9f35f4c4c42ca82dcdea38b3533a014a2c199f697c20e1cd495e2821cc88e1df7c7b6d5e3787a657a50f364cd40 -KO = bf5877028811231cb797d6f3bb7ce44236f8311d43fe42d64f26bc95e1c521389b51d03243984cf60fff3e431cda2b901fb427615bf1132d69154658104304199261b8af043b - -COUNT=21 -L = 560 -KI = 566b2ff10110a676405bcc213691fe740e44d1d47f850c5b26390e52 -IVlen = 224 -IV = ad9af95257bb82eaf478c2e0f5f9b6f7b877b3bd0cf38c25461df556 -FixedInputDataByteLen = 51 -FixedInputData = 9307930ad5a077aacd2e7bf1612d7778302b2a61274453b3ac14d0e29485d2d4ae37365e068cbd13aa7e48514ee336a3072e32 -KO = 6fe7790340db4d6700a82c0f02d4f4e0ef33c07a56e2896fe2bd3a584316193a6294b5dfbccee3433d6220b1a74a0940cb5f6b1e6feacb41bd348af3e567e4d46c44e99eb756 - -COUNT=22 -L = 560 -KI = 73e69fa841fec2cb89086651262e864fb1322b802279566a0e9b1364 -IVlen = 224 -IV = 54e7e0f76a181b3432bdef290592dfab7bf0283819ceeb0b73c4cd58 -FixedInputDataByteLen = 51 -FixedInputData = 7ad0ead6262371d2711d521d0edbc11fb97a7a736b7634741a1bd5863b4140d5c349681e0ecc48074aaf8e15581ad3c44ab1c5 -KO = 318883d3e8672e45452487dbfa284d03118f1067a291ee66f67b6240b612d9c181e3cdb94d0a3b6ec992f82e2fd56d1fad475aa33648b69d1eeb9b49e234fec1f16680f07256 - -COUNT=23 -L = 560 -KI = fe6c77cef14962fa573a627ece974a6981a7243e3ca33f6b47b70f16 -IVlen = 224 -IV = 5dda9d684164b95c077e54368519dd8b6707618cf3d75b386b013d42 -FixedInputDataByteLen = 51 -FixedInputData = 862371178d70f20f99c9f6f57f57faa02d10656246cce255e538740713fee61d75bde97f065d946f4598d5a8f777f4463dfa2f -KO = 9a8b3e807cbb53d832643ce86fb364f05f67ca5366738ea72782211ba0164a7819275efb6b017f155b1e8c25110f2531a7a28d9aebf4a88b368749c9e30362f49e2d654ec1fc - -COUNT=24 -L = 560 -KI = f09b8c477eea936699c233ded39c7486e8a177313e644abd7a832bc9 -IVlen = 224 -IV = 257d8fdacf06a767d1220f1dd27067321f1aa86f8a59e336dce3e508 -FixedInputDataByteLen = 51 -FixedInputData = 7f71e2d5124a4488d9db467f5582de06e5cb22d635870c3006a83ba1891e42bee0a2a59b672c5c49fc35aebe6352b8782a1ca5 -KO = 37c45a0e3c7530d3f04f0745e5b28e6e1bd7833e94e1ce6683468ea2f8dc96f64355c987f6e52ef2cdd5c50d9efb61519215c8e56de5a2f40e7d009f5f6e3cc30d0feba8f3af - -COUNT=25 -L = 560 -KI = 7dc48c682f8f260750d1f444fc9160264d97a8d4242837c59a109bf9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9a6e78ae41357f63d91af82aca9870d62872c8330abc814eae517c40f87b6860c3b9936051c402c22aa655304dd8c72fdba3a -KO = c93d9d181ae3636b1ff098e6b1c767d12bd524b8db1d28a2c3fdb804c3090ea0a732ab21d864e212d14dcdf541df8b63e296256f27d793fbcbd77803b194856d6fb3537ba93d - -COUNT=26 -L = 560 -KI = d0ee70ae0c3d44d9c90ef5478fc12bdc6e58c22209962c5eb4de6806 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86fbee4b4986aa5c09ea7f3b0229b39dd2e4c9b6eb18579d1be208e3286ac7972ca77a3c14caa3816194a148ea3c4ee5e9ec21 -KO = a2d346d58cd1249c9aa10176e65bc8e1e5001284fa9a6d64da652f43826039a53b549b9b5436949734ea2056d8369a3a179aaa5d77ce9abc31506e2e31118b2091e8b7b929f5 - -COUNT=27 -L = 560 -KI = c96deec479195c38ba3219e746b626a846501859bf16ac3ea165dc64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1aa3be17b57739139a8baaba8d10006fed56fa56e793e5b1674fb0c4c49bf1c685250deb1edfa1997a0edd9be23745d13a546e -KO = e3c438a79d04d16b160abed29728e9194014dc9743f47b1fa78948325acda591d6ae99676208f0a782b59d394bc58ce76cfba27f53cbb81bdf200a1446cb817f39aabe8a6423 - -COUNT=28 -L = 560 -KI = 9ae04c9cb6adeb0ca1f61ba03943071d35ec2a081ffc723474ed95a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ba7e7cf53dd24a14a11a7d950452563040ef914a16056900fa30b239c12d98295273b75660f2c604d9359d20a92aba05d58f35 -KO = 430684218ab1e5ef3d032db4a17a70d996b1af1968ed083b1782d9c3cd886cc9d32a1a4d7f22e23d03e658e0650ec54bb9cab081faff7fdfa36090fd9966e2c15e7a3189bbd1 - -COUNT=29 -L = 560 -KI = e64c86a9587a5e891a91eb5ab56aaee4b410aef75f6281311ef3d672 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 831cf025be3290750789966d4b69c40b408b199fdeef0b9c772370843712fd1ee5c898e76d207d2b5eb1023b44ff2ef471a461 -KO = bf4fd1c39112a6eed31d5ecdcdd7971dfcf2e8faacf2e58eb31dc309d99f1a6cd36c00dce73aee7a00d20b4d8352ed9642871f7b9dd49bd03960035ca575b809b5f7fa4d59ae - -COUNT=30 -L = 2400 -KI = 4a7787569d3cd30797f686b68b0213b06c3302255522984870831f9b -IVlen = 224 -IV = 0ae109f17a71408bd9c342e9eb578e1ddf80bcfbcc7794bcbc3af5b9 -FixedInputDataByteLen = 51 -FixedInputData = 011804738eb549071fa3b888d874314647c75057f2b835a095138df06556088c112415779a4d2856a8b56ad51933ac7e350a85 -KO = 02e808e7d8a1b1f4e355eb07e24b6ace4d64a640284d1f869a0c17459fa0fbf1ce01679cde33bd9e0d209a1ce9921d3050d07fdbd2bf88aa7d8edfee4bd7c7c985003cd8d9447f4bc5b01e070f7082e712862e91867fada6b4d52a1e62255cef82be282d088c70aa4a7ddd5a3be20609d65fc6a893e1dc9dc83f568a9fddef09ee3cdd06da2d163fe5037550a3507381687b3a24c5254e9eb6ab315f70acf5704a8b21f0c8f6e6a8bd1a06ea4c94153a9793eed5a84b565f6352beeb96480d8fd0bffd660b1736afe1eef6af8322aa2b25b554ea500cf006e4e2c6b39865b53bdb6b6d1ee6aca7a8de7cec200512db8c383e07821085494245cddab8659f900b6549fc938be98e664b2bfa063c1e5907368983ca6a84fed7212c8fbdf1a067374c53ffe84f5883f8c8ed8d50 - -COUNT=31 -L = 2400 -KI = a4611ef0562598e666b069a82ef7970698f0393a416c709f17bcb72f -IVlen = 224 -IV = 5f1a24a89a6c6ebe7fc7b3e15974152add377ad3b90d743f64b8ce04 -FixedInputDataByteLen = 51 -FixedInputData = babfcc0066c6120c4098f7296f401a8847e0a8ad43cd5a85b63377baea2dd10e2b45530598655f78069e52d731abe0e0b19fef -KO = 7b2863bdf840bb25a9638dd3a1504201fbc7fd6874092ac04cb78c443c8bef50a468d7d836b9fdad4778b274d4c04f14812800e8cf99bc56dbea3a27a474db1f4722b443e0313a9657f9239915f9d8d86dc257b2a7da110ed95e3471f23cabbb8fdf7681ff4d9a8f910183d8625b789c9b6e18f11e4b2bdf4911de1f7d09aec2cbe0cb7112c1bdaf7c95a5406f50da2eb6549b9161506a838f361a9f9a62bc26fff9fb304364aeac70d9eec45fa0ea903f16b97f247efb19b22185d0c33899018249357683a1428eaa20193711e615c98ba1c515b93f24b52e4f6993aa15596d02d843700fc8022ba9c4ebc8dc34e6b6eded995459ecfb41b811a64f0b5c7824732e782d34767aa3be863f3ea9fdbe850c18455975fa6df9b6050a3ba5d0174545edcb91bec7b6f73054c84c - -COUNT=32 -L = 2400 -KI = c4f06a7d2db3b05b8c0a886be4930f78bed0f64703109eb774f7ba8f -IVlen = 224 -IV = 0adddd9ad120ea213acabc1f4f4514c7339ee69ebd6bbb98921203f4 -FixedInputDataByteLen = 51 -FixedInputData = eac8f033e5fe24588ab94442f84d2d9ff79cd0e7d588fe8f9e85253f2f2c3519b9ac57cfc59f89a59161fd04502417c1a274c1 -KO = 70a37c2d6a61e375f776a5a3c7f079112af2d2e6958450e89ff7bd8f04ee8364277f41e2c99aad5c7d0771f57955451ffd7aa853b6e3513b23113728143f9909d570b286f5ad81d178e11df5fa23d2a94cb5ca1f1506a323da67ec642f3ea42eb0657ab1f5ec56531370e03587f0bae593fd4d0d2e81dbd68b0b466a0a2f8891cd4037f051c1978e47927fdf19bd22ee83bf0dd2b0611a3ee8c0e9370790525546279e034f2c186b1ea2f56799a3902f2c00550434af8e2f35863f78d1050359c17f62fb2edcd962c1865615a73b3f8e3e28e58ea9e553304d8077523a1ae7789516f057d01247b9c2185af32d7fff4c103fe4e551883b2b97cdcf9a9011af251e79599a9d3a319c73207a856895a30e0f4d5144b1ec1cb1798529a38f9e4e23416e2fe716a81ee41ec58085 - -COUNT=33 -L = 2400 -KI = 1601441b04dfc7f804d570adf53ac52943dcf8a28f3a0f069e61123b -IVlen = 224 -IV = 82fffbfb8824c69ff8d53ea5e359984ea969588b8f844f59f3934171 -FixedInputDataByteLen = 51 -FixedInputData = 5fd4d2ccc36b0ce690ad81ff95f3bc7349193dc8a5b8cf63d9a40690be056afe1f9ec55531bedff38cbb2fb8143cc956544e77 -KO = 84c831a5c99d23ca5a9ed0c9ecec416e51e0855762e5901524583b10cca1f54a450bc92064d7375c64fa268fc9051f5ec00f75b33a02e6989f0a2075c121cbdd1a758b359c2772afa0e4235c363ff95f6f87d98bf1b7abe2f7a8ffc38ce0d3fe452e08689f9598b50f0778e00b266f2a0288999eab61ba183e1edfb6cf8ccdf2b626d5ed18774d39ec02f95f74b4454bb1c6d73fbaa0e793590006a1e9dd72d2bd78a6b3185d3d4cc019a90fa62530c3903e74f22208bd6b7d6c958ac457737de1d411115cf4a3eb514639b0d834ed40647bd3301422745782077c39d83c32765dabbad4355bc55c8c6cb6fa70e141d7ed789471ccf700fd734ed201354f2f45f846836435ffde6edb12888f61aef423a823f10d20f9e3aea9872e67eae3d7d9adb52a99c20dfbf6c8ffd727 - -COUNT=34 -L = 2400 -KI = b64120ea3d5d9e0622a0bd5298b12432b08e6ed5bc868640f2713c4d -IVlen = 224 -IV = 9ced0c0b64b648307b4d42fa557d1627dc2efb60ec26d243cf00df3e -FixedInputDataByteLen = 51 -FixedInputData = e191d70a79648a37ccef895a2f3d6f3c556e4983bcb7a1ced7da1b593152c91aca52f09e13106bd2a7b9a418ebc32b9e932f45 -KO = c7172aca89ca587fb354600feed1bd58dde6ae59102403c24c74607324ca564767be9eafa2d131027e5e5d116e6656fbc74399f73b4913f02676a4a53797ced24e95b9587f0aeba1f4d587af7c9fd5d6b96adb3ad939dc93de1a5b959eceafd7ed85f8e2fab37045e305a3971f693d9e7480db933952bf5c26db0a108cca5c42e4c7953c777561163ccf80b2dfcad2b133dc50cd6116cd5b0bf71c08eeec506ade4cabf5c04bc118c52d6393b08fd4a007e5928df99012b60331a91e75e981107ed569605ebff0c4727a0c93cc758ee0a50bd88eba7e317dcbffee9cf851afe6dd5ccec2f48280cca0be841ef83b0320057e6bd7690564bd01ccede00428ef6b5a280301aeeb649714c78cd1e2ae3e8b1e034461fb9ecd0e577681ebd7bc3be8e7f0fd33abc23f699a5dcf69 - -COUNT=35 -L = 2400 -KI = 037ff35cd31b949e71862e85f3390b7fd3ae930018d7f0df00b2ee11 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c6b185a042a209ff192048076b712d09360c6fda3ab0bcccf89c24e136895d6ffcf8cd364432c51433945ef2c15e859c6c868c -KO = 17e9bd1a2509a89bdb4a713f24840e0c670c1afaeda73e14018c35c8d5067848ed11121aee1914c84c50341710ee6e650b37ca7b931384299fd2f6122cd35ec698029a3d0d27e76d51557be2e8225d0ba244600cf0ecb0fcf3d76b52c47e46e00b674bb9d7c6b21ff4fa7e4b84fb1babf83e994df1200f8a7591145c9ff680554cec8b9e4c1fe4d111bea4029285fae94a7851cf887051d13a5c73d7f451cca76f2ed19b28af195519b5edc68f8c5bcc23fa66bc4b4ce8837cb1c5fc0c66bcedebb6151306496f0ec583f411892d2b2e0afaf443de4285a18eb4ddb0daa40e874c277ba3d2077f40264ae76ff106b2786558b2aed3b6447443585c9378aa1547ff432c0bccc64c6bdbaa025e8eceb4170b2b9844a8d7b60b7526c906de6f51ff57939dfd2ee752f41b8bbcb1 - -COUNT=36 -L = 2400 -KI = dd6ba21cd3148134c3bce45ce2d1ee05b3d4d16c66466f203dc097ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd9f9bbca6e344b44c6d5722df5f8e8cc6fcbc4d0837e508009515b949f2eb728a63f256e218b95568b0c5a808c3f91660226f -KO = dbe38f8a1b95a5e94d9984eb622a06ab1b74e364a85734c41f1f50f769babfd5d430e8afdb4657913b445535031637da10025832177857b771e579fefdf13216993b4d7d603b7189c31ba7a5d1f64e3204ea30ae2749da563f2c86a4b1144aeaaf3e859c40271808f0410efd847b62b6c95f41c92804679ea0524d11455b9b6a4644f1997fbf582c608e4ef11be7c7697c972c0329e2648f22050ae0b08fc53b1ed206b51ed73a382384a70708c0acb43b9ef732a2d16a8b4ad51cc4b5d6d7201ed5a76d8964d0771b2e9a86063669869e95e49865b90d0281836d2c7bb5f7c856abb84e72d5e19bb3d3c0b48dfa13631ee1c4fd65be6d29d5553a42d86ecb8dfc6941f2866f3d03d8de4763a9afa949969e086595a9b0f665c1bf5556a1056e1a99c268d6483312df1f1365 - -COUNT=37 -L = 2400 -KI = 13784ca91f2712ad2b09f29ab54b1d0117c58af314c8996e70e0b3fd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 62bb1605596fb6e55d7b26ae866653635d65fbfebaacff0a3c2fc189628c594ac47490bf6b9c5e673ad6fefcb82023b3bb62a2 -KO = 3dc18ee256972e08b5761032b6cc46c94b99c8b09d150485fa1b9147597f1f73791ced16045ea0d0757fbbe2489035c0dbf1795a450a5f2d49374a804fc1ac6151c1b3b7bb2344895d62a03ebf8899b647f8d98a769e12b4c6ae8c695154375807379857d03ec1c75d6250337b3109d2eab3b8457982dc85634cbce1ae8b3a3b64f0e6d68d3154f56192e74a22cba20de9874d2c5098ffe83fd04f3e8047d921943b624085d2ed8b6812f0e5f62d7f025717dd4c57694efb8e07a009e783d08d40af6c736ff37133bda9f2ab5e136acc843ac908e072161035307e84965a1a6293e44f9ea2116ad49085347c766248fd4e2c4324430e7555eba15a197b57fba259634c760f9dc2570435e2013be761317d89c34d4af8f5df1c65fed3edcc5061cd814d1a4db66b407db4f4d6 - -COUNT=38 -L = 2400 -KI = 4ca07569c46f4e2169191c88708b326c25d488cdb5e2228bdc9df4d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 25f329807fe27f9d83f0fe9a83b2a36216f6d71bc7cba2d166000f3b5a33aa2ec05ee99d8b160482b8cce341e66523b0c2df6e -KO = bac1afb9fb7fa9dd4553de599b0584fe0e9d94f3658e81bb2564205a4df8c77bfcaeb06afb4c1652500fee5dfe02a038586f09c011d7c306009f42b38947217c2ee114434aec8658e87970fb1197f8a7b76df8b11fdfcd766dcbb75cdbde541b173fe3c65c99c8da4e4bcbc556675e9bb29b60317c59ebe277025a174ebe54658fb3f67d87cf01aaed4d5b8844e6ec0e4494dfade9e3611565a1c846a818d50b8e39b0f22682c16302ac816259f6c0d71f19439fd22b75f7869798210c49a636ee745125840459b416b5ec78fb19e113106ff70b716ba6f047a47354b33ecc47ca017b4945234b92f15e02be49bfcdd79afed13e57fdd49c8ffed2a1954d1405e8b06c9546a9036228b7884a22e228ae5235a9968d855a003b88d8db6862b415b2ff6f18d378c65d13a715b2 - -COUNT=39 -L = 2400 -KI = a8575b8600f09dffb93cf5d1c6fb459a38e9189415968d197fee9570 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa3e1efb3888f32862210b8728564c1de83cf71ace8552b9732ff178f0b2318fb5e58856ca508ac9ca24a78e934e4bc6d05624 -KO = 05edc3b8765ae251118b480fe6e48d140fe80ad0b7b51c97fbb1c6087087e3b7cee4fca37590cdafc1cc99b96b329bdeb6f94ebe3f92a02502e37973f32b47dc74148f30235c519edae446d8650898c2e6525c16cf9444cfa79ac1a6599530ef69a277d97661dbfac2f91750dc999fbb97e927d11a1da468daede5a9d1083485b3ce8b693c368355bfd45be2ecc129403cb1487ae716b1d4234ff2ba7caa58f40a784aac1b35d2ae4e71be91d3728c2bdb6de12be43e296b306ed00def8f4b9db8751b246f1d5810c412430ae1e1c7cd699953fb014f1d55c4d18702c1fd48f38381c2606006fef6aa1d0c9055d00df70162ff9df6dfaca361de597d33faec96837558b6f2e3ac4002d39f5af08ae4b8068eafcaca1be1c65177c09f995f34e0bd215bc5f761bdee1130ff41 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 0b871acf61725ec97ce44d7d6fb47f2f8ef0934ca4c13bc4c49d705a -IVlen = 224 -IV = 5d37236800cf1c4aca12e898830bb584de418a10707b509318faf8ae -FixedInputDataByteLen = 51 -FixedInputData = f3f2c3267298d7db0c6c778351520832ceb0b0951ec6db0fb69ff7be169739e4f72b74bb7369a6764bc3b4b5c548be84a23832 -KO = 85a7560a0b0da5191bb3b839a12797cb06e6d4aa032f30610954a922b07275886716c7a6c112c03679f8296abbaccd321ef175233e3e378040429c9910f4b5b7 - -COUNT=1 -L = 512 -KI = 2518ef509de38a3b96d0a395a897bf6516780a2e9197d5639d14a4b8 -IVlen = 224 -IV = 2712ad9ee3914729d20e011a34994b84f5e3f7888d9cc71f0301493b -FixedInputDataByteLen = 51 -FixedInputData = c4d6ee8663305777a17f8d9399f42e08b23e3bbf690b5af6837e4106af90778cdb4fdfe55e83aec784e7c84874ca1939be2dd0 -KO = aee0eee78690923ec936fa2d67709ea3fd961ae6977201086295c15074214a87493488846f6daa49ce81f041ba031ef4ada023dd129d53fe8a4e0898af59b369 - -COUNT=2 -L = 512 -KI = 3dceeca92f52844cf4d34fb23918235b87cec5e1e6d941caf7dcf8bc -IVlen = 224 -IV = c663c5d5e8e292c65935aa0d37dcac83e2a609e942c94ad7f903b21d -FixedInputDataByteLen = 51 -FixedInputData = 2db5f7761d43d5a24821180543b6eb4e30db14df7af7d41fea766f74cbbae5d6a4f7b558aea2f6185c4154eed3c40eb7c113af -KO = 0fb3cab2af3c1075b66eafc9c317267de13b7acb40472908739b03d9ed89035c777fa24a92b0637cb489f8814366cd7baff11412cd8fbbd074c82c5a2f142ced - -COUNT=3 -L = 512 -KI = 7f6db902132a89519503570c797419ce6f8ce4ca00ac35afb060ca37 -IVlen = 224 -IV = 6b04b3d997bff46bbb5ff1716fef16d1cd1bf180a8ebc699276f5c16 -FixedInputDataByteLen = 51 -FixedInputData = 91981d8e688e94037bd413fca93d4ace0bb0bf4362f7c08de3b36c06dbf7b5a99c3b69aa6da44eece6f522ea6f275445a4c052 -KO = 58bdb8742687c07ab6ee683f0f57078f48c03a2ead4fd1ec9cdd0496fbafa1bb2671d9faa7df9166966a769aea51c4528c1888acee13a488126616b1f0033b49 - -COUNT=4 -L = 512 -KI = cba50e21c2e506c737fd125b185f09b08b066d4c66757832b6c3e41e -IVlen = 224 -IV = 04b5e0a620bc93f13c093539572f75c78d704d9e67b317264ef700ca -FixedInputDataByteLen = 51 -FixedInputData = 61a7d7767714f136a4cf9d8a8c36528aa16ffcf6291031d71d54db5f1998ecc13430dfc18b0374027d88b5d2b7578534cdb736 -KO = aec4810724bc81b004d26158ae06413bd7831e104180cbf6054eea17acc838585822c7f465bd792c2132698fcc14c468c69992166e7dd37d44e62a7578af3d4c - -COUNT=5 -L = 512 -KI = feab52181548a353e1ebfc2daaf2840d7d8fa576603561d2873d7678 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bf5b3bbf39f9a9644584fe2a7966ce81572ae330520fbdfcb5931600abbb25f035d0fc67b24c5f35aff9deac9a02a9755af6ea -KO = 7afbea8b50b23472b2145377f4e955c49fd23a8f988c3c262eb06c23b7fa7e2fac404a540995f45512e56d2a3109b55276d12a6be0e9eab5801feebb5d8fbff0 - -COUNT=6 -L = 512 -KI = 9a02fc0a909f67a2457a888d8742959303c7f9a4eb83c32476d94c4e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a45d7ba21870a139dba237a720f5123152f0153758e36c965d0232b17c32c4421e7296d5a39bf417eed634bb7d21e90b439d78 -KO = d40cc41fbc306748d6449f3a61876c06ad58e29230394a108fa6fbc8b8c1d9c1bc425992370c1954b276f0fee2e831f0ac28b62dead40fd8be0ecc08ae752e7b - -COUNT=7 -L = 512 -KI = 248e89e5a732cf4840e48b22c7746706053e56de8a09e68fbeed4c5f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2584e5ef4673a400465343b60fbfe413ef1390128ff9fc5f79b6df5e611034ee3538f6b6cdf8a282a37e43edf590a9088d1ef3 -KO = 4ce3456ffb88c43d0b5b3a880d656d6030e5f173dd535b8e54e2eebe201622ad48565ba59cb6ed18a95eda1705987a3f7b07e3c8346515edf61a87e9fd53fa07 - -COUNT=8 -L = 512 -KI = bf6dcbd2c6153569290e491e028992c766e8d403a32e6dac1dcdd25a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 46c2b0ddc7d6717bc463366e96274434cb55d49a36fc178aa76f31c064756e6faf5aff693244b5fdf1dc0bc634dc6f9d379600 -KO = f063cf0ecf709b2c333fc107a1dbf44e28a11ee17eb59e2215fd980deb7e17edc7c3d57a92af2ceef8320e9f47a427d82dc7b67e098d56633b06c769a9463906 - -COUNT=9 -L = 512 -KI = 5c4d93a05855f260ae872e93f2d079084a5ead7fb46fcee05f13f674 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 860fea567fd3a3ca072ec009c86992a69056717f76192685c83c8dbffb702453d83025535337c81a9d4e5b7a4fc2d6c4506e14 -KO = 514489f6580426601810ce169ca1d124479b37e10f7352e0eb910ed00e4a6f3bc60ee64be089599fdcc2009114f55b250990ee9defdd302dbc8d97cce70a43f6 - -COUNT=10 -L = 2048 -KI = b32334051d271e43681f16b9b79e43d00b634cdfadf76aa39514acd1 -IVlen = 224 -IV = 784e92fe5752728233ef1917af0f264fab0f89207f8b0d62e8c2a02e -FixedInputDataByteLen = 51 -FixedInputData = 226d12c643ef321c3fb730f95ebea151b56ccfb2ed36ed77251924d61695c1c1e3ae2af636c6ab0c40a87ff66e7ceaced8ff0b -KO = f355cfbd7d635926533febde485c7244136b188978cb8b46d934fa52f99cf8b1459b5aad782aa8e10df25898fc2f5e7edb36d3aeedcf5ca37fb25d3e4dd044e67f1a9ea122a4adcb500e542dd05a688027915a4406ffd59614e0eafc1312c266398d7a2a8eeb19e68b02ced056739c0e470f55e16f1c25110d4400c04672deb368ed74775cc15c077e1e5aa01007ef97e7e85fdb53d15c8e8f75229086c999b2ea9356ca6aafedd79984e69921a8430d4c9923a0800e3152da79e9e35f3fdc031ad77eff22e30498794f34ee5b6a307b38920bde4248e18ba692885b0629d80c3daa4247efda13cfd699ee2b33a5dc15357474d9458b7c0a7bf96577dfc15bdf - -COUNT=11 -L = 2048 -KI = a0fb2694d528560a921f36d7db816cc8bac143a527bf8ca5babd6886 -IVlen = 224 -IV = fd8a9c23ede2e6784048c197c7187c926330849a428a4e62f6c32ceb -FixedInputDataByteLen = 51 -FixedInputData = c0ae4514137c30a957fe0d3776abbb30acd18fa20b6fec3ccb0a5ad087d43d6d5c4b5c5e3f293bb93c4491e536889ef8fc71b3 -KO = 76a53a917995647a70e861990fd4c4868d84bea71b710f0c6120b7ddf7c119d1583256ab9c480c92522afa1cef6044abd66ed0c51190fc660f1df19ec7621ac114eed963bfda74594af4087585fdcb63252daf1995c1f73ab645a4920d30441d9a3c6b365e47847aa7f22ab91680955f27186f1405abeac80eb1dfcd3ead8e539aeb876fcbd681e44d9874e1ddc199f12422a6398907b0dbb1a792b8810cbec156c788bb2e71f70663fce970c000a85ecb86b2aa700a3ad7c45420ce40c72450a8aa00fd59e753edb16a7aba51b3c295d96cc6507a8b878e37748985b019000bcae383ad22e8dd5c3364a07572921620370e160084120be8ce6c7ea5b849384d - -COUNT=12 -L = 2048 -KI = 1c43501eddd26d9edc25bbf37161b3709b25cf10659cac3442d2425c -IVlen = 224 -IV = 48c3912a27a752627354045fc6c739139c65f369857a58b3ba325dc5 -FixedInputDataByteLen = 51 -FixedInputData = 669fba1c893bb1e0d8a0e341e15d354c280cc29cf62a986a2ce694704fbedb63d5a845a1541bc3cda5eab578729ccd0480448d -KO = f70da78b7ea5638e2e47ff50a60e9e140abc20d34698c9b604403795723c15ae7ef4d5fd3764fe4b72edc3162d9e1b25339ec20af589ce50aa7ebabadf0fac92557c961051f7fa33d687032932d7d31443df2737203cbf6182796a6db2dc3fc913be83aa4424701230821271e977c6c0807804d36eb842872b764c1882259662cb959777bebad3a80fdbcec542ec19b17d016a68a5e29c9596d4f97769af3625525243478a502f7f195a3c36721b4627345924fa0874d4c182c1fd6b7aa789f47d090d3ba8653a3631e6f548ac921583fc17ec82e57acab2e87ad4df5c9e8ddb9da023270a57d30010bd23877e9a48f7130772136731974e57d31f7bc407a285 - -COUNT=13 -L = 2048 -KI = 10633a54cd01d359dc292cb96b4a1df79c108c04f049af13f99d7e74 -IVlen = 224 -IV = 28906963197b37dced6917d07860cfbdc2c6e58078482a76397b3394 -FixedInputDataByteLen = 51 -FixedInputData = 3939cc44ebe002d4d7567a5d6705634496ccbd84bd3cbd81f7cddec0206adec64b917e029877c84fe0e4df2329984c7b264316 -KO = 615922446a267d077373ee797d1b7c922ef263e305fca2b2e5981470d077f90d5bb807953b58a3a7614f6e56f714f0106598b7f860e20c0fb4a998ef10263781ae00560594a026abc6fed702557d78330df6c6abcba91f5782cc22eca053d3d45b0c5561f0bf3daa96e0bd4dc9acf2f472e96d9d55738a3866dad4e49d0d4df8d715e0b5c133ffe237f82db29ffab9bd823a360b8a6b1603494df8970114dd99867785d09419fc5944c8bd807ed17f246aa20f3255a6157b0bcc06b149de2cc234636b6ce30a206015b4ed84fbda4922f95f55eeb869493eade4a594abe701db24c48f3903b5efdac83560f5cd2f7ae46be9553547b3ed211e6b1ce72b01ec59 - -COUNT=14 -L = 2048 -KI = f541b71f62c2eb4f2a3735f55c9b5034e2362ed283a1d1e8762917a9 -IVlen = 224 -IV = 2b3c43f39468b3ba420fef7dd43506794546f560020cc93fa6573e7c -FixedInputDataByteLen = 51 -FixedInputData = 412eb5ab70df4212408f50f02aa8b1b876504cdabe368d75b087b228dba98c605b862d70d6d316a6c204caa58fa7b985bf0ba4 -KO = e37f3784dc6fb02126f515d2ded059fc8463a844c8a62cafd5e7d515e447c75c4bd1b0b3817685258513d5c4e525475aa375ed85921003c6c672b9c300684395ec1148b9b8fff09e1b17f728983a448e890005038cb2fd99c807bb245093d81cb83f9f4bd6769e0df094ac48e34388dab3af3fa1722c5990198fbefa525a33934e47f3b6feac84ab45743d6516a24e8be19655b47a605be06b6c2e92f37a02758cfb2f4e5e386e1f6cea0db8bd23eadc834fd30750dc2f4f14e236ef38e76a69c4e0aa334a22d16c1735a9e9e5469df6cb1f052d375842bbb2bd4e08620d74fdfb665308ef231a6487648b86808f02a788fd54ab34bad0ab77ee1709fe29023c - -COUNT=15 -L = 2048 -KI = f79d1461d6b2944da3d46c320e5322330b3ef8eefbfd73e09937db11 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cfdaaf42d4b8f3078c471b8adc458dc17aaca39d6c96f9dc712f273c6eff0f34ff0ad7ae77831271586ed644f79f3463a65215 -KO = 2a44a4adada2699c8b59873a7ebe42cf325241d905e655ba83957c3a8202d90c641760de48bc75601c2ba4d0f6a9852ce60ed6a77cdd1b4312d7d06dcdfc89438f1bbf0548b4d6f4b9269c38db7fa306cdeb314d66a068d0300f17d668a8e37aae146ca745467aa7206c169959e1477eeb78cad87ea010074ba48e611d6a0c76fc9667d43e64fa6e2f75da48b461d27fe8216d457c97c516ea1fb9d77b78bf4fed7c401c46307460945f2fbdc1c5fef41198edcf0699bf39df48d4236fc3c8fa6e706a9128c2eb650603026249e7252746c225cae8545f57f8085bf9f6046d7e0f56bc5774d92de2d912311a195ca10fd988f7d6f611a16cf391db3eaa0d7978 - -COUNT=16 -L = 2048 -KI = 93259da7492259ecfea0d1e6cd5018ee147f1342da18d59c60d76c0c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e39073375e638079dcac77598fa1827e3a9b42e5f0280bb314eb1da88ef1f723a658cd0e0b5a0ceaae62a2f65a90d3a6ca341b -KO = d45f5ad3e15e18b21b1a10176b2eebb1d38114ef8ed5b1f0eb8a72c57bf8ba658226929b9af35f8295ab97e2db05996488777324922378a64ba6015061185769778ab3abe42ef89983f63f1449bf3c9319880bbe6774e39cf2cb2984c7d2f0725e71711c669fb98b19ec5f9659d0edb3620c727b42d18e8e957ee3086197e52e9e325748cb4a859af96ce29e7d3d61479afc250ea1f8cf1af9b4ce7536374289a2d1554c2d09d0e19a8a0cb5ef9d0857cc3050ea04028970ae343e6381ecf45c52c6e4f749ced6f53d903f3f8a5418343c7b588b7f7afa934a9c1e7d4121f83cb6d4693abba291c4856affe278263eb02f2ccdce8005fb42970ede1604114e81 - -COUNT=17 -L = 2048 -KI = 16df2b201627accd111b264ea0b08ce019edebeb1223dcb7b6639580 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f6cdd1e7f40e946301c7f4ca14712cb48c4223661610e849f3257f12f87d8a8465648b20cbe5a7ec25e43cdb2968cbb0bc5d7 -KO = e2d0647b1a23e8bac046159ae24e57ab37851b20f44f775a9fcd893135c02f4cbebe842c71b92f2f41c436b894e85ddeca58591fbdb8eaa7e8a111d3eb5c5b6767e8d7d5c36245866c168a8f9ff0df18479580b9c65a8830b5d79276ab40b83df822457ac701761db92bc536cf557e65addb6e6c95a56f64bd1257d5ab84f38bcb63336ab09df9acecafce3d0ec210c97939d178b16fa29cdcb912f80d952f223fb2c15c60e422d349fc33e2b33005be8913ded01261ac8b76afc9ed3a1cb41008adac5e1813bfed37c1662f74f3a00384c68db370680e6e6062be2d366c89db1622b935ddac0bbd8cf34a044a6c68b887f880624070881336bd5a989a841f4e - -COUNT=18 -L = 2048 -KI = b100e17d732e05e08c69fe2075302aab45bfed711ee807ce259d610c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b3cd3940d7aa81245116c69f575102796064294ac28f1a14ff6b22bd31a2282abf6bdc54a4c0152007786dae31b3b9083f7e36 -KO = e9abb4f152bfebde4a69d3082b21982d53f340e39cbfb1789a1efc945196fcaa577de1afb2504a53304daf6a9268b74f6cf3146815a8ce6e80fcd2820f1d1ec740ca56ff9e0936bc5b5a2108d0d33a71a79a1375e9939b92886db3b803da22879b856ce8417502dd97372b5eabc74a4ffbdbb942d4a6654e049f3071d633e0189ea29dae81fc1a95864583e8bbc70a629f274470ae933575089f70aa7fa5f3a1fb22357a3d4119233324d23ddb71a8b88242fe7ab59bef0496717515369a2e475bc7566129a9fb66376d09361154a7a685345b1be79e52027df0479b376a8e541ecc5022e9ac7ce607bde00c4a84aab3d24fb6e5eb2d86d5c4f15bb1a5fa64d6 - -COUNT=19 -L = 2048 -KI = bf9290dee19fa79115d4d1554e70e0a2c8885c56e9a7877bbee7dd52 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 03651ca3df93c4f11fd7f2dddc22f1518198ba4d79ad460fe8096475495c6311837c80f117cacacc25c5b18fd2a2fb65455875 -KO = fdfec8fab2b5536601899985878ea07032e448fb0ff404f3d8983c40c6443c763e928f9afa542072509215c791ebda6c5c7c3f66eb680aa1b7a33397f47e9d57834b7727da59cb053af0e8ec001f4eb812eaf8b1dcc68187283ba8dd51f9966f29c2541eb1f024ef99dc9cb5339d82852e85190a755e857e1181ceefb52d703560166bf5963807289efa28d69db01cb1b6bd4cd75602a736087d95c08fd4c9aab103591aabb86216b9f3217f056d42548f966fe4386c10a07626821df43678d2fef65d8d9b4527949787ef94806bfe1a1180eaa6666c0db776214c66b634ee6ecd3e2ba66900ab016529406db9b1e8b8156086fad4638e3425c238f768005978 - -COUNT=20 -L = 560 -KI = 89084592841d90a3c6ec62513c41b1db290962110c8ce5e316192e48 -IVlen = 224 -IV = ebea64294e9f178aa679186033b2344a23a2822daef05c9c02e443da -FixedInputDataByteLen = 51 -FixedInputData = b16804beb657f9ca10a85685904e7ba90d319540163e823ea19f9b39f45a7d738e6d8fdfdcaaf15280a51b92df4e6622344402 -KO = d0f4bdf2a8e2c2237df4c0972de7273427ef5a11c85f65abff42f83f461b2162f8fef686b595f97ada64780325fc3a1b219f1d9737186ddf04096f9680d08c9f2e52b2e74386 - -COUNT=21 -L = 560 -KI = 4de72f6f4bdf8a02b0df8c983f3f77182dc06511eedbf85e42ab7ca5 -IVlen = 224 -IV = 1b987a92bf850b5aaa898ba57494690ca86cb77c4bcd32439718f630 -FixedInputDataByteLen = 51 -FixedInputData = f35db16c1faff40e27843e15ba121dd1466f7bc9794d26f64c7940a31bb73913a9084eae7fd929dca5050a481addafe87d1eb3 -KO = 44df3ec5ca587c1803dedc27e2c91abb7d0d8a9b313e96e5b4f393b4dadacf0670bb0bda27c491b0205e4d8973fc8856e8195c4772cc76ec0570c8e67fc1adae2ec85d5418d2 - -COUNT=22 -L = 560 -KI = f6815546ba70a0ed637336f5257588e315304d7330623dcc2b1d5bfd -IVlen = 224 -IV = b79af33777b28612ab5d36fd8ad7d4f421d0e51079f55fbe73474d81 -FixedInputDataByteLen = 51 -FixedInputData = 07036e5d1c3f74eba85960279e8e424249c792e6c8178dfbfa8c4db6bbfd54fb5e14ab6c176284d7f75e8003b094a06fe44c7a -KO = 72ef8975d91736d31a546336f0db0240865c964206d496a00e4492f0fb78cb0b1fe5cac22de4983f16f33850927682c830627102ac425a220eed700566b1f783cdb19fbf5a7c - -COUNT=23 -L = 560 -KI = b7065dcb4aa796012bea175b21c0f6cf513ba1aa22035851b391a36b -IVlen = 224 -IV = 9e94470b00cba09e7fd20f6f4a7e7b888919dc31b5e21f5d0fe79f37 -FixedInputDataByteLen = 51 -FixedInputData = b5d4b208d0c79c19397a390d223f5ef17bafa25fda7d8f5e38ddb3346c05113538872f5e8e6bdba2a3c91410a84a54ea18dfe2 -KO = 3aac583b97e691893cd56e69f1f1e0129c28fe0c2ad7aa0dffd07909857c97a731a1f4c6ed114ace091ea28dd0b272cbe8e99dff376aecee4d5d865c931159f643f451420564 - -COUNT=24 -L = 560 -KI = 0a98ddec0fec69926f2f0a424e8053e80867a36d831de4c9e76ad063 -IVlen = 224 -IV = 5744f3d065238f9fc67915454d193205028be547f7463f272f33439b -FixedInputDataByteLen = 51 -FixedInputData = 7d7216d289a2d9f1647e830cd185a0015420eb39ac55bb31377b48458869364e1b433643efce5d7d7582047ae14ba4c3ffa78f -KO = efdf26e148f3cf2b9eb63658d3576ff1bd6868d786fc1b0cf4c10c9be4bd2d417b09ffe3789d35c81d8a1f702c50058b406331211d272376270fe18b6e8339fd541d62ecfe95 - -COUNT=25 -L = 560 -KI = ade6c12e9dc2ceeb3b95b79b8162e1b0f4db1f45d6c8d53b9f6c25c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b662f4fcc3bdca85fd2551ecbafba5a5e0430ae8277cebd5d687a724aefaa9acea2106f4d925046ebf0897c809fd0fc457071 -KO = 18a6d5c416ee489f2b92e084408cc3f7d83eaf3a4f5b3db3d1b12c4e0606d88ed9672ea9b1483f4fd07952e02dfe34e62239a65c56382a8b3a78ca6894f31e6c692b254cc00a - -COUNT=26 -L = 560 -KI = e6754a9a005dad8edbd1f4c21300c45598e81da85b8eb5e68d983ffe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = de5b26eb72f69d2cfa62a6e2bf33f57794d6c90029ce5f5b4482df659aa2f4f963f2997f00c4cbffc673c1c8eb77a32055e3f5 -KO = d07a079958eeba715c95a2913d555c098ce21b67df0fb5441d8e1870de62b38a95abebe6158b7afe4152307e95c79b6d71920f3ce3a67ee14704e174584778d7346f394b5e74 - -COUNT=27 -L = 560 -KI = 78b8f04fe2a15ce723c8f7e2923af835bf79be2a4c956b67a5ed3841 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f49d2fe5d9253afe27cdd3bf1e98745863cd14454e0cc8caba460e4d63fee89aba2f50fbaea65ad92c0d524b2ff1315c09f0e8 -KO = 5f8bbef46bb1fd492a4e4741b1b433e04517b9e162dd9f66b18d4677d61398f309f90d0e9688471c0facce7a594fa7953df1411edab223b21a7e64674eb3231ee0dbf47aa321 - -COUNT=28 -L = 560 -KI = 502fbe63ce3266a60d286cbc613e9a1b789fc7aa611a506d526b7fdc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3d445f8e7c449586eff142afe9584046e3ce6457ee1092e90ef04bb3a7d14dcc8c843269b3b15ba7b515efa7bd9018d20295b3 -KO = 73edeeb47b93d558f77bd26b7a9afbdbcdb2f53257d81734c8551ea2b69d537f175161055eeca068cc1bb463dfcf7bff0163339bb91425ee9e1f4666f90bb98969d995c6feea - -COUNT=29 -L = 560 -KI = c9e371aa8dec473847fc2f68b490d5488c18c7b44031fcd843d27322 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e1ec6bc024b18790dbee663eac267951f584074c22a73ebc82f7244911986b98e6b48786013336247184630233ab06ced2364 -KO = 643aababcec6d5fa5bbf169bb8423a5213bc16bd0b18f3d190ddabca852a4b3412e8a6d08b645cce80626f608b8d13924cc012aa5b931fe821e3d174773623a9c8a063b23f4a - -COUNT=30 -L = 2400 -KI = 57e81af0a53fd3aa047d88123ff585e8af17d16babbfb73a1742f148 -IVlen = 224 -IV = 6143385bfe53534935f674eb033d82049c55f614550e468553740f92 -FixedInputDataByteLen = 51 -FixedInputData = 22aa28a785d4390dc2a2fec731078b48eaebe35d1b6379bf393a8b96149abe675f5389c83eba020d1df0d90d09e5f11ff654e3 -KO = d956f810cfc75eff39d6fe55234b8ac57c4605b23055253405b2630d0be9cb4a8de29becad9bb0278cff403740fbfee2092b83ab7f2df91631c2c196f2226855b4bee865aca9e449f3caf95809c77c154a4cba792aefd5f161ab12815507baa4e9cef557a9dfd1ee88ae7dbd478fc09523f3ef14a3c8e9434b4ac88e8b1cc4303270492cb301be34da112f88256eed5f21f0b848fa237ad6f8c21e31cb16f923281d1117ae7e8b3c263c920d341010b3f7ce63f3b7e54fbc5320d729aa39b59bd2c62aa88db90b8631e1cfcaaf230fe88c2a89d53c3cbb18fca816c0837eb826b616a375f17acb2f12c6f5586b355c33d24946053dccce6037b84bdddf8df11f3eecd3487fbc17c0acc8e5ebb38c5cb4085b7f7b320a5c4fea6a91d6f16ffc788a2e453b86b1d33784d5df65 - -COUNT=31 -L = 2400 -KI = 493c306f9b48d721d4bb8ff72f68a51d99486e6d03d83ff8ff04669e -IVlen = 224 -IV = d8380c40a102afd11a614fa17f17568ae17fd24b384a0b94a856b670 -FixedInputDataByteLen = 51 -FixedInputData = 68ad2341a3b612e83044cee3915c0a2d59bd8435753e0193ae2ae802138126899f6b3fc2d2ec9f912bc6f83033c6d77f32d820 -KO = 47fc097788460679939756319894d2b740349c0cdd76361708fc321bfa30bb6ec731465eddecd3c9dc0900ee5d8a54780d81cbd14801c676595351b86da3ff39b71503f8ab20aeeade59b8ea330194dd162496abd67982e5ba8bfd000751f3930a77856e1ca89e1bc6045435855490ddefddde3f7b4831ef25680dc8205828289a42566fd37c5e01bca5c96bad4b788e075ff4768cbd9446085b73900f93eff73423737fd6db4b6e5d95376380c63e3d358d1c19f728e026cd0d8d605535f39799c12d57f68f4982200ec71cde5b6d881bbdced2c837b82f399439ae475aafa12cb69abb5297ec25c6937f2ddc27dcd725aa64c1b08c0f8fc5d67e8aa62a94dd7c2de30d3831af985a545583539f8e2dd9a108396388f3c47513d5713ca48ff5848ef67c3e119ef712b54974 - -COUNT=32 -L = 2400 -KI = 33c9659a04a9ce07839e02fdfdeb7bde93154e333018710afda6b2c7 -IVlen = 224 -IV = bd23b932f25fc4dc392ec6333e0f26bf59b0f77f2d84654d35d1eaa1 -FixedInputDataByteLen = 51 -FixedInputData = 9cbaac058dbc100c99d9bf45fc2dde42e1d86e9ae90786030b268f94ca29d367002030ca0e5e123e348526b1912adb23098788 -KO = cf64aef5a79602215af63a1474aa187d43be66db59b35ba260f116b2d1fac3d13ca930d90e7d4c190c9a345113e2c6b8f0a2ff833c60fe96e1e653b89c113cb884c70958389948747280416cea321fa10864f14e9da7920710aa7db7a2a785d712cf47e69aea20a469d4a5727929314df5f8c7fc5bccefed7cc0084afa714fface69477ca4ca59bbdac0e0727c94381da7c45aee8ca98d26003630488e3aaa53ca99273bd7ddf0b66b7c496d65ea3add3f36c2fb92d980afbf051970a8fec0deb8c8795b011964a643dd05657c7b826474843efe0d40ea205541c3654bb1b9357c7b4fc1cd3662e5ea9ad96bbcc708b2a54790b2d24a5a521d5d6f0126910587f69feb36e3aac75ce18da9aa91602693676ddd3332bbe25236f3f73176744e3f3f9195ab8675c22745077e73 - -COUNT=33 -L = 2400 -KI = 45b44aa7ddeb652dd2951eb81d1fb666fe91b2bccc5cef791ba73264 -IVlen = 224 -IV = 07413cad6c5f9e115a276442b445f2d6d0ac8eefe6875ce5fa9566d6 -FixedInputDataByteLen = 51 -FixedInputData = 2cf0f194d9a4a751c024fbab11bb52f0394c5a1f8f3ce73f35fda0190ce09dae1c2530944ccc541c0b8a4611e312c55a14408c -KO = 736e9e8ba09ae29f46a8e624f5927e42b85b59cbfed2fd4ff456fa38e4743931075806a5e60ed6920c8006f2a25f50cafaab95fab508becd1e45f2b9692c5aabc20528dec11cc0b4100964bbd6960b995e4e9ff44f51e1467bc69279ebc31c854abfdad70cd38057f765bef3505b31bff352a70989346f08d112c619aa397a1260ab42c1d32941c5141c1012bf9b97ee1990fe627e3adac7800c406a9cf362d79c61f657e015e8b1f85b3907785e405654557dcc8cfab2df571529b65de303ca273c55ad05adcc4489beb6d09a627c06e9735e62c1f64629eb125a8d6301897142da8fb49a81bbfb29889b43c36bc553d1973e9e3abdbdd30bfad38f678574a3bc5b27a0e0306da456c03d41145bf280260e7a153e7723f7d204da39d8ac283e58e26dc0889ac897c7eff405 - -COUNT=34 -L = 2400 -KI = 4217d8e91b61ce881428346ad4bb16e20c7d0eb1e03e4eaaa501202b -IVlen = 224 -IV = 0928fe4a8993c62e2aa235c3be8e4524ead7f5b5ea54f6b6cafb5d0e -FixedInputDataByteLen = 51 -FixedInputData = 7929b9b08c7a3e7ce230a0bf6fa8ad54d75b65947babb13ac97c13df06dd89401eab76fbebf76567085eb71c56359cbf4c98c3 -KO = 2409089dae730f0ea0b0d6f516db8b21a4fe32cb3b9d01589cfae28b3007a836d59830577c41947386dda26e261f20332ffe4a792a444b943fc16ddc073513cd8e4ef03d64f974e173226361784353c09bd4cf2a31c7422eaec389bad7d88bc5efd8e39d56fa9734838c4ebcabc24f2c844026af71b6314a91f85992063ad76d98e8a8b0e9fe40b753e63eeb8a25c26d7f884712a1ffea76d2f2b603fdbbe0926007c504d80e8305f142b850fac350acdc2e7215b6324beab75cc7cad2c797fd908be02217e88e24f16460c0370ac6a79a1ffa5670fe49ee0cb2f043d06a749ce5a963f59f34d55c8da1dd69a680e96b938a2c6715f406cb98c3f986ee9675ad74ba9a163741e01b6ce593f387206aea663f11ba74422e7eb3ccf0cf3f86abb49e021e99cf5a342aad3c67f1 - -COUNT=35 -L = 2400 -KI = f29418954dd270325a8ae8a9bcc4c08f9f35be18db2ccb28ef32e771 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b764a3d57924761b85cd8a5ad3947dd76206d86cdd544442ceeb5a3fecb8ddda1fc6cbd88ca5d91247f55cc4dfc2f8eb03530a -KO = 86e028e020828c42ae78bbc9def700240a134d622977b64a0ca8a0c612c63855ff5e42218f975ffb79e247b1f4f0fd7a31b06c89f333967977406ec22e6d107ed06ec20b7f22975871bcaf7d002944fe83b3e870864ed9ac5c56995093c5009ab0b7d1f218778b15723b74c810d01a9e646980fec81ce184f1a9085b141f8f9d1ff9f8c8b981561a16bb4eb16f4dee63144d93168b9ed001b877230da8160c1f85e42d1c8d7a73bba137b1914ef56867105bb3eddf5a6872d7e86991a9640ca2baa0cbca6850f35bb2f5bc76ff3634644e55c6ed71836ca58d7995a91a82b5f858c808af40743d7a9e2104a1d85c49cf8b10ee0f814d1f1c885697454a778cc4bc81be7f046c0ed522c52ca051086e52fb48ecf422ae225a69c1d6a71020e12260f1a183cf133f6b831f483a - -COUNT=36 -L = 2400 -KI = 22be9251f36c7f2dc68e880bc6f91c8bdf544eb5d29ae19255fe71dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f93f323c9350864c247dec14ffaf412f71631732eee674860e42ebc14c4c3becbf58f09ba48b12a12c663397530c0ac3bd17cc -KO = 87820561a561c6f6785b17c439b4c274e79843f430c231b70e184b3c44ebb23fc89257cf0dfe45493e36a6b9695d72624023a8c7f8c751a69cf869ec9faeb02439da5028a3e887817eac7e9a01e79c5314935a2e9b13d51765c8bf5bd22c45dabedad7c12d232f89c226f55462fc707b4a865c6409d6203bc628feb8b549179367e60531b589fa70c1b135920ca2831422100275f35ac8c51f3cbe96b29fc81e8cd31afaed153395dc27329243c9b64f48ad5922fd36a54c0309b483d6328a2d323782c0b21bdf05cd7d4fa9a3d9d1467e111680ddba222b37d206fa878b8dd7020338bc941848694d6abea737250c8b48bb383329bb1e32b391a999c8a6032842ed24c37d0d2a18d8c9bd0d1c8f3fc1c4c8ac13aebc6857417f4fb8f560e7a1dfe08128f244618a2ad29f2c - -COUNT=37 -L = 2400 -KI = 79052163310b80988eae1698b66b8c2ab5f1996e1d8b7db1d44f1814 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4a5bafce5141567481f0a86ba02f1487999b60acda17826ebe5e1650eeefee5de6699ac8fc9af6f21c3d2d8f523f986b5838aa -KO = 9f603bf8304af911eec33fb1fb75018a49c57474e11b6cc33fc3562b6a1b77de1298909f58af603db13d928806608bd5f7d797370a207ea39354129823af23b05e1de115a29feba33d29adf2e4df155356470d9501f3072e36422e9bb15d4c0a912f64fae7687ede4b8314656a496590e972fe067736f3185f76507469d3b45abed622afdcf101587fe79b13cb5b05c03e537246b73899693cae41e59af122bd0d62453e1bd836dd0a3fa4a4e7940188571de5fe2376a797200b79847cba510f03c00276d476abcac15688987426d8df2729cfcda6f476d03756fe683bfc0ead2e0c10f009863bb18e21b6f715cc9fcb49dbeb7328dc5ddc2344ea776abadf46a82cd2d992c3bdb534660d4eeeec9669c632aa4e4b388f1f441e4321c32a71ed8e0a171341f4adc4c170e9f6 - -COUNT=38 -L = 2400 -KI = 51def63c744394d9c8fb85e60621cb982527b030149b167c01c959e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1fef19ab3ecd03a6bded047e5672dca66f3721df7b9ef70cc0784c664c827c47949387e2b49f0c8d3aa1bc0f9e0d264e3d4d00 -KO = e687e79bac96db7a7bffbdb37db64f122f1c979a2109ab251d0e3424255e30b3bab3653fc2b62ad430b66825b083cef734073f10007ebf0ea400fc76750a24eec75f6210b2fd59c0dcb8ba179d6d3fad2e0fc48f5e40c5713c59697ad5539f75b7252787387067de2d0b90310dcbdc36f486c19aa8d54a7cc1fa3a5f830fcb0b0a9003d70dee495544ba39bd30acfe8eb6eb41bfe10c54beaa98f527f5d9e9de125f47766fa1c151cef896ad66d9b4e5083df5a0e45ae8deda3056bb7d0c415503451f3bbfaeda8625f880ac6a13648e1fb26d18b6ae90d34d7374d50fd1f8d4f48e5082822c24c6510c78a6b478158769809c14245a3ae16c49fb94c5b91b81fd958d6071166310d806c387138f2e9727d4d0fd61a7dc43f65fad05f0a31fbf20696c1a05f779aa938e4366 - -COUNT=39 -L = 2400 -KI = 8eb99cbd4b41e2b802c1779afa3ef3e469623aebc6563204759be458 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c023f7f62a683d490c27df0cefca663fb44966cb157996b322ac30155dd37189af6e41a264eea1d92b63b6239ab090b08072d8 -KO = 392f7d53a89eae6d651c53c6c108546803a1c755031883bcfdb461a90dd26ae0e0868d4b080d29d13eb473ff744b846fe725470735857275b04941b4fb0922b2bd9eb6a2bb78e3e3f8f64922ef9a91b98bbfa3b15ccd422c7b881d909f4f4b914befe997b3937f751e29d0d6d10c446a5832172af284da706e8d4d58dab2ddad711c3513ca12663aac4292b535de207da5f391b0fd423393a2f3d4166f3e5ded804f7652915ad4fc00d2a08882b848048a0d6a7acf82d1cf3e786cab76d33e1d59d3b04eb4fdbe245a5ce5e75f1715bbb1052e2f7cadad389a3e734c7f147b853ce1df51c33610844f3ab6eace8c67ecc5f34c2230fd741ab24cecfe022ba2dad5a81103c38a4a86ee0dc95c8344c7a6addb727c2a1b6d41c88adea883938e84d97da94269f0747f9f1c0599 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 54a17a640cbea5546e8f4c187667415b114fc3b38ca5cfed1d95aa18 -IVlen = 224 -IV = 6f6bdbf194cca0053196ce25c7a039d32943969a66d4d46e4a5c86d9 -FixedInputDataByteLen = 51 -FixedInputData = 5025c07392bc68060cdca3da00a2c9de156409969b311fe5d02ab9c0626af548c41ef457327b0850048946aaf424f8997a76e5 -KO = 5d5476a8058c053df1553a9a03c57e8ee0ab8f3afa8ffeb45258cd10d1a207d3e82a21e6dc5ee7298e07361683c2648a319bac73ff7f216fa9dfbe41bf4d9eca - -COUNT=1 -L = 512 -KI = ea8287b843b266a7bd6631d1ad54edc34b4e335eb8a7bec2a59e619b -IVlen = 224 -IV = d1aa730cfec18547b9611c767cb71f12b8cd87caebc86ebe631c13fa -FixedInputDataByteLen = 51 -FixedInputData = 836778293f44150a0892c7ce908e8d753447cba8a4567d7ba979e103929be03a757969dbfe2c161acfd26931deabed5504a92e -KO = 2f8e6b5f7e727be66b126d117e1bd48dcafb5e927d326074008094c04ea5146db80f33831501201c3e25633e576066da85a27412acb68fdaa61ff4d2ff0635c6 - -COUNT=2 -L = 512 -KI = 71cd12aab993094c11a04244213bc5f0fc522178745805e928042edb -IVlen = 224 -IV = ecf29f86acc402dad74c23aa7160f760dd4a1aefb5447c1dfdc84453 -FixedInputDataByteLen = 51 -FixedInputData = fe7c1a8c6b49aa924670af952db06f60c1fb1091e849ca6322d35415995f33763ac8aaab6e5ec31531dfb55e30369816b8d2cf -KO = c0e5c5e0900724e4429fbd088d985e7df0e82a69e530b7402bec03e63eea16758993a3b61c1640ef790b92c15261fe31e29e1d2b7c6e3b71ba6ef66c964e53a5 - -COUNT=3 -L = 512 -KI = 4bcd7daf6e0d526f820d1bdc73b29f5670a3a255dd912b452d7242d5 -IVlen = 224 -IV = d5c52f1eaafeca638f7bd60b15b341bf4b2388f2491f642bb73935b0 -FixedInputDataByteLen = 51 -FixedInputData = a92095d2847fee9d1ef81474e0a1e88986914204223a161456354a89985b040617c69ff8e38c962ddb9c9c6c8f1c0c0f09e07f -KO = e78a087debcc1b5df0296365054809efd9ce19436ee0ca136293999a862e6da8313ee1563ea33d36f6da209126ecee1b4533e35fabd547f3956e1262715a3a9d - -COUNT=4 -L = 512 -KI = 3f7ba0c12973cb888319c55b66df5ab0e7dc9e076e01a6ff47d66405 -IVlen = 224 -IV = f560833bab95d03821cb4c6a2745e15be268b592414513c50d2ab2dd -FixedInputDataByteLen = 51 -FixedInputData = f67e6764d97b2663338e475b7b5c577521438d522f43ecac7d00dd64671503fad7d835b59352810bbb058c22cc6c6414eab8a4 -KO = 2f68d0a5288b3067e6f196cf04ebf55377663153fc0a0185444d729baddf07a58a3c9c49b9b42d9f0409fa225ca71440846fd3e26c983c1812cdba3429f3078e - -COUNT=5 -L = 512 -KI = 5c057b2df28a92675ace8f52fa77621c01c5b40acb41f229b9c04d05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e6efe6d0b52fe75e533235578ff83e1657d6a517be56b96f6fd87d6fec280c1fb0a57122bb511647bd2a073acd0e079f89b115 -KO = bcb783979f14759cf10ccb4fdfae1d18ed1f731e6645b1d1ef3eda2c32bd74c2cc5edc824ab373b7eb366f58acac17bca40c21189e787627d412e5a1594b575d - -COUNT=6 -L = 512 -KI = 7fefcf37dc29eec42a62f10d65041599c481162d675da2e2ea1619fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1cb5afa72a3c8ed128fb3432f5f68cfe1bdb45353dd800f94f5cf2bcb4301f28164f36428b3565af4a9b321b7f1763d82f8996 -KO = 10ccd3328cef3b34aa3ba967713e49f7facbdf089f4a2c7fef78ad04d183aa9aa4297a62af4e9eef56731c4c31ce4b60047213bf2c82ae2646c9bf0cafc78506 - -COUNT=7 -L = 512 -KI = e460f7df2af48f25918b8a986d7891ded4c03ee428bba25b8e359fec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e0680ea84462600539b5a2f2cc73415ec65c2eab1541648a727d5d085e5da59cb9b1468f36db20413742f12073c4118461cb09 -KO = 4ba31370db4168604d0949632147add5d4a4276182a5ea1be0a6c0cb0849daba5ed315d70f84a89f9b7326d741b202ce3d8fe1a0a42c591b6487e79bf0717f8b - -COUNT=8 -L = 512 -KI = f3f70c52dc435a7cf7fdc624b4e3f95d4d78174698fc4862b8a0671d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 581edab5500026c4dd203740a458b4a1c7cfd47b094aa4193f0cbecb5675572d36c3b1e1e095bbb0968164a3d1a6810c344b02 -KO = 59469c54bb4e139e95150e57fc03195af2463d9cc4baf83c19116d040b67a949cf8d2a53bab345a4b959a1bd3927d6072dea3b04a710330d8b8776d9cb8809e3 - -COUNT=9 -L = 512 -KI = 8c1ddd769aefbdeca51c6d94c62446ae22db358fb4875d388fd61ad0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df6bc1de940b987e8745aa451d83834586c8e5f722257e88a60061c48b5ff9d3e6353ac3efb9806110392d7b2540b8bfebde06 -KO = 84a363fbb0e3312f3701e3b2ec07d85706fcc01bc83978673b24649a080acf90109c62987bee78514a18dcf99d303d46d2fc9cc10b12fe61f00b8d76de87a304 - -COUNT=10 -L = 2048 -KI = 323b1d2e2334fb19cf6b5aede8dcdc47b9008b8ee13f125c74b3620b -IVlen = 224 -IV = 7fe6dd7fb29d57c24a625476427b8cc94a28abc22d7afbfe137bc134 -FixedInputDataByteLen = 51 -FixedInputData = b9213e57463852a9a1586928a13a18a50f8287baade9016a0249157b7721a36edfe0b1c62b7587d585d77136af77b81b9c7aa4 -KO = 440b7dc6f6e559e85bc0187dd6ee601e31290db196f2e51ffddfe4ae5759353d42ade16273b13e99fbcbd0e7c48801ea4d196455ba3aa5c73a336e845a4dabfd481bce1bb2832a6908807f487ddf9e03a618c515500b8ad260498845c1af8812c8065651ea3b2609223047b3c68f4cd50d6b00d33204c1f4159f0d3dc43f77447a4b4b283ccdc51e5f1ff0b307d21cfa841d484c09d507dae6435ab3360c7e464381bb52d0f6e0997bf15a3d778969d22616596a04b337881a1669f8c27467736bfd9b3d9b575b0796f8db2a224fd91a9a26f5be13bc555110650341cf26eda29930cba0036d35025cbf87640ffc8b4a10da0b902ddc699b738d1b20a81d1e08 - -COUNT=11 -L = 2048 -KI = 47b9d467bf9bbd4c573cbec9c75a8ec05c754667361beaf64c329389 -IVlen = 224 -IV = 38d064d551c7d9638529a5e80a5da70025266898c615ae3177c954c4 -FixedInputDataByteLen = 51 -FixedInputData = b319c6373e4f48867c85f50fc1f703d4c5dff09cfae93b0a7c6056f67a74f968c2b3cc8c64fbb5283c21b84b03c061bce99f77 -KO = af012e642438a4937db27ecaf0c72e3f91d39bce7341070f90a36d478a1ed9064aa76823fed23829145884b1e945b4ecd5c00bcf8cf6d626268502de7d08fd5d369a1a23d34408edd60fb1316d41401d91d126c24c66411adb4788cc7e60432efc17b9e44df6ce531eab3108dcd7c5ecd6c0f65ddb2b0f2880bba234e64d95a2e5c4c16b566fa27deee04acd23ec79ac80b54a77e87ca8d5931bae46b7e6f9106ec555e30d44ae3ee9c1948f55a82f03fad5d4e94fbfe094565860e9f08f3cb34d7ba842fffbface580b32c35e6969b736f13ae2ec731ecc2fa9711698b286e38dd18bcc66a70c16b7189c3d9f63942720ab9d5b4e1d3d408cfaa18c3729c66b - -COUNT=12 -L = 2048 -KI = 73cea158be0f3c029d1c0399e8ec23cda203fc5d4a1270469bf9131b -IVlen = 224 -IV = 460367c94ee5aa8de3bc25a19018b4c93cf5cf8cd56b3997e0677e2a -FixedInputDataByteLen = 51 -FixedInputData = 4530c8d269e772edbb256e2182231d5d9fb5e0e61eef6fde2fb4ca16e47b0098c636d7df0cb06ae0f0e33834db2de000762ec7 -KO = f0b8684d49c4697bd83a51bda4706e03fd3878e2f226b7cb5906dfca78345c54ad89234c038fcfb2fcf81e2578f6ff9e03c6d6042053e60ae302b19672438a14dec409af5ffc11a433bd0bb9d7ee8a3e6e1c3fe1d12935cf741fdbb9cfbdec7ec0b4ea67583d2857a414cc6aaefee9b81b41ca76537230a7d21baa308dc42ce0b06d3d1e86b67a818dd54f7a2a53da91fdabfea0fd89ee3608107a63a87b8a73c517c625d32ed086fe628118c4965a968db97967467267f071f97f3c73c600e1d7095a54a93400b92367d56cc555ef8d1602b7f1651fc6171f1ce0ad6d47850bcc5c66c6dcab2787c765eca30a138b899de92af8b5d907abecc3d9218a17a636 - -COUNT=13 -L = 2048 -KI = e7125a8dd0bced9d540817597fb28edb4ac38e27483d93c23d1edacd -IVlen = 224 -IV = 69e1da6d0bafdafc8825952c7348c5e33460b4fee177680f4a505cff -FixedInputDataByteLen = 51 -FixedInputData = 045018f2e881d97393adf556a963b2d1cb4db59e2077bc6bc04e12dc054c34d6ef0fd76cdaeb8f123ecd0311a8b50ddcc1e46c -KO = 5b423119e526193974ed984e190112a3c94e23ebfc489cd7e5c1706cb2869f12f324f5b35509756468da3f59fe5219bdc382eb8299dc7de7eec8bf087de8904e036472fa7312b967c8e3142f013a514cbb7057d26e145b3017d8ef8fb86b4e12eab06d4d7579b56dcc571ee657bac4fef74cc26e2502a55f0ec2845608d93014ba537c74e1d399c11f6a7da61e21790edbfb14ef83088e2733ed51ff476f54f259ebe2b73681c6bfd1b019467d246cde14e159b0216ae4d243e3610dc84ac6f5121a5094127641b34037aec74b25132a49eaff13ba0682a5abc43aff5d315bed1745eb725c89b7656072507566864ce81ed7510e16d95e6fd786bfbd87b4d9da - -COUNT=14 -L = 2048 -KI = 77e4b51fdd1dbcb374647956ce9ceacbc656f951f6def7cb060ab0f7 -IVlen = 224 -IV = 90b0c81251b112ce64612b87937545d53a3cd8ca0640e8bdcbe2b448 -FixedInputDataByteLen = 51 -FixedInputData = fa456d0b622f3ad4598cc859803488a2319872a5aaf5c2fa92c8421d3a613c593ef1f3d77fd608ef3e66d906aaf82950289ace -KO = 0c2545cec69f1350044f91228bbeeeb95abd645d5170af4e4097ce49255ae5355f19553fc4ea8f5e4aea3ada9bf9237e5b0e25b60b102dba1fddf64ad094a9c1de5e6c0cdf156b2167db0fd34d54a66430c79fad93b4f7dc5d64e00466dfced7bece0bd1da1e9ffaccbaac37311511e88e5c544c777bb56fc11a03bbe77520b44430b2478d5e10616259edf0431098502de1d56a6bcb70698ac080c139be04cc0490ce19b6eada3598c5d3da130d3e67b522eafa75b9efafadaa1a3e406da67172d0cd9e7b43982bef34511529db08a01bd70d060166a9b50fc62228270c217aa3ab7ab40cb027dfcaba2e9a1001a690dda783cd4106dc6ac0a02d30ecae424d - -COUNT=15 -L = 2048 -KI = 92835185ddd1bdd15a0bef64454a1dd0989de9ee6c3c0808c4d3e208 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 115bbf11bc37a76dbe46d4cf58f12f1b81cab4875fc76ee59f06361805462b149adccdb165c5131f035bff633150fbe92ff724 -KO = 45a0a323bd47072022907739285f85226c9eebc1bac722426d8a7ead34409c6db993a23d6664e2c73f82cc4aa1080ce352d5aeb76171f2ee370461a081db69920c806ca495493d43887f234edcdbb449e7887c8f6e796489c4be1ec029f1880c1562f1be347019dfe9cf11bffeb4635c60d5e673b7617bfbf742fa8e89178a0783bca83640c0bb8496da9ca14e7c7858804d2464259afa0239b0755a74625f1a77831d287456c935f22ae9e28645bbae76e337725784844bea5f1b922199626590ba6229622a3b675c92af61e885c734ea6a565b87ac43c2504b1383de9b5ae7002cd8ba7007861cf24467fe9905b1ddf09a0cb0858169591dd80481d7681c2d - -COUNT=16 -L = 2048 -KI = f6593c82b8790a48c59a2dd555b5c1b5e5cae54e7b8feaa0fa95fa68 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 07257facaf984fb24b440b0e946e888e7c724b768dccc78244ce657ab73f1abd4f147dd89d211d7b60b7b35171d10ada4eef27 -KO = c513821ff2adaca91941b6d40b898312a81b1445fd66e718df15b306c6dc62aaead1edd6891011599a72b32e542b453fa7f49a87287e6a14c4320b086ad725b329733c180f65b014b19bf5cae69b9ac6b018b41150e616c3b43de5c8535e7e35b462a6914797021f13b97797d25f79c27cd4cd4e48e22895fde86f35de36f01f005d1662cd2e0b5082ff4eaf72a02083bf1619b663765306518d99ba253cf3f94e603e6063558ab72ccf604ab7d78b42c42955030f238fc2e02e7b7155fbd1cf8ab89eb00888f98a431cf61d89bb534651dfc38e0e05c4d526c48915777bc730613038e0537687d10c92f90f25ec27ab82d7d731b5dbb7bc985b0067b0150a1a - -COUNT=17 -L = 2048 -KI = 160274856268d40bb40e0b03f4df4151eb44a7a1ee40899b22811c0d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b38495d72170ecab60b1c985b74c5ab1688d0861048b542cae167599e4b7c7b6155cec3bd1c874050b1384e62b59f2ecc4462e -KO = 87ff53f03f82961a98dc6739909785f72445cd02ebc761cfc513c6934b3cd01bbca2fdb58cc55f7184eeb58e98dca9cce593587ed795161c67f6a5ddf6aefa1aba51fe00f323f5f42149a9ac2691f82dabac522682f6cebee40a6696715e680cdb7182d0dfe5da38af9351a68cffa61e2d522678f1f99448ec4bac2816fc39d717cc26913e0eb2d127f17a1626e28e5b9b4dc5a7adca9eee5c09feb457252a35949bf3944b40a060b8cdd3e082c044626bf498fa92e3b9fb6472ce555a1f7c0205cd39b811f56fff69a008a3e74d3fd162b6ea404b5233efa2491d2cc289607846464bbc2f487c45e06893f5e086cd1964921c8c54d48034893f418dc2ed84b1 - -COUNT=18 -L = 2048 -KI = 0b1c01ee7120c5c0909c10d81903a7de9cea17db9cc29831a056e9e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3622a624a3ced73a2be2f48e26872cdd2babffb04a0d2437b7fcbc4297a886ddb750ea0564392f50e3aef73f08fae508b4364 -KO = 06103e1b2379de1e64dc2ceac930fc6fa2876ab126525c375954679c30746c9586acff4c5316de6b0918b88059f3bc1627a006176ef32fa725c61fcc55c6031dc93021b76e1ba09f419fe14abbf665070a94586d35ad4e0c23cd9201535a4e8c7955b6f64cf37a736067fe2d9494cfa16b5118524794b74019a9cb5ce9d2784dad37012e3caa2ebbe6ed0671da0c3108c58a34c68e09c3b6847d418289535b904f099229711a3b042e4355caa8137b59fe12b656a24642d1d580f322a9d5be26873203686b0fe01689b55c1e251434c9e4462c8ba777baf321c0cb71cb5a519f3595513020eefd08d7818ca5e4393a2f73b60c9bae078a1d58535b647d524e84 - -COUNT=19 -L = 2048 -KI = f554cdc7f11e1bfb62b6a3690d9f310d6b6626c7b620171295cc67a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a31c45f9e3883d2c8e4ff98a706472aa60b2a986b443ad2e805c3fe2b51be803d2b77ab33953e4f4fd1d32cd01ec5492831a0b -KO = ddd40a30241bcabe0c2a6b3c8397f1d4fe9b2421f0d4a60b525923aeb52b95684f2f9be62d913a395a70b82279f7bae7dc572c45f8cb47366887f028139e2e85c95cedc99c462665af9f97bcb92ecec2bf2e52acfa7c372e3db9f0e3013a9d540871e3cab4953181bda5d025327faef63455c1494a6ffcd7262c31d88f968df6b63e32c529709c671ece64cb1b5ab099d14bcc7a06856ec184f80bb7dacfb4a913f6b3701002f2af8b45ec860dc13de1c481e51b08c46aca215db259018a880fe6c1432003bc507ec7177937caeb2fa97e0c014526ed035ca15021c02fc7b4de13b54a867f6e23b9edafea08bcd37dd4fcb0a5f85672be6924f583b8a62d9fd3 - -COUNT=20 -L = 560 -KI = ccbfc2e099765069ced65a50fbeb6d6efdd8f096a3729c9cb98d0e13 -IVlen = 224 -IV = c8a23241a8caa9b24bdd225f07d4b736a1da4d2b5cf678c2027ea4a9 -FixedInputDataByteLen = 51 -FixedInputData = 03bd50aeb7be38fb0e0852ec1992ee56c5103af5b7a86d0ca406abe5d7680071d165c7fec78cafa3863acd848fd2798e068da4 -KO = 1daf39cac8738343af2d51055830e098f47ccfb0f3e696672398f2638a43249714ae7be8c5cbfe33e9f965990b05468dbd3938c8175437461af836b1365a9587d1253c1c5064 - -COUNT=21 -L = 560 -KI = 085d17a7e3ecbfd316b89a8727075dfbf3185a108d84ad4d408a5ff2 -IVlen = 224 -IV = 1af8c265a4f16792f0ec9d11fe28c212e3d767329b8fb7869d04ca69 -FixedInputDataByteLen = 51 -FixedInputData = ecbc29c4da94a91dab1c1fd57fac1e5a8bdc5879d795f2a3a4624a1800fdecd1ed0e433742995a736e5ca26af32d733479aa79 -KO = a52d425dfb24ca1093dcd676c8a4bfb94c2b8965623b3666decbd15c1e6b2858e5f5fa253235c02b057b0b377a7f5e795b0362fa7543be8df26f4fced4d5616bda4d2d439386 - -COUNT=22 -L = 560 -KI = 88fa92703e8b57f5a024e05bb3bb034ae408278c47a7ce911dbb97e7 -IVlen = 224 -IV = c68f02a579dc7adba0a0679b20b726ea9dedd98ce975692f735b17f3 -FixedInputDataByteLen = 51 -FixedInputData = 5649dc6e9de0549ecee99f65f237bda87016384082ec6a5d7fae921daf21921d1d7f3e5672d6a3e0cd370880ae64b98407bb94 -KO = 7aa9403090ac73e947524552e14abee62b56ee1237ca02c902e197c78e249a43389cab5057952b35bb61e24e045e12e1e2f12b38b55eb009b361b9a9440423a864225936e0f3 - -COUNT=23 -L = 560 -KI = 1827cf63fbf7a1572596aa1d9e13339e77cbeca391ca63bb7f68236f -IVlen = 224 -IV = bef17eb9d0261f7dedda8cf09bc72a039c185a656bc21453a5822489 -FixedInputDataByteLen = 51 -FixedInputData = 3c32fb1e46f6f4d9a530452031669c0b31d1ded43f987cc7517fbdcbcbfc73057f72d4ba2238a2f85503027a4116c8da0cc7fd -KO = a169731dbcc3055e7a98cc4306cca1cad12a60c490d1088503f00782d03fb658351cd2e9609b0d22da12f5d4fc92a4494e37cc4e975419e61ccfd7d6141c05069e3906f77bf7 - -COUNT=24 -L = 560 -KI = d315e844852ad51d1084a60609ae2330efc975a1a809f0c59c26ef06 -IVlen = 224 -IV = 3ecac275ba9211371d37462b1b625082988f18a98fec5bfd43240d37 -FixedInputDataByteLen = 51 -FixedInputData = 6a5672ca9d0940646d442e215860241a9d842b146278c208110cebf0cc143bef1e9f63beb47cd36af13c4ec426811862f8a814 -KO = 97d53c4ffe7b591d18defe61b1ba3ced3d57ee388d4159c0cdf243a1a0340fe4095b7baeeac9bb218306969caadd5ee2a79821389c75113f0e2a319eabfb6cb18aa5b7c36e57 - -COUNT=25 -L = 560 -KI = c95148d67dfef56948a10c96c0577e0bcfd72e5f9b38c2c7ee3afdec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d6865512303b6a032804535e60d8be3443b4bc80bd1e51e8a706659363f75d178eb5e2d4e89f5302ee66f2f508cd35f5b0d49 -KO = 630765fb1a7d5aafb5c94c11b94bb549eb5ba05a34ee0c70984c6e3709e1bb254713562a75e7b5f52a0de2821aa7ea21774891e349630058c1b9567c35fa40d0499458459c06 - -COUNT=26 -L = 560 -KI = 7fe6b472a93a505c847d8d4593d74cefda3ddc72e9de08c80180e053 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed4aa2b8d6119fb3227fffd2d6f1b5a5f5876f63b20ac3c96d865a02e5ceae018c1c0a0ec7b00213bab4cc7f7165289adae680 -KO = 14c52da22647bf271641f930c1718a8e5238c2a30ae6b3c2ae9e2b096818fbb8ec8fd022b3d8e9727a9b4d3ff15d7f7c3abf4fed03d8c0b609b69c92abcceee74fb28bc2964f - -COUNT=27 -L = 560 -KI = e1bb67c5ed27439ddfadc9f3169be3fbf831b2407cbbf3a765a1d9d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0a88a5742d560014478977692ab3e6b066b2a404ee76a3fb1173d003e63ea3539f8f3f2868846bcc8a4a1bec8da7dccbfcbf13 -KO = c1805c264d883c65a5d1aa020407567ae86c6763c6920efc57b4e575588892ed2031c48d026394e26f2cb7a8d961869c0d34842435373fe9ac13e19a38ad58c8f02ac7bc531d - -COUNT=28 -L = 560 -KI = 699efea5c60528f5e2589d214a929b832892cb22d674b03c749aa4ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9747f3a5ceca207ff7ed35cdf1a1bdad5d3a2e792748a9660d1c11b433545cf3b848bc8b4de6f4c8d93d4e03ea8255c0b5933 -KO = 8e1d17c4d3805127d48e52b48cdcbd0db0b80a808ba5ee1878843808ff0e4a3d471976fad5926415a00898799731ca7e2e85ee8d0d657173032980e478bf3dd021c6992737c6 - -COUNT=29 -L = 560 -KI = 4116916e294a5fcb3e2e4c49c08341b48ac1eeddb6dd33251b61299c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b71ba252ae51479df56fb102ad7540bfeed21cece2887780b3bfe317166a7a41607668ad847c881e6e94ce20a4d0f53778751c -KO = a60559f61061d6ee2a1629f113471b58365d7232e199dbc166a37b0222e94e463aa1661a1f55fa883bcdd1c40ded0379c00390b470b2e2237d2435d99f01883ff30c2d4f726a - -COUNT=30 -L = 2400 -KI = 102c44074f58358272348516c1bc811b7aa5c4c284b60d8171d0beaf -IVlen = 224 -IV = a98dc4ab46da0a1f5ebac5546da1149d133d9ac76647335846db13dc -FixedInputDataByteLen = 51 -FixedInputData = 122c97908ade48bbc63d67d344700a160e50cc8ff1737aa7bccf7f475a9d287d6a46dcf0dbac571c5b3926a1fa4322cc1f10ba -KO = a7827f6e2ce2cfa6d8e1bdaad11fd7151c7a619cfb0da7cac2ef31b501e6bc9946e4720d2e3f02af8e8ab37e7245c2629af78582f0dbb150707a995bc034ed2938dfe3b30d50d9e8bdde626343e8157a60287f25f1f3166795b0c908380e4f0b386d477d6a3146f5693bd85fd29a759b8d9fe6d5859bbfc88c48ad8b52bcfd51ca5cfc1d982b32f708fa43d3fc1035bd42315effd5f109fd98841ad6590351a9d3da8e0fdb02467cd3f5687cb3a81ec209df020e02921d29c00610a55a58d089631eb2aaee651e31203d270fc34c63d3c3333967f3bc36170eb1281424bf13c6159492dbd33e4a4710dcabecc8b165388db34f7371f2cf0986684aa40a460470718720b6a4d60761f78563b548b1f896fea844f94ba46a34437d44e8e1b0d7a6cc94b550a6d558953f29eca3 - -COUNT=31 -L = 2400 -KI = c56388d386bd0a54f6f02ab039babab757c0f3a6fd68fe425a0cad9e -IVlen = 224 -IV = 56efd2e6463638b3f04f63ac390d1b48b9428749889d08032485082c -FixedInputDataByteLen = 51 -FixedInputData = 0b08f501eb8b251bd1fff737fc8c8eab3b894edb8f496cb9c156f856b33b4c5731bc40d9d322e6a4678d6eafba5a3295f28a81 -KO = a9e7ac3183a303fd266547ec508051c657032164cf04b16a7d267606a3fae8b0403929983752cfc726ea5ef48f6a92c5e2ec6848ddd12f5b6c1d73e801e9fb97babed9e331609258b435e3916827dca47aae684b515a5e3aa2193cbf6c7b6c789ccd339bf8f642c3e282c7414bd24de22977ae079a64a2d3a52fe8bb1351150c3408d42943a700c8a4b6a2603437319ed4b8c4102e2765c896d098a44d7d667c1d0d176c18e5422a0031098138f7b263b74144819170926dc452fdfbfa14789874d5241fc9dac6eb6879983ef064851db2abba77f2ea9f2b5af2ec50b3f3a68cc07678b65593a4a9bb417883c60aaced2e2c61f9674172499691efbf3ace1cc7a15e807e95b93fe1a1772ebd7a50dab5763c69dc1846765fb06293436d9a800e9ffe3c79dffe7c974ce63b63 - -COUNT=32 -L = 2400 -KI = b46399507a01d7d285ebe05b0dcae8b5ed06f0f8df2a35dcae74acca -IVlen = 224 -IV = 95cec923b6927ff04a9790e6f86a4b7c905dfec1aecd9676f3ac8a94 -FixedInputDataByteLen = 51 -FixedInputData = 9683025cd6eb43ac68d99a00e31282efb960bb2480cae550518aa55c211c60b1cb0a05a72737b90bb051d1286f571e23536af0 -KO = a8707e0ef804843fa69c8376a734e5bd611e9ba92a25b8466c737132ffc15df7196a7fc0bb8e8c9fc2e868de6863a37f435ced699bc12dfd9d5b98ca86303273600c6985e655758f21d578d1e0d7dbd6e1e9203d82e3b8a9da71c971d68162cfa6916213ace46eed835872495969f845d41d0b6a6e16ba6c2e23e59610e8e40375af62e95464af34875f1650bd78e5b0d5de9de99b6bdecb427d541a22fe867f202d358030984fe7d8b3441e5079f07b2952862daebe1168813e61d74749b3d7c6ef63bef6117a98ec220ba1235aa564f6f3cf70eb061bba2fc25a944102ad58a01379d0e12390f4c6d72ed4ecf947a278337de36cd4cb0d1bdc8ea59f6cc6ee18ae2233201b786c44b814a64e4068989a9ddbc93255b25d3c7e35a5facfff621d98dcb3ee818bc406e8d36f - -COUNT=33 -L = 2400 -KI = dab8cb43c6def6ec60b3ae996a187674a6d1e174c68f3ebaf18b3a38 -IVlen = 224 -IV = f13383f1010efbd1c2c6529b8f00daa6092f9c5090598c3dd6c52d5f -FixedInputDataByteLen = 51 -FixedInputData = 8a67432b126a6ba62c6ae3a2d9c35d5d8530d3de0c8470bf7eb3cce602ca28b34933d62eefcad905039cfc1012a964ed7be000 -KO = 2b120e08b0831e3bc3b891974bb27e748f10bd1aed4d16ae4dba19e973ca8f1ab8634b70df2473bc17c904c285042776adfe9f0f140c7b54d6f06981e8f9b249886961a2f6826ab2209dc056125eadd31db7fe434db9e14e95ab3a2e49f799ca61ec5b8a36b1c55a9fce546f81986c2f5cc20ed11790003de00d9ab4531120537c126cddd927accd3c4bebd26c06d528e81f88bc07747bd742c6b59091185169a6a391468b753dc2d0358a6ff5e9260fba298e1035061bde6940984d8cf4a2fde73c4701eff806543484c501058d782b1dc0613e4fcc61ff662c09fb6cd0f727a035d213655a8ae63016a6353fc4121f7a9d812eac6d77478d3ece6290c91135384b2d6ea2ff1aff7a993635b27fa1b88b65c10de5acc9a0ee01a79dc9d1aa4f847ccc3587cf6eb733fbc8a1 - -COUNT=34 -L = 2400 -KI = 814a6a619a69ea24d3e1af936c95205fb98e7fd11d92362966b9e547 -IVlen = 224 -IV = ce7ad192ee4a96828625b69167ef8bdda6d2d94f80f9bc7f0a406c91 -FixedInputDataByteLen = 51 -FixedInputData = 3dbf5b1608c6be0ab88255da3e376201a397c268742795503e45c1898bc720b56f5a3da48c93e79609079ae83da4cc2810641e -KO = 745c30d18b46b13c87aafcd215cb0739747ea09d1697669d1093baaaabc5c9a5451dfd047e81f685a5c601ceeadd34614e5f06a70d2e93e16c63520a6f975e68551ebfe469cd408e6372b3cf415cc5b6d7dd68267227e48a74a67fd6e0ef8de4907fd014a6ab2564a6108973248a33dd3916965d89d37f26cbf15696282bc4f428319d790f9dbb6a4cfdfb09e7a0c28246392270c1b510dd3dac322ddb5fcf73aa5292d526772d9ec21898038568523bcbbd749921638b93e92c1f71735587c1004fd120ae8c2e170ba7fb564ad1c8cf50e029656c1b7918853705e0383dab69614d0d0c1067afe540a964a0d54cf2295d73c1cc19d65db6e8a44c5b5b7a8d79b087d9e9b3b7cca5c2dc3d4e12bd56f22e692f23b529ed3206fd7b1dd16dfa445cdcd114b80d8be7efd8fbd1 - -COUNT=35 -L = 2400 -KI = d50b680d213daefe5c4ffaf567a6bb19c33be09ccbb15497327a7892 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a081d462031a302c6915a738032cd163f78485a54bf55aabc4251f405f304bdc1af797da5cef2255297c24667714396654f0ab -KO = ccadeeebf427217f9e885414124f1324f31a6efd704f059e700fe1a108507f775b7f16cbf5862b0e43aeeebb5dee16a34158490ce8cd9c721c314a2cbf5a41836597e1274639a961d0b92ff907d337227b38430d9a07875e75ed1b78f63524c8de6b4d72a2d033106a277793105f76ad70f820dcd23edb7fc603b32974d229d87bebafe882e1e55ae36a0b885dc7a6c53c95ed8d3016d411806a96b1db24bb7b8ce10a09c3e855c778b3474ee53b62300277e79056490728e5f51534e05ba656aaced058198f0620975e98b03a57ff4856872907043841e7cc512c1f3a920a09c5e225e3f332bc580db4f1d939485ba4048f70d05bc5fcbb8b1cdb9ce18291d19b9f000d3d7c6a34c7ea215cffe73f9f7d0b5c30d9a8f52eb31e7a0b400c525a9770ac2d9df9d22bff7d10ff - -COUNT=36 -L = 2400 -KI = ba5c3933393759129a1998be4943ec1538c8a22ffa490b3868383559 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3532583ecaf37ac69e2667cc7477d25511e6993dc85593d334fb29446653443f57b1f6fc8d90d41e5e42a0d6f1f33efedb79b4 -KO = fc596686e80cd322798e8cb5fd703cc06c497fa8ba4ff52546d7c2b5e5b437c895e18d0e08ad306485cc899fd7f4925105e3b26c40f108659949c79c2ba1623946d1780474a5ce2882e4b36febc65f95631a39142fdb47f308cf741894e6849839966642d243bdfefd280b3ea8fb94bf10888b89cc96479f3bbefac8adf83510c62864e6267b9a5fd4fdd1b021f916a6e2fa71493f8abe43a9c37adac70f0ecf11e45d437a1c197901d0857336892758e64e6c0c060ff557d4de0a81688f003d991b7570eb21b32e409525d573e168121fd6172e335e93ebecbd68f92725e7e94cd0b63c99046f95586c351b4e3ce1e1bd46ffba895e687ae70f82af83da55331ba0965e90148ae6a42aaaef0a5693a6c2a166467e9dd8fb55ad06266fd26be71a66360d6b7ced7e0dd6d28d - -COUNT=37 -L = 2400 -KI = 3534693d1c9f1d5b4957de82f5fabb160fb59e10c13735f97528be9b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a7a3885da7e50070384463d13fdd1936ac541a7d5d73b9a9c4b71a9a0391ab2b0125f5eea8fb08528b60aee45b77bb46edeb38 -KO = 27d7c7bd7e1e1eb3641f721f112a18d15f768057aacf88ef645ff38de1ff6b69c83318aa8bf77c40b13af3ae0bbb0e40335374c9971693edd8f81a7c66c67b77546a7be9c1a2c4ebd938af19ace7148f8a8c128bf1369c84b80c5edce55ea37638efdc6401f12ead30fd9daca857f8324dd81657a6514771d209b44dd418d20244142c9bd6cac678dd218ab58f9957a17c963ba7a9fa5965bbe7b0528793f480bdf002ba1b5a6a9c2e6026c069efc3c441963ddf75c9a7369c2a379f09c0bcc375acd604ca44a69b3c70391e8fb6c327fa17b0ff37ef700e09568fa4254431b689360e39102f01c9ee9bd3639f5a6e6915c4b7518eaea0530524de964af9a6eaf7e6510a1b223145b10cfe2844d373b80d7848741c6df19ae0d8c41ff4211f1b8c657134b3f80745b6babba5 - -COUNT=38 -L = 2400 -KI = 7a456a2728f346459244f038844b0408cdb2c5acf50fd56a11754e4b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b61e8c9015a1ed1d0e804ac97f692254f5850d98af01c8ce358be16fd34e95fdbba7fce627828b14db837e54aebb2ae761a4d7 -KO = d0d2ecf29686e2efb149d059207d2597199fd8cfca0606d0a908decad3ae2b89a9d3b9f21ab66088a9befa944a31e0aea96ea98ab34b5b74117fcc04d5164c2a4310161fd3f025e073138e92ebd39ed28c5e90f4c14d7a46d8c4c73872655fe4aa195da58bb86f3b306ab7017608ce8bb13486596b87875a7764d1a2ef2a77ed91b1b4e166edfb3714b4da70376d67b684b85fd85711b745b11f229853f31b6ad8723a2f745525d9f63a944efbc6713cd95b08509b1f4c976f1f4e75cc4c3db3bb3a43d4cc0e5e28ef9ed0f8ffc4e62b3d2af85d1ccb543584544177b417abf7f005bee3da2afa5df955bfb90802be6e41e90dc055783128df6f42f49a1dd53b68ca9ead32dc6eafa0b131a60fb66891a82dc225b5cc5d3b18e16f7793b449e1d34b084c988442ab2ea42da4 - -COUNT=39 -L = 2400 -KI = 39a4eddcc0a4d8509d3b51adda970f1faf97912f39a3774d690c5a2c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77ff6a77368429834319c4426c71c5e6661684e4b88c3fa8ba78439dec4a219b6d474aa2ec8389f44c0419e18475fbd8c7b208 -KO = 15e2ac66297159fdfcfa8fc188702856d7e2f81eecfa7e4cf0bccb47b40f5757d2a86188a3d24d952ac00ffa20b87c373428dad1fe1eb060379fea7af0e83fcd4f93236838358f8a01e907fc07ca3faf2d4d4e896be75d60eb3db39fe87a974a3a0847c55054b0b51547bdbc9a2e9f999cb7b9407fdd8b5957f93b4983221992cd571f9eb1c414f485987ce36622e7b91524a9b1897042f25a8f7e9d85855e237cf7a3da5de0e328b93661385fcb3316f352643a997d1e6cfab8f2c0499035a580253ac891987dae9d803e7f8a513a10fdd60f33fa88f535cf2e851150783157d7a665577610044f0b807af377f88d59ed85873f2e21a0a57e3ef368bba511c8f33961146e4ebe4d7a457a246eb01b226d79217bcd49e71f3d12e1132529de3dcac8b52970a666c1c71b5670 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 56bb190af6ae787b63d970a94f7606445e179d1651d734b8739e2d6e -IVlen = 224 -IV = 4d70586e64b877385fd7afcae688edde84f02c1cfa58397b1d726d05 -FixedInputDataByteLen = 51 -FixedInputData = 0c9559caade27448c42b60248714b861deaafe766f428d937223813601ffde2256aa6133099938f7a4e059ca0b78d484ea44a0 -KO = 9fa4f5a58c7ef36e4444d1d292105d5582c10a3d06155d5e7ea5d2e9bc1e01bd002471d5efbcfef5c80cd5830e49dd3977e42f6b4990a62b7f4df29cc40f7542 - -COUNT=1 -L = 512 -KI = 21ed48aaa0e12fec8902d155a5d660db025e401d2550246e8d184461 -IVlen = 224 -IV = 64f460bd17464551aecd13936e7afefcec12c54e455701134ee455ed -FixedInputDataByteLen = 51 -FixedInputData = 7ead99aa571a87d186d387779f730ee089997414b01e6976abaca4f02375a43ac54f084fe3022da21da3bb1bce09a6f80a4eb3 -KO = c3786279eca1cb93f529f48b5b9ff0e8382119068419f5e5727ebffd0e2082d8a7e242c8e7e0bfec51f3d4014c4ec41aec32909c609277bedcbb2e72b0628226 - -COUNT=2 -L = 512 -KI = 0beb67386653b06d8504626d2fb0fa539bec9c94059ae2da5702398e -IVlen = 224 -IV = 194efeffd504ab113d5addeeb0363d706bff058f4d2d29a86785bfac -FixedInputDataByteLen = 51 -FixedInputData = 927e33e095ef0e02c391fb19549276d62834792787fb871ab84042fc5280122ab1e69289c3dcede633945f2ad2d1375000abdf -KO = fb4867f0584765433ae8792251659d046ccd41a6519b1337256a6a907be0164b17e19f9506b2803669fb505c9e3674e585c41ef16b6216072e84ad9e6e96d09c - -COUNT=3 -L = 512 -KI = 27e91ff53fe0d31bf39a1538074dfd4a8347183290195dbd9bc9a147 -IVlen = 224 -IV = 5395f176907ba8e92cf51e88b11174d158382f8c5a7b4762828b9435 -FixedInputDataByteLen = 51 -FixedInputData = 6a31a64dbb8cac9df696513904530ac982b88d58b57798b6b4f163603de88ac1112b981b1e4fc0f826b114ee1799228b6dc760 -KO = ed17b48d0e4edc10e30adaa08050eaa1b1848ef10f250529744a6826eee57c4ed9568e78de266ea594f01c7fa3c57d6f34d996c4b6175f461c0986c19409e53f - -COUNT=4 -L = 512 -KI = ceb2a50a0c74d0d5199ad8ec80b60a6d42992770d71594cd12330cb7 -IVlen = 224 -IV = 1b7d0f745e386a592bceecd85e8b95073cd8e848af9108bb6d6cc057 -FixedInputDataByteLen = 51 -FixedInputData = 966af694e142f3fe5cc2e0fc9309bf6840bff303ed1fe5d5d231a59663414d06c9ffc7871983eeac3c03c0a6d88cf0c4043466 -KO = be1d4519719e5192ee160ebdc00ad54ff47cd2253a7bab89b19b0055d10a1ad71220b89189d768180f0e6d90839d33dbd73158b8e3b28d2f364e1ee7bc91deda - -COUNT=5 -L = 512 -KI = b62dccdd53aa743ac81e12b9544f21041b2441c5667d212cc5545f2f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f3c17874d77352df8b080f7339e7831077cfa38aab1ba97260741bb1a46517205036a8095b6fda646954b9a8fefc887898b8db -KO = 6aaf77eb8e41ea0a9588ddc1fae0716226eda1a3137a091fa1cd602314686c00ee910e75d25ecfc64bbf2b439a7945f1f07cba186bd7600dc5f16f36e92ebc10 - -COUNT=6 -L = 512 -KI = 8b0cd403dd66b1f19b45d0e4391a960df7f00b51e5b5846e7494a0e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b6e689589d18c9abdcb9202ffae01b18f41d0f5440763969e23a23a8f697f41f011155e46847e498c19d72066e3444e268365 -KO = df8da1ba67a2138017318fc0ba9445ddb22ef231375e67f0457e21bafcee0c8e1f5b81374a08652e21637437c878c27aec5c3fc704102573114b3e7a2d29483b - -COUNT=7 -L = 512 -KI = 3919087f3bf180eef8b185e6a51a83878154c750b2314adee81ae04f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e792c811d2209d55e9256a916606aabe2376bfa54166dc99690e650ff2499b6e912d1cb48145da90a630c9f16623d77e809e94 -KO = bead505dfc38e67f5b05cf9efb58e761dadcbf898574777a7b1f1e3bb6c7b56e28c3143d27fe2c19c879ed418454bdea2df3f19c188eb16816ac7a3d36615408 - -COUNT=8 -L = 512 -KI = fea72f19e497f2e64c498aa1e4142ec8d544f2ca77a3c67bad494ff1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 900e8c7b1511b8f3713708ded499eec6665aaf17086fe7784db44d6c9df718697cf016ee0dc8dc80a436a7f9804bb42446d0e1 -KO = 8ce58d2f5b4f1e5d406efa1a6f12b4ca526c9bc8edadb276d0661315e204b5c07d99a196fe378782f03bedcf2d3d078e3145f7eb511ffb94b7dd96337c17da54 - -COUNT=9 -L = 512 -KI = b83258d9381041fab556ac354fb2cd998f3eedbe8285492415c5e6b6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5afa42f077a47927bb0196d5a87bf9c9fe3a57964e44eeb4a74ec5859710db10f3493c6b06f14502322d3f2e52abb7d40ccd3a -KO = 4ce7b3d9fa46549e4702bb26b13f1abeeeab1bf053e57da874e5189522291c57ada80f2e309c59b594a6d010c134f20135f7641c60ca50ca3f3b09b9d09c099f - -COUNT=10 -L = 2048 -KI = a66422784b7579a1c4e934773eda94f8855ed87840145f0fc07058b9 -IVlen = 224 -IV = 4e8a3ae7c2f8dd4c4aba9d707fbe11c684bd70957d2c6d0aafbe39f5 -FixedInputDataByteLen = 51 -FixedInputData = 0beac1d71a45223709c5e547018c778c7c2bc234b7d86463bcaa004a9ecf92f5178ab79ee87e3962f523bfaaa0f32a0860318c -KO = eaebd6f1135ca24c1d7cf62cbb4dc0e25281c22b9393301945a7d3d91481fb281d150e232cf8e5215d4357d26ca60d2a62584265e5041affe84c34345335a33add4f75cd9b9b05e3ae3a394f19438ae19a127e2352acf918449f9367ade5f095cb0c47ef655c525c4079fedff1c920512b01c0657b6636bd77e0155c19c84414342b60f7f450bf7e7035b8127aea2cd18d20000d0b0969268d4dc7ef78efe78154bfec36afa68549aac46820f6b5720f2de5dc5fce9b7441e8c67d19b31b84db42469f10dfb73817d2427891bd8ef9f6abf1f8d408c8715a8783667100bc0f5931ce0b422b45e80baa2d69b6920a918bb9e0a8e482f9aa8679c67eb273413406 - -COUNT=11 -L = 2048 -KI = 8f5886fa3554b41273b5528396915f9af39bdafca233f80ac89d6a73 -IVlen = 224 -IV = 43cdc39b801bc89e9a3d190d6ed60a548658fd7fbc41063ee6325a37 -FixedInputDataByteLen = 51 -FixedInputData = 79d39d2c018cc65ce44054c8c196bbd4209f7441b7eb4ac5d5456f0140ad12b22dfaf417a95988d01faff1a5084cbc3869b15c -KO = 98e37646e016e5313461068a8633d2cdef7730e32ea07e098afd0787b4c7d31cf6b67fc62c356828d591176868806b0cf8b27fcfdafa3c4c2b9bcfd5aebfc2ef8969997b107246e6bda89bee4e66b0d2558d08d69e63e03a0441ab11c01e2cbaffedb5c41eda337d34da6d84485be4cbaf824c946c1d4d7a2bd09ebe4172b26c0485c91e223ef1fcfbebfe24a4a73c4bb0390876a9ae3ab0e13c26cf88fa1848280d68205f643a369c6c53d75fb5e2706dd8a039089af3ffe136acfe474b7db1407a91a6339478757c3386bf826e7148335de9bc7fbfcf7da5f6449d9746d6dfcbfab71bbc2bbe8e2298de414c1da1c1ef6f87c5ccc6e0c03645ec639525e3da - -COUNT=12 -L = 2048 -KI = b017a0a403478ecf3b7ad71f43b4bdfb0988a30bc2883af3b856ea62 -IVlen = 224 -IV = a6fc208ec16a016ea712d0c0bc837f99fc0d2eeb05807ef77b658c4f -FixedInputDataByteLen = 51 -FixedInputData = 3be18ca9b89be4c4728a8e3058eecd8af52e4678c7a339db4ddde54fd5e3ddace48aa58a401ad1647ed19debaaf290ce7fcb46 -KO = cdebbfcf5377da058bbb6d99f3d976b4f8220f98aac20034e5635f4416a9def4be66821ab162138663d20963e640a36a89086a2d165148c3788efc0fb7a8b0b3b7306c65b2eeee8b56780180d983379009142551a56ea0099f9b44c8138ab4af6443ce23b4c2825a399f8d4464e67236eb87d7a2bd1bc009e0831b2116c73788a5a7dfaf95bcfc48be74161c41cedba65587e504474786b6fffdc0bad034b5bfc85548256166fc261085bb4b5edd70c222bde8b44dd5a6904c7fc1b0e3fc4fc451a37089ff0a059d3e610af865023abb1145e02495dda3ecbbaa6a9ad3bbf7d5fb6867c2989fd1d85fc7280058d08796192ab16ae95a328c128a9a106c1ea109 - -COUNT=13 -L = 2048 -KI = d8eae4365929a2275e4bea60606c22700b90e7bdf889c1459087c3e8 -IVlen = 224 -IV = b52e369cecc8b5d78ef397ef2dd2b512b7c475336cc989c3e02a3dc6 -FixedInputDataByteLen = 51 -FixedInputData = 63d6c0a0452eb59b3cb91e381b1122c3ed7d7f7c14eb98690e5f485576cb025f9be48dec8eda21a7fff85464f7481f23ba3d47 -KO = 1b9318e492e0cf3605a350fe4857141384215b0de7b2b4feac0a55e3014ed211848740901ca640e55cb100ff462b9f3d2c56c135bdfa26248fab31a3ccdbb35c497f751727ac55e5419e811c223fc70400e559af9cc6b0e1b0aa3dc2d52bbee34728c97889d0c259b78b1d4a7825728faa78dee978ccfdf2a47a9e583591200a3824081fedf473b27568dc5a9dda3ea1b54772932d0995e8675ebd9ee9924f9b624237b8131e1f9a1bd0423f438f02d7a1826a518664d9153f5c6eab82cf7b21071ae0e369c790f7d41400f68f49e08802b2cd01f3c7cbf1c343992e16c6f25bca042cc0521b2d2da3e5a887ba985a25a236ee0c49d6fc33c6d55ca3ad2496dc - -COUNT=14 -L = 2048 -KI = e02ad8058b8f2ab81ffa10aa5c6b19e1bca553afedef48f527cb5ed8 -IVlen = 224 -IV = d920d7662a2975005030961d1082d053c2df47b0902385e7815b76ba -FixedInputDataByteLen = 51 -FixedInputData = dacedf0a637e48b97af6c1f2e6340aa322966c538ec07a44303cb1a68de491617b2688a4d80bfffb7bd517428ce300592dc0e6 -KO = 809d38d792eafd08bb3e6ee7518f81d02ef20c4faa5f40af69c3621f897a38e15e944b82101b8046fd43f9083a19c9919a6a4048a569b0c91c8a2dda8e962c2cfcf085dea2abb343b2f5f13a3868ffeb417fce5367cc35748fbe09277945bc921a4bb21c6607a0029657b3ab62a8be1342e56ea4a27551c66cbab2036bdfccfe83c44ea403a664d4e4d96fd31fd0c3bb35ca29951384101e132a1abe7e01f3989aa1b1c0c6ac8cb904b05376ac32fee6bfe6ed70f9285b1bc5e69c8e336ac73a0c3571756bfe1d62f554c1cc353d15f2f55fab8ea0080ca1faaf9752dea64d0aabd2528d2a356735619ee693b65fafb74aa1ec5495a4dac352cd26b693f5066c - -COUNT=15 -L = 2048 -KI = 27fa95c8479d52a8f3f9fe353babcb94cf0395587045e3fd2129b923 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a87dc4168b1241d5e956e2cb479ff4a208257b2d7120f9e83fd6950923a4e1cf2a556860184023d49a7d5e1bed66582a48f44b -KO = f87c02d79cbe0480b0cf9892bcac423e6db01c3a4a7c984819128e9f9d7507fabc3f4fe11fb0e94f5df41f7df0749caa37be8fb77b91f7c08d09d2673d0e6d4e9015bddb52f4f8322cdaa8e72769ddc695fe5d432c521571a936a157ee78ff65b1ef700d1f619a7ccdec676c2163022a8c7328f94536ab72f39404635c086c8bad0f931c3811dd2ec5c1eb390938743fb4247ad539001443d6e2be09f94d0d739247c209fb54f02f361912dbda4eebd0db9c9a01b444193712d5ff2f0576b3ff291d438feb5e0e18e45b9d6b6eaf1f6bd67aba3cb5b2dc20447b9af60d6be76378b4916e55caee7aeae6c87643beac2783cdb3445ae1efd7b2a0472059bc0c41 - -COUNT=16 -L = 2048 -KI = 885b9bbd422b253afd9d6770658da1f248b10e3ce15b246d2659baee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb66ea63fe85d3424d23d4bca614ad31746c4b8d499aceb84e7695a11b610ee2ab0c8bff3466d26c740d6cad86a3fcd906f9bc -KO = dcc24c3016a709098d3ed6e876cdaebf0ed29d7544a0b58b16fcb9220d248c74fdf7f79b922129c59a68cdbd9c6704fb86ba94a4b8b44ac3705dc141d028ae241042642b3223e5ac83c871587eda8e89460d2fc507ab0baeb7b302f271a8041e4f80e2442688e2a8ad4cf6fb7950ef2c4acbbd6c59e276ca99dfd2a758107ebc6d754cd208b1dbd437d888ef484a1dd75d6026b8767b7e8c4d22f626ccb27d7cba75b19b08e7402f34150bea8d87ba643a8a679a24e8d42ac4c54abb4a321eb32bb151911c798df09b09ce2a0c60506914dc601fba51384c88e9b44bfc71d3d12f5b37e89e635e89f188d4427b88783b3b3b784456ca35e2dd8d665a2c4a6f05 - -COUNT=17 -L = 2048 -KI = cb899706a018e6c5a711b78c4b8953e5ba2711ee99270f0c61128de6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc5f8ea4ccee9aafe94658846d030ce9c5312d2552367afd76dca0418ea7e73c0e3143a5addb9bc756c168b8cc5b08377eb77e -KO = be6ebfedf67d777a43a325ba88c51943f4eea74cb8aa154f72187ccaed9711d727c2611917efa682efa803c6edc38a607db7f9c265bb6ea30037a0adc7c05e475b815832bad996d39c7e231be42d50368b640fe271ae7ba9f6c6843303f3cb5427fccfb9b18e2c1f04b7719ccda36da491895d4e9f9d88fb41b3720d0a808e42f5c463602706e92456ca73e4f888a58329b6bef5b5a1eda026e5a4c4f26bed17e62aa61b15d0c76d6b62c8c38ffea0acec980b59650747d6b0779d58b06f053c7a99d2d02fc46dc062a86980fc1d973b65e15bb9010c948bf79be326d82f0635ba507301a97da09b11f26ee0f1f0ca724c5dfc4854ca3daab3ec620543677e79 - -COUNT=18 -L = 2048 -KI = d074c2255bbca9b717460119ad9b4cd29e0eea550ee0ec64b8a85332 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f67382393e36004bf3ccdb4eb878daa6eff66f91e5b1b378813a689b759c9326fe6d053d7a34fdf7134626b6365bf723253cd3 -KO = e552952689a4bf60a112a0b040697d390e935faa9bf2edfe5baf075d261285a6dfa421302c3404537d033419f47bfa5f28420f7e5c5fbcc9c2514413b4a13b194e7c9e5807f7ec65f1e1725a2ccd25f4d0e75ca339e43ac60141c159bcb2100d72a36dcd016fa9658dc8736403983e0d190ce56f30eb265a1a1ba23f121d2b94b4e630983a65716288553f3301ab998ab038614e4a3fde03b3691e937d49d60da1f7293aac15fffaa3ad2e355f6b70bda27ed78ddb5d9f01516014018dbb7918b8709fc871b8f06d9523e63fcf23d14a1a633f791645f923708b118cb4da01fe0dddc801dc6b425b8d99ed76fc2cd7edd9c394f81d1faae2a161172d73733894 - -COUNT=19 -L = 2048 -KI = 0cd1fa95d533a0939b0b1209093840c0e32a4ccb40263f04828785e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c9b58e8471e972c6b12b280c086a7375d7f18aeb679db70f307db005f33d893ca70bf306448df0066442c339a9407459e7a64c -KO = d34a277b9d26f753e0fa182fda0c03915daec9124478fd36a7570ae47226ba737bc1b3b83178f508c6d695f075239c0b1b99ed15f696691651a619cc3c383cb72a5acf324a159e8f4a67a0c1b4b239aff712833366effb42016bda6fa561935f333561c7de89997d45491617ee5c0598120dd31c8dc8bda38a65743ce89905f1253f55d7b2b020b21d918be8cb68165fef4c45801bf907aa01ab5e9df7c485e8c7c7e663dd97ce18ac7d62ddc673194196b54ba1d4b434e7d01261e79d08aa672e4d7e9457880080038c5f8b2ad61084d93c141f85f276cbedba151513655a42ee9eefdb170cda16a183959d00947245b99193bbc77d78390ec8dc1b71b9d55f - -COUNT=20 -L = 560 -KI = c4ce8e29068f413f2281452a60542d20bc83d713c63d935e73999395 -IVlen = 224 -IV = 77aa6b24bfdd915962283ad1d557b4f0bf120d939afa8f7b0b89ee32 -FixedInputDataByteLen = 51 -FixedInputData = 5555eddcf3d66cd46f7c4ee8dc5c4e611070f16c6c792cb9755d5a1e891a304b06327fb324da0fa094f016a6b5b364520e9b15 -KO = 4332da9b388f69673d1ed0cb6f5296dcc035a0461bbda7655d5c30d13ea3c0f75edb9246d17ba146116cbdae7d1be3e73a794ceba0f677ba3317d8bbac42c497d33ce848a696 - -COUNT=21 -L = 560 -KI = 178085d6bc4e6978ef5594df321609cca96a1538b7ca25716759e40a -IVlen = 224 -IV = 4be3f2add85704bb15e705bd30e64b06c41bd4968ad8711013832c75 -FixedInputDataByteLen = 51 -FixedInputData = c836e3df324ce553984536d91b6f6b5abb9873b6f739ea473db63506a70bc521f92fd0a425195a5321e4b9eb18fbd7c89b522d -KO = 29e416b96c36c4c52a134919d839d76e95d673c95efddc72155a50efbc2e12b2b4edd97647036b379df7ab8a283afea6ee266468c6e8d342a4e107be88cc2dcaba09d8416864 - -COUNT=22 -L = 560 -KI = f9eb8a554aadbc3a4a03952a33d9051be9365dc2fa43cefd1906e812 -IVlen = 224 -IV = fe17b31fbcf3438118768c50aa193a2751bc59d4ed49ba33e1801009 -FixedInputDataByteLen = 51 -FixedInputData = e0f3e329971e14d21611eb73e25cc40a03da951270cabf5f827468ebbd49e6232c24c6b9cf3b77236cfd28d063303a04ad187a -KO = 13d446e7e0af4197f9bab64903731cc93d43db3c6105835247bc810b9284cec288c30678a8c94107d60873007d7fa9948178ae4a9aaa40d8d0bd656b51806577fdc7b9d2f11f - -COUNT=23 -L = 560 -KI = caf6d1b45fd80c7615ced6198cb864cfa20b3f93f80a5f307a32a963 -IVlen = 224 -IV = 6ee383a0fadd222751633b53726d29b734417a64e5111f3aae0cbe07 -FixedInputDataByteLen = 51 -FixedInputData = fda40135e22fff6a03e1ffe1bbce3f88ec8249801c1a160d50f4a0ee35b5c43e90d3e11da4288aef71aee7f9aa9e6d764ad284 -KO = 45df5170d45a526baf1541d977a41109f6d7d77697e6e2beeffee77c67550a7785c59b744f95b305e0b0694eab1c3987823af8234f45c2ee35b87548d97e7ce624bea8680594 - -COUNT=24 -L = 560 -KI = af4520eb12727db0bada64ea28a6a039f663242fe60c0b5f62d334cb -IVlen = 224 -IV = e28f19866777f645cb96638cbab31fa128c7bb94dbb008b6925aec34 -FixedInputDataByteLen = 51 -FixedInputData = 87d23e5eac261a72fbdd189a669273664e621adfb2eaf2174fd594d154d354d5dcfb2e27ea7cc24cb7aa777d93c09346be7353 -KO = dd014b4aee158542895722ee607802c43c234d37ea1f10a2e1b78986930ad0648eae31797474543c252258212be255010bfec5df3e998d796c3eb5505789ff5722b274e6c288 - -COUNT=25 -L = 560 -KI = fdf24c7ef6548a8bd7734cbd3c85cdc7e6bb4beb7f0f4e7831087eea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e1322d0d43d437ae8803ae9556b326ffbf412be77b3cba738d0be1832f832cce2931d7483b0c0c6f0b3640e79e562233f08e4f -KO = baafa18f589b72c32687728029cbab6a7a9ca22d002b8537eda54a98442d107e24b0809394f8e7a93590f86878232eae984d34ae0b93f5522e10f51687bfff6e16587c8dd024 - -COUNT=26 -L = 560 -KI = 687bd0f764b7e06a8a562735c957875e47a005cc110c6776eef70738 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a01ab55aa96d4affe1edb73d12888f2316dc1574ad1bd0ae2ca17e94ab11440c7df135450d4d792de4b2fac9900dba64deadd -KO = c1401cbe7a6f7946c116a5f6fe239b8cd5a6363983aa0c8fcc472b3298c5f01fc775d383baa3c5e58750169d4ca918743fa1ddd95ed1fe2eaa8200565d67351b14df67d3d854 - -COUNT=27 -L = 560 -KI = 425d3b1844abced2915b6f82457072c5ee984f721b4b649609a03c66 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae5b3c47d289adb947fac8fb81b41bf4e18a890df8fe84a41d8647ab10e70b302516f6699806ee00a99208033d48dcb673bccd -KO = 083e5b52fae707557d9f8159d5ffd3789cc81dce33811f3d00c99ab7a8a33f36cb1b2c1aed5595eff2eb4d8b781901bf38cd91968eaac7647b219703ab9fcc77d6d4de95aba5 - -COUNT=28 -L = 560 -KI = 642a852ed9ae9a5edb1833e00a24a255677601c3a8689c7f067b8a7c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d4a847469f65141260af3f260618bfe27dde80ee66ce65e3307a473ab02f1ed1a4e426dc5aabd538d19345e4c7ddf90a2271ad -KO = e76a1f64fa673ba47e8435af5cff3a0d85999fa455644ce9ec0073bb152d2e64e5f639c1cd2d120d243962bdc81c04dd539b79762c10346ab02e2ba35bdd60cc77ce881ac092 - -COUNT=29 -L = 560 -KI = 1d9d60b227b7f50aaa3d00824288f380db05e18bf5b74b71da50ee64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 796337e56f512b764d6ed4e6db0431ee84238f15f7a44698945dc56c4c6417ac7e2e36d44a91226277c2381e22077f48be9ac0 -KO = a18e1601efdd501e869822f94c58af178910d30088df1788fe809fa52c845fc91347fe1440b3b73e67a452edb5a88d5ad832ac36201d61adcc58368a01c6449146d185c17b36 - -COUNT=30 -L = 2400 -KI = bbe594af15365b23657331ead686fdb0a03884afe7c3b5b6a48571a6 -IVlen = 224 -IV = a3bfecb63dd018107d4de986c88bebaec1cc7b92ff3ea0a4935bd406 -FixedInputDataByteLen = 51 -FixedInputData = 028a1051b7d7d0dbf573c8b5915f83a4dd8413c985decc1d0de331a2af59cc19d4f2dc1ee13a14a6ed4fd5f7c570b3e447b110 -KO = 9f9bc5e545c701398ecb041849a3d3f1a246af88f1f936107d19c93a2b99792d2825bdcec9ca6305b37d6b5840f0bbde0d211c697d130fb668b672f7051984044bbbc74bfc73cf3a1132e2a10dc8d7522a1b3a64a287fb3b55f3dee89ffb6084184c821c01e96b520a1422bab225192aecb86bb03f0f67418fa5eafeac15baa22cb2c64442826f4b55e623173f767af81ff6f29ca301e3be304de397c04643fb524d40851d685a056633682296453e172fb3720719cc122ac71fb7240df69e516a78eaddfc48896f9bb071d0f80c923c0a57e4f85c662a200c9817131e853c54b442ad5251494afef51ae240c9bc0743a456f47b3cf1143beb8ddb5232ac944157c1ccde2812a6528716356cdf1859ab255121698329fd711acbc02520fbb3ca392a19e67d794e35a2d0546e - -COUNT=31 -L = 2400 -KI = ad9999da61b6725b0e4a309b1707e5b3008544935cc454dfbf025a2e -IVlen = 224 -IV = 770a5ba862116c2ec2f31b03874d682c2d98485149664bb4a7f0a2af -FixedInputDataByteLen = 51 -FixedInputData = a85225bdcc7c9b072a48d1305ffeb8e6c81fba33201510b3707f70b7a3e3846ceb15f5b198f1a0a86a4a5d035aee764bf36f6b -KO = 0de9cefd26f57503ffd5e306b30de589b1fb2a39d25623e744b3af764259672a7156e0670847378fd055ba6a16c59f3ee646a3843797dbe88d34d722a166999974e1a51efaffbaed1a2e771984c7934388957d9b6492a5d9182cb886457f48a1cf390c9d23e4be94e9e087cd0d77665f3f3506fb07f88675d1f9c1ce00552ad553118c25912473b35aa2a7f454681d6b583f56af066d2cbbd4aaf20739650da1de649c7f9166f412625c45aaf0edd980b75e0480302587c1ed39d7e234318d0e5acfdd32416d59596386ee5db72c7e9b82a9e4173a49f97393f34558f01a5ab1b2d52ff4a515a959e62bac84bcbe53648de61c91fe67ed928194d842f971ea170008895f00674156a5e9f5f6a91f924d8e3ccebef0919fd26e31099cec9ddc3415c022e663c84f21cab1bc94 - -COUNT=32 -L = 2400 -KI = 9c451aedcefe56b56c2e2a922db12d1847b01d369579ee5da8a73122 -IVlen = 224 -IV = 2c1f239c6758cd7bc0f10af08930fb1e132dfc7ea801aa7e5768f81f -FixedInputDataByteLen = 51 -FixedInputData = ef2dd8cb1ff2e6b289a511523b1a7dc50cbb1ce6937218c1c8b39d9628fce7f8784b94616baf1544f04866bde00770bf51fbe7 -KO = 429dd21d1a8787f16fa588dbead07536bfd5c7aa47896cc3e66568987fe1e03188c246173af23d31e7350209e760d126171a022f16da54753a45212954827940963ccbf1bcc5857b002074442b322a95d433b40a66ba5501eb34e7b74e6794c8955b14424bcba7ce5d0b117ad08027f1e92967b88de5a572a071cd832b942d52d8b7ff944307943a8d4a73a24541d139ff8699313489096b4bff83fce9bfcea5dcb2377551f3af6b59ee2893c71fdf5123dd517489a5e695d9994263b0a8422b0f0b163161a5afca99a70919e13fa9a87f216d2751ba23b83aafb9ce7528fea5b5e592e11e818b26f545b3fa7ae12a85ad835659a8c4db0befb3078c0104493719293ed5f2a80d2ebc9e3bddba2ab100cd71aa19f31e27c21cc30adb3ea0c3c2e2ba90e4d55cdd4ab67efb07 - -COUNT=33 -L = 2400 -KI = 72fc289eba2f9ee8a8b162fa931b78e356bf69f4258f392212d4eb12 -IVlen = 224 -IV = 4e205b424a8607a2b93b62fb58ef4a9ecadfdc899fdaf88f43a066b3 -FixedInputDataByteLen = 51 -FixedInputData = d542167107e87fd68779be861710cf13a45023dc7777d10b5fd9a478413b546bd040afd3d01032ed3383c812c2458905df26c4 -KO = aded586c3c5fb03e78b95608e5381220a268f909d4332960c206f60908492a0e72628a9d5fab161bec928e4e5279725cd73590cb3893cc90e26c0392d88189a249d77134ad3dae52c7ad23087464f2b859924e2e03a2a18d8856b89ee60f05addf2774c3bed7a6f27466c925b0d5c79e596d0b9597eec94bfc8f2f0275bbfd26a56b040ca97b4146b19fb0907255e64eaad6843ffb99a4b6ec9231b79db1a3a4bc83e3b41959bbe476c241ee9a8a62763a9409d31fde906d83f10f2d65b184b6997c3ee90e4d024027511bef49cf608588284035e7590161817ad2890686cb4c23aa74282b30b95aa064e285052c3693809242bc937f2bcc7d1de34099abe0167c8b66302dc5b6707eaa55d283fa94f0a4fdd0a1e144b05fc5d62a3f2f2885d81253b1250debbd85c11b781a - -COUNT=34 -L = 2400 -KI = e7d3469dba50636c843715a6c107c9c2135672d152be6ed2b459916b -IVlen = 224 -IV = 8de6791b0adcc5ef890774177b24ddd7d1c74e208baf4560b636b9b4 -FixedInputDataByteLen = 51 -FixedInputData = ad5e006468b46f5a086c4b3d37f0b94dd85cfc09f9f77b37b2d5306b60117cd218a19c62cf81174b7629d4c7fecf93b28fe3f9 -KO = ee2ac15bbc3e77e33ccdc6ee16cf6ae2c6c3b1ee5848518f08e3a214da750cbfd5b28f0021c4799d19638a820441fdda96399e96adb0ecc41660f07f2e17310f19eefbd78f12a75faf2b529a75555dbbbe5cf013e7b0f582c3c9719f75bc6edfce0b18b5eacc0d691c1ad97983c70ef30b869ec554f00144133f52c6c721320708cdbd2999867176faeb5bdd9224befd838d7c33eaee4ec0779c1057444feaea60b7ee28d7a6f1e636ebdb1f1aafcad111dcc9c07bc895f1c4193f8a81ce0f28a49ae987051cd27f54760b00399d184fa103f190a3db9181b7fed5eca7328ff80fd39e78e020a6413ceadb1cfd2c6d8f2884abe0afb0b85b37fb35e321c5603c0580474154d4938749545aa8f816bcd34f162e3977e3eeb6f012ce105059d7e87c5b311fa84d93db43025cb7 - -COUNT=35 -L = 2400 -KI = 865d172829a5582f4628bd18130f7da54effd92251f7db3d5f11cfe3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20ec7932044a839bd864c76dce51421ede951662d5572fa1eff989e70602cb309349eb14a060b1a085a70bb7d4b2cf2ac7ed29 -KO = bc0290a2a98ef32157afc66030d848b760402ce52833234869481d335307b0ea9f3b3dd4c36bab61d66cf0dba3740bd5718c5cfcf1d03140a5e269fc6ff6094252d6f2dda4888fe716d5a7a97a6f76447f9151b191995938306d6aaa8d355de6f5a64eae1684ffedfb2b2666331f3e5fe56f4fc2237e40eb7b32d53bf3cfd8835ee86a87c4e3ede5f072cbc436c6bda297406c655f33ee29785dee49841469ff9824b784fa0455fdd3410474b87c3d2e8f1610ac55a22ec8365b0b38a7b7aa8a606c30e471d45f1ec5e57a7b9d036aaafc9a4b5b5977a9b2a0bed65e6f4db36b9ed6bf90787a8bdc25de3a09d2e3dfc672f498eac6182437423bf7b38bd9d63e8f1aaad2b0c4036b9c3ef54b430fcd5e5465f173c28966fb73c1b81e9e10a49d680a82098b333d2747ca63f5 - -COUNT=36 -L = 2400 -KI = b79d71fd514bd558020564fab98a8b4d0e786ea2d0b5f878239ffea1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e868eafbc4b0b6cf492f6d766a1711ee66c0a47afdcb788f92bc32b94bcebc608399a84c780881a36df635e741fc61917c3933 -KO = dcea2906b07dc3fb2f195bd81ebdae87b518f13d51ab85b7a509cc2bbe5615bd533bd13a4037d12c251a9769465acb88a5272ec6b8c08fb8e27fb5db4568c3635de9227e74f65ee5b88f8dcfaaf51b26bbd50abb86f8383fe501d6d215c77a8e3108607868f244b61a15674337fbc18ed4d0539eaba48f0f29be3b16f3f9234bbd133bf20672b9d22772328ab3edfcb854ff055986f1cd1645178c4fa438cab8a8ff4ce40147e5eb4f77c47fa9bc39bfb9cb684d352893cdcc44f288e73c3ea078a4d2111789144babc5c51237ff530905f21c5f1ac1e5e3776bad1adfdad72d8707f5d64252b83590dfff66bab8c2915217defff89ab797fff494d56c08e962a8e7b00ba116389c0910a1d754d5afbfdfa6a6af35f6d0469f6c837558fb8349f2699961f8db9eee924fa145 - -COUNT=37 -L = 2400 -KI = 747f1443ae9ba76ff91a9dd26751452bf445e9009a1d4a29c9424ae3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8a1978e425d4f6f99826db1273d1b82e24aea0d004409da88906411470344bb29e518b1a576aecf66609e30b99ae753e10ddae -KO = 0e09e4107184a532d6f44d274b04495b9d28fde15c3e83ad21c79ddd3106ce484582804e0f5f701b9248eb9c152c185d09ace1fece5d90343c987d0c14230b3494763ee5504f8c3df73b6fa6a45ff4b9789c96238a5c4fb6a53e0e3ef20854cbc87e51847c7f3e64461236d746ae4869acc31ddf6b156e19ac523f9283cf44e0e794a3bbc5cd077ea107627ffa3c6cbbf3468b955d8b2fd5d72a96978f1f09e86041cc1b1f3efe3bf202cdfa326404e8384475449e5107f1cbc44f995e8a7e62eea703968a014089b71abfb55ee3ca37b10947abb3328d7d6c0a29a21ff283cc9c611ba2d2c168e1eb39ac08c147a57da019750d167584f89b0c94bf0b72e870483b6d5170d35538ad704b64659ec98bfa6aaa5db14a4e8b0ac8fb1f2ddbda8bf9181c250b0abb37a3aea41a - -COUNT=38 -L = 2400 -KI = c4e169f07d556fec03a194843f326171a8858ffe7701c1cde96a2f23 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cf54816241af8983cf5d862245cc9eec672e7497484fe239024f04a241ab8f2e739a9137996afe168a0d52d27e2d15903784c -KO = 10b2de71c8b325b70e853021fae47cdd77c77f09ae5a4bc8784a2a3da0d80af2195cc31e03d0a98b6ee57c134432fac2c028ebcae3171789fd8a1399648179df016a9d7b1800be6ab616a3528abf0cc64137e9e88cfc05514247b1ec17de3e4dfd442a80e328be535e09c4c82305c9e7f4595584fd6f975437e12aa444cf4d5f950208d379a85882688fd942a482145aebb06458bb9bb00266682b4a2ef838f4ec33b0bb0bb01e57fd265620f36e55f9583763af66afd0f5ddab4fa3ceea3c5047dd87155d977f099bd36a9986c008788e847fec583cfa699b190c668e1f66a9f5a72d5feff32d02752b4896640c6df54a025f7edebfccc3759d7331207a548c678724d59e002c608d81111d403f2a028ca7c6c23c009cc892c016ccc85a8a13da201f9f0460d30f0854e99d - -COUNT=39 -L = 2400 -KI = 6de880dda06a11d1860ef0f35a1f17f74f5cae586f2b178c518503b3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 31896066aa5405eef9267646192d14fda84b32f7662bdb69e9776ed043e44bfc53af48e0da7bf88e1ab02b0f8c59c60ac65393 -KO = 83de5bcccb19b3c678bb814aee10a78c7291ff1dc2e7808845ed9a721798d2db7d0ec23eb5c3a600e0d2c2167c6b6de96d8f935d95558dcdd4108fa29bfb2e43cb29e391c875949c10a5200abfd4f6b3fb6111ffd9560f3871050b32fca7486836f65620f2a51eb176b8a11f9252cca2a324921561b56e02357f8b1dc66914f96fcf0470eb728de4ee58956321209fd7c8cc6c842dad77943834ff5e8fe67515468fa1f6a8c91b6eb5621e625c5a11bfe909319202742ddcd95d7f8799a6d4fec97d6b274b8eb3522830ed05262b7a60ef5e7a3d3a496d20669dd70c025f9a78e78fc219df1989916d6a4f5196b47be917da970c5a4f74cb8d371e6e655269a7b4eacd4948244b9906ee5929bec27d5e63210b88d1ae761d924c77f44bc3ea9b25308a7121ba52ac2a055588 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 8500eff5914f4cbf27943087501b731875a54458e43064bdadc4c880 -IVlen = 224 -IV = 0b576a703167dce50d7581e7c9bc4d4e7ea72cf0598a23e24c32f8ff -FixedInputDataByteLen = 51 -FixedInputData = 85455d42d9798aacdf582e011b6343b73fd4a66c388180573873d3e0b5d25c68a4f3e0937050f0d764e348c2470a1976a5f47f -KO = 86c72e60896294452253722f643d6f88bc9eca1bf7c31b9f9dee515234649b655c88ea876e8aef7fe1de0cb7bdf7094ce07d51a13a7d11b9cc5e47237c46e79d - -COUNT=1 -L = 512 -KI = 429e40f24e63207d598d7cb3355a43534dbf420984d53045f5f8ec8a -IVlen = 224 -IV = 306c6648e9025fb1608cd40463e8ea156def749905574fba245a9ec3 -FixedInputDataByteLen = 51 -FixedInputData = 571377b8837d3f1bcd98e6581e259b33b94333d488c411f5582f4235886fb03eb77531d6bfa1b321311f283e88f3042d750931 -KO = d3865fab7c34060fb8c655adfe4988e9e7360ea2a67f5da78e6ac4152eccdf9b971f1e8271293760a5b75e5582cd469a4bb391a33a4a6332650c14cc0dd7de61 - -COUNT=2 -L = 512 -KI = 9dcfbfa02efbfea0a20325495f348acaa0ee3baa6a38cc00affe6d7d -IVlen = 224 -IV = a84d6189b7072844247b2297dde23ab9ecdbdf3aab88a5d9013fc67e -FixedInputDataByteLen = 51 -FixedInputData = 0470114d45e57124a2259bcc47f3848d29e14edb6b6cb0d89b5f0e1f469c969731e424543d404dbe0506e2184e3aa844105580 -KO = 0738c6081af879848bdee354edb943d68f8d721d113e1f8dc1f96dc44c282c02636d3cfb14ebad71580e196230b54124f1f203700985be0e81b44fa724109a98 - -COUNT=3 -L = 512 -KI = d096f7f0c34362404a644184a938df8bc2c1c8b0d26b2d0cf9d857ad -IVlen = 224 -IV = 894fd8c7aa686816c1da7539044e0ed8d50a23613d3c438f462bd32b -FixedInputDataByteLen = 51 -FixedInputData = 09c9a763e81373661255ff12163b423eff81532f1d7253a99a13f9e5784915987c8d4c403c1c07192c1bf6bc6d5825a0987169 -KO = 458bcb55ae10ad00d049b69e184cd1baa050b21a8a1836f70dd635df929d4decb9a9775b355dcef31698f4bf1a45e6ac672e0f8bc8ec3c019213563759c3ca15 - -COUNT=4 -L = 512 -KI = ea05a5e7675c22a403798d1172eb0a2452174e8ac13a109731574bd9 -IVlen = 224 -IV = 51ca768034af00b3179c1ef1b7e062c05b8011dc594b7fe6fe56eb70 -FixedInputDataByteLen = 51 -FixedInputData = 7f47e8efd62aaa4777f00fd7b74b0c1f90bdbe2e0e0e044d8d0b8bd4524326af982a8efe618e20e16e70b940ae8aea40d1809c -KO = 0b8f9492cd4c1cf696bd5e760c03f6e19285b36d89ed5cfed4471ba0ca3c0b8176d2c24346d777fd4116ede3a1396dc26b42f9c1c5df33730210be4e5c621179 - -COUNT=5 -L = 512 -KI = c756a0b4418aea73916da4efd87ef6e5c3d155cc45c13ce50daa86d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 61173cb8a4e78e5091ffa61693c49fcd1e6b62421fe3c8543e1664e0722f142d9cd953677db3fd0b96f9dc5cb8625cd2dae279 -KO = 67cebc91345132eaccf5582c7482102736f63f53b8f2927ceb6e2abd205c9dbec5bf05c03c127d6c7966ba3da5103483f96b687a2b1fad8346259ead712faa30 - -COUNT=6 -L = 512 -KI = 0a0106cb9c660374e862b54f2980a141112414fedebcec9d34a1e7eb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b9275f757bd20022a0559733f31db607ceed06b659638804cac893c6f0d8bd050665dea3c29a0036c7dd2430323d950252c841 -KO = 12a39fa30c43c418f4b6695542e347bcf272a9ef79cb251f344282ce47eed124aa35754d2826a467e684790a636574a010aae6422b625b6b674f99885a0b064f - -COUNT=7 -L = 512 -KI = 846b9cf3c93e24ab8adec1f676cd1d6865079a957c68600b34ebf9b2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 87fe3d21d93c82147ac6069fc0a0f4c8984cbba75227c7700e776e991adba41c6e8a26c65bfbd8c70c5b47954c3bffa1d189c7 -KO = 2ac001e3730123970e4876aaf279bd856be59f72d81935a39dd6f24bc2f42cb209d7bcaa29509372a5290e66786d127602f8bf2151bf6c9335e3b30a7b4232d0 - -COUNT=8 -L = 512 -KI = a0ce635a47d1f9ff949761005709df24d1f35137d5d2b956355edac4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a3839a5847e9ce5115fa0e49ffe5f1387f1e53570b6519fa0e04b0244ba3b69685b5f59934b99410533a151c287f0f586d7df -KO = d291c6f73b367f87f2c5a11e9bc1b7d5109f7efff734b5f617061af257f04c8b6a857520e5ac3b279124797a81fc4b1529a63a77738151ae8701184dd7ba9429 - -COUNT=9 -L = 512 -KI = 795d12e7872274e8cfd2e48540998fef8335a69ebf6337bb9a487117 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a9ff047d6d3507c7883ac004730c1996503c67d55fab31e6ea8a5e6fc458cca1c9ac2f6b57821f63ecf9d2dec4a4e7b889c72 -KO = eea7129e860adcd6175f884571413da25663109f81da8981e2762d7903213070a7e419dfd97c0a8d10d3368d0f42e333d685b8376ae4a51352b6c1ff459d3aad - -COUNT=10 -L = 2048 -KI = b26764aff5d322195799634a70451a36ee3ccfa3d8989bf86c8ff3d6 -IVlen = 224 -IV = 623b60f41fe16cc87e902b5fe9100c4d31ed44f39a5aa78edc797919 -FixedInputDataByteLen = 51 -FixedInputData = 8c376856cc96dbeffa9762720c2bf50670267987c54fe268777f4843a58a29568361c0b4643a15fbdf83546fb5ef195d0b7fac -KO = 44b37bf92faa194aee6621a0cdf1c6c0b222ab0b3100ee2237a2ff5cd4387ed01c94e60f92d5aa6ac91783e81ebfab12fa114e52d95d6e7417cb27e1a3af5de0fed84210ec3c2f073bd8daa688be0247740a2ceddcb8decc3526ca05979aef635025e1c670fc756a48b9a44735c9440ad27ae194637f0c2a224a1dcc9c72545db576676ac4a4a7faeafdf5ab87fee3cc8a7f71b70ad7c5087f30814473544e608cc1c9be349f9fedf40dca878b24707e1002b5275dea31ecbcfe5b503a7f21aafe0d29358f8d5f9382bf88ef9dc99fb0cd6ac895c6e5520365f896737062560c2c5ebd6aa6586b70587e0fce306c6e549d0fba00c32f6f0b58c4c5fa71447272 - -COUNT=11 -L = 2048 -KI = 19f6d1c702af8cd898dcfae74ff274a42c435c941419438e62035b9d -IVlen = 224 -IV = c9c21ec15f1bbc00b4dcc6c21a06abf598b00e2466a6d2e1e08a09cb -FixedInputDataByteLen = 51 -FixedInputData = a6138cf6b725979754aa9bc5a7d0d117cf30b30c0b21f48cce6dcc96cca3433c09bb746faed23629f75cb906f6413a34203c1c -KO = 6da7b6a52f3b26d53cd38e977de0b009a8a3df5faabdc45c36ab9b28ac947ca402bda724bea95b0793c546178ba65a0f55f98e9ee9da994c11ec318449041c06b1e97f20825a1172c294451734cb9e7d7edab0e81562328aacdfef1c5deda9b7b7d211b7abe5b254cbbd059350122cf476614a093fdc94c1137e58eb78d1a4d278b6a59cf117e23dde214f279ebe773be48fb3b4d1caac046e0d22085b0fb568be8067ddead49bd126899fae02938d9e8ce5100212128c3f80b894682f57ab24ccd02f646cd410ce0484797aa5252d8e617837dbe4f943d7c1ae016ec6e24600d06f2f11649779629f1bb2764e12964cb98ac7087506f604ca35fe79d4026819 - -COUNT=12 -L = 2048 -KI = b5dbeb2eee2f17f007fab6d0ff24c539bebd10fd52dea432051d0cfe -IVlen = 224 -IV = 0c1b1f1abc608ed5770c6e285b54f42f90b78e7b57cfb2f0837443f1 -FixedInputDataByteLen = 51 -FixedInputData = cd6b9d5fb69b87f3936ade585e2eaa7d28788db9407eaaf2440b4e3d0d94b8ce47f6f7e8fe8e8c2069590f43779a7e6d1e8700 -KO = cf6ff795c91056e2d775402dafafb9bb13697d7da664f7623ca06f8daad88cf72534668652f7ebbaa80602b004318a12f570e1e5396da2ed4a17edb57474bfe20d96d8f547cd6bf4d37e8f2e4ceda92bc97988bfa39b92ab068ea28c59c8d631aa33c479b74e1e8a3960887cd54c411d2ce3aea47aad18976ce466a219763a48185cc9570723e268542d215ac2a320b28486ed1f68368249cac11edc60588249b48e3b8e9bd71b56a751268267cceb4b0b7ef66f43143dc6b4014ed59135bbd61bde4cb323da0ded0de0ab89d55c0572cadc13e8b021b7c54bd242a6dae40143f260f2ef95be97c4a9204cffd88f235a8d61dd1534a4654404180b02e644bca8 - -COUNT=13 -L = 2048 -KI = 71b3827812963f5fe70ab7bc8c2857424a842ff737b8417ceb6c1039 -IVlen = 224 -IV = 063e2f2a8c147def809ddcb8bec2a0afaaf4fc16839ab86244cebe7a -FixedInputDataByteLen = 51 -FixedInputData = 48b238de1a1bdb450f10aebd919f65301499ab470007f6f8287dfef8a0fe61946c5c3674bce6cc3faeed5815cb4f48ffdb1bcb -KO = 2c5be48bffac530946942e0537c0a114c34200a61c77831b0a8dac4ba510a0066d505ded4738e9635baabea26e238a1aaab0c4f5a23bee3097aa85bf64e060e618f25124efa6ad21ede5d3de6b18e42c471f9a8895649cf3d0d7558752d822004455ad1ee5219d8a9a077db049cb269d7d4962d7092ba231bd3ea5e8e786fb70ffde8b9c64ff7be67d553d621bc36bea2a2fcfa89a6f9ede3a9ddb0bb844982ae8f8f20f7dc1c6349e124d3e112e204a9b39ccd044678457bbc2dfbd810b4893a30377b73353f6a65647745e8ad3febbedda1089c9320c45bac3869482b5b37772370d68f08d64ead08f3b0bd8271430a41005b91ed68bad8f469e54d73e7b56 - -COUNT=14 -L = 2048 -KI = 4d948b0f758b842c661cbe10b60797e0f4fb840c8a8c00bc0bc8a4f5 -IVlen = 224 -IV = d5df406b6fb98ad3fcee28b5b128c7632cde4c292d84415a39a29d78 -FixedInputDataByteLen = 51 -FixedInputData = 304572a9018d0c41bc47dfdebba56b0c282d2a24d13e707f34e96f91c40aeab1403032b740b6d90a86815acb96c57ce97f0c23 -KO = 5c3f7e95426577c789e7450f2b3ee6a8e7f1b5a8753d9eea293f69479bb90383bf80b8b46111e26878fcf0aa3b8f18434207f48fbde3829461044d8827e59dadb4469fc530cca8f0d32e2eebe70f54763ff2640f7c209e29316e875c15bb5da3eb6a2f2e86da780e2d487372e8771f4e6381fd38f120d011542784fa391c4d6414eed71ec9b5c101b0202fe5a314ef94f139f239824bcc3ea009e9e424cfeca7b392b5ef28c88f967fb74efdf2696fd59d36379d1ee2703cd2bd99dc87df344830dd2e09197edf75fd9f357257b34933e7a1c1fd918746e184e648e1cb5a219a91b953758d1aab102990d08852ee28e4999672c4ea6687fb59c705d1ae990885 - -COUNT=15 -L = 2048 -KI = b7917f92b5ef7c1c549c55b070d8b75d297e6e247b2fe13e58af024f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 47803d6446cdb75e73a49f532f6d41a033ad4fa82fe5b38c9c106d2ac58e5b25d14e5b8d954fdf89c6b5063cad0995dffd2621 -KO = 3682acefd102742ac282420d78e3c1ec573c45dcbec50339ee654ccd83306c32b1fb1f40bea10a1345eda513503b495ba28f112c45ec7ef517f684b9482cf7b8bcc84b3244519069f3742197564c1def9583e9a50a918f2d728f9d5a16b6a5d696e4ff4040e8d9675aabcfe807bd8d89df778e5ff707d9a1e4458d953057f08ded314608d6334c077391ee40e268ee7af7f5fdbe8233c3ac9590b06228ac4abcddc3c6dd00246210deb56253ebd66c8f2cc00b3cb26f068c66e0d51b64b62ed3cb465167f80854efb7fdfef4fe121b1115b7632863b46a0193c9f54c2458d5ed7c5902aebaabd9df080b91c8b24b2d5e2ce274a3ec02dc44faedcaf0c6c32df4 - -COUNT=16 -L = 2048 -KI = 60059951013f8ccf29c1749f593b573384bfb8cc3a90923f0f0ff5e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c05c8046961841b506991e2e347baf4c5d55acaa874cfdf2e7d35ebaf113e76731235a88b344c61746de333d0972811278e1c -KO = 9dd51d4fa388e5925e08022d218b87ba6bcc100f936d085e2e0216563fc4a30f2f9ac07bc8503696c8b9d8de6838c29453b4d18ebfaab19e925e885d179f6b2fcd3e6625d7f7193b2186cf83f82b85d349a5b411ff25334b106e8e5cc1753b6bd776f48d186c82cab93404275064d2b9bcd9034741374d42a6c535e5dd00cb77903091293819b578a6d4f03799463f14d908c55e50e47f9c2695dc777bacf7577a2d1b620811afc4bb6b74d3fb7999fc2b194f05ee44d731b4e75c4741f5b2e3141408ca70f4ffdfeb70c8624d50cd2185afee3e020d3c62d4d8236776eb4b051a48f81e687bb688df495f3ac93943c739383eb54a30ec1ac636cfee5a947aee - -COUNT=17 -L = 2048 -KI = 704a17e0b387c515af09c53823b1147cfcb25e5a0eb690866b0f3a8b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e34081f4173f2c6a50aff0eb6d5775f192882be9b91e5eac604799779220d89fcbe2f77c5cb7e9663febf6344167855eb242b -KO = 060982eac59b468674f8c673e0220005ba200995130f200cf5965f78557f8e8bf99141a74b3a8060be459039161a4a221a92e618198f83abaf50ec2b4103f90694b79557a8f43181e4b34fa05af7c2771f2f1234154d30dd3fc705b3c8129adda3adf8a3cc96d3c0545fbd073a895349350db26707da71a662b9977e803da47567d892b3f616ab6f29815406a6422506df525d5d3c5d3414cc03a8d73d60ca698c533bef321eb21fd83b093f7edcbca6bcd9c8a796803966f1086ab7686a9599626b7c9db30f4c4df71302f34b35b0fe1e43e7bfdc9ccc7793f52f67c670407c30973bc1e67db262aefcae808bd1fa3c9e42283f29b179b26f48ce2fb3ab508a - -COUNT=18 -L = 2048 -KI = 9524b634be3770fb4ef2457575e78da0dea855264ff37cbe992417c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23991a6a7c47448020c299dc0faa5be28d340b1330def70f4adf8320b214daa94d3956adc85a9322d4fdb5472fe59c3300498b -KO = 4d63a79a67412b2468427bbed38f2a2fb1f1dba7d8097e9f6e9b633ec59012cb3cc97da41a4b0cb9ce3da5ef5302d63ffaa40d1513f15495dee9eaa0566ea719ab164bfe28b69290e1caa8df3190d4a96b4fcfa717512f9bc6a9e1f7f9f9eb31dda24fe9ba5a7d6dac85ffb398c9d9675e371f84659c2f26c8a39fcfdefd80855c6c22ac624468972a643da0e7210a44e6eecf1863331122a1f5c543f4af0fd13906fde082790c7b0efacb7f73e3607dae8c8caeb7e37559fb5421cebcf9a148ccd32b3928251a05725775ae65e2acb1a8a50dc27aec474c5246ba1949e2fc47011aa227ef90add613c3f04aa238dd803aa4e51997ebfd25adcdf14e30cb077c - -COUNT=19 -L = 2048 -KI = 6e0925e712f10d31013570b077d7136fa0b13a8ad15225e5c2c0216b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a08c2a839a8e6c0837e243dda9b099a172b575f953414b331da9e0c0addf77695f0a0f6de56c077229f7800b27099d4801caf -KO = 0b53a5a829a88309f5cfda3c15ce53627b7a22e87d0439155c5c5659e168b87cfe6e56e057ab5df97db37fde37a403504f9be7a163d1e1a44e246ae47c3ca2b2b40b73971759aee0f1f3f99a5e93a833d8a973cf0e580daf4d5ff8b51ab0530ed275ed790c8889cadfc041e76619ecc515d07e74ba8db4260f1d203505707511134b704efcd4e70ce14f43b9b6a1a86d5dff6c009756eff32887f55edfbc04606b7fa3cacbdba917281f09483415a7b443afae7194229f82197fd280238fc33e7429964dc37c3c47bd8398c441046e950271823051b611ede54624e704880ff3abfcbd9c650f6fed40509e3ce4a0af4fc69b41716a401f7903738bb2e5af17b1 - -COUNT=20 -L = 560 -KI = 289bf67ebf5e6e58a7087a2f60d9fb2cfd6aa477499149ef77aea576 -IVlen = 224 -IV = d79997d9ab852e2232630f4126e1568b84ce0d984a52de4075ba837d -FixedInputDataByteLen = 51 -FixedInputData = df2bd901741f7e14bba7a196a7f4cab043416d0e3da65b3538bf459e113a85b822b976445a1b7fc6f632c9312193f456297793 -KO = 3dfa4bdeccd0910db1dcd85a4001d0a9aac5bcd551c364032c189d026395b4bf03e8a489256ec8dd957a445318846513651a9f62f1992970ef021202fc53a5c498ff492c83f3 - -COUNT=21 -L = 560 -KI = 6adb113409e468c8cfdc63f822ffec9df7d256a904f9a68b2569c4a1 -IVlen = 224 -IV = 6bbdde997d92ada97f86d020125a7bdf31e9e5a6335f4b000a378c0e -FixedInputDataByteLen = 51 -FixedInputData = e2e26336459d239f7e07c29139d83c512cd1cc5bf98b4c648fd03ffebc78e9d1510b9e66006a551eb5128a15efce230248d19c -KO = e263b6a978d100aede7913ee38cf708fc122e12f6b40d057cebe41e90da15c6507ae36921a71cfd08cc6bb4410c01c4d9c969093ad208a31358ed5086df6ba25c9a9097b484e - -COUNT=22 -L = 560 -KI = b878f74965dc5fd8afd0195ab886768d4c947abb73c82e17fef84693 -IVlen = 224 -IV = a4fedd91f44cfca33180a6d2317fa4b3cd708e916ce6b781261e392f -FixedInputDataByteLen = 51 -FixedInputData = b832d3bf656d74b058e942c7a475b15f4708a9382f72d03ea43aa0681e07b7380de679f164a21c8b1db5f3608ae604e65f2c41 -KO = 7a2795666a3ef2f8d98b551e5fca6e55de9ccae7e1899efeaa4fd5a73449d27c039a42a3bb89a890652ae62987b7052879792c9bf507f1c4fafbe6246d32ac9183314258c2dc - -COUNT=23 -L = 560 -KI = 916901612cf9c9e42aa185b4c78bccbc108647f5257b90832245e8eb -IVlen = 224 -IV = a4a45d8a8190ad299bc5d91fce348ac33e8cbfbf295c667069af55fb -FixedInputDataByteLen = 51 -FixedInputData = 3c1fdb8ccba6c7b03dadea9d68d453c24468446833562588e8ce52bdf9bf1deeec76c81e920b59327777b356c2656b75d9685d -KO = 3b166f15539951aaea7583696e5ec2ce98479161efebdae61c6456b94b392dcdbd8a893e0fa2bf66e6e06e077472ae344ae6d9cefc21eb965a1cc311e6b6b1d7d3df380c0034 - -COUNT=24 -L = 560 -KI = 525d0a6e685aa59cf68e3c97a57795939f67aeec2f6c6d73ace5c824 -IVlen = 224 -IV = 65dcf34cb704322fc36f4f70a173745e3a9faacfbdc2d464bf760244 -FixedInputDataByteLen = 51 -FixedInputData = 8b91fd979474d1f9b160a6ec432a059da172b021f1c2cc735aa60710b4748ca8bf46dc2371060bc11b3ccfa8120d13be9e539f -KO = 0a16517fe4e15a16fc1b58527288682fabea2dda54550742d9a6ca925d89d1f4041933d225d5e7ea8e009ed04bce06719a9eb402b1bb9b2a31bc650c8adff40eaf2a2b53298f - -COUNT=25 -L = 560 -KI = 5e583ed11fd391e379fff1b1a0a1518f5afd5f19558bdcee4c494f80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 202c7821083fdd631cd64cb2f469f3104b144e3bd365521771c174307f12a79ccec7ce0f91507d3e15b4627b6e235230ecefbf -KO = 2e49b981f25c2bc9808de7fa85f962e5c6e3b47ca4c080119243b6a61dc0791b8c37ead22fa969a2bb034a3858407dbd976c56b54c6ec041eb969ee2b58e42a70c56f8688168 - -COUNT=26 -L = 560 -KI = fc629a5f98aee540eb20fed543a56dd25189f3f9c3d8aaf67f9b90cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 785b6dca538262775889a94fba1a2a1609a662dc996cfc57ea837cc838dc2d97cc54f0082da6ed28e82312485c55a6b639c23b -KO = 280dbc67f2c75c68f78e6b79d3de1a8a170a0366d7e879a722a04aae72a3cd75c8b44967af8b005adc116b0908986dc7bfefe886bb1862e47ed320e90ccb5fca7e65ff175822 - -COUNT=27 -L = 560 -KI = 528c043f31fc7e69da054ff0da42351aece3046aed548fdcbf765233 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bfd5b08e321f45cfbc617323040400d197ad3e0f6f3aebda719bfc417a76d37c3082aea2cc408af58aadf1689420e38b820798 -KO = a6a20bbc3b3041fcd683fec4b5c50d8605da50bf0ccb0a2704aeb874b6b628ed73e5efecd41b4f345a94e738b8f4acf96346c5605fa64f486c51749bdeb92d0e1cb5807e730c - -COUNT=28 -L = 560 -KI = 13c3571e08d3cf081827f22ee89597a113ef080255abb92d3a6f2670 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 433da8ce5ee41fb138bc11d2abb579a4baf7c2fc5f10e0fdd3828f0d46fc1c6ccecaff9968e23005cf01ca8bded043e321d6ca -KO = 6fd8125cb0c52efa519bd97a8db7a88e5cf9f36f3ec346d421864b1967d560910f199e3ae3ad94b8c783857cd1bb85d0156363f4860bdc133253e1d059c180122227732c6990 - -COUNT=29 -L = 560 -KI = 61c7a8704375f7e20f702641068f3eb1d866230ce08ea8277ee5a593 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e74b71966bf08aa0c333bfb5a72c149a118fc9e666486fafe86f7dfea7c22f6cd8a760d870b7feaf64c042c895ca7eadc3918 -KO = 41f3b1e9f42aa030e0d5e4c72fdcef78c731e4fa8b3a45ce0234b617945d037b6e440ae422ee87ba8f8044d62e2f46f854d1966b932a7be60feb35ff9941406880ed478165ac - -COUNT=30 -L = 2400 -KI = 6178ada57544978b49182eacd9a99f9b990903dd85dc3b5f9f6bfbbc -IVlen = 224 -IV = 1290bc84fd3ab59df09487ca44c86b63aba5e0334f40fa57d9f595fb -FixedInputDataByteLen = 51 -FixedInputData = 72ab67b7efa7ec0dcc7539dd2571aaac6c44bfe3cbe341864e9759b9bfe0c7924f213c90c0bc48c055b0913e7664990c5fb12b -KO = 4fe2073565129a3ba8e800dfaea20a0202375156069bd8a0b8bbd3e2bc9be0494634ea2908b00eef5daa464dbede001f57f17bc1565d6915f7bfe63e55d1bc1fb68d226897d1aed1d0d6b5db010f3345fee587ab3fd0dacfcdbf80a3355c6761d511770eb5989e35b3b93535c210d6d43f03b105e01d9671fad4802eb0560e7e753ab81f261c341cfc3e96c41f052754c5d529ee4275e63516dc87d1ca1b7042b98e3d7c69fcc1264f0ae99218d537c2549c205ad9e088c058c0a96a67d638b8472c887669728aa63e80587f9e54d258a937eb2216f4ae6d0eab4362595d2a6357d3b69dc71fff55c0a063ac230bee34859037f3129bc1e49994ab5f78b806666f515a30ea3c7bfb6fc00e458f26119c7b536dc4f0dc01cf2c076d45473a5c8f88db77c66a9e869a5c737a54 - -COUNT=31 -L = 2400 -KI = 7fc77448038036834bc247d1ea51e330c46265c6f153eb19eb39c599 -IVlen = 224 -IV = e872af02660433af5e02a8d66dd43dae95b2e69026b6d0fef78fda54 -FixedInputDataByteLen = 51 -FixedInputData = c207e02ccbf17baefbcce2926f14f1b19d9240a95e00fcbb67004d9cb1b0a4d32726b292859a5eeabadb581f68c108ca22f24b -KO = fb09b9b2135b516eb6168135935f9435ebafd0a948d4be571dfc32b83719b5bb54cdd2a812ad34039662208c11a5a50641bb24e82e5206b0665568f209668367cc1f989c4a3628c4f4906622cd2c3bbec3f7e46f4fde3909103b223da9574e30422740edd09c99c1c11496d3bd908a5be0761ff4b83749a70c1baa14e4f6b65e58d6a95330b167b468d23c3389ac4d33260150b794518975ab9c58f5495afa2f07289d932e73cfa68944016621ce21d356666213792bedac87e5df62844745d9ff2471d93653004d18f27ed986418a3b419eb8e7b7692246420c0d1b3a1b8e56228adc0a326d947daa1f2125fba5bf584f70184e573d0250faa6e28a3a6df4eeae33f0525833e880845eaf9d9cee11af40614cd3fa54e36ee1f78462ff24458ca496256cef20d9c2dd871c91 - -COUNT=32 -L = 2400 -KI = 4a30d0000ea586dd4890c33d70e0181e723542a46df80fdcd197b2e4 -IVlen = 224 -IV = 8060cee03a077f9a66a34ddcf87d68c7d5124b8e56e625fb3615f86a -FixedInputDataByteLen = 51 -FixedInputData = 828c0db6f9e249f74af7eecd605e07f1addcf3661188fb681508de5d94abd3c01028cfe999eb8bc261b7c548fe369bc6df03be -KO = 892c0fcf7a92313358478f09af8484f808a9bf31be5e2d4d879d8403cfcb1a53c2501732d1753ac800929e47c271e06cad0646880bf8e80175b440febba65b93a1040128b4f3d1ba1bd8a81755e98aa7dbe6ef9db0afccbc6b120cbe2b9fc4fcfe5f51606e99f264c26cc061a2dd7382a1f8572255676df95fca4b448e29e61f80abb24780aa914eb8b531105a8f7ff774bd16d2363d14d05fbaf02553b05cc0c0a12c774018bba67f90a2c96d6981d83469b993294234d653bccb4be7bdd2d89f63aac1397462f5f2bef69d0a58cf44d4ad6669d08af6ee8a73d9edef27eb0da4aeb0f96a148c82b8a86f47a18eac65209c3673cc8c9321b675e0885ffe0dcaa99119e71e80f3bc8b9d530c10da50b82e5c631c45927c574f443ad64298a844b3b6ce8e5e24d731f3bae7a8 - -COUNT=33 -L = 2400 -KI = 6d7fbf253ba9b1d1c4c507543dc23e39b12eba1c0ba2c9c84ab94464 -IVlen = 224 -IV = 2d4b2ac82356ceb1686b41d3ee0656f101f68a9c05490a0a7a28596d -FixedInputDataByteLen = 51 -FixedInputData = 7188887dd37b90a6b1d9d8841e5570061357665bc9fb9fed3d19219908c87c66d069844058829c79dc1e5930be392120efb820 -KO = 1e1c7bc42b483ab249c59f89126c778a0c306d4f2e61020d225125e45677e85e26dc94e6d57fd3e01c417da716ad1a06d45cfc80f7430f90df66910f0e52df5214718b6072418ad0044ad4038fa4364e0bd1a855ee86c7373833abd5c147d20d889f93df801070f82e40d832be7f09ee506757cdc0bb0378dfe3164466e47690550620f688276be3c939a97d52a7baf93c3932044bb9c0402941ae053563f2f49c23a2b70d10d95b25c7d06409f2e868ebad61ff7e48a0704c8bde2ccd7eeadb0d7da350c30380adf87b7035a7954fd8565109f5889f447e1935e971014ee0cf2abf50e5599afddff2387e2244c7c7acd977b409f7ca5674795c2d06ca30b44fcbf2ec07435713f57e2ba5db74a8c416552fb0c858472dabdc49bafbfcbd78031988e17ebd87ed7a3c77f1db - -COUNT=34 -L = 2400 -KI = 3c4cac018b5f06e30a542e6b3c31bca583bcf9afdf4dd6de1c1e278b -IVlen = 224 -IV = f4898c705781798278d9f945cfd8d394cc4c1b94549a265c232428c8 -FixedInputDataByteLen = 51 -FixedInputData = 54c0f20f849a9b350eedbc173f037bb445e8d1e77827deda314d930593a4190c1a08f59693767c6bbdad232469dc674f06c26a -KO = c46d40d5e94a81eb4ad170c72a9ba95972f2851ead09e46ea7aad88b8d819c8df17b927959908ce70ffb08ac68feaed076b1b0b1e68ebfd085834b1b0b5faff440cb49a24cd496d4b82547eab31c2c75714270628ce173728aff77de253ef7987a5191cd4ba761196a3e0db7c3cb05c7511164172f2e33ddbe17ce6977db446b0bc5a1414edf9549cf4b3957e26a3f75bf856c3787c494e6d9a60d4b8e0507a3c0bea11b443262bbb011f8213b1a7d414d8ab5c965024c5661b395f23aa464d83c9de22f61dfe704175e73a5dd51d6ed82231f609fdd7e8f0aefdf6580b2962643425f0e5fb040a4bed47f9e77b193e34c27f612c464b08fc848cc1c09bc99af3819951b25162b94393e82c40f0462a5ccb88bf17c4977eb2427317f7031394e937831d7ac29b0f4a4308cfd - -COUNT=35 -L = 2400 -KI = e262201c655d3586996cd1ef60f6e236ba5b63fd13c7538686ddd590 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac58b01a4680d59fe093250391bef65d7c332e21adb6c7786a8dc0d6f92f0003491af8f818f0b7b9d797b14768d79b90d43567 -KO = 9232909821b6d80d08d67a633cd8bdf307d641ca4492eeb1fc912b161eb4c259a912c96d64ca15dcf53ebbac7f76bd22816637ff39ec1de949cb83dd9b75e222f32406a7a29df7b303d73d5b32eb37b8703ec264f243b26ab1deeebee5a4e6380c463d56f5fd9bb1089a9becfa0d14041e6cf8854ec1f38e5223cbde48040dd769508bb96446d29f8c3b32f06244a21179272fdce49724000ea5a55de19efdb58499d65a8d22470bb0a56e5f096a29ac32ee7780916fb84a95f16e1dc49fb92d662d4e05215baef266e8ab329214d3d11f7355a7b5e15af01cc4a0ae68294900d3c4af5be3cb598c89f639f4388e32ac6d250da667689a7ca60555d1917f9c42d1154fc55d4c21a722a1dc708b4b4e7f0c5ac290e438a43d3bf0d89f8193073cfc7daf8f8f0dfdfd8e8205c0 - -COUNT=36 -L = 2400 -KI = 762b4882acc9f31e11bf453efeb904387b0fdafbf073886a3773b8e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f96e35d068fcf8bd28d721e8cafa6a68204bbe50770101ecbf2cc4d2c2e99ba2b889429c345aad934009d726edf2a654b24a96 -KO = c23f999fb37bb31066aaea032df9c5149faccb6f84bc954dbdfdd5468bef60b766681f7e178499b8ffcbd84099f0c371834ed75d56709ce6f768c8394f00104a5687fe056e8fc7f4685f0cc9092f1e9fde25af1566398b7f783226657a8b5abbc05a65bfa3a15fc82fe65500141e1ceacad8920ec2dfd940358ec7fb18422a14ba5e84cd6a30298c05f343ec9cce054da74e1054c058e75d61600082dd190a903187c232279cd61ad43ad202333a6f12074a166e61a5fa997385d01af82465948f134418d62c8334af204eda49a907fcb7cff4cca888a0a8b669e98294956f40876d9dd0bd02c798a8574e77160fd87ca5b3ecbf33e8f5dd75e4afec774522ff5a23fbfa230f6d4a147bac0fcd7e5d9a78e4c8e21b0e92557d5e9598353ca3305b5a048cd700115e6547bf4a - -COUNT=37 -L = 2400 -KI = b372168253ef0b6e7f29a1d48bc4b1ea7704a7a40e6366a6b7288f08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e34621e53f50bd9c9d242f60ba9a8597126c8a1d1020f6f0a0391a64ef687789dc9cd056808ae680cb00a889ff3c382665d1df -KO = 7adf561af9b0871a8e043fceb7617bddfa0a0bab3bcf6191e7ce72c96d7576832c32a0707ac47f39981e9bbb11b26fa5abc0b0bfaeac587cecc2e89c4b43e8f475f4483f7f2bc257c38357cf5256db1f3c107509e024180b7f9433e6970f21a0c059eb9e736c32b47f490540a73b0890f1212a2c143bff7ec33f4cf29cda80eb0b115ef4c6755c502f238e69b1c7de54e2afd70d832499f87ad07d1b63a21fedc6673189b5e8eac6b6a496f5226fe0f15c7c419267b1c4081fce11aceeb4619f2d44fbb8e7f73c6e2041e2b80eb89c0812948c5517df706b5c3b5abe0be3dee66fa599a9fee1b3cfac94f940d38a76dbd38a12c21c0f910e3f997c6edfb184fe0f9517ef08b242b6dcdff2fd9493650ee1cca6cbb98a6b377a98eef6e7b652dce88d59dbcc2d9d4d2fc28785 - -COUNT=38 -L = 2400 -KI = b0afead625864eb3bd5a7478f175cd4c960ae8de6c981dab81c4e4a1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 50e557722bddadf9eec0f57859a93ded8e04e504f23a1387966f8f6d4334dced456f1b3e2de93569eb27e127a8194f87488414 -KO = 8546a22e528d3d7e547a7031f28da8a1f857bf3b5b8d590bd78b3e556bdbb5fed09e64393dcb2bfe7202c59c969889cb34b60256fec8fcf69413ef8295ddbdec32e31a812f40779c5f23e789315fdc7f55f67c7f81277876603f3d6cf85af43318ce8a8a0514007db43b3f0e8afb1ac3d679361c4fb4e966fd89724f2be03601dca402b3e5346228917250444b5428ab828aa11f9393476536ecdc1c70614ed6a88f4d1660f863f98759d58f3729cfb9163ef34451dd2036b4ec72acd6280b9d4750877e72efd8c70a0096541bc9ed4a8a560824345d33479ddd268f35c4199ee9e6fcc400b10aee9fac9cbf2af4897cf621d92f7003ba693db85271a46c707958e4487dde859feb04b7fcb0d6c46b51f30cc366def4be59bda03b86fb4b62ad8defe8c60e98c00c1cea38b0 - -COUNT=39 -L = 2400 -KI = 2d5f4b652dd3cb6d09919fe2dfe852391a84275a1459eaee86cf9811 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85c0d9ff7715e8f2bf2ecf86f6f1ad3c510bd54cc9f15b60624a9ca09a7b4f1b0632da57e2e9966ffdf57301ac2b648c38a173 -KO = d4f837ed67dabc7a296c2c875e70dd7c3e34a2f22f7d8f93a388b8b973691b2345d409aa867082faf6eb1f105adc41d5531204553f2d3709940c6bba311de205b1b85c98798f202fc842a7a61d31e4d3acd184d625c425a9d17e2c0ad3d8f392cfd227699cb8541244eb5561d0fe238d3b601f3fd3fdebcfecb460813f5a19f3608e4f40eeefbd5ee3cdbb89bab599a5daf0706c369f9497f2defd7067bca82f98adb7d3b2a3d8243a660be77f85beae8160fd2eee9d3f4f8d545914cb8d92b88e1c3ee072a7afd95fb5d6ddd3251623eee1756680ca4c4aaf14a1f3139a9132123867372aa77cf1ab4c2c2bfeccaead325bf6910a99134aa4077f85d9db5589d0be03ab0ee7dec8550b6c90ad0a009c5e2109d5116919e56f6ca917df0a9b1312681c8ee62be83b604da8e3 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 08530931d1663d1a4bf09ad87e4b0fd7cf8848c558db5174c78a82e3 -IVlen = 224 -IV = 1ebc07adb2d1cf365aee1ec287ad43e787fb33f0f7ebc28a1b188361 -FixedInputDataByteLen = 51 -FixedInputData = c2db12c02b219df72412c76ef24384db0973910bc0375c9ddd51cf3a16469ebed3f4494acb43c2dbd76769bf03b485ba26bcac -KO = d8a739ac2777c5d8b1c85a987fdc8701f27d1243d6f5308ab3030f422381ec22518b3ab0e98437845ccf1ac9fe1e5c36dfac05a2eadd7cae71ed3bba0382344e - -COUNT=1 -L = 512 -KI = 782e649fc44e3da355f36c2b1bc736ed9b38393ca5b8b548e208528d -IVlen = 224 -IV = 073a5072941fc426cb56786049fbe6ebb4b1db8b29f3715eff57104a -FixedInputDataByteLen = 51 -FixedInputData = 6274c652599890d56f0a725f65100f361e3ed1242d8c7d120436900db9ab46e606b4bcaa2ddac276bfdbac3f55cddd98970f3e -KO = 332b36091287364054fde05757fd00a5da35c9b3bf93c6bd99a3561fc2bce35b342fe7e7b4a4c0227ae3006d56f34b1b864cfdca336340f9f2de121ac97fdf35 - -COUNT=2 -L = 512 -KI = c3e6ca9dddfa74a289f0f5238ba25cdbb72ffd55ee909d420e8d0854 -IVlen = 224 -IV = 9b1869d5bba3449be8eb1f22b837f5e7e07993690a19c5327be2dffb -FixedInputDataByteLen = 51 -FixedInputData = 422650c290e7fc73ae15927b22cf1ca03695ae0aac093d753656ffa32ea85a6c95f6728cb1cf944dd001266dcc8d7a1c4d53a3 -KO = 4402376ca462f6f3d298f09fa105bd98f9dc2f0032cea2b7f9379e7ca970d2608709966759e6f1837e9ecc8d2f0438d26310c2bcf1f39c9f86fcc0b61d88437c - -COUNT=3 -L = 512 -KI = 27424230161a279cf0f1b05e8d3f9249a85f1e13e957e8c47f5bd931 -IVlen = 224 -IV = e5b88ce12f480c4c437a9bac26adc63a5d7ecdcb5cd7531ac99206b7 -FixedInputDataByteLen = 51 -FixedInputData = 6c99a95f057cb5c98b45c09e6bc9502d59dddb449aaa0d69707d5852b83c9516521429a33bd2cf2a114a552c39aed35583390b -KO = 40ebd38a4d61bb6375bf2e3fffb6d0eca2014cf9a527c8d740287de4b780ff62be74ff7a70eeb6a4f7b482b4099482a8a1db74a1ba213a78429070c0e7682108 - -COUNT=4 -L = 512 -KI = 3def090a75e2ba66da625726c621432b36084d144858c9a28ec5f6b4 -IVlen = 224 -IV = ac703e1aea89fd1db57afd2019510e894742bcd7ff9e6afce7eb7a77 -FixedInputDataByteLen = 51 -FixedInputData = 058a412b1a6e3913f3b8b652262fba272419a16b9ff16efa0a5eb8525d07420c604aacc8510a681e03989fbc8038d654ef3881 -KO = 16efa597736fbb41c449a9c9c7e43e5e032d445243ed36d90ed4d26cfcfb1f55269275c82970da8ea99b806a94de5f5230e98c71a15319cf067d94fdc8c65851 - -COUNT=5 -L = 512 -KI = c98ad8092c1c6195d268b5f2eafc1d285ea2c07d39b47c081f8dd8ee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bef82ed7ef03c512935c0f6c1ca7b8a0cc1d49fc294d8f62ee744cec7aaf512721e8aeed28f335b73f78cee9d28c665d8cec69 -KO = dcd1e9185a4cf74913b4e2b39e2c51d66a7af5157996aba7a367a7ecd577cc027e3af03bb2a81b77e39e366c8ad62c440a09d36853d2f9b4c3678daca6b48dbe - -COUNT=6 -L = 512 -KI = dbb65682d2f78143b9ca575f6c3b95d17d376139782cdd3fac1a5fb6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a225b4275eccd81b59df850df9df4fd43bc4fa6b88935272811226785b3a5f98a8edb554918ca9c3c756b58ef096c8fbf6b1e -KO = 277c3eba9985d1a04807fef3760c0e698caccb9bd8f95fc5e4b67695226da9f4eb6350bd64177e1bcb3826b5d5eeb4811245b4c8aa0e94a2251033600a852e7e - -COUNT=7 -L = 512 -KI = 2c3d5cce9b7af2ac2c92c644fbb6905c8248ec2e4275c19d1232b027 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0a767b9aa3beb0859527bf235b735ef61a2525098c0b771f426c54f7da4f6562551a442a0504d9a7922686cb62e3e8a16d3e5e -KO = 57f9f768b47bf91d4734601d433529deda962fdb6c5913270db8b5dbcddad9729325fa83249bb12a59e502389e52309c694e5dc03f176eef5d89e1d1d25aaaa8 - -COUNT=8 -L = 512 -KI = 81d169d9494a250e31edf57b59c339f41912a36e5a555ad450b763ac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d898555be330aa8de8a53149e327a53ea7ac24833b8382a77bd0411aee61b3d23b4e2525d500f857f79e4a728a7433b885321a -KO = dacc966b6626eeed28c56776b378e9dad653cbe588105f8141c3fd246c5fec35c24d8739e5c076dd6ca7c90026447967e7879b54a629400ffad24755f7b9109e - -COUNT=9 -L = 512 -KI = 3673224b39e866deb15399c9375f6cbfe72c0153dc1f352f1315df72 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9fd151a9e7a61b62c1e57c88475791638f1b07f93aa543b9bc855fde1aac0cb71f9f9383ce619264304339e4f7e1f0dcbe2f55 -KO = af8880efa385d52fe63e10ece6f0732e79cf8e2b1123e66fab7737f0a1cc3714285876a0f9e05a6ea1f0f7455199984094d1b255005bb3d877ab1dcd417dbe38 - -COUNT=10 -L = 2048 -KI = f6d228cce17eaa16d5862443dc254ea20d482c89c37160b7973fea67 -IVlen = 224 -IV = c9053a2c330e580b55fa1c5b8a31583595d07018c126ba5ae9558d56 -FixedInputDataByteLen = 51 -FixedInputData = 8d5bfa0ed353ce25f267649cc42c99da3e162b1b01d1f47fdbc68601172c20f39b8069ca6664886326bdb1c5fd0721d627f273 -KO = 85f5d8a936145d97cdca0f2c1e518d420e0cc93de497c366edcb37dc9b7b6fe8acf693da921bb97cdfff5c64fd76729eb3a5938ac75caa528259a515d6676ca966827f135a734f593830127f8fc45243a8d82042dcdd69906abff717179c69bea649b4467d3a0ed7e762c6d7adfcb51d66156e01c23f367b86d1b7c56497760ba139de1b628fb599fa4a1e9397ffcd5ce315c085dcc13b10794a29abfd770b38e85cdd1d1456b62f822a6226356b712f54d02d092bf4853d5afec59f2dcda987a81267ed6b711fbd4e010632d66f9809a663b809da02954be124be8abcdccb8586838d8bb5622d148579bfb63de00223b1f81ff2c0ece670ee6c00aa062ebded - -COUNT=11 -L = 2048 -KI = 5dc2a55034108ce53af64420d7d7ab3ab73ae8cbb73e21d7314e3b26 -IVlen = 224 -IV = 1f6f89b1459f8f3bc3ae19f7550695796942d45046a7babdfa1f37bd -FixedInputDataByteLen = 51 -FixedInputData = 06b49b09c2f6b7d0869d408d2eee45e2e971f89b50c716aa1ee357e8b9b63f5fa4cfe6031fea039f95d41b2808469c7435975e -KO = 21a3bbbc37939335af3051300ae96f5418b32a0515b0c7e588672315aee6da89ef4088bfa388bc5f9778090b475ca4307ddedec8803ea8756f4f9d539177f02ffd19ca875ce824bf8e93374496bcf215ebfcfd71d7806017be12c91a426f9343b51f29aa53f1e6c040da252ad4b5133adefbe9dc03431ff07fef68c538d11ae32456d8f907bae73d9bd04f144d552c640ebec7d892fd25b1588e5e87480e5527040c4a744e36e6725c26e0c5a256913cf0b290e337bcb3527b9b7d9834a511d15183866e56ef7a309d020b9cc71dfe5aef28328d14701f7b775c4ea759a2285e8ae4165ca3f45a7482666585e37153bd5c4178acb1330398d75eacedd36547ed - -COUNT=12 -L = 2048 -KI = 4edce6a537c6d30fdef4aa65181d365b90fc0c710edf24dd782e3f34 -IVlen = 224 -IV = 4bc56e33e63d1d67819e8ef3f5f18bee6591fe354d4edb244f301ca3 -FixedInputDataByteLen = 51 -FixedInputData = 4427cbde7dc961e7059e967a9a3f8931d45d6f24bfae747ca886e237a582b3206fa6a0f2247efb37e68bf61570d54c3c628e56 -KO = 65dda7cdf6e1c403038a70db026fb611a80b34f8ac77789f6d37b60f92fe93b899eecfc495dd6276cd73f524adae148203f1978061f5866ad12c4df3ee98516afcbfb8b49313c00a8a8ea96e91ef8a3c92c7935c1bb06ee2ac1a769b91448fb965f15aa4b595fd5ab818ac7f744806d121abe564e8114347b47c6b970ff836c0a76f403452d44927ceb6af52f57135aae06034163fc768f7d8df90da6eaa451fd355da395fa6b2c94cb4090b46db74e09f4304b1a70fde0952a0c52f833450235c08a67a4b43ba69ac5f5e0e6e05b3daae4d5ece7d60b00daf9b5e9a75d107c2d0fe58791c029e0e825aa6a14c927329785f40bab6abefaa66ed88248865c988 - -COUNT=13 -L = 2048 -KI = 07d05436c4b40355aa69139ddbd184984a0678b17a872dc1610f8480 -IVlen = 224 -IV = e41e7880b1fc2008d11237b2da2f011cb20358ec88f35237f9661d67 -FixedInputDataByteLen = 51 -FixedInputData = a7bc990b6c66590a9b3c68844e21d9a5f370f4610708daeabbc5f2b06913a7b75d0829b0f882915b3615d0bb2c48ffdd020f46 -KO = 76bbaf46519934da3d04667d03fa402ffd11906e6f12e6726e8ae6644a4b9af6a9450a12c6b757304d41ed6e17887a26be7192ab792a212358d74acf9a0cd48a76c17cc4b6452eb371e8ecccdc2e5d481598f993a78268075bbc1453a08261091eee5374d83907f2be1b8e92683226e6bac9e448eb259688da57889bac00d9ad19e59495a905affbcc8093f98bea4f8de96f5518ec0017ae0f1736df39f8c6b757e11a83f173c569636c97bf0014ef399b3abb9a648dcf77916054f29bd446b8982c8197a7f05a2ceda1d0098944fd033ba94bc5b40da48d3327ca965b8a8b98e969416ae4956430226fac1a72b55e486b2560b3169a1e796ec0f6a9550ea757 - -COUNT=14 -L = 2048 -KI = 9cccf165a80cd9c9eaeb859bc89789f3cdc48567fcf59153814bd8d5 -IVlen = 224 -IV = 035de243c8cce9d6a348c0c59513b30740e5c4266168e31394af8385 -FixedInputDataByteLen = 51 -FixedInputData = c02f36283b3adf2a6f6c8c2f09084259b77e9f98cf0149ac846c479b8bcd8357c59863356315807157b14693fd978a640dcc85 -KO = ee52c06c4034c8c6c7d85e8e2fb31f72d6552997e2cc1e1775944d52681e27f3d16535537fc365dc16a2f99166df58032d448036676cf44ce04736f2c4a9327bc16c87a72366d83c9e85284922d1ca50c52081292cd23067d08e8cbcc3779c415f0d1af328fb9db9ba9aa1ac7d71c5887a3bbb8a307a28039a9733e6319cfda6b4c68c8187b5028a5edaa8deb4cf7fabadb3786fcdfbe8983c4534c67d8ef1b751e264a8df4fb739ab117d2a39015ef123a7d471bf2058d1ff506f95f0dad63ca6141562599ed3c17091c16c253aa6472c4e40e6af8cd61201b14c232c392f5696d4aa58297effe26afd656ae26caf1d832db19ae14e0e71834e39041e1bdb72 - -COUNT=15 -L = 2048 -KI = b263e97978bf6b1b4289750ba2fede011c02d50cd7251e162bc7ea14 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 48afbc4073d5695e6a865d6e6358489d2668519958f714cba2a16f3af5f68600e0f5de73d668f12720c10cb562673da5433c52 -KO = f2b0b2200f9635a5c65cc7c098a604a51afbaa4c809c2e8212315fad06c1c368cc30335d5a2296c2694f43e847604a950a5e609764a7b162cd2ff5c8f19f85341fef9473c56ae68f18e9f1528380928c17a8c811b547aa4c8b3c0cae59b2ba552cbea51be0439b1a957f97f292362363934cce7077b2dc4f453c992fb56d52e75c3cc1e541efba616dc70809c43c878b73264a8425a8f7be6cbe18c4f0df8047d6f69e32a6c9006b8421a6418e21782ae78d1be81ca3206d09299f15c223db1470bb60e95e2a2709d228c9873d4e0191792488757a384484442c20010ffec3403553f120930bb1c4909ceedd2cfdf2f03357b4b6e8099e3df136d0e2b1bd2355 - -COUNT=16 -L = 2048 -KI = 13cf33a3c39c8fb6ff55bafc5bf649de2615d114fb6e9e614cb8bf62 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6617c99e280568818f2eb8d8e7b0ede28dca845172725bbfc2a73dd4899ea8f7c919dfd298b7b9cad1a395da225af958828999 -KO = 45700aed63c695307e7e869742374e64c190769e286b61873474543564bb8813df0832be804253bac8a0b215ff93524f0f28f4da8db37e6825981696528f631643e742f549319f272df8bca93e75726d4b551f36b963927a60187abd006f3dfd5bb0b6718c190312f358e6d657f679c283096c560ed82916d49d6ad1e58eb82126e502b70252d3ef44470e2ee97e5ec473e13c69380c285f79455cff964ddb4e7c06f31ef4eb5e0b4cb385a37abe86c772cf1c9ca1c3fe07f0a0f588d7492b70219805407ebfc82e46cfa2dac484b2bb4d65428a166198bd0459377ad59e2664e1687d1693149af146174410121d65582ce81812a325c850a5993a54146a44f8 - -COUNT=17 -L = 2048 -KI = 185ca3524e0adc8d9f7169d74f29e1923de7fcd773864e00a75acc5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 68bafb42a7bba765deadb1a1dcc963cef5b66e376111a68f906b3dbef71ee24a894ce0aa10bb623d50d48a614491d334fe1795 -KO = b62d3577d7de363656779762e39cd777c2a6ae48e0e550a475f3ebcf17fc2e1fad7d1ae61a9d29719c2bfb607074479683edb1b087db01205d96b318acb6c5c3adb72025a59c82d0b93fb7fda66e9376407e206f0af9df48dfe0b2e554d0071ba46187f01c7b4c8d57957e780b7a4f493ebf056bc30740023f54f2ba8edc00836d6a5f70d9c95e1596f59f387cc18adc5114f265fa67172fee1635a47b5238cba89d2085dc4de524c668c5190a6720d0609af3612b94ffeea75f287a63dc6b1dd707103e7c7d2f31a52e657c8944c45a743329880b5f248845f9bedf7375a0ad9d0d290185ff498d251662e8ca8e2463e9dfbae2b8c3a639b124c6efd85d8d8d - -COUNT=18 -L = 2048 -KI = faedbd55c100ff418edefc9d7ec1006b517e57eec4468aaeec5804f0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b84210ee3482f0d9170912198d7806ff3b9a169829be1da3f8bf7f5a24e6d9b2b4c8c17ad6ed73cfc3cafc7d20ad42f3f9c309 -KO = d327f43fa0250e63c0cce0a8f26b975d987c401ec60b67374c9e57c98fb22906b5b02622885331028a0f3046928433e10046006446bf21600e4264e1906779d34a25a7423be43199809dfc399d963c43f0e627ede22a14bba4ecbe7b955e10cfa96cde18912ef82f1269b66e45c7fb719172c0e55565a44e994164174cbfb391bdf83f1a66ee2c9b4d2779a1fdc00e1207c7ba6b9a6261047b2191ae8c3ccc74a853ad1f422423a34d1a3cc59a7773db688efd8f44d1225827a7e69e14602708130ccddeb88e0eaedf29b44a869ed292d63a63f4e793825e7178baa8ed2201605e75f1f216714aa5ec2171b05a1877e16ecc7874329c31149dd88359fe0c2c0f - -COUNT=19 -L = 2048 -KI = ad1a3a303554dbd2572cd162ce7439ae4e62ffa6450ced4f594c67a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 438d5b5cde6509996f2a5405b6c25f0f6bbdd9b4956fbe8a331fbd489f5a1ae7a8f108143c2c6d6f1ccdde4bec8abbc71aba91 -KO = a555b285054dbe840576aad0974c570fb14a37d3be5cd3bda63bee2ea5b00973f9ef5f7478c1d89338d768bd0b51163c23db89a0fac801840dcba158c41a8012ff27f5e11ae7ad1104e12433ea64cb373a612d8008e9cfd74655d949e0af26f777f71a1fa90eaf98337d11e7feedd232cb3367aad07eb79b7cdf373e5537ed2d97fc1a8f31d7809a867093091d609116b880c5a4f194ae651d5ef4f1839433255352ed4ae68f88f88c3239e245042dec5c04c1b58a044563fd56e4fb8a75984f510ddbbd77f590ace1800bec9d0858eed47cf8e5eceac13e1af60ee09ef775bcf02aced133791df3606497cefd4acd2a6292e782d2cddb5d7f1dc5954485851e - -COUNT=20 -L = 560 -KI = 30b5bf135864b44ab7d6e0647f95d4633b484cfc69fbd7ddb3154285 -IVlen = 224 -IV = 151277cf5f6fb0fa29cf48a769c184440cdc6ac8649097f511525a0a -FixedInputDataByteLen = 51 -FixedInputData = c96453133ca614f8235f8f2e069fd8ac7f10bb6ff656b56909439c0df70299c96403345b64fee5c965e0e5b0bbb8a2a8e46c4e -KO = e815c733fa5906701137b7f7c5de855f1d3389d8e01698c4813c5edd1945eb7eea80ba624c6bad3ec6a100f4cca1545df623ec65ec4feda5e0246a0144f0f16e49619011b239 - -COUNT=21 -L = 560 -KI = a9bc8234992d50523be7fd0fddc289e64b3ece835b25adbc7f55aaaa -IVlen = 224 -IV = afd861dbf3ae525b3ba4bdb79dae4d0e37fb46652a5b5612612686d0 -FixedInputDataByteLen = 51 -FixedInputData = ce060293f8251a4a247e55d386e46b71071cf86430c54fb539f8aac921723d6c18427738204b8643442402e3cf40e28809a78f -KO = 67edd579063c963db015b938c2171649d2ab75b3e88446d62d85b6469001144073004dcb88f77365859384bb879c467dac8b3775d9cfb5f352efbc27ac87dbd2e158b56459ec - -COUNT=22 -L = 560 -KI = 9e9d0c6f8f0b6935d72ec6edd8c2ddf20c8ea5d23519769a63e081af -IVlen = 224 -IV = d216bf31e43d65e8d2c3cc223ee285cfd19f9686bbe0d7f063e6f97a -FixedInputDataByteLen = 51 -FixedInputData = 46f95f667d90225d93cd1c7946d7a3126d2dcf0989bd8091068fb234e3d47bb56fa1284c739ab7586dd316bc3e70ef714810d4 -KO = f13713a71b22fdea3b702b4a8cada797adf3cdd4411316eb3f3c754a7e49560af7cd689e6ec569815ba0a58848c0ebe71c2683a6d1187931e439a71f0a53870e58566e7eca1f - -COUNT=23 -L = 560 -KI = 24bee94b2ff043cffd6f9f692cf23db6085ae69b16218dd3ca6f7049 -IVlen = 224 -IV = 0aca1f530e942f7b4e90d2f2c7ff8533387fbd96b9de77d74fcd7be9 -FixedInputDataByteLen = 51 -FixedInputData = 760b87f40895b4034746b3cd48869335427402bc285c9c3e9b4e3ee7031fcac67cac73b15b2b29acacf5adc7116931eb8bdc29 -KO = 50df6dc74618c2eb1b5192b431a1c6128ab560179562254eed0bdf0e3502140fd7297b8434e172c2e5a835ad6863ef24e76d45db4499bb29bd2f01445f5e9a0fdb9195c6c861 - -COUNT=24 -L = 560 -KI = f18b07629776705ce6120af786cceb11446ab89a24aeac5dd63200f0 -IVlen = 224 -IV = 6aed6f1d709bb4e62057980f4667c0d7410c2a688d889574b67ae12f -FixedInputDataByteLen = 51 -FixedInputData = 47487cdd0760f627c5cc2df3342b6bf57a60ddb40e24fb9f5e78cd78bcd2a516add8ccc81a9ee86611e487519533fa05b43506 -KO = ab8d994367f55eda8afa4236140ebf66c410e9ccfc866333a7d160da6bc27baaa63bc37b138e839570b2e3a506554ff2372f8a0acccba33c00823ee85ef1884c4ce9511c406b - -COUNT=25 -L = 560 -KI = 7b8fac39cadc36a5b67895e0a625da7d92c77d11c9a9657da62adfa0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 72dfd25d627b4dc7269a5f7c33db9be42ebf4df48368593910ec52adf5ae6cf20aaed9b9f6fc4a00e61b1a86aa800e302a1f0c -KO = 14ff1dcebe7a6d1113ac68220ae24834be463dd89c412576882dc885e7578a60ad9d9ee0a6c3d182199b3cf5b85b8751c60723ceb9761970fa3cf6f7e5e66ae74f23d64d3a60 - -COUNT=26 -L = 560 -KI = 67cb806b1690e59e6983bf91b9258fd4fb1446aaa0333b598514fa7d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 83008db1b33a5a95ba21efe812edd4f110925042dcfe68ac90280c6310919b6e192f716c28f2a44612ed6f911c22741cf0d120 -KO = 0d63ee0f4cfd1880e76c650100b73e2afac14ae9803a3bdfebaf69b97f06ed347496d1e1ff02ba26da9ea2c2dc3c268abcb0e1f2fcf29da7f7e4eb0364b6528b669360ce6f47 - -COUNT=27 -L = 560 -KI = c3dc41d61a2ff96e77399dff2cda4a66103c8d85525889b67a75dd73 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cbb2dd714f306381b865a83d300808c6fc9eada625c3ac7444462905948ea6e19e00f8af14bf1c4332d1b766855380708bff32 -KO = 7ae4280c4b6a44602c84dbc28441fa172fe4b29bbd64eb548fda5838c3e1b0cdc2b473b3553761ed0cda03867dc4718797fe2c971c32e5e80e5d5135749349bda34da25aab12 - -COUNT=28 -L = 560 -KI = b8b6d901ed37ed8ed68b396c7e2b8c64f82ff7522bc3021bfd886951 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef8a08dfbbc5ccf1cfc0a8b11d8c69915ea5728f16d0500b4c9f7a35f6f79107f328c230992204bfe108d0fbd21cbed996b98c -KO = f669859e954a4ee784f010b93c6f4d089a7a8ff02f2711d48a6272aa263a7e1807032698408d497dab1274c894b35ece5331881d2415fc66ba051074d01533c2569da58b112b - -COUNT=29 -L = 560 -KI = d0d50db930e46ee7a8c30cdbb38d30f4dbcbf97716b974fd2987288d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3619c0bbfe69a4115150d46170ae70d13cab46156396bfc17944228c8f66fe5ec37d52aa559e227afa8ce96f058eda6a693b88 -KO = eea76fc1d223479fd9fc5e20c5f70a9726b25fa42ce0f6558930a9463dc6a794304fd3dc40360b58a3ee58ef28a1f239d81bf1731ed374e80771dc1020d0c6f5db82a490f022 - -COUNT=30 -L = 2400 -KI = 7f6265b274af16a50a543cab84592a53551b102b10401b25a3aafe0c -IVlen = 224 -IV = 81dc88df5bf1b6461f910a8f4d5673471b96ab7b521164a0594809c3 -FixedInputDataByteLen = 51 -FixedInputData = b5cebcd0204a210ec35604cddec2e724571427462ea58a1e61766f3e00d6d351fdd03d8e881707ca38594220193cc9c11fe827 -KO = dc5596417f845173c5600922d796c77598494d4180a79a3ff5e41dd677d52e2c03b2c3116d83bcd58517bdd375ae14e1ea9717fd385911ed92bd5a423ad38b342af1c57d1f6d3dc8be4f3890e4f10159e7eb46e9d47178023085a93c520f26bc8dd6aaa225a69a6ac1c496135d8bda5376878b1b7d61c41c5d72424fa984b30e33a6ac984e914fae15d81282100a55879f5fd6754acc6738a7ec7cc41f7acef886b4fc03570be445e8f8c7eb5190c3f2f237097c9b30fb8b829b4665718b6afa23ab1439c6f91b164e23645b505c5113a18a41e0a4d601809c5050371c8df5e89207dce3e157b35fddf22cd8ed98d12ba2939edbdf40a9c68bf490a5ccca9ac50fed4e9f20e90584ce27e91815d03e57967f04cc26deaf2dd08f198f954df1e2bf769c29a46801d6485baa5e - -COUNT=31 -L = 2400 -KI = 4bbdab129adb158e170b9b469d275da9e9efb3db9220d94b6a8b3da3 -IVlen = 224 -IV = ee339603c2406b15ef05ce0d630e1de083a045f3905e5e1e85ce88ac -FixedInputDataByteLen = 51 -FixedInputData = 69106a5c53e6dcb38bc090a14de6629caf491ecab083150674546576887f095e8e407cc6934c06bb9a7ef94e78e03642199c4d -KO = df0f2ed3c201abe79a92b477e1ba6caf4df521185fc65e8fa1bb801a5f50d1c9ae264dbe8956665cca9b2a43c13c099a0ba8a2908a2b60ceca14cc2a0eea05f238b3d1f3940709bec99e1cff686de0ef22fcf8bda72b5edd4397f772d0add2e1f3ac0fafb5bf466b642da08c8407126a7c006a455213c1484af81df3e029e2e327367ca5b6529877eebbb90c1fcfcd1293fe1e1a6db5a18e777a24edc55cd30a3efdc04368442f922506d059443aabb4bfedf2eeded30ab445a92289d7eb119fd842bdf8c21b79bedb6a25c0a93b235b8c77c43f1e9514ffc513be4380a642978837954f85b7065f12e8f3934c81bb79e4bf4e9d7adb78db4f49c6ef8cc2083f587265a0546e59a527f7bfc9819261614e9658460bf3810f002308017fe9e03331866bf54221e3d19225efef - -COUNT=32 -L = 2400 -KI = 01c4fa7db8ecb4898849a8443e65733e2d9b4cac09364621edffc71a -IVlen = 224 -IV = d7f31cbf459a9ca1c316e1dc7fe4c7ad7b52156c2a1950b3bb9c6c75 -FixedInputDataByteLen = 51 -FixedInputData = f7f5af6d73ab0f0e5b3459b09a11e7b91c97c6269617d66e11d991854315cb509e9795c6c7854ba27a394e0180eaba81b951b6 -KO = 43baad6708f104edc592a52876000ece1a1d4a8be420d208bbe664d8cb756e54ac9e33815e78cec811af96ce8929b79355cbe304092dcaad705337590cfb05a38bc241e83c918aa5655dac44f7f809e6f47b6834873ab138e4f7b0625ec7fe8f50d20226a4a898beecce11a73c423c0741f39b4a53cc87c44a4f1d115d59a94f15a07f6e8d8259248a92a0c4d7e9fbfd42aa87f9275405bdf6b91b0fb5f04925ec86ba171819d491063fb28c3d5eb7063b98496b82614ac0b22fbdba2efd7b784241781e58cd72d202799155fedd998f7698c7688ee02531a7b8dd5cfcde363ee472ea7e089e00ecc9b378899add65d43e66280fff06dcb9fc5f2f2e2fbf0e058e0f3812236fa7e7e3fe1fc8a8fe5f6f08ab7397946fabf6a9dd9dbab08ffba17f7611413aa639a355d8ffb9 - -COUNT=33 -L = 2400 -KI = 709a2bcc8fca91c0d27aff3656bd0d029ab7f1a6faac78a5d26eb379 -IVlen = 224 -IV = b91dc9cf8bb0061999e90d8b65023e34cb7b001cd71e2fe0ad0d7891 -FixedInputDataByteLen = 51 -FixedInputData = d0bf5c0b4648935d59175fa74e8b97cc63b47863d534b275dc11821b9cfef17c3b4c15a6dc530138a08d715a1c8f1e7816f57a -KO = c72535ef404fb87a45519bd1dd8a714103bb183f979b71aa7ca8e302033986a0017293dde3c2e9923514d10431b2f254a80b33daa6ffc75e50b8f815d32af8e8fd67d0c7047e28f1b5fc86b0721bd7df8b0228d664b5a27a926f8e6d5ca5c1c0ac55b937f063e3bbefa7f345ed18e6034d704378c0ef24542bc42b362ab11548f3501704d1817208ca3dc74fd7dda32f46a228586b204cb8e3132a630c96f890377c80bf216b429e79bf9b7ce273821b8337fd7940c5e132fac569a33ba4b0dc9f32b88e7d909edd17d5e42070136ebe7fa1854a06d78cb8d45047452527b4d5667584ef6686d418a9398e225c572d594a556bdc638d52658abffc002b4bb5ed6d30f21b6e1643ab80d0a98179d3951931d3a41d83a491b9e07087d79d969eda2934298a9d4828a2a1e7091d - -COUNT=34 -L = 2400 -KI = 7b719e401d274d6e857833830921d9ebf516220cfc70ce9d7d572771 -IVlen = 224 -IV = cebc7e9afd7609a307b3fdf21bd2aeabad9863dd7db4631333cd836c -FixedInputDataByteLen = 51 -FixedInputData = 78291f21d3f0f862712e9ecac47d9de58c2cccafe9537749a85d5bf51aa932a123a56e193e90f58959c076295c0e6e2a1a7577 -KO = 5bd420707dbb6bd72eee1237cb1c4a27de5a13c7b0c8d802acb4bee6863c4651ea83eb04814ed5bc8e151f33361496446af390703be82036aa9e7dbcc6eeddd224263f701f9d8e523e8ce822d1e8ef3442eae26c030c1112133f6ff599675d94d3007b38b34b20e5e4b61aef1c2291961ab33203f4004750cfcdd4a6c8f1fa074b3d6bf281b5701afd7535531405c40b9b20a8bd9faa2c3f81d7a5c2528166e979e3f4efc6c404dd023550ce02d973f3bdd6af795aeff68c4565cc259860eea4ab72f0890ddcc99b0d40f5bc52e9f3d1719556c2ee973fde8da9dbd7d9df6f4c475044a98e954c40784605362f238e772c48d24faf994648f671a8637237398a184face5be94d4acd98e54959ff6c4d4e3de58450e67499af5798127dc40f5cf71fa5dc732b44f23bf9fd66d - -COUNT=35 -L = 2400 -KI = 4b4e7e98b4dea55b77ff6fde8b9ad216bbc04764a0b51262c7a905ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 505583fda0b129d175aab686c77b2d162986cd6cbf58758d358688f055d6f5364359fc9bc82a4004044c34dc234893a4127560 -KO = 22f4f6828941cb5d7c3c212d07f1fd34d43b10c259bf19085ddb6e0dd9d7b18cb0b8ad9fd028e6b804fc749def7c23402f3e69ee8da32e505800158d5b178d4b2639a31f0ba82e4241394b9ae209d8a13c29d3eec50f10baedfc591e797ae4472a826025be70c6189cc0ccea93e9cff5896a11c940089b743903c9f6b0e1c2da78577f983966353a82e635134e1e71a075b3f002763d571db866205d9ef7326a1efe2538c886eabf809d6c11f2b52bdea339f23fd60f689ed6a1c8fe06da00b17461f148b894dce025b6980dc23c60deff619487a718c79c6928e75d68e78d34e9689dd9392c06d59cd35284df015f25d4c3a1ffa4ec833632068954747954cacd377f07ce154e61e8d6e5a29e306cbfb4f3520767c7d946e1f62cba78f0312034411ee9aa3879d6820ccdbc - -COUNT=36 -L = 2400 -KI = 28cb0ff4ea24139823ff381119fcf4b62b946373ba08c35e82d45381 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4483bf9e202858d756e8f47feee67253755eb45902351bcbddc878f1e58dcdbac7760d9f432ca7631a6065c93e4dbe5d8fb650 -KO = 380a492de9af4caf3e45cebebc57917757cd1443a97f6a3436a08cca1962533965f10c325db626355bf785d25ae810ab163a0b9c6381465d2d174979a29807a5ec1affc0c7b200a6e8a0bd91a101544ac85bbf5c96633bada512eb323543b557cad00c7ca77cdcba0546231c0397ef52d80254683a9bcf156a6667a7e930efa9f18af17fd521f8dfb61e05f79bbe0bfe47a127c41ba1b3426054f18d1453de40806ea967425ee4de0fefeb89be834c231e95610a7fd969b55ea642ea97b1d74011cb7405a57799f55d1b709ed26a5932034daa22c771b852c20a5c0f98d7fe20c3dc85bf7d335121eb8e9a55ffc9e51a487cbb89d3952aa2d62a7b1257c6f0aeef62680a340c08b2ea5b925bc796e9ec2e8fe4b4aea38efbcc70acd1f55b0aa851ca554d7e907ecebfb10c89 - -COUNT=37 -L = 2400 -KI = c6638f536e55d3dcdb0b80521a1b1edae0e92d0209a1db6111764738 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fb30675d4e7670843620f17d9a048e24b6e338b7ce13625a32fdc15f69f499af80e869e1ebdffa16d9deccdbd7b3f1a7a01018 -KO = 37a5a5453959a11391a05034584d38e611d3ff45aeb994866016578840fbd552cfe6f9ff111ac70b36c437943507fa7ebfa550de6742dec5c274bf3328a7d6e583173ad164c75cbdc405a8f0f85fa757c2044f0bc83a587cfa183b841746f44abc56cca32c107ad0805430b56046e0177eb5709d6413d9e7fdc200d9459ce93ce4db2971370d834cc13a774b6d20c15b249245b6c377945f51859d3deb2d3399b317e05a973cfc728205d1960fab4f9bd8f7c9ca289fef7aac029e84abe3d513e49ab9b7c9119f56a9f6a8b1b459e6f0e1500170edaf3140cd366dbb13d7320435a364712b9d6c24731ac675739213ef8abd633dfcdef0b2de3661095e48f363eda587f38821fd604b9514bf4907ec5b2ea1a20d027645d981bb5345374cfc1512c2ca6b03403d0358b82290 - -COUNT=38 -L = 2400 -KI = a912d089e5327139da55f9428d21d45fe979b89401f7fd250373f041 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b017f253ad27f8b038936eafcaadc7665de4b372cb540c3c284557eec0faae0fa7391961963e3ac4092f9ef59c379ec23422b -KO = ff5888b24118c9339154a0467128dab683f8639e407573841f7773f1f398fb3746a33d3dc18ddf59ea51067ab8816aa294c16b3fc7a530e2e0a853a2c2a5dd68ca92218e7da3546d23585260130d043cbb175e9155023dcb4bc693fc82a7fab158130945ff696d85ff8f428e57865e9dcc21b733d3189a8ca1757d413b54d7e6a53a57e3746660ec864ec3b6b1d3733fada20691874b05c65fb08bdaae40115f17b5c37bf0237dc4f1d2e7f4a97a4d9dd87acfa919718f24982b49332f31c08dccbac7628c78b161754bab8996e865b3b25757af94ddad3a46202c1671604b6750da50a540272a53507cdd69be77e9acf3800c6f727eb7e492b71b5136a0ceef0b016ee7d80d72a687f57255f4533f5dad8c5a559c9dc8abcab79da5dd054cfd05800941ffb019828f4c1c8e - -COUNT=39 -L = 2400 -KI = a39ae21164279518602e9e3c8aa3de80a745d2a0c17790c482da7ada -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1dc6fbb6e4183d3a335770754bf1a673bc56aaa9557a67891d08ab7fc280272c52b3c1448f34b0f8c2a4955674f6dd6f005afb -KO = c8916df226e6c04eccd161df5cffb1d466cdf38bb4f8a63aa917b962dbd7d0fab4ad3a788193e30f198999e9c5e5c4538647aaa10125f235e42fcf594e9d2309fc5ea67c099040aa7702d2f1e63b8383c32eca791078ff13f724a3429043b7949621bfc88fec056225aaeec80b1a220e0adeb4421b9cc00d56ca87ffcc7bc6c71af4454ea960791641b47938b788dd6da27603be2133b48003bbdd6ed53bd1a75afd65980897a2d59109c2fff3778beb145f6624d6dfb9f5376d5847068c8e1c8b3e11378c902e3413ae60dcc2068dfaf69ac4ea7c702de607244fa6331246da877b1d7fc8450b99259fac31638d8ea8e6aa1ff9f945bd6b6f27e09959fb7d3e3f60af145cb930066c48c1016303e388b3a174c14c02aec205ec6b58bfc293d1b4bd4ff59330055580253355 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 58f6248c3d927174abbdca8e5f621743c4303cc99cdf3ff407062929 -IVlen = 224 -IV = 1fe1bb3f3df46e7858b4575b573c2ef8646c948d1896953aa64c485a -FixedInputDataByteLen = 51 -FixedInputData = be13af7ab28b7445b46253c9bf8c353796c130439f58443b1ab92d0c1e689df17594c4fef67a9c62aadb119305b02d96cc767a -KO = 72e9588e03c473e5f50b321afee28b32daa7e3e46c2d8aaf3af71e777d77fc1a5a881804bb6d67d6c3ad54aebdcd35208003b0dbfab61e4972f7cfbfcbce1e0b - -COUNT=1 -L = 512 -KI = 85427a57ad0ee17ecb46672cf4fc69b4e8c2f94b89e6332c3fb615cb -IVlen = 224 -IV = e92792dba857353d030793d7b0549c46ea48a86d37ade680d659a9ac -FixedInputDataByteLen = 51 -FixedInputData = 6f55f04cf0421a11d5701cde0eb6a5e9c0ad3795f21fb9c782b7c11ea35a9e74f4464409fe7458c394d09943ec1e97fc3b58dc -KO = 8901f352700186eec794bab3bc6aa0c32f0574aad563d31df05bb4ffc47ee2ce70f27318f9fba6ceb48a12e7abe947ffbc42acaba17ef868653fd5e858b10cc5 - -COUNT=2 -L = 512 -KI = 42ddcee55ba6f11e2f4a03a054c805ff55191953e59521ac3ca2f01c -IVlen = 224 -IV = 979fd1fb3c57dd3d94f47b6c762fa688e56dff0648bf1db4abd5310e -FixedInputDataByteLen = 51 -FixedInputData = 80fa1f000973d8083224fa0bedf1b9b2bc6cabbd56e5b2a102e3196ff9fb11e6a4672766271917e3aceec2ba99f857da456ba4 -KO = a027d112fc14975cca4ca7acc94d7b4cd8ae97969c024e3d84a0d2263c0af974a46ab252a77c690b305fed63cc775403abcb26cfb0c7defffa42c31198fb95ed - -COUNT=3 -L = 512 -KI = 06491e1d64f1b5a7493767f5154b7ec29a1ceeb3add2ff7b06eb9b7c -IVlen = 224 -IV = 7c4792ef37318f85bcea92ed6126ec6c15e52b5cf436f1360503ee4f -FixedInputDataByteLen = 51 -FixedInputData = 22a1d0598bc52b87b646eac9adbfacc33deecbb2db6b78f506b664626689603099e674e45fdcbac7ee92ed50a4c5ea67301d89 -KO = 671f32716506781fac726cb8dd7bb5edd065d807409ca19b520f9a3231ef1d0178a7c98520b073477405e8a82dcfe4783781de00c1d70bad388b6d12681e3675 - -COUNT=4 -L = 512 -KI = 305c4a1f08c1fccc3cb4df44c169a5d353da5aa674ef2ec0a1262a94 -IVlen = 224 -IV = 626af9495bf46d3e59bb03a8f47fbc4e122f1cbf7a4a3a6dac90e400 -FixedInputDataByteLen = 51 -FixedInputData = ca6bee6e2c345a3b6696b424c65da55b7a353d0df84b9c9bd90aab59b88f0655094827caf35c4f2caca6a71e4dc70fd3a0483f -KO = cd3a9602a09d37264d48e9233de60e56de2bb7e7d8545c6a4a4ab874ea3a509bff672e5ae6a6b6d96c9874fd025c5b266ee320f8e83207ad39e01256181db26c - -COUNT=5 -L = 512 -KI = 9a5c7b52ed0bff80c1667f9f78b6d721b3c02266ad762d359a2cd65e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9be236db7d8da7e695b4695d84ce136e7aa79ce47d4763e3e793e80e2e4a738a96af103ee499ba228caa94ca1e481cbe7034b8 -KO = 40079247e5a211a281138b75eb4c7c0420953ae06c33954cfb0ccef9f0dc55d4e60227c394576ba7a7e43138afad9d414793a0c1aec03b23f7cf7385c4e998fa - -COUNT=6 -L = 512 -KI = 60f9e1261d4eee6120d0afd0ec866fd396acaff528ccbbef415a9f7c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c00a101a0abc078e7fed8380dbf73fda74da5c9946660ee49ed2df3348b9df81b3a7f7e23a48f998fc130c8922d7e0c73df9a2 -KO = 079f3360216d3fe37aa65a4a83f3e21421880b251a1c5d44cb323f802daafd14fe8d9d683f399130565df8a9864a3b301e1318c5e1938a8e590d4ba7067c5e50 - -COUNT=7 -L = 512 -KI = 45fcbc4c449811b5e1215094db1f949997caef33c13d4c707f71ceb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8a2fb8684266b1ab43eff745a1d6aee9c210eb36cbc8fbda29467b077013741a694036216ca9ac149ed7e2d6b3d1d72f459651 -KO = 93b9f38b7dd42a2d65287b535bcc27a67953dc5994c439b606f50c51549046cc53fc8c672bcf3074f1e6c0bb61dc9da77805e53914d35b2f1712d2f6cbb9209e - -COUNT=8 -L = 512 -KI = 1fae9f6645d1928b3eea046d290cdcc780e06bf255a37758cad3d469 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d092dcbe4afd8b29f257c88f1f35b15784a66c31c8a524b6355b0517f332d09e5852ed3f3d61f38e4db242f1029da98818fa11 -KO = a2e852065c46454cedcfd09012612fe7a28ac1434a8f0b9aacf10b49709878f7244baa4f4a945f5a51cae1453b029142af209c801d5271a11a2abf2dce42cd92 - -COUNT=9 -L = 512 -KI = 31e61eb0602b7e1f7072d008edf848ff343b0a22d8884780a34fc078 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b4658d1f34c0da3f02982c769fac1ae992fd0010093718c407af359be2c8b407533a1c5418573a1f96229102e5ecf8ea09e67 -KO = 6521a314a9a8056f340294212d91c6c50562cffb24a8f86fe3f7126fe7ec089290789af6dc90664da73688fd724425732305ff53f382f29a5d4563a9d797d6df - -COUNT=10 -L = 2048 -KI = 297ab88950696a2dc9a7aa08b1d8042fcfc9fc700598787fa2353485 -IVlen = 224 -IV = 368f5d2868b9087d9be1377fa2fd52c3b51afaf4e87857c14fe7ca1b -FixedInputDataByteLen = 51 -FixedInputData = 733723a03cd42071e4eaa1b8e949c5c9ca2cfa39881c79b15e255e572bdeeb5ae6b113ab31425541c631d4307981837d9934f8 -KO = d27cb568c2ae3946ceb217d8123407e5a12f7e459074891b5ac5b1d85ee3e53635f738185f138ab447c67f09dd523925df1e25e8659a22c7eb08501c970cded466b17fd4f8515044b56b1c09fe4699f46f7fa481095e4fc415bfa5ecffa8c2d7a7ee3b6b89a38b09e64a77529f3b550ba5625763bbae72db4d146df8b5f28acf77e4551711497dd91514566827948e48301cc0a1e14859d41a0bb69be4af98de9f911f354c4750c3a06976ecde4dfce401ba8e16c92a75ceb77a8680db21ec49a1b35b38c07aed8f4edeb22b0fa6df521803e204c22e04d9664b0f5eb4157bcd8bea012cbd0713785c97b8a37164ec740085f493c4df75b0949803c2ec31fd84 - -COUNT=11 -L = 2048 -KI = b2fa0e28727920aed57ee5d9274f4299d7a9fa41eda76b7c30a3ba1b -IVlen = 224 -IV = a55b3afd37b9563d5a2f880b28ac2be1e35c32ba9fb2b7fea536f148 -FixedInputDataByteLen = 51 -FixedInputData = 5a13a5672342574510797de8a009d20acc28071b8be89610fff0d547ac4420c9eafdf58253bfbbf08dbdd1eecaa999f37e5478 -KO = 1ea11ae143def88e4b5aabf9272a06eafa1e2b4ae472406cc0425fe7ce77a81aedbce7929101faab77f55623557985306d89d78f73bf8ca30a5e177d51b860f5177694868e31aaa604564a37374d428a591ed8d39065006e7063dd17de56714c70a0fdcc0e5793d0ec444249c8089bfe0ef3303029bd5eb0715e89aab00e2a4dc1beb57cbafbbd7b8d90324078b40bb36fdd6390e48ad5e4ab5609620690781c962c8513da81395723c50ff1568bf8fc88d5208e5d4e307701b2026cc8752090a8f9b771bb17bd63f1955be6ad6eea7e80ad9a208d8acf0252c61548aa422735dd0400b4eefce3e06159b3633564eaa33c7214dfd9ab6f014b2205086c085090 - -COUNT=12 -L = 2048 -KI = 0110c5fee43d3cec6ba4efe287c8103b946dd79cfdce40b95b62bcea -IVlen = 224 -IV = 4f651ff447b557eaa9f1f982066cba5aabe047b12692aa74b983c8da -FixedInputDataByteLen = 51 -FixedInputData = 9306711c44da6ce1817973e93c1ee3b5c5e3c2c67334211ab985af693ea475459997d17fce910d15e1bc651327e8ff17e5458d -KO = c079a503f0b7fc5d6c324db6be049bc331e4287431a6157906eea126a5ac8f43fbc58f1516c57f179e97378956ae4edd0aef15719a886bf9171aa94d92183f7583918ddeb381b2da91f8a53954f9cf3258f99df89b9162cc4e605590b75c179e6844887ae46b483debb1eb2dc6a1f8bd298211ab37add5f4ffa1d28cddd2e41be1d1095aeae7a7102310cdcca2442038d9f463f451df54a7008086288622ece98f603633e012836e9f8c27a20163739abd7d73dc1f9cfed64590fd9ffbccf3c1857a70df413b28f3885ea578873321f1c5a9990d907df1528d35bcff6b5570003cc02784abbb097fce2b14e09999301a4c7dadb24b32bce45bb100bdae2cf5d3 - -COUNT=13 -L = 2048 -KI = 62388a973f2cce7132a9acf7ae9da2df84f9972803b2edc1182e272f -IVlen = 224 -IV = d12d9cd2de5ff7776649fa43c81f6e0d4d1d29e1eec0851514ec43cf -FixedInputDataByteLen = 51 -FixedInputData = aada129a75f3c47997e18274ec9bd2dd3d05666daef637fe758305099684a83fc9d659933c4c3e1766a4e051f5b7313449b3f2 -KO = 7398e54456c646041f02c6c3dc41e2b858e68c1da6383eef2cea14cac0943a91b65a70d4fa5ce78cd6708f4741e9052eb9a0fed165fd5ee995f493c91c150c21d8b0e1e0b497ed1f4073685f5122d43d8a6f59230618983137cf72a3731f32524e89a1f86cc4e74e8fe8f16200ee82fa3f2abcfe84b12180975d6076c54adea54ca824a9a4206c4663f763218caaf0c1f4117a11aa38de2b68f1dc345338bee0dc561a857434176001f4bd20210194cf9251c85b48c52a173744f8a61bd84160c0feb7398fb2840ddef3081d831ebb120cff11cd13743611850d9fa6d3aedb82aff4e632fc24a7b0e7bbae557fd9512a271b3c92806f895a9bf8c2eb9668b075 - -COUNT=14 -L = 2048 -KI = 618607e0e9d6c55b4b9dab329280f626f74857a1478aeff949e6a39a -IVlen = 224 -IV = f549265d96495f7b330202597910ad2d6e85dd0429cfb09ccfdfc349 -FixedInputDataByteLen = 51 -FixedInputData = 4e8433f970a8031cb260423dc3d3df08b540b643d913d1f7f15bf07e5fd1b66de412c44f4f515f7fce3f558f8bdc8252b6bf8e -KO = 273d67f6aafd29491569f638d21117a132d0bf2a2baea361b19792dffaf9e551cc056a8258a97b8d9544933f2176ee810edb6f5e5356ac834d3acc3d9a7c716bcc0e541d5bebd351b5c5394f306edf6b7eb8bde560e8306b4de9d272ede89fcff24ce29e1d6e1e6ba157061d8135706b495e93472316275f93cb59ad12e0d3662c1a99d1a62df1698c5c2ae89b27687faddc68639781733c3a6ebacd82fd92c1bdf5618418cc8ad26b6b368da9071a82908003754b841e87eee579f654fef117d78c0d062d0cd7ec9fc6cceb180dd62c7fa992b4d423b2ecbc0446bc3ba14cefdf75ac67f7071419abe24514b5443990a750c858d68cf75d64f67e3b13a09168 - -COUNT=15 -L = 2048 -KI = 34f9725b1c8f9013cd8693fa82275fe5c78961a4976fcb306202d685 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 453e2292310cab72f6a46657490347146f6c610feac374f3379195af765220e12294f253fcd06167721dc0ae9b0763a9e105ec -KO = 8523dd33ee4a697c98f3fb2bf6467a90fb12e85de9e66c0d8e3a0704ffa65188bae98b7324411f34c55f71affe067d4a19aa18d5c63e45843819b0101b8a0f20b1d976aff8b48edf3728cb3035a7b21700b698638aa5752985cab3d994143d15edcb6e035aef0970edd607f571c2e3e137e03f416bb84a4a2efcabc1667b9de00c5e59a5f7e18051a84b5fcfc97205f1bbee4687ea5b1b26642dcdd0127fcccbe6b9a6f6277a711313b4a16b8c2eb57444d422968ef06f125059eba6beeb237a077ef68570cd1cd0173a0fd563fe116f3271a0061d281e7956867c1544cc088c1ae0dfd817a14fd1d89e4f505b713b45ee5785213454f4d2ff4c1e8898f55f9c - -COUNT=16 -L = 2048 -KI = 8af1183cc347cfe186836a2ccf4fa770e4bc6f3613582d8a326b7745 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0966f2f3b4f6a6e0684a5762df2f5f60135e0fe8e1d56101a88ee21330a039ef4599df31bd1ee5409cb6010af82be1688c8650 -KO = c55ba0a9280a51de8e61a9dec25e50368e89135431d58f77b14c78444aafd728b8a46da7365f4fca37d9dcccfe174426e4d766db129dd6989a85cbf59c54a928f36d62fccd374758d740e18564499b7ff388f57abedac4496265127bb66e3f0648830c249a9c90928056c4f1fdbf8dc5f29e2300297923ed81a2615c45b47f9c5e22a8e64e7e736b0a514134421d950ae4c9a25d4b041c6bd6ebebc5fd8b81befde6bfba10ec6d689f70f10326bfab85b10c34ad65ec38a031aa12542dea2cb8d40620313029087b91981f139ae7a511feae63946959968bd8ecdb36c8cdcd9f918c4e51f0062c871d6ba6af59b39074500c85b6dbccb244da585e1decc6fa35 - -COUNT=17 -L = 2048 -KI = b8e497b004ad866bd8711286a4843d1b365da057ca785e17edc10393 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d7312c106023a52f0de871feb115a97d61e4d11727c2335b144a369f448db2e2a1c87812ba8ea1b83e7654a56305ae1f7d6897 -KO = e5b0c7f097f9673704a57c12030070cd1674550020020a919981c1d5a0d7e6314a0a97dff43330152e8c9b36e427f79b4027b1317123321a6e72632a48250238e63b07a1e783124ebce76b0b9d840f9d5ad77d73b2e839d0159f76914a3e77978b99b5380704c93491a2e0cb4777f7b746b0ec038016da8b8e6a68ce974977df9382a887bbdf9f081237b450012217271457115f05148c9492149f3c5f79e3862d544eed818d9ec364c4db390717dbfd8bcb6d9b6c7bea249b4ddc9e464bf91dce9a01b2d8926cf018ce45881799f3afabc17dd45aae97514434b397a28c3c5118cf3bcb9bc6dab2ba704a32db0f1913d35e8584ee363748b36550d8448b01aa - -COUNT=18 -L = 2048 -KI = 66ce9424f59437d4c99f6cb158cbb0c033eb8b3e035c1ff4c5aa879f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49eee448b9e81ec7ccc1b5f3743be944c032c8634a2a52472cb72137ae66c989b035a8ea5c418ff205ab4da5a02014a442f252 -KO = fc5240008e6a55db53330c6ba78ad305f3e854f70090bb9f3c5b4d2c17f81e4f1404f03b7d81a492ae3b93f39b86ff9c021f8fe4286cda5a9b64a5ac71ec69883284e59683adc12009728e89ac08041624efdbe78c1f5d35b9479fd92b82a44b43b2a769d6cf75be5e10bb047db3df16719dc74bd6423315a2dd41c11a33d55f92f39e7745dd0b6efa9230ec7265f98c26881d2b095c5bd419a30c62acb521b92bb3731359f532afb24dfb5ee69c775852aca4a7cb1bd8e8d938fadc757e7389355c4fc8ee66c413354c0c993228693ebd76e276378619e8466b74496c705b07183fb338561c82e9bcaf52317c52232616ae5bfcdb773a1ca66f690aa2888ff0 - -COUNT=19 -L = 2048 -KI = 5d54e76ad22bfaace9d50635240f202e8af6acc55753905e617bc679 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0956a878162cf647b8a620848aded47121ba0df1867edca2c9e1ba080a54a684925d75bd6cd8f137dcb9339b9803c9860ae00 -KO = 985b1f773723bf9e31125ce8f0c76f788f8d9aafec32348472e5a63d79a9b16890b9cf282f6cf7113fb2c1fa2c3a8c2ad9a57d9fa88875ac61e8247eb8d94372eab8fa5faf66de9d755279b50f9450ee2aec8486ff67b90aa19911c9b52606bd73cf75c5dd2c97c09ca38e63547f7aea9cbe4b9ea0c48c2d0e56761302df74d9c8c15e1ed53e2ebb43e36d18a53cc8fae77bf9c6174413f80f887e0377bb948e148e2d54102e5e14ad77298f0da302a485757ea5805474f2a9e1f2af47bd591af7070d3729ba5bf6d0ec71ccea99fc1e908576889cd765a9f3f40eb63e3dbe8c313713bd848adfdb77bdb692b233292975e33f763cd2b87785cd6cfe93cc4e23 - -COUNT=20 -L = 560 -KI = 23cc88a77a38446703648bb70756c62be8baa11c9cfcb763b105194f -IVlen = 224 -IV = 2e9b9f817f9195cc479a6560f0b30a347d0c7e8f0c73988d432ea52a -FixedInputDataByteLen = 51 -FixedInputData = 75516f6666b45cf36b5ec1a928a79cf774ceab353a5165097742e8260110c8568dae4861b2d9e2625a5f6fbbde8d692742b410 -KO = 2ba3c9a12540a4f380f1a497f90a92cd7338b58abb755d2e28ab748b55ba80f0355669c15e08514734e348b2e2aaf571fbc96f30063eaf93fc3409eba2adb727549b36766612 - -COUNT=21 -L = 560 -KI = e27e5b59dc5d346f37898b9ebf08f20896a0c6acb33de734e9dc8ae1 -IVlen = 224 -IV = 70f281e2182b7a84c63f3523bc5d68b950ef468342b73a0ff59023fa -FixedInputDataByteLen = 51 -FixedInputData = c5e1bc61d5eb432cdfe1c9353124058aa4fd036283b79de2f9d5c979fbf10148333b10fea4a2f68ae5679a4283620eb4518571 -KO = a7cb96081a1f016fca913e55bce7be03e873febdc0d3dd71f4d305d89a135656be306f70018b570466bb45cce30bd7600ed8cd3a823c6fab49f794134170815d7a2fbe665f87 - -COUNT=22 -L = 560 -KI = e433129eadd36a83703f1f372850380f86051eaa31260fb17811f1b6 -IVlen = 224 -IV = 28c3c12fcd1dab5b8c6abc4dd89d6b19c595d3e993836f814a9d65a4 -FixedInputDataByteLen = 51 -FixedInputData = c21c61f646534ba27f9bab706848a7226e4161d6ab429bfed74e706f20525982a73448a7dc9e3c1640ce4921713330fb8b5cc3 -KO = 1095b3071431daba98048900fbcd1dbcda64d7f04509557fe90687584860d3deba72ce91389e73e2e710042a50535b1f8e99ffa1f3251d7685d14998c54d9dfd10a1136a43f7 - -COUNT=23 -L = 560 -KI = c226764c919cc53a6d633f5d68066ca946040f014e0fa6244c24e896 -IVlen = 224 -IV = 01fa3ab4e07c27f2168ec6da6367d703cf06bbf0cbcfe93074246d71 -FixedInputDataByteLen = 51 -FixedInputData = a5bfb916974fa947de3a4e8a0af5ef3f422936976e20d58492fe18b58e52cd3c50f50e46d66993e5d8806358fd7d76b2e1fded -KO = cc3243e8ccf1858c8f35e12e6fa746e0b6980c355cb84770531eb28c094ca5fe516031c2b12eccbb82ce0102695a417faaeadef34fcda962c4169e98037d6a4b279d9e426979 - -COUNT=24 -L = 560 -KI = 94ce6e463f3b4fdb562300adeb9068636c24855bc79433b6fc0dc5e2 -IVlen = 224 -IV = 4a1a9c70eec5bcc28d6edea36f7b90f8020ffd07e072956f323fc982 -FixedInputDataByteLen = 51 -FixedInputData = 0fb74cea5de9ae2689ae5b593b6d3875a75deb649638604a2c73111481117db1362935ec85398d815457d888ea27ebc9be1440 -KO = 884607e7f9489671c3a920d90708679a7385ff3052e1c4b2c265444965bd9e871e3b30e3fab77b12979d62306cc3013c39570b316ba87f9aa00f9c53929bd83d40427d68d635 - -COUNT=25 -L = 560 -KI = bc353844e11e6109a35ee42ab533a7401f0ffc5152d151902ff21a01 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24fe79d6d6267e0bb6563fa31a970eb404d065a15714f08a1a6268eeeb894fc997799f47be2b3ae3b253d8af4675ea273d6f40 -KO = f3a2b90f9cdae0d929fa8a25352a154c1f16d82007ebdf3d6de4a6c8497361036673293dcb652639cec0805ef79e906b9c30b562f6cc92dd4038b2fd8cc51592154fec657a5b - -COUNT=26 -L = 560 -KI = 993f4593a4c3ab1b3db431495427a3b493e2831f8a00abd0c4a4b44b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b78ec19351b1ed3a988e73959dbf459900710bc181ca51db99dd59549a2dd03d07f3877d34902b112c21f3a5c123b442f4b1b -KO = 004ddc2793a45b5f2a8ee56044a1fb146e1e5589d226926347a3bded5b029149c44dd6f11a6e0cdcf55a4b2a00ff93bc0080fed7c9323b1911eb77fe9bd8ca8aeb50615b8617 - -COUNT=27 -L = 560 -KI = f491d2b963ecf1f411d69ea210e01aa030e4662a881bc1afdf18537e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = faabcdca2ccb5b3869b5e7161887d2bf69aacdd513ee4dda75c82fd00c81a74b2294ae71dba9a7382c7fd98930b72bffa493a0 -KO = 391b0fdb5754acd294b13251efce3de1a72b79b1486952334b3164c161da1bb92c9746f1016aaf3e7d4b14b5ef84108dcc101debe57b289ed0699d53210be6972b41472988b1 - -COUNT=28 -L = 560 -KI = 05c0c7272d3a06a1f31b7e209ba953ab095d1618b7fc45c134d1cb54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cef17a57a1500a0a3d91717142170525bed9e6ae33023f101817475b8daf3d3d695fabab7dc0239468916768a3e3259972c4dd -KO = e2d53d7f4e27a36372be8e77a60fb48b23b8145cb811eb994e27238f5b37a295a0dfac3f28387823ef4e6a5c3f99295f67fe4c2dcd235e395a608e27926456644252c68308d2 - -COUNT=29 -L = 560 -KI = 433833d14d2c366b227aedd5515c2cb04282fd73b848bf15fa7147e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b0683f62237aaba32e6694df81659181ab1291933c87760bc49d58717ecdc93c1c14db8e52aff7e0c696b51e1a9f25ba2555be -KO = f4c570bae232e67b7b66ccb58c0683e0e2ae13bcb24f56e0d9bbec3652b29b3b7acb06fb96653e4de0bf3e4095a8be4e3985be7fc35a6d2bf437f2c5dfddad6b086921418f5a - -COUNT=30 -L = 2400 -KI = dbde9fba2b73ea52d9f8ae91bf34e4deaa53b8efd92d08dd2ca18077 -IVlen = 224 -IV = 4466a105f8f6dafd3e285a906f9b1fd236d536aab796e54334506609 -FixedInputDataByteLen = 51 -FixedInputData = 6486b4e80edeb637858fc681eac2c49b51b06a7b007eb63f0adbbb4ae512ec77c567fef35c134d6666872ecf40f37674ec8bb8 -KO = f2e7859a41bd436328c2d3330af049a606f85b44ab323b2c8b64702ba881c2af1b878476304be6ffb913561955fb6d5786981e52c44065023807a094b19a8279adaa7bf077ad5dc9e249367df144290d58938237d857fc8a9781c861a7a78829a9b27b100e69d2616957866c2360c44e9e378aedc039fdac847a345e8923ee36c7224f1489f74e59c9f3766f463d6d02bc3c0b5f981860956173059d8afecdb691bdca947165b87259ffd5c6757bca19f160b86a81e958ada1912194ec678bc70e4bc2ee30ef0cfd039d2dbeffac52e586ed1669fa25de185ef66c1fe72cc78efe3f2231ca32a137a38b7eb2b242dd402a2d4c4f534922fc0eafc7b5873bdd00a9a99461871dba519a84ce6fe152b1c55cf957a6408fd236302389e07c0d9ea293f544f255a8f5706699173b - -COUNT=31 -L = 2400 -KI = 6ab2e2bebd119fd28dfc4b45bc952d1802772f55ad55d92f900efbf0 -IVlen = 224 -IV = beb5dd8664e8352f9690c0aeb18f5e60c085db3676926eeb6161ca01 -FixedInputDataByteLen = 51 -FixedInputData = 03ec118cfd7caf2b8f33bb6981b2a245b4f5521aa70ea1283a7da6f380b2709a37d73c5e4be61403c5f01c773d46607d04915b -KO = 66836e9f0ff9415cce35779924f76d66a24445e4a2cffe290d3887dbeda6b1a1a36da0fe96049550fc508f2e46502b8fa6fc37e2f341b6c8fe5cc620d015ec2cf5cc0b4736457f32bc594a72af0bc40fe32d84d42bebeed5a2856d6562d4dcf36d44da4def6a530d5176afbeacca9196c0b3a1b819021ae9fccee564f3a3048f0acdafc1381fb48f6e1166ac7e32df858ea305e663c25ebc7b10c7acc7ff730a0c40ac87969532965713e02b91387799e271d83e3b4a05e2cc80b441043878ddfd82ac98427810608baf6a8a810dfcb2255bd45249b3b4b8da338ebe82d0cc84603f491629a039b2309080a1d9c5686b6a0c0446d3f6eb4abb5c8adf85d80ff413293625e0265945190b3cd7f19e658016d08217caef8c20e8c5cdf2d1473cc3363f178549014d42602acc5d - -COUNT=32 -L = 2400 -KI = 9cc8d4f05d1c28777ebd56cf7eb9c99ee8418e714bcf24b43b779ead -IVlen = 224 -IV = 7ad2c3daedff29511692cb9c920d8a3eba50b03899b5f99db34f3532 -FixedInputDataByteLen = 51 -FixedInputData = b7ce81e76e29dc2758fcabe3ca1a44ec9db3d54c807f2e0a2756b651dc04a4c056c6ab2bcdbf00dd3fdc36077568ee768d6be2 -KO = ea150cf3ea6e0f3d2a83d5ec0ed54c33ac7183364f4753d8b19e567b01b20718d3d127e2ac25d459b23b4b9dfb27330a6ec39c3767891fa8cdff7b8f4b6bf63056c20ec6c225f80bd31948d925e40a07a7909e3b36f4b2f732314efaeacf019a5e1a6c5bce53daae799d54b262bc27b3fae4d4d40b3c92d1bde8f6bc91bbba16b689f5a9c15d88d8db26f2d7034607a7333119b447166c6ba4a722f0bbf7825982dd1f65144514f888af74e115cc866c577a9bf2ea82c555d2c0ddd9924c624ea8f896befe2ac1012f24b0cd1376d064ea2d79c2e9ea07bc37d1e2cd9c83867033846b03ba61b472411d4bd0714c05368dba0b7803c8ac5f6a51b9706d2bad458ff3e183fba2c6df1e00d5baee556ffc5a4edc96a4845a8c24d7206406c184cce9311a82188edba3f3932584 - -COUNT=33 -L = 2400 -KI = 38394266f92e21516785fd72acd0249073e6f428ddfef6af248b2f7a -IVlen = 224 -IV = 5bdcf3c2b1b9f21c31217cb2d15323f33b2fb1580de770a3d8a58dc2 -FixedInputDataByteLen = 51 -FixedInputData = ca17daa24f7f64e6bd7fd970acbb20bf7db62bcfd8fe760f80235cf66262d047c67b36ba052d3c5eecb8b7aa262b20ead376d8 -KO = 897a5affa3cae33d0e89d1455d9dd653fb5af7a51bc53d8e6f6226df9995f2ad6501289a8a7df852b4e886ff45dab06023898335c156dfd4f6ffae8df60b4ec0857958bb4a7dc9363f0522d6f805ffb7bcbedfefd4d0a916e3cb40ff93d20dbdeae4ae92fc1f39ed4bf3e6921a89896cdee9cdec832c718d5fe6c6ae411a4a4834e99928bb9ae8630a516599eb20e3d76fe6aa81c5685f79bb0949137d91e142092c9c851a205715c13d65743fe9ca1d39e746c10b1c8e3d5a626507e02eb0e0d038e0d0c635f90774bb3c7afd8d7308d8815d6367d0a7c62bd3fbd1b0fde88ab8f398b7f4bdc941152b7a4cfe4a858ef42ea4da94b3d8bb3576bbc7f731b06d4b9fe4fff84ec8ae8557da356984ee8239b8825bc96fb035b0f260c2ab0d6fc7bdb61ed95afe33ac6ab0ca02 - -COUNT=34 -L = 2400 -KI = 1c6a56903801e63b4911bce58e1b6fa57f9dd3689997d590656d74b5 -IVlen = 224 -IV = 332f76172d59f7d2a03027fcc360b64147bc9907d854e69c18a23ac3 -FixedInputDataByteLen = 51 -FixedInputData = 93f3cf256ca57eba0cb773318adfea3229327959f25239553a5d185af520b55e63816d9ab1eb7c5a5e9dcaf48839cd9abd6346 -KO = bfd4e9fc24ff1850d06ff842844c5a53ee8b579748965cb2c5a20218f45f03677ce6e0f892100230cb4994a97567ce66c7d72d1112b470d4fc7d6efd93309bae1dde19e42164bc9ad8ea2b4b68e743a6f5997c7f8db6607fa1b9219be05a2a36bc5b8bc5d6b14a677852bff9842bfe89e0ae566735f0fcb0352df685c5ea8c23dbc10ebfbc10d72c1e828f45d9fe61a815edc58dd4f2c44127e636a62f3efc72e653e13063974404b1a04c6e3dbbaf649074f37f4bf9ff58564ad166fbe6de7338e9c991da81ce27b0ce82705e6f16572a1c9c7de2f8bff5ca13a73b2a75a186a5c6f29fae58a41314c426086bfa2be704ceac703b5b028b67ca7494c216e23835081933aca80cb45f7281f44f36abdd1deac5eacdb5b30519ccddf157a1d306f4c9a0b3dc1bead6692c26e3 - -COUNT=35 -L = 2400 -KI = 89fe8d616294fc315c57d3daea576012b6d2fc98bfa8d25aeaf13e85 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 936855eaf6846f7a8c1af4a1f71b5c97e805c76d630590b7755b176fb9de41904166e95304bec1bd96d53b200ff986c282006c -KO = c259c5827dd1eafaffa3bf9cb1876872adc54a7cfbf2cc66697588b54545329ab9dd6ac178095b0c153cf905be973f8527d91febebae18fcf18f9fda794a283b83bb8398f18d724bf367cc8ce293476abdbbd8cc9266ce32aa85b56d90abe6855683ebd190ec4bb5fe4d5ffab9deb6084aae1530c1b89d6ac97d90a66146a86d704b5c00c5ef0abe1545f7e5745586bed4d89a0ca2ad310f68c882a1389423365b12f700dee324c221b39107b272b01092dad0253d173b93f2e4f3fb95f317d9b2e51f2cdc23254883ae8d7a011a8fc84ea57e54cd59e67e965be44591bb867d888df4dfcf91bed1f05fa7cc27b7afed7400695b239871de40289ef124649c26feee95506a11a28083962d9d2d6e7310fe0618f9d3fa91016533bc7ad44a83b612796c6581a38222511f069f - -COUNT=36 -L = 2400 -KI = 7a5c507bb51d78e46c1fc68359ede78b75ab901efb2d8f41588d54bd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85b401d4a2a6f4b2ec41fc689815f681edf38cf75ca56c1257106612a06a7943c1352a79f09fdea20c8838f481d27f9d7c621b -KO = ef161d32ff9c1fccdc65f9f6a4ea601c25567be0e4badb4fd2336531d6a954a7f60a4c0555be62419bd091c321aabbe56b0271d2f0be9117d8022de1aa1f95244be2275ad6e2db9a6bfe6f340640ab71f523cf5880e560437c5318e6e3a310d26fff74e538a255c39f453020b4debda1bdf407dfa0b6fac35d7a16e77fb3998aef4b3b56816b8b162b8766f991d274e9f6e56aa176bff3a691639cc331762bf425cc9f9141cf25be48ba899893c047a1e8dd84ff2f4fb8dd9eb87e63ca7301015c559b61436aa88dbbba884ff85dd02906ee46efd15de949a3e9159a4ced7403d039d97bdc696da137725330ba4c41a8bfa957efdf717c0d2cb7f6af7c1e5f35354c6f4672838c254ef5577fa8040e629471c0bc782579d6f878af96828c43b113e4964390e81af15e168f78 - -COUNT=37 -L = 2400 -KI = e414ee704010a60e56b8195e472ceadb8a596881ee3d5d76c977fb7e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c7df7e44b31a2be18eeb90bc2fcdbc1611364c3a08f2d8933d6ef29ed2c5a4783dc2ec1ca78df33d89a1770fa78288d926bf5 -KO = a34e37d82c6be5510bd5270a1625fd7c2f7cf873a0648a98d18c7b783b9039f3536e160f3d102b1cc74a549ded9ef63564b4de4273922ddcda4596c32f6e97973a0993553e6cd056cdd34b8a98e3cdcd0ab63b9c7dd31ee5d4da343adf4c7f09fa0d0f87fd867ee1cdb9be6e518ed248e5ec416e95f9f338f93ee2fbd7c3ef1bf826aedeef861d75ee38a1a5290b2573aa4eeb2d115614e903185dd626e4d0fc1b71d01b11db1ed3afb29f6d32a9d66cd98bb9612ad49eb25c405ba7dbfad71252f4edfe52be6693004c705cc5d0c895a5db642185044f2722dfc5b3a67539b480e3e9c7b18e5873a9710931eda3b37a8a301a846fe04f6b4362976ccd122ae19604550957c101e38e47de6599f4d79e30b3456719fdbf673852a1410cb24ff8c6af2872a2198686ea6deb4e - -COUNT=38 -L = 2400 -KI = 7ab4c3bd54c3e5af1e6d6c5b08c022a6284c81ab3854568da81be157 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a9640a997abe2ab4222530e8f5dd3f1a54d1ecca9cef61daf230af1dfbdc4e29ad3309edae5a020f3811aa905773ad6a281911 -KO = 1a6a28c86d276f308be545018573b9e7c7d0d462135024fe094a7fcbfabef1e777cd2cefd4ab90ab60d5f9ce47b7af684564f53ad5abf2409039f86d2bf7744fb51a00b1cc04be7694d23202c4027068835df9397c45a0bace7978752278a26b6647451a36ddbe2f59787571f9e4a873935d8e856b9a120912e8868196d3fb9e651b9098ebec4fa1ac5f2351d693e51c31b3d3e8344ca780d654462e87ffa4102590cd8cd16b0ca8d7d6a4b5eed7358f82ffda993d1096d6d98dccd1708139f9faf1cc4d6d156c276f2f1bd7d3fe5c32f73168e030cd94ff8e74ceb5b9c6a49ef7d2eea570f9f5ad9518a270c022d817809f0d9c365f999f3c180c66c4669f52df5f3809cc42b0a1d771848919331b50daebbf25c5a539a81e5100030cc01a8b61af556cbaf2fe488b984e30 - -COUNT=39 -L = 2400 -KI = 6d196982995e6064b87cce41938a6587b09f6d373effa84c8bfd0a1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 079b4fcf2feebd637f2a7b5e10e43dc150866b59482e46d69d11c58a61995b2ecbb8b0975300bdc950c037e5f92140e17a6247 -KO = c23996581e794d02471ae0540fd9b27f591fa655eb090e0b7fcba4a593c69564eb4fe48b5c75852f3f35104be9aac9e0ba7bb698cd1eac61552e06a3a39f7b5fb7f2edda508915a8c666fd8b7c963502b39dcb46c535df25101b5f0aa49efc6ca2557a3a1177d3bfb2a2ebc3df531af2418bc804288985e33a306e9b30248aaa46da4c13271725a3aae2ef8c4052f73c06e492cd6ff713cfe9ef8070e2e55b2838e813afeb8f4e27f87dbafffa2f87fb4a110a4e51ad2f2fabd11887d446ddc4289490c2473885d384e0d6082e303833739787b2a49bca00ecc23e5ee0e3e58cdbca8acfb6ab93f578dfe6531c7d7335dec62030bc96f229db0bb20b133330c9d6fbccbddf79c371c07529b2e872079e00f11d58d5ce8caa8980022e6d89489404af0ed470aa8c57f1b6355c - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 40a3a487e89d678e1e216448f4231144b67ac0c445354cd4b0d48e94 -IVlen = 224 -IV = 32365b230973321738797b4d164590209c25bac90089aa0ae7b5f971 -FixedInputDataByteLen = 51 -FixedInputData = 45eee22aac0ee5899a5f9db17d782060964a73faf673176b3536d90f37104b28eccd4a86e19cf9e46cdb66a0e87995bf4c0a4e -KO = 3d216643561a66ae212a0a8667e8547d02856229279ec19769ed48db77e565cec74c233aa43451392332234b180d0ce0a0e2d9f5431dac3249b3e941c94d4dd0 - -COUNT=1 -L = 512 -KI = eed6ccc3c5394fe6ed67cc41a958f3d06fe78a953bfa60b127629dcd -IVlen = 224 -IV = 4fd90b7e8fe68b63fcac0922c350c035a5ee1bd6e8cd035ec2ae63cc -FixedInputDataByteLen = 51 -FixedInputData = 13e1b1bd49647cc0cfe8fd5780d5ff6051e36a87321fe18806171e55775e94cdc2dd470f7a3a9fa9a35bd4ad806b14d3422cf0 -KO = 5d35a162373eedd70b2232b26326324efbb15c22a483bd04bb1f830ce84840be12d50643d2fbbd918c59c02e00a3896ad907999163a724c381752bdc39d716a7 - -COUNT=2 -L = 512 -KI = 5dcfd3e3577fc645ff62ca22328b5d8dff3d464d728c68e3201abcae -IVlen = 224 -IV = 1b5d8160ce6238c521a6af8f072b012ff8ef8781b10eded05e8b24a7 -FixedInputDataByteLen = 51 -FixedInputData = 198949302460f225b3e0dc2408cbbc43589bd51cff0b44268f271b74caeab80dfa5c9d0cb3b225b36c7340f660fa854b7a00fc -KO = 9c2359af82216d563fec4b1f745603e3e533bcdd5cf275bc578a882acad2893b80d84b6fd5e018c05847a4ab0c040f628e58498d455b1e7423f4bfe235abf183 - -COUNT=3 -L = 512 -KI = 4d2e8277a5d4c2e2360a69c585385fdf63cbf1c9d188c5f856783161 -IVlen = 224 -IV = 5a3a2755f8bd2b752b98fefdfbf9ba50d90abdc085a6d63caec626d9 -FixedInputDataByteLen = 51 -FixedInputData = dd0ec75ef16631c460647f41b73babc565579cfb993f4e4fa27de3dd4173affd2d0012b57dc32ad9751fcfe607bc4e70267972 -KO = 00af663e348f51bb25c3f124ceed169d9a6d08e50f40fd73c62333252cc76af254a771454e7ca6d2a48c62d10395b3fe648652477e1e59a60ee6cee7f267a122 - -COUNT=4 -L = 512 -KI = e217beb97885f4c57393fdf680324bb6f00212fe3cce105b13d1f870 -IVlen = 224 -IV = 6a63da3817a3c80ef7272f2113a9b53c236681e679a52f7eb9b29d66 -FixedInputDataByteLen = 51 -FixedInputData = 4e3e3cb58d33b5beebbc5f6b0cdca44e1681b045b379470e8ab2791ce763550e37227a520da5bea00c558a800321204006dcad -KO = 6069a444e09d818b2f914fff82b4f32ebcd226b325c8d36fa73eb47e6b788cf599beadc165124fc2fd9d800c941ec08544e8944d1c1da9c441a5d210250b8548 - -COUNT=5 -L = 512 -KI = f3c75bb049a655a0ce698c623ce6fb81617fb1de39e5fd7c0aadc39d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 639b2a29b0d1d172590b08a9a8a2f680ba6c9edc97ebbdcb4f09f3d826975c4ac9efdd3ef20e45975256bbbe27b5e8beec0b3f -KO = c222919e54648467ff5f4dc036779a8b01c3c087dbd47788240af6709daf69ac425bfa5ec4b68b78ad6bdcfe4c569c672ffcc7a8de22b7eb9e03d6679d3a5a49 - -COUNT=6 -L = 512 -KI = b7a8ce8ca8e747685b7246f6e740c16f2dacaedb15c5d224cba1c27d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 62da1b70fccab8ad38edc50429913dd0c385f2ae5fc9d6dd3d994a1eea18128844423532bd3ebf952f3aa3baf79dd70e16f0da -KO = 8b5638cf680f96cd061d6e515c388a7b6a68469b19590fa86dd18948ecf893f0c6b7eecf69b72bce469ebccf001b2571f04813f9745daa77234764eecce2d8d3 - -COUNT=7 -L = 512 -KI = f39b197ef88af8147920bb0e5804ae966a7816d80d946f1063d0a445 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20570b06482bfdb44bc073131a658d71e852f8dae87a2b13980f3f8be58dde27ba9a34093c39eaf79b2408972727d07ac3616d -KO = 344a2f8fd9cfb16cc8cdf8ae07455b9d74eef35049d1413e61e932063b1b59fafcd93ea4980a02d5fbaeb541e60ee63d3d7406784343325b12cf4bc5616b504c - -COUNT=8 -L = 512 -KI = 9c58f08a6a4973bb59b84afbfcbee5e7ffe520299aa26cc665258667 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 71203c3254b9a82927a3913db2e054f2c3a19bf8644d6ddc8b81e5a4ea04e64feadc4d7713ecd9a152aa6cf421ae0d13c8bc82 -KO = ff09eb38af4ef4b0ef23e2a635df77ef3e5611d237efb296a7bbd57139444e2bbc28d2f653b8c2576a189801304d0b16057a150d68c2ce65fa3c82d1306527e0 - -COUNT=9 -L = 512 -KI = 1b67cb55db2447bd79f86f8e0c47c83420164b860305ecbb892e2459 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c435c4686220ab7596f26d270785278076ac2d4e8031351af62914bd602898e48cd1be4a1a70031476dcb604a2f9e0d0b17f65 -KO = 4cbe16edad2f30a4c2ed6480259e4cfbe130993a4e985884674df0e939eec363f203d6f08845c4feb2395df26ef3266bc3a1687f020d5ce46d4625cf48cb0beb - -COUNT=10 -L = 2048 -KI = a5624d5e57b76bbf4faba44ce96e2f2f8faabce7a4d2113edce17f05 -IVlen = 224 -IV = d7e5204ccc468a228c33990442e4bf9e0b77b6375b58e39ccc23a757 -FixedInputDataByteLen = 51 -FixedInputData = 694f1d833b260febdb9e3f1164edfb75252032afbe282ead05018136da7a233c72a7ad0f659517c877beb77f2dd61c61e48781 -KO = bbc895278be8daf378113683c04df3ebfa9809f253cd996d69c9918e980affc6aec612431b2189d292db91ee6c1da314a256398e7564455482b54a47d39216757ac5d1becb0f23b864cb49d84d7ccb9e1ee00437dbb6161273ae0616c4243076d8c8dfa638ac4704e31c642d7553448e2643e215856f6169272eb41bf47fc1188bb6aebaa5e9bb9728161e1820bb346ec9e9b2126cdac6257ebb4aa0d3220a7c1144ea0e2e9c970c6086dea7a36d2e3b955f2b77b2ba4e2e353062ef02880a54c0944b683e9088d32f2175c15b91b37e65fb73198f6bc04860e438c016b91bf5d4ad278210718e2b1b686a2e5d0dadcc104cb5912d3cd787c1fe5560b67a9f1e - -COUNT=11 -L = 2048 -KI = 42a76f7854e87f831916d3d6abb936c629917650c85fb5026b06ea98 -IVlen = 224 -IV = 73ae7236e183eddb47d9088995b8b5df8f8d2f3b01e8f20a591cbead -FixedInputDataByteLen = 51 -FixedInputData = a510cca8cebcaf3ea17ab33c55f12765fb61d1d2d8e54857b5475b8b192b0869db4394bf985a208f8ee068890b9aeeb73f8117 -KO = d4104e33bd44be355014aab20fb246e6c1f1e4c37d041ab3e86f15405bbaa4e1cdb4aa1daccf0e9a99b6f1228b099ee2e90f3242b775941f2dab7c4f723b86deca98c5e99f5d64cf297443abbc4761c314baeb191874553d465e315c2e481a14c13bda5fca8a0d40badfb2a1ec69631e54ee53cc909f10f0cc92a689649d9886971abeb69bf54369f674ec913d29e48ea0e47b0635e36faa512b55a1b7e1997e4a6aee4d33ab3482cec81abc9403c585c6106adba44ce3101511b8886690cfd90c52118823e1942fbcd36207be00b36c2293c5d656b923e138a6cace62f16cddd962e885e0841443783d489381df304ef901dd154dd4b64fc2b460d2c5103ac4 - -COUNT=12 -L = 2048 -KI = ae7712189f5244e5b2d33a2f5f44e1645cf76ea91294110b2e4d9416 -IVlen = 224 -IV = c943f50508afbfa3c3c011fc0e76b483de17322cf30a3a264cc8032d -FixedInputDataByteLen = 51 -FixedInputData = ba38539d67442d9fba30a6b07a220e367cd99b1e37668921f319dc1fc0a0db5e99db8f892cadcf6d732d827a208816647dd7d2 -KO = 3894e78ed0c3b8294ad9d3699f2b71d26abcb5a2be88928ef0c5405ff9323f3ff19c768756c014e0c5bc92adb9617a7f8fdbc0446c4ed0e8c56761273fcb351ba21c005f2de70f9225a13bbf4398680d1a034779bcc1467bb59136a2716f050f5019602faeb320dea2ec3dda106f1f2e82d10283d0a4afbc6662fad629d18ff76f984262ba41dab7985ab5254736bc68eb98a01d859e29cd048a3fbeca079562b5499aeeda74c786367da883a727deebb52a6ccf1edb316ff5235dd0db418f2b206024993faaaab6201ad31ccc2e3c400849bfaf68627719d131163212d75454467ff0f1966cc718239c8817e3cfd5e87551b630a385230dd03b8455398dbf6d - -COUNT=13 -L = 2048 -KI = d5933af9ef04f39dd39867ecf1a39b966a25886be6769f99eebd494f -IVlen = 224 -IV = 59211534ad74434d6654bdc521980654e6b5557ce7f288455df84b23 -FixedInputDataByteLen = 51 -FixedInputData = b5cbab6e9d9ce69c4d18c08f83f9033199951a36d396f4dbe91e7b93f0dd419187b4e4fd7c7f9e53a387e2d92f3779f968f4d5 -KO = 32ef5ba62f21b61ddebf0311b5111f182fde88208bdf1bfd95e67d97f7703491be7baf0d543cc64ecffcc785f4ac72028f647a256703d70565c742f40e641faaeb0c1b84f23fafb73a35ff37ce2338e8bc0c2f6f444e3c9d3b2925aec2b5c0456b91e995fb0e07d7205b6f0e440615f2c740363659ea6054abbcbd74aedcdec3875f5a3a3ec00a3da0c20fcdabbbb894b2ec74f9806a86775a62bd14449bf2301245d99cc739a638e8028686c23a6cada10adbb5519a44a67b194143fe8352fcf428bbdf246c75ffa125125b6f67eb45e4d5c5ab474a0ced080b3022146dbe1a732a0e552d866f77f31f0e61e6bf2166a6b9dbb9d25cbf85fbd1ace14ac8d562 - -COUNT=14 -L = 2048 -KI = 0c208acb8c99c77c8e4060d109e880c186a13e69395441aa6379f80d -IVlen = 224 -IV = dcdde51a0bf09d2ada7d7aa30d9ecca759b4746443946a27f7628fc1 -FixedInputDataByteLen = 51 -FixedInputData = 0ca38f5e4f76fcf38bc5b17ced623e0a46d8d78d6358ad33c80507100b1ff036a41aa88cd926949c9f9cb5200bcc6047d4fb5e -KO = 2246dbaf1822239281efafeae0b0212298b1329a79a88414933d75de60df646211bb2a343cdbe77c24bfa977885a9a3057922e50245c24eba81907174793af5dd46523509e306538af41b640d3f7264ef146cba9d26a08b9cb2919d47d238e94b4deecf07c55746389e03a8f70a6bc9ff8384ae29f591f45e551ce2f07d8da2ccd78eff9374fcd97660a687dc56c70f2d9d22f0a0de29ab13bf2ea65b26d9cbf72210da9bf7f3245f59cf0bceecd1ee7cdfa1d186ba6d9b3bd010de4474dbb0a150c3b24d2aaf2031c7751d87f18d5e9edcf1487b92317b07a4779acc5b441bf223122f97767a8ce6ceb2191627f15b23ee138dd8544cd08ad345be6388370a6 - -COUNT=15 -L = 2048 -KI = a51a635e8c7e01f2eac678cbef71854355844f54daf723e29c2cf628 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 049ea24dd863dfc6bc7553a6e1958b600b10904e854d0b07f9b212831b8b418a5be1befc77eb6e41f1e467531ca461a5570331 -KO = 0c5db75311288a14795c6e51c7aeff15d07dec13c595e04952616dfbaf119acabfc82ed3dfa60861ab765153714722ed9e1604aa3ae475ad271e7946aef1122f652f1dc2656ce281c9adc514a305e3793e64b9257a7ed6dece2adec7ff53fcfc1d96f2c76d37c098392b6f2b06029738154db6d46eea896d2ae68a94fb20a51129f1d74095bf05a1dcfae2d4d37ea3ff00b14ddee50119df08166074f6275a95f094f1dc48c387a9d5b26de2a03c72d91aaf0be19b498fe079a06212233ea6d04f6ea1cc20d6109b3cd6d7d7a63ffdbd4da7c74235a72c3ac5a1b098879f13a6772ecae88831b23794e0ac66a1a77b973958a550505588766ac7915f14a1c26e - -COUNT=16 -L = 2048 -KI = 1e91ae12bf59199cc72d97d2f24cfded9aba368936de8bd322d85057 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d1d71053a277db565c76dd807eb144a94e60554ad42238a15d488a6c82f9f47c8ab0ad4679ad68849e30dfa82ed4862f4a2ee2 -KO = 66693205682895f7a41fce9f01094f65d13b6acf19e80c4955d6fedba97eedd1635301b6ae4f2c476aed11e945ae7e7b4331179a639b6832d70a5099e2d04ec6e0b31433632a0a0cb7927b0d8d7aba614cb9b2475b8d074fb11d4213893286ce15fc4a9f22726d46168475fce34c04b112f8372b570af115a1b5103ca7fbb5f8fc6878fdec45b44cfea61b9d8f23b529932ae832026c15f8b0388ce51dc5441c57f86d8cdb80aedfe65306a0a3e2f9b0eef132f0eefc8b2d4e58ec1fd12bb56ded33c703317d4064ccf01a721290df2d16bc65288a81d6a91eb867ea0c3d14decc3190d17de2f03725813118cfab6ce5c272fe0e62e0a48bbfe96115c299040f - -COUNT=17 -L = 2048 -KI = ff3a3ea97c641e975b2f5ef81018ce0477512419db163a0892cd3191 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6175edeee64d6afbc8a8898385046749bd0a5e36845d141164b63243b3ccddad6c26e58d27b77ba4494b1d50aaec2d9dd6a8c -KO = 1e0f195d7897a37d0f7382190cd6321cabba5da6d4e8622ae24429498a0760472ed3f1d070007eb90a47207e5b2f148a46dfe063ef8b6343422882b01ae48792f739781f177c18528143268a47c95e997a7a9db182bf31173fefc2ec00aa768cf0836ee6dad69288f1f89576830fa778219ea39fb36599d2a9f7a535ea30b1db8561bf35ab7141d6cd833ba766ef0edd0be50b67999f4f9281ccfc23e398f6761069735991165b6d5179ef4b8a36d510a4084f78973b98fd20df88ae572b3646f2f4ef25006761fb871d48b62479d875d663aa24dccb07c0daea8708537cc71dcf8acdb36596092cf3b6b92a1082b0ec10d04653dbdb6a5b8831716f48888ad1 - -COUNT=18 -L = 2048 -KI = 38dbd587ab4d649c9a9e176124f7d8d79113f66167fe127226139639 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c5756a94871e8cd50e307d3392cbb24848563927521335f03acecff4dbc111971ce11518220d5a1316129a249d20d615c41bc7 -KO = 0cbdfdcf43e25939f1f494c3259bdb1e875aa5d02e6bc4ef57818d0b06b4f99d7eca5900cf1c367f6ea0063521b983e050f4a1934e491097f0d4c332eb4d73671a638827add09fb421b2dfc628fc60907c0f394a5f2a4eb11649e31e156a69df23ef87e893bc6c5dbd59d3b57dffd7529876dbd7e592e4c09139cffc2aa3e7163e0838b03d21a1c53add553288e9ccbdf5a400acfd55f8ecab9e3322bf689597a406ec54639ada82a76dc3f73549ed760c1a3080427b35708f136db1230f269fdc84f5112a8781b71e4e4262cf73c1e551db36bb2cfa79ebc7e22395a3ba6fe3430b21dd4bda2a8b23c021d316d8b7e21c56b8fbbb3d1d5dda2f5a2c16323232 - -COUNT=19 -L = 2048 -KI = ed48ad77bb3baf4afe7cd5b044db039a94042ea1262f93eefe6b403a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 808f02fb66c563010a1e89b56b72801987134537aa4dd8298a8f6d770c69c386f85dd477071bfc73cfc6d90bd1db086eba25c4 -KO = be207d49807e174ad20a51cd998f92cb9b710d7d5daf3c5cf20824fc4f38a11d9234247238e8d2d8607c88ca9d52dd6585e23ebe5944b6d658ec4ec6cf4499cd38b8dee050e217231510b710d217d5c6ceaeb3f53ade0509b341a9deee0ce3467b37f1d9d3f8b661fb0cdd089b2a8e4edc5dc6863e4f9b0616e0a72ecf931ffe66998124bcf9dcd87c8de0953fb249b44ce54e92413615ff690a7d0bbfac37df4b4532ca114255912cdfe2ee62ef8eaa59353f117181f9a741ef70c5c09299e719039bfb32cfe5393258cfb4232baac0985aa3c410e4ed94eb3d506e4c84321d522f635e0361158eced164141df13c13da4075b7198ac06bd0f1ceec674d1410 - -COUNT=20 -L = 560 -KI = f6d6ac465074045a19a9facebdaae0ada716528d6d5b83ef3ae1f15a -IVlen = 224 -IV = 178cb8879b229b3bf619314b3ffd8cce482ebbbe1e89110972d75433 -FixedInputDataByteLen = 51 -FixedInputData = 2eeff02358a15d7a7d7b04dd26ed6dd19efed6fb137f0f8c648f4d3ede91106dbb7b7031de4d8f4729a0696e31ecf182464496 -KO = 8cf007e960c88c561aabaaaa702f244e9c0bebe49b483a5fb050d7fbc2f801dd34df0e7477e55269ccdf73c9b05fab97902ce3127a0861bab0ffb5e2ddd241a5d4b812fb1b96 - -COUNT=21 -L = 560 -KI = 8d32accae3ec844d81a3adefb42b0df233a9d47466e4e3057fa175dc -IVlen = 224 -IV = 820b7a1441ba92dce0e73e15cfd3ca9c71ce07064fa18779cfa6d5e3 -FixedInputDataByteLen = 51 -FixedInputData = 1282246450498c1dbef41b632f3336d54e3a1a9585e91fd35858f62e7c44fb99f2cbf4b2c331f000ac948613d1c2417cf5fdd6 -KO = 52d2d59484334cd9dfc2099eeab78398da705605f1fbe793d9637507208041cb1bb619f8e7cd635ca09303a3120b45323124fe11530c16e919f612a242273f47879be502a31a - -COUNT=22 -L = 560 -KI = 4b85de5f2aae96341da2af6316c9c7baef9dc4a844e762778ce1f4df -IVlen = 224 -IV = eaff03162a59fbc92ba590042cb21b9c277c907a6aa9991424bdd5f1 -FixedInputDataByteLen = 51 -FixedInputData = da4553c936ee47936dd5693f3cb64c42e3c4c7902d1b2156ca92c1049862415aee4692b2e5299d98d213c6668701a32c6abb2f -KO = 399f605339e31ccb0f8d35c37f8ad02ef7015213ceba48bf85beac6f32a684ae1ed67444863129b79be05363835456e17290b13ed86c0d910818e7e2bc91fd9f0da0c04e621f - -COUNT=23 -L = 560 -KI = 889625ea04ee794f571fad9c98a250fc209d38864a41a6d616e0b5ba -IVlen = 224 -IV = ecd84117cf1ec852e771cc1d1d21e4e90e9877d5f1149648ccc1d382 -FixedInputDataByteLen = 51 -FixedInputData = 6cb1087f1120fda7cd7eb1bf80b62bbe7a7f089e80fda6858bf08bfce59b02d0a7ff1107b78fa2641414205c193207d8f64286 -KO = 438a03e37fa9eee6c4c6dbf4ceaaf9a9041b2518d05af62efb3dd4cd59fe77800a7bf01a6a0d3194bb63fe8e2c6a51ce85f3bd58cc46aa1ab866e0014d067ec418f573f64a95 - -COUNT=24 -L = 560 -KI = d891f2638c851319f37a07c2c340e43e70ebd47caf6343ada8cea8bf -IVlen = 224 -IV = 13c28f700bc47fd5e57d9da1022f8ab01bf272d1f0975cff9ae7a93a -FixedInputDataByteLen = 51 -FixedInputData = d9988a10f25e6de122fca2f03a5f5d58a489a2101b3dad8ea345e60285887bc36ede5726cdcd30acb37d7270f6f2e77a236ffb -KO = 777e4faeea3e6546b422c761909915b13706ce13ab3b8654d8bc7e1a71202c6b2e24cb662c7e8e3f998e0ab18ccc4af5613c99c71fa5f385b8ed83bbafa8d022a670fdbe0c69 - -COUNT=25 -L = 560 -KI = 3f7360385633156382d867934d61b9fb590cd095f988037bfbd42fa6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 27527b9ff9c86d934c50aa6bef9df7c561a1d19f0796762a370861f2c217fda0b40cc979285576abf436bbe3138c131ee8cec3 -KO = ce65161d3018c57c637163fce25fdb68d7b76f3cabb4b8b855fe076d7b0ff617a0edbc03f7b56de9e6c97ceabc67c7a31f6f06f25448528e090068ca6f2572360315a99d1719 - -COUNT=26 -L = 560 -KI = eff1d192b1275849ffd3ee99e1c9f0b0734765110d0f9ef413cacfc7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14964a29547830adfc534746d033658652489eb759a2a19ea6013e3a14f7f45fbdf539f5d910f696bd1d21fb07471ef82659cd -KO = 3256f5778388b3dcbc2ef418eb468014c1debba68ede170c83fc03e6aa46fe9e1dc59835432a6efa4efa1fefa1f02f309499925d28e6e1bb4dba12d0d5633c39ba54bd108f5d - -COUNT=27 -L = 560 -KI = 606ff18dee8872ad762f9744f0c505761d44e63bdc11c169b3351467 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce26a0e6d1c1dca5456b83ffd5596b56b9c7632b80f7cc85aec30cfc0e1d676bafdba85a0479446517d484822c19042b913692 -KO = 3471dbb3fe992fc76bd8b28652a7c5cbc171d74c6c18ffe4bbb155a1950c26ec3b80c7e107ba1f8f171a106a1277de94ba9c9b89010b331e2c373acf476be1d4ceab59fba29a - -COUNT=28 -L = 560 -KI = fa395bd2d46df0ab6b743fae5f6e1649221ab56b2faae5f60ac1b99d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2f4037fa0361a3908d837908bf151391e3583af91f6f8c6c3149e15603c716f8d82abe626a80b141d3defd55b3cc1ffea1781 -KO = 5eaeac7ad03c9d04046e834d7c00fcc04cf13887ec7082549e4a87418a9f5906b3d00c92631eb41c56c59aa72cd149894a4b4904af54e36b65e254689d5da9889bc24116849f - -COUNT=29 -L = 560 -KI = 16c8b17521700eb54de1fb1adee6267ef4e0b29c87adfb19e9d804af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2f8b5aa15cd4ccf03e9621b03e0f7e4938af0a8194880cdc8e9457dda67ce1bd99ff9c5552f76d743057f023b8342db3884f28 -KO = 2e297b825d0864b5e92943c3b430e70d69d6b23e6aa00f5111708e6047f82497dfd7d27a73002bc4329fa7cdaba0c8627d550074e85fb1c64028adb5a317197158b8aa5a38a5 - -COUNT=30 -L = 2400 -KI = 5ad7a16fbc6bf5366199356f287707f599d07c83d33f943e2c0c2500 -IVlen = 224 -IV = bb4cd73164e01aec4cd8836c7897914fcc0df3bac7082f41eef34e38 -FixedInputDataByteLen = 51 -FixedInputData = 553ba722ccf0e093138af20e664ddf1cbbfb37b8631c671d3b65eed2810ffa779ced8f88181fa7b6064c930effc1e40b8054ad -KO = 661457d81ab80a96af7a6b4a9f4c73c1d1221f930941e668ecc07b1ec644280fda2d8ca51a107024bbd4a18250a544915ae532d8505ceabfb47c92dfc3908bfb2631a96ce81d45168193b803fffb0089c63f2ec1c9812783f27c3a74fad734dbc992075901ea932950e4cc06eba73f95d908bf6959718ff37c9a2e1797bd3beb4dc702ecdf0115c8f269e6508eeeab2014455819ab17e04184fd62c9af2506592ab12dc3c46b12e0d497e561f4f3ce9c81374f3c6112be2cf5ed199291d93035cbe1f3bfb5b69df44801d43cffbcf6ae70078c4a17eac8efb5e27c1732954992f2b75b1d24e0af63b2aadade5dd8735b03c193fbe1c5c840f8eff25774f5b6ec3771631ce2fc856a0371cebf09fae9c62aa976bf43f41435282687ffcb81382a96c0f96ddff301e0ba6b3a04 - -COUNT=31 -L = 2400 -KI = 354fc0236adbf415f64aa0139fc436c5f29722db2ac7acfb9d1b6308 -IVlen = 224 -IV = 76108ace4f69ccbaa45312888e17a5154e984738bbc14e682e1b7437 -FixedInputDataByteLen = 51 -FixedInputData = b6642a1d02d7901f73067492af2b39b61ca05cbd2c0384c2fe71832effc5a21d5d2f907d04d9a4c4f62a3c907a534a1a7cc1f3 -KO = 9e46e861189acd4a7a9fc4bb8d244ff4f1b6fe81b93184ac0b1d2fb336c89cfec395d3ceb9619625f9a189c4739de610bae887c56f479777a604688880a273119e2978199e378a4e97ce844e0df225d8f6f8f947394b438d6060188b8bb93b5de9b6720dc3e48c70ad79de1381e947d2e4f2bf38f9d85f3774a3b1508bd832d31acce6e5dd4203d81c2f83a854352a42e11b92a7ffd55372590bb19bd9d08d129b2e5b9a979422e37481eb472aaacc790582911f5f959a95324a2970b0f2bc707ce1c030e737e546a371bd79cd83098b7f2f328fe28a959912d13b9251aa42f560f5335de4620336532c8777156251b0e6188daeabb0c008e2d4cb924c81a3931d26e85a07aba287fa8f1b85221b7a668e29bc18bdb80541e1d9aeb63495561b2d13cbe0f7df23b7873860a8 - -COUNT=32 -L = 2400 -KI = b7a7498da3d451226e06d39b1630712dc73abc4e992351c3a9b5272c -IVlen = 224 -IV = df1310d6f8d1eb93e7936bb3679060e58d70e1e9ef7b17184473758c -FixedInputDataByteLen = 51 -FixedInputData = 5850f5c412739162a8498a5e0d78f48d47f7e17c09d67169186d6b4a62cc2380313b8f428013cb345fd64d42e24dae49b5b4b3 -KO = 81a9bd9a1f393ba17f9fb7e059ed5c009ff9d3c4c20b9b2726df9e5b7dfc302ed03e70255940f7d6fd3156afc1907c0321bea925b6bddce0956341399cedff40560e80317a1cb3155ed19be0d45c15fcccb3f3b1747cd34671ab02aba63192e179ed3ff6effa31907846dca6c3c5fdb00af88bfb11d6b5569dc9e575b49fddc80dccfc55e4d880020a0b18e584fa70f7e115800ec52fdd0de753c70f4c629d0ed7d6ab03a4cdcc3f89e710acb32d71f9702c64638121d80ba310fed5d108d07fb439a9d1de035e771299aa32d7c20540d234bbb7148f752f3a71f2bf9c5de39403914e07250238b4ef09d6398db38f839f9396d1163f3081659977291d41f63080bd683c97a923f06633ca0f26498dbf60bb6cd0e66c65020151bb6f1ca2af6eb27587d803fd7e3087145251 - -COUNT=33 -L = 2400 -KI = c848035f19cd6cbcb4c46511fd94ec076bcb547c86eb27f6423ce34b -IVlen = 224 -IV = 9d87d665b33c5dd2ed0741f5de5b8039b0be69d0afeb12a1a1ede0c3 -FixedInputDataByteLen = 51 -FixedInputData = 7fe73849352759ec940885a97690127f8df226eb2312b8458f6c710170216409228fb6711761f1b21d6dc5b6a365c1c1c19f02 -KO = 1c412c90c0a2549af15d992523146a01a80bda15c05b4a637227db0198bcb8b8eb699a17bcbcde489b4acdf67a5bba608793460c1ff81a1bb5ff43254e33db8ecd4638c0bf4ba25ff05178210493f3676ec044e5dc1e9d59756eb2b9794690200a1e8dc4529157321c0b2368b41abb3cda6b2d4e684111114ef9566d335258d7822187a86c32670ee26e42d08c52c28b98f6c922694c8b8253d3f2f7cad6089aea7f8d097143626dc3898196c8ecf1f767c3c51f5ec8e7cc810a4802848584b9e4a16bef2339ba0daf3b8809cd485c7baaee0aac17b38c8607adba7b8d22ae9820dd5bedcf8e6a4b9694f9c5ef981a41269d4e1e5b195bdc413a5dd8529ac17cd54e2c142d6d6a109e94b00ed17b87bb7d796b3050f90f681b0cb8d84ea8daa5078d772f3215b299683a6096 - -COUNT=34 -L = 2400 -KI = ad2e59178c66d79b2c66aa70d02589e8924a4d3c69e8e322c8621076 -IVlen = 224 -IV = 3e909c06c80e20de0da8ed0374d915eaf7128e8a43be4d3e6425aff4 -FixedInputDataByteLen = 51 -FixedInputData = 174ba766e4ff0e8b774f7729196fde8547006cac11d83a83c999fbfcb568440b5d754a9016310c868a483330cd413f61751360 -KO = 56c90003923d448f41f7ebbeff9f5603685817144627e41945ab150763efbf7b12481943e9da8562ca382068909eaded0df0480e38712d641957ec2acf7b926f6682b372f06e9c251c83d15186eb9c8172acd2d22cf938b1550426ed1a08f1e32ed2178b76b5a87a4a9192deac60af0e671bf2b50394508481536cd58d3eefb0bc983a9dcdd3e89c274ea8008a7f859d524daa6d60cea58b18a2a75089d219318a21c630bb66c011207a43970ecd40bd1116bcdf7784a85d523acc66d3c7c1e76622bd5db333148e9d4ca846c89fea9149442b3b38ac40c59b022d0a81ded2c5dd16ad7f4fc6b45effad9a662d8e142d81cba5c9e6d6c19c6105ac90885c9546e8f05e355fe164dc1155af3c96b445bea6c56240dfc28736797bf7e67c74b88c351c6e720b18c32d3e5070f1 - -COUNT=35 -L = 2400 -KI = a2ad133d25ba595b125bdd8aa2eec5ae2b6a24f9ef03110e8c7fe8ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8dab5c30f4d537874db79f7bf5f153eb5cb9beb6785bd94f9d809b9f71763d48ed70655d248b6dce31d6705ef6e837b5bc7c58 -KO = 86b5f143f81e440ace2f8f54a3d01c8e809dd5ea241a7304103b7abb31259c07ccaa252337d2e5c1901829f8ec5dc2c081cad65ea1f905a83dbd5adfb1e553d72ea111cbf99141cb258322796f09df510dee2a546420309b736b7a0e5126addfdd0193b4216329da9644c314233758882047abffcbcd7f9462ddd01a8f84df2ad7256d062bb437b48c99289e36d14f10423d523402a6de2a9565230cb2deb5964ac74dd0298b0cbf2bfaac1f5fba11f1afa93d9b7f6936fba9fbdf85a1296376ed22f2ea81c10b867ea1a1cd78ab8a33dee4f02cb87b4508f7ace8a291cc73c0898ff61c00d919bb6cf35ea37d218e2e33c94077a54340ceffc556e81d7c4733bf02867e5adcc67b914f5e85c0d79fe544495d71b5fcd58d2eb95515bfe8966a207a2eb88d13540054b9502b - -COUNT=36 -L = 2400 -KI = ccc03b22ac379aa5955bcbd424c1430eef12f75664dcf87241f4042e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2e292c66914dbd030fc7e8ec73ebc2c1d205780fc4cd77127bdc5025621f38ee1ba1c74449fd3b5220a023f8acf110c551584a -KO = c8d64e83e2d3ddf685b796d682310abbafb575d334d06c785867cc32ebb25825e547e578ae015b0b2083ad105ee33ddfe011139c89062ac2cfbec11cc88d69268f38a0ec3bba10310622f791e3278c007a9fde81d9a9938d4ad69a4cda32729db5c0725796111636c4c49d948f39c1446d92db8e06d747087070dbfbaa681b8a269f9864a82a63f664086a80d8a78f1ce46ed09e25cf329e9e7ffbe2bf03ce2caba7c7e1b3a9f4208c8f710ede3f7c6bcdf07926e8a7d8cd4f74856f53b2c6c6342a2fba49dc09f947a910564fe70062048b3030c41a66b91948f974b6f5a38e8943b120eb5aa8a5ca2f17f45fc4299eb066369987d8460c860d73985f8d38a6e3ebf0dbc294aafaf54e54cdc361a14ad722490972d618395d2a651ab07d84c3b7f1560fece126d15de34c69 - -COUNT=37 -L = 2400 -KI = 822325cd2486b1f88b9e4a0910cb29bb5b3eda7cb28ddac7d3a6b686 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be28d74cb16ae07cbb90476341a3a76733b2f67ff83c78dae582f8979583d5363eda4b994b2258cd3b034e68ae45eec60e4e47 -KO = 4afa1db010e1fc7c366b0db1a87957504d40011c7fb17e961ef145703e0ce8e55337fa808731fc642f883742986d9835b066fd2a4ec584338975e629658203420180071b2e7447132e091cd394e5e4d594093761f05a628dcf1a23a5ac4cd2e9e8a41e0feff50b5e3099edc14fa679097c3b6084acd9a24dbc3398e9cf4557266e7ac99bbe665954c691a1cd01ab29e9704215248adab4ea0819a9f50ac2507b45ca59a2977a8f5b6547c01593a864cad21422eb3bacf25b097e6a4cac3cac0c42252fafc7ab14e7ba50b8c8d70e08b5a000263660861ba4c7489ede3a9e35da8353b2cb83649db5af2eb7724f9507db330b822684983c4e5f35aac26bebfd4dc82584cbc18eed09a9b70e27e524901a5220903d8709ed0e18756e946488f580d7edfd6fa9705a7c138da445 - -COUNT=38 -L = 2400 -KI = 92de3bd8f85c330eb4836121d9697ad891448845732eccf918c68766 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1825d8371df5d2b3a2e62b378a931b69b21fb8268f4f2e0182266a1078ea6d373a25771a775338b04f461ef5106d4af0fc2088 -KO = f8c041ffb34e008ae12f16e63e666823a45d99c5b99b7a6c316b3a2b8b0c6af8e38467d02f3bba36a2ba1ab6d64021fc7d7c598bb5a44d0bde7935ca4fa170c5800f46299609b46eba4ecdc9846f88170bca8cec4c81ee26abb0f0bad430f4a0fc10e8a745a142afbb97149215ed60e7114f49388d982586e69bdcf819c502848d8bd7c10269cf71438238c06749b150ce6ec8527698b9c8a64515951e3eadd46265af640be871dc3eedee19add944fcf5ccaa1029f1555d05c5f181f17831083e27e16c83a5b804bccb7c775b8aca3dd5929bf69ee4f0131b01a3a840ef7f2e51afc4cb4b629c2154d36558de35ea6d8634a0b9c1b0e1a41f913e7342544f0c71b31d87b626c048e68357ee6e1c7d0acea353f8e21d807b0b61344f348d84a920c471c04bc84e7650af4d78 - -COUNT=39 -L = 2400 -KI = a16e47edc3687564b402312f340d5958b3b4ed34d63a3704d11bbd1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 209622cd8782e31c6a520860742445d2c24207e7542d464e3c1b54377ebfd6773667c6231bc4ad02b20beb22cef0a823241f0b -KO = 4af7ce3edd5e20aa10324916150ae0d1d6377d71986ba9862c7c35228d5d4c65d2fe83305cb0fcdd6c7c85f23d351860db7d5f8f2f7a9c18d07465f79d26c15bd4234c4bfa00099d7f52053ca2b41c6cbbd37a0f20beac9144cc278223bd504bc7ecfbbe5a2ff3c2adfb1606b18fcdd935bacf6ebbef123891cacf99b7c3e8a73f7ca74a958251b18a6f00d9d1d97d653ba5c16a5186a449888fc45ef31c93feda8bab9fce5b36aaae91b95c974476add5a4b7dd2be6d1e148e6f9084216ac33a9a5bb4b702e45a169e5c3882cd56ebf7ee7fd705829e9eb6f75e1eb55489a116c43cfce68d7b8a1be626621029310620863711e31d06f0b5462b55d36d29657dc3acd38917142d426dfc45bbca884cd03d3f93ebf77df3e34c8fc2fae498a66c54af3f4296cc48ef187f15e - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 9e3e7ab2a138af6bbd4c625dfbcc894ca60425db23b50496f9949ed3 -IVlen = 224 -IV = a8f1d416525e7263992de16f1c0832da2edb3af67e2dd5c8f3a229eb -FixedInputDataByteLen = 51 -FixedInputData = 0e252e4a16818e55d7140910470bfec9b58be73c67200e705771519c2ebdfaac5c3429ef5a1c18f9fb4efdac9dd59b257680b4 -KO = e523451d9e1c910495f3560ec95ad8f2df13af512aaee88f2fb9b6c81f1f8984f271922f05cd1c4b21a2082ebbc02be62186395c1598b0cce861327aa715b698 - -COUNT=1 -L = 512 -KI = 232c373d7551a1d7029a2d818c1f8cc9d4fc84a79e882f47f9a4f918 -IVlen = 224 -IV = e7498eb6527847aa0e17d3a408372f4a5ad52e30222435a8672d1ce3 -FixedInputDataByteLen = 51 -FixedInputData = d1cf7f96065f44a24cd71701125c1422ad26d6417eebeda344d16bdc253e4e87957cb03c2c191ccec35f9bb0a6ed2de2924668 -KO = 0087bc336fe260409bfea2c185056d608b593f00ba0eea0fd85580536d4216649a8e5a3fa4c847fcb38c00d39696f654bfc9cb5e1db66b5e255813865bb5b91c - -COUNT=2 -L = 512 -KI = dc68f3199cb18be60bb472751d609d7e59861ff3a5ffb33e50c1f9a3 -IVlen = 224 -IV = 9fb48dde8438fd5f537d9e3cdca2f0e3752c6ef8cb99773a4b72218b -FixedInputDataByteLen = 51 -FixedInputData = 7d1d98bcf6abefed4d157e39bf1f73d8abd2a7c6d39c7bc7c108d28fede24b66dea9a661f1262280a0593d39bae7e107b8d653 -KO = bcd8c0f9f3e465513da8f73fe6733a6f5316638334963f3ffa1c2e90c1c85e4f2fde5f2cc99301528bcb577ad41448fa6a967e50aca16da5bda7ac842c28f9ac - -COUNT=3 -L = 512 -KI = f56da4d918328fd2f548e733db32b26e4ea986732b1b62863ef5be49 -IVlen = 224 -IV = fe4d00e021afde60e50937313f555a5112726e2d002a783e51fe8c1c -FixedInputDataByteLen = 51 -FixedInputData = 4a9ed3de995f629ab78c3f2b9251270867903295734b3b38d212321f01b22836e1c279c265c123d52f31bacda4a97c5a8b4bad -KO = 2271304410c25056f49f1233fdef0ef949316d46e7a10b7a5a4ff0439fa6b6411b672c1119e8a0cae6fc470b54b13e6ea98cc803c4dfe0f09dd551b1458ebb7b - -COUNT=4 -L = 512 -KI = 106c5a832488249088351aa3510bb2ad9164ca03bb30cc2bc1d64279 -IVlen = 224 -IV = 08db21487091428dfec6c43864244744e458bd56ecc4686497d784ac -FixedInputDataByteLen = 51 -FixedInputData = 00ede4f6cf1c50384ebbaaf27282dc632311887d3f92cd48a558f00fbba550b3da30c14210eaaa65a744ad4353dd7e2e310c89 -KO = 413b70fb852d32ebddcd3cc0e9029c4966273e63f61b6fca679a58f48125af2858a655f2266806a38724cab175ed6b41f6e199b98afbeb9e800b234a51e0d6a0 - -COUNT=5 -L = 512 -KI = 666aa0974257b6f55dc0fcaba90e26756dcd1ea3f750039b51fe2811 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 59b6f86e29b1f5a25c6acc17fd89d05dac6a2cc1ace7c854f090ccf01c17b0bdf14a93cde6fe7dd6ca11b6d25f10f3b3893ec3 -KO = 875c87439ca04d2bae6d98f561401b194bb8836616f552306078dfacb7e2aa4666d15b015e5766681cbfb23b5fcdc888636e0d557f53cacfb30022d12581dada - -COUNT=6 -L = 512 -KI = 8188fb5e9b5a5a463e576449d1d94e9fb84a772e891cb1d15c00205b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b3d3cd4e37817573f5983ab2f55eb81a7089369443e029232e9a85d5720fc13a652534dc7feba580f347ac3e5680b1cc241e2 -KO = e12f46eae8c616e3ee499db795badca9731bdb3deee7fe10ebc696afc35b8b6ed311fdad6fb4b6e06cd13e98877525beac6748dd0a079f955476c2c25734bd8b - -COUNT=7 -L = 512 -KI = 8dcdb10a9b0faa5bbe823afe6c33a2f5b863a15d7e267a99e4c3ee5a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6b2aceae4d69d81a0c95f98e211235068a23bde825bd32ec7359e94d42df31f85853883fc32f63c020e1179612726809f84e9c -KO = f6a277ade1f267a495989582527912d2011c4091e62ee0dd44c9fa99b7e29c0931a33d024c459cd53231cdf049b1c8aa4483b08a37469718cad6d677eeb50eb0 - -COUNT=8 -L = 512 -KI = 9271ed44f612d5862ce45ba6671f92db8bdcd8a2b72a4601e0db2e49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91611a324b10f0c69e157ae8927ecbfa564d28d32a8e566f47311d6df0da891faad6db2552a8770f22e501dbc4fff9c1481c56 -KO = 437531a8806be24a2eef883c575809e94eeadeb55e0f880bbb27326784423de775f7153b90b37347bff32c6efa054da611686e29314a048850949d7242ec58ca - -COUNT=9 -L = 512 -KI = 4131c6b48002bc148e98c5f78a73a206cb34901cf8240830ee11b31e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e9ca51fe39408dd29bd329bb24e91abc12e75385d00991848c756bc2f617735377e4ba70a7481a50ebeca35f2c6f5e4260d66 -KO = c5fa9ea03e14aa13602fc3c387acb15e4e073bf1cd2adcfa23a19b288ee576b458f93074e7d37b6b33266da9ebd3f8aa50838d02aef1a367e99178208e2a8654 - -COUNT=10 -L = 2048 -KI = 5ce148eb5323892d432026f86f6d04063522e826258709cba2d054df -IVlen = 224 -IV = 1b4bade732e9df14e413a0353747401ce0dc375b25a7f8dd7c6bd93e -FixedInputDataByteLen = 51 -FixedInputData = 50ad8e32941dff0488a1eff3ea55f9e716f6bae197171065525ba1306f9c572d8631adda8039db55c51347def1d79af0fc0268 -KO = ec4c887ffd4b06bf710b5dfa80936f9945f2a11bcc41d7462bcf25b1fab1d8270c37ce15a6de855bf80bb845d5af67392b16b63b15df19b942e4ccf2186e2800aabf3395b2b0a52d9175ab70e5ae4d3b9239ea2aace04b9ea1651f1626998c9a07ad0caf5ebccc19cf05e14cce14bf2a105e03f38ebe1e1aad83bd847b95b5bc9547d5463de54dd6f35604a5a36f7228c653aa809eded4692355c8eac225631ce7247195ad7f9bdf5986abe47f28144913c4261ac6365666a5936cb589f6f8e0a5356858c0bd9ae5f08affd4e059fb70ae42ff7577d1da37a17b24dbae62a1d7acc395c092a1fd84f4e984a534b3763bbf0f8ae6c4bcb7ef51fab12df9e61bf6 - -COUNT=11 -L = 2048 -KI = 9772dd0bdcf1e89a841735c434fcec3d9f3dd6b70c93667df9d27759 -IVlen = 224 -IV = 1e7306efaa26f53a9708002877d9186b27f855dca26c77b80048e1d4 -FixedInputDataByteLen = 51 -FixedInputData = 22941a88e4f2879a5ecc4f2b7b3d23b320f1897318d420cce8a88bb5863b2ffe9f19c5189755d2ac04da98ddf60904b8c447bb -KO = 47af2513ad6f6fb37a40d04926fadca5afa20650387e2b232e656427bf937c074b9ef7cab44feb4f9e59dd9efd6918a2a69641c7ce4f5ea9e311a10cf143ad21d9a9a428c26bd88a3f1148a5e0c2c8424a0d25950c069fb081f7672972bc15c9e2d7786893a8733e568f6b55b53f0ea2f721aa6570d12ab1240729c99f7f8872b75207852dc3d9df1af5c627a0674b696d1f96b69cdea6f135b2fbd4321d95c288d542fa692d62fc58c246a9141f000bf431eeeed5c7e0ab9e002e06c7e89ac1ae1f0a7beb18e2630434254a507d2cb5c33fa3cb09e29ad2258cad5ca01e3cda8628b572efc61c2c416dce11c7cce7f4471ee1083e4dc25d1e1050a2be729a88 - -COUNT=12 -L = 2048 -KI = cbb0adef8a069f69efcee7fd4afd2520d9a55470cc77c6c49dfb3a68 -IVlen = 224 -IV = 8d64e1a260d3ac54d7f31687281eea04fd49b1b1ef4af1361e431b73 -FixedInputDataByteLen = 51 -FixedInputData = 43370402b041f88335b3e353fbe01a6a8b1c16f55064fd75b4b37d6c52b6185d8524959b2cb53ba0b949457cf3ce0918b5ab37 -KO = 77695a23e8935b86dc6de2c5ed02834e675398b5ebc798fbab1de57467b3c8e5c36d3d9b513927e95d5584bcfef7a4532b81494d378c3b8e7b9f243014be2a17f83cdf22ba9b9972e1106598a8eace5210a9d0723f0edeb3aecc8969eda8213452a7dee19a776978bd5912af47c840b0497fb38daef5a6443c6f194fa1aa2fd34655586e212da4b1326db24cd851f8030826698d1b2c643ee0e5947715ff51dcee3dbe44142e32a1f14be41a951b44c0866ab06b350e6bf99f50c4923baf3afe9eb9550776f7873eb3d7074ce77fe0c003f006cb70ccbea8f44c0c53859fd77e6f9b54b996e15f0a78b81ddd89f0bd795e8410c2afedb4ccf07d7b889d145901 - -COUNT=13 -L = 2048 -KI = 4ecca154795766a787568c24e27962b6a314d37b39cf22e1c79b3e06 -IVlen = 224 -IV = b2ecefd7141bfa0185dfcae4233bf965aca0139f179bf3157cdb8d0f -FixedInputDataByteLen = 51 -FixedInputData = 82f2bd82e1778f4c78b7abf5c926c6da7e4cbddb1bd2d0a4e78f7664ceea5dbd4ed4edbde28ddf98c2a9db746a07ccd6b8f99c -KO = 8409dd3e7c46542d229b17a73906027e381fa107d5639e538753abb3769d492dd77c343ad5dadeeeb5c5b7b8be5a4652f60ea9a8a532358054136d7f716c96325b58e9ed6262f7a95537c224591face85c511e4946a96364bfabae351205e069fe8ef6a928c1f84c0eeb7eb5aceb12b19d80444b53070410d8daecd2076c12b441c8708d9970575c38bddc9e746a91d7f995295e3dd41b4b061425bd37ba4de01cd69aee2037eb6bf7b016160b6e17b9cebc817c80d634ff62f2fa533d2417f01dc5ed739b0a6a23d560b1c72ec137c2cf2c1d8886f160b307939bde87a804d0925bae6d971407132623edad3a482d5ee06f6cb6e89367905dac0d8732382c84 - -COUNT=14 -L = 2048 -KI = 548b1e8f7b7ae3f9f925d90f36fda2eb9238a012d2bfb992914c5514 -IVlen = 224 -IV = 17bfa5e39f96698c52970dec6898d51a9f2651d6fb80342a4b01c236 -FixedInputDataByteLen = 51 -FixedInputData = 771ab86c721dd4426cd05651c2254b47e76d1af51abb7e9e919f9f32d125a784a037d4ecf686409031f5d683d91414ea03a09d -KO = b831be6f36de15d1178d6dcb6d88e841e65e3add9cbb417e293256fd488105969e0dc7393bddd2fd6d84943c964c1fd4a6011ff20fed06c9da6368ba8162ce1e96b9bdfdfb0d6217c3b44a8c8dfef765d6455a2a6662f5f3a2f9ed409ce887521a6a1d82929b671a820d12842cfbe3d6bebadb9ec5496c71394799f62f824831e8043fa84f523a83ca2f761b281822c800770546252e7ce2b605deb37e2ea2cf36547c6ee6dbc1783a8c3b1e14a378feec9012cce80b9a87c14a0ca0899d53f2eac3432b06f3cc48c45871b8840438b96018bfecad0b6edf34d2c3f1705d25db8d4ff1671a1f308660da3485568412a222de25a1f202e2f8e16124727d342392 - -COUNT=15 -L = 2048 -KI = 8716b8f94db275cc93366694f51ad73bf9199bc2d2c8dfb5169b444c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98d3422331e7947ac6458e1feccf1b5638eda51aaae22f763266c95ba23a511e9e66b0f9ea17808c1a111e32d5f60aea81a589 -KO = 524c53bf82bd52d4298a1bdc0bea62f31b7ad9b2af4cdf68ca25e88361b3bc5ea45520ab6f1c186d5dd1af0b3203fd39f4b3e9e992d2b72a5de1780313c9411a18f716909d4cb37890f4c7b8c1f67fea9f9732b1eebe963081b6114aa1912a5b7c7e9648c5aff9d667358c2023b98d7a0365724d4d4b1e94de9f7e9cef3c74f525f48524833dc127adb7d55d471cba7f3678e69215fc99e3ab51c313b752406a4aec6f68d753a84eafec183e9042234381983088759b29218fca650db82ff9b39afe7e6c716ae7e73ceaf55f55e616e0ee8598bd70340556aee6076e7ffc2168cb7ea54b498b68dd1aae32754543465e67a694513df2a1a31ea6c711e2b5f3b6 - -COUNT=16 -L = 2048 -KI = f0dc7fc9aebbad78c83e72e7616d0d991b40a7e27cd5b85666971fb0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 68a3cbc81d2c56fb46f49d62350d5463a450569bd91dcb382efec4fe641e28d18093a655504f163870a9369808f006ae40909c -KO = a4585b91ef1e46f585bfda8d0db9d08269ee01c0568056b46ddaf5b61d5e400e2c6910ca4469b9d5ea99b3815e01f9e5981f3959dbc5b865631baa73ce85b55900f6d8ff819f62e61c54d6a91964d571dc26c05c7b96216edb4b05701851b99fcc48dd203201d9cafb5ef45bd2803b11b04a5ea4cb921901e47739b8bca00a279265f5e9a0896d71d0ba397c6faa9aa37eb97cc8a2e6238d4a7ff68adab24097d0dbc1cc50a34f8f948c2edd012022ead94d8427375c01857e8c4e2d0f8a66ad95eafee9fb895139706aa39378a4a96d04953a1e1a22ffa8f8b89ddeceff3c7ede2a31328961152abb4e567e60631ee5b09fa95ef171271be12d20cfbd9e398a - -COUNT=17 -L = 2048 -KI = 55d026e4a282ed5278c3f1204730e2030476ecba4fb397a803dbc861 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eec9b4f6763adf35d98e7cbd883fb3bb03bec9631eea7fa6464944220633746a5a6fcb8b763c593660713a7ebac2c300848c2d -KO = 783438a922eb9c83b54e3c95db94314aae51fe690223d8ecf10144380a2075f9b02341b164feaf1e05a840cf0927b7eea5b591ed42232a4aafa1fc769d1a13453bb3a39c82aa92388f60678b1c68d1960c7c6fd6d8363d5e4a62e2932feb2b8b80f3f3498881c1d31a73e7bcd4861be29aa00ca95fdc47cd6578c80047fb56d83933cc19747fd33b1a1afb1d0370da5a45ae91953b4379a3ab38cf760f9e8d0aca44b83e55c09388d1f2595b7fffb0bb10cf075ddf4693805de9c0458daf4d0adc6a9c1164f041163e77c872f4eedc1d386e5ec7082824c53c3c80bf5dc3aeff807f5e2fb3d5a77ee88bbae91f2d819574287de121017ee577c414abfd3dd666 - -COUNT=18 -L = 2048 -KI = 358d54cc8d561388c197665f22c04b9debcda05431a8081a3d7b6b1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8a1bbf28d515af3720a4c8d938c94ed171dec81d0607c012ca5233c91b4eb4a230533717bb122c1e3bb3ca664069d926b772a -KO = 5e08bd31458a2696363898a0428d63b7a526405a332d4760d8ab762d3c0fe98e6ba5f024496f32cb00fabb6ccfae60e4c9f59832b1d4087cf3ec876f0abd6a2b732e13098f205f50c816529e43a453f364bd78f817dd83b38691ab481ad6301b4d5911c2f7e19c64cb1df907a51258c433c464a207133e71b5ead7dbba3c9e09613fb5ae77f4e02936304146b9cef39cc3711bf2df8d7d533f2174bca9bea57e3d9539a23c5368185a5495475ae45e5b2012eccc9b441d851cbb220500e8ebc46744ca4ec62cf921e0abf52ba901cc8f96979d7fa1d8672ec0878271ea2ec0590c3da0543bcab225e46216cd8c8ee55b92d4e7faa7ba8237482e327639782244 - -COUNT=19 -L = 2048 -KI = b5caf368d22e2f16ce9a4527d0f367db531ad5a1b1abf2dc8b287935 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2b66c6d27e865a0558302e4a3b23b4b5e9b7dbcc26e4d61f1fa04554bf91bcc09c0208583ee2b1637d07d496499e4c1cb349b -KO = edf96f58319df45ea7a3d590c18bb08199e2f41655f5aa22967ea6c398cfd4d64c42a95ef36d9ecab0bbbf2c2c0f9e76b9ea4e0bc383942b890ac49a15c95d8fe10dcc29f4ba9891d81d26ace33a80190341f62a29404dca2c9577fe8dfa962a58563b00d2b7b3e4625d94892c13b2d51d0ee45d36db3c184b0c46cb14b8067aced65f785f9a726f52035af4d7f7fdee7ff178daf58179f23b434300662789b2b5c61ad2cb61b4158874d9b77d88c15f2b47357050a477ee1034b843f42589f64c4b5db98fad598c3729a97b952da36791cc15eafb58b1eb5f44e01c9d3a752d7a5d4e2ddb52b16b0ed65e8b13c0087f092fef5f21b9c0642064ed1c89c678a8 - -COUNT=20 -L = 560 -KI = a835466a61b1fb798768f34a2541eeffbbed5b88b22e32f0974a9eba -IVlen = 224 -IV = 904b06834a92208bc1061747c79fb06f03a67092f373713f2771d716 -FixedInputDataByteLen = 51 -FixedInputData = 2a9769f87841da35ce725154ecfc105efa21d7e41a2a301b55e341aa5662d3b8d8e838399bb3daf69d54cdb95533837d451548 -KO = 588c7bf881678b1e11ff8932e75d50fb2327170b52c8c46204a0743f543c27eedff994002fe5f21db49e25eaa64f88617a629597eb77da51bb85235002fdc16c2ba4920ad5d0 - -COUNT=21 -L = 560 -KI = 909717cd53e32db36e4df3cae6e42130786e600c249ce661defb4ec4 -IVlen = 224 -IV = 2355a236cadacf6e9938c62b5b6114813666b9e2eafda1df1c508ff8 -FixedInputDataByteLen = 51 -FixedInputData = 7c0b126aa62ae502474ba3fbf8c6e870ba116297fc407175169e5b08b368220a8e03764dc234e62845b5e1c100823b7ad2a3f2 -KO = 7c526298078f47abd893d1e8da9baee4ac3defb19574622089cd06a0eb26972fe63bc601582aba9bb8b6ff6449b5085cdd31cf6c22f3ef7275c36465900ff88d9b7824aaa936 - -COUNT=22 -L = 560 -KI = 90ec645db6470c4f3d0e66d30a006c13aa32ad2a6cff686748714e3d -IVlen = 224 -IV = da07c0fe056433813a0fd21699149ef7b808cb8d19561050aa205b1b -FixedInputDataByteLen = 51 -FixedInputData = 860e846fd4f78566e690b4b393d817a11476b9fd3deaf32b992c62f2891b69962e5ec9cc53a94580e0c0611d086c0fd050f21f -KO = 0278c73fa2d7b956922c3b2812884c16f6bb99f337d05aeebb8ed6da247177a11a3c4c642630122d4c15f2d0b2aaf7ab5be6fa2b5b89b23fc3bff2dbe9b4b4d25e8f402f1454 - -COUNT=23 -L = 560 -KI = 47c33d15bab6f69e2bcd49cdbec5e0ea4fe6e763f6f9c3d31160881e -IVlen = 224 -IV = cc4f1da51e43b8df5c124bf3dc9100c663065e89c2357abe72b97a1e -FixedInputDataByteLen = 51 -FixedInputData = 1c9607b6e9701b18c958523ee5c202083eedca32c864394deb52d934de006015bcd24509196a66fc579dc7307ae19574490aba -KO = ef66079ed8b10816a94d1169282519f0515204f17e879fd50348b6e9668bb08bf69ffd02ccd2320244066dbc3b060748beb62dee2c68d4e8f1a7071602a7d3a0e4bd9084f27a - -COUNT=24 -L = 560 -KI = 441c4b67c4da1f11e9342624b21b3156e75e6c26699cd78245690fc8 -IVlen = 224 -IV = e1fc2456474ac9a80a42cdaa8a43a248acbe36e044689757ee0ab1c7 -FixedInputDataByteLen = 51 -FixedInputData = 6d98838e0b6d2d22c4e50cb96e36b5ffa55a89fdea0ab7005842b64a7814343c68251f941b42ae87ab57dbd79c22b837164c22 -KO = 2b39cb9f24abf2743a1dd5b5289d3e0405d0cd3def57f556ce6e1e774192a1f7bd8b66d9069b319b65177b9d8baf01aae8bcc8d3b879ac554171ade60a0750bcf3f9c8193c72 - -COUNT=25 -L = 560 -KI = 8d472b1cf2ab44cbf32a5dc99261b4e48fce3ffd70d617b1960521c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c4bae7fa731bb4dbb2fc510e7e91b2820b77aaddc78dad990297f831f03b1ac28c31b664d774e1e2035926383ddbc1b7e84019 -KO = 3eb15e97e5eb70c593dbbbaa245a8ac7c6d7242d1a73f0d6d69aa2ca2062c3325bac58816968fba395f8769866bad6f7f9e66fda5db3ab17c98c5dab3730e46dfeefd6bfa847 - -COUNT=26 -L = 560 -KI = 5eea49d945c5963520c3812591926a6702f5f3e81d13833d62a98b1c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fc8479bcbc4c2cacb895c7bb65f47d1f64032387fc19cad3f7a45fc629660be7d9c55c1004843be5f0575973757cd0af2dfe32 -KO = 09b90c48b422be5089abc6bf088b4bfdc39cad9b90200d5c52fb5f40fed99d0554e53910c8b4639407e0836562d0a913a1f8cb57d738bd907f2e06ffc043330164d99cd8ac73 - -COUNT=27 -L = 560 -KI = 627e530140cbcb98377545ebf8ba25f171a31e94236a6d235483da09 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = db5e82a3b9ba0f766695fdf7067989c0a0054d04c8cd511ff283ebcdccd61d85c7f64911519981ffc4f42c0277a5f035f01122 -KO = cf0e8dd6cea3d3cd54e0bc44c2a2cf9883cb8fa520399f7e79ce078af98d600191faf7f72c82525dcbea9c9d1230a3653624b85f614fec67d002b27e5e090080afa9c9b1f325 - -COUNT=28 -L = 560 -KI = 840150ba28ad41275a3cbb22802a49a1814be3f765e10096c6a9bf81 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2c7774a67522fc67260198207a650708c77629a3f99607cbe334f06a6cf9e182583d1b3ccb467a201e27d67444582663a3e9e -KO = 6e8e02ab6af487133e60f25efc63ac37992e81b96b454c71dd513400a3bb2b4e608b88fd105ebc82695f93b0fc247e01471d1895890d21062e67421b33776d0a74cf3f67876a - -COUNT=29 -L = 560 -KI = 507df913f0339c80ec379adf8d7da6d92ef871d53b4a0e7eb3a8066f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 377ee80a7af7bf16ae1c880419fcc7e52a32989915c1b37c14f7cd4e1240a0029ae9c6ed81566dca1d3d54cee97fc68c14b75c -KO = c8173c756d1e99ba4a8d40d325ced9dc3f0ab281fa335b3658e12cacb948f5665f89a5cc78336d3d0bc687093181ca81c245c8dcd7621bb6bc8205dd777b5c3dd7c53838bcf5 - -COUNT=30 -L = 2400 -KI = aecc27d2052d93d74040fccadd00ad65cfcd324b5142b1ad53969ed2 -IVlen = 224 -IV = bc02c650a63fa299c72f1e9a95b99dc81d924bdec069fed49c2388ac -FixedInputDataByteLen = 51 -FixedInputData = b24b8b6b63be2614015c46adbce8b1d5cc318a7dee1e72c2f73d3403bcd6724bc59d8200e60516ccfa19109231e78355a23665 -KO = a6244f68a258e323bb68bb8609888361c974e830e730e0617b6ff4a9785c5289434139777a8664186b49b0ac548ed943d560367108b1f4e529dd8cdd6ef121af284dc2b853705614934c60e0059e46261231e0dcb4792c004f62760b79b8bdeb915b537e7d78c2396d0c437263221cd2895120d88a606dd32e8191c1c29cbf1b75078ff6aafb6c6ac144a31d380600a0091198c9f7ebec751c79d453339833e1c68d4775ecfee84b89cf3b8d8dd5a9be2002f755ed5cffb032f0e0bf01cd2888f8793c0996f079c61257ccb75f91ac5c846c2fe99147d0cd26ea3c7685b8dff0eedc642dc5b78816b5d23233e8ab1d801492268216d0aca738081a29c422810ed015341349a37053a128f68eac4804a930d34a99775df4fe35ce44a254b4b04b1e55b82682579d7dbaf07879 - -COUNT=31 -L = 2400 -KI = c67c1ba077bb4ca482a2b2e0f7cd6a50fd329087eae8c24287967cb2 -IVlen = 224 -IV = 135cdfff8fbca94e52f4f5c5aab0cf3257f3d45f0f7a4b767629b7d0 -FixedInputDataByteLen = 51 -FixedInputData = a67f71e3fbb95bdfd5b694589e369c80568f24764cf315882563aa0fff67f0f00f4e6395b478070ed8b6c3b763ec29102f126a -KO = 4a63ca506daafe3889fa4a3f7c2daee80fce91330d08dbf4b95db267dd30bd08eef8a71aecd3795f6a44422b04fd0e66f2c7223cdbdabec3583f10a795ac45c912e70eb0970812dfa53777d5ba489a1e12e6668c902d0676af22360ae76c3393b981eedf72468958cc694edce43622de263b9a8c24b26c8805439118339ffc8f17d32d64ea8f9870b37598c7f6dc6d7d2f97af34e7c0995103dd35814e4388ccca0d06854e785e73bb663e9c26c0e9698aa21b67aa8444485c5c7ac9a6c0a8da5cad2e7248d9f7d55dee80fb570c4f3a00f63fecf24c3f017ef0d1a9c6d1792555dd7b702ee3683d4893ceca460a132390cef422487e8f9bdee318fb3837fd02335c84c6de3d6f17c6518c9f283a0d754f1bb4de1ad81344622b27c04f1a4ab1421acc066c89a6d16bbb32f5 - -COUNT=32 -L = 2400 -KI = 9bd9c9f06a1f297a8c4fba0872ddbc0e2f7f2afc5c701fec29173a32 -IVlen = 224 -IV = 8ec4fedf56a58e8a322bda00c91217a3d4196efcd47e133a8779d2c8 -FixedInputDataByteLen = 51 -FixedInputData = 51b0d114829ebbd24299122a985a85ca9a4a26e4b5c1443c21052d87e7b375a68b95e69e05b139649f7a5849466f2b1014906b -KO = 3a63d096bc62da8e30d4109b1944e6fa4a1fea885e9782faeec4c799e0749916a3f186b1c79eee85663538347c62fb4e62f5aa6af78d612fd25f1b1c8d07d62cd29c2e162287dfb9d3c22273eb150d81085df4871958bbc1baa3d29db8092eb71e5a768b407542f55ffe8fd36fa4318e8cc7190a738186f52b56fba9099be7468d44e5ef1c996ae012a961f1c55a22dfc47629f12b772bc650370e9cf4df5913de011c0c4d1eeb3e56acba835ec79c972066d44b6c4e2ca0577cdb3954d7c70186d6a2ee3d5311dfdc060001aa8c5d7b67c684f16671ee0b6accf96114c716ed41540952e3021d17e30a9ff3c0a703dd24b5e43d44bb6c32dcf2a2e06677e695bc2964a06815f3220d43594b04003c6ece45e626b916c647c3a409765a9b32d2d9134316d0fb0230fee9060e - -COUNT=33 -L = 2400 -KI = da812cfbb74cf908b9e318c6890ea57bff3c8c23332a5cad57837edb -IVlen = 224 -IV = 1e6714eb9fed0c80fd4995dd914a7b8006d5cb7bcdd54d368fadb406 -FixedInputDataByteLen = 51 -FixedInputData = b2ea77d2d05734d00efe26d7bf1bf4f9706a179231281e9e3fac1ad4ccb4f72ac8d41dacd1e379691364590fc0e172477628d1 -KO = e12bcb18028f4e5ce029a7fe636cdb654acb9af5717f9451c50c8a2f646c221beeec4f4628c3f01684efa30d7d2171940877a0faf2dbfad5bab84ad357113efe8eaeee2b791da25f64208365d6dd48443e676566f57e9fe32824a2fdb9a0ea76dd78af36481123640b9042816f7800e5f9a71b72f2caa202b00a40b7f32d943959c99a3efffb824b675249e1ac076b273890b0191e3bbfd71d4defb30e658e21964819906389fb0e57b669eb6ab6b7f8a6a12d49095b10455af2b22845d852a7c9428f537ef4f5ac74fa0e430e79f31697f5f2f21fb69ac97e689c997d7e4a494c7f47d9499c216e49c304a38f728efdd0f384b1d8dd5ccac96f5da2a2646b75b1a0392d8b7a37ed80deaa14db55b3761057edb73a9644fba57946cfd11c653cf03c09e4d3fe3314e3d29355 - -COUNT=34 -L = 2400 -KI = a0d837466e505b344da3ed558ce556ada96be6387264616de4fe74f1 -IVlen = 224 -IV = aa0ce1aac55ba6a6cec6de338cb823dfcffcb88d628887dc532fc898 -FixedInputDataByteLen = 51 -FixedInputData = 64ba0767e895cd98f81786b4ced9609a356da38d6486644e95e8dcb32ad84b4afba61745718a90c65b13ef61e25bb15b8c2be0 -KO = 22dd8a60a86a50d31b9d00ea1968ac9978c85e8917830566f8d8ab4caf37a3b6a1d31a1afa64fa718274f6db3269a53254ced76758b77b916f52c22c21875104dd486cb490f464d2edaf523c3817d2ea47fcc9548e0a39af7dbf5ec79d4570b19c1b450f189875f6266fa53753302803571b59380f16482808afc46c88786d244ea4936b330a02c82c13fcd13f944bb9414182e620ca85c3ca803d6df551d2839fdf7394d990eb91abcb194620f2cc181b762a6966ebb9bb3857beefee1f138bcea763185dc0ba712ec02712811efc5e85522d5c4b6fc1a26fef992d27084068e2532a20eda197f5eb3120874fc591e4c3d37c26f7e53f3169d8deaed1c0d15d93bbd463256c1d587e470dd65d7b7bb919acf2b25faf9f5dced5f57ac2c9081e3fe38db8387cb41de02c5c62 - -COUNT=35 -L = 2400 -KI = 1eef22894d254dcc4dc0e009c936ec3b67262c8b0794e8701fc0623b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e71b816c3415034ef241bd1fb61a4d2e879a56eaba172931273ffd0bb6c6a1000ed24a28cc141c86f39b552f4c063677abf18 -KO = 88f6a56e946213320aa6053fc8c817e515ca9d63de5de970c4a8c8ba123fe1a5ad9c3f06bd1a646d95352dc397ee58cb84e0686ec8dadef5b6a905d69df25bae2e69a0596bc68a20acea2f2cee0f3580f7534cc32d1682e726ffccbf9031db3d51095499e8fb081bc9010bbe82fe2a71bd17a7fa519878b24a3f1be0f5c0202827a158e8e8a617b12aefc478f8cb719a09de471e27be77a0fac13ea67ac15e20687e57deeff29c96e21ec4573dd5eecb7e84038d25e5af1acd65ebcc8af4c539baa82086aa21174e60f5d36a5e0fd181be79ef09becafaf49f33c34326e74d71a537bf13efc0397df8b19f5077b74984e2ca57a5d6ac7186a9d427f2397482c99bcc8d97ffbb64b90ee05a0545735f57841bf0414bb544a34d9d6c8bdc6f83ed9af72b11f928947593835f49 - -COUNT=36 -L = 2400 -KI = 578d059f268db9a164f73d24326c8ec083d9df3df4002058392cabb1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae4bcfd33e33af7a448af00d7216f17036a7f1c9d8e0eead477ac03d558833a9ab88b4935cc757b3e89c0a3fb5a8e5e94edd11 -KO = cc7eae6e58172768fe762c2625943b945fcfd7d5d2c0f7697c8e35a6999e5bf59f6c997373151c3362cb101d8021c0b6974336d9041df7e8c3a9a82747c26ec02436c92e4c3b0e43d4e13d19ae31bd60d1c5bbd193ef3d7b3628f3ade11a221b78a58102b1eb41f41a3e4893275e302729e9b0230813d016d362cf9618f0b6ed4fb6abc51eceb7d2e148bedc354fe5f79dcf94d13b5ace3faacac216b8fedd513b412096c0e5b46187a3c5d7e30869e0f8a17fac61602ed689ce88e8ce97a3da35ae8d246836abcfc4b21a92048acd829c8e87f239d550c36509886baf79609775e9a1791b5cbd9957047528f6fa1fbf9773869680774635540519a377f41c0acbd9a6206d39b8008924fd1d39199f7c171ef5ded8009a96179460d0aefa223422ae225fa85c6a0703a6aafc - -COUNT=37 -L = 2400 -KI = aab571684c693d86fba2479c65957a9234bec0b813a33a49be78dcbf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ffbc9f33b4c491b3d823364a17335bcc499cddd67a915a9335a056e32071353d853504a94e3384a4750eea067891ac101d9749 -KO = e2d6e836806a53416e702bc65b947dd9a36cf018d911d5ee5b957a72687bd58227d1b9c4b11b7b7fe29a403ad4fb575262c9827a60430a5665a2f61549e2548e5a329fdd7e53344927ce9e06354ac2d2dbd97f7891fa3ce3bd6b19b94b709ef400ccd565b407682537452c4d2f0cee11368fbbb7d2025528496b1a2a37e61e5eef2320995e21f35ab30c65404d8461a5ca83c304244adb948efec1cd1029a2819b170d4266b9e6a165e35a437c438bdde80fa76c6d40ed23d8be06440f57175f87a90568de0bc12314973fe598dca5caad16a92ef58cc4d7ba23c4593b401816af3a23774301318ae80369a846626ea5bc03c50f3b202506ddd687c6c1d05956d11551557820a965f0316dba95ea3a0015667a01cd8e5e952d8d4ad85b7bb4f5b1ad77e662651d4d7109917d - -COUNT=38 -L = 2400 -KI = 9eb34cb18ea7db5e9e39a8acd669a0d23047565a903a87a2a362d40b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b16ff13830d42160b8d059f32ccce3cf6bc5fcf34ae7106b81d185f901a719893da0971763107006e18be5d1b629e176d37618 -KO = a81765f18f870bcb650e977141a6810b6ceee14ce95006f27910b7d310b91740b33dab4ae62a0887c34dcff2dc33de7f52c74284c2c5a79d288a926da504edc94df70a811c59498daf8c5b4a9fb692931abff0cf6093d9e1b421e4900871eb7ccd7c98243e11cfd650b725537411db05f5ece3d25bf36cd47582cc2e18452c7c07ced4bb7b16cc07f10f55790b820c88dcd15108aa9598fb8d741ce6fc383b33b0f0883f8294609f7b926335699301671c49158f5bdaa5fe28eb22e5bebda1f68cb1b2bc6304b395ab5285a70b622f1420139c95c16663e8986778b78fad03fad469cbf86558bdadeaf4944ba71fa73de27a76e7465e16d0000c08cec625ad5f285b4737e588974d7cd582a06ddd5869456dfd6f8ffde6919b6d6158103f0690109a1f3e5e5eb2365c23e66d - -COUNT=39 -L = 2400 -KI = 8ecdaf3437a79bbcc777c92057cd28bbdd67e4f9cdb7968895a4d44f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b2cdcd788f6ba1665e7861361a8ba299cfd22e38fe1371dae52954557cedb73208a2b6008df8fcb4848fde5a66d4f9ab3b9f21 -KO = 990c59d86ac3959d66979ee366c07256d71c97b727d8f5d2bf7fecdb6a243552359e2cb0a02a12bb6dcd5c6d600c75377304bef67e0db380a6c7da2d0ac3b86fd0c2beea68419049988fa8db445817bdcd087b296b7f26a670b5ce62500015f637499e049ca795c7fec26291068c4cbe9d89a6902aad773815e00b9420e97f6c0602e0d8257985eda8887e26981a380b99a99296e8a3bb6aa50e7fdba06b25e4785ff0116466c1878305b1e6a3f9c6cb6e2b6bfefd5fdf8274459a988dfa1d478c06a5fb1c5b6cf666d9cee5f416e39f9bd67be49f1a5d8a4c4e35b1dbfcbdc0234711dfdbebcc278c1866c73b2c0d1d42a34c657f22a1faa570c9a45b774edc6e3a6a4f5392d5d63ba327293ec0f41c1ba70ef5e56042b47dcd41bac0cd93a68e0c1b63a3175f6fa93087a7 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3c3d5c21a78e6e7fa310c500f23713bbc7338f39d143b2fdb0fadaad -IVlen = 224 -IV = 88257f1498d76c309a4dc9d02584d8e0606d70543adf1be74529624f -FixedInputDataByteLen = 51 -FixedInputData = 68b6415d4054660d68ecd01f25e3b76a2a1f3e12690482952f1b54842c5bd842ae990ac3155d1168334af59a7d7db335d7bd6f -KO = d6864b77c516f71e6eaf6e5868a6974055200ae9c981be39ce158e573abb90c2063c6f404e6d0059d0be6e6fe29a5389a408630e78ca818df6e057f0a8fb07da - -COUNT=1 -L = 512 -KI = 8ca81c603e36ca5db5543b5d7b114b82c98a6ab12ebd4b23633ae558 -IVlen = 224 -IV = 987071a4e442bb2ac75d5e08699b642890fe465e4b394d0f2a94d70a -FixedInputDataByteLen = 51 -FixedInputData = 4d7d5338bd32325519ab4e035f8eb68f5d1ce52c8b0fd7c9993ddbefc13d1392ee931e642bd4bb326247c7dfc1217e562ace69 -KO = 921044838c939fb5ea2d5bedc6060a591b9e505262eb65a9aa6c366425eb5a40195a5f68fa8d3ce4a20ba38ca8b28aae8f9809e942847c7b055fcf34d3b4e447 - -COUNT=2 -L = 512 -KI = 0401e0696f43e64d9b3d7b90cbf49f7711bcfe4edfb52271e08f20eb -IVlen = 224 -IV = 4f6ce803d61e233e7cf12d2a4a793066bcb2cfe6651c863e13c343c6 -FixedInputDataByteLen = 51 -FixedInputData = 203baa41039a43e6c6ebc98637292a2b2c2fd396ba7cd418df8c440a2457a1a5da20e7a51e583eaab9262cc6fc4aca1d9f6d90 -KO = 12cbb18da5407aed7588547ad33ed8cefb2f82373a92110b5adfd984d759e563620d96914c4765770735d4b56e06a539e6f46d27d12fe93ecbb637047f4c9d4c - -COUNT=3 -L = 512 -KI = 8313929c0a95e4f238b5a22feee505166d8dab247b244d6b4a06c418 -IVlen = 224 -IV = 4e3fc614bcbfae02116b6c6c11a7e9260b48ca9bf6dfea855c2e3ae1 -FixedInputDataByteLen = 51 -FixedInputData = 9600fef8eeab1131a5c140810d1ba1c925e6a4da7c765e89e654d6aa15bf41eadf110cb68ac72dcdc33cf2b31fe0338eb88db0 -KO = a4cc66b1e17c7c865be3d240ae35138d23aa636529766060143385d2eaef1258b3d350322fb5a47ed0e032ee4e154f08969ea4ec77faf45821a91815a441ce9e - -COUNT=4 -L = 512 -KI = 32eb35b2966274232bb4745a2f5b66fd543976c5553e432dee99deb7 -IVlen = 224 -IV = ed76b3d66960487df752b10d5e4882b170861df40621e187c9ddc4d1 -FixedInputDataByteLen = 51 -FixedInputData = 4a41862606dd188ee6bd0afb6b12260f33b74c24fe13d8e02e8301c9304604646cc755a9e99d87478df99b086f38eccc07bb10 -KO = 90368660435150d55c2b9dd17087533fae7cdf52a5b02af2a3d8642b6a912475e2af8027bb336453f57cbaf0ff57aa93d977ce65f0b5a1825581f73bf28e59e8 - -COUNT=5 -L = 512 -KI = 2c5ed790e6cc8dc1ea3db642cb8b92befe2d422cd59742e8cc685331 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d55f878b04cd0164a94c7af7d71d0b3c2f37f111b502cdbe5d0052df3013c40270b820182be7820bd998fa1fc17520531be82d -KO = dff80027dad8bd1d27781b3e8fb158f3c619b9efa9c1ab2abaecba6e1b9d9a9b367376a2c84e08e7bd8f8e5bd336443302371495b247fb846fa929d68a541256 - -COUNT=6 -L = 512 -KI = dcfb83b4d39c6bca6186e42a76230eba02dbd5221f92ae6084c026a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d17e4946a3ef7647a691f579c2f88e523b26a9b2654d805b869d72190f560cf28ec79206f2533ce7f0c6d592701e2383d5cc1 -KO = 3eb1160f10fcbe61a0580e2d03e48769771d5f7bc81e939875b23bff50623121f385110b89be16d7119b919f782ce608d1cb41791a9e2987aa69151261eb7929 - -COUNT=7 -L = 512 -KI = c0b37a29e76ee5233945bed30ca9a6d722a0451051ad2c747b7fe7ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f3e9a0c40e4ddc37e3c7155f2a42debe4756836b182517ca9d37c17cd83389dbe5a408d007cf496fb1610b4a53408cc855c1b3 -KO = 75491fa419e03b115ac7cb8f3a6a3c95f534cf07c48fe436e48f9c4686aee40797038dfab0dea7ba1d90c9e2ac83245d250d0e4b530803dff2b936b4644e0c9d - -COUNT=8 -L = 512 -KI = 84bab40bb31c5ca5878cdc7bc837bbbe78a44212ba6571c07d30afaa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0bbad7e6372092e57c749af87a8f8f70dd6970d086e3b1c5d5e334f81b51720df438a3e1c4c7083c8d1c19c947342c9c637d90 -KO = 991e79989de3894589577642fec203b30cb99f38b49d95adeb0991884a7f1327665ef239c74e46cf05aad3c8a3e57008cc8c5a79316df7b79d8c008e53097066 - -COUNT=9 -L = 512 -KI = 69de06dddce326b0a56171d9872d74c01276ac03ce4c830b4bddbcdc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c83edf868a6235e3ca7f85c9c063c5b7bcb07ebac3d6a45e4c38541c87f40b98b93adf7cee08779521befec9d0c7ecc78cc51 -KO = 2354f358513004d8074cef213c84b4e184deb160935c195115661dc460369496d27acab2b4866dd2f9429660c6f385efa94c7172ae6f3644b30523972c64c861 - -COUNT=10 -L = 2048 -KI = 4c4347307b3ca0a152c193d6d45627d4b37255de8b9d4a5385df9347 -IVlen = 224 -IV = 902ac047128385b78aff5d0ed92dc279bed3f41d8cac9dd4c9ee4355 -FixedInputDataByteLen = 51 -FixedInputData = 662b2a6189589682d7fcd00cac65a22d720e0f27529989bd64c076aec16c9648b9e0b1b82cbd7d4066c7ec3ff48390f08b2840 -KO = bae4e61b930120092e7b3ed7cb4ce777180414fc2adf744f3f690de228e66a6a5d7226526cf4f24078f1f7e012f8b057fbf5f6b948646c776dd4788a092079453d5e90f106837ee024707c818e9d099224b0c7e56eb272ea93167eeff687c7b2224fded2df2a6aecdeec865eddfd3a85a6dadfe61df29a5a6242298bf4d3a869d16a31ba9272d7bfe3c29342926bfbcb90b2bdd8140a6ab226c7510a54ef29c879764fffbd241a207bb43e1ae5f286d583a2a6675e37b5e4be71e7bad324bcc6fc665bf262eb351effa37811ae64ab0c1cb742f12fd4c3bef05af3c1720a54a414028f49590116e275b4b3e21d18bb3f9c1fcc6862ac747c5913a8b226bef6d2 - -COUNT=11 -L = 2048 -KI = 23144a75f5a9f221c75ef6e8b889a72d483b99c68aaa4105fce9eedf -IVlen = 224 -IV = 4a19f55f8bb018179e9ba04cfbf1825b8900ca7dbae1dfc7e2b2dd26 -FixedInputDataByteLen = 51 -FixedInputData = 2ce23559f937e5e6ebe60c66267aeee0fb4962efe9e92744f404b1a0e0fa8de14617fc96dae40bf19bb8534f8a1169fdae03be -KO = 876ef394a62027aa976df390e92ab2c8825272b1eb3ccbe6bfdcd3aba70552cc44d916c04f303be487cf5cb567eaa7c45f5ed757239e3093d66480ae68e280d19bad6180b7ff929b3e8120bdd003183c555b87d89f30731127f0b8b038d8f0437ef7e32328cbc61a740f478a69dfde909edbb98048d28dd396433ad473b0e690c95f1037fd4fa34799f8fd5e8bb7bceb17f0f29cc6d126525f3762f5c576ad29896772847a1d142494c90016dc7c2c6f62056e2a6cb67a2c956fcccd79a9d54faf53f23cc104315c0621945d76281da60e7cd1492b6003533caeb99268996a1fca7997aef3812a5261856cd2694f5451d905efb49e7a9566262d47b2cef41b11 - -COUNT=12 -L = 2048 -KI = 614996645c1f35e2641b16b8a3e2ccde1817a28bcdd597ff446deddc -IVlen = 224 -IV = 61923a8c5a920aff70508c72c9445dd463027dee601b8b342893bbd3 -FixedInputDataByteLen = 51 -FixedInputData = db09b48573f12cfcda6518969c73722460be46b35f80dcb521a2421d297625b87b2bef6f6146c3708519f5b0fccf842532ba64 -KO = 79eab56a9b22738934590c8be4f218cbeb307764be2babaedc32e75da008c1deceb19d0e8d2240053c99605891a449cd41a8e8f034a03dddadebb1ea387174a92f375d84468a473cefe91e322507ac42df42b1ebe1fd8afbff8ba361d376b30ff81259488124c71ca54c0a71f6fe1f0dd0ce35f646922385dbcbe603e7949a59b4237907cc02a7d01b82465b87b49e9b5ed17e88240e935e7e139b1f01557b26426b3f33d6d5d874be368fc878f94bd150f8a2840e372f66569a00383d4f01abaf9ef1bf4c7770fa02aacbd3bbafe50f684c99ee11806bacd10e864fd9dd4250b7d03949dd97058421bc32b9164f82a692324d04b5f5f87ae41bd17602aeb29b - -COUNT=13 -L = 2048 -KI = debb02dc78a4b2cd6e36f0beb93800dd38b5002a7845bee39f8b03f8 -IVlen = 224 -IV = 7497f9f5ee9aa18f8e344b2d55d00d07c64a6c45aa3687e91df61baa -FixedInputDataByteLen = 51 -FixedInputData = dbc04bb96f28e06649f24ee02dfa3f326b248f3cf10679325edbd7a7af6eab5d1ec2afebf95813efbf416d880a2ce2ebc3d1c4 -KO = 7b0028609e3e5267c88282ec60f3ddfc858f34785902a9a49d2ea6a15e7923db17dc16fe371aaa1ff6f5e2f90f0092023d8dcf9be7f7dfecbfd2abb066b71d2c6cb1ea054f784dfc40dfb0c8bed694d59cea14564d9d8c0d15a64bf97040ed7ac41888d8bfba37e79ed03f55ea9362d6894521d8e57319529116751760a487ef1b880d5a02c421d8de6a3215ed380f63f8dd7e86bbca5b0cc563ef849c439a80581088b213137963fc2d97b9f249e67754a5056bb73ffeae01e42a968a6e0b11e835cb56aad2041d4e0420323294b0b7c811deb27fbea019a400ae45f4599ef9933df2f2292a5ae756097a7605fabb85adcf025709116a77c7321cb60d8e2db3 - -COUNT=14 -L = 2048 -KI = c8dfa90ceb42f4ee530e184159d9185a900aeddebddf2661720feb9a -IVlen = 224 -IV = 8fbc8624f5491e735300311ea35f6f23b7fc51bdec94068f600060b0 -FixedInputDataByteLen = 51 -FixedInputData = 7079295ff1a75c141bfb32d31d3e84ce976912a8b7b4eb8c9cfaa4e0e5b79e544de8e3b2ddcc91f7ebcd3f19b4f0b4d9e2f920 -KO = c4428af12b4129d7bb633f0902205f34ccadf5b665e73e4ecc42ca56a4811f4955313518d062f1030b95a93d76ab946b87f5970fa5e296612c94cc543188374a1031078bc57d80bd6127090c1f2f07fd222d7d17e83ee399742743b41f74fbdd3d97765c112b37799f3fa118ea484c11e681912fab54a8eccfa7c410437915dcaf6263958223c7407fb1fb498808660188d97bb8aac89d6c9974007d264372455886663dd1b85a7ff64e2af544dd80bca2368456199c0b11b1a02a7029048820ec4d5cca4719b7d4ab2ff8d37bb45735d11fdb352742ee129bd6f04200888dfa4e47d30d236be015040b2344182e1d750ec1c9aa7a8764fa5dabdc972c5662fd - -COUNT=15 -L = 2048 -KI = 0f121453dade9b17209b2b212cb63aef6070c276d54d951d78121434 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91eb7f3e4413cbc7025f58e62a621972161e10f93a26b2beb67edb6648acc78e8eafb5c3a30463a46fde4c7074c38bd32e694a -KO = 3b1ea5c693c1dbc5436a32782c26fd22aa14614752d783e430b8360e2c59213d4dbf0bd2d878d5e372fff51ad2e39aa57217783a178219f1874cb56d006a2120313131c745458e73d10ec299f08792360e69e643fdd015b05391517e2d38a8af788461ffe665e77b1820a661b7441ef7d36b02e227f1d79ab7329bbe48ffc031bdcbae1cc67e54b26895d4582f2ca307525ef92508cbfbb1d4aa2db66fcbf69fe48f634c6778a9dfaeb9fa495e680914ed2c7ce7aab8588a22ab3296e2320e2bab7758dabbdf297196b1a23dfbee35873fa9c86d0219dc2c70fc9751d75c0f483b0eac75d451ddea01e7e832bb57264d7e3d5a9f6fd01ced37af8da900981105 - -COUNT=16 -L = 2048 -KI = d2539bb3b6b1b008ef2088d3eb8c9c7f73b28a5ae7bc04de29115b3d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1974d4a2664b1e17941b6675c135fe5201432107d2361101a1a6c88980547dc0d8fa8450bebb8aa86f5e2fa52052045b2772e0 -KO = 7b7f93b40080e6e30ecc7556a1cfa70f3e439da95f776ca6ecd1acd8f8258fdcb694960f3026f554908faae6bbadcad55f7bb6e9ca11915bc600fb4ca3314e0f2b35428f0e2cbd34c6737ec78052d0c4fe5ed0fa627e4dd5afdb77df9a0942779c96c7466cf0a34efb14ed50d56f82e83057069404e7d9dfc65f415510b68b7cb30beedc7d77503be859c7ae96753d4e4874b3149422f0dc80b58d53b362e3eba301ccfba5af21dd925c6d9b99d6d32401f1f0a5cc60c8deca1ac220e0df1230b5e6a34b400c836ae3c2e0e681626bcbeceb69ee4c646580a4cbf5b1215544d7f3fc033b6265a8f0cf062355378ea301562f32f2e7cb012d67f8c020c9e90fb0 - -COUNT=17 -L = 2048 -KI = 71bda845d631bb4db29bda5a653c487003fa837ac13274fc7878f0a9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e4eec3c3bec18393c3e63ed9cdf1e04dc13cbfec81e33bd430e9a317ebe1686a10c76fb2c37a5e725d9e1b0281b46d8720824e -KO = edc2bf0f1d6ffee15e4a30baa5a5b670409e1a960fad7f2fb4f8f4a5904ccc192c7f262ba6e987f137f335f1a7d8af04a1e1008a20383e1343e625a057b35e12a310ff6ce120da4808071f47006bdf8870f1eb3571493f28f4552c75a56c9f005de4a1d699f42dd2d335b866bc29cbb305d79b4739ddb3faba2dd9b084d1301ede6ae702755f0b671df8a87bde64da1d9e428808891f5085c30728842b9b5910b9dd567866063ed57e3fd7d56ceae89671e5f30476fed21cf1ed92061869ab65008530d5f13442258e0b3eaf52e3f4c838f55e1d5cde9ea4e9a9200555d29328bee17591130f108bbc8958e9a6b16b86e045a5634db1149e1941f2a7c85665b8 - -COUNT=18 -L = 2048 -KI = 4c27d45bebc5ce3d909e40fecf502f17f5656868e7a8ad082e71569d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f4b3ea7c3ce935c7f5400b106c2201079053d64faaea73ca882bfa9992bf8e018d788e1102364b14f2e776376bdfade66dbae9 -KO = 4c6ef788a80808a5af2959e00ac94ae7aefcfbee516fec451a4e6187fe90215c0cf7432b429671e19cf98754cca043114bbcb954007a79dd5298acf31f77e235f0185df86874fc4306c65b1c515ee63290b358da9253f0a584b3e83c4c5a38c9cb8eccb00361b310399ea05a0141f38350c1c0096f9cf1eac4308c3a99b39f3eae4e985ae7adde08f1754db24467f5a2f985457e633f47e7ab4badfda1231fcbb384aad87b4aa2ae0c8e045edafbc2f4e19d57e5cbcf41e7dcd416e2c5565819a4e60c9799cc12edb5109085534e296c43149fbc84a78ea357fbaae8303460553b59ecc24e7a543c9f084071cb2649d9b4b14edb3d58c83d1330c841e1bd70b4 - -COUNT=19 -L = 2048 -KI = 6598367dbcb3e14386a75c6843fedd9803369caa1601f6d7d75ce07f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78f8ebb58c555da01e590afa8f871bf9415966db9df766b5d841e3f4bd33cf8fb696571523f5902a8c42f6bba0c02c797f5c09 -KO = a7178b3eccf1d173ccffdf95dc7536d1bc01dd6f50f3a9d283217726c83ad1cfaf6b1a9bccf2a848c0dbf8efbc46d4d27c73c181fb64cfb7bf954db5c18fd3ab912ef0d2351311848cd70177fb1d882b304c0f503c0ee8a67939d13c6ff32d77618779e2796b12d7e4843695227c8f37b84db54cee464cdd327e3af826168f5fd1cbf79da61b0de6f44baf07ef5ba90511a47d59b06174e0f3d6908db00087bc412ce0752f77bd068ad1a8ad3bd56357983df16197eff9541dd8af8a247ca08e424025ebbd22620fd76b4128f1b2b0aa7dfb40b418c4ca6bcc34bff41cf00f62b78345dca03c279db8c9a1a802447ff9603b6fc7f1cc8a5a2d712b463a048677 - -COUNT=20 -L = 560 -KI = 29cb896a86479363cbb7aefaecf9537b831a1a29694d48c2a61e187c -IVlen = 224 -IV = 98821f49f4de81668ed6644274df39c4cb41ec2a21cb841451335cda -FixedInputDataByteLen = 51 -FixedInputData = 77ae9e1b3add67830a334b234ac84ef4f1ab0f534b85120e472504727afe411c61755f5e984c945ac31520d15da8bdfa489bf0 -KO = 4dad989fbe47467cdf4f1a57126103710360eeeb67bc316fb9d711d2958988a6c5e6b24d057520ca04a538ebfd2644564f996a7d56258b4da7167166871803b80d63b61e222b - -COUNT=21 -L = 560 -KI = 7fb54c8cceaf99ad6ed2a28e3a6b9a4c67dafc79ec669aa7e5feae79 -IVlen = 224 -IV = 735f217fce7c6e22baf25ea5cf295c0f05fcf89e0df389737f4c1158 -FixedInputDataByteLen = 51 -FixedInputData = dbb8c027794ef08ffe972f00114171df6d2fe14bd90e63a379b28255370890c96afc69b7fb31bc6ee98557185c801583f4e8df -KO = 1a4dd5fa833dab5ee6fcb49c0fe831509d1de24ac4444e8be1cafa387f66c823fc0b5db52c7356522fa89762893f48e8cc46198d34230de037056549db165a39db1f9d4c186d - -COUNT=22 -L = 560 -KI = 277ba19ca44b38be96ce9e4ef89bed88164f03b82b36b3df0c271faf -IVlen = 224 -IV = 1bb4d40bff5b5f3c2b46ef9b1bc0e97695f727ae81fb9c76c30d68a7 -FixedInputDataByteLen = 51 -FixedInputData = a773c8714f78b30b83b6eeb7a2f82e0a165c4f0cfabf4a168d2958d5125e5dd74190d80d6761a8a296988ef5efe9e40defdd7c -KO = e1dd245109390d27471627c905eb25ba38779067a55d05b27d5e4464093dc12eccaf3ff078b58472af81fd8ad960a1bad72faa49c6c3513a81ee32657a55f6dd7dc6e154e286 - -COUNT=23 -L = 560 -KI = d9169cd2579a1c4e7592c7f41db77c9a79016943a5c2c07d06e2bd45 -IVlen = 224 -IV = eecea88f9189471b4d959991d07c5b502d402c9234c28532bae871db -FixedInputDataByteLen = 51 -FixedInputData = 345883919812344194db1cf94479bfd54dc65e88374994c61acf26feb09f13c609383212022951b0201b1cdde0df7affba6906 -KO = 5e205c6049a6f62bb21bb1daa3020cba59348bb0b80395bc0c3dd9d20f4aae03cfb5d4b7b30ac1b52ea74cadb49ee13edec17bf77bc4746203591954a5c1b1d617fcf1e91afe - -COUNT=24 -L = 560 -KI = 2ac4ce22f5d61c73dc86646d4de187162f9f4e332f6a09feb41e6ed6 -IVlen = 224 -IV = aa94dc26e8b1f60fea4bfdb24968b224be153ba0b971a9259e9084b9 -FixedInputDataByteLen = 51 -FixedInputData = 6c46134109638af844f62e28c80eff7f6ca3e008786007b715350a376bfec994119573373115933a4150a952892720b0c62f66 -KO = 928ac0418f3d68eedc913fbe10f1c02ad3761ef1904d68e50385b4d97ec4e8e4f083e8bb62efcf33a739c5dcfc90f8718bd2b0d2751c10bbec0fd63aaaddc13926e537fb094c - -COUNT=25 -L = 560 -KI = ba00f59a14f87d377094c24bea2acdc36c1678c0828fcdf2ab4d5b1e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e35d5c5e9a76b217f8a6449686c76af2dba8c5a72afa68670233b0872d6037d9755ff9c635e4963be41a40b0c0536cfc7e1d0 -KO = deb56f809f1080298d8c0b386b127d40b2faaf84c2c305dc4e00808d357bf1a0737019f7b8a8414e4fd2b0d185a49ecd760fcc599f438c18c2039e4b50e87a6a7f0f8c817c67 - -COUNT=26 -L = 560 -KI = fd1df6a21f5f939a21e47e68e0fc31b31f9f7ba0d7cad7f42e553f14 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9ffdc165cdc95984a116d78c6d11f41382a10f262e82c83b20f172e7224794ce3d8feaac9219c3b092c016018edb9d821176df -KO = a755d2416c651fb1cbe2b3949d691acfc16720334ad406f6ba29a4379c022b64eae778250ad59e5730b07df29db372690e8c84080eee791b195d8a1c0042d84f8f08ce8bd3b4 - -COUNT=27 -L = 560 -KI = 32f4c5295eb05b7053355295b87c42e8646ae02cd9d73581f41f648f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 95626e466e1c44ebe1c7b04080659dd473727e52b0f7274f44e68d051dc7e2b8bea265e399ab0c2730b106aeed06e1bc504120 -KO = 039a47791d6dfb6fdcb73d661f11f1b5a61a9764963eb00bdfbb364ba0365a7c75b10e793ad09fde4b7526baa592ad875897b9d10843f03c4ddb21b89b2e959f2384e457ae1f - -COUNT=28 -L = 560 -KI = 0592e55f05e561727141e53f5536f433a1e31b67965d7a61ecfae43b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb0971c6edad85918a6114408085f2a8608cc15b587d55d13f5444464779a6aba0ea4e4ebf04ab78a1662ff39ce2a02f3ba6b5 -KO = 4a027ffbc6cd4c4d58c09f458e30bcdeef208974bfa30486d6b10ad9b7fbd89c73a5951e0051de26133cfda89a708a4de35b8855452f8dbf2baffdc49dc56bbcca4e4c1e672f - -COUNT=29 -L = 560 -KI = 8771505e56bdcf71ed645ff9c68f5ab344a2ff349baf75b2d9e408bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57551e7587d267a36a2f8a5d732de96c78bd313122feb19454253b3aa8bce776e7fa4999682edc52b78c35b218b5bcad9e9ed6 -KO = 2c7b8899374c9df9ce946c80449f4645a988cd83fe844478ef9eb06ef964640a208d711a18720281f72911c804df6dc5913108baa0fb939cfc308107e0d607e4aa8a866b0265 - -COUNT=30 -L = 2400 -KI = c044f592a4151e39d60b89c03ace98bdfaa68f557075b8c9adf313c5 -IVlen = 224 -IV = 45363eb71ade425d61fb9004b01bd4eb52e21e1d6e21417216ae3f6d -FixedInputDataByteLen = 51 -FixedInputData = 040b9c3cb36f238267c8d92d86c15142ca0780bfc054230c8758581bc2775ba2c8fce07c20f16ac2f8ef52d6f566ff7b3c9cd6 -KO = e51fe46f3136b07edec12ece29959208597aae3251ef8b7d5bcfe0e1103699a1d0228071c77ee5b0e78af2ea3fd4261d43bea3e0bf18690958b1b947d0701b28ec72ea0a8eb9a2a450b48e8ea34d8379e73cb1ed435c0c15a37f1845e193a8347f21a08a18bc5e092702f237f8b411232d5c84d0538584d2b8cb6dbc4bb7ea8f54ac16bff96e978c231a56fe06ce070d9025a3732e81ab17c893c388679c99e2b64d07f9590cdd369a3a47af9f2ed9c4559756854e5b280f50d1c3b2f970764e3402fd6beaffabd6d6523b0956479f3bf4c6fe364f4d5a0279ee6b7358cdd43b9e8d6b7b1ac78743ebb1146e602b5256955cbbb700cad59de36051becb8ddc16f2e28787933f7074d964c8678f5893d5cfc31a8716e28a4590b4d64b2245388f28efd9b1ceb70a70d646d3ee - -COUNT=31 -L = 2400 -KI = dc252e2d7ee48c65cfe6464db27106eb9ce8def56dff853fbb8c65b6 -IVlen = 224 -IV = bd0ba4143dcda2ea0f05e34ee2ea70f5788b2f9ac870ad0e8a821f39 -FixedInputDataByteLen = 51 -FixedInputData = 447ce71302462970ef14d4241388890518c3da9f80e1e2075e5c9efa0d4c807fc3f995b6756e4a694de82b2b0ba246d0cb3d8b -KO = 0a7517fb007da9533e46975dfbf77bf619dfbe8759e57b9c9c86a35fb6fb70b9c927ffb95ecc9964c7651c1733ea2dbfc8e3f7ebc9d274c91702b3245dee798b23ea4068820b25d4a7a9f066e21f2d058e5ba047dfc8c32a06eb8b58312c976975bcca32d4ea4308335d530cb4ecd4f40fa337a9fd7fba135f414a324d192ea0d5c05244ab704c54975e3344022f7c3b9175e9ec16b8702bdd20f8ba745ed149df5a415bb290432478447ea5442fb104d26c97cd80cc6e7500bc9b6c16ae66797dfcc09840dae8926fc5bd7afb897a30f4b4b860a1272df7e07d16fc6da2f083417d0bb5fe4a8e39ee57eb9c46a4f09a8f97193b1722161f53b49eee5c27a61cc36c68db07a540de700af1a3568026b2c75977005d0fbfb78a924d3a005fafcdc81ce804f67e23357cf84014 - -COUNT=32 -L = 2400 -KI = ec99e99199f9307dcdb2dc45e6ff920deb89f52575ddc50a6a2cbe89 -IVlen = 224 -IV = 9064cf2db93429b12a7ed64b95e39a987d9db4e99330e8afea53b25e -FixedInputDataByteLen = 51 -FixedInputData = 56aeffc201acef59dcfe2e4e014e70cbcc356c1ffc60d04fca187065cfef5db4d4f84020560db6b8e6b8b3f4b0cf8c44f76bf0 -KO = fcea8dcda0917d4943776b414642c28bc056e8de967f0a513e19e1a8983b24117bc2de12aeb78314158d54f33ed7e39d3ae35adce192ed97cc5053cbd1e71eb2ac3cd327608ef3872f38fad4a0b9d0017c4596e2670b9cc116eb06d8250517ee163627473643131eb5ab0bf2a297fc6cd4a1de1b9f9019cd70700a9ce8082f4841d3f89a69ea7a3b04755500fab31f4d6e20ddc79b73891a2485129bdef344de2ff21cfa99fe06fe6f8ea42ef3ad968684850242ca0905c7fba26763f4d89353b094c7f95022c666a21ab3f77a2dd795d9f79fb8f1fb279e89b6686ca75f1dee3f69f830facd7560a16982d3ff111ead68811505bda48cc48d3ed670ba60c401495efce154488e0e9345460563167d3a1faefbff22527831e9a93e619d5d9b08e2446019beaab4eec5bad0a4 - -COUNT=33 -L = 2400 -KI = af4eee2327d968c3a40a102aa5f5a779ade2b42c71623cddcce5332c -IVlen = 224 -IV = f2c14e7f63117ef9855bba672aadf78881cfa3e24ae30760900d94dd -FixedInputDataByteLen = 51 -FixedInputData = 101fdb7a81f86bc0b0db139462c18b5a09a8d14ad0050d17926d16a6611d8d649ee36b8682467b22b5ae1ef76b6500acffe0da -KO = 7fd2def0ecca24e870f38d7ef2c7dee6869ff3afe41fbcbee2c192f44873afdab775f902a35d87e80e0b999b3425866631e1d53266258b993abdbc1755d0ea889cca3d8b38ecd7e813122c3c66903b3f4a102622905362d8e531fc7ea893fbdccf4694860e26cf71d2bb98d42e62df59d9752121e7d2ecedd35dbfd99833313c2f77244cfdd26f478df35f8685e108e16958d87655de3a1fe5b9dad6a447eba84fd2770fd6b089f0cf6bec2e014b165e0ce086736d026e7321698f17662253dbf71bc3a37bb386a3a5a2878e0292e49e1dd742ad65e959858de775b8110dc4b9bb8b32d07a76e57ab7079d9bea37e3de4380718fb49d75ee7044fe8ef995bf7d340eb18c7ad89ea5c27bb14e254caf0f2943706a578e7dcc73653b97723dbda8df089aedda06b343935a5a5a - -COUNT=34 -L = 2400 -KI = 7732448e7cedacee4f1fb807671911dec21bb508a35473b54c06fa8e -IVlen = 224 -IV = ace9988d3019b72b601e88ede26dd28bcf6afa8deeea4f5de5dcd010 -FixedInputDataByteLen = 51 -FixedInputData = a1bfaf3ad7a05be230c3019b5923cbf0e0d5ababf3cc09086edc1981e290ef3894556ffd139e20b9b7e7acc1451aa378ab71a3 -KO = 4ddc72379888a84b247f0a8779b6b6f493c1e5e5d7829ad2833d0828cb610fec54fc28714a6f2f404e78c61f01f36f1047e3810da25cd804f8e3a773b2cc73957aec3579253044aae9a1a8fcf1e9df4debb84ff6ee32a9d3eca1ff9909ef27e43cb93cf9270ea62a6a17d6984334a5f4b9c1e43f6aa185b354b13c6ef1181a777b4ed9c70e446a3e57efc5b466b3b06a4add2ea1614de39b7c696b2e28e7361f085d99f4f047c0c41682b16905392f518410d8fd6f614caeabdc1d97044a383de7b4f7816c1161ae32ab6383fde5cdcda4ff79e0c80c386f55ca130398ba29d653935de914c7ffac3ce950a41b3b338f407524bb9c7bc5a750de9c0f1223592fe8782f98de3308696626140ec22b80baefcba04456eb0891bacd1ca131777fce15836f3decd0afe4ca0e04fa - -COUNT=35 -L = 2400 -KI = 42e5097bf9f06bb6f99bceb9d914a946546d4f53788ee11ab3486229 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f02cc7e1cdc946bd287545e0ead0be51007bb7ec51effbeb198a565ac197ebf0c3271117a2d169ba4b1d2a868bd10b8079d6a -KO = de897624ef7a62763b680338d40e4e971b6fea6e51248b5c0920de76d778a84a8d69ca11ad930359c572815a9da57e54f7efb6b807c3c9b9ca2a9fe07f833e42413cca5196daecb160a0f10ed899adfe4fcc1d0c8bdd7c9190354f47dc68aa92db2a5ef736a337c8d8433ea6052bf1454d7cb34f27371bdd33c9d480688971e0a64ce38989b41b2c501c5f7ea9c8ed120e1370da8581ccbfcc84339c963596e05d4d86b2ed16d05a5431fb51d55f6237ce3491b3f625982d20669ffe23572f5dda430fdf83801969ebb627b7c6b36e0caf3d8a3ced33cfc7b631045211fc553f6d4a2cab8c3e4807fd473a0eb90cb09f66a6aa9fab28733cc26bc3d8ec6e6d0b16ddbbff3f4880185bc7096df04d033e5ea7cebb9487d37fc555ecb102f1ea6cc76f9079c03be89bb85080c6 - -COUNT=36 -L = 2400 -KI = ad062bb1410378d4da7e3507c5cf2d6387a77102d608d97fdfd43a82 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3633a2d8a1228e635ac61c8ea4b3882eca07d0c34634c835d486cb1b9e227bad9eb1ba08bf10b520e7abb602c9d929d4c6597c -KO = 0b637161912e6874f83d84bea36b3240b0662755e283ba165988cfde1d07207dfe60d3330bd977dfc1afb9d8b4fee2b133a8673d33b7d30e940395c92c6aefa41096fba1bcdabf3784356bff1530d9bce4d8f7c1f5f00976cd17eca1456c331f410a159b3aa455b9db97263b796d033f17ad359ab69b2d46534e625d7a6723d7db20e3c213ba7c6e6984249f240f63844ab542049f2f0955c61cde8b46656090029286b06e7482c61b3556db71fe170ed259bd0b3cc1692a2cb955a018566338ec48a8c6a8356bf1ed7af0928fa5b6c342f6ca896fcd413122778aec2263434759ba13b05d2e095ed1783e9742b7300adf1ba65a13942d080dabd2f318386314c70b7961a6ac815a21de235a9826614b12eb682c28c1fd6d0b2708141419083b564ce4d7136870320c37933d - -COUNT=37 -L = 2400 -KI = fc18546e7a2564df22db74165e0495d3e5f8d58727a7fdbc391f6d24 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff011133b32909c37543331088e0af92958d31b7834d1334aaf94fcf8f70ba3b7b53587c7d697999325809bb75995912202bb9 -KO = b4cb6b234f1930805946132df2e7e0572df54434857205f5e6c763710165c1ebb0e3a3cb1db89b9436f9a42b797a565f3799ad8214dea4a6a9b65fbd81fceb6c98246a6bde9e0dfbf87944f630ac69e4fe957acd11dfe9abe5b16e045284eadb4927c0b05838ec5a9d5902a2236f9aadbc0d2b2b67a4ab7e08d46c6fadf02b7626bb7bac159ecb74f3fa680d8bf521e500c4a90ed26ca0d3a34855f4dbea576dfe8e5969ef639e1005d5c3c2dfd4a76c40e90a976a887414c870a4bc4f01024418622be1c46a349d6a14ae3f2714f9235a09cd2f5b9c806b5384197feec52a325ffee745316c36f775152c9715c1cff0307babd4fd8c2198c699c5e2ea5ffd4a1eb976f81ba370f8ba55e68aa1774403cf95f4f1caa1de52c59b7d56e827facd4a69b648482dd169030b8c40 - -COUNT=38 -L = 2400 -KI = db03d047e3ee4407fd88df3d573bdea5e6fab7a38f1af8f949dafe20 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6565a77fc61d4e8a1a17117c039a29aa0f2bc9a27a22ae61627fdbc1d19d0b4c894ed1e6db12cf8ad4902fcf182d47d363f0cf -KO = 0787709c22f3d44800a99fbc3cd7f454659f20fdd589d531fa7a764b3d6d2623f6c80f5a90d205ff2a7074a90359f29e3e233117024e556205e9ef355c8cb52f36af8ae27a81db8eb98574ced48d46049d1852a24d49de43251b751485d1ee5e1c2a8a9dfed4f87b49b464175b6770cbce03dd0de7280a1539b5ede540f7a74e0c68494ffb384ad7a5fd49f2143eb7526524d9c8d18af494df95c396ba3c2ec44113471875db0b4eae883051293afca41498ad1aee12a8e890909fe7a10dd53e02b116cc8dfe81c2022754d2d9639b56858819ed771412da29301b6143091cefb57d1db571341d23f73ffe4c51deca2e12111175b0ca077e7b4d1cec2efe912e269ace9abaa74d6df881ab11490a2e92bb35aa2677bf21b1d0a7f42eb46fdf1164bf86ff9e55c3215fb13df0 - -COUNT=39 -L = 2400 -KI = e745f834ff77bbc8a9eb5027e37f9558df3f8a500aed5459f051d1eb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6ea89ef00ad4bf367359715b2874dd186b34377c248e955685b0e31ba222e6c36a49f4b56fd9ac99c9483e444bcfb56a8d3384 -KO = 81319abf6768dc6779e51cc34c473ed94e6636615745c00bbd5572629c3d96194001d5f4b79e4838d4b8f961b12dcafba4a86025045b3197ed53fe7023b1f9b4a3102119a190443901fc2972aab4c9346e43dc3672dc453a358250c37e70ec2fb1c34617709d491a04d0a0c44e4a92f18275410f3cebb072f1de51fdeebc0b03b26469d0dc35bb9b2cdb38273e4c88ede9d3fed30bd008e911eee32233d4c24c0e6fb4b6c9bd6ac9fd8d38c1d762fa2e279558af8bc2d3ab1313c3214c3941d4fd167607d5edf8f9fd43875cecacfedd85d8c5a802c43bae5914ce525534d7f4eb8469c9cee5d970f38a1f3db6f0e5183cf16e090115e44fc373d195103da54e41eb068dbfe3482207668dd6dfb0bc448fcd085611b67231e78475ad7b61a017379d6bcb70c1249663b645bd - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = df09bb5d3069f9e4ecbd4def80cd38cd16626d38c4013baf16a4ce41 -IVlen = 224 -IV = 633573ec80a40d089d27e095cc2f871f791f71f0f10ff730870c421c -FixedInputDataByteLen = 51 -FixedInputData = 5aabfd6df904920ea5ca068aa18e5ccc3d9304d60dacebc8486e60e5a9fe0637818e4da7b5455c42ace283d4974e00a8c79f1e -KO = fb876225a24db4bbefd1f6f0d41f8fe3e8ad403d88889ecfc41e4ed64d688db81d36f2cdb01d007f7d8bde8e83a93f24a5a269c45f9a31749bdfc31e86a66a27 - -COUNT=1 -L = 512 -KI = b4383c01d261309413b6b8e8174f17d8d9e80636f6c4329f5f09706b -IVlen = 224 -IV = 19501e44fab4b0da8339fac6a4bc8461ed94bdc358aa3ec03db80d21 -FixedInputDataByteLen = 51 -FixedInputData = 0842969bce7bcde23b0b4583352284542337d1d365ebb633649c0023d3c4677d9ab23abea0cc7b11575013f98bbcd313ed7521 -KO = 32dfcdb27451a928d92c601eb0a09108fb7c58b2300c16521b040869960d593d42558baec58f9f6ef7de1ff0933d081cc6da4b744084b529fb5c235372933b7f - -COUNT=2 -L = 512 -KI = c50cb4993070c997f37722c341f84bb1ce76cd0e1c3d8846933577fc -IVlen = 224 -IV = 828b494fe822c1c41f9d4f55188ba44075baa3360f28a091ec0ae360 -FixedInputDataByteLen = 51 -FixedInputData = 81a2ee2441d17a58f8b93f1bf82ac3f919ace43efefdf3fd9f0a0a7007f2d21962c7cfb49d28b13fbfdd76c7e54fd906c8d65c -KO = 117e2365fa45a7587c46f86af40b74c499df252acd41addbda99231347c2b62aec31b04fd2fff7d0d3310a7b9f9ec1c4b52e78c056f64dd9d293be814b7cab32 - -COUNT=3 -L = 512 -KI = 38df75ef2561e35456e5b94e9e8862a12e8e45bf15a7a129f5b999a6 -IVlen = 224 -IV = 26d204d9cb119376a134e497c6316a5e2c580a03598c0d8564b5e6e8 -FixedInputDataByteLen = 51 -FixedInputData = 0da27084abbe83eace7eee5e8f1a7bbaf8715c3400d5ce4e2555bcf91d90c47a4fb782ea3a3de61b6bc7e3fd81f6554826252c -KO = ecf9c18e3a0e83295f0697347b48606f0044d1ccf3c84af5ae9847c4bd0d418727bb5a042cbf9870e1503e8bc2dd2995f96ba1135c95371ff783cbe45e808d13 - -COUNT=4 -L = 512 -KI = ccc8a92f33cf7cbe419de48a915c27bd981886656c185d5133717b13 -IVlen = 224 -IV = 19177949633abe2e950b9cc5e88530dd4fb07d318106a7a77dbca7b4 -FixedInputDataByteLen = 51 -FixedInputData = a26eb3deb53a6878cd6c4bb1d98777b0885f2885f7aa6b56c1cf5d3a81aadd31b9593af96fa3b4b4692c7c580e413f485c243b -KO = 487c277780e2ba4ee25ba03c9ae8e9b1d77814a43000c38f0d2c182906336348b760024e632139fce6cf0ae52fda8e165f3b017775c2dab874c1b21aa19207c5 - -COUNT=5 -L = 512 -KI = 31d259f2ff6d05352dddc593d0bae3708bc7f14d097e8ba1d0e218ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85ae7926fada2cf9a5e0a90c092cb5e70eb2587bfecbc074cc9a2a6afbc1a08987e3619ae5c8b2f1d1c5a4192162a9e400bcc3 -KO = b26d195956b36f4663a8eccc12f52c6f409dcf3197d905e6340bb1be1ae2505aedb88dcec0647f661219925b363a47b31daf62d841a8b47c7b8ea26b4279e2eb - -COUNT=6 -L = 512 -KI = 05d8c9cae44a9a6581741af7453290da6448f759207dc8b22dc5d5bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b5b3429dc25e1777d9ca27ab1dd2a7be7708e09da68225f9ad55bd393bae8adde5233a0a2c74186354b8f8cb3f66d850fd8a07 -KO = 67e05b87a846215c8fa5d045eb1575934a536ae17bb66507b465fadb9bc5ed645c35d3baa12bba05fd2038daeb8783ae2800981f6e74aefbbde325565938af94 - -COUNT=7 -L = 512 -KI = a649188d1b596f04df2abf63d81854e7097c98e0dd6a0a19fab7adde -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce714c4ed76ae89a233a1e8f05c7e54b63772e735b134e04927c617becfb5d93764ae0367788c3adc10bef1d8f8c138ef77af0 -KO = a05424821f9ef77ebf67ed1762b654292e9a120fcefc9da5d5785f72181b3899999130a77aa7abdb4cb5cdcf1a944ac86b270448a9c9683fe7a9bcd1201ab081 - -COUNT=8 -L = 512 -KI = f02bc4f7662737786b031a8f70af97ed3aeb1ffd73774b5d161348c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5fdf0ec0e0cb95ac45d59f8f957a6e889fca279b45107ca4b3d9a3dea05e770e6ea3c4bfcc6c7fa70536ae2c8541794dbe71cc -KO = b45e6c59a2653e42937e4d0f68cb2ebfc411411c23d2ceb0a8477749ebd3c06b5ed58d188917f00806c935b489736fd7f5d3273127389d5a5bcc003e494a1abc - -COUNT=9 -L = 512 -KI = 472557a22b0eec1cd631fce5a2782c530c462fc5bc221b700453bd9c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2965bf1b5f7c330b9b57adf8dd304a1f65d0f15d4abeac8c598c0fb2ef7344d42fcaa3f2360d22560a1a0843418a58edcefbaa -KO = 903fab3e6ae0720869d91bf979188f1dae9d926fa7d9a7d871a994ccc3ecd774768ca19537a19d6ec90032a96784784701d3f69497b3c412d35e04257fe71e67 - -COUNT=10 -L = 2048 -KI = cfc43770639271e3e6033bd59a3b01ee8ed8ce940aa541c1e8c24e36 -IVlen = 224 -IV = 3cacd16c414ec6d62fd55d8912c9a84ab549b6fb6ec3778ccd837178 -FixedInputDataByteLen = 51 -FixedInputData = a9360a8523bbced34a0dcfd53170f364ba86d32dcddd6bbe56c4772ad30503df2881bc4a1721e9732debc3dfc439e89c4a60c5 -KO = 6464b2df8ad8cd25c532d9e2f511c11dd1a69b5e77eceba7b274e81913f5d0e21696fec2e9a11e45e8f3fbfffdcf1edc75428d95ff79d39da99546ec51ce5043b9b28289ac1faab1a73f52a30ecf37b5479b563181f6aaa647168541f4c80faf452beb69c4cb2537d12814b605465aef54bdd24595dba1ba911ae27c70c8131c71ec2a886fe7ae775b57c71cc9a44691ef2660f0e5963d74a6b042017999469ec1e67c80392353320487156825fc34c3801f92fa67128be27488659d352b6bfb89dbd94f55742fa172d7da969c815c22e0a86a2104473ae2fd919226fdcd0cd4314f5238901b8e785fdcef0fc57ae38f2d2274c0bcffb7860873b3f8fff53333 - -COUNT=11 -L = 2048 -KI = a7409eeb8b658cfeb0f43cd22597cfc2da08b6df977f0aa0f2bfe1cc -IVlen = 224 -IV = e118041caeb02b5769c3e161c290ed8f0b5657e9cadd545e56dca49a -FixedInputDataByteLen = 51 -FixedInputData = d895eb5622c9b773e40ce411ee8736f43b447652d5b041780084660d618a9b3bce0743cda1aa4727a9cd965c77eff190b09f04 -KO = ff44ab8c34bc2d5dff6e99aaab26103fcb0369d11dffedd192ccf7c31de35cca22edd39018d96c534866a429de2726e074f87890877597ba88fc85c76e3afbc51ef7ef30a17839f43983f014bea6b3bab1ff19ded59cefbabf6b1b59ecda98ab9f7954763c66cfdf81e77e50a5237cb20259e09cfc71ff29945b4aeb8b01d621a2afe2225c2d3a6c43381a5a5f252fa0cb8be92655d08c3f2cd22577d1c88a34c1325f62cbadccfc017b8072e93ad0abe53c3c2bd16961f1872e65f682a01243114624e4d6eb8e0ea18b6f9fa4b62ae508723be52aeefe1d157529af6a6385a3b1b0e1357206e737ebbd178a35186ec16b9313b280c30fb96d677fbcf3a105f8 - -COUNT=12 -L = 2048 -KI = 88c03bd04aa6ca1ee091d84bac835b387e3a2f15720869e9cc1fd167 -IVlen = 224 -IV = f9dcb25e79bf400c64a62168b446cecca99ae76cfa43802196b41206 -FixedInputDataByteLen = 51 -FixedInputData = cb8ab67e1a72f099aa685a9e70a37d396256400d35604f7994be04c9397efc68d4c88b36cc65cd38ad44a4ea2fb83615ee3be9 -KO = 806a7462c6f16178a4aa4dd0e0545e26468a66efe7ffe05b6a9a565c2aaec92365c8b0028d6cafc9c30cb81e8b45bffa29b6632d7216100857a4927f44940a22bc5a44cbecfad720e00af0aa92190aecb9597c5f91c94eb417f5ffa086c2ce15389457d75d931f2d2e436d3a22fd91ea34ae983d659a4178534fcac535eb09f317eb4502b436fe21ece157bdb72ed6cd5c5fcad9305f5178ab33d989d7b201f69c0ff730548e75f2e51b89dfb7eaccf2cd8ed7f61a9948857252b39b5b9383d9bb65b61437ca8b4b3b35bc7b211a4c95ec9dae9685af1f84645f9b460ed5a9dd865cd1cfded1fe38dedd179e55a9f3d1508bd6d1fdaab742a0ac3d98364e146f - -COUNT=13 -L = 2048 -KI = f2db204152ea7dadab848d09c2e46cd4b7f9ce3119468e473032c347 -IVlen = 224 -IV = e2b055cdc3daaef9be9ee2812acc86546494c50c1d5e4711832ecdef -FixedInputDataByteLen = 51 -FixedInputData = d327d2b9e4309be9e8022e351b38ec09bb7e9c2e1c08dc1b70c4d5bff3bb6fe9ab283c9e384ef94f8e3f203735f9a254df7892 -KO = 916d3cd6d693f2666de2953491ec2b43ddb090191b4567adf7510f2c4ee45e17f01d85a02de23f3347886cb0475d00c39b97c3ed929e577387ae2565c5089010382ced9e38330bcda4e6525f824723f5d61a8f8ae3e4c3793a18e93597651e785bee8c257d9564847c8930ad2431ee317b837bedddec237f004371439d7564d944fa442d35d9bdcf4cfff2c80cdd4f00fffbaf7e0268ff04f7beb3c42418ed36d4ce1d68ae75a9013c98420149b8adc1b7c2ce0d07655a189174929eb905a5c97e2c65b85a1e85c5a6eac73d2f5db5112c74ce9c1da1f523c6392145945605613891eb99412654dac46d32fa04af74fba684b8b8dcd50321e358099690f6b41c - -COUNT=14 -L = 2048 -KI = ed45b8923e9c579df8d186d45a6f7079b05c899f12f24d73e743ebbb -IVlen = 224 -IV = 268bd94bb102ab060fa034004bf2b6fdf1fdf7c6f84fc2c1a5a17b9e -FixedInputDataByteLen = 51 -FixedInputData = 9ac9915735c8b16a40524be271b69575c0e6098af28cf1141d995c50ba83c57ed858f087b5cd294e8071bb2f279f5d511c8225 -KO = 0d0d06b7651ae0c8c28338c998747516cb27a6d26424e060f24d62832d3a68aa110b4787cf65d7b8eee7b8e00a1b17dcdc1655a05b5d48aed3546bca63d2bb0cab21441506c7ce9041d6f177236745a10f4b0e98641a585048210b3f4ce9b081509a13f8c5022af727795d4c38cef89923ff5f406170fc4379bcdc1e42a987105b45d3d4a56ab05e5a7d1cf84225dbfd4dd0332569b7e02ed98d9fe84af3a8bbfb69e11c9d48b5297e74c17689edb5c97638cbdd94b4aa74752b9b9ef262cbbd3c497721f76a02f5c6eef32c1fb308b2604f15589d7a2e25275bb7fc649e5aa37dfe10da587004f89e3333ae8c06628b7f849c960e487361ebcbe9d0d19a8da9 - -COUNT=15 -L = 2048 -KI = 1ad8b613239bd248dd986b77c9db25eaf196511dead918b69efb3f6b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0b2ef9c2ed1960e0a75a318781915ce127c152eef1bda0d6c6ff04b93a9e74ab8838d3a72d8e52b13ab800b9c0398156012567 -KO = 20bfac682b95f9ccd4689a39932a9f99c2cc530057f1601f49f1774d24f38bd90db1bdf2208bc81452c578a10d4c150833ee19015becc7491d14c5ee1cf4a05d330ebdc446ff9e3bd7bfcebaca4e262abd139a0abe665f4b2d125032af3ecc457e6ec99e46d48d26013c380ff1bdda0f7d04ad7c3b81cebdada2cb69a77ba122ce2dde6a16ca4737a91d532e9c44143de65c54da83ce142deeb317657e299fa95ba986645109710233ca75565a4e4bfa2086c768ef9143d65c64aba68c6391210ddc76506d235159bfff8b3b7dcb75aaf64866828658863ea45624b4887f292b27041e11e9dd07a22f083ed7cfc49f334f566a11bfb79bf7adf8b7034576c259 - -COUNT=16 -L = 2048 -KI = 822e86447e9ad221dd0905e547c43dff7d2022d96c70d5597e80a468 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d95b2f3c378935d7d1260580aa70c0536509b127e9aab9b539af9a0c58384727b3f08f53f1ff940efb7491406d4757e99e22f6 -KO = d72d3faacd86b8fb9880cb351008d9e5e08206d0fc6c3964ba20ab5baf9a882066f05546a9fd4125368d5b8d6a89183e154041466c4c4b3f5ae0276ea866dfff03c4c10a517a3b14945ef26e6775cfbbed9da8a661335a35dec1d4911b87351723d5f6ff5ad3aa6d836035175fd501d622bfd01dbec23ddbf5c87dcbcc77bfaa6e204068c4757261bb0c318e266e50b58f944b6f8bed32b2cd856befa120a931b6971f58ba0096fe96b0977e85ea782745913f6bf4e672f45870f50a4e26953d8a1a64c29d5c4df1900f7ca228b892870d7d5d24bce0721068720c3750b8c6be2872f700ad26f2ef13cad764a9552256134f4a8bbdd54a4d871c2e54987f6437 - -COUNT=17 -L = 2048 -KI = cee9f657c6ba716cfc950dea56c55085a57e4a5961a0030818595471 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 235b28e3b6ad2148cf2c9b43abb55bff4e9d2a223aa7e605471c7403c74cf68e51fe421595c69ff005d29cf4f81b9f926520c9 -KO = 54366c1f4d5ccb376b4f6799ca10d00ce427661b26ec7ad8bf3c380e0bfaabac75ce14cfba9c846d62183ab996cfaf0a95c8e5af053646a3cf0495f1765a96fe53ca9401a2a70f07f42c95f4b41156262a41f54f45bc1a9ea5ff70324db5db1dec43c191b12f4edf17461a7bb69749d046b97b7f7f61902b71cf0054ff6300663f28fb446b5af9d0b3a7eaee9f1c4229b4c0c57b63f8f8c5b804dcb7d3d206f626278f7c1b52dd773a4242dffd24586c7499de6c91d2e709770a0f8fda8db45c26c5b8b784836378725db5a0b9490f9bd03aa593bb3676a95d53c37bcb54c4105e04e536fccab945e34b9fbdec59b7ca085be1336783a0bb87d046f15d4a35d9 - -COUNT=18 -L = 2048 -KI = 2562ffac8db2ff8c5ed4a3666ee0495925323bf822b8caf396d9b123 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45c77f35cc1dc137114fdb1ce608e64288de026d70a539bd8261f4abeeadb7b7eb0ad5bb1ab77b290e958a8b01db88ff449a48 -KO = 78a086cee9af7d6bfe559744c6c4d743e4ff178ac004efb9cc77b09cf9a282c02f17cc12692f12c3029f118e7e67f14ba3e8eddc54481d25e020ef5c84b7523e781cc72f55912c4cbe449aae08043ab1905575d45064e835e23296ec1ad39cf311c32a4ddc1b5c81fdce2e6e728d20b66f2ef8675b7d4db4580a9f5f09649884bb5115e53dad2b90fee9c44c9ed88f69528f9e1a6c62e4bd85d347d73ad54b8b91c60ec21e3ea9858cac2dad5b7715c65326cfe2964f35a1aee1e4d1bf3d7c69e603d7332f15d55ab26369a0347d58d376cba0bb7276469d01f00ebf49b4db5266d272c3671a307a8da79c695f6a4134ed054b4592f45488d67de80c6ac503fa - -COUNT=19 -L = 2048 -KI = 87a8aa526af79fa9b109e9ab6acc47727b942991f08b518010378b93 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dfc907383f8de4304a83eb57bb56e1575d9154a2512a87969403b1a3585bdd71271f7a28e2e06c7c0a6e0c382b58f15152b40a -KO = 484b0a6ac20a0ac5355ba9a84d47394b80c37cd662a12b11c758ee868ace0af990eaaad46c1087975d493cabe6c2fdd1994805bc5e0fb2095582c28dcbcdafd9a7c8d21a8733ca7ebd885b4f4d3e8b84517b4509e5f75eedb99fda531217a9987bdd9d032700c3ca590fe8fe3bdb02d86b833673a2807fcfd470af0d8dcef1f80f0a2d5d1caa0e5881cf49ee232627372a456c0cd137c5f4a4ef6f18e39a6d6fd604928a0bda98885b63ed030e789106d2d9c3789ad4ef4ddc95484e6264af2637a4ae76d5703108e929b4b86e5c9c1fc2720d66624208e6e64877ea488df379e0ff135f6dece5f3fda27dac2cbeed7be5ab31e660edde2387894a05e19b11c5 - -COUNT=20 -L = 560 -KI = 0c4e22c66ba65e6a346f0c0159e86e4c94cca81b5b5163b506143183 -IVlen = 224 -IV = e0e6b4e1464b66e6fcde464cf24424e5c95f298f0bae4198ee42a120 -FixedInputDataByteLen = 51 -FixedInputData = 6252d757a775e0910966337a531e02e41b5cb4fb777a7ec2405dcd3a8f71fefa2ed2f5176448503dcaf4faf311c2ec06f5aa12 -KO = 3de3111ff7dca88eb2f80fad6c2c4015ef94eb13be4e5ac2fbd0563076f4c2509ed391e285bc51fcd79cae5d85b3f56007a44a341e3ead5867e5f9737049e4b920204cead288 - -COUNT=21 -L = 560 -KI = 6e6f7ca6cab9c2aeba0f7573f633d26296c6dc5a61fe20a271d89374 -IVlen = 224 -IV = 226cbcbf463dc7858e5e733b4eabd302457f3417ab4424c7ab582ff7 -FixedInputDataByteLen = 51 -FixedInputData = cdfff3206da26dd39fcfccb3e839ef4d2ba1ee19cfc042a755d25e4bdd138b0fdac75c66e8b428f9a66550107305e6f889c7e6 -KO = 2c4937f096c72f6df32d679709391b8161278c5436ed0f8a81d08c2efd993bb0d1f6c218b57ce33d8a8e6cb512f9686f3c534cc4d8ac0d42ba19c005a33c3acb8c7bef3647bf - -COUNT=22 -L = 560 -KI = d4bd3e18d89f44577350e33b6d5b1f5aa895ac941bd35e2db2722c94 -IVlen = 224 -IV = 0e5c7eba6567c63a52374a0c0c103ec5bb085f7a34c17571529419e3 -FixedInputDataByteLen = 51 -FixedInputData = 9b2abfc80736592394723f58ccf07f87dc41bd3474772d45c2aef3e567c577eac413d47e6afdfcf2c5bf9b0e77885b3a4f4324 -KO = e50de629df231e56670556038346c062b26bd3d232de4b3be4f7db359d7b28a946555546a26f7cc065bd9a87ac348c9491504c862ec4d3e9ff754c4fde41446416a2d30fdda0 - -COUNT=23 -L = 560 -KI = 88dd0f25405b9b13cc334b89209be54d17466c7970820252bc1a648f -IVlen = 224 -IV = fad2c3017f7596aabfde149fe08c02dde64089c8a9aef9d5f2515cf1 -FixedInputDataByteLen = 51 -FixedInputData = 4a6a54cf060964461135b2261b65540ce563649c279a17d9d3a21447f6f9d9f3940eb7e4006948a3b089fba8dfa4d37993e614 -KO = 4deb9464a4740b91d203efe6e209489614aaea35292a85ef4be08ea30ac2c6f7b510742a7a8632249d74b121914658b5db356f0d26d9a8e9d4c1f6d25f5ac3de72e2a2476cea - -COUNT=24 -L = 560 -KI = eb9775c27221558181808868c0322d4864690a37a64e6092caa51862 -IVlen = 224 -IV = 9380e7e3feb15cc9158916acc8f49fdcbf24a5663d617375b0a5efae -FixedInputDataByteLen = 51 -FixedInputData = cdf5737a55a835f878ddd03c6bbb25a5fa4af5c3ade6e1da85876140b77204f937f257f9729c435f33595b7e2e811f369b219e -KO = e40396ab70d2dafea21dc89634c93eb5d23813393ce570d5473c2b7a7fbfb45f48dc53791b402570dc9593efedf68f0e059a9165a02b39dc3a6f2160a273179a51554fa6e61d - -COUNT=25 -L = 560 -KI = 635816b2bc25d51ca97068ab3b7f1817f89c43a4c3e01e0da40d2e14 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4303e36a63a1f7e955e548ce55342d0b99c001bc56479fd8ec9f81818c9cc8f229b4c0afc7cfc9212a272f549dbf36d9cd2820 -KO = 5bb710f5f1f35e17575bcc3c93c32e4f6a6c0ef7d47270581f6084253aca70b794e9c5c02119c9496f15446657048783b3a332e4c50cd7bd6a5db8d0cd6bb44d75b0bea861e9 - -COUNT=26 -L = 560 -KI = e7139f34a1a2887f11932c0de018fcf7f37c3e21c17d501a5ed7e29f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 179fe041fc6ede9ef77b323e6382baf045ba186075a42ac97cf29024e3280a1945dd5f4ea641eb78e4509f89cd10a4e38033ce -KO = 6e0a1ca93067cf5436ac181837f6569ea54115667f240134308ceeb34fcc39493d4c85c3aaccff617374cd30ad7204bf8823665de53b9a2eeba4074dfb01b989d42f196f9fbe - -COUNT=27 -L = 560 -KI = fa994548b2958b4526ce0b1fce11f3dba1c0c133fb3d64d0083f6924 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 94b418b8422d32795920a12b4226f99f8d18bc71f4919736a262922ca302128536ba1c7b9fff5e79ec778cb453afec3e686ef4 -KO = a988f8fc44c603893fa1e67d03612d3e1ac1e285a12dc3db4fc1c41e3917acabf7645c80f996ec04e2fd2fc3473fdb86f1e04df7bd5dc59c55c084af0c9ef1ebe7f5b9146e25 - -COUNT=28 -L = 560 -KI = d289f8f190a54c163adacd33cdc6fac10a4b7ec22e04ab0b02e5c9de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aecbc5979d8f84ed85d05bf43d2fc6e6f6b32531987d23060a7a1864e207bccb7522a32014a083a1434d644dc3696d2b5c2bcc -KO = cb0e788ef37415f17e5e279a13aff5f1b52dc896215c303ce72d5824a09d68edff55bc81694a5043b9b2a5c61b47b2e5cc6ab7a25ead19a9e43418d2e84439b39eb063f93c5c - -COUNT=29 -L = 560 -KI = 1d4747cded0f685839b31d259585e0cb6eda6f23777dbf0243582968 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85f6ddedead8b6618fc27462b09770c09e9d22078146613519b9dae3392626e7859d39c7192049e6247aef07e87af496bd4100 -KO = c70666050fad15a3513f8dc9fded2678ef9a1b7099d6ca25be8433b71172274dc8d798faeaeaccf91c77b1a7115b35e8242815a92416823c2e930b55a0c89ba1d7475dfb37e5 - -COUNT=30 -L = 2400 -KI = 055f45c19703d0a8ddc88fb809a0e8a3cc4b0466bc6857fd62bb4359 -IVlen = 224 -IV = 4cf7cbe126b2d2c401d438625f5322c04a2c60b3db31b561824e2de0 -FixedInputDataByteLen = 51 -FixedInputData = db79babb32f7bf438b0cd06a0104486e39609a959517671aa4160be77719495703a3b8c124ec50b0a4fbbde94973c34828a733 -KO = 7e8896fb80d3ec04d50ae34e99f1e590d9121fd169fc7d88549ad5f55044dfc56e1afe0a560dc89cde37f1c049b97d0e5769c88cb4e897ceb8dd41f272ac3abbcb3c1b985263b79383da9a9e49bcd2cfa23275b409a1f0b076c20b24a6e1e56e213b61bf0d43cb00210427b08daa4b6b68d96a6bedc6480003903f146be228af45ef19f131de595a4cd2dfb08eb6ace28317b13fdc44f5fa60bd72f53a3fc3d9ec91c8c24102e110f412c922fd0a144f55448f03e5f4b7c2b5770f55b601323e42c81d68f534a277ffa31bc7cda2af5073cbbc87b442c7914636a3f5c8c916aba09a7a56ca03f95f4cf0d1e6f9896cb7b4094d2c9467071165920421255d5868b1d2df000584b2724edab63e4553a4b0e51cc5de58e6f40c593076231319bd52870d599b03a523999b78725f - -COUNT=31 -L = 2400 -KI = 31f3a6a87c623eafbec70fb8b29ba7eddf2e9b15e6d00aa5e34a290a -IVlen = 224 -IV = 475da048688baa1af3e3336e6444165aa6929c6d4ae0ece9413253e1 -FixedInputDataByteLen = 51 -FixedInputData = edfaa1950264dcfbad13cb8433bc6695c58b9968334f1e013a0f815137a30dda21b016e1ef0ba4e3702ba39182da022724be2c -KO = 0c626f36c44614e45ac59659c710b3def5f1283375672eb11759606619c6d9dd91ad2b2f4f02c54dbc87e639eb62bb02d114078496e9f6bbac74cc93b5117d6f7ba650cbe6fb970850ba3695a461969a4b922ceb27ef58887c0879181393b1fc3a0a186115eccbeb92996161871207696d14350d1bf0070a1e1e2be073d33a90c72a2c36dd8e1e673afc19073c4629d25506d7df7dca2ee9d2df9ec066c9475e76cb5d2f0e08a192144b5150bfeabbd3fadd6d1203f65e121c665be6f3e91b4b567de39393f270acd52688d2fcf9e30a22fdce78ecb4f0e49f02235ba76256bace5149e10b9949aba83e0c2b5823e5c6f8d59a6af60d841db5a0f208fa004b5047ef8c206292599aa069bf4c03759c0b9c6483670eb10cf8d235140b6a10dcd2ee1c5996e13d9be22656675a - -COUNT=32 -L = 2400 -KI = 07fdb1aeea18e52a1eb7d0c56cc258bdc86678ff993cef39a092d8a9 -IVlen = 224 -IV = 82674f0ab509a230c7ba4b0ba99bace4b7ea6c476b6d8d47fb8b7bda -FixedInputDataByteLen = 51 -FixedInputData = 57275ea27bc3a161212826d83e54642f27cc0c7d23167d018f209e05b5d1893f79814aa228bbbc969adbd9d1f8a0288bd433a7 -KO = a507e96111aff87754bffb41768186418cc61619c3528aaa055da5281326b3021ca88c3a6f9cbf4ba2deeee1652d7a2b31404ded6c00cba678b46ecad8da9a5b7f9ebca75e050e7f7e440d20ed6ea9960734736c11fe1eceec9fbdcb5104844659ae60a2104d511490e65b00d062abb0dcb808eb3bbd77dd00416f593209a10cdc17f85bf788ff95abc6b7e5be9e99aed88d2aab3bddda67c6ac3457e92490885cdc5296764952d99733698506b8f6494d7d2d3e8defe29e7a8aa82f2276d45e78433bf16cfe4808634bf0d974bebdd712ad7b556afe3eb730786e5b9ab5e7601592dff4f64e0f73f2d7ebf579c5598b4db57793b4c5901c6f23928d2148b58720d2feb470f664a444d6fb0a06763a50b23546c2a750376f4aa92e52b6dd60a6755918ce1af4a8add00e51ad - -COUNT=33 -L = 2400 -KI = 222e0c61fe82b5e0bbda7dd61808fc0e5fd1a9f36ad8e80edae25e60 -IVlen = 224 -IV = 1b813ba03e7d100def2409b892fa78cc5169b2ff90251a47e27335f0 -FixedInputDataByteLen = 51 -FixedInputData = a4196fd87f0cb13c86ddef9f6ac2d80c05f03ff8708e409ba20d166a7d2ee1d09107289bf907e724071218dfedd7dd2a269295 -KO = bad7017c9404157bd9494afaffc9edf27736badb5e2dfe23b7c0805eeec62c271e00105c2a2cfeef74d75f1ca690fddbfb062f2c36321887ea2ed8a77e7a00a1ab8e021e79146ff7fc05a5203799de6d871c19edd66c1d82434621bd8ae9bec247dc782c7ea0cf8a22f93e528935ad25ff501eea5fa7bd5b4d9a70795daf34c640e59b09f616befc2f8a30845b265d1d8a5969880fe6a7f61b7552169ba21bfd1e320f8919b62167e05b6053369144b1c28861dc48f243b706c56bf21087e83659897222efc27479a5803d583b89754b7fcce275762e71f026ed88feec621902b403ba4483177421d035fd1423f1fcffb54a385a97128640fcc4f6c11f084b1e948dd5f3b4e52ac4da43e2a68f94f236f681d7e3782e32c3f84984adcf07aba7da82483306a84d6d8b87043c - -COUNT=34 -L = 2400 -KI = a1001e4db7dd27e2c47fe9328132a0ec10f8c2abb6a8bb542776d2e2 -IVlen = 224 -IV = 22ebeb03a2341a771db0838a5aab3c86ca0220175cd9bddd9569709e -FixedInputDataByteLen = 51 -FixedInputData = e478c22504a82a3d5c2599cb80aa23f7cc1865d7480a32a21814de0222f5e03355f6e1f624473bf9419504b49c3dba83f93664 -KO = 92cfd42b20b5768e689b4eb675002a0e98dc8b4e4d63674e4d5b0ca31e7c7e1034c61adf23ba2554b981037435bef798d8aad12b15c0366dd1a83ebd691288aa95a96d3d0103e91265296d6b69d9559202d087dba1363773358095935f1e3bf034dbe3a2a697974a60d4ffe4177148f944a5ca8e927f89d8d7ecefd903fdfecf4689bbaf62723705262a9de8f74d7f246b2d2c8fce5877af645137c786080d72222fac56f52e17ca37bab60a04d73c6a429e3789a05923f55d5c068cdab5c80baa21991590222205e51ce11f294ee6737650b9542d774480262b5bc72ddf0966b82ec86f34f6ca0d41239e103c59fa7cb425f07709f759227d0124bbc2968f81cb09708ef82e0a594b2060ce3665dd608f6b688c6b0dd27750d0a60875948382482642004ac2a290411bce79 - -COUNT=35 -L = 2400 -KI = c2a94d6bec2ed0ee5a250354a44e1ab133a8341ed9d2954b06c44fb8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e67e8c04f6b2929f0b3564b3ef478dfb2d2bdef167265fc990180f9d1a36bbcbff55a8144b63eeed072296fd53c23e15f98122 -KO = 8303537b6e85c64c3f59f7927795367dd8ca10331180506e89a568bad22dd9582cbf454f8142386a9551a331f72ee148a48e8c28a9688c00b56b4ee43de91fc8607a5be74b8a2fb84125412e506cc0e5aa182b96e4d83ff48f10fea165ef6b8c6075f2e2b369e530047a84e24cb4859ff19cbe209d5eba31f83e7d901ca84fca72f8ea93a6241625a28cbfb8408e73414f88c95d9b179973494fc2b7b9eb5248678b909761bc7e3989ff7253e17f65afcaab53936f8d2bc4648065d42fc7feb970863b4bfdef281f2bfa082895f635844fa06abc79d280c667a7b171c2bebe361535f794ea0cfd3c7c45f0cc0a96b95bee5ae33771fbfeb1fa8e5a19a1d02d6effe9f979dea7ce95106a740e8c453d94ac343ec0fc671ad1488482303b6b930696f572c6ead610fa60bd9f34 - -COUNT=36 -L = 2400 -KI = 64dbf38b72ecb6fa4e0245e19d266f410a13b8bff25f2fbad7492cb1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = abc36461fd35ec990a4375c14728835943e099f8e220041ee92dc531466e80d8cb32acf5f845bf4071b640ebe5eb52a6d87efe -KO = 51b18dfc8459b008d1fb8672df07f5b01209150f7cfc125edac7deca9c13560db59c9269094b32ce54f93d4e5140207c9775eac2fb3fd0511bb2b4653b1c0c658cc31bfa1a2c3a9bc2ddcc18b1b4e3467c3ea20f97eaf41fc740e237d0ef0352b241c988551f43133ed95b67b6a841ed93f7a7b143c9e41b2ea0e2825d605f071006209b6897676b70be8cb5aa110bcda361f8e8366798557846d6693f033947f3db35481f84e5b39b31699ca0e87510b987b9b3c8830879ffad58d1349ad74df8d8a234bb90978131711d720d620cc900cdabace867c6a0744a18aff9d88d891a9dfe100c2347b710270774e271388cbbebc5fded5d273dde0856869372ffa93c15a74f052ff36df1ee0900d32bdd7e6375dd6a7f9ffb2d28276990b274ce79c31d60b90d7d99e8a68f2fd4 - -COUNT=37 -L = 2400 -KI = 9394b2ea12273db06c40d171d35dbba66b6404b7d061c39d42238974 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ea1e374ed8c34abf5147d279789d78337765478d9950d6c44ec5411cc3e4a8ee21c07d5b5e4c31e478fa9515fd132052bbd651 -KO = 85979480b39fb6285cab70f8c4b2551cdc313ccf638cf6172d78b00632f334ebcb49392e04636f29a6c69cac0b850d125ec711e1efb87a28b14ffb8ca5f2dbb0d76bba52a98f6606945bd63b3c6dfc9b1bd1443297634ad1b746bb415d2b93882d0dc92dca179f750ecb4e12912c24c7b4ec28590a9de73415ec9396d7e748c17bca84275ba28570afa635d39fa6eee3b5a552893a8de9b9b8c2ed6cd33b0959c40e62c4d428cddc3ca3deb5a94234201f7cae3479e09b90ceb36d4a0a15bece2c92b69c01f6e9e79340bf367a8a8ac3c65dc7622ad252d02e83a08b6332332b0a8c53310cdd47ed605b5d745849a2fd4c22843baa09b4df13dec4467e1708a8b00d80f34bd5e746602c24602ecfc8d6b88fa90b16406cfdcaea0b72ab504494639ff0bd56cddbb481c2b88f - -COUNT=38 -L = 2400 -KI = 252bdebb95bd990e3a1427bd43465e1990e6f561be0fa6afe0abc758 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88f64a3ff1acfbb11ed542c465933bbac61a5da9d1c9b95ee0ff0c668b3bbfec90e6b5edea535adab9e18d125387ca20a84985 -KO = 649c3c2225997d7e95f645f3206ed1d8a7734397b353a017b63df7ba3f6b93574f9229ec6f41b31abd2b22946a18fad5c1c16f09b1c65d6892513f08cb7f1ac06872754d7c7e012f94fb1b72ff712fbf7d48538eb9e1e10b992bec8ab40ef71fec1688ca4bc802208872916705436c1a8a84d3d5a6b7cc5b00f9bbcb2b2e36414978dfc0bd2eddafe2e76961d1c5bc376a60508804900a7b47ff14e413f49f474a83bd65744facac6ff2b17e64f1bbe802e9d77a87740aa6f1e4dac1553b601c48727728a3cad5dba69909749c6f684a2b37ada7f7c0c6c59cf7affc63fa38d7c6c4b229e2f5b43914f15d7f1070e916fffb0064f8c532f0a2b053ff023793c66f6cc8f2742167182d9865983c9a35cfce734a4b70ea6ce35819ae319732544b9e53d21a3e5573552c545d52 - -COUNT=39 -L = 2400 -KI = 04cc166c5e6368f895347d2b698f37d6c765af50764cae54861d0d65 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 01b7caaff8b6fbdb447776c009b7ad74d6e49c3e04eba5343cc16553427fed3c281de4f986184b864b376f3b7a7b382466ab6b -KO = 224786b75cdea3f7d854155360d4179e6d24709c527e6bfe83578cd4462223b1a2a291ee28964287ad4b63e85e9c7af894d8f7256752554a133c6464a95e47d5e26cb927eb44acd7e7321e3a0a9a01497f47369ceb76416e3dc2d54615c58b249bb8084792ea1686b5b0b542a81dee7daebb24e3492c703e328b5dc9d46a499386079b3aa874a463107e96c810af2f0768c35ee6c07564ff48a05f58fa7b362d6ebb0a48553ca2c57eba2b1677d9c6eb8f53107e650566adeb6450126bda0c7804c2a1c81fa8e460e6609bdf15d28f10daf47f9e178de25db113fb67a0785dae600f1ce94b92ca09725122ade43c71fb1160b956b210805b48a8b62ebc1955a1ae255e6cd1d14304d174bf23ec545d49de6d2a04dcb8b5bcdbc708dd0527329bfd910b0ad9bd9397baded31b - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 664437e754a18261523a86f720584bf184559688349f44fd0d7f8c3275dc12be -IVlen = 256 -IV = c290feafc620f2800bc1432d6606f9643249d2f44494774187c2b3ea13eed858 -FixedInputDataByteLen = 51 -FixedInputData = 180c42aac329bf148e4e80b781462f583ee0e22299a897b66fd177bf7fe67a662806af75f4cb3bdead5d3824ed1d370df734da -KO = 02530795804f179c9140b4d02b66933cd65c159ede2a84089f34c83cbbfb50c088053fb8e51678c8217f3b3598514da0695ae988c4024b961661f5fa7a5fe464 - -COUNT=1 -L = 512 -KI = 73761fe190f8db4361de9102867b63a859f43852dc3c5aa4b2764c8abaafcb6b -IVlen = 256 -IV = e75c18ba2091cefb79ac68e7666e7aaff6170e752f9c9b17b8a70ff3c4f09808 -FixedInputDataByteLen = 51 -FixedInputData = c6e7515357c55884dbf33b9f3e1dbf8d851f2e8db498c9b55a10a30691eaa5fbf07e007905fad1eeb2b735551baf218256302f -KO = d2a680c3e992f362fb815cf8e52b206579174aed95d104a5911be02251c8c146ba535f1d7cf99831d072aa6a52a3d52dd57cf7a20f55c74c56f442e2fc81f450 - -COUNT=2 -L = 512 -KI = 21ecd16d1b49564fde42b95b8cd618ac0cbafca7e7367e95f3bd660f8ea5e848 -IVlen = 256 -IV = 24c02b7e0f162d83633ee37c6c0a674a43bae4fc45fbc25247629c2c444a0012 -FixedInputDataByteLen = 51 -FixedInputData = c2aca583d49736c9eaf4fc30df7c433beeb3ef517cc8fdd2f4df3a7dd27c6dd7434847cbe8bb9452cfbb78b9215ba2075b08e2 -KO = 45cc3976df7160c4253a23ba15088fa1fda4520dc1eeb74409094e0ecd18694f01b250012ce93322d09621ed1e8141b5c233c6ee692c1124df137fa08ecfcc3e - -COUNT=3 -L = 512 -KI = 467ad6989247c40bb089925943c409861754e96fd0072ddbd9e79cf3ec4e7ec6 -IVlen = 256 -IV = ca6fb27d4b1424d7e0837a993cd02f2183e45211202bba8bf2b05150bda651cf -FixedInputDataByteLen = 51 -FixedInputData = c6e446fc7cb933868fe9b1350e5d9eadd3b0b41e567f3351e851c22b41872fde75d04ccbb0b9e114dbbd127241bd80eeeb6215 -KO = d14fa48a174a89407c7b1586787e3278d1d2d975c7f145b6958be83d8ef9d45ffc6bc325727b9a028bc0e954fcd5fc4be3fb1799ad972bdb652346b0b5d61325 - -COUNT=4 -L = 512 -KI = 716bb42df0bbd1b085fbdc198d3d57b17f0ed2920a43ccf2a764a364ccdd0e59 -IVlen = 256 -IV = 7b6630d8e813288219b696371a59c123c0cc2ce4461a29fe8c68ebf6d48d29c3 -FixedInputDataByteLen = 51 -FixedInputData = d36becc99bccb93b1e9fe6f144f38d67847585d9bad95287e96cde4e253e5add68714af03f3df201cb1d0a0e992f2f016436c2 -KO = cb3d38c2b2ac5452a9ce7b5d2ba85d04ca49a6f10f51bb6482ca037dae5a7bab04013b7ae007b96650502089bd6c50c149819a443c1db98ac8315739ff5c7d43 - -COUNT=5 -L = 512 -KI = 3313fc63199b1bc6df5704cb75b07915f4b9604ed8a93c9cb9a595b6ad9ff956 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f79084f403aa273ab38ab597bc1bc3fe53ce301b5520a11c5cf05d8c155b4e82141c879200576b81065d208afcd434b767a75 -KO = 5ec5a25487e57e8c93777d97df5c599a176f3ac0d080f839d6b70124bd4843b7aa8126e05ad823e8e254f8239d1a3b322a6d1c8c94db1ba421172dffdbc1c030 - -COUNT=6 -L = 512 -KI = 55a10853e00313743c4864dab6902b4a8fd135007c3b27d9b8397537b599b87c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 112fee9067343aad83d2f81f734e50b450e486387aae234388cc6ae547e5e2c8d6d1a56425a407fbd66311b57c4ba201944775 -KO = 98922968eb35caf3169c55e27dbb5816badc1c443d692a29d2c511aab0bd70cdb3f89be4920784fb89923ee466b5f00651d8a5d7752cefd7956bcc8653ad600d - -COUNT=7 -L = 512 -KI = 2ae2629140938838f100cd0af1e8800811fce53ff73ffa03dc2966c5cc966b7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52a46b497fa86744a8474e41a0095b47e2977067860822609ece579a39823ce9422a00187932a90f94c6ceb8d167ad47ab2900 -KO = a4a98d9fa1e3a2fbbfacb3afc055d3afca92311bf5a91c0232f8ece6b30dd9f4c320b48b16e85e35f696c06ec5c51f76fa14d8fc2e16b97e8e1061ebf45799a4 - -COUNT=8 -L = 512 -KI = 5818c821b931d607afc205f149b1cfe050ade77d8fef324c5fc68f802260fe48 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 26c6323eee0a336eac385eb83a1e83c741ef3031ca51a44f082147fba0183d8ab39b905a6c2f5a3b3d3dadc8a1baf05dc12e48 -KO = f06de597bb8ae3f46917f07b68d3bed91848e9489c7116a0629811f4774653315d828b1766dba94a025a7df7b5f0cd57fa6833d36c2265a9f4552e4d6b726014 - -COUNT=9 -L = 512 -KI = 76e24d8aaf1dacbfa15a06404eec32e7f64ed51792faf4d4ba68976114d3d3ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf120dce72da21cb7f358f921071855531bcf909405173b366eabbba21faf964b5fe3817408a3a888bbfd4d4383f007618877c -KO = abb8b22bc518e9f9d5a9c6baa2f6f4971b2c67f5d055e8fef1e0dc6254e26806c6fa1395466e9be295c6e80b354183e3e6237e22f88e85f4611c080c0032660c - -COUNT=10 -L = 2048 -KI = 2b40778ccdc2a75cb6a2012f9aa934bb568ce7bb1d581ee2babc6819333fd426 -IVlen = 256 -IV = 29ef451ee38744b5809bef8b1eb6ae13782fa88b6212913766c78ee2c99d2015 -FixedInputDataByteLen = 51 -FixedInputData = 65c3da6a32060c59d9b1b5a964d1dcae4636ace8e71459f4510acad2431dc98e3016502ed043864f9c40a478d8009af903c9f3 -KO = a69da540eccbf8e193ae4722eef822712746c1c8b9931f3e1597379725af38da6e413d2bd58364b8aa87c986031606aec5f29c4057bf1109822a08e11fda886df8d5ea01fccbe63adc7a5f5288da55fd505dd7324f7c4bc572a3d1e5c54fcd9b6217bbd63f979c7c05279bf6ef2221caa84c6f5e507f927a3fd385ed7f8828aa2fd3b5f6d5e237ee4ed0a98261d09b9d22081ccb1bd2376e4561a78f6b0840ab02d0458bad5f9fa2476fb14371255789cb23bc88344c497c3fe4078f1e9b5099a8e15af1e74ca16bbd84f5c4fa1adfa3adcca37978cb4fd462533a592ca7919bf7b45e8514b990863c1a0a57860c14b53461c4a6bff923b14fd93b43ba9dc605 - -COUNT=11 -L = 2048 -KI = beff0ef0697614ec8cbe13d5e3adde74ac98bf627bf613a8d96d4491b7a217ec -IVlen = 256 -IV = f48dc0be1413d1c17f6798d368bb147aee13f5b76d050bb6e7e7ff693d3e2d51 -FixedInputDataByteLen = 51 -FixedInputData = cb5cc19132cfde804d66563cf47977fd267f96207d9bfc4903cc22dd6f91eaf0a235cd38df2fd573e3bf0d8d7ea5aeb482ae11 -KO = 2afe6f4f8ea82251a6d9935409778b72a648e7c3136383e5348162f713cc1e8aa45f7f9ff5f5903b503e1aeea10ae2dc319c50c866e6138e84366f00ecc88e3e2d86d6d94df8a0fc0c1451f319dd6ea20a9b164c67242e2e89a3c205d1b5ce0be5ad27e3200f1f74fcb3dd96cccdf74e9bf5977b63db70a61cef801e20cc0a32a7ed9aba9c0d0c910a375cc05b62ef6c0bdbe2594cf7ce40ba0bbe04572decd424b709ea53e3c168542b76f8c2f678bad92e7cfde37ea3e503ab64aafcc017e2aa49cad113870a23eab8342371f5089eb2e614d84e9b3be6548b1a889602f68d85e8eb1e9d98ce9b4945f71bb1f1c973eeeb2bae6e1a052c62a24ded9de8e2c5 - -COUNT=12 -L = 2048 -KI = 040e2f8d5bc34d49ee8fb91351f8fa4555eed7d55f5e23de4a4e31bdec2dc606 -IVlen = 256 -IV = 1106710df39dace22ce5d3b18f27daad4f8dba891509f008bca620187131fe9b -FixedInputDataByteLen = 51 -FixedInputData = 5f812efd5889f4da72cb0e3ca215e115005ffe247f3643664834b7426d62e1766ddd86a5f934a6119f1f394de9669e7dc3cfd4 -KO = 98f822378875db0972dcabcf6136dc00e60252f5d7967160a519415352375dbc186ff012803c185e2eefc4d94c1b34d0766a236fe0841b5d046ed8af9e7558aa0c471af1dee09afdb041741face31bc970dd139c661effb2c8f97faecc21524a425be2f1e037aadd6526e9547d07d5e07325f287616a4a1c9e5b027b303ff499af7d8e4849d94c0267ac262b039476df5868ab1a17360e3bdf94d7754944d6ecb2a253656de3e5269b7a397207ae1793100b94d0f80a326df08d8285bca9f3f0406031440f36482e35620ec716488227e099f4768e38221bdcaa74d7efb985a94c14440c2995bd7e93f01a3ab4445916008ab45da9ffc613f56d005da9e3a6a6 - -COUNT=13 -L = 2048 -KI = 18e4d7723b4c4d3072f72ef4e4232e043cac251022ff8756cebf8b3e5210da91 -IVlen = 256 -IV = d0a3bc7193bf21add40f7a4a75ce3f591f894895472f93bb4d0a456297bf0ed4 -FixedInputDataByteLen = 51 -FixedInputData = 7dcfae2a6f703e20c8b8c4f2f3ae4260492960cbbd76095500529768911d476ebc1b6a6ff47b7aa2475803b6c5cc91cd7c7d1c -KO = 77e105306abcb9e7124179b6235e44740735187b5322f397f2a23da4fe0f632b17d947c515f76efea4a635416ec945823c9e9aa664d17795880a52f30ddd4a0a4bd5139882c14a8f0546cb544e65d70a5066f364189b37c886467858b9b6fa782b56b2daa483253c3eb7f5cbd0cdb1fd4d57258e8c0dec0a16674e13bd50affc9c82fe7989b382bdc37a2dfed7d56fdb46148773164e7b22f2674cc809bc76501389d4a48f53cafa57c208727cdc8ece53cb65097df2688ecb9226f04990a787fc71973485081373bdc071d08ac3301bff6a3d309eaaceaed1f0169d00a1a2706466c13b7fa0eba90daa4f3cd3219421ffca4a041c9fd3feb7ac04c6e2c2bf9b - -COUNT=14 -L = 2048 -KI = c45a51e99cb3c21502a201307c64be8fcab507b460de3f67090612de726ca39d -IVlen = 256 -IV = 1cd59030ee9dfd6fa9e51a67cceb37b1b002a003a3003383b1716d0347dea4e6 -FixedInputDataByteLen = 51 -FixedInputData = cb51064f6b999beda2a75dfaa110e68a13fcd08d4da2e343d677326dd828f319bb60180feec4b0741a7f1c2f92d4710c931be6 -KO = 1eedd3fa42c4a809fffabe13e30ba1bf612791ffb8dfd6deb44faa3de3bdbd2c9fdfaa0887fa05a8acb1a8ee26f145921dbe85e04ebf823719b1af237652a7deb22fdd3d17d2eeaf6c91360455f0b1c6c21f8b8a4d8f6aedbcb49c3ae55a9d5fbdd9b301803bba71f3b08b4fde0b233a45e08572a4a30bbfa37205096260fa3cdbdc64548378d506eef4ae423ce367756600acf8aeaea25153573021dd6c3cabe1ba3501112870ccebb70829765ea69c537ad67931c593fb8ac6713af93baa49c1e03eb178ad2d7af3bebbe95a7edad5f8bede1665919b36b1f186d09b1c08e4ac4c457bb81f42eb961c6770f2f6444d0fa8f288929a5f60a138705fdad7f681 - -COUNT=15 -L = 2048 -KI = 0be401c488b5f22033ef088f8d34b60cdf902455d2ff5cbb13a4a03db5da7b2a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a85043316f140e4e792ad30b09e5756c2f9a819f4b930825212c3cd5c2f2454291e794a12e3054c2347571eed89ac318793a89 -KO = 02809c102ce2145af69d8d0cf2e2c51c5ab153e27feffa1e6def9a235c7d05f0b83761679c88bccbf993a5adca510aebb03793e80c849c0d143d732eebe8a43c9baf203d73026f98dab6247bdb46b172b46d07822c2f8255b63fb4590f27e906d0a429af0a68005a75cfcf9f4d0e868b82d650ab6e098eb6118953ef78fb1db2e98727c38481a022e0aa93198cdbe6e3dc1798563690e874282672cb741710d3d0815b07b70096c4122fc623ac0e029b9ec31e7afd83e599e176dde1618d283623a50257c8f793729da7d125141a9a71d2ca9175e93764d7f8517fe21fb3f3edcef2889a1b24e30bc280d9b623d109bd19f2e6e68481d858422ad0c188bde88f - -COUNT=16 -L = 2048 -KI = 5106bb528fbf420b565e91c0fa637d9addc99f91f992d92c4f16a31f80b95fec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34dd554b18306284a8401aabe1778fccd17b496148b24ade240e89868a39e7ebd0fbb76f0f100dcf5d80fc081b9345e545be0c -KO = ffd3ac79420ab033f5565592b6804aaeb48fe81c5cde792c539616b09df4ab41cb0520e7b732b8fa1f3283a44015c9170d5ec43b0f6438498d9374942ced953ac865f9d3d01cd543f33e578596e1441d7277897fa0a97215c290f9293aec6c0f01033a4b0874417c6b5d07aa22738c91b62a039d9dfcfd81f42b63a5921834d71ccbc68728db0e4ec4fba3b27cc696085a879ad7cbf76b55ed5fe9fe51dca1b3f695683dfacce260b20ebe100dced87ed7704d43db348a1a5e1fd86a4040c906c4b462023b5d952b415bd9728b1b89af0454bddf063418e7b2d94a5e78130ca1bd53a91b1ae0e16c0b6348e6131b2af31a08867fe72bfc52a849f4194a9243dc - -COUNT=17 -L = 2048 -KI = b56e43d5326331ab28ece3083d50c847fcf72fbcdca5e9879a5984341d3ace62 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3391043b700c5a5c15eb2cee4b7edf237152053f913eee32a23882187b6f8e00c6c685883e0028cad398167810c018727de3d0 -KO = 77e404403dbc46e0fca83721608443e1fa136e4385216a6acf037bc66caa8e95572d030513f45657470f72d6368ca02af2d8f2c18f2fefe4d68c27e8781fa256bb7c4b92b64e38d556d8b4a4f08bc2140fdee44e00a0f7f67ab01920110561d0031a3fd2e5df9677a8ad2479fc0c303ef1d059ed666a0d13dd7924d0b509d45c14f32e9b996984b1a2de4708258a2e6a34a01027c4e85e7637ccf301b33f80dc9d05ffde876fcf050259886a4672f0fffa1d2bf5da07415b8539b81276a487a51fbddb11812338d2f40d54a1b49703cf114d25a4e5ec6218ddc99ab34aaa4335b3d97080ed8195aa486d87a549923168c0814b3056e0ffc13ca20ba240e32e38 - -COUNT=18 -L = 2048 -KI = 6d5210f1bea962aba44ea8d76a4743666bedb1a8db9c73e4e0996fabcb748f48 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c9ca774ae238f2c0c71646f0bcbc8169ab72a4dbc44baf0d91445f3e40d71439f6bb79e187b1f20321e595bc40d35361ca273 -KO = 4c57a2d44601032beeb2575c994c0474991fa194292d80a6cc6aaf14e7a143501f45a832aaad52168c7d196232c28512e11f85178f45ca9ff7dfd9fc24ebb5871c08803ebe4954fd99896d018425db4fac5dabb55312179274a9ef4eeb3761817699d3b5cc01700cef1ff89d2ca67eaa476388175ff2a23b4fb9349f90da0acc9340c13e13bf89c63b6b44105462321526216c14cfaebd664d5ead9bcbe018fecb9b0ae671d95c8e1fcef228636a7788b952d2535c5c426d29684d57eca6b2d2f9cb6508c693d642c9af5ddc506c50aaf3ad33738abdf18bfcaaaced5ba46a40088a6f53bd73d2a1e8a6a294eecc9d0922560bb374b5cb346ce618a3363db012 - -COUNT=19 -L = 2048 -KI = 1e4882a9cf1e4936be487d97256b3fbfc4686c08ad846e9284606b80f8c6cf65 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7faeb41106bd62ed67b7a21736f80c524fa3307120c4e1c97af9ee27a71144e12bf6b603413569b0b8b5ede3802543baee5de1 -KO = 6e6a9e61b418c3b7dcfd7522361cbaa04cd111b7f058a0b29dadb5b76ae663f948b0b2e77f99437b02bbd377ec77939b15721607642ac2e260eba72481e686b7ff83489a4c5186ffbd7e596873e5056df60c14e6a1ca5c6b03ba1e4a6d69a7b095727378a91fdfd709470fc1365da54402ac348cd457fbc1a401349d22ee60709846c482dc8aac65005ba5d2cfdad5a71cebf5de4b21b1fd8318b4c8beeb6938c97ceed7122ecd9641dc16108a5babd37a2a3fa11f29a715cc8f89aa05d1dd8b01298eadc36d0859a8396d8a286d5c39a07b512ced44f7c5286a9304104e828ab4481f62517ad100adae9988daa94867ec7266100c00132ab5de6c3cb8a61fc8 - -COUNT=20 -L = 560 -KI = 27389cdaad829b5bae23c03b0fdd76da7eb3c75312b089e1adfa7ce1eece75a0 -IVlen = 256 -IV = 03bb9c9ead92b6217e2155a912e658d22a6862ad2715ec52a7af7ba34c113cbc -FixedInputDataByteLen = 51 -FixedInputData = 52efe060cde0ef9548ae956d8b86e39339336de0e1a9424c22b04c7288129b6699d0433c4a179d852702647c4bc30638ebb590 -KO = 4b61bb90b40c4c644bbd1599ff51f210b6beed37c4ece9520c2342c7dd0c08dbc78b5b21e320981ee2c372208ad66e77215f486626478f511dee577fe65b8f23382ff3d2d78b - -COUNT=21 -L = 560 -KI = f28f6b20e3e267192a7846af1ad90f2c7a7d362464f8862b45af5c85ac41ac9b -IVlen = 256 -IV = 0f7c1d9a19676b2fa50ddec2877a729e156697fcf5d2140fa5190b1709327944 -FixedInputDataByteLen = 51 -FixedInputData = 4350b38f93dd22147c98d3c3046f157c15ce90f2ad27bdbf4c0961baa706c5e53ca8c6c55e35b1e9eb980142d8a8239ba500e3 -KO = 2a59fae3208228c93f690781381026802a73268ef4d9043fac453c925a83bda9e9953e11aee04145c678e2674291271b75eeae5c34ada145dfa85edd34b48855cc193ff17e36 - -COUNT=22 -L = 560 -KI = b1c187e5678208a5b33dabc1b1a2b286efd76623c793fd7ea0f4d3c6f62a0a31 -IVlen = 256 -IV = 96bd8f01317f7c9a93064d19c204e0de52dc8ebdd083fcbba1b3d770a38b06c4 -FixedInputDataByteLen = 51 -FixedInputData = 63dda844cfe2983b84e4af9ef1f0c8346cf52349133e3b50ae05078f22190c9e635465465596beafc7ef0863f04ae25bf014b6 -KO = 6c15d740dd61c8d81ef62c9633c5b03a02e871479d04e0888e52e0173d5242008b18bddb9f0a8f83aadbbd623dcb423a1c95ec52f1cafab1565b19c10d9b83fcb76cdffcda64 - -COUNT=23 -L = 560 -KI = 16dbd25aff6a51a9874ae27ae93c38c08974e1e4c35423c742d49655d176715b -IVlen = 256 -IV = afd5fa76a644cd98639046ae0ec6ecd3ee0d2407cf6c022edc619b6d823b5203 -FixedInputDataByteLen = 51 -FixedInputData = 13a5ff60176456f9fede1b15f85058da393971092ffd1eabe9aef53fa630763152f58ff6a8c33b3a59636e1d9efca612dc22f9 -KO = 362f64f0e22b6f25b7b580e25102a7fd130904597e08cb9e49ac0ff3d99ac42835eb032699075b2847f44021e5d95ee61dee193563691c798e8fc7a5d0402ebb02a66d940f50 - -COUNT=24 -L = 560 -KI = cb6b043b689b4a75c5c265424e23c00f2917a55f041ab968e1fb1ecec673b678 -IVlen = 256 -IV = 4b392e38866c36b39f96d72c312640d4ebd0703604f9f87992433899c67e128d -FixedInputDataByteLen = 51 -FixedInputData = 73c4e92588590937202376e3422ddf8e3525ec62ef9d87d535c62a495aba146cde57dd6ed8fd67a05f7b7d177d074b5a2500a6 -KO = c51bdeb699309090f7c3b78d8a279d6e8ed68a2b3d02d731791fddd74bfed9a727003861d7641930120f03f83d2ab87c05fae5da860c820c62722230296730218f854e2580d6 - -COUNT=25 -L = 560 -KI = 59466225cae4a2a8c123799e06d4f599198386dcb67c0bfb652e1bc7b146a19b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3c1d23d25a78db1f6c58670f7536b84b6882ceba54b399a2f75632bf624d8c862da1ead3708cadbed7697cf2ed78482baa548 -KO = 4b1c2a51599efd5e26298bd886a45d1d0114abaf1772e6fad7e5ac4a0271dd2b58c1a4bd3685c669c6c0966ab68db5dca189d280ee8f8993fab1ef67a728a4cfc10a5c7d103e - -COUNT=26 -L = 560 -KI = 76d9f768674d781f95d162d0f8834301f4ed179f23f71b45035c3d0838707d60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ab9dfe8d16ed77551da60751347dbe4932c5df0a2fbcb7d4e267b38cb116c9a92253103027a262be1351ca0c1b5004088644ac -KO = 574654753e3671636470e60be59c07ca110f9ff0e4b3029d96177530f9785d6d34d73f836435e56e8c36decd3fc5419660a22eaef417fbf627d7e4c3722bbab40c4126dde19e - -COUNT=27 -L = 560 -KI = fa224463028d4579cae98a0d82d0748f08f4a0db62512dfe1f7b3cbbdb52e38c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3482c542bfadae522dc4f853ed577d10b41546ad7a788f7ec13daa6bcfa24e07912c809c18f46ba5855beaef68c4b5e61bf518 -KO = 2ee31968f046d62fdd72e0f44546420350745b1310f4e25183797a41386cc6f9357417e4123a5821b8c0f7cf18a407be8db71ba54228a13f35252ae90c5235e8aa54268b0572 - -COUNT=28 -L = 560 -KI = b9bb3587314ed452ea178a1850f906be5b56bc1aee03c8b9cde168f16fb02c57 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9ddc527151fb23011a2bc18a40b6f5b709860643c7d5c27120ede9f5e6cab24f6aa24ce702270bbd8f00c943a3446361e988af -KO = 501a450a022af9c8c4a21596d541a202f3eadfb496ced0db1174aa97b56e7f45848db5bc7f778a88ae4190abec455cf1535c8534ea575a5365f7e1291fc1cd0efb161327b235 - -COUNT=29 -L = 560 -KI = f9f88ee863bb101b622dccb9fa49603591dfe0d0440478ca1a3d8d38b62eeabb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c1285f1bdf39fde0e5cb3da44b6a0c7416b802f46f3814baea74f443b8be163b5496cbbe39abc9278297b0bbf36d1f5a9ea8a3 -KO = 0bf82d15b1ea51e475b91ac07c08370b14bef2e51fe74584b6a1d83d361206ac7869b88fdd20b4725274280cb41f17b65c67a7be34bdd003e3f0c836a7ca5f16526b3f39ac91 - -COUNT=30 -L = 2400 -KI = deb6154ef671b47a030567dc224b9f973ac1c91452dac33a0b5462754e947630 -IVlen = 256 -IV = cf9149901f12460a63b36bdbdeb0f5a242a2bdeb1136ea7b2a87a8419cea72f0 -FixedInputDataByteLen = 51 -FixedInputData = 192ea3c33d73c3108509998537153aeeb3c0397ff1ba789911a3f9b29e074425cd9a111e9736494def76e993ecb248fd6a7ea9 -KO = d40f401c4459479ba4c21970ee5aa07cb07f620a52b9c4caf85ed5d5b1d6e47439c4258b787040ad2500f2e1bf38fc6faad67fa1a515e088648c1e285aada44185a9708c939e600e73309836fd1982afac4b0ea5bcda707a2e3b1dd8d4518ace77d08f92316c7d403edd64d996bcb3bba7edf54e601490c5a2af2ef730770a7b6e2ee01466149f2304a1f41456a16631a5dcdcf0abe386a667b607b5a9032d9e7eb6b3ca593cc353f27e38ee89bb22b9732eac4ed69a7c55fefd3f0cbf2c6d86cdb39385cefb006301baa230d7f5cd129eff402200f7abfc8974223ac7fb53edf4c2b41292eb63e20db841aae8afc9ee92b78a2e2d5315477c412e1e9c84351e91288ea255abfb1fce0bdf3166da55f87e761f5b922ffedeab329605f23c755a898916a75f4c018cef991eca - -COUNT=31 -L = 2400 -KI = 44252cdbb63b1aef0578ce7a32d6da25b6cf347373cfc2ed6567ef1c496aebc6 -IVlen = 256 -IV = cbb92d8a14be7cd1bdb7648a3b6d20b1e7c2ee808782485714fa6300e2ce4689 -FixedInputDataByteLen = 51 -FixedInputData = 2a05cba0663df16dae4183b2caf53419d081e0f0fed55df13390db516861d81cc7e02dc10cc5a22ae8a8834ea15b6ebb9193bd -KO = 164442d7431950ef135727c28ccd72050245fd756af8bf43770141adbb404a8c048ee3fdd4588b44c874095b58f11c79ca60a3d6def7e0423142010639821acd3a2b08ff59a8c7cac4e097b47ef91b1595bbb159164c75bb4916a0ac3c4bc4b013b6b12a78a09846f8f38207109ca55e96d4936dad4c99dd460d64731d339ac17eace029554e98387930040fb25c224a9e82ea91bd4f227a1c3d398b53caeb29dbc74d388d2d241697c39409cee19b9a1c1ea2dee9b70894bfa4604776d3174d6516ccfdc55f4a30ce1e27ef9a291f2880aa57980c927127d2055177704da2e823233e60c6a34032b362a92e5926cdde8f324574de93901b355899109dd59d7a4b17735c5fa35c01a65447a81dcb828bf000dcb49ad10746e46f0d4e04461d7fc07cd4bfec7aa507cb5b3abc - -COUNT=32 -L = 2400 -KI = 5e9394c04eec85d1c7e8267d154b95ef4e6cb278f50c382a18457834553ec953 -IVlen = 256 -IV = 8d055b4785d32115cc00eefcb439313266d31fd3e91ff79787619aefabfe5b51 -FixedInputDataByteLen = 51 -FixedInputData = bed70def47ca39bdb3188b50250e74c55c5fe2c112117d01573c4835cb2e9b108a7d20110ace7770c6ffac4198f79cd7900263 -KO = e266ba60650ba4a58bab7c6fc29e4cf73ec7cfd7924e46f36d65181d793d839186379eb76653aec05a64bb27fbed3450fe8cd8f1c94e4a27f4a5ca19764b0dce4c1fd603bb99c57e997bef78e93b95463d1ca91b44e84be81c3668154d5a25ca49b8631f43f5d9b8fbef039804bfc0f12329489c6ce9cd7365cc78676c0560429460c711ec01c97f2ce2bf395b16c902f89d5e7f066bb8b4445d107dadf426c60d0fdba094f89e397ecaf2636bcd200ac994ea335e1c543a0fe0cfbac2a09137f9f3751896bfd76ffb93128f5d6d61b71203110df0ab267a61988c15cb9bee0526ee091163b9980bfdf476cbe990991e5cc069d9970336bf7921ec4665f0f430fada94ebddd40d1d63a60d7fa47c291e9ddd63d3cbdd5df5b26a03df5f434a4dac9df2a070b4e1420317d98d - -COUNT=33 -L = 2400 -KI = 2f4d05827df096891b0d841600e86384d4efe3cdfeaf3ff9b3d4c13b5212ac0c -IVlen = 256 -IV = bbf408355bcf6fe20e4dd675cf5a5a52dac13a5962602a4f22cb106331735cb0 -FixedInputDataByteLen = 51 -FixedInputData = 53a79599630db222999fcc983cb3c98eb0222488133d52681f416f1ca745a85fc4ed15140b3608698aedee892f13476d6b4e0a -KO = fa6aebae0c87c65a4df5cf23f11f8bcf2f6f74a7cc2143c97fd53165d4c81b59c9e5cc8c8e69e6f887b37f9de5f3d343470588800349f8db70be8e91657e74e7a1f34f8c6fddc25552bda5f4cdb26c1f60b23373b3d73afe8c37cbd157ffceaa98c001dfc2b8fe85e787debe3f807c699046d984aad6c2e584b67f377ccbf7ec3577ce7699a0165bcf719fce16d17693f36b6845f9829549bdc887815a2fbfbd16f9bc922db70b974bb3413f9f1958bacdf13ffe8209e67d9901378fa47ebc45054a598775471722c5f8c4dcf8912fe565ca26bb8a6711517f7727816074922dd09b669cc7fbc0de4e984634f605b76038f2ab9be7a26775f69caa9d4e5ca4b9ed0157b1f9d64d4ca84a7505dec297330c275e23e2aed223cec5abf516f128ced70330cbf7b8489d8a4bf914 - -COUNT=34 -L = 2400 -KI = 1c31d583cd106c952c968882b7db1ce86de92560439396ed575bc1f52841a899 -IVlen = 256 -IV = 4793c72f9308206824782ee744222a98f59d143d0a8f44087bd2689e0030a2c0 -FixedInputDataByteLen = 51 -FixedInputData = 669e68f4f6682df547db3e6015c2d67d5adb69f4c04066c4b6e01ef9bf34ced8870e2d816ed40555173c0d53dc9e94eaa10fe8 -KO = 6120da165a25828de0f0a1420d82b55e9586e0d8ec908368843de44b42dcbc92ba110973e8f3d991e8c90814fa033989efd4e5a0bc396feb3fcf0eed89b498ca1ae56d79099370ecf32c9c4beb01a10e07ba2c9b6bb39452ea9970f5860f976c27aec24cddeaa4f593a086ae37788e95bedcad83acc440cad6b6e1c89269a8ae61882959f979fe3a91929871257d0ed0741ab4c9594f5dfe0d3c1f9e9a1185e9dba53dc2a38cece5a67e8213aa89e6c114c6c1ae14afdc013fa9ee3d496d9ce2c20fdf3165e04bc0976b0afa2b8fc9e7ba48f2c77d6807d62e449d1dd0f61138a6c540ed448f95a9811a855a652a2882bcfab1929418426ceaf8a10a1f7f54cc153e42b22ef88b6ea6a2d16f2e2a438784b2dafdc13eb28d40225bbd5a4083ef07f6d997f13c1a8535b03f99 - -COUNT=35 -L = 2400 -KI = f08525662ebb53b224c838620a3b29ab645579304db2e9dec77aac292353b72c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fed9e11e1ca7f85bbe9cac0a51cd93dfcb5ba0ccfa6c2b8db60615c15dda1ef270bd930b82d38853bc279d494bdc9c47085d85 -KO = a185a80d3266ff704e64d699dcd062ff3413d646756ef755b0afb3731ea87d047f9adc07eba7ed74070cc5bab75b40bd339d9a8cf84e36b897935e458b1cebf30e6bca9fd7e06ab7da7182a93634c2b34c27fd3d0354ba9a7b7cff680b299b7b947d0933f26457a56bfb02cf6b9ba5e9309b65d6ea86c38175d038727e5d1da1efed111bdde4a4a26c66584d37c2029b0a6a1221260c717a53b4d136f5cc51f03ffb8acec51460948c4ad49f1880836cc5278794b0dc744c9119d8001895c869f8e4b80e36e4e8cdb8310997c008abfd7dce3ded5adbdbe2358c19cc0fb75300c16a47ea7ff65dc8523dede85a4e36f7a44a2e0e487f0140e2077bbc61c1abf30736c79105249b8a97851f4cef8111de5c959d5d680758d6ad686dd17e1ff4ab36ea572c4576d1fc8744c823 - -COUNT=36 -L = 2400 -KI = cbee4c6e74762eb2805e4d242f2d3acac07a144284a696feb6255a808500698d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 917f0e5e5e900d906ea5de9bea6c3a0dfc28e46ec56f9efb70653033993e6aa6b3a3b0ac71d232a978ed4685140f3a4932dbb2 -KO = 6c92728e7b867601482f3059bed5003c0e653702e06871360e2646c1f78dd90d8f5d206b8c99a5a64c94d27beb1c673e6abae4cad630eeb5d7e2965bc142b5bf4a118a9f6be30d56e39c4805af665c704decc9b5b9ec598c82a4aa040ff3cebbf6a6b4dbb578fc36e4833a83a3a3667bec432ced57c0fb144dc232e097b2b0eeb6964dd658cab3525b80753364ec19b3b01e12748eebf6245dbe8747864c69294ad12893a2def395a98604266430a7ead36354884863aa8aae5925520b29fd233ab8c006e6958ff37af2f127d36c0fd2432666039c2c02053e920ed40601f695369469cbc8aaa2e9262109da107ac1505c469c8bfc04c4f35c5d8e9e7f87428004cc143023e4dc85ff01b3ba445d936c529d0bc57347e17f98cc422e459a2686af7bd968bb4baa21a83aa274 - -COUNT=37 -L = 2400 -KI = 9ee0bbefcde3d523cfd983a38d3bc504288d86d343c4d82086da61e10f92c4e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd2db4ba9957b4d8db101687dfcd4cfcb0619695e946c5f70688a6a07b1fc757e9a4a06e266de900a72564f1cf6ae0f02c0dbf -KO = cb371f8e9474dd9d6b638c523ad5b07ce4085077c3bdd62cce5a99c62e165bc0fe887b5447255a8b3b00af96bbf58684f01bfe0cccecf48b16f2bb521d1c74ba458f392a12d891af1f7f46983d809e5e4a63a96fc630ce29ae5bf06a0d0bb25609f8e0e346d8a7e20cd43e02341f31ea668b5d4f959c5ac0a2a73962b1069022bf22913f545cd51fda4928f49094bd663e0c72f04d0bec882930713153471dcca8053325896c57d2043b4a9f6e46e0c675795c6074402dfaf38a229766af153c2cc654abb0194d823cc0a09b0fd812e12bc72ffb6ea578bb7ed095003710c8d639b05d766e950ddd3c1f7936186a34f40a1cccc18b26c0a81007c86ce5eb22c40f03d9ad402128a44a94c9491032371adddaca45de38105739f95d8b6cb1b526a7ea4834812e9fcefd7781e1 - -COUNT=38 -L = 2400 -KI = 72cbb8a928d3192f7b1c0a6b5a5040133d0fbddb4ecb27bcfb52fb965e2ad770 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3426dcfa9308a4bce5a61967e257a05401a457747358abfcf41444f0e77c8b0525f3cb45b47aa18e1b8217c5c5d4575040c3f4 -KO = 02d0fb1ee7db47d2ec08d991e3e1b56332e69c738a3b14e82fb1abf4189a892fb421bab788a7f2a3cb9ff423972df07d679e408847023e685bb1660314a39084c12b0419d753b49b0cd7416d6ea23081c94f1e1b44fa38073043d540773669d90dc87bb8f8c58768f12972043ba11dae0f913b13a96885d2e03a1c4c14bc6f52c077c98c82b8ccad845ec1e78cb408e0b0a78136452bff8bcaa1ded7c44b13706e01ca24a1fd67e96817b6d11a2e13b11bd0c7ac81c2e065748cd820180636553ddd9911639b77d89c17a83e2992566f4c099deda7749fa54272e64290806b6da1ff74931b3e5c1b2964781552e9cad75cff5142eb47ccdb39a8617222b10e22b719d1a7372a4c9f4dcf30f9ffd1c4c44a35160db4104fb81191132e94261bc3aff92b3afd66b411cb7a672c - -COUNT=39 -L = 2400 -KI = 1a5dfe84e41a479fb3116eed733921a1a34afe05a3b46ef7cc92a1764d5f81c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0aeb92edd4d02d7925ce6f2bf26b47aeb7a1869b309f5b2f787749ad2e39f29fe047d754beadf50da2bdab69a5424562e516f3 -KO = 9a0e9adab8662a8a7b3922676a54a19bbc3d7d93465f70f9660674eca23c5177ef90360880f89db2ecf5027277f0e32c55910a478365db9199d8d1ed8aeadc6b034bfe35945178664ed8fc8e8a296ed97d6c8d44323212c09eed2b77f01688bb95271b37e73039da1bedf66ab5656b7b544229e19799d66333e3066f51019de46cfe52ff24908e2fe6cdf77b24f39eda785d31aebc9ba72da514c63bc8ae73dab5193f3f2aa06b7a67131a8ebc48da852e220a7538df4b38222bfedc66fad10de9f96a265ac09950d29a703d8128c65690c7e6356cf12c4199c299877c8809d53c2557789d8707f3244b20fd633b6a745e4b416a2435300bfee2b8774b2731f2eef5dea7957cd2a51882de56dea75fe55973fda4b181efe7eb655c350bf4bb4794fd47f48da5ced9a2cf1520 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = eee4026814007f2418bb6d19927fe00711c4ebc479c6df0033879ff0a5a790f1 -IVlen = 256 -IV = a756df44262d443214da7753f8924ddc44de436322c207299e1a44f591c77b07 -FixedInputDataByteLen = 51 -FixedInputData = 0241e41fe43ab31cff181cd4aa5152fcfd5d7f05e5b6f1909c6c8f3f859ab8bb2dd4858dc44bf2762aa60c85ea5365cdc8aa98 -KO = 61fa3d570401bcbea9289a441696d2c6ea2dc17e94d33ee315174e4a1a084a8f234a4714889b8ec56d013b6a5ef3c97fdb3d19523d9b1b3f6532c781841224fe - -COUNT=1 -L = 512 -KI = 52fdb0d7f18fea32a98c7418c19b2fae05be75a2d89c687001519197462b0f9c -IVlen = 256 -IV = f86fae760e67a37b6d4d33d411ba61214cf6a21b2e73e6c5b1f3fb8ee8e75598 -FixedInputDataByteLen = 51 -FixedInputData = d4d6cb33430a0de2d69d92f4dd1ef9bfdfca11ee9c29ba5a15a39f37fc0f4d9648d47fc99949ca92835d65969b5786d474d559 -KO = 435a4eabe449a5183f0b084a8f59d9907079bd6bafa9af304391fe84278ef9be152175c47c1e800a90328cb9deb66c36afe5637c71b85698d046af6064ce86fa - -COUNT=2 -L = 512 -KI = d7559c803dc19012341cd80829e0071cb87ce7c7fa12d5fcea3988c54729420f -IVlen = 256 -IV = 0ef3074a14c4a9faf0a15677bac6f077d049d60e7e1d8ae2fefbf57ffbc7d806 -FixedInputDataByteLen = 51 -FixedInputData = b46d2f9f80519180a0fe1d1e86735933d4daae42e0112d5df7136bf786e312370e59722061d04b5e76432f2a7e2b25dd9e2c0b -KO = 584ab27cf00373b2d1bac7a59c3b6458940f5296a1012644a69f76d502d48214673791459128888ad0788c763760cf5788550ffdc02752771abe1de1760199c8 - -COUNT=3 -L = 512 -KI = 0fd53431da7d086fb19608e51322095354020a57611e57af6174e4846e6654f0 -IVlen = 256 -IV = 65078d28c84f98dc3cc5c0e263a3ce1fa62f32cb7e80c7d377dc620c8cc6954a -FixedInputDataByteLen = 51 -FixedInputData = 3052794714873b9a779c63f67280f90727ca2f101dee6d7015cb7d6032d52a310eb74d0083100074a4c448296421e3f792f2b6 -KO = 0d1ca828ce9b0d247181a05641d43dbae486d6797827697c1c27803b4b06ca08ffd072be31bff4e80f8c7b77b61b38a52cfeb2f4a5741ea4e0fb28cce089adf3 - -COUNT=4 -L = 512 -KI = c64f9bdee3b25d8dd4abca3f9b92de5a2a26b6ffeaac27dd4c096eb0513f95b1 -IVlen = 256 -IV = 5ba7e55ef93071c32b163bb40ff734b75fa257feff7dd6aa4669f533c1de0fa2 -FixedInputDataByteLen = 51 -FixedInputData = a9b6b94d95a48ba1836b7b0af3d4aa91320da642727196f2ffdf760764e47875e98c67be30de404ba3bf7357702e449939a21a -KO = a6f60aab37525652466168bf806a8126278e1a899cafc3af92e9b13115d5c2fff66f331dea2d5771c7f4abf8237552e166c5008c4453ecb2c8c0d22a523bffb9 - -COUNT=5 -L = 512 -KI = 74541f0a3c8e87d66c64d9f1c3b2cf317fa3931ef1d4823763e24d90e00823ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1af23b0518907471a5d560b69e54b8c02b6e4920dd803cc6b4b3c9a981e2fea64939a0d167671f89c404b6e773938af9a8af4f -KO = 2c403aad64f8141234b569ffb9ce3d231266ef74e5842c60bdf45119ca01bf61f81e0b119b9159f5c1c205f43f3bf1c7aa6eb9bec9159ff8c25f1ed434c4e89a - -COUNT=6 -L = 512 -KI = 2c25426fb00d615734ee6e44f648616ae04301b2658d0b1918722458fd52142f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1db29b430b8af13e6d5e7c1e1d87d1756f53842f853d8937f562e5590025f47439f22de6dde6180b4d0e1073f7929b3cd5e0b7 -KO = c3941adc613242dfa271a08ea3e8448d82f1f33d92cf5858937d0efdb17fda1d331e8e2d324aafce0d7954d8dbf0d39b28597f7d5584578802ad1e26c219e1b7 - -COUNT=7 -L = 512 -KI = df3a8be954a642a25accc84604442f9c8319d2d7d3d107fe94b642efdb8106e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 07092227d00bcc9edf958888d602e823db9824fc37387667d59d0245f496f1e49b9f4fb7902ce709a0a40e815657e30a1babc1 -KO = 0086539ccf8d7dea684b85e7887b36ad504601cc42afa775c7eb630d2a79b04b6a62f4fb07b2c82ca50b325fcf5364b1196696a357c811174eb1d816f191b9a5 - -COUNT=8 -L = 512 -KI = 427670eef2711226f0e52d7a3a8940e07d058d3a5a204aedf24c0aab7882accc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56ac8ac16817b0b0b9eca0b5f446dded3144617e42e37559cfccb1e35c9d8135bd4f54bba15e34c7ee425fb6774e5df8229333 -KO = d53c7a25cd08ef469d1c85e0338ca40a14302020a4ba17b99eebc7dd052d281ddb81ff8d0c34350d40332414caa2ffcb4a04abc1780ea2674a789729b4e24045 - -COUNT=9 -L = 512 -KI = c264c61ae8282d559e4f14493234e304004cf7b3fde1f16e50dcbcd8fac55238 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be11be4b0d422fe2616453f014791941f17000b09b22070192ffa17eaeffeeae95f6120af08927311fcfef8f31639b2532525c -KO = efa31ad655c4ca37fc303316fbf118ee91ff17bc989948bd789cff128b24bc93e1ce112f55d0ecca7d070e865cd21e179dac7f8343c9d0546e4fdbefa50b51fc - -COUNT=10 -L = 2048 -KI = 5b6ef5714c0f772018616fd8e901e8e0eefa6cb0e757506c03c33969f393cc21 -IVlen = 256 -IV = 58f1fe0d37d4a0468d4cbf2670d9fca710467b2308bc2046bd9ce385d54020c0 -FixedInputDataByteLen = 51 -FixedInputData = b73878398d12093de6fcb08226edc149d13481ae447c864907b8fb5f4433a23ee1ecbcc9ffa9c253a59be65c693a647f33892a -KO = bdb81a50cd47329763876395ccce25a9f828a167c1cfb12145c85592edf1ad33f1c160c20a5b01fffda17429be5a3eb55ec67d5029592e9853db306b851ac6e3cf841b6da53de9dac407a7f1244e47bb6ad4ac29c2b117a89726ceee0ead66babd1627f2193e469c8134430d80b580015e9f9c25cb741158c5be82874128f1f964bc4dd8e3a77ac7228d3530c12837d549142dead3d8a486c2e8cde227d67b599fd43c6524094d0beb53013acd0003e11df3d4920b95dc2b1f7371995e86abd17af795c12415ae290e39fc5f171a1cb1df25a1e9dbd82ae1d5000280f050c853273e0c9fa5bdee5f61cab5f871dca8e9c8f11cc764ba3a40e4b2ff879c879173 - -COUNT=11 -L = 2048 -KI = fb67ee03536b16726a724aec3ff46b143b1204a9628f21b2d8d06cba5def621e -IVlen = 256 -IV = 833177e7741a2b7801503009a66478d41399044179f91f32cc5164c06f9aa042 -FixedInputDataByteLen = 51 -FixedInputData = 6587a365a2590acf53e3d8b8d19532010ba58b9b32ca477719f7b34d7eb6bf284939eba33553bad38413032e27a03e795507f0 -KO = 68f53340f8fdf90b617d8670e24539bb51b8a8e31af46200efed7f18e853d1fd7b048dd27b798bf9e8c351a17874f02063ce3a1ea8648edd669654d44b7d01db03d69f351dd16724bd6b54abbcba119a26ca5984eacb5fecd44976ffb7d5308d984f0c57a711c61f94ad021b89f2eb06f1cb5da135a7274b782a83264de942479b1cf206f1b3ac92f518d15eafdee2bff0909a383dd889f20eaf99e0a9ac6bcab1467bc696b7f8ba91e58b3550fab46ace1dc7b6b9b78fffa0dbbaaf935a6356dbd4147975983ed503f691e8cd1d185a7a5065dd8c6a6e420c482b5757890662a304d0546d20fc7075c93493ce5e0d5af21bf37259fc6844a4ada1158cf62861 - -COUNT=12 -L = 2048 -KI = 705b0d848849f3e6ff079ed2c1e6e249d3969470c012a2de085b19f20d29289d -IVlen = 256 -IV = 2678c26b6afd07291e01b10554b07464202ba34ddd0a3e9c2e4e6703953f6c99 -FixedInputDataByteLen = 51 -FixedInputData = d1cfe1a8cad450fd924cbe5e280b25326255fe4454a9aec6c43c84e9c6c0896d86aa1f3045a2423a2fc81e8fabaf7ef0b28a03 -KO = 5db4502a77529246110244c50e441b235ea15b3372fac92ec3d78c9ae9f3fe23cefb1dceeb185fe2e1cc9657626173dfe484fb4b04271a4c094397406aa93a97f1763c28677dc16ee04459fe64a137b5978d4efe0c224ce2637951a394b2b302c3d19bf4e26d6e80a33eadaf289386d62e0eb90b9fed318b28929d69c29b38ad9c955f8154818946535055882c225b37e0f1aa60acfe2ced9978e245ed1153cf8634295a79e30f4a9dcdcfd448347f1dd5a86723489cb7821fac52f07094442a33bcc0d5d30169fd770e1b02135da6f4f56eec2802098425cc9c5b5b9c8e1b12838b7939ee66fab7a9c7fbb2d3cc7193089f1275c86df57a03c4ae79a77cd8e3 - -COUNT=13 -L = 2048 -KI = e9e48f0f09e8467b642d374a8177d16775fbc327dcc0c2202269de33a56669f1 -IVlen = 256 -IV = 5d434d115ccfb4d56f4e3c3d50904b2e824b47251548612e21dc4752ad31cfb9 -FixedInputDataByteLen = 51 -FixedInputData = 7bc3ef7db0142824f005663aebe92652017cc0b3d41f2fee5fa26b3f78f5096543b9797e49df3daea57b679a6f8f89a526c1ae -KO = d1550cae788f2047a4e403b8ae7cc026ad4fda8392d989a2896f1099f9d8d04c0477b6a228040cca9218195e9fea9b3714d3e73a84d9044a39d3f59d0c5914e435b3f1346e98f86ec79e619979899ff48c44b3db70ae53c3cedee86f4b98bb7895485a59ee960ca4b642527e706070b7f5ed77962c33516adf874783049e7a8c6a6904145d7f71535e09222ed2a02f45570a684eca6b331f50c32fa04eb947ef2269c40e395d26fd2f9f591824c9c0979da50ec305c2f7305584adf630a2d0e32e417b508b0aac70fee46bf9cf368200b07d6b3656a9780a72ecef1ad31e2319236e42470c54a5d06e2cd56dce83efc1eacf7de2334f9a8c081ef1cca886bf12 - -COUNT=14 -L = 2048 -KI = 71ee3f469e103e391cf3d0e221d370251ac0fac02cf4713830e878b6aeb5e2df -IVlen = 256 -IV = da115512e438de90bd37b5feb82b085741be55240efb36a0f8627db721e27f4a -FixedInputDataByteLen = 51 -FixedInputData = 45882783426312f7319c5f4b446a7682846b144358ef757357a87ae88340ce60bbd2b3a2b278bea454d1bfd166463c8c08bbd7 -KO = b352db4e5c1868fe1f42f8cd90ef0a147621b5c6c30c9dca961c5dc821e91a1181cc9d2c500b7406a4637cc9bba7c56527ce64057d8d2d5b13fb1248d7f4e58fbffd5d29001e2fb45943feff15f74aa1da750d4dcbc0b5e20d291bb6c81faa7d7666a8038c2fab283632114d58fa266c96ca2cd2cd135d5df99305a933689496597996cf18d660028e9698bd7a60c3ba2344159fff9829974f90c6bd305df7fdd50eed5a0214eeb54ec87374a82920f6d3cb05a552b6c94eea2650a5e80fa0eac2c1e59f5b7ced439501ff93c3370e214b07c079d9bae84e3ee86ac71816c8cf1caa9d4a46d1d0bd3716277bcde14cf505c0097008dd58f99e7f46457aa265ce - -COUNT=15 -L = 2048 -KI = 5c3f86f1cd8104bf91cfe979aef85efb7743b299ca488f2740b50242849864ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 778cd76ec41f8437c2d13ffc8ccc7c5ba61e6e2a31f55fb9105cc8edbd2936a0e02a07dda602192f7791e65ef20299e2e6d7c1 -KO = b12b9e98e49bba2923e86ac30bc8b006aa51a4d3d6076fc49b5ef014a769a01030d45bd57ecadd0c525bbbe5fc57aea30bab306a15715c2dc09feb2a832407436a4d04355ecfaa23ed82a5d9eab90cf652b3c9c61a671be18d015186f36c93ff52051e0ad01c34ae830379b237df018f72d204958c1017ec843d4f3fbc494851f9b3cf3a026b643e1bcc8dae4a105788ecde2e53f45a2124c4b83fb2ce1ded13c5b04b7aa55d52faa476455eb9b421b84f2d3458c0db7a0284bc65326412e5ef2df80d2b860475b958d6f0006060a105d71cfa7f7753437e42aefa2a91facdd6e80f85a886744c2d71dc614a2ee79d28dcb407343a623c4731a5deeea014d7bd - -COUNT=16 -L = 2048 -KI = a2b473f24d034396460417a2f04647ca23aae33ca8d722a3b07a45b4c43a9d36 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5eae3ea61cb08748c8de23e77f8800d7d1036d517e042ff82ec4760946a477577b74f8521a397374016edf1469c4a72c0e9bc5 -KO = ef59351c4341e54882aa1973fa2802f0f6b9edc85f9b2c747f1e795bfe5a5ebb8573edc1855e8d1119aff3666d0717e8b3cb0c604290438835eea8320d113239254c006877d99ce0572b7754d93613cdc904f488a6620a8fbcde436395a36439fa01c0eab2c5a750e766524febd5825ff61db7727dababa1ab877412f81c5981ec6667bc3fbea8324a1d63816d4e47ea2e33c257437fc63bd4b659899625059d28356742a06e9e48ef94b5a1c43eb156870e9f12109eaf37320748bd3d074864ac193c1b88163c283646bae6c4552b2ac3a1ab7b0f829384706d5df215275a973051e52f6a771709ddac46934c56834f63d63d7c37f7458dc2cdbe0d1e58127f - -COUNT=17 -L = 2048 -KI = 072c059f9652e2dc8d51e318e3bd7b40569aa81a0a44499d7d032de706400cf7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 811344d19e56c4b80a2fb461f4252097bab41fec7d8121a441b155092cdf220dfab11ffe907f8af2779c96462813a6263fe1aa -KO = ecd40b0f085e263d7563a7f937edce2e8d76cbeab499cac9abd075f56c9fa924d5253e7d6a6c31a3244a829d1dba4f9bf6d12310f93050fea81e2cb0dfc22038143a043d787a4b04073e4d6cbc063c3ebc959f6a157f43dfd22ae06e8cdf08ca3d1f571828b1f093854da970fd74303d18233184e2acfefedb5ccf11399fcfdeea8406f5263b09ee57da9f8aa9bb8ce0796d25b6843d9e5df6e79b694e8fdcf3d7a34151b0a3cfaf943188d076919447fb30b894a48f307661b26c7bd440fb7f9b3fe3f26f39bbaadcf977ddf0387b7634e234b9cc750eddbf921cdee431d7e26b3d8711a51b70699d4556d01b8d48ef5fb17316fd2970187702225c7dc9c180 - -COUNT=18 -L = 2048 -KI = 51f3f0ec8f127e066ab2d47df478bf0c3b9aa7b0f2b1f21e9be70be6595d1b38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20f6ee72680522498a9a12095d55e006d2768fed789a8c4fe5ca95018b1b5108f9eebb65db6633df96226fcde9371b333ed2cb -KO = 418a90858724d5184fcad895d3cbdf224224a5d4378ec4ead9fc9f5e7ecb1b537962a3e5592466788a5f7585f0fc8cab7e2ee0595357535136d164077e14aa043fbbe95660de44262da5ad334a34995e7fb1c4560c4f3e1c72f06a8c265ab50239bc3bbe87548f846baf5189fe86d98bc38b03bc1b8a29201979c49fa6b43f29ac905242cf981c09503f6a3b9535311acba53b779b9c58d4212d0a8c61583c044cf9991682c3b4e162b0a34a25c923e762d63c273f12e121209267b1a79e9e49a5a86dcd368c4c8ec539c6547d15cc554ef8aac468d97a17bd2c9f78816b1bc3d7321f945c76bdb6c6b0c11fde31ad0e76ea96d5db71826dc59f3317fd8c67de - -COUNT=19 -L = 2048 -KI = 3d8fbb1ef86eea7442c70c9f3858d23d8eff1e5cfee6a6038e7e31a4cc32c83a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7565695a5849e50885be9419b154bbf6ca4ac3f7903f3baf01eccbf85622cf35df21c68365986a50719fccf005fdbbac404613 -KO = ce3d66759651992a6b6e4eff5c80f27603cf0527f6e3c81af16c479843abaa72198f4c0f8dc56b04592ffe652c1b5f72585508349f97cc65b940b864c65e9c6809903a4f50f8a021253e9ac54415cca2e621f8489628c0340ed019c517a97ddc9f9a2f0275a06ecfe6473920834a6722aa4e987c68672960c7e7d39d06e609bd276300f9f08cf297c787aa73bf90b494271fc3c3104c097fa05f907e5e7de8744b2960c030f71bbe084880f1d0a1eb890eae6b0edc6b706824159f06c4617de0903de68ba3341131caac3597ad8936558cf0ef29f8a8437e9cf81f2b624e3e32aa859d7fbcf523cc28555e19886e5798f6f330f21c782cb53f7e4a3119a799db - -COUNT=20 -L = 560 -KI = 9aa1f854a8ab902467a0a3c1ca8e5d2ca77749f5c6df07397df7dd25be34bd06 -IVlen = 256 -IV = 6c6e9514cfbbd5f807a954aafe8b73bcca21c5bf8601dd3848006e83eea2062c -FixedInputDataByteLen = 51 -FixedInputData = 9ee2675ae14ccc255d45719c10814fc70023f8414179d6dee8e7ecb48a14b2a225a39cbb98da0a59e84a9376923c0cddd3c313 -KO = eb7d7b4bd36eb26aa8c05af8c2889ac65978ead0f94b80a05027f3e5ff4ee0fe4110a8b978d427f161c265fdab78a90e1a67f543a042c9b47f6fbbea195fc511630615e6581a - -COUNT=21 -L = 560 -KI = a0bda26e99a988cd8a759502f861a099a496b3165c12e233098984e756b1bf43 -IVlen = 256 -IV = 669b9dbe2a242c6b1fba22e2c06e2d04cde6752539b3313801a2341068e7da31 -FixedInputDataByteLen = 51 -FixedInputData = 37458ad1f2b9aebb4924c63fc9526969f282b3053c891d8fcc57d90a54a10532d2614bc48e1be4f28c68d59ce176dcfe947a5a -KO = 63b4a52b2a2f350d0c8dfb33233a7babf2c130b0fb21a268f188f7cd789f025ca0f254b9493dc1711fbedbc19744eb740f329ebb14ac0cb7cb2ffec214cd72221ac1eef8df55 - -COUNT=22 -L = 560 -KI = de203ee9da7272f7196469a2790ec9d54b55d4f84db28ca18e1dc0783933c0da -IVlen = 256 -IV = 319a6e8991ced93e09da6207c978a45ec735cfbefe776c2a050e585eadfad229 -FixedInputDataByteLen = 51 -FixedInputData = 4c2aab1a05a9424fe4120a0e137504b29bdd2700c8377391c29442bf7fb18a13505d30f48b3c71ee6561c5f0f2c6ccb6500782 -KO = c936c85dd2d7f3ab4725a0a1b721781e79ec23f85e9d477a1e18f2b9f1f5f8c4699e4634e2ced70b0d2a7650a6bf928dd3014790400029e7ed2cb34f9b06ab7220e6446d9225 - -COUNT=23 -L = 560 -KI = 8aee8ac29e90c4ffecac819989c6907e93181bb0a6127bbe949fcbf029df41ee -IVlen = 256 -IV = 2e155ddeff21ce63d30cd59a53f4b7ea2b1ab4b53ec042fb6b6ba6ace5032d35 -FixedInputDataByteLen = 51 -FixedInputData = b55fb9fe0654d3a923766f9ac5c7169313636daa6255d0f480a66fe6ff1344f0a8f5dd333e9c7b1177fa62c0914e69b389b6b6 -KO = 8675e3fe35bce7c8be6a087e1ac7dee193cc7d6dabc7da493f71c0b9be4306b269ad7c5d06b58b23f071b60bc4b54ec0532a4c959efb7e03c3d3937cd58756bf22184287469c - -COUNT=24 -L = 560 -KI = d1474d2daef01f0c941d4cd3d93cc3945ee47b46621f28f9c7701e5b1f6d232b -IVlen = 256 -IV = 06cfa937922d8a828c71da113b0eac619374eab34a6181762adbdb44b49eeab0 -FixedInputDataByteLen = 51 -FixedInputData = dae7f28df1f439c9e194eba9afa4031564d71ec6455b23a811758c35a5668d027a30519d0fdaf6499b52401dc3b093973a6eba -KO = f3deff4733c11264c42b4e2bca78046619ce10cb76c0ed501013b5998e35a1b15d287c683d5c025031a104aacbeb09f244e42a9414eccc0f8c018b4371aa1df1fbcf78761999 - -COUNT=25 -L = 560 -KI = 07f96f86a06ed1231e0f69087e0307619bed24127734646584a35cdb98b505a9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 338356b47f8a7942502121f78ce16250c0c10ae04f5958ffb6a0c5cdd350c59855afb257e4eed05e9a20acca58b2876c91138c -KO = f83e29a3c36ddbbbaf215588b7ce0b2356d311cf7da3fcce9a88f1d269efbf57c61f68b6775a5d88d750cfc020076fe5969a06233bbd6071e215d02a11dc544dcde86e43498d - -COUNT=26 -L = 560 -KI = 3a8152616f429ee6321a767a0ae2ffacdd67ab9ff57c62e5acbaacd738f46a86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b0d72f4f4e1acda57b8104607ac7e907f962ea37725995fa545ad22eec0bf24a7e52b04f70eef49c5662ea4f63a0b7ecb1cb88 -KO = afac38606674b834b2e95ca1360fc4d57e6e70ca6f3a7eb1692ab36315887fe605c92db4850c2ce547068e23bdf436759ddc137dfe32878712237562bc6e96ae8bcbedf87a3e - -COUNT=27 -L = 560 -KI = d9fb1541a6968ab673925f438061466b1646958ae445f71404bfb59954b1f334 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56c0acdce2c01b002a6f25b3131919ded0ce5d064bac547d0841db4e494c3c6d09d4d75d98cfe33d6972ee5eb666d3937d7aab -KO = 91cd95e75daaeca5d90c4be58dda89793d0a572418e71c7a47fe6dc66b0b1f2257c9bc5824e215e394753b8890b648e512d408db88f262a63e652b60cc0c1c4aa9b7808229cc - -COUNT=28 -L = 560 -KI = be6193631138b4adb4f146f2394aadd9e9767b70f4e67ff6dfb12179ebdb2b2a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 147f154eca0bc5ff7f31af118d751b372ef88ddce6e4484a7d0f8a33484b717e46409e41f7b334e178a26d247bdee525209ffb -KO = 7c3642f59159804d1885819a423a6e5dbc25bdf677a89eb758befd068c83c9301027ac20a7781c74f19fc255d4f871fb06b91a222246faa85e5e93ff2a156ca1780f682f3c6e - -COUNT=29 -L = 560 -KI = 86845bdc8fa9cefc8d0fcb0ce9cd199b4c50643316755060d8ca1034b00992fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8f87356f5ecf85421d5c3c7383c480d86eb6c08f37244fefc655f1da1bd68c413cab14b3a56c2d7b600c2039d79f362f30941 -KO = ef89ee46962e1b5449e36a61e24c24fb54937d65abbe9ec43a5e79043618278a8f5a89ec80a975436e8a625aa55304c18d611d41f76929a0c499af4f72b035df8d8792da3dac - -COUNT=30 -L = 2400 -KI = da9f8d6f0e0ecb561972ae858b27be1178c2538a98e5dc141bf142bf5516d699 -IVlen = 256 -IV = 5d0643bfd2bab486067dfbf3a7ad93ca207e079f7cab54ecd0e3c1471ff8f62f -FixedInputDataByteLen = 51 -FixedInputData = d0e5fe0290747e6d30421e3861e02608e92f9b431c56e5c60216e578e58861056ccb1d3313d86e0602a2cd02eb183d327ee6fd -KO = 9ba5e29cb8a4c5aa3dbab0a038de6bf752218f19c82c98548307fbb730b42fb7ed5d1de8295b7fb7b98c52971b739216b41524bb7b7099a7aef025e2a9633e40cf905ecb1399c5e668b891350fdc57982fa25e156211793165fc06634aba38aa174ff2e623fc0ca93e3de465465d85dfc0e61210bba7ed1b7a4b8a8d0855944626574ef722d9917c3e5b6d72466d9e6e9fd9a1e7aac25af2724e3ebcbe6c3b2286ebbb0132f1df2c27570c2c8a1802e4b7bdffc9f68a7f9aeae08791b6c9ac5a6ad2716fe681cc3d8cbfe5d9d7f09b43ab219b1aef645c4b5c6da6488261455661a37f1c63b23fb0a87acecf9ef8562ed47501df80e6689b4fdcb1aa27d102fe8a3f9002a5f21458ded1dc91e3f16cba52d99d7828143f64a0dfa6ac54c48a23d5f0660f2eff520ae09d2aa7 - -COUNT=31 -L = 2400 -KI = b946e461ce58fc98d747f9e2e9f335d507d44b34ac7c3e377d4cff9ad0715732 -IVlen = 256 -IV = efa6daebd736fde5925994ce68f5bca5de3baf2d21245b12b5ed78785674f0d1 -FixedInputDataByteLen = 51 -FixedInputData = da3ac3844b798db734b85e3598480cc5cf17e449c43e68fd651503607c8182999b26cbfe119f16cbf1f65668e9302a012d4fcf -KO = e8abad3b87cb456934aff0efefd313a47fe65ce575f35ada94be96a6a43c85e0724c4be4b6820273c7621537f388cc0afacd95c843fa4319746df23b2dae41ff5781702dbb6be591affd6787a1c7c6a77af75fd43ccfab7ce0610a5becf3e01efcefc07e27af505979346b5725bdf0490847d7d76d9cb83fe9fe9371f9b1496ff982685679ee421e94f6b4cda56373c3c735c4e5421d88f225d0dc1daec1cf4ebf8e8607bbd33cc66a080f18d781b87b9d53882661c477ad6d3d6b6ce33d3d7e2ab5a52afcc4cebc267f32f6548dc3ac276c1473ace4324242bd1ae92a102b89c12d1daa892d21694e0a6229b19f241b9723186a82583a0cb3518aef1ff84a129965ac404c6e90cbfad34b1dbca1b130cd73e25a73e28613aeb03bc8a6cb48470b4b31c5aed99a7a3529a30a - -COUNT=32 -L = 2400 -KI = 750e7e057e649d569b05c899667377f9e76387c65a84ff60194db79215c6021d -IVlen = 256 -IV = c8f484a7bb1384ca8be15ac90d5a64450400c37eba4efd41b8d220bdc530cac0 -FixedInputDataByteLen = 51 -FixedInputData = a648074a34a3c167a752e3aaded7747d0ad7a6ba98e40e21c0ac6677416391d06962e8e4ddeb14dbb15d2237a8a94eccdbe462 -KO = 9ea581eba298d26763b38f98664cd32efccc145d434002c0f1cccafa5933c38921b7378edcb9a52ed252b6d88c22a5f86619d638c0fe314468c1506d8c7d008104b5ba1ebec120eb9f22c59aac27f38b52fab4f9927ebb45f0200618ed15a97f2d5a314bb8c59e2c7040af2689712b382a917d08d8335fdb08e702d5669829258ae328d6d42e8c5b2cdd148701e86115341c4eba5d05dccc0b2ea561e0d3717dd86a95c66a6750226cd3bfbc780b141c339f8b6b917c3dd53388fe358027cd3c3025e7ed5a335e1ab843ffbacff9c8348ed97da3a2f0ee3fb39cd520f751843ae35e7f60f1d5ffbd55bd010b5800f2fc7829139f9312886c179ba89a71b2b59ee727a767c527263846c607f4130ecee893cde195d16f684ff2b011ad8bfd133703b00aa1cdad76988c91df0a - -COUNT=33 -L = 2400 -KI = 91051f8c852c08247a63a431293e32b2261cd380c880aa61a61f9de528a1397c -IVlen = 256 -IV = f23bdf81fc964a099b6a79334724585468a377bd71e4051fd6c602ac5db28474 -FixedInputDataByteLen = 51 -FixedInputData = fe120a794cf502944340cb0779aa45ea6e1c68e913d47e2386a2f151a4b18d177f5407b4768732033096e9c7ea6f42533151cd -KO = 778575f798ecc335cb3f01927edecd9fa83a01dd1083a462ec80d3f91a71f4da2d735205475ac068a8f6b7484545519395726e58d4f2c34e0c75ae4587d8be2d4264f01a34b6f936a5f45e8e7899248475b1bcbae75aa4872ad3ea43bcbeb08449678d5e198c64b01022fa96a9b88ab4c310ec445f3a72a4b73d0ef51d3fcd5b7d12e0966001438378b700a2b97dcbb92dc5100a6c8b57ed070c8b9381c9748786fb7e4e39bea3f5bc8a8fd200e502e96f56c5ba9682e8701f8cd83cc3cad6063780cde3a89983a698681b4269536c318c1240c918899a3fa6d51f18ea2df8e88d809fd05b8da3aeac304e69aebda568b4c8f36dc314ea17cab6b1befdd5020893b713d1fbf4c75eba231a8359680175bac458793005c13ea1eac4dd3f8d6d9d9a50304f3724fda8942a25de - -COUNT=34 -L = 2400 -KI = eeca33f35a24d1b229aac171f4e2ce7062e883586d4c7762ddaeb83b527f6527 -IVlen = 256 -IV = 03aafd9875b0322d9f299c2a0ecc515afb807149c1079cebcefb42fa7970d9c5 -FixedInputDataByteLen = 51 -FixedInputData = f41034a927c3596f951b4992d5d499a9a2c7b3e100944e7c25e584f0c4eaac6f10fcfd4e5d336b2d2130d4cc8ead041b581a6c -KO = 47ee95664c4be58d8c69fb076193cdf43921ffe0035470b54f21b96e3f8a62f56500b5c29874e8e89f63b249715ea00542dd9bc4ba87b00ee05ab7d63ef5f317f777b69e930a6b7be69f69a3a36ab5302fcdc2c17ea187b0326c94652cfaf370389840f61a81142d99c60c0cbe81b7c6747981d9d8f3d7136c3ac8e2aece0f367753debc9eb08c78b921ffb3ee3bd8df86c05c079dc87d8de31a7b24d776fe1c65bb64f1940c44b340b97e6da0ef5857fde82fabfa27673b83d4adba8b5a658d30a097301930b545c428e0995d34b2ce382188ccf631fbb6d049b4ae91a1e0684ae3d70e1e0d3d095380344b63212e0dd652435184fbb54bed27f1051cc4de4d45624edbd2421665cdb1b1c9506e7bf46e2930888614ce14d169e181fe0e29af71e0f4b2cac5a605dd98a501 - -COUNT=35 -L = 2400 -KI = a8fa6dc2af32d82214184a6ddc32a08ced6c8de238488700133db7f49f67f94d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a11545a265c7d9af045241e42607137479ea208658112beca6139f965b71f8d9848e23bc2fbd71e9480f0fe7854d6cf69b27c -KO = 73931c101eff9b820ce5ca471a7ee2bc892464da33b8564d3381a1dd75962df144b75b9ded1c653830c331afaf38a298f30d6533a494e5b8c763f17e93ffdebd72f847803647b7d6d9f483719c1c1ac450b5068c7ed72b586451155ec012493a35d9ba72fb9b5dde8b60093df92803aa67d6e3f9beb7364ba2d76e0c4e80e9fecb4136446ec82844e692e60cc9a8b2575089efdbcd8228e62457c36539a672bd576aea75f9dbc1d5729309704b4bc4a0886d5f0aeefc2174c2936da1d3b7c02ac993f00e05074d457de072e5b8082054b363479a553fc7e8ebd3ecaa7907571c7c3b46252e594676f05c4f82039f373f9a4164f2299371f57d5186045c75b2b951d0187c71114dd2e147987c4a3408f8ed6d6256410c470c124b95d4dd9fee3e190fcd83a77d835e8882f2a9 - -COUNT=36 -L = 2400 -KI = 9dd0e19d552541a5895e6fc79acc2e80d7125343c8f45f0f4463dcec44d964c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f16346ecc4be1593762163bfe54bde6696895be256f02cd457581ff30fd571896984b4436c2c4d027d234b650afb7aa8161f9e -KO = 62a91353000534d2ca300aa8434022ead5617cb2b067a0da932942cfea20a645027b9b6ec1088e4af952550351e9faefc50ef4335499ddbe9b0836cbadc24dc96f1430093f94af6985b960a93d8022cdb4ee27a9e71ea242a002a6936e0d2be71c555a241e48a81826d3dac5fb8012b2dd88c46742ce7195aa952527bdd491d9687ecb037679bf8aa418bd8cc388df12208889827fa2933b94c3e70660bca61b2a6a4bbeaab1dfc5d8dd6463fae9be17c9b0da845b7fb10d59c84cfd2ec165f33f6a2d5a0abf677d45bd3178ac69767d234483fcd0e73a1ded669193c323f4b767adabe00dc8b0915c301a33fccbecc7d0559d9b2d3af536d714ab67ef20210fd92182b2969caddbb1202b5b3f37dd94ef36d778e6420dc4df7af321dfe9cd01598d5b950e1e15eec9d89cfb - -COUNT=37 -L = 2400 -KI = 78173c6be743a7f798955d310e8f65391433c3a9ad30fb2c7fb2d735d12bbce6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 064f093c7450db6c70ef5a521d63d56c3e576a2671796c8647aafcabb55b571bba076eec0b9f0ee7d6216d9b67dafa9d56eadd -KO = 6a937833c7cba986756502f78f568ce1e418bf62f8ffb7ded87de467a59b42c167cb40cc2927a701a486215ee01654d3ef57464ba4b16664b4c1a2cd86506a6a7289e30de4ce026b8c012bfcd7defa76a2517b396364572e1aa0e4f8256063e795034c3591d1e341af4b57cf7765a2ac210d392cd01291e750631b3beb2fd9f33bf0da2a215cb1022cbefb15b737d9b7bc24e9c9e0b600c394ac21d74d020dfe0b84b610335c9cf5ed206bb32b0cc929bdb48671c62f26c8b2916aa41d416d920d5796ad1e5b5a479d4fcb0f5dcf26d1585cd63371192b35822af13113ba717022755b5b08efb9fb0b7f0c6983c69c4d0d086b5a1e3e3dc24ff8ebdf93e5c79100189c4adbbec4059326ada7675e7d63a7aa6ad064d077390dfe200adc69ea63cf7043031349185854ad83bf - -COUNT=38 -L = 2400 -KI = 301930219abeba114e0e64b34c85691f463d922172714b4e32826e88762f7123 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d50c5adf1e5b14bd2a6a3c499d4fec3d29ae33ca12808c09e078ede71825878ac100a96a0c2ac45533ba23259339e4a8b05d88 -KO = aff7403e6c6626c43b6d29fa78fe3eba25f1791aa2f4cc75fd7a1a1d1049b7c2ab8bd2d99ffac35b34cd4f70d78c8eb526dd51ab0254ffcab4634b828623070d89a2290265489db3c961eac93696ff9396a8b684449c4b5eb8c57a47eba043b7e0e83cee7659c30fbd9ebc38ae5ff06fb2ce973602e5732c2a0099a5cae2c280f31d1a5f96694a493d59f05c96037aacdbef76bd4d763b5ecdeac49ba736293e1b1f5099f2bd08601686eb5a039984a972f83c42d14e7709db6ae0e239ceacaa12a9276ea6ee7937c58cb9443a9f4f44eb8ba995297313798699089b3eed2e2abf59117935a26495f5b5a2e66bbaa2492ced9a9c5dc68a950725bb12dd71046e31222f4a0461a29118298d43849a2758499a244befed37b587ee0ebce6205a6b098a64539864a929abe8f64b - -COUNT=39 -L = 2400 -KI = be055e87af88e1caba5125163f5727bf0b53185d5b9882becb28b6b3047c803f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee09f4464a932e48464907a38ca52aaee9e7b38569e79becfae5620a434c8783276858e6f26cc3cd7429260a0c6430f13ec5e8 -KO = 1392ba361c4360f06ea5cfe0d87fdada05f6f1f622b735836e37c46a0aed07d30f1cb8f63f0b3e19c1e90f3059e22645c7162e7c05f5e609eb1ed8ee192aebfd933435ed43829ff579ceb6519149aabc575e03bb6c617846481d3a9f7455521216ba5970b3f799537ea6fd2a55e797edf1e3b5124567ea8349be66e8489a125577a52fd3afbbfbe666ca6eca1b051ed17b119f21ab3384ed78dfe6ef26910911564716f4142ef9b9681d10fe880eb1bda537269bf551972f2c61d5675ffb4b80674b6ed7dd8080e4f6fb8d9d1811fd0e0fbc26879d8f14f695e21e968e4fca7b9384d5f4834433f79a030657caf635e153a7e3540e283ef45c6b9fd2d9e81d68193a3c6993547f0fb8f45c1f8fe92b7230134de0c1c2682bfcb71cb031206407af66b0c076552a05bb7fc7ac - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 8ed07693b7d4c60065be1cec1d4092118b6681fa5bf1e540f97aee5368c32e6a -IVlen = 256 -IV = d1ac3b650a4a9fc507c4de84a8133bd94c407859fee51599f81929308c159619 -FixedInputDataByteLen = 51 -FixedInputData = 0d70b440a77b12ba9d6f02187f1b5bf42381ec83e1b58cf18aab0b567018d465ef56842a826ff9d42f2459f7d004e310dd39a9 -KO = c6978a467a7e66e3486e3dd17e293ad2bc41379499373b1cc8ff237217754df5d313f1cd853918564dbdb2b71a518aca1c258a7c69d57bdcd7688fcdfdb6962c - -COUNT=1 -L = 512 -KI = 2718fafec62dfedbea7eeab579547cf5d5214b72594a0c99d244573a0e20d585 -IVlen = 256 -IV = 66d0a0d3399a469a5c6d4056ec9e3c5b9d9460548639f6e5ceaf5ae203df550e -FixedInputDataByteLen = 51 -FixedInputData = 0519e4bbb98c8613a09cfe9e59d338aad65743bbf6a85c26393f9bf95090909675d88e1fc88d180e0a444a4df8bf3b073d11a4 -KO = 3b6fba279c7703c383e721a60d41f20833caac28446f53443ce29140facdb0f76a5a595a110ece62916d86f122e46775e5a63b536ef967ee79be5613da59a710 - -COUNT=2 -L = 512 -KI = b4e97bf9a71e97d7cfd000f001766cecaaabd642ce0bb763c617f30107f681c4 -IVlen = 256 -IV = a905647dfe2c57700fe98859dc01e4401f957c594311918b023c69022b7ed916 -FixedInputDataByteLen = 51 -FixedInputData = 45e4dea87ad4245edf8116f5780710056e6f144ad286b033b104eb5305f1482520d6642074b72f513a671eb0c4e56d1eb838b3 -KO = ca4002ccd74a9fc028b683ee7c4513ae94d89ee6266eb097fdce0e26af1ee1269847d2fec0a0f92a20d496f110af27bd084cf16ffec61a8e4fb643fe078ee015 - -COUNT=3 -L = 512 -KI = 53a98d91c6bc65a39c7b833fd8a2795462cedf6e7671645919234088c863c1af -IVlen = 256 -IV = 1e550df77b175bfc3b9933674347a6a39e5a593973755cea4278129de709356e -FixedInputDataByteLen = 51 -FixedInputData = eda999ddeb71f34a0292dd92db7f000c3e883e744a22cee18dd6545fa198a15a5d0775af7d30adeef6a985286768f4b7c4a441 -KO = 40cd8633ea311f24a46e0bc493c032d1278730303a70a797b9693d143c1f2c464f65f864d89e5c942f7a4926ebd0f3a682115f3bed0aa5f5c84f7cdae5d94e0b - -COUNT=4 -L = 512 -KI = 0f86897a08ba27b1cfb4604265c65730401745e6d80819076298b60b3d58b117 -IVlen = 256 -IV = 0a134d3e51a794deaa6547c28f85a3577fc5e1845227f041e1d3c957c741e3e5 -FixedInputDataByteLen = 51 -FixedInputData = f76b7bf08dfe2d7d98dcfee3dfc78c69a64a861a86efecedfb83948d509da2e94e92f394e6208ce2512159fb4c7607c9beed00 -KO = 40422eff6fe6e7a6388bb79740272505e09158258e254d5ebd09052c8fc8c4439d8b43de79efc1d7f522ef2c18fdae64cb0eca7d8f6db6a3c99d62a192f4430f - -COUNT=5 -L = 512 -KI = 3ea415c91c0c361166f9ce9e3b7207b27fec20ba7cf5fa4e58ae9277b7aefd78 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78ff227a1b3f1d7e272520edd179e65138c07d8bdaf5462b1ec1eb8e47e09d157a0138468aed73888a15c2c041af54456a23ef -KO = 31b2b1e9335b88bc284b79d7786d1e14303b923e3b4b72f6ac6bdfa884f640d524b73cb1639c3cb7c342f41484e34b23266b1e8a98608ab68f8edb56b02d98c8 - -COUNT=6 -L = 512 -KI = 709e6ba79b8ce106fc3d3ba04c0f7c22cc89448dab7d5ec6a6c41b2386ff1a89 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9532d0f5e005c09ec2a6b5ec765e3dee79409d49bcacf12444d787e50c928a951069de9ecf63e3ed1bd0a3817abd443c8ec25c -KO = 5c5c9a0175e97a725bf5f9589c05d977b6e0e654d1eb0abb187030fd62260bcd2e7dcf50f9fbe87c9c45227665254d4a167be60f570d8597845c514d4057923a - -COUNT=7 -L = 512 -KI = ec3207264a499559d87b281ea5dd38c7214618c77383d1c945f747dae172569a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0a5c66302fbbf2eccac38f4aaefbfabb2789a7e9dcd0923ee96f4858af5023ab1e79fc181998fc695f7ef2df17874ef70bb6d -KO = 1375b9610dd89b44b816428b352b9ddfecb6f1c8cca1af3e8b940d6b8936b7d6d57d5a97e52615a1b3b03ebfe5a729917283e66d9fb449079f3bd294a49d0841 - -COUNT=8 -L = 512 -KI = 656943f252c4b2841fcc2bf6953d90570719f319d2ca52addb236056386da3da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7fad2a201592028c6d6f0474fa573591048a64899633b1e3b43672f9d240b077439bc00b0ff4d8839889ecb5740ec302737b4e -KO = 749159820bd12c7ad91c5a93527de9b3b3e9c1556c510687bba535dc0edddc2149d30fe564a7a0325ca4bddde719d16f956118316fe4c13042eebc55e64b2e28 - -COUNT=9 -L = 512 -KI = 8409e2453c130a4f191cecd50da6212928788118b0a1942690bc30736bdf168f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d34b923183ed56c68a103693997f89a6da3f846359df608520ca3d896f71d23cb81f99ff597176cf73ab2ff09881004039d9c9 -KO = 3f3c3e0b198bb0c777107d9e85cafecab4604195e928c1e470ee7a48ef1c8208351103d6a9ef088831937c25560529a5a699e69737e54e1862b6716be53e8569 - -COUNT=10 -L = 2048 -KI = 3bbe3aae2a6b59222f61b7a58f9e0eb71b034de46b4da7f498cc7c0b13ffe2e8 -IVlen = 256 -IV = f73e19fe5795eefa23c1cef990dc12675a5cee219c9f7d407aa3e58a3da76d89 -FixedInputDataByteLen = 51 -FixedInputData = 9046201b9b024316859d7eed9fbd8cdf324bf64a4cb66c2f69a86eb2c0df7daca6a4bcd401f39d225c6b7cc0841346ff3c6dd2 -KO = ac2e8a4325c7ee58fb15e204995d1534e92b4ed0d17fff32a4b3f5b433c75148c847b962246943984fcc7009c03e1691536601eb68e8f7c88db57667bc09d6be14157b6fe606e6cc52c07882acdea999d998a14a54360348d6c0f0aafa32554ab3053e6c0dcfe0472f3775538491af18d802015d797bf839a67bbf05a970dce6866b18e308ad982f32afbecd312b7d53c7787f3d70fece45a1957b66138e070fefadf36d4fa2c3cdecb7069d5783a215618fe0b746c243903f2ef0212885c5c10a5deca868a8d9e1034b6681832b682eb4b732cc472adb13703b4c30741d892597e0bc03967a290449c13a53b6d8c55d1f76ade6857c363e3261f10afa417859 - -COUNT=11 -L = 2048 -KI = 52df6ff0faaca7b16d7940f70a3b0fe5df71abc6e7bae74bb77650649bd2dba1 -IVlen = 256 -IV = 22c96c4ee3735bdb2ed5f84c024ab9dc66fd8702909c6530dff6cefe3458a177 -FixedInputDataByteLen = 51 -FixedInputData = d123f60ede3ae7acfe0506ffbf496feb39a5a8cdf81602a310fa1699178056ab182052a1059dd9a8b54e129b65e9b196a1c2ac -KO = e639b90b201855cb01362c7d45417d795f289abb54053d72924fbfb30dc67d37feaf90753f2ecae6d0cf6cf056fea87742471be1ed946e3a33ae9ebc8b77c7dec38fbcad3d0dd293ff7faa1489ac6e6ca584364157c2acd37b41e5cb40613681fe5127eb1c6fd20608d4b33bdc9a16f1308e8dbd4766c9139d80b6f3a45b4c04600c511c54ea1ca80e0822ed239f59439641ccc069120f94fceafd55c9c1aa7854222f8f6d1a5526db6617e7d858a6706e65c009c536de18fb6d6885de8122eb319be64522a720844bce70b785501cba6b2e9bab31b56f09b75bb3035b0dd0494908e7cb17ae6c0f04a79b212ec9ba12cdf428a0328e7c33814b80ee267da912 - -COUNT=12 -L = 2048 -KI = 810243abf6696ccffee4ae6c363ffc5dad5a3fe60d615dddd94e7673e9dc2a08 -IVlen = 256 -IV = 9bec5c0f743d14db2a231756ca8bd920ce2860eebdab5acc4687daa3fe1a51fd -FixedInputDataByteLen = 51 -FixedInputData = 14cc364b7ff82b196e74912b40e245ecf772a1410781f8715df77ab04a181cf457f7df98794241850ddc805deccc2816fe63bb -KO = 71dde3498cb83f7cadec80697c34da1e406406c4d8cb99dded3d709048fdb6821f50e91386cdb82856a8229ba9c2ff1f82962038275d4506c25cbb44e4c97c05e0757dbc99a952dba3d2b59cb8540b374cd039d9399daebf8b94c2664984ab57612f92099e068e1023579fbe3e72cae686d1912cecc8357352e426be6b344e006c3febfdddee61c46d2f7820a7881ac71860b070347012d3b80199ee37dee3cdfceb0d48e1b3241f027b113e0bf6c48df7fd18b5fab1176f553ffcfcd5f5efa2f8b2d3f8e9c9d8e19ef59eb60987d41da1f83def8434edae8b280495dd852b85f826b24aefd2cad15cfaecad8b48c45c80538716edad27c3a7d499bdd6d23624 - -COUNT=13 -L = 2048 -KI = 8f47dd91b59dafe40a01c557d56b5fd3411899858fc1c34a7cd872ad398939b4 -IVlen = 256 -IV = f39c451d8281a8cadad83d9762620a7291eab24cac656fe20c424213eef2537d -FixedInputDataByteLen = 51 -FixedInputData = 6162278b1ed2e3f8739d54e7d4e568ab759653b77c0341bee6268d3a703791502a1aed30aec1eaa1273c67308c65a4490dda85 -KO = 7d3d2d0108152de2cad82e626d8337778c050dcdbb564d79e55f058b14f1f4e2ae2edde6b62a8a10514ac749d24e3293ab6d2cd1c9fd20093392e08f242e7b465f8e4be847896fbe56fd0d89fec17b86e4c87f8847e0e6fd883a51cfcf17fb2e1e6772f609c6ea4f07dcf73fc37aa7b18a00479ecb7795d70326ee931fd24993f1e35c1a5d335dffc8f681e36e0680bbff246457000a0a692f2b1ff5aeb5a96ca40c9e75f7c30ea08118d29b55735ccf0fa1436bfe924df6fa7b8d51d5d907a540f426184083dabcb5fb166b814f0bb064afbd1ab2678406ebdb0d9e7a47ee639de5774d3558afbed7fa217a36959de70faf628fe10f5f444c40d4b4f62bac70 - -COUNT=14 -L = 2048 -KI = fb444850eebdf1ca8908f13a085c7644e7bed63d425186fc0249b5bbb96f86c7 -IVlen = 256 -IV = 49e15ed3c9199fa35a80391ebea514bd4fb7af568a82454dc2d46a0f208b571f -FixedInputDataByteLen = 51 -FixedInputData = 995537146b24fb6261270e65733ec11c6222af92c1e6f66cd17d4b28b239f39ade6eacaabbdf29294b2054afa6e4f839cd7562 -KO = b3f942c8b1621f7b14f056c2917d66d7a45023b0356fedf6ec07fe3c38006d7f5eaac170c95089d8bb9823e0de073e5a12e68f363ea415f4cca9dfb93a55989b7cf53636a4042d7ef4aff78325bc3771ff3e64176f016a8ab11b01bdb95fc69da30e84ebe75f847334a8b4c86d358d029eeddbd016a8d7a9b502e0c48d46188f4a96981db06efbd6455965f08e2428e867a5fd9b1783971701c894a75525e8039aed12aaf76771c74dacfdac53e22e532229300a3f494dde45c02f874d9f71928402ae30c0db7241295a219b166142ab4b418adfb1c1f5c4252d90a3f0a9a1fadceb209e510e592896a63373428cdac81178d8fe288c2a93813036749faa69d0 - -COUNT=15 -L = 2048 -KI = f6f794b2204644eaa17e0b2ee5357f3962f5c39b2f2578b5a90f1231e6704d8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b9620bac5636b8a68e9c401fcc9de8ded5e585ce226d41d8985ce6a046ff61bbdcd0fbcef85879319c30f9867f061d731fe925 -KO = bc22853a418722161c73587abf59e737aab7c86ec3288211a8bdb84a4bbf8ae2af621d6d0b62bdc6d7ae1fb7d24c1e50d65d5e3432b46de7667ffd61edfc39d0de4a549f84c07b71a0f459813386807a26fed0a3f583632769acf94d8f2190283192a05adcfc052e6b0f706bb77b182117f405e1c8b8a5056d9bd0e6367d5632417e81e80153d72ca0bd1de79a7da0f304655e56c4f453f4d199bab97f9ed59a47a537753c63e20a91b61bef9ea0226fbf5cf432a446c948bef010632f38e7be0b54a0e186c5a372d21c9cf433142fd12ea190ec6231b9282ecab6c8bdb9880fa7ca5b5baaed4a548fc2082205313fa7f71bcc257216a296bf76e9794f931804 - -COUNT=16 -L = 2048 -KI = 6d8643c0524b1823276e755b25cebcf8df91ce949f00daddea552a117655f766 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 850c9f4c2fcb2f4068a558fc5ac55867cb1e0abd47213288a137dcab9dd0975c29c3b1c4d9e02fac09636744e34eb6b58f94c0 -KO = a3e59e0d1375ab26859ac8702af88617d3ae79ef01ffb0ea4aaeed88be6fcc6e78eed2835393eff05cd43e1645efdf6bee39d8ba4c72df24d5252eac176651f7baf05c7e7c643050ddc67476af6bfcf79e73762c933a4aa40899be1f6f0c29bdaf63d4de31e9e1a25f6440757fbae8af32151405173df44d124e4c64a46b43440a49fc05a42e00817319943db61b02738429d6863904246fcc01eb57c6080194ee1b02e14ecadf16919f5f9a5ed651a5560cd44c9423c986ce6c747a5d8f4b45f316ef5ceabb1f2080a7e194f025c62b9f1ee37dcfc94c6a8d252fe1a3a5fa37babed45379abb877b567617c9215d8d613774bb94bd145ef6e55870d6eb0836f - -COUNT=17 -L = 2048 -KI = 27f7a07e94481ead2a9d11d846df4a3b1b6deeb4639e9f20715ed68f7a0d2b08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e912618253c0c62cc01ed05d7cf7dd2282bbc375427e29ad00c112d0bc30ff3f4a91366330c17d7172a0a470126cbe7ec2063 -KO = b3dd325a8983037066b494b3e9f8313fa40f421d148400757f1545e7d08d213bab8c4da482cbf8acf840e1a788e367f33ebd841d03d447d7969c4904ec812a754c4acc29ff53b4536f57d371d602b396b1a1348d9ca4f637bc2208b712686f1cd23b4ee57b17826e2581494faed0dda2e16e5cccf7d772a04a394fa698fffd6c0232c2d021a64c11a33e098f71c13648be962b06dc752ed56771c26d5edf03b34c230b90a1b3f7feebd545069f466fbeade4f782260f842631648b442ca551ea87eb31497768f192e6dd4e9c6fd0695fcee12c9a255763b7be04f0c5e84f779c7215938695f1cb5886e426b9cf97142455c2b11ca86462b9d6256e46fccdb3a5 - -COUNT=18 -L = 2048 -KI = 6383e840e690a15af30c9f0b4078c3b9521b4eee6e83ea6b5a46e6abe0b4678f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10971f77e11c7094900dae2ee2b55652f9bca9828219d218b4d35704fe09f3dd7824d1079c58e424ed7f3a00869dbc5fd2f35d -KO = 86f2467409c40dfea7ae53a27f23e2e294905d06d1fb924d938807f09f1744009be7ab80c6fafe65db7794fa954e949d1867ef51f2139631203b7ab35579aaa1dfe2688be3d0d1085465fce7d32a9da7e4fe31892d94ccd4a2697920688e549668762628e1da6bcc5d58bcb5fa5d05e34e3ff893bc608af478e1e825c4b06951986a62790189f26c384b33ccd009125b9f737af6fa58af52b0db26d459917094f92b8901ea35a08ae411c40c0bb863852fe1c7725b72b1b0a99df1d728350a5ff6eb72fb19d9e7c2f1a5a46785dd273963e056c000e8ab9f027605388d8982448073afe4f13a05c9af6afaaadb2b9e85dfb792ddfcafebb7460c057ea90f7e24 - -COUNT=19 -L = 2048 -KI = bd284a6e0e7d99eccd888fda906b04cd91b3ddd2db6ce49daa6c05f8c7d00c2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f143ffeaf4a3fa2686ddc767556063b5dfc9aba65a3cce2848c87dd89d00b9bc5c1af211af110ac40e692950bb055d1335af00 -KO = 4d6cf33d2f508a7ad699c93736ea6b8d23beea562bb532e04b551ea4cf88596139e4c736e079d6cb1659fa0bca5316b7e2cf564d0c5fec0c1e54c5e7deb3c7ef6efa30e4ea5651e94030da47df18dc7c16bb426485435d137b8ba1862f27f1feb1872800d61bd41f8cb0e821d0bb21cbaa1377f2d6533602e26d9c50423e19c9b7b5f21c72d7358dfaedbcc10f580fc7b1aed77ca77216bb0e51424bee82ff83255c0a82e0714d523a4285e22a61876536171613a17ebabfed4cc0b9c1d4bba865cc9aba70eeddc62a0a8458773527d4fbe2d90d1a64d1ad69dc63a7614c3c8b454c6a8f9785364150c3e781740ef4958f1f95b3ea927103064fd2d87f90768d - -COUNT=20 -L = 560 -KI = 64cf5e0f88fe871d41b86fea8a0837beba8681aff9e1bbf3eba8dcbf4ef829aa -IVlen = 256 -IV = 2fd87f5dd5231808e8490e20325d6c1755e1421f2851f7eac4508039fefbb23e -FixedInputDataByteLen = 51 -FixedInputData = 987dd6ca745068b8728bb03ead123ae5bac19e532b27bed33f74f5aa3cfd93173db762c056eae5d4a468cd8fbda13be1183360 -KO = 3aadeb203833bc2a61dadf1f7d642ad9e9a7a612c0a90ddfb0845656f43d33d4df9a6da3aab05c0028acc7665cca80750bbb41c378f343bda8afd62da197a198bac6ad3f930c - -COUNT=21 -L = 560 -KI = 267dca25e9b9da1e4bdc526cfb2142da1fd104f496cfd9a133f2efa9025bf3c2 -IVlen = 256 -IV = dcba9d63463d18c0c6328d4c202a5c5823001b7d91c35d94514dbc0a99c93893 -FixedInputDataByteLen = 51 -FixedInputData = 59f56524cc598357e9766ac7441f23d5ecdb9fd761c0f0c4f9b3c625a343c7d842a70411764510604faa2ab505d62cce426439 -KO = b8444e3c8c3a19604b058832883082e6d631ca6cd197c5bcb4fca806a6f1af1f65314e7a1113955e50625e0223ecba786d0a4596d6a855ca1244f67f8eba44fb1b772f46e40f - -COUNT=22 -L = 560 -KI = 91673bdd4a24907a7ea13d3a78797d54d8a0b217bdae64a76d75ee475a36043e -IVlen = 256 -IV = 825f12db312426c4dd793c52a702ce3b09c5e2074d3a8613702f81ac72095dbe -FixedInputDataByteLen = 51 -FixedInputData = 0f343c968b7694617502a987db8fab4d8af1c02b603ff4ea89ed187badd53c2ed42be388ab58ed8686eb1ad08db3d3182092b1 -KO = 5a80f04e6dd57b9cc6a9cf9f72a7a852349ea0a983ebb0ba8359ac100fb7032781a60593cb316be6e62f7901db67b2179105ef84337a2e59cde267b4d118c42e2db442365452 - -COUNT=23 -L = 560 -KI = 68f9868cce1246d040fe21aee6dad3c4b196c009523938e445f536b7762ff28e -IVlen = 256 -IV = 1421d5d7f1e5d9bba105f6be2efbda0682e84519e80c43cde4ca4bdf0d3bab7f -FixedInputDataByteLen = 51 -FixedInputData = 3cece1d83bdb042a151a31b417de8e3dfcd5ce9671a36d92519e5a9d58c15d65049e08d0257f896a34bbfa5ef7f42b93ac15a7 -KO = 0f5c2bf9c1f951d6398cf29d538a3121fc34c5751310236d8511246a39a6170fa6802df3c1c9e2efb184694f125581228429a1576c8456b5b925b70b3cdce172a0905e80e7a9 - -COUNT=24 -L = 560 -KI = 4e00f4f1deb5b95b2d2e9251b01cd7e1d071edf9b2db39302898432b70b25933 -IVlen = 256 -IV = 74e0f729c6c2a6400aba2c91c896b7385bf13c555d9ec11901925575e0996ce2 -FixedInputDataByteLen = 51 -FixedInputData = c8640e383334fbdcf50d48b33975efff5462cc17b542c62a273d2a4ba5abe567f435801cb378b98f3c172eefdebf0ac6a150d6 -KO = 7eb779189559f63550bf79645ff4833c544bcb2779aa970538c2c4b7cdaf8de10d87a4062ef3d38c45171c34e7d19b7745e8c6f46c5b0b50d5418689c9dba4b67aab0bf0305b - -COUNT=25 -L = 560 -KI = 5dd6b12a1ec108d2c68d179a843a6883c3683bf762e9e856e0cd44f1e47f043d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a41902e366fd9476b546ffcf819888b70b4b01e9d7b4f55debc80b6378f547f7e4bb49510b648a96ad89019c446d38619e4e08 -KO = 7e1ed11032c731a2e2b9add797ad27c2c056a23e8691a4da72fd501eec8eb4ab4b0efa93d268394d30532084b2d1fa8e4568811ac4b2bda3ace1bcc2dc6a59629e68500154ce - -COUNT=26 -L = 560 -KI = 9ec380c9485883a1ccb2725551dcd88bbce8c5f13e90ab186bd641891309d35d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a45963cc1d64ad1f3afcfc029aed46322750e8ba7093d161b51124577a2ca3aa5212869e83510b55ce263b5526093764348e05 -KO = 08787ce20c325da909bc7ac4e352da1eaa517a7e25db6921a0e0aee71a072abd417e45d6b64644fb119031ee26c5d10de8f6ba27a43af18cdc8d5a84702a27bee819066b1092 - -COUNT=27 -L = 560 -KI = f6e95ec9d39a739d64596a98d6f21eed8c77f1571831cc231d7989ee831940ec -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ebefd324a3616fb8da7190b4eff62d7089dcbc9ed9041ab1fa5ec915f4513eed9505ab1569ba2fcdd04008ba6f33970179fe2 -KO = e06426526d0a58705668e1ea8b27fcb91c4cd9e17847b1db6294b8bd5f75e84718384eb04d56bc25aec92af7bf4f1da1f53c02bf49cf34709cf67f68527fea46f69ed79c2e2d - -COUNT=28 -L = 560 -KI = 8a1e0d464e17a8738154913c486bbc365b6b6b7778300b7cb00dfb69f57438e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed2733290f8014d2817175c486f778727b59e25af365ca24bcfa0892a99445fb4a3049c0ae38f9f78e0a6d9742f517f41cfd9d -KO = 6abdd49ac4d93b82c715f2677a0f6ca5e61f5716c444ec04c66a376870fe15fafc13bdbfff9faaf3f1f896b593f1e368b94bf36cdc8336ae1bedb6aa308901c30ceba18990b1 - -COUNT=29 -L = 560 -KI = 904a0706070f4fd49c858980dd7404439f88d4edd7b611aa2b65705d858c6993 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc79de228f2ea6049d1ec125e9bd93a4ea555ff19fcb38ae1324b868df44404e9a1c7e240db4c0736702a84f5b86e33f177b62 -KO = 4953916dc213ed480392e91b3acbaec5f416e7d0f1e9438f7976d2ddd035ba96484414b740ffbf6d1cc07605ec9ac6da3acc36ed41ed7dd8b43dec2cd484d0f5f05e315f7536 - -COUNT=30 -L = 2400 -KI = 2f09fcf2fe04773afaf7a7619351292ad034d850392f9ec349560dc70642bde6 -IVlen = 256 -IV = e59b84ab32bf03b63dd94bd73fe6f3f8dd24d44056e80e771fe177f3755f82b0 -FixedInputDataByteLen = 51 -FixedInputData = 0c553e356ae8f5644db677f1c03012d626c721c2b8b5445f36fec60f10dc0c15a3c7a29256566b957807e6c2aebccff448632c -KO = 43ddd7df47af95c98573838e00c31408b9bc58846f392fff4151953300d872804dce83778d23b7d94535f9e41ae49dc5aac7ae899e6c28cdbdd525dbb4ed069ce250cba35401a494c8ccfbd0bf7b28cef307459eb0c436ce0048ef9ee06b7adc2d2ca01dc51362a1b25a8b4e583bd056dcf4592f28f6bda57a16b000db334ed99cbc2785d889c1b25c01de88470cde24e112a0578f573437bf27fae135724bfd108f33d1db30ad0610e5c960dc5396ed5a5cd685cd487e96e4064b86eeb371e921f8bae62b666c0a11510d9dbe59d95605e419c7b9b22604ef3a5b49cae311f066cde50d3ed354985bc4e70566f2e1059342f0f5011a1778d9d3f161fb8e7857cd0131ea22dbc68ef395871108da2a56fac998b0766812c60db35c8b1b56911b0d3efee002d4b63bf2f2432f - -COUNT=31 -L = 2400 -KI = 2dbca974d30214aeb38f7ac4b22b80d701114eed7b321270c4b497431623c46c -IVlen = 256 -IV = ebad52a16c6be759d4ad462cbf790aa5879d1fa74f6406c3d944cdf3a56cefd5 -FixedInputDataByteLen = 51 -FixedInputData = b25f9b8f3291e8b36f9a115dea021c583398a149cbfa9788c660f10be90c754111c2c5340857fb0c1c548a3c33c597fbc9d1a7 -KO = eed56e35234e8f175202195a3c49d19ee50dec85d3dea005d57ad581fc1b80c2264e3dd78e1ebb639a392ed181e204bbc54ab6a0c8ac043f94b8e6d226741e206893aeb9c811a35a754ba041316a03048864d715768c059405b3e7fcdd5b88c7ea94c6d302d3d132ef53ceb09e58c18603e0546e8ce453b63af3bd970ba9641244e8db8c16e22a0f4d4d77936df4fc677f093e847178ac51288b1f91b1297a5be2812d76a181a5f8c711e2648b2dea9ea8d828dc86d7426f4f103240945e1b4ca62e62ddbf5f029368c02d8fe41c62c25e36adc3c46bf6b791b041c772a86ed42c217d24611dec3bb715dfe1b7a044364b868241ef8828685bd000a6dec7c7b0db7e2da4da753bf388d9c9bca8f6baf21c56aabcd784e48af729c801df67af9e890b497965f9744a696e1ebc - -COUNT=32 -L = 2400 -KI = f8f288ea072a5a66f06f0b167c372088f89fe96a9faf1500ec0bbf7e8d486420 -IVlen = 256 -IV = 6ed0e65cf29685a956001bd91ce5a30f4e9dcb97ea9ad9e9b5e508f3e332e1a6 -FixedInputDataByteLen = 51 -FixedInputData = cc07749e194882b2e91a5ae845651906253133673a1a51a7b72c87a685875be47bbd99af65f986eac55607fdce5dbe03f7527f -KO = 9de03e758b9115a29c388d4ea703b1629761002bacf1fcba4993903c23ce43999a45544b16bd745873ec483da15682236bbce2320eae101fa793c196ebdf4b94e8d1120affa19e8f7c5435b2d7c5d66053920a7d06b9e1460435972f36bc8b6168517fcd157ba202952b6b8e5db0976280fd339a06ff096199b291b6bb0cef3fda4b101a4e8f1805cb71f3b396ca220ad0b5e6539adb0cdd72020a23a1dc78f45f14ceae00b645621aeb89f47f4c4bbe72912bbfbb4db300bcc2d1fc7f743c7dd5c6571588137d4e0b825825be8522965b5a06e79f91e06deeccf908c106a604a47adc88f84246868db2439eeb958b7fdc98fa1968d83fb1d09623f7750e3d088e975f87d8730829365439b22f910d13f8e216e66aa0898265e74216a6f80c664802ec68a5a3e98ac89088bd - -COUNT=33 -L = 2400 -KI = b8769af2091d160af7502d7b9cd35d60f9763b8330009b5aa6babd06e04a6913 -IVlen = 256 -IV = 99e0ed1c505b95c6fba90b8ab40a06caf37d9b375deed715aa1f7fef7c852af6 -FixedInputDataByteLen = 51 -FixedInputData = b88345f14524a1909b2cbd90d8c9eb1cd6707f0402d98647cb1355ff51debd049aa4702058cc5051ed52d2da0491f98e5ac767 -KO = e9915ce2000e6b77083b184e5cca097b535d2b6d8ff810dd26ded76b4729c5010f4757e67a1313ef5a9a0a86337af42c438d3ac4f441a1f171c204afdd7760a0a077b164bab6bdd8cecc4b2f603d4506f53b17446a89e6d9775a31cb41b70bad7e73039ce868d9b77fe4749b62e6447256a270ef35f24f72e0d79cd226595cd240582722b503eaca11c4e710d3dc6f52c43d0b7ef11ac188089ac8a27927b1fdf4126e7d7e9b58907aace11fda7476bc9db1b51aea3b182a82a9d7d816b77d2cd1ce0f53945f47b71f22f7fdb4104fabdd3b7189915408fb084273a4894a1f6beef3f4e134b4c01e7ae9d3112c8ee8e43a3cdd0bd26013d3b961de7a6ed80ee6a7cd9deccf95027e846d9a478a58bc6344c4ea90ec076f233759472d1da665999007e4631b3c817dbdcbeb36 - -COUNT=34 -L = 2400 -KI = 476b4d6ba870f7923b6288dc62a868ea37bdd7a1bf25d19b0bc0fd3b15bd306d -IVlen = 256 -IV = 223fb9b5da1d4baef14a0fb8b71142de97ec9435f82e7c52ba3583d27f879c89 -FixedInputDataByteLen = 51 -FixedInputData = 3bd5be58dd27b69f939c3d2086e4275b4c89c0d06d1d4c3fc598f918a3387b5711906664e880a03e8b0e4fb17371990102e055 -KO = 36110c0dc1c983540e96c8a3bebbccd4c94adc655fc33127de2c532ddd5bd47d35178835ba76bdf9a5b62254a50cf54072c392695c902e57ca29003c7ae5497e965a2457becf24357216d24ad2a0ca2d502000dbff45be4b0878268baecb823ee29cdaa8eb166da04cccf34cd1db1185b7a47fddebe7dadc7ebcd26aeaa7016df4038611eefc96c5a94669545f34ee6eb3001c4e62f7ba6a8a80dc82fb97e26f8bbc2ce8ab48b878b5fecbc63dfe4bf5c9868bd040569f65e429a914b2556ed338739d1fb7b54dd1c36eca95bc7c618afb85065f76385d10dc172658618e2140a2ef05ae8826bd5375c010d2079df7a6c42415ba8dfae67cceadcf5f015cd1e6bedd0510f6c55788f4684dec9b5fc3c3b6f303a8f94e9a0731e6c245e45b9dd3a31ab31611c595f481aa94be - -COUNT=35 -L = 2400 -KI = 2852cb40cb58190bc9aa6d7bf2be75c98dddc4fa64809a87bbc1cf2217810b0b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2054a2bb1fae205f5af3131c0db2a8c20de4acab114ad6575ba30a7e7ad80b8a290b342b657d1fde4be5fc485629f90d21372 -KO = d2b012dd2643cd593fa37cad53135997539e7ced7eaed9135889c153336c5a04a88b85af7dccba8f903f226c47df1375a37e60634e22f43d223ff398fd73b5a6aa7c58ce07d594713baf7bc29d2e94087234d0a80909e836afb77961a840a49eee801d054c72b203011e1926b9f4e0be001381d259af63b03342a9714fe547987d18d50abe4e4d2d566a24407f204b9c3e06777770fd65478de1d4d62d42f442b647de704aee35a1e1575755e9c054fe821bc9a396852a27173ba7806f85e0726e0b08117e131b5283cd4ae77c1391e6aa5de2f39cbd37bdc1dfda167386a78f1239339b3fbc9d56f42bad0c073852799ee48da07cc24f3ef273f04d61a6c6a4053554df64b78eae9178f16ac0c6ace5dc3727f21cfb0008f99978f9dd133f8a3b5c08c4eaf8e26df0462524 - -COUNT=36 -L = 2400 -KI = 0757e99b65e733819d2ff409930229d78a8c2946e3de3127cca4bf25b1379907 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb592dd3ea7e3cafb6ec01547b851faa5093bffbb60f918b1fb9ab4575488b5f00dec71aa883f552902e9b1e47aedca8bb9803 -KO = 2540f89d52f1dfcb72313e22e9ed3a55a919cbe6b4d5420fcd5020ea5552f123770ee73a9a3d8dd5e4deaec682687f48d21f767413a8f93811c5ff4a4a7be5163dcad7e356f2e4e7daa1a901012704c501e8446a6f75747709cf16db83153609c5eb313de4678785f0fffc5af50600d7f87d4dd6a6a65211283b2a5334553099abca85924b04b6577330e6bd9fb9a51cf22a68aca822f63cb9e9ec6be27466113721ca2dc86d8347d3fa1d11fb2731a6df824471ea50f1903c5a5dfe854823e6953c81eac594fa2708c1be11a0ac58116392dbc00d595e29c721ca97ea2c8c216046c9b353b49c04bbc35668be86dce213066ab992727c2e150e0fb9874bd20817c31aa2a7856122630688359b9505a0779b3d07be7b3279cf0d0c00828e392f5cd0375b0ea6db66003feff5 - -COUNT=37 -L = 2400 -KI = 79edd3a0c724111b6fc7e1ab4b7dd95ee374b820d08cc3b2178b5fcb116647a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9108258146299a7543af03320ecdc6b090ae16e67f2cdf7fc713a15ce10a04b3c71a952cc49cbd0599b2951ffe5d045eef4b86 -KO = 297bb00b6bd215295a4f25a159b13c22d363558e350b27f282c990c07a8b5145ebd7f10e06ac0749777c79f7f98868f622a5ab5f65df081aa4d81b29f0aaae0c8e7ee6bfc2c345dcc15452d32693508299aaa660217b88f81927b02760181468cf514ddfa4ebc57ed8091c2b48d813e348c0d286f2342dbb2db51cc96e5dcb067975e322e23d7d3d1d9fbfeafc7077f669c2c499bcd3cbc43597a54e58921ba912aac21c2bfa434c362e1659bcdbf8bd0df1ae0bb5b693f066684e3ecc6049323e4c24a5ac1ebde12f82e6d8eb279533d93fc6baf6dc569a75b364da381f2155c93c0191006d84bc958a399878f301e4dcd770ee8f34cfd711750361201886e0967d147c224c64541e69f71d866af5410eb97a5ab4d9eca176a8a1910bd86086786a715e605932c5ce8895fb - -COUNT=38 -L = 2400 -KI = f37f837dcb3bbece173640e20f71b2d70f3a28e8d8cc5d8141524152d583fa57 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1bd56c231276449971f16199f20b1e690e8a96f340e5c9e925cb30a995952439e5b5ae946d27fa79f52e4fe5f2af9023fbfcd -KO = acab2843765d62aebb70340604a5a3549b57192feace458a49d0b64601e5464b70c64e824531dd031350273e0befdadad03db84a6507a88780896dc7e4e2906239263aae78f9017dfcb1db58b3aa43a31d4e539c8c932306dc7a641d9798084885af38a5857c4b727bb8e837ff0055f1b884f19e05bf23d84bf53be1ab9458c5ab918718dde12241e0e425749fb3e84f8546b9bce49c45e29cbec5fec6c8746b67f9a07f90f30c5e2b241d8e32877722643a0611ef8112671d60e2fd8af2e65914ef786da2475d75fb9ea2fa5155847c5ff1ac1a90272eea8e1135d2173000aa5736bb75774c050c95a5766c7665069ae7b49fd7605f158c48341a131dc980956bff0fbe63a170d5eeebe2b9a820e20530f339ae6c05253dfd74c522aa444ae95cde6744c17ecc4617e14a9a - -COUNT=39 -L = 2400 -KI = 7e3279562b4e33bef103d1064a0c1b4261ad16a95f78c023262e64b2315bfc13 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f10d3385102bbfda0d2e4884072a38789d6831bc76aca34bd378f999df89472597d9cd0ef5c5bf3e8dc94cf25486039e27a85c -KO = bec6fe82e5482ff783afdd21bbe85d373d29d9166941a1ae44a68fbcd958f65a82f802281f2c2efa353a647bf96f61ab63ff99e9af601eab4b17b14a202b76455da3dc6a64eb6be7d37fefd0bb139270db9a946f2f78239288af2dc618d4e46a6dc64f64600ae1f91ca90d4c8b6ec89ce3c14cb3146343efc5809919b05cd8e82cee9b292100b2e2d6e58f4046eeb7990abb79b4e7566f58e41d80d8b4bad2e06474e50f1a48bdb23ef7b89ea8d28eb774d483997131f2eba6313524fb9737d1de36520021d85b777eb39be3d3683837059b55b5570f35bb8ed6483c1bbde499c80c04c5e987dfca6c83e7228ea08b69abc18c5ac6ce4b7cb01a1ead09abfe505e05ca7a50ab95cdc822b0362e96722559e032c043f3fb5c557b3c4a9d4170e5fda78f6c31358b477f71e89c - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = c30f82d6ce7d2e1909355b0e439b4a280bba1d745e57fa7f84e690333d708c7a -IVlen = 256 -IV = 6283ffae19781ce38285c4deaa9bacaae1ce6aaf09eee3b4e33b6cf964ae4f6c -FixedInputDataByteLen = 51 -FixedInputData = f05c06efe9b2fc6b7e2df7a10dc15255c1b2b448b823c1fe5a088e17457a092d30b6eb100969e1c625e76543bf30d9927df700 -KO = 60cbb4bd3fe1d7f459837270b67703a456842a047281e22044416cfb220c5f6ceaf326ef46591a06a65c739ca3500484e7f19c1c727013f56ed9f57aae0e4ec3 - -COUNT=1 -L = 512 -KI = 5880e765a3fa47b6303e8237c1e9a38e168a1cb1cf253f8b5a56c31ae3284078 -IVlen = 256 -IV = 88a773452293a37673742d77c7f75c0ed1ce945cd38fe588f762d19b3a3b4522 -FixedInputDataByteLen = 51 -FixedInputData = 3a1f3b358a83289d7be517430692fa225d74c7dbfb343f987f81243159517ede1c060c1ce4a90193ab6bdaf92c25749b5b2033 -KO = 1bd4fe2fb927a7e7b8027ee3423750a6772e3c92d3e31cbe2ad84df67285587f67cfffca9408bb882309afa30f0697403c8da745a2990c6c83aeb913ea6f5967 - -COUNT=2 -L = 512 -KI = 913b4eb6a81c8aa4805fefdf8e13fa452e20e2bc751e8ae82e6f39038e709d63 -IVlen = 256 -IV = 65900de76fb060babc8c96b4b9748c1687adf24b03d9e45d4c8767f6675acef8 -FixedInputDataByteLen = 51 -FixedInputData = 8fe64cffa067c2910bd4ee3f68cffcf4da4722ee64d3bb9084f432276d634c191e1a6d6761913cda1e58f00a1cb313e20d1226 -KO = 9435b19b48551b2f5947efe30070aee786f4705ea92968020812dbb4c10c35977b337177092271dff66347329ad2e1ba41ae79915c511cb2aae08c5bb2eab458 - -COUNT=3 -L = 512 -KI = f97c26128afe009027dbe5b2725ad809f331d96bdad26e1344f4b20bb7fe8152 -IVlen = 256 -IV = f1dfcd8d8421a5fa26f83ca31e6f22c1980e00475327748cb12575105c4b265d -FixedInputDataByteLen = 51 -FixedInputData = 656e1ba955b02eba5349738e1c184932553fa0da89272cfa456435095e0eb58bcd63e4cca57b3c9f9b14fa94466a00a2686403 -KO = 9a7b7edfd19d2e1a46a5899d424f6d9111bbc0173aba59c7059732b87f01b0f6f17d72be5b8d9d65a0475fa02a99dbdd599aca86c5e742f4e959e59607f7255f - -COUNT=4 -L = 512 -KI = 6ff2b94952e03d3f422f1dc262bba956df4b11b0c557cce804570f42b38e13fc -IVlen = 256 -IV = a1ac452423b8184daeed76b1b85e2a54807aa0ec9fca0ac811b22ad5807edf08 -FixedInputDataByteLen = 51 -FixedInputData = f612917bfd0c780ce948c2395c272a60fe6f051421784700d85859baf48f567f276fdf2f333619b0cfd70463c658ce73e52462 -KO = 54ae2b17548f48521fb107e0190dcb6e58e2940dc26c8d1f452fd98e2f5c84adf3125e4edd784b1f85aff341b5842e8e658a40f876ff2be8c92ed74e57d75eb2 - -COUNT=5 -L = 512 -KI = 1cee664f901e5bba5f1879a375ad6ba27956285c4278d77a5717038aec6ff0fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d4370a0850f7bb47071a7b433207d9cf58b9a21f5af7021522c8f4101017e143c35b2e7ae00866cdff0fe8729540da22cad5e -KO = 22d2ead642c321584000d09567a8a4c14a71839fd72ff8088f099c81fe7c7175aca9059c35d5cc75c83fb21d8c72836439dd2b5e038b4361e4f87e990df29db1 - -COUNT=6 -L = 512 -KI = f2450c67fd8336764fc2f97fdce7f92a9bf8b21b36dbe7ec1c8e4e17b99e456d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc62e1190cc96d41b1b376883163a18203877bb271db9d348bc98248fff243cc6e0761f4be0895bf7fbcce6f6e55b2f63fe7c9 -KO = 8da50e7dbd41c542cd9de3c5fe22407008954d7bad06eb743ede9dd76d0d1a87b17b8d029194bea4be3b2656adf72ef97fbc7b3a7f8ba190e2c4562c7e9f58e3 - -COUNT=7 -L = 512 -KI = 759034aa7b855063b75c7f9998067d28370d5e3b22cd5051e4e6ff8436d5cc7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 66a4615feb82f54cd18e53e695a2ddcb45638d42d77bb86d146e7daf43ca4f78aab72e6c7cbfa806139c71b7c3dfa55c17c322 -KO = 3e40c82cbe0a6b9b7a6eba9c004aa27bf091c0ab474e289d96e085da26bfb03025467b4af9c9d1586935b82e93b707fd8c22890086b88796a6bd880957a0f45d - -COUNT=8 -L = 512 -KI = e0303c96938d36489a7bfc195f812c4cec661f463c5b239c90cf0c7396769579 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c339914e0408ff5207d6a4ea0a5fb827f9356fc1c7b2aa0f7c720cddc6afb9e540e255710602fd371427cc1d43c9462ecec94 -KO = 65d9cb0e2254238b9f713ed7572dc5eb82b12be2c61bc2b87837d4f2bda7e4347a5f90bbaf4dd9dcde28261995830a6ac310eab4d835423e83d0cafaa8648b80 - -COUNT=9 -L = 512 -KI = ef7642e26ff08ade7837c2665d1b1cd28209224999155b745fe27d2b13e1c135 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c0a88f36f4e7a8473f9f7d1073714a3ab8e15b9ed7a0ad2e0d498bcf2d351100e7349544f3d670af3720a21d57694581284c6 -KO = f8373d59600842edc44c3b3697daa434fafe7b1b295150ebb2a5f483c4bf431c67141e298588d828f8888dc0d85eb9197d6d17bdb73309282c902bbb1346552a - -COUNT=10 -L = 2048 -KI = c742fd6cbfbe45c263f3b478705e9e7740e409f4090c2f5b2b3667b4e3759d14 -IVlen = 256 -IV = 90a46f9344a8e94207b635761c5ea5bae1fba0ea71eec93fe7d7a7e9880f9e1f -FixedInputDataByteLen = 51 -FixedInputData = 90721a2a14dc0ad8d6701f008e3d851cfe00fdd8e7f669b00a1cd17d899d492bfd2dca7b5c8a1ac4174195f48bda9cbb8987c1 -KO = 22d4fdc7147d5639aafef63071b2fe19f3159700e3091389b07a98489bf22d5505cb09a8df01eda49c94034d8b30e153f7a8a6c7f3df1284154e7b3d694ffa7106abc3f9f16075fd3f7ced00565a8244a5a23c54202f0fe9cf8a7702931413c58ac239626f3fbb4df2aa9cfa47c12c58ab9df6ddb7b306cd3a7e5b0f3b96301ec5be6d196ee8baa98eec90419c78170f02e0be166584ef37256f0b9517b7a82fe5aba17a42fa845b345933a8c4c2fad86e17b8478e3e7777d30bc203d92be78c312c9a0f54d0c7bec3ab70dece939361fab59145bad94477ebc82e16a63c0adcd65e15ecf0d610b3504f8655aeba6d2ba8e5a96bd1873ceb33e59f2b3d3e62ca - -COUNT=11 -L = 2048 -KI = 7325d68a0ed1af6d9aecbbf4c1654f42b8a7b332a6d5127d8f032da30e8b6c51 -IVlen = 256 -IV = c90fab4f466eaa85d4f5c3f80a8c05e1a9c86b14e79ef673eaf428e1906c11f7 -FixedInputDataByteLen = 51 -FixedInputData = 8463a8868fce9ea14fb8b93741a7b991c2dc28a5719ded61adb8adcd0ebc27839a46f39d034d5e7d85b1969aeb33f211ebaa38 -KO = 99e76883519dc001052c87aa08c70dbc8f58a3c08c06718e11dfc82200c2118907220113a12dee6eebb78716d72ec3e128131aed33517af0975bc58483bca39f983b55e0d55414cb508ec778f517e8da37ff48db65a7476205736cafafb612a59bf3a2c791ef643271e07c5207eceff459d18b478975820c6f908cc21f6878f9b842fda8794d2865bf708c29f7592790b159d26f6f7a7094f9f6497d5d6386b5877bffca62e80a151914ec2c0a2cc5f83692cbc165d7f1f6560bf056729e7cccb4d0dac13d99c3cdc25779f8feacffb9b9b92dae856d0d74d42e832fd312f0f3fa04be171b085615c3afba8e4a9cca1dadfb35dfeccb28ac312e6e7ab51d6cbe - -COUNT=12 -L = 2048 -KI = a2b9e378748b3652bd5f8186c0085f8ed8fed0940b408c57a9fddebaf7ea29cc -IVlen = 256 -IV = 5ed653c1dc68a6f93a2734373d1afcceb2fbeb4d1c98c9efd0f4ca8fe274b0bb -FixedInputDataByteLen = 51 -FixedInputData = 82154c8acecfa62a625282c6a4184637fb0d2beb9f37d7ebcc41c2499f35e191ec15f8bea81d315ec03435e57388cc3323a21a -KO = 9de551e906b80e0102ca974dd220e9ccbab9454230e1ce3b9f848d270abf1bac8d8df7d56de572440d5e43596f9997205064ad7b17f95cba7ce8ce2711cf23345c3d819982444ebd60ff189cf5b7a594fffd4659574134788bc142d9f81a989b59d3cbd9ea026c27dd0271e019059c872f6f9d7fa5cd3d41f917cccf31b16e21a01a4c6cf955dd9cf6db852a03339656c4c0deff4fe6a74d3bcacca027ff628c621ce4e695c9541d81b1dcda36820e432c823dfd6a8bba0703f0d0cea812d31c9e5e5a804cc6fa7e2b343d0f74267d27e555eacd37ceb9b9150cd6df384171f383c8656f97e6d5c20322332261858fca9d2de6f32831ceb80c33a38a4253414d - -COUNT=13 -L = 2048 -KI = d1e6a9de3f201fc98ecf6110d8cca4c24e7e0d863f8b52b812f56b7f0b02b6e3 -IVlen = 256 -IV = bfcdc4f2c6b89ef7e66f62e3610a1d0f2531913c1de33f5fc58ff0f3dde09e85 -FixedInputDataByteLen = 51 -FixedInputData = d85f79ee7575c6e2e686fb378fcf3b319ea1a1f5212c76487f2d71ea7196e29428fffa5816f2b8dba5c7df5ecdc0b23b6d0f41 -KO = a978d689116dc0979eeb5fba0e84fcf0aef259d859592503a5800e3b99ad35c28e66359f5b5345ae213e10f61dd11908f94d859eba888bef67f09f0365e823f2af4e125458811446d40b87e57c480834f38fd579174508eb9e42862a6302613f005f2fdfdef6a17d3996a79e1becedae1683128b8fb67743a9c23f69336013d902c1d769ff4ba88a2297c28ece018262e001c16fe11646804b3cca404a7e470db27df761be9c12ecc73bd46f4b282401ca64c490b272588f5a18093865d18dd3ff177b430c3baa9e1676ed89ae224780a2f2cc92264c61f1f7444694f64de2ebcfcbc3d021e813b33574bbfb46490ea56d93fe9c679adcac86ea0be86b72807f - -COUNT=14 -L = 2048 -KI = 0b9e07b45063449a2977642c7718e432dc9fdf1a3ee312fd9d70b669c2f4694c -IVlen = 256 -IV = 05f088f05f4cdec9e245eb7595db9683b403d169ec35eaa1f0b7e973672ef500 -FixedInputDataByteLen = 51 -FixedInputData = 9a91fbb6db583501763e83654f85df19994746ff042502f6419dec7f1045673743623287a5ef5e159fe266701304c7c52610bd -KO = f8b0e3e16204cd7beb384093289e55041eb74b131d52035c45c6115f5c6738cd4726f0f93a14e09a2fdc8fb6ed8864f6bda877425c4bfb7800ecb1193480e1bd037d1bece67d1e7ddabee79dd5ef3bb3db4bb4145258ef8aea8578e0367efd5cd5ca68a9308f38359880be806c45d5da636c0a4344554667d3e9a0bc9ed10891eee0e78cd6619ab84b8feb446c6e91853d5ef69f23617237b813f1d8c668e16bbb95de0fa6e17325915e644467149a1f42822e2453061f67b479c0a2e017976613bfcd18b37660f47d6c423e7de058f45af4e541fc1e9c3e4ea302aba819208ef705c4fed6fdb549bb629180ca5913f644a075469ae2ce29f8feac3aaede9981 - -COUNT=15 -L = 2048 -KI = 2720668cdc82c8a937fccb1c9d8e1251e93fb285c9c4130c83c625380e4b94a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 953d571282a2c577a6c6dcc4c4577aca4bb8928c5cec73bced7d0ddf476531a73eea2eb8f14931ff9a4ce64432b72521d85a8e -KO = c03ad9c6b477c9c39cbe698298b1428325f0789eb836953cb8dd696bc1b501685f3c5511f284d6303e77c0ffed816e988dfae7cbbcfffd2e21c6e823e5e6947e6b4ed36495f483fb3829be5c4f770f84d45aa41a7d09044df9863ce47b85c5aafe0a12d4f094a422d3d5a37e4cb09d3653200dc7d27857d3e03c763c821d493f51eb0eb7dc69f8cf24e37231d1b187b4f284d75c0808f64039aff05148b4e6f2e15ccf2dc2934ee260f3a2715a547f9da053bd7af9f2732599723cbdf8904ea5a4b4b30ef8ded78be6a059e2fcf13708fb6195e1ee0ae68ae1a84500de5bafd20f9497ded30bc8d6c24fb8b5ce4fdcb0cebdf55847a2718d90f0b90ed9379367 - -COUNT=16 -L = 2048 -KI = e74f2c7faf59b32c003a6714db64aab13534784d5e8dd365787bbffe9bf98679 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a822c3cf030d1952ccdd0ecbb84da64be2d79c49811a72872c324e4656f38fa174c8b0bdd7f311f01c51ed2702b95158061f2d -KO = ad61f18b15efbbe1f69da1eb52edb432d771b7ff60aa6654577a4c1370a2f12b1b856dc24044a220eda8fb04e73da264781ccec4626c3f00b12cb89938fd53f35654847f644ef186ae3fb74cb283cdac87aa3981d70f9d5a7178ec49c8635840ceb8bc47348a88883ccec2cc7122de3365d1c5c745878ac82a0ca23de12b18a1e9289b15f5ddabc0d3aac368eddd0bcfa7136b91b76cc87785e2035ccd0afe231f85e4646f3a5f0ea41c13df60716e59eea2a45e4f7618c42224bfd22d314a52514e255a25d7f561f9fd6989990ea4540d1e12ae4f6a3d9f66e9b8ff40923797a6e0f0e0a604c78405d8a1c0a70ee5b0d5efbe89dae06e3426fdb2c880ae5f5c - -COUNT=17 -L = 2048 -KI = 1b8a58538bb0df73e3b31f04a30a6151495b557bad485276ee9ce68529957773 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d6b604d7f535e154432df62c2487fae133dd607fba6de7a969b9f5e8865abf494169b98d65318ba247109df6c3a04810f5c07d -KO = 1f3e12faff7492542a314ad5a63f43589bd8a42ef9613704b46c33571886a59bd82c789bf157fff16e61650289972e8d09030df09fc0c8500baa847262b2076c11f467beeba75b023f90f3b8664b43544ede6b762de9db16b169a779c9eb7b217217326f8c226b80e26738780efef9b48dad3d5fd27485c744581f0acf9b8405fc73f3c4d9de578a07f467fee3705b7f0e9e9cd305f7b02ca68de7997d970a135bf05375a51a32c529c834f0187f72eb90a238b0515d581254c5a70632cfb7b9b7f5b8f9d0e3ab034c12271ca2654904cc5ef3d7435c0086970f1b7c8dea2bc7a9be1ab7cf29680e6bf524a9d96c4c646b3cc5fdfbeb84580ee51497ff882129 - -COUNT=18 -L = 2048 -KI = bd841cf7dd10c7e47819e1f8471f4f3037b6e67ec4af08827fd238cb2d76c9a9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e4f6875aba745df02d1915840e5622f6fe7a64589c326c97dba19ddc4b460cf72d4a71f93a19346825b912f0dd8442c464228d -KO = d91621c077dda4150ab3b3a9c7f668594eaa5b1e8579c1b909225ade85a3a425cb2b6d8f44a9f8580ee6917d113b1375470977bcf72ec7d51c52308aca5c3de44dc9f90e1b61c6259a6249b0b90eb7f7e0f9e15ff6afa804d3d7af4e979ed34bdf5ada1db5724c72e35c7df592f0b63484e690aaa004d54cab99657353390672afd993b466e478a93b3eff0f432873eaa15c0d5cf82bbf98b55c3d0ee324389dcf3e9f40c606ef9a35509518c2cc22724081a20df48447fd42dc584980118e760ddefd9217aa84877e9f3cc612af11d6dc5955868db36a084112ba328bc3aa59a50fabd86cf3e9f6a6c25f59d21fd4ef28a64ddba9d33dc5a83c8238b1eff3a8 - -COUNT=19 -L = 2048 -KI = e230e74a64b858377fef905bd522c7f50496fc4eeb08d944aab84d8eb4742604 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dbce33eda1f5574e9945ec23d3e54a9e5c6b3c01723a7fa92793f4b56e9365479ef416185f6ea99807a87c86a0dd3e715beab1 -KO = 601f1e998f1cabe73890851e70c3c1261fc097159fa9ee717632543f4e4b15a1b3bf2fdfac9156343df39e2db89b9092a6d9ee0422797c289afc6533f4f5c8fdc644364420148b9c5d2218485aae046153b1e0547fd7e357a2188729efc556e4df864f1583b401a6a8e2d397e6fe12bb26fb98e7eb30b0c1bb600b57c6d10e7e234b6536ecaf5e1eb89e3ba9161628d6baee4bf424ee4e4f754a749e7285a62b36b74ac5e6be5f2af5cae785f2acc283831dca52b23dba01dc1924570a1253929f5ec664814c1c63a3a10f459cfc13f506d6140e8d6b588fb8950b0a8ab95c138653f28bbaa462b94533cc929625b6c9217e7e01ce6915793549513a5870334d - -COUNT=20 -L = 560 -KI = 9a2bb9d81330cfcbd9d97f071a45974056f51e75728b9228c49a96248043a5f7 -IVlen = 256 -IV = 1390e1bbc3c3c2cc6a7a8967596e53385235418cda6f663083e3b6912b55df80 -FixedInputDataByteLen = 51 -FixedInputData = a517577886e129e70bb70f81dca6867024a334f041a2d1fba280c7ecca82b154d133800be84ca12c52e2e58651fffade9cc789 -KO = 62085d0a5b8ef552a49a0515723501a16b17591fa912c13e20aa09c396f686b9deafec310289fe55a1d5812a6293659d50e5747a50e434a1d432796c50e60145d6cbdb8a3189 - -COUNT=21 -L = 560 -KI = aac2a07dfca023295f8e42b3077634d4bc567046fca9fcea58a0e3d7cb8e0b80 -IVlen = 256 -IV = 0f7eae310d0a7d17509a9a75b0583672d1675ba6cbb429971795e7988223ff8a -FixedInputDataByteLen = 51 -FixedInputData = d08bd15831383c1567599c229afd6894235de75302af8e3c8ae319645c581b138e43fc18532788b99f638e9527522fb6148ebf -KO = 5fc9fd55ce96503650a21f7ae88d7488d5dbf39f9a6d860dd7c5bbad4359eb5824b94444775ee0b6e2ebdffb1afc8af98b6a02930b53994de067177a7b4672b33a46f2e15cfb - -COUNT=22 -L = 560 -KI = d430b57f6e6f5970b39041b056936108bf26d5e54412827c59e29ddd9806a917 -IVlen = 256 -IV = ad0ecb59ce1d1330e338edc9d400aacb794612c357478526dff0bbad41daeee2 -FixedInputDataByteLen = 51 -FixedInputData = c23ff83cbad10a4e19df4096180143f3b7af6fc49b55b9c4c1188c5630c542883b2e824a8bf1212496f4e4155928ccebd4c82f -KO = c0609a980ce27fdf6a758a1b52aea86e63555075509d8f432492fcdcc3b921dbd6e72e9a3f2e6eae679dab14fb53345e5e04876bd4c18f7b69918cf98de31011a0486b7819de - -COUNT=23 -L = 560 -KI = 507e8fa4d9355a76004dfd0807a9ae983677eb66b0a86457aeb9e9a57264a12b -IVlen = 256 -IV = 527b14868ac01e7c2b6eabd9419060cb66fb58e97ddade602f58dec2a74a2762 -FixedInputDataByteLen = 51 -FixedInputData = ea73724aba9024d3185cd53dadd2607694ba33b7f63059c505dd6986075871f6d7d47f0162fa37cd40198c6190fafd54d5f380 -KO = e254c6f15362d843760ee69a6f519f42bc8ff94a0f9923aa58967b427fbb2021813fba962d4f1ec226ee9271d112138e69571b1ac2e0f54415f4eaa59a153fe5338f2ecfa560 - -COUNT=24 -L = 560 -KI = 97776f5f5eacbfc29c69d851f4eeb5b581bf7e76529053a64d6bafa8b3cfdd2e -IVlen = 256 -IV = e413c7e288c53ef7540644c27e672b2bd6535a822878d6d428b14f72941f1d87 -FixedInputDataByteLen = 51 -FixedInputData = 1243250e6cba63e3fa7073f61b656847699f04b4dd3bc1075bb3bfb2f12fd80c8887660eb4fa53c984f3a1e7f41827b1da1a80 -KO = b0a788da98cd0a294448c2090cb2df2d4a3e0bef16a77c1f8b7d16dfd5c9b6e04c8f3f94c7c168788370bd099e2c2f6da88b4a22d239f7517ed1b596bc4548c220f0f1cb0935 - -COUNT=25 -L = 560 -KI = 7c612e6dd370acaabaee38b42cf8a72e4397095a080f6216c37cf4b80da4a70a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dae8a4aa7362226ce85ea2147f9252d26c0dad4e5a9b56b1a84f83f0cd986b966f32955eaa9ba188b49f2cc63b2d838dc13a66 -KO = 446f9c357fbae90058fa04a5034c05c7db08c371aa935be15e6b27c4e9094d1f9015a460725bf8fd4095472e016c356a5a583cbd934ed9eb13a4e4fac6cc301870c15497dac8 - -COUNT=26 -L = 560 -KI = 85a9152a7709a4d40ab275b5a4a928bd37b38ba4a3be58f43157d8f39bb21459 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 37e28c8a00b0712ae6c1bfa7b9807d61f24060bdd82a3d1059887dc295cf2ef673b3cdec4f8440bf29c9792cf71988eb73ce89 -KO = 99e3398a74422e516a86750c5441d5e9d64195a0d492878d160ef206cdb5befca2732d37d14e1480a2d2129845f7370d0cb18c674ec44cbdb9986842d30e1cb54eb2dcc19fed - -COUNT=27 -L = 560 -KI = 0e1e5885aeb50f0504dfe3b2d44a5d2b157f26f830fa0cf879cd45e4a392297e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff7e03845edf1d8871af9c6397502672bf5d088b4bae0070d1a69b3a8384bcce840c01aa128860932aed1857ff9de21d626de8 -KO = 5470bf5aecba9cf4b512192cfde9ba8cd8bbc4d04d2178c1c62bbf7397daf57b4ff975f802560274e52d3f03efeeb9427d8945a48fa018edd864d788f056fcf09dc2fcb1dc43 - -COUNT=28 -L = 560 -KI = 96fec8e9ceb961ad33126819332e3a7ffbe5274a437e7009b6f617f5221c9f7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7073c4c1d657b4c4471425c947a8c419531610f255b35010573c2f063b9e2c0faa6b1682c1b42a6bf31795cb5ac3dd7c7477c -KO = 5a5c5cd3fcc089c0155d87018b1f514f84bda1476e6f44994e2bd09fbab798e0b0aca48097f1c44494090dd11b74ce97ab231e37395dea2453e5f257c7351dba5856ee252ea8 - -COUNT=29 -L = 560 -KI = 4ec31b6825afef5e8be11dca231fc2ded7885dcbf4cb622d61765db59062c0ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a67552ed16e69e28359a0daf11b7eb854f69d546cdd3cd7a7c3f651f79a310f1127891a8bf37f91d80a805c2a723cf7d45539 -KO = d140231aa3383edc85c5e6744eb00a93bc211e5e01f6a5fd70eb62f77d4c2bb284064374ca6ccc6dc268c3972d72014f235ed8a3b0516eacaa76e0e5576cbb8c49c44362faa1 - -COUNT=30 -L = 2400 -KI = e0ecde10d69c313c2e1daeef4b1f982a68008c33e3645aff0469d5398d7c9466 -IVlen = 256 -IV = 9339155b84ab550792c47b4fec148513b14830e500c2d0b9b2779a349f970be0 -FixedInputDataByteLen = 51 -FixedInputData = ff47e6345a973b72d958148e3080ba321dc50f36399d7d57024eb8bca70081083d2de1abed0c3f0fa001938df70b1d0c4dd675 -KO = c4f2b90b177bdcce32d65ceee000a0cbee7f5f158cc3db743e7a9606ecf584c0f14b8a1e4c1ebea6f231f2e83df20a305933016abca98f1325d25670efa14e8905a428efd59b3ef7f6f00a7bc1a9076888837936f781bd2968c51bde1bb138ea2e4bc7fc85ce9bb89489e227bbfb3f1fe7d4f2f6cbebcf174cf559119b231b60d51dee5531f5171113a6e3a512b7cbfaabab2392a4d96e95c82765c00f285c4bfe487d37f91b82ea2bc7f57ea90df57138cfb974f833ff61f21022a90182085b0ee723f8a2264ea52de80313597f2b98b53ae551df4f53fcba6988df383083878391a2515503e809891a5a8aae98b98de7d755dab727d3774cc3b89baaf8d306712eace879ab5e375669c3a3e0d1485fa42fb3c79d898a565c11770e668487640ae3f4974cb6963d34079ff4 - -COUNT=31 -L = 2400 -KI = 6351352bf1fead01fef37374b5ae86f3db70a86729a346c1b01285c173952c08 -IVlen = 256 -IV = ef6a91d9139eae14202345cb9891ca0731527587d8d45473b6b03c19a3003714 -FixedInputDataByteLen = 51 -FixedInputData = 53d7e67855abed0ba6328a68faa74b04d53de6559a44cff20e9f55fa39a31e5a68bc601f7d6d34b2cfd15085bf2db7dfe75d68 -KO = 6582753b61cf8a07e2362aaf7dcc2f39252fd00d7913f9322960f001cc813e631f3c4881b16d1fb91b060d6ab96edd1c469fa4e58d4e54a09b4d83143477164d828559e30a3cfcaf4ce9faf6ae0c45c3c93533998388828332deb6f2c6344bf370e26dc64894e3210bca3c528e7d5782e1b2e414bb30bef5bdf70afce635c10c3fa162e96da4b21c9b2ec6bb44ebb36d34c79f5f47aa4a45b78d77bb99153afe9813f93d2da14bef7cfe23d517f71d3cad3e542a49058b22783242ec698af40907995768e53f43ec7e0007008c50224a01fe00f3c1ebd8c5fc75a77ae9112f7f26e731375e2b6285862e2caa594c3fb3f622919a812706345d9dc661b079d0a1aa8a443ce75c29806fb6b5e780559fd995f1285a95353ac36c712eda8c7f9d34c3f82ab8ddcea2c43c189f18 - -COUNT=32 -L = 2400 -KI = b8334d9f8f46e693be9b94dccaf501bc72c1090cd70675da9fc2137cf4304845 -IVlen = 256 -IV = 13e8dabcba46b315772cae9a7d69ac5350666d9619f17760b5ae1f8ab407c09e -FixedInputDataByteLen = 51 -FixedInputData = 598eda0f432a76172d1b04fcc8fa16b86df4f09786552230c141569767f8b497f005dfdbdc2b5b4041fdb0c1a1181b633ca1de -KO = 9b31de53d1f0700df2341ff7212ecaef8e9e74ae60fd9dbae522107192ad431017747a0732a6f8eef15ab756ce153ab1ce3ac3518541b24d129c54fe0e613eb50f0d703d15d4b4ef67b288baa85c3bd1900393be77d27ca731970d7f4cccbf0e816fd0e769b34a2b6e722807180dbe4366ef6fa9c8dc9e66076c491c7fc6078b3e8ff9117e761c42b7d1f3b1232538be4d1d7c0fb5a8538d0c150929ef180f944534da855ea50a5c7e1d2d7a9435639bbc569ad8059428e4a8d4ed8e29dea74a22e5b6b3dbf381ef060e9adeed42265b62c3acc79b1b87962a73287ab571045424c16f5a57871196f4e4095e7cef886ac3eebb032f50bceaac0e930395fd65efd7484ab62833c563ca2014e59511a1bbd9908a4a54b4197f5474012e42e92c1a9c29c5adc0d1fdac1d7bb8e4 - -COUNT=33 -L = 2400 -KI = f41eee079ac805d9f467a8c7bd26b0d947bf0b0a3b3bfd45a9225af64706735c -IVlen = 256 -IV = ba079e4d9dd9ca12a24c1e42d53fee95d1c01f9433c3b3a9ba00a3cd84fbdbaa -FixedInputDataByteLen = 51 -FixedInputData = f36dc22a2dbbe7fadbd9c239ca65b15e95b1502f79ae657ab01b716b611d81d3c5893eb7fc59e25820c50a0d4abfa99a140e38 -KO = b4e748b6ada539c6dbfc4acaa3410d4f953fc81d89822cc2a16f52126289b55386c538aa7c563ca1e4e258c6c02fa5f5f580e560d270e822bc4074b5533b51f5b7d8108d7eb3e9d62be88d9539bf91ef80d8171147e07d9bd05f4ad23048c4b7370b76701a8009c9b468b7038127bea2c8b53772396d825034e9b69957d6d6b5bf60894ce2a9ce32b1c0dbca85e902cac06e65f2bdbf1cb6532af632262cda40bf049a301e1ced3425952d095da97163d62084c3a11b6788e73d29ac3c6a65aba08e896ef3228e05ac647c0867c50af994fbd2d62e7a676b0d0d42a86350b1e579e02f9c84e5f9909bbd9f4582d146790e992e1e7c78f06ad10647792048bd34e27fbe8dec2e205bdaca94595eb38da9f48d1d7ec77e4769bbdb61369d44964321a1dc08f73d619241f84adf - -COUNT=34 -L = 2400 -KI = 2564c0016338b1a98e31f9350fe13674ae4a8eca986fe4c7ad7bff1235035cd3 -IVlen = 256 -IV = 2d6deb655eb3ea0dde321cb92182c5a36ef553d986d07bbba28f964fe9398c90 -FixedInputDataByteLen = 51 -FixedInputData = dbd8e3db63e4c657a0901a14d919db6c537954b3a247624f799123caacbf7bcf9b86fc8c8648759fce9358a94bf7dacc15c9ba -KO = 12c1113c8ed96f2b68e44ae87b6541900654ec3c608943969f4150389237e5f0fff93b1a7c26beb20863fd409ab0de712278a59557c9e904f1cd9dddabdc7640028afc5f2296977a683abc54dc031db5dbf38883035e79178f0a453ce1efeb0bdbe237c7f3111074a3f1c533ba1ff7bd4c9ddcd86637493944617179661571d93893bdcf2d013b3ac5fa0317e12454c86d22e40e7c713d949bf6d49923d42f1af1987053a70d8c6d28062afc2e3111a4d02f80002a825f2623098ffc4e88a87516b4aaad7d854d3ac0d190cdfdcba093ba56956f839957500ef59c4474bd19c580d364d7dc0115a9693199db0c5616d0732c1f7ce1d716c8d1834cb2082161bd2ad3e31a53fea948593c954ed317f73760fff8773d23005221121f4b59389e90e49c875d46a21c646cde5266 - -COUNT=35 -L = 2400 -KI = 5e5dcacad772eef1256a2a46dfb4a615678cc1681c734512a8bc21fbd5df60ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34563cba70e3ecd236b13c86c594c624ae181f1456b72533a64d705df2625b08e2ebdd19c61b7dc8636a5dffb9850f1c897dd4 -KO = ed79a683b0468878318da120b190e96ec5f45bd1aa72433bb4f688348b354742a2c823c3a4720f911c172086879ec0768a077888969307805ca292c4c58242c5db1cf825e7a91501e98a899299c0b74e9abe5a2c85576ccf819aff25675823f11907383c54845ce51544da8eaf56046c5c39c433fd080bc775cce515b2671bedf7e7721860bcb11adc1d6da53315f74ab23a499504b85afb8536edbf63dbbcdc31f5b9aecd6c00914132de6e2b1cf158b200e880e950dc40576289d2c250f48bfba907dab8c2c63c2a010fc7315eef88a5d94b75c1afd0ebb242d2d2885c8bebdac3b1960f1646a2f2cd74027b1b84aa94338e13698782b0343f96301133f828bd4f98e417913a85e1e8cecba709588291486eba649694b9ccde9654813bb5656d5316e2d48bf68dba242b36 - -COUNT=36 -L = 2400 -KI = 582196efdd2d85bc7743a6b21696d908d3ba5d54484f4bbee4d2a48b28f7939c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7cd26ff8f88d9c70947aac33ebcebbe47594ff91bd0ffdb22c9493586318a142f1bb535032c0fb0f4beb7a1612068ba1a78727 -KO = 58d074b02e223bd0ac48416197559c0bdda8549e15ef12ddff7b349ebfb9fa97c2532e071c81435fe054f1d73f2722794da0a8d16d8f4840ba643d826f9d497f5eca4b7578101d19aec8c36ba02c74727fb05180200eaa6159a9fbe532dfb50d6182a24d6a51e1c67179d12edf0ec37cd4a2faf0343f56321fb0664e9236c5a62e07a19c62b3da584a41df9ac40378961db312d06938b1d909751d341243d327f63bdbe47207c1112d328872767b77f67a25623dec6fb77c80d087b463330f02537524008a00fe1fdcc7d47e108546a933734e71734d19fd5c01e8904a747edcd5a1bd9c45da1a85bbf24373f0043ae442d0a9c33ae662aebcb5f0303362853d591b54af9ebcbfa80bc3e81d180513054494000f8656bc6d45dc9f646d17d823f81ebff231e57bb37aff12b6 - -COUNT=37 -L = 2400 -KI = 189038c12373e6121414f8a79b1af6407495153699b189a5b50b1cfb1a0f4d0a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 135cb86e01f5612cddd9930a8801f10437d7e5683f5a50b3749c267213909f6682c0163a3c21663e769f93784764ca5ee67d6d -KO = 1974301bc157d6c1b9c77287efd66ce0036a69bb973c9b11ee0123d5dad3aec0cd04e4ad870d286719266dc58b430ad465ecc991919f3c9fcb718af3b1528c3185dc91e79743fe9de60e9316b30da8d6b762c2cb026d48e328efac684247a913564f53f7f6075071332ce063ebf68fa0239b4218fc024f6997380895fc7f28c46c3b863dd70ab51f64e9560ab1c719c4d815189c5f211acc6191ccc1adff817f5a0cbb1950c58b5f881d7234e40941111a7b624df343c86a615e41b19568830356fa5bb9691e3b4ddd1707fbc53f812b3c031843973ffb9f1e3f0610995fb3c907a481a8eb1637c950447e7ee2221f6d1714394a133667c277f47a7183a99f7c5b37cf70d04db647cb0b11995c4a36ac92499dceb894ca1082351a76e0f7d708c07a642b4388941625fa6d4d - -COUNT=38 -L = 2400 -KI = d8e2e70ce4933af18fc50cb928d0811d4dbb6ca8ca26597ceecf183ba0422eb3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c900e28e30113179b12f0f6d2978495a64958c63f0ef43b1288ecd60f559873a62b5a154a73c03a1954bb35d6ad2a832eef4cd -KO = 62b129b95ace866f378e6b97c17798d64656b5b5798bf579c1aabd9ad5bbc2b348429d7f3bc9782645768d898c051196b306f2a58561b7fdecd15aa67dedb37893e059a62dd8e6c796f812f7fb9349e8a7a3e99fff4ebaff5e5cd8dc53b474724876cb0658feb8e273951bd905efcf8e0bc48e46b0eaa6a4f14e459d122f776e287c2d9ca1eae6887f946e2c668d60b829b84fda39bf80ad54c7850af1fca5aa0be41b792a4d8f1409883134e43a2db870104554159e25717f3f26d1894e982fa77b484bf5ff7e4f9cb23523cdc3271e99c731c591347481702b29ef3c625c6a0ad4f6539a9a8135aa129b304d37b35727db2e1ade33909529010bc4d1681fce232e2af50171d078fbf9542763bd05b4a7b7c25fee589a0b7804cafa9e185ed74ffb29347680ba256108d738 - -COUNT=39 -L = 2400 -KI = 7997f1a2d867897f43b74ec983e938ea509ffdecf68d2cf327fdc05fcfd0fb44 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8a97a0295817a7d15ec853d21c8961e97aa8d459ebbfdfffb30914fead53186d6a1e92148801d67b08bad4088e063fe4c7366b -KO = cd5957b62ea5895da5445deb9e6eb18dd9167b639a607f8e4ec180d607df8bfb4c35773b27de7b4c0719808cb7eb72473d70d1de5cb061b869308f780694673c7ca9536085c674968ed62d11c91fc02c91d6e1c100462f2c91d1e75dbb97e1053732682deb60609a9b974d88079d31f49d401ee94d55cc8c030a9050e229a3d8efccfa1297be53d887495fa10944ccd222f124156d99401ca39eae2c7b4aff4f662dc0128212709a029cb9335910c208895c4797d19e5cd484c127d4b2ab5f40efdc7aa6300514c08a32e019c00f40af6ccc45adc3e6cb7f982006d22f50402628f947f14e1efc4d65c6f6d72eb120d0fda968c8b18e776d2218f535b0697729a26a14294408e2749704be29b6ac9ff7ecbf4fcd72b05d443edd48efbbd01fdc158a6c1de07575e693b99a82 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 08f1d928d466e9a709832c93ea5f32384f3517e06a9c639c1ad543b2b23841c3 -IVlen = 256 -IV = 836c1a8933e60dcde0031c8fac9141db0b56f638851815320cfd87d1fcf7a636 -FixedInputDataByteLen = 51 -FixedInputData = 7f34e1f4cc56773f6c1016717393d47a7c271dd1024335d913b804817254a59da3ee1fc66f26de9753c9fa9d83b3413dd963d5 -KO = ea643447585d9cc52ad64b7034fad8c032ac187d83c30c0f6d7523f3eca1f184202ae2fa304d2e6f16d73036db084799ddffabb59d22bfe59b962432e5d1ef23 - -COUNT=1 -L = 512 -KI = 04841c5acaab8f8c21a244e50eab6007faa92b3e407468cf12b971e298b212af -IVlen = 256 -IV = 6e45b033c6a5dc2e48cbd8947d9a62832d2529c03374e87a8032184b7e1c1ad5 -FixedInputDataByteLen = 51 -FixedInputData = c1cd911c5968be2f1b0865c6f84c0ecd2ef820b619cd7ee8d13ecdee463b5e09cffa71ef660e086b4149d04cfbd237f3a8de0d -KO = e274fc4e7dc47781ac8c09d9674d8121e5cf05cb7b177ec7057bf4c9f4e53b497855bdad6f463bb41c5b49f365282701336d795f843aebf66b0bd0bf4b25e2ca - -COUNT=2 -L = 512 -KI = 486f812a537d5657ea35d6467abfcf5f7cd1837157740bd259e587f3780e05da -IVlen = 256 -IV = c208095a6809c9369599ea8bd2a7d889cb4ac8741dfd2f8245e755806bff42eb -FixedInputDataByteLen = 51 -FixedInputData = 7f9686445cce995f13d40768d2765e8470c6a054e2e03ad4b73a3d88edb261a390e3b8f368d284ff5d1f4c41f10fa37f8a1499 -KO = 9a6e581e72d5250fcf5f09a554ef1f3bac9a3e0c7881685c7b5df12f0fedf93238413a838e73f7be4284e4bf915ef564f713a3c4f3b9d03671f45167dcc070bd - -COUNT=3 -L = 512 -KI = dbdae5587bf677a8162e76047ad02e6a2a0b8f45a18b639f1878d20e71896156 -IVlen = 256 -IV = 877213f7f12f5cc796362f4acee5e19afaa917aabe4a75151e0db4c65303b93e -FixedInputDataByteLen = 51 -FixedInputData = 8674e20c94288a27a25df25b9c369a35f60e762c0524af29afc9f4a2ab24f66e0341a0b39e7a48a57abe0a29cb3697bd601a93 -KO = c73a20d91fb05cebb3bd90ddc5cc4a6ae82723462e2be4b6d332c1ee9502cf6a5005dbebf6a9c6cb53d4f9eb3c83c7b5469f1641513f6d99b6e139527b128421 - -COUNT=4 -L = 512 -KI = 49401784e6858285511db9bb35ffac0fdad2733729735444fe26e6b4eeb14d86 -IVlen = 256 -IV = 2605504c4b00ba531b004b0aaf64168777c59b3a2e162f32088a13cab1fd421a -FixedInputDataByteLen = 51 -FixedInputData = 9ab79ce64c6d37cbc2ac834973e630facb28c0020ece9c1bad9a519cebf2c0447cc06491f3698c4cc12ae67e19d148ddf35c4f -KO = 2cb8e4603db96c87bb195729fb2c73bfaac332dc71c4c4f0bf3971760a40aa42ecd353a449da72a122fd2320df6d54ce5efdabb759c363304d08d0d3d28e7911 - -COUNT=5 -L = 512 -KI = 871289cf9f22d2596e35fabfe972a0e393f9508d3ef3721d4472ce1624096587 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 87f7ae3f007a975cd717e3a13c0df186edaf45a72c50c78ec86273ff8d04d93c01a4636a4386febe39dbf2787503cc4f16b1db -KO = 19199834d27e652bac4ffeb12c8ac083e5ee6790169f0d638c7f95a0db2207e0cf42f7b37305f02ff01282e64adc152534d9a9ba4b6791ecb384da6c1ec82a63 - -COUNT=6 -L = 512 -KI = e84cb6d92c6e840b9fe38af7f94c45ad666f1c110a82a84ed7b09ec050c38be7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = baf590ccb9e59020c98255a20f6774b00fef24c8537eeba71ecc151d0d5f5c61dfc3bde46b3b1bedaa44c30e0e2508c225b1cd -KO = 0ba704be1ddf57fc21bd02906f6c01d27d6d0cff5671798753b579ea77059b860f7a437b6c0b60f7013df6a84d8f24a1bc5ec8d79a61db5a1d8504c223cff7ba - -COUNT=7 -L = 512 -KI = 9d773525b2d95ae8cae934ad0a79baa2cdbe4b2f99723b6b2f848b5755af7951 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e81c775629e5356537d3063225a5d98f777553d8fb6a20bc3d7a26ff822c858d219d7756fb13fd1d9b4c964380f25292fac049 -KO = 69d192d2a8701df3fe368e1d7ad05d1c6cfc3b79b1790e009b21182883c9f0c64e2da7882f20cc70b0d73aae24f6485d169931f88fa2085761a1007ae7ea120b - -COUNT=8 -L = 512 -KI = 3380aebf08c13f9021b21d1059ba1c365b42fa2eb44f79400f85b11ac7f58933 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a8eb7b5c6f18a2bbe172a6f0603fc2d4cea75454cb84e992bb7cc0c729b047a65cc50573c41ce59ed51ea9d7feec814d5e87e1 -KO = 3b62afc13c9be57e168e70c7d3931b3fc64d3bfaab513f9e44d3c9e0404965792e25a7afc190d46409bc409dcf9f263e683366287a1e9bfa903150be72fb1e23 - -COUNT=9 -L = 512 -KI = d1fb984a1a31240804e8bf94ef9fe8eb3e8acee46d4edaf768ee5e46d981bee8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b8dddf3dc5806fac43dbf8538e1d597be9c9130a490b624ffeed28976a488cbabf1d619b259b0845e8752889626a951fb8804 -KO = 28c875c6f26142f5a66f2d36c733eba0af7b7c893c7cc6176a69a2ef51a1d5c704fb890012f41e39c68fbc5e2b9d56dd5db6f1c894c7980b841396d378551e7b - -COUNT=10 -L = 2048 -KI = bef65750a2461bed8320f3442007b9b16145f10502579c7284dc4b8058c5ba04 -IVlen = 256 -IV = 3666722979b03c45b717a5967276db64aab24f3dae6f19143c2dbb0aa98abde3 -FixedInputDataByteLen = 51 -FixedInputData = 36be4f508989fa5982058fd93961df825ffca931636ac0024715e5535dab1bec9116a5d1941dbdb37455bf1cc3dc71bbab3540 -KO = 855207cbffd2077a870b897d850a03dbae7ab8ddc80cf4a9c7ffa46980fef62352b10de7dd266ca378cf23d29d6267a7471b63d045200be6ce8c24d845be5dae4387265fb13a98e499cc7a832f3307891f03ee65157d7b62f287f63035badb91aaaf2b8f9d88f48843f4522ae40174e05ccfc63d6490f624e118b31b8e5f72ad0f32a98c6d14fb002719c347faee248b04a63f95381d0bc1c73a2ef43edc8d221da158b454b00cb30345829b3373bbf62a393f1234d941027adf50ed51fac8ef26267aa9b854f63a181aa5dca7b85b5aca991ca5ebfc7fb305eb993a44b30a40ff04e945cbf40249969c55590f14f9ea94e59c18ea6a4d02da5df4b36de14887 - -COUNT=11 -L = 2048 -KI = 8c853249e30e3b74e35e94031d920f3981ff8b4b0ecc483a4943d64e622477b3 -IVlen = 256 -IV = a5970dc8176523083a3f38fa8e74b6d74a071b6b0cfe49c4a7f4b89dbb15882b -FixedInputDataByteLen = 51 -FixedInputData = 26ec59cb255fdc0c64874ec4b06a3de66173bbad48d1cae5603d131dae73b7f79d870949e4b11158aef771ab7d2bb3cd32909c -KO = dcf60288512a5b6c7b602e99e632f816ae73249fda267533a8359558910857f1a054eae303b92f074a83aa7ffba8046706622763431510d10e22e5882995d2217bec10bb9878bfba6c15a355e3849f12c9368e3437b6d855e5527ac55090ece247792aeb3a354b6369aa8fe3445b8c8e3bd6cbbb2f3a1d7c6b0b0dab5d120b77f97d19a48498bee1622beaebf97b2fd78f891eec7f39d26e6b2f8e075ad675d872edb6715bd471b4fb5ed3c6760a253a0fdf3954aa298895e4ffcee7184dcbd3452884d363a45c7fba4d2054a5d49083e5b1bef8f9469694a403744cbfee0d377702f1277def07ba5ddf8743b2e12bbb6c44c07e6fadeee4e84780ff51d8f12f - -COUNT=12 -L = 2048 -KI = 853755d115f2c9b9394737fbcd026f6e49fe79847056a08bae3a544bb3ceabf0 -IVlen = 256 -IV = 1867ffe34e1ec59dbf7aeaaa6d7e3ed29c41d2b241965ca9fd3df8ffaa035000 -FixedInputDataByteLen = 51 -FixedInputData = c7eaf9e36badd12284982d76250ce4faf3ec3fd698095a2d2d355b1f583c344556099241b0f73ed221860af73cb1586dbb5481 -KO = 9c8f8bbbb7b271d8946b92be9aaedecdf88b5bd85c94f4787c99707fe836b46a543980ba0b0a526f1acb5ae9cb8b512b234394ae01437f70c4c515df088db9fe4279590ac28957c2202019cb7d9893f2c9232b611535f8c69e5f2a9c17281f306898ed1ac461d6bab0e7226aa96646e0f27a6adc4acc4e407115c6a9a978c75bbea0550f0b0f28158a1d26894e7a57740a8697c0e374fbb202b3168debec7c559dbb1569297eb30d37009790781f86fdc6e6cf31dc1031bec8916840f8547047449c2b5e35dddc39e5eb5a305270200251ada8ba3fc77be81d6e34f5c7510ce839ff51ec0636b348148f2e0336b36824bed7d0309a14a41bd301600e9a095b45 - -COUNT=13 -L = 2048 -KI = 4207409353d0edfe486d52dc76a1cf578c8d48ea19b337154ca733e463ce0736 -IVlen = 256 -IV = b7caeb822d3df96e3127b9ba92905dcd59bf29d26335a0e04c1f80eea620b35b -FixedInputDataByteLen = 51 -FixedInputData = 88fa047ca224508578cfd2a9cb06f4a15d27b9350bb0553c58997b86632eb64c7795d5f059b73d53b34dae52e55bbe092c68ca -KO = 5e532ed2dfa0840a908d52b28841701f9dbc51cf3b7b0abf55d21edcbbb5c55904bcf4e59cb9af844be034555c56339df16ebcf5cd0dca02049347594b26403eda006e1265f1092261994a665e498a3abaa78e1350a73ee8d9d7431970b78fa3f9d8b39c05d1f3df83a92d6475db897f196cdb0fccbdcdc65031216205f90422d9091306dca221681c378de59f593ca80681e356375a3e23c38f4572c46378cd8015d39460436d14e10360594ae50bc733dc5df4eb61a0aef0d7c6577a2e8438fa3be95ff5ac1878a34c957bd3e800506059e8b51095663bb88904e45464abffe3347a3521ca17d41050dd68a7e08e954bd0dcfd90288b5de89d97772656bec1 - -COUNT=14 -L = 2048 -KI = e4caa76d3480c622ceea2557543bf90ac462b153591fdd46a2f56d2b7d669f84 -IVlen = 256 -IV = 282e2e1dde9c2037a4928b1b71eb24e398c464a3687d788a8f5f756763b63d85 -FixedInputDataByteLen = 51 -FixedInputData = df537eeeb58e02230c1e2692032927d6d250b7a6834c43044b70b43d34a42f8e37e9feaadca25151465159c1f4bc1a8cc441c6 -KO = e655593509bdeacbfe9779ccb05d9cdc263777147e89f058b21ab759b0fa1497c9ee5bea13a1aad22ade8353b16036800649c583ea4a097b24227686877667bd07c6255a65174b17ab3669629d7ccf2aa06a2e6f3549a67926506c03c2b24978b7f558333ba8b29660cee695ec3687839d022d278070600e8af41d253379fada572ef5b7a0b51e26612b7d2f64a9f8f285bc22e170d6e30931a9052b5be0314196f2e608b2ee7975a1e29ed1b92e9a0544c6009df3aa3d3d9718d5956ba79cb54b44a5a667b398bbdf38d75ab641d9c130bdff3fa8997adcc05f0dd80321d2d3d0598f659adcba6e2524dadc1d9609bd9dc678c0f834c48e585117fef15ef8dc - -COUNT=15 -L = 2048 -KI = dd3add12f19fdb0eef2937984c885f621dca17a5288526c4b08669b3cb845742 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 98a114db016e99ecf16b23e7538dcf4bea3801eb9d77c8c037fd1d819208856bfb4ef5469eeb6cc2873f9de733ff18fd0bc743 -KO = 8f42ce36005d9843a11ec933a5840ba90288bbd8cf0d742bb7096edb9692f9182b1d54b1a536474a980e6430469d4ad25ebdbfe558e4b30e050c5e0e6089e482e1670402363160ba6649db6a18550db6fd71740f764d2bce47e7bb9f812c8d3fccd311d9ff4a26f0256e2f8fd61007465dd01c0401d7a5f6534731cb91dbbbd14b850b79063026fcc34874bd7ea6fa27588a89ce98df8320ef059907f3c2eb69101f578d85b531effa925534c3788e83767ef4393ce9a336cd7b6c33d6b5b2f06daf8cc00159634b5b58fce057d3637b1b53e1de8f870ca21248cf6658a5aef57a11429a04817c26730a467f94dde4be3aba9f912a2b3dd3fee039635f182058 - -COUNT=16 -L = 2048 -KI = 99b118ded9e875d38fd0c71c8e67276bbec425188697fc78b9d9173dbbc30d40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 768267cf7761501143e5f6794ddfedda657559738489d6dcbab7a379dc53add18efc4c0f71f2ef75e1f2e64a3d4fadd4362ef6 -KO = c1bd51bcb5348c757ce886bae26ded78f8016d02a3bff33f9f8665388c7342cd79b58542babee380f3a6576bf463aa3ee558ce3bf71c6a30743603463ba618afe7da1b4bf4d1cbfb2d34373208b7d5b4026f77a9576e405c7ca72d5fcb1a4656d5f552470308838131e010f74ace9340f2e182ca87327580f34cb5f4b140b8ee995f57e11077e549e45ed0bf0baca8675d3f8972d237e709dd8f2e5db83226d1a8e35241d36bb43910e809e59fce1549a51c51604e22771bc27d343eeb2382b205720581cd18f486b02a18adea40b2689a6de44ff2a79bc6e60ea53ea000987f0ad27d71b589fda4a85e8d4a0b50c500f8cc5909a105ebc5b0500c1c7a9d442c - -COUNT=17 -L = 2048 -KI = 03d4e8d8faa2cc250129e7ec8aaca44f74af4ccbf2e2e8238d116d58f661b700 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1dba7f1057acd485479163ea3af5548aff729b68b70479e48a3a7fdbb4ecb6e4762a47b00d631ef6abc16515fbd1b6feb8889 -KO = 2a8fd58cf0b398d97df6277d89fe63ed3bbcb5e95c928f1bf7d71be36e3e0c207b660172742be77eb3e0e2288adce391cd1eeebf2a5d1f7fa504a022f142345db09b31d95d9ad6785dbc8a0bea99fcfc0e0d00d73a57795d69463cb32a519573dc8e3f1e3ec08c66bba1e9ec2558b88df46680c6028525f876bb54cc1c838cdb2bf44eef6540f6f682dc738c5cc9fbda889d5a700fcc13b575f881130b77e991a32aa9f96ec0eaaefdd5d293dd14037aeb5658a8d81a742fccbf1746324eae5c9b516e12685c26f02073f6af7ffe0a0f71911d873907ee695b2ae13be4b4264a910c0aa639b5d62e4a77970e16fa5cf424bb919e34808cf2db733462e9e6b070 - -COUNT=18 -L = 2048 -KI = e1be89d244ff17adcc8ce51f36bb2bab7384b1cf209b2c54f8bd97a4e20bbc57 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 413daa4e69df3568323873d55f2ad6ae28cc424610ef902aa28977e79f337c62ce6ba2e7c4d281b4026ea45180d73a6cc3fa2f -KO = d5edeeed683606aa3313d473274017c3061c28ff78655a4500cfeb4fbdcf525ea30965705c0a893408462500bdd7f37b147784cb1924bb49b6a38485b29d7d5d3bfaba1e408834ddac87c24ad738b6143ce48d59f502453600a78bb1e2ffda45e088a0e15014ee0e20bc2450c31237a2b38dd49e9be869a0260ed79e49d511ee9be9c3405291e4f734f47922e28ba11365397e2c90a103efaec545ff86585bdc708aac4fd2c474d6fca9f8d776846a6dbf7986cd410e87f4f813b695695e9161ecee1d9a5b64bc085bb0aabc1b9bc1b2af40c9446c25b8998e640ec1886bebf2677eedd605d0ffbbc34aa9883c48efc929f13d6277045e5c2e7860387049078f - -COUNT=19 -L = 2048 -KI = 494aa635b28c9fb52dadb18f1d72ab60d875caefe57a34ec68de38ac1d619e56 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8667393ac89b0b75f060ee3eaea5114b19816d16677f940f10eb75ac6f442a5bfaeaec244d7a003f84f8885439fb8ba8108085 -KO = f206c0cda896545a2d52da55c676dc8a5fbf07a70dd5ca39b084c53ef578532f3a3abf9c9f1adde67a410af3f17fd9f338320a5bd36d95a0bab7a078f40cb2818825f4a7466d4a9ca6cd4ed7c52569c8f59012d79e5f4aab9f91f3e713b2f5b6ed3441ace85340128de77c9add991aba75fa22d9081126baee7bc2dfea7ad2279e60187c7d69b4e4f461c64fc0056fb290bccc1da8cdb4031af76e2928d6359abdce637b8dbe38700527913a0995a1882c2c89b6db7a4c6aa1277c48e46ed0da3237fc806041fe6cdd6911ce14b5cc7d0149c31e50757cd53bd363864a05f61aad2ad85effc3b8b1636102d82c65cc0bbda04a216673cd955f115b25d43edafc - -COUNT=20 -L = 560 -KI = 8a38092f4f8fffc7202354e40eaae76fe1988b9fa140b7f9ec7ee56631e37ac0 -IVlen = 256 -IV = 45988fcc661c71187b8343c75403a6a171421dbf5a23646beec840feb99b0f14 -FixedInputDataByteLen = 51 -FixedInputData = 82dce6af26a45f85f1de4c1803e0a43b597d994d94436aa679bb2482b8b95545dbb37f640a4ae84fd22462183715b58934bdba -KO = 1eb129797e2f45a3f60a9883fce6a940721098cf470b369c0b917387b9c8ee94c675225c5d5ef0afc2bea9f93f303ee14fb2a4b0fa690e8e005d1248e780fd93038667ca2c5b - -COUNT=21 -L = 560 -KI = bf0233337c8be882087b7e230646832569d1c9f299a069ec5bbc123d3dddacaf -IVlen = 256 -IV = ad2effd05c20b204a8ee41fa3a2b1a8662615e0d42a590b59c1a82e4baae0a46 -FixedInputDataByteLen = 51 -FixedInputData = ea0105b7fa86fd34eb41e841a288fe82a3537eec9af8ba160ee317c929b69b7cc412ffd15d73075a2f02f11d53259c6bb3a734 -KO = ac2386dcfedb6754bf34b331d93c9479c98e6b19501c51e81b44d0d68817c04f7fd914da254b5f4fcfdfbee14b0c3ff8c29ead4ace8b6822b8d12be495948943b839f8631ea6 - -COUNT=22 -L = 560 -KI = 8035fe0f5903e9218763c355d3cbff75d864c72647c3f26356352e6bb5c82e93 -IVlen = 256 -IV = fe960df932a0bbd3be67988309f00b9184bf498d631cb1c93bd894232817508c -FixedInputDataByteLen = 51 -FixedInputData = 77bdab467afab3255882a9492d91823005e686c7621aad08bba1a0a621700cec197a2bb499c6db6e25c5d8eddf644299b941c2 -KO = 9ba5086c2e5df84b045c9e5b11debf3e43a4991d0bdfdba9d038cb32d2324efa99c7ba89b25bed277542de64368accca9fb867fc917a711a30296cb12683d25dc3c1c838f7b9 - -COUNT=23 -L = 560 -KI = 773128bb9ded952812724d0968213a4edc6b71e0b54a4bdee733486bc313e2e4 -IVlen = 256 -IV = 3fb2acb703e809d8a5e92448b5b9466e22bc7bafa15f1b2c8a82e05871b87897 -FixedInputDataByteLen = 51 -FixedInputData = 717f1063d57bb9c27bf2dfad1d674a7af24177dfc9036f106a696fe6556e7094496ae6b289840adc70488c4f870bde0ea65c95 -KO = aec5065d508d2454648bcefff7a9b95f0d0be3f9e3c7c27cbc0f39edb61dde56f459ca996414c9fa661c6fd3bc20656b23baab5da4092eb3d7bcca8caa747fcf4d094d222c00 - -COUNT=24 -L = 560 -KI = d458c775d5e7e940b575466dcd2e01999b2823edaaa2023fd0a7e6fe05f7118c -IVlen = 256 -IV = 677aeb3ca31719d1f683ebeb466c5cda2541ff2acc9eb3cfe3c410c0e3550846 -FixedInputDataByteLen = 51 -FixedInputData = 7d5869eb7f67f9befe4111fb27add22ba1d56a22c6cad136e383a7b146715b193fa5818f61b7e0bd892b889e5b4d87839fe87f -KO = 6539f885ed4994bb5a59c0f737411c468b620cb4e04e4a261bd80c720bd9da3ac5139b330b41a43d91893c75fd60f3f78843c39ccd17baefcb57cf09869a169e20598369c718 - -COUNT=25 -L = 560 -KI = 35be9f156daa4f077d537e7cc2f60016fccab6a073ca0b6b2433d8cbfdcbfe25 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 43e896d194825cb132ce3acfe760612ba0232ee7e9e4e40be9f98f6a7acc2b52251e5bfac50b4be706eb8b60ee1c7c02463ba9 -KO = df98b1fddb32da5a5437e6e2b6034dab36b317678c62f4d61af2388ddc14151ddb5a994794b13067d6da8a040cb813478e57f45c01241fb73a9e10898523b5b486d98af3fd34 - -COUNT=26 -L = 560 -KI = 8cf785b649a39eec41310ddbf5132e163ef834416d86f7fc9c3a4b2678923bf8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d6d668c9f54a8ea0da325da74771e374704ffffdae827095b2877740b1c0b94e9d552dd63744f305516c8b349393268ba94ff2 -KO = 3b02ec4af4b000f82623ea33fb668fc7733c85203dd9b5be1b722f1336154f5f46534efc4533fd1a56578891d242633637ccce0ac29077a1a151d3d307dc3624124967dbd52f - -COUNT=27 -L = 560 -KI = 15c51b11b290342f8b4c702613b048e46c5f0cdc8946e3e60ea5b4ec0bbd8309 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52cdec5ca403ce5890921b3b8e99f14562f9b47ff56b1d5791133a43ff53024f0eca712694c7e77e36ac74d25c181c22727520 -KO = c2690d30b74bbe5d57d99f8d45e53f577189fea203ec238b2d2ad77818fba546e02d74a3e9ab18fd02f1e2504f3cbdb8f9b51247c23f084aff7a6b6d45065e7c80de010a2975 - -COUNT=28 -L = 560 -KI = 5ba9b7c1b21d81409c37d737f531721a15e4e5e88cd945a3eecf7d43cd31af30 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7f3209ed033d9fb7e777676a3df68578282bd092ce84def96030fa48d219be38f56345a8c7939e26733107b500e27c8b90e51c -KO = 636511926401b3d282e568dd71f7341cc9afb094ac4dd30694140276df3de35ab49b6894b00c03e37a219fec9dcfd4a1d793bf637ed06cc16eeb0b80b79db9f8de7515140ecb - -COUNT=29 -L = 560 -KI = 90c14c3c0b76a20bd7cb23ae9666d63957a8977caffc4f6dcc809f5e0c189c18 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77a58c8c3ad80f65031db4e7d31b5492f654bcd149cb293819ec6b2d31a97da616975280c87eb3a2c94d5be14b58529dff74ef -KO = 218807a0fc889e86744831d339ebb5568dad68f6f553c0342f35b0d347669a23218d2b8f9bfb8059348c5a8c4cfd749292772329da760014af44db31f303baea61e0c7f9baa8 - -COUNT=30 -L = 2400 -KI = aa21c34e75be7b037fce9487f671ae6f0ab148c00d4b5177f7383f5dfa75cce9 -IVlen = 256 -IV = f76e0e42a122f87bf2482fb87340d8efd35ed7b9ac76ab278eef5348cd86e60d -FixedInputDataByteLen = 51 -FixedInputData = 70358915c84fe15b012c22a2e170524464202a316bd78b87c06f30c14ef1f6c1c16868cfa407b18791e41c4358a65c350b3f41 -KO = 83607929e9509ac2e52719066aa626e18ac95cbb8197ba08df48765907083b880060f0c10a1d98dbe772a9bc052544b304ea9de5eb8f78f1d28a63ada928c522603df8dd160aef031d2fcda1ba0d40e353d8ce1008cd7b960e8520fe96a55f1610c03033f3834cf77242c58c603e9acebe054ce6d9450507f50283246a0be902c1b465480c6d2009a2d30c68597367bb5f89a63e38e8346bb0204f4a0ac2670e920b8632f5d95031e322ecbb677f008e07f66215d88af6eba00054d1da665b80619d3dcb89178225ea0770693a0b659e78a314a351187aa8067c2aa46c3254dfa928738272d1bef4c7956eceb863b4fd54acf9e7d62b84ce6266f82a775803570fb4fd124f67722dcd9b27395e9e775f13d3a929a7c500a57a94f41442291f18918ef313dcb5f9ffdf76a099 - -COUNT=31 -L = 2400 -KI = 072b5098e6d0148a3f98206f3173c40340ef2423c67212c786f5076e234e4aaf -IVlen = 256 -IV = 2c035d565a177d4d1740ab4ba7381d2444eda3e95f52837afebf2a64d89aacd7 -FixedInputDataByteLen = 51 -FixedInputData = e46c2ad06ce0557c5bc342396e5048c0488cbf35bbb2cb32ba227c1a9e507738114821fd7789be4ce5bb8e63ae3407937c18dd -KO = b6df4b4f256f21daa734d0b8f0beb0e3a91054da3ee7c4f9a1e44569e5c28dd71c8675ef75cc295014a3b55e240bb4535f872446a2c1cb1674b0744b442564ba1d56760257a308f9fa9fc64fc7a59b2c1bb6ee1e4382ceef89cc879ac4a25f382242686bdebe12cc476113103c87c338272374fad8da0c2d9ef5fff561305750eb5d3a3e3be18021863b0eb2955e3e95877b55ac6e96be6a8007483abbe79216eb8100b6d1c3ca70f6f7c66208d0004b22cfa7a74915616d7e934b9e067f4f1228205193002362bba6687566888fd77c82e73fb63194cca7fa32a934e721e9cea6f35d601d4d2bb0d6429ccf418e394467a407138b1f17430a7e8eb9c8431f41d68b310740810b47d89bac83775b7a846f28d67d548fa75f138bf1d64d00e5db70552492731df51dc98967a6 - -COUNT=32 -L = 2400 -KI = 5165713301c413c27ee1d939c2eba66a349a14d82354958e503fcecb1b848681 -IVlen = 256 -IV = 80dddb7e7cb74dabf5a097ffaa13ad07570cd6ca0661846bcb2374749f6538fe -FixedInputDataByteLen = 51 -FixedInputData = 8372781244513f9c840e908f12e274d1258cf2e5bd93e275f5af4807d0f9517db348b439b1df9b893ba4804e44b7644ccafc18 -KO = ed8d2f3a2ae45afe62db06ad0c871268de5baeeb39c874fe1b59c2b5c3842f4092403ceab1682b5af39773fcebe742614239430c21a327b57030947cfdbdbc710c62a9146ac3a757740585be48719d782fee8ba06c89a4f98bb8f69035df8431b683ba69c9014d9445b14aeb5101ffd5dd62636755d571abbf18d0566f047e8f6a41cc26ed0166de61767e8bba9ba1c7e724207a0ff269c603e80830f53b2de1c86718e82e655b97fa7255b2a2a91db18c2a3c022b4c5f5a4df8ab78d33acbc721cb9fd474308e0d5f4c4e59947f3e4801a30f29f5f33f9a4ac94d81da9d77734e7633a891d6ee929ed6c3b9be35c7686c43138b24ea3e7a1b751c6442c570d6b9bd2d405462ea49f5567fa5542b01c262cfff52c473e60f4c5c1ea521f430a859f1b8d681c93ce1578d3d1d - -COUNT=33 -L = 2400 -KI = a84bf06a27e202999146a2ef8c4d1fe8016d03b140f33ec62a01b2b9a7bc9c93 -IVlen = 256 -IV = 887a1ae1bb96993a03972190416facc79952071f0500f676db5521d5e6982c02 -FixedInputDataByteLen = 51 -FixedInputData = 630842f576a52fa09bb612bf6d07807a10865d3ba64e1a16f320dd20d23ba069361da2c7a2c1ef128fa089fb6808b8981d8bcd -KO = 79e1e51ad0eadf38c83a6a0ab10a09f9ccb53632642ebdce413ce979ed2b866a44e412f2c5997d98010fcaa6acf440b057ef175677e759f0e69ae9e0aa40b16d77625f1d92d579e7b746e54fe4d3181e1495be2ece90cde9f0fa0179b67c942cb0963ff8bbe02be615401b5956f55c4a6a089f40cdd1e22707ed1b700954e2109f1e6deaac88035811e666fee34cfed1b9f0157a6ebfb632b917c870718e5d3df7d1c3cad7e43b5ca6d3996d6d296fdd60bf6bcb8a50adc45fdfa90003c7ff3e195364d02532dd747b34698e4e0d7ddd2be051b57e13269a94771c13d99ee0e52f5c0d7b77da27e5137ef11391c7aa408e2ce112e9b49e4a7972584d8d50368d22de99188bee7ba529ec1b2a35a120c6b1eddf9014e822191b5f180b511459722b47f59330a55f13542ddff5 - -COUNT=34 -L = 2400 -KI = 6187e6a729735a5395b5cd195d6bcf98c7258679164d6e5a4c707e57f277359b -IVlen = 256 -IV = feb09937c6d6342024ec83a61aaad7fef14ad4dfa1af0c8b7d014dcfb5bd1fb3 -FixedInputDataByteLen = 51 -FixedInputData = 790aeb912354b88c6163f03df38c706e6f6bd94d75d0b9fc46a02038152b76c3c08ff5b7e45079a2e4bc18c7f60cef68875e2b -KO = 4026e800208acb40fdee1ee47c548c22587cab28a860eab6657698d9169d74d6053a4b501e522321722171e3732e6218409cc4d2cf0ed8a6add44eb637079087fba3248f1b37702ea76b1dda4c8e41c61a11ddd198104298a4f7f8e04ece3898357dd952184d47b5eeaf4e073a2771b6965414007bec8083cf9f58f18de0cb8e646df70259dc86d68a7ca2f96a593016ace3aa936f04e462471a0a327b97a8cd6484b96f5deadb722243c53ca8c169170994ef3782d70c3c5282c2fdde1922f85ea510af0e2737f7ff078e1e85d4315af10c784698a86eb61d0138f49b47dd032464882fb39bd21003cbc071c59cab14f4f979bff80a1790618ddeb52e5d9b654eb44b8b63a8e290d2a6b86d47a35bc85fa5432480da588f0eaa8427a48934c0238064e00be9663aa9012d8e - -COUNT=35 -L = 2400 -KI = bd3a45f4d3024a2f5c5f13cb2e902435add96eb68697e8a81f11e4c4c7f4dd7e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c738f45190e38b44545c5b651abb4f52b66fdd00ab1e8243115501423d0b8dde266a6284f9f3c8864cd375ff5aea6302f97d54 -KO = 29b03538170c62237650da1578f8a11198eb606e05f6937c7d4475660232a7b9f1091267c04ce195b43f13dfe50455fb47910049f18ccdd6d369158fd36ec001a099fdf9e43a2641e6ede47ef66c03e05920bb5d880d3414c909fb36aed619dcd82045332efcfc6b20cfc36c082e2f13f602ce437b5d3b2d427bd7b94d6793cc4669eff441f600ff1edfab1b9f6d20e085de528217d79d7a809a6292bd6319f7c89702812738a485b7974fa0eb36f5a247f378a5d87e61a0e5268cc58f1e5e0945ebd311c34662d82a1a655475772d543404aec19eaaaf8281ac8793463d120b2719e45b68d5d7c0ac8df40f31162ee683627b67dd0dbd8b7c1ae0c2e2ff8107db5abf40bce7e5a10749392202a72076be4f74cbe1ad32b3716518fff0d96f935b4170e699f1b31d1fe3fef1 - -COUNT=36 -L = 2400 -KI = b1ebef92f4e8b279daa612e8853daa0cd45ff4b060dd4c8494f8c96b2136a097 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce0b472d6ed5e23e4c8331b960e04ffd0a362a4c994846eb32c4a59ca75b5cd1a7fbabb4adc7da5d78a88303b4dd6a99bdcf7a -KO = ef57d3c3d22e01acb2631a4b394722c9693f66e06dc58e4ebc51795c0bd384b97ac1c9d8deb9ec08ecb0e41d5b5eabf368ac677e5ae09b7c2b7a3e670212ad3f28ee1155ef95602fe56c0e60126dc88a8f7cca52e85c3f13e919b062074b8fa2be195f54e930a3bde4ce964e4c59952881016c99e33c4eee93309bb99d390e001909c20369626245011a90faa4b54890104c1af4cc246c09151795ec49d89d33239418ec099f8bec139ac4b04f06853325610b19221ffae42d1a1fb4eb7b2dfb0cde4f75800f211ab3aba2cdfe34a245ca8074c96ab70fe3d2d2d4350b813bcd7ceae9ffb479301f572b756c29fe7bf0056db0e5fdbb2f2dd6383eb45ea397389c1b994c7e2d2e391509e2fae20ca54566fa1b56a0228fae544986221b125e08cfae94d8c1ac04712bcc9a1d - -COUNT=37 -L = 2400 -KI = a5f0300b7e2aed0a52ec0d6db69c2a2c145fc164966500dcf79c30e15afd5fce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d468898bb3e3db528d36688284ef86772419dd9b980e813554f5f20a5c684bd9bc4b939f269f17514c5a160b517e176e0d8e0 -KO = 0af2b62033b99e4cbade2b891c4751954e477ed180cc3fa4a3ab216a75918ea381285a8c2bff48e0bda8f03ecdf7ec9c5c47001eae192dfcecc45eb2c5ef7a9642da85d39baa96aeda7162f8d3e14670aede752b50a1eabba7a8424ffad5e56e37c5d242bcb6aec45e9f3da9fd9a4332960feaa02d48a8252486f394ef1d62adf6c922449d97d5ca4d4f3ecd7b2ea4d09034602e1dfa619ef8d850db6689f26aced28aa39fb218130e6541d9be235b41c57f2ce49b7b4351fef0d21351e376f6850fe1208b6ab0ce9f7222b933cb0d4e736b5c6d96ac3703460b8752ceec7d42b27ffe3a327422edd490af767c66189006db219029e8706ab7722139cab708cd9c36db0d3b5b47fe7897240ea88f2497d587646cfa7ba7cc65a4b2ed3bc220594edba8b8533842cdfb7835df - -COUNT=38 -L = 2400 -KI = fbd1673e722d47aa7a9c93348e755cd0ee6caf9073a0e9983985da91bbf6bb2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 043b484fabe162466384687833ba52b42a76ccedd729382458c490d9489adba263ea33a19161c8a2647918f5ee96bcf2e226cd -KO = f5364368c7ed5b3fab609c60d2e55330ebf3233a6bd9ae69b749365d5380f5d1e41955f972c073d689d490f1ea1c6c632557d0aafdec27011bce920314e567f1b1c0ac6f9199723dc6904947a799af68beb7aceabc4ea4542a1b11489d96fa05b9e09e8fb9a2a0d11fae3b926b34b00957433a07ae3a0281ed26939d7885c53463e22ca855ed0db01381ef991df567202a2915a1ee4ec91e5fb9c7993ca8875e92d7f4e9887094f1420ae3468d5a9d1ae683455d30e206112873f80834e6255024a3ae05f2c3cbb0a1e66dbf3168d697454cf1382c46e3a31bfa97517f4de7c7db2cd632bb79b03b368d968a2ff93677fc2ed4f330d5078cde8165283d50cdea072e2f084dee1919f996eab852cb99ca5304748c1e37fa65efc8647313a7fdefc1ca151ca2d8c6c1be3e1cf1 - -COUNT=39 -L = 2400 -KI = d2bcdd3013735ed5ac91b0de78994f9bc9c2d67452e97385b4203ed29a588f88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f5662cb69d2cf88eaf33894e3606929d637cb4a3b4e37b5e39cdda7ae7835287f5b73ca8634ea8a9d50ed05b205f66cc3ab2c -KO = 1dd9295f3bab46d0f1708cbf2081e95d40a724ea8cf8d0751c195aa911d936bddbe7ed9f0a8abd4b918c29815a5da7998e81f31ccef448ce79da27fad26c7cef86af79c0adcc3694fde4809966e7346d214eabb87368e222dac8621c843d42196de20c5885648ca3a0e2cc7204b0839305948839921d6be10c722bbf37af9baca43d6da2d9b4b08ba5d954f871fd9303bb1d29e683d62ec58f07f1460a3b4f02eca6ac468c6085d6c33a0aa9fa4e7820fece3b9abf9d2e2e98165b3315edd8066feae1191c23df37d0287c3283d0d0bf14aaed19f07f7f837169f8f6f31015dc5f618ad6a5ae651d0abd0881bdd25225acef1251ed059ff8d6abeb67947de8f93fa4b5545c7c7dc288846652ba8d5845f7d17e970a4a8dd09bc8b489e3ab52ec7fae7aed2e2f1b6c3a420150 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 16e7096ddf96b0d861f31e7a6b33754b045c5e7107ea6ce0698f91c69c8e4dce -IVlen = 256 -IV = eb4412d0665ab13b74c1ad09d5e3de0031380e56430459c543917f580d3d8b7b -FixedInputDataByteLen = 51 -FixedInputData = e32e45c140888b8b64c84da9852461d29c11b2ee34da2aae635821da94914f3f3f2efd81ebc9434840a174c32cef2a87d56746 -KO = 33175406d25ae0a7647268f548dc948c21d4215362e11a66779144a88f44ddc074e2df853152d87c55c79e47beb851fa216bd2fa04da425a1d7bcd2edde706c2 - -COUNT=1 -L = 512 -KI = 5c1057fb510fb6fd171db635351f134357576301359c0729ffbe229d52d2d188 -IVlen = 256 -IV = fb35f9884cae692637ea4232ee11ade4dbd17873c5ad187171710ea21cb98cd0 -FixedInputDataByteLen = 51 -FixedInputData = 6afa4cbf019f928222c08d00f7fb2637527f8b04229dbd693a591df30c66ae62baaf38a29879c1daa4eca99c47c095405d5428 -KO = 5158ae8c1f72aac9b542d324c7bbac5b81c509347fd40cb1cf62eed37481f9d9afb7f1817996dc64709128ee81951b4caf3978f300fbd5c3c87400ee10e7a498 - -COUNT=2 -L = 512 -KI = 73bf3260a305f9c2b2a5fcfd2d996c9ab700c7f522a1cf48f29060868f9229d2 -IVlen = 256 -IV = fca76e2e44a8e4828514b28684988743750ac4128352f40937fe52bb6bf7662e -FixedInputDataByteLen = 51 -FixedInputData = 8e2bfc52a1e0f73c7943971ad83726eaa7cca3aa7294b9dcf10e03fb777b654b9b7e248936fd02fccd0f8c1782fc80f8d40ada -KO = 4a4601015b3e34ffaa5630e9de274c47d800191d727b8c81819c3bf2fe20da23c113f14554bc84908d2501d05a3bde89437d99247afa65e3cb3846159c23743d - -COUNT=3 -L = 512 -KI = 3389e53c3017a668ce81fc67e3c0c640b465c08bd58999ba20f12af92b5ebfa9 -IVlen = 256 -IV = 0040988a97288b5c9fa8f647db7ae9d6b11817b225f4a8dbc1f6372d0369e3d8 -FixedInputDataByteLen = 51 -FixedInputData = d1f3024df451ca48896f361ce0dfc5c10287a8577e7817a70915da3b20872d94cb3fc7b0b40792f3c24a8b5d9da45f5a294b9c -KO = a2947ac1a42ba6a8e33e84db0ca9d310cd391d14e15b5dd6e61a2417759569bdc4030cf4b7ef476f46be65712b69d622110022df4e7ac36573e6cd6f2ee20e99 - -COUNT=4 -L = 512 -KI = 02fa355265587bce856c5e4cba0fc6b6abf59a45dd300e2d9306628ff1dcb8b4 -IVlen = 256 -IV = 4f392feca9ece426fe5878c39d0cfa48a8100183fce8aba56711ba9f2bbe6bc8 -FixedInputDataByteLen = 51 -FixedInputData = 7e2f119d56c79ca9fa1b8eb76565368f5a0303d728e46ef62e954845567c52ab7b57c90245ab0220977414a0b057a4e2e81f12 -KO = 95d02713a253c2c3d23f1bacbefe6b42fc85a8d1feda29a668ab8b0602faa297279aad2b810dd804d8ff743748e68885382266a324dba83b626d390a46b1d483 - -COUNT=5 -L = 512 -KI = 67bdf52ae6b79ef54a0aa8a9be3cc4bf7815fccbf63d861e1aa604ad1b391585 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2024680c79a397831dd99151023837ab8e5e59a925ff8154f3c3efc8847b2da270095cca66beea0823e5e669436dd8a9ba7286 -KO = 8357803c58152aaab5638ec44720faa0d16af80de86df1f3bd1c7e651bea8a60a0f0a79ce2ddb0d65002a05470f399fbce95dc421ede79dc5b7b92cda72c0543 - -COUNT=6 -L = 512 -KI = 9c71e23e677f677bfc2e4b00abff94dea731b8a1fdcedb998553779c29c92e56 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 147ead50f7a346b88a2b3645b6f582dd8051f506d723bdea9b6079d27af0e47acc18656734133b78c8e60efbb31f7adaa9270c -KO = 763316908297e9ba91a7c5fd7826249446a1b7c592964e7dedde0e5cfc651184d8bac1dda825879f65621d70cd6ee83edb9a63de5fa31d8c33cf4d247c29a026 - -COUNT=7 -L = 512 -KI = 4327d29a6983fbe6ac1042ff084ebcd5433c5e3e37bc74b57cc0001564e6e087 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2da4bdc3d38b1da420eafe38929704acb65de0ede16e6fce2a512940097bd287393481b6fd5d80c602b3a29e6be678dedc5924 -KO = d77d528c9c4992713fa9228afbebaa9545741d13b0919ddaa797c0e76feab195cea618900d775e39a8273b487b897248e7af5a238e16bf38521b948fadcee37f - -COUNT=8 -L = 512 -KI = 87241699cb3f18d138bc7a881f5689753599673c587732571d5cfdb5fcd30516 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 67d6e2287cd4dcbfcf88c86f16551d47f242f90a533b5f508d3f47a068bc4d53b304081dd66044f3b8e61c0905c9e2670daf3b -KO = 622dd3ea3ad194716c4238fdfcfc5b2309bbd4f4506e3fe9218d618e03a4a85f911d99588272aff994c2545c69f1656b97af0ee1697d6108a996f99a064f2b1f - -COUNT=9 -L = 512 -KI = 36aec9d520ad22ed4f9bc693d86b2317c306523e567ce341eba9755950431ca0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58e4c41c66bb6e92deee1972189a2ddaaf228a4d1aa7557cc7745ed0d53aa2fb0d07966e97d0b16ece57a99e505ace7d92ed3d -KO = 196daf06443d039f6c7bb1f186fbe62fc7465272bb861d5481d0ec387f82a5890b60c8ecd3dbe5d0e1ff4a6fc9993d1547a5f9af818c43588d8642e84858ec04 - -COUNT=10 -L = 2048 -KI = cc2f7dd24661af580e2cad5f968135daeb27fbb6e835ff6bc9067c08fe8ae814 -IVlen = 256 -IV = 186386698b1e59049286994c6cfea24edf70d77f7f06386967df8e33655d7c7c -FixedInputDataByteLen = 51 -FixedInputData = 887871048d1035acf49df4b7d88fa97b7f922cf74bc7173ff5a0a5ebb053556cf43eb723cf0e30e6b99f23ff2fa4823696edd8 -KO = 8dde0f2a420f29d04427efab119dfb5318ab6d54f79d427c862f7a1aec693285e7968cf5b172ecb7b57c919e5bf6db492aa6d8ca0d0874f32950b7c4031169d85ff28bca81751d5b21d472c145d39851ded31762c969bdc3d5cc88b8ff72228c7550483bd15876c4dd22812d1cd7ea92cb23d7d133d192061b0d3465dbc3209639c13b113caa429dc6cc5a332fe0443802c6407bef0f86a84cd7222244320e41b00b450fd58ee4b60b4c47b148fcba6bc52f0341ee457847a90432e1013fa8fda4031852b5c8bef3a40c320d6c53d4fb26efd21bed9188dcbc49c17f9944c399be4ade30f8d2ec4905db9bcc0fe120666090843002f1677bacec509920c96cf3 - -COUNT=11 -L = 2048 -KI = 92ffa9997efb494deb8c0a43fba8ce43cd9b321caaf99fccb404b4951529a524 -IVlen = 256 -IV = d37786ccdbf70232347d8ff99de6540944b1c117c539ba4e1b45c48669d26d6e -FixedInputDataByteLen = 51 -FixedInputData = 65b8683730045bb8ea8f0f465594f8634c9ab71dd8235718517cb5411fcdccef366ec061dd9f4825a5e79492cf9f3d15bcf4c6 -KO = a7f3291aa05944398018ef69cd7d7541b4d29f0d07b22d175e921ff08b5945409548ffb25bc9ceec34edd8cbd6372f25450b5b5bcf14e7ed8662a400cd6f29a320fae0a66b38002ba4e11586b9533914a37edc40d634501a37fa95b6a95463e9d46220453a579daff1b781f2a7b6ecce3f9c65817a81bbfb39da6e167067d564761af0de63071979f043a73d1b59ce6f63b5e72ed07c4df2ed20e55b5affb34cefc9f4029d16453bf19e1203709fdc4171adc7890d79e3b76c6cd7d175b59d3ba6886206809581bce6f1392b72895dc53498d98ebff4038914d8f0df0d9ed4862b54544db291dcde6b3f5e35b854af0a62943446c291ba331b25c3e6f3d0017c - -COUNT=12 -L = 2048 -KI = 93a635a6b980324b78e8a67078208d684b1135a805558ba42b97b8123889e5b9 -IVlen = 256 -IV = 324d5dd283c270be572f4465cf763e673d4659be494f220143914d7156e8f82d -FixedInputDataByteLen = 51 -FixedInputData = e9f0a0c00ec35ab3211eb4d4195674efd86406813f66f0de6585aa4141770f3db3a32b3877b447a67459d8d1924c4a394445d0 -KO = 65862997a239e333398845f6e9f8ff0b0b279e71d444ef22eeb8765a054a61c57a10fa1678cb104141f332597b76bbccbbad81b402a03a57579f62a1bb54bae94ffd5a4e74099a5beae4a07e212fb179aa6a407ed65227bacf7ed6c1e5ddd3bf8f8bb482f3d47dcb67dbaffe5bd2c55df42dd4a3c09a3e39f3be96c27257f0572ed87730595807f4f51385d65994b34ad8239fe01930073cf200f65dad2bad52f6165f4e3ba3a868be38718c3af2fcb8350f4c2e2496ed9d7a04b0bbb1ef0e7659f90c7e9981d85c8ac7ca7102346e750d9b624718aaab2fbb522fadd81251c8bb612c0b18598d57e90e0e8291e5c38d35efd3403f2e176ea91c9b8d1fd59191 - -COUNT=13 -L = 2048 -KI = b7f9f679144cb70e828a32bc67d823ef4f43e4e6584135507d1a843f4f7e31e2 -IVlen = 256 -IV = de0e7c169bb76195979fd333522381865514fb15dbb17070379fa60011398c6d -FixedInputDataByteLen = 51 -FixedInputData = 45a6ca51e0760974d6a4712e0b5c795d0306a5efc25c9a5276fe14be691e71eae69d8192a86ca64a31d63eac12f6d4e8752209 -KO = 61d0297a7cad177c6b177274f137b0e930e7ca69eb2009e682d44bebb168748592fada6eaa98c68076b6acebaad6da8b22f8ca1693e8fcf8751c334169eabf910e3f32f125577a6fa3f5293c66f3a5da4d26245a3a9db1f20b24c59e4c8a143a1478a59983b020213f924746b80747d48e16ae569e9676499564d560cf55273857f8d56b06526cabc8c99d6446c1393175765934ef62733ed202f470f24741884b958cce430223163b02b468644fdc3b608c4082d37b6e8edb92dc7f70dfb177d0e1219d7b40bf9df8b3e300658f7ec60db54307d64d72d11a62f27dc5c55462dbecad1919c9561815b1d1a3c2d8211f6c134d0dec5a456cfecc9beb5f6a2085 - -COUNT=14 -L = 2048 -KI = 11b931c701fadabf174f0a6243e7eacea52becd61a926969793fec7a760a08a1 -IVlen = 256 -IV = b8f088193117f155380794587c8f6025aa9146a22e0003e42f51358d2043e2db -FixedInputDataByteLen = 51 -FixedInputData = d28c8d4e9ad9b7764974e45b4fbef3bcadd903cf160d97375c14787d5e7a90346d3a17e5a5516a2900c2a4d80803f68e3345a2 -KO = e3793024bad7e5810a7d3fe9e917c3a9a608338a6767e71bca5d71f7f18c23e81463cf642d4244793db31cf3ab50e41e6db16987edab1047ffc2e813efc40d24251fd05a2c8ee25006d1322dfb973433a2910d25d508baff57c87294369ae3a3d11690bf1390854898929cc29c7b8c75a46b3755542e52379b5ba2e79e59564e8eb1f85be3ce62d1f75ec24ab34723b63b54bbe3d0b895c82cf2a39ac27b33ea460989b13c2dcc5920baf7e3c84665afe92b0308f1de850691f5ede0317bf9e3226420f3894e46fb99b10e98877a165e2c4b4f72d52731ae964d15f3e1aaba557ae6824ba368ead0bf615d1e84392af66947302ea10e1f61f285a1258e7a325f - -COUNT=15 -L = 2048 -KI = bab01557fcc7efdce6f18003d524eb7474551561edb2eab8eacd6b50d75b1e4e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cd307bf1d423e3d4dea9112d5b458989aa5dbe4002f6168e5f48c98c46b5dc32a5f80a9d89c54e1ce5b08a143633e5adf54e82 -KO = af573a3e18fe7f1c6f4ea76eabbcb95a253d64c79ff4e0c4a597d7a872a22315a42aea7df02100588c7bb124d5ba8137f744748f8979b3202d5c4a816bb96d8f4b832fe5c07d7ab357b7c09aa2f28af1a416c8ed7d93f932bcf3a88fdc9ebd57fc6fedc3efd3102c45ac426ef0bd212459a2df6c0a31f4ac304bb9a985f6801339b4b3ef85cf2a14463fc17b2c6c1c2599489590814d5ba2ce4a284254a50e72def8c5ea60f787a19b17fa734c6c68a2293ae5f087fe2a97248bb66a22ae87efd8936a5919c612dbda8fa14eff37e9e1ab6f4ec1e323a51623d234053e9eb2b942a142372209074c33cc3c5c4be3bc1bdfea0c3a17e59c5341481e99ba948ef0 - -COUNT=16 -L = 2048 -KI = 64815ece94f2929b5dab4f6017b8275b743226826794d96e483a3bb45c469ed6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b7a5c7f40aaf100d107ef7045707f7b0fe040f56e1bc7a77f0168072b10ea2707dec66558952dc4e3cf34080aa721f6145fe4 -KO = 74523ff7a2b167393c60d735b13ca4851e0d0c6fc204547ea7878e436b6b7de3482a0bea203d2ed6231cbcc6466eaa61775d291485fb06dd0b08c9e5f6e821987f44ca41882bdf621810f50e8b5a2025f28c5b0e9bfb12083c18b600bae2edb097f777cd7e4a2b7a2a89b775b7ced242977430f727e49b007b866c9c17c9e5101f19492909abac99dd81c6fcc862d7c5450713af00f0ed9f9b0c1f0230fa93e8348c49c1cd4c4deacb3140ab78228e37273a6ce3dbe2003592972436a67307b6680a143a32ff3f3c32fc58905ee92ef904e97b4674d829961484ad37ab370d4b5dabdad9d17341ffc56aaf7f9c359f14076c2724dbfc95c1869b4557704b37ff - -COUNT=17 -L = 2048 -KI = 713ef81abdd54344700313dea3fdc62efa8c579f451151a5e7cdeda125236b03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fd4ab997af4fccf5829e56c4e951284a0f1e9f41167dbe9654046f2265734fcbc08bf5e7ae669a0adf1eaecc85389630096c80 -KO = 43b3e462165b56d6156ea5eec2a2fc8630b0e589eb39d7d0d9422710d070e8b050f29d5c4a313d9ce7888d7e11167e3ce05e0cfdec4709a137d611ce3e1e5103167f2de60e420537e2f8fb873506d887c721d8278225219b69a1751fb443d54997a40f4017c0f77d03d777455bcc1a4df4c51817610e5ac63ae71dc7728cb309ae2dd2e4d489a01c4a291e172be7b6b9a989edbc22765fda1b5716e5ba3d27e084d1d74d0dff005f6328f6c88ed10dba4ee1d6fa554920aeea7a7ca215fd302e209d90b5c35c02f34961a4b730db76635e7b824bf0501b8e1da93a1b5f2b8de28470662777bad7743bcbdfec8932adebe3cdee874d40beb4c675500a70e3894a - -COUNT=18 -L = 2048 -KI = b08b498b9ca46228bd82356119f6e4b1246e881e8a024d9a85b85961be7ff7e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f478d5cb8413f5ee140af794564c12d3fad39714412ab7ebd3577bb5ebbc7a65462008ec8dc22eb2c3f28b3471a1fbe0da5cdf -KO = 0358cc36b155153271e27c612f585393654798473e167fdb12a00eee9908d4ed830ca4548c8a729c6ba84fa0846b8247f1da51f0a529e0f4988561553def3a0d4bd6cae49a29d5c75e468db14dd162a1f33770946064b071e692ca6895e6491bdd9a9f792d87644333f9b3a69fbd0529bceb1e8964185db060aecd25bfc03e0ba5059f5a17b938f51568437558281622b8623bd3734caa38dd47c84e01904a8f34f54cc624b954927493e2bda507b68141d283bd37cf35817ebcd48f82b8d1b2433405a195f9b4cf3355023a2376c6507f744ff4312db0d36ff8e85f687480e45fd7492ac9af4566350e995f388ee56a53c3e8cc64d29eb95113334ed2143264 - -COUNT=19 -L = 2048 -KI = c91fd1635dcf513ebaf0bb54dd9b4700dcc5751ae77a44062838f473629c44f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eebd0c4eeac867f9d3fe1678a1bef4b0cd4c7183bf3daf68fa768c6f2e379b563edeeef9f3b134ed35b308f4fffbb524d84c71 -KO = 51e764d7b5e1b94a5a4f1027d425648507f6fc81ec096efdbd405f1b4add95707441d0f7546f06856729c8f53b39b914ee89bdf8a0dcdf5ab6e8794d568e82b3e625c77e3f80e75feed7a17e5084ccb77fbc15ddc4d9667e2aa36004a8375bfe44c3601c2ac466fbe187f8c226120cf2a4af3a29858dabccbc2ee54ae153327b0615cc29ce7e1e91aa82cd2eba55723237c431bfb4f0c875e8a9ae4d1cf21b0fc630b7e89da9734ad70e4cf1dab7f5c97d47a990e762bf3cbfcb650163b44d90c6e94b2cc6a99c7918fa6c526e9a526375bf95b6d5a0507be997bb79ee51f9e93a65ff3c947763d36376cd8a61ea5710bbe23ddeaf4c2a82b3eee6cdc090567b - -COUNT=20 -L = 560 -KI = 57d9c533f19a7e0158360e3913200afff4e7d6a1be5378c0ccb09b953ab8cd53 -IVlen = 256 -IV = 568f52349aff07208d3563f0bb31e103b4484cac70621bc345280a36891aa8d7 -FixedInputDataByteLen = 51 -FixedInputData = e1b07020e61aa20bf8d083eefb430a7380916dcf37bc9406d8c88b5784da3ca1fc02402584bb0abdc4b47ff5fe2fe565bdf58c -KO = 7e20961b0acbb4a4e5fa6bf9de3fae311b227879a356efa25084e706a1b7658d6670538ce1090358b47f2e75ab7df97e99cbfdfb74b1d4dda9f9e713c51bd4db6373e823e0ce - -COUNT=21 -L = 560 -KI = 57babf30c934c4bdefe02e004d55ce6e294346c237aaa93a7eae36a4e8535747 -IVlen = 256 -IV = 43321a32234c39fde59d3f37a922e1af8b376d8e7db0b4bca793b1116f71b9ad -FixedInputDataByteLen = 51 -FixedInputData = 1560b530247f2731c26fd0614216f011f29218f341cdc071bb67d5fd52235e86a9556035439ed421fe3977992641418b0c4363 -KO = 6040164b2f78b8a639e3805b6602cb5e12bb0781c575ec5b03d9562c32c31a638f242b312a15e83a6d0c903093a2e05b97b3d33d3dccdee60e23e49cb24caf0d10a9b88167ae - -COUNT=22 -L = 560 -KI = 5d1ff61f1b9e83f8042d0e7e1e19ebad4ac934f5f441a342ac58689c5be1eccd -IVlen = 256 -IV = 78be780b9635759a30edb27d7821172a4857036f07d8bd02c19d586330d472ae -FixedInputDataByteLen = 51 -FixedInputData = 38ae37ccab88beb45e92bea86dd52f297d32e7d251d147dea93b5b0b5780516b7f0cfce571d6c80597550a0e09b4b19175e9a0 -KO = 3b62f08d89c3970ec6d0ce09b120128256b5c97e50116f19218ce709978bb311c96a04d9b1bfdfc9664ac9d47deab1d8ab8f70aeee1e23ce7807d9c6b65627d10ce3b011de8e - -COUNT=23 -L = 560 -KI = 055e0780883e8379b51b29e116479d13c91af39ab1d7fd1d64693469c564189b -IVlen = 256 -IV = 633d413d3c3b424a92df6f2997398615aa342a8ed9f797c170f4d8eac8791ed5 -FixedInputDataByteLen = 51 -FixedInputData = f8ef29d112751969d8c09e13a717d96ae707b5bb4ed9e649d2194fd51a1c7fbedc60a046c406b748ced3a1808a665c16d763e7 -KO = 310eefe7a2ef681aed4fceceac9ffafa1afeed1d24476ebdf3a4e17270038cd0ef4d43d284a146e0ebe109d93f58dd2336787bcd9a86f8f360c70fe1c06dc4e2e73741f42b7f - -COUNT=24 -L = 560 -KI = 67a129731deddb5dbd5eb53159a326a527be084d4e4ec8443c0d3e887e1b13af -IVlen = 256 -IV = 7c16335fc6c3db849340675b7dab7b170cf7662bf1c4987a9b9f0e2f4f207668 -FixedInputDataByteLen = 51 -FixedInputData = d9318802fd8a5b74d8a544bd2203424d72b55456d5ce7cb3b45ab8927e13a541482d70a9a7e74579130f2111d27831d256abf9 -KO = 8e86e6100155ec4a173b2f473c55eeb1e4a6eafff1bed227183fa61fcdc4b41f015761d4b942ba0a016e43d15bd7784b9f824481779708fd5f88d977970ba84af2d34c0b05c8 - -COUNT=25 -L = 560 -KI = 8396c380ae60f5a41e092cd3f3b7ec3d41c3dcf599a2a5b3146fcdc4f3e21832 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11094c5c578365286d70a0c45deeb90a1c44ef3b99bd063df385bfe2b1cd382715746926cd024d7ddb937bf9c0b17a5b11d3b5 -KO = 7e3d768c84a4852d2e8af248fda921697f6b9e8f334f499ec9b093334312da6403f038e48ffadb284ef0a7ead845af4fff90672f354f268555b3a7725413a9a7c1f40d2e19fd - -COUNT=26 -L = 560 -KI = 488b8a18049f0c1a12fd4a06c3f07d046ad4f2fb7ee70d508711366ac3083117 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4230d857ffc3a650d134b7dd960775a1a805a7b9be717b1631be74d58dffbd6676edc578fd7d726f6b4f13536898484cef9cd7 -KO = a1f2e85fd5c4fff4089ab7f8c926cea059c10bdf517475b7df8a1e93afc2d47b1a9011feef64051aad5e284745400a7f84b931c6cfc3d3ddc1baf406f68321d38a6cb85ffa5b - -COUNT=27 -L = 560 -KI = 20bc6bae6d95583001fd895f5a0375af2d1c007a47bf0711e7b28e740b788102 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a888e58d17fc8407ce7d8463e9fd9d061c0c1950222de03ffe2bdeae8c567657fa8701d05fc309d15da364b3048c9c1258810e -KO = 8609ab47ebb1db9c55644eb8f264e7e2ae76a1925926c35a4412acc843ce06c887ec4027452ee3e865c07d1ef5a3fd01a9326073ca986a63c0441e073a80842d29c9faba63c1 - -COUNT=28 -L = 560 -KI = 22d9b2023d1709c2ca81baa8205c2306395818d2180e492495a57153d3f4027f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 145b45d1952671fbe8806bba4357c2991d5a3684a7546fe3ce41d27f80294152884da2da9180f3f8c81bc857ec4d4a10e2b15a -KO = 981ac83cd8ae7161e630d396b230b0be31a94bd577c9572f446e5dadf65151072182d36c2e9ae5f384588a8af3d0d2bae467f0cf0d97f8bae4af47db5c6c744ac445a1e86655 - -COUNT=29 -L = 560 -KI = 1a9a73f041a26992af323ca6134454f8b8ccc4fab73d526bdf9fc520495d118d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 859b6bb99250eb1cf874d300d0196012fdbd0bbcc328424c38421a07721f0a81a2640f7af0de5868eb97629bf10d962b3619ce -KO = 812ec7f566d848eb8b1fe40e1cc3df47e144a3940299c1aa31558a391e0d7919ecb386637633aec4da2edbe3a9583b750faffcda0725a33604c92ffae9b1266adf5eee2c5aca - -COUNT=30 -L = 2400 -KI = 34ea940535ebf552da74d7917be0385c9923db385ead4267cbba8b0d74bc1eeb -IVlen = 256 -IV = 7cee01f73b0384a4abec89ac863cff0a50fef6a2dccba82d49729a272a052559 -FixedInputDataByteLen = 51 -FixedInputData = 55d403d1bf91b31ffe37726e7e25b3d1e62049103d17302c978417aa7219ffa444640da9da93431c35708609b4fb9ba4d5cf6b -KO = 28d1eb9bfac265c5a32aa0278de3321563f5a93c4d0eb0f597ff5de948ed4952f54982de8d1349806fe91a71b06f11a4cd355db674b3004ac058aef03148ebb5dd58fe8d8f5ee6c2107fa69efb37bbd0931720988f80f8bc073b7eb7f4145808db36de194de97ab90850474d6a43a757ec491c39e9040fe0d10d4d610f64b824df073558e59272ea578611ebfa1480f79f3e7a26f56df749f56db9873291abb6b34581f4dac8c389876da7b3d38891be15cee20fea92d0ac674f13401a4ee5f5d8834bc870a8e300b8c6cfa2aa1cd3ad199b52263c113f4ca8d545b11e81d926386f66f16d27d2bd94fec6826745ad0ee114c510a74582c31700a9721aa34278dd8ea21c2d56591d35f489449a5398702c90981da5b31c6425d2c4f0ad2b52c5cbb822ed4ad07c70df8efc0d - -COUNT=31 -L = 2400 -KI = d616e98b873e680283972d0f30d876f5791260dc997310a02cd86380d5e385ad -IVlen = 256 -IV = 238eaa9dc454349f9267b06bd5fe1b0c08a7c1230f44c595d9ac6da55f1aadc2 -FixedInputDataByteLen = 51 -FixedInputData = c1cf5dfa03fd26092974e1b4a64dba2d15776722a4bd22dc400c30bf65bdd2d52a758c6b8945710a7a5987a5c980850bbc59f7 -KO = f5233151a062912f1476568a088f9891f4845c70569708013c9a5e77492d1390cd0c107668d0d64eb68baa233acee424a67b4db10285c22388a3cd020ec7f835548dcad21a989581e629ab8847f5b75b12117c5b296af6df67ad115b3a05046498fc7e8486b9a9ebd324554b60584029318b71031731b154400c0560b0766903aecc139e3cb68353afd5c72c1427c30d9da4116f5afb305b5e29c75104014933149070413e7fcda7c3baf62d5df72e0793f8fbc4c8b257c30bca237d02674690f12c0242739ffc573958669d3951b09d10b81482563769685f94281b91b3a3ad09d3bcbaada0476b464051c3a03f738f18ddcb1dd7e7f1d089c1d7659a51d54800d5bc1b3c399712b3be2d1ff6d6229dfe5ef7c8dc67a41c673cba4ee75c227f3c981fa35703cfb66882aeb5 - -COUNT=32 -L = 2400 -KI = 95cf72e81093890a3f7e6a4696025e89378d87f960671db3cd799220885ee893 -IVlen = 256 -IV = 112d28e8a4aacc9a6b9e4c4c8f44cb1fb9f027ee736489eed7c2f2873b39b648 -FixedInputDataByteLen = 51 -FixedInputData = 62bf4bd6b71181248d57f7c1bbe5075392fa42110bb5019e67ebe3767a7bf725d9061b870a7a65a7cbe1af77c0c36947a2012f -KO = 30b2dac83342db609898a768c340d91396ea7861747141f337464ea918e60409a7c721e41edcae7ec609b6d2a8e11e279c589c6c0450891929366420a76813adc0f986c5d3556345588a68397715ea453e5efe4ad15956db89b8425b1b9ea3e0eb580c758b0a8d9dceac913e013191db8bc4df66381a58283d7ee8b8b54286501cf8761cad38b736ab236b3c8b16b876a1fad9a13ad4cee44825b45d2f0dc0e8536ad3e6048e8dd524e5bb5b587ee7477f3f0a9b8db21754708595bec6746f56615b9f828b2c3570cb57e7dce5c8d6e6619c8f3f3baad28c127c7e8f1a73734a9c4eb0b04777f4c9e21f5468878bb3ee4491fd13b8067d7bd803df0ed10c19e9c6c888ad1c179e677b4d67636a63ee31eb984763bb6b62250508fbfb1465d98944da6b3b5042f6f0842b2dde - -COUNT=33 -L = 2400 -KI = 2a18a57bbaa94c5a526f664b094d0a6a6a6abd2d3c53da1930fc0e1bd4686234 -IVlen = 256 -IV = b66315c24d1bca5d4bc581f9a5fed2269064eba64099239bef597f591cb4d971 -FixedInputDataByteLen = 51 -FixedInputData = d5e2826fa6d0103f7492d55acb1e72307174cb3b72cd03820c1ab6ad2815acb65ab0349affb87b99c69fad0b94015e22090a3f -KO = ff417ba23e80aee7ae378a1c10b94d22e8601625f63d614dd6eee347ffa246e1e54d941580b731537c1b53aae45fc03ce8c05407317558d7ed790c4a7cd423864e6bc26967057835e4d031f6976d9f243f96b51e4393ac9d03a6fa890dedc6d8b8d03f7efedeed5fd0a39279c40f88c6f975c0a69217260f8f01d96a683eeeb532e95b4fa96697edd04df7b3e8fcd85dc9b9b13bf3e08cb20e5bb7801baf8ce173894defdfd2bf3af02231531ae4d262c50f9bb4ed1ae45232166d229a90750c1d00fc840eaae52e203664748e7382920fb65c3da873f293ab801db1ac7402ad5e13b1d50afea460507cc2e3cca18014d3c5f84e8d5c2a76dd63694ddf04ad776e55a090641125bfa178d00e00bdad43ceaf5d963ef391d2fbb4ed22e452f5f35373bbe4ce846359e0e9b7cd - -COUNT=34 -L = 2400 -KI = 0f3bf8564b29f98942889dee5a4dec5b412180433e77115af7b55cec4dbfe124 -IVlen = 256 -IV = f92e316609e107f47c03f74644e1b19009d63538d0638bcbf36cc513c5e993f7 -FixedInputDataByteLen = 51 -FixedInputData = 533fbc05e4979c6e49294e8c2647dd06cbda4fd204ee4682562e40415a072311710db77293e4fdecd2928a4756851fd025d1c3 -KO = 7c291b01235d18dfb36b528eb78e41ac9d69b363ab677e6ccf9fb6f431529e2b5548a84202e6febe01012820508c80a7471f1d972b408f581df5bc395af8f15756095b4a866da6be324c9aab93c734908002cc41f700bc852d6619ec2fd11f8df042cb368787f263c5bb6d8b79bde8ec1ef19e0f3dfe3b9c22e00be70fb428b098f645852e999d3ba660700ddae0b4fa6eac393941bb0a09d20e58d84f4e49f257695d1519c967c9fefd6ebd78e6b570e6b0ee23ab9a952e71cfe67f2ecdd3a50a13e96bacb3cef8e4eadd9e99fec98687fd976b0a2acd3c83e00ed66d0a4bfd24143f9e6900146a5145cab7e98c5d00df5eb568dcfc932a43526ee3ef9cd9e6074e6dfa028cff6d99b756aa74db17f62734bc979112bb1b0b2715f586d7935de191a5491d9f5638bd98a59b - -COUNT=35 -L = 2400 -KI = 927bcf01e07015c47d3a6a4bc19acf05280a212b6cda0cffeac008c0f719db89 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04cc044396333f1fea4058bd19c6abfef5a3a612c11dfff1a9997455746772554563dd579384248a4cb610441cb01ae2e65e78 -KO = a67f8fbe3964df5ce0fd740a030603655a48c4b7230a831691180cdb015db9748d5d7f39da764800731f74197acb3039661a20c850c11f4c93ac7e1e47bdebe1e285904a46baae8b1f87683a47726b3625b3730c17b339acfb8de0478662c4803da276ef89b49e084fc2615b6cb632b2630190324038b87e5814586f63fc999766885517212f9d62006eec8a652702d35dcf03a15086a201ecfe97c5b4e425d3a3ff38a66f2985831ba0c115b9caf2da27f7ace66b332586da1c18c9c5b6a3d5b1ed76f53e73c7b432c2fd62a264a43e119c20f1c4e4b3819f9c964c00236285411ba06c174dc765b3ca470f032e3028bbaa35041f839446e8c4b077f3054fc9190bd5113c8367cc3264eef2314a55c7fe8381156f44b29bb34cf817ce5d2d2e1dfd59fce3ba2fbbd158aac4 - -COUNT=36 -L = 2400 -KI = 73a4f7b7291236a041de436ea2b9164da373c1f12b2eab0c0366cd66ac9bb21d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9e43f80b8dae6f6ff7531b43dd05697a133d04bc9bfd2936b8a59d8a86d07c9225ed9f063c376f9625613048fd8bed9a03a4a1 -KO = e8bdc232507306618fabec94eb5815e4418a64e01083c6abdaf37b6729953d13e38ca30b575a89e69d565cd139fbd61d38d17e4dfa531be059d16673bda9ddcc90c51267f55981843779e14c0581537b6483dba426f619ef67fa3a14bb851bceff23d20346c9b1f8ca573bde4cd95a60301433cefd4b5ba72b0e40ddc2d718c5b1f24de05a511c864dc00cb903286b8f77d6b37184a0c457475cd5aec194673df5a1388860de6824b4b2e1d1e380da72f9cd0298e6d2cb43b26efa8eee7b513b7bc49db4f2199f7e460f1f7a0f90bed696a78b5b6b74f13575a9becc40cfbbe23a0415c3bc6fb7097dffcf66b88321b4f8707d358358dc1cd88abd1e92ec3aab92a2071e69f3c2ddd5df4e14f75e1c37343e010f8bcb22a32570c4d61a068ebd15dbce058fc6c9d7b9ee12e5 - -COUNT=37 -L = 2400 -KI = 30aeabe929bcb4a06724c5b7bb31ae7734d926edb5d874fd70f6f79463b9750e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 495f6cc999b6325b0b8c764c952c877da78658180f07c9355a061001166455b8bd779c6df0aecbeb310db52e06e606d852b406 -KO = 2ca17ee0dd997cb411ab2d3bb93df58c9bee765a44c58b30a044f0c0f42965ebbec8c677f61d75ad3e136ba94f37c957d4d9413a4e857f1a4e263ced4dd244f2007279344fcd6b782a60f5b7004f6cb3f6b066abfaa7fb01c9b5a7d76a64e78ae033c9dea0402d4c427b16916ed0b26c2b48566646c852fa02906d2795d45d8c169b5b0e19c564b12ee22ad82d9bfe4820602578ebaa9b6ac5a3c3f705e6a9aca3924c6465119d979b71e744af4860df61efb824afb1bfc5d33e57cc0be35ad6ddbbf3c76ad7a53ad6dc8c51a6880ac1dd3631b2af27fe8d72926968382a5c70d2c8b15b96b55e6b136d6a9d73959d66fba5b52208d84493591bb0190995453c490dd5820c0bf6909aa2f712683250ff38df1b3eaf808e3f8308c7545898b49bd8c09f606be10ecea254e9f6 - -COUNT=38 -L = 2400 -KI = 8ef1c900dda0d946af5eef3fd6e0297e104a1e9c7a835b3e53e13fdaf0baaed6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 208732302382f2f7414f91f2c4f9042f5089e0ac619b0e940647b95b9c6eedd87c9938157e9263c6b710a04ae9b65d005302ca -KO = a2cf36f44786e86e593b52f73543294ab571271353d3b51892be92281d87279043ca47ba9a61de28d84649ed6d3fbc75c4c616718fc49bbdc6eb9a7b8736ff27a334e063102abdf8d8a3343541287a0f8c33a5d6f001baaba1c0e33368cb3a93329b9f26726a480b62daa45ec145670049000330ee52f0d44df1b80b2ca364f7e6b57110222e139f1c7c796a46e40d772c8625359359857e75b74d2a8a9d1c58f92289dcd446fa7d281cf4102d24df17eed34b3a4cc98b528d93c8bc4eb7f04a917e54764336ca64864cf8b88f59d867fe79bf07b7a4ac891ab2475aac974bad6997223f83bac33412dd10af8a2d30d9d50f4a3e3218213df0bfa4e40c8c316c112e117117a40041734c61d29b04b72079603bca70151fe8791aa07267886c6851b23dbdb6115ae4aa3553c9 - -COUNT=39 -L = 2400 -KI = 02fc04512fd0d50dde3d5093f77c19011efae7f21599b6ea8699eb7dae906e05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ea7529d75c0791ffffada2486ed428d23d2faee624bc3adbb684006a598b27b6227292e54c635ac3415b6bedfd009d9bda1f37 -KO = fa3b0851c6c7fc2c6898efaa4355f0b9fdc575b25c9923faf11278ef8551223fa93c53f13926ee4f3f96f632bf07b41383926909c7ea33606cb3cedb91eb6461b1db1a095e4c696e5ad838f4d2aae6ef68d6f8d112ed6296f4ddaae61797dffd09b48a60cbacbe3cad91c62bea1ca88fb0b198b3b1cb77130ed9d356d4061e0c8c70d44d09a0dd00433058b80d125cf90dfc6d198400350957624be6d67d6bfd195497ccb0b88c23e9fde9bf5757a8864631b5caf3e9334e2c7b1f64c11c9d6d456ec4d1b30c011822914cd1ff15e15fcd61430e4b95642f5713e70b67f30fc08bcf22053f8e3ff815e769390bd3579c414bafe8a785ff78307293b01a771e57dfac074a60b43c6ad4c23a9bb056653050b2465fe78299abf55a10e8c7613b3f59aa6bc0ce705e54b9176e12 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 59d0fecdf3dec65a2ff4f2ba848b27f1f9b72f012a5404ff79fd722ee3d1b282 -IVlen = 256 -IV = 16100f9763a1621f81b21693ac77595191539e168606c7637c19eaab25d4a310 -FixedInputDataByteLen = 51 -FixedInputData = 9663d24c6815c4c1063f22b03acbfe5fde32f4c9d0c4a6917f69a0b73ff987febe260d8f56674c883adb446e534c5164175387 -KO = 0976becd311a8ac8aa8eb6f4d775cd7f1c0ec766d9d3cf084b1e788fab2f402d00a1f463c5bf60536b6a0a0c098552270e561f67c3dd2e73a2664ce5ff8f55ec - -COUNT=1 -L = 512 -KI = 5d0a35bbd80b3fd3046b01cbfabfc3e5a2e6630eeb4f0140e00e90e424fb71de -IVlen = 256 -IV = 7ed2b92ed821723c940cb4557278213938242809cc73657e60b86306233e0e88 -FixedInputDataByteLen = 51 -FixedInputData = a56159c460c540cecd8c7ef144bebd023e203cc7b25a990b212d8a6bfc2c91321b5bd05954e3b9aa273df805463204bfbaa563 -KO = 4fb1bf58bcfce31d99a769f450edfde0766ba6d0ca54944936918f8098400b8612b44d25afdec38ea158b858f09d5f0f86593984e27072a0b7f42a6300f80aae - -COUNT=2 -L = 512 -KI = a01ab22884d5c501afa8457067554a04d7a27e719ec221d29471d647c9605688 -IVlen = 256 -IV = 3799f95bd0b5e312dffeb6cbc68ac83627998f1bad329762ded34adee1118afe -FixedInputDataByteLen = 51 -FixedInputData = 10ef22eaf66d11c432f1ad2fa2ba60b6af6ba6924693b9c46916800b1136ad13946c29c41cba18d4df94fe0893cb119e404524 -KO = 1ab44083a4470f143930a908244249a62a7d4e6eedb8a2d9f798e3bf806b7e20baa5726546ff0da444d167c34e4e3461edece3e92db64885daa395a1ea517fe4 - -COUNT=3 -L = 512 -KI = 8d05dcf803364c506f8042eb21b6332fde9f41a8df2ce0e573eb87dc066252dc -IVlen = 256 -IV = 07aac0bd76296eb70309dc4a5e608b2df4e443c853bf46878c959689f3f72490 -FixedInputDataByteLen = 51 -FixedInputData = 7cfb7f48ad8981f40727568e51cc2cf945721fb3ed40b63d17c33a7b910008f2dab420b8d7f0a54e59f24714f774596b4361de -KO = 750e56567439e8989d558ea20a6034eef841227a66f4901c90adae7486dad42df44e9087dfc7069da3afbc2259765afe398acbdfd11112a939a7fd61ff62c20d - -COUNT=4 -L = 512 -KI = 646232809daefd79ef49992e8284597b5aa1e1b3b15ca4e17d9e2d13b4ba6173 -IVlen = 256 -IV = d8040d468b9be0b41e650ed9807252c213748c2222d9a7c395f11882fa20e1c0 -FixedInputDataByteLen = 51 -FixedInputData = 7f989f20fd33a109b14a535084bc1146782e28fa4bfda70f8b51d0d8276136233b29c2f050161e18941f449d4b2bbb72ff93be -KO = 8b80cf05c5619f7cd566382e7b32ce9bc881063b2c686729eb5d5878868464fa26dfee77aeb59ed4d29720aa1b8862f0912dcc3aaa4e4cffcf0c64412ad9b792 - -COUNT=5 -L = 512 -KI = 774a3051eee91c67959460750daff6142b580db9d3db8087ada5979497d2fa9d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b9b30a258b275080a1e2007ed506a014fb38f656fbc42ca6d6ded5c687553310050855bfc07e6f3bb34a16a3876de40e86f1ce -KO = 1cde6769e85fa1c275b480e9705c7ead4f460740421635fadc7105b0c24505fddad7de169d4edb5005529f2dbd65ea398a3eb51f6cfd51bd4499d5b11fcce561 - -COUNT=6 -L = 512 -KI = 6db758a161ed8f57fddcf03bfe442cc43228a236bbf92d685b070b48c1d31bea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8ee8fd0284a9874e1a5c3e0d8184a464b92c334a9c56ed0dac866436af9de8de7d8873316e0f29d9cd59dfc1681ec651dd0b2a -KO = 643735285118f64b334f9e3022d6e39e3b24f287483ba51350d99b3624036e2440d872712f2133ff35b8f3e1e1064acdf83119af0c3b15da27f0b9efba942b3f - -COUNT=7 -L = 512 -KI = a35cfe0c2876526e4a12dcf0eb41fb2b3c2c559affde6385f5af58f0f31d8358 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bdde2ddb2331f2359919f3e0feb436a29f3075219580fc80ee1410de6e02208def108941b8b85b2f96b085eefadb54f77b468 -KO = 58908aed562a50275adfff07d55f13e696a6b08b213d046091308b81f21fe46f4f59eea17670809e677f4dd01a536b47650db03dddaa31adc18a806cf02d821f - -COUNT=8 -L = 512 -KI = 47df2c7710869f92b2b0a1a79223a937009d17d841cd5176bfabe188a530ec89 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 489fcd72316b377db8b3c362878e3eb0e9d17cfdd781dd88e86d8d512bb370dc28c4e4922d4d89a967ed5c8c21363f9791467f -KO = a8469a958565035b35ed2055467b1a7f7acf18a50ce5dba6a81abf5c1971baee17dcf972e6aa9831d7f778c18b47664018ae5c1318eab5850904a6836555528b - -COUNT=9 -L = 512 -KI = ed1ba8357265f7d7c9581af02e613404d5ac82734e5aae8017ea1966d389beb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 846cc1f24ffad86d4abc29dd142073c6771469358ad7fb05cd3bef56268348cc364d865dc91aca777f07976851a2aee180c16f -KO = c3609cbf00b9c76fb63b03265792017f9197431f7fa3828169b0ab487c0ad435e1ca810657e1b59e3849b54ea3d22af5a890274a24498014fecfadbc87a8919f - -COUNT=10 -L = 2048 -KI = 027668536a40ed18d8617347ca981b5efa8495481dea926725cb6120d4b54a29 -IVlen = 256 -IV = 8b1aed73edfef6e2c658186034498fa997549e73221fa3a860c7ae53282e19eb -FixedInputDataByteLen = 51 -FixedInputData = 03ec4141a34060de6f4203b6cadfc687b884343cce525548cfc575cb3e123e33809bd19162ed90bb93ebbd432bda27fbd09b84 -KO = 04e9f8a7b8ad6c78f1c2a63642e52fc19814fd7047b72feec049e98e53b3485c18b1bc4f5d4f046605ad147fd2790e5146428cc3661974cc47a3094fba2441dee48dac21b681d655a2acccb07d872dc4deebc0f85bb54720ab15ba6099b9d1499186830335fdcb729b76a6589bf6ea081fb10f6086726e01bf1e9ee785b4584f540d56d2434756ae9f63abfaeb03c5f48e0bef0c57dfbdd6e77dfcbf118e382f03dc816b6d086f2520d0692cd9d8b3770f03e41b33c5b7ec87f1c5250d93be125f3cff8ed884df8d8566c5612b9e7a662e8ea91b14d8c5eb1a59406d4f78d625f2c5fa6ff9acd6620b19a3d2e5749d76ad4f5a448a432f10e9e9ef204a5a222c - -COUNT=11 -L = 2048 -KI = a956e71d776b2b658dfc56427e0793b9997f85cbb42e644a27fd01f9b2990155 -IVlen = 256 -IV = 98483307520701ea1b266bdafc4521cfc8360eee71f093818d551cc340d0ef4f -FixedInputDataByteLen = 51 -FixedInputData = 2fd620b87989e45dbe6378ae9a4678913114c2e23830dad8f834770ccd961732f44936b6616dbbc1980249ef2b1666367dd49e -KO = ad40d3fc7c0a40b3767da8eb189150779f1aec76ddfab3ba4cb1a08cf4470c462d13fea263854858c750b03fa4efa2004e94b51ed7e5eac5410fc05dc26f9a6e09d1084963fdee21b9678a18f216ff703339f2ac1d02b11a6e4231462079e8c7f798e356c8f42d4642af8029cec8ce2d967926f93b9021fdb00b317183eedbffa945d05bc3bbe62bc0c9a872ca085bd71511f4f59d395e7dfe92ee9c55a22dd636c59eb9a154c5e806fe830e158e2a59692cdde4bc7f5bd2b6366683aa57919e57e2f42fc38ff23b3c8d58eff41e4152128ab081e36d790a0b5004857878c4a4c9201c64c7cb240a02b36a51ab033220f2faf3ee704a341c3b9addadbf5e8289 - -COUNT=12 -L = 2048 -KI = 950867f82d0cf92f53d4ae9b57ed05d965a88a57f09bf08c27996bdb1c5992f0 -IVlen = 256 -IV = ac4790425068a812a4ecbe784234d00ed61d5130fd57fc38259af5d4854c0248 -FixedInputDataByteLen = 51 -FixedInputData = acb6315f1ed2672d3f26b365b4e6379b4ad1b538ed02eecaab13b530fa08eda55c4af82b32f7db4804a8c4db125f1dd1fa476b -KO = e95a769a5bf31819ae1261c840b6d04f4927e287efa3a07a66d890db1925880c86f146295ce0affda77705e6642878c1c87f485d57b463c79e1d73c78468ccc3ad8c24e134c4f7450d1db7b947f699903a8a162ae5299909fcc732fda462b375f0185c45d516104beb9b8f7823d50b806965a0312a022f14e0b01be7b86559ec57c0e03c9239426ed36a7e8bb40fec1bcc419ee25ae5ee988ece86eaf90f2ae8970faef562afb980767aabb29f82bbbb7c200e90616af071f6eec709ee82559ab6bac1a8e5c9af6b7c62b4e5c839a116d5f99728af586d9ce8cd629eb98f697183e32f1f26254d0c40c16c4749d9638c7292789e493b7090451c793dc9e82d53 - -COUNT=13 -L = 2048 -KI = bb60b35ef18b9bf901befafa711af97655371e313b0d132a97d539911379273d -IVlen = 256 -IV = 2d2fb3e633ddaf68b2364eb757fd7591bafc409cf6db34ca9c70679d8c0d39fa -FixedInputDataByteLen = 51 -FixedInputData = b53b9663f0733b590061e9eeb96285a729090572d5e7514585469e5424fc06c5acc968dc8bcb61171f411e1058fd03c56f3c18 -KO = 96979a222c042c32573dd28359bef56c54738da7ed6fad5911fdc22f858b00c9a370c9209fcac4b57cf7cd22f7af9b4344747e0d2dd485c5e166cb265799305813352e352e61ac0320fe5ac3f070c5349c0f8ca9a95aef234ceebc1a00ddde7d630616d0b494cbe1da5a9ae1db4fabdfd985ad98b6757f985435af73ba04cd4efbe8ac1592e70f5b30c5bb3d4bf9c4f8c0e287de3bdbf0e4e0409fa7f69ee05e0379757e617cfc93a1884020d24b3b4e8f3b1d9b5dfcdaac0ae5e6f330a2635d29c0e0cd1de1e4ae0821f647c826cd3b1712c4fbffbeffefab8b3cd39d3d12d5a076089475437e97af7041fc7def81b2978fd757f3c40f302beb5ac2ecdd53bf - -COUNT=14 -L = 2048 -KI = 15a971beeb5bf465b9c07aebcc454bc5048e353463c8943230017d595d87a658 -IVlen = 256 -IV = 825d8f433689574b684431bff61fe4fdce6bcead1f97314ab9db9eb644cdb600 -FixedInputDataByteLen = 51 -FixedInputData = c00304e9f427076fc94c9b54af2cab614394bf0573dd41a78d522cc83431b8066ae6cc57159d07a07fe722518c45d6a91f78b2 -KO = 46d1f7373314d6e284ba203f412d163fd432bc653e7ef507068713b0cffd00167e75c914d64fa988fd04bd59b48b04ebaa465f87d4d73083e307b45dc9ab1bdccf3c377d2f4b66444d93411a8941a4eaf5c824f55db2b77fe9af9928110190e9a31f3f240ba174d024891e97437343078a6798f74c499854a207fe1e48c61f5acfa817b62a197f1eccb2f73d464fd7ceabd56661065922aa69d05c4d2d91356b9722d090b60d603894f506c85b74e58b17ed77be7cd9bb58db7cdc0f17c6c4c9131648700f67994b2a59538730d25fa164a4236a787f00b7a354176a8866313ce138c1fb8ee6253fa08d5a20eebc3bb58dee04640331eab862120e7076693d60 - -COUNT=15 -L = 2048 -KI = 6447f74e1cc1a1a35b702f3aaac3ee7c3b50b9dab2fd8403dd9a253fe2c27ef5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed8f41d9585a500984e24eb0e61d86c68a40847c1637e7118f9f747576c61fffc3fc458913aa3a8d8955c1378d1cd398b53ad6 -KO = 892892245745292790943285b1afb5a2def29a5d294524020df610df7c2517007cdc6b41a6be13337e493e5399114028704dc67333ae3bc0845dcea239410a71d233e6c032eabf5f10f630133b6a3382b52eef59f844c7ab6e314fefe29da58b3f131e128fc2964e598c6823322de86bc3652fccdfbbdcf29223af6087c6d07b09fe52709c652dfce3b4bb78a7dfc1ecffdba26e9241f4886aa93425d38ecf1b54050f17be049c23675659bb460a824d7e831943ddbd7a1c02bcbd1ac66088253c4266084d9beda5d21ecd34145b5fdb1a61489134e5e904a5d81ad13bd46ca721be5da3687604b05c747b6d5c30aad7634335969199b4dd45d98396fb7375a4 - -COUNT=16 -L = 2048 -KI = 9eb15d098a8aaa5679fc1cfec219e179df6e15b6a837e2a8c8921d6b28fd5dba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ba4a91746f4f54d1796fbc2c984fb6f6093ae9daa471911f84222b5b8f731fb31344006c3c1fe34588b97bf0498a44a6aa8ba -KO = 53725814eed965c657db67f60d691a2b3e3bf2592259c484b502dde9c85c472d4d876cbf9c5550fa735734ddfbbcaa1673fcaa62aecb2033bd4a657ec1fb9e925e1ef13e44a6edea9939365cb37f2dcb3fb44975df52751f604d2ebcbe497778ebaea3e71acdc0e71e08728c617b60d254b4ea9d01ad5f5a46e5dfe49b6b0c516741f7901981a5d0ee95ace4d32b6e3a86a770c7c4e2e607b7cf191603914421fa97a6ac1a2287c17863c88b8ad0ca55509c1a871492a09224058c977b9f5f4b44b1eef55655c00b81fa7ef8d921855a004c42b3a6b9e24d2b1972b1a2baf772935e9d245f61c9828bc64d08219cb1a37e5a98546e4903d31e878c9cbf3667ec - -COUNT=17 -L = 2048 -KI = a97b3633269258b654f4c2446f0b38228e89a774fdfc3abb0f9c9274221d4851 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 76110eb70658f4279bdd1e8922550d1b8972b9572a9061a5eb6eb2b043d2d491b07bebdd9a1ad503d9f5cbc08bd112ce8cef77 -KO = 363b6bfbc838be14b0975b0bdc391dc898cf18ef3169a4a05d96110934127c6145e53598e7a9bf9175804fef307394aa2c6b0f006e2744c81b1f150c3781aade16b972895f07f7bf5b43a111d215dcc45849ae897fb486e8cb1ceb10f54bcde71838181a2193b946c0302ae2f20f4a6efd13e9ed86665f08fa70e2a94713af04424ddd081465a77d5ffaa7469ef82198b504506ccb729b420648b56242c4caac999377f025769df7e0b3b25679f93f5116d17f7383c04427696a6944c7ecd83ef220d63c29938a79424d8d4c99af30e752cda39d6b78a26c136ffc48e59cb76e9c879451e0fdf1af3eca383d8044855ae496a1d79f72f5e3a6fe760da941210d - -COUNT=18 -L = 2048 -KI = 70533222ccee5094ab6c27750fc990894cd50146eca77f51ea212ab298404f82 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28c0ca7aa880b2520480d8b0176ba80eb6e7bae8c27ed116ab488f5c0aaf40e46d59a0739d77657bceee97ee68f1e8d0699676 -KO = bb2406e070e03c673b20a79b534fe5cc817445bb3dabd5173adddf5dbdd0da0b96d447296059eae792c0d40c6cb25537ba4902bb2acfd8440a3baa5485e2b394a266d2e87b2cf192ef48e14e5a5881522fab09d3172ed9f7e1480a61e2be1213816ad69fa7101d73d39546dfbeea12ae355bc96227c657889c6f7a879db5452a3f070bcf5ce95084e4fb8488e031180d185993320bd662ffc5a21a669ed4ae82fa6ed8aec306ed48f69ddc7f95de0a3e2ba50abe4526389e0d5af346098755c31619bf4b38cf54897995bd88b380a771335b5617bb5bc3fad639c912bc23a7a89ef7cca02f6ad7dd30d03022eeeda2b2a80f2161cc90bc3324ca0ec81b608200 - -COUNT=19 -L = 2048 -KI = 3990fe416c48ea51ded432fa98fe387c85825f49c51a104fcf0bf11477bce5ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78a4c816e5684e7998b606649ee609abd06a92b777e2a87239731a97ae3f7adbabe973f5942f190228c3e87abefbf68aebedee -KO = 57d3c56d047fedc1a3f468456356d02040ef002cc90c3e8d186a153967ee688bb579b9ba2907a7b98014d7b794eacba54f8c7bab6734be6b59e63fa3bb0ad7db5fa81690b9a33b60b8bc119e246ac4caedb293603e942b218f287703762b8ae2baed34739367b5fa492943873d0465dbd6a4a4ab59da5f0a01fba46a7c5e31897ab48edb54538cd906f4f4c03ad8735a37dbffa0ab7485dc2164f9be78fca1173008c4b65ae4391c45e4f3ba61bee27f9b1ce249f6ec8aa50eb40bb1a9c8cd1b5803985795a1bd8c4b7bb2819161d0f7855eec51bcb5c3da869da0ef0e54e683b31b5a90ebea8ad880a120a2fe704fe52746d57b84b22c9d7d343b12ddfae496 - -COUNT=20 -L = 560 -KI = c46b4e44063adfcfd884d42f732d3714c39da1ea4ed83473aa772582bc2f0dd5 -IVlen = 256 -IV = 673e0b8a721afabebb73b0d824464ff96aea8c0da1cadeda9577d764be8746e4 -FixedInputDataByteLen = 51 -FixedInputData = 38976d98490ff3b6a924596eb0aff000f54cc3b506ec1bb9fac2a1dcbe0747ca3d5c574cbe7de8e11dfb5ff451e981fb01ca7e -KO = 64f7f65cf432b75b50fb59456e8f6b4b365ca71586cf224505912783bbbb4151d2f610ab0d12f5f30afbe3e9e4d34726e7b2b077e5acea8d93d9decf8793211fc4c2b384de7b - -COUNT=21 -L = 560 -KI = faa60e3c24d982b79d481edf2c5fb1b33be430c69078b7077087e9e771718f02 -IVlen = 256 -IV = 0ac0e5d8998a2ec1259e293c86231e9f845f5f6c41d52b48aaa4517992572378 -FixedInputDataByteLen = 51 -FixedInputData = 6120e8a7ef9c032fca593ba556dbff76558c7f433fcce12691ecf0abfba1ba3f221d125a7b73a694ad985208739a23fb9a6806 -KO = d141cba47b9f9a9ab73385956e909cf56bbf880709eb587191997a0e41d429edf2b9c1b0ba9f78c7379d6cc796715e9edd23bbaba4129c67487731f5b9960db5c34ad284002d - -COUNT=22 -L = 560 -KI = 05e26559ff4af9fc79b24cf898c6b1bf25f9cd91a95fb79a50e0132aa3074704 -IVlen = 256 -IV = 1acb8b35d3693f1759ec06234925f9580b24084362cfdf51a90a9fa4fc6a562b -FixedInputDataByteLen = 51 -FixedInputData = 5f8a6eddc65e59020c6b0b255439f274748fc66421fb492374f7de784a1aeaab409591af131e257fb76609a01179a028ddbe27 -KO = 46a946376a182e7777ed0692c80d403729cd9d0f394cba5c7ce17584b972e1806811daba0d110cec3be635ea8bd67f0f28f26d144fdde1181486f5a703036d57fd2ab8ed8f81 - -COUNT=23 -L = 560 -KI = f555f0a303b75b8ca0d0c6999e8849b13a190bad1ebb8a5904693ee216ffe028 -IVlen = 256 -IV = 50b454f9bc4d1b81f5d0ee6c606045fe2090090cd0cae3b97e8c63fe988f9e1c -FixedInputDataByteLen = 51 -FixedInputData = ff6fe3ff9c049c566e4e76d49b6b94dec9af9b029a82ace3870d93eea153e492458abb16b60b78ac79ea8182ad57348db3dd6a -KO = 0d5db13017eb2203e0fd41e0ca3354ccb77d7f7d85b56085cba36ce3e4f7390c276d41f2a447280c9fd3f6601ac900abaf3b759c33a070650832f24a99b1998b6bb8fd3c144f - -COUNT=24 -L = 560 -KI = f5ec949af4b20165c6b5c05d930d5385c985f67fd78a634a09cc87f8623364e2 -IVlen = 256 -IV = 5575f72eae86523c97dbae01fe78feccfaf979179e29c0a414c72c53ecf033d4 -FixedInputDataByteLen = 51 -FixedInputData = 16274626419067cee61901781e10f2ed1d07fd27b068f52f155a76c8459f1d7dfce877693ed78254b452fb2a5ba3503746013d -KO = b86b7a696ff45dedb68728d1454880ef9499b8f3315faf3d2a001f3bb72a8052d9566278ee7933788b5022ccf07aaa0ce4ea9bf23838753ee42a84f1afc7d77a3b89b9ffe45d - -COUNT=25 -L = 560 -KI = 96716bc7c3fc636dc8ffc76909c68a3f17ea44ec9d4efc5a0ebb7ba2cc1d7622 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bd015b01118f8adb2966916370d493d72e6db199a4a43ad70950f13204e26ea6d440b1faba1a71184a768b79366d4488c7ed1 -KO = 1bae096c5f7167be5bd056a06252da4f98d3fdd86936bcb8035df5f41e3f0390044a72aafaec7cf14b260040081638ca6612041640606b949e8bb022f1990a5cf87d15894ea4 - -COUNT=26 -L = 560 -KI = d127aaece1358754e5efc88ab9cfcef64cdcfc5705e6cbb4cf6014e6bab52dca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5581a6d18ab382ccf768ce67ac3aa9d6ea0518fb1cbc006e1b69544bf9e5e087d0b350823cca765bf22acd64168263f6e45397 -KO = 2a772fb13912bf154629778295611501251d091a992d8911b89997b78220b69e2de8fb8a9fc733113254a87c39e64c4a671ea181b0b815fd42978fa92cdbf21863ae87b28ea2 - -COUNT=27 -L = 560 -KI = bf2e713df40540c185553616e15af958a989dbb21af74f8738f09ccaf9753212 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a125ef9bafb4ad2102631a1d80a85925adea92881bd58dd5ec685b1b54df807943af8b9d5bf4661ce1965aeb0446c5147c53a2 -KO = a2b40e163fe1f8e3693e9109345967ba21edd49a2edd773cc1a570983f677b3219d749195ee1ae9ff6caac63b850d315ac47916c46758078fe6a25f39caf775cc18495094b6c - -COUNT=28 -L = 560 -KI = 0827249a2a594b1ee4afb4d75693bb1c69be8999648b46ca30dcdfa0af6dd1ee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 00f02d7e6983f338a6c945c7af3f3cbd3a1bbf733dc507d86bb692812075c63f282ac97d5f6658d3f1bcfb074b0686919620e0 -KO = 01d43a5cc18c10471f64a714e503e0d1306c251197ae951a2ac645b8d5ce070df37296b655e8d1d949d9484d5fc521ca468578a01c82fddb83db6df0dbe66e24e93bc8007d1a - -COUNT=29 -L = 560 -KI = 52c7246c2309e6831abc64dfdbf33a14a43c96437f30c62fc874f1eaeb31b564 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4baaef1d697e923114ba11eba25ea8e323302b3068d10e035e531ba0a7138e7e189f4b9063ffffedb033b5a68284b3d16e811f -KO = 18c252e61286665b071453448131df0192a9c2a2f0898b5f97f7ff51bb82267d89f82c9334617bcc98c53ff1cad347fac734c7bdd2b1c8dd393e67e1def6117c17c3fbca3939 - -COUNT=30 -L = 2400 -KI = bdd80a06b43c3647244c09636427e262842b065d5717138aaf432ce9f3acf273 -IVlen = 256 -IV = 02befd6bba82256df85585413b412e3731f648c9f90fffb8139df459c5f2fb1b -FixedInputDataByteLen = 51 -FixedInputData = b9f73c35003dceae7ba8e1a4684b805a37036b586b9cba05407da481e527a9d95af59252093fb25c75f77bbb932b74fa80427b -KO = 579757dc1e0bf85b57064cb7a1d37a5132d652b75badfc71810f11ca953b6c03c8c440b30e747ba013c3df6ff7d0cfec97ce7bfa00a642738069e1355625e7eb8257b4ecfabfb9beac1a9264cbee22b68c590055f368b9bf6f27616ba128414d041971ca4b96fd11a61ab89392f0e406c828e29f48bcecd298abe087be3e476a6cf3447a62291e67096d7db5982c6f2a627ea68e56d39a6d0486c8028b7bae1bbb20f18748e41ad57a069c81ad33ad680ff121cc759498c5d36601a751de0c3446472f9f8ca068de4fba4e7e62e92089da26232a6102a4d4db0efb1e3ece56907572e09c69501627ec88c965707a367ba96859294c2c2e31be949ece167bed493645f740c906a8e2971e73d5ef155ce82774ae3c9f0074ee8409c46cb9bb0583b14f0cafb7c5111e992d10fe - -COUNT=31 -L = 2400 -KI = 3e6e30242ceaa05d673f9aef91825a54787fb25c09a5aa438bf651b3d806e059 -IVlen = 256 -IV = 67439ff15879d3410d351004b572405650e6dcab8bb074042776f63c9ce455b2 -FixedInputDataByteLen = 51 -FixedInputData = 4d57120d9916b921f772d72ffa133a03422964d0c2cc20e2071d62db4b8618eb0892747ee867822bb3eb8fd53c45a5178df236 -KO = c02f3b4e8ed569c4f6da3669fe1c0aee13c5ad203d89b3b4dfaafd691f60f1e015719db29d87095fd65cee502ef126e9701763c1d60fc36aa37c3097d074a12606e323cf22e450ba50b6ca6c716783dbff6ad9c13c863d42385b7e6271461c57e30e5c38b4945257b38370d7305da4a2f0089db4e3a599df557d365d6befcc33f0c72a3e8b66241cac28df832d6f011a784dc21e5b092abef1c969fb055599e0b8308b2e6063cad652ccdc2b846850d7737cad0d747def093f32bf336de302073882623a04b39c38f747a14e6b516b426141d4f7fbc0fee2723a6ff60a3efc887c31e481bf1e2a35f77e1d907bf2d2fb6147c456f4c4024d88cbfa88d90fc87ffdd2250a10316b8a6c5b76c2890ea900cc0ba99200b9bb70f792dcc2712932e19d36a14b5b7af94e6dafe186 - -COUNT=32 -L = 2400 -KI = 0462468ef24ba091d946d176b8f9f1f6c20356ef7990433a7d02ced77379a948 -IVlen = 256 -IV = bb8872d84c26e0dbfd989a5fa386e059771d54cdf2d2efb4d5770af7af61b53e -FixedInputDataByteLen = 51 -FixedInputData = 75fbcdb5a202a4e9defbcb2aa15e3f5ec37b912e8d5af73ac3e43ae9dc34a654b918537940a74e74c4d7a96ef4c383849bed43 -KO = 4ebe1a12aa37de78b7568949531d388f65ee233e03d39d1f0e75749c9cae2d27a26bcc5ef48a17139ddd4f09a81df61d1c1b42a3727865eb8251e224c28fedca4b280bb99e0491fc24ccd5cc087a93d731b82f619f9c25c062fcbb45fbf724b43384a3a1f21b77f696e388d362e614cfe13dca99e6fbbd50e02da7446a58b4870bc7d6da4f40e3f19b5a3e5a59b94ad0d63f6de2eb16fdd1b7a89a4dc9ad6c34f7279b297fcfe2582d9174bb3037a683ab33479a62a037cebb6c52355f0b20042d14e2a22b1b4d8af30650c83573396e64f76f5638ace1d5984cd2e6ab079c8ba4946ef3b4c23c39df3e5cad8aa911ad940becd0a9b1374b600c0abe6bc99532cbe51cfe90aaa4402683ee9726a842fdb097725b8a1ddae0932e50eef17689f66c1ab38773544507bbb0971a - -COUNT=33 -L = 2400 -KI = 9a49bcb179ed09b9b9d11a319cdaf027557a56765a135b549afebdf55cae5075 -IVlen = 256 -IV = e557cedaa81c67c555747206153b5fb19b8805ed9ef8b057e6e6672b68d393f7 -FixedInputDataByteLen = 51 -FixedInputData = 73ca0240d22334dda0940eaa0db384c531ca0454957cc5e4b40c5aba98fa8f11a85acc521e899d20ccd0261d67acd62d4f4ef5 -KO = 3a0e3f062cf2a341fc1348bf94f110179481214ac4d2d992a99bde933a793a2144fc512ffdb7b291c4229c8762a683ed9a1afc4513f19fc8b6b3d83ede595a2190eaf503fba9a6583e30ffb5c06c3b23a4eeaea5ca1f3ced22cf3f4e76b1d1ee8c472d63accb24783d0e0e496fa04cf1f3962f59cc49fce36136288607123d8de4c77646f27394f31bf38fd731fd887c248a302d2f52909bab9bfec4ec4c9fb7dea55ce6355e0199e05a25407779b0c2dc28bfc42682375318a517c340dbc4d96bc25248fcae08813d75228647137476e8b67c20d3c4283d8d1cb9f72493584cd6dd79fe5b23a200071f51d9ec9a543635e52ebf78a81e05c853c0475d094db6c184a6e90895a1ef15faf57429060474a1abb6d2c06ad8d1a667208527671fd3c577b00350d12980105d4fbf - -COUNT=34 -L = 2400 -KI = 753ee5728fb2bf0d46873bdcb94121e49901fe7c0612637c4ff64d294741f12e -IVlen = 256 -IV = 9090fd6a88765099e7588b29abbfa319c5a1dc732067cdb1dbe92084ec0a7caf -FixedInputDataByteLen = 51 -FixedInputData = e25284b382b1073cb9d4e6ea138ce93a9eb9a1d4e937c43aa1ec623934dffccf0196b5f718abd8cf0bad8c0458b4b26e3c2a46 -KO = 27df423dab37291487a25fe42e8b3598cd83e3aa178d32aa675e7fea9912e95683a0059edae3150fd7d75b09f5dfa25d7f36d596d09c3082680b259c21497518dda6c006c265f7dc9a05be6649620702868ecf5dfd9a9567b5b8030e26c2f68b86c6225bdbaa9d7d2eb3b1bcb1b517ceb0d88d7ff0c18bee83a9e4c4386bacc9f953da3d1dae065399e0a774db876632c0bd629c36fc6231dadbd644c0d50c2d8867648deb7b7f3c2840862599d61539a2975a07d3903eaa670dad953a65bb6ae17d2296c00344f861c01da2b63320d6952e779224fd44d7f613e2aee2deddcccb8f6d8eab89c0a0a8ab0a853bcc53f22cf1623f29467dedac789593ab8b868d2afbda9cf1e478cb3eecab053de2ca416751ad7903cfdec809ae312fe5ffc4189e1df74fd8ea5b374cf97ee7 - -COUNT=35 -L = 2400 -KI = 6b72afa9e5cfda8c7a748f7dee8db9f6c2b944c879b577c9174304d40c03ab50 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec620219edb490b172be56c550ca59e5ea552de0592842bed7162b7a378000e8e094023c3e13dfb09789d4975ba41dab264e2d -KO = 276ebd924ad7d26b54a7086beaa1415b55ce18526367d50f2fa4c4ef2414bcab2d195c68f3633b098f7af97dbe50e74ae732f0e8e3b5d977d77513434f84c99844400f055b15dfaa0a7291da7ab22ac365f65b2e6d4e0285e54e0ecad035ae325b72f4d3787934a0e7868222419a4c91d37ce5d9e7ceee1e569daac4fbedd77ed6787e92d85072e6b52b09273cf0f066a458d132028ffa646d6bdda2863ed6ddfb3065dc4038575353aab7697ae57e2c6fbfb93d5fd42afba6994c6cbb43941fcd169275a317a9639c07bba40f2f62b815aa57118176db1a2a785c08b512136c033773e31f19f54a19fd48c0e62da4b42307301260dcf6db7f1296f1371ef21e57c7debb80017733e4373c3e2d8bebd3645227fa7a359a0c0323434bf73424c00fa27d75a49adae493325f86 - -COUNT=36 -L = 2400 -KI = 302eea7400bfef9cb9c174cd7289a86decb700b09646810420a738aa777b8857 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2dcaa300cd1056ca4997e4d2662499cb479ac33a458e05297d9805d90c42fc4f7b5ef08733baa8df024e0af6633ddd55dff1e4 -KO = e383da78f9a81e5005876040fbf5b870ae6e91ece69d9a886256b8d6bebdb5b8ea9b9ccdf6a48a691a894069c636479c69763924ce3db8ce9ba70621a6397eb623551f90cc4f6cd74da83717891367846f9048519af6cfdacd2a6aaf969f3577a346855b36d3acd2a6e2480068733c23487d64b0b703cdfcdbd2d261eec4e187f65ed7528e2a98e8c45a0deaaac3232119c895b351741187d3896f04d6315312947d8c85f079a2f2e1db8449560382f8e48fb0ffda62ca003b871c37e6b5b6d06525cd5ab95aba6c31215c6c2ec4b438a4e9b90b7d023af1f31fa8ccd5255852a956b8e602a8a85f54d350450187008697094a867d0eb061d5bef8f8709ebeee4bab3e69dd8688d28ed0caa5d8c60e496e94aa1c4903b3dc753df5486947d5eaac0b8e57fe9f045ff76b8353 - -COUNT=37 -L = 2400 -KI = 22d6cbd599b64700c4f26427f1a2dd14cecd42248883124bab83c8c11cb29b00 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 62e7230359391922e12dc8f67cb0dba08626f95e191d25aa7aea1ad8a75c4ce2e73fe34ccc368aaba7b152a0aa1759d027d8df -KO = 29f17c1c725ea51f8ffb804611d2df5f37bafc306c8d2f601b853b71a9baaee9d03d1829255624c4a4efcc823f49a9c6e20821e78164393aba9531691b8d15c08ea7dc09fd41c74d41c0c3479a8d6856937d38d480d5912fff82ba596e598df1c879a48272e14015eec3672c195f42867b38a6c6e6c55f3972f9e9a7e2c657402f178a9b59317bf9ed5ab890216fea4d433a9d12f5fec361dd4eb805fb8ecc257a5896ee23e2596961699d87f034407ff7a309d57ca852a5ace067db01ce465f90c97359e6f857f6b81cc7f61f4bb1f903f450d6655b54b8357d6bb925b96c4a34dc9200d2a65878883e36ad4d0ee50ff201636851945262f7e5d849f57736bc20bac1cfba2cf19938c4b3d7158651a53e789622274d4f4c91d5ede5b51bcc4dffcfff503052180ccad8b217 - -COUNT=38 -L = 2400 -KI = d9820cb02128280d6b6e079c5d6602fefff9b29b54cc8a4db9ab933abf9e6f95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23092e0e38dbad6c5ca0fc73108128b19d01a5dee9ef4a28e3a7c694b284206d5427fdaafca09fc07e24b786f5a4a53136db8a -KO = e4f7b5c75ecc89e6f058e1d30e455b5e70d8946c9c7444bf8947b45bedace0177cc297875fdbfabe33955c423905b85be5beeec73c8cf9dacb897495fce08a71b159a51e98480b242747bf2ba4a7f3e3725aa086137d05b585bd0073d43ad8ff48117e79b095316d1684c447a564a3ac0077eaf4d69bd56df5a45cee02f102ba37aa75ed6abd77d57072f75083e843a0afc8d63784d77d313542208d016d7057111917855fdc4c5aab5dd227e05ed9bda09a3b32a30fc9fdb288f0bf22beb5d939f6576adef423706e9448a14f21a0020662593d6256dc3fe4cbfd02289309bce2421f0929373249f8c97e6800d00923bdd2bd06fe9e99e40a474d626bccc703fa7ff45d39827fcbfa6dafe9522ccf954a7ef8a359a2c0e17da095205f0de654aabcbfa6e978b8353b5b61a7 - -COUNT=39 -L = 2400 -KI = a1cbb1231a75c30812fe5428b960b0456e6789a64ba0cc4b8293ff82d2540d06 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9161006d058ab0e88d3b078e2138acb2ed438c859e839e87b56ff0546276570a11711e1209dfd9d55d0b7b7dd9d4796d62948a -KO = 35d4137a88939db6715780a78f6c9f8c426844987234f25e26e59365f1f385039d057c329702de617a05a1c195aed872779bd5e4901fd6f0e721cb9eabc05718e4ec26c0e29319255fa87a5b0f2d4887fd398a73d73c697376e3b7dae4c5fb5e1f9398ce591bbbb649242418db74c94962d8f13a4c33de12e3e8e370242b2ead6321d2e45e44d582f703091be98b112e90278cf578fae778bb6128868706d87bf2feb7a26d9458eb345493817a2364a9566b98ccec4f7bad93bfde89684b7237b980d38b7b017dccf6a1fe12135800e6db5fd65ad02ca9c20a3df6808fc58efd721a1b2f7f9701c99038b583a035144491adda075fbbaf92bfe32c6ed4dc19e9815fd7163d65857f1d44a68e2479b5591dbd35157ab7a05ebfa1b3a9ece5b48ef7bdb3af63d13024a29b1517 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 94d74ec6747861a3b06fbf8db8bcce620bdca7f1edaa5155d34b58eb29df55d9 -IVlen = 256 -IV = 694746501393b2fdd1220eb4e53a41961f760edb43a4216d6a2a7c0306ba162b -FixedInputDataByteLen = 51 -FixedInputData = e67c92a5816746464d8f12e32167664de4f183d6c5a867707103db44b697ff50434d21864c4fd1df7fe99629be0894eaa44ca6 -KO = 1475bf8c0b29c217207165c6618b99e59af773706e9afb11a1b46bbb7bc98b26bfaa24d39d168a6c5ae5e58d25e9817785ffdd1e419bcbc9ed043ef42223c4b6 - -COUNT=1 -L = 512 -KI = b866883b5dded33f24ff8ec9eeb5f513042516f83926aebfcfc9f6ed02237214 -IVlen = 256 -IV = 04d220e01bdac73ef473e386ba54973ad8d12a2c87f813444b8e6e154f589bda -FixedInputDataByteLen = 51 -FixedInputData = f9d800bcd6db908be53eeedc10ddc82de496c9d2802f3ca3c469ee943ad2566fe52d336dff44ceec6e999c26499647760869aa -KO = d558e04ee96410d3167ba5cedc51e68f7ae86e02c37d267019e53f0c5a5ddff324337044770d7e5e94b1dc3a7b705cfe4590433c8bfb5c0cb47f504b5cff4e0a - -COUNT=2 -L = 512 -KI = 7dddf768d57089eaeb7c6a9c85d644bba6beac3c5ac753e889195ed6c009d11e -IVlen = 256 -IV = dcf3e82ca758bb8b9b17268a91600626af58e7824a77eb2cd7a637df7ec8946e -FixedInputDataByteLen = 51 -FixedInputData = d113b7d4e6ecf9594084d791e0d32803b4882b0d8e4bf145b3dcf6d86ad439e1368df3e2ae4726c5a01df7568c1bd1031f34a5 -KO = 1cfc5dbd6b1983d5d2156006a9d926b2775967add93910f69507b43fae6844371129a181ab1c29fba9b471dadc1d5f3474bf4520ea04b6a3efde3b044d55e2c1 - -COUNT=3 -L = 512 -KI = 9676c884401f3ae9531d27cb50c3e1436158e4c6b3c29c6d35d4dcb00561f951 -IVlen = 256 -IV = 028a187e0644bab715f2440918780587e269cc148fabea0195dc8d5a76cc9107 -FixedInputDataByteLen = 51 -FixedInputData = 4eb5786374a8194b9f9b99ac33fc752c53a2d8d8a6ad5c5c110ed21cd09e3ba717bc0213fb9289f6b989b2934f9e8af60bb3e7 -KO = 816dcc8c3c747ddb8ca7796ee7f776fdb6d925ae8c0c711f0f3869df5c18d3fc260e3b34c07aa465b6c7f482139c0eaf58a5aa217ef90605e1c53d8d05bedec4 - -COUNT=4 -L = 512 -KI = 1b1a17ed3043b2ad6d252be1667d3a25218006b54413bb3b19e681e474a7bc74 -IVlen = 256 -IV = a1bb8a16fc6311c386978dc11e8431bc8340dd3330cfe5306e0bb7f0d06d8857 -FixedInputDataByteLen = 51 -FixedInputData = ebe1b13ef8ef055181764afa57e860ceae353e9ec9bac675d1bad583182f954417487d26adee193528fede8610c7cb0fa2c0ab -KO = 0e2c03bcfa756fdb4c053c36db84dc670a0d8d550c9b184c80f6fb0f35f08e535847e20b232daf09a6c38595449695ca24ca460ca9a9ae840cfee06f0ec36b30 - -COUNT=5 -L = 512 -KI = c895d8c7b64c346ce75dd55602895e95997136309959c754bbc294b65f71b465 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 541a3ca9d786283cc8fc6ea475d8d04204eeb76b7cd80e1b0ac676e9d39b5cc9f52ea8309f5ccac9a38d63ea2d598c564bde0a -KO = 17e16518944cffc2c4ae33ab0486d63d88f5e0098bc0f5851a68c6d25d54b4c775dbc446ea3a774a5ba21ee11ffcd9268affe87b2d0001fd7d8f8bf68bb7592a - -COUNT=6 -L = 512 -KI = 245d8cb33f7fb4b4e7331c3de8f7efbbd2f14a7f13987463bc2aaba52a87678d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f51c7799506be430972ae66786af926cbc399722d35d90273bb600d13095b9dc63e902eb4cc5cc42a979a03c02ed44d2d682e -KO = 41341213185028f212501f732da46c13086a7658b3c9b412158cb59b6df135be71694b0b53970b9653005f4396d41aaf510c93448163dcae71d2e3172f7d57f9 - -COUNT=7 -L = 512 -KI = 0a2936eda4c1370c6f5ac924a03fbe6ff242a9402e7b550dec47ec661ebab9f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 265f0ff40cce9044dfd95a7668ca4204644440975744012a6372bdcacdbe31237f690cbdee4406f4c6462ed34346e39ec1f029 -KO = 6954ef5c2a3f26b20d38e30d11d9c1f2b41ae3cf37b8305ff630f738026f9fd0d859e2dcb9fd3e4ebfbb33cd1c8bb57e97ad1b957ec38ae58c46ddb4287c84fe - -COUNT=8 -L = 512 -KI = a5ad594a9f935332236a016bb209037152b41d065be8136fa70a6d50441ed182 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 59d890a7662656410696d3bf6c586a0da08b0731564266984db6bdbac169e9e5736abe1b3966f27844aeafa345b9330879a7fb -KO = fcfe6db8b6f63e02e3f8b3c13c60a1e7b94b04bc1d1487aa73be89686ecd4f2b8757b85f74f51107e48a56f0f877369dd94adfd2aaf310b707b81bd1100d67a3 - -COUNT=9 -L = 512 -KI = 9162eab3facc9b4b9f2cf83487ea7c12319133a350bc708d041d67144ad24aab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef03ae290262187d82f0003403b5cb2829e516281a644f528a404e2118a091a3965847eace31be643c63ad126194e108f5f67e -KO = d4d1c3fe530442cf9c410a1a226ec5d55d65aac779125c9a14027e8efc2ed9e5a9275a091a841c13ed7dfcf5553223a2eec7a2288c479e39de6041927b3cc674 - -COUNT=10 -L = 2048 -KI = 637e036c1d544c2b1828f21abbe0c83863768714967cf24960dc0aba5b7e8ab1 -IVlen = 256 -IV = d305697151087feccc0377a8b45d336fd760c94f92b448d0ed7857e551fe8dfb -FixedInputDataByteLen = 51 -FixedInputData = fccd6905928611b09bb8e1f7e0a9799d039d482a8f6cd451c662c22734842313df9da04e385b03d30970ef184be2753735608c -KO = 15af62c749edd82461b166c443641a1a696b1574c1e7de91867bbcf10b8beffe2eab02ecf2ebbca44f7a9fc65f1d228da70e8f9fbbc06562eeee4b3a29144765b56112e4b367a0bd486d6243d9267cf920756ce8fc2bb3a45384cc051a4b5a79197ad4cef7907cffc715b622107ad42d07f74afa03eff2b4ebb05dc6799f61ffaca3951e922dbbdb9b7525ad5711edcce9433b16e1fc9331918967787fd3c04d3d26890d807cb7466fd68228b808f261daaa2fd26e183beec6a046ffe3bfd74b68e445b3104a0fde8798b2b52bddd83be12afa712ef62c60992f52ed0d6deb19ba1c8988aed6488c82aa29065d93e09ddad6abd576054eaf276714005a154108 - -COUNT=11 -L = 2048 -KI = c29fe795a8c85c0b5618a05ea1190653c134431ea87ebe374809699571aef5bf -IVlen = 256 -IV = 82e821bbd54663d872fc3acfd99aadace55d87edc2bfa432d2a49ad8caa8ad48 -FixedInputDataByteLen = 51 -FixedInputData = 6b79e65c58d4592b7cebce143ade1dcbaf1a72cd626bb1f337c260529ce50df9832fb4d0fb24cde7e45158af9c6ff5c4e4d27d -KO = 27f8051230a8ab006d6a4c2ad977c0a6c3e61e6b18b468ff189d55ecf2e63834dc843249f0f31d86dad53a57fb0e499c7bcb5d87f3c08e92f72f1b2a69ceb0dde1ebafec29aec536da99c0469d3c0c7ec6994ca3993e994e349045132f42021a65bf086ec0f9b9ef05f08cc1cdb68e8ad950153b8a59b32fe873ff6b692f6a595e89b2b4e925b946e654530d05a5ac59cc1086d82213fa0fd5baaa82105b67e98e04d97f88c2f1d63214127fd0c6a668aabfe5a852a63c4dbed57275946c9b5defa6b0ad7fde011b1395c3d9f37bbf7c18d2681c992680e37dae72d1990ea37c9f302cd1c1eaabb9be73276f125c12f77096c7775e73bd5797315cf41309698a - -COUNT=12 -L = 2048 -KI = aac733398fededaed23474bc2baf716b0fe8fdb4923444b0f9534c577ffca252 -IVlen = 256 -IV = 3a75b5874dc191c7ecb5fe5f8834f029af595af05ad55d93805185d1d9da4d06 -FixedInputDataByteLen = 51 -FixedInputData = ad4a32d4546ee468aaf0cb94b2f4209b60389733ae89334e3f3fd14df4251007899d32659289221efbe42370bf84af3e6e88c3 -KO = 0cf2833cdf44e15bfc1d60380e62d873500afb2800970bd6e0fa1b31e17541ec15ba10aadb7158a63ece627c758c8bf5cd157a50a7fbaea022be0a5a51474ef6c0f81589afc1f30b9b384bb4b111c995d16884a99bb7f83a5242fc486db39809d9fd8b7bfd97fa1c4219f81121c812aaa0fb927f47521cafdb9a15e6203317d7cbc708c0e2bd1b10c271dfe978b36763f45509ebb9e2eb01fb9d420ec9d658db9ce5a5ae2ebf627d21f52fe9413b1f9ba5d865f56cc9f6c6d23812a096bae7d65613cdfec9e47a973c23d5ded32389c76e435107072be864c32aa765dad13d9a190ea31d15c4f49d6fda82499e8d0fa5972d350f0b08d8b6a768a046210ef36d - -COUNT=13 -L = 2048 -KI = c1eee9d770450c93adf64fcb345f1540151e30b36c92f31ae52727e90f9ad075 -IVlen = 256 -IV = cf68320ebb7fbc5cfb0ae7ff011c52641e7810dd7c714286f4faeee0da634eac -FixedInputDataByteLen = 51 -FixedInputData = cab438b6131f9a2261614462dd32a09496ebba3c6939dc6787f3957381ba9ef0a334f13b652348a6abe01c05a81ac3f570fef4 -KO = 2d54bb1882deae887e4dc092b65ff69e8586c75469dfea045bcaf47baca71b2060d1e060d687ac9540a606d829e6d38fe030ee09c79cdf0a6d98e85b9585a88c370abb8f666bd30b93f699b57a98b7ccf3dd615018419557dd36db70b0f3b1bf1530295151481c6f1045ea1db942b3df80240bff8257af5d6d43d76322b645230505b28e346e57f5a437b091e8e2aafef07575f22f0f5b4a7e7d6dd4b90bc2a4270f35351b2d4da247be32b3b03be207921d8e43576a1de2a1d593f21f7bd74cf919051c4aa8e64d4d225845a811e64caab62332bb6f11fcf6ae6cebd97340e65039ebede8eb22089de851be99122901f803a62829b6e56a29ec7658cceb5e50 - -COUNT=14 -L = 2048 -KI = f4e0cfe8d8b4616e8767c21b55ec2a3b8981640d6d4929acdd7c0c9aa7e55c79 -IVlen = 256 -IV = 207247866eea9276f1e96fded5afe9ac9515fd3776e9062d4863774b69aa301d -FixedInputDataByteLen = 51 -FixedInputData = 5d4e719366e494a9e5eadec16ab526d8a853fb97c4acfaee5dfd8e9e30173cbde4cc5ef6db8b75b480bfea7b681f89cdd4724f -KO = 588642e771675c576ad9c880bc005768926295a5c37251cf1a2f6607e2789c6e35925be09f242a8427248de1d88b577e13ea4f3b1cdaab2db44d81d4de63c55934dc387f3537450f7857d8eee7a5ffdf75c407a1b271b0c71d1c6a3ab44814aaef605ac5113cc500fca69e7c632d9a997bb974915b8f5bf108ba948652112a896faf45a1767dd65fae3d744b6c618c6e703ff57a7cdf5c2b2cbe1fbc61eb4ba4b629b463ffe6c7777128907331869fbfc4e25c11fc5c5d76c6eb66eb3cc863ba3bb4c131f96f9f47a53d6c8d497e035201b318bbd18784d887626df39061e396da5d90b19382ec9b734c6d9c884901de502d5c7516998aedca10c397bbeb259f - -COUNT=15 -L = 2048 -KI = 15f2d605212e24007826bca1411ce7de6a1b102424a7b4ba552903d04dfce11f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a61d20352827f7a924c94d60347e64d3f17436dc69c0d6b696596ad92011acf52c0d9793b4ab42bfb599177185932da54df4a2 -KO = 4e8bf5edf2520c7e3c94b87213b0696709fae03dd6ad7e1684d43290d1fd46eaeda89bdc9d84993ad0413bde26f0162cae1e5374e5bb24eb594f5f8f826c38b94976876b85363f8d127c29ffa860dc055a74984c921698a87856887e93103cf4c1a74d7e3ae7ef890d11ab59f6be359e5c9160be8a35b8c5deb39aaee38e20dbe1679456b46bdbe4330b526edbab73903dfb8620a31fc991c052c763b233c4c4a912e299974f5a34b8f15ce346dacfb3fe549e7a0655d8abf4feaa707f99d2d4a46b0f539c4dcbdda5477411cd018a5b8968a946125c8dcb9397b33526da12017c285fdce6ada8fb1abaf2b8f7d364cbddf0e7e042d49f88e4da9ca3ae85c1fb - -COUNT=16 -L = 2048 -KI = a34f19ecd13b12a739e4863abb7bb7991c3eb8295522d6b2c5022270c25a4c3b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d2f872d49dfc91bda8de8a87725ec4d3b470f0e272f010f58ddbe7d3f127f6bd5aa231b172ed894d620ebe6fa7c18966ae56fc -KO = 1d35a63194a88fac877eb8baf02f5ea475e2c330d38a4a54845f1fb1760314c7bff5ac9283bf1bd89e4bb905ef1e700d99ad8a8742a88cfe053785c6a2b7f8c890602b4f13511577beb19bcbaa586086174712ba4b5ff0c8b08b30e4da5fbd3a75450360541f15839b0842caf7ffba5dfaf7845a5468c776063be3a0d70bf3c0d9353fa6844bbaedc0e1f0e6f6f224036c1606c7166b6741ca2f3ad9d34afbcf79813ece843206f7d6f56f25a6bebb568358812048a9313fd3b6f11e11a699db4f3e4213f8494f2fbf3df78934a8aa73d676f05b0195295dff494a57f8c46fcdb1a01eb80b83804c50816d40c14e792f91fc29345708e7ce907cf24fde717f0b - -COUNT=17 -L = 2048 -KI = 465249c470f1a97892fc2d7ad0028ad29a9cb4e4021f6e8c4265dd280ed3a5c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8deeb151d3a14e2df5d6635a913639d0000ba36c9524dd84a4609d965645222f0399aca1b8d71a3005e29cd5fc36b10dff73b -KO = bcd472551871bccfb98dd34aad075554d3405fd504c7665522f9a7441e12807bac7826776b50df6342d841f5eeb2d94b7936187274adfb3854b28a20aa4c44e8ba71bc6982a06b01e088725832270b0765ee317946f884b301956e2dedab965bc2c588115aab8b40e1de4be961bd89fbd7b7aed208d050273570173520efb3b4da508b42e27abfee3ec92206c5ebc54ecce00a4410f43eabb15fa002ed27bb8f51f72a79ab516c5f11ee8d899b92acf598bc71600364f2f255cd8f287e9505828ee602febbbfe3a7ce0c2e6785a4c271ceaa398a709bac35bbc21053a6b333a3d914532bb06be652e9e5317e24c9d7f5c00484431cd60fbccca5d6606c6ed138 - -COUNT=18 -L = 2048 -KI = 826929545143f2398d3043ac24559e47a5b71047f030ec065b1a4a0a10db2c95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5506b9cc67714cea78c3ce3ee27541d42dd0d7b9e2b20cc01bcc87ab8562b359da31d1706c0be6c1b9c68dc0d50ac97b3b2ac8 -KO = 0e117fa8ea740c022d4a427f54ba6a378ff509f8461396139684d03d924bfbbe3f1eb18fef8481cfab1ae11fa6128e9a698d5f66d04289c1c17c2a919601babbd55deb4b417129dfb7335d4d6ffae76c7505d9b69366d428b58c3ea60f991197831ccfa349747a9e7a944ec6468a5ea139e433299c873ee773883bbe1c116d685cbd9cd29eafa8fcdbd9c06340bc44373e27cf2d6464aff8a6b6922475a1a96612a19b5e3ef180f2f8c695c6ed0faca1a5a5633242bb6d39bd0336c8484c7fb039a9aeae1374693f54045470c6b172274443596cded88251f0f266977bb8359a099c63a92420b99faf15c96591f432ff820b60ce8105738d4fff39723e23d2a9 - -COUNT=19 -L = 2048 -KI = 10956b4f3f05259998bb00a0296b09821200efb719e99ca7753c6967ab58844f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 804ae9c63abee8eb30785375e7af90a27b58b18c6b0d1ed97fd6b823c12d075e8ed4e31c35a38bbec0bc646d799b90fe0a3476 -KO = ee919014aa0ca8b3aea1e11b2c01e781b0d5bb23bc9b0a437c17256c116322b8fc3e013e15d0a9ab1f8b3f5f652a482051791192ef4764e6219b833315fb59f9df35956ed600d34144abf3967d5e8a8134e8ebaacfdece20b3ff9fa083213b15b55dd3d894edb031b4f64f64fca903b339fb3485e007dac2573b58656565fe03be81044b919ac5ed6cc7b416ce4b8b4bb185c164488846946c8f2fe1c87f72cc443ea3b18fef01466bf08cc67d1b676af2c7d7a587d2fac42066ec6b45ce2700b9d7d9b4f8425f5043e02947a82ece29ae1e1699ff66937b9832b2a8031acca2a7abe63f5251535f7ced3ea7d8f74a1de4d8ba724129f5e51ea0b62c90681030 - -COUNT=20 -L = 560 -KI = 8be09e2afc2ed94094fb81c33388efd2fe033c91c1f10422273fbe86276efdcb -IVlen = 256 -IV = 95417f80a30a245c7ef4aa3ce34f4c3282fc4d3f2ab83a78a8aff81f4746f8f9 -FixedInputDataByteLen = 51 -FixedInputData = e3ecbf3aee81f028458940ab09c17e3ad6e08f4e8ba98b546dbc7bbd48bd41b3a022e1ddf0ed0493f7ccf5f6a7397685c06e93 -KO = 51e833ce160ff68c89f3acff8c9b1cfca58fb53608b0eda4389139ec30595499bdf6b7d783a16504c8b27e89eff34e966a9857f22e94f4bd6a787409fed9bfd64f742b6c1a6d - -COUNT=21 -L = 560 -KI = c593540965df90dda9244a3565830957e747135b84d34d08f3a4906ccc2c98e5 -IVlen = 256 -IV = 88d3029a0ad8e09ee715c018e9f23f4b5031ca305c46f602f937af91e245ebc4 -FixedInputDataByteLen = 51 -FixedInputData = f2cf81b7f38e2b0001795bd6fd3e7c4c5b6be22f2045a9774ade6e8698a01b030b040c45029b5eeddad8c69997bf6776a23109 -KO = 1ecea6cbe6e9218a46d5c1d14581a906fb93a400083bf5c8382209069d19a234890d8d0c97dc05f8ec9ade36858ab218103ab4d9da598c6a73d27751f4ab72be951c4fc49824 - -COUNT=22 -L = 560 -KI = 1a0c089f60f785257b484cfc6ccb0b97f614f06304329267ec53cb4ab930adc9 -IVlen = 256 -IV = 91714fcb20ee3d0cffd95121c28c84ce222ba383f485812e97a9443dc6f8c171 -FixedInputDataByteLen = 51 -FixedInputData = 56a12f33ac72f838139a0a54428b9d158ef78dd0ec17f9b5237c77de4d8f3b153c57752c4ba79b089151d95f3e459b141b062b -KO = 3e343410eebab5c5009b01ff6429b41620a599f4049329fae991520b78f7336dcef16396e1fbd51f5e04c4df515db8268a4c6ddc090f38c3aefaf91e7aa4db9c7248f4db3a59 - -COUNT=23 -L = 560 -KI = 372b68a5a3a89bce6a1abb2035dad8b217cbd6bc50c6f536596f4820c63bd244 -IVlen = 256 -IV = c22699f8f6715469898189ba29a12acced613ed24121bb2cdc6097f7a471073f -FixedInputDataByteLen = 51 -FixedInputData = 480f14aab80c9bcbe84af37accd2f34dc384864050aae8a5d58fb773d76b581f65e56642e966e5f9abeb2186b833f4175a3eec -KO = 8265dfb06cfbc6b636e85576cd298136d399a220a9fe41becb16dc50d58777c079b56e01c868f3d34422d47dea54d6d5d016ec359347f0b3eb36944cf36f649a4aa2956a0dab - -COUNT=24 -L = 560 -KI = db9fe40fe7b3181d3ca13ab1f0008501d7076e2bc3fbbaba3b68f77730ce3eca -IVlen = 256 -IV = 0f1d713e49e3d33dc96681c8625ee2bafbffdb8ee9d1b07734054734c76d4578 -FixedInputDataByteLen = 51 -FixedInputData = eb39210111b4203de17e29ca3233a9f378876f76c52c5fc18437670e96d643eb9cbc3277c74eb0d88898b5a1d9930b58913761 -KO = 01e6130d098ed7993f28d844f6c994f4e76b2c37e6f10756df04542ae4ffbfd097acd350c25061f8c147059df0b872d2ecbc39bbbadeccc7536aafa2f5ce8305327e10e67bb0 - -COUNT=25 -L = 560 -KI = e3dd9ec3bc30026325040b4d6a820234319bbacf204c9b3c95aef17216513395 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 06b76346a153c26e1c493ef94d72095cfa23e08042407368d72ae760f2f1f2125121f0b3ec105fe75818e247da135e42305dfb -KO = dafc087eea03a7865ad67cf9c441125c55de25d818de44279a49e77b370179c1e0a56bf8e905dfc3bb6f8d187106e1a793e77d198d041f4ce6a5072b8610b2c9b5bdf0c0ca07 - -COUNT=26 -L = 560 -KI = e5bd2e3f1724fb32fc435157c8a55873648ad5ac63cf2ff0b6be7acdc9bb20e9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa3cd7ea853c1411329e4907855a32284526736a96918e97aa17eae387c0ac45e20e7468e403225e05dad992f31a35f64fe338 -KO = 25d97dcd65af1e3765cdec625b9aba23c9014ed28fb02cfd56d1f208fb0311b92e2c1a283838b93ab65bcbdfb57ea2c30984795c8f693c73e168e8d78f17b864f9d33b486d58 - -COUNT=27 -L = 560 -KI = 93db24f5404cf857836d8b041ab756574db6554287caac8563690818c2b93c08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6332fabcb7abe149199211cf7e2c76b156aa79f7992a6e9bfdc786267eb79a2d912a8f361b4ef3f7d80518c085e6ad4a99523c -KO = 53ea807c1a2f668f6353b4390c08189e680abba90e45d8dda9da62368a38ebf02b3fe8a68f4f2f84342325d1009bdc2603002af4d07093ce8fea842d2f4484187dd8a9911d0a - -COUNT=28 -L = 560 -KI = ae03b5c27f022602f00fc8787f534baac858bd93a470b8aa06091a0a679f2142 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 44a0dfd17af622d01bbdd17421f7effb9ae047484d734f5a4429536632f88b76fa40923919d899dc8c4dba309bf1b364480c97 -KO = cd08535f0fa2dc48e91179fb32d76efcfd52abc79a2e6c2b6a317be29cb00c440a325c661082dd8034d33b1742cc9137122c819b3ff803b72ae18d9ef8a6a3c650f79f89a52d - -COUNT=29 -L = 560 -KI = 39b5e34cd1910c241b5a7f5944f652c61268724b1f511cf4056a00cbaab90127 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f970860de987fb1e072189b565648a60799f0d29c35fa4e025918404eb36b76910772c5eea2e623156af4ba6a89733c1abae40 -KO = 5f724f899e6d708b5fe85f08b6c4453101d7ac6fe339f5d02971b57177d7a2f76fa44e62525cc19ba952a833a65b91d19f1ede29254200edd0a39e4ca607430404e743254676 - -COUNT=30 -L = 2400 -KI = ff2c6e54c474fb0d0a75fcd377c56947d011c0bfc33d2aecdb568e05cfc64dff -IVlen = 256 -IV = 0228a3db2f3cfd1ccde0b7485aa29443b2098f0c97e0da7184e0e489183480eb -FixedInputDataByteLen = 51 -FixedInputData = 83152d5502a5e9699eaa7900695214c727453c6660b9e47cfa59c3a840c53970701965912117e1f3ed532bf734231277aad5ab -KO = a32a20f043d0f125d338d97b0068a02990d8aead782cdf0f576ae46a1cd43a6ae4da733e8393948c6a4b8f86c55c7a8ad044505135daa97c5a76e74c29a635b476f6803db955b1ed78a311bbaad606b80bcc076cb449d53d5631f5e52fd4c3d1968120f72bd25bfead3b59e60c30bd92d03f9d1f216aa8e9a356324e6d2410527fe9fe33ce59d85dcf33c2730b1e0657c147c6bd60a0abf2830b68101bb86df0dc43834b33377c6309d9c240fb1271713929356676fbecd9973c19dc4be9d654f15d477ba5bce80be718a15aea6a3428f2b773b97f83631deeed5ac52f5034256b546a0fe9e3cfb766cc0306e71326c39f2d150a0dc959bdbc0e8668fcb79d34e61fecdf34e6e488d79214a67f6085dd9c085f5c7bf748d219eb68c67c2bed7b8e14c82abbf1627ccfe73b8f - -COUNT=31 -L = 2400 -KI = 39b6baf4586ae98d0a1c787ed53277ac1ea14490fb77072b3229e51cdaaae9ac -IVlen = 256 -IV = 0ba994c94aae49557c3786f6356f3f5740b73f60f78da21b8338609109c0e6bf -FixedInputDataByteLen = 51 -FixedInputData = 7e110131398cb7707c3a298b2f5b36875002f97b3697db0eaae2a45f23d4809fb677123a2d790d881769f554b1fb3c4e50bcff -KO = 3ed58cc433586f2d34dccb39bf968714ba12cb47b052f20051379cbc51647ad71ff627b9ddff1f94c983d1511dfaf9860c9e197a18efba13c679cc01ed42f75694ad4e27dd257ae19ead6b01c5c21fbeaa046e3479e1d645955fa01d8b8532479169424c5f909fcd803336a32b706838ca660bf1845a2bc08acc08c64b426ecf1a9463ecd1328f8b89531d8f89af5059372bb1e67213b80e009a972690a2215ef61f03f5dbba30ef52e043770f44e41099287aef86d6a2863697d3496fa05452a541a57adb947da1bac49b7fe0cf1dbf8c3a680d17fede647714112cd04f846de0cbc19e30fc8ee672b12cf4dfd36f04453c4246c6666f34cc5fccebbd27c37ea747f80fea0f110c40e82dae0cc40e46f0d778cc90a169bb2f5ab8e4aa42d988b8ea96add5c51f6a77019347 - -COUNT=32 -L = 2400 -KI = 5e5e11bccdc0067e43d1c927675b04d9853fdd037b9164e123a189a934c15ffc -IVlen = 256 -IV = afc51d8fabdbba59932cc66835d1c32984d9977dae091c0f66fc4b7d35e32bc1 -FixedInputDataByteLen = 51 -FixedInputData = 45297b9c2cad1c1a859c010b5c37f6bc45c44d021c6a23d792e21fcaa6c6ac9216e132df041d7055191ee69f2ab6e91a426dca -KO = 7655237f7fe0a507bb060827c5ae26288fb8585d4f357f560a9530ff63c8993c856fbd36a7f3e87fa80e91cee0be22b5c043436ea287a050ea52965231f742c2d4435e8fdb154cc658ccd934b47bcde9c19e04151034eab0c10cfcfd4cf867161dedf42bd5ec1620d834eb9849bc97b23a7154a25ef60596d1b42fb905d8c113096882de64a1a42d137d32918113e2db2f970500637881eedc36b1389f3cc2099c3100aa134a87351c31743da3a571d1277f5d78426120a6fbb93e37714daaf215038ea8e1eada82cc20d8d589a9cb1ea274773c772719277762015f10a436126c45818479ae7ac2b06740bb81bb9b4fce5bde55ea930d5d22293671e17e12f27c261a3088b461742f544d99ebee4c90b790ea7caf3fccd80630c2825c4625071c22bb6b1c55910a958d03a3 - -COUNT=33 -L = 2400 -KI = f40e2cfb6d69e185c4b74f78a45554f3fb26236aebe35e4594701a8b6f618465 -IVlen = 256 -IV = c280b3897d28b38afb58955aa3a9fc93edb724737bba7477f57d7fd399d01c84 -FixedInputDataByteLen = 51 -FixedInputData = 662463a40671d580a6938d4ae0d4eec4e7e51138b3495a426c3c216f0a53b03bd4b648e5ddb8a29c5b4dcc2f071c66e17aaa8b -KO = fb83aa8740dfacb15f46edf5ef72baf13de56d4910ef0c56e4a0aa842720ccd03ef9a7ed18199dbe5bf8e204ddfae93147e1f16335d1fab627d40c3f8bb957e55e5777563eb2159ba0fe7966bcbdbd02709f2c3c3212fa6d0f041987afc17c57abd6cb743b9529ad08b8fc718702c584c7dc5c79cb00cb12bb18d6f88e56ba6eeb45c2e62e59d9f82c806632a3e103067823ae091b7a42bc686995dd656dbb0df371318b31edb99c67394eea23e8f9df05a99458bde656f9734b5b6df444c5ac85cf9a0dc7871b502a09252eb72e89057167a36b82905509e3a9370481d1b86f8cc7f65f3b83295a9a1a4b2dfe6aa4cc84faa6ae001634c04298261978f5157c94e3f3c15e29d32ecca50f1395b19c5ffc82af3cf197cb8542bf1d01f542aab464d785c17ce1be84ba2ba169 - -COUNT=34 -L = 2400 -KI = 2bab3267308be13308584aa02419a7604581a68a3056c9143c4e17b2e70df99c -IVlen = 256 -IV = d973c71f5bd4aab94fbb5bb0e955712b9485c46002b937685bea7257e61660cb -FixedInputDataByteLen = 51 -FixedInputData = c140de16eed984e6b24a2f3ea5df9f6c6565b7f15bbd41c5b55e9e3b65844dc6f824fbb128de0e188011ed57b43b45e0becad2 -KO = b6df60917498b1b6061ffcbac5d91d6211ef4b8385ba68ce1ea6694635a5e44f090aa9e2e3843a7b6959b46ef78165721565bc5f64e360bd8ec948a5fc3ab40f040b5aeb0e7a141107fd0847b034498cd5fca29083c675774802cf645142afc9f95e9e6f1023d350ccd3772218d30f0ed91a0b6b3ee06e12d7fcd6798224424815e3719480e382a18cb795b332e33280694a6a29623ed409b9e01efeb9686b7e69c67b86f20f3d37f5d07d8088029440c283faa63ed4098403360def22c2c647f7b28fefa1bd0db9e17022ebda4439280ecc46a42f6accbe90084e4ff8d462fd0bede8abb979d1f354276f4ae69ff6090ad5ad02f36dd899aac7c1cb1f053ab11f4f7a5eea2cb1fffa82317aec6a483657730ea8cca3d58fe608531e3419be4f142909be982cca4d5ca7da87 - -COUNT=35 -L = 2400 -KI = fedb4d6cb6cf55d3acff9fac60ab3bfac05796c9c25719e6f88dabda7f1d6b38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0b6f5301b287741efe1066a566d422cedf692fc4c92c51e24dc8c8f820dc29580b1e336ba2d59881c6607e6d23e11dee216427 -KO = 0a2f6ed1cc1b1056e1e3a773a7ce502a439fb688bd2b91983f637ef0919e1cf6b4515851c80af4e725a2ccc9c69f720588d7d14316c2bfa9ea61e10276e9586e8e8bdbfb2c536e84c3a74cc16a96ba80fe562802b1e46cc67081c1448dfc49dd886a7757cd760a59a12db9a3642d67d9d4810b1357660bcf7b8eb2759e49005cc43d85f13c0184109316214cbd5263f06360fca83b41ec36df706151a6921b3f7e6690949f7321be61982868f225d17d764d046818508eda8d8f74ad8f002f6fceb11c1aed6351b0e1ad24273f4aa8cd1ab66d76de1598017999d6cc09e868ba0a05db9e2fbbc6557c8cba71872a51c158f51aac9e83646c0dd677d2f0cead320fe49acc59b935916aaf0000c5bf905b7fd0217da8220ecc32a16091418fd077965f18d3a23d2eaf5613ec5e - -COUNT=36 -L = 2400 -KI = e48616f3fc79bb05d4d674b14d82f084ce2c73d09b4b8797b3c1b7297b1e7638 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2a912713d95d1dd300b11d5375a7ecdc49168467afa168b7e7865f7e6b0b3e4e5721ccbf636d7a1ef2003c5b597f8209c038c4 -KO = fb499d325a4bd8065fe9d02c065f34c48d5146c521e5a51b15fc87cd3e537895e519309d3df1ac7a10c511eeb112755afb6adbe95a8fdc866cdaa46cc24c81d5868c3da6fa648fde545cbcbe2a3c53b947cae6b920eb5722f1ae6a5ee9f10d21cfe1e2e40c97dfa89a44ad5f8c7ca857118d7bc810f1ab878b59bfc852917bb3be4817323cb5bbdd068d9f69a3fd5d64b7cafc83f08e00b043224613b45b6304e9b5ac97825c8326caeabf916b7802bc24b814ec5ce5b9eca7059364153ea06bbbb56cfdbc5921df1639cacc7efdbce4f8739c5450be9838ef881cb7aa190c37cebf8ee28dcb32fbc82d301f52fc92bef6b697420b6886e83956cbd95c4e6cf3ed369bbe99ba2278a70b8c539efc1792a10becbaf21823757563762b588bcbf9fd6499649d1bbf2da8807560 - -COUNT=37 -L = 2400 -KI = b57f6e1fe31934c31b13616011f2fc1892f28f886f016879abe63aa8f1007e2c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 007f83409c7b702b72cf682f0a0dc9bdbfa6a19f36e0e059ec394b090d25292eb03a16160328d3f83f1e3925a4dfa031b2358f -KO = d71830e1ee91630c7912a14d871b5e73c857579942a7cadabf9e7705b38fb1a01b3e60608e6cf2c8de539407b5a76f051ab8c69c36ce7f2898a15ee004338621912469ea52a4be0fb7e479a9bfe540c9ce7248100cf3c34ffbea439ce4c1db137bedda79c3ea61d271295c5cd8e3258d31affead1b98a3ba50e46c86b3cb4290b0f495cd19e43e264f26afb64adeb8ee63feb39fd418e7c96d1d1ce8a0b7335658c63dc338b132aceac955d6c80522769917d06ade3dd5e4127ad444f834a73215743894df4897072913556ed8d06720ff39ba3667e7c2c69369fc4e3102f02862469d1c900e1fd54e8f8ed45f65fc2c10aa534452a955eb750a0167bd2d4a62d6579dac3ee4ed105b45ccdd1730125fa3a1d35041a145839da149b7f67d921d09d4aa417c565cf46625b1a5 - -COUNT=38 -L = 2400 -KI = b949f44a2cae2adb450f98edc022884c93f3c69b047beadd11abbec7af31873c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4c931f21c4f93a8805ab308cf5b8997b56cf60b6d1a5dcc8d3da65b967542dab5e54af76965ce4d91e3b1945aa2e0906afdd58 -KO = a8c5c5718cc431f663320a99765aceb26a314cabac1acaaf10cb99788b7e5b484f882d2a7d27741485a41012467135bafe2616e7ada30f6a2678fa1e32182a52d3c004cc4b3ae22859579fb239eb85d71593d655c8859760bd458a2ef036e139eb5192d2cb4e7eae8698dc526223f4132efd31caf9fc8360d74c16f320ca56a937254ffb5fa6d7b1933157d65f5ef2716b2bb4b8d34a2c1bc36471ecf1d64ab336cf9b686318e9436b01615c5e0f33e32867ffcaf53401d1572a4d157352fa39910ac9c88e3bb9bdef5ceaed2965809aa01310e5c2b5ceac66f50da86afece659207eb73b567e2ff2cb50f9e6a8dca97a15355e7fafc1714c46d54d3880c24f746792eed3609d38bbac931f45163aff89b175eda7fc807b1ff3615179a0f3488e80b6c4a3856cbd12defaeb7 - -COUNT=39 -L = 2400 -KI = ef17b19fa5d8bd2e077abc2c2693e54fc0a533302e4433d49df1aed5630aba2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 439972517a79dec68aa693f925895e11ab87573b36f925cc858e0167c21f13648c087dbd9aa8655054eed80dffdcdd8d728730 -KO = e17e01cf1e6ac9c84a95ba841bdeba5f28cc8a48f38e79ccc77e4c14306d9ed9f4dd0427c0aba390ec19aa1ab4bf88e31ba8b7b0d99ff13469c14d98ebd6b0ee12c18ad411e8d83b71b2edaa88e5853913bfcde7a66091a36484c3a86b68c4971e74ad38a019786d5b17bb69e9c05aa593a9bf4e38bb12db2b2de634b3883cacc9be32e84353e3a764a2f4e2d9f5125b340595d9360278fb7a7e231d28167af3af6cee27f5c213294d0c740ac2362b3adcfdba6eac0567a278fea6dd4fb52d80e505654483c69f9264a47f83e966088ac9cd64be63366798bf97f120254c25634737a1b7c003960bd42eac92e49d20360354d2353a5c94e83555e8c9add6474f685bfe200b451b9915f0e6ad9b2e1ee809e53b9a75580e4915c5bb982c4117bcd91e4e1690399e143328e49f - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 34246365ce31a2984bdb7e9063c81b60a898a0c5ce97b0597a85fadea37c4de8 -IVlen = 256 -IV = 581514ef69dbb8af6bae41b843bd0efd00fce694a80e264341a3feac5e86f736 -FixedInputDataByteLen = 51 -FixedInputData = f533c4f89e0fbd67b54b3059712aefa399d365c0043eff606f64883530bd18b2199315d58d4fc2b99ebc5f9055938fc5039dfd -KO = 30123d6b0227e0f594477c102e963975ea586e85bd54acb614a2544ff2e83bd3066b20880768282346ff0a7c0f8ce9f6e433f032ff0c6fa9a9e920adf81c9d17 - -COUNT=1 -L = 512 -KI = 32a19d45bea677de9a93f9277dd2cdc367b6ad8829afe270b8ad9f0373abf2e3 -IVlen = 256 -IV = cdf4291328616fa9238d5f21b25351f9c7948cf88872a52b62678b29e0eb25a9 -FixedInputDataByteLen = 51 -FixedInputData = 2e25efeca88e68d5f294a62f96ee88b66b575105d8646a186b997d2220128e8695450c3bb14f2b46e50d546b1d47abdb1af7c9 -KO = d13e8dbfd172d16958d6cb209d117c9b164767cb2f8d3f0a5319b9fafd45a20d8a78cd56d321830fa5230264e069ecb2b6eeb5146e00406b748d3b71f0d8b73c - -COUNT=2 -L = 512 -KI = 04c1a92aa211d00424470f274b3ad71ca471f6a26935b207626b2308d9931700 -IVlen = 256 -IV = adbe1142c53037d3ce453f988cd63abefe42c3ba39deb09114990e39bb6e6725 -FixedInputDataByteLen = 51 -FixedInputData = 096f89510de4b32a20e1f751e0db6df37c8e8cb03f32911e26d8fed4b6b5fdb0ddd2038f472452eb612db26ca30ced7e0e519f -KO = 11198cea3a821ed0d3b53cf1ad406398a321bd85ec60dfc9f45ec0d8ff3bb821aef30cab4adc83682a039e164b040eacc8eb1f5fce9ce95201a29121bd6f2cf0 - -COUNT=3 -L = 512 -KI = 2bd19c8f7e3ae7d4e0dc8dfe8ee67f91e7db52657c2b3b6a2ba3723710b4f856 -IVlen = 256 -IV = 5e14e4cd4c6eec70ac752fe2a0178e0251cd790d6c632a8fa2c8d83594f71558 -FixedInputDataByteLen = 51 -FixedInputData = 1940a9438342dd69c94de43a1ce1e5e32b66372eead8df0a1e15331ac688627e9d2272d357e665d6b35c9b5654b6b9bcbce166 -KO = b540c81e5aabf2e7c16ac6f30e6c2d4e09e63577f71e195fc7fbc393701d81328a02866417f551906a89f9a112e3ebde634a80fedb38f49fa65d728737832eb7 - -COUNT=4 -L = 512 -KI = 3b891aafe6b1524e010dea962cb49555b3ef893a740d823c5219e5840725101b -IVlen = 256 -IV = ee8a2d2c1a4c1de2b55c13d78e8595b182ca66dffb53bcace48760684b2e24c8 -FixedInputDataByteLen = 51 -FixedInputData = 99233f596d161541818c34873827e52e03bb289b480264be0e9ec3b9198a3f6f61f542b60be53801c5c672ec099adf65ce91b7 -KO = 4bceaa1d1e22405870ef86157f9c44bab60c600334b424cf68c4f5762ad79ab56b0f500e6224ab33e366b7c014c34ebd8705a4bdeec2c5b9ae8f4ebde1631e45 - -COUNT=5 -L = 512 -KI = 4ea8f74b552e01a715e6c92fb183d9be725262fc7f5d09c1d8af75979d672403 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29898c167d661d96e7a938a31a6f2dea527375507aebecc3f2ba64dbb66c23c588466d986e01314af5fd4c856209299c10696d -KO = 56f4a3f07785decc22ea886c38991a196cf568e8b5c4b283decefba9affa0a67bcc54795a2fed5cdefdbafcbf523b81fedb76f1ef57c2c5d3e78a88315d0ce22 - -COUNT=6 -L = 512 -KI = cd740647b1ebf6930ae6c4c10782a1ca71c49de03fbf0d3df9f2fc159f3bf489 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa21509fb99b6d1b0c90b41c3449c89e035b80be1152d01962655d04952cce3166de244fb05dfe356f0a0e8ab76e7c2bab5e56 -KO = c03ce395b76706c3e129f5eb5559b641a20e08fb7c816ac904db887afa6637472a46629207845ca833467aeb051d75f06e9060b36759bae9f841bb10d3dec9c2 - -COUNT=7 -L = 512 -KI = 86e7b36523d95d17fb6d79fa85e24e247c3ec7707711c8782b53ec20d2b228c8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cdc460e2af09281aaf783088c28dec79c9e0ebe1b1e691e9b5f2cc3e1cf0dd8f1ec434835a74d4c34dda5d51a422062b7c664a -KO = 9d35b0bd064de8914212d57e761375ca6875f15419310185fd1a598de40bf801702a6a1ea1a3441451547a1fa5694219e3fd07a501eab47a22fd9737e03d01af - -COUNT=8 -L = 512 -KI = 60ae8537c775651e6b7501c0c07611ec9f6abee2a2c6e4837274bfe1f1c87965 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1bdb0d6f02b26f9bcbe99c72cb54efbf404a41b72394cd63df42fd234814962c0e09e384b013733d3c94dbfb55880948cb12d2 -KO = 16dd9c5bded2bf4d35f4471577f253093c8f5579bacbc26db11560290d764ec751053fd115c84220827253c526524dcbd5788ef007173e2af7ddf8922afa621b - -COUNT=9 -L = 512 -KI = 2790fcf0cfc7af704fa1fe4f1d23181494e0cffa883d633bc23ce149590ab07d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa8f9a30bf5a650c448579347e753f88a1518655c191b9e38ac2f4968f1f8d41c93c2fb87b1996e5e1da7a292e5c01dd32cdd6 -KO = 135a3ab55e3fc37b49c6d1be1cd0f82ebf2d859e4b586c9fd6b8a538c9ae89d1f796122c307167f8d452e4c73d7e08deb3b5643e6b5e33b3466915cb01795ca9 - -COUNT=10 -L = 2048 -KI = bfd925793e81bed166daf3e8f82b5f4ef3ccdf84a10b0ba7934309ed4c964528 -IVlen = 256 -IV = 5193b0041b633c657f87ca096e0b5d703dc9e8083920ecc1cc9fe548522675b4 -FixedInputDataByteLen = 51 -FixedInputData = 26275435f9062b75da4856601ae4938213765ca42b49c9475d06590b48410112dc8b5ec612ad086d34c87e3ffc4684bb3183ee -KO = 92002a3dd2cdc44a9731d8f7a6a5a0af894f6452e1c07c6b40b8393da1d3a8add6d065e1af16915cebe78853fcb0d2d7a5def02e4925cb825f58ed158b297faeafd3627bbde7cf83f03f77bb632d6b2f6d39ea9989d68e10fd91b360d3d6c3ca9de1f8fc952297296dd0d815add65089965ed0e402083f81daa54361fa4c222b35b062df5839229753ad5829dc579fd8d2b3b403fc813f243bda367c7446d7a3ae4ec872c28516197bea0dc133e55e9ab3ce2d9a8074aec60e5b008075db620c9d4192c0101c9103b4f7064ca61d2c39009d66040b5f19e8e8bf911becc155dd3100ac27769e245b0f466b2333f949aa86ec09856788a2fe4dadcf9ff550efc2 - -COUNT=11 -L = 2048 -KI = 4f08c232b932ebe56ef06a064f14581f5f2d728a30616758228c7344e3f6c50b -IVlen = 256 -IV = c2285aeab03a9d9d18d3a40066f55948bcdcad9e35b084a8af090b46651d8f1c -FixedInputDataByteLen = 51 -FixedInputData = 773f25bf3a317653c2696655857adbb5782e57dad40710ae6f70970098e08097b493f88ae660fd6f32c06a3c3d29ea4fefa7c4 -KO = c3c031fbd676df9e109af75edb62273872468c58959c026ee4f2e9960cff7bf7cfceed577b8504fdb90a77c5ec4c720e7b060b8fea7c9c75189617bbf8127891369beb32f361905f3af3ff5e26c530d9c5d14ab967a6081d5caf849b8350d69d856761228368fea04c05d32e7233c03a3bc88d9338a29b296e2ac50817128fae425d5d0174d7c2669177798801dbb122228888cb28029ea136e2d90954e79c65b5fd0fa6b22723aaceb54441444704798df106e3c39237232455b964091539ffa6acddae48968d1d9c00c52df2a15c218418f0cc4f71798f9b62b6ed771a41858bd957ce8d2439610268e6442ddec8b049b6b955912b8a21b0a3759c6ba445be - -COUNT=12 -L = 2048 -KI = f99a1efa176c30b0cdf4c537d305614afb68653ca10a95ec9afcc932cfd6d744 -IVlen = 256 -IV = cdca4a3f206d733bd38af4c1d16a6fad7e6707c972333e4b28d4e22426b055d3 -FixedInputDataByteLen = 51 -FixedInputData = 466a8f540d6cae8f7c3274b06fd1a9f11ba1c08340aa728d2c844ba3f9bfcfdd406e5b9fb78e6faee55d45f9ec44eec302b97b -KO = fde898507c9e1b8aa73d76b22386b40c305005358f62d67e5771187bd1980dc04a088150552f18c62c11620c8134787e86aae215104bcbc685c744c3091eeb3ed7d91221b1a1bc9ea69035d96da3aacff4d1b090b236d1b0d552d6c6171e5cdf7ea440bdbe19c2aa6d813469a400c85487246586c53e7f57815f21e1f5fa87f4b1e03268ed6e5247f8561d0e248cdec4dd25e1669c319a65065aea241358333d383dba173559ac5ae74ebbb3718d0f360f5cb5e4e8a4b69735ff02ee1386a9bc7d7bc26e90a691125e975398a59de55c022567efde79e1ec1dce5aa3968d602cb31a68b625178c53bed4a51d0ba4d4aa3fff6d19ceeb9296d35be2dcd8def114 - -COUNT=13 -L = 2048 -KI = d26f60c53d11ea582a22f365b97f065f9ad0ea85d1da91892d93f77803ce9af6 -IVlen = 256 -IV = ef026e6e1d608e3098ff58b857bb35d6effac34205575210e35270427701589b -FixedInputDataByteLen = 51 -FixedInputData = 54158411ee85ff7bd3b4c9d36cb86c9d9b72451929632018c09bbcce29d056727994ba073923126cfc2d529bf1e555fa4dc328 -KO = d85408eae9ca340828fcc33a4b23afb8637af9d3537d08186fac5c015e58be177495dfdf4ce3204fd86f7cdd24b51337ebf47e427704f2ca6094e0f0a8409ec3f24cff4298b33b46b0bd51bda5ec009f52867fdf3354cea6d3c6bdddb81f963358d910465f5912287a6e06f002aff6b77d9992a71383f3936e280877e77041ab7eb8076d50131d1c0c3d2c5dd1a85cbf8245c3c4be96322a26056dad8ea3f6129c3859a2310865617b1fe1297a2afe31040771495189577c4f1687f7058d8f73d420a601475a322bb983a34931dcf20c940dbaeb18936a4446ad46fbe7fc2806680633443337632fc54ee9ae478e66fbc9cc6c11147f5e8b122a0d55ca1eedd6 - -COUNT=14 -L = 2048 -KI = 382f513141c7ef084d34356d6729036286fb0320782c1092b4ad537d46c57e14 -IVlen = 256 -IV = 6aff3de8870b21288ecd0a4e64827774a78d926829f999d3f1415b2975e5c3ed -FixedInputDataByteLen = 51 -FixedInputData = 4d525ffccd11c8c6c4bb51fd387ee6d04d6d57f7b3bed94664df3ae67167e93b7f54111d537019f1ccbd4926aa6aaa50db22a2 -KO = fece18c3838d4033ce6642a5248592d65d161da06c70fc300cd9329ed9d6edfe09dcf72df4e5fbd18f8843f79cc08a96dbae14be268da0dcc54ba6c9d2aec5854e151d528833ae9f85d3ec2910de1aa2ff01abc772f0f30f4bbec3b0d7bd59cf11a86603ceea12ed07ddf2c43b47a7a66b6a0c7970b7a46d6b82977b87a3622fc49a70f438d3a6ec49e323683898762ccde65c12aa53622da6ee3d92b98704b24e71b719c40c90d6206d05ba2fe97dc6a90d95fb642e65c2a18c1501f49ce1a90dfbf80a87706a18de68fcd234c31ed7ab3ed9d078b0ee0e3e128414fb899850b7f74d94ca5dd7a1777c5872c38a361f58c4e72286dae227f704c4773b06e21a - -COUNT=15 -L = 2048 -KI = 69d528cf5932746aa346773d2c0d96f04834151fe2b66a963bd4c51029583f02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee8d07124784a03267c4631debd24b045efb4365d50411d10434c618d21c29d6952ff976bffc9ad1db4020d76ef63e1a85493d -KO = bcd7779fd9d354758bb9d4bbba195f2fc4e5cc01550b409faf51cc3c77b3d118ee1408addabf5a785b9acea1f43d47d62dc679e832a2c27c3f2def06a3a96e08cae428e3a4a79bc7d1332ec8ee3bcd83b0b8542b7cf484d134b195c0806639fd1aa6929d5b7eb6aaacb03bee3909e6f51a71afa5e2aeec80555c96ae7eadc6d32162971e4c57074bed1f28d82283736bb9692de8fd779767d6b85712b7b4b353baaf6ac21b76cf75265230949417e6a520503f98842c7643bd9ac8bcce5296e068df8f8eac1a711d2bd7da49ae62ab0f85c44349997ae27056a5ef60fc8d023760d78f27476242171429d82ef1adaf12a22cb7604b828d3400a717ff1174a5e7 - -COUNT=16 -L = 2048 -KI = cc6e95430167215c8b91cd6b7ca0e1ffe33c26b97661fe2b93ef99c6eabc013a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ba140c4cbe079447aacd144d6394a61f7f164532dee04455d4ed64b229a7c35bcc67d03d007f93a93f377d650714570e95edb8 -KO = 0c728e5c1fe2784425115b45c4b8f802a206972e4db575153edf9d216c453969e6213f23f443f2ff39a54777badaa6d6cbef2edcdbac7eb815aff916c732b685c6e6ed499f88591d86ed0054c79852423ca1d6274f796e4895d2bab94ec19f371f4bde6259f91bf351f6ab5c517265b6a09c715e3c4fb921b94602c7a8563a7717cb1d13cf41def9c0be29d4f85a7d0936fe7317edcc7237d63167f1913542742ecbf46fe0e0afd80502c9ac6ef515957710ea9af19777695e485ac210e3dbbdb69323ff34ad15ad7b44e27e23d2b97c4123b7a92b535514043a96913981c4e0439a9640512543df8dd78134eaaca08dfc10b94c440c39ff5b88facdaff4e3f1 - -COUNT=17 -L = 2048 -KI = 304f90c34934f441fc4cfd3a7861d894b85ed11600c16114e266f99d35dcbfe2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb83c9f3c025225eb4589d17635151f5358c4042ce2f07911a364de3c77de1ceb02f660a1a05b4031a98195806eff75b2e4f41 -KO = 2f8eb2262e4d577eb65a0da0ae2be192ade224041727c7f1c29490aacb1e80f60b2762b40362556fb69be892691e16f36de1e5c4c348bdcc0357da4580e6ffefce570fc84f84eaa862071ca7b3e18312e857e4917011ee26eb84ade80b2f7a60d492deecce81fe80b9951eea71439690a9dbf77be9156ed2d92aa2014a7cf3341f5dd10903c87a1aa5261f7dff2f685c37c3c3481de66fa1f3ec84ac1d24259656cc89b95850a20a55a9c6a4a7d58c05136d47d447e92a6f761fc1c78455f076b76682db86207a2392b0a571fc54d703dfc7c5994ff680bac6c2bb7219d41d175d899d423c5cff4a42b943e8b2787a5f3b54aba4cc9ca60c7a8bef8b233ef80f - -COUNT=18 -L = 2048 -KI = 5d1be99914b7cd556bc01ff47362bb543c491ee0fb631b482af16cd09c742a91 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ecdd639f68f8d4ffe457ed42604c5f2f554ef1b66b15d2f97057a1f4ec78f4c67825409914767f6934d119ca6d2fa19a2e60af -KO = b0a3a4b18db5b5dd4910f9a7348b735f5ba69eb0e6419a4542ec028ccfbdee242ebcfc32a6509f3dd3baba4c3b0b303f6f500c93c202f1eaa2f047bc5e6abbcd5c9c497e337a039d8ad768b423a83d2f86d9f6ee5bcb0635c9ef535d04c2afeb6bf76b5b7420704f737aa1910cf6713ed073797b81ee5a80c52efadf0bc857f648a6743fb1f0ebf8d31b2a32367ae45b3c3e0a0173016f15fab5cb628a8685c234233d5fb9887eebf9ade564d6a31db3b0bfc083a073d8a3585a23da11f003b9f86711d9a3ae639c130b39d2e01bf729c3c00405f868e5ea9871e3319e9284c978f81235a777a9250eb0711270273f0a67c6d9f26f98222bfe86d39ce4e91444 - -COUNT=19 -L = 2048 -KI = 4b015c4068f232c3f72eff6a6d5557b08cdd54a3bfa65b4cb576bf49f44528fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9b1ed776739a5456cfab10ddaaf1a95e60cf12399359bb1b07c84179b0cc0885e2daad096e59f8edfdb95e836ebc9be5987779 -KO = 56fa546a7166cb64113271996c246580a4e69bc641aa88a0f98bae5c46d77996d3556d5537917b8ce1093d65f0ba4915958d152daa65cec24e2b42f7b089e818f770b5faa2c08bd5638c420f8bdbaefc0a275dcda216f942091fab177c06d1cbcf1b1e44419fd9942f313845db0bb79579e926c8c095c3cf506f645cd1b96b824300ec8d890a2a7d9ccdddc95e32b6882f2f665b53e47fb6cc5eac0f16aca0f31ae86120d0fe7744f18f14218b32b11991dfd81951cafc32304861faf9a8b0036b2f011c4c1322d00f1e0cc42167d37b0f9dcdd462e3227e7c4654463a65d5858d39810eedc5702cb20343b3c8a95066ba83b1eb2a5ecb3b343d4179356d3c60 - -COUNT=20 -L = 560 -KI = 7de56f2abf5beb805b87798ccaa45b685b7db8972a27475ade160165de2145c2 -IVlen = 256 -IV = 87c277438b9f96acc35778ca5b1a0e6db78d58c3ec1e1b8cae941950b64442b9 -FixedInputDataByteLen = 51 -FixedInputData = c038275bcf90e7b35b766744c5951e50e775a9136d5aba641fdfe2be36270fd51035c13e8ff59e1dac211b16259eb344552b88 -KO = eafb92ea95b0beb79f953e0b9c6759f249a01875fc27c6eb5ca4a1e853336d1eb811867819452222ead02a1d00404f30cf9b3814021d2d08f460ad43f47bae597e529a3409a2 - -COUNT=21 -L = 560 -KI = 64841457e823f916e2270174b89c0cc27abf5702f79bddb27db980304d5271ff -IVlen = 256 -IV = 660fcfd3d30c1e152a324795d262b03eae776ce0487785bc234f879d13fb23b6 -FixedInputDataByteLen = 51 -FixedInputData = 6645f49dc808d74f39a973c5a6f32e8e5aade95f856302e3146c83cb751f41b43267328f54871bb3239307542b6a02d7e6374d -KO = e1c947e138caf487c0aac945a6268df3fb1ac59e7c0e1a3a39f435bb8bd8a16b936c4c6522d4cda71d57c9cc0c10b88e193757d8fb9a659e330ef2a0e7ca0a837a35f6e94e47 - -COUNT=22 -L = 560 -KI = 3aa2fab109cd09ce1112e70c02c0fb96fe3994c5770ad108350d3bcdb274bd8a -IVlen = 256 -IV = 83c14b4fd68ad989f92764c6485cc7b2956e1c5646b02cdf494ff3b94452520b -FixedInputDataByteLen = 51 -FixedInputData = c08159850c2c83b4dcc523632307a1d0de9a9cdc6242e3407cc3d7c12052ef6be3f6ddb4780f93df4a95a5881aef37f185cf1f -KO = 7e4ff7b2b1a1b6f20ecb3dabea519b48d8e4c2f13bb390180b9fe22b983ea5e40b513f50d5d766703b71a2db919b08f385180ff05f3a1b32c2d67c215cc1852904a5c4dd88e6 - -COUNT=23 -L = 560 -KI = f1b20a602c0efdc1a146eed830e0509662f062c4c3719decf1520672b82f4bd7 -IVlen = 256 -IV = 731e6430a7094241dbb2088ec5b16928358ff2439c76a095e89ac9c2d9e4ea55 -FixedInputDataByteLen = 51 -FixedInputData = 9bd2881da90098064e4564b6ef85a6aab88c062d17445b610dc909c440a9014f1f08423d938b272be1909c580d4a48cc8052ee -KO = 572ecc1be9f42dbad009da8ce67e95b419f4ed3279864e5aaf28db60d5bc4ab1af9e19e489ddd36ee6888e5b6cb18cdf381de5aae4d6a73880ad40eeeb7ccc3eea3e4e1ea696 - -COUNT=24 -L = 560 -KI = 24dee30be1c3966b4ea630c251e8e8f783cc4e196abf89564b686069486b539e -IVlen = 256 -IV = 2de9d0e4b432b6af3f6dc2c9c367537fbe1ced8736dcbf885ec9c2083316f157 -FixedInputDataByteLen = 51 -FixedInputData = a793cd6e45a0a384fc338885a4d5ee214b9f9544d27ab7f5841f4bc403b835170cad228abcacfa69d9fe5cc883724f601a7b26 -KO = dee398184a536acf3766f481a7ade47aa892a8d2f85f1b2a3ffc3b027aa29bf9272ec45b455e723145e038121236ddd40cae4f8cf198062b72e96999a045cfbfd71fb2bda90b - -COUNT=25 -L = 560 -KI = f98ea0c11742fde8c0fd134bc3c62a53c50de287d144b7c34c80afa39692abfb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bbc972ae46b989af9c31a49157ae4f35ed41cf32b930075ba050b540ae4816729bcff8a4fb3f971aa5e934e901945f2711b926 -KO = 6329ec39f2631f8635021fa04eccfca0f803eb87784a16b483721ff3a4c2838fff97b4bb1f08faa372978357c17a7f74752e45bfcf9e8df362dc2505f302007ecffb258348b9 - -COUNT=26 -L = 560 -KI = cf4233ff8f2c771b3bdd6fff786c2e00c63b235d4acecc6ab3f22a259c54ad6e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 603d754b3fab9301d106b56e279acd32166581b65bd546f9e880fa7527a824b0ceb8c8a78783c68d53b888737b89c5be9ae417 -KO = f56c4288e173ff47a503d4150b146e19b980ca0216219de75a25c87f4f0e4022dc294478e9d7472c57c3eb4568dcf95f787b9c0627899063e268760e634fc965c3178e65c47f - -COUNT=27 -L = 560 -KI = 26afe42d95c41e0a790481e67361afe701ed0bdd4fe60f5e4ea8cdb5758b4524 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2aacf6f08223e4fa0914b06b3df2c118a1b8678a63e29a96a7d088da57fd0b3ecacec1635226c7381220d9570bf99b3a806c9 -KO = 00cb5f74372649637924ace95e1ca6b7fffe4915b6652abc9be1f685e279a6e36ef71b61eea7d676c8d88ec9fcc64e3ff92dd51d000e830ee63c68803a2efeb7029b2abecef6 - -COUNT=28 -L = 560 -KI = e91eb9ce3abce629f18b8645e2e66812c6affd8392d5f8ac75230d5a2a37f694 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2482c8ac73232d5249a43f7bdcf40b66ccd4e1c659cbf1bdef6022397018cb2f8e4d9646a889192cf404cccaab9735ccd9337 -KO = aa6d491350ef17ac09e38e05e914863ea2056b78a8be57b31b4ae831b43c0b745424d62770decb7904dd6a7d1e33f555e3b26ff573f9042d79162967a942a6960c10116ddf35 - -COUNT=29 -L = 560 -KI = e2a353583e3e53b4fc8b630908213435849243e11850b8a78fd192b6aed82dd9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c72226a8a3d413c2c9a8ff615cbecaa4c31e7f01195545d080a9e9b44e0cefc861dec92e34e4e1a9dc33d7ef06907273fdf5f6 -KO = f55fb711b29637fbc24eb12f5062e5d9f15ec57166db733fce11de14b32a46df9c4202a3a02d6098c1e8f8f690f034d83943114228ad396d738c40acc8e687529bd5b08305d0 - -COUNT=30 -L = 2400 -KI = 756d57db3f81087912d632ecbea7aa2463b97cc9c01bef2f37684fe6a70006e7 -IVlen = 256 -IV = fda05f2f908aac4d5fccf91f481b4cadbc3040859e28ce1ef1c071925776974f -FixedInputDataByteLen = 51 -FixedInputData = ffb12f77860568df8e318065dc1d5736baf44a85ca25e2835efa59148291e8c3b7619154327374ee1b5742560f02074a50bf02 -KO = a00752a3a049b0ee462b5ad21d012e04123ce566c3f5c14f846971b08ca817e651d33fe6bf98f694ab455749d82f00a3f9712272418d4b2e0dc9b2f43fb82c75774ba0c3593367130ad11becaf3529cbd223291adcee7122a22240b10b004a5307b2875147f01adccb9bda54ba7e1df46086ab7155ba2ff2503d65b5994b72f5216973de465a3d68122483b7cc6b6df837ab247ddf71a00abeb7f3f194cfa4da587f3e163287ecb96da316fc3ac2d195fb8d24bfa7f798bb0a8751237d6df2b002b33bc975c47703f674cd2c8bf0aa2ef2180fa0196e49b3794a0f8dcc6f6223f70f0ee42baecf655b39fe0ae45f208d90e5084e54e9a647c5fd41f4b83438a5328eab3a9d6d1e88d46e6ae74a0354d75d13d948b3ed866c2d8656d2e1ae254a537670d9843121d2f3504c8d - -COUNT=31 -L = 2400 -KI = 4d6694ac1c21e76daa5ce9cdc260de711d238cadf70c5b4a98449ffd0b2d250c -IVlen = 256 -IV = ea847c44feee0dd06e2b5a5aba3ab38fc81a7e5af8745111b3d4f17e36557a0a -FixedInputDataByteLen = 51 -FixedInputData = 241225e15472f9ca3d5427fceacd608aafc750613d6c5cc139e4f82a88e8e06bbaa9af5a9986785706a6ae7d43c18d75b356f5 -KO = 880e9d85f05b19b71d9a1a6c7a90e80feda7d6956a978f700983331d099edad56af8fb680ba99ec8251925300d60bc99d2c70ed22e2a6a91259cf14811b70f5a568c73fec1ec9103ae086cbb55ddf75e494719ae7d9d1d963264697c1dd97de34933cc0907faab5c0a28baed3d1de8390b0cdb72abbd936095cfbad26a22b63c989061aa8cb90be9cffe2d4043acf36b17022333424b06155996f0723002fc4d1292d4714581e1339a5997f996d12689c20474e3f917f3410be48e14bb74523bc778d2b7018158ab6ba92b753947c6b97e27b3de859883c66b5584612398066fac4ecbf29a24df94c84a77e5077d3fa80e169d3e1f43599cc0b82f53b85d4bc22051a0642af901a90a2574dc680022c31b320b150d912b91cb6859475e289dcd86a829dfc2a31b79d5077093 - -COUNT=32 -L = 2400 -KI = ccc6c3f2b16bd8312af756f96d98eaa153dbe3dbdf5cb6826dc5b418971abc79 -IVlen = 256 -IV = cebe5f57cc99489151ef2e3200703abf070f043a5d99d236192bd33c57c2e41c -FixedInputDataByteLen = 51 -FixedInputData = a232f175b2052f53bd7b88f14719c25e04135cd5b0c62a2145be71fff598dfe7ea9f540b021f287e33ee430e16aaf4404bc19b -KO = 2adbb3e59fcc7f636e0c6bf02b6b3b9aa353d25da4473adf07453c497286359f8f00d7bcfd0412f5e80d07602e0981c41e202b556a2fd4e3f311f8cc7632788fde206da62df5e118b0bfd631438d4c0067ec242ee3dddbea052a38cc3c4d8b8c191ad4f9d417e387edc55ae75c3228d76547f052f4a71cf17430c47da47ef5a983c3e6827a7f05805212fcabb996257917b012fa24b80f1ef928c792372d12a16a0b79996c2088bbf5c2d84f872900a8af2e84ea594434385d57369ea8f02d8c9d69546d8e82e6b70033dd3e9618beb656ff71cccea55c50c94259fe3e84339abd778913f7b17dc3ee4cf7fc6f610139e6f8cb0246d6e2fa30d1606614be01b921f27e28eef20e3cbd20010ac1a749188a351409924c19b73da3b6925ef01f920359272e98fa61dccfb8790b - -COUNT=33 -L = 2400 -KI = e9fb4e86c7da537e8714436fb6f6a446d3ebab672eac49199c0032bc2577de41 -IVlen = 256 -IV = 98627b6355a09af0a356bf9ad562502005cfc7d00f5187b0b39aafddf7f92161 -FixedInputDataByteLen = 51 -FixedInputData = 882922804352fb43e134b6ffd018910c96b99294cd98b6750647fecda7fefacd1929ab0d85fd2984570cc0e07ef6f3ce85c940 -KO = 7c37b81f2a24421a9ed605ab921b716937d9c86c917625b27548399212d4beb5f98335150e6bf81b2e3db86da37dc13ac4977e45f9767e3452a74d58adcfc4aa42b0e69420f923c9dced4015e8c49e27dece8d0ca1ad4151c7d1d8bc16eb8ea3e78576f914dde5062d86012160da413fbbbd99447d828723a4bc26a39086c25b3fba8a4aa572409392d599c34d683d6f7de8e04f6ffefeff6b703fecb759c554c1eb8219eb6abec76cbec4cfe32906c506bbd82fd989637efa8f016d1d949fd0ac0266cff89f8a9e62b6e93cf16333fd9788ed96bcc824fa4d6d31cb905e4ba4f6aa2b1a84ff51019536834555aed75c7db76c914747bec69555b83f28cdfd2367027adcc2392be033be60424650dd83fe7ee04d7bf3fc7f82e496f66312c9fcf953b6784378bc7f74a63051 - -COUNT=34 -L = 2400 -KI = bf10e888dbef5278ac6d03eef88a189fc3fad986e3028505907048487aa182d2 -IVlen = 256 -IV = f3015e6fe45d79c78320aa7ef2493e23f5426d72bd2d65a6054c57dbaeaff6db -FixedInputDataByteLen = 51 -FixedInputData = a7df9d8b8986a3b29db26d29d0d8a09480a90bac3c4d093c1ddddec52ef3635ae16c32de5b98c4565a489d06ceeb0cb6f08537 -KO = df0c3dc69f6ada59bf91cb72e7a98d9dc765657d77fa86aa90c92960e1b4d09f4372eb8de35df34a23b52b2d116912f3ef9b36e3d7441ce05945f9dd15c4d0d6249f559b2d4b841fb25166123c479c5c04218f5f1e6c99f2046ea3a53d2d939699425ada4ff290b3a19383638c9d5183283429826f3a6ce8eb3ccbc68cdcdbfac656bb3a8cf4347db7103b27684a983e0e1bc83ee4751e89281537e8450b7b362e33f1dd52b2e21a4544a0c6dff1a7ccc4383e88c1adea37925a20d3db3e961d4f6d659e87def97021c0f6f634f4ca799e131f25fd2854e39f99ace13699b58b473aad007b90b599ca8a38bd77f18a875be80dabf90a03f49acb758443ca898f3a38924b58cf21c7a84097b4bfc2e8f7b049888dd0c14cf952ba97b2d55150ebdc3a4e409aadcbbec933c803 - -COUNT=35 -L = 2400 -KI = 546094a19244626f4487b0ba42414aa5d368bb3ac1909384680b6d4595e4f5bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 105275ae1b486ac2738f736941b6d28d64e917118903d935a84710e972089a0f574cca33ebb1b29565e8dc37164c30df07124b -KO = 8149c5de9d4646892b58dd8b56e4a24ba340d356dea605d70b78ff4da3478f47b4608db24b01da56a90e2427bbbb914cfd4b2f76a4e23284fabb273a4b0ea972f21c75ed2b2a4f53af5530d8aa6bf44a0d03fc270a28a7054ccc40c211264a9e6d14a3af1ebaf6f2dfd1c1b861580c383b793516c8b1958259ff15ffcaedd9f57a1eecb40b9944dde0b441fda607826a45de2542d772e73e05c0c01196420275f37acff95336f72080c0e1ef299db1cda6253164c567da94f5d4941c2ea33786ef84c286ca5d8abf4dd49da6db5b63bb1846ec372e53269ab7a77302a9e05edc1125039b1bf406a646af7f420b6d02c6fd78b4cd5eb09dc1d68d69e0b8f1695f5581c6c87cf7fc145b3dddf58ba30d1f6f2b9b9edec90cd9e4622f3b73a45cdf82e2a79e0ea7d87f9916db3b - -COUNT=36 -L = 2400 -KI = 1b96600343ba912e299b700d92294cf282548890f06f388b73fa58717864b2f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf1a9019bdc9084f6e57c8717bc0a7589824718bad4e762110245b3f87d9190ef694b19f76fb4ae2b7dfb68e2093fa715a9c58 -KO = 1be6657a07141571327644de8fc92680f5c2ec51cac948d31a4fecb2125ba33aae35608484ecc18cc9a5e3dab27fff00843894bccce764b1bd7597d7873ce221aa8604a7c96f6546ad4851f1060f7a472b803070646e3f76a39aca52ff440cd5c04664ce6082c5b81671379f94330760fd212f9ddc11ee4505b4f0f6f0a6c1f981ba53b984ec5d98f5d8951a9c017649ca358f0f083f45ae17e922586e120fddedd5332d0a5198d7e36df6937705a3991e51d130d9ad8810e4dfd8e6ec18589710cf0d5430976190a9e68a36d6ae349f0b6bd03112aa609637333e0744b48e409fb1556bb7469f0853f3b4eef02c25e254fb09ef4518c4015692f08f9fb13674ed93826c8d6d6636237e6cd75de5af8545ec17edb7a655008e25811786e407e7421e87f50ef357f71855c4ef - -COUNT=37 -L = 2400 -KI = e82b84f2dbb75698cb68206e1171e0dc8e8930dce25239bc39ba9e209040477a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5e8c9c999d0261bccb70003113850f76ef3b18b1737b7c0c62d1496ada2241bfda74fd4b7fb2c28ddd7a6d1f38224bc1c3b5e0 -KO = e362bdca096db7ba36a62d78d8bc86f4ad60d97a0e3cee72a7668f223d5543febb653ac29a97ebcff126dac35627bbbfc60e7cf6149d110a50f0e7019dbdf4ff2ab0cd05971b613cfe5a3ac2fca0f9e6781d548edcef1665c137bd4e866919fe01aac4ce9f3f46852f8fff568e5fbb340762fb76b3cdb9d8563a5c1de1dd2c3106e39e3b845a7e492647b1f3b4678596fdc35bebd406e0850d604770b18c008dccf95ff4708c640058fb7d2cf949db31216d3085fa2865a4221484e5f2a69e418eeb42ca4353bf50ce4c63b966e86ef371b76cd3e60b0eb448ffc69a1200b50b8b96fab4675c04107d9fa8b2472271112e4dc6faf5b98b1578f15c69703612649d8cfc494bf69f2f58f25913b066709fa9463837232958853b9818c332baf76c660300d80e6aab0b17bf44f5 - -COUNT=38 -L = 2400 -KI = 0692d68a14b708218fc5e772426d2a9e3d6f88a4aeb08db6624b799470fc8748 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09de66256791ac345050f5f4aede75af56d7a71c8bdfe3158d058648a39c36d527556f34837c9a30561999bd24fd2f9ff59252 -KO = 60a0af8f7ba99a46722d579a9f641854331ecb8f7dd39e003a95eded7c35471183bc004c0dd7a74779b5f2c4aa2f0f052898278aa44bb2345bd6f4f7bf82d0c600f8c521a5fb81dc744f877f737e4198ccc9d8f6bbe6d75751344af86e2e6583bbcb7ce006b724cf5233868f62f8f44fcdbfa585a16ea928bd197212ce951fb36b20e7d05a40fa683d69bf318f5a9a3799c5989be1b4cd00c7ba8125f584dbdfce8712f7c59c1d63863853223e75b766845cddf58da7f6b36fefcd35d26d0bdd922fdc09a3575595813d70d915e57ae4923d9b7f642ac075d427549ae2d51d8baedca2c3f3ab7ea2a184931c48f85010817c8d288575621350a69abeb9f1c2c8da28e41cde93753798410f22b811113fce400229e7996370f4f09a4903d605ea312ce19d29d0a18051241642 - -COUNT=39 -L = 2400 -KI = 239a2f107293f7686b23d324c37c2bec5b8c04ade26b65614d934015d39412f1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05868c0cc4360e59f10b98a1d1c14dc37e5062cbc58ebdb9a5df6c9bf0c246a7408f550ab530fd6933967e5ea901a4d4a0011a -KO = 25f427b320eeb9c82bb8245f056d0b8f0c87263bcdef5608084f85e3df09d7651e580fc8649c3f145c90a4e31fa15305bf788b5c1bc2e52aba61e85de6555ca9b37770f6ff5d0801a8d81d9bd803e20087007498cabf1a9ccc40c94592e1bcef7e6ef95c67b58273ae59610a78b102571cfa2c691418f3bcf5186159b1171078c4ec7a86f4a07f6f2423df80edcfddd102d8ed8fb220886214047a1397b328fb8bac3c1e810035aeb327cd0f227eb7a86bc089810b3a8d6016ac0b741542402d4375ea8f4cd3f3b7acad3e6310dea45633be09631bc9849d329bf5eda16649dd82ca57f7a560bfbf2a7d8c12df85cae56de783dec7c37b31cef1412a04c66ade9cbb927b57f4b843934b244273eccb75133aec7fe21480676e5f6bc9f1de8416919130216cb0a504c9a0efe3 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5905c57e0f65a243b3967245f9b811c15257cb9a993cde26d86c71c8f24bab2c -IVlen = 256 -IV = 6c7cad9d96bd200160604119659092c8a915e61ee22c18cb375d8936c0a900b0 -FixedInputDataByteLen = 51 -FixedInputData = 89d2ba32f3ba155a5c8675f47ff32d05cf20934c424508136f69f0356a81aa8d92919ea67daa724a116887ed1d0b9ff3fe3403 -KO = f899ecc0fb66b5208e747ebd75b42c3bb704cffa6785e961b2a1d3a66cd7678e4b1ad291eacd6148105e6aaedea831f3d8f566ad0887c165bf559f1146f050d0 - -COUNT=1 -L = 512 -KI = fc8cf69439aaceecd1bc103a78f8887b60d0e8bc25f98efa98d394a93d0e6815 -IVlen = 256 -IV = a7e583b1472c902b083f420cc9f5f08b35d129f481c53145c1640d98d603a54f -FixedInputDataByteLen = 51 -FixedInputData = e28668db9dba1f2491203c16685786fb18acc951c67111488d1ef5f28804f5e033276dd576e81a332ce6d7ee87cd8c1eb68592 -KO = 5006f89b6e30e7c1a34f478176978ddbf2b1f51e5791dd821b4a214113688935769e8bacf8910ee069cdeca73269fd3198022c7a44ae9547d1051230ee21fac1 - -COUNT=2 -L = 512 -KI = 1e3c8a9bdb0c3b77a4065d94dea9a409e5185d4308c8e59ced88b42144e1e9d6 -IVlen = 256 -IV = 2ca4f621480efdc50dda4075715002431a755039782dbdfc251ebcffe39b0e4b -FixedInputDataByteLen = 51 -FixedInputData = 19c41b8940f8177090039e1e3a26fffb77a7e1b016eaa1f5209d31cb64211786a1504e237c8cbb9ffe79a1d357884aaab11416 -KO = fa4f15d88ba19cb0f23a5c0b862f4aed09a9206653022084c01a14fb9d9661047fd4afa7c8f9ab5d595bc1f8249f3195bdd9dfa066315dc8d249146dc4ccb624 - -COUNT=3 -L = 512 -KI = b5c3394c4729d3c6babba42add335e0468b93de99760710b2e1b21588ecd334f -IVlen = 256 -IV = b834ef117bdadb0ead20b1d77da834e8f4b8880607f4416f0c5c7377925f7e96 -FixedInputDataByteLen = 51 -FixedInputData = b30407fd40db5d48b81fd730e60090ac4b0dafa4423fde3926049fd813e2593c96e485bfd718f441bbb6fa1af90319f1aa4be2 -KO = e1ebc335cc692c8c914838522c81e570dcedb6335bbce67e2b735ea675da3e0468823e0282c838befc7ea1ffb22b89ecfa112216545f2d92ff5ee768eb3bef78 - -COUNT=4 -L = 512 -KI = 80431be591a345acddbe7977d4a6e26049ad5da4b62c8374d88d8f878237a736 -IVlen = 256 -IV = 42163440a41a782d5296bae644196c4095ec7de74697f34eacfb511f7ee22a29 -FixedInputDataByteLen = 51 -FixedInputData = 6de0da939373e94248e701e1a4dc2c75eab661313856e3e9a242fa470e63a37b86349b70076ff602d1ade90e92dedf5082a4f2 -KO = 69e46c0f444f1a89713d6f11dd447cc8815a5d99f013340feb2eca1e7e16c8481b45d15ba06cb05474a7066830d0a6c46848055f50034b357a51a4d75cbc5a75 - -COUNT=5 -L = 512 -KI = 48d53b57ad7a26141501dca5efcc6f689684775b1527704b00cc4f6783761282 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 051a06a7914c670d6a08f74274b4aeac48dd60178ac36d9520749fc5f2665e1e7d0eb25ef4c3fac000990c07899b9313b3eaa6 -KO = 4c55119e709ee848f2115b9847fca10b947f541c1574e191fb54916e518e8840d384411d94cee2ba285d53821d3a9d0cff57b58e5d9193f1fa66136b0583d6a2 - -COUNT=6 -L = 512 -KI = 73e9727d71533387fd0e47454048c25a4529cb970fa55050b2679d134b22c4c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bfe8d6e6a057a8584739b5368e59d93f81abb3081f037a4a133b5015b35bae9dffcefa979873354286ad8015f8db9b36d36a97 -KO = 1fbafdfcc9126bf6f1273e522e4b4dfc16789c1251a7114796d22aa77a7af84efcee8ec835c0f439f2c8348a5fbc3a9d20afcf863677e29687a51c73d07c0927 - -COUNT=7 -L = 512 -KI = 109b05538a92a491cdaab0a037d46f8c2899f7a3123fbc5513ddbf7673de23c6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 73140d984813ef787950ec3dfabd5d595fdb89747342e795ff9f794b0fc4ea4943fc71a451d959f1db47fa4dfd1e463c9f5e04 -KO = 0969e81810da7e7c4ae44e74c70182bd96d5e53d964d4d128b3d2ded808e2dfb7a0c24491dba370235db640a82a0937b2ac9e07c4ff764fab8d4cd8c48bab100 - -COUNT=8 -L = 512 -KI = 74bc45997cd6ebc345061be0eebb0b8acb75cc52731004a4fa777653c5b48bfb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c7a6f8f757fcd1ebad2c25eac02c5a1500d24e923429eac051e1ad7ea9946b070452af722a9a460ab15a60848a0ea8fea8dc3 -KO = ea795de752608b95d54f97c254bd56608a7adf94ba0165bfbc0024f01f32c68fc578e5b5e0551018a65ee94d42cba704b3d279d62bf37a097adb86b70c53fd41 - -COUNT=9 -L = 512 -KI = bb16f603a430d83c7c8216a5b97e210a668f755e14b852e78baf8c397a97427b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b4e8ef738e1b1d754b6589b2e6fa8223e06048f997b70f104295479bd1975b80f3610aacaaa9d25e2096f95776aa34f88f102 -KO = e06ccc9e56a965812812d088ece5083726adea22a6de21e84b9f09ffbd702d0eaa0632919bb789e38db186638e3010479b76cf7356b13baa30a3d6233ed2584e - -COUNT=10 -L = 2048 -KI = a71aa6e23c5dcd0d9490829f1cbff818a892e26ee08b4b50856fdfd01d8424d3 -IVlen = 256 -IV = fd4126787430a7b9ac4df54cbc5d96e35f4f8b30ac53f160de65f3032fef96cc -FixedInputDataByteLen = 51 -FixedInputData = d01bffa8145fa9aec23be4b3e1f64ba7fa6674bece53101d26c099099c564946363791eaaca0abd72244085206e06ce40b4885 -KO = 5d9ffbfb479e20158094af6e8157216a944fd6203f700f8693032de7edfe7345881a1ba3733a9432291bd45735c3a844e278dd3db4c01cef8cd25a345a9c4ff2fa6a520bf5e95dbb61ce35a9ea35ac4f49883a2222d70df9ca2b068dc0c073a6754660587c8ebb009e061d558ac6e69fe0ed82adbe390c8c46213e8e670ac037ec812669243b997a537ae676f0d3b4e9290eae75345e1ffba50caa94266d7db8d69dcf3649c07aaf608845324fd8430c871800de043272c542d6c7c4699636a629bd86193fc220b7226b7051afa814f397c8bea6a8096a31bf0958f5f196b77829bcdeebb494096148ba5ca7d0f82b60a43c3376e3fd757eacdb6d1352f3fef1 - -COUNT=11 -L = 2048 -KI = 0f28eef773080e5134f58b91474d0340d88db22cb3f05677708d7db479decf49 -IVlen = 256 -IV = 1f0764a0a36ee4286a5939998e7c1c4e4fa17c7636ec8d6f1b835444a9d7c7fd -FixedInputDataByteLen = 51 -FixedInputData = 061082c57d479b15765fe811a64b176f86e7e4aee52209d82971333025e7de87392d4753f73911b73598bbd364f07680641ca6 -KO = f6b2a0185064598622609766e2ae39028b063c0db237d88599d2d50711a65222059431ad52d0d2c6456676122f713a944608f2147bf20d25078ac07d047c5fda6a9bce3f73b52419ed34cffecd697d4959d774007679b02cd3a6c4ec15d7e60b5439781a7457a899c69494461f3b9e1666222d5c563d84effdd0273e24c0823984006b9c3f09efd455eb0d88b309a5d69c9453fd04dd73a408e927285e9037b74b19b8da58e76845c0b6088cdcd705b66940765c99a3068e3a4168c28a8c1ec068802f36a1dc30768f3eb76b1e4daa4bbd5a8f54a069727739f93d7fd0dcd0981e64f93e46ac3c7204b063bd46ccf83e1124230aeda4ba016fbb5d805db3baa3 - -COUNT=12 -L = 2048 -KI = 4e19c0deb3e5f06ea436f7369e5d064cb4cec1619f9f5b22ff5d401d992e8079 -IVlen = 256 -IV = 5a70be7f7d2b70c3ade0817f626b1222e2090ed9b3c01640e77cb572ac94e227 -FixedInputDataByteLen = 51 -FixedInputData = ac12f7747075fead03ad82f3a7ea21c48ed478536dd7c3f714be75f3ff0c3193bf30f58b4121be6a930721dbd653d8f41ecabf -KO = 84deddb00fcc299a3f1da4dfabafbe057d0e9fdd71b0f6d52982239c9126eab3518542770e8c3d81d79d5dca2091fec6b1d3ee6b85de782e474579e74ac219d6a8052dff09430c471b815906a1adb5993a610f69e76f462e428b280843bc95df4ed141ac0b00d09ce572181f6f25244cc76dc3f1467b34da266e98f4f0efd16e40b684a253ea8389135d2e64e0bfc58a82c18f2d042992f299aa0b5eef85a2dfb309b4ac081c3ffb868a53118eedc9f30338dfb68dcf913e06cb7f425a4d488e39702f6f6664b71084033800eb59187f528de7d049812597e7a2fd3680239b2735d222dba6f2569b20f74b1749d5ffd0a07a6a6732103ab5268300d0dd702067 - -COUNT=13 -L = 2048 -KI = 243406e0c7af8b00cefba9f7dced8068144fbf2bf64e71753cf8193bb5e8961c -IVlen = 256 -IV = c4589a707a8461d0bb2d3e88816b9a3f2e13ffe3527d9abb4166a882459de1e7 -FixedInputDataByteLen = 51 -FixedInputData = 95b170a3c2b66563504c11d1bc6d0a3005b13c60ba293c1bb5c603f789857d0a736240ac61a94e230b685499603c73b4aa6892 -KO = 383117e5ba93ad74c077e2b1f6954b9271d55c6f8e1e05534055836cd372a48a0abbf87d7ee68d9070d794e4ac594a7355c3651a482c9a7219729443169188b9fa51554e42ac1242f19ca3fada8ef9152af621f1e9ae11a78cc06bcc973d3d802ee59718e737d6049cc055400ae101fc5eb099b57d9b917681cda317c035fa05410a012cd25f3550a667798280c8bc0ca69d7e740581b27f45a3ce9677abe64a092a75c7c286f2e869d49dc55df70b5edc5ee019edb0f68f8f9c7137d228ad2fcceab9d5ce3f10b1c1f9ca762ee4932bb0824202b0c156c4a8ef65b1051056e0b58832f4d0bf3bb94355d0fe29cdca5b60d3f16be762b35714318cefa5d17133 - -COUNT=14 -L = 2048 -KI = 772c5e72ff019916bf2f915b7cad0d5048e538d01ee8e57b040cab1ed89096bc -IVlen = 256 -IV = 41013255423e3cda80d8795a84a8b3dd0d60c2d67f6090858c07d59f908fcaba -FixedInputDataByteLen = 51 -FixedInputData = 6daa73678a69d48fcf46a46bf4bda6f3cd56bdc0e4c45e10ca7002dd854a8e9177475dff26b8647fa231db6268cd1310202d62 -KO = 3c2267e7308befaf4737aa939582149a731927a1d0041c19970c13ae91520e21fefce5fcf465806c59602c35f30b31cf52dced62e04e91d8a0529cfc2089a3190e7d7180f78773388a1c01c569cedfd764cb8971939a58609cb0b4464f99a004679660f872b9e3db3c2d2a4f55cd58479adce2d2b4fd1ea6a21ec30c5bbf663cb2f79dbebfa2ff63bf9d53d5b38c0196926f29df5403380d3c9c8dc10abe4540b98b76b1c6b4aeb062ac45403a2815689721cecedf2056899107620eb5d0f7d069ebb788a8d777bddb8589b64842b7a31515de11153ddae5b4140078bd2131dde2d318b8db2cdf7c2a0d1e9bc7ddbc0be7735d650ea7002814e00a733b0a9ca2 - -COUNT=15 -L = 2048 -KI = 864ee085c7209533e5ca6984acf1fe435e059860573d14ae48fbb31509aa3d0d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28d1812e322bc33c97ba5bf566d71af5a8ebc74ec6cffaacafec11e21b603330c18491a70f239cf7c00991cfdb44e1c0995cdd -KO = b6d4381c4658e1f4c1f7095618a1ad8264829cdf18f40e2128028af3121ce43b07acb45ad4d234db8181d86020f1517312d8159d17a3363ce9329c8f5fc5ffd736127a5b03edf83ab50f01bc7db79b04646a9c2d9f241608d02cef8cc3082577744dbfee7aa49ff80a01a27628043cacbd229f7d6fb12b33b284a7ea38904592dbec0b7ebfe6f8d48748d12fa687eed54402302956a1458efa9b44a054a8c0772f6bac92d306ee6418e8f2cd24567a82a316019c736ff5ab81336bd226d7f3518015c89864368da3c270e9919fac2dee0b4e4218456f67e36e0b7ce9a8f977a865a03232898d21c516d70f7151067de7841fc5cdf37d5b2bbb1de889136c7d96 - -COUNT=16 -L = 2048 -KI = 04b44dca55262136498b4dc91223375ead7bb4cb134105f616e5b96201197966 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b48a60f6b865a62b82e5dd1a3a72a4fd862123c900aa98d77fbbb420b80c0f689e2aeb13f50156f7f11d0d27d1d2786253f6a -KO = 345a5d158caaca56dd41e6827a6e67007c92478c5b326faebbe2ebf59b3409a0ca5f37b2ce2f35a4b4f11261dc580abac32915de157f5725d4dc6528861789df92604e5dcd800008d6eb570b382775e7c53d60f4cc1af2bf008fe3d6724f9636de688d52bf9c32916b73e539ce8609fa025a6c3ec9aeb17f37636d66c8cbdc21309738a7f7b2dec7d0a67f445832070dfd2549168df7ba418ca9e9b3924faf69096a53e2180f05268400586a07afb99d7e9159bd4aa84d430d823467c7a9ca7b93b32d14e6ce2bb98564560747acc20c8b412895e189394522a91c0268e86acf34cb6e245ecf76d7b440525129b86a826850e386f522d09661f4bbcdb875d008 - -COUNT=17 -L = 2048 -KI = b879036e6211198d9681f4699e3eef084a19738bfc5443a39475e7e03d69714e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad9cee458fb97086c8ec31ce9175e0a809cd5f650c39ff9c07ffec8d191256159df52a17b41a814133fd7f51260aaf757fd444 -KO = ce17c2e7fcc2d31f91adba8a998846d29838e47975b0f1c059ec058c9567e718466911cfa99b1b520de2a3a0697bd1136e2f069e77e50002914d53cd600d49b4ca859dff09af3b01277fd5899432ef722001dd2ff67cbe9fc70122add3ff900d35cb4363355c54650b45d4d8c9fd16dda5b86def25415190feb64e57cfa376664cd993bf320d266759980df1f828ccdb60e72d9f6f2f699200a48f5e4d6c2471640888ffa2477c4c66e2f8500c236129630beb6491668b6f5cd8b455f0a69253222800bd159cdca508fc0a8984c663e177840f77f4b468175694ac9fdd1f2637b5074da8c6c5a7c9fca7f959abfbdfea8eb7cab505da5dd93a2af670921a07c1 - -COUNT=18 -L = 2048 -KI = 760ab2e73e0b3c078bb46b750bcfd4495b43acd1863284bc570111c5306afbae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf70e59e6899a1c4ce5578243d0dbe3c2219d2d15aaa758601667910652bfa6817e873ea7ccba48c90a765ef57bde8078c2547 -KO = 734edde4c4030e3bed7b0498af86fba6ca93d8911b8695e39bb30d8c4183ce76f748269131a0fb98b858b173de6444492d79560e8adc73919bec9bfa4f9e380b016db446bca32466ac53696919aef020d1d676c643be3081359ba946163065979dda6a60c1b372d32b66ef15529dc64e8d1269c7f067652249c8e32719cb0159c70fd1242c7aa92440720afc582c8f92a3b7aece26ea57d5e11a85297a415d90fdae822f8b3b6f3405cb5d02e35cb9ad3e32976247b67ab13b9cf2eb75cbe4e8a39b1b7c2a1efbb8d086adcc50acea40ec14fc8600da56f9947ef896a9574c021758b4c5ed9d5f0e0edea6fcfff1314b2003714e7a03ec930dd9a1b0fa0cf2d3 - -COUNT=19 -L = 2048 -KI = 974423bfe1c6e8b8dba6df3a936c9c606ce56d1ea99794d1f8ce622fbef566ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b21e7e85a0c784ade2074483b00d925df6f94ea6bc8e87cc7ac23b72643af432721f04fac806c0d4b21c57358e269dd1353d6c -KO = 028c6f0445ac6bfee9e334df46b711b383215556cfd88a5c16825b6da08672622baf1cffc82730783df7839d21e9a8efc6fc0aa8b7ef4c2d4d2d2211cbc9eb93d1391cc3fdbb2a6cc6756fa715c059640d35801d7ceb1c6ab50089425cb43f959efb13b18ab07644eaff921b7bbef3a57a93139197ad5031376e81ac9775ce8ed51c9442bd83355059e3ea3a3f095139bd328bf22d111ed4726b94fb44304bb8853d20536932f95d8ac2ce5705b513569ce684d2670c2e97c7ad3103901f930cfe30270c8e5bec61ce66223882f2f6a9918de417ac13ef948023fffb40d8c70959b2bbd6bfbaf88ea8b4f9b1c9f64ab4524921d4657e55d0e7e6b10f13b5849d - -COUNT=20 -L = 560 -KI = dbd0e2d25d2fa68596106a365037ae4707a87345ecb88e98cd000c1074b3784b -IVlen = 256 -IV = b2ed0388a71c5ad1e7c0a38a38b840e319441839e101d5e955fc10d608c476bc -FixedInputDataByteLen = 51 -FixedInputData = 96a87a7609d813c5ca970567b4a57824e6da74e8c4a12f074ef3b357e1509401affbe04217255c07928a7d60020e6931451a1c -KO = a308ca7465678ed16a8421f793271ba37d07f47b4e7bdd0f5a93b2be8f54dec5f3dcfed7381f7e469a35e40f1f4020b7812f1b55f02dd9c7f00352d866952eaabe9ced936d69 - -COUNT=21 -L = 560 -KI = 2b2f6893caeada9de3e61d59327f98f58fd7f847c5a1bad50575745db2f5f8d7 -IVlen = 256 -IV = 02a47d9ec18b4cd7fe37f169e989b3476c699822b6080774e854c79b7c623fb1 -FixedInputDataByteLen = 51 -FixedInputData = d602fbb8e3c226a5d6708c6f2f1eca1bd5b7f588560fb07072ba730a52dde97de273f2f1e8557c9db3d6304c7259c4c5e6c479 -KO = 963f533a1324093f0a50ed3b59323f4166171cf8ed5c1bfbd6450d04c23c35d38789f087b025afaa92bb364497be7b3e1cd3e4687b5b3e77ff3bd9eec48765334183305bc612 - -COUNT=22 -L = 560 -KI = 65326de0db2a9abfba97743add74311100e99706c735b0a454b88519b53b8a01 -IVlen = 256 -IV = 09ba99697c8ca9b0da68b11c5ba705221bc0cb242819b7db44abb0faa66fb81a -FixedInputDataByteLen = 51 -FixedInputData = 5b249f319632d10628ee2ab69d9757f39900f6cb7f1ce8d321b44e1588ccf329b431a54278507e3d5be95a306fd7ad8b773a9f -KO = 0071e0a15176e68ba2cb5248c72596788bdefa0c34232b0bc9f1db8ae0da48a52db7e56c997860c101704f6b5be6d902502187441eafb6fdb618d151c8557a5193cd97f07b51 - -COUNT=23 -L = 560 -KI = 9a82f3ea9bb1a2264aff5830cbb216f332210817e7f60cee1d56c688d0b7a9b5 -IVlen = 256 -IV = 5cbe73885c9865f4647fdcdc88fa5eb8ac1f301f70a5eefa9be054882e801975 -FixedInputDataByteLen = 51 -FixedInputData = 47ec4157b57e1155c98394ca0dc842d51dfddc8814a4e32b49d10e8a8b52164615392dbc6fb0d49eb6be000456b3e38443e375 -KO = ad0efc0507496e1d7e3cd7f70114f3e58e7e0533b6bc4238ea411ef1685fcc4bc84fa7c0ccb265956c4fbe4c5636a803ef4e73cf0b69e432c0e408c04b07bbffad25ad48836e - -COUNT=24 -L = 560 -KI = 124fe45897095488ac240a07f4cceb1254aff88f7eec79884db4c94baec0b520 -IVlen = 256 -IV = 10569fe62ade8d2072c3bb8f4faaceee1938998d720b3e6c77fe55bee22ef411 -FixedInputDataByteLen = 51 -FixedInputData = 2e631fe758d540753e2096d56575f7c9f7162b323782e9d9c6fb9560c0426998da32f58fd97e402867eeb4cfc9bdd76fa64a55 -KO = 1e6115bb6e7fe15d7430b3c59e5b9da9ab5dde4d2bfa9f38d430ceacdc075ed67e2ead9f4d5e951dfd3d78908957807b0eab3e78886b26763a856eb2b6a3ebd8e685f91f7095 - -COUNT=25 -L = 560 -KI = e5d8760155a3c23f97efc72e084d466d2f7c1a31d0b7b4ff94eae73cec0e1bac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f984ed7b5137f421e269b71fa243bbb27eccad7bc761bcb08cc0bdd7e852548a9f888206e0383e79cf6bac4b9ea421b53fef8f -KO = f26cb99508f656bcff8edf680a2788e62c15074133b9f1a70cdadf99ededb334020951685294f96daf32cd12cabd7565fad81b328ea6b01d1da5567e81af8d0de6b812ff074b - -COUNT=26 -L = 560 -KI = 4ee6c77e6eacdd3015c72cd462d71397b86274fb74dda9bc7ee9b1686219b99a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 418b2dd3a30594c63435c8cbd131f4babda2ebf74a05d4a590e36f1a6a2d56ba79fce4bca2c2776be9db9f4bdcd6f7b564dbbe -KO = 014df857c1745d6ff2c763476a4b1f65d5a3abc67186d93daa169920ff3d7e264ef09e56681e16a8d3c14d09eab47c4665598fb40bd33fc632541e8b49443f4ae70a8c2d10a5 - -COUNT=27 -L = 560 -KI = 786516e138c35443c341fe1e41724debacef134583cda59092bcb7c849da6eff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e19bec380aa2b1970b715b8e33006f437c993e5cd3c379677af188ca58a401387602135566c902d2d97ba2a8702b2560818e9c -KO = 14aa694fff7c24742b606df9c7abdaebe31758a3f90927d3562daacf0be768e0deaa54ed47087a75e1090d0c36421afc4e5f0d76a54e7469b45a3d3948624dd8062670d77caa - -COUNT=28 -L = 560 -KI = 7eaad15174f8f529b32022c5d03b233da70c974ca21221875815fd4144516749 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d604c521633b824992d54ecbe24125831e59a9f5b48448c0d3b2d29d28326f59bde876ccac999c4671c6e5ceb6c6f2ad740ea7 -KO = 74afbc88e6688b708f40e9adb08353a7d8adf7b1d65132ad928c81e176e2b0ae6adf1d58ca0c99521070f744823506b2b732e2b3cd98ae3bdd67dea8c1786c4a7559699fac60 - -COUNT=29 -L = 560 -KI = 9a82c7b2ef1d316fddb3472b1dc0a13a86bf59a71cf3c04ebcfc52aeb91604b9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f172500b21585c13e88db170e0c4737c62765df6caed2fabca25a134b925ab0af4bab084e9a45bd90be2a085cad5cb99be4cb9 -KO = fbe613dc53b564310039086dcae096491a3428bf78123e179d2485182a55c3f9928643fa2432faaeeca72b016bb81105cddb7623e383850b7bf0cc46512eda6cbeca63381a21 - -COUNT=30 -L = 2400 -KI = 5f6f09a79191e5e9b4c1ef942789d35902aa39fd044dcd7979496234707b338e -IVlen = 256 -IV = 7fe26055de8ee1d7016ceaccacc548048a94d14a7c831a3b640cd9bc61d5ea50 -FixedInputDataByteLen = 51 -FixedInputData = 1cc240368b8058f7ea9d57afd6c089148fb0b8c38c202be36769945e8ce9a376b4447913114331aa687c5a79027f2fc330cbdb -KO = c98083bf4e5222fb621a4a0d5819dcf247c992289a2f9ad33387b2495d41b6f387fb7ed0e9054f1c06152925d4fc3909f5d69e5cd20351a869b71e740be95ee4f2b2b64c639f3ef0aea5c44b3c5f667baefaadd35b6dd10ac79b3df0f0b07e3edc89126d1c253dc9bd2963267810cf87b85716e20fc26fb49c8ce1efd6772dffef94286f68f33e0bf7f7cc196cbcfb2f2c8b3ecb6cf5426f994b5f6f42d0a068ff616b4b3aa5f20debcd90b0bef148c48aa8d49bde712a5a3da5e752b3e82ef193012eb8c1c9bae0d0af147a81eb1f97340e3a61dc3c4c297b045502a839b566656d7a59a5c7360ab0073e76646ac983dc71317e99818fef2932bbe104277ca60d905f1a8d8c16d67af140785db30c05d3ca0151f483fdc7ba3aae159ccad7c96b7c463aa6ef425051830035 - -COUNT=31 -L = 2400 -KI = 8e73d5bd0ffd6da7bf2fcf5a176dc3ec2dfdf2e1b06dcb41a808e50f272d7a81 -IVlen = 256 -IV = 2457d770c893e001a6120ca5c103cdc13b26dc88d7a68f158609074019386ef9 -FixedInputDataByteLen = 51 -FixedInputData = 10a8e9032d7220c3bc2c473b3336478a8f7d6f2fd857d52593e1766b77b3f0baac36017cfa18410549463074378e2a700382df -KO = 85a397a3956a2dbff050261827304212cb2d81095aa10eaa2e387e4c2c429284da11bab6f2acaa681e1561bebed04e8f25ca2a41c6dc82681201b11c2099937b8055205fefe6f5ebdf3c985e9c046fa53262306b4fdac96f2832bc546fef23b574eb7536beb2049d2882c7784379904dbe4037811f7906ee626c6b49755c80e0214de4125bef59a69686a03d9f7084107438df77786e89078e3a2201694cd90e71124f2634c7a717942695eea06bcfd7f597da4bbdd1ac688cea979dbdaf274d464bf45bacd6d4005dfa30a487cfb2b8ef84e0dbc60c7cd7e8cde5d71dcd431fef328a629a9057a861fd451f0b2428618594d3fd71b358fb7f4cfb283d2d06039c7e8736020967e312972023f53650bf77f9d47e202f0628adc74f9660203940d93baef087a6ff7a4929d814 - -COUNT=32 -L = 2400 -KI = f09026b1ea5c4a7f51c49902f5f347201a130fe2e3b1f700edb4a9bbf09e4878 -IVlen = 256 -IV = cf2a1fe1180f952d114ed522601db5a64d839e25379ca08acad60d543a6981f0 -FixedInputDataByteLen = 51 -FixedInputData = 7956714908fd569b91b025e0a0895f2b0050d2f2fff1225fc6512a6d56ec17f5548696ac5c218593739b4797ee3e2d87624db1 -KO = 5d7a046d5bd1aca87d3d61d3cf7ed1d728db2e13bd752ccc66d5ae1830f8d054ef564642f7ea429aca97701bd0f569b6ce6998f8e4c443c9ba4226679225975be3fbf449063e5e405d2f9fca9a0e162ea093165c5e0fda0f7132debe58aa5ef4eb732ee112528fb1ea8d9e072b484d9c2d4e78fc827955e07d1c48794d538c3a15e5b99e6f59e44e62dd022c76b59c8db0a24dbfcf85c6076dafaccca2618389b0ff2ca3879d09abdcb4c9a36fb206cce1854eb61a33a8948f33f6a8a78da19346d5958b69a7136e8781e89350c3173370ddaf0c1db85f253befddeff34a0084314eac22d69f51e1d917a2686bcd8e7360552fe939ba987f6148c225dbd7a8f8d4e6d4b62805efea641532fa7a6b71da8da835d51c70962d1ee6cf467c74d09c4b2b2c36c018df4ffa18f5e0 - -COUNT=33 -L = 2400 -KI = 129580a1780995f7e5350aefc62165bb550478a05e5217d6f8a726de0e8bcd1a -IVlen = 256 -IV = 264517ca33f5f31c6182a983d05df73207adff187c48480259ba1c5d9cd84113 -FixedInputDataByteLen = 51 -FixedInputData = b537d246010de9213d71481f938d6891f810e55df16d501e1653e79a79912467c51838bba6c0e5282d3fd704b24227777ce939 -KO = 1a7562de44282f25b037f8b8b84a7abc1b9ffd1c51220e8c5d202d0bcc2b92fd6b10391edcb709d68912320d9a1c1fb056de2a6ce4e5c853e396d122cbc9fb7837a99baba7c43abcd008ed6a04a32dc0f8b9870828decc2d20df6a47e956a13b942efeaaafb02b139ac0dcb77a0275b572612a66b1588586262bc94c927fa82988a18e98f41fc00e157e2a85a903123ccc2fabb2b8e646eff98049575ccb73ff0aacb7192d9feac1fd807aa6aafe0a86628f600955b18cf3fc3f401f05e8143dcf72a00d850abfde9198c1df13efab9afc20d3b45d2ea0d4d1b4d2b00bbdedf222119b9c3a940c7c4fb74030ae6a0eb2cdbba7a3a8c30ef7b30dba44a8a994f4cde1b08fa3d77e032549415cbf0b3ba7c7082f33fc2d4268459147ffb5aa49a2d58631672cbdcd2e8a199c85 - -COUNT=34 -L = 2400 -KI = 80cdcf9b2e8dc2b6561358d75389573e492aa4882aaf232e0001468f5d36849d -IVlen = 256 -IV = 043fa8e5cb6be0b31a4e8615e42e7fe4e41ab311bac59edb6abe26384058fc95 -FixedInputDataByteLen = 51 -FixedInputData = 577d62c14d1b9650b1855faf9b1f1d34e28aceb4c7ab9ec4759f94a49064d2f6742ea486bfce0e3fbf13ae6606110e059f751c -KO = f7260545ea178f4d19a3b444e39a004623abffbc216bc7f7d482ce9a80543461052b83d843c3d5ccc0ff85228a8837b49bf24ac5934cf3f5bedea0b639271583642d3eb5f75c76cdb1e7b52385f226b68aaf54ca09feba41af55b14899ab999a2be504f7603f5fc697c545f77f0faa71d606220060395398612cb73620c301248ef8504b4e94bfaf713ab4b8b5ee4e3a09d6ad4b254344147b9b6f774560ce625823284a85cb2ce0ab1f80bc231eba6316086d314547e096aefcbc1ce1bee17c98c8b07af64fc787a8986e49f5fc2cd01e083a8d87fef4cd37381eb7ff7194d12d3ac4abfe56ebd7817e567c797eb56cd4836f42d5606733b32c23fc16db46c7221fc9d6c2fece22f1f4e49de19d25cd8c8b9d9eaaa907423a33400d941b9a88e1bb998102c7d91b093203cc - -COUNT=35 -L = 2400 -KI = 0ddd1d511d48258887a0d2131968649707ea33d7d7af0a17885f55f5fa50ff03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f3f64075736b31381ffc6a1feb57ce9d963dd6c94fd28936402d917e63b53dad568429e7b4b2ec7ad74c6a5b2e6ff36094e0d -KO = 47e8c8ebdb0b72b4e5d2ddf091b3b3721c9c1335564b14e3c36ac679ba1cf0f85578ef933979d70ec38f2fa8717ed57f4be4482d9755defa466c9493f1653b7bd431a55b7882fba168dbacbb57f58734b45e6ed7ee6bf30e463ba04bc7b48dfcf9f3f19d4144a9782ff15f5fabd1427a3c95157fa087badce042d56fc7eef5241f4ad97cfc6f73827d036299d417065d0b93c9ee43fb5f9ede680a1bd0c831b4a8b4fd12d63d48def41c5cf17fdba6b47934a716a70ed35d24135905984dacccc98ce85aa4103293fe40bc29bae55f5d368f7e478a01c1662bc8769048d053a4e210de9ede5592901e260ad6dbf5169f321323e6bc76cc1cf445d1cd559a3481c4b671cd2916c92dfc24e97a1caab9e9255f0287ec5050c8326e7a8476758b85bc19d3a5e44a6ef1fa4feee5 - -COUNT=36 -L = 2400 -KI = 5765a657e41f0aa299c7bbab8ac517419af41a7b7b1d83ff0dfe26b09169e552 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c71546cb1fbc4df7c11aee32b7e7a2002d9255abe688023763cbfe1cc8c532e36858ea5ec0970d23ef7d4b898b11a6121a31c1 -KO = 330fb04da817e0e314c35c75631390fadb299ee45f3ed2075d0c77abea7a58a0b32655014c0be1739a7dea894a808046b8e9edd720b71c3f553cdc6875b46af3af5f7284452205ff774a5cd85f8de307e60e5b5343aa2d7bed921be969e9ac0f03810ff35edacb57faca4324ac47f962fa507a9b463b4974ed182a899147158e3a017ecc360fbf5e718e724501fd695c0cc84d80449b8f1e7de6ad72564775b6e0a468fab1033c49db0160ddb4375e827e407544063bbb0de2b6d385a380073cf813da855adc946d29b682218031e5ca290178b9af41d7c042ea9a59b934559120a12b96838bf75ae5f8732c37d2f8229a7523c9b4b17a8e34364de31c9c759b026b4568fd4caeba1b2c3a6f0cecc9609e5095b1ab0307787ec9c6252a33ad0e5b3323ab5fd08bdd4adda413 - -COUNT=37 -L = 2400 -KI = fa1da9a743a53c71aedc94af707bbbe8d38bf686dd00b0b50c0992f285d937dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f48a0c8d507b1b1b51461ffb27f4d45bcdf1541d9927adec843fdd08848f1cc274a0ddde5c10b5ea602afbd67358ec48abe04 -KO = d794c7b5ee3dd2b674112d883113313c84f4c03116c2b0c58f1bf38823a3fb07a42a3a67cfacf18fb366fb21f6043f82754c2aad5335e3064f3f682a250a6c712fe483be1a29bd24d2ac1bb86b724524b06583c7d4b7cd2767e1108928ddc64b23cdd91cc5e6bf9e20dcf47d19ace804f280d664e65b625ff61b72e66e14d300bd55e848c7f52d5f0a5ac452ab033056c2d7a38d2983204a6d5ded1a06d67cadb9f4397e803e76e46f8fa5b5d85d2410ae219f78b000486033075db317cc463506bdc2ac81d50ef03b454ffa315673415979cb40bbbeda5ff394abfd85e142f891b1d27feb22730080de926b63aaa3b78ca716660c74bb422cf0b295ae0bb54637c8af34884814a98bb032724721227055a65fea1905695428394503741ecebc987684e4abd6bd7d05101af4 - -COUNT=38 -L = 2400 -KI = 34cafd4463c2438a8c65337adb4ad322d2cf09ae6a96567eab2b34081ddf9f36 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2a3a84ffde1642deb9bc4712e46e500237000170e4df971ce1439047636e471880bad6c0c38e2a61537096d15b6de457560954 -KO = 4b77a942999f1d09370d624e92beda0d2c5b55f4fdd196a7efc5d5fe449e93f524b224b5f0ea3c1af3e19d70245f34e2da0d5745e457457d297ebe3209a7c829656f22a8305e0cc04d66f2dc80542bc7ef64213328c6618b566ddbf0f9eff4ecba8635cf3685a8d260df68414fe134547f56de68295595c5fc3ee1230b9f29fa0d19e8e6785b59894faf8bf532622f617ae48f5595a7f554c3f4d177d832aa9a948cc36c03a7f54b6ca8a91aec198b635b020b9aa92f05887f475ab2100b62a4e2cf0d5c364b5db201a2d765bc573805b0e639324ddd816c3d4058fde6daa5405a5e8d2d6da0a26bfac8fa5e90aceef39cf3f20600e20d99f3ad5d43422b1f5c870807123278c0ef982c352f2bed546931df2b16a45e1b6eb52cf9780823c9fe1a317267fb23f6b425508827 - -COUNT=39 -L = 2400 -KI = 6628f187c462eca8772dd1abb466970d596b0a97cdf654f62b44050ad99f1553 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6828fb37b45aa83ce1e4985ed8d72141bbdd3e8020867597dd4dba08775f1885236393d18cdb0948b86b112bde6fef8765d172 -KO = 862f8ce5796f9a3a0f57ad269c44465e26540ba736273b8635ef81b77ea71ebd74b0eae326c1e09d55f098dfbc105e49c412eb0fdcd71116cbaf578ed96dfc7aa1b671831bda24983c2946b7a0683d6a7c3c9d53b428653c42679f016d0842dce129cd0f1531e41e904dc57827c64fd013adb3438b9ce9399260e7a0b65b4baf6f12ff79384eca90b03f438e50387b3e897aabf654cac2119d8515d9c9371561f01ae642f9b177223028a5e02589db275e69a8f67133f6c7121b062b1c7cd23af4a8536da4946a873b27f456823eac0721fcacbeb110b287a750516a30182a8634601d70065352c9d002e20ad6538d0888792476b1eb1d23b2ce48a36316f225870a3af57af0f1e629894f5323d2907292fb58fb933c5b41c288793096c9a149ec663e3becfe175185423f36 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = df99db5dbd23caab696c2d26a43641e2de62eb8dfac84b7b0e395827d450d4ee -IVlen = 256 -IV = 82512d329c16b703ffdfa84cba35dc846ffe5e7f79dff5f6a215721510360939 -FixedInputDataByteLen = 51 -FixedInputData = 3d0b221f534d7458f1b6f05b98db30cd0776c496b4a632313af5915a5d7f15d84cc98d31c896e801acf07efd04680645e09118 -KO = 7fef9ca52722eb7304d45854ddc13d170d7dd8f452277f4497cac005c145bc8241c20d7100bb0f03c314d3c0be37f9f99e634888e486855be070fd6283cdc0c1 - -COUNT=1 -L = 512 -KI = f787c8987ae8e36034bd1782a82b75ed4eb7f793e356cfc3438db75a1a8c5e71 -IVlen = 256 -IV = 9af5c15fa62f51023302182d6162eafd5f2c493fbcaca3542e92964e85a5096e -FixedInputDataByteLen = 51 -FixedInputData = bc026c6293e60a837c51d4e125d426166ada7298c1c8ef709342d4868822a76141a171f4f121e22a1aa4ec11fc8dd89a7b28f8 -KO = 0b6cebe27d852e399c6ba7dfc2366b7b11d14a0b838d53964f241fbc75693bb36d281e2f2a577e14e657bf61924dedd223f96a4e5cde8246fda561fd80fb4e9f - -COUNT=2 -L = 512 -KI = 23059404ddcedf00828850f3122e47f5c2f9ece381fc4723df6338303aef2a92 -IVlen = 256 -IV = cafe096b614fb71e7361d49ea366694c4421463a514aa25436397c2f2082da86 -FixedInputDataByteLen = 51 -FixedInputData = bc637a194f26a86933e0e985e54f54a141cc00a45400b1712351c7fdc5ece4b3017720cf8cc6016c4c431b5f749a014f053f2a -KO = e80dfc1914faf88bdd2215857b944eefd0839f7f1022ea69ea5e969b8f30ce589135733520e2ca8ba5c23b7416ef5569b9fccd7e85385bb7c8e1584068597495 - -COUNT=3 -L = 512 -KI = a3debd0634e7a59342da45ac3f900aeb00f831c6b9042c17feb6249fa6399df2 -IVlen = 256 -IV = e9cd082222d911dfbd278183cda6fa1f5dafd50a7535fc805fd87797c6cefc06 -FixedInputDataByteLen = 51 -FixedInputData = 6baaa762c832af7cb1692a88f188c18f84139bffc94d484c00d1cd070f7f1818e6cef1ed6320ed1dd6cb4af6aafddc83acb2e3 -KO = 50145ceef1843ab854dc37b220b7ed9395760fc042dc6028db51a204bea7c65f7c2c764d14966c87aa865da1c3c97aedf47a32f0018d6aa8ad165cec43d05d5d - -COUNT=4 -L = 512 -KI = 1f5635f9be7a99a14fa733e70c4ba33d38859963565dba1423dead7c7b76d008 -IVlen = 256 -IV = 842abd8c59305f79db1658f3884afbf5765879eb88016178323bb2fa57636296 -FixedInputDataByteLen = 51 -FixedInputData = 7c573b94cce925c935e70bc74c07601251acb14dbcec60d49145779ae3002de3c783018f6d02d3e1d79f5a98dc80c5edff357b -KO = 0ae4cd35b8510494aecc81f68abf7eb6e346526704da2e60bdc22435df767e52270b9e6f36b8771959aa410e9cd9e87f51172b9728214329b3f2e81c3dc6454b - -COUNT=5 -L = 512 -KI = f29ddfdbc2c5374b9e2a068555a96bd3790df31247d13dae487fe37a91aaa13b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7911dd5e95ac193e05226b3178bd53d92c704345dc6b8cd57c435254f44068d3504e3d9f1db7ce39f90f26c0bc8f6883ff7739 -KO = 56e05d9d4ef4cdf74ce201e936a1021b8bc08e8cee1b4ee99b7e6d6ff276b6750f4deaada2c89ffd402150be465d68afc70942e3f39b0e5adeba9c01ea1177ce - -COUNT=6 -L = 512 -KI = 6ef1c12772c408f93d5bdde4a873e2812d14811f80a09d0b556a5fb12dcaee75 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e32ed9da9102a9c97410ddfbd9a85dd5fcd0238e35aad08122f0223e2d052a228f9d48cc58416349f41f47541b7370cd26e449 -KO = f1903be1509ea8e627700129e2c4fb8c98a72e2071b23c08eb50a7324a175a45e0bf7320cf2fc7d8533779ebb624f66ebab81669216f7d896c68c0c5c3a912f3 - -COUNT=7 -L = 512 -KI = 7dc7e66adc4969a066ae70c07e964e717f6e6cd329dcfd78d311b7958214bea8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2af126cd44554e90016eef2d71e889388440f99f5ecba1611b7cba761de182cabe65a6b58db6fc1807ea302ede564fc77fc296 -KO = c9af02170dbd2dfbc658d261257ab9f9c1d9bd84f7c63dd115ba8a09cd908c53e6d93387585b123e7edc4a4805a79a24de9c38e97351c61218940cc601288a51 - -COUNT=8 -L = 512 -KI = d5bd0f7a2f436007347755ea72c8bf5444cf33be4ecbcadc05675b83da2d1df4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 225c59362cb3365d6cf6e73e3a784fc81f6fa2c0aa2a3982f3615345cefc6e376aa4de992d6b5ad96432ac667685e2f4921643 -KO = 1e9d8468372439c9ecc3f937e0913b48c4a08ae1ec9a750b764553dd778cbe1cb9ad874231e8854f6e659d9b977160f280ba8f62da8a6ae8a7f321c36a6ad719 - -COUNT=9 -L = 512 -KI = 8c907cc54b69c2392a362e1753ef9bd1973dd994be7c4ff22230ef2a88a693fb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cb1280a9c4e0d155a49bb66300759810dd02705924afac493e15f22f3fbd88f78d294769202086f0e7eb85a772a8e86834a7c -KO = c8b4915da709c1b8129ff25c06e03b6dc73360e0aa55aa01cca9cd202ca4e67e2cf7dada94fabdbe3f612f274a54a4b7f9214571af1bc1dc645761a1638c8331 - -COUNT=10 -L = 2048 -KI = 6e32648377fe1ed24f71053e2b09af8c38a60d41ad3377263fce6fd576b2acfa -IVlen = 256 -IV = 0d2edcd6e1ae820f7be717e3d7df61accb2857f5573f1a8415c042a79410ab98 -FixedInputDataByteLen = 51 -FixedInputData = aca6e63aa4345d32f234b4fcbfb16994fc9d459aadf818f10525f10a8e817e0ea93e89be8307c7722d7f79e006bb5f8a21c516 -KO = 3706c694a25e84efc3298c90032b5df47344ba822bda1116f3c585b5c82efecae0286632f4f6d04262a25e43035cf9e096c0df0510feb3f8214891e4954947fc114664038f93d8d5b39d1e0e858067bd1f3ca5f6060d4a7b0b8218136418f4d0f81bf517bc5115debc16cb0688c936dd7ea7c4b8c2abc09d4e5eb9abc74c361aae7dcd05aacaa6decfb8e1d4ea0a897e9ddfb8519ad229f1dfc51bca7ff5ab9eb7d3067fe55d27095a8ddb12de96e14716138c880527895619ddafa0159f9cfec439fa19e0c56cafa167c0a9b1ac7d361ba01a74274e8e31a9cf64f68b510103f9ab762f033cbb3f7618d8a309d991ed0eb59e78962b7d725e965ff1cd7df60e - -COUNT=11 -L = 2048 -KI = 9dc57c899c0998e7e0d8c420f668e02e1a18f06f34f521bbcaeddca0b1cefd3e -IVlen = 256 -IV = bd4d97311a03e959c9f24be2dc79cfb9ed85cdf957903273fabc53178d784188 -FixedInputDataByteLen = 51 -FixedInputData = 979fafa7e5128b61b836d7ed145ab06047f07eed69f2f2d09af8bec7e6e3fad00bd5bb8a5d60bd551c40b7e86ff176ee856c4a -KO = 68c11ab845a43f0c75ddd9c08f6b7b0647bb58d1aaa34f2d46355cb4e614346e010a35162d5aba69b2269b45db053b555563bced7ae4d7c1589d6c21ad6374d5012abe5432354fdc3f1cc6f6366c7a4d84ccd9b75c1b079bbb9fac85ebdadb0da612aab71b19c525f1ee1ede77cf504913a995de38de134cdc03701408b77a2223e729375c801c0db6c775165512c1af30bd2f0c2b02dcd48a26d122efb041f3fcf0b32fcea1f0ed37b3bd2777593344a76cff3201875f3e08f7087e0ad9433d662e4c6134a70d6ab4e06a756cca0d34c473ab365534bf64b4bb5b236962ebee66cdaa7bf5bec96006a420ac20e9fe098e7c0f5897c44df807c95b1a451d5a5d - -COUNT=12 -L = 2048 -KI = b30736db0fcbd9f5d318e7ee39b7fbe9ad7e2ae968113da25d66b423f9b73168 -IVlen = 256 -IV = 61f8da75d57a5b62a43ed64643140afd6ae42e57b9c020943fc7f80f30556133 -FixedInputDataByteLen = 51 -FixedInputData = 1c9f955e70ae41f9013ee8eceec5840e363bee4cc9e5260afe054b76477da4ef8afd9a224777778363152798e40eb1086607d1 -KO = ef7abdbf3a432f9c6fb006b055e53715f8d54a0c9e337acaaa54751e45d41599866ffd6433813f1089ff2d6153ac8db087bf23c128f094335de208f94bc261898a121f78e56ea4056b3da1ee6427b2daaab097ceeb99d1d1d74f24385037abda608db4a9b980bd3d0d57c19d9d5d1650aad3f628c8db8f23c7039b0ea6f3eb8134bfdb6726fb655922895922add4c0bfb0d7ea5d93d6cfdb2fcbc6ccc6343cdf5329d3b82af156adc3ab5f8b99d15ca1fcdfd1cd3462e0b04a9e709b39e0cd56228383a59b779ba92b5c09e01312fc8c29ca2becdf1a49429e4168b3fab27bb5b151739282e7a4670614977ad2b869371d07a22f48983589eb371ff4273755ca - -COUNT=13 -L = 2048 -KI = 9440e9e3af05ed64f10766269028e9cb97b6e87e4ca219fbaf91013fdc316116 -IVlen = 256 -IV = 322bd5e772ce4d3b383a30a08f6b28b6756688e1a17f2c44a47daddb86cd4e89 -FixedInputDataByteLen = 51 -FixedInputData = 3a04ce81600a2ad6a60909b28eb0b571d5853564a321c4361d445c40edb512a1daa5e16be4367d2d5f581f55aa0c7eaa8fc6e2 -KO = 9a10dee2cee87fbc5ef8eddc5169ef87a8a21fedb5af8888be9738da962e9c205d7d83da16b25f82024e84216a3507091424db04bc395510e2eb935630487e3cfde1708d8cece2b898f3b6c663c8fd0aa848a55e3bfd42c26961a2f3203cfc8fd27b47947d8485adfda21173001d17c14ff9618f1a076bcb384c710f13d65bfd6345eb620249323c23fc2edf6f24475645a9533e56df0bd4deb6320edfd73491345919a2051e8797ccf65209b881dc579a177a727416decc8a660550b401648e103abedd908b1fa1625d645a10862cd5d6c1a457d09c291ca559044a858f006b9f1461c0ceef398f0b76ed3c3ce3944f7e2bf8a9aa3a8986822523d9896bca35 - -COUNT=14 -L = 2048 -KI = f164ae62809967a93e9b5050ccd6c0ddda10a0e33c00edf7fd5498fff73b77b7 -IVlen = 256 -IV = f69188e9b225b2f567f0c278a98cd1a070f1ee26a0fb1c934f24316e43170d68 -FixedInputDataByteLen = 51 -FixedInputData = 6df884f039bb2e13ee6167efc6805f3ab278d87318a360dd8cec7ac1710ad14acc896eaeb505e2cb991bb6c714278d4ebde632 -KO = f18be4c90192d8020babe415238b45d41c33b6665794de64d72ad77e6b6a7bccff96d3890c7e51e18c03423e5511303fee551edebade2a733cb92b0b0f0e4037ca3b7d190a01092ef50c9fd9cc3c335884c16a6591d052db6e340b5137aa885049571f59b0e8a75a6d7bc7904590e3e85b1c6e35ae50a5a6c06098f435e73e573f730989bd17200aba4aad2b41a336e90704d3c4da6e8f56e4739d000e50eda64de8f82d66132d7c8ff294d49665c29d2b132775891a59768d139373375aa83bbd5633e350a293671b90d941fd0b02ef8b531bf3631f6ec389e7c8f5f2e84699b23cf0cbc4080ef323f6d40a17e0c8fe27b7fac9c14c3ada23a906d9f5af6e38 - -COUNT=15 -L = 2048 -KI = 15cee3e24ff232d85b1d814295a32276c4069d02ef9a41eb1d4229b731fef8e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 550498decc4dfd202923b778040041864ecc438bf44b8a4c3aabeec8da03c006aac36b4108258d71d032b9aacbd241ef7bbf4a -KO = 481a28aae06887e4913139ef7e4384206c3b168675ce45a29ddc7e22f8a2b5a482bb27372c0cedb4207aa7b217fb4c57f4069177c8a751c1c24968ec38931c7abed5cc14ec0a37acf7a5f43212f922e012481ab363f229388b83d3e319646407c96ca6df0646fe1731d92ee0228755f61af041f216f45ee4ebe8a1c57bd4e03e2976d67f897003a0c064f80ac04f5e3159881bfdcfed14bfd6f1b3ee68950d0f64ebd54bb06161d53bae0539d9acfbd658f1b5a620c4072f9bec59abc48d03c02b3fd9d301d37f8cbf006f300f5b24137caa509f577b3ab76b7b635f777520ef85c1583bf5ef25b5248aad5fbbec89303117635ba575d840d2193d79a16e8cdb - -COUNT=16 -L = 2048 -KI = 61e3648dd0ea3cb80097c12f55d68f5cd4f5a007e85a2733e7822ea66303d7ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f36328aee48dc55fc5bc3130edfcc8b386aefdbb6ce230bf94e3a65a8a9439dae3d6568a0dd928a640ba7ea413e5fa6ab0c11f -KO = 97d8d57197560625638c18bb400d930e4ca800b90739982289716fa1db0b8eed4ba7f79bd698c0e03dac48f3f4d2d2452b4bc1e6889eb6f3de1a0d9e895c20074019c2c19da67b33a88144f194ff55ba94e5efe06d3467f944d0a7ae4c7481504d719456d7ec6a7cd36a30bb3b5449134c49b38531b0ecfca634d78d4493f971a3d293282309e684f1604d3900b2bb5fd22d349f08fcc4a1453db7d33a02dd887598c3ce54c5956543caea2f3a48eb84b8f1b91a88d613f5bf692f8814a176a5684ddb80d2161d389c671c823d7c150dc0720779d24b52853f5e87de3f3038b044b20163bef581f51076595bacab46d5ec75e1b59d7e02f4774d027617cf0e64 - -COUNT=17 -L = 2048 -KI = c4259d4a126528f42d6935adcef8b5617abcbb65e731841d8b18c1947b91277d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0476aeeb9767dc47dee371e205b6cbfca94fda75c05b92d0bc9be3a5e4e011c5ce96b7888201042c91bea89780f4323efb8a73 -KO = f380a7ade53a8a00e3a244e0c032d54a078e23a7ebf45447b6dbc794be2c00cf7e47077761d5fcc04f400be501f0a814277b4932089b934a4d8629012f4247d5b918ffef4ee009efa69050f77f5faeac9111091884cb5db2d01a024eedf87d303d38cba14256b36e07ba76a097d5265c66b420c0c49c49719234b1cdbbf286039f476af70a8eafd612be0b8aa8ca978efc05bf7a48484f86dc27b952e692fa81a0f5e8766cf3df6f08be786a94fced4e6399a1f8d2e88cc72b3d2318d5818ff0fd5bdfdf3517ff7d1873dba4ed2a23d2c9ab4c67fc7c1effaf4ad166c1e11d590182ede7f8ed8e83aa8c82971cda67ffc22a5953954b5d9cdc88f2667c8b1e35 - -COUNT=18 -L = 2048 -KI = be9d23c978754bd60ed3ac69397c5743c7e627470440ba79d86597c4da2b26b7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = af543f18cc3d7cb2da6b98ea941f96081e7b2ca9d33585ba831619da9eaee5837c648c1fa605f05326349e487a117e58692cf7 -KO = ccf97e39c74f3c12e655ed6603812a308659ad8691db258b31788e6fd198a7dd3deae539257774404295cbb85ed7aa0151b03743e86a2ee1ee0d6af04c709a93d82748111e287a8867d1de8501328e75c6be2c6ef5c2899e7367d17e5a3d4c232b2e635630250b8e451bb1cd17eca2f3bf63ea81ea94e2f9ff9b9e9e8dee302faa935e2a80a418695822a231594731c028902e69a9d5b10d435db1e107bb4bc224aaef9d43356923dc46b93fd52dc14680fec801f59a4fd865cd9edae80f98add14aa17067a418fab1be9e59920d6c82bbba62374d3b872ce5ba3acc29cc721c44bb36821c4896bb1cc13e9af8dff7f2508abdbbff97b7436b9003f71dddf101 - -COUNT=19 -L = 2048 -KI = c6639d8818259abf996a2bc62bae0499b30e671556eb4e2478d2074b6b13ab92 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 12c785f35492275036914e22b37801dbd46b2a9c73dc65a4465a05dd15411fefaaaee80c7261030c39192d1b67e0270b69c2f1 -KO = 5126317cc8f8edc09b773ef097df475c2f97a45dcf318f02d8158880c1d8b9d877f5b1f74e897bc271322b16c44811c2e188d865f2fcac0b4fcd08ecdd54727fdce8df6e902e6f3cb509bc94b7089b12e3dad833dfefbcbcc98e809c3b1e5ff21e3b9df1d55382da01457aa4755a630de50a0bbc266e929df1eda543ad3882a825c642b1ec1485ff278013170bc278d9225bdf2cb4b32c3991fcb4d0172e1477deed9484fd69285d7b8301e0c082c8e453b8a0c665ef031ac648aca78aa5e27461d51de984412ce81dd13e827633c8753225cd7e53a7a21cd70160f79683b1c7a696981ba8715f43006142c363013c6876b3c5ee9bb5bfb254dc1b25e7151194 - -COUNT=20 -L = 560 -KI = 73610d4c4bbb244077809456a08c9d9af750f64b9679e9cd7f8975d7d1860546 -IVlen = 256 -IV = 2a1a54701a91253157fa6145a2b1831ec68b2967816fae80dcd0212f872d63e0 -FixedInputDataByteLen = 51 -FixedInputData = c0da89a8b040174b94d3cda6031fb32a77fb3dcae83c75297623d45eb175384d4e0f981cff847fef5cb8b134581db20364a6dc -KO = f17f711da91c0ae9295696a5dd236cf0b2b8768d7d863e09bf58e36b5d056ed17816494a75827a60dc63e9813ae2c77706de4e33386ff3d5a70807377a54d19fe92c45a7f4d6 - -COUNT=21 -L = 560 -KI = e33aa4435e5fdb9aaaa89bd1bed85465e627b6beeb19fd262f24606837fda2d8 -IVlen = 256 -IV = fae64231d84fbd1cf0ed2cd4dc32d70969bc55f1c364195eca460cb39f85afa8 -FixedInputDataByteLen = 51 -FixedInputData = ae337e72db44cb5b4603f2260e13b86eb4ee344db3e391fb1d95616798c8be69f175df65b813eac0f8736bc3863c772e2b2d50 -KO = b87fefb82fb61bd7abe540b209121867e195d4bae6171adb61ba81907715d7c8f6b3bd121db5d68e316ed4970669fcc2b256e66f8e506f1200d5e37b27d9f57409be63e57317 - -COUNT=22 -L = 560 -KI = 80550c0f18c40603cc60bbb15117c6bff88e291a5d7b82ff91802eed4b59763c -IVlen = 256 -IV = 7b1052e5c87fd4a0df34a4f6077e6652f6a2e4cf690350ae5fd265661b860ce0 -FixedInputDataByteLen = 51 -FixedInputData = 123c2efb3c31e9bcb3d5c6bc7e8be4c74ea8e383398b482f5978643969813dba4fb8d9e6a178ddf6e370f734a0b2cebc97fce3 -KO = c59e6c4ac7266fddc2a75e723a15472c6fee5933057deb8c6730a2f34ee6632528d9f81eff05f191015cc70beb95a1304c666e520d66c50c564e01c1063a4645e62dad42839e - -COUNT=23 -L = 560 -KI = ee718c8e62b5964a56e9acd4d08c6a79e9bb9e097487cb29cef08e3f41abd2ea -IVlen = 256 -IV = 2ba98a8073dced4ced9c5c2c60219e9298f42da3aece1d6203b6de9ffc5a066d -FixedInputDataByteLen = 51 -FixedInputData = d1422350816cd1a84ef8eacabd6e5a8defc2c63fd67314a4aefe40895f6c042ddb23ace82594615204a8ac5040275391f863d8 -KO = 38fe6f7271bbbceebc8221fab66637c045b818fdfdebaae351b81a88e5874e75c4d1a701f6ab28017f06185b67bfbe865bdbd77113dfe5d524ed32b6b7d9699770f75b2aac54 - -COUNT=24 -L = 560 -KI = 9d827a2304232ba089a64ed8d9427c5412016f2246134ecc0e1757be0538bfcb -IVlen = 256 -IV = ee0ea3192ab3e773cf00a2cb1ad62d30944a4ba06b6b0fd4244447c02fae88dd -FixedInputDataByteLen = 51 -FixedInputData = 3f6a435106fdf2557cffc6b7e5f537a9a5e8e947e9fdec72fdc3e4d0291173423d457a349c6dce9d8ce4b4e9a0d9a3996dcd08 -KO = 25b44c712cdcd51dc5382d5d3d4e8013fe3f6714fb11a420b8c1890bfcfdf88f12f424deb193ba9ccc9d59ae026c59a2244ebc42a77c15545ac693411bf239e9264e1e2aeeca - -COUNT=25 -L = 560 -KI = 9c42fe49714fe682b769e48159f9b3a200a903fb19e44c195f58c26e3c4fc8a8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2955037d9d3c34297c41939fa5c27de7ad79ef2842ad94d55fc346bbcdf171e9c3d70bc6c75e1211dd0df61034e2750016986e -KO = 5dcd778cb239186b575bf6276d17a7911ace4642b062c46b53613c387e2541195fa1238bafab3a98ec3b04032818cdecacf0998b0361a42b9d784831b3483209797eed507ad7 - -COUNT=26 -L = 560 -KI = a0248d853f9c2e05c55c8ce3b2ea8b1063f8a026f93d2c015ee86487220ee7f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e41100c9d8421a5899bff8b1db3875d9e5769fd1784b7a1c20832d5c5e98e05dab7875836c8dac548662348948bc12d3a5af8c -KO = dcdfd27c63990d957a4564518fa57527e1384f75475724ff6bb751ee6cec51409d26fd88e828802e9e0fb1b3533cc7c943b4b4bbd0082637355873a4d1905bac83f80581d53c - -COUNT=27 -L = 560 -KI = a029b43cbf91ff797db8a972c68dd3cb9962d660e0973f742668d4fe6bd0d574 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 383d776728ca9443a3bef164f72fea15472d3279151f7c7b08bef16405e1bf26955ce26f737105f327fa3059729aefc4aaf1ba -KO = b074e5a480c363d648bcbfd728357eeb5af3c331166a47aa99026fe215554ef66badb7eb06810799f3a27f15b7531ce3bf88edbe1bd2740c49e627dcc8400fba4b302363d932 - -COUNT=28 -L = 560 -KI = 95a8e73f74590b0afd992adceb8ac386462c5e2771daae098abb873ba7ef249c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 15ff64ff082d69213505a2aa439bcf18c19f8b6bad717753db6b9e90c4c2d71b080645de468670fc661d8de6057afc9753e743 -KO = 900e41803d8ae51c6e06b10e6e7c1738381437c76dc35efe0b1ea821329f7dacbf52d21f3a074822d7655d00ac29d3dc25f1e6166d12664302e0f93ce44434a868a1e95e72b1 - -COUNT=29 -L = 560 -KI = e9517430fdd3404da1072f5f9cbd160f8bafc0286a938162d6265441456523a6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05a6e085ffc4c14db95cbce5e8e8d27db9d1474d23184046243453d6fa14d1e6579d340796e921ad3f6787e8aeb94ae7223166 -KO = 9e73015eb7d872a0d375754c9359095ead17540e26d7b1a0f8b6d098fedcc815202eaae1722c89573a91f1007740a99a50947376210556d18cfee48b1f8cd76544bac7e01b27 - -COUNT=30 -L = 2400 -KI = 218b6619752b8bf6d8a4b8f42d8588d6b8ebbb5f8a4364d8bec932d75697e35f -IVlen = 256 -IV = e03da15e37d7078d1d3c1df3a608a312e67fed062319dfee36c0e1a3345f6f97 -FixedInputDataByteLen = 51 -FixedInputData = 15a4ce3ddaf886603001aeb3effd37d3415ea9c3527841bb85578e1b66a565295aea45144083009ab40fd7625bcb7d3563b136 -KO = 35be33e3ac4621809543ba2fb16fb2499e8848f2be132498c3ac6608550ffe45ced5e9a1efa6c71f867ef9a9e0f6d1a8574d0acc39dca84e114f08df479dfe91c85ecf3f2241444ca9406cc097212619a61bf3059da28b2026dc7f3a164e4c70950b24027d4a809bee94041937c01fb2533eeb46e6ccaf34a28b60291f2c6f2407e0bf28e5edda46497ab08205846ae021dd28bf20cb3bad4668139660df2c5ba8763408cf93e3091544824fac6645efdc87e13452348fa6ea390b03ce552d88ac63a51d7935771413e9f966265fde7a00d7f161781f964ea6987350152b27c3b8deac7264d040b11bb4862a110b11af8a0f7a3afcfdc82c7af39154699bf9e86a3a999a35f9d01b96e97580fe8fb24127aa2626a5eac73da13f0e38ed7f786ca0338e671178365aa6cf9d89 - -COUNT=31 -L = 2400 -KI = 83e8c4e31bfca52f5e9e404509dfa98fe329eae0c64425b709673c22427afe33 -IVlen = 256 -IV = 69c12eb8424f81e1e60d887df6923dab1ca0ea1f3b08a217d03e1f9a853be2da -FixedInputDataByteLen = 51 -FixedInputData = 6898b71d74f7825bee949f696c147fc6f9a8ea20e92e0c11b2fbc82c6bf49996c0ecc8758cc810e7e016ad7f0898471afc8b0c -KO = 6458ca35fd91fdeb60d714d1a2e4ea7d7dc072864aea29b299929a2b68d8ff1dd2d9c50c9427e7bf7559c3ed236d5c7175b684f6d136bb0a5be908a3ffce692aed0b270b8e6ab03e150fde2c27ebc310c53cf6ba13b24a6e103a2b2c09230ab96dcb1e05fc344a83dbab377475df5d9ee9028a09b7b161aaa48be626114d8921b66319c7a843d5083f861b1c536ee6ce60f36ed77ed9039b2b8ecc191c66666b22edd6d06f00886cf6aed8f742a7008221c67dfdddfb4d8172b322004d5349f964c4840e36e31664351990464cfcdf072de0c9b11b3df76464345c8a20918081ceaffd63e2c9e33568a449db2eba9f3ce638b4ee789d0e06c7224225bd7a54016f81825d61f22f1164c625b0fac31521da3a4ca81f83d0cf1229aa119f2c18ecf5f1cd75274fda870971f8a0 - -COUNT=32 -L = 2400 -KI = 8c87a35d201b6e51da2067312b6c05d75af2ed5a23a5ff88aad400aa128f858c -IVlen = 256 -IV = 4251739895240e7f2463bd16e572abec952f2a0e83dba303052ed8e752aab97e -FixedInputDataByteLen = 51 -FixedInputData = e7f05a2d56a156d1731b61010a66573c09c10b7e4dccd265cc4158f73fc02820e69631760729f1ea589efcb7e0e24c8e2fecef -KO = 192c6bd438dd93bc95907920d189c3d028f64f46e1e476aa31976650a082b6aec38cae8715b454909ce8ed5d700da7f5b59a58a05263d2f786cf462e29f6aefcaa16623084ae8f12064d03e9edf8add822a91f6842f2efe887dffa8b01952e12a86c6b08152f53d6945cca13795e6337e2b2de6a0f85adcf69ce2892c5cd15bd7a0beb55719c1b028e918891d1062e4360e1ddb1e3ea5979a39b050d84876943c227ea45d18c83a8cacfd1a4f6fdb72ef77ab0c5510540cd70fd78e95ca656da36c199f90d59e34b832d2b49fc9e531fe9b14128da5e925b112afba20eadfa451c9980642789cffd9381974b1c7ceb18a2cbaa21fc024291bc16d1e4d6cdbd6f647aae5b47899fdb2293417bd636ce137f0bd841007c3c11f4a1c8eaa55f6643bebe5d6a855fa90beb51286d - -COUNT=33 -L = 2400 -KI = 8aa7a37e9b2be221abd4e24301bcf0d857decfca07bcdfe01e48f7276f1cbd9d -IVlen = 256 -IV = bdb1653c73e4a61cc1bd1a9c81d845edb4e5e08152a5b3c4e237e193053b18e1 -FixedInputDataByteLen = 51 -FixedInputData = dea93610a9537e023de3cf30d271e85e095bfe17ee2874f3cf45923d8b7a86019817103bfba49ef4bb7172d5cf734e9eb9877c -KO = b227c09baa32a55777ae30cceaa8a24e886c3ebbf879204ba8667173144d3db7442f7dd01c9020794e18ffa8716583de476fc5ec4cb9736af6617974d693513a8dc4e6cac54e5abf80c0ff8fc27dbec63aa876816d0de9d496504cf44e7b667d8b22e946619d07e482ef96b8c06e8eda0a75514697c2687d2638d62f3b4c2542aabb4a359b4dc5782b9fcadc004a990feffcb725650a6d2b0d94ea26f77f01953181891b1bcfd587b7c07f3858337e036ce8f6522b0002625226071fd39885dafed4537822e8ab5ef19c2b944f549eb1d25b3b1cbaab80a5ef1ba34abd87075a1649ce11145d52dbb4a414a53124ce9df906f064d13ad0c56d8c61c111a756ed5c168149d2feb2a667679ece15e85f1d368df3df12d05edceab41d858e972c15f46e59f17a7e65e996098010 - -COUNT=34 -L = 2400 -KI = 56735cf4681b88d65ba1de207d65565fd7ad0a96c05ea3d4ae9dc7af72055925 -IVlen = 256 -IV = 26b60e080252d6410bb364908168de3ff8fb514633939b76882739e718919fd6 -FixedInputDataByteLen = 51 -FixedInputData = 65526fb83f1d36f2e7eb66d4245d1e857588b0e83a5344f411d64941e7abc7a885145d4edab5fa4e5f23e7baeb4acf15ed4482 -KO = ff22ee911d66a8edb832448af9fe92055e9d38d4ca090198520c21e7aaa2d6fc4c0976fb75bed9e33be1e09c9e8774c46eddba2a5f3a2cd621b94b887b4c005d5a32c7b439fa5390b9ff2fcfcb01f43a9796cddda9e29a62988de5b140a6cd83449f281f8f6cd4bcda81d1b3f4b90e7e1eb7b3b10795508685d33686bee967b05d18aba3c6fb5fb54821765d4bce4ca0e1bfe32ce2c5258354f12012318bffdb034cd4e152411825c9c52607be4514282cb92e79a6f08bc2d6875a7a6a420520126a9c473ad12c0874144b1399e74dbcd3f52c3801e0c2973d3374cb9e3786175e7ad35dfc96c29b7529f93fbaa32779c3f100da2058d3befffab489eda5cba3fe52b31e1ea7f199d5cbb9b7e4e82b44905f0e400afa2e00ee9006726f4e26e5515d47c55866dbef783481dd - -COUNT=35 -L = 2400 -KI = e4fdb7fff7897541d8ad478504f5ce5c07e11ed0ef70e6ff9f65fcb998a048f0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee2a4190293e93668e22ee065afa474b12d292673f55332fa4b5fc72b29f494164e8a00cd26e847e9ee769d469b60a953d8381 -KO = a040fc50be9e30c3de50c40760596655ebcf2602359ccf0951a892a67600afe1cb26e9106c5e61b6329583bbfdc7d5a51df66fd5ecbf8ce9a489a605e9eb5cc0e2b0aef43cda0cd5db4a8b6b02c6e947b044d03c9c63869680fff9e37827271720553b0de480e74062e28311e060055fca356352dc8f506f58b2da1cd4d3007c4a156ed317db5c362e667a5b7ada4b97d56083eae0ad09655237fda6d2094b6851799abbecd4d0f5396ae0ceaeadafdb7f9ff91308a730f11e1b7c5d096b1ec25ceb57b9d074bdc55f289fc90efd547b4795c4cd3fc807378c77e924639a118f4c7039b614dcdc8f26062c13cad35e00e5821ae44fe3e5382137550e0cb35f3d03efa275f861d59ba33651e2f566db2c5c494aeac63b5d1bc8e241fe3f7d3d231581aa1bd8ad4ea116dfec32 - -COUNT=36 -L = 2400 -KI = 54b879d85e0a6643367388337f3866c72f327a39c99200b8558711ccd22df188 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 502f682768f523445787300f1c8b22e829ccbe99e7fbdab36b7b9ab11661a00e0325b6982ffb52df1e54e9c49315a1d88e4c2b -KO = 9c3f1e505d97105e8c47f8da5db9bcf791a4fdd813dacb6398a9f6b81cd436f70758e7b8fb092b036b7950edca543a5d747b1a37cd23d843f594a4a84444e21a75636fb25a5b773858f4db56bbbc3c0d1ed1737e6a3579982c0e17e529f6e222b1b5bd99a588308c00104d0d752f53c2b19eb812265255a6e7910ee1898f1f53c44ba71bc78aacf83c3ce24850a16b2704654fcdfe58a7139a035d5ecb2a23fad96dd4ec5cccc2745d8dac4bd18bee83af00a618b413ed9f3c9b6e64755868f98d7f07a1216468d0bb34bf7db8deb8f597f24adb2f20873856432f237a1c5c6f3690df627bf2b245d67494664df2044633f3600f5ffe0866d72789fedfa8efc3ee459a4583b9d00d0005ce1bfa81b0c126369ab650778b0f9d43398bc8c05bbebcb788c987891be0c6eb87b1 - -COUNT=37 -L = 2400 -KI = 87c6a2d4dec27135e57cd230241ff849d3613b5b9143aa526338e522f8003c3c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f1e377861e5cf65f3d7c8028dd0dfdb83300e7f58c63b3badc5f7e75a2f46c36cb67aa8ee711c94c92078a2cd2e4d658cd56f -KO = fb1c88d6a699ab81ea402b0785ad447540487b62cbd697ed43f6011b29899ec729b4b0aa5b2074a121b824e38a362a0986c4eaf7048badac4d2401dcc5141107aebdaa9a272d1ecfa90fc1be51665ff2e7f093838a681c169433d3f0cbb04f5af92597c8c9be792be7e426128bef3f4f04f078d55ff0299f3affcff99913663d80f89916e6bd865a40dcdbc2605558092661ea8a46f9745a81559efc34a30631c08863b7688135ef4d954a26fe09650c918a8233776b5add5decb6c0be049af1ebc9dff8c52555502b31eb73b7ec67ec5f8adeadea3c757cac069113cfd6969fc73759f37d5707d6853ac09b4020117fa9b15d3214df01ad961f4e032b41911f5108cb52e487e13c4cfb234544ff866f744fd1c8fb894f3fe829c937dacc531c92eea716cd84876c291fd3da - -COUNT=38 -L = 2400 -KI = 7872797e71009bc58899c5e4a43f1786776026601f9cd330d1b27b65a779b43c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 396576e73747373f525ea370c9727739f96c3be80eb74f1db9692592b882ef3a4f0bcf4930935b0447f25c7e741b7022734da9 -KO = 2d0f65e6be3edcb17c62440f58649d929e43a65f9d46b92a37da42fcef62318641769202a4fa6e29712b2e35caf3483c118bb2e3bb22e4401e5e6e20fb4c44e287badb1f290e9d9255409d022fea9ceefc38829ec58a5d9b336924889e876e68e1fe7396a77737598af5b3aebd06b75919f5b40a2f0ce4001c2992df00ddffc94e2f2dd335c5202fd1e9f675e504e46ea14329c93fd20b0c6f3ecce0a7ee0fc32c17586bea590582a14fb93f9e3d1c323f3e9b9919d504d71ccb2763dc67fc8b5cc3b651cf8cd231aec2bf9bfc00e6d2eda62c99429ee9cd660c5617c40ba8277ae356f6b54ef5f54a5fea99f58bdcd10011772ac77dd9133d9498c8ed98bdcc9d42b8d3c801bcfd82238cc8a29b299324e0e213ffc296666976f171fd1dba568deb97543e9c6a6b1b95879d - -COUNT=39 -L = 2400 -KI = 1551737adde8649c066806388c86d264d7aa760f57fecb7ea01289cf61e3ad45 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5a441fda61d051947c1dc80cffad82b7aa3612c12f2db7caf77b591dd5fca3df9c057b061c2c0cdffce40b399b99d17c1aebcc -KO = 2da09d0fee3043ff8ad7798182e2fe51340ccc3055963f508ae0e047af34713198800626c58bb54104a62673d893ffbdfc362e6780d0838b1f53cac2031c65fc923668b3b9fd8813fe5e368072e9dfc1a1524c796381d158dedcde36cb2ccb5b3ca6eb611a834af2c8bf1177e57ad70ee84b2a978defd937b7bfa489db3f1871bb2efa7be1ead1a34c69df29b80e6e25778cb0d034cbf848cba7f80374648ab72d0beb1a25c28904a2cffd1c90772a53750b86d46dfc9271be873b1fd783a3149aaa1a0842e9f59d1b3fa11752e707778a1b200d80c570ba070fa5db4d3577f97c1818d6548e167603b976a186771f7eaaadfe22603d2b3ee11bf819dd81dbbe64e265b8830fe45569e36a273fa13955aaefa567d04e67088cff7c5bca4272ec84ec138efaf8ecc5e5fd52b1 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 9eaf7a9b5fc22f9a555bffdba314deb3766840c8732911f02a87f67e291bc0c0 -IVlen = 256 -IV = 4755175a0c125148cf340975aa2a7441e9c57cd56288c827e68fe413edd49827 -FixedInputDataByteLen = 51 -FixedInputData = 931f6264849283e3e645625ab73ec0698b1e8305f38bf3894a79e0570b89bc247ebe061caf98ec63b2cdc67059c16852b2c255 -KO = 4b1fd9968243bddf4b215ca3623f09ce9d63cd46cfc55dbc29fb2504e17ae2bd68ae786c55ff1a43d3bbb2d6ffbd883db3588aa010a5f1ec56bc8b207863f24d - -COUNT=1 -L = 512 -KI = 380ba321fe677443bbdd02b9e46f331bffc2e3de966039f4fb20372f2d2261a1 -IVlen = 256 -IV = c78c1a9e6f1c451ef09076f9648f440d8f92a2919688c25e3758294e31d5b8ea -FixedInputDataByteLen = 51 -FixedInputData = 745bdfc96d2e9f7f0f5b8dece1b89d6b8ea9edf3b86df74b5ecd9f1d6dbc16b509bb1aacbd5d3be167b9966bbcf9207b6f58a5 -KO = 5b111d75dd058a2b28fe8b11c8adc79b255d20a650cc4bdc44dd0d1dc48117c6a70bd13b70158d03d7e2588111f0c3b3bea2afe751adff4582d045576d3c9542 - -COUNT=2 -L = 512 -KI = 7a94d79281f1fb0b680b81f232e12172ecdcc90c8db649c97177ba5420e61967 -IVlen = 256 -IV = a5e456027453bedb4d79a7935f5d52b7a0f7264935bf13377c1397ff1b309726 -FixedInputDataByteLen = 51 -FixedInputData = f21b889d4a2e0fe9a9a37eaffe7016f52698e6c6ccc4d026a067e7bcb5813300bdc842081a7944bd4238ea28e9f4ab1830fa56 -KO = edf42764c6607007be96cc3eaba9458b7adabc4b6843657cbfef2e77283cb663d1fb76abb320a4013ee0dbab2452e894570a2557f3d321425ec2cb33feeaaac2 - -COUNT=3 -L = 512 -KI = 8a4171fea534949bacda9c3636c2f06381c480545d312ad663351284245380c9 -IVlen = 256 -IV = d5c36c2afe1af4ef0a8b840b8f71a5f9399c37f63ea364fcbbd351f546d1fed5 -FixedInputDataByteLen = 51 -FixedInputData = 8c8bdb209abf4730439837887a10bddf4670a98874fd9ef2f4b90c5c7e1d6268d2164ccc637d7fd734310d781b762f6aa97695 -KO = 74cd9e26fd15513f60db40e2f60330eb32946186bada1fefa71e46d82bcccbdab75b5db17ebd1d9935f448deb686bf34d7a042ba4d5aa6613cf4e668e32df2f2 - -COUNT=4 -L = 512 -KI = 3b8490fd735a42e9b5df03e1e24d978cf8f50221916ea0066930a12402f3f7f4 -IVlen = 256 -IV = 7441a2da5efe3a721f4c083e2d0ca75f025493e11dd063d76a940ce5d6c191ce -FixedInputDataByteLen = 51 -FixedInputData = 7a101905d2fe5427987619abd2e087c558e5793a74dd254445dc965061293ed41dae0fef9e14385d4822bc385acab0188cd5fd -KO = b4a76e5afce2fce3db39ee556b9a7b86167ca3d82b9eae89638dcfa542efd057f1186c79219de78aab329eaa29c33735ffd16d284eabd25c97b00d684398b6da - -COUNT=5 -L = 512 -KI = c202d12c72253324852e826778b656e04aace828343eda0dae53ec33c87f0bc5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1da1c96ce94aa6d025720e8f768cfbbef6888e71b9d89e15f3f3c640dcc101bc2e56b8775e99be4f6eadfe75baef535a7d8d37 -KO = 5619e5a4c5323273f62004a17664c5e9f90bab0c159367945a0965338d011f755a5b90f0cccaa7f275aa211b1e0496852d1dc453b3b4e6d1c89f9557fc8c9d01 - -COUNT=6 -L = 512 -KI = c488707c00483988b458295defb7d40754cac5c8ee977b24d8abfe2b43b40a3d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 12204e97480c24765cbc0469f7396e07eef63b9c8323f669c9832ed87d9002a0e09a1631c53b3fede69a36289321b97ba867c5 -KO = b116eedb630c695bb2dbb84ace3e26a5975d3cc6cc6a6d0da6f5b0f830e5918c91bcef0a4a2bddd40eae1721467868fb80e3cc6bf63b918aae1dfb3f20600a25 - -COUNT=7 -L = 512 -KI = a71f7a1c00fea544240f52e0ecd53d7be2a1c877e0b247b5e6a8906646da868b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1bd69e6082c7592be419739c84c95e055809d6cb6fbac2302c99022c9886a253836e1e3db92d93caccd9e6607d0e565ae1dc94 -KO = 9c5fe24d06d0bea905f0553d6b2a65769a136e5792f0869581c44a04151e8952feb756378aea55ffbe8e64f607874100fc50672bc643fb31f12de79ff052b1b0 - -COUNT=8 -L = 512 -KI = 1d8f273a9921397022d130ba246bd545a1fc5f22b998a37b2b117060f0aca6e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 01e79d784f4ab7ea1545a25e73122b9586d6d35109f767b3f17fd523851c6ee8a9beff7715a17344a9647903a715ed1b10c1f4 -KO = 3ebeaadff82ec27cee41f3f296e274854e60afdf24493ae5bdecc4d429b73167221f6c30d84c87d2724df2021aed2bf114b046dc1dd00d431e048cb7a3981662 - -COUNT=9 -L = 512 -KI = f599ec1c8a539ee49c66622bb78076479ef1535d2dfb40a1695e589105bedb22 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f3332b1e7a2cbb3454c97dcddfbcdd4061f864f8bd130ca345ee2a01bb48805b7da31c4e0548786ca63fd78eacc0c64bf5e98 -KO = 7fe237d7fc4daf04316dc071e7bb3c419b39b807f2f31d6e7a467ec88e3bff6064122fd67a47aca3ceac53c31c468652d62d5a8cfeb6017221264bc81a8f0f98 - -COUNT=10 -L = 2048 -KI = 9f983991b50c00ad519e7fc02f8a9aa07d7e6d5c3c997eb82ac077d97c0daec6 -IVlen = 256 -IV = 77f116b8df90162e972008d5b8d1682d2a3e77af4f323b3c107e164c5efad712 -FixedInputDataByteLen = 51 -FixedInputData = 0106d56689eb99635b480e96102ba3e314ead5c937623e8f7d92fcb0ab7161a290d08f52968babfd9d5e1a61f56a07ed2a26c9 -KO = edfe1b3ef08ef897cf617d6645df46482b5f561683c72ac697f9c77ccbf94007fab4fb89846e848de8b6af101e55a99567e5f5abcb6a29061a8b01efc4b6071e4068b5fb6980ff2b288f21b7537e37c66ca2c5f0e1ef5919bc31a5fa78d5998876554491d22ba45620e33111924e816efd505769c84d8ac92464f5d14f835dfea4f2536627ef6770f02e7738736848d4ae573a98517a2127e6c67ad10036a7dd2ff8ec4950bd445830f4a79946b7f0d54d65ea874f2f793da88a51dbb9b60744a8f7e9c6ae78b296b2f9f3661c536aee2908526a624d236a4c8aa2c92b84e6a5b229c22648d1f3dcab77704925f57b5f8165a03586e578f57195f6f24ae2d025 - -COUNT=11 -L = 2048 -KI = 4d8ed8febc709738d40e59ebcd10c40ee8a29ce43d8ddaa012820d6523df8ae6 -IVlen = 256 -IV = ad5aa8fffc5a504414beaa7533f7587df68e1640cd867f09c4ce240dbf77709c -FixedInputDataByteLen = 51 -FixedInputData = 0de59baec6f6d11f2c5c24b67f6d3ffcae1af98c08add95337871d3a0df5e29a550cf955b4d84af046393d0009cb0f1c5bc5d2 -KO = bb5a8f8c1b27cbe4361e21f166baf80f7fd03e58876fa95a82b9bbff11806daa0c3ff6287db224f502f90a782be7835a05a31306955d26738c3ed01640ee49131d6371ed6745cd44f9a3dea234722b397f1414a1e7980e28f86db7ea7b7a2ca96e94cbf33f3e8c6122ae993c0d61d3107272131b9c0c19689fa2980eab86b3eba36bb308d4a7c2a08485e5abed2881776a3756a804cdaeec39fd2702531643c293b8abbe1aae320f4d51dbe47e02723217ab651668d5c02451660aeec01f23def3fdd765c4139ca91dbb169b9b5c9c62547855db5c7a9393ed6e6366836f0dcb9edf078ed17cc0ad8f9e50e41e566fcc419c64949208ac295e5e8a1b598bece4 - -COUNT=12 -L = 2048 -KI = ee1685c029cd4f95bf3dfe7fd3a02848c68086bc8e7638b5fd91a4368ff27863 -IVlen = 256 -IV = d13e40cfc048401a4b1d60494294f3e854ef845a82bc7c544f9f296ce260aee2 -FixedInputDataByteLen = 51 -FixedInputData = 1b28185b04d7e2dfc7d167d51dda078889b8492b7dde54c2bcc263f44ed6e1a5809867e038da291e42a2c1b8234f2b4a088967 -KO = 23c36703e672175bfaa7ac41fea18da42b91f522d2b50c0ea8276dbd4c1abefbf0df088db3c8157be65d71b51ef0250ddc4bdbe7c3ab9d0a184d958175fac829a49da36003bf41c0c05c2648d6407c22e1b114586143565dd87fa81b36d71d69706b295ddb12df2377ba8a695ff08527fb52bb167507dddf85baf968288ecdcb58a28cd05ab43538bbccc354d8c2c77cd115b4ad5098fab0c16dd865b1cfc75af21a34e87a5cf197f13232aeb9bec7f4ec1873d51be99952eff30e87353f511bcd7d7814cabc6b5a1be0bd29880c2b7e3188f0a7225a08dc3329c7343c0e67f27b70616305ee50316fca5b37d3e7d478d6c7a9921964b282c51c61e9c0f832c3 - -COUNT=13 -L = 2048 -KI = 2a3794803c500ed3f58c266185a96061b4c05cb7041d46263f04b7667afbce79 -IVlen = 256 -IV = 0cdc07e45f5e4b42ccf9ba4763807b959255ef05e07e862c440e7ba1627bcc9c -FixedInputDataByteLen = 51 -FixedInputData = c11f16dfc5967d645e8e78bafc4a91c29e2e7add9a24bdfbbc310456190098e5a86e142e658724a141c6c776236651e9860175 -KO = 76d23537cecef843a71e047fade628e9e3aa3960c4c89368805fc902da1766ddc8f68d8e69ab80f329096dbedc0a52f9f4092ce415d45d1a1e6f97722fa4783aaa447cfbbbf4b9689866768a5b6423299a3ccd121b536299eb6ef090ac4cd23850ad421b3df66535665cbba9299371fcb547d55e555043ff3f4b35426d6eafde5c0295edcf48edc56cef7c1f07645e2e973b29bbdaab0e33271bb59267f38850b04ecc4104e0bdaa62101bc441508ca5d1b72d86b09ac39f6e54f578a70649a4a6962c9d9342c315ab9a5d2029bb723676b78530f85237437efd8ccf34e4abe7be03228d83a9a451a393741c970dafadbaeab3d2103f53574452f6c63c13c889 - -COUNT=14 -L = 2048 -KI = 519e31b7d84fdfe70546ab42d7180aa3f82e58867305690382fa3f787e5ed725 -IVlen = 256 -IV = ab22ef2db60dfa8db3677f1d84a113ada592130940de15e55341f3a5d09a2c82 -FixedInputDataByteLen = 51 -FixedInputData = fb1bbc78eabe8ae0d4e708a8f38c9edd942b5d61d6ed5db9d360f77ad9f0767767b6ba87367769cc53f05edb85736bfd89d52d -KO = fa17c9a96105d1609864c1d5af9c0c2158c4ef507282cd825cc7aac83b425c51ece4222f28d5abaee564934a4f3c466b18abe75f97b4fa3836a72900b46778983c158c56752ce75e9fc4ce9df0ef0a4571fad425079cec144bc3defa96fb7a35a13edcd1bf3f0f1e82f68f796f427158c73cd5fab6af87bf284699556b6115635fe36df83f08af7a1839d83d57b2dc54da7772478cfa91280a204242cd481adbdea2e9bb501e22a723615c40c93696293bc9d5c5e1c99356deee6c314db2e4ed8f01ccb979dbad3b9252c9f5336c84a7261608888357e814e418c86d4627515bf365f3e70017cc7eecced542f819ba43d8132fb086259400aecabdf845219e9a - -COUNT=15 -L = 2048 -KI = abe0eb3bcfd976edae26ff77b82867fc0ec214288d5af63730c77b264533270f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = beefe69386a8b776d605d1161f7473da3634db0dd89e6db82799347a2c34c458b1b961e70abe306972d624264d5166c9bba252 -KO = 3b77bb416632f2d633f56896f8100ad9aeb9bdf5bc289196077e13751f1dfc9ac1990d63f75f8f1578b5286052fc5392847eaaa7111196ee61deff290346aafac69ab4f28595d37260c1218688deade42d4c76c5db70f91a5d05aa7bf67da0426213a7351bb05e55fe645731efc7b7bad9eadbd8553e831cfe87b9f5b872940f7e2a352d7c8f6fffde14740a0b168b0067fe657aa66bcbf0feaf6e14b301fd44b49758939b01064e5684da178b6a947666a254c9101914321ea1f1529b20a74a08d621a34c34e2cc4d29c6fffd25fd9db7d525d7af80bcae87ab97e866d4af189c96962506bcccb1994c9278fe6500df0cafa14d7ae00232ea83af8683dedfaa - -COUNT=16 -L = 2048 -KI = 23b563128135f4eb2beadf24c515bd36496fcb5fbabe24247a5b6873ff971035 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0453d581ef8b8fa8f5382b2a4c4edecc6acad7ba9010c6410ad2351c458e36370628df9c2de8b16a26dafb54170c2c6a07c3b3 -KO = 3376d3914970fca774b546bbf6eb449c5e9ae9b177d33fc4ff4255e8176f25a8dfa43e349e0fcb60f0770d840778f2dc0a90a6b609933060a83bfc1d35d9e33fddae8b0c40854b3f0249a5b64f21175f7ee07a0404042db33d55f522a79705fe99f8ee832c07ec94ca7b4536bed063bb9e67cd9bbf4f09a20a77397439cd33ebdf47e893c03d306b1a78ef0f89627207937fb0ab5e72c3cce968fb9e58a515c2ab126563f3f1851d7fa551bfa63372711727e6b1289cc5ed19dfe0c564bc602ecf090426998d8533b485212d9ffd7e16b950ea847617f1db1e09aa79f759a2fd5045fdb97a27d1d3c4f6ef0ac7d7890e779d87a6b83337618ce209c089ac6f93 - -COUNT=17 -L = 2048 -KI = 4906c9448c89249ab86fb8eb2ecf564158978690651e50dd7ee3eccd9ab3ec1b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = deb248abb7340675124666df8061ccdaddfd0b85be28379ac1c6bb4f720c7621c5c72d539645652edce424de98d21b6c0d494a -KO = c95b6d83c4aed47bfe4b2caece1fe4b64a137eb1a26cd89ec7b465fa3d8c368df5544a72015407fc6fe202bc2ffa70633b1d7723bc1a70c2ad062c91891a8ff0d3a1c0a61633ed033297814383c6ad61403b003593f6439dab3f91df9ee5b5b6d4e68cb094c79efd8b0e82145338ef1834edfc867c55a95de37b2775af5c53b6b779f600a9283d3eb330ebf067bdc6ac65f7bf867ae0d5aefa95c240295f12c40b165a6c3bf2c66b727bddacd946d8f8b3381cd1315c1b637213b82f2a54520e3c7ccedb102c5f6e492bc3bfc6ab0820009ce7809a46b38e80c78b7ad23654d97057357aad7af0d7b69bd884aeba4964b934a69ca6aea07fa4630f775640d810 - -COUNT=18 -L = 2048 -KI = 26655a627085596b764f2e831206d57099c8194aeaed915ed9ce159ac8de6613 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a64ec5c48fae1f48b501ec19165b9ee6e38de7f4fcee00a9f36a93fcca8d0ba0a60f47a28d446b4684bbebc27658d6a2e2260e -KO = b062a47081f7d22c664d13f6226b2c168d7b931b761e94f48c07c6aea24a305270fcd1cc3f2599eb473720fd23af5661a0de91bff6d6b860290a44cff4047966a1d4741a4fd981eb14ad4ad2fb4c221ef1bf6a4f1b3216a59acec4e300583df5ffbcb7695c9b02c5b9c0690eda10a5f4b2d831804315b43ba01c4b058a645296b0ec2b0a81c7aae6c12fa78949bff5e2ae52cd4f3aae4bb620b2db78680fa7609bc4f00ace63f8bcdc6214f87020ccb1a181d3e4ddb3746513aefcfa7b6fce2085c08403775da53f5e5f1801afd17aa291044f37ea76a454b145113e00230809377ddb44c81b40f80f8b5c7294017edc7e8e94b434a2ffffd45ab23ddd107c23 - -COUNT=19 -L = 2048 -KI = 9b4e7d9a7d95d6c62b5eb7a3c51de47966a1e8cb827ebe4ad082c9b4e68c2df0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5b19fd0271fa3e3d0414d7123859a640f534711737edfc48b8613af5b6d50c61fd7a75de3021ffe304c02e8146f67a49e5baa1 -KO = 4fcdd9bba3d91fe18f3906a80719f289a38a024131e12cceadee142f440d1e74e4e3506f6be8889fb72fe21e4979f6adc3fc1a1c2ed56411c9b274b5ff329af61e56710be9c1e7f74ec45e81c6fd5afc99753d12ea107ef35f47af768e925383dcd9cef3b063743c3e763d6144f22bad180a854897370b278c64439b9cd760fcd6190c71e2ff9efc4f8627f272495012b5e7150e7a1d38c44a772d3d14090f1e6b574d86dcca791f0f5499ba0cc5e97ebf62b7623f4036e7b642170e899263635bdddd16ec1fe3456df15d75fe2e38848b8e294e6871fdb7aadb1dbf343fefcf7a7a06f30a20ed125c750f0221c0a24cc5bd544d32f154f025e4425fc9f7f022 - -COUNT=20 -L = 560 -KI = 047f34e5400cef71bd12412dd2f1ddfea68becc54dbd73b8c33eb3ee5e71fa95 -IVlen = 256 -IV = b37b910810744fe93f2b1a481200d28a82d4e6fc542b319871b52a7c116028c0 -FixedInputDataByteLen = 51 -FixedInputData = 2973d19867ed43c5f196d8b896f44be6e87246555c3088bf1a5cae04ce3fd2863c6f2f2bbca7d96f031ff4f788ffaaf59a92b6 -KO = 5baccc30dba82c0e8c7ae64aa11a65262a71f6409b8ba3d4899b515e4317565947987a2ac8bc7b224e0a0b9c0ea0667b5911a547f0ab4f5e0fde0c22fdb27fe365384f64620f - -COUNT=21 -L = 560 -KI = 37f3bfdebd86ce664b137408cd7e1c719aabd9e95135568efcdeab28ed15fd84 -IVlen = 256 -IV = 2d11ebba8e41fbd1a9c8551ccb31b2d5d2555b4984ad7441743d776fafc4f528 -FixedInputDataByteLen = 51 -FixedInputData = 048492dc614607414ee18ba0867a777febdf6ca80e2d0fa61b1e35827f2ac7eeef0c5d5ec91881592e9ecea384f62bc64079b5 -KO = 4c7388f57b83441310e9323e77ea9409e857f6b5c08449367df448d019d7d0dbce8f924e1d2068f156eedb0783c2fb8895ba230f299c663f53c730b62df66a6a08623b4a2fa0 - -COUNT=22 -L = 560 -KI = 8d9740e1faaf6d828e2ea72d638783eaca348ffac239e04bd104895f68230f3b -IVlen = 256 -IV = bc2e81aeb5d49e3123d19ba5b37141b58aa6784b0de0cfdd045cd090b1706145 -FixedInputDataByteLen = 51 -FixedInputData = b76bc950e5e4ba581d4e77e2d4cbf09a31d18557f7d10d6193952e9a6e59287e500b68dcbe75f6042e6495a7f427d71486321d -KO = 39af4859374ec8979e889c7364ae97b5cfa46d181119a705eee54b540594a735c674c85e32a28a93eb8c78b79612bbc4d8e6818bfbcddf3d547d6e45815c6db476e28e316636 - -COUNT=23 -L = 560 -KI = 1a2b5849d9e7c1ace12627dc301c294afa394a249c565d1e76256048e4fb2a16 -IVlen = 256 -IV = c1fea26b0b6130db62576c90bcd429b594864b832c38aa63b9ec594471c348f9 -FixedInputDataByteLen = 51 -FixedInputData = c5bf561b40c2403bd32c6605f8c61bb0acd59eb1527c28b4debf31b9b9c7925737d18fd4705d236b4d8188926663c65985f378 -KO = 699812cd89c1f6be317c87b191f8c4601baf9e9dd3eb17694f7eff6f74ba6432a582335a91aede2ab21eb8d1783a138af554ccc9570427f827077ccc0554c46f72b34d137de9 - -COUNT=24 -L = 560 -KI = 8f131c3063c13c69f311005e0168422a62ccd5953250d08b215967c84837010f -IVlen = 256 -IV = 3278977b18ed9fb1159ed12377f58ff6946fe7b5ebaa08bbe2fbca673d688c3d -FixedInputDataByteLen = 51 -FixedInputData = 87c2433677d141777c889c64ce61d9985a67eb328b1a5df0ec7aec2f6f96d7061380bf688507c2f72a4f40c4352321b7fdd0cb -KO = 5a0e2874c9d7ffc2dd1e954151b7e8fe24966b98ec429290cd43557bfc4bf5e0133f54b54c3290f80dea60a12621c4f5343fd49efefaef0db237a49637eb3a21a858028b7688 - -COUNT=25 -L = 560 -KI = fe9a03cc3aee074f4431840d3b0c74688df070c7d6b36a361af90602444eb75e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8c2fbcdd23826df1f5b0cbcbf3cd9de30f5a00bf5b48415469dacf7d9dc4a60d0237ccecc0dde984cc32a4a76d593f4e4be403 -KO = 543dc29d56251c5532edadaf937a83ec4042ee8fa8c31ed27859cf7c4bcde042ceee3dc99afd40ea1149e704acc176416e78e7f6d1b00f86c3a451adb3d06f837dfeee59947d - -COUNT=26 -L = 560 -KI = 3bbaafce8b6bf36e6a0302697203ec0ee4f0939d138127d67f8940e1c8d0e8c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82f921a4658537ddd7628e80a01943a3c9c619bdb9c4b47ab6b41305e32331248e631da977ce48e3421c56d557dcd77da11937 -KO = aab0c4a7bcf47d7a1efebc4240a7208eef41f58e08d1fc6fd910cdf9d24b1b9bec49390788b2cd6cbb26bead86faad37076e84e2903c911d512f2d1723a778f63ed81b629ab6 - -COUNT=27 -L = 560 -KI = 90eda1368dd1325f972099bd7ac39fbc49d9f86bf847c42b86e76a0aa886c904 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 503956e9e413efc5897c2419002bf5d9ca3690e879f12fdc78839bb8dbdbbe9d36e84bc53df150d0e3ba3f2f37733e9335a501 -KO = b47a1e81236799aef8f5230e8dc9047c7b734616131d3639aaa8e995d5da32802df26d75bc82554b03f7037c2d098e249b4cc4b91994145dc924158b87b63d976b3cc5957464 - -COUNT=28 -L = 560 -KI = aa2c89571e1c9cdd6fea476032780d5d7f2bd050aec9bc974eb22beead4f3e2b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6a364886e81923f715560ff081d0e438f6fd04bfaa4ec58a8320a92fc91e6e97777f8e633d3e3492c698ea195a234984cc78d2 -KO = 14dd4411b73d126647e08f42d4082d1b5ec91319cc40710507e3bc6e939f04cf80de763498fb784170384a6cd5ec31c4e2e5edeb4f8cd980ce2c89aa771de54532cc30287063 - -COUNT=29 -L = 560 -KI = 11334e175badac4cd62bb52aedd8af5fadc6453e755cf5f59f43f96111cadbc8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a9bcd1d41924ed47d6a65653b02c2bfaabedf2ae8323af73ca23c9da65d362d8166ed2cd357426ad1ff8381c0195329f4cdff2 -KO = 2dce29cb6214a81fb86de135cc84f5b8d6de7b16d2394049b3d8853deb251329c27e6d97b405cb8e73aba0b722b439258bbfb113eb593e5836e0a502c313e2e3dd8c3b696ce8 - -COUNT=30 -L = 2400 -KI = 6968970e04ace30e950e0ac7d2c6c9e84983bce825555042d96efdafc7f1d42a -IVlen = 256 -IV = 81fc70f226c436c5b982536ec88db7aa5d7b7d6a4a13ec7192f818d70c7e305b -FixedInputDataByteLen = 51 -FixedInputData = 58a03f249aaf3f39f4761478399ea4e3b592a7edc666cac3954eda191f65161e3a99f53a0eaf6da61e92cf592bdb8207bf25d5 -KO = a80a5679bcaedf08f28499f9a96ffa47547c794e93737e64ffca53fa6e1236f403750dc5416428f23a524e778b36d325146e6370800402f5a639961d7d768e043634b3f722935cd047c23207ad61c0570bd8cc6f90b63fe7f0b8615891ea74b0ddb034ad2616afc32317a200a39945095c4ef6e7989038f09c6912eef8cb440b752a3cdd5efe0b2400745ef33d94bd9a56d50ed4cc7640bd21766c51541aaa94c519c39f4c1d6ee7ec11e09d50798e741042d1520b539b105830207bdd360b59e739421ab2d6a40d83f175d473e6b5d57972443be39f912c04d78593e628bb4715fbc520774f1b9378969ba6cabc3fe2d2f53cc72174a2c4e3df90fc6818bb9ec35cec141e2fa2451f6b1237768e29cf27e19d38f0d29b1f56967776c9d278a666d98fc2f7b3e1636b545bf3 - -COUNT=31 -L = 2400 -KI = 4ae15b96a113e5ef41216bad4e1c40827fb3edf046bc27a94ae53b93e3262388 -IVlen = 256 -IV = eef5ee93e175fa01ec8730e99cdc95b17087944381b4f654712613c141bc242f -FixedInputDataByteLen = 51 -FixedInputData = c6f2f103f4cdb47a2122c5416404887a77c7b3fa7de1d1a513af3535f54b305c965fd5d7a2a665914f97f7646b1a4e14b42ae8 -KO = 0e3aba76f31394393a1e3ff0c09d8b2cdc8e8936b0d3a530bd1fafd9282deaf381e0afe13ff74583f56e0a55e0428124eb470c46f17d7a32b4bf26580818826f5b8f190191b096618a6474c385afd670983c81b6f0dd966812dc8be1c0d68317aede61a5cea0e0c038adb201af74e02733995aaa990c5a9e6aed7f060d939a51c70065c219af93418deb4b0c86fa0f3b5475a15e746386d87bbee42d3cdfbd4863105736cee80134c9e228269a5a66e43b0104c1152f0a40d87ccbc068ac702fe2e991119b5599eb09b50ff43a02c8ecef3bca1a42c2c8a9bbce78348906eb99c59d8920484ec1b413aa83776484cf554fececb518771db46e80a1043ceaebc5e64e61ff1d8a6ea4d48566561364c31f53f6544560b3c9b5d8ef7a1ac4186e9a17a0047b2879c18cd0aba561 - -COUNT=32 -L = 2400 -KI = a7d5de86daa68b83ae58ba42165c889c0fef25a813024cf7aa5e54ee1fec1dcb -IVlen = 256 -IV = d20cbe52b21f3f01d13ce4afdaa17eb85de7f246487dd6eb7dcc18d1a406610d -FixedInputDataByteLen = 51 -FixedInputData = a2431600da015e0d2217c5c48c26d21db6d7c8be247c62912a83d5a03baf7555a4fbde04946e578dedad26db595b760f68a421 -KO = c611bc590ca7ad3fef4a5d5bb6f718f92bde30c6f4afe4a9ba779615c23a2b4334e7f30109140e0f2e3c389e4edad877c77d36e673886605ab421142cf3f6d2e1aebcb5ede167eeb95a0a773becda92f29c7d12f88ca33b2b002ec8074caa3d5b79331ae33b1b975d197f9d4614edc338b5eeade89b3bd2d17c6260ca10f958958f173205f029344e3e9e7239c4cd1f0118f40c9970bcec07534a724ff31b03fb3ce8c287c217ddee4bf9642f808ac9139bd137c85dd98bcd7d832f3e2703c3bed334dc8861eb9c728a689c566073cae2ff1b362dad2bbf567bf589608b88d96d5cfcb877e427ee1bbc75dda54e079087728d2b7c4a271425dd2c135ff2d20d928648c9ad7b7808d0e36b1430848c2b506715e129c21336e177a2c974dab24f96f2563ed0c0e9059ef7a618f - -COUNT=33 -L = 2400 -KI = 8cd4d37f5179f6284acbeb37d4e7d3bf1f3f63ea7c1d7dcfab4367778028e5c1 -IVlen = 256 -IV = 54a7977fb47f0b4e863f9f3e23955db3bc135d970867a51b26a24527339db39a -FixedInputDataByteLen = 51 -FixedInputData = 672a914bc6432caf61fc1e225d58661e0cf65400a10370a37ee11fc7d9a7ee05b2f9216f3ff66253cd24ae44ced91a95131383 -KO = f662d981010cb58865c44da3b6ad517f9ccd091ba254057fd061308bd8a7c8ee591396c7bfb171bdc12217199a9b81e866f2c6d06841b3a76de6cbd1e8268a7ffb5ba07e8e3d85f8180bb8f91ccfb459bdf67556674b9dd9410b33a154ba30d486afc699e7caa4520c256f2c985007ae77db05f6970e6aab819441bc96e269b9e0b1caab950420bd7cf24cfe5198746f33a7941394ad0f8a439c3ad4f1d2601ac8b5dfb254076572749985bed66173416c0b9ab60c3ac68c00aa8470e33d1792e25dba3b634f70581b2f1f1f83484e50a93c81f04abad8ff226d8e2a24ff3dbb30bb331b4be1a8f2e2350ca560337ce77ed236366c50d970e7e306017af8ddb4b7978ffc2ebe34c45255263c79734bd5d733c4e102e9eaab2c7039a8cf1881da5b85f73f04f9b9b6c50ad0bb - -COUNT=34 -L = 2400 -KI = b6e77a5e88ba61f7cf6661f13554aa5da67802bfad77bf00511ddba66040dd5e -IVlen = 256 -IV = ce81db8b8970b4b85f17acedc5bfaddc25df0287e36e365e00b622d057c1cb52 -FixedInputDataByteLen = 51 -FixedInputData = 27c2803bff33a474f1a77d96383c329bf0f07113264d04f84d30170b14ea1585cccf995098718a7c6d2246d0c1ce892161bf8d -KO = 184b28869105b12a5bbcdcd1f26e1720e24612b9c804b44c598e1ce784d9bb092996c928ad07d82305c4048faebc0c840e4e92bda836cad00504ac090800f98fa6994ec59a82c5ba89256c95048985ceb5c2bc27bac8af1b67cfb97474ef8ea53504d09c6f2c3c5d53dafedf1eeb918eba38b07edcfee3b09bd3da207cae19fa382164da6b5f5eccfa3c58a71797be852ee7c58a287106c664e1994d697c3f62d12af0ade836219357e368eb8d539ac8310c323c219a1f9e75ff6679b3edf4290b4fb49b3dfa0888642c333e86e9034aff199007897a4183a74979cdcbb6c8af83248b61b83edeb4a451d1504859ea125676a813a8b1ba348c0a16b145a05d1522218eb5195be68d143d129db25c151ebb277ae9084a6b59d82b1c47e1899d293e79d7cc0f914285d409c843 - -COUNT=35 -L = 2400 -KI = 4d13bd75cb56dc40ad0ab4c97152b389110536b443df9ea56706b1b6791933b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 19419754470ec25a450372d7b0bb37c01afa50cab452a2a2b5e96863cbbd9c33720299fcff849a9c3743d151ffb9e11479a38e -KO = 08ea8387f58f9b5b539b9669caf66147f1b5350f3e88a93da31f308ea6712d8f78fb446e7b15a904d9af26985ddc19a0f9ecfc70663338f2570e5591bb93d69f53052f8773b1dab6a92e23814d05462d16ceb14426f6b51f5c4b44b69142791f584d1700afd9b8eafacfc3012ec83f23ba1816906dca32c62876d8de5d0c0d62dbd1072ff5489e4c9f79af5527f0d29c15bfb31e30118540e51891c183c0da8ee4795091a1d151a855dde34b443f9a948b7b327ce84c4560e4e4ec8dc9c9f8c9a6ae055a0d5d7d12979ab3e830a605524bdffdda3eb167ac4d7fc4159974676d9b2952106ecadcd7bb38a8cde74f4c636508e994b326419c4dc97b45511993cf8e29baf423267c4a3fa6ee4d73b0798131a004ff0a6802328cbef19913991d9a6b490bab1c657deb2cbd0835 - -COUNT=36 -L = 2400 -KI = 22c0aec0848a34eac158eda8701a933ad2a2ee5b3e21040e9cb59db8cb679028 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f18bc7ab0ea3b04843e1f0847b771dd447ea6a490244003a4ba2b6bcdef1e7867cf0850e55a39b595c4592e4807ca9fe079be8 -KO = a5727a60b0755dfbc8658e9e2d691495465a5c739b8555ce1bf5aeff3116ad469df5dcfa00ad26c25d06c4450ccc7cfe4971ad287b8ff0fc02b99be1de2163025674293e12a99e746b3839e8adcebc58103853103e99c63624998ff5680f7817a6337d5cac2105396e0d4ca1d6bb28b49e96b4ec088f50ffd1e48a56905ddd5818459d4f316b531c2b2c20f27bbba33ac16495724860f17b2880900da1d161845c377cb4a747f5fd472c4f7a0a5c20189cc2fdf53f8c0e63c0eabc21c0d0bbb4db06dc8d5f1010a17405acb283e5c5c126cb9a9fde0762c273e831645bdfc4b67a87644a07646f5033aaa78dee821db98b25b33ef549fc26193f25918702c91b52131892d3230592249aa964ac235124561443daac7fb77d825959617b92af6637cb4045b7d0b2bd5f583955 - -COUNT=37 -L = 2400 -KI = fa3703f116906221b3b32d036360ca83d60f887864c65f56d0ee5f7b346fe63c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d1e8439a2dbaf1d5e9893cdc0731d88f4da7242e5f3d603cacc554398876eb131b510b59ba6b200a3c1be65a985b86436b7537 -KO = 336a9b474a0c2de0dd9d08f316abcacc516fd8843047a6dbe5c75255a89357e1f51f95bb3e248c286aa761272be462a3d284df7262b7812ffa9f576dc026e1a087606319af95be00d162d507164255ec3303d1e1404891353564ae594ce44c77ed402106aed1fe3c06bc2984ebcf0abb7a4d94cc22076df46a7970e5bff788e98ca5a678f243a092e21393f3c652b61550116f377888e56697482b9a0ce618315b3b4a03dcdf1a8c5abf1ad44cf2e57fbe6e36fdee4ea18bf58e9edfededf17fd75f4d6add61aeb29056e19e9c218868b7ee26300198e0691f0383b6c9c1657bafe4c17f3c263bdf77c6aef6f9cef99a2b4999277f208ef7db1281f4ad2838ef1f5d5be7141c826af99a0b4ffdb5f06972402c89f2f093b57a2b579eb6beab4d2042aab303cd013aabe26baa - -COUNT=38 -L = 2400 -KI = 2e3feb4f9477d11d841ddc1ab7dfaee38ca1941804ae51205007b95dc974ac2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2db677c5d09c7d0a9e7e3ef66b7284b7213b7ef77d8dd1d99a041085b59da81a75f97c72fb81ec57cb83e3a8764aacf565566e -KO = 882359995486628c17a5a916d26a73da3753c5f0b4d1139e1abecec5c1040fb6313c0e672077d78368ed03da64f7c0249239db1eb1fd16ff85cf33c30f7926a263ff6cb1ee0b61fdcde61a9ef7a2f9affa1dd91c894f49cb50cec265bbefc9c9d49779dc48e66867017a886e9482a5964bc9cefd8d949a449529c738b58a9c8030e31a2a01f9f5f93c38f2a3ae9a5efef39b5be015e9a0ef8c33d4caa2a16cb3170dd67147594ec15906a94b43ff33470db1a2beb5a0bf955460aef932356a47dc1c5e04099a4860f9fccdbfde2b269550d4d5d4ee5364ee6b5191b029378ce1185689331291281b899e359a986b9c86855f554c5c4e81fdea32a58cffa59c48c0cffd7b3b78f8b4a9028126716968c77d7e37a466ae42c5a3b9f378dd506b605fa56ecd5425fc42f20dc85b - -COUNT=39 -L = 2400 -KI = 451552d2f302ebfd803fe099ee430506199117c90c96567edfb9425f60a4fbea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ae131278e7e1d208382eb623a051a788bc73bbfc20499309cf0ff9741a68a3d4227219d6d1a279080d8397a446fef70ebe6b8 -KO = ed85fed70c258092421d525283d45d224e54468d8dbdbeb34d6cdddb67af6798895f7f85e426adb50f6307a638635d1412af56221745c1b9e06443c43967fa802f7bfc11b83cd20daf34a7d79d03a7b37b8f4f93858c641cbc5e5382fb33f2cc770b56faeff653a03e837e8add64a6dd61d4c3dd5722ed5be538414c35adb1db030652004fc537ebe18af182818efd25476acc4530753ab9ec991eed3d98fe00db78cdcff4d7657a353fe2bfdb56bb4fcf1c0319f428d25e6b76ecf6804c221d559a2352430dac222570d293cea1cc976818a7a3528107cc24941b6495aad7e5f1294d2a7b4f63d9ed9b73ded753813a2c47173df19fc72353195c480ee157c243527ab3b4af127ffc557f895882e0b1c543dd166e1c05f5167461d28ef9abbd8388659ff8550d35e2d749c8 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 65ea80b2618210ddd519193ea1cb8e5f471f26c58a3a0e5553bf2c2e097a06277d4764d81ba21cba93736ee842c586a2 -IVlen = 384 -IV = bd8491dea971402b08f1bf9ebeb06297663e452219d3877dc2ef6f87f0c40743a4928ba955230b248809170069d52221 -FixedInputDataByteLen = 51 -FixedInputData = 780b5b99a0e2df7046ab6f7cb57fac25903a63a6b04a48f4bc74d569d19765cff62b4550d31a6ed75731cd3aa2c9f86bf16104 -KO = aa6bd88b900097159e9baa55edcb7f551ae4d856a11f90df4f0eae27dae0ba3eb93ef42f92c230d80bf0adfa8135cdeea37ffa763dff03d195648a12814b0f11 - -COUNT=1 -L = 512 -KI = a6cb2d1dfd6dadd66077eb0b9f7d4114abb820fcfb71cb1e08e99f8049e891f02bf244fe289da1c16a6567ceeb0517ab -IVlen = 384 -IV = f90a7719a0437085c65377665c649c81ef33a6d9565d0ea0cf7f7455f658c7cc9194d82cf296ad829d5fb03a9f47bc50 -FixedInputDataByteLen = 51 -FixedInputData = c2b9dc7b24c0f46c249e4468b618ce9f7aaf2e1001186548bd88ff42346135d45a7e94e5e152b8bfbb3c65fb91fb6e231ed0d8 -KO = 4c3fa19f476e2a2e35a44af3f6b2daf72abd0630f6ca4af5889fb7c9ea825ba754fe4b00e1cc0c42f69e76d3659671854eacc8648c68b62aaee16a00e09f4e83 - -COUNT=2 -L = 512 -KI = fc117695c56fd284c79b201770bc955f41523d0d8f831c2a5a48c22289c6498f07bf11a4efed83c96a3f00ef4be6d72d -IVlen = 384 -IV = 3c34965acb7d129c715f062f611533325a4702dd089a408440cecb081239e448e6d8996ab0d398d33a39fef54e94ef41 -FixedInputDataByteLen = 51 -FixedInputData = 19a014a1f9d450883ae1d98802e382f63a230b79e505233c94ae1d21ad3d4002ab5b66cd4cb8be9b8915104b040df86b21bf60 -KO = eeb23abb079b20b6cebc5f751ef46b1bd17637489444af35348875b5bd96fc89d9248f984d3f02d797d5468471331233f554b32cd1e73b7a87a87d3be5c83018 - -COUNT=3 -L = 512 -KI = 4343e884eabf709d1280918118101099ad515533c80eb22a9acfc8d08dabe1a434de10c90e611ddc848a4c07e637dca1 -IVlen = 384 -IV = f50125e8d176717f8f2a542641057ef0fbf84cc375be5ff33f6587c67d5af01c12c17f6a0e127cbccd4ef0874c51b619 -FixedInputDataByteLen = 51 -FixedInputData = 7e01ba420b77a5f8ebc45745955004ff65e846725b1741665304b0a64b9ee52891f33f0fac79578872b7cf7396839a27d45da6 -KO = e4e9abb831318edc316714e6126ea216c54380107db1f2bfcce17398e1b389c8b695ddc27a9fbcb4aef29d9c7225d48866246dc7f32169c1b750a4b45957d4a4 - -COUNT=4 -L = 512 -KI = a16770794be7c7fd476e542a1fb1282803ce96d29afda012deafd08ed4a62cb33eaf8c3c2c46504dd702835a340cd8b2 -IVlen = 384 -IV = 536297fe7889ae85b4d96e73831a0791272e4e5ac090ec2da26881e82d99dc493b7ae5eef2caa16df88bd7e0e6d8a6bf -FixedInputDataByteLen = 51 -FixedInputData = bca523b83bea1b0c2035010f788c7bbd83750dd8e2598375a6e3ea190f818774004e7b782588ab2db837b5eef749bb933a1d61 -KO = 6fdb3b7866acf33fb4e72e28a3bd40fc09f7e846782cd81fe8d6362f577c79255b514110251e1517523e46e0d1625d0bb320bb07168dc54295e491d3a98cfa47 - -COUNT=5 -L = 512 -KI = a793415da6246bbed9c98ed01373982869adec8fb73e6553426cada06644f4198068142ae4bbb1c5ccc405c9005a93ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7c89cf111d777e4fba16600359098530e0023c72a0c425a3eb2b10c2d026acb45c955eb8aa82780f3a8c75c4381b07ca180e8f -KO = 5bdadab11a86d864950dbbfa5cd31c0b77a35f202e64560066f72b5d51cf0d9a078ac5f2de3df6b2f7587e262ed674758872b7fc765cc577ce28b253956b430e - -COUNT=6 -L = 512 -KI = 8f2b3ef0dc7168be3b8e41f42d06acffd5f555ce62c2c7d678446089d31920bd74d94cee5849eae562476628f9eaee27 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a4aa5dc04f3424421f30b938976573a8f83397841fef1909c15cf7ea40d93267fc0f84c69eec0cbbdb1bbc4a74f01091293f1e -KO = 0d8144f2424520ed1938bfee045943f19d339ec444d74a639f12e66e136053b7b5c08046cd7c469d7007863c9671c90adf31fbbffec355048f0422ef9f14ca08 - -COUNT=7 -L = 512 -KI = ba17abe146be0f342e87fc6711d1b82c1879fd2163bf628a48fc14600ca7a9ea5cff8e39325ef58d514c264d3521d75a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a9f1a160216ea8554384b8c09a8091881ec2973b69acfb41e1d11a37c7d30f0a77c93ea9d19ba31cea7b0fffcb24462f7b7336 -KO = 109856df98a433d8663dd4bbf62339fe7f7879cc14f40715505bca01d31025c3b68a542053b46c939f3d049999ba5849382b34e37c22ae8fb733d7bdcac61f56 - -COUNT=8 -L = 512 -KI = e19e851d00d33ea015e54fc9f2dc047800ba82fefe2b6b1024cab75292252bd6e03b13794c208e53f3c24ace52b0a8e5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bac07738076f166726924a7f197b0b0e1a840f4bd6dfbbf330ce5d416e3005e7f8ba8570db2bb515bdbce021a060e04f1d84db -KO = dd7181ebd7cf980d3b57ee0e16df080faa01854e23bffff68f4fc9c04bf05688a77e3164b4a1761f97226c759a9d2cb4886b5e81a7681a6513edc1a075326d36 - -COUNT=9 -L = 512 -KI = 9006054270d4b3151904ac933b778c028c3e5ff26140057da1cf001451449e19753d47315be8630edaa19f9b07921cf2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f5042d50b3fb52e051feed8d0751b55958c4387c9f4eb43cc9ad8f308b986189651d26d6c5d8d9596687dd2ce58465ac54b77d -KO = d70d21ac7b09c6a87cb6d1b5c9b38734ccc7c7ca58554025f63a13ea38ab9af242b954f322338ae9c14b1331881d5e5532d1c73bbda50d0647b30080e4da3345 - -COUNT=10 -L = 2048 -KI = 50d4a7748537aa7888a07122853ff7509d918f982713ebabd17dba8177b456d325c8038d838a13a18b5104f9aec1e36d -IVlen = 384 -IV = 61b2202bcbeb4297de3637d2ac9163ae21dc778e3afa608fe35899f92d2cb3ef9dd7de28af873e22d99f9855f1177222 -FixedInputDataByteLen = 51 -FixedInputData = 5fccd838625b02287f5a0081b438fb47622d59a1e70b1b1eb3efdc04987aea364afc26b36836215adbd5e2c23a882549ad52e6 -KO = 8b67e00cc2d55b373cb920b4273abe9e9ce18bcc7fec7a91aa576b2f9e0320d9f3a8641ef770151ca0bffb7a907998238d670e22572a437c4ea7cbbe49e6e023f890763c4b1044a6f7277cd672bd8d4ce10de6d7f09e31a87424d1e1198081919335faed969906db7e2322ac0e80653582c5a6d17a3fbd313e992c278ecbdf4d0989dbb3522d44461fba7d0490f58fa3236ca03525df92f42d2d669b101181ec1a0d4365fc59452930da426a0f2b3860975cdd4df851885751d23a8a8d9c4a92758ea1609fed347bb278b81672bcb5af5d4a6a2b0af789905fc9e203bae5492fc5e2d778d198ecb4b4b306c5e538a221d04780dbd1749c87fd62c50109fd3d88 - -COUNT=11 -L = 2048 -KI = 328d64a16b444d2801e7bd6630bf438d101ed3e61b7ad4e473077446a4f55a2bc4ff69f7fb62f4b60e80318bed15a875 -IVlen = 384 -IV = e6b0729de1005f149644623d82961c9d025d997da9e2550cf7ecd1b70d5f6eba11b9b51db380dd3d363c410f384311c6 -FixedInputDataByteLen = 51 -FixedInputData = bc186a215e2d83671bf2e80976cd2b5a96f3df0bf02b1fc496bc31e7ad8390764cbd08536ec5681e053d244b9fb038c8d7cdbf -KO = 19d0d01d3fbd1b6b2c658e0f236eecbbc5b6913e852285c6c76adb484f77c77e2b1ad12ae6d1449a1700d6d0f29964f4fec883eedff2eb2b712fbcfb90b03b510b935b8b0a367c6852bc7e08e9470ba253810cb3490bba2e62509fbbf891ee52b3be0e4abf6e0e6cd37a37aa9d0fb568be6b32f88617ca518f97a7f73c87a7d57938ba440aa7d5b19cbdba6cede6dd0f2ed7d237144d0ad3b7c7fcd397bca51c44a90d01448785debaf5e3e3b65b1e0834d6cbbb41ab603f37988ca498f0a926178e272183157ef25da52c7ddce9728255ec9b4f3fad4498a7b23afe509867923a51fe38e00e5286c3218cbfb73d46e6a9b3f5c2a917c3b3f1f81cc450aa056a - -COUNT=12 -L = 2048 -KI = 94635aa36cfcab1813f41440db5be90a0bd842b1eb4bffc4a96d8424342bb44756d0c936253f6fa5975e701aa94e9298 -IVlen = 384 -IV = 4fdbf7c06e889c8831ee4b3d0a8816f0a8fb07a65f7dcc5de56de6a3c81f286c72a2e785711aadc306b2a4cf6d1e4e7e -FixedInputDataByteLen = 51 -FixedInputData = c61986aece7fa60d6ea26e87043ceaa6fbdc2f7cd9cf01b06fc17e0ae80877a0ddd992a9b07e64ec87fd0b167b2fd500f06ebc -KO = b81f4ce4b07f5d19014440775e68f781631fb12c6b4141ffe8160d37ef99649f772131d9cccfe1b96326b1e14152884c7d2df03effeb264a364004126f4184d7f2c779df8c4163cbc39eeb2c907a1e632ff41e40d6ea8f7f9c8baa7c9f5606dbe848a1c408da704373f01b8d62ea2fa0f64eec00d178b430819a67e9f69fecd14a47eec4e35309d319a04e5cc60cdb58cfddf9f6427970234459d7e87f3435e4854cb6fa303644f6340159de1c9c3c2e49bc19d3747e225a77576ac2bf93dcb0427e8149384cf0cc451d2013c471c390d802d6dda5455c2747093b3bfe5c8c1add5a994c53839da15f3c54502c32bddf8ccdbb58278e960eaa100a61d8e9ef4e - -COUNT=13 -L = 2048 -KI = 2b33eede2c8de4e27d84af62b6c3b6d50d05e3e3c61b2bff06fe9b3a0800fa69dcbe82b56f6784a0f70412cdbe785529 -IVlen = 384 -IV = 6728d47e90c2bc3a3d110c84c7c26ca4cefb6c17c60b719b6b6a99417c4fce276cefa77685e9356f75afda65d0a0e9a0 -FixedInputDataByteLen = 51 -FixedInputData = 39553442b1c3c68ee1a93b9204395aa20e67e567cadd756ae1a96ea43a97a3c3397151d72db80d3ad59a7abc59f4a71f902fa6 -KO = 263324e41e51b76cdd83d904a734e182278c50c01cb239a46c56c25044197f7773485de93dba555ca73df394e2bacc52fd63eefa69d2364458718848e122449267486bc9db5c0a46cf2aa335305d4d4698426022f422f607d63eca696ec1f69eec89a0bb21f8791d054b703360d7664cbb71d08648957001df84b25a455720f993d6ac29ea42ed05775c0a6d924e51b2b50b5d0e4c7b84f02de94bb3d4e5ba5396ffd099f86e6baa05f10fd5d5f216677e0b701c0b35ca50c95593cc7cfddd9498f6168516a9093c8147eee54a05d078e9ee19cf5976822f3c3ecd56cb07aeec5ffb3b8e04dfc015bdb8a5eaa392f7a9f4fe40f5756a45fc25ca299501ef6136 - -COUNT=14 -L = 2048 -KI = 9c3a0dac5b35e6789b0cc0e71a3225051e8c909f8e21be3c2a473b1fc24865fef56a591791c4caf461ccf1e65aad26a5 -IVlen = 384 -IV = 6553af1647fe36d6dc6dc9bfedc9a1d2480225419523268150de6bbaec4bc918fe139cda79914e644a4b9ce307f33fe3 -FixedInputDataByteLen = 51 -FixedInputData = 4020af562f301b3d639e9bba94fdb562a8968411c2127566390c73dbb20edc4ff615762009d62c4d10289ed7beecb1d261b612 -KO = b85e6b635d4d1ec267c19642d150f3722b894e79fb739b2d6a5188e4a2c26325ed7122db77815d8b6a0de7bdbeece5c16a792cad37d580dd38e32a34a19ad39437e28c96ee5f8849742cf2bf653b09b729013a0736525b27fe1859840a2d1ab3e207cea9a341d20177e1696fdba0007bc8961f1514d305697da51d51d8e58c079793c0018df44c77d9c6b7cb476caac76e29fbbb1197cb991cf2dd80e3cd7a7d6999dc1c6ad2d1697f97439067e2606254cd5cde13c5742c13e17b4581a6fcaf49265e77ec37c5603b4177ab633605efe822268315ca06edacf95a60eedfc9dcf2ac5a18b655f8f025059bb0f1ac991d623ed7e32622787f278933a6fd15656e - -COUNT=15 -L = 2048 -KI = 7a887264bb717a3d46bd3a6e32a5e9747c59eef7927e8c97184b2e6ba32ec21a0ee9ea2f60f3f3a6cf33066d2421e6de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c836b54b853ac42b404869787f49ab9ae71663b66088922b9f36b66e9fb8bceba0f82da7c6985b01c8f67a5afcfde87a62d224 -KO = 141dd7bfa71adcfece274a7cfd6d240ac42b4cad74dac9f2a2bae3506ad2dadbe0e0df76ea33710a921b93376b77882ffcb1797c67d108628bce8c9f5efaf9fbe5e0acfbf138b3a38a851fcb4cd778b69c6074aee628542a5a4eb82de9a734455dbee98601e51b5442bc384d44c478ed3ae68e3e5166248db6d115ccb5d7070317a0040989b0f750d230e1e974e5dba7575b03256f73e2184ff7eada6fb15c669d35ef9fd286f6ec2c579a79f45ba614802a9f238bbfaec5a94774e0996bdac926e46decce8b234938df3accaa02feef31fa6cbb972250222c58e44bd1c641556dbad295cc7f6f3f1a11be8089caa181eef80854a7d6b611fff58018f46e5df2 - -COUNT=16 -L = 2048 -KI = 207375cdca137b9a2f02c5c5cbed2bba825b2f5f6ec8e56c0ae638b25a47d39d87d2433c91430ea6a88e8958c9171364 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 155699ee997e3c89abf14cec9036e43670a17e228af4563722c1ad223d744d55c8e889960f5a5d981862e93bcc94541a2af249 -KO = 799f65496b20148b6791d3e8b72d2bcdb8ab818aff569d0e62f385b95c12922d3b64f9276b3fa544de20b9ff0906b500d59f6272cd39a646b711f5fd610875fbd6299d393b58e92a2253a5ee246f9f9c942f4d45b5fcc44a203ce0af151d659e8db2c619542a9bf8c4d4ed17252b1009fad45ae2620701d9a4a8ab1d8fbac639780995c07110619a20e47ea327b3b0cf9c1aec259fc06533f37fe68a1e3ae952cb5552fd32ada1f104401863ce54d619338bc5f2cc5ff3be2031a3d086d7ecb2c894fab4383986e7e60abd84a2c34e9c041d9c787652ec1253a389241a7051af302222a80ca74058109c6ae1ae99b82c6d7974ac3bf0854b8af4750d11c85f95 - -COUNT=17 -L = 2048 -KI = eb43d24e42bc5e2f07f33cf18894a6ab5341387805677bc62b2c45996025ba4f9e603b6ad08c87d2a81e8ee0857eb73e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28f9073183142b42bb1b6aa93acff2d28f2a0327d5a06487d5a6a23e548a64fe0f873d99e05303ac30c9df7f756cf055769bae -KO = 0d3e5d59eac1289f483ab5fbf31cdfc24cf9bdde64553ceff9a18256f586b3f8ff629a500173d5cf667964148417d90ee9864df67767f4a7f25c79d4b8e721d74b3d6627007b5f1af6fe401d1c1ae26c20c065d1fb19414ddf44fea8e9d64880f8e244aabd3522233f82d92f96f6f206dc766f839bad3ee23f4ceb45d6afe7e60b169171c5995ceb05d275667453747e02dd85cbb50bf1d73ecca2e61d50951cd934990ca94f7c913e2d8314eb916cbc75df079ba961c1da586ee53d5f10e08430962fa61d0a6fe997625ef60691d06eca2c1a04f2752aabcdbbe486b9e610e4ea906e93152cb365959ef0151941a85b07537bff27ca2190f07c2a9747beb9fd - -COUNT=18 -L = 2048 -KI = 31db1ac5eeeaf09baa3ed52e087214ae7ea6bffb75593ee228f75d0acc7e77ec6b9edfa9052264f4162827f94e943471 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 270a08867c4a41a857339098b70dd8d0a05e0a53bba1a316b6439655db324a814dc607a13c5e40193a31565d9d8e116c3d8e15 -KO = f8198e99a75e5c812fe3108ddf80d520eb1304517757c49251c7ea4fc039970a0d91d0f363a4459dc849841c07168ccf2384de8a71cfecdfd4a403b68d4e9293cc0944c6eca8fc8edad600258845cd9540a43e115a70e60622a1f9535021649e72381601fbc2aab8c474593fca60e33e014832ad4bc9b7fcd60c59e72a125fa6f795f80c338d2cb422cd562a11f6ad78902e33405c2570bbb385b3aa79f499ed249d5cec182316e4c68ade6ef8ebeb7731d15602bc1d922ccffe481fec7b21e76573b8601f14b4228eea361b4624cb7118ca890db1f0511db7e1781120feedce42a09b27d4b3afc75354238240723c4c0926e7c3d4a0c16b0d40f21bf2c0fe90 - -COUNT=19 -L = 2048 -KI = 3c75a10a2bb8be7d07706e314d7871ce0aeeaada076cd421ee5f5162a2cc5730157f15ddbe5412b4fe27086ceaf94898 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bcb84afdd26bd7becec28c84d1b1a4bbc7e5a6d6ff94f985b718a0fc0106a0b142775cdabfa6d56cf027cf9e062e362b20aded -KO = 5282e33e2769ddf83e9357babe9fde991f2e98c5c12136a77ff9567be7bfe87532cffb274d05e495aa8bc78c18d1294a0db3bce3759c2fc97768e1acde8a302634a3030e96306107b0e485d2a1ba52d86c5da8971d8531151564e143cff07dfb5f6ba60ce3a54eb6b8f50ad1402e1f92af25b86f2d0695c663ecf03cf34df105cf76aa8209606ddc5c21ba432d86b7aaeaceaa301e80b5ecfe9e57d2fd939099dc4b0a6a14f06bd70e78e3eb48bf22ebbcd73137fd969bc1338b40a8a8e4021584347b476fbb05763574abd4f4b79eb0b6ac537a1dbd6bbaf729d955a5bf48da2a09b23e13729807e3f1bc6e3e1e8696db23cb10354ff431fb5ac2a8782f7c15 - -COUNT=20 -L = 560 -KI = c6b274701a8a1dbc89bc4d4956624b2e62f91236a47217b7ca11f77f7ec2cc8d104ab98e43adada0f8266b9f6f702767 -IVlen = 384 -IV = 4ac126292d73ea5ee67970914bfc890026b22b27968e6a01e90d8f325d2be565c0701bfc46b77a6802e07234ca171755 -FixedInputDataByteLen = 51 -FixedInputData = 212ef6a1d9037805383f85daf22a87c8e08af562d8932bac14790745c68d90b496b05319e4aea2b7a3a9573b443d2af6106612 -KO = be6ba8a74a75e9e0b72d3b7edfb104186c047f483b71ede088aa2e4dbdf4a9d07ead1553496d29098b6aeda2e757cbcb341f47576596f19005a824b1bb36a824835c930cbfff - -COUNT=21 -L = 560 -KI = f48828137c45b966da9ed7f523db5a529e14b23d01ee7c89c709d817c8e3d1245a6545f164c63d4fb39081643b66d466 -IVlen = 384 -IV = b8af8dbb39c3ae1617d77c25a7da9620c0ba41484673adb8285b410aa01e48463c95d566ebcdd321ea80560db51e3965 -FixedInputDataByteLen = 51 -FixedInputData = 7e5816d6d93bfa3a556f735783fca848ca1104f8dc793520cb58f5050fc6b59123e86964d6a272320986f10031d6e8a9272f47 -KO = 7c2beb10fd5a32af60d0f622b93a7a98df4cfb93c0ec9b75b3e456326f8d04a66a11b0aa00eaa8a8c0f22e0626de4c95826de4d91a2a60c769602bc514627c81450fa8c90866 - -COUNT=22 -L = 560 -KI = dba08bea8f8c82aa59d7f66d54d583c3d2a6c74026a8862be8e40f0b25f6aeb03e38e0825e63ce89a14a6063c330ebec -IVlen = 384 -IV = ee3b3aa3612b4c6f69b9d9ce7b89c4a0857bc368dc7acdff8e3ab446294e2132855a1333b500dbe7803f551ef2a62b20 -FixedInputDataByteLen = 51 -FixedInputData = 8fa029385d69e46ed714984ab7ecc73cb54f7cefb280cef4b751cf5db962bc4ed9cc202ed53326432504ea4722e660977df187 -KO = 1e42cc89fd5bdf8bcbfa2d33c768d0062f5d9e4cca17739cd7a8c461b4d0b2eb1bb07663db3171281a205fa1c28e2f31da566f2f57ba204480037095f3c99c58a9e64efa056e - -COUNT=23 -L = 560 -KI = b80fbf90993f2eddb7508cf222329e30ca4827b5a379792cfa2c16ce619dc6c730f336020de2d6690d8a8d91f4c851e6 -IVlen = 384 -IV = e05cb099dc0be735f3caa9cdb0a5b4c700637984e6e0e8426beda94718ade61a8e032fd3a4eeeae45256d9c236af3655 -FixedInputDataByteLen = 51 -FixedInputData = ced893f962ee028f6e628041d8408081dffa0418ef8af17ed98dd17a7b03de2e9547655eb28fe1865df75ddb94c4e6d250db33 -KO = f96e56f1f951196450f0eacebde01b3b5ed13ba8fc83c64ad40a3ef24727d8f7f938a68239d9aa27510aceea234941af9206a78b69408f926e343c636a9a83c09442a8c39a66 - -COUNT=24 -L = 560 -KI = 7fe7521086951aa4f7db2aa1acfa577d25e7329d682aad4af3f3535e9388e651bcf524bee6a639bc16460f4bc8b032cc -IVlen = 384 -IV = ffeebcc60dc91b82c64d46799a4105207ed2fbabc2f1f514be2cc6a718d0a93fdb1ae03e8b20004be0e28999fddc6419 -FixedInputDataByteLen = 51 -FixedInputData = e9003d9dfb1ac7907d5ed934c7fbd9a18e1b503fec3021dfe6f8b9a683edeef79f2267b7bba658ced4413a2ee84f54ef4810e0 -KO = 2149839da2014b30295c900b65d49c66ad16b92966257c1e3950c144f4da2c64bfb9c930709fcf7fbffa69324789acdbe41414c09ac5950118be47da38ba14f7f6309bdfcea0 - -COUNT=25 -L = 560 -KI = 13920151fe32205df40866710a5d1a03b7babeb4a50ddb8a0db2d6766bf0ad34e2fdc4b31d04e898eb9eafa1f5c7be47 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 73d35f74b7ad6848305adbaed6210938d537e2fd97fcdee3f7952d806e61d8abb655682fb0b35d2a3ec9a2da8f9611ce60898c -KO = 88a015f43ab5798f3fea4b111feeaf6ce172219ad36f3862f1f5ec31fc765826241006610cd510e62934d23b52fb32be1f9f4c29e6efe70ffe5449910ced915d3ef770abe353 - -COUNT=26 -L = 560 -KI = 4a4931d0cb2eee1ac83dec2dcc66f30f85e7b2db2570ea87eb7d289c3ec340043bb466f3cfbd168aaa1958dab8178b3d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0cd253261caeba8c7a4803f0c9fe5ea19bd2bf05e399ac549dce6285fc5ef3ff2681f455be9452b38841a0cc5a047205f167b -KO = 8cb247c8ac6479e66d083e8097821ed1836a38ca5f92b27185629098a6240fa8be5edfdeec1449549ef89bc3ba05053ae5c1e6a6b8fbc470da5c4fd6015f9835d8141c2ccfd0 - -COUNT=27 -L = 560 -KI = 98a2259025f3bf508394cf12bb7504d61ff6cf9eb9f2f7ff8f03667cc0ae1e70dc47f993529475c0362093a24d8684e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29d225501008ea304ab7a0595c03aff0e68a878f730a5d6bc76b4a474b1b06b318cef56a617b2e5c23b7fe1403857e750ce44d -KO = d776427637d19fc1df05210b6c728e4476424a9b000ac32411463e24ec30b7a763fed6a449f1ee0548ac10e8f7e8039cd903674fdf15b4e133c69354aa7e406adbeb6256820e - -COUNT=28 -L = 560 -KI = 9947540b34be17daff9fee7ba47728eace898b76e1a554edeff2e638a31a3a8a4711e49388faef6eb1a546fc0ad98fac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3429e44cdea1d45859a776a5b69f01899f52cda3352dea5f7ba31b104e8bc5f0c64c2d2c2e795b13cf5242e88eedee35acae1 -KO = 6cfa7c6ce84253935711f2ea75db260df01f677ab5e6313afaeecddef98b461722385501bcbf9cca7718c9774472d2840049acf44e3c75659020b08249700040bb678ce7be1b - -COUNT=29 -L = 560 -KI = 7b867dd59d954c73254a196b3a9007b0369ef4d1817b0041281672e7c4654319dbc6b9ced659ad41d694ae8f35e4b5d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 16bfa41b8c6010c07191924d04cd1f3038369de25cb55ab95ac2c60014cf359c4cd04a69a5a4f6124772d4cc9f8745b57e8c0a -KO = a0d31ef55974dc126463db831c896166d880812b6ee41eeef8e3a9898afa9da7556a7b1948b7462c6cadbbe8b9c49abc3ce5c9fc7d5d236cfdb766f5ea6c87b6f5605035b2b7 - -COUNT=30 -L = 2400 -KI = 92a363c6ea77dfda1091a7f2e1cf7ffe18556fe9c16346cc197495eebde605e82be3ddcc9b6188e10f82994eb2f8e708 -IVlen = 384 -IV = ae6b4840ac4df3a6cd3cabb090d37e8281d99e170b355b582d0ca980e11078e66f817c62f19969ecc0b695c54e36820b -FixedInputDataByteLen = 51 -FixedInputData = 6427cba5bd44623211b2027fc2da54d62ec02b60bfef64338ad81a2988249a71551c89f15658b5ab4bcef0cd42047ea7083983 -KO = 449ba2ab7b1cfc539f4e4519c7b698a97b7b0e638f45d7b0cbdadc9a3acd31fa4a373f47c26a7b0c9f78ce997a6e5f4051122b6c5d3b1784da4ff37f527bba7182ca1a31815bb9ba8bd17374c70acbbeec870995ec0e4c0cd2e946a6ba68e10c196342e4c5a221e27b4916b427e0cbd8d22d5f76e23aced0a2b937beab9453c25cf5354c1f5af1898324806a9bbf49690bb00fb34ad0373df685235cb7e25381332a6180aea7719a2a6411571552c6c5326dc6bd793f50445de2410010458926804e847d7f966601df3e8333ce1e0c2841655cc0ddf59fd6e73aafc4593467f5acd6fbbc729aeae154551a66391e3f1fd15f085e9d81dcd1be67f5722b44fbdb58484be6675e82b0f0de6ae3077cc27aaadec94ea59d4655993a0e85090ff75bf27507cf7864f71163bfa710 - -COUNT=31 -L = 2400 -KI = c7883206a0ed96af68fd1f38f2b552f64507f7106c12d6cdfe551f53d5d5c9fa012b7db55d14e3a8d75bea53e2ef50ec -IVlen = 384 -IV = 213bc42eb927dd43eaaba9cda74a7502cb2aadc80b3341583320720b1501533c9478a6105d536dbe3acb51935490147d -FixedInputDataByteLen = 51 -FixedInputData = 52c42688e85994990fcf12eac7d907327fa613f55dd601c3713cf1d4d31cb004d525bba966aabdc4e637094d141ed3516065ef -KO = 1817ad3d21d54421eba191ce2d9bc689c246b1717057ce012431398254e5503b13323f5a1eed5830412db9723ceaebff3d17ff45a25878d0b3a7471b1320ced9c12eb0f6151112cb3476138b1e588bd5157a1ce0c9946a4fd5191b0d543b847566315b6bbd1eecbaf72c0a7080c036cfc4e0fb20ea80c7844bee1372b4e68ccd8ca6529e7b95b5123a644fed9a8710315f4a484eafb9c1ece8430e1cadd8e4e5275020ecc35ff32afba6b61d78871c02d4f0adb2677834d7591ed0ca88c04b85df2ea14c41f97dbb5a875c752177a4cb46a1af978422a57a73a7994fc5412a09ab6951202ade5bd1caa7553e5859be74c6e66ad30090c7ca47d1170718fe5af01bbb47e70c55926f44056341e99818dd0052a5512c12ede9d9d7775fecb5cf883abfce262200c558ca671b40 - -COUNT=32 -L = 2400 -KI = d8c94aca93411b898e808283c033da33ae7706013e2e85f5bb1ac6a8c7cef3ac1cf176fa252ccd8a35865716dc33aaac -IVlen = 384 -IV = d5c389d6bd351114677b06e909bbf7e6efc16a1e2307792ef096b5a19a32dd26d670f2f3fb605d9f26d7c561b0b2b909 -FixedInputDataByteLen = 51 -FixedInputData = 57268d78b32eacf0c7a40a8442852a65bc561f186558a9f69204653c8a55d5cfa008ac8c20732beb67efcf43f3ff4cf193077b -KO = 7f997784014cc7e828547e81bf011e14dce6b64d0917961d5b419e447effe141329562ce36a33bf5fd5fbe20c28c504f020c96ada1210b8e8c9e28dd3b3c09e05f69656ab31f42173b4f7f0094dcca7a1a072d300645fb0b7cf956dec700c725a35152f2c507be556da6c3ac98df5d097a849137eb0e23f0fced069afe71a7147fe5ad261cd995b15e88f9bfb3841aceb7fe6dfde0250d392ed9235fdecc833c77488818b48599fd3378ac5e2880618983a058b182460ed2186098607ffe81b5117888c479dc3025bd538cd2df3112ace0def63db17ca565afacb5b03e91865c25639025a7d04c5e4ddd236f7fd9d55e9b517db73af7b9007ed4ab78e3d570839b3a49d2451b18cb8baf41ee89c89a25e97be97a0ba4531a9f789352649a74cc1022d6ff142409b85f4f7a31 - -COUNT=33 -L = 2400 -KI = 3e2497fc591ea80b0699f95596c3ed39eeb4ac66edf51858a89a602223979ebbefe41a36d09f83dd22a8b0a317bf8150 -IVlen = 384 -IV = d9ee26eb9cc690bfdd82eeeb1d3f10f02cdf0440329de8976fd080653e05dbe61829081b9fe52fe97e8c311998e5852b -FixedInputDataByteLen = 51 -FixedInputData = ebad3d610f9152ea7e8d09438b4fc8f5225cc4411bdff1718cdbcac74ead71ce4a49709fbad6033f0153c5285bb84f9f6e4740 -KO = 874d0cf190660fca687dfb9a03327ca02d963df889abf93a0471d6f8a4dc23cc4934e3b37f485f94c1d4fe8ea7178d31a3c94e204b9937b6cf7fbd24332b1abd03ee21b0ac997dc7c8695fab00715669ddca3daabb3544550f269bd9fc317aef2a260882bae30b6bffc912553913f567597f97e36bb21b98fc55c7bc15ca55b65d95f55fd9238c26a6e9359bccdc992b0dda18c68799c28532d9d34ebdeb9dca50497a64dd39586a493da5576b2d5558479d8f73de4897eec4735f96cabd2804d35eb68f9675795c23f041e2bbecf0d1d2bb03b320663777f2c3ed505917255401b18c554e3505f964fd9ab68fd34cc77e3c82b63d68492ca24d907aab44cea3411259139fb8888085b2f781aec9b2183e381d8ed203ad43a702a24bb3ac99f4d1bae6d3d23571bb8c353473 - -COUNT=34 -L = 2400 -KI = c9c94568aff7af2d7738148377515449911c93794a5c7803806be42d3564b054ed1136bbfc04239e63f552d2e3f3a18b -IVlen = 384 -IV = f3c70b7bf1d58662db322cf4b8007261a7bfd0a9530d18ab25f579ae71438a25d09b02f2e48a68b4d21b4d229bcb1f4b -FixedInputDataByteLen = 51 -FixedInputData = 02ade6f09bb1487368ff2fbb29dd28acd5609c302151642748384129192e1f4d4c247cc27d522603fd4a1a32a1d99157897b93 -KO = a5902d23b15d33422a7b980038aac8b915a25e42ad69c77d1d3e1a58b9c707d0371be053e927497485c024336c22a2f02b4a3404c53e72ac4f6741ad5411b8333048a1e678ef60f0958b2351c6b592662310aa06aa19e6dc7daf13e1e8d5020014f10c4cef9a5834035f477636a7b941fc359bdd4fe64ebf96ec6f5c5cef5f7a2002e131e6584946070b3a27956cc464e0a47ffe29c20cf4be3056065437808b21e7e1afeace3e6e3c5c63ae75b2f438405bcc1e7f5e159e13752af8423c51c94b0f6636d3121e801f0d7e9db1a2d539a5844f75068d86dfdfbb9a601fc7c09aea3d9f05081d2a7851baa85646d98d741b0d8adcec78ccef1fcd4e5e00f0696936891608e42b5dcf9c06c97f5b4a97431f467f62223a0f4355fec1f40ed130307220ab60f82809968dac558b - -COUNT=35 -L = 2400 -KI = af9dfefdac0bde9d4829a0c5214ac87031ab03cc82cf4d51718aeb547ac5551d19f212ff1efd858aac8a972278631c13 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9527b7bd6ea31bdbbc4c09ee999422f9b1d4d7e07f72c7891d59d509c76a836725c766675aefcb1ced63194942f494c5318c7e -KO = 23610a4a1128d72dfc5ade0228aedde7d2b5db2c3c717fc36c83785b59ee912be701e9de89e5b9e29bc7d1eeed121eb72d271d502dec082d34e47e98ed501880384d042c02a989527c80a7325fb037115ef59bc523aecc4c9df1b573a1d921585656dc50c0b65dfa805eb30fd2628c90f6ae6ccdc3973be08143f5b611b3dd8a7c07b5b6cc5cbbe667c6dc2f1058db97ba72299e2782f261c5a4e888ec55dfcd2b34267598f0ed4782983862d816b44fa68dd4baa676779f3b86f29f68cf966432f12beac97d7958c1c851693d549257e7176f9d05d195fe1700b5ff2369aa1311aef9183a8336b7a6875fbc3d77c83b44e99424e88f00801775481fc25c190080008ecef1c88bf78b3bd74f6d54655d8d0277155d0496b88df403e61c5c73b0ec6168c0ca64bed3f6e0cea7 - -COUNT=36 -L = 2400 -KI = 4e3e8e4fef368ad482d96a456b49d9936807405c68234725ad7d6404eaee09c245fd27beae4d60253f2d56859de946cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f01dbba04c137f051b4ddf95277ea78da9a4f3dd85274a444dd7294b6dd8efcd65a5b37dbca6a90b512c68729e16f67a0d9557 -KO = d3334fc31eb651527488ab9946a844cdac4b2e23cdf223baae3602678a5e33507a327d84a7f125f30f68b61336b9e9e50634a70d38f9b2ff867a07577c7b1ff34ccc9220151fde695a1aa4df92f3a7bfc00c10ab6f45f76c33573d7897e3ebe537ff7fab38f153505660537f4d7f6cc09eadb3be755bb9d913fa922e695aaf1c90e05b182e176ebb7507d064274043fb9e52c505ea0caae18d5ce0360b7ed500ca1fa50267b280a2c392f2e35591654d816ce568c13755f07ccb5ab5053f8fc406aee24950e6d833b74111db7839d348170e8fa71bc2c13dacb0353be0e6efe3bd17dbfde44650034e0dbfc74e6b0640ecd0e4eb81f3eea1769045b7e0acb519897106aa44703b69304e33e3d8acd79ab8de70e8a004427ed56f38d465b857b67e14926ab5e4e9c96bd13c2e - -COUNT=37 -L = 2400 -KI = 65a9ce356385f325ed15fe777731935b6361339521a42b9a0a217a9b54288dce26f08fc7dba8535867a5c29d1874fe01 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d27a33ccf5fae671ed69cb6e58b38efd5ea367758ee7d140632c94ff28bdd63f46592912feb5641ca5a18997ab1a1874ef0e70 -KO = ce0eebf144c13e5013dbfe16d324ca3e6ecaf1ccad155f4f87d8e7815d38eee9aace3cf10680212115b0d7689bfbc2159405d31d2185a5468edcad650e80e87bd3a8155f5da04c755e7c104d49bedaf363bd0bbdbb3afe7e50d29842bf7916fd229ec506a83104d07f829233c5a07e949052275f5f5a070fee4bbf3f2a08c9c9d8005f5c9e4ac375ddcd88474be36b66ab2d683a35c4c19c24493addcae225a796ca20f905d8b431cdd04d8580ec71269a6200ee5bd36fe3f0048ff0d15b8d0595414a1f29bf84a60add31ec2cbfa03141c5374af533ab8b6b587dc2414e0ca1afd1e88f4254608e6c0b7c182d2bff9369896691683bc4b21b92b61edae8af65442c0ad32f4961b0a920d157b97bad70be8ad07a41e89f0cf62f45789ad7892108eb708bd4de2bc62d3f2709 - -COUNT=38 -L = 2400 -KI = 243184db64bcec90364c5c249438f3dbe7f28eaee5328a2dfaf2ae7d48e8edba526303589abb69d68c934c6b45270b1c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0f2e1e7b936bcd3181e4209e68d47c264e96c1f10445662d0f6ae1713d568b1f4e73a0b7e038c7086dc481676ec8ec4cf1b084 -KO = f18a22395e83bd4d4f55d859b51fcb664a114a4f242fe1c4d683d217836b16a55e22bc5d34704ce3eac39d321780ebed50fab18e4dee33ada3533b5322bb0b9055eba2154d3f7e1dc89ac02eedac57a71f56a77406e417588a9b29837ba55f4cdab480c98199048039bb860db3cab033c7149cfd2c93ec6c0bab9b2c6232048768b1ac42c1431bc6545ecd835fa38b2fdd73f546721c4f3c5dd886fbcfd25827298f2d711b9977a17a585e8d69ffab39006cede521b7731e038a4e4a9d603cb373eaa9bd64899ddbddd6b868ee147223ad9f5073dd0ed483b97e5a64496f5573da58efae671d500a9a30a0739e8cc0e43452c5a20e7cb035e814ef5b7930d516c11497cbadb3789833f2538f34e89e882eb01c1331962f22d3c9d405e742503c1c4854fbaca02ec56c985727 - -COUNT=39 -L = 2400 -KI = bae01e1c9d5729e1c0fdb8d720b4bb32bb93b6da1e70b6d45d5679062ca7cda182a1abe19b891bffa4be82ea02980c03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d81ab6200ce7925051a59f900fcf8194d3761c1bd0e5a0a8d74ad10f4b206e0bb8861cf7b063db5e18ee4f7f4eb570627ab9c1 -KO = e21639ca9fd42a6be0ec7109fcb6a9477dfb6246ec898ab53fc8960b93b6b15c153301b8fb593a0715d7c6c3f1be587c6077c03d0ceffec509212c8ca68d110128426e77604d17f4032cff9147fb096554cc3765b638c1d2e148934450a740a16b8b85093490707a6a32898a10f9eb3c0711865da3809be3b8ca5c98d057dd76ca74eaa54767418bc193ffc8408fe161ef343a1d82003353d0b223b392d67d048c8e94c76b536dbb1545d7e6a62a922bcdca0bafe428e27f49e69b8fd0b5501d6037a2076b2e1491194b9249ed471c94c4a1638f5fb2645d73fce351478db643cb416efe27cf38162b1992534c2958432c42df5fc706a5b5ed233a3b25bb6e29994a021f8f45a32e3558e8539dcc9481d9712285d8211b6fbe660a8ee341cb20a2aa166358ba901f1ddf7781 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5a35b3bd85966f6342c8790bc24a50ea6e969307c684a0d640dc80c6a236ee77f1a2a7bf10fae17e81698a15d53addb7 -IVlen = 384 -IV = 0e2e4fdf2b159a31a1c46eb325a24a5b8f99c4504a01c93451b5f9786a93e43329bee08c61e783a315c9cac87c25a6d7 -FixedInputDataByteLen = 51 -FixedInputData = 9208d9f4c657428014a1bd0fad83ec5a58cdd23e77dc6f9acaa32dd1fb0b30cf39cce1908e81051f4868fb89b769e095f5956b -KO = 92678818e22388d9ff2d53b9a081fa2eb0c3add06a74d924518da958bc296d76c3ec345d738f476992312e82ac9864ccb8872fe8eef9f70063bef1de3d42adc4 - -COUNT=1 -L = 512 -KI = b9dac46a978be7f9006f9b227aa865f7d8d509794f6663b09403fb75fe9f80d840ea8c645e07cca4277e3fc37c174d0b -IVlen = 384 -IV = ce1cdb69f3ffeb947fd35983047b69d11e0a8a58925cbf228a40d9e48817def596298e199c4b37a67a0cd00bbb4e2bbe -FixedInputDataByteLen = 51 -FixedInputData = 98b8b9bc4b42942bc0727bc8f15ce9a2b7626da94cee706d567e3214517b7eca80c9721208afa63a8838928848edb518a52768 -KO = 9303e354be9990825a4bd7f33fc8f9ebf7d76e2f973779a08d63742290b987e3a7c326ede7da985f86f0745d081fac57f379b32387b3c1e26de89fee42560b70 - -COUNT=2 -L = 512 -KI = 97e4ba9c307af3f107a148ba960dd5ac633d450b81640c6b8798fe439c6c0a82620b8a8630ca551327a24cf1fc1526f8 -IVlen = 384 -IV = cfae1c01c89898f20853d5b6d4e5838142322b0add3413aa64f86f3a8b25d38f9ac72c24f5a21eef71dacccd3807c029 -FixedInputDataByteLen = 51 -FixedInputData = 7d71f8d22fd8f1f1e7e6871fb79822904fef9e5d5e9c85227759012444ebc0667d7863ba982ffa4fe92ad5502bfd7df53e074a -KO = 6ce79c228df5608b9ee7da1b47297434cca1cba6506e41c50ed58c46e10f386b2e2facd8bcc882a9e46e681c37de53e0aaf38221f80ae9363ee1e3a6fcf1a21c - -COUNT=3 -L = 512 -KI = 4e2887264011a6c862b09700a489b6ed54319c6aec4d40f2ece7c16463efaae7b24b92c13b63272a19ce27ecc3f343f6 -IVlen = 384 -IV = 65a3d6b9f1e03211bc7d9081a7c9baf434c400bf6cba69f3c1a25eeffcccd63be5a347999d2a025e50a25388eb09e836 -FixedInputDataByteLen = 51 -FixedInputData = f0e27153544983d0a2c0fee2f98c264d1e6fd53571d70f25383b213584661cbeb500f600212ed0e262b30d77196d6663e965ef -KO = f1d148977de2b582b9a506d6d33b3f8df50a8358b10bacfe1bb159fe46244bd79d0030fa1ddfa1bd41c8c1f17ae8fa2b1706894c4dd0af1bfb531fe9ae6b81de - -COUNT=4 -L = 512 -KI = d68b07563c85657df6894f6bf04e8cec3e5e6d851af0abce72bbcf5a245c7b7e75ed1b3ade9efd4c17844895382e8a68 -IVlen = 384 -IV = d570f21e72cc60c733da4fe71361c150cd6ef34f24acc40c45f0b67d27a38492538160baa346cce686470d2b37a51c44 -FixedInputDataByteLen = 51 -FixedInputData = 1abaae2d4c324699d74aa5b031ecfa769f72986a1fd0340f425612522629fc9516f922093d6657b40d0f1d0de2ed849ecd5921 -KO = b21eab5afe050c9108d653b49201325ba15f68f70867659e76b090b444cfa8c1691179be824d7c676211216f102f4d217cce994d6cf04c405a62d9713c3d5505 - -COUNT=5 -L = 512 -KI = 0a8337bc2db31612df55540e75baa82d887d6aff181a3b2904128724169525cdab77ec62ad636dedb61942166a17d751 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 15a77af294f353e75432f76f1bfc08d1a9ecc5b3c01f0556161501513013cd130ef59d8b9bd206ce2eefb5d1466d896006f9b0 -KO = 7016b30c36483a5ff7b0404ac9f850e5fbfb76bc61f6eadb295be066444da2b9872f0ac667574e51e873796d5f1c2e5a71bb40ba91fd9e5d890e55cd27ad0504 - -COUNT=6 -L = 512 -KI = 49828938649d4cdc08fcb0055d06d3066750f1fc2760792d0ef903ad5e026d5352f18b1506c39fdd79b7c4ee89933983 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c110db2244e52d85cad3d1b29e8256c00794d923cc7dc305ebc8e6ae987fcf039069ac1bace98a45d56e1b58fccfae9d1a0d31 -KO = dc616453c636fbba5883bb6fa1bec61c3c4ccc426d2c9476d0acc4cb14bb74048a8a282f38d20d896a98951ecb65ae2dc0c5e7cf6e839513bbf5f39be28043f6 - -COUNT=7 -L = 512 -KI = 4e5faf8739e02b22ba55eb160c8a13989a887d6400d160218c21c412905ffe63d524493754059afe876ed03e7aea68f4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df77485ad0ab51df5f31c3fc4c5c303bfdc31e3ec23d2a1d901cc140bf3f515b3451cf83241af1af97847a1c2195b9681cf898 -KO = c8c5a9ccd2a0010e971dc2df496be5f0d7243b66a8f7d56369bef2af32f69045239ed885b3cdb420c4c140bd5e1325dfb4871719cc0c108f963785909b1f081f - -COUNT=8 -L = 512 -KI = bbedbaea76c72fd945ec606ed3df3229160ed48e2023550d964cf88a0e751d6c4855ab97c346e48f8a414735a9a94ac2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 010e131714561bb24c60284dd67b53fd2b69226ddd416633c749f653661f77835252a5c288bcadebf7db1bc598e0394b6af06e -KO = 134ba3290f236e8242c932133df7b57b3ad82c88407c9461b86ba13fde8dac77964b06345623c79f7d7ec253bc62116c6b31d3b3a815fe8a7c23b01d0862e44f - -COUNT=9 -L = 512 -KI = 0129063f2ab3592012b706fa7e10dad81f0069a96206ce9e70286392e1a4e669f831873ea59571f847ec697a00b6573d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6353294d8936dd61afac47f21874886f339345d67d85407fa0a0d80dd44afe186212028ccc89fe14037c5c09df3ad6ad1f8d9b -KO = 65e471c33ad0a4c049fab7be614096cef787e9f97390613eec34afa9d28ba589eb522912f35ea87315d1cf4ba159e4e3519bbffaadd8b7636a202da3ac92cc2a - -COUNT=10 -L = 2048 -KI = dedd276fc6f84a0106c861d95b4380f459bace0eab0a5e263c70e9003b923b150188722249a3a0b2366305d32bfca584 -IVlen = 384 -IV = ea3f5a39ac732fa8a2cfe499e3c4e4634e81a22242b6fd4ef53e2cc5644be3bcfaf57f6faa4ead0c07a6ba6e14f9e2b7 -FixedInputDataByteLen = 51 -FixedInputData = 4df463c8fbb758275f14034d87417bf3fdf1a06797fc17243208f76d8f160f7a83138481a98211412eaa9a5368d1ebb396c256 -KO = 058db17400227ccaaa1c4b1352155edc26822187fcb60638bb54561cf10db648d8906da7a2a256cf6a0da3c2368a8cc252a71418648a365821f4ff0880e96e4001519975fafb3ff456d2488e5ddebcaa9216fea49adfa4e5b943d302a3c16f1c19ca1b28a277531e72a71c2db90e62359a928a610fbf97b02266aebef638478f5eba7abb2c0908b08147d940369cc0c68ebc5bfe360e049de8f7760e9b85fed62f75b2d5aa3aa00319da4496448333b57bea8e2afa1c6b6e1b563f0a63daed3546303981c6e13c896cedff7feb94716a011c1274a1953d5c69eaaff6ead07d17b8c96f39a1335cf2221fb1f377435e04700d31e6c90fdc1b1744b960f6fc2360 - -COUNT=11 -L = 2048 -KI = 041d3a414215af54ab3fe95701c5b9168423119b22ced933ae6d600f445189d6af754658b8719509ecc17e739863b1af -IVlen = 384 -IV = ee9330939992ae9158c5a07563ca61ab1521c1da6279091795dc9ca0c81592d9501610e506ef0fb0be1c0cf6d05650cb -FixedInputDataByteLen = 51 -FixedInputData = 220efedb305777932814b9c4db04d8984d278f038c033f8b62735cee634ca37556607dfa38743d9de5490cf7edad13a2fad70c -KO = 405f84459699542a8d713c7f13f386782028c57fbf1615d538d5ca9e5c23dce54a0d82bee1606866d160be181009c4b12af65a6bac46de44d4990879c71c30b49f6a6b06b4a734b7a90603b56c8ac5597897cf65ce42b34652fb83516c84366d2a8c4f29b074d08afbbcf46100890aa4a2ad67e4b41386d0e00ac526bea2aaa9c194ebc6aa043cbfa27e1005bfc89508e30e51d5d85b64816954838a0e8a933c4eb632f3de777bbd356a045390192e30218da5b430dc782eaecd49279e0974d2f479662c842bd7488630e0614d0a868bbbcc45906dbf5957ef79bb44e4a1b73a7794ef020ba1bec1476eac409e0d98f6a02b5bde052c0149cdf0e2edef672273 - -COUNT=12 -L = 2048 -KI = 2459e80e643f5216fb6ee079ca26138d88dfefe41fafab7968091a94173e664b5967695469c028ba9991e27e67e78c6a -IVlen = 384 -IV = 82fc444e182b04239f8d5f626c74d8982ad306c1ac51f68b707be81355752a484d8d9b902bcf7bad24822cdecbe71e31 -FixedInputDataByteLen = 51 -FixedInputData = ffdcb5e963c6d864e82604a3eb4e6a478be276616e9eb1416c768fb809ab0e7c0edf5aad0bac4a763c4592257b7380a2fce507 -KO = 8806b3727a36cd776662bb4e2e779ca60a7e8301c61618ddf533bcffbaf14527e65db3a9fed1021c5d09660ebdfb7e1de487ee53b71729316dc42187d18e93200333b07085f7cb799f748a7e1ff4d9779acf51034f0130c9963189d84b04c38cc3b4ee9f5091cc668f0e3a15590f0839bfd23950ae82f436caec74b5928b336eafd2db32c6f299f4f26ccf4c4e63a1a8f030c8e9ba7254875fe05fd0808288085545ac5472a24839491c30884b0e335bf54daf9e03792da51d9797a1d29e52e656ccdb35d67874e00ba530b043ee75ca15c29eae5a2e9cc3af6f1b4fc86b2ef4a84f64140268733d08d677ca192b1d0552b96a96239d0ab8b043a298a56c9381 - -COUNT=13 -L = 2048 -KI = 028f60e2fb520bfdc40b815b9f746b5c388ab5d369e5536a27b758fccf94440aee5c0a995f3f7f7eecb0778ef5b0a4fa -IVlen = 384 -IV = 8ad3b18a6717b23b89c4b11a08f75aedbb535e80edfa19bb549ca8214d040cec62b7545e247fdcd58d502f36240d67f3 -FixedInputDataByteLen = 51 -FixedInputData = 44c8bfc0a0457d4185f9e05153255d2b40806506c98843703776d45971edfa72099080fd2812ae542d4d855420d295fc2d031f -KO = 1d420b7cfd3fbddabe49996a9556ec9560e67877679ff3aef6869b173b02e4a8e423ac4743bfbfabc730287d3ac288a2eddd50f59b9180c8b040241f741ac21a56b8a97bd5f523410f8f97250a88ff95a3814e619e18c956512aff3b255640ac6af4281055709e2ab75f9f67991f5449bfc59b2ad47277103ccff33b6b7ec36ed56ab753b228640865affeeacf4a65fbc4e6b988e7917e5a2141e7d48ef008a831f5e27ce62bc976dea1bff0d9dad2c84a6032c7d1d5acf92a5aecf3a7041cb956da752e98d20dfb8378c6286552a51a1d6e929ec267a283ff47a9b2e8b49ec8dfd42b95b571a13de8930c44e85844d04fa776bb962e0d3dcb8b078435f7e2b4 - -COUNT=14 -L = 2048 -KI = 68bca5ba7f3d84f716f873f8d92b853f4660b85dd51d7f0a070d4213535919c2a7bfe3e77bfec259e7fac7ef2dfff91b -IVlen = 384 -IV = fda0e6f4e60031baf28cf7aaa785fa272d266eb12ba9d20a47201c41aa5a6e073adc7b1b8e3c9b21d24541dc0018840a -FixedInputDataByteLen = 51 -FixedInputData = afbfed470530d6e8eb0edb346cfdbbf350c0c851b5d5b6bd2351b4343cf8c27464048d09ed6e8e47976a36f6887026404cd31d -KO = 090611744483694816b74f0777c42753ceb5282bde76f2f73b2bb92a3b05456bb4b400675b7d3a4ed414ffa66b5f7bbd73d3e9c1c153fd78d0ebccb11fdb7f79c43fd24d1110a7402747ba0bbf5430564974273c69238f06380df831024c60372fcc2be83c31f1d69d14091671063733c6a1082ac9359a62a7a592d7ce9ef5fd935148960f44cad6a30b6693abb8db5d4a86efc4cf5f7af90c2ed0f7cc63217e101e2ec6a3316c9dafd38bcd6e88c11e5caec722641a72037423319c8fdbd229e0ce7d5d1910c177f5201289ce69c788ca2b3cec99bd6909eb4e1ef80f1f2b3f8da6612ff58f6d27a590bd39455453e07d3a8cfc73c521cc2d6978de09f4751b - -COUNT=15 -L = 2048 -KI = d13be4d2917a6473e452efbcff4e017f7b88333d78c36442523b7c5acfcafc0dfaf48ee4a55d8d07c765570e81259066 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cccf85c3d91c1cce0d541307d647b8a610ea3e89730beeac6f687a0ccae816cdfe306fa42bb03a9cf5b601862d5ac69fbab79a -KO = 65ac879708fba27dc5a43de737fa53decd91514d4dc0aa106c0f057c01ffbbe12fc2c8f722449cf583b3710d89610a6180f65f65fea94188cf7534e7cefa15d5404bda73a035ea8137cc918d865cf205a0c2e2f330a307eac89c9e60912cef928b3fdab666b526e90fc5057d9860ac9a0022f9c52b5704c31e378ff0036884a1a0c0e986e6f741f60851dfa1eb31ef5676cb89e662740560ef7fc59b3149756b7cc3b5aec01007bbcfb67680e981d6a0f02a4d0463bd624131536618e0948a4d4d8d5e594803a27af640fc8e3c31409445f6617c7199d7c106bde711df4d21e84b8226b1453191073ce3e8c4df475a1800e8aab549474fc33f95ee0299f900e1 - -COUNT=16 -L = 2048 -KI = 585573a90c2c70418da0c8b7ba54370dda5297edd5f2d80829b6c28efe12c1d6087d191de849ac6186c301c43057b900 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bf8161c3984881bd1baeb377f18f8e52b93986d07930e8e4b7ad8c47feafc9fa3f3ad590894eaa978fe94969d6337e62b95d64 -KO = 726e68dc3996a98e196e35de3ae49103b24cc7a27365263346aac417fe2220582deada9164c31b4af49166ea50d61425683205b675a19aa562368318ee6e376d0264332702019fe7c56145476bf0d6c1bd5ce20cad96239f8027df432f2c015a895e9260ee9a9d7c5a2468d819c7a0ff3500916119f5a7741805402b07d5f2c80f1cd4db9f47c3a5871f107e83e169a03b35fe2d39ef76888781afa26b51f8b9d0b8516bece5548380790aa10d3e35ec4662400cfa8cb4fd17a2fa7298c93b4692b3942eba26483bc7d650394c3e6cfe4b266440366e8590c0bfbd4dc329f9c7945b3ace6931b6339bc432c2a40c1eac48cce9ed65d6de7028a98b38731f68bc - -COUNT=17 -L = 2048 -KI = aeb19e29408940d79ad6c60439a560ad0f4ee560f01ff0cd93a9bbe8ce50682c97831bf77f18cd8dfecb83a66a94ef46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0abde3a4b32d9eed587e467a26b3aad6c58c53c3baf4595033f907e97fad8ba60c8705836d311d40445e0b7a3a1f36d91e4910 -KO = 5bde0aafbafed18a361bbc50a483cb9466f6957205e15ef2686813f8124c2a76f05edf579dfa473316840c03e4d5a2f8a50a21e41bcd1348179ff706018182f188fc3242a16f41986e06125a17cf5ec209fdd23b72afa35dc11da08b966a42bba875532e6902cf425f0937109ac3e345998eaca392cd9da443485e220cdd52e33d949e09bbb7bf71c89c0bbce6e7c69ac9b3b9a6ad721fb6183929740a1a8fd83605b2e46aa408bc1d5b993fc182e8cae77e5a1fa8e331514bdeab3facca3dd78bee82852959a63d32b3ebe5e7afa91f79eb95ab548c23df9ea825fbb76751e51c3a10e164fcfc7bfac268c2e4640774eab1a2028af1b2a041528c562dc8ae01 - -COUNT=18 -L = 2048 -KI = f99c3250997094fc06cad579a145f1225722e6761b821ce452a566bc2625b739de39a48b420c8aae132b5066512770f0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 60ee4f3d844f61a1ceb89b3a347ee30a19cfdfa32d95d475679afbab4b0d7b9237c2e06a8d64d5909f9e0741d36c4c9fd54b3d -KO = 4ff8d3e1fd18f8bef80ea56a61773ede250414ef8903613e609895baafabfdf685aaacf0b1645d3834374a6eaadb81407d7523158881ccf04080c17f7a7b9f8d68ab5d9f407dd038a5568106fd20421f8a0e796e236f58f06b9ac1a1a4a002ced002a2c0b4ca05753738e4dae73efc45b39bbaa6925117af464541955ef7f684473d882acbeec5133ab809a0838826870c14baae0c825f296d81b015b5e36b44661c11171f6ea81b87db309be24f504ed092aa146b7feec8477e245cf73ab9b488553f43dea52843876d00aa4b4d8de0c95ba52a7343036b954dd8083a2912fef3e881d126cb43665bd2eb3c72bae2be1185ed89a076f18043f93a4f2d9fa358 - -COUNT=19 -L = 2048 -KI = c483f7f71e39416daf3d0bfdc8641f25d925582d383f125dea418a5103f3ae1f1fade552c9147e4201d5ee6011117126 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11a523272ba0d70ba75e976dfe61832b4cc1fac8e9c023a4ec7f60adb83f5d4279118899e3cf975b61982e07a9e5d13f49904a -KO = 51838aeed0aae08374862aede5404957187dbe10df5f4308d3db1388b28b5a6204edfb7fa106c271c372bc5b34423f42c23ffe61f84da791d08febb4c74da9bfec4ea1c7f77defd503a7b38a08dc23043549063a2ac6e8458e9cb58ca6ef35ec98afd13a566a7a0d0e61fd02fdce26a3c245a043044010b72e13be032591e5b16b897fcc42f8c34a10398fa18ab2cf5ddfd085e1b19c0751e4756e1a46dee7505938acc347efba9042752e3b720930699338d8799901662703910cbae0609ea12ef8b3826f5fc8a16340868b178a7cdcea8b2f55fb6ee8601d5c173147157a26323527d5c16681e25b80d606b1978d49a685247862312a3ef0b1665e2bf68b67 - -COUNT=20 -L = 560 -KI = 654c0ac475f8619c69cc4e3c1e91f3c7d23e8d1fc40005e30d27ba0155eb9ea80cf425ad70fe7f80cebdf3372c0b2e8e -IVlen = 384 -IV = 1943ad822a2cd7ec07bcbe07f2c0ffac10517ced1a896abfdcb5ac3a94e26f84f489ce11bbe3823e62638d9f179564e0 -FixedInputDataByteLen = 51 -FixedInputData = ef55fce8e7395cdbba25b867d69a52e0fd4540e4bbe25dbf1a520bf5e6b39100bed13460be16cf1fbab7f0ed049ef68d903ccf -KO = 7c076b327b6ba664fc5afa3c9c4cc0a6edc15670099e35efbed65d77724f7e8803e78b9f7d86be658b3714106cacd39aa2ab214567715a69ef9b37ad683439892e099e49975b - -COUNT=21 -L = 560 -KI = 3efc790154aa680c2847a091df9b73e5fba01d31532de30535e971ded76cbaa54eceaf8856679a97fc2f06c12ba36f14 -IVlen = 384 -IV = f558efef67aace4181c22d73feefc07fad75610fa10a08f8f72fc25f7b66b765e29681ec23f2b50302393c4188b11d8c -FixedInputDataByteLen = 51 -FixedInputData = 0f8592e4fc5238dbab3b109763a1753890bf30a964acb1824d04825a9b494cd2e6b5bd1f9dbe3514b5e3033f779ae910b6a586 -KO = 316f2fede625953866182aad6b2558df247cb9f0ba0fd24a4103484b4a7a4f8e355e0474822379912b9e0c895646c4f428a84be28b3358ef6fed4129f648ee90fb2cd7fafdeb - -COUNT=22 -L = 560 -KI = f4d5e8bff54ee0c29ba5e449eea843792b162189fe140892e879354601dcdba5347aa3cb5d4fb85d8ff1a8d6a712b079 -IVlen = 384 -IV = 6b424c6a90b906540472d734f4628e3b8375639437128171070fa15a1971daa9d92b4747292968c6408fbee6a2315857 -FixedInputDataByteLen = 51 -FixedInputData = 7f650b3fb0432b77169c829385bf78ce419ac0e561ec22decf5b834de16fc0de1ee07c241e66d4b5493d351fb25f4c533071b3 -KO = 1d7a38c6088ffb3d0ef0f71d85cd05bd32c1bbd8d2c40f8c8ab183d81cee43590ce403105e189792e55c4b2496201e11f19780361ac7ef237ff75762aec38376e548d06e4e91 - -COUNT=23 -L = 560 -KI = 4c835bd46e4fd9977db9720764caf546e858f22c7e099fed7792f0a79093bb5defdfcd12d761f31f48271f58490451ed -IVlen = 384 -IV = c9b6ff2878ed56c1c1f6380db1945d374bfe090faca77087acfb42fa52fa52f0451d553c552e87ea7d07e9164720b2c7 -FixedInputDataByteLen = 51 -FixedInputData = 8eca6fdfbcb8a111251c7889fc6f3224b25d703581955c23d6fe4b67b5db339e4cdacf7bd5908da088acc8ca205c3df933f70d -KO = 3987757dc7295a99f9971a845d17b11031e8928d6be315551a0141a1e56edd99f5e802f49df7b2f6f45061b65bfcdbbfbb9c2725ee5f1e64437f26e64d6b19eeb2f5b70d133d - -COUNT=24 -L = 560 -KI = 8bcfed3399f6c36927537235556c36967febeb21f4f1d15ed3844bf7b23a33cd64a2f8ff3ae349896c8cb2ed034cc709 -IVlen = 384 -IV = 422721f0a20acfd565f99cf7900e6425d8eef942217d33a4dfbc8e883c9b7db6978e120cef1c1ca197f0e47b2d9064b9 -FixedInputDataByteLen = 51 -FixedInputData = b5d20555e64d50f94a7bf1741fd6f996551acfa983ef2190b6b40072c8b338cba7f85a49333f28d8638f333a893c0ab01f8cc7 -KO = e9b3597b2e2b3b29828eba9fa980b9fc80dd2102111d7ffd830ab2f9b472cf75bd438086061dd0db0265022b76d34c0deee5b9dd33765c468b2063f4fe8fc006f71ce1cc4dd5 - -COUNT=25 -L = 560 -KI = 389674db31393d1a8e562aec0cf478f891fccfc9e3ff92de9b846b28279afca39488b9b37fac7b27f89c4ad87bfa8434 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 43b84c49de0e5e90841a07ca2328faefcafc4f4e0fcd8fbbfc7218b2926c027fc193a0ba2b3622ef9c1682ab1d0ebfa4375af2 -KO = bc57df5ece0007162aa33255eb23f0c7925a877291cb64dc9ac909195dfeb5f52f25c0fe64af060a5649068cc221f89fa039d52d20deb879040a108724e4b54cf3af1c5a8270 - -COUNT=26 -L = 560 -KI = 7f008f902e57d73ba72919c52154ebcc712063a3124e394b99130f1dc8d2a70108a90cfdd593ade7bf6915c475e117be -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7c29ea4a50fa9fb6918f2d1f2f62f7a8ce68b9380ef7cc14fbe0cc6c5760c2bbbbbaffead463d7fc1b3cf4df5cd8b5c6ed3925 -KO = dbcf314ce4b77b79cb1ba70af82b79466938a4af9e1a54750d2911c1d46c12fd829f4e5c967f5799cc64b2a099fc1abaa18c122278d73cedfeaf18a2c8c935a4d89fbe817ddf - -COUNT=27 -L = 560 -KI = 3775ddca613d32c7fe9edbf18acb470e2706927a9043085560cda48f19e8123b691fef422703860c0856511fe8b32376 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 93be503c0255f68aaf64a3a04c5316390eb9297c9a895350a16f19911db98548c44e406f3d7ef14f38a5bd005653950f690c5f -KO = abe054016ef112f0ba58fd2e84ab3af365a2cafa4f6f1eddf53cdd58d195ef0d9c7fc70b813f5cbcb616a3d3d1c936e3d97a2d1bcd6e6d3e3e8f77f51fd5d27bd3b7619cab94 - -COUNT=28 -L = 560 -KI = 53122b48092e848d6a58bc8acbb50156c92975d2c56d0fd3978debbaef65fbe0749381212c3feb518a012a343c4efb19 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b974377dc3f532051ffa7432b15fc6751f39b087332a0677673b08c1096ce6fab675c141f99d7283cea482a15087e7e0a34f01 -KO = 1a3deecd9f96be0d1dfaaaec79908611c30c2cd312333661e9ce81f8193ed1b6fea794163dcf9e113702ba73c4e5dfda9fabcd1911d613d6bfe5a5ebb19c29a46923d6fea2ec - -COUNT=29 -L = 560 -KI = c5ccefaab653fc5f9adac29ebf90b1e91b105796456ab65c74f29e2bf7b62f9644bbc2b39a05728aa76284731a4e1d02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a55201f8573ced0f7c59a5015433de9c310f5b3e9afd9cb70f7b469d56a710ef4e9aa43753b6b72305263c549b8587a625744a -KO = 5efb371a9c8ad6202af32a1c46168abe0acf52f78930906be2981b237995d8ae4799d75628394bd837f7419626630aed43502eca00cfed3af95479dfbc9c4c639e47f640f2f5 - -COUNT=30 -L = 2400 -KI = 949ddcfc153d2ec4fcfb25bb31bf9d8fbef49559ebbc9b3ae096bfd9956bbcb4b3e5b89334819fd8a3e4cdb44523742d -IVlen = 384 -IV = 574f7ba91b7169efbf3b7f16c6af3709c7e172c4371e19f53bfde144487b6e040f156946b7f862df5fe6a0aa20055904 -FixedInputDataByteLen = 51 -FixedInputData = 9791ab8d91e2b119b33308359b4fc5700a2f04b51dc8f4357a08f135fa23cfb5b55945cae03d68e326d56dd1beaa361e15c641 -KO = 322b9ad735fac0c293f78c5c38c0caf102c695537e5f5959dff86d599be6061c93d7e0870086d9cd6bbb414fec2aa99bb4b7da89721544c7bced7f7cf1eeaf1a67fb6fec4513883ff634aac13831da0ad6dbf77e27ee29a80f102711bf8bb169826085a9cdf4df1adc9d8f4f06295d8906a2ab9518f24cc2c0ba650c49a338be94f92c857ffae9664057dc2819a6822a9e14b44de874e7a95a98601958d4ce76d5735b6568a1e74bacb8279b872ed8a637f9c562c0c574f8f6fc13224b33cac750d420507c0bc8d84748509b18aaed3f3d1d8d1047d5e902d2c7e5b2102804035598844b48726c35e56b10aae7418e36e1c2b2afbc788bd093aeb723ce5343be32dafc9d424c02e606bb817219d8500f15da45319831bcb9d4ed59fe1d6d62d3cc61c365d6c8bd9412d843f0 - -COUNT=31 -L = 2400 -KI = 7979ce109c87e669999ec2ab6fa61aef4676bfd1181bb48255d3d4e8e15eb0a33495d3fe74216445df595f09d8f762fb -IVlen = 384 -IV = 2cd25e1c79dad43027b84a94ce579bc4b36c2dbcd85a9d1370a8e1d906b533c4f9fcb5bcd3ff68f8e32c43758277cbfc -FixedInputDataByteLen = 51 -FixedInputData = c4dd1506598c52d7a51e3e50000e6d18f30b9fc898448f0b2fa7d3d3e211b7bab8914cba7655ef26899f6cf7ad326c8f9c3969 -KO = 8112e6a7cb879b928efc5cde5239038a294894335a45b84400ef932dd0e687ab2f30f4ac7cb1c74c900fd6cae039c302ea909178ca2ced4d025d5126f1010295623389f34392888fbc790a8a2128ee8ce0bfddb9ad0340746b682cc34f6c2e1f9c7efa1052a5d5652f7fe74d147b0cef90f8ac60537baa6dd2cce64fa2edde64f24946664e7474d3cdf73671506ecda458f81413de4c267d0927ee2c8faea03780c8aa6fbaf61835f6396022f196422f56d77e0403ac975cd874f2069ee5ec9c0c7a52a7c6aa872d9d3c2e2fcc24d1014aeb99b69da2ff09398ff34a9d102222dbed34a8f02ce92f0c852355a9760a470a20f8f3f4e29d8d96db3b0fe830d9913f068a6d52c8dc4c8c5735781cb3fd54ef6928d969062cf3a5008ac101630e0c33e1c243bc1105e75778c4ac - -COUNT=32 -L = 2400 -KI = f582d8de8ac94be2c2d447c389f1e41c1111ef0eb167a03153e0e7102b6c01f2998dec43c0992a5e73fc56b7dbf23443 -IVlen = 384 -IV = 46462a0d261f48dd0f1b460ae60b226eb11d647fd919e9f67d8cb7441b3e11360bed8b97f770161cf00827851ef55fac -FixedInputDataByteLen = 51 -FixedInputData = 5cee584ce937a98f4e8dde259040d595aa2245062a632cd86429e4b3bed7776e974474c501f467261d9a6a777ed4dbc8bf7d98 -KO = 4e9b0e3b342d0df6cf6be3725c2a528ccf84911368790465a155dc2ba2d9ccd1e4081309e140f674d5b830dc7921f1480a941a3a4619bd6b3a9cacf8c455f1a93ffe21bea3cc6adc6ce2fe458f0871ad8a6e6d1edc3d8924b497238862515acf0bfd2eb8a6e5452ed1b8a448781861db43c47b5a944b7e23aa13d7de533263a8771c81612a3d4cc13a9279d9dd805f4265cff389d96743458443bebf883ef81e4a6da554dae63fa06e2c3c2efa4d34b7f338964aaae18ddb3648489988932bdd49d8c51ec069e18bb854983c0bad17579789056102208c18bd8948920455ac40ab059b967f0de25ad192c6922138e9a5e7d5ebe46859e7c5a74989bb78fe8f5772d205038274a5287c84d32749c9feb861d780b37ba5dc810e35f2e827e33947edaafa62199b6a239cf8a6d0 - -COUNT=33 -L = 2400 -KI = 15fbb027754892564efb3faf4036f48ec4f8565a11d179b249e3b2f61376d7de730604282597df2d8e19fd07f37769f4 -IVlen = 384 -IV = ad5c6b5c07fe7768b9dd4c1885babddbed3a97419718f78925dd4a5c0d202008ab0e8be3ee1d1dbe245590be84154390 -FixedInputDataByteLen = 51 -FixedInputData = 2e0a1b93b1edd41d237cc6b575572ad84bcbab4d256b83aa84623aabd443fed2874727ffa7fdb9d00067bfa0d0bc13339e02e6 -KO = a0324d9d56363ba50a04032140b288a5606398cffe6875ee2efba1cfef5923dd2ef8126ef597556dffb294d26776a07b6e745b6d050eb38eae6c06f0dcc710205222d7153f87ae377f21a888c1a374cebfdf039ea8e2f3a3311b855b17b66d4b22e92dac94521a267f8101facd6a241af7da621e1c76c36d9a6d788d87ff4059a3b1f736013e2ebc4381bf4600f0512f308d12605fc748449e3edef4e31734b89f803887f5be035bfcf537bcc23b71cec457fb158271621f4e2879ba3ddd6d0bb60c2208d08f2794bddbceeee6c55358742a9f248a4af8ee7d606793faeae513c2e2ca6a94432e9cc11f8267e34c990929439bd9428057ae40c4458c5fb5e5838554f9755ddeaacdd3f4d9b095a4d488484bd4c8454790ff94a9eedc14dfad0ddc895bba00bfd700bd3b3c99 - -COUNT=34 -L = 2400 -KI = f06cbd319d968159fd2820c85980d21bf3449e3aca999327f333c3adee417795260ae984ece05eb1e3bf4b3f90de1b1b -IVlen = 384 -IV = 89bd0470c8d6d66ab77933654e35dc456a9badb7a8e404d39e5204911f90e08d859a8115c6e0577e36aea3b1dea54d2a -FixedInputDataByteLen = 51 -FixedInputData = e23ca21d0fd5d23c0897185b33c0fa86a76b63c92091c89d580da7a392cd7e3546517af0e748d1b8d3ea11f619689ee0455540 -KO = 186c5f3d6dc5b9512303aaed8316ef5f95e40ca0fb89e5a32cd512398f8eeff5ef26cfb43a5251176f2e97632298f49ef05be71aff07cf9f11c31a21743c9d4f96ad37ecbeb9dc29ac55d0bf55ea740da01f618a04d8dbbe2d3594983dd0e06db0a00170a65bf23d7d4f27149fa163d32742dbe1b00813dadfba486f98f50366d6eaa91909caa3aaaf9590925788a1cf1fdb4645be8203c41845dfd1842fd45084bcfc3b4e18db152d637fcc4da571c0b885b63d57ba83dfdf61ec31b8302110f9641d0447e3de5f935d82abc47ea50181796a1d57cfa5c1d1b3e0cf57ae281ac92d58eca8b212e37ada7f2a34bbe31b143d9342211c85380806e976cdcbce143080ba697b7b28093ff92b85e57071871089db33150f494956214fa16d0a2fc2984daa9d7faa01829a49b276 - -COUNT=35 -L = 2400 -KI = b8e2a819c61681b3755f2ee7cd3bb1df458792e92d47a201af6cbc5147d97dfc5735d0ec970cc99d9be43d1e3a26a93a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b8b13d5ad3f518e33d6895090c3c2ca46f0c4d846858e846e33d92cbfa53149ba38e6da71164ec83386174368103050040fa3e -KO = 1ffe383d62b612ca869f86f96e1ccdfd75ccc121eb9b9f9cf458a7b7ff120ea41283f084668fc07bfc0800366e9c67bdfbc52e69a8bd11ac3a0ccdfaeadfc6d251af8c08b5f71673322ea2def7266308d3e3d7d2051ee6ab428f474c4c637c2f6c3236bf9e3580bb09acc0bdb271e72b92426c2410b2b1dcee3e6cf983404379c692200cb34eaab92901038eac464ece27237c4459c80dd7e3fcc1f9260002f677e8f0071cbc894a45f3f375f5284105860aa40b25559e880b29850e331c7040a1cd4f8d89b9653168f6aa4681ba0e9b215eddeae978593581f102c18ae40df6811c4bcaf61fa897ac4b476dea4513caa599c3114c029601e316aae34175108fddf230983751a7d332025b56ac6b717caeead056837c267797e2323b75dc86195aacc8d94dd9d8039461931d - -COUNT=36 -L = 2400 -KI = bdf013385fa127fc193c5da92912dae4aa8d28ff84df31e53d754d66cbf118a455076564186f5e753be95b4095a403da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ebfd20ac57476e9788b264d2a74d798ac0567ed6d6897045567c9b026a6d35f21b232a47916c979b79edd0e3b74ff644a9deb9 -KO = 812d38da3e156fb690c9ae43f33323aace6113caff42e8cae0464f0ac33983e4e5fc3877a67718a62cc5e059f378fa39a1bf9b0e1285a504897d72db0ade24e5de4c992867d53e0a5373ca8a18979ec03384046d7f35548c38b10f5c813a8769c28581b50bd37341aad108b33755da2ce183abc20ac4150b4b0deb2d5d71a83164ea378e51637730da1281a8181f2bfa9f18cf188f3cf725538ff7ccf973979c3cb5182d8526c1fdea95bc977ebc23eacc72204a5b17654e5648e5df552fe8a39e25fdedfa71bc84a87fe81628cd94338d00c7c56116420f54a094aa33aa2d2a7eeecd0ee04e0e5d389911aff0a1bf08c2e5ca4a0ac37a6965598f1f797c1cf93b87cd0b3d89c513e2de9180b85eaeb7fff99ab6f64e80776ab827b468f629ddc6413a6d2d45e4efa69aa74d - -COUNT=37 -L = 2400 -KI = 6ff38b72b13744f5e447e6a5a37986e87f2db4a137954e93cb2af14c313d076a0e465ae26e7aa052c2f51a08ab025ead -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 93bf37e9efc03600296fbeb0a96abe12c4a25010da3f8f96fe62ee2faf3c97df1ca7f352c734917b2ca1e9e5f902a24420c833 -KO = ba39cc7817a6777810afef987d42ae3d4f0bee8f232454ffad37947d70e9d07b5fdb8476f946f6a7adf1f94c27b237fdd5361cdf25708e1da8663a35a975db0ffaa3a7b23a8b48b7e1c7c12bad788adc2b0040c4d23fe7dc811d0fd01c1de7537f6e6ccc2b5e206dab09ea5f62250d48a864f0efba7a07709cfc544d73190d87bd70baaf65d33e6399f40604e3bc486c8799705fe180688d4463b89b18d4aebf3056c4cd24ae15aa7dc6e8dacd2aaf285b66cbcb6e8c71f94a48af0a556a086c53eb7ccd1dd8b7be742d7546680f154735e5eaa11a2065d7d3029f39bbf7b8c9d55b987c2684d71baab991052041e4bcbb047d465d04c7f02d8779c9579329ce96ffd37278c8219c6910e7847ab8e72aafcde3ccb1e6f9bc6bf6df077410ba88d674b8b4829b2a3dda92eee2 - -COUNT=38 -L = 2400 -KI = 1fc0dc0cce14442df65138ee45dda92947af9a6f173a526a24ce2904260363b07878e6fd3d586737ce05f495ec3083c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7a6cb0721c5d78fc7a9841ed35e725e24752ee6698a0e487ba2f9ce74be4d39771e799ef52cb97977dd8f65f8e383e211c2f9 -KO = 4b91a5b56d14add03021c12e628199ec9828bbaeb6d9ff2b338d011d542904d73c9c6fce53f2266af2308596137e584767c9b7b9ddf8c8fcd9d7476e73a2aac510ae4b50758902b1b89aef70d661bb1b4a5097ab5004ff20684c4a8de7a456e4f2b01bc4859a1fa1b8351ebf24fca1a5a90ccc175fb0301036a041f8bbca4303902a9aab340ce1b698f0f438ce6a7eee7e9ef811ce970d7a815a69afc3cf847a78bc2030adc09f2e9aca917bd02130fc9d2955e44a50b3cb95972bf6231acb45c9ea4810623335c09e721de710cc3f1679b60a5f92600b5b01023e4d1ba236e9ddd20840ccc7b517493dcccf5356cabbcdf4201bf9a0760cd501000d9798ae923049379509ce33a42d85b9cac797cf08bc8c75d8b489ea6c50fdc14d46fd1d04c1ab119a5f6a457f28bfb1ae - -COUNT=39 -L = 2400 -KI = 944b22743ec1d825d6e0356cedf96b804d9ca32ce7c27a93d26d2764919e3217771483e0e5fa8104d67eccd169050448 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4853f6ceccad7456ddbeff659d78fd76b1cffcb55067e34e4fc84affa1c45deba5c4712578b1c8ed49d458f7fa6f127366c8ca -KO = e08d2de4a0a805e4358e1e63699977f579ab4a6fd8203bf37a1cf851ad17c1ea1458eac3fdef8dd49c2e695a49c907ee766b62a7d1e42989b227a094ab561d9af60ddf07e85df6c3707fd777651fcc2cadf7517548610636631c4080617d2b07ae632f25921bc3e7efc43c51935d91f84d02596ceb844bd938079ca7c2a94267e34c8a6c580e7f8122dd9434c00fb5c77a0639fff94cb3ae72666ba50baddc0753eec611e04f3b42945876fcf0d3e692120a3c6329b065bfe42d3f009457a000e3e9efe63e6a5a4833be0aec4f0a3da7b27da9a9a93e21711f991492aa9a8f382a612b4caa8e1eee55af1c819f88e270be1ae338d7183a1983727004f39cae64fd4ccc207e22ce5c5cf8994fdb66b1aae0addf44945bcab995b92ca52cd8aa89ef328caa3bcfcdccc91f8bb3 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = bbfb5cede9f2c18f96e998da4f8b28c327356cca31493af483eb9cbc3fe3d28661c97ef641ec92a66cdbd42f4314e8e0 -IVlen = 384 -IV = d07e38a303542bc85cdb1902cbf19afe7578e79cdba5e4fb244eef7004218599e48b9d14e1d7708ecef20c80d7452009 -FixedInputDataByteLen = 51 -FixedInputData = cb6724f8727ee95ee792b7bbb0333c9a2b669c63dc0d94ebea557f7009c6c893158f12fe4429155224b4eee3b450ab0973b5ed -KO = 46d7a02b702da5674d784aa938f232eca83390a44712902192eb037f23ccf56732de3243dcb82c0106db66e9a2babd34d94b67d273ac55a8d29c23a6c58b3a56 - -COUNT=1 -L = 512 -KI = d0c0366ef04ef3583cf972d63c4890bdd82a4c6f0071a2b59888e5f9e49f66114d4ebaed13d4d7664168a9cd07974703 -IVlen = 384 -IV = 43f148eae605cc18eac6ff197a8afeda65542719a59c08956fbd139bff6fc331804ae4d8c5983444070542189071155e -FixedInputDataByteLen = 51 -FixedInputData = 7d09ff2216814e0f2c6c7c0044bcd4b7e64c977635d74df13acf29d3f8ed6e542a34240ea3c324f7639bd7f575ec1d9bc6aafc -KO = cd81a006ecd6f4a015b50e924e003242d0634b5da09ab1ac1db7d1a0a5d1a77d53e4149951815b3deca229db77cb0e5ff2bc052683e31c9eb42becbb28777580 - -COUNT=2 -L = 512 -KI = 8824c496bb83710d35d968f6ab559e031b2b412d4b5f954b048ca4cd92fa433fd9131ffc82557b5bac240634568944e3 -IVlen = 384 -IV = 7195f2e1e0075043bc5c639a966583f423e1da54d9299926b0f9495aa45362548b334a5668291326ec7166b943f59c51 -FixedInputDataByteLen = 51 -FixedInputData = d3d758e0f5782d0639132f712bc35b7e5dbeb560635772cb6543a647fb811bf0abb802cd864a43b2e1ef98caeeb4c7ae8ea396 -KO = e75759cf8be012b8bbf934b5452592ea1528839bc034caa55b1ce2e4875015cb203f7f740820af225993a2026569783388b6e8a05e98b5d86d74757852b2e6fe - -COUNT=3 -L = 512 -KI = 85e44ac3623270b3e16028e25176109d2a75b9d30b84ea2d1947ad53a692c59ac0ef130203a9491f9caa8c773d4daf70 -IVlen = 384 -IV = fcb1b7d259a544847ae93c446b93200cd295eab9fb3d47a738868290bdda928bdd3320a0e57aeed9a13cb1ebf4856211 -FixedInputDataByteLen = 51 -FixedInputData = 5715e27517b97b7a02f5e25c0fbd26cfcc6039e9d61e15545c736890153633addda45fc612fa1d74ce3f8c7be59b0c3df69bd4 -KO = 8acdfde93ea547550083d2ab2335552fbba2b1db84295f9357a35bf6cdd1fcca4bd24e88c0584473b0f169a19697698fcb3c152a0f87e5323b7eb384a04c887e - -COUNT=4 -L = 512 -KI = e34314a7a2f07d99c556efe066c1e009c784327be6f2a111d109044c43767aaa6ac1a4c36f07dc3bb0d68ba5e18a68a2 -IVlen = 384 -IV = eb83656cd9ff6cf88cb744cc66e05576f9f7fac3824aa86ac4dff36d770518403e7d8c00baf567c5510b5adf1555b536 -FixedInputDataByteLen = 51 -FixedInputData = a36b23848f4097f14a77aaabb391a0fdc8c8d086f821be8cd664a124a3e025e12f88040e871eccb12957e8fc19f5a406df6416 -KO = 30c3da60c056a6157a1d2b066b227c2c0824b46ab0bd64ffa1f2a0ce86d931758db2e743400c93ba90708693e2f92dd6b7d790c7d538326e8be35fc5b5747ff3 - -COUNT=5 -L = 512 -KI = a4ae138fdb1aa1837f52c32e476694ae97e61d46399b8bdf0c3a70d2b6ec3942276a020116d599718d02fc21716b3e04 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = afd141bd71e48f5ca7565c14f832d41aacab47bbdcae07243280690c5016d1eeb08a908f9c8b5e8a4513d77ebd964bdc5717ce -KO = 2c95b00f603c58d9bc74ded0170066271b90464120098e8fb54a4046136e283f21129d09a4d702954c5dcf5acf1c0c610624043f37998e30078b3e7f7c5c85a3 - -COUNT=6 -L = 512 -KI = 4827868b3803ddb583add805507be64d51ff3072aba0043c8e55bc33487b03d8db3195be73668f9e48ff151559901218 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c47ca73c2ece244371736641f98beb3be491d0b125c4a79473c56942fbfaa7c868c30a48d7dbf28470b7f5450452cb423b84c -KO = fbb1f5dff823d1796910648416864fd20b871647ba548e2ec98645a03826b70b371c9d486251c6a4b5e0a4f43a1d038fe4fd33861ee858f478f1280ad28a06f4 - -COUNT=7 -L = 512 -KI = 0ef9be3abd8ef502559dc30141099c9a47d7c66086966c0b35e9acfba5ccc9de480003c00437ddfa63c8a03a11793339 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae193f02fb45922b24863482b651304e2e2eb9abbfab898a9814270ace294f7c241cf2e8efd1f5aa0a48bd90f53672b4fbbbda -KO = f92680065a0a086088469701268cfa10b0d8f46917cdddcf34ca1940b35a6b0386a12fbdd13086cbd5eb8a9570e7b4b2071acf84742484339967e839943e3484 - -COUNT=8 -L = 512 -KI = 1d65a6c6325d6077d1fda9b918e1090f460f7ed68b5eaf2a5049e1bfda14a3ad514a96a1e88869b2a818ed3b81a7ed2d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5258a75ee72e72aaea94cb6b17fb3833c37ded0c98951a8861fbe98c321c63a9e29554a1f8d499002c7633822fe647b2c5215a -KO = d995f4584dd0138c92352690d6b7f4d0399e9ee478c513ebc69b28aa518920c6bffbf8cd0521827156068c32166dcddbee50f05a251cdf1a4a43d8525e6ece2f - -COUNT=9 -L = 512 -KI = fc6dbdcb2e21b846268f80b38f95e3a4d72738c0fbb82aafeb8bc11af6f37340e955bb6925a598c8aadf135addc8571d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b12d68c6d8725e3c56c4bf75681cb46acd7716ec7a9a2c6fddb2cf4fd7d9c836c81048a5bdc0a000c667334b832f45f9350494 -KO = 070090e84709b6c9a36a1bb264499f8371faf504f0e5fec62e026e9930973146b5a5c16008a2185116c1e86dd1ff94c2e45fb7122e58e037bd5cdb0d196417ef - -COUNT=10 -L = 2048 -KI = 504617a938b1b98f6bcc1ff12b537a3da776e642ea57b139e7956198014699c56bb4631d58ba234fe5c19a2f28b0a0f7 -IVlen = 384 -IV = e92c66ec9bf424e026fb72bec3766fa0c2f593e23e0abce55a1bd095c846ceeb10fd861bbfad780056f867c0b56ad52b -FixedInputDataByteLen = 51 -FixedInputData = f3781cb86e50b745ef64b6f5fd94ca154e4a487dc201168a0368adc8039231cd7a04324700b21d55bc90838ed03a2a62a46e03 -KO = bcd6b58c071ff4dd238cd382f76fa6549d14b12e0700d6b4e97d9fcba8f357684238a6315ac62bc06406bdede956f1218e532eb88ea4395c75086c6bb2b311983720a13bc10eefbe975b40112a7167b33be255e65973d919d26644e25add134d82e78d60c2d1c6e45858161e1d92f0bf9c738adcc955c694440b3dc2981ab01631766440671a06a9e8c9e06fa1c2df260ac80b981bd4a9d34e7a6a72d2f7997388f9ab656eabf87c1e2d538b79c7538f59dce8929a977cc0117333302e0ba98b63a13922b8804663c278a303f2ba0a7ccb5197eb9636f3892739430f0103c55278b1dd7d60436db2f39fa5968fbb651b06ca08fa7e37eb64b8228374fe1f00aa - -COUNT=11 -L = 2048 -KI = 02d78e094ff81c3f3a7517f92a4eb5b565902aaa8a9604bab62e61dd416eb41eb584a2e87d7cfa46a511f5f00c2d07d5 -IVlen = 384 -IV = 1a07df78d9dc078d389ee5a2f6154e7085ee41c968fe8eb9c2f628966fc749f8bec36cc5a282c23303b76e94c17da6d9 -FixedInputDataByteLen = 51 -FixedInputData = 79dfdf701ff8c6f16cd4422aaec8711cc6e79bf2f23208cde53f57492902a2a37968270d4a9b86adf2215e9ac84f0f1e57f885 -KO = f16129998a41842340850e96b5562d54959b5a545cf741b0b7f9a2f854a08e742a3f07264583ad0e7877c611c2c969af0e02389da6c0fa056f9435078b087df324e874846c0d0e0c9bb3a8601ba537d9dd40bac80394ec535fd66a73a09db4044713c83e9c9bbddca66a9a011687889abedfe0b40311c9e4d19a1edc2be18309043c646205c8d91ba89f47fc0c33f0ffb044acae894ec30841165bab7df715d9c900fb52ffa988249fe17abc3891978578bd23f438f045d1c94306e0d33a1327713ac1a0425163ce86c2681eced414121214e3ba8593bb70f36d4749daf100940cd4389baf949bed52bdaca00a3dcd96184fdf9ff76cdf55fccb23929878c1e9 - -COUNT=12 -L = 2048 -KI = 720f3ac98adc2c0d487d09f34e4abdb0cf675592dd6cb6c073cd909abad60aaf6cdae9b2741919d803d376ddb00aee80 -IVlen = 384 -IV = 49e8039ca93b4bf3523df24740bcae3bc4bfe9a170ba2c9c94cca9ae7ecb160eb9f5e0eb70f262ce852261ad301e4659 -FixedInputDataByteLen = 51 -FixedInputData = 2e9392696680f8c8ec0e40e555e9ddf2f43fb3f36988e373f0116a18ab3fecf711da0bd5f4e8204ba4106436105330f2502ed9 -KO = 212929dc6afaf3fd2e4dbfdc5204aa79b86504fee62d25bbde27a2044eaa4bd9af8e740f48fa3562b2ea9ef1916caa26d30f15d5945f5071f0176f2e05d5cd8b966c783254d42660c1d198d82bb14b80699fd479df356d6ed0edfa5c415bc5660c48e17e12e4f3f64622d7396f6412c7ec1b4386df45022ffc6c58a9ec7c17d14cc211731ea4bf77294e7e744147721aa8c0e9c85ddd7e22b9ced11833b89e92cf9ebd72a4c2024b3464b1412326bd0e6050ea2b81d5baa403bfb632a46a7ecb03eecc2c76fd3c6a7b1503b62f3d51e461316d52bd6f65d820a2f5e9bd9082d69d5751123f0c8edcde1ad38cf08301869933d2cb50262ae519b7542a76770a7d - -COUNT=13 -L = 2048 -KI = 853ad79f641e4b51f4cc50c5bb03662e306403064769fe0b8bad698b0f092bebedcf69e144403d7dd291f09868d6768d -IVlen = 384 -IV = d3b0304ccf57c8acc088b21f6c57e01a3106c48f6d360790672677835ede4a4cbdb0156e111a9156cb0b0e7a53a3e200 -FixedInputDataByteLen = 51 -FixedInputData = 890524d86971818afd40871718bac69e50a33a9524868898012ef8d630895ffc0ab53e77b5d2508ecc2218b1adfe472ad53aa6 -KO = 6ded7d68a31be8b96b41257695801e178e592660aec1a4ec4461228b7bd2a1bbe212ed08f522626492ac794d0f8be68af382b782a3180ee5507ccf297ed73d05400a6b6eb454588c03829671a446f0d99d9ca942df09242eda80b0905d81ca1311a8ae71b7643326d53705dd507b546c274c29dac3fce713281169c3e076e7fdb66bb13dd03c3c09ee9ca6cde49ffee8f47942c2a5d61f3694d533ee89dca3178a4211e56e048388095d3a74dc1f5421c17c2bf2b49388da9b09ce9d16ca648618496adf93491327c19c0d2a0411e8e8eab990af54356220b8cccd88edc469386b823e8e7a104d059178922ec17318ee73e83b2b94378e30848fa87e8999d4ab - -COUNT=14 -L = 2048 -KI = b3d9692ef825a5033a8a17b41a84250cd15bfda6e226f81ef18507a6f310f55fa5dc6cd154fb6edfb3831461ecf23bb7 -IVlen = 384 -IV = b145db65404c026037279c4b18fc14fc35af15e7bab7fce707c755417654dadb5d2238635fafedb954b158503f87e05d -FixedInputDataByteLen = 51 -FixedInputData = 09d1883dd87209d36a6d11ff077102accecf30b1a61816c82adbd96d3e56d32fef1efa056dfa01a210c10e0093ce56109c0c82 -KO = cf9ac1d4b754d0b4e65d699602bfe939d4c8e75975c06377489c55b19341f8a620fb8adcc2b0ad5c74d618320fa1c2964439e95bef305f088c7fd76539af0013955a7fec886be37ce9b0a5311792f30920720e2235064b5c01d6b7cba7ef51529e82df1277378dc7cb0f9e8c7e11f536988074ee9114e414822229e6d533c769984fbe15af7e25a7b7de377ca5ab57122e27f946b4b24b97ae94b01e4c745fd0455ae6f5e717af115f5b7e12e49b2dcb61647ab060861f7a6799e2c3f0dccfa6184cccd67fd546cd83c5b3c4773e14086d33e95547b53b35637b8c0bd44c415c490b5f91e1f6fc641ea27608e21c0a3da6a9b1d0b955b5aa00ac034aead9a641 - -COUNT=15 -L = 2048 -KI = 907273ab8c185631cae42bc937898a82202da426a81698dd0a95475f2b6a8d3159ce37c953958ef1dbfd94e68a4b165d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8dc360447893b7fa9e08326400219be9e6c7f5897faa56bb7afe1478ddb6ce0b9e5f44e5ff1d4098bf3f1273dd4bb924e8504 -KO = d6e3ea2615d83c146ffa640d1ef56a288e614d61696f405d4d17e685486f12f2dee109ed5063a5fd71976deccdd2d2cd19216ca5837ee9e6a75b6a37821e91fa54cdc9dc476b11056e208b175b02896c7ad3e5174f031ee3dd43050e02895534d3cf86fde7b66687a5b878cd2b02738df5478657538250e94b0c9a793fe96437982e197ba348e36255884bea5f1f7112cfdf168553fd1d6541b5a06a7d3fda57395117993c958bb18148b63059cc3fb8b6e878dd7b4bdca8c7ea5221a785c74dc8ab1e2d33c565a6a28a7438cc1237d602ee4372ed15c591f74787fcd39c0c23a415a3a5eb4cdc21ecda6579b67c2b4fd311e6793d104c34e6481081002dd215 - -COUNT=16 -L = 2048 -KI = 8a0b4a896d5542a3242969e0feb568089ab19aff72dddd048fceaec7a2b56f12b91b26ee77d8e9d5e2417ae14e8d2f4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3314d4eafb5a79b3a4f313e69d334a876d23d185e20029cf7fdc6d01c53fdc02c4786d6db6ba05484cfcd0315ea8ce1600a8b2 -KO = bf8024657558bb9e92b74049d6c3329aaca770516164ce9e64e195cb57ddd1f356ac03e4deeb80c5f5919884f8795f50ddd3a9e076f3c8afef27839795cd9c02fe296125cc645b62951edae061d7aa1afef6eef84b0c7e5543c325e360769074a56fe98785311523cf615cee80eacc6d5026ff699802331469b674aebf9f9701d4d511a829e06a8ab50ccd7d9ae4ea27cbebafc16421f62475f5536ab0459901e340262cb593775625ce06060d0517e8d06b0b09575f1749ffbb0f054e3d00a311b79752adb031c3c43fc57712b2a34ae53a939a2c387c0288982dc802d95873b296a8b1524050561c7554ef35496e588da2973ccfc9a1bceb7a8010c4856241 - -COUNT=17 -L = 2048 -KI = 61866956eaabef47a2b605984321d3826a1fc59c4a7e48135f147fb27d169c3c27b5682b54fda6cf28135f49bcfb43a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0cd932d9fab60bd30e53a386b44a89a69987674b84cfb0b409e0c60101f0d706c64cca5288b12e42cbce210cf3f5cbe277cfe0 -KO = 6bd5f34c4476a2e81c17c9930c1d657d3ad4f985ebcfb83c84063ddc68608dbf07a325459539837fb920993150a8d2a14eac0e21ac6de5b379b29aa2ec31b2839d2df6a822b043cd4c96fb4fd19ed9a084c6388cedd687d59b79090535151febed5a851d827467ca23d4827808ea43bcd2f2e2d9ebed108a3f4066b8c48617036842327ecf398f06506fff0ccd9ae74eb25fc102409fd47f3d489c7a65bd331a82489a1d0aa97a1cbdfd7818da3e5b703b9e53d28d79c657805b88aa6fd2fa2cc512497cb2c5f6623816d19422075f70277cdaaabf763c3eae6287473b5fc23e28447709b267ca8f30b6b24b03cbfef1dac2d481d3f44a6a5f794261cf8ccaff - -COUNT=18 -L = 2048 -KI = d7fc913d618612bf202a130c5cb65b7f2339c580663bd1214fb9f08f87dfb4c3978c0b95263e67dc998a3a1bef2d3f76 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35f28c8cd9b8b4197c5282ba34ffd1daf8272a0e33e934915c98848b4a1228b9e3fa498e5312419317af9276c9652cba7d7f26 -KO = 65fc8eeb8e49c8956e6c90992a8b1d71b76adcdd3ec672b896126afd5214d16aca50f4c261bf746456be113d317499addcbfa8a8546c4c055577cdad61f91f2e6542072a3a0f4bf0fc6308bf93f982a35d75013704a03ae31b086d17edf82f1a089f555149b1b127da3af112c9e61d70cba930d7319fcbff09c2b8311dfdb8dd655473092687d4d2063f1c24d641a7e1a948735ee0eba800c996f4eef0e3f8aeae70da0a77a0dd88eadde489584c0aecc8291f32893188c31bd8fe49baa68a1660b7ecc91940bc16368356108e05cce3f91866b077c63a77daebc4b829589d33fd8496c9f857b2ccbd64e0c058b94c67c914237f499d3eea386e4e20d2d0a06a - -COUNT=19 -L = 2048 -KI = 27f7e67f3c5e744a2b5254eccb39a7a74c807ad35c5aef3aa7b9dd15e66fc645578dc839d48483fae02824ab73cd0117 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 254f7140c594d286c5fa438850457dc736d412f0b03dfa34f5ba61c2ca0e65f66ad6f1aa4bad5accf314063dd383f919f0a471 -KO = cf967cd18ef726f2517d627be64b44c0d979e75fb93ef90d17385aeea9f1b518538fdda3b5c10e06420da0fa74acfe6d693ba62f16f6cb19737146218a9f37c785b9c0be1267a776834fc81e1ccecfc53acfb815fdab7f813181b6784e62ee55858138104fb87cbec68890bf4e1c191e80aa5e265c8e9c8ba58e39a581f5db08e8ff9a27e2845d491220f7a9e15dae26f7225c1681e02f8989b060a07a3630f055e7e9b42bc359860de8bc2a5b060be4d6b4de9309eae830829a0084f8bcc8d2ea61b281bddd87d214fbac83c364699f6c91a38aafd624807426c368aa115207fdfb2f490285726ad0025d13f761a829cb4d27c650718b5e1797c738003fdd95 - -COUNT=20 -L = 560 -KI = d85a6db6fb23da811eee070467a32b0fdd81c3432f8a5aa9954b98dd8d278e3ed94a6087ec1b3865ca1cdf4e5f4b8996 -IVlen = 384 -IV = 20e5c8766c6a7cb555ff61e3375f7e1fcd576a217f45e3806c01c303d0c0f55028b0f10ececead2087076d5c44514b86 -FixedInputDataByteLen = 51 -FixedInputData = fb03efe04da999190dca588b7c81aa99b06a774d6aaeb9fccbc9d8a26c82eb0dff663256df12fe93fcb64acbab6385aa0663c3 -KO = 1682e42218329f8832299bfd43b30460f9e991b0ae9092e25fcaf8a130f3f39b35045c944f5e18af4c55940cd5f15f60f50da4fe437152aa42421ac3db041b19a011a235c8af - -COUNT=21 -L = 560 -KI = cd7c66f18e3b6323b493f7050b9c4cc2525c9d620e9be4acbbac38c4fdd4959e344d1206084be4bed8cb7a52232e11f1 -IVlen = 384 -IV = 56180b2d8dbf4aca2dc2f6e74b41d5b2a49d5408d63f001178a9580bb9ab2720122ccbe36d7580ad7bbb56f43332f435 -FixedInputDataByteLen = 51 -FixedInputData = dc2b1954067c7f41200262bdf6fe76980ed3242ccdf30aa8fc2a86ac1e1c602bb0b30b06a41efc25a2c1b9d3cd4fb1f1c2ca4b -KO = f803cad33e56d8373bb809e8ac42acc8baa74f4f8998a8203b9ded125f3d96acf4305da3f1cb82d4caa6aaf62ba119ad697b61b2b26cbe8f549c30350a4a9a44aaf87957f351 - -COUNT=22 -L = 560 -KI = 81e87fc7f59a0ce3c46b4d334542f1aa25f6651b8bff34c942fdab1992e786f3ea208b1dae9086944bbab7dcca7826aa -IVlen = 384 -IV = ff9c4fd538645e50f08b471d1bf9e398ccdaf097be4ec036a8de4eeb519225a07179a73853239059be08b8e915bdc910 -FixedInputDataByteLen = 51 -FixedInputData = 6e9d49678f74abca832271f7e6ae3caf7e4228fb97d8d6b22b1a7f8a93802d587f9c85d3f205e5f130ff19e449db8c00c37691 -KO = e9af2322cd10c98ecf15b01637f260108c04b6752638f6cc06f495a7e2a882c6825fb76ca21487de02bd316005bb3063e1fdc0c1c8962252d739a4c30981cfb42766f29e723e - -COUNT=23 -L = 560 -KI = d60d821a0d4fcd93c293c91a3cb8a27c24291b36f23337d958c5e7f43c2fb15841ed1cea1f17ba807fd9203e157eb3b7 -IVlen = 384 -IV = 265b75ee13454318b2b86286b63974b24750914ae5b5cb3efb92b5d827fbda48fe7ce18d8d73abce4d5103c4270abf4d -FixedInputDataByteLen = 51 -FixedInputData = 420be2631e69909d5c658b101d3bf38915b5b6ababad5486ad5a43b374f720447789fd0d162ec1ae0b9439c1a353e36e388bfb -KO = f54b11e10e19823bb7a70968ba842a2287ce6dba0b8e4f2dd250876a24d1d22c6a9284398ad6be04204eef4b392a4cab21ed8196295acd653f7aa1c47e7c71aadf3fd1c79470 - -COUNT=24 -L = 560 -KI = 28896301148b6598064847c46d7d6b2a74b7cc3ebc1f21f5272623c0273ebe636df5a03bfbc4ea56e6669cf3bcc4d6a9 -IVlen = 384 -IV = 5d4f332cd171d070697042bb1933a8233e4cb6dee64fcf9f9b079c1211c9769e62bf0e4e925041c3169b2cecad9e6cc1 -FixedInputDataByteLen = 51 -FixedInputData = e879f4c3bd6b4ae4bb4b9ebbf464d0db7cbe0620807ab724d63d9e2f4d0371783211fe904dd558bf6e1f6491ddd324d27a8d87 -KO = 9f0419b05a1f39ddf87f3c40eb28da4c6213af7ee69a3b44e8926f873dba6462d8017cb686cd5385fe4ab4580b94baaa3dd6a66ee7599ad721d03d077d61d61da18c3be3b31d - -COUNT=25 -L = 560 -KI = ad2a310e403688b39c3dfa520af127a245e5ee201a3c813aec871371276271fb4e4d69f758d690720ac75f2bab39a06f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2008c8f319c6aee5b338b03755da9bbf26e7cbda6c5891b23666fa45148825ccf091e2fc3a038e1c66a186dc7602480acd16e -KO = 7d9f1cbf089b199aca66a1911225c2cbd6cba5f922bd2bb4a8dec26d6d07d89fa248bb7f9e26db2fa323acdef9086bb3ceedcba03cf295f0d1e93ef5d8b621c8115b16035abe - -COUNT=26 -L = 560 -KI = c5379026c4c692fccaadfead5f96fa721d74796522d90bea8ae7c37446ef10209f00ba87dcc28d3c0b2647ef10e55a8e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 115bd25778ecefde308c54c83eb4d0cdc875c46d6f68d886c9320d1d10a15d64b2be55c87d1513e02fea1cdeacc0d2f6b1b293 -KO = 8fed69d4a17fdc87efc998820491eab896a165177f8aa8684b391f6cb59e40a3840b93123e71e1970808d27e031260aaf4ea50f893be662895ee9665ff2b95b36f737e33c943 - -COUNT=27 -L = 560 -KI = ec5bc80340f78d5855b4a5f7158fdc911dbe8d8a10614cb546e050e069ad941754aad89050f3a55a1a4ed1f19d88e941 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf2616c006bfce6c88917c34eee128d8d72c2bbab42818686eb89fdb5e16ca0a0850a419aeb74366cae2d2b7b708fe1c02bdb6 -KO = 5bc121e26426fd49bcb441f60a34426b54071cf73c4e602d12bb2fa44d8272899c1e35d9835a51b27393d24ab1e6e088fdae4cfb9c8ea4d9f4a5ae464acc3b32c93dba244f58 - -COUNT=28 -L = 560 -KI = 69176af3ff33f262fe842029a9aa66b132dd5fab293580604b2d9004b057dbed3757768b1aa38317cbb6fdfbe4cdaca1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29701216a1873f059f170400221c4353772260a2064f4f97bd1488ec7dcc09bdce3806d363d8768b3282c6e96e4f5b30257a03 -KO = c06a034e2f798ee543653bc6a46611df84ca93eea234ad4d367b772ea813db16dd024b689b1194dd4d8e1cf16676a92f711dd571d9be65556b9440838837583b33ddf8782b87 - -COUNT=29 -L = 560 -KI = 4ebca8c68acb1ae7199ffb82032163480b12e13249e5d90be72468bcbcbeff03d630652f5b32f4637f72d83478a70768 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1ed8a06141f96426c07617aef17882fd39d21f8f4237f74ae48e25bbe38f6dbe4a5f48a2dca1354dd85bbe1236c6186b8c67d9 -KO = ebe70407984f49e7c232377ee02365d9c78d0afbe21f7c5f6b3be643cd453b30aaa31b3ce5a2a76632203241b950ad773e78f85564f972c1590b8a3e8348b6099dd1c42fab40 - -COUNT=30 -L = 2400 -KI = edb1976217bcac9fb17f5fe26dbc0587703aff7befe1666fb9841d6326183a0478b306ecd3d2048b8ff0d63bd5d3b710 -IVlen = 384 -IV = 8aef76ca27b75e06e46e2570154466d88665d568a6996b25c9bcb9a826ac2421b24fa80747a313281c14cea19f25ec14 -FixedInputDataByteLen = 51 -FixedInputData = fbc59576943d2c9aeb9493c55df2f0f73aedf1ae4022b6d54952239983655ef31b96e1634732423eb0ae16489f4748f7d3753f -KO = 0dcdacd4eed1f3abfdf26800fcaa0850e2b7754896671a043fa5f45b492e0f7b08d945cdf6c3470388a6ba7ddf15f126fd894fba46f396dcd61406cd8fbd0ae071500e116689d431c17b2a7fa12a74e2bc9194f8591c4dac96a39a130fff26ad6f96176bb2217e5a06ebdbe75bd65fb68cb505e2af09b455eef79f43482fac7a7d2cea16086c8a0034cac9ad566bbd01e0b57a914fea1dc6426981efd404daf8954b72331c7ff9ac735cb14809365c580bb05d7570fec29e4e279c3bc79f710ef8aa318200e24ec7e75587d30947350882680e3f34938ecf655aa5457a44a6be0a2ab28e15b0d24c63363d1a713ba6648f877906be4c488975d1ddc0e552364fbfefb76e9b02ae83db712c71b8aa434000ae0e6330c5b581d259875b2b3704b5a89b40917ec35e4e5b7d2a3d - -COUNT=31 -L = 2400 -KI = 1c2eef6b67cc65e76889d3a2775f153942d507ea8aefb93475cb6f2f96b3e1575332dd368f8331aecf2a8b33a1cb85e9 -IVlen = 384 -IV = 240361c56b462fdafb3b18ac15416ea36139550022f2a1652c43ee2edfbb3d094359f201ca10efb4a5f041e3ef016aaf -FixedInputDataByteLen = 51 -FixedInputData = cf184817e533dc63840a14c6467791f8b71ee5eca16ab05b2db0b2ffdbff51190c89950cfbea9ba888bff9f75521a6464b4f11 -KO = 5999c5d2773259347737d700eb641858bc1ff44fc8c861c5cb044bd79f050ab09f5bac7b846f7c62436a0002c18869cf59b948811f360fd743a16af7b48134186dd2dfb3b22e4a4c1c3591ee9edd4dd3d0f682c1da9e3fa9baa7b6fc50634975b2fd21a6a98c234984e095436b594e14573f9a852e2ecb3516cbca6484993ef0b29d33895f66a5ead292a0379022a9a99cef9fe73ac278518e0bab6112e2ed28cd1c46f80401a1dbf25a2598aa280c5b0ba272e5d8d8e513ee21720beb8964898fdce2491d129dc7e42d28604ece1ec1cb8d14cb183f612821f4f37d586189f9d9a435a32db86fd143f16a1e3416cfba82897d073f01c050fc12bbf8737730910a7307d23c020bfc4c5fe31df8e5d7155823c07bb57ef61b8390b13441c0cb76e5f5a716b06103410e8d9e7a - -COUNT=32 -L = 2400 -KI = 011c1b86bfae711f698df5a1f7f680d07868924e83e6af94da659a9ba82010224bab279b27037e96be39d80320c323bb -IVlen = 384 -IV = e7cc121f6f61428015f1368406bcf9bd38f6b19c7ab0409619a48efa8f380c9cada9e164aa1c4b1e4a629d42c258abc2 -FixedInputDataByteLen = 51 -FixedInputData = 67746690377121e2c3639cf5f003909f773199c221e1c52892237fc01d79db6f6e9fb3a802d22d48f7148f52f262c81cc6eda3 -KO = 1fdf1f0ac84084079cf895592aa763a10ba2b698831c6c41d1f178280c54a39c35653fb512c44175c0a7f61612f734e83ba8eb9c0675047acdd25fb07fb1342b605824264a426a6f30d53064b2999a37f04e31ca7ae32a57508f0a319566999381614c2533b8501ead6f1c5277f3f7a679b63cf75c1b4db6ef0b7d818510d2fd95dcb2aee243c7a19c6c5ab6e99c57f3bc13c3971f680bec33e449f03afa0af437ea59a46a77b24a3341280b242ea33b660df1ccf8b7bc25efb6baf9a5ea52727cfda7be568f6b0baaa65aca35d0fce07347f260a8669de4f0a312bdecfe8528739536d6076092abe426111ea39521d6bb8d5c641b0b3b4d41850deedf0f186c63028b971270a47776b12799e72eb95b57f0859103edd483f2a07374d06dc78c4729b026c92c44b24e49b638 - -COUNT=33 -L = 2400 -KI = 2756ef4f0e279624af47ece1c04c900190c7126d88680c212ca03f86d693d2da7fe953bc296e8a60dc8a49dd886ff759 -IVlen = 384 -IV = 60ec1a16c92fcfb564cdca5399524a0d33ff46c119c0375ae8def56fff7c32ae2b23aa669e756b6b0d7dc7571cf66dd2 -FixedInputDataByteLen = 51 -FixedInputData = 84161ed8a3d991944b3a737bf3d8bd3bbe8014864a25efd68705468584080177e27447930e6130a9c2b2096f275694de5cf0f2 -KO = 2c2f20d4695a65f7fbdc61a4d5501926158dfb56a6649915a5815cc06e25a09bab3670ebe6cae91aed8ea7c11390405d20fec52d3d2942baf6078249a27368a368c42a6114974d6a4bdb8207ab79c9c8ffb1d0518adae20edadf812119e76263e7edec1a2677d5983998645a3827179a5c84702fe4efd9d532a45aaa77adca3da6c2df85b5a157f0e0fd2a68e8905dcd4ef66ed5190f92b0914fc59e8310797f0be4fe4ee0cb481cfee4e2f49f0d8ea094a2187ac78f1483581e3e7305b5659eae506b06526521981313e72d82dacb6446a82f244e64c7fdb9a024119bbc31ed9bba0e698d658713e3474a759181687831afd99b2dfc7e5c0e3afba3b9831b88819e0e5a2d719084c89d1a2e2372bebb18545abc988b11a9509c3dd968d5e624390a3b571b76cdd82b6e18f1 - -COUNT=34 -L = 2400 -KI = 8531f946204fb73d3bf045da76332429a2fb1bd2dbc9048e866d72d2bf292c63e5eb34893e86704c46d3f2288cacb962 -IVlen = 384 -IV = e8367befe4231bb831f7daee193b95de89bb33218d5444b699446747b0b49319b6e436a7af3d723d3fa218bfd34cf19d -FixedInputDataByteLen = 51 -FixedInputData = d76d33c5d4f2162b2506175a354a08bfd153f84721289bbc9befd955ddb54cb66e909e8aabeb92791a13337d54f292a923d3bd -KO = 763bd2640e1ebf2d735ce8417b64c54c7b836cc7e3018f368000aa3378a5545a899a66a9981c33a087b0065679461f3ecbc5715a868c13598a9275b7253110f4d330d680ff7b3b5420fd869c9e7be14ea632ec232e99a45ce8d6b6f25cd1d70148d0bb240e208f12ff69f30be61725d24b62d100714921e62fb4b6704740f97cb57814cee2d41d36254c628039fe8449c0986417d221f0cf2d8988d301993042633dfdb4ad46f76488adea99c6e28e51ba2a803a7ea64d996ec1c04a858e88762f81517eccfaaf4c13ea3e92673683c4d9d192ee80d73d17810c965f9ee36e99d9ee61cb5ca9dbfe5dd4fbd40f13329ff8525d10646c7028d6e10fcd2bad74c6a5d4c98703628df59250f34775d370c395a1a4d31409f8a0c44803f286953a4b4efc5d1ebacd29d62855d066 - -COUNT=35 -L = 2400 -KI = a99870b3d417996a85496bf80fbfcff0331c8e5235d4eaa6da53b409993c883710eda6000c28e45ac1db15c182aa2875 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ca6e9bfc07369e5429694838d0fd84dec5cf91f81a95847f4047c3cade9fb6a9535cac5f595091a509b01ee43b87dfbd9593d6 -KO = dc5596d84480664a745a659c62acfc268c6acb4c87a4e63e7a59d896bc6b8114d41c4e14bbf2c9d77feaf0fec1236fac4be7ee7f2648936b7cc6fbb1b4106eb0788a88a8eff2203071d54c25f904acc6ec2fcdae0bd0cc03ed347c1d31dd6d69a90602245269965433c693c33023697c89c2e5b6ae7f6d4bbb9cc0c955ad6c0d104b42dd42fee2206c2b1a28f7075fd299789ddaae6d9c7d1c05d6f54f676fd2baeeac60fb31315c141a078bb1f9bc54ecec3b33263da27a685adb4a0d9fbcb0a23cef269241619369b05c4d7cba8d94753fa7a0967783d7881441824a7da8710c0442314e102d9aaa3b78b38edab500cc1558bc0c3fcbbcdf8d80c703a2cbb9fe5e0462d6138ea08ab1d78ed56bbb39c0ab016b9e89414fbce2ccfb6c3d0449bb8a09a64eb6b8279337a281 - -COUNT=36 -L = 2400 -KI = 690116eb26022df51f695d67e6d5bc33077b1833bedbe48f10f241645f8d17ba7168c814d752b00c99222dbd136c08a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0586b1ef60aa64342a5249ec0dfa72c173b296f3202993a38577960e63577a7c800eb503cf273ffffc202c4c0b46ada17ecff -KO = a31a23b14dbc3fdbc1943fdc2e5654ebc235c52183164b382ed08827ad81d2a2025306bbcff8e15ac4e9be19b1a80290fa44ab7814efe84577a99a266f4d0bcfe4b5729b289d8c26b260cd0a17d776a8ade6d369d74bc88fbca0be71c027046eedd9d386b0766260348d5ee6147b16667fb2d0378b3c4d8d3b2028d298899f4f5e6a485a3716f35c880f7ec5de29805ce8cf51b1171ca2b2c2b6c6b7a51030faea7faaa6802e29cc4073cee68f02436ba25d165a9315b168236b9f4bd8536b5b84c97d6d774abc0c2e47ed17b19a0de18db86d6d1b96499ac38d52855e7047f701be7d6759c3e8ce0c7982a4c64ce9ca85bde8b51509bd251523487989187ddb607dfea2ca3c968505fe300140935f61adf1e4971d51595da0db54e93b3732c108b1f5fb3a75167f21b50aa9 - -COUNT=37 -L = 2400 -KI = 017da0c3841c5a59413e847ada02b2313415be053dcc2b0f62d53298daa644a671638e203603eed5259c3f7ba9558a44 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55e5e94201833d4335d83d5220ac804ab89b22b9d3899b30ecf1a6854c2ea5b211ab10472a6777525bafdb64811ddd9744c979 -KO = 3dc394713a11d1c95f3a47e1ba0216a7e57c4b7c14afdd7574bd7390321bd6badca8c191e9a439006f224d7c869c7c547c9be14a24cde61dda2ea60206e467c394655ea8c416d532ffcadbb589e73e2515fa7503bdad90f2ad9132819d801e4d8b7f39af2eec9a3980490d296965eca1c7d815f64592d0981e4187e8b66b783f6b306cebca86d27960adf3eb4123ac6c091a73ecbfc387360a98d813acacdddfe8c0eafb38e624fdd2d8e3fefddc7a47c7adfcec246ca7a18ca35224391f68ae9d3379c8f6cadbc1f887d0e1adb3b9b5f8b4398ac268a269991f193718cb28ff2caf4986fc946b6e30683971c0bcba1d20393d11cfafc067034b9156dfde09a65d4a79a63bc82a9754c2aa9acc25cff3478777b4c6eaa31f4c012582426dea90a6311f127bd44a92fcff4735 - -COUNT=38 -L = 2400 -KI = 0df5a90f9ce9fd8bc05c5875262493cfdeba436585299478a91d4082dcdc829b584fbe8cd946de245f564aa3cf3c101c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2e23ccb8136fd0dbcd042c9b6e831a9cfa6d267594b5c3409e5bfe43e00ea5f4ef14b8612c18517b5792c7c3f22316182f7bc2 -KO = f1ad6d810dfbaaa568a2c40947bd3c985aedba61bf1dbd03a82f254046176feffad8354826b7a048d30c871c0d7f7d58a924e49f854c0ced64a9bc86237fc4d5cf95f036f821da6cfee5437c94831b66ff34d3bb8468850441f75be34ad04cf795341d5cbae595041889cc2ed42d23c4b4946c2091dac8a7079c2c5d9d8c770de343ecdb9bf6d67f9831a7e0c6f33b9183282e633a2897028f784c5c787a9a7843e080e89b2705e8ae2348f62f711f62626407cc8bbc8304bfb5b0b5bd824c49fc60d6b4e28afdf963b2005b5bdfcdba702fd9cda037b5c411bdd489e2f81e09e049f9208c0a251ed79456c23cbeb85a58cb4a5893f7e22be9b612b0b0243b92c8df381d1e4b64c60555a8ede5c3558cd88700e958084494ec5d0a6c8c8b891687aa55f83796186636331a79 - -COUNT=39 -L = 2400 -KI = 083eb75e9478effe9f6263d17a2d13e1fb0b7174648ab541a71b5fee97e67c17d10c174c631e0a3c3caa5e383269cc46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a576f0a4f7748236c52f67f55560769413b3ac17b66d20eca6ee58754dffce7f3fb60df668be7d8eb923aa5f1d785f12918f3f -KO = 07def19b446130fad5a0f5c964730d2aaa0ec117152bd0f799780ccf27b6b8396c1a3922ff8ac5b9e8dd47e7603003ad8365ac2a2915df5ada938c13027a34c69d3ad2924ad09d95bf5b84e530edf1dd4e9eaf4d68210b1b97515214329ec43b2264c6331c3f3062ebbfe1d35e3437a471d45590026ed3c94840bd7fb822346a03a3e8ffc23dd43a3d96b3110d7f8b44fd4aaaaf4abddb986a8c70ed11f68d6c86a661f59fc2a3761e9d14c859ba4e5e0c0eea399e3e546e3480c4364bc4d8c7dd5593f418d518caed6bf3eddb4d54f8285c8cf81455fde9bdc724383499dd24539fb9b89aa45f27b7a204b1d03f85f06ea2b77a3a441bf854f9cd1a0989384ce3b5e617db378108b306ebd7d05b8b89269e7ae3bdd394b2cf259bd2b871ba2996103f8db4c3e7077deb7936 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e92a87971cae4832558d9d320492a1fcc32850d53c0dad8586b54ad7aac625273e418edee9a3de0cc7b6de1a242bf975 -IVlen = 384 -IV = a25634ec892605ff386f94fcc1741747180419250f4b66d67ad26f7f3b856f54d02023febfdc8d52b5c83ea7b0b4ea01 -FixedInputDataByteLen = 51 -FixedInputData = dadaa4ebed7332e679a8f88a4bbe82b3bc14fe890b488aa4d7cca2b15e175134e4f35d1f95e0820d60e75fd9277ecf331b54dd -KO = cb8d03844419cdf9b1fefcfd13a7dbd2befe16fe8624b56aeb92229c2d40fcfad762113da9974f82f42241d26210ad9017cd69114e4a8bb12568a7ebb0f5eded - -COUNT=1 -L = 512 -KI = b0e4ea2af121471ad6dded5a1b98f2a27e090bf1a361c1706eb4386f1a1720d29168fa5814ba8be4f7298db265063b83 -IVlen = 384 -IV = 2dd5eab0ca4efbd419f36dbf4acc9ed0736cf1d48849bfbb8a02962efa2af8ec5feee2ffb0ae09d3683a78902f740dbe -FixedInputDataByteLen = 51 -FixedInputData = 542c15e2dd6250269c6d355b1921950d8b255d3df72ac49f50ccafad9e0a212ee627306bffa81799e49c34c5e9b1aa90d3ed45 -KO = 97d6cd9585d2000308558aaa45d342cd49b2abdffb9d0cb3ffde4e08668b5fe73f835eec0fdd5e86f5949f8571a2efab7490c3bce047299247ebbcc7858483e8 - -COUNT=2 -L = 512 -KI = 7e3aea747789412c6ff946c479910fc3638ea9a2a6d98eecb2c2bdeca6e13efa76f27b0d35e782fe954556857d691d0d -IVlen = 384 -IV = f7567880f022a8fa7bf5d897f4bc6facbea1ecead6e61133d6f819025b545709d9e5d338efaf9b488afb29d98c0b73ef -FixedInputDataByteLen = 51 -FixedInputData = 0eb42c382980c511554ae4bd6b24fbf335a45185f40b6ad839c704f6dc2cba0785bd81bdb3875e126c025dd90757bf48a1c24d -KO = 7c22cc506eb0f364011b4921af435845f15559d0e635f98db45cfbf86ccce33ee7dc6b249b204332b140e8c10097233647df683372fec69a22dbb1f46167051a - -COUNT=3 -L = 512 -KI = ad1d51d1fc6767bed91fa361534088342b987120f65be1993ce58bf687dab6760d0cee92d90874f0edaefc48cccde115 -IVlen = 384 -IV = 4a79fd77eab1ac55382b8a2e8c8311d947035d1dd3963527dd8d4dae59269e4d0792297fd394552c700695c1f9f547c1 -FixedInputDataByteLen = 51 -FixedInputData = 747865b7c9af0ec9dd5c7a7085977d6b921d2a0fc7239a4645470f6dafcc7c68311b42ae4b36a29ceb50b495060d031249474c -KO = 38aed36efb553941b6b303e9b59347182af6dc143d2e6c67a3dbc459256701cd4935b4404bbfc0ef8a3cae22bc1fbf632d0979bed25e46baeb160b1472147c5f - -COUNT=4 -L = 512 -KI = 392d892e90d394fc50e17109d25e7ce6e1acd1dc12b0245c8bcd6259e7580c444a799f040c71aae1160bce326af1c16e -IVlen = 384 -IV = e55055b528d9234cfb08e9c3a4791c69b72c67ff7d18658f9ff0335a38ce65bfb1150ed9c3dada48df2e11443b6e7f86 -FixedInputDataByteLen = 51 -FixedInputData = 71fc8415591d64299014010f0cee7d8faf14e3a986650aea8742fdb081aa5145c5c8aa2dca120da09120ccfc15f46a810cd4a2 -KO = a665a2ca20a19b22844feeb19590fc7eff553ad81646d0eca6f8127954b0b0dc80a44b0c5338d713e397adf5b508364ffbba9fb65e9fb0d3097fc890bf5513ef - -COUNT=5 -L = 512 -KI = 5f5d7e4829ce96323017e7c5b63ff9410a1062c4ed2644df908437325f62e8f1158bd864be256b50b027a92cb980c21c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 76ec979603fc24c39c5910428f20e7f158a202e683bcf8aae3f5d501278e76508b39a314ef921eccbdbe3d45877598ca5f54fc -KO = f0d07676e5bee59a70ad79d7769dbf96e08b61d9957b6671116d7f2eb6212eae151e805a55903a87f01838d9a10d56e1f4c620083e00c97db5f37d1b1390e851 - -COUNT=6 -L = 512 -KI = 6119d5536e852509dbd1d4375573194843749b042e52afd127a780958dc9d1ce97d8d89eb879bcd108d35b295fd585a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eed17af955939cfb24d441e22fa1024679e4ee774268a531a6cde4a893dd15f9e0054b0d2b8cde2c85acaedb03c9dc590ccb48 -KO = 2726d131c3ae26cee9976e20648bff587623aa27534b1ef9c852759bf7cf4f3a8f8fd67c9bdf58daeb1701ac6906d52fb3622174f33ec009740bfcc9d0f744be - -COUNT=7 -L = 512 -KI = 7f9273e2d71ea8cdbe338aed9a67604411ad99a017f897633bf5ac7167a58048d1ab36105ed4235b5ea9021aa7aa17d8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34b46d0c4003c57f2b5998e5926616c634d933e53e2db20c249b4879784faa146ae3d583fd38c82a1c4eac09a0acdd58800aaa -KO = a99394d35051407dfef7dfbd0d5dd0860ffdc9cc5b5ee7e026cc32173cda1e6a49f28f9c936235dbff0a65100f87ded5003ee52664c4ed191bd8e4e40cd36d22 - -COUNT=8 -L = 512 -KI = 2e959ce6d2503ea6a7ddea17129940914cf4486605494a69ece56f408d806efe5c85b049b04440dded81bc86e65243bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8991aa0715d0766bc865ecd6866b4119dec56071b778e01302f8967997cd87c0b52fab34577572c127dc154f09f5ca9f19e200 -KO = c58c28f9a6386c9803a371a1ee4bd2af7421ad5feedd14812a2a133d296edea1b930966554cc5d7b5cab025bab246868a9effefe621f500a89fe80f66970e18e - -COUNT=9 -L = 512 -KI = 16035aecc8e200557e408fc23d1040bf73959ba84e8b9a9a294a1c0ea9154828fa68736c020076e26ddf9cd160d01f54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5790454adc8f900f40e66a6d7d421e20c2d948eafe3efeeb8af9724fef17163ceb98f272842d9203d4223070dd3a8692259d81 -KO = 2fbdee581cc51d0ba981a9fe9969632fcd01b2f173bff5266c009ea75d0611d5f2e7f469572d811468d6f3ad2f2624e7a9e93ec2327ed5d42bb50afb9c229b37 - -COUNT=10 -L = 2048 -KI = e35d3ce4cb211a1819f53e62f2d0f9b06c49ea0305273a93ffd7826690ded5ea2fbf4792727a0b1241469a0f26f1e566 -IVlen = 384 -IV = 1adfbbf0efe8507e61ada6398fbe5de498528e2381431ac329c7c23ed74396e0aeeef417f629b30c71784d3f8d18cc1e -FixedInputDataByteLen = 51 -FixedInputData = 8845c2a2cffc006764385d3afc7fb8a29363684aa8e03b754a074e57bed1102888850a47e7b2d612dea7bab2e2c52a2a5d491d -KO = 77b9cf22a326c16c2e27a544805766b51c3859cdd70e796663aec9f034016006b646f727d33565025500678552b81d0990c8d018345abaf8fd1e209e31a920051e0c7b3f6f06006e0377394b5e39c339d7e226b4029e19489752e220454857f9d31c82c53d44124b6b93ea66e20816372e2405d94ccbf2a7e52d0a82ff1c58cbd315b00a48520c2215816c1554d4154363d68e7536beada40ca924b29fb46d04b5a47d6dedb752911b4ff7bdfb0765e79871d1d02592866132426d927faa1945c31c98f909be3bf941fb1e40874b0907f18658955c88697ac62b188e2f171fed10588c71c577a721ab3bba4a2440f2038f5167ec8f71a1aa52d387841076b361 - -COUNT=11 -L = 2048 -KI = 515e7bd95489d97d4b752cc18c00702f419c0607bc373615dd278c96d393b99f9f1d38f7e15f17911fc8b9f36023d983 -IVlen = 384 -IV = edb7b2f53c16da69450a5c78fc901f15010fdc68637063825ae9b6ea6a31da87b3befa6a5eb55ac19fd3c7e609556c1e -FixedInputDataByteLen = 51 -FixedInputData = 44b10aa7150dbc1a50f912dd89af2887270b149a1dcd8a4f963545037056110b64986ef1a06870809284bcf9f087cb29babb0b -KO = ad748310e79eda223c8dc5f54ef80d9a06ba56baec3e0c2aa9ddc49f6036924ccd0dc4f5cd0faf34c92a37e61c6a608d001b15164058a8c91a6fddeb0ed3eb710759a40e9719f945c481aed1962010355ca8ba2902dea0207438ffb1c65bae375cb77dcb8301b1009e1f41632ff8382254cdf3cbfce3d86763c4b12b38b9c140f53eed1c088155693421e36335cf4a5242b46b92af810e9419485233545ddae9c6b7edd2767deecde33598ffb3d146e5b14b4e0f415c47f99abe9287e234f91494bc7deb76380f1e9874995e2d114079466f0032a4079761c778649ce5ee660f55a4c61fe056823a3ef6b06cb2bf89e6e0fc1980be5d589f0d4e8b3b9c3ad710 - -COUNT=12 -L = 2048 -KI = d4048691d16e43fe6dbea38110edf4a6ca6fd68461637178a2a0c05eaec5b99fe2e24a6564ee5120d33625d0ca17acbd -IVlen = 384 -IV = fead6c650f68c1c1c5d845c28ba26fcaad0b86f3b8441f498f77d85f530d360d2cf31b74c27d3417882caee8d85bb612 -FixedInputDataByteLen = 51 -FixedInputData = 3bfc3691f2bb8bba027fe1701bb32831f4ceaf50497e25bd8c7f6b2c4d1df41b379f08c26637564b18d3e1e48e39dbbc5cd501 -KO = 65f2436b29269115876b1fb1612d065d7cce8486320b8e0efe12e9edbacfab0dc083172e5a300c8f006af349e6000f4767078d63eaca1f41d33da8b4800ba1f95174b90f7f1471ea6e2723a11b87fbd8b4f7b330aaf745973eb45eda608d86cad338e73eb156f4aad9ac104dbc78c80fd1925a791e255cc88ea0f86a86fed69f442f9ba2962f649436c412b68efb4258bc35cc39d0e12275f9ce6eaa6afe2ddc64e883bacdcf2c8194c6637fae37906a0b84a793d6ce52a3c0777fce8abe688776b3f2c89366dafb066f5d97ebf6d12e9a6bf9dad9a19521503ddd17f2c397141c4826f374b15d8b71a163e6607ac055c0608daca3b4e3252866c313316d69a7 - -COUNT=13 -L = 2048 -KI = 7a2304c0a86b58b1427a20cab0b484a3966d2a2dc1857edaabc7a0bebd98c3a95930863f6d48a534d9928a0890c24c87 -IVlen = 384 -IV = d0556d012efa59e0207e2f880099951f6133fdb384385f80bf6e2a14501acb46cf1263298110de4ca9a846280ce251f0 -FixedInputDataByteLen = 51 -FixedInputData = 68d8e718b556986012f314901c5dce565e7a5bc7fb6a0bd6e2756e992456371afa05e07242ab7f8b368f2bbe4f0f480ac3c1f1 -KO = b493eb0e4f0938c3ac1fb7c1e237d89eecc39bd2aec0c89472f88b76ebe503332eca5ae7cd1609d999987a4355d05a40382c7f7a598aada40e3ac26142e8fcc563d19369a307f224750120321e429976643d97e8923ba4c38308308c8339c0badf8ffabbf5d96a1f09a0700f936153167abe844e03467557df442cc1bee30ca87c36b5a7ea991a01337357a38f8bf086e0e588336ca25b6fd3e989f7212f730f1cdeb461a9f9e30bbe681ec36139767ce71ca6273f6caf70b5e337741aece18e87492c17d5632076960697041418cc1f27e6170ec286a6bbc975068c12eee82814d013687f20cfa9148289b023ac625575aed4029cab1f8a9c3ef19dbf6aed8a - -COUNT=14 -L = 2048 -KI = e00735176fae32f83b98d4f0ecc5d9937159a3b271d2059f3915e6201f48d81c84e0272b9bb882de18351a17895a7e86 -IVlen = 384 -IV = a402330dfc1ea306d74e193799f5c5f833bd601d87af6adba858b56aee7d2260b0b39113b616d1480afce52b4a5ecb9e -FixedInputDataByteLen = 51 -FixedInputData = 7411956c033070e6eb3dbec9b14afadf2c0eba2bfa58642351fe1220b4db00315def0ddb99f822fe7cbf5581dfef9e463824df -KO = 6a823eedee4c887ef37bf102bb0d2d3db927e1fcb9a582a72cf8359d2cf6fbe49b1e694bbb9718e6e617d923f8fccf9b78e5679898e56a957053e281c24b49efbd81aa4e8d91e744879e4b1138d28fc0b8308a1851f57d53ab8f80049692e365d25f66a451b4b7609d6dfcd793411e06a76e1f7db497d236ac557f540238f4f4f657ba2955746d704d69b46961ed83834cb2fd91d0b19def884870ee40b0505f00f2482ba950c6e82998d6d90e9280982b8b9756f8d2ed2c44cc90f50c79cb269b47d6babd63709c0ec312ce23591fbed1200fc7c9445c16d968ff656746e8b47492be49913511591b88d946e3afc4e03287b8dc130937aaa2919902f9f9481e - -COUNT=15 -L = 2048 -KI = 9a45dc17c69bd390fac9af8e097ffc8badc2d5e5498109d08de8b59f06a00b4704024d1f6515dfe034c30dc3a5cdce75 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7ad06f562f304157ba9947b4ecc0cd89e7bdc592901a4c25b6f98aff9b0789f825d6c2b4c10f2c84045f557f2c7f09dc91598a -KO = 16eb93c203c03c6ab165c6ad24de918a9258a175d9a808c89916917d3b1b6487d7852e579f90624396a890aa73117aa1dc71a8d0a78072dd834b0fd3791f0b9cf8034648307ece3c51f366f92abdd93e3e4b481af056454b833fc6d442d4ea4b10b6ae01d455033a52c6bdc5ed58077eaa4fce905011a6699df5acef89efb711e460b59aa501d876aab36d10b422ca43c8437f8e086f67b1612d36fe5ef1f7994d58d7aeb344691493dd99c8d6f807bc516e9301b4bcaf92d62b2e5d4fa7770ff111a109f1754e6ecf2c50dc3fa84a968d9a57c1516041b9f38e16a91309580137eeff703eec95eb8ca87a8d99d11d74a929db29c7a55cc135af01019d719b56 - -COUNT=16 -L = 2048 -KI = 93b96272a217679094c8e64c02012963f0477de543ecbc9dda439e92545e07aaca65be9c275d4950433320ce926fdc37 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 261745cddc2acda914f452741ad8611af54b6b1276d7e45071cc7ee4a2b21ca7c12c7efe1b649bd62954ab5eabd618ee9caf2b -KO = 3fea83c72c37f60bd038ff3accdb12cf44d0d769473bf9d9109e14fa1da8b375b9eb1e862a819fd4a3e2cf955140e406077879a7e57c03ed9a5c85e451a54de80ef07795cabb9241db35732da2c2873656d7bd789a1f2c39092bc450e6aefd7b407feeb5d8ef128f031819829a60ad14c25c5193dd6201bd4131eed09a0084ccfedbc98f17b029ee7a1f96481d18d712c017f2266b74a83145bbba4db9157dbbedbfcb2ddba9a23fcf16413d5679be7c014d1c5b0b180f96d7929a3e83f22c0551738b7b0ec808312f5558bba6e53bbc53c7af0ad9fff56607ff1d1bb126fc08efc65ea5e5b6cb1960452dfedb2f29dc6910f5c8dd4c6e497b3ec3d27804dad2 - -COUNT=17 -L = 2048 -KI = 115ebb6308e0abc000f8d94a471f59bcd010f09da99a3f4f30339c69f65ad6b1a891692d79bc7dcde31ceb6adeaf7553 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 45a7bc22c12d7fc49eb1639d3f965ff3d6033ed619cff56515c08a40028177445bc545bdae45f15d40fe76b7833025b4787172 -KO = 8f88dbfbdea6128fa96c3430f7304b935763739d6555ddcec301b9f65d8ac59279aff845b6bf18ff03ce56c7453cb3ff33de8d2a546798444a65030e7b61b8877e9db3ba85c668620c0fff797028d90abdc238344537f608c8367e804e06bcfab2f1050581c113b183e33f7dd47f13bcc8e4ca7d68db0394625bbe31c8b7901be252d7de1d34faf5cc94a71b3a86692420d47e16da5a5749eaafddb52ce3d857f37a60782f6a50b8617799c402fa300f845f4a11eaca810004493d99a58f07bee43a03fe8f94dd0bab0fd7009c06e6d77214dc6a8acd833578ba2b1ac54fc88bd35b5a6b1e57dca6226f6f90e2365a936658a625886f6c90d9fac19486e04549 - -COUNT=18 -L = 2048 -KI = edb8b5fa3570d3c60b46b6d10c6f2fdbb450177fd4301496d215d383d79c56f46615a1400c9a2f2966d3894e4b551c58 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29b3df463730dc309116d738b345d7211f41933c22ad9aa8765ebb8f2da1cc6631f5673b840bf3b79f2d4fa47ea403029db34b -KO = 20700adce681839269570702bb7e7494940e18a665869cd5751af62b97c3aca5e4950bb1bd01b5a3a2614732760ca54952bbba55d88df038b10bf04fa0f91a3c708b97c46b3318bf63caddde4fa6e832597b139dfa60efdf1171bf68fd4ca211a7bbdffe3980d1c07c1f199187e454c7f0d885c1fc6c1d10f343fa6fad1fb14bb20c108b514cff6fa62c99cd244256f6f6e148e8ce76c108b36d1d51705a4ecf3da86ce8996a8a419bface4033f4298ec27674c53fe35ac0a60c5293a31e838bd84d4911385590e73ed9cda062fc198f40c8ea99e7911a7d03b3cbd50a7c304ddc39d8cddbad792c42a51c0a7073fc19b6009ae3efac6c7b3d1b8feb689737eb - -COUNT=19 -L = 2048 -KI = 5fc2dee9d05853114a785bd63a77ef103652003233c9de8f1067996b64eb35a89cc394903d3e1f94f30056e463a87648 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 93383ca4760621cbd2540bc6b3a07616a7f67f30233db83f2c685c07dbe44501ef4887d065cc8371f3361d85ccde3dea919a60 -KO = 807e39eeb333023479d7a1c8b970cfcf71506c792839fe289df9f9ecea9b14bcbb3daa447425c45950e510dfc37b777b37d22761c57c88e5c0284f5c565d41ffa989683246d69286658ab08ef8da8cbdcb52bc5e7d0ab533965dd286d26a1c512d904a1944e859054740dd483ca158fc78395c36befdc051d4644d4d5d4d17f147becf50ea3b5b9ff5aa40d95ef67a0c8e84378198e58521d08b7a0478d74e8e05ed61687f85b351acf71ea7e1977691a70722b2d724ac0181a4cc38c3507aded12202118c9a7d710d745bf86c5403feaeb0004eec0fe768e2800fbe7fec68a961da10cb15d4e977ca071a731664ec5f3e5f15fea6fb32a5d3afdd57c21d4dc3 - -COUNT=20 -L = 560 -KI = bbed136f27c9fc48398641d22d51fd52b1fd014e6d7167e46f86ce005ef3df44e4bd92fa5f9b38f63a99701c221eb27b -IVlen = 384 -IV = c12ce4ddee29b1331b4d0c0ec77563b1d1b07e5f7f65c7aeb6fd793c374cd19d6cd9b23d4e4404be048100870a8f6c47 -FixedInputDataByteLen = 51 -FixedInputData = 5adb565b9a5401ed05bc338b59254f6bfc45d9c3fbdf57b955a2c25b122a2373e987b2d6f47cda2ca5d76768a6d3c3fbe8d9fa -KO = b5371d1b7bd3b51df1f4a1a8a192190eb23fc88530ccc6f406353b690e10e51439ea27080c7b9120ef198bb58c0c29ccd0f3b7f954b60de7a9c59d06bf9e6f485515c2d8e424 - -COUNT=21 -L = 560 -KI = a641322cd9c13db9b61b4813e7e54deb49aa2254b67add7948760e489ee05774c19dabda24d9f6bb60c0e492d062755e -IVlen = 384 -IV = b25d91e01ece535425d2b6192a92c2fc8ae5d0ebfda15ad27badcf5b6cd977d3e25076e2978a89e9d80ff966b7b71a2e -FixedInputDataByteLen = 51 -FixedInputData = 03f850ce3f382539413e450aad288acec8e82479ca362bfd34c2a41de8a810fe853ac0f61c133be0d8b079451bd011d07613c2 -KO = 86212b10f6b56d5a4aac0c3be3f8b5c8c9359f08e164ff09bbea72785d0e1da6583801275949089dd06a94110f90ea3e167cce6ceccb2e983a6b24651d83efee5f2c25f8b84f - -COUNT=22 -L = 560 -KI = 85812d199f90179d9e48a2fef2398b5730575e525d7f55162d7fc4ea08b41aa1bf14c993305eb0946f477fb38edb00f0 -IVlen = 384 -IV = d88e7f98f2d4a73a4256b9f78089631095cfff98d29949f5ae52d688834c1508e9eae2d933d55a8ce23ac39004e5a50a -FixedInputDataByteLen = 51 -FixedInputData = 56a69749ba335981c94047eb791f6b023a52848b142d812357f964f845b321f712f413cdea79c17ab13a30de7e481b5ae48439 -KO = e1d70bc67efdaca83d883f6d9bf4e16d1b997447d9f7757397955258f56e35bb0c5872427988887c5c6b00e160099505dbabe36c1d063756bafb7e330d3df0401ea31a76b415 - -COUNT=23 -L = 560 -KI = 7e38384a7241608ec749d2f38eb908ab053bba44625ea4f7678e22520c3089943395fa76efc41c106ae6669993a849fe -IVlen = 384 -IV = 8966cd5230115afac7a39359cec1fabfffa9077a0d45764927659a0c9b689da4fb8662d3f50673748aeaff7b97634b75 -FixedInputDataByteLen = 51 -FixedInputData = b7f5c9de0b5304db059fe9a4ce0e6845824f1d149dce92dc3111c75b7e562942c8bd4f4fded1601532fc3fecdf207e1653c9ba -KO = 8ae36ac5e2a69eedc2b00531b8ef44b211d51777a7e28789649d14ce251cdaa17de4c93555e7e377f93459352fe27500a9feecd3ffdf4f8ebf8cadf56683be4804edd706dbad - -COUNT=24 -L = 560 -KI = 669dac2101359af5dc514b34673f95b5323e2a4ab6b244be57332df073e6685362b5e55a4c57efb4aad215e2b82fcfb3 -IVlen = 384 -IV = 998153afad17247e503fa64b622e21e2e0492e7ef9db56310f7d509c3b4aa36e524390f06fdb4fece7e7b6d4fdd11c50 -FixedInputDataByteLen = 51 -FixedInputData = d39158e5fa942158f26755269d5afafa345009ef2d1afedc6c7203b84c0f7abae2fee4a0cd5e7d2052dbbb748598f9f5c87dea -KO = 843f076a46712f8f05d300d70b7c73c5602893c58abcaba6051e85f86144c3c0281dd26eee00afb371d59c702ce0134e7c9961de50cd53bb9d6e531b1d2bef0f94674e73b548 - -COUNT=25 -L = 560 -KI = 963ccf842ccf5b95c7761a822175cb292593d0ed424cec3d5e63054350d4174078a7a321a5888d3b156c2d3284af804a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5158c60ad548a5b18e88b0a7f25a9271bff3b6c3ec03982babbfe890954d02ee732d27f837c2714c3ce7ae2d1427af1c9ea46b -KO = 07528029425978086c7d95bb919c38642e922aae927b0a2e104d982d890deee0cbf4c2d44f0c8cacb802fa036485953473f0cfd17182570fcbb4126bb4e247915fc341ab86fa - -COUNT=26 -L = 560 -KI = af3ca19ab83f5effc936a38c7bd1c1d4fb22c175da6231fe617a7416df75a1f39a516dacac838dab4a2be23b717cf093 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 46ccbd034767113b612bd8b4359ae13e67dfbddcb98911ebcd3c5073a4f528a28d5b7f2ba8d69395d813cf5486ca4c12030918 -KO = 418a9ff95070946056a2355db6be4ff058f922f1f0718973a14e0c7d8bc95c82ee52d9055f6f2d3f37528f5d5126284aafaf8932a8b4a32cf514499f8e7745d04e7fa18287b4 - -COUNT=27 -L = 560 -KI = 9e04a21659d30a381e33c4972fb3d633e7c3d4f35b8d181d42cf1a2f87b12e200e4e8b03ee73452957d5ff1bb3f59199 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 981fe6d3236bad3eb6af980740fc1566c522403b2a55e03397572b4842fb9e97a2575e54155c2e6ea68928ff4b035c47915699 -KO = 724b0e48317c6620ffb43c91e6b49a5706501efb72b7eae5eea69fdc271630e43ed06eb9fc7e20c5be1cfe5a78225f3dfd452a84caa60fed11b1e40cabfdd2c9141de395f5f9 - -COUNT=28 -L = 560 -KI = 61d71fec026886c80b513135c4aa94c3d3974d83ce72bb92b5f8a44f96c3a8c7fec7d8f8c9d781b642c42bbe9b398930 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6dc9c2786c04da15a2dac75f8733614bdf5c092e91761fabb4fe8ce9c8a233d4095326fa74ccd66941464acc002f059c1df801 -KO = 8e540ef9e43b3f76839786c5f1ebf3787f90dd9f697bde33a5216b0f3ce9c2452b1476d01a853d7ab3061d450867bb9a362cf4faf779c15661fe8521b86bc4510384224e87c8 - -COUNT=29 -L = 560 -KI = 75a02d3b4608cfd54552613058fe9882fe5b261e102db737563d56f359cb87ad84a82d715ee2054f662be11aea63fa01 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ffbe8c8798ac900f085e9ba343ca5b26e9c96340cd911142c93ff55b4c92c15a5a2a491ef0658f914f460de54c48c55ac561a -KO = 85272fc20609f42f4af9d7a647d2229d7f85fcf7e94b7a6f37b4555b886879fdba453ebb7901b23f7a292c2de96cac4958e8b5ab1ab981b68078a268819bd619a5d77b60fd72 - -COUNT=30 -L = 2400 -KI = 972860232228a182ece9cc29c7d35ee0fd87b6b2ded244ed61967626810c461bb18358f353002df83a04f78c99fa303d -IVlen = 384 -IV = 00d9eedc7b6f6a2cd826a6697cceb43d4d270836e2844c01c5d7c2623b318f71af62fd0b2be37c2fc597ce8035c1cc54 -FixedInputDataByteLen = 51 -FixedInputData = a858864fd1e62ea8198a9313e5b13c6ee2ba37cee3577bd1eb3fda45590d602f5ec87f46f700d973188f061e67fef4f08a1353 -KO = 0d56aabe49b420437a8f60eaed6943ff435f98a46190cb4375c06aff1d8ab8bee9c662f10172825b7c54048962633c5be62bee42e0f088e131088056e13bb2ba34a301cb3cff810b8409c6d4186c895ff702c89c1617263b5ee99f6a8f155b2a3efbda8bc90ca5dfe3ec57a794841b9d4a50b653c5abc7b70c888484839d69fe72924d6cb2131df34fa4b7a1aa73938e3be455825af0efa6b7aae027c2cb84e060399fe3b4b78afee31c2cda0b7780a9f5edcfd6c37281d57dcfca18a2d11550bf67a37d8cf9b790767567b3a553483f592188727f4956b5abf9f3eec3e5ba4678517d47e62700ca1ba07767942abca27bdc751c475dbde572f8faea10b0acab5572c6ecbdf273f703aeba6e440cbedb9915f1411299f45b09a6795f26ffbfbee9516036d625eb379c0977dc - -COUNT=31 -L = 2400 -KI = a944b25be6c5a9f6a59e16a8a6c02c419531650fbac3e18af6d5b563b5f0c8edd99c055bfe2f595fce82441e28dd405c -IVlen = 384 -IV = 220283dca207516c88f07576f627af51c500ce86a6e8d403530341693294bb0c6178019c1e51d035b24113683cd98d1b -FixedInputDataByteLen = 51 -FixedInputData = 39ac7e96962c41bbb6ff7bf22082f52a406d111dcc72d86a1a1f9ef50ee786c137428063ea8ed884936210ce6c1e35cf4049a0 -KO = 1be911afdbd6ffe7db966a2b2c3f7f206493927425e60667f1daca28cbc81e7550cf6a59b83a5eaf3bd175a4f5e8869e4eaa61af246f562daafb114e8ab84c45505e4d35873acb1e4e5f398977958ce98ba2c8835f35726adbaa2e3b4f67024345608f6d04639a60a0e885f75989e042cc3dec5593108a6ebacc8017a7309a6c4459010b5a145bd47ee44cf7544f54accaca37f41874f6317bcaed94bc3bf61e8bed06de02413c18f926245e9393a3d26d9db34d3337aaa3dd1ea0cb5b0e0d1fefafa55e4cff37c1eee124d1ff8e1a6d918755fb1375e87423847a9ce64a0b4fce21b27bebfcc85a7f9979e2c8bfedce7658e4c694bb8013a8b1337a050f3ccbc5e9b3a5c4e117b30763f850f2077d8b57e391616b97d7e2723c53a9d7d4395db3ae3b07f7521ab9b00cfc0b - -COUNT=32 -L = 2400 -KI = 16b28f853c0d98dfd0c996bd28367302f4213dae7466600b034f1ec2c5a03ea6dae86ba7e32223087e9acab698e7fbad -IVlen = 384 -IV = f51a0f1a05235066472e85bfe678cf490f7dfe18b0c96b03e854795ef772179e6cff93fa2d6fbbb886f8815565746bf9 -FixedInputDataByteLen = 51 -FixedInputData = 6e1d1e30befa1daaa668031f9e3aa8753bb2c546ef34b7e91d7a863207cb90ce389dca778efe217a0985c84eef98ef00c843c6 -KO = e5ac57301150fa16b477844f899033a11770d3434ad9aef28417888b0e3115cbbacc7e134ba3bc9585b7d309dc77f9e26a21673f16fdc3cbb86d82d0684e8c5ff3b7292e232fe976f0ad7fbd57c460e1f10ba1e020bcda389fe104ca6b7f5f8ba7731fd40a398e4940fafdf98993080161f296d022aa236ee7d73eed472aeea1101bb2695c8375d5b656ae742c2059053966ff0b0b817adac9f0d0cef47bfe3640715330e11aade5652dd87853c6a9e63d2026a5f57a68a85543086cc90b033a5e2e3055ba62c988a0455b5f3d798fdc75ba4957e921dabd7e1572ed5d31d767ddac522910aa6cb3970ab64564571e0b49f7059b497764733d0afe4ca588235c67f7809ecb36c78b46e8b541a015c853b05c783709930e8718c9864e4b7cd0ccb4eda451347cd3ceb99a601b - -COUNT=33 -L = 2400 -KI = 22f7515c443da01b9f9a704b2c9c1f6378c13159531e5c98a2aacf19a531e7256422ac8f4a4540e371ae3f472130bfa5 -IVlen = 384 -IV = da591070cab271d6cd6ed56067e96ff4f773d6d52099711f6abca974ef7f3da003e1c0d1158105972841d97dc8385359 -FixedInputDataByteLen = 51 -FixedInputData = d6513c430329df94fe7b068e41419cb12e819b9db25ee79a2edfebc3dd866e22d9c31ad550d5cf2b4f643e83b0b2819fa58e9c -KO = e4f5e0721a66f53363cbf258d500b5f0e79ca64b6827204dae3c0a2efac7d144ef491965e1f15f56bda3806bca3fe8390c2902eb775beb0e65424407f64d62cd3824d4e16d97e6e55ed4ec15b22f70a0cd922e1705a112c8c243458ea451b9b1631bdbab7fbe147e6692cd3199744cbb686f46a1e0982be9e98801403c5503a745fdbd3aa70bfc5b38b88e0e84d2a3cc94dbd79c07dfb30258b02ac67027c301ebb8c2e137e18e64c4c28a6df796863c54df466bc4c419433bdde4df73048c7b3f3527b980633d31d90c375e0ff29184ae0284a332f6ace8fa2645ba6c4a79bae030b08ca3b02bb2d6b8324ed89c9fe794a6b5741a71524167e065256c53ab2352b6ee10affaf8863c1aa53743908a38a61059ef6f8f1a9bffcae0f6674a5600415d3cd2c69cfedef36e058f - -COUNT=34 -L = 2400 -KI = 98706bda2f18955dfee69b8026aac9bb15997a8dbb43e478cdf274a97395046fe02379777215c5c58bc5004d5680eb70 -IVlen = 384 -IV = 052163fd69d06389a657c08bb97cc7a9222894e7ec09547c1d7fc4ab728684f75f761ae1ce5a46513f1d6e4eae62a37b -FixedInputDataByteLen = 51 -FixedInputData = 48d0e70dcafa666e76da99d3d395f992b4259415a4ee4739cb592c08f0bfd8fecd8324e8abb6d62d76cfa29f6a493f09929f3b -KO = dcbf6c7215e9c3155ebef2a482d3099ae7e28d13fdbcd9dd1782c46850604335c893228bd983afa592fd143679a92467e1457a02528f539602f68171081db492d419b95180e73a3b04c15636e0af62ffd6407efa048812f6b2f9df43fa61770fb404e684f504120ebb1f93d03c288d4bb79cb40966f75945228a6511c21d54b126772adf373e69c7b827c00ce6c48d25b099153b41fcb4f47c00ad1a100dc92d98adc599fa4ceb30f802f91494b436e92a3a5b4a5312e0fd778af5cca91fa5c127b6bf931ba00278174747f3fe10f066d6ddaaec9488b3973dfffaa9287afb7949e21d84655d6e645c5c77d31144a2db5860816adbad1fb9dd9ab162687a39913e8ce234cba7b1f680e231de86fc102fce27d7036407c030616078a209852a9b52f2c348f4a449e2aa59dcb9 - -COUNT=35 -L = 2400 -KI = cb9057f24767fdad5afeb45f0b04f83dce4fc0e8975df0af7b6986715966be0d62ec1fe366ecf5b1057ffb81bb0615b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f25c94f130b21e87f702e933f6d4c0e11c2682b034badd0b48ce607bee6e6e283c40c6b97bc58b42611e3e2d111d99a3fcdf19 -KO = 339aad401dfc299b51c0a6d5d759db72705875fa57e68b15fbba99043f96838dc205adc79bb9dae147b89a638b9200f7e31f81eba4b9492a1c4fea7d233520ca8f657b2081040cfce14d25c266006d286cc2e7c0c0454ff3af936954673fd0d4f5ac9a529df7629e000790e58700f7cf41f235b7960833f4161f18c22faa75c549e99505c3a32e3a7c18fa1fb72bb21e91fd8085d4d6ed7ab3c9fc8d2e3a0a77d4fca3417219a4deed7189b31154c6e3f4b7c6f526ad8db5e5c0986fb4bb2ca181173a597809b2c916a104c2f22031d61797a704d68067bafd260394bc8833eb3b9b8b4d8906b350c2e3e6d09b6bd6535cf1bb9f99cd8d9c52f8cba7a07edf2ebf984aa3666d23a391cd4f2417a44bf432e09a9f376b11cfceb3247815c9c1eeb46cb6126e8ebba6dc24264b - -COUNT=36 -L = 2400 -KI = 95748cf7069c02c44e0af7cd93780bbe0f1d9d559f98f6cdc2355d5a66090e549cab61a4cea22f49816c844126307f84 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 996b9586fcfe7a5708a86ace274b53afbeff37b448e2539709e33e8de5fd01abd525ba01d194910cf8e8f99836541f422f9239 -KO = 9eba64231ef267a85d3939b7e3592e60482acc348952728cb80f0ba37580ab2c6cd86fbf46269d51d8b4b9694f780b97079685c579d6de087ec8f7b802999ca30fc37441e1e9b9d4db139919bf5e32cddfac1feb5bca3c360816d0a9739409505a6e9292652231e317d28b5bac1cfd9b089339a7f08d547fd3ed48bb1d84df124dc0fc1fb87b1e656889f03183df5142c52a432ff68f5581d8dc56c86514d4592d5ee7218680df6b654d2a158a617cd79ae3905432aead80969e164f187a224c21950b2aa3498fd25b8ef5bde3e1af486a65c6e9b5a1f7e55b21b59b92bcbd9dd64e744e756dc0d6235dfe60a0f488674cf83ad9bb448af0f6c015cca2339a32463bf04e2205382b99c1ffbe8b97b5b75f67f8beac12782326cdf46b1192746be369afdba69ba98baea45be0 - -COUNT=37 -L = 2400 -KI = 4cc62a0177456f30d0899d3dd26e600e6f30ee311da46ac9bfd86f46b734c9490ef4fc88efae6aaf8d78c3132959178e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 865a1c6d9f54f7570ad408855a152d31e9fcb95c8d99c785e1e8d475132cacd1dbf78e3e5fb57e3cd0116f10fc39941a440a03 -KO = 1ab647930b735b423a90dfe376db0a35014096f024b040e1a88582a71c82e6885f1464fe5dcc3c274ca192b6fcca737f16c41d1c4b04b51bb499094d7826d63da64b59c8dc7fe6894b0df0cdb1ba9f49fc560851bb6b0082e43512726ccedbbecd817dfe76fec7a1b9e44f2659f39b18c0465d019e81b0ceaa7937c18512c6eab07871499f18e385f49b31c736cae9bf5293e7eb99f746faad80b9d43f6ff828d40ad60c98fe69f6f4f1e097dcd0b35f7fb4b71c80cf9e5e9997198fe87fa408756d8648333ae880a8a95077d571453022cab3baeed906cfbd379c144b39411134681ee2b149bb25bcf07b04445b081bea6570b888ae41126bea4d8a0cd6e28596f6eb85aa9fede64cecf59bc70af986e3b96425dba7c72cbb97bac50a909b20365851da9dd8d3e2156dc9d1 - -COUNT=38 -L = 2400 -KI = e9164f20bb10d0d572ef24484c8bad77f56ca109e715042a3490a03bdf968309eed96872b49b54f60555cf8731cc671b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 704d407a8f486470dfd99244c9f02760e4580e661d7590e0b8d32fe86ed45dc586488c9efb1ed03f040f4cebe3d32b418ef701 -KO = 95ab1e7c912ae99c52b225397b8feae28e22cfea07b99e7824ef545106e25185f5b906d76dc6f9aa7a852adc422ad358fdf4fbe9280bec7d0d621a62cad71aff1fb73731480e3e4fbd377d0b444aa3e3e25fa958e73370f22402a8a2514f9dbbe644ae2ca15824a67fb907bd852780e9e8597822f67d31736e3c7ed5feabf7eff50e2d0406b31d0ac5d178d0f39860294670767a61bccfdb14588f3ef141fec9f2791177de86bfcc42f74a4655eee98a4bd2f02d4406fbb9d98ae0824ba96c51353cce01dfd5047b19f4e0cec1614d5a724f1ad265568642625c766d424fa718b15988100061ed76027c338b59c641a45c35fd2dab7c1b78e06fac19d7b417863ff086112dd769232b64f74ad87051554aaa1ffdb5ff91ad2c0e53bd4ce5d5acb19fb174a394cb3f782776a2 - -COUNT=39 -L = 2400 -KI = 080f2a7bdd5f57b7b12bb154e9158f67944d0ca35235abf0a886c45857084938941912825900572a0c19e810bf53f1cc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 060d6bf7de5706d6d134dc83c4df3a03ad758740e2a8f61a2d54bad5a7ace56554245241dc481a615c2c28e5d16e0d5e5a0b6e -KO = 2307fd349098482e9055aa749fbb4c25509002eb9df558e320b5501056ef614264f0765a7e0ec228467a2863ffce9449598bf178128268dfb254b6bcc931eccced8664ec78edfdad792c16ac5a7e51c74c009ea50d211d4bcb9b896dec4ca7e0259d13675e09bf00f9a3f9886612ae3cc8fc5a37474aa6556b1cbff07ec0e746eef5a21536c6830beefe05d721eb74b5568c32c572f9d5456d840c901d4db1c78d2b711e7e0c38255679e233557e4d7f2b9b4919a1fd7268dd0a6772b5c5389fac9bafb899d76fb1535fb1b698d138d10376dc87e0ab4e6c645ac060d2d7bd22d5672466452be9fb4154dac20c8cb37183843f5265836987a19bd5487b6f31bd0ae4b47f393170e44fcf02187c6d7f067a73f25efef84094a14bc7fe62ac2d2bff12ebed3399493fd0a1ae54 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = d9175807cf373a495cf5e8cb168cf2c741fcd71e9d4acf9a375b2da9ad6f321fd0896d9f1da889205f72c9d5aa26971c -IVlen = 384 -IV = 9a51fbb334c5d9b4a11943cbd5dc346475183a367b0e2fdc297859fb2f784b1d66054e8019224b02757a0c9cb498ad37 -FixedInputDataByteLen = 51 -FixedInputData = da48e74e7372dd94521c35233e44f21641e2c6d0ac08056280e0cdfb354292c14adf0a1a1382d146a87b5987f544348d8420a9 -KO = b02de9beac58140d7241d6718bb9387b9fdb9fad5c43c57210f06dd519f651d4e7b0f9b16e4cbd4bec9efd42b45036085115483cf7f44076c426749c8b75835e - -COUNT=1 -L = 512 -KI = 6c17b5a2bc5180e8a464b7b54016793883196f76ae90004e61eee1757bb22b9f34211ae45d4514772efb99d12a9ed518 -IVlen = 384 -IV = f65bfa6fe3178eb0ceae60bb74141940895abb87969aeb950e9ca352cdbd8bf1bf447f6b3d99fc37d5e85791cc8e1b80 -FixedInputDataByteLen = 51 -FixedInputData = 3ae8c3d149f1e24ef52e30b728fd3708d45ad8051787058c9300c1bf61b5182e9aa240d27624a8336c772c524835c981782530 -KO = 88e59ab7787cafac55f10994b8fcf6ed4a0bd4de1e8daa4e65d710e85d41a7f2f241d22adfda3aac0355e215b8d1fa1f19e357c6bb773ea764da6ffbaf45d83a - -COUNT=2 -L = 512 -KI = 186c963d1008ec138c3c71e4015ed13e8bb37bf2574bb679956f5b177c94e9bcb951e63d5c9616091061056898c7b490 -IVlen = 384 -IV = a74ed06270a650b820955ed0683d933ce41c0b1f6bde38418ba070c2cc534027e76d0a2c25426180421cff72b5a0e56d -FixedInputDataByteLen = 51 -FixedInputData = ce263a721b567808eb6a7b45377c2db5011969f41b106c8ea4bbe0420bf56a1d9833fdaca323865b718c68ff95ab3bdef6af07 -KO = 9212530837afc635835cd5a6d66ca7f5b9db20dcfc53fd954f0746c48e29c23800df94870cd2c7d02c47d56522ae55d9d6ac29feda44752d6da88410d887978d - -COUNT=3 -L = 512 -KI = 406e068c839263a91150908ae86f0bdfdb97e9e16ffaddc2d6745422e5d922e3b15a62b574aef8a2a47977acffc32292 -IVlen = 384 -IV = a2e581cbcc2277735704e9fd62720686fca7e8b576b249b9d8e28459db227e264b52819791284c1e59b613b35dc25b6d -FixedInputDataByteLen = 51 -FixedInputData = e04bc9b86d8138f9baa2300790b7396ce8db86c5926f57fa2ed68ffbd90aedebd9c36d72a0506a6be9f8090ee80d9515e48246 -KO = 22c85009f854f65738177640eedcab2a1ab35e7c9b66871deab923859d6cb9a1e0a700078fb2b8033f4670785b18851f64f2f4fbecd31ea0ab7df57a3839ffac - -COUNT=4 -L = 512 -KI = a0e6abca54d2a215d8830a24a197a53dcfb3704eed326dabd3a93118d20daf86b9778083f6a1b312ca062fe0b8d179a2 -IVlen = 384 -IV = 6771feb3fd6cab889a4f5898b8f949821b1fb82bd4e6f63c5df624ef50b2da6eee5a084b92d6b37874c41a3f9ed081cd -FixedInputDataByteLen = 51 -FixedInputData = 07d59cd7c704599de5bc79c52b22b165b7e36e330732f86b8b004a1cdd22717b9709dacd2d10dd6af150be574029d6755702af -KO = e027ceda6115fbb18d5abac47a99c2ea401f1ca5ef36431507baa224e7b873be6c0f6892287dec86bc51959b260c0f938eabf8cc36b415dd4764a7cdb32f1720 - -COUNT=5 -L = 512 -KI = 45a30cba6127736fe1f4dffe30f1a228d758d32eaf24afd19b2f621ce211116f630e7b01c8a39f5adedde8df882fcf18 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8224ccc76f1436d756edd26bb834694f53b8d66dcbf0150f05714ef2ac352ad2f9acf0469d9abc64a8c4745bd75c01e23a6b2d -KO = 0164d02a6b6ebec092b4a9684b2ab647b09603fe18a7904ab2a59a00746f7651b301f5644162c1f4d4769515e0cf9315e038ef366732a0598910d0e17c091656 - -COUNT=6 -L = 512 -KI = edffb50995131e3b99bb6bafd8aaf004ceb0bb832cba6356683b6a4e2b15d7916ff5c1e036c817f86c3fab41f1356f8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b38d404f80d0aca809256d3db6901a33e72ec730de9ca57bc1f35270738cbf3132f9416241328fa5964d42a556f7b2d72fef6 -KO = fe3880303b5f73e791776433b6dac1beb186bc59bb7be551287f9b98f5a37fd52a1cdaceeb278b6eb5872d00c4dbe310a9a6d8e01a0e19f1287607a2bf3ecfaf - -COUNT=7 -L = 512 -KI = 1521d51166aadaf88ef0925643e30dc4524d69f6e0184dc1743c50d5130254cc849b6a82540871b8185820bd269aca98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e1e83ab55e914174024af26d9cbe04e5ee403ea10c28e0382bf8e0efccbc224b82a66573fbe7a98934ade80ab202b045608d8 -KO = e16c977af1b774c40569baa90489802a9109b7605b28b4ba69e787d54f0716be3062a6db8cd1a33e656fb548c71651bfc1e09f9074052b17fa96b8c93fc76236 - -COUNT=8 -L = 512 -KI = f5bd6eb5dc0780b17d7f2bc23a7b4411e263df35d645afff30d544e94e8933550e3459906e4672483195a2790b07e07a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b01cdeb270881536718c0b9335736411af340e0090103a0a29e2e31c395cd9cabf0332d244ee2f055057e5a667a338a5da533 -KO = 1dab0a4ff463bbcfa5d153770bd85ce281119abbabc4b9c3b74421b037cf6a04bf930c5ae86da727fae758ffcff7a749e5e266f563d8c84bc656618a0119f572 - -COUNT=9 -L = 512 -KI = 65b43f4feb49bcf10eed74d3da8fdc4b43ab8bee348c026494b175748593377893e7c7d88d3cc7632c00c9d1e031a078 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b4ac0bb47b685f3c9a248e8a7d78068034a619f241424dfc61df786cf9f461db5d300609800551e4b0fab0f3259ec47ed5db1d -KO = 7ee41f655a69b888e6e4a4c95117ae2c77d6b5fd944e9b33f53ce38ddd4feb560d9db993ccfc044a859c0dfba865242b3ff0eaab60b3bf822de2b034f1e7a8bb - -COUNT=10 -L = 2048 -KI = b1bd4e65097308c6962dcbcec126b0d091ad8b23166d1614af03dce6c7df3214b05fd443e4ae551c513736d9ad0bab9f -IVlen = 384 -IV = 056c1e01766f143836bace001740dd98792dea7baf00afc2f47afef612bd57d06f416bebad9e45d33c62a80751e70703 -FixedInputDataByteLen = 51 -FixedInputData = ab240dcf0d56bab0790bff0c8d5b770e01a276736c1281beb7341593be15db90fa476abd6b4e94957bdb6b76622d832cd46916 -KO = cf9c03924bf00905db35352f02aa580230975b8a4856b45958f52ffcdb1322e58a2ea1c31b518e827d973aa534a6ea1d1d14eb34fab672745e066137a2d995ea0c84381d8046d2e4e008919eebe87f14c4ca87111cad7b0650fc03dbf6d990e1bf8d93c35cc5cd5c16917ef880eff9b542a7cdab64a07177e60e7824cefea3dd5f099adad7b13ceeb4e9c4a4acc004d66118c8b7545d35266315bae528cdfd737096269400538db3cb09fe7cb4db771a53bfe4fad3f868a21f1b9821fd63bfd61ddd4c370063062e894b19f1cdcc46d00ad5509b30499f850c7c74f1703df4f37070539bc57270e7f6ad955a2bb895a5076ce45a35f8ff15bffc38ef69fb8434 - -COUNT=11 -L = 2048 -KI = a2c36d6731dba47927ffb0a92b70c6b09238598372f3274dd6ef4c1fe3fdd8867987909fef8a54ef11243e45c8a312c4 -IVlen = 384 -IV = 0c160ef47596cfbf05c678eef98cef064af1e073d5e2380019a72e51c710e9c9dcb6238122ab844f15b87b77c55d9342 -FixedInputDataByteLen = 51 -FixedInputData = e54296302d530522ef97d147089971838dcbdfa45a1d087dfef19d15e6e7ce1817d5eff88e4abf463de46de7942865ce35fbc1 -KO = a1abff5554f9f07f04f3b5683c1ecc0d3eb7b45d7715520914b7c6bae0668c4ef655dc55fe64db3f565968ac233271be473f48625a5ed90cb2f09946f5cd457c3a2358f98e3af377c36307407efd7987c05220bf125505d721e9ff32d93a41c9f19a2e3d858aa553e49d39802cf6b52d9fc8c79aa59a8aea671dc25b7cdcb595a4a76cba5f9543ae15e734f720cffbc6953b51a9523c95d9efe5cbe825e35e6d8059e54d40cb173db9b2e90e106a2957600d2fb8f1d04bb3a023d9ea8fd3bba12b5268db831c292552e7c51a217b5c24b2fc08ca8cdc3663f069fdb9b9245f5b2b0f100d94de6fed31fe6e9ba9fc0cd7f74468b75708463e1e6f91544a88195a - -COUNT=12 -L = 2048 -KI = 72992d43e2711957d790a03f21c9d849dee939a8aa22736c319a948a0c31fbd37d1c0e3f8c17050181869c06884de21b -IVlen = 384 -IV = d9f47712fc738e31315b19af15189ce80d3789889f19dc167b2565459c0a367ada0d00aea2eb6533914362a2427a11aa -FixedInputDataByteLen = 51 -FixedInputData = b8278f57b36d1361fd91d2d74d7d2fb9c2fb430906516aca4af8330f141def1df3ce193d8b3b42f23b4b91dbf7fd1fa8da8ee6 -KO = 033a5f49da1a211156617d624db8ae87a59a755ad1c83c27a81ae7fb5bb6cfc5d8fe63cc89c99368fea4eb1e583ef3015a24d4811925c19a2aac3ecc0da80458d3052db80886f6f687e2fe073f38a35eb2594f54724f08f9ad1fc8f31f4fa4c01224b99b75c6b696169c45f2bb1541eac4a9c2023df251adba7e9da916f8a151cb27427c8f5d383068b4cc6b0b557a6145bbc528b573ee6e0164c51908d97a08ce5886c5eef8572d77f52d8610064644c2f28be703821d5a4dd7ca6e1fc9425d9c1dbe58ab9ff3a73a9b78247779cc99834391d700818d5bcaacfa149f0ff78b1cfe80c063b82970ad111d9de03318a5e379b65dd51e8cc13a7bd9e633305798 - -COUNT=13 -L = 2048 -KI = e7a74b7c1bb5bf8aee664aed4ec220194edee4c9104260da12252994833c35b3479caed03312ff6c11f09ad0fa03b706 -IVlen = 384 -IV = a0aa86c313087707f71bbdcc60bd914bd045a18645bf30133e725c57e4bc8d86713fd1c3d830369a7fac47b8b5a4dbfd -FixedInputDataByteLen = 51 -FixedInputData = 58a43ce923e66fca95128cf3c562151953bd780d7a821132aafdde3f2b9bb835c9dd82149cf3f93e4eb2fb92e8f8a510bd8609 -KO = 86dadbbb44b781de5fbd6680029451f34d576352c90717a009ecacc183c29421d796b488d89bc39e3b0ff48ab2169ac069206de23def16278de5a4e081a7ddbc4face24e387b66b863efa1e7708c9b65d8c7658da56e7430faab1efbc2fb87f0205eb512c2011950329089da079e65018dddbf916deea5bed4056bf7ae25a3233786b22b38c0cd906e47489ad33ca40482abad1b5388a75e03d5e374aacbc02fcd2829d67156b0e4a89bab7aec40264d15d3055c72217c6d040d7c5b7767c2d15759b6ccca557920c1c69f7cbe9917396d590062469b95d8fe8cef21bf1a755c00404bb7e644e21cd94081bf27dc4f92213d53fdf61d8474706d0c031a7bdd7e - -COUNT=14 -L = 2048 -KI = 895620c24acea0b6db5e91e9e5986cf9f0357c9e6ddef27cba3fd6bfc59ff6185d94453ce2ece19f73681ac24bb82338 -IVlen = 384 -IV = e7e670e71b137876e93199cf20ed9617be19100365ed291615fd55195d13c688a8b8ef366a60db635ce1dee5f3b3984d -FixedInputDataByteLen = 51 -FixedInputData = 4fc2f1a2792efc69debf9f6ed92e7b92898ca5dfb9735749d7cd24b55c81b7264bf2c6fd9c2ac5eba71ce7aa50e7b01d86bb74 -KO = 378afe7d086e2abfb18a811b8a24d0142d448dbd59e9e93011b05a74d63ebba81603bd784e6be508a5c485f954e289444a87be38120b2c1b11484507840531677f592c9e1cbcbcd980091c727df31df3b9aaefaba22e91dc6603ccabde2a9689d605294368249b51a122ab18fa63c4e2fa002160ca349211df3881421396b73ec55a43945fa3056fdc468466710562467085433048bf0143cf17423fc34e38ed643f744386904439882300766ca15c4349b9469a35ebf3fb099955a8a733758689125c7af4443cdba0efa9a744a8efb4bdf57a690b4facf2f4ab2ec8aceb392f917e8c214f0ba31f67fec2be2f4df661f72b9644c0b2b02bef9888909aa381d9 - -COUNT=15 -L = 2048 -KI = 491dbf06f9ae44942fe78d0220d981aa9f432e8d2551fafd8f354dbb6db016260a2d3e7ea040f0bce3021b269d87d93f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c77fe2fd5824c2625d7e3139cfd722c0dfbd9af0febb1aeed9e9bf463871e671ee2f4cc4bf7eb78ff1ab6d888f37f7a305671c -KO = 41648afe16e90e8dad1f1c28b8e3c5cbc3529bc7e242ef05c87fce4b8513e6227425b229b8be99986a886d1604e37bcb5f11e5835fba7d3d138c2931326d6faf124475e43a638e3ce054fa96c418205a34aeb1f95fa2b4bf6482e31c4fcf94b55f91fd10ff28d4887bd001685a4f47254640ab63e1102174c040f1b76888b0d5810d1176d562c3d27ea144b9fe1f26b5ad7d9410606527a0e2aa37e3cd89be0d36549a3e20a195ff0d5946291c9e6815b221ccea83797311c904f25825b4aa75918a793397fecfedd6f8e78e8346abf185d0f05fc0ca8951cc062e477c36eba694385e84f0d76d7ed69e490d45098c50a1673923fc84ca04c88f9ff4d01b696a - -COUNT=16 -L = 2048 -KI = edf27256ba2e1908846db8df62d0088cfc4bd4c9f778c313375de5d4b7a94daaa41ae328ae875a35ec7f44dc00ada771 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 78acffa190f69aed6e5653bb2e92ed97032e88c5b91c6fe1094cfce27d0b8cacbbc2c825bcb6a0fd4e517033a5a8ff3e9650cd -KO = abd11d5285ac2059d83a6658d206ff4d1063ee6d3085b776433309e9105bf2a1ca1dc85df99d037b2f04c98779d2488a5bdaa6d47f966f1fc51b464807ae7ab129c8273e9e76a23d186227b784d9fe5466505c0fe536a00392ae263f7188eda3c3132f82f595481d333ea6c8df21fc6205febe175eff8cb6c3d9952e3a5a6ad76b868b6c464b74ac38ce42710af4e71b80b2329e67f737002c9c62486452405be0b992c5f855d1941c560d11161e4382043553c901c18b55bcf8ab1290670fee36d04a22830e9c20cc0224f480288aea57dec7efb1f824c628f0d19eea7e1826d5df6c40e986fee62ba6b8be544ac58ac3e024ffaedb085524e39617a728ed80 - -COUNT=17 -L = 2048 -KI = 598a77fad722cfbde351fde3245c9700fd6e92dc80155135b340668e1f01228d4c7026265f8c672894c9f61f74fb752e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aca59001299e9388b129c95439de2c7e2395b6bdc7de1e948f507ea90bc1f1a8d5011ea1e8394aa3d61c862777fdf732c80db7 -KO = 43eeed699b0bf0560db6f36980e86f0a0ecbee287d9f47e8fb4e2c19f044fd3270f7f61ad1cb03c2e636ace2d5142997f2662f576c8c78dbf19eeaeb10bda8fb2eb9d62df5e85e4a60a9afb1477118482ae0506b865519d911b7a79876547ec0acf813f18c6a4efd272210a04679bc85a66d8d52d0996577347dc31ca78c25d5cc43d1fa614ab659ff62c706876469b4cc81a5eea0ae9716a6fe0ee00192453ca4180f8388a459a2522b3c8fc0fd02a425f97026f54ed69d35c83730a6337f6bef82110d1a2995dab1fee6f2b4dd07274540f8e3d66918052000d6a8c2275b025aee7c5c5549c802365dcd26e314751728af412413f4c3a86fae165e7a220881 - -COUNT=18 -L = 2048 -KI = 73f594a7765888c18224145e8d3362400028146519e9163a8e112ca20c4ea1716a81bd6f52e13689186f9600beca7dc2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc02a779226845fa4f7f65cf3a5aade1167e4c37a609902f46eda137881b47e5dbd647632628db5f6f2c877e3115259fef38a2 -KO = 123840e144a07af129b6f4cc79c55ec4d7803f6811f45e6b4e81fa27ecb83eeb0ffa2ad9447a462c86513837c502e907305e9a906d67b7b3eca5439a2d8fab5bc3a9a2164062d2005a374aa29e47ad868dd1188ef306787648c7102fcad0e8518cc048dad64fc3bf79b902c256fa6bb5f6bd58e48870e2eada094e2505558dcb9785dc94f410eca616bd8ef9a6508edf39663421ff4b4c0fd6fff5198281d19241c38ccab8b320c51bce15a285f5ba2cc28aa9c103c8c27d20b7f67c264e9bf5cf65168b2de297b03dac8f60800eb64ecc321b6c5a06ade055bb7a2ad6162e28857abd08d62db7e641ff6f91ae3a28e44c696883a09e2d301fa6135ec70a216c - -COUNT=19 -L = 2048 -KI = c011157a0afa6c08b84729ab5110955d9386607cda7bde0873685b8b980cd9d89c179df19ecb78c81a246f3d5672bc0e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9783ab670a0211389f504ca2d6a21bed2957f8cb03be5d5ff57a6bda6e879a0a754bbc495e64dc500e38c92e83cb4d3bb1103b -KO = 4a971b7d70faff7b9d82f8b207c53d7600f6459c4663cc4f9ebb7bb38510c82d259655ee7dad855d9cbbd678cb147b1217993865e44587d6ec2fd7dd86db42f7ec3117280af9b88572a7a9df086e57f0753a3024884d27cd71a147152a646fe8f29a06ceabe2def91a828b02a24828c61f26ad3873d0a33a886bafed6f0732f2e8cef9c07871bbd68bda1c69c2227f1b4c6407e9632df4abaf1644a17720729ca2f852d8a869a6636dbe763532e4fe25c00d8b711f84dfe95f851f8a680b340148909a95d48a5f68f85d171bbe90e85a52ec3697fa095f092df0af83c3d2feba96ac7bbabc7e4225bb565199cb732419082a854d1891dd6a5ad9723413b405db - -COUNT=20 -L = 560 -KI = 943b5cb37d13cbf98431cf7b5251957d04e1e653e144197f7838f5f69aafbaa44b473daccd36cb0ce6b65de6e5ba7f3d -IVlen = 384 -IV = f14766975b023748d22f12c206caf4cc8e8a831346c6c574b2d91b92b2852b61caa9a538db729c402e89e8a4c1aa651f -FixedInputDataByteLen = 51 -FixedInputData = 6bd832b8f5f4fa349fc7bb2b4ff5faf28c2bb24e1c520a113dc41fb7515adb36fe411039aa45a16b829399409f0b4adc99b8ec -KO = 1d7e9267ac42b1641dc9e78bbe9d148679940f9f3135d725b13a507346b6bbb26a196aa6993ef79df83819551d1a16adac64e8a7765bdc2e50cdab5e8f68e053533735a2a806 - -COUNT=21 -L = 560 -KI = 7724432fce32cb9368b886a54565cfcd357219b1cc2537d1c590a05b32f2109f547121294add536bb253645ebea4e133 -IVlen = 384 -IV = 55bb9b4aa19c439044932bcad601c4de2c8d34971ac256fd290fa5af2e6fe7a9ecac3b715c787d8609dec7621eefb611 -FixedInputDataByteLen = 51 -FixedInputData = f248ee1dc88cc7f12cd2693a73ea02633d0e7dfc608aafee795b62a2d4aeb7611a4ce2a02ad8eb2f7461b9866166b93f853e0e -KO = 2b8bf1f762ef719f4a1509abb1b9d89b290a650ae21887fcb9457c81234fd4f5bcfa6f13be8757c624b1851a8de3c57d523499b2b4f186bd1502658e2d576601bba97ab063e3 - -COUNT=22 -L = 560 -KI = 57baaa70bbda58e7a74139530ba081cb58546908657b893f15c44f519e3ca06b6a85150865e67dd67eadf4d4bb057dda -IVlen = 384 -IV = b737ce7002ffec03161cb66317c5123a5d586087cf6f2c422d3d825c15000634946f367fcb6dd8294d74f37a35bae705 -FixedInputDataByteLen = 51 -FixedInputData = e9c92b90000721b64f69c618276ea618d26471fe4f46428883c8461cb54a0f0f483e12553e9a930b329cf8dc7de490e6e52a2e -KO = 21a5f1e6443f39c11b3a039303236652c6801b5e77eb23f2ea9dbbc3a12a6b09aaf3dd687b6e2fc01d2a342adfefc7db19bfe8211eccf92d60b4b1ddbf04d21c512a2781aafd - -COUNT=23 -L = 560 -KI = 86554e51726846f44b3756d897fa314b422b563870c8c8717e606c6de9c8aa89c2da627811380576ac4a69a3cadda070 -IVlen = 384 -IV = ad54588a68f957916aa2be9c87c1b800d4feb7c18501c99e1fdb2a77df1984090886de93a1b335971cf7134893259705 -FixedInputDataByteLen = 51 -FixedInputData = 487f9050f6aea874421ffc6d801e72c6a34df04c0b28b4f3e1fb216b853e19708c3f1a87022f861f74f1d4b168662776e49e0c -KO = 838670fa9befee9e2af4e0e1cdd9a9c35a7d29b8025531f70960a05ad72339e6c5bd0ce2e6e9389f21762389470d1a44de0220b8341897cca61583e934e3f8056194edbacc21 - -COUNT=24 -L = 560 -KI = 0e351be4184bbf6a3184994cd248b11f2e3f9a93bea72aad6feab35a20e8413ce01dd701e6a32a72b5f508b614218eb5 -IVlen = 384 -IV = 6b55870e8da98d59fa9cb52ae3824a6eb6a0a4d8e2b051891159f6550217314462cc21836ac8f8e4c325cae749ebae98 -FixedInputDataByteLen = 51 -FixedInputData = d0fae85d5363676af492b836280ca35e8b24d6ee7a5c7cacc7628d701974ed2e61b30b747d0ebc7cb9cae2af8586fee768b2ed -KO = b6073c9586526ed9c033b5f1db46a7024f5a37505d6fa4204602f1cf25274a73055214fdbf434eecb6f933c7421a2e9451e3d8add744732018756155ce66d569db4104a69c5d - -COUNT=25 -L = 560 -KI = 5502f5993f1a6974af1a1c9ae4a4372f6823edc8941bdd503005dd38024b819ae9c260dc32adb1ee003de7132b733bce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe76c88ef412aa460ef0a41530a5c64bb96189ff2a5079c5ae3f678b167aca6a5be7b2e32b8bbae3ce3af6b3d50fdc32be13dd -KO = daa7d883e7c658eebbc7bb6ccf6a337a645caf94e2c6923c206e28d45c4a70303e2dff2cd28b6b936e7f130599c92056eb66cd743008c3f19494fbe24ccf3126811f223054c3 - -COUNT=26 -L = 560 -KI = 83a469dda9cc252af671c748d2454bc28bfe5c66d3d9bbda1d1b0857388c53d0374495651314f2ab7f77e926b9926c88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5518064daf86aba1a796e4275a06162f2f11bf2c181a9eedb4f6a54c556969c6da0ceb11d4183f2b627295779551994a432ed6 -KO = 167d090ec9ee77a51806352a98421233863abfd9e96e6ee5a06505b631fb8abc9243a4aaa20596c757cb0e4053e86e728c7ec336abc828a11a436ff778ee736d57202ccff722 - -COUNT=27 -L = 560 -KI = 24349ce37270bdeac5f82a41b513f19e4dc11ae7912aa8d2093e370b366b7fc36c01bcaeb97f88321a9d1554e302b5a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34034571c9b0ffb5f17470bdda85fcafd83582ba242e3bf9e58294600503cfd63fa3334e6970fd35730928457b05100e305ad7 -KO = 3aa8d71b4551583285f90512a8ac2623a947e3d0a09fe6accd2df52a65d2e30f5b0ae0f394d6702960509f877054242ab31db241c200ce1e1759e194ef41383ff28a75d80219 - -COUNT=28 -L = 560 -KI = 2f868c71967ce601020ebab5cfe850fd07729728cbc56fc5eed7f6ce0d606cd62006c9df615883352f145a459a3451db -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8918ae1a7a7edd1ea2eea5945aea24c47ef632ce81f861d5296ae8681cfbf8cafca72db4883efbba131c6e1d42ffd4786a1a8d -KO = b36716efdbbd9b8b9e84ae9e45e8dae7aa8644ab5ef8124a427ae23ad69b61305d6139f94a4d5789f1b7026eda80e546d1ec160b7fa843575d4ed9b8fefef0090e0237c2e096 - -COUNT=29 -L = 560 -KI = 7ab659df951080bfcdc34f1986c858f76f70e79a8cbd053c56380e585e70f75952047c6d3e59f1335004ac0e2580c0af -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d0041a49ac43b74caa54329df866dfb5b8e63c839da4d74ce6ba9ca57e481a5c3ddaf6239fadb135bfb934de83a288419ad48 -KO = ea15549c9e8a9c3079632af7f8b995eb0f3ada9e636217fe7e040a9e5cffa839814a98221a8ee686eddded0fd35f33208bb2cfdb60c6c5b670eea7589347d3e082e5e55a8a69 - -COUNT=30 -L = 2400 -KI = bf86b26f84f80e59979785a1cb92a051ada68b083518547d7cf4b81284aa978add568adf5b9d3effeb4bb3e983b93d9c -IVlen = 384 -IV = ccc0843773e6a3f7a034dcb51b9d716b00689aff3c870deaf3067ccc7965df296accfca2f6d56c9efda5b8512db5351d -FixedInputDataByteLen = 51 -FixedInputData = 7bef0651e5d210859986c66ede6ef73f8226950bd5296243da2772d32b727804697f230715519efb5cbcfc2eeb9f97b9197ae7 -KO = 91b8e504fdb19375667a8c05bcfa1054aeeb17f114468e96f4aec7398cfd916b6cae3de2ef9ec7a9b6b937bec4624d4196f1d8916bfb43e15a0919bec85b5fe9319e7795563caac199b102e8b27cf688b5c09460f08dea65e583adfab03f4f3e5f61e467edceb791fda3e52001f41e44484025476fc8aeee301dd9fac6697e8740a1aac45634bce66c29bf34b2134d1802bddb4275afdba775917829a909b9bcfd37c9823af3b6138982f9ee07644f7a4a0ed55932242bc793c07c3cef2dff9466b064afb1550717989d5c058df25d6ab794ac60e8b51304879ad41f958f52d4b062ee0df37107a26b27ad3af1d1dab79505b1995d6b2d3f2de34261b07e3fba0d8789ceb1fb8459618e061bce808b640751b429d61bcf4e8438e8d126b8f118e36ad1ec6f35d886a97cc8a7 - -COUNT=31 -L = 2400 -KI = 14259533b0e138d50e00da97ba2f368c4dda30a58483808b522847fce2dae196cc72006f955322476b380f6da77827f9 -IVlen = 384 -IV = cbdcae1eda28269a8bb03f6481de801bd8911fccf6623bacc8c124b755a07a7f51f551d6436ae0cb6f9968d0b2d99a3c -FixedInputDataByteLen = 51 -FixedInputData = d33030a60a2f682ba43edfe2c0c69c40bf98c226964e723cc5e2e999c408f5ccce5398c2c7a6861da86b60bac0598555de27f3 -KO = abddfed3e4330c9767c334e9dfcce19f5c9c09d2e5ec4b863f52c05ab3ac8cf3203d75440a69878cccf518cf37c57a2bc8445cd5db1b9ac063b4777d326bf6fb112f60a95d0162db5694f47e1e44939350e05917a7ba4046f282f097a921b3b3e5619d6b109570d6ea6de5b5a830d4cdb244bda57a9d492063d8e8619329276fcd7fa6794d72acdf9cd844a592199e987669cf93ac3b9679dbe936c143ad8217d225f14ec036305b24701f4215e3ea6eb35aea40f2e16a2fed4413e29d94705f1fe09cd8764a9741b644116b3232cb24a0d62fcc7798f8f095a4316c376648bce013ba501ae0d7c8e5408889b83747b2abd7f74fb6bd4ce35850cd8beba2484e1bedd54e173410b42ba4036a1296a9ce2ce0c36992982356cc919fba5b2abc2f854366af229e1de520549a38 - -COUNT=32 -L = 2400 -KI = 0861aa62ffbf320e651759835b3c78202094a50c4513c4b63ac39ab6becc3cb7a7c8fa7ce5f5e63da9bbac43b3234e90 -IVlen = 384 -IV = 0c691c27427df141870623763e78529f129a7b965e7cd7ab6ea2666cd0e79e46a16d77c1349f9671215a7747957c6329 -FixedInputDataByteLen = 51 -FixedInputData = 5a457e3552dcf383e0740e4ad0b08b4f89ca1205da41103a3b3501de740cc405bb8d2f80d829fa2aa6640a66932d63b6f065fc -KO = 5942174ba6dab8188c0c2bddccb22d0a3fcb64922e1fe62742edb61df23482dc5b88ed98ab4309df450d2fbb2a8bff7485389b47a18d6fa7af5c08d246513c5eede605768a0600bb977126c521f2a531c84e21c0a301c8e71aab7772cdb0236bf44f231540c6f8413f6c39d76b6698da7f790d5821da06a414e80a46d3db02dac69c03ac6450917515e0457aa3b560b86ca2f6f3f368cc4a751e648cb359c8da71dcef4596d5487af48f36c18b39eb376cfba2b868b78e9a639e1772afaebc38562866992041c07e85af35a5bdb81c3e2eb9c5f2b851ff2cafc0576b04f92eb22ef2f9af9fcc5b7888cc08bc26dc16bc7ee2fcbd5967624a7d873ac00f997d45c0f2a63f5d4410166811893a6ecd333f8734a68aa183fa89073b98ab61a40edd1fd1d0ee7dbe88a32162f40f - -COUNT=33 -L = 2400 -KI = 0255b1526e72b597fef03affb8aaa9e6271bd81899f81cd5a85c72e3683635c5732eadbe0ed0ef8594180abbce5ddbfd -IVlen = 384 -IV = f5caacedb124860c66624617a82e96498dc0e6e361ed9be391a9d9c0769449d10318890cc357466f1fcd240ce70573ae -FixedInputDataByteLen = 51 -FixedInputData = 3b2ebf05403917e35348a9b54b35999cedee7cdc34243a316d0b24c4b0443d137f3507c4f26d47e79055db4332520a51afd710 -KO = 4566e56134a24ac7430d482dff56dcfb6e95b1d39249d58df840c6c0e936c5f604829e55403bd7a7785fbd743e445b98e6ea91d0ae41f70b9cb0ed6979209f1747c4b6507054aa6eced9d8d0e84eef8a3b8a78268af141d38f01856e375df2a5d1ef977ef51d1fb7a69bbc5c016983cf2cec645135a4da5e3a5b8c3dc19406bf6daf8fc5e47ed195af050cac00b6fef5dd75343dd3e68b13a642aeffc37b7a96b6f1955af81bf5cc1a4e2785b5d08aaa004ef89fc9c62b2f0d41ad517cde31b51f78ffed3887eaf2bb32b0949f073c23240e53d266cb54002edd1a396eeafb440a9af64a826ef1e244efb0ed99be5d0de5b21245ff7af5aa9bc392fec892d66f8381d5a2646d3cfeb85e0d7b29d0c0b1128b0a4cacba585bddeabad94e7068ab6a470562c6789b725171871e - -COUNT=34 -L = 2400 -KI = 19e48fc86291352b36c9904e89f39be64e988f58015c27912ec4fb967712d4bd1178e6e6433824143aadbedb20f9c99a -IVlen = 384 -IV = 1d9b847e3a58b6074dd15c903b9d3df3919f5548f56a967f4b709bf0a4737d35f702e5d198c67ef4b87df97b126660fa -FixedInputDataByteLen = 51 -FixedInputData = a1c4d7e3101f2c50d2d266a89b2d5dbf1a6dbad99153a408c21eda26abed1ad92cbcab1e79433a7b9ab7ca4a154dfb7a2c5442 -KO = d323a2cc1bea92bd9f237f73411a0e3c3b77cb7aefce3cdd59ded4e39787e7b5db6fe4f152797badf12bf05c6f52a05107661ea3dd24e48a1a5b14b934f3bf1e78e9cac2539b63638106628640e7a13118f3acda1708f0e75e6bae09c38414bb0f299a0b83b8945833cc0df14156c51249ed3651b506b5961676c2284dfff134aae66785884e55adb36bb660cc2d228977759f0b573155d7d3b1c52f450d6d5b248592bed5d357a587f8e2e21fa82a2fa28d271aed28cf8cfba1436499336fc82c62cc88b767318d6aebb07b1662775c969a19a799b8ff617123f67cf452b140b86b1e343a861608c4223c90c23b7197fd53b178dc789c84e34d873bff0311ff96c671562c2fd7089fcbf6ad9165b7540e68cb1702ff1a3d030c2330dd8f0b891166104c4ec8b6ee3ba81926 - -COUNT=35 -L = 2400 -KI = 12e77a92372091a63d02e269373d9d5d88cd29637983cd4eb841d6dcc2a3f0e284fe2e5dbbbe3d3f5d1e860f976b3209 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d6bae50cf3b9b506856e5ffb69fd9d5bd07b21c5960a60c8d4b8d62e36c13100dfdce53ea292361ed4a0b72ba2d9a45cb00968 -KO = 6838ebb820dd8dcc5cc048263ec29c699c1dec130d4034bac498af943804098ea6f7034f3183d8d458ba805b97a342aedfe7d43de5b812aaf198b8ac54e677b6c77d836f1cae800154aa5993748832fb018448fcc92516011fbbc1bafcb559aa6f00e25cc8adf17faf48af8b7c6224a82ca5641a8c122f26d61a2aee4c5aac1738f6c3601d2789fb5d268ef58f724ee12cefbd8f99724fc8846499f4d5578d507b9149b26c416387462926eff281ef34c429bf2ba45a33a3f1f5d2b15c26d57aa833464aa647ee45acf9cd355b176c4d77ba83cad64c4a2a568a5f695bd9a31431330a05fd681e2e0e225981c49f91e05f5fccdc9fe5d24b554a0705bff97c1b9fb8052baaa21d958f10481efa629e1a80e8dfd01b777e0f3c72075f4518bf580b219c67ef23ff5d8a0a6dfc - -COUNT=36 -L = 2400 -KI = 750cb612d6f4deadf541422bf9a7492edad8288fa73a010607163dee72a537dfbb9710d3776b1cdaddccebbe378a6ccf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c4347e065d2c60103322fd9bcaff52f70385f6c530dbb06df865b528f60f7a83eb1d65bae44179a2b934765f2a8c100f8d4007 -KO = 07bde8382c59a55f5bb67afda55668a55b0328216dcd31dae8bc7c121cad3b77abc65aa93a398e282c773aade4d3416e71c82acbfa1ce36cc96f683c487977de5e71935046d746195584c0115f6e017e0c012e808f7a340257763cf4f0f647620565f4fee74cfa827b48baa1f97a4bbf60e3b9ab2713aebba86f94544ba96d29ee24de12ca45f093d834c28bbc5bd96f57c3408d65f9eacae8db22eb6766a9de487338f5889da86d75d8e93fde7912754c8d31d8156c637d38d3d9f2d91a01b92bece189c3dccf6292ef87b8260b0c8410140e36aeb81c05c291ad2cbc1f306936cbe713f381069d66de317230b5801026a50fe88949509fa673d20bc2e34704086efb32c88ed0c47c8638eb78adab187f366ea5c77bad8706188e1a1fd6556ea15688a9fd7d9c1058ccbe96 - -COUNT=37 -L = 2400 -KI = 705e1b4161f6139988fe2a8d54e8a8d0a4696261b12347bd966f791f2baec82983724b73176ceb5e2d8a432b9c056076 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86c9cfd345cbb86d75229baf5d8137034a45973db2334a2d033871b8b42775e9157f978c638c362d4b11b0022049c522c14821 -KO = 1cee32bba595f1f8a9d93de3ba019b349d31a237da6305bc926944f691d950856f19aebb67bf297fb0bab71068f6810d70b207662a825b4d78a554f5ceae229f2ccc20d62312b30094dd1fb6b94dc0e01db1d898fa73fe4b79ce424f369f589daa8df5327a29614fe1d9a9dd26bd9e54fcd26436e1a1c81eeaba7c4169b2100ef44515b289cac5b9b4aa22f16dba09612c72a528c0d48d0a7fcd2f7d4aa3314cee025a975f5fd3e55156e9e35796867d2eb36e2d1600e059ddb020f070f940464e698dd7b331d68df4bfbd806dd98c1bf3f443b23e319fe7b288d9daa4482ca41d1c2a7913ce811aeb63b89c79140cb8382a53782c1a9bdd10c4fa29f14f7f3f21efd9f94b8425e0eec0b2843508b691bafd7cf036ffd893cb9f3a51d3a25ffa899c8fa9f8e47fd60b3ff8dd - -COUNT=38 -L = 2400 -KI = 7e68c482807bf26648928d2faaa09598d05f58faa119e431034d559042ed58a595bab09c74d858cacd004a75b7c71ccd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 81065e450606a70177be45bc99a669ceb4f14c5eac730cc083e65cadf9f07bae40553e0118221e0fa519710abe85fca80d1293 -KO = 788534ca3a70226e7fe405ce38f9073ab0f68c5969a8ca2ce1176a3842864bb1bdcc1edb9987bde4b0db7b744a858f4a88125937c9ed9fb608ccf7894cbcfb88b694be4166030f6c71502b234bc959fb3abb35b017421e55c8dffb0665b2b843b9a86c50e60593c2f289e67dfbd6bb8244e7d10589025f207d238faba1e0f247eff8734c917f0a09c619efb16b18de9c1e6d292b17eaef6e83631aca5bfe9d530e2ef82be4a112110d979ffe8c5d01dfe50fe366d040d7617c3548ce11fae26c8e8b2f0e968963d108937531aaf016796b16c9862407cf4686176161f4e5a0b891fe4289eaaf6f7c254bbe6719ec1c535d4259311f972881566122d2975a3b6c9dcac71b0b2f6d6e0aa9c5da8eb61ea716f9dddfba6621a21d7110edfcbb575faa9efb7b5fb315a435f5d27b - -COUNT=39 -L = 2400 -KI = f3a8d517a873241707d166f525e18aec7305e2e7b043324a1266c9789941927cf9ab57660b19cb08792e800922104e66 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92d6147b86b560e4d91d16cfed2fc3d0a37764b3a7df79ccffd813fd3909c104a5f36c90d3b62dc3ae96dc116265579cc9056d -KO = 62af24af12ac6e2fb41138a1bff22e06362355b4fda47ed922711778a4106f21b1220221bc08e63e4f69793984ac6d6dd22aa8bfd0ef5534454096a732bc3387147227db092c71aeba26b26d5d6803cb68efce3016021a22feb9d5ceba8347520aeb34f59322ea6f30919de54ca5d680849f37bb7a415f8169cc83a4d9e7519bdbdaa5cbfdda2f826923644d93f6f3b0743095adb9ba70920fb6c6f9faf3a99cce5c7e2f279271ca8e449f69dfa45dcaa45e53edfdc485791f19be1f4f240c150ae468887e13ae0541f3e7801a9500a941ef2c75b6cd21d13f08c8dd8fae4db23a0033896eea084b89b8896337e9222217aa70aaf993c2da425e570c0b0406cce339c8be98f02703d4cf9719e7a0edefa63a0c2b72b2e31258dc95f4a617df23060675fe00834c7123be16d8 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 025265a7aeb80244dcac2c70ea8e5505fa9b45c12655a3ea4ed7ab597be1a0d3ce03fbb42ccfbf3571c052c1842b5487 -IVlen = 384 -IV = 13138e950c516159dc4b7086b3c18d5b9bf474b33fa31b6a5c1d3161e0489d9e976f760eb95a1597ac9a6ebe2650a921 -FixedInputDataByteLen = 51 -FixedInputData = 8d0c676880b68776f4b874f648637582de9c6b943d710db49a0130ab732e6d801a784dc5f83726c6b5ec7e7b2f0ea0acafccff -KO = 4433110a5ee84e819fd236730b0fbd24a4b71def696eeb66df1dcf577ee017c7833d1b16dd9681fe454c36a4f7996dea3f1c381368b5f1d3bfcda4f004ee314e - -COUNT=1 -L = 512 -KI = e0f8f6ddbdaa6f76b633f06ffbdcf4c1e5fb90fcf7715621dda1c6ab40a8bb789d17c78990e223e7de25c2014900905f -IVlen = 384 -IV = 2f7bce28057cb3d0d6e8a8bdee440675d462ae0ffdd74d6914041992bee230a97de42aba55589814d3fc3a642d442528 -FixedInputDataByteLen = 51 -FixedInputData = e5dbdc9682c23bbb1b4c6e753a33458d6ff11f5fe0c2a24e416d28f803b61defa0fb38347c261ba21ac39785a41cb949e7bab2 -KO = ae5f3f16f7cbe06cf600c8cd2050b48d349669807edd22ac4392fa290c3a24e8cf659d9f70b15a22f04a730b9c94d6df28c60611f1198235c5ed36eed71c3791 - -COUNT=2 -L = 512 -KI = 3de545dd6131a113a127957ccc158b9b4cebb243f8061e6808cfd95b8569f0ab0d5ba2342983709459e5019228ad402b -IVlen = 384 -IV = 8c8e4c78b58628b426c3e89a2da8a56229c867e79a5d84d536abda51aa341ecd31bfb9696de8ba4207b8d3f10237df9a -FixedInputDataByteLen = 51 -FixedInputData = 5e4f24f702399e5eb8f2b742fb24dfe88f5222f114dc41ee502da047cb61c00ad5e2c619b23d7209422b96c94d977122158cfa -KO = 02b974d64ae770a569ab800fb8852e58fe26a0a5085532c8c7182ec56179d1ee6300ad97b446d51d76e1fbf602a581b0dcc63e0695668cf7f77cdb9d369189ca - -COUNT=3 -L = 512 -KI = 4767af65726f3eb7b6a8cf62a1388b41b67c49ee47ae5fa4d6e37a155ba0806a95dcaac213073cb1010555654c3aa89a -IVlen = 384 -IV = 9ed0bba04f39a36652948288390c2a107a1731a3cf1dd9fe09cf155d12c9f29317a2fdded5c49c02bf6d38259cceb3ff -FixedInputDataByteLen = 51 -FixedInputData = 4617c87984d2110d6dd50d9de15d0c378a88c3be2231f96993e930d966e69c6bad90e5575d685472a18a988b59bb3fa5fed5ec -KO = 2620c4bcda38a1b70968e88834677163dbf84ecfd36cee76b3474c293309bfd59829ed8bad7b8044ce0ddd715c02b8ecb2894d4e59615647a5f7826d0f66747a - -COUNT=4 -L = 512 -KI = 581c23a33277658a72df6b94842941bd454fa66d93e1997945d2d5adf716dbd757cb95857351cd0edc134f3aecc997bb -IVlen = 384 -IV = 3080c663d72ce7b8a815628b056683f705cda850b61ac1fcbd70baa3562a81674b176157f1670a51c04f6c9d02703fcf -FixedInputDataByteLen = 51 -FixedInputData = fa15dd3746224f06c7f9dd038c912167fee7d35f0647785ddde9577dd6e08f34413b783dd0be0dc011c0611f741de2eb074da1 -KO = 1b570140d8f401ce6432e559b22a88d3999165ab22a5146db30a1aae85586726eeaca0ebd62998d15a5a30330a64f3675593cdaf2055749d9fb854bf6c212a68 - -COUNT=5 -L = 512 -KI = abe2fb9dfb6bdec2478e522d8b431367219b3202cea6bcc4625f4e653f697a541f1c5be3d4f383cf6bf76cb74f8527c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c23dd3a7c94eb845667f4391bfdd1e0f8b91c89754a041aafa66e749451e9ceb5f13b53c7a76c30a2c6acaecbe6647c3e9f4c -KO = 7d445a157611d964df0bfe88454e9b9b74fc10fca3424a87d836dd67a847aa1616fefcbde9ae2dfaaa00fdac0449e492f4ebd4dd7b9a2faecb90fc2d30046d7d - -COUNT=6 -L = 512 -KI = b750fdf253c343f1b770322352812e8dd78747b74f2760e05babb2c0869b25409b6b5aa893bb0883d31cf2fb027c5296 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c7333f7e81c73f7ecd6825f465192e54c990143b934f7db78d5d28e813a756a1af25aaaaf0ab0c2226bb713cecf1afd4159e8a -KO = b77855bd742eaa4ef24a8c98651b6c30218beacb855b60ce094bccf3deac2c26deb8cf1e70e1e0122c19ca393f7d4223cc1cf2085109cd7d09f71790652e105b - -COUNT=7 -L = 512 -KI = 0d9da0a8cc34aa021262aa8d99e9d329f671014f90f0e581043713ac3dc607cfa7f8a1ea7ccaf7c6526d7d76fd879427 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1e946a985fa556cada4862f5744f38392560c661b0337edf1ff950796aef1d1a0c49dec24f9e29471c469afb8dd5f404f8be4 -KO = 7d5974404b486295115d172fbdc0ffd2b530904dc313c162e9104d23fb17690e0789ae17443341b74f5c36c00c273d6df272225352684a7eb7501e9f0df0c141 - -COUNT=8 -L = 512 -KI = c46eb2e4d05f44b3129c1474a8bdb4b953a290e97305599738e59d570a8e988262213c6fb634ab19c56716b3d1cc38f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 356d8994b7c899615c78925e68a793938b87dbcd0ee2cdbc603b49997d04071c18798fa9b7a976ff74d4bf1769ef22fceba5b3 -KO = 27a1acf20a4acdce1f82cea4a44620aebf8ae0b449697441fbe289aaa2a6d480a7b9c3a15d3487edd62310146a0106151099c5d21f117aacf7d5eb856078485b - -COUNT=9 -L = 512 -KI = adae88a806f3362a411145048fce9958ef22b4bee2c6f59ea8d078bb7255b3919322af861f46c3b71075e6558807985e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1dd1685fc2d2738c97e34f9525e1c2d53b70670a6a3d15b9da627c30f36cd938d3f7b75401ac7f5523ffb659e49dc65ea4887f -KO = 9a38a67675161e009711bc202285363bcc68244576dc6801afdb7030a5ce1ed8a7837840df65d25af9ab773367f71f9f7be101f86244cb32ea54f5f9e6288798 - -COUNT=10 -L = 2048 -KI = 66f57da5f8a101b0fdcbc549b9df95acf278bb30a843b267261dccbd939be7a2135ccd4333ec27fa09d0ed8b41ed3312 -IVlen = 384 -IV = a220500d6089b1900735c24d0688b2e0821c142ceada850778eecfb70124a73f02d9d083aedd06f096dfff8d545bcf9c -FixedInputDataByteLen = 51 -FixedInputData = 1f2af01545205985da1d3c149a543490b3652161deb645c8b0f089afa9372934fcabf1222bc6aa08f775f89c32844ac8f4c52d -KO = ea64b50f6f000385e94166017aa9e34fcf63d9fea131b5f5795c00243fdcbfd78a978c41a6c9b107fd2826b1b6cc676b3dde12d4b4598525447ff1dfa257592110a4d9aa665c36983b85f57a318146062affd067af8e37655a1b18ed02fc4a8eec1f8e6f69a2f13d6b2ab368be11550700cdfc798a2c055b483536b995cb39a886f72f8711f3ac7dbfc9efbcd0543e58bb8f7f4750deed80dff49e80edcef496f5a39d071f6a481bc8505c3e1d8c2b137c00b40650ce33d498df7acbef60e3bd2df55d66c2330e44baa10a726e42341e6e8acfb933d4751c7cbe3ec74e42a7835e3790e67f5d3de88669a8c2e29a4c9b6b7adafb241acb41df3c09c578877e57 - -COUNT=11 -L = 2048 -KI = 1a8ba1517aef5c6c5d0031cf9312a90faf85795a45fcb765a65c1bb53a346ad16645d1aca43abf5e294fda945b9a7499 -IVlen = 384 -IV = 306642bd80824cc18c708d80d94c70d978c270d2d98e2e575065da3cd3762338ee130840cb30733a6a82e0696bc7a694 -FixedInputDataByteLen = 51 -FixedInputData = a11586d223626efa41d5d40387fa38e212c77d9f0035df64169f9731a72fd5dcc716a9667709abc77ac9f12484c712d766b568 -KO = b531c625e2df181b2580bd5b0b94ff12884a3a94f5d6bebf9ff13e340e64b6b72e5d12b64dc8630f9f87ed24c1b6bcdb9f7faff9bc33aff18bc9fd73e07a66a67ccd24d318dcaa94dd013694bfa9f774ee5993a81a62c34500be0f2239b7b7a04af422150e8cde8f0554d413ea24467672b05b5fcd90f3ebde2c284a5fd60e734bc5fff056fa123312a8b8b64a775d4cfcf0f9271b3399d23a2c660162352e59ecac46088f869ed42482554fefe351f096c6eb8256fff7016bb22b9de264f740e50d103c83332af4585a17a74db6ab39fa2c8bdc74610ba2e3576cc58627860b627ae10cafff7d2dc5087ed89ed3ff307df6503333eba010291a9452466a4e4d - -COUNT=12 -L = 2048 -KI = 6a0c40d15fe7d84c65ecfc9a1afaf40d4906ef9abd656169a7a82d731f4be370a93ce34e346af6f5c5056407609ce812 -IVlen = 384 -IV = 2815f3abc86fa54809539c5cb37cf285a806c13ae84c63fc37e855b33f5f6cf19b136686fc1dcf516ed437a74d00dba9 -FixedInputDataByteLen = 51 -FixedInputData = f1e35fc7fa35452cbf597467514a7b6185017695b3415ccdf2a94e2bc26a0469a1f1c1307128adb7381a4358e0747f55f65bc8 -KO = a423535c86932c0977457d1d8fd4b6c605d13548ee898ae18ea93fc47f65123383f900a111c949dbe8396656ade02266914aaa51452de104460ab532b71731c04a3a6ce61d61cee37ceb406b1efdebda068b591abf392808e79bd057733e5f91135b15845a919376ea2b89090711edf593dda20e91a61eace9e70893dde542c1c3cbac484f89bee15377ad042efb1fa94de3272d306a2e9f2a3c9ab907432572f06a32438d1278b41e56dff7019efb547c38013322262bc580d6e38434f3f72020c2e5550342a1440dd96a9dfbafbe775a1bc721637eb38e04ef1c8276a8dde056d38ba20bf2da56429d4a57b561e40ff9eda22e7e903cfba87ddba6e5c7fb93 - -COUNT=13 -L = 2048 -KI = 86875453571c708d7b886957afe81e75a641e3ac8e07305b403424eff578964dcf5a810c7dff2a0163f21764c24ea5ac -IVlen = 384 -IV = aed1427ceb681cea9d48ee43330b8368ff2012b5da1c9312405e3dec9391a245d620b6f071fe81dc40c811e6d2c6ea8b -FixedInputDataByteLen = 51 -FixedInputData = 4cafb7692e8db3287aa95889c430630ade1bb139fefc3e6ca371834575b369a8878b253702cb96d9b44042ce0144101450e6c2 -KO = b52c35cbaf51d6b007de4d16ffe602194aac91d3e6f821b921cf0b32abc8d6578fd3826646dbc90f2e68aeea7e287d47c31dd35683de870355dc4d23be36b7abdf6826f39ac5f21319fcfc070acf23bc012dcadc8041959a9a5f2775ed973200c41e1360a58919c294d14dbd17fe0059e7fe39049d496b8b9f3aa33ef34e8267d4794bcc4c530921633d2c4c7d840957edcc22c2cd8536f87ef9c9ef4a94262e86b33efdf43fb3d607d0159fbce727a251e387c4b825a1ed6434d2a26efa009219c52e5f2b8a549a7634e917a48459d833c847a394f25f48672822b2aeece9f32ca4edeae456d33f660c97c46d455525fd9837e888cc83068b19e94b6f2f5b28 - -COUNT=14 -L = 2048 -KI = c592d1e4cc09f855701d65d3f7fa82dd480138ce3b25b000ab94e429b23f8bf7c1253004b3cd66df430a88216beadf77 -IVlen = 384 -IV = ee984c4b326e6896b8fc1c2a60404bbaa12d338d0767692f2edb6b5df4c6b19d661390f2615f10f840d438cd2b235ca9 -FixedInputDataByteLen = 51 -FixedInputData = bcc98a836ff8011d11f1f70d04455ac0a421a49686484b124c800aa2db9213258e29f402398f45a5548ee980256b3db3aa96d3 -KO = b55d9c261319fa5d49d2d75f991c528730fed307ff34752dcbab2404b1eb7fa0c7c7eaae77d9d35416563d81c43ac08d9222a5231137e8414dc0fc32a8e026cbc73bd20207757d73ed4d124f5f9d8d30f275d67140a0256bd4b899ef52f2fdcbb89497dc09f245a36e0c30cd45dd24ffd473ac2ddc7883f0f9d57b7437ceaa93d19b5df433603b5ad99f1650799b1bdda6da53387c807d681ac9b77e89e42c6ea78895428b1c954a9a73f1e0bce812bc423b5cf79f4e84dd75381cc50eac8abf8b7d5197b4f98cccc46d4e0163b7ed893cdcfcb8e79fb178ea732766ba2abf19283d3f6c250370590a12be36556129f1e1e479e9f00f862cab77b3fb748c1ea3 - -COUNT=15 -L = 2048 -KI = ffc0216faeac1957ccca4c6ce50466b08af576a0c178ffeff18daeb0fb1a2c7b66df058850364af589fa51d29dbeb95f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c60572c6594fb05332cd56910aa83f2b1be1b99ed4299283db5cbdef0aa2a455ee106bca4225edac76d30255445b555786f79 -KO = ad7fa07486cbce6231d6ec9ba1294915676fc410fdd74e78925548c5ee5543a7470a7bd7bb9ad03b7fac0c609db4312670213fcceaee09979b19eddb8aff457ca64b2b84fb05778ae33220cc3f0fa2e16b009cf1952ac818a05fce1863d12d19a3ac0e57abe503fa69e1703f171763ea0090df1539ab6897e8f860adca05815ff1a36dcc87f85e64bfe02f09284ca8c027b5275b63e6a358bcb67e61eb45badabb6adc5706b4137d87f8e7087d6f2138778a26573abc2046b99ad175b4f8ca2dc56bd9b7864daf8ad17a4cfc193c20fee010dee84032364711c833f213d66fc310465f8e6affe10c6cb42659eb0db1949bdf437d82217161f5d35084b6cd05e6 - -COUNT=16 -L = 2048 -KI = 471c4eb87c43b04049125fe1b8930ec4e725d3b67af395aa9c1c8a7a9d5b1c0ab74adf5868e11cea69a1447f23c53818 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77c7cabc58ab3f80fb43da0097d1cd20dfc905e18c1bcbe50c3e8e32f68e162b5d8c2561c86e78a5c5f61368da9800d4ee5d1c -KO = d2c29e920e2dabd8cdff9390a1510aae3db60f3a8fbdfd7b35be2ae0b3c8978bd5e5e3924360edf2bbf0ff2ffaa75f5c0da162f82af589ab4e554f407a094d62bb9e2336ab1ac2cf8f9dd01803d397ecacb49dd3eb3c8a9b203bf06a451dd59fc797f37035086878c145db5b4a6c71b46a1d6a28fd6b5cf45b4fa482bc2761d3f86be3186f793fdb375b4e9c151d1c8bfd29a2e60ec8367d7520f44ebda8532866f932140119bd623118acea63b9a1d580ddeae0dc775a57e282949315c6d4c45a0fb8ec4734650a5b816094f5f92f59d6ea5718053c43a06a2883e2e08555a5ee7867f3fe0bcfe05f98641a44350ff9da50893fb27756e08fd1f3917e8472d6 - -COUNT=17 -L = 2048 -KI = 672038091ca5ad4b9ccf5aa2202927feede1c5da849d46992d056ba98db7c1b3800c7b2eba56b80591454873a726b891 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d9be7768f5cd16cae27f49b4f7de2e78c776491e78ebaeb25dbefc60a4bf1f1b2a86491576e86043ca2974b7ced0053858c90 -KO = 5e27917569e3d84fed48f94c86dd804b1506fb23f24cf9c5ac98b3ef96fea795f6524c2d0578f3b8392649b05429d914dd861e298eac63b9ee125cd4f2fa624bf92214a80a8ed5c61860f42b3fa7d6bb1316b9e8b7df6a122ef35d88d2af29c38140015769b45b0faf0dbdf3c26603a13fae6bc7d9aed9f2b305b2c7c91b7c6d69e631c90b4f70aec7b985902cc7dc6af9826e1e9bfbb3a76798cfc6e55f173df8ad91dc05dfe5d92d7c83a5fd1d1ea51876bc6a6ae30468b707dc5636ef198f77bb2b39cfe0668b7510c3b7fee812e855c7231e66b173fbe769bb87f5b6b3ca1a331fa8b27df502b73adbccedf3f7808ae1899ba4101d67d8df5f6a3d528acf - -COUNT=18 -L = 2048 -KI = 84ae733558469a765d5d0ab513820fe60e456f00e6c714e49ad67ffba73d0d44a0f0eecd3c57342d55f62cf011951f9d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 47989db5694e585df7d3f86b58153724f5617877958738b73102da3ca35e4af5440f00ca33c5fe646a32b50e18b582cf2bf3c8 -KO = 4178b3c2a83cfe3e940d0b62a102a724e020ecf40a8a11beddaf6c51911797d7b5386e413ebece327f3ac7f29ac1c38ca879b9fc3db3635352f72689a5ffb658ab10efc8e65102ef548e643d93b0389d44d3f750ebbfb8455ed43b850bbf6135a0bf70e9da744881eb65eb7f35f215c58e83c94b0e78b7c73e644cf9278a74f0c6ea3a1c1f9913854dfcc2167ba549292f8ec364d2dc604f782889e4e6fd09db4f7b581d8a41d47400383ed0a90f8e80ca643671e2d87e13b3f55d593f920890f61aba23083b8e523e18b5dcb790f078bcd075764830113592a4ce6005dccfaf3fc3499bd29938e4ae8d65428baf19dff02594c3e2903eed19cd83fe4def4daa - -COUNT=19 -L = 2048 -KI = 18b2486c7d3cfde095e98a0b9fe3c8273f37946f2f496b23d15c5c7e8949a9fcbd87e6e165adcf60e8de7163003a2631 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c81e46aca4b005fc8c3bebe2339b4612ea4c4d1a053a78457d6b7ef4f056233c1bc574f1be272689de9ab162a65fa36c2efdfe -KO = 1d563b234e489835c4cad573d76488113742d46914e7fef290d7732c1ba3c9dec09e7c9420a0e0cb044bede6119707a44a589cd3b65347bc92395b099a2240190684e3fb32c28302891e3e30b07d108bb613cb515dc9179e3eb896b4cf006a7a04c9005830d070eec06ecbfc0e6c49df1061662ff8347e10aad2414289dd9298b8c1f47b88845294955e69b5739b7dd0c8c2b0cb8d9c2f7665f2e14362618aca7686d2e1adcadb7fdcb27e9f560adf91af95af70d977592ea55775ca9d01498b92d8ee1221b8996324db422764f20305ce10df2c550667ea3395147f2f0e94bfb15364924429a642ca14ff2572ec8ab872f2b9e7e7d1db4fce6cc3e1e940301e - -COUNT=20 -L = 560 -KI = 321d5e71be64c73093b1d7d65f90311903e82c1872cbc8cbe98d644996903946ff9c8d5eac7b20e53198f0b141761214 -IVlen = 384 -IV = a3f591c21914fa6ee90139ac204e65017091c9f04336b8e6a811d3ef4601522b17bb4ca96c83b47f939bb1c0a00fd8ca -FixedInputDataByteLen = 51 -FixedInputData = 08d57ffe2a2d402f22cea059bd0fa387f5f08c8538fcc952698822dd3dfbd340ff4e68652c75fd7314b5dae33d449891cdbb11 -KO = 94744a96aaf8f8a08d75be771bd44189f8571f594b87c743f9d8ab551635c80fd9599a623088318c7694c5b70104dc30955e46efb7e3cf8aac2addcd0bb723b6ebbf96f35855 - -COUNT=21 -L = 560 -KI = a0ab55cf205f358b159b87ecd91880fec5a9f7c1a5bddac86eae49aa555ab787d09652d44e6612e83011ec679c16ce27 -IVlen = 384 -IV = 6cc00e395bfe08097a83e18a305043b3d77654cbc2a2fe769b2e084553d8b9c754b840ca89d10884dcdba7a8aee33ede -FixedInputDataByteLen = 51 -FixedInputData = 3e317978b0918f1a11c91ca224e48e62e0fb1fb0515cbfd3b9045e1c19c1833798b0058803019f0b636d33496347ca167d7b1b -KO = 05d66ed807270a35052637ff3af87a75e64b6afe8e1f981ac977870599426fbdce1c847f5178a5a5ba50d871131cff3e5bc5c7f4892831c8bb0571d51897efe094a6c8b75276 - -COUNT=22 -L = 560 -KI = e85680b38888b69205c3624cb22e34539aa520b101ccc256544da5b25f92bafcccafe530633d0c06ddb4f135a171d8b5 -IVlen = 384 -IV = 17a83ba2324cac2f3a7e947e492ae7908a89eaacb4838d38866933d53c35a6bddb419c5e027534a705dbeb4294c1648e -FixedInputDataByteLen = 51 -FixedInputData = 5372e1639aa71ea4afb14d7631b5d82ffc7b22a095a0c263699e97c9771d8b914f78fc98058dcacb26eeeaee23f27c49807880 -KO = 1aafc541c5fe961c2aeeab5f3f62b40f44f4430b2b8443a0e6f9e7e17f1f43470eda6d85a31697f2fc70ebc072e4d3bc8720ee0cb56ef39a3e8754a0cab2f634dd8964d85c68 - -COUNT=23 -L = 560 -KI = 03f805e8aa7e9a49b410327d83e1b43ab6ec5d8f810cbe0287b340c92195ef9ce6043f71f0bc78cbe3b830d115e97c29 -IVlen = 384 -IV = 3598dd03df941002cb588f4cc61177cd621d567c4613d65a0e627a933ada9f5f17ed732328109342723a0adbfbe6d086 -FixedInputDataByteLen = 51 -FixedInputData = 7cdd031ba368896817fdab232dbcd09fbd0d337521352e1f9fac898602bb18448079343ab9c55e046779c91afe1ad3cadd3ba7 -KO = a6e237dfe9df191d37e49bc1e98f7f45e3e0c9bce36c11226ae207c081aa8aed2091b1fec6921d9b223753785b23eaddd1932a87fb04e40bef862fab0cf477013b68d8b91841 - -COUNT=24 -L = 560 -KI = 2e55132ad27d9dcf14af2d7ba4b3270266a4b2d4ecbea65e2413e11e9075f1ff5e99734242acda27c67e06d55fb77073 -IVlen = 384 -IV = c955da5cde17803c427e67a8a4ff9f0c5c623c94a2a1f78d414e17388c9fa61da4d694399185b6725b6f0dbc45ba0b80 -FixedInputDataByteLen = 51 -FixedInputData = 9702607bba6432d03fecce65f3034353ab03b56af90ff3c9151dc1ed19da23fe311c85bc5fea51fa15f6968c27d1d547c7b2c1 -KO = b0dc17f94fa03bff12e8a8c029bb7dfed8f679eb2c6e74959316676acd48ac34999a48229c6d8993ded89bcf1e61bf48fd0e7dd27a482b978c796d5fd52883f409bd75dd8f70 - -COUNT=25 -L = 560 -KI = 6a410ce2874af885477b43e189e76db5159610c8eefb7bbdfad68fa0142522644fcab6a67a044822dd750a7633531498 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 08e6e7260d4c99268710e4f4fa67a719b52c7c9fe52941756e4b27b1494df6f2306a63bb50e01613996102105ef9db3af3c8a0 -KO = eefb96e7e412c60b01e0e990fcccd10e605173bb4ec0548d899c1bd5423be98f33c42447dfd1097db91920a9b89daf339bfcb1ea9827e392b8d1945ba03b3a2ea0d2fa481f9c - -COUNT=26 -L = 560 -KI = 13561f4e90aed111d0183b3fae756d8fd39a5933b1f08338f833e8880288b2c123d5e6dfad319f0784d8e4c84ca26a7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d863ba30797e806cff95276783730b3140d7c463a11aa2caf4bcbb6e357878b0ed1c46fc7739c29dd3c5e51b189147e844e24b -KO = 5b1ac4bbb767e68932b0a8b67182f34bfe93b603c2e43169e6c4672fff7fbba61ddeebeba24acd1dae558b7386ed273ecd8cee71abb47dec5778a027b1942d18f547b236be22 - -COUNT=27 -L = 560 -KI = fa7c2a075176245872eb73630e7d30cee4c5c607a4eb48fc56ad36c3f5db4075f082c633508432612b9d8b79c71a44bb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b6c79fdea264f95ad6828a6d5d4a425bc4ccffc75b815ec59c7877775e21dbb6e0e80eb87582183760ac8b4677b572276e48d -KO = f1c2257e7ae143255c69338ed4250fab190d5f73eb7295075b1180602d96633dab05adf096f952b58b520d7a7845d9b6ab684fe2dbe3e6b6db058e665e9bd2ad87231cb5e367 - -COUNT=28 -L = 560 -KI = 37ec30c0b4f840457c351b82d810aba1d70924bd66c05a4bcfcbc58b9fe8ca49192f83a4c277e287eabd3658406ba9e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f91a0e4e0ac02711199c3ea206f2445fb7260a4303e1ac0421b1085aa2e0e74b6e70a283ffeda3e7dff6e24a1d227a6734d67d -KO = a99480e29360e567568f35b9fd4f76afceb94d6e595a7459f38a25241990a7b794b1ee16bfa078fbbc7e7dc5cb4a35c30bb39a01eea8e3550aefdebb04f994b5b849dce639a4 - -COUNT=29 -L = 560 -KI = 8e0e42595c1379b0cb725f6fcaf363d3abcbaff3ad39d158586f13554f150352eb2a2c52d3216664812386e566c4c432 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d4575653577136d57eb336f6efb316813ee1473e6e76bf3e9d13f363ae9ad79923bbb6d0ee5eee94027dd65ea772a5ed833fc -KO = 8183b7b46740ec6b069b5230195bf090db52617e86503c067c8de969d2359e3a8bef4b6f6492471bbbf348d745155aa7f55652c2966caf783dc8bf42d3e287120189dc42031a - -COUNT=30 -L = 2400 -KI = 39f5189928e767f80299c9a06a3615b839553ff55ca73ff2b2349182575e246479b366c0fced8a467a16e18e9ed38485 -IVlen = 384 -IV = 492bd471e9284465b4b4e109a43aa73e3e62ef1553e567f2b8452e49920d40db84457c367300fcd787475819ca3331dc -FixedInputDataByteLen = 51 -FixedInputData = 9edd5d0b559f78fb9fc34a04abed6f1e1a425bcb54f83cdb199ce0317f545ad04661fdfdf2e249d59c941e76cafe5e56ea9bd9 -KO = 7e858bee3b26f9ccd68ff770d2b82327ed9db3cb77dd63d470913dc73a625cdc1ad58f49444c6fc26b06a0c530650d61a438e74e9b67354b6bba64ab85e1cdcdf1bccd85c2492a0fdecc0c5dc4c470bcc152d3f69cc080aa7a17f227aefdcfd5fa6364dda40d3c8c43d0ad9057c6249595fa12fca5dd4a6f6f15e3f4ea212891a25347899adf8841f1256a39c79fbc3fe83700c003b887fb32ff26ea89292d0b782a35715971b8506cab581acdb4eb6df53c08df879c2a72f902a0554a628c4972aec81fa21d4eea269f21f74fd62a67a30c0ba335cc6add4964a5a8af3c0b5f0e57aa31ee5d294f9cf5d4d55485db6e61fe14c56d09b246b3c6b18471b37de6fd3003e1c87a1e3d61afc605ce474def8575d454efa6d2a7706a7c7402032852bfaa37abcee7c414e8649432 - -COUNT=31 -L = 2400 -KI = 25fbaef6ac5b1902753f9c6417c94cc578ba9191b331e1bcebc46d0ca5180a618b49ead6a6bedbcf16288f41f9d360f5 -IVlen = 384 -IV = a468d2a3ebf9e05f508b8bdb17e573f3c4eb1c7bff29fc97bfd99f043a82cbb7c7be48799fe3e4e02453f120f83a2d73 -FixedInputDataByteLen = 51 -FixedInputData = 469844adb304d1e185c0f26345c43323aefab08b910d31a86493346ba32560bb6ad175f87e49fc0d307a0effefedfe50aff3fb -KO = 8dcb73f9083c70bbabc2fc6fcb8d351c6250ab465d4acc29a7f93d15a0ebba65dd28cb9395934f4f97c4049203ca73ef27e390e6c9f4dd8322077ec60c2418f48718e15a84c46264991f31d83bcd7090caf08e2a5a06425df8d0ff5790d7a7cd1e572af0edfda7a50ba14e8402d513d9432b246f37dbb4c851c5767f9024e066eebbcc978b5e7161436046257bc5228b7d83c996e836b79bf9f619ff955491c289b14ba6f7eb4703334746f886067ffb84088f9d0af9a8202b161f66b8c46131bc864fbe42cdcad3cd89995dd935481225712f88b76adebe23869aea741bbaeff9f1058c37e57d4b34624b0a4cd04b627773360ad68030f8bddd7dbdf1e3157249da73f20dac27cb7e0e0149e584a48dab21148e921b8f7ffae36e9656af1b2494e162e0f756abfb93b14a31 - -COUNT=32 -L = 2400 -KI = c87bc0f12884cf86decbcbca89e8917172aa794e961d9c2163c54de79c88dbd5c286f7e96356e5bab592e52d8141106d -IVlen = 384 -IV = d734453b68f33d38c7a204665d455f95c1db73d8c71f8ea3edcb646678734906cbb80df784f926c7f8b5e91a2cd05f57 -FixedInputDataByteLen = 51 -FixedInputData = 8dd0163ec9fa095f76c9ef7ac3c49ce1bc8f2dfb3e352d6b3491300fbf8f04535874f11df9aea7171300e137374edbda74e4bd -KO = 2c3004e0068f15bebc56ed947fccb6e1ec29ac592818510ef7612ce9678050c90f54f0bed37faa8cf9cb335180cfb2add9e2cb6eccd7b78abf7211b011dfd6999ea5ac78c8811347bc09d7b87ff33c546dba50600cae8410a980d1cdbc5deec13bf36815101ad819ddcf1caf9d51168475b857e13052a8b4d692ef4378c3fe2d9415a202faff16972dac3d1b45339e1f62b693b5d14ba6416e75896a176aa6ff7b5d50d35dd7d9627e8e844830c61a11732bd5f386ec78397a92933bca3befbdd3c9d8a554a1dbb228d5862b9676846220816900fc43e89726ffe3a38ce765c2477ca227d612cc0c5cb7cc137dcaa874e7a8556d66d38498e4be2449b5204792566aacc03ff15570cb904d25b7cbec9f6f122cccfedcdae6e0a23ded83e428c8bec4a7faee23b2e49e9f2a85 - -COUNT=33 -L = 2400 -KI = 352f7c84eb64c2eeef4fc79cad4a12d69d0716056c469dc472b1d1aa675ecd28da05f328663f708172cab16463fb78a7 -IVlen = 384 -IV = ab1a94c012f99eba5da3eedf07a4d33a39c1b206dc76512025fc5f3b8055a7a84efb7167422d2fb56c64efea7d5abefd -FixedInputDataByteLen = 51 -FixedInputData = ae836e9ddc68480c2d13fc04f6a299077283d0f63e7cac894fdca97e0a3b3bab3c84d88ec5997f213fde6a17d0b47a20164727 -KO = 1478cfac36fa2dd9d8ddd51041a0998c9ff79a357707f78dbee35f338287b42d9d4969c0fcec3d369c88fc512882dc02dc349965bacba0716c67ca30880b66b79d0189cc532d5f57b209d4f377abfd8faf9b1fa3800dfbf229acf8d5316d38f428e9fdd326425e64244c8a520ce07232c5d051e7955c2c849f24a333a1580bcb8e8a5af9b1522f225e3074b1355427b8bd07ca563a10d43cc9aaaa89a0ce85fe0d7e982664e7b9ed6f921dc0f53ad1f4d9f75d92e2f841514208a56c011c91af1c7b86e26e8c63afee1437ce871eb66dc81bf0ac734f7ce22b742d2f4e7c76a881ab1c8ea5d295fa7e97d92b3b6b36991c8a7bc2ea398a586f1040d36c491f5a1b97a1f11dd914cd5c5d2a87384d1762ac4d741626a5d5f646315cd32adc2f5ed6fc19dd7500340a3b0cee84 - -COUNT=34 -L = 2400 -KI = a66addb090130a75c38d7a6f68451343ea725d6f4ade331f1c7c5949f769ebb9acabcce4196aad07821c07bbf5aba1c9 -IVlen = 384 -IV = e3a1494e361b69c3be79fa0a9f8425fb24e1256b8fb1ce60400426eecce7abba290bfcced71fa3058929dbae2140f2de -FixedInputDataByteLen = 51 -FixedInputData = c9a93ea582d604b597689ec4a20c3727f2dc8818c76dd911a4e3eb07c47c856f492c18c6de76c85fd45c333636195e91e1b88c -KO = e3e5630f2bbb602f30c6f21fccaee15846283340657a4efccac580b29fba1f5509261ec17de2a07e783137a842d3b8c0d66dc73335350e03329659eae1871f05ffb692504057f15f555769a471b793d16cc33324b570e4e053df819b4b938183b501fb20e5de4edf399ab6138d88d635b0cc2a9101331efb10f374e8c3855a113e2f3cd25f024f7c25c9690359263dd0a0cf102707c0cb68e87671316fac155c1f2a6f18e971f905bee44b74e770c4233091f2e9728f6f2f07a1097fd7168481fd0805d7cf619cb984891367061334c1a8d971a5ca9a31faf53ba5657f3b60180f6bd1998bb114b79445079a6cc91cf4b23552530c04147225263bcbfe06c4d6703d5f2ca6f49bfc5c23748d0dcf2b4cdc11e63588a60706c248f4e505a5d8e6b0187c51bbeefba491b478b7 - -COUNT=35 -L = 2400 -KI = 7bce029829de255336a5da3653fe32a3da639973a5039f7a700685f117d2adce1e07058c56f9ba8601b25673b1df20ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9712341799db00604cb082c5debe8ac2964ee0fda58dc6259334dcf8e8bb66b897d420d8fa5682b4f7551104f53336623a537b -KO = 3cf5fcd70322dafc03bc0104a1a16a683f2aa24e05da1422c33f778c006e1d8ed4cb7e6f339591e3c877ccc141869eebee914c0d5c7d4006636e345c277cf279a1dc722dd9ae5329c12f2d744bd5129979ac1872ed025061e8a71f9e8636b5e0d43d64ecfb595e57c1c4bb8189072cb2f1c86c0e8170fff26cb9f68beb42fc4aa33754c6dc4e16f4dfc7aca7b5a15564a521e4e3477b262cf19d27463a2dbb7eba329b21d25f2d5a9c69f8822e857fda955e7370002363a36bc6b14c688e5891c3259323ff06f77c19f946690efc42911ee04b12ca61d94163f855c78e2ad74f8b1c96a01263e9379d6078376ea55b8f4da55dc81ec8955b8c3d1e157a57292ee17d60e793d7b5220170f30dd940902bfa81d2ecc265003159ec9d2626fd1ff24c0d5153975ebcef42d0deaa - -COUNT=36 -L = 2400 -KI = 9676fe395ee208c374fd4975410d4f170030fdda72ed73d4b1bf7a099d928ef7784753cf48085f7c2fa1b83a2b111545 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b4d17e163425a2c678ca9b2b05ecc419f74f968a9acacc04d808286380060b2b7359e75883acf984ee4fd6bc23253cf3ea31bb -KO = a80a40796fb99b84d803c19a22e299ce5d118cdc29cab6e1356d1c0c5796c8566dd7f7e91e44411c02a8c65eb535a4a532d63ab7256a31abe0c0f894cdbdb449e952063a14a82ee864ccb405e7b1e7361902c3e39b46a560a434251a701aee15d20b89ad6e31e19208d3575a56a3f62f935ee3362a45dda5acf127ea77298ee783b7f4f0a1c6aa5324a9c279d197147578c7584b3f44b027e758277f1202bbec004be57ec073ad29612f74fd0bbee9e2e8bfb5e0faf5f3a8acd5726ad335749a80d1ae66bef2824dc9738759973cadb53048982dc9ae5f6331c5235c0c4a491b383f5582df1f4be079b362ae1d9dfb0f289f0ff87bccc13c2f2f0b4a088b16ec40e1ee7667eee90edfb5b7d282847a8bd999537f6a9f2044d7d680da30b1f6459109ddd8ab39f2ff1128cb9d - -COUNT=37 -L = 2400 -KI = 2647d580e5c255b9be98ff728624631b59021ef63374dca6f8125cabecb23a3210384df3b53643fcf9c55e985f6efbac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2508cf9407cee31c3c97913a7080683414835bac67add0e985d13736a41aff1a8682afad42b466302c153b9e98d021dcaa7031 -KO = 864c98d427ae9720e36f6cc86a6b037352edb520c7f05f42e78c585cc9726034b6170ae2b11fd9dbd4542919047d2376d154e80516705ccd8cb34c49528141117f3207c4254ca181f4e57c563bdac2413e49c503c278cc79bc2333de76b40ce6b44ac1866ffeee501cb972dcad8feb4b27221e8b61f0f40436d3ec8c7fc0b4ea95ef415975a917521a1a18c4868b09068b387cd965f5342960d18226b4f5302a3bba48bffe8f1a01969797f7c7904f7dd8345b29ef9eaf1b8657904601efa8cb87b6fa30f4e2f26f58c7af375b4fb2835bb2bffa278dac270dab146ef7e5de3b8730775d1295049949c7b70c6af7968a84aadf5155d5480364bb866b615b725c07e6aceef0bebb14ecdbc772f68c023ba95a6d56153f17096ff670549138147d1015f232e16dda91fd003ced - -COUNT=38 -L = 2400 -KI = c373fd0ddb111dd4c1bbeb4fe75a3bf12a66ab24afc84635cdbacb2c2447856602b07d70418b72477e606d58cbae5785 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9329bb402efa8b4e790b2222ec4c910cfa87320ad435d711880d21586f1fc548abc48c960a11132bda84c9e53c1c1eb5e157a8 -KO = 049b7e13bb784c8d3f3f2aad7bd3f64c034e9d5a725ac1e77ecd50f9070039c60d97118372413772ce139566885e51c1861996f001e93ac4fb1166b42a926f22e1d849fa359683ad4addc96fa39eacf9bf03554e5aa21a65eb1d969d3a116e2a1b106dc85a9fa2e9a53534b3f5f5c8c62a937ca384ee08a7fc6574c0871968cfdbf2db44471b3e31d495d6240a1cdc7f60d521cdd936b19ab0df6af3508477e742ace26036e33728e8638abb0b6dafd7d0c8f37d40c0927ca11fa9a3be222241322339cc12508e0c4f0e746e62aed492fa274aa8dacecf7ebed1734dd760d0a09dc5ace0b079dd4451215332421e39ace36da5ab7d68c2f2c4cdca12c251772be97eb980a9fc6eda05a04df4dcc42c3a79b2bece7ad9a7b53293c3532de952048f6bc4e1fca2f625d1791ff5 - -COUNT=39 -L = 2400 -KI = 679be4a052f35896e1335c21b479574c8cf82408ecdcbc22816cfb8a748861df739ad7024177532f317a6fc090c6fc85 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bf989bb249466ff3a58f03b01a9be1531c8951efe52e0625319c10626021dd54a4b7bbb1d7c4de87a2f476344c1fe229b7af12 -KO = 100fbee5d87a19ba8e3c42780a4ee92d4955a909ec1c08608eb161a8c41fdcbd5ede5a4e9235e2679f801640d9c1669f4d7daef0fbc57cc5ba144f1661a8768e0735d63b67186658c997f179bd54bcd4bb174cd79a1268a2ced3197a135a47a283a278c78abe2f953eaa8381bc91b0297705be6624e574187732ff52fa76f334957d4a1c075364814a69b3bc84d18dc29cfaa46a7c1c91412a4f779c8ffd309262319b7bc9a60b87b5edbc78cead3ba1b7c4c91f26e830d98c32ad9c16bce799ede6244bf03d31221fd4ccb9f50c55cfe303b0e46603042f5c7c4997cf335a6374bb442192559628692c4ac248cf26bcaf921100d5798ea30bdb5bb6e246dc958d8cc498c00e5693fbb6159e4f39527d0e6ea5eacf1fb97eff62a0f0d78c6fbc781bde33706d86937e2f3804 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 2cfb8507b63edde805bffd73c8a9dac9f7498493d407f59aa1bca1b8df6b39b1b18b3a5d21b6ea2b94d6c66de95ca765 -IVlen = 384 -IV = 58e9b33aeb94642958aa9a324495f53f931f4b6ef423cf95d2782697b44e6df927a6d7547f6a1aecfc883ed11e83e0f8 -FixedInputDataByteLen = 51 -FixedInputData = a8856440fe1c5b4e6ee3fa8c1611c1a0b4c81980742748eeb4cb2750cb3fdbe2bcffc877a6d0734d24da6bb5afb4e23a6d364e -KO = 0d9b3842f6e972e13d6a249d4ce41096818ca1b5531a2ec800954defd73d70d7f04cfa31877010e4f1a5e58004cb43cea2aae286d93ca19cb5058e79369e3e27 - -COUNT=1 -L = 512 -KI = 840931aff9c442b7e3e154f96d5beec166f70299b0ce4ae55b06398909af821eeb9ff31b232e38ba39598a920ad4c37f -IVlen = 384 -IV = 80cb37774aeaacdef9a315cbf7ad4d8a1872a70e4305b8214608c1aa8daa73cbb5343f287c1733be28038457d0a00485 -FixedInputDataByteLen = 51 -FixedInputData = ce7513fccf6c00008d6d9b14fe2fc7fe1d8645cf618f269c477bc315748e64ba3edda93e2aa51792840eae7a28fee66a12a31c -KO = 3858424126e56cbbadc36e158a35be71950ba31c0f7f655d1c77a6e5ab587c94096e7c621c42afbd8fe6850dbd58d6a25e7fa86c20654a8b2c9fa55e997f6958 - -COUNT=2 -L = 512 -KI = ed3855e53639276c349941fc8a9d4c215ce2196d0cd325bdbde58bc2307130fa27f788d18adecf6d48de1c37f5b0a48e -IVlen = 384 -IV = 3141fafd867453d6693299339c8c0cf9c8eee4c71c2c8c7224c9c5bf472965abbbb2ea22e40b36ccaf23e18f20fcdda1 -FixedInputDataByteLen = 51 -FixedInputData = 6daeaa19e09b6d5a22c63984d5ef7835d51fad7b3380f12c80e62bb9e5b08e5a6e76151d6637b0b58a42fb9ce6d0804b432d76 -KO = 8f09d09a2812fc546ad47187a89a8898a5b656e6571ac3cf2925c8391453099e87273e2b2e8d98d2c95de1284ff26f97f1776c9567562229a893fd9a1c1ccbf0 - -COUNT=3 -L = 512 -KI = 3138b2365a4e5b7542f972574a5be1dbed4e09ef8d7d70165094e92694362dffa07133557e3d45f5a83087c36c26fe98 -IVlen = 384 -IV = b7c0ecf0d42ad9c48b18042cb6c545fbeef95ce3646957bb381bb2a77490b2e5428364a8f90309b8b225f565ed31476a -FixedInputDataByteLen = 51 -FixedInputData = 90ce07ded375f444bd2c1e6750141c5bf4eb3ab6456d178c9e715b2c380691209486f97c61f48152ddb41e185ab5515a08aeb3 -KO = 9a10c08cd775a1d43c72970690ea0ac397d92b7f15816350f49258dadcda593251301dbf23d7d659956e84c79b28f5a9e5bc5f556c34dc1358fa1113a7865d77 - -COUNT=4 -L = 512 -KI = 3ea702804ed103581dd18285f73a2259b3a7bba8995078702b05b864c5c7ae36fe8f21292d82674b21fd58caa2822c9b -IVlen = 384 -IV = 4d6c3a67eefd98c244c9b2d12a97df1c897d220d288f3ec508da2bd67330f5de9e9a4ca6805ffbf99ca9b264698008bf -FixedInputDataByteLen = 51 -FixedInputData = 346c1194879e57d53322e28f51fa369b15e612048d1730e63517e0c9b0250f7b5cd6d4f9d0f240d6838d7480f7de644b1493c7 -KO = 45542ea66dcbd1cffb6683a268681a5f7a5864c018d90d778251ca1f99f70df21322bde622338796c0f604a74a250a6b7d4d7939db5478005035121491ad5b77 - -COUNT=5 -L = 512 -KI = 91187d1a239edfdce8d46250b20d3f4a2906fe0bf91e48a0b0d5e26f3ed2857fdb2910a1752783e8ecbe228e5a16e557 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fdda4ac6dd2b4b4d6f920f715009f0191080bf29a520a1f986e3bec785a11880e34bafa91992ee5b1e29b5dec756fda8053494 -KO = 3801f232d247d8dd4aa9a2c02a9c7d1d66c7f4ed17da7b23935ab4745b9594cdf8b830753dcb67787d3f61ea4513d0a56472815ee3297ab3fd14fef5de755c75 - -COUNT=6 -L = 512 -KI = 6c9bd0434a5a018d8b82c0a9ce95693305c3abc225007a74ef8deba728f792f1fd99b902b3e25fdca2e84c41da4edd14 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 28609c3c7fa9c68b30ff467977e9df49d14faa6e0c8b535fb9032194fe539f8d6c637e3a2732182602587bd75dce6976be208f -KO = 3cde6b560178369c321b9dcbc2ecb856a8bf2093eba3db50f1c9c39f7b84be72374c5c15548a8c25d4285fe0e0f85cbbae87af86ec0288869974abe68c55bf79 - -COUNT=7 -L = 512 -KI = e9cdfbd1e955dc88270f3f42f413e5527a5fa76a742dc8ccec44191cf4e397d0194190770c5bcf5f3d59dea80491652b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 76064b05b79b1d8c88593512d233262d416c28c54a56bffa775a20074ec942e3897b398807c2676879a7fd0c4618bcd7ca1a9c -KO = 9bb50258fc1d4aa31aa7abf6b1645ea8fb5e024d5dab34b065ccc83d548875e3d5457d9cf8c1243ea692764f2701ca5f95ab727bced2340469f96d8bb463d721 - -COUNT=8 -L = 512 -KI = 7aa6132dadc5154de5823f434d898549c32419f1b44ae0943be89e4e039a8df4f1d1f2358172cba7de8236cdae2db788 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0e20a09f14556f43fd2e885dc8f8217d3bf2999a0675430a76205bd53a41d053f8942c924114b58139b8e7f5db943d599b4d0b -KO = 765e9c8bae3b2b96c3939869b75e58acbb90def98a9a7eea8a6033b38c1eb4e331d5881f9c0eceb229f27746a1aa2260f2af9a7eccd8f9986c1ed4358bee39d3 - -COUNT=9 -L = 512 -KI = 0b6027f15a0d0fa37f68ad7e183bf3b91452c4b1ec85a4e91d3b9d4565d68e69b89af5613fe855a335301c73d0d35c55 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 29adaea36c36b3ef42c58caed0d18430305e913a78937a7dd4eb182b2a75ca75dbd5d793a844ed933fd2f65dd9cdb6c1fdace3 -KO = d85e2d058137a793fcbdaf6a1d76523d6b3f64210ef5213d0cea62390a15b63e0b1629a466749213cd94475b0c7e412112856c9dda96815a791c39fe3857085c - -COUNT=10 -L = 2048 -KI = 4820c11dcf6e1dc572766dcb25e9023f3283973c1c07bde27369f83470f78f71edc8870ae8b68e499930722f34722060 -IVlen = 384 -IV = 271bd90a6ddc9137749d30d81ce6bc9a46fe1b7b38463a029f923ff8d79537776dd079a775978354b6c20da37ae77966 -FixedInputDataByteLen = 51 -FixedInputData = f231426815db12b6bdd98b205628be1543b8e200b3c9e1254cb59bc2173bee8df20c2acb49123024cbbfd042f5fde4164f80e1 -KO = 88bcf174bb6e7d6d1c233e1d25548b6d9d0d6d24e38c14a2b292da15ddbf77f65f4c9a2bfea8913f3ebada08dbe4c032c7140384a036d6003390bf878f33ad1a9cc8e0d3fe0b80a5424450d8e32d8a2c981355654e3cb5d42e693749c2871a53fe4879f4d5bd05f68661e2b1fadd16d320c4c4aaa9eea7d5db3a53422c81263a3257f3794b24e6ca3382fe1353d6e488bce2cedc87d86c44d686cf9ea4bb550fa83efe84b999791962e8eb8693d7f0132ff0d752c3a5b571063e6634598045b0f921ad3807352571d01d402be228682e9eb30567e71fe4c92bc4ee0a09243a85bc4a09cf2eefe17ce385bdcb0316419a308c8517fce960430e7313dd1e87ebbe - -COUNT=11 -L = 2048 -KI = 9fe9006be14305f1e7ff9607f1a74c64869bf936eebc50b10b995e9134f27a053c1bb679a4ad9ca55f036986886c39d4 -IVlen = 384 -IV = 88fb52bba59d39e19ef7765d4d730a8d69d432a803c54d2aba087290e5f43bb647ea13957185fac68bb60b9d6dbd06ce -FixedInputDataByteLen = 51 -FixedInputData = 094b00c8368eaec6161f94cb2d9f85adf0a9738887285adc705edbea8dae47ea70c067c3eb9efe76ec2f13943348fe1094e120 -KO = c443f05654124b67cba45e8c66d41046b178d81f1c34b5f07bc42b8a41f4b7c27ae6c54c69e2f9475ae6e8a83cb447317ead402f913266050c6a29e805e4ee38aa26e0a73aae9b9d46b1684592ba188cfa7c67bf8b191702b6a322573e7858aaf4631697747466933544cc9a67ba858f0a041a6f4b65c532d8bd743c55185ab95413ddede70a9421a18f1264e2e04f2110f52b5a536e05422f0d2fbbc1a5b96b2b76d15163969a8009ecf777a59291774b71d25f11705ff83e0f5a3a35374ff0190707eb5b486cea9417bcbc89160b786ccbf06ce9ea0249d9bd823652718fe091294c482327cbd796c770b439a45c7dfa4c2fc53071859a2aec8a66c90602c9 - -COUNT=12 -L = 2048 -KI = 5e69d9f159fcd53e2183cfaed8fa1a01a218d8b0eb4f06dfab1bf1b109ce1903e5e0392c654c8bb5f235b1895776241e -IVlen = 384 -IV = 3ff4ec39908eef0ff8fcf349f7e5572cf0f272daf805d9ee6c6163a5044dc01b1ed72a9ebe411ad7c35c6d89685d067b -FixedInputDataByteLen = 51 -FixedInputData = 3b06af6291c2199081dc8c49d4ac45cccc62de364271cf31638c14cd07de1b309a49b54d9b487ca9b8970eb4524812f8111b4c -KO = 4d9c07dbd47c6b11a328019b72d928581d3d794497756234b4546d9f2df1202289ea207575a811c7f792d0173fc891aa1b2c5b264e79341e3a96d5984d358e806dd60b22380e451d21d7e2b6a45672e82c070c4a50808b0f8d59b79daa3cb1034dd874999530acc08f55f1fc2225efaf9d85e9c51fdf5e339591db64071ecadbc3bfcc642a7d902d932e0c680d88b34e1f0ddca0a877f0acea14d90b2e8f8ac50a01d42503c6c971b010a02085cda2ee085976d18e6b1cd4abc1266c3d91da835a7ec5daa70e2dff256b91022b436a1cc3e107a946217b80d9bdc4519a5e85d859dd2fcf275f7b646b4c3c0ce5cbd00b87599018ae52c3698224cdb50eec186e - -COUNT=13 -L = 2048 -KI = e6e487c5ef47ca712e00ec04c5f017a3d64d7c58fe00499ccefdf9ef6aa88031a6d950d3e06f7040c0d5318ef8a3c2ae -IVlen = 384 -IV = ae7aa26d8b0403ac2f543b3c0d7e5c4c19a1ba93488d888453b8b3156b3bf8da2085944dcbd7720411ccdc95ba287e3d -FixedInputDataByteLen = 51 -FixedInputData = f852b6a36b1a6d5326353e183b664b86539d7e7adf0ede9dea592898f836e2d35889f14feb99315731a9e0aa44cf093ed58c87 -KO = da5214e96f25221c033532b7227f2ee21e7ea3c8871fa152f8b7dae17736cbeae1cd958a2863d08adfff7455a0486d43b13e968c899360043668c590970cdf2d12bc8441999b307a92d02ba42f31ad107067cc7e11dcc2cce7de71bcb7827152d7b8ede72453a1a7ac30e17cdfcc107c17577da88dea56a9882e9612816e75d0462141cf42625b21a212d3992c5ea5d0e5ca607ced7b4c34d4756f7a90c215f32d757ba686f2c67b566c293985503dd2cc2b02b64b8ee290c1a94a2945c1b5f7293666f57064df7f677df6c2ea151e41924188c9ab8cf20b1798d9f42cc429c64dd7f52cb0059883b7220cbab0161e441d9b4a5d3ed4ce12ae87187d621c78bf - -COUNT=14 -L = 2048 -KI = d3844c885f5dac2e02a0c058fc9e1adbb9ba486364ff6dc58833f01afb836034999289945f663d08010f3be53ae1cbbb -IVlen = 384 -IV = f1825d6301d1ab9dec76f3d23175e61d98b18fcc4bf82c86d9a24e3cb2c0de876f94251085abc29ecc22104d902b9260 -FixedInputDataByteLen = 51 -FixedInputData = 0be948fee9661e29d4893762cd4929a2ce5fb07aa62a26d3d7b4a48a56da49a85ccdd95880cd31b9663256eb29d499ecbe1efc -KO = b80faf000bccf9663707caff5777d9af0b199a6cda1925497ccdeab0a5cb4fb1e6460cfec14d65776b7bc8e03870ea8f828da156e1c6b4851b638a0e16799cdca02f7a0fe6687929b900c18e3d66beec2a3810acd2390c5054c230e4fd57a7d017a0fb902c486430f1d902096c7a1362989fa9e86260c0eb56e1d51e29c47d6af89f15a8840003c78e63680ae25eb4f3e8472128a964fea5a38061e18f39f6cfbf13e6079a8992b81696c15b687ca87e4471d7948fe8739ca0e4f4e41f02fe62937bd6071ebc5a401c02c93f3277c289c933faaa405af88d803831893488513f68cf6c8ee70c1fe88309ba28f3478a5c8bb7475398aaf56fb72138f73f833813 - -COUNT=15 -L = 2048 -KI = 44c88eeac18264d62a045cd4bc564f48800eb12acbc2176c80e4711b5c3a43c39d1afd46318a4e3373c425cdbbee310a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4f026d72ec5aecd673bfc444fdc0f609641424dd275538c9f55613feb75aacf9461f1f221cc97d13814a2f86cb54c9897e1add -KO = 614f2bc1edde3359f772e3fd94b2267edcde47d3151cbd0bc3481180fc09ed81f5151c0ad13a55b0dbbc4ee26528b8d549778ab8ad8c9c6b3d9959954e307f93d62a3aaced9e95d956c83c981d4f7e8127e877f6897c8450fc5fd67b91eeea650e7482d68d5e538e782c4ea0083b08bd642a6a7c90715b0fa4179df9a50f41930729b53994b1994a9f2f1da8121631b68f0bf44a64213d009c0c48b2bf9a2327280e078d189c3030c68f7e10654212ea641e4360a66cfd712ba316957f680f5da0c541a012fb7ab02f4b19b426f0ea0080000b487fe7eebe907af4b1d282230c126fdb676e37ede69a215d36c6ea4ca92389ca20442752816e1797b957e6a5d8 - -COUNT=16 -L = 2048 -KI = 01aa6b160c7e00b79b3efcb22af02c2d850f2fab7c71e2f1d546afb4d302cc9d1328659f2f564a5ede5d690e0ea0cbb1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff16c5a9a772aeffdd5f7a980dabde66710ec1bda927bae33939b2748bd32a30256262f74a6dbe66bb7273ffe0ad870dec063c -KO = 29bd3d528541f4a7b9dc2429c80fd80c2a0887c0687da44b687edbabfd0fa575fd20a87f6d37204324bdbe95e8e05c7328a92e8a78f931ad1ce6d83d9ff562a15af4534af65140989c89d92b397cafdc109975302471730790c03da608ab320fbf4640f243b3dc431ae12fa782b137d52bfc7c640e480d16bf27821e6cbce990175a68724e00dc8678cfaff458c3e38034c7bbac779e520567f01817400328b1b457cf2b31a70c603b02c266071d198db2937f1e9382ea9cee5d8e547c4562006db8af22c559c2fc38acea92304633294168d0cf6f42cfeecc434466c5628f4c531ad65b10ae3bea8bd17c8b93cd930e7e48e768c85dd3fc7ee5ab482d52d01e - -COUNT=17 -L = 2048 -KI = 17ee5b98056a4b45d823ea215e268b3fa90357027d95e4e31f7f5d99a42263107291cb49a36a26716d192451b8421579 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53d80f96f5188b598ab490407f43a7a5b94b41771c9be27bbdd9237b8716513a49d1fb1351c69c3ec62b73b64465d5271814f9 -KO = 207ecf7601a71f6334d2b7a3e18251095518c4e35111cb7607c062c97cb0cc024e8797ef2f2ad03160f91b56de0b60401270eff073766f535659e3a9ecc6fe01ef24a9f3c5666619745306f7959fe39dfe25684c29645daec0feca4c3a96108fe3d3265b0c7320cc192eea177aca7d88248ce222893a189cb7d0895d57d3d0ea67c202383458a9c8ac62648aaf9028c6cd5bf3b89d8aaf33773160d2b4752e388b194c282583b06e57a7aa78189cd24b1ad339231329bbdd4c4cb75694cccf60a4b18ea058ab92b66250477971e1de1aa7a18758f24893936fbc949fec428cd7d02b992f406f9c5240c56a88cd20ccfc7578ec209b6662b5bf8025194c7309c5 - -COUNT=18 -L = 2048 -KI = b6dd632bd414261eba3bce6bf97d9ab38dfa5a5429b5b7ae653105df0e82b43392275739c7c8f6248b7a84d833dc08dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 40c82758d1bf88033334f931c52e44043e91f5ec01613f1d555e88197c355ad2b648245d98ba542fa33470a74fd45fa7916082 -KO = 2573546c330f4603fcac402a3d21b127a94589f326cb9d6299dc472ab3f24d890f442eab8a1b5e0c7b26154a781bc1893e39289810fb485526a4032ab8b8e184b57c3594a617e25f74edf3efe99d5ba60fe4c6199b2f69b41cf12eaf0bec405d0854cef9b91d854dbd2cc18ec97617d53e9049cc1eb74ce29d33bf755282c2160baecd84ffd14e03ddc3629101a13a3e162e7f97add578242e5dc4e8eeeb8f3c3acbdddfb5398349ff5165d1144abdd2bb1b9f5c13650fd9f6571d9ec6359d56790211347eb654c7a53cf5fa1881f3a6399a5eef4b30332feb0c316144fa64bb160f8b2017a2ebca4265713c9e0916e981cf4f8b8883138bab423a9d57414758 - -COUNT=19 -L = 2048 -KI = 81f096a21a62279d85f1f8a6a0353be0480194c9b7007e2e5f5a1e97d38963bfb216dc0230f8f9bd8406aa37475509cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 326f0f38c70ae6165f99b531dc795042a5e5fa2a0c6e2b5ef8758473f2e02492bd12545556a7dc8fe8867e3e1a3e4bbb183a44 -KO = 9fea3a78f35a8c51b8d83692c4adff60da6bee22493537a11f084fee3a1f970526f08149c25f73af19c2e0b8700458e4889997563cc7c15d5d007cb723beb60279f3a08d74a2dac4b3f003ce839ba4a57d9fcf964cd928bb79020dc97bbf55d0ad458d2711ed5d2545c1b02efa51be3377e9c051e06d3236bc70aa9cec6c49a9ccd720b9f3cf8e1c4ff219124be00fea5f017da609bedbc8b6ace011d379a39481a2a5eb35e852e7d22dccf528062fc553a9df0b74346d528c67c1205dd9f1f6019a8a891905e560575cfa6e519bd398b06a1923ad7d2cc07197255de8d8c54678cdcae2877cbb8c284bd38be02aef179583d83cf62c71a9d24cbefbac28f293 - -COUNT=20 -L = 560 -KI = a00665a087db28912c2a9c2700001a3731d9ebb264697b8cde6482e1a6e4d8b0ddf43d906967704d5cb0ed1e69df41fb -IVlen = 384 -IV = 24c3739b4d35b115e47dcbe71493edc964eb7525d456aab66096b11fbb3998b42fd5872867398be01b13ba6e92559a74 -FixedInputDataByteLen = 51 -FixedInputData = 4bc52706a04604dcf9985da0f1befe91473299f4c8564013fd42fce839cba5297853ddb1127199b68c96c137b344114b6b2b61 -KO = 14239b49ccdce9f253cb3a47c89c9c0a4b696c7b6dba2f9ff73abc0aa447c8501a88030c58119a5f3d3f2929971b5059ae393336f4b9f927481472adbb8f9f8c441d37650be1 - -COUNT=21 -L = 560 -KI = 6617588f8c9084542a8612ce7829ab85be3e51a7ff8d9e2ec804dc725a540cfd25c3c2bd2f5eb92b01502ea1faf13856 -IVlen = 384 -IV = 6c050b88629143774ee5e4d72fa413897d0f7fe0c933738702a888e7365131584a2b5c8b4fe11bec0dbb0c3f9cd5a005 -FixedInputDataByteLen = 51 -FixedInputData = 87ebcba5d286fa415e22744ebb1506cde40c1f6ac412630ad0914b96180ed8450c80068e8793c373ae0db813ac7f6e785467f6 -KO = 0e0a3b1a52e4302fcf6f825c8ca557681c57c4fb40f5d248d8c9d52e91b9af7be4a086c2a178229783d1eaaf719089b87cc3cd029e11f8c4da77cec0be58b73ac1e23a6ddc63 - -COUNT=22 -L = 560 -KI = 7988d44ed3d72a7fadf17accfa6ac46fa56c33e49c64a1f13d29a0de0d8fe22fc4d5ea6de25fcdaa1ebcaad65d5ff40d -IVlen = 384 -IV = 4fb06078f097eb591996003c3be77dcc26578024daccf71ae042d66c83419bc1bcdd06c2a261ec4a0e428b8978d8e3d8 -FixedInputDataByteLen = 51 -FixedInputData = c2e632e26680fe6040c6c639ad3c906c319f736e9fbd6ecdc029cbdae1309764abf2314c21910a2e64005559676c1623b05b69 -KO = e4f61cc695f04698e9f134c8cd50cecf2870fc99a5be8cb725d690520e78ef4ac3fa4a4ca112b41485c19bb625bf0ebac3a615bc4b337083825da5e7f383f31f3563b4cbf2bc - -COUNT=23 -L = 560 -KI = b422338c0dd81f29b6fc04329c831be98c23d92fed6bd91b1a2059e089d65d414422797af1fe9c7fd437565fd71de4ab -IVlen = 384 -IV = 142ba4c82e259656b2eeedd66b7e74b64df2ceb772f254cea7db4be2761e83147fdf57bd802900e5726207d31cc2bff2 -FixedInputDataByteLen = 51 -FixedInputData = f8e0a25e93e2dfdfe90b75780f7ccb4736be30c8192c9513b1f0603a35f255bd63f6c9fdbc1289c113f36c6c45d5caf78e94c9 -KO = 21c3d5fcd08fc1e6f6626b72df6b624ef1ab0c94eec4a1f4f7d0da8ecd7c285d4f94fc9cb4a0e6ce631cc8e37e5df48de9e9a875fb6d76259b5b748fcb433f62181b9f172013 - -COUNT=24 -L = 560 -KI = bbff090e2fb1ad42582714590cc83d644f60bbbfc648b33123f786cfa7a64f61131a8e96fb80cb9611f2bf12f81e7ccb -IVlen = 384 -IV = 45e8972e5b481408d1601f535fdfbda8f15cc759f0563d8c7e7171d99923484bd26d83419eed8862f51fb28b843b2411 -FixedInputDataByteLen = 51 -FixedInputData = f89e9d04ebfe6b07af85d2757ba740ece39c49baff22dad2fda784d547c9900d144fc0a082d069fdfc85b75c268877e6aff9fe -KO = d3d2176df9729b5959e31a75d4b00381ba1392600024fa9b1d5ebe085dcac99011c0dc047c68c8b604132ba37403e3c5b125865f3794df9016187923151836c406b73b3f35ff - -COUNT=25 -L = 560 -KI = f54d67628d41311e97c803b80a175762d68abd8e4313aa66eae4f6260d4074470642c8d85f28b624fb28a1a0833d0f74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b877bbcb771c2d0df579d7e4932402cd5a4a9a2447efb2a3951e1446276b000b222f53b3aa48fde80b4d12fa290bbfde046636 -KO = 3cc283e6231dcf6a9ecc5e999f61a964b0a0ee3eba56fa740b7b53062fc58db43fcc158e29c0eb1629981112444f8adbd4a5e44fd04012c16afcf1fc1b4bbab51870f99e8b89 - -COUNT=26 -L = 560 -KI = 9ea0a2e0263181103cb9838a8cacdb36e8108686cff6c38293572c501fe0b91895e2488d69f0ebd7a9f9b4515634a72c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c8dedcea386bdd0e514e05f88032259e5268495b00bb4d5260fc9315227000e697901a5be1b061e72cb44d5075d998cc06cbc -KO = 5b14bb634060ca8c9ede1421b4b1eeac5a84ebc5faa5445684d9537fe132910d6dff51e8da6dc1263dfdd0402b3b52633174b164a326f01607d6d40f520efe20d303a7f1046b - -COUNT=27 -L = 560 -KI = 820a35a2a568a97d25c5b56f67ebced027fff2cd7be83c7121845f1976fbc01038556d384140cce95007d3af0e7f91a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = afb9a34fe1ae8ed256a551ec30dd2cdde104fa23cbbad5d1105688d28ed694ba1fe6060e87f5a7d3238ba7d86941af35dbba54 -KO = 0a6fd31d94cd9315ece38f2769f064dabf2ace10754283aa7918e2eb781c53fec7a0c0bb9af6196330d6f0aa7ad47bdf21f9599b4262b4ba959b728ee53327b780dee79f63e8 - -COUNT=28 -L = 560 -KI = bae95584dac85a2bd54b62e0518c7ee2d9644e73173970adc08db59c86694bc9493c80768d468845e3f7e246e079b47e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 32bab0cb721d4f729cad24ff4592b459bf0d4da9bda6e38d2bf50c0087e53efb4de5afcf252d3d33e4f305f2b2f995af297ae5 -KO = 3e85270030d4f9f3f02ebb00994ebec315e4bebf6e030dbd5e4d180283bd2b808fccf5c5e3ff9eaaed52da3ea2604e4cb16e22d415237f0954f046ae4f2451ab3429b354ad87 - -COUNT=29 -L = 560 -KI = b4ebdf537cbb6aca46d0935607d3aa6c33c3159c68288feb1dd8ec41fee236f3ae571967929d02a9f1825a04129b64b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f26f0c8d1164d0f877f19f684d7f389087a7ccd69d6e5922259c693ce779eee330414c9e5437409ee539431eb8fb4b6cebe459 -KO = 295ecea4b7c42a7fad36e4ea7fb44edd11532b32725ccc440e32427c170fcec1a0732a8fad7a792dfa151f2fddf171764d6dcc4f65ecf5e65f253279009931dacd8cd49024d4 - -COUNT=30 -L = 2400 -KI = 66cbe996abb705307f432efc118c94e560a22a4106b7b6fd9b8e3411ecf6d77dd5bf97c7125f23a85ed27c0b3d1832ac -IVlen = 384 -IV = d9ff2d7e81c4392ad6ee719ec320f28b81394e918d619e499dee27af1a221d96126adff909ed035530ebe511698ca08b -FixedInputDataByteLen = 51 -FixedInputData = cd2bc670900dc75e7f18f82fd171671a6795ec0c78f7de4bc003491d91ff4a062bd871468f7f0d4e3e1988cec5b4b920865aca -KO = 41c8c8adaa4961f95c6728681fea971e7e0f97be4b834886305d82549d0c0f48aba14baac0d170fde7a63f2e85f94bb30b25ee65affbe2aaafaee654b0f8fc7001873843e25974c8687b09bde2cf826c4982a19f20b1d8ecf34e3665ad74350f36ec5f951a6a7ce37465d8ed3c0b3d554cd1a764c8835fdd82e441e55e5f25282e158f2548bf7a09362699e93aced329bde39207b46b19f73616fe064f1962c11308d412b86ddf22769610a219c73685e6cb785510556af1648471f96bc5f0060b2452c9b1318f4b1645768d2bbb6d5e5300683d12671a324fabab7cd64b5fa39bc6a115eec6a9401ce7b934e251bbc20fedbf50c60a53c9a6a3226d0053bc1c8770e655b1b9d6c586670bbfd4671f22a50c91f54406bb20fbab60696c79e08cb114973705b00d6b9d80aadf - -COUNT=31 -L = 2400 -KI = 0cffd3d989eebe3ff78222cb4bf3e6278f5915a9ab3736c8dd390962db2d164deeb0848365416f086a2ef3115bb32c0f -IVlen = 384 -IV = cd8d2e008d8f6e194bf58fa746233f84500c6918fe789b693a07c86e57a8cb084fb0eb988e6afc9c20a20c61cf838a79 -FixedInputDataByteLen = 51 -FixedInputData = 3c3deec7ebc1958a54c1186f2ba232cbcb8d64b443e4ac2444e1c781168fb3f730f7c7c58cac69b6b477c1f348fffdc333ea43 -KO = ac9f4da0a3e0972bd3de4735bd73f1d8af31a5d5fc87dc37f499046f216873288365918255730325493d8e208638cc66a5bd23e19b2b2803d74b9962c4ce7e019fbaa3515193ccae52957ce11b5e7a6bfb104f7f2e668ebad099297d60a46da38fd8f31506a688942f3d469a5bcbafe7e712606a872b040ab9390258ad9c0674d4f8fe0fc2ac2411a6ec1ac0bd11502de0acdafe8245297f546de5a048e0015ffe25f2e8032a8f0e9f927dd696098f7c37e9f0170b43c2bd18957a2f4cc6079fe9375f79055c1aef58e9edde4dfa8156c3e7129325d58a6b6b75981459fa16822318198529ef873bda1f3119101ba82ae63d6ddd7a182c3ee944c93b3f2e30a6fd39c8e7237f9aaa8cfe71403c1f64eca7b4bfa3bdb9a0bed3805d82ea81d4604fda5f8594de5f64e7681e52 - -COUNT=32 -L = 2400 -KI = 2a69f71999e41d3d13fa3110e7a183d3f006e22396060cb0c79e88196880c5d338f3e3db2bb8b033328754e4681f2fa0 -IVlen = 384 -IV = d288893ed8213bc0008a053ec4fd361726367b1c6971e1b97eecd56f996b448679818236e9285eea78f54cdf0233485c -FixedInputDataByteLen = 51 -FixedInputData = 477fe27c8b2a2e0f64865c048decd11a22302a20f5f01cbc2d1e93a6f8e00cab85a234e7b92054324ad191b5c9127b8e7c25a3 -KO = 0db5d5177b2ff3025258251fb34c0fabcba67fbbaa9539a3c11d99798ee074aab079a1b689b043ec186dc56566b1307b3fca9a0448949187c386a204ffdcc17b8289324c1762ec8e91743deb4e0f9b9c389b155da0bfffeb26845f2cf2c8461d4fc2071b9e3c595bb6d59891afe50b3604577c9500d456dcd518779f98a50c21deec0d5b6d5bc0090016dda18d9f0beec7afb012e1e6d88a52d30f90842498381697041f2afa6d11dc6782b6efaf0c385063903c2777799f550bfe5a3d3f6b3b45b7f7d2174781d5cbbd22323ad09e5e84958d6b6477c762c9552142c358c1327ed01d986edb110292bce969de7c34a2be519970c8aac654abb6edc3747d7578c9366e41ab3021d31d338c283ec9c4614e8c44928c87b4997f76529eb163c27e1ca8a8111391426011763ab6 - -COUNT=33 -L = 2400 -KI = e977c538d7310fae689d613d7d270abc91adae92e1945397ad54bf6f5e2ff466f9f53779ac6401887d1597e286f3bb93 -IVlen = 384 -IV = d032445b220ca81f833ff996d9c86ed00322d1b9f062d0b96b7fc377c4468fd52b50f436b780683c91f48c78c000f915 -FixedInputDataByteLen = 51 -FixedInputData = 762bd2578c89751dabd84bb215c503a1ec4f4bdc19fd4b40c9391370c89ba7f2d121082e263398c5caddaf7a5cac25c9bb5156 -KO = 4de56529a41bd5424af1c7e6e5566a46b30abef36f2d9cd48077089a8f82cdcb8a0beec2edeb3fbc1eb046b71200ced3cefe5413e68aeb909d97dfc622d7c3f0b6b4dc6610f53a5648039f842291e5da10dee6d013b165c04d8dab30dd2ad6c988ddbb58de5c3ca952ca07c920d3b75a0c3893cb08663c3c37b765351c56a2761a20e4021d9ee5a1d8bd9a2328870729ebb5ec2714693647ea0e67d3258260afc34ae7ceb4ce39bc95cfb227d01223c623b229bba0f8aa364e09626e146a3b8f83164673d7c471f0ac291bf0e85e5f802c1b34e4f942cb27dcd2307e418fc442e6456f21d808ebcbdb3415ee7e77a57f1a14613e77b99b9251e6c9ee8b55f5e8581ffcfab218a439d39eaecf6620dc7b279d5b5cb0128b62bb41aefd155753b5924bb5c6eb4ed57d216ac355 - -COUNT=34 -L = 2400 -KI = c808b8b564b5028cd2630ace350ce7e2c7a3c6ed38326db0774e1328f3ef61f20818b457b100a7f83aaf10191ba117c5 -IVlen = 384 -IV = d59577f9cd59e24ffea8666298bc1461546ef5c3e855de2b9ced91825e9dd167d63f31a572a4939de3e9482d8adc6c4c -FixedInputDataByteLen = 51 -FixedInputData = 9f216b5e63a53a13e46838e5fc900955241f29c65b8caee92f490f1f6cc70d1646f12c4f6a707c4f88393e6aa1e34676160612 -KO = 934eab72415e7ae832c373022675dd0b26adeb9ffb914286a857a2caef6408d550c1fcf2fc9f7542329b8e57e44f43271d89bcca6efeab9b2580dfbaeb6d910693bd6ba8c867ec43f82543886663036334de41c39e683b973f5b58abeb4cee897730b21e9db212df22679609f3c83e0311c026148193e4d4c8b99ea1f573eb198ad790027243825e28786196b3c1ef8a73beeea5c8eb9df11d04fd5f5b760562efd708e492abeed511984be8e67ec9fee00b516066ace04af373cf1be3ed51c083bdf8764b09b48836a32b2219b319098413e4e802186246ed15537804d7ab3be55c19fad69f99f2d844feb3bfa2db3e26180fd78f97ce64278b121d887392602bfa566a44a621660c595fcecbf91cfe6be9b584a25b4d8f3a0d083d9ff6ad1e34ad28fdab8d29a6fc5e211c - -COUNT=35 -L = 2400 -KI = 804c37748365a53cc8950918e3de9d5f2d4af3652c7a3868e0e512142e2b653b32d94b1b63fd4f4397afa08d3d6c3ef1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 570720da2426c18800db560a843ddb41ba2ca1bd6db84a86f584d104a88fcff119b5e317638d80ce78e77ebff15b6e6e81ec83 -KO = 939f14761c5d216f18e57091fb61804edb5be417fd10ba699063afb39fa570dc0b4df414c896b531daf4de3507391a330bc5fcc2c6f1e6077e1942ec6b1ca689fe3e763c5afb947074ee4e70d829caeda8309549966586d17b74b72c6c4efbb3d19586311715f67d1efe7e76f667143210d6ae664bfee54aedd3563d1216f04c398858aa0a0e316a675bc4b23e8ee0e51085be5d1dc3c8d80b78e813d4bc768097426dcbf64d3e2228c52d34b34f47e9e9480b67a5607ddf1403406612ba036f2facb3430944c8014d75a2efc5808a5b8f05116f1b965d9e1f3c007e0e0d8148a652d6e2c6f6cab4308ccf0ae0dec938a403955d877868358b30c72fbb4b3b12627db585f8297a12d3941532b4acf4333675d021e770281d751ae8d1dec340a0f19a462532b0e435fac486d5 - -COUNT=36 -L = 2400 -KI = 8baef3f6883aec838bb8418fc1deb505a616f40afb6013f8b42fb65e2c44f0dee777b21d4a468d07566bc784ed1814f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 69bcdfccae6cdef5a35d3a98d46fabafd23cdc88db2ae5d731e27e2a19f553e7ae1ba757247f264552add379118f24f12d00ee -KO = de7ad2af7f7e5291c84047394aee1b92ba22c91090703ca3f3c304363153197bd94e9358456a00c1558705f2eb279ecee9c1f07a63ac5082f91d7a2c1a92ebc4c9d1f08894057ae401d277b8035b0ab1f85a111bdbd27e8424dd6ae98a3b93d18e84281f506ae82746d977c1d8dbd5390231929e34571175c2ba607add7728b4a6828b7d9032b74c47d366937760f83b4db2d683b27b02f85c939a72f4a6bee8f222c94a2c9bfa43a7189e099c790cb235b4135db9e1ffec0c890d0c79ef85766bfe51ba958c99e5190cd340b722600699b77d3bc1c4b93b0efc5e70b25c51bb5cb3885ce945085a323dd5b894785914dde2f5fb55466801a4dc1dd41589b4d4f951b413c496407943636a7eb213816a4f71a15d31b50111ffbf65ce3a260d5e6d11e56d02df602dc63ab7c2 - -COUNT=37 -L = 2400 -KI = 61f5df28d7bf17260ba7cfc91fa6f915141149a90f8dfb19fe768db5233635695a6fac04a4cf93bed139f11430a7aede -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4bf37c50c795f6a2c41c0d900a887dd33fa40d9e108cc2c8e4ab772c3cb25c024aa717f8e30c6e121b85d1471160e760e7fca5 -KO = e6929896c22506f96d3f56216830d720fe549837a875ea8edfaaf1c6130e919cc2ce425bb1795a1171eae5389fb92a883f31f737cb456b2967dc3e0105ed438422baa10edfffbfc73b2aa5038508b49f1f87c863057ffe959ed24a3c9d4c965e0b87ef96046b9bd0f689c9c53dddba19e9fe5f2de12491658d93ae6fefb6622fd76d0dd79272fffcb3b1efbc4218504eb59b8e8889313fb8d0cb30e3ba5e6a6ed8d9dcc6d69cb6629ad16d7000afab7e8ca05fe3c2e2c26a254747dd1cc1333b3e2ef2c8d8599428bafa3857443eca108bb3c04c3371af66c0ec28d564d5091deff3e7e09df5168b0f3466f7c4b12b9183487c9c1fd1ce19a3d01b49fd167d665a654cba705fbb68e6a319a7ad280c7c5f10fd3ae7229476fce1310857c7076dbbd0a95695ddbccff4d6adc5 - -COUNT=38 -L = 2400 -KI = d0ed9ee8f4b96086716e39495b8ece5591add320e4504a55e3b973b222603d9fca85514b3a144326d49b07138355cbd4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8953fc8a288d809e26b644797ab49eb44c828c990ab5b5b4b3d523a94a61b3580365cea866e30de0ac8002f679de41d63ed479 -KO = e25a360b82fdf642ea8ce9988a7e54d862bc253e806e952c009ed618786bd37e0407db5ea2e41d665eb53c209b83d6bdd12df830718758613f829137008a768405b62bd009f52cf11f6b5c94895fcb8e3ef3ca5c5ef094ba9b1fc80977f18c595314142f9b46496b1caed8725b6a69cdf0945e091c6754f7531862b0af84682f88b378f01877fa42c4c7499a52ff5b214e45077c1937f1d3ec5771313e88ce56e3182cd1558ab0e3b1bb13ce03140c7cf97dd36dac9e0215c9935a4c5a375c4419c1759bddc72e2657356051af8df7d0b3ba2437e24e3b11ed0b63332366cbf1f04aa77aef6c1c970d61721973b1cf0f18762a561a5b013f4b5718eda3105c3b621a9c4d2065158e706fcd45e41410f224550fffb9f84f2cc02bea5a1df9a97c98b2c5a6987f2bb3f8fcd21f - -COUNT=39 -L = 2400 -KI = a3dc1782f485437e2b4deb90531f237f517a4c1623f4258d958789a509fb18107f9b5abbc75762fe846cbbeb96d751fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c30ede817e51be1a60e4d86f270094f09be2751ee90f8ae99fca74b14ede5748edf81bca95612eb53034313198eac31f568c7e -KO = b7a6166dd31f61a363f7dffa1edb645a2074a707434a302ec6f8b55d23918db4235a5d24fc7c8ec7b74824b2fd893569aba9e361624a7fc21865a481623aeb4ff1bea8a5d3ec932d9b97a086d6f1c9a004f0f96b47b6f40eca0e50cde5bce80690f957312a1f00d24b9013dcfdcb893b4146f8564311f930a7ceace0306f4fda8521d016dadd3854d37573885649a3d049d7cf0a22a228050691c0fa4a22fb6c8da1c4dc37be223da4e144f5f90e7c113f26d8a8aa55c83a3ba8a43c3fba97637b9f8cff550f58e234ae9e42bec0e4e4e0e0d471726d10d6bc18cfbd82dc2d095db4c2ac161d17eeac302aac0ea1132f70cfe945c439fc55abe133e50c653d00c03f31f7d8acf86fcfd222b132454cee2ef5c7d949db2340352f7007860fa6fb58fa9999df2f72e96f12522f - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e7da679d28c5588843133d4247aec7697e43c3ff773abc3210dafddcbca3b08d23d919e719dfdd0eb3b9085de5ab2108 -IVlen = 384 -IV = 0f77d49769160c497b407263e9269d99d813891a423393cfda95df2096e54dd31c75906b7567efc70f545829b7f8d07f -FixedInputDataByteLen = 51 -FixedInputData = 8a26f69fe9f609c47db9ddbe1fba48fcb86fc8e52b40e00e24139b2c9c1a0818cfc029e7c0a5d637938cf92a58f34b51a6a162 -KO = 5e2cc468ab0bb780d78cc7b75c21e3a3d9b8741720f0197dce0e65f1ef250919fc90e90ce9dd4cabe8c5a755c81f47c934644ed1c7cc038c04f644af02de12e2 - -COUNT=1 -L = 512 -KI = 4a0ed0d4442752317861bab357c0fbba5959ae9736abb8bfa8e00064a36203b0f14134c5e751bd2679b6528246b83900 -IVlen = 384 -IV = 5f76dbbd1fd9dce0c4bd590ed84475fe7d94cf0ce800caa8b793b2962c8d850afebc5d9577149e06a36149ddab615de0 -FixedInputDataByteLen = 51 -FixedInputData = 4f3012c68ac7e702d977ca151aae50e4968062eec4c199d0eed3499cd7e1eeddeb0cbc7b9044a2b5675f6bb27e39160a2f7f48 -KO = 563d4941511e8f2efb2bbf2a57295b2e772ca990a4d504e15fd130538b01ddcf1f6e279c3ebe7e2ca9a860e4927393d5edefe1740fe7539a7bc3011f6424d63b - -COUNT=2 -L = 512 -KI = 649209ab065fc7aa09c65740a4004770494264f47648fcd1b1346eac12d5e2b274df65bc67d3d94416880e7cf1611d74 -IVlen = 384 -IV = 57cf652c315a6151cdf399de36f2e55c3cc8cac33c09078427708a6d6dc48ee0feaabf18c04792648daef48efbe87719 -FixedInputDataByteLen = 51 -FixedInputData = d49fb01c0e01962f199035c16f2f5d0093f560dd8ccd0d29211ac75cfc1162ba78f3f9124d7c4ca046677bf0b55e96867404ce -KO = 07513af460cce4d44900c728807ea40c08daf63b3351e34a5c84fec88db8f8eacb5ba48d4d0bf2a1b0ffb8c919afb3c5cbba59a43538d54dd3b1f65aab350987 - -COUNT=3 -L = 512 -KI = f2e2cab6e7e7e20c6b049fa9bdad91fbd846d6f5e5086343e3572f1f4fcdf6c94d7af0bf4e5fc8abfef3865562a984f2 -IVlen = 384 -IV = fd31de210c6da901471fa4b6a817f02cbcdc4379088daca171d12d02268b7c60635980945d140aeafc707b9d592d9b8e -FixedInputDataByteLen = 51 -FixedInputData = 8c7e21d907f00d7a630ba9e92327f29e8967e156fe4b7681b788f7f73f7cfe1f9acc26ad9a9f245d01dccb9f901865d9237eb6 -KO = 910c975c16e395b99861efdea7f384702832fc0b72c2c7940dc3f02437e9bb219c5aca814d5c9b13e17ed3ed1509a8ebb6dde6a26f0a6077b9db78511d450a36 - -COUNT=4 -L = 512 -KI = 12ae1dd3ca80e6e94ee0bdcfb6b4be47b4789f442161cdff5285f956b6b8e9b3d1f301feebe71075e4fcd0a7a9be96d6 -IVlen = 384 -IV = 07accf016fa6c5212868b0ec87c9949a06ea1a0bb758870c64ca98084e136ee052e9522d602c57be6faecbba85cd9dd5 -FixedInputDataByteLen = 51 -FixedInputData = 85b9c1de24fa445a720a3c83756aad0dfdb867c2aac639b72de02aa5224cd73f34588d3096a858030fa607d46c4912720a5cae -KO = 4fc6c5801195d37fcdf2e2ceda3d7e443afef506223208c7ff7e28b343afa9d244a20564d342a001aceeddbb5d459328f34298b00bcd372e6ffd51945dd7130b - -COUNT=5 -L = 512 -KI = e16dbeb415879916bec67de90ba97efe727e5fcf08c5313bddc534d987a19d23afa51d11d17eba21567753d9b365bed1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 243cdddb2ac870e38c7880c4f5db520d9e1f7945a2287fb55ec2f7fae06f9c5578699f88537e68c7997be18d2bd47ba0d5be02 -KO = 8d2afb9127a4fbaac068684b0c16bdad40c2987d33aad4f1855865afeb383b6c51b4c3d1b2065300a83127b7d8c50fcbb25484a73c93fd7b30af6c123d27269f - -COUNT=6 -L = 512 -KI = 980c7138cd7410e3d35f0a1fa58ccc96299c6682a2434acb31f0a6cb8fd0421345b743549bd78cade0091343870fe38a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6cbc5b3bf0a55e5211dfe46d362b04d603de75a5d01e3225b3fe2844bc89e810c963933e46a99a1b412fdcf79448fe6ead8c96 -KO = de1f96101ef13c6d33c00bdfd8435aeac7a85a9e0d4d767263854682792762bd0f9bfbe02256297b60a1143364a232161242b4c04bddeaa83a3be0d1a88b03a0 - -COUNT=7 -L = 512 -KI = c5e1d538a19531985e845392ec66ecaa19d4c9dafc15182313b246f28ff92292756ac5a0f203d21ca994649982c98237 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f39a7dddebf0fba8af275fbada3e6d686b0781e79a610eb64b0b5d26324b2c7284cd212d3327bb70fd5a41a52d7cdfdae4b11 -KO = 282bcfece63b151010f5dc7d28761033866d199a6747a216f4175af64a43d28c544ce5a2a00fd02a2f390d7f17938cff5fae11dcf8387938eb1a6c6a9202d03c - -COUNT=8 -L = 512 -KI = c0bc37687c28a29c712baed701221746fa146b207796503f6891e0faae9e0e1ae47b13a5f6753390e74fdcce7eedf9d4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d26dbcac413edec3396d93c8b5fe3c4b08b7da6f2f1b405b04762ec43303e83410a9c2a3d8ff8b3eeaaf85527741d5f062c6a -KO = 9b5350a5be739229ca0ee650d8b442b50bde87c22c310231fd5fb92aa6bad6e2e0de5c99a7c1cfec7dacdd2a793519405968927246d004047ad7fc0da301e646 - -COUNT=9 -L = 512 -KI = 3d7fb56bfc0587671d4a13bd0b5d6338bc37f2fbecaca2b3549012166c84fd1e41b9e9c88718aeee775a939c7ccf6608 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac3ffc39db7ee67df168c629e13ef1861e495eaebf2b3a2f237cdca71a2262dc2826d8982c24ef0623ecd91392f1ece44675cf -KO = fb1f8f60ded228f6fa0088c0f386fbe8010bfa409933a8867cc1dc9021448c30792309143acf849f00167968467e82e9d24e11d4a0d92b61e74809a043196553 - -COUNT=10 -L = 2048 -KI = d280512cd9c6ba69f67e536e0ab3901292879d306fa72577cf2258b5f2c4759025e7f640ed665c52b0f9b77bb0001100 -IVlen = 384 -IV = b224b29f759167396f0c87d0e35914d1a3bd404d9915f5e8723270d608c187d555fe156925cad27f67e17671484b4ce5 -FixedInputDataByteLen = 51 -FixedInputData = a1924ae724f5752369013b091bf136e782376a147d8bf9dddd5350951d50603f9a79de9eb7f024bfad13cd35a63224fddebf92 -KO = e370e16748a4ef850f049e821670f76cb66cc3966910cbb523c6591cebaf655cbfd53482266dc84f33b1c7efcfeba0940a69777d8ec7b7c1c50ca4edb2113409b57af64c141f062f44694733d7ef1bd7416df9e90a1424dab1a935f24152f0b0e5ffa26cdba08166b03a5631ad94e607e9559252341fc631ac4607043ce8dfb6aa4b071c4346737fbd46deb37cbe34452c950b502ba10e8c3e593938d0e32e26799b025da0daa0627cb0b159f7f42336f357d7d6af3bfa60997395f960df07bfb869e1d3f47655edbeb1879d3efbf1447cc5cf88f14b9c65eac8a66d0537de161e9293c4bdb438aa662c5440c67ea2c2f16e3907eaa6e81d9abcb86b3b8a12ba - -COUNT=11 -L = 2048 -KI = fb2d9137ac228f738ff8013e3f7f62ec9ddf7f445dc0230b2d1dd9a79ebc01381d9a7db483120d395b534ca839910173 -IVlen = 384 -IV = 53820a012383856c98bd45b0d7d58639de3bb2336b4f7c715064637588eb5ef646865e6170767aaa0fd65a87ef13f818 -FixedInputDataByteLen = 51 -FixedInputData = ac2a8868572ef3c2bd35e6744bacb87653be8ed92bc6c28b703af6c296f4e8083929c61be7a73788b6e3fb72351eda56470e4f -KO = fe462cf022fe531e84d29de468543652a85f784f68eeb78500927002ef444c4f2502bb9ac86813d246e58ac87d703f98521f8096504b48e8045d6a7490be1bd603f83700c8e28a4090a98cf368cf772f41c538193c63ecbc4e04f6b9402a7cb3351bfb7c96f3a99a97513d04d4e5f45671bd74330b44220d8e188e3a77271cef8e348d3336cf6a772fc8e600b9c086dd426dbcfd5f4441d54b2dd2947f7a2e63eb6db3ab74e9a99ebcddbdc43145b797790c58819aad68c9287b5d2f9635acab9e069b4e78bcedd1e416ed48068f9031c48d99a2a4f436f0a896a36732ce0e72dc6ba9af8d7974e2a960eddbed2c9c1a7f7018b2fa0213bd7e1599bcf9248ba6 - -COUNT=12 -L = 2048 -KI = 3128cc9493dd49a91a8fc5cd00165517820860b35b5961256d22e6c0171be5554afe49ff4dc14df1646d2ad452e5cfc0 -IVlen = 384 -IV = 085f440e005f700e2d04cf70f47c64c3bd8ff6261cca616344d76fbaa2bd3280c5c2bee3a899d26c274ba3aaf216de91 -FixedInputDataByteLen = 51 -FixedInputData = 5f9f46ddb16a378c69a5b369901b27b8ae717a31fd5a71430e58e07de3e82d294aa157cae5e0f813a9bc1c28a9b285f9132739 -KO = 5167602854f17f4f800af66377ce466d6c1d33e47b950937f456bfbd0d669f3007b4526f9308ed8e0b00fe25da49600cf207011b0c0c9a132954b6fce6b41b8a6e152394693be307c399f2910ef335b7c49c418b09ac4e828152d3398c7809c69056818873383187260efb2bc98943b402069c046e6454a593dddb272f93765a7cc69e79e2a5a7010028bfde8cd3c7c1e8ca3a880032dd4d93514611b0d037fe91d93879c2106bf23840c09f26c7c054290a118aa6f0f1c73c435ff26f60cdf7d4575c336a1ecd11b238d6f526e81bf113b856db9e4fad9fbb75e08554e6d056abd1a3850a0b749d26552ba6903ba30e4c3e932fc33f311d4848fef11899b9dc - -COUNT=13 -L = 2048 -KI = d758fe652eda82427825b6853101aa0976ec86684441a0ba8ffd5bfd213af74f5401642cfdb2e8e3cffbb978a20e66a4 -IVlen = 384 -IV = 1027f06d9bbe707f504d25869bf8098cbe7760df9d9ee42e60cdbac06a6004c5a79a4898a2ed32245da8c4f7a0aabece -FixedInputDataByteLen = 51 -FixedInputData = 08816284edc30af3fd15eae4fbec62f2075b539b8ab33dbac789a52bc4c16552a9d72f2961f38dac3f1ab2718833aed0ec9617 -KO = 25722f38c81cc0b37fefcd9759946d81c1ea0d61f1fa97f6fb47719f70f831dfbde2ff7d4e4fba70e9879c00049e7f65c5598cd23f37e6ee8f901bb4ad868c71628754eba3ad206c29d2af239c6db8da9580e7c60aef2c1110f99bc379763b8720e85fdb1be071b217502669644941687fe9eef6eade1ff368148d0f2305b3e4772ff851128cec3022b8e0800b829baa762aba1dce9053682b878a508ed7b548e54aa5147b338fbb0e612fa94d7fc1760e3653279f264cd94ede3bc0e4c53081ed6a5f91c75411ec5d14a3f188d1a66c9e62cc2bf4ab18510b0726dddde2ac3259d781bd82e258ca60f37e519b871efce56fb5af0a9e9fb596ef6e344669f496 - -COUNT=14 -L = 2048 -KI = 1940da1da9955cdf69a9d9094b4eb46c4d76157ba5adb34e435f126d527c1e6358cac5a6b907fe7abbf0af371551cd7d -IVlen = 384 -IV = 89bc3211f0914edf88e468160f28d22d55a5f637562bf81c18a959528f85ccf4382d67bd9803bfc882db6a74c1b72459 -FixedInputDataByteLen = 51 -FixedInputData = fe87832717e57960fbd55e7dcd07353749b53877021b5f125a907e5b9ec9a2424b81db7faa21e0e3b88a65a97804e6cebdfc92 -KO = 051e6c64f40500f75449430ace50ed4b05ebdbd84ce80aecef3cd71a3aefe2963b8615773877f030358cd58b6a78d400789da1bb14bf06d78ee1fc9829fdaa7acb92e1af27edb237c1241f22d2eef852339b261eac1ee7a10caef4efb217a2bba49b948039b6c9bf9f75b2372db4aa7061ec454afd097edeec427c26b0256e285a7b5b945ebbab65d1bbc8080d0f79c5302b55e0946ef435925621a21e9844d3a40228d78b944f207f4cd4ae62eb9529c491a9ebe779cb4addafea7b8f8b6d5be8430e2f661aa8088c95f9017682004782d8e677044467980941c58d1c6bf83d867723d540985082688447eaca20dfaab851fff9193eec0956ba93ced7389635 - -COUNT=15 -L = 2048 -KI = 9f8f26f3121c71b59a684d3fd462ebabb03a130d730b9f0d14af19085cfef1616ecf714041e28df143338af059ab15a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09594ad312c84515ba33b1d82da671e3cc2017cf01db1c7c7f5bb97ee4771f398e23992fd4bd38272c8445b6b28b3a100ee2ce -KO = 333952b00571741b64528dbe035189219531a647232ea93831897f2b42a4d6a8b39af696f4249948bef0e86a13e08cf9d2cf4a8c7e8e223a2c036afa0f74188d1d1baf6bc55c4d00973b18f4690c24af2d98f4cefe452dac42e423f8b2eba844d22982c5e1c8dcbdc7de05c79af73bb21431224c81bda4c74af3427e0ec3ceeb422b57da0c03dd4e7d5668917de3a3e06e5104d256953174195061712fd7e2172bb0740564c4db9610b45082a0b0cbd8cc8835651b5647350dd662176a3582b1417cb9e87e8c90d736fb4c65872b6fcffe2c6eef925c636fae5d6759862146f3e7f1b5602fd4cebe39fe578dd8f9d89aee6fbc871527160c71835ee4ec4a7a3f - -COUNT=16 -L = 2048 -KI = f5331d4a52adda96b5bf35cbd9a9b49eadd111a2205e418c8e26009de8cf47a67394c7263ba412ebe749e9f08664f17c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8df6ad2114b5c8737f18c998ccedc03b6f89162c5341e3d46f482499166b9f28d076f0af426a87137b4df8e73eac1cb052e0db -KO = ea7de108b14f7f6903b939a1b12079f1ac6f780e94076baa55dc79e9b0c4953afb1ed897eb78db0d0ad0c7d8a6256856daaaa319cd198153ed12f672be65cc82e7b33084fa6f04ed326ec0d449943f134eb912babc4f91d63de7b3486f6da53a2385ce133389dda4833d2b03f1144fffe4ba2279a9767c82cba41c42f342cf3677987bf68a22e34606934393f2a0eec37cda040d8a5d36791f9d10de9aaf0aec5d116cf2e58404f26cf7377fdbddab719a4ac0025411e1b885f3621c41cf28db4b4cb58767259094681c37bbf7be857709853b170d1daa59521df97a3b3427d4afa65928ec958d164d1b22fdd9cc276d4b7b0b9768ee330f0e9edd71d184af45 - -COUNT=17 -L = 2048 -KI = c6c0c403306122cd6325aa98b71f9a64f209ea7245cd2195168df0f728fe40b0089c98c03dda509b0ef25eadc98e6617 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14e20820e99bd2c44e6eedc82b92af3fee70601b6e0580f769bf12ca13e44ac2426b964216e1eeff56fc28026a7d9818a9ef28 -KO = 41e7f1bb4b979f77af982909f393d8e70ecf87acd1d4f8a84ee24a5e03017c20bab8dedc935808416e406dda536a878f84f05bb87716952c1796dfce5cb7d930556e3781649b4c5ee92b5d65fb6eaba06ea695095b0c1b29e70b8caaa9fc52ac0dd1e803c6f53571c6d202385f55d53085edb63cdc0e8fe33c62c399ac36125b68772ebcc729212608f3d5b5032d4be6748ab62e3e26c3f12cd9027e6c37e8a81d90691d886e4b665f2849b35706ca5a24674be896e99dca159283645af5e0efa13b0c21b25f33d23f43f4230b55c7d2459e3367393342811237f470c143cf0e75a76e2594682ee2b8b429215479b138acbb7f185d9bb0896cb93372aa982dec - -COUNT=18 -L = 2048 -KI = d0643333577bef070cc5aace9c0c437f70cc27921f6792a9894a94cf943b264968952ba8c6d1816b1c5048ce808ec7ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f4a06494d490f4a724570c8e968bb18319f4645b93b681b2c923bf8874f98414febf918ff378f476bb401ddd33daef0d0fda4 -KO = fb036d8212f8a0a720b2a7a8acfd851f1a1777fd8fcbb1985dc076e8e407dec4b5e871d2a32cc87cb912fa9acdcdd43bc5fac859c543acf51c641a84b76e549f459afd84e410af2be5eef41ba55f37a651ef98b856cb8e2a6d5861aa366778b5c2dde693239fda66be7b0d7fc1c55423dbccaf6721fa5ddadbd4ccbfa885c459ba7d16e9f39eb9f490241dca4e2f809b23e7e0f7ef8fbef639796a37b06f247a88a3011229806bb43230eaa1b861822bb9a9b3e5bf13b5fbbdf39427a5abda5ff6f4524914e2d38720dc2b18d376ee5c1a50a873a31880e46acc983a41c9b4a4c05f624030fe4a898667063d3129fb7d0908b4179487d7a622bd1db4589f5132 - -COUNT=19 -L = 2048 -KI = db9b7b7b4293fb25dd628e61576ff45b17c477b18e61a80b596eeb62024409d959ddd85971d6e065f2a355a67ef10525 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eca7ca35e78d98290c76688cb16c3194c914d56b2cf968bd1484376a28f43c4d58612b02b52c72ed4629ea12f099c143c172a6 -KO = 8b99c5efac4aef58ae31d043fc88244cbd63002cb1b2472d40dafce57c85151a5819e51d4f5d560a252cc6feef41a4e539290346bdc76adb5258788fd247ac3322ee13f5709834c79214713a1a1747c89736140da568bd3db60e43711c796e157b6e375938ff06a8231a4c9e1c01b29a4f45c11e8230cc4c6349a9d9524e132fd19d99f95b3873bcb99da7a286976f6793bbe35d0739fdd2468d850ca2b1a7178a5b1cea9e2d03c131cdb635335a8abc09717dfb79ac99ae92911a31aa5d89c6d8c8439b5d27228218ac3bbec9efd2d4c7cdc56a73ded257588ee81d9742317dd9fca49bd877caabc3a47ba57e771549bb96c016cae90c2cc745abc727e05711 - -COUNT=20 -L = 560 -KI = be8307dab390602038d0d6888181c0cd0d49f00c7349f118d2f95d8338bf4ddb7f58072630a517144f33c15ffbe1deac -IVlen = 384 -IV = 19ebef8df34ef11ca5d4930b0cf607c394449985344bc8ba774b7e782340d6fde6026b7d026603733ebb418ce9157b5d -FixedInputDataByteLen = 51 -FixedInputData = 02b166cc57d8c7abbdc6d4a9a0fc075e6608be327811692406b84451683f7a481716268915eb6616331ef27f0f9e70dc7b59ed -KO = 80ee2715e936bbe4cc4fa6d7492bd50ddb9adf655a208a58d30ed974dbfc7444ed523afa82651e8dbfb9c0a40db68de4453fa40ca6a3d8b85a7421377d1d257066de7ecb416e - -COUNT=21 -L = 560 -KI = f716c976a38727710566fc8a071074eb01dec30bba2767bb13b9d0262831a02c40c2f91bdc7e1caec243d78ae9c01d41 -IVlen = 384 -IV = 5d366a290a1e4f2a2f996ec4d60cc5099b00be7f73efd42b53d2bdbdf7dd9b4ad41925d2dd34938b7cd109b2ea7de586 -FixedInputDataByteLen = 51 -FixedInputData = b9a84161528e75ebcd1187a45559c6b55f95534a250ba8e7caf0799672bea973e755ff25d1cba965add3895a6e937b8df36f85 -KO = 49527c8e0096d9d78d80b6460bce06a1b0891631a67a5da880416c55f52b110fb69fe74fa7c3f6a4f363aa2a5c86577fa2e7b9b7f84ce9753629374a94ae72c12ba0ad7f8235 - -COUNT=22 -L = 560 -KI = 735652b511b8cf4eef1ce63699043f216f23db9e139fc3f2745f835a67ad008e8fc8ae381df967e0501a74930a34c929 -IVlen = 384 -IV = d05abf25e856fe47c0e06d60ac0a02adb7d2b74ad71256f5956ca4e4f2c1d40b318314a775c9e1a335b870dc9f3fd496 -FixedInputDataByteLen = 51 -FixedInputData = 419b9ccef8e5c722d0c78adb9f3d42860b1f2b9a413c716cfaf89f1765e8a28bb1c51680e4286eaafcd0141cbf2a10a090f938 -KO = a0361bb8b5846c1db08fe71e54ed185592c3cd799b068e4e70355b179a03a4ab811d8631e7164983ef05bc70ea0f5ec168887180a67d215ed2df24f070ad4f0a12695849bfd3 - -COUNT=23 -L = 560 -KI = 9dca84406c80fc28cd86ee35832c98498b74466abd16ec646d140cc8a455ef78a5ca2fdabfc1d32b823b65b4fa658001 -IVlen = 384 -IV = 12649eb7c684770d34510c8ed34ee9426b90e2e16387d78d3c968ff16add68817731ac46c3b0cf0b936a5da6637896db -FixedInputDataByteLen = 51 -FixedInputData = 52d0d456ae2e38eaea536ffbfdf052092b536da6597f6221e18542525115dcf791f53c6822e969be4ee6dbe4acb710d67f28b5 -KO = bd52a48fced1039d909ca0237d9e95e9053ed776e7cb26e04856626ae412e893c4c90f47621a0b6a3fbea0ff6303c1b921601f95e1646455371b4ef39a2a072c3518f7470026 - -COUNT=24 -L = 560 -KI = a20a6fcdd5b5daf79f7afddc75db5410c038a6280f8ec233c06b51db68be1cab1c6aeae8b4c99c49fa8fa16b3e0f91c0 -IVlen = 384 -IV = e5d10d040f03c897009bb64e65d494259afd1acc26a425c3c91a676adcde72c0cb23eafe6eae14bfa4ff8f127a25f3d7 -FixedInputDataByteLen = 51 -FixedInputData = 26c1ad2014d70c6225386b04152137ce79085f8a4dabd67594bfb3129bb66f83565d6501d89a1195343e32c0a9284ebd030d50 -KO = 1740a73f5582a69e79e8bb0e461dbd224eef4e6a73e44fd5b2717732acad7876be218b2f78e46e1da123d5aa3d99c6110bc020ebf5ae274c66f06ae9852d49944f81b9ac920e - -COUNT=25 -L = 560 -KI = d4b4fe2289102450b4186df0c7391278ad3a6e99e58e74845e503051193f48c8e2bea88f9daf7cf0b997a822786ffeaf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d7c503331caeb2f28438676e7ab46e19c1f2a90051ee6b17111881ea7905e94654a9a03128c8f37fb15b2ca4556e33f18c544 -KO = 8ee6d37e4712e42aadd7c486bf6e12b7c6ae383c4525981780a7c1af17f3e878d04ba0cf50a1efc1a74cd0f6b60e8e42568026322814e30af16c3394e4396a32b6377be7d61f - -COUNT=26 -L = 560 -KI = f1ee83814ed9a3df933c775fb03252d4523f86599af7fc62d1bb6d0d4a776e0261cca0b90783fb44bd6bd014814ac949 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e66421d5687a9575a533033bd792e4d74d90619dc0b3c278ac8aca942df0a9fdd5ba83553eb2ffb5e39fb0549f0397e0840a41 -KO = d0a68bc8e6ae1a30f6f861b7916a216ad0d129e50dff12fe50e7431cd368325e8305f62b1d44a61e6593b1e9ae4fbcff9697a9031ef686dd1fd90685de390d17eca451c05a7d - -COUNT=27 -L = 560 -KI = 9223286f606c9d4b2abaa2519336a18f9437827a6af2e02fbe1df9a31ff42056e6c091da47ec29a769b4272fc5ff50d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 197e1b9661dcb67b47391c7c87482f4d7138302a8f4c27b40d4648461911a8b4807866c900058a5d8fa377cd1b0ed3f07e60b6 -KO = 949cbf52cdf31650936b1e855e64cb17547de4614b3a6eeb946703ca0bfffdc682630b8ef2acde6a72211c8f8a18b54794529d0ee358681794455c24072c202541eb906f8348 - -COUNT=28 -L = 560 -KI = 293b92a077b2b9eaf806aacb19fed0a3b1ec1aaeefdfa501ad354b73196874e4ad669c42a6208b8b712cd6392ec74b16 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 88336c809ddf4fc59b39ba12ef36b7dbc97a4f7159f75d7085f1f7ebcc55824610220f4dccc604eabe06f598d48296ecacc6d7 -KO = b653f881f79f76b2d3557e28c177ce731dae9c7316589f82bce044c52f88eed15c095f4b156f184e04323c3fceae0dcfccd8b3e957de17ed6ec45b5e76b63ea00dbc4177ec9b - -COUNT=29 -L = 560 -KI = 69aab6699674b203970b51af22dedc7799172bfdfd0dd0d8c2d0248581fbd7856529f996c2e569367e0ba4a6624afa19 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cc1bbb591d97d99be0bcd2481f18c6f8f7b7c115907766801a9f89e67e166ca3591f5119ccb880608721017ac25c23f572dd2 -KO = b2d577b9c3294b89798f65b50b5f3e59c3cfe7f2d4323d1d837bf6bb1953e818da40072997bdc42c67b5cce7caba5be847b4bc2b51fc8c9fdc58e694fb72d2fbd3fe04eefc44 - -COUNT=30 -L = 2400 -KI = ca2f83b9b16071cedf4f6cf88b2f055d0167205367a3511e17ebbb3a86bb298beb1b7102d9133a6777fe79f36ebd578b -IVlen = 384 -IV = 90dc959a1c492cc3d9d0e5e3a7392146d613ff2b9513589151c867cf4ed32c83037f5647182c8a5f4de4b573e0056870 -FixedInputDataByteLen = 51 -FixedInputData = cccb64db6c57ec3ec2fa0c50abec38fb299818945f215dbaa8ed3fb1a5ed997af0d913d19443d8271196c7bb99adeed1189a89 -KO = 5d91cadf37682f74153a3d2a7bdf8ba295beb51adcdb11f5e6137b596a2a166eb61740792cfefb1425e5041d4220f833d8c418296ed92433060587a860f5081fbbc317f4aaed8c796922b649d06e98f7276cdfb4314ad7d5abc6c8c5c6b5e907b46ed6c012b3a351292d1ebdb2e19bfa60ef42feffe2c3a97be6750ca1647702997fe7a694fab41d0ebc60b34d66adffeed8929a20744e9d900d20725080a2b6048b3f21c4f3385f840a4a2b71c3bc12ac68f8df22356039680d82c2e96e4eafe34a364acb29e4e3d4b4d9de8bd53a403688e4189bbecc3b2065c3bcb946e614c9657248e7466e62d4add5197fd31739a41ea81a9b50f5e66b0552755d31683cd3c1d0e8ba6ae1887b150f20905f48bf43001c7e1414c90036dd4d9acfeb3beeb72828fe32867598d8256a7d - -COUNT=31 -L = 2400 -KI = 6223edc8ea5a2e29c6bb8dc96e9c30922935203c314e46726c10f7272828eb0af398a2c79ef98d9067111d9660246911 -IVlen = 384 -IV = ff994336afae2068e4058b0bed869d2a559f7369615590144014917e0546fb80e1126507ddbd9dc6c3bcb8a6bf68fe5e -FixedInputDataByteLen = 51 -FixedInputData = ec61485f70ece8789a0f1d5ebf7d8c1cd9087b2614c44bf73e9abfafff55e6e01d4637ea7a2d809fd7b5f39636f80ac35c7b10 -KO = b750de7cf7e7e1812c96e8f8a2cd4ed125f406b042e988e171c2091a78cf223809b796d4651ae30f5b1301df777f07077871134eccc5dd293026bdf44f9e97031e2bb5c7d5e9d9365330ae173d8330aca932674dfa47329f09937b18df9bb4319a6554f88a127453f93060be637212ea8901953b6ab57b0aa13b50db0f59b3519499b23dda7569e4d91f3c8bc84cd4108983a9c2a1efaf785a875c354b67066b09c61473636b5d5135c3f01642c3c906e54fa2b5059a458bf870aa525bfbcc77eefc7570d47ed620965dc88dca271ac0ed0e1f593bafa111eaeef09386a6282133ed08035dd4be235c7d0219ed725c0794cbcad522d29ccb6c7512bf28f7eaf9987885ab9214601506762c4998dafeca28ed439c43652a16d566ced6b3ad66156e92b685f14e0778395af72f - -COUNT=32 -L = 2400 -KI = f32664dddde047ae6f4974918636f8c62f9c25a584ce0f65639e25319dab5a6c356fd2c45e5abb3e59035185eb177dac -IVlen = 384 -IV = 209fe7095835eeea0d4be8fd8ebae192e2952e92192dec5e832a374d5788f1cf906340a959d34ac25b6b7cfbc8e2cec7 -FixedInputDataByteLen = 51 -FixedInputData = 0f9298d81f95331682f78f740ce70680f447f4d9b6c048a946e6625c98da74446285631a1cb818ffeb88c6410f1ad3e4338862 -KO = fcd4ad90285e39407d353a3ace2da20fe1489091ba3eec0a366cb06a2223c28ac26cd397b65c932dd8a1359f77086d9430b35127b9f5ded8711d21bbeb7b74fb6f711f73341c7f904196611797aa65ca96795f6422024e91014b48ca124269aa58b29fb70b3d38a2e11e89b86a1104e892941a47e741ea27aa2ad79afb9a4835464e9f211c6c03012532ba4105fbd34fd0d91974fa19e65601c681378c096ad000b6165cf2db0a59c2c75e3063dd1220d2ddf23acdcf8eaab62ce0b8cc2ef62f7a9d09dc541a917557afdda2299be86ed7d17454687cbfb239afcadbbf3d732d917c3039f4e1b28ae8bb3d451260e7540ace017c583b58d13dd1780057d0d5c6c42771a956babfde4f55c0f415cbc33d2bf36f4aabdb482eef873f6a5c7924250dc7033f9ca519f749b5175c - -COUNT=33 -L = 2400 -KI = 3949410a2103d31878383f111015ff9eef7ae3fb97e22f81499107a6d4fe101d50f4718e7dd2b35ba5eaf950337b3fff -IVlen = 384 -IV = e8bb782707c537c21826be4c454a93d4b5016e46ad7f244b588ef9fd71564915435a8a9aafaf8a62e4aa29d42db1cf15 -FixedInputDataByteLen = 51 -FixedInputData = e34551f316244abd189ae8a558a110f3e4f6f27c3f412f8af8bb4b15553c122b7cecba7f2896c9d02a3c297d4cb1fa757e252c -KO = b08651ea36483bca126da938c8369c4010b39f357a76488c932d192e9a921fb3b0294ed627ac116c72883f92354b7fd9ef70698f821282a6c76a75345c02c541c7415edac65e0d193dd39952957fdf4574faa9833de33f60ede46213b45e3763bae70157800081dd5749ff5590362910f1ff63724a5c37475c1bf952ec72c82bb8e20b9abe21cc9a83be2b36af5cccfcb9596844ff9bd549ace747cd30f7858d1afaeaf3621ae86dc0fd53e5577244ca35c265536916d739cf15e4575597ebe1ed33f9648bf65388082bb4a6d59f48801ac16f49e6e5e7440bffcd2c56254670f948191c84bd740fa87afaea261626e8b14d3f0bba8aaff51b499ad917c25dab616b0f0d9ea1f2b9e6ade0b2a12764d1d330eab238a8499e6deced3657ffc0f4c49c31d2b0c1af33ce689293 - -COUNT=34 -L = 2400 -KI = 2ef884beb8049418fae77ae89743f119617e8a48a5d7ffb76e423488d4875e70afbc5ee4843ddb905917aa32195b1029 -IVlen = 384 -IV = 07b4aade987cd544193f88549926b3bda0af30f54f10b24615f33538d1088a31f7e937166d890a14495f88d174ee9337 -FixedInputDataByteLen = 51 -FixedInputData = ae29dd7dd10ec362d69557e1f1a3ab6648fc310b86c1648a9991b3545e2fee1d71dd96a5f1f8b323af0dd5e4077a75b1338189 -KO = 2327b1d684aa1897c5b47c01ea704ee0c2ebfbe947e6eb9ff7703eba9fcd411b90c691fed53a018c1a7704468487fdd9502bb8e8277c57eb4d019bedf2e65e6f80cabd82bdc5c33fadbd9905fe8b982fac5137678ff32c018775970390f287e699cebaf54759d2c78ec6a6757e7748ec33defa64a0ef53d1d225c0bedaffcc8567d71c6bf171b902ec89bcd7ba2a5e33681940ed59330f54cba3ede3a7ed2c9bfe47a4e90e23fd17a783fd5c188b580e8aa6f9adfb6e433f346276fa1969888cbd2e1d34450392051fd37d594bdd74e0d90a4a7059979ab8145df9653df38a7586a2efc883cf052320493aabb46d8f0651e9124e560ba19c4cdbdb4000ad135b0b4ff7d838b3ec7f00d6a39db4f0c3feae2663da749bda02482289cb996251d150145dc2be8211885f13f22c - -COUNT=35 -L = 2400 -KI = 63cb5d75fe663ec7d1e8b323f9168823173f0f157b38700511f4f3b169a21065301e4b6a7345a5d2adb183364485f0bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 43fa1f2904869d7553eb0486df5f3febb7a4f1731df03b7adef5a5e00ebac78a79f08fb8154148db2642ff600b43ca03ea82fe -KO = f5c560ad6af1246ed4dd4b51fbae8ab6efa0430199b3136f2ab93b6b552b272d93a6ece83ee09ed858078e52d0f888f760162da1db0a23e41c9b60db417f96bc42d333063421d6152065d9253012634e5eeaef941213211b50caf186032bf0eb77ca5194bce46b80ef65235d719dec5a7bad57ed59846ccc68d77425021b12be8f5e2e0b20f434f5ee7d84836ccae957f962f9c0fc3e6e4e52a13d37be2abb68aea16cbb3082d35dbe37936cd52c64dcbd119e82db0ed39e68b001419ff9596eb47450264e1c8bb45b7ed71f0156274008e041a075410c6a827af19bd7302b65e858a4888d5e3b5b7a43809d600bca35e2fdc98d193ad65173d626edef4a32b6ca9f1d7a2364b4b7f6409755fab012c4dbd45a239b90cc7d1e5eb096305b6741b88baae2e1bd72a39b55c25d - -COUNT=36 -L = 2400 -KI = 012fa751d3a43c907a78e0a96715fa651177a34dd20904553daea8aa05a37c4bd1268d01e27970d5bd9902735d851256 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e9cd1e6e6e753dd46906a0119b67a1443304c14be7ed7ab27c1ee279736c8301229ffc7cebab668534b2661ed1fbe5e61fd4b -KO = f0b2cd947221b694df567c4e7c97eb5bfaf12e71fba58d6ee935c5124254a7e71ad4719306f9ad1d9c4a1b07f876d4793e805a35904a933b04f794076b65c8418338c05d533b65a7e65a325b0b16e95988c20f018c8875281f071e0abfcb7483eb2bb360d740cf062abf37de56580a8f0c17cc6b124a830182425ecbd71544f265dd5206e5bc2f027151fd426074f6109cc83d0d4dc07398c9adef8fa089e977d14168e00b5fc635a226b200f875dc19a901e8354e30209ffea4308ced7ff41280c194b9202aef3428522e88ad3144da4d67396ec377424a5bb4f291a71d9cd4afd2eaf6a45f1b92e61e79031d542b50c4d1ecbd3b52c8b43ed19e62dad0969f70417ab4093db9f4350dfa0c99ce7fba9b62b99d8350d16294455ff49c70295f64a78d4bd767084fe07d24d9 - -COUNT=37 -L = 2400 -KI = 6e1ad26a9f3246a00edfbd16a38d3649fd9b501fee9784ff7b6e177c772cb60bb34ab030b61ce52ae9ecbc3091e666b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4cd58b1d6726df6857d89695fcf706191ec276c40ff86c6e7673c01c251f12d9266020ceba9a92af187dadd86ecccce732e447 -KO = f65dfe8965ade152e997d1c0dc60799694d6f7da593c8b78a97330c9ec443dd622508af1efecfe52a7dc8a864e10dfd48268ec1d3ab7f297c162e550ab2e8b83945819e004c2b082514df8a29f3dc2aaa51f071c67e6e0a76a92c5440e39b9aecbb415e028e461389b3fa0ae68e60c9fafe5c1a19b5049aeae0384a99ebe753028bbec0fb6fca2fafec20326c777c894da3255718ee35116d624c139bbb9d0004f0cf11503b7ebdcfba7eb6417d5d1c6cf32cc41b216f69e98774b23e3ca3f1fe81dc030e58430caba8a4d618691577cae0823dda514aec3f8ff75ce9b0322e6a79ff95680b4263f031a1d94d8b4e326a7311a24fea4d98003ac8f7ce680fefa7605eb386b54f3130e46d7d656f301eac0e5909585da5aadcf42ab82d7c6910feada1ecf069a4d61676e3845 - -COUNT=38 -L = 2400 -KI = 0fd4ea45f384da774f6495c902e6408713bf349568dfe82bcf239c552960a54ad832fb35eaf9ab2a7f23a723c4b8f692 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b7b77f9356140209467ffc62f6e3ceed6a3379ed1e68961a33f16a53760f93455b1d109282f68a7c1b699b054c6c4de434e328 -KO = 18b52876e25bf3a0e6ae7faf4879ada733b4860dfa76550351c6afc5138735d9bc47da34d38b3f88ce0c44c3bae38738022b365a4f9b929189dbe245cdd0a65f09c56c32ac3c058d574e5bb0570937f949963cd51a0fbab738a2ffedc2a09e42f298a48a47204a84a671692a687bf46d091242ee74f1178e4f0d3a4c9b616ed561faea2ef0fcf9b1dcc5ad093a3d6a5a7405657bebd7f4c13720c2b11b152f99c852d34a99db52eb1e2b8030d92e9acf54a64eac8fc5331711e23f19fc68e30f168ce69ed791b6d84da7b28b88bd4914f48f67b7de62808e52502b74510188753a5c73bbe70d74710e1f4af9e40755723bd5644a99f2dca7051730c7702187ee7ed1f95e7549119ea2da2f452bfa05cf99832007cbcca4934eb5de44392bcfe39a41a710467e8d2ad53f04dd - -COUNT=39 -L = 2400 -KI = 3a5c9a684a556429a584834f44e75a3c6635e5c40263e35f47c19566879847ddf7b9c5ab46fabe28e51559413bec2b60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 453621941f9ed8239c73ae8859e3b628ec4ed5b883c87af1b1f6e9a891e11f5175fa92e674d30b29d6fd994b278fed09c3198b -KO = 4dc28e7fc5f6a4a2afe4b6f16ca3d1daae86ccb22f7bd22b91f51d21e8a9476ea05c5584d94dbe355373eccf4c0bc6451f019f7d546bc2cce9b9f43adf59849158c51f66e81496048854c90f8e7387970d798df3de9dc7af57e20c298f27acec0af23a80920b51e42031d9d4e9bec4454f00cd54bb3c4e1d0ee571f886e778e7af87db53dc61033291a0c4c1f1bb49de34b2b6cfaa77964c590eba185d210c1c3faf811bf120344f9175c85499277a64fa6c36ead79b1ec67bd40ebe2ab20364157432f08d6bc91103fb1645e9cb81ba5646f0f377ec6b2e9f85b9f74c9aa209f2fe3813a472dcf7bed65d71450928206d2bf19e53db371bd717d31219a1046117bbc18cdd81fe253b7f7351036e404a0cdcaa1bd92690449646af5236984c1435d282088a91a74ad2cc9044 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 3dfd41d8e17232a48ed9f0eb5e5bf8d7165dc046cf7abc04d3ac3aa735431353286a62c053216e7587c6fbd6e64bdc53 -IVlen = 384 -IV = 797f7a10cf9ec70ebbab77de1e4b22f707afa0004ec110a0e86d01d78ed86e686a8f613dcc3495848636580ddc187112 -FixedInputDataByteLen = 51 -FixedInputData = 7dce178814506d56bce3c90730268250f948cd29fd091b0db9ca926c6dd3d59e40abf291b439e72b3c1783a09b9ca090a559e8 -KO = aff43a43d89f515ff885504a9a58d571eced9541c649905509f9c9d894187c30a112d16695ee48e757b47ce642a106e4107aaab782da59ae59a063c68fa3d953 - -COUNT=1 -L = 512 -KI = 6639e6b6f558645892f24720b697d243317515233a55fb38ee7108f21b7f73c4dd16a05a9885c15b3a3c4590e99af980 -IVlen = 384 -IV = bfd731e6be4f9a7076e2196de7a344f9c4c92443ccda6114939c6f10748587fe42f812ada77bceb9130d07aa1b0d46a8 -FixedInputDataByteLen = 51 -FixedInputData = 7f52d90e3ee9e9efe34f8de0f97766f6fec8d48cf3f077af9a7577c3f16a9c744ccdeb60a296ffe0790f9903f16da69638c9f5 -KO = b3eae0ed70bca1fc6f236c99f2eeaa5c4cf2cd4d632c97d28ad1db8fee4c3cea2e6261787eaed1c8396d77023c3940906e9b2868942cd17c6cf9ebfec3faaf13 - -COUNT=2 -L = 512 -KI = 381d72a6135fc503f2157ab5d27c75dee7b11b1c40dd705ef31b826a1ef072401a1a0365de8fbba46aff4131e1bf11ac -IVlen = 384 -IV = f453d980250e15923dbaf59026228fd35b961235c02e38323920b78e0ee7e86030a8d9c258ff13829f7b0664c636f5aa -FixedInputDataByteLen = 51 -FixedInputData = 3e99e5293b98957f9bd4f241c2a56345fcd0284b2c93f4b59db4a14aa1f7f9eb6ef3106c73362ddbe8e63cad8d06dc345ea381 -KO = 1e0dabf72d41260affd9bd51e9f52e32cdcb3c054cfda57a335e1a2a8024a1a4d9763667dc03d63cd27eef22f5ab7f1fb3c69c15330c47ef320e0e7e89767035 - -COUNT=3 -L = 512 -KI = 438aebd2f510b777f52c288d62bd24b09c693d14fe41164eb92692703809aa4ad1e86ce5e1163e5d44561d0804c419cd -IVlen = 384 -IV = 9efce190eaf2e72e41999ac2945d660eb25c4252e88912ed75ef6f552d6e333d3cbef7e6c2d57786cda0d67bf5fa7cf2 -FixedInputDataByteLen = 51 -FixedInputData = 37b02d594429e11f362b0e3cd61283aae804654b4a876953468768a905909d9c5c8e9c7afb87f84ea8f143e40b9e3f527a54c8 -KO = bcb3c1c79461cc7fb45db371ac583cd41165ec7bf7b1df38147e43da9f29c0d7f49a47ef00f99642b75bc325da06384f6e477ea64debaf7d41db9c2eeb24343d - -COUNT=4 -L = 512 -KI = d5dee32be4ab65977cb77ef9136ae0a8e5ce89e6457ad0b69b43e24c29e860f0aa4b5a0c87bf7710b8ba1e4725a2d389 -IVlen = 384 -IV = 3c1f673b9130c1650d180140fea171e20fbace563d47359f3088af85fffebf8a46ba30e4e74d06886c61015e190c42f2 -FixedInputDataByteLen = 51 -FixedInputData = 2ecca6a7a59210fb05763f92bd7562676b81f38769d0b19447ffb03e3f1f1f3a14bd6267ee54c1fe649072988232ca69ab1840 -KO = d4c9e5803dda83147233430ba94bb4782f21b38830e2f4287b0663e7334846fd9d5dbb0f67d682a8674705283c9eaf73019a97f6c58acc0d244dc1147b0e2d0d - -COUNT=5 -L = 512 -KI = 52d0461d2200fc8a09e65931366551facff532273fd97e4ec5f1b47fcfe83ca2c5ab23fe76113cd79c317e522a56696f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0be4c0bb18555485dfef9af709a466ac7fe1c25a69c7d82c251ef223fddcb935b0232b94b911e9760f7591f17e780a60178be2 -KO = 84df59b89386bd818ac582e2feae3337de0a0e183966349d9387f56580f7719afab3b26d26aba3baca7dc886543dc3c28883e2c21b3c611a66d90297bfe767bf - -COUNT=6 -L = 512 -KI = 9e579d109281e9bd6b15abc37d0d6c62df02d96f7ef9c3fbbb9eb58ecdf229dedbe0a03bf1eca0810d24d3370b7b803c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a840e400ddca83a05a701a80b7cbfb67ca131db4ed5d893e1dd504880f1dfa36c163a339cc4a846504e1e018eb1e00b0995ee9 -KO = b9a6df7a9e51e9e980db4a6dbe28ab37bcd6399c468d5f55bff1607e97f3eda30455a4086c5292bb4971e41eba270b782fd8f0253cd96eac9947118cb5eae40f - -COUNT=7 -L = 512 -KI = 0170e3aabb01447811f5a482e29de7191ce7f64f5afbeb0916b37d9fbf463596e6d331bdb3fc488bca56ca6e28271ed8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9206fb24ecba4e4cd0f7aa484c82254385779adc23adeb69688c97e0c027f13c5ebb68cf4ecae0680922e8d9dd8b9fa6b270a6 -KO = c416a9714be1fa47b7cfe5cb67922fe96585b4fccebc2d55b145b7c77ee16bf74520adb0d14ef5b62a5fd5d7daa148804faa2044baa993427a6e05c95f491b6e - -COUNT=8 -L = 512 -KI = a88f4d6d06af863b542f52b89b86128a911ee58ec4401e62e94ff33d911529841229d4d8ff26ec885ec130a09eab0d25 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6901cd26dda13aa70ff266290242d1a3ee7387752a2162de6d505a93ef3bf30144bd768d30095399e80841dd2f3485561e9b84 -KO = 9c85f12201bfaa3b08e5964fd061fd110b255e85c349ae4da7f0da84f5b8f6789dfe735d89e8b9b836b3f00b79d754b9967b845e3e30d1efe2125a1ce80c8bc4 - -COUNT=9 -L = 512 -KI = 25b4ce051753bcde05f219387c90b58dcb9f6d752d788dfa64ff9fbbc231eaa653a090de2b103db21a735783f0fb4b95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9b10cf91986dca9e5f2c082728b8417f0fb4e97f9aa9edd0629ca4503ca17fabac3a58555c4579f098c10b297e738637d50ac -KO = 201d9d6571131232cf769f1997157110cb53de7951c9bf278777cb8e9e04ac05b87e998d98feb58430520cbbb8143792a6acd73b55f08c88009acab4b27a1323 - -COUNT=10 -L = 2048 -KI = 7e8553b9dabd69d691ae8527df83953ca9e8a55e71a34db745acd9127876cc925031de144ce15b1001525020c2d28fc1 -IVlen = 384 -IV = c366eff8b6f99cb69f6c7d10a585160b51c539a6faf42a9c8953bda2abd77ecc9813eb4414bf46b757f780cb49f88412 -FixedInputDataByteLen = 51 -FixedInputData = 44f03983685511ad54068baafecc46df0db46c0406a16e50ae8bcd9ec4421fd41e3d69f1f3ff698264775ccdb05917a34410e8 -KO = b13f494a7e9b65318490081e2a141f624e58237b6e26006e8ba1a5ac2a2fc8d22b0dc368f2ab503132b2bb278f66a4caf946a8f5191b81b3390e906ff2acc2c2e84d72dcc0008f1c1509ab3c3260e216a70b8ce89a338c524845e35d8cc604662a5b73cee2ba5fdf9974e66074cf94d99479ebd1ef1fd44366301942351632f4425e51d42dcd1844aac972ae5345587b4174134ab516577c8076b8ce59a1646c2f77a39e72647a9f62a7725c71c71bd9bdba27a17b4dedf1c74d2cb49e9ca30568e78b1ce20ecdb366de298f6a6d1c04835d4c4996c760b2ee8edf6a9e79b0211f6b9a797740d68c0da117d829be2f2222568bbb8e534335d5b1c0a95ecc104f - -COUNT=11 -L = 2048 -KI = cfdc5a7b64ab9c9ca3d69ad1076a189c5f826c1fd75c0180416b1f783a9cfdaf5a177cc1c9563b283ed55ec3f7703fed -IVlen = 384 -IV = 98f49acd140c9a9025ddbc1b3dcf1e57d78ec5dee6e74ebfed261791cd1bddd5f55e3714670d27a6debf03768639f7d8 -FixedInputDataByteLen = 51 -FixedInputData = b2316f98280eaabdbc881902992003b772ac69543dc9d400da6f563a030ae4d2f5829ad1258c22d5987040ae7f7eb3b78c1947 -KO = f9ae2655a80c389c8f100eceb7a575736caa2b19ca5223eed19aa2607e616b056af1b5ec5daff5c10732c3550d90dbd2e92ff802eb05ba1c115cccf01b03c80c7c0de9e32464562b4c8a02b46dcc7b2508198f46bca72e169eedc5a721468077ed2fa0fef0bb6e0853dbd945772bf49e0a68bec3c59e90290b49a9e6fc57bdabba9d08565e1ff4672f54665868c31f8fb450442c195e8b32121ae1bed4540b79ef131f00e2491106e83c31178a1ca1cc5eff4c87c706adb52f42bc990f9251da760b36947e37c277a8eb080466dd50870f300d2db69e843a2596c5da43a5b978db92439c6cd7d674be36a7d73b03ec0ef1dc4ad04850fc52dd558bdd602bfce5 - -COUNT=12 -L = 2048 -KI = b0b87f6a74d8adcce87dfc7b56323f836873fb9c4a9ca2eaf944869f70af47ad461f4318178f5db7619b3e2c049359d0 -IVlen = 384 -IV = 8547ec92052486d75efc46ea56339702bccce65604172bc49f65f6da7284b666195f210ceb86be874ad9d456bb659625 -FixedInputDataByteLen = 51 -FixedInputData = 0fe8adf48c5c4bccfe9d4058782c15d247a129487ada7aa1914d49da0e423e57a5dfc9beb8516d3ad7e9333a3cd3db7efac3af -KO = 6b43b716428bbbf2f358b6b74eb7f806d3989b1ad0e79606801f2d5f247b09dbbbbdc356e84f84f8c0ebea0b66718cccb5c795bde757bf5a1768a857838ca02755d35ad16d2b4d922a948465b406b0758396ae8e822ef317960e097619fd223e51a0d11cc76f2e1becc2f88bca41d6aee105fb76de99ca778605379239534c2f6bc202d2d01e00fa1cea57477f17563423815204ffeed6c9d1119ed1bce841b66e53b6fcd625c46e0b32e159f082b6b29218175ffd8eb50b6aaa8c0c102a6909020ee3222307aea62e7d2c18e81a6a0a1696e961614a8d77bd8812196661b2e6b7695510e999307b1ebaf934dce3008997905e105dd3359d9526bce7760a37bd - -COUNT=13 -L = 2048 -KI = c5d3abe535746e3c3a21cee0ebf60e5c910a4bb5a9f2c486f0fc2ddf6867b61c028dbe72f62e885b453d703da7827490 -IVlen = 384 -IV = 905b693f21920b689a2060dc810739677b7e225a25f5b8d6261cdfe3bf540c5ae774f60a7e16498f3c472010436e4ba5 -FixedInputDataByteLen = 51 -FixedInputData = cd7f55a9fa817000644a65dad1273ffb46497fc006ebe9bf62521e9cc95fb1ea875a0db7730b818ea071208534be20409da2bb -KO = 861f4c9bd5ce0f7a8fa62a5cec7662e7056edab409c8a62951f74a91d73051c5ae40f06b885954cb9550ae7435455785fb3ebf5787a604a2bf099f7c7758e6dd152cb70421270e5574f7ae05a60431e8509db910078f69b3e49e3f9cf98296f9e8016e43cb63b3df417b4d6eb5fb46bc14db0c82c764481f81be3b94b9e86a18e35033fdce51dc8d61f9950bffdca45f4580ec4d0afa31dc648eb29ad93349145813fbec4c04b12ff74de579e290c535453450523d86346df4f705d7cd01add86afb0550990a2caf38a4505436650087b18daaba59db92a3ec134ee3d645a2eac6e8ab4d0986a09387f3a4ed897c7e59ef32b314fa12d37d5bd1ac88ba3a7e72 - -COUNT=14 -L = 2048 -KI = bf1b27491ee9720f8f2f31dac3fffe58b6f69dee841eedae067efdafa6b8948a90584ee15cc0194ed080484c771378e7 -IVlen = 384 -IV = 327899709b315db84e50a78ce10f3f2b548dffbf0c2e3773874dcfb4f5bda714c41f471222d00221e5ff56a05b87875f -FixedInputDataByteLen = 51 -FixedInputData = db0ee1aaa2c9af02564b492f30da14228ee163459e981542f0a35db03a12cf3cad2453eb0bf6e9658866bfd41ea934ae5808ee -KO = cc83293ac60483b33ed330de59807e7c3a29136134c4905468499d5962e820f3292de32fc4de4edd4c8f51ef1edf9996a957fd5bda4f2a4b1fea84e0bb148d228400154a3818d4685eb571accf77d75a92426a144a2409fec4bb319ab5ba5a464b27d938ff05bc14b9e20891a9835c1323f62f1a6c7971d069fc2b4c9d90789f9fb2c65179b874bcb51897c1f60c9f0918f43bfb4f60738e3b73af15ba7e17d38dea3b5fee6a7ae35af5e434d9fa07c1799ef7e602e5210fcfa4225831e9c4e0b97ea56f97b9afa7a9d991763924839f596fd5c4cedb24884e6ffe09aac247b227aeaaca99f7d22e48a9e097f20072de186e51219f9bff4cf7def2f13527d657 - -COUNT=15 -L = 2048 -KI = 43022fd97edb35f14d5bd3cb9803c5ad9f34d5c816293b626997c63be88084465ec5b89ffe4fe93d6b2497aa4bb61c9f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef1dc83e78210922486411f84929ffa8e9ac379c56765dd174ebf76fbea4da414fb58293ee7f7d9c2f0bccc3935ff77cb3a127 -KO = 8859110314a224873018680f7d19d0d83879334522e7484df351b9cb7300a6cf9b4667c75de0ea77c26c4839b81164d2086a9ea5f64cf09932de028f35cb00f547746768188a8d2c4043b7089dda36cec708ccd8e323ff75d01dd59ff9152ebed2ad3e1d0d5b9e394b8d837b8f05115d7e670d5ed6dbc1dfe34879708eee4d6490c36ea83b5c8c33c022313cc7e34cf8ec87c74ae074d0221a0512f91c5e16c2274175f95a7eb966e789013252bbe2bbf0a7a9a71e566f6d601b21bbd6312870dba25cfbd3184f902365706476312c14bc7d394d37ff7c6421abebfa21dcbd01c002d27882a5a8e7daeb86282752c91ec125667e98aa7b4917746bdb1e567091 - -COUNT=16 -L = 2048 -KI = 172fd9ccfe069e2bddc7383d0bd49e72f8c3680497f45d94454378efe42a3de8a83fe1f959c3aed4f800460439231297 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0a77f023c40ae5a7235f131673d8412d6d1cd1c204b8a6258f9d9d064b125da0fc9c232df52afae272ad48f7ebc6ac77fd4165 -KO = 4d1321f70e7756a7f99978ee349cddf0c13293f311584e0b6fe73114319a642c461f15057a16b3044fd6e723be7313034aa2e2d302df77884a2e688109625ecbed49d6f33a0b23660735b7bf3dd393fbdc17ef359dd8675eab8872732541c57296fae03336c1857f361c40f52cb74440ccee214f8003d6aac3f0dfa7c5638373f01d60ed3b8aae5d7cb84d2ebbc9a42462ca688b6c3c0a8db10bf1f223148da3060486bfbc8b67159a1467bbcdd695aea8283141dfd2ee3fffbf614a1341f010dc4b6c8b9861511938062b2b9e3c7f86becdcd9df9814b363c953870bee3eb17ac66858d976bac9688c25a1752e2cebff8b41ac3926cde2b212fd2184bda8f54 - -COUNT=17 -L = 2048 -KI = 5ad1ff5ccf83d9e1201e433234c96621b867ca59d3aee2d1c8637bc1e986a8ea2ced531f1104efac634bf26c7d6ff0be -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0b30a5e77ac8a93d632eed49e1115e96794874d2bf10efccb159584209887897bf8e63be7ac57530b4fb912ca4bca091cba8d0 -KO = 47bc7ecc4e4753efd24b58bceb21f021f22a9461187c7a34766aa4adfcfd86d6b9cdf51b597ad86bbee8a00b3302bc18121685eedeaaafbcc53081091d4fc4c30f77b308c88e30b6e857931885f946d3f430c9538200b7c441a38df968c9d2ba2b15f70adf98c59347e4e3c3a7956971f86ea37817fb429720ccb2157642df7b00368e259448948fea15549495120662108d4c50f82fd793c8cf974c2be3c10abc21b7b7f3324ada521d6c74d52b83282ff925a77ff1b0009eb0cdfe675ad2bf2a840c534026f4cf6c536405a89ccddc093aba3bbb05d0e47d212a2e2438fc2eb255392aa227098dd10418efd927348f36e2a012f4f0c81055d8fc5de6c34db3 - -COUNT=18 -L = 2048 -KI = 8331600c0a80a87c20a5fa1f495ccb5793c90a742821f0d5f6db62eee83b288b030c8f0672c5a09d14429a055ac745f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ca8a029b68e9a69916dd4630d38a38a416b691b8f49f0abaf6bcb6c6403182dd60262b2ea1bde0715d3b33d90aa0922eae037 -KO = 3bb25bed49e022cb2c02ac34a4df21570f2152074989e403999cc5a6c8312e39fd62c42cef3040aede80f21bc7ca9198ced551c9ec2777cb745782e62862c9224b5b4c6ed72e9c238bd4e718fbc44531566d120ed635735d38455f2b3bb234f949689fc74e619babdd1766507124bb2a9f7f8f3583c055506bc75d4e4af490b77c4648d9589844ea844ef9aba031338d7154fc240d27b3f902609e766f8c33686bde017ce8cd15cc536ef6537b4d44dd529cd814b9399477fc7d7828fea0c2e96e8d0f6ba93d6268c8449d0640935eb86b4a1d10af09c259c8f560d126e3ecac820acf7b2acd9a0282f5127e1f98dd1378780ebb705986abefd618acd939f9d7 - -COUNT=19 -L = 2048 -KI = ca9eab190bb4760abca167fe5cb4307a419cabec44fa126decbb71e13c962f0cb014c9a234836e68cf44a9b3aa57e127 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 64e5bad97a4b6f06f01ae48872a1391befb66aca747a5109217899f50001b1323ec3e0bba4024c3e6c007824e5fc2c1c794dc8 -KO = 532f316af085bce4547823318bcef632033ad0d741a1b82b1d44343b9a6b505e3fdec782d0c3e087b71f89a096ce51ea0e3076f400396a17ad68990cb9ad7c6044ea963245515afab5b14ff694aa7ccbf5fc678d511cd4a13922df827cb0fdcdb76f2ce88dd44f8d91d533da4be5d588c054fde850c747913ec5da536f6523de2540e10c1c3be8f614d7948b05560bee6ba4bd7157cc410c16994f345556157c2f03b3bce7d9696d8c928f050e89974546f97101a423652a9554cf40375909cda128ef055a69c9a0374ab7ec8e9a2df110f3eb2e234bc46a0485f55e9920e70370ca08a96e698c9625c715e861a93768eac380b0530cc43492de747b391f4954 - -COUNT=20 -L = 560 -KI = a82157d15eca9f126bf05977fac2ab477b3513fd5f520263e3d4d7ab5863c769b5c07733df0583e31bf459dec0d44779 -IVlen = 384 -IV = dba5794e17c131cf4ee2b04a8b2a58e8747f8ca536d5260d0730c8e42ca9b0b7288898d64bfe99a21e104e4a7795e142 -FixedInputDataByteLen = 51 -FixedInputData = 8f935e668b340779d8b8712d290b0479c601abb25e675086ca8e8b869f9f53410234d722070879e6e1ed769a940a1449ce789e -KO = 3765077bd7e1901b3063ec7fe091f13e1ce01c8371d5102518d7783d20a6f9207bbb12e7bbcc3ea3cc9d0aa7a0a9124af6baf422a96e9e1e09f490d9bf7b2c067374fd1ac783 - -COUNT=21 -L = 560 -KI = 2b1c7b4359a329eeefb5a58242f82e012be21edada3f94faa4027162c5bcbd77f022d7fbe73997ab965fe3a0d3592faf -IVlen = 384 -IV = 14301be7649183baadc6a1af3dee979ef7805bbb409095b04fa0570b71f2887dc78f83516eb61f19e271800a04e1d9f5 -FixedInputDataByteLen = 51 -FixedInputData = 06b3289fd45e440f829711687bfd1a91ab22b2f8547f0582870511e79266bc4589320a7afc3930dbe2a240160891d9e883f34e -KO = 7d223b7a194789c5a79fb00bdc6521b11ceb315468a1502b33a9077229d8c3d0c409f8e62d702531e45353f52f28ef83740f30c2140802f7b5512fb1da4520c7865d4542480b - -COUNT=22 -L = 560 -KI = 21ebb1814c49d3e21797c635d34208be850ef8bd4cffdfbe011e9769adaa434919bc1f53c6aba7884e00cf52f0c6ee31 -IVlen = 384 -IV = 13b467dc37199e8f2916d983706f0e4a881027f7f105b7a9be52dbed62a130ada3c85eb66cbc80c531a2926b6b680c4f -FixedInputDataByteLen = 51 -FixedInputData = c87f22e810a559b04d137a15360d280579f5f7099bd239daf2013e9e32c75c309525af03b6e63d9a77c5f6d6f1ff21228b65c6 -KO = 57ac35996840f990a4bbb31263a59462a7973afe12d114f243bfdca58b8ee9bd0e83c5a3666f7494311916d15646573fe2beaaa7f11b3a0a43d3c196d82ae96d5fd5e0fbfa64 - -COUNT=23 -L = 560 -KI = 577857111301fde6555344674620261764d72e48e76e64274536806bf1f7ed9a9edfb8ce61ec8a65b86afe92c19f0c81 -IVlen = 384 -IV = d2d709c4f383d4329fe4fa44e4ee68def3b0082e3907e8c4e8ebafec8b4b225947b7400f3042cd98f880637ff96ef3a1 -FixedInputDataByteLen = 51 -FixedInputData = a128a46896756d455bb198e825812c57af15361d8362ab8c4f8fd570009104886beba211f071ca9e1f77c503b43b23f3b0d02c -KO = c53e0f5087f1f6ead0f1cca9fec10ad00159ce145da60dbca31bb22f6b765d147289bb22ecb3b0525628fb91098302be5752ea4b665f5a0037c9d14eb7d2af9e9052ae59521b - -COUNT=24 -L = 560 -KI = 51b0bf8ed6453f85539da86fc6c8f006c7909cd58b7c5ffeb29d1ab63fb80c41a18c1850f07e49aa28675e2f8b7bbe83 -IVlen = 384 -IV = 7c122ade6dfb3da789f58c639d6279a00b04dacf8c4206e5d2e0ef163109f82790f0771074b3325845f0b39604317afa -FixedInputDataByteLen = 51 -FixedInputData = a28aa067692efc6fcc4c2ebc7fa2fd73f46bfa63180ca988ed90ceb4fea1d69b06be8fdb0fdc0f9c98fa4a762ea416cd9c8841 -KO = 28b7f96ee65c3134a097434839d6ea06446740721caba18e6e23675697cd752a7c039926f61fb8a341b3129e08505b771fa0a71ec90d7c42963b0ebeaf4018232a73d196f9d0 - -COUNT=25 -L = 560 -KI = 5373fde6eb2906d92282ef8b022664d0762fd129975739cbe6cc97b1e1f0f7a385592d953175683051dd59f7d579c6c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 987a6752df8550feebe979c1795ddb0bed6fa0b7ee2a2609e3c69f892c06b63b0b0db42b20c9877a01874017439e2ba53c6300 -KO = 804352b7709d2d42cb4bff51414d22b63255acb18278159d475d0d42bf5b95808f58e0f0a5d3ddb77c5831cb2d57a0f660ab6f01eb1e7411620dd0d2ea5ad6428d9c6b4bd9d7 - -COUNT=26 -L = 560 -KI = b053e8b2c1e78bdb0805e16b5a335ac980664079a835758551be5665d824bb613e57f6452f1bbcd85ca7458ae4b031ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 162c76f363b15dd2fda0714c7e2fdb43ea9071d6b51b3722ebcb0b4f2fd4f369372385e1c36b3a0c0f126b6b13dd2e678dac50 -KO = 94047be4fc63fe8d1a242b40b8db0848e29c1fad45e40b44b88010e5cd0bb57d98f9a27f0d0c066bbcbc8c723724e5ed386b91564f1a6391a01a5302a1d94054ac3fb1cd3d8c - -COUNT=27 -L = 560 -KI = 3502215cfaaf12ae05ed219b715a52e4e48bd55809607fb3abeb55f6bdf29279c47a8a759e9201c358039fc4bc4baec7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cecc838ca22a891d9a8305aefcec902b0edd6fd265fa36bbc73f3de14be286024796b7b604a2bb1cdeab5274e676ca938c0f60 -KO = 0edb6bc5ae6758c4c201cb2c6d5fe9decc8df549a5a0017524715faa47a3ee50985cc4acb45631503566e1187c127e88870e2d0708c580a33576cdff67498e468c3c2343ffcf - -COUNT=28 -L = 560 -KI = d7a072d03fca2b0a059d5f1fb877619d1af79a50700d00d40ebe81c800c1f5fd847b28d0e0c871a4ac3c311ef7774d6a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4df3d4203c5b23a66a759c87bf3c4a157e067d1c773f8cef9191a28d07a298b3504b6b00029a01618bd3f0b6c0a4cb57c7fdcf -KO = 37c32f2419eb344a7550fc6a08c922757db5f8e99442a9165028eb0367f7af647b724efbb192fc3aff151e17ddedbcde10a66d279a4e384c772dd91fcef38cf914b243dac207 - -COUNT=29 -L = 560 -KI = cc24c13d840e582754fa91556695f2f0ced47b5fb1d76bd342821f01d3476cab3cef6f8d069b6214e991eb2b7997ebcc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 22fed8a1d0ec2cea26248647370c1c70ea637543015775810cb27b02793d3cc196730406b7323fbad7962328652122460e093d -KO = a318b7de2ceaf045380bddc1879065a662d36f88c26d46a6ee61e2509598c14b8dd32b6b90128094d6adfe3fb30bb2235d30e1c87d2bc1bc8ce42d6aca3468dd53980bd9d8a0 - -COUNT=30 -L = 2400 -KI = fc44a16c4904b342651b1f3a4c4d211e8263531ad783c5f610157cd158435d9b273444cdf82b17e40ba74a87c56a7e45 -IVlen = 384 -IV = 9a49da03b2d6c0afc047a12b849e3ab4fe27978b7593e53053239ce15bded414f583ada996718d55fc4e3ad9484c8d80 -FixedInputDataByteLen = 51 -FixedInputData = 6818a8712eb6e38e7472f9ee0cf329583a70f647a8376b7279af26e83e3bbddb56501ccdd9c903ef3540042e2dd11bc65c5e2d -KO = 5e30a4b0774ea5e7e514a46471b7b255bfc4150a1a3c643831fede32983a3a444b2b18da9027b5b8b0e2e09c487ae5acfa7db08d84be5ddabf10eed2a356ab13681e8362d2011900a45531e7a443eaa6061415d83e8d91e2342f3fc177b8993631d2eb69eb8eed5604d28981658424ebc6df601a619a5cb43a936fbcf40d3ffd3012134ae065d9008751270611bf62584b064567cf54a071b1de6241d79b1f7badbac0e3b1f6b9bacf8a644b7083a76ca74675d102c1f8cafffcad26b9a64228e82280174511c7d4015e40cb421636ddb78391b5b2e86529559319dc88ab7dbd2695860139e7460bd1b5d08bf83ab8f5ba9398e5abda357c452cd0e7538a96f4aa4bcf8674549fce5292570a0107d8c85e7286bbbea3ac9be47434d2b9297df1e45017fd5f0d0527dcaeefd4 - -COUNT=31 -L = 2400 -KI = 23a86cb69480cab2cf749da07ec0c8fd95d6cb7ef292fe1177c4a82360ad212d506e43437f97de05f5e764f9bd941359 -IVlen = 384 -IV = 9cc01cb11841e7ee19574258538a89eb67439c43d4f1c9406133733f76c11525bcd3b64601ce92851fbd854835bd6ee2 -FixedInputDataByteLen = 51 -FixedInputData = ac0b0d85022576d292c9c5910d1cf3077306abfe9c031460af9c230e5443370e9998c6ed0213bbd42834f39d0a61d8e904b00e -KO = 59208587acd384643ccea33ff88396a7795745e6cd8a01981aff9c295b33b85295cd7d5263a5429ec37d66b50627eb4571b0feae6b7831403d4de5dcaa17fd712d3c5fefc42a87ec1893e2e980381061082b59e08ac0c2fec036463017108e0cdb00ee9a59c3a6aeadea08d7d4bd3e5f9900429a61065a44aee92d7a6e7e5f73e1a4993a94d0d03e9ac0947eb4f7e3a19ab118d186cc60a6f3eb9e4daa22ef5108aea9ab5414a1bcc95a19ee7d2da00de221becc40fcd9a828029348653cded3ecca8ddbbf58a092e2f4ead4e9aa9513ad154baa3eed0244a44f0d0c78711172e531031734ee967d0eb4d3de501f0aecee73a8ea980ceebff99f4efd2f5fd84dd4c3f9765c78fe3938647fe9b2da6f4d82872d1e18c1e544c74e867901b3c6e8a6d38d610a5d36b5f342feb8 - -COUNT=32 -L = 2400 -KI = 9dcba2b30289f8cf7da312f545911439b125b042e3c6bd8491a45be1fe03488e6124aeb40039b04a3991fa63a3a86b25 -IVlen = 384 -IV = 51e112aab6bd3d3a6493de938909ce3216c852e1c5856bcd4fd2bdc8982dc93dac5ef92261169fcd6aef89b3725e75c3 -FixedInputDataByteLen = 51 -FixedInputData = 02bf1ac4edbadf434e5d96860a2b9cbbcba859f940e3b800a2655ef5ec5bd030b6a75f20d2eb9382cc7ffe4661638b08154ad5 -KO = 67207f86b5facfb78b3b36bdaa987bb970cb7ee68f5c0084953cf91f5f806d6ab665ff8f93945d6b8bf2ad19b21d1178585fbc6ebe7b77085dff0dcc9eef700a480ed5f9911fedc0bd12a7e31d6a1132d3bd19622af54ec404b420d4e3db6be151b2a1792740935646d7a0cfc5583b6cba1249b7871596f647ec0fe1c32faa9202c6da16525a5b316ac682dc72ae1383589bd3236ab9f108d08c2dd7028ff016e337550706397542e4e5e6738599086b87f7b012d0e68024c9a15be3583c5011d5d7308a821e881920fa47dd722f6a6c8566340d9845ba701da67f9d3f83a1cebb720e60ebf68d144fab95333676b10d1c45cb1578898ca2ffd8e3ad66e5f31751ab457f60d1498b260cac31cb2d13ff679ac5a847f36a188ff85b94c8558e5d84bee508b45747d2d19a79f3 - -COUNT=33 -L = 2400 -KI = 48fa94150f3d767ed7583ea0705ae5c465571c717537f89c7142593a79e4a22ea87158b20c54f67738781de64829f880 -IVlen = 384 -IV = f1b7a1049fa4896f2be1be17888e5809fd54d2dce6fda1260e6785199dcd104c0a687ca94a4fba40fdcee9f5219df7e9 -FixedInputDataByteLen = 51 -FixedInputData = 5678cabdebaa9df959e11c26c700a795c9ed105927b418e1a8f0a6b1228e6c841b077fd5bff3a1f7476942885f6cbddacccef0 -KO = 2bd4c7ad93074f2c011c6c963686efe473e22520e8f5ef86c187bfbf1d4ebf3f5921d4e76a27458b5261ed28d913cc42d74b710057331e2ac0f2af73ea512583d94f61cfa3c5b4d2174cf023bba7936964c8a3fbbf17476961fd069d6fac6a8d8231b73c0d976c2f8a79f9162be822e0559e3199c8d81815241b297a47c8d0fbebe6488678c2edb20e6df803bc7038841d5857ebb17a729cd218e288d076154102c64161b322ee24256dc4554d6148f1d8f17fafb4cd320469e73dfd02a0b14940f0e5e84b8e549bcb9c07c9757cd02d527bfe4392bcd3d957df8f913c307aeec0ba7dd5380762e6871641a3c6396acb13a1a717c56e50d6d742c47c36ae9033f2446e6da2207aea03f0f84e946ddcd13eaebf758611ff72115098c502d3af3ba50521e4ae307035649e5bc7 - -COUNT=34 -L = 2400 -KI = f3501eb6fcac68b108bf361023c42b8d8f8823249cb8b54dfc7c16d1aab5b253dfd300f3627dee3a91596bb106b8956e -IVlen = 384 -IV = a328fff050f3433d4e699a030274af187f0e5f687fc37f80a03510c4ac7481db7a8b4b6916fa08b20e6c9da0a661c98e -FixedInputDataByteLen = 51 -FixedInputData = fc0f909f38c6196a77150ffb3f51aeec48f91c52e8116d329d280bed620c84ba5771fd4d4492dcb11db641a3858927cd6b2950 -KO = ca0020f88c848187371dd64b5cc723b2abe391a8f5978c0baa2be716da979a7bb329a90eee34804ea80b7d9688b4906a0f9509895c78d1f85988c42f9f198a1c83643dc0391be216e45b8aadd8282a51f4956e6cb0e98aecfb406cf711045979e35989b519cbac11195fa652f959ced4b2d399e89665967ff352c1c94264bce7a18a8153e7018d4c4302445fba20222b22c3f34e0b7526f88e884e06bfc12717ab2944d9f8404b0080aba7486dc9c8b926669cb5d36abe0b150b29f232256d87ad677835feda1ba449f86c6261edb956a1e62023230d01b25ae364eac8d3ed3cdc0dd29becd06aeac9b394e0440e7740437c003f0544bff3fb9c332e7379242681bd91e543ec1db936b13f5fa1ca930c5ce2328c550f9ea95f08cd661091f4d1692bea25b01676b377f11f2b - -COUNT=35 -L = 2400 -KI = fcd15c67e978f4278b4fbf6d22fd1914dec0062af28919bff3519fa3e81caff36a5fcb43e192fbba1a43872747f143ff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed738148a33c13fd3adde232fe496bc9637dbfb14470ef59bde85b693dd25fa412ab46a6980522ba4170613bc910833650820e -KO = 0cd358c5eb90c7c32ad35e7d14eb85935da4ebc5623c9458f89a6074e6e094ed0f536bfbf03f97b9f4495353fd3a236c04c2143ca810f21ca599775166746ece19204a9ae67475b35a3384215f1bd3e42abacc1b30f0226662319aa2b5bf46724931a37f2a577ffc97fd5301d2dd334b2d0cc3200f6c3fb72ddbec6715e8b67492215ded4622662b79404cd07248e998ab95471ae082dd2ad26733bd682b21adbc9da2149f51522697144d8451539f5ad932d6a86c287f06dae734593865e893adff39046601a46b1db6d5bd38d666dfee4e958d37a71f66f2313f69a776cd185a69a36722d6c10d0a7c8ff297a56587de421840928683c3343261130930545920e2b3fd07864752f470893dd6b6c4f33d137bffe2eb7b506ba54455e2e40199412e83a4e3d339574817292b - -COUNT=36 -L = 2400 -KI = c746358defdf711d6dfcf5073cbc6e2b05a8641ca611f726717f7a3e024f37b52e5848a9300857f6bd44b13803308a30 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7fbcfdd2d19d0181edc0d4ef75b8cc4199b783efe6384f653eaf24b06303481f39cee56474eba9d3df5397b48a59e16d7c1cda -KO = 4e217cc27c4fb743ce9eb007a69d42993e106370bbdd532ac934c5dd20c712acc08e5da3746c4f68f8ed63e09a3afca0c2b307f68fedbc9fb7f49e5aa2fd5470e5e45bceb990f10c4d4832e5db48d333733b237b57b99addcb635898656b1dffe0abeacf873ff286bd4910b394bc5aac3ef55fc89b66db61b5b0fc04d27812e32c83edc596d75c1194b069fa486fc40bf6a42a44fc7d8647bc1d51aedbeb1e46c6429766c17bfdf4c98ec1be53496496ad2d8d8419fa2c00aab4a099b874b285563097539330f6c4a566cbdc1a3130522cfcb498ff6410f71929ddc0bc8640fd1ed04e2ad1228c997248044742be556a569514e7faad1ddb755aebf6c15077323267a007a8c8f54aa4a3d484206506d2ec7424f3c510e539a6648db801986067f6c82457b3727c83ba24ede2 - -COUNT=37 -L = 2400 -KI = c127ac65918f7f8983b42459d58b007464deecb49e754c881dacc30ee6c5bb61fa9e77ac96e58cf7150f218bef49bcbf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 167a8373ffa563b5b3be1ebf9f0ad8176731618d54ec819c5c4b6e2f3e843e923c1fb0df3a350e4aae5250819c4f8de0f43804 -KO = 3253032481337d38f3533a6a32ced030ab515611246973ae190432571cc73b29531d6f2efa34b85219e0069262902c839b7334ceb95f371e6954e4e57552a0783df5f27cdf1f99e2a4e4452b68a87ab41e259576e415fdbf9dc6094d8a60bf142bd828f53d42e1f10ecd0f700a956ffffefed16c535730f70124d9d430806da658db1140b5d370b6044466bea51480c00f20f58aaacae4bb3e0ccbc55205730da9ebbd59405902249c488eefc793efabcec09d8a2c603283caba47da1b87bc37b6dbf83926867dae71b99dee064ae682b789202d8b4397cd209eb27b1d0a3525cc9f363f3cb40541d46d211d3bb4d3c68b5e671fc0c9570197235deadf3e40260a2d777b650deffb2a37eeee9418fc93384a98f2f6a6a5fe80185762235270ff4447e26cdd758fad47d15925 - -COUNT=38 -L = 2400 -KI = a214279dca4843d9af3bdcb7cbbc0e3ec7f523d01d147c100a6b6330bc6965df708c281f3861a006a790cb709b167053 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c54a28aeca4ff136f52308d7cb5b45b69cbbfdab0614f3d623e40ea6adb9c9cc51a9e670ec694c2ee8a07d59a370867081d9f8 -KO = 788423e525b43d9494a9434b0e3678cc447e8cec2b5220883ccbd51cb1ab890e5d945026faef805ff8e034bfebd0e4ebf3eb9c2eec6ed56cef84d1fb9b16c072e4c9dca391c44f36c1770cfb90ee85cc81cc7961d6648f3eef3b54f25836041fdb7e721872f095ab54a931cf5d25584e755d992b318cb2a98af963cd6bd8691d7e82b3a251ff4876a216faa36248cfb6e1cf373a48005f9ef206b6029f392199ddf1c55f563c823f414e9ef9a440a1fc013ec5f50c7bf4ea8e80c03101b5b524688a7540bf2fb547da45c4644fbc36625bad48d38a936b70dfd92198bc273f510d6e1ff0610a5eb03f436b922028530100e7260c10c285252e959e1c2e9133501543a5702d1421e242982b9092aafd8c962098f2eb6d091050247cf98ef3d54abc72559f769c6746c6918085 - -COUNT=39 -L = 2400 -KI = 33f14e4628bd2d354ed9c8e95c37118e79d4451b43bf4d1b22fc7edc68a848a094338dba9e9274afafce4230cdc86ac5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec253d41699c4fbd7d2e4ebeb58f3a827e1f67612377ea7399952dfb664f3b39ed165d56517c07eba0ee1de91daceb33dfbe01 -KO = 4beff15f02c0c62a482dcb8e4833c7ed9dbefe4af7c851f1602a4473de29fc9e97901869d3cbd697a4a906e050a239504a65dcb523ac04041ad4711a3a611eb19f06527d7672ace62bb8f8ed64e1f17a56a29aa9636d32beb2f51b8c687689986bb4b8c03cf36049dae3c26f0680ab57bf1cb3bb0cf26304e29d869a89255964376cf806dbd1ce585af4c89aa03ae2034d758af504668aca111f1e9fa3013e5107fc69bde6ef56eaa1181766cae45d582c090ded7b065c70941d66502fb664dc9235a7cd4caef640ef4391e6a38412bc1ececf271b7c0e6cdaeba7d2f15f9f153d33a6b4c52ed93d4763c125b29a12caa239318963ebf53c57b12f88210e13b99e66bf3fd2233de2cd55b009633e8d6668ac22b3a4b3955d5789392c2fd0fb7f4929f116f41d588a4711f186 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = cb9b9cc696fe98462629ac4b463878398575b5d85772ec2ad286e8574a826ad1854980abc4623d00626074db68a6e126 -IVlen = 384 -IV = ea98866a918d820eeab17516348d9dcd8b20e0a7a0c9cf2faf86e36e5c7c19335ea9463a5fb37accdc291df082690496 -FixedInputDataByteLen = 51 -FixedInputData = 5013bb311602188162e393a90f35a4bef7e8e51b421a7faeeccce8bbc8e40c7fd487b95ebfafefe847fef23db2766bd347428f -KO = 7053c2311d72f54607738d233704a2f5f37af2f5e70defaee17248c339b5cb3708541e5fd0371d292ec5565ace33a45463c4cf98a810859b08b0ac96f1020fd3 - -COUNT=1 -L = 512 -KI = ede02526846931c44c216a9862b16669909fc309804682fcd571f31c179a736387267ea45c71ac5e892e9cc4699e0c0b -IVlen = 384 -IV = a4ff81ac46adcc3a8944f83dd52bed46dc2b23edd2ec251d7446d53b853acdf653fbd5ce82de3a2b41025c65cad65a9a -FixedInputDataByteLen = 51 -FixedInputData = 384e24599d5f73c019c7e8c24e738bdcc434053ab7c5e047849147de71d87273a79afd44de9b943e9f7148ccf9aa62a77dc3e7 -KO = 387c6350930487ec0f7e585ccd0fd83be730d1269836fb876e9189149aa139b050083a1344b6bebc1d3d6eba7ced6dff70a4bb96c444120e4fb7ce7173e8f42b - -COUNT=2 -L = 512 -KI = 2f2d2f609ee56e8684041903a158f767d20a82f67c9ad62fb60f5d77fd8404d1453570476ead3b916a999ae142381a63 -IVlen = 384 -IV = 8afbf01960780a3e1eb2ae7996f22f1044d39bbb5685f3acd718bcc0444a14e0b0aa7da771b3a02e22e2156ae93631ff -FixedInputDataByteLen = 51 -FixedInputData = e9f5d0be748cc9ba03f8e86091f0ccd67d19787d8410b00de140c93150abfe2b4fc458fab4a6c7da284714c16681d2aa6d9e2d -KO = 7cd0394b8061bb0818eb648896325b35718835db07737774f9de64aec7147a3e9ec07f0be70e6230d8475204e08a6f303077c6abe6daecb2a76dd6b6e4cfd2f4 - -COUNT=3 -L = 512 -KI = 9c8a7fc93491e4a5b71ccf4d1a7e3f360ddb83de8f520597f275b16bff71e050dfa20d9e90231b5b288d753bff06939e -IVlen = 384 -IV = 7e8a6ce3a1d6f3c6340275f358155442e364020ff0246cd33cb1cc95f047fb4fe9977bc832e27b78c0be80cdb5218200 -FixedInputDataByteLen = 51 -FixedInputData = 22833be1a858c5cfcb29222f628dfb76e6f37e42645454f38277a922737e789155d49058897a5f383786bd195a3ab167b03567 -KO = 5fd78cb7fdf182ff8fc0f9b1e5c001d42e3d61eaf27bb92dd2f4fcabcb2528d109a61c506b23c52cca9885452bd4e7610264897c0d6e120410733f6a56b52b37 - -COUNT=4 -L = 512 -KI = 6da3bade6955e33d6b614ed148936c22b8ee40e6ec9aa6a9d235454032a568dff9a9cb59cc7aa34e6f841b567bd7ab94 -IVlen = 384 -IV = 57b9253999fde17ba3b17e55f5a18cc18954c1da8fe007996b0ed886cf8ebb4557760a0a3665291536d31a4b1f8ad121 -FixedInputDataByteLen = 51 -FixedInputData = 0ad65853e4b35c534d2e00b490d4714ffbd79a15b47fb3514bc9c6fecab11c2f558fea677af447aac08afcd0b2b8c65f0fd506 -KO = 1113e91664554f5a8c0edfaf9668cb9b34e5874f787ac89cf6640c671b41b0c53ad297b62273a92ae59c8ba4abf7c246a6b38af90da586f55885eea9a2cfd191 - -COUNT=5 -L = 512 -KI = 4e20c8ed9662e941a18007dcdb30e1acc7d0185266a269df41bf2b9c6fa05231056495e6b60aba0b4817ca028badcb83 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4afa65e071c9183ee0fa48a8103c4bf12e1e4a421ff3c7b9c76ada09554789a092eeeda3bd2ac3ff1c38aa415d01b40a4c17a7 -KO = dd0d5f6f8ff37f3290c602f59113c8d5076346bd7b4c50e89adc2c0f372ed1e3bcc0d9b6c21ef5918bb0d16c89bb89deb947aeeeab73be8f71b5fa40f881c8e7 - -COUNT=6 -L = 512 -KI = 91e644c636c3ff9abae1766a9702fa497f98b4bc58dabccd726ee17b962f0ff7efb23175251d1ce5d4ce0b3d0a90bdfd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ad289cb5e668cec8a8cbdeb411f2f0955945cd20d481a2d38d561796105d6016a8c5828231effa5b2c3d93e4e7dacaa9794665 -KO = 12f2320cd84e6d15183efcec7444e84d5bc71b8cf1ecd9c5e4fdd9cab8b2f7c48bcc1ef9a330861f4127684a24bea822a4007c7eb73c1e7e141e9ff289c718e9 - -COUNT=7 -L = 512 -KI = fec7133a38c6bd075b138180255000b1a015753670b654e816e39458f17860c73c88b775d9605422e00816f67334adac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2edab897e4ef82be337facc36b46cfbb7275b9a81c05bb46438c483068726533f03024b1d53bdffbec71922a40bc903f3e23c -KO = b2c77b0516a9c1c5ae6683095b45d64d5908ae3644e6632d74832f2e77d0e5939a0390b3dceb7fc482e723550d45bc98bb6c8130d3cf7986b322d8f4b80c2764 - -COUNT=8 -L = 512 -KI = 8038936b17a764a6216238e392d7a8b53da8c67ba5956ea98ade95e514a04d8ba6d9473ee2480fc8166d827b29ea0c95 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef853cde532648162bcb44d565d23f4825f9a053f9590aebd506957fd274ef9d91f349b15f8b27e2fd92f562b3c88b4806e0f2 -KO = 25a16e92e138e6e4a178d4f65f4c324d5be3406a38457dc7d4a5a02cb3c7e8e65d1732b8114ec1eb6e1f61b083638d16f741e974a55863c593570fa001753dff - -COUNT=9 -L = 512 -KI = f41b1dd2576dd6811f1043bf6e907a23544d5935c4ed835219e857751804a320bc549e2c3dd1980e44ba205311b816bd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2fbe892036899d793e8d6fc6376ad76cff2e2e88a5d5ca9338000d12ab3f6faca721e69a0ebdaf0d094dc93209c755752669c5 -KO = aafc5506785a43e00d0d2b8e128cf04c4dd33170da497914c6924377618d732e1d987b2b94262814f0f6649a29c1aa235cc190f23c3c49d8d60b3f77ade65abc - -COUNT=10 -L = 2048 -KI = d9c31002408e3b7ca3e088bea2861b6345ac065ec69cc6161ed1c8e037e4f11765438b7ddc136b8102262629b1f3ac41 -IVlen = 384 -IV = 9715d9b6a037b5a2afa11493907d608188d2ba833ea74d975389268fded94ea006f9e000396bebfcdb94e0c76643798d -FixedInputDataByteLen = 51 -FixedInputData = 975d3e2623259f72ed9c29d7139ff3ac6914a7b88992f6b2cc30382843bb4bb9e4aade8155c11fc93ead4bdb7197cd7f883e85 -KO = 24977e8b08befda2ea18c858a3d5ce61415c7ed8659bf7519e9c628d8987ef4d5b310f3a800ecebace8432051e4c9671fc73c696a8789bcc5a3b54f78f6f85e359380fc0508e54df3620ea233f7e2c7acf3fab71587c818b25ec803dae4a6b6e5fbee3dc2b19bfc0a4fd2b69fd067b7c9f433d470834028409ca3f66047c95a855aeda86ba3817a2f9e503bad58be6e0a505a3627bafb13b07043d8b7e26ad9a05882c83157169e156d55a0a25041653ed5f0f9dc9a5c203f2d7687be31d63e14d4ecd916aa460c7d6c48b013d1de8ea988eeaaef8927b09a613032fc496ee513f8419b676bc7e05a764cf20cdab939ac369a01ee6f1610be27e99c8731217e6 - -COUNT=11 -L = 2048 -KI = e5ffc988ab585129e7209c10253bff28dcf3d60ba09ee49f6488751eae76b286b88163e4564eb73410de139f6c5b6e7e -IVlen = 384 -IV = 83f3b5679c9c31a4dc717362f5552204ca902cf3ffd6a189eb27b421fee4e6fcd1f5949a1d31eefa651824e9cb667cbf -FixedInputDataByteLen = 51 -FixedInputData = d52e3ce3e963a080b30b68acc4f41272e74ecee70c484d2c817e965041fcf180ec2ce541a9622369c9bfe92eab01e8287b53ee -KO = 823bbb9b187cc05798d87368ffb0bb983dcd3529da907117b56c2a6192f656e9f4a1c142ec60e38a778fea371cf45454499883a678720f6525c5c13a56961e407787a9f650689310ba54f4a29b9e0fc5fdc8979f14aaf7f961d5d04d979b340deccc7c8d437aba7a9f8a079b407b32ffef1cebc504b8031af42a7c973f63861c3977b2434a37e6f8e838b5c0599a874cf340519228503e089de0b3ed5d8d8019815c5b96b692d01e4bb9a90b248221e940ef8792508c07ba4ae7f5f3dbbdd58e3ec4b5f4a24e5177debd0160722ac254ee99245e4c964caac5373f8dddfee5594dee7bd898c76965e7ea8456351d59aff510805934ef396909cf9b23956ff386 - -COUNT=12 -L = 2048 -KI = 4302b9efca6745942ef609bb4d7549aeebc03fedb713a2302e73776477ca23ded7eb1d3201a865df7593ad8a9315b288 -IVlen = 384 -IV = 662cfa1f609823225bc193170a10eafe32ff15afe5d3091aeeff496b7a8e475779b5ee9cdb1ab48e1f9173eafb0254f2 -FixedInputDataByteLen = 51 -FixedInputData = 04aed200c36152349bc26f0c8d8ca86994ed2238b61c8114a0ce263f97ff3c7cc4686c2ad48628044f85f33e58f9400a3e5856 -KO = 4b79077567c4d9ac1dec31bba980a962d284cd3aeaf4be355139308b448a24019f44449e389fa3c6b3d5ca34ad0db6259b3a27d8fbb91d2c635c8f22bf93a84f552279ce8213a0cbeddfc999bb4850483cf09c1b2a08ebb9d1841440f9d5f47ae99d40e1e9446a7fa64565b36175d4f4032b44600e4898ceb1ab07849dc7a01ed6b12134173d0ac625536a632b82bf0e8d045f90b7e0e699faca3107423cc1116a11e58e57908ecb7487ae6237cbd0bba4f66524eb4d9d7748c48c1286a31c5515e2f91f95acad8576575563da670d0de6118c85ffcb7e2f3e779ac1ba0518660ddd53822f923e607e76de2d890cdbfe685620ed41972014178d1d02e5f1c4c2 - -COUNT=13 -L = 2048 -KI = 3ec68b8c38aea00d7488d346449f4a0aa4ee4b53916578129278311c1af7a695cb5eaf04fabb6aac42d3c8ae31e08acb -IVlen = 384 -IV = e8a232cbeef948947d2e6be557933ed2fce1910b40f618f407f794b39b6af04711b56ee0f01bd878dc567395cf22ca1c -FixedInputDataByteLen = 51 -FixedInputData = e2a994adc4a6e4377e7ed01c067300a6f722136c33146a524889aee4b06f03fef3dc389bcbb7328de04bcf643c910e3ee8fa01 -KO = 7efafda10b716710110bfa748205c09f156887a5eee899b7525e006ae019ab46ae3de3be02b5b3018b70a0aafe48cf61f1a6bf1bf8d180027153612d29f553862d8706ed3ac18c74069b7773e9b158d037c3bd87b4a7d1036bfeb934c23702e99ff7dcc807bc58a63707a8d4d0bea877e94122929475364f97bc411d9c8a5b51f744c15f2d7759f1d653098f218f91b089537cec132e6bdfe5968a68d778aa7f003bbd4e02384a7bacd59ab00ed4e83c265aec773c7b6b8450a1bb3452d71be8755cd229f19ba892b59edcdb277ede9a044d92b4dec516297bbe161119eac526ddf006cb0fa5e5c83478af8e5eb70640d5c96a95ef9632b64b2481e3c3d62a77 - -COUNT=14 -L = 2048 -KI = 4eab6dce413dd1abd4e1f527e37a9b4e9149ac903b731d575fcc0656e481a9e2699e51411b2ae833c9c89ce8e80e68e0 -IVlen = 384 -IV = d8c0f88a3eb200f6a16fad683d5d0aab926c2d21ee8206c11afc8c960a67b7db51949f9145e12c84a2c388f74f1f2b44 -FixedInputDataByteLen = 51 -FixedInputData = 371122c053cef403240f53b25db07b3ded63983f310249e1c33acbd007fdce04d6d00c7bd14ebae84e553245490ba0bf00df15 -KO = 60e710543db8ba035276ca1e51adf66e24f901249d2f98487e3a650df2c3fb6737dccf9634dcbe5580e98f74c7e5fa72c7482d920b497170c2972ddbb1f0cc7c1d3c66959ea1a0ea5fdc6b726a5e1f724be176b8e82ef06611cb188419b8d926b13cb227c5b5d3ded40b816823c6c274315931d5b3dd27e5528fcf9b47982aadcecc9ce164faed242e40f88429df17035d9263abaa04b8c3a8fb0ded0e2eba2ef6f78c3ff71cdad107c2516d6cd0d545181fbe293b3ce98f700b1b22c70cea8583a6f3eb3d33235c29e7c39a06c01ddb86d9184a4ae8eadff0a30b16f0406a954978e46148e88e03c20b8e31ebceebacfb709dcca3b986701b9984550b5f232a - -COUNT=15 -L = 2048 -KI = db25bc35485a22a413eafe2685cf6cf941c39c92fb35b1c9c6b5146a4891b67f6acca4383ed15f447e2f2620e58cec8a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3064c10e84b5296e9ddfffd2e52d1985158c5bd991c86c8d8923bd547adc4fcce1a99a2b16f6cc844a1fdfe3be7252bceaa7c5 -KO = ebfdc8f6d33b789ff5ad0f2046696f84a1523e2403eb9d522abc171a7e58647c64aa33a569658e2743094acf926f9ba0c10dab036843304cade5aa44ce631099816f8bccaf03692d6df552979c6e7d777f1cb768d7ee202ef614fc688d6b7a08b80c2c2e5124fa417f9987b122ff36d09be0ef0e9c37fd697bf91a3183bfdbbe301503dafe14ae2d71ffee7f18446a9b631959f4759a6e20fecf2ca7fac73329a4d5f6db1144e7b043b226a395da9dd714a6b1659a392a576d4cbfb6eee490378927e1a821df4d87d4c1cdd7fc9b6c5407a45a22ac35c3faafc28ccab4075e05d59051a904ab3493a35af7081a71e4b60fcb816ffaca568aaab341609eb9a69d - -COUNT=16 -L = 2048 -KI = 9a6367403aeb9a77a598acef206806c1a1e0475aab856f078d044c2196fe762ad66f41d84b128fded943b5ffad1e7b4f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 09815c8ea6339e262193432af622d3056a055f88d33bf50623defef3eb7631ba1f2a04231789eb3cc88c68c9d27a0a63ba4c48 -KO = 08ddfc172435d5f7bf51d80286ba313df47f2a05d86729e88be06a06f7d0013202caa1351c88473ab80173760bed271672c5ad39cc132c394f2956501d3f236e0e15649a07694da9716d0df2544204727df1dd4e7166892f2974a609a7a6588728f94ef88135d994306a1280a509e34641c44956c3f96d112e97fde024f415ab1d06fa101152c3c73b1b4f04b567620a20b60bee64acd4bfa90aed674e59b6fbab1f842877a286cd88fa67e7b8db44b00d84a34bbfeae41c11a4841dbee159bdce3470d31ad44f2abb080b9529301f9826cf1f252381ace80c53484196b977c77c63963776500d85fc3251b8dbcce2cba7a789f4d360dae1c5625dc3f339be56 - -COUNT=17 -L = 2048 -KI = a15c389288de656dd1af0b08e7f12cec71b4b3482d63b483507c1555377da4909ffd542d2d49c22a9142a620250082e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65000f401bdfe718404ffb882503e6d8a6dbb1cac12a7529e72aaa1e1d34844fd6e31b5b11f0156c1000ec9e286a0e725e251b -KO = a1aa924c1e9793bcd664a4a5ccb3efa77ab6bf36d56583e828b93462a33384614bd6680a6035d5cde6e3379807787927eb511d81252d4d5037a20401ec1710618e14a5de1dbd0623f8898a3080571c2c90f3f9f7c96c6f99340e4544fb9b70118a77008f8d18c8e41f38492750160098a845796bcadb9127ae69b432f6e00a040134e37b9084beddc16231bb4428d1e9b71c5264fa14ac2ffb3703006d93fc10f0a1161e46e477772cd9c18351a242a8ebc8a80cbd968abad93c9cbb0e79f2957988b1d753b516477ed12546368527e5a732abfd8e63c17a4854f12eb510bdcf4d1552a5d14e806bb033c81988b242c996f946201d4f826c9a56a017f60a5e47 - -COUNT=18 -L = 2048 -KI = 02a7d14f6a369882364dede1953be9a38a9c9210fc4a23f823bd0950e8773e3ecf18f64400d40723850c091a00a3fcf4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 211982ff75da97053baac42940afc43963bd425f239e9a5c11d30877adb48da664ca5088872136eb38fc4c5047ac6e748e0384 -KO = a9a2a6322c567de33d41c05b2e5604951d783b74d3beb95a79193fbc634458c42b16d7a9acdfabd0ac16579f1effd7e07039812eeaecbdba2b3eee97c39ae10d48ed0036086debcd75885985f65db659d15e7177a87365b2737f1a7dbc136a13b907ed3e9e7fca9f90d019c7b79ac581bf2deb20f1b451e7ca55c56c8273b56e9097ccf1ddbc3d7f626acdcfdaf09f3cb43822d9f4d431c40d23ebc846de3426efed5c9e32f07faa3e4f60153da2b303156b7367e38767e5f5209f519af20b87a01532af3ba2db1fd7a3acf5880d1b39982767723bc84af303b67569c4619499f54d56beff03ecffcc2735403b5c1f2431975b4ae082a7d93e4495c949b59e83 - -COUNT=19 -L = 2048 -KI = cde6db6340678c80bb9d84d7742fa2c9515b9e68564ef95d9f15bb88b89cd32b0290d0c74d024ca22a7e72642bb8540d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 515866488d12b74603280f6a249224d91f19f8830085e07b438fdf30f56bafcc1a1c7e2bdfd762e70c7844df551ee0e3c8f576 -KO = 7eea33665c6c817b1bd672d86705ad5cd2784858c3fcba3c810b540ba790437e15b19c9f12e2f9b465803442a60170685bc2e875a519f2b5c34d3c580474c4fef4a5edb53415892d1b622bff9f15554c75dda727db6c58f00d52fcf4dcbf13e67fca357a3082bff16cd3799beda408879e63e4be6a0bbf344ae868774282a725ec5e887681bd848297067281321430ad8fcd622637f944947f5053f78e44278802d88b6f1a9a109533eb41f8ab0c262abdf14d51ce2b477afb3dba7d598ba49f65ee973c25640b0beeff4b2f47a1292285872d031df6a3d42eb9245497dec03a6146ca25e28d60318e51a725a02d35fca02726b7aad93c2c592bccc3088e03ca - -COUNT=20 -L = 560 -KI = 1d6cccfa1d3ca82a194f5367c9df28fa0a23a4640003e1fb5c852664a6b2f00ea64f3e444b4c6746e99ae04a9fca148a -IVlen = 384 -IV = 9061a4f84a72c198d3d3353e6553f19903f1cb421706f1755a5b71a80966faff89d3b2294578b3391ec866b1941dc2a6 -FixedInputDataByteLen = 51 -FixedInputData = 7f9d1a0b7cb1945601732627dc18f69818b4c227528468b3715b049297553454c2a7cbd5c67641d92e3d396c9ca58a3f97c90d -KO = 8b185a88661646144056c16c41eb0a366c51577b18bc593d2b6ca1282b123f573ba5b5b86bdb00281c6767b69f57b00192af587f706fb6710030094db080bcf9ef2eba32695d - -COUNT=21 -L = 560 -KI = 550c1d3cf8f84d731aca22670e1bc1eb2a84a53feed613e749dd3e8a26af5e2b276c7bc4b7243e9d581671cb357ea6ae -IVlen = 384 -IV = 2c8d9bfaad4d2ff470c95ab21ba967ac15053cf598a656e7d20f49831f92c75572b88b59f0cb43679ccdc786ea41a810 -FixedInputDataByteLen = 51 -FixedInputData = d3923a74c701ca1523e78c1e68ed8da2174d970c496ff59f4412e57090ae930c988c66373ffd938b121e080b5597cee897291f -KO = 7cd3105393311a848036bf37f24abfb26a5c08614f2c234291adb4fec3de33ce85747fe8af96bf70cd93f06ca0547d2e15552517bbe9fb0d56c572e20200b0a7ff9f983bc74c - -COUNT=22 -L = 560 -KI = 0b45ceb6827ec4e8bd1fa2847422f85fd08ece095059c54517f81605a22fc33de5be62ecd014e3f4a690878acbcac315 -IVlen = 384 -IV = 3cd8d111e8db1eb0933089bb2ae916f471f35c0e5215c588a85b9e52ed786ffa2cd079604fcf24c057aad009e6dbacbf -FixedInputDataByteLen = 51 -FixedInputData = 0f8ce27101ee376f24273c9e90a24b0a136ea93a157696f3213d64e952a0a5c1d64dd488a8d9361b17c086f0b23cc5158df0b0 -KO = bfee8d8324a1a778caa97e35f47e0598c5442e9ce9e9e51806ba63cb7e2ac3d1b095e5b0f7c4175bdfa11758c147021aa5ee0833739f8882ae679636b6b220eca1e9f13a9e90 - -COUNT=23 -L = 560 -KI = 8c9ea868a101a03521eb2e6d329c3b49c226ac0d8cf6935af8feccced8870d416fbddeab5934d9ba9829545ac4a69f42 -IVlen = 384 -IV = 08e77d77a2f08c139b936a35f65faa275e7199ffda84417c7f382a774a8c3ac3293382abc73bbd3571bdb06d8a5d0fa5 -FixedInputDataByteLen = 51 -FixedInputData = 87d82e9b1059d1a97d98b9f4b97363791008594affafbed76efbc7c613582d7414dd0dd46691b8b6397457c728439982a532ae -KO = 89043f6eee9d3cfcaa95d58caa791b3c1052df941e38eb3730c14bbf94235bd81a6913e4fe6ea5f8eea1d013e765eb2474a79e2d8fa83a40bfc0a64756e8b0ae1db1da4cf2a0 - -COUNT=24 -L = 560 -KI = b27ea0e68af564e36a675935cebdf7a43a1dadb6e172a142fe033234b567a5a86acc43f8fceced64b31a149bbc253e3d -IVlen = 384 -IV = 547eb28aeb7b18d31ab499db6126ef20d5732293585007c48cb1baaee8ee74342b5e35ea35c6b9ac8c744ce75b1095a2 -FixedInputDataByteLen = 51 -FixedInputData = 61ed0483738c29803576cf074851f0c31d63882bc1674ab99430d0caf4e3ce0977e9027a98051b99a9e7c815d80c3c487e9b95 -KO = 121883d4c9537929f7f67aa61ac2d10b7dd16b8a02f1cfa2abf10d02eb272acd9d58fa54d3ab3179ae817b9ff83c15cd7b3630da1102320b9b78d6cd7c603ff4476d2144a29b - -COUNT=25 -L = 560 -KI = e72ecb972a7fb621c9500c9660977fd8c457b782d636920f42c450b412b7d63111d44ec151124d4470823b3b71e4f285 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b275e55fe34398945d42380670ec78ff07ded7fa3d4ec084557a9b29f0e849fd30a028e4eecf1db053c7f5ef5e831222825915 -KO = 0fde9c3386263c83e44c0684b43051521b51ca1d65f9164c3b84ee9dfc0a8ce3d86f3a4ddfbf8a920f478b7452ce8c31ff46227591e80a05501af39552c8138d5d8775475a79 - -COUNT=26 -L = 560 -KI = ddd4bbf7e77c7d974998e8bd55b0f915167c8700d3910fdf244d40815fd41d99789bcf81f0bb4e51cf86c24fe495958e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f323d14eda26ae6fbac92da917227cdf438fb67b8bec4421ecf86aff592376b6cbabb25bfedd4a281f5a6076379490976a3b40 -KO = 0ae820c3bd39aa06cb72c3bba5c136c2929ab9055e3a60ddc23c17e4b455f16801be16203a79296f9633ecb522d6e1341692fd54b93b3c08808a25291490e2e4fce1a6b96eaf - -COUNT=27 -L = 560 -KI = 43c7aa15692a442b4ddbd5acfce9d65a5b6c25c649fdb30990046a448ec0724836fef74a91d37f5a55e41c4bd6b8efc7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ec7926117baa57c3e3e1da509da32544fb8a899c3b0797d701ff810b7fa3fc8938fe48855541287205e6ade7fbcf50d212eae2 -KO = 762e4646062a3a6cbda2a7a543f5553c0cb6893d99870499c91b9d52f98480202673e7a55ebaf97410b66393e9c1c41ac7a95f077a4a74eae3ca480f9264e67719ae92253e7e - -COUNT=28 -L = 560 -KI = c6237427b087904668c254c038b33b5d6b37e4e6680b377301386706c6b17956f1c260a82f7444d468fbd270bf1bef9e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9291895b8264ad9ac3c9d3a0619dc9b7ffed81a15ff6e96f6112e3fddbbf88726acc7d9b7bbc8f0c6d17b6513340c75483f62 -KO = 6de39d5903df31310e3dfd6e2dfc00e79e82eac6931e7ba49f24de234eac306245a80683383ba46d8634242a0da527f224c59da4eaf45c8c4b8f8a5741bb5b37b73fabfa6b45 - -COUNT=29 -L = 560 -KI = cebefca6786855b45c4cfa10ccdf36473ca4951ab02793e647d5efd933b91a9f629f7efb6a839a6187cd7b962f60bcff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ca6ad3e760ac43538a988ea544ae3b297877c5d0f2a4128809bca3ca5e521e8456103ae70ab17c302589927b87ce4fb6f43b58 -KO = 78112b9f536a6f6c6de4b355748bdbc05c61f3d3996377055d6db62a283bf4883fe2712cb431a7bfc6a3053b15d9c0d960bd303d1a2685eac42dd3e7509ce7ff62e1e4f26d1d - -COUNT=30 -L = 2400 -KI = 496e819a654e9cb05857d4611b7c7f609152d49220779234be0a2a768676851d6df9ce6e7f08f576e61cba1aa01016f2 -IVlen = 384 -IV = a22b907fd2b14d67bfe629e3559876dcffbf0b90705ffbc0bc790a73f552f8a1d1c4d6df0e5af3333b42afffb673b19f -FixedInputDataByteLen = 51 -FixedInputData = 7a25258ab7d4d3d38b7079eff5b9aa8fc14afe4e036343abc066effe3e8bfd1e2dbded804c208bdc33b9939e0c9f8f52b5462d -KO = e08504a850ec93a1cd99ae5a13bf725e2b0d78b1885d21b32564289feda5b70a028549610a0adbaf2bc75fff0487753cde66fa9fcd732c98eb8bd07c04f54b2bc3d08bc9beeff061d8caa1f2f4af6e932b0be07d8e113add8ee83c9592885cdc7d4e12f0fff5fe9f01c0283d8855987b56a98ad93394d18626855e1042c9b1b100623fdb6f2eb6b525aa1d455497ad9a1e515d7ae33728f951e53794b068298d817a8a18fc747653c0c62aa51dd9de77811f95893d6bc6ac053aff631c08667dc075ee5d947eb4531795753dc18743fc511a193b9879cf001413d0853982665bc801f9e03725c5bc6d26e0346d4196fff84227252d5f15ffa597e9a0adc79c29da51205a42f40e8e2c65f165f0202bd6d38f782f999e7b23282b03cb22b5b809205f8121ae9001d9f30a4632 - -COUNT=31 -L = 2400 -KI = 6566c2fd6567398e96647457f18fdcc5dc423b6ee503712abd6f7d55f6f9952a5d6d0c3f9a2e40ba602be9488e5c15be -IVlen = 384 -IV = d752c4331714dec4c708f3549db36f66a6e6fa9af63ce1f63902fef0c60fbb01b9b89d536b72ed9edaeed23b9b551892 -FixedInputDataByteLen = 51 -FixedInputData = 00e720b88dc3aff25e4b1042e1c44e3d9e4572f94b19c3f3b40bbb31f2e2298f16b7c53134846b527df41d36910b7b6f2fdb48 -KO = 69ee1f2c978c18c59e4431960ddf2cc2a99c9cef2108300c38bd3600a2672280079cf1c3c26c76f8a15844973c25f491faf4dbc034b32f60d803cd379573f180677fb2da276ec066d452c98ddb57318da8709639bcf5e9986c2a40fcc43c472043293aa5ebddc13dca038b0748f10c4408ad722250fe41592bd652ecd644110f669b77af99ad0ddfddebe6a24f5d99fac3aa02a7a32a441ca24942a1c4fd6267b2f2c55e4b1252b070bfdc3ae83dcd3f53589eb23eef61d5fc5db0aa7e7d4cc900338e53dac78742e8fa7bc0133f5516401b0af8f83977c9becc4ef74aadb2388262a73786632f60d794d7075f49d3695f8a3a4838106b7db1c4fce1ed5c226eb5eb6387ba15b88572f771cdb89e4b7f68830eed3cd01ed14f043e068e9b151b81c6ebac31f2e8abf844f581 - -COUNT=32 -L = 2400 -KI = 9250967d234297691db7b791914a277965bb7f3df012ca2c50bcb7e7ebc9d724b6272d3b2c5f51f18298eac308f0ffd6 -IVlen = 384 -IV = cd1fc9061cd2833518be81ee213a0c06189d3f7ffc1d7c73d4de779ff435f8efe10bad42125f80795a18a7214de36e33 -FixedInputDataByteLen = 51 -FixedInputData = 6d739d2b17a654a0ac968cd4f746e71de68f66db4706705af3fb31a84d32408e0038ddc2862d19e935a376b9c184cceaecdd27 -KO = 6b7ca7f41b2d6ff24b3badc1d16851384fc2c7e0462adcede693b0f0430aa0518ee1949c02c804215fd0e5d7a04556303f13ee9c3880bf7c9e00af492c5a36c0bdd3766b59532c591068f04e60a2454844c75863758921f707914353b6f16f2b80c1c2a325e224861193031b87f2dba273a55502a6e7b81112cdc63a09178e76020aad01217afaa6685691bd31bc4192254c0bf1c26cfaa4f521335696e26735a9cc3c77f3cbee912ed3546e1a0205b1e91bc00b0176b86e4a3087919402526c5592fa127d504f5e4f4e487e5b67b1881c3a3ef97fc8d2f81763532683f2975622c6f818d3a2979bc1462d8e9eaf875f60f134c4ab09c841982d91e791be5bb18ff56431aa89f073ea28d35d0ea8b33d71ccec79999362a9850e71283e2618942892f4d1525a141a0d3ae1be - -COUNT=33 -L = 2400 -KI = 38c96c6f0d8b69c15ce2d8a8f41f6c07960473b525db6e58635a46dfc3f3d4bbafaf6b36f92768d6b2934cabee1686e0 -IVlen = 384 -IV = 0300f2d0e0558c3ed2a202c49d42745ff7da4c5d94764a5c141723d7cb124b0bf06136978ab41f150e620faef7a0a835 -FixedInputDataByteLen = 51 -FixedInputData = 9a28a64abf06d6287d83c45245879927c6317665406376642685fe7aed5593bc181cbd6b9d50a7ad0cb102cd39ce3365be13bb -KO = b27bc75402652544c4e137dc887921dfc2d68b12b906a26613dd09b7cf36932e790f7da2276946d5dce26405d223f19fc2695b7bf1dcc8ff2c5f2252010394e61054a7a40ed1ef906b799491f05d8f55df5aedb7b505877580b86ba0cc9e3c56a291c5fa7d77e98cad12939da584cf60182d558cde88e982a41d1b2f191fe92d117ad01887f1bba1e3ca5a7b049d21074f53d3c406e0146ab53a08ee8ce06771bf420453493b792a93486a6ecfb00c8a6c6494640333fbc9d0da9f14f7e15d1aac347082f0803fbddff374c8ce40f1cbe660dcce466d564566f8996a3dcc1b478d759ba802edf5a7e562d0209ce095e7c73205895709426e1133a02c8afbb6e490d98cf4a81b77f00477ec6f7e996cf68b2504b96c4d785b033ac22544a766ca1ba5c22047be955427f1af63 - -COUNT=34 -L = 2400 -KI = eb0de18d43baf5cd28e470673578165b00fadab18a76a264982a11401712390830a534c471dae5b42565dfb1a53a342e -IVlen = 384 -IV = 94c0a4392c85b5efe151df15b3c99d7e1c699396340510d95e090de147ff593d365e9eb1b53c2eae47eeb14b7a3aa5a2 -FixedInputDataByteLen = 51 -FixedInputData = 1810a3ed06c39a1d46841bf909283fe6d873b83386725088860b33f1621ec1a80bcd38d2d22cfc4ecf35c0c4e17a6cbbdc5303 -KO = 60cc8ce3c1b425167c865d3a64ec4f820f827c9634a023fd49021beba0ac2d369d9db17044503868f6b48514c07c6c029007cfc2ab240ed0f6a668ec9ad69ed370c0bc07ad6216646c471aee024da4fe83417518754138c1c9b3437bb75419f50d3a0ce1625dd768aa79f2fac9f96a6337bface02fa0e413a8bedc777b630f05034a444f7e15e44ba61a7086adff30a4bac9229a04d9174f2bf09987c062e57dd48549b3357e4e1a7403815116e98704791dec847fc589bdc862e68c99053aa90246733010d6d71ebe42b349f5cb645a360c75ccd61ee4fc02866e277c735af40cec5f90c177cfbbcd61eb8539d849a2d64849643804485856601cfb42607598715370d424f439bdfa32da7a287cc17dcf3cd7035468155a0237fe5478b813766cd33b4aea6aa52e3d87762c - -COUNT=35 -L = 2400 -KI = 502a443230bb986a63ebd0502ca9fdeb505faee18a2cb6144b399f276822f3a9d3def1289ef9bffe4f52e4b646193d50 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8cae2f305f86b978a81d6561d5d3c6e84641f858bf21226a90676d6ec3930b52e715d71c8d9ac0d4679769bac06e22a7073c26 -KO = 9ae91221aa4401e3a5f6e2b9e87607f949ddb34f6d42ca5bd9a831e3765f936021e03c67d7cceea9883d282560b1b93e80f3cc6cca947fff06a6f7c758c2b70595c79e8e33be79d2076b6d9809d0a166f08afba49e7b71011ac351af02c239092dfb4dc7ec87f41523e9517851bfe4f9c0efb9e9c82a87dcb991736c0906019e45e37470aa9712d588da31be820ae626525e5335d8390e41ec8c49fee1bcf4bc1036bbac86db2826a2c8766e1d13042f6a53ebb45217077f63bc7dc8e415f47d76d3fc8c8156216ccfc050fb54b76f54b6bf3199dc856c9fed81effdb9e51470ce4715679376bfd40d00ff6b45b61a583705cb10b8290df4390e2b665c80b5bc7a2677c96d5a426ed489c58652e6408e507cb199e67ad504d2e53113ffb024847c1441bc709a5eee4ff0d826 - -COUNT=36 -L = 2400 -KI = 4f0bff2bcfdd0e8518e2fe24604cee517ba83a9d55cf9f74492d6a652f7691afddc0a937ff67d274069dadd8f38a517d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = de488284d10e98084958c8e887bd164b2daf091293f95e791a8b85449c3ddf783affe14234c30e42b1ffcc64e5334403c3031d -KO = bbaafd7bfb8ec06d631ddf57bfbece91863850f5c5b6c8a13f3c2d9f1c1997d2e21c00b1fd8a7bc22c4020b6558b1460436df3e977dbe4e7c30a88722a1e2873121f49168d9a4972fd36ed30a51cb920e3e94fe27c79b2e599adc4a77481b2673f98b59609cd39b796c7f675afa51252a54c7ac755d4157e37eda25e78c2d98a5859c9aef719e29e77f350afc48f24fbe3fbff4a64181bafe16cbadc6146d8c585bc787361fc60622b651c72d6082b242cc10c0b8ac80dc684edefada716b26e66445664bf9b7a275566511cbba60067bf99b68eefd90b498f6ece16b7ae462d7e31f61ad6060053e15e72a566bb5c87c4f17abd0f3fa2a91ca7e63128d846eb18f38a6df35035e110e937b489af37656993b89eb3005519c7079254fc41495d0d1e5ffb70b60a970eb4158f - -COUNT=37 -L = 2400 -KI = 94b6dc0f85ec00ea6d19005a4c0c910798e9e6c45c4a2d40572d54884294fdb72b3eb3e4ce92aba51c34af4a38d6b7f5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d07a9cf151461107750ff0b3da2c27bea0af10360b2b5e6de7089f88d0602eb178d226b79d94856b09ea85b6b6c160604acc9 -KO = fc5c9917cfeeb267e9f13c6125f2250f51f5cf89adb741124c354daab9c9e88c137b0e294ad07b52d8f9b5bbc9c64549b2f224e8e875db1d0fd6ea9ff9aaccc885c3b4251fa514e328311b4574cb820827448810e4aa3163d40832e0036a18e1e0fcceecfc756dee229383d7a83d541b26adad66951981ac12f0f9f1497133d1296cede06e25092cbcb4c36eb7adc05dc08915af6011acbfb769b3492718308a35d257f78b93e294bd064248316fd46a69b52f9b21b1c3b4372b4ffb9f1bae5303ea89202d4aa0c7a4afa3cd14b31d9363f7814330e4ef8802c2a43f7844c5920771c49fdff3bccbe6d0f4a1153ab628445e831eff68184417e6ed109adc997818ffefe68ddc011868c6a7e44d0db3756d3e6fe6dbe7dd4d7b6f48539cae91c269557ef7afc7b0f9e7703bd7 - -COUNT=38 -L = 2400 -KI = 3358b714edcb2a8ad2fb46436f203d9dd8ddbae7cc76313f4f1a8e4238a4b5f410821414cd8bd143dad5b849556594e3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86a61d0b982323271ce506c885bfe34e2f4ef43ad92d667eec30a3ae271189faaf4216ed3e71b2c898166a721b2ee24245e126 -KO = 9dd2290fd1fc1eeb0f24e12b2ad4f539065e59e2c86ea7a83fa779d6c66aadc70ac3042b342d4e2ea83261b1a8a3ffe342f6cbd84a669635ac7034d18398eb397d719d2798765c0d1217bb4de81078721e8ce61e6073e54d42ed5ce08ff43acf827f767227568fa920a3c16e7ed416a9685646760c5e901f47fe0507e46a75c0a74d024dcd3e3b30e8c65e784bcc3430223c64f4a67c9a7b572af265021bae128594ffef23636a56a9af1b62d4e0606442c32246ab0a091470edf8b59336c1cac40c5b98a0e985e9f1140d32d8a59bb2a072c4dcb1ac9967a687f24af93f0cf611834922760e6dea3d38ab6e17d2e7dac27c2263d62f399f731feff43064d745bea6c8a93fed3b66d19001efcbabb597aa36db7087b3c235a536c357850c4a9147dd045f6ae7262ab15ee48b - -COUNT=39 -L = 2400 -KI = 27d17e4599b5b0b1fd219ef96255add7906c383c77a0231f77b5a11f4c90493599ac96ca369686888068882a96298f31 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05500725eb7e6448df2b58b9efe92eeb1da1c412b61a32dff0ed9b2b69f5d670b17da4a40ebe9c3e8ee4803440ebd7ec289311 -KO = ca9f3148b125c928abfbc1c32263c2ab64c299b888b31b83725781d95a33857608e6b89d3f7a1db898abc9d6b48fcfcd14ce142d3096ca536392c14c81fce16f20d5ab22c23fd9eb7551c22dbbcc1c918afc99cd28ce7d70fc3fcaea683d4f8cfddc24d936466942e43f2aae661dc904e707317bc99d3ff5e3c8f5bb678e98efc9cbb60ae4f56c89ddd67da0cc8ff34705f708f4574c53fc995d9a267388cc69c2314fcbec6c7cc1f5ade31f480febbce142680c62ad04b6bbf4c2de454e1f4fcaf9219170faadc615974963367cf22ef65672138c6fdf8eb96297b68f18f185cd7040fca131390246f1cbb3cc982fb10c8e845258c8c28353b8047c595f96a9ad06f5fa4288e2449c4d6e7d17ce6a3a10eb35966c7e9658f2c8a542a8caae86632832e840ab1bd0fd8421b8 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 49584e0e030b8389dac97700c4d8d04955514715b50f10c60ede4235ba4566449a876b013cba8760fb4d86f7d634523e -IVlen = 384 -IV = 87b0dbd86258435c7017f5882fb50d14b408f5751d441613b6e0ba069441f1c5d34eb1bb4864d68e0264c182c5760cee -FixedInputDataByteLen = 51 -FixedInputData = 411f79c3d1316f4423ad5e0d4ff25aeb7fcb08591f55cb4f05fe74603a3cbe3cc5ebdaedd7510c39f0fbf7b509e18109731a0c -KO = 7e4d77e3d606fba2771f255f670c7ec56f963fe686bcee819ab7e0918086f0965a4ef7b616581d29db9ee4e4c2064f5e1d7a454b7c38e8725c72af3d285addc6 - -COUNT=1 -L = 512 -KI = 847ba5eb8eba5b004ef8c0a44e9ce05d1e3fc7e2178fd54c9a686251715ed187cfe5aa27cfce4fff1f7cb2c044b2b273 -IVlen = 384 -IV = 42c4cc153c423319c4a3aab381a32bd81e2cb4b8538324e650524ead78a22fe2ef7fba34608ba052c1f24fa6ebb29676 -FixedInputDataByteLen = 51 -FixedInputData = 8209d245428ec2333f19e05f205b3ac105c1ff78e6b3a3558554b6a50adbbe1ff961ce2ee16a34d49a41c03271be8338fc7795 -KO = 7307b19ba40c5024efa0f6a1c35725acb79348e5cd41a62c61900a65c67ae33654228c51224243aae792829344622b8b0379dccb6235308304a4946eaaf5bc1c - -COUNT=2 -L = 512 -KI = 3e8175c24ad47d526c22e13fcdbe57b38d27a1dfee5416cee660147d57e7e2a6f34af410dd06cf1ed447f43570b70309 -IVlen = 384 -IV = 87870f54f9096b0e7db5cf1fff44cd2b36f44238e3da0f613180b558daee914d57fc36a831155e0389d8241535649600 -FixedInputDataByteLen = 51 -FixedInputData = 500cfd77ba87bf59f48047689bb12ef7e02aca6d1729e4154b369e11c9eae4d46f2b8ca0ca60251f15d6aa8cf2b44ad9446ada -KO = c4cf819c42c93534c81a31b81545a1a47675d760888ba6f5ba84e05033a58bfc995c5a9bdf65e193fe11535f68c3d5e2254810c97adea2b31610fe62dadbcd88 - -COUNT=3 -L = 512 -KI = 9c907151b545e440d3dae0e7533e95dd53a37aa730fec319d22ddd448f8c52ab6de8733719f0699eae53829fb5336389 -IVlen = 384 -IV = 60e1211e6cb4eb26b910f90caf35d908809725e023251927f4897a533874815829650f431ce29b7d7ba5762345408aff -FixedInputDataByteLen = 51 -FixedInputData = 6e176fedcacca3531648cfa503ce0ada3fe7b5edccbc7d2fe36d7fbb5704214ee1389e3b0fe7d4e25c04d45e73b6dcbd99ae6d -KO = b78649c8bb16ac2373c3fc43ce11aa218de2cef7fe1cc247369409bccb8768dde8680b259aa56838f9f340b310d5563fd6e068027a7447423c49fefb6e6209b0 - -COUNT=4 -L = 512 -KI = 6296fbb83c1a53d8d8e2777b4d8f38de72d7a5fb4dce1d8f56095094babcb614f1494a41e424ed56d8b1d86f4256be25 -IVlen = 384 -IV = 84a4e7335e177d629e8fdd3becd64677a11a1acaf7fecef8edf587a66bcf011797864695d67d703641fadafaf56792d0 -FixedInputDataByteLen = 51 -FixedInputData = 236f80fc9c2faa38fb2a47a4e7663f082911381bd6e0b5ff50f4d9c511aae9769f26cebdca7ef29b7069cbb58f20f598131ce4 -KO = d26d0fb0a68da9dc1b21d867c2385a2f20c2efab68839bfccc68048a50b5116c71956c1aec8134094bee33220c386d0eec2b9c5c9bc88debc9856b31f1e39d91 - -COUNT=5 -L = 512 -KI = b5610eb7712c1a5f64717a7255e70f8d56c1a542b739974c77d6c2e1a68196b91c9395d82edc6c2ad37c80894778c2d4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a0a320e7135ad41de1e27f1c5f58dea05d8569000fbbfac2a1a08c471eb0fc546045ee2c864f60725cf8515bdc47a3d37e08f -KO = 5e926efcdb6f74c8c6ac4c520b0edd5088710eb25b0d1a264e9eac27a029ccd73fcb6256358c1cc60a993ea6d2517fb2a842cf636afa9503a1f3f0efed56cd99 - -COUNT=6 -L = 512 -KI = 5426070196d61d7a5d5ab25cc1a14d718e858bd8b16e58516eeb2a77231173ee8d04c940912d4c4c76e6eb0ef316aa39 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce7738510d3cf35fd1affbb6fa42692b3f4e4667ba85a2a0438988e543fe56bec0988c6e33f3e803bd09f58d17b4151f02dfb1 -KO = 97e4f082df78826ed3205608628026e8788641d195de2a0d6fb1b895974804e116d392cdadbeb8d3af37fa167fe9749545c56d869754a7782c346ebbb35957e7 - -COUNT=7 -L = 512 -KI = 129ec83e8320c50dcd992c59ced873cc176048a198b9f3559e8056a8d7a1aeba01febc82e2cba3e837c952a431ba51dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a6ec60d8a36b6f97f16552262f8c825a20fc58dd00b3682b8056c47d5064d75c56d60eda8da80443c114e33247514ba4a46a4 -KO = 995f65d3d85721f2f049cb77b111a432c7ba41698d2c14b5cd2046fbf52d83d9b1e12eaa29dafda2ea22aa5bf17d9eef5d94eee58306fd228f475d32ccac6279 - -COUNT=8 -L = 512 -KI = 38e8b4545733a30421a851ccc1a08dd452e3f99edd27e408a96a00d9533de71e62b151e7773dcdedbb18b3f3a9d96300 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8fb77beb02c02cf3523b1946542703f38e3c000b5db6db0ea3c556b9937fbbb504ddf874076cfe9a639c94faa2dce45aa14c30 -KO = cca5cf28785f457e079803df6e44c2b05d1ec9dbb697867bf07aab860c2a8864b73ae49d7ec741103d244e146cf64d6212a58aaf8a1f2158d6d0ffd708a32215 - -COUNT=9 -L = 512 -KI = d33e01bd583a8cbbe3dd847ee8850ea6bb22a046c26c0b7466e28381f19891ee7ebbb938f6c1fee710e8d8c86bb69548 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e10cbc0186e34f7c99f52e8fc55ac61ed4fa1d9f9ee0d313a308e0eb2dcdac173110c336d414c0c6da0f815ad678e5de61ca26 -KO = e5746eb8d627ccef3f5daee50fa7d2bdce731098df8468017fe19ec4e8cbeac1726a0fd370edea9a9bc528313f440c6d61d9186cf36abab1ad388a3013eda8ed - -COUNT=10 -L = 2048 -KI = 8c2f61a2da27397b8b1d7fad670a682794ca045ae0126f9f1e919f7cc73ff24cb1ca8c118ee682ba99a2a4d318b82a6f -IVlen = 384 -IV = dea5005765ed3574ebb1e7a47f7b279f5940ab24579ed58d75ad89315f211fbfbc467643e8b9707b6634f61cbc9bc932 -FixedInputDataByteLen = 51 -FixedInputData = ea84e5507f79e10f5c24e3801a80cf5db12b7c6c25939e84bd52bbfaa3b24e07ef2a1b2dae614ddb7eea84137c3f5b9b8c10af -KO = d63c1fe09b8eeea4e2bc26cf37ce2d363a9a6054c4a1112bc4cbfbe8d9f79074e0e4c470a6852081fd46612079944b09345ddfb59baad3178475b37d614513a62acd95c44dc695b3b3942451eebfd99b5e9d52754683cd97a885c426f22d4cc03d93cde57371538c71eaa27029a182df10dd0e794c57a7f2c16f5563931b6e07b3309d9d29abffabe7e2175cb74409e47535ddb7ed246e1d158576770c6e04d15d2cdff3108bdaf8c28297d3e79703d6a1c2414b778a37fe6fcf5e27dbfb858c3dce46b208bae7381630fb4692ac448ad3d1fb5f3490b377130546cdbeec21d1abd437139d0010009921c209baf1defaf71f04fe871225a2a3cab7ecfc304d1b - -COUNT=11 -L = 2048 -KI = 28f9b88bee3549a3121b6e089a4e7068b6fc2d3a28012760a9401fe8cfc6dea6f627b3db8385db83b1d092231a62ca43 -IVlen = 384 -IV = 9e48372de1def1189698ee3893a5f1133551e2017d37bfbc253993316465ac987a2866b9870d4bb0f631099999c9470d -FixedInputDataByteLen = 51 -FixedInputData = ab569eb6f64c710e1794bed3add5cdea87091f81dfc7bb95fbcde347e747bc868eed9c547dc2d6c2d3c1981a35f688fa3a678d -KO = d1c2645f3c2be7d19e7b5a8953e63d168eb57ccc0cbcb2c71d73ddbb84098084020a884d6107f48fe1efdad31e7df53acaee6971d3125461038881ba055bdaa5ee5d95facf55a9fc2b9c830793e3acb15c8419b6856f85e9590203e0e48d73df7534e0f0c18fcd49b332f6fef010e3048649a1ecf4e34dbe4eab1ce6aa2a838e3099cd309d94e0ef9fe7b640579ab7d310b1f5fd369fa4954f44d706a14ca3deba23ecc61cd602cbcec264eaeb714d1fd41911039a14abf4c7db4d583f8545330131ec72ff2aa150366c11f5de567700b208cd83ef23c647cf75066525f0d72cc22372e69ee864291c16144be3f6ce031b830869dfea188200d784de5773fd1b - -COUNT=12 -L = 2048 -KI = dde093297ce9ab1ecb0f8b01941f2ed121cf963c0bf190f4561bbfc04b183b530a0adfc554ed27cd451a5bdec14922e2 -IVlen = 384 -IV = c7f39e62493b0576e8dec1b987f8003df89d98012c1aa4db5ed41e06b16e910cc3974a3e9183e95e89ea63bb6f5d076e -FixedInputDataByteLen = 51 -FixedInputData = dba951a0f64217181aa548eac212a6fd15f395fdbed686d6c6362d89c5dd27029f19d6c281e526911aeff14bfdc304de33985f -KO = fabb8d75f4c2b60291d7ffb142da5dae07852aca5067388f383c7f1a848e6330a736e6739542a3d3504a5a17dd0ef838dc6df193f6013183a72d05cb0b8748601eaa283d73d570471593a4b84fb21822bacfcb3405f90e7147c0626c39f4b68b72e7e689e3fd8cac396c6f8b38592a153cc9af48cdc84063cf64109a430bd39a9a646e4ec2ef7f20fe0e554e21b79ed68d06f75047b39ca950e3329580b0b6e98e70372c76de026a4d742f75ca61d5338c5759522626a2b45527d7c0b5a59f6bf335a8739a24d9aebe3b87b7bc3177897a5ee84c29fc76825940b0c25a8501ae86cb01a61aadfbe74cd12cb554104e3bc4cd0bc83524635de7e9b8ea7fd067e2 - -COUNT=13 -L = 2048 -KI = 26e44d49eea77d5170af3bd55b76ffc69edcc4392eddba5ebf78ccd80a4c39377139302d5bb060b9b0f03c6e54c0969b -IVlen = 384 -IV = 211a1cab9b008e74ff54460d6300a2896171cc4eef71e6589cb3b411b5926be8bb25c71604dfae5bbc8648753ddf5cf2 -FixedInputDataByteLen = 51 -FixedInputData = cb3f3f0608c72888b159fd7aabf069a3bb1c3c1be3cf67643bf5d2fb15263fab076c2c7fc15c57f4f17f45bcc0a1561ef01090 -KO = 8b0e066eeab0f1d80b9c50f094c3e4378c38574bc5a9adb72d78b839cc9e310956ceafb24f11c26b3c1d7151ae8822dc34da671d4b8a8bd863b2e0eee66a480c9ddd3310300f59cfbf5796f37486c88a4f2d2d430d738591b5924ef04d54d5b1cbb771adb7b69c2141fb4910eaf47f72f95f5d0e07ec7cc3e868e4163f17aa8277212622d10f573e6ef90720c164a5870e6341d7e083742dbfaba509b9e663465c71f01088e24636b2eb9197548462a37e09e0badf07c5e6f31d33cafd0ea36756f5c44034495a2403b5a066775b83d224166313cf3c6a1e8f20791ff420352723a41dfcb945b442d804189648df03dc1662c4d8da06b1aaa6c8d8470144d445 - -COUNT=14 -L = 2048 -KI = ccc6f743b2b2947c5a9623f3de3d6820793ccbf493fa996621d83ce9e931797a17f10ca81c621e09c5d14930a59b89e0 -IVlen = 384 -IV = 693b3de9427d8f2ec81131b14a50416aae4281b79df116b7288d06630b2a88f856d247ddc91ea6d2ca73f0036989eca1 -FixedInputDataByteLen = 51 -FixedInputData = 242040c6257166756085efe939e952c9af04823db6385b92704e446ce49f5e9cb8a0b98af71554b2fc18d68043bebc5ea7cde5 -KO = c506374671960fa40a66e576bfdbfc02cb82583b91e43c0ccf810511765924218f240fb3df47b98b3ad53d2aa9221c9f2673527c0e90fdb72f103e2d0b9da403f8db870d0892b5f96a32b1c485578306c7f0f3821c9c2ee1d9f897f318ce033bd727a362ee2238084b1b4594db5ada33e275fb9c68744456ec75b22482c2b9f74b80389d49c44469ddd839f2d341d6f0be8163aee86e632da7c3a6df30d0f98830c9973556b2ff8db85b4dfbb9294320193af4260ee09065de6a68e55f191c5d1baa514fd47c8482cbc0a1d72a84c660028906a17d6ae5ab7c16fc26d699963fa2164c4c92e6a9016a22654b6ac81366867e80d0f891239475333c171ed10105 - -COUNT=15 -L = 2048 -KI = 1579882666494d8e51df4a7bb1c9b6d4f86e6d319226115779ef20a53753f1692ba564767363705d459850148d34f9ab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 07ab7da1c12063dc46125530ed1ba295ad992006d1bac820f649cae4157f1acdd760c1df1d1e5b5055a743896e37122452ec8e -KO = 0a3265d14fecf499534ae0d131d361ff39219a7dc914218f251dcc88043a6f7b37d6341b52dc9cafe88e7fec0410a770b2242350f2ec10edb17250c33e4d63f9a7d36c2597e053874ec892920d0f144049a3c3b87cb708b6a7f48e996bf6ab0d80221d6ad241a9200609873d722cf5c81e3922976754d0cecd2ba4b80709bad7a6da6fbceefbc4004d75c7300d62b170f39857e104b8639955d970e9c0eea1b225ba3c8604b977b515528205d304f6ef97097f812cf192433915f8706827291c4888eb66bbfb23d2b2b3437de97e15796d396558b624d59010a15a706be88d8bf9a7dd740a9207fab94aa1e05301ddb9118c90d811c028ec0a21307980c841f3 - -COUNT=16 -L = 2048 -KI = f375ecab7ea9fd8de0cf00003354857d31540ba858d2a6e1b202bc8d75c020d9fa2a0bdc34afe2f24199087235ced0c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c55fb7d24d495b7a04dcaf0cb7608002335f6750b02a9cf0aa360511a532fad1a8b3768e5b25ce461efb0d15dbb66a21a10f8 -KO = ca99e9863ceae825ac3a00415a657dec73ea9421ede214331bd27bc6eb17f001ad15478cffdf1334d3cc33f59613d0b6da56e99acc891f8d88fdb5872fed504bd01fa17fd121c651a6e431f666b042c3b6f3bd64f9a5c504b967ce59ad663edbfde723bba2614708b0e2b773cf5c83c943c7036e36e68213039bc665e41068a9f5e1d870338aa0f64686e362a3c2e73326addb3147bba8f409e89c32ba61f1cfd472dafef5032466d510692ad0e63dc60e4a7674b3eb0455b72014f28655e29a439d19db2657be4b17faf2acea196a036d4c9202ea75c5f0078c44f90db3b324eb6ebf3ed06185146d94100505321d0fc7fdb1f93a2b4324d8acabc16fa867d9 - -COUNT=17 -L = 2048 -KI = 2932b6e947befce3d87ac77e36914d5badab795a5f7a0df751e6164abc31e9a9de8e634844f754680b57a322617fa307 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10bac38eb0abbdc22a5e17eb676593dba54a7489732ad2fc27d3f5afa97e7f2f946a50cae1ee6c8e04cbee664ea5a8e4b107f4 -KO = 513624440b1060b38f2f286722fc3ca25f93ea544ec592c4bcfc4789af67c49407cb0442ae326dbc027473acd48052d112550ea23ddceeaaee2434654466b0d97b97ec29c8fdb36954dca263cf6f6c86814c7acf3542462276938f3d1063d023b7ec3cd5743abefa2c0d4d1dc661d5c1b22bf188744e9781ba6a039fa2b69055c45587a78531a7eed335c786a76b611eaf3790fac851cc93813b57ce7fb5d5e6b1b76bcca9eba764c77d645ec58351485a02d932d023ea765551c7dbbdfc0c58c5604b576f6de7738c87f868369bfec8faa9622cece048b5974e92bba557df664b722c3a8f95a8ea0bf0f9bf09fa971809f7900c398149b83c8ca7793af8a6fc - -COUNT=18 -L = 2048 -KI = 434059e33bae30ae375514d20d28d47834283341494b0f2fd57fff86ae721c4c5d5f4bf82848d2fa305f715b924806d9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8306453a0a7950deb80eddc281651844a95de0bc778bd7f9ff12a65809c98b4895ccda68e4a0331ba6819c393463ab56d51a1e -KO = 5f73a6ebf549658123b4751486564a82ff68dccb35abb27948f08232b8080e520e36e9c6923b4e622d66a5e3b560c86994d875d2cff3708723098514c0f93bc7718499e4b550e8897201fc63da8fe97af4e77a0c879c1714306b8717e534b45fcdd45a3c49a7c9009dda869b394d9d98400bc4a0bc220aea4038c2a04c36d0e6e03ca7e0372fa17e0da61b7d4edf0f9a7988cc43439bf4daa70bad99c3cf914fb1a83bcff0073eabcfa23cff63bc72d372db4260f45ac6aad2e3ea189b10212f4e906168d66bb32706a022cdb061f385481255302b91147c553463742cf5309626e93747d134fc2fe6417c980956c2e020d5e598ef1c49f832f14ecb6ac55b39 - -COUNT=19 -L = 2048 -KI = 989e39fc36e480ac5f372a390385657081ca469dfd5d859580f1ff18938d5faa825c013ba1324219d4defb44a6399776 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 38eac942bfd091d33800a95d0b360b1608d3679b0a7a2d729fbdccb35ed977d31af35de42d51e1a2844a69b80fa2cd56279a63 -KO = 2e8691f5d945c2ffdafa835f398374d6ecfdea0470409c12e5cb8a2cbadabe98fd413d8f06e2e3f92717b0925ae4f6ad1ce3e2e3906d81018d56a004c8f671cab246cd09437424484b48345bc6950e543da4b9a9f8e253d09235278b6302b151d7861cff568ff8f226b401553769519023a7db273331209cf66b5951c72318bcdb764eddeb255aa9ad1e35a3a21c1097aca6cb55da0f01de39a0de0ee3486faa3dd28e0ef65bc6a2ceec193eee80235968b3a28dc5fafbce195a81854c639739a15296d9a551ed0110f1ebb01f947ea80d59f3cdc3b4558e24ac907cf64b92ec157f7baac998806e12c979e5aeed0274e95acc2732bd117816f908148b7af0d3 - -COUNT=20 -L = 560 -KI = 481ee44ff8989329840a4ff89451f6f0dc80a1acdb612aa12a17b31abf39b25f0bff7d0c66510bf386da9a4890dae070 -IVlen = 384 -IV = 32224563a38fda66283144e733ddf2877554bd82cdf84ffdb154ce0d4596afd3565a81d7a60ae906115fdfafaa892fef -FixedInputDataByteLen = 51 -FixedInputData = dd11b4f7975feb0d9088c7cb7b8b8902564423e360c06ccb2d09c7690d131765f95453c56361d5f48bba7840be0d8252c8b0cc -KO = 3248450ea69622b8359615593d2cf5a60ff88803e13eeac4c69a81228a76a0ee576aefc9808f9d1d68d9ffe1c631b30fbdb11f2e09bc2e37127a960aeb70ec4f590844281a67 - -COUNT=21 -L = 560 -KI = d1913a5b7940e2f3b8aa65ad5c6e78e7aabf7ae9b8f338dedb9f1dc50cc6d24da48c194aca75046d1c177acaa1b69979 -IVlen = 384 -IV = 8f8abed5cabd3e3ab300a5b769b7c1bb948fa6c3b0711ea3f3fc446140d2ab6eaba6618314a9801f4608ebd2d9a31d96 -FixedInputDataByteLen = 51 -FixedInputData = e63ab25e4a36158342427bee54d9e7e719347e0adc5f0394b53b9e16d3872d7e64f0a4ff75e28a05bf19d5c631e8738976c0ca -KO = f49ca847b4eec630b219aec4956dad26c0f320bb76f30d3098cb55f1544d1bc4259f4a59e200d68070b0f272bd3e4ab71a63dd994aeeb035488dc2c4d78c34779f2c6d242069 - -COUNT=22 -L = 560 -KI = 5ef5e92e6bda45212fa4975c93488779ecc2ecc1851d3192ae1111f2d53b8b30a99c54f613a1ab4f0e66ad09beb9d3ef -IVlen = 384 -IV = 3be08b404768d2e5dec1a375912c2037a7c1f8ec3493e98e81ffbb95b8c4a182870d118664fb92857ccc90658cc4c39a -FixedInputDataByteLen = 51 -FixedInputData = a8681a6229d1514b203948b49276a73f23671fad06d001c384a4e7a7bb26b9c2920594d9e79d761cc19e6de03cb5d6d1763f10 -KO = dd7396728016441df3383f29a12400e108093ec67e05b86ba3fefdbb2fa78c6181d19e9685e78c53890fdad6d480bc126c69473ce12b665bc61afaee61fe1098f95d6f7dc0f7 - -COUNT=23 -L = 560 -KI = 716fb148fd3d7459a615715fd6ea66ce7dff192f183bf1e13e1eef8bd6130f761685c459d0c081e6d81884011aedfd7d -IVlen = 384 -IV = 43c15c170100628105078d309ff640b874cfe9f7d13693dc1d0b039d4e5ef1c2e8a01430c96a539d5a3684adf11179a6 -FixedInputDataByteLen = 51 -FixedInputData = e20e9cf52ccc031a3db9270c3d779a2adae3f06cd5017bfff5665dbfae2212c02022057d7224b08c7affb039fce7a456be6ec2 -KO = 1869a3e3f1dd14a3b06a2db890ead8f1d52e8e133434ae6ef8b7163740b56025164c082a1f6e2a3ab04f005396b1f2361736819d8b13b8dbfe7b39b72cd27419b69f53d63a42 - -COUNT=24 -L = 560 -KI = 31bc07c9252943cfd1aed374e161fd4fadbb5d72981f9c9bd320d28b82df9e176cfd3b0b9a87d4ccdeddb354e067ba07 -IVlen = 384 -IV = c6441f029a82bec8bab9f72824716ea91dcabda2416e21eb2de6458bdf6294dfd8c8c7add16537b4b67758d7fa2cdf82 -FixedInputDataByteLen = 51 -FixedInputData = 2cd9a20207032ba1d01ea17acc4638114645569e705537419614fae954935c8268c359e70029249fd8000da181d8e04f80c05d -KO = e73493bf5bedc9774db6628011777f6114f7ff01dd001ead600b7c1e1b53fc246f705cf6974779f2a9a74ed0938ebc126d3f140c85645bcde89df7cdc50197fbf63de39889d7 - -COUNT=25 -L = 560 -KI = 9c61d4000670f46d3c4bd99455685a699d516fd29dafca3a866df580b2c0a4e685ec49c7f79b024093da9b43e976feef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac0126e8aa5325f574724ca4d04286d62e965eaa12b69cbce4b5cedaeed48164dbb0593ed09e5aca188a86585ffebdf5b9c8d7 -KO = 0231bf7416c3f3562894a5c9a19545dbdb0a17a807e27de188f29b9a59e1c809fd4c6ab4d408858417eb9fc7148148cad1eb6c732a03a7efec0881a8183b15c5a36ab3233da1 - -COUNT=26 -L = 560 -KI = a9570851a45bd16ff619608b947fcce25a42b112918d219e1df9015102c6696dc681408f39606aba10fe9f737c7618cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ce88857a096a6dfc40d7363718220ffe467de380b102d032b793c271acc1421a7fda9c07404e153cbb9393266def149b62dab5 -KO = ee1f739346b3f56cdd47d484ef86c308ba34e65460ee198a2a862adfa91abcc9e25a9be7a6561c4c3a23e5ac02b55262ea4d8514f6e7b01ecdb05be0dd331cc011b084a52be1 - -COUNT=27 -L = 560 -KI = b11c48bd2d337489a61c96782e22051a2c6a8b7828993c529c6f578b1d9ff1cb98b8887ce4ddf5c915ee533ac9db9892 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 18134bcc0b16ecb3c623502432e3bc65b209a138be6e2ffe3f1bcecce9f1661e44ac8fe1ecab332b09bc1c9d0ea4ee7157f702 -KO = 91834adec4157bd4281dea07c3aac1969cf449d5381d9307ca6014a6a8063207c1c768376c4f3ab47ae22fa33e2e872c1bb3af994096d7867bc717934a54a09a67a427d4332d - -COUNT=28 -L = 560 -KI = d2a8ae6caa456e5fd8ffd564856ed8665df9775ab531e1b3b28f2a49f831439d73eec6e359f6dadac2c1fffe143ea2dc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 99de6f096865395a005a7c9c871940c738883221fa936198031f821d607e4cb0ce1a25590bc400c0a6b391f8ffc32eeb0af811 -KO = c1f5f0bb61189c1898278bdf058d15270789199a37cca575e83fe8ced110f1b876db0cb255c0d467e5b4be98e5cbfb47b32eb36a0a055fa24efd2d349a7e84926973d4f53259 - -COUNT=29 -L = 560 -KI = bdf893a82be4fb6adc35d263b6d0c48c90342eae352080179e0ab49327e9e178dd3ee315ca1d59717946d68234c86b46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c8479e0003b61dc5a435fae4474b66867aaba555fbd8570668eedc86fc94a731f9aaaeb890247a3423aa64208d08bce904dd6 -KO = acb63b8b584cebf07038ac12682d7d3d98ee877182965374855029530092028a30c66ed7dc9279e6fc5c25a0f611fac64021184e94b96aa1040f52eebfb890257de753f68d16 - -COUNT=30 -L = 2400 -KI = 62afff25601f870ce37c412540c7f2d78a7d514577473137158ac77c8ae49d4949e74f7b3c4de1842d8abcf87deb675d -IVlen = 384 -IV = 89d4b02351378719b0bff1afe3978a2a0a355bb1fbbfffdd643010d9377bdd2ae3090bad54c6fff1e2af72d73f7fbc51 -FixedInputDataByteLen = 51 -FixedInputData = 58b6e2f137b44c2c9be7ce6e7bc6a1b02ab117d7b70b83298d80dcbdaab56e3328ec9da697db0ba0f695f5ff635904031308d6 -KO = 161b4d826516782e37f4cf9e97abb3d2060c991b3804f6bea8e15c37c9404a539d86bfba86918744a079d3c75b9e11ff9491f7e097e43a9bad2067c0e6c611ed41ae47fa092ef5a1e023a39e64f40a8260bfef1bb16a16c32d5dde8e94cd61b61d8c4e521fb2bff76efebd2b45d8a22e8d343003dbad7a44d44c9fb5cfe67be6b0783f59168821ed55635783aebc84c926fbf2bb1e67fbcb2d791828e2c810f0b2d865956070a9bdc31803ce7a7fad5f29bdecb3e614f1610bb6eb17057c4193a9a3c2d5417f38ba0896035c6c4266f50cac42ccc8e24ab38ee61d2218fb9068bae4d8eb23eaacbf3d9e7312ba42fa38b22e70ed76915aea889b1661a51a7828a775e6d3d885fb9eb5f73ecd164ab88cdc259c82078a7442e33d96dd3541dfa8d300bd52e308fe042e1aa8b9 - -COUNT=31 -L = 2400 -KI = 259e2b995f066517658a29e5872c7bc82d05a9ac0b9a2a2610995c9e299822198a6e4ffb8c24010bd831c05871a756c6 -IVlen = 384 -IV = ad69fe056e842f97c368e2b4dc0467e571845446393ebb166e92a3d813bc08669be01e202307108193db302eb6a5b420 -FixedInputDataByteLen = 51 -FixedInputData = 680811fad0eb025d9b201987f69706ccd5f93115b28e17c8434a37356d0aa162e6cfcbf452bbe37f2379bfc4b6fd03fd27b46b -KO = b54c6604b6cbb2c456725ab07f4500df7ed84c7df757914b83448debaeab0b22ab7c7b4d25fd50fcb150f8cdb10ca8faf5e96c8b47e2ba361a82401f6e4d3b25a64f679cae570063de3895cd44e6101755582202115376b81dca4d90c798fda406186879d6eacd1cf398c9a95e342fda273e35337c22f061664c3b0367b75048ffefcbc3fe901d11a94bb254dd3d2cf604366d481c9828f2ee60f6e26787503d6d59e37b6894ba046b36a0fb6af1e806a01d53959f3cecaf8855bbf10d898fe33892edfc1b958eb0b6376f1b7112455f4f03a7ba46add00d3d28e135472410376d7eea48c4bb77a5b069cfd371632b5827b3025adbadaa0f2db6d41b1e2599d82b30b3fe12c8e94ce621482ed9defaec418a00cbdce8ada05c202272c67394a5fa370cbe85c14d0767435c91 - -COUNT=32 -L = 2400 -KI = 68d01c5c7313c0a529294ec01cb28ff038ba39e00c37435389960745124855fe2bb2eda0f053729c1f5782574ee6437f -IVlen = 384 -IV = 6d58323dbd20d09cdd9dcbaea35618b2a1cc7bec7233697b19cc728b21df428d154fe51774fb1eb56bb49f41b74f3148 -FixedInputDataByteLen = 51 -FixedInputData = 47fe4a5571cbaf3a3a2cf80d9d0919b3b4df42ace5de1069398c22e12e7f2aaafc5dfee8eb6327930813792741682c4d652667 -KO = 3edf096679505430c79b9671fe086d1ff01ff6e62c841f3394895d876aecf609f6fed0bd87f351a493e543e9cef08b8918e98bb0fdcf4019e8cecbf480ebbb1b5cc6fed3dadabd12e11ca1b5aa26eb11c8be0476b44d4eb9b9fbb9ba3ba5f8609ebdf059fda1f39dfb6ff3f7d02023ebbfafcaf78abed70f3a2fb5dbada3bb9df1755b7848a83e85873d845e8acbcb2ad142695c2319754e655cca5c20a77385c75487890e76629a1fc093120b236e954a218063a484bbce7da3593c61efbf1006483ff2bdc025b18b984053c6b00cfdcdb04a8932dbff993b88f1fffb1ddf5ba32dbff08264505f55f3f47bbada194911a98ef7bf07b2b4144d7d45dfd0ca2b99a66dcecd575152cadf0f6c34baa513e325c7120bfdca17c64922ee34ec023f36f52c661558fb80974b9e3f - -COUNT=33 -L = 2400 -KI = 9974810063b8bf8121b016d297d1742b50c78c1996d3e5ddcefee101cc587e9531c79c319b6b23ab58e85cd7888d824a -IVlen = 384 -IV = 9f23a1a716bcaee2915f4f0c6bee51b607ea26512b606587ac6c78d1c9f03865187f21f23c1fe0ef5e7e5033c1e92401 -FixedInputDataByteLen = 51 -FixedInputData = 043361aaab41f7859f358163cc2c1621f99760a068baea3c3d097064ea4558ec7eb45bb651d7b17b1a52a24ffd87d2271e5c83 -KO = af52db1f32c9a93e149a5617493c852a17cb37667f4c31717c64619d6f604b50834a5b65919fee3d7a0f0368c1cb34d75b4e09d682c3423d12046a489f75c8bd9d06b080000f2fcec2ffaa531a3fbc752b68bb049af4f1c4d1a76349471af10a5de3a210ebe4c8cf488346feb2dc6a094ffd01570e78df3e45dbee449b5ac705d3334b278d0db67afdb2cc7d284faec0936c0daf2222ff37aee8aec94ca123bc34071bd72fa461a196f96d453eb36a7ef8026f6f68632451a6f40117d0b61ed9aa3821a2b20a8aa41888fbfd102508d62731a35d327c9a885e9a95af4323330a9bc87d1ca1153c3003c552a33443fa4a6768dbdfe23bd6494b09f458c3576c934c520bf6153676b54d8990b03fb773c0af394ce04d4354a0abdafe351bafb23a0af1b3af34990f71cdf0c879 - -COUNT=34 -L = 2400 -KI = 29a55ee5c7a6277b6ce45e8b1e3c750f36f9046b65caa4a8d7d585cb90569d51e6a1143a98565a711e469139951bdc84 -IVlen = 384 -IV = a4cc1f1acbe7d744bce96a5215e3ba2035e85be0325b01b990cfa28fa635df64376b93fb05c39c64bfcc9560f4555e8a -FixedInputDataByteLen = 51 -FixedInputData = 9d3d2bd0ce71c5e19fcbf4bbd2c5150a2e7a17787113a0fec9c9b0a5c78457e24b6a2941b40d906cbf0722ccf5cf977aee4c61 -KO = 2e0d65c4f266b455f604aa878fef78d2766e67cd69ba21b0938ef22d0e9c1e7d6709f0d6d15bb509f79a162c077d476c6c12a34e39f770e233ddb47936059c7bcaa40026d3073a7781652095714e378eaf8c5fdf67815c9660430c96dbd062822893757aa34d9c4e748d810aa8dc52276df5c75fa15b1070f4647c65c9a14e87e1bb51209fd32e4c3997fb64565007ead6d903aacfc51092146307f5c67a26e0ee96a923161629e6e170db187ac71a243a4a7aead7c9b0383f53e328a9054a4757d41fa5283c20dafac3f743566e04730ce0952227147074d21da8f64badd628dfd9e811153c7962a91e6ec112ce0543691c8af2c689d603f508006a382d0a0727b54d7e3ffef2ceafb5e0aa7a487a94bf4023d1d415ba2f9017c478f9afc8d4eecd48ac99640baec77b6c9e - -COUNT=35 -L = 2400 -KI = 41ff492643306da9f624683f3570ee5a87798b7e30792f0a23f6241470ace2777db660026549760763249678962bab02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 494480a7befa1dfc0a819638eabbe9a1df8aa492541b3aefe76e8c93ae0de4d8035ac782339cbdb4ddea98408467afc10d7b29 -KO = 7fc95a7190f28c40f12969212042bce3012034ccdd36210b8799620f57ec52ef07a5c7cc8428f372135d241ea7b6dd86afc04d308916da40d27d18c472ff7e1edf7572e0f5f5987f200b2ce3a317e2b18800f0dde346334dc7bc485233cb8587144f32978af31558a9098ae78bb80d897595ccff431738a1b4bc04d497f3a51478b3372befd279980b6a2b3884149514499d15b5f2bc338b6877080038b4b36f9394263264c35ec4f95599f843d839282fd12223601bf523b9fd27e38f192328ad3dae9864081533c3e2af6b2911ee5d07f74eea96ceb5880e561cb7b5de4105500d5fd8d72c61013f3974315412d93796b6bdaa4ccebb8608d94fcc5cc19995a43790849a5431d102716b9ee86afdeca6a34caedb9127c96b711cc98a7e71fa6fcc9d48f366eb27fc646656 - -COUNT=36 -L = 2400 -KI = 1c62d78011582cd4d066995998d52f51c307ac763489cda795c05f1a3c9868a60bc9a1c2e1020044d5b2ced9b8d7be84 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b744e9eeb1ccb7e9d13eefff877645f43338a932e6279579a01b6b030995be5659c7b8fd8667839cf3efb6347f900465a79c3 -KO = 730454fecf1c69901f086e4413223838921053879acc58e4bf918a6f5f3f632588156de577953baaf64d0cad332c9f556042b1e911451561279dc846bba2e04d184a7efaedb98f2390fad9b8538912e444f8d26c01b745271dbaa3908e8c31b5f51d2c0c667a6aa825e2e5ccfa0a805bd14725a2d5aa2a82315acc1935933c1ef19ed20aad612aa9d19e7977d06738c8ad51e16f87c70d27b2f58b77a43de806463474ceff592ccd7929f3e4904b018a463a5735d04a4c2de82e823167709337d7c8eb5ce65be091d57a3a485ccbf28820eb65a5a28f867b2b552ef772226fff5ba56d728949cfe8123efd8411d8c42833a7cae138059f81f6c55f370e6967f8ecb52cb486f55f38d0a87748167f28e742ab45571beb09025856506d5f9a57f01f9749cc6b31d3a6b91ae907 - -COUNT=37 -L = 2400 -KI = 2450844657504354d6d404e889e00ec32ad33f903cfe39c576bfd00448f322c31cb3012e8f807628ae443f0a2aab9b07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bdc57442a7f23a99a375b7ace82b5ca711ee4c66de39f1a9571739250bbae50063bcfa6287417b5d979e05b1735cb0faf59cef -KO = 481e7511fd292f55c66eb32d5d9d047bab8550c37f03265af7648cf5614ec11fe37005100fae0e1a23aa422c2005c86a036ff232f11a5a699ca975644dbd96265ccf509da5098bd7a1c8c7566f77c9a818d78999305e88b7caf9b959c5ad40e3532f57c8bc3192a060c10074ee22dc5ad7470874764642fa94349c7b18f36600367f826626120608a36573e0da2b09cc2136e5f69c1e5521d70c80d43b7c2b6e65672eac2c2aba0e110f9bc22f4a7b140df29b3616090e8b436e83cbc0948ec8b0a7e0840a0ac01c52ecb19470eb95cf22fe3b9c07cfe4d630edaa0645136b4ea2d9c8d96b4051d9373484553ef8e3f14e6563e16dfbedf89b3ce5c556f9deb80eb57da0f6fce94241e580db9eb3ce78905551b429dafc485abc1cad1cc75927f5e98d7e330c05125d1e2da2 - -COUNT=38 -L = 2400 -KI = a4553b131d4b8c5cb919af668cb1b55d1bd7bfc2b3bfbd8215b7950c9f2f8fb169e8a4731928b4c08a436996cdb663d1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be72631b35820c10d62aa40e058e64040e9d138c278b8cdfe69c04250f01a3681641cc9f2e74a0f636cada9859a1c30c5bffac -KO = ffa893f520f1453c9a5b558312cb587b9f769c944b882204f5aaeb22999a614c769428d014537703c663e2b8882c4c4f24c86ebaa3b4d3c734ed43790ffb849bc832232c4a5b2087ffeac2357ddf325208c2f7ca1c2b6cb5c779eafc6c1d8a56e47ec81e5e16db4311d1e349382c4aafdf04d3edcec341f89a637d7cfdfc7210e58a85542a5999e224bdc41b32fbd0e4eac63b8553e6bd81da5f7a54d3787a67f66663b0595c6022275611002dacb3336dd074529e8932de8b07c7a6a209934525ce10f38b14c6f7c409f0818182d4fa0d23321a515bc509e27389c6dabd9523b01e4b7eb7f3cfe463131f7a9c5dea5c5733ba91058b6d131e39c6cc9a346aaf49c56e1ae39a455e9e3a6e86520dd468771d1f76cf6017307911651153f74e7323666700c40657b3dd6b5ed2 - -COUNT=39 -L = 2400 -KI = 0bd3cc2cec70d184af0bb600a8f55faf24e936f0946b4216979e8a880c565713d309dbbc963f6d2879ca0e12dca29e80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 35bdb1828d3835cd19efb4c8e45d3f61aa37bc13a0f5c3b184daa6a19b653f2a7026db0e1212f7732576da127cc7404ec99daf -KO = 3c5b74cb4581053e42068465a5c17970d60645c95cb9ac87b4ecdd76aa414487d5852bf9b473c5bb2ef3444e0cdc5f1a175cc4ceaf23b3539d5db4ca4a002feea4de423ed62ec89816f0837f098a3f5208cb5f6b55c4ec450e6d0f29af9c4439047053a032e3657bac3032dc4588f2336604eb07ba414fc30bc31101417445b34728a6388de0f9a6dc639186c6ae9b1ce1935cbd3b54efb8fd8ac4796ddabd12934c85eef58f308358a9e4aa2aca996bf0e3e8006a962bdfb8f496774f5cea9c13d12f6972478eff0ac92f3cb943ced4e82675233240fd12cf80e3efb8cc3a1152a73fba32af5510149f4f1877f7660eb8b19fe246ccfea4e33ca2911e89b4c41fd12d1b1045fca7248f827c5e1822832ea63dbb371a7ee0cb403c2e64063f19b40c994c4e1d35a39306c3aa - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = acb56c38c8d387d9f2c627a357ee5a4a555357f511447461c7f4af58ce32c7877752a45c1cd2e250677d2677886a2654 -IVlen = 384 -IV = 953d6f739a3aa6ec5dae23ad9418c276f156ee24f5d12761f76d21708e5cd7388a6a11f521d8a246a50ea783abd946ad -FixedInputDataByteLen = 51 -FixedInputData = c1ac7becd1be2a91773303abb52fc1d53b141bea311d6f6153210707b55ea514b9bc5d4e47e81071fa4f7ae864c4489188f4db -KO = 442cc0775d09ea4e447380106322673a23cea9f3e4c83b34fbde06e6818b0458aaebc33544c76adc332c05906a9d1e7d87001b3a7e07d844610a51dcb9aa51c3 - -COUNT=1 -L = 512 -KI = 19bd62ed7e22f583adf36d8add55a4ce115352f8947673e8708a1cd8c133639d1568e247aa04432672f5095f4490b140 -IVlen = 384 -IV = 9d412cb0b24ba7137d0b39dbae75fe7ebb1fd86495e510acabf73955556ba33e5d2b38237f7bfc72b6660e609d553cc8 -FixedInputDataByteLen = 51 -FixedInputData = 2a65c94bc8f1efd5b79d6303f95489ffeab670ea29a40c72e798e08fe37daad5b2fa9568d82791d4ae1fb9b55958dc7c9bc459 -KO = f734f294c174d0d119228f23171e79f92a5c2ace91690602a7895e117a326f864e4790a38ce90b34a09b215e3fe736cda0a433575280c364bd87deb37756a062 - -COUNT=2 -L = 512 -KI = b8d4537d3cea3673855b12ecef1912397f62e626fe9d978856a891e59d21e8f85642de361ee1aa4d504e4fa3021dde65 -IVlen = 384 -IV = f6dfc3ba8f2a9492c01dd06cec0e2a2ebddbc02edb1cdb36527cbac3bed3d45cd5d16b684f232dbe1bc8d261e1dec57a -FixedInputDataByteLen = 51 -FixedInputData = 166e89ea9c5e00ad243518215324c17f1a1d2f4544d0bd964c4692730d28830c8e00f6e7c361dd2d0a82c3a43c09b25ddf6cfa -KO = 20abc78d7d01f7d47939b1df3cbcf6ce796e59fbaaf806d6702aedcd1014cbb41cbfccf4669b529f78a1f85caa8dd239e363f3e3a3f0266501092629889980d6 - -COUNT=3 -L = 512 -KI = e7cfc1431b4bd60ac100078488c23c757e82db10d0b582c52db626f0dc26f45fcc9522274a65562ca41d76074ee64c28 -IVlen = 384 -IV = 9d54cd1a14f1e622e618a01792515749283edaa6238c57222c20c0d9a9ad67ab20ace10a497089c20cf1c218f5a660b9 -FixedInputDataByteLen = 51 -FixedInputData = c847812b955c2156b76a976217ee63cd77ee0aaf320f01a0e8026b72756ec6ee7b7a108dcf4ff6a5ac57487de5052bb257293d -KO = 25fcac904ac9823f39b7b1298857764163e89639facd8fa3d9b9f5d447f66ee2f5bc1a36b4a0352018f00bb6f72693387bc4f8d78b307c6fc44294b2d284f1a8 - -COUNT=4 -L = 512 -KI = cabddc8294df4e6bec8b3990c652fdd2926a90c5ea0302e210f54417dedd0e597dfe7fd4822b43ec4263a9a575aedc0a -IVlen = 384 -IV = 3c577e276d06a82d084b19e4332542c992c498173c56bf1e71f7361308b90dd540f2844c5bac0ec3938d95320f88c656 -FixedInputDataByteLen = 51 -FixedInputData = a58e365acda4dab3aeded57b39bee59254e57f0950f3f4874997e201f62f5c922c7b5381cf9069bf9e3f04dfdc92add1cd28cb -KO = 4f1e6668a2867873a9fc57d8bf081f51db919e69b25b93354364ace41ddd836bb94ae45106050b0dd6161f7f6d83616c227458c1838ffc2325398a41bbba1a52 - -COUNT=5 -L = 512 -KI = b36d8bdd44bb26e8d7d837e186d5fa48f6057157d66ddf06a56f9de7bccdf1793b48f3674eba9b86c96f2357013d8ec3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b88f662230f9236eb3543e4d205ec58797c3315ec5f183a749329f9a8562223d93528fd649d3f4c1ca3fd564b38adbc0fa4d00 -KO = a0e28e825477dd10706f791b9529259eb19885695c63e74c24fd0301862a5093e81e17e7b38f25136d12177fba9853c3a1c233e8669d9a56cc5f77e1639698e8 - -COUNT=6 -L = 512 -KI = 2d7e5870332f271bf0fd4f168c73ae9666aa97870629baaaa99cf9bd7f0adb529d211a8f56567d879dd50b524bfae98f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 22e681a97e5541e1b4a0184500ed3f733a10ba086647efc3c29a44b804d7ea8bc99eb3f6e4fddf279aa11d218039ea014a1b34 -KO = 3201c2fb3270811a5aec682548f02521e35da4d100b47fb7d5f6bd009ee1f34359c7e4184635164116d1e4a6c90836964a741196b461279f786f3edb0e8ec35b - -COUNT=7 -L = 512 -KI = da2742ac87e611aeee15a7dadf7def88c107442b0b831d359cb8df5be3d16d98e50dffcfaf7a05c24662f9d3e64fc342 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 79d87e12a2d2aeae072cf76773523315e4604c5303aea8349c1a8dafd248521c342bea6550168deb98a1d217c157cbcbc16358 -KO = 4eeabe94fbfdabc368e95bf3289eff06609bfc749169c26af7b549b97e24e6a1e9d3e277e5d9bcad96ba748be387a196ab244e0ae0d252ba75e4d32db2003857 - -COUNT=8 -L = 512 -KI = a01997ae371689176356882971d21160a5e8d2079debc4bdbdd708a78cfd5c094fdd2a7213f872a2b615f9e6f59326a0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c035a53cf805a7be9f8ebf903349a50483e720d8db4fb79f36297c18c8c52bbaa25e2dd1a586c030040e55b49ddd2b88bca0e0 -KO = ed08e274382a5a25c5ca0883bd5428d74cb63b74ed9a12607ba1d316c5f2524a49d27029aafcb1460b31f7e25468e9ddbea55aa35b39e6b24c95460ceb0a68af - -COUNT=9 -L = 512 -KI = 8b5a7496ba624583f93e0cd376e20596f675e79268f1cab4cbaa91ae5401e3b022c4b9023dcaf15ff41a88a4af1507e0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dab01222762de3d08dc6c65ad4339f4b42cfb7f5e63628844bb87bdff2e21790bd239f58ba66b4347839b2bb615fe06ade91d1 -KO = d999591d17ec8450c5c390d55339155208bd22e9ee589dc886d9f5a394af586941f8c60ec1095b07d51bb5b1cd8f12a792f2f2afe1e77c1db12c10a186ff3dfe - -COUNT=10 -L = 2048 -KI = 6a45edd6d7721e80aabd6b712a4a869f3bdd6841fea658fd93b9658fcf3a9f8f1b43a77f34d135b029a0b7295dbd74f5 -IVlen = 384 -IV = d95f36ad1b74209aef4ad821ec9b4cef80100a678b7a1ce188426b21e053b1b677c4c1ab9736fd99bc82e02ef5f311be -FixedInputDataByteLen = 51 -FixedInputData = 3597b46abef0af1180ddfbbc244abc94990426483a87f26250a07660a0189a8ee16d138fdb22497b402bb9d91c1d4138ed9d9e -KO = 0478595183ca9b83b4fcc416d196394b10e9cf276c7a6adf7d52c0b230f12c0cbdefcba19ee2c1cb5042198a42d069a26847d9baa412e7d04130f676f213258258cc8adcf800dbb92ddbdf06f6934715491e3ae95d9b362ad19e10e44842e743c4756d208d7f9be3893330bbafcc3c8f51628ad3bedd73edd055cb25023007311a5c10aff016fb17fbe2f2805396083548fcb5f6ec1d8b5329d7b7bcd218f734fbef66f1a719f0600b58539be6dd818ade4eb8b316eba02e79a0def8b8c1e6a91e577a4b0bc6021180b7e11fe353a6843a57bafc49daa9d4ce7e9f490300890280b711e9f3dac93cb027bf7b5a228e059d4b4069be1d25698fc3fc3a98531868 - -COUNT=11 -L = 2048 -KI = 068258b69a0a0fec13b93c9c5a29bced25f62d80b8ad60d22fd143dd1f3b1994565b9b83ba9693995957a2ff3938939d -IVlen = 384 -IV = b5c77652cded5dee80038ff7855954252d8e9ee80523bf1f4a2e07b76f120e8d302a5bd83691939b845ba7026a0dde96 -FixedInputDataByteLen = 51 -FixedInputData = d5615da7906d94b8b2a8d18dd6fe725d062e569e86993fca4991595a3bd7a5108105c27863b80d71228edfce6287ac7ddfe5d8 -KO = 0c65144352417ece90de1819d6a38de6e31a82a64214572e80b73fe5a63073ec535a169345a337f1b9ce30f850c3eb5c6d278c6bca62d775cf995b6bb581621d92416959d16b7f4533daa522b2d6c9cb015fb5f76eb2a8211facbf6d55c98f0af3ed0965331bec4dcd63ce4998dbe21172e6cfcac05397146a45ddd1ccd362de79eefb308285fa1c4edcc9cccafe5023a50f0521f3183f738e46994e0a607c47f47ae4f433093baffdc341aa92e96b0be5453eefee5dec0917b6682f378208c1e4ae1dc53cef0c4aaf87b414e1afb43aa5589f93d6df01499d0266720245b2bb269eeed78117159779429b1d29541923219519c15a5fe6f1f80f49e54ae82bbf - -COUNT=12 -L = 2048 -KI = 4a3965d119ec39f621f0cb00561550d3db1296fe8c7a66cc5ed79fdf6d0ee0809717e993f04684d331ad9d11cb2a4fe1 -IVlen = 384 -IV = eb495356fa46cb1a3d6522ec2a7fcecb0f975f8d9a19efee516c3fdc97481fe8c7bfd4432c1500971cd1c40c31e846f7 -FixedInputDataByteLen = 51 -FixedInputData = 12c7995fe1da70b58ad1062421ed383713c65e51f7b8e34b6fc9799839b4864c101f06089fbf3ef2f7b9ae557dacad8437e79a -KO = 4a42290801bb69563d7e50833798b4ebe2c4e3af799e0acb770564523008eac33195446f6b213934fe409a4b7f837e60e5c213f5212026aae7705234b9da6cef3f7769faa0c86d92846dd8b735f002e529834ea731c1ce54bee605d9505ebf773976f7bdf2c6bf5266adfc6be7efe14d21de6e9fcd6102c68bed37ba262a1b882dde5ff4379323d044da1661ee98552109c23cb8a8c2990f66b0b3d7414b0bbe2e8f43d03ff61256d392d26a069c4d0c5c4b1b3c7a37fbefd7ed87329820f61bbd53faf7601f5caad479e7e373ef233037095a85846d7d5c1c4c715a72e944d4288311a0d8cae9fb1fb85e8907eb603e901f69d92712589f2b06a5f97b2a8e62 - -COUNT=13 -L = 2048 -KI = 12e517f7711e5315949bdacbe473df4f295d9d3465ae837c720f26ad2ad2fba5fb247f3d96cf5a83f75aa1bfbc9b3d1e -IVlen = 384 -IV = a6482900b2af2467d7f8fce0ab8513790b2d6437eba79b1135d33b1be95b4907b40273e7909c5fcd46798e9d6f2f3348 -FixedInputDataByteLen = 51 -FixedInputData = 69f17aaac8af2c5a4dff0e46f1b97f2982a78776947d4d1e00055bb65abd550612139ad64fe76e2170d868b0bce7d3e5018f15 -KO = e8818147224b2d6a15030f7439c0e3ac3e14a9c8f434d44669a8e2a11ae9b40c95525e68b7b2a34c5836d2f5d0fa814d275ae2b734e8d7bb3cc254fae1f00f33b0f93a3115a1863504ff7e1f8be7b5edfbdb4e48d7f653360b9765b77f158714fdafa9bfffbffb3deb49b76f86ceb66dc501af40180a42ef60f9a708ae5580045b167a18f0df74e1d6052135bda16f91be0703faf52e7b0ed6365e98de7ed2ac6226460e07ceeb1e6f4c4e4ec491e27cfd26b05de17e71ca41cbf81a53b4aa3887e51844d84f2b6a688d72dbeb254b964d236bb0e0288e6adb35e3de19f3c3ef03b1ebf8d8547acff0a12bcd25a6b4db28c40feaffb36147daff23851ae7cf96 - -COUNT=14 -L = 2048 -KI = 322e330ed2e6405401814cbea97247ca8f0031afbf199d58a4cd691856c228f1988960cc7695ac8ee35882b0271d909d -IVlen = 384 -IV = 4fae0c8136eea0d69bde228636fbeed810e53264f122ed47a60f2abc0c1d552ca0906084ce7ac79b0affb271650c73cc -FixedInputDataByteLen = 51 -FixedInputData = b95847307d080addb56e246a32795c9ec5501050911cb3f345b6edfdbee969c9a7a2fc87df6a36e9e2e710e5eafe6838823347 -KO = b1d072c0bfc3dd17f3182cec06f32b5c1521efc364ae508caa40b60a171240ec26331550bd55bb0f1db6372225cba35de8249e345e18c68679bfcba4916e3f698a122f5be4cef3594a9706c25e35350240bc1e69aeb8f5d80e5c9ceb1ba816b2a483db02cc401e8bde4278957ca493a0cbb695f408f1b93ced756d9fe9272cd9ca8a33aeafa60045f63c07a581a058885cf0d0ec814997eb194966bb318280cc6c1032985f484848bb9961481faadc41df4ff7cd28719c16901c3a6400b640c8db0385d470f7e42a1406c31cf00b67a13f0a77920580b5ff645ca6ac6079ddae51fb4b6412e815b94b281cfa13c4e20c47dbf0645c3c82085592f7c4a5cbef75 - -COUNT=15 -L = 2048 -KI = 669b059a281f9bbf93bcc3d3d0e29e5a53ac5cbd75e3f3ecbee786b26f8e6b940a60e8c8af3bdc0c2bac1478a02b6377 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae9f2dd97805bf1428cf79a617510f0f9a00cc1305c0f97c649a1be615a0a2204ce3f576b728190457747162048c6e26f4a8a1 -KO = 8f716754d9cd8c2120b724f91371e9df2441b615975217d82246fbdf8813a032e37499c47087b5a9ca5a46715cf30e360a19f393d66b56a360506e329a79d0e2067eb7261cb387a95752d65922336024719dc451e7ed97d7a4e841f02789d70e05158521e3fabc6ca32c76ecb0fc85bf5a21798bc45a4c0640e392a8b8beb0267434e24245ad9442cedb732b4719361bc9ff5c552be94e07833c91987640b1b3a9b0fb550d458d37392812dea8f38862b4df1aeac185c5e120678c4b3f0afdbe0d42985dbf9fee576d2860ce0cd1706a4865ae022a18804986026117a033f7a305de4477995e444c4a08f49997cebc41b67fada10f3aa8bd98ec963f5bb6b024 - -COUNT=16 -L = 2048 -KI = 6b9d929c2514a73798e67a0a50a2b0774ed25a298095a634fa816c2125c64ba0dd8326db08b6514d180c06c622f2f88e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 300872a62aceb6dcabf118b38da0fbb3ea535b6f8f798af493d4e6174bffd2b142ac19daacf73f05425b3e4f049380b0c7c5bb -KO = b0d373d856d6047f441d72f816b89f9da55cef969d5ba8ffd73afbebe8b2bad4ce595a093a63ffafcd35f6b3b832ac0c7a12c30419a8fad093b8639f8e523bd6bd24894880d34706a4ef3240401025ddba29a686dc765a43b7af95bf9355839d6447c35787381bbc2ec9ca0671c3408cd08eddc7cf5b303d77b9803bdbaa0af74577e518a114546191ea5414c6720297abd45863bf7852e596daa75d7866356c0bc6705695a2ce5534176f7da33554ad36c32fb148ae5c6a6e536d78d08846976ee7794dca05e98c036eb4dd6d4ae59625c09c0d840ec7726c9aa5017017f3d4d3f91c45bf66466306c6b01384259fb9dc9ab034b93971e391c8762263f22734 - -COUNT=17 -L = 2048 -KI = 226867ba12e89ca960e16e4d4c4f9e36e09268b25ecc2962c5f670fd46d6739245826ae4378a1d90d099903ff6bbb039 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1537eb09f55778f0ae799a7cec63f8f8b4b2a002808dadd7ef90bd168b40175305cc1699678e5a39f244230fdb47abeab5b02b -KO = 2856a8967b3e8f1207304716c3e461b3546e7f54decbdd49608a4f3bc705e56ec4695239f41a6d9080c55c356b6bf03081725599fa4c905da98f561d1e6fff2924e2a297a8da6220848c64db9f5e342119e4adc97020b58d83c1638fefb38e91409d259cec5ccd0228d8187a9db20fe99c9dbcb3aa472e58c79074a00581fc6302cec5a8398c33d05c7432cef3d3ebba6d0e349ed87f593df7577244bde7001a846caae4609ed10e95f48f317354a2a0b5e206c0a23cfda813727a225cfea4678e71cef6084a90cc9598a66065596ea422781d467f8dde5c64edf86f7642c6333c04658e6e54c37c44167ce21a62066529996aef57223f1593740ce3da4b0820 - -COUNT=18 -L = 2048 -KI = b3ca4ac9d7829948ab57e04391f88dc784a32c5bf28b8f5b0f55f54cb368780acab09122ad9232377742f363235e9a2e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f19827f1ab9e35f4029bf7c46f6eeafe1c47b06f3c18b140f1d216116c3def0cf07f5ee3d243862bda4ee2be4d59d9a9bcf59a -KO = 52a001e1f1f0d3c9bde00f64e912f502a32bca8fcc2fbad9c40be92fafd0473aae0d7954d40675557e600faacd91d74eaefc78ffb73573fd5933ec04623205ba477dc2e55f00d5ff1982bb119f36103d56c055b9a19c29ee8a5cd646568ba2114559fa36636b1bea2bfd195e73d8c9c51802825571401487096a8d4dd4efad607988a3754025b4f4ce5ffe23d7fb4daf50ad2fefe5b71a47829870b5fa90de330441121cc8690874c8633652a792de02d2fc1b6ffa484228513426d053b596e235161710aadfcd61c2ab618586733ee1040069faf918225809b68197d2ae3b51f70e4d192724ea8fc66401add50a2b0c395e82ed2da60c195856f4e4b70c8d42 - -COUNT=19 -L = 2048 -KI = 9b5feb839c15ddac1865823432c976474b6f7c8a2a95e0c08a7bd14d94b2562229273e827b564540dcbb49e54789b22c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb61a23cdac2183f17974dc5c015d374a2812169505439fae9ab2b9f02da653dded9b969196c4bbe2653d697102b2a143fd18c -KO = 5a0ede47d05382f39fefdd8bdc86b57aa8759dab7b47c2308dcdfe69b8dc48102b57da9ea5f974a387c611e26c6e30bacbd00adea8c574bd837458b30072d08d83dfe6c7213ca57e684556422d0fcaefb7da620bd9a6e65bbd3d21e9b1965275e4862daa0ed307007bdfd63278098a02a626379c7fb43e7849b2db675f89c4f833ee509394eb96c4d4301efd5680d4b3c35ac52b8cbf984ca9ac69c0a66ae0ea4bf3186d1f3fd0c810f5c75ed498340ba3121030a79ff3ff28700c6fc99f78b3113d9d38d90199682c3ea7d371e871dc98424c5babcecd4b556de7cef771f36bfec4e347b3c86cec1a971dd053b7e463019b02597302f691e6f0244c91054c3a - -COUNT=20 -L = 560 -KI = 33ce4623bfe6dfa8b436af93120cdfdaf6386a6a8f9097d02633b3df5c6a28c68fe55c82854dfa372163d8007991f2c4 -IVlen = 384 -IV = 172a2d4b04e9ea998a9f12e554185a314174834f915806d20fbf525248f7a61953165b051f93274da0a49d2c7e9f3a68 -FixedInputDataByteLen = 51 -FixedInputData = 2c8978054007dc81a93c6e8c7a94a235257b52408bea24600c49a530df8a8fccb1e5ffb2606d6b017e59a1e54a82c900304a72 -KO = ecaeaaa9d62ebeaa7935e610f2c2b27d90cb01a58149a676f43dcd173f7b3409cfdf3c1f5cb155147ec18bbad12323e5bd4558a09b4f5ea45f950794200836010efef1b41093 - -COUNT=21 -L = 560 -KI = aa5bc71535454368451c299f04e862e5f5c7c395009c46252a88ac844425998d7b3a1951353f37702dddb2747d6bc0f1 -IVlen = 384 -IV = 3be6c0028016b5159bf433f0cb226fe00ec9fdc410d7d8f37eb5bcb5226e98050d5cf66bec3c4fa8fdc7e0d917046ec5 -FixedInputDataByteLen = 51 -FixedInputData = 6f2e18046df1966b3460f0af36cf67a6f01972566604d01dd074b04c323870fe67c30fa381aeadea9830b71a1b042a3bd76856 -KO = 2cc534da141aecdb77e6be94e3d77e5ba4dfd7a5e642d5ae17cafa49ad269823e0b2d30cb32f0ddfb1adcfaaab867b94bbb69081476268cfdaa7bfe414c95342c9d4def8621b - -COUNT=22 -L = 560 -KI = 263f1a08b7c0d9e40e0269ec6b1e260d7889ad1f8510701e3750791cf884ba61fa70a28e00ca2441242295c478a97fe8 -IVlen = 384 -IV = fa9ec492f0fbdac8b19c58c219a76becfd445137ffd5aef21cfb7e327954d97089607897a38eb9d21666e21854409c7a -FixedInputDataByteLen = 51 -FixedInputData = 80ec8c7c1a4c4f3c11b461080ecfeffac044f776c0034a7e3ed15f2ef0e374239ce13f270b335947ceb492ca9f0f6f3f647134 -KO = af105a93f29aa5525379e34da669d4a12353826ed227056ec30d7badff637c1fb83ef37d1fe5ab9d82a04564b12935d3113819b28c5e2f174f5061b38030a376be5eac900e2e - -COUNT=23 -L = 560 -KI = ad5c8650f854fc29fe042f02fb930938143f7a12e36f99495f71d63b3ba3da61b6beca13584dd441ca15c30ce543fca5 -IVlen = 384 -IV = eaf13d580b052e55dd1c6db841bd1191fa4f7a0ae9767d7b99f8a4b7a9acc5bbd1410afbcd7b4197a158f78e3bec1b25 -FixedInputDataByteLen = 51 -FixedInputData = b481be3ae1d33627149db3fee680bef95f22a8c249c2793c74d58b7e354b10b5afae0c3a82b1eff532296421f331ee48f80c60 -KO = 7b899dadc2af9295e9148cedbfda42ef45383e98c6c1b0dc3e4907e2cc664b7daaa2514439786b3c9ab8d59faf99ce86f2d19c39060fe399ee166febbadc52f410081b0cb2f2 - -COUNT=24 -L = 560 -KI = 6c9746b64b5128b1489811b44f0bba23be8962bc3256faabff8e901680706206b6c11b899553400e7d0ef80e0834cfe4 -IVlen = 384 -IV = a82941567371ad13d20b8e7b43aa1641528958436d13dbe81c748a979e27564ffea89c697acf109cc7ea0996d81da431 -FixedInputDataByteLen = 51 -FixedInputData = b1e780f5217678eec38c25ae4092668da0ea9973f6e2fcd3d57a760f2ca33ae65778c767b9287fefb26de6a03813b30a9218e2 -KO = 8b92a9a6daa553024730f831fa47d9cc44d83242a996b9cc433dc6099613efcde5ba4e75d8fcbfdd8b8c47872bf93e49e28c2cdb25f7668c8eef3773fc08ee9c0619f6bd2c31 - -COUNT=25 -L = 560 -KI = 7128863d111485da991e140c8c7873bf776a74b753bc88f18de65275851b9103becac26df851ed31d8fbc7abb75bed3d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d12f6daed7f7207663a4ff00080944a2e57a17f6e889deb68c587592f77cf07cd1f30df818abdf3b157152e43a8ab4bbc86d3 -KO = 57f301a484ad5278bb336dc598a56ac055cbca0880361c2aa09e4f764c389f37ce50c28c8d35d553adeaa65bab1cc963994acfdd2751d70fdbd8d699f91b5e01315851995304 - -COUNT=26 -L = 560 -KI = f9ad34cc6a5751b39747093e7c983841a9393e67b8f1b3aaa2cdea1786bc16ad048fe49775f759490c5ecfd043505d35 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf89c7a87c24ce8946029271138e766ad29829229d2ff6d4a4e0735d5181c8a2229461915262ba08e5f0d0b5976c8822be84eb -KO = 47c364b1bea49d35fa68395955fd3da7ff89a123a692af54c896a31d26e046c90f794555482e79a4759ab3386e75d87009d0bf06620b6c21f7c7de7d953b9c8eb10b188597e4 - -COUNT=27 -L = 560 -KI = 7e23d5daf71736ceaede643419f1ea7189b6db48362160f2012aa7769932cc1bd1ed8cd6fb18b8031ec3292e1a2cd45b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d159fb75f97c0c170f71f30e312fe4d3e13e315df6a8f3b53b5702d3c05cd3e6e02fbad305daa64c2005d5746696d80702d306 -KO = a33d4da733abed4b56fe0f5a90a694422ea3abca7bfaf20884a2abdc7d5b069b93b04762a63915851d1c463aa4a63a60cd294337f0a3c5b3725cb7c8a3e868581b3e60de6b7e - -COUNT=28 -L = 560 -KI = 723d891d454b78ac7eeaf2e5fee2ae9621e97794782fde4daa53588e0557c46a780407b016c61d2831c3191fcb9181be -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11e1243442163a35fe3aed55903392394367f6185c99a60ff51d524c5f8f9b90425bd339cd5262136c107a5a679fd6364f9168 -KO = 4ab6b8ef482d190143261b0d5b34e6a6f4ff0f0de984d0c6fa67e27a7e3f1402453ca8229bf7c14d283a3039c4e20d90aee01a09a77abb5839c4fbe29064a987b76415f674d6 - -COUNT=29 -L = 560 -KI = 1ec0ead3c8d8b427a414f48fde14e4e76005e2b2f58ecbcd3b24fc55126fbbd20f6e61a89aad7216f0c56ee42a64566e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fdc43e3fadced0c883159934dcbbd4fea773e2e14d65df0e6026c54cdfade00715490a4883e298d894bfd1a599f7f1c1e9659c -KO = b7846476dcb92bf9dd7f3f6b84862d0a98fb222284979b4d97439bccb26df92c56a6b7cb0d768d4706b76814e230fe812b7a48f3d04e658b6e62e4b812085997c6d03ed3a6a9 - -COUNT=30 -L = 2400 -KI = f39839e9522d629938ca46e60f0a20047e373d18e2d43cac6acc78efe6f4fad96abbad177a4447acf7802023d9307de0 -IVlen = 384 -IV = 82dba831c2bf9d41623eb795ac776ea137cfdd97c76051b636d9b9a90641a22f9a5f324bb6c80862e12f9163b4cd5578 -FixedInputDataByteLen = 51 -FixedInputData = 74ac0eba4880814babc0a8b15002c6045409fd83f0a4f787bd74096beca3a823203df9673d95e1e485f1e7a6e6a553bfcd7af2 -KO = abdfbeceb8e616d9d6dd5dbce8ce62bd94b5f6c6eeca544fb5558af9ef80e97a953238ab9320b9e96bd7200bd238f7f4f18e89b4fdca5b644ba26dd805fb87730a7f2a11f53f27ab19ca10b3d95baae4cd62176f8aabdbe7928783ed46af53ba6659b3adbc968d068c5554e7b98d3968cd2c25bdaa9016cec72c6c18388d932a0e67808744c198ac28108c275127c83238145f89d121be2a3a3fb07935367e33e555f12980c2c530fcab0d1c96a724b910291c4527a3a471ab1680ff0b3425f1df7392825e2a290a09792a78fc6617baff74424f5f0fb3fae029c1b288fadb007c89937abbf71eb26e61f3ca29d821a16e3ff79637a0fc4d85136db8ce141876206c0ff7231fa44c509826678704eec8bf1f2d8aefeab64d212b87e83b1f2ef7404522b1b36831426e7ae56f - -COUNT=31 -L = 2400 -KI = 7bb9e3c50f06d5ea22db088e59889e1300bf854a164b7b56093dbd4a3683d8bb05bc05054dcca0587934dfd7aa2ddf43 -IVlen = 384 -IV = 8d9992a2ce730fb9e395ca2c63ca170207c556047d1333a20f3277b73d155f7d957e6543a9ede9638aa02c2c406061ea -FixedInputDataByteLen = 51 -FixedInputData = 06d04604ce383fc478b2265dbb0da2fed21ec6239211b3cd8f6fc81528667011f357d6e2b9b00cfd818267c448c6cc0e85779b -KO = 85bb9222ea098624e8761cbbd101bd15bf7852fd54e571839981b39631584b96bffa305fe36320df5815838c8930d8998e24a06d621a12f854846e4802d4014c12feb5ffc98f1a3407b7d3bf723a0363bdf457b7d12315687fc12445700a2852964960ba6e51dcdbe5997d4246089cd59f06092e4446ea810258ef7a0dc3db0b6e31aaa0bc03441318cff72c6e70964e1a7b37e6304207e5f4bb42114ad537eec972075a4540aa61644d01ae0a04c70927c62922ac8129364b45393a594990cec144e600abdd3b62eafd9c84214f10f16eb99389aa9fc5bd3ccc960f0803d8402e670372ac915f6faec79a4eaf89325773196ca8717a414babab67f6bc1dba61d332cc9bec9b7db61e9027615f368dfd399d4c308a064c67ee915006de0a9be0b96666b9f46b0917efdeea52 - -COUNT=32 -L = 2400 -KI = 51beeffd7dcbec48d30b91ed5c04ce1005ab46405f1b7ad383f4305afb3b5fa9923c40fafd574c13539431286108e5fe -IVlen = 384 -IV = ec28b7419426178a55b8bf7dd78a628d276c5b23a911d7ada6eff8375dc16600aab10c8cfbdf4de71fc6e081ee992252 -FixedInputDataByteLen = 51 -FixedInputData = 01b45312a3fde44613a008dbe990a85b4b6fb8b2a27f9eb83284a2a035393923ca8133f1147d9104c10984384226aed66f9cc9 -KO = 774d7f223a1f72df6d83d01f134c8e67631ce6de67e2c975c75dab2a871bc204bfca70eb3547ab6ffc7aabb1a9a1fe47a96aedde76ea1663212e816d4eae4a98bd4e95a3c6248793416df3a8ac815d42e97df486ad02aff4da597fa6d7b9c28c19083378e6bc14bb132f39bfb1a55469a2d5856c901818f23fd30d5ef0706040776252fd755bbcfeed6cb1a0f5ca5c2c14e04f3e49ae43be627422f7d0c0719222c23469a1bcbb5e244e21a5bf60d973ff242baedbd508f65fe8b87d7d3fbaaae93a3d0f7e55a6fad47ba05708b15333fc6e5826a4ca2e7c3bc75b5ed0650391a88143de2e72cfc75061ef3086996920156f22e43f06b45ac51f8899ed8c0ae3eb6a8c3e24a43247ee2454487e92e8879a76cc4574e1b73f86a53f843157198da0521e38a146851b1a42edf7 - -COUNT=33 -L = 2400 -KI = 8efff26b73412f810996f3b465530dab07ca1f01ae18ba45a154320ea77166c7480dc8c095745937c03635a77f911c8d -IVlen = 384 -IV = 539dd8bc462bd80a094ab8ee32c79bd996bde560c998709a292708f9733e66873ec8f64772d82759dca64c72f73719c9 -FixedInputDataByteLen = 51 -FixedInputData = f62d4b10b73031211aa2d3b91fcdf974939a4edfee48de2049899dd7aa96730d6cb8b071f129be39c004a8d66accd252976782 -KO = dea771f47765b533eb8e49b7bb6ddc4e799d9981aca7497191c49c6f7cc0985ebf188fb306c4ff0702c133a90c96c6edc9e2c33cc6256be3744db8170ea3ed2346bc9c0840ce267af12cd655576d7866876d1cc374d8dedb64ef837364b2ae493231ea5d01928197eccba6c0196393a5c2ce9c5c4546c1a43afda813d98fd92c51d55c2ddebb6310f750916226ad35b5e9bb0c411712fbc83fecece127370794a875c7b3ed8025de98769749a95b66d3710cdd0003bfe13de54bbe8aa483a2800c5d882ad3467f169cf9107ffce15043ddc02e0f2eaa24bf4300a14ae0fa2f87bf0272ebdb914e4bff72b671bb4791e2820311eb50da0494fd7220ce45e72fee6682e2a3faecbd8f12817923bf6938667a74f53e670aecd7704468f4d990cad8ae55cd6d70f5057b78c239b4 - -COUNT=34 -L = 2400 -KI = bdb0f481ee7a00a57e43983d8c0e1affd6221942b10a739690162f7a27e1dbaa4a990e43e864d2550c29dfd46dd31ac7 -IVlen = 384 -IV = 2305b28d7ef8f09da189ded0b0501d22b00b3f227a0428141f1be40d9eb03d6edd4174452ee983fb2976793723d99542 -FixedInputDataByteLen = 51 -FixedInputData = 969a301b158e8044f4d7d598371f8f80b4de1095a7dc92b2487a7a7a3130db246c088224484748d90e7f5c4897c304c88ea872 -KO = 1525a150a98459cee474194ff3de925989b4539ef92fb79f34fca164abdae299e4a5e3687391fc409d255401bf8d64b890f90d27472594bdbd3d34fdab053659ab4086c765cc3a91d12a6fd9e9b5e59b5cf216105756ebb8a235a1df054c6111e13c744daace2cb634e412bfaec3ace3485798f616cb4023a5660629f9528ca457ae6735869fdcbc4bd500353d49fb98cfe202bf38e185512fd7a33c1467785578350431fd0663b408af5d109667f9bf6f60473ed13579e0f159fdd9cac8bfa18b6feae074a7f110cad8fec1941b9ae068d040f826bbfe0925dd97267482acb9e6fd83184a264bea61190282bcecf7a6baba00bfb2b0e245013745665b90025efcda979b569d6153ef0b212e20c064f03d8ea976cd876a7f63d6d5dc017c322bf4eb5c72609e57c162c2eb26 - -COUNT=35 -L = 2400 -KI = cc7167aa6266576753ad5b8a5dd2e3b1828e458ff8770ce54a2918fb459eca6b82e1d4780136490c2bd56bf7328fd3d6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85e0579e1c4c981f8011ee1d3414038d8766cb8c14e237d0697262ef25573ce5f57a7737fcad504dfc6a4da3a89239ac416171 -KO = 7710429626a195c15ae5d930465c93b1441fd4d88e1a7fa1b8b67a291756c672683edafc560a58586321de697e00220f5080229fbe376abf42abea6941ff3d3802e1f879d2ef027dafb2639105e618e6e535975d0234198ba0aac32bf3976fddeb0c5333b2231a1b3e43b99f1eb472db8023798153798a718a3784648dccb341205ac681c3bea5033f35c3a9ac419f7160a58de9f781a60da101a4021c54a0bb4bc258a4b67aeb191cab79911f6ab062d7f2ca7b35826168e2981140753be152f9922ee23d80d4484b133f69e3992171bc63fba202b18b726f1859b94998d2c6def25dad70cddd12d426c0eb4b2cfe9209d3f5cd4c7f8410ba5194fff8f7e072d9bf1dac0e6a5b092260b605aef7025db438346a39526d4badf0e0430e9c95859781008b36ae09dc6a183752 - -COUNT=36 -L = 2400 -KI = 838a8cc2f7e70adc123e8cb1733c874f16024f2cfd1fe3b3975638ec21883cb0c71f6aec2062d5552b9a52c476a603c5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 602fa91dc3ba1151bca94cfd9382e42e801e9ab4586689f4ae0126e4bd03a776c46fc09d6dcd07d15d39b1a0e651e001328c5c -KO = 8bc1a5f13f63daf4960fa35474bffa4ae57a18512476853da150ec81bfa0b2ca993497eefe808d3a51ba897379a7cde1817fb9523523caf0ada5ee06ece9891cb31368b74aae1898b24d254526bc823900351ac35dae5114a5c378f5861162e6faf1c9b2c3098368aa1c42d53e1364bc0ce8a9a6ae183c8e13a1280be7b91a1ee2ad2753fc01936928845c3b4f84dba30554d82042cd12b1c225abd5fdd58aa92900fad424d817fc44c0f541e5e1398868919ecc11e5024cc29d14dab7994dbfed7ca607e3ac2254f1e2380203d4364ece5f64ee5699ab0ad1ce8736fccc114a213bf78445003e05d09b0f400bc96da13e712d89bd7bae87cc5855b56d5fd4f5e794edf7d2aa7b115e6be89c46e2e23629dd909b2fc30b9aac62a09ac8cf578965264d1bc78505e48c7a622e - -COUNT=37 -L = 2400 -KI = 996191a8a28a77c2382f6afb274faf73b0882c0e5c57594736f92f2841c517d3d3903aae287aa29e21fe8264054f581c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a41e041d71cdb973f0969e44506bccf85ece411ff336f3ea7e9ab568b003647dde81292671ddd6fa6fb64043c65bbdecb0c7e -KO = 400215a836d3307e6431310abb93064059ba9714c49408d6c4c0e130f99b712477b64a7abceea99548e11acece8e33110bb44c07536d1228ea9871301d7abf7a348b1d20227b157f1b8d2ce7a9d51bda98fcf8087f583291f8e1137b18d4f72f1ce02c323aa62ed7bd1acf267e3aa69319d35f3c1facf92a2ab58807a624fb8e789f0510b7c67bc78c74312e62c1fd2f677dfe1f8226a62a7396c7bcdc429eca239b15b0517c851f3819a4491544d5b0c35e79707524276cfe3631f8811eed9d71d77a956330b595b0a91a381d6e927a32e293ed377478e2419d7924cb250dd21b432dc7ad4b8f7668d3541f9d73ccaecfe8a4d12f42415ec4c72f8c9124f6c327fd416033750e37cf124a6a14ebb3117aa54bdf235ee5959180f4a166db4064d437765596376b4017394f69 - -COUNT=38 -L = 2400 -KI = 86433b3e948241979163a14b95e7f9b6de88eed3645d568b657e2319a388e089c44b974d7fe868b8cb25381b0fc197e1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d5bce931ce15dd895249d66b42179afea3d57cfccf69aee31f5b643d84f7b5f93f980b1b5127ce35ac4ffc822f1067a218f6e0 -KO = 035b120930842fce0e47b18f3d36468e32df551ced909203ec8574a996625ff9bdfb11c17bbb4803ee54fd7f702d7efb8a75a9e65356f77771ba10624c37017ac9c5b25c29212bc7dedb4181c5c9fe905a8682940c4d2c31bab286b05bebb75f2042460a6bfb7eb67abe7fd268938cf549f26c8a678ec4283eacf85d1b645623085d0a467221032699013906bc8480269f915ce25d134f4ad359708a249bd077d7a73b71637fe65e7e898b39bfb8f51b92c99cd8f6bc4715111a3aac7ff239ac1b07437df9b9217cb71938108d36053a9801505a40ee7febdb7f11f95b5d190161b2a8b9480b50ebdd99307261bb0192994e407c05564db725779252a68f20c96833752e5cb6698800c0d8a23263d8a9785bb43b9a5451fec79d79c69dd7d136e9c672c44c71b252147d694d - -COUNT=39 -L = 2400 -KI = e4d9654d20e60bc5ddd7e68dc06ba44151f4a492122d947d02899bd87e3f0fc23a231fbd393fcd80b5458cf2731cbf96 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f681fcecab31ee3552a3b3642d188847ed23eaf84a5f8dfb39834d037665aabc70efaff507d721c5a8608bef295b03d793cb4 -KO = c7c725be823c04146830f923829856a869e67d43467d1b25313af8b0a7216e6b749c4658ec8bc63c14f56e31959da77d392dbcd9b2d1ab865956d4c003db7ff281f2b3b4b0fee7dfe1d1f9b76273087d49bdb4226206a23e0038fbc71fa7c174028c424058e596e6946eb666c1f01df735b3293ac3d1938ebffd26cf79e6898831918e416cf53fe9366b191eb91c7c3c28292294e161912b216fb2113697ae9117821ebf11f73a3ddf9dcfb7d8b1a720280b9e7b29e06e07b2fcaef9a3c0a697377ff64dc0a58aa683837e77a826dab132d514866231a14ccba0bd164fe175f27725a99d605b9dc8f788abc7ebee35dde768b056c71775b9c5330523378f82e3ab36bf4ced8642768e8cab3bb867a7489b9dbcede3157fd079df726565545d5be3ca03a9fb24d07601730993 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ee60b5d94c7b0dded151589f3a6eaa70b7dea889909d95569d77a2c4a72888bece2226453e5f776b9b107d9c6c71c7c61830350ab92f6812cc378ec7783d4bc1 -IVlen = 512 -IV = 3092013eb1e7908dd9e84408d85c6ea2c9ec9ef8561236d28ce050bee549da0c74a3d128515b18f3abc475b77df4b27a9aa43d54a0caba46e3459afa668c54b3 -FixedInputDataByteLen = 51 -FixedInputData = 8ecb14c70d18794f4f467d935852c69eb24a1d743dd76513e99ff28cff63091a1027ca956ae1ea8036aefb33342b4df59595fc -KO = 1695a59b66bb02e11eb64cfd3cd4bdf1e3d4af9482edcc4e841f60378f2a9ba76220b79a07ef172da0f159f08b2a71a7a86e59312cb96abc1ca9e56e7e6f735b - -COUNT=1 -L = 512 -KI = 877889064cb97bae72e7b67eb00a6a24ed7c487491ea8a86f180f94792fc4ebf1f2a0f1bf3748aa91e1bd8f37f96cd11587c79a048ee485392fcaba43a8810d3 -IVlen = 512 -IV = 496d67b025592f19e94d45fb07d8275a25816322fea2399a363d67acd64b9f11d561237bba9ef9052d38085deeb2802aaaf88c9b248c89d44fb35e552b3a6dc7 -FixedInputDataByteLen = 51 -FixedInputData = 2c9f9b84d600bc9f19c19768d4c0c2e7bca1c2ba1830d288902b19601545f8ea139c63c00b88489ff4faf161fc461c53ceb4cc -KO = b51c636da3621ad4ebe4d65f5bf5c41cc2017ef90ddb88322729476c6317dd26a3973680245779ef6e29de3125d83da02acfa100bcafcfa7b8d1753ec0032ed8 - -COUNT=2 -L = 512 -KI = 98044069baba7617e4dc3341c14b6e22db8539191eeca3fe66fa686b34bf03c012d82799eb7daffbb17e6b0031623a21c5c6e9398792ef8779b1917a3b4009aa -IVlen = 512 -IV = 4a98e7ebddd063472a72243765355dc2eaa3c54bf1bdcdf9708fd33cbf062301aba6f01b9720ba8a954ec18db3523d6e6a0b4ac57d1e55d6ceca7f70149ad86d -FixedInputDataByteLen = 51 -FixedInputData = 22f2974e765497a75532980b56f288c53c8c1564bff44a975f2a130ef6c545d7efca5b83f1f1afbf6d3c434ed67b4c40b70e8b -KO = 4bef3bf5d7bbbe7d50d349aef68de7f00415f2c514d27b491814c26213f52c4afe77df4704d584bfad0a0c4f0f46d67a21e6e643320fb80bb73f213781115b2f - -COUNT=3 -L = 512 -KI = 8380813430fbb64ba2126e67c39ed3df0d08003fd2c2616ef09e5d9c12ee27d8bca1d451f7cca5b9fbe095c97e794db94d961948e9c7ef7842d44e7eca81f232 -IVlen = 512 -IV = af04d0ff72c101214e0241b70ff9114fcb5c3c35d38f5e9506b06e3006805245a7aa29bfd34cc18f7eb429cbbc63cbdd6c1402e4b8da4f1081aaacb839eeb9ce -FixedInputDataByteLen = 51 -FixedInputData = d30973f20c66b06466270d8fabe23af12ea9da57ed178b09b25d8f1880504fea8b341d77609c8922f6da6b36ad1b6bb530a76a -KO = 314bad460ccf69e520bb1e10ad540cca47ae933bd0ebfa4245063297179dab3957502b4f6d1b6876cdd0ec96c9fde3f59ed8d80fb528c2289a334845f164b02d - -COUNT=4 -L = 512 -KI = e06c04bb9980e69a00ca46b036ef793f4f84813c6992fa0d0f3f30e049bc6b4ea5b8581102685a931d775940aea7a28bb00937e90eb1510486b6088f02a46f38 -IVlen = 512 -IV = d1088e5c7f2d57ebe9a44a1647c859145e87626a5a35ba4f0937a01fe91a4a5d5611aaa4543f54f1d45f5b15cfd7ce9cbc2c9469efa7fb7599b78ee796358126 -FixedInputDataByteLen = 51 -FixedInputData = bd517e47f68c418dd7fec4369effd5b0b1fb7d31c9c9ab508f2a0786c309fae7018ed921b79f950c9ea17a3bc29f49fe461076 -KO = b3221b2de56332493d3e15e88e38c0039b9448a98aa3eb7777f4f0ab1109dbefc3bb975ca6362350ec37f1b5b25645822acead8dbde8f0e0639b11efead12b28 - -COUNT=5 -L = 512 -KI = 6fb8db10ec34b70d3c77e5e7f166f32760bf0a99832a8b8e0c164dbd8c99c7bef465b18f238fda9fd76769cbbf896bf4dc1f8c93070247e2da55275c71e25bff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57245dbd67f0891e43e7ce7160e972f858871bd2e3dc04153f96b63833f700bd0e11aecd13a4ab66600af58f07add42b830b14 -KO = 521ce7425f5e1a119bbcdc943bbf580b2f2678fceadb150492143124702995f9259cae48f55ed7f0a52029d2263adc2588aebf55018f1bf0bd7337948209bea9 - -COUNT=6 -L = 512 -KI = ef211e41d7229c303326e7ed012425991c6e85786196ad2e2445ab121262c3d036063ff5ea9e39f74a0247c563ea8ce4eea8f39342ce5ab1637e060b1ab8fc07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c20dfcdff1f3dd8fa6c6cd83228ebf34f20660b9e7115e0861edf5724408ed6a442bc138696962fcde7ef1414ebd9d3c3ef693 -KO = 3ea2f9b5399cd71e79bfe034b52520534ce557486aa98f36626f3111668a3ff9a7a51f594489aa20c068271e51abbdd1fc067a20e72b6f8ab461e37e8c118263 - -COUNT=7 -L = 512 -KI = f3cfd90c87718eff87ea8322898bff860c4df7da194e71f8155b87a7ab3cac96bbc13be8ee297e0ab9822eb678823961f806c03a49a9a6ac34ec087b2d123324 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41bf819f770628dbf6b6762f2a7bc046db544fc2a474dc0b5e599f41bb92e8a6ee8fbe8b5242beba34acfb102891275b444f1c -KO = 71737e8a67deb9c32f08148ef2738db9366abaa7618083412f415b51a147320eda5263e816ce3bb92495e1dbed557838ea144ed38019742529d2202426c5c702 - -COUNT=8 -L = 512 -KI = 1297e845f621bf426a4cf37926837ee0bc98dd5bb32839fc34810a2eaeb92eb2f342a09108b755d705de95ad294063cbacdd52d020cf67f23199ee0ed323deb3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 860aef9da48fcd5dc95dbd23fcdeea34009c77f0e311f5b0e918fd2e89393f8ef923882a48d234e7a00c9ff7ccda59ee005038 -KO = 5e708f97f9ec5a448c3f6859b58920c012a780502404454cb41ead3c97661dc61e75d64558d2f14a5f54a48a56e381f05ec2615b3f9377f93dd420ec53d46b77 - -COUNT=9 -L = 512 -KI = e0fc417aab4ec9bb1975551257a883c80542ad275c41727349dd92c13da27d9a441447ce34590b97f5ffa15e273e058021a5596075d1ac2b7cd63e9ad1050e40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55603a0689e4dbed36f96546968195581848150cbd62eadb589266a14edc1f410cc6465988c06fc4a1c52aa51e824a05d21b7f -KO = 5279b31ddd3910e4552ed56b7c2b121b6f8e232362e803595777b827384dee1e7a764753d9b359ec8b071e17b7a9b471361f5ef6e0e0f9c358e7ed62be74340e - -COUNT=10 -L = 2048 -KI = ab421a838b32a42f0b5bea85da604aefc87d8613c3fe82245d0916274c3de621d412307d1ce84f3babb31e9140ed279c579c746e13d643eb2050f286a977a4a1 -IVlen = 512 -IV = 4703f51a9f310d1794741c2f5b9838fdf8407cfb97c6fa3c176edf31686801e6aaeb3384fae554fb0c93a5f5027b959fec7032258b64cb226d0e5542b5c37dd4 -FixedInputDataByteLen = 51 -FixedInputData = 2f523c9e0e9383b5c6ab261c2864283bb9cda8b9827d8bd7c652fb9556ad07f2db832e788d801918815b34709aac670850c096 -KO = 0d57ff6086d4b24b58f3c87a7a3eaa28aa40443d01bd12b5c2399c8f3f18460a1ce75deb8d624d7baed02e8732c372e079544699643fe4fa62bb94aafd0d1c952e1f4aeebd1c10799b449a60d38b0a1b0bc740f36c9cd8bf77c64b94b7911f7a5d6c1e3a248a344778824e2895e74b970df05b91e6e7ff653543fa870f966f9fd673cddc818d6885a74a776540e1dbad46eaa917ce59d6c49d9909b11942158e9786028eb3b642450c46b9a877f4b1c4b6193de83b042c5bb8de122c76a699fbd0f4c8acdd59080227cad998a25afa6536644ad44b57bb210967146485d4004aaf51ccb4b69f63664ea97e22d4128c9443f515ae3f80a1bcd7ed2c3f4a9ddced - -COUNT=11 -L = 2048 -KI = 06fe3dfb1aaa8d042c0bd2c883dcc80572407075f1d1d34d9ba0b9dd86cf9b0062c092f2139d0b92a9bd083ffc0d6c84aec7f20554a725f73efd054e0f049986 -IVlen = 512 -IV = 3b7dffc33b206e0b82c082f168bd417faeb1b8392d7669642d320c98d6b24c73cf49822774e14170f6686b565a14ba2258a548911bcf7d5e7340bd44633a49d5 -FixedInputDataByteLen = 51 -FixedInputData = b130a7f53ce9b403ab3b3bbdc50c56d6f8b598623b6b709302f11cb9b1a2f0958a6b745cbb53890def19ff4d1430d8b6e8aebd -KO = c7e0105edce16b39ce9e424e39b9ba9a81eeee508b5c6f1e9b3e739bbbadb40020c24082a3181bd7a397836e092b58be1651d26756f42ebff38c51e7186be33a4eba3f69b9912cf43c89b726754f5c9292521ba5c69961a54e5642cd62fb913f0d4b8758c67f810742f60e03a7c144302aedf6a5c2dbf7940ff3fe5bf44b6e1659d9853ef5bd4d320e889cb30971e989dbd05e71a67ea453eedb472f522fb9314e5a91426853099e1ab877214807f22cc3433397d557b166d773231c321597b6f89a9d96364c4c79d35f8196ca9ed0a558d0f4ecd37aa0a8a14b1abf74f0dca87414b45f44547432364272d64bc926236457f92ad3ac8b552583270b02eb68e6 - -COUNT=12 -L = 2048 -KI = 9955136f90c8757849aed1a170cc52ffa911271f3fe45c8e652b1fd0e7514398871c111c5c3a1fe9fe44e6cf360a6100e761d81bbb185895fada594258815dd7 -IVlen = 512 -IV = f822f28615c47891721c8323bdd5bab0ca74ababe4fe8ea4846355d3b7bd45e6aace9ee81c3e6a440d685336dadc26d12a7d250a577bd8a4ee853e30686aa702 -FixedInputDataByteLen = 51 -FixedInputData = b28200876158526a8a0241bbe1d9705e1406e16884c7925cb81ad45ea4e07317a1c849ede4f1f10e03d87a47830414024c2b34 -KO = e2bedcf5600a9ae9afd0aa30112f925e988f002a89fb3b8d7e5aca6bebea2247253eb999d229d2c5b607bf4478f9d039ffb0437d40a011b211662ff2a096188e2db0263c4ef0fdf45e8806372a2a005a3903c60221d26e1664f95f9e55ff25d9e5a3a0efae3b0c8a8026d8e93370f75d016e168fac84cb0e13dd3b5b5b3b887a1105d8ce3b4928c17bddfb2fb00f3e4e543a51fa47f37bdd1d68bc9f01f9670fd19fe611529952422332fe5f315032d8af1d00993ee6bb62acb2c1751c66cbd5d2ecfa66f6462a40f1809ef17fda2314cd9be2d338d1f3975ec151df8501e17a0cff381fb7ac77215a5141e3a30a01d51e448af27c7f26f22ce88eeb2b85464f - -COUNT=13 -L = 2048 -KI = c3fe240651dfb0bc925ad9c79abd739680d9d3befbec9a3217adc1d5ffe01fba55879a693c3c42c079f005e413308a0416d033665f6590ef1419f2d3d8d4ed5b -IVlen = 512 -IV = d676ab01ac79048b7467f52626d8292eed1bc550da7dc1421ae51b0020577ecbcb5a5d1d72b34825659bead20a5e1d2c228417d81d88e84cb47cf364568bef26 -FixedInputDataByteLen = 51 -FixedInputData = 3477aa443fce6ee292c94f6f09736f8eb28fd5859dc92e38aecb2403cec1786fbad4cea60fbc50e1f212980ae7645c83b23a40 -KO = aeebe7dca38675b9f7888c864ee6a632d058a914077e7094b675616a463b6c799c9930bf1400ba9c6d3ab0f242cf41b741add791ec91b6454bbafb3e2428f82316bd70568e5a4d97681458c5105924d4ac4cf7d604a76816635f41ac396fa029593ec6a25cf34be25276c3c7f29a3c1a8808d8031f5b030c55ceb7a6768dae5874f128057e03ccde66ce2f1cd733c8db33c738872b72b103947b3fd4eacdd3dd4d0f7e761a685c169cd93363a5aa16b9365b6fa9d9ebe51281bd136ee402cff576bcc24824bc602569087ab4c4e6c49f3fc8b60341b3a632aaf4b980d5819af6de592e34841ec0af5602faf1e22c0e10bdfc4b9ad31d68bcc2b5df9e33b246d4 - -COUNT=14 -L = 2048 -KI = 57e62698e1c3052eb378c5ec6305ca827d1e68be20c7e894cfcbf5f66de04123ed8d63997acb0ca0c67a1cd5187fab240c0f20516fc8d17b3ff101458b6b1bfe -IVlen = 512 -IV = 0c0e68edd14be45afe1df572a6bb9a28b1ae83df03354cdbe1d6a3b649edfc0999659330e95f3474d76c72293fc0194d697d062dcbeb6074e3c55c2a4ab42220 -FixedInputDataByteLen = 51 -FixedInputData = 1b3eb88ad577e901b5cccd628f3140b89e5291a443ce18ac7f4abe07558c4f0982cea2a8a3e972b86c853b59d257f3ed414c4f -KO = 023d413bd1e37827985b0ac577df4cacbbd9c266303676e0bf83816bc64b1ac2e4eaeccb4791e06b4c421b0dc8d9c7f89a94f6a95bb6fcf76360a91db0ef6431c7f5a4fdfa944b3d18ffd24f8f7cee544502423e9e2be5751b45ea5a1dd37ba6cee773e5b7ce8a6bd03b697709358a8f9ffeb0b1735c4e41e6f6cf5bc467deda0a5c216add8a981554fa1198a0434717bfa04cd556abfa3c31dfc6c56381881bf730c2873795dfc1a2e783ef92743f6e0c4f66259670ff937da3ac524f9b27fdf67c491a1d81c04a77cac0ca2128e1ca6a01f96f3851ed4e7479d4ca27570229b282e783ac0cd34ecef890c1bb096429059ad379a0128c73c3d58d348d9801fe - -COUNT=15 -L = 2048 -KI = 42f3bbfc7987a3e553343ffd50b00e313c725706eba86fe8c96877cb1a2d31c16a1d2202d9406a13843ec07fab454e909c6d90f1ef32df12a8416e0f582da236 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d89cd0c6902b1c717dea3f6a948842029aed3e19e2b15a17e90f277db0069df83bc3bc563ebf34a725f4e2f40c8785ba89efba -KO = 79ce92958effc2dab7cdb0fed4aa5e92d674e53bc52c1aaf05da94859fac2b7fa6babdb8d4c31311c3c0c2a63d2657257feaeaace46bcdcb057459a2fa3343d4399421a755f4037adcb279f2210cfc1fb7ff5087a3f179c7bcd95b58aa95abfc061b21de2c9fc2d9f4d75d3c9639dc01d5846c1b6673640f9e36c0e583caa7f6f1cf97f2832f0df300c78f9fe142a1e2b9893688d9f1c2f70bd5fe688cf71f537d353ccc9337c5e03676d7755d26565a38b9e52dfb376e94a0524408daac5032fe3ea86c68511d8ff43994bc862fc25f6ef1ad809bffd2aa68d3dcd6fef7f5b7ec2c86c28186bc56e249154a9a0dc091933be8b11ee3c52b8fbb6cadc104e253 - -COUNT=16 -L = 2048 -KI = 15ffb22d8f83052f1b5e75409ef13f2be5799a821113df607e0d11dd544a248640c970c94a8065475cdb7c31ade4a64831f0a8900c811097ddf88e42f40085da -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 21fe5e7ff90db53735c054ed3a6b1cb2b9194aa85ab51efe1bc711600143a9b36d92e45ede8455ede89052970e766d7b885e5f -KO = 341f4156ede52d0295c33dc07817b8e8805e00bdf9c455df9c656387af729b12da8e2b9a0724ce016df9face05154d4722094ff3e77e013973312961ce3434640cc6f3078f094bca3d8ce09da74d27972c2f43f9f5d58b8ffe2863d1847209370f87ec3f7c5a4d6ee7eea07d0cfffce927d659fb31900e8340648b1cc05ec06df6968fcec31b51feb100aac9bcf61fc673379201db4f2c6bc90a9c00824d60840304b519404d87af26d4c493b49b6ef34e3e41ab92871092a1678277e17355c07d0f37611391c80e2afdf347fc32590830fa68b29ebc7f4bfcdc1379940702df61dc9291cfd3e7bb2f85eac172e50fa8830857a883c5a5bed19191397ed8c1a6 - -COUNT=17 -L = 2048 -KI = 54bd5c9f31fc52ed8d3f62a76f40bce839dd03fec5407f3095f41473dbfe789dd802fa2c3b7f7412e01908760310cbad9425fedc2296c4022b813ab5a476eab2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 852f6825570b62bc2b1e961b2f2e2d93d3d6705c3516494a943e8c1cfaf3d3bf4d5066331cd77189395a35a6e941dedd692d6a -KO = 03677778c65a06c3dd35da95fea34570393d5f3f1214545d50f80a76e75eccaabb4285409a3f7cdecc149e639a126e2e2c5ff6313b34f0a919b0372cd49aa359884fff8ce7d0f177fe0f49d7a5fff24b37bc444c0a73c06657c0585bca86e2bd5b02fbe45330d229062cc9c4d37251c8e7ed9f1063dca920bc1201a403137cc858d14fd42bee79ab0778678a10cd79e62cec7a47b2be70576cbef2b4088ca2555618a1093d8084c772396d805b6c4e98c5caffd9a2b6304443c2ab9d1c89358831e422ed46a03c3342ceb993fefcf691460822bc190944f69673554a6bf48b7e9ed79f60c564c3cb1b1c24ab35be4d137073ddb85a78c019b75b2d6c0d0df7ed - -COUNT=18 -L = 2048 -KI = 6dc53c9eaa921d9017853b61b9860a9a1186c9ddcc143caf7a3caa6f4e3bc1fa324af68230ff49b4bb41acd437c3105d08a9dc5f169852d38dfc06a8089ba123 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d99b0937e56e52c13aa95c9f6648dd73b6ea2974d9e329c12470978820ebb478f9537519ffe42ee5fff1b3193eb7bc482d45b5 -KO = 75093a6d8701f4679c0b05253335187892b795bd567f20d2648bd2482e9c7ae352ef47fea3bbeafd4ba566bfe533b24bbf43571f417874c6a03781fdd5c5b13d1d3ed60becbdce49d25a816ea46b4137d001f82e3a0556139669e26e4f8cede8dea3f38ca6095fc0278ef624595001e3955c81567a0015c64893133a67111dad20fe58f162b50e44df08e523f169a06cf98603c50cee8c773770e7ef963460fbe705e88354160998a7e4e8ad0a1c8a01fb4214b9d26f5bf4d29fb66ce15d7f9cb1311615b8f1164022aca13f849270e26c4bad6030998415b6de2f252a22ed18bcd1de52caf6f1dc0b218708576a73212579aaf28ae468054feacb18fd473952 - -COUNT=19 -L = 2048 -KI = fd8a2fc5d592579aeaf1101e2ec67838ddc92c48fdfc13df78ef3dc4fcf956288bc33ed02691e3c086c9e0330f7630fcac5dbf03f873f8e44733b477a8ddaa9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc8953a280047535c0fd9d5a99dd4573220c4d5325f7e253c9e4905da97fd677b561155d95c43eb1672d457acb2cee1277661b -KO = 506659be808f99a029909cce1a26b90c59613a4aea2a952a8bef6d86a3871fcb8f64db85a27b0e605cd6522fd4d013024073218a5ec913811c01a600e47a0ac6467083fe5dde6644bd8b74aeebf0d82794e3e2c73a91d7f154bfc9cb2f9485c18056040475c7c0b551aa367405cc8260ccb16269c88b110881da9b055a07fe070ec02f4d72122f6cbd687331852d08d3aec56282f36639c7dc62023b2bcc378f6998bb7207d6ff0bf3168d3cf125afb0ec897c69f66531214fbfaf9cfd6db425b4639de6a3cf436d469fed4cc8a83e042a5f0f0704e125db43977bc6636df7caadeaef5bcd717f769aaf363fa52b70cf9a095914aedec531c89ae2603e1fd297 - -COUNT=20 -L = 560 -KI = 3e32604cbca89baa45691397d5b27812d512d572e5f77c92de9c1ceb7f7f584f2f63857c445a2857500768329a87bb156de06500701d564e2df5c04db4fdc3ec -IVlen = 512 -IV = 293d9a1260cda01e5b4d3c027d7da6b36a658ff95e00018334a72ec74596d831c231967c755cf3c3c23881aa0503220f27fd402dcdc7cde96bf825e8ca055a31 -FixedInputDataByteLen = 51 -FixedInputData = b25f3366e07be41b7699d837484ee4a15b63f0491025f665e12f8b6e0854563019fcd21296e98522669b07e00a81bd57adc5fc -KO = 35669adb9481993e83dabaec5628d05309bd3538b520ee6b1466a0179682977daaad88e0d4ddd9769f81e3ab6a151aec183b13c264924b9bb1949c14bf878b7f2ef1499dcd11 - -COUNT=21 -L = 560 -KI = 746ec85075bb14b515cad918c2f5b4f3f5a96e646616bc02dacf31682ed0405e0963c0e456611139f2905cf70bdccbaaa8436341a4b5f16f4c9c3cbbff2f045b -IVlen = 512 -IV = 73619f2929f6968ae342507ea10353cf5fe2ab2ecee509f0d44bebc8287095975a796a671572ee705124c8a9f018bf845e4bf67a593d02b1a9903db6a5b16a60 -FixedInputDataByteLen = 51 -FixedInputData = 1479b4592ca82d4c9d0e77e22e98075cc8196c1da7a0485840e311e958d40eb477c21abb1bd9f8d3a22415ed157ce9cea20801 -KO = f5323ab35624187849765b9a6403390cc74a00d2959b6c92ad448f7ce95fd39d93037a563da327129e6c3c64054d4eb3eb7a96c9cc81f1bdaacf31ca597534d654b30c531fcf - -COUNT=22 -L = 560 -KI = 75fe19b80952d67bb9cc33bd165d2b0736b9c3d5f40adbf0d7823d38344f80f17230514f5cca66ea81b90ba458ed43005f315180bfc96af834e62fd34d59761b -IVlen = 512 -IV = e4c66bc6b460b362e1698ff95cfc1191ea28cc0ea93baa697c2b4176405901697f830ebd3b428dce1a0eb9a710d81a0c788e0aead9d1b612b648b7c02105766b -FixedInputDataByteLen = 51 -FixedInputData = f7988de833a5dda0659513c8a8c46033a6cadfbb773d2ef0f3592cea0194194f967ec75f641ce86fbc256afbe9d31407cc858f -KO = 5027df0fb2d84bb8fe55abb356f377f4f10cc12e51c5c0bfdda975a3d802a5af819a6fc2731a47663feccb758206f9430d0d007bb06e6d7feb391968e1d22f644c88bd608e8a - -COUNT=23 -L = 560 -KI = 071961214cda78de984825523a7dd3a5d6e46b81c80d31460eb1dd18cedcc9ebccb3e29d9b89cf0d3b18982730b3c331064f86cca226d9fcb8d205cb9a798cca -IVlen = 512 -IV = 6b3d8517f60ce56c3718a94614c42c60385daf3ae80c89e68c1286b0c7bd6c88ed3e8b9d4480444a9056ab60df4a72b75477774360fbf3206572cecd4cdc27ba -FixedInputDataByteLen = 51 -FixedInputData = 692e71518b07fb2912d261dea2b8460035c44a3b241421938a94f02426fc65a08c115354de7557128db39a74bb2d84867ff6cd -KO = 9bcad563be5f058003790b8bc8e474e0b24235903647b4d12753feec8e562caef385a8cd7b68421b6d4425fe14b3697687ace6869f875cbb252fff2890c203c068dddaceb7fd - -COUNT=24 -L = 560 -KI = 981a2a2233c5bb0a6c1f70e8228796c5e01498415c98fe87f05b3ce9ed67740fa39933f0f62c6fb57951ee1b2d639ec904aeb6abfa4a33c5c4783d3e9410d5dd -IVlen = 512 -IV = 362e7d140ba91e92507042c5c941911fb2f67c572efc50914aa8c5b5aa4b37a9fe0a65e53452cad02914ddb5f410f4127d1d1e72725c1e9aaf28f20dae01ced1 -FixedInputDataByteLen = 51 -FixedInputData = 0966885a5a621704e7cfe3f0114e30e953d949f5203834ffeec4295faeca6e70e4110b35e331685d341997bd6b79a921cd818f -KO = fbc12240676c85e0d195ce3105290419ba95dc20b2a448831801cb00de2eb84287ca7bafb8e788f8ea03987a400d3e22a85759944b88b8d46d9b32813bcb5f4306f103b578ad - -COUNT=25 -L = 560 -KI = f85cdb8129d060db4ddc5dc26b49cd47f04d939a78e008964c9d83cf7602379cd2b1b2f7a93cba70c7411e088d63529552fc4b3d64e6eaac7336f7dda6ee46aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 045a88a2dbe469a2f9e29ac608bc8056945855efe0bb6aa9e4f7419f92162ae3771b3997eff7f1b0b5402a4e26bc0251dc7b89 -KO = 6b00ed168062ba2cd6bc2f2f10c368f95dc8fed93788aa78a2b19f9eadba77dd2755ac0d431ebb6ee37edf16416fc248ebf670099fc18e8011bfcec164510c29de2389630e48 - -COUNT=26 -L = 560 -KI = bf98801bd7471b2158a5ad84de80f9ef14257e8b1ef0ae6185593fa96b51709b4761def256a77540fa6c45fdf46c1f2978eaf7c9398fb37712ca14c82723fa38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bcee72802a74e82384429325508db183fa2b1f8f5442ff9a47ac7b7f61aa5c8cfd6fb8edd40aad8de0aebf2167a206962055f8 -KO = 177fe2d6ab28b761c100f61c4b8c7e5dd935a220d9c0b2e2f0f61221f4c280b081902ac938a302db460a5251e55c343d8ca055c0c3c9364ebeae762aaa321bee0dd82681c662 - -COUNT=27 -L = 560 -KI = 76a8793c31314833fb0d1d2ec31c460066bec70cb2cd8f75cff3d24d5357cabffd37bbc03bfce3ddd6795610cffe621eab3ab9a724ae2a95e8c76a0cb87bc8cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7c6df537627893f1076d605c0daa62cd5d3f78a2cd5541f17e676720226fe92e98954ea274b96554f53e0f33855eb207f4692f -KO = f989deb33073934769265a31270831a86affe5a854136db9bcdff6a5cca3d5a9a8a9ba62b1feb4c55542b2b97b88d9216bcdab91f4f05141753582463e26be05ed279dd671ac - -COUNT=28 -L = 560 -KI = 753a5b5fb02e3d6c65ebfbbe9d563a3a55f7173c915250f4f47b3edaa156e14ae6e3e4b14c2a453b918f52292c2294a8e2c912858df988c72f94d15caa928191 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7c59184f850660383fb38b1341fdca3af3f9136516d6762769469589acd273dc82cac353bb4f39e47af19713cc26ef8c498e79 -KO = 999ffa3581b05dfbd9dcd78cb48093c6c60f24c76aad75c61afc195699c9abef70701db0a47ba2c1328a5c82cfd743a8427ff36c0ab26c2d32fccf6283b271463867270b3948 - -COUNT=29 -L = 560 -KI = c936e18a9f46b23b874881b0f6c8490f1a95ba789bee4e65ccc0fea6ba9cc5bc43cefa1e2aac6c653602436d7de3c62ae2bdfd7a0f6765ad7c773b97898eb564 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 825ec450d1c862e7d7afb47c88a234c6e515c3ee7bbbf2ec4d31e7f0af09b019e48ae44ae5d2152a4d771a3724efbfd653c1c4 -KO = 8a666f1a385afdfb5fee5ec84e064512fea1cc9905c39007ecee4fe3b6ee27e2a1e4d9f50a0451911454053144876fcb42a1e493b6866168102e8723a7ae69cbbf8f6642eacd - -COUNT=30 -L = 2400 -KI = 52ca3cf47ecef998a5201ddf56f13fc7b3e747ca156af2c6684ab6f618c6a3241167376aacded79da76e13b1a1a0f7b4b770fb0455c15949b1a1a51344ced54f -IVlen = 512 -IV = 1e8b9a84f736c0b6b1e195502cf7ca78384cbcae64244cc864295c1e5990e5cb855070f4815db98473d924296a1285042501a585cb20666bc83d30e5ccde3f0b -FixedInputDataByteLen = 51 -FixedInputData = 4851df7b4ef53cada3dfa2a56e02b6d5be574f6c5d6d4b0528c96e0e2ddbfe84a3a8a92a0d484966b96a228e15d2c0f0165f85 -KO = bf0441bf75d133b4b4c3fd5b8f05cbca920f1b33c2dff826dfcf2f62ac43e1b66b130df5320a48fb612bc729b87ede66c426f518598b2ab6bb211a94d4d404a076c2caa20cc8c38bd463f6065b55eb85fb784e78b8e2f1014b0e4fdc2e3ef8b1f40d4fb1e52d3aea13b6207a06ccc32f0ec119a9dcb8f560e195029ce2bfb97e37d56b647caed064eac6bf4f3908de9b4d79d108182f5ab557041585148b77b6c49d9d017682907ee9c0abc9dfd26873cc4075e602af7a8b46d6e6dc79518bdaae0f4498b927025a96d87991d5ae19de2e800e6d970a2b276849e973af7d66ec4b8edfbe117010f5025032be20c7bea1cc8c7ad047135eb47c1eefd1756b6a43b7450916d1090872e365d85181cdc1d7349a7de3c9625dfea1fcd16e95719c123eedf4df38e6968ca2e93eec - -COUNT=31 -L = 2400 -KI = 867b402b76845847c26f925aeb1bc47873c105ea49210cee62a9efb6fd667ffc2a182254b45adea9c759146a076a82f2471e44027cb85886b5c56ae948e39348 -IVlen = 512 -IV = 8c09110a66719932496d2bb49004806184db05920773e99bd57eed269045480829701965d91faf35aa13ef3e803af2ac91ba5f85bc046cf872015083ba28c8de -FixedInputDataByteLen = 51 -FixedInputData = a28fa593a1b8090c5f3dd43b3337f05b9fee7f2aac4acca3457f3ee17daa1cb678ae75cbc4548f40f894c3370057230ce82247 -KO = 1c4db7e32b2975502e3511d7a8e7e2947c585141f60793d872d9eab5cb04a0400923f3a302df460c16ee1b87a296deb8258c4a60ffcfc286545bf6264c3442f5318cb118aac5e4875e924cd6b9e52f0d95c5b66a3ba51532de5b29d4af3ead9dc62e96d09ac80474833620dd5c93fd0f92fbe4e7fa212acb92bea491f010dc6806049ad73616456fd416fe25f9eb1304accd495ed3be8b52f4650012c2702cacb2c1ec48dbc5d5a700436426d5e449de4e931f7b7fb5a85cebc4d94acc50215daf906c464559633060b0d987b20f7c3688be47cf9d3b032cefd4bae855b59b7f6697c16e6369be20e5a6a5133b7a01efa163c4bd4e101e17d31fadb2813e7b5ec4c79f731d1f7b92868f16aafaff4f907f4921c97fdf5b19386673a844723c8629ae4fe8e4aefebadbcee3c1 - -COUNT=32 -L = 2400 -KI = f8e3cb934a6f5322539e12225e924abd2f1cb99cd68eecc410baaa6f1160fe44e5d7cb7b74cad3b0754b1a4d8bc3678ab74015055f75f4ab808824803d496f43 -IVlen = 512 -IV = 66f5142cb876fc70f7cd7d82921ef6576b6d2601750ad1a2ea3616700c44a5b082410e72bfd85e6ded1c99b106167d6c696cde220fe14b6b5a77957bbb22491f -FixedInputDataByteLen = 51 -FixedInputData = 1e1ff47ba7c80a21cf6545f9715a3507a13fd64750a282e1847455a2970940be0076fc397d0e24cb6fd4038e350e9d87c1d92a -KO = 3e5f879adc0b9990166a3a7cf82ae3aa9a18aa78a471e3cfc01d2760cb375aee9c4fb8d3d04b2791e8df77c6e64db1ae2f1d8566514d179e2e93f0a5285d1cb2349d1ed10f9421db703185d2ba39135b46bf1ee9a35065e27da97fa76b2cbf190b363cd1e0140c54334785bc7f2b660ad9bdd61b3deb7407393dddfb0a5c83285fd064ce72ab96ef5465a7114c9ca62c2a82c4ed1c7ed09e543e5fd1cdc92932e7c2e526e3a28e942cb917d80e24d02f0a5bc0f5d9ae338b10b8217f1da8fe54ee877cf77bff6f0f6faf48723299f289762c050da36d5eb896b94f3fb1e30ab03916ca825d2b08d9b5736af67ded4d6e166e0441777d619a2bf1daf5afa4babed8e8738f12ed0b5bf9e2e67306e7d164b21aae43d38ffd2ff6db8a59e1dfc61359b071786dd51765c9f45771 - -COUNT=33 -L = 2400 -KI = 42b90cb551d78af1447db0de2ad24b8d25551f84d3eea8b28d9ef501c694928bcbad46016c01a39849d0ae8db2cc7dbf86de5471e726e3d478e0706ca83e7b95 -IVlen = 512 -IV = 2ee806e5be463ff44276f6a7cc9b28dfcc0f812cd22dfe9ff74e180a7b821d98dd3c2484276eb76ff29343034e75bf1e60e69b8d3ede08f379d4c1992b4b784d -FixedInputDataByteLen = 51 -FixedInputData = 4cbef67375927bf3eb7f2b3956cff12c6299afc1f6fecb8c47af6d4239281d483676ebdd6bcf4b874a1cc4ce2ce1889d30e8bd -KO = 058c92721b496965f5ca8b76d7d039b1c4cd59a17a715777c342d0bd01349af48e945bee5401bc5dfded5de885e0a771e10249db3d67bccebccb7d6f9308fb9690e880d2c4bcd3599af0d52fff12b4936ad7c95766aa3b2e27d24f67909f741f5c86fd7053e97a24836f6ee79bc93ef0304af9a7a50bc34825fa346919c5980c66e01b02933c7d551f57ad7d4d8743d0b92aaf0573543ffc78e74ebe62d3bdd7fc103c0cd38f4ec97b1803906ed69419ec80d058c6dba79c90f2a6d39e7216a39671dbe3190a3cbc661167f92a34070d26c78e21b4fe720d643b2f50fe5e6c2e6f7d2491239cde2750eee0e419776059854c56d3c38cbeb45177253bc5805f5a8abba64cd042de63ee937c614c85d36380c56d511cb8015ac83ecf687a64757f82f45253f664f081dd998c31 - -COUNT=34 -L = 2400 -KI = 92f0b306cf3708ed3d967b36e6f4a9d603dfc358cfbbce69620d8f7cd6994bb75b887e01da8eb38658549743dccd92bbb26292084bde054ba35eaaceb2500e14 -IVlen = 512 -IV = a4c7a9edcd7203c1e4e6e74b4b7f487222bda94adff7b0a979d96fd33ac232341ea7eee458d650c113260f660d765d356b51c59c692ee03daca9199c31e6b301 -FixedInputDataByteLen = 51 -FixedInputData = be4565a014518d3ab538cc6d5f92fcd0e6be42ade3dc5bb4f394dd58bff1a5226e50c98b1a17432521790e9356aeee33a69333 -KO = d9da23276c282a61238c8ff93f56470e515efaaa8e5398260ace12c5e860571b9ec0d8a75cf9a93664250f92d2a1fda84310c22c4a32ba75fa835d010faa748cfbd4d7c2b19ce311b8105ad1eb66da85139eca5edab7dbaf0fa18bb44ff16d27c74a4ba16eb6c35e1cecb237f87335631da78f91a92306ed0a1425fa6287d4980dd8789f09f3a4a03627320fe2ad53f2a85ddbf60412f3fbab72dfe9dd98f764b476538f0d966cec1536e1e195245ae7527d19b60516c6ec6ce2f70cd038dc47e5d4c984b57a4745934f34686daa82b32c6e6939f7932388a947e8ed955ba1e5b3572179b221ff4352ea4da384d4f8f9f074f4391f1dd20dd62a903c82d3078c28bbc943eeef7f007045e734d697e827550e7a0fb3bc1b78d04e56f703e1987cd29f4ffb03c12068be115184 - -COUNT=35 -L = 2400 -KI = 6748eb0b273c6d2ee078e665d9ace33ff09ffd4cd30b8580bf6182ec368597f82ca18afdde6af2e63bc72d0865a9da2b56a903a8769ea13df45fab0d0e51d612 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc5a5aaa7103658da0e6d7cdc0c270d1c60a95ec84e95a245eb9fda955275b6ff7da462c976c04a9ca8045171f3e26d2eabc6e -KO = cb8e623b307c12f2d59a24f159281411842af7e0e3a64c1e426b5e204fa4ac2a891c88bbe6917fe42a1bb483485289bbc8043dd769b09a5e8ed3727453151d2fca9e69cd79d418acaab675409b9e7cc5303dfb51909ef55e9d40b3491a15c94d422005946e69030ec3f46a5ded6d938a1084df1bd4bade6889140e329f6f9600829f3a918b43a2a4f0d285c7134c36d277f0eda32d14328ed790491e99c1eef0b1c4a46ca110c7e5e875d98d2560b9bb85b1c2918a6c44f4dafb423301303dd9018ee5f27f7e24cc3cb97245cd9edce182b576350ecc82deba0e33cbfd6d4af51858d197fdc1b84bbef15c7a13b6fc73565e3cf08bf1683fda618a31fde4e5cc65f615146f2f26c9295235d092ea8b05101fe404da3be473686fe121fcc1493a0258217d657e6df0a4b867f7 - -COUNT=36 -L = 2400 -KI = 975565fa2055ba1c31dcd4049c0c80a8723717105077d22f99aba784bc80add4b9d82add36cb671ed7b1b5d56366051de9b9478337a2ba3826400e6abefc4cae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3c0cbd5e060109afdaabb1901f83f734080c5ab2936332e7f86df8cc39ef5ffb707148eec004020226356fe77e27494023ecf4 -KO = b183cf62d4ad26c0a21aaadf763afa6065fb58185c6242e8cc1597b966ee4414dd31b705b0fbcc870ddf410456638b1feec743ce2acb1acd1f708eccfafab487cf05fc28a61a11a19fde399a3389525041a2e860d912520b1557588a58af550806fba2fd07ac5e45b64a5a3deb4f08e5166ee16c21aceaad780f4ed297860d35c7c5b2e87568eda1238e4cc13775b0c52a67599400706e24a4848acf98daad62da13637db5d92935b2c00d4916e3bce51c2b8e718b701023daba5982e36acf958cd9d48206f81e3d00e14653c663b42dec030e0892998c14d6e1c22bc0c53a6e4534ac27c02e663cd937b95146c3f026defbd944382b8205e92fe3c29794e5b66b2411e333113a671f5dec75dab2d66410924bafc0b405c248b2a5e9aa4fc344d8b4b5872bf63dcf819b2283 - -COUNT=37 -L = 2400 -KI = 1a460d1d919681f189818a319df7d64d4cd8a04a7b5c89815a38e21d45b8b2c81e78437248c2e2c9ac12fb63831b1ea4fed9d32bce08ade1c79a7f90a604e927 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fdeca11eb4f4a5928b1d984064dc803ec2f8a337077372cb5aaa5d710ef13305d0d84050860e9e291945d74434af9ef7b23f6d -KO = 431a608dc601e3f1e2fe0eed5bf47c1c8119420d5006ea478ce38566e004da5bb2d7c372956b1b652387b0c10888d27b41e0ae252283431db33119223139fd6496a7ce71e073b242be044c27107a5856cd94a31df6dbfd5b910c541de8a16a8d9c2b62748bdf5f63241b2811f224fd68eac338a6c973f2c9c0deec3672c7b96a07979482d0a8d158ec9a2f21c91ecc8f5818a6352d3cbf9ae5072657c239c114f045ac5cefec3228612905de4e1c794e3b828c364acdef19d323a5bb2c6edcd9b6615290c34a1d00cbca1a2d851964c50fb5bd69615baf920d37aab8af91e727336a2a20b0bfc146414f89162a12e7a5b94213a00ef962da05f98fb5a80127563cf3f8e1e3d43387f7e52fc4597eb993419f8fd993e2c1a703d99a169394d789eb35e4990c1356d6571e5c2d - -COUNT=38 -L = 2400 -KI = 7de6e49f17139b0ae357adc2084e3acf900fdca66ae4844ecc82abbbc7a78363881f26096cad951294de727f8bc2872822debff9c3fa3bc59db41ea332a393c6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d9720a76902ead669a553a6da11b8110e5ac54f877f15558548aeca006755b9fe2e054de1afc91a7e90f3e5cdb6251e1b413f2 -KO = 529d19df5adafe41c3910b6bb6dfcd58b61358b822f3b39584d8d3cbd90e41a034b820858dd7580849621575ab02e36259886dcbdb54ce1996880b84fd026518caa515175fb2b36f345e3e6f11093e2b397c62aa6eead9dfc4495f38ba91c1d54d7d172cee2eb3104c4e7270469a10ea8b109a866beaf2a644490486f90569ec4edea7885fd563a52bc4ec7edd54a60fd19a5871f31485741201c5880703d5f6c1a32e91c3147e26a3b5ed8cf4438f04c1d5d55cfc5f6ff0a5f319f79906640994db5d05374370f2b289a932094d19abc94668d20d04af4ed664c83a6a4832ab4f00080e15b84376bbf7ad325205b98fb4c5e5e7cc5fb16c7a56559805adcbf2145f4546d19e6eb6f37549fbbe5c29a870f2331dc41c95b2fb1bbf0187d38b417b34e7f01dde9270ccc8053a - -COUNT=39 -L = 2400 -KI = 1f635393bb552956ee669654c8f2c1ed316e9cac91f5aa3d983acc10c2c7295c076afac0624c740d40d6dc313a675bbda08b1cdf8593b69e1e13c2149ca72235 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3ba3574d4d9a37a9d82c2551bc7994ff145829d2586e66c9a846909393ee08b3a685a1f8f00c2ec39e98f8f2173d8e02d605b9 -KO = 54ca79326f0e7dac47184ae929142144a86cda0b032035e88f2f3c0c283dde568dfe00a2d863ee0fc9f9f33e0cead32142720b0b431bf214f22be6b592daa45ee6f786a36dc3f0bb4ed34e4c2e1d6b9e80ac51ab719556d20d4b434a2780193d6af802d10c1a22a35121bb2092f39a9191de69bdd7871f569c0928fddee855bc020dd05a4abdf4659b75616e91449e4b4509641368403404992a7c13b79639620eca32200da9ac5ed8044c71c77e04e160cee57cdbbdabe56853fb15332a954cd1f6e75fb77947ad55c1a72ce6b2f6e47cdf09dfecb71a64a48ab3d3b93f31cfe4ad57e175b503bc45a60a349170799c825d826ef676f1d41778f38a9547eeb37963d3dbea661dd60ca2da75a4c987f83e23dc13b405842f516bfc6325b9f654284571017bdbea8dfca30d6c - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 6aaa78ef6048ceb9a192e904b37f1407c955725a7a701fd3d2423950881f373935ff0932d1058c090bb29e4f9436b5855b58b3194c1a8fb9c9889d594dedb205 -IVlen = 512 -IV = 88bb774e28fd56b3030a3a3f10f0fe75f5f27cffff110bb0214c14f134c862c731c0813fafff7df63fdf507aff5c0c4a390d5989fe4274b0a405a5f317e3bc7b -FixedInputDataByteLen = 51 -FixedInputData = 8d103fb5f69d1ad5edfcb3d0266748137be582a3fcb5fe1d7b62938954ec377d266e3477144ea22aeec0933222fc2d2f745517 -KO = ee2a1a1c1d1586fb9eb53c37d915802382c207707362509da54bdb5fc8d89bd2a6671703310aa5036689567fd8d7e85ece30ecdbe9c0d1000a12b67499d8ea1e - -COUNT=1 -L = 512 -KI = 90fdf7b94d55c8192cd6b53c4e5f383f715958a18071df6cba52fa4d77a2d5e27f81aaf5458bbf85b629ed3530b85be1cfbcbc258fa09bd533d558570d223212 -IVlen = 512 -IV = e51154ac9aac90e6c0a90fb4f6ff71987c85008d024446f1c8fa3fbd99dc87e3ada95341eea6121d9c385569cddcb0f2d1b8bc855ffcac40e5271d6d85763d96 -FixedInputDataByteLen = 51 -FixedInputData = 5c895d1df991a15b36ae7af3d15e32e0091f463099b28f1917084057d53b175b2d3bab11bd087d9a44ffcfb6885b5a59837b8b -KO = 9b6fdc4e799c960aa87750cb8ab773c138643f546f420e4608fa72732abcbe9d7658622968eb0e8fac97e9ae35383eb81cd6d666da64a4482148b404b7fcac97 - -COUNT=2 -L = 512 -KI = dd4768e2da49f003cef9d922acd0c37aadb9d90c95f66684e41438b3ca0df8885289d1d7bc260a362f4c6c5b8ae42afe5a45c53cf3c868e80c45f7e192b55c14 -IVlen = 512 -IV = 903ac8ba0cf69209fea8c621eba8317d7c1bcb6a9bd4322b7a8810740bd1e7e310bcb0ee51a0524805447791e4a9f823919c252cf046d792a9fa8ca562de3d1f -FixedInputDataByteLen = 51 -FixedInputData = 115891f1ade319ca11a97d795126d3f863407553446c70c87302d12be306e4f793c4c4f530e32fae25a723cc504146bb641306 -KO = 3284c283b684ae907ecda8f170e5edbfa31735628793f118249d8665db68808ec322276fcd778e2f060ff4d365f04ec37aa1cbf4ffe7afede603e5d730f2f6cd - -COUNT=3 -L = 512 -KI = 3858cbc49d077011113810696739b17d7e4744621efc41a1b6e8af6cf7c1529178e6eedf19f9ff464e6503e201098ecb137763cdabdeff982a94ebd8b5cbed5d -IVlen = 512 -IV = d927b8b8b9afd1699f708512ef641fb06002973ed7c70c439eba8ea97596d27d485631cfcc6bcf3ecc4ee3bff279bc3d4a1c99bab0c1a362e2f9bca2ce8aba26 -FixedInputDataByteLen = 51 -FixedInputData = 1954248c9e55530d02d658889cd45bc84097904e2ada2bebb376ac49d33dc83553a0078cac235ea2288411b5429727fad96238 -KO = 84cd10f663b69905888cb9e1ddd92c535b5becb6d5202ff25c377f981f292174d773870d4ca77e72a6443ae885d6f5407e5fede97953c2b654347c280c112279 - -COUNT=4 -L = 512 -KI = 038efe20b2707f5d3009614ad0909c0e7eb4a7cba04fa2348aabc95fb2becb2e03ddc5bd040d5150eac08f3ef7642bc866486f652e77c67e95f462908cb8e2b3 -IVlen = 512 -IV = a2623473a7afc1fd5c7e75e47961fda5b197b33149815ff9c7d4bb30406b89f3d5e6cf9e093f8fca22391bb2e8c41148faa8059a859bd1d5817317d4d0d76924 -FixedInputDataByteLen = 51 -FixedInputData = 37537aa8ba140fc54e29ebf23005f3fa2c6a648ee5ed681f53491320ce42e5b57c6f48bf775a7b487359183668cee2e619cf08 -KO = 5c16f5ac2125ab566aeac76b42bd7fdb8475cc6a541ba4dd21f291bca87d1513f524a1a86538eb37e82dd978f081fa6a4592c7af72bca7488ae1f7834c19dc16 - -COUNT=5 -L = 512 -KI = b83f6cf008c1cc2e4bed2a77220dda98135bc50c46aaf9f676c2cbc07d14673275613360d1b1144448e8fb53cd74fdff0a8b25ce523ef978afd10f1a9ccf5770 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d29a10cbd9c361465b891120aa10e2319bbd5fa190e9c423bd4599d31c4662c0c0366a0cded58a4c0420f1f0f2ecb6a224a3a2 -KO = 4c59d873888de1761233cff493c934b014cc8631bed0b8735839a537269ea0c37432b4dd31c107b9726860f1ee9d68033d44fcddefccf335c1e14745957616ad - -COUNT=6 -L = 512 -KI = e892c21be20707583306bf81d3991f69703bed6c78511fe5da561e91864427208b7e01f5b7556225abc23b91b8c4d99327ae14cc1ab8a4a3aec005c925532263 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 11b05ca51f1156841c374e1edbd1700529ab522dc41ccd2c605ff745aa4edb9662b9ee664eabcb58f57bc72dc0601ea592735b -KO = 1ae882df2c95ea359c70560a5912105ad326971df1452fdedc262396d23b85af59739c11dcc3efe51847c1c4244c56919d780f9fb4f5fb945f96bbb0929fa981 - -COUNT=7 -L = 512 -KI = 3f024a7b4e96d6ede8268dce239f2372d60b74c468d62fa4ec034f1b17a4c11b85d231ec92ce363f707d3edf5a7dc10d34bbc6cc21b48a79bba40af9eb31d71c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a587c2c71c1b917a659ff3a515b8d7e3d36bacabe62ce2a893dd577b5e4808520c69968f1430362331f0d74c2b14dff966f156 -KO = b926518e6cecb2e30eab228fbc96e5f0e3e2b182671d347016ae8588e78b8050f9c833ab8a90a941d1856ec8df89a79315338501f38007357e2649c4335123f0 - -COUNT=8 -L = 512 -KI = c33bcb345d540d58b574c33c348455bfb0b93992f03c408213a0647f89b749ab8ea21feea32e6d1aa51a2b3718498641f66039b834e49e1c98668989ed92bf70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7378dc89d66f77bf19164eab22013deb337e2617effd0a366d109940634de4fab0c0fc4e892b2c37c9b1f776a97850a38f9870 -KO = 1039b633330a2768f2782df1c6ffae933517b6f31acf06f2dd33677c8ac794220e45fc3eceb85cdb98188682f20b2734a10d6645eb1366282f6df452708323c3 - -COUNT=9 -L = 512 -KI = b3230f0de8d9e006046fe1f1802a88315fabafffdd038cb803294816cff4973505ae2b3ec47636f7af38d806c97e4ca8f9c864ecfde61db3ea0c5efeb755681b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9340a3871fbbee16927f41b91cd61c178ea677fa7a2da4e922236f6545f7dbdc1385463081eef87da0c902f6c1e44370e58214 -KO = fd1b7fda2f7c8516034a818e5b36e15e75a753a72efb58d0b99c704da3a31fe51c6299a45a2c0654d18fea7da09e5d1be8da7793b3a76e6257cb5ecf48881655 - -COUNT=10 -L = 2048 -KI = 1721a23bff0583c90806ed46b3ac374a487464b2317d9b4f8a1fc7d07df0bacf80e4262024cdffe22f5335f0bcc2c9358281264f28135db2fc5122f6d7964c29 -IVlen = 512 -IV = a887b782d9df366237ac2ce59af79991817ff6b743d8d1cf5399b4d954e36a6f5e56824fde7c090ec19c6b112849626683388cb36582ae65df40411d8708d489 -FixedInputDataByteLen = 51 -FixedInputData = b4c73251fd376bca6c03ab49e17e3fac220e49ab22976fe269fdd8f11c5fa540ae0a2e0b35ec4ab23a1587f809460ec1a311b1 -KO = fb90edb3b5ce18bd30fc49d81b6f29eede55df39ea6f9ac333393041f94259e0c0601671b5d72cc8d0379a408d7f21f7104bdabf621e69cb1ce3eeaf97f1a4154611e2c1c535a69d62b4790ce1fcd67be80300ce87440e6a6a84fe2b93f92a693b92617f82bca8d6e811d9112d6bb01e40e9a1a00d1c1c9e219e4664831a9b95541273894e9fa6c36d7b7063bdeabd1532e03ac0d5ae73cee105d5083f79c3518cefffb519a1ce65cb644139707a0b319c37f273f83c74fd7bb14a59d8c309f1c5a50f3dbe39212970da6449895222046a10af08f2da5542273d604efcb731d8d5a1cea3b8928ba0d12264ff9da4efaaecc1fcd2bb91a9472506bd10fb3a8036 - -COUNT=11 -L = 2048 -KI = 973d61906eb8062d504ef6c6da48f804520e0ac45d4e297e7a60e3305baf7ad864f581ca6d8e2d3781d4fd3c24644e441b7920d96daec844ea43345345e388a9 -IVlen = 512 -IV = c3e27ef2f8717da68775fd6605633242a0a10a3071ca72d961dbbada6534b5e423b20fc6839305ae6c688f11ac7650912eba42e6ed3be882288a740d4152b4e0 -FixedInputDataByteLen = 51 -FixedInputData = 68b493eae2f9a0181d470aec6e89a4062ea59a621041f9d742fbfc4eda59feb4e2330761560a2f43b0f932ef3dcf5e7be54735 -KO = b95ef2d5cb65226814dce8941730c8e68ace07c49b950945451a1019ad29db9b8daf90d9c17d9cbdb439dedffbb61e7a9e53c670258683482dec9301186a63a6654ed3e3796242f7e28239c653c5fc94007d00e185e3640e4ac9b59ba2da9a7854e186075b6bbabb7632b1f757c117f5fcb6bcee8e3a5b28cef9f8b67f221c6344fbb061a563dbec280c50783f64f7f62da3ad30e5fbe143f8efa62034904e4e7212317091844ba16a14a3e4fc6e7d6320ac6511e3a50a1ee72efe62ec0965f9857a19e746d2b1a21e0450f5b493b40ddd76cd69ec4a13256c92157d50a3c42e1db50ce7db04587b62829c775345e18a839b1c2bac5912bb9d18e7a02a0df786 - -COUNT=12 -L = 2048 -KI = 9907d17e6c20329656ea0c34835ef0c83c4ed133f2bcd08346756b74a6080360fdbc2fe77069ebedb89e7ad1cadba23fafc1c0ca36959c247760774519e15bfe -IVlen = 512 -IV = d06bfb00936522acfdcf9059f62e734693ecccc2a355eb9a64ea34e9c7e89f27fc14705d236311cec72b17c03ad16d8269d6bc93eaf0e2af62fc30e0a40e4d2c -FixedInputDataByteLen = 51 -FixedInputData = ce7a65f84ff1d243e74d546d0ddd48dd6989e33bb60041745ac6858a500512a4a7ac5d7eb1b22d2337ec04450ee2a6e083780d -KO = 5261fb99d348811fe8c1e419b4268b7cf89eac046348f53b7177e8ea131f427781247a74bfb2971b51a4f80997853569aac2819071b0c70bda0f354829dd77a13721ba22ff5c365508749007f9394c53a5db5631c949e3e998f36d37edaa42db1b3e9e2abb2afc959ead060aef89346d4d8be63c67f5931b4310f93c178ec46d4307bb371f0a481ff79bb84c4e3c443455a97b69387524f6847e51f44208651a668553a506e897705db915903bb1ba35e223232b9fbb062abf7eebfa6de4728860754a6c1dde22b7b75e495933e8e8cc25e9f0a063b035edc2d838ca36fc51bd4787558ee21d51f62979b8dbc82b690fe01440e52d346869f6ad12a7079bd617 - -COUNT=13 -L = 2048 -KI = 9fdcc23d781bded057995307bed6416e9924e0975bf34df188e55a11605480f2096548e56a6c8062252cb316c90f1705990fdd81dd765cb3e1bf17f0af7e3a95 -IVlen = 512 -IV = 316d7d6698abebd95d2943684eaca692b93234edf3b62f1b2012f9cd01dcad90f82980d561d84f5661258943aa32cb857b5b3188df9101067125b69ad8b4a275 -FixedInputDataByteLen = 51 -FixedInputData = 4a534d655d519ba7116dcedcf17ff981f432e187947bc4a2ee1cf492b6cdd69599d178a0bbf77073e52482bdff4d953469197f -KO = 575627da0d714b05ee7664ae822258cb634f3f167c9c0d070f7ecced998adb0dac4e7bf2f59137a29e27e42e9e9631700d1e2e309b15b270ac0345e6e369e0d142059cd5899a71213d80ad96f96fec68cc718047d17c056366caddd51093efaf7468c8b0f7604e9dd4c189c22b9e883deef8bfd9bbbb1890d63e9fae9131b243a28ea2c7e64a5a1e5a6734da478a0e9556978b3ab2586112d19b210752a5ad40657863907996d56079f7015434d47c56b297c6457f0e4c5a84fa121f7b7a041970c5763a58bcd6d88101106a05d5d6e23bc4aa1c49a6d699f861c58fe9ef1edc2a18bce1f05c9939033b44c6a21d7acfdbeae590320c7ee012a090b85164a2bd - -COUNT=14 -L = 2048 -KI = 8561cee8babb8264e913af52be99f741aa630ec40ae68963aed5406e33accf980b5f2719db0ef62f5ddf34e84a36706425d8753bfd5b715df7fa6ba3d0522df8 -IVlen = 512 -IV = 0d40698212f5f30e7c1b061c534d7d1f4a22899c4f95eba33df43dddc93c74269650be15895542ed272b3be35661a8da8b0b46ebc17e520bed7544c8b9440259 -FixedInputDataByteLen = 51 -FixedInputData = a8ffff876f4d7a3cde57fc7f0d6f2f49d8dfe15620290d0b150f6457bb53f0080b4fc8c16055ab7c7cac389cc51fb487b54ea0 -KO = 1e4fe80934eb5a60a8876f65db54af885ea02b7cc1d60688a7e7e801e596fa370cbe5286e1f784f2352aca811e2d6c3deefdca85fcd25e4225c5f6d32dc2005fe0b9b74e15c7ef55e6e38106c15da55d8eea8f62b4889db53fac18e622ab0568008815c9170317dad7e8caa81f1bf3d89d6c8c58feb5efd36627cb51cacc1453bb878841af78c7314e38fa2e49be9a84fecb166542495d8435a608f95aeacf415ca127de70e342438ffbba3f82dc371dc3dfce2ed4b8521e6a3fb3c8409a53db3383992b34ae827a2af024dce62811b4517d25331189fae46bcc2e477d44cdc0bcea34d4218fe4c9d3bbab2cdac5eddd6d8471f762a7a0d52f5908c7ed7a7299 - -COUNT=15 -L = 2048 -KI = 1dfc34149e0bb96c9cc6cdee2cffaa9d4ad20b0ba54ca473290198ec640d4b5f0bb3170bbd5f9c4cac905d4b5d585435250136c85b925557f3d19f6c80d7c913 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 089fce406f6a56d8534890135b37f116278d7b40cd1145dd5569a36ca3f5bfcfa91c76d2a97707b4333226cc504f52efce3056 -KO = 911f11bc5fc7f93dec83bcea0723ce65b83688cc588a3adb4e772818a21a70df4c9f938c339860b9a6142891c770b6670e185f216fec5d8c31a4c1664ed450b3839383d5ee5f056c7fec18ea6c2f5dfb89d5b6b8a98ba4a25cc64deae8692900c7be1b7081e19353565d4b82f14a078007440c7beb92bb03fb22913195c19ef41eccc5861584d24c0ff0a8939a41ca45e1d51d915a7b17be0060a8a791dd81d048760d0b0a61505c93ead505ed698991bf82b5cc6d2936bdc486ca3c1c8fa2697749bafab0d0e1a571c9dcafae47757503bfde54f13266e1947d0af670163afcd4fc16b71c990963dfcb238efc2ee756cd23241b9d1e993a51229ba3527e75ee - -COUNT=16 -L = 2048 -KI = 23c05995a89ae4351cb8e558b64dcccb6605e58c47e1001207828bcec8b73ac7daafb3b982634314607b852a1805ef10ba90d54234d65d6e7612d5729ab7e152 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bd6efe0a858ecd33046e595042952a2a1319fe864ba1d65283b0c127c1b772a6105acb82382102430ddf87c0b248b5cc33f90d -KO = 65f8e662b9213d02e2f8e1afa74944151c6a2088d1efe7ad9daae02a7f3101f27477757e9fb51f63b3f854813459eb75264c21fe97dd16a4dd501c4a2728be4c0ec45263caaa09bc4fcc35812d7260dbf2a8981f7afd3a2b49eaa99a837fd1a0326f97dbfcb7e10f8272b8e9745885f094b519d7c6e8a064b75e5b6fa97b1b50c45cadd5222c440baef6c78e4534a09e0550629c32729f2d706c8c8d76b481c8cdb73bff77e915ccccd8c24704b690423f41e3a726b725973d26e411b497c0829d1d248d49aae8ee13c0173fe32a0b107e945f0bee89e5106fa3d796f88b23b4a7967bc6c0abdadbd9b88f0c3ccf558dc94a3d398c12c15d819c0816609d4b5d - -COUNT=17 -L = 2048 -KI = 944a10f9db545c48ac8e2fce8834a2740b8ba8a5f1a2cd75677ae37a2bd3236e113753709c3178071a94f86b9cc8f49e35c94bf258261bdc9f5a3ea494e781b5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4ac95500c0afaeb98a0752b14bd5611ef90f2d423a5502643242cf931cfde9061743281dafc2c0be60fb6221203c97033b5c16 -KO = d614007842797ccc3706ec45a1d282645abac20f1be1b2d4f6d3e2e8b436596c0511050e25df54f928ae09934b1215487c7552f53a2c1e88dd1e796a86b6f357ad67e136bb292a07416faf26fafa00d49b25f4ecfb6bb98582208bc8bfbd50986b343d0d00d0ac10fed3830b46e9de2da7a74e953d870186084b98878981ec193ac93a23315b6f948e5d766800073f3f11385d623f49b6f031e0f54afb602ed45370206b920dd5ed8952a6ae1f5395cdca2b84b8a43b3a04d57045ec64e907661f056f0bdcd9721bc7bcc0793450aba4ec33f763ff4721bc05190387280ade2db27e0950a047fd40580c99d9b0deb29b482a940cee83ae8b038e1208442cf3d6 - -COUNT=18 -L = 2048 -KI = 33365f280476060578ca1eb6509aa1881eff339734932a359f9c5ab9f4f69013df846cc9f60c1d7878de569ba0942db47931992e21e45f47d5a8d263f3a6927f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36d287eb5d81b6939e30bdfa1e5b9ddd80c5716d8546a109f086ace841827450b12f6ac2cdd1d5a66dc7ae3779dcc7c3bfdb92 -KO = 850f978186083d10b4cd7c69731da025be89fa1de364841a7f2b8efc4e1b5df314c4387d8dd9c1959b8e6b2f3f7bd5882cf124281348db261869082d7a3d3192d672fa632784078a5dce52af841994b98362a2ad73aef12ae9a28fef727b4d1258a974379fdce98af5163e3c4c2fe6fb4ec3f1de6a50492483cb6b62531c7c2f2bf3a8d209d3b655f380beaace233bb46538179e01d1436498584bf6dc6b926d833886a29a414a7a29331732e6d38781642b8044cbe21af892eb4fa2fd498237f103bbcb8fe5bdbdc2db8639f9050719ecfd155b0d2da8ee2304bcef99f27cce83d4ce5366b04aa08872d09e8a286ddf8e757e52db85084ac66bd3dd18819401 - -COUNT=19 -L = 2048 -KI = 452b8d3964429c5adaec574ebfc524e349d65ff5c523765801cd68ae860c32000829ddccc5b6f1842dd08eeb1dbd863360cd3714a8ccc8ab6dbb7dedb7dc62b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0f821c4d0e6beae1b388f50bf48115f9f341b81c35af9c365a577674c016eada2cb5e5fb1a04a5b7e776fcfae34ac5317363b4 -KO = d572362890843799d3b39d36476cfc38a90515c012f3dfc3da851918be09ee3fa6db0841ff2583bffb7b3a1871da40dc01ad77ce627e51e911914ba71b4543f2af61ad515d3b1389454b1ce3387eb2fd07d90644fd19154f0497028bf0f5d4e392a37335e0d5ee203dd4085c51b5ceea8fdaf05e943356bb1a69c913340c6aed64b5c9d1eb92b2d722643b610fed60cfb9223fd9bba90a4216b389244feba2b7a68826cf632e7adf72c85d8a2100ef2620118796cf4a5d1f58f0106dd8c1857f143b80f88a736db71dc26ff4d3dbb51030274f331b622e56e3aefdde53d36abca41d37b9b6eae537b189a8f5f645feb621a5949ba21afa9c8499287c0197d0d1 - -COUNT=20 -L = 560 -KI = 9493030bae9d4c7b302fb40cbdc924f59f55598dd5db5a2721a5972cc4d6c0f96b8bd4e6d17770f71f1422eaa5b24589a64f2dfcd9821cd03926095a65e3e24b -IVlen = 512 -IV = 68fafc9be4634745e51d7009648c973f6ee335332d3d4ed809af943a256dfc264fe80aea0e81edea4cb62839a22cc5cc967b015f76590435430724ce6e980d6c -FixedInputDataByteLen = 51 -FixedInputData = c65c77421f226ba11c078db63043feba1efafab2147adbeb34265892cb528437b409f5d7f14a6bc64d8fed7d9694ce872b5a25 -KO = 9daa2e76e5038f9b9fbb719537c26d1dd18467606d3bdc89912d199334dcc0d5221db4e9cd48d7733af74e9f1ec723c63a0342b1eca087a68443ef70fb9aca0b8606121f8b0d - -COUNT=21 -L = 560 -KI = bab85b4fd87548d8ed27c70725d6d25f45dd8ddc8890b3813b38e94750509dc37c254daee51ed9f1032f0689a12464c5c2bc63fafd8538d8ac85108a0d99c363 -IVlen = 512 -IV = 6b72e96a3567987609b78a9327a4638d9f81c493afdc6ce4a7a386a6c3884ebb90a94890438263d601f3b96a260f10d2ae066d684bedd9e39c62524b027df976 -FixedInputDataByteLen = 51 -FixedInputData = 57556eb0a79cac76cb4a6fd605ab346e3cfcfadf995621e671a7272c3e8e3eb68f80e6f6f66e6c965ff1264cb4f6193caab65f -KO = d2cc8784520d458513bf927c9d3f4a10a2065892480dfbed9890ddcb0d75fbd3808767ef2a9878d6ddfbddebccaf3200ca634427bc4e44723e38fe1fd3b6406a6f739e59f38f - -COUNT=22 -L = 560 -KI = da3e14b045e7510b98c829c3753b91c4d19f96b0c1165e5de1111c6a91082d11fe447423dab1f472a716f420e7183185482ad781452b953a1288e45976072f5b -IVlen = 512 -IV = 13765c141009bb77a4ff363f4a8dd3dd6a09af3d0d0527f6ff24aaaae7f8012593f64d1e64cc33babbf13f670357fb6ef40a569b917a9f114a0eb7c005fd082c -FixedInputDataByteLen = 51 -FixedInputData = e83f53c2682b188b54e5f42117755e323062026f6bdb1975987a2abb49d3b2eb4ff44f35e373fa35927d615bd26b9b21e137fb -KO = 73857c319a098226f42c59c1411867cf5f49921246eae005f9a33d3493261a00b10fdb25d9e9a96a13035c8ccd8e069542425c210fc6850dc4b9cce4b99b55971a97e8d79989 - -COUNT=23 -L = 560 -KI = 4a88e5dc4d6c0fb883e2a08e07961e07c98afca27cd880cc1f2ef2e39d575a93f474c56e9e280642796a4bb052f4392afc001f70e63a69513a13f68f5e6ff5d7 -IVlen = 512 -IV = 9d2ef43851c3e5dd5d1abcfb057a087b942a4ac3852af65f522790939915dc4a99b82c6f5c6f8fedbe7718d2f31c3047213043f7ad7b529dbf7bf6d639d6c2d8 -FixedInputDataByteLen = 51 -FixedInputData = 95880117598649e40d1bf24f0c54f3261a9291d20eabae23c76395110cf1a8e13370d1667c528de4c76bdd2ea5b22dd447b873 -KO = f44933917e548dfe02dc559f14a1085ecb78b13ceae7003f6168ed572b1ba5a047ec2e623df5daadcb27feb97e783442c6f12785c0ae773ba324041324b9511d776208c760dc - -COUNT=24 -L = 560 -KI = dc0e75c9bca31ef40979308d78037910699dd6c4ec234f8443609d132aa90703d4b46f372734f945f9048ddd163e9f52006cf5fe9bf12aecba822a2ae45144c7 -IVlen = 512 -IV = 35c4ac5315bfe8343401baa15ce54a436899f234605475b16a7067a97a4f17b63e5c39751fe34345cfa1f3b491da9bc980708d1d1ddba67516edf74c68e42feb -FixedInputDataByteLen = 51 -FixedInputData = 3bbbd1643fb414623ab1c2bd39356c1d09f34e7ba79a6ed980db161ba7cf5d30496758917697475c746bb8beb189b451f3fcff -KO = ccd6e6a9cd0d4f087a96e95c028b31e4e873a8e346f56f4daf2d22fa60b34dfaaa560977565af0a4c66664f28700c8089c4fa21290552fc8e235d3148a2d94bcc66a9cfaa4dc - -COUNT=25 -L = 560 -KI = 9be1269c3a09a2c84f3961f24bbe43b1acd484ead574f5d682d346e262d6b088ac6d1fb06f6ded5b930578af90540c28794c930e8b1a0e245de8003642824f7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0e930e7596369bc8853a5194c221edfce153d32189021a72e2723339482dd9eb294576be7ba1d72b2f4ec98ef3fe88841c3422 -KO = 09902a6937a4018f076ccaccfdbc61ccfe39e5b1ec2faa500bdfc13021745f2dba50d481bfff63a4f15ce5dcb2e912cbe9ceadbfac50681b729693f3bddb218c00f46fe044b5 - -COUNT=26 -L = 560 -KI = e30a88477a8bf3f129d7d52c8eb7224b3b77a5abe6e791b466acbd713435a8442fe81fb2a7953ec7c6e318987ee853a6feeae9a3c448e72da9145832076ea207 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a87a5369366d1f4eb857bcf21b1c6334905f444b29fe258c80aaaebd5f3cbf5877171fd7552de2d3848458a743c8584bb781c0 -KO = 56058b74b16e6ae42679adf7e682dac3ab5dcb893d9306461b4b7b7c7b6e15bc9abae4b5c835dad349b0912ac017f10d5cb09da005a0fd0b52163caa581d10ec08a1685cdf00 - -COUNT=27 -L = 560 -KI = 82bf3fe08068e946c792bb7c58a47a468d6bc57c941e05ec30c0c0773a120a2e80c2dcaf3a1e360ed5ef50e016a41f21e180f6d23dc47411d407fe165ddd0536 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d89d34b7b6c5952488a266632d16fbb3bd6041139b92cef9ca13fb896f349b3d6dd201441b4a0baea19aff5c1e4dbceb1b8dc -KO = 77f3ad2012c4743247274be32b87353cb2b159ebe2168d39bec99e694fa47d59835609e176ff8c35c04e6849416a45732e6e3c023a1622aa4a6b83ec96b8d464e6961a0343e6 - -COUNT=28 -L = 560 -KI = 72b03fd6562a772e8b28034ac68abaec1ed3c467d289d59ac22236808e9fe8d0bb352f0864eb364dd8248246faac121155cebfc85ac87a03ef9f7c4f462dbe80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c71fa381ab7caf4756bf3d688ffbd502b9928b4296a626d50e8c8390d6a2ca87af083187e617cd4887c499cb7c36929ad3616 -KO = db2f8dfd2c4a320088bc508e0c8e40458b42bc2be9904f20c40aefa21c1af904dc7d57a764369dac5374e14d26970dbf95d2e2411cde00ab30de5ee9a9e3d3bdab97739cac2e - -COUNT=29 -L = 560 -KI = dfdb88b0f9ebcbdd1e671dd1709332baea305349359d557fb7ec062bf35a68db569d6e97a7443ee26f28c5d4b3e99507052b5ddf4cd99c21828de2f957a235b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1cf39a41d7630a1624bf92a12e812c0b0de286cc6b8c258413f2ed7e0d977b8b9ee66084ba64493fd66e0dfa0476af8e69524a -KO = c02e751f1deb41cab60df59ca2b0b202d081e635651c7a5941b5218d77a2e42c60928129027695decee9e30085c64551d8d21d28c3a183ae7ec04a811d0881d9372f1cbe0421 - -COUNT=30 -L = 2400 -KI = 04de684cbfbcbc8176a195a8ee325f84e870e2b66dbd1fd9308675cd68ff02485863b93a7a8680fac87023b2ded793b6dbc703752cb7423c1dfda9d4b843f556 -IVlen = 512 -IV = dd9ee6f120e79459648c318f9296394dee813dbef192c4950f98e1726589c72f554b053ab2a62fc23fce17100aad8dd607395d5a0bdb01862d0a310da11ca785 -FixedInputDataByteLen = 51 -FixedInputData = 8e25e7870117da577254697a5cae48f2ca202dd38dc8e2f7d4aa870fed2c811349ff0cd7312cf4a304593ce5c2f4c0051b648e -KO = afc3b837e18fe159fbc5104e9ea8a13692f3f30634b2289bb9a176873aa5ab5ce2800423627bbd9604bb3887b330b4eb00062ee7d587920d9b6df701e56d47c869fc13d06f1d5ab56756811051712cc300303f5c09b87ef8d68e6731cbd0f49bd6afb56f2ca00f933404996a531e848eab98c50ba7498ff48810aa03b78edd790d243ba6e76e9f24327837338f439608f730aaf8b41b45c9270afd540cabd26b3174a9a6de2287a040eca15f77953937672a34630ba3d9a147ad58d19e62aa19732acb1c462b9a787f1e3a6fa39d3f486b5c49faea30aa517c770e8eb5090b82206097164164fb32c3f7db1d6b86fa37b21b54d2db23cdebfbc61d1719c45fb5c9d72061566ed382c1d0231cc2c79e6d4682f6c54943f36dd5c12316a99cbf528a15ffb8f198232e02bb743a - -COUNT=31 -L = 2400 -KI = cbc7b7e8db5ed65a003a5f435b9d26e1047d166aff964070f76fb624921e8594184163929da07186a90ccf8603f64bdc30343956f29b8bde64bd07c9a3f32bad -IVlen = 512 -IV = 6aab433c441412efb800f1aaa39309258cd416277267530ccf4948aaaa5cd61487702478078edad76c1c32bbb2c954e3540ad03497bbe2f3d93239cbd0dcc925 -FixedInputDataByteLen = 51 -FixedInputData = 1dddf5a88078f92a15d8a8d6b562157894999e14eb17fc07b3466c927abbbe77b569431b8d1873728d4ece3aea8e581a810640 -KO = 6366e79b4973f8284d92006ab4758dc7d03be5c4f7c7e9a00afae73b6a893cec51a174d3aa97e06c96a316e74f3d9551b3077353ff6bad07c43fe0cf8759844c7e6c76f4be39487e879287275b46c8fc4f237eed973692e4e153295e60c675f339df6263ddc1cafac40df567093c59459460ed44484693af2f51ca5fbd0da910398a42a636275f0d6c1a861f58fed31626fa7c5777652e35a39e433ce7e3f39083bf36a3c0eb2c9b2abaec97ebe26a8001c629d10352857fe9daad7f415f1d05ba2e0f8cdffd31630f454df202553d9da1b47710d52732e49b4b27f82f4609e3f68071e0451c882bdd2f2df335edb2e11bafc8ba30c97d13509e480c2b460eef72ebc3ba3a6df9fe7c921db26e479d2d49ff926ff2bb7140896ccf6a5a12e9bba475ca0d3cd4374a2e653701 - -COUNT=32 -L = 2400 -KI = e660406d57a3e943334b112ba98aaba95157e4dc3ee537752e5269b84603aa094f15bd5aa44b4f7c4c685590c37ce984c93aac0c89ceaf62010da2b851b9f800 -IVlen = 512 -IV = efefeedb83e9dc711b5419c8ea2b40e3923006832a0babc4493a6c5a2859c125150e2aef45bf75a2ca6f27c6e87ba368fd1ab17356c04521a09fa59af8dbcdb6 -FixedInputDataByteLen = 51 -FixedInputData = a0c82581c8b2a73043a2d34af8f4b6cf8f15eae72d8dbcdce2b8866fc15ad1c843ce71f6c26967a45008e335dde69d11ff4547 -KO = e870e07557b8a8b4c60d824c174e43e96f86a683c97cbf2b55177e7be54a114177af1ccd8f7c6485294dab895b4c7d4a3d0ede8e33d02a8353cc164e0158877cf43b2e12bc26c0d6150e12084cb875f7f76321a3ada7c4490a7e2842adf0d4c1ff3fd95f711d3655f4a1ba2f2ec861dee8c6fb78f00986c7ee7e60518b7bf0aa22725f61f9f3a9e0883a8c811012f197a1841628bada75869e3a21a5909af1e8aaa529e252794cb5b4478da439e86606bc5fc64c875f2896fb9864c6567b563fd86602699c6b2fbf222e3d1a3713a17ef4191e831a8129fbc0ccb5d72b4e569ef6f79fd7f0dddc23b6b12f03b5480737af186d8dcf24e7abf75d5b593737ee67d39ef3b7299e884330b486e0ff9f2144d151a42f4ba1553c8ef3c51a6bc23ddc15f9df6273a59b595265fa62 - -COUNT=33 -L = 2400 -KI = 4b9d7471bd9f823d726ba42c90dec34c906e2e7f073c8c4b0f0d00019664a8f3a287e96a1f933ae1061335ce3a7d72a1fe67bc8b6e55d1e8c6b5768c43fcbb7f -IVlen = 512 -IV = 8ce19bad4be4e84c0a63ed87d0c22742aa82afb2970697b08ba6936dd266bb6b4d14fc40757cce875eb985ace31d6242faef0fd2a056d6c8e3b836a3e5d02965 -FixedInputDataByteLen = 51 -FixedInputData = e92252004ccaabaf56affbb916cd7d3a1752c693f8f7f7b2f320fb306d2f0544aa6b915f6488eb38d807a2c4b2b552f6f5b457 -KO = 874dba472d4d7e2f018a94861f5adc05827bf4cff23479b9d2b2601ee3933f3e5b0b9f644e85b51276d838dff5a640bac599e96442f5cc16758883aa1c8a3176f7bb1975c524bf29878410afc44cac3dd5fb9f5ae0e57da4160825ea7163f7de00513857b2c341aee195123a1ed83a0b7850b0ecc5e557a2eac15ae4bb076d152ca8ea54e4dd02008db98a8d10e9009be217b76d71d2b0b24e5edeaa0a6b870abab1ad8c4900ec3ef3d85135bea68976573ce22c52ae03b4d55f0609ec20b6987c38889fdb46123da48ce257878dae73d833b66d7d8aafdc8f7a7ac0aaacd45cf36e28e7997144a0f9f034c34f1ff5114f4de350d785fa3b070908bee79ae76dceeefe876b32c6e915544ee986a3c7e1488ff16bcbe7bedb68c6f6227f822ff68343082b5ae9e19c8919b593 - -COUNT=34 -L = 2400 -KI = aba1c49d4849bc911d350eb5893586d8fde8c35a7f6c321d2fa3fd577ba9f361ce83b09fdf875cebf97a4cc7bedfad8d6ba8ed3f3cf3ac8341e14077868a6449 -IVlen = 512 -IV = 9d3434d36585f80a3d70558f7f868d0e985372528ecaebd4e3a488e80a414f39d18c8913f45559ca422e91712696d9dcb89207e5f8f5e77b50f22a3f7a9f938a -FixedInputDataByteLen = 51 -FixedInputData = 6455b96e4d6b8941770e260f23966b01ed6e5b939f6379e398e3f8716fc9ec8412790af3babeaac397a83f4b3f6d93a5997e36 -KO = e9178511cb7300a2e10c1d445f2f6ccafdb866252d611040d711f678944224f57b6ef17ada4095e763e926d2c07924dfe7d431a5a2823f8fe1d2babdec9882ce3900a09aacd4119832ac0008c93e43256cd2a31bd5fea3da58b00eaac60b1a0ebaae126567d9553bd6e9bf3d8c65a0d3043156fb3909394e96f02b0f3fbbe1934d85d6458e75a63e068b8938162233723aad20a1e034dd1b4d375165eac954a1f6260904e2dce0123ae061a76ad7072df61ce21c89f1b250fbd9e0442652b3b5abb15d47a8c576ec39e24886676d5485db7d77cd569029a0ecd89aab8f216f507da7f2872046558f14a51ee65e7f206f5e9a31e04ca76b9c15e8e7db38a6cc3e606aba15e7547fd6e131c161d58a6d5355d855a63cbd025c6cb2d00b30be3984f64eb145af51acab5c44585d - -COUNT=35 -L = 2400 -KI = 77809a8b8ba1135c6d62af2a1b607921c3eb0c336ea8417105256e78d68c5d0fe61dca43b012f9d55888131ca67c0b9904be5310485a3311b34583b7f9107bdb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da5255a21f68ff13c8e69e3df755ce1b3e5ed778b23661989dddfdb9190144899f7c24634e8c865224eb4e27ff983a39901961 -KO = 885c4c118f2c5ffd7eb531e76153fd85637d47f2929459c43cea82a6e9a9b01b5dd4b44dad90080399d6cdf5a21d79e472b1ef3c6c143acf5e0e6a302a335f73767c79140da90aba3fd46c267710fae4bd1c37e763f099915032e3c7ac0a755629fa8cd9e7294813d15d288470f8136b34559067451d586b71bed9d83571e59270e6e11da664b873884d10264141e96fe81ea46cef25fc75b026a015d09810ff826188550231aa0ff50d432f73d8501158890e72b8f96a0949e310a56b3c890815cb87c5cf8cb91cc3d6fd141ce559802ac87afecff213c371125ef77775fa744f02d1039624a0d4b574cf5b9279509efd569d115cbd6ee9230b2c283bae74b1639c2e1f2a847fddd2d4a972ee9ab153fabc520ef0751f884b3cfe5d82c101d58039aefb7187f83b9a3e7744 - -COUNT=36 -L = 2400 -KI = c349460fa98fb95153ceb7d681ed6814688a0ff8dc650955b919ae3447c2bef56ef9f3899b47534e56c018bc024f4c906e9288f6e077b5d09ad1e8595b606285 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8dfeb42ed9f08b6a4deb5f2263a1359caf02b49c55077cb197dc5f79bcc3bb009973b65568d27a2b0221b771f6016426eb6584 -KO = 1b1110fd72698caab4cb1e5a9ca6303d61bf5eb5fb39498a5ae6e2c9b7f5606a97e70ddedc0d3ca6b3ec783e138c48e2e90008a30580e96e161c6cb4180041b8e089308e2fc42447a74781710801e94996f15cca5ec453a18578636172becb18cf49ee5d4ac8c528e29dd142814cee0806030ea1ab8b3ca52a2bcdbba29ddf21dc03a254d73e06dee8d33e25a01dab6bd32b7f26015973871b27ea7ef9befb46b37fdce7628b1ab5526c55c3f1f4eae4f03b79d43b345c34c5803282562cb2e512ec0578a85e7a7ac1c1e8c9f294be17e2927180e225cedfd0384331748c2158d1cfdc12b9c90ca46450a0cc3ab38f3a05b4b4c6f7cba474e9e1a72fe8f3a144d3fc482ade0c8be80a53e4e976d6132544bebb46281a949c604ab01b372f273f82c04de3e6b3930a9d4bae85 - -COUNT=37 -L = 2400 -KI = 2d25530b532bc3addfe49f0849198dd574bcd165480e14090499e5bc77d4bca4d691e2570b105ba8aa0bfd8a360d9021633b8ab0364d1722af837dc520adf060 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a3a1b8ea25216ca790e18fd9e06bc2554af21bd371bd4d718aeaa2426973619a61568da088fcd9a35764570be1ec4df08733c5 -KO = bfaa4a5031d3584b6b91142713a9720a8341a45de4ce38c63d2d9e4ff66025bef92fbf51ecb3614dd5351b511e0ccf9bba87ae9fa32401c203381038b35f5265b9c273848a44174c053a26dbc60dc8e60146c393738a0296b1514d1872094bd802e834c2082cf04f4c645c0bcab56726067303ad85866f56fa20bd6c92149e519d310425dfe6a30171d33cde335444b2bf5c375951ac6340949f302ce33088eb681c5e0b087d62c6b3d7a0ae351ed264d357251728c41b90c510b2cd7cc62f7ad33967e189f9b8b1bad9d2820bbc55977c4810eeaa33cfe2c1d5669d25c5a6087be065c11a21843079f19570eef8ec1dfa99f1b3695ffe37059d5d8463d94ec0b51ec09f349a80a7b26cab37c8c0e3dda1ba30d871b9d349cdc666d5dd7a1f4f2c18a9c8a38b7a7d3922b9ad - -COUNT=38 -L = 2400 -KI = 9fc9ea8bd1f14dc097f373ca32cea3dbb012573fe4506c32af96669cde78346e6d0c411c82817995870a2378e949e2ce33a1672cc8ea44abfc092b04ad983766 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c86e973b27956728762b3423b91c2b756a08413e0034fe5ee2806909ade0587dfb46a4b8fe597a17bc1977bf9c086aefdd1349 -KO = 6d6ca5586c91fe905ba6c61566d4e180df51e1bd51e9c95463d284083cbc94a5ceb55d60dc402488184cdced29b731a28b74c57b60f9cd69eab004d87510568b0b41883b5bfb1aee3dd38f8156b0c8817c91cb83deb9ee66e0ed3a6074899d7e6505c9e5aba90f2b0b461d705d71697d4aa633265d4ee47178ef77e09d356a05bf7f409208ed58563be96d8f62b8863df186eb34b80168b1f35bc578f636c135ba1d87f12e4cb9088d7fd759ae32c5645911895e9c3fd5fac5089729cfca1dc5c89ebb5b307b325316f812c3d545a811c2e26b8cb8d6e16abea8d20d31338c71a30b9d226e46d6c21632748c7c1e56c30f5e04feeb62612af0da0d73c849491bc33d8c01b431c801bbcccade73bd768d23f004595cf953fbd39695b0cfef1ec804c299776bb819805ceb575e - -COUNT=39 -L = 2400 -KI = be9e2bd29658740d4c1806724af3b6a3072899e1094fe1307366f3f5d58e7b088d70f80076bb4d333195d13d016ede326e055e1237b33226f5a16c4763d55c4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c1221eb54993c37fba5a2f1e74186d97cb7ba5a3de1fadfa2f8d7a38c53ef7c6d6608411805e8dbd51d24095914df72997bcfc -KO = 29de4e4a097091db409d35342eaf134951e1651e32467263638ed7056141d2615a594d6a0e2cdf25aee680bb96dea6d394063db60cf7088c211f8df3df666419f4a9dc560f0a82ffa7aee173adf1a49054b0aea611aee78cb679ea863a8c33a9a8da6b990e7ace3f3f6f87464bb317c638cf21fd20f13794f4218463082e385c8b4eefedffb853a245752af5f9e337dfd0219c0fcae9d7cc6ce03aca2789e029a6903ad4c746cf6fb586fc8a924c30922d35d0c631664c81ecf1034b6de2674106edc3d149e7f7d07ef59d8a59896edb6536dbb9cb77390cff6f2e709fb91b98240dcbced8255b3d24faeee666f02c7a8edcff6625a694aa237b9a619c19d448e7bfdc3617c112442b3e635c62b6b2e5062c65238146f997b6bbdfa652f3b91323a1bc5ed442233e35e2fa88 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 32491d4d0979d339c62a5c458d146236aa68de2edc4bd7d8f0061b6d3d628854dd1ed27d8b97d258e51be7e75697b2d73b6e5dbe52843055606f30fbbb92ea79 -IVlen = 512 -IV = 4b5db00fc306e3c204f53bd3a41ed45e616292f8a0c363eda76d79ad6bae6a6556b525ffb34c086f8deccf9740e13fe54838fe2db0194f6634a52c0ea9f4958a -FixedInputDataByteLen = 51 -FixedInputData = 339b7479168e15bab7da157a31c32dbfbc94ea3c10aa4503dd4425d75526914caa0c06a93b805c8acf81055534551c2c793b18 -KO = 306ee48f3c56165fd9fab7dae50248fef2845a6e9981bcaa8e06a1651c894a8e50a62a51aa6c4dcde11d86a2c1540564a994905075e29005a38d7a8b6cdec7d4 - -COUNT=1 -L = 512 -KI = c799f7cd846778d13f62c26650d305ff33f8508de6583ffe1057081d208fc0a57c7ec4d3181cc827db11d16c7f48b89cc0f336682c67807079791da2eb34c31f -IVlen = 512 -IV = a8651ff7983343944224724016252dbd701753acf8b67fcefacd834f3c4398879e0caa3fea8938fcd3cd4ed2dd98b7296b150b64196daeaeec201ca2a822a589 -FixedInputDataByteLen = 51 -FixedInputData = dd1bec6e1cb4d9e0e39ad37abad146b51665a21b718e5b04046f4a8035ef87ff6be5a317e8592e6746494b14ebedc03c43e462 -KO = 0e48a10fc062dc2fe2c7696ea23489a347647c39c418be3548cb62916de5a6e29f6ba5dcc1d797d56c37be34b5bada3be470946b3509130567259c14b5539196 - -COUNT=2 -L = 512 -KI = b2163978d27ea6f880ffa2f6e597b5739033b603325c43e3663e881a6e2c4241522b73fecc3f627e357cdcc20785c29c8a1e639636c93ac68e19adebdc4a3ee8 -IVlen = 512 -IV = a4f26a80bf48dda9262b55a145e005b53512a5f8a5a7aaf490e451e76224350611d7eb270836acfa880e434431509636d6aeaf0f4ba291caa5318d3916009476 -FixedInputDataByteLen = 51 -FixedInputData = 02756d32726fb708a9d0951a75f7246a752d56a86cdc759eab24a0aed2b0837884d86ec1be2344edae6d7cd0ce5baffae6807a -KO = 82ad51ae57c14842755fdb26ec590106300fd17f4a3d1ac27a1d60827e15e17903303f405663223ffe120c519d467a07d04430808ba8fd2ece788d28dda4a41b - -COUNT=3 -L = 512 -KI = f5d62bb6c870c1fb91cef0d0e85a21ea4f7d6a492a9c8fcf0f48b6fb3eec08e42197969ffbb98c80f740ae27d8a7f59152102d5e38863cb5d916e9950c8ad939 -IVlen = 512 -IV = e71f7bd08224de4a82e267068131bd9108e689a54f9f277e8626a62380f7cdba4cd4149816d5d1a6ae6d3dd4c1e41b481832058a312924b70e2817425f883211 -FixedInputDataByteLen = 51 -FixedInputData = 52dbb82c6cc3de121230420bfa4855d7eeedd35b675a6524de1c640debbfcbfe5ad0da6160b7543bcbaa93dcdab9467ec9306c -KO = 76e0ffb56f52cb74094dc110a28f009fa940d7295816e83078b4e7f2909d86372928469d3abd34e04e6303ef33da2c4bf7624ed179c69c34682ddd7ce98e21d4 - -COUNT=4 -L = 512 -KI = 370233e6122691d00c9b958018a91a8514ff6e9640972869e2a20ee417dff4cd6b85e01e8a86d00df047c9e39e7f65416e9c54f97af39c90a3a3a7c98d7696a3 -IVlen = 512 -IV = 3ac58453abdd67fd184c9e13d29180d8146b9f5e452feff7e00ddcfc5f9f6996d7c68872a569c62fa2171814f56def2c85bcd3381dd1ed27287ac86be31ee951 -FixedInputDataByteLen = 51 -FixedInputData = f190c9e3c8ff5bf62536d59e5bfe82f192765711de39ea95235b0daeb7158bbe19c990886ebe3b90407da88502d76b9ba18582 -KO = 26c3dd39be86368d9348d01855cd85361e73299293c2e004ad6137c30e7c17ebe815a322a15e21d31366f9af898ebbc8a98b312119785f35f66e4de5e773621c - -COUNT=5 -L = 512 -KI = 56cd8f1835edff59fbda710de93ac6e262891335943e7a54b96668e2103e9a28286e9c19b2aeceec17b47c531991a6cded8c4baae57649ad93525c25eecac74f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc5a2f7a1abbe2d1f912d24410d8007df56b3752120ce3e42a4c6813a3e43d05bfaa0e45ee29e9c49525a8b4e031fc870b47cf -KO = 6456770b01f33224866eb4b973b666acd10b5aee2796302abf0a23eefc6172db92e7d1d4ebbdfd7dac246f1ba6a625fc482f0673e4e6ea681d3e965dbd067db9 - -COUNT=6 -L = 512 -KI = 84f4b9269faa9f79728b04dae7dace4de489b2d6bdee6fb7f88eebf0ddb04d0ecc02e8e953e145796b4cb99e9f74e8bd3b0544a71e7494c7084557b14a7fe826 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d3c32cf090efb6c1357f5267c23dbef026672e9918b004de45d1c0fd499816d9327eecde381d20742c3c802fc12d65524ce2c3 -KO = c9e1dbdef67a83a9cff27843c45ac95b37f4428586a38af1de429af951c39b454962a07630f25591de5cf87ea1b178ae88d07d788facc4c2d70736f0b397ec5e - -COUNT=7 -L = 512 -KI = b218a1fef2078d803553ac9cd2f5945929d0ab60ed9c620157d3f60b57afc4a834a0d200a7ab43639eff7b5f9a258642ae3edb13aec75b72e2574b9b123387ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 951f13081f56873e6ce94c85f0a46119239197e670e27c4afe3c84d01d195992a104c7ab77aeed77997c356a58d9daf038653d -KO = 8e10ef7129020814ad05066990aa189cd20ffef1381db89c7043ace7b7a6596aa882cbe9b14b8c506b92d39a3616837b8f5ad93916530566e22c3620978aca7d - -COUNT=8 -L = 512 -KI = ba95781852fd13bd0e5a76d5eae6cbe1a585a2a2754f27bf0d883600f07fa19eea9056bdeb8baff2fe9c810855bd4fc19a993482d51609e0a158780d42f69425 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d8061cb5105108e119b52f8b8a39024a93dbabc4df8afe3f2449f12f4391a2c01afee6905f64cb94ad256003f2e4e5531a91ba -KO = a330a83c6b294c8449c6d9917230201b4cdf5ee20f43e9706e02f0d5e964a1000b3985421fd95fce3d67c0d7b1a5616f6dbb8b7a9b8731670130b0a7546cfa81 - -COUNT=9 -L = 512 -KI = d271d188402180b8c96b81dbb2475ddd48a6dbbc40c4b5226decfd87ba9bde08e2ef9d4b117ecdc669436e16195463b901329c5cc905ad08cc8a6b38aeead4e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c444ceb5303f3e2354eda9b49770869f247e533912bf980e6d57fe8ed34ad188c286ab79db8eab8ae0d60eda5049b7fa14845 -KO = da75e8b301f8802b54f6c864422b5dd044eecc7452808cc6bd90483a616d3b224e2f2f8334a6ef45bd7494359a5b3628299c02527b2d49720a1c1e10a4afcfb5 - -COUNT=10 -L = 2048 -KI = b0e3d5801527f2035d2865ff493aae38525e1a4d060f2d8fee4d5b331bc090d4d8a16025d0411b5ea5881767fd44f8886778529d9f5fb02fddfe91fa1091f90e -IVlen = 512 -IV = a6811dd8c60a33b433a69b53249aa7f7dbe1b03325a178dbd5af2939e6d5a721313d815bbbf822d2150f40e7b7d58c6d1f763cd29f4284f14bf02a0616428755 -FixedInputDataByteLen = 51 -FixedInputData = 972042bea842ed389399c1a5ce89fb2e5f65a971481f2c02bad332e0b7bf28644d5a940f1f1c450d9aedeac94b2ae7f819271e -KO = af58623cdbc865e207596ce034cc72aa78404eb35efdf0f600557253c65a04d8836f607b9896e8c96177bf425b0327800def246dca72fdcc12ad6a89d71c4b0dec02142afa2bf863aa86350432c8d7ba5fbbcaa99264a7fcb0bcef4a7bdf025df5cc281ec8c2173127cf1b4f4699d966546aabec937d1496577b8afce03bee56fb0b1ecc62718b8c4e206409b3be1277b576d50119003b4e081b2e16b1f2602fa282d4772f45a00ab25bb8518751dfc53b7be2286c5068dd98fa6a0bf9e35375c5e9ddbe8795506aa518e4565f35a8f3c4c03dcdecb3d09dae58f944f27cc106a3d92c056dac9180953a3c7fcfb0d7cca69d89814468d186fa9af8fe1298d3fd - -COUNT=11 -L = 2048 -KI = fcac78603c476196d5412f477076675737609974229011bb73f17e8aee75422483552bae4a7679ca86fe40b210f104e3c1f8aa5ed5faf3cc5385f26e8d55b1ef -IVlen = 512 -IV = d767995e828c1a5360c0207baaaee8d2702e6aba9c8f8b7d3c0922bdece61a526a5818345e6083a8a9a869c1c0d7a7904a18468ecc9f6c52301f9451f90c69bc -FixedInputDataByteLen = 51 -FixedInputData = 8c37e02524381f6c63013d41e19fdf9dd7cf8c6a7743d5e75ad978470f42863469679c504c4bea87acc86df2a90561307efb84 -KO = f4dffd8a8411466737ff356eb511e9175021ec387357b7d5d450808dcce79db818723ac530125ad74c374e39df217b11bb0dec94beda8d23d70aba5abf17ec79df34d3836a93b22a5970ae390be3744452485f1d9880a801698ebeabb05a328cdf12fed5c4147f9b183b3f75e603cd796318506141d7aee90ccfa108c7ae514cf8a0eae902a30407c80da39bb189ff231b414e9c3ee739f4af8fa883760f1b11108860530cd8a0e1ff21ca710ad3a480f1d65f0dcfdf2a51c6894e228a77c774765f537ccb46d6a8329fb0ff9b06f795d7f617346e1cc29f66b4dd481d1a8c07441e95e767a1a982298bca5174e62732507570e7fa78b75ecf12ab2dacf5b3bf - -COUNT=12 -L = 2048 -KI = 692601b9aa1b796dd54386d4a32080435827921bffa195f6c1db7a7ef47f6de268708bde25d6a6dd1c44757fc469ba1ffa333f3d26d0bacbcbff6bd489391c41 -IVlen = 512 -IV = cae25eea6e146146f7d4a77132fe5ea9667e19e9466d6145b77dac4f019ce371b4c464283cc55bef755703b31b86d43482834e42c9b248dddc7726ebb7ceeee2 -FixedInputDataByteLen = 51 -FixedInputData = 0082334afc8af51972c0fc3433c62f97d0c08380efc0547480e9a7332933e6c73656bf3954b7f70f203efb75d36d532c590078 -KO = 0581b8f07e98585b3fb91c9ce0f98bfe56a839ca3a09471f7c5cd9db3d14912e2d371ee4b89dda0b57a62bd9d992477ca428c9b18e63e72405663f357b26861403256392f10dd5ec942f3f99d5eb15d2bd0451517e9e6357872f6ae493bd63c4868d86619d68048a2527537a2e4a8622c3d473badf9e6040cd880129e11584ff8bef4d7d80af224555cb4d09b4ee92b7daa8e9158c17719b6628e01989410c3086bf47c82f897969f96a9878480a1505c597bae697d129baaabb7ee36c9cecef25becae294096887f81e91d0dbb8ca921c775bc9ed64bdab43d89321f8a81711166c33d20c974842d1d52dcaca658cdcca667f4af1b9736de5d57679dca422b0 - -COUNT=13 -L = 2048 -KI = f53efb9d6c70ac2a62f8f918c7900cac35ea984e0ed9bd06b7772c6ff8bda00461ebddd822c5dac43761a73707f7704e4c69150f1ef58c1405842b8a65d6b639 -IVlen = 512 -IV = e7d2d32964a4f1194858efbcf568d978032053bc294d4e9e8298eee08a0c0f8f4afc2851304d980b06cb5ace4d94c2a6ef042f9d3a08497caf2a164aca4b1333 -FixedInputDataByteLen = 51 -FixedInputData = 30714c54a982df0ec3564d41baf557c4046451e79667c5f28a802efb36b180405dbe81c6554518763ad603e80e3f7bdbef225b -KO = 8d9b1d2d0db16b3824ccdbc96514ebc94f61d479900ffa6bb007a44928f4324b62442ed50a792c5ec232a39b55e1ef2ecf681ea63054697530889f88a576dff82a5868f6e203d551cb3a36f7841e01f0df1c729addf2a7b001d5989ef8407e730b2ce528fb21bf00ec85f95137018db19ba4408f6a9943cb6ee4450987d350adc257dc60bea3bc6f02493caa20978400238b5c8cffe2e36cbc3b177ed70b13bcc125adea00cd3b5e07f7317d795b63b72700fa06fe251be36c2968fbd29ea06c09e6ea19a11b494a8bdb2a5c90d1e11c74970d0617307048e3705a0626c0482b16a67daea31e5e7b37e80023fa4c71468b1ecab66738822e3d470c8d80c59827 - -COUNT=14 -L = 2048 -KI = 83b0f0820a289596cc6a43af950cb103fd42ac2296f8b2f86bf1474e37547f8f1717922857358258d9098fa838b46ad017e361792c4e52317b9bde50b3adf644 -IVlen = 512 -IV = a17445f4dd1fbfa4d1ee3aed7ce2b830e10f48bc1a70c1317b232c35ce5c23863d48c5bf3b2eb8dd95ae96c03ce5893458e9b76527660265a108f1b914e5a2a4 -FixedInputDataByteLen = 51 -FixedInputData = ce1cd06505cdfb09617c677279300759618e8948206287e073083be902682294e190a9944b35e6605e0fa8ed4c0df46d02171d -KO = 974e2236a407e600d2fbfdc16ed80f6dc30b8b0c6a7ab094cf07df0ad8ac113ff7d953f1f9c8f2a6d0d14ce2bed3a6491b9062d6dacd930a64c97908fa42bc29a2060a5f645e2c6057b2efe90b01e3c8d5a537f302cf961a91eba13c6bdc9fa1e68f8f9fc5651f0e6cb8eab955c1e82dff02384b398153fc005f99db5a4752cc8268ff98e141c30b8083f1b7a6bdc1caab7240b922c48c4888d8d7badad34c1b8a10d4fe3cbee99c01ed36f34e2e4059b448cb5eebd0d53d1bd84ea0f366955eb8869339349717c69bb4d5c677ebcd34f7431553410991cd6e21bbf5aac90132144a0f4610a49a0d6356c911691868bd077c6f5242d8180934d271d18063a342 - -COUNT=15 -L = 2048 -KI = 9770496459a53ea6c917b0b330e7471bca69da076c86e11746f4d910b195ac1146f156a6469ee51c98a98073b1e61016c478c02ab8006dd65589006c7b41d9d6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33e708a6b24eae827c7b52b1e6ea7a4c504d80d8a9457d7ae8c800229ffc3fb5d3d7d7c17bad3b0177b07a2a845b0c35ff46bd -KO = ffba9b505e363e07ec5cc651e86061a5f64602d25348c3e565353e0b3a62b30b38a50e21a838cc126d76cac2d6499a51ff23ebeaf49240a62f39e97ffc2696b73c0c775bde64b62b47d571b191692a17790e22c883f8aaa2dff719632fcf78356230685a1ed3ffde9e3a223e8e65865e57763106bb3d28aecb3be7ebc43af58aca98fb72f70fea0487d0dbf7f2b6db8c2bd6240a68a62d258c1fcf563adec344ced02b29925f4a5471a0f77d957ec1fe2b50fe0c86f1fc726a609c5cd2e94331143e42176cc8ed80ada411d39db66002d4d25878bf6474fa3c6393a3fd277d947f638475dfda01518662b96d88a27f7b24eadccd286afcfb102079054035bf5d - -COUNT=16 -L = 2048 -KI = d3a1982924209eaccd9aca97838b07d75b5ea274b6c1798eab052233c9c881f6ec141ab0962836385beba67e9d9cdb67c3a4fc4f4734806830c5cfc7143bb696 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 39a2adbc5f404076606aab67047bd6c86095080935d83e5e86a22a68088ca3e00b433d713d4c0566058ad2d41c522b667def6f -KO = b3aac1a182e0f83986ba750dfff4a4a6a5d9cc5d40c4fa374d2a59511d736e75958b269084dcfda967c0eef303bc167a11ec2d96a23504c71221072941470a2e1e87559b1b3ff7ef78f0ea90240d76dedd9630aa8a2c743ae54d6b894c7c50e5a43009b2f5b70788c3bfff58bdaf5e75220c4fb2e84b1eed28d6475bf06e5deadead107638bb834d075143a014bd2d87ca3ef8a81e4933d18e8ca961370201d13d34fe055d6169fabba78918dc79d35853f3f7ec9d17ed6a45c618e557c7e1ed7d0d14e0543bc56b59f30123943300c613fe8ad983d8bd069f61a3b2492570a19633356a5520228996f891e803a6cf24da1e8d91ae6a769c1bffe25d71b806af - -COUNT=17 -L = 2048 -KI = 7c747a83966125efaea748cb450f8ad1e1a24866b4e9673cf9e76f39dba6bd9cec97b3467fe2bc347fc80c5dc5d254505ed62643650030d7c7a38075d044c489 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d93c92cfc09f475a45b5d3842b97866716782a9bc15dd8a46751fbc0dae8ba0d819bb11ddc9104e1ef4163e94a5a0d562b7d4 -KO = f1aaf1f1402b88a7e6ab64b0347fa343fbc3061513630f69220b6ed0f8a2f870f871e6b4d2db3ebb0b480c0a81ce72b44d693722baea6a1f3ca75da80c0b6d39d31e11877b59ba660b98951d07311161f3a0c3579bec07745a31461a8221af1395c318ef4082867a74d1df085a9c841e3b909032a8ba532d320d7608ce66736622f63b928f2a799796990a844152ecbe0a5027a9c4488a16bedd24eac3fe579ee72126c6e0579151c87e05c7d3476c9abae2d44872cd2a488493ca03b531b70d5488a0fe59446bbd81565c7357c4ff7e2f2fe28afcdeabdcbffc3f48fa3dd70bf350c4bb7b4f7453380a36f7ed74ee63f7c97346578e86f8d21304115b397a5c - -COUNT=18 -L = 2048 -KI = 6ab1862a1e12d39bac8502531f52259661989929028e198259ce7da795012ecc14047efe8cc3034942dcd4a823de357e1f1c89ebdaf296cd82a8811a75d59a9d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9663d6f2feb3b587208454e4f55d3245ab1b63978ee3db8753a02d37b844d55f53c12908cb1211a578f491f867b299c7be5dd7 -KO = d826cac240f8b0ebb22e1a0f7e2eb74f9be7304c6c434c977ec040d745f0cffe283c1d94eabc93f6ecc4d7f07c4d170c12978f11fc2eacfbdb65e3c82c0a9b46e464b0ddc0b48268539bac5b6324803caf6a40c9706d8ef70758c4e1ff005b103851ee7fa6346245ab5c966e928f81c22cce3d583bd4238ecd893a473126e1567b888c525a7a9e9ff932fe8cefd03b6910e0517bca853e8d44617cdb54fbb0af330ed2aaa916925fb653f03cbec0996efb9a2eb3c4d577b449ca47eb5427a8621518e377295aca36f031e85578edd902c219927606189fa95ec70f2f755843110bf3c6d35338528b989656582e8b91057b5bc841cc1d0d21be1feaddd4a662e0 - -COUNT=19 -L = 2048 -KI = 85fad47b46d9a47619f2bb4989d396fd8df3305ec458d590b3f0c06eedfc428d55aaa0390812d4f03e1ddf037bb10f02159cb0bf5baf931505d68c33b95eaaa0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 200029f78f5ecb7ed0f835083d44de93fd8c8ff41ec2f396d3375e0087ff505857039e46ca0629d8a403409413d03ed6421250 -KO = 7d64b3d6fcfd65b2f4622a5f42d757002b779042c9a5b210805c7609b8c80d264f37ca7e4564ea3e98bf77b40ea32d7903c4042a5d2736d1fde86975eb2150f3a9fb3d5b6ff4b4c6f5ed169fb18c8c16efb0b9c68d4db52510d6e67cdc0670662f53fee881d4002178b430c10af551acd28ce728144191eaa41508dcd6334b138fd7b7134386100dacc761890ad8cf0a15e8bb73557f457356f9171d5b56e91c8d3e0d58ab775454a736a53790c326fcfb3d7d380e7c86117a003f4237b5f364b734297c8ae8ce9e329f8593773e254693002c43df45d2369de5e851e94f8582485c645c56878fb8ee689be47cd726cd6887344faf3cdeb2fb28ce9bfddec092 - -COUNT=20 -L = 560 -KI = e4d50610d7169f199c77a0d87e85a2428e4ddd5c24635dac36644bc47bd4a1ed6e37559b052f55750ac17bd4846df4bd58cea2935fc9225530772e5b65b9e001 -IVlen = 512 -IV = e812a8c6ee9208777321a65ad677ddf0d3631e56f4413fb299cda69e3fa85c062929fcb6d123b18e550cf480a7af7f513df0c1508e2c068953d3b82ff1ae808e -FixedInputDataByteLen = 51 -FixedInputData = a01dbe541a1d8473fafc60c6b307d59dff8a2d70dfa270c4fe1394d5eac1ab5ca2b1d3c8fb8c304e2da4fd4626ab57f4dd64ec -KO = ddad33683f6cb3173b0f444da02f9ffb87e0cd7532c90bff3787f64c5ada5e10507a60c62f32cf0a17e0a4a2490d2e828aa61fe0e593d5d876ae97a5f2e7900594ee7d5c568d - -COUNT=21 -L = 560 -KI = 7743ec8889332f74e04c1b1e4cd3b5db38d1c9c1ef0bfe81ecc3040cc1421cc3fc247ea5a88e987fc1d9c972093baffa73b62ca9a957c173d48784bf9fd30336 -IVlen = 512 -IV = c97e094296049ddfb2dfe22bfe6d2614569f1b9e9b43f3b434b3b93326ae9e6c9283998beabaac0574fc802c82112069db579fc45cbd69fe2611a82c07ed92c2 -FixedInputDataByteLen = 51 -FixedInputData = 56f4cff901d99fcd1da6b078397db99929d83c25770eced53deae741a5d15c2d9463b00f7886cfac345602b8a9f0ecd512c00c -KO = 89bc1ed79ab98fe4601e70ad8480b86e8ebfdc1ba852bfbe8c76fac3a17b79a91e997cd312fe00740eb4bc9c63f0056b0218f25b3ea6c257deb6c7d92c3bd8cd4c9a349c6cc0 - -COUNT=22 -L = 560 -KI = 5bc2f7b7e7ef71b417d8a71dd3e2efbf60f8e9fa344ce1118ca8d4f8fef0484d1f93f5a0e524adc2940f2adab60b81afa2495823ae644e915fa03226dadd23a0 -IVlen = 512 -IV = 95a33f2982ff0e97f9f5c7f1498f8748c24e663d5ec9042ce4ff17c2828f2481b549aeef5fec405f51682ebb9e60289da6b4254b7e10ce2a68012eee2b1d82cc -FixedInputDataByteLen = 51 -FixedInputData = 93beeba90da273961fa3d183f8b2560debda36716174dacf52a09c0c564cad856456f045dbea0627aa33aa1a7209355180bf07 -KO = 2f7698f99e6d82692154b39f4d801f029bb907aef1e40cc672019e4a8798277abeaffbf55e3f43e05b908cc55b262cffe82373c6637609c251aa3307852bbdcfb5ac684dd75c - -COUNT=23 -L = 560 -KI = fc3388d21fdac7c3a06a78fe63865a6c55226e826914850c0266572443e113c67f81347fc6da8e0b2def11988d3488986de2a4da4de6fb099565033d35cd6f39 -IVlen = 512 -IV = 641147ec91ef55691366d7f94dbebb1d835f3e11d2708d24d52dc8e586d3af9d39f07988050c34d66f6ba676bbfa2e7a5caa56ef0669a56124eb9bd169779f8a -FixedInputDataByteLen = 51 -FixedInputData = 976204084d06b51244d145547904954eaa60dbe2db9ae22b7ab9a2b83b9d767deee0cff2324ffc8add4693eb15deb4df917bad -KO = b1d9d8c48250402ecca9913ca7d6a537c81bbd5abaf55dc8bc028891be08e2dbca214a136b188bed87bcc7418a7921ae23d198132805fe59a49f9e5e1da29d1201cacb3f91b3 - -COUNT=24 -L = 560 -KI = c8d81d3596f3e8803bc0ed1675b977e3406420b2cc0a3f29949da985aa043ebf0355ac6d2536800f9902d6e11a2d4b2e68fc52606d9eac15f63ea38fce70f28b -IVlen = 512 -IV = 7290dbda1cf350d49c4423e215d420d55bdb7a9336b018f1e0e6041845b91d39751af3637f5054e63909dd5521bceb691abb807bbe1e82a96a002a0263be13bd -FixedInputDataByteLen = 51 -FixedInputData = 70b6a93de60b7f202f5aaf46ade2e0e3f4d699cac4db99bb089b1901b95ddda06e2d3aad3c0f4fcc38556407fc7647f37104bd -KO = 3a9a9f5246b639b792408385e31b7825e549781a44c9eb5eb4f72af2b60e2c32df7fe9a8d4b132277d594497effe5da77a9a0feaf178407c5937f68b16840e0322484721585f - -COUNT=25 -L = 560 -KI = d1280e29916820a324f4d7d72a9470661d89e81d563522e34c470eb98bd9b3e6910538414aca57794d98e6d95e876ebd2913dc08e7a6516efda771049f81ab1f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 341754006d445fa0a8177b5aac2c941e28f34ef8a787d91573270ccaaeeb021df1cf2c810be932800a767ef06089646fd9f0b5 -KO = 5c9f625d280079f6269ab30a175ea36f9c6526755df3396f48413e332878294e15abbede86e5d91c11f6cbf84e748dc1c84b2d99e58718544dd3396cc77dad63ce99ca2d4892 - -COUNT=26 -L = 560 -KI = e5b80c96bef4e2854127ab13d098960eddfecbd3bc2acd4ac9edab74a1de19437ad5685b9ab2d96da9dd31db35ebb392ea677a67f6d9bbeefce8c60f6325412e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8e1ce6f8fba5096323bd2e095377d4ead515909584418dfdc76b8d679761f5064b9a70b9c7696eaec983f4727c4446552144c8 -KO = 0859d70c08981c26b991a9fe41bb43bdad62c1db5c6c49dd15d5f1d3b1379600ef165b63775d2c13e541e2c5c293d06128ed38dacb7a1f34c63cd21e314ec72a3875de14a13a - -COUNT=27 -L = 560 -KI = 997f0915e91edf893b3054cda1c40f9b4d56d279d4d2d9f4ff50bda8784233ebd567962526b17b2085a4cd76a5e9d164f6951a952375bea9f57d4bff3e81abcc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 047221b79109d722ce31b8316656aec1c077370342e098dc5a7794f923c4bb3688ac00a959bad0d5b56f16c27bc9b0a9df4eb5 -KO = e9675f4e19339932de697e66cf09a64f198fe0e102aeb906f2b844c0b7924757b64d5ededc65cf8fee4fc8435cadc32b8cb18f3c13a952c25da973f80f5932af9e031d42f41b - -COUNT=28 -L = 560 -KI = 692fe67db2e79ff0e988326f24516a4ce8e9a9da89ce73514ce73f84094d2a5e6c4fc822770cc4f8b76cb5d25361c813f89aa9e421e2db2cb1e9957e6d6293aa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3822f2e830ffa898cc038547dee615d8e03737394fc60d7f78f94b17f1f03c94677b167ada6ab21e9f5362dbe73d6b6e9495ec -KO = f6c9e65996a5273d08d9d2ce9378dad3f94e919e08182ce1bfa44656a7fb7a3170389c2a2fc2920b8e3a3925c8859f756aa6c61ddcb27a6200beb15e009dd38b7707bf137c77 - -COUNT=29 -L = 560 -KI = 2e070565ac7064de6bf68bec84de41979403b181ae5426728b83ea56961c5b0fa3b5f29970c6d8c5e83d7e9165a3015397f2bf05a7ee33bf2e5560d3f47dd4f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cc932ad23f002374fcd45d4b1e8adcf20d46b84ea483fd032edac0e1148e9a4f80a9f817dded386b1131c5bd276b1848d863f -KO = 2e2d96944f396799fe71ab69430f2e92608a578da2915821a6546e5e10971a76cc7fc8ac3e35fbb2f35b48ae5c80825f59a837afe8739f1e5bbb8cf48bc34d12ec6339c6652a - -COUNT=30 -L = 2400 -KI = 2da9265e294883c47f97ba60c04b3842543730391884554ea4fde38d04ca68a4865022ad5751fd5ff23a92c6f8b5eb82e5498dadf7d979d33c58dcc1f8a42133 -IVlen = 512 -IV = 88c75096d53b167b8846bd5c4e3c03320a88983ae3c23516bc09c0fa720959d9f20958653e3e4c39a5dfcd1abc904e407d690c3feeb1307902346e796da0a7d5 -FixedInputDataByteLen = 51 -FixedInputData = da0356574fe9026a5dab37aca12918f06180fe2a48826bd8bd0922c3a629cb70b1d4fda6e9120ba5531fcfaaba5dc1237dcc2d -KO = bb8fe3cfbe7dafba80acb46c197c8bd570e06a487c8aa4d28ffa6de230f652bb04768769ad221bf3d38b5c5a66585521d2f19281ea7e57d799802f9ac7cbe7e049ef14c8cb3146ad3cac6f98a242d6577d16be9b5a6cec6d40de90d91b35d23015b8003283b241e9ee4925de66a6716f1fa1e0fa41242d83241c67a9e345579c1efa890fe1abd815170c2cc45cc54126fec34a46d1c270cccc52ac114b988c9b82b28de50b2f44328bffba69894b494e5b3424a6126a9d8dc3b85efa4dd500bcf45d0fe208eba29281334158c8f4bb62e0f8c185ae2907e5f2a7c1aa3272e7eb57fccd215a4b2d11b944369d153b249312eb4b5c834767216f7c168b8f6f90962c8bd83c3c9d8dd547c0b801956fa96b189f1fb0ee10284d09942fd76159015ad682fbcabbb0d3f0c4253e51 - -COUNT=31 -L = 2400 -KI = 635d9fb6ee7d4b3d5e602c6f0db9f69b53d9fadb17932d8de10dfb41fa84339e32e37328d89a2b75b331be3fc0626e7e5ae30a7fb0799e6454e4105baa0bad8b -IVlen = 512 -IV = 5c36ddcaef3286d6a7a5487b05fb98b0af2abb45a19e0b274e367b9cf5c3491cfb165b45f21e06e9c248387b1dff451fd6fe94eeb7a263c2b9356e25f2665cbb -FixedInputDataByteLen = 51 -FixedInputData = 675fb12772ea52a9c92a32dfbf8e00ef57cc46b486a4eb380d346a4e003625d34fd227b979cfad000dcc8b078df94bddf51880 -KO = 87f24f0bd04c389ef3bba21546475c74dcaa36aebf2c98b313bc78ae4f8b3ee32e2b40df3d88df0d43d69b506a2a0b636c8a8b716f5c0408700d4d46c53fd0f4c233c3adf0b286a879162f195f56351ccd6f21fee2fec81dc6f165fe5df203f0d2f1ac3c1bcb7dcd4bc7d14d5f82be811318f0f116cfe41ff2ea16d1384b737dfa76121c32438884bf686b7730f9f65d05c7badc75c16c985fbad7bb90f3e2be1cd766fe3b88c23476cbed659ee024830e5310aa393a9a9f5de1813a657f03328eaeac92a44828731c48960745d5fa8dd941f2439db1f16a6f01b4719259a7d30526fdc662c60d34fef124331a4b52f5bfa5667be45e1ac14748387519b24453fa0cee0ad40adf011f993ed661e15725cdcc8ed9a23a6698cf5fa8043c1dcf484b1fd7cd04e414f450e764d6 - -COUNT=32 -L = 2400 -KI = f1ac2e5689f95303fb457f3ed1c019b9036bddb81902e0da792fba6bb5cd052a1fa0785c7571fc766de2de21361b7ab9e885bb9e3b02e342be99f3c02824e23d -IVlen = 512 -IV = 6353b17c1e33047bad0e941cc1926f560473d6554b473eeb0b5b53ad1d83523bc2c8e20d46169c978590d7b0d31e79f1c5236e36a35ddb887a3bc8d191475188 -FixedInputDataByteLen = 51 -FixedInputData = 296e0083c53d42f201345ca3f6b7209d556cdcf305ca1cdc77ab88beb68f694397b150fdbd5bcbb26c05c307b607aed25d7f5a -KO = 14dd23c3d944b63a3603ba369a08c0932f5e1f74708d2b799ab5bb806e70bd2bd73d0832268c1a01a8e9aac6ab4e2b6e7a989632cc5300236725386b5834ee6cb429c725e5c12d5f09f3e748b2d84fbc6785bd5a829d9ac39aff9c89aa4418e5d7c28d96342c3ce5527f87a03c01898240f7c4e5287f1962167035d78f331f7e2e2ba2568a19767e6c5fc75c43262b270d080eb5ac254bc14075c1d813cf9eb9322c2ed2646a0bbd7bb58c54ab5c02b1dbe486ed6aaeeccbb9a906273be3d27ccef5aeea2fd7db75d33211f31d56c23e02a58aa354a16c65d9a21b418150ab5aba9d948238cb16ad0f4ce45421600f6d8f13ffe7ad8867a3664ea7537d46291d473d219df25592ef0a07b6fde8bf96aa595cfd3c1a2f70bf5dab794c862b91db9235a4ab609d55a761c5c768 - -COUNT=33 -L = 2400 -KI = 908e7bb13e2434dd8b46f592be527327ba4d3ab6c18309efb2d35e3bfbb49c0e59d1435191a8df1549baabcb0abe503524fd1b005113db562f93a41d102315e9 -IVlen = 512 -IV = b75de619a4b53c02c6b1b4d609e67c14fcf14a8de8239bff415e8cae65bc6d9f54bcffa46962afa3e68dc10ea919ad2e4c8555a072c0dea00802d010ae7334ca -FixedInputDataByteLen = 51 -FixedInputData = 9f13d53706f1823d5624dd4aeee41d5b8aa4ffee4ce8bdcb7763ec856f3862e5964b9b2a2b35f74f56b029720fbd75d86f3515 -KO = 9446d7951da42f88f9dba2969733c41750678307b9936ba9abc65e068dc210ff85febb265858d1031885758eeea2e31797f4329cab30c82a6a57358df0f2b72ad051f19068636bb37be7a41eaa80d3d8444e0218d5c56a414d7c8a4b2c178f3b7c8eb745c29bdc55fbd9f0b441dfcfedabfa17b3da4f2249ba3f9a57d79089883b232de46ea5b507148d04a8f9a08aae0079756bdf5b89a506c09aa7bf6954f57ce17507f549fc797573e1330f897fe790934262029e449e0e17b296467adaff579f97980b50aa319272f4624991a15426af3a9aaf4c9bde42c81e447c4acbf61f19083db953a157dc0e499992e0ccb4d214fb46a1a962344c4a541c1d73df1844cf908ed151fb9b9bc839e718f29465a12b54f083c25b514b4a08bbe58768823b100efd4bd8fc8c24e98681 - -COUNT=34 -L = 2400 -KI = e9220a48521963223285ced8b47824797c4f911b944a58d0d923b137463027d72840b6336d8fe3265eeb4e6cc90f62c1e778c9d1dc995a070bd04fc66fd9e0fb -IVlen = 512 -IV = 757014fa34d4f6128db332c6bfd8950b60d2e43e13c908484a4d797a662f191697217ca0541d43dfc087a0cc3c323d2fa279ddfb69ed1eabfe67571c8b606440 -FixedInputDataByteLen = 51 -FixedInputData = 96da16f971812413162fdbda62721299a5c8d9850bf5be3bcde12c303820af4f2964e4c48e13891acedbb228ea232b299a0897 -KO = 828d4fbe122f8d7cdd45c15d7f8fdbc250035fb3c7b22d54c78c15cd5aec0c8eb90cbb86dbc4b68ba34ff2fe207749d5737b49976a92b6ef33b97023ae801dbe337ace45185f03f02cf2c444da55785c69a1b44b251a0a3745409b4e01e989e325de27156fd73c8262fb040870354b461d3d48b5cbf4c320740a67657d61f3087f8350592330eaf3145c36768469b8eab9f5601cbae9c92419379ea3a8b75a30cec0b2bcd974ec34118c6321f2808ddc6cf55f4ca2a4405e545dc21b952acd4f83d1560ac58e9f797e9b0b581fee3ac436c033062097dfc4cf6ca60293963dc036e33dffae961940472f0438d4cd4da2e2aa03a4776beb21513937a45bb1b8aa575114cf1266232a748711f49687558a3481ed5210b52f2db4c0d4253ce0110f8960f87f1c337c0ea1d3e0f5 - -COUNT=35 -L = 2400 -KI = 88015b081e8b58d2916f3df341c238883a1eff5131984614b5e92f2c98c6fce6bfdceed772bc0dda784f2f9122fae645b39c1427753fca0e9df28aad2ef742fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2a436893bca09584b0584b4a39532ee4f6798cbaf64324862f52ad714dc4e9f16a172e6cd710010e3ad9b3ed83b89d8a66eaa -KO = 722d8282c2f11bb16a61917a94eb87775abafe34174c8580ed4e05621d224192d0201c080cedb6edeb13562643d2bc756a368833556d6dd6c49b866af4fcb0d7f6b4f92fc71c25927decb1baff70f45c7574af8bbfc27c2d4b407964e9a0f4cc8a2b1776ca9697f316326c992d171e06fea01497026b39e7139ef4c649e9d04fdfb95b52c90f9e0084a0f94d7a91e30878c2c289abb19c44d57df9defcd974686f79a853c23abf0214895aedac25b1d10e863a8ce5a6ea7f4b28c95a54e4a7b05272aa2accca6e7046f42f669cfc460c5f0ec5ddff0570d85df0ca596c653bf913b3ea28fce258b808ba1e650abf324aa8a7b032142bc2dccca6836529499b952c61bd93b70e582f7c19272c030e0534a6630b64e104b660377cf963531c8699037e869cf0dec57a4454cdcc - -COUNT=36 -L = 2400 -KI = 23e0ad226c15b6a91c7f86b6ce1da39a022aa504b18c93962c761a34cfdb50002f22ca05e2fd678037dbb97d376e6a798aa4c6d686f286b990dacd019214a679 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8070bdec24e5934f650935a33d9f5aa047ed8b4c8b47804fa04d78dff0075819f0bcd4a61bd4deb53263c37e9501a65dfcfe64 -KO = d88bbc38866b00e16f60f9d89b3f0fc583140ced000c14714cf21831e765d1f8fc1780792929091de0e56846d9fa496b23eb8c4a4eec94ec0e29a6a163cd719b5548a9ab35ff96ee7dfc3d785896cc04f005e4f4712e005235c9e4ea4e3361b65b00566fed4a3e0566a6ba52b1d01585c9e55e9dccc933a1aed5779d940b368913e8d724c0950d671ae033da73249e0f3860c8b497017b33e849989ab114b08f79e0a529ba429771f3000d64012d49889150c7536abf24e13774848aaee35ed8e73e52ae6120b2fd0c2131df0a35592d0b6892cdd98eeacd1141de27938ae12c06ec60a8332eaadff100be2cf2a71407904bb52cb685e7fb36678687485abdb4a8cf2cc98d979e296b33eb771c874d9f51898c7c3e7a33e11d7e33d47c232df2b33580fb66e59a2665054616 - -COUNT=37 -L = 2400 -KI = 552f2f1c74897bf0d31248214e37edac6480c4ffffab66df954463089bf0669258329374c119807678a5ccd0a96117182af3203773f511f5e5f84e7494124d24 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 58c6be338e28f141c8b01a4a7701f444ee6515d5d4f942737a64275856d5f0ea3809bb4d49b3ab1a74019b7f8a17da50947918 -KO = 59ee0eed91631c7acfd06f0dfd36c504d144982faa03b4cd9d098e253dc754346057260f5d838082e692d8ca2e2ef0fd1381c1d8d4714a7ff73908d9463bc5b1d31ca2254d30574609f87eec0f2966eae72595b6022b1d1275ee65fcf812fc66a73b42844d7dcd3ae90aa44d73117b64e1dc5aa75ef4efd39ea0baf136ab3086c73ddf3365d22cf13bb28061d62380a8fe5a95eb395304173ad12c81ba41a36ba0b0fc99cb19482a9ea2b153951e2b3d0e2f2079450aa748b134bcd5243d6f4612efb6bd30751b3c42bc760a50b6a5862c43a208d200db07eb7fa1a698df5950551d6832f06281de6e9beb5d5c5be701b103c36879f30a0919eb72a4de1778f38f804de73e3cc7be48fcd88f3cc3dc10398fdc9cdad55b47164b33e9c2f018f8c1e7f892032ec52f09c55696 - -COUNT=38 -L = 2400 -KI = a6ad65c0838ef6c35a5b33da064c692e4a61dc7a35dee3ec6a437993f543e935a986cfd5b587f852803ab73acc0f3a579e2d121503a323dbea15d98f7385de0a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 627cb8a64e7b89026143e36165b7be425ec8db505dc31d9c1c57cce04a66faadc079e06bb2368a2638697b1cfc800e36f5bcd7 -KO = 28af852d5c871f634eeca96aef124b8e296aeb15fff3c2ec6689a0acc8110c2fc159e30509ca46c2c38e99c7e795605f5b19cb486b98aeb7174dd78e75b93c1aaa820d5ad66304f5314f75f4a58f3899f7397cc549ddb9cc630fdddad2751996d3ad8bfb100f6427efd4d8a177e11f3ed82e6522f388eccc68339f1973d94b08da57ee61b895fb3aedc4c97a28b81382404dfadad7f82cd28ab21779022500d537b9a0caae122f27468132f3e863d82dcbbbc403875933ee4f83144bfb95dd9cc483133a088588db590b8ed996d1d063cbcefb4539439dfd32ad1b659994825435b69938372e02666f8f026cf30637f6d777ca80db21b860e98712427108f4ea653e2523969a70e12ab66d885e60098ed58e52895a1be4241b4604163936645583c3eab8b1c5fc63133d3cc4 - -COUNT=39 -L = 2400 -KI = 732bd2c4a97de232020736437077d2d04d1a96726eb59627f214a5e043e3d67862b53a3f42acdb7c0e2b0f3e82c73be285082c180042dc43464cdbac9633d91e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d3545d9dbe640cfadab5fcf92e174fac603a5324fef1328066e1d18395b70dbd535183ea3492b3afdc23f542726c10f6778a0 -KO = d160a395d7d551a6dfc81e5b93826924936b5b1f83c76277db83b0c1bcf4eba90cd9114e2763942921bdd3e3ca76244fd97cb5df58b914aff21bb113ada0c8852262d6c13061b2b98768230531fc8f0527c4284f915da8cdb6b4fcc7331a52295cae61a493145d831f702b97d733a73dfaa5f27df508714194f3aec2b63c67ecd244a51e45003041555fe40a0454e6b95703e79e8f9b481b3f5880643213fceca8d616362a88c7c154caa1b3dcf04d62eccf8d69ac8c695777cb4b972965f5c59461d8375fbd12f0d79b09ee625c6d081b977ee25c129c9f2f1e3019702c7886760e4b38ffb79ba783c848b883d7f5801ead1d727c9ad62b9ca37c7050a524299dc7ae2fcc8908f73528b15c2fadd6aa90c0e6eeeeb2d991d9399f9cb98df976ae37c505622cd0ba6fd09fdf - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 94b688ae021be0b20a38fc347692cd9237831c71ad3a7313b3e06866a1b15232e9e7ba13f2c8594ee2b83b8fe937c0b09a4a131ddb496d0696d50c9688fb3065 -IVlen = 512 -IV = c9a9a00981eaf9060719989a16a857dcc9c2ef577a6320589dbd0c8897ebf33452486030482125f9b7b8c5c936c1fc7f24f3ed714f7a759cd035a8599ec3ccf9 -FixedInputDataByteLen = 51 -FixedInputData = 7e900a81717472fd8dea6fb63604baf51fc463f7980f3643a9c47cad2128ed0c27c46efb33f96014b3f8c62e6f2ef0bad055d5 -KO = 4f6d2880328123420a451253737a3881c4689d3f2f2cf98ca64313e162ab9a4dea7567f832acf88b92083f33e7d637788653389f18817090f094bc0461df985f - -COUNT=1 -L = 512 -KI = 7850f74ac84774aae3c2e9c365dfb6cd8af1ecedabd862b7642bab31d618a5cc9d698ac7a93c05eff33bddda1e78b1a6aa24e6697bb161a9a81dce4176b121e5 -IVlen = 512 -IV = 7fad89f2f5f925240b8ddf7bcd01165a00bc55e6ebadda1d5a11b8fb18e39ab3e950b393f05df04aea19241b4393650b023f568c63e45dcee20b4f8b701fb297 -FixedInputDataByteLen = 51 -FixedInputData = a48fde32bfc8c0c0b0395622dc60f5961eef3a24e78865fa7af57816e5ed8f550bde939810ffa2fa7e38f88a1890a8dbcd0e8d -KO = 4bd49dc1a5cabdb9ff8ddef13254a1fd243b3ebcc3c3c14156a2aa4afb16f2b7c3888bcef787e4a966dad9dd2232a00496e503a2e9a0bfcc781b11dbcb3758ef - -COUNT=2 -L = 512 -KI = 145616c4497a18c7afc6a9b40696f735a0691418a6a61031501a705f247c94962e129be514e3c9c82fd2096f1e4e2d78dca21c1f200d30ce3c4b8d4499e97385 -IVlen = 512 -IV = fa78aadf3a025e135cf3ac92499196f55c2465eb56d0d3e68007859420a32960e0420ef648ef2ce5b01ecbbaa5bb8a270a553d1ba654d4853731a14d406be19a -FixedInputDataByteLen = 51 -FixedInputData = 5a4ef2f34aa6cd5c1057c95a866051e16edc83f57ee9603c381f89851b00920cae9e0cffb120cbc88ee2189255b22d57426bc2 -KO = 6b891d88c0c49e27e0d6968ff2fc1217972d447c0f276a8a4b8ec27622a61f321539944e55a13e5c5cc74aac55b8a2fe8fb1cf1aabf6d9e1ba1221906cb0b83e - -COUNT=3 -L = 512 -KI = 486d698f3149765ec0f6f1d2f009e17e94401f913d1eeb2e2a59130fd12908cea72f655d96aba00cf636158f94d90520139b7f1f0df59c2d31e85c2fc90ab6bc -IVlen = 512 -IV = 0e55fcb32a26c6852da9aed08e1bca1b19c98577ee3cc9bab0a3fd9f9816351c980ddfb7a13d17b100033990397388517ad6f6f656ecb84242da213c2b783b3f -FixedInputDataByteLen = 51 -FixedInputData = 5df07fe14d2e487607cf1d7d1b3b349bf0c95196c09c33ac14251904ac60fb1e53a8c728405fc40e2d623c0467316d3bbee9ff -KO = 17be7196a0e331ea187c81f4bd08fd0c3c07ac6284b13681ce98a4f0eff65cb30f00b3bc3819fc6ce641a1ce2296abac771b508494c93befe50f28d476a5c774 - -COUNT=4 -L = 512 -KI = 95f17dafa020fbd8be7b6bdb86cba4fc64701f99367ca2e9762bc64ada7196888f32d35c34ebc64ed6125403de22a2313dcb5fea38f1d3a54d47587518013fa4 -IVlen = 512 -IV = a58d544ee2b0022906a1285d8a8ee641df6ff5b29bb18d8af9b6a82f932fbe905a9bf30fa9bd0859983777dec0193dd5d367b381198ffea848d2ff571dbf30a9 -FixedInputDataByteLen = 51 -FixedInputData = 8d9611a59e37aff4817592941d7c43cc5b18288a2c56b817c9ae94757d187a25930f743d722dad397098186587ba7104986753 -KO = 1b79bdeadd62678aed40b8ff96d45f798005a55fab1cb72237a9b3ba66cb5d8e7bd8f8d7727272f9c7e375d75e28f5bb019cd7577a4868bfa016e68fa8aa8a46 - -COUNT=5 -L = 512 -KI = e0707b3cadbf2955c2fc94a8a87d3d9d498acda496ab3c6a0424a0cb9f7b29b8d0520b53edf718858d561cac7c821e01d9e17be8ff508f913ad2e007db3059db -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 10cf0b2456fec3d12c48f013d429e8da45f01d199bd624e47af6dc33ccc698e277bb3d2405f458090796ece5a84a57c276f274 -KO = 269dea553604a60c64e4e00d280f725d8762f336d43cfa600ac9d244d054df50e3cd615d13d56026729e77db4ae6e5fa3e6fa6ac16a43e7eea0ffc2f28707dd2 - -COUNT=6 -L = 512 -KI = 1dfe6349997e789b83507f67e4a55abff61e9d37d72dab45b50484e8f7d282c8b7f76a4f9d0da7e0d87ddacca3ade8e3af0dd94a219c0b9c4a0bf9be51bf6a8e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65af48b78f12f4b649b443a19efaade4d3bde6b1b3ed3fdb32c367cc2bd0c84b8e2c7a1c4a3f986b2a5a2b9e56cdb25223b896 -KO = 62fa00f97e4c476cb190928c7de296dd03bfab2b3f913d33dd9a7f1b81741ab89644b2f864387a5fda27227a4baf0506f513e5245597fd9ee9288163346435d0 - -COUNT=7 -L = 512 -KI = 0d971596adeb22ce3b4d7e337e331d0bf7b35b9ff5ee2438503490d1881b736c4e226b173476b3083c56e56f1fd3657290b8c7057e551fa0341de76f016e0450 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 139fdba3d08b84cdc314f0717099f0df4925e8b9b2cbcdfca71b5c35ded941304fe29f5e016ad9c37d3bf4953d60055668c5dd -KO = 6026c0d62100b4dcc91c5b467f1333d29b26494cf3e4f663637d347ef3be95feaba51c14f595106b151789e45bbb2eb262051a58bd333c8f44462e22587ed465 - -COUNT=8 -L = 512 -KI = dc42d939d068d665cc2d5f3cf563284e5f6900d152c9401f1250f3525888cea2679f2f64351073b88e8de67490e4c3d7a8139addf363788657d0ae2f7c2e7d86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 05d9e62831c13863a4f7fae824cdbef312f22f69ddacd4369a626ef7947d3622eddbb197b890059c517e8e04ffb2881b6b1486 -KO = e2993dcd7680369ffc6057caec8bed05f4f71f92cfb9909201d94fb803c23f4697cb01340fb289a2e4e9c371dee31a7d07c2d4171ee6f99afe80dd983a7d4d50 - -COUNT=9 -L = 512 -KI = 9d375df03f4dbb95460d7aec010436c0d7ea90e10b1eeb9cf62faa4bdee4563206ddd5dc0ebb3ced1d254362592b8d6ade136050ecca1b3feae168d5bd256f99 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c6bd969b1a52943842c55319bbe610137cb8955ef13b12b9350f7d22f307fbca9048ac52f946d7749f2c5259f7dc856b71b047 -KO = cf28f2b1e0c108cddbad1fdf6141ace4e60b486d08eeeb72d7a7100aa44fcde7f21eafb8c349da032962bd9cc66d970632b8188736ef90e36253c8ce269b187b - -COUNT=10 -L = 2048 -KI = 16071d6bb591be7a2ac4523dc0d6dc6abdc0fb84c05913014ffd2b98310b9073e0e4b00f35f720f4a72d2a000bffe9be9569ece3db68f94fc37f27ae56e058ce -IVlen = 512 -IV = 0b120b5f7f36fe6a612dbe119b230fd4a56301412659d7b6d7b4b06234e5d821eb708e1d192f6e91da79a9d9a2739f6a4f6c7407bd160ebb5964a5b66040d03a -FixedInputDataByteLen = 51 -FixedInputData = 16f943e4b29a6b5bb00910c89550c92d997401759ae6e10e8f2a98080784d5409e601c1a922da612fa7d02532a71567f781ab6 -KO = 1bdf77a5bebf36746aa8b1ddc1a5ceecef93c28629522f58f0c3ac93422f55aad1850744c37996b3e482ad92c5bd19e4e8ecf3ee4132b40078fe57dbfefb0d39485eca3f116c33667eb6e51e9fe204987e76d904ec0ac6602960805a8ff57e6592cbb72d2384f37565d80a864ba23a3637bb63cc8e29b93192bae279c2d4cbebc9fde81651fe998972763096ecb201858a44da68b6d35b155508b527b2c076ecad1ad276de081fdf9572d2e03a351b0e4d5c3a562ac01e1dca94706eface95ee3149c988efeb707dd149901235fbfd044fbeb0a523177520db7c5b2582ab3019376b797ded2ede88210ee676336de10e8035b6ce6c9d3f518c9e46ff1edc2e5d - -COUNT=11 -L = 2048 -KI = fc97c370c4c3a4d885e4f3f5fc4058f8d587f544fa8e3312d5ded8a4fc9854d2dfa75231ea40d4e8af017c4b8b153cfe711d9b1a543f8675e019f63835115c0f -IVlen = 512 -IV = 10f064b5074053d976990b753841d1b06311b2b19aa4e93cff4b32c24bc9ab3fd5ef8fbb4b214f38be64b797889ea21bc5c948d34e90737b714a8d3687449430 -FixedInputDataByteLen = 51 -FixedInputData = 0a3fabc7b0c8cff99c63838f556df6161c9f60f800252c01a5261cf0c03dd2fb31adb4d8518175b803c3290c8732d89c350de9 -KO = 71d3ba49e3cbdcc8e8b3de9b969e81c8de301f8915abd17cea57d25a7a6aebbb5fdedd102091c22e76a82bea26a30c1be1ffc86c908e445b499225c5daa0c782a438a9360227f9c2070b97740522c270f8b6b99aa058684e3c9321a1e12bf3a7f82b55de0eec46a913276c23d070522995d878ad45822b34943b772254869a4d92eee7ef8e9999ff7585cef245fcc5ae3bcc95dbf8b1bb72f46c6c237657ab489582583d6317adaa02db08c39c4f95fa625ce8bc2228653921157434defa5f071c959380d2a87047c9e7b8eda19504597916b4ab6f6f4502fcc9c7d18bfed7c49f65a0658c013c9b3e4dd34f2dd63d793d76d3872fd158616005f4430b8783ee - -COUNT=12 -L = 2048 -KI = e5c4512e099e64f24ae4ab3d879a6c564f1650bfc6c59f98bcc2e0d8a82b22dcdd32dca66224b19e071fc593267aa96a7772b3d66957ffe7a2b386424135339c -IVlen = 512 -IV = 319fe505471851f07cc3cbc3b527b20ce56aee34f4458b64df138eb809f2691ca6a66c991c8d3554a85fb866410d51c8aa3d3d2b7585b18357acaa3df638c27f -FixedInputDataByteLen = 51 -FixedInputData = 304345a8dfe702afbf115897fae3ad74e3f715bf4efa6327341ace5ebb9a7cacae2ad6372f5ce334fe309c2ee8d283eae08d80 -KO = bedeca9f8d43de62709c8c803fb8e8c5d8080955e671ae8369b6ac54cbf809adae24c015e091c59e515afeda39f2d6434fbdc9830be8b27ad01bf967aa76329e05220ddf9d1eb5d46c2a47a870f20bbe93ba2e95a0a72ee2b66d68fb2348ee4fb9d7c69d3041283ace266db10719cf272a6ee5ef011edc2ed04a368a088e7e969086e3a8b839299fc51ec59e83cc3a4b4c8e72867356d65b92a0c8c006b0fb5996203c436a09e63fc14fde3bf951faf0a40f4da2e2a1dcbe84e44ef813d328761fbe6b5facffcbf5d601f0e77a90f8e0df17d2d4729beac6b3d93384853f298b132ca91ecc867da38c607cabd35152d0773bec8e3dde3b09001c8deaf0ddc17d - -COUNT=13 -L = 2048 -KI = 12d571f006e36bf374d3e39b205321805094a4e8c2ecb2216271cab1982564b338240e5854f5b99b0df7db837c4a4fe56d477c67a06bdd1023f306a0c94505f2 -IVlen = 512 -IV = e59ab57d749265434a48de29b5424486fafbd7d6eb0e15206cb8793be9b107cef4347e2bc2755f938779166eda69a296fcb63806f83fdcd844a6fa5bc2c4b9eb -FixedInputDataByteLen = 51 -FixedInputData = 19b8a936a4c1d8f2d751657a72853bf68e0578e77c3b90dc592f6e0531e1a25d3a8589d41cee69e294062ec64ea3cd4c44de0a -KO = 1f4a25627f67728d617e5bf3c6cd758136e812247f5e7887fcbd340c767fbac268ef1e89e116c555c319d780c50a889461639d7efca624ef53f557b468dcf2cea245b643f2270e39a5ba240176f3fe202881fd6d939de2107adecc4329601da2dcf73bab1917877bd24c8df707ba882adfc71e3ebad66e54450e97fce2cd0c8a34c9d098dffd04d20c0d52378b4b6e11c4ec8b84de6abc1aa5b1c0322f44a21d4e60e560953b56741f491d9ca431cc3d90b71ffe1f8afa8f0eebe7e625ccc9c379d8803148a4a8d46e257fa95d11e5a4f0d465bb2eb610d798ec19f3f4c7d26abceecf277428e19a14e5c144c8f6af79e9a3e252a9bed295b5198c86afdb4284 - -COUNT=14 -L = 2048 -KI = 2412c315c36cd44d9302e1a87e44d66f33de5cc418dc5e301affa845f46415240099cf5a00e4ef13cfdecdadb9c3af889d5bc9c830d2fe5a11a28cb05d0e2a30 -IVlen = 512 -IV = aa6f0aa985278e0e4a52fe9644bf31fe64da1b6bb4779082d3d6b858fb6b44fef320e8da622b25025ae4608cb79651a4c309200be61fe0d36e7d3da782f12827 -FixedInputDataByteLen = 51 -FixedInputData = 5068d85c81b3357ecea860067f665e89cae2c046fe07312d39e9817921b684f926e4dc6fa0a2c1ba0350dfe44e23f2246d8e88 -KO = 9ed54e08ff071a5bcd53ecc4bfa28cefb82d33b231442d1cab0d03b0249717d6e0d4e15633ff42c14a32daf1bb3cd3e51925319d9a16bd2d0883284ac9347de00334371c91d234388c36d0632fb1fca8e611d671f5bce77dde226f1290ac228f9f40372468ca99f2a87e7219a8765fcafe52ac84b7556b57bcce4505e8dfa719fc22e6da9d70bbf75a2a0469111c0b760d8a0cde139f25ad8d794f83869f3aa92064b65afa26c953647d2b1115d311ac533dee1b2f0a8489ef1fb40edf571999681110bdaa350279f96a3463eb3ea1aadef6f95a9cd747b36cbde6f9ec754d07cf74b0a66e295b0df860454fb38fc3940648a3f1184d1d5439e2f979d6e13778 - -COUNT=15 -L = 2048 -KI = 6a1e5684456dd1b1d87f9dbd59a7e1c97407dcbb6eb8d913eb2365dd509ee673069a554b1e9fd5403022ad981a9744d356f75faf05dd467bbc41568f2cf693b6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f96fff9a689f6fd4be62d5557a96a9d872d02282f79f2549820fe9e95c2cab30ee7ee56f7c452fc81025cec357ff05d3ff20bc -KO = a59de5f2322a428ef46bc96e475d66a7944bfcf5807f3bc0c83b119c82e958e682250056b91faf254b8945573f91f4c516267251edd8d46a2ab166c22c7f16d990ccbe32234f6219e49dbbdad273d1d95e5d99f63dfde1a8ea9e7599aa89a9a8ce1edaec236ca95b332e9df24ff49d9375b2ddc0773fcf89e31842f010a5b77b7aa1c8b1387423e9fab2c2858cdca8e6bf9920520336813c6765691964645f87ef8419957ebcce84b688c58939eecedc5aabf17ac66750654739d6703e3d61972c76dcf5c89e94b63775d86a2823e1f3eb961852c9c8d442eaddb4179dcba2cccb505c347a2716048eb4031ff55280dff0e479820570b317ea63af47da4dc590 - -COUNT=16 -L = 2048 -KI = d9c8ddd864c7e0755a7f7f7b392ab22ef5bb4b74baedaa3f0b78e34b678c5f39121595490e6543a408d10baf9503521585874d61579d3ae834dd5ae66f792381 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dfad4de6f68fc0fa888fd52ba7699382d3189086eae58646687e06887c582a25088331c556621b0bde66193d94a727529253fe -KO = 02556d125c6e15484a5648d894806b958d9c03d5f899d2dfe39beab36c5d3f6e1ca88835ba644b7fe74f720bb267caa45029d23c18b63997b68e9168d8e32ba40fa20359cf4bbbd46f654c40213af12f219e986557e1ded217f7820ae22513fac1aac44722b4c20332360d4d65d747bcb2d3ad4bc7cb17bc3cbcc9b57cac159c5caceb587006da6b7dd4005df0b44501cb3f9e78e02c206d35fc11af66d4248ab5e3d2b901bbaa4308bdcefc20560514235b9f4ad69b63db0e46b237b350200f0e84e34ff45b4bdf9e4b4e2392f588563c28d4a239e0ae041cf4963458ae9d9bda73a137f50b32dab89aa264fe49fe113e248d0fc016c4f8ed32d71de78e1766 - -COUNT=17 -L = 2048 -KI = 5a0728fa1766db0b95d740915e29dc32f823040461cbb722486fbecb6a5e8a0644517690337bc3ef865958c2f54b73315ec80790e8f54bdc3df5b9f87f0eb841 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d982ac81470bbf4eb3edf0053a26d89fc355802084a9d14e4de74c506bd1b415df4619e00ff226b1b82a2d7c03b3292beaa7b -KO = b972455498eb5fa9b95fde459c0c3d94d199347012ee49b7b061111b7c85077f49fd8d619fe8c5231db5e5b7029f967232c6c403fc57c73bef11311f49c3846e27b8465acc098a684f9b67f6ff67710f16ccf9387e018e27423cca5a6b2170d4f43b73ec707a52acd477fedbc902d565f040f0f737b95f569695e0ed7fc6b8aa2aa85d125e982abc9d74eb19b4241b0335f0c0a77cf5c7baf9c77d5929eaea3ad91902a0b3613da443754d58534c0bffae7b7171af6bafd9c72dbd720bccf157c261870a9c78e94e9d1879173e79240d84a63dbc3be49d7d375e583d40c7632d98369868cb7a4d9770e9bd9ad9db57c31666032877cbd24fccd5f290104af5cf - -COUNT=18 -L = 2048 -KI = 3e96ad99f54920890d697e1971ecabb0c43e179769ee963119a9343f7c341b15d1f7d5580e4fc000b5c25718b3767921e295c12fc73a3e1e7a1f260db7db8829 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6909adfd2db360b140ad043f84fefc44cc6cefa5581b694d5221ddea0f470d5e1500a00dd9ca64d1f84ac0c1baf8fa8d8667e -KO = 019a1ca962661b7a035b1f24855c7726af986435dcc869ff199f7a8d7e5f3e98cc69ea7ae1ae6fa3ff59f8b15a166a1049a3cfafe71e6479e677c9f03311618fba0ac483faca517e26789cb41df596d12f66cfba4bfa570909baa86c90219139fd6f7ac37bce0a7928abbed571da08d5f4a3ed569d001c144cad224e672666c0bd981d37948f913cc38db47196dbc1b4e67e43b654241d6480700fdb99883041af90707ad13f211e39cfedc383235e02a412fe1455f3d2a2a198690b742de4ede22f7ccdcdba95587073cd976249055cd4bf45251c0604eb94912030ad6f3eca44aece3f23a53d2f0110d3a5fc8b0c3a9acd45d55aeb1a23249535c611398e3a - -COUNT=19 -L = 2048 -KI = 00b134085699c6761ad5446a1cbc3e1e8437a232487df14c64645a5d49e1da0d1ef7d0a6668335941d80b309656fcc477ec46e8b90dbd436295406a0265c19fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 853314652f6155bd51d5726cad72225c4a0af31e984d6fc05eeb8d1dbd46ed76986d87805dbfd5330822b72ddee85ebf779a58 -KO = 6544441638e9633e09982d428f269e9279816ba95d3f26577daca0acbf247fb5981bfdafe20a4e15e6603d6560f8d08443bd0b73442568f60a50ccd5878288410ee0368272d0a257a0f1a9c86fd28d121f1ac0b8dfbf639b10082153606c99333149a3566476a4715af21a4d9efa2c8217cf1d2a66bb10ada442c0f9d69b3f46c9c459c55a9ff1b5c6a291f2fd771b799d5ed0400f6958c3779277a190a182cd2af80ac6b423de53565ac8e17c22f958b713cfa2356ae01c5b91818fa45601e6099062172abc03d656d410098e9a2513a2bdaac0c30d7c161d9e755410feab4c02ffbd964dc5a3fb82f220ba073cfe0a549fa15a043997573ff248ce1d1ac458 - -COUNT=20 -L = 560 -KI = 24c8c7b652ccd015a564093bde488dfc15765ecc32a4c5f60b63ef0f558a5d6a7c09de181e3f346a86a937687bf6adec2aacf4eb1623d3ec01cf1ab0454f4c0e -IVlen = 512 -IV = c04ee534520b1b74f92ef9dfbd65c6eb919f8b217f59089d5111aeb90a51e55906742cb7fda72063dba3679cd8e04efd064b7652a9703e58a38a21c5dd029783 -FixedInputDataByteLen = 51 -FixedInputData = c76072d7a7a11fe799b757f1574da1554c87a12cc2e94166a5de90974e8c445bfb3ed16cf26cde54882d1f32aec5148c8c9f68 -KO = 0a89185b6b79ec36f6126a3c8eb519a9c1b7823f144b0b181482678918db06a2fba81d74b974a4e9bbfe6ea9da5113f388d1635d2b3c890e9e5429544a1289afbdab5a125042 - -COUNT=21 -L = 560 -KI = 8aae92a21e2f4285f0adc1d0de26c72ec4a39e5c7978ea84c0c5343e92e20156a4d10d47c349bd01433774f962f1783f6352e92b4925c622087d614dacc4dc96 -IVlen = 512 -IV = 6d2d3fde9a7dd77c2ac647d17418a6c916e6b0e2d19e300b851102f865d0f405f20fbe2342d75962eb52e8f835455275c30749dede47591f92614bc6986d6647 -FixedInputDataByteLen = 51 -FixedInputData = e43b1643cd482a554a968e9ca5af4feb855770e5b193fe5c6344079876cc5a1e10d3a37467deeeac302b83a23cab7598b381fd -KO = 7647546282cffee2e63c8ccc83aade23dd680537d5c0568fa79f71fd47cd17256adea675fbf714d2d8fba489d2dbbe5c9d8a2894d4f6dee6ea2fc1d5377176c22abb0b988acf - -COUNT=22 -L = 560 -KI = c437b45ff216919eecd34c75344508184e11fc76d581f924e36af8b85f67be859c6548eb05f106ffa966e8bdbf7a4f5f978e72734e59bbd685b9f6ce2fc60cee -IVlen = 512 -IV = 3d642cd24154986e7090d29783884863bf48ec888460d3174cc44442f00adc2dcfdb335c2a5b350af357fdc37076ae625c116c9fd6b6f86d37cf12f6dd097a38 -FixedInputDataByteLen = 51 -FixedInputData = aa8739e5f10cdd619b628aa792a7be0dee0a50212c2672064db37de09e0692dec728043a1204e810cdd803796e801844f47cdf -KO = ac244c8f265ad6fa8700d8cd62909598c2546de4c4e590bb359fa8581765238131f404df04ae315bc9aa6645d639ad32cd6f33e887488dc310e45dcb5a510cc0edf10dd70200 - -COUNT=23 -L = 560 -KI = 061049e1493694232a3d31228adcc4477b459492025c1c451bdb2cd504872de8f75a11428cf0ea2d4255e34d259d721ac7b9114b13aab0e3efd8f0a0ad75fd2c -IVlen = 512 -IV = 60f96d0ceb2d228820343ba93c642b3c899af12e949ef51f7775011a00f42dcc19175c342999c57631f5edc3d35042a42dbb5fa4c3cdefd0dc84938fdbf5f207 -FixedInputDataByteLen = 51 -FixedInputData = 51afc2a9e0d87c107f660549f02127afe3da04d324ea18089cf0bb9fbb325efb2955526fa3cf7268408ab360579de43ea2e660 -KO = 664bd9b10c1d947d0af77833117170fc8c645f0118ce879eb9e4a7a3f32dff0df6e9add5d1d4bd91ef5c94918906eb2692b5200a2a8a4fdf8ac373aa405c9ee43b4baf2c7da0 - -COUNT=24 -L = 560 -KI = f722dba7ad65572c4ae88c3539e726cd7d1e13b1cad0c927b5dcb902e2a3c308ac3467ac2dff2d2434c354d856216c6ce3c9606816118910c4771f03000944e6 -IVlen = 512 -IV = 50cbfeeef075b4037fd65d8c304f982c00f07be9c02ce8266a1faf7dd2e0917aebca6eaaefe05b4da35722e84acd30458924416aea2ee37d17d95a1c1aae039c -FixedInputDataByteLen = 51 -FixedInputData = bb6bb19edacd6d777d2f464b4743b349fae1c4757fa5740204a37f9a1c84a94323dcb0f19d947afb5439d4dc00526282afbcf6 -KO = e90b9351ce5129e52f24725ee00d95fc93c0f61b6f55ce2ee3c9bf53628be0b2748c8fc912c093f0c36d03d2720f9ee7265df613cfec6d9187bf2b9d0ddc27adf5fb059befbf - -COUNT=25 -L = 560 -KI = 54cee063223bc089bf2025c2d80f46c30d365919a049a3d60713f7467e00b259bc81e18e4afebbab380f5d26c3d8f635193bd0a109f216e074d02330cda6fdae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 73ac61103a3fb7b1109a55b469c0e7534ab8da2b5314a8bd8daea3ce53a4731c26756c73b7573df8183f8ad5a00d916c9622a4 -KO = 005fc5b1579a18bf4b6ccdd66db1e64f16046efd3242edb1107ace5ee15603ec60ef9e0a1fad6907e1e5f7bc5589c1d892bbe2ca9ae4ccc1846f55e7ebbb3b1d8923db2871e7 - -COUNT=26 -L = 560 -KI = 56e6132ed27e6db9f20fc6d7b4dec52a826c29b56aedeae4462ae0b6eb463f9389241da6565c4998569c7a9af3667f9c048320a1d09f7d27212179c758289904 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5c25a533c881714057905b96481719d7f0eb1c2117195ec634758cfd0eedd8706f1ee24c3b18ed06020067b431143de18405a8 -KO = c9563367e66b552a44919a341d297498d16d6ec571bfb844fa4129e0ae382f703e89d4c936b554489329eb65973c8162ee71f670a10b230e0070f1a2a0dc2c642714c993531e - -COUNT=27 -L = 560 -KI = dd24b385108c26b36f56ede83d43b3fc1af733d70a6ffea90b286c89b1308e41ec81c1681ee566f7dee66f9dc3d4147f8d92cf5280e25ff0fffa9e87321267a9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 052176b369b3cb5d9d74449fa02475fad991d8d449617860f54023f0b4f8c69f33442866c7d838e280042ad657b989357538fe -KO = c148a38708aa57afe64ce27b9d6a42c6bea1db011071d2c3fa497d085c947b87190a59a00129a7f43f6c7d6f52986c7d25fbae81ac829b5d3d9a182fb26af97dae66f7aa2d36 - -COUNT=28 -L = 560 -KI = 807a7bc4eb82a55ac92304a029d08645c02b8335468d09034e702caf289d23f30a9a6762a8bcc69b3b837aa10ef9d1727509f946013d6867b5079895d0c48160 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb7bf854026780612d77de3756f98aa8f608ecf2703ed7398b7747c527824879131e9915a1a8df10ec57d031ba3fd84cfb1966 -KO = f33f30c0970a6feeba6d138856f26ea016c49d06c86bff6d12323e54b52d5848c7ee6bec924a4fe799629feb84abfbbd9b6417abab3466e8e0557fc1e0335c8d00a9b1dc606e - -COUNT=29 -L = 560 -KI = 7b1c65221c4bac2c81bdef118dd946d19e07de8d4a8b0c01f89ba17e6b8248e61e11ff4ae24d57a066b44280433dda6b6ecf81166dfae719e466438140e89baf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b84f2a815330fe780d20b796bd4dc46c68786a793b5cb6f13e80058439ec3c5a5115bbe7a3f758a86cb486ace2cbadbbeb755 -KO = 5e4f4bd8aa08eda2ebc80d095b3c7e3abc924d66f04e666dfc9fc7d6f14a0464d6a7a08aca1d8c289e6e1a5c8129724c48b5fb467519b55eeb1d441cf7eadd22817e05cdf0a6 - -COUNT=30 -L = 2400 -KI = f9c62f09bd1f1f83a12c45dcd8a94e1d112bbfc68664b83dd9dad1a3c3488ba2563263a74ce0eda05605a4ef83ac810e6f6bb1deab2ab6b2e46c70887e1e9ad5 -IVlen = 512 -IV = 2dc5dc0eceb2d3c5dcb2a0efccaaa12b56c0424eb500de752519786d3af339ee64d34b16fb8886f20b9890d999b2d208482729254cdda4ed0ebf6072d437f5d2 -FixedInputDataByteLen = 51 -FixedInputData = 7ef7ed4bfa920b51665011455b160e2565cc0f34fcb21bc046293313203a33ae394ecfe435ed0e3a0b13e7bc45a785ea3f0a39 -KO = b285c9e7f103ae1e565271034a5c67024601e7e8df4d9b659e29a38b409e52295f412939adeb04e1a9667f07176c2f98017a69e40abc6cb41b1d43aec1e4a2199c6e069fcd40bd1fd32dc737bae434a7ae3000949fce6de1ebb3ab04a2a0927b0a09d641eca4f6187a12ae486613f3a1c5c8bb861f3a9d0b6f0423e2efd70289a02b11f6f7288d84349c2606bf733cb78ca02ddb5e8f1b51e7d1cf61b29be10b30c54e9d56bf893b4b392d55c39cce80524d4de38cf5ea3640aeef123be16c2e8c13e46f5dea5a52149b6bb98b75f58a49047f39b78f68a9563acc23c25cae0b79a6d83f9cd3557d6b5933dcbed6e1cc3548b99e3cf603701d50f2c1467707cdb1f6f4c86e16cfb561ab6ee80d73cc38cd4b0a2893e75d25d8885adf498b6412576126e4dbc076bf645daf3b - -COUNT=31 -L = 2400 -KI = 4857dd7e85421614c2b2d56c0c1bf700491cd32a64b7630f4d5bf11688c56296d38c0b623f043eef8802b021d640a488c5cc5b14a467e14a63f253f048939bb6 -IVlen = 512 -IV = 2ae8b221b8691172b2a33f17ad3af7e3d2142b5a0312d1c3f8f41fa418841d52cf09ac5e9009ca5ddaaa36ec78157f6d984c3f4b3d26bf14bcf7c06304acffbb -FixedInputDataByteLen = 51 -FixedInputData = 3e1add472876608ee1c04cdcac9a0abf21b1088d1bb655892f4135e19be0e55c9f30967e42a55258a256d9d33e2bcdffeceb21 -KO = 75902874dee4df93b0ca97292edc304f56eb481d50666daff5cbd42582e5247092ce9e348a4a70b53797f5f14d09f6e648138ba1e3ccbcf510e433dd8af730a5a8a282db1a3d1044c43773eb2cfabe9f6b5d5f3d393dab6b13e355b1980035d27ed97cfb9139851e709534e9488e6a8d099ad94a55b7dea33d0bf9b3dfdf5c7594b0601bf823b5bdf83e26f6f12b0912c1d863d493c978e139dad775dd66b21d6ff48deb6e421fc6da448302b12322e5ab25d8fae686f82a952659393c26366b191376d09df3663e37c7cf258e2a47bddb14213d909d555574e87bb4d4fae792e5f0e74057b108220f0e56b43621c11cd3cf27eaa50418d7e54f391d504a58286e6c151984b3a2eb3bce6b7c8bd270dab918d25d56b3727ad867db72a5da681b139274dd1a45cc0b6d059fb5 - -COUNT=32 -L = 2400 -KI = ee0393c277aca3d857980728029985def22b53f8f0df157089bb4e3323e1812a7182505687bf65e82c8876fef92af0284b40e7cc90dfabdb8d02552250bfd641 -IVlen = 512 -IV = 317b7c720ae2f89c2d10add2c612ea694e3f25c7dcd4290c5f54826e9c17e05fa5a4e45b54b4a45506119699864855e94662be5587600c83361842a9dd7546d8 -FixedInputDataByteLen = 51 -FixedInputData = 58e14ce511f9fdfbada9a7f05bdf04a5e015591fe908e82b8ff0a12704b0f000125a274aa6e596cc4669cf6093455e2312faf3 -KO = 6e7a8e0f2ba43eeb74b413a08362df55d0b4bc6874183b0e1bf8ca7d181d55b895685029444ede4b7892a01bd8865b25dc5544058adaceb0790a0e2ad71b82a4ec15dcf6d9c88cdaf4a22c04380ae87871f12060a574adedff80054eeaec482e9a299ef1a58b8ae08d3d09a7dcb9c770bfe91f8503afdac8e2a56086d5efa73465e3605f4c1ca0ed937d1eecfa9e3380cbd01d2488e11ad984b0fc3e716f5175051802cedf9759da16eff8f0eeebca7668108a14da8b35d883eb65cc13f8df994e6e468d416ba9e2109f7eb5fbb4cc3fd2ec15bf41c98b9801b36549f74bd76a34e02664f8e8b2d65149ee4b4211607116f1b8b377e9d17564e1c809c4d720448957fb189a907f529d2ed86d866c730ed9710cd0e88d5d165c5fadfcf29cc82471797a34a4f14a065ba02e01 - -COUNT=33 -L = 2400 -KI = 26210d85fd9356d385bf46fcaca7bcfd92ba06500af66218347664743093427cd7634176d10589804baa1cdcf5a01413a83aa1233d94ee7385f4472ee9faaec6 -IVlen = 512 -IV = 70a097aaee5733e082e8c24d5615797516217db03783a1f9916e65b3b44cb628d9f703a064730f4c3f56a5ba71c37d53ae367a455b6da814d7759ffba6c69531 -FixedInputDataByteLen = 51 -FixedInputData = 673a874c0a3fd414b32f2e26837f9efe2596e10cd8733a494dc62669a5a3989768853e1e155af0cb88883bcf951e5ad93ddcb7 -KO = 889c0666ef6a0a51a773c0122fffed464ec572646629024fc519db6b633d41162f410d98a60479ddae4b740dfbfe1f1056e74247b0f4b6add0eab55d8c7552f34589b617dba8d0fa72979fa8d0b59915a0362f743b202cab5401b78708e2ef0fac3dbdea8bc645c6527621bc8341b19fd7aba7e816955d9fddc370cad345fdee99d72f3204a1780a7905538f896c3743f05c14d9c89ece1c9a81e883035414f865b5d26751a247111c5c00d44b7df7acb96a15203e403aaf1997b3a8472d4fdef56268a605eb8f73511f4810433ca3f99f7228805212e4744d1f62cb62dd485b667b60baad4f4d4a5d44ce2fb8b392187b149b9298e9676ec97a71dfbe77118c800a1e8ee935e00fce265e2d829946099177aebf1b945312327c2860e75d75c48fcadf61fbfa40c675093a51 - -COUNT=34 -L = 2400 -KI = ef369388e0d9571f01361d243263c8ca49908a1df1f3efe63a257a403b5fc8d1d09ed94f6729b86fddf8224985349f782ab77b04c24fac4b18454ce250e75e62 -IVlen = 512 -IV = 425d2ecaa826c772018b64737107151d7745cd0a6e2f6f6e0cecfb1ce5d38c40d75f1e0393abaa1dbfe82c56b5fe7ad4c56d87e8c05bf2ff1e34eb3bbd87de49 -FixedInputDataByteLen = 51 -FixedInputData = 2878b05209a48f0a0328e33b07de921d13e3c5854624b8a267271726b9a7d24180739f2ad6252945b61261d1852b7853ef39ad -KO = 8c24fc58721625dc00dc88f7cab02e3e4b57fdafb16ae184acd4451d6aeef3737f0047263e25b8798539df12e1624f0e95b47b4807988246cbdda95e03e1ab612ea35c92fefb88b9c81a124dfebc5630a3745a1a434b44971b399ec1bee43e3d466a0b33c60536476d53ea6c718214b487c19ab55d68062b5fd524c547b29c99983de3401e063795e6b753f3f242103fd9fc91ffc22641996058b521817a6e46fdc0223b3c911141a2681e9e79886fbcb86b36eb4f9d57d86b2b22e0d7c132db720971aafe41c11541859f07aafd0531772a5cca966e287a59fec92b96670014bbba709350043372719e6420e1b67ef49466328772899831c3c098c7132a09ca1b59d6caf31d586c703adfb072f14c827389a6b29054572421b56ddfc7bb9dc8b3882209c4606af3b90ca93f - -COUNT=35 -L = 2400 -KI = 4e03a7d9f52bc3612206ec3b3e17440459559907b23b549a40473b388d63241248a622badbfe23a203cb3c1484b91951fdac965949406f016cbd87b00d2375fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 94fac5e58bac23047f84e3f531c3a1197ef33a399762242ef4e3db10866b5e88ee40037579dd032398bacc0111496cf2ab30e0 -KO = bbe01f952ca1640a2696a0e88fe95c2427b6271f84a073f191ff09017d0b9b2f002779c62abb61dba3e3b89fcfff9fc7f1b1e11e51022e674a25d2fd5383f987402104cd0120d149e98462ed94b492e70dd8b2c71faf4b8d5caa3ea4e268d24136793159aef90f57444af8fe58695398bb1a66475784b601e5d395f4d1edd79feb8332ef9f49d45fc50d19b1451c4e73fd0cfe0bd861a4286f0510a66701f6e3179cc044c1a931fc4a79d34c7fe3d885941fb5ef651099d3877949412c464b7b541ecc1fd19385873891761eddfb46a5b9801eaf3146d2a66152f897d2066fb77c1e1ce566895a57d9d8a3b68f1b27027b7f1690ce78e895a3a70c26627fc060c7a8f6040994963f231b12f0290fcf4f95333f1b106044481a621372dba46a19863cd8d78944539e4a94f4a6 - -COUNT=36 -L = 2400 -KI = 0871a3fe6409394751f6ca6a4edadde5efe7adfafb989fa7f7c3580228f81a02041842dd127b35c726cba6dcbc450984f05187a710411ef322611488062c874a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c9e1ed806d1a92addccfb66463299addbdc6f874f0f3c0838c0f83db8924d6b6be28012d53baf388ea2ebea9069439ab56d78c -KO = 56c0d51e6d2f4ecc0ff87fac112717b670d8829a453ee0ec72648008185200d9f927934ae8fa32c613ae5369e0c8f3b4b9791153653fcbfa5a0ad9e89c1d6f2612ec9185950eb84d8eace70cc4d7540e01a11f1983edcd1defc1ee0cc29e9f1877a23fc12739836e00aa7dae2d54e85f34ca5a410ebc6d9c8605a3f3a8a086ef3a85b87c610ec177f82f5d86d0621f52c5f8d00e3b3e62c58386bdedcd134abd1da1b7104b2a5100a58cca1421739cc05fd75cec63bfad73c764b37520b34685dac7b80c6f61cf76655a1dde7c30ca9bfdeab7c9c32e0febed2327dd12cae87da04eaf3e57c779344e5b46bd2ae4eca9e0cbe99a0ba488cf54861f7e9488c845b17c2775979b2fc9e90e423db647590acc516a4f255290dccd4b010f368ebd840bf51b88da74501f78af7030 - -COUNT=37 -L = 2400 -KI = 150432e553df0fc54421372bd05494e5390410033d19d03872a94ec6f88cf779cc2ae8edc50d9075f964b996c867c071d85abf67d1adced38e5b6feada6f0693 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57b7b0a91573ab3fd6966ff78fde14f30070eb9dae2bb2b9783207c4d093362acbc487be1bad2d1e30989b601d70abb9249fe3 -KO = b6e02d161a3aaa5e2e3798f5b22d4bd6ad537616dd56f7258f03eb38dfcbe1437384e573f7694075159bed7ce6c6d5aa1bd921f369553a3e64cf97c62c7d0c9c5ab45d922713ceac9f30674f5e5b0a8aab2b550d02388c9b269c5cc06fa1f4ccdbb2ec31d5da271397399f8dc09dce5c7aade7d67ecb5f7d1b04787a2c66ffd4cc5e22a86d463e6985962db4b17a4ccda43d233d117a9337ed527ee9deea0f51dc7b3b55a9ec336d466149c3fce814fbaab2c189318c66f312479226090ccb9ee16212401a30fb7a6859f30cfba3133c0b443ad450395e5cd4033c8eeb30341184b63529bce44de8491f625c52d07cb9ed6b4a551f55db1d6d4ec442797bbbf6ce83781c9ed83069450a32e103ffcfe44dc997f20814bea31318f36b6db6f6f62b64ef2320aa4cf3236c753e - -COUNT=38 -L = 2400 -KI = 1f266824a5d52abe059f0887c5173c359e6428b2d730a015432e303d74e7d8b56ae1b9cd1e3c81ef4852cc5e675957da9c1eae61c7708fc058d6a97df8066037 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 41caf5e999ecad427f5e23b715e467c430535a46934a4a4b37891f2faf610baff59b8f3f94a0518d32d4871eccaf228f1b9aed -KO = 6093b97d90f22c78ba963dbe661e7ff4ad72d81d20dd53555aba76a15ebe367624471745eaa9584038c9aa837d319005cec81a1c035f02e7a4061f51f8d05b3e6e047a8f66b1330e0cd1002f07c8726d262be83d8a35d4237c54d715f02e38cabbe4ad68d9fd8466aa605c82b9c5e284218a06ce0e2d75051f0750c0c2874c814b93cd5bec5636f321e602f73ef11fc133ecacaf7eecd990498b2964537513ab0fc011115bfcc8fd434bc340169b885f30514fdbfd7761744df51a9f40d4c65807d109275f62c3574edd9a3475d6161d9fc0f451dd9455902f6026c86809a1dd4df6e73dc9a1cf2c85123b6d2cb8511b806b30ebe8b578895592de8f9713bf1ed5fa9879d8d71b69b5b14494688bc12d4c920ea694357c9952d999e8d377411c3c07f31e1a1e94e1a86002cc - -COUNT=39 -L = 2400 -KI = 67ad4f1918d4abcb3f9200fc6d1f1314e71874b8b37e0058ffda4f6af9717b94e7e40e3f5310b784abc66ab56a742acb97e7a2ba1767509de4ea4ec54915d875 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cb4196e8212da47cfb0de2bc7840ba3c5216bc53bfe570c3d70e24f5bb5ce850b23e9ccfa1675a3aab9d9532d05c3238af3a17 -KO = 46922c520d5f739790a9ca97ef03104bb4ee465f7ffea8ae32f652bdc789b4e813c6cede593e2c3add2431db62bc968c5336c068ad9d0da69049a867f2f1fc57fefaf6edae6003873b93c77a66f10f178b0c3564c44281b394a9d1506e294808b1ab911969162cbc65da96d280f4e574190a669253dcf7f090d245aadbbe5b1eee174fb1322a879de1e86d44b6b2b045f8062dcdd7fae5276b166e19e26a2b989a63eca22f968bb831487058a0b20466fc8212b31c11196067fcabbf58289830085e5394e9073c1e37394c7ca733e76f1de1c785c910249fa34b613b4196e8e9e0b738a75497c25b5e01a8ba550c4b5c5b4744e98e6d17042e1f11d34e622be2912a9fe6b7e9755091aa64b54a7b57a9dfb198ad8bf95047897ea79d3604d09156190c9a3be205c2cfe29edf - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 8a142a8c4450f028bf54dc4878c1d37e159942346d841c663072b960fa676b4bd500aa34e9b178e8a33b755f7b6e005eb2becc6fabd40f40ce6edc14765eca62 -IVlen = 512 -IV = 812fec600d466a40435548576f2ce85a27d6c3587b7c7d0a0d0b5649e2636344e4e5af4e4512e096409c68711a880547f3158b16ed49c0f6186494e76111371a -FixedInputDataByteLen = 51 -FixedInputData = 776ab69c4ceef722a3ab1d6d7f4411b21bc04f02ebd491fffded713c4fdff9508db9a5b69a26d3bbb1f110fbcf031753b7940a -KO = 84040b1698c1673385bc62eec00efb5459726f72ed733201ae7426a7b3cb2737551d03b399773a7f17ba3797787dafd23a9674adc36e5df84ef49df53dc0d6d0 - -COUNT=1 -L = 512 -KI = 972ed322aac209e357120c095531107872e1ae26500b1d200b8ce514aae134c6e8862bce42c021d943699d51b1617c8307d0dcf281114fb9db37cef5550883f2 -IVlen = 512 -IV = faf5e5c042d350c5dd41baca56f5ae651c13004c1e729c4af0697272743560f908b3f93954583696119941c81654abf789b6d1702f7f87f8ea22946dc098b171 -FixedInputDataByteLen = 51 -FixedInputData = 81c048b65548438565b0ec92b60acbd1f0f28d30318cb637a13038e7f5ae4cc8d0fa448f930badcacaf12cf9aedf66f764e103 -KO = 1d229d53b30d048dd12caf4c6e97213b25daa6b93c602b51faedf8181e856b09b1781ef8d9dbc165c6bf8c67193690fe56353d5350a1692f25bdf421c2e2c453 - -COUNT=2 -L = 512 -KI = e2efe28f1ab7d31f50d50252704f07b0062eaeaa8e1fbc7965115964f1a41b13a7f7703896a4d11083a8c193b930a7783010706e4aa66a8e607ec2cb85b31676 -IVlen = 512 -IV = 5234f73d16cbc47ccbca52a969a7e8258b9b1a0bbf0a92d22e424f5a119b97806f8b559f6dd7c7a841e5a845f295268c68bc2e90c200e7d3728cba6526cd08e8 -FixedInputDataByteLen = 51 -FixedInputData = 42027c7f7d1c0e3ac5368f215d25eb40afd73179eb9458ce84af64577bf5a464839742a1ec4f0f1e5b7ce1806d3651357f2535 -KO = 135b0691038e126c409ffc982838a08c1a4a04d79370ecadb6f16a400730c4b0da5798207ac9b93112e98fcefbe00c9b68eecbb4e8a6f32bb3b3e2516a13d1f8 - -COUNT=3 -L = 512 -KI = 20a484a3d571713b79d9b87cbff945cf4495bb034eb9d0957133840528e6dc5e3c615863f39059a2778710e2435cfa70ec1fd65f06ae145a5636971786679a2e -IVlen = 512 -IV = e9c2cc3cb7870e4f5fb56a4edce2c4c866f2215fe80583c3220c1828ea8b2e88295eb80b05e7ec2e84b17c9a42f24e086eb5edf1431421c21291737a5f233f6b -FixedInputDataByteLen = 51 -FixedInputData = 360c86f8cc772d18ed8a800391d441ca90298937f32efe8a00c33ace0274339b229fad82fb4a029e95a9b8e4093a148cd4bb1d -KO = 53eeb4b37a832159d1899b63131a0f1cb1240aab4a6019659cea293dacb70a3b2a30d5cec4d756eed1f64d2d4f03eab7acff6611b926dba88d13d0bb5f315057 - -COUNT=4 -L = 512 -KI = 63e8553151a43687dcbbff87ddffd1b2b26f383fa7d869efa07972fc56505c9d927c4a096b24a0a8054ed2e2eea9366d9c50701b3707bc9b14a4ad835eadd610 -IVlen = 512 -IV = 9462ca2ddf63e7c0c8622bd184a5d5230e457b0c75a5bef2a3516cb62c91523e56c8db9022860609b6b8c5b8f88c2dd59d76e56fc741444cf01bb2e1a435682b -FixedInputDataByteLen = 51 -FixedInputData = 9828b7b9fad8adc1d013f3e05315bb40061695cfa6ce65a8bf023c9602d2271d6fd2d11a80cf6de6ac39bbd764fde1ec9fa9ed -KO = edc7df690e05383e0acbeb44eaa4e744d7aee3e530a5937614c3a6d91bf7629e940308f3448f5e7a664d812eaceff6a87e553ae251eaa5ec0db8afd5d5ce8be2 - -COUNT=5 -L = 512 -KI = 9b23fa08ea230a705f3ed1191e592349455067349be9ac8aa51e6d92abecbbfac04dcbfd7fc675df31fbd7942cab4ca70b0c14eb7f25bd9d5ebf1a5c9fe22a49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7636c386dc2d39b62982c6e130c8145f579253b7475bb5b755f9ee71bbc6a5297e15f8340a6ae271f563558876c44f97c63684 -KO = d0ab0e8d57483ab2d30123264cf87cf4bf2da0f2922caa80362bc9b1975ca902767fe8307e568ca5e7873388b45d4396c15dc0569040ec9d5d62cb01914495e2 - -COUNT=6 -L = 512 -KI = ec910416370e8f95cf5f5981bd3b950e04f8c2288fe54a1c921ca9dd4168bdfa5ac182fb048e3c49911808e8c982249ede0aca11e30304d55fc42e65ccb86c3d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 298fc311990dafcb08983ff458f39edf59348d2f2fb7562ec201499e8fa0b504da5a628786454af4b826a09f5de34b2c099bd7 -KO = 87f7d153c8ad3a18154cdb1139ff445c1e8362d130e888b9e24370fb82f140600504d44cfe28ee345bb38f849fddebc91cbba97613ef58755635fca702272504 - -COUNT=7 -L = 512 -KI = 46e4fb3cf61272e0412d8f2ace92921075137a7fb32b9cde38192586c6e2d477a7f14e5b73d1c9d9acfe8797f5d035ba477b95de18e1c1d7d07b338555095270 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0832bd727b89caf4dcdceac1d02042a32a7961c9c93d6add4b78e0d58b3c6ce344f465b0a5265c0c121e3199fd3f5c23584d03 -KO = 49fba0f18b9e4339d0430ac0ef5c239dad51fc5759fcf76bc7e088a1d1beb2f5d75266df176d402e6fab84020949c07f11b6bc96217c2f2c7faf40f220653c11 - -COUNT=8 -L = 512 -KI = 3b82b08da0f05188772aee4783aaca5fdab1b3e8d6b3d2365658686917103dfce6d26cb31f69208c00f7980dba3c374d897e9a28af165dc8ed2774fb8dc0624a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7490288455a588c26bc8d44fb0cfa9e477cac510c8116d77c8cc72a0109dd95028af599543451c094416296aabe4b6b3b3116a -KO = a0a319d5885ff96744243bddb76e93a8c1cf7273108fdd09db1f400325283a008a686f0363dddcb5fe804f562496f702458809c9e59390a1b16251be4bcc9059 - -COUNT=9 -L = 512 -KI = 3216d15830e5930d68f2afd88f73bcb771dc90a755f4b516838e83a4b6987e274fc5256b2efadb3a5a722d44b1467f8c1d4ef883a5e3e08b4a12e5775044688d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c6d69281c82bdcd130cbc9bb05ba62892498b03fdf65f547aea3cc0c4a151cc8487fbf1f07c601828e91a11a8ac9e86490c7e0 -KO = 5ac52a9b4281f44b43f0f06250411d38218149fc04fe90b576ef5e5baed4705dbbe40e00c5dff3af2fd5ef70bb1ffbeda25942579c9eac17d6f12f2f6ea35d3a - -COUNT=10 -L = 2048 -KI = cc3fb35a8bca52e42e98df1bb5ce718d569391f86170632cfc8c618882ae45652ce2b182207bdc3d1c0eaac69edd7331f85ed0d17e99b6bbf09e5fc8ec28e19b -IVlen = 512 -IV = be12487b68f6927561cd7c16b2183ecef73839a5ec4577c480a97cf4b7de9b3d95c42386348e4d75f5bcad5551056b46afd8650b6f3101bcdc8677f0fb951bd5 -FixedInputDataByteLen = 51 -FixedInputData = 624f5985869dc58c1a218b1cc989befb372eeb12a2bbb28e1458ba2f091080501c2d4809e253a761566c230412329b177c5a76 -KO = 93e17be5ed6b5420bbd50a76c7e53188d4c31be47d61cafbe1e4a4507f3c1721284c58cd9dfe60353d5f7fbe96ae90b563205bf0555adeacbecd68e677886eef20344b79e53a72412392f7fe770f666623fd53efc7f93ab27faeb529ad8297f166d2c68aea9ca9d14da35c7c197ffdb67ae3f863e433df02a6795cf0d250cb642df8e166cfc855d5c6510e6e7da72a0f98625ab7b2eb8a06156b3ca2ccde12fca91d289653e4babb3176b8db6b63f961aecf68618a4c62eec28d42894fd996ec94e7ead85b1177308ae49cbbdc81257cbb5f5a18415a6cc0e09a8621bba6673507c1e7c4dd6e07c24e7c7f497a3493b710d48ef0102132749398ef7e9bc57a67 - -COUNT=11 -L = 2048 -KI = d6bae3da5910ee5b5e5c4c88ad84091cd619d16a97a8b8680b999ac05fc38cefec7983c88bc76cc197f6fd7be11415e9ede70f36df79f72c59243513d3c0a78f -IVlen = 512 -IV = 2a03cf4a73b12f61f892d00a1634c481472889bf70550aa0f3420a5caa9d0e3a2b49f40845232cdddb2933f31e96e97dd8fb755ccc40ed783e27abc562c2b756 -FixedInputDataByteLen = 51 -FixedInputData = 463626869b5b01a1c876bed8d0563ea2444c2debf59a2cf83c7eb55c801b28631eb9e3df60745429f2abb525e44d4afc6e4568 -KO = 6b80ae3a306361d4bfb22fb520e4db3fd5f85dc99f6fd5147b44761a35a8e3d60d2c70c22cc35d986a514b030026f46a40c9be467278e68cb9613df578799b7028e842609a792304e38b0ab33a3f52c629c4bda06f4352565fa842ed4adc5b30cda9007046ef8dfd8a706f2b383d08fb17b657af44a4dfa50d1893176fd8afd84d27e980ce8a63c8cb4dc734d811a5f325eda97310580123e76c8e8cf4d070afb96e74d0700022cad82da949edb098725321af672f4780041cc174fb1ac411f323f040ee345926dedc1dce7070fb10137f354c3c5fc26a89ceebf3ac859c5299c0a88ce406773e000e587077f280b13e03798c373c9634d0a5cc811cc433b00a - -COUNT=12 -L = 2048 -KI = 2327079c5b534bb09abbfbfa739c601cbeb5ca98289322ad0e2f7e9940a52beb3cfca4eed2e2407f5c88dd154952776ce0a54ad773608c57be9af079378e3fc2 -IVlen = 512 -IV = e9e8b7aab798a502e9ae16aed4187fe0d0adb25674183edae1d7d73abfb0564edf828c555fa168759edd7ab44318c9e2868df10b50582a001751756acd06b266 -FixedInputDataByteLen = 51 -FixedInputData = 4f5a4dbe65dd45cf96985a6670828bfc83a9cf22281a06b1f7b3271781e75e45f09058225a829d7cd83f61b6c13eb4608dfd2e -KO = f03e0eb9396cc44eb0cd474e2b4897da7798a09eb83ca4b231368470d3337cb751c5c952b0c9d55b4834f0a6436622b77286b160fc1ea7b8c052dd67df4e577544da88f08d6abd5942e93510a1663881ade65823dc4e55fc948028e1576e309be9692599864af9cdf15288c50f6a51cc5ff29ef3ffe9f229e66571292035165fd45477495d89ab5f4f7949ac58e5902e1314f72b9ea2772b7bf73b5491c79d41148b57f5ee802c85564d84e3f095c5c92e4186b17cf98ee4227d450f18169331ff9f87d0da08cabc62e24b7101cb057b69815e2ef23b577de4adf50b11e8275be46f2cf8bc1c33d959b32d3bd13b5fca8ac9ca9587392da6d5d4d94a0284760b - -COUNT=13 -L = 2048 -KI = 1470cd5ec580019fd20220ad2d3f1f6396852d558d2bf1d8fdd502be7be1244d7a675b4ac00ffcef4ffb2c673e26395e6f3762a91003e83288da0d5d53b2576c -IVlen = 512 -IV = c5ba748af249408bc7506e04e41d8661b4898a4c5c613d62b1fb3656a413a00baad158db9d8ea4d6af98a0f29d4905152e13772c492b5170c5dfffc07700e825 -FixedInputDataByteLen = 51 -FixedInputData = 56518be0e4dcc8d37e65a0ff572683912055e0c1be22b0e552d61241a717841f2b12a305ebbd09b776625c1aea37c8d858f539 -KO = 5aacb0a383875783577b2a643df22d85985b7daffed8e0f41cf7f4c45f6cdff650dd91c56a3fb43bb554267715c6b86dbb7aa97a6d2cd32ec182aa29eb23eae0a35e56982c64138d87d87802c06085331eaf8e25ad8ff43e315ce81448d6a0b9ed642797712658c25a17d333c5a090fcb29370f1e01c9e7fa48a2a42853a0881ebcb79181ddff58c417860f9b5625e79016a88fa065f408387b1bc90bfd3b491ae119b1ed55b974ed82e1f20e3477f49b895d9c57b6e298bc9434ed3077aea0ab465320bd7ec0554103b4d9b97e580a1aeab71165af21fe00dbfab1eba1f99be3c205ef8def2d2ec03c0960c85a59bcdaf8dc10e180b2b1657f9298679e2b87a - -COUNT=14 -L = 2048 -KI = 5bbc475ed710b709343f2035e5fb096f60e03cc0216938407c4a1a0a74c4ebc28c60d256d181a137bd4f146669b2cac8769de8a9f347e4597b9de731cf6e9aef -IVlen = 512 -IV = 7f221af4b1b7fb14a8bbcfa833d177bd1065282bba4f3625272c5b25ff71da7c7b9827c75c5dfe5548d2e1f2aef05cf611e3a6d36b3396747147eba4994513e5 -FixedInputDataByteLen = 51 -FixedInputData = b545a45f8fcb007ec6d98f2340523174dc70942e1c7425d70e1c9d32dab7832a33a8781dd81c24c91c59a036e6c08736d6090e -KO = 8e1e6697d0887eee20857684f9dd06af10896a332b462dbef51d578cb5c9df516249492220586d39d1875529f87b6b8d7eac169c5cbe240ffb9fb86ed8497f3e7d5302425a890ce7dae9e4b28743b87926b8500496d3fd619460c7cbb8196e5e55f8de9bd686ab0d0cfa91c3e20cf4c46a38388269485d2c2a270509398b0fb3c4935ba987e448d2910d643cc5b7ce5d515561e8e8fcc5627537dd29cc1b34327f2a1f77fd0d0fba003cde919b254a52b60683c9c5b2d2d9492b167390ffe9e22bfdbceb9f50686b40b0198af32167279ba5732236e80b27daf2ec478ccdacf098e1f63d72b9c3a1f54afd3da1fc22f5d1bb794f8e1ae212176dd2f18655b329 - -COUNT=15 -L = 2048 -KI = a8e0f40e2283938fd0b04a43b40fbeeb28c8b36a5a1329f4ee47c8d442ecfca3cccbb8c606b6cc05921f825e892ba0838d95db0d7038b0a8f030d492b2dc200b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34ee0d3b722c889ef631ffaab9a81d609256b78f602bc494e637804a05ebb8be9417777094830ac476097ee03ce57840431939 -KO = 92a76c7739e281ae174a437b17cfa1c29912aaca1b8221a6792cebcc2b53f4c2dc533b65c8d2369b1613a6e829b4c2b7e326db4e0f177452dc4d6f77c582ab2b3c1ca4e244c5e9fca5c2c8ceff81396b703acb9e8499a09f07391570f44be3ae42234ee9586bf234520f36701fce706f02c83b0a1edd7c0fc30ab831edf75d7a8c8c936576750a0be76ddd469ae1f7b49d9ac3c3fc2f8342bfde078590d04d6df36ccc698e40e23b1b7797b30f188658b9731fb7325ad577ee9bcbea55961541d36fca732e1e14066aa1ea9003cf1f40e4f61ca17c1d819258097c496dfedf4fc120487d3c1da85c0c74c59c86f8d9ed16aca32cfafb67e1d2191dcb084d785d - -COUNT=16 -L = 2048 -KI = d8c8afea5a0be469c3609cdb913aa37cf451fb975b5620eb70bf5cc424cb510d10ba7d9511723096ffcf8d862dd9ce61859a291e995162365d6eb85d784a67ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33a01b83ab5e7db86aaea534de4ae70a79ccf2b6dd58563f8d2c3d128336960fcdc6b83fc6f633f35cc7aaedd3f523fc96b5d1 -KO = 217bbfc67ec6dab37e3d2c9b7d611be5d1765d44f644787cf03568daadfebdc44b0875ea67f051125a3a2d16e05529d2f3b22f0238ef1778d508c703c3be2818340f6b67a30f7e18b50260dd51b6140964c8ea5e16a781fd773ba4a0894c3a363e8978ee374cad96e828ed50b66302f18a4afbd80d9b98e5c46d98efa56e92553f8b952b9669daf77ab73995e25cde8869c3aa74757faf15c91e88ad9f5ce666fbb49c717f95ee76fc6152c8644da2c4b13c2c45ee3c54f9c38ac165d316092d45b1eed27f63d4acb7cb3f23dac09d416a3bd415e433024004fcb7b08bac338499d5efb0163ce5414e5f5f3cda9431ac12d89d211e8d26e926bfd8f746df001a - -COUNT=17 -L = 2048 -KI = 64ffc0bedaa86de6832ce7053a9b41e80dff90d8164cbfc1f3633aaeb3c313b7f346a9bd94dc3a6a15e58b5209f0a0e9a0d9fd29fb52a19ad7767865992c5b30 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 86d38d051949431e263fc68e0074d2a7206d8b78c8905d8c1b47ea626e1b826c1ddc5aeb2749ada294ed7c7dc8a04948d11fca -KO = ec30d42558e2b3f60ac74d1da09b3729c968a306455efcf2dfb1b73e688f9d31d9d2a95575de99365205019dd3f235968c73924c6e2beb860e539204bfd147052c67a8db1daddd33a046bb25400e3e24161ae4fbf531e506f45aacf7ee3c2bedab38c70e8cdb5aca38f99a089dc2f784cd7229a4b32552ab05532dcffba8bdc4cee6450d6a94b9a6e0b8e78d8855b6cc9edd5c1a0f7f92a552fda36b685a57cd04f54d0b86442396eaec81702ad6ce9d794f1cff638c21edd5c7bc5c5c5b6e895927ab079072d175687da4a118611459274c84910b1e09b3eae0294d8368b14788f0615aeb7ad1a8ba2e047aee933e8daddde48ffdb3ba76df9f27c4e819c103 - -COUNT=18 -L = 2048 -KI = 006915cfe253d90cb8b21822282b12250027f7a2c205e632592122c9b0cb03cf1c2a81679e85d14c7aad8334b3f70bcd5ca6d405774463b3e3a32fbafff92b4d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 822a2c036b3034184db77f3d30604d38f38e5143e64076255d16ba76c10f3a721c9aaca6e756d7a412352a58aafefa1aa2b337 -KO = ab8349fafabf48b32ad88211ec645e1c64aad0f95286105c6ef0f7dd7aee4fcc989cbe2920c9dbcf5a100349b3ddc317485f227565daeaca967086be2549dad12a74470062446c7b3771284637fe085c8da0557555522bf8ebbe651d87f0bcc20aebe75aa20d96727f9a6c6778d6dd8fafcb9a171f6e336110b38c0e1e2bed8ce5bd14471d2cfa886587b3d276f641f6fd36bd28af780fdd14bdbe6631c42e97b457ae7b519386034190aa0a90956b978b508e5bc197a982541fc48154d6883c670d4e1f536910ec16614cab381c244cdc111ad4674215d4ba52d458f68d8b60ae9e9e2695df22ce42c7cab2c9c43b92650054e8b9100f03ac5a5342e5008be8 - -COUNT=19 -L = 2048 -KI = aae8cdaa697bc82adeb837dd61ea8e934d5042a2e53519914b56c16110ee88fb49622897e1a77f7deedb0da01e106a69a3e257d11c8ebb2bb6828f2420877ef6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 77c0dc55255a63f6461257078a2c4a089f41249ae6894c9a882904d8f1510c4ad3527952bbb954405fd422084068359a8cde17 -KO = 4d8664d118f82e31127766d0a424effdf2cb6f52ac795132b36fbb7657b026ffe49970b4c728bad4437211ed754238aa2da6687a272b3027574d15a726fae8e8856bb3cfc92907d6fbb6109a5923446d2259f3af780ffa4488acf2c61ad68304ecd0fcc18b7133ba353fb70afc16465fa185e64ef8bdad5e71841c02ca6184cecf6c5b0d461e2fcd56ab1a30218851bb6a3d6eec8027aee22fcf69e9723e73a573bbbbd7df034455350edcb76f7c1dd8dc2b67612da894ef9f9db8db254ca53eb56f97b11a895c85c9dacf781cd9be8dc96c9697b612106b85dee6cfe8b405d4bc4455149e623583d7cf37c4bffe0625c68de104c4dd50bb031623eca5d82dc3 - -COUNT=20 -L = 560 -KI = cb0a3c05a5bd9d588864c77013a455de9f493c77874da7124b8be075faa67c637674d3bb2a5fdcaeb2c1ab924cc56d8d7d8903c9d986121dc6591effb878c7ab -IVlen = 512 -IV = a48a601c6bbf54217dca494f20fdbf7b899a9e3e050539d0196802b8142623f21ab7542f612c80b17a529b0d47765443ed2c431b8dbabac3fb965f623f3ad235 -FixedInputDataByteLen = 51 -FixedInputData = 4d624e698a328e41b9e223af3705d879f70ae875b27535a3966a18417faf057daa98726d77053b77ff981790260fd72c8e014d -KO = 5f0fdbf76736676dc17ed903f719846934800355338a79149f4d9cdb2b15ddfc0f2620d50aa9b9ace19e4e804a350d75b621e9ecc450d5278bf1e64a60e84faa1e4b0a3c25ea - -COUNT=21 -L = 560 -KI = b21c478fb71916651b7e0b82f6857894a4659acd68640f83d907a7dd8dbe6fb0d24399740f8540010e9666f9cf2709717b8641db2da95b72fa586c66d3e3eb45 -IVlen = 512 -IV = 44821917e3ba8d0a4904b00eb79298a6551705feeb3e67187763fa3dd4502a8717fae55379a3b7e5110e69bda38f63b38b0ca400e52a9f900d56bc71dbec7505 -FixedInputDataByteLen = 51 -FixedInputData = d49d7004db2d715bac19acafc1afc5c0830a24bbaa413e2a78e8ed677472c3c9c49862534ec7bfaf2c2d29d91085ce838e1004 -KO = f84b92888a9cdbc5bde956e35a232cb14f2bde3d9987199c52e93e7dc9a85ba67987abafdf7d2d53a2027e79873064dd2c2d3d2d64d4e9cddb55c7bc43ec2c575be6c0658b68 - -COUNT=22 -L = 560 -KI = 69dc87e3370f49db557223fe9020979bad3d03f1326cbcab7d847db770bd74dab3978a1727b715251bb2c32b4b41e5c7455ec8db3a64d22d11cb969134bf8233 -IVlen = 512 -IV = cd6c3dfab9755bcb1a516ef1e55702f498ffe67d56645820970cabbf789681f73e774246ea2e6a0cbc5bd2f8886926552cc342b4d794ced3666b0d62c4915dcd -FixedInputDataByteLen = 51 -FixedInputData = 4741b9177e3d2a29ac8fdc15053ad82ce15528334682e5daaea421c59a3b35e8df4dbd7bac7e22d5d3f1e12f7e2135ace766d7 -KO = 9d3cddf557bb037f1a8dbf0161f30bd47c2f9ae3cb1f2cfb4298fa75d9d920d9953c5a8ac06001789251980b553204e739ef959501a51461693c652a53a39e37ceb8322e27b5 - -COUNT=23 -L = 560 -KI = eb6964b5547513aed02dc4b02092a1b50a4f7196e52419e82d594ff4be4a78ee03f8faf437ecfc8e77ffe93a1717d4ab09e666962aa3ca6b962c17bf55684f0b -IVlen = 512 -IV = 837000437a9534bed91f2ed4e157354a482b3db779cb812ba322ba3fed5600376d592d8e6b8620d93140f4ca67d2b92cc60dfee9d53d7b012661f9aee0403820 -FixedInputDataByteLen = 51 -FixedInputData = 5f6a5809743a4d010de981875df1b54e2a6c7eb7ca24f99def244120848402de18edde6ba8e81d4e0789f7192873c279165a06 -KO = 97385fd49c8bab6148bde8f4f097875937c5c4de5588353b5128cfc427c921519064e0d53b36820a2c596ee8b2d199c21627babc4a568199409e397afad3e298b5210b2bd9c0 - -COUNT=24 -L = 560 -KI = ff01ba228addaa67566e82e18f4ac5f5555783d3adc7c77762b090e7c4e894d149d01e3ccac57be5edfb7c06ce7ba17b38b650baec8cc090651897fe6c93a579 -IVlen = 512 -IV = b27239cf83df7b2e1e7644a07ebc0a8292d9bf42cc8b1015c2964d61ef0df5bcb5165a86de530407dd4b5efa40d909b7b392919f32960c3b7ae8e031a6e056b5 -FixedInputDataByteLen = 51 -FixedInputData = 01ee3ab70dadce6d2e862729dc0ef5dea5ec3f91a8ba40ef44b7255d60c5644f783c5f00921a931a0dab13d6e8c91ebe107059 -KO = 046ccbc26d6d8dfcc477129796de8adf249e0ba90e5eb2c853287000a441b48d68c89e319b8df81c2ae0e3d50c66d5d6bff48c9c7f763a772a196cff5555e71330df20d0eaff - -COUNT=25 -L = 560 -KI = 9ca3d2bf9524955b6519b7b9c801b0ef49c9e84a9389c7dcf6be089c8ec16584d6c67bcc94636fb1b5161b0117203bd6b98520b8097290b7f7fd2bf24da151d5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24a47fa888a55d2a5090d13eefce7c1f3a60f2622812a6f751224ceb0f9914b354faa477a9f093f6059fa6fa74167964821ad9 -KO = 946a3f4cc42f407626aa6786e3b0bbff2ac12294683805c550ce110ac40fc8595c153617ed17883ba97f3e098881d63c8d7e9754a371f88f07065671cecc6394ed6417702904 - -COUNT=26 -L = 560 -KI = 5920743ca1268b2b91b3d84404612b6b75dbaedb1346b520a82fedad8936519b8886f71c8fcec9b082ed3eed263994d12ffce7bfb46892a3c9a72f7579c957b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cecd3c428993efa916adb4911ad6eb3498a6770bafde264e5529a0bcd815551ca39911a2ad6e3a912f1509ea89a03d749a2d0c -KO = 809c8b4d2cce48233698df501230942eaaa765232f90214e659932277c6c048ad1c8e09e504650c661c73adefc91af7c4905690a2bdf7bf623921d7b2a60f751a6e0c4d3ed2d - -COUNT=27 -L = 560 -KI = a64281a908303ea4f45ab62fb29ee744639ab1f8335dbfc51a3c0d01145686d565c18f31c9fd1bd9f642f70f9797c5652370f56b203600858b9b6819d858a935 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c052acfe61f42513c4c494c4d9847e6551302802cc902972a633a7e7d78001e87fb082e63cdda33f01673a2c1f5178c500c68a -KO = 31577cdc30cb47721f0fe249c3116f5fae2a0110eec60a03e1ff7579c0bd9de0c0036a6f74f3618a7e88352074d7023ba6f392e0708a0334a1d9adc12518c347849de2e4a243 - -COUNT=28 -L = 560 -KI = 3890ea2869f361a9c1ee220df499475c1363d84a0b711abe73d6104e9fb838b106153dd32ba8aac85e93c46ab7cb4e8f4f86afb065e86ab06f70ea873dffac03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa405a11a2687080f67b61d73a6462b1786a95ae527b0ac405c1331de9250bfe0aff2ba3070eb6871d38176b487b0c46987e8a -KO = c1811011cbcc61a6fe0a88d0d04362b77fa66da6d09a07ff487bbe02e8ecee6978202fdc83ab4011141d1684bf66b035845ccdfa2224e77979e19f226d6465247284d83caeba - -COUNT=29 -L = 560 -KI = 53a8d05d24b635f26b3edcac402e954983df1dea52463efe095dd172a356bd983fd6c6e244376e8dd23790cad297cb2b95ce9701c89b83c2595ad258f6e9f50a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f8bfc0ef8ef62ba8a7b1164714ee5d5504cf540312fc8565cba32d84c8fb3b9e1913d1713d29988f6791ef01522c6cce3f4eb1 -KO = c7b491d60735abb64ad046763b1ee9eb68824f2b492c4ebdbac726759459ab637a82993cfaaac0a96505c8b68b905cc5eb32eaec7aa135f602b7d016723fa84e865d526d8d40 - -COUNT=30 -L = 2400 -KI = a76af80900cb8c748c390d67ecdc209d13852c8e9b708f1813acf90bc6edee52f062dc6e5d8f6a20178c7e1d8e662a826c2af02c55a3af6263e31b5e4dddd6bf -IVlen = 512 -IV = fe07de3612ab9e145e3b77dd67c3fd83f65a8eee4192faaf2c9e34ced62ff569832c5c321ac01438b93f48bda9e393b5ea2bb1e2787bcc4bd0ea9dc07e986831 -FixedInputDataByteLen = 51 -FixedInputData = 8163fc3719cf4b57931e81e6222b22a49b87e6a2975d934669a52a1c07619fddcb572cc4b0168a256db4fb7ef8aba53f3f7cae -KO = 995d56fb4a5bf5887e17e5cd0ca9b45458fdab71aca088410e6ecf0c77a877397e4ffc96c0f11905e9a838b97ba01739ba69fcdaf104869987bf93fc4e8fa49a871904a90c7db15de2b2f0d19bf5cef43feb4ffd93881f6acd8e4128be636f75187bab30b56203c5b189a6ddd1ae7c8ef9e49fea91b17059b9fa28b201ad04c9c126868abecbb0f0c148ca00eab57f9df6719ad31dc73f53304484793e8a38de83a5847dc15a559a92f4ec89de36fb7f884e75cfff6da8254d56369904b578b4f666003aadc311da213bfc40184eab8667e6a051ce80e7cc223aa9044503cec2fd0bc3af052ce26fc6cf36ffdbcd3f74810b48345bd9717dcadaec7adb0674bb00c2d10d53d87f1db1102522ce9456bfc6028b230a53f99933a30983c5cbec2b5c52f1081c596f70730c9cb0 - -COUNT=31 -L = 2400 -KI = 9d963f2e203cd7e7238eaada2915e3566f71587282fcc2683270a8961d93881c1eb233d6ab89c5a16c0a79ef18ccd0b93c33d44a6e28849c262e2f324ce95009 -IVlen = 512 -IV = c8305fca6f65e9efdf74dc29f318bacfbc9209989276762633e4007b4370878330cfa4668affa987832827b85065038ea6b8938ac6aaff6b02c270a52a4c7276 -FixedInputDataByteLen = 51 -FixedInputData = 731be34730172a8ee78764d20e16c8fca8a22f3ccc6e3bbaad3f008045abe6da5eca780a0e1f2431b5b20caebcb89c80a285c5 -KO = 28968a00db20f809efdfaedbd158ce87967294358c59a3ad1c29e181cd99e56329bf3474b0447139b6a344fe5a50d6bb7ea0f56f74622123adf846229fde7a040ba290229847dc68974524f69c714f5196c4c4040f0b9dfc99833963a8f20cfdd9d263a139587a6c7bf987dfe1dd2696aff3bcd7127fbe991316714e8ae75a2523bb7ea7a790aa75788d34abd4b8538c2b042493421aa2197f1c50dfd2209b9769dcc00fa8470a8872b353a0e13f41aee17376a97487bff974e5f72b4a21ba45ac4ff22163b4eeae229e3bfb5860168e1b5500391e0d997afd1e0870aab80d83740cf5de2f7ceccc5ebffd7b01ee620c1a7cc210ff72d70526e44f790d95ebed22cb4229109347ba40e95e09cef08aeaf4ab14179ab167da5239407e647fc4f28d12072854ae73e884e8cb2d - -COUNT=32 -L = 2400 -KI = 47aee093327da55e6ea3e3d96ac20d45de0d3232ba2b82c6d1e74ed51cb577cf035d17642602cad818021b444c2974e70f51ba27b6d247f721ec254397a496df -IVlen = 512 -IV = 0210942a93c0f760e9bccf7110d19c37ecd0515efb0765ae2563554adeb0845416628a854b4cb9f96b7a18068e4dc239735d7d827dc52365fa894dab2d99be2f -FixedInputDataByteLen = 51 -FixedInputData = b4e1a6c7e11f2d9e88bdf843673e9562c8b76a8e8c30f4d3dd0b1802e499242d07994c789e47a2f5d2e0f9617a06e164dc8dda -KO = 989a5d6e1b97d4f97472452a4d305c3b9fa788ba08c36f68a240af85dc9c277c17f98906f2c1facd4d754e6b9f544a2641d0556cae1803a508b05445f3c9ef2d60ed259e9af486a1bdca8c03d80d452575dfa3acaf6e6ccebc7494bbd2054054e175826728f31a37d6b639047747f42e21b94e722665b4b740266af8495575d2dedc6c18e05b5b2922d44cebfb1b6711a4af7227d4518aff17b56d2a76eea487e17493f2818c6302a0c4ce1f9dfaf1c2448e50e6b37489b136ee1c05e9aeb97d171643c50bd4a308fd05b85a2b340a39ed523444f66c15155dfe795612716b46f98ca7778c69a7cbf4bb5cc484fa220f19e1b3004805219b03f8e1c7d9a44d2b8a064be955ce1f8a972b5513baaf3bdb5954cf72108174c2fef52db908a178da69f6c01db750a11c0344f6fd - -COUNT=33 -L = 2400 -KI = ded87bc0e9848e6b0fc8bc143edab08d180df8004ab69249bd7435b59a23f1b8e53fee80de0ddf11432ec07c36ba3d3d5b75d4f6b98e9ed140aa8be7ba798661 -IVlen = 512 -IV = 095725a2288fa4d850ffc869c27759631fe74eaa9df12e9735a805429055fb0e364f2695043e72a082e034a0611412de9f4933beb3730e7c6e795b8d39a2d170 -FixedInputDataByteLen = 51 -FixedInputData = c3e4d447c7e9abe05e68353797114f055c789ef279ae024cf5f438889d456b710754b0bfbc92529dc5fdfc4dfbc34cd168d9a2 -KO = f8f69a97d2b14adf3c921dd2f543aa51aafbea8391c924e05816811f8fa501121b9fc33b3b40db3ab4d9f1a71501bd878a10d46b625a49b915278b1104cb9711f97393281b208a85c937fe80e2e58fa6368859f3e18cc8358c172ad0e02aba907898171e6cf28978e83bc401dec8344737564d8fc7c26f3e9d19472084e8e7b7bbebdd51f7367959947fc9456cb4b5f124e374555be581f777abd15025190f15b9e2f2a88270b4a2ba324d33d9b65be97749062fd31683243e2020b564660f4dfedfc2bbfab200f7c530a86bd57a7775429cbbc9353737e133c18961382eb47f6b496dd7c3e99325634f2a5331478b3862651c3c9e322b342bc9a3bfff49606ee1fb07abaa90305f5fc371dc5e413fa834cb7217b652a10ca18a43276c461dc4368eca405dfe5f853d2f6643 - -COUNT=34 -L = 2400 -KI = c896207a337d897593942b1eccfa86ad694565d484fd8945ab33d7230e6ef36217557bb4bda311300982f9f46737477827e8a4977eb32b800f98502aa8b4d8a9 -IVlen = 512 -IV = e54b4603784275bd766cb2065fcd63074942e67fe73b0f352776a7115695368093457edaf8a1967f1ed8f9ccb3c49eac18896b593a96ba454430cf4d3e32379b -FixedInputDataByteLen = 51 -FixedInputData = 338286bc16f831467580941fff3d48ffbb6e638673cff730df5a9891e349e5747119223de01b31b79c495116cf3ca0c408d7d8 -KO = 65dfe4eb7827d8910fa120123e3c037083df206d7e0687dc79cc6de869405370cbac945205546f307deff4c0bf93970b6c0b8131d3a891ed2cce78837866ede3c962e35ec2a41055ba8781a225a651f72aa1c3a392d2ffce6b390c07ba6ff1c9357cba305d7b1f6b72e4010772e888779efe9f5a9871057ff3175f19ab315fe90f23be39da7b5de033e10ea5dfd34df0cab13593a019b80d8e18f79b84f26e058c1a16e78d0e9f548c5145ba827849e32d7009deb29954a68962c9f167f7e25510300af1ec1041ab35a4d19f2c8281bf0acc3986811d0cfe46eae87def12115a7024826906f485efc410b4f622fa3140302027cd9393f2eaef5cf07ba1830cee79283d843f345e9ef0629cde794ebaa3df1adb23d11d43be99993c36e4f4398e2874eeed8f1dc4db237f473c - -COUNT=35 -L = 2400 -KI = 84489eb088b4ead9b104ebd9244161e6d422eefb5ee250f5e18effc5f8f0af54c37cc715948c524b5d73fb183abc2e739cc364f1b0aebcc7030485146f348fdf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 544fe67dafca776b37cb6c81532d410bb3bacfdfab480b3916cb67133621a269f0a538690e70dcd5343458ee08c0dcd39f70e3 -KO = 1a18e8091617b259d62e217b2a44c28bf7eca0eb344c467918ec9df29055a93ef1ab0eda0812955bce2f12497e02d96a61b77bb3d38feaa014f3ff4840c9d72b94e54ad1e611c4fcdb9c333c85ef0759cc87d33b4f3b0cb58a3786e358d26217d8b77d91241a35e973cb490b48712e1a7113c2816f3dcc8a38339829de9c2db9e811897d202e6b10fd777b555fe7bbf37c33d1ae4bcce3fee61f7449906eaae76b3999572fde92bdfbda96d06eb6c2dfbd7b82b521efcfa77613e75173d1da8f39a90e789d10c0a60f84159361f712a475f88dc10633b8b8a7c973d60fdc44ed5b3ce02a5bcc8d4a22abb91231875d85736e90d9dfaeea2794162e07fab9f10e36db91ca96f61ab930e0a509212a51f5679a1d2b2211d9b040508374bb7f544e4a4b2930d14de7b03ad5bd78 - -COUNT=36 -L = 2400 -KI = 5603343cdf5ef470228b402dfcadcdab0c2dbdfbea7b3aa02bcb51a1b5523ffd31eab57a496436338dbb7ed875b84151cdf290a9d16fdfdbf6560b5af34a9536 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7fd25b4e5f9eb988053479fd4916bc17672daf79c8089995d9b3717f2dffe21ac0ac128ecce4045a87ff37cd3863a20ce59405 -KO = 82c6c7e252afc434c0883092a9face5ec6d3399ce2c21f7c37bca0c068503f65ce01e3618040d3bc647640552a1920dd141ef62d7812af4735033d7d65a28c0d53c200c099f214863c06a6e57b5fbfad5e2b383ba0c6234894bce5199f79a727610f5da1e5959de55d6741bcd3c347ffb4b213884dfc8ff8134fc218b25719be8f045ad9a334f511ca0ecb7a612a3545fbe7fa071bc268e40a1b27f0014f9753d4087ab6cf133e54b4f77098d5f2c76407cfeb3f0cf58ca84363007caf429b9725d8c82497618f0634c4c5507e076f32a487f31610df647d9d50d4f1e6a89cc96414285123bf4388410b1dc8ee0a3f13a3076eb14484716aba9fccab6bef1f87c5eba4bd1a1d84985e61982e13926ba8d4e9a236364c1093cb90dc5d506c1106e00411c476c21c01b739d950 - -COUNT=37 -L = 2400 -KI = 23acb9c61c956bfe2d5f4e41a738ffdc9dfe010a050b6d34bb6ba916be276a4ed3e06fa022d661a1790ea728785a749e6790a885dbb0dd5647980dacff18b03f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4c10bf82f088b28a626372cb1f9f833e9f048d80725f29b4ec079bea046cf0650296e93181f7a870169bd43b47a487453e3e4f -KO = a9221b836b6d5b70df29453cb93b8a9d97514984b579256675620957401f4b7e0581b0bb9e3ae664d11744c2812da2f1bd93619ae35fffdcd59ec970804dca282360de23d3ed3647b785ad334541f13bda0901336ef19436016d7d493b4069fb04709898220dc6839d80e7b798eeed1cb517b4b7f81aec15d37b4ad8794d26b67593a0beb701fab696dfeaafa34ad6eb8b93a0fd31377a855015f0483dd9a9b28f453d1553fcb163a05d257b87cf03463047266cb082e00a798356bdbdd2639a3046bbca78a1b21697defaf8f3ab9786da47038c78c0382b27a1f15b4e28df781aadae50af78e19048a4d1d5944f7a0ffd455ee55d93106b26b136de53c86175242e45b1add0bab9ca0100806e6ce455f0385c41b6dd1916727702155575c59634bef154e715090621c2619f - -COUNT=38 -L = 2400 -KI = 6a0eda6bd3fc920beb369a3799c4438021a0aa09f1cffe2c72845bebf0876ff139623f9d213379f24540e5ff14f3e1e2f2931675265ff0cd18f0f44f749aa929 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c608ad40e41835510f5730416cbd044ddda1d887d4fd99ddb33d96ea33e6040a7124387799f6f52936685516b10638c97dc76 -KO = c51229ec057efe4f5fac47541aa24472d4376fbbafc01fe8f335c8e2277ce9f7a65dd5d0497cc178f44e883ef87283b19c63cdb77b157f1525a35fb788c55f8a1b6656e0b9b96afc33b30fc73187a4c22299e06156d41ee1793eaf176b4de043070cb5ee15f11d90872639cebe494c68cfb0cf7ef174b0cb616e4ec07e2ff6aad0b00c229bc1977efa4f048c3a0b32a489bab64d417e693339d9ab9e584ca1595bfcd089f6295ab174bb00e1a503285dfebd8f8d0405fd9a75c2292dd317b573f1b30a1dbc54259fac86f65d344bf7d9455b7d74604b1210def36bfb6fc7bb9b034c3a327786fa8dabbecd8889f7edf5bc16f69d906b23d0f442e42a1810b9ca2fb10d61d68cd595f816c6b63658b1cbfb66223707b8e5cad8be538a52b44430d25875af536ba19e7d031a22 - -COUNT=39 -L = 2400 -KI = 3f0843f6280d22abe34c426750f8a02fdeadbd441010f7e9ac7b97708c872f144ddd34c217990463d94534c92ac2827cdf92e23f59a9f2965215855181571219 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a29d5c99dd12aa7a16663e202acc78aa8e88525b0f7f4e5c1df380b77054d1e371476c99f51ad5e63cf8e9f2832e03e2e8e8de -KO = a0f6912bdf40e2a00ca958b3dfc4ceb16c749b3403c93fd0fec299ac18ffa8f8c68f0365d98aa3e226ce0d62b9fd8592d20ce1180ce02d82c37515f3caac93fa327f85dee2c2a55ca43d32ec14cf614ce4a031771f4efe1a593eb5ca5257271e3250f6df1457de5a916034b019062f337f740d8dfa65f2f7e7292c7b1e0e2fd8d2e3f3b545653969e8f08a98c2e63997b6dc19855d01a9e0fe9e35216b217732ab1200c74872d15903af3dd4b2f281293ac96fe6fec1c4465b5837d6f753326c1c254e7ec3c84fffb19e6a21095587f9d2205e6969fb225edc7c12666d50b08b0773251ff1188a7f5a2b72d9d7a59e50801c18bac91fcbcc4bff584588cb5f65714c697f609109f8bc189c647a2a90ae987e9e24eba082eee10b7f348d7ce8064d79e3ffcd208aedfa3c50f4 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 0ac5f301ad8c7e576e174a42ed4c9a106af9e72858244bd771e9453a85c8a6a430a2a072e1a17622b1ce89ac2f30a1ff9c71da55061aef4c36f17bc6c44cb41f -IVlen = 512 -IV = f4fe80a0cdd78d87a4476145feca274bcfda9a7e6dfaa3b48b9884e70638a9335a7dfdc4c057b2110d5887a5fe7bca4da102763a17697cc04d2cacc968726e66 -FixedInputDataByteLen = 51 -FixedInputData = f0d0904ad9ad972a9dab8bd89497b749a321619b898484482cffaa6d31fb032eb4138f3b5ff61812ee886a3c03547a082d7882 -KO = 94643c37f643c030e8a0f1dcad77e8421b8a9d17d0090cc1d1e59d7901834a6e6eeaeaf03b59d9c5a5023034c80ff492d08b11da854a2f3c453f0f21107cc82c - -COUNT=1 -L = 512 -KI = 76fa571c9e0fa1421aae89aea213afbf22b405d9651fe97a2bf9b9d9e85bb2b8b65c22ce688ae830ecde8451459df0e4f6a396ee596cc074b511debcbee90066 -IVlen = 512 -IV = 8f774b141fea86d9c0d6c62a014d89fd61207bcab43c540fb7190b8c3008c457694e13bc9f11e2342ed5a0d8d8d61982884fce11a0e56956660607359024d503 -FixedInputDataByteLen = 51 -FixedInputData = b25efb4b7e5f34e1d1621a9757988f716fde4a76e2a5d08ad890584f6b8ca4859a2d8a83a5abda692d3840929b98b69b239d62 -KO = 8f1fae62fd7d72757943b17fa4f804aa835b4b9bf8af51cec46b743d5347c1ed3ff7251914b32db97c3976e3f82f1c6be1a9b7f8573e5d2dcdc296c1304e01a4 - -COUNT=2 -L = 512 -KI = 8e24eb9d07943fd46a0350e1b7c71f8b586a214d5863da7783c1cdd48197c517ec36c17cc5f2fca61270e4962dc5ac623cdc97a73b03152ace80bd994d1166c4 -IVlen = 512 -IV = 28f97cf8dec5171e96d9b0daf223a8ea00bd0e228ff66e5ec4dc6423706103f5d26572604bec9247447c9c696f6e645f27be5c870b0053dc2054e34f572d5967 -FixedInputDataByteLen = 51 -FixedInputData = c73cf1005a8da6c57fd28037ed22f6f90f656ff0e887a2af42c067eb55cbebf137c5f1d34529d5600e46446ac5044344d75f7f -KO = ab49215900e3f52c9f4ad46dfc932e948a548da14985f03051cb76b2f431c21c69c09833b250280422389fe4f228bb96bba7734a88906f4190251b32d5c439b6 - -COUNT=3 -L = 512 -KI = 561afa44d483de4345ef0a7e5f6c573476391df78f169cc35740ad8eb343d59fe25293c3ab165e0f5e0b402febe1f697142231debf86cb833af9889bfa0ecd8e -IVlen = 512 -IV = d3d2eba34bf099ca41c6eb93778b391c1cb4b09303df0c8efe6dd1c1072e4bc454d80670a88045f391d14ebb08898729bb3e402bf218ef95007186f52d61b005 -FixedInputDataByteLen = 51 -FixedInputData = 6352eaee14e7dea6d62c972c9fb3f2636801b607a18a1db39b996c0ccbd5a5a045ac149558a838f01e6fcea3110b48e4839806 -KO = 11e59a7d7a0befa0c8c02a2ae67a091e2746ae40b6531b1725b3f8f423d848c808a0c9cc317c6e98ef36264cd370f5d9363828f2ca06085708202b2f6893430a - -COUNT=4 -L = 512 -KI = 71e1a47e79f990eebdc6678116600a38de5c895e9de30aa6e86c4a75a75401730ae47bce14ed484246b4a52b7d14bde4a7859fba9d7f2c600a45485bfcccb5de -IVlen = 512 -IV = 6c278bc98a2db933d10427370eb21c000ba4de985a25e4cc25f5c0440675d579ba8dc90f4ee119adc5081053b22070fc92e3e6c84d5c555b2b7ef9f11fa363a2 -FixedInputDataByteLen = 51 -FixedInputData = 04ea267fc963156497d68663136738c28fa91a9c042a73c58eec7865f228e54f51eac8ae37b9c20f7bcc2ef5d38b930b43f53e -KO = 39506b7eaaff4819c240ffcccbdbf60d59288320fc8deabc7a10c5cc346842681ca722c734ecfd7873df45f43fcd1e52d2fe3e0ce82d7f0e9c71fc7853c46206 - -COUNT=5 -L = 512 -KI = 0d8eb3c8b6f91db491631c80024da411732e25c7cc206662a981e11d1e830578f1b4ee0c87d9753c237c98f374d9af036e36cc6fdde1458081ee84a45599fd7e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04b516dfdbf8620dcd756dae3ee2e357ebca7d37665c1219aba0b5294a5fa3aa55e7ad414246550395b857056760b862961a90 -KO = 3b1a82b19da80ce9ccb8a8efa25197fc9eb4b4e0f563eed7f63229fadbed1a5b85cd5f0f423b63e4cba4e18eeea43559eb9bff706927cf17cd038cdd4b14083a - -COUNT=6 -L = 512 -KI = 73ae629ce95d5e692063f2f461c03d87d040b3ae8c4dbcc6acc89d8f7981b2f0a92dbfb35f73fea12cc121bdbc3a0bfbef6e8c59920459855f294da81a0a6511 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc4120d078be7ecbd1fefb0485cb57ca89002381b98a7913b1e63e82a08c630bb17cbaaf01f8fad1e2281216d56f96077a9299 -KO = 68dc93383b35d7c2b30c9e7e1c0b46e9284f98cc226647795ec507b62e3ef8d9835645f71d6fe2000f90032a3da9af9fe4ca46878538a176394c8e9372300428 - -COUNT=7 -L = 512 -KI = 6b7417b328a156873d9081a9626b1cd9d5085f6a5e47a580cd99b90de3ce8742c4e1076f2162b23bce0fadfff50e5d54137351c649bdc4b5801389297f49e6b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 68a71a1f43c5e739a75c190273aafe49adfe8bb3ee63fa8918eea48c694ae952c5fdebdb5ec1bebd2f9a610790e1778d237c86 -KO = 2b86dcd2955a95f85056e70f7b55df426adb230aa7dbe0638f4fcd2cbfb052af1e17d0f837f09c8f0c54da9732ba6ab87eafbadfac2cf492d76c6d1fe6930fc8 - -COUNT=8 -L = 512 -KI = b60dea29a83b8484e63b9706ab138e1b9d70428ee53e77c71fc60b983ecd5ff5e52653dd33fd8bacb192ca10ed7022ae88c2550a7d65b698e0119355612b4c8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ca692ec150b2a4448cede1d0900c5902f114977b00551d1b30be0c56991f9bcdf572221aeaf435b233ab21ba5f91b754b465e0 -KO = 9d9689be5ad343ec62dc52ff9d3602a5af98b77741f1d1e1b8a3167d413610dc827e1b19bc45e4d685080c89b94a21f6692cbb5e27ff19131915d69f4d933a3f - -COUNT=9 -L = 512 -KI = 299d4e9c3907b11f7836ba334d2b512fcdbbaf2e792b91df201bb3d5efc8d6182ca3102d931824928064a149bf2261b02c3611072d8a5146ac1914a365242236 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3674e513bf9393ac8d2dd127a15053d2126e92e49724eaf037471d39c625c671fcb8e1197b2ad612c2c1ef71992e05af050d53 -KO = 1d2dc9065f6f30abd0dd749f986e24c876cadc803d1ae25b905d7a0f6eb8749653a808c70a9f66470f05e26d84b6d7a3c41fe9eacf327168354964d163b6f660 - -COUNT=10 -L = 2048 -KI = b45740b3903f651bff1e0034e90f3811c391d27272e5cdfc5c6f326b97a2045d298cbb779b0243830db140da755124703ae282d3bd6ae39d64a94a01c44f7521 -IVlen = 512 -IV = 5d6a4300de5624caedc7af122d6bf9b43a15db8206a6807ac55bf9a0da92952987b031da5a23839aa8c88711ad0ec433dc52ef027a5881277ceb9510641cc32e -FixedInputDataByteLen = 51 -FixedInputData = ab08662d8b127ad7e3709dcbf27d71730cf0f5833f511acf0c77a0311b869816f3312b4ea89792d0fa8660e6f3cfb0a88ddd13 -KO = 4fe3e824c4542105ff6a7f7a3d4c3cb3ff5933cde724cea1ed39078ecf28c607ca5805a40210da1c4bec917a25ea47369c54a193a0dfeab29065367e1380ea6fb56aa53dc253345f586910ffb1432b5cc385d4307170d4c55de730d390841e9029a2d5ed577b830974717f8c2c1f27ca3ff36f4c6dfcd698068909a210fd60965a8e05e2853bea6fc52a24d60cee58f6a5a9b61685ed215c54bb7dc3d2c408b86da6fb690bba8ea694f06df3169995cffe6ce52a709b313f0c2d6c89389006e89e6f961c5d7d3c27f97e684a4c5ad9aeb5c25d108961bff721fa5f2f4e37d7c2d1d4dce14e442d5548d5084f3345527432876379d280a1611962366393479a8c - -COUNT=11 -L = 2048 -KI = 793aeae448ab472517808efb9a9200fdc33d99c9456cc3786afbbf65ba4f37482ab2a4e6c05d7a1f5888721ff791c325d2967e4ca5a44c0955a6c9b1bbd16d31 -IVlen = 512 -IV = 55cc29f253b10674a0d1faa1e17d2a07c1742534f1d391166fd1c68c9f4550efd381abc521186cacae891bbdece51609dd0f14f68d5bacfbfe7ca37559a44fb1 -FixedInputDataByteLen = 51 -FixedInputData = af4b05685663ed321f5efc154465710d2b43bbc6a9f67b09d8c996f3ba03678b702246a704787873d203cfd22ce055fff9b67c -KO = 5d340132fbf8bc2896ca5d4e746087eddfa7c999e17be2562936432bebc6199a819c5a1ec3181af5753ae4dfdd8ec6c16753c4c39c2db8234a98ba729d1dc25de14ffe5200a42271228af5afd34b6df4a444897336dfabe518328c07f7d77dd9aae599fb8ae96eb41c6b6e21fd2a095a79f0543798428192bd66f82820e5128b59c5dbc0c9734e6bf5b3f3bf23119719b1b4173eb668534c920cbbcdfd08d9c09269c496d7bd8ecb822ad73e10306f45cb433feb8e897df3b861f139fe60be6bda3a06fbe2f6f2746eccc09f3950ea62110d8cdc5c71339dfacff765f4c37daa850094ae6c29d1f7dbb76091aeda82d04e0eb9a9416170b51dcda1a97b201d8b - -COUNT=12 -L = 2048 -KI = 8b9b73cb6690ac57c2e422200b329487ac328fad6d81950a996081ce4b17ba55fc54deb8932da99387df147532f38f634c57e4873aea40175369b9a1b7cd155d -IVlen = 512 -IV = 8245049fd78eaf242b602915c60ec567a0e1df69039a525333c59c64007ba24b08eab5e209bbb5227943010f13ed298e7f4bfe16b2f466b870d39318eeafae0e -FixedInputDataByteLen = 51 -FixedInputData = 4c1ecbfcf73509686b417a1054cdc34b7bd819e201a2427d2c4acaba975201ca465e6d8b8baf03b7b134261df429fad55edc1f -KO = 1ff2634bd5d5a3db2e5d3cd6b8c42a740d2da1a79dee43985a3995a3de202b29924f6efa09bda3f7d458f1caa15d2aa94e995cae9f4455728fed1bbeef1a9d4ad82409d3e17947dc2c64dbafbc433e390bab4a622f33e47f4303deda3ec4005ccce10a73e2a9fe0cf40d29f5cc45dcae0f19bec67651d81e6ce693189e2557c6d95a8a0e2bb5a8eeb4468a062ec520f408de1279ff17db8f1d202a22bfb2b61094cf762c73b7aef338dba226857395554ee3f0e1d69f057a4b3dfaec6c61abe8ec0359635a4b7654091fe49cb84037c3ad3bc8e952c511e9d7ef2c659231557a36b0e60cd6d9ec7f088b77dd99689d045d01964218668f1b9e0eec5de43ac8e2 - -COUNT=13 -L = 2048 -KI = 7c820fe95f1fa532710e141f51ba22c7f0fdf32d4c9b48ed2e895832d82cb0fa4b072b96b4618ebcac699088c28a238140b9c7e5cfb3ed077d978ecaefebe8c2 -IVlen = 512 -IV = 5c8b15003465ccb45a3a2fb749a98ee0a7a238681dd6064bb130b8c76258539e751eb0007b4b6c68795b1be34b390605419b35fb6cd678c520f3a4dadb283c47 -FixedInputDataByteLen = 51 -FixedInputData = 7919356951cf9666310ffe976e31e48fd1ffb1de842b5c1d398ae149f3ccdbb2e4de794c018c41c0ba4713c4471eebbe80ddb3 -KO = c95e102a2370f9f6a632e8c90e4a7dbf481fdc0f5c0cf0124c056056bf090e62b4bbae0d8f8d50112c94647fa1d824f57ce87ecd3cc46cf7bd5c01e5414bde89c9c21a6ab1f6d396f81b165353bb41eb850fbc40128a43801cbaabd822984d5f690de290abe2cc53d6320f3ef13663b3c8120a0a2db3131b003e341e42c86ecdf3ff891cc29f4253d8a15ef4ab341d940fb133e94633f6e4a205c33b2ae30790d434cb2a3c938b24d74d7ffedf20a3138284ccb9bd87343886b5533760a505c5e661139c7d8c317165cc65d623695477211392d4dda2c73ace1de029daae331ecdc2b26de102281b104c2872dc747b62b31853b5cac57406fb68f0818a0622fb - -COUNT=14 -L = 2048 -KI = 4e6930a6346fe4986db58c6a3bf6076da76b71ca55fc2f8cd81087df21fb850abf166175c2db57d9a7d2bec30d6d797fbdc9e3625783e2816cf85e97c0f5953f -IVlen = 512 -IV = 73ceb57e2f46e5943af81fe3e8c64abc2a8db239e03464a3153c14aede86b92dc8cff4d64aefa8b4e190644dbd73e270ade7010d9909bfd043034eed94d8ab20 -FixedInputDataByteLen = 51 -FixedInputData = 0e22d7af0a02317b668e24773644e890b53d76e290fe4350190489c3fa8cb4b63693b577997db6ed58300fba5a232b5a39624a -KO = 5da641f619edf7a5ae5ee027e43e19301281835ce4ba12694f87f11ffea92a0270276ae832a429602fcf864b394d89998d4a6f18f06267ed50c966092338a8dc1a5c67390674e19a9aec4c4a73a0d7b0fba9eeda535adc2369d421d498ec9b62b54ee03fa43c1ee61f21246bbed521e64f92afcc8b76b1059d7c572d8a92d4ce78ed71a8fe372f1bae4e1945e474f4ac63fdc0b44da34c9678d179cb8ab3b7ae53d80d3a8f9924984c4e3c2a6b08f839fca0b9d28bbfbe99fbaa1c893c22d6e18abe86defa7e4965e382c48b1d3e7c8ef3f3269089d15797b16f78b37fee9774796c1d520d3163f00cc88f2fda020b342cf7f36c70d18d321d55495a589f12a1 - -COUNT=15 -L = 2048 -KI = d3051c927956cdf96905e3c778782531635d9554f918c9c70c3987a64993bda2c3ae271ae3db78e88530fbdd328b0bf0fb7b8d1c9ae90ce1c22bb7b0f6200cc4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9a73ff2a791dc2ff4987b4fc3913dbabb5555b525a794c71104078025ac170264d34fcea9890cfd30a66ff2545abb5b5d57c01 -KO = 2d565209e8803d143314c01e772d69c159fd61463c5da4fbc464ea4d8a879280c15da02168aa5733f9987b2b3e9337b2c932845bbb6e27b2f9f51007dcb0cd7a021b0f3e8633b01b220eae44fb2414764a4f44fbe17f6a910ac2a8c6ab4f2b479def6c747564770d483293d83b879f74fce9b0ed239549cef32fcdf7a2a1e8683b0956816ba7c82bff05012e16fbd116036ea34137c165bd86535b8f2c1261228b0a1ebf4e340bab1c3281d6062d2bcf5024f02fc7e7dc9d20fa15aed10705271eb55cffa9a519ee0d3515c06223ff85733a98c5d07f05bfe3df49b151b84f3c13948c45ada5c5cd1bd1972ce832f1d015963645d8f3205541bd31cba22c2ec1 - -COUNT=16 -L = 2048 -KI = 0b7b7eb63f898d0409745aa41cdfa205c374714d8ae8cdc2f9820d7cf132c91852e8de7169e29ef5dbe03f2eb59409a60541762dfebd682efcbb74eba378964e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a0cb27d7552c6d068078c869a38a9323470e8426260c21299302be08c64ad37804d43b728935d6c351aa8020b082e4a59144a -KO = c33fe62813b88e5935bdad51111ab8f277c8747620f644e49fb51d5a97f3bfe6c01d0953acdcda25361db42c58ee64759f83403079b40421405bdfe908b819d0e5405f76dc5a8a3f3b6544ea8f9b043d1e93dd79d793910d25702159a6165ae7c8f37b5adb6652f10c69fe6e1cf527c275a4f5d755823429f15d143a1b947f5f4005e01c4d91c26ebaec94e2635b233e8f75e9672b1badff940dc08a1665efba93eaf3d114668b1431a23b7bb575d25b8ee29d98d1ff2a2534bff02428401d4c9d2d9716d0121fc94ae7248c95f7295bdd59a0c42a58dcba69dbf8b679ca149f9d4141d744d93e570f123999595f58b9282f0af70ebc9c739f569ad4248dc0b0 - -COUNT=17 -L = 2048 -KI = 74c1ae92b363a4afe868c36c64cbdeebf53862189a510e75e884ca08a4fc871265cfdc5115bbd69d9a7df7cd8a442e892c46973a6222567bf5733db13069ca35 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c931057ec82382b464810d91d200e58125ccc5415ceb6361551076046ee15211c1040ae85475cf6477160ede67e443228380f4 -KO = 28214fee266229b17c675759c456db1ce511c5029f7de5004e5a26050d832cf6c6690df0daa0ea6467a196cafdb1478de133839fd57b92676c48aee2b7829c4472277c3ea64410deefd32a6e55aea64184827f021f858951a4adfb476db3e0ced92f158ae2525c9d50a9b1aeab9875a437fc039e815547ac104fa6c351b94524102c8ffbf590085a90e00a845c6278ec9351b77a80d21951c3dee4ab4867a022855b09d31cb244daaa86922fad4dc730197e50821007c4862f3d053cdd95187a3d81f50529ebc1f173144969d0387831596a36e1693f5270827ce880db2c3e47aec0bc9f86a856da9bb9e33101adb9069470c3f1a985f353a8b5b8a5781e07f2 - -COUNT=18 -L = 2048 -KI = 0f3951032b7a99b95af5f9f073b71a55cde9f9abcbdcbc0bf75445cbeb03efac94f6c2da690583bc95a30df5350339524643a61ec1fd93c265f8b80a82f8385d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 27e1dc8e3bf4be33db63a323bea42d0a621501979cbefa17438994c334b1beed208bb26c39d0bb87f9f65d88f2ec9dbaeb4bf1 -KO = 3180a435878652330a32f461a12b86fb84cddfcb854d5acf7db9367a1cf4b0d83b061b2c1981432e0ef9514121902de1f5cc1d519f5121d6b19878727be21a102c112260bfc7d5242c24a57b7b125acee7d2f20993501847cfc5748ce946aaa8ce2385cb1391ede13324b51d8520025016aac58e0b547288a9e5598e4f416e1c71eae8e31e7aff2ac414522cf52c1d7dd0794dde7dab05be639e42e064c7278735d8ab2ec31b99b0420de0d67a1b36d219a5841ee04451c530231955cb80dbcdff5d24d910877e5c825c16bb52bfdbc59795a410ba5d1cc6f6ded06f3ffd40dda0284c3c4f80ee5efd8bc07820d6803c68f4e0584e499847267c58e0726ac79e - -COUNT=19 -L = 2048 -KI = f9d06bc9931d1f19041394739e5e8739f4e448ce910afd0319ba2f51859e27977073e11b1317500d4f69664bcefa9871b30eea4137311b4fe2c1785c421abf38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7459317c2ec4000d66e57f3bc4938c2f50ff8d91d3c5afc4a3eed07c018785ae5eb61adc80b1cc0e25ee82ad605666e9da52c3 -KO = 7139664c5bc52de9a0873be15a9d810908087178da21b583aa1e2feeab89401ddb1eec3c951f79d18e3524f862d1cfea213fe423d1ab205aefbe819ad98b31ca7d054931b742857fcde6b809fead3d18ad7d6793bda8f368e38776cbabcbf73f5d0bb697214fb737d4aa7eed5c0b4335012f00cb28f2ee3dc9ba4387e3110ba5722b6a653fdc2d7c1e6b3372ef7f4a33e0b5d17ea43dc7c21297fff25803d3dc38fb206db910889cda3f054bf20820f9ef1c4e857de23779b302511a0fe0a6227eaa920e3b1b0ce06f126d1e7dd56a2f5366a7ab894d2bec758213b98e38c34f891d1f5bc6761046174f6b30c3bc1992b755d83c3411362844d69ca80fd6c16e - -COUNT=20 -L = 560 -KI = 59b41aefc15bc0b6ece0bb14676ca0f1aa15cdb8de178b8149ba367f3cab4bc644998fcfddb4dedc8fd00013688673e59b8a323d988a17d2d65c8f6f7326592d -IVlen = 512 -IV = 92e066ebece988196821064e2cf685a52666ccc17eb69b13bf223764e425aaa60491a6bff5c5c8efaee598fc63fc72cb5e0284c60c5321417ad41708c33b01ca -FixedInputDataByteLen = 51 -FixedInputData = 008e91faa74ac29946565bfb5b667074cc6fd84255bc3fbf315dd81c9381cfcfad27af93102cdd90cc8247a1aee3c8704c3e8f -KO = 255c5bec40dc40c9c5e0dce9e7743eb2ca9b6d65b6897c389487b3c468283c90ba421b45e111ba17999a04973950df5c66fda2212ea0884bf2697293d15568541e2c7df14925 - -COUNT=21 -L = 560 -KI = e6f76c61c029eb140844420c6ee3ce0a863d8791ebee34c3d15cacec7ed6608227edfe132d07e606e267f7bcaea67e68131349cc5d4c044387b9e969822c015c -IVlen = 512 -IV = dd11845c5389b10b4f8dcdad46bf32c9cc9a95f818baa05c6dfc98fe203e2e6e8aa313888f5d790c46116563017bd0fb0a9a504a097cc12bba446a41e3681ee7 -FixedInputDataByteLen = 51 -FixedInputData = 65339c8d7caeb86b86fab3baa4b5bf0d26856fb32a561cf0dfd85f1cf32aea7600063dda7642ff9e8800054505ba3e31dd8e14 -KO = 72148ee49eaffd29d540274892987732a803e31cddd55e9283dc84117e103daf6e520945aeb67fe57f81428b29e932c633764cbb2d089b9869d8991c4ae2ffe4a0435f98b3d3 - -COUNT=22 -L = 560 -KI = 7e3a801bd2784e9743a48c0fbe8096058838a9a0d29ef703006240cdc62ee4784db5764273b7937e18ad448e2ed00b2e59d9de4372038666cd870e3a053cb94f -IVlen = 512 -IV = b49a0a8459b7862e10fdecaa8ab1adff30cc8acb7529137e9701ba19b0d68319a3649b0b539016dacc48703874a1ef8bd7131ec6b857e852a68633bf82eb1b7c -FixedInputDataByteLen = 51 -FixedInputData = 02134ac7bb9a22ce4f1dbb3c48fc65e7dafd57639daea457678438cb6f2673717669d4a094acddfb65056f2759cb093da64b3a -KO = e7403722dcc2ce3de81c58f4291c5f598e5d0750fddeeecf87ff3dc9e0179d6badf1879e648312f90e17fc369da8f5bc9fb4f1b740e50dc4b9014a39c9c348d883f45a08a977 - -COUNT=23 -L = 560 -KI = a69c68ae518e4b3141b2c08eec748961ff7ab45932d7d701bb9783d2a3be12ea5e8eced4fc5d99c9dd3028f664a434f5bc4ca6d3ac1cf3fc62bdbd3cf1c5df31 -IVlen = 512 -IV = 51623021b4c04838abc4f760f7f21c2fa515cb9bac92ad3d8ea0513eb87ae0208a2388c20112ac652cefed3b698f5a8d10f19b154e20039a4d8391fce4c7ebe3 -FixedInputDataByteLen = 51 -FixedInputData = 280eb5607a3f9241d25695b42f96f0bb58f5726b83bedbc928ee99b5fda76fa069f052720af930a5038610a2e4d91fe2bfb523 -KO = 57732d9cf74afd748f0da9658e755d8562875014d3dae8ee6ad3509ad7931a5444fc47b3069c4f64f41bd0240de7321dd96975fd78723f88d6b67f8d0c3ed8f9e7888c013991 - -COUNT=24 -L = 560 -KI = 261eb08f22c2d72d4c2ce84bb2c50cf4b56af12d1909c31251bfb7b378bb94a49d8ea02ebfd4aa7a7a4fa3c86134b816ef544fb43ad4fc794263c4e36c7c5e61 -IVlen = 512 -IV = 8049e2b061e647b5cee8fb3120eb0d4bdc3eb28512c9091c4a94bb393d202891cd0d5d7ea790764918d795c5dcb9f104bf985d5a4bc858f509487bed45193c09 -FixedInputDataByteLen = 51 -FixedInputData = 08f1c27694b513deddc091bd97cde3d86c984ad3ced54c243118b4c2345a24ae019af6df849488e5f188a6ac3d2a293fd62af0 -KO = 8f4a26d6de129725ed271d2390879ce2e462203438624206d15597f0d599189bdc20af3b12dca930923b3599093c053026b07faea4ccb422f34172e981764c58a96f1d774e5c - -COUNT=25 -L = 560 -KI = 49468351e9b8bf14f43141ff4c711c90c0e51f7699797d5fa04a911984a403b87ead557271d70a1aa2a9bdbbf3efec9ea5fe8e5accfce16439e06bb5d6d2f8df -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9448298f42a4b1a8a5da0eb69f9310641d59283e7158837e418fe4d08715569fddc57a7269cf49bbd76800ffcf097e9144184b -KO = 64486e87425ed07e1e4077bb37b518ddd891b074a054781fd5f9dea9c2c0bf45a823eab0142209b7ef2b2bbc7dde1ab42e1cea524d56b660c499187eefa7f48eb48a6539e26c - -COUNT=26 -L = 560 -KI = 1ca0b21897144d5df2940445a32ad9f993c8bd299f366af08a116d1fa9f8d5b1f02cefe9b63773aefcce69b6ad9d3ea167d9e76734202e5003a97eba8a95a6b9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d390cdfa9296354d194ae41e6e994bd8f3d290e69dbe3752bef6febcea14024632d83f9b66a61a604b2bafc18313699f7dbaac -KO = 1e7c91f1fc94dd701997983f7f72c01018cbddc2789658afd78d24718abba7f735273ed2c3627d141015997f4a651b1498e2b56a93b38f72f24c2cf7ffe5805d40ce400d82bb - -COUNT=27 -L = 560 -KI = 2b9c3a9a3f45090933745f60f97c7cf185ee20ed52de4ac153c374807ae49056c6874830e4602e3ce8e75ddb609df7b92b5962cf640cefd6d4a4fa182570e752 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 231fca1101ff36231214492b903989cd8a79efa551ffd84e66ac03e4c0accb4914c0fe08ec2c6ecdee9579f46ccd7e1d4d4472 -KO = c3131269f2d9833438daf271b53a8be182367dd6f940349e68186a72d1daf1cad80decb2c2c087a2f8087dda3d146d502656c9d9690a04ac4aee243c7146695f2b5700ca9dc7 - -COUNT=28 -L = 560 -KI = 75210fb7cb0b881880075fb646a2eb9cc6acbb9ea0d80a9d9b1db5b5bcd45519908505896af2e0eedd31752d5c75d45c4f5a5e652c8bcbd44e1a864be627cf49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d26dd3b2b5a37df246b7043ce6ba477f5efd52c4b076bbcbc42d9df8322fc43c0c1246350a51b5d3d0ac58114981195ff3381 -KO = f594c586c74e5e6d284c4ad0dbffb7390117b1bb5eda808fe7bea1ec17ac063618334ff8f16be10ecd07db89bf655522eab4dae72491b4d7aa2bf185b77416fb20e854f27257 - -COUNT=29 -L = 560 -KI = 184caaf4da2acaae588a38810cd5c163e1f5ee3dadf60f879379f0e9cc5160747933bdcb9021a3c3f342c39bf1f624ede6fcccfa1628f675b5e4cc988e331b75 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f2d76cab8c9e838b4de286a950fc1994cc67b7d28a3a2c87c6076f39b1fd33ccc9026cde935e4a6c8619d573d147f1e060f1ca -KO = 1d62c7b61b7fbaf3742bf1b00395ab9a645536ddaeec57be276352ba4e81cbfd66fe78cf55d647bcd2e354394cb8749a92dd2d12e393cba00975d8ffae7077366da7b31bafa5 - -COUNT=30 -L = 2400 -KI = 1e79b76b48040f01e344a02ce0afa8c377d04c2df44b6c72a9f2f7244e1ae511733130194e0c01096eb62d31cbf0563d0590425974672e293bdef06b31bbbab9 -IVlen = 512 -IV = 8f7183a4a2a865d57f1598bb7611363bf6ed472fedd3f73d11335a8d1c8710f7d90a2244c71cf06261b01c36d806af3c4cf8327bed6e92152c78382ffd138dd3 -FixedInputDataByteLen = 51 -FixedInputData = e3d4fc4115e9dfd86db23867f6a299cad2b1a95d88395149b6fd80ca975ac3023a60fa157a0c79facf1cf2cc23a16b596bdebd -KO = dc1215962a35452c169c546631d31143561b7c9ebe507c2182726440c857aa5cd1101ae805511a146ca39769b89d39efe263e496671ad9e9aa6190e2d0d4b14ce2e66643867bc2d8cbb1f8bb4b92e3801b3ee8f849960c24c008f0e53f9d372b9d0444cd93b9378e83b571a123d7150b9055cb2d59f0fe40e8ace32f47f3c2dd29bd4f05b1e03c9b2f8a8154d984c94eb20e4afb51b727dad262c2e29ae60f30efad5a6f16999a05dfa5f02f29ce35bec2dcc34cbe04b50d578a293c84d30d44937a10bb46915ea318b2bb1776424fbd25643941ee8c907e6d7957411834dd9c50ebbac82059ded5b83f76b06e5d686cf164f6b712add2646ad8240f3976f9bc298e0adc9e268065cf98d9964c5227a8eef57d4fa105753c993571d2c7e2d8b5c6cfc740aca186d647b6e861 - -COUNT=31 -L = 2400 -KI = e60d372ebc72e64a645516e61b3a255a0dc118810616276cb8b44528612fa6b0f491ef7f297d93198ad3b6a5a8f9f78f1fc0e22b26c13a21faedf092dc7e14f1 -IVlen = 512 -IV = 99bfaf0cc1c219d68585bc8cff53b54394036741b174519b5dee9c14841663fcb70c69582fc7491abf0342b1cb2d63cc32aaf1929eaccec5c9c9375b00921c31 -FixedInputDataByteLen = 51 -FixedInputData = e669b487cd7300142b652be22f3ecc11adb4376c4916a54f46279eaf8bd6fe83cd51024ce7a72f67dd427e2d1b12516fd98b8c -KO = 2d13d5a47db82774805bf5e900a75f459d7c926c55468f7adf4a0ea602d77cd57cfbd45124c2031ead3db096bb766e804b07349a5eb12bc7ecdc90c9cf3730bda40bd48e7d75d55001c400bfaea5d281e1c41ee879ac28f68166a4ce88f86318a81c546fa791775220c6f4d86f5016674659a8ebc1ed34cf9ec94aa8be0d3ab8e73ff18465760efeac3862fe1ed308cb97fc95181bda41e27b7cfcb403db4d1ad84d23a43bc92b14e6ab881f4bbf82d5ca32c2b4ef1387af7ca2d0c2d32bfc07066d352718d5dafcc12ebb0d2284254bc15a54030df20241848251084338f59fccc2c93b59a26d427dfa3039198fe045f316a565b0e3a93067e4a19207aa8173e74d2816301113d2c4d33f56ee09fe3310a4f7228a777ef54850093c20b069d4f3b0cf06173a6a57d853ba21 - -COUNT=32 -L = 2400 -KI = 3f2f29a9f1c5e7e8f5c6366a1f35b772911494342377f7b7ca5a0fc5fbd78893cdcf578a33212120654c3daf95e5e61c4614b4e038c0e182845eecd6e7be89ff -IVlen = 512 -IV = b261723e14812c30bcd559369687f192703c5cd8e8bf4b290a1b49ce803df268013a60d7cce5d0de67be42ce73a18ce40eb99b7e100b9de92faa5b4bd565efaf -FixedInputDataByteLen = 51 -FixedInputData = df6a756c0dbbc09f3ecf45f39397c0a0c8118c025214248e965ac5e9d6162548b9136d2fbdadd1b5afa089fb1dad4295a9d84d -KO = f53d251d873d99e0b3a436de0deb3c956c032418acf710f5d1cd15096cdbb5a3c529302c85f5cd372c0b263eb71f6a55ab7e6dac4a636315078cb024ce0808cc9639b2505c3feeb421f7abf5a0c4d9e9f32ac6e0570fbeb2e05e9a359c2da295174570b473724f76848e084d5890c3fd7254b949fe13ebd16cb027e28377b47026287b5eca719dee02e0485ea62848e28e90cae2d8fdf2440733265bf1fdaafaacb33f7b467786a80ccfe18571724a31314f277089e02bd0a82bc9543522c081ca5a7d1281fa465ee7fa7c913b739e4aa52f37a06376a3ac9dc4b7c285f8bfbf3cc9adc93abe4e44d31e2e0c560a1b6345bf6175416f637d61c28b549e860a2251e3f75c90d80989478e887a81a08c8443e7952b5f1b367e71a1c561215d801c60d52d32b8cd8d192b446edd - -COUNT=33 -L = 2400 -KI = d3df715b150e814e41cb38ae302f4ce507e68ceb72e83da1162408b76e1ccfbcf424811bb84decd38f20ce1f33eed99e8efd4f41fb74bc9089891920500d1029 -IVlen = 512 -IV = 43ad1ecabb6486e7533117bf96c0b35b525704ea63ebe5fd7442b0164be384a81d98a5cf8f598bbb5cc216b014279224a8c487023986db51b71538c4df24f764 -FixedInputDataByteLen = 51 -FixedInputData = d336fa9bcf852568fea1e8a74ac169bb76a552b46f70bef09c5a285c1f59170e6dd032a7404b2e8fa823ede041f22055b683c9 -KO = dc5ced58c53aa54ae919cbdd79bb0d2d554e995356fb76374707de47501d0cf9b1c10065842151ecf2526c8e9039ba6835db90d80e7189540bc29e58fc70ace2ff2dffcd43dcd1b08944d9f5c5b729b59cd5a38a1c5de6f9a9d5d699b0b3a6b399a549a1bb1d30982c5cc5563efeae3ba53dda11b3d93532132c61bc501d667bec8409630128af2bd797fd7757553f40631c50586979dd38583ee8ea2e616dfa6592da6db5756bbf02dfa52529d25f6619334c6d005a70983ef4b408360e29dabb2c896e18fe76be830b54b4fd13034ba683345d4e4a11130e18ce32eb42538b06a9c094fbc1811456ee4601df5174ea3d9ebee400d20e7768277a29fa23e01badbc6c618b63ed28a18ea073a750d273a06d171f8d12ec91af0ee969d0081d848c52d3401dd819ad67775ff6 - -COUNT=34 -L = 2400 -KI = 33738c655129d7d3f73926f6ffdb8a572016455dd639663c62470910b2bf8181e0df542b2540cea0a18cfdf9b636075d5c5e39c6169204b2e90b84e0672e7874 -IVlen = 512 -IV = 0002c276f6bbd76bad0a37adbb3c5748aac72a2635061b3bbf40c6314afd871399cd48158abb3a0d410cbba2469977902d203b2f34da75d3c0304c26c1ed4058 -FixedInputDataByteLen = 51 -FixedInputData = 27103dd1724bc7283418cabbc0d9cc5582f36d20af74365681669e9bf6b42f7f86a2b782e0346025d020b02349fb54bc5d7582 -KO = 738e02b416adbed5cfe9e80e9fe809af96e2f8e3f2468d87ad5f96a8ba1e86d572af07f4a279f0343c08733c16f9aaf9a61b852505381280f161cd3fd63da0e271d542b14e6fcde0c8be3e755b2ed5a53cc4384fe4edb4c4e72df1d375d6201628084fd4d46f8e97f40b145800c927882730940858608629e6583c679f8b7460c3203aa3c1cd6a16c17c2cc565bafc60aebd29db5dfc215e0ac5d38b1b663cdea2549ff76fdb8b5aa5adf4a44a25109016a3d443f4cad77f4c251da8596057750ed6b0f2d8287316c7e85b8a729b7c782e0d9fdd7b9718657da51b50f7e9082de91bc3320a8db9292c87600cca401ff4528133c0275d269b33303760da85b2eced1811e78bb63bd854d4f406d73f180698de176ba7ca6ae8f481a24cc113e57562ab31c67979a876998e6a5d - -COUNT=35 -L = 2400 -KI = 797451d57716c450d90cf02ce417d3bc6edb4954bf28672399ef9a2b64f9a952051ce9c86ab4eac480dcd9c7de45ea5ff8b519e453da35d43e25c140295cd2c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23d86ec30bae1c5291fc4af761be90ef7093e1029cb83ed9f9e30a46db220f2a9798710410227e617728392e227199b58dff54 -KO = 6a7c975c0ba70aba80be1709d77556ef34f76fea1ee00dba8bea7fa5ca9065b7dc9a70de59ca6837bdf625b572fddd3c22920f506f56c69ed6966e8dbee3e042f6dfbd694c5ca072d62b7c184c2153a50122c5aa363196a2b85858866d3e3298d90bbc7185c3174042e858f0e48b3aaab4d44deffd72661fa62ebce427d28633c94318c296e99a4a8677fe7b88bbe9a749966ac3bcd8adf0dd8ddcd9e1db8070811f2ac4347eda321b074baa4b0a9a0add3ea99d05d52b349f1b192b8e5f20bc100e292677892d62fe786348d3212766dd5f7244bfd4ae865e216bf96e4e9e6bb8b2892d8e62f232317b2a47eeaa2fca061b4d0559ecfa0e79b6f3c2b402c5862ef9565b329b0d2cefeb48c1c53176c1339197b17e73eb403f0effff8dfb5fc9337505f19c32a3628549b8bd - -COUNT=36 -L = 2400 -KI = a83f291dc4b34465c790d3a4b3d5cf4db56f42aa7956ce1ff17b3851cffda03092bd09483899b6e4aa9ce915f5e4a13fb02d0ad3a0eed15fc7717d37dda5eaba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 01006736ba1af24f0cc770c2bad6d35c86f9edd6ec128864ff6b389619a157650c6a960aa599713761be184907ceab660b5a0b -KO = 37d925fd94e0bc04f2bbfffb2d62522c61a48956ec8420dac9af2e24f24dbb5b00eeaf9974b76e0229b4080d1ea8d2653e3b0b870c9085f287490bfe80a392f03fd80523a552b3961c8fe2a2ad6280f528bb831bc5d5cbe7aef67a041fda99e86bf2c314f8496b8610342071c22642161757434a6ed45bc2ef94eee828c75cd1f869a4b167f68f1b34bb765a92f6ce31c5cb8e08d6bdffa2783c6f79a65e4144d9510c533375c29b4697f20931e82c86b3b41a6a5facda59b5befd9baa807a60f205a24037860442ba2fa2731ace78d7297b802c6f8024eb60016f157ce10bad65aa5d21bd34e9805201ff6d29ed77af28cfa2168e5774222e9414c5849856e04277c58e8e1ada575a51681885654d8db0a7fcfe4a17ca49e5261e79bd05b8d1f075381664b4e1394214462f - -COUNT=37 -L = 2400 -KI = 8f2552fcc5c1ed7985c4798c74d1ed582642ee90cb0c1ad7044b550aad11bf040fc731d9135b1c76a9344155f84afff69fa508ca6e9279c3a024b442f9501e37 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 17b53c67d8b7994f52b198b16d7bac6251ea0745dcb80949c28355f9b3b25bb854d5e8ba76f4cd1b29fda7c4ebd7a6980d80d5 -KO = 3372d3f43ba75082552c2fe11c36031daac99aed8e24afb9c4e5687095a0158fd5523b2c16854a5f2e0340b60fa560ef62c679b300109331861f4f4587a3f689736977af50199246a4e22dfaaeab12ddb4d95c11ba90195446e1b328f91dde433830af4a60bf49619a4425433ad798bbf69fb7d1889f539f032e2780d5f165d611aba873ae67fd3098a8419bb59361c684ebbd407e5907b5c8a1bbd0ad4185b2ef7bb1abcdf052f8fd968d9a34823e525749688abf6c3b2a98767d855a661c20934f49a85c88e5f09fae417f89191578b40731066303c86b8202bd2b224025fd65875c1b2cd170a8f9e4a6d71457d80280f0b932dd43b283761161745b161a28d4830940b02a68dbba15fc9af994a6e4f2563ae3f2af381c78499d04cb9024d0c2aca27dea0eb87f53f7940c - -COUNT=38 -L = 2400 -KI = b5a878d85becb667f6bda011be21d0753d9effab67192689ec3f009f7f81a9b05d4e43f2f4ac0401a143a72f0f74e6621fabf8eb93a53007688c42921b8dc641 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 55ed07a66c0eb9ad973a83c2a382116a7a180e430f4b57297090297fc67965e29c6a47af29dbf9d7f5d74f4113583707f53cca -KO = 1c438d0748cac34fde9fe61642ef66e7717eb81dac8c009aa6b44715ab5bd28fbdbc4568f305b27c025607b4288f5f8594ef7884ca37b11201795be0e3acca013df9d55d734fc77b0172b7e634a7f470e73353ffa316a2b0f8209f6d717aea2f2a43875a31d8e072ecdfdde4d63edaabe0d8c235511284172171c43d42bde7fff6921100ef8b3c1b7d7133c67d0eb8b2833340f1ab9b2ab1e6a4148247f8d27d828e306314e49837866a04311e7331175cd359a333540543fc7e0e17dec890f9b2d91a842151a610fd7f358fc71e7ee6b97269c8bcb4c52a4a042d58c8143aade90131e9e5bccda4aba072e808d53019294bebfb661ac9a76065bf5c3c2f63b383b8f6b679cfa052fc358458980a18525f8b43e91074060cf41ed4f2941ba0aa67b849a8646fd06c8128e536 - -COUNT=39 -L = 2400 -KI = 05218993b087839d4a842b16d044ba7fd5f07f2706546042f7aa4c58f72531a16f5c868ca97c5c53f01d4ab661a88936dd7b016098b716f797346082982bd174 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cc0fe5dead6ef17214036b5dda6489a47e8c801914356a3828385c42598fa0df15138daaa1399470abbbdec2b474a6454c238b -KO = cf163b43e202518967c9e7d02cc590aeaf16eede2d56012e3b9e74a05b272bea6829b8284b92a9116ce5166afd11c8a3cf2cf20091f206d3cc181588dd9fbca6793ab622321b5cb9fe2d235c1c771b68d5a46b594a00cb7f89698177a7a7cba5b9621b1591c7fb129ace1be454a8d22f01c5b977a4773c925cea137f0bc71ddacb3c1d0208196227185668f6cccfca855623affc9fb84e77b1b04851f068dbf75463044635a8e9c53ec7f7cf9cb5fec92c2e2a07356a178676dd10afb41defef130a2b62744bf404a63d65566ff2f3c7b87b472e1935514b8321f94b756f8f85dc9cbad624f130bdebf0b4d285888496c5c5005af4972019edb362efe438d9333ad0670326bf9896f0a2a143161c186e72a9a0de3f3a5d076ce1f9a7fb435a7a9c7aec3ec10a956006468ddc - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a218c53a13929899a6aa1945a01feda9c338130d2d0afe07b815d9328341eca7e8903abac44c205a7988b1a93dfa56e25890a827e8c525c07e0dad19313ebc69 -IVlen = 512 -IV = 861574359db20c8d7e4d0c7d821957dda42248d332bc1674ea883ca42e6e08d19b670d30903bd4af0e7d72e404ed9e9b1911253ce02d26cd318c407f11d89663 -FixedInputDataByteLen = 51 -FixedInputData = f42b99b32d1994a9e10e794a7e39a9fd4f8d4be59125f18d7ab05665b65ea9459f91c1c9402b0abfdf66386563495316b74cf0 -KO = 951feb91885f97ac7815e9ee7a05f1e74068cdce84d49aeb55c573228ab21ab0d969fdeb345c8a661236c5fc3fc623256a1174882481f44d4dc5e4cf083a89cd - -COUNT=1 -L = 512 -KI = 69fb03269d655f9c6139a8433544c21e2ff8bcf311f6aad6d0a9950a56bbdc32358fc00b985360b4bffedbe24f737d92aed712d36d1371a8498b6ba524025b8b -IVlen = 512 -IV = ef6f365da8cf6876bb65bc76f29b3f8e7ec905730a332d7b3005d12ba6b038c5043e58e1435431271e941e634d38d0c73f05b3fce9dbf1153b7c00fec557e0a2 -FixedInputDataByteLen = 51 -FixedInputData = 388e9638d8fe18dc9ba6c1293cd722a4235263b6c1f0b6f211535ad3aee64f706d92f49e7cabfd4b92c53372bc5cc6c7ccddd7 -KO = 5c965df59f19c36f05ff0dbb2f38b71a1ae477cae7b39f6a08d40f16e4eb27c29855a49c2475420cc418a177d2fd6137a183d00b375b38bfe70633ad4ed8c245 - -COUNT=2 -L = 512 -KI = 8930e2ae4d0bc15d9399ba770b2c70d58d77d2c6e15f6892aa9af5117d2cf7f541e72b6c33fbcd5048a6fbb4a39ce0a1dd36717ec720b40e2d9c882745822956 -IVlen = 512 -IV = bd7981c4e6064537da39eb7f898fffd2b50501cf408baeca048fd821c021ccca2282c0fc0c105a3dc6eb21d693642d0d4de396bd2f027f0dafc0dc95f5582220 -FixedInputDataByteLen = 51 -FixedInputData = 5cbc064378f4c77469278102d6361c0fe92b2b91a8815171a111c8c2ca6ee15a4a5b584caa31c6a64d383a6e3624d2ef837178 -KO = a51166106a39d1f0f254d80c6659ebf039cf710057ddcd6f175884e1dcb58ad190021881573226c91a65f893b0a698106150012d5093e421184d6e808067379f - -COUNT=3 -L = 512 -KI = 282b6e6213ddb18b4c1f36ff66f06f1d5137faf58f51e9159402e70c80bd9f38b7a3c10d417182ce5a874119b45770c9b773f4a15411c8b544a66e11c6ded33e -IVlen = 512 -IV = c8d6edc82d3ac83ae32950179c83db776d6d3e5d3c474c82dc17ca2dcd8ac1bb5a40494a577b342b6743a2047eba260b27993119cf5c76e13003dbec69242db5 -FixedInputDataByteLen = 51 -FixedInputData = efaae3fdc8fc6bcaaea3597ccea7564fc8addb90795241ea13794d10cb20c16b93cdd3589bdad19223903d2d9cff1e04288e7f -KO = 30de208f10ce04d60df1fddc3957306531753e103ff7096971b18d82f56832fc19a38d5d1e48a4b3ac6b5a288def962cb35cd25d22340903dc86ca167e944fce - -COUNT=4 -L = 512 -KI = ce8c535c11873dad7cbb1f3e66164b66f04b860ed3de7f437c2d43aba95a45b9c58bb81f1bdb7df0ad242a2cf76cee562adcc3eed01a72629fed4b3689cc5c03 -IVlen = 512 -IV = aeb87ecf5716611d3011a1e58dbb585042d442cc75f42a6e1b458e7108e757c1aee495febf9784a00cbd83deff564f2429aa2b3f419c8c2eae20b9312d508635 -FixedInputDataByteLen = 51 -FixedInputData = 2ed439371238532c089917a1434589d559749a55d24c3650936f3db2d7815d1494e3ab1ce43f63b5fb0b4502e0925b48c87be1 -KO = f7355baab3ea349b2841540a90cac3df430d3597a6e103bdd4cfb9eed9d185a94dede6ac94e762ab8f9990f55b7e8ddf835b40b1e227fe1aee79673e9cc1d365 - -COUNT=5 -L = 512 -KI = ca7e3ebb6a7bf5bccfb160dfbe7fa527ad9acf05cf544c0674cd0b6b23c4b212c80a273ea3cf1f16eb0f2924f2b1f53407615c6ab9565200ff4344d27547d097 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2337d920a474f63b40224730d4493ea6a9385d1c9aecc96d567c73fccb2c06ab60e2b4de33ba7e39b8ca085b99ed2619440364 -KO = 29a2985de71d350d5215fdfbf675c8bb07567c0286fd2da106e45b0a54e43676b6810cbe1c6a11e1dc924ddb0d3f94cb5ba00603bf24b5b70994c920a0c75171 - -COUNT=6 -L = 512 -KI = aa810d3373d0fe0a28e8f9d0802389018c7741c10d474946f1d9b403a5b27f0bb3b04d758cc4f3ba018095bf92df7c0fa3558d1f12b9db651210572eb0bf147b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6c0102c961331974c56177a38827666481ed158e2e613e131cb7112aceec144d2a6545acb668349877c2f4381ca20ad3d5f34f -KO = 9a6af446e763d3b44dad86a87cabd4c2b14fd3be4899d773f5c34b54a0ba9fd184669f54ea6034f8a517a4066ba321f4fbda021886c5b740430edb6e04192a18 - -COUNT=7 -L = 512 -KI = c7d1e2644e46d8b7b2b89730352bb9bcaf867d90d449dd54497a2a368bc9e548dbf93f344de327f2c43414e8c72903ebe90799a889492d61c91bd73fd70caef9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8247b8e8beaa0680f92b99e3707df0823814f57eef5dbeb41bc5a6221b00850ebb743d41e7c728c8b67224458736a06f38570c -KO = 3be7369ad22f9b1e80f0a077323e8da3cd22727971b691944358110cbb935ceb564a97e8374502b746551e34622bf7b766cf550194b6324ab0975d2b9515908b - -COUNT=8 -L = 512 -KI = 2260bedf0d5610e211ed345133cc84a243d17bf18b06e059aeb4bca5f6ecb3b835b3817889707940a039b8e9353cf145998fa298f955900c1b2ddc65d0f660f3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57cd54a586f72a08fc8b6d58a6b261445655b12b8b3e94eb0481c0d939bb4adc7ee927c8edf6cdb56a1812e10f6ffc53c0a84b -KO = 11d26d870a029199606bb2cb201a683bc6e4324c2cb1e98575c27e67b598a3043eee4b100c81a692ebf9e2d323dbd3e287830c58ef8ac113ef0f438ad83b4025 - -COUNT=9 -L = 512 -KI = 062142c500c1594f2f06ebb55a18adc708902e58aac2fa3a38867d5528e5a6deca858703f6fc283ebc4dc106e2fd8ab7a9a9e05c4a8ceddd2621248dda75a2cf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5db14289602d64eefbe02d4d0b58d41d9249d6ae2255bdef98846eabe19675c8773f811fb0111a9efdeff2728fd88ab7ccb1ab -KO = 5dbf39ab238f7f6154b463971195f94947f9d50d024c7dacf53ab19c78e544f65214c71257d82c4b1071d321e834a36ff2b4b8ec4e331293a00c5ecddc9512be - -COUNT=10 -L = 2048 -KI = 98463e600626f54ed9c7b6ad22cc36afb3220eaca5875c6bd3d3be764d319016e1dd557dfbc16cbedbccb27586330e6647308392d45ef12bfa67e58159510fa9 -IVlen = 512 -IV = cd3a83f64c8448e1600371f4602bd34cb59cb64d9581a6f72724f9b473c0501b4d956fcaff9cc3b7cd73fdd2417bb37ef714bc5afe950af258cd1e26839cd532 -FixedInputDataByteLen = 51 -FixedInputData = 1b3c4f92235daf0f70fc3dbdab62f0601c30cb12325847ad5c317e61e241c3a72364829926c4f5339d4e7d4e544c059f609dff -KO = 29d896a0a781e8c3994adaa67ceefce2fe2aedca6c698541824c2ddaffe3fec9d705f17e3085c3cac92a13636293da44e3e70c97f98a3c7b01018824487392b0f8ae8c90f9ce6b93b2ccad92cb5c3956f52e742e99ddd9f25be3885f84551b6c87d6a81adfb7515cc7aa05ec912a40f7f53caa2951490d3a0b14bb98592c04c2cc94c61777de08d40e03e35f195ef7c5e847d454de6e7bf077061ce85fa74c230945693ac1cce96d1dc3a848b60352f0a5f2ff05d2404a4b87000547ec49ed9320634b0599d89ef334491d6b8bd0f7fce99c70c4782acb1f52a6187988a793a59c093b4d16d293042878b589b4a725fe1d36a45487ba25f3f04b89a73c62175b - -COUNT=11 -L = 2048 -KI = 0dcdb49ab20d71731843f3a4684fbc2adb46f6ec0a33cd831a969c8c6e7d5a6ffa24d0d24796a53df38bcd3fa010775f284e8132dffa95ec0caed41d71ecbcc9 -IVlen = 512 -IV = c9bb6b6782d4169018bae1df52cd04a09db0667d86c9d5114d1c8031eb3b2af6196da850cc22930a13294e68aa17959e260c86b66acf8d795e5d9762733d0700 -FixedInputDataByteLen = 51 -FixedInputData = c23fbfd96504127eed5d5a929ca12606cc53c98c3ec0f4e3c76f769efbfa3b354932ab756eeeea7192eeaadc328af362b63ed0 -KO = 75968fbeb6a6c14fabba40e14c4bcb536a164e005c5fa4c59651e61f2aae0200924094cd0d806a141d5fd9285064fe3d6a4b07d5dfac49ee27af08a42eaa4fddea230313ef05531f9bf2968a4545849bbe8afbe6f0b7ab9144c54b42c70e987c2a4f6c3dc840aeac84fd8438515e49768678614e29352685ae0f1b1998df55ca1d7472263fb7fd6bea462e6f98e38b3fba6498be8b721b478dbdc8f598c1bbc67d04b18e00f485d8205697c8c671c1f798198568f69349e22e1c67407c136b42beb74008bce867b24822b82a0d2d794efcbefd1ef4e3d1f431b12306ca76edd4b7e05d3d427e90a54cb389e8d8bf8c470e182e857b29568916d0a642c35c7ff5 - -COUNT=12 -L = 2048 -KI = a5106a25c8afe5642e86de0436991d8b901ea909d60075108fc1f79c3566441c4457e15d673984b131a4bddad8bad82089df073af890e0a45b618c5a689d9a41 -IVlen = 512 -IV = f878cf7e176e563228f235adeae62e240f6587f8a80f630d4ffc1c1c719526839d0e7d4de4b661c901987ac463ce56ba46565b38e43834d6c06b3527c31fc676 -FixedInputDataByteLen = 51 -FixedInputData = 8aecae89ae649272967da0da86c08b9c7de23d988255ce4f861ccec6960685285720ba09ed6cc97b05df1279631db301afb1d4 -KO = 362dc4c4cc121b24e9373376d81a0103dc627cf457ba050b4ea608c82f9f9436a05f3688403dbc29b8cfb7cf457e5ebfb12c8d5e59c0c5dada33e55e0ee72dc9a411370587120d45d2822544e8be81f50924e73198ab3ca654d21b14a1a13a36a772268127133d567aca6b86c0088714d50a4e5fd307e8d8093203afeeb6427a8533627f717553b2510fbf8f724dae0617ac1e97ee7985b19fd0e3c72de550b3c9f72e0fccb1aa37576f0e6511e915926b39bbd7870ce4d5024bb42d1a031035603572b0d289b2424a1096eff37945de87945b79bbe20d23e7df9257bb8fafa1027e37be59cc3a43c5c2ae04d7af8dda5a7cb269237d69cdb96de5c20ee92f40 - -COUNT=13 -L = 2048 -KI = 8ffb191c111c39f60d41f8819c90e6db68a41d03af580b7e72de1ba4e84cf1dd2052bf5893ea6060988b3d3b9b4f306703543be0ec2cbd39d74a6ac57cc4a5de -IVlen = 512 -IV = a8c0794289c063ccaa3fb0035838b185f50f6ccc8768407ad328dedc3ff166a9dc52762e1efa49abdd295f10dcd20de452866b339d0eca8d7b03b0131ac40b65 -FixedInputDataByteLen = 51 -FixedInputData = e203a6892e8af3a383482465d8e98b783fadee02c18dd3db96326271f4be7cacbe8501b9b9d809da9be21b5c0b770df2e1ba64 -KO = 39cbb9c9ba471ba610d29b6a2860fe37efca86b18bd00211e81b373fd53e86c05edd775d58522ae8df509dda2de98be60ef31273faa06f47136cc12408c69a659353d58bfba2d5012efe2e0c3fcd43f423ced406b5f799ce2aa24afe96679f819e6de89184450c215213b150b2e8176a3c6681905c3fe601935adff9da7ab906488b6b230e4c1dcbca27fa53afdd571926a962c1a2fda24e05d4b0316fadf5f895051c63e33550e1dc201a58b43d59f16d8b4c0e6ebdea12c7922d080bbed44996ad9155a496b5eea35e16d9cbd32da95689199d0b32bb41ea8610d83373e6d50b3d57f2e01ff714b9dc0517c99609e95f7c6e37e34b1889f484ec92b31f98f5 - -COUNT=14 -L = 2048 -KI = 29f7bd1fb52771805c04622e1b1ce4c18d80d934021773562954f5b1d89da8e75a336a52736492eaffa7e2166be4fb1527c2d15219afadf3e43faa9fd58b763e -IVlen = 512 -IV = d5a734f3ac0f9dbc880821fb11378fe5b386fd99223ea3d5b3c93853db41b2222b866f6693150ecb31abed99f0b4973affc7ebfbfcfd913b8406042ca3830746 -FixedInputDataByteLen = 51 -FixedInputData = cfb641cd1399f20fe5df5945027139ae8c28297f564edf06cbf1658bbc72064efde35474f93898d2f3d7f5aa30f8767d127473 -KO = 841607151c5f97c6405981d61393de2bdbaa82507fa7af7fc14fa37c0c68e3a52c89e1b7613e1a34121751b97890e88139fa6019501550eb37b7c5555891aec9c6880ebbdf458e8d1ac3d0e7f4f471aaa10a3ee039e667c922a59899a7f0a8a3e3c8039245a3d5245b3532a5a48e05c5efac150b5471f1d946b408ceaf492778e607b7e7ef0cf94a0e8fddc98cbdf9263ae2fed64e7cffc634bb4a74ce22bcd967926e10a9af5693214021d5feeb83c2fb4421f8bbed7ca6981b30d1e60d91724efe4c3cf48dec8f88aeb7ad1d465ec71cd10c757a4caf46667ad7db448e72eacf64891140f4ebf2b40879cff10f36286fe4896a31b0adb288542c3d82820a81 - -COUNT=15 -L = 2048 -KI = 313a7fd87d9c5d232728209005cf548aeeda50645aab000fc81e262ac65d0d2b16b1874dbe587147f6d91d1c89454abf27d6bd119862557cf27ddd5b176af0e7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3a2616b82009e034a8c3bdaf06779f04cff76598306864b934587fbd08b4a0a250f3ffa585f1906ca94a2e126f51c4b1a45d4 -KO = 8ec8dbfb5e6d692e57959b027c864003bdc2ef3e9e7d4f8dc7de0a785745f283ce1f4ce9617f6e44c16eaf3832a1b8bf51d4927eabdf0ae7a5fae2c0ddf48fed7d49cf2f43aab131142ca0de6871ee5f76ff01a9c6db09661d51cc81481559cab26deb3fd52654b7976101b605154d3978d8a5f0a8f0f6bed0b29ed42af672e4d5af555b07f0fdca6175968c6c7df5d497c480277a1f7e217346d707093ec2e9cefb56f606e6f20c5740bfdf848bd782c9fd27bad557416d1c630ffc08a72e31d8c608cff9fadf8dcf2759e5fc98c27d359342131949c102c513358abd253f83c748733ae376409293fa61447bb5b686e1baf67843286339f824169c3f2c1234 - -COUNT=16 -L = 2048 -KI = 061cd2a8727b608b53775aedce6be120bbec03d4a7008a6db4c3ee6c3210222458d9c7e2b8020b9a030f834f69c05cf625a2a4651f78b72df8a44f1eb43e266c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c53fb344bcbec048a8ed41591b938109fa63974eee8d4d4962456bbd432de865d587cd0932626b1952da505bc057cd9c1850f2 -KO = 8f1ef7d2b907bce898648be9e083f88b8d06ed2cb0136f8ab7fd2cbc40517730bf444c9a8d533c0e08a7131f691c0493a16c07a6267c2969fe8edfc92d6a1ffba79086cfe9c545da9391da6102164ec905370f4f82d0f40658c338c8383ad01f1c4dc6f676102b67fa03a26a93b05b24d88b8ab49f773d032ab04241faac4da6187056ec9d08b01912ff93e4b78593b3b8169394510b22e5fcbdd047916e248f2418c89b01000b4c32a52bc9a1a9a6a8752e43fa8145241a8b85b65488b549bcb36f849e5610e01f977d07777dbbf2290093d7a1aac4c5ca56e2b4ec20b2aaa92d9c36047fe903d2bf59af585cef80ad79fdbfe3aa6f047299f6449f473e4af7 - -COUNT=17 -L = 2048 -KI = 928d612a4c3cae1b229a499ae6c9fb730a8146b724664a5f6cce0204ca4338e005ba52568c3636d95ce5bb905be0e96ef122192b6a53a03a342000efbf1018b7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6dc91ace10150794fa8e9faa1a7f0fc88c1d14b24ef7231d3b1429426e9d7f000483d407dc92cb55b9bac98a5c467ba9166499 -KO = 7cce0964dfb37ed311ff7693ba5fd3fe187e535a2fe1e541841667b66740e45cb32e5154e247a29f600bb0f2166b77e30e3af95994bf094240e163872efe7f6e692b7fabf7fb8a6f7771a93a36f47eb234b953af6b194f637b0ba96ee4a08f53c42b8264c258f07ec281da8c988fd4b06203f4c924f942fa34ae181b9f65e7e8b02211879249a35496b4dc2cd941fd8c2a95b18b41d0366ab4613297bcb9a6dd5043d6fe9f99deed60752edb2d8a782f72ff4705f4cb9f3d31595b0452490869a63506fd476b7129aa340ddde4c0dd64406ef38290968df6c610ea62b6524856346f024dd1a3bba2cfe2a0599221fd7f46a2a7e356c7059c2b25d4dda620a652 - -COUNT=18 -L = 2048 -KI = 7502090b845812d8784950a6295b27dd6922cc3d90fa8a89ec76f4ca654b5ce0fe87e69f244b8cb5b53e6137601027987ad47830b1f47aacf11867b61f13722e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c05328e6c0b2954e049e4c10f3fbbebd9d643f3e16fff40ffe47cae687d41a378eb5a20ea8fa5acc97b6f9dbf485e491d320ee -KO = d669da69dbfe3ab628614de29240692bcb8947a4c565d916e7502badaa74bffe662b36f2ecb46e6c9bd45a84b4ee829a0fa40aadba9d5484f3ab2ede2153cabe1247351e59f4868404e83f2381fc06bc14996b288e4c94ee90ec813e00806f6c082c806b3ed30dd4907dfa7a0fdf572de6c36c6e118b80ed1a27622f0ee24d84a0872239339060f5f58b385cb1594de9122d01dbe3a19cf1ae2c37ca9eb2678ac31ff24a76f482cf95eb0eeb6e349a2aaa58045dbdfb5ea457bec4984b57d7dc7a5027a2c7fc66989269b848019ebfdcc26ab8af9b7ac26ffd070d831774e1a5d8ade920bdc49a061f5d90bce6b7206f65ee6a63b2091328564c9b8fd77ede1f - -COUNT=19 -L = 2048 -KI = e17b8630b2c4e68221d6ec6d3af81de3e867a49f8241015e6995a7cf8bca56d8aafe3f270f08e16cba8c7f6bbed50a991c12d95bb1f8efd59593ff0b3074608c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 082d0c70ef1ead6c198eca5439442f76d02fe7e96c25cf5c9e5670dd0ed56001609970e3089e2d0843014dd8df17c67b89de5c -KO = 710c29cd2c5fbafbeaa636c0716fb68c1d7e205188a7153322b7e8fd589fe0459b97a0a82401511a93210caf427f23d496788279b32a731d91248bcc1534625aefd9f87d431b6fd55082e873e79acdb320338c72268522a9ac7afa12e7ae5b4c7908a9a7e97c18d47d0016d51e08c5a4264870f8e260ebb7dc7f6670c7727f823a8d5d9f7213449d572d6b5d6c3de557f3e071cf7fc39c6dc7f35fb283faae669ca44e12d14f2a7434b1ddcf64972b4be783ce12ace69d8cec03bfe59bb4266570dac1228193e93b15bc71708b9ac7ea6b85dc53c9e9a16f8d57b1524d6dd942b132bbe3707f620df56e9abac9591f584259487b90d3867e6b4a44b6d6f67dd5 - -COUNT=20 -L = 560 -KI = 1084e7680108909be361cbd53820b7b64dabba39bd738c04609eb69f27c4e91f33bc6499c67fa96d80f4a720b14d94c21ba598905f0fd0e1a8908029bb341ffa -IVlen = 512 -IV = 7845995de538dcfe1887938794d90ac22fb60185bf4ba213f6f0b5f41d46caea0cd9080b38bcc3a5cec5a49af8458743177e176b23c3b30de54c8c39fe49e79e -FixedInputDataByteLen = 51 -FixedInputData = 7e8b2fefad0abac0f6288a857cc92e8098c6e7e329b6d62893d28eabbbf153c1c4092338f1826c6a9e70f87dad0fcc81e944e4 -KO = b67532e27edaddc3624509efc2f89e1eb6cfe6576ff58c5676adda05c655f697b91ba37b196f162d88ea8ea5133fa95a711cadb99652097ba1528651cf1a0c9966cc694390e8 - -COUNT=21 -L = 560 -KI = 598a549974bec32399e5e91545337c8402ee9bf155bf3bc93fa5832b1e23997d9bd3c3690de74e6c691fb388c13037da25a5073493d46d493fa2cc24792f98ec -IVlen = 512 -IV = d5021b0dde5714b9dea53420f7f52961318dd92a85ad5c464a81631f124a953de0cadc2f8072c8a7fa87b44617d7cd069b459e980803551dd252be1785bd8450 -FixedInputDataByteLen = 51 -FixedInputData = 4476e2415466b20a85049956e3f7b2d90ab1ee22bb87457a5ca10aa35554c774c5dbdc22d82c4f563952e05849e18975605fc0 -KO = 2bfb60993fd2b000e44185dec1f30c31bdd8167102d31a6e3c4a9050cfb036a2a7c4c9627003511c60d4398910d47c1c839bcdf006ae1f015738324ee5ebb4445a24edad5ab2 - -COUNT=22 -L = 560 -KI = 9fe9a9141a61026dbed74efe7d922655736c06b2a4ee88f6cfdf68929a1b5b26420d6b1d5276d5ece184c2a4803ed534970397a5e30c9e708a3c300fbe9e73fb -IVlen = 512 -IV = 6794a7c7c8cfcbbde4b5789c4b0c6ee8183e84d65e7382628061dc2bcbdf47ad080bc380eed0a2944e1518e3147aa8c5bd80addb023b77825b8feda709968670 -FixedInputDataByteLen = 51 -FixedInputData = ca69f75b1bdd0fbd1343fdb9a555ce8fe360103448d1a27ee0656fd93af7f3d32eaa0340d495f571de8f968029c3bd3b0dd1c2 -KO = a6a6733cf24c95e19c51ecf7b0fef6e99652a838519a2da530ced648a1ae07332c25c6f744ed44d330835ae9e5bee3d7e5986d13dad7e09d1d1b1fbebbe888a698d77733e6c9 - -COUNT=23 -L = 560 -KI = b580caed32e7ea472928687d8a9f12d9d9b982e24978b6cc53627c5ba37d7d4ae8178a8a858cf14007f1b92e014199052a6d8db32ebc0dbb9416eb0b16e8a237 -IVlen = 512 -IV = 5d8ef4ad856afb3988cedeaed7919585c6f10be2af2e14db45d0444383f28d5615fa0589c4ec528bedd4dcb29b1e004a829419181b08a9bb69eda8f9356fc253 -FixedInputDataByteLen = 51 -FixedInputData = 917bddb81393f16552c38cedefa7fdacaf0a6bc93351dd92399dc12d9f83108e8bb59b0a15023ecbfc78adb5b35c5caf5b8e61 -KO = 608dac100b0d0055a945242abd6bec71fad45bf29593543dea0486fbfdea2d29fe7371f10c100f474c0cd365b0474ce51e06dc581c0c36fa5f402deb9dc72ad83625560306d1 - -COUNT=24 -L = 560 -KI = ba5bed3c7826dec4c9af4bec1cc299270c5b1d160d9a2e6e1ecd01caa2c549c8ec27b28e946fc12fb1eabe45b7fab975088c22ef66859ec90b104eb4f58a73d8 -IVlen = 512 -IV = 3e7bea81bfa8056810befabdf76ab6d2844c330508ab46f5c2171e2ef5b8a6c9d253cf0e70c979126b90e032a62e1803d8f4ee1792a84315345cd21c89563743 -FixedInputDataByteLen = 51 -FixedInputData = bf72aa453abfe7cb1ba2259f04541c574740452b2a3fa543877578bf988e52c21b2fe94b09029402686f8b4c7b41aee1869059 -KO = 6850d43af063da1b8b777ba7425279ffb598ec2d7288f18dd36de845968f3d163c74b5cc64578baeefb75db1394d588db53f56e5dc56ceab8ac313f050706902fde2e79ae0ba - -COUNT=25 -L = 560 -KI = 9c86c52b16f77a9fdc742ed4fe9b5c776673892c490963847f3bf776ff053b4b70223f5e7d6620b0f6f84e442f1b0835351836513efddbf868c35757e06e51d0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5286ae07211befaba14d1bfd5380d057c67d92480381e9be67bc230bcc405885894001bbb876c2ffcccde5b1e4b8aa42a672cd -KO = 115e715044adfa3297b941c50b3c981da74932920bfc7743e4fe3fe686f120032b160019b29b44163f577dc92365e2d719f4eb46e8de79a0a8fc8fa4c0a2b4bdff1fba6cf2e6 - -COUNT=26 -L = 560 -KI = b177574698d380d1d34ec72035901474746e8f1665c82af6f4af98d61ca1a6a51c6b6cc1d4e6dfa6ced8f66a1eb2077e543351276e6d7701da27af5fc79760fc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 433164f8c23b466f13c8df4fde289e45a4c02065b3d4a028bea85762d880f3f15416211a4ef5da6d186f16a5f9638d192bfa42 -KO = 04bd07c2237071c88451d6f0cd3337184ea661068ca10822cd426ff7cae9a9f5a34c01f4e4bfadf5d501aa3ee9567ba606e9a0a95c1adfe499ed8037d1ff9d36dd57690480fa - -COUNT=27 -L = 560 -KI = 46684ec85bf31eb6ed66417eea5cd11d719cb0288ac2d0571a3f421b1c3e564b0f827cb2d60ac45cbbc5e23799c9bd0f345079dff6dadc55b6492d35adf004b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac347a1f01b72aef997bacd95a9651160fd7da3a71a748f93c78e5b26258f5b824aedbfe5cd5fde08ba07871275f88d0921fdb -KO = c97a101519c2c67c473de172d52364df31af4cf969df8c4560e386d5f57d66c6b6d89d66ead310a5f51a5a65aac02067ea24a17b5335127c607fd86c86bd613408ef1fd7ee29 - -COUNT=28 -L = 560 -KI = 3544ce25d80c02281c4b47d40e9b05e23684653c9a23ca416180645e217fc49c2176875bd67f4126a4ef8cf35bc052ac90419b94abaf8d4236798cda751b385e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0dedf0ec87c6df6f4d8b49de915c6e6d845d582f482fd41baa7379038450de2ed3e6ac5d9e09a8807428bcd34be78a9e9a77bb -KO = 171c5c0441d1e9031db869f6e46227ac357b8b1a5580e36d0146532922f8cc73ddb43490ce3a6975ed12ce7b63e30aa0cd2e596cf816a9ce3c4834076c248402ef86414b8e07 - -COUNT=29 -L = 560 -KI = bc452c8ec36d1303c20013d2fca82732adde0e65b8d459e34dd5f3eff633420a1c6857c72344f6b18aa10a9d77735a7d132979718ef5dcb9b672635b60763a08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f3de2a1f9e3cbc0aa9efa5bdee79d09fa733605863bb22ddcf9d8f8ce2711ddb5367ddd49c10ef6655d641e0a53218327a6f7 -KO = 67881c61553497a7dcbef8e9a24c26cf3f106fcab1d09c22f101edbfbe01d33e28362b118839478854e282d9f4e6d547935684d9b9a8b418513246fcfe1fdfffe87c00b1d0d1 - -COUNT=30 -L = 2400 -KI = bc91d3dd1290130db3dad2772520762cd81c0e2c0c28ccbf593b661c6b622fb0d1216268bf5c7fff5935b8b31b431336523889af805c436926d32ed56b1c2b7e -IVlen = 512 -IV = f1641bd072f219dee7632d4981bcba4fc6c2b4ff11e88b4c3b1f6f4e0d9c26d29927c5fc8a132e51fab6f928fe6a7dfda0a1d98514c6e086d82259fc4d74ff76 -FixedInputDataByteLen = 51 -FixedInputData = 439eb75c5e0c027ed86085fc6f9bc2ec6abac8d8948b13e18fb93440080f56df097995f8f4f9eddd53378473652b1a234e6515 -KO = d8f7806e098b585f94faead2d08e62983d6d73aa8f07f330955d97f0680ec249f090112c13d046a95710cd92891550ae8988bcc0ed9ff280cf32485069eed33fedad0300490cf05db8e7eef960381c13d3bbb2507e6c6f011773548edc896f2c653d58902d61d9e178f0026998d9f211b97e947f1ae320be4b6e079d6f71e1a525e57a4bebf5098c5536f3c02dbce1abbeb9127d07f1020e39fab31317f2cf3fd1783aa87e2318f701b19d5e6d5f07f8c2266cde11c18eab1966f94e370f6b9d0647fbac35bfef57cc8809f2c67d29e80de815fb23980bb06a545d8a62572890da0aabdb45994902aeda02dd771c81d5c5384265d33a31af3a55b6b2df0c793085aea8a1ae972b8ba2c3ba58c65311cefa854c4ce8535fc1f13f28c6f5442bb77acf77ee65aca48794f23e59 - -COUNT=31 -L = 2400 -KI = 32a1590638c336600027933428d700128843e3e81919baf20495816f93111e18eb6f7eeaef9ce7ccaa36f0026bd841772f036df90561bd73638ec120f13f59e3 -IVlen = 512 -IV = 549608dd862c5ea87967e2738cb122dfc53d9d6c516b2509ebea9119dc419e512fce4de95c1e95057eabc48be4d2ffe6a9a2367d1e78dacf636a1a05425095ea -FixedInputDataByteLen = 51 -FixedInputData = ce6dd304dbe67ad0e4618053dae002014c962430e24233d71d20a9ab7e2603337421a6eed6e84ac6f4f4f565dfa93825609bd6 -KO = b31a37bdb3d54a69e24646a05a6446af041ab92f9a30641e3fb360bcb93fe635d30d5658f0e1410e0833741ebf848e2cc544e7a3dc07ad57f5e670dce7df94ca74493e2cb5064674f0e124b7084a65c02aa8f409d60e4146ddf6a8a8d3c01ca4d652541c0216a903da7e66e57975fe08eecf308d7f5cc528dedbcd358538c6cb8941d75c38fa6512a8a18ffd592444a2039e4c71b64a1cbe66742baec63e58d7e3c027993d841b301728bfaf19a2525313821ba263dbecfd7b088c586d8204c340321c7e5dc945d4654c591a8a151741788fd12a3e0597237f42276885454ec3c618b08ad61f8888b1bdf1fec18d204cd1f6c1629efd5bfa2db14de7089220f97f3973eb2c7dc55001d4cac96ab03955515479f1ce74e1a26f7845a6aa8e651b81a209ad55516191db1121eb - -COUNT=32 -L = 2400 -KI = 6daf499c5ba3d7dbe1b5a11eb3c9ff4790524bef652fac148e739181b2aef5255c024c109a628db1b031824b34907d075170fd3dede26bd60aa490d5db275f87 -IVlen = 512 -IV = a352689fc9e03958691253d2638c7916aa21668f487bdf5ab131597ff7feeea2c9643ad5f4bc4f4ce370528eb37c11b90adb2541926afe28efb3ad30dfe74d2b -FixedInputDataByteLen = 51 -FixedInputData = b7469deb544e833cd7628dbfae9b9cf56d9e1a9d544a33d2b9a5c7271c51aac3e25eb8065281057ceefbb04df9bdbe9cba0e81 -KO = 564ca3c63e4b9a587d2704e587dbe826151734364696f6c0df15fcb186707a1f39c5103ab804df381de09214b3654c592867230c689389f155c8a4001a13fec95932587f26c1a96791d0570c9d4ab540e2a820a8b90218db05306f1cf84a3e9b297ea55c562a51bec131ce605867ec5961b31944c69e7561544e2125b5eef768f3cf632e38ef50feeda16c5151247e4877320f2ec798cbc62ca37a5c34038badbd892bfb64feaddb7add2dbef70ef50db4e13873cc261b2fa232dea5208f3d1ccebb06b931ed281cf5816457434b48745788e92fec78c5ce4d5ec72e09a23a7687dad86de84b506e49ff5388dc354b13c7875f3e48b14eb50c95f0427e7da6a366882c77d93465f6da2c7dc85d8e5f05afe65e5395d5fbf2a1eaa96b29a8d2bc33855ff056913b8747ace278 - -COUNT=33 -L = 2400 -KI = be29b76aacaac1c528a2973d5d4d84e795a3699cd07b5fc9a5355d37dbbb1b2d38c1797e8328618d8d4566ff6aff86bcf95042e2cc985b272c7563dfbb89b754 -IVlen = 512 -IV = ec571f6fba3872cb9c1d8be98edbba734d855cb5a2c0a015d8945014a4b6db08e5b64ce9186181a21a633e7193465c40e4e35fde24d35398028e152282a1cb4d -FixedInputDataByteLen = 51 -FixedInputData = 0b86948883b926866ddeaac9f9f54f0199d795d7daa823261b8ba2b99ee67ede33b4aa64b1520dcfa11d1638572f3bfd70f6c2 -KO = 806b80b8846e76dd49181f93de838d4ae95a5b3216f6a7c6e5ee6925779052a9dcec1546753d6869a13ca52edf456292af2a6c591c4423f11265db392ab4bc13fde1316ce70ba518ed2020b746482a92e15f27c244f7e76f0f21fa077b0e813e3136884ce02bfc05bfe3309c5d6b718add001bd0db913f5eb44f1bc4dadfee04dd1d3d2a4d0612b657d5cc5b1aa0acbdff4125c60e997ac66411977fa83b917b625b3be95222b039adc25fff694da535b2f482fc9abee354512a890498c33b8699b6b12f73c93d1f3facefee2d74996656d36d078f702c4ecfa9354fb7ef4fc97320d1b78de0d8317a6e3b133d3d2296276d365904f4db65aa638a4ce1f929e8369d663c08bc38dbd54e67cab445906aaa22af51e5b1a37b1a6d88f8083eac4872fb1504ab713b999b29d2fe - -COUNT=34 -L = 2400 -KI = 000b7e4709381671ca9b008745130af21ce2d74b0693828cc33991f303524871f93ef514beca9e31a8a8e1c9fa658fe56372fe04ac5be60e2c584ec26cd271b4 -IVlen = 512 -IV = d6144017f5c5b0b8dfc41b0b27ae41ebf21a843fe911997564489b61e1c9b1726f4933213f8fcffd8c239d411eeec985611af5203cac7f596b3d1bfb46388714 -FixedInputDataByteLen = 51 -FixedInputData = 2b7720116f09f536ed5841e51a26d41f2933d765b15989a2085bbbe0d0da9a71bd5b648568f80f2d966371901987c4c2f0595e -KO = e7d5b04ccf0f0b81134b04be1b0519a9544d3a9eaa1037082414f9e72b4f9cd8a6facb0024bb08d2335fa352000e315f9ebc73385f045f3b6c8d89b7f639b3258a54ea6134af4927a212063b21659e4cbcc4a8331741975aaeb1a42d692961cfd9b1675d8375defeb4d9085962a2c232b2ba1a40bf86ba78d8576dab1d256cfd459d4936156ae456bcda8d8fdbb64e7bdcc81d6cf41ed8d1da2337617d8dde3414b92d4aa2198aa896b6f7e971c4224f2ff3c4a6404f33bc99e0da7a4b44aafe1bca9497cc1b4d0f70fd4ae1c0e0ef1088fd47b99747c2569887b24bf8cfa5c4ea827790086ffaf39edd11fd41fb13aa98b91bb8ef04460fc30577eea3b1a8649ed871a554fca4743c9efc808aadc84e391761187234c18f4a30100d81bc475f30329ff1e0b452de762bcd96 - -COUNT=35 -L = 2400 -KI = 7c21b004fb5fe90399e7e5f8b6bb3cecaaf1c4911aca310da7aaa509bb81515e03998b13fc6a41c18c3b8d268cf5414cfcef1cb1e358369ad1ed5a201c49d104 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c52be250d4ce04569ab2dc4f997692adf428288cb6c5fb8ba9515264936cb32dfec212af86c2148d573d6ce1227aafadde0ff -KO = 4ed7e2fb2a73c225e8b5749c782c145695d5ccffd2fa6411418dd19d301b151feda1a9d7ff0bdbe52b19b2362f1b5ace9bb7ea9af93a694a1477de44d0b7b07193e0d676d0ae7294f164f42856eb10c177dac8c14434771c73b37baae9afb510db9b75d9a262e039b474c646bbf97022a0c50fb4c640c6cd9e7338574e1f27b6083d1eabc9792429a2885e6770edaeaf11317ae430355d8ae43ac5e1310fce90b855c0157b192ce7a299a1a494887f33eb46fc5a2342743c87545f91ff34d53b479d6b6c72a736d05e474fc302a90fde3a15e9a484cb667a5a2a820e63190e6750dfe31a41cdbcada7db44be8b05089323e486a7f46221703480d89ffd4651c5b4a4693e91d29c76220bd3be1db6e428af9753a2f47e6cc0a090cd7b540964330f957e115b9bdda69e2de151 - -COUNT=36 -L = 2400 -KI = dd8047638355ff8f11608523939e140f69a16cbecf37ae5a8c6599a65f0b7981b66360459369e9a1c92695068bcb3b22361c16ca59d79890a3263ed744302fc5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80ec24719f8b40e318f69023d0e21e59783e48953ed2744a9d2851f65bd064c0a0aba3606537160e369cd4b9068e0787099c2f -KO = 8e324ecb7d62bf203a07d3a93e60c163203058d673f1e1cdfcf7219c3f2dbca9021119eebaacf3d13170804c4dcbe84e32f18e9652d7f246a1de9b79b15fbd284ca07ce0693fb794a121bba0a71d0161d34a0bbaef1df474a2e5ddbac969c8b1edd81af36ed4e20a80a729972bbb4865b7bf7fa1ded5f3a0bbf2af16a4c0053635bf18884040ed04873cf5791a79cf2478d5e18c67c48c682c0499745eee29b0739abb690bf145cb61698a2cefab1c2037fd13fe92f4786ee1c94cf7fbb3c0e1c70c5a3cc2afd6a5a9930d021eb783cc0ea7ff60fbc05cbe2e17e0307041732a26cc73349be6757c5626ffcce5e97a2599d31a160138c665e2be098ec13d49503b746ac8ca6258451c4987c9a1a3b998ace924f98e28cdad02d5b4d6d48a74312ac59d85c56f2cd7c1985eb8 - -COUNT=37 -L = 2400 -KI = 0548edfec36ed5330a94b9ed0061f68132f13186c6b8d545f21104204fc6a2219d281ef8269bb9c2c3ccb100839e70e76b9f096ec4e4b92ec022c6686c74a4a5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fe60167eb28420bf0401bb52e915ac8807c633bbb35d69eb2f18e94c96da3d7e85a806698385ba649fc925a58e1f0d42dd27fb -KO = 6eefd22802b810712225c0ba6048e71848b62c5d6ab9e9ad86d57e926f4bc2c90dc6d6c1d764c4f7aad0ead748cb54416e703a23ade9d5c11c3f1f7010b8d0fdfca4e0c04f23aec2070b37a8f9c50e94f24b3a74c8c4cfaae8f8afee20eee5fd9379de2b2bbb71f0421b70ef577db0201ac1fd1c0f67a2c5540588d5f83244cfe2123933fdd5fd724e1b274ebee4e725998f8a2260ccecd07aa5dea1c42870d56d7f168200383ea96628115c3a450c76d33390aac139f9cb334d3fe82a2ac4c4586872578c0d4ae9ce2c47214bdf69029d2bb6479fc6e611e8e70b83fcac95bdfe531f87a508460487f675cfe0fa9bcbb362e2ddb95c4379ca580dbbd81f25b525740e78cee63246094c48021234c68ed48e3eb185eb93a680a8ca65da390d8e8e9243ba8b4e3a6cd5de9388 - -COUNT=38 -L = 2400 -KI = 89b70a00520b0ccd6729e18a9ec30fea7f2b93fd5c29a0d9866cc58d2ebbc6a135c77ce89cc70fd312212faae1a9aec046b5f3dd4205ac06f3e382d6074e14e6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a19d832f24ab4610983bc15541db689c689e5d33b38f999c857a5da918c973b0a94c5f8e1766c3e65baec29b148e5b9e86f3dd -KO = 1959e5103ba9d6e85bcd415d5d136f2757180a3b2d141847fc7b80618f66148d8bbd9a916892f0297bbd8e4d0d0fac4bd2193d08847399ce3f1858bb9440cb56ff49f37d67f1b6ac0b4eac109ce3897fddb0e2863f0eb52606bf5b58b0b786dcd367b3b8c82f27621e80717dea9454f9a6ea8c624f1b7c58f717f9a1cabbfa76b542fc373180089305b8610a5c52407fe50dfeee1c7520c1e020fae4ac397b659d496505b8dee74e505a84c2962db3cb72093fcac154fa1b5c2292d31ea6716425ab9ddcb10fc46a092c8a0a104ea6d11bad0fee46df26e044f885493040c1e1fe2446322a571c1480faada38bee35e8ac13f1f3b21861a21c17439c6e0ff38793451e5ec8fad8d55e5174efa74899bd3a5321bfa15e112e22a1f59f3c1d2acb57297c126615ac3f970e2e29 - -COUNT=39 -L = 2400 -KI = b69fbacd6cb9fe268c15b31e63af573c334ad23ad49851fe196be79052d091f98ac676b63d28e9e737200866dbda7b4e704a3446cf13e895f6038054ae443d49 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bbfcbc9ff7300d16b966b5650fef83f4916c9991f1a7da5fa19e12ef9df4610fa81b36a0f5de4b1bcc4d5c79b59d6bbf1148d6 -KO = e40fd86b683ff5b3f079c5b6a3ef245aade5a43c619328dee4667e6db0743b5f5d4fba339e54a3641a209bef8716b58401498a4fb2c8a8ea244f8d7920baa136c261a91595b7e635780dce6dac438a6202cafed34a7dbc128711b53daaa9be816a332ef897690e500c89241413dddbb4dabb2bc6e66f5eda12ce8a03abd37bf00cabd0b47a7e93fbb2d32fe9d63868391a2fb839bd62b0f4887660f968879ee447a1c4ede0a6d4fbb205d4361a8ba3b8ff25993faf51e90b1300623861fd3dd7ccb3f74b8d36750ec2d5eaf6fbf1d735ffd7fd572e0ef71c7eba93911e8fe9d46c47a94b00aa71491b65d544c66e0c751983e46e89f9ddef02caa8e287dd3198c71a3c39d4ff889c24b179777c292b5db6d59e1c5ec3e118b5d1ae9909b0de4a1cfe4395337a85c7564ec894 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 9734ab96caf0ed1cde5a77b9dfc59a5ff4f562a395a6fc9c1fe6856391a76847d2616e5661a5c1be73cb405c6c48f8c375317d9e544dbbae72bc350833a3a72e -IVlen = 512 -IV = f7dd14aab37c61009fc00aee7ef98819fc54dfff2dd3811b0d484fe615b0ea6955751da3314d0e6d0244866b024c0d1057c44721fb12c1aa602a78184357fa2c -FixedInputDataByteLen = 51 -FixedInputData = 928d639a82098f4e4e34aafa23a47cbbf21b8b96aaa8c1b7dc588e975faf63bbf3af61ae373a0965a90c51846c94748a21ec1c -KO = 69a9127c911c6edcae338336992f4e688b037a2c4e7168f274f93be101240273fc9905b33e0e70c265418c0f61d30175f05d29b50da19bb248f0962d55ea54a1 - -COUNT=1 -L = 512 -KI = 872fd1f70a720cd8f1654fd0e01112c0a3952202c7462555b08a1ad4df017d107a8be8e38baa9e84164ee17d1fa55634f19006f39a5cb2cc369c5f01f9027b88 -IVlen = 512 -IV = be18c2f079bfb7848215cd1313f5d76615351772b1663d631675c491e01ec239f2c5fce9838da86e21df5fabb6cd05feb5b5e0dfebc04e53a899cf4be53c093f -FixedInputDataByteLen = 51 -FixedInputData = 0b4f9efbb0b0528922952ed9404b15683dea2cd653fa73d332e296229c2cdc71077dbf0a6f9abc4a600075be1e82cfd8edf3d3 -KO = e0c4b231eda493b77d00e1eb73c2d853209701e2cb5a896cc705f7f0f0e6bc1a7fcb423e9c04db86f6ac9f8b2ef8d17aa028b5e5cc5f978de67ec3587eb70e0d - -COUNT=2 -L = 512 -KI = 2125d253a9e69c929f8c2d43254f58e7f7c140988cf343dde224865916ad6a8ea40bca968949a14a7240146982bc32d2fa7c9744162f751c698fd4b65de909dc -IVlen = 512 -IV = c9014ac8beed22f1b66c13e937a3c9e53931443822fe5a9368e3baf7b90d67207abbfb80ba46c5bc865809335f690d3d394ef90cf271793df862646fbde691a3 -FixedInputDataByteLen = 51 -FixedInputData = 74a6df0463391bcd4419af593a93b522bf3538b29ede1bf0ee33eb83c0874c142607a21f906ddbd2c518ecff1d4569897bd57d -KO = 63a2ddb98f52a3814e9eb708c3659a893e56763da5362ac93edca74264414e1393398d6dbbbf030465192af005447ecac732ef8ee2e3e340abe582df8afc90ef - -COUNT=3 -L = 512 -KI = ff6bd09a555859bc0a82dbf9c48420ee16a3158c066748299a6317078df06f3dcdbccdb411ae8792e38389fe1bcaed6697eb0976136a7ff9970a3e2bdd9ab0d5 -IVlen = 512 -IV = 47cba194baff6b00604206fa56e8598ccad67fa494bd2eeebe88404a15ce5464893bbf502b4cf3eab6834943d676eb91629c44d83604e2a66123713e32e05037 -FixedInputDataByteLen = 51 -FixedInputData = c91b5fb7293eecd39b089b390a39f1e500a4692907d7c62b2d88193e23a4adeffb9c9bbb2a55750878bbf9523ec9369a8ebe92 -KO = b968fa43ac329f591323352490b7a76af1ae2dc38e841ce08616dabfdf2811a7cac55af3dde0a9b5527673d73bf92cb17ade20f6fa06ed46c0265ab1f6d3fded - -COUNT=4 -L = 512 -KI = b7993c748de0bf22f9538ae237915fcfcfe32ec7de7864639810edf3285ad4cf74b88dd4f28269ab25bb28282647e85f39d9a0f90e73e9f73406980ced2b7a69 -IVlen = 512 -IV = 1be4f0be10aa9291e42b29b6c85494f4babb17ec246ce7c5214e9dd5bdac9d3dea0453466c30cbc18b2e6f3a1f3ba357ef5a229c828f4826ef819419ce8a7cb0 -FixedInputDataByteLen = 51 -FixedInputData = a0221cb408e8eb30b12e73090aeca21cc9aee30b0961c0c59fbfdd7dd56446217351d367d375cbb7ab9e70ee952d7fc1363e3f -KO = 1f085a9c840b128b7f3e5393fed4b4b0a208d1af7b1633c320f555fc1d38933b89fbc5fc41aeb5ef26a4c5b1fe2e7272a2beb6a1809c36d2f973ec0575efc01c - -COUNT=5 -L = 512 -KI = 884970a3a7a2d35d6436b1707a7d81a70ca98efdeb195c2d87341468fe913390db8348852d82f53cff96b4ac0f17b8e555532df7354ec7894b526985a97f8fee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9a6df28bb972c72298915b20fabe34fdf9ffb7280f9246c7cdc2078f65ec3d16e647f58a7655071f35467425a3ed72dfaadb7e -KO = e40dc21d7fec46a85a5d05ae39cf5f8173a4d9016e862e81a99b885f5b26ccac1c26f96f9f8f3a7be9302999805e7f76ab9cb9ccea1bb4099906fa02f5dd56ff - -COUNT=6 -L = 512 -KI = a6c24ce940557b288d43695e00e1536a5234fde65d0e6736f29e417e89afa5edac014388aea99ba0e03a1ebfd421be23c85bf8ffc1ebda07920bae95c7699fb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 12d8fe6bb17363dfd532d450c37dcb1308898aa769939b4a6b97a359511118407ab9da738fe9d2053f59e95de24ffa259b4155 -KO = 801b91221c29098ffddeee554cd694bf0a97fa97def8987d74086f2b171293dfc68eae49943218bf6827c6712d56fdf76f2a061e20f53f81c812e5f949d88562 - -COUNT=7 -L = 512 -KI = 662e7ac53cc64ad932e085f98c566fe89ad2e362edf6972822225f299d866cc7a5f9bb7a90f67c44d2c5323bafd69a80118de012dcb40f6e550b61a0b6a4989e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2de8acdec99de74f5ff09f03a08d40dc3781eb7373f68a21f0902616703232541b445fd643492ccc64610d1d1d33faa13d10be -KO = fdace6c95d796b5a40dd64ba110aac2f020bec48046f0a427f8812570ccd098c6a4f2e90bd0f51c3f008314a9f460291c9ee071ed27a66abe78969b28c0ef6b1 - -COUNT=8 -L = 512 -KI = cbcb03c5008da2a2269e09c6e51b8b75d5a1d4cce5b6d524043643523ef5f1efefdccfbd74dc085589ae7eebb4873b91dde32007e0f75d5138c554640b8b9d6c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e12deb146973b0c757785421ef06f8f6ec858a933e37e954105b26c635a6485661a9fe81ed65d0d0b8e4990d0e6d5ad524110c -KO = 41090599846bf0038b12433e4814a01d5620a1c06671e3b9cac9f449597779accfc8c55388d9cd56703a00e5e72ace7b3e6731c377c6570958058b00d0ddabdb - -COUNT=9 -L = 512 -KI = 4ff970c5dcf36eae252c5297716e0af3a32f610200e6a4fd0e11fc95bcfb2cdc2147eabf9ed9862ed8dbfc2d85b46d1d25c9e05ecf772eb004d676c76e22e81d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 280997501ccfab12d3edd5b64e2240ee0bad8bb4400e049a194d9b5d7a3441cc17dd804826dde541d8f8961d4ed87bc7995666 -KO = cd05abf7ada42e8b2f51da73d6d21b03522ff228ba6c876982c610bf6e7016ba20665212ef85d8e5b9cc47f8bc0faef84204198d0049d00209d39bae4d23512e - -COUNT=10 -L = 2048 -KI = 14df5bac523e60a8f0cab6b7738d6192261e80e3ced57cd78ef9710d4e65bf72adc7d23ab0893eca055f951ce12453442b65e3a04ae233f5e7e2e2e9e0bb83f3 -IVlen = 512 -IV = 1c9b40004f9a51dc215e158029041b2ba96ef2136b7d3dd52561c315756c65ea18cb9f1ce467c2c42f065cb34f9c42eb3a76d76722958cb7af0521c3d959dde9 -FixedInputDataByteLen = 51 -FixedInputData = a0cd0a99c37a3f0cb6b04907776072132331db7089cd4089173e215da298fc8aa6c1805bd5b74ae8959dbf658026850a38af5b -KO = 50dc014dbe6a2d792fc3c14ed6cad5a7b9fe9fafe3ce1df3510f666fa3c8e88270aeeda9194a99abc28bb83b409a817601ee591ab7df7b1eed427b67fca6d1973760350f109ed9db319fe055507f4e83ac98328bac99916609bbae5dc4ca1df0a89a0d5e08dd2df47292016b98da4aac3fcdf543dde051d139a71f611068e45e1a752fc91d1bd75f9170dfe22e30f7b5935bb5be56ec65cbd0f5e3a80ddda05d9ae95f3184010e2f4c5181fa412c871e448fee80c85f913d62fa9bd8c7f116707b4a3fa30d3cac4460428b917d1f8819fb1340a450ff3f7e964dc4749ee0800be4d8b11703a695934b85e5876810f2b0e7eb0a79465df79f7b1a2e3cd51a8ba6 - -COUNT=11 -L = 2048 -KI = 284f611c12a770ca07afe7abaa4f74aeb24919be768198f20b59ea92353cc3ea568c24f62d6ea93155f612822b8d5ffe74122d1fde8aa3088cfc50744fd98e4b -IVlen = 512 -IV = 65af42bb18c8486ed06534c51c9db6eaff6185671eea1a50e202e845428587c4f7404e988538243fbbf3f3dab978526e4c862fd335a60ae291faba8c87bdb729 -FixedInputDataByteLen = 51 -FixedInputData = 64c8227c3e467b187dbf491c53fba2ed4d755a59dd201dba0da35be3ee81343bacaef21359a939bfdf029a636800e5b8dd2c5e -KO = 367fea58b9ce7329c24697012dc9794b7b3bc24d5cbc4fcf972d30ddcc1f60643c28c8ba6ba0c1fcdc74ca96ffd9c409a775009276282b7bbc8a0190d29fcbff4f47f4eeba80daa0ff967ccd03573d078438462b4f0c3b5b9055aa5b58aeb3a1aa5d7b007a6c81c11ca69099bce0e5faff83efa0adb90b206f63ccd42bf12c5d6f1fb1dec7b454336712f22e968d93a35c1c8ff1a6939edefa1751e6c38b9572ee4c876a256f04e6a4b87c1859c18aa4d9e21282734b57b57218a3049b830d062306449c41f82d7fddf47fa09918f1cf5e1121aae49e107a2d02c1de7eedc3af54993c4081363bc7dc48f8af4aa2ebb0eb71e63a200f276efe2dd67a9b16301a - -COUNT=12 -L = 2048 -KI = 54b8d0a26b66d71c7c7eefc835bfcf35695076da7b4c57981644b1be84fcb2793aff3c663a5d6688e702877a019c498d861d4be57e3aa25a4545dc73c17ce715 -IVlen = 512 -IV = 5dbc007d3b1c96b164abb2e5a5f2aeb1d68f527090f387fa4b4d7a666a3f69f5c3f66413a6c8cfac987ae5b06be27650158f66440349b516b0bb3cc0dca2c98c -FixedInputDataByteLen = 51 -FixedInputData = 2965fa720c71bcbcd357f50b77cd4ccbaef4446c1d4ec097b6f995e465ad38b1f11433868dddf19dd190362cd996083106d56c -KO = 6f6c68ab39f23f702e2cd9899047b925430a9f7e1b6bf492dff97a91707a2db916adf90334920db1f67307c4abe33b2cbbac3fac4ddbba4033d8e555f46bce3551780f721f3dfb8a2b23afe4fdb33bcd23cf071a41993b5972f2eb503044fb32300201a2c3c1ce76b330277138526b6a65b7a00f049fd8ba727e43919e07f3d91a1d60935b544dcd1b4d543444273d6d9cfac5fe1d30c0aa66ae47d4602980924e0cea7f7764f26d8aa6f5b8ddad42740f3be312eeac06537450a757220498c5a8b7558fbe1826d3e68d4c0b92e978ac2fc34e3818a075ff02ba56b3e5065438fd0a4ad2c22ad6294c9bf849a4b60c705a92e91fbbcf5358c3ef519435b6024f - -COUNT=13 -L = 2048 -KI = 81717dbb75b5213708eaacb0b66ddbd2769f74f5e7cfc4d52722e110048a529263bd834547327db77c8c1aadfae32fbc1107bf535aae2cde86211d36e89f73ca -IVlen = 512 -IV = cb779ebb63b58eac4fc9be5494cf1b4f96feb29f175e81cfcb53c0df98023b41e282bd271933958a6c3e671e24aa8f6337e4ffa7cb1886063c30a72533b8c510 -FixedInputDataByteLen = 51 -FixedInputData = 0d347deeaebf6ab4a979aa9b0cfd548dd029bf6da82c4300201a04ac74ad6ac45b661b5861150b74bcdd993ef6f2a914859573 -KO = 73e26b71eb514026b5237ba363bf65600d15de795042c40f544b93d26fd3884db8ed0bf99587824ce361aae5e4e83987eec323e0101a856552577727be2f9866d87302a0f19aa1e2323ed8ce62c30c9e234afd0a75255defe32878847311a15fbcedd0ba64108cd3221dd84a24b5f3da0f317d5e52b21244fb699e719c03407ac08bef2a807c25307b15285fdd258cb3748cf076db17e6b13f3a33f970ab88b24caf3d74b0cf0d662382e40e33a383595df79281104763f3962625e5540413ce2c8c7d10ef00d622bffaf0e96cbcf4ea454735589f8bb95bbbfd264f6608e87ca2ff25215fc7f1f976b33b9bcbe3b71b158f233c48fd73d13abd6147c8623397 - -COUNT=14 -L = 2048 -KI = d1948f020a7590f4cf13f1e7b064caaa2eec27451d307240ef901db314aa150422ef436f8ca55dba22cb135b7f5ccd4bab73adff2f8fe0373ebbaaa40dc802a3 -IVlen = 512 -IV = e364fccd7ee61da764e07359e9c2a61808cac96f9a66654b338a99bdb9e805c252fdb49d03df1f11ca007f83f8336dc553b819959d1d1fc3e6789e17a1214582 -FixedInputDataByteLen = 51 -FixedInputData = a024e67a3da61d519cca1f34c11dd08d58817383976864057721c07118c500e878d0112b59aa8035a1723b1bd73686a7b75c20 -KO = f8e05a8f62241a391476b225861e885462a544e3d677b33d9a2184259b4379fe48d880068c184159e6a0664d836f28d8043cfed8f93bbaeb63d9f7d6a1515e8c3cefa504eb7e484e16748180333c202e75fb51f2947fb757d4d1c270d76eb4bffb3c7dd1602f7fd9e4e7b81544531007028b3a4e39c3064a0907edbeeee891130784afbc81c8e232861dc4752f7223295289d23600a27cc8ab2200bd110ae22f25aab0ff6f45af4b6bc999b325f3b220c14958c887310ab82cd2a7b57b61743ef761030bdd6acdf6ee7bec3c7f6ab84fab7175fd7a03ed116c4707e76ae056945a4b5ac95d6548332ef0a094aee81741020ab381d5c33633ded8ac6cb221aebe - -COUNT=15 -L = 2048 -KI = 6e4ea359e984fb74df9d7c4ee50c071a00d72ad9d807d6fb2fc3ed5553584485f40dbe8937ec2d900dd4e7fde21408d4792082a1c34fce09c72e834c6b98c581 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c08eb030a32c8e443439a40b5dd37c08003c98efb7cdeee3c5d109453ad71baafa5a03833966bc3a721b785505cfc2cd9e8f7b -KO = 2841a5ed05a4d94145445c8ccc053eb1872e9164525bd8c04028d0b6ec2fcf8dab19615f884873ef24c00f9c6c4d43cb5ab347d92876ad1cc8bccc5455f1568aef365452952ba36c08b614d918b9a899a2d21829cd2dc5ce0496f8052603af8afbb9de54f28db89554aba6e1cbd9d7546b7912194a07440de4593e0f3e78e567de50f8413e54f0a4a030cada9461ec6f05a4586324700e2662dd24e0c56479288dd408ca475549ee7ab2639590e71a3be148768cc27ad5e4ffbba4c8de951d0a86e06d67a6fbe8890331e2fb6d02598e114e25087266aaa2089fa068a31b92b1bd5351ef8b66672186559bb2b7370e826cae6da5d146d5b933fa4455a99cdbd9 - -COUNT=16 -L = 2048 -KI = 5e0119e41cd54e76f34a7662b3d4bb9a5881db94da7b7edd5209aa9dd8a4a8d5cae237ef64329ba8a46f516c851f8d79c0682e123dbfc5755e9737a7df80bd05 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 654499a0a6d9c2cc8813d8b3bce0877a77f0a194056f6dd3870c41060aea62efa4b47e55652ecae3f2454c45cae2e3f0931d08 -KO = 34cca2deb4d8c94f864f7c40e87b45ff410a0d591370089da7213b9ea47d1845fb232d4c64d45472630f74c77ed8486122947ffd63f70dc93a7a87e732e97c06ae0a416ecf52ea53425016b7c93bb5ccec7b4fc4b5c15fcb19d2f9c8af00bed3f8afe117ea8d0e57e6ffdecb77901d6693a6cc6867dad1dbc243ad9b7bd0ad68f39ff78087737b51b8ab24810092516eacedcf55e5b600db6819475b42dfe5de0cae1f59290d7747fcc71d6795c4c3e312c9f22229353e58b3681e1ca5cf7c0181415562926a9a635095b41df5386a0a358b897661c10efbb43b61df778894b86a74f8179b2ad25b5bdf0cade5b2ff19b8cfacf975da27fc6b839cec47441141 - -COUNT=17 -L = 2048 -KI = 0e1fa5bcc87d2ab689b6a803f1f179c5a669494ab7b644d3ad0a843173aacd408421d459c831531701431201730b66b308b9ce153c7afe36e85dabf2d551d995 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3066ec1cd6ea60f6e7b1e6ef06c4f01b8351cf8ea379b06ab0d69e10ab6e1b2884814948712089fa0268fc0ee069f75211b131 -KO = 781d1785bd829390a4d7a9a6f580a6ee90ce5f2b390a8e41e3b3bca4c557db781e258a4f65cd11a7aefcdf1bda2cd7bf1dc666be886b8e2b2ab6462036f097dc9e68b7cc3cd8e1bb92234bc7fa7a76a4af612c217c9a4d7985f233ddebac2ccd30e970d7c714ad9244d21829235ff8b365a25fd3fc1e930844cbc0cf337ccba12e3c4dbb440465e588683c42a8bcb77709cf8b10075b21b797b912bc3e3726cec7198386056e8784c124c9681b8b11220b93f869b17e999507a4b2092c5587830322d0408ecdcca6c24e070d34be39f01f99543f9433414d19dec90a8d0207068f9753d124c814e7f7273cb72c216c6e9d6dc86526c2e571341a7c6e9030e4a3 - -COUNT=18 -L = 2048 -KI = 968b427a8ef4ef1d3c77aff95399c68071c25ff7c7b650d17eec9700527dff563bdca884c1f24d3f1e415fab1ab3ff42225992a84ca28865dd149ef4893fe868 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff85b7bc6477cae399d59185c05577c1ffd57fd24fec045eb915901a791a37c5674d7ace7579e3813e46e7123f015a6e509f74 -KO = 0d19204d1fff111a755805947920a59a7e4e92e49109d34028be0b87be5ea8dafd1559414a23f656abe9280ac5a381556db5b6fd0add48dc5367c04a1e67005108828d174a7e6b02309b77ac331418c32f725fa0f8b103c6512883325cc4c8f3b5ecc87268ad5b3a7da43810501dbc6884d3dba74eecca01b85db3ce3bed178b664c5f85bffe1362c336ead3ad09d6fd40a06a3a84bbe7a8c9b7227956eb13c5fb5f45a74a2907d891b135098c3bd568150739a88e0963e9d7442bdc2e3a52f087b632cd8edd98f51bdaca5bde41001652d9ea6bff3c734168dfd0a0afeb97e86093846b621451ed2297680c3d6197a34fd2361656cb7f62a75476a64f354ba1 - -COUNT=19 -L = 2048 -KI = be4b6f8fc1f4caedc46e919431ae15f5a6dbf485cf9dbfb47a5d20cfee88b438e1e1ea2f8593da492252065aabdffee6029a515d7f149ba1bd6245b75390b3b5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 328d64ac7bdffe1a3719c1fadb4a54be3760049ea095d6076d5aab4a4e3403a3d171069db10ca512e70307e8bba2a14f69b68b -KO = a3e0a82a4576094ebeffa2d68161f86d4588855f17b501598c8eba378e7eef899036c73cb019bd2bde377fa30ca9b81c91712247ea8192b47f550c5158e8845097049e6ed8dbd2215eb25b1410a808132e29a8e6648d83a3b2f1bfa1bb5521b80aa8798770f56aff7b493a2c82bbf877e81d6c86f60fe77b03734f5613a1532ec5932bf5f4dc8da6c760be09d9dd2c4606a79753ec25952901f65dc78ee041e28b9a8c3b13c29a393223a3308786d6866fe6dfd0ae244ce1279477517161d50c7d581f746b23cc50a9709c508712dc5123220f0b0b4511965b41236ead1a36182660a006bbe784aecb53a118ef1f4dcd0dce5f664c579be34b75994eccc6f0b3 - -COUNT=20 -L = 560 -KI = c04d58dd77f68592651b50dd8b9eddaae6a4117238b7d323b7b8eac47519aafbba511c724278bb26d1b72b311fa29c0d11a85b19248ceeb61eeea75bc593da05 -IVlen = 512 -IV = 4dbaa83482699ab88ddf44dc0e1c97b27b4daf9364e85990cef82e40030c0775e86a3d22cc94ed1d37eacfed1fbaa41de15331d8642165302be98e0e0af675a2 -FixedInputDataByteLen = 51 -FixedInputData = 06c7b156e7b8ec6b7ee64805e216fa8b5db11b4e0ae92da4a756eb4dbfb2b444417b8118a749a912958d37efe05bd2db7de844 -KO = 211e7b1ae31d29d1cef35f8d6e1134dc53ce601240feac610727328a890764b894d32a50fa15a14bc6018610c6a57e06f543b45cb9d6842b5edba1eaed3ba657b29a3e35a079 - -COUNT=21 -L = 560 -KI = 229182f7e16d89390788837fe937d25d5b59aa4dd0dd938c8a45a5bda567c0246383078110c15761a4d39105a05d31f9cd43216b42332bcb870afbff847c650e -IVlen = 512 -IV = 0fb7c7df4b3143e82d17c6d2f0e5c2cc1860116d230c8a25a8e0dcf9b3088272096834f854f1002ade01257afeff666f9d19512655c07b91fd6b474ce154a906 -FixedInputDataByteLen = 51 -FixedInputData = 8696332ca288961fb5bd9fbcc600d17bf5a94e555d62a703e5bd67826dfd56298546ec339df139aa768c1a1b8b36afacd29c1b -KO = fba6f235d552566dca98490375f6a4e6546786755a18035ad57ae1b440800511535ffd83219aa5ca2002277a5808dd55a1ffce61cb1f4afec3b7c7cdf9f561b3cc6370910191 - -COUNT=22 -L = 560 -KI = a3d9a54495fc6570af4b3149b11f54155cd232e32b43c2b5a34b2fa3df8c214f93666644f49d47a7a5fbcedd8fb80d909f8a7b9f3a1526891de28803180db17d -IVlen = 512 -IV = 99b928b3b0dfef568287794441f286d758a0116b861fce3afc372b018eb7ba449556880640f92558a0fdffd8e98cb903b0584a41e6ffea3a0192004bfa99a674 -FixedInputDataByteLen = 51 -FixedInputData = 56e4f46aec65f1c52cf8a4c3bbe9edc1da22799d9407b01ebdcae5517b5292b38664b4fb68e6c95103376aab7db8a455a49197 -KO = 5d52d4e5bdac435754ca6a45f7f86d898c15700e408e2c6f7a2c733719abd5b086d61380e40c2d30ac968bba416ea6c237622ce3d83744ad3efcf9122c14a4353688f27d3576 - -COUNT=23 -L = 560 -KI = 193c5f05e58f08f11491ed1bdc36aa428e829c9a1af0a548a49255d41ce410b87db0325ae84eabd073c2e54fb2ab1904e0fac5b58fde6b52c41923aba370491c -IVlen = 512 -IV = ea2245f0cdada9e4fb61d6aa028e4d6062aafb9b884fcbb748ade7c1aaae1dd9be22fcd37638c5f873ee05443be667565caea111c71dcd0c8f6b9a6b293652fe -FixedInputDataByteLen = 51 -FixedInputData = 9b40c308cac168d33bf1a3cd500d513ba0cc6a6c3c814f665f0b9213faeeb2f141d8ed85715bd9453d950a23fd56267a1cc7d0 -KO = 0e73285cf57b5f3872655e3acc57a712283aded8bcf742a9ac09536f51ddc6e9304208b28fd1d7e0acb78abf4b81715cfba124d68b61e68681d439dd1a6869859a434b918660 - -COUNT=24 -L = 560 -KI = ffba47a5f64f31efcc14f7f25cda1d98c787977c68c998a2180866205a807d18da994cedc9f12fda26d8bb306bb0d0641894ca5c086d9f33cb25b5571d59117e -IVlen = 512 -IV = f3eb3a6f699d2bba883969e42671ade74b30439f9fc9da22c5b85679f484bca05db5cb400c72b37bac360260f4452356cea70b9367940aba0dc6ed3e142e2551 -FixedInputDataByteLen = 51 -FixedInputData = 2d105f233efd21b65b4a1747c95ed5594e69d653c04d9765b7415bb75f09c42537807942e22abfab31964c999b3c5e66415c53 -KO = 6ba0a0ff51d79f86c8fcd3d0070d41ed9f0fe84994c1ed5036b593e936b77e3f86e6f4f1e79f1610a5cf71058786c4cdbaa8fe541279fed9292539b1805320a1eb051c75cfb2 - -COUNT=25 -L = 560 -KI = 529e720cc10767870276632fc99b83623e2cc38f9f80de962e63242c5a40328cee996cc062d3b651042a9628f1a189255e109cf6fbb50fb63d356b5edf054b9d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 564d7724625728b9442dc18d535868737580dcecd6ed8637dce28295d8130e7732e3366a2ac08288ce18a8e932d4fd5b14ca3d -KO = ea6fd39d642ed41ccb3318ef06770c5c38b24d3f842c73073608e17b30e23fe9a65ed3c26f8949b5b14c1039f8c60c81a074289e748ebd376ded80f9b3639449842f1827d0d2 - -COUNT=26 -L = 560 -KI = 2edc54a6645e1ac1b1343c3fa7bde24fa1bb3cc931fb7504688e0b637ea7234329471eec51a3bc1af9d5c7a834d8d0b948b41d05ffb118e733eb70c3d9f78602 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8f85cc7bebd411572cfe193571b5cb4b9075914cb7d021edea6ea7de520f0e853a57b9fed482575bd3ef8edcefa2733c3c3b25 -KO = 6be158cb25ce9603324f735af6b69bfe5b49e470b68f9d15e0f08264f586c12b12e5815da1145894f72f2620577dbddb4b76326b25d20525f82ed1b5b7eb0163bc6787ec3740 - -COUNT=27 -L = 560 -KI = 7373ddcbd7fbdcbf4528a86dc57c0f907e69796bcda35e8b74a2c2abe2d67bf13707abec7027c2a02ed6815382855f3e093813ac40610606b9cb45820556925f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8947b99673534d1343b28c5c8b9fb247e6cbd8f2bfa255966d565b47ebeeb969c08b375e6b6e3dbec1133456e8756857f1693f -KO = d4a0352435feee95a8dfdd81bae60cea99981d91f0d824dd251e620b9df29c83f8de376c9d38c869d8316367affd58497998474e7382065477f7ba898868ab4c7ee005a6cf27 - -COUNT=28 -L = 560 -KI = f2277cb0c7e165f0830c5a96a02396a48613edc62c22ff75ebb4df3fc6c275fae244cf4163b89c01123e977d689b24380c47227566e39016417dcc6722b4c1cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ee65ec91535772f7d63f5b980edf4399accf5b381de9807ece54efa8a0c646a8949ff5165c5fd70657ac22ce9a74f5d35b0ea4 -KO = 08c0b44c419901379ab1104ef45c279cd17e1d8649b90a082681e88b86bb0bf25fbedc41c878d3af15ae6ce4ad71c24fc542e4bed6f5e194be134af1addbf0d3e9c6fbc564c8 - -COUNT=29 -L = 560 -KI = f93ea67c63ab19251312b93262b7ab9faf4b4dd694b55f01bd09ad820ee206e35fb8243eba0c8070ecc4a0f60a1744d74fddbed92c62f4872af6a15ebd52f98b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 70dbbb8f783f491c122e6e3081c1f699d32b0d9dac229bb72973d512df55647e44d31fecfd14f50112263abd1c4fb9b456d350 -KO = ed564ed175d23267a5eae21d94a183f16a88042571d2acd8f20fc6701e5f1d6e65181c6bb6c7f6b7c6130713a8e572c9881bc4724711acb3b8512cb784509f77681d4383f1fe - -COUNT=30 -L = 2400 -KI = 0ce2c65311068f5d460cbd3d42923b2fe7f3b4c99b601974e42a8caf0734912e909e64f2078124d28cc3957b98d22e09ffc3295ccba49439f27c916d09e0bdf6 -IVlen = 512 -IV = 0ffdf23fa602f27d5b79974d83d94ef98d12e50e84e3fd991dd8b8fe21ce09b959d3a4657eace93c757726c91175e3d5215ef083a6cc37ce2269c12263469df6 -FixedInputDataByteLen = 51 -FixedInputData = 84321821bc038c0187046b6e8aebff2dbe401e880e6b8ed0079484a71bd7a8516c5e624698c803be30cf1bb00056d38f777224 -KO = 676f749e9bbd48a06e64d1ac99d2fe6bad006be52ebd2e8ef1bc438c2799560dc0d154ff0e6039e6665dde1fb6e13d5f93039e0ae78053154da8bf0301f8e6c38c566a04b5ee73dd0f1b1de93285eb5b2e7cc4c3088bec7d33f4800b61bdf8923b0382801cb5d860c0dc482d1a2d2f62a6f7c1737fe02ab7add090208315aeecb030f7f754ee71e280eda1926667a92e9f06a02b174c1a8b03b3d5f1f7fb6f89ea6f5239c38f5d8fa686fea1bca220e37aca620dc1ffe69876d38373d3861ce0d592728b2f254c15f39dd232b7acb3a6de093d840e0acfceab1423a947220f2db58ccd7cb203e91f27232d28e9715e4627df87c81674e32d1ab0da4890a3a7065de7eb1b80d3cc3309d90e52eedc6ff7b8729bfc2c71ec7017ec23b53c569664a3d1af3b84b3ba81b276c62d - -COUNT=31 -L = 2400 -KI = b47776f1a2fc785a6ab501ab74a35ebba189052085a2ab50b96d75ee3c2b644a1d256bafec7e174868b14b2a8f8d8541f3497308fe84a4f551b1350ed6152fcd -IVlen = 512 -IV = 6a35cd2a8d4b8f03d02e3176a0fbe4fdc94ace5e9aa9dec202c75fac64f7ac3c2746d8a3ac3dd115320087fce46a300652f3e2a0474ccdd82620de159ff30957 -FixedInputDataByteLen = 51 -FixedInputData = 7adc1f76830302d1dc03db8465204e394106961152d119aa9b80b3a388e87ed5f4febe1195845edc8d6a8eb5d1ed4875c56908 -KO = 39098f28cddc7f9a433fe2c34f8c1b078e566cf3e94e9d3ebb0f519d6b1c1b7fd1847b932c1b1b96a90b2947e1f7e78aa5660e6134f2dcb8eb1e0b10f06f766d9b234d87379a778ae9f954fb320a8cffb9e256bc860e31a17a1c9681514146775882fada8ff338262f74f2d5a176699043da94bdb48bae2f33dc309c3e377afc89a1f06e75df67f3cc74a5217bd11a90aee82f773b5719e3b9213fe40811ffa45b060b94fbce34e647e8933438dee188071ee464dd8833bc32ef5d9e07f5ce838bb63f1836d4ed01fd68ab91e7af235f59bd8d57f75d79c7e1c3316e64be5b7f6f480931e3b61423036e4ae0cf5c8fc60df54c44ac374d427a38532bbf70e398a151dc12bb98d3901d482575b6b2cc55c1ea142facbdb977cebfaeb56c3fd8108d72f058c36f08faca68e942 - -COUNT=32 -L = 2400 -KI = 783439efc2b1098852aee602b8dc299ebe91287585fed95960ee464d524734f729422a2899f929ef218e3b9dfe7df694d741823dfacded2a609f9827ac34929b -IVlen = 512 -IV = aabaf786e180d49e183e02c3fb6cf594eb7321dcb364c2cc68a9076302ece147dbae66b02368b0e4fd4a87f2b5323fe437104c2259faf4b17f4a347648683f9a -FixedInputDataByteLen = 51 -FixedInputData = 4053b47cf36860363855338f512929a58af0cdca9635c1893f58a34fcdf008e3f57a9bf02a148a6fdeb9f85d957afd397014aa -KO = dec0b79361fce138a34216f8923ca61d7168b75d6515ef9d41ae204ab8703e3f9614c5e7a3466ceb59fe64af4e39cfd316f301bef83caee1783aa548059aca77eab0be2972ce9b2cf5a5687397f3013094ecb8005b99b09c96302f736e71802ef5f45800b993d3c73e2ee751bd12316d481ce550cb214a26f4dd98cfa7f2fde052ed9b5352af195dc98e89df92f02bb78fcd556a8e7257ad7c0f78cb212d0f63fe19c5c55fe94ad7176af48ea3c22915f8104deb5eddd427be25ca3bb6183a8db8745bd6b8dd8d9183e740d459241006645f68013c4c9f1de355c62aa282453a7c83454c3e804229e7765c6da8a991284a28a94e9717d908a1744bf2bbe2196ec2a240a6fd3d21c0709970d9a338501ebe0deff7719e7803870f8c101d85957cf1624f995d844162d0e791c8 - -COUNT=33 -L = 2400 -KI = aeb866c9ac4da5da8eaf0e2ddfa8493bec863d9875d0e6065259ba6e63d9d1ad7956232011346b0fe398a0cbf5e52aa09155f0d151595ac93c89e2cc3c85b0a5 -IVlen = 512 -IV = e1caea20e292604a8b965891e1f65c3bd161bd28370a4f3168165dcc55c61ab59bfa5293fc76925cd7a6cd78fd3fde40cdeb546b60dcbac293a2405865938d19 -FixedInputDataByteLen = 51 -FixedInputData = c98d0dafc9dd5c62c5a74a4073bcb7f903370cc5461b1718e0b6156bcaa78dcad1ddf9d14478f8a4db50b79fa143ffd2196a43 -KO = 494ca6ae777ca8d5a689977051eb930d4f6bdd500a1cc299c8bf36e317401738ceaf335d40fd08a99ee6d9e830458d5afe7bc87ee4a0bf409c8316e913d8205723731df62ae046b191b348bb45ff1054fd6f913613f25de03960ed629d86cd8495b8c101fc442d688162237324c3c009b38cc06c547d149da3bdddc2cbe9936630f85c7ac2e8675d46f33cb6b7dd2282b6cf083922bee546dfa0a1e2395d4e8cfa04706b15b7510372bab3a1a3102dfef9dad505feabc33d98245714c7c9cc02b1aba6975ce004783d1d5913c91bca5d67952ae4df453d9bca2c48a77b37447e431cb0ffeb5dff6c3c3adb4f83fdcec5ba787513813ed4f015688cb6aeab17db2ecf2bf78661d9fd30272446b1b8459a3587569e6a5b229a418641e8dec077c7a33485322053f7f55787ed58 - -COUNT=34 -L = 2400 -KI = e9acbeb2de5d6267733efe7386e4d59d735515728163ef2ba94ca695fbbaaccdf45c812415ff44e1b9e4885a490328a0b28370dfd6d2f56851ea198c41c74fd9 -IVlen = 512 -IV = 3bf19f6649022ac0e2d5ea8342d4752bb0fa50a0fa141c621611fb0099974f4aa88fee5a840c6aa55778d1cb5f585b97d08d14c6f2345a63c7c7cee800ed72c5 -FixedInputDataByteLen = 51 -FixedInputData = 6c810429c2cacb639d1073c7ae6d93bb3c35ae939e5361d61ae26f746307a57a86b87c76195a16092a4bb4f1986d31ed52d29f -KO = c48bdffe07918879dfc17e699ab85407672f9af95835e9b9e19f4ecf0bc4ed044879bc5c28277a3b72d7556d7e0bdbd3e0e18de10dc3b3f3921568a960688e71d97401f5db9e8d5f6655b3876031505fa3990aa1f166fd8ea98985950eb8a12c2a071c82faececf1978b0a0d459f3739ef40ec3422eb67fcee4851ec648caeb1eb764006e2009c1bf7b2024729614b9900cae97e3529ca759be4b8d4d92f59a0e926d4042de2cee5fe174914b1dcdb74362f172a9c98f1587002e0d5175b13f72992fdf2f0ce3eebf793a8f71fc2d50e13d310a87c21bac04f4b63e37521e82b3f8eed42fc5a20606c869f318953bd219d6b85679f259b5cef8cb09f470e3648410c73407f661eab50d878f1a6d2d9a9d703c6c636d992efb050f7542a88fb60eb8a5d27706c053d6c7461ef - -COUNT=35 -L = 2400 -KI = 19c7974eca62bc95b5c5b018265981629e40616a19d51a56bdcead234c6449fa21b7c6ae55d83dbeab97e5a992bf1300d5658975b94ed918fac2f9f62d4a7613 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b00aef57e2c24154b64b8978214997ceda31fa44c64bb442d6e27802b6b72eed35812ff3b22bef34d0abf63dbbd63b57ea0f85 -KO = 126ba70c014403ad747f054ded58da4ac2a4f842da18f57e36002bce9f6c7ac03d38d2dfb65f78d47d491214331d059c9679ed1975f96077c98c2b85f0349c751bff09882ac400aec6be0522579f37bcc66203b549d88f32a0c7979c46088bbd3c69d81cef64a0ce7c0f10126f445bb42829efe8d9c6aeeca1ea4b03ffc3763f27b34e98e4d7b2955acb4dd1d0dcc13299d56463180eb006fe5fcf1d05338b5a77d010d2649786d995538ededce748b93ef92917d864f58c841098dcc68d2922243a0aa47db540e7991d6be850c8a8000d792dc4cdcfaccee3260511748fbf53c952d13aae6aca5960af5b459d26a4ffc9b58c18cb5190a177bff332d28a23d9bee000546b9054e79f755d25397a2cb4a4a1f87feb58c41baf743ac655c19e85ea6dda3806bc4008eee35293 - -COUNT=36 -L = 2400 -KI = 053e56a8e3ee1cdfc18724aab22a6c9e4c85a6031a1e9c51cf8418470d346ddeb8d3fea6bbe639420afa620ea19ef3563f49128d6a3b321c9ce90a811da5229a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82405a1e0c5d5518126801b0399ab49f4538dc962e8d51e322b39a08a1f06e914573cb1ca38fb9095a6d69003d4d00842b9140 -KO = ec6f3573027cfda0c3606c1d282d01102b13d6ee2d0b884182f117292eb354f054c624e1e2c9b9447b7909fcceadb2539391d12afbf4046d0d92ca117fb893315df3de9aac837f67b0acf1e234f3815b3c40bec0eca67ae4fa9891697771c7442b5052c7948fe1d69944cdf96398f1eab5d8ac22aa321ad862895a009900d2a90ccd4520c4d19789baa36770ad7dd6c3e620357b337337552d4e3ec0fdc850ca998b70b0be90a4f2fe4b76a659a6fe88be4dfd17d72156aff21dc73500a62f17c9842c57e7878f3514256653b729b1cb07f38fc569d564d1858fc7f7f26d32a2ac3e22ee7874f30f3e26eb43a801f9905abee59802a2bb4437119289829c3cf3c80548d1adbe9409eeaae9aaf8d27a4cb73c1422a7c9a94199a3cc4b6b243f5b5dc1e2e2a98e6439750557b1 - -COUNT=37 -L = 2400 -KI = f0a085dc3b46ba4370b482c1d9c3c594db2ad5acd841195b862c4edbf025ecc2769b87733e753a706933f0043dfc94c6f1b101525ced0989ca60ec1fecb25824 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5f22737547f96fb5b6af928ddc6a80c5bc3d20079b87016d232f8e0dfb964b9fcecc68ebab4703fc10335f0cc9cc2b872c4200 -KO = 38b2282cdda0446e907494859fca05cf60b9d99f39c9994097dde4defe18fac287a752a9307952dea1c9b9c5e38e4811bef2923f9dd99a86cb199701cab376bb739e0d3880b6def3c82f88f5edc17a803ba22e0681b4ca052a3179dce9983f6e64b2d3ac1696963ff585bf2d591fdf46e59f6686b389d410374f416c36776e61b8be2c7ec777e5a7a1303d48ef6a1a52d5f626d675e17ea840005aeaa08156e5417e0c7c114e6bb9e49fe1654d295399b5b27bc727ee452cbb9bf42ca894f67e18aa2a4c2c75020aeeed352fb58c834a97bdda524ebaaed60cdf96414dd26928e8bf8a408ad98b1fa930b516e4806d8b6527d4a10aa9ba0bdaa9a62b48d1fc4c8fd915080714d97d1906de8a90a75b248a2dd631e19c6bd64ee6705344ef4948fef63a2b6197c3313d15bd07 - -COUNT=38 -L = 2400 -KI = 8cb3d4c1e70fbc4999c4074982930f1e84a3a8f610b9bf6ffc36a8962376c4f894aee589852ca060284899719ab2b07f8b9be673d4d66326146ff937eb85e71c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c6bcf4a9818689ee802c6de1f989106ca4dd7173b348c9020632573122947a00f7a87789319cde880c256d5ad21f1c7146890 -KO = 97199a03d147f1536e572630a41d38c24f2aff5f62a101701bb069b83ff34f41d795974871b2d1100c84b702682539408c782590e7b43121561896391016efb31a1b7347e4fe97155766f6abefce004e4701c43da65d8aa8fac4faf134f7c255eaf08469ff74369821142283aece83d08d77e8d1602db5963087a50a59585bf9e32d9e8ddf9c4476eb823ba58369b0db76acf12eee6f71b8c7e3a3d0783e684fee0911267fc8939e83a506493e82b04be24dfd4f2715844ee1c585f85d8b64c86ba7c280d689e57275057393a2befae9b66a491dab02acd2b62d1650aa72aae47d5517ee452181ea060f6d351793e89043533d679aa5ecf0e61a6dc0a139c0b65492aaae18d5105dcf95579dcd6010ce768600b5429cf66bde9dc3cbf6ead99139740425d445c7db9b5fd35f - -COUNT=39 -L = 2400 -KI = 8f96b7634ca34ac6d9093fcdefb6def903c81058850541b5605a6f21124eb9fc04542869ce8e24833732b65f2be5a26a65f5d052ebd130e3c70cceee596062c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 615cd8baaecd4f51d875e717a5f454f8a18bcfb2ddd7118fe663c954d80be2fecd83dc9a9f41f5e5817378981944d95cb3c9c6 -KO = 2b685d463b1ca201e9d08c8d4f98467b9853102ad8f99946f346e645bb4cf3aff7fc005e6db43765222b2125656e6bbbe31429652685b5fede290e33804cc9cc46a5ab772f34e5b9fa3eb50fd8dcd80b2780662f9aa17c9d8fc2a6f004819c023986127c13b01df23a5cef31d7800c0166adec69f632a968a57ad0d3a1257b02b3e604687d7c2b46bba4685f6150962c8cbda0bd12c8e3557a3cfacf27f013190099cc15eb5e40320a14f4266521dbbadfd02214c1455decc7f6293e891192960f56bc9ab55b4bf9a0c0159fe1ac71ab8d32d1fd3ca6b2dc267ed8915c917b36196d986453c044666a3bb7aeef3ff11b9b9de97ab1b1c286df81e46a128f83a21c20c7d97704001b3950043b2d9da9a63c43231e7a0e2e737c54e4a7d47a60e1a5444e450427d488fd6fb59c - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 6087967c09df5099059eddc44e73b2939314ec7bf4c4cfc55ccd9d3ba12ece87c31067531588329307f877224f3b5e7458a4d3eb67c136de7576bbe6f2fe2c20 -IVlen = 512 -IV = ad0a2c68d2c426bd4480c49d59c504e49c5893756954bdf5950c6cd33add3baccd547940ea97db759c55eae2cee004dfcf37ff1938853146aaa6f0f010e3f997 -FixedInputDataByteLen = 51 -FixedInputData = 59cb8bb21e2f8a5813c1dc6836d78b4276db20e8794dffee4232f5be7738be656eb228af33eb26d7c1f7d53ca5556768c8c1b2 -KO = 3f4ee8000796c85137f0076b2d86be783850049ae51a3bd18665f13f141a7e4ec49b6d97e18df5a2a2acdd0ea475b6f2419209a4b5c36ad13881c08f50e99442 - -COUNT=1 -L = 512 -KI = a380fe3e8e61dd347bfd110e538ac8e5581210165b1dc9baa014666111a57d26d7f91d5688f2663b241ef3dcc2f52537d0d25d84a94b720a49110aea857a20df -IVlen = 512 -IV = 72d4e43ff5c34454fac0d9cbc1d8625d6e8afca7255c10bcb29001fdc4a05bcc5cc1ce9933493ced5554afc4112674cb320a8c8295cca5f9bf1c43e785cad42d -FixedInputDataByteLen = 51 -FixedInputData = 909e0fb771f4408485cf99e7c1430d08d806ef1e331f28ae1a6a20e71c3530ba8a590f164748c14f30ee59dd7a3b4ddf0b6ba4 -KO = ffdd78dd5be5b737ff8222485020a3ad561882a39df9adf17a65d5805dd704e55801b0b84ea1d6681e9f74dd768f4e8ddf8b154a59b1ad246db49506dfcb4194 - -COUNT=2 -L = 512 -KI = a6182d8a033488b9a015f1bc8242b927892c9bf8857e8cba648505eceaadc7df14648fb9b47f10b0545880fbc95274a3b71b173ee3d90e5570f0c24a421b0436 -IVlen = 512 -IV = 38f423cba8d298cbbd3eda40c472a2fa7a4e573f85232c0f721cdab42567c862cb8b7b6b290864555d1c8e72043b32577cd487a1be43f7becebdd9beda0d1edc -FixedInputDataByteLen = 51 -FixedInputData = b6594c4267896812bbb36f00315b4b73635d3d0e5da369a7cd4942c872aa3609f0a995143d1c73b0c72a0932e62a8cf6084a29 -KO = f95dd65beb1aac05e8b5062918638919727e1aadb96fd8095eacd198529131933f658a1cedbaa59582175abb3126f1d403150a596b0be1c2eaae86bac217e5fc - -COUNT=3 -L = 512 -KI = d0ab2651b620eb227d4c97bd0699f45bebba59c764eda788f36c5e39e6790c087f388e105efae6bac904d0b4748e76372b26bfe4faa355c2a40cce59001e665d -IVlen = 512 -IV = e57ce017b6773b6b83919be5662d92cdb21c8708433427948313e18d6b3362ff999b052f636894fd40cacdadeb0d19815b921f6e4e477509bc2bd1ba5b659bff -FixedInputDataByteLen = 51 -FixedInputData = cc2d9b138b1060e289bc901127daa1e78165d5f0f9728963e3575be6014185dc822847c5334f0a104d6afd4c3bdefd321b786d -KO = f7e522c3880ff37df94ce0b659aae2a7826783dbc2abc277a14e881e000c0b5fd146f664192a6f785de4979efe2625c043e4382cd12a0cea469ea1b70ae58889 - -COUNT=4 -L = 512 -KI = fdde0c6d1191394c37ae7a3971b7f2e7e470b22f140880bfb0e6b0e3a64a9a6cf9e4d70c4d4c960bc04e4b6dc5ad257dca559c712725331632c5be90f63397bd -IVlen = 512 -IV = d8d04b2b85745c33a7e3de0fa6713aa32ddb1eae102120b13f452dc01e6e2a7e578ce1396f6ed7d5913283785b5eddfc312bfaa70d1188d5165b855cbf343dc5 -FixedInputDataByteLen = 51 -FixedInputData = bb3d07388ab1162fe658de67cc282cbd6f20aa828670c32b27acd89779b590dd9361482e53aeddda5bc4f26387f53b52bc66e0 -KO = ad85da8b6d13750195dc7372089b9f859f63241e42516df5be45769f61cec826d646f9bd9ce4d40a3efd77198e951ab6e7fa5a46aa0e6fa1a862ff99c7efc884 - -COUNT=5 -L = 512 -KI = 62fd0a17133f84dda3e2cb6b74c1c2d0b21ef182bfd70ef1087df5e3b53a1778d3c5e7850f9c904b27b198e3645082b4480e73b088a3d524721f0dc0c04e2f03 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = da66c7f5011e7a6f964482f781cf0b6c4bf1de9c73e17954e2a920b24a48b8cc3fa6785148e6d2c64063cac054a5e5bb90bc26 -KO = 72426502673c773a2ae130a7f0e0037bb8bd7663df152d8e686a9982d9485baf6322a243647e6b31127fe11aaca072569d62bd5d1d0dbffc460d00a8a6599f46 - -COUNT=6 -L = 512 -KI = e57397a1768b36cafab07ecda7ccc3b9c0b4a4c16e1e8b8ed237ab7ff5199710caab237a2b6bb295fbe1bd03223e62cf7f4b30f03b6cccad5c82d7c0f04eaae6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b5e0737eff72b573f5f3260cfbf42803e6d87c45d494c83af970d91b7f5e2404ced82f38f80dc757b7815a3ee8bc5211cd328 -KO = 82ebbe62531636089a3d70ec7aed3c061d97ec33f16983d7d61f1c145a8e76267e3b4bfec66938aec33af5c73f24c43d1858ae6dafe9dcea3bb6a289104da0b5 - -COUNT=7 -L = 512 -KI = 72c3858472265a7f089c31e9712907a6810c0b7e724d46cf7ba2879b4e4f497ff40627faa287e962a5287b5dc3e06d49c5122bbb3f7316b6f94fe19ea91144f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0f271abe99ca47e8e9ed4f43f18b3d1a970b1bffdeb2efe03cbbd5de827d71360fd7c8659a24b772bd89ff08e639399292f83f -KO = bc560a293d7e9a508fb428a9a276cc08faf1adaa86cbe418fedc6978b2ea3af95cda9475e69a95ae7f13cb194da28c989963b64a975d6cadf9464afc9c6db46a - -COUNT=8 -L = 512 -KI = 6f65826198c9ff8728343bc71015cadaa88d41eeaea390cc80cf905997a6c8feccd3f5de9031943de7cd30290fdf72f71f4553605797d8e4ed59d1b9fc595174 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf5dcd9617d443d90b229e62aadd9a9e73e12b1c27709926fd51ff077917309b9ec3d1b51006f047db6e3c541ae390f331da14 -KO = 1041c49e260d9a1ea7c8b906e6743ac2bc55ce73c6564efe7e91495afbbfbf45dad042146e7131de255470d8e4903f4cacd15bbe667f85dfa4ba49d8cd6d3432 - -COUNT=9 -L = 512 -KI = 6bdd02fc33b4c61cfb8125774796971ea470e986b8df31338d8745171e985169f4fec637892338e9024c2fbd6b6b6920dcc6398110dbe44136cd4a437fe4224d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d59eb1e414a1553d2ef5d8ba71b4dbee091c6c148afb37054e1fbbbad6fe11bd9c99067250448fb81fd56bb97f7a4b4e944d5e -KO = a70f6482956a48d54946dc05d7afb9c19d4c05acf46245f2b250c122f927783711740d02bd1a30ef896f4bbecbebdf1cf956cb60cb5b16db4fb9fab08a4f181e - -COUNT=10 -L = 2048 -KI = 95317db31da6be639826e1e1d41b7d8ad62ae28722f4eef55e98ab3d2a6de397066356bb91d25b28356c91a5b61a92d0d593be9b35fc18d66f98c2b02ab090cd -IVlen = 512 -IV = da3c739a110683c7dc432e4c97d5e3a7be6c3a07945177cdb41745f66c7b7ce24e4be962898ac8db11b653c5d831a5d75d5af443322bc1c8ae06852b5c15fb75 -FixedInputDataByteLen = 51 -FixedInputData = 712ccd0182b01f824ff907d93119731b85a57efd2204bf565ae55e1f7e04315988256022cd6d8a3fd6a11c81967fff7e052655 -KO = 66526150399e4bf7d411f7e123e93437771882c71a2f5bf684ebf0ea69d06c547abe7c6d86934d81be1ae466c9f15af0140f6d92edf43b3870bd0f49e98697a06c6585de14c7659e050dda5e6660823fce00e52522ac3c5e44b86d46dedfac69f52ba88977abd10325da7214c5558f9a5415e97e4cacb5b412c74357c8eb521af14f0cc9b396681383b40b01e7b9979a170f06ccd1463f1a6d3d1f6851f639d0b270852add53cc6c267d2ca5101ec79763773879ad1b1eca4ad1d04697d472b982a08c1a120a39daa741b55bb36a95ee5046ebeb152007b10a968787614395f78815854cc876e0b21edc025da56900ccf30d0c3e5470f86a0adb4dc8bbc3837b - -COUNT=11 -L = 2048 -KI = 28d2a7ab2649c1bce84fed574eb1df7448176d9e188dd87a6cacc1c979763199ba9ee268f22064113fa3b142b02f04c63640a6e83c39e7d2154144e3be7a6459 -IVlen = 512 -IV = e9aa6c28f9aeafc62b4d40f399ae0ef0fd0b87df639e6f3e18ff546b23299cce7e03d2fba2ae85245c532fdc0716528ea0950ebffa3f946bf0a3281f40d55157 -FixedInputDataByteLen = 51 -FixedInputData = e21d4238d880156ba8decfa73041f60a51c940dc6bf5b230ea7607d4a37323d5505cb00179067c2b637ce4767ee893c45b0365 -KO = ddf5a938eea8b84ae76bad458e55de7a5561d1b0dc6e5b9060e0539951f83598ca620d123841517392630595dbc5abccf09bd11e4d30fd5b5691382b91a6ebbef3a63ee72acefa9d99f66e71a0f16177bc58e200b139088c1b584fd4efd1d7e10b2642cd3afff8bc6ed657d6ce5f9e8a8daa6a284f77c1cb9e1dd12858606cd76c67980e8407763eb45180f917f9ee632bba039d3d2c6f73487fdf658cad034334a3603c300151078e150cc0568be4b56edbcf0ccf9e1e96acf726d754c54a638ac4cd6614cadf346eccc5c123ba8139775da083dbb48b1c3cd9ec712921f80eba5fca87a897103582ccdf3078edc6edd24aabcbd1b8e57e22ff0ed174f067c8 - -COUNT=12 -L = 2048 -KI = ffd46ac0d20259dc1718560eddb7f30b77b337844c875b4c97234ffb3c53d643ce428a796ad8b8a3eb56c3a9cb4a1dc58edc2896264eaf968c2c24f18ff8aec7 -IVlen = 512 -IV = e5a7026983dad61f1814f47521a9e154fdb804b547b8ca75ba59fade02cf6832e047afc0668df9ff12fdad05cac4413331431549d4af762afca83d667c8eef8a -FixedInputDataByteLen = 51 -FixedInputData = 43db39a054a9a72a6a9be7aafc80cffa4ffa221f566f4328d9041932c8d47d4cbd89016c982c5e400b05a3999a4a39ca5b3559 -KO = 48362bafc7612dcf783440544c2c2988da7fa2751c9ef265eea83eb9b3589a869ddfa17b68d24b66ec85215631fc1480c6c721797d8bf16a76351fb349c20806283757a5219d0f800c020d073fdd2fad64f231127e1542aa9eb2686873d5a6fbd2c7c4a59a86c45354132cbe95779f29c013b5d2484cd0905dcf77f95021404e32e6023e9a0d145395e904bd67c0137a6e5b842843c28668fa0b48d83bf1cb76d4b8bfdcff52621df134f93f87751894752ba8ad487208da03f08db0e58afde295fc67872522fcdfcf6360e8c0fb5785e1d183dcc77fa2a7acb8241fcf1422925829932478c82838f0b43be4e342f3002dcf4a8e712b2b4bad1c8e17b9870baf - -COUNT=13 -L = 2048 -KI = e6e592d26e339a020c1c84f17a80181c5f28178d322ec3d50ba2e407db389b0fafbe4adf0db33454b49f7569bd5a443d995fe3446c57287577e3035e5bdaa732 -IVlen = 512 -IV = 967ac449b4ab00fc3769413eb203b912d577fa3a62fbfce58259b1946af4242742426f0e502d405765c5585a5e15c339cf69086550f6fa16c799a3e6e58419df -FixedInputDataByteLen = 51 -FixedInputData = 13aa02c685b81a122c8409dbe5d9a127befc74207453b6cadc1d58f835e2ea180bb5d12dbebc12024994bbbb7d1c2fd6afb89b -KO = f99f4f625d4552023e0693d63e3203bd934e7fda988027cf98105f3b3918630df07ab0d823029dbe5ef03b6665228ed966535328fd9d390a81c87777f3cfd08e155214415dc4699e3326ab611b716d5ab45de4a7a62ea27f93731c55c0180ce8914d8e4a155ab5fbcc74d3249cf19e0843f757964e5eda14a269875644d2a74417ecbca595a40ad7c5307b8da362ee3d76d409569b12fa4b3f818c71accb6488459f499af1924e009044ce52a158cbc9352d41285739b0d04a7a8572a16093b8efb352072f4f1780f6b21abee3acdbe98e1bf25859816ba2a9b306e19859919c721a0fe25e85f4eb7b9e0c4cb45ef648954cd803e26cb87426efd6f325bf881e - -COUNT=14 -L = 2048 -KI = 42e3038abe07a78e02a14a6a5c939865e5979b5e9ea18c7f72cff63a1d526df882cda83783508a60162c5635c7f54ea6eb2cc7b53606e0dc6e3ed5e32f764458 -IVlen = 512 -IV = ed355a0c1bf9b7486a86e5ba64c9f7a65278bff33607f44f19d8a01c355565a6149a35c73ece293a502ea47cffb742ed4c9b2b1ddffc39a31b8c4abd0ee743cd -FixedInputDataByteLen = 51 -FixedInputData = da1a580f8bff9b9c94f39b0d5b287a55cad56ee8ea0200cfd7da6b3f523f1fbdc74d464521cfaef58d35befe59992760e08239 -KO = 8852d0f1c79e58a163bddd16df4aa0b5c0e7a2a56ce418369acb33c3a01a14896c4f4fa4c1c11e36ba8fa5371b63f72db6693716e11bf00d2b2b318e1229d2cdebf8c93b5b1ed4acbc7adf646994319ec06b3c4879a86cc01011bf23074325b192c8ef6ba4b2077550ea143436042713fcedcb18253c066fa19abdf62c13165ed588342b0e9261957b34e42006ebcfaaec9f32a15e5e8e57a5b35cc0228c185f33d08de340b3e7277b45398081c6068bfb0cf20bda107577371b8a8826a9d218543010878ba5299d39f8a8d11d9b8e84ee560fafdd0a6a415649db3ebef54de171c82a19dcbf19c093b698f660a756d72ba3d46df9e657866665a3dc8582682c - -COUNT=15 -L = 2048 -KI = 38224b48cc0949a8e78efd4a54d0cf85d74748bf74a87500878d84a4f417c89af64395120d5d908d83acb5f000c657fe53d248b1df86fae38a165a0328f78070 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b82cf93188dff643aee18c2e1185ac72a8eebe02d2d4367233af302b72789e9d3252c0bee3595510538e125cc2543df7820946 -KO = 4cad8d536869ba46648832a9dce99e628416a86c79a16a0c743212edb2decbd8a03e6c79567972402dad337df8b113250183c8796fd475943519cb57c2c23a13721bc0d530e946110268e3b03c11dd97be0510643539f4fb271f7850e2d0fad95b6a30885e173c92e1d0a7538b1c371fee9498622c7eacc4a39ee53f2acd6e6279d4b7a66733ae3c0f49e107057255842fe2b7c8de5c59e6d64006a6bc86c0d68615a2a7dd0f2bb4244c2b01617369e9bd829b97b39e17aeae2dc3c5ae82c539db0f3b02574dfa8079bba68d81c194ed2a2e3d9238c57206eb5b22baaf51b8fd5a75a9afd8144d6feae8f940aa11fddfb94c584d0913448a5cff8c739732d5d2 - -COUNT=16 -L = 2048 -KI = 2a4c87e8d4c42e544450ee29073c15cc006687f3bd8f1b86f55094a7d0546fe76bbaa79e6802a72588f6a48b613f669b89d1398d29e588ed0cd51c37aab99b07 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 428db6097b590255cf9ce57ada273d49e4072b6d0a3419668b115f5774b2cc01a64ea8665aff953819c5fe987c64be1a57ef82 -KO = 5e68eb632faa8ce44b945a74ec2346a38edf19cc037bdcfafb39925efdbabecde0565985b5f7315d31f19020e9d9f0a7fe61c8250409a4bb705e517d33b1441b75a952ef0950c3af7b994a520591275bf9799f082882b261205e386a908d559b54baa3526e6dd22ecee003331f4530f6ee84f7adbae5b13327509bdb36f20ecdf2bd465f52a68dd59d1fe4adde09746dbe5312605f4db9e2ee9e0aee1d4e589926c7131c48a7339e8af924ef72c1fa771844cb96642affa5de7da5cbbfc53d8f907d3b86babf568151159c366f4220ecbce5930ceb67776232f002b588b7a8f5ad000ad0c2f5f34aa20bded1259c6a3d06e28634c305a618f2b35b155f956458 - -COUNT=17 -L = 2048 -KI = 7c10828f5994b52dffe04030a6f381812d76bec6af6272c5a36ab38cc89cec0a26623a15d0ef38d01fa0042fce3abd7790a508f809128ff807a4cc47e2527b91 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65df70255f375c6d40d93da9779c5a48f61f8a4e96d7b7bbc66b0809abc0b66607947897547cb36f1ea6453bb4f334cbb06e07 -KO = 81f2457f61c11f25426e7c6352f49fb80a318b57d026097a9aa09325934e6704fb86a86b90576525bff4491616a1877e2b93f923094caf43d9134e03d3bc3dc51e94f85b7b21619c2f5532340bad5f07787632f4a84143f2a7ec4db5a265662d1a6e3db5b0c4a7b03839d94d1c8b94d17ba5a72e3743f5b3e7873aa0aab1128e90c3ffd1c1deb6d9e2e11121ab32bc80e02b8ee65ccbcb1dabc5e05bd7f06fe5bc302ec740d5320aec5aff957edeaec889b373f08625e20016c9bc61f609493879a9f67cc62e62ae10f5a99bb23c5c4d163ed96e6128520b7407e0706771ca759bfa963ffb4ae471b742bd4d9bb79e7f9dd281f1bffe8cc8f0cc63e37bbdb353 - -COUNT=18 -L = 2048 -KI = 963831826b7f74886a992d884e61cac70fc54fc3a6e446e1270cd46e2de049e208399add149cfa881ae5bc343a56be574d738bb43bbbc039eb39fbc344952699 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d814ca92437529e72ed9dd9083e36bbd29ae7d63cc441d4936218ffccaf092fdfeaa5f39bc9daeb0b3ca15b79661a12e5c04cd -KO = fa3cddf10f8e35f5f2dc6f4fd806ec53cd1171be47ea425820e15869f3f522072a8e2bd8ff5dfd355cd126b9bc26862dc091e7b5ee735186e55715208dc68982ab68b24a21ce50b6bfed13979ce996db6d47dc5d368418f90c6c5000e1e577aeca18231d50c9f11ff9fe4a31eab1ae54ec0f22151154d3a2bc45f7543708f28d467057202a6eb1e27f89ef8cd7322640ea1d1b6b254b330cede766c907bb92fd87d8022637bb009e0c0bf4ce52165b010f31c0766d60566e57b3b7faebb8fb7855adba9bea704eb0bcd591f5372441d14b6ef80861fdaf8e1c86e034ca2956f7dea70c13e67d7ecbb03f905b80330e519017075dbbe638e2f16117ef5dcad3e3 - -COUNT=19 -L = 2048 -KI = d3f5ce0111f50a404485d19c9414f0fae74d3027fce3a329bf1d6e5ce2d8844b593a5d748d0593de0a763149955039c7d826eb5c111947fb706601540e89b53f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34b625ff0da550fe3dec72f867843481bb1c3eaa5ea27d256a72e8dab5a3a2288abdf0d4ff6bfe6af9b4f33f1c2e0d0b6cd2ac -KO = 6024f23d631f428243381007cdb6fa182cc8f21696c8090e416e6c095454f730e15c3a1399153ffacb7d89784d34247575a61a38c1c16e0e5da4fd6f5ca94ee75bbef3d2929e9117d60f67dfa1f065ca1bb55d6bf513475866307b2dee1bf47f09e293d1db34042806baf085e6c662456246893070bcae78d14059db7b60cead7e10751e815ea9c8ff5f24da3d5e7914143de17675a2b8c05f26e8319138e06fc1688e34f4e64117f72ae2525b527a073889fa345438787e1c6249c8802e969e2be82a33ce977ded89aa09e72a3c84c8678915cb5c18f5503a2bf5762f899a8175869a114e42170e367dafa7ba5897fa0a836e4c469ee49353e03d5558065f9e - -COUNT=20 -L = 560 -KI = 99f32c59c20dadf1c92e20bbcf7f261f6ba1418d1fc9418123b9485228875b18068b76d0d057ee48c7a7c280fbee04a5a53e21a7721cf9d8fd809cca0fd72102 -IVlen = 512 -IV = 151c8fed9d4c78182a44e778847740e61f0af61012f925211e7fc82387adc44aecda7c662befc788e6258b36acfa005aaf390a6a2099cd8fd40355073fca4faf -FixedInputDataByteLen = 51 -FixedInputData = 54b8423e73965f02c112ac04419c68742839fd7099350524e8f583b9903102339d464c4d284da8f98f522c9b00e90b6e3d3548 -KO = 97da8912e99ec6c61bf7dce15deaa3750674e9275b889b65c7db89603c9d2767e40b48f5165a0e20abfc1c04932b4a2e523d000cc8de8def060cf24521301e3b880f5f9d890f - -COUNT=21 -L = 560 -KI = 6cd95a97309f075d963ff358665c14d29a184c7a9f33f20b8c23a5e5956fb1abc10b6d86776dba9f4f69feca194c94b16aa7825f502d8b38f71ff96ec22b8dec -IVlen = 512 -IV = 11d12df75d1a05ae5cfe86ba7889ed24cc7931b0bbe95891d6472fecc110c55e63f94fa1e4eefbd10e5192cd7e85c5164d9307ef78a29044aa30b9002ecdb969 -FixedInputDataByteLen = 51 -FixedInputData = 7c148c801b96e33fbe7a5280016286941ce246d01baae104617926bcddc0697faf7a54cad21922764b842cb30ebb4ba55c2684 -KO = d1d860b8308fab8e27234f07837a153d870186988f5d9235282c36d4828dbf83e04c852c5e7e66c16f6a9b0236ff5bb4ef2d694f36786e6df04681eba04a9957ec0792c66fec - -COUNT=22 -L = 560 -KI = 5813ef44c309ac2f5c1fc7e0b19ecd31f4db54b46181722c42c87119fa07129e3f146fca5edefff458add399c45b13376b4f3992a9bf5830ea1bdbed88f8b4a6 -IVlen = 512 -IV = f27f55ffb9f627b0987e427876d8d35fce11bbff86fe886b4d08f97977402431f4b7116bfb909816ae7a6645dc025030607102f93a1403eaa0a15f3ade40e33b -FixedInputDataByteLen = 51 -FixedInputData = 1c8d704713cee6ee052e4f99b526e37e629324ecc7689d5d5731af8a6cf66343d4d9ceb884ed16fbaa1348a6a0623b4c38b5b5 -KO = 1e6d50d35f4325dae2878c00e77cb2a826a48e18832a937b5b37dbb205eb3823cb2cd8b878c23348e02fe55efb4afe9e2b2e2dea88f4ef091c3c47dd52daeaa70fbc277229f6 - -COUNT=23 -L = 560 -KI = eb7fd7fa5d8df3a9f30eb6d4788c8161dc16c7a452a384ac776623b2761c2f7e8b4519c86ac3b84ac87b96cc4edd25c377bc3d98a3e7a0e337695b4c6a5c80fe -IVlen = 512 -IV = 5128038272e3c201156ab7a57763e818b89d000c862133ea816728b9fd3f8febeac89859f47eb271d9429bbcc69ee97a336a1a12fbd2ff41951b7991113508f6 -FixedInputDataByteLen = 51 -FixedInputData = b54984f24023a0f84eff27361888883cf3b9ea1cd8e5114e5a1af10208ca1c5f1836c8666cead404260453d496298f37d9e1b0 -KO = 5b3fb2d3a1a47530f7c5fb34094a49c53786ca02c3be5c43dc3d46ec39ef20f797b97d0c767fb6e10510d8fe018e08b3702907614189e7f645226a8982648a8e5c93342da78f - -COUNT=24 -L = 560 -KI = 15cb7bf798b7deccba46b29285850f1cf0a2fa3e43249562f1f03aa18869be35d16dc6f0424beee636f904cdb9afa9cf2adc184c1bb142078ae48025e5cae5a7 -IVlen = 512 -IV = c9e7b08203296cb763477159b8fa126e341921b4667f34ba9717621db36c1a6275d33b0159d293c5d3786734adbb0a9a0b5c49268ae5b77985a9a384af36ab42 -FixedInputDataByteLen = 51 -FixedInputData = 938765378b8dc60c5a7f5a80e2ed4482f35944a26a1224cc761698eb05348edce8fc7fd721f8a0bf95a776508cc6ef8a05e1da -KO = 9b576ff62986a12b9b58ad04ade951bae77ffb159112e7ed5477db3e5ed50a9bc911e2b8887ea725ffee1708e9e3f9c387e869b04ffed5103c578067d95361c458d3e0f95efb - -COUNT=25 -L = 560 -KI = 27485fc453fcb83ec84787262f74131dfaf56092ee366dd2be5f299e7e1d4104d2a3ccb87b97f5c2dfe6a4d8359d3a8da6c89467fbb5919a24bc8251e1452777 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b448b8762bf063ffa330d1144478573bbbccf86fc925882c89acdd0069371fb7eeee2424976f01ac729d54669b75d0e528615b -KO = 3b14c8f8c1863fe065ec8f1b074770d968c4237e7b4f5b587db7afd40b1af39931d01029621568c5ba433654ac0c1e9e2e7c9286b65e0021fce86d4f2133dcd35f21908d9cba - -COUNT=26 -L = 560 -KI = 445acf82b201a5c89d79205dbfc82ed581ebc9b1fc810244913965a7ccbeaa8affde42c080ce6a187fc796e2e087638219f1622c417f0b05c5bef0e4c2db8eff -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1d3e27fb4e57ec0ed8835ced3c639206a36d66663c53488f2768ebd25f2d1a39890123bc85265e0c59b058b4c3ad185d024d12 -KO = 71615eee37f56fc045f62396981691370132cd41512ac8148c2fc7f1f14fda3ffff94bade79e67586da0aa39283fef55e47979b33edbf41f2d4dcdece6ede226611193f830b1 - -COUNT=27 -L = 560 -KI = e58c927ecdb9488d0ca92cc2744b45f02f628f83eed47338f175f0f9ad3f9d5ff3accc39d46746fd4ea083192a7648e68d368d7436422593f74a929bb95ebcc5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7619da5d6bb38f4827ae4956a77eaaabcfc31b231fdbaff835c71c49170fc2d33d1fddc9a5bf9aa3a9b0471ede166087a4ea9d -KO = f7a27c3c7084fee91b342f6b2b35e5f882155fc61fe076abae61b2b186b2a3d5b3ddedfb0065df921d4cd6924e34a8e319994e3ed7f4f0fa3b88cab9ca5550ef4c1fb74306f6 - -COUNT=28 -L = 560 -KI = 6ded26ae9f600f178e67c285b51ea70a5b6488b434f6797aaff10fe9880f49605798d0d8c5bc801ab168b49233077158548c5ef7ad65b1e9ff510f695981ccd1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d4f8f63b1858f810601820c1d3c391093c2613ebc10d04aad88290074e1afb2dfdfd35f6b00469bf0bd9e788924eb6b4fb0c78 -KO = 8cd8dff20b456d4af10030727214fe23620d68d88fcd3568ad55aecb15bf3c4536cbe2d6436fd7e93b9f70e9ed8aced7eba275f50c98b7f52a14420dd06e58a6acae019d9953 - -COUNT=29 -L = 560 -KI = cb8489f914b83e00ecb61b2ec9676f516f69705334f406241e0318de1830041db3c0e454db1697ffd9f6f38da00b3f472aaa12b611b06d94fe3c1f5d3fa3a0ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2455ad140a5a32a489a41ed89cbba6c581f1fad9fd05a571ca1d3f02308ee1b691c494ace35d9f214fdcce5bcbd8c5b51cf959 -KO = 44077598f787f7cda4a054d5c254daedaccd5d2b5bba6b3ca63735cb85a3e74a46cc27b5e239234ba472c50daf5f541cc04b3ae0684bdbecec673145b72d07dbf5efda6dc1d6 - -COUNT=30 -L = 2400 -KI = a1a29cc99fdaad6f99432f51ea743bf98c7a28ab018ebe33acdde3c5a5142ad31672e755d5a5d5cf91a8a822db4afae3e6821b15df1f133ae4726c83cb8d68f9 -IVlen = 512 -IV = af9de2bd4a2b13fd1efb0813079096ebeb30051d9b767dfcce5b7186350c2cd1e906caa8f217f327c3b61d7e865885d5a4781afb62bdc1ac1e504c2145e889b8 -FixedInputDataByteLen = 51 -FixedInputData = 255db9990b775d7550c5b4d062e4a33e73ffb0868c8586dcc4b498ad6abfed84b23f52800f57d9aae463afb01077f1fdddd545 -KO = 1e0b51837fc6e478edad448b947441110b02d5b4f8c58bbd7f4d3cf4bced58ca7c4b1dac530005fb81f82666870a1da87733f270bf9fcbae170197cce44b504b0457f58cbaa9c1e2d1b1bb6e749430381360aa1b5efd27fbd9420b295a0e2223c71224d418c77177f74f7b398c9dd752f04a38e11a6e4bef7b31f273c953385ebe4888247cbcf0f2cce580de1c684f54e1e1fdebcf481ea3b97aaeac3a8004fb684048ad5d5e4509a9313511195bfe5ed2e8b02f98414aae0ae300ed9f62d5f496d78dc24ea7c8954a2d64aa679095a7d3022f2f3e3bed19267acfde791964694125d46ae0939b0ebbbfe10813f863868ed68cdb218cf057c588b39e139c0d86bec0fd9093f561d8e2e32a8f16ba7b07b7fa08a0ce1bb36e362e26c7b481e1f2d280c729ddc1c17b3681e0ed - -COUNT=31 -L = 2400 -KI = cb4bbc91044e5d42ef13ae8203a59ea76ae261e12f610f8d504995c8921287b08a992f7783d52a5cae1e6d8a3d41f4bd6a02ad68f4d89fdfe5fcc892b43f666b -IVlen = 512 -IV = b4b11ab2a24506db6fb963aa2b4f0ee5a9c135ab7b87c5e5b8c5069029b1b4ab8492df7bf91b342cc3db5ba3f043c8645173e5353119f7952552ce555c1702fe -FixedInputDataByteLen = 51 -FixedInputData = 44ff671a2567234d95223de16158ea1bfb83acd8e6a0c7b4af98f8dbced7f0c25f8e1eb50a235c0693c936db80dbf1aaeecb84 -KO = 557f186578fd5c03d283dcdd2b54631216d583afe445dfc4366e4e1b486cf181a046ffec23f37dc0ba34e4b22bb2ba0a40eb8c5ee2c90724ad81d45f2d493c90edc5f6dced30d23d97a1caaa957c43c6e02e3bf7e83baee3b61860be105aa78c180068d845e1e53eb4748b865d5247b41f96d3c4868d0752ae2c87128851b986fe1e6b3fbdf8dd9296d30b8d928f6d7f826a3b451ed68e76d7f8d01b1d01f5ee58efa6e04e090ae2e40a37dff88ddf300e5fb9e117ea2f4cf05f20acdd49c88b16435aed315a61d9c779cd634f9cd8390730e972d4cf99bb3eb51fce85d62f4d744cd89f826bbd7e6d026699b3968a27ffa037d4f19f602113479edbb56fb9a081f4f4a4e5fd18abf6be06cbcb5ce551e1249857091d04c762924371214998ee31177d34899dba653bcc097c - -COUNT=32 -L = 2400 -KI = 97b50ce29151cb6f76b3c9be238616a0a5c216f3afb1b50d224ede54d273be232c266b43b50097158b7044e17f659f08acf865725d6621f914739108c8f418bb -IVlen = 512 -IV = f769a743339b34d2a167d58aec7a98e2e4cf960bdab7003b367999278c482263389b703824eba2a8dca91d7ab78e715398761ca30df6784313b6d50d1f7c9dbd -FixedInputDataByteLen = 51 -FixedInputData = fe69a146aa4aa8652ffa8b7077c431faff6bb86bf54af6d972ec677de66ce4b7e85db796e142ff4680e5972ef7192cd0656736 -KO = 04bdb3ea4806946a973248b9584d9d182aabaf60c6f2a141c68f2628669fa8cd57be077b50046f598bb912462cc2eef96322b7c8b30278ef1a790e1ab52d9022f869f2482cb3adb30332004d236e09b296226ed19b158bf316cab203941f484f908db705db2d58077119816591173fa52663da0f97c360b41ace73e99cb482f2f1191c354bdfe47281f6815fd2a1179829af7707977c27aa1674a144e698e07c5aefe0908e28afc2f14e17f0036ca22ee9c67ca398abf5bc8db500318af7b86e505f47a722ab80dc5a9338be832106c01c4a35dbf6a1fee33bffab0452d570cad6670f2a99657b1a7aa50a9e753f2f4a8e5ba7f2592d40a4bd41261f59e2e3534d096736cb2b04ed478daae354a3c8af88f892c0d724fe9b28db313fc102a28591c3182c246b3028211a1b9d - -COUNT=33 -L = 2400 -KI = 1e1ee74db0765c0b63a9d8e0e5bf106bfa08e268a6094c026ae4991682c634c573567e862c798f2f2e0c3acb047b8d0c6c78d7238bf1f82e54b0341aa3aee2c3 -IVlen = 512 -IV = 852649fc45b57ca0301ab4722179646c019577007692c494a8e0c5de1935b21a5f2181624e8ca546b5a80628d4d06ca999665ef506cfe47d02b1c603dcf73ce3 -FixedInputDataByteLen = 51 -FixedInputData = e2ed2050695867f8883074de97867e4cef431b085816da66cb820c184ac59c49185374b84a2a4f327b3fc7cbf0f5761c26f957 -KO = 27670b79c1951ae64c52f4d0537f890ae2f4114d30210f63343bcd5e0d8f8b68f6b7cb78b61f121821201836ce2bb149ed67c25312a8216f6d65670e7f3101bc5303edb1715b9a1543daaccec8882af0f1f546c9d46a0a1c82a8512e619cdaffab83b666b10814b0f6b16df6cfe1e33481c24a0f6d17973aab63e20e429a966d87d3c2d059719af76916ab8c9598c686a780acd0006c0203143eb9fd5d0c054522e7e77f80a9b8a77fadbad0e95798029eccfed9cfe1b00b9354278ab37246be21d5f065871ffb32fc60a2a379ba68533563890087787dcd9c6a958fb5f5441fb21c52df339ee4236af23cc03c7ebcbc8dd0ae322b951b66411411e206e68ded686241b884c7883990b529ecfb7eb5d9603946dcc7d0532d6f5a999636e3eec985d1ac5793bde224ac4af08b - -COUNT=34 -L = 2400 -KI = 1e9c67db76feb61af72326ca9d69939ade5352277f7603966b3feb4f7054409466fd6217991c438c6097dc3d540967ad6f477e725bd9ff1e4f8a570ac6ca1aac -IVlen = 512 -IV = 4ca18fbca1fa47ba5f424074d1ad22ed73cf33ecf5dea1cef9e143b311bb98a6885f18d18e01aff77a3b59168779b92d3dcfb3e09a47cedacb2d2db5dd3711da -FixedInputDataByteLen = 51 -FixedInputData = 4ca5158b6fbf5daa507cb2b86c118924ad9a66d9b5a0155dac78bad51ebf05e17c8f3b7bc3c8ea085384d408956035d6b32023 -KO = a265f4bb6ff72ffd1a9ae6cde59748c6826fbfd2c16a50525e39abdba87ea6ab001d713caac784507be97ebe6b47d36d6e78963d63f5725fb275b4a06f339b15ecc688b600aa94f3633156f48e33d348525d808dbbc317cd018cf0e6347df841fd955e0b058aca93dd4aae6c8a11ff75547c7d8f080783fa7ebed5fbddfa2276b620553dc724780bc899c761f04f96ff8b6ab74d3d216209d0126149a695dc26755ea0a532ea921857ed2cef9773cfba8acaaeb4e19498373044810eafade889f0ecbe671086d96d84eb897f4e6d501489f0a9961953d2edfa345a5acf7f6c9c0cc527aea06abd860c2596c8a85dfde381141de6b79bfd17c37ecc2aa0d21815edb6e50d99a1ceed2c1b39116682ae54cabf96f04200647185c2fb8a07562b1be3a6261c7d2db5eb659b7514 - -COUNT=35 -L = 2400 -KI = 061004b01972d2ac8c346ccf48fd954d9944dd5bce4247ae49a5e3eba43a9a895e1a9d50092c4a548d22181d94c2b9c9408f8b394b10a659251ea124382cd8cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cac6d95a113e963eb545e40d2b72458052a9521d77a70aaa7b3af200bfe793c454744cba562493803a474ef254b9e96b76b60f -KO = 7ec9a1f850b9a8ab1b9f3e5eb035ebaa0039feaf9b7d4ee1f7be5457b616f91cd405ccb84891feb11bf74485041c32fc002de89c699dc34e78228b5ccd2e4f4db77e7a7b1b99be4e0f07f31e9ece6270b8649d2619142c09cd570aa42995e8f9a4035d3bf1a0343115c1e0262eb51af9ba06d6b980177583ab8a5c1cbe7d227816dbe67c203fe85861ffa270402cd76355443f2d42339997e3256d3d1e80fad6525b39c289e98a0c113ca79a52ead31b0f3b1e35b16a8d5a5c70863825f1d60d59410f2a27c0fae08f0791b4e73ba551515083f9ab51188cce6229bce05cb0156563ad589fae7ee1263ae7701cbe33a5366e9e6c11c777cee95043a157fcc970436ebe9fb335d8905bef9941f5da404f740c60c5977fa6382b98e293626eaf7daec5c91ab6b707fc11c52202 - -COUNT=36 -L = 2400 -KI = 752d0597a003d479cc35df6d3dcd9a3b36b910c457277cb50c0c54c9d81b778d6a49bc05687ba97540408c4997030ab63f0de01db6d3d87558ec0436a46d6e46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6be995bd0c9e14add5c174dc523f5bde578f3dbc3e4afb58e106c3f3d0220048f777f16210a75876baa0ea6f3d590140b4d816 -KO = 09e00069ee61460ac1373c069f6f5dd380acca55139d5d318819e1aa009b25a21f2652770daed66ee8f269a6d76f9c153b45d6c5eafabb8a1467e2a20fcd4744db2c886fc7a16b81c1edcc7b188ffb55034ba7cced74fc1b671c0307aa85e1ff563b3e3620ed0fef743fccdb9b5c7e2a19dd2ab7a5ff7b0314cb8708384a8330acea7d7b9280406646313db1e1b95f160576d86388543a52fd809d0d219a657b4693bdba63b30697d466583a041d86d4de8540bfab3fc350ab9e2daee8d0438794fa2576c45936a99d5f4c55556f2cdbf910c00654944ab4d0c11a7dd49c454d9ca2502d515a6c46362f8b9cd7751b21e682fefac32e2b86f3ee23a9ff37a3cb4408ff2e4a5f0cc752d261957713aed0ca46130182cb8ab6f006112c4dbe106975294fdba860871edb0b652c - -COUNT=37 -L = 2400 -KI = 6869dd793371d1cb1ed2eab19f14aba1c2a22978ff3f05b40708cd0b05083e25feccfbebea4277d2c5eb3f7ce1294cc2d65175e5502d0aff231d97cc32fde0c3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b6f9aa5ecc576135c21b106b2f1e00c46195b04792d027a5366347a8fa158e1a0d67b6d4f069342052a3e3d7757c1170c41e41 -KO = c9c58cb36d9d50d15c825bca377ab03029d03d0fdf0fc6fff16a7733a1cf5ea4ca536d33a356164fc7fdf6e3d56928afc3f9fb08b7f425b90b2687e3f78519b0c8ac083dc83a02ac5895162adb68642058b6be97f8856d76e32ed9620ab04025c26a4ad60a4bb882a17e2d0970e11897a14ff143927dd6f6bf771ecf84a27847d236b3ab6693806f17f53e726aab20e46b7450e3d0efbb33ebb3c35483f317b819c08e2763a53a5d31ca23f23a875b5322cdff717a644ae4bd9c7b352ac6a30e47ea19c1f1b5fde50a691ce1bda56776090ae54e8c9df6d73c5591b1d359024029cae5a40ccf160c686625176b168f8a62d5490d7d77eabb96d489df78faabed445297c1a01aed9bf52187e4d4560c9de120abaed4aee96e6bb0270875d0c16fe1b8f60db7e7cc7385ba9e41 - -COUNT=38 -L = 2400 -KI = 40ab8f486bd82c1d5155b459bf91c465ee7b8e48913ce1d404810cd442c62c05b595f8eea388549da492662acc397a15b469203c423a7a0eea74adef441da0b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 766b3f11e51b2643a8bc231a7d4c75b5522cd72c27ecc8c31430b1e8b768e82cb2e5ac95559972102725203f40f9b48f0d506a -KO = fbd9d237d0a6bd2132f394f2b54b44a1aaffbe33bd218c5b3e9f63b7b9b297b4c7888b0d3ebf14f21fc99426ec20b3649c024dfd3500ef841458ae44a84e4d889cd645ebe2087db2a4176dd8e3714cbfef4eb3fe44cad5adb0656b8cabdea9196c475d788340b0ecb84f8729d7695ef9b4d157d949ad6bab519570f9b818c542ab3d929cce3a518f88bc83d77a30cf07d4a4ba90dfd1e9842a14ae8faf4f97dbe846ed37f4287f6552c01955857923312343b911aa87578e52efd3460b49c003ea7d735ce539d027a9366be011de0ab380e45d6c3bc170bc2d7527afce863d8841f24a0ecaffbc7fba93137e60a31313d6cb1d060eaab30290edb3430443d35a9128cba541fb6add7fc3027930d1f162d50c22e6c4d0a8e3a95c0030db5ea92f36122e6623c487618ca6b8be - -COUNT=39 -L = 2400 -KI = ef3a9966d2e14f33e8f15c1dee8a6b523d5987fb1ff49d999ea545e136eea0dcd768d7f3482f10901e1de3ca66a195aeb767c1fff304dba528878468b0ce59ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa32a09051d16b675081b27ac4af9c5d84f713bf59010be8733a8365a652885dff56172e222ab747788ad9e14d090735b0eda7 -KO = 2d5572d7a31c887f89db192152d23adf5eb1455faf173ce199063699c71166c97f0c2ee6bd2ad566ddf9ad4d0ceeb1a106a838b7b33c966b6767574e524f18c2031304306a94cd28a892e585dc856309b8d6b0a40b3a753db7c9ade93670893fa007e639ff6830e53dd1a45143d96dee8085fd39d2cf5a71f3c3ae08d70ec068ca1b5ce5e63478f34545b4a8ee4537cb1f14d51c5d81afa951e6969d7567b36132680e0f13db7c260809dc5d6866056e04aa242252fc3b7c74467d49c46bfee86aa7c69b3451acd1d16cdc935cdcf10ca2dd9f19b5aae84d024e803e2ed73c18462bf2da5d66ab1946b7e7f0c0c57a5a06083947fd1ac1f462987b6f5763ffea6134e46b950712b54ba68a03b3d9ff7b467f9c2009d40657c80ed571cb518359312a2bdf5a1fb862f015e624 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 17fe89503ba32e6752863fec6936e9f6d6d3bfbd044639b07091aa2c79ca771a50e54265dc34257acf0c9158c7e8fa1504ab87e2a1c7484e81d463794598f414 -IVlen = 512 -IV = 9481279a4ad508406e244b86fdda04dc436533ba1df5998c6314972cb1907993343bdee11be95f222c30769b5fac40349438f0441bb018ff67d94b01b8c60205 -FixedInputDataByteLen = 51 -FixedInputData = 194fb9131b61462474715ed13fd9bd2a645802bb0520b47125b07ffe88a9a1f0b331f29a181b19605965492a621c1157bc64b3 -KO = 5847495cf20b64c3a681bd7c62bab10e05c208290632129e7b7c1f0b66a6b16a0ca271e628d55a67f0d151aebcd88a6d17d30319aa1dc91903942d8ac5c7fcdc - -COUNT=1 -L = 512 -KI = e9a434a64f6e9498471e18f1c62f92a6316c960aa310c1abe51cd401a39d462a7762bfae384b00032dad889bfedff4d8951191216b28c399501f1b767e0d2add -IVlen = 512 -IV = 0ac2eff3363d60f05ce83dca1fa1313e1ac14c5c97a12fcf8176a7b01af7e5eb55d075c76f71b0eab6e95040700164ea4634ad90f260dca830c1fd44df4ba56f -FixedInputDataByteLen = 51 -FixedInputData = 07a879ce8bb08f2a784bc09614a83d8f06afcaa0849e973a48ddb1ddc4f2e29868015fad6aad49efd0f588796aa3a3e6c74e87 -KO = 84c77bb90fe418c28ca50adcaf0258efe2990bea31105051ea7e7b1ad66014438d342a97d0602e5770d99749ee5b691d2719d5e2f4bdd423c1615c1fed639936 - -COUNT=2 -L = 512 -KI = 5e40c2c51921d3ee7653b0c164076248e8a7ead530f269e6401ea5fd8e0e919a0deb7c44eca8f3f8b9bb15cfad233367a7d7b749836e8c4b2293e5b77b98026e -IVlen = 512 -IV = fc396a385c08f73337b8efa162365d666cd0d949ef4a933fd0c167117a0088f79984ef78115a230b8cfa7cfea378e912c8c17014d340e2ce9d5e53862f8bf701 -FixedInputDataByteLen = 51 -FixedInputData = a5c4ac51b135db58d6ee85228fa26d204a2b43fdc9763fa7d3db8be477ec94e2da3ef2df2f95aea3172874e301731e9ad89cda -KO = 4fe04e42839b02a9d589a6771b7792f29a26a9251a94f396781436ee6293e7b9586187bed209f31b89fa3da9b693d08a60ea870350f68538b3dec2baacefcf91 - -COUNT=3 -L = 512 -KI = ea392ca3eaed8dffbfe2eae2799a592f8cac1eece72bb0ffdb04286c42b457ca5470292d1a20c2ee2ccb1ea32080223790a881e66f3535cecc22a60255f2a6ad -IVlen = 512 -IV = 9ec7aa5d95812939226f18fe98042cb5d988e07aa3ba1b304c0ec488a229ffd35d9c4894c726717776bb0a19f7a8d8ac04df9aabdcd8695621a9a9ac336f3b97 -FixedInputDataByteLen = 51 -FixedInputData = 8eded773f897d8016b4b67509bb3a66f75b84852b4435e89a97989f3c3634ccb081eb2c86f8852bb5c43a1637d0283491ac1eb -KO = 2bf15c6b337a159c09962bad184bd3d69b9d5ef8b6a06a42cdb9348aaa345acf808e4cb2d00fd06a07756ec83a69fdee6067467481ec8e0c1b6f44e61a6eb512 - -COUNT=4 -L = 512 -KI = 66c73f01c5a4c222061978dae87a6e8f305b40cc015237d995d8ec37f177914cb3846dc3d58e5c34666e2c5099ba5700e3ca55dd5424912c355b666be499c890 -IVlen = 512 -IV = c97800330f22afa25fdf5617f987fe7e4d0385587ca2c8bb428d677230c6ceb4a48201ff2b13cbf5c116293e42047ed6133893b460592efe9443386a72af94d1 -FixedInputDataByteLen = 51 -FixedInputData = c36882043bc9744c6b593a38c96898a4266b59a80325f14f556f8789f444ba214aee415dc426612b39f855a2e07e2af3c5c4a2 -KO = 7ce67dda3eedfecfd24a8b6b8ab4584193f6c0a14ea8661ebcc9841ddf74cc4457506e8cce0a4767fda5550c41f130750f624c5007a0bd04adaacfd7edd45ea7 - -COUNT=5 -L = 512 -KI = 4d3fae978935b787dd9d61acdce49bdb00af95f785c971295915db5f042b8f63a5cf12fd60d82608e2dbad1500da1c2be07b35c32f55d7bd33f4fcef8328d2ad -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 725e8a4122242cc34cac4e81ced4c1270009a6fbbf9d7da5c5f35bba7cef22d8ad6a5c290f9bda259b54475edb623fed14ce8c -KO = 76828dfe6c935225976437a90b6667e7b126a97f7115dce59c02182e4eb5bad02739cc24778b1394ce51d3957d2cebc0ebda097ca87adf8e215b944c0d4b5673 - -COUNT=6 -L = 512 -KI = 7deba7ec1cb12a278680b6e7a8669b221079a77336ac05466b7924d2b14b45696d907b37059e865a53a70ae16b297b73f60e7c56d3812f53cda8ba66919c2ffd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8265fd9bf2ea3572c94910b7f06637a406d34d0018afc651b532ef68800301b6f62e77e41bf58033eeaaa318246d1bc4a1305c -KO = 4e0e716d3597cab920c496e1c1ccc4b3447311f0b75f2d98cacc80e9f57a50383ed6462b152bf8a9d7f8cb2dc0026807b5610d42e5803c1d074aa6aaafa9efc3 - -COUNT=7 -L = 512 -KI = 87da3101b8a86b2a40ac3dbc4557f414431cd03a85652660e3a822cff78ccba78d5343b1e0c41153b23ec6f2c50c5b13edc5f3a5a080b5f2c348932a8e190214 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 047318c69e2f7e9e72df9c30a35ed64123c31208488fe859149b6061a8db932be49264ba0266f9f2777df12e10fa1638a2a275 -KO = 944ec365cb33f7745b3ce2257b83992f276bfca0cd7ce68a492bf8ac06aafc72ba3ba2d222bc83a1ef3c99fe751cb9b5757396e827a5aa3d81fa5cb0f64a5ad3 - -COUNT=8 -L = 512 -KI = 6a891190a8f751d57fa8c762676e963759b7d74333bbc7fd9a65bb694f70c8233bdc0561111eb344ad39603a6e55e878360fa597f64302f066e31abbb47c618b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 04b7d15e078dbbc0d4940d6bb22e722f3a5cbe9d2560c008d10238decbfdc8177185114b23d238f72091a3386cde822b13089d -KO = ed3ac88d966a2af11fe541930ed92fe0b0497a90bcb0ddf6f9e8d4a6397fedb3cad68119086cd28e2f805bd057f9a9fc396bc8e06a24199bf2f882c19f618bcb - -COUNT=9 -L = 512 -KI = 59fed558af2a2c9064cb443e362b11a1ddfcadbca96141532138e3bb16f7f2e172a86d3c65e2c1d96c854a34c60e94eaa2339806fc1b99a30c3f8909390578ae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a235f3acde9b78d4672ea0e31e9ba608ebb9b87fc2114533e4bb3167b959fc5e0d9887e32c60cc7ad32e83291adbb45d9ca355 -KO = 2d5f100964a667d2d0c162d498cbd23cf74661d1b74a72c12556f1e8b8f0770ac69a62520b236ab39032954f0b0230535aa66649d4e4f5db44e1e2a876a040d5 - -COUNT=10 -L = 2048 -KI = 72c4de7ad855d8beaf37ec8803110282a82b7f1035583d1662ed59ebf7c34c6189330a216b2d87244da27e049cfc701b8103025d166a50247c6c9a458809b4e0 -IVlen = 512 -IV = e7c9cd0aebb388437257d68f669aa4155fc3fd4f41a36261a554b3aed3b9d616f08f122a68016ed79c4ad6e969e70d2ad22cfd48e1a5bc452c7456d94ab675b7 -FixedInputDataByteLen = 51 -FixedInputData = 1e1e01396c76dc6101887c854d309b7dbd7157f61c07367eb98d7bea7c9a1c7b617e8465f089992fb03781dc9ea1635baedf30 -KO = adfb04a35bc0a430c92e648e41dae2c5315fcbf2925f720f0e027592a996ca559938a1c621a021e94426717ed96a2d9384a6f567ba955d60a073c06f90e99336702aaf5b298109f7d26b6e7db5f4c0fd29fc9644c0c90fb7938613ba37f244c7b43cb8dd5b4453895779b1a45723c2bcf55ca73bc93713460048cd871cc62b59f7dd65f2255a03718bb3c38614ebf480ac3cc4c98c94fb40ff890d29c1930b455603fbfdf2e6b23b5bd55ba28955db3d1c4e93216e8aea245cedcd3f33d0389940ed7a2115fd8c8601163cb0eccf89194ed0fdfd97e639ab2d41b18659aa29b4e60f809abf4b743245514fa396ca25708953e59eff68a1fd0b2102070baf8b1c - -COUNT=11 -L = 2048 -KI = b9033a243fe50baf6897d843a36838aa11175add55c6ff5658a7f0f0c5594fe96efee3eca714fa397c246eb4edbeef83fe1c573c774b9200ed3eb3ff51d00e45 -IVlen = 512 -IV = 61ab2a4df072e79ff7d58ac9852ae330b792a0039c6bcf2975cb9d2844529aa80f322aadb7ab546dad212ce216034ec0691863cc0d1188bb37a684464cd801b5 -FixedInputDataByteLen = 51 -FixedInputData = e84aa24848065b1586452ca04c5ac3ea1ac8b4befb114b5f56375102de761844c719934fc84379373d9a36bbed12f027fdd056 -KO = cb960e956be4afef38dc3f23789a4ea803a350f88c6d7ad0dd0a44ec3d1ab1de6cbf724c0ec6722314a690353964c1b4acd66abc12495de14938396c926b941b9362e52973458a0e210407119ccac91566703432748fc68b8211bf1031424940ac08b1fa4c9aea0a3e89addef0eefff5a51fab31c9fa709f3bf71640b6683a4999f2a355fa14cf03b60c05d9bf26ea2daa412fa785f155f4a5fcaa7bd32c5172a43cf23de655365fda71d9e180a610a25778334e5ac6875f551dde4de84e3ed15bfc808c3b94b2b0f72bc34c4b31d4f7dbe9c8813cdb555cf038bcd037c81eb6517f88dae3c8838519910cd85f1b3acabc4b5a181f78ad34ede66164689167a5 - -COUNT=12 -L = 2048 -KI = b6b78fbab92302d269f0ecb9da896790dcde0f8b2b47fd4e0d91757ce29907c7a7ecdf4d7164dad7b104e550216993c386140452bd74ad35bac5af0b3956dba2 -IVlen = 512 -IV = 3ab50a7cfa131cdc4c839a06c059bb0a316efec5232b5f0df41f55df94711862802eac0861a0ae07bf7205f2cddd678724adbd4ebcdb39e31a34025d106df6f4 -FixedInputDataByteLen = 51 -FixedInputData = e22afa209885ac8a3b4d48f6c49319229ad2614d1f25835991c7a91b1c418d0f68ff3cd7052e603f2bf000832aa80b4fadf106 -KO = 3519d08c899c06e46663ef14db3fc0a775c5fac3670192d022240ffc031111cbaeb1a996d05d26102bfb855766ceb17262f3f7be87c1cd4b8deeadfca365b2389482988544a410eb38fc6a1b57abaa97499de7b2485e3a99a2ff26793f86f1ed886c82be6f11f72e02113d6731dd9c1db3ab2f005e69a18d038b79de2f94ba84e234f4d73bf7428f9d1b8ca974ceef0a0de1d64592a5c44cba4aa8affa4ed1d622e523c345a89600c8ebde887c782760ed8585d2f219562b05afaeb1fbb27b183e3ebae112e2ce3e8b7fcf06d7c9daccac990a7f29d78b2cd90f48dc32cb9be66b69b33e99ed685ac231a19157956709a3432982cd054333fdd6a32dc91d2630 - -COUNT=13 -L = 2048 -KI = 660a614eff914b2e980be454714d84e521d7b0ea431adf73fda18e1945fbefd2f63799b15e39ff5e714d19c9812d3820c423a5e57030714c7ab4d115aec4e9af -IVlen = 512 -IV = ce22cfd7a1de08e75c86b4079d4454cf43ad01673ecea4144a61b9c2c15aea5a5e894556fb0c8f41dc48125bf664240bfdad28494f8f5b370929a4158e0288c2 -FixedInputDataByteLen = 51 -FixedInputData = 1bcec25913ef9afafee6216680c98da8a974d624780c3b784d0ea0c62477621f026b3a3071daa98ef98703dd0382d88ddf6651 -KO = d78b505be06f8c8af79350ba0c85903217524cc2bf9deb8e7d2ae042fa5a461c512d56cbc4ef6eb9509876244eaa80a69eb63be6a9b130d5d7ab7c9b27c874ed79d2243954ec32271c1cdbef3dc3adf5d61e29a8a8387c3f0e2795cb8dce842ba33706e236cdd0bf598bed6807c3ad929416813515a445089bbd80d6aee5873901caf29f86d074538ad6779a521f3b6dc1096721bf3d96b9f8a3db3d26980faaeb91ed71a34746079822564dd33eb3f712b290fcc110195c743002aa1136b0158ded0f7b9fb5f54abd7ace266d94ccdae0fee3b4a8136dce50bc201776ece27804cd0693bd03be16a44748bd861d99c2072679d66c41df0c96329be509357ac2 - -COUNT=14 -L = 2048 -KI = 8bd0a2d622d35938ffb37adc7280c03ce979ed1ffc52043c836257c607303a807e2740a7c1c0fa5c58c6e4afa1e528d8a07ee04af1389de30a88f929e8fec24a -IVlen = 512 -IV = 9c4853deae0637442b94762508a95889f7f34f30408d84e00ed42717c935df6524f371dbb4fa5d34c0f0ef8bb75390c4e5f722e1f25140f7124b3d2ef4745ee1 -FixedInputDataByteLen = 51 -FixedInputData = 01ee17593a7b620bfc8dc607b9876b86fcd218751b9381e4f18e036a6502c1878406c751ad3a0334d1471af9a2a5d8ab9d3cae -KO = 524c60a53d5c6b8de2467923fd4e100ac28e1d7f479e703b33a8b4ce53d905054f1461c938478a2e7358ff8b30da88efd7493a1cbeee3dc9928d0e547d7c1886c817c1af26949eb175055fe2264a3018719f08bb4508120cabd68339a5df2440a44fe4183c0c80d0d91d166d7466eb0c42859c218d328470a70b5f8dc91f2c1e08283a0197938ca78e783ad8d0c5779a0e94810efb0ba788114bff8bdba198a15d5c0cb86b832507c21dcab41df3d7842d79d47f7f4816a4569620212b7241e10c5adb9d9cc3cd0741dfec43f08e0d885e6752f65d0cfbf7ff9e7d3f5533ab9d7f900e0afafa27a483c5e68baa6c691893cb9655afd3a086e83d2e8631a4bfd8 - -COUNT=15 -L = 2048 -KI = eb2a4ea2a89585b2fd5b6470dd15a64261064a8e343d6023451a71669a515649e5cd83cc18f25107a066b018e0f3f579c17aa9c01516e68a36a19d22d7e670fa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 445a81a65a7300aceec3c20605aee4b4a7e7277313a4e6dca9e010137deea6640cf2c8b71ea34b95e63a432c77fe18ba825622 -KO = b8043251107b977261d51421b81504e6454023733ee7d6b08bd425ddfff32708223db585a434b56a9f567bbdc36cae2c4eb86106c5b42f3f497c0cb723bd5ca3410d4c3e7aa28b3baaa5c0618da4f6fbf2925004537efcb1a4395e384449ce5303d1524924c7d6ebfc32eefcf313d31da7f390bb83003eadd1d948d03a50f36e557c873faf6b733d0c2abb9e77697ce8aae094e0e12e4ad4ad5fedb28f91802bb928d5dbd31f4c311921d26348a9a71d48ec165d1e634e9a0e00b17dd846509a8d37d0c4cd8498c8ff8327b30498973bdd1e7a88aaa7fe69f7fffa27f9ed382511ef2cf979208d42ff19914b657b11536dd9e01893e4439065e4831c08e594e2 - -COUNT=16 -L = 2048 -KI = 115c64f3feefd19be2eccfa64cf9592fd31362523479bbebacd239b218ecb873330bca3b03710f4d9a91ae1eb5d0ce61f6479d3e3a9f42b619aaae80cf43ec98 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 331b9ab102c596e17b483ca323ccea135d9156d342f990c240ca80da2b4247177d9f92b234128e43aca53d35e0c6fc577de20e -KO = 89e7f6307e0a5292190588181607fdf69d749eef96affcb4d8849f5ec7a6cdf767649a557c896f55f6bd0adcfd4f08fd8521b49a15fed872055edb270439269fd99b873c6a83777512a8d2162092743bad37beec4fc96581b16a437ed5d0decd99db1eb8f2c9ac20ca5c6ba160fba8a6859f855da0ec31c9ef109e4dabfbf6d38d41d7e59af29cec7f1d7e004d77769a7c54055664b329d8ad91f34e0c0bf369e4533018f1cc99dd113fb8424c0f36c44f98323da26814793dea8e5cdbe9e92ba4f96948ea0db4304ae4cf953786009e27e6f9ceb409bfa0187a37b1c0f80e37c973483adcc6dd9cdc2e78ca10e9cc7288bb36fc495ddfc296a6faa60b23d1b4 - -COUNT=17 -L = 2048 -KI = 472d6905771eb89a1a99f60d809c3decb90d651ad10023d99d08eb229fc71288cb8f9237d4c03b8d23d32f37403df91657ef2ca410e395dc9687137cdcd2c668 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fa39b2b978f61ac0b602ead2153965c38dd6779e0d0e69014218f294032798de60ca7736392ec9089c3a3862200462856a197e -KO = ed8614f9988845a2866978a714d138663b1ff54ec2260103aa029e12a4576e27077b5d6d65e0f7f4d51c6171b2b865b18cbb2e518525478c46f6f509e93f86a2d0e019334c0b1b94fd31f17a76633ccae214551f4853c9e6f745f93b37f759174123fdae96092e6e3696dbc9b78c68bfca48f9fa6a2c74fa0e5443ea52e98a10f425cb1e75f6a8d6ec8bdbdb9b6ecb33407fbd94183aba4d360f252c2f629d8d6828830055d1be82da2aa335bdaf1de8993c1774a02fa18117a0a82af35db201e8b86ce9baaebff88fe7b8bd7124ae8b6195a7f3708e76126fc3538917b8b4dd5313ed38d39a86ecc2b387f95cbeaf7771c38b7cd0c0091efd2bc80f90722988 - -COUNT=18 -L = 2048 -KI = 0dfb810dc2220270d1337658097519fed731546cd58e34bdb0c99c1d70d343dfc3348e07ddfc79bb42b90b57faf9b03fb0653156d48f2246406bf1caeee11d7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9648832e526db6da768c496d665036cbfe478133ba818239d4f85accf784bb33a48b0848fa87b19e01fd4948fa4a77076585ea -KO = 08a76e08d9f7f0767fa784c82f610cb26d4c1b5fd4aebdbfa2444fca933198c271fcdc8137b4e007b714e06f80bbdbe9b9a1317aef396a6657812cb05b57c095062719c3dc5354ec5bf9eec19936f3093259b62fd1d2d9eba060a5ba167220ae872bac0d8333e923bd599f4e3ba7f6d9ef4fc417f9a1fe05a15fc1e8c63ff01e8287876aa8259ea4ffdf7d8c51979dac5e7cbead4fda5b88626fc38f7551498cb41c55d9ac29bd48a11fcf8010445d52e410fe5290071d313bfe63e95017e383e10be239eda49fc92d17978d9fbc32daaff4de89a5b78908dd7b6c4e90e43ddc868817182d84c0d47482de814527601023325f83e1b261a75aed99c1a20c7adb - -COUNT=19 -L = 2048 -KI = 9d28a6a788f4ac06180dba1288f25fadcb99fff3aa91ba693401c6714e6ff836148dd766cbfe1c173578ed0dec580976de6d5ffb3f15d5be1c79d8f31a6e50ac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df5b36ae67892e4cf606f0a4170a3ac3fe7f4a175d9e921d9f4a2368e5be5551f1512b34c1a0748795b4da2a628b7400cce647 -KO = 0161e4a354d97f8b019d3f94da564d778b6da17d213ca4a442a2c9dbc1643af0817017d6ea8a53935131564d26c4a314fc31649ad0ee6c6a4f0cebd87b55fa8b1e89122e4076876e4382d4238e5fbb7972bf2e0f388cf41b3fa60187dcc2d4a13c3731b82c37a1e7b96f9d6786c5796a6ee7c027629d450a173f7f93c19f2d8b90e75a0242038512f89307534d4ef076937f22079b9bee80b0df95b1654aca0238b01f501de32986a1b3fb6ddc08ddb6086154a5bebda7167f6d781f42d14b3c1db5d3259c3cd88d0b9adddfac1be469042f2ac03a604854e19a4f4d8b96bcd607f6983e0d866f77084e62458c6e273782d5f307be99ae729540d9319235e747 - -COUNT=20 -L = 560 -KI = a25a1d2cd60abc854468262facccfcd629b72562d5f15c765d553e3e3d3d5e697ad5dae43926e4e79d9cc8953bbec9914da7795e6e15bd6fd9d603daff959d36 -IVlen = 512 -IV = 1b9b2576172868cab7bae933b312e5c21aa8e5577c5d09d7ab7e3c6128987712996c43478a3b25136c24080cfb9fbb4c3a8c4a9353319c7f1e94248dfd8f0088 -FixedInputDataByteLen = 51 -FixedInputData = 8892ebfe0c36b7f1ad9b673b440cedd3ae5d2833389b5806e5e75a2b2e193f1bbfd91493717dd3a9726d0c0ad89256ce31d847 -KO = 157d8676d3e176a4843b13b82504fe155485e0a4393e90f22ee0ed474b3c60ec92668b383bcd9bdc673722356ab306a2f6874bca3a279e578590163eb8fe41af20668c8576a8 - -COUNT=21 -L = 560 -KI = 8bb61ccacc736156dda61b0b06231c3f2c6395ae7db55356daafcf3eaa9d49dcac450ee92d9680c0c2093780b795d10b0ac3119041d0f5db732bf3d230b45c2b -IVlen = 512 -IV = 24a2b3df2ade9682ff68de7dd232871d043816a9b0a66cdb39c8d847881a34931d573073676efe0d68c2523eec4be2a9a424fbe02617fc5f5d857c49ee517132 -FixedInputDataByteLen = 51 -FixedInputData = 9c56fa7b68245e8a85cdbb14dea54063a588d55aa203ebba1bd6ae848e867d7f2cc3c77f8c8ef02816be774a850013da5c2f35 -KO = 9be5b65eda45f39df3ecf75f659a0327da603f3af7e53aaa34554fbc6ae0d25c008dcd73d503e1119199cddd5553d6b149f14ad99ac1d8716aea0d7f2006f6458b76f1c0b289 - -COUNT=22 -L = 560 -KI = 2653bc91ecec8a29d4e5adbd2d6f787473f49e0e4470e78c474d946fed67c4f9dc70a10306fcca40367618f5a606eb595ab254c4851416241851787f38ee72b7 -IVlen = 512 -IV = 3a5e8daad56743567532dfdd756f45505fcf0c3eac8bce7fbf144ac1799712b29e8c9256d11adb512aef64fed2fcc49071f76ac0cfb1f306d10f230a544f79b7 -FixedInputDataByteLen = 51 -FixedInputData = 34bbfd1d5de91f98194739e76d25af911192d558c41b37b61345ae9ae5f8c283c304a9bb1361df2605ec190852b294c7ba0bac -KO = cbe26395d8da42d4238a637f8010a355977fbe4d56aab8c3dbf8dfb884753feedb32af687a16253e2609f3097428c2a36b9143601780df94eca1a8a4fba7fda76176c73c5105 - -COUNT=23 -L = 560 -KI = 2366fafd59d33348f3d434a1713dd6a4f4c94ddb1715626d784a4b457b02085d31b0f3f720c7615a20e488bb55cc6a30aff56e89438d9b59bb4ac249dc2edc69 -IVlen = 512 -IV = a4de3c92008fbd341eb1226732ac3a101195707193c00135e8c3b2adbffbc3c73b2e5a9ffe3b40934e01892e449953b3193be4ffdab4e73a13f94980794419a6 -FixedInputDataByteLen = 51 -FixedInputData = a271a4367620d4a0975ff257ff4e12f8c797a98c97ded28cf56a343a53f407ddf78b0d320b17a5fdaa046c5bae7d3a71f71911 -KO = 08a64c3c2f092ea9894bb89fdd27f2c724ce63fba629c581ee67144bde6486378d51a4644d71f6ccc64f25b01db2e7ac74ca511c5cbdd48a3043547c745e655efc763f31e6d9 - -COUNT=24 -L = 560 -KI = cf2e50b6ba6ae1d06a0cb5962a31e1e44e4c0df2a29fc8c348d06e4004283edba5b416b2f7c0a9f4e4463026aea7255a818d51588c3aa704ab46bbf032b1cdf3 -IVlen = 512 -IV = 3aaae3dc936fafd7f316c37dcb1bcda4e51decdb684b53157aca1df1eb75a71274b13a81be4428d95542bb45bbb9a6a693a9f9850f66316e0c8a629cc3d9cc89 -FixedInputDataByteLen = 51 -FixedInputData = 1c3e89e9cf0aa94ee783c93f4a96950d6c1f658fe293b24e1b6e045686638a10c56f14348f48123ec1bd95341d5e91d780bca4 -KO = de845aa8efd80010a61c7f9c969df7a60bc277dc9868193555993f308a757327e6f3371681c91e54d1eb5f3beae93b093181986a7038b33389f3190aa9bd1c09f3975f9e2fc7 - -COUNT=25 -L = 560 -KI = 2da863188e3d6f95eecf63adf992f111ed40982292caa7765fd208ca3a3c695706879e5b26892dfdef4d8912797256896714ae472cd4e00f07956d651a4994dd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dcc7badb69460bd7835c45b9f925a2d4f0618c078d4e89f6701967e88caee5b148030129c5d9c8cada20f066fadb1234d73434 -KO = ffadbce77309abebe441c230692214db56671c3614414dc5babec5525c30bef0b50d9d90054fd4589ca823946144004ba598f261bcdfffbd340e9d000c8838e33699352c50cb - -COUNT=26 -L = 560 -KI = 972a8884e2ae009c52a2656996c3df472d7632a242c027d11886bc40de952cccb03153d3b2523efb458f93dbaa724d2b72dbef3b845caa0bb0733c929922dd9a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34d6a8b1cce54a7a0704c469e4795d2ff165d760ec9df0f6023bfa2dd53aaab124ddd867cdac23d684522faafb17a12c82ab47 -KO = a509075c24fdb13c9b88eaf65a52c769ccfe1f176e3b419211064496f75b0587429ff0c4e95e60693f341760cdb6f8a70a8cd497912964428e4b36b08c8bbb928b349c36933b - -COUNT=27 -L = 560 -KI = 6e0618dd58fabf2fb4895bcc64e1a107202744cf83fdf3ba5624ef8e1933062d446abc7aad1a4326ef2265f6391b76e80602fe0ed3a23108cae12918dbafc9bc -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 074aadc4daebdb837610b7d8eca8a368e1935388206d54b4c1d44938e601ba4c24d28628d35084f547baf4e5e86ed0c4ba387a -KO = a90516ae7e69453d8b5e5b9fdaadaf543609ec5d11a52d0347bf18ca306b70cc5ee2d0a0d93a22f29c4e4d56044e9d8b11d50c0218872ba5b4f068c78a748259841eaddb1c8a - -COUNT=28 -L = 560 -KI = f68fc3d5e324d6dfbbc17507003df753ee322406907245ebcb07aacd7cb7862effc0f6d8e94d1b4af3215309941d6d6f53348975d0742853262188d1711de49c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c281f7323299f891ce9d9c802512c2b3a1f386798f0d436e4e4e23dc8ff1042de69038035453295dd364c679a34404fde75604 -KO = 3a00a72f834cb4dcc1980eff2900a3a6e9ed4924327072c9302f063cacf9ecf148643722568b01d50314fc1ac0f459dc02456e862f3b30ad47b50a8243fdc4ffa837242efe34 - -COUNT=29 -L = 560 -KI = 348667028329679d3993b9ab557220a2ccac934b21042d9ffb0ea39d0b5b38c3f2be25fdf7d7771c8e8bd51e60f36dfbf8c49e3c735b780c5a5791cbaf629fa6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24fffbe2f0b9828fe9c11a8ab77fc5638a2db0776463ca09e00538c3271c5cd76dc91122cd276e56b2d9ba13323084506489a0 -KO = 81947838863e263f804e974512de5245d40f64d6382662db8db3786466832ba3125ec5f5227898c213d7e20856c8ca64e955cddc57e0f86408a643ca86938c52be1fe3e93e58 - -COUNT=30 -L = 2400 -KI = 356ff8d89b12e03f9cd48cef5c51ae544868ebea4e5c4b6ab6e3d14766ca21a1f1c5f96ee1f30f33c2bd6fd22cc766ce1a2b3b4d0b9d63a278ce1536de912bd8 -IVlen = 512 -IV = d7f1fae8cfb7d2c8411a587144ee8fe878d491c3184ed00795f64ee78a63a859a6dd10d0411b9d29989f7708682d37f2736db2d82bd0bdd15d29751ada6a124e -FixedInputDataByteLen = 51 -FixedInputData = add873e5a05ca62685e87c002d622b0832d5725bf30bbd0a22a3b42bad4d3e8a048a8d626775fc60d69bcbf0f2748674597b79 -KO = d4c7e51b31c3d45fdced550669a1be8ff468fa87c5e1a3c3ec3136b8e7387baa03f4084abdee1f5d0e4e83481c4fd5aaa49bd6c66e044c3ad41cd8acadca910cdf1f7825e58ab5b4d07193e591b1e2460550afb988c4bc3de92e5bd7e70d04c69c2f10e377fbd8c36a123110f7f052eb708406bc5081d0f91880aad17cd8d076f036d5f6568b84a5e988f5120abaf138e3c38a2349f387dba676a91677dfa53b5c56f79011e6d0c527f69f34cb694a8a631c0820545bf63dc241ef6bac4375da2fc705efb15b427abb95bbffd54b609635b20ecf28b123755e2172c8060c30a1709568075e93bc058c9b53e96aae059839ecba374cb9b7b1760f5e371a2ebf27a6c82e8d8e02f836042b3120c73dd7e7eeef9656d4eca1065479f4fc055dbd6ca9ab34a2effab403ec919c35 - -COUNT=31 -L = 2400 -KI = fb8787606e330acf27918ef5e8b753a986286e10af835559d25ff5aa48c3a74ff2f9b972eb6392f7049151b0cdb038cd9c1087b8e5ee4acd1a92722761ea57e0 -IVlen = 512 -IV = cefdd9d807dc2b942d7ab3d1b29be21a99bab2b95c5d036c19594600bce7f35a356a11b1b7b1b8fdb1e3d8d89d4dccb98852b37865c9a55acddf5f3534b1e6bb -FixedInputDataByteLen = 51 -FixedInputData = e89b9c5f578bf3042c34f1dec71e89c71aec1d17d8dba638653a7892612ffd94af3ca42c3bd264051334c8adc9cff92cce3ba1 -KO = 2766b61502edf8b578ba81ece0703373957d0c51874f67af07de6e6e241ce9902f8c65911c5a65bcf187aeaebd7f7e66857750775395522c25be59c71c68b122955909b038fa0098e68a4bdf479d58a596dcac0e269edfdcea8f64a5c2becf79d5a3ddff494a349b7e4269d6b774f822b0b423d3184195c4cd422529f097407691c2ffb5d6a99fcfbb026882bd53c3f723baebf46349cddec6c717139dbf480d44a8bf4105b64f731b4f7a1d312bc646bf7797097d301f13abe50725ec92cfea88a50997fa2b5e8d23fe4741f19b833e57969dc412c562126517306d25ea48514884f7048701ef2679938d413247d286a47745da5f6d71895633edd263d2f7a072e15ee323bb7647184cf2a8f4e0a1b00617bd50d814a33601d695b1bdd5cdeb8ae8e0a6f1b684c160470d51 - -COUNT=32 -L = 2400 -KI = 3c9324e056119ef14669cbcd5156111f2df9729291af1deef5ec50b5686323317b1b50d5105c49ef644e7b0d3e3d303cf6c3b144c53ebe3c04332cde2c650bf8 -IVlen = 512 -IV = 4e46826be41a49b2b1f0e1bb6cbaff650aa68b291fecc5c3f78c5aa438f3fcd2d20caf8acc476f9fbe44b37eddb1f6d78bbd9a05f454137cabae4ac662b5b15a -FixedInputDataByteLen = 51 -FixedInputData = dd61d7adaf8493f4967dd60dea14b31cb3c6c0c07e4436cf424adee08090ad16a88a0ea89a7bca46f9c7834263696ef84f468f -KO = 839f5b02bf30fe494f241d35f206b762c32186272833b03fcfc572607b440c6824296b88b282ce9348edf79f6a7b6424899192cfbe3dae9c368f9b08e4e428478484d8c70cac7f8b93c5f0315e8632ee87968541030498ce300b10081095ba6f2aef684ee39e46cd21ebc1cd711baf403ca8dd9e45161cfe4ad5b43e1e265a63d1768259c35c2e930642aa611eac15445471cbd2082c357b2cc4e75d4f7182000d15201530dc16eadc289e0457f30320754096ca104c51a17a28775644c5aa12920abc36495704896d9e4887d08ff608e2fd9724bb462d561f156cf34ef9b9dc27ccde28d81f37fe42ed70430d6f3260bf59be7b98bf9c9c8fe3db5af2f6aec6dbc1cf418c39b099ce2b6d7cea6c2aa0125eaa6fd3ee620900dfb916c53ba77fc655a7be878cf5a8e771d147 - -COUNT=33 -L = 2400 -KI = 2cc71ccf43764efec9501d3745cce436b93eb190491611ce32e5f72377dec0c2dfc0f8e45220a7837d6484419f93ff2ff591ee82aa9f1211c1e9b33afbdf1b6d -IVlen = 512 -IV = 703adcd1adf9b663972b54dba6072b80f5d3478948a12ca709bfc6081a7df6d7613ef1e5a9ab1bec1f3664364ca07aae47196021e17696826f6266f519a10e8f -FixedInputDataByteLen = 51 -FixedInputData = 2fb2d0a697fb859773bf2a5c25636939b8510797abbb5bd005526cf52037df306b2749c2e203a113522ab638fe9f137b88191f -KO = d2ceb8fd7e3b898594b067cc11e9828862f016a18a1e8f1e4e0e048b97b93385e556e149150c09f0687c8bb2da551a0104ddd2bd87f75b23e798c3dedf5bd029f136cad22f934087b0ca39f7473e666f6fef8fdf16a7c44428fefe7a87a063e5447e19368f696571af941d0772a89032d8e584f134d24f905a7e1f25cc1ed809d8259dfbf165a00d9a68bd36398ec71c51e781149996801e339d90d2c1bbaa85675f2b9a9de4efa5786af6555bd846c2f4ba434b15b732f9cefbd5c0f68c8654c0b6282379757b511baa39ae65a756b4bab2730a2faa0f4fb50cd7e4684e9c3df10fab321862ccd9248dd29edff07f397b836dafee725897c1d1a3285bb03d1984bcc439d2e6e9177bce8ba52f42f342ddcab03dd9a088f775bbaf44a78bd1c31647c3754537e1bf6bc3d905 - -COUNT=34 -L = 2400 -KI = ea5cb617936afc8d356a84b24248197a63b255a3ae1814ad4d4cb953c0df3596f4000a9769323b799a33615e94a6d92d440425988783823fd4e276a158ca80c1 -IVlen = 512 -IV = 38172f5a4137ebf0114bdbd7ab27604011af25f29ffb36bbda880e1af5c97d91eef18b295d1c0f7c24bc83d1cea75d69830593273461ad71c7496b6d02ff5ad1 -FixedInputDataByteLen = 51 -FixedInputData = b978e14812b1ac3170503c5c3f10af97fd673f59af19639a0cefe8c5121225f11c31545adfafe3318d2351a87b9cec9971f699 -KO = 7406056e468e37a37790f161317abab3a8d6b124781cd31ee6504340d26f24cf0015a3729fd1cfafa9da5cabddcd6ade42a0accce4ac2b9c032491ea34f5ef5ecb0ce4b1782937ba406414060d4211a81f5f395a949c6c727d89985761db6720cafa3bc4764a55368bbc15bfde572c3ee6a55a316efc21d1c2b01f4a26ea24be2eb70688b180aafabbad80e66b2fb12605bd939ca04f72c140b33415f220f69ad642ffc004e1671c3507f16e13b74f4d719d9163aece984c43afb6d32238f0b9eee606275221ecf72198a421e841742ea9d2eaed0f07f13aac55f1064910576a609342fdee6f0896e6d3ba9b1e2fbd4b8cabc8b7eb20c7d6f301fb3d229fade29e4cb99160ffaefd3ea089a980594399491918fe5af8c6fabc42ee80ba5dbb9e3d084dbfe44b5e1740c52962 - -COUNT=35 -L = 2400 -KI = a278ae294588d1112d61ea6ecfc6a03911f9412252b1408603e902a5eceafd50480cabfc13f34a9012a27980eb5309bc7ce225c70f400470a8955e2001e02982 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 25817acc500b5fb65f50c2e02844d51ae488e35294d78470eb9e6669365140096c055ebf3719d718e292d87b172f46aba4e963 -KO = 4b14accad1d714e91a3ec5afbbef3107da7f69b4cf56af130ba2fbaef1806826a48b2e64332b4dc4bf50680d4727da3c1cd478d8510f97b8ef8e94122cf554989b62a98f7d1588da75e7d9ff60829da5768a699045dd9b02c9d42e86ed5a6e6603c142f8ad57874f2de2cddbdd565b478c5699775273f9f4809289022c207f52124666b66e0ae26badc0d841764723922997afc72a435fd63454451e52a6d4b883ce8a7d5c776cb736297114cdf9adb5b93dab1d6661445efdbfd91af393cb99c0d3d18a3da4e0ef92000e3b8f2220cfebf30963ad1e09276e3758374f532f960c07f0781b8c3e4677b92d020fbe35d0ac7351c1d6d45a576735f509fe88dc4f9d1fc1d383c81787581082ecd17d29e6a221aab566aa903efa588b92570870649afaa5a7f23601eee2ed2d97 - -COUNT=36 -L = 2400 -KI = 65280f91d992f30fac06aac627923742be8cd4e0e7caedbc9cc8105fa033b6f6c4275beef51ada392086f3dfd5b29d5138f107fe2a494233d7ecc7f3ed1fa31c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1dce0d341dd3290d89298f9e236eaed3ecbe46d18c2767349230bd7d051753c246ab515dfc696bb4e9839584e27051f351dc50 -KO = 34db5f3f171960d3b870aa19badfc76b48b134e1cf3884edde5781808b4f76de135c936b00331298c6bc42cb3900d30018b57e5bb8fa7aabdcf0045de90061bc7f8fc446d4855dc438621e941a3aa926370302310f2a0a28e8537e44fb44be108b2e94a3b4c46f6311d232890506a2ee9d09056b5a932d8e7fd43db0ec3b7aaeea208248f91d49167b045a1277b10a93ec927e2f5d79d15f77bd0fb2efa00f2d5505885ef45a429c14d061e063c78b8a857c7f066932cf9fbc3dc43d94e8dffb7694443ae089d5e56bd91db99346c714fc2e8815051b4c826d0cad38cb117ef2dc15e20b61111c4639c3cb25a76fc5b41895e978a92386ead9aa5bee657947780c99997da4318f1821f3524eccf3f6f2607b8c127875bfc10e3ea0d5dd96d9599201a9e3363fbeca98bef0f7 - -COUNT=37 -L = 2400 -KI = 42dd18b088ab22185683f580d1b397728bc2696d9c7c8d0c8f51b713dffa96c0e2fb43e380e2e5de0a7f853ac66a18860e01d478e1a9725918fefe5db9f87c22 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4482d61a0dae56b4eadb5731aad75cb33783d530c5f024229ebff3d63c9c5b94893fe6d1262f0736b2ef481b46329807cc71e4 -KO = 8e0622f6f04f76f3076f0642948ef429c062ec0f65c15cb1613923c5e20c35f97d288df6db323a0460b28e0db21e1af415cf2c6cf2da7b4ae7cddf8f9de032982b65616abbe76b1a7d1e468235fa89249c3027ddaac3d2fff2ddd739d01d8a8b1087479ef4e34f5b3dae363fa45928d0de0a072cebe72e5576343baba7d3794160c15d0f36f491f57e76416068d2f472020fc82865d277e12301597333ac705e6893634d4a121bb87e53fcecd3c62e3788b2cba03045dc4985703a4157a78907b5946d3a2559a3a6a40ec83ffaa1f390939909a38cd7cdacdbf625e830b5d4eed09de171a230c226c021e4a20b3f76e03c815545c584b8a1cf4033dc650fd2822065c1fe2e1d7c37f891cebfaaad980a52660dd2274ad35ff4c3370ceae47118759ace04cb70d7b442ca113c - -COUNT=38 -L = 2400 -KI = c6591fee6f9f7faffd4ea22b351e2512beb6b2781dc9f554383c59db13c5e0badf61281e176d39762f6ade2a67bac9879492cdb2741839553e51df6d64ec5d39 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 081619ed70e32c7196c570279f3a71449f669a810dcca65887984ddf90b2f2ba82bb6c3539e948a3927e3ad1a5ef5357248861 -KO = 61fd7c36f5a4189fb39c010933283501038a323b7d3c60a30d9da3fb0130112771fadaea985be9ff1e503c11e85a182f614fb8684ed342b13b1b17aa1a93689fc2792b1fcf7de726bb0bde89be3556985b624922c796e972eeab31f7db85ac40ee2f178db811b34b32ac95d295f375a74c9e99871198225b32fa93af5c1e683340cb2da78ce6a44e637eedb7ec6056779385e23ca2718b2dfe39759568b2bb5db901779a629660b333f402b3c5b26c84fa34b0fcc8e868a1d1ac19aaad446f99a3f281a7f9fd42a182d4cf494360e215dc9c10d704e3d44ca7b8dfd6ffe096da6a1f1d3005525658b1fa1019bb0162c6010fbdddb80ce232e5ff167f233c9e622f6830be9f2509a88a46066cb84274d3c0b8bbce9bd29fe99cbc50ab17e3ffa7f253c39f5af92af31a5e4778 - -COUNT=39 -L = 2400 -KI = de894928059356ab2fffeb05af25ad10f02368aeab4dcfb71cac5b48c8c0ec6966115e6fac593502bbc0101fed6340f34902671af74476cc972c3da13729588e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20e6e96c83c8d635d746020f9648853e403cfc224b9aef331498c2478f151c8a646d29804c26b4068244239967919e4781cb31 -KO = 395da6d028418068f7bcde9b20b71a250cf35189f5e9450d7cec55c93856aac871a5fba01cd6b5d9d5ee85b1e955a520afd54877d523c1ac089635b76df2fc70b57c56d9b8f57c42861d011fcfa53ee969908ee5ef5f33f3ea4a245226dd65bf548798870a22d43d97c048621cddb74b2676e8dfec990e708152f25cba3b36f14774f3ecb60f07519567fe25ebf1a62ba1b415c55b5c2b2722b88a74b93b57fd8dbd87c9bda131f37195520232676811b943061b2bb22ab12754c5576bfaf8e22776743c07a89685df6019a9989f9fe6bc60d8376c6f2f38048824b7d9f4da6c7f13eeff955c66e8f48c4f30c6236d2e75f6f6221d5064c45614a863d8417ee825123925df21ba0c192eb19c7feec7356b5f6e0e30602dac86bea8eca36500e4449c3141ac94d2719290603d - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 2f34e1a5cabf345239f0b4668c0a1cc2aa36ec17a30959cbcd8da3a613d3c4c391db72745d73523d707ceeedc5b9f1ada44e454a5cd4e6ecece3264ad5bad936 -IVlen = 512 -IV = fa4925f1daa772655f5fdccff0a02e20ac44f0b22067fc110c20876d57116722b58e228507bceab1c395bcca40edd6444c5c6064a90dad49d3a4a7b3b4eefcc2 -FixedInputDataByteLen = 51 -FixedInputData = 2f6c07c079e2352c12c89f120bdd8f22551466b5cd864a54d6148fc78a2f695997c0a54c176e34b9fbfa5c043a9fd941cc87aa -KO = 4f0fc2d70d950c5c8f8f2d0e5b1feb8e8266d56b26eeb2214edd4ba499a5830fe5a01e95adce608aad5ef7f35e0c02fe6805566a2ebb5a80ee38710aacb34f06 - -COUNT=1 -L = 512 -KI = 9aef7fb09d4720ced85117da3dade5cfcae7a8b1f99387d686a0aee6c289df86b35a3042fc89331d871104c5e9dbe2e261cb031b38d90784c83ab50b185d331b -IVlen = 512 -IV = 75a041e99f44629a01b9d105a545ffb8cc8655077bc8c18767754bc40b80d6ef3a48cf47990c90e6a5148ec5243ef32e27bc64a875b1f2e19b3b4f10626adaf5 -FixedInputDataByteLen = 51 -FixedInputData = 331c385ee6f4546b6d6d95fdd002c446e3eaddcd0a3179d3dbd42fb532a00acfccc72edb9915406760f596e4a591011558eed9 -KO = df0dacbdf54db43aa67fd956fc02aaa931cd44d147271999c68f60f99f40b86b4e287596b74e19d6f236fd3e22abe7cda4c17303db8be2aff3fc868e6202e893 - -COUNT=2 -L = 512 -KI = 9a0a33af70aaf99b01645b6620eed03be8aa8d811d3cda0b7b5bb0b2c2ead406bd077af78e6cf14add620b0b25705e05ae4cb0117ec1f30d2d1642c76c51fb9d -IVlen = 512 -IV = c43a3521ac891ccd1d5be0f009e5f753a814ef69caa4edfdd0d216ad9f4b115e878fcfbb691fc0cd89cd5b318fff335c6c2b3d2d4c2741c48e5e650398b789a7 -FixedInputDataByteLen = 51 -FixedInputData = 9af6fe5c7b5375a4573e01e453f054f46fd0e43f4506b0f5c932627c6e884a00962ca9cb7bcef21244c39838a421c34a48c954 -KO = eee521d543342b964eba211b5150c81a9dacb89afa683f5fc81be9463f8a0f73bd5f3c075d3f70bf71f2d810b0b08e8d64e662288cee07f8e1361b1223654abc - -COUNT=3 -L = 512 -KI = 91eef3f5763f34bdbadeedaac2ccf985b9656c8ddf4f8cac75d13f8e71400cf395cb44536004113bea7b79d6547c4952dd04b5b01d3ced7461eb24d7881b7e4f -IVlen = 512 -IV = 29777b7a0c3bbb82c9317a94a0d470dd5379e116faa6ab00b6561e9ac8c676fa1f488f0fa9fa4ecea4d4d35dd9f768bc1c1dd97ff7a813a3d1261009bc3945cd -FixedInputDataByteLen = 51 -FixedInputData = d1e8157411a7e3a5fbefdaa4c8c283e4773ca5a7226a0ffa3df54ce6629d9aac3a339408cc89ba5ef2a32f26d7c62d6acb311c -KO = ee82f68e63fc259dd0411727790e82548911c2386fd1787ed5a4b6e7bffcc361676d4390a6887c6004faa405e8cf2e5964fc65a075e656f443670163633909ef - -COUNT=4 -L = 512 -KI = ba69438e3ed9e9133c81b9f4972ccea1abe6e8e5330ef418b9e8f88f47ef1de26599882c623fff3d28575a33acd7c20444fd9a37df68c0aa0200a7f4f1fe75b4 -IVlen = 512 -IV = b59fb25bd9c80bcfe77df0df332014cbf5f61629ea63b5e54c80634826cf7f34c754093229f659979fd6f4579268bbea141f82fd299db5262e6ebfdb6678ad54 -FixedInputDataByteLen = 51 -FixedInputData = b9656646ee6e0706a5fc2702adca49b10ba28e9651816953482463225fa3985393318fc97c157f43786a77356fcd326018ddc3 -KO = a291353c1fb116c997da32890916812c1369bf733c2ca2a325a7e44d88eeddaf773e3184d1da3ef6595c669c9b27733624d819ef4b1520dd28ad5eb12b0c381b - -COUNT=5 -L = 512 -KI = bb6c85151c143666ad59bb8fae2450a5b7f95f7e36700997795f0fa407e29c703b6ed8ef917bce6a745a21c35b1ce3d9579ce6a29e20018b33866c077d1303d9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ddfbabf17a9956e9d4425e03fe7952e3b295eb559f9dcecf9289041510902b52a08ed048c7fed9bfc3796a3b0950d1da13d5d7 -KO = 2f7efc6b0c5dbff26931e1ba2ee3ec5b3157a6bdf0a4edb4cbdaf210e376aa9d7a30eab61eafbad26a525cda11ee386197b21bae3e628ea19df632b18dd6dad9 - -COUNT=6 -L = 512 -KI = 9ae2b42b0d1ce5661460c5c3d366512198942ca2ccce491cd720729fefb4f5ce40b0f2b6c1a06dd52d0ae502a932ed609f134487b29ebdeb7940f9aa10e56b41 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6df16415949aa5cfe5edbc822bb33296871a2292dc3890bc24297f22e9bdebcb6ed5bc8d7e73666e6a6bfa10470a4ad4b23cfa -KO = 2c1a63dcbe7ee62da3d9e39210f3d1134cad97dcfdba1ff25b605831067bf8a4d55143d78aae3fc2157eae2b420bc266c1fdfd4d82188300fb9cd1ee645d5fe1 - -COUNT=7 -L = 512 -KI = 47afa4e11c06a4d81cfc96a01afbc473f0c24c88d5e3c934682622beef72eb7b88f3c7f208d5c73b75e912551789c800a1a2b21111dbe6fb12ff1fe386910cdd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a4945d71c1a1a48f4daf1dc0924df1b4775a8b294cd5aff1d76cb63e5e83f782cfcd9e90846debe3da21eea252802398e93e72 -KO = 5f60e2cd017515af299006a5c38e5c735f9ea6d69ee7c2d7ab0e2ce088ec0eeddd7f12242509c9188d2bfc84838aa41a6a9494c0f4aa1749946bcf518ad2003d - -COUNT=8 -L = 512 -KI = 0501636643e70abef3e661ef8593c3872c6d96cc6056a291eabc615bc4b2b2495a13d061860d09900966ff95448c9250c1c6282a595f82ddaeab41c7725d4808 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c2f9eb62cc3d115b93054a2a2227524da0d399c88e3df92f8ce54f304a12223dc3aba56cac7c85485bc8332b060d9dc8224a5 -KO = c0d7d2c4fc94189932769bab22b6b706ed714d686acd29ac7f82e820d8a80aef04b5a7e36efa61b18b409d47258a7f158c58b6d07a3c16e0d1ab26b36c13ea15 - -COUNT=9 -L = 512 -KI = f4a4a2827bb59be47a67886143c4d2f2479960a76aab6afab356a11e1ff0ff90489dff3c505b65c81ecda468b166f68724f6a8b003e992487df8a13fb93d85f9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac014d74071105686983ac8b3f2857bc69f5f3923a562cccf56e943f23d79ad1b971be46aa39f385e0b09effc9b12cde6fe426 -KO = 095a1fbc3349b7d0c9027325dea9253ba182a98ec29ff8297d9e5e49ecb5bd72ede3083ce3700b6a5ad562ec556ad4aa916c64a5d0cbc7b92679675e634b7094 - -COUNT=10 -L = 2048 -KI = bd31394d3c558991a471cab92a035bac27c5c7bf83f793ae334f2bd2e7f51f7c975c777c2100388a990a14de1904e4bd9079d39c0dc04bcaaa52f4595bde43b0 -IVlen = 512 -IV = fa106c2e6ef267e4549e9d1e03b1db77377f6419f8dcec1c3091730feb1cd5bae34ef0229bd663a03430759690933631ddc986e44d8412cd3aab0c7b9e2fd379 -FixedInputDataByteLen = 51 -FixedInputData = 2f193dfdc854238be429d3b1ffa8e50d6a80467bad726bc9c895e2b2485399829d9e9dce379dc6d1b3bc126b86e708fc2a0b3c -KO = 4a2c65f654ad1ca73a61a02f6554d4abb308250ea310a47ecb51979e55044812f2cbd85acd5338288f7ce6f1216347f0cbf702269eb6adf30c4c64c8999bb8f0a8cc72f115f5662b67502586bbe938004c30052742f2ef9bf907c52418d48185928ce754a212e2eb780513b98458693700b4c36005b8ffd12491c015dcc86b23e1d2ef1e65fd83ee74e8b55b1be8f270276c679d1db265f586908b5ef7dc2b64bbda1d3ee2da17d454ebd5a0544f8d80faa944106b2b378a636c884a5474bbb0bfd3c3f0ab33331242e0668be927ff080a9674b58b31f30c13a4b80b2d8674cc58dd2956d3e9f2693ed23162b6b342fcb54269c6e9777a87b49ef86c35b20f10 - -COUNT=11 -L = 2048 -KI = 94aaab84a7a6de632bba04df1e02ffd5e0eb388d7ffffe33c6c2401e2e0fc92d33ae61f85c1ee6e964bc76e99841f3ec2fa146cccd8942bdc639cca4c61abf96 -IVlen = 512 -IV = 0aa25ad70c4f9b5790923999bef7977bbccdab73eff6f632407d1fd45c7c08d0b9a620572f814b3cc8511946ef4e0a73f8eaacf91df006558f6de76f61107e9b -FixedInputDataByteLen = 51 -FixedInputData = 512e029fe87101601a8cc2457ce02032a646bde6d67a797718af0a648aa124216fc8f0b0b22eff47e52e08e75e7464454cf8e3 -KO = f7d156ea039cffecef510b9d84a859c31a7002e4b1eee89671742331e07ff0cd846e36ddb4add4b209d6c95d057dac222f3c01f9262d711002ca22ee239883c6ea2c9c0fd9b774cac4a3c06ebd2eb2a4d5cb7443117875338a769db37f8053b9a101f07cc482c78e6b5719fa3f3fe3cc8940bf9e9f85143241bd2519114298e8b74410e9a5bdd72f5957bfcca6a7178fa8194d9f6475f721e32bbb003e401320d8386780c48c5d7fd33e72b799c131f07effbf660d4710f2ecb7057159a0c373353be6ffd8640eda22ad6b865c5d93f8516502e23b9dbe00c62df9be099fd2cd45dc9715ef996ab912d94790bac138f6f2ba66112abd707279f3d6a3c00eb10f - -COUNT=12 -L = 2048 -KI = 1683038e7a21d7f31ab3d5c3d0fc8d24a84ef095d1baa37306e9ea098cc826d423d2924b33da80648cb007888fa84ce5373bb43b31deb929126ca0bb46251feb -IVlen = 512 -IV = 87ad71142030188a17206ba86e870de4a665f341571096796aa016f699986764fdd527781b6db657a3a8c2997adc99a7a76cc4d642cd27d66d9a04f5b8e04075 -FixedInputDataByteLen = 51 -FixedInputData = 6048b8931c6a1d972a0568eead0c0aa95ffb5397c69486a0d9ed49d4e45ed5b3f1d6c236fd958b665987b2a60ce7741b51ff9b -KO = 91149acf9c9e0201289123826a02533ad8c6cffd3645cd1498c8c29bcbd53511a291c191d97b961713836d91cecc9a5f3ac3704ec020ee8f3fc2df4a4a6707167b5771288249617b1f17c23ef006390774ce4264fcbe64dec73c900c0c20b30bbb70b73e75ffae01550a203cd4ab6315a254b30360d6d6e8158ff75360eb52d0a9d433f5122f3d8d4bdc080959bbcec307209f0d37c74f9b99949ee2d74bf33a26f1c7f28396ebd77bb1bc333a859feb2b755fce50801ccad8469a5fc2ceab72d25d6244d3ab180b52e42cf641fc172761d1959fb8bf5fbca10a8497c39b4d0f5ae0e51c4de46b94a4f0918dc48b54c1c01423819fec265ff355c753f4475312 - -COUNT=13 -L = 2048 -KI = 61bf7d8a13ac77152ada6b247e34a4894b0ccc25a75d5e1ea1a471eb5a5f2f4f918649de51fa77d1c5447da3e5d3b03c77672bc2aa04d8e6264a94af53393211 -IVlen = 512 -IV = 41a9b101f63a5c242d5404459ad0d39e039dc969dd2e2ef7f16eefdf75ff821918b0f686c9f4a6a8f5104330002faedf59bc1763715b183a48d99c743ba7b001 -FixedInputDataByteLen = 51 -FixedInputData = a7adb618638ca23bbdc58d054a0546ab3601c90ca1656272ee528587c74e8cd9393711dee60d204b238b47cdb38b6c81d2d4d0 -KO = 28a6a7f72f6f5ebb15a99f524434c66ec29200aa4cbf56404833ca6989d7045156373b68fe54b474fc95f867f45bc730c9057b9505c279073a4a45bb37207a5cb1513e838b37fe9f8ac916653f1945e24a045be62b1f512d70b81e325fc9cf2a955443b05ac38137c152b2db7988baf9064e3d05081022b0021eb44a6b30ab2f24ac42eb0628a6e6d3420d913ec3890fb1b59c0005d689210aff648dce478608d2b2d45b80826cb89763fa3fb058e9c81d2f38c5676faba96762ddf4dc81602512db5acb2b114d7993c48f6af48bd70d87711bca07217c316f7668dd804204d7783b83186c92054359f6884025901ef0a67b51d02eb02c1d8147ba3dd5087c1a - -COUNT=14 -L = 2048 -KI = 701589b8ed17bdd75c52fd68070ee3b44193226c6771e484c2227f9836b4085cbb61e99ff46847c18d105be0338024dfd68dc0bb746d09bd4a814d6d47e03a70 -IVlen = 512 -IV = 8c5531de8d2108aba4aa9c1cf605d432772ab79f480478cba266ea6ebc1d17f03c38c639cb6cf47992097fb29ba89ccb8e3a8428a8a87ca166a29838642d50c0 -FixedInputDataByteLen = 51 -FixedInputData = bb2934092a13827bb302b6d4a599a832852b3f2323393e6d0ba920cfc57fd5fbc03f791c97297ff607de16ec71f8428bc6a932 -KO = a44fc45b21e19bd352fcc39a0a87ca78da6e1e0667841f6ba4da11964ecebc97000908bf118aed767f27fed5f810ea2b9b28361e2175d0e81d98989aa246ba40b6440e382a0f87ea2db256a2633414174c4b870733c68e08059026d7e51141469e861a97b3176233999eddc5d8618febf869d162f4fd7ec3cb10e3d174e5172ce3ee2833690e0cf54cac8ad773baa8f9231b03023d1fd1a8f490a6ab6678212f7fca170caffa9924921375a87a0727a80f4e52561d834ca110eccefb06f203a09a8374dcdd15461c46818642d5afa2e3e86ee9ed2d99e41a89556b4e1dccad13a893be994695fcb6cdae1d43221e2ab263018e70af1ee2cc557a027fa81ff662 - -COUNT=15 -L = 2048 -KI = ca4f784bbb06d256d6fa4bc3b1def2a1d8b577b892c039d27cb10ead66d1bd732ab380b7b3ec081c3345ad558a32a746b41a54650819ca5783f48acd7e8c47f8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9d27a2ba8f94493e6c6e970cdab6faee4ecfcfafce1420bb2202645d2b47bf081111609962b67ab49efdfed4236e145c271801 -KO = cfbc4f744f2d4969ed081004870d088968282b9a4abb2e9e7e2e0a0c2e1c4d6d2c6a075dedae83a6abeed6d1467f89b04cd4a504296637aa5f99b166b11aee3943c3e855343d099c1cfcdf791b7592cbf1c2c77588d27499444c05db9f2108a3fccc82a2ec004bb449155427b5d6265b25ed4228933813cfba67f298f0c2b85309d45e61db2dc3bd3e1c32524a1900f23dedfc61c62f81e43da2b1f4986801ebfbbe91786ceabf3b8e40b552676a7b79d5bb3e408ffae9c77a01156d4f0ce65f40c209b37c2b641737deda0c9ff47e22990cdefe8e150eff55ef89214084f5c385f3aa32b5b5a097e12a1e0faf60191e0968da02cf3a7b5ea6840a28bee575b1 - -COUNT=16 -L = 2048 -KI = 137400cd3ab45df46f88827ff8bfff278c0866a5a1278b71c12a2368e1f146c6380374d2203565d5ce5617e16e888a51d9801d48c8c25675c588c68c734ddf34 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb8ba676c3fbec6b028cb8183b1e16327d5c1f390a91a157f3d33e44c0ef0a056bd792ba8b51f045b76b27d5a00ad847631c85 -KO = 8aec58db04d66ef0d1bce8225dac8e62622ebd3f28ff3638960cb7c8287bda4be5446310a32da1ddf4d77b99d8a127ed6b24279aa3569b0867d1011d86c86d92c253360aa2c8a3f302f40db0dcd4312fb2fd1c2a2b4bf30109bde87fa6d477b31bb503946f6c67ea3b3255ea98af73776b6d866da4b357f72fe3fbcfc4766e493395a89e80fcc5343e0a5aa0a1b82cdee0d54e710ad72cf0526ad4ee7eac3544676752b4c21cfa14617dd0c629a731d35a6a8b1c13fb2b9419f5f155f134dc33a99a697580bfb0402e6d377f1931a2c4136c1e13f130e8c599ccbaabf2e3bc14148c64ba0b84ec7caaf2bd10ea79359549557a9a4c49ab5657ab4aaee3ca985e - -COUNT=17 -L = 2048 -KI = b3b12f7b64f9bb6c917c2c7154b914e6e8775d99c66c93a477a14fabe57000ad4dca29f4050bf5bb8f531cafe48487c08ce2e560a1b5d71017e7efb0607e2c4c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 66e1085c25af6ba5bc53bd4b4fc0b5d255d61b4d1fb08c7e9ac9a02cd8dad87e07e14ffabcc7c7730e792e43e63be9ff744ba3 -KO = 78c174026d7ca4c08f52f6bcccc22d4cf4a71f3c7d9352e2ab4bb73dba9055705c3907c8a3db39f45229cc474936b2cf9e936fc31dab902cb3f3911006042068531db9052e7c00adb3cf9f74893c9cf4396c96552ec2e8d16f77734b0c2286f1b7101bd3b439745d3edc4bb09636e7a363e28461a4b34bcfffa7cea4e15c4be81d1d605cfbb1eff54c695ce583c11915e0a8d374e75175e98455834bab711e643d433182233851834f92f86ca6dbe786a5b45c203b53749a1c89990e42c905bb0a19ee4c37e78b3419331dd62b8c0cd1fd589a6ea5a72f9c00349c9fbe029b24d5686785000ccf66d91de81ce72fb6cc774b407b1a46716af7fbc7c33bd4b177 - -COUNT=18 -L = 2048 -KI = f55f359326fc4d62b05ca139ecb13832762fd321e162dbde24743df9112789e8e98be62920a65f6ead3ea2d894b8e4c127a8c8995ce0c933490a45232e201d84 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 82f5cdb1460f9dd80022b1b1568763a8a5df1fd6b09e2046787f20ff85f35d6d7cc61c48418e23f99db7882e64c872ba537833 -KO = a7da86514771cbd89ed1f4df2c7df347f1b057096803f79116a6a876ce06c5e5963a92401f33cdd19bf52f32afb3e4577b1569dab14712aa07a1d9306eaf42eda697789d988d158ed4b68ee627a392b375fad93f358d218068c5dfd4b8efe86d9bf7554bae54c48a7bfcdb0697825f20dff9043f257b50e301410e3558f08ea7b44affefeb99c2606161ca178b277b576865f71e734e1a402f85dc60deb680c8161bb60fccc274c890475384ee5b0106ba1d78cc6a9949c05bfd60fa85a0fbc5e4417399bdb490b4691f099dc9e27d38cd9013c45c10ff1a39eb27841603e8ec8dac9d074b68059644efec2fc6ae02c6cae92fd974c1ff4c0013c5738bd3ec65 - -COUNT=19 -L = 2048 -KI = 80aebd2fb1da340ae47818a8eb9d5c82152a74547df033bb44f5ebd02c9ff8029e46397711d48fa7ea1f1bb281e295b1a777019ef81b34a34676499437d24d0c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = db53b54dc2256d144127af6837c9fa020fdaedd2f72b40f89196953d22e2a7a6488824bd5ea6a430b41d16184e2136f15b7b2b -KO = 9a8459d071e98ae4af61c3bca7cfa247d97adfc5bfc7f8b140fc96dd053f4fc48584fba626790be8ab22ce196c5f74f70d114d571cc68729daa873fd025774626fcf56e36f346541ec6a37f51951a3ca4f1fccb5186b2b0c61b0213b0660ae08751beec89f9bdb1c4f82b827475ceb140451a3685b4d22f704d56560cb8cc58726cf502ebbc53e8474647ddf8a8e583757584825761728b98a382588e9b682cb26c7f41cc4157c5720d4a0fb7f4426a18a7183e0648eff3518eb956d8550ced333aa84f9ace85145e8aca01be055a96eff8026f1eeffa5ac926dc5fb65093dbd60fa9da4b406f1be3c12fb82995b1f22ad0d078a8d6ad86dd3dcba88352df5b7 - -COUNT=20 -L = 560 -KI = e27d7bac4f46cd79545fed45a83ac1d3c46131ef5440aa47b3810775ae93be31a164737130739b4f3337e683fb885fde7f8da021a622bfbb4ef658f132ca1ccd -IVlen = 512 -IV = 7f0cdc6cc9c8f57aaacaacd607660ed670ded83430f70501570ce8f58bd40b588935871924654ac5a52f6d63d219d164441f4df291df525b1bd95b6b2270d1c4 -FixedInputDataByteLen = 51 -FixedInputData = f1e6ede111082378dcde0fc1593d8a8182ab23bf21ae18a3837eb241ab51392cea44ed126227201890b82b1c4c45412a58aa21 -KO = 049e317f06e757892795b35b6742bc90e18546a9caaf0dbad2dfacd168b5ea52604efa061f602b15973d35d20c511acebd5b70971de0c7944a6ea4af848bdcf6c3a9db29f9b7 - -COUNT=21 -L = 560 -KI = 058f16cf49136b15e11ed1f9e145332089baaec97baa40e321c33d84a58beefd920d515079f5cf9a6ded3c6f28a53981410a1096edd75808e43f5d1c4ec689e5 -IVlen = 512 -IV = 28dbca75f81b6885470e573105231d2e71b56a0f6b8aeb81b1bbc157a2adc6018a9f007060c7623c263ba03c6fc5bd3c06c10dc2a4080ca9ccf9163a9485bd7e -FixedInputDataByteLen = 51 -FixedInputData = 5bb283f0044ee62e551c8894b4faa3c0dfc5ad2e9b363d046741bf8387f37b92fe321907ca53a42df6dffb14f9e9c50d2d69e6 -KO = 2ca6e02512648da60cfafa1f8790bd913d98d5d55741bebb626c78f327d9312682c0b1967549577609cf4994f3aaa03ca2e29af862ab9f0c72f43e057f6293a2fed36dc263e1 - -COUNT=22 -L = 560 -KI = d5d108c574a82f078620d18b82ad5aa361952fc00e403d2564b2e967a49fe6038e1788a927f4957e54030074a8e6900df31d8478589b8e4b2373eb53ff522cb4 -IVlen = 512 -IV = 4f0b91015da414e57c4f647653d4f368efab0bdefa38c49d16deadc073e5eae171aeba4f9de93a3ee68c825dd53c29a7f3073f5fb01e50083c20fcc3080f7394 -FixedInputDataByteLen = 51 -FixedInputData = a84646632db17d2f71cc6cc0394c2fbe4bf6fb4de8c740a26e0552d25585419b42b6b72f86ed807c9e65128825f2a96ac3aadd -KO = f5d5ce407fc1284d55ccffb24a6e02d42cf4d0f9d1a857d6be26752276a3c4017403aa6fdcf27f59b807b70674e60849b758c5418ab945134a3ac15b9185fa3f43b1c08dcbc0 - -COUNT=23 -L = 560 -KI = c6de945326ac31f9022b202cc46d9f29e8a7dee5b1ea938d667aa647a5d9766f8115507f47243002b3d76ec23fd7117bfe81eac8b4966da0e4415473d8671d5f -IVlen = 512 -IV = 40c1e4bb3a3d5925f89b7fe46189d5721eb1cbe7d933afa8633249dd1148477fff015910fb01870af2e80afc2265f0d88cb27c988aefeba3a7a0739b42cc9b3a -FixedInputDataByteLen = 51 -FixedInputData = 184ca8fe09ccc072aeea0d5878d0b4815c8355f28b6bd053d19f1d5ce54cde5a2d175c92b8253e820d9e1b6dc81dac33214c10 -KO = fedcf46f53963113941250ba72267d358b5a9fc071cf37556f4d6be01add7dc2dbd8c4f0e04d4f4c7fdb7e11a0532ede0ac9b1132b6547b21cd372dd105b17258fb175578e7c - -COUNT=24 -L = 560 -KI = bb9bc5e944b67b7f3e6e6e1dd698431c8893305000d6e89fcfdf87a7493bb44459c40e49304cd54d744f1e44c392f0bef1acf05b5dfb39288c0d15010a23841f -IVlen = 512 -IV = 7284f169ff37119b1333ddb53f4889175285fd030e0718ea0a1a6b06b7d0e4e6c356455f47e1242f0eb1874c8a4bc65136b5ea640c60e47c3c2427d11ae8502c -FixedInputDataByteLen = 51 -FixedInputData = 2994115f884b5d752612dc633ec2e0f5d12c300a44b3d178c43a198245a9bb7b043c9040f8e6ef95964b1e4c939c7863a59f82 -KO = b0796dee2a9e8855de8f0072ebd2c0e6832ca019f2b5c856e30a27f63f1174fa3c1218ac3475cbb102e59cdf68be7fd9f06e2a88ffad5f82e21a67e1ef140f702291e167b2e5 - -COUNT=25 -L = 560 -KI = 0ef2466d6a5cf761c43f48eef57149a613919a1f1499e61f0c892f9f658952cc16288f2df190ae6c57db731c2de1a284aba3f048638100c60d2749826afc85c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 577c56059bee45e14044d1a88446a74fffcf63e10292680819c24808eae2c2b657bf6ae69ff4544c0e45fa319dc1391f1f047b -KO = b92c6e908454d5fcdad18d14467d10cf8e439fbcf7a3552425b511558f25db4fa644f4d3615f2aec8a553a245dca9be8cd276f280f56aaac00c42a7e1b41c4bacc0e31f00a85 - -COUNT=26 -L = 560 -KI = 367c0b0207d4ccc955ad51c4e390ff97ba728b448441195cde3980965ad2b17e3f0d689eeaad92a580d58545e7029d087e648c1f2502ae41ba7e4e13e506b78c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c7b2048f696e7a0255e6981768a5ab136e1502984b022eef5d085e2c63ae97e6fdd6af154c3c663f55f1b491b12918bd2b6c83 -KO = ccd4cb55b0deb77e96621474f287f2fce817893383a1029575e2976404055fd5fc22d121976dcee6af0ea116c1832bca065c4176846111c997381eec73c0e1e9dcac15096540 - -COUNT=27 -L = 560 -KI = 6305c00efe1481273defae8c269728145075614f01ff30b261324c5ce2bf98454da8008e472e04d40942b3dfe829da769cfc2658cf07729ddd82efcf00682fbd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5102a4f4b1e1700cc8f239234b6585fb3923751b7898a713f74c5570859908263935f4c48d2cdcf67ad3645f715c3bc8c15f04 -KO = 44869bac2eeccfc807bdb7f5d26f767b7e191a3804a6fc42bcd752e4dab87b110ba2e743e78739b3d29e5e3f37983ab1a643eebca3320938cf6d78bd51ce765247513ac1d0c4 - -COUNT=28 -L = 560 -KI = 53bb85836adbef13d23ef8f9b29d596fb6a6045e66239bb35887bb1cfd853c8158c4a9b40614dd631503e1997ff1e09c67777e94da312c151d25ddfa8a0109cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 596c8bb805772ff863faa5abca90ade3a29ca818f5674da4cba2649b6f85be7d3a0cddfeef70bdc660b38405e2b09b3b9dfebd -KO = d5d6f64a08d3d73490e881d42c05b1e2f728fe531e8873dd511dcbc40f43e237e2bc8258fd31faefbb38875c3e341e0cdca6982fcea6cf64b6d7d74174d4e925eef2d1082df1 - -COUNT=29 -L = 560 -KI = 52fb42ca312fb7bf253c7625499a68720b8663eb99e0febdb4ad2f3367a1ddac7b6008b941111b54ae36091404237875f297f29ab5f1586a9e588a40decb4da1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0846bcdea7a24fafc892b0656761e73e5a488828c7373aaf1fb461c2f00a92cbc82f850d911e1e8a8de6972de5cab17f080bb9 -KO = e450dce56933e79612630aa377ba696da079be9cd6569e6514aa9d139d749b6022264889822e465cf4477357ccda954d2ba9fc4b5115f6718edaa5cc4360ae280493edf64387 - -COUNT=30 -L = 2400 -KI = 2669907de21b7723fadc5d18f6bf17cae61edce9ead9bce716f3ed674f39b1bec6a29e5b19dc8370a1dbe567596078e2fab00a15071624b8c38d70f8754f07ca -IVlen = 512 -IV = bdc70440813150ee25ab7f52923ab5e9122137709bc098b90af41b65d154cc16e0067ce32acdc70fb8a969212b6dc59a6e95373ccad963135d7d13513a1d9d2f -FixedInputDataByteLen = 51 -FixedInputData = 68eb7a91a2e2683e25d32dba7ddf1581afa5209453c5fa3386763d6ea5225fb436032c0dac37703ba890a00f2b461253ec5658 -KO = 9fa3c3710a8498190671882c8a07919563f3dc1bf31a95759d2226d0061f04ef716c2d7fc7e40eca229066fd12415566f1686b5bb7f1cfe9594360d547c3cafa0fbfb0338c6a00433bdbd849609ee24c2e5f62bb26e07cd06e661de36e3dfb3b3da748b8f8841bf33880a93d61f3e4cbef697a64650f23c983d17f93f50d2661418ecdcba143c9b1c38f9148305b0b35d4794fdeb56863213b5d81b080fd10a7283cb486ad1814c84bdad263faefaa38a2311ece0621bbbbec900791d7a0087c076c8edc58014f06ecf9c0e010f29626ee8ccf41c941645bcf2909f79a6c2ee3dd3a43b614e0e092cfc83654646a4180b419d09c3c13d989a71d0dab56180efdd54abe10190f76942ad1d530a41b5aa09b9c308fb86439a5677983f00aaed1ea953f753e6b1c634d0d37a281 - -COUNT=31 -L = 2400 -KI = d3cea7d6814bc367eff14b76deb53e80974c31d58063487a8a45546aa309e319118dd71220f930d3d45728a1bcefe5b849ee7b7031014a7529701756e98069b1 -IVlen = 512 -IV = 6410aa1376513327b0e7b6fee26b173c2f2860fca8f568df0a7025a2cfdf059065d333ba9c375dd0f84ff9de34b206e536e6e35193e6ce64b96b16086d60d206 -FixedInputDataByteLen = 51 -FixedInputData = 99f06701d1c62a300ffade70c5166e9f459afaadabb17a47ae74db18ac6c9c2ba0a9276d5ba1b8be0e0fa365d82e1a3f27c4d3 -KO = 03f5e5f943347bb7c84956210950df7c8866e2d55e9c4a2bc0b261d97fc0d9c04ac3dba59f8f3d3a1f42536505d36a2549f6681922efe3fe9e917285daa13ffbbad82859653f88783c17ea2e3e91aa9ea01195efe940fba9132237ea023fcc4bf803361a39c7f9b343f89d540411252b7179c66190c8367cac0d011cabacba4e16a48544e2212975c47aff4ca9c3d6a0ccd5713bb2aff81d5a9a21088db221409946a56a03872eee92651337d914ff0b694b19283c9ee78b412ef53120c8c8f68027e8da63802f844394481f951d4e1abafca17277d9fbfb16aa66569590102a3f36866748e6421d8ec9eebc7b3d6a60f8149b28eb6bf7204e474995b99522833463bb4a53ddb989338d66ad10c653234ce0ebcc71bf05801a7451a8f179895459fdfac18cd35205189db77a - -COUNT=32 -L = 2400 -KI = 20bd706601b2f79b62b88e8ae3cec530f91549f35ae54d085fedafafa17d9c44eabca27d327056a4966ca7fe69d42eb57929fae887f9f003d587fb811868cb98 -IVlen = 512 -IV = 2377f4a290b5e66fd5bbebc8f5673741b08da8371d15f464456124bf8d34db52a87c70410fa07ec1f1357abeb7a36ecbbc3f4e6e7058593e96f3e2fb4f8212c6 -FixedInputDataByteLen = 51 -FixedInputData = 226c7e28e34b8c7aa9cd73b48fec9664abec17a20b90af8f6f9d04d7454feee6e9a22b4f6dcb90c580422c25a86c75bfb29f2d -KO = c12c66c50377cccc9e7ffd6778eba675a68fc252667f9dc2f07cd26b2e176366ed5bf4f1335a43a294f9449eaf782338a48d0361fe9116ce2aa4ab689d9c91a51a0fb490ccef1f3ee20fdb1a36befb36eb3bb69ca1cea42ed7590bf0c612e06ec5b8f7f016abe253d026e66dd0c57baeed2b5de440c2a44df4c087927af0a64e5d7bebb40cb31c46086cc9e4a5b7f793e634737eadab96aa43f58a4e3927d51f7a909025c7820e31975f8cae77b79bf34485f389e057297310e0fac376c045882e27e6623e1e711817971a1c28ac20771011798181a7b0fce4e07174c08f3dd2f7cbdffc05f5beef208cdb34e04e2c0a2a801bc09a24e64017ec416c782adf76e2877595829e2ac5c1a0ce5ea59b18c42c25deea0e1682d4b04214be4e8e231becfd16eb8e3f6b4643a62b67 - -COUNT=33 -L = 2400 -KI = 3e9dcc48307721188ca8bf8e76f551978768043b0a37b992dec36c461d0d7268c8542ed1f890ad589144a732c5259f33236d0abfec88041ef08682cc34b2538b -IVlen = 512 -IV = 7058f55b84feec9958a19b8f7a1d09634f61b9969672644d666c28a3fd9b51b929355ce1003d9a89ac13a82b59d471048c536fae0dc68fbd4f2121613da1b137 -FixedInputDataByteLen = 51 -FixedInputData = d3407f672fa80cb4458d9608a3e8612429b8531823b9705e1b673a8d53d9381d6e572ac2f8349d6635ce4c1f3df0b163fbaf72 -KO = 9281f9f3a10c7358ca006c20e13a89578ac05979ead49ed67cfaa17cffb1843cc27fbf3857e409835956216c7f68f0b812ad7f30e52c52ca38d76af7a4cf70f8c3b5e05364f6d1bd030aa36a19e7c4a0ef2a28f93c1f799da2accd244f865e71e7a9de12882ea2b90050e4291ad2a972736168ae6e7bca7a3d4b67a1fe7446e6df81950de9e826d6df2f63f824ab33ea922b4761c1ca44db562115228ab856fe732e15629b31bb588189fb4a5589a90a14726af9d7009f5f63d3e0f41e00f75f2d2e27ebd42f33e0d5c83dc515cce19572de39f075eb15e427077c6abb495b5de471914d14aea6897b0d0ddacde59d1e115fba4ce32810f864c3af41160ad267574aace1248f762a4300046df063ef25fff68b7c5668c94eaf364f5a97fe2b77ee93929d02dd2808e3fd4e32 - -COUNT=34 -L = 2400 -KI = b41c06bdfe4718122145cdca3bc31f5b08c173a2d7579651914a001c1add79f97fb9499930fc9313528fd66089312e9b0fc388e3b4c9fa3dfbac585b93d2e577 -IVlen = 512 -IV = ec3c078cb8992d6de7c9221d1e79c084bbaba4625f61da0c943f79069ac0f7fcb573af0515381a0e7bff30441442ea969b067d76d2ded6341ab0cb95fad6ba04 -FixedInputDataByteLen = 51 -FixedInputData = 33c67049478dcbbfb5d30aba3c09413c6be882afb166e9a40d45258fbea0d381d2b1f3205ff993856c809b4dfd12a572a5dd58 -KO = a05cd8f403ea47ffa98e4af695f096f887d2ea55fabcad71e697200814002ad3889ca6cb730cff58699e9c582dd1f7b73c5544be40a4a208daf135e816c4b05e9a8e7ca636cf4b4ff564dccc18a50fc54e1b2d7c30f16dbd40726f0a43d362b33c108e03c7d482894dfa50c0fc6e715eb4ad49b1355aa98567373e0b12c7b13f12bfc20be31734d147117508ed8e32638ef0792f1ad376bd9883070230b8a103e3cd26e8341d1cd565901282fa53992a3d798f156dc0e1ec7d5964006311076342f294307dd4e37d78d91f290ac0add99e5b56d746769779a71a98513310ee903d5121d15cbee77140937476bb283b91cb98d8def0a2d7b3ba1e2958448f4d632eabda6014f05eee3939f4b60f1d020da6475bf3c4e7f764f2640773096680b1ea59647d582523c0412b67a7 - -COUNT=35 -L = 2400 -KI = 2b02885e95f5c83038026668584326527137644a9657bfaca9ea9117c69acb5546744a38f3924429f5d2f182e9329c53b408a6f4d71ccc2ad173f656719ef5de -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 59214ff0772d24432296ab9d23bf2c92e353e09207a0354ca2f1c2f74c3f7506c8f4af788791f9d72871c5f55365b8bdfca7f7 -KO = 5b124fa52928daaae1a1d3bb4aef6a206661f39b18874749f32a99710496ea5913e9cffe54cdfa710b95bac760e4ce8d014b07b13a0a85c94d3e9eb9d01e79ab8602561f4cb128e161499fcf92e35b01cb1abd88eec052f4125fdc31c3193de1b14f2096ad41387b80c3ff77c86c1b35ffc2b5947beb12bbfe8698c13f81f30811b54c535900eb416b5643646b54c20c48e1d3978c0f2996a3d6ccd8fc06d0afe4bd590487f0b2aae292f1488fe7e04b33d9e8bf5974cd45e5aee831b9e0674edc95a76bd2ee98df6a3f689eab2fbd812a7e6f818da37f84085ba0764c0633f546a9308cab4b3169b3289c35842eb28510d58958544307affea6117c3ead11d93efe0c8e130101c2d4a6e37dd9807f04e8b80916737a556e50511a9ead066816905cd4feb22dce07607b3863 - -COUNT=36 -L = 2400 -KI = 8bfc9426c3b2d95b674407209a68488096418b81dfc3d3062bf288a9b42a113f78aa7dadf137df1ecb257cc406d22e85a4acdd4e7e95c9c4894ab009d38cabb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 85af9f4ef6aa9667bdd44b2690694c92e2b6f6484f9f95a526a101aee3e98ffad581e7bcce43cbf3f878fa6e9b508a10f59112 -KO = a6d761dae2ae2578202adc394b0983181cf32b108ae8ceadb7b95190f5ea96facc8bba4bc12e02fbf4486863452a1e26a655ecaa0c8c04a1fc67179b281a11a476039e235d9fef0c86961db4fcba20e7646c5260217425455bb5cd726c02ac8a716f137db6263fb8a90b6c3e1898c10b0ba81ab2f1dd076bb6705001a8ed953a751854819210c9bcbda0cced60d5bb89698f7c31aba3c3cd42714c7ccd85edc7a81af9d69fe7db20d143369d38d90d90994ffb6f5da9ed7459d52a772ccf3a34d78ad2b426f372c455c14770be2155a286a8cf3d9afed4bea3d20b3a3c876bb8d555d5fd0305fb2d45379fa2afc0feb5d52a3d9ffa83248dd39e23df34dec4b7f9db1613e4d94aa830460471faa3a39de9e3354844093d95a936e20c7bd73cfafc1ad3a77271e67d6095d4ef - -COUNT=37 -L = 2400 -KI = 7ab6bdb4ce6bf70b06f03f2e0349ac6bc609701437a4134dc8ec705d05ec29ff4d8ed9bd9170c536f8542eea72d262416c1a54755b1faa1fa69106e0ea39feee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 92f2912e24e3fb8e7dda4fc3166b4fd59d4254a248cabef9987b9ebb5c3b448b00535c1ebbc107062c25da9da064177ab08ae6 -KO = 65a98461fa9d9705852662be3d661dd871f8d40492a44a1d611e29ae9076dfb60ce937ffb7000d94760635ce2ea2634c811e677d1e6c8fc95af549a34d25a11c722f3a61815c7b71ea8c1e8c059d326148b4e3e697cd6e403870486cf2a52b21e5b6eb7c71f3c7e203d0d89124c4b1fc32582f8a0060e172a1b5448d25248bc47bc212a9778aabaff16ec2618e9485acd76f187c4b11a37f23adb7f303cfe2cf633446d951c4c229e3f3d45372da19e4fdac78701fb03e20486692cbcdd7302bb8a705af4bed4466bd365d4fb237bd7d7637b2a7f30e1c91ea243663cff9cfaf4c4358e73b80d041ca6d9d6fd1487c49321e9797ba96f43f79b14be4546e3beedae9a25d1729077497fc42bd6f3034de8c09d8f11fec62796d1ca677fe11f3122a0eedcc7849be17d4199eb7 - -COUNT=38 -L = 2400 -KI = 7a27d0f82b9512579625de052aa9e032d3a09bea0f89cff7a095b2035a98afedfcd7661518a9dcbc65a2bf9996c08e2636ff6507c7bc6e17166fc617d3d8548e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9bd91d6ffbc4513c750277a4706b76a79a9c5f1c600a5c7e21bf9416bde507ac0a366f6229333497db226be2cda5a1cb1321fe -KO = 550daec73e2195f60181e2ff02a1c931a659f1a72e5e9297e63127ffd27e43bb0dfc0761f6436d4d8bf8f27288374a5b767755c30775379d6f611b6cfa27472727463beb0431c3b3a97be284bebbbbd44b79cc4de5ae8429fe32c341fe2c5b28827985db2ba9543a8fe24727807096899538e5affbe597db2fee7adc1c34589247723c36501f49fdc44c610af3db2a30b9c49d8ec6875ef3a857b9fc3fc30138ca451ffb00f1c58a6c01bbb27a25dca59c9b8a01a45e2926e036913b2b86ebd13626d49f87a16189218724a5e5006ed8b6fe9b57c65448c130a7dca0414b36bb1f25dc6397145406bbb30635e53cff781169db74140f65f6db8796824c4824fd95191415add44508d75ec33e8919601556d8fd197004cc820c3d48bf103b3335192ce23f6cdfa23620f89ddd - -COUNT=39 -L = 2400 -KI = f578a9369143dc1bac3a7d66f13723390aee74f488a3db678e7b277672bd363b8b25efe7fd3a86848b88beaba640bbf224325e105b759bf7de58892b2c1b4f71 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7b039e596e549acd8cde59d86c2436586bfc01576d49f3cdc1d14bde191a3972920957f07e6c9ca9084dc66aa6f591578d7d88 -KO = a706a3911828bb04a092c607801edc60a4d38d7b0bb7392399a4a1f1801fa489f2ff52a90e06852b05e11c3cf28c5cd00198a9e5cb82e8d895717b02f315d87ccf6094859ea6fbeda3f7d73169c4365dd94acff6b70ee75b27583f8bded858a11ab16938fbd8121a1fea1b9c43b90cc8e43cc09e781d74439ce324159d98398b803ed3789c5394b8e853599a732d4bdd1cd204620b7312e1b61c3f879531e53024a34bf1ec1be1978bd264f1e4441e794c8c3efdac9bf6bdd4bfb996dae695c00fec159a0872b1ab11844a1dc5b66170a3b8b55309061ffbc9f54ba18e6ac54b0f64138a0976bcec32735756fc9f9982cc31ef4da8a605dfb7927ec2cf845596425f41f9fe716bd0744a1a3de3fe1fdc3755e53b617189ac6ef979aff054dec001025993635d17db86dd9dc5 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 93de9fe90faa6e5e909c57f96b9c85f1c8dca7ceaa4ea8b37cd4e0258259f28085cf7db5edd054dd882459b11b5ebf9c3b221f8d7fbf660ce66945217714f88f -IVlen = 512 -IV = c7cf0fd312a238658de22bcd3f2823191a905044f420bb04d9f25a0fa2f019979fcb8df94607419bc300528d77bceb3a4c6774043ce4e07ca305773208cdf331 -FixedInputDataByteLen = 51 -FixedInputData = 3f1a6480f05b9a767c6bb16db87e39c6f320c954b4f5c3e016faac9fe1acb5b5ff9e3f25fda1bf1b31b797f7c4a09137a19a24 -KO = e23d7dfeb0620ce845169dc294b94122fe450a03134548ba05c8dc1658609014402c140a29f9bc108c8ec1393a02b104e03e51fffb3110cde420459a792e065f - -COUNT=1 -L = 512 -KI = a4bba96fc730b8d4e30b7532869cae76af7655a0bed7200bd45848ea24dcc3114b16d17343bc302f8143215376ffe7cbad21c42c591579b39ae403b865c56e93 -IVlen = 512 -IV = 0860fc3e3e7305db352259dea37940628493d51b9b83ef9104e57e0523197bee39996a52a262e4b6a3c1af9d56687f8ccbab02e1b050ea7b1def37dbc4bee6eb -FixedInputDataByteLen = 51 -FixedInputData = a567a9da812a8e53ee0d90459775328dae986097120c69dfc6b4a3bf93faca7df93a60c9dd4bf6b6b3a2fc7914ed3cde9baf5e -KO = 96ac841d36f13e0c4e41d8ecd1e02c87ad8c50364f42de2eac16be4a2f03f25acd2aafe3c0c4b4be04935ce9bd9b5a78f130143f1a34b37b30ad801703b2c61f - -COUNT=2 -L = 512 -KI = bbf771a0ee8ca6c2416d898d01e87f4d264d3288d526d8a37311dd6d65957f5c3d388aceb88a0d7e302679c6a80089d82967c961586088b9a5f0d29d6a222774 -IVlen = 512 -IV = 9d316d96a7896c3a5f6fe2f2eb09050012c512f378042e94068c3895c40e70f04818279294a3cda62788a2ae77cc9f2911f0ba45f1eeb2c75ef58d5298465e2d -FixedInputDataByteLen = 51 -FixedInputData = 13a832d1e7b4ce7ab990e4abeace1a2e7e86cc8e6fb2c0e129762c9cf6575562dcc86180e64525c2bc6cb19747e3a24f51b4c9 -KO = f54bf9895b41d0cc5a28cd15c2464f35663901eded46b4bfd34e44bb182eef3e107a5128ce82693f034a6f2701817bbecff519841f0c0d3c7fcf91675b9a9017 - -COUNT=3 -L = 512 -KI = 21bf266bddf1608cc0cbee8261c765ab99c71b3159fe7c7cae9c9358c1c92293ae3400eb8c099027d10db2a52fbcf4ba538525a819384fe770c1e0ccce986dd3 -IVlen = 512 -IV = cddf9491ef97c797d1e5ef6cc4f386ffd05ec1725bad1106dfdec17a2c12bac9c5309f972cc9b0eeebea99f6d677943110a8b3eb180a6364163a703dad430f22 -FixedInputDataByteLen = 51 -FixedInputData = 26016b76f0e2bc633b5e4d97730d3d565180dc6c135f95a6a4f2d07d9938ca880886ed00bd062eb10d5db97de6e4746d92f7aa -KO = 161318a0e556b3a922e1555ada305ac5e7465afa26545cf199c010990847c16fab5da374101af745c5fbe3ecca75b06a1565e4aba043b9504a2f5e34ee1970a5 - -COUNT=4 -L = 512 -KI = 22d3f6408a78d40754cceb1afb678b800e47e2c6059b2b6148a42c2092d63ed92d044b605c20af597c43e14a4dbc8103ca2fa3b5dcdd0984b670678baca0c854 -IVlen = 512 -IV = 1bbcaab80e4f520573bc34c17e873e593beeaf30f6e1e387c1161382b4f29ce80546dc29be92474c432bb8707a8e72eaa15b8a95e2e76814fc00996384b63d81 -FixedInputDataByteLen = 51 -FixedInputData = 5856fc51601a76969e827f597e0c394ae958dffae8ed5cea0abceea66a32da731bc4e95a8416057b1082d08abf555b3e99f8c0 -KO = 7f70bd462ddcce4ad7c30909b72186601a184e8038685510d0733ffd46eaad06cfdd508dddd580e129735b4a32e0e0858e3e9f0db7021dd0821f9bd92b03cf5b - -COUNT=5 -L = 512 -KI = faf6d4782542cad8469028b6c7d3654d8302c22af6ef0384e9a4cbfbed9f159380584bc2fc1df6084aa8df3b862ac08ae485610ef665ae11ce7d63745c1d8729 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 36451461270f4630e27af1af9d5f78aa9bb2c145e76c1f134ed1cc56167b69b82f7c3ca5e0fab5b1a893e8d662fe7354b4c471 -KO = a0d371b6dd2ad132f4377213df1b1a204b04957b6bbca7eb959e15958f84762c723b9c02a3d153128b79d6dfcbc474fecb94e59595510c4ad8c333bc9819dc9c - -COUNT=6 -L = 512 -KI = 60e1b1af10a355cf9a38c7d21703b6faa5c8c82add614f57fcc569091b3f1cefddb628c1e01af1ff276987c32a1274cc092d0fae88bb133268c76b3ad5ac81b9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3cfe51f651a00d36cd85dd90a456078cf3289e8f955f458fb0b90edf47f8160fcb9be65bcc769c133e8333077dc75020b992e -KO = 91453c72fd1065c7812211fd2821dc07de65509b1531b61dd3ff4df6c78b31ad435fb0641fc084c5090a0e15e58b0e1fbb4ad1aee5b3d5c393bf3785dce51f68 - -COUNT=7 -L = 512 -KI = bb0346e6a7a4aebe172c4fb33bf0d1605c9abebde7528576a30e039c1f8fe5b86af6edd9617e6f1166dafe7f3687457aeb2ad469d765327783c47045c0adf08c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e07150eae6e9f7aad7bf054796e2f2500d4756b62ada32ff7c9ec8fb99ac55c8e3e34310e6a8e82332766e8b59c878a3761ed0 -KO = 7bed07d77316017f57c3be770e2cb53654a684e021ca6bc41c5a8943f715f10e6c4986de5978f4e1b5ad3d91fb1d9a00ebbfa107b2ad177f5fe0463a0deabba0 - -COUNT=8 -L = 512 -KI = ce42d19c41b5acaa00f41e9f153716e214c28ea6090f5e0f73517757114d03bab9236460f48cf13160fc37ac676e1e08d6525ccfdaffec117a531d3faeb7a6d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 716127a31071145da908dcf2261dc9737f04d35b32d1fe6c803fd0c227cd5a38a76ce22a6d8f2fa9270e9dfc83315afbe0d680 -KO = 60529fe872b0ad014d0d0fbdc083495a39831bd9713ce6b3195b61e11985859bdbc36932918ddb3c9c20de08171ecba34fba32ca90b472e44e7232c27f15436d - -COUNT=9 -L = 512 -KI = 0b4bddea226138a9139fd0d34f936f73f3ae44002d99912861cf477c18e6b6b22b473d238a253172db0c547d9fe2f5568c4a134d509008e43099a42ad77f1a1a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b1ce759013c011fbbbe316d8502982e0424cc0ff85f2b58d6dc9497251144d79d9d59baba75ffb7d8345dde848bf9a0a10fd32 -KO = fea083c1266ac344ed3329ec9dd41c4043396b5c3c35bf2312b62d310c2eb85f9e3407bd6e66ac2b4ab589ce472b9cc712d84d60542b092d6b9b5814531e5486 - -COUNT=10 -L = 2048 -KI = b838659123f5a9625044d74a813c3e6a28bdd24ac1c329cff5ac527cfeee15a33b023f115d1822ee2934b9636c4331ba8778eee1a793af0ab7b62c59a24e4909 -IVlen = 512 -IV = e63cfcd6f23de20bf790c0ee2895e15a61a6e3872e91860418597175fae610984c077d616b24ced9ede854c7c5d889a4755fa279e5eb93de0128c2aeb654a5fb -FixedInputDataByteLen = 51 -FixedInputData = f7828e1bad44a2885f675b4b5d29dba46cc2973ed3f1bfdf2524d7cb54f73a7ba9e2c2ae33f5be55acc8db5d0997b6de106fee -KO = 157f059c22c936f1c9f2d3c6588059612ce7ab62b6652cc55387d0eec8311b88478cc61da9c7fb4972cb4c7269cbec7da90ef3c1aea76698d86c9538e6f563dbdd78bb5f062ba8989a7a09f8fb1be3df2c2b984fcf61f341869b41673f28e91ade7823f952ec979d7198de654cbace101a2f76b62279f41bb7ce4fa6967ec2b72cb0d31d4eb2892d6ed073566a244a2a391cba057f97cae96d93704ce04ff9a60f51620457546b4fe98ae84f83ecbdcdf27a3bf24191bf9cb237ccc1359695b2f082753ab35bb83b3217b2d8c80aab5e5cf87981858ac56aff741560b02b3097b1d157601d54379518e93ccab8870df79d253daf84452b8a7e2947672913d056 - -COUNT=11 -L = 2048 -KI = 0d3b6638804febaeab3b0a77004a96d3c575c767d2b0b7b6bf931d4ff83f60752a79b57c5169ddd4ce5dc39b08ed850adafb4e25184688133abf6ef2f2bb385b -IVlen = 512 -IV = a36bfe0c9aa6635d53b2c1de48b216d1afcae6aa3781ef0da94b127a2bb3eddc1dde3a06c19e9aa1801b1333e0d53f272fae28725b49e68b32ed7354c388fbe3 -FixedInputDataByteLen = 51 -FixedInputData = c9072423a3a2083eede48409da9502f5059405ac90e47bb19a7e3899c73f4c51ddf08a996b61227fb1226a6db76f43026f3d6f -KO = d7d238a815a6def74f283e3d85925d765d185fe07458bb04a80fdfb0f50868951be2d2de6fc3bb219893c1901ff500fc6854d18b044a3b548d0a92444a69ce93d5c25c903ae1a214b8ffb9fb7e23276647e7cef00f09aaa1cc8d00620c9e875dbb941e423e03ffb31389d7efbe214dfb9297f1c41b9881bdeb645ea964bb0a78a642106dfa369fbe03fd14c50fd845c920363d69bd6d584e9a207928c7f1545f505e64bcdbaa2ea818e3d0eacd94b1b12f5f2e67de97bb1d16ae1fffc489c020dd86dc837688d25dc56f7240ac565e1c834d263546b983175876070a63b327583811bdde3c3517f6da7f1084099f9c794b9c341e27eedcb4ab507b6915fa3a3d - -COUNT=12 -L = 2048 -KI = 8700f1b03652d4779f88470fc1cbc6a4b0a3af362348c49bc7969a9dea85cb6956e8b905b8bcd760d2ef07f9322941ed5863c153803138f705d92deac31c4617 -IVlen = 512 -IV = 658144a14531bf79b5a4aa5e953286e41289f5307163222a4060939c654aa71b598b5663031520e783f2003853132f07d601301c352f49f3a95132b7fd060ec8 -FixedInputDataByteLen = 51 -FixedInputData = d3f107adb5ebead763de608f3967b1c4ac645a3333cdd96d0641d6f846dd8026a9d7d893da70717ababbf0932969786fafbe7d -KO = b3e0331c0cc9efc852d447fc76c074260ab2411b28ea28424b9a610ae9757a4c6576bdf31d167450e16e05a13762b1a221c8114d3ce765df3c39dd3469c630f9e2da5e1a8785581b2c685d783cd7f658d281210514b8a04bd283fa7f4eff9e20df0c00eb3ab054d50e36c18bac2d83e9a40f149023f249e3b095b385132793d2238619daf0a274a30279a06e5c806b1fb10cc90283afecd3940d1d2202e13b9e90dd252ba3bfc74e66196aae0e115cce3c854b5ee95c8e72b518d5599978a96aaf0d0e3452b0277a93a0f6120fae1e77d34402fb7261ffa251448390a7d0010353e5313fecea4295d1564a24880d63c54951726fdf7f4fa29e100cb9a7c36cff - -COUNT=13 -L = 2048 -KI = d0852fb7312a9df37ad70b1759d4ccad56cc938bc4dc893ec10981958c2586fc74b30470a3cf8327abaa81331e7a4ed7e38a484bbfe413a63e2ed57ba7d201d9 -IVlen = 512 -IV = 529af55b59f0048c14668521b12980dcd125f984c5d9c69d68da71edc128da7041eadf25f187284802ae5f8320600911bfd87549b41bd0f09f344ed48d53f072 -FixedInputDataByteLen = 51 -FixedInputData = 6e2f24859015539c83d41b44ea0cfddd90eeec487affac8d8dce4860bb34a90580174697b2827ce294e1cf0e7366767c76e502 -KO = 24e783213a5654edc390a1bfe11fc5b7e8112beefea2bfdab2e9d26b2457a866be922b4ee50bc171fd47d12077626c5ef1f6b676c1c5f96f9b0da5e142f75a47afdd1f930a6a4c15dc25c171e4f6f95cbe2306c298e5ac93128044392446f90738c7f498017f64695ba0dab857e2c884e9306bce72f913d42c61c98faeed8e10a11d5525fbf540bd6bd32cd795458a4f6c468a85b72912ed54faf2184d754d27c9393380ce255728614370431998eea73719b72f1ae85808365fd23c5218d3b8e25f58f6c68b585a6bf388d9802bcc2b10f57476accfa0f1d54c8774c057ba530ca816e5cb0c921e1c42fb4890d512cffaf75d65a64e4fb53afd903f81a200e2 - -COUNT=14 -L = 2048 -KI = b5509f1a550e44f0ea964bda9303932b6f749cd96ac3c033cb2e1faf63bf94590307999f6c196ad06a6d220d236b0847209a3c5e1dc6da805a1de4b6544d66d9 -IVlen = 512 -IV = 4c0b7f6f0e0e0807a0c313e8c727312158b9b8d89eb4d0adc507b07b206dafd0d0c6a770eb4fd501e3ed53a3fea99e9269a998a4ba642669ffaae37113946d93 -FixedInputDataByteLen = 51 -FixedInputData = 36c333c43a9324b0b3a4482c958880bdc3d1143660207f045f64847b7f39857f70397e8fcf2543eadc891353af495f0626d517 -KO = 1cdb45f12dbb7320fee67ce0d3bded9503f6900a443c709a33be9ca9b6f991c995857a9dc4e4509b0e6c97ce12ea269c9d10366df476170d0923e1b395f346761c2718a1830517484576764b51aee189e910be6e8467a82b9a9fb4e9ccb0e3b2a8da3d8e9de8e11b7b9195fd221da062d12c494b1488d801652f5ea5cf2ffe28d440e3c69e70d5a1c7f3e90ccd5915961deb0c79b0ce02191a866092e15aa3217c1c7aca91e0dc932ab4d26bebee5112369d8e3bd430a24836e90658157fced9c6b2e6c6298ae691ce74c75b8018cfae9ea39dbac210fb98761e757aaf14c551218aee7869bbcd3f141cd1462a58020c9ce019df3986bc293e78744ebb9436a4 - -COUNT=15 -L = 2048 -KI = 66ddadd3822aa028aefe1379c3385dd4aa6e34f231f690cf4ecfa8fa580924c982be84e9220be0d5eecc22ba1d0d89ac9d1551c27cbabd1b0b82a0ac24bb09c7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c9e51dd729cd20ad1f4049c31678dab36319d15176bc9a48f71ba222b0d66cde527aa4fe3938947dcec15284d26d6ae52ce97c -KO = 670339a6574cfe0d1c1a6e6c77dcb88e63c747310604105c660ded84f46569cbd459580667e35ba7fdd175e0850f85714b596d961d4008f5e5cd09fdce7224e227a49315083eff1814236b181ec17efc3c4ee7d26e5609dc66819941d8b1577fcb35c2528038ecfb62d8e92979345e43ed14437321a1656290b56460fcb321b802962643640685cd784ac24fc5e338ce76c9d1f18f1c44004375118422124d88bd27abd369a1fa5e81b5c3b4ee07c75b0db631b5194773ceb8e90371a805d7a69ea928f1318fa182b7b90042dd225c0f396cfc33ca5ee71f71dd3a75e41fff3b58cf0d699afae710f7a72508c77971ccce380581d9529f85a60294ca22f53b77 - -COUNT=16 -L = 2048 -KI = 5965c38a568505e946ad0e6e7b57be29a1963af112cfb76fade4a8aae90ea1528e6a668b3c6d20db5857ec969b6ab02e95b036fc114c6ee9c75c130a882e5e08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2bdd22f4d0025152e66b820563acf5c9a3cc88ae2513f4b918d2f4d4e4ba0edc7ed2ee88609b34bc57f05d3ddb56aec95d5c4c -KO = 2eef00fa57ba39e5f5d60dc5a13c5c9e154ebd6ddbf7287f0ae825082e613b7ba6149ed35914e33529b0aa3c7628518109cc1322e1bf8341a856b2fe4ef551f7587c9705df4a84ebd7aed74771d7b12a2a707a1bb16a433ac8fe502870d45617da115c1a62b13e1224d238167a338f00bd7560f4ee7d5218113e80074fd396558e02372d89bdb2d3ea3cb599ce737edee2cc2a1f90de90e1618ecade1b2cf6b70c3c3c744d78316f33e9ebac5ba1361729922f1c4dd66259099e0ece8be852f1b15a7891b801907db58ed64afe81328a3153130583f01ef6ed49e759516229b5f4f21a27944e44070fc49de9f53d2d521a1aaa6671d6119312275b6df84334fc - -COUNT=17 -L = 2048 -KI = 56bda3e5a550c0db3bd830b9c2ca9707d5806eddeb24e5eb2a26b1ccffd68367df8060ad35362b39bf4e1e33f5cab8db6d886c78e297ec0c11541fd811850fc1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c8e2d207966578d4e67523a5eda9629f303323380acb67ac8015ee9a8b0b8d4e548720aa09ae3ddb38f0f463cb491c856cc40a -KO = 1f77e8c58396f6ad8702f7fc5b43fbb24a6065fa605c1bc942435a73ad5c0fc1f67bad61a98795348c120f590b83b7f77f773329360126180b406e93b65ea2f6b557cb3b8aac0e40e63c877926e13d166e55cae92b95a53994cca814a12b4590f1e3f8141b3d425414ed12ef54d48bcd9d7358efde0373904624da6b3aae7ba4797a9df158f2b7dc41973189bad0060cf72656a16e52ce44ef35d22a32145ac9b6752164ca8719ab7cd547b506680e1d49271e8bef627b379f5b204cd6932a877f4476dc16af5ce4113ce4a5d453426a8b1236a6385da8b8171b5a6c33d4079bab8addd693011cd0ab85dba3431d3bd237c7751ef8c631c8014fc76d508bcec2 - -COUNT=18 -L = 2048 -KI = d8f92e6dc2d4901b8c459a83b066fadc9252138c1dd1546cebb5558c0b6e5e8281460e9bb7abade523c693995888fecb733b11cbcaa4aa5b6d53fa5bd1421574 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20c4be6b7117ad64c243789ee35383e1e0932a2aaad3668b8b4690f75c806d47a0ac693c9d2e1c0c0b3c0f9ad2274a9cc0a764 -KO = 2b666af1c928a28bfa1c8b2bb2f784d01d35a81b74607c7090de484a9c23d07e19b0edae4364ca7a797b305172af452427df0d3b7f5c3b4e44c7c5d54e5deab0ac97ad3ae01acbd5ef31a915214b63b2d964961d1b752707ed8d7c33e5375c59c87c2776b91fb6e7bbdbed5bea4954897d199209676c13161d9468012fcd1444fc75d95f7fdfc027b0df8d377b5d7610b49443ad2e2a957bba0c096fc461d8421068ba5dc55ebcd5c7b28a024e5020790804141df74021ce67937df7497d98cd0dfb93c80b88a5cd00a9dd597886fa86559c843d198c6320bba7cb28e9d8b7219941de9059a94641e11cf430647588512d0372992359abac979eb10144b4a275 - -COUNT=19 -L = 2048 -KI = dc7ebaf4bd304ec2939ba3edd36509d60ec16af836f73d55504393cc362fc29adac36488e995706764cce099ed9a0c20ce5c9d562695035159e3e8a336b91b69 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ac8691b4f061a6ce865573044ee0715da0a71aa375d344eabeb872ac5a20977a1d0f15b18dd368b86ea695af40ff5d0795acd4 -KO = cdafc70da9163ada52f2a3c94f7681ced6f46dab7901749e53cc89d1842809be71b63efcec89e18c6c42a3728d643e3ccc1ccf1afacfa5fbdae351e7ed691c6616409169ce7fd6824c049f35ce495fbdf42f7134116edd2d88c0b74bd2bbb03e00ed4a95eac7af19fbdb1ead29c08dcd5215a6c64a512f636387f3d3666418db79b822cb165b3657be40c08e62c337ea00a31d67b94f20cf691593932cceacea8dfbcbcda6a61b19428c6316c86b8ab40d32642ada785f88115780d1d0cf40675f7914ee03a1071f69d02a2561be85bcd8575f39c2e1c4cb3e36eb51a66e4f7f429373b06b3402fea6dd4aa5e6e452bd260e5639de92b8f0b37ee5a3529342ff - -COUNT=20 -L = 560 -KI = f622057bdbdc6dd91aa4073eb3eebf001c99e3ed2d7183a74c8da1a46e6f334487fa5f85e59a231c82547688a33ec605001d42c20130c6659b61744cc70943f0 -IVlen = 512 -IV = a576d67ae896670fca82496e09bf7d8b2ed97af7951ad2a982e6641ab99adfd1b375d0f706c1676e8878ab73091a188a068e554ed2c064cc57caecae7521bdf1 -FixedInputDataByteLen = 51 -FixedInputData = c4519e66577f9eb91d46a0f18734638a63345531bc6143b122d17081ae489c08aa5cbeceb7425e601d72b646ce8f4844ae970e -KO = a3057a859fe4e133c06d039ee95ac123bb451a296998e391d249cd088403581388de3377642e4eb9ff8c709756737c71edfbc401ecdf757ffcb3f0ae8f73677b8eacf0e6fb8f - -COUNT=21 -L = 560 -KI = cedec6a36825517d11d2cc99425428e48392c9a06c146f729f266633350fc150c0409921096d8ed44c339c69f372a7f82be2d7094b6f5e36b728ade3d2ffe12e -IVlen = 512 -IV = db96791e1e2ecf1e66c649d81ab82cd6622dc64565609c8419057077c56608fef96e732b441ac1db585064ae7306293910e6b2c0ed9b9d554ef2fd9a26dc0c7e -FixedInputDataByteLen = 51 -FixedInputData = 6bc0df15097826c19475c23257f5a7b1ca7be76ee97984ee3c1f2f910c3d612191f35dc214d6f8c086dc68dae3590e04f8fa9c -KO = 4555c996b9ad21d86c2b728e75acc77b567bc3c1901a120737c74c22a74c59d33b6b70c833d8cc7a19e32f3777fff053254e3064057759c3d881c7358c256c0921af1ffe3a34 - -COUNT=22 -L = 560 -KI = 8ee872b3b7ad03db99d63fd4c184d93ef86f3f560576b92f0107ab00932965cb4ab0c45954c3c1021d077ccef279f1f2a6f7926325a04d73322f25901a632099 -IVlen = 512 -IV = 993b8a86c0f009830487cba1066845152354589d1f0bd98e0c571da9eb73ec9b51dfb934914eebe78f9817296615ae1687ec9532cb5ed49aacb796e8a8a19f3f -FixedInputDataByteLen = 51 -FixedInputData = eeae5dde9253dacb907287210835786158ef87e0b3f60eaddb82eee380105b2c59efa47103a58ae9c02b15bfebe60f6820c472 -KO = 3d153410c817badb5d37d33a2475cec9c0358523a660e935854e083d68a57779e6d0febec3e59f0740deaed4cc88851c228e07cc224aaaa0ce0f71ac25e9e0a0eba81d0c0b0d - -COUNT=23 -L = 560 -KI = cb245c1dc47022843bc3bf8da67c68b9bf56f130a9bd023e234a1b04177740f5dc3e1976ab5a9c85f9f1cac1a792aab100114d9018c7af30c68aa77c926c0d5d -IVlen = 512 -IV = c1ec5c36faa39a31a159f3fd20cccee62258be0ab63b431e1077c4af7f143d3622a36acb40798f1ee76a71d2895b8c8de6c2747a84453a4df02b8332f1bec0db -FixedInputDataByteLen = 51 -FixedInputData = 828b9693f61682152f4787bc33d23c94cfb3231234de009dac394c7e73aa4c9122e430aec7798256dc71314f13f94593114c91 -KO = de1fe1a4158121a7ce0bea6744828de1fc8851bcd7298a302f636462c983628658bc20be66390f4d70effdb17ea85123fe07727e3090eead309307932d1dbf5ac56150135a26 - -COUNT=24 -L = 560 -KI = c0ba1ed4dd5fb6f74a7b2cc6c1e9883922d3a2bcfbc90d96c76f74fe1ea5c56daa111d51a298301a299d41976d46c087167a67af3e99cbd8ed131c2c50a0e57f -IVlen = 512 -IV = ba201923dbbf828fa1a3e4371087184edbfee7149988a403a7c24bb4c270f567e5d32ba1543482fd0add5b46a45a373a070c298eae33a784dd55c643b18e7043 -FixedInputDataByteLen = 51 -FixedInputData = 6e51eafbd45e5611a726ecaa9dc9ee4a98cc6a6d57cdc23783334be4c75580022441f6c96d85efce82a15e4a46dc352f686faa -KO = 5959d0a46112b4618566b576341de2f54aa7c52b57c27927b312d4ecccd7a578bd1a64e424d4ab785eb26895f75df97e337a4704b32f248bfa62a4aef0ddf1ff5b7be9798a9a - -COUNT=25 -L = 560 -KI = 11878983d25caf8ccb5e6fa4975ddc70ff17cd334e34da2919d87c6ef9b454d65fc987370296bf28f4d60b9d4bfcbce5561f8b32f0bf18832bad50c59e752fe3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8799b791a088926b1aa976fcc8e1353ae713081b6d52b0751e355b060351408efe6d3501ad3f0cc903b78d24ff111cf9e32e4e -KO = 6cf6513ea164834a37eececa624334ab1b248ff244f35cfc5e9ec9286cf4a00ab3c4cb27c4fc76490960e139b5bd46b56cc13b51cdf8454aed31526a88bb37ad5509edd018b9 - -COUNT=26 -L = 560 -KI = bba642dbc1685e4a6b006b400836c49dcc52b9fcf56d87de685d818f9433b4f012f3f47b5a69057963b5db8e9a6f92cca0e10bf77b52127ef912e308696878bf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 33bc08e79fbce380da326bff7b8ea02e924d5f9fbddbd5e87d783e4eb31ef1cbac327aa7f6ec9b99ef12d435cdd0564d5ad7f4 -KO = 0c88af4392dd53553a8ce5c63cb49c1c78492b255d94aacb3d686c2ab9728c38e82b96e280b0f2e7230a8eafb7376739160b6b889fc1296a58daa802d07fd0bec0b5d32d2cc6 - -COUNT=27 -L = 560 -KI = 06dc6b219ca3e2884839c8f30120bb7a0038240396f039d85f1ba6861d185e669a01d1e7c8b55d75f0f0a21306337bc984a959b8433df4c00eb38e307a367660 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8929190fcda4f9c3bc463309cfef2d81ddc8e68de3099db1825ab1b46846835e2b209b759d172b15f32e453e5fd04e938c8dca -KO = e64af0af8ff5d66a06d49ff94f0209a6a5f4ab067fc81f9429720e913f8f86690b8716d31950a37458bc9821c825bcfb8717f733c01da9cf2f14d84410510a360a69102d1bd3 - -COUNT=28 -L = 560 -KI = 56a6cb1070c574e33f655662e66c8f27bf47a6aa9d376d2884d81517f9f1df514cf38a4a20d63c7dac6e8510ba37bf90de409fd4738671d7fd5208d96b8ba0a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b01c15ec689390322d56d9be315f4e027ef0066178a46c9f31dbcda210bd28e6b288446e36844a95793bc14afb26739346fc99 -KO = 8a35eb4d43df44478d7e71cd75cb2c047e77655eb6daa0b5b22698c52769e34f6c9b0a870500fc364e43e0e576f016eb4486b36d2df55b2c5c1c909855201ab8e117535ea8aa - -COUNT=29 -L = 560 -KI = de98030dc260ccaeff0be09b716d9053b90559f4bd6662d2831355972f71924d36a70d736fc45f21b6d900ebacd146a563c3638081b231ce9a3407371a826067 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34f0a0f3abd2b74ed5339c2a2fe332f72b24b46bebad008bd85b523c90d2536b1cba7b3ba9868bf0d5947b4320fb27aa7dba0d -KO = 2648d956e86444b916fa50c8d43951a420ef6f0bae84b0bf0e4761a057f7b5c36288b9b9723cf96137331d3a275a139d9fc7bd12479ec3278bccfff8aadaed9da5e82da06ba5 - -COUNT=30 -L = 2400 -KI = 94e862be28b3c4a851be2887e7c698da302dbeff04dd4e02a35b7c4de100c8c890a6f4efd3260e40ae46b665c739f6899781e13ca98ede84245d6f6a3dcdb441 -IVlen = 512 -IV = c5a100b00c86d713a9b66b2ce4aa100c91c71352646c58c674de61b9e0800c0a1ae99effa8ca89d3b63aa4cea3900a43f907dc57552d7007639300638b5483cf -FixedInputDataByteLen = 51 -FixedInputData = 28bca278b15f807809edb465926c8b2199792c7e5fa8e2651f0e7b83ec51d5003ba0d2025d3c5c6b8766871abe2cec90dd5360 -KO = d71e4301b7dc32d06ebf8cf4d828cbfaacd93fdbdc0404ce6c906d9065b0261d742ba5ccce25d5f6da5f561c1f1c9e500380bfeb4dd401d3b4babd04c882e8be33b59bd03e4af2e0839e8e83cfb35e398ed96537e4721516673d65e5b3557ed971b86619882cbb05c6e6cb672442d38dcb8bf4f4f96d09266f264ee9d5091fa5692c640b2b5e2cc206b76dc6db70b7880ba86c0b3bae85a7c51bec862278d5a5da41aecdd8904f9235247d8e125c4eb1caa2185809cb109d6684d8ca28b04e900ff8341199774ec383bcfe3b7f9f5de11d47a714e625f32db75717f1f201c2b9538ae0bf4f33568ba7a013eb03134b32c78af359fcb55fc07c1b66fd1a27c346a410d57504ee2cce312df353a1d2f108018b16f63852f52cb7663fcf6f6d77e83ab5f3f6387d4542b7b7aaa4 - -COUNT=31 -L = 2400 -KI = 2f15891669ed34797f443ad2ad832667d7be06a7592095354ef1aa5ebbec6ac6dca473e196e31059c48f103a2b56c6c5d20c8f6e05f55abef3f8df451c3e45bf -IVlen = 512 -IV = ef0a7e9048852cbb59fb919e725ae25cd213bc9868abba421f8b9fc538bbd9e80b7a2798b52a73ef86f98d816a1ece0c76f493e085cd58c0c02ed63a25ff9c5f -FixedInputDataByteLen = 51 -FixedInputData = 08b7916a47a77acb362f20ce547f30d0cc757a1771380df48ff4e26c63c41f0a919e6d485ceca420d2aebb8f3137eab3be601b -KO = d40f8e8bb9eec24c46c7206237306ef3a08aad65c54ff8ff4e092da8ffdd94eba1313903531973f0306fa5c48a259815b872bf6167b6adbea281201d44f44755ce08cc91762186e129424f7cba3e6608e7c1a282a78c28039cf59dcfcaad72e0844d7c532226bc109a6ca8fd44eb750943ff569d1453c83a1d388fcfcff0690d77143e196b7a03a10c3b2270ebb4ad6b9cc2e3d0446c62b1045c91acf5cf0396576ab3a518e26ecfa92554e67b11dab72a1e1ad6d974a6589867678cb6d614e7b6b5fc8a48db625d27fe761cced5e7c3dd434a4345bfc03cb105b555777d08e90d040804395561ceb8a2bf464f1b8c44635246d3e232eba7a04abaa2dc8621fc459ed1ade48cea2a1c00a606508555d00a62298f257670a7ddfade2a888882fb15e0a01c675ebde2e3e38e69 - -COUNT=32 -L = 2400 -KI = 5191d87589e0b5a1e4a20d8492bc66171f7d45eb11e774a652e552f69da9887b9e410cebcd96985d87c029dd50b4949aa5809b8fb4418fbf07d81effe152cd5a -IVlen = 512 -IV = 4a91bb0d109d48b1fc8fa37a53452d233f98024ac92da3b71b5e80df267bb311e3c151a461d463313e80e340742934b570ccd24b0b5aa9d7876af5e252a11c9e -FixedInputDataByteLen = 51 -FixedInputData = 01d2e17e688a0749563ed1b8ca7a88a47c75599ec06c58e3c4f16d17275716f4bf500321571ccb39df8fc140a8b619831b290d -KO = ec7393e881d217c2f611bb460c34b749ac55e36020339b1e1b976eb478c56bb17202444ed01c6611f3fb01e0ca51ff908d290bbf2f00d983dfc68f815805fa4c39765f42159fe4b9f2d7c4675b8461faf3b2d4c7f03953ad7ee46ca39bc001d91ffb93aa895399e00b95615eb743f13f6b6bb635ec9275f2757cb69a7101bfef2fbdc43abb0e905ec56cd34c17990172c98d5751a83133a3425dfb2cf9508ed5089435846d6e9622ce5e8009259f50217e4552f79c4b59f02c265e337f69ecceebd059b9048b43f9b97a69c0f12760119840f52fb1a40cb1b6221c1b04ca9c2015f7700907fd6735192a545f5575d9a1081bd01ae4bbb189f1775be0a4c14e311bec869d3251e60090ae7ba89769c4fc058b5dfd787c79e2380e5000e7c5195813650d4823b5cdf8a1af6d87 - -COUNT=33 -L = 2400 -KI = 78487bd598f0f0acce27a073a90b8af94e904b0495f7559dca88c5ba8c13288e8ffecc7e8b39d0c1d3bcbc49dc152e8289536f6388b2df72248b06e24161f9ae -IVlen = 512 -IV = a9d8e770293af1626af2938319273658d8dfc2fb8c6ff73fe5c8a1895fa3130c29cbd0bf5a68e5eaf6394008f21df4d88528e33ad879119125d1d0c1673827ca -FixedInputDataByteLen = 51 -FixedInputData = 0e7624c0a0ca27fd3488ac19247a61380686b736ac1fc7af2b334e749c32e73d42f1982e1d46abb8e07d82938b476ad8a17abf -KO = aaacb2f7ef3d72edd83625f5080e2e77e2cec20db468ecad5302ee910be2d800a1740efd6b5ce818ae77ff3b0696c2e37345c69cdc163eb96fccc02b56a7ecdc27214208b67e352ad8054166c4ae4c4cd15ecd39ea1bbf8d3bf6599fbed2b950c7d48a5821b059139e71d49eccb08069f4ceac5bebf40bd90b5fb85371ee4a14ce4f40786d8b8ccde5c74ceca66c4cf0b629e76c7130c79e95f43a9d34f8c420bc41ff529c7f0110a482880cba01ee33514a4ebc0c370e2d040ce3121542a45f41da41d218219de84bb50dd8f7c37cd5c4c8efb5b86acabe479e67e10b8b130aa1674c7ab6fe5720f9c356de7337e42b506712f8ee9f99b5e39a99cfae510fd5e47ad80ec2a945d3e73ffecca59929c6df7f647f67a5969c77fcb9ac0d240ba55ec531c945ad0527eb3bdc36 - -COUNT=34 -L = 2400 -KI = 26370650eb8d54eb79ac5f186c8d7d06197b3fc54bc8cbc27ede864466dd804b9a4ed8045e60b6792efcd74aec02f66c2441f13304fc8ecbd3e6f5616a5a02f8 -IVlen = 512 -IV = 82aa9c157eca652c5a0135b1da98fb1348cc49456ae35276f0c70603665ef1a82fdf6caa0881129f54200f7357bfce180405c9893330c337b3a847d43e2159c2 -FixedInputDataByteLen = 51 -FixedInputData = e835b426e79e992df07a5221c477843f6d72df694e654a455248607b9fd2b17af2819e8fe7a1122bb504e89f5e3f5b41c997ec -KO = c85f726f3a3076a5d1eb30e06e25188f4be67722a8646756b29b89bed4fe0fb84a47c56f658848090c6e1278d2e855d508148414ef08e108c914f4fee52f154c980517a085a24f60cffbd7a2be051a8fb2348631ddd29210fd85810b745f138f42aca16c6f98798617bd89d2f88a69268f5ba195a2999d67ba5b9eca678990fbe6b10237357d5e6b4f63f93e9a1a6a50152653e6f059b4870e9cac9067e73af9290b4a1ebf96864daccc66bad5b6b8d869dd58bcfab6d28e314f28b0b490dc44b7f71f4f61029f7e24c88da313dab2b0ff34b5e83ef67c52b54a975d7dd2dc64eecd39173d59d03f42a42372ffb32b0b1cb7cc3cb5ddc0a122897eef332153fa07208f11593608c9edc329782f0859eb61030d04b4b0cec1f5ecc964508bd6bf78baaa4d9d16844167d2a598 - -COUNT=35 -L = 2400 -KI = 8c1d59f08405038dd544aa896f4d4bb070b0e1e9d998f71b01680f9686c99f70b07cd9d68da88c3c48ab96048132d6d19b7d5fcea2ff6d1ad81e836691ba7e54 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9400645d5451782586b8d86aad1627597ba4753c97693c70c45e414e00ec5635165434fb1115c78be12b76023a8c3394004344 -KO = 68e153e75eb4e5996dcdcaf343132d09447994ec241c790819ed7a078a347d7e1f99922b1c51541408b06048156c5e28d73ffdfdf9cec2dca720c8e7276501d8c98a47069f8cbdc4cf4a0b5c65ff9ba6e68093252d4a1e45c8ae8cc95d2e33997586a1c74f8d9a6c33aed72b7eb8a8c80732d62d7f2ca27da7c2379d924a3788d9234bce843603a8db7efd1ed5a989a5c2bbd3a2a70e5efe3c9568aaa9f90f82c455c6f71b3a934df02aa0cdb9a4670ba3d3fa006879d245168f34fc1e5968083260f81e0be00530966f0ab28d209a76669141d73555ade9d5ae7d63de19e8bc2b8535d35b60da1fadf3a3656feb5e458c2530aa5d9c16ffc0be6070db1d07172f1110b1b92ca856ec7f620788767aed6a27c47959b892fb96b66c46ae7fc713f2cd061dfbf0b7427fbe3f7b - -COUNT=36 -L = 2400 -KI = b81749d17ccf0709354d0d6a8fffed0fefe18cd1dac62b9349381a8cf6a4330932fd3e19f3ae6c8aa446eb5a1608b26286026afc386e041c12f91143d2cf6eda -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 627774f89253b0833c74f5b98a94a8751936f711a9590ac76608dfa1cec1e6599bef685bcf4efb099432279f1a365b52b95663 -KO = 63065082c8d03cbac6d3e1938d2eec3de74a97089d7462a56a6815bc542aa076f6501af34c055dc447c856d3ecaf532af653634b282afb34ab5523ed5f793a7fd353af02b99d33650a15154fdd1e82a96c7b159008340fa97da73469440642969004aba96370460552ce8c1d7a88b48a7df8f738e9db43233afbb7492f3475f12ab47175fb4695ae83f904335c4d6de5c4afdbaf0dbbef6f66fd9839ec7685720e6f25fcfb1585eca162dad62e4fae0cfa15cbccabd1d6fc3490cdede7f95c8cd64698d7727b41ba2bc1281131909697d92351d1d9db44f419e6f1a66e3a947db16252b7a02210b124653fb6e60cbe5132c1ee56d46d235e30fd13cf810e4ad0c73b865ef00ac5a13a335bb387bae5cd709d3dc383bac6e8a63341eb69b3ff6071db92a743d39b5f16fc91a8 - -COUNT=37 -L = 2400 -KI = b421bbbc99c05257ab14bab9a17df2148da591172f45c7a073ed263b0d7d6690915533c5f2f16180ed3dbe5998072f3684597d106959d5378444ba832cf2c88c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a54ea668a8d5706bba4cd904247e7a92debd84e5e37352083615319de9bdb8b9e87b9cbd29dea6df9a4f55feb8d1e1f24266b6 -KO = 02ea3875859622d056de5fbcb3d94b71942c4197e68d92e0c1976dbb65e8067b8824700a1070fb8cf1fe2cb5ff23fdaf56db78757524a7863d60e696c1d015a6297f5a826c6d5ce9979a54e6d838442bb06a3d5f1691a21bbccb22fbcc8f94ecf89b2ce52110069804c277aa19ab12326e0d314f7bda9a5e98ad8796364feb67571059ba0f50e5950b1c03b75a47887cbfc20bd81793a992739ec19001e8f8a087d231ca56a59d3f8fa83db05b1033f09cd47be68462e93c7daa0cefa7e6e0411aa3a9ca2676bdb30ac24c55a8ce5ad93f71249041e3ac00151db4cc28ac1cdd7278f2d1804db2fb391b413a5fcd76d6d4347d510688d9b09cfb18a159a3f73e25f1fbb20f1f3716e8fceb437508b9c608c154714050fe7c4e0e185da7a043bea1b568a48da5805cfc1299e5 - -COUNT=38 -L = 2400 -KI = 01b10926da3aac73369fd0d1d370335e86d34ef8f30999881067e88e4c2215148389fa47ab20a63c4dc4977cbb3aba3a94170d440b5c162f9ef0282bfac449a3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 51f14af7fb506f50dfec407c85dc3ca877f9cb74bbf907984ef962aa9e2f7707a668664e4d7f8044c1547aaecb159f10175958 -KO = a4ba8a2b1d12e483095023587695509a1df3db78dc789a7f97cdd2803a9880127e527eebbf008ad80b91d2749d4adc7b6f3df0846561f5ee238a0066c8042554f61b626a01680af9f7ebab679560c34845bb87b7d5f5200bc1bb29490b677436460ce68b180630bf3d1eb6cdd3fecec34b6b558323581aef1122f13c39236961eec2e0c2d51175a8e0ccd5763db8af86c5cb9c732e9f3858fa7d46198e11b7f41b03a1920708789ad343dff21eb432871382e2f535a3e4b2ce32f7c37e8bf048806ec99e6d77ccb94405c841df332fbd86cbc85bbd21803bca1325da98d5ad095e43ebbe180c72e3768adcf65f18d456a0085b916dc02058f5733092fa5b40eb52541ab7f02fbbfe11854969a58414af5df1e0dfdffae6ea96a034ea61af026f8771b0adc8f69445510670e4 - -COUNT=39 -L = 2400 -KI = 76452d49395c4b3bed1ef36e30aaaa55a71ad19836df6bba8168656b2ded8e06ba66c84f1de86f0ec6790027de5e42312067fa4488493ad1b391f4aa30980575 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 437dfbf55926a517d10c182583dd5748007c4336e4389b66361ec6533673e51feb53883f3baed3a718446485f84a3199f927bb -KO = 2dd730db200afe713335acfa7a16c85fb62800bff3f17c38fe8aa039410ca92a5e2923b59f382c627658d97728637b027a8120d6c1e699327d2cbce672c6ae20449ea0ea192f616b97bf60afa0806e880f684803bb3ed7b78345bfa8dc860fe7eb17365565e92a6bb9d65ed786f6047cd364d544d31e6e1346d41c9792c0f7f398de06840d750c87f5c12ecd80d2ce19491b0d143acea7078d8ec19007c9ba0d161bc796c257815ba0dd7b9c1b6968dc2c1bd4cd46c812f6c984d0f2d33f594ff06839e33d3b8f57a59cbdb6ebe1464f24215471471b097aad5fad1fbeb8cb05ad98d73c1c5f688f26b99a4196a387a9cc52c2e0a746fd0fe12a39662ce6bf421e5426dd69651e266187d438866a674e5257df2b2300ecddeb0bb5637e86e5094a58247969a34f521b6e4103 - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounter_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounter_gen.rsp deleted file mode 100644 index 27ecb42d6..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoCounter_gen.rsp +++ /dev/null @@ -1,3617 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "Feedbacknocounter" -# KDF Mode Supported: Feedback Mode -# No counter used in data -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 16:11:38 2012 - -[PRF=CMAC_AES128] -COUNT=0 -L = 512 -KI = 5c996c922f65de97d4408373229814c6 -IVlen = 128 -IV = 28dc945cb8337ab5336c3e9b5bad21c7 -FixedInputDataByteLen = 51 -FixedInputData = 62afe5fed91e797221a854336b0aadd8a05ad0e3c8345729897b2efcec5a1178a2fa4c063007b67a7015e0d6b7271ea8d86b44 -KO = 88a9aae193abdd3fe8143bab66014ae41dc2d12ea9d08f5871588fc5d827924eb9942989d7a36d4b3b107997566472cad5942bd13cb5cff32b9dae30f1bb6300 - -COUNT=1 -L = 512 -KI = 5d1e2dbb809d6d76a57b8484e5e721fa -IVlen = 128 -IV = 6a3fa8eb599d6df2a20c79006e462f7c -FixedInputDataByteLen = 51 -FixedInputData = a167cce253e867b7beef8f59732fe56ea0c842658703b03a22629efe8c4cba82f80031334a748efc9b4b686fd18a88f1b565f2 -KO = 31e9fc2120717d810517c12146d2cb04bd9a75cff426f2049329140abea2402192632771adba14108867f3298dab413d5d0bb4e75dd6623287cec34c543b0aaf - -COUNT=2 -L = 512 -KI = 76130b6dfd9266c39d5edf2b9da93ba5 -IVlen = 128 -IV = 20d410d5cb680ebdabb9e4306ea42e1b -FixedInputDataByteLen = 51 -FixedInputData = 585de4de2e57819230d41d7adc87c2697afcb3881c1652a15082cde563e120d64dc040828b86286c07c290f72d3b03f71bccd9 -KO = f115b6566000e87aab2f73b63d5d83b5c5b872b4dda001aa85fd8ca90bc7d1c9ceb7822489b72364a8bb1f427f83442773df0205a3ba4d605c9c585a634cc7a4 - -COUNT=3 -L = 512 -KI = ec9182e66331ea20ea1d8ad18bc0bd55 -IVlen = 128 -IV = b37995f511896899a1c44c07c992ff92 -FixedInputDataByteLen = 51 -FixedInputData = aa485407790d707a61f5d26d2360bb5750e3b7d8a78915c200b690316ac4570e2e0beafe94124ef31a7ee1f16c7ea9ae608eaa -KO = 58812b165503d9caf1c42d3820e766c42fad208728b7ca41c253cebcf25425746892050173984d187e16add66b822667dfe67d1f133fa492e162d1f70d9342be - -COUNT=4 -L = 512 -KI = 1ba971d64e14d4320a22566417979cc1 -IVlen = 128 -IV = dcd5762efc97d4b1cf026d296ece4810 -FixedInputDataByteLen = 51 -FixedInputData = ae4f8d7b28f2d66346f385a3a6b4121971c83df88c866e23e42a6d72f25e214b16c92ff1cb9688d6b3fc6c749d3ed47ebbe6c4 -KO = f40e49d130539826d522e6215fa643f6f68161b592b96ced57b1901f9f2292ce04f9080539a64beb04edc075a763367cefce784088472720be6e14c5b0e74c5a - -COUNT=5 -L = 512 -KI = aaa7a1f04e701fd35f445059bc062ad6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 932cfcf8e62d03794dc58cd90b9fb9498ec1309773e4a095edc06717c016eb858a7b1e7b828c3639d78bbb8bf1381ed0c352b2 -KO = dea320c6cece7d8dca32475aa91ad39ec92ecac3b16c0eea86d69561434c9f41136333bde3f1d33cfe9bcd9accf14284dd82ebe8fe083533f44f490565583cb8 - -COUNT=6 -L = 512 -KI = f41687d5d41f8a3b83b461ca7909f170 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dd688185916a69e8c35f47f901b661a9764904f98c4e424b36f617f8a09dca3a6229daf3442ae50a4f68fd5ca15fa70dbc752b -KO = 7de68d8c5f43df2b874ec7566879971ecc5ee61d8c56e8557ef0655567ede94144b20c8cef4528ee8defa43504448c45b4571fdfb069cdfd845564a8b502bf11 - -COUNT=7 -L = 512 -KI = 3a139e1aa922d3373b2674e303a6cc59 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4d91720a2cff429fc1c0b79e845c5029b3c9535935cbeee5808dea82b8453ffcbed8f54e44500fd82ded679f843c569297ed82 -KO = 2c9b849dc36efc1aff45030cf2288eba71faf176172a2688576605bc5f4f66a95850b096c2f9a4416eb743f8d14f8ba4cffbdc3174f63ca861765dc8f5dab59a - -COUNT=8 -L = 512 -KI = 00eae33b7d8b65ad784d73d327c9ff5e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dee42e04b07839b4d221cd679a5eb6018576367d11fb08838902820e8113678194549a9ba8a605f12b3af877925e0f5ef2ba5c -KO = 295e7aae0dce56d54daa9ade8030190d066bba93117355707fc35e551d7a1030d250ceac934ca4d54e1aa5008b5ea9ff60041b21c4236fbfe0133f196d1450dd - -COUNT=9 -L = 512 -KI = cf955fbb383a93d9619db231bfd6eb50 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ff436405ec24a9cc0a01fe62e749c73ff92925f81816bc95aa89e6d30db7c60bcbc80044572b2223fc207399cdff078043124f -KO = 7c99903b4656bd3aefc2daf70ae0661437e6300cb756d9c7c47e25250710032c7f66ba7ae046d4f5574caa7dd9fed3d65c76af5337f297b8685924dc8b0fb9b4 - -COUNT=10 -L = 2048 -KI = 45d3a5d6bd09e05ebad4fee7b8f703d0 -IVlen = 128 -IV = 57dd616aa8a56b0194e6c8fcdadb785d -FixedInputDataByteLen = 51 -FixedInputData = 37693d589d1e774dfc5aecb1d54a335942a5b55dd21bf7eabb113418eadb6aac667a092abc094738b311c32c28c678f46fb23a -KO = 3a36811c31898121f6205fff7b895c4ad46e8e63423fab0fb33dae2c6479af23d7d9b6fa533a0139262d44e0d915deb8e24aeca661797baa74d98f5b3a3375298738d4d0bd901b14c73acdfb536878262198aaed6aeb1d6c16a56d6c14b600d6f48639ae7bd43b2cf9a1ea5b26e7b2100f51c2c5ea64295140fc58c4d50ee5229d28c34746818a946476932c6373e477847dd9aa011676cb5425b3585b86966fab954f52453f15382a1d7df7a403865baf730965f503a7b7d6546ceddd18a6d35491dab42f320bf7d6516a1996ed9c61bf2bb951370768256a008f61f180a3b820354c5bf724e737d662c4f7b8498efa2df45e07a93e378b51cd99b4855e9b85 - -COUNT=11 -L = 2048 -KI = 0c1ac1ba78bb753dfb0e191ec561dffd -IVlen = 128 -IV = 34fdd77f01708a6df227c7842c444545 -FixedInputDataByteLen = 51 -FixedInputData = b643b0e16c4455e5973bf9360cebb66ee2be5a13cac9dfc4fd4afec3c9e1a359caa62b9e0299f765cee853fc0f7dab6039ca1b -KO = 07d4fd5f9f0c14c067b1ccd7ee3755b6c17bc81a3f2e93a9b82a3f8d3407e82098705643cf9b310ff91a97549cdd6fbed4a0f37b6c76b2fe76b727d4f5a6f3299f472c7f37d85ac2c7e5e64bdcf01ec08d65e3a16658b3c850501507b4b2ea2a1f3059e871b61c9c1848a8da9dd16ea3e75cadd6e419885fa68ab474079a527676ecb280679b1dd95cf8966a8739d4ed05ad676fefd821182ad7e553eb1cf019ba4af7030f74bca0ec222806f00376e37152c1941d89df51c3f0f887b0dc08efc88a08918320e000016331d013886429caaeee828991e26933dee11c1382f30fcb293b44c830472b6a087f868f5ed0055d36a0754a8c2f6d1f649759edfbda26 - -COUNT=12 -L = 2048 -KI = 444705fc004902ae587f1468dd8037c9 -IVlen = 128 -IV = 65f1a1e624101a22121afaa1667e5efa -FixedInputDataByteLen = 51 -FixedInputData = 61d750418c17fa68590386e88430b195ff61b6d16b59c57551a4aeb9e798a31e06f07a4b90b996eccd150cb91265bebbd7223f -KO = 81c2316a4cef68d0173dfbc0ce63d8ec6adc8862d40afeb00378cc13c6d5f474f308413abfdba7c48317de4628777e2ffdfb2ab75a937391a4b1df9cda192b0557ad8976fa831ad933208f5637207a70a8d94ca48ce0885fcdc66ec52b5fc6f07e2f1da5db55557cbab646da7b4f4264737341aec747e1aadb394e30f7c58f16713b72866c4cc4ea7b6142be17c4617e09befa0d974e040207485fcd6e9e8ea58bf9e83cdc196b828cfda10f3a7fb36b7f68d358c928c06b35cb07b378cc2179f7946e863c81ad80625787bdfaed563d850a76fd12960cb318f000a658f2c34fa490ebd57043219eb3957ded385981fe329a4b96ee7c60f923e027738fd1bbcd - -COUNT=13 -L = 2048 -KI = 9b29deffdce6b03b96105f80565c674c -IVlen = 128 -IV = 35839b2d38b0d831a4f9721ae52bf8b0 -FixedInputDataByteLen = 51 -FixedInputData = 4e07974891880038f53120c7da17e3d4b9de03278c99e6265352bdb16336a8fae175f2bf9e6c71886c19df8b4e5b1973494811 -KO = 6e7c866f1424d6c95dcfb121eb26662c2f8ce302cadc6185f82b3ecde20d2a3f63b8abad37ff6e3a2d1d3e391989666465e7619f5d0bd207c82cefca48fb22db34031d5aa98c99aacdf2364eda21f3eadba17d96e60a1832e89649d555a63b53ad7535c6f6409b494091fb5afd070d3f578a759d1afb84b48a309951a99ff200cdac48e138da6e7876c8204165159be7bc6525193fc5e9ae1be16030da09ace606365bad88e507e97d5336a2947ab50795dc39816d6a2ebbd0d1855584d6ee53d9b3ddc88caa95da562aa80ea69e33fe38a188d7f29bb552b03d81698df120ede3d369571fa6fbe114c7160f76950c11091d23c3f8eeafff6a3e84f6498d96ac - -COUNT=14 -L = 2048 -KI = 08df23228c37da939e703bf64e26be82 -IVlen = 128 -IV = 8311e724ca0b8fcb0cb78055102b44e6 -FixedInputDataByteLen = 51 -FixedInputData = 9d3bfe73809280dbb99064aa00b8197510160bdc4a4861675393c9dc332fa4f60cb7bd0e1e3d7f360a56d2cd99d140a7c3c402 -KO = c4efc58a3ded3adee80718a106ee20f807b0f3c6c10eceb1bc8c45132b87816e06d2ca00a08138d85e71d3c5a9c15fcb442c748c0a9c90cf42817493324561206640cb0846ac3e660664824e5b451dcf8ac2f96eaeeae5e269552791e8b2f4f8c82396df8fe7d86f737b272a06e96498fedaa0dac4b6262b2198d66bf2274011b69359765c1c21df16a8617b49b307b00fe7194db19ad7cbc50d229df0de543f0a43e74d85166e232460277efce1b3ff962c87301dccf6e4c11c074efb924b8847070dc8ac75ad2992b62c75ebfefdffa079845fee5852f7e58defb02c2213fd333b8fa470476c534279240409dbf4bdda1393235f6c97ea3b7fa46b1697aa5f - -COUNT=15 -L = 2048 -KI = fca8e36c8aeebe50628dcb7b112d9560 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 34fc0ce02a9ce6da6c4ebe0dc3514b9047306e625e466758cabdcab51e2532731d12cfad2877fe83ecff9e4e2faae576c76fd9 -KO = 12ced8186270fcd8c1bb93f8f20cdf9e2ab2b358e1599c5fd97c8010da7febab8781c35a14db86238a2bce9ffdd7dc37b50d9ff6adeab6c87f1281e1eb68fa98aeb77a2f95d285a31a47bd5c5328215c327a93e49881043bcb6f8dd89548facfdd1bc998e486ec2f1e10c471be4b1ee05502d44217454de6626bb505119d179641b67a5414e6f9bed78917a0b73677857b27e783f5010634e70e18b5572dda9c67fd1a325c85f8dddcb3494f060110dc5f984c3a159645e6efe1fd2e1e54234dbd58094317b32f19f1766761ed709717107d683de33998befa41dd3dd9db280e8c88499520ea55acfff0ed5ce70fda026bb4805b0ca7ce3c27ae7f537096bdaa - -COUNT=16 -L = 2048 -KI = b31e0213ca0d8b9a8d1e17240952c6ef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fb120b55b87437396ebed66c10c7cb8339506e6545e1947427e09c2ebea94a3fac27e2a7097c92e51805bb9719a31239a8fed2 -KO = 139bb5f81ff15bd260e8ebe6f3f43d3321ec39e3b4013e5c715614c2107d240c44778284071fe2aec7d1990771a8f95e9f12cff0155beb9cc2b58a3fc77b7b5b2a301d6b7d16f205c461e3288c7acf193b2dbba40e4363d606a13d9e0bec9abf58274e2ac144586884a7d57b7ec08febb602e9c00ae05f3dfeff83c6c434ac24a8190e25a1a72042602490df0a72f2fdd876c04eb010a1099806d83473380ad53f37689d66f6ec6af05e38daf3705fe99273c4210b373f17c8b9f2c220687f7950b532da9eaf594d7a8a8d8d6781de121b95f0f682853a45b4bae2c0ae13e3fe4fe3c643ae3c00b9b0c43985ec5de38482fbc4b98871b8fe8cad9af4663522ab - -COUNT=17 -L = 2048 -KI = 23c2a77a4142069b104cf70a0cc39ece -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8c089d30e270d46fb7bd5fdb474471c4099659ac8b19f08c508a91d8691ff21a12b1e804fa22bd4808bb30a2a5cab8c3a2d201 -KO = c8a6f89968c800f2fb5950c53d06644ee69c2e4f06c52ed275b25d96386da7676400ac0926d3f4de88e33f4c1b454ba098b7c1bf371feea649ae1a23eaa50755068625cc8149876aa60f48b48205ff39258a08a7ae9acd8f9b8dba443ebaf081d3dddbb9e81f548f1d88c151bdbe9d810879f903549fd8975abf0a3e753cbcd4fa54e5ce4e673f89b28a79cefd5ee1b4d28326262a627d86ffdbde5f71501838cff59274a34caaf9e27a4be5505136f8950361becd024b3876cf042243a1ae2f09fb4641e2b5f0f45cdedf237f616caf9f85b847d1268bbfc0d500932c19c08bd129353ba4659c7057adaa804dd39fcea8379f5bb78cfd68a97857bbfb9aa96c - -COUNT=18 -L = 2048 -KI = ac3907bf544690b94518c616002c1286 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d433d6ede6f7e258b4b3836af40880ff8fde5191cddf7f70280baf447ce03fe966a2f7d08940daf11fd490702145c9b6e0355f -KO = 5b82a3d1b8fa90d11a5d1a6011c554e8e35bc96a609c5747f2cb7a39c51ef3fe9d6ad23c46d1c9407e0310c1b5219f14ded71e4f37edfd54d084a13b09be86cc35d680b14dbae1d351878ddd2ebf87fc203ab5d92239898929eee71ad9541c73fae57e274275fcd486eecbdfebcfe32d82d098dd8b3648109f3f016ed1ccc6fc1521531c604e0b13194d48db619e42cd66d44487656b65d943913b19e47380b61d0299c15555dde22e3a57a5906f2af5bd770b66907e661514b6be8d58174e114e700ecd1a0c6f1619c29b3ac05ba445039c65269997080d15b144982eba57e1c620dc8ede507eb60d2059cb701d9c54b7265e7c7053ae52e9a06c797e4722af - -COUNT=19 -L = 2048 -KI = 611114e81528f39ad033158f85a28aaa -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a2b6cb9c48ae5fd26da606310bbb1f2858266c9f50cb6ec19acc88378618f1540b7d9d539058431ecf6385171e2d9fa090383d -KO = 923f4bb9f77f501efac7dce99971331a1a21fcaac8d83649968b79a9a5102bd9e9dc6ad651e6e3653b26bcaf2cb33a6ecc0fdc1e5ece3918bd3798d461ef454a0141866387c0997afec6c8e226ed4096b4d15e66f74a72b957eef92ae2fb2b22362cd0c8a7b96984b78747ba31051e0a3ce0e039f187f247001224c63e42aff2ba47eb6f0a5d2328f7dc6b8c6d3c16a9a7b0ad92c434056073dd55be1b778afd67a2a3ad0c8e50810c3b990edc603825fbaf1c1d13e2a8f2f0fc779cb5b56de0132381a2243fe61f211d416349541ec3d495fd2a67c3b6c36a3023df7c3951b46857916fce8a0bda5cb2adb8929d7723f6b71ad36b9d4a7ad443485b7d9dd0aa - -COUNT=20 -L = 528 -KI = 5d091c7d5e70acb9a24807fdd4f6305b -IVlen = 128 -IV = 2349167730a8fdc33e2c4ba9baf33057 -FixedInputDataByteLen = 51 -FixedInputData = 7aa011321547a61d6ba0b2816c9f5b6941d8aae921ae7c955ec88e5c297878cb40490028f0bd94d2a69407ce995c95766b0828 -KO = c694e50ec053a637383bf04de74851d3695ddd6283892b5ae847d73fde5bd51b26426606badec215f1b14b02c0d09b8070d82fcae629850f81030997277b066163db - -COUNT=21 -L = 528 -KI = 1bbffa5e126969f0f447088e9d8265c3 -IVlen = 128 -IV = 2656158de63b7c538f0d64f978e7a468 -FixedInputDataByteLen = 51 -FixedInputData = bafcd0b09a5c0e3d3b905bd7aa9319b4270e5edec9fe84aff30c736b563e7214eac9ac924942893b970e4bf22f643a82a8f09a -KO = d2ee4dff2e4eaa326ae7e024cf900a2d99da880c8525ade3c4aa7b1ebd4a8f0bf981595451c7b0615cdbd6fa4ad90c09f099a19f37ad20ca1eb87792b332da71ff19 - -COUNT=22 -L = 528 -KI = 03afb7500a834b959a20df89d1c552cf -IVlen = 128 -IV = 8b975d0cd55f161a96c83fc05dd71eb2 -FixedInputDataByteLen = 51 -FixedInputData = bc50b5791b6da17f9d2a4f16922c4bce3bf763fafd183413ffd596413de4400d9960335385044bfa47c6b2f4de4b7cbc90f176 -KO = 318fb1b3a251fad8cb1b1ce89903729fa96b3331559dd8518785843df9d760f09ca67c1d1d530d9b2bfd4369ee840212cc1b3ad76632797473c29f9be0065f2b0feb - -COUNT=23 -L = 528 -KI = bae28df948152f201918da6a8e604d18 -IVlen = 128 -IV = 78ee082952d855614c829d0d23eb7949 -FixedInputDataByteLen = 51 -FixedInputData = 2cbb312241fa3e0f9f28aa8a9bc8efc95bad1411710649775de24d004408d7e551a44a9782c647a2cb1c7b99bcfd3c88c58cd2 -KO = 102529aef2e6caa38265a5f8b9609e70c03d99eb40c954dcb2b01d755560825d40a0b4082715ec1e16ae965df5c993d9a701078bc65a81bba83928d7d2928e715d06 - -COUNT=24 -L = 528 -KI = a7c5f66de6861ad5944a8d01df96b0ce -IVlen = 128 -IV = efc3b718b8ae6c73853ce2dd877c4ce8 -FixedInputDataByteLen = 51 -FixedInputData = a1b3f096d2f19fdfc26445242ef377b2c88d587768697be4a83d3874e5b45941de4a6029aca06792ceba116e3fadf6e01fba1e -KO = 6cfca18c8a00a795dbf05ba08ea469daa479a6e74f776c9d1d2c4a9ee6eaad1f42177b9494b795c9a50a8f3e37a02544fa02ea378dc2c1eb648949bca055678adf94 - -COUNT=25 -L = 528 -KI = f603114a05cbd2752456655e9d48839f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6811b708ab62783684a17d24c9c7a4f8b5c2c724969dcb653e57abe0cd0010bf35b57ea8982eee6e360f523d95a28de0a7773c -KO = c68d1e97b8f08cb14eff6486f77061dd7b07c9a56258094fb21d4d67cde2e48825b43a0ef326e8f21cfefd623690415507af78a2e176d6f4701e6d866f04a5e6a54f - -COUNT=26 -L = 528 -KI = 8c2fb3a09587cbb2cba94e3194239bac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5173b17a7899d72a636ee0e7a1c9bb0e3158d16a764d940bf77db156fe1185be0bc1c6853a3c898295cfb96cf2f3483457182d -KO = 05aeb2bab14de0254944ff1091c3a76ea7f496325ec4d8ce387573f9ce9ec255e7a0c1986d08a36a28b83a052e1981238d16cd49f5e33217902ce9366e49fb99299c - -COUNT=27 -L = 528 -KI = d953aed76c1bdbbf9372a37d85456047 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 57e3ef5a28d01ea3a47cea156301853a22bebed01fc126479de47de614b75ef57fd31277a3067ed7db99dc5e3ed531548f7991 -KO = ad23780e3c14950c66c86552164c8edb089aca3a656dee590fb5283a5160e0c55a76a2b951d4d4740d11426119a18abda0bac41ee527a328e2070dbefa9b2abbc655 - -COUNT=28 -L = 528 -KI = e1c37467b0c1ed0288c9ddada740da70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b35af7344fa05d6262ac7408b28223d74b4737e60b90934649d6d433a9298296ede18e8f576506edf23d8eccd6a6c71c1ab4a1 -KO = 7cad766d730416cbe06cd77b0d764e1a3d071f8461f777173d4af881677e328bde4bc63f1b4d4fd938ba983b7f120027adda0ef12dff3cf89d2aab5cae7d3f620b89 - -COUNT=29 -L = 528 -KI = 0efd096e0d04afaaaf94972788275d7a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e356dda6a7e0e85f776c8d4e10a37f06c1a331513390e91385736cbc661c6f2aed5c4dd83afd1d7a429787b96939d3d44f4bb -KO = b5add1acfbba73286f37e848bf5d7aafe12d529528c626b4f3d74546451a213d148957fbf43e0654103419c07f8a6fa8050b82e4e14a4eb2def0d7347fdaeb588e5e - -COUNT=30 -L = 2064 -KI = daeccfb0be26c9f107a245d1d8322b1f -IVlen = 128 -IV = cfa5fdc5b1578a5c5580d5ff1d828921 -FixedInputDataByteLen = 51 -FixedInputData = 800f77ffa4a9a23d53cf78dc9b5b4277c02fb35243242ef2209c2fb3f56469976546b80749c8547c7b65a09150998a1594c733 -KO = a1639a9d05a03a19192ef00312985e0507d7753210c489830e558a4864c066aa8a29ed5cb06fc0e6ff1fa9f04ffd456ea6a1b537fbdce8aa2220e4c59a149a4cf6765a3f45a6027cee0e849605fb3b26241f12e33cc3fed77a4e49e2c492e0879585c417261d2a2885afc2b6096be01e9103a5c951357f2f50abdcbf682cb09714b500050d4132ebb47ee1112bbca6a3eafc1471788218217c2206d805bf318b5ba14d3b345042abdb07eecbb36a3289cc0e94fdd37954f6323b7ecf1a51bb9fc986bc52c4ebdc97b8fa32aa6dbd95cdc5cfd0ee1a8bb86825c22c60fde6cf4da08302c5e6356189d5ad0de5d01847109246b81d1a6678088ba6486fbabc92c7bbd7 - -COUNT=31 -L = 2064 -KI = e976083326b0c4568e529a072e586032 -IVlen = 128 -IV = af0764840571bbc3b77e1a55ab69f4f7 -FixedInputDataByteLen = 51 -FixedInputData = 711b09c9e4ca0db1b9cfb050c3bb348c89673f3f7e3b5bfeeaba6ed673e7c103265f5a24be9ec2b975419ce3c9892ca1a7e030 -KO = 58c83ab6912659fb13f4887bf7d31b85b4bfa9ec712d5181763030199acb227652dffa73e38337480473c30b90cbd24a8f71b7a5a77f50cbda12d4cd4dc3c0b555211930e4dac010ebafdaed669ec7a03e56a636999e42e8202278343c30b2a3c1297f27f54b3c1093931b98f1398ceafddc6566ba514a14ab15fbd7d37cfb2b016007911a11c51937c479beafc2a5dc20c2c62383f2445878d93ea473eb09d97d4ad07f6dda62d8085bbbac6f0d660ce53c0669e89a4f458587ce29b00cc0435356a2234e40fce08abcf1e50fc92f46bf3a7e22ba1e1f4bae1fdfd2f251d9e0ebdd98015307321cc478c0ae69cbfd33eef0a79e3b8c87e2525831d2dd740d3a6c2b - -COUNT=32 -L = 2064 -KI = ad694e02067c507c89bc3068f4835ca4 -IVlen = 128 -IV = 8e123deb8651e72f4d643a534c3f4b56 -FixedInputDataByteLen = 51 -FixedInputData = 5b6b1cbef6b41745d99a011595faa6c274ffd95cea919bf6a73f32603e99f9b7c414d1ad29df5d6a72957d478a193a6239452a -KO = 9732aa072f54bab6f56dfe045e40c26eb5e570894a0a95a20c23e6a7b3aed9eb7a453654197e455483ea423a89db1ab043451d8d20b5cef754f067a5a4a35e7a2ccee032860da7c782acf51d786169714a770d7fdee13ed6fb8986c58420c80ec12990acb610b86f2511224e98730835bc0d7ad6f8d6c2fff0c3289a67a1ed08b40adc7a28c9b835959183cdade7114bf7663be99ac5bba6af828f844a8edf93d566ade19419bdd2ae1271259f85e9ed532795338ac9b77ba9365e00f7661c8dbcdd52ebd5e90ce4b75cc972a04ddace90af9bb7e1d7c4a27d089d99b3434d58d4fbc065aa9971d55a5cd6b3b4fb073e052b205c69bb2015546de3126dd881cdaebc - -COUNT=33 -L = 2064 -KI = 97c623315723242d5d5f995f40cb5664 -IVlen = 128 -IV = eb0fbf037d7df6269e3e346c5bc17f4e -FixedInputDataByteLen = 51 -FixedInputData = 494cec044a42d90172481e8856b0be5c3b4489bf95e5dabd177c3de8cd4fff05f7686c6aa9c22379962d15d6c659df9701de1e -KO = f686d3ae35bc9426576c9057c7426ce4ffabaeafaf0a8d672022b3ce756fa07855a42d60ec7b06c1b4a98e0d9568521b1fe232a28c3839d470e9669fa36494b2c341c1c14b13b328ed8e0283a230edd8a36576f059440bd277db59223526a6e5089bb4f27a2ac6e0de0bf03136f805a521e1c906f0897e96c8acea44af4e18f663933e7cce968d8c6b16d10a1446c723c98d46817c4a85c4f0bb38161401050d1dd9adf8ca041b4f9cd5d625e4daabad54d694ac81a626df70f936983408fae5a026b7863b366642f3a06fc140e2fc1fdd83f179caad5ce7864f2ad79435b76a85dfbb2c5ded820a1c6e01354bf028df19926266375b06b95026b9f36f0c1c87baf8 - -COUNT=34 -L = 2064 -KI = b5bdd5fb4a13bcbb60188ae31b307761 -IVlen = 128 -IV = f9e70ad62db5314680eed03b14ade217 -FixedInputDataByteLen = 51 -FixedInputData = f3040c2a997012bfafd0ab8dfa0ac87a346a3c011c2c6e1ce669b152512ad702bd7847047ed36721b1fb57f56be5bbe6006899 -KO = 300e4079b0d4d9bb3ef2a0c8172a1137016c3e7663066568c45326895b283eb4f85781bd2c3c8fb6d35544d3769316b4c3f048b0a410acb357672e7fee82927ccc002b691b3e042c1f6252d1d8d3ef4a874b3ce9b92a94850d02db0ecd1dee14d069b429847eaa5c6e9af6daf3f5b33d48818be87a30e747b3e86dd37bc3f68ca2ca4fbfcc9312551eb8539460f88dffad61d71872af112353f97a38929786d450490264bd7825509168372ba123e90f8d261dcd5dbf7f074aff3f23f42dfd874d6b90cf90bfd07c34aa7bc33bbb5e2a11bfa8bec22b858669e320315ac76ad4786f21bf01caf0f791ce89549996e277d8bd1fbc4b8084d8560058cda94520cb78c7 - -COUNT=35 -L = 2064 -KI = 6616462731bae39c5d96add3e433a1a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65b9d7f42b50ffe225b7fe851515d1cf0b3d04fda2298fe4b62ef863ffc846ef3f2243e5caeeaa75e8b97663db36989231c7a2 -KO = 0fa32a5be4b7c18e77cfc770a3c91697fea2d69d9110d3459e97b0c2c09ed63a94f6650364a2cfc1d6636fc28ef5241d6210afd2d998205ea790186401cb7b2b85be044ee544d58541740911c0e2840526edcff1b7be4d828446f80951ead00e515f223b1439c73dfe456730db9e51a6a2a3928badd484e9cb581bdfbe77e7b860b2f72ad61af4f4b5bab5fecc383186c44c68078a97392c5d14d632c374fc2f6f8613d2aa6a7687ffe37c5cb993cd0e721338a2d2be36235585efc0572e041abf7cb3b9cc60dbce7d41b5c4e32959d1a3eb1a79b2b0900a1dc8f99fd530bf6b4e658af20e4ae774b58ca3a4e9e28fddd16b73897d28c30d0ddcec5fd09a3896b17f - -COUNT=36 -L = 2064 -KI = 1f6c4e0629bd85d466324e432126b048 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 438c2be8a3f0d9d410ce527c30f5fd5431d0e0e0c5853e44b996ea6f0b7457e4f0153bed682ffdcdb09e45d949553d1c001ddd -KO = bd51f884f7cdd4dc5b4dc307204f8fdb770a0916fe42075dd22d4a73a90c2f2ba5463af4ddc635223a2c88a09bede6f77af2217af41c659f3d7c0ae1fdb6b354be7aec859c789a04c0dcd11f27c6ea103e21c4b09e4131ffae18201c04eb650ca4c8c0e5e1042ee869a9ead6e6bfb897ad8990f730231cbb57edf10d405d87af5ee752c596a879c7f5acce9dac9e04441002597ea8d31f0c74f9165f789f88d6c06955e80c6fff318defd8bf3cd99c876c5b38de2156dad9a20e2ad1b1077a3bc75e27aab95bdac101a97aab1bae0a1f60257f17060f23d5953e9c60d40db2dae1f5a9a21d6819f66d25801cb7e9ed3d04873702c4055c08b6f029b0c42abbafe205 - -COUNT=37 -L = 2064 -KI = c56fb3a96d3f71b0148943b6efa1fcc9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aa0674e5a51bf5bd8c207a1994aa8aa1ee1b8871886108c6e17ca1460467225e5e8816517df7653a0a8af3862f5546e4134f12 -KO = 9a17a00fefdaed21c56bac178639c7377dbf9c9e9714c587c4b83c7ea0a13d41324341bef5a8ab3c8fb9b11702d3291f23b2c191c9d6a7f79eb239e578534bbabd4943264604de12a6660fca95a326e6a35dcd7d59f2c3bad549151828622368dd385d79a8c9ca2fcf2269ad41964ed4ce144c4fcffb3d4c5beacfb1acb4a7d9f05f7c57604287101bc32c659825a9f6616ae83a5229ef42ab618522a5ebf3b2bdf085281dc0a3be00540a046ba20f8ac8836778c3372ccdfd7123b691ba663af82ba0c8868f0ed04e3ca2cb164de251fe037cab73c4bd6e5ccee4f28a9da18bef7f2d7ced06958205d4d84e9a1de9c84d2b05e628c61a6639d26f9bec69f68d6faa - -COUNT=38 -L = 2064 -KI = fb69887eda4c1fe5049c486b120eaf20 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d6ae7e6cf483f41556de97a1995064b567023c0a58733f48554970545a62407bf686be444866b8c0a9d05baae0088eb839438 -KO = 4a27ea0bfa6b02f80c9291f969a1daa6cea9fba698554368fdb4eb1c0d025079107c1c195bbe4de45003d7a249bb89ce4dfb8df33749439354ffb0b6c489f73a19715bcb342d417a783c7dd703ab9d3bd6d16bdf3ec0602886ecee4524035b09c8dd59bafe4755b00fc90e66b90750413d97fa2b3cae3f32cf055f0a4aac4cbdf573bb2652a6498f7c705e58a1498cf964642cf9453b00e8b91b39129af91d97744d5d6ef19952e7d472dc36c64a7d0d63d8d9383be6c956da9b4b3c2b547e7fef1108055e7418ab5c5b57664798fa112f2483f00ac1a6ada2aaca6d2d6c570fb49302a86c66ab772e745204ff56de71e503c943d5da11dc0f04346ce9f4432fa693 - -COUNT=39 -L = 2064 -KI = ba43f4a0cf838a2517b655c78e70eabe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2129eaa385cf4b8d92bed252d13ad36ffdf620b4370e2d8794cea9bbd215be13b85dad3d3119ec3d8550688a7b2163c40935b2 -KO = 708bc70009a942838d51fa831a0a97607f80ed3bde5ead374d7394f1c8f28e1143dafdf490da2a02327a4254215c2e37ae3b8a07815776e0cf42928314403f615a9b685150014ba2f165e4d815b6e5f96efae49f0b86024cb23065c39812762643dfd55a1f3362cb701beeed1f88579691732b23cc8181ebd9b5bb701d48a9fdd85c95c64db93cab00fe31a19ec73e9e5896a8a3eca7b051dfbc5cde5ed910544996eb8ed87318bf0bceb9a5a13a31b6e627ce8e0bfe7964c368380e14fd663d2da3c22e63be9d300a47f576b4b8dbd1c3098f1a01ccaae702da7b5d344de3c393f349ef346e45a55a6f8f79f0a1661942f13ce74181e7c9fb618af6451d6a3dea2c - -[PRF=CMAC_AES192] -COUNT=0 -L = 512 -KI = ce74088a3b0c247ff58c13585a7e6ec37d7aac3a9f31097a -IVlen = 128 -IV = c06b20ab2b2847f0abd15aec1091ad43 -FixedInputDataByteLen = 51 -FixedInputData = 251364ac8ac4b929fda662c7cfbef7af5d83ed6f763e0b7f3dd9b3840868f87290acfe915a26405b8b8048a38a0d83cf3a9451 -KO = 0465f9c29f454e03b265a608fadce3519dc0f4e282873aae44f9b8cf9b6af261a668123c7ca616e0e03c1a2d9ccf2cfff6ed484380d9d2a9baab28de91ac58d3 - -COUNT=1 -L = 512 -KI = 2acadb6863b0f55cfe27b8462724cbdeca4f44464d93a3ca -IVlen = 128 -IV = c558eb8f67f06ab9037b3cd77094be5a -FixedInputDataByteLen = 51 -FixedInputData = d2f97029a82e533b16001b2183f548c8580de6dd8f213edbbb62421c35dd9337dadb3eea58f20e31ab9ae548cc72e5c734d3b6 -KO = e047c356d4a4d423760094711fdb1195eeeebc781d910ec8b70b8f56b0f8ae46c9f8ead7332040aa9dd6615dbf0b6b2b2f7e682378c4a9c969fb0415c59c4547 - -COUNT=2 -L = 512 -KI = 0b29cfdcc8d447457fc8c60e11c42001c47628e909b331a0 -IVlen = 128 -IV = a72dd2ad9ac58b7c1c6b665a1f8c29a5 -FixedInputDataByteLen = 51 -FixedInputData = c55b1a0ad821617c4382b1675c73430ca61a8cda8ea49ce52f888c2cf4949ff5d83e42204900c0b3ff8cb43642437b3d922213 -KO = 7150c3ac8845e2f3dec0d4715859464dfc4993930f32ef606fbcdc979956bf26c6a2c9b7ca66862fd645e1bacf3a45730b424400ce7fbf551269f2ea04f15a6d - -COUNT=3 -L = 512 -KI = d27fcf328d37f96472bcce1c751247161ef8c72604ffe2e8 -IVlen = 128 -IV = df4d495118d38f4d3f2694648ff1eafb -FixedInputDataByteLen = 51 -FixedInputData = ec48e9a41b5d70f6cf6ffbdf2c61e35591a41c018efc72fb6b1f63a949e7ff1d7be89d95fd1e008b3573a2327920cf05ae2912 -KO = 9d3c4847a55040b763408e45bee7684020137f1d81b046561e92daa5967fd345fee5bedc4425c93e3d6393ff2c5c06ec68f33e733a841cf6d2d0a6f1a7712458 - -COUNT=4 -L = 512 -KI = ca2b1acfb49f01bb2cdf9109e0126a87dd23da7ad96f243b -IVlen = 128 -IV = 3d088718406e9574392f325bcc381693 -FixedInputDataByteLen = 51 -FixedInputData = 0cce1e006e12870afadfac821d92e30e35576e3d5f9fae39080295d8268af5da37b55250b445aa58999f3400594515ca103315 -KO = 0d669e2fd920f5a3b72e3b45c9c3527e61fd3ca5913d9e0486caefa2669c82f8036225384611bfe79f4ee88a8d9b4a755bb4d4d490d40d7483d00d271db05aea - -COUNT=5 -L = 512 -KI = baa4034473daf90ec34e99ac08ddb0d7e9523541e7a107e2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6aeba71047ffff1c59ed3df05d6ade7081b817eaa532f5e2f97b3d37ac58049c744d063de4330390bee85097b7d0805a2c59a8 -KO = 0ac0d8811695541af8f33d0640c852ff1541a4ac457a39f1b78188f71510e0420c2d9e27453d9324b1444e20463c23ae3a2efc5d6a0cfaf0bb3ddbee4f30d598 - -COUNT=6 -L = 512 -KI = d82d5820b4a171f21031188d87f086cc9c1f6ed6c3b3b35e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 89716b59920bf306f6660ee8d38a1c2a68192bfc7c3eb98d2517e2af5d00a3968f6af31f8832a58b58bfe0b324c333097cf16c -KO = 4c8200aaa37911a174f8c2664e4e110554a6b4bbf95bf0380ea3818c1443892c828982b653d50e1ccc34084521f8dff73c52bb3f10bce4254b1f4f3d55069fec - -COUNT=7 -L = 512 -KI = e93b81cd9e2a30e045e5ea1fd25b9af3cb444fd5d76a1d7f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3144d0bee02856b2b9b270e884c488f91b17938232b8c7e073105accb0dd5cc982cb734c564bf3d2fe69310ada46280d38105 -KO = de304c0b4a885129d49e9a270278f4c3d2e4bba32a98f16d454cec58b9a9e939c9f8a1073776148559221fa735aa26027fed9e38c15d5d7af58125246f4fae95 - -COUNT=8 -L = 512 -KI = 436c4cfb2c9b8e81beb45d7b1d1a99a52304bfb71908fde3 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53dd599a3445114f5582221c45b559a47cb69498dd59f96d3adb30f5a4ef3b4d468af45d1ed2b933c5834071b35f4493163ba3 -KO = aa1c92b53862dbb230a46862967448077800d6de232381af48c653ef19ab4b13548cc72a35dd54f565db975a18108d77e1a0d6b353f88af7df650eaa21093195 - -COUNT=9 -L = 512 -KI = d4e2ab3af8aba89cbfa8a0ce71a3a2773f344bf283639b2f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e3de4eef945bc39ae8415fd75fa57cbae276e0585862d2571caf456a20cc754589a0fcacc57743967fb1045e9bdfe5e4d84622 -KO = 953bbcfd7df00b56f44e0f9ad99945cbb431fe93d508a321081b43d8cba7a25d9d00be5e59225cc15fbb167625209d15da50ebbd4342c99d6a61a94ae0e6d8f5 - -COUNT=10 -L = 2048 -KI = b08acade06d38058db43accb8a62b5e60105a374c039655e -IVlen = 128 -IV = 71dedf95b9890eb8095674b6a38b89ca -FixedInputDataByteLen = 51 -FixedInputData = 237e0d82e561fbd21db783ffeadd8ada6c7455270aab8d327efa17146494630aa8b3536feb9bffd89fef9bdd419d55525b4d37 -KO = 74bb8f2b727794ba9714abd505a453beeff8fbcf7130260874857ea703cda0851839cf9ae9acfb373b162c682ed35c9d1dc3548b5614f046a3f27c5d6976a20ced9f471199c49ea765a525e8ca375a9ef81499859bf67f4b89a919df403ec6ab15744a63332c2b601439248314e8761359db7416e6b4181070b94e346d596b4e90168f950aec748dab595f288c98bf627eff8311c5e83b1018d7a8d50483b55020204387948e5c4d1495718798fb13b08854636d474b0c1f11d2bd720c13cabc786fca432cd63dfd80cf85a3b3bd694590cb758cbab6891c0c65fb86ee2ed953b11237d1cf14d18ac9d9e50e3dc53065d093222b376a453b3b14f5ceb5415e5b - -COUNT=11 -L = 2048 -KI = 7e1ebf28d15f06429530c6027c912d98b95e1efedb8d056b -IVlen = 128 -IV = b7cac89f39d5017f1ea0dfe6312de544 -FixedInputDataByteLen = 51 -FixedInputData = 64eca6217957a03399171f685e4355436754b04bce52631fb5230c2cc196a5a5672c7b4113db23627f8ac82b41303f92909125 -KO = c0f6375c021f77f826865b56f11b499cb0c74f319b4fbd41c8a4ae2a6e8ca7b0b6123e089f4c74d6529bca373d282509d39962c2a124ccd4b3bd6ae32f2769cb406ea0be56de1a85a07fd75098c3a6a2891cca604d98cf080a856bacb8040475b5f26d72c63d16401f866271b84d28a9be10c23374bea96d32633acf102e884044ae16f95794739e2bc94358fc0aed3ac297111bdff59f0f096231d24134932ee6334b3d12b52495b96200a5740512e5e1b28b540ff1856b7716f27b22be81c2e4808d5f3d2e93b8fb5967597ffce6e22f8207ce09350e8e469590296e34f2f918c07d19a7a986cca3fc5f468cc659b3b115cde53fac769f2f194b410a144943 - -COUNT=12 -L = 2048 -KI = 227359d24cac14ed0eeb513604dbd74b62216ae62d45b048 -IVlen = 128 -IV = 15361b796624c55c0519918f850d5369 -FixedInputDataByteLen = 51 -FixedInputData = 581030206a8b232642ca64f04aad6318284b5ee3d8241c989fbcef8cfcfae3ad92a9a91c668b88017e27544ebe87a3e4d57512 -KO = f5560bada0b758f71499c0cd468c6e5e17a41a116ae29acbb0b1db3c2afb1b51087d3ee2b9cf0718048b9919e45ecebdf0c53bc08297e0999900c3ccef87025650d850eca1c17c0f07e38ff7536de1ebdb943ef90be8a6ca3907ee0db5d6b5561015a7111ad2969e0ee2953f0089b843e09a9d2b438a59aaaf01742fab3165afd3e1cf5cdae952fbdd2640377e4afbe7154fc4caa43d6836c89988a4d391cc843e89e94cdc6d84bfd13f701cfa86aa6d242c085ac6fd434cde2ec2e3d5e91af92a03f90b6792ccf269b5a86d2bc862d3a82d063092900daee7040bd7eb2bcc5dd788a557cca4d2eacaccd2b62f32dc599e28c3b111a8249198902942bc242cd1 - -COUNT=13 -L = 2048 -KI = 772dcfd94874035c7f5e7750f6d7c3e0a0dc8829a7dca0ed -IVlen = 128 -IV = 0cac6b6858ebc9a634c3fc89a587f697 -FixedInputDataByteLen = 51 -FixedInputData = ca0e7a079a64a91911199b07ce0c71d66abaf57e80b77a51f19e7b82a2dddc783fc399ae4962bbada584e437441b6af998253e -KO = aaa1e6b2d1cf516cf228ffe36d464651fccd0110a56788186afc43cd69b010fda8413a6e6f82f242925a0d0ba74585cfb362df6715e32bab5c0dc519654ecf92a2d2ba40d596e92ea42295445d84b489ca7dd7be2985b19e3d54c1a7ded1c6a663665cc194927b8477496a230bd7ff390708ab4c640d19e1681bf6e13a67dc54354c89c6488bea4705a1d3c8e336ffa6485a811f56e8727b53a359f9eef778597ce072e782bfb83f9f59e4dbc60ae5bafe7edf112ee94cabf5fb837594b4bd2c8216650639975ec6c0dbf5d2d00b3043c5d9b30b41a68755460dc841fff31e646f308ea657d0061e094b78dcce32b23535a9c8de5436b1c9456b884d2935f4c7 - -COUNT=14 -L = 2048 -KI = 28f801381978e06e763cc0603be084338018d1e141137071 -IVlen = 128 -IV = fcd7c41ffb9866094458874a57f10298 -FixedInputDataByteLen = 51 -FixedInputData = 37b67b5413db94b524edadfdf2b1266438ef1db7f520ee5651fdb1732f07cb21c1aec36e52e6438b0d079e583344e70ce2fc2e -KO = 3259a9ec4373c424b1378632b8cbc1453b919c11863da1a8e8176cf42ec0da39b81b5a29d66f03cd92de73a53584deb1b74c00baac31ec1b885796e58fb2ab11714a4e3def9a56e6f29e104b4bced23cdf0a545ea5ab5d46da8248da002eaecc6b1638a2ee08022976f3e08cd0cdd3d6598811a836ea95bcddd90abdb6f70610f22517bc4c8cfc8d35632925a11ccf165996c3eb4a7d9c7bad1a41d35902cb4a4a139847680c072389c062052ced3a5c4e9055101dde5f2b898db15aff6833f6ad2a3ffde6518ed9a95c5aff2fd104521b676efad577701645e24ea88675276b3f97b8c9d0ad99ea25d740cbea1b4895d37c7763e4ef3d9910109b60cffe18f9 - -COUNT=15 -L = 2048 -KI = 1efd745d21d4746d50e2c2e05699b8d87d91464a6bbec78b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e0dd6057cf8fb743d598eea35915a28f71f7a9265ff88e56d59588c5ffb9208e1d122e202c56e6310ba1023c0ef001f2f02724 -KO = 9f8033a1a37a652362ed9aa6bdd7658147e7d32a4d7df515452a0ce5e08caa21f74cfa06a497059cc337cf61c0f1c43106b67b99d5e11139f3d46c9bc4ca3e050155d5c098e6b471cda892685462a99d7536e2faa78143019c4a69018831366a3a1e1f655fcb67c79ae3a84043a3c90d709e6e16cc8fd831b317d008a35aadb6d592e804a5733bffe2e73915c0b0a42a6e5b34398c30bd79491cdf2f8b448119f928027ca7c948e3ce66794dfbe9f68ecc2511384d6f65ac17d76da893de12fc1f0ce14f63c3bc6330fb75a63e257b0c06cd7b0b20093387842d000e723b5891931dc5b82d673849ed47fc63ecc85787be621d4a4d13a97a3872a019d9e596b7 - -COUNT=16 -L = 2048 -KI = 7137b29a67e80714406cb555dffb486c3610569bfba9979e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = be96c0239e80d7cadc44189801984d3715dabd2df114709c8ab990d71d7de00d083fed544706781b12a98e036244cb506e29bf -KO = 6503f386e9edf5372f4249a05d2cd0781525a9e1402e0b89951ea44a03d407d78fd995ad0b56b0302fce32d94c3cc96c5aa6a7609077ef9e81d21d21ba92bbb29360c78e095e6ae983036717eecf23d69aa43b396ffe442cd95dddeb01456baf88493cae4bc596d5194da7817bedc08d21f1182c4b018e27ff695800a0a5af9ef05b476d767f7945f13e75e8c269057a71127584218659c461abb60dfa5d667e81a9a9d947693153fe384b64bc2f8cb77284449cdf613b985ab31842bef1b7e3385a307d4146e92de36bf4ab755ee6a2f03b8f4d68878ce083576f2c450d76e5563dff592f91098e457b0178f46cb64ebadc9a6a4610b38a069da28a62afbaab - -COUNT=17 -L = 2048 -KI = 6a49567cb0769de2db7eeba80a71e20cf8a38b69ba0deba6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a1a150b128807dc94384be628a7ab484764606ffb602d86c0c9b1bd3c06216ae56cd21c5c5bde9dd991d278d85a064a0f9f2fe -KO = 6822f1dc68d688540d22fea3d82aad7baa4e3389e95c336a5f63143ce8aa826f1cc9918550c7c5ba7fe73fe844f740a6489b9cdb22eb5545e04afe109e1c6241ced3a91319049500538ce4b38fd4e1e991d50cc9f08c25d3b95137d25694266eba969aa0f05650c88fa9cc5329363437bee98ecd004b59760d63bcac7146e666213234df3c289b1f45cc73a49978232d2ae9d5afb6e971c3dc8ffc3721bb348235f6bc5bee4a0520af0290bd26572b14474c98340b07ae2e2adf73c43fc74dbb61b71c4bbe0078c66068b1f6e898f330d33aaa47c935e65b7cbf1ef18a705f71fa10c1f380c2c83f6a78d8137f8ed8f662eb776caed5f7119a2b00eaa690357d - -COUNT=18 -L = 2048 -KI = 7f1be85bd46bc9be3aea0c44ae735e7464962f18ac95d66e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 718cef56a5c6372d2e55df8fd1522714d9dd26fb939256fe358c1c850d56fa78bb0a9307b17c60cbfab78a7b18297b5366b348 -KO = 6992b0c28cfb671378d5e1a88144b3c7d89f785d4d51926bad6ef6661bd1d946e71bee5b22d5d3780dbc9793ec605c050c08c5f58d6125cfa70a9c7fb7117e062482b7de2011763c2275c02b27771193098b2773ba2c1364b66d2c75b01c830958a06c8b4b8447ba41cce506de5513d54552416b25eb0d8737f550f6d3380817479d97e82232b4f2ec222410710197a821c3c52a6c7fe5673edb5f2cfb2a7fde80ec14a2b5f31e7b0b90c25c22e55f54f101b7ec867e3509344deb20fbbb4aa85281976f0c58a5fc24adf4c712f968ee89959551997ff8d3374a3ba04ed215bc46ab26c63bb80e3329a23fca1a157e00d38119eb30b6e065866fc3bc1f31f200 - -COUNT=19 -L = 2048 -KI = 75c46856cd1879d1eab315471ad217e5a1d6e1b4b1e6e10f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f44bce3fecb8415771345c510f99b26ae0d10643b12de2301faa7eb1c8a5389901db5519dd2a1a48eb1d532da02c6c5f52aafd -KO = aa89e05830273b4f8fbc200ef8b5559fd7d4e5db0663db1d02af50e0572b19d2c8288d5d2e9df93631ffb271f75d4e986e023fc6116c5cb8c93069155dfdbec1baf7202a1c6d8a1c0ee40d2e8feb70612b0112359aa24eb5f6b2020dbd6c78d824cf8c32512cae39c40d2c6e7cbd660e8f20fd93592ce8aa05855e69a69ff736c3d48bbdcc9f7245578b61d4d45caeaf2a70b907f146cb4b80b6aa09f9a39aa8f12cd35a1a602b0abb0f8a968b42f6c800ca423f9ed0a67363d3a893c3082350bc9fa4dbec73675946e085e90fb322acdfb4fdf53c6e43a1eb8bb819c19f4420b6dd64b7e22da1e80e02b2a872a56fff37b84cc84d4867eaace6980bbbfc90e2 - -COUNT=20 -L = 528 -KI = 3893a933668f32993f3b2c14bd296bb036ee5dc4bf4b824a -IVlen = 128 -IV = 26c3138be311ad7be3419734a77f9284 -FixedInputDataByteLen = 51 -FixedInputData = cb25faf77d434892c22418aaa8adf3f5cd9b3a563fcc16aaf6529dcc9eae5e9f3bdddb6b191489321faf5b785717ceda2afd4c -KO = 42933acec9fc2a8f9783096190e8b4887b65e562c383e8d9783b60cf6849fac3c279ad05c12762c449fd5579b38dd95a86d2d8dbf5b76e6566966281398dbc042822 - -COUNT=21 -L = 528 -KI = 50dc628f128c8ebf8da88874936029c480462a3f6bbfce46 -IVlen = 128 -IV = 7a916713f49323ae4cac82beaef70463 -FixedInputDataByteLen = 51 -FixedInputData = 6fcaf14bfb6c43b50b3f0790e615b0598c801fba19c630d1c838b543c53faf302bb9096cef959b5570c16a59ce8a53ed28657f -KO = 956626c31a4c77ec4bb5b2e2d168ad3693a16814197dbb1aaf70ecba05967e107eea8b1107dbda9bfc62a8b65e9ef0d5f72abe9d1ac9261afd2d57dba39905552c6f - -COUNT=22 -L = 528 -KI = 78272dac0cd369746d6e6570c8904164bd3cda1bc5720e4c -IVlen = 128 -IV = 208ad1ab117761890ab2cc88a12ba941 -FixedInputDataByteLen = 51 -FixedInputData = 838989a7f84eabcaf0e304694d767de54cf06eff3815f6bf4b19fe449a0f7c154d0827a45b46bdb3fdeca6f9ba6f0437eebc91 -KO = 105f3da7bd1c858132f0cf266f1b697d10627d829e1ff7c705774af64c6e970c7dfef7b2897897a9929d1eaaab83a31137cacf34eb4cc30a36e3eee6c3fd7da7fe2a - -COUNT=23 -L = 528 -KI = bcf6e3442b02cd507d55404efa1262f9d63c7a20279c6205 -IVlen = 128 -IV = d32b1c9ae92341839cf5bd9719dbbbe1 -FixedInputDataByteLen = 51 -FixedInputData = a1547b366914b059f93c60b26aef001f3ab1f0f5d25d3e3a3a02cd27612697cf7c2256fee67037aac235b6473ce63d82994aad -KO = 904100150e4d84ccb98041d1dbad8af71b62a0e2cefcd6fe9aeba2e15d78e1e3db0887a339529085f9e57d7be75f63d515f3dcf5c14953a0617785c0ec31a8623e03 - -COUNT=24 -L = 528 -KI = 803ef769eedeba5ba9f7f16de111e1f548fecd7d222224b8 -IVlen = 128 -IV = a44b9d98e9ce12b69e4fb2fd82ebaee3 -FixedInputDataByteLen = 51 -FixedInputData = 3c89687726eff371d8f25c9ac4103f6ba60cf09e091232214c8a667ea9b7791cb296a0b43357c34baecf5a9eef23a2a551fe32 -KO = 1c8b6194c54433d69ad05f29ac5631f1e703a4574b439619d8d21f7cc4d910282f97a76173cd113fbd536f5d009808cfc479b89ea07b6dd7a9a1a995979695b39db4 - -COUNT=25 -L = 528 -KI = cfd6c7f197fc67a5bd3dfdbfefcd465ebf0cd52a09eb9115 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a6a2a10c72281d2b162d9cdbf490fe84aff728c8cf8e547ab2e3de6b337f2fd0ceb53faafd853499f3994b2f2b82a68f49f48b -KO = dc72e1071203403afeb66350438db7dea882a17bcc320931747b7413be721eb89f410672415b49edd066b5724d7d41cc7c785b41e7302d84355cfbee24bdf8f390da - -COUNT=26 -L = 528 -KI = 91f6f6b23af95d49f10b931ec19d16fb394b591c7fd406e7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d0147eb39fdeab17c5ff2de58e7547e8b57c090455acca3474e093e0b039160d5fe5de59260edaabd44f081c47288491db0d1 -KO = 2334385d8fc9fcdb05d55088f868c283c33f8c8a4145587e1266493c7be96822be15f23b725c956f855190c34b5bb826bd44a7fdf4721626243c43ccf51f7716a28f - -COUNT=27 -L = 528 -KI = aaee35bedbf8fe6ff5d9d182fe6f3a6ecceaa1880a72c2c6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = fdd1b3230927ce20f2080860cbac2caa01fefde2a8cbb3dac4fd90f4a660b554bdc336073ca6f237d8690793c32bd6d5050e68 -KO = 5723d523576a16d76e44e1115627796fbbaaf48a03fadc4c0d5b00f7668b741741c6de5cce1a0355bb16e927c3088301a0a8934af17bdffb50e2a2786fb847a6bae0 - -COUNT=28 -L = 528 -KI = b08cc7fbd673bad70b8a3aa144fc64bfcf3000f87c2752c1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b0529aba4c3bf5e30dface2fc88cd9cfaa7bfcc3e57b76430782452f4b456bc490cef0aa6ee0f985fc2cbdc27a6804a1560ce3 -KO = 19739d9e1a7fddcd6a319b883f0c45a1d3b0d1760c4d2fa6f82bbacc1ecf0a1dad46e8b408870dfcc3b1e2e8972c95b097da975a17b7974a0265c8b1dad0ba5bcc1c - -COUNT=29 -L = 528 -KI = 10781dfe5ae05b38283322d8244a9ca083aaff7e578b9c21 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d8072ec922f7e88cdd6f1745f4fbf58ed45bbe02b31a9dc0644133ce3b77c0298a49d4216e109497488782c906e2815323ed52 -KO = a35c324b832178b48c57b7662c966519fd2646bf087a31dfd21b982dbf79b528334b03234f6d33baf47a7912332a140a052a94f52dac0b85658cd4f15bdba892028b - -COUNT=30 -L = 2064 -KI = d759b72e887a288c9a3293332fc31e9839ce3cf2377716dc -IVlen = 128 -IV = f2efb97e05a4da48bb82ac8ed20b879f -FixedInputDataByteLen = 51 -FixedInputData = 303b7e4e7812bd77afdd6dc6ac491439fc314fdc959b6590763f1bcd33b11d811701e3958565767d2f2f6150d5317ecbf609e8 -KO = 2a402db0079c4d782a05ed650df4a7df9a01e104362e20186cd6933a639ef080d32316be6b6ee78d524b42d8269e6c84c5fc850e1e2209685571e9569719418724cc20e2eee771d93d34a3828de7ba1f0bf84dd4ee165741948f3d2b2cd89ab24e20c759b67ae012caac78e3e0fcc427f0bc3b437571bcf672ae6bb9b748e5cb5ec01b7dbb7c021c03bcd7fbffc6715b4b1c8a8f2de6c0fd16e0d7e09b097dc042b6616b0ac10bf0bb6e6738dfb22541ab6fd2e36d5625f7899083628d74cb5bec5fb190e4f4821fff73a173096d60303f6de42ba63ed8cfe656b4b458d739754ab2b4d2d43f7a9803cd03d71cd89bfc7b4ef70ee209d3da615b3ebed88f184930ad - -COUNT=31 -L = 2064 -KI = 5c98d6c6fe274a32b2c120cbd97d2cff4c612352e1b8c65d -IVlen = 128 -IV = b5067908ec28917f98156f2cf63fb2f8 -FixedInputDataByteLen = 51 -FixedInputData = 84e809a42f6d6b650e4ce789df55cf85ba0cd7b816f29b8d65934c8655ab91b10b69fa31a9297dacf1f27387ebc44619b3d088 -KO = fce0c5990c9d8af3af1c8ae38ffa107279487818f89e8f87790069d3854875e5894f81781354421590701b1c4ee8c06def94be4f7c5b7f2f2b0a3fb10a3a3d83fe5b9e5cc5011263788b71ae6b27be41bbbd6e2b65bf171cca69178ee325306934095ddd48e8b64892717f6e821097561725774eaa5a7a79bd43f16ad8ab4fa5403daa8490c31f2e6be2684ae0b11802ac220dfb9b28d328b5858609b1340345b6f3f4ce24f3782aaf3119fdf18be0521f8d5ca21879bb131bd6ca1150de5e67d55b1bc255f5170c4d17ece3c9a5a5372ff9e593a72218bc7f236b05e54e9f014a48cf63fca36a59bc9426fa27fd72efc9a3cef8c8128d1b9d65a5284390fc66327c - -COUNT=32 -L = 2064 -KI = 1428093a0d9086d6da25042581e116b5e02b665dac7eb666 -IVlen = 128 -IV = e1188e8c19f5a18dc598840c80771ec2 -FixedInputDataByteLen = 51 -FixedInputData = 569c956ed3cbc23b2d9aec0695ef672ac9046b7747a7335ae962e5c566e0b62c218898fe25fcb4adafcce7d6cc67225566e872 -KO = c84e2f8384371be86cb227ae133cbe481ff231c7c7163f454da19bc841af931eb8be2c5f4636f2d0068533e4f929cedb0ca4f2826ae10fefb8475c4b69c5f79a22268f3ecbf328339469a0606adccd45d10ef1462fa695a2a111386c9aeaa7d45db9a6f081aeb188c2b5880f169111e1a0ac527e1d6ee57855a74886896a1e4a64591f7c67fc76037f890f849b12762e98729bf58429a03fbe98cc7201d932e93e91d45a2164c410237faa4a2e5cf2694d0e749b2694e2e7819f32825670e2469b520f1873a3ae2528b21c33379453797ee7fc0a7ce43716ba9c3be5400d6516b0c7007743528f2004b3e63749ed80b81e6a7dc764a761312a31d8889551de151ddb - -COUNT=33 -L = 2064 -KI = 6d06e01037c5a78f20bc918d356ef94031c7bcc64ffd9093 -IVlen = 128 -IV = fb0d268750a784c8c4fa843992e21dbc -FixedInputDataByteLen = 51 -FixedInputData = 38797a8525c1991d567098f6c8c5302bf1214472921a4a0619f6fba7f864e39c08cd3768f1187aa50fb8ab4adf91b7313e0a11 -KO = 5b48030ec39d53442fc804a3fcd38a1c8f5127bf155fb683cb80010b3124be45558b8096671af548509a7b67b0934afc4925290f3d3bf28e078383775a0c68b18bf79a0f42eb37eb7d1a174b589e6b805a2a49a9806068d69148a5a686d028b0ba09204ffdfbd49b7e795767bc242b0fc74d26e588d2c2d6969757fcfe7f6f3d0ff360cd29b791db46f65ee0603055e7e4c55d8884fd639cbd9bd9db9b8161f2e14f8710f0f9899a091236f118373f3fc6ea222c4d82275cfabab2612ca75327b89dd35b74fc2fa6b71ed41c7ad1810a553adb85bb82c88c47caaec3c75049fc5de4c74536485eabe1f548485b79bb296b30afd387731bb97ea20c47e0b3139c7a54 - -COUNT=34 -L = 2064 -KI = be25a188296633bf027bfae6e9b0f1f20a93b3cd404702ff -IVlen = 128 -IV = 669abbbb6505ec48dd927512bba95d79 -FixedInputDataByteLen = 51 -FixedInputData = 23f7255f3427402843338953db41cabd138d1c7acd04a8536e75d6a69c2eb712ffd3596e131f924c25f40d3e366c872819a024 -KO = 66747f26c238b0ddccc4d71729858035b70b86b98e0b531bd5fd7e516ecc063c6031d93904ce93e9f78dc8455fbb2399ca84667646094a74664712cc6287a1497f1a4bee3baf450a39cb3adc8409992f5d3f8222e1701dd6206c14336f3cffcfc5287c0d1511d564ad64201f0065eb3e5f47d1a833bfb4b48a18d503ead87a2d077d728d8fa4c07bd111d713ab255c3f9a8c590d12b307f0d39da4e06c4ee681f2faff8666df78be3cf0e2b9b5f177ceb9c8f414be7d087b9ebf644928811008409f03290928b840500bf2a65ae24b5f3b258dd6f0ae77df3f76ca710f0ebecc3982e2215e1edb000b05c155d87d8227d4bff21c7612514d142d955daf565abe8727 - -COUNT=35 -L = 2064 -KI = 2faedddd00a9f7736898246e8e538f506c675fdd70b01a73 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c6b5c354e08a275cb2551da06850b1f155fdd2f4b3e010c66ddcce5bcd97b6bbe39833297841c07a3939d508a9b9e6275978fc -KO = 41631e6057c8db9bbaf8921b2b391552f31140f93b3602238cee46fa72a403ec1b89383984b113638414ebc591f523d0443e247032f6b7385439b529e5982de8ba23e7f65f98d6c2f2f8dbf99ebc4ad090efd1b6c7bd54534905f25cce987b41859f8bf98eaa17aabb9825bf25ceda8e315fd110a7847a6208da5ae40be602fed5a9c83c4213bba905fe497aba13f0b8a647d9a965da7de3926e44d87490917fb4dff0dd65d252dd6e9059af75d6fff1bfd58936b5753ff5f107b0107865f6d80baf08ea2e8887cfa44da7fb1c66e3d697868c01d6fabd214e7ec3660cb36a756d18776303857fe82a8b62df02861d9c5b9b7b553b4fd30a87e8fa6cf7d9fa9cf020 - -COUNT=36 -L = 2064 -KI = 277f9f5cbc4756fe59e412fc9f75aaee693e35fd402117c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 945c38e5f7238a45f1051d37250e9ae3c5aeabb1fe3aede6cc805c13b2e754635a7ddf9d45cdbb1c2e8bf64f58987a6ec43f82 -KO = 8e3f3791f2c32e51ef552e559123564473a0e0ba9f911f231c7bd2f6c60eeaf2b705e02cfd75be490fd185af2aa0d8801332def1069af7b913f97f757f75c4ba653dcbe31634d43b36ece0fa35bc9ffebfbb4ba06968dcccd77994b1f77d37bc1718e8118c6d17351dc9c0cde9da53dbd3dc2280d67a65e71433a954c5c327188dd3718daee9305bceb23c1e731bd85bc376851439084780403f4b6eaaea37484f0795b11a95553bd2303472f923c904fefbb3ea35f33a2b612d6519d0c1ca6dd6f124974ba28005d69fd4fcf572b61e61392ccd261f32591be5c0a3455c0d127df175f0fc699270be3731d6d156c8775d72c53a225a9ed39ac77e7a73281c2a26a7 - -COUNT=37 -L = 2064 -KI = a0545dc0955b60efc29ec2bbca9a7655873b640dbeb600ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = daa61aab6bcc823d2acdb0fd98fd6b298cbc49ef0ffb47e7265b8feb96f1ac28f200a8b92d25447637fd8be8ff63abe2021cb0 -KO = da67a3a42e2a48bae3494690861325340ac7f63f06813e7f7ce8addc95710c5a82b072276dc11ab7a514db1767440a244479d0d25d51cd099ba3c99e792a7096bceea48fc4c371fa8d652ef9996728de58e6288796aeb9f269249ff7129d17de132ea2d30922f1732a679b9e763b9d41358b53bfb02adb0881d7f81b680b37ebe8162f99d9c8b97b752a58672361842d1d82575728c62798cbec965613a1ccae569bd16d30ad48c0fa9e13a2e427be95362205e0fc1949bbeb1489f37c711d6516fba650a685129a197db472c9613da12ea46d5d9ede5fe8812e314c1feb0510852822f3cf4161eb6c66429cb882294cec59dc6657978ec04f17b366583fca5e1f1b - -COUNT=38 -L = 2064 -KI = 0b3afd2ccddd80fb3689a5e88a55a73c655cafbbee0446a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3a3187198adc9f01d1e70826b79706d4362446752e1e07a25106c788516115f578afa6fa7f5e5dd5401ad379ce28b3f8551aa4 -KO = 80f2272fd227efcd35a007ab40cdf4461a4f810e657dccb5b966dd600cdf4908ee3d39ba2a6e9581b3fa8449f86378df4d031f4b856e1a2a889f3f6e5c2cef222f39737d7f041eefbf52a3bf7e10b7a4a895ae65b6f017d9c715ee0ba9cbb57e9120bb6cce7199debe2cb57748b2dda3b0357671d91cedf066f3afcf725fb90715673dacf7d2e5e3bf0b9215d5c17431911f2642fe60b72f9c661d3450fdcd634be8c62e3039aae0273747db54376e44178c8288a6d868489f244869758920a8d07bc055d2ef4ec84af30a2acbcd93bb73530c2f5c3bff793a63b45dc6df2c33bc088aeca4a661f67fc9ba955e30989ee67c0f4c73f334b0335ae960b66ccabab4f7 - -COUNT=39 -L = 2064 -KI = 5502cd035c036262843c2ee4fd0afb5998ed5b49f282e635 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e1a15667edf746b63635ff467c75bbee24d3bada554fd2847eb8a1e2f1006b7ba5fcd3a2e0790f060d04a1d25e9a36a996f20 -KO = 4fb97dfcf157cad4560af345f5804d6652586bbf805ba1e84e1c08a769db0e911368ac978f5c99ecb0600c55b9cb06b36d4e5e182b1c4d0b8935d480b947bfd0ba48a9a9c732b4cf75cb986be0b30ee804498f5739aeb7b8c7be2558ed330f76ca4170ff6397c4ee8471ceccfd4d161d8ddce52a9c69ce2b9e7ef8fce605028d9cff9e44d86260bc0ebf592c12cd4f6598d8c52328c55aa9e6430e958a463813f9059bc42d7c31365e76758f6d7e98239dd3221e3f6595b31f7109989564950246afc04d524fb4ee0f6839ba585c74b45102b9b2d2cb6fd7848dacea74d299982f8c836e8ae3f90546a770b985454a2f954f86ac1c81970ee8aa17a531c4f193559d - -[PRF=CMAC_AES256] -COUNT=0 -L = 512 -KI = 3d3a3e5d1742e0a6077645f27671ab6eaf6eaf238f7fa6853ad4deea28cc6a33 -IVlen = 128 -IV = f4495b567f3c880c7ab44d16c4ca8880 -FixedInputDataByteLen = 51 -FixedInputData = c94bc1dfdf89a6534d056e420509aa6d34a5a7b352a99eb38895366dc1cb9bc871c9758c9226ce801f8fbb361ab07f00ef216a -KO = 586de3ddaa86cae9eebd91783d75f972a99ec6b8effe27d7be2081cc44b051644ca067d5622ee3dc02277327bd648e6552e0d29933698a2210473628d2b96acd - -COUNT=1 -L = 512 -KI = 70e7b0efbd9c5da822a35f03f350738a757f70556aef65b91b710a11dcd96c9d -IVlen = 128 -IV = 0d4a87389fb4a1bdd384f20bbc8f272a -FixedInputDataByteLen = 51 -FixedInputData = b963bb80c7de389c24e9a5642c056baf3bcae3366198939f022f45b8b0afbafc0f80d394753f4fdfffceb2a14d0817841219bf -KO = 831b0d3b3c4ecf84c25325fde03afef370b9fb6041989be4cfd11b8cbc5b69157eeb88c4a306d41bc72bc851c6a5a0651eebc918bb52a8749b4ca6082d539c4f - -COUNT=2 -L = 512 -KI = ad2004b92888a55e7cf5b81b2416b944b098028e8bb1d5c0d8b13720a38c3463 -IVlen = 128 -IV = 06d620f1ebca77e46f18266326981d79 -FixedInputDataByteLen = 51 -FixedInputData = 768b78dc2b6730c022aeff4503ec1f5f10c361d1108eea58aca3115fccba3afad33d91432c2e9169458cf7c7cfd4e4f35a0c78 -KO = 509445ebd941ae2cd889e0223c915ca5c7bb4f6af11e083ea8725351f2518573a62aec93008470921a8a5157eaab9da3193e09d9f99da5893e35aa60ac7ab298 - -COUNT=3 -L = 512 -KI = e12803ed39cc920714d877f472a233cce1f3d6d731f7122bc7d4db3e863a4747 -IVlen = 128 -IV = 5d23cd36a5f2b461651c5db773983267 -FixedInputDataByteLen = 51 -FixedInputData = 003a1277a3876b9574b836aeb5a1bfe582c35421c8cdc8c3f5eb08327de12d74eb922a11291239ae855b7d784eb499e1f16a9c -KO = 713e5b56c7d694d5645c2a8c39a129f90f82fce6be6c759fac8aa3333766ea1c6ff1b1fa5a83cfca3d0bf9cc5ccedc9a72a68c43a2ccee8697c965f2bd89d80b - -COUNT=4 -L = 512 -KI = c5da8142e119429d172aa720ed6a11ca9796b76da9ad3baf3b11be9404047375 -IVlen = 128 -IV = 7c29b81c56bdb00cfacf50363c96f28e -FixedInputDataByteLen = 51 -FixedInputData = 3d3985c9c0b0a6db768ef5bb6f43c7419bf4f68087427c7184954dca8013074f602d26a8189d43a8b083b9a1a525755d2c82b0 -KO = 82bf5438bd9fb57d25f57f1aaee6b57cd775ab8b7afa54667be447e252cb4950b89bae0a9e373eea35ffdabbe2f2a61af82f20991ecc9c537804a130c541f55d - -COUNT=5 -L = 512 -KI = 21b35a4c9668a482366b8aa0bfc98ee5ccf9fc91a57b759edb0a5b99b80ae347 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc21364b992c2e9a53684761ead0da961fc515f1d17e9ead88acff3df75a61cf63e71374ea6c7f9acf3b6510fd094df5c44339 -KO = e7e4742126c46a48088685b72c945a2dafc28f3c0fcb68c77f82f97d8a1e6cef428066b4c21a1f5cb4d613cf0c41b44bc050a3ac316268ae864eaa81d2afd776 - -COUNT=6 -L = 512 -KI = 1523f4e20731323489130e2c6e4a516d4712ddc4c91755467ac7b9b55ef85b8b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14dfaa5efca1a0a2a112637e645463f8a68ab3fc2e9117d7b5261ec60a0735a8bdb73f52980beb08402c1bc311fc1b004b96d3 -KO = 6f520a1e3aef5d5ef301163b47826073dda9bcca013bc3918eb9d47628d18c5a8d3dba24db90f45f88054ae86977f35040ea5eef50953c2d8d19f1923aca1960 - -COUNT=7 -L = 512 -KI = 57625253f15f04e862d789886e19845dbcd844af8a641e758c15235075f2e804 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b7f8863a74873a0778507b32511683cceb63836df09329175b4dc0cc73fd73cf4f2163ea2c61f2aa4618463f0d5a204bbfa2b -KO = 56c8e209512d36f88433e390139bb5fda966a32be3dbcf178086e4674fd31a85f9676c052f0b79c7bc4b394f56cbfab06dfac5e8c0a0e933826357c6beba46b4 - -COUNT=8 -L = 512 -KI = cedd9fc9f278ac5bf56944b319e45cbdf68a8340d87ab7737cd653b2a1de65d5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6faeecdb15a223a8355454f3b2658f7721d3892daba4155db6c6a4999c787189754b2faae56d1cd490946de6534769ce76884d -KO = 619c84c3c1824550358c52d3dcea27348ee3d69c27ce3edd14d2bbc31f79cff3e11a8e5695f69bb5acabf5f1f8e3e41eac528c4fe954a1592167831a079c687e - -COUNT=9 -L = 512 -KI = 2ca92f15c8d3f489230cfcead02b2dbb13bcea77fa5792a04d8fc51a70714c8d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b0c41ecaa28a43b389816eb306b6344f01fad40bcbd87b0fb8b1f4ef1e72f4aac72934cb53a12aa5f904289e7f3aca9dfce2c8 -KO = 9b0f9f466906faa2be17320c56e70b16b558f0e4f300d7af52f02fa9ba45cee926092e7c8317ecc1c2430fbea9c051a2adbd6f86a633fd214fb2aba817352f3e - -COUNT=10 -L = 2048 -KI = e9dc92c9aa598010a6b180876bd1677a561c7949059dec6ed0bf8df9a97ca5e0 -IVlen = 128 -IV = b299432797b04f0deaa841f730755f56 -FixedInputDataByteLen = 51 -FixedInputData = 8d3f3bb7bc639830b6817b18fedb5c8aab844fd1ad4204ee76613639dc85c21119d4ddd2a7cd53f80319b6a67737c4bc6bea4d -KO = 79919aaf0e7bd531d9d6bf5cf0317278c30bd0a5ba26846d49562fdff2e4790168f13b6ea05f676d5b702646f7be473f3c019b75607b99154cbbf913d9ad61cc035d5dbf69fc3aae722078c13fafb5073a66128b65a1c0d0cf65c87aab1011e1c08cc9f4a339ecff1e8ccfa2fb46162ae3546c412b6aadaad76ff1e5928b36776b8105599d16fcf6215e168653e0de16c20917e96d98ddaaa50025cf97686c77e94d39931d434b348f8369807ba3be99ccdfb9ce253794e703d53a02835d7d17a8c9828be40461a581c9b7e6d51ad008aa49f3dec42c8c0af65d0046ac285c004d53bde1993cf86f1795c32afb6e3587f1b42ca17a3485ab861f74f8b26cef99 - -COUNT=11 -L = 2048 -KI = 4b11d7848d0141da6c03a9d0759e03df39ec176a7f06578d2663ea89e1898003 -IVlen = 128 -IV = 2b1206c0a92ad2e9e75111edac2307af -FixedInputDataByteLen = 51 -FixedInputData = ef5722de24436fff83737aad5dd2d1a38d907215bdc4c7c83a76189b0ce3e53ebc40107fd020cc20db0eca042617f34d5dc7b3 -KO = 12f9a53d19956b8aa948fa9c39603d7eaa9c7914a15381c49e3173015aaa9ac6eb465bd6ec7b860ffe876a58babe25fdc065416ddec0ebed19eaf0709cd410ce79d5236e15a7abb6058cf73bc779a6febf13b580d3dfa9e42be34f42fe450663d5214068374877b11928ac88da3000c93a4684a8d2414dfd8830d607d4a6ea50acf010fadb0f5f23994b34e5d5766afa87af174468e0a4f157d38c52511d0da83603ec52d057c91d5e52060a0146e417e202f48af5a138f6010b2d763fb26049b3aa9c785ffbbbe944fafae84830a8cab3d28897ef7e0926a522e4b100c91051e417d88fdb6ff8869829654ba683afe6efac1c4f8fbc69e27bd50c63c51d27b6 - -COUNT=12 -L = 2048 -KI = 5c1388faeef2b3faed0be0695caa0a7cf05a4dcdc31243c2416e31e92f98fc23 -IVlen = 128 -IV = c40e3c42b59a2a6ff1484ccb087977f4 -FixedInputDataByteLen = 51 -FixedInputData = 64e422f341b1f835fe511ec6ab7b2e216db27cb48ce337a9064d121f9448d3775fb6e1fd337756ab9090c268b8390f97d9f4e7 -KO = 0609193e36d50e08ee562a7afdd3f278488ad914dd6d4497089812a2d02859fb14fe31d9ea40751839b4da81b00023a491d49ddb5da829c24054ffca72d7bf55d8dd3b54b6220d58d1f4dc01f520d49da97e9fc7d8c6a9731dd52808ce2322945290dc3c5f56b804de19bc2cd2bf38f85bdd215dbff6169985f7dac73b913aa604b1bde8732cde0f4653f683104a2637c51611471a80db44f492ba303317a7102bd3ab733dad39471ca8871f97d60a3d6eea03c6dee17ac9d6c208e7a339593faf32478b807eaca84f2c514b57af7c40c144c7a2602b7f38c7183682757b8e40e1ec693cb1f39965b3a0f81089adf521b98467798bfa029b5fd2b95adee5bbd4 - -COUNT=13 -L = 2048 -KI = 83a01aab1ffde42835475496913278d2ea98f67b4469f38141402b3a39acbe15 -IVlen = 128 -IV = 0f86af3cf78d162eb7613baa80701f33 -FixedInputDataByteLen = 51 -FixedInputData = 6e7da4dc49c0561897a7e05474297a4924b242f33ecaa6f5dba07861f8cf106e06e42ee4ea277a7d35f9fff375537c588690a2 -KO = 8667b220351ff5f88d73b3c1259ed6f38e02c5819c258546ce9f094fa188f1dcd7c5264e5a33be3643c26ee09c6b6b68bebb04061c9de9c386ec9d6dfc2cde6e6845c2b6d8e406d1654dfc922feb10025bffe64a8957bedbbbe8765124aab268ab83b11673e89cdc06ca0e159fc5f70d2f0de5cd4c15337713164aca8faebc3f7b975463ab266f244f91715224d6070a82d5cdcde0b427d9550b07d18c10499c4fe4927f3636467c0adb04761b332fdb997812a4f3c90fb5b5076472c6f7907bd60d8eb371cd2b6a18afedfd56e08389f788b950e7ca7b6d5a98788c4aa13e94c87579fff836570a1194f40e77535acd40c64b402e25c5fed7187c41c4bb8cdc - -COUNT=14 -L = 2048 -KI = e2b40e93a32944d986d88bc6196ff16baf317c9b4af9d2e6e72c55bddf99617b -IVlen = 128 -IV = 01c52d1bdb18997d44a20246b9be86a3 -FixedInputDataByteLen = 51 -FixedInputData = 576fc0667675ec848dd0e1f7e1e41652cdb104788046d3d2941456a8aa8e450821648b42cc6757cc42b92e0beb3eec060e05cd -KO = cb7bd8c8bfcb0538e64ac86d71581aa6c8dfbe9d6d8fee50874c166978e290b8c4c90fb09f28d3157fd855e3d31fd6b7d947023d97888acd7bc478fdac18e1afc63fdb0db1b68338a7d9f580ffc364eb1a2680fad2b683dbfbff55a3130d9a88054447da2a75c1b075bf7d427883f1642989922c3ecfc631cb374337576c1ab89f3691f0362cef4cca0e5d8147356ceeabbfd0c737f94213cb62823026ab4415c81b7c656c9ec37b07b07fc3877ebf8c0df943b6414794cf58cfea916934324d24f9ab2ae3c527befe1bc4754089a1735b27008a37d3d55b34480229fa45668701b9978bce5910e2d7874618b1391fb50a0b685c22a157623bb214646ef186c1 - -COUNT=15 -L = 2048 -KI = ddcac4e1620eda4e37d3ad93fb41d8ac0d134afd5d0dc8869476dcdae4ec3420 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc4f715768909c6ec9781ebcf19d1e6108a8a296138cf41cc90df2d262794018afe0d77b7929d70ee48277e00f177e441d4b93 -KO = 71b409950fe5155feb531aa487a9f0ca5d9cfb7afc07fce60bd57bdfda637fd5bd8fc9c709a5de3b3fcb043f7170cc83c94c0f32095799c96ddac7f707373cc5e39e3f273d44263ed06d000e001a19a327d27458724cd3bb09f8e5dd541c7ff62f3d5a787815b2a2fe4630ed3349de567782eeb8d6574bfad5161fce1ba3e112513fa306abd0d96e0b7979cc79a73a57de2d8c7e435f7094fca9561808dc5d8740cb296c27d1978d0aed3380282d7783ab9ab80010990f242160a82ec4ae8904a09dea5c12eda151fc66742cd7e6c36d359bc865104548527141185fd5be903f4519df5a43360919dbc8621fc4b8b66899dd4d331c04a885fb5324d499b5f243 - -COUNT=16 -L = 2048 -KI = c88e5c9e4c214e4e9b3e79f944edfe1e25a74887ccfa7e39e47220f78cf16992 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d91220e1c5cb29298be8bb5b9c38e6a55d3424ac41109177c3c0d083297e1a5ecb68ea9168adbe4f371308917e891a63cdcfd -KO = 10aeabd157ceee8f31d8d4afb0d9986e636f7d4ca62abf8f809713f7299f01faa6bd732bd346721b1d0fdf7d4982e8fb3b1d9af2222a35412eea296d251ae590359ad09865b1b13ba4accb12137df6385ea87a8b931beb3aec7ef47148f5504578cb13fefab19125e7e78296b7034a0a4db6afee893dd8e50a49e45acbd41de04b4c9cdd4e98362cb6c680045ac515260c2dadd965cfe83c11fbdce3c55bb2a49a6ddad6232e70bbd1fb8aece8eae47d8005ff373094bce27f8f418949930cdfb0c1d42ffb0c9809bec6ded88a2e4ecd08ca59b260759152a502b5447dc6080228232970c50f94b124a0dbc6e57818a79ae348cf0f71b53302eed926dd6cc632 - -COUNT=17 -L = 2048 -KI = bc50b0e219f7a92fc8d8d9d19942aa92b4b768a3cb36821e06742e8dce4e2d3a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bc94e4703141e0ae9224be2e8f948c93bb9dd01109a825688189b679df13efaf8e86df0ab4010219848e60e89dc57ee28113c3 -KO = 9202d1d749f193393d2a82ce535a75596c50dd9e29eb23eabb116b56d4088166e8446839b06213e8e6f83047ed2db6d4de803cdfcf41a785d78f5e6eff02c80b3e78245ab0c0d4cbd62adf25dd92e61cdb483d6609bd277a683f1c86d663f9e4d17b95dee4db146bff1314897c04c2a7dcfc97a0e9878e0b437b9e1c3295d351b0c00afbcc706db7bae5c6ecda4569ea9c0ad52b6bc14c32733b49d2b2016f4e934696642fcaf8e450af160110de23b85a32069dc53d3f0d323516a278471e80661c9831d7f02a862f1900316ddc74b7aafdab3fb43a405b7855fac1784e4e50dca5977f434a35b75752fcb65d5fb2345269603b9057f3377236cd3f5d6a8166 - -COUNT=18 -L = 2048 -KI = b9e995eac3848d3ab37a93f4f978bb090273580622072da668b002f83aa9fbda -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 759af9a3eaa778235600c650435617aa69d1803287b271d40ba2ed014f2dcc16ef5d18515182e75672e2e295b9bef4b33d4cf0 -KO = d0631ad656e46ed519572eaf7ce112a2026dd4d9c659ec46b812dc8218058552822d55c839f8cae46be5fac439f39e454ab9f0c9f6033a14e8e0ac350158098d41a47a5b909d47f8ca2f934f0e6610f9bea05758d2f2351ced2705403dce9706bcd129835cbd91ad7c492139c320793ec1d1e82e64381718a9d7908bab117ac127fc4322c218ef1fdfaad7a98e151100129ae03772f23047e7944d265f32a647432f410513e9ef3ce6a4ad93100ba16efe6f4b2b0a7e9d6a9de25acc76064ab9c4c305061dee74e9edba570a58a7dab7fb893835ee7f412b3c0440c866cf1c6aa0016ee94278be46e3444f8cb1e09f002a5b22fd56d9cb02c637ad8f871f4bd6 - -COUNT=19 -L = 2048 -KI = cce21934d898799f1a3304f66258c308258db0f33c5f90ce9b43050a1f157cb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bab2d8dd99f2eb704a052fea248a2de079af32fabb79868a67ea0477d0eae6226a1443fce2a708b6802037650ce7cc4ac2ff5f -KO = a45b7cd2e13d07c6576e5deddc60e41f62118ba816f7f25470f096537cc987fa8e17535e37f586d009324d295bbd1547ac7e12e7816deac2154ec4757f693c31853867c41188fb0fe691324c731d5b432c26899032e7055bda7977fc9d951970740737e113b7c0579e4e151bc05067bdbfc795eb5b9546e62e6a0df7fd4a5053e108ff376adf1f1941b4b6b3504f5b0ffe43ccd77395e9e94c6d0396601bdb7e6344fa151f4fd10b974a8f61e6f43fd0775d9be2ff8c9fed1d15e992ade0a9696ca7b66d348855043dc5dc64efebe50c8005e92ebd04763c053f55529a02944d7b5be9e01ce2bcfdf24b358d07f509337649a0dc29c5fec2e109c419dd6368c7 - -COUNT=20 -L = 528 -KI = eb05a97463ca9f4a391a1a94fe55d1875f6e9ef562c4b4475354624cc7199190 -IVlen = 128 -IV = 65b384e6b4cd87dca921f1d23cb85497 -FixedInputDataByteLen = 51 -FixedInputData = ecd99ada5ac4f1b762c830e73a40cf471f0f4c1c4d66f0fd360673eef8cc148ce46f8dc664e4cff5400c1ddf217d1a08fbb06d -KO = 559718a27bf47b40dc443f6a6eb412baefcd4a3ab0fbb3da71212b5f34861f381e4a5082db0bee54435d722f1818ea30db72f332a652ca4642f6038704aee9f37800 - -COUNT=21 -L = 528 -KI = 2bcb909fbbd9d936ec8eaed20bb85b546db12fd1a10d0678da7411d73d8c482a -IVlen = 128 -IV = e77f35a8a86fd5e05a25637665d11495 -FixedInputDataByteLen = 51 -FixedInputData = 044b29d536038b080a2fe37b45a2fcb5d5a1112a1c1ad4adad9758535a806feb4058506e4acff2f0e37abedfdb67f53ca4e282 -KO = 8e253be6a6f211a6f914a706147886c32c0c1e9ab3002b8ab88941181b45f4bd30d5aed1634f3794bf30a9364db00c0f38e9a9e3a4f1942ab390d31017e767ee7bd7 - -COUNT=22 -L = 528 -KI = 86dd02bc7c1831e64b9e577751738a61d373606e9e3ca875abec4ef21e83037f -IVlen = 128 -IV = b43575accf768194ef098d9c3337b913 -FixedInputDataByteLen = 51 -FixedInputData = 8577b219715680a0fc9653df8390de8b91cb4629ed39fda36e9cad31425f746cc293b5715978be8530cea08fed38b057c70ac0 -KO = f39c8fd31eebe7b87f65a72891c98e7feb321f2b0bb3b0a989369e67f3db18e0395065f9a06e81a05fd8d24a476301ccf9dd0e33201c81a961e33cf7ff5c6ee3e8a8 - -COUNT=23 -L = 528 -KI = 161ee22c9111769db9a0273269f76f970e4578e24ac335668869d8122d815a7c -IVlen = 128 -IV = ca75f003530e77af34c5ec3a7f2fa66d -FixedInputDataByteLen = 51 -FixedInputData = 5e90c8d5730fdf8a6f0a4dfc6b932929df3aa459673912b7add38ec134c34830dd0dc698f167a94932e6fa4728c1d429aeccb4 -KO = 3321c79ee8d798381b8443f7259906375917846e17c7205ba9c09794f2dcfbbbc82c1c57d7d5b2f760d552a242f991f4bc447fa07bf2f8a387b9bb064a81bc7d0e4f - -COUNT=24 -L = 528 -KI = e5715a9c824a7c7320f375ae2715c50c516eb557257fca69eac3e2a976f7e2d5 -IVlen = 128 -IV = 6e59da0643272bf97d32356e64ebe035 -FixedInputDataByteLen = 51 -FixedInputData = 232dfbad449712aa11e96bc3ff64257ea96a573b3a01b63a8068f727de4327519482e01131a1b7d5076718b40fcc060e027b07 -KO = 0c9c228207e610f7b8fcab4a1b0ef54e4a277c2b3f27b23204dc82ddc1a03ea6d41702170671f059b8f7ba8b12b6b17bc2ba748445243fd760b6df1b017393592b6e - -COUNT=25 -L = 528 -KI = f9bc42135ac41416df749320d4170ecb9e05dc29c07c440aced88a895f49408a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 510f34c0be2742c28d72a029b3997e2ad6b5de9b95483ca695022b0a29c40084c72a57588858bae14431fa9bc0cb5d93c4c405 -KO = d32f8dda189cc89db53a87c7743bcd38f5a1a1eea436a34c2f04bd8babc9d39eabcedb4e151ca80763121ec688a80c29f5ab4b2a40fef14c874a053c53c43f5d1c2f - -COUNT=26 -L = 528 -KI = 93fe47a583a66c4f3a906771a8b06db9d4e673260055a18a4116a3967b473235 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c9a16caa66dd7629e01f0b4f8401374d3e7207a9930de6c0a1e51d3669a45448dc72254fd7e7e2795f58ff11a5e6b2eba8569 -KO = 3e266b618ac3706cbf916d19ebbd312c5e6cf9304c26720b8ac2ccf641d2b4312d6e6ed0ebe78697f3a95dacb256781427583824d497760512d752d5d317988e49cd - -COUNT=27 -L = 528 -KI = 0e064b17cb3b4ee3ce14e000941242d2b2043604323ce0eafc3ab20ac6b1adce -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d8961946a7479f7ee36540f2228a08f81d5e1e4f617a0192eca419d20754f35d7d8f667fe5ab32e81ba33fcba561a47ad175e9 -KO = 8d155fe5159e0a62dd0306394e8fdf620234af980859af1020e6e8d4cfaa46805c227f1e11b3a6a074f1af54f35f42f42a7fdc2d36d8f700197714cbc679076ed9eb - -COUNT=28 -L = 528 -KI = 6039fe199008c61a633182ebf36f024521adebfaf9df19c1d6188a11c61bf9e4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 590a19c8eee372354a0ce82093f6544b4783835fb584e8ec2559677bf7ef9c1ead2031d60d46ca265dcc7662bf77ea0a9092ee -KO = 68f4de86e8f97cbe31e3bb82ff237979c303f19dfe4d02f64bc9f8685dc4399adbe754182fcad24cf7db9f8612f154687b190ef09418579b8ab540f537322b22c683 - -COUNT=29 -L = 528 -KI = 32e032e477ddbdc28fa67058fb7c5331de70188de82c727f2231fba093335497 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1e8f800ecfc155d6f7f7b1a65fb632817a4b38b98733d5dd11ecb6f6852d28bbac48e2b37a9f59ebfe88b60e77c45c2c1fb2d8 -KO = 592d41cdbb542730e662ebf56628b18da27a03e33a91e97afcaf7f8afd431cce3bb1b5f6646103b63581e00eabd43d8fea67babd7397dd78ecb022e567f40d9ac00d - -COUNT=30 -L = 2064 -KI = 74c0c741506a7832c23f53a744827a12ddfe22b421988114f3265800488b59d7 -IVlen = 128 -IV = f43ca599e5949597ab88475e046f9bcd -FixedInputDataByteLen = 51 -FixedInputData = dad7e226007784e80954e7b3a6b2ecfe72816218f2d9453d2a1e14f95a39d30cc41147381579f7d96fb54496f8ad2b050b32d7 -KO = 9bd2f270108e62b975bc7dc14d4c8a9788373992d3067662e3218d930148981a5a93fbbef4d2d6f9aaeb98e410b30ad428545baad9365b16350577481e5fe80463d5343ab0f18e8726a995bb79fef40abf3311dde5ecdc14e8f9f0c9f66db446fcb0098d3dcae0bf363c4176231e95083db551ed430a3c1f21218382cb4416459018915226790875238e0ff1d407cdd88a784b3e00f53a42594df18e2e0e35c3646a863769f81dbf99e0e2b057363c4e9b04cc94e1d64fa5545deae1ae77abca1afd0f7edab35369373030eafffd2381c103d46b7c1bd44f26ab95da11913a2be78e769221714abfcc0dc86620e18ed7a4a9020f52a11ab5f01749b573a56eff55d6 - -COUNT=31 -L = 2064 -KI = 3f2afceb6e8eaf472756d0fd44df40de9d28f30a677cd2e91f58250912bea910 -IVlen = 128 -IV = 66c6473f510a7be9e675f16a9ce407c3 -FixedInputDataByteLen = 51 -FixedInputData = 0c089a313178ca1400bed7607f96e5e47b235316ee7d58a8feedda0ee9b3903ba7f73bf3792f4dd4b19ad735b0b99f60307469 -KO = 48c7fd0fed2be14cb53d20985dd2a41f6381f62fe8feb45ffb6ee6a2218a3292b7616436fc59037abe7fdd10f700e7908289c2e4b894a0df68f75d4e2d61dc1e327c95536af6b764529aab9de596164db458cce447881c90b4d19948ad0c718598d3e7114e8ec0da4cef3f47dc795b0274e0d8cedbddd3ddee18a7e02cb4504668b741cceb797d00dd246f97e896760447e385144530a3b6baac770f8d06acec64a15ae08b8c1206cbd6a29129e58940d736f25d8c2ce69f3f582b820b43883f6d57e4a2b7e6553bff4888d73f13ad41ef0a552705ce56efb93edc5b21f05a64215154fdb707c224b5659467939b2b935c6bbedf2ad7e058f5aee8509ea2abd7972c - -COUNT=32 -L = 2064 -KI = d9ccdb5905bfd03080948c708f30fb7a7ae0bd6190ff3fb8cd805ac218a1677d -IVlen = 128 -IV = e682dc556d44980b59133534a718d95b -FixedInputDataByteLen = 51 -FixedInputData = 08dd3e61ccf43cfe0cc9a62a38140c94a09d0c40375d4c5f6cccd78eadb4608397b369d73475fd6cde841444499571f9fcb4e8 -KO = bd04537cdf4c8a1a155a1ff5ad3c9dce5c060e589bb7419c9da00eb38ca8b202b9886913aa3d08acdb7402cbc4ef1bae0fc12b886c325d63d41916779358644ec483656ee66f39732755fda2808bee8b914f5a8adba3323826d740ddb99fce14dc80af33d3bb4add552fb3c6dd7dc13f2c0e135a47d755d126926a16569f62a93b2780830bd5ae7c70fca8c92605fed721165d34f3e8a173938d2ca56b2a3bbf9997372c3ddadc588197485b1d74222a5c4d0c1ed7ad5196001b02fbae1107910c229ab0549b193a140c520731ac2ff349f0ae92b880d420fbf21e4c795f1930eb25e5e4519a080eecf092e30fef12f78850f3fb3e75865764e626719c90d0320625 - -COUNT=33 -L = 2064 -KI = 8e5b5f18aec1e3f718e9f8c354bf6dd77723620a66bd74e28c33541fd542d410 -IVlen = 128 -IV = 408700a6e269a316a60f09f6a849bacd -FixedInputDataByteLen = 51 -FixedInputData = 871b1cde8409ad36b9d67950efe92d249ba0ecd297033ad2d74021a1622205907b0c6d1b37e5553e39f1bf43f4a733707e8d1f -KO = 11198a953e813dcc68ad432db7e821af41547598a0370e66ae5ba57f6ac090231331ac74dc7a92336c809a8c792d18e03113b98638f5f065da3a4d8e294c5f5389a300e579c08ef28fe42755b3c0403e656766ae352e068685f9b3f917e15c0de30bc4d0953f23c3d51b9e3091820bcfb53f10aa10fabdd05301d84fa00aa0daed9fc34b022f647d453d1aaa86baa6a5d67aaca9b23c3afa4a1cf8e7ba7365d082b5c1d026f6e2eb4848fdf2972b83bb6cede7327d202df74724cdfc6a0ebabda32435071971833d2dcec004b820fbe59424c3e5b3b984576c12c7d12a88e12350c02df09087a827c59b29aad09d44ccdde6ce4186128c38c9c316eb6b001df8cadf - -COUNT=34 -L = 2064 -KI = bbbfa5901cfa700e1f234042dab56f299e5b9968217462270844157acccb22d3 -IVlen = 128 -IV = 096b6311cdddb8be98604a391681d8ba -FixedInputDataByteLen = 51 -FixedInputData = dc36015076162779952e5b29937b8486af33d9e61bfbcfd02b9bc5157e514ae19c32e6a64de50c28426cb47703a55df99dfdd2 -KO = bb922c30761766c2ed656b07f0e64bbd11be7854a5689564f8e9f43fdd5b0c8013fe3c591006987e63eb3275e658f213e0ce20387bfe911a79e9182e9bff231d098004b9fc065c7e8c140dd030817ff8c23ecd69f5ad20b59fded470f78c3ead837602388627631363f1d5f0e18b638acf02307b71f67da5bc245f32622c4fba5a40e55298b371f8d67b44053c48ac84983e8a78edb77f96e846091bd57add2ac2d0947ab38dddf4b09ed0ae8da720fca688889acb0b2a1bfbcca1ac06c05a0735315142da1a2e2ace7a7500f2d3b75faff4654ee14508e29b67869611dbdc5ce0ae41d59ad4aa64a2cce3b0c87309b31ac4bdf85d27379baa70dd47ff8eaf5b2f9f - -COUNT=35 -L = 2064 -KI = 91557c406e5c802b5fe1314a804f47efe0b4c4bc690ee929d9906ae52c3c6528 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 066ab6a1bd9855249e51ad281deca031999b74eb59b4527100ec76fde0ab19b61fb1b1fed8cc162f2c2e11041fa45d6eb8ad30 -KO = 5461dbf0a487a5d9b9240864102788e0aadca5c1607bb638fd4d06404da51dab4f213b6817bacac08441748427b6e545af3cf5a4ded3be0bb0d4538a351db2927317217dd835723404f1d85dcda40cf35c539353bf74b2988422e13fa9b2b2407c81fe53a29ca2258d4e195b22323199433e33dd838f754cf073d852833a4bc0ca5e750632f526d3b8d1666d8d586f4a82cdcfea91cc39a23a603fc8997c5302e393710085fa80c8de270c240319ce56bc4139616bb48965d8ba56af3de33c24316e46912aeb9c160c5e56a51242e655d818df25f95412f664e736c93baa5af243c6b127babd19fdb3d4f1ad85cbfc9a69046b16733ede690b134399f408996d1c3c - -COUNT=36 -L = 2064 -KI = 254b42358d5a1551fb2c86d70dc852da53725cbcc5ac285cc9d73be5136d1d21 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6d5e8bf42983ba4cf9e1a9a26b03a1b95eb53bb0629244f14d73f7d6f56503e8b268b621e56375b020697d792827803dea6fbe -KO = 297e84e02443deaee0b7b68c903726a7615e255751bbd1430e5d3f518c791852aaaa2be627b9deb3afd4a41ea312416047c55a7b884a23a76eb72f3d201aa067b2a20a145370c41d124488073725f04133a74769d9faa42d4293cdb04fbed546a36a244118a276862cd8589559c2978afcf1e968adccfcde614ba058b3bcc52dc77771609672cc2aa9e5037b87cafa12d0da13355d2571aa12a29d6420ff71b1d18df95e01493d846512d7068dfa43485f57550a91d0c9251e38c02e513a17bc96b10cf5378afc7e53e61023360c0c6b68035d4e81a1a8e3608324eef7c8a2ec80df11803640f560566d0f27cb0e9e757cf2ab5f463e0d9005d7b9b5f19ed60b3b4b - -COUNT=37 -L = 2064 -KI = 049c0fbce0300de727a305c290c2b6c263b8e1f6a72c4cd0217702fef84f1eab -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 50397d05381f1983d4cff9cdf984fd509ed9607dc53f420e9adba2e050782f14437d2fd54e4dee8a06c26d4251b4cd4fb35bbb -KO = 522f868ce40ffc3929f98b3ef874d3132e923df9b0a2bf8b2ec32b5e67abce1a00bdb36d2956749f463e0df4d383ea0024215373d5739b24bc1b994f6320dd5f51532347e186ca7d516b3e546970ec6a2c3f2ab347c77b2a628f10a3a38d083454ec13047e1242c01861c8ec84427b599ef56a902fbc774e62760756fc030bff8dc1171ddcd7558d5767b49b4cdfbdb37ad0bc468309e6c9b6754709cd0bd785636dce1f894e45f10c0113c9561f40646ccd2b2b1ef4a0741682f7c9573b8efb3e4c9b45282bd57e2524b03fb500741c716527e4942525b0d6cb71aff20fde46500c473bcc973cf95b250a5c1434f0413739d4a63c0f2851869e26495eb1b0c9833f - -COUNT=38 -L = 2064 -KI = 3965f577f5f13e24be96cec2cb53f643afa027d172862e2ad89f95dd733df073 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6e4555257687dfb61f8621d9ab3629513404e0d2c21e24ba1896358981239f8195bb01c9ce7a9417cfc7ae7002d8aed5f18f6a -KO = 57e7bc7caa20a287ce10fcfc525b8ab1f23e63b4277bc72202d6390e7cf0394c9d7bc5d9856f1564f20933eb37f18b30e15fb5ceb4e2ddd01fa0df102a7bc96c50358171cf1068e12c3da80f910da493d68fc00f9543119587767c2cac2e4f1ab1fc79583c859e1344e4fb87a2fc071952021e7f0b9ddb5927adbbc8c0a10566f30d9f37eeff6739ade1ad67a41b1e267f3ab9168cdf9012b1b3606c23740314037f1c85116c4d23a072387ab19c8428617df65f5cfcdfc850ea041dd7f611d5fecb21246ffb9ee5187b93bf352301e06a25fdf2d96585aff1336441e58a7ab017a3e71659c5c1090feedf5ad0ab3537e0c45b0def5e0f7f61be20181614de78b358 - -COUNT=39 -L = 2064 -KI = f329ee0214af3b197bfd62d8c19028d1629ac03cbb4834420ec06c20c6c6b7b0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a627b2c1ef55aceffbd6924899c706395b96d0b560d2176b6dfefa05a9405fea6092a8dde3fa332338164bba234f54c89bb57d -KO = 35bc632ccf1328597138e34ac265599288823ad06ab49c2d4e1244ea9695f935d743e538a53f1c646f23cf975fb930d5b58bfdca8f5b3891aed1ab9217be8257aac541f980a08e5eda448a0c9ca5ca0b965ceb81265c847733198286dd3e1aaffd45dfcba18ce295c0ca676afd3c0febd7ef990ab71376a6880dd3673d67076237b00a691a2300390b0e8bf950d963715858805722cfdcb452f278e3875f2d41398fc7b64a891d8c91cbf94d6e5b5c86b8cc21a3ce2e45181524d92d1b65418ee080b024d2d997cc14abec3e908087f4a04b583bbeb8940210a2f70114d5cec1031fe5799471c24ba93c82a468c30e95bb387e234a4d88336540550cd09f8abd56b8 - -[PRF=CMAC_TDES2] -COUNT=0 -L = 512 -KI = 1cc91ac93ce93215c74ca11cb900fcb3 -IVlen = 64 -IV = 9e24eef3fe79719f -FixedInputDataByteLen = 51 -FixedInputData = 28400c621bc2f7ae04de8ab279009803885e7966b2391e7a2cf28ca458f83f48882135066d31f701fb46937cf867dabbfa1bac -KO = 3f46494db77b4497075e0abea59b15c4d97b5055e48eaf1db3c8601205bace9a6053c20867f6756ad0e2fc5c81c69f0427ef66ceb1d1d18f4f2678e10cb93913 - -COUNT=1 -L = 512 -KI = 5b907d64aca7e66b61018b0ff80ccb41 -IVlen = 64 -IV = 8a8ef07da2e5eb98 -FixedInputDataByteLen = 51 -FixedInputData = f1b4aa796b9fea3adb89585b639b7c274bdce13100cf7f8ee7edf1d8d516bd2429dc5bb9a8eb8fdbab5cf728db8b13133c0fb1 -KO = 13db548268c21b50629f7a5b6f85d7cb7415a3f6486c7711a4a4a9aea7f91701d6a60abfe2237e76f64a2328bdfc177ae5e326b7c33ddd800020af8d37719e9b - -COUNT=2 -L = 512 -KI = 809b5d9d41b0eee30b1c117ebee46700 -IVlen = 64 -IV = 15b14fa928bb739f -FixedInputDataByteLen = 51 -FixedInputData = 522ceb92a46a970a6e5b9993ad2e863ce0ca0c8e1030cae09fdc9aa4534165ecebe5bd1ae3f56da05f1fec2682d8335fa68732 -KO = a3df7747a647df2ba914bb4ada449b9a69cc35137b312c57f23446c51f14f8d4792b65650064de0c7f5774d3554441a4b2adc128019b6da3a4d386e2cc2a7d5c - -COUNT=3 -L = 512 -KI = 5ec8207615fb45c098f56a32aae970d8 -IVlen = 64 -IV = ac79b39675c0a358 -FixedInputDataByteLen = 51 -FixedInputData = 04712dd08aec9ab31ead4cc4b2e6d681b94af8f4a0f8bd05cd99aa3da8870a42d118f5836c1d2fa86a81e4916288ef10af0b7e -KO = 482395dab5b864bbc1b37d42fc000d47757fd7735b98323eee34d21ebfd34cfea656b91f61c7832cc81f85e7810248ddb6ff39683c1614984e9d5076ee02c584 - -COUNT=4 -L = 512 -KI = 8ef772aca03a00c6b8af99af5ce64a5a -IVlen = 64 -IV = 4f37c851a5875fd1 -FixedInputDataByteLen = 51 -FixedInputData = e49c9e83b4beacd7f19c7cfcff9616583c8e71670a57957ab57d966b046e91ec888171a847ea62d3f49f090929f29ae2f0be9d -KO = d1be3f7baa6b9aa6507aba5ec86b2b0a2d9d08258f794af5d1e9586511731f69534d37cc300e79d73cf720bf46e9074abe8306f9567ef9baefd53a7c8953127f - -COUNT=5 -L = 512 -KI = bdcc2e907297759ff7847f86eb378410 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 999414f10d49759726e63f5ea24e300a05413f2d3814c3fd2d9ddc57a1bbfd763d03c2231a4dd8e5cadff106f096fb3c2630c6 -KO = a76a1a5dfbca229de59220e7c9a483d8fb35906affa2245a6171eaf3885d4f43f3bb9905b3c6561eb1d7ff562d9aee232a38d498d7e466898b8968191345b34f - -COUNT=6 -L = 512 -KI = dbe6b42053a60c7dbb48b4d0011c2f70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 65b3498f8dbcedb82e20a95581a11c4beb20378d55765e98b07cce4a23fd2adbc5c9b11efbcd8d166fc76eaedb2e6f30fde408 -KO = 9daa233bec5f90b2a6669c43c9cc5085ad2308a175aaf5d108f4c591b28923a21bd206dad1edc97c267560c2901f179d1919973e1c71a08725d94f125cd11122 - -COUNT=7 -L = 512 -KI = e0ad90eea11d818e8cae2b567f389c45 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5992d23e28f04ee193e7b98c59abc6baadc90b664f6f57e0dc3a56b92e95e6411a101f3342cac3b3f3b206f2bf827834593e8e -KO = 0a1f681abcc472fd102d26e1bc363ec988c1f7f3cb0a5e502b23f4dd8c799f6d8195392867e1698993e3b8abe504bfb4375116c703378e28dc5c1cb2211080a0 - -COUNT=8 -L = 512 -KI = ba6945f7e993e69238f58ecacc115177 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1f7cabcda24bf3a3a92448f6d0051f88f18b5db33da1bf7fbcf3a3b8ed90750bc7ad3653dc5a91096dd6cff0e54daf2bf480c4 -KO = 236df305d617008c6409f19dee20363430f85773d241994ece2e9523ac6631bc0b7a2d67fff9073bd0b9f915b1d4f513b70ee1e785ec3a2ec714c8b0c75b784e - -COUNT=9 -L = 512 -KI = 30821c8813fdbf19fa2881048b1acf80 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0306598a6c3bd43ddb46083bd13e3e261be0ffd0ae10971a273d4af7b4934abd34e7b0ff50b8b7d4030428eeb608b65c831e02 -KO = 6b2ba228856d1d401198228daf711edc21b6a0985b1bc4ee5df23fd16b2fa67e6341ae7b57da0fff79e682738a08cd1472de6a91fb05768cfaf84a3b326e0637 - -COUNT=10 -L = 2048 -KI = 429af1ca656600f594fcaa7aecbde8f5 -IVlen = 64 -IV = 3b50768f7c072ed5 -FixedInputDataByteLen = 51 -FixedInputData = 5846ac222ddcf53c550d5215188ec1465456ee75722450c49cf7bf3dff8b4c75df090d056aa9b39824a2b1d590b6c4fc00fadc -KO = 05fcdc198869782b3cbea55d276c55099117e90ad3645030415761a73ba9c879f72e044856d92d46fdd1bbea7e7795aedbec9c84aae65725d7373a24e8ee18872542aeb3e786fd5477c860223d266d41f7d6bf00d81035ac525f015d41e8c2fc71871f2231c5fe652c5c0d285fe5bebf15491d49b84d3e75c56883b1039423231929a3f520ab1365a458835f0d7269f6631c753c7877a1ba9d89e25d8fc651ef531be7893c703e6370cd740fad64382e11979cbaa90a5aa02bd959d6d1d904a357c4fd364aaafb5be5e7d977cf266a05ec2988ff2f5f553f67f84ca18fc809d854dd5222c9ba08cf6a8614929793d6146b5dbe71037a5c3f4b6ba5537cd9f480 - -COUNT=11 -L = 2048 -KI = 05d61828a6a2408dc431319205d07da4 -IVlen = 64 -IV = 22d0df8a8cf68762 -FixedInputDataByteLen = 51 -FixedInputData = 69849277cb2863054dd812302f15bbe5d29808b558478d57fca42c5514f4b90229b64d70597e51fb9709751a5bb37d29590537 -KO = daff348454f9509c9af6bd4f980db173056397faf25f748744addb318a5d6ac301cc6559e48ad8e88dca3e824bc37adeb1d0099c7b429915ecb2f2eab5e5930d2e951700bf6881f26209b238806df5dd1ca95a88454073f747408c38067c176e5c77ec8bdda504f964f812f6b688593b1a0c43c354c6c966d7fe0199828cf697e8505de4c80dbd31aede46918fb6f00220f777f256407a40287a8badfb632275b5b8327893e6ec91ffe7710cd1979e65da066187c1f799ff367ed9f6d7006f84b5a4f6531a8e23d7197f2b68c3f2de09c4a1ce4a7fca06859cb8673f5591a826432cd02c7b40b8498547141196f68d7b8f1d622eb4436793cd5f0c41d7b88cf2 - -COUNT=12 -L = 2048 -KI = 86e2a6b670cc59048d3d736add0a8fe9 -IVlen = 64 -IV = 9810ebeb8449d5c4 -FixedInputDataByteLen = 51 -FixedInputData = dbf4a596d893bd67d877ca472e812a58ec0571c60d2e9a9b20c6825e2ee7053a42b9a51544b0c661aeb12dac1bf232cdd8a678 -KO = 4c71897cf4c831e5d7e68efd14d8414d4efa7a0181d88a55d1fbf8361950bffe746efb718148acd9e1edf0f6849b429dc465983e12ce5534a726b6edd3b6e283e26659c08f07e7c47f32073426aa8ec408bc66789ab38f9c36d391b87fa703ad7cfb5eeb77b77e694ad63c0fbd64271c514c9e50aae1a007cfbeb7b75ddbb9c41c5bd90cd4022081d281e6d7bf5bc3fd1b7bbbd978a1a119f095179be810ddda6e6578af8b8b45c036d48e5610296adf2c5915c21609dbbb124b2a5b59731ac61b0aaf3487cf436ed5c5ec64b048ab2e385853964bd0816d9f8b94259b4e53fba6c8419c6f4bb257dfc2eea9aa171812c96dd6bc7124502e7bac179216fe49b6 - -COUNT=13 -L = 2048 -KI = 8bec3922ea415b69a45dcb30fadedf59 -IVlen = 64 -IV = 80e6c4cca287eb2d -FixedInputDataByteLen = 51 -FixedInputData = e0f3ee62ae1d16e8f6eb45d025ec4cd94340bacdc2015294c7c689413fd6121f7c7232e1826903f19346f9153004f9914a3a84 -KO = 194a8bcec33ca971fab7f8045636b293039ace68bbf34179a46eeda365d2f0d7db559055e670682abb997ba96e6a80c7854f17f1db7a36918185b7d0c341a401ede9752a78df27f087d26956f15607203901acaf283dab2ec522eb0ad35eccdc6351337846f2d90e3d7b3a0d4c18052173b95a9948a4a1314b1f08b99f42b60f040258dff3b8afbec4331c6ccc64cbdcd72068958b68dcbe18c4e0c173c192eff04426b8773508b23dd663846f5a5f1ca7c2cb5847df0282cdc22838d1294992c0479fa11e1ef61e3fe794400ce32c60a34fb6491597708156df6481f5368462e87eb93bc71b4fcc31098ed478f010ea1b74a618b62b3b0a0580cd8cfbc1abf1 - -COUNT=14 -L = 2048 -KI = 10508fbdb105c3bb5ef1e2caaa0b7417 -IVlen = 64 -IV = b203ce3420835ada -FixedInputDataByteLen = 51 -FixedInputData = aa48ff35abd06ca13915aa69df491595ce310eafe1589678595af199c16b09a2e7906317580a55daa6142f38b7432e8d252e58 -KO = cbbd03ebd54cc47e861569a0efdaa564d925cc4fe274a18071fc19e42a55289e8797e4afaf9648939648aa40a1769442b25bd776933f7668c06d002a8b1d9b0ab4d435fd4a2005ebc61e896b02aab4fc3508ee7f4b23d1280edc62780c71dee2a98763a1dccd5bb4699ae9a7122eddc296da72433a5725ca4b5fc547b231cfe0178045b75b5e635f351c228b6be709309b574a29e38006a325e3edbd47d8a53ec03fbb2af6f4a6c39856591e9048f75904b9ba30f37755daab3013fc6be6fa9eb67854756dba79a2230617f37916eecbf8c0f24535fa0c05cd5a20d58f62d232938b7052a57a0befe067b3a303d3297d6d9aaf65564da1fc50de4f0e9909d08c - -COUNT=15 -L = 2048 -KI = b174d6186e602bfe67f394fb65386e40 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a9d6e3588c76cf3531de22a8efc221b1306fd0dee764ad773989de7d709b847626cb875f68b9750ef9d9f677aa16eee581c63c -KO = e5d18675dcba455414a984835a13101a88c250b6902480876c8b6b12c8416211af951bac6eb1b75812ccb21561656fac8d18af922c4f341fcabdd1a27b8ef07ee4309f16334e9e4aa1f2d1a18a375ee147da5dd6b60f1e9425020ac6a07089a2ddb799ecd55d11de9ad06b3c3e669167dd55151a65e01c0839440875488d36ee7e475b0bc036443f57b739209e9d8f1a67515cb2c0c06371b27628094ad1d192b278566602b1e7d77d14a185b9600fa9f8d1e162375de0769b397b8f94b96338585faaea81effb6c2c631d05f8dab386aa1418b78b447179332d1ca333b36004f1509026e22baf2665cb649488ea964ce2eff3d524b1a44641bd75ac29da25d3 - -COUNT=16 -L = 2048 -KI = 5e4a83bb7bbab9cb3335bf3212fa05f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d89c2b516bc71f1d9288ccaca558e1f56ac48bd0ddb3332caa33768ddfd7d93a0c06c407def74dc16a15538acb3a7abcae2625 -KO = e4464e648962bfe52a25b523c76ba827fd4e3262f44615becdd2adb54cacd431470252b901e804f656fba00ed64657c278e5241e6ad8f925a5fbace0876395eb05860971cfaaa4dc29b5a059c609038a67a68e50a525a1186b15b76ce8437f353fc5ccab9798972e5a630a6fad804b971759bbb78e15f348e3b9864266c471f7abef26ab129152c08451568630e5ee2bc412ee6117223a67f5101056c8bd68a4ee4c63ccc73103ffccf5213ab44fe74fd167f2790c44dbda41badf7b7b01f9edef5ff47710eb91cbd026854ebdfc1f6bcec9ddaede151aaf9ca7d3d4f38d574c97f8cab1ae82f66df9d75862079f5f0393f282941bd9a6f7de4e0db033fa7baa - -COUNT=17 -L = 2048 -KI = 990eadfb0b1a56d7e598d444ca5369b4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a20a3e662c1f6cf58d4becb416f2fdaf91de15a80485f73de50486efe6cff2217b8df5a4e4b68adeb568d0508c6f05c7e5fc30 -KO = 8e404fe33218a6507ff4fd5e2c1047b1a656f3a05f5de2fe9a3f7e751cdc564ae38e4d8ccd2bbb71854cfd5299676c9b2e9d328ca14224ef7922c5683bdfa0df65e5dbe463fd89684aef12f943cabe1523fc8ad0d81be8aab721ccdf2a5567c0efb27aa8bbccd348fcaea82aaf410976bb2f3301e0a305055e1c3f419711d401385ab21e68c298254bbb2397d36579373ec6783f45b8efbd92fadf36d6137309ccf5f320b2495ae206a38a3c62326648bad24345bb003c035c61eaeac3e227fa6e5e408de0bebb65951bd3ba74697b6572cbc1a4759f22cccf5beacf21395dd0bb3622a4172b908e23f9ed35d1f5721d28003ed38626efb13ec30a121013c38c - -COUNT=18 -L = 2048 -KI = 9fd1b7aada363a78acf6f7cdde4b95d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f6beaaa98444093f54a8bfb52e9ee3651da7d19ffab17caf1289aa408c0b0cf8c7b210979c5e98c5a512995542ac253408589a -KO = b8d6dda3029a41df59627106f473c018a740eccbbf86fd3d61a49f987e205fa61d9198c6374a5e9811f224b2f68b68e39c656c34cf4159c03268dc5493677769e83959064a76b19f9d29129756de4d34dd36d9b4ac857234fd44146a914876d81af3e0e83c49612510b677b90321355b8158c2d38bfa000aaff524c4debf84f0770dfd8067981b5c6f6ab06a024f6ba3e1e9b6b1bcd7dda32ffd674fb05eef8aac49226c87a980fde345d712f044c3e036230a10fcd9e5079fe43b5c2a938a897618ea5cf214973aecae1a9729d98060853c674ddb5621ea52f4eb2f69227e640635a7d9010b3e50db43b650a1e030baeb793582e930ffc6aa0ad6c862d49716 - -COUNT=19 -L = 2048 -KI = 0c8848b6f06844e96835f58a9a152d38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 18201cd28a114e844c2074396fc0c120cb2877ccb4347634c6c89724259095b5f58155c3d0cc2fb8241ecb4a76fab76bb1de2a -KO = 046e52ac476991635f5b89bcc6c11eb3cd10db5269d1b8181c7fb4a86321312d260b0a031e1e9df2c8f3a1823058f2dd3409dcd713b7fd3d101bbca35b4a5e9f431cedb6eb993e8bf706056b189ac4868f6ad15ebab128ccc18862a782cc969989165b5ebd03e71a4d6c4c8dbd303509c4f33c9635cab64eaafb6eb8dac66a8a21c31ffb9520a7c84af359485b549d9a7b054476e14a60b06a4c5e8d14aecc4c2329833bfc480e0915922523d17be478387b64fd7129a805cec75813771c1ff07d957a0762ca7b23913d90de265f8ddc175eaf5f9c5b7f9c032da2cdd582af343f5c941897c4a06c38069ea2aa7e3a3dee973a63c911b94243fb96d56ed22196 - -COUNT=20 -L = 528 -KI = 970524d3aaeccd89c78c0ddedbac5fd9 -IVlen = 64 -IV = a7cbb10f403b9f56 -FixedInputDataByteLen = 51 -FixedInputData = 7f263c0379a7ef057a051c4a183bf6db7ea530cf7ad2239f3b7b66c72681d9154145c6be025da57629719dc0dd8dd6ce882f56 -KO = a863858fd61a49216ac0722828f23aca895ad327e3206a29fb8545d209b4b3ab2c5515b3c61fe92c8b4330e27aa440d20f651e61a5109cedf9a39acb4b8669319daa - -COUNT=21 -L = 528 -KI = f1f7a14dbadecc414d42f8c33a9aa503 -IVlen = 64 -IV = 89b73433cc2f7efb -FixedInputDataByteLen = 51 -FixedInputData = 782d6c8d8d704e5197581f7762a5fd51a35d0ea540cee6ef95cd66429df3cf89348db02b1f5cb2575b59df5761eeecf180e4eb -KO = 014d5f434cd2ff52c0c3b89ea9a3a1af14f08183e1532e80513c101b75a062e856c14f8ec2298209c53e35d395694f4978427705ec33e666da8025e950856462c796 - -COUNT=22 -L = 528 -KI = 21236fc1ad5279421e580eeeb7a6e3b6 -IVlen = 64 -IV = 066bb58806e1881c -FixedInputDataByteLen = 51 -FixedInputData = 474c3d7e6ff1da6ecff8165c75293e914fac94509d47e248921626d24b7467f9b02f6bedb62c1ed13000a1d1dc990be752bad5 -KO = c659fb42a60404e7259c270b956a3143f952df98e9c3086dc38f0343db565a99b6b16d3de2ff919130f4befec15fee193164a36dd5c227eeb44de82e7a04c699d503 - -COUNT=23 -L = 528 -KI = b9aa41c35bf7be5e4d8abd7842f2d6bf -IVlen = 64 -IV = 44e6fbe72c2cf55d -FixedInputDataByteLen = 51 -FixedInputData = 86c024f3da6c4c799a9164efc5a497876aec0c1b2dc6f816a7e982ccd5cfc0428dc04cb091210c795a8f92979cbca8f91a76a0 -KO = 615f7f1d4e42bb5c7453a0f210dc4a7f003207843a30eee5f612168a34ae9243fd739cd5e6876dacae45834f40c42cd3634211f0af820adf579639321fd5b19b3bb4 - -COUNT=24 -L = 528 -KI = 924d321124ea3e7529061ec90dab0189 -IVlen = 64 -IV = ef84f8853b846828 -FixedInputDataByteLen = 51 -FixedInputData = 7283df3fd383796f1e3112b722d88135722a3ab6a53dd82d7a6beab5aedd3e75eb4470c1a5ec3d1352646d6b9ef9d7a0d5bf8f -KO = 9508fdfbdcf394932e097fc03037c97336b25c49a73a39ae483206e70a1861325b490631c3f3bb6b602023725f662ef9a966c974243960d879dd0bc2e84461d0f5ec - -COUNT=25 -L = 528 -KI = 86b42b8b0b0a37b7b961ede842291e4b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8eaf6df52359f9ae9a12cf3cede2453fbfbcd7c806b6c00625f85659bc4052c7d321e488bbc19f3cd6a4e7cdebc538662a6801 -KO = 8da52075002bedb95c699012073e942436723bff16372c4aaed16db54c431bf3da9d87e391df80c776ed4921bace343bd1007b2e7d95273096a7183d5a72fd352d08 - -COUNT=26 -L = 528 -KI = bab8989db36016e7c842da86d60a450c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 80c41002bcb6dde5e1ed5ec0d1fee142edd9fbcc808263907f2e63f48a8e09e1d17c4eec0670189c090da2c9f687c29cacf205 -KO = d55763910e7ddd5dd2fe522bf3d69dfed15ebef8bdaf13eff2a375e5891b0a1a861d1cb2db3a39186d7d050d3537e323237e5a5398a61102a45cac4d5cfd9ea5027b - -COUNT=27 -L = 528 -KI = b241c2f0a2560469e38803f6060d503d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2cea64b8afbec9385aa6939c67a2d36b513ea57c36ec1c5955deec2ab6e0dfc832abf4714629520b50c7b5ee84d1c81577e385 -KO = 5eae82a27b239d4736cb947a302ce0bd0e69df7ed98a68778a3ca4dd149e62c26e7b5be5aac715efebf74cc4b877ebc81a9bef6701ed124607f8e57af1258287c8c7 - -COUNT=28 -L = 528 -KI = 0a2b31457a7cba108c59494251e27f74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d29004608f7994e5975e20eb77a35a6443c46ef3898a7e631f77f326e65ac7ebefe4875f9d7e3ca2d079f5ce3d3805e773148 -KO = 58d8216159a7737dde448defc4f4eb818dda610a450fe783ddbfb35ff7153ed25664bee75651fe611f9db0e7ef196191c12074483ba83226b44bcfd9b319e26ea057 - -COUNT=29 -L = 528 -KI = 427e35a1875d6d8b04dcd69c0026e840 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a19117106b65b784b15dc373bf7ca097e74b405ff3a508c21b9d04cc0122cba8f3a7a671bd3df3d42d46447d47d07302902615 -KO = 6b12e42dc0f0a02b1c433fee7968141fa191c6822ba68bfb304af46d6b645cc30a154990bd7a23a54c42efc1d47d3b9ccac26676c8778f7a48c1bdf6d0b179ed6482 - -COUNT=30 -L = 2064 -KI = 300472277a0aa17497145452f9b01dc9 -IVlen = 64 -IV = 28d4743aa4580d11 -FixedInputDataByteLen = 51 -FixedInputData = eb81d577ab5e95180c6ba667e9cf78a9f74f1d8dbfba272d65a4bf06cf4ac1022bfe2cf2fa9139c5dc67a34b852f715dbd60f5 -KO = 8a5ca189fb51ba9dda1c0d85c17b8d8eeb73e93a3ddc21fa78f4a181532263ebf796733c6493aa0d97247e9f3294ca38dffd6b757dd37b87ff69b186d420447b4faedac279464ce41861fce7d5f8ef7ca1b649a18255e5ffb4961ad6cb479694cf0796ddfeb80f2539866eba171368572edcd3c92a766c47df9d45cfee8db0b33a7300b5c8f9f1793d281a63ae0a3f47e0e31b01734ba8551a7fd4f50ad743512ccafbb48c612c00f1eb701d65688b9931f1e933f5bd97eb8fe5ace4d09ef129918764dfa2c822d9aa0a5ea2b0cd20d4472e75f1aa9331d44fe122450cecb6d47e0dc7256beb7c8b190e1b85f54def91db34c95b910c6bb82db2da4d86c08db7a258 - -COUNT=31 -L = 2064 -KI = 8d6d3032a7f5ffd2184f6f53ac7508ec -IVlen = 64 -IV = 1280c364ad8fda2c -FixedInputDataByteLen = 51 -FixedInputData = 524dcf0e9b3e513854aa52d7992d595d54c42299b07b434e0182fcd272c058221961449faa76c3aaa6b67e9f817085fbe75847 -KO = b7847a15781c2d5aaad2a9d9227217144d720294222f356e3090eb1aae4145b4bbd4b6948003df63e383855f30a36e64555575dc3d26494518aa816800fcb3ab660958d95108ccce4067930fc1bbbf782aec432cf658f09bdcfb47b0ade7aec3f5e796cee2b1decdcbf3f7a5f568683a00714d7a07c068b5a3d24f76269f3921a2a82c8d6d708cd6d1858d6df84363679db77c50728e2a19005ba82dad6547156d4fd35ca5d525cc8539aea7dce219c282695e5868a09166c6cfe810dcff2e20d55b5e1d8f129bcd543cd26db1e1f8ae091b8e7a6572224a29b8d316e9dd4b4b92a7fa1cc13b64f3a17a11e1c43b99115d144d883da2122f310902a3af1dd13cbd94 - -COUNT=32 -L = 2064 -KI = e049fb62a1145b8ff348946779a11a2a -IVlen = 64 -IV = 7a14ac935558b8f9 -FixedInputDataByteLen = 51 -FixedInputData = a3035ead0dce8fe34ea7530fe1db3450c3a45418859550064f0a25f8d78beea14f6d8c5ee081652c32d25aa347bacfa14c79a3 -KO = ba46944d967ba9bc9c082acedb5f4f50509ebb8e74f1d973e2e3dbc5bca1e8bea67955d6cc41e19e0c783c2617d235575cefb4fad03b23a12fd8af8ab5dc11f3818ed745d0955b71d17815ed76560ba22078944869858999f1bb8f11dabb7e9f2db26e0dccdec1d8af8837188bc8a17d5fff763e4e30d3d71a92fccb824c55b25e678a0009f32f0ee88e415ccb63dd7cceabd54aeb6540ba0ac75cc02d436a47d724a54469ce8b6eb3ae451c78aadfbca5821c243aa74ead5c9131d1b086bb1f1a5f4ba439039c152b175808276cfae637025e70a8c0e4a04b51ccfdba8d0d21987dbba398089e4ed50ea1ab7c95ea044118a6674f10c95d279b69b8b0f39b828312 - -COUNT=33 -L = 2064 -KI = 7a2b6b469c00178b5313ddeb9bd159fe -IVlen = 64 -IV = 3af7f56a9913c3be -FixedInputDataByteLen = 51 -FixedInputData = bbe9464f0913052bee89ec71db90cbc40072b74de4f7b0ce2e4dc678439e08b05c02b99b0544b011810c25a7a4a2b66d65a384 -KO = 13d4dd71f8b2aec8d9ae5220f1e7c1d2415c6b87cd6465a88d36b21a40525b5c2c827950fc0c824246f868b9d36153c62c56d60e43d6088fa85097ed6b76db587edc2dd29dc40df03c54a52c8c7e7e519ef6d8c1051d8fde73ddd40889c041d3706f3ebfcf023991505da4c1a2a060e3017c6f070439518dd8fb09d3ee63ae617cad01b9be9c32ec897d3203274b9b32441c2d9c551066bd966e2708f38d180bd38a71f75958e4afe51f67d5827f303ee61c1455dd126992a12daccb845eacdba7587b13f33bcbbd6cba434a58780707c60fc5c61659b7d0debaff9428547c7a96fa917db054ee8f588f8d9f5c4858adcded96ef6843dda316fb1706c6d84804f93c - -COUNT=34 -L = 2064 -KI = 477995e23f3eeb140121c16a0f8154a6 -IVlen = 64 -IV = 69cf96ed25ab7252 -FixedInputDataByteLen = 51 -FixedInputData = d84549c443ab92f2155323933714e3823d3b841505c8f06892bfaacc82b3ed6d8cba8fa7bc23588a5a60edc4d4264b905e8930 -KO = 3ef838e8d24d88f14a7ab695a63c229776d60853882d9b8462de79211963c23afaad38623fb6893c03dd59cb2c028daa2aa91d7dc8bcb5be11a0df411f58ea7a1c195a81f34571ace475be31fd975022badb94d1e7b6a30bb462d3c749abc57fd0031884684fcbd879b3cef1fa076ca26b46699d6dae1521201724a1e896f69c9e24e08a374d0e776609d7a1d7c41c8b7fecd91e2cd3c0f3fc2addf79ee088a22f019e87f894c8dacc09a444e01056e345e9cdc52d8cf712a1fa30f0fc8edb7ec3ef9d384a964923a15500ed6f2fc53beb6cf59f58d501aa280fbe9c54f7e5cca6b85acaccd2191b84b9eaab6aa183a57c509794ed20d001d7fee3ae8c660cb8a147 - -COUNT=35 -L = 2064 -KI = 04369222bd61705eaff1c83f057ec14b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0d9171363c737ffed347d66a5ebd6742960dfb965ff22ad9de2f8d11ac0637d8bd6c191659d19d659957af1f54ba1a864b61ef -KO = cde4d4ee7bfd92294c1c3edd9bda648a2966986d90b392b4da580616794107245b7c11a08bc68d28a0aa18232e39e2d2267dd4a26343233c082d8b5fc9b9fd62a4b929cfd7d3248ad0224a279128d1d716c3a7bab077da706b9cc8b4b6c8d54273838122c670a6f5a3acd8c48cf47190be731fc7351f4c196cb19ddce160110703caaa88a6d0b704998e289cbe6fb612c3b75783a42e38be630fd54ee2c1917266bbf09a8fe86c2751be075103c84da1e4529c03f27016ad46c507f28b3126952353d37c2a50946d301e4773ca423c419d0b4dca2ae10a745da8a89ee3e178af907242247544e1c5344107ec58d28e652bb3c6c72ab3b8054ef1086408263dc19c22 - -COUNT=36 -L = 2064 -KI = e786ba58f5384b6646f01ba2c96e3de0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c952cac5fdb4ebe926dc0d19bd16bb93e8016bf1bf467fa7e174e7775659acc9e3b0360764279ba0fb7e31a2731331e9f3285a -KO = 8fd8e592eb482374d01030b5179f152535ded42c7c8652a33031f0404db2a13cccb055a55f87eedf7009f3b6dfae99c2adec1d95434ed0720b4e90de6e15e8d3b52413b64f43aab114c54f989f9bdef5a2ee49170d22302d8bbf3fa9668e345e6d4393a147fd341fe8aae453255f004676dca1573ed542a7c735fec4004d24295444c6967dfa2754bd89750c9bd8fbddbc24b8cd414a428bd6853d66b9b47fe8700213f85ac3130f1e1ac0fccbd2104ac58445416bd1b81d5b4a0393e8bc76005fa73bc26d7fdab0cc3bab7a283238cf9eeedbc65670022d9170d874882a25b05f591d75e8025ad5e3bf3e78bab4fa985156f4920bc50e666285e6a6bf8d662654d9 - -COUNT=37 -L = 2064 -KI = 686f2dd1301e02e0dcff20ecf374992d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6c28baf6f7279ecca02356f365034844ba15288459fbc52117d7d0998c44c6ac7bd2ed5682ca2c445e2c7fe1a1edbf3ebb40c4 -KO = 60da08056d4d2f250174a485819813909b88579d294030cb817aebe2464ece4c84f9fa05803e0ff245ea89c4f20fa0847e96a98eb95daa3684112d1f0228c02c5cb3b9aa7d5b3205ed02a62693e83f6be34a29d228aef9ae0c98d9831f1a7970077f15f61c24c6897cdfb70a3df8c91c86ad7a1322bbe8032c46834ba7f7b4ccb01e222757b99d3ec2e3ccdbfa81481c17ab88ec0cb729a262f2eb3330b095eac5e023d473d7c192cb378bc099b7f6eeec82605303b439027dc1715862da00b53ef12605dfd7a01f151568d888bae6c1f865384162237bd4100a48143c6a1ba3ee9d4d381f8dbb29b2e6dc3903898d4346e4db989eef419a8a55c2b5bd56355781fa - -COUNT=38 -L = 2064 -KI = 4029bee58d3378a5df3b8cd3a4c627d2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5561f3a1f79ffebc0121c4dea8646bcb467b9e4818cb33df483e635dda6a3f3e4555fa220521c012feebea1ae81874d3de5208 -KO = 3876088b37b343539ff72515e55e9568497f8657c669652e7d489e0eb0b93e0661e82d1a1bd231640e2b4d3ca1fc02a5f4e2a64efc87e7d0a95853f68c79f566720b5e064e5215e0a7f4355cd39ed69c7a5f729ea9230bd4e42efe920be2cc17868bf7e0299ae24c83410f096b075b39d5a5d99a53b4e7449e08cf6169f897770044e03c0aa8508d0368dc8c65dd6c88e0e9815a4778da50e7d2934066bf2adf9e857a41da13b2276396a56fc7e4a6a2a29fe0d10067da8492c11f1d74d0bfff38f9c4ca04437064e386a93f02e5e30148bc26985b937703e325e76b421451003659ba2a7b3cb586d79b6cfff2e1e9fd1425e8f581245d0aa79e3eccdff875be1285 - -COUNT=39 -L = 2064 -KI = e33b542731b09ad08e91fe96544fe4cd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6525c77e92426d0e8c56e010db51c7fd09fc9c9c1dc9d79658cd11ef46a6e6f0a78f2c39c1f0d731ae73a0bac234f2364cec67 -KO = 0dc9b14fd1f32f76f462f1dfa0c70175804a146a36164656509d0c41dcec3ba0a63389d20e83079aa2f45c58782b190d4531b820ca503ca290e200be6c55deed7eb63d55652f70ea02f1c42e94ecbabc5ec646a57eb2359e3060a404146ef68c765df516935a59ee853c9db6a236c0ec41d7c170797c355227cf60a5544a0fa77ae0b7c2fc7855921f117bf10fbd166be2d0720199c9789570d66984b94dfcd64e9340adc9693f9e8eff02c282172288a136b7ba47d20f5dbf64a517438b96a4a912bb4fd4d44eee4f5c3d4d6e8dac81feedc764d145e5b74f0b7ab89203c72a75a9f6d18e1aae33aed506050c388d09555125f544501c8d9aed616ac6afc3090fc3 - -[PRF=CMAC_TDES3] -COUNT=0 -L = 512 -KI = 381a63c95b722caf0f3747a2e66f508161f8da88ccea9532 -IVlen = 64 -IV = c11f0930d74e45ea -FixedInputDataByteLen = 51 -FixedInputData = 49fbff0698e8f4c59a7c6100c70e67fb0acf1c2234ba54ab0c3b82d4f2d7ee098fc29b6f5f90b48a0784a167e658e610d5c667 -KO = 7a878fbc67270458605d0b83b9363aee957c7bf40892f37572dd568fb5a46f1cc140f42dcc4f2561030794c27bed112ad8c845896e55ed18dda699663d35f600 - -COUNT=1 -L = 512 -KI = 9855774b5801299834e62e9760da64bb815c4545b240b315 -IVlen = 64 -IV = 9e42d7f9298b2ba3 -FixedInputDataByteLen = 51 -FixedInputData = 665c7c869b513f2b91ee7c4eed7b973536a9d90593b82944c3601a8d2b085b155048b27c6adee7ca3485545066a469d39e4ee7 -KO = d560a8923509e2da683e7776845a486283ad8e5af5d47d95c8c72fac102539d5f84f7a172445709b944c85e2d428502c0f5f910a014e960571cbb0844c473e0d - -COUNT=2 -L = 512 -KI = bcc479e6f3770cfd6b06ddbc598e41952e97bcba70646f47 -IVlen = 64 -IV = 741750574fec8f59 -FixedInputDataByteLen = 51 -FixedInputData = 461b33b13f667548f57422f8639bb9236777538bbdc56f406f2b2e856f965252bbf4c153c89b9f96d7a85e2a639ae32df9a84b -KO = 86889e350be514738538a17d690e0c55d63fa63741f06d21e6fdcf9ee4e2633d216bcbadc41001603f62573f60eb77f1f2cd455c77f9334d8d995b9558db40e6 - -COUNT=3 -L = 512 -KI = f1bd45a4b1ec4fb98aae5fc354183c502d079a148d0eafd6 -IVlen = 64 -IV = 1b32976f284811cc -FixedInputDataByteLen = 51 -FixedInputData = 0dec7cbc4385bc06d84a655ede4ac421d1e57bed6ddaaeecfff22f21b81c1ff9efb2cd067b961930609c0185de477e4e0a6931 -KO = 21dd0e593ae36802d63934dadeac98a0b5b554c3d5325873498df6f168e1b418d7b07111802042d84e4a2e70e7a070e6d4dce9172c773f558a6fd12b28b01525 - -COUNT=4 -L = 512 -KI = 06653efb5a592457c1669a2e536ee44e2c37c5de732b2256 -IVlen = 64 -IV = 88f8bb6f7ac77677 -FixedInputDataByteLen = 51 -FixedInputData = be12f48476906b4414ad0c3072d9e489848dc763dbe332375c449ff9ac78423dc34dd0a5d9bcafd798fb44b42aadc538b4eb8a -KO = ed60ebbd09265169e940c9aa87523db14f9fefc0254ad78c5c2532a54825ae6a527399c4bea708257a06c23a7f59bcf6c7d2da11a40fdf3f864da4b97d5357d5 - -COUNT=5 -L = 512 -KI = 287a88fa6007f40673f0d8ffff5299bcf4cce8c6f4f64167 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3f6e191f3a827f259d394fe455fda61183421e085d9d60ee0058d202c007a5baa1c60df61526a27ceae3bfa59275363becf1e1 -KO = 21dca3120ce462456ea5193b7ba75d553e40207a1533c6d7fa5e4f324575b9d024c285a47392fb4fa5b577adfa848b115703ca3cb7333d8bd661e3eec346103f - -COUNT=6 -L = 512 -KI = 955d91ff0070c9ffad3e0a8aefbfed70971043e09db4aa60 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a7ce311846b6320c945ade3f4baf1197c2539e585a1c1436ec81c34a1b730b8794029952c676bb94faaddc448bd434eab87f6d -KO = 144625f0ae76a1eeb2da4549d8953cefd350224b14aceb712cc8c78a154c95d09f08d57b508357963383638368a1d3e4a68c879e0e2f91aafe369efce353862c - -COUNT=7 -L = 512 -KI = 872c39e86613a0ceb26945b2ea5c585191e1393afeb4b53d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 754b20eff2b4bfba3991fa8c8fbb59b0f42c58501a146aa411e83a6710f7235147c827cd0d5ca6149d4cfb6d79d689b5cbcf32 -KO = 7739deb9ea1abc027740d354a774d31faa2a58daf8293ea04cac4469577cc75384f94b61f0ffe41c6ac956a4346982c9bb169cff1456b2eeed72aa29ee792112 - -COUNT=8 -L = 512 -KI = 7c00da629bef24fac28870c02695203b3da88c1b75b3753c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4e678a60e2cfcf46376dcd73a594ca54a6a0252dc39f1426702244f8aec3696edbe9409674a801e3d73e46564427527b4628e8 -KO = a41549235950defaa9bdf841fc4ba33ec4d3a1bb236c661bbf2ccabd00d82c04c9194cdb20a768b390f1e82fc114ed27af27732d801a3e27d93860cad98b15fa - -COUNT=9 -L = 512 -KI = 290796c334ff4904f30345ed6605d976dc7ef9061de518c9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3cda29ba147828ae613e2e49a88a1cc3b6136a5a23b052b1e2db0345e4147236f0ee95fad241ba3363d1bb5533036b04963b69 -KO = 9a625b54587f1e2ed7915fda73e2cb3a018fc5a524279bd1fe4ce97e3c7d344492d7b19412c3085febe840a56610f5e6efb01a5701a2891dc234a51d77c77fdf - -COUNT=10 -L = 2048 -KI = 2fefd480dc2808bb57ea7b744254e99c298917d08e3cf917 -IVlen = 64 -IV = 9870063353c5c62e -FixedInputDataByteLen = 51 -FixedInputData = cc45e17ae8375e1c6b84ba9b04f8b2e2f602cf428d85c62668308a914dd3b3dcc33ec15557a1012fce04eb02b5fedda7d65e22 -KO = 78d65e2665d0522ba3ecd2e7be4bd4890f6048d0f9a15d2d24205d8a13bb7c9224c93dfb5532b4f179f7e4cc5bf9e564524b7228d9b9ada59a990b81def4fb2f44bcbc65a2c23f14bb483b8876d0dbf58b666c7c97a401b975d0c7ce81c837e21bc5486358629540060954d002271e29a9ff49c8cf5e3d62c131b4241523a2778695d7d7bf78b1f6c7e8f4287073d0567ec33b2229126c0e822315a8e74d8d80e590b3808c60dbaf204c3cd4e4e561daa0241369806baa1131bab4196d437a5738af80da485abb20ab8c707ec7bf3d9967da39b81b0270e96b961d9058dca26817114d585baf6d175b69b0a5e43d95d7d8b9a692610592d8b9d6787a03ecf837 - -COUNT=11 -L = 2048 -KI = 98ac9325ab440a9581f75d11bf74bc569caff4ef373ed029 -IVlen = 64 -IV = 8d5d840d24e9778c -FixedInputDataByteLen = 51 -FixedInputData = 81e848f44dcb111ca17904a259205019724f97e2227e81336a4eb53b9a532ad10fbafd0f3355f1b8f4ed5e4b43056e8bd9cf5e -KO = bf91d6f6103a76593549aa64409a5efe9bfdcc56b9f3fd4ae2ba2e619923ecfafdcd101288531731b9f80aeac4c43e532626edd5c84b163b204919757da48706d82d9c5e19c992f3413991d3f49f12d26d3f9f94140292ab09a265dfe7dc7f679740582a9bbce5fef1e95d071da20e48fc2f44e377a49cc7281e332b0fe9025c9a2806647294dd3f53875e39a8c7bd2688b4beb94572d31a3e8f528399d64fcf0c6a02e63207e281bba5c6f2cf4245b15119538f5adf7fb618f7bd30a96a3c728d7117e9854703c14cbeefdc9374edc4bc0f85d678048ff854976f7d82266899b6de6ab197c0faeec6c2da0d6758fc28cae58618e032778e906f3babd15aea51 - -COUNT=12 -L = 2048 -KI = 4cfc7ac2c6bb0ee63d3b3d7418ab6573c48bf0d53baec898 -IVlen = 64 -IV = 98da37ca5cc1acd9 -FixedInputDataByteLen = 51 -FixedInputData = 3ce3ef50b804d57878e180f50fd5fa7bbfb108d32e4ee09a68d6c961fcf1724b4860f9b97f4d45ed3f52cbade69382c3c593b8 -KO = 7aee600fe3170cc5acd8cefd53b50b01a58658a8cbc33b9eed4a14979471b810b6207e8c455f7db0c604055035aa51782d33f9d8dccbf2ad828f1a19d51db31135f738ca129bb115eb3e0790ae33c4215e1608ab6e367ce61795047968cf768d60868a36c6b5ee030520882eef0c467c3f8eea307284d1c4602f7206cedea73cd4d41ab6461b3018e87f4447110654bc6d62db1c44c8435d9044fd13040765255d3237d3daeb62a3ddcd97c9fa84d07d5b2bac026b063de360f31bf908f7494628de32e59f85714f77427efb1ebd139434c3c1e0748fd9c6412cba0c8ce45627423233abfb587c3f976d64fa08d5ba808b7361144efbbe4048788326b5d3f2bd - -COUNT=13 -L = 2048 -KI = 605a4b0dd0731d19a60c3579b8af089e6ebfc538f2689d32 -IVlen = 64 -IV = 682f4e18cc667091 -FixedInputDataByteLen = 51 -FixedInputData = 7e73099735e846a398a28b677e774988357f575196fa5385dc9f2b546f6391f64d7bdab797b94adcb1bc8ba719eac1af7fc624 -KO = ffeb4dfa4c82be8d29ae36b51a171431eac8133068a9a0aa749b96ac31b26d5148603fcc8f3b8a157759fe706781b9a82bfd7b9b692c667969abc843cf98d78f7961495964a359ef15b5d119ee85f298bb253b22eb5ae5a5b02a147d9c53ec8a67b216f20ed47bed34eab1ff7cf0ed7308e61650208c58b36197fd7dc867323cde7c57bf66917692c8377d7317b3f112999614472e01244aff8b0c38f4b74ceedcb7067fb31117ecb4229bc6a255523e59ec131d8cb3542a3c6e568b6409fdf8d26c3147165583c28c656ee9ebeeab2f2441da88915a136145e01a2c1d16c97b5ea55c02dae2bcb96f1fb9adb2510000673b2c03ee37656f42aa70e89b7160b0 - -COUNT=14 -L = 2048 -KI = 4f808b6c44646ca2229978341e977ac19cf71d3837b857b9 -IVlen = 64 -IV = db6f369b5c162aff -FixedInputDataByteLen = 51 -FixedInputData = d109dfc3e8a50c7c60faee5f460ddcd5ef76980ee3d1ab4b3bce10582df545ea5946c19e20041269211899df1a179451a21d45 -KO = da4407ba04d851c6c5af5dbd3ac603e68f0483be43751f925f3f16c99ff85c69d677acbed684dad4328d0341f52435c200e34daea13f53f89cbc600a140e6b484f94c996db66631f033890b2999c75b0a4bd7959ac835dcd2ebc2f2a22857c7a4bc1c5631ce93de9b7272bf909bbe54ce394d3f0f415afa2b57baad69df824b279a2d1d656132dde6acd12dc9c64c3442f235a956a522d526395ea2291cee37464f94b34eb35074f15a2f88d2c20baa1f60e2c8b552cfa7fa961f652c6cb5750e79eb6a2af719be0b38f81a8527e88637390d0b371170df1981e385d1a78c109b08c3ed4cf6b71be1b58e7f98d8a4a69cdea756462baa40afd802a1c8396c173 - -COUNT=15 -L = 2048 -KI = 10850ff5773c69303400c832694d0ac8de396959b20b49e8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8512f506da0531e7dc877b392226f191aad915b97a53af04c54a5a58336055021750b2dae86aa4d86ac97c70b8c5308b6eb7c9 -KO = 0503abb398428466eec61da2d3b1c2b4f188de0b01352751f44f43b78fa414a4cb785f2dfddedf3bd8d67b6a505c83239fc09b174f1328cac4b2fc6de5b00eeacde96585c0604f28b4fe70fe8ac2a02bdba67fa8effff562af94e5799164db92deacc032c152bcdfe1ae0133502b5bef7ce41151931aef55479cdc5f7f44ed7470c4db16cf52a3b94e0204962607f2be138e71fe11115da8625508f4a247414fee66f27bdc0b9ad8fdd389f0d3c0395c8b2bf810b867021b3c4c722951ad41b07cf6d5f9a13871e490b86379e58874df5061613c965ee302afb7218bea29e1f09d37184dd9dbbd88b5a20c4c1f47df914010dec57d155f64b873d49cda8d715c - -COUNT=16 -L = 2048 -KI = d2ee695fc20b673c6755734b846a78d74767ea87f8bafe90 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2d6d6b773dd4068bc0bb3730bcd18f7d517d6cd7bce8850feceb5f9c905a21ae45494fe3df6a101dcbb561a7fe3356dbc969e3 -KO = 6540ca369622d3423b0bb134d86476b486e8d2383b8863ee3d0eb858df61ea14f798340078d93b527eeb02fe34e8ff7b95dbee8bbcd2b597a785bb57487e92fcd7bb29af4f9503755573063ce49b1a735decd2b10f2c4a85fe293ae18318298b961346a0eb6c10f6d7f276b7d7374d4b445f1196359fe70443a16e1ebbafc66c77224c491cc10f5f073a84ec30d9be062f98b739be9c29b83deff5f05a012a3a4a967e3c630a75682674d75fbd0e0073e8f4f3cf921bd3a9bee599f2c92bb3a3906a5d13c17845039de998e67e844ca10337b2919a961b567e2dcf98a16e73ad22000778504f777cfc7a31a2e63bef24a29e4ef8fda2aa641173ec39a723b319 - -COUNT=17 -L = 2048 -KI = e8ae7a3aa6afb46a658ab5eb2da78032c0e0a852d0e3aa38 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cf98e56a4e1f81d973b63ae5a06b0e5b080c29b64a3a07a92080e97fb94c3af2e1273d1c74e39bee53bdcb0e46a8de38f20c6f -KO = 9c69ca6535eb3442519453ef160c0a48a977997011d2c47aedfda7d96d8724ef8eda97de1fc7735a865e49fb8247e77b6c8db8be9cb79a685fc87f940b499e7bb93abfee14eeb60bba725af093703f2adee2e7609d9a131a735eec51effd84cc74e25556beaf2ef332621b5120d469135cc99fce9b1c351834120d8f2f6e5bec0fdcb1e35d9cfdec2a0ee7c420add88bdecde2318ba1e2dea52c8e52922397327693f434a1b9366f4698707bf42e8bc2c41a7e248eeae33b563c47d945461272c311e80574dad8b8247aa33c60b9a35884fabd174d839c21f8ecbbb994042bcbf96312def4290f77528ddf71252567b3331c0e66feca4ca832cf800b6f6063bf - -COUNT=18 -L = 2048 -KI = 5c8ee4fa7480c1536a2b5aaf91f0ab7ce93a17d22fe8af4e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f753663517a2df6361084fa3c686f510f5fc6ac690c96206e9fde8a2416da694d39ef16faa02f04faf332312841ba10927072 -KO = f6d9860fa86704f76f0fea0a29841b871b493b1ea977b772adb18e3e38263724e13a5483313ce21eeac864cd7f3b09a892ce6ded5f53a25a08e2f1fa23d8eaaebc8313b87c05814936ac44f28f786e1eb3e55f7a1c2f0109b082434e95ea394e6d7df536e60bf506d465d71dab4a68032031410fad85a7deb3bfa19705b8ec7106678824249885bc88b5a275d64576b93a68e1c944cd9a20445dab6fa3789e67dc9e588723b2d5736444f23e75b5797e9a1d4f49b993f55fb55e8780acba5313e22107094d22f1094571875d5b85236180cde20280034e3f98db1ff53315edfe2f3dfe47932ecdd4acd37605593d28ee75e1615fbeb6854e9bc8d9d13eb8d247 - -COUNT=19 -L = 2048 -KI = afef2d819be9a769d4bf645eab8ebefad90ee99cb1c87987 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6825c6da9aa438c0d5a795da488be02713fc2a25a53cded74f903bd090c558d9c866c9a5f00a7602afb8fea2cf6ec9f4fa29f1 -KO = 8b37e015232c1e4967e4623ad93638475cf79960e266bb82392fa5c8e4d2aa63d64bf06a113346d033f9ca4eaac119b52208ffe3c46aa443546f1b5a333e7adf429283a48e28b5cecd4381ccc987caff78b5264f4407e66f3b51cf012cbaf457c7a52f8d108f08cd41b406b51bd6fe319b663d13dc64c61dca62ca16331bff8a016a710261421814057f42ec45d0299e1de0fe996a1c3ff311726a75cef2fabfc27b1e80f9f5b64f54c8b8bceefba1ead91ddf60069dfcd0e20381401df098367a31d09773150e2cec49abb47c62f1e138ac0536ac48501395ac0ae08a852fe4d817f7b05b56971203906b188167ff32e1c1e8168b8682e3e3cb5dc4fce7b85e - -COUNT=20 -L = 528 -KI = e08f3f25322283d4e99b7dfb1d618e537c30f480ff8abd60 -IVlen = 64 -IV = 80a04d0e499b433b -FixedInputDataByteLen = 51 -FixedInputData = 232c1ac1879ccbf3bab1a8d756f18fdd98d885a55e77ec1e34a1a04cbde136bc960ff094d731ce974a46301da5bb67acf01d2a -KO = 74577e67f964a50c01377a96b80ff009461ef2e1e5a14cb4f62339796c1e1e26b20576d80c130f84c5cd1ed21baf567250967fdd31110327a8bd92aa97f837ce512d - -COUNT=21 -L = 528 -KI = 6eadd13b71d8e909496a0fdc34caff35c00e553fb8dee750 -IVlen = 64 -IV = 12309e9334aca972 -FixedInputDataByteLen = 51 -FixedInputData = bdc65639f233708056501113e950c95bde223dd19008c375e4189fca36e1a0441cf84203ca253e10a25940096e961ecb6b852d -KO = 32547959086aa3d16b83a585bad05f96b381b701bc202530968539272627fdcd10cdfaeb997cf7078522328f172c2af8ca8fd7a112361e996639031be78c1c7a0547 - -COUNT=22 -L = 528 -KI = f4962882584af44ebd611222cf92473ea1ff77308c9cf7c3 -IVlen = 64 -IV = e2d69ae94f52754a -FixedInputDataByteLen = 51 -FixedInputData = ff1bdd9821af7e17df572d1c2010964c640b24e43a461e6a460b31ca380466f5dbd6cd85588d57e341f53d933956cedbc9a3ba -KO = 92e0552be6af05f3f504e986123e9b33af07390da0924419226cff805c8fe581fde023986b5f88c8abb1ecba2488ba4d04e05b23cbfc029b80e4f55e382e3f6805a3 - -COUNT=23 -L = 528 -KI = e055393126aa6b791cd52520a5e2d2e2de744eafe84f4474 -IVlen = 64 -IV = 6b1624e4c7b377d6 -FixedInputDataByteLen = 51 -FixedInputData = 14f9cd8b9af28e54fef3a896ab3c076548e5a7a3ffbb82ddc47a25aec8442a65d5a6aa66d9a67b723e9dfed01ffee97402457d -KO = 425c541aa6de72ac188fb32a5f8f8c53be6fa64142699974ecc64b19d5636fe7e508eb168dd5c3f73914205b07e2143420f4cef40732cf368f971edfca4e75070073 - -COUNT=24 -L = 528 -KI = 070fe5a4656909332cc31c8006b5faf39d2852760516facf -IVlen = 64 -IV = e7022232574150f6 -FixedInputDataByteLen = 51 -FixedInputData = b387de7f5b88517d69bfb7c9394de35936fa955b4db07ca17772810e97adadbc254369e665ad6afbba80808732b458893e292f -KO = 291cd97c14de350425299a6d02df7588b0eac1e9af34f271098280aca32f397f3cda6b6cad62a5a40118efc8fc7466e76ee61c122e7e423f125fabadd9d2c8fb2b61 - -COUNT=25 -L = 528 -KI = 3c7ff5009a4f56ad6c4f06fc3421f846d36e0b2b45c6c30b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ea6e1e554ac5babfa382e50f814ef1dd36765523f58d0e1e65eb1f1d9db1ef4c9d96fb38b3945f25cea13163739ed2d90d67e4 -KO = 1f9920b00450846d8809a510c5b3c51113f381a7ad75c009bee213f1abf46f52a14e863296d07513a4511e748f5e09c948c31ef4b357e9ba3a2e80da24aa92800e00 - -COUNT=26 -L = 528 -KI = eaef7fddebc36ef683741477c2c8042ebf8c6ad171054c88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 8d5d6f357767e47a4fa062048f7ebae5fc6725373ff0734c7514076576856ff2c73672f5b7bb2b9a15d0113111c98d9c3a745b -KO = b723b94f90ce79114a84fb3e7565f670d92a3076b6aeb66f7ff918a055f180ed238c718d9a98c32042db8899cfd71c66fdf051500b60b3c7b30dfc9a25a69198fe1c - -COUNT=27 -L = 528 -KI = 4eef4db60facfa65f30e3e86c08e1935ddd29224984cf0be -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3b152356838bdcfabeb0e40c2efc7cd33bdd8ce8fbb4673efc7eb46d6d5799bae231cc50073665a0149a5a439e0386e92e70ad -KO = 418d73141114592339fb7cfb71fefe014b1efe97c90815fa197c60c4ac39e8fa8838b692d1a319257c00c7669d72fb621b5b262ed73dfff1c6c713ac7c6f7172cd13 - -COUNT=28 -L = 528 -KI = 5251807c7c17820cc145df51866f75b0241370c7d550145e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5ac0c5deb8b9803b94b83b337bd3b7aa68fa86f2c43d577259efb7188e73235befd64f9e7ca44bed60c0519fa4f341bc450523 -KO = 55ec00dd26496e1f9da30d355467bd88cbab00c5f653cdd2fd8d9177e69f31bed7110692ce83b332b415b06f323a49223b6d59814ca73d6fa7b2774efe0ab20311e7 - -COUNT=29 -L = 528 -KI = a8556148d741f6b9eaf5fdbee243f17a1f1bbc6408075e88 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6f126e3d94056aa4efd777ae3fcb5eb8a7b741cb2d6596dbce5a2f741867755f8a076c28409612060eda1b5bc23af7f4ec11fd -KO = 4bc7400c5986dec0bd5533451d79d347a05dfe0eb77d45b3804d00bacca7fd7de120b78eb417dfb0809c7d903d11858c02d9cf0c4c9728aeba0d62bc1f66676fd461 - -COUNT=30 -L = 2064 -KI = 5bcb43a0289e8ec34f55f1ce2b1bbebf66588b4b248878b2 -IVlen = 64 -IV = d0093cb498022674 -FixedInputDataByteLen = 51 -FixedInputData = 710e92221c8dcdad3c70a374ca07ec983125b8ac05f660f88507e8a66589cc1a66545551305e22d992be034d2ae76714a61b22 -KO = 28e7369efea6a9b0e1aadd4fef085a7344e554e9494922fd898e82188a1f58890526a05ebb32d05a601ff19f24297a1afcb90a0295f69469fc6bc9f89dbb362d8b054144fc3f149eb18bc883403bc55d072cf8218bc2bad8b8460738a709f3bf5f12a104ec273cd49341f48177064522e1df006dc8774cd545f0e3996419728822f08cf0a814406d33dd3cffd93705258ebdee56924711f22505772ed130c61290222f90180640ff459c82d4f8c02cd38eac7114b31a0b0af677fdff4a73a2348119ee198e37a70545bfc96403dc594886714a8f23d1cf43de4b0bcc52827e8fe7de14a850dbf41ce5f0ff451fec62f12fae475313c44c6371187bdc968cd4c319d5 - -COUNT=31 -L = 2064 -KI = 59d8b35482466edb2a685520ea66449057625c9d9e33c4dc -IVlen = 64 -IV = a78a6a7bf7c999ed -FixedInputDataByteLen = 51 -FixedInputData = 2b4c21a298235adb45e73296c0bd7da7c7c6c4e0849c2ef87310a6ce2e10233223ee11b3ec930f39024f91e9f78cb21178adba -KO = 614dcce11946540bd965c5b4c68742e1663b9ebfb6a3a84977ee65599fe05c26ad14867bb27565c8afbaa85342715ef785c4e8fa5f4461e9fa7ec1a3d36d27b82d0f915013fa23d899b6ebda8ea12a8349c341fd411c6f28376028c4b4f36c803b5e88644393f78580ce7a254fe0afe0cbb0a2bd8d240c4b8385eed4c1841f805e6449b93a3bebac96c0b0cff193c97a7c6e127e5073c81a57f8ddf282bf12811772ee163026616189e81f403016ef92b3b4b388cbdf86b19c4281c50ebe4e0610e3fcb6db760ce149188b1b3bf20caed0c2f863b94ef5637c0750ea44582885afe8b37a7d3b61ef0cc1a51535e8703a0a8172ab49069161ea62cf6f5632200309d2 - -COUNT=32 -L = 2064 -KI = 74528f71fa887f066cfc18532ec853d40ff5d438a0dc9d91 -IVlen = 64 -IV = 453611c37d85ed3c -FixedInputDataByteLen = 51 -FixedInputData = 49ee37adba398885c1df426c519e0631145afeaff35fe0646d11a751c50f873c05b791fc70a64c2e36165a825b55a817519bf5 -KO = 87e58661c3c0f02a0e7f45701ca5617402315262153fffb90445595b6048b23eb942b3b170bb43ea9bf4ea9c9d4c90312c99556aa4053c17135b0b44484ef01a21b7ecb3d0a8d13cca36aff11e937bef719b5a44130e60ec44d4a1d415671b1014743d9610beae04a7976b032453ee4283cd7e0c71c4b91f6eb54900e4a663fa82708e95d784f262487411eb0ff7082649e9e4b57e247e69a019de8e37125d774ba5a6562034be1176c6f90581cd32c9019d031c7e1ce3fd7c90fdb1845eeffc2ae9cde9b7d9ba63d333c2c636fd8597b0bab688591c662216367174cf14266fb675ebd01249ea9c0f5ce56d085489f5f424f74ba2ef53a7870e3a7147c3a5d77744 - -COUNT=33 -L = 2064 -KI = a40d0e7b3dc65919c5f565212d5c0fd954fa43bb4fae64ad -IVlen = 64 -IV = e3883a590b6479fc -FixedInputDataByteLen = 51 -FixedInputData = 8bf5b008f1b7494891cd68b1761168bb30d7c953a0a7aa86422fb1c787cca811fcf75f5d912d6b61371088865b8c1617e938c3 -KO = a9bfa7b19bee3aaa44d0f64e7bc487c817263e94c5c50dd84364176e7fbde24c697e8c94abfef66d56ea6a4d2ba7e8850f3bb216437dbc903315c2cfd352be14875a4e73306a3b463a17df10a699588fd5abe8ffe863b91fb5dc8bb3914a3591f528eafdd8a4d4ca9b0e711574908225a77469113159583859119d8c7eb6c8da1358778305c9c08140fa8a7d8bc3658b56aedc4bbf16228fef1a48d15f62551535fd045e3c994018ceffcd4330355d0e98a5cdaf37819d7c899f6d06da2fedad77f1feafec76caf71843476e69b93be40e360889768c8a6696d35c09d9396928114fcbec2c6eb39c5cb391870988bae0f9a90e2c1498c6ebc27bda505d767650db58 - -COUNT=34 -L = 2064 -KI = 7ce4087d872b0b4de28c7726c6e8956ec19ccd4e15695d56 -IVlen = 64 -IV = 23e7f4c4a00fae46 -FixedInputDataByteLen = 51 -FixedInputData = 4971b33e4032d0a62c2746bd2de021c55b7c1350fa38e0de3cfb8bc217c9327aec00274947938e4813e505dee9cb4555999611 -KO = 6d735758b721bc667d325286c5dee7680920376ce21914f48ea65df72aa7113b843e258a9cf2ffe7eb243e6402a0f9f97921283ca4cb39509addc61b576b99f31276d03a74f830e37a81535e5e570a8cf083541de6c7c34c9c755db3dc35cf92c401e54332f8ae0b5af4aa83fd8fd30adf8a8316ea74871b2867c5388c09a75fb5ac35ffc4998355ec0d224f6827222f1270d9833cf4c12c9710322f6b284daf5f01bb95313f7f5b5b31772b4aa58b69be347298d67d1397674503e439ba93ed855887a2889e729ee5c4de8685ff87b51b32a08f151751368f86cc5a24e91095dbee632a8d092c11797916990a64e87792f0d88842bf2228eda6e9d3053f3151bf38 - -COUNT=35 -L = 2064 -KI = a77a9812c2970ae3323e5270c373b62616a3ec3c148fa1ee -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 6c7bd329cd54c958f7471c40dc1f4d24b5ae46ad77c2f749bfdd04c0f0bb2449eb38dfe65ec612bf51b0089263b6c3ef51d9fa -KO = 9e5f3ebdc010be63341a91cac18948f61b9ff080ae2403a8b10feffc6910814c737a535e9485534db12663620a75f9edb45a7d4b55c556135a23a67e92d3033f47ce43ea5495e8dc3b85edafae1e49e498842e920e877ed9b8fa3e4485f7064bf164f9a060bba966d64152416d96c68a72f0393215b515f8a25a2e6f6a0d2e93be524f0a7d93a136a63cf6ded25bb8b8a83cc1af6dbf92d4dcab297745880b6853370bdc5821a7c34962712d45dc32f05808098e60f83f0e70f7b9c4432b6cbecbc188fc6c359b43debca9c8e24ea5469ef954327147cbe722d12aad3c2d70c88caf0c914811c934e7346b7b359b59c4d3e55a5ecdc91e710a845cde3beb60600733 - -COUNT=36 -L = 2064 -KI = 46976afaffa9019b319ec59c0c8914068b666b96f4dc6d08 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 48649c39b28f5bccc20758c7b9d532df79620488eb5f6ff78c53c5587b1f311aeacdfd03706ac3017aff2260981e82e4bbdd7a -KO = ed67642ae2f4e6e57c76e7dfb011d8e7e153936e83733819aa59a1600f935dc4f5e5454e65713c4abc33075e0e00b9ca1d338a76253498ed75b2e497c228f5555103cc214be5c638c8e204680f41f878d9290a541ef1b4e8fa14a8d32130bb3dd05bcd4a42fe280482151225603be73c3af6123e8c3670c5122d68fd83eabbcc947418f8c2656f607f6854231d7f7d33362fa6abdbe76cc1c5c746cc3400aa39e429ba230eec0dd2819ec72a5f3514bf169219665d98bab0f6005781057bebe3ba7d61748051079e440413d23d41a70557ae503035c1f9cd167184885abfd97451e66232fcb59a648bb14ab9b37d23053990ac060b226934f91cb7d3bae4c4d36549 - -COUNT=37 -L = 2064 -KI = 33c22abd9f9b1e859cc575c851f5ff733df454497ebc564e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a93c149df11411706b7eac10040b31ba6ab94b2bf881165a5e62f25b5ab3dcd38f8ebb51433528a857d2d905b67dd951a2f185 -KO = aa4f3ac45b454380e63e09b39611f0269cb58c61526e43007c26503caf0c2031136cda0a1b9e85511151dd6a51b83265bce6d210f8c3a48e19a44f2f10547bb01833be87497bec8fd7c3b93a4371d30d6a98b948a38b58979000ba32bfb7c06feaa95b2e227ca0a9aa043c1d41c9aa66353361694e7cb8e80aab780335610d86c42ba64c9c5cb80008446b1d02ec8c017eaf945639d4543cb4e2ac083bbff1f5ed7aee824ef9ae1f3ff6f6bd3e2b9872af86e2608ffe2f3fb01e6d13a075903e9c62f5313b27bac36a6ef53d369b3d30149572ba1460ab58934b1553977cbe5567dec8dacd13aa0a2ff3ceb8f6b5d5cfc8321d5580da81c9c4fa7a54fad8a4609a4a - -COUNT=38 -L = 2064 -KI = f37a16e61683080c9dce7b87a622594313eff2834a44ff1d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 248e19750694ff86c723953a34c6b142d4dabc012cae709c8dadd7f72a7c1d0e493dbe24a678510fa083cc231d3db3ebc0784f -KO = 680e64529cb941069f9bee7b2085ee52a560ab66e483c77255224989487ccdaeb5613b940bbbb36716074c46ef5da6e3be15d98bfa35c74dbaa499c42699a81354a8da54a2779911e92eb9f08fc350c2138ce1594dfa52fe6214cb7751cb173f67ba03557e56461c0818933a1c5762fd1e37f6eac40b1aa96ce2ca2ab6fa477ccb2f00d3f55a41628c36bab82ad0fb1da180510316e7661b5f163c7d13f5c6d850a5570be8dc4b99e62f9d170736d161de87bf0aa2c383aae30e10e87fdeff8331178ff2a0edf355b18079b9812a33497434a621da6631fd52d241ecabda0dde2ee97846006e18f152f234b17e96cd0148f09d0f00c98c98b13ec428dcd24078a7ef - -COUNT=39 -L = 2064 -KI = ec2a521c2f0333cfd0e2f4eb3027887bc12b88e31c9c20bd -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a3b51a8c3d7cf627db5858f25745b61d79e2b2c8c76291b468fee9d29693477b112fa09aa196d35a3ea4eb99e6927e8be93bb -KO = 53eca03d7f6e110762152519291eb8f4f119f72b3d7880613cdac91c93489fa86d3d2ad1420e38472d1ba34978cd1db98033ce45173bf0b76d09934cf3d11646eb8eba947e65adab4e9bc3de722e3750087222fe311a12a4f80bb4842c3356e1f80097b57d0e2caf686f9d533d542626930d0583b4c2470e7a0538824bd39f95db3cdf127e15f6024044ee0c51dd817535b7cb187771494364279d83e380c70dec35c18dba47e368651b6a454e789ff470d8bd40a7a0f7bc698f9f62222ec9a1e6a8d4c4a0a8697d8f4d0dddee9e75b635d7812bc05e2922803becc21a13726ede099b427e554b4cce0114663ddef5393dc32c0dade2038d4daf29cfc1cf8dd822a0 - -[PRF=HMAC_SHA1] -COUNT=0 -L = 512 -KI = fdf07e2dbb4d4b191a4b3b890cd89447025d97b9 -IVlen = 160 -IV = ea4cfd927b6e30520e987c70bc46607481f02ce2 -FixedInputDataByteLen = 51 -FixedInputData = 9ec57b91f8532aa5845960ebee87e70fe5c8c5f030d3f7f6c88bbb0eeea6a4cfca7b13509d2e62506cf00e42a8108e9a71657b -KO = b8c1a0aa344962d1525a182120dcbcf601f436b4ad8ffe056cd4e3f85e63a35bcf147f2a48aafb431b72db339c2b28b4157634c2d7e80a93a15b340f7b1507b0 - -COUNT=1 -L = 512 -KI = c96ad880793ad00fb04344d57eab9a1e5483a6e6 -IVlen = 160 -IV = 8a6efcf7736956471c89ffda892964a339e5c9fd -FixedInputDataByteLen = 51 -FixedInputData = d719e42cc92e897f23d98441d4a747a0ebe4cc86a8462797b312bf5f5dd0a239631e0459e4dcb034838aa89ea84ffcfd372b0e -KO = 78059a519a3e3d1f83b9c3a596e6cfd06c939913e7aab049bdb372d9fdb691703b6988513510bf243dd7aa2d7c10b315d3a9535980d0215bf6fffac65683bd99 - -COUNT=2 -L = 512 -KI = ff0f740452c1af3dbd3e06722280f77d00ef72bd -IVlen = 160 -IV = c4f1fcf455dd234c5c6dbf62a63ef55ec629d49a -FixedInputDataByteLen = 51 -FixedInputData = 650c1cea7e2842652d93c91d2a79dcd44f6ab3b50af0aaf0db72ed4f6dcfb7d32ee8ccd104f282a112727cab91571d75a11131 -KO = 0a71fe66e4a6de55ebbd9f8e3efcda32a86e6953b381f31db50f4a446c5813d446cfbfee3ea00b852649a36680d3892761fa126b665b40f5e2f763d94e2c118a - -COUNT=3 -L = 512 -KI = 60f02a3714de4c3487fc5a14a3aed3309b5983e9 -IVlen = 160 -IV = c96dd8ea710612b02e9c8e23d2305d95830908ac -FixedInputDataByteLen = 51 -FixedInputData = 1a67ccffb32f68db02579eec9330f62fdabf8c779eed529c66acfe12cda34104a8cb2fd3466a43b607c9361794f4ce7cf8d4f7 -KO = 97162c45c87afd5d57d548acf5b637669c90d17924fb1979254da3274d50198c57fb2fe78503ff3a98cc93b0fe7bcd7cca1ef01366e9d5c19d344cf6d98a2f7e - -COUNT=4 -L = 512 -KI = f4320be704f3b172a9458529aee7d61130f46f04 -IVlen = 160 -IV = a865f9494005b51a1d07ab50a015199f24b6e75a -FixedInputDataByteLen = 51 -FixedInputData = 5476f4fa7e4d6b370650d8edaf11d6de8b736ed4f14bcd29b918c18b66e5144a4ac52882674706818a53bf04ffa1976f089a5f -KO = a6bbb7710df870d986d8973c025917b01daed7f1b06fa1670ed8c66d55674217a7d6a53a1c57b50bedca39a71c046a8ee2294fa80769d151533551fe4fa02029 - -COUNT=5 -L = 512 -KI = 32ccfbf295ce4796af97f530755d9b47f9a46496 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 91a881a86eb32d2b5bc9a0b6c8512db90311e843f1cddbd5876e1503b49844102a2cbe0b0723a94c8bb8ca06f686dcee2d8913 -KO = 50bdab0cc5745a2c1fe2b8944f61e71b155fc5e142b75cddc1dcd9ca20225850373cefbac9f261a67980527c14cefe49d665c57b59c53bfc093255f238b08f14 - -COUNT=6 -L = 512 -KI = 991e5ac22ec636e54765725ceb1943b8ee06c746 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 343a2a6f40b45c37cb89d91374bc2e055e4bc42eddea9dd10b0faf75b7c1d0a2333dfb7279d94164135542ae67aee6432a6b86 -KO = f71ba1050211e86fdd1991af7a8b40e28f9ac5c0edbc4b3ca13a0a1ac320cab509d39e3f4905c41a05c31caa8054eee56212391aa0c9eee180dca65114d9bd38 - -COUNT=7 -L = 512 -KI = e1591bb345e53fca6936c68ccaf9b46b669f5bcf -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = df0d20db5818b22281f33a7d221cf361cf015ed46fcbcea406ce110de02aa61a44c01120ae1a612e23567d5466f44325ce65e3 -KO = dc7106c96cbc0706e3291b5fb8f6f8aeb8104ce5e1d935bc7946faec57453705d2b4df3bb13264a6e09841e3f71ff0ee443e6518484a9c26a6b4172ccfb05907 - -COUNT=8 -L = 512 -KI = fe4a6367ee47ce1b426f983b2b89ddfc6ab0ad69 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5615e24c3e9cded7c8e71e1aeb42b5e5f2d88b97420ada1f2c9b7bb48dbbf9e9c6324a81bfd3f4c15549219d382674b17d8b22 -KO = 3a8906e9f34ab13379cc1f494a17d288adb852ab6782cbce71673ac034665568038252534be6462c0d1484e74b1aa80868c6a130c5200367ecc1ec7cd94e6bc7 - -COUNT=9 -L = 512 -KI = 152527796f1125a7e2fcb248eefe956dc9c3efb2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f80aa5a50a8c22df3e346b27202688e8777fa0c9d843dae32dc145ff89c33ae21ed844345a15a21af89a261429cc54e66eb0ac -KO = 3d536785e1a70e42047fd49ce6ae4c1083f80d70b01ca0527c6986c72e21192579d7f61641218018e8eea8347a72e10695e29838f206449130d1ef0ecec013e4 - -COUNT=10 -L = 2048 -KI = ee8f546a7ae4c53e500eec4e5c338febfb833d6b -IVlen = 160 -IV = 801e2fe3c4f43ab811cce5b2905891c0f335c6d2 -FixedInputDataByteLen = 51 -FixedInputData = 3a6c88299efa29c5fdd39e1e3bb4abeb6639e74deff3805e587e243a749e57e46a6aa2a02c3212a4e9b3d7030df4620fa3c058 -KO = b5422c9b713b2b9392c51d4cd000a1b1aff313d46089db1806abe523a644f6c400fe355a777abc16cdc5322b934ff2d3c361cadb894b109369e38c6176d16810ce654cecddb04934e3fb76f19b10675acaf332efce55696b5acede6c639bbd7acb620bf518b11785e758ca4259979cfc8ac5fd3d1df886bd1c75bbe55c384a4517fec4ccc4d9accff0ca41d8453444331b21ee27b5c15db22eb824d59dfa92d76e76726efb44b5c813b701e8743f957c48697ca4c7524325f11fbdce33cb9f1bded30fe8f64dcd6c08b068e153d8ab6506a1a567a46ee3af049b9052b115b132fa672804a9e92184e4c73b4dd85b0f16de2e6945459826ee8b5a169080a05ec7 - -COUNT=11 -L = 2048 -KI = 65dc45393cae45e392391b63666bfb016c3a11cb -IVlen = 160 -IV = 2652d19aa51c64aca7b28ff7d85d3a282668c1bf -FixedInputDataByteLen = 51 -FixedInputData = 5cef2e911137b47e55c67a8d80be3a285b9ea8fd1cd51fc82dc52fad33f6e69be35f0caba830e6be9aac5a8ae34554e5ed1323 -KO = 37b8619247b7d39d346c5891c16552458b6558d3df6eb0e83e13e0b885307f04399b3daa506b4fec36bf19668df46a560b23fb55807498cae6984199e818e98df8a4081b4d6accaff9ab70792f6195278fb29b2646abd31543b4076e6e3a3dc3008f4d1de468897d998fddd67cc640d5163c9affdc3f84caead0ae36ba5b47a226eb35dbbb210b0649b36ee921e28a0e344fe38f48060dd00e91a6d9f4bc0d02cf0233cf3900f987a0386a3b67b6009f7166be221d04eb94a03fa24ca803572cdba7abd91e228f4de24106728a7f61cbed3b3985ef18a1f95a2ee35bc57853752a076ac474f66c4ffcb93b497618d241c3b3a86f3609878811ee2713c6478f62 - -COUNT=12 -L = 2048 -KI = 34b8c3dbe5d8b353c7b5bbb9a3fa294bbeb9fb9b -IVlen = 160 -IV = 0bf95493f9d1e2786616defc31ae8837356aa829 -FixedInputDataByteLen = 51 -FixedInputData = 20976c292f30bf63576a364cf72ba69c39a06d3cccab8718cb67aefff618272d0c9d9abc98fc13d1e99433ce20c9619bfbb9e5 -KO = 980af9b900e21010089229ee3dd40134a61976fbe4b7739e374683c71c77c595f9391e9a29c5546b10932ca52a4ca83629b3e0beec9872ec2d63277fe13a7c014c1df2e545f6671a2ec0c18ffba46d45061dbefbbabf9eb2b8d8600b4dc8fafdfe23d041c2012de1d1b9cb0a488ce3918fafd20d4d20802b5c8d34a186a0a57be03f156310d959ad5c5f34689e7bb4c14b6e664da33dbefbe9c09d6c39872a4d3faa82e8e392baf5b01664ec96c38d9efecaa898953734387f974a09b20bbf8bc7d0cd19daf4d50316d6f1cd5fc74eb78b4cdeb13bc1173fc4d756120ced5755fd58cab6b270617149ef0fe841193cc8a5fa4a16bdedfc89cb0b8f3abb528994 - -COUNT=13 -L = 2048 -KI = 8f7faf3bf08bd7cd9544f280347c2f0ce6ce8b78 -IVlen = 160 -IV = b931e88883597d6171f54a28837b2122ba1af55b -FixedInputDataByteLen = 51 -FixedInputData = c8ae309fb8d9efa39368488aa165109a9e37f5af527be41821b70a747739d6bd1e2c8ba594520aca345f908302cb26dca0b56a -KO = db359feea63f3e0cfc48e756920bac69f98e500c06d2f1fdf6260af9361a30b6de5cc77ffc34b2711034784282e1270188a59c681d8b8681b635014f9c32004189670505278b651c9561cba22b866c483ac3a8fe750f75ae83f744ae0e4c3bdcd6f252acbcf3319c9e25dde21032a4f0e1b16312f8394cb7af2a6e9085244d6a7ec35a40125e48ca4161bbb6207a5bc16ed8480c67ce51993961e6e4da9f667d1f79c195a091a8250aec1a4625d9534534cb8315f633cb070c1f7487d190714d0e34f979ac708a5a754c7c6b62ad8c538a9b9e009356eb651be823f98f989075a4b28dc93c371350199c71ad8248bf96aa0ed6357c19daa5b2d14bdc78b342a1 - -COUNT=14 -L = 2048 -KI = 79c8f663ba473403b1e6fb4859ad53b08f8c39c5 -IVlen = 160 -IV = dd4361151b075082ab7146021a17942036bf9f0f -FixedInputDataByteLen = 51 -FixedInputData = 4fd09817c49aac844f84522de01afd42430d86fe5947f4cacf262a33433dae2f21563b406cdf518603daf4c77f6bc53bbfc678 -KO = 5f8215960aaad4226428c5d27583b4fabd5849851094f52b763fd8b375ba656fb91ffed8ab54e3965b36e3beedc3a935c3000c081d2095d4d2a057761a35a713fd3b84bad290c2799738463e231c9865b73ea427ddddc1aaa3107c31f2891cbe45d8ab6b14bff946eb48f3f0363e02689b26128d79c2937fbe15ee03e4ef384e8c8ba5ad6035e0d3e38bfc8b0249de78bc9ff95197342bb44af9c62d95a92c4df5523bfe1518af0d07b3647b5626620a7eb2f9a013208980d00c11721387924c7de707448b08f79a035e0227e3cd1ca96dfa21b5569c72e962c9dbf74427ed02f8fb1a9eace23e194de4fce7178d6952be04e8e1923e4327d84819335b16d806 - -COUNT=15 -L = 2048 -KI = 1e0e988f35a19dd63ede00d8d6377a58c38fc2d7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f77e50bfb6fc3e79da57bad9cb38f3b84f9d06086d0b912ab028f163347675b3992812ab559eee3aaafde7c8169cb932a9a521 -KO = 4e08b1c8e65931192a1b809331cecb0704a1ce15f40830e510326f125c0ff2e5149c601182a027265674d582dae093f114ffaee553b6b9e92cd3c68b46afac4d815d5a59a7971df4d246974b567985e56a4c86650175adf21a2a860ef9ef92795a8dd46ac7829b9de0cd70255b947c3faa58c068adab85a34f783d6b19e1ad298dc6b007bd040cd01e23697d4618816690fb8eef4fff52713aaca280041d0344e6d610b791fbd5881b5946e27bdcc698a54891f3bde4f1ce7d199b7ce8943df05447750dd42b9f70346ca0a5aa5eacdcfc8aaf19b5911202513367f5c9537adc08f4463e3243922ca2d62b8dced79bd07fd062177d7755e512ecc97773c21c3c - -COUNT=16 -L = 2048 -KI = 3e8abfac68e8365320d04a5a62022b2e96b085f7 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dfbe79cb9078910c209f548f3ae097a9b87d853a99af61b80a98249e90af1132cc33a52464b140561359ab7de48c4f34d7c15f -KO = fe7590d22f064c9c73f8e86e792a652fd7019e6a78050ae4161406d30797d430716a37db6a5f879766929c4cd9919f8ca578b480aeedc743cd228da4c84652fe2082a7def20d86a47d636ccf07d707373e00a73ad454918f33f03ae8d8277e5c9d3c10870e208bcef4b4fabbf850284c8e81ca4f1c853522d07bd72d980292d93e6446a664057b31d5d6e1c69114d080ac9c2b98af48e14d9dba7360070cfec3872e851b3b42fa56fc5a89ea280db18ce738a5263b04290d9a6f314277101d66a8de426a887f9092bef1ca3e34ce7d9ac8f6e44c656d84871ad8ec91e68c97ee52581f3a3af041faadad3b0e2dddd74de5d589bfb4e1429da106800ce008f34a - -COUNT=17 -L = 2048 -KI = 334547396e0eb519ceedab4cad9c6bea2611ab74 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2376d5d8c855122b8d4c36eb8fdc758e05f11df0c2ecb2e3171920e1a448bed45c7eafc4485d54233e1feb32b867fbe68c951b -KO = cb726d6a490c65eca371b7385b1192671cefe0e0871d46c721f82adae451f7d2b1fe7a35b3c943f228921899eb18feda2c0dd2016ca6988a5f69e4c89a9d431c173985b6b2a6f6e6f75ba886d2ea40636f80763e58a88c202ea5c5c56ee62c5e5f6c7a6f2787aafaa07e9db0eb21669ccaa40efd840370f647dabd701ffbff9bb5302263e79c64e0edb808968193bf3b4d263f772ecf74d5e5a4692b41906ba7bba2d4775dd7e6ab04ab6d5b4505a71a8fdf9215395b97897d92e61473dcbbdb0d91346ca7a09e4dc82f31658603991b13d1004bc0d4496cae4c40fa51130dbac8995ff69844a55fcf7c7c2c6d2afc99aabf294c34a61935bce4a40a52dbc519 - -COUNT=18 -L = 2048 -KI = 3fdc8ba3fe1989b38efb694c14b7ba1bdcf912ed -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = aaf2e51072ec8dad130507d24fc13e8e155f28f0b48572aed0f6e6b554d06785b748a978874b4a4c2bc95c380e7530b81329b9 -KO = 8d1d1dba466d3120f9b52d0c0993d3fb08fd216051a4c355ea352129b41c7b53e021cfadf08d49377dd43aaad2051588fe57ff186f3788718a16d66b64290f51e666a6015fe2896c3344b28aaa416e5ae463abe0d884a86c20ee134fa379a4391b1b29857c41426150373dafdcd6dfb77e11b816e7b167f61bcb6fcb46d8a7c12c6db47885ad5a3d501b28a5d91d7fbe74b37862d9490417410c2eec569282cfd611b7ea551c282d2ef3963ab61e3c90bd9c185daa0d76593e82c04a1b5c725aa331dc9e33fd9afc149e6e83b160ae51a465dd4c56d852fd847f5e8b86621e12005cf5dd251e7eea8278314439a100dcd7f09e4b3262ef2dd472606cd2d2447f - -COUNT=19 -L = 2048 -KI = ca9d6b12eb56868999b19cba9e48475a2065cd02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7e8f5942f022d762fb8673904876871c0f1714d7167c27ca6658a212611fab7789817f3c25a912bb914e0f16ee22fb1a9f7781 -KO = 209b7109d1a584b9f96086e9b07f083d9cc3e0457f740a3571c21b51f91a88585d2a992187e9f6efbc8f698f997c19c93ac703dd84f424a1ca87ebe51f34a071c570018540a7fa014db4ecfb2ec4e172556d2afba32afd118ec58ac8dfd9bafebc5658aa15a4ae54ce106ea5ec5e8b36a62b1743cc681f156f609403ce10b8c4f48c8db80fd635dd110587f615e0d8a0ab654d3a33fc0d89b69fdbd238716637a614ae4ee3de6bdf51f013fead77f0e020b551793565d76521482801904631024875f322134847775c282567bb73816f53d0c2bc1884033990a46c0662c61cde0ae6e0fd22af31449f766e409c6cf18be6cf47142b0e79bf590cff1ab7ad6b42 - -COUNT=20 -L = 528 -KI = 1f524d7edee0cd83fbe191682558890635a63f98 -IVlen = 160 -IV = 0ca41289a547c32ea5decde50494b89c3e57e05b -FixedInputDataByteLen = 51 -FixedInputData = 28586c4a6ed8916e1dcb2d65db2cf574b7367e4d2b2ede9304967bbc7f307e0afb73c63d21f466d47a9d017e877faf62ccf871 -KO = e431ce5c301f97940b0500515b07cc4c913b53e752fae08617887e6c5220f969d015d10639b23e56dbb4855882ac4a2705cca87a103947521f1d61b1a208a2eff9cb - -COUNT=21 -L = 528 -KI = 043a5879e7b04ecb39be508a3ad8bef7bf28e04a -IVlen = 160 -IV = 842755891640ec6c9f05bbc545e5d8534a0d3153 -FixedInputDataByteLen = 51 -FixedInputData = e572a4552e86ad6c52ef7bf004ba183312824f1a20363c9447aa79c2a376d4913f5d80c8f7b231678a2b7b2e0eb658ed0b836f -KO = 1d5e9eef2a5d5d440637bc5dac10af8f28c616fed1dce1e0bd2adf3acdc8d0f94c7eb48230b43d7972a60bd1671c82c9c0916f123482d6281ea75b4c3704bfdc4c51 - -COUNT=22 -L = 528 -KI = 99058b95560f1689465a704f9b76928ba306a512 -IVlen = 160 -IV = b731d475fba4debeebd472b6fedaccba4a2f8203 -FixedInputDataByteLen = 51 -FixedInputData = 9b1ec7d86655d17fbf478d81d5863b309a431984e50e4d7fd1b86cb29fc9fffba62c9353272cffe103ae5171c554dbf44ee0fd -KO = 8fbd7ec6008373e8c081da51366d721bcb6a873fae450de1ae38bf53ba19988d55349874c1687348c83a237c4cdf43b8720ac99086ac6b121ed77afb8ec2769565c5 - -COUNT=23 -L = 528 -KI = e09ecfafca26ebae80aa3662933dd17742ef8c32 -IVlen = 160 -IV = e52a398d18228ea3851e83c35550ddc8ba96bc5e -FixedInputDataByteLen = 51 -FixedInputData = e8aecb0e760ac6e35e16fd12d6ed862ac8458a71df14b9c1c0090112fcfa5a2cbe2750bc078df46976f2e515a507819713108a -KO = d028646612d8d5724d2eadd8575cb65231ffed5b89307bb558856504f184d489462b99b6834be7ac469c15dbb001c06c243e848ac1954e5de5d2c5adce59eeb0b64e - -COUNT=24 -L = 528 -KI = e127b7a618dadbcc13f162e7566b0ed0b21568a1 -IVlen = 160 -IV = 0dffa3693ed9620d13c555c23d8e708009862459 -FixedInputDataByteLen = 51 -FixedInputData = ca60d67977601a8cc445e245f568868b6bd44ad5d61044055de3f07a40f396f2a1dbe455b2c1d79bbae002904d3684cf8acae1 -KO = 76411fee048d9136f0ad8743bd4916ce6db613592a931b27b680582b5477c1f4ef30edbfeecceb8400d662c2562e9aadc75d636ac9e682fb1881f537b5ea1c9236d3 - -COUNT=25 -L = 528 -KI = f5ac85430f26bada847065f8803eaf00517f55b2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 20659fdf88c894d21efc7e30fa2da4865e570b04e3209b06983e4e2f7955a8a481129a35135d7ef31dcd56bd01fc51f28ea645 -KO = c24a71881fd4742da2abfa9be512814ff52325a0f75a2c737f57bd99e161749a845e7304b68a737318d3efa0a04b2d43b809b6f1ab99264c5ca6bdd4b906e060590e - -COUNT=26 -L = 528 -KI = a57cec48bce8c0024cbc94037f3281627aa66cb5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c1c9395b243bfcbccf218fcafbda6d277f5dff0c267ba91b7badb2a6d1a5b5df2ed9bc841a539d057dc84ca637b473e0c3d6c0 -KO = 77fc22feb534199fb304faf0f6a55d223df2de311681bffbf35819ae0a99b7e57678811a06799df6a3613fd532aa26cb885b7f2d2b1e6d12597e7d2307275d01f34b - -COUNT=27 -L = 528 -KI = 059c4e2894d196f998fdafbe176e43e1ac95c3c2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1c5dd7f4f4e320ccb146426028e1988537e4eb3e1ffaf709fe3218481f7d26e608fe0b8d410337ba3aebc50d1d86cbcf647137 -KO = 862f1ad54f2ed78f276424ce4730712a4db15adb67c2638794ab3eeaccb164ac7440e56fe8c680841e332bc4ed873de8c526bb72effef23326bc7df5c9bb577ebd65 - -COUNT=28 -L = 528 -KI = d52434757623ef8da5235db44437353a506c9b46 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0f36e09bd6605d3bcd3d86b2152f9c028f681d427e7e56b37e5a17abb4ce4d88327f40ebbaecd9eef7c548d0ef3808fe0560c -KO = b32af0d252dfa5d67d90b325e47a9ce8c9ecef4feffde8f113274ed10c5208c48a6b3bb2e0c9dd122ad51b8383f2f619d9fc139a706014263121a7a25a424814148f - -COUNT=29 -L = 528 -KI = b450d02b5e91d0f96cb63748154e48e447ac795d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = cfc42c0b27bd4a6595e67fc92df1834ecb0fbfd0fac7daccb87417cf68be8e3ffe99b9f1201186bb3edefce00380a15564204c -KO = 434916cddd78184bd9790cdbc9a3faeb3d295bcf90b3b4ce656b8f918e455ca915677b52e562876b6e85366766916ab7972c01ee679c3ea9c93f93a3e703de029c45 - -COUNT=30 -L = 2064 -KI = 4da12f84b8866732ae80eb8a42e70f56fd53c6c1 -IVlen = 160 -IV = 641e166f29217f9195c80d8caeaa308110c5a212 -FixedInputDataByteLen = 51 -FixedInputData = 9bef68d30a65cadc8d9f1043e30c015fdc07ae729e1900c15a5f2f7de18a974769f4aa99845cb00080dc8745f6a093c978376a -KO = 1590c1ef4061555101ca714e82eb7f67347cf9f534834036d446dfe7e7106b33d30a0b0757f3c0ca23454a5abc87fa9bc62286064ec50742fc4648b77ab6e07812e44c80070e9e27a1e5b7b1c65aebf0e5464527eae15eafb0285eb967d699f0b281c3b5c51552d84d1820f2a7b7b245fcab8a88995b211c70e6bcdfccbfe5ac42715a3aa6ab6cdb57af84536e73c4cb6b4f26363f38f20792c2c482a8db224c211fba5ca104a45ba562487d72ee0f09b3e2599e91a0e2b7478216f97bb197fe2c5d2367ae2541aef8b6c5392fe57ab6743aa04979335583947e133dc3ab4b87d154137513fe2dd95657e0cc62dac4a41ed920033ce340030904c0b0a2b2d0cb98e8 - -COUNT=31 -L = 2064 -KI = 2f79001c4a16ec74c2bbfaf65daf5e274370e45b -IVlen = 160 -IV = 9cdb965bc49793dbe89f700eec7eefbdfb10da8a -FixedInputDataByteLen = 51 -FixedInputData = 17b51ee77565c3f0013d69f05ab2965d2ee5c826fefd6c2fed5248a2964215c18b89645ffdfdd5d1f4e16df3dd611e15ac62db -KO = e8b5121bf88d7c1561f69f39a5d7d4023a1a679dc14dfdcacb7c19391ddc3b6aa76422d80b2f45a89f5b547e2d4cc8a508c7c88dbc65c1a34a579d7adcf0af379d731e1a136281eb770c0a933641035c8fd83cfed1608de89d8a39d18b5a8e4753a7a954331e39537eea04a6d1b7ad692a8f21ccd86f87f2210f3edd45c0425530682eab69bcee2b54585d52ecc3fcae1a20f53f43a870f1020e40aee8eeae3a60e8f79434e6d1439ef506892465563aef854c8d39cdcc30dcd4f9a4d51c937391bbff3a28f3c4a3de6657a4b0f9e6ca11b09d3dedd6d0e1dc1e84e6b0f290a818ba91fb632db71b3f9829fcfdfebe31b85876c252d071f3ac8fc23c47ee16c02a25 - -COUNT=32 -L = 2064 -KI = 3980bd69dcfe1e622c8bda631f553e4c9e056c7b -IVlen = 160 -IV = 8f8180889f34871f28ea1264b3ee82b58a21ef22 -FixedInputDataByteLen = 51 -FixedInputData = bc2057680b11e78f0e1fab77584c561622284aa8d87c47269fcf4b22d061dd42c0efdf6ac9ca132a070290fe815b13f9153949 -KO = 31274b5f5f3aa8aa690e0f9f0eb2104c9e32784cb39452a67bdee32dcfe238f4c5f3c6c3e993c0e266ba15d86b92a9a6e0ef7ce555f2a01286a6cc669199d0bc5a0647b1aa4215944f4659ed65e86a1e124237cf281b304a1731033e626eaff34813edac5568901750568440193cba3b71b14a6796bcebef8be57448b20c47562ce570aea23b873f293d1060814868b21d831123e11ebb303bdd77c2eeeb7db77fc58672fbcac49625138dc8e53e4616224a23a29ffeeda049522b2c0310e8f4ecb753f56cc45a520766c118261d53a444760680ea70ff58f437936f478bd6b715d993d01a5a6145cb20ccbe4619376828106a64280597d928e5ca2f4cd7c706edca - -COUNT=33 -L = 2064 -KI = 5ff660ed05b51385c2eb7e04bb6abc7779cfab15 -IVlen = 160 -IV = 1b2ef1e7faf8c6f53cb628512351fd9d8dcefa68 -FixedInputDataByteLen = 51 -FixedInputData = dcd231c417e9979d6ff93396e941beb77de0c1bb0e16adf27f75f8a221529262909af54a9de95053588983e64feeddd56d09de -KO = 4b540bff877024f94af5337b56338be63a1d7ecea03767c319d7374f77a9c297fbf9816046b2cabdca4274117570d62a0f96e3f57426a0a9b4b09b9d373fe7da5cf3fc728ca5ba1a57a31b73a85850232829cf9d95620e2f06395fa05503ff80527a93a1e7ff85542431548e1107b6638919ce44a5c08c9cc32f069a23705b7c647065408d8ce5bd9bfe636a0786ec665709341938dfa4ba833a61a02f456feb585bf5509528441aeebd5090ce878fdf010c4d4785aa08a139681b5ca3f4fd8e0382fcdf005fa05ea5f6a3ab33c1b820f5937b9b27543bd747f29130fc1c65b907d640d57ff0edc32a79c995f27235c31e474dab2586c1a72e3853f09d23bd5b0bb0 - -COUNT=34 -L = 2064 -KI = 8ec1d25722b33af1901b929e60bad0cde8c96761 -IVlen = 160 -IV = 783f613fb18041895140c670a333c5f9a1d32848 -FixedInputDataByteLen = 51 -FixedInputData = 5cb593083f44bda7451e73db89658371272ec729dea7b9d35601b25cc3b911602a214fd0fde1996bcb547ee7125df71f9ac38d -KO = a6a55395ba9a66e5915426dc4c14bf060bddff574b1339ccbeb467593b2063d2a9df8fbddc18ff7a01c33833cbfb3d7e24a2c94f232b68fdd428f61c0b02ed7263571e1df49982ae3403f2470ce2edd567721648317db8c1d9c479dce5115af41e4d144da577d16889edd8b17397833b57af7317846e38237fcd64fe1eebcacbc8b00c44d4f4f4abb0dbe66f67913bafc00302a0c2e8f4f33a92578f34ae5bee4d87b48f749ab450c03357d89a42067855fb57e155802e99d2614cce9854644b8b775b3a82cdd015926b26e6791b77d707f6851d4c9185560bc7077de38d6b52463a7dffcff7467025cf1871ead217732258c42bdaff68e76b57603e6e3b68833f90 - -COUNT=35 -L = 2064 -KI = a857723033da7a27aae36dfb684fcba05e681468 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef3fd0206639195eee431a5e911f794ae358b20f8a1a9da086338725233721a13086dc23277ca0a3edb7fcf818fa3aaa9e9a0d -KO = 9569df4f7f31f16b1e9705c36f82efd07435625ce52dc4fec35e8484ace785d70c5a2534975d08dbacde197daa6d404995334f9e38c4e8893f4c971b0dcd321803bea9a3c9725745265c8dfa385dbd4d7f8f88472b60d2ee9795e4b60d6e24d303a31301c16cbcdc93059c930b68efa451336b3b2dfccaa89f9170c3fea300d936ef92f855d5341adef07da6b7d71cc5b57bd4a493394ead4f1abab87693f6540d13fa7c02e4dc6e40a781d3df436eab64518871fa9a7df823b030e67880d719f058de3513a81ed842e45aa4b1656273c690ba5becfcc1e47384931f652d2daa87f912428bfc8f17a903d6ae177f39f80cdcc0876b44de601b68dae798626abcb749 - -COUNT=36 -L = 2064 -KI = 4475487e157e30cfd4bbfeb5a240d0ce3ea0b1ba -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4751d9ad64246367727a0960e6ef155cfe7e915051344c09758e55eebc000c8cd5411c9f626de92ded0082ea5b191dd02c195f -KO = a1de959dbfb4983a6fbc9f53978a3cce8fbbe2470e52b6682f891f260f4dfe9f99dbbb46106da47930029fee3c514b8de030418ede26e05a9201edc30ecffb07ce76362aa962b775200ce9f7a2ee32fd138267765a1fdfd560b0b5697a33e4b0356e4b1e89c4f8abff7a76274bd799d58612b2c611ba1d6b9f2ab7be364665140d97724a01823b78531ec922b77ee2f95e935c4cb6acc9dc1e89f74436e68b6cbbfc8fcd50995a3a2f0a6354490c10e3adabf75f67794dde12f70d0716182fc0f632a80e9e98a795c9d68fa03a22c406096e647b6fae0e599561d40291758c7b6b2bbe249699e6d034111b23a95339324c2c98bcc74391b2607edff79835202a40d5 - -COUNT=37 -L = 2064 -KI = efebe068dd42333abd2fe2467fc4b4688ecbd26f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 213c098f40dfb392ae7102034d9111d13608bd61c1e701e6d00b02813d04bad249c6a22b9f14f2929864da802352cc0bb6e75a -KO = 2229ea62d909a5364e8bf4fd306cff4d799c6121d6d4c4393fc8f51879f0ab15e79d99846ebb6fd287fa0f60d0a1d89706ea306e07ac9c94fb2f2a28e5d5ce88751b854b10602ee3de02306e992f0609c633c98c80d9b7b3161511d3208f3f59517dd5582ab86efa2129eccc64a077429f571631fb7c1a21d31f51da5303cb6b5497a9c533cc800e5d8680857f4841531474ee5a40a828e676a5abc10073cf10102e47f8c9f4f8631e81b7f5d908758b9aa7669eb338168321e0b645702ac00cdfbec54f84ea0fd25762687a2f60dc04175b1cf0c34e2cc6b5a9ff1bcc02d4a2ed2beddc1722e8f7ded94f018aed49b279d56352d681cdead79ce1b857aafad6ab4c - -COUNT=38 -L = 2064 -KI = d118700b49ad240dbbada90a0865d05178806162 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 56ad5687194e48ac5193953f2093f98fb6f9497aab32b3cc3b8727f2ec956104d8d17b783d641c5b72de599bd36bf9d2a20ea2 -KO = 6cada3555c7b83d52ba4e8656aeada34a4054c5065530ee684447f8abfce81257d0da5add96b5cffb35ded06f6e084a8a9a6b6e53a5b59597bab2ca2cb869d884ac1e75642ff9b5663511be0373b2afca6c248f5c23a7dbe4e3e6e4ade851fca16a1e1d4762babcc180a0f211a4526d11c9cf9f52ba45f6897e08ee3cd7c8b9af0d428960373e025d3a86381b48175cd50c7852f00c1391db6fc3905855770a61e12c8847272ac2c56f07a345de3884bf95d9e1155e534fb6e3ede1feae495639a8773fef73c20a03dea29d1c0b7732b41e8362e86f4e9a5498a985afe86d77e9cf524e50966ac5375c498881d84d678086356db0f91a50c60fe8218910b0063e029 - -COUNT=39 -L = 2064 -KI = a1c021ffe31f1f43fbac62902dfab9dee52fde5f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ef317eebc352eec46d8e9e91b2b9fdf4cf66fa3b076bb78fc3fdc925c3f2ea2a3b2084d6b7b77633c583a2539c24a58827d8e9 -KO = a0866309caad6a774c3b1da04ab93acf70d083a6c87436990b8c9e8dc893ff4e01de0aeff6754ad5356234bfc44a160884175271a4a0452049c3d0eebf655c0868d074bdac24361c8473653f7a8f75bb4dc8f3bef8cea575e2a9874ba2c7e8426a1750ca9b9fc675fedddaf8f7c1d29389b0326ac1171e54a600e307b39ad3883f77e00f6ecffde3279591c4b36655c01e26f56b633dc42b66909e0f16f70764c8430a5dc5ea710c31ffb854eb7a084c36bc7acae1b0410bacbb30eb9015d667c7b03de252658e80b316f82f5b1cf54b361bc89e88efd4f6b4e06a20ce1260b9c8b56a5ec91e2a235cfa0b496adace04910ec625b2405b15c30f3067d125ee08c20c - -[PRF=HMAC_SHA224] -COUNT=0 -L = 512 -KI = 42a3212ebc8367275881be71cd40f1929e5a2b048e2884a8f2f30a65 -IVlen = 224 -IV = 59d5ef0a3cdad6ba2286e6f0315a06822a2036cba2c24aa96a7b6b1b -FixedInputDataByteLen = 51 -FixedInputData = 6742715dfc2f211ca4a0ff28246ffee27c4c041759c1f17a17fdecb96f3f311693982e41e1289ab3be9738480ac940f4983bb8 -KO = 7036611bb4704361c5c559339c6b5360046404d89a0fedcbe321b292147ef2988231f5ce80a389a3964cfa176276a025ed595f254808dd78fb6a6ca8297f8b79 - -COUNT=1 -L = 512 -KI = 9e6fcfe5577322a7d46e2406a11a6c350fd1479c047be9bd57e2f87c -IVlen = 224 -IV = 9cfc11881a74d3176a8da9866a1c4d305054db2fc3bc3fa8c6cb2d0d -FixedInputDataByteLen = 51 -FixedInputData = 26d7b58e8e7208f6215a8df9ad30d8c5c66d2998fcf4b5b6f503f3a502496fe5066307cc4da345fc4dba038c5f560fe1514405 -KO = e4d801908f5996f3b148393c2b6d0be62e292096f99874e2821d8d2e99a4e446adfe1a809aeb0999ffd292201374ee39d868f3b9fbc5ba0b443f88024ead3276 - -COUNT=2 -L = 512 -KI = dce83c6e7e081434f140c4b3f188b96fce13956ec9444fe268386f30 -IVlen = 224 -IV = e59e8eed491eef3084337f72d5838811776d7d6ed586989b02bdb41c -FixedInputDataByteLen = 51 -FixedInputData = b1ea5ffd479a1df394831e2992312b7628aabaf7eacb22e7fc58d4d71169b6892bf84ba402085f70e9501c72c3a56a69d3b506 -KO = e4ef79a0e356e7f1da27f92d4f108f97390375f7dcdc649c98971ebbed7b28a7cdcd8471fdd5fdf393ccef3b6e9ba19d23ebc0e55e0bb31bce986c4f2efce5ce - -COUNT=3 -L = 512 -KI = 7e93d0ce476088f06a0a152150d1d3aa49a48ff96a4fb2e76d282d7b -IVlen = 224 -IV = 0782130f06519eee3b30ca33ce778bd4f139e110c3dcf7ddec15bc16 -FixedInputDataByteLen = 51 -FixedInputData = 557809067c4e2653ac589117713ce6862e0ca1b72aabf7bd30dbd33d9e20b9eae64b6eea9d7112410e5ec5892ac120a9ff23dc -KO = 681fb14446b21b0cedaaf055e74a68ef792ea96efaedfd07063e629be5a0c71baf8f20ceb83f2f64d1ecb3ce330c2249b108ad13df996aaa108f83859a49fd5a - -COUNT=4 -L = 512 -KI = 2280e48e69839d12974c3fc461470c8665d6eca2bb461cfa95e174f2 -IVlen = 224 -IV = a48c9fc9a5bcd0c14a9a0220071032038755be650f7025d4d440aa35 -FixedInputDataByteLen = 51 -FixedInputData = 1e65d46ad954505b6375790cefd4ba4370dad1417a04fe35a5d094a1f8fa4c50f8147e2f514549204250783169cc5e522e77d7 -KO = 3b9d20cd4990ded6344a673b3f992ea0c1235aa63667418f07bee6313efccf8248789668e1a118d826ac638047b614a756eb2bc900c20fae581a841c47a9c68f - -COUNT=5 -L = 512 -KI = 701e4e04b3fe460e25f2a5b42ea80b1767156eaad6ff3268d9773300 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9f3a21cf9e2ec8330cd195cb6421ef274808134a14ed3f8767f713e1247d76ad32a13b02a50fefc77beeaf1cecf83645fdfd1d -KO = b271c82f269b4b6f0a5cd7add4be138da7da2a1217c8f9cc030b0be3852f7a504319841b69b1c072e64ecd219e892a0eab9745343753b25b5dbaad00fff80899 - -COUNT=6 -L = 512 -KI = faf074009ddf8a5aa59443cc66613a27c0afbca08f3aac80f526d430 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 51110c58531d197fa255be1a680e1f346526cb4df80345882e56ac870c5e78ba7a78d2dbdf591478d0defe48b3af66b46097da -KO = d9c5b7575b8dd5f03c971155da58ae06498d575b999ad1fb2686fb380ab2cd026ce14a96b97404b39ac9202409574d72a850267e9a2958e92d544869fe89e91c - -COUNT=7 -L = 512 -KI = 3992b01112710e75dcaad26cfb2d3e9258c07611269901bebd5d98b5 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ed1523ba84e0c48286d00830618b904c6c9d078fea480835cd389feb37b5780cfdcb3a9810f6c6ccb7a8f75fae62a6f3d7f2d4 -KO = 6fbcd596b7d86eaf89b411cdf40ea37740a05203bca895484b370b5216edaa356b680162267274d52b31c3fb5a0d9b5a4d056108749938330113f2853c6cc7d2 - -COUNT=8 -L = 512 -KI = f251aa67fd469d900a4e903c17bc5b330f394cc47e16eff35375d22d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 085f1511caf7afa47ccc0497424eb388630d100eedba4c8734f9995e50cdfe7dc1b892631d1604e75514696891ab08598c79c5 -KO = eba33a4c050f1f806f0f96c596a6c8421e88621094802bddb6c0aedfddf5d1b71d69505e4954df2c244da3ddbe003dc8fad73552e11b309d52185b0587a8fd63 - -COUNT=9 -L = 512 -KI = 6affe3053ef451281ef8c39053f87124e9e6a27b37e3b2b7e2545f90 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 993ff6bb55cd52a366d710543b87b266e1069f3ec67724e78dd38b6e6f9b8939692fc0ea6faf574f48706e3e1027808f8b85dd -KO = b669dfbdf944185327a5cce4ba29969ca470faeaae3b23fbb875bb0cd5fdd9e7aa62d606765654f180e6aa1cfa65c1e70cc2609c71b26d349df0c7d091ed5d1b - -COUNT=10 -L = 2048 -KI = a1878a08df7fcaac9e93ddb3124d083a57e3e9bda455eba0943ccb5d -IVlen = 224 -IV = b7c05327a4e6881131f0ed15681e512d469ef2e584d51d396eee6a89 -FixedInputDataByteLen = 51 -FixedInputData = a4d34afb88ea17fe2b6fa7727777ae18d7f032f16fd0ebf9f0fa47ddc9030e1dc14908bc6d21721fb9f3194f6356a5095748d0 -KO = 5791eab30bb7297db1f48c7d3bb63eb7644696f8a2c8bf6fe252ae154c42b29d6c4222af4ebe3478030dd2d5e873a91e4ebc07e1cb0a666b6391e97c624423a09635b088b31aed74c871de59a1fc4d1517fd0020312eda5d8890d2b8a355c70abbe113b7e1215bf99f21deaefbe1bca12fd5a00b6fe9d361dc66d1c454cfb5d769a51e56340dc1ae8ecf4e8bd2f208de9548a915cc816f41584869548cc6245ad7d095db710773e02edcae8a396d7fbf56ef6e5e3195600f8c8eefe1b41448ad82a0c00af63ece225421d8f64ee4b9aae9390102433a7c42eb94830d0f89258f958d59d3b2a6b61cbb436ec94e4a2c5818c9e4b5852f2438d0619f7bcd83400a - -COUNT=11 -L = 2048 -KI = 59ae526409a07420e88555f723b01f2a680f0fbdac81b2cea951f5a2 -IVlen = 224 -IV = 24dfe95870e4a1802fcf9bf84ad71e82dad701950055069274a5be0e -FixedInputDataByteLen = 51 -FixedInputData = cc1965d955f3ba9386df66e23ed18a7a11e960819b67435406e89dfc207a83905af224fedde2ae15aed95d2209b39427d788ae -KO = df8e3fac8130de28d9fa6eb1b2aaa28ee93f7b2d91e984a8782ab470860095d3cbf08729fb3e870ae5c279d5441c6f46cfc59a6ccb18cde51cb20ae22dcdd8f2872f94bb9ed4b05512d909b6400ec85564a9be0b4bf7e001f90c0f8e7709bbf446474a4cad327bc2ab16e85cd848ef4df3f87c7e071fbffc7fcd7a5eb709e49793e0f3645874df330b3a6d35586f9b657e3cf7723cfbb058555163f6006808ff2686851f1388416d5d0e9c58627ceb507dec3534715b2f19e7003587ba7bef8dd468084df1e4ee4b3af699e5118e4556a74366d5004f82516b9477faa37d46c4cfa4719d53a5936ac0f67ed53383c3fa5035e48dbbe4489027a797ae74b0dd85 - -COUNT=12 -L = 2048 -KI = 6ee1a1c51927b68a879de8193440851f50e78254aeb469851f563c75 -IVlen = 224 -IV = edded0ac538893e52ff133d2869036142129446cad1dda6df63544ca -FixedInputDataByteLen = 51 -FixedInputData = d772ffb91e4cefbe8f8c6f5e1dc58c3d383f512d1b0e532f6f6701613e8c16f6b1e4aa54ee52bfd19b324652dc911effdf66f0 -KO = 19e9413a9a15d9369be04abac1b51b3ab97b613b00c2c6a8abcf09ce3b90fb6b8d1a15af57a6717242b52017a28dd22a5cc12ab4a81ce333d9e4d3531d33b386315855b26bb5eba19d1315b7950f148d51a14f8feba5c90edf942e61e669165cacf7fb565fdd2c795aeea4e47c431f74408e9d1414b2f4e9f1eed6c5823184ed323acb0e636a504c428dd671a9fcac3ae2f13931acdb11727d90f993688da657a841d448524588047299c85ba83aa1a0301af4f0381e41ac9d4726cb469d80a837ef3128dcafdf311a9f8efe72356b4cb88d23d23d2aacfa7399e40e9732fa55f7e5d20062f218f77af09569fa742644ec72b07a2824bd8039de07e158a7e2ec - -COUNT=13 -L = 2048 -KI = 027358aa5322775de8cb75d3152b737a252bb5411baf44db200022fc -IVlen = 224 -IV = bad035e9d84aa9cac87f049a7ddde90ccee9f3067873fab6ae3c9536 -FixedInputDataByteLen = 51 -FixedInputData = 52601a6c56ffa52399fa5de19518eb4115bfc283440fddcfc9af89b079962e6598f5dfa158586731dc0188eb0b3a9388c24eab -KO = 2540499f4d72979944e6215a6ef77a685c706a8afef2034027ca9431bd8e3d9ec3f360139668033383a633a2c71f9b434472af8a06796a113f2a75006719dff26f04e1daade70734b3d42546361f9f8a98a4a4d4e8273eacf8f1934b07958fcd579feca20d7cba730bce8cf5f16b5f29e5d9fa645b16bbf379e0db57c62578532307e21c29f4659ab0970ecfdf9dd63bf229f3065aa075ef361e9e76b368f8c998cca673073f633a6fc05bfdf4738bf1ad8ba47efecf2137b4aaf59ec564d57071a38b1a6438d5947daa54054e6adb795300e59338ada138221a6d17d39daf2ee17ddd16af139088164fef2a71d5f82d3a1f61aa2a46edc93e5062f39d467abd - -COUNT=14 -L = 2048 -KI = d6285961d574b12b1a56f441fab22501a5c28059031ca7be186ae248 -IVlen = 224 -IV = 22ebf73fa99fe618c3ffc20ced8266aa1d7b473a3241c6354ee3da87 -FixedInputDataByteLen = 51 -FixedInputData = b6f14ec9a34d9249c283e1163300c49bd97c2b2151411e784a0c85a39b9bc0e5ca13f6efbc96abb230e454fac5cb8fc6730957 -KO = c30397fa55119c641cf89f047978d75bb8614e1ec4df5a758ad13dc3d7cd9aad1f2ceeb1c7ddc202263b56ec3ba6a305d975db0950c1607eb7a23f48a289eada74f294c28ff34c47696b0ba40664620494cfffba9f4518816400eca5d5917de8e80de5db630e5051177feab0c9e44351bc9b94cbe3fab66e0bfefa295be8be802985d2d4079ace56d4f268df406ddcd823c7a98532431257e1c0f36168e36d13117f7294c4eeb689b22d4bd4cc2d14dd2e7b4d3c1987f6da05d628f70b3fe40dd7c2ce21602b79bb69332383480329d20668da69fc88700900dddda2bd5a1a94856f24a87459dabdfcc83fcb0ba5057293e7eae427fd366ce5af37337ae5c292 - -COUNT=15 -L = 2048 -KI = 3f7bacafb6c1f97ba69eef791dec97dbf9359a7b6da116592904ae66 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0dffc54cd99adb170a6dd0018f511da23e46306e0ee91ce161dc57783ff2340637c6dd5e868e1d2a9cb471b998cd7a028bd566 -KO = ef2a8d25647b156b0399aafdf8529dbd23993f46fa569baef4c9648a7bcb1c98f2492de9701105aa78e19e2d993c71cd2aa5be6124266d49f7a28587dae1f6eb5a7674fc8f765a499374a2917e51722a99bc91d7122b29f00f7cb6c30abe0c81051a41a56a8cbe103e80875377274552401d9cbbf2ab6ab362e0f9f4d20e6a417c96398b37a63daf316eb5c2321bf3187e9cd540069a61babd7f5eaf5fa8bac0b66b70e78dd37ea96f20c3c8a40ab3ef83646653336f8d676d7584845434830b258a99a33b332ba5a93e808865010128c96b745f0994cd869ad00bfb1aa73388f0f06bf0e179068234e6fda62fb7fc428e9be66c06bb50f90a747b91204b8c38 - -COUNT=16 -L = 2048 -KI = 215110a6715b26285425b17506d696ada50a061e1c3397fc1a52b0b8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 43ce3aa7b8aea06079756db1118f65e30b5eb4183051ef44a2e400d174314281a4013f53757bb6a5c64a24d95ceec32a88747c -KO = b02faedbf707abdaced6bc0ec64c85719b5e80a22e49ac30a14b3612fee174b9fe25463ac9cdbc25a1510663d4724cac92f8ccaa4753196ec9289bf7aa3a5e3128e8220ef8366cfb69fa17c148a761e90313d45d9b4017ad2ebdf7e5cace0619c3bdfd4d5f8b33c4de9631fba2628d01cab44b24ba0f1b6536038e799d4a811cda71c11adfe05e890e1a785dc0f4453f1e44719b55bb3cecc4e11479f068b48b35bc3f45175a80cdc883a70d6cd4620138a47a7077d3b366536b622701c124edf819fa2a6fb512f31dccff848dcf0774cab3bbac9a65c69f7a8a1f40f3e454bd73ab1ac67788863b7e719cf8ec05cffcb41947193d2031f856b7bbe225d3f297 - -COUNT=17 -L = 2048 -KI = 95b3fefb78b218f22db33f815999fbad6785eea1e93b11977444ec7b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7d0e3fea3765e49ae4d979b63eff0c6e131bdabd5740bcbae0b95e4e36b3f9c4a5c9e12b4182c5213def6276d5a1a393446d72 -KO = cf3e047f2469887a18fe6ec0edfc2067a53178b2cb8d512256a0b63ad0df8ef6cb9fe360b808c5ef82b999a31906bc8d42fe0d0aed30e4803fde66b2a675ff373a0e6d9c22bac2b60080687e74fa42ec52cf5877430333656254e87e38c875a9e74271e32c8cfc041c752298589f4ea1c5f69a79e8710f554e4f570f42854084bd8dd113c29cfc73f67d5eab2543e69553726c38d5a4d0b106747bad1921c3d2ff08d0408e1b5ca10555f34e4d6a0d6bfd574dac76bfa1e8c11d9d0cc022430a21846d13c38d6a7dec5ffc1e5dbdae224b06f1f7f02630fd19bf2b543f9a9763250386916e31d6040e2ad251c299c1fcf0fab238ce331bdfcb85e3edd3b983ba - -COUNT=18 -L = 2048 -KI = 6951f6407160ede2113617d06040b6e63e5cf660a66faaaafdd65aca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = bdb09014ee77b35cbe0b702e147532d62b112d6f17dc2053de3300667f5e4ac52ae3606c3b526d902c38c2a3794e83a72769d3 -KO = a80b41037627091cb6d81f8db1a2d7db5c3bc78bc16cc1e25796c0eebe4fe50b4045196623296a0fea495ebbf0de71a2ccacc56600aa46849e4527759e0df7ad70b8e4c8229a477b8a652dd7362709d45e7d1fefc7eb631182b1c405fc2ceb39549a3395657f6d8920dc99f5d62777fdb1f4bb680d5731ed28bb9a35b2d6c8f599fcb6063944a3ef406745440f85cc793be23057d73cdfecf5c029641f98fe33c6953bd9a3786a3f813c4384f54a553646cb7116ac83734fa8edd7cda6bf17caf546ce2a2ec57591d9db1285b00c23705e84d1d3660f1b9a78fd0e11b4a5364012c2158084a59b9f704b12a4dcb5b11dedda8ee55eea6c36783349eb741183d9 - -COUNT=19 -L = 2048 -KI = 9389554674a53c3d7119a7e45863d30422a1331be08e3c89166d5d64 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 4b59d6905799d68750f39c020de3c988914db95aeecec4a9ec528c13a8bce1c55674a72656e99a216b7de4d232c3f0217749df -KO = ddcae7559a018edfd6087165116137c5fb6295c4f7e0cedad2cf86900517e7810336f1aaa79dd78009eda5b56d56020f30ff4ea9f1e9d466ff186b26c7909779e2d419fc5ebce2289caf538add325a65d245d694f65ef755aa3f3ebf048703c6e43c905aa25c34d6dff51f5b8d8b55ee69fae4693f1fdf914198a6a0fe3490a856ad1448bc901828c41e90d279069701b18a25b2855006903c08485d2a5407bd08cffdb29236db628001c07f764768e1f09c5ab32045872a189d49946ad4875cefdb96eb93046239a23b6eca6f4669dd6e40bc949d8b2db76f05a70d889f5f51735d830fc411934be886171eabc419002fd98510890dcd23208a0a0083bb85eb - -COUNT=20 -L = 528 -KI = e0a6218eb07f77d3d1e56762f5270b37017df4803e0e8e728be3a9be -IVlen = 224 -IV = 99946aa2f7a2298b5514cc4eab5bae514eb51cf53847fae74569d7ce -FixedInputDataByteLen = 51 -FixedInputData = 14e1e2fa1134e3b7f9e6f88b078611901b97d068639d0be53282c5d8526a5693f9a6e35331e765e2e2bc0f78b021f9857ad68b -KO = 02d6ec4a1fa982837ad36315d558864b340eb39ec036c9278fd2a568a27477a7824db22c4e778c0f6b2626484a075d3ef6a6b648019e087d8571fae1d85e09e827f8 - -COUNT=21 -L = 528 -KI = ffe158637b3e25cb09409228a44d301c24cf12b735e9ecc7cfbd412a -IVlen = 224 -IV = edf105e0594580d7dda374d2219d1c846e14a6c6ebabee7b5f0ea58d -FixedInputDataByteLen = 51 -FixedInputData = 6e61d2769429826a646b08aca4786424f32e64da1be29ffcde98ce6c595ea92dbd160249bb802d6789acc1429c939b2dd663f2 -KO = 305feaa3413b9a8b066a765e13ec9ef77d823f746d3ef9190b8f77c1530775772e74d62c33ac24c68313cb62d6f47dd9f5a750444ba854ce2868b36b6a79b1ed3ae4 - -COUNT=22 -L = 528 -KI = 68425b39e4a38f53290766cbd59ebb564cadf704fcc697a8b2f62fe1 -IVlen = 224 -IV = 7e8517306eabb5acec3e1e55a1de9738ff53138752f3f0ae23075fe5 -FixedInputDataByteLen = 51 -FixedInputData = 3b9a3ec7e99cb510ba75c8b43148b918541a828ec97d65378192c8b0103bd2b6904b0bd739749b69a80ef6c3b513059bbdc7b9 -KO = 02fe97023d5671654607e23a362d4b215d59212bee809c629db0d5977daff4b168b540a5632c9bdc5671da0e026ca42e451b7cea1fa72f9297f2ee7375b9b942c7fb - -COUNT=23 -L = 528 -KI = cfe9833a473fbf398b7673571f8ef2853856d3b01dcc9cdc3eded248 -IVlen = 224 -IV = 421a8d028687055ec9e4fd1dc48550c9d6317a8a730f8b44efe5b118 -FixedInputDataByteLen = 51 -FixedInputData = 4f576bdc1148b7fe78046b365e1f6c346fbd1110e210aaa23537ce08dd298b81a1c180e547e36cc90de9c45a711178c0822d89 -KO = 76484371c37bceb65293231d4059e31fb26b71a6b616676cc1d0b4d8719a53c575910c251da7275297d5746096f2b18543f53d887e58887f203e4a753c57daaa2e86 - -COUNT=24 -L = 528 -KI = 507b58895540db2c05c84c260fecd2447bf77b69aaae4510b456ec54 -IVlen = 224 -IV = bf99592fcd9eb3174801af1e73a937739f2acbf2aeec2baea9bc9d79 -FixedInputDataByteLen = 51 -FixedInputData = 67bb4abd719463ca0f20ac4f666cbe3f6a9892bbd6ebf68f811e5c1d827c6a9b6c04ab81c0ca22999bb58f0250478abc534129 -KO = 6910641ce4741f1d68e638cdd255e471b5123bc54a9418e0cee676ca8651bd404ebbf9861dc89240bd02753f12e67708df00a52dde987ce02e46497b74e9339eb78a - -COUNT=25 -L = 528 -KI = 077934f649b95a5660257116c35b0d54065fe1c4b0f92c2bfd068f70 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 3a56508b7412f6ea5ced2e2b6cf8d492a9a6363af3027c5a6fc1c9aebe5c7ad2e57600c4d94334d624f63d8f019f2e2b32fc46 -KO = 646afe8bae20eac79373af14455dac12957a62c89908e95a04ecaa880f3a6bb3a99f656318afa84a77d97761cce57cc97947c75140ffb3dde1e55dcd29356265edca - -COUNT=26 -L = 528 -KI = 22791412ec1b09a0dcfc06c10224661d4bc91263d82720c125ff9a93 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2b2445eb15d198838221ded0b63b1e2cb9673d1d6dd1e6269ac5b2ce404df7699fe8c3e959813612246816701fe649715244e4 -KO = 35a4a6cba04eb473c36280b80cdd006b83498e4a5134a72b23c00cb25ff685d999dc1bb16513b343e2457ca02c03fe3257b2fa8ea78cb84a23a39e77f88a79cf7b6c - -COUNT=27 -L = 528 -KI = f35db5f762e0849b7b9e86825c032c8cc874bdc96ab0cfa8c8bed942 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ebe63a450409852b393ba0f383fec3fa3892127a5c1ed9fefc2c45ae999097e3c70cb6942e12c2681fd1e1fdf6e78d5cf4f851 -KO = e23253e6e0b02693efb3baac460b806f2b387044d93d7c16a37abd05f7c4c6b41a7b8f8244a33c6eae1b0341cb8d368ce0c048cc350952a04eafaf97064905faedca - -COUNT=28 -L = 528 -KI = a4411ec03847b4e4695d0f89506918914748f41801e288b001151bae -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 879d82c3fc692a355d562efd3c5c13aff62c1956e6a48465614dd65e4eaafda9920ce8bdf5fa05c4a6bade4bce2de2b47d45bc -KO = ccdb6c475820d3bde1220272f259a6c7905a556172d6628a3ba7b25ba8ed077af4a38bd70bdd3d5874b21409b81332747f4de3ea4181256e730f390edc0604619e05 - -COUNT=29 -L = 528 -KI = 3a47c1f75540624f7f8715dd8928afbfd9b88d5e6ba442885a50ef48 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 87a7c2e48c24ca48be675b0b6572d370533ff37c82c574da7c97a5429a2ff552fefa06be5dd6a2f9d9d6510959658c8017d988 -KO = 5e144b038155e5c986b53d100148077fdff2f7e95e57b20ef199ef94ef68d9a32049ba7455206885c525d80db8af58b496711748c65f993a6b5a1998aec1904b4527 - -COUNT=30 -L = 2064 -KI = e770007eeb30cc56481c5cd42f4cb1d91f59ebdb5d30d354af8b5a3a -IVlen = 224 -IV = 4cbfb7e977c2b66c85a26fac71f9b92200ed1c383521b1ceec3e5017 -FixedInputDataByteLen = 51 -FixedInputData = 2176d948f4869fc470a0be080c9ce24f2051405d6b8d3ec938d5d7d84da52c55ee1e7c0da71ed6db07a5fe75ef1f1b965b38dc -KO = 9aef98f4206993091c54348c8a7e1c9ebe42cb9dd6a0fff9995f6e81d7a5623513ff36cef5643d8d0ae92500917395dc034caa2db7fde490a796bc394fe773e1d2299a1a512597f7a056afc0f89a11d8ba80feb2061c426b1ccfd6156925b070efa856e115f906aba86171f6c3e026087ee9f2592e150dc45999843565cc0a168a1222a2804b01ae04ab29dda00e414f7a4ae5d38494abb207a5562723f504e1bde9c73479274f8298d6b2606a19d5acdb416960b31e13eb99333d2725a0e1a836f167d1657397c3403cbeeb29d007801682f265191ae97308c48005d0d388abd722ad3bd8bfff4bfc9e53da462d7ec720fa9f2278eaf1236b7a9424e79cbc35e8f3 - -COUNT=31 -L = 2064 -KI = d44b8126b50b205843a92237c4a99594ff3a0c5593894e93cefc09b3 -IVlen = 224 -IV = fd3347732826eab97e5cfd52ca29bfa168f99887bc8ffdf9888c752d -FixedInputDataByteLen = 51 -FixedInputData = c7b62a7ed71078a69c483abe65c5a4f7c4852437480a6fe9b6a0b459e5befaf54e2a296909f08a23003f006018a4a621e7dca3 -KO = ec8b81efdbedb06d4ae2b26f0b5bff8f82d3df5964bd0db4958f1ac975524a7dc5397fee48e6eb2bb3b2f5a7f9168a517c2dbdbb9c4d4a122a0344d8b33ba3f35530de5cd9bcbf8a7b2a7acf8845124695e013dd477a9a2c0fe0a6c06aef4276a5aefb15c4155615f72bce971dbf9545eecd620bb7df5144f4dd7775f563c5c63b73f7718903ec9d0532afb9039e1edb9004e228ee592d2b267e00355a8261ad598cd78dd545685071dc7580a7582727a3f2b4784c7827870279cfc7dfc19017f3581b0371a5b9a3635db6196a460ba47b8ba32faab3f046da901299cfa0bac5b92e4f8854a0a42cb4b09395b8d4e452c71809d7c469a704c12f9d23bccc639bc69e - -COUNT=32 -L = 2064 -KI = a89895ce07c5769e78c32e61ec24508d9672848f172c7f74cf2b1010 -IVlen = 224 -IV = f4eb403b327ed644f7aefa05e26d4377d9f06123541620c1effb18ba -FixedInputDataByteLen = 51 -FixedInputData = be5d1befd40546dcb4ff1daf93212b525ba48d6e5e5b824a498ef1a29c02d6e3b02fdd4d4f990f9acc2a8c00a7aa4d5d8bcae4 -KO = 29b7d6890de70f5a2754b67aec9e15862d908f18ad288ca7bff0e5331315abd6d96001a6cb595635f6da3bdf56a4dfc715a945fe4f8ce282fb8e400039c60c7d9b603bd72eafd0b0a2a5b34215653f66e479c18adbcb3f9e6b8a54764cbbbb5207c9ac671c0dddede3a1003276527260b5ddf243caaadca3a6d8091665ad94df02865a2855fe7b79021250d14a89c869ed98f51109c850e8d154d0c1ab24e5b07646ce9d45d880ea1cb2ea0254247f28e966bc6381c700a47ff1f8894643f1260e840ca158fda5adb829dee3339d488c81da8199f0eeacfca92c65f612c6b2a637793c868bc058d9bc7edcba0f0519fcffe61d087d1cc0f8a1653fb6b64126d2b6ad - -COUNT=33 -L = 2064 -KI = 387fa9a2fe85a8fdabcb0046ef2af655707b9c3b1730924825d3fc08 -IVlen = 224 -IV = 06dc5182783d2a56e1433b88e2930a6960e94d108a56e68d965df3da -FixedInputDataByteLen = 51 -FixedInputData = a2cedea0964cf471f94b75d2b4b765c74a41fd9db52289ad17c020a7616b639bee9e33d32449cbba115261d9fd248b78e49f82 -KO = 6be1eb1c3db63c65243057f8b36686748ee1654141fc9046b85333a74366ae381b235fed020ac7ab9e34fc8bb372f12069775e9917c76879ea140a70836d5f071eb917a0e0b403e844f74b901c7eb23bf7f2fa8bdb6f3b5d5b316738fd3c111c84e93b4549639dcc34f1250cbce8128a4ca97d5791db9c7d4f1f6c289fd49f30452e5a08e8f1eef95e6d3f9e3dd44ee6940b8a17bc676492c5b8e4cb60c32ab908d0484e9f76245d852fe22c0c6b0860bb90098a66dc0a318785f942aba1023f8f5752470612cd8c879b388340c46861650d9dab97f429ba7e3716763f30abf35cc61cfbb5fff608ee71a0f1eafa41d20f541ed64f01ba17ecaefacf2fe5e6c18fbc - -COUNT=34 -L = 2064 -KI = a0675eb7d9c86fba262bc3d1354bd7809fb372c28935f484b6076fcc -IVlen = 224 -IV = e29f47f1afbc90cbdbb84b0b33d9c859873527f8951a4efbb9e7f186 -FixedInputDataByteLen = 51 -FixedInputData = 4c0f2066ab578edeb4036829be5e39aadf7205851dd93e3b1bc4bbb6af35169cf3d6e9ed8e65bef3560af9efd4a110b2445ded -KO = b145e6661939979a9436a2280cf1bf46db35e236fa8a2e1bd7d268429e2a6ebb95330608fe95ca1fdb8806131a327433b5faf14b2278571bbbc7bc146f49208055c50182cc5a74d006ef85d6ccbf1d6df44956f089152683926aea3d118567a7077473db7020ecbb16c0d21bff7eb0042a0b183e860071371b16fcec2f7c0a3aa8547cbd52e0f780a5573acfd05327c7e7eaa4d32dcdce655b42ab3beb184309c2ac3e2c0c1333674a22d3c1d34898cbae89b5a08bee5f9cfa34b266663acc0db78ea39a43f0f52e4bdbe127b7cbaad982d905a7cb2d4dcab31ace658073f74d6216c998d076c9ee289089349963f248436e856a1fd6b99543737aca27bced31c233 - -COUNT=35 -L = 2064 -KI = 7774fcbdc6d7cf0ecff55e16fd3e12e2de74fe6a33a498173b3c5374 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b3ceb3d323e3645557ffec44abc80c71cbb93f88d690bdd03babf6c2dc0b956a50aa4059f0f81c0f1936af113246c4b1ce95a3 -KO = 294c545b0ce133ebd4d22626e21d64965a51c817cadd802ded822db0dcb9aac27629675fb3188f9de11c6bee4a59d8922bc8de52e61343dd880eac5db484eda53e4b157f95760b9c4557e92fac695c99738fee0afd58eb257e4039f990817bf158bdf506e805eed8293ad24ddd4f16bce7e8e554e4de27466a947e5c4e03bc7d782b88baf9f200e38a2cad95ba98f89a0d72e6a165ff29321181a88d782796972f1de14d07b6d80a16e46e6774c302cb69cf167b1d4ad1bc7688fe1ff2e8373aa7ff2a070ab626a5a7d19a6c4767052f197612541443b19eddb55db2c7a8978bb88421ec962b86862f5caec6a80e81752cd9545c9bf2f32f4a1f4fff6c5fa6594cfb - -COUNT=36 -L = 2064 -KI = 9b17bab47806a1e2a57d2fae3467f06f9e6478de5e069580c69f9958 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ae6b167874546d1da55f1654291b2239f340b4c430c2be7617a295cd2b8c16dd7dfc2dd759859585483f64c81aa905b9a031e3 -KO = c654646c0445d98778c49aad97ceaa0decd56290713a639668b37b088841991990df18eda9c9f201b9fc13ff2abb3f7bec8f01d972775df349d4b718b6fe67897d65bf183ab68271b59339717a63e9ee8d84b9459c694a3ded4b57a3066777504404bce12a61d8eb56ff0d31cdc30edd2194af99d89e177e149495ebd44e2abf4f9b8ec67f21c8af09f65ccd56afe1fc686ed897f2244cd9c7c0ce0dac7197f7bddec8a2d4c148812ad0e0581ca215414b954889dc5fe994954d00c28f5a4b63e931432414a122255bd3d2d683050ae27d3d0de1d85873025ed2503d69493f3e58e3ea6753ac7b63ab201878399d86657dafbf8b0ceb1c27862f0afda992e3709a9d - -COUNT=37 -L = 2064 -KI = 8f63a1a2bac647a3992de12b4d2b24c0c19732010b67a2149c8cc842 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = dc40a1157212eb41aa47b1c6182fc7eff9648b10c93499a0fd5b01aceec676cb9db05bbd4a95c5db16622bd6f91c271f902a6f -KO = 7791a2c6c9f7db484ad989213db0e203065106f7dacb02f46da02a78705e852b78c5211498027529f177bd3f29e779e4322aa1d6a3b8d13e7eaa24802b8ab46303384a5bddb49bc3c000eedd67cf1f86c001432a43ad51c5a4eaec58dadd0049842feafc186f83da48c41b592ae44e325ebbb7f54e4ed69d03791659ef21a1cfcedd302c13d93dd59f2e0474e98c234e46b256e16643ee94ff8bd78b21daaec646ea0f00f2cd50d2ab3c2d514a24b3e1c93848121ccc9ed604f0b0646485c05e0c5d0e8edc9d1113c15c566f46732fa451a19917b14d6aedce7d775349436446bb2a943aac6a7bbb5fd0daa48c8d56225dd85c241d5acdc5d089a7467049129755d2 - -COUNT=38 -L = 2064 -KI = 0919bcf3f93b5a312c3c2991469c32a2fef6cbfe06f21109ebb4c66c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1186bcfecb60c653363d62b7dfc2ad62f5e54eb34414309ea017fa9faad958f6773ff10a2f3a4569919785a31f2d3ee4f53365 -KO = cca0972a7083cec3c29b155f4f347e139984bbb6f543a6dc41308d872450b9d187ffcd69b2adf8b3cf907908cec35e1635dc34ef69d86e5589e5782d67879d77819cc04bc51996fb2e9aea43996d32bb05199636342113f19b30759178aa4c2263bcf0ba606cbb1924e99c6fccae6293f4813264d7e521c52dd5169fd9e7e656a625cafbfa93607ba0ccdf985e2ef764b8cbebf8db124a1882bcb5b20ebefc0008a44013f6bb3b7755c927cc43546758f3039dec3390b1b0b954b303cb0edbc5e4e6c58417ce7c90db7eab74348b65b44a3fc018e03a79ce9a869e7998b364b20cfdd674b220f00d0be8f480ae59658a8cf8d53a756b35371cd38c3db2e6232ba5e2 - -COUNT=39 -L = 2064 -KI = c9e8da287d7e408273c1660673827e9d4086c483990e9e5c55ef3d52 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 218679d8a856c6de4dc26e95011a1c5a5052420f71901f9ea1d10ed5d42683a5241c617dc5f66cd12ced383e7d5c85c6199e04 -KO = db2d7264c7764215cef22d9492ccfc42fe8e3c67bb7ce19bcfef741ac190971f70899ff86f7860c525c01fe589f0160483b95ab3b01de69dce7e60964cfc91002fc6e3995d6f500e48b476d0a3cee996f1d1eadfa34f8812a930c1cee292113886565d032867aac79038f974551665c420d7b0d2404c2f4dafdb22ee60029e71b86a36120033eae4330fafba2871c10206bd8f25abd161d19a2ee6a79116fe60be2f11a476622663accd7c57fd3764a38e4874427ef45c5d04d9d21eb8e06df8c224dee8168033a47ed8bccf475d7964b9d24224b035421530b0a660838b382843ff5ad7196e1d9302a2b227eb4780bc8d3b9825b99bd83d2654a3718ab3c54abe89 - -[PRF=HMAC_SHA256] -COUNT=0 -L = 512 -KI = 4b02ffb1cb9987496e19872597b026f7409d92433f9135068c29307985598586 -IVlen = 256 -IV = 5c2a2262d14994904c9c2de36d66c7ebdaed32b5cc441c222258857f5af29bea -FixedInputDataByteLen = 51 -FixedInputData = a38f30844136c33e00d4254a8bc5f51e8473ac20e5628e77e4d91a704d58bf0d4d0fefb5f92d897f1958b0af188180b2e2d2f7 -KO = ef46a7cc3f2fd3aac2d55c7386b99279098ad8af07e113c683e43601d3e0c9a48165a580d60b9c2df75cdfc066855607c0dd51ad8fc0296c3f72e83d3d5742e2 - -COUNT=1 -L = 512 -KI = 1a447b7de28c60baf5ad6dea64d067a1d952cf0881a8cb7c72901648603a6171 -IVlen = 256 -IV = 742a3eb6e80c154f9c581f81ec5d54d264988c42af9ebd01a5d8dba8373ae658 -FixedInputDataByteLen = 51 -FixedInputData = 24a71d67390e0a1e9ca5f08ca3bf231408126fa23c6163685f680b6efabbcbf79bef4ca449f5b9196c08c72fb3780035d20f6d -KO = 2f185293c600e6287644d5180231b2f225ee83076708a362106a974f2ca7c2a3eb557eba5693f0afd9a87e43102703dc3f55ba2edd93c9c87f85556a246de03f - -COUNT=2 -L = 512 -KI = f465e346391bde6d6274811e8d5f297fa698b5a2650ed4e9bdcdfa714146a9fb -IVlen = 256 -IV = 4606c64a0677bcd2f36e1e15dd307865b41000b750d0d9ad9c474988b51eab97 -FixedInputDataByteLen = 51 -FixedInputData = 6b8ba0cf44549f1773602bf095e03fd0f34267665cbe8433f025a812c39e6d902aa93e9dcce5bfe0f69c99c3d70533618367a3 -KO = 731297299d4fe7a7e83218ab3a7368262d79535028fae6d66ac518ae60a5b7c60472373b4c9810be1d7e8a25d30558fd58258ba100166833a5b248de789b0a67 - -COUNT=3 -L = 512 -KI = 6f8100e036f6737ab6fc99c13d19ecf03771f94ac67f408a4c5c11aeb262e83b -IVlen = 256 -IV = 19b0113cb0011604d3c1cb2f67dee506e2e5e892fa94054ef5b2ab6f91d7af93 -FixedInputDataByteLen = 51 -FixedInputData = 7ae0979c9cc5e26dc09689a01e9bd1b4dbc5c7f462fe4ed4d058676b36a4eb56faa1435eac6f55ee22d8fa16bffd1fe52664b5 -KO = d928c1f8204462f9506f1362474835e2607ad8bc1306c782d684912031edb230e5846d41591dc853b3793b1a962bede5cb3db81a91694b9aa4d70540e3ce5d2e - -COUNT=4 -L = 512 -KI = b1b3e1cbddbfad1c1a2310f7ddac282aa50c38abd5c2063792306e3e8b6637a6 -IVlen = 256 -IV = 444d9e6a1479ce182fb752ae41d2e6bd828eac513fd71652b0511509f37f8659 -FixedInputDataByteLen = 51 -FixedInputData = 67a898a53ca7d4da57f6e1ff5c4e3a25e6bd2303a85db2bbf45cd2cb6828e3cc0dcb983fb3fb446178777d6b31e0a9d6595b5f -KO = ea0045bfc3dff667fdcc95409b28da96078d76a78d9279d9aa202e3614a55cbdb97237c9305f21ae9a50b48eb1839e71a13ba3da54bfab8408b3bc9772a6eec8 - -COUNT=5 -L = 512 -KI = 1505f4a0902c59feed020c34a34f59ce21091e8cce43a2b69be5324b15e2cb86 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 9c369f208367a3d5ae27ef50939cb582da0e44ccf2786fa0f0ed050f4951b8ba723ed62d4ca914d13a3808dd940f71dee823d9 -KO = 5b9537a0889bf60891e20e3e078541de238526026df804172995968ba82298c9ce159d1156e90536f24e2743f6b8e91a1a0ae8c0b553246f4848e2525a4c1d19 - -COUNT=6 -L = 512 -KI = 8c1bebe1e7fba414ca1dbdb0d05dff5601d36d659d9d2dd9c517efe74ab274ca -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 40e7fffb4cc40342b51e3e2274116ac84b829e9c8af962f8d6a6ce81bcbbc4cfa8193c7870778001ca992a20a3fad4be3a1306 -KO = 650004c68a094843a922ff5340979798a433a60127706f1cf0946b29422d30731afbaa0615298d78f7c46ea73ebb291b5903e229fbb2273ec29b4178ad171734 - -COUNT=7 -L = 512 -KI = 229e0ca9e578eec845963d22f523586f77bc6d16e23d73fb91fe2dee79a5141c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 81daeaaa6136d4b9943dab10394b9962df2c346d7bed33a26bbae62f1ff770ecb853cb7e472a26435df0d13a50dd9fe40533f5 -KO = 38bd19916cf6498fe29887854fc0aabad5b9ed1af3c6c59f82e8b0e49cfce8d7eaf0732d28781afdf53756fca9e6f9ab13e2bda12f4dcfd5311d98bee9caca82 - -COUNT=8 -L = 512 -KI = e31e5c4dfd49b465b1c69e8195ad6d8d82724d3b32d5961bde128b813fb979f2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a53942cc8817ffeb4fa05618490c80461478479aafdda811b1300ba1e1e95fb7be9623708fa936c64298830d026a17ec325787 -KO = e5b364d2e2f3d90b7ec05cbc1ce7f9d4281946e117a31cf79dabccd00d736ccf526324f595832f631ffc25864c57a23ae535c3dab2dc87fcf757563bae6549a3 - -COUNT=9 -L = 512 -KI = 1625ef4d11719b82bed5fe3f71fb23b0a720f5f287b3f3459b3aab946ecc6a58 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 973a00437d10b4041a0db47c86c355b16734fec97ecd01fba78f4cbfca2343cc65bcf10112c9e26ee60113fcab7d61ed411cf5 -KO = 6c449c2388667f24ae2f51ce58cb375da4649e565f8d9c37bcc21b6ec2fcef408b9d9ea9cf1a44a129658daf421bbaf102712a40997891256da39edd6371d597 - -COUNT=10 -L = 2048 -KI = 558b9a418ccff2107c7f8b81ca193e8698bb4fa13d3462b9d5866f2588a0ee20 -IVlen = 256 -IV = 2fedc3211b269483c9b75f50a0b40b2bf081dd19a942a8af69aeb8ec0547288f -FixedInputDataByteLen = 51 -FixedInputData = 5bf4181edad0e5d64777789e5805552ab71fcaf9587ad67d0529d292ac06360419ee92acb432b402e04aa11f2e2d480661be28 -KO = a68d341df2e2666b38662ab63deade86120be76af84585890f4d3e022aa8473c9c3aeffc9924bf024e60aedbfb596d8b7c1591bca72f6cdd9a9af990284c53880d33c5277fe11f73ea97cfe84ede7bfbf58787a7c16d69e0d48c74617a87d6f8ca26b7dca3e8f0617413cfca9cfe4afe1eb6512bdb10d07760a551a0cc8ac40e06e0298c67ee2d14db24cb4e37cf616f3f8f8df35a0357bf7e307079e63dcb3bf75b32293c346d3c4a450939da6e5e4eacafecd0417154165d0e9b320a4ee230323948b2e592e14b1d2f2f611d9149f7b0c87a827c2a70965a8b338251d61840f960bae16b7ce544862c62f1e70be45f24f55e02d57e8e4ca78812ce85e8e1a2 - -COUNT=11 -L = 2048 -KI = 0e3896bfcc5cfa97b1bec96828d11f42dfde2f5fe80494d306155779ea5aa82c -IVlen = 256 -IV = f8f81df452528336b8429b0c3859f7e6a334cdb1c8af79ed66c038a848bd85bb -FixedInputDataByteLen = 51 -FixedInputData = 7dec5512c26024c26cac49cf8b92308627c1d1c5c09a28799bc1d7bd611365a539a04aa015074730727e1498c9afe65f5b158c -KO = 2bb46f8158e258cd5201de0f783ff2218021b436f42565478f70cdb2fe931bcbbcf77a41e81e295729c5fc01a85118f87a6d2dd3fac4743ca57db0336509a26e2a8e5a21b8afffe888203937f03c688178c6a89050707e985a854dd02db13aaa68e735b68b4a72119de102c5e3366c5ecc2ab41f06532094471a73b17f6b7c1235d278427456cbe2797694024cd6f7ebc8ec153892b7a6c5d17d4069e1b3a2bef6c7cc0a5e8bb4305217e1d42ceb295d6d28a6616443bddf73e7be8d5bc6ad5c1e5f595a8aba8c35887e7ff2744b91a371c2db0377b6f982bccb17d231bfc524dabf1158a4a193a1a0bc3c9abdfb8af200a5034d8c9a2e7dd7a7ebbd8a774009 - -COUNT=12 -L = 2048 -KI = 642272eeee90e7b55c136d6a77f4ad36c1e27a06dbe00746861a792236ae3c2e -IVlen = 256 -IV = 382f7b0141ded690e8ea778ba4fa8576ac82bb7c5dfc5650186a805957027f72 -FixedInputDataByteLen = 51 -FixedInputData = 3fe74ef4f7d7abe27adfc03a6c0b6c0f8c5a94c26c23d8f638e42f4797638280a5bcb2cd80911b1d01556b748e3522df2a3bbd -KO = 6cf772cbf766d620b92488442d950b9ac88ade23b097c034a99fff652a7f9c6010585275823b9d98e9ce1e5d79434db3c1834fb5a2f9c2116685fd63069253ab93ae75851d3a7c224caf7edbcc9e2546748803ce65a5c2bfaa6280fc9b9ce475a2b7f9c4213c2f6765cab92c34d17604968e338af2555c2a3ec2bd2be1f027231f8c9a5a5ab5b49fbc2dfa3938228cb955c4b7239a3598f2ddd1700ca67c897cf9556f8f76a2aafe1a6376ec4bf4024f540d3061f65019a915316bdc9c634a31c04ea04760c08a5569a88b1d3f6bad39718282b5e27dbdd768184fcc18999298152458f8f7f627187a9c75f0ab240b971492ac2a8181ac82012f67fb48d6c448 - -COUNT=13 -L = 2048 -KI = dac2e5d475cabe4faa3848023e4b9a282d9d8249804216d2b3138891c6c9376c -IVlen = 256 -IV = e040c5011f222a980d5a5ec665825f4825601ac4d3e0a2607902095fcb606122 -FixedInputDataByteLen = 51 -FixedInputData = a50ae41b972aa5f75ce54468e0f173b5e5f6bca1766a2e7be2e4d5858385c6d29d50f2576795d3f0d34dd4c671bec0cad61384 -KO = 5e3ecf46ded95d6fc90a0e6dafc5e5e3b71310a07cb58a3ba3477c92a2214354bb55a0d70f85e0779ffce479c6f463b5b236ce4732bf300d75b3be408b6bc84a1b18210633330baeda87ff8259300015f41852b25ce82fc7cbf39e85a619fe4c1b90256d97198f6fb690c2b6c8deeb6a14ddbea684c43ae3040773074904241c37b2c8f87a6a07cc4c8243662860e0d6c6bd41f919ca99a11e417b7903fd2e79d2a7720eccf897b6444be97be35dba50ceb3772a55e1d53267853f3047b205348130c096954754d1836d8acf42c8489b889ae53b43da4ddfa4b8c10f23951d1a9102e0838e7831474a9e141b68e1cdfff820eea6c12010e28e269f3e9daedafc - -COUNT=14 -L = 2048 -KI = 065154cae07beee482c99203085aefc6678387fe0110341735606d437f51d2c8 -IVlen = 256 -IV = 4ad7a8f1b04fbc06c2ff81ce502ff9e568177a5bfee34170b56428ed858f0177 -FixedInputDataByteLen = 51 -FixedInputData = 301ebe40a689011a22bc808f9d2bcc0fe87539e97abcc28fbbbd363373e861344e2d92cad133515248e5e7434d1c6577e46030 -KO = a376509a28be6a80fad1ff2b3ac97790048215c9a28e1fcbb0b777520e85c3f48c4dca9d7e761f20a405e89934ee3e4e8237b28f545b92a086c1db0d24b2d533652d735eb86ae4486e7d01808984ef2fe19065ac0404b477ecb6c14cae563327161bc77ffadfbdc8b196954cb5042aa32a704d11053b1b1c08b84684374ff72a999708e7421cbbd49791bc0563c3b7fd8156792fee1d9e390aa7bb2ce393c64e952a55a8c96061ef48ac491e4486e180cf39c68b5fc57a413098d6d036c770c7fc38fb48723e0bb37735065cd42e25f100f4392929a841a6fac637014130e43fdae2fa99711a08c11d836a305cc89e40201707321990d3a01418c3c07813c9ae - -COUNT=15 -L = 2048 -KI = 19f466fd9178dea06408d464403fb13c3b6c55bfb2689738d65a4c27e7e9c349 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = d6e02f37bc1821264ac8b3653fb3213795abeb53c5f4f859193f14a70c23392de8c013657ae05f88631774f20a13337f961028 -KO = e18427a9f316a0686205b3fe859c1f88da0d4a47643281720d7dd2928ee5e392ceba100e30268069bfbd8b84dde70621fc5e282a15dac9db4d5bc9887978e61e14df076558e7a12797a38cedc5a64837e0a31b802bca37b5d844bd36bfe43107894baf15d9ac079db6dc73aa3d909ecc5d907fa61770a9c1333c96f2be8858166b644976e29d096bd097340e16fe147ce53a0fc1fac267d9cdede52f96943339d3e845daa4de12407391f22ac6dbe84e6af7ffa5ed9ebd52c4311bef1b3d95143ac81e6e1b0614b34816af3546eba6ebc476ff8c7a10cc3d87ee3cf1d16ce9814c3f5fb4bea26da461abf02b9b4c5041fb483386f7fc345f8c407bf2a67aa18b - -COUNT=16 -L = 2048 -KI = 1f4f893b6ebd94a552f2001487d1000c96f53ebbfd771f339ea28dd7ac46cdde -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = ea8d40a5dd111d446f48a983664bee0236ba565c15cfcdd6bfb817170fa61d944ae24eaa134b4387dca2e151b0d64f1ee546d5 -KO = 0bb80a16f9b10653b512f8dae863c41428054870b29a69a0f729fdfc7f05e893dfb24ae97d93b9aaa45114c3fa0677b2082aea3680dddd2feb0efcfc69d8aa7f65137ef455ad901b7433bb709f7cd5b68f557d0c2a3362a3577f8615863acbbc2228461e8a0e7698cd616890584b407cd99a03c594e3803efa5a82dbb0d505118aba1f3f88b136c9156737fd677a32bd38d748590d878b52d667dcfee51957c8fa2ccee8c2b3daf2a4e223625dc4d2243ab7ecf60dddf2bc92083bb0c56f53b47cf2540e60533f215d3d2f9ac344371d9488d07f07987a26ba9dc6fb0b11066914678dacf7a11f7792bb6098f28d7458f6029a4cf1be449ea72969679856a32d - -COUNT=17 -L = 2048 -KI = 8b5361018d7999b8fb556b57bee68aa188f207bd623fe9f735ba88e74f11f6a4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5de4c342ee406627f72f8546bf17cf20dc5e7c7756faa62285e9b362add4bf46bf7d74feec29ee47a474898df797d76905eed6 -KO = cf8e9f8a29e92e52492f75991462a4175f0b0f0b56caf96554863071d749fd10e525cb19a186630d5dc7ff30565eea34ff41e775afe3bf6783c300f1c3f7eab4520e1f0fecbc999d31c06d5736d9ce653e59c8ae6b9dc439910cb3e4f51e441b062a21668857309b0deaac2791e567846be8ddf19da68ce3e08ae3d42061eb00fa4c675f4baab6ffa658a94a874ccda79e485b264fd49d4d60f0f3850e697f688df5ef1e3a0f6558953da569ce262ae294e8a287ac4fee274c9686cba447c02642403c3471705f0333dc2d2da56002290528578ec4af4eb55b497fa0e11d434d82a37bf6f7c366560165c21968eb0a4029439b5a3843ea86c6ae4a63ee81eb5d - -COUNT=18 -L = 2048 -KI = 4da4de16e2fb54e36379bd2715a8155251b817ba9d71ae8aed07c35abfb43209 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 830bd7440d0db348eb81294080406359fb9bd25344572f20feb5ad1f652c17ac66080a41641d5ac1273d7a9e0d0d10aff141a9 -KO = c22ccff9249502183e47d06a909c2256b9f005d099c3ec8353939bcfdd938805c13636836b8d3819de8c4ff613fc852598484a41fbcbeb7ed675b43ea7d5cc18970c5b56e8b0be5b90fb71560944c98c9ecfbabb3b78436297e1ae010fbbafa2fabb8e27496d2e0c55d15016e64ef3340731684fba8b985c2d8eaa79b014177eaca964eb49d5c9c2040a3a3c533866d85500d890b48ad35daa1e10a75b36e6ecf8d5ee6067bc89a8a76adef6f7459d3a80315fcf09c715f547d5093e2303f66ea64c6ba46da7a741f145e7614f8f5d5ec1d742ed9f91cf0438e82c662c4b8fc39e945fab81a74ab85bf677c6cf7b3a294d1d26728d9e15e8e09710b263d57516 - -COUNT=19 -L = 2048 -KI = fdcf54057c4e33a61ec0635c1f937bca6637319f32708ba78ac86595a5b2f9a6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a94cf37ed2e47afbc1f5ccd47e7a02fc4e41bf23eb8c670aba0d5750d63fe4ce0f645cdc24fdf1bca56dbdd36b2f642db5e3cd -KO = 0582b6ce0498f034357e0d0ef66c4c8305d39f6fa10ed744c70048042fadd9152720a20b54939881f9b75684b32c8c72bdc52cca2e3962ab071bb1d48304c2dee8e66e5d53782f2e1c3eeeafa8a3e69865d6795076c37d21f563bcdf2c17b8008956958d22ec44993d03914d1cb7402d3bdd316ab7d622a2ee79c875607bb479fe53fe29198969e567f6a11fbb3c50b602ee712b6a0b7c59cf2b9fb192940797bff9cd9af8cd92d9b39fbbc8a41a4b3f575fc8b5085cfaa6d8868da7a8cc83552bc5fdd89670b80c41d03956475b65535aac7f70120c7fc57cad2cbf0ca6690889493d09c788c45fda46e55f975c58c274b7e03be17feb87e8d1af5c694ca67b - -COUNT=20 -L = 528 -KI = 22944e821a6dc50309b134b55fbd481d5633adbe11af4a6fa76d225cc7f277e5 -IVlen = 256 -IV = 2e78b457e17acc836d4d28bee5a0f66787bfbb88f8d5ec804919de6c55492630 -FixedInputDataByteLen = 51 -FixedInputData = 08b51197b7743d8dfeaaed84f6061be8122237bbf75bed033ccb386f63d12f7c671ea4dac65161b20d879ee5bd6ccef3475d2f -KO = d35d62b297f96da21b1c799ec740c9ea77a5b4d785b1e2934039c9175f1bad574ba010dad9ad55cb415be2d93ac82a4dec565a20d69ee645de3db4015687d44d4082 - -COUNT=21 -L = 528 -KI = 1668443be5be0c44c063ff9a77be6b448f71ebd317132a2765f1914d736b2316 -IVlen = 256 -IV = e3b1d72ffa31e69573e59abd99eb8fcb6efc29183ea31528de6c541aa8bd4d54 -FixedInputDataByteLen = 51 -FixedInputData = b78c5da6bbc37b9680da9f0c3953356981f4a20305b7b6557f8c4dbf7e61911defcb69454924aad53baadfd779288b4bf87461 -KO = f1cf196206c66c880753e78edbd493ee0aec961bdcaf02e64c4ce3bf7a0ba0dd2feb1645bef92cf52180e693bd5788141bfdad111886ec70352aa2f95ef424e786ec - -COUNT=22 -L = 528 -KI = 19b9f3c3203aabe56f2f64343111e2330b1416d3f90cc5d615dac0bf5d3232bf -IVlen = 256 -IV = efcb4a9642f8ef7d057bbb87afc13d654e99a5176405102e56e9fb472782e5dd -FixedInputDataByteLen = 51 -FixedInputData = 25ad5e248d9541464b1de0ac538e7d36854351e807e3e9e6d1c11d3bed1a9dcff50811c1a9a1ec5468d9960a053368003302b7 -KO = ba1e49cdda2b788396327f4fa89ce0f277db92f9485c21b1fd6a2c1b0ea71925e8dbb3bd1c3fe30b2123a27bbbcfaadfd83aa04bc45955ffcdd6a1b6a3e6ffa9ee33 - -COUNT=23 -L = 528 -KI = 3333a6893566933fce155501e70b4cf78631d92916f9b4d2dd11aa173f80cb21 -IVlen = 256 -IV = e4826fb08b5caff53e043578a435e8901fcaf107862698461d1854f1d6d68fe0 -FixedInputDataByteLen = 51 -FixedInputData = e2c27a3815099d479db2070e6056daf412509b1cb369cdcd4d8062b37997dde811ce8892425cc93119ee87998bfef44570809d -KO = 91186edf1c0fd2dc54ded0d75abbad311372c367f0bd62bd27c4d3e31a94c86bea2537d302b53e1f2fc2beaf5cc79612bdd55bd75f976b6c73c65691b60471df577f - -COUNT=24 -L = 528 -KI = cc94ae95e8d75c63810afaec986ed9653c689ad4c526890f5b25411271a5d57b -IVlen = 256 -IV = 9debae3c1e9d95ed0162d943ec8f8d0435e7e2296822f5b765a9bcb8af6dea6f -FixedInputDataByteLen = 51 -FixedInputData = c8a585bf1d3d7da0eccd33745f6af63b90992b02e69fca6bb67b3b8c9b8898b9c55783d13130e2a37159b90c0d4a8aeef1ba92 -KO = 734af874b95a70355bd13fb0afd1e82998ffbe87ccf6443c5d1807f16f2fee72b5798867416f7c9a7f64ee60c8bc633de4a44273814b4ccf8079946b74b559632563 - -COUNT=25 -L = 528 -KI = b1cafcd548790f3ee1cbb179a82e85d688303ccda9deef136ee2e7ef769bd5c0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 445ceab641fc2adac3d5d9d65f88b06bda0f2581f755499398f5e8cb4a4cd92e1724a0674dac253ec29ac1620a231b4954be10 -KO = 046fe183ff9ab434bd77f5bd8dcbe41340e19434f1c80e65fc0fd5bb02cdb03f59e4f6a925714732b3318f80364b0f3aa4e7c19c3f7916eef25112efb357316e3032 - -COUNT=26 -L = 528 -KI = 14a0992c337af60794d65e1041300ae9489f9363675d47ff6a0be3c863c848a2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2c22a92e687d9081fb5de40c07531c8ee54ea234761069159b92fae209374871f4eaa0763bfdb00ed98a19586bb7b55c48cb16 -KO = 77ef6f9c22d56132ae19d875ebe7e46a0658d5ff2f8791d5a0835519776bd539c5332c740f881bfe22d8e7634a9fd207f884cbad8528a50ed4c0994e6aa5d44f4fb5 - -COUNT=27 -L = 528 -KI = ebef26cfdb54cf68c2a1b30a300c4635ab153a515557c004d618a033bc1b6156 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 2089fdba78fe62654fc42055cbf6270a9c3cf727bc51670cdaf9da298fe57cad357533cc44a908b0a3b8dbe456041c0d2efb77 -KO = d8b7bfb3d82187de99e468bd1e35127a9182d30aacb75b4da593fe60fee310de6679890bff328f7aa9025cdc84b17003b0f72729b782d44621f96949b2245b8a9b1f - -COUNT=28 -L = 528 -KI = 4738410c80dcbbd3ab1068f477d5ac4f34f05a825b9538b1655fd230473860cb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1284f090bc9c3109d99caaebc0ddcf6815d29f7f1f6055b15170cd8345035aa08ddf72f210af115ecc9202e22753999eebc2fb -KO = 2dd408bd25ac6f44c6b0db8c2d09a26a702fc1aed56e036572ad848f6b9aad33ae9e28bb2180061e091cfea8f9c36b38009568f930b83dcfeafc6d1c97df264f1494 - -COUNT=29 -L = 528 -KI = 6bdec73bc25e0422b044af76725feb13a445ba0fe28eaf08e90e1b158ee96642 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a0c198aa4393599fd99004c979892f612ea9021442e0daa28072b543d2cb0303e08e92b3e6e417aea9fe9a9ed8f454ba86f49 -KO = d583653edceea35121a8ed27bcd44040800f9d3f846710d99ef190295251b8a90aebe771d7c29a92650efdf5eb95380598611190788a8e3822984898d06aced7fa7f - -COUNT=30 -L = 2064 -KI = 75f453364530b3d0e1a03960e9264a43519952b14d01f0775a38523004c4da0e -IVlen = 256 -IV = b460670f339ad54f59e30e8ed00fd8045b34477f64c79b55dcedbf05bdabf98c -FixedInputDataByteLen = 51 -FixedInputData = 9e1632dd99296f47dda95c2d2bec800b7eaaebce447d39f3036a513a0577e39c0fe69c3ec66a436ff1331c627b1881ef220549 -KO = 5d3c2207b3e85bebcdad99bd4718cc54f0e0c3ad2026bc5709a4758c24dc722093a8657681264b12cb0047f540e0a2fec4afa58e4ddd3a4b6152967a1f992e16aea55b0bddc7aebbe19aa677481467e5eeb8f702bf9b6cf5b6a2bc4ca514443f9a42d968212592cf7859b41b639b053266e47b77f5fdae455f1cebd5c74e29faab361367116ded4491037894eb8c0d42b5bae55e2b7e37cf3bdf4582bba194c30d437c82c033c45f213b7e10879620db14f231460693e60a2fc0c55ec7c8fbf938f0a6ba9eecc76a1d6edb43d5aa1e33ed289c874ec972aa317e671ec139e6333f111a1bdd16ad3dcecb4f9beb1c4f6973db8759533e4f31c2633aa319da205069b9 - -COUNT=31 -L = 2064 -KI = e237081bf324bda438fae834a8fc3eeb41af181b3354a3d81a3f9fe8da7b7ac4 -IVlen = 256 -IV = 276fa8bf276b1e6abc3ec1bcc1fd5ad85c5fdea93f3fab9c63268397a4aa59dc -FixedInputDataByteLen = 51 -FixedInputData = 52ba4dd1f11f005cc25187a6e1bd55b876962186ab5ff3813d6632718aee7244a71b218a1428d2387b1479d2765793c453001a -KO = 27691bf1fbd8d357fefcd744f54cadf520d75e176d933251509f91d17d513954d925e3e67f061d8ce227c0b18d8f87709360db7a5753b8547c3312b58fd07ff02768e4bdd38c13b2186bfa1594a9b11cb66c7bc469d7fabbb81fbce21797f55f40819d5c905cedcb8492bb7e315ffb2e6a62108df3dde45673db23d709c90397366f9f0867970194db388c509212dc10c28379f48f46b713b5f94f782ad1d129de2703da3d25d2309ae5e2e2d9adc29ecb2ff2f3233850f8ef88577bfad4d8c07666e55081d3ab5911e3c47336cbba34e7c9e14ba8dbd8de21f570a22a36aa462cb0ebbb94322341710c2a7a932ef7a5a96cdb768463f817e7d4930d3bc9a52f28f6 - -COUNT=32 -L = 2064 -KI = 415060ac2a23d8b58c2d08db4c87d1dd8b751a779bfea388efbff96e0f5c9524 -IVlen = 256 -IV = aa2ad7f24da50a744181a678ccbcb7e2a2b6c08473845fba6068e95a278ab661 -FixedInputDataByteLen = 51 -FixedInputData = e284976b3886032d227153de1820fdacadb92c27dc02e88f68e0a49f47b5a152e020bf7e87f44b70d0c4c351b7f0559a727902 -KO = acbc4bc2199237c4cfbd9b5f7ce6300c172007785ddfa5fa8f78d035125d8e088e4678f70ddeffb3c2b3884a74c455207a7ceb4bea60b2ccaa9dfa49d88671a3d2a73d284bfd1d20f1ad8095341b1e5f8d35462b5ed36e1ffcbd2c7137af42f88ac3a1b2f537eb883c60bc883ccdcabdec09b1497c52ea3876937274d99bf300368ebdde62ffc9b70a7f4b543347107e61e9ab0d174647c0c06bc02ce49da5224fcc9664ce9c7fe2957f5428c3530258af535e7649046cf853a943cc13003dfc0f04614077d463aa416e76998488d3c8cd9b1af8e019c27d1e0fff5d9bfba629aad8b6dcf698a48a08ac31708b9d478c704232ff4887e6e5f011554c38f7c7c9ea53 - -COUNT=33 -L = 2064 -KI = 3efd55e7da9a895a8d337210a06f2ec586db3162bc4303c18e752a3e3069e51d -IVlen = 256 -IV = 574147254c0d22c5a024ddef2775bc8b7bafd8882466d4edbfa542c38e324f9a -FixedInputDataByteLen = 51 -FixedInputData = d40c186b3cdd2b61addb5af5d37693efcb147524a92005a6e86e8a5bc33b6673b84c2b7f16c97769b9974838fe48f6a40eb4a3 -KO = 1dd59dc46788665c970ad4d08f1799e17b85b84bf597cfd21fa26dd4ec28d205e3f6ebccee1c3f3b326b241a894cfd55e94cb44d3b8e31442eb51b9439c992c225c8ded7e1343d0da5fb1ba7b5a0db73a077f522d7164009c1981bbee9aaa7aed388c7150869c6779608a26ad4d6ce2e4ea0331c252c678925286af1eac75c8d24d5d292293b1057eb73751cc36c85c1939e73193be29fc0a4d0a2aa6d9c655bc9a0693264209202777578176e979c04865a113e18f5d6f7caf6d10a6bbd45185e5b065473b508327af14688d6f8542cc6c641385836a063222ed36d79741bdfa94342212b87bea0346d6bf3e65e200fcb2875fb73baba3766906a52a03b2040a019 - -COUNT=34 -L = 2064 -KI = 5c2a717cbe5596af38a35c661b28b6c5815cabdaae7009927c3abf88041a4814 -IVlen = 256 -IV = 548e5846b62d6bed311b78e3ae3c72cb068ce28f41b4be4c0953ef113acdfaba -FixedInputDataByteLen = 51 -FixedInputData = 2b3cb943ea6661cb5853991b723fc6c4380a0b05eef75210d32228ea85a3556b3fb52d6c9bbf8b5fb0bbe223e0a355ce6ac6a7 -KO = 0ac00062f694b49cda6bee837cfa8ee3c31cf02e8bee46afccf85ff02766a81cc081183570dae33da08a9c883f5b18f3e2d7b64db481bb1df82648ae9cd6e857cb50774d1d5d62b691d45554f176e6e056987e926cab0994ca76399ae33986bdc7c643980a5f1b26af581680e1cbf053f0161dd94b3ae4b3af73af9081d4c4de2c903f7042ad150751731449b46abaa2b398656bdba497493b07f6ead1ca90e9db722159ebd7712abf85cb15b51e47f7fd7dc9f4f594ce4d50293676c8d03071b62c2eb8d999e906ebcfc8cc2f18fd514574f05eb47888da7064893fb8293e6f0ad7b0d146151b0bf8e28a8eaafa1829bd02d50e89f7c7ac69a85cf0b4c6dff2f29a - -COUNT=35 -L = 2064 -KI = d3e9a0531e8ff663578c80d7c435101d07f43aaa1802004e1c93a7cd1ba5e08d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24ddbacf22a53fa60ed103dbfe5913239624a8631cfe6b755b8e4367ab8dd33dad586771565dc44cda3bdbd27eef677365fc9b -KO = ec26632fbf5f223b41a9b78a12fc1eb07faff36f065195717946002872528db30e0bb0e090fda21ea89e2d281405e348f1ca893a09655f382d099f4f28bfd62adf38dd9648d165050f0cb15c94d3f4e732583ec0ec055e7ee411855054b8079cee39511fc6bc6e0278e36dcf972f9c40f88d792e387eee5f3909d1bb6c46150b540aafae28a5143a0911e75a0f2bad92c0fed427fb4ffd37ce67e1f50cac4516a8407df4508087c2a4e9c42d1bf259deb61caeea18b1579c64b22d2dc94921d269b3485cbad15ba82fbb2050cf853b30d3c90d802d2e4dca1e18181b208406881593e5360c9895e3c332916606ed6063ed73d14b76efcd0a322eb133e72e4c51e1e3 - -COUNT=36 -L = 2064 -KI = 8cf26137ade517b109745bf3b8c4fe7aaab4a2bf9c5cbf6b8ca6fda3a8bceaa8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 14731cc2f958a2e775b03c4dbbc3d4010f5167e02dfb75171af7679124e3d610c71a94d087ee7b0efa939431e31e305701ff36 -KO = 4e3472286824f82831fec99e904f98ab4f9bed4ab71af58e945e85d462e513c7677925a66d0cb1a69f4fcbfd08cdc505ae470939c5e4a9b01cc7a0a1dfb98382dfda9a0999b6298c24136d3156b792ebf268e11cfd9bea85455cf453df397f140f5f0bf8a501949a1b76285b661ecc4d2832ff36008d94013c6172dc9d5d009b1a8057cd09c06c902a5a73896ee0bf25995689d60d316a32fb8690813e57c276a2746cdb1c0b9dabc267bb25ce321f41eaa063b26fc0f0da294684c76cb10ed3c4922f9f5f1a413c70683fa46be5e8fd914318cbff7051bc1460296b0aa0e468784194503352cfb08a99fe731caca5a96e854067fc59a97284bc950fc12ce471e70f - -COUNT=37 -L = 2064 -KI = 95084e4ced716ac9c79a62c0077e12f32e683966d32486148ba3cef8009b0a96 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e46ad16e561b976f03946e601d774da287fecc088cd9be10bdff713b23e3d3af9cb29ddcf733013d93b43c6f3adf596d3cf79a -KO = d4d206bc099c2aa2a260869230d185c3fd1593ff55501bad06c743ec46f21f976069e6ba7548121ac5b59876089acb3504c02e207dae8184c21a64e8dd4b003431402db9a4154706ad0a65d1e22c01b80f34a8de19292149d815ffc7e6b4ee30bb9d76e589732be2cd80fca3d242ab0cb154bcacc4df90f307266359b30e3b93e69231f55865d8a1ca9a1020097f93dbe731fb8af327580199f7f40756f10b39bd1287fe56885f8e09c975664a2b344e4008e3efbd23cee65dd22b982705b87a46dc3b5f7a7d53bb4f0276cffbf1455f4bc86df6229c7ebdf9a0168691ad23427234bb9cd1dfe915a960e948329369a1b5d0bb9a89c44bdf904a0c53318c5f0cfe07 - -COUNT=38 -L = 2064 -KI = 4778034c8faca02dfa3347ebfd5bc6837eb9571fa617ad8538cdd86d3acd3493 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 986318a247a88773198082c81bbb25b8e1a44e040b1f2e1053d61d570779af10d3da4c1b69cd6ea1c6aab217191dabb332a768 -KO = e323d8589c41a4439b44d67301154d665bd46efaf46e3b62f6d354b6357ccecce034bc9b81ac61f6bfa15b16b49e1624955b88b361bd97d5179436e9f00e04a8978e78b94b495480fc59be1df3d06e6db4cdecdacedced28f134cf7eeec2d6c742fe8bf883471d65d7e5e11b96bf713c98c56bc3b0b8aca710761c7804f205f45126032c8e20c4e3a6b0f2f6a5ea7f89c798e7e204b56542892b001830be95713a363a8d8a70c9b12b2ab08f4adb65d453620085d4bb428ee4225735fe13c6510b0bcfb9d1b1b0bec03ae1849aee45f1038ca9ad7bbfe25a1bdc0ba3b06793655fffc359b8192085bd653f24fa8139de2b10bf04c6e0f29999174120a1cb8c583e4f - -COUNT=39 -L = 2064 -KI = ac03dad4b8e05ed74512ec56ec39cc5d5fd2f21336eb35023b77d44d526fb313 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 532bc096c8b41cb29f58bb5832dca436e1a071f8cffe0aac749ff07c232b8f6afd100bbfe955058d8be23cad0fbf3fe32e85e6 -KO = 0a5dce4466511ae7cc47a47809dc552cb037890f0c836405de9473e889061e9a9538b924bd8e6a20e0c00e59224c87bd0c476273f7a4393318f420d16e924a4512002c7a70bc59de1e3148d38715905b3aafded4468d00244eb1c7a4aadfa05cde9e3a15301c95a7de9c33dcc71a3fdb0de33ef7d304e8756f1faad754b20515aaeb1e7d51b3df48fe277b920dff24c570beff36a71992351b5407d4d188f05f32ba5997c9ef19bd181648e2e7a6896408edfd58d21dbceea920add0612a16bbed290e91d07b282c2673b63aa79331fa6b7b9a0798e079528bcaf66c8c7a45b51a3a165a9e575e46836bd69d21e5cbf135a5ad08a9d82cc25189343ce76dafe49559 - -[PRF=HMAC_SHA384] -COUNT=0 -L = 512 -KI = 61dda2d69cac7169db5a8f2329b4e810080d5ba88ad2d47d21a64ec68c25d4f3543f04245c474e0cc3d36520b88b63da -IVlen = 384 -IV = 1c541b141fe5cc66026f95bfc94f0ccdd4a756d560108e087a3f5b909f41a2b59042c58c2a41ace17f85ce55f612fc87 -FixedInputDataByteLen = 51 -FixedInputData = e85232eb8388a742356a5623c7ac7def08b35040de23cd4932f7b49e00995d7902636f6c21de1a143c43945d8e18b34c947af7 -KO = 51e04ad6c8d199fb25849b8495a093e45fe54f301b3834441281686dd2794c91708db92a93060605f25ccf3776259c4d1c399496ce3fe8e4a1571805357c3b4a - -COUNT=1 -L = 512 -KI = 7603bb1a43015e7d87b3c8074d197ec3e6fcd62e11e4b70f63910a6a95f5724927801e17d04fd3f9a6bd0171e7247d1b -IVlen = 384 -IV = 2b91fc0d31f45b8201f441a52f67347484154a7c10797e50531093d6d909727d3253395a373d3b083ae69de04a4f1c75 -FixedInputDataByteLen = 51 -FixedInputData = c5593607be2fa4771442870e8ff5aa1e6079de46b5fd92e69b102770e374407b1a832a4c7d6821fc1dc633163ac20f1331d05f -KO = 6461b5f4c8d43fe28a4c6cc879b26a16d15d95e6bcec0eb0785e7bb9a3489241d94cb3975d2818b4e72f81c2733217c3bc105116c3a6315397bff527555164c9 - -COUNT=2 -L = 512 -KI = 47be73e2b328ca4e169b3da3ca07fde8af28b1cda75d720e4321d1c2755355a80a13e830cc8ffc43ff4aa6bb931bb7e3 -IVlen = 384 -IV = b1efe9d2c8cde3380b3c08c6709f8bebca72bfcb75ce90b3d36fba8a96403ce29d85fd3743ea506484e83dda47d4e90a -FixedInputDataByteLen = 51 -FixedInputData = 4b7381e258f5dc663c0ceef6e3cdcadd3303778a25f37a7fd30806a553633d673290bd702445480e763034b48550b7c2f34d4a -KO = 2a36ca2b92ac24738cca70330cb9f00effc498349c359ddd41c7c5957c8ea29ffcee1ce0563d8a698447a5315115c8f4f1a224e93bb616529ae6e0ba98071c3d - -COUNT=3 -L = 512 -KI = 68cf71793c3228cf813f37269858e65ed109b69e6ec310d8d45f506d2b1dc107a155f1bd1aa3aa342c69d2077266d3d3 -IVlen = 384 -IV = bedb90423b0b0053e32f4dbd1265daac1a608fd417000a2a049b126183f0d294bbc1e97bf5fbf3c05abf2caefb7c81cc -FixedInputDataByteLen = 51 -FixedInputData = b5051dbecfb40894dbdf90eb7afa5b3a68eb55d8d858d2a115fe0999435c51edf69904b338dda0efbfd0c5384eeecb5529e097 -KO = 3b69a9a749aeacef4755103fe95d4082b21209715527da3c86ccec477019345bc4a8b378f3d4e6ab0f26314a0fdd515ccf02c7d373640e8119fe72b7a9020487 - -COUNT=4 -L = 512 -KI = 11aeb7ca27b87c7791c678a0f91836f4f6a43a17a2318c5a18cdc9834fedc33b4a49f5d199a2498b393df7f5c9b46d26 -IVlen = 384 -IV = e5408cf74da49b70ff56377618882b54af2915ff31e0d0a8b5a135bb1b4ed7cc46f174c4456a14b43a6ccc74ceeb3e0b -FixedInputDataByteLen = 51 -FixedInputData = de1cb94cce552443541fc29b218e4505a325024aee94d9abf558293cff1a9b4d9ddbbc6bb722097b9c9220a8ca2953c1160583 -KO = c149e38ab6a18e9c3a0fc11dd977baaf4362071e42fc5c6141f1a237da41e55a6c2576f50ddebd03e6184aba040705a4f75a5d2b93ad4509bbf8bffbde7db189 - -COUNT=5 -L = 512 -KI = 7ab446f8927505314e21b4388609479767399437366fd517c2b6d2a6946aafa041415cf2380abc6a78c861f16ccc60ac -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 64b60b761c3f27109ab38cd474c4250b52391b8acca54f2f595b2be0aabb53430af790013219761b9ffb036af11fe0fb999e07 -KO = a51e9497910198664555bddb6ebdf2992796f9d431e16e4ddf33eeefe39504c7fab7d34fa534481cdd2dab5ee1a939729420552948a74206e0ffa7e2c60925fa - -COUNT=6 -L = 512 -KI = 4565627ac0fa8698bc625e63d3d47c99bb79bbedd3a048b81a24f417f160f9aadd5308b5d0cf1aa88f98082a86963c6d -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 540fbd71edd9e7867b84bc1c180f88b487fa23bbd8d832ab6fa05071621b5be1d1c0151524c669fb4e0d32e0b6fe3efffc5610 -KO = 9607d9ef1ef28b4b9df905ab81124a47ea844ff0a83cf8e32bba9e7ca480ca4840fe73a45b3e4300191c4f9fc50d64a4cda4fc0fba4b36965404ccce671c95ad - -COUNT=7 -L = 512 -KI = d2dc418f6246c7ee9f44a05db937d8dc69687d4d36917855cff896c8630febffd045bd8a26852b991ba9b12c409fa58b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 52175aee113228e8e21eea2f0d31d01195ed254b88ae1dc982b92e2610d7397f24014d2139e6ec7b39d2d0b844a3e740af8d20 -KO = 5d5060e02d5dded535bd8e4946b5b30bada20f8e1a5e1d2c7eb34cb50c426236dfc59cdd222c26e2e3174713056c61dbcafa3612a197eba52260e9c86265f109 - -COUNT=8 -L = 512 -KI = f88851ebfacecbce22deec3743a0e155169119d91ded6077366efca4d8866d3e6e747a5704fc6b07ccbd82269fc7bf69 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 24949866ff16cf84e881c5e3a1d650423cd5741b2ec96fbb09b6b4eab052639a27535c300f71c47ad3a381636d256f5ca19828 -KO = dd8391847531f0a59b145ae516448dfd207c65392b2658a07afcab3c63ec24e24dce45a644ff7b8eaa8171fbb2c4f3f211f4598a002d7e32e2bffc05156de820 - -COUNT=9 -L = 512 -KI = fa5cff2cd28c195558e75dedf83219fc4ceb5e036c314731e77317572c3719f3e1de012bed4a2fd51ebdf098d1ef2142 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 49d189754a48248e34bb0d7f1f7cdb2c6d8c84a5ccfd998d81c5959c2297d4132b63c0f85379796402bff020e0673954ae0bc1 -KO = 0570a31a4355373ee08f572e9098128603bd182a17774f073b39f7ca9e592cf099a92b4a37c80e7c3d67f1e33bbaac36ed8b4884714108ea10386ee1d64b7857 - -COUNT=10 -L = 2048 -KI = 855740a903d424989b13e94a8c56fdd4f12b8b1943efb25917ff119644fbbd2704fcdb05cf830a70f3aa33c2d4bbe877 -IVlen = 384 -IV = 69a717576f6404c3d0778ae5f68c8a52b73262978a889060e18ebbe2e482a1763b0adde1e71ccbbb21c8c67a9c045dd1 -FixedInputDataByteLen = 51 -FixedInputData = 481ec51663a1975e314e59179939f53b7d0b53b207c63cd43349de59b5880f6fd515bfb88a1bc0ca2f180b5da151429415f1e2 -KO = a943e2db8782b16cde8d917a12b69e541f404e6156a45c7f90285d686a1478d4872553e363267b48729957e65b045b1d931f2f940314b0d57db3cbe0078608eb3975eefef0a5d17a947e262120930ca4199386c6723f1976e4e8d6a1ccf8a4016e9a2917a228139406bf549c7db416f58efe589cd99058416a46bbb4038b6bf8eea6a8e753e00feab42550cc4df69895c87568018614a49e08e9d407964789505fd7fee8fad30aabe7b73f4e1148cbec9086621234a02ce03adcfd497731a2d6c3d6070de4ef78ebc41dc4079c54f9a6bbc7d74b5b7d7cc23b1e7fef13d1c1928105497a0cb1cb16e9d314a393b1c8704daf8a488b3718c5c1e4188e0afb7308 - -COUNT=11 -L = 2048 -KI = e1a3b018135977f19a938d7104ea0a084ad947dc5fd8682c3cbad7fa117af0f4457e012ca7323f1659534e95d7edfe3b -IVlen = 384 -IV = 7085842ebd22e6a4a676957ebf3eca61942a635ed046af8ff8a5c9ecb01dfbb4baeae1cb5a89266b02c567995531d772 -FixedInputDataByteLen = 51 -FixedInputData = d80ef15197a70353d08f9bbe08b7b80ba51cc2d6636be452f5b8ea4d26c255c14df6ea550d0eda014de1377b02725fbbf17e77 -KO = 6d25d282cc53059d7c7b4c288a11a66b4a09bc79262caff41b4b9ceff3cb17341dd3f6e598ec2e9d5b374b4d7843b72b76ef169222c34f1d2c225545ce9267b9507abb95cb7978abd1e0054eaaeaaa53e42797acbe1393db5988985898c98bff0e49eca5110c47bf97401f92c5280d3d68b9e58b85c83777270a8e9e30594e0aee1fa9e772f3f89e30fdbb334f4e15dedfb06b3d3625263d4c3972659bb0e25baa4391336a022f9d118a15a20a3cc04b95199a656cf3dee5bf107425314849a4fbacec75df30f18d540829936a6c09787953201754fe67096a1527852969117392068058f82cd3a2c4ea54040bdb0758f998beed042e293283957295097d812c - -COUNT=12 -L = 2048 -KI = 5a6b4dcec33ec284be3be70286e792173f259f2864f6017a8407f6f6d2c179697d4398bedcccd66aecd97dcb26feceae -IVlen = 384 -IV = a916c97a0a9e2288d0d6131115c34da1b5c5cb822e0cc95a3cdb821d0406a5d10db3994a05f4a37593d834f5fe5113eb -FixedInputDataByteLen = 51 -FixedInputData = a2598dad4d8cbaddd1b2db984ec7500debdae1f06d6544c27437784ae4336533cc191c75f6dff9f3b3b9c51d0c834205538a9b -KO = 28af11ceafcfd4b78d540e650d2ab466bb627d1d9bc06d84932164163030295181271f24417ea19b698d1fbcf72e2a6c10c10066ff4195a542d8b56b59423da9ba422f0d8e9fa25befefdb3ee04ad8c9bb70344bc8956bd137eec974a5e8b6020102c2ab3b192d35542fb826cc15c547382c0f35b417e5a4bb733351bbdc572c137e29e2a5424c9b0d57daeb796757a4c60b36283eac87887273c767babd22a184beb1355349ccdc87b5a43f17f4bed9c0b4c355bc361b712d54a6c5d01665b03651c7439f056402b00f5b11f9464b6e2d5b416995c1d6d02a4316f232dafd156d48b1dfdb37852622d67f7b50d2eac0783afb7b9d4682c20073b9d9ca723d83 - -COUNT=13 -L = 2048 -KI = 00e27a0b94febbdc4ee13c2bacad5019fec95ff00cc3109c38c0be111bab790665aeb79f94cf9c3c1e9c25a65504c902 -IVlen = 384 -IV = 59862cef0d7a77376f8d6885b4a2660b9c35790bd637f9e74f685922d5281647b738e882f504da434b3074524baca107 -FixedInputDataByteLen = 51 -FixedInputData = bc43c7c441c63fbb09869c4a7e8f6061e2bd38daa6953d4f809dd74a5741c423630b4519ed2c01168e55bc44d07e929d0d2b52 -KO = e25aeb445aa324c5e8ef604263aaada357e22e454a9a48c3738ba4b296af70579746a77219028ddb4918d8165b0e8fd784e0487978b6a53b838525545d5633a40ff335920873bb33c7b2257c28078473daf6205657dc4c5516cf292ff79ee13e70130bb0cdfa6ccffb4f668f044a3ea64bf65d6fd6fa42a9297e75beb7b47f4d0c2bb627b2b2f074a07ec484b84928d735152575c82b7da05a2d313bd5050b2333d49d1ea29a833f3bd01f8a58e6f0f52328b36a58e053554fc5838ea5ab3c4ca886fdfa9834d6f79a6998491f9eeab432db22728c201c5124699ba1eca8998f995c1e1e82d41ad855a91ba4539df2dd12a96390d8a50ddb73782f8bc0316c87 - -COUNT=14 -L = 2048 -KI = 6b0ee3fd08d0c9ec8177d4374764b7045526f2e57946c684e392ed2fab2255dd450eaedeee414942301117adb7e33f34 -IVlen = 384 -IV = 5b2b00d16e3d398f672e432bfc30dc651a7181373148180103db01718a374f7b072892646a5d2e455cdaacf0082b7054 -FixedInputDataByteLen = 51 -FixedInputData = 4e61a618cd992e1d6e46172118fed85c4265ad66022e9304153a7ae415ca6cd87480152132abe2f929616a7d54ed2a8e8667a2 -KO = ea585f69d2a91b0cdabcf7bb6e9cee737151c53f43a9734705832b3c49780626f5b0c003737771e62980c8f5bbecbbc84ef943f037906a9bee2c54daec0ae36748774199a0fd3aa81199426dcdd6e2ba584f3e1c2af0bff8ee5039990219ccfa1c9559d956486849045453356cc4dbe8c8a4735e5b8f50f63168f1daf003a6b1738daf0df699c2ea67b3bed59cfb4fec191095076b6b13c9dedd443b3356781aa97b349073787145ff645f2b0ff2e85e30525a77cac13abade967ceaf9cc24e927cf08b54683364f1e5fe5d5650c6b8b12d688ec1c01e8c9d95e149e53614d45cd0020700e2a6dfdf66fb0999c26fc04f6e2cda3369d89fdef8e0ece3fd67b5d - -COUNT=15 -L = 2048 -KI = 210c2c4df6d6444a6e2d15d32110d6c64dc9caf8c5aed9e9e551fb57dde7140d476c6e84dd883d80817bf4b7b1375bf8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 0c027bf232baf68e38b4c860b260b1e3066bb2781c37aac10197dc68ddde18ee9b718f52880ba3ffb5bf58d707af48a9e509e1 -KO = befb94b31b180c69dc5c99c6cc391cdab4dbe89364d7e055c594765a855af5741a1576a096d41d4ee804d05d035537c0f630527e79b3a023fc7f1b8c64cb56a0e47c73d14f06a7499a19b6d650537bbef2d029705588875a17055a5f586b17715a28944f724d5a4ef8a265ff718f776af444eb6c82cf7d53e88ebcecb8acb0849ca7f8b5c89d5395a5275b0dff274c8788ea7735c8deae7fb66d9f9cc7b6ea9bb511b8d5ddcae820a6eb9edb056b95ef03b7e25064acd967f0e9ff8bd2a492e41fe1d1a6f9ad026a7a11c5bd65714f4389c4d1e9e51c916ed9d30211f96943706262adda0ee04de863d4e6bdc03931d6c27884d78f3ddee6d253a64bb1fbe871 - -COUNT=16 -L = 2048 -KI = 03b91ffcf0a340a7eb8b6d095bc3cbfc5637f63fae952a13fdd9584b4d63e1afc421c87fb6fa4fb6dc5662216bc8bf61 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f3d5411b1c1654c581d5215124d810aec53915c5cd46a43d085346d5e9d1ca897d92828e36d7d1b210ab2fe3579385cf5c2bc6 -KO = 1f3de128a3a1c079abb833bdc48d49720447b70aef898a404532a1f3f539633614bb05d54ffd64983bd722d4fe01132ef9b16e63dd3996679b164d0aae602da582757996f90d7dfead9a07381eeaa4855a1d9a9b3cdfb6fc302d9afe818b9216b7642490a228c668c1e6573d73af68840019f2d886ca97a4a104f7565210718e7b56696a5da8ea4dd67799df1d375517eb9361032b91e411f3dbea21a210123fa80ba0bc03a0df3531a7cb5cb80ed6f081824f41dc922e060d6e459dff4b5728fa0dfb8ba288a3c25a605a61d94dbdaab7c0e6f1bc06035c70f08a1e3ef621b328a0cc8a53295d66a18b15f4c3010d215c65774d0be058070188c37ebea533b0 - -COUNT=17 -L = 2048 -KI = f07b58d07663a9688b04b86cb720d72ce88a905b7615cf4686b9b55ebb8dea28a1e58ae0a5abef0f22d8535952371654 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f4cfaeb5664be0963c9c4c57eaa5e19b7f9a1686ec9d00df3c6abdf6efd3e525ff5bb804b516572399b4de90e4d2fb02aeaba6 -KO = 98ec4ce7c6901d8b7c5c7e358831b6a68ffb2088c14d1ff3dcd9ddbfaabc7cc5dd3479f79cf84c20835f341c89eb2151f09f3271912b86b9dc953a84aab68e98b166e8d3175cc3a636479d85a1881da3ce954de0f11b57f1da565cade6064b7c7655192a39d91ea81c6a64a754712efd7570f5fb7040ff3348dc6fda21a94196a3665a5609d48c3b410c633190af1468d71bd4e67515da0482f6e8b7eaeef6b9cbc765a50c39b7ee27fd559d792095b83633b639bce0e38a813d882e27a8a6603b974ceefd78af29f0cb3c51fed4b151c0255e7fde1f27415d65a4593e275b2f181b7c81d45571cd01953982aea914790b3439eb93e1020c83ee8959c0cddcdb - -COUNT=18 -L = 2048 -KI = 9f363d06565dcab6b29860e7d19c33e4605a272524f9ea4bd405b9ff26e313b08adf79d11c34aa1d3012903035d8d75e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c3c28caf10738d2f1b667e638d1d1f4dd677e94f9bbe36713ecc7c28b1863016413005fc67ebb06c256cfaeadec63e1a374a98 -KO = 66bf2a3f397f4bc479d80468d519dfa29225fb50452c52b6b6cfc26af643d7733f559bb99f78fbc4bf9c84dea7d25fba6e3504df5db14a09750c98b2bc3670c05e07a85fb850efb4c776f02049d00b5a79ca707abbc0460d9d76a607138c6d91f33b94c3ec699655e50fc9711e5e173c8b171f728a655caaf37c3266f511e99beab6b979c42fca7fba15f753ac74f1232505956964fc39c361f5bf8f98f807ec596051bb499942a1cd475221428db0a7296702d6304297edd3ffc502e0e89e7d14e83e1763165f8c9ff01189c4abd97615960f0fbf04c6dbef94bcdf7334e274a6184d47eb08545313b478bc92209e7ec0f5f1ea911da95e077283bb2b5dcf8a - -COUNT=19 -L = 2048 -KI = 62e4b2b14f1f1095b741f5b5c4ec043b8e8b41f279e8d2fb45d5064080e46fde7f07700b2da6c527d0a16a246647847f -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f9ccc00736750dee9af46b86e8ba262a8cd1032a33f027d702f05c49c45f4ed5ffe5e5005665e4e40766771c6ffff0e06fb603 -KO = f38ba7ae35a132c236f092cb518b13df03ccaf727797ddcb43dae2c5872860037eb118a09ce2bbd63626cdf51053a55a50f28f7f22ddaa5b19353b0b62988e81a49f645410ff1c3ebd6b3eadd6c5cbf1d2f21878c3a1cb69c08c45beee8631a40a546751daffde73ac14b9001ebb69b0b242e55d3f3c330903388b72d0ff29511cdcf1189a5ab35a57d658e7b020b4aa2bf5f60629d46273ebcf68400ef4aaa6fe396f3a4c86f349615f3693e17d6ea103bace04c9d1ed020bbf653c63c44197e9f16f9eb08b0ae0b31cd07437828c2a3b7d27a34ed58cc3e06b04cd357420f64d39af2ca8446eed2d7b8c2d82222b537359780a3ea5975cc1a3d5d88767bfa1 - -COUNT=20 -L = 528 -KI = b916c6097c37692455660166d82b3a282c0b833d31abebec73e0880a2f7cdf988fccdaa438a8f7434e19cbf6809f2fba -IVlen = 384 -IV = 91814056ff0a70b2c1ee2bb8e0433481bc8072d97229b700c9c4bcc553e5d56a9cdf92914518b05bc982e24302f6e01e -FixedInputDataByteLen = 51 -FixedInputData = 5ebba886382e85d8fa0368928871fa326f8fbbd88166e95eac5bccefed1986a44a7cbc161f8f1ecbad6bdbb1a7c2c0fd6af444 -KO = b54f81bbe090fb18102f8d842afda813864f89c079e3569f9966c05e79a9f7d55adf3d89625b0b4ecf23700102ce3cfc8f60cd2051f5de33fcfb8e1b7a627aa9c1da - -COUNT=21 -L = 528 -KI = e8d353770ddd7afcd49a1062d3b3dd48794b21216b4f15a0eabee360e92f01f0aebf67a3b78d07e9c061eedb4c547e5f -IVlen = 384 -IV = 8a89fe753b28077b3bb195053a9697a15bf030d54b5c4caa6855ac6cbdbfa01f0a4d183b9ac337293c59faab30d79a2c -FixedInputDataByteLen = 51 -FixedInputData = 2e6d66cb85ab9b1d9503c8e6a6dd9247c49863d363b894bc2c7ad4156dc41010b51ff3e34ad6cf7b1126ff28f34f3f7dfdc2b1 -KO = b1c2a9333684dc7f45a5727e6a1520ca1094ba2b63738c3f16a2807f0ddbc5c986a7411e96f00664d06da108cd374f6c2778f29a114ead496295d7062f1ee10ccd1f - -COUNT=22 -L = 528 -KI = d064deead474e1c490c5807669635dc46fce3256d619852e58a0679b9d7c2f1cdb4313851d3ed3d52b80a2752597d055 -IVlen = 384 -IV = 92a57b2b9b6104c720e2634f16022a3aad239211e2f86c5785332eae2f4a70b2569f9d22d0cd2151a111845173d2d554 -FixedInputDataByteLen = 51 -FixedInputData = 3c6297a27f619a355828034aa28210013ceab17ac9dd30e3f32765be59bd6f60fb6b83d9d771e95d3a7e2cc9407ea68e7f8877 -KO = 3a341405f2722c89c529b98c3704d21a5160f5caed66feef82811d389e286caea271f94ea863376c99d558e0515aa45c4e10946584aaa66cb0c1dfde5bbf50e5a447 - -COUNT=23 -L = 528 -KI = aa20feef92390d632ca3b7b0ae2b24765f7dad99e9e95700bdb1c08965bedabd3354366b91030d15c07e5faef49360a7 -IVlen = 384 -IV = a09709e15f8d4e89e779050004530a756c3e8af19ff23b727e0c646acbfc46ba870784340860288077f6a4c6d9f06864 -FixedInputDataByteLen = 51 -FixedInputData = 7cbd218d0826881f0b941de49ea12108c76e3173ce5cadb325abe7cef434ad79bee0ed72846855d6115c7cc0fa469519bf269c -KO = e055d87cc2874691efb39d86c35d4a6f69b0dd9543bc55a3d64b9d316215df1a1c13c1e72acea417668aa17655aa6583a96c2faabf3edb02e80bcb6a1311f982fbc3 - -COUNT=24 -L = 528 -KI = 1a35475d5a6a14994eaea448d00800b16a00e5f92d99464ad2fb64b8d81c6e8579c0739f18f31235de7ba1f2ed0cbc38 -IVlen = 384 -IV = 297765cffb8158f2b290bece250ec2353d64426609e0eba1531fc02b3c997b48895d45fb4c1e3d844d706b3dfe59c157 -FixedInputDataByteLen = 51 -FixedInputData = 727d6fd36997169c3d34b6390514b21dfe9c96151c0b2b86b9a7edce139f50f193cf0879d2cb100be9d0997575769eec8791ed -KO = 1727151d998f2be538c7ce77d38d4269ec55cfd38e4de074ef2bafdc719293500f812a24526852678e8daba416903a8ee8d768948b41094bf2ed733b293646a8f53c - -COUNT=25 -L = 528 -KI = d0e83ce867277c09f38c97656bfda29dedbb9243e7d81d438183b66763850c6f2fccfdae8110a2d31aea3ba98cfb75b1 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7842415b3a45e6f3e2591c6b81ea31b0c620d5792e8ea667142e8345758102d7f1a000bda1bd4ac2fdf79de6afaaacf1c30878 -KO = 2a033909382e37b29f8f172350256f8805272c2d2ff7d9cf85e2d81550fc7231608c22c4a31386ead4977d3e27a0da8b594ab6de181a794fe83d187a2a0aba9545c6 - -COUNT=26 -L = 528 -KI = 53b508d6f2d1dda1486580782f4bfe43c0bf4f7b86a95dac291a285ce6d45884abe1e66a0dcb8da7f11e7924e61550f0 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = b03088d972ef1fe35816aa853924379ce7b6e79f0240eef95ef70d73ba4d378f50a39272092f010e35f36da1413cafe95f658d -KO = 306eb35658748dbd4b3caac9ab90c8c2089509598fa209982e66923271feb3d61f457c6201c428a140f49dea92c744f82af18a0fd2ba5ca17a2551d92560a693b9da - -COUNT=27 -L = 528 -KI = 2ee6cb45cb4522b924faf3018f85dfc27f3c55260fdae8ef45d998de90dbed1276f13492df1ade269ce2b311ddac7691 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e0b30e1cd3e68bf4f72d228f8e7b7e2a5b4f78341c809bd6ff5bad3f5fc1b27b9d1334daa4765c3755486443d0e6630775fcc8 -KO = 6d1d673c8eaf471df66e888162c57045afb4e2b1dcc6bc0fb1ba13dc25ecdb6b17201a43e0731fb5b4e6451432b3bf3eb7c0021cd09c7ef902dd6ee76c33f035b362 - -COUNT=28 -L = 528 -KI = a3ed224a1983b548d64d8b7aa3517a2294fa927a932b3a5d5facf4e1122185d4932a31d45031d6341de514073869221a -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a0fc1ef165bf4f058946a26b1470bc71fe14549bc8eb268cab10ca6be91781b0e64686ffb06f65daa6e25369d2beea57353d69 -KO = fd15ab70410ac3323a48b4b718941a360b1227ffe3bd092f08a3dd2a205a792ebdf5e8cec3cfb46e3d4a9655f09ced98d67e9e9ec0945327b46e0300041e72fa4b2f - -COUNT=29 -L = 528 -KI = cbb349e37ea44b5805c34a339f3b0a58045c463d3c3cef8b79cc821fcba2c4c48ae3cff8093ef6ea9bf9f5e74205824e -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e7c4db801bb32f7e7255f4c352ac312419fe30f0c9fc43f1e3876f4de9ffdb5c4bd4a4811be622cf4c247039b7e76a070d34be -KO = 2bb2c965a37058fbdaee933b5c9bcb6c7599e84ec598265c370e790b75fdf0350f7e9db2ea513e1516465859e65fd8effab923057ff02a0f3fd66005961d690a9164 - -COUNT=30 -L = 2064 -KI = 2607bba068cea05b9c003358c969d4ec293c4b1b0eae3f615fb08f4d1c901d3c8f0600d1e7f9922adfef0b32d174dea9 -IVlen = 384 -IV = 8b0d42eb3b19fba5320e9e1aa243ee2ea961f8dc146297f9ed986ed9fac2dc0c5d3b78c062909ad94186d97a862ef70b -FixedInputDataByteLen = 51 -FixedInputData = b375955e7c4dfc483346bde9f21371a4c7e3bedeed015acde8e56f111ac5a82647e01bbf8c6b9edd79a29911af255688466a51 -KO = 00c363fb9e8e97fdb75878138b6cb979825f9b32daa0819211e314bccad7fc2461b84ae9622972e46739e5f58c281599fbe3b1d854b1ced4c48df9f8b5d54b2717fa76e7917f2e2905cdb9d72e2fa59e8aed4234190a36385f4ea216edeae5e1b130608751d6ae44f34ce0e0b77eea02c841b59132c99964acd563bbfa9444b0beceaa05b71ac2abcb9d3ed8da5efc61cad75aa12e94dc2410d8996bf59d513e58fba36710cee31c82aeb2f376fda3ac6a454aea01e6724b6dcaddf20e79ef49d0d6ece8edb3f9c8e4620d66b1d3775f8595f154b43b3a97497f27e73c4858bd26626590a1d97fb6d819e21ec0797392aef888ee8b6f7ad58bc8377a4eac5bfeb82f - -COUNT=31 -L = 2064 -KI = ac5f3671fac9f4aafdbe59de70a2e3bc2878183f143ac29d68b801bcdd3ac2e29dfc9911863ed87c633dbfc78b8db8e0 -IVlen = 384 -IV = 607bb8ab2f32ca345ebb03a782ea1fc5b5c17d4aef935f2bdf74283dd759271561a227d68f9bdd9ed433a34a85ec5102 -FixedInputDataByteLen = 51 -FixedInputData = 4c2e478559ebe1c1b501d057d8a533528ec17504d7688ae980615f06eb08aa944066158552e42bf7b8246b1f9455da27eb8d47 -KO = beddae3af473dde4b8592d8555e55fecc6545027c03bfe7cb54ccf0e2431e4249ab299e3d92271f548842e2382bec1ec0dcc838e897fc95c9143a6bdf6a1dd28f188a6cfe1ffc66fe9f33696e3879aed40602c7d8b6ba939c23bf7bc576aa4d42c031018971b301c6a04fcf584ff21137d6e610c20781835522fd63b200abb9872b60e7948040abb083c06d27a0042faab36f1d1f4da07a970c588612c567d07b47ee6b79937a666f7a0947f48c1849e212ba58341c13cb0be8c9acca00317df7ed9bb35b5a33c15eaa47090ef607d100c52058268dc0a45243ab0915ac9751d671664e2baea2e3b7547f56c0cb5c352f82aa058424972f5b965f12dbeec4385c294 - -COUNT=32 -L = 2064 -KI = 3c7a68571acb0fc1439a98155c30f6afda1eea3ba6de24314a0492458a88197f864842833d63de51724436b72f3fc45f -IVlen = 384 -IV = 110bc914f8c7d8c3754e51512ccb56d5d24ced400a1854bcfa79b88af9078d443e0b194ed5bc2cb294cad513925f93f3 -FixedInputDataByteLen = 51 -FixedInputData = ddcd128c3ad88ea5b84a138c0139596819f306aa66a1bd9463f882d2ccb8266ea8e02fbe1e5c3d26bcb3c74f7bc4728ddb3731 -KO = c8f4ab278437f234b9f8404f4f490e363e525da30c5caa1005019109d6b07a7c2506ef99124e608e03bee2e6ef522cb6dfbbfaa16313472c91560350cdf671fdfafc4c9daabfb76b1c7afe1fa3f8b8566cf5f797063010ea0eab68c0db0837d73fd14d24e3a3109e1267d8345a2b744362c6e592903ed1a18eccaa0ecf07f0045e890f807bf0453592cea78ea92987110d485c5e2c3d57f8d4f442cb0c970a66b34c23656e887a2ef2352821b51eebae8c7d2a26c4996f883c8eb5b1c424652d9a7f0cc9d10c64470532bf1bad6acb5d943f25cd388cbc0ee41ff28bd6ce2ce57d5aae39f7bcc2cb9f0b26484374b422a02e0208c633bdb0d1506c0eb33f5ff4ad0c - -COUNT=33 -L = 2064 -KI = f399bf5759d92d7fa1d636aec2541f35c8d2a147a95617d809a57ad9d2073f892047ee0aeeafbd1bbc0714e781c297fd -IVlen = 384 -IV = 537fcfabdc079bfb5f2da5acb66523a2f341f9dd00ef6c16139068ce1223241685e836c362c52a8c42e51cc75f5e383e -FixedInputDataByteLen = 51 -FixedInputData = 90f801d72a24c449de84917bad59efc069cf756e2b2dc1e4b24eca4b3c3fce647166cd406e06253442c363410ec6db7c8d3553 -KO = 56df2ddb71ffb2c16b97105506c34673a205041e01a3fb3c3a232a5aba7b2b79842d659086111c04e75ddd67a06280034342ee09c1f8aa421f6ab4b230aa2b8b65c7d428d66d6379785f54622ff83113d701423d5bec20ce2148d2eda17c731348194b556a8fe1d289c77d1f324430058b0743817ca153617ffd8493761e50c6abf7459002ff9c93628bd8db9faee21374fa8e9ccd0ec83137036ca49e1e66e4ecc4fe8a06aca483d58f7c8886aa8b9f74b57fd9296e6f05a010f30f4c7cf0380b3f752d1eafadd3ac7a0d3a7a865d0028690cdcb66d70b286de9bdfffd8c5ce6af1f5a838f330b4b7780127c32f049e84fdf2e376717a87a87a834132c7c653712f - -COUNT=34 -L = 2064 -KI = 0a7b98addf62c26d21d4e2da4f3f43b02d7b218122bdf2e86171c58c2efccf69f66e3eafb90f46e138c15403c54e15f2 -IVlen = 384 -IV = a5f195e6b95a149656b968a913d1541468018c306a5d26d21d2535c907a18ef30f6a9990b6e7d486136cd695360c7ee9 -FixedInputDataByteLen = 51 -FixedInputData = 8794aee91b974ab6db463404687efdbf8aa8f3658ed96434c3252dcd8b22ba9253de816968039d188ac2cc1e1a0a93e33f44c9 -KO = 06549626e0847c8f37c0bf53b794c185f4c0e76b92b1d240286a49a896bc41bf48deac6d57dd72ae6611cf46e4daaf57aaa3c4802a08171f315421b86c83234b467e704967000366ada6023cafc3f94d2ab13169c21fd0af8bd77d2e677afaa3784eeb86a58d1eac268a7651354f05c57b30ed3076608011d1034552560f257de3c5f373c29251e952684f642410dab3fa3d764884f93859fde661efee79860987ef6955bd3128f05478fdf300321a3d2d43ba456ae3805ebe4717fc76cc8f1bcee6360cb620c73fa1262ec34da03e1827570b2e6c0212f164adcdce3a8d5626f9185b23921ff4691eddbe8eb3641bc8b55749611eeb97e8780a0fff830ac0ff7529 - -COUNT=35 -L = 2064 -KI = 8f1d866fe176f233491975ac40be47945ab27581ef6581fcada21d86b0f9234d5fe48d2a862007ee58773281a7b06c34 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = eb4650277cae9e4ae71836a547814667ac2a53e937bf1a2f86d95f6890daf131d5ecbb5fe5f49132685e2911966baef04e78c0 -KO = ef0821fc3e63bd3cde2881366ab2f4d6bbe3027635fb093b785d6e923ec5450ed4ef18cce53687ed1fa04a150026cf4b83eda138e184191c5f6a27c103bfb753000938a1a34907d6699c4fa6f036c2e982fcccf6594ef719387ff3d4f8323680ae42b382da68e53361d42213580c0941c97f6cc72f56da192be71b551e75491bb238f400f203e466ba80f734fe97e3d048679397dd5e905354cfe089998f28f706332143655ad6823c004cbf479c13274026c6abf8db7d25203c714d72ac04cd24bf6327370fa64774255bad821524e317e45f5422fa90c4a0678872fa3a3be44993b70793ef4057dd9f40b9b4ea273696bc2126b46e0a6ed1594a3693ffc5920e85 - -COUNT=36 -L = 2064 -KI = 651642b87e13c630c5760c10bbee2e1df2c2c1ba801adc69faaaf08f6f985fcc464aea0547ffdbc05b6074eb9f67e00b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 227ed0ea0664bee4d1c4e320c176fcd24b0958e04cbed3b3497444d6db9c57c97ec627de5de896fad609dbdc8f11a92c3e15c4 -KO = 650b7d3ebceae1e61d133b01b15c4659c557829db0200c7f05ab3f209f8024bb7a5e86353ac49a32de90dca29588f0516efc15b32918bbdfb45bc348a0095257bc69827f0d7d36fcd07cf96945ef636be943be8ed81b5e14b3d8fb429bc1300e38cd9147f40fcd857c63061d546ffab0523c37ba6aee2cb12a57e43d7973f83bff52451f79a8697bf3399d9b4316425feccc550d4039ece2f9b694247365354e29e4db5ceeb22a685f8bb3f1e1916d0043ebe943ea0f22bd2ba36fcca634e32ce4d01eca0d4e7a5498a81cca2aaddb3d462e056b0247566a592716f214dbcb62cf5f009e2a0b41ffd40c9b138b06464186ff4d925baa4e882810ec6f5a7375c5256b - -COUNT=37 -L = 2064 -KI = 8b5c1014c3c4daefc83de1ac6eba4562a7c0a2523307252f4fe4d921d53109d8e0ebf575ae21be67704aba38be53efd2 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 7a0c31c7b1ff8ff7d844febfda3d0762a7618cac598281de5fb271f5497e33bc5bc3e43f2ac984cda7bdecb44b092a27a6bc90 -KO = 2a9f8cdea5e91f610352573e12b60c7a0776046c8f6f87aaa7834703454484c4ab403338c5a12c49db3bd08067d904fe88a1fce0517ea5ac871fabc61f6b6ecd61ac8b489b2b72b1e9118818c500c395696b8585fd606c66aed6471748885896d3b58be549b6d58561396f3b2305744f271447ee65e075f34a7ceca40e5422993d133bb6a3c923b3e44b820fc5fa41bd3b2e8b9047e54c78a47973f7a36fd8846c6d090df372d9987b81d34d4dd33c366170f45a8b4b7371374f9371aba5af85744cd6da6ebee3064e9fbeae438b9ac7dfd4e01bc0b3e8b6da8d503df1ea6420375d937e29310dcd7f0b4a7e74601a5ba81d52a6ded918f20e0753019e933ab42f37 - -COUNT=38 -L = 2064 -KI = 2bcc5debf8f1ca6d95100bdd8444ad56e88f8ec99bc277fb2ec8d0974ff0d4d985d1937faead84cfc0e08c3693f61a34 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 276533ecd9ffd5bde0df20cbf4252c46ec5dd3ab39be778f466f63fe8ddde1f50fb2998ed0d30f71e9861961fdb99095599957 -KO = c95c5d0f3c2b3ea5a97ec802eadcae57f10646dcd9c4f02f733e59cd24cc087bd25538e3a756a94eae06888cc304e8458ec9abbeb4778e487a49d597e0c25e87b858af303bcb7f51d8097ea08b5dcd4ba87eb3c7a5dce01df1cfb83ab361ccf1d80e728ee5d93ff1bf1f06eccafbb7e7788dd3bb26ef4e4c6cd4973f6c275b44b51568cc997d72def4c92bb169e7b49f7d90cc42eae14c39b83bcb571a873a58de1d16a4dfb8693c2a01577ccdc1c87cba6d8a4e64dbb4ef255e2b973d7da4a7fc02a3736a88bc31ea8bd395e466fe888f9e9e06213a17334ae38bdd9931cf08aed1458c6d2498d6ee1844c1b62e3613ac55defd7b10eed4fb125d57752798293710 - -COUNT=39 -L = 2064 -KI = 40e793ba3d3f79aab426f9971681193961186b2e68d20ef2747fe08ea81c41183f19bdc6a578e1f16b8821a811bb7ae4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 60e0ddde63e5f1df46bd54c537d63c49d73309f9c0db40254728d175904373666d72d526f3ee756bb83d9ca52e1d6491a2d5b2 -KO = b4e654fd67ed46a9bfdb67d23986d1532389ba15d18d6783bd79a12ef061e0471d7108e08cf27bac9179914cbad66e57913f761aeecea4469a9efc978ccc782f768120ac389578cad40d94b1dbb60652ec2a7461f8aaf92e1f8b31aa74811ed8877f341f07fd5c976607b617ba91f6bf6d17df372ef104922f5323ef64242291b07f08939fd689224b70a3638e3b0661f7826b5fc5ee11085ef041e74eb61d2178bf7b4d7ecf4f0da1e49719e275a9b6e61e3108ca7b3adf81ea71eadff9eedfb736a678fe0f0941c5a0efb2fd42fb67eb56637ad1ffc021a0b3db8f7685747bc9c35be6d17b12d3fb127efc0e29e5d535b40dd4afa06fc577c9da59d73a409bf396 - -[PRF=HMAC_SHA512] -COUNT=0 -L = 512 -KI = fdb15ea096f9bf82e847b976a1927686e278517a4bee0a58152f217de6c9e3440caab1df912bb571a5b3c3843775c5e085edd8477d29583e2a00b53e9a786d84 -IVlen = 512 -IV = e8e21427ed14fda1464293d9fd874123e6191bcff1065e668dfbd141f44871ed83bd1235ee00d78440ded102685ec5d618936fcfd2a5ad4519c4b01b98611d1e -FixedInputDataByteLen = 51 -FixedInputData = f530d11643160e62ff0482b1593bde72b2aa062c146e99f5416e3466ccb1ec1411a464f824310b4192825f22097132536ca1bd -KO = 6718ce35a98029a9d4cc0a8bed787a3c8497053886e7313aa024c3b1d31703e07c2717cca97ccdabb5f349887e954b763d5e5db4d0a8b5a55d7ebeeda52323ac - -COUNT=1 -L = 512 -KI = 903baf0eab4cf875483b7c3c7f27a0f70dcbac221c2c19cb87228932020b4459777e1fda2eb5afee9ba28574e64d3bbe955038128890fcacd1074bff1433dc9e -IVlen = 512 -IV = a77c439449ea3809fdcae4d497b8dcf290a95abf08807de81e102b08d78d9b039b504d3567ffea9d61463ea9ac78b3db24acfc60a2117a99fd722a04c05c507a -FixedInputDataByteLen = 51 -FixedInputData = 7a8777e6f869cfc26a23573e08626641473ed0fe8ededd2c5afdb9f4cb56fce12a05ea13cd832c38fe2210e5e4bcc28f15b130 -KO = 1b1775388fcac9720a88be0b397eb2b1df8a1485d3fdb511863f919a850034963cebfb14c6da59638986c0a7f86f3b66a74b19ce9d003b5328de9b9aed470ce5 - -COUNT=2 -L = 512 -KI = c91ae93533b800098f09db20aee5c086f2bf0f992adcf7ca96622e5e53cf8f3f9663b3aa2cf34d6c228a775ae67a152bae71aca20904224788bf1456cdc2e388 -IVlen = 512 -IV = 06ca0a9f63399ca92df6cea62397c212555dee8de4dd20a0a849bf235f11963648e6c2cd82715be7eaad1032c4098950149840ffb4d58331f95ba91965941691 -FixedInputDataByteLen = 51 -FixedInputData = 890c41e85d8bf8d205104f2ef60fce29fc8974ed4c79c71c5a1f294d762a6d8cd90f05baaba097ffbc620b0af7c5d1f0327ac3 -KO = 8b86c8b2b4d219482210f7be4a365c82687779f3801708ef45ec3a6c660b85f237f4f2933641a9b41eebf0249e9084b4f7616899b49ee919ebb054ba9ec99855 - -COUNT=3 -L = 512 -KI = 55130cf0ed0009a2e1d2afeb66d708719bc5220987705516f57730a5b1d0e938d440a987348b102dc7781c8651f5510975a553276ff9cf1046b19cb7750d23bc -IVlen = 512 -IV = 92bb2bb7dd784aa1237287cd1f7359661a5ecda65736a866fa404654f70fd191298e24667d82168bba1f4c79925e03c3afd474ba42cf7e689f27df1ab163c43c -FixedInputDataByteLen = 51 -FixedInputData = d71dc10ef57a4d9a77552f9f51cd1d659f35fb1b0046a8a293e408fe60bff9a21fb4acb546b00c89c83d06cf7d2cb0ce7879d6 -KO = f954806e59eca080607496505d9a81b41eb26030065a338a49dbd92a96177f62e3b9ffb4c70a8d2cc4fae15508fdd0d94f444f4a6305e2995239a84520a8a3a3 - -COUNT=4 -L = 512 -KI = d0a26983f44a4e2cddaaa2351340878c53cb61265c9e1865290f3a55ece448d21cb5327ae22721939fe7459a56aed7e32eae11c6cb4d2c5dc3988f221a11b529 -IVlen = 512 -IV = 7151c53534d8d1ef6b7a9f2d74097d4c236e91a19835ef330ffd117a1a4998ed3bd830afeb4ba539cd2bea5e8d858de4bbb4c2bfb7ecb06beaf58a96ae6b811e -FixedInputDataByteLen = 51 -FixedInputData = e7dc8558c3ce44ced6b711b402e19f3129292357088e1a5d27bad0df11eadb471430317877a1462059754be42f79a0b3960912 -KO = 1071c75e354a2bee8d5535b7a3f084a94b893a4cffdf68fb83c21968acc360ee953e0eb7c83284cfcbd6d79ab0701f04121994ffbeea31fcd993966b83a87487 - -COUNT=5 -L = 512 -KI = c88dfed0ca25cccd607aaf228274abd9db9f2e2e7a64f7f319e9d149d87cf06f70b6bc2b42f4a3aa448582450d60f2ae92d01703953691f784fda8887ddb28fe -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = a3feeae30df2ea3b6cd6ca3c183952a4aa254049ef6325d5d7c3f3793a98738e3bb51537f8fbbfac4deee70b36b12334deca26 -KO = 1bd780bfa07b81699454cfa77f72a1dc514f193e126cef110075f91e97e2de7ec92e229cb0590cd1447714268e9a36d2f134cf52756620b6ee006c9fb71601bc - -COUNT=6 -L = 512 -KI = 8b6527a8020fdf051580ea3b61ce8ca005d7fa9208cf4f55062f120e3224b3282af71c7a8f3489b7b23bdb454bd860ab7544e7b16d79f7c7ceb87daa3aabab02 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e269d95f603c53bb69d49886698601f2edd889a6d2c7e0af7577e105c73e3efbf8d54e0794d50366d0f3923370413f04f6cb83 -KO = a2609ae646a1ddbbd9a9640c17715a83533f19b471261c9f4c6a1a54c0b3452d35876944ce834630d30cf89a58e31fb60df017eb7bf70e4c45f51da1e57b8702 - -COUNT=7 -L = 512 -KI = 87560ef51c07d46cf4d1951c85f7d2f992318de844b09a80997bbeaab65ddf77e8f50f373ac9281965b934ecc02d47a9cc2b4550fabe134a8e949edddfaba5f6 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f1aca4dfd4e6b74e9e4bee5ac102622a79cfc71573e1082f3ee6a947a167d798efcfa9158d515c0dabdbdb9f72041a1d10de77 -KO = 2f3e8cda47debe833a6a7c755ea739f0d50dfa8f680ff91179f4421143fe1e9b0a03f05b5a529a3b43e9f130b265b0477409c8e05c313fb16b0eaf86da2f16a0 - -COUNT=8 -L = 512 -KI = 90e6c990ceec38c0236fedb16cc3e00b9fed1cd1a272c4d5084b9dc06d8a393fdcaa380ef2524c672112b9b42f12436ab70a8908071e4b9a7f4b68769c63c747 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 654bde176b8ecbb25cf495f0849dd958eb4ec2e0f3441a8a85f450a88be07eeeadc0fc56cded35fe0e4631ad559caeb6d6e2b3 -KO = 495ae938c26ced396179e81c6521ac8b1fdb35c87b08ba5e7936760860cc4f9c1de977e3450913fb6ee353c5e5a11be84aabd2a9b18cf2700c88ea70141161c0 - -COUNT=9 -L = 512 -KI = 986ebb61e4feb643801c8c9dc474bdac736b0cf57e451bf5e583e763eafb46698f1adfee883cf5b1a052786ca2c271b63bf5d68f09022d93788fc4fb4855a330 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 138e80a7cc6fe9c6f4b2f7069f734d9b5c935517a9433434faba2421eb8cd279db96e11caf3eef83d98d5b6a759dea36b84b96 -KO = da59e5dd1b32911ebcc5d7ac8bec03a8359a5812cd32c6904d041e80a6db77d497735711b238b92d68a79fabf82dc57110ec1bc39aff9948ccb901c2f4a28c8d - -COUNT=10 -L = 2048 -KI = 12e0dd420b1aab67f5dbf2e18a9d56fcbc1c41aaaf0e916f793949b09f0d7b217a89d6871757a623fb54d145b16b8c3ba027240c5a965b4ae58556e5d759a4a4 -IVlen = 512 -IV = 482e120b4dc011cf665068840e4a22d4f34f4626c11dca124378ab55e2d170c6a104336c8669bd20500a80d96b7fe1c0537e3a40f154ca5565ff6ef751fef574 -FixedInputDataByteLen = 51 -FixedInputData = 45b41a33975757c4f5c05884d327e3598366a463c860e085ffe88a7bf32fac8a4f22b05c92b008daa4963090ceb0b40a60bb10 -KO = 3c7860f3a409540e0aa77477731c558a9169c7a16f740f04ce233272b0ddaa057243aa99315336fcc2cad4feee8ce11b4311a82222ac20a47901fa58982b85bc5fb7814e84d0847fa143d627ea6d91ec6498733e45e348a0eb4a88d871b71c225b9df6fb9c184f04f5389f928b872fe7c18a1483b7e86c1869bc40772d48984b9bfe56fc0e1d9673f3cd4c539a9b102f48260de48707d42f01eef87e3ff47610cb6c96777b34571696defd88e6e9808a0c7f773d75a9352292ca5d0073a87b3ded5bdeed2bcf848cb355c09f205876936bc7eaab9576ccac9b15bfa3438c1d0d877e5d6d7276585092b40e1a110dad7856e4cbfda104007dc170c14866a9d0ac - -COUNT=11 -L = 2048 -KI = 48d753e9f34d071697587be0f3050fa4c6654d7866952381ec8163aa9699639e0176c1afd2ec5d6430b1b7362a63953355eea54f0cae395ed0658bdf9b7147b6 -IVlen = 512 -IV = 1d43a8e89c67dde32c34374030696130aefbc745b30a5c479bfcc2c045a62a1cd420b99963a01b8bc7f1b8e4d73bbb7f3964e0d43135d01d3a2565a3adee2947 -FixedInputDataByteLen = 51 -FixedInputData = 784c70000d11e0819c4350723400d2369ddeef51ff712126c37f82735e3c007f02f8d7df2e930454f0ba3f07b4bb6f4f488193 -KO = d64e595c1d9dfdc55a1a5967ab2f2124c532cc359a6b79d429d8a56c5c54b0c9bba94a402d8bfdc7606b2deea503c918890ac8e3d7f8931b0822a28c4e3a329ffebfeeba3a4215d0d3a54f86c0a20e7233dd3017b4867f4907344c1a5a1d62ddadedf98312862ce67e3062d3e15d7fdcd2cf65ea6287fa898d452e933eca32c3eb3f9075c3835d155dfd998d62ecc72c926a742cfd7faf44a2ec2f5e0fa5147a54756c73b040b6ac5e78a9cf0c261db8f74f9ed938519bb0b0ed693d2b706f959204d0985ed42eb56e61794737978db16879f5ae0cde51fedb86a46791a3400614305617c96025eecd7a1d56817e37195516727c7bd91f3cd8e8ed246baf2d4d - -COUNT=12 -L = 2048 -KI = b9d0ff0a9758f493a511a78435d825046e838e5c24d7b83a9c190674a78d10b00af04dbcc015ca39951e0715fc8bd3dd04a2ffd4d4601ea58af26478f499ffeb -IVlen = 512 -IV = 8ef1057d7e0a2e5dcb93f30d4297ed33f90959b105492c6838115e9f3ac48bbb94bb422ec6f5daa1ea465f60f81093ee952380cca2ab03d9c84d01f1d74d3e87 -FixedInputDataByteLen = 51 -FixedInputData = a6524a5f0c7a4d1534cdeef637850a361e1db1fad85fba52ad248576388619d9bdac04b44c4fbc0de68a7768e75d387ec824f4 -KO = 522cdf6e6f00bd1e375d15ee0a8c35f7c09a12725d53e19d1e9a0d814d706285fe089eed09f6139837844b3b732af37bf257edeef2c5410addacd984ea0fce4a4592fa147bf344a9da8479f68c481e2e506729b9a4246830cf29de18d1af7c62ac5ae73c808a270192ed335beac0d973921bf725212ac1a12ec16c96895307a35ad0601ee98879de57f1770aa95ce4e3d024761d07232433d8c75363789c5724122e7e97dbfd4060cc777096ae5b7276559ab46f96f40c38b14f25592a048a17536a04f4804cccb6134c8df41f29ef32a1bae78f3b5b8d324b4a420aa8f2bd730b2104fffd619dbcb294dee98d0226a34864bc6e761e80917a6daa95b7bcd194 - -COUNT=13 -L = 2048 -KI = b5f834e7545956804ef0845e948b131402512766cd438d8d6c3139432eddfd71f4a22b1371a181600564ea691b589f9e008767ead412770ada2d8ef502454b2b -IVlen = 512 -IV = 0b83fb5d802ce987cf37a0901fecc798aed9838097c6dc4c148a864160cb20610a20a27508a6cc37eb27cdb5d2aca0b9b0d450cb2b1d713dc863703ee8fd5df9 -FixedInputDataByteLen = 51 -FixedInputData = 59719aed0fc0827a837d1214302bde8dd05d122c737fb360dbb736290388c62de9e6c37bad6200156866e6044133746f156365 -KO = 3a8964ce39d0c4015382438db215532929812dec2593818fcecc90410c54306d03b18fd33262c982e6968156fd0d6908098101dd8871c3989bd817afb15590dafc5f451aa1c1f8e99e56c9139fa939d204b8e2e55107dddb9f3e304efa83dc8c48326d9194fae1759afb9fa9d90a658302fd995806fcb1588185a6db177e1e5ca051e7b6e57f0604d10fac2f4e0d6572090f1db383e1d31c23386461e7903c2fbeb72a20177d1746d971e2ee8d14adae6444da6ca3bae2dfe45e8223e84126903290d8a2faf174e6d392c60551836d8f794bbb31354996598c4d63923bc0cfd9a30b2bf43e500ba9a452e8e1dac47abf2ae086f2e95838cc6a081bbb01c6008d - -COUNT=14 -L = 2048 -KI = 86ceb220e28c35c530db778a8f64bba9bca7147ee97650435942cbab6528472d10c90d85cd414cf0da732870f8c8598aede7bd6dbe2570f887272069cc261512 -IVlen = 512 -IV = ec113eee2e5f27668021f1b55ffc95af97fc448956744ac40baa3db176dd17f6f89ccbfcbd846cd25f4808ee1d53c10d920d07c68ef115308083256ecca0ff35 -FixedInputDataByteLen = 51 -FixedInputData = e558545f4c47a1622dd7687cd029d7a5eb32ea4dcdefab14f6fbeba52b08a3e1b18610eaff4231cf76363d94d76dbc6e1f284f -KO = 9b13c6f9c61fd86cdfb57e0b36857d9ad8a501f38eb06cca44034af9af3695886732c13b127d347bb6e6672b82c479820b9396a41f738e0c5baa8bdb2aeeb7f24b7dfa21065c59418799e1585b0e80e02b3384e74d805dc1d5067b7cffc563b5f36919e42e611f41c306f6b3e8e89c9b24d868f32380b3b1403122668b593e736d824cb96b5dea321673b3579e260e2b3eec0bea07a851ed8b687c18e44f4bd05a18791c66bc1f4df83ea02bb7b6189d250ffdfec4bf5b7c16d7d5dc0ece222c94fd8b2b39634bee441e1ad76a4559158a0ea18e0dc1c48bb3f8540cfb9825d39ba5442f41d6710001c375cedb8457766fa677f2d216272d429d4280e6a938fb - -COUNT=15 -L = 2048 -KI = 875825fbf432fc3f508582cff27025115009f74f641de119e53d7c94ff2c88e4104c2a919925a992e845bf49d0dd47fe75f140e622055fd9e1382c4c79e6b3ea -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c2bd26b9cc68a95dcb05ebdaef9d9eba009cc57b5751c68e34d54a7166045a117cb1d68e0f5fb0a6d258b8c9f6f5914c74b782 -KO = 768afce379f6e3acbb801899cab34e0b16133a0455950b71a5d98a62804d5cf87fd11eaee945fa48cc0f29cb077d726dbcda7624bff0d11d0d2b2de798469e0ebbc8555beb5c29044ccc9c09595188a9048ca85c59c2671d4e6c56a035bfd55ef6fff0c028d56720edfc27a64b6be7688e853afd2f0bba8102e176f17ddc15d5353d774f210083951f74edbc0fc4d6cf925c3f3375b9f1470a2d865110b4176ca62378cc8b426f0cc23a8bfdae93f0e38fe82e6582a106a4c5ab1fa5f8963ccd01916c4a36d7cf93266978f8489abcd4ab43be08cf372917d8425e6b1375c95d1eba632e7aca8d1f313994e8278e69fe280825b97d5b91988c22d55ec4145e6a - -COUNT=16 -L = 2048 -KI = 5f340034480e6a4058a8ddda4483f86d51d5dfe5da4fe170e27c7f8e4e2c9607cdc523bf01b33df921821688c4aeff3410caa35f25eb6c50297453bf3a29ddd8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 96db9892e65ebf42583824cafcbd6c6c80261cceb3274555822d87be9867ee55f19fcb27b9602b1c62585b8c892aa6a80082e8 -KO = 4e2bc7ccf7938f4506fa776c48b979dac67c48ebf5e2f986ae7392b922292e076f30474f98eddbc1032610d73a37dee9e2a561bfa8158fad111f16837b36f0e398426483441329176d3bbc858e9add3805d3fdc5c658cc5fd0cb09ce06953f60b0101e79ab2c66184de0ee357c54fbeba485781ddb445a4c93d4d8438ac6f0b78c12c6a9824935ffb88a43e94e5913b9293a64eccb012519c79f7326f75293717c66cdf19d6a9f2b7a9e60fdbec5fb50cd8384c49ebd5d8717693874705355eed3c611e7999215eb504f20ba0e7dd6d24729e1d9b1ff861cbe4fb18c6e9805899dcb1ab69b892c55b865a25c724652996b952d95aa1567eb4f739ec4aae38aa5 - -COUNT=17 -L = 2048 -KI = fdc3b1d1c0cc94ba2db246c54ebbda170abbd9b64ee0783594bf85552ee65520b9d8ddf599720b36861042caccc53331e7f9384f28ebfccc45dbc1bc0943e43b -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 472687fc5552fc66dc0e0c31d57ef36cf042737a8ce8351cc937f77cba0fc1573b9ef2dd3760dd783a404d18b3fd12f43d0e12 -KO = 9d401532b5fef238079f9fb972c30d0a3ad65449594cf831630bd7abac243f815e5ae8c9f016dfc4adacb03fa1f256f8bf6f9931adfbbbbbd41d702461d9d84cdc604d463a4240922147d00e006eabcb09c4e46f95cd09ee36c2ade9c1affac3ac76b9cf599e093660da57c941901f85d857c201f014835d4a8ec9ab95d888e02e6762f67a8273a77f2b2d838fff60671f586903a0c9085eb09eb688519b06036146cf44e2bca9a4b1cf5b49fdd201134c9fc9c9ef0efcc9d32a84477bebe3d3a703127f0a46cafddcf3b7cf56cc71a69cf00dca3e51ca836a7e390cba627260b256c27de8eeedb5772dfb1fc9c34d8f2fe4b72bf76b78186c02045e2e3c7822 - -COUNT=18 -L = 2048 -KI = 34a10437afb5f2d3607d0cdee9332595a0c1d810f085661f2764b14be7eae4dbaac5e5f738cd8535a60d20727741d640a39bd2b769041b2ba76ec5a411bf5d0c -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = e982c863532e030bd780a4fb28aebdc24398edae3fcf7aafbb0bca7545087723128d9994f3cd3b089807d816473fe34428c4d9 -KO = 0e3a1b429e125c51055a819880e5873ba8b06e85612f4440caa7bc9febadf6a6c8cf0c443360242fcd70b894a67a24289ac8481b6b8912ae6976ddf0ecf7719dac80c4a502edc70abd8b57437034cf5d0e04c1e12ddff0f5e6ae1e477765eee3322076b9c8c4057ea74c278df0dd7ea34b292736c086e19db6d9762a92299925f2e2ed67f3878b245c2003b7172f2fd287b42cf75540c6a2f4ac1c9f45ad9880af07942c44f4cd0ab8c2c0d55e5ff1c1a9b3097aa2013ae84059365a2e7c45a41ccaf8dec7ba5b9bf4a00bb9448ba0a6af519fa2753bf3cc1cd0dbdbb1e11cc0c41fb6bb7908a02c0e00cebf73b457e37a85780147ebaba09400394485f6e16e - -COUNT=19 -L = 2048 -KI = 46c0d3e513e52ba5f7480e25f2e34b04e870cf568f18afb33b34fb0901f723f7959572fe12e869560729eaa7d803cf3f204d809014779dcb95f3e467794e5feb -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 130246bb31f1cba0c63397ab0819049c68a07dd5682212721fb7c4f305584482300b611b299c318fa9dc3e0d78412b75f91618 -KO = 10d1bc06f0fc5c990ec9923d5813ecaa86417dcb6e02e7e640808b16c4d1a1968e227dffd28c649c4438116766d97386f4cb7a2d5d487529372a5ef8396dcf7f05102efcddaf857f3b4175968709a4cf57abc32337aeeb0af0afbbdfb6c876bdd3b2f431ad0be759b7d80813e9ea4ecc750604a78c5b179d8a599ea3502caf6be53d41568479628dff5c24c0160a2e7a82a98c48eda70a95c91138b55b1ec6c3cf967bb5f96f226fe8411e15239be2dd71f22a868533731cce215b2a32896603e8ce3506e15e9147c5a3d013a4fa11b8fe014cb2f9d89b6bcf5d308ecb432fe0578831246026ddd2474c3916270bf4e8d77595c3669bb6c51fb8e0c6f2351eae - -COUNT=20 -L = 528 -KI = 79b78b3952d08f4ed7bb3285279047e15b979007ed3323996e383cf226fad16f73ba151d593185e356b11b3bd513339e82ef5ba1e4253ff315a635cbcc34dea2 -IVlen = 512 -IV = 987c0364f50ad61784bb3a5aae4aa153558682233d60ce753ccb6c37b441efafe3dd328a021f07e68c4cfbcfdbe40a86ebcf827d2f76115796f778603e3a7b94 -FixedInputDataByteLen = 51 -FixedInputData = 92bd03aebea0d7935834f0b42a2c2652a6d9559858215fcebbce11052d0438a2ee60ebe2e00060a230777d2e2035220d1cee66 -KO = a26f75cd889c2622358d16ccf78213f0fb9c0b59abf820ac4b295b3d6d9df5a3f7ecc4f50cd0b3a7d1b89e4a9d071398de09148bc73b0ad7caf4da44c2d30e8ac531 - -COUNT=21 -L = 528 -KI = ef2e2abdde667c29314fac0e1891c43b774ed05b0c5410c7dd0481a0ccd75125105851d97785adade130b214dcb1b1334cdc15e78bab652b64e72724bd98ac97 -IVlen = 512 -IV = 97e5049da7ab8f617c24c34480aa02acbc791d0b3773349735080eff6be06ae6ad3a5512039749cc1497148260c0715a93e7fa13942d944c5a9d0e57a8b83dc0 -FixedInputDataByteLen = 51 -FixedInputData = 605c4b8b47ec47effede4589ba45d40a63b82d07511aa61414190cd79b02fb8c7bb84f20da0b6fa58ca1ae1c6542ff9cc6ab9c -KO = cecf00ccd0b029c73d09ac3e7edd81c29b83f246fe0b78e2aeab76fe7c998bbe1f3b187a7b1fd10479f1d300c913fae48e8d22d4edcecbf2aa5e44452deddb27ab1d - -COUNT=22 -L = 528 -KI = 5e412de33428a33927769f86cfe4d16aec31c495b9df7cd0570fccec3a99fe693b5754d15f25f353443cb3f79802fdce4465801541ab85e1dbb1b89802d01e6b -IVlen = 512 -IV = 616dad352bc040e8b9d422501d5c6d4fd3ac09e26015600c05e43dae428ed75c7bd34d7a6274346677e8aed78216c3b4c1801a7c9e94f2f330971025c7838979 -FixedInputDataByteLen = 51 -FixedInputData = d9c85d3a1dfc6e99b2307e935d4a1ff3fbf97c1d81c8eb6d4db9d9986002ef4298ac9016871188087059c6e1c07149d2b87920 -KO = 6b29fa0f1840e9d15f00cabfe114467d60b31cddeefd1d3d41bc3f5b0ec6ff1d47f53bc11bd9232d24abdaddfea7002c02fb69f09391b2c15a57b36ee9ca61618883 - -COUNT=23 -L = 528 -KI = f7536bc4625b3c4234ca6d854667c5cd12cbc13f3fae2afd5906e9f87cebd7fecb3c0f393a6e7aa2b1ae1a48e1decf498d65a5042a42fd153bf277eb226da6f2 -IVlen = 512 -IV = c0cbfdb315f66ae46e0e85a360089cfdc8e4e4a58ecb210df9985596b7b262535d3a6f359b2c86f87bf17bc69ac8a2d798b28e22d48fc82b9615aafab6d8e46c -FixedInputDataByteLen = 51 -FixedInputData = 70c97af89b1fb90db639aa4d42aa1a85890994fcadff5747106f43ebf7eb2f41e10726fd4dcda28fd18124a3a7f8e97e4fb6f8 -KO = adf8493ac3f1db89c29b95e7c67c4f433e4495d1eac080a827e3d9378c031ce46e0212c4de613f823792cacbc3c076e05a0b42962b1ba519741752a9b685b0fe267e - -COUNT=24 -L = 528 -KI = 323e64db727f928661ac37ef1f9bb10627b654e92dc325a2a212c21fbb2dca853bcffa7366e6b53d3492bda513a1988964400270caf9ec634edbc9c5275feb9a -IVlen = 512 -IV = a813f92c289eb8f5519857197a892daa0fe0e65092dff0834d471548bfdce24381545da122f4f4fdd70bca71bd24ef28e5d9cda91d194c71744d2871fa36746d -FixedInputDataByteLen = 51 -FixedInputData = 48124e83dc1f63cf92e7f15b6de8acf3d26cb2d0fd7e6124bacf83043dfbeb8b41632e594d636d1249d581a3ba906935546ff7 -KO = 30caa538998948830ad1014149c838b0b78af10e3297f891156d087a10bc647d1c575e10c3a2a76d75ce32469648edbc5fe32be50c1f7881e788dc7c82c1e2818380 - -COUNT=25 -L = 528 -KI = 3701eb24cdb9eb4eb174165474d585abc030debde2176835bac8fb27d9379f341d180fe8bacf31f71f49e73de8d3fad200fded567dc0f666627b138532d3ccb9 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 70474a19af2d07f5f78f055c51e15ca81bcb18821cc4199b3a3b8cc5b63055f8ad87caed6bb24ee523ca28b42ba04f96476977 -KO = e945ae911af30a49f48af9732e36da4af077296384e2061b5ee51e2d2bf5165185958e8c540f4a65fdb277a1b681cbb63fa27cf4510f300cc5298379e4fce2d10371 - -COUNT=26 -L = 528 -KI = abfff3bc703a5e8c665dfbdadac7727d9c73b4e3b5bcf4e1e3bff522c9186e62a35e6953fca4a775db20ceb631aed61a7a69bc3fdaee6f30340d1da920fd0ac8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = f360ff96815ecd02163861e8955921a6359936ec2254a7c542af8c06f2ecef0c4c323bdd7f37700e01ea4d105a37aa50404587 -KO = 72dedf0d504585ea1e46b643438681d1173548e130cad2118799434bf154e8bd155990ba2466294d753975570b277852253465010734b41178c3578bd3f10ce274e4 - -COUNT=27 -L = 528 -KI = 6f7152db4f88fcd704607c1d03adc6aa379d7114bec8bfe6897d391cc42ca79b43652c3f1261a391b8f0731ca40d060b2009c21799d6a8334f5f1f58e1ed0902 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 53298cdd674dd5a97afa9685ed11b3d26bf67d983e98213ab41a4c7cd7d534ed2ef99b37c79d2b0b854ab4d587b581ec177188 -KO = dfed572a37ea65ac115e426ae3930ba4aec6cd63ef14ea0bad9623e8a02abaa33ceb90de168f1620a4df9047919a05f0964e3d42ce6a1058eba4aff24c1cbb19ded0 - -COUNT=28 -L = 528 -KI = dab77373466171c687322f91b62af1ef6d37f5bd0f01025c718a8775d2a4e9a7e47680ff347c1a31b2df8cac003ebf2bcbcfdaee1d28afc15d7682e8b13a5114 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c783706d1fcf6f7c8dda606bd71bbef2c4f0387714482cb62563a0507db8ed589cb2c5e335b06c23517ca5604b846e4dbe6d5b -KO = a2d79184db56049ffe8ebd7990c529306ac936f471edabd2da5191cdf3ca03ce860ff69004bbabefe89a9381fc73b8d9d5f4e8a37bc9e82f2f1f38b4e5084b114f20 - -COUNT=29 -L = 528 -KI = 3f8d122189566ec4248dd452f2dfd200ee7ff2d08eca80bc108d0540a09dc0393d9972f6cdd7473d50418e45964270ebc46dd471ed73522008ced8e2ac3336c4 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5197d4b89f6f9eb5f739af36d03b4a5bf63faf7cb9093aa51bfd69accfb7ee8ba3fbf0fd940c253da3f458223f22a4c9dad49a -KO = f5084720bf884d51519abc255ddd5d1389a2d558251328975c0aa3b634dd4ede2a1af91731a41104f966965e663e3911bb80b776220834506f000c229ee365eda1bb - -COUNT=30 -L = 2064 -KI = b059cefb9aa25bc9f44889eed85aef37973bcfa0703f3e4ad1adaeda2d14b2e971b93d5abc10885251100d96e324a73fffd72e94871b9201ea2fd36ee0aede3d -IVlen = 512 -IV = 62cdd89ec17155655fe3ef9b4d6b58760877d30c54827aac6bb8867341e5f067b015259c57e9fac6990820e2a3852e8522f03099646a5b3355356716e4514e9c -FixedInputDataByteLen = 51 -FixedInputData = 60c08969d798e18413b6e176b721d28b45350858e8f3182d90258ff9d332280eb1cea3aebcc5d80cacc14294988a40fb29d2a0 -KO = 6ffd97f6f82255b0158c707a9e9418962bba6e93b3df13184b4a803db57bfddb9285ea6d789b892852aa02e14922de5839754581a2d7831d01b9ea6c69fa58a2df2d82426031b3872330d93aa70fc1fbcdfb5bfa704def15d5492c3ed9f042a326b6cc6ac5b07f3f2cb72c4c9c026548ef73c31fb00bf8d40249320bd73d20b332d27966b082a9db9fe671f92c1469305b0df0da5a4436f6cd1ecf761f7ff26c6799aefcbd7b6ea1e6dcfcf367edd2b2f00f952baeb206e71670dc60464928d9baab59f940a11531224e1e55ca5765f0a9b9e4ffd46b9415f61aff2e9d6eeafc02994b493272157e8d9c5da8728436c2a1c2e36b97c95359e0eb07c2f74094f0a239 - -COUNT=31 -L = 2064 -KI = 38ede641cbb9e275d724d2d67166100abf0401cd798604ed47cb197b7afe426cea5ae9843ca10e9e12900dfb747f843b4335909d56f1c1945b69f47cb5cc216c -IVlen = 512 -IV = 44187122e276d7d67c1453e35ef55806e682df68a801f6576cffbab4e81f8eb7538521718853fc574a95985fdd95f08d0f0952aff3af3b45495e62ce10d66491 -FixedInputDataByteLen = 51 -FixedInputData = 6cdd9e8315189655fd49b2d788f5b73f26a82d87707f90d7bc7715ec9bf89339501b627263c7384d11837de9b767719850e669 -KO = 50c55ad099e5b4c26fcac676d15d129650980a6fca1f2ab31cf6948523a77f71cb4a29aae34d50dd753b7147676e68df21e191c64b063c18c45d090b0ee5c9429e376c7e91b09ae9f52f4e6637806ba12bf9425dd70dd03004325646345e79ac52111cc3dcde2eb6ef2cef542e4b44a274cbc4f6171e00065e34d922a8d70e13b62564263ba2a3c70fc69d4bd0f2468175ed338cccc217bb6f3145be35ffde3ee83c48a1845c65033ed770e5f41350d3b4d5417ed6f0574907d21671ca0db558b12849fa0232088a8fdbb6c4b474238cee5a28800f2f530d493034f3d86f145435991f9fcae5f8bf03aa09cdefcefb25af9806436ec1b76dbf087e4e1324a083cb66 - -COUNT=32 -L = 2064 -KI = 99bcc8968637c76892c58f94ea2a172f3617d17a6a1821603731f86fd5f6e17c242f4b7aeab2e4cb130620bfa91d8bc3eec22c864734b5262081b5acbde50b6e -IVlen = 512 -IV = 1041188063fead0bbbf9705fc6f1b0775fedd58bb952b3bff5e933a84fcc5fd9117cdf1f792cf03b2fcc2f94cf04f4f4c0b63c8c12acce8a0e846a71489920d5 -FixedInputDataByteLen = 51 -FixedInputData = 483a9ff985e7b1b34fcbe808a10627f4d40b1f19b75618f9a0ce6e0d7a337efd32990f9ec2c282339ab8a9d42eb86da09a6bdb -KO = 7390cc4a32c5c626d25239c47cd693e4b6bb5bdd9c5fe3edcc384e3429db5afad63507006764cf86c1356a8d312a59d64470beb0d98d6e04a2f8904637a49786040dda7098e0a6b9ec123e7f5e5c2e0cf3fc37a2e01dafc2e4a325b06fa3cf5b9864c86a7d41bca323bab78eeca54069b7f954ff51485c3275220313b35b0a910a94a347f2f25938432897a87ebe4e2d294d1f79d433e41d27e140a258c8340a64806e273f5921cfc99aa238a61b5b94e2719cf449526d1bf676aed9a3df2e346c1c197872ce32d431665b1a98f300efe6467f769f8b8b2904b98ea918d3660832ad04a2b21ced7933ea7ef79cb8c278c6bddcf723b6bbf83270dd107618e6eafac4 - -COUNT=33 -L = 2064 -KI = b16c38ec73cd9a52fe8fdfe534795b5b1593188f8127444a961bd8ddfeb4cd760ac2a34a2bb96a5f60f13458cf41873911a455a0a3e18c958f77f59fc6c7c74d -IVlen = 512 -IV = a7ae5c076243cbe932669140ec19eb8a790d94d035934d8b40e5fddf8f64d52b3be2d700c600161a8ebacabea65464d3c641ef57f0a34cbc4b04a095650eeea7 -FixedInputDataByteLen = 51 -FixedInputData = 610a74f20782281fdf125323943a88947ba618240162d29100850d85cdb74088b23b6298cd997dbe8fca61d5d55dee89c4ae89 -KO = 7239142c5c2993d12e21bf98f0faccd5cd32e452c740e5a4e8ec23109409eb3bb8df7485ba8b10cd7e44c6e988649d858ae33f623f1f4ed914a152915dd9a217fa5eec643da3e07f8bf747d08a06d32f34e8e2c4403ffe119c39531f6e943b2f98b112925c95a02282eb1bc9517871fc8c2dcf16d2927e01fe26b55eff2fe74ec1fc3e5ccfd71931f1d5b9d306682b4e9f493b7ea6bc66ed7cdcbc82d4ec76c0dd3dd9b07af6b8737103608cf1d57f4ab71eb2d58a63b38b200ce061004f3e5119725a8dde042da831ff51492484ee33da802bc8c906becdb685b9fd4f027010d0b0f198f98a976a8f863c25f66cbe0d7858b30d587bd39c1c7832a132997cc488d4 - -COUNT=34 -L = 2064 -KI = 1cb157fa966168e1f84d5a0a8acbdb64d563376dfc518d7caa923d430430fdaf5d8e571242df74ce11834502eee482f4ee86e99380bc50ccacad5c2075014bb3 -IVlen = 512 -IV = 8243a427d4c12ffe562863d0b34752747ca00c0c49d64e533b92751af332603af293c486dbc09d8a4ef752b558122766b82118a8863fe02c742eb33ee311777d -FixedInputDataByteLen = 51 -FixedInputData = 5814958830fdd9ae4e04defc2901f5ff0672d2211968a3e48e2edabe397fdc6fd01575cbbd74bb4196ab22b5843185c7c0dd25 -KO = 8239c79edca4b205e3064a173449de0f99319721f7179e8dbea48819e16aadbc991d66b94afc2118b67d496ed756cc56dfd20c7057967b545a65ba6efba93b07b9f824a7292fe54e0124d2606a7c4bae89cde8260b7bae9da4677cf45dcc46a70881db7870a67c4af5034683b3a17c68be98753fbb760bfc3de5194d08a82228fa34fa5516c317f66eeb2b19b97c2e1db856b31b7f892990a6783875a864eb18b617fb2de0aa5a5fde629a1c4c31d72996036fad24e55eabdacc7454a9c792028336508c3bcab966c31d3d1f5e3be90c56f9aadfd1b32717e27cedca9715e9be8e1d138b3d48ae7b842e7ae924a7284b36c13de26f4991fa8afcd9ab0a99431c3fa9 - -COUNT=35 -L = 2064 -KI = b079be491be1b34dc6b4ab05058e3ff42c1aa72a11e8497d58579cd1803935742f2754cceb8a3da5fe4e461720daad875fa37a9fa7773683bdda39101cb1f024 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = c0b78daa73143c81381152af2a08c296c59a5c664d52b888dd44bf008d3f064fc4e157cb0127f5f00e2a217a32577f2ace2bba -KO = 9014b4684fb0ebb5650771fb722219a0de75bf4ca8d81a99348a9bfba15344fdb29bd50863daed75b0313859007efe29184472e98a9f49954c798a8b164f8e8be1046d1ddb3e0624fc875f3cc0eee651632c28da13945efe3bc752f6c6b273a3d7c6919994a6604ac641582a810b1faa995435116aa7dc86af23c304a90fa9996d7fb2d69de1bcf6c32db8e67d781f1c01f66e2f823a1f3fe30d42344f3e9044e06afce6a983be22750567885e7ccfcb574796de9cfa9249924affdce6a02484f98eefe34bdc66dcdaeb2be2aac5a8a1055a7120228058ffc30a55d386d43727c811c6d450ceee82212967ce338607ed69dfa115d758fe153a4d4419a21d330ea06b - -COUNT=36 -L = 2064 -KI = eafbc54b456744743ac018dca55af2a853a2ae837ecd45f34c5dcee40d774bbd50ece6c9479018912a5f9abece542e0eb09ac83300230cfb24e5d3409f152498 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1b24cf1e9de395ac68050889829942cdd0871f20446efdbeb70f0eef761ae60945aa800dbd0ae1b7f2742441566a300920da12 -KO = 6161252301f7d071aa51cbf96038a5437173363d44abab3d1a43295efa805220deb7f5683b24286d41a6e717823970c60e80a0213ffb3a0f5447132d1c122c7d76aeedac33551a58726e97fd13c5c0f72186a372d52de1452a8ea68e768cc8c46b084c41dfb59220144ec77b34621f4fb2fec945665cc314cb382c9503fb2614afa84f078f1d96c02b148e699e6d6aa69f8ac2937d38c2fe34e127c1f792d7e174a44d82813abbcb20781ebd9e72152df1c5acab5be532f2c6990de1aee547f9b78942750ed4556c3d650e9f405140fbdd7aebff934c3e062f269f4d4ceb4e816b96b3aaaca131534caed86150b66f8c762fed94af8567643f50284a5a73d286dac1 - -COUNT=37 -L = 2064 -KI = 7385b107ce7a7f681117f76775ae5e93a15ec9ce1ed1c98942c2c52af9c1794f6c4730bb361e6ce4e1bc23d865678f9d7df01935753fcad9d0944ce8a725edf8 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 23beffa5d55362aaeb8186cf1aef46083c618d0269ec90726666de5b8c52e4a96e17f4fd552435d5e3e5ab929c825849bcc0e6 -KO = 5fdc297e669d3620653aa5aa160690170578e546f06aa6cc186e566e5b75871ac273e200b929178ab8b1e073c5f180cdcc7c9ca60dda13fc1b21ccbdf1837fdca5cc3be004e6df8c77a1079f916be7749192403ce30bfbc7cb0ec8ee0afe078eb66d9d861be9be60c98800f4334d5ac705cc96d1b4e64f8a550c48bfc9d90d5800a98ab606e93f92ab5734091c0c6f6366224d1a54ffa9c68ef2d27b0e3cc53e5beb0547db77138f8cc0de00f21f3adc0eb03c88535b0c5c2d31d707581e44d0745b126a5dbdbb96736b41bdd0b9fa22bf507f91f54dce6841c320d65b6c205d01a2292c1b59c766b23d8d2ccc51f98619a0814ae6547beb354742acf019e1d228af - -COUNT=38 -L = 2064 -KI = 28b94416ebc96479428953657f6f68776589faa200308099614f21d54fd4369003cd31e48f1597e3bbe8114ec5fbd81759c0cf03e734f98399f3d300f9995bef -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 5d828052f2f789919303a864328a6e1546d3e28bbdd1c420a601b5b7afdf29f13f180a52420cd588f7237f3bdee7625064403f -KO = a53dfe08ed9cfd2a778c3a2272987a0e31b3af84a374ce8240ddd5b7d83557ac8899ed5b6dd8aa49d32a5c7777ae1fd5f0b95266506bcc613b8e1cd38c9b92b2d20b548d34854e78f30f951567ac67121596ba2afde93e3261e46419e1319d2c81e16a157d6adefddce5403bd4a0479a5554b1a93be8d93326b42503136b9f7a14f7b55cf5d1d3b32618677287bf1aacc2dfa0fd4cff0a4bbbced0ff525518fd8a13b8ca80ae027581cd97ff023331faa3d0f07d08c28165d1b9fa84e1e528c6a7af3f9622d177a112dcfe6dfbb5c057f90772846441521eb912479e0c180ecd33c07a05cc7a53e5ede9f4b3d09badb6ea0bbf276db28dd2275c1101684d4e07e0a0 - -COUNT=39 -L = 2064 -KI = 91cce7832e1caf170f6961b6b65805c4cb487f719819a2343149040cf9d88d09d112db117c97dea0e15d7c0fa03727082c0909f420a10b9b082958ecb9ad3d21 -IVlen = 0 -IV = -FixedInputDataByteLen = 51 -FixedInputData = 1a20ea91b6104c8d36b0353d7a2880c1e167b572857b78204e9206cb6ea06cace3555e87442debbc780f94f223c22a5819568a -KO = 819fe4adc7d6e06ec9700e4ba19291b9b2dd7c76b6ee85f3eec5f2bc5928311596a4a316875555a0ec467636122b3629d2f5ca092dbf620423c5650fc1a18a8b2cb1ffc8a1845751a5329a0d1a2a22119a1e129bb5c86d4c92cd6a189513ea8ea615b64e94fddfe2c79b3c50884454c7153103aba3af59cbb3ab35719e3291bb296bdce9d0a7d3f8a1c08cf68e5b74f556f3a389d89b5a55142b023bb0bde0899d3ed55f710a1bc0bc934aa736280fcdc90408417129fb0c57413b955ea8d919d59b3566a00edf54ff9d825c24d18f2fc6622ae0273982394953e45912f0967d6a398c446d8d9af7dd4048683ffd3415c318efe2a7f21a975cda34f84940c7c4995a - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoIV_gen.rsp b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoIV_gen.rsp deleted file mode 100644 index 85f64ae02..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/cavp/KDFFeedbackNoIV_gen.rsp +++ /dev/null @@ -1,43689 +0,0 @@ -# CAVS 12.0 -# "SP800-108 - KDF" information for "FeedbackNOzeroiv" -# KDF Mode Supported: Feedback Mode -# Location of counter tested: (Before Iteration Variable Data) (After Iteration Variable Data) (After Fixed Input Data) -# Length(s) of binary representation of counter i (r) tested: 8 16 24 32 -# Zero length IV not supported by IUT -# PRFs tested: CMAC with key sizes: AES128 AES192 AES256 TDES2 TDES3 HMAC with key sizes: SHA1 SHA224 SHA256 SHA384 SHA512 -# Generated on Tue Mar 20 16:13:36 2012 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 6874c099a14942d5bcd823183a4ceb9c -IVlen = 128 -IV = 4ab31c84730527fbf008e446501bb26a -FixedInputDataByteLen = 51 -FixedInputData = 0909d62821ec989fe16d6d77358126d272fff3e2dc4795c5a9421bee65be679b9f651668fdbc2c13d2ef4932f8830b56e5e1e0 -KO = 265062a5de896edbfc0d071bdfb6dfd18901f3786cee3c401e53c198e80e78bab17c7049c723d4cd9d334952509c44d7e7bc16627a1e7177b80157a3c56ac21b - -COUNT=1 -L = 512 -KI = 0e6de3fe7d7560d085257154f5617b25 -IVlen = 128 -IV = ca627bfc9a3a4994fe20dc6be86431b0 -FixedInputDataByteLen = 51 -FixedInputData = ab372f0f8bc404167459c3b1ba63a18283e9287d9cf52cc0578b70b8e4bb9e60b032730cf6f5fda948c8f9ffb27d3eb3e1c2bc -KO = a57a7d5f269f548cbb4638f810869dec9006047625819269268e4d8752076da4183399fb491934dea972c373cf75bfdfe0bf8daa30741a16409c3174129252a7 - -COUNT=2 -L = 512 -KI = 8e587ee570e2b1a0e7506d3c24ee54ca -IVlen = 128 -IV = 42850eca90c65be55f5a84d0ae52ac03 -FixedInputDataByteLen = 51 -FixedInputData = 0d5fb43227483aba9bdd0a20a7f79dd69c7ea2a44e87f1072d2e475f323077c9aafc55390c2753f94cef93d563e5659b482183 -KO = c5f80c04f5bfcdfdd675e5fcba025a468c31c83e6248be273b42b74aab0a90c572423e2971c656fb6b2e10a1777e381b9f35ae2131322313f2b1f8a831534c6c - -COUNT=3 -L = 512 -KI = 633da6564ebfd36e544e1f38dcdba5af -IVlen = 128 -IV = 99f2f6747f6fbaae5a2aecac68c2ad8d -FixedInputDataByteLen = 51 -FixedInputData = e64724b490b86b5c26080f1235d6241bc0ed1d804dff0f994bd5f434d832a3d2674cb0cc7a3c9998cda0ec73a293fa2e15fdb9 -KO = 0e6f742b295bfcf12b0b6ae7a940f7b406e811a205ddf92e82af5a848ceb6be87651ad3c383cb86a7275b6f7e52360cf434db375ea1a9447e1b2a9e38d0fe9fa - -COUNT=4 -L = 512 -KI = 89b09c39143e614ef2d740b0edca49be -IVlen = 128 -IV = 89e728ff6cf8f25c9d05eafbbad60f7a -FixedInputDataByteLen = 51 -FixedInputData = 8333960ed9bb9d8285a873d74e291964d1177ed51a61e20e10059357afb86d0c3acf75b2b1ba6a6c5bf1ae860e7e74ad338128 -KO = 08b9841d92930c45cd0247f481ae69a641a624e1dfc116f0d057ec1bc50f069342ca000aea40a15d2d9cba7f5e596c9e9660cf35472f5c4d539da8ce0ec7c2ca - -COUNT=5 -L = 512 -KI = 8befa4479e70c90465d2ad16d4dac5dc -IVlen = 128 -IV = 33cb86163997621a569695307a03f62d -FixedInputDataByteLen = 51 -FixedInputData = 700475d191e763ccae9f61921b51f0ce676eeea39027221a3114c8cdef936cb4e5bede4af7db639eba3ef311181b3501a452d8 -KO = 950fd06d46b974fbc6a4e96a3e016843054fc8f912d12af0d7037d43f3867a67b8d76dd765932f7a1bd9018a65de0b3690c5eed5c9dadeb86862696da83004b2 - -COUNT=6 -L = 512 -KI = 9e11ce3b7e2b0bf9616450f2deb0ee60 -IVlen = 128 -IV = 06f5930b3b119c559187a3f76f3bd2fe -FixedInputDataByteLen = 51 -FixedInputData = ff8fb6fb109c395526ab411f5091536f4e5f6c6d3214061e02410155dd6ff1430f804b27532ef088c33a7125308faa13cd8229 -KO = bf2d7a0ef112f58191c755f2e00b36095c97b5a284dd76fd8ae18011c3029e4b6104d74b772b8c0fb54f3b23c5aee97fe22d945a3036ca8e351d1f065576c5e2 - -COUNT=7 -L = 512 -KI = 5e56642ba7917de41964d679dab83813 -IVlen = 128 -IV = de315ee3bbf5b164126e7ce06ebebdc4 -FixedInputDataByteLen = 51 -FixedInputData = 3b44a415730e336ecb08e433daebd412e8a79517c4f9add2f4d8981ad583f23c0a8c66f7ba0f647cf79f465403b056e75b2163 -KO = c0e016cc16457162d04c29f69458612a9416ea9ef73a31fa5b7b590b08c3b7524067d94bdbba08a2c7a928236976c83f45f93913f7bbfc820479e49ce812a5fa - -COUNT=8 -L = 512 -KI = 2b3572c812f2ebccd5ca540140db1f60 -IVlen = 128 -IV = bfa5464f8648458833225b73e3555dce -FixedInputDataByteLen = 51 -FixedInputData = 9ceee12ab0ce3d35d80feb1b7c6ffebc79e81b02844e0b447d91005ac235226ad9da6bff52b423c1f263c7c5a3971e7362fee1 -KO = 59d1b79dc25c9d754303ec71304abec836b39dc5f471444304a19a6cd502bbac17bee05340617892f42e4839be329fcf31da76065c6f4ba86e66c5f83a3d89fd - -COUNT=9 -L = 512 -KI = e586dd787594e27ad1cb19a27a6f1bef -IVlen = 128 -IV = 1e5eced907582293a874e2a5b249108b -FixedInputDataByteLen = 51 -FixedInputData = 141d0bb307c091a407afc93d786ec9d88b3b775386a5adfcb421f4a2a22fee4ac1b411bcdf9f1df3b692329e0587bd99b792c6 -KO = dcb6e06f6b4869622d2f24e4a434ec041d904b4e92d7b3be446efd3dc0200203ecf304f22633b6a3158d8274043dfe6a98a122f958a910211fe2bb6a026d8941 - -COUNT=10 -L = 2048 -KI = 94b90005f47e05bfd51f0e235550c85f -IVlen = 128 -IV = 8710b0a8e5c039efa3bc97ebaecc11c2 -FixedInputDataByteLen = 51 -FixedInputData = 568365688c84574aa24dbf49e0496f1b6ed1d7d42c2595e29236e2a0244581fa9c9c71762941223f7a270b1b3340edf4a5af0a -KO = 5f72539917f7f611617dc813fd991037c2b995a488b406be5b5b0426912f29acd6b7ca2d20a39f0d12dc49944d305cb7c96aa70fa7e67df6184f3f24df8931a72240f7dfd0279ff3c6c172edb818c3c2d1248fef4cf6f11ec1a215fc570c38e9f63dd627c703ff6dcbe6f6092af94732e8df04a0ff2ac4142757552416a8fcbe877d84b6f6acb0a8f899ec318203aacf52f71acb4b5f73ed338878f0001cd702b3a4885d944081ab889a457551007c55f69367b7b9474e463ab86c9f3aed02b61a0d095569868b17318fe25e2db90ddf0a5721d9df6bdbe7074114d54507b61bf32d890c1b011e5bb7dbc71768c3f9d796ec543b83def135cd9dd63ba5de5ba0 - -COUNT=11 -L = 2048 -KI = 957340b6b49caf1c39174f65ffe5dcf2 -IVlen = 128 -IV = b2eff97ae802792ed5169f6aaa5b5f36 -FixedInputDataByteLen = 51 -FixedInputData = faba2c9f121aa09d2e10da9d42c03c668f63d1bffe7eba9a3a525b38018c000e77f029f91c29a1ec9c0e8b54c223e71bb94e45 -KO = 3b97a8bbac13da1061ba862beec1c9dd0ca9db1d20aa21d83dfae220727bc9e3b2f29488c3df4733e1ecf3c0e1bc3287a68c57b2e0462c1d02af6191d5ca18082405e377b5c8cbcec9331e33086d0bc5bacf48f324762922d9a2f116e2c4d9960f93422cac4a87e953d6eb74795dda6bee7563aa4bc98e8ab6d6378bd5abd1d6bdd363032a2aa0a1d6fed25d3d19d0fd7c4c4e8902f07358af93f9dbef9c0cd739d6375a5b3d3d68f7845977e437889b1331e192f7f9739c62fb8be39bf289dd757464f7c2cb35d38c7ed53465858b965911ade43eac310c04e429b6e49e752b8091785932b9cdece56bed0c6392c3615faf599e1f219f90421024909f9ba3c5 - -COUNT=12 -L = 2048 -KI = 1901419ee6849a5a86cab1918e28393a -IVlen = 128 -IV = 962d634bd6ee975e9459f040f5630041 -FixedInputDataByteLen = 51 -FixedInputData = fef415899afe67cb1779646e6ab9dded9b0170281fe86a9271ae403b8cd68250a5a918cacbaffab9b28487852c23f105aa9afd -KO = e4ccd010edd970c20351e430d664b0366371bd06a4f80c2bfc6cc8bf7ee76b0f950c41da21a404d8284d78be3da848d42fa603cb063d5b691c0b4861beb720c7bc51057cae5b5d31fa95cd349f941e0499b6b9f910e15a76b34a437591f250fcee4a4dbb29271e7765ace221f25253063b4a1f2ba9bb950aa99cea24388440938d03c3ea4faadd575b8eb855b4bd74db26d3c4e6619b37e780b3969d7c2d83b6bd4378088d01fce3de539a8929ef6872eaf56a2c7ad96d726771276e2d43986553d5dbc88fd70a06f8f056cb5b3d07492b7d6d6f39a2c48ebfa7a21653040502662d781cebb9d7799e893c0c910d6a7101c8f12669853ebdb2ecbd2d2189d279 - -COUNT=13 -L = 2048 -KI = 4600855ce5621daefce29f845883a6e7 -IVlen = 128 -IV = beb28fccab062e1b61fd6858c403cd1d -FixedInputDataByteLen = 51 -FixedInputData = 36846368637fe55a0d531bb11a25cac51df36847610a889ccd669091b91f886a4b5ba665cff665466500fa3923661f410621f1 -KO = d98d420af244fb0854c7604d53b7c4152509c1b66b22391a155870cf212791fafb7bae1c65309a879fcfbc870d2dae2d1419c60cb68f4c2205082018ef0aed7c752893a78460d12e4567be0a3054225ad83a80c1f7a270b3189dbf172e532acc0cbb8b830e93e5128720bf6c30a8b2040ecb3d9f55fd3413a747004c2f03b1f6c25b20a07e47780a796d505bdc43affe24bc627008b800478a34e0cf21c92c5e81549d1819e45ee18a21f55de2b9d1f8181f63a26bc4c9c0ae674ba9e875d214ec30efdd977fd2238fc9eed1f55dba7c2cf881d5817682da90e18042846afd67e13f3198915899e3343a286677f4e74501e54752154fc2c694febcd929782449 - -COUNT=14 -L = 2048 -KI = 83c43b9126a1f714b7dd86e5d642cb8f -IVlen = 128 -IV = d02e5ebe4461fcb7be105d68da30c209 -FixedInputDataByteLen = 51 -FixedInputData = 1e8becc20af88f5ba69e16a8236f868be27c61eba9185b7619c560c1b37d412b2042a889220e3f7ebd3c18f55109fe9515f39e -KO = 7b3fe992fd55be57cfa0335ff5054d6ff07fe2306c73d597cdcc88e044be4caa07d9c38e3dc79f07bde365ffb8ab28b762a00396631397a92eccddb19cbf97ddbe56002fdf639aac0fa64690ff8e1954114cd90af5a8cbcb0c7cb0b32a95e9f2eaeb1eb77ed7fccd552749e333ad8eae3ee7856dd405ec487db2012f960f51c7b56ebbe753b1ca8df6834e2fa863def8399080cf6aebdc7d3b410fa3411c52c72154cfa3683b4c4b2edbe711194ad05199d6bf835b5bd80d1689ef846df5f9b9efd4be07cdd061342a56be17e01b25c35c6055145188dd1e9a260cff39b57fbec4557c23915256c1f9a24395c505857a78ed9546d85c950bd19f313e4f570dab - -COUNT=15 -L = 2048 -KI = 8ac88aefffef2436c03e738018116d0c -IVlen = 128 -IV = 7c7c2db256496528861e182fd72c4e4f -FixedInputDataByteLen = 51 -FixedInputData = 634d2c499e53a9c3ff07f7094a3200ab4f94d9228f53011f6403f324030dd0f5eb695588894f3248b9ad1d85fdbc5f22c8982e -KO = 14c4c4e0e2ba308d46640e052e2d252c8656fe2e7c0cde1d9d4cad7fe57a3dea7667b3f9698df275eb0c9320decfdac6b85d561b3227f7eea97ee4141dd4b3eb2c625e3d0b9c738f785e5613c3ebe0bf29524897fc18af7e0cc34e3968a4aecab39641a1ef3354e6249d6332caa025cdd9cd84281f487546bfed4ba7ef3773fcaee42b3b71344a43ec79019ca3a92445382ec971891185f230a52320b3a5f2baee49e0de395ef1bf4238c826dce28a161a25dfb14358975fbdb0a86da27d2171dc3ca093454448af56eb6d6bfe2f402d415e939a02f6bd12c489f26c105a97d1b2c1f57739fa3dc6aa40b6fd00b5cfe11c83c830a2aec6fa88fedc5e0d179724 - -COUNT=16 -L = 2048 -KI = 19ae8fd640409a8048bb275da67d39f5 -IVlen = 128 -IV = 6f0a01946723ad9c52f92ee94f42a695 -FixedInputDataByteLen = 51 -FixedInputData = 639947112217def74c02dd09491968cec623ef960a820453d0d898dc82ae43be3d5c66bd145b349d268eab46f830e4fb7c3067 -KO = bb531220176c87ce0abf41f5e8d4b071881face00a46b71b2d9535377afdb0242b01b3470c3a3771329f89fe458e5453b49c66bc45683085e26545ea87ec11d758169e8976eec65edfd3f929b8dece0470a4c4b38c5b1f76ccbd39f95c52422641b7fbcc210ce7814781217224d07af32cf722f070376dcfbd6c748acbbb95abc4ecafc444ee397a16c93eabea2ac10cf1ce2fe358621e6cb207303560e3b2493ecd08fa6a50ee6813c1768f6ee73b064224eec1adcc958de0f6ba4bcbdd1ff66d74d83b0ae07e6ac0241fd764488e0c62e11c39aaf860230206118aa7f993972b5280814b8dce71e68624e8b1b665950edabaf3000de660a7c91ad2b059d170 - -COUNT=17 -L = 2048 -KI = e1500f23cdfc8cb1f4af44ce939ff5b5 -IVlen = 128 -IV = 36547bd32d8cb8ecb57a8dd598d2de19 -FixedInputDataByteLen = 51 -FixedInputData = a47064afe1a99db4f3a3e0e1bb2c4804061332731f1caf5c3f43b95c0139b5d1582784ce715f644b73098630e41e2770136cbf -KO = cabbcdb9152bf0a11d61590f8a2f1da7d2d4624c85d497033f4ef4168e04fe6cd7f1b3f27b3e830fd531b987cfa926fe7a389313a25074787e5eabbf2510f6d2fc76e34657f48c1145056efacf785a398e1e6561bc3e3335de1f9857f470badd0d358902fbada92e2e2814e458805937cae0375847ed2f1da621ee3ac24778b61c9bd411384f6140073a25750f02bd5a8f22b9c39a8d63f3da68b3c6e00f7e7be4e0745704f333f205d5874aa5025a0ce5587bd2a00946409bfb48ff6ef944ed90717dbb4c4f226a58c53f466e0878e84c341bb93b61c2f17832b1cca59f4ef623d16684fb15dac4bfa310a816702c2d94598538c1c198b539e591b89495020c - -COUNT=18 -L = 2048 -KI = 6d38b25be46051ffe6a693b7c81f2f56 -IVlen = 128 -IV = 30c9dd395875d708920d444002fe2865 -FixedInputDataByteLen = 51 -FixedInputData = 09b7397b758cc8a11f5032f4d0ec00a74059154bce94370ecc63a07e6fd57cb34c890ae9d429c4de3d47535835e43f62d1e05c -KO = 37d6d90fee4aa59244c7d063b1a23f00940734975235214da92ff03dcba0b3beb8e677c628e3ca9cce3f72384ca2a89694e345665985bde8eab092a433889347201fd3f3c2e650f2a3735e27d7c27857f110a9b6287814c6b1dacbc8ac1a21c4240dea7bebd9d3b69d20d094dd87d574acb21ca62722c0902b3dbf88392c580034093e86955237121f94db279213be5866392875f82e14018a2a90e87c73c54b3cc71c8612b5d0a6db772989d2c9237b1bb3cc2f4211e2bf876b6500751f65d057f956dc74f640301944521148f624ea4cb6c7658214861130c93c32727a31990183150ba28a246fcd7118dfefd6209707d6e62d22c5417f6188ab37e7e62f78 - -COUNT=19 -L = 2048 -KI = 0c64b2bd39a03c3448bb51e50901d85e -IVlen = 128 -IV = aa411776a82b8b5f327445258cfe01f2 -FixedInputDataByteLen = 51 -FixedInputData = e36da98119bfc9c7fe1a0f5f65efa1a4701af7eb0b6fdd2b6f7df3c777247e78f518a146cc2fc71cd511439024a0e52983a48e -KO = 5b8ab481915a1c500eba74f134ca8627c0bbe3114d49a445a82095e4f046f08b089274239f603e74772f79d696431f73eea0ec658cbf21338a95752ed567cf44f3a13337f53f5ebe35e3c2d881216b747ca4cdd003c8d501bee9c4a4a3512e9906df5912ad275e2eff7e6630858f65461d3f657bc2a46250c776f48b1de187b3b775067d7524b374e41bb68efbe91c183bbde86021c25c6ab103813e683ea1f0e4f3636b02d00d90baec8f42e2944c847317c3aa808e5c81002cd1cc16bcac984e279d4f62c9edd479d0544967db68893f225d93722e9671507b025bdf718e7f169cce8930d895f1b7329c33d10e52621d8495a40209f821dfcc38c6b9a8af42 - -COUNT=20 -L = 560 -KI = df99682e93bee8426a27ce8991929aca -IVlen = 128 -IV = 5c09bad80e140f4b45890d1260cc058d -FixedInputDataByteLen = 51 -FixedInputData = 3c999c95f49c48696f83011ffe578b985e2b1ae9b6512f85aa0a2e54fa4a454d3bb772194e106783e34b5d5ed8b6e0a877f35f -KO = 2fae1240da52986a2b7deddc35b9c17b754aee15e63a4a365be0a8c41512234ae28aa9617509d152fbd0b87c7961c8e466165722b72f8887f83ae4ebe72cec04da1c72674b1a - -COUNT=21 -L = 560 -KI = 717ba9a5b026fa36bbbbde2d0427e20f -IVlen = 128 -IV = 8818641563def92f6ca32d1bc6ee40af -FixedInputDataByteLen = 51 -FixedInputData = a15faf507da6a7e442ebe3e37a56e0d53cb87904ab2d216d899dd9eacd05ce5687528c62e2f134f0b0b0eeeb88ecea5e256847 -KO = fcf21f6013a1ddc5ce96255d8a59eb238fbd53c1d2ffb9028b838955b99ab87341fde82a5ec11ed4dbc92212a774b028470ade4c5f4c9ec7e925bddacc8ca7fb494dbf23c6d5 - -COUNT=22 -L = 560 -KI = 9a35f46dc3ca0cf1433f8503dfcd6269 -IVlen = 128 -IV = 6d33dc9e40d40619ddc132528654656c -FixedInputDataByteLen = 51 -FixedInputData = 820dd2c3e6ebcb837ff060db791e7bd5d5222311019f7c18c8d070c6d269b2e8f146c3f31d61e52bb3b114ae86acb3255c1b07 -KO = 71de5d1bd7534d5fb01828982865f1277b5af039d58eb7963385e290713459b0f324c562ffe741a518e1e86ea379f2f899af192e88fcc8e3894c2d53e8a836121cd814445f19 - -COUNT=23 -L = 560 -KI = 19bf36624b64bb71767c035a0aa878fa -IVlen = 128 -IV = d452ba1107a2a75f478cba824984bf85 -FixedInputDataByteLen = 51 -FixedInputData = bc18b78294504c26ccdf27012ed81bae269bc33964860cb8c5aaf53373216a90bdf8a95532a57174895cf12bbd34892ae5320c -KO = 8a7ae336eb5eaf14054f13e4e607592d81f46f2477ad1d546ee53b8dd4c034d460c6ec8156738ee7129cfa4fcf9e956b6fc506874d0422b14b1ba15114d12a4665728896d989 - -COUNT=24 -L = 560 -KI = 890f717be1063d69d0b4f51303090a88 -IVlen = 128 -IV = 7021bc02240b72328ae4a5d1cbc4ae12 -FixedInputDataByteLen = 51 -FixedInputData = 28192203083c71699d4860db21d1bacae461e4932c6e4ef14c8a9b38dc32e4485f0e7688630cb3c7820f69b24d38cb30bf8b27 -KO = 781b5ba8d0139ed611ac3f1f40b4c51823531856647227379e2b6d0eb09d65a78f7170db99615f17bf1a1ad6de56a6095383c1f5c381bf60fdf2856ea645daa493992409d3ad - -COUNT=25 -L = 560 -KI = bca498db751040d3b5af1a9471134e92 -IVlen = 128 -IV = d573c399273ed1c204d9335ca36d314f -FixedInputDataByteLen = 51 -FixedInputData = 1799379bef607169068eb26a80ebbcc0864565a59977dcd7745b2ab534e32fa2009c23f006ad70e964d1628a10b9c7838293a4 -KO = 6975043953a5d101c9d11ac00d80cc124f3f55ad48ecc4003d89fd5ee3595331d91818158e3b14d5d5932e452a9ca66ba3b26edbb35a684fdd08c455adc4a3caee721b327fe8 - -COUNT=26 -L = 560 -KI = e1a097e543cfe94cafe3c3ba343003e0 -IVlen = 128 -IV = eabaef1a2b5c9c83aaf6dcbd9312c188 -FixedInputDataByteLen = 51 -FixedInputData = 9bdc88e6b12eb18b4bb6ce8f39cd4f87101f55d654ba5d35fd82115b6a60bf993342387d540e4379c377d6466c3b639c9c5a68 -KO = 0fec2bdc4cf0d062510b6f75d5f15d321bd4f2a999963f73c8c4c84f17ce33fcedc7f40a39d8977870f657c3e0302f2beaedb5edf18d25a6723470dfe567b8b2a39be3e84892 - -COUNT=27 -L = 560 -KI = d7bd496d9886845c01349185316ec654 -IVlen = 128 -IV = b5facca32829572d5f1fd4079aa98be4 -FixedInputDataByteLen = 51 -FixedInputData = 1d858f33c0fbb856d46d429ef385e0469d3ceddc29b3241cc4157aa4be2d48d5f78d4e4e1fe1e194a05bd7237b59d50448022a -KO = 9367657327c8ffd2f988dc9b5372fc0908be9a3d6e47d17591fed9e98fab0a6b2dc30f3bebfd602b8d44f5d99c3285be8af62669dfb4a7a8b7d0b3ea6ec49853155d9a32964c - -COUNT=28 -L = 560 -KI = c5c15799ce63a6b7ea889a109ecf466a -IVlen = 128 -IV = 71778d06fd82fcc41cb7287cffbf776f -FixedInputDataByteLen = 51 -FixedInputData = 6f14b20dca709978d52d3fa1b70a81acac577b8f493ba60332c073cefdee86a49b70ec2a4ecae237d2ba60a90b462498964700 -KO = 5df9a00fd30c6b39661da164d10b591b81a7afc0958b0f876bd474f19d10d42aaef8adbdba4f3e137b63863b77c69f56a4cabe42d9a8be72003c4e67e557a3db39bd9941bb92 - -COUNT=29 -L = 560 -KI = 5b6d469cea11760b8f9644aace09be65 -IVlen = 128 -IV = 33cd2ded9daac136eacd353c40ad9c8c -FixedInputDataByteLen = 51 -FixedInputData = 6ddbee60a0b172d991ee7a403e8a72151b9d16ab61c0f7d3a9a9affe80fc64879191a2e3394330717366095463940e972c03f9 -KO = 238eff9e38fd6345856668292706a87ab7acca34c5a6d3dc489cd0a20a1c6a08f7908512b4f73b4ec658f7eec88b3b8d93b658e8f838fe3e9a80360f8fe35b966bfd5a67e34e - -COUNT=30 -L = 2400 -KI = 376b9fef07bbb71175bc685432f0ffbd -IVlen = 128 -IV = f445ae72fda7f3c6b0c83326ec8d0532 -FixedInputDataByteLen = 51 -FixedInputData = 39879b284b39bf55b20ed222f48065c8608b45a875720474339baf833120b5885767481401de409b51beef09cf6588739d3a58 -KO = 331cb3a899c5b2c7c94f389f3354912776f6b5d75fee671542f21f2a5b5b4f13ae6118e000b79d6b4da025916c0330c0d9b778d5db72b5f7f27e4131b9d072970798133571044172b1da86a954d0fb0ff015690ab1f212ca0ed09180895d367922988499924b51ed328d0da3c5a67b8be738a3a822d79cf466c23df24e68dc61571c46ff485ee31b724d0728972a7ed9a3a66ef5e085926353a666cf7c4005c79fd2c5566a7ebf8c3ceceb7621c46b712b722489e31d6e6124ebfd6f01494eb20a97256bcca5f2f5f081625839bb35c992d08b834c6f266b2c8c8bb8bc5f9f3a1311f59146a57dd6262c961d3ab86a714bc95199d5ec4c73491149fae7c28c13d99e94b8f72d31fd515c5c76f359c438fbb957c7a47c15faf2f075ba3853c9427ee14aed95670332f4c7707e - -COUNT=31 -L = 2400 -KI = 32846685894fe8a9d0311fc431f41128 -IVlen = 128 -IV = 9dc29cb02d2e09f1b7a6f90af86866bc -FixedInputDataByteLen = 51 -FixedInputData = ab4398c0bd922e3f59f981f7396cbed698e6d8129e9aae0e0e4b3441379974c864c428d9f1f28a8cc3b06f103171215149f8bd -KO = 0163845bb600ef89bf779782a9506904c5da8bfcee726c44cffdd5be3fb09fa5a0ceada8af458d922b62d3b86a8f1d1ebac85db0338b3ccd72465a47c9e392d9c64a454e81ca958787c6c22fee9cc9e3a2b002d960a7628886f93d65d19e93637e6f49c72990f27e6cba9dbcf0f476f511de1a7a56c69ec79b0872cfdd7b0adcfaf7da3bd2eb5fceacb1b72852d543c7aa84adea543ffdd2f476787ac6e4cc301e92b72dbac699e6f9cfec0fec4656dc2179ab82c18d4c646fc2e53038a8f452421134354c70fce19c995bfff82415d3eaf31d0d7222ef62bfec98486de431b5185447bb9867384fa394a6fb73afb44dd919a5d4851a81fc515c2541186321712b719bd316b35ef62d19b8a9ec9a9ab1a296f154646e0ca24c641d3fc54d1a85ea48e74853b03cf73d89bebb - -COUNT=32 -L = 2400 -KI = 487c9d0389188ab6700723696af28a28 -IVlen = 128 -IV = 7ce51f8c7784ea0b37c58236d2fc64ad -FixedInputDataByteLen = 51 -FixedInputData = a10a665d01da8e4e44d757169586e1f3bc638d5430e18431fae7acfe01fecc9636b97e98bcb0470d801d93d2129366fc733800 -KO = b27e0ff24579f75e19e12b8be7ad99e2b05f3b0b4e1e7a2c16fe8b4c289b264a07978963f4de37e6c0b3cd347c605c4ee9c4fb6ac0174fd54f9d5e96c9783b384fce0f93a6d3804e3af54d962db4d52cb26f33fae11bd670ceb85e59905c439786340a6660c9a993c9225ed12a9d8b8f2fd34d38b23d931b6c9a17b606799d90049b523fb74f2ee9b712dc43c82e08b9975433b074d6016ea8573f6b4d6aba39f687908f61ee81c7ab7be78b4282f577755772f30bee0da54a3f8df06cda69224529dabed2539dca10485a3efa45f213a0225078a6f5aff003380d9d6084b27cf5c487a42d47b67375652168bbad3640f70c2a4f663d57850822a0681a10fbe3122eceab7b3f717b272aa7b2dbccf3f435c9cc2e7e33d4c6586587300551188decb8271eb6cc9f0d8f7e9f50 - -COUNT=33 -L = 2400 -KI = d61359b91205e83513e366be7376797b -IVlen = 128 -IV = 0b442f7cdc1a01eaccdd91b70ca1f906 -FixedInputDataByteLen = 51 -FixedInputData = ba7196c40565a8fdc2f15d458f4e47c0fe4acb8e059053f8de96ef02f58232d46722ca48cb7e62fef9c47e4807f525a2a2860a -KO = 05a56143a90940cfd599b52f23e735a53b02d607fd19ba74b212a01ba3fd2dc73e11c32fa1c87df4a515829b40692b43aa8ed424b5707e8da96660f68a8638b92b9fbc2ad68e0ba96c75d27853f65ab90ff41193b19bc59f248cfda0de6f94e143e2ce772a104bd311e706d5e092729b4c20b017eedc42fe8177a8ea18cb659bf764fb18ed7b1ecd91a42926ef628de63c6dc8244e2e8edb99bb5a768cea74036aee4749029e29ac4a5909d15e14c411315a6aabfb9089bc58fe2d16424ffc4e721270e0662e0a43434e197643f7f91b7d08dc58218f489438e97916f0dcb7ec86b8f41c7ba2ff2fc98bd63e976572a33661571a78f9ff8411dae82ea1cff975f7d3c3d4cf76959fd73b2fedc01de8ccd83719bc77399756c2ad35fa5f822bced56fca53703abb07186aa18f - -COUNT=34 -L = 2400 -KI = d51d0fd80bd9902cfc315c159520f1a4 -IVlen = 128 -IV = 6d0aac8f8b58af0945d0e01d81ead077 -FixedInputDataByteLen = 51 -FixedInputData = faebd0555a3e931078afd2223b4f822a2349922b32843b94ed367a80954632efad29ab2a0539b47733d357936e9b8eac93baf0 -KO = fabf4dc2a7846ed9aac21991bca5c90879feb79267b98c6b5bd6be70bbaa34db813671a6c8d9ecc51c86a89a2e2b85ec580bb592ce08317339677b14e1a5821577c27573d90f9276c81b6d81daee772bfe5de70cf5201f5a57cc7edf0a874dbad1fdd07a28aecca3e9c52d3ca16ca05acafbe6efaea73defb66a7c48669cf5824d0f6993d6f7b4bf77858fd5a4a40cb4fc52a229ff6baea0b02388d48222124a4ed619922be821bfa1c417268412cbc883788797614bae1886ef8aac141f9971c1c69aa67ae4869a89903bedde4bd745dd52d2c66641a7b82696e4bd2ec50cc4ee1fc8b4b85eb62d8cec2bfcd24f3b73dc5d353e9f10adaeb17c90f52232bbd0a6bab15542da6883a582b8d808d85b7b41e2f0d7e24ac0c9256a6c5cd9e0dbea6b7a69d9c34276c2c3747034 - -COUNT=35 -L = 2400 -KI = 37fe770ea971cb6541dd8f72fe13ff9e -IVlen = 128 -IV = 2fd196f44e9209b9dca22664158e523f -FixedInputDataByteLen = 51 -FixedInputData = e4f8d8e6035e85cac7ba1e583fe9085c159ba7797de254fc7f64fc5eed3f7ba34811243e60716ceabc999b2d6bf99a4323f5df -KO = 048b4a6670872f2b584bc24c8f679b798437b04a2644a5a861d204e6acf2f18a19f9a15a9020f49d805c506cf086ef03cd75091653a1ba24ade0af9777d4d542ee73d70da22db38bed845057197bbf174a53a494e3ffec06e611c8295faf33ed9b03ff2b4f7bed076c58f4cb0543ad45521f713f8cfae9327594c57b171c4c783e286a60b8676f176f37d93a81885149ae2cb27c01ade1348d55d2a369423be321d041784a9727d95ec9585bf40111d54a913b63add8cceebc629d3e4215eade2ecdb85de6519e1cbf16769426b10f97c9f11f29cd665e7a6e08025810536c3719a4d095f11db0b2ba1cb149f13b5b8b96f58bc7b22cd1e2457c76ba00a67d3b89ff8440fba7fbdf71a0bf045f1eb4268ce65a6bcef56497df7ddf6ac6a535fe96ba215c51df184aaffada20 - -COUNT=36 -L = 2400 -KI = 47fb1b787b7bd63668db9d1de36377c8 -IVlen = 128 -IV = 820487e491635cab2042da03b8fe10a5 -FixedInputDataByteLen = 51 -FixedInputData = 22bb70495d42f1f0cf55f7db07551a61097714d30f5a8174099c295feeb57d158aec4960e2a3e0bdb2486be242766053641579 -KO = 84c97548d9f77efaee4a3426711f6c9a4e73c78f84c44cae0bb349d5e6b5e710b2efee0f3aee75ae1ccef3e69e20e7cede00a81c0e34de6b8878e3ca589aa262e9dc73ec4d54f987a67f049127fc318cc6958f285f7f0c124452906312607a89d2143baf291f847e17cc501515c6c1d5ffba5c0a51b67bee26a50c8fecc11500807b7c093719682724638f595cf33fb05d58c6ede9194dbcd4932157d4553a601bac174d7e01bd509d092c4541712198903b210364cadfa1dfa5b87fa821ddc53c8e92fe96c3d25300365bf5084b342735c20dcb2f151668a7f9fa25857027ddf29a233222fbd087957bb84a45288aa0e4e4c27a4ba9fb1f6512784d1942489b8cb1a9a78381ab93305c6026b324c537931bb7a1b7091006908453c9af6c5b000d5284545b5ea804ea1a305f - -COUNT=37 -L = 2400 -KI = b2e9ef69bffd36857dc7dcae9caa660b -IVlen = 128 -IV = 813e355a3271730503d86214d4ff953f -FixedInputDataByteLen = 51 -FixedInputData = 77377b86e352e44d7fce46f952afc83f4b913a94682f8cc013e4ceded157b7f6ff3c366944a2c512381a46492b93048ad247d7 -KO = 1ed2573b945be28bacc7fadbe0f22e03935a006c099d63b93b5938402c90416cfa046a11bf61b0a299da969f606eae36eee8cb14dc6a7cbfcb6ab8f5a7c3e000582122c6548822fba4580c1644bfffe24aee07dcf0749c2e89b0a1218c3f1a01a2e61a6d0b27acfc5645155ac92a256b3463b0cc51419b1afba6f979893f6efd04bedbf8ecd6eafe11b8845ee8c232f83c1910cb3a710deb487e42a1fcbb8b08ca468dba90e60c2a08aba893b23bea75b9d9d4db7f2babdba8f1b9f3f6ed166c8ddeae8e55110052821b39aee61d8b4550c0eca4e474d46c3d0e815a765f4d63779765e44f527e986bc9c19646c285986a6e93b9dbac8bd1ce7cdc17c393cb7f2f64415df31b2551852431937379a7708759d21fc01a16c2e78b89301c2cc8b73f2092153aaf29224ce4caf1 - -COUNT=38 -L = 2400 -KI = 1d851e7c2c194fb64fe39b842497933f -IVlen = 128 -IV = 844a513df9e127a1d9921a3cb9c7be25 -FixedInputDataByteLen = 51 -FixedInputData = 9adf992a1a1e4df2844403863ca805cabca9aecd5b2fabca23d15b7d31613ca3ee0544829ba72f7e70b9a53b5f9c7288727b5a -KO = 37a9a7b21fd340fa0f241c7cf88385e0c40a1f0ee59a236263b6d34f714ced1f2921f2cd6a3f160f3be4c87ecefead19c06ec536fbe16c9e4da795977c02e365c31f2e8aa3a791a49120a2550ea79f82541b743210f5fcf020a4ee5f335af767bd5714bd860881b88b651eef6cd3c39783db7bdb907dc29962d823776d0c1d65178e6efd28d55ae41eb3b1cc044a811669dc20f6860d708cb5cb0e562d12e21dae552d7a8c670cf90e14cccc34204c4378d2cb1c01f6825e3618c610add67e3095347cd90ecd9668477b24a72987336b9f6b0574b10d812ed9a36e998c901d57760cbbaf356f3a01d09bcca05bbae89747fafc682f9ed6e1668d25734286fc69f91e72ba72f7e55b257a1a3672763ee40c8967054a28176bb1ff071cf1861ca1fb3e5a9050d5339029d5584b - -COUNT=39 -L = 2400 -KI = b214db625037492f66bb70c42ea6a4e9 -IVlen = 128 -IV = 56d627458c844cef01e17e03a47cd804 -FixedInputDataByteLen = 51 -FixedInputData = 0f44d16d9dbf68d74732500ab578b4ec6b08bea17bed4af0ba8f7fa52f45391ac2d23096ceb1fe5d3915d4e300f6434aa616d4 -KO = c2339ef81b084bf12c347f47037512838cc8e14b028427485ce393ad73f0d934b399bd5c21b5d39f4f5a0c43e3c0603d87c8e0c49e530309f09d126836fc61cfd7d7c5fa4200071c600a9dbc99832e7b1a4bff6236fdbf7c2bb312cf612aae63d9fdc090ddb756c2dd89ab721307d3a4403a53da2b7befad86cc8662104eae995bdd19fb0dee5001721e42b14390da822a6d877572909385ef9b9802f33fb527594a3edd765b17d73e56185e9342e15587598ee1e08b8764691b8a31f79860e4d05d3d7a968669251dd1ed924cdcc360d0fe65bd1c3967b34193c7494d929a1554a11399a04d7466c52d01acafc7a6a21940c997b208c2dcba8e82e1b2b525410a455440abfa6394a2b7a9fad415541dc3487f44ab936723761c8425796f06478b098a0f492e40eb495028e4 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ca26c14fb4c6544e006d4d2f0080fcbb -IVlen = 128 -IV = fb73ad9683e6c637a1e3369e4a403d68 -FixedInputDataByteLen = 51 -FixedInputData = 05ccc1d72d7177aa8a5d31f7f5dbd01a2bb34eed4ab56ec7b3567ec39f511f2121d41c8ae367f3b110b9688097419e727fbb5e -KO = ca6768c1adebbe004976b83d555a589868b288c0462ce6bb7abf98e9ecc59cd4018867f9c98ab9379d6a1873ff34a7f982467e947545ff0892dcd8cdc8014a04 - -COUNT=1 -L = 512 -KI = 2751d3957a4e54b0c45cc94bf290cc25 -IVlen = 128 -IV = 0b64ee7375300284897b9cf4077d16db -FixedInputDataByteLen = 51 -FixedInputData = a23e665208deab7f36cd4c9ac0ccc476000eb0754d12235eb79d851ab1eecfad0e9a21edd671f6d7f6999494e2115add429f00 -KO = 7e6b6464d43eb0316006ee985bb387453f0af8de6706548e9bee33d05fc39caacee314e3679767d384dfa0f24f2833f4fb031dd4a643f20933fbe82b2e86e60b - -COUNT=2 -L = 512 -KI = 6b3e05b20f2f353ebaa52b74c707fa49 -IVlen = 128 -IV = ca5feaffc29cb9a8ddb35a2705f09edb -FixedInputDataByteLen = 51 -FixedInputData = f964349f703b0d277acea60cf7ee1c0701f316f9584db8cf160fa5ae6f132c3a70cbdfdc37feeb4d93c7ee15d52e776407bc67 -KO = d9df6fa526f46333254417cd4c4788172491739060f67805c9fb2428c9f739aacebfbd55671a40a61c45bcce31b2a436a360c9fc54dadfc3fe3cd2e7df22a7ea - -COUNT=3 -L = 512 -KI = f088814e870147c129c5da0949888f8e -IVlen = 128 -IV = 3289870553044fbf3a3157d9182109f9 -FixedInputDataByteLen = 51 -FixedInputData = 4c53cb60dd8cbfb506718b3a1a7185402d3ae78f2f02b43aca312594f06d2f347de31eec3a9f67898740901b4ab6c3c8a383f1 -KO = 6f8d6f0763ef214cf2caf05129d3786fb1b3c9cfad27ec0dd18d2e2cc2b5534de2ffffaa4f8567d862c5270126dd6dc761f5d88286206a4896ca4dcf6d8362c4 - -COUNT=4 -L = 512 -KI = 4a0ab75b9e49150641b25352d6a784ab -IVlen = 128 -IV = 7578e29e23bbda02bab577ed59d34e2e -FixedInputDataByteLen = 51 -FixedInputData = 95c8bb40809807c8ea8753f9afee6d671913ffac9bbb51b6ae5085140122846aadf4dc2351e7f98d49a5c10f7647e095c4c220 -KO = 04c4029155a12f2880d3d244517822169d3576e3e97b8a7b70c6819b9af24fbc342d06d11ed8201de3b7cb9f74cf8b99bbfd100e7f4c55ba21c2f4b45f4d60f7 - -COUNT=5 -L = 512 -KI = 510e72f34c86dc838c6ac51209a9545d -IVlen = 128 -IV = 9f6d972a2d97cdd2de64e88e9ad97719 -FixedInputDataByteLen = 51 -FixedInputData = 65d22967f392c881e65a40c0727fd1294af0dfaa61a2c5b41f1740b204cc2ca1e94c8e0a5779017c4d34364ef9030ead37ec7c -KO = eafa8d7d90d806ed963fc84fabaaccd42a467501e4848d5695d9a56e4f445d73fbbd5d1453686b208c70500d1dabc21632c17aa5c45d8bd80a5d29ec6635c13f - -COUNT=6 -L = 512 -KI = da1a494a121d5ff5b1af81b500415d53 -IVlen = 128 -IV = 8b76858852343d3375b445dc2b27aae4 -FixedInputDataByteLen = 51 -FixedInputData = 425455bafadfe8e9aa04e33a15209ea87e93f6f0f8496adb66753311ea1d7413c31552acb5543ef230b79de38cf24327d2dfd0 -KO = 85ab9bdc4e1b55dbf0790c3b25400ffc01be597726ff2c6585a7cf0b4c314b6948f93d5c928b2023bb386052a7258a518960d117eaeb5c98c06791fb5e4879d5 - -COUNT=7 -L = 512 -KI = 11357257164f85a37b970ff818dca1a7 -IVlen = 128 -IV = e8d2dff0fccfd448b23a8ddc3d760b87 -FixedInputDataByteLen = 51 -FixedInputData = 676080bcf5f38aebb9e3a20127c22d2288ccfc79f785452733c45d5db4e33e37cdacd78eb5f68e43fa8b0858f9a2ca93f53460 -KO = be1fd3d6a9b35c170600f929e1394c9cd6731f173efe43f089d93af5274285642fcf32d47b404c82cf6fead20d50fef1ee064447da0abe07b5f8562cf174ee3b - -COUNT=8 -L = 512 -KI = 2c29014c85f105e9dd19f641a4694007 -IVlen = 128 -IV = b8117937b8b8cf1e4a07425346b1aa14 -FixedInputDataByteLen = 51 -FixedInputData = 158464e9820063040f7ca502856dfa3a36929c1321971716f2f02465f0bfadafc6791b5564563cbb37dea3401b5e98b71c676e -KO = 12eac078fbb148e8b306e5b39ba3c2e2ee1f068cf6f479beba3f3799cb2ae31b9fe0bf451b3813d6ee758f66add62ccc33dde0d8f56c71623173d584df619537 - -COUNT=9 -L = 512 -KI = 716fb7d419d005e7c6a0392a56db3646 -IVlen = 128 -IV = 04daebd36747660693b2f0e3887c274b -FixedInputDataByteLen = 51 -FixedInputData = 00dbc4d0d6819a7a8cad74d70a7ba11c7725115dcd1264cb303133df02cbfc1f84e371b67a0673119ea25cee13cf50787f7c00 -KO = 697a7b1ddbcfb2834f737acfe2e136cff6b61d882cc29999e81b589b33df9fff53dd96c93893f363d708c3e959d298851a78888debcb537e6311cffa1d646d2c - -COUNT=10 -L = 2048 -KI = c4511f38c6b5986341c6ca0cc895c391 -IVlen = 128 -IV = 5c4921226013203f9e2a3e8730068554 -FixedInputDataByteLen = 51 -FixedInputData = b5271f32eaed03b28fe90afaf3d5e6c1734c18319fcbfa8a727d40537904244b7cbf2fcc86337368e6545729b9d8e6c774d182 -KO = a49110176915037cdd5c5f8bfdb637832f49d4f1b5b582b2d5ae1579cb06c60175e3599f5da8f80a7cffb1430789f0f710b284caf6e1ae1612f8318f7832fdfa2f83dcb0835df596f4030f7a43ccaf19313f34dcc92999624860e4b3e78866b85a681911fd3b90505169e0800dc698da2d2e2165023608a25719f4fa19fe709599d5ff4562d472587b322fa15fa66099925700f8628cc0bf98bcb492b735f60fb2cbdced8503245e26f2da78f1662130fb91072386467ce69022243debe5940eb0787a34331214310032994f222d63a23b1644b9bf056f58337f22d4917bede92e3a36c644c7047faf31fd24dfd4d98bc345eb9725ea7a265d2172c418d53867 - -COUNT=11 -L = 2048 -KI = 7899332f634568becac088c6bf9cc60f -IVlen = 128 -IV = 1835ae6571805b944702dadd09375d0c -FixedInputDataByteLen = 51 -FixedInputData = 67694a88d7bed052c655f9ef74bc165b0fcfc2f9508cce36409e3f9424dbba3289fc0a04c069b6d8389e02c164cb815f4f6264 -KO = 860b858214c6e211aea43b6f5803e8ac573105b1029d7a35297a84b776591a4017196ef9bf5e162f9f18e795373405f2cc5b8ef4b8851893ddb62cee821a6d2bf28ef0eb0c123756eb439fd552bd1695e1322700fbdbcd9a1ca6f48a1c30d6585d9bcad646749a50c32e147018fea0ab4de132a1e646c38989615d1f75a5151a4e5e1e2e452c61b74b8fc2bd351a0551daf002a008b9c7f035bff530d32eaa4197f31a4f306772614dc583e25712d2cbfe987c6c4ff6e57ebe066525773ffa498c9f898700f1bf99b75b7e38c4562ab62dfba63507e461702ec9d5b984a1b27dc92e7fd4b4c72178387fbc5c6a51be33b9f8998fdbb3840551c289da5888a914 - -COUNT=12 -L = 2048 -KI = 06f06fd4ed1edef8b296245db057c0f3 -IVlen = 128 -IV = 5d464f1f0dff855fe2ebb1b97ba653c5 -FixedInputDataByteLen = 51 -FixedInputData = 4efab49be8533ec27f7771388e9be306e9e61ade927996c919117afd6b9b18834666e1f037a39252b69915dc1d9737f6908213 -KO = 9e299c439b021b473e1c226f7fe455e036c003d0a1d87767fcb41acdc83dbc292b39da94f7359f711130d929fe50283244223f9fe725fae27e9b86f43072cf93c2585a9f20bafcb4df0a178d6097d450dd0729041c06f39473efd42e43daaba2a02e08c2f3fb43085996eaffeea2df81b5568b67381be9740a70b72b05776aa32cf04d1ad474221cff0bdbca907dd98ff36d8e0e1a14465c4f54bbfebc59fab177bce72efbabc9c29fc53364690c02c49c7f972169a388f916a2fc57cb8a58d438209108bc38a50d0e8b1b6bcf44295cd81182b2c94d490b5c94384151d5f03eb0782512df97882dbbad86ef3c351df31db9d16faacdc9ad327768145908efa0 - -COUNT=13 -L = 2048 -KI = bdef148034afdf6641e972d00dc8ae76 -IVlen = 128 -IV = 7201da05d28910e86b67b817f7958ad2 -FixedInputDataByteLen = 51 -FixedInputData = 2bb17e61ec1f2b61dd6ac1a156810f04a9ea2b7f7d2997de91c3a9c364562b3fedb15e189524ea468e52394f2b6574a4f2712a -KO = d6bede774ffe196c2c3342b10a39659123c0f750a87d5fe4bc9e82dc189eedab9bae4b482b3708c1c763d0917bea6fa55f52aad28bc10d4464093dea5c5b9c93a9a5cec92ded2a32ec665d8dd9a1a44d052749dd530f957d7a7e520381451741d5995b0c5a0c863194ccbb06b1427e10d20d9f8f5179cf8bb9d512dade997aa5814dfeb8eddf446c5172440049e09a47ffad8eebbe8ca574b83e9ecd5b0e82094c54fef9cca0a4c47382f89e3ca23bf5133ecea36a21e39c91723d76c872a4eb60ea9c55ce1d91e60b07c96e2a0a7ef5eaea783dec59929f04fdaa097a59e950b105d2f816ad0a81a7f6bc9aeccca326f2926e772ed5a7dd2043fa77a05d812e - -COUNT=14 -L = 2048 -KI = 733b65503862067564ec3f413043d640 -IVlen = 128 -IV = befd904cdf40ffe695e74f3d7199591f -FixedInputDataByteLen = 51 -FixedInputData = a3e10d75c9fe3ac3e8de41da026b0159692c790d890c167c5071b08a366217a2464cf3121d8799971efd7a018c3428df9321d0 -KO = 0b0287e7592c9dc2768ffe20e1424c4ff01582c9dec92f971637c382d263edeb7aefda14a816f0a20780d084ddf0ac20ced800831b3eca7f7705e488edcf6afe3b45364f9683d4a5112bd99f3681114541f17e5d103aab7718d2e8d19167964681863108e43c265e54c0771a243beb227f978ccf7cb90abb639d150653f908f617843edf151c8091b79458c1f969fcbf17fe5e6c973ae47d55333b7d9e083a8d7005616d5b690d1dbcee1bd3481e02aa61357fcee62db8733973a26704e1ba2bb0d4ceb015dbc0272d0f865bce9fe89013030b5583bd24386179722447643d2e4f893fc322853f2d3b60a595eeedc1b71719244e25abd44d87c58fd20f35f586 - -COUNT=15 -L = 2048 -KI = 658b76968aeef57520c7e721bce453f1 -IVlen = 128 -IV = 360af4a6eb94eaeb8c46de47110cd7ef -FixedInputDataByteLen = 51 -FixedInputData = c591e2e7323b8c69d89d4efc493dd88d9bee023f7b5411d9d5e557b87cdee170a10094e8a98af7ebd9a8fe7b8a58660eb8655c -KO = 64033a3bcc62c5e45aa9cde18e94b7f543c7ec1094b54494cb3eb93f1434e2d49fb79551b638da5f3abfc12d8033d8e09f2392134ceee2d4128e544802406b7e3b9a741b4391433006a0405a485e0d4ffe8af861f3238d4a17adbd0c52febac20402333e8280fd283e5197fe7d968c6eaeaa13cb5c96519d78188acceedb370ad79512b3eff2adb8eea631662bf210ea3c8cd14f4953d1ec3aef3b73759e644981a4ba55ca342b578c2f99c2cf2cc921cf6706644a336c4e6a95d6e3ce04d651708d0697d9b4e9965b36f45802d653f5b2aeb68a05e5a3377dfa00b96c56adbcf5682fa890c14cdb5675ffda36b3ece5d46addd25b6ca1155c8b599d4e71f577 - -COUNT=16 -L = 2048 -KI = 8f3c82c5b9ab17109135c426c3522934 -IVlen = 128 -IV = 29a059fa3300da8a11a4047f252f3e51 -FixedInputDataByteLen = 51 -FixedInputData = 5190136290447bca7b959bfa03a7ba158553c8a6fe2e35faa190e319590be5b879a3815fe40d2f35050e87e1d4a982a2ad8c18 -KO = 79716675486b1dd7ae51c909bd8f0aa8dc2302ba4c59d647d04b51fa995a5e5b20643b44ffde8b8a2cbdc44e3fd74731a8d4d639d125e6ff586daaf06cb73ec5f282347cddb651bfcbd73e1f9814798a9dc843cd34ebbd5c250cc74f29ce7bbc44b76cc95efc4b068ddaae6c49892f187bb91fc0aae69cf9b7c0065e61f6434cd817031b9969d50df07d4ba3526bb3e48a301d05bb5dbf65823a6638c1c90c8c5485a5c4bb3044dc0cc5a566a77fbdf57a910e67527cbf60e72d67ac85e416bc7291af90ee776847c60bcf5217b4e8f48183742ea77561bd9a6e76f6628ac77d97f3f87d6365444e8b0bd06a7e92be4419221e2ce1fa7afdd5272444aec60d52 - -COUNT=17 -L = 2048 -KI = 8a0b479851c0bea8e876256748b9de0c -IVlen = 128 -IV = 35f7bf638c5015bdf1808b395b1e876c -FixedInputDataByteLen = 51 -FixedInputData = 6c379b1ebc568562083b7efc603aa10b68898350d451596dbcf3cb4961432d5c551e1f35964f7e855f8ef879cd9d6e28564437 -KO = 7fdb0157e90e96799768be2c5c0179197b77d4729d2d7dd101866156b5a97eccf3278b1fde38ab4a559ae709b33e157f7a5e6be9454ab8bac497a71dbba8fdee7ea3219875db97641f84be027b6ce6e9158b4ef60b98bef259a43c142a9acf876017df9a7fd6a5658094ef1782f9ca44cb0fa8b8cbe9b111290081e2ed45d8f1e9366dc86ff157a246da5a58fb4e42a9d0e0baabbf22fd84388b96e3fff851c98e2a42c32639e4b99c36b77d5b1105e78dbce5f6b041f195f6186cf472df32f92f5fc36e643feef4d9fd6743428a2c1e693a16338274206de1739c5f02f659c1589410dc4347aab60268a610a82937f596f8b543ae9b084fc728695a08321e4e - -COUNT=18 -L = 2048 -KI = d7518ef5645f6149e6d7cfd041571fc9 -IVlen = 128 -IV = 390ec01738298e5a07bd2e5183b736b8 -FixedInputDataByteLen = 51 -FixedInputData = 20d277cc1b6fc5daa37f5d7a7841c36274cdb30caa31b42cf57fc645d2c68b2747031308c03b109aa5af16e98bea4b508b4ded -KO = 494a1b69a9fb239d4747b1fe840b434b4f826d477d802b3d25bf998fdcc822dbc6c2531a42e42883e44f3da788c9ef8abb78a807c4f38c3b8f228c2d2f59316f44f0e3ec1b74736d4128ee4c216f9211536f3dcdf1b0870f118dffcf636774608432360736508d44788d8e75e8e55e9cc90816ebb60f26bf484985676c40e995a2251beae90d9b42fddeed5633818acd37c4858783eca9ecbe6cf3c5272150fe59221c6c2c0c2341f792f76daffbe86612626edc68fb25177b6af70741eda67a398634eca7d451d3bc8fb94381d1efdae58bd190a3d6e6331ac0045986776dc001bd63290dc3c51529f80d737ae4936076978da588e75515cf4c06fa67d920dd - -COUNT=19 -L = 2048 -KI = f1a78f04d292c5ff13b9019e50d037b0 -IVlen = 128 -IV = d0e124a11b1b20f1c23bb45ee5e8b025 -FixedInputDataByteLen = 51 -FixedInputData = 1ee39aa3baaa11680995307e133ebcfe920603119a6b83b873f46d3284170a65e28ce1326e3bbcad1174252bb6e267cf24e386 -KO = 0686d8639017ec5f7f5ec94eb98b92ec09b87f4344d726ce683a6ec3cd4445e67bf733724e4dc8e252fbf75b642fa9b4a6ff335dc0f5af7f20818a60f7cee199b9be7dd6377a97742b35907f9af1fc50d08a4bf2544fceb5ae5f07fa1e70fd00644b10a60e33fb9d05d4541be21278664e941da14c5b82f89c2eb9b2c9cfd7715e8df3a45c5ea08449f3242e4536bece706634a35f0f1252d4b201c024f42b5bed23facee565125943c75f85b9a1bb8bc19c15c00a81970d0865b0ff109f9f46656801c9c5811f90f908226772e9eda634a447d12d8e5f012f711e9bc09365164f12878a420d8c9ad5d40436d8394307f46c91789429de0003df562978eb8b6a - -COUNT=20 -L = 560 -KI = 3b32f6f998bbfc51293fb86f4d1f3497 -IVlen = 128 -IV = f65cccc4509b0fd3e298870da0893338 -FixedInputDataByteLen = 51 -FixedInputData = 0b16b23cb53ff028c45862da98066df60074e6d5caa76bdf51fd5727fcef502f4ce14fabb37ff341c15e9a5eef06e1a027f078 -KO = c8aff877919a2194a4405b4f5b8e6da72dec0a05b7cdbd5b8f6a1fbfff7b442d0b6c57eb03ffd52e696b9a77d17743fbf866088c7043fd693463ab849ea093936dc247d4c7f2 - -COUNT=21 -L = 560 -KI = f62a2cd290714a3abd3fe271b7b8517f -IVlen = 128 -IV = e09a669eb44fa043e84bb988da72218a -FixedInputDataByteLen = 51 -FixedInputData = e3998f97af4a558ef36551f95bc1befa01e1d819aa7967371f2fe5cc4b0a56a7d896eb4bdda1b14b713f60c91154d09ea4a6eb -KO = d7d98e3127ab63c5aff1d95efaa865cb6aa0a552dd9fc39268423c86201f5b134557feaa2877effe20ab487863981a367d6381a14897a1e17f5eb0230919172d01bd0cc68615 - -COUNT=22 -L = 560 -KI = 6f0fbd0ff46abfa7e4604019ba360eea -IVlen = 128 -IV = 531f4d8bac7e8ef921fa4189e40f1bdc -FixedInputDataByteLen = 51 -FixedInputData = e060660aa7d12f61450afbd988debd5df3d72cc78e563baddf2f87ef3e695c6bd642a52fbd9e531d08d35b7a5065ed565a0f78 -KO = 3a61111e4107bd586f0a771b290a19ea53b2f93eec295a2562497365a66fd0e791f0ee00ce2749e3aa4edc0ac9d0223facef8a1a3b2b995882740f91a8d8016f416d369e9cee - -COUNT=23 -L = 560 -KI = 8aae5dbbc2cac6613d91e2200df71adc -IVlen = 128 -IV = 79eacd88c484cbe283ce632d2e09d18e -FixedInputDataByteLen = 51 -FixedInputData = f6effcba8d7df29ec84139be42e1e840cf0929e041b1e5be00ae8b8ffad69749696ebca9120c599e114086cde6caa1c78f97d1 -KO = 51707be5e5425281c10790033a0eecd9145e8356defbdb341ef65798d3998b2865030e4d251bf428ebefd8b4bcc7ad3fec2794200a48f5e26b075ddf386963a869f9f1d4f267 - -COUNT=24 -L = 560 -KI = 4cde958d5f883d9317a13a7a5b4560bd -IVlen = 128 -IV = b281cb1f7dbd777879d4380a93fb7733 -FixedInputDataByteLen = 51 -FixedInputData = 128c41fd1501cf528dddf537b27c48be2343dd0e91e0682b953238c08d401bcf84e8de5f93012ed78a00bfc2b486adef6222ed -KO = 942252b00015e50dbe5ed835438ed015b0a80512581c51d2153a0f2970b04ef1fd72e7a7f96d59b6416352ea1cd373ff6c6ce99f5ea74dce30b2906ef611c9373bc698f68a44 - -COUNT=25 -L = 560 -KI = 2812790648f3b730ca2c0133343a81da -IVlen = 128 -IV = 835475b1d3192c13e66ca506fc41aa0f -FixedInputDataByteLen = 51 -FixedInputData = 38b13a67d93186c141c947eaea2f947fcdb321f71e5898bffb058b002ef2d8da4288000a7e1d963978fac6a8a26f3e2861c3b6 -KO = 669d94e5b654879e71120b817308c04265f9d8de421b74d24959864948f24dd7b413ca8406826581aeae6baf332603ea997af6404d503ec0a5630fdc197d710a8e7a763e19fe - -COUNT=26 -L = 560 -KI = 6ed0848be79afa366f1ede0e629a3d10 -IVlen = 128 -IV = 125ac187e9f395046101efabf5733859 -FixedInputDataByteLen = 51 -FixedInputData = 287d2b2b8881cc94141221b7592c11ffc250fa60c048c8f242c660873c41aa652da2c71a46026bbd200d191ba3c8d0097eb98b -KO = 49f993118e27ae261ab040fb4a18b18d2e3b22099f5a160a0af6dd32d9b67d78f8a679196efb336b7dd4d8321fad91b9f066fb099dbf26e86267c0c9122bc252059f64efe7eb - -COUNT=27 -L = 560 -KI = 67f343edbd18a6a910c5a8c6533cb79d -IVlen = 128 -IV = 9f1ecb7e88bbc6157dce9590bf2ffc02 -FixedInputDataByteLen = 51 -FixedInputData = 67b7283d7ab8ebe49edb12d8a0b9b362a798fd7ac9d1b1f0a7594590e320be512759ef648b89beb855842553f2529a42a3cfc0 -KO = a491cc41db8fdd60a594dbe146652138701f1bf8faf6621c03436bdeb407497eb49755a58608ef908b3b4bc4f58250b59873b290d6523f94d207f49e9ac99c5e6dc3be6aa633 - -COUNT=28 -L = 560 -KI = 68faef0b1d0cdf87a525b20073f61f58 -IVlen = 128 -IV = 64d0d67aead79ca561a4da551b3e97d1 -FixedInputDataByteLen = 51 -FixedInputData = 5d7253a77031d621053d45a28f699617867e125f3d3e9d554fbd12d241e58885d12bd296393efed88bc8b346d5492708d10f0e -KO = d3bc4d6f9dacb0ff651db2bf975f5398f346a0ddfaf44951a91b2742bbdefa7ca979e11e98fe7dfe4680b0adadabde7739bcfc3614525e74b3e952523fcac2486be1f1da9435 - -COUNT=29 -L = 560 -KI = f71d5e78b994c6a9a5197c7d94e0945d -IVlen = 128 -IV = c53c0c10650d31b19063b319416350f7 -FixedInputDataByteLen = 51 -FixedInputData = 59d660e31a4b2dd9a051c8f711d3cf78e32c15c95e0f8bcae5d36fe664ef8926252ebd97423b5f24289ae9629c400e4dfc6595 -KO = 8e95acad6e32362cd22c6ce3b09742afa206b469f75ecc9a54eb7c098dd7a71f088ee6d9097268ba35ea8f1e43713016fc5e7bfbc95bc8b7b41bfdb78920e96bfaa5647f476b - -COUNT=30 -L = 2400 -KI = 0cb4dcea66050057453e4f15ad7b946d -IVlen = 128 -IV = 28b6c41901c8aa2f1db7b431d28b3308 -FixedInputDataByteLen = 51 -FixedInputData = 3df8de6d9589ea2a0c10cad3e0b146d9bdffd39a707efeb89652f7dcc163db38cfea434d4681633eeae1de8b992c9d22164890 -KO = 7b4ad5f6f9651e16fef2409ce0caa22732cb56a0135b93f4dc0563019c3d7224db500b797d54ace69d8044762d8b3650910b3684b743c216d40534f8669622b265343f2891edc630c9b21ad56aa2dda76cdf4b0e7e9ee02d12916c152638a11b239333b1d1de2abd56f9f787445de7da7fb36fc77d6daf37c7ce1cefd5aae3e70b10d46de4143fa12aa2f184452915d665746ef8b33cd14aba3acddb86ba8a963856b864ddd31f09b5ede1b8d1c25b431db4280eefae20e1d1e539c1919d51a8344c0373219bd898f03167d7f5dc6e215476dc54b50cab8b85713833c46c4aaf79641a7f8063ae95b63300d98d54fd1a554e82b22bdb401600c880b4c3e9187f049ae74a976e27bb9371df3523b306a1e0e1d19ede6ca61d75cf1c6193b41c31947136ca1204cc14c009bd7f - -COUNT=31 -L = 2400 -KI = 1ea337f875d48a3444175c4070f9c44c -IVlen = 128 -IV = 423ca8ebd773533f5c47fd86c6a435af -FixedInputDataByteLen = 51 -FixedInputData = 03b34407d8c4f6bcf8e1134344366c5a793675e4771de8bf0e6ffbf88bbf18d4f33a7dd8f393a8f8a5fb7f61fff3570950e7c3 -KO = fa491983dca2e1d422dde621005754458b962e44bbe45ae25bb6c954576332f2ef420b458653bfdd162cf4a0c7763172a0ec48b5fd45601bde34a92004440ce6f4c62af12382a08a09c2c473a08d80a75ce07408d1f4640cbd43e9184660ef7c6cf729ac597e9171be1146d3dde671d98b7b5b3c1a5991be19eb633c79092356ae0b581cf88c72f42d1957cf8332268a58732fba7f07c8b6916e94db9b814333c698de73bd39dafad557daef6b76bad8fee45ef4ffedc5a5198806cc852db67da7db920665e99446ad4c07360a586ab90ae4b02a552922fc1116e9c60ed652ca1983521673331594f85708274143d15397a5800f62b66ddc72155e8fa9578c342d086ec7dd1b8b96e05c65d93fa8b1aca7ab5f76e44ff48deea97ce907bf1a5552762f8229e53a915160d66a - -COUNT=32 -L = 2400 -KI = 5731b027ee3e10433e5c0bc9e01ddd6b -IVlen = 128 -IV = 4ae9b9e8a97c5bcbd63a4757a831d0b6 -FixedInputDataByteLen = 51 -FixedInputData = 2d0c08b3b0ecf20f081256577b2f780d1b5e16285b4b85a525644a30a13777e54eeac281c06ba905c0a3e2a248a4a7c80445df -KO = 39670bb839d9a4353cdd28793358b7b759b1a7c79ded8252b3d83f169ae7285a80e267e9bb11c25bfeef455bf0d10182ced1b48d1cdd05dfbb77ed020facebf342789529a777868c137cc87b3028c6a38375bcaefab836dacbe602973ea9274a200df23486f52c119aa4c4582b7fbbb84cbd364742ca4dbfa656f939a648ec1787440b1ae340e55217dd543d777bdfa91fa1b37d84a208f2dc16bd299c2e6fa6b429148a0ff283d3411c1b26f85f6560bdd4792662716ef2471b131c136683ec74fc8008ab552d03c2a743155465464557d4c562e5aadfa48eba1e68f0ec6123f7c49a65de48815ac59dc214154aa70611ab621847633f57153e4929f7fe91950c7461c2dccd67ff2e2084a418ed27864d2d180fea42906c82ae4bc78ef09c9de62b9f4c0a611399dc491247 - -COUNT=33 -L = 2400 -KI = 7c224898883962d9bcf548c383ccba96 -IVlen = 128 -IV = 487f37e8985fe92bc843b3e878aaa4be -FixedInputDataByteLen = 51 -FixedInputData = a7dc3fd7bee2482f2ce246125c4dee03e8268560f87966f3f6356ffe1d209fc4fb1c015b7adfccd437e3675d1492021f01663c -KO = fb249961ac04603a9740e89fec6b97d835c064e85977a813054ab0ed613cc3ddbbdecdf5c6f3deaa9b1f8e8ab77a737c88fedb4e47291b1c51761b245f49939550d2d71b915b9321ce4decbaaa8ee83452788dbc943c23ce38c1dd999e954e35bfbc611896857e67db4a2ffd8331eeddf39203b204d972f778e1684e6af854af69c2ae7a42b92d4067f0a55d17d9260af67055e441c694b2d167eca3bf55f21321ea26fac7f3f4633311c02994d17dc377bd7059568dc3bc50c523248a2c20072858626ce2ad7f09d5ec522595499636dd0656c6e6a2a0072adfae1ae5e8e92432173b06bc59ffe394330b13750f6e7fbc2f297b7abecc0241b5419323529553f1aa2c768594afbad51a5f00ca479d06b0f34f2a253ffe584b7e482c6e329d9c62166f5fc9e9de2fbc1d51ce - -COUNT=34 -L = 2400 -KI = 29fa1929a65d21261c105d89091f21d7 -IVlen = 128 -IV = d3145b3f19e02388e0de15dda2fe0acf -FixedInputDataByteLen = 51 -FixedInputData = 3b6426ca5885ddb3327ffdf95b4bfff0920c56a306620bda21e1c101a66a3449c052ee58495dfa49e28f375db95ed5bbc91117 -KO = 3fcb0491674f26cb185d22011127d3f5edfce44888b875929d77888e36376bdadcb4969df29c66b8eb5eeb64f5758503feca14731ceb1868fe8ae169b879bc40ad884e787d036dab0f1c8c21b3f0614e5db5d872420c430e1280387234daa2bf7a477d8727ccb9b715c929df99cd21193bccf18bc18cf2f2e78ac98054f6ccb22e22287a3da5f76c644932726efdbffb505f54db1f8c9084ecc8b8114d0b9dc6ecaee134a17eff5743e8815293c566941bcf0918407795fa8182375221898e4509688c7b97ab71b9d1a6faed5320f07b2e397cb012b0f337ca99279992e1fdf5dd6e41643fc252cffb0b6d7a2c1721a92fb983e320576fb654abc85d972ee0042c23be6430f5c83bbc6fb2330d4c725cb1ee7057588c60bd6ed763a495a75116d47eb2ca9658be55ec6db6ea - -COUNT=35 -L = 2400 -KI = 876fefdc5ce1ba393bf4e75cbe1e9936 -IVlen = 128 -IV = 4b678cd90f9ba8a0a6ff966e4929e3aa -FixedInputDataByteLen = 51 -FixedInputData = 016ded6af5daeee03c33f3c73a3915ef2d1b1ca713435942748019f104eb918cc25652aa74213e0a8b9cdeb506b6596ea2a9b2 -KO = 8ac06e2e2ee9d2ee4ed04d1012b8d95323004c2de76fbcaf3bcb69af06fa3ef9bdf2c9936198cf7cd9145e522ac953f33e23e380da59f9fb39e7493e234641638c206b2b8ec08337582d79a11ca8f92361e49d6a0890e801bd164db5e400504474c12a3f0f06b75a823b268beb53a8f0680a0eabc3e6359db7efb162f99be26ebb9ef8ddf2218ff91ad18000b74e7432b1e4e15c53eff8b186d4b66909134b2e1dcf3256b9cfeddd2e1c588e8672e9dbff41a4e78be9849c6e23b7dfa8d4b4c0d8a651cd5d630ab9d1ce2f00150f29d72368c796140a9d252636058e4f8c31bd1ff55de8759c26a4174c6cb662c82bbee81f804a101bdb8486892236f629ff9f7d00f5e8034188f8d3853820a19a1dc0fd0fca2d8523c1793ceab554e183f853291a18dbca61a4d665dae29c - -COUNT=36 -L = 2400 -KI = 14555bf524885043df40ec12e006d0da -IVlen = 128 -IV = 1ee105410aea27ec62b7ac82a68dd2c5 -FixedInputDataByteLen = 51 -FixedInputData = 02d0a0cf650c113b70f66e50ebb73a65c6edc8a9129cd37bcd1b60ac9737212acb0f11562a248d1ba6cc714d653a62ee208de7 -KO = df9c1f907362672b7d98ccd06732fc7a8c2549701a88971b645eea422183be4c837e3869d53d07e52dbb3c2d6e5d7fa197f4b73df61e4bbc93afa83b1c039d5aece3976a6508f8503af9502e99189552bc9c910047bc377cc0b7dde9c27bd47a8d71d89c334d00090492829a58ee414bea882df01ddec1f315f33a7123ac0af7c49ef18dd0cab0a888e116654d498ce3a0e9416c1e654605581e8e8b0bbcf44878eaf70c95f7a5da46b48c0b8b4d42e692cead30d66f4c81bb25095034802a3c1426f90dcf59991fd01bf72ed3c4fcea6db93425c55b5facb08d36c0d225f13f5cd8ddb8d6258072916998bffa939ac4caa44a8b845cb159f90a91d0e978dbf50ec2dff978ee8c8946e91aea773e7180c3cb7aa0877b0edea3a7f1de9b47c49923982847b38a237d02cb5372 - -COUNT=37 -L = 2400 -KI = 05d1aba053c7d010441227fb78272c5b -IVlen = 128 -IV = dd3a34d2130d7f9a82c30606bc83c8f6 -FixedInputDataByteLen = 51 -FixedInputData = 3e083b63ff12b325a6eae2bd423d50467269f498fc01051716bf89cc8a348eb992a57f90d8441e4c667c792e0a37754ef2a41b -KO = 0fd56ae13f863203d6f12332babfdb5e08eddc42e98d8c5deda28058f1214e82eac4fc77ad6cfc79492cf43230ed10e71d6773cfc425e3b4e556348452f89af2e9e6533101b35ffb1110e9df00f798e31109eeae5742e2a0852b770a5e0f4b3fa7cd9987c2aeeee5bf2f7c37c45706de8d1e77f89c8fdf66cde8c1bf7bbfbd767abfaa3c8f963add0ff4f7b461f005b3f44da9775802d6186bee856384eb539947c02c82fc2707c1de3482e870058e71424ba26fb3772252071e5dfaadc62d72e08c0653c38943b32653888533a8c72a4a4297b952778ebe21373618107df29d2fdf50251a55b6c5cee7b770e9931a0a2ea63b5b734e0d86059186fa267386b1adb25db711044cc4c27c97e5ccdce0117a0dc72edbeba74428a373d92456b48aba0f383afa3232dc5c411064 - -COUNT=38 -L = 2400 -KI = f9147332d51f564a81dcda7b361a7180 -IVlen = 128 -IV = 668f4b62a020e40ad87c283963d3e323 -FixedInputDataByteLen = 51 -FixedInputData = e21549555da7050a64e8b3973e72783537d7eaeb9af5284c02b99a3542f06971e4a11cc3306e093f4b8fd93a70f423fec457fb -KO = 6e4c26ac85137c6ca6e561ff2244e225e10a56e7c30d8c9297d3aacb55b32023a5f2138d4faa7a6fe80cea2738d85bd44952069bbf3e9dc93083945c43c9eeecf5d860caa280cf1530c7be8fa8d1821c82308c69edf5692585348b2e58414bb47528695af4e040dbb92d16537ac6975e60ff1b845aa5671f6a66770a4cd7fdd2c3f6326319c1b9dfbab5572cfa7ee07f5feb5a3891015369da2ddbb0394ee7ca934a190fd713365212d55a2e8e5ee837ee9decf2d8e5f171e45f33a44a452ae647e884a6da0dbb798d147fb4864da6675c231788dbbee036d7745baec9e0f594b51519e919bc3eb68c68e9f96fd367d985b5522913fcde0796d8a319bcfd7de350be722c17a05b58bd1417946bea001843e9b38923161662825eb7a6a483d815ae706344533b1e133dd9a565 - -COUNT=39 -L = 2400 -KI = 814b66b7b34d416e9c6dd26c1f7bd959 -IVlen = 128 -IV = bb587e57f4bb8abe1ed7b5bd55afa263 -FixedInputDataByteLen = 51 -FixedInputData = 16e63daf200a254934da736326833ab309aff3a32463dffa6446df3ac94d03283c38496855c47a9dc67e98b1ebf5b94ad97bc1 -KO = f4ea732a7be095ecc274bc4fb98ace1e5dd5f6f95353087b2f3aad3a903f2c5a302a80c1e44ec6f26844ec89c1f80885833cefd8406fd2e59d07c9cc2bb518d93af73959740ec9e0240f146a7b6b56f2b58b3ddf8cdb05edc1993a0c9eb377c33a583884d35f367e38ce0f62cb45b892b36b392be78ddbbb703bb1c587a532b65e18dc6dce20c7e74f739744daf59c62220264f6696af284806f5081ad90599320cffb70208cea98940d471452c5a1d44360f5bd6913101842e0460b7028592b09284e44ab6499f19857ffa222f6dbf6269f23cc81a8ec89dbf214dc93faa7f0072f36c6ace6355692faf9828ed882f5e5c0b28f310f2241926ef2a3930cda9b9051493ad6e615499b7579a0215b3cd2b57800f2d0345b7c9be6d67bd5385e1266c6d242139c48db66bceeca - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = fcab365e4c5e928789b31f6ae3e0a7a6 -IVlen = 128 -IV = 05eeeded88bbb705264ffab0cfc289b3 -FixedInputDataByteLen = 51 -FixedInputData = e19d2befbb3ec4ea95e7aa4532915f10cd0af3a522464dc83af0d11e7389e8b2d978b336652572c042848e6ae46ea57eba8ab9 -KO = 23a6dd7e673a9db4f3eaadc980d9555967ea8f598ae71366c9ee35cce9bf7e7ae34e0c5b0c64f9c77639017c5a2d5f5891da85a85e09894d81e1454160d1c65c - -COUNT=1 -L = 512 -KI = 4a0b74cd50a7f6f8454d7de80d47a368 -IVlen = 128 -IV = 0675ea0630c9988d3ab1cb0ba155455c -FixedInputDataByteLen = 51 -FixedInputData = 50952e64005f67a477198e9b9611e3cd5ad7b62fc949e6d3df639e0276d99c6c3165ced063f27c7cd8d9b62467c73ba7aeea29 -KO = 96132572a34fb56d8b0d4798b6b371b19d968e0572d2e49f62ddc613a90ae193f873117f5de7c56625ef961556f65c0b4058cab197d34a3f99b9b05d5888a1e8 - -COUNT=2 -L = 512 -KI = be021ebb65f2ce051685cff1bbf8103f -IVlen = 128 -IV = 8220c9beab82cf1fcbbd855c702f007c -FixedInputDataByteLen = 51 -FixedInputData = 7f7548a897993bdfff75340065f445ceed9b26ec8bfb7622bed9c4c14fe99d8f56f6ffbec42a747cc81fa899a2cb7d0b2a8ce0 -KO = 5f5569a53d61021d02b5210c1aed94702947a92d0725485c879b51d5400ac67372f503120cee4409d67876f570bb46de8526ea540387fc3bb32aae45323a321e - -COUNT=3 -L = 512 -KI = ddce9b291c5a47ecadcfd5dce9c20862 -IVlen = 128 -IV = 0ef30dcbb183a68a70ce3f45b444c633 -FixedInputDataByteLen = 51 -FixedInputData = b09444753ba3f19b74b24c80e28815acd61f1c3c355b346a23c1d06bdb93131e0f27c0c91fa933864f8c65d1b6cd68261f09e6 -KO = bcfea2a582530ea8c1bbf384613c13bb0cc8fbf681b19b9ba70f01a35385504074307944d195475169cc1f02b359dab5b27d879c2f39dc0996e444af276102a6 - -COUNT=4 -L = 512 -KI = 823bbbbca09cfcadf547f661c3b31152 -IVlen = 128 -IV = d2582b3c34af568bdb8566d45a24ffbb -FixedInputDataByteLen = 51 -FixedInputData = 88abd9c2e374dcea8011b644a74fc9e96a9f9f9b88596943084bae59b79a5cb931eb77284fb4b4261602b5fd589a2396aa7cb4 -KO = 11747386ba4bb07a03adef09a938b1219b7223390aa3ac64d9009bfb687fa93dd2d518227177108213b6a0f834a295a0ae90f5a44270a44e1f62e7f87826a9a7 - -COUNT=5 -L = 512 -KI = c84cba67968278c087a1feb7ca1f70ec -IVlen = 128 -IV = b2ab4c6a9cdbe873a310d7e877a9195a -FixedInputDataByteLen = 51 -FixedInputData = db5968c9d0ee36e127bdf7209d6a930ae05ff4098e4f819bb0a1d113897cf1cbe55e99c4f67787ec0641ba5fac5de7f6d194d1 -KO = 8d735966fa04a07fdf19cb09588b585c2933aa689c4fbca7d737521840451b768a78d63fe3796a2f075b8e40f4c664789f695e74770cd6fdd03f8f8ed861a360 - -COUNT=6 -L = 512 -KI = 09feab2289ec5a978ac63d6ef4cb5f22 -IVlen = 128 -IV = 48a4999b3638dc42dccccee5dd0ff71a -FixedInputDataByteLen = 51 -FixedInputData = 056bc3ce40c2c49b48ddb52f68e806858401a622c5cf0da62db871c6aaaf33101c9ca62568da2a5121a2729f3fbc5aa432ba55 -KO = fbf94a3585bf5facc3b5736ca5047a6f18f36bafe6f2023e86a2db942c276445e9789dbc081175c6c3f46eba19009aefff9770b5e093451e021e9abe45bc57e4 - -COUNT=7 -L = 512 -KI = efb1fba7f1c6ee5ae6ade383b885a8f5 -IVlen = 128 -IV = fd812332dba5844229956a6ac85e1f98 -FixedInputDataByteLen = 51 -FixedInputData = 2a5e765718216a6273c65246768e30a9ab0eb46827ad4cf1a248b686aa4032256b7f4ca63667af93ab75a0a18e61623f3b9f8b -KO = 94093e58eb42fc10ab646a9722504c934614005c3ba9d51a24a72cfbeaf01305c45773208b848eb2831ed2c995b3dabf8601b5b210958aad79c540d6837609ae - -COUNT=8 -L = 512 -KI = 52bc3347d727fc9e566b6db509f3055d -IVlen = 128 -IV = 08d5e5cc25bb176341c61b8d507b09f6 -FixedInputDataByteLen = 51 -FixedInputData = 751b214e8655b4e4cadf0091a5e94b2cb5a712fb3a42eebfe6d13307554a9d2e21d2c3ae7648f7f7499a683cf6c5a139768a8b -KO = bd497d1ae19935b7062f42a25089267d0ff4f5ba5d974818b31a88b3d7b4036d0e814473f16ffa73d3d06d47cfc2aeb4ef5ff77fb7d0a3dbdbeedf189f05fed5 - -COUNT=9 -L = 512 -KI = 979a8a3fa55a2adc6ec6d9a8a6d6aa6f -IVlen = 128 -IV = 1f19530b732984560771715587b5e5c2 -FixedInputDataByteLen = 51 -FixedInputData = 6a02526d769575d5143d67beb8500d536b2cba8a81a4653c684c476432d7b35dabac73869ae2705428d3e0f4889266f0838b99 -KO = 81b4902a860529f2bee1c3cedda474ff4d36ec3298d1f1889b24bb51288e8f2ddcf8437470e8a9c4f56d7ff41c57f44ad470d5a45823cc909ce763ab2fa1227e - -COUNT=10 -L = 2048 -KI = 79be54a6ca8d4dd26e43bbc966919bbd -IVlen = 128 -IV = a48d62fade44d821750921b047d5b751 -FixedInputDataByteLen = 51 -FixedInputData = 380b4851211465f2e49bfde9d651c38b73e849e2f61f8302474a3c11bd573889668bde3d09936f3ebf6fa18d49b8460558246c -KO = 3273b457a2de5b05490a38b1252405b2d5ee9107e3e3918ebbe8325f5f5e3a7ad0565e34359e3a04912190523c04025f20d4367c5ebf51fdda5bb4b2a0c8f9b7cd8c36f5df6671ee734da6201b4b9e95dfd796efd2971d1efb4d4db1d0a85e3517ab386157dffcf13dd4028ff4ebc924c54e30573d5eca729a2597306203e383568bd85db9c896357961c2d0ad9c850b0f45dc1df9bbbbd8109932b6bc61a5ca890d72bb125701c712bbe8d2291eb35a76d43fb8d7c20e2e74840b8b1caabe4468c50e16b476a85a244beed717d783d52e2447e8cb1a0e6e6f63d75a0d5846f7dfc788b801bc335b5fe16c21cede8b22481b6fba002caa60b432de8541bdcfe5 - -COUNT=11 -L = 2048 -KI = 2a4ee46856eb504faca390c3bfa357f7 -IVlen = 128 -IV = 26044c93a57d91a1232e4a4de4b7e2d4 -FixedInputDataByteLen = 51 -FixedInputData = 207cc00591d709665d3ac8bc492201d44bb16a8176f3ade648156ccab50e01429c2420e0bd3dd81c241add1d00227100612def -KO = 46947b1d19c55d8764a34fae37045d7c69d3173b390898165a3c92bce2ae3dea85a39059e257bed1943eee3877e548df7f08c552b018917209d54150e2819af84af942e9a1eaa96a4364fcb3e9041461b5ce83b746f402d447dc6dc2d419085d2c3c2bdf9f7a8594c7c32ec6060e4660c938472e69fd389acec0b7233da3f4b2c04569c47e4e715b0b1e2d35bd5bb6a1d385ded2995d280da09d943618298fcc42cb42617d409e18c76b05893274de06e9d69cec67727565979ef7074102cecd750a600237c48087ac413fd8e12a33d07857da3bd25a3c09333b35fe855bb1ae5f5a7ba9ce45ec65d1888a71fa3584ab1be793e313d5b08f3a8865ae0ad21776 - -COUNT=12 -L = 2048 -KI = e53f66376ebbce6f59d36c545f9680f6 -IVlen = 128 -IV = af2ad12648e428026682ae1bbad2cb45 -FixedInputDataByteLen = 51 -FixedInputData = a246e3a07c5777e933529fa898b3c30eebfea39703e41b7c8af0dcd3e884a6f15ebadabd81e528f8f85f36319d5c3ed258d89c -KO = 8970dffc751cd40b1b8fb8ddbc46e11d0eaf33d97127a2d97e2d4df1e2ff15ff73d24d75fdfbee4cab6b2d97a7daab465498e96c414a1bcc20ac6cd9a02e032392ad47726ef37cca7987ba9e5dc86e4b94bb96114b72b876f87a1b4b6ef581b3b35b23d5fc298859de8da82999ed78efb9ae69f74ff8e330f231e3bd0ac56ba58338bab82be0c886e19785a8659918637188c03339e963677a62e7085439acf34f97b7c3c6c5d69454941720f9176905be414892aa4deaa3d1f119317a36fbe5fd09399718ae0e9772eaeb3bbd4846eeafab18dddb04ab024b256993a93af013e39847ce3e800423de38760444319d0f27fdeccb147dd69dc98bbf76f3c36b68 - -COUNT=13 -L = 2048 -KI = df8bf04e4df79d40384b477b80cd6325 -IVlen = 128 -IV = 86d27859abad391731a388615c1989d5 -FixedInputDataByteLen = 51 -FixedInputData = 259649fa66d56d5e55a0a48540617946f57c1aefd3892eed81297c8e5971bd26c046ceddfceeb48ac7e322d07196c546830f62 -KO = 489b7397feb0bbbd0c38b98be7b45564e8d8c2c5f980c7f022cd4fcc84da14f9f66fd778642f1d8ce653e49aa6a5b628cecb861b0daa362f37027d13b17f0e74d751e554a2098f477945406ea04819bd183fae880db8cba8229e441ee2988351b657a7abfd20cb11bd85ebd0b4421047502e6ef691dfa2bd41f078e303da0124071e0aece23bf8658f3dce60685c1372a8158ad4655787907694b2fca9831703111b15ee29586335abf28d9d410b9d2a8820e0470b84533b671dcbdc89dd3206c5c1016494ac315961729c0b4a29a25e1b67af81cdbebead507189a23432360b866430bf52c552c8f2cd623cfcee36c37705787b9cba18ae49da1549d6e8c2a2 - -COUNT=14 -L = 2048 -KI = f0afc92babca14b4847e2dac66c633b7 -IVlen = 128 -IV = 06649252f6fcb956217ab304f1befe2e -FixedInputDataByteLen = 51 -FixedInputData = 2cbe72a55b68520e6cd242c4998f9da9b93e1c92c7da8b965feccec569f2968fc0892c1a41f710524b4bdd26efb8083d4be9fa -KO = 509d7f86644a8344e13c9e0f1c6413d658ad2b3275244913f37f62a98875192909ed5319881bef7067249ee11155eeb0f38c70872944295ccc09bf1762964734d45171524c97f45d4e1b2e2a77e1990d8593ba8bf8f734c4b23dca3112e469b77e65b5e465fc47352ac7e69141d4d567315cb9e3f288ccd4f334b10e39e80ec292890eff56b783b70089d4e33e48c18b0e66b7055a344118fe8e664d6f6177366c69441306baf96623bbe886b7d9cdd7c24a727471e22b79236af27c1cd3b7e6458a6e196626635d161f31dcc6197d578cd3305532380b31309ca4cfdbbc0a4e4f5caed2ec87d22a26f8f67515a8adab58adace50d5190d8903e569902cb54ff - -COUNT=15 -L = 2048 -KI = 11344a4183f5470d4fc1f10cad0273b9 -IVlen = 128 -IV = 6eda86e95c12acbff155b240ce078675 -FixedInputDataByteLen = 51 -FixedInputData = 5a53d110b96fbeb135b7bfee2d64af4228c0489c1e00f140d1a192c991d603433f48f6091fd7e7012832d64af6fe469ed74462 -KO = 0bd3bf65975d4844291c0b2c5a408ec05ad46a45f6bc782d16fd11be588d8f7b290e6114581e35369a405f38e460b37c37326181570233b2146c1dfb041f96739a8137f4413de99d83ab6091b71673dfce1f0929ca6dd8e6559008d6c9275273dbc72d01df9405ab0e003835465d0a69cae99c8436686b7053a5ee81645cd80187adf3e6e542b5f5efea69bdf31609033e3d98a2f4fc35bb98f2b93dcce124e0c6c146599ecaf6738d67fbc114e4369c3b10bb340488ac65d468aaf4b635a5b63c86e3b132502330e09d75aac77a82269965388bce10a800697f0b81ade27b7a424754ccc8eb688d852f8db01bba4f9943dbbe4362ddf45adfd6eef0019bd067 - -COUNT=16 -L = 2048 -KI = 133659deb8e3e93b422a8309b2a6d8ea -IVlen = 128 -IV = 9bffffcbeb9ce0177a582b57b3477dba -FixedInputDataByteLen = 51 -FixedInputData = dba1c7f775a96e505c0a63abd64f1536a4df815b1ff899c24eff1bb00ffada1e5ef2ff7de660f4e64459e7af769c857655829a -KO = f35b5d0ad4d9c85337f36588c1bc811b93ef0fb76abdec808251248fb62087d121921b22e17875d67671fbe1b7b0525fa3cd1ae5cc3d74c7b4ead2b1cd55833a86210aa5315fe1aa140eff2d3b85c3d1196c179ba42b00bbba997080882c1b58c456583574c2e0ce218efd42ecbe298b6184397ba2e28aedbac625fddd5f32fb67a9803b17b0e0db0aa8cd9e13ead1373e3b3180757bd7671e9c722946500f84ef4f7960a4c3d20fe3e36862710a6e75c2c357403a25849be94cd7629e674c3275553db8d8a1d2f5ad9984e7cf094adbb46210e852bceea9913ebf92e6e5b1e7697f21fc21a23bc977df043a3042f0b04abbaa75e4077372265c8d264503153e - -COUNT=17 -L = 2048 -KI = cca3bb62d99ac9f2a1a9283612d59eb1 -IVlen = 128 -IV = d1664fc250008a1c636c5d0161a41020 -FixedInputDataByteLen = 51 -FixedInputData = e7829a8c714696de775c9071061fd267d7576779f327f964db02e5e092ae87f53cef168662aeeb52db0cb2870dc58a97d467ad -KO = 77e9179f528b7653da8bb3aeec5631ec5ce1c3e9d1176d30b0d607af0bd576ca3d8a18d192b9b5ef0d33ed05b3cfe72091e89f7da592a59bbba38fb30e099e957e46448d8044dcfcc075faecb6e842fdfdbef73130df900f56a1744b59cd648720ca205801adb8333d74ed1b9050f2c12dccff5350a16b6eb5ad976e2a6cb4d52bfefe8b174f666eb1067f0a55b1ea47e1f33ed2080c011953bd800f0f8e575ecbfa9477fd7b5fa7d8d9d60353f784253ed05fe43773110f8f845838298eaca8a9c01662a22be4b131d9944c3da3ece1be2173f3a4e8cecefbaea52d09b5cc44a60cdbae3d313ae78971603f27c19f0528fa53042a81e3a513e01f9bd94c1ced - -COUNT=18 -L = 2048 -KI = 1f158ff7d47f7b662de4b808474b17d7 -IVlen = 128 -IV = dd6e8214ee19d7c3bb2d52722da61cff -FixedInputDataByteLen = 51 -FixedInputData = 20b5ee17595bbb9265b53fb8b276712a73a5a366b7c588e6f967331467d0a1d06696121281a1f802f292b8ef1a4caeffaab6ef -KO = c7730e52b92e131359bbfe7304567a39c12d8c020ed7b2b2490d764b673560a46ed34e855635aa904801e4fe8f07b25cd7264a05f84b51d1fc93570b6ea9a30024312b098078695f6fe01738d5cd34c63b190768b2b4664f393bdee282cc056ddf25df0f86e0bffaa6dca9ea2a330ddaee64e601f057a5c0869b9481f08b7d9c065de56c31813ee4e286bf63564f0322bfa2ace511d1e484f8efc2ec01ca3ea337fe9611807b59c317b689b62f11dc52a33f3ea362dcb985cffb730e634807dd3e76ecbb1bf3f17b3dbc39255a8e5a5217e3cd6fb9de646b624d3794f8f865a2558e41190afb5a2c686f74061c0d4e0988b12f5fa9dd70c49e0932b090b8dbc3 - -COUNT=19 -L = 2048 -KI = bd2727a3bbdf33b413dca49d1c36904e -IVlen = 128 -IV = 10e570beb5f2b39304b2ec3d31742362 -FixedInputDataByteLen = 51 -FixedInputData = 45748fbdf148668aebf9b1c580f19ed4e2cf84eaae56df4a106c012187d2ee3995178768376dda94d28a78a582bbbfe8b276ef -KO = 3bf1248b0cc1ec0bbffd1a160ab540939bc95b2260b04adf1f6d75f8fa0271bb4307ee4751ad88b42836c1c6ed548f524f261fbe8243505c6c43b845fa7a54c182ddf700d6c98c6daafe89f1af732f60c2dbfdde36dc3feb32a815280c6a5cb91b3807f7d95e73dd9d621a164f36a24dd37d9fe0abb9e4462ee0d8da865550df75fbf2076d2f618b44aabae30b57984b55084849e0b572654a31954970e1ac24cab9e19daf81943476c0d7b5461acc4b33f0a82cb17a58122cbf6531cf8f05ac8204be1da2626d812867837114c3d20517ce700d8a5c8ab0eca0df757f6f5685039aa068750b36c8bab4a40928f860554d6716089750cba8f0cc5a6d838d908c - -COUNT=20 -L = 560 -KI = ab41962f9c7b3671c1affdf2e35bf728 -IVlen = 128 -IV = d6bd0a4400a81dc31863beaa82637af1 -FixedInputDataByteLen = 51 -FixedInputData = 5f96266fcf9f58e4467dc2e631441a9e64c319c620cdbf32d149a10e2a59f74b0e7055f13d6e83603cea7e39da88e5b3d05e64 -KO = 122c7431fa4f679e23e6ceed6e8cfe8dc71723641886fc6685c673078c6f1857de88ce198348cc6a6b7231641a13e3282f19214e37f44d20cc8186b66313985dbad9415989c2 - -COUNT=21 -L = 560 -KI = 806962e81907f5a2b52656e93bb58429 -IVlen = 128 -IV = f70a6754a3e11aad69555d0b3c54e2e2 -FixedInputDataByteLen = 51 -FixedInputData = 42611419464b14f6a4d4854c78173333c6f0ac210ef08b2a8cb6da101b2e12982b1835eb12b74bf1a18c2bc654931ef3d3842a -KO = bfcb51f97c6a03535c2ec6d24991706488ba1217ce7e5a80cfeac329e645f3979ade69c1e56e74c9392b843ab283339dfba67fbcfc85128806bde605f20c2b48493c6dd78ff3 - -COUNT=22 -L = 560 -KI = cada173e616d0d49a2e47f982262121b -IVlen = 128 -IV = 65cce923d0fa0df4bfec1c2e743d03a3 -FixedInputDataByteLen = 51 -FixedInputData = 77f4dbbf66376b543ee40450d7c307f5417da9c1738e3ba5f04a0f3cd22d04e05b7130b95e2d7ed7f8e8113b681b474098a6ca -KO = ee1702269ae6ddd478ed86ab556753a719943338e0af3fa41b7c4c60b48041823f0522c7ae23fcaceb1ec1e2b79938f80a7428e7335eec29c4d3e583f45f263b98e1ae1e54e6 - -COUNT=23 -L = 560 -KI = 82c92c3611f0f6422046ffe3dfe97514 -IVlen = 128 -IV = 45789a12d990d2918b7628b75e5cebc5 -FixedInputDataByteLen = 51 -FixedInputData = f65c74d7a5f801c35573bc264af0d9a8131dad417ed59380de719b7fa0e5bb84d99e416a91046304c7b4e3a32d83e702213fb5 -KO = 6e8465be363bcd986a14c9431c2c92e532144669e67b61d847651571acd97a39fcbf493befd3bb60dd2226d1a7bc0d5305c7e5650baa3335d8d7e07b6f63c48662aae3c0061d - -COUNT=24 -L = 560 -KI = 358ac3967fda3ea901149769f5f9c706 -IVlen = 128 -IV = 25062983cd15457948251afe05c45bfb -FixedInputDataByteLen = 51 -FixedInputData = 0c7c3c2107ebea58b1f8d2a30fb76bcc9f78fe86498b0aa33c060cddfef3de801560c18149d1931507403479771103df5b9170 -KO = 43884b5e46ceb981f18582d4704f6f2e9ab64cfc624d0c7fe2af22d9127b67600a250fed17ff2ceea76d77784d5e0dd8ec39d0e02c6ecefff88922cb7a6dfc0b11fb0452d69e - -COUNT=25 -L = 560 -KI = d49f7f0c1b1c7bef6f2b9ee844a97458 -IVlen = 128 -IV = d5a468ede51175d5aedd291253ed1cf5 -FixedInputDataByteLen = 51 -FixedInputData = 18f2457ab674f52718196d4f9a93df547f37fa8224a986ac398d058934ad1acbbafef9ac3a5164f0c7f261c6d8332213030df8 -KO = b223543d8f79b02ffc6c6ed068c213d930a3568e4f776964cc4a5d3aa26fa95be733e482cac8030cd0c28c954804e172d4ecbe5c6bfca433fec5a773eb0a522877a4e4f2a291 - -COUNT=26 -L = 560 -KI = 510d54624efd03fac77212ac50731e17 -IVlen = 128 -IV = ee37ff70fdf9287158867c521b405974 -FixedInputDataByteLen = 51 -FixedInputData = b48992b7c78029908abe40531c6b47d098b92a9811dfd3da54edc30b5ef3d0649033a99d2a318813ef4857751700f6d88b76ad -KO = ebebb3bd28e83df110cd214800197ecd0314f851d88da40e32bfce22704eaff0284b1ef383c11470b1babe4d543651f19a6d06595c89d4c254516dbeb2d99b21246e3582a008 - -COUNT=27 -L = 560 -KI = 5eda36c1a2c344951f65492050c77343 -IVlen = 128 -IV = 0d17666502cf276003b58137fa73f531 -FixedInputDataByteLen = 51 -FixedInputData = 69433e0042651abcbf6dfb8f6fc4ab8754d1e8bf4db487dd88430a6fd5dbe5085fc0e444571c83cbc8a16465bc1dfb8a30fa22 -KO = deb65359d71bf90ab819eec22c8ebd25bb4a1e8d2d1811ce5f84c915e413d3d4b36d218b4a0273d5a9837cecf9733d4f468a69d52c400b3853e5b767e590c75ce826423f5ab9 - -COUNT=28 -L = 560 -KI = d4639b7a14d2fb611e23b1ae2244b2eb -IVlen = 128 -IV = fd37b82118dc1de0fc0197c3ff2689fa -FixedInputDataByteLen = 51 -FixedInputData = 404652bdd5d794d98355fe122a247f4bed0b598d613c3cbfd2b00025136912dae9bb5e64a67a76e1b8913c4f9f07cc7f8071ac -KO = 517cde94e54578446e777f188d6cf943c65bb01b264ae66089850607016aa0d4862b66764a27c2b5e89bb242af5469f9616ff28c7388f93ac3562c0e50c7d42797590ba55f86 - -COUNT=29 -L = 560 -KI = 096589a7970aac62b0872b51db826851 -IVlen = 128 -IV = 3bb9f3c0b46162d8e8ecd08cf32a1e27 -FixedInputDataByteLen = 51 -FixedInputData = e59a9f070cbed28c7185f42dba13e3a856a0a7df6dd6c2d4abd8187eb1718522e49afbabe1799107f60889576faeee2f9a0904 -KO = df68f0c8383f34ca997fe894e92cba811fd668c2fb0334bcaa539543319c2376d06afbb38d2647567052cad78a96cf2ee59476e739e60a806c2919a45f15f39b342de8bfdd78 - -COUNT=30 -L = 2400 -KI = 5d096bfa1377372bfe54953728322b7b -IVlen = 128 -IV = cc954542dc942de3e77b423017c19b68 -FixedInputDataByteLen = 51 -FixedInputData = 010ac0276d12e0e9eeface032dfed8b8a3615cf63e7ce97456f03337c7b404b8b441a03641380ef61b95de8ba416ef4807b77a -KO = a08a21295746057af248627006357cf220fdbc5ab89ac89d246ae81ecd78ceae7e28ef4b1356f1dda951092462b81c37bb8aef17365461bde5e86783026038d5cc8cac04a4ad1879e2f41dd623aecd37df59d1d7a007049ade948594b6aca3c9f3b6b0cd7c13409404f68c4312dafd7bb390cdacd616a992ec7e333259f08fd1c369897be6a1cf879926645067eabd17a0a903100c0568c7a0b439c0bb4f39ef26989fee4970b1017f94813fd1b5f71de17f197eb0c24570fef9eb506f6f96884dc79605af4862d894ff1a58485986f26251ba771e0d0db0a0490affbe0cbc4f55749c6fcc2fcabedfb45a89d12a04fb0f09f8291aaca6cc20bc3b0c15ffbee61d4a27139d76474b5e6395d482a5b5610c9aacf314661a996f82efa3d938201ab16e47a768e1a88762c7b4b5 - -COUNT=31 -L = 2400 -KI = dd49ac439ffa494587753353206d2800 -IVlen = 128 -IV = 7678f516fb15ac616e8c942be8a69e16 -FixedInputDataByteLen = 51 -FixedInputData = 93f16adc75f2ea9387ec331afd57fc7b8092f6518d8f8e6bc5bd388b60a948bc5fea1e6083395f1371e11a9f9ec56d96998ba3 -KO = a4b895e12ae5f049fe1383f98ec918efdda9875e8026326276095632a9d304d3e2881b5b46c8599f0f2285213008dc91a0c6c9171e6c85b100fb842192572fff488d584c2065750c802092fc7601bbbc84128bc5faa6f425462812dc9270ff28c84647331e54e748b7427cfcb5f7dbaf6da24c2dc97a94775499912b03bacc91ae40d6724ac116cf14ecfeda95b3ec0cbd32655db4b77685c77acd066ee5f9569d65e274d1a8abd3c4c7e93c863602fa8a1dd9d5f233b9bbc72fbd5666c2d48dd0bd49bb5a95a6f170a7bb9b09cfdf5737b52f68ebbb2e490246cf10e457fc8f7e6aaf4a1a30afa0c5cadd2d9e1cac404bc47e7b178bca9f683fd3a1f318c5063a5c5d3d5cb426947f2fbed5c21b685d7c5eb578d482af3e9edcfb27f5ffe59595a8345bc518aa8a8154aff8 - -COUNT=32 -L = 2400 -KI = ab6322de85f414f4784c6acdcb4f1840 -IVlen = 128 -IV = 4a9b8b0f3ba023237fded65405b1972b -FixedInputDataByteLen = 51 -FixedInputData = 9bccba7ac0ab7bf71b651b433189ebe210817708706a212ddb4e9b17d65dec0d30d87ba173c3a6da372fe6d79301c0b63ad62d -KO = 051e2c0a521c6b7801103806b86f017413e578006ba7a300293c632a3f2de3e180149d98ec58f68569a01799d43f43006dabab6c12fb436012d6fe2546976abcd519c7a531d96f409facf99b78d3599ccfdba40e468b1b34198723d4ba1257544662390683eadd71368098832c184e54e0c95cbd74adfc619f3cc753be49c7d72f64fe72664192c4a6a8fb0bd0534438422e6dbc0e03402e54ed3c9e922880d177f575e6bd0c2fec43e632aaffdd99567212f44423a22ccdaf8cbf2f1d402b76ea30ac0498ed9b42ecbc7fe3b9daa72a23334aadb5f061d80645feece447e414eeddc743a9b873c1124debbb234cc4e7388f67c3bafe1761ddc0e866818be82924e98f4e2db12d9abf168a213bfa1688282a5bd6864b5e0a5a1fd05949f35c6bbd268c6ba740b356b5b09e04 - -COUNT=33 -L = 2400 -KI = adad729ef0a94feca55df16fa2a14862 -IVlen = 128 -IV = 932990d33865e9793316fdcb77731ac3 -FixedInputDataByteLen = 51 -FixedInputData = 70839f8c6f61dede0f14ccafa402fbbb39901b184ada761c6079b8c0356dc6cdb44c3c3f36af6d60d50a39c502db2cf1b38e14 -KO = 6e08b623fc4eb7b7eb8df2d93dace2135dec0872c57bb4722357af80ed249e0445e1ec652ef2db4031a1f6a1467945aa0c82bffb10b968bc7370916ef78b3897aef192d152dbb8a8ab831a9d74c3491cdd5207fd752e02e9ef252146329f4e7feab5a46e886716d637652053dcc0948e1cfb14051ba3474c5608ecc8025a77b1be5847f2380238c904c396c6e6c792363a9272bb48591d0de412b0aa491efa50f38195c74f6a2458366593cbb3da337edb623902b593839f2ce5a514a06b7a2e585c7fc8f0e698679ca40b5fe7ec5498aca230f12a3071a761192b0d1c81fbb3ea023a56e4cfe957c67054fa0175e1072cda92ccf9580c56b4a198aa92dce137d2d7683f26c115850af0d008d69a34690601d8900e76b649e8fa66cd9a42ff4a486d35addfaecfe7c3d8e401 - -COUNT=34 -L = 2400 -KI = 48af04c96ee313d2b06264087dcd6e19 -IVlen = 128 -IV = ea1951fa5c26930cf97a0d4fae9d1fa1 -FixedInputDataByteLen = 51 -FixedInputData = 2b8c79b8be52f070455e51ce6a76339c718939f490a8710ed6569c8f7737e84dee38b73037be122eb5176d7ea2d7f18b46a6b3 -KO = cd28d2600881829c847c169bda018e0c15f08012892acbf84792dd7a003fcb064a6b85f2b2378dc0541c84c848535e77adc0c23d9f8fe14076ad90e46b37fdf7b4a185a30812266261658326efb18fb02d5bb76c7b2dea88ef1a3c8f73f08d03a9a1ca7df85e9169210e13d1e246bd64dfef8af40cdcac13a4c2499507c4afd23bec40d64d8ea68888b79e5df6e84a56f0e757dd1de31c49b59689e538de5a547589154f1d254c89757eb116271c8093335729226ec05ef08b1489b7eb345c520aa2e4919e6eb1de9ea6267680fa908af393b1653be10bd4a3857ba9ec44c51f6c21482f559b072782b27aca67d95ed878d8067fedc4b10982d66685adf009be9b3569dc72c0e8c0d84a420159d39c851b43de3f908b833e5a7b5538f666c39fe7be45b825b1565010659012 - -COUNT=35 -L = 2400 -KI = 451fe7f1cbf85f972b93967ae455c6b7 -IVlen = 128 -IV = 9b099723fc0664a4bb960c18cef36df6 -FixedInputDataByteLen = 51 -FixedInputData = 3eda93c272a759b54fdd097f9243e580ccca305b963255225e4e04813e769eb241e185cb193e5992ab47d92453a72d5d4d4da7 -KO = 49c95a91776be1d6d9165b13242f3a7ef83d30fed2c02dc2afec7b477cd8fd84a00a776238545cc1ad82142e42cb6afc7fbca834afd7101d6a7d0f200e45f21fee9092cb7f8ee8485095e4ed1432da9b4dacc01dc7315bce7690e53ea4336846fef20af9eeaf111be4c81f64c002ea290db4b6cb151b7c242691609f0538eecc0716f79d964f18111e13fdd18879b9526ce5311df148d3425ab7f4cdeaaf0b820bba94180d7844eb25de2821c63f57b97b218c3b988ddf980b5cbcf884c21ec4c81cc75db7cd0192540e50a78912aeb05ba0492db68ba27966983c803ee75b5500b9db0ab5b8012cc18a423cea0bb72f6a54dbd4f56a6fabce349ba360890d98636a68f84b6b0f8e1d29d27d0c4623d26f799f8f874ff5ea9e633bea2094cdb73d6d5042ed3b8a045ebb0729 - -COUNT=36 -L = 2400 -KI = 3eecffc4be4cf154587df70b497782c8 -IVlen = 128 -IV = 43ae85178961ae54aa7180326f28e3e5 -FixedInputDataByteLen = 51 -FixedInputData = c8a04249540d3b467f92ad3142a373a8da8e7c610597e692bc3a8a446b9c0db3a21bc3164c5c4943fe6bb14db32869953fc81a -KO = c5cb113c234c968d817a0c106839e6be2fe5ecb92b64381255a701caa41f7d5fb92352b5e451688717874e626023a6ca95ea3c5adc0ad81488ef75f3a940120e7f59ba273ca1bb32c6547d6fe669c6443ba8069952234f7aca3a79681546b81f6606a3abb2d34bd8bf58f6a77604ba1325907f484cee2bb8fccda7cdd68fd080be7e157b552f75f91f1d7f7eb85e4e4e13a950c5c895ac28663d0b8e8206f8b07e3c65324ecc7e0d348cbe58b4828cbc31a0e8b600722604b70e2fcc18f2606324df34ae9824dea2b1f3d7071f689a214fd2959eee2876483c964edc3571f1337a0904d514e7820bd492dca29a6ce5b9d671741b99039895554cebc40557eb4bc7b134928cf63837a5acd271c84c829a22cc18710d3cb414151bda6aa01e00e15a122e6744283811441c37fd - -COUNT=37 -L = 2400 -KI = 801c3221a8c4fd7b665ab8a4e1f75baa -IVlen = 128 -IV = f3020c668aba080914c9e25e06559be5 -FixedInputDataByteLen = 51 -FixedInputData = d1c2465ab6243580c1dbad9e8308e4c59895772af752540141b1ba5d408a6062f952919610707592b3625a0c681f78d338723c -KO = c88aabd2bb9f560cb056dfe0b2726ffa27cd66eb2756285662ccf7c172cc3d39c61852785c7e026d96943f992e42a8a130706ff899f8eef9d911c1a3e48565afcf697a1b740bda4d7caa29e5fe9563994f320bca926aff7f4daba857d0fe11dc981ba2400ffcb0a5efc1bd44b9569ca13c5adc55baa006b0b3c02696ee80d91564132902c26a1789d794e0a49ae97a26f0ad4b4e08983a49dcbfa51bc58d2f1573d26ca576eb971359b0dff8c4c2b2dabe8aa487c26191f25303fa502d76e02b08d25456f76ea999347d2155f6b930d751b7a9627d001f67c109e93b7716b5db301094baacb3ac52b82bc4e08e6e64132d6d3dfa416c1854647116efad8c41f7616debf1fa9ee22a5edb92c79d95d2464ec580bae9f0a6cda1b070b8eb383c71238bb3362041ffbebf2b22fa - -COUNT=38 -L = 2400 -KI = e332a2084235068633d9cdffa7e09fde -IVlen = 128 -IV = 39a7fe85625fd905093d4aff5dbe48a6 -FixedInputDataByteLen = 51 -FixedInputData = a84c29893580eb921c9d9f01c7ad5b9607fe0411aa14270eb99be2c97349915c9fefd3205dfdbda78f87ace910a6f76d4ea8af -KO = a063c4013e1bcd863b1e5ea62da14f07bc40508f6caf6487029f60a56ccd08b412c53b555586982ef722df0503fe03270a4e2208d75982f0a1c4aacdbcccf16c3c40128b29793691a8118956e2e0999b3d54c94809a830ab7226525d9ef00c7c4dd65e5249786db7d58ba060691cc2ca6be8537a431ed155c15e7798caa0d812204c0280f9e5d800f785a41fcdcee9e1c5dcc8e83e286fd04a88e2ea79a3cd69ed6ee3812f8645e09b0ad17c44429b08d9dc7afbc0458f61ed77a96827e9aa3c8734f1d541070956e0ade88a3b8acf5589bec231f6b21d5b9e945f6398412f2b8118f93d5820b051e14b23556fd6005eacad8db3b7e7e51b0c9410e4c8139baf28f7fc0d5f527be6d0068a490fb0d3971a0c961f55090147242f464337c46ea58808beef40e0fe3f338814fe - -COUNT=39 -L = 2400 -KI = 8fc6fe5cd5770747a2e22ea0791083bc -IVlen = 128 -IV = 3fc1fb380f6cd13e313f3ca80bc3cd23 -FixedInputDataByteLen = 51 -FixedInputData = 88bf9e78f5ba02e613827fd3b2f301b5b309501eccb5168a2c05cdd2c81d63f956c86caa08f4edd7b6ef55e9aaea79da9fec01 -KO = 2624d50d4b6f03dad19e786641f5b22ec6bc6b6930894574f7f29aad86203614a356639165b9c18fd1abccac7c1032b5b3a6aee8150738960273561c63c551f27335502993346a41e5dff5628f4374813b29b7398c3e8d65ae7da0777fe4bf41db73f0e579dc2d35809ed8e774cd8a01bde3f434b5bd1d924c3a77616d5ead6bfd2a734f1321eee37aee6769a82f5647fc92e84bc615caf14b5f27488f175ac42f7e26f9ef6bb6c0d654b0e4c39ab2a485eb9ca2ebdd57d7fddde40955bac144c29b7f3ff7d44469e02445435c2d4c454d1ac3f4ef61d8971f0ef0e7c7c10fd4ec5ff8b5c0b53c1b7f53f0ce16fd9ffd8238a6b40af3219cb291ca6926dd24710114f0da188691cdcb7dcd6006919d699eb5f34bdfa56f607b1be06c7bc55bb830bd9cd869dc30765dd4d909 - -[PRF=CMAC_AES128] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 476411eaa58cccfe88fc1874287ddab6 -IVlen = 128 -IV = 308b2c56d25a71e18fbf9903fa8bf1b1 -FixedInputDataByteLen = 51 -FixedInputData = fcff65a0052ae95aba66679d0b3b7c26dd98e877fc78d12075870a9d0acbb361a50ff3619369e3bf84baca4d8206c7aec5540d -KO = 998699046e92de0d070b26b234ba44b4a621b864123744a04059b7fe0feb1b91ce9ae49567f43c83b2fc78c3db6f601ba91ff5ec915c533095957e47681e66af - -COUNT=1 -L = 512 -KI = d46524f8147dbe686c148b0a8a5a155a -IVlen = 128 -IV = 15cc70f88b231eb4a6b26f75d154c0c7 -FixedInputDataByteLen = 51 -FixedInputData = d08c6e0aa40fb888cd65f704f3945867e1825ae88afa488d662f73d7332b61ce82b915d40723bc748884df3a3c75984cbb7a4e -KO = 92745e4815d20c86bd68850244373063dee4e961826331732feb63a0ba54214cfbe42e7587551b138f09bf8b4a9b1585ba293c212c50d212e25035eb06f73cca - -COUNT=2 -L = 512 -KI = 4a6a00c17728d4ec1072aa98b35d7d33 -IVlen = 128 -IV = 98df096e885cd7f166d61bb2cdc02770 -FixedInputDataByteLen = 51 -FixedInputData = 2ad63e9ec9b8804ad229a6e012cd6335870201826ddfb9da703a4e72546fe759811de0cc4bbec3de8b7a0f4ada149e3c32987b -KO = 47203af88eb72ea9c95bd500ada8cf45d37e3c30bfce6dcd0978235170d817465907051773cf89b09c82b7cb3f1b4f86dd556a436b3b7a8eda6ba3a2fbde1927 - -COUNT=3 -L = 512 -KI = 3d06d3ce858fe29432976ad333159da9 -IVlen = 128 -IV = c962f32fc0d29ea59f659dc487d64bc9 -FixedInputDataByteLen = 51 -FixedInputData = 77c24166eeb80258021caba0e359e5f8fd64070c3830cc6f555618f4ae633344850cfdd82b114bddb602df98883da8947e9f18 -KO = e0b13f502d43969d54b770eda958db87a88a28c68a297eff50df1845c723243aa56af057ec1a65eb7fce10a0eeeaaaa8580bb0f59bc1e25b82f2784f86bda7f4 - -COUNT=4 -L = 512 -KI = bbbb61628504aaf0e99d9e9c059b5eba -IVlen = 128 -IV = c11b9312cb11da7c365ad1e9eb4d6eb9 -FixedInputDataByteLen = 51 -FixedInputData = 71fbc2b9534bd1b1a864c156c69e62cfccd57c1e3970282c96e7f421ccb5a668016debdb69ca0085bff3bc3530100e64fd2983 -KO = 27a45eb002bb8eab860bcb8b55fa63c60cf5cf762f2dc947572139f442674c8c483c783507229a527b22e82782279e5f8f270d4a56c5a3c29f4f5af2b0ec74be - -COUNT=5 -L = 512 -KI = 76cf76eb5717fb4a85c0bbed8a209aea -IVlen = 128 -IV = 054c22e735757bb4bea731b74acde2d5 -FixedInputDataByteLen = 51 -FixedInputData = a3663668e9b4aa40e84e42714103da88202d2e0c7ce1cf9977b238c86eb031643be0c6922da6a719f6d6fc2710f1a57ca283ce -KO = 041df7fb67eb07d475e0551212e7fead4428bde834dae1ef5d090b09f7ccb9cbe3ecb0a758b48a88d9345a2aa2db0e85c5019650827a2111bfa133504dbd4a91 - -COUNT=6 -L = 512 -KI = 8f54d968442430ba8113c53eeb23bcab -IVlen = 128 -IV = cd6845c9d7a7e204f6194c430e8103a6 -FixedInputDataByteLen = 51 -FixedInputData = 4834bc9621e715d777f9fc8284b6f5c8a24499b21aac6db6b393e4d4572ec91f50ced357595d039e96d256b63300e4a6a8e710 -KO = 76b75223b6db5787d4840db8418910662ea70a00875c5c4a758bd393cc74a2ef51f6626ae88a0ea353ba1d0e483e11bece531a12ae1d444697897b48a142ec72 - -COUNT=7 -L = 512 -KI = bca571526a9813bed465eab1ce15706b -IVlen = 128 -IV = 2b4df52dd4c71a38510713bc470deb22 -FixedInputDataByteLen = 51 -FixedInputData = 49c6ce430c6b05389cb623b5adaeb2effbc0071491ff0a6e4e3c05dd5c1b573bc34f525dfbdb08677493c6fbdc408c8c952e94 -KO = d0d951ac3ae653c1e154e49f614473b0b69f20201f70c8b76933e6c38018de3fe5781110cc00425d91feb765e320e94df6b086b75b1dc6381256e62c93851fcd - -COUNT=8 -L = 512 -KI = 5a7c2f0452f90709550cf7a72bfba6a2 -IVlen = 128 -IV = 6992415742b5e9aa151c4cb8e736c8c9 -FixedInputDataByteLen = 51 -FixedInputData = 395e50ffaea956418f5a538afcf04923fbd6413165baf28fffe926e7f5558e92055a28080604a767146d628916f2c3ebc9e148 -KO = 8604d81f5e3c77d357837fed9e21e5fd95c5592bab8df03921c6b73ca6e670639c3348dd5cd3c341b02a934f504d3e42560eee0ac0d49a089d793fdf988d5d4c - -COUNT=9 -L = 512 -KI = 5134bac3c6032136727b45c64210a79b -IVlen = 128 -IV = b7aa51daf9f2de152ba7a19d617be461 -FixedInputDataByteLen = 51 -FixedInputData = 63c2798de6850a8e48539f73547601951028a2052d31e8ad91fe1a835129232665b5ea87916b064eb42f687942b92fb6df6c0b -KO = 63de7b61d3d39600c2a113be71a024726c2891ab00e8e8d864aaf14d05e68095360b2bbfb105e1f1a715fa4c5363d30beffaba9f7c5854b27f0a2cb726924285 - -COUNT=10 -L = 2048 -KI = 64efbd0af78ddcf54730f3f169984070 -IVlen = 128 -IV = e4b58a23a82edaee4769bfa35001f3ac -FixedInputDataByteLen = 51 -FixedInputData = 3170bd5b9d4d58ddf22754850707304ec86bb6dbff73a5e141c84b761d79e1361b06e740188573e911ea4517462c10f133d1f2 -KO = b60e205530f5341f652653eb07eedaa5268a6fc8bf28ea9ba8e27c4ee5361c6d29c5c51d62bde170063dc9b4f228a8a325a59c9b3bea1d36fa86c6a17b2317710edffff5ad3d4d62962c017c86d50b8aea6e26a1b372e4ea1c09ae55d4c8c608c20077e170d20f33339ab88a21d8150d70f35d58e3832fcdcfad38239b0e0a821d6d00388c7cb62ee85ffd4316f608a92d015ca92a8c30ac1be2364f964bfd33a94324fdca82c211d5dcdf0514143a21c041f1428678371e69c4a5a9ac39e2c4169461a8f3a99e3d8c7265efb0ec0e112cf5a1fae32a917fdab024a352ec83747e3442ec7da8cdef87bec63414bf810042e7c1cfbec4cb98fd5e5bb7b34b9845 - -COUNT=11 -L = 2048 -KI = bec035db444d9b221750aa774fec4f05 -IVlen = 128 -IV = 679cf7edd365635c78e37d33311c475b -FixedInputDataByteLen = 51 -FixedInputData = baaa54b9a42d767fa6f60fc9f72feaa7e0551515f039302e5ea8fb9aff289d94986cb813de87f476a1e09823ff386b373f6b90 -KO = c3e68cbb4bcc392b33f40629e3320501cd644afcad8b4b78161016c6e8f7d1d5cbcb2d5d055ed4147d1522ef3ba26c7fac5ec8e7d79f1e41013da9a8a48234a75ae21df89e6dc98d92adcebffbcde3b4ea703c7307dff37f1cda577e08d7a4e5c45a920f6e15eb25142243ec9e45e27539b0dafb8368dadb3505057b94bddec608e9d2766cd67ab4b8fc075faf5e0ddfbc3ca5639045b68d584d08429e71b287b2c579bbff91f5f081e14840de42c6d16eb0ffaa04aab165a6af8acf146cd7ef04317bbcb2150d627dd1f213f72ac423ab506f52c8c930982be1d50a3a3fca08cc36255b3de9c17a455607dbdc65f8650883c8ab0a047a14a8dd02a6185dbeff - -COUNT=12 -L = 2048 -KI = 8c587a8d2d0a90c846e280b856bbd83e -IVlen = 128 -IV = cad7788ac4b6674e5239c9844137b45a -FixedInputDataByteLen = 51 -FixedInputData = b0acc09fa94599a9b978ba879664f56a4145dd8c5c8e7ce7c9281c3c514e6b8a261534711f5d12156be6e7157997ca2c7a4fdc -KO = d9b9a2730347222c4658f9ce779d3a385854e5a08eb8179ad7728c8151f4bd110b7859afacf302539ec682070b599e42306230cbc973ac49e51b60b8030a9d6882627a1edde6d9bcb61543c30b443750f070deffd8661e01a8f0f01ffef244d5f207cdee1fa03c5b3df9871e40ac048701f0137bbd3ff5bb29ee2408afc073f34a7e27fc661f742309a2be5d4c8d7c05c15e078933f75f0526b174b4e38c98b4e7e43b679d526db874958a25107f106f9304a4c5a10124a08c733f86b86ae4ddd13f8b1eb9149d1ce3f813201bf6d9ed87c172fbdf4cdce70a780e3f4b48e14db2734a821e38b87c07f0e4d972b663ac2c889b11fbfc6a64da0d083cb26c3637 - -COUNT=13 -L = 2048 -KI = 3dfafa0b11ef8f447fff9b9d6260c31e -IVlen = 128 -IV = 16bf955d90645622d24906a750a9844f -FixedInputDataByteLen = 51 -FixedInputData = 32d1346a8b2fb8dd734ce7fa1e346ac9b381d629f3d12471193002684298d580037b4091b62ab0b99bbd6bb1fbe5399935d7cc -KO = 38ba9e9275bc59cc1aba9d8abd9a0c8ee3713fcab992d8fb4f96ee8185bfee32461f711888418cd04ada7553fe637a215dbf0ea6f9ba3644b779d61b9e7caecf0812a8835303b6478bc208e6283245dea6ad5a77f3edeac7700ab98f7b8a6a9e845ea7d6cccf93e8d82378b4ae6f036c21f82d55cbc37239fefed2ced59b2a3be05fadb370e638a22513d88b2fee55c846b082de7d85656eca1ffd8225ce5ba9f29dda7323396cab3157fb01074f84f5d9556733a1a31364471dc0f4328a5d9b35d88b6495d1d01e7eed15b9510a520df3b8e88c8b087729fe5f04152c3b09da27f801c22d187a51159190cc9b7484a70e6d353e51d282ed7e977f27f68e4759 - -COUNT=14 -L = 2048 -KI = a1f9f4bc4975ce9c67ec6c8d7c5604ff -IVlen = 128 -IV = b588a79550fd3e91647c95f1c1b89990 -FixedInputDataByteLen = 51 -FixedInputData = 3ec0852a6cfbee11c46da5d3aefe9f98b526ad3c3376948ac884def1da50d6d38e77d4825bc4e90b29d075522930019c71b86c -KO = 6cf4faf82fefd1ce2af855b61478d5191462bb6a6d2d649cb735ddc0e8108fbacd80966beb10d682cde9721b3cb0c333db3e54c6ef5593d4daa8cd34e473ab5001aabd08a35c5b9d197bfc97e07311494e03e74582f7fd6ce00c106e576f27a2fd4ea4425880f3f579d6300b630b25bbdcc400f8607a6250dbb4792ab370eaa499a691f2faffcb5838570dad0c5ca8a47bfde9a89ca1e151aa8c9c53ef90c575cb88d93dad28624b47b5f7e78c11010438e3c8490710613f57f440263ba2c99ce8a6d73c57b023fa2221b7c1f23861f6d6e3a8c31c4dcc49997ef240e22fa4e1c306fe645b4a86f92f2f182d66e04f36013618bea392891ceffde479eb8050c7 - -COUNT=15 -L = 2048 -KI = 299112fd0427b2319d6acd8aacb13696 -IVlen = 128 -IV = c1434f17df507c404384425b3132dd82 -FixedInputDataByteLen = 51 -FixedInputData = 1f877115586ed18fdab69658983e1349af45786aca334961354d8e934d3914b7489cb625e2658fc3aa6c20db696040e0ba62fe -KO = f75dbd8d9032777daf603352e88a1f735a09a0d0ffdbe4c91e98c508ec96e738714fe4fa32ba76577deaf84ca5cc1a3ad68b7f61b8f1318de134a5ae1a3e0ee8fe5f88a8857964155439bab5963403c520e9d7581901689479cd1530c46acf7589477c28b7c2dda6f0e850f38a83f75bb1be798ccb5e14a2f987334808994aa526ff05f27c07d16673710b69bd38ed28918961d29cd7d60c7fdda3bc89f18748db4369b00e1adc4050309ff26b6bd5b84171b18ce7740a3cebc4ecfe3c3d001b26155a44548c4fa1dc13776f1ef13803a1cb38ae6fa999a415dcc33e3d16dfc04eea3cfe01c8a10082c8edf06979f0ebdddc29c65d58ecd581b097c7217cfd6a - -COUNT=16 -L = 2048 -KI = 272939f95ff22f1cdb8c94b1bcf6b375 -IVlen = 128 -IV = 95d2d3a0300a128b21cdd6d233629b3a -FixedInputDataByteLen = 51 -FixedInputData = f406782a2e652a2ff46d598894db08d90ff934c6ba1ad04f02cf230e4d378331195e1e43e80e3df27a988ceb2800c4a9fe5ce4 -KO = 047db47efd49b0792b259c870d22151d129d3e7ee25856d697e9b5c74e6a88eea56298605ae5bcbf3bab33d90e6ee57a05e8b712e150eb9574308ace4cd12ab62f9c2abdb56dae589b8042c9321afda19c82917640a4bd77c298b7b0baf5596055eb6592168257ab4ae7735372e83ab177ec94130a2e2905f28eb42d601e1c94748c80a5f823d5d2d928cd92bc4ff0f3c74392386a843c35e78b0154431f1c7d7043c7ad50017edd9aa80a0f111f5eaa28d12230c9114ee23cfd217031238c824ef7a9293594e4e7013fb6c9bb13d242a9ca1b09b3df46b1bab11bbfb96d967024c80f90299d3cd9b86cfcc7cbdc36f1f9b3b61dfd9c189c2400613db9d86e36 - -COUNT=17 -L = 2048 -KI = aa78566d85a70c90c2f194c8a1866fef -IVlen = 128 -IV = 657b4ef6cc6f8c6529f278ed8f23cabe -FixedInputDataByteLen = 51 -FixedInputData = 4992f13ccdad58760ba002cd450507721b0de1a516220926d848f7eb2aa68292cbafad059b3aa9920eea5ecc63a421238d1f08 -KO = d53899a4c088def6282d262d62108a9990535680fe9e2ed24d402be1c8e785e6d66920c1d209ac3f1ee58975a21199e08389e95849f057ea491c0c46a10c573d7f77086045eed3e00af4dc9a23f19adb56e371d75c7282055aabb45243af7c86f2e24d2d2dfa51b8b3ef2774b22375c9f8f4a593e396056df09a5150f566f7ce005901898c3e10b42b3bdff09aac53052b942e6c613dfbb0b0347a21c54d17e07f900a1dd9b7d2cd1597b7b282b7ffa52ea4512d628fd061239417183347b08f54dbdba768b5d3b9ecbb201d2b7102946c91b7dc53ecfd3eb90275867761b402f4620770c21ced1d3be1fb67683595fa9b4c9b021c1c512483534738134635af - -COUNT=18 -L = 2048 -KI = 0bf7c7016ef59aaf841ea99bce4914b9 -IVlen = 128 -IV = e643440c73d19bb68148c3afea9b6a63 -FixedInputDataByteLen = 51 -FixedInputData = 103cf515a81053f1bf7e74f1306439e573727d53e3068017e2838506a95fd88ec02f3d4899dabafe24efcd8ba4e04a615f18e8 -KO = 6dd1ec226e97ce34d20e88c97ff9a24bd78bbeba39688a763f4de1d9680e3d95b95d5a41edb1a4326ca6fcd77b405fecdd3406e7a78bbb640b0c4647b7aababa6236627ddcc98a42d443515285da2773ecf57f27e52e755e9cdde32672a02189c6fba65b091aa706b9769082657879d3b51670043412fc4fabc96180a1d3f0a1be1679846007127ab4e5781eaa34b976d46e56a0edfc518f463406d01e229b36803f7a121df26c62c426649fb7ce2248633691f79e582d5ac3621ce36c96bd40c03322b03e3a27d58841ce80ab98b4eb5bd732efd1120cb929646ede165a4ad25de57389ddf2e2cfcfabd6c57b2fb1a29af69b61f55f312225069210a9b7428d - -COUNT=19 -L = 2048 -KI = fb34cc7d50c6ad20ba7ca91241d7f7e2 -IVlen = 128 -IV = 5fa516de170c248f61b5cdf08ce25075 -FixedInputDataByteLen = 51 -FixedInputData = 1a3f7816d77378f84f31cb090c0a35c55aa5e9d5b091ff15fd5b5d37588f2d6bbec7e3087314d900539458d4b93c1cb4b61d85 -KO = 834c276e01e56daefa28492958b52f0f39b421022987163fb3d308c56b9533ef998dc5b4220605b7777d351ad3c03064cb74e22d744a34d867676beaa5ef7858b344f49ef18b60dccd052af33b3be1c4b6aef11744bc1127c6c59cf6b4f976aeaee959db10990b098e02eabafb53b77b6426296fe0a52738d4ad2781a69de0f4defe024710a1a279eedb26a83e3659536563bc234d19860486a5292c000431449641f106ab40411ba63be7397573551bf49c53a2666ef04b7cfeb5fe34be2443f89b995a7b791328bf878c550a2c91fdee0a3ff109f70eaffe2800b0704fd3d11a61e25f793a8380f4195d888a14b53133e204c6d1149250dc421c16e0b489c4 - -COUNT=20 -L = 560 -KI = 0e0d0fed10e1d2c717cdbdba9b1c97ae -IVlen = 128 -IV = efb9af89c1a3bf855606c029885b3394 -FixedInputDataByteLen = 51 -FixedInputData = 68d03627b65f3fd999041ff52783c1082d56cbea266c4df7d26d41f397016cf87b74f35a0bdcf1904f3bcbc19e66cb4e62abd3 -KO = a13301dbb0ebbe8fb9229752997d4795885a58a0a14c331da7480e3cf8a600e7395277b1d4fc4792b7fdb07961e3525d6f2ee8300bd9216fb3e3d8e315ee4e53ff7cab36f0f6 - -COUNT=21 -L = 560 -KI = edc176ce8d30d81cc0ef525c80676e15 -IVlen = 128 -IV = d9d37ffe891c1fa35d9640e80f071468 -FixedInputDataByteLen = 51 -FixedInputData = e288977b0b0a66bb6d5032b8d35894d1a15a69b4746da93c4d60f52e82602108ac6eb30933ddace870dc86a844df7d7904e115 -KO = c74fbdd34eb4cff8d7171be2af4fc63d04673eb1d3f1dba649d53ec7db410ed4688151999ae40761a2e02a906a5b078e01ed1252420e4c3761fa02c209e9e608d7344e1ffafe - -COUNT=22 -L = 560 -KI = 4f8674cea1ac9a35f9f5d8ebc67d8dce -IVlen = 128 -IV = e15e48d99172c5c1eb51596c9b5ebaba -FixedInputDataByteLen = 51 -FixedInputData = 03cd667d38b3bf397ad6b73f8a1070e711c74507fc5f8824a1f544d0098da1e6a0ecb5fb682206b7507596c52d12b7b67e643a -KO = 4bdd4219d126cb4b58c10283f39826246019c4e40c34079cadb1895e76c393576bce34dc3e0d7ec5f6e934e02ae5a7be49efc0bd40c1dd377cf9dcdef7b68593d0f6d76ff3fc - -COUNT=23 -L = 560 -KI = 29378db7efcd5d36f34cc21ccbe25a9b -IVlen = 128 -IV = 9ea51aed8c8b37cbc8d70c64c15915ce -FixedInputDataByteLen = 51 -FixedInputData = a6bee73b5a1af9867ed22a6c041e7a30a09a34b65bdd2ebe7d7bcf60578fdf497ee010d1421bc51a0579283b8aa21bb179fb08 -KO = a8c7faf3b58b51c1018e27d2acd61640e208efa0348fd464744e0553991c361b33a54915567c808bdb42fa1f98a62efbfcc21be0f5b387b25cd17e8a007d54b8de3b61820de6 - -COUNT=24 -L = 560 -KI = cdff2f4986fe258db14a1bfbfd20e0ac -IVlen = 128 -IV = 10f8ae7fc3e53aa9d1b0a689d1f1d714 -FixedInputDataByteLen = 51 -FixedInputData = ebd8d341a4fc5899baa33c6750c71c98e2980a551a0e83e0fc27ec2a530906c92b2c39ea85357264baf5dbfba0e328f17db02c -KO = 66b7ba89a04ee95f2aa962d8d01a562531fb5780e10dd35af8b8361e4e1d83b55c6589e63c23b631bad8ede689a7790486c43f1ccdb8f475a6a3bedefd30a8193255f0bc027e - -COUNT=25 -L = 560 -KI = 129dfc8feb6bb592919c326302059806 -IVlen = 128 -IV = 4bbffa4eb2311a0851c5d1e3b833fd0e -FixedInputDataByteLen = 51 -FixedInputData = 4df47f5ba27e1072625ca7ccb7f5197bd1ae82221f1191843444895315267365949d3749ec39e1a26de1f91c97d6a6835f7e7c -KO = 579be1d2465529740ece81fe2675d21ca94e412157eb53ef060665637824a64bb3c6b3757be8a104f51a57874952e50b929b5e6c83aef5db58373ab3e5a7b6d5e73e68e0d7a3 - -COUNT=26 -L = 560 -KI = c8c0c1f657b02f640e4b88d629bf6670 -IVlen = 128 -IV = fdef6af08b16d972389305b0d028333b -FixedInputDataByteLen = 51 -FixedInputData = 010f2a3008a94df45f244397add5f4b672e0564538401a022663a0688c08d3fe2a2f8fd56deb617d3dcd8fb8cef03e3fd9c74b -KO = ffe0e6f40a3e8acc8124d9850972d184d24c8e5301ba6739d3033991519595b0bc89b329b4ff5cc15498f55bcbd1f842aeaaa7dd20bb942df10ac1f35253b2a69031cc9f6a4b - -COUNT=27 -L = 560 -KI = 5d814845cdc10d182627346574091228 -IVlen = 128 -IV = 691e0c2434006536c202726ec4fe5e41 -FixedInputDataByteLen = 51 -FixedInputData = 62e4b77a8e43f045dcb20fd7df10714b7c6b54fcddb69aa19d31cb37bf558d4469f665c7b9ff3e59fc8d799a347351d875f4f3 -KO = e1becdf27d299026a2df377a62808ed8948004307ac1de96a227642d4df971200fb4cc601a1d821b6b9f02c5f6611a211647f63c425ad360573a8a640091ef1af659997428d4 - -COUNT=28 -L = 560 -KI = d2c0f68f00634aefbba0e8491d7c8a1a -IVlen = 128 -IV = e0489caad78f307960e6bd732880a3bb -FixedInputDataByteLen = 51 -FixedInputData = 04c7b180dc49171436a4ca57083110c6bb1cc2810c4dd6a6df2c8b87563664ca19977fb2eb0ba222c129432f9965cde24654e9 -KO = 1cd724cd101622c852e875b3228c13c7698db7ac336704eb3bc7692dd10ea920c44f7ff0f5c7f6408a03c8315ed4a836e59fb1a1e8fda1aadec827f57c3fe81aa7af8783ffdd - -COUNT=29 -L = 560 -KI = ad4c5b924a5139a72be1b6a22a315bd1 -IVlen = 128 -IV = c70301eb514de4dcdeba100b553b0089 -FixedInputDataByteLen = 51 -FixedInputData = b26c31334152dc137ee637399010255c21722bdd85cef1b4e6bf887eccfb9dbca19150be57fa3bb62cbec4d8d7c328d146c857 -KO = 890f2b4e473ec8bc8abdb552f74d1c561cd2a920a133d4c21e5e545156cf66c5794b1c577ef31f639ea2f17f1b6483f37a313fa24cc58db827d1624a58c14e1eb883eaf2eb8e - -COUNT=30 -L = 2400 -KI = 0b00273f120e40a952af7cee3c0cb2f8 -IVlen = 128 -IV = 972061a724d550e9b877118340bb4d85 -FixedInputDataByteLen = 51 -FixedInputData = 8463a8acfe0d1d5be8f1255de85eea4e7c7d9aa9c1f65fb7e26e4bcf9830f983fe1921ecf561a1878e10809b2db17f77229740 -KO = dd82addb7132fa6d1f72d5c0815d82894699886f31fee3f2afc8f1dfb09f403efe2c6621b4a7135cae3d7997a682c4e29a6b357d0addbf31449ef728d5e7e30669d4ca93c62c33415d242939eee362c0ecd73e05284740fc704e01818c74a9e4130eee0eb88240f5dc55047036b42776dc7cd247452d419a52613609f1d81ada40e3b68387d7719d2ba634c41fff4b6058ca3a71d4f86b3bcde1b998601430ecda67760c1fc91ce3543b77e7dfe76ce7ef56cb9882c9462d090e96e2d16012b22b041645aa8481bd3b25c9fb3ba77d87f912d93bfbbedd0ebf62dcae076894eb835de7e8779a09c8b9526606c408631caf068d43a0a0e03a5c9f486c397c78b122af852336312a6892377ddd6d86089e3396ffa72904fca215af0c7b5de3c91d1bfa882279001196f546618d - -COUNT=31 -L = 2400 -KI = faa2c3ca4d84e33b321e9a12ab03046c -IVlen = 128 -IV = a0c77b88b4fbe397c7e511afb73dc2b4 -FixedInputDataByteLen = 51 -FixedInputData = 3b9063ccff764bb40525ff5ba7273198ee0cce683cc43324ee2f179faa56601d31d1fe6b3ec0b5ccabafe0cf7a180462082382 -KO = 17d31aba5b4aced011db5a71feee6df9acd55b4f8d197e036aa5fe8706f2757f11e63510aba9715dd0b7e5d7e32bc67bdfccb7f966d4635183e7d225c9a41fd9197bde58ccecfb9888fd5c49444823b85958599834d98718d73761cb99bcf72a6442fd215c9e7f45c11bb2a0dd3fc69c63f4e98674ae36ebb9f2cc2f8ccf028f5e5c039043a904c7f5a4f9c5b8470d22400cc4d93c2511adc055562faa1797b69c9fa0317cf6d0e2f980d4f3a375a767de108cea6224696b31a0a2c1d86d184fd2cd6de30a0f8e26a696c891fab8c1d9e1dacd00fd21a6308306fea4a625c84f9e51a5cb93d1c0ac2bad50557c8cbb8ffb634cbdb41f9207767fb885f98cb88c54e73b94dccf486ab4c9b97b5be373897b4834255907b7aa6a3321ec1bf09d8cde744dac13eeffaffdadd0ed - -COUNT=32 -L = 2400 -KI = a9977be3c56536a7bfac5f424ba9b113 -IVlen = 128 -IV = 4c68150605c1bcb2df5a47f6837acd55 -FixedInputDataByteLen = 51 -FixedInputData = d2c75544b6572a8225fe36b0a2f46d553858e6ca6114fa85913ee89f2324ad8aa84d06ced8ce06ff9ad84c5e48f95070ea6efd -KO = ee0e5a39ea49930e08a007e7decd83c45fa5479224cb5cd5c5c7197529cc22ed209c229ba6e39f96d3447d3af0cc27e426f776a5f612f09397de95c8b97ad6e2631bcc4297802f90ae11a3c17970a4e772d8510c440f5d6a4a4f1699026c8a4e34a6c259f88b1281be69e5b825448703a52bd1e2a9c3eeb7cc45c772f2605a657ec334e03cc91b7b6c4b300e00d505bc00ce96aa51e859819a3a2ff4f095367c015908345d60f75d8cdf561d4ecce331b006793e47c3737e8e8a86b62ef56015ca1295009ffd2c7534ac784cdff37a5a445f83fd5a3b55193578710ae80615ff5635927a8cede9ba34639550c1036401c6b55aa085b481a93b90f10a6fed98f0f58125892eca03cfee7f28647148d39f1a3632760fb1fa5dd69023b7d4ca659fd3879f99217aedf39b5021d1 - -COUNT=33 -L = 2400 -KI = a9b4f009eb5d00c37bff562881023fef -IVlen = 128 -IV = 310b6a7b615cfe657caa013dab4da0c9 -FixedInputDataByteLen = 51 -FixedInputData = e06fc136f15638e0d9a7f2f6b3575e2ad0001b550f4112a050f13dd9ba7a7ee1d6aae43929f1029551dbccc3208155ea5e3eae -KO = 4434eaa8e61eb6c1d867ee810542c82173bd6b77f9755091a7ec6b72c045405c047c4eabf02dbab7efa7bdbe1dbbee1b6a90b713bd17bdd6041b55e1152a3359e7d92cecd210e27a1529772a15e92f2dc808032279ceba0c879286e05dcd4e5fb17a7024a8ec5ea3f763abeea22c3c604e722553c5a17f2dea5296eeeaefee76e7215de7e28aa2ef0e63d70548447a18c46fe895b7d74b10f0ed9b30a38b688d292cf40018311e0ebe7e2346fed74ff9f2ce7036d2332e7ffc8dc4c27520db85f384d9d1c06dfdfb2604c8a19a5c3921fc054f57e784e1c5d41e03746dc9dc3db93a2285c35c15c90cac66b15be9954b361bfc31d14e995d778a8890bab52f06ecc97acb0d5fd33aff707e7d5a00b0c8f9aa1acf231b09093620296381864a0b92a3985dad0aee1a7624d590 - -COUNT=34 -L = 2400 -KI = a620e9217c47e2d872c203ce6ecffbdd -IVlen = 128 -IV = 390c1143ae844743940d916013e7826a -FixedInputDataByteLen = 51 -FixedInputData = e5d40398adab834b6212264f5900beb788f706019972447b012520fe8b5cd4800e34532b79981eff320b82f2d69fca00ee9af4 -KO = 53cf81f3dab8d8d3a180cddf5e2d6d70ea24faf61ab31d1290f983fd76ad4c926f2df1f9642a50d5f4fa066c2b5753344b183c40fd35e0d62bbe14119e38e04bfdb7fba664fd311e2dedbb09136c414c0c1314a7291bd2733d69cd0014a97f9c7a0f8c1e6f5b8b2bda586cf8e81dce65db0cbf64a87ea45f2dbb515fe089f0e26e66d9ad7032f8b6b40985365bc46e01cdcb51209eb2287b1208cb83519733c754dca7b2bf236836c6f047219b6cb3b6bc0e25290476ee2df4be3a54fed6a41282ac047ed7f6ab2dd7168d66abc45fb7fd41548cd6dd4e8cc848f7b5ff0278e0e2536f8cba473e4a0394992d06c846a86da433104b56812b7c455fe591b77863a4da74ded6dcfe7c1d95247d82af7e109c73283038a3b62933e085c288b6debaff61630264cba5f5bb80c115 - -COUNT=35 -L = 2400 -KI = a6de803fea9c6b236505f9f1e83b71b6 -IVlen = 128 -IV = c67f634cce25c2207a756c69e878a096 -FixedInputDataByteLen = 51 -FixedInputData = f5294d4f72cd554220bb96c9b55bd7031fdb9fe60968f345a19b19ff5e457b7f447b052850c223316753944286d934c90b146b -KO = 488af285104b96f0ef167e397a9a793908c46d89dd77cc86208d698f177a2b13d0c13c917e399cb326bf53cebf5bdc6616ba9962b988156e45ac9310376a9ffc6fa4c710b591cea498bca9b66fcc62b47eca43b48812fa4e6eb415b855e89572ae7d0a1d010981a9f8c1e2ea80499da88acb96af7cd42f359e0e79eba5981a40764f41226ddaf84218212680957355673520e058963d491a88d39047f4b14b05f042f27574ce8f1364216b04205ae428421516a2c4e0f951fb2c496f5c5fba13051f354a2cef7d343dab0d38ca08dcd3e7b3b09b40625a0a713b54560b1333da2cb16ece4e4ccaaf054072306e79ac9c7c5d375b46343b7a769f04a92b9a47b916e2855f10a5f03e6e3109b23fca7adca12b3ba27d8b0f12dc9a38c56db998ff9015cf7920acab4fce86a7a9 - -COUNT=36 -L = 2400 -KI = a8cb94aff45cbd16d8e04478587d3a52 -IVlen = 128 -IV = e2fb75f06274874e732d8a49b0266123 -FixedInputDataByteLen = 51 -FixedInputData = be149d9fb45bdeafc6563dbd0d9e83388a967756f7761fa91f2c1d744224d4c3ce6d65deab5ca89b9ea80ae72a4e02c435ef22 -KO = f85260a9935abbaa65a16fa1162adee22e557b409b55833cbb3d4afbe0c4573110f348eaec26f25603fe7be85661838527ccba8a30ce2baa0f7dffe89ca4038e78f9979de14b085640011dd4dc440a6dff2f0d9e141df38cb6a670e093c0755e844831b6ba45fcc9b7e2a063868f1a8627f6034c5ed7ec4d230a5d5bc58241e17c35f3d2e3743847761e0bf3db493116bed82be787457fc1642685293c1831854cc6efe00fd75710f9b71a739463f8bf37129f82b688ed09d8d89e7f46321675d41afa07f985bfe992757e6f4455e007967bd73cccabaf23231c31b4b0e5326775f8aaa34a1887384015555507971ac164934a03c7eaebc96bf04b5a633b24ecd3034a114c9d4ed5c20cbf63852f54b38a0fd7de4ab912980f8d5a380fcb7f584dfdba5030fb26239c843cb8 - -COUNT=37 -L = 2400 -KI = 78f74a9f2e316b2c919c0687f7ac5253 -IVlen = 128 -IV = be27592b75d4de412c5c9793ca88430a -FixedInputDataByteLen = 51 -FixedInputData = 5306e1971126e52b3b1cab67c4eb4116c286740e28e1088b3cabfabd571d3b844e4b84fe1b0641aabe7b8a44de00056f04fa41 -KO = 7649ea4763b8e5f50d077d3a554b2f123519a744c8dd6578fb1da67b4e117cb73fe9a845b91fe9883a53e46f5caf13c35f6343809e0a69eaa1cf2a92480c822c11248038c1292427e9becc4d9d0da013ca06f3cba87ad9b1f114b32dcdc294d1314c436ea942bcc66b67efd7bf0282b5ca60ad04d1d895951c9ceb8573304d5489e2c4e45a23c042cb2040483581383624c878d92dc4d67507bcaa4352de481949a9675c2be7ae4ec8812421b25e8a3e09445a447f0ffef61c8a8f2d0ddc419ef57fd3e194f180e619e9c71174c21421c12544ab0e116f99f3bcccb51cb2dadcb4f49ccd7f2175caff6a4e4114d4c77e49719de3c6587fd5bf6f141928b53de7d91ff3cacc34798a1e4f0850519883ab8f08101ac9b6ccd0e6a812638d54c93669c9fb284881b6c6ca05df3f - -COUNT=38 -L = 2400 -KI = 3076cafb9d269730a3187484051505df -IVlen = 128 -IV = 4dd064f32332a5d46de7f72dffdb9a65 -FixedInputDataByteLen = 51 -FixedInputData = db110047bfccc9ffad8a75e4b2dc5119a7f381b45ea7a9ef800a2f08ca8822b3a9f46c6912510ad429850af15f3aeefd145aa3 -KO = e6c36289188a308eadd4a7fd9413159b0413037c501602afc70c9365a292526a02f073604f2b065bcd5d1e7d7f71653106f0fc38c580be7334dbe7ea232f45694bb7d576999aca0ffd195944e1cf4e181684300f9cb03c640b819893e56ad4bd279a67c1db8c23c1610086c463248c99880d0b7ee760c020c78c2b170e1e3bca3d17a31ea7192db0119b6c9b7923f9cae92b8cbdd2a1540c20da02fc1cad5d2ebaff797123c035ef0dca274bd85e856ac2a1f2d88d1061236b26740df31deb8f0a812dcffdf19ebc23955ce925bd1a366a3ba2b65114eed32001f812a3c152a0b31b4fc618167960c838db67c4f284813a3787694eaa972b3f208585429813c3dc99e2c13f56e553935baca47bceb94eda00ee3a84319f4d3d5b3fe6877ee3beb23359d7f4183042805dde6b - -COUNT=39 -L = 2400 -KI = ed67ab4cc408fe5196d16b1555227ffc -IVlen = 128 -IV = 3424497834f39e58f6d1a16dbe0b5321 -FixedInputDataByteLen = 51 -FixedInputData = 1f9b423fecdb26ca4d4f978ffb39dbc7078d98a281c96fd27412c4c238ed4e661870d8a3d16dc54352643247c36008f582bbf6 -KO = 7ac775de5d5c9d8a630246386544e95041a3c803e3ba91c8b6cd06063cae60c5c980559feb2752c4a683f73e43b325f049abaab2f3484ed94aeebcf784437d55380ec142b88d967001dea8329064d286ec29abcec09ab5bcf9139bc560bdf6d2b6bc53874df2a3e938de91c1ba0540f80e3e9a73a7f01a886753eff70177c813fce7c039fe1d1ad45c5bc980b19f130f579a20d2c7fc193fa4d9220f7fc75943fc2b1b654d777632670b5e02ddaf2bc6a962f1cde9feed38c943e8315d4b0117dc95fac5975186b7703b892340960630edb28887d3c9335c50dd830c33ff289cdb3d710cc0fa15925086f9ef4a9121f2a502086bf4f2255e3dc3f7e6adc6dd0a4ee2effcb6a2dd39ca60d4e0bbd3e1910a3a1ddc0f75fac1e54b17caa2728958cedf2dfaa85da12286fe5f52 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = db52ec147b60cf9182f5cf19884555f3 -IVlen = 128 -IV = 49990ae5bbe492bc34be4715681e3a5f -FixedInputDataByteLen = 51 -FixedInputData = e4d9ea025beddd3789e019ae8dd124387134fad94f7b2933447d717fc05e781372815f1b7c1476d9df54a530e8b84dd1374b0f -KO = 4755083b3c8bc07d332e2c7b242b278914a457e5b3885586949b4cb6d790bd97acc3c84bf5e9c84877613c8a51a092cb72a7b67eb79d37cda7e91dbedcefdb17 - -COUNT=1 -L = 512 -KI = bb5c179216b8e685489c5cf51414d11b -IVlen = 128 -IV = 271ea4dc43b3587b740184321a3bf5ec -FixedInputDataByteLen = 51 -FixedInputData = f2dbdad69d47800eb42050a490e9a8109b2744dbc6a4827f2bb23a96d500dbca1767ec2f79837fb8eede70a789de0e586f2766 -KO = fd8a1cbd9f71c3d6bc17ffa6717747350877e0cb3d2d7e86201df38f2303508dd5a2da0dcd736b64549fbe539fa9d7949bb26edbf06fd161fc86282a0e480ad1 - -COUNT=2 -L = 512 -KI = c756d2829c9850facac59fb5edbaf3ce -IVlen = 128 -IV = 55fa44ac14fffe939aefb9440b25dc02 -FixedInputDataByteLen = 51 -FixedInputData = 7414eaa3afada5ab6368f3e667404046b62c40e9cd29491684c7ca8eddc89a95adec20c4d7b21ce257cb4ac7cd3223b071d634 -KO = 73e9927b9958ae4013e72438fecb60ff700b66a416075616d5e58aa5702c2b02cf7136dc699642e75768feba098e55be82d139a35f7b059d72c7bd7253bfafd3 - -COUNT=3 -L = 512 -KI = 8e53eef189e49cd912361bf23a495ce5 -IVlen = 128 -IV = 405bf9af7fa76d039069a5cb723a7993 -FixedInputDataByteLen = 51 -FixedInputData = f5428445621b0acc9511ad66bd1ec678ea16a153d483019287ae1bf39b1f432c6c2b535295e0d566f09ba7251b0c1eb57e40fb -KO = d9d6b2b611e9ebcb2ec4b99f59f0e9a6fd46435898ff145555a546034bb592b93deba6e4e0ee98e86a94d88733f20144505eb2ab94452b1739e2a5a263a91456 - -COUNT=4 -L = 512 -KI = 4e030c4c527874e3ace60b1df698df23 -IVlen = 128 -IV = 003942dab5587f06004055abbdfee7bc -FixedInputDataByteLen = 51 -FixedInputData = d8463df7d9172e22f14ad38028695df4ac132ceb055f4aee04678af101265b47c7ef10c015c60d1ac7e548515357b983947ec6 -KO = 7068297c9b70ee3b4be4e33079d736f1fe135e8e47831349fe5de698638fad5747777454cd5b38bebfa79793b04703cbca0877122672955826d620c9fe78236b - -COUNT=5 -L = 512 -KI = 470b0e1054161118383e7776048148ab -IVlen = 128 -IV = b9a81ba49d88959d22edccb405f60262 -FixedInputDataByteLen = 51 -FixedInputData = db996619b5ea12b7aa0888f50cf344f0828ee2294cfd4fdb77924a3f1f8a02d87d84e477faf065ae7794f48beee8ee8bdecb76 -KO = f4b50b9d146fdbd4b1bec16a4aaba3685e00619af548244ccb8f41fe02b6d855b90ebd7e832daaa5e7a29de142f2f44da8410c70b79431b7aef644f8231dfdf5 - -COUNT=6 -L = 512 -KI = 6c4144bac0c7de1c5b2cfba80145d40b -IVlen = 128 -IV = 0d17d2cc2a99245b5f5fe494b03f89d7 -FixedInputDataByteLen = 51 -FixedInputData = 3aba5d3381aae3f209fcaba71c962982d20e112b2baf8fe580184c452cd1008b6c292adc662f56bb9726c3d04188a6a8f5fb2f -KO = 5df838aa29948a001115233ecd4256a9c7de1dc3eab1dfc8ef6f50cc5ec7ec6dd80bf8cf8f7e5779876fbb72395a037d524b0647cc5e5088887e9a8758998ff6 - -COUNT=7 -L = 512 -KI = ab76abe3ab2509205086914d17f23a0d -IVlen = 128 -IV = 48c46eefeaaf163571881d639a355fd4 -FixedInputDataByteLen = 51 -FixedInputData = faee456622594984115a269537cf2874e1fea939b5e280a9e1b7817a068644b6ddd1683a7fc3bdef1fcb090c136c969c85e996 -KO = 6080cf2d09e003aa5b22e7885768df3db644b67fc3e0d1fe4465580f14dca6079f3908db27958ce9af5323b53174b6addc3a93b3446594f8382d9ad6dd875f32 - -COUNT=8 -L = 512 -KI = 5587bf4902f4ea2fa6d99e121979024c -IVlen = 128 -IV = 5b155c0005ff313ae766b3ac079d23b1 -FixedInputDataByteLen = 51 -FixedInputData = b532c4b0b9ca3f33af3ac313f796a85928ec7e64237def1071fb46202dcb8e9f7bc76b04021dfdd1226376e1b3e7c42b9b09cf -KO = 9ccf7646a000857de6ddd481118f8546e8ba21ec01e31022faab0badcffbb8bc7143e573281dfec84a79d75c0ab983dd836f7db6d920199dd9da87f18e827c0c - -COUNT=9 -L = 512 -KI = 8f415d983f06335eab52e48ee247f73f -IVlen = 128 -IV = 251be70188059bc109e76b5d034b95a6 -FixedInputDataByteLen = 51 -FixedInputData = d7db43aba03f4dc88df9781c0c5069795b8b863491b48d98d156457d667c33068a649697eb51ca1ae94762e8e1f82869dbf5d4 -KO = e1183f18efbe61b97d13697cc2c52f06f08c059add4b328195387d9c5bb9693ee8d077de2f7b8718a6e3e51efd0b766dafb9a9c9ccb1a8709cbe78d4297c7fea - -COUNT=10 -L = 2048 -KI = 3850cf202504afb48eddf6148c8eba75 -IVlen = 128 -IV = efe510c36e40330fa3d1f098441435b1 -FixedInputDataByteLen = 51 -FixedInputData = 0fe34f9de244976fccdaa7880a8b2974f5ddc4ec6bf9fbaadeba65f2fa892954de083adf2916a6d5773816cfb2bcc84310c17c -KO = a5d24306bdafb1c60019b42a243c8c030d21ac7b912ad418cd26f68713deeb920c102827713f4d92ce1fd9c0a5cfbded151dac5d6aa17c2f6683419e79fd0ab873179bbb268a9ef127697f181e5fe734bb558c0029f16542bb97cd8de0601fba5e4dd523c0528def0c06954a9592caf4e7dc4c97b2eede0c465f6859f24ec26006d002128b9d498f3a2042e5783703a25fb9eb3e92ac47368c5c49ec5023e0e721f277202c85ef224ccc08401418ee9651f00a00ed6563258af621b7e46a455fb58c7eed0cedd1a3dd871ab1426497ec1bbf4a7fb0360df2761cf4f75c9b241ddd2b8cef18235be2bd4dd63491fb4af6927537c7c05086375b02cfa3cc678fdf - -COUNT=11 -L = 2048 -KI = e94c8d66cc37c67da5c4310e4f720c9c -IVlen = 128 -IV = 78a1721dbdbf87cc3c5a4ac99f6d11be -FixedInputDataByteLen = 51 -FixedInputData = 670bd46c5a9247d5e5dee546c9936cc81deab5ec097d42c16af809fb231887f270627265165540bd2b710c420762f40fb61ebb -KO = 6a950183be78efa845bd082937c8d1eaa2490be83fcd4de41fa0db4323fcddfa8b156e08f91141a363cb1e7b1d7d2ea06647a6d2b72ea5e7c3626ba7b3f167af1d0063007a4878274b458a2c03f41a3cda7ea4a69c7765cd3b546e9641897705d7c50e59bf6cc4d38f56dfc1242566a2d6ba0f094c68365dac573012232bc1808f5fa779725979923b0a55897717c522dd2ac53fd6f63897c37c2e6b44f7ca73d598db092e8a3fde01c11167f1d06f6ff80aec8d896d5247199f32aeec438d39e6a8d6166d85a687bc9b09c87f96c2247d9e0e8f8f12ee80217469a3cea0fd35d768109831754de78ae8802575d216b7860053325d2c1977ea9ef1375a5d995a - -COUNT=12 -L = 2048 -KI = 004bd442692f312861ddcc2618146c4f -IVlen = 128 -IV = ed1bdc1fb5685ee1f977a076ddd3fa6a -FixedInputDataByteLen = 51 -FixedInputData = a3111ddef95a40801c88773e4c124bbf8eb66677bba6e52711624cffc8da63926d02c10bb711ee14ccfb191659d4da2228363c -KO = 1b5dc1208c22991af686c2e311fb4098e5d23683679a3d06736e732c48cd456486fd75c7d6baacf7d72557e57e7f64438620aff3426cd697160a4a925e96123dfb7c2e8d1726836dec0a49670e956f21a79952807e3351bade385eacdbf177ec6a71ae05e567a016df75a5a0aa9c865efef6f5886f301774e971bf7b45fcd51fb98479cdb822b6b366352a46c4c2242673bd3171dcfc6c1552ff5fbcbec9a915797a13b242cd7bb909167b56b7704e7226a8638e4d4d73441e4204668c4730a18b7caa3b5f6964fdd2390a437b598f5f5a0d696945c21322a16faeafec6c4f1c49f56b93769473ea457ec625d681c4dae5b1c6702aeca1d2ff67f7236a3ee209 - -COUNT=13 -L = 2048 -KI = a67d907d6c82309c47f43b5595e4196b -IVlen = 128 -IV = 048f5b3d278b34fd9eef6c673ad04459 -FixedInputDataByteLen = 51 -FixedInputData = 1b85be14507932f155170f71074f58b8aacb813fbd45880f3faf6303cede5b643f5ecf4adc3cc6309de5cfb07785a835841c43 -KO = e5b972daae687ab05772acfecde6defc43b0265af3385644ff5b6b78badfd382e07383b46cd31107b8f77ba041191cd9215849e2dbcb990e6124b9946a5fbded4b106e07223ea3318d52b9c9fcadaf8a1b9e96dbfbf507f3370151d3d47dd7a3e5bc498f895106dd6ba9147ecdd45948f570c83ef47f1c5b4f1b322899451c858b0561a83361ad70d3aeb135008c9d2f61b452bf799113cef4379d8c1b7baad9f5f5d709e87806cd6e71befde651a8267272406581b45e63aff8a13c43161bcb1444ae25820667b3b5ead451482d8aa723d81dfce951a2b1e3210cc330e70d0511a3cf83618a1ca89427665525047677f2fe4ad8923c5330a165b015e794c527 - -COUNT=14 -L = 2048 -KI = cf231508fa6eb547a275ccbd649eed6c -IVlen = 128 -IV = 5b259d5a69475b58efe734a28be5a986 -FixedInputDataByteLen = 51 -FixedInputData = 818ee537422a290657bc0a674c44c4d7cd78d0bce13ccb54a008a34e60b09e403e0034c40d9e87861aac7e0f4d4c4f4825963c -KO = 39a8cb55971d53b0e8b3a5b0ae27e3cee11a6508215c41d6dc599a9ce6a1e69f25a3ea75661effa38cf0276ad2d8225615388088c886f2c463d9d50d44b78303a6bb18b0242441d25520fb6a8e8b3407d15b29c0d864e4ea51217e3a813572646e24d89a5965ead591d0c91fe303c090bea74c4027006820d461e522269ec05825af1dd09c863826f354a201faa7e34ce72c7b0ff91d044a8108c224526dfc946794d54a29986a5ed545bfde064eb5308937e19e38c8f29edfcace57e7581e743f2245271e46283b367b89654a7bb66cf9237d42f85e0e45717aa94e684c3c22d8aae32f0f99e4ce459855c634ec3ba3804f08cf44a8e7e58cd8d68804f26854 - -COUNT=15 -L = 2048 -KI = aeb92bec7d10db43093f38be607c4fba -IVlen = 128 -IV = f19713a61929049fed277994cd6dada7 -FixedInputDataByteLen = 51 -FixedInputData = f7bff58ef8aea6705585d838163430516037e21e3a226dcc9dc38ed58a1419ce7eeaf474521251a240175484b5217d111d3612 -KO = f6ca8a17d6822eece083871da910c84d0de103e0ca8e9fa9e7732ac6f3d83d2afdb8d37d0973902eff9b710195141111df6bad9331c8a56f8ffaec2b171cb8476c336da62b2259fade269b2466292e6ebce8e53df6b6de9cc925e9573148733b4479e649b13a26857de1d8a09f0c94a7ca41713cf031ec1017424f68ac1ac3ecfc0626e483425e95a1a7e32063827a0bd537bb206a0721b2a4e22984ce57bb688a1782646395cc05a95c8df8654636db8431512c1b38e81a03d218107633c87be70a44ba14f9ee114de3e496bef87c8240277933704824c0c8a75fc5943efac44e6df53c779f5ead42ea61ef74df4a0535578db4c3f6b345f0ffb796fff7c987 - -COUNT=16 -L = 2048 -KI = 209cd5945e7f16b8bfb04b480f0f1f5a -IVlen = 128 -IV = 0f33feaccb434839f30be02f26a8711a -FixedInputDataByteLen = 51 -FixedInputData = 85d361112cd81edd3b3c1442aa6c716251599afbe411bfe6af5ebac2cd318d0f9785728a74caa47d2cb860c51374576cc15493 -KO = 7bfc1e2a1445047190fbc98e2c2e72228b47ab11dd62f2fafcbccb2922dca46ebc4aae82d731c2a6fb0c98f5055f8c948218475fde5bdb9ef2d2b7df5e362a104bbab946727723c37d3987ae0872fb4b98be118179d423a42554bdf2b149a40d2521b7004bfbe7fdc848db666cb2fb557fcd771c65e0949983c29945cf123859d0af913c2d77d99461c3594add2a6d82496302e5563d5a7179de00e184b869a16d10b663ab9eb6717c8ff7b3745087335a80a609df418368e38b1ffbc70032aa620b1cb3fdd1bc1f859641fd87597a88314c29ce43e6a92ec304bbe4a25e06c3973d0c959139347d2c2b3f5a82402d9ee394b8e6122f05f0bbb7a162e8d726e1 - -COUNT=17 -L = 2048 -KI = 0f1636b8ea6c2c8e3e9c53bd81ab8d55 -IVlen = 128 -IV = e0db9c132fcd36048dbb90edf019602a -FixedInputDataByteLen = 51 -FixedInputData = 59f97452933dba4eb2e0f8d4f306230fbf5ddd895d37c5100d17a958ee42247092a189cb2817bef92c6049c4223a10f307f963 -KO = 1f518cc118acb57ee0acd60573b4cbb0c015fd9b2850e76e1f1205ce7aea9e6e152ea53b708511a07b8f5f1a99cc418dfc68544100e54c8fb7e47de253d1a31a65b56c8b781dcf81f9cf6ce8a14f3874e37dd965b8208f50ba0ce49ca135659efb09d3984d30b3004656bd9ad8b14af8b77a5efdab314914e8fb4e10fb57ac198aa60ef186486e14825c623daf7bfe9b43f83a64683c37d3803b0d6cdd06152aa57efd0bf4f64410157b8c65f0a832785918b52cb3badccb1e4c640b12b8c653d8ee14abc29c225904dfc5f206da179bef5831f276823dedda1e649c8715bfe299115c86d710bf15aa8bfa3cc4176aea3c2237ae3f724f873d33c1e6645ffe77 - -COUNT=18 -L = 2048 -KI = 13d3561598140db9b062a0b00dc7fce1 -IVlen = 128 -IV = 2abf5939392a7e00b9e949b321fa8fe1 -FixedInputDataByteLen = 51 -FixedInputData = a8876af5ac301f41c3cbea2ce30e122a607528e8774b054beb1d8d8ae9c0656247a127a860744b5268787b70db4adbb92f6a73 -KO = e990fd53c326b191db311da1e51ea7b080b4625bb56276235a12e1e3626aca295a7887dbc1873547bd5660b061698f8caee9cb495f358b2ff3f598915101d66d1940a2a3733c2bd902c6ca7916355b24326af74c9277b3a364b3e0b0374f5eb848ebab19b2727c08e65159687e69a8a38bbeff38bf396db66d02223bab93ac34d6ef0612d7f44419cce4047dc56e7152c218f993277aa67cfe0b215bc5c16c1883b0c54afc6fd07490af1f1cf147e81afed293ec7e098b9e82e4bdb5437ec0d57c376ed8a3438a3f804736b13cfb6a4ef6ad5818f4d3368c2e9b25a011c482cf0e92a1700ad8b85e42295427c2a07a6f648892a86240f8eef34b2a6ce94f8b42 - -COUNT=19 -L = 2048 -KI = cc67a3c781d004cf130c7c0d10663d63 -IVlen = 128 -IV = 467e81d72a24aa3a2372d5ec65d5ff6b -FixedInputDataByteLen = 51 -FixedInputData = 3071902975b569d196b4287b2068c927247519331326bf4913b636dd37042df6976307b9f5b108d87dc3e66275150d4bc30216 -KO = caea54985cfee6b5df5c4366f7b757d711e3d72eb59a3009de695f78c54de42be2901609cbd0682d8c65e2129240779909a1a2d34ee698c5d2957366a6d6ba8efb0990da86f83386f8f0a679300ac5d4dec3c4386c908b986e456b4111464a4fa31ce9a00458a3ca987b22f61e6b30888e210773eb0679a1271229e1e05068e01fa7f4e33fb8871312f74e6c007789d5c723f4e5741f8788e25351fa00fbe2007960c60221b12960acd56940936f8f359b3533a1d777e94d4d1ab48f46b1a99949bbdd54e08b5b5093d91ec875bb870527bde4a68e6e573ca56018ae0c657dc7b2933aa84c8ee51feda6e61bc9c7cb709e8c96bfe705d6323fef2e76e9a47b1c - -COUNT=20 -L = 560 -KI = 5878c0ba11f9cea6ea90acec9ffb1c11 -IVlen = 128 -IV = 393af66cbb2af44f568df38163dbff22 -FixedInputDataByteLen = 51 -FixedInputData = 36c426d83958d30b1b3d976657c00a1cceb663e5b1ea3bf83614d2dc87488f0b3b37cb44ec3900703eb1a8153c0bedfe0ae09c -KO = b9a8bff377fb0092c7a3b315edc4327de119574fb97d8e3d479aaf32464f622dd2fdca5fab71473193580cda44ab6c50d42cf59141e08237d5a974d812484879470a6c9ce177 - -COUNT=21 -L = 560 -KI = 4bf8426974987451baa9142702a634cd -IVlen = 128 -IV = fb4ce0260c549b4763a4e58b77b16bd9 -FixedInputDataByteLen = 51 -FixedInputData = e1bb2f13a15c0d34813a0f4777d935891f74c62f7486b1c6b4504df2204a109f30a3f9ffdc8c5c17e4ed559707a4d064972ed2 -KO = 18bad2d347819dbc5040a4fa5fb3355322a0db9e396d84914cf5cb0dd667565bddaf0900f1d36b52125a0bd953811739f6112bd9c7c3d96294a9441964c4dbb3cc9bbc7cfe92 - -COUNT=22 -L = 560 -KI = 7e8d3472d1fd22c88c0031228620ca67 -IVlen = 128 -IV = 1712cbde753020b08e18ab7ffa611531 -FixedInputDataByteLen = 51 -FixedInputData = fd2503f43326e79074dd11b649b78fae4a926f310bdf4a4db81575ca6a29528388d43d12a599b281dc7df6353ab06189a372b4 -KO = 04672e2a423b9c50771bf7a53854fe68464dda51b417a7878e005f9a41dc46ccef92565750d06b7625c4f6f03600aee203286fceec195f444437889bc16600c152ae352811e4 - -COUNT=23 -L = 560 -KI = 7bb38215af55b16c17a975237623b320 -IVlen = 128 -IV = deb4a2950fc0a5a8b1a7e0cff757ec89 -FixedInputDataByteLen = 51 -FixedInputData = f9fc888d9a2ebdf6f73a314954370aece1684670844dd5c9502b180be892b34edb83064980dd20a408e3c328a0abf40726a43f -KO = 10e151f93c166e1e7c004f91aae228a8e4a4377302fb968df53cb0b4db879a0b6bdd5ddbcd54916a62cc2c397cce6e52d3e87277a35b0c2cf5e559b8a823cedb980fc323e1ed - -COUNT=24 -L = 560 -KI = df3daf00810a54a7a8e3705f012ee98b -IVlen = 128 -IV = 0e54b5e5bb1c825bdcc678c2a0efa906 -FixedInputDataByteLen = 51 -FixedInputData = 4cf7d45cf846922820928c4832c4467163971c203671bf101a19367e6d243a41ca0b79bf52e159cd7c396137c12ce434b3cf46 -KO = f4113406c4b9de347f88546f0ae45f5e5a7e685216e455d33c59eec1411c1ffbc37cf516b6227ae0180d5043a8fd3414856fcc54d0c3cb989613a5d3623ffdb1fe9fd5d5d1ef - -COUNT=25 -L = 560 -KI = b44f522fec31b05d32575e33c0127cdb -IVlen = 128 -IV = f32f04d94f705a531f9c8bbe42154840 -FixedInputDataByteLen = 51 -FixedInputData = 124f50b2fd991cfd7de7b29104147142b9ac501722e77b297b448a0affe30c8355da7f8b93523bbb31b83228dbaf7a29d595e0 -KO = 166610f2366fbe329703030f47c5aa5e6da06fd01aef9d194c425b1b1a15710e972d7e6b8f257f18d2991ba80caecc33c356dd4961f18a0e5e46b9db6f66f9b64bb088a1a04b - -COUNT=26 -L = 560 -KI = 2b9699b7ce80bd412daba45b16be6eaf -IVlen = 128 -IV = 2e0b0613e16e916d4697748fa25b57c3 -FixedInputDataByteLen = 51 -FixedInputData = 7d9c52d0c33e3f9ec784541fcf342ea1195e3d9fe62bdc380434c7b356ab605a27f6ad140499b65c377d9dfe6f4ae690d0e10f -KO = c3552484fca5add59fa61351a888326e5d79236cd43b9f2fd929aa5cd6a0767d2ebf9ba5b7df6a71b293196502f59b46200421791f5c9fd44579de854cfb8243ddd344fc4365 - -COUNT=27 -L = 560 -KI = 7b73c1fb35e9455d1095a2ddce0a7489 -IVlen = 128 -IV = 5030a22f80025d991358cd8a89cbac21 -FixedInputDataByteLen = 51 -FixedInputData = 81bcbdb22360d6cfe30c27ba2f13c1d48675eefd5d35293effa1d3d8ba4aec36087f68ffc6f81a5b6a72ea3b98eb8bc3df614d -KO = b5d7dd21e4a646f9803a6b6efb6e23c89c748aa345e49febda5e2b9971fe6f9c93fcc8b510906d44e5f49c1229bb2332557df6639164f6892cbf88beb7d2721b666073eff041 - -COUNT=28 -L = 560 -KI = 202f36589424c0abcf19a911afbbabfc -IVlen = 128 -IV = 483bc50ca25ecb9ec956d63437934b46 -FixedInputDataByteLen = 51 -FixedInputData = 54587a4ac6a92963ef00b3fe9f19dbbbac2b4782cb48d93963f0bbe6cc8f4aee06d0cad272fa1733a454be866f80dbdd9d310d -KO = 97531798502b5e0a1a6e677482469e6f98556912dc1ca3f4a38e1fab81a1332c1437ef9deb9b9b72d09e3ed77a6d85d75e5d72d47eb133eb3ecfb7fd5e5b083b58dac7a1925e - -COUNT=29 -L = 560 -KI = 57eec08a8b2dbf899411b54aefb6b78d -IVlen = 128 -IV = 4466c1fb8550f19ce3a4a6c27dd416cd -FixedInputDataByteLen = 51 -FixedInputData = 2e9d9909fdfe120f27723a29fbe60dd739d8b8be24ad047477a7fd516a3a61dc56669ba18e30c0e923bd5bec6cc9541d374594 -KO = 4bd58870b50b0a3a56f0cce5f294f14e8dad1f6ae259c79270be2a4a26932e6711669bf5c957d40164aa3b2fbe617c033ed8cd2ee66c1e38e7b871fd183b040ea80444da32b8 - -COUNT=30 -L = 2400 -KI = e3ef7234d80ce00c175551048f430fa1 -IVlen = 128 -IV = 508cef3b0d6be216a5c5f16322662236 -FixedInputDataByteLen = 51 -FixedInputData = 02fd64212308f064ccdea74a368eb074857779dbfb8c44d5fec8e7544a43ed09bdb06e2435373f7465e43f5e7331a468b33c96 -KO = cabb573ca4513f0a9e095db1fbadcddbf0f7861156fd4aad6f8882e06823045ee5cbb08e7bbbbf42a03d2f0f541d9dbd9096ac94a0b7de32da8aae65e556b25de7f8d1083489eb77317cb0864611fc943fb378344f3cadb549c2749479f30eef83c529527891d1c6d46d3311303dc0cc6a3d947011c249114ccd5bc93554efc3117f4e3b5cd41b7a085c5fb2f56889493ab4f9c7e2a8619de01919abeca9f1ad23a73d0f53139b6bb63a18b0ed8d5f51304e988db3c8e129224099534df7558bf3c01ef70b4e31ec9c0f3966e8725a7004d7d275875bffddb09e97c479315a702ff9beb8b51e75e662b56dd0c23ed34b46dd8185c03f666f9b312f88888c121850e076a2e60f199e62e1bc9226699f4297bca4cc0fe6181dc7e15a83aa1c3f53d5287e98575fe25946a2d2dc - -COUNT=31 -L = 2400 -KI = 80c451dd62525fab268982e8e081fb03 -IVlen = 128 -IV = 3c5dd4cdf30e1468dd1595cc6a39152e -FixedInputDataByteLen = 51 -FixedInputData = e533760a551f193203fbb9ca115ca0611ee89d47599509e8292a702c523bc3e151b4d2920de370fc3780ae5c49693c649248e7 -KO = b7eaa9ac0f1ced532925fcbe4a47e14c8592036119dca0cc456f757befd792b6c92c62ac4fa3308f87bc50aca803e832076d64620b71f89d084a019157e85267820aa7f2cfc91997e10bfeb35b059a3bf66d48332167cc2034e7de8e771571940f3e56ce3d71e8b12a0463793784e4c21267189b4a65e9733914653b6d686aa590746d7dfa08b0def76394a5e88f0a75ebc84a6c3d5a558bd3450706ce82c80522e475693516d634b4f6c4350719062097eb14ba8dae240ff9b1a484ee7779b6b0c385fc023fcd1fafe3d8fb1580a24b8e644d15396d2bad82d3ed2c2a6bb7a53ea4431a9b66935f35bbfdde5605ac06278f3726e1dae49b5dda5fb01e9aed471a2ab6d3fd3f3640cf79a2d0d34f0bec7796cae6f82576e3ff3b3c15d6f895efb27eac597b434c1be15356b9 - -COUNT=32 -L = 2400 -KI = 083fd1e45011159743c3117e17d2ee82 -IVlen = 128 -IV = 39567b70e275099998f55aee7033d064 -FixedInputDataByteLen = 51 -FixedInputData = 649a6e3fb408047107bdd487f4169948d9938002d2ff16f8468d1a9f74ff83e59e9075f31a8173dd300f0587457fd81ea66192 -KO = f3249c920e151327713c33f912dc8300e3cbd283a7e4a416df846973734265be1dc8dc25d09bbecc45411f90f10fe5fd6b8a729763c0ea57cdcae9f8d89df76779221e9bb190f1381d7a14be17390b7715e7aba1e721340384121de0c80c548670ba015dc1863625bd4af7c417fd7f30a5e3bff075ee6953bcd7b878c8c90b251ad78173c44f536c13526c8e895342f920fb39ecca98ce991ef06d9d9a061fb99f165c9d70f6fddd6354be1f3e6cd3e2912548b24239abe4a95b9ae8932e85f0bd3de42399433f8d977af606320e26086c65af114d17f8168e37b57487f58bbc5b5e1b9902e703d6e489c7e3b773ffdd313bed5a277e5654591297ae7bc88b5fe570affdcb17b4a600531887e9431fab6071ef3f1a6a135082410cf03e30e0d38886c2572fae24d49ce7d914 - -COUNT=33 -L = 2400 -KI = f1597b969e4691e6454117f990e211e3 -IVlen = 128 -IV = 1bccee296d6061e5851b772bdd7a47ec -FixedInputDataByteLen = 51 -FixedInputData = ed88e282606ae99a4fa4fdc0a0a24571989c1e879c88661b19721550a8d2153a4595291f3b38c359a47f91a49cc6629fb22bdc -KO = 54b7979ec0460621f3b1b04a760e4992f891dcce062750ee91ca3b2c8eacfbba8466d57a475ba43857fa8a76fff8304751b9b78c039854ee0325b1cf8bee28e1ae9d9854f44fa173e5f852a16e21d3c3130abe7089c22914b7dd189bee8102b15ea850c52c12843d487990f8a396489acf3656cf8887da82354b958111e009383f8b9b2dc54e2bb6782df64b175f90c5f4e647efe5f0d2c7c0f9e305af8753d1dab646514e2e086b85b94ba8666ec7a1a42dbaf8ef58889554544e10b333f3918933de26ae5dd8e00d53c178a2e5eec84463603d1888df5f835ea45881cb77b867633381f9c990d9ca633a01f5479ae393dbfd59709d45f4c4f4287d8802ed156083ea873dc2ff9258490b83da7a858a7469c4289ca03cc8d426b790848958c068782eaa7bbfbfe193c30d70 - -COUNT=34 -L = 2400 -KI = 6ff61b8a2b53e19619e70ffcfe6945af -IVlen = 128 -IV = 07e48a57e91d9f5d1681511c868417d7 -FixedInputDataByteLen = 51 -FixedInputData = 74f6ffddee2a7f81a19351379e36de97dc450db15bb1834f88f790723a76f0faf4a68b836e0cdbc8c00763f4c2c69f404ade73 -KO = 3c98a7a1d3a748a9890273c458d7993409830a6a53c777067a7df4da6067c1e35f1a5d7dd1e973367f4ba8c0320260623be9a178b105832d7c4cdfe981e324fb7452297653fe63846c62458a3c2de5cd3bd59f1531c37f66ccc5ed477a98cf5d9a24245de3f4d1ef686b47004c9b189ca9ae21add5506f8680e69be8ebd27ce9e27cab194f74a501186407cbeb4588d19dd971460bad9eedc1edc98072dba88c29e9088db9880e6f6ade59826e8cc375f58e558a8d36fb18244ee57f688b4a1476d8c9d9cb9b0dec131b42419c967ed788b20a87b56b1425c8eec410ee41ed4989ff96291792f273233118126c1616b47dfe8b12108a01cd6104995697973b3e7fb1af51e99199c622c0a7b68a1185c6f126a60eecc6919103dfbbb41fbdd1d673f80d42fc3bfb40c2e27743 - -COUNT=35 -L = 2400 -KI = b1447465fdfafd44ebe42dd6dbe36d97 -IVlen = 128 -IV = a00776df376ace9015fb15b8f2e42930 -FixedInputDataByteLen = 51 -FixedInputData = 6018132628b4c2864919cd9070f231019d469019051cc2853373e611892c31c739c40b1972d280c3eb28bac768a3705f07df80 -KO = b5f39199cf532c3bcaa94c60769646565edcfe65b1cc0614f27d1cf78e8f33547053a941d24280143358c879deb6fcf6d9b1281a3d6073174f79d7bfdc8e48595712dab25dddd71718e66204bbf6ad7b62986316d29dfb6a4c185a6cec8d1431dd0ccf88006a75c46ec36fed63c77b651c0d770a08866530a9aecfcc37d19f5f8f62facb45d3a0dfcc336f5be8442888ccd809d16070102b825d3531594b9495935fd3104ba50f6161edbebac9be81e7539182b0288b1adb11aca9c8c1301a013d3585dee0bf5baaddd2b3dacd690966352353950431183f90a8aa1891d7e9a2188c9dce5f5271e3a3569008e3be4408657b8ed66979baf153b2cf34d57b384fab04a45b073bfd6f72761bd04790edf56968b29ddbc47379a55ca40d12a575cf83c46f8538ccabff3022a5aa - -COUNT=36 -L = 2400 -KI = cf00f84ad9814d4030143532254cfdaf -IVlen = 128 -IV = 9e2e17d5e815599dbb3a51df47f800d4 -FixedInputDataByteLen = 51 -FixedInputData = 76e20c6100f2c622c8d9e9c2f7fed560de433ba91a150c7e56f0b6e6a9029c3fcee8fa5007c8d02a27fd3a62dc0f2df2b1357c -KO = 6de25c33d1bcaebacbd92aede4a51aa3c72eb9734e0eccd9bb87e5731560b0cbb702e974769c51f0deaea50201b806611bb646c36ae7eaff7d7e8c1e9c5aa867a7743a2dd63eb989f1941f3b28db32de544698179bcd4e81a8d8e69a9f502d74fe2fb0da42d4eb509204e64f4f04a54c9ecd57ced9405a81fab772af17a533bacf21fb98dc21bd8496dd3d846c5c509ca297da68e4957a4ecddeb064d66fc2bac95c3d0662346f30996964b6b66ffcb7351de064b57e45803a0a784ace78d7f078b74e0a210a4029ef080182f76d883cb2f85ecdc82850f1cb372d65b254114c7e62ce0728a69424d4ade79968a08cf1a1872dc43b69d5fae068f1034c8762b68e00b0275f9c30e83ea2c1aee73bc4defe693d6e50599ac1ccf9a51ca20312c69a22aeb1403651c3ce3365cc - -COUNT=37 -L = 2400 -KI = ff1b176c8f32bb0d6709080063a20deb -IVlen = 128 -IV = db09c9511f1ac67eae200367032fec96 -FixedInputDataByteLen = 51 -FixedInputData = fadad22a666b88900efd04afa4a4598761d051d0386033ad1540a0033752715504361d420de92df8042846bc932a378274de31 -KO = ed02cb20e3f261a6d243a179a71b998eac7d2e32dce790b9612b11cc4a0031e56530318ca2aa36c80c23006ba72b55b5e8d3d5b8df3db2813374e8e885082c4cf411d8fc5b45ed8e5be57140556a7c4c6b54365ce617268f716d8674c187e1cf521a7ded8a1ab4e6d0e724c89936f721a87783c03986fb131ac12a19522c5b941698c2767099739d6a91630c5651ded719327019f327e8810ceacc37069b17de92bec4abdeb30d519a916db1ab76eb8edd47e9d64988b466d48fad90982d769091b592e9d2527bccad3c13d343b7ed8df093a8e02479a78fe4bfd61844ede2794d169846438d74079e05487879bac57fe9304e8c0ec7e00d715fcd1d8616b501920139d704b6477022a3baa7255a7fd004671a8c7a096669a43d97d82ec0f023ebc64f3cc6cca7195d2fd492 - -COUNT=38 -L = 2400 -KI = 6927e167f62384e0e08a261f56a3213c -IVlen = 128 -IV = 1e2df6b1080736c81e748b0cb0759de4 -FixedInputDataByteLen = 51 -FixedInputData = edf7ec2e02be8d2a66fbae01a376f45e082e5ea5c49c1d15ed96cd8cd5f4f7263626d973c183646ba924d6b3207fb0f45a9a18 -KO = 6f5c69ead769f053951c20f0660f226f63d0830da5de24a8890a783346515ebb20e388a7dcfeda9464e126f0482c5bd8c19ec5054688dd8e283ced7ed56e8ede22c2c8e624683bd512b15187568411e5b022ac7610c5b605f01a528e0fe1b68a4368dfd12cf6214bd0b498d2b51c0d7ac6187e2855b344b37bd891da011f6201f90db16d8466c486c530669989a4241e54a6dcb218526e3cb199257147f2b1ff679076e4e018d41aace752d1101ada67e656d803137fbe53322f9912913c8471cc002a43ca92e233bdfdb38591ebfdabfd8b46760330feca975518aecd4af3cdf51fa6824986cdc2bb17a199f1070aa2b1757cbb5107d166d8790433b187d415718f7a03dbadc6525901266ad1bd72c0874a2e2b89ae215899b641ea2e816fff33beaba06a7a05a77acb5fe7 - -COUNT=39 -L = 2400 -KI = ffc9d36307df0c930da74111e862ac11 -IVlen = 128 -IV = 13a73fdd9660edbcfcc73fb5386ee759 -FixedInputDataByteLen = 51 -FixedInputData = 3de2eaee061903d66d6cf16434bf4cd13d5bccfcce06813e0892af19233830c0d0a27ab871766c3803d8ef645583d33b4e74de -KO = 3f0bd34b7de62f4119263f41a2824394a3735dd392c41c3ae17009959ad9c5c266759aa739909f62806c96e56caf41727c8e4cfc9a85f1cdcc4e102151831e8989c37caebe936a60095a27467b52c5072a782f9a9f2068872c6770c400ce8ca01dadbf8c8333955de95894fe7fd5f7d7f1f70cc642f39fb4a06fe77c9ee6ea1a40318d842c9de69ee7a0122856e2c4375c7f1489d9345d36b5388c0dd83b566d79e0045cd887603fd532d7a70aebc1ae51aaee32a5ff2870dca3dfd01991fbf55025fff979aa84d32a5e90dbd758c875bbc3389568274071c14e8ecda820c28af465df5735cb1609bf4cd69ad1c203b93f836a2b99a62668ad481bbfc811ee9a19dd721adab7b9b9320f3206dc258c9a28bd7bd8679d8a1627bf35acab893c4bb232f010966b3ee8b4119b1a - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 3950e0b9c029648cbb1324a50fb352bf -IVlen = 128 -IV = 4eaf1ad041e71f05897b326c0430eff3 -FixedInputDataByteLen = 51 -FixedInputData = 2243ed899fe136028b272b8956cf1092f7a9cee981d0bca7afc8b17e85eed7ec297bacca1a53dc2898f3c6fa5670e6774c2bff -KO = ba71a1db10b61d4a335eebcc40e0c0f24a51ccdce9aaa330be18e76e304a86b864c7133bac78f957f962f76dbff1b3e829d3a88d22a8ea6a555ae8740a03a95c - -COUNT=1 -L = 512 -KI = 6ee75d43ca97cb4a6a013ff0ee663fb8 -IVlen = 128 -IV = ec2792bfccc352bf2496b891a7e97357 -FixedInputDataByteLen = 51 -FixedInputData = cd6039ce1a8c8d6af0fda8af555b8762a6a59f63ec9db5c02afa397dfbd3505edff5c3f2b7d806fab85a30553aca443a6639ad -KO = 63ce3048a391d8f2aafa9ee1b619cd71e1570a1eefc475b6921a2a4e37af799c4d73600e460af854b3e4c1585958341f0c95917e72c28be63a9e35bb44de4246 - -COUNT=2 -L = 512 -KI = cd6293fb0435a4b362573975efaa3042 -IVlen = 128 -IV = 8cdca25225f36d621b638053114e5237 -FixedInputDataByteLen = 51 -FixedInputData = 59f345fe1a7925c9db4caf02244921e7ef56beee236aa5e3cb6540a3a9db3ec4ef4dac4ccbef8574e331097413207d94578fb8 -KO = de78692e5c7035851ebb701a18408c63edd9110fb05bc7cd71b3f662788705daf5fe292c515944172fdf34bef796ae5be6e84067ce19a745460825fdf6ad6d4b - -COUNT=3 -L = 512 -KI = afe8ea12d08872498687fa4e4c9c0e2d -IVlen = 128 -IV = 615ad4b6fcddb43818e01954a8a69992 -FixedInputDataByteLen = 51 -FixedInputData = 51a2b7f7f35ffdd41c59dd7f2f9f9be6076ba503a8bf1c8c1b3582bc8245e5784ca5125ccbbfe8d97019ee08a99e4132c6d888 -KO = 33eea441f7b570bb25910958afd1485b3f92cda3633c9d98f61d26aa417ed172d9c2b369f7b41f50f2bfdb3055bf7f4b84490f48251913f5deee828098123d85 - -COUNT=4 -L = 512 -KI = 58d8e2e9c196bb8811a7ecd094c925b4 -IVlen = 128 -IV = a5dbaf46dcdc59d7c4a1bc2834810312 -FixedInputDataByteLen = 51 -FixedInputData = 2b6114dc570b9143a4bbc981ca53ca7874ad1eaa03d923e897ebe18de377285454e58929efa42cf7dc8ff58be10ea1c07db9e1 -KO = 66966141d7ce6ef90b07b2ee3f6d32bff03998abbc9d26d6140e4eccf9274748527352ae2f538e5a6db5463cbfdf8f3f0a177fd103cea83a3f0a0d15b011e7a8 - -COUNT=5 -L = 512 -KI = 494f1ac4824894ee6a9659bfa24dd43b -IVlen = 128 -IV = 3a597a88658e2cb6599f4241f334295b -FixedInputDataByteLen = 51 -FixedInputData = 498b9e2fbf5815d6e51629cdee5bbd1b50273fd264fab128d0ba6dae1989af68abfe2307ef98ba2cb73a51951fc2232b41e75b -KO = 067ddb7c2719451ebbab7da0c6d0cda51d511ce2d279e19a425bd978f89ec35f4c3ff0e1dd85e71b765082f456092b612b81b5a15e96a083383d4c4f3502e97c - -COUNT=6 -L = 512 -KI = 4cdbe327461fa41cbdccf14b66de5456 -IVlen = 128 -IV = 01b5d39f6c3d9b28e953a12d2a89bd58 -FixedInputDataByteLen = 51 -FixedInputData = aba71d57e8ece64cc777c1dfee522ae0ce4dcf57fc1afd2119fc0ea892ba12fe5fda84b39599bdf00744ab8790fcf4a1b236e4 -KO = 57c6613ae1c7bad1062143aa915b060bc1ca7ffd50c74ca19069f46b05ffeba1c8f3ae7aa2053931964fac9c0c3da8f6afe1b0c5781598bd32f3c324417e7ee9 - -COUNT=7 -L = 512 -KI = 456cbe92b1e7868f9fbc7b8a84adbfe2 -IVlen = 128 -IV = e973c4d238f650a980cba6ffe7ac8ba7 -FixedInputDataByteLen = 51 -FixedInputData = fa8c6dfd1022874afd3d2f53370f43d8f8d3cdeff20711c1149212c55c6cb20db6db1e77bf983f2fbc278ed393bc711559191a -KO = c218800df37aa56a46c60826e1a0851368a89affa1532fffcdfffdab57b2dd99b58478ab65b3ed923e959978d1a9bf488dc32d6cbd3ff6310f95c01bf491247a - -COUNT=8 -L = 512 -KI = c0318afb5883061a30630558d559fb0d -IVlen = 128 -IV = 016004f8d74f53655f9b0280b709601f -FixedInputDataByteLen = 51 -FixedInputData = 586c37346b0bc670103ce21fdd4c291ba0e66477e4ca0e29d958c3c14fc08d5409098a66c597e8d03dcf4144c1d645c93a19c1 -KO = 741b921aed5da4d24113a113331f93a46b8cda75ac299efd3290d67ce17c0dd18e2c27568c5caff038d0b94cfe82cee4f8ef08211d1c597071099a776736dccf - -COUNT=9 -L = 512 -KI = bc55e8fde010febafdfe267cda34d236 -IVlen = 128 -IV = b564cb9944cb2f16008f052e10876f14 -FixedInputDataByteLen = 51 -FixedInputData = f91ad4f87a4348c9d4827a227711a0bc9b32b0d478d642d5bc39de0e27e59d08ad7d9498168fbb2aff478a9bd2f7f1002e268f -KO = ff3719f1370273dfa15cf15e97b238af8282a9d77fe21a387a154453b4e5a46bbcca7e1d720f175ed0a314a013212b4d2a15aecbe95cf4fd5ab91f9eb6357c27 - -COUNT=10 -L = 2048 -KI = 7f10978d8bd74434ae2544df4195873d -IVlen = 128 -IV = 5dfc0bc4619b5e0698ae5b69ccd0afd4 -FixedInputDataByteLen = 51 -FixedInputData = 8d45a0baf7319bda12e151cd7bdf3ae2844d89532d51a096544a1bf3b4749d616599293e82202c4117900963b9e885e1e5aa1c -KO = 9f63d82940a61ee5eac9cb20d052d2a5c3230caea07904389c69b99d1bfd47ca8129e6696f8e643140ac189772f1ceef77a16dd4c422771eb2f7a5ac80c7f163dcaf1fb852b51855de5d6204c2f3611db562b727b42379d1278425a1ed9ce9c11235a9c6342a9e075f0b3642470369ccac40d4d62246623e0e21b567fbb8dc4df4ec859dbd49848969f240d42df5bbb61f2bca481f5d3a61167f576cbfa2d918a7c222a91fb12a58a7b9652851401fd9ab72da48dcae2369c7c1bb0729244e89a7cb186ee4b7a901f6c8d86fb1c092c2ceca92722648b6e137c7aeea4de0dd037c9d469ff2e61d6ee9d4c41a0692cc9247e46db25a8040dd53a4d3ff5c536798 - -COUNT=11 -L = 2048 -KI = 9300fad2ba3b79d357c98414adffc0a7 -IVlen = 128 -IV = b4beed7d741c1048e8aacf5615f5a18d -FixedInputDataByteLen = 51 -FixedInputData = 337432938e720c7efd2096483275ea72fef4972109768adcd04becfeff639547dce5a1a9cbdba90e4b49e4cec8a960f166fea2 -KO = edddb34c6605bb48f97f9c94534ef050b982f20a6e5b8b71c50786fb7e23dc102360366c2e570e538bd64166f471ad9d1be8e9dc5895e2b188f53a3d61644b6f0bfc161b2c2449237c78f0fb1aa3b5fa13c592acd4f73a7d2611ea2fc67118d053e28d98b506ead7c8618e85f047f639b624a5bfc15528e4b977ae4b746e1ed9e032aae5c0850b535734f2951c85df1a40fd3301f8fe4927708b5acd4ccca86fd03c3d5c3087e029e49a67394838eb972aef2c8e3872c4e0d4b549fc8f521bf855faca0e62ab061cddce90e2348ceb5e77c17d2b9c4a3db11eaf5f708467d407614d11ea3fbb6f91f15f7b0073679a84e366948806aaa4ecac6e939d3a910cb4 - -COUNT=12 -L = 2048 -KI = e45051a51fed715889a2e8b52f9516aa -IVlen = 128 -IV = 59e41ee9489e668479dc08fdc4191adb -FixedInputDataByteLen = 51 -FixedInputData = 80c2519da626ee11d039b81e5815857384bac9de7b772d68459077c94236c0036ca0f5105d3d5e479026bfabc47b4d55cd5190 -KO = acc570469e2ed50f3cc625eaaa9e8f1316b1461733b6810e6554fbce55c03d4cb8426059a17965a353c3e4d3516a61966649f16632f29ef22dc23f799585fd4f4b381735279638ad18e4e2f1a144d3b4e60536fbf7d25b25bcff539911f5a99a25c626b14b3c7adb545552cae41825a57942a68552e30b85f1072232181e69033ddf1de2f0b0dccb1398b5e5064daa9e32a177a0659134ac5bff5b80f2d371d8b3326104ccab6e376fb66232b8145f8b6312426fae1b2185258ebac1c325be9bf481903439f047ba0b2331054f645bb842bb1a88808f51191c6557fc9b9ed5fb6ed870351827e7e20174675ac9d24ad57d461a7a63a1e038660b896a82d45510 - -COUNT=13 -L = 2048 -KI = 47f46ea90dac8844eb6cf8f3d3cff87a -IVlen = 128 -IV = 903aa457f160b2b42e22fed60747e52d -FixedInputDataByteLen = 51 -FixedInputData = a8b62315e624e747fd8b0a8227eb676a422986a83924b0d58564dfc82d7fc813e8d8057f49ed09fdcbeed920668df2bdc37b36 -KO = 4c23a7107ddac072d7ebf9cb3ec793377b1fc704a1ba082d5407fde482d46c3c9987e32ea7b03f1d65cf342b333296dbea9c789e98a0d0d52816feb4031f38017768cf5f05cb98b0d531114be64d15fe5bb05ce695ec13d9c2be1d54424cd1478564b53312fc83ad01515856afd306c8b48d109294f9c8b399db0ef6a8c0d5dc40ab88058a1681668f57729027c75defe1d8ecc0c3676d8f50eee0fd7c08f471e12b4fe00f0eb94e1bf0a392a50db221383c04bd52ccb981f323929ceb1e8916cf6685c48faa8156e1a37652091761b20ae841446fa713aceadfb16a6c786dfb51ca6f6c05189d1ae6f6126c3147d1d51f4f56fe59b838c9a2fb94b600931e73 - -COUNT=14 -L = 2048 -KI = e5a17c231bbb158d076c02f929541c86 -IVlen = 128 -IV = c0a1e7fdc58c90ebb4acb438e92b8764 -FixedInputDataByteLen = 51 -FixedInputData = b5fcf721a1ca68faa8c9cfa1780a1e80eb77a1f602119d3144a4e6dc3b395a6128b1eb79829c50fbeee1e17ff7bf0dd9f5fe33 -KO = e24519f6eb251102db495c5ebf3b2490e4855a31b1574b3c8003f06230f8fd75eff4121c6e3c479b5e4ce2fb8384b424a857234135effd5709aef3d59a48f4f1c888551b932ba81892a4407d913c8ea4df80c90ec5dd7101ed3ccdac16a5791a98324bc7a560cf7370ac1d22d8f09e52f96a24005f74748b96b13135604240a03fc237c069768e59aa66e36a93268ff9d65d4d4e4e9011c7f01ba84828e14cad53ecf920c5263f814025e55e7f13fd0ec678de9c4ec2040701d6aed3fbe1eb9e4afa87b5cf20e48211df334df690c92ceb0410c6ecc8aad145a3babfbdc4d41fc57dbda39e632fd92f2fcb4e8fe517b8140f49abf1c308b98d1ba1b52463de51 - -COUNT=15 -L = 2048 -KI = 06257a57c1b982c8c5954eb88e0ad349 -IVlen = 128 -IV = 5500354e72ecf85093f75d9ae4ea92f9 -FixedInputDataByteLen = 51 -FixedInputData = 02bab1fc2355c0fbcd94ec0733804eda85c3aa7ce36d0ca595c98cd3685208ca8f66855a5ee53cfe01aad7156a9911bc447d7d -KO = 74dd2f7c278146bb0df76bc30147ad136e79e975442b16e89eb836e66315c543b0b1fd074e9d6979f5ccc3e62579d596e63a4164329a6f961a11afbdf62edb5fa6007633aa2c84996a403662b63c3e416462d49cc2ae06fe8326ce039737e6fe88f9e21d813bce2a9a3bedb94145876f94cc8bcdea5efa8232f0f28330aace7cc7e11cee21594f4ac2d297b8bd1a6f48cd456540252e5c8d1f1d9599a6660f96851d4e875f8027c3049094d787ae17a97bfd1ee33205c971ba5cfb790f72f4b7593baafa4f8182c776a6cd9da3b17a01cd41ebf900e56a7d481aefbf319600f063268b43e31cb7751c13c9a87ac58a41bc261fefb969886b776fc148e67405b7 - -COUNT=16 -L = 2048 -KI = 5173838242dec2d1701e6fed5eb0ae20 -IVlen = 128 -IV = b49a6dc2d44535bc8d41b0dc9ea23908 -FixedInputDataByteLen = 51 -FixedInputData = b846b34ccb092739e873badf7bb430b8dd5548bdb34ed2d5e7bd71a4abd19ceeaa1879fa4d60b46626ed27a1d1b87310d898c2 -KO = cf68a4f9c5da6d6eaa7b8d45f00c3df4368e5b5f4eb0cbb8c2b9d4a5846b5cbd6c58583ce37cd5723a8b0c6b28126e1b6a51ba067a62037ce6d4c9b03d5410587359bfbd10ccfa78e05cfcadff0723dffd0eecaf3566f8826e28b7aa268cfe80a248a3d4a2a124e4618fbdad97f27e55551a6f33893a373c5a385f9c9467f1c04f4232e057a6c411af9a631a00051839f7b87738de412531967d5fab90acebd475c433ae2ce4a673e8c3bf947980d97e962febca3b68a130f4add83f2bd27df4cc71fc017f2ba6068c2aef3e0558db7ce4ecfb435f2de18b343eb867f2fa8add4d802bb2ca14362b0a41065ad59c481e65e740c61c5b839703e606fbbe451b34 - -COUNT=17 -L = 2048 -KI = 7079f7a85629e29648e48296e73617db -IVlen = 128 -IV = 5b76722597462baaffe4b3dbd498c807 -FixedInputDataByteLen = 51 -FixedInputData = 0387e2dacf6ce9fa7135c2851151ebf77a8a48e9b985783409cf4e713ec992a3ee2aca78001db93914b6f79a2b14f2bd449551 -KO = d783c8836d54d663d0039ae89ed0aa96a53153eebb6ef4025baee150ab808fc93e469b61a859da264647a8c59407f7ef14448c91028d2fdc1cc5750f676e2bb029a2fc372a2eb6c83f39c70246c4822101b8f4ef7ef61d7eea0a341f2a6fb32d185e833cbe9c54c5bc4fc18a4063fa35b07ef6a9b640cd46e459ac6cb49719152c3d7074ad8469d9f05889f5fa481dc903a721fd4ad6ff6b1dff7c1af46726b23c41f9edfb95e1681f7199e7727e2e72871bde797d87940bc0caa98a594def782eb8215432bb14863e8b7e278000300a9a7984b71fe50bb630c51ad7dea8e57014876c6632051149861e8d600e375b4fd57b4963db1f83dab98c823a323e9fa2 - -COUNT=18 -L = 2048 -KI = 34b00b7a211c005df46d61839312600c -IVlen = 128 -IV = c6b9e1eb371fe546fdfc75dcddd308d8 -FixedInputDataByteLen = 51 -FixedInputData = 2a9b385b3c5f532bcba3c2d5d779c53f62670dd0206f9d479e245787d96550b470eae16951a0cb624ee7837f3f1d5f66d8ca1f -KO = 344ba544966461b6220babedfc1bceb0fdd6e9dc44361c3cd3fcc29294f3fa4ae54dba2405a3e7c4ea69d6ecf38b1563b82c0c4ccc3bb947de0ddb9c6eaaa59b9508bd6e6453d109ab8173607f06216eb918523a03473fb71b2d76d67db822bce1b08bc5bc6dfe2606945d5b0748fbef1e9ec1e57623cd94b2935673ace106aba03ab66e5e35188ae3afe8b8861eae40a70dd916ab86a5fa0404066853bf77d13458967913ae0367618fdfc89eab33abfffad856d3208ce980ee9739ffd738fe804531b353233d40101c1101e282af49ddd5bfae3ff67f2acd806d6f20c7ab248bd6a7e35f17093c145e2c537b75f909d082f74ac22d12f102f68208654dddb8 - -COUNT=19 -L = 2048 -KI = c9ff4185ed84f6eb3d8433ce7926f45d -IVlen = 128 -IV = 7c66a5aa449120d491d7c57c883d7eed -FixedInputDataByteLen = 51 -FixedInputData = bafa045c3722a4dc5dab68e1e5585610282ab394e4ae4d73dce7422800dd4839c7266baa9aeef830088ed791096f94c1ce6b00 -KO = 0db304cc92cb3430b119fe7faf5193074f8c48e8650497de3cdf56414cd7623606def93719152dfd8a86dfdc8263ea1dc60d4592ac21c1dc6adcb17033d97d041546afc8da71b7bcfef27b489405eaf7d835744d522d5b0b1c296292a18b40e09c2a783d348390fde186b790bab42ddff04ffecc638b17798764d624de2d8b5f431fbc53a074955a5f004151365661cdb935a53f62de09b1049c50ba1c61d562a034f00975694e10be148bf3e750f2ded55ee2761459ae62626b2e036852afebdf4bdb4c289c735020a762064b6224bf521299b2a80f776acc3df5c92d8d7023f37a7a55fb99cdda489c7ea7128dc3f0e218615d911591aaf8a656bd4df88c56 - -COUNT=20 -L = 560 -KI = 4ace421cb881bcd8a480f2a9fe72ef86 -IVlen = 128 -IV = 8521177f4a5b01b1eb5f2187af2eb2ad -FixedInputDataByteLen = 51 -FixedInputData = 4628a8084116cf53e583dc3b6bef1aac7b60cf7cee142dcbb44a6ce9d62f5361f58d0a8650e4e493b7a09ddd7bd8a13f533bb1 -KO = b9eeecc9f3688a566ffd85b566e8a56aea05c646746fa5e15a75cbf057654f5b9e9c151675d4267d66676878555222737815b18ddb854b1dafb214cd77ebc0d21c36bc8da776 - -COUNT=21 -L = 560 -KI = f650c09148698f88088d9a763f6acf38 -IVlen = 128 -IV = 5169a3d5aad708752ea977acdefe88a5 -FixedInputDataByteLen = 51 -FixedInputData = 059a49f11d824a0a2098069ac88b87fec64c8b7e14b6ec5e0fb758060ce3ecb2ba776c6c21adc54278ac08535f0fb8876d81bc -KO = b1d0a5db49ae96e9d2d67d9eca80a385b5aa87db0b0d4eee62985fee0a7da23b56b515b2c264a2e81cee6960a3664ce7764ae9a8e60972ce09e34b22b42fe713c6c1f0bf4218 - -COUNT=22 -L = 560 -KI = 5d364b50986b4d0545c86e0ae191a3b5 -IVlen = 128 -IV = db5cd7c909b61a94cc617fdc7efe0dff -FixedInputDataByteLen = 51 -FixedInputData = 682d23994b735868d06bdf61a804216ace88712ae5b6f24f26e271a5a2b7b6738573183cefd0ed76d5d77bc5c06bf85c29f779 -KO = eb0b6daa6c4bca64729a9c71bf88b3f4b2c3b0967251321aaca304f6a49cdd5e8199feda4f846d362809de984929b8938f99dcf6327dff7c21cec7269e6af446b930171d96a5 - -COUNT=23 -L = 560 -KI = 463dfe8bd623444af65e5a90e7653ec7 -IVlen = 128 -IV = 809c8f041ef51c9035fdcd07422739e4 -FixedInputDataByteLen = 51 -FixedInputData = 6b8debc58e95e627d670c7a7bebc85b9c3995cb29409b7fd9ee403fe0860006f04bdedc31636569027784db453079fadd1932f -KO = 3082aa8d9f4272b5b1d480de98156e9f10c61f435e4a7e48ee0812ed1fb838b63284ca42bbba0b3cf87ae6a94f9085108033e8f62e5e2baae20de8fb68e796be441a5dedc840 - -COUNT=24 -L = 560 -KI = 489a006287edbf7f4d72f57657a881bc -IVlen = 128 -IV = b720cfd4173cf51f70a5bf79fc15c587 -FixedInputDataByteLen = 51 -FixedInputData = 143e936f3fa9547e631d2d34cb653fedbe088fb50b67d18138fe36e7d18ddfb93b133cb4dbf52a06c53408bb36acf5a9033ae4 -KO = 454ccfee11e123e91e3131e74eba2c602bd78a87449fe3b42acdac01d9c95dfea1b360cdaca343d99ef03e495b0e5522f443674bf79150fec3449564ff7b813dca0d120f880a - -COUNT=25 -L = 560 -KI = adfea92ca3c8d282e7757e20b5849311 -IVlen = 128 -IV = 3012d8d038cc1376515c24602601c96c -FixedInputDataByteLen = 51 -FixedInputData = b344af54f06739665a5be3c4396bc54ff6d8e13f88526d6edf75757eee40fbd04f353b12a6af1123d2e3d7b59abd9eb476b3b9 -KO = 7258dc7b4b34b449c5068f33a71dc67cabc415f53b913844aeb4f6a2138afbd02688a1534354926ffd08839d2d86d3a6a1ced4bb5e7a922ebaa230b308c4b3e0c6c320abfdc1 - -COUNT=26 -L = 560 -KI = dc2fc218d3e414ccb40764833b5d069f -IVlen = 128 -IV = 1dc786b774e94753ab6663ea0cfe31a8 -FixedInputDataByteLen = 51 -FixedInputData = 4bc6ce0a09048fb13acde14365286c167208628b0bbc74e105f9dac759025153c60b453d053a122c1ea3a7755ea2fb857d2068 -KO = 7b97cae57008dd16a4b49927fab341bac255c6380b0aa359f1414ded8c57e43db07ec0d891b3c39c6ce749898f27feaad47e9d11c0d05d5eedea9fa66cd58069ef1df3b8b2e0 - -COUNT=27 -L = 560 -KI = 25683c75850acc54a6a28dd5181ba3f0 -IVlen = 128 -IV = 29f508ead8b149e5910b6e93ef73bf4a -FixedInputDataByteLen = 51 -FixedInputData = 372269c1fbecdf939f8a8b8de8223c75fedd9f0975d668476910905427ce5bcf9f686d5e44b245326a2728ee724a77874af20f -KO = 0ccc6e5f79a2d40fcabbd0370af63ee09c4fdbdcad34818b7e684a140856c65f2dadcde8018d24feec69fe8aef8ddb260b7fe88d6b56215cf83dfd2c16f41c57c092ecbaa86f - -COUNT=28 -L = 560 -KI = 553f40eeadf5e7e16943b3e82871b417 -IVlen = 128 -IV = a064051ceacbdcbb35771735ddc92065 -FixedInputDataByteLen = 51 -FixedInputData = 70f73c4b3877ba4214a9d4d01eef074200638b1513eb10124e0cdfcea74bbb4d4e24e02ec6c3eff19b96f6bc1d42170b0bb91d -KO = ec877eb01ccaf2dfe36c52240404dddb873234ba1c2d10496ff2c85b8aa0502bf17c4e0a887694b55244b828018e231b0ab8640fed588fa8e9ed9cc12e6005418df163f3907e - -COUNT=29 -L = 560 -KI = ccaf298e789897515faf25357aa2689a -IVlen = 128 -IV = 7d1df890babe41bd72a73fbb1fe61fe3 -FixedInputDataByteLen = 51 -FixedInputData = e1cbdd797a46a21f8ac552cfd6c74b27af6734a7eeffe65d969efbdfe4e02b7664739d81d51dab1dad5cf5b40a21212ec6919c -KO = 20bf436e5d251c3c4d5e254cff4d0c8b54e96f7867973b6fe9147382eaaacb687b602bccf94465a91aeb2d1934631076bfca2cebb9ab57a03399e684d1c20c9c3024b4839d29 - -COUNT=30 -L = 2400 -KI = c0cac5f37765a5103630e2e69bf2e4bb -IVlen = 128 -IV = c7f95df9b3a77e572e20c6d5e635682d -FixedInputDataByteLen = 51 -FixedInputData = 1e43de23778fe68ca6e92255ec8488ef8e7603f7fa52f8cfa5481e688292303a62ec44884356570043124f12d598e22d887732 -KO = ea85dff7ab07102ac6594007b27a689b718ab475adc55e24f151f7ceedf362c50705ef448175223df8950daec2bfc93f1aeb94b64879c076d0e9c7749f8637c2669bf49a90665021cadb037ae9b4fc16dc5e861ee9beeaa96fdf3af341e22eed19ac80c8df2002c992440a98bf97985389195462d12b53c5a4b0035aaa8b5852516f92587b0d43dae3f1b0c98394b1ca5e9877e2ec20700e97d710b87fd784716361fc42b49a36da578404c58a77f43f15cce47e3d5d0ba7b61f06f23d7d179f655b9aebff7d6a2d7cf492aff2678dccead3158b7a86e9ac807dacecd0c91aa0866bd1531ca39abd8c5f6a909d6eba47b16ef31aadada48c051e70cbbe6202e6f2753627efb0dff42dd87881b0f3943ae38bc9aceafceeb64eae57499b51d718416e275b58fee386096fcc58 - -COUNT=31 -L = 2400 -KI = b9e328f5cd9898c4df896ccde59deb3f -IVlen = 128 -IV = 38a3134a84e1cdb50839e0d4eb7084d9 -FixedInputDataByteLen = 51 -FixedInputData = 8b77fcfb67ef7af964a6e664b3fe0d832ef28ea4e22e26d4791b200b42b25b157458b967866f37ba1d5ac30d4a55f673479096 -KO = de8a55a47dbaadd302e76a41d4938660d644db2bfedd2fcae694e10f7a6098dc21ac2302873c20b95c46a26d2efb278938c628e7ac17c8757c75945175468a4e9c2306c89fe8b53883a7bcd51b632c04c4f084a085e30ffbd3cd12f1ee13f984e6a567bb69e019824d05c6a718adb2a38affdb443133cd4d25aa18fe38a6f835d4430f3f080f78e3b7341b310f44ff1604f3143f19df8d172d88ac4c791b53cf592debf7b891f71bff8b874f3d0110622bb9bc54064fa11881cb83c0332545bf660c082d3c6db2a5a97bcb3a186dd07cecb69b925646fd7c6fc089fef80d60ceb4f45fe36e190511ae1a79722e9e6759a3d60b54f6ce255b19ab175ec1462c82c799d318ba87755dae289b421d3ae5e8d0867c87992be44a8d5bc7b3dbe500e208a46cf906d97b5ff1e00bda - -COUNT=32 -L = 2400 -KI = 0d2a9b6cdeb996a0cb5ccc896cd83d27 -IVlen = 128 -IV = 03f14bedcad4c389d0f9dfff33f2cb77 -FixedInputDataByteLen = 51 -FixedInputData = 87d40d23313c1ae8f648206aa0356bee66b9ccfb1677dd45b39d572d20b22b3211f362804cecf7f1bb036ed2bbccd7e5ba4500 -KO = 3bb4a1685da3886872adccf7b1467764983a07fa82a988e63073802a59722e0828c1a65e5c605a74786c2782107140268c1404a2a13d58dd02d6fbf38eb19315373bdc27c22771536f09a782e769a4f17e562c7bebe6df5aa0400d06e7868ab10eb0d3af33face2d0cfe074605e6749386f84aca651867ac3d5afbc96b7f211498f86c9ecb803d5388aa9454bd9edef05c7fa0cc5be3c9374f2bf1b3f3fa15853142cc4695b1a3de97ea3d4b9d76df926c5884b830aa9eb7f85677e5c8bb9147e7f1106cbfa6dc432508bcf63e8837ce0c7e90aef3b080fbb229595debb2cf72dc87ff5d505c490442d0696211914a6bd59056f9aa9cca13993fea2b64bffa6c99b9a6e2e20ff80b3a6c7bd3a94fbaa171757a8258268660751173cc4f15dfb3278ef952099e7ac16accb19b - -COUNT=33 -L = 2400 -KI = 18f4d3141931295b26e5c7f0c8046210 -IVlen = 128 -IV = 093134b2fd00033193acc65bb5c52b04 -FixedInputDataByteLen = 51 -FixedInputData = 897ea63756aba3525e771acd185c0400c37ea295b8447229a8878894dd41a02cf12eb3bbbfb5a43af760f30d6b486ca6142787 -KO = 9d741df9f5dc5287f3bd7905797e82ac85ff8118335f2494401b70d0786a71bd563e2a025b102a6fe199908c1655141e01aa5bcb6790cfb071d7cafeac496bdc76157b31d743593f95ae4336a3ee64d0a0ba9993283ebb43889596ed71b20a6d884f143ea4c9b7a9d14f539f999bb68fbb03a978db51e26ed6c0273dbd2ee42167991bfa734c665ef2b08f886eacb05c085cd8859a65edc1403a345a5711dd316637807441edc1c3965ad9b00050e5613038813472b43ee2b2504a8d5d62cca5740c7ceb653403ca490c7808039dc71b77352e80871f24578b5a8e97ecc099fcad138afcfbe36aea49553d28f8bacf07a7f17c177964ce760f913b556fbc9ce1f4be9fef6b6273b1606cfa22b3af7a50b584eabb3e39cfc1b10a15ee9a884ed00c0b14b87b1b3e518f5bd184 - -COUNT=34 -L = 2400 -KI = f5699a8fe11094d11b1294ff2523ac5a -IVlen = 128 -IV = 26fbc89ccab07e9648a9ff5423c15e30 -FixedInputDataByteLen = 51 -FixedInputData = 78232b18e488e45ab0cbae7a980504259c3ae83d97949b2ac1ef9c9241d94de362c1b538df357816b068e243cc10843b8da653 -KO = 26414d4823e3114db5ad518b800127d5ed333751a5185c305e2c2dbf992bad1c65b0772b1ea95edf1b8953bb699db4fd997fc14ada66d62334c4fe6e37f10d085bf47d44fdf29fe5f0d313e0012bc4e54c3766b972045ff892999723ebf4a6251152c3399f0b8385ea7bca706e3d06a3bec8879c0a05cf52115d002273215040fe35c7503c6b5d3960a4694636695a1e17ac43db5d645447194bd17e482da087fb2a304d27611336c7be1069848db7c6924e518eea180594dab30d672b3dfe1ad6908aabbef7756b803f9c6f5467a203683830fc35c62b7da655d1366ccebd73377f7f35b2afb989119e8f6b564a7aa407419a7805c451e9751fa9d7e86f1b5d03be42c6105ad146287866e0ffdc63ddc01e3f4432e05b76936ece4e8b140fdebec10ce31b12fd156aa97cb8 - -COUNT=35 -L = 2400 -KI = 1380aa94abd826cf53363454a11ab929 -IVlen = 128 -IV = 310314a77075d4bf7cc3e46e9a72c1c9 -FixedInputDataByteLen = 51 -FixedInputData = 829a9811a11a971de3006e7dc373ea035fd69f350afe219fd957f2eb874cd80737b16b6c0ebebcbaf797bd962dbeda409c4098 -KO = e9e04f2ea65ec2c462ffcdb277c40439783854f2148443cc2c81a69d11428dd46b78cb68f37a6af7f54c631dffe61ff109fc03d490a00390a3df99ad42d460b8cf9da203784e4e59c7f2f514282cff2067784b398e784e309d7f8654487cb784770b9ddd589aefb6830e49c310c0c508827b447086e538c2a0bff8de1023f1da7b2d0d27c17976d003c90e850d98b1d2202c1457460af59e55c3ec8f9c6c00682364cecbe0199cb9bd4047e463758f1b40d03332a8580fb89be433c16b124c86995d567c6cc34941b666e874e141d9bfd2cb92d78a03861e4fc5bfa3e3eaddcfee7b43364d022bf2c156a23dc62fbada610551a0bcfcf02e6861d96df8b77ffe86743d1aef7111835db34dec454e8140e0f6f30a064bd99c1aef56360fc5f2e1c7aafe8bf03efb68c07f092f - -COUNT=36 -L = 2400 -KI = 23d7feecc3f1f8f84e1ddd496721a7e0 -IVlen = 128 -IV = f044254d22441c275107270b2151078e -FixedInputDataByteLen = 51 -FixedInputData = a4cf9ccde698c3a8b47761aa4fc8ade0e363a239aa2b796f9000683279869d3b94d92291b5cbdf92f7a44c215d8ded32e46683 -KO = d710a2299ef5ee07bb8d0659d22df916f7628724845f5351e9acd3f25d4707f4af5041a13fe389e6e938b1cea05953fd65b1e27743dcd620942a049869467089155f56dd46b75c135191364421266bd963aad9731fa4f90f78c0e1423736af29dcd05c279cb3522b8a166ed6e37e6eea4cb144954a5ff464c1d84e461213160cce8d8904b539573777c78c8427252e1fd4d09d6911e13a1fb828ec904268e991e3eb413d68fffb6c81d32c969d48ba76521f4fed100244f59542179c3f782243b941caa7fef02851c8f2766633cff20a5ee1c1e9c5ac8431019ac9e3563c939a7d8383834399eaab9e08e27c15f7982cef6f96f263f3b94de2fc01e9527c6e02417674fe57cb476d5cab36489f00be021809d7b9a507e0cc603204c4c208c4a7bf69878328354139d958cefa - -COUNT=37 -L = 2400 -KI = 3748166543aeb3f48296c7b51552f96f -IVlen = 128 -IV = 55299fdc7ae2130975f1f15e86edb339 -FixedInputDataByteLen = 51 -FixedInputData = b4f736ab845390bee0af732d722b7d048a2b3ca6825e88a0d4f557a112b11cd9221361e14b14627b967d0b4af52ff864cc875c -KO = 100887d2baf97dfceaad35b0223379f4b30345cf52dbb76536de10dfb3e4c908179fd95021faffa1905a607a6608fe1dea4b57001ca995f9c3e5ce79f8e109b0fc2d70a15a836affe6d3e387ac91f5972ea9b781dcd33533061616b3f0fe424c11a27c81ae7a7c24033a4497da8a012832dd0695f9b1a08f67f9147caa91b975f080a1f5f0f39e21a340c7154a03bce995cdee01adcd0f75efbf3e102a2e380532cf79de442fd28fdf2fdd713642d1ffb74da31af929ae82033482d4623be8597ec0d3405cdfefd67ac1aeab4fddf5c832f9d494d31ca67ffadbc1ce9dda36a3cfdd49ee7ca11fcbb4c4ea6dae54ca85a24fc16721fbff208afa9e2cd1d97cb5aeed9f8a32958fa5e0d7cbb1cad4bcba1d8bdfd368360eec2f9fca7ec285086616b95ed7adff9f83e539614f - -COUNT=38 -L = 2400 -KI = 5a4777362090718f414fa4e030f97793 -IVlen = 128 -IV = 1067279fd2d8b033a8e87acb13c01e1f -FixedInputDataByteLen = 51 -FixedInputData = 893e3aaf9a08e3716d372925ec74251dc9990ed9a62daa73fa6c263968bc51885b96ee8fbde6c15b9bef0b033f881aa748a223 -KO = 33f1166ff798b1eece6e9af0e097c4273b2ccda8312b3e9e83d9e9cee2c600fc1618a5bf5abf66909880ebec924efdf50e9913e4d593845b33f561b6998b16569f7c2adebe5218c7e060b9214f11eb0475b09ab0b3d66d0910bd52e0a37a55097721df6f1606f67c8086389a244a33a1f77c381edfb70b658ea5f09a1c2735d50a8eea125668aa6dd7b3ac72e1b51e33036b153f859b5a6152b7cf9ad63691039fb27412022569a86f45daf1c3e9cf900aa2016bdda4c56dea818346897e4b777c2a6ef38a34881fe4687ac16e0e36339ec07fe4a34a7fcb2bbbba1436abce75def389f29011cbde2e478d339185c06eccdbde652a71e9267c6a4fd9539844dca67119bb1820ad7fe421cb5a33feebdb4d9037cbac036776b54abef4f777025266852a82fbc9d981fd80652f - -COUNT=39 -L = 2400 -KI = 514cdf14fb41829cc2d17bd3af6bc35b -IVlen = 128 -IV = af8b1b3199bf380902e7abda0b4d7152 -FixedInputDataByteLen = 51 -FixedInputData = 830336b574fb27618a31b3c5d477e987daf007fde3f5d959464f0d032e6b5dc72ac0f62048adde41cbfad68999f7964b7fac26 -KO = 9086bd5b99efa4b603521883ccfd8c30c52fbdf60e2b93967ea5456ffbe17e1ff08b79ee25136691287af740680e603871b89534dc87360d8c2ea29f7d6f5edd5f4bf7bb9b8d41c4c1d2f4987d114c8d28f9fbd03934ce19a71ec69cd096e809df5111d18b3f504834c2e6e5d4f8f5ab914eabb5e8f8aadb77b9d4f259f66a04b8ad8f944b99b8dbd63e0c1428b3e2f58d446e06845861ea1cacccbc1464176a66dd97e4ec567b72f64cff9d44532fc0466851c18a75a53caa43d38a87254c5ca23947e9e378b8c838562a4f2affba1fe3992fc06cd210f49d04a87e26970117c7c59c10703c9fcb0dbd50ed79cfbffb2a6b2b348602815064ef333aa7df4f27b305d860a66a504755b95bf787f2cccdffa746108b9e201985732b7f31a55ecc03d9d78a19e28f40cf88852c - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 150d7f181c0ff3316dc613a8918482d9 -IVlen = 128 -IV = 04dd72bed942840a4f718e512ab8fe7b -FixedInputDataByteLen = 51 -FixedInputData = 297e9b6e860e80b2b7db24a2db65d710e0707a4bed2b4bf469ad88bdd21d0e00a1151c67cc6c9dc8e3a23983642f4d7b381d8f -KO = e9691b2c111932b6cf57cdbfe4cd883776a72c429f4191f436456cef5be630b67ed2a592d4d9fb257dca36eb9eee2b369fc323275c2d7208ff1bd9bb4aec49fa - -COUNT=1 -L = 512 -KI = 241aa0ec709996845caad7c1f4ec83fc -IVlen = 128 -IV = 1609a6f6aea57e5e5118f51d959f7211 -FixedInputDataByteLen = 51 -FixedInputData = f8a757b69ae9196dee2b2bf532739ddd6ad208b84ade60745032bc1f4553e380e42c8fe4b6f171daeebe1bf86a9218e251e1fa -KO = a0d0245a933fdb73f50ec35dc90fa22b78b45347de89655fb136ca3a1c1f0dbb091428287415d04f27c0d1c843a0f923197b90540cb74743784934a53df3147a - -COUNT=2 -L = 512 -KI = 44dfa5d3667ffa09031b9d3b964d291d -IVlen = 128 -IV = dcc7633cf918dac3ea0d9647c873d5b7 -FixedInputDataByteLen = 51 -FixedInputData = 7065820e2ebfb02ed730515c33fb1f366934da5e7256247f015abc0a1ac27a2e7cd8cc1a000cc15f108d2c166e7cd739804da0 -KO = 550874e333a76ef6cca8fce123540097fcd3e4cd2d9c47b2bfe30d595cc09ac13fa5b376946c190a1d916b1c439658a4838c035a59a91290747753d31968e77e - -COUNT=3 -L = 512 -KI = c93cf4f896097344bcc9d0808a5062b5 -IVlen = 128 -IV = 77c82ba459ee4f0e9fc875774f29916c -FixedInputDataByteLen = 51 -FixedInputData = e030f6e38f6851cb6ee97a1e5c3904a8c6d00767270b6d0e6d8566af33a9c33be2c3413b305c4e2bdac2875ebfde5ba42c9b3c -KO = de029af2ca8b1d0069b467b9f5c20465fce9898c7bf1e57b99244f01c6942a9233bb18b23bf967b112b1207d465cbff93ac49e5ebbdd3d4e852725389ac08c47 - -COUNT=4 -L = 512 -KI = 9f1e07085bc79645a428ef81428e79a3 -IVlen = 128 -IV = 6a9bdf35a644cf106ee3327f627684a0 -FixedInputDataByteLen = 51 -FixedInputData = 86a3b2231ab606d3aca34749156218ef26df6faafcc932c04959f7c9fe069c982d8b461e628e0fca57194875bf91385329525e -KO = 8699d16706723115df8ef58a4603d33e5972ae48b090be5478a947e0ec0d51f6976a1038102a54d2351e032e0860359c3c4967831316c27db80269f4971bd57c - -COUNT=5 -L = 512 -KI = 666055ea7335978897de172c57fc60c9 -IVlen = 128 -IV = 398f5dc7e8ec445a871b860e509212b1 -FixedInputDataByteLen = 51 -FixedInputData = ceaca0047654995aeb8bd6c071d6168939e98d024841b094e0c2ea168870d8df18aab3302dad08f25115bf3efb1c344a5a5532 -KO = efeeab3893f0a15b2fb5b2cdb657cabf2c6ebf66fbccc29c914ace90ed4b4507711ee603b7e3d12c3e30febf9f02861652ca15f2d4d40fda7489c9e2f7bee630 - -COUNT=6 -L = 512 -KI = 7f8b3430080830b709994429db19ca6e -IVlen = 128 -IV = c10144d9841013cdd1e998cfcf315e57 -FixedInputDataByteLen = 51 -FixedInputData = 2d776b6959e539b0ddf1c502bce525a31791d35e26b21193001e868fe01cb7d64cd5e0622fa7c9bf4b19d5aafed6a355c5132b -KO = 51a7762f281576c37f03054e609e0b0d4927b55379999f379333066f496e446c477a185c0606e696d9932c8f4432ce318e49e405dbf9169b2abb61290adf52bf - -COUNT=7 -L = 512 -KI = 2a60270bcc01d515bd56334c0cc5ad30 -IVlen = 128 -IV = b953ee9a749e5933a5953177a9ec9252 -FixedInputDataByteLen = 51 -FixedInputData = 3287afe73fe66bc8b601770d93af2f32716b2e7168ea15d365e14fd4249ccbe65636d4fc518fad0d7409cae7804beeb631160c -KO = 90c2643faf29c8e5b47a3c350fe5df31528516972889925a822062c861b8699297b32f872e2d5acaf262379c5fc1aab8aea095312d94b6d629953bad3d40c2d7 - -COUNT=8 -L = 512 -KI = e4d99b628154da3e36880b87676e7f81 -IVlen = 128 -IV = ee79fc3e8201eab608f36aa207351caa -FixedInputDataByteLen = 51 -FixedInputData = 9bafde4b64d71ca8cf97a85702ded6c2caea5f1b5b7eebccf69759c2b2625060a9f5670caec60f83e56286491102ddeb7fd461 -KO = d5b0880221e827cf13142bab67a50eae7e44f6af1dbd0ddc0675a035e6d6e71c199642612e638e686e0172ed8529165daf2d2714d2a9d827a4565927b3e123fe - -COUNT=9 -L = 512 -KI = 93549dbae7437547eba4fbcdbd6b7a39 -IVlen = 128 -IV = 35989ee87889adf1b3c45196ce7467d9 -FixedInputDataByteLen = 51 -FixedInputData = 272008f796ddfbee9289e74b4a704cfe30dd8e0675d9a38787c368b9c772626a7d68ef288db542e3a65bf6f8c5c27cc09eb401 -KO = d43c122c0ed5ab55e1fd6d27a4c4692daf5f3c3fc8146f44744838ccbf9654b10023ee929152c79662382ed326b848419067d008eeccbe04cc5345a3eda54bb7 - -COUNT=10 -L = 2048 -KI = a02b8d8b4f5695224bbcd88cece6ab91 -IVlen = 128 -IV = 29b0671ea39ff9b7a1daee1caba3fded -FixedInputDataByteLen = 51 -FixedInputData = 382dd9c0339a66a998417847ad6a0be24c2a3ae93ce0219c2ea87b4c583dfa2cbbd98d7f901d12a3dcc55c4a04e9b35af7e4e6 -KO = 4558fd69f4ddd5e9c57dfad3ed4f04a276cc3a16a64c18fb5ec866fe36ebb1b798ff021a1b404e643dd794bceb497c13e9f1cb86d6269e76d265becd986fedd21568542c2101b6cbda578dc4a6438ae313c2d4e5222a595fcbea7444e2fbb01d482b7aee06e3c2a5cc4a7aeebff1488fbea3126b61ad6f7b3fe326de3c9ac43a6109f19bcaca98d17210600af4b8f89608a8d77d324ddb6899bf1923e44f72058883194f61daf279821cce4b93731ef9be1a6aa921f343ee25f99cbb9fdf61160b4de6db4c465883831d1716f23ece13a1b6ac0953755c6663d9a89d4888de84f1af98050ce2c35fc986f94eb7fb04eb72f0cc078ee3a8f768fcbcf4c0a2490c - -COUNT=11 -L = 2048 -KI = fbbab2dfc0ba013700c49c837b95bc49 -IVlen = 128 -IV = 91a2bc3c83691482165271ad0d098ba2 -FixedInputDataByteLen = 51 -FixedInputData = 3faa3ba2cf080eaaf9ea47f5a558a9aae89a1df70919179557486fd581a23c3bb3f464b4c3ab1a63a37ca26d681539a0ac2deb -KO = b40dda96338628374928bef0305ede0ad97523ccb3c08d0ff6c24a59cc2dcfb1f84917e7ae93d57d965d311e1ef3ea2f8ff38accfbd890db35c4e32c713b8da53baea9022b4c66bddb1253ed9dec6eb56fb620bb7b55b65d7b4372a0baf99c7b5bcc4e0e516ced6c7b7908286f7943ffab254c617174b1244506f645f6aa59a42287bab0c709c762c73566156ab4601c475619d7b6a1613426a658e64a35c5d24e89fd09fb896d6c32b270ca797d0f8467904c70cddcc0d275b58d7d0c40860548aee76a1b3139072808255b1c39816b8740f6bd438d9a710caf51fd5dc7fb84d52dbd8821b4308ee54e89b292d80cd6bfe18bb26d715588eb92416d1ae1626f - -COUNT=12 -L = 2048 -KI = 1c7142b86c76796a4af3a8e09d5f4894 -IVlen = 128 -IV = f7e589e7e420f9928c39e87848e3b5f4 -FixedInputDataByteLen = 51 -FixedInputData = 3af13cfae3c2588829786d4a11671fde5eba9e8d30c6e542147d6b7722361cf7735332afcceda188894eb23f33042725560b30 -KO = c05c339ca32a44ad24b45219810cef60e600555a47c868cf3e23c4af7241147c8fc2f796de329f683e092d94422f7086f911bba6965cb341f17139e595877844afd480d655a7f5e3ea1f63eb11e53fc31979d4d51778a193d2f66671f5df2338ad7fb9c0a07631e1a73c3649b0a68d7c7a731537f14caeb7864d0dfc443e39bef8286d9c6ec2560c9f497da11572d150fad1f079050bb46cf1ae013cfd39537353500d962cf3ea7933e11aa73a7109ecdedd9944ffa7a0b1d2cff03279f1778a16bba583fcc647ea0f2785a7179bc70499982eb16fb83710e105e3ef33a1a1e76e208ce72c0f0fcfe7103198e6c77bc0ed96327b45e599b9fa624ec87f67ff3b - -COUNT=13 -L = 2048 -KI = 6d939957856ad2828a1b828728d9bc57 -IVlen = 128 -IV = 883e08848d99f3698ca4cf76c93c2e41 -FixedInputDataByteLen = 51 -FixedInputData = 6386994eecca6d25aa239f52f88b6c724ded0e6d59a0a648bdb44b887c156759d1b1ebed1dccdc1a14b2bbccca84ca89011ba2 -KO = badf7c3258319039bdcc8a368fa98e25835c68ec752adf177449d523c41f27495e6a84ca3fa9765dd6ba6ba614cb68d50b1ca8343229feb8740ee3ef903e139a8cb0534daf6508ac4ac535e7f68a66c8314c640d6de10fbb2af41f2099e66bca5bb838519511ba77fb29427f67e4d8916c349e4b8858448418a06b11a237f85fcc30bcfa1db3f5ec5fe4cab5482e68b9e67a5d227fb5ae8c7c3df49b7ff0456037e545b962d965f5b2aaf2b7100c638986ce009388867f7abb01b7e057b02317045aedbea4312c6e0786652601cdad956de24e76a763e014a2995b4813ff0930ddb337620c29afecdf2f2d8f9328faa610c10917f8ce08ec28553cb5938ed5b6 - -COUNT=14 -L = 2048 -KI = 74e878220d555e3b3f9326c96e7703be -IVlen = 128 -IV = 08e9591e5f0bdd18d075899f3d79a418 -FixedInputDataByteLen = 51 -FixedInputData = 610fcbfd352a7f9beb160ef7642d363da212636d9dc52c117f3b119e383b1088fef9676e9508b363bc0860ae6aaf44f0695ed8 -KO = 3c2cf090d3dfbffe16c179a0dc409c6899d64b6bca811da97d558f831ef4f5cf58cfbfa2883484250472ff14ad25371d6ed39fa839a0c281b01a0e03fd5940365866348c9eefe55d62e8674a3abf2c1ff0ee8f6264ac67ee187a7beb91aad8972fc001c256635bcfb5179ae5d118db44c57afc821e2f0d2ee1cc3959623e3eb2ae52dd19a43a5c197de24faecddf737aa6b18258c3645184e24863a2e377915fb2714416a10768b915400a182abd7f23910f9790473510cd22edff476bcb548acd4b8cf4f7b81022e662a701f7c1f3cd10db5bb5e2cdced4b1e8e3377260d07cb6c2559f1ca42aea6d62037f653963030223ebb855a296dac94d07ee56e1167c - -COUNT=15 -L = 2048 -KI = 3c808e13d88a80f94cea879c9e04567c -IVlen = 128 -IV = f60a35ac2d44f3c3e21283e31e3edd93 -FixedInputDataByteLen = 51 -FixedInputData = a5fda46247b89cfe02d5591d84684cc67e46611648c7b3e7922e43b5a27309545d94a0934c9e3e2d44c61b2cb01c25c79934ce -KO = c887722528a45bea804fc7e8a8099a6132d125896386136bf45e3ea0dce61597570e508561b395f23665ad08fc8a919d46149deb8976be553f797b0c80eec2576db4283128aab9506b2b5179e220e9defbe3c8d39baf7f5296994a3127e38c67609b35619465c26663a9f4689a61ae765981d07f1c7c34173b8fd713a524ccb9967f649d0c60f3f586d7a9e7fb0deeebe83fbdf901c2cc98e2573eb8f9182c2fc493848f0fd162ffd987e609bfabefa9ce828087c91a54eebb85013ffb9f8532bbe8e64a2c731bcc28b5f2f29c8a8ab1b7a8ab83f70cc620cc9b89a542b69492c05f6048cbb36e780b32cb273533273458b6ccbddad321719224258d3d97bdeb - -COUNT=16 -L = 2048 -KI = cb6c7958841e13a6e6cd6b8b37d56a97 -IVlen = 128 -IV = 1a6db95fdcea2452affff4ca8ad22e32 -FixedInputDataByteLen = 51 -FixedInputData = 3d224cb7828ad079e95deac2d5652b90e966768c3ae017bb3f7075aaf8c079f5e778d0115f891ec1d807f74d6f1665eeb78a39 -KO = e7f272937ea61a7675842c7f3e740180aa7f8217eb562ff51537bd89140d670bbbc759a2e9c6808507df56884f0b11502b8246643bc4c67f2500bd8dc2b9911d78b2a9aa88ce6a89e8f907d4fd38aec439e8ae78ca82aaad4dfe20698075f266ebf8d24b9d95628e9532996ee858921fb01736c3e5667927331cf97b839aa5f7f5ddbf79a9f33bcf0635e045bdf7971a92926d5cdcd6b04240781bb10ee60263a49b1016d8381b52e63115e3c435ea5b5affd75ebae4a56c3c7da7b65d5e6a540784003becd3b80be1f80d0098e40e62dd004cf4adc8fda370aa76de6817acbe1aebce1469cecb34a5600c111e20e87225a38b26ce9475fbb1313aae3ec69ebf - -COUNT=17 -L = 2048 -KI = 412cd3b45f4cddfb1bce852918716934 -IVlen = 128 -IV = 03675b47f0f9126a07fac2204b840fb2 -FixedInputDataByteLen = 51 -FixedInputData = 5c7a02a020673cbc9d771262443460f98814ab3bfdc852e01dd119f20677dcd735afcb87a16c10a360facd0fbfe02544142688 -KO = 3f6487e3eb9177bc58255535399fa5bc72cb662c8d988008a8894a9f80eeca384724189620a72ffbd69dbcbf8e231fe7114f203fe611ede2ab8a0b69bacdc93b31508c75bcc4748c93959f87a4ec53f07214d44503c0c473dfd7d0d0485dc51c2abeacd9638cc8086f1113422195f5d34fd132ee689f10021fb5462d41d8ad565a1741cb6f5ee1cc3f5ea3c4f624f5f0a58e3e45d5de2244e9c4402ce3866c28c7d16fea6636654c786fd2ae80bd7f6bf3481028301af0a139d5b9bf97ddb5c7c5cb085a672a01d423a92857493afa080f9cf85ab8d36c4ffa43bcf7205b071acffea349377ba6615c28a2c30dc57efec55d8d26d44940859cbc430e35410914 - -COUNT=18 -L = 2048 -KI = 6dc0779f84b64e944e0c5645f9808d09 -IVlen = 128 -IV = a4ba6155cfa716aa0188d6316718d8fe -FixedInputDataByteLen = 51 -FixedInputData = 7d21a89185a0257d657cce087ac041dc876383c25350935ee202e3eb27d6df53e527bb5172b95cc22d1f34dbdd0d8f9f5c70dc -KO = bb1b155d68f9e1ffa3bb6c8f96aadd753a50c885630d039f49152dee3023957f193b0fbc1730e445cf5c4ade488d1dfe92925b0ace92c5afabf95d56905917fce42b83977e3f5b24a7e252b20da9eb072a640324c9db8bd789d237868ffb81e577fd7da5fd52eee4a2b52678962c7936297f1c8fef8fc94a0c4408b321fa6d44ccd81f51fb3637431a955ca2a686d2d501889e6a634ae8a60f7be48aa3cf6abc8c5a4b79c070b8a7a9255c5cea358083191a09197550044c8d3d80ee4066a7a3a7fb98068e37f5d37f9e1b87d36401d66fb4e9c042c294c21ab874f506a254f944ecc3d1fd8ee16c75fcb96ef250227242793e60022ba7ebb575e517b5c4e4ea - -COUNT=19 -L = 2048 -KI = 6455722330cbf6e8fea24b51c6bfe250 -IVlen = 128 -IV = e9662616a22de668f6f1b9cf5c6a6e61 -FixedInputDataByteLen = 51 -FixedInputData = 7e6b6d4f15ebe91d91e936abb7531df25949f90766b83f97b8287a7897076a3bbe1774655f66ff52fc3ac4030f3491a25ae40e -KO = 8775dfc514c63f306eceb9dcb2a103694388abb37f5946a1d91ce7111b92e861a32efa290278c7e48bb2bf082249d9f068c1bb210b41ca8d7c827817e2ec8d89308c2d2e1f168e35c24a7dcf6858a02b25c972db1de5b0ddb17276e23a9f9bcfbc5d81a424c075e9e2083571ad3807bf4c3f05af85277b053b43cbc1477f4e684ac731ce889f6c47a098714cbc0cc9c6b5feb4df20c834fb3b7041fdc96f9e456abf2050f783d808a5b74b1d7af841f4d06e1ee861915490c829d79967eeabdafc911305a217abee82421ff90421b5c5f04fa0381a79703eb7739b3d1cbaa30ae6576136427346ac9425bfac95e4411321726df05516919a1c681b38b4daf430 - -COUNT=20 -L = 560 -KI = 28ef73a1ad316a2ff703f532e407c829 -IVlen = 128 -IV = f22732a29d69022643671ba0ad928f04 -FixedInputDataByteLen = 51 -FixedInputData = bc29204b9edf8d1586f7eb1703b73518e2ceadd3c97f255d41e5827cb42bae21f9c95537e5af0eab66cf26a32b9e21c318aa19 -KO = d04390a706372f1ae12801d9b06350389e4caaaa98209da36f95f69b55d17245ad0e0d3e3ae88766c4f6bb5a9685cfcea2c2196f7ca6ad16c62cf09524ee5c675e645457fbab - -COUNT=21 -L = 560 -KI = 6c8240558a27e0be0a1210e52aa93d25 -IVlen = 128 -IV = ffa68f3e9197370f9ce5cf5bddce5214 -FixedInputDataByteLen = 51 -FixedInputData = f6c2a5a1bfb36866852fa126bf26b859cfe21b5739eb686a732bdcfa00c0846837922da5d038f0cce047736739118f1719b64d -KO = 75a125bd2f2df4cd56b4a44b4ab620d214ec6200f33c9b37b2c0968a3ceca89bb458000ed729adc367535ef0d1efcf4c6b330a7d39ee18727c330d1da57c5fde3197c2d5da52 - -COUNT=22 -L = 560 -KI = 31f49fc548ffbc189869c1926480eea4 -IVlen = 128 -IV = 892e06ebf1662e56966f8eb9ff9611ec -FixedInputDataByteLen = 51 -FixedInputData = bb4961ecf0cccebb5ccf86fd61b1925bd6d11053db31620ad7f2b16fe9cceb71b475f6b1eeba1b00d747cf6146b41973d4b920 -KO = 2368082dc6a943f158525022bf5fa8f1d97be0b1d10e43616534b738482baaf5ddb4524dc5a5b96cec656d6f30670ff7b4239eb8ca3181182e659a64628a39eee2f4efb3812d - -COUNT=23 -L = 560 -KI = ba309f524e48c1d731370777ee96ff28 -IVlen = 128 -IV = 87dfd1545604177d4923153c63cfe9cd -FixedInputDataByteLen = 51 -FixedInputData = bacbd2481cd01f5a795e6e291d227214ee57a57a433d37aee4141209661e45442ec126e72e9e95363cc9fe7a85e73c373d398d -KO = ccbc0d888a853a8524156602f81b664daaad1cd4dc0503b34eaf564b04fb4de10f00d9b4dc9ba00fb3be85114a6360625191556ff24ef2ec3489a4d30586a03c0ea9cfbee971 - -COUNT=24 -L = 560 -KI = 85b1f4b344eb2065ea4320238d3fff55 -IVlen = 128 -IV = e5b4ccb8cf61ec116d5ebfec38fc1e44 -FixedInputDataByteLen = 51 -FixedInputData = 5b76c544d4fd5cb3245f6f7c94275ee05c2a09e435707e3085dcf2006b5860fd3b49c5729961949a130fb782db1068dee77470 -KO = 10448408b05d0ec1937b83e00d4c141bff04a16d4bec2bceeb1217f14f4dc72ad23cc334e84bfaa882adc5d605f1f019364ce0be7b1949d70f65994fcdf6638bc42979a653e2 - -COUNT=25 -L = 560 -KI = a6d86c68d58ebc61a8b3e59fc4f95ba2 -IVlen = 128 -IV = d29fed18c1e0a97f14db96c8ce0d9cad -FixedInputDataByteLen = 51 -FixedInputData = 25ac8f5ab5387785a5595f3d1c3ecc970b69536e4cdec211c240921aa0697b48d691c9caa59222ca9bc4f1a9467f0deab25cc0 -KO = d48f8fd8d7da3ea77c2f5a53467e9d788139977db9e6a1190cefcb148852372ac1eca6de393fe5738f80ec6494fd8f3d61c47fe0bdd40970e9c85603a4005adcd3c277df09ac - -COUNT=26 -L = 560 -KI = 362114f2a1bf742742403d4e78eed163 -IVlen = 128 -IV = 22d152e570e0f0c603dee6e201378097 -FixedInputDataByteLen = 51 -FixedInputData = 04b9117e7f6d475497edde638cf0f225fd5a8d84697070d7107e8eb5405abcb2e42362d43b5d15d1ae13a108e709f82d93fd64 -KO = 48566b2cd22bfb37ac779bc496fb69d9627072aa028c0206dad084e9ae81e2273be8de71191992aa7f8118e600bdf46a04a17acf18cb6cd86362251137bb9a017c6ca542ba67 - -COUNT=27 -L = 560 -KI = 695b4cb16ad46c6d7a6bd7b0dedbd145 -IVlen = 128 -IV = 2396fba1fb812e136acc00b465a205c5 -FixedInputDataByteLen = 51 -FixedInputData = 833234ede48eed7bc2baa3eb1c7663746811b30e602a397ede1fe14f0d6f0afea802ae2ed89cb10b7df2a22d32cc01981efed1 -KO = 2f5f46bac8d3caffb6263c07b1becfcb778df34fac64cd502033432a9deb39f6d80a4eb45fc99ed30df521494bcf3da07acb804f02a4767e2a147d29954e9004bb915660345b - -COUNT=28 -L = 560 -KI = 0a4fe1a409f241f49d541b282c391a8d -IVlen = 128 -IV = 4c2328ac123bafa6fbab05594e7baeb7 -FixedInputDataByteLen = 51 -FixedInputData = 85bde9a96d3ab056cf15fcb81de5fc6b36c138049c7d69abf2ae1541beef9d90a607385e7ba759f84d617fb07ce53aea8c165a -KO = e8ebc4c177d953295e67d6fa29582355cc3217fb4f3669532c8970bd6dfb110713366154fb952c0ccd9a768c73504a55b4b45bb7100e885d801003002c2a339c471af954f932 - -COUNT=29 -L = 560 -KI = 4cd4d0447ef04381ec0f78c49893e4d0 -IVlen = 128 -IV = f79e3f78138dd84c318411b0a2f8528d -FixedInputDataByteLen = 51 -FixedInputData = 7d53558e0b029eba38369ea800967af9091d4abd51c88fb835cbf6f5113d0f0a037082f2d0a87ee91bde80bc13a337e137a18d -KO = 6d1e89b8d5fba2ed829eb6ce51621bbfdfd6a474dee7ba8cd0ae32a2954039e9995c66637870a7ff6b22db816ebe5291ddab40af6d6913ef73d5c5a23ffd35aa488abcbb4ebf - -COUNT=30 -L = 2400 -KI = 8feec425c944247fc5f7b749155f8c57 -IVlen = 128 -IV = 78981840530eeddf505693399a151cac -FixedInputDataByteLen = 51 -FixedInputData = 2ea6cf0c857f73d5133c176793362b855e80c3d7b12f2693078f883386ccd006ad0eb4c42e10eec55350f6c769dcf16db80ce4 -KO = a4dbf6c55639da85137c217bfa95e08c1ffb945c08fa0a2f5a6ac654bb89561f140b87dca7b57f34fdf27cc226ad4dc36549b2a27406357a3b978bbd5f199d4f5cb0e5f1beff9592f7af3eabb40a166a4b2f416b697ca42d89e82f575bbeacc364df4b6474e7e71b3dbc248342c768102b7f751a37fb686212143c85f6bec47ad9bd63a021e7a9b638d1ba4e0f1f2e7f1caf7b121a5929c7069e7b6eb6b70b47925851cae4937fe5e55436d984592e0429911b626d206b5cd557b34674ae71e44ac92f9afa44ee3c4ca468d89df1398cba4c879c4b3667c40476300e40c3d13c360c18f8afe8d97b69ccc55959effab1eb33d197f4e720240f00c82f7b6950104a58836b7468f4fb1ddba1e10703ef4f7855f123ab4e06a7950571b0e653e16bce979f2ac9065c3fa673a9ca - -COUNT=31 -L = 2400 -KI = a4ed4c19116d6fe04063c3c2279ccaae -IVlen = 128 -IV = 8cc3020f0a7ff7c9841d37264f0b6965 -FixedInputDataByteLen = 51 -FixedInputData = 4bc1b8a74383f30b3b9fbdcffd1e8dacfd2e76f50c08830e35d859af74f0925a8a862a206a6d51261ea68afdf02e5eaf50a971 -KO = d196d2152b893ab361dbf1a61a2fa8c304583577596c4ee84ff6625c11b406f7173f8793af8e2b6a2a2a27c835835aed4a6fed75865584010b7d041b4d732d9d63d15edcd53f765f31f700843eb81ba2a4c61827e89122499107b759f70e12c824358610241cb2c7696590c21532e4b836b2c12f4ca9c1bac87f178c70b230dbb755433ffc55f4ac8d3567a1c8d5f82a0a302ecfd023c11b76c536d7c90602a42529b31cdf4f2628f1c6397fa2e2f75b64ed42a237610a75bad7eaa2c597230e3d5a673b2ea2e2be416375d688fe3e1f2013c285917394bcdb4ab747f83461577f0ce35b1b0690ade16786f7d30e9c68652a072f2e34ab929f2a745e1fa1dce0ce174eced0a8c84748077d46218825100efb175ad7d33727533111e12d539f0bb587381de129264d118a4d18 - -COUNT=32 -L = 2400 -KI = 40d6e49868879d0b7f7e8c8d3c34da09 -IVlen = 128 -IV = c094054c9a9e66d853bf15d5dd5b4578 -FixedInputDataByteLen = 51 -FixedInputData = 13d738da766fe8d6fdbd45c8460ea80e6254b9534fc767d29472828b4128706874013bb67f9d8f311e80d1c31884f49ea99c7d -KO = 988ac2d6a5a1468c2ff2ae3a2d28362d10076f8b615c2b48f089f3c436716837f4931a42f65160c71282684880ac01f26cb9a60a08323bc683e2d671eba95fe61d448bfd16f368bdca82070c2dec779a794c424d6917f55f5464adf215338748c2d013d3896be9ab61d6da0096c788bbaaf7e360582ba26899f5f208663b4157e1b0ee3cf4581dab04a0fc885ae7c65abd5e745456ad860c986b4929066bdfa151fe7819c4a8fa09bd8464bf77167dd7c7b551163c33bb9798be7f9bd78f7db1af6b2c438eb9152c308bc449a8b1a811d9423844c8c1e0e3b02ecd5dffd009956e6f1575c64744076cd632ddea3ebfbdaa63d5b542fea37fd65f0f3183b8afa77065505d840fc9c14453100e300aac1694805395ac6ab2a4b40ffccb3b28286e102b0caa3168b936d4b3e334 - -COUNT=33 -L = 2400 -KI = 12fdbe9b8847206fbcfa9f0a1d383e79 -IVlen = 128 -IV = aaf2eaf3497cafbaddde6caa885ee0a7 -FixedInputDataByteLen = 51 -FixedInputData = 611d2b9eee637c14be652bad20237cc865497e4244d1476b1e3e53167d6b8198c6001e3ec7f2063da5ecef7968e16f73e7d589 -KO = 7f0d064f5a1c69030c5c7a1e736938cbaba5882f03aab315c6000f782e78ce85c36ec4b2cd5e7fc337405006df8ea8e89bab92ae8e99778f6cf27fa59601a717e342b389f87611d93e26b76fa31da91f095f40dcbfccb1a079a72a37921e0e92819628866b6c1a98ef8aa82a8350f36102aac0b8a935475b99a671e4a3cd2a058f9033e9d40bc95a8421aa34f6be6e0777484f3e4ed9044c4e650292c61954ab737446ca9142a18028e2b4310609cac3479545e4822a94d4c339767516228e9385f1cd3be25bb2b51291834e4e6234ad0aeb7950990221577a6ce43a396fcbb01a353278b46030b52f760b414aec1beee3deba7d8d982ae6f6088f2fba4d0d1ba9a3059c5785c905595aa957645b277e9b503db7f26b792332e99d3062ee23548bb5cea3e1fd29585def38cd - -COUNT=34 -L = 2400 -KI = 91f5f4f8184e4c46b49dd68941d13c30 -IVlen = 128 -IV = f0ff87970ccdb4e44ebfaa48b39ef828 -FixedInputDataByteLen = 51 -FixedInputData = 71205a11b08a5435c574012599818f60579e6b6ee74dc546fdaf57e7ef0cc253d8bf68fff2cec30f4ca50644d8e740f431cb45 -KO = 65c65ceebfc1151778e0f50b3a8f15ccff1ede07d3103d5a924a8ccc827c3794b849f4a129f505fb219be2fe1c14066f68d3f86b9f6affaec10713c71176c62530756a1e7193babd5be6a5f46058a7810259455957bf13d61cffa9bf1447f30d4953a75afead4a2389e716afd36ec195eb98952078e5b35ef37c18420f133b410a2bc7ae325f94474389f0e9bd56df47ab2b46abf893619a41d70af6e2a0dc239e4ba4fbc1ddce6fca5a4dce9982983d82cff64648c5608651aef0a17c8ee8ace421f9111956889fde252e3291b60cd80edcafb6a20a3cd36616a75d550e65d1bc026ad96617656d1c3938afaacb8a9ca4d71cb0e886d5fe537d27b43becce7e47d624dce06258626b8f2143fb8897ae4b7b30bb841d50779090185517df9e53d8084989bf402025e845b91c - -COUNT=35 -L = 2400 -KI = 40d9b7d287ff7a773d16f916683bca02 -IVlen = 128 -IV = 75fa0ebdf4b4c5a7ab0428d60dfda18b -FixedInputDataByteLen = 51 -FixedInputData = 484d91fe47ddf30955881c700c4ed7b1ba28db90131dc85c7515e1cc4f6b5963ecf785a0f60b1ddda7ec4be622e90895e4cea4 -KO = 7896feccb12eed5dd74adf48f165790fee0ddf9240ac226c466a297e027bfd37abb62ef8b05f05cdcf37752eb4f1fd3d1d79fba5e4c7f9018a521bf4b0fbff1cb20c9b2e253afa5cb9af037bdc1622431f6b4f6dcdc85df8edfb949fcf0671421d72434c8312de0054f7857ca37926e1b2df1fdca11802b47ad69dd2970060df1b0ab6eddaa0757a8980c13adbe0ed53ee9f175f58d5c3eb4efe1c89feace0481ccb1cd9d616d2bb39dfba7fdea5f2572559e2a3db61d3c864efbcccf55ac451e8271de4a1806c4c41f6343facdcc3dd0ef6498c34a841d115da6b8e46acd7d0698ad61cc1c75f53086c9ea1c19671edff4d05eb9316e3193e3b819b08af7990353101ed3c92d1c204a628cdd6e7241f13ac9b632724f66f6185b4ab2b687b59d385ca26b1c81e81dc7e527d - -COUNT=36 -L = 2400 -KI = e6ac9d4b8f39be98501e08d8655f593a -IVlen = 128 -IV = 679e645107ac0398a87338989c3af8ea -FixedInputDataByteLen = 51 -FixedInputData = 745fef82e2754d88324f21e49d7e6615d26b8a6b7016b16b08334c98295b06d14de6dd85985c67cccd21a45eda51195a5a38e6 -KO = 3c53a777b969cc441a923f1b502f3aceef6c45b87acc300b8fca2d2b89a67d0987636131ad5b6ccb52f5827880d47fa9668275b81bbc7ec115f2eb38d842fd7c9c4b02c7d7c6b4ce3d8f3e2b0e48b76cc1ebf762509832796244864af1f2f3b948fdb29d8a4eba57386bee1f0ab83cb1f26843de52316d12c0d6ea891815e88a1b59900d34ce4de81d6757c562be6faeda75e21291b84a12273f907b4d1aa077ce1847b4a51dda5b4601aafff31ab4903b626777a2cf3057dfbec5faf8a674521ee7ddeb1b6a541edd4bbb7cded1b1072127b9804d80a40ab5bee8a38f152bec71bb303cbf96778d0f47b006f0a8d0e3992b92905f838a7d3340478715f0e4959cb435959fe44aa6ed369ae750902ab363dea89e7534468bfa1cdb06a95b1d9ce051f5357853243c93ff434f - -COUNT=37 -L = 2400 -KI = c6eab79d3ac5e2d174e565e847918559 -IVlen = 128 -IV = 6a869c315ea81e0808f68456d9cc6996 -FixedInputDataByteLen = 51 -FixedInputData = 190507b1867d0dcf4c6da3b5e009978a82cf4d4bcad297ef044c6e46cf60a0dc787dd3dda1b02a2afe52423f66cfa4d26c63ad -KO = 18922c4e216bf8648a2b61374e5acd587cf716d3c5193fc0b1d75046265af8da7328d1e1c5bea84d178744eede645992ad54f7d107e2a971a3b1d835a8d6149993339d32d9ffd81597c839fce072376c747db587aadf018e8fc694337afb71763d974e1c76b44f5da97ac57aaf407af73e80f716f933351c884c93b2a6dc34c07c86b8ca457d117e2687f90f61653ae9b3e97a33c06a89edc8df112ad6aff78c690e4dfb64763b20706ce30fe26091ccb54585afc62c3dcefa276fa6eff009c80bacc2c4e313a5bf8651ad9143b0a7805f530488ce2489c35c33aa56433875681aac39928ceaadb6f410c99ff211f99996c19163f868efa304ac97c61571dd4ac598782f0579102f24afcc0dfc458e08972aaf8dc91cefddf89d0c90e7403bc22210dd9a891d16bee046785d - -COUNT=38 -L = 2400 -KI = 896056b8b55bbbc1fa5126574ab6102f -IVlen = 128 -IV = 1295445e8422a5c54239bcdd92951731 -FixedInputDataByteLen = 51 -FixedInputData = f8e428b6065d6ca8ac2fc6d4cd4ff526687be9a54169b0cfb8b98075ec086fe945311a85671c06a66594d61d6a8c1a0b9e4223 -KO = 8b6c9d7dd88ea0a6a4f8ac235f6842ab40c6612ae3c5c8b6b3e73d92ebe15d323b23658c1e31d89885a41148ffa5f35e2ad5dbf2db723bbd3601aff5937a7194ad8c2141fb032b4061f37531e9d8ded2d23c34353888915c2fef0ba88c1cab8fec7b952f5b7b0e859974de4fa8a05923cc80074290faf0c2d87eb0145369be3a61962cab145cd62a84b0713ec10f977719d56c8270c65892ed22af52ff4a4143fd0730d4cd44d9831e81f7bbc4a40644a3218656f7a390376d6ac35874740979f0bf18de84008712c437c64b145ff4a1e90c68d1412a6e4676647433c128dcf0495ab8495eb86ccaf5f959f200911a578d517b83bdb23e1baa8af74365349c557ab59ab8e8c70e3cf1f979529e21d1a6a95354269b762e90483e68c51af09a3cfb8eb50d85dc01170657af3e - -COUNT=39 -L = 2400 -KI = 966d213d701a18ace0fc213bbda7d67f -IVlen = 128 -IV = 97b7095498a084ed117cedc85a37bd8d -FixedInputDataByteLen = 51 -FixedInputData = bb44e37da76ee7739a5438b901b99ab026db7d667e488648eab0aa6f33b5729c6d721c0120aeb9eb800a27c825f64c9dd980cf -KO = be243dca4335e986526f15f6579019c57c1b0b562b01edd1cc0f2cd50d0e4bd643843a3fd0c15b08f1d2a6ea240544b965d8074ed79ca962d1d30c7eb0048bb24a5f5ac89422dd8d8225846e45d49baed080ce4c0b55eb6c4c0c95cf0f0a06220008fb7c476a3523f02102dc9d7f8c54b346d6990131e5afaf4c6b7f81832d0a293996f94f99200012a67ed61ebde709d20b3bce7e861b15d167a5de97f7ad1db6336d0539a12ab0875e5347eda50ce863df9b2be78d7cb9b1abae8ed9d84d99bced3ae236807f0c97dd7703f4dce1db3f9c22b3b6a7ac70a7521821846d737f08501b01f5ed72a9ebea222b88959cc8478c48369492258749e19f344cdbfac69ad79f2c4f217bc79f31b18b29460e09fbc12d32fc0b66d0fa124b4319e239138bbb18947187c1440899b4ba - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e96c5574da99225f1b3a2ec160cccfb4 -IVlen = 128 -IV = 74507da3c0449bc40233db0d2e4de082 -FixedInputDataByteLen = 51 -FixedInputData = 8ec5d49e432398ea3bf5fb0fcd4d1928fd0c0d191d64db70a30bcc888c61d8cfb9f1c8e15e03e905cb4e49ff05d125802fb556 -KO = 064eebe2965c46ef4d3fa37447cf21f60c9bcc9e28cf3f1cac9992fda11e0d006a220664685613857ece98331f63ca84de7ffbd7e608283493f1dee412768692 - -COUNT=1 -L = 512 -KI = 9b6529555eaee3e3ed3f6f4058da6d4a -IVlen = 128 -IV = 4abe6b3c6530075234ad57cb9ce95d3d -FixedInputDataByteLen = 51 -FixedInputData = 37286744f76e02606cb9d87c64037613dbcea5113039baef8dd6310febd30468475b26875c76dde4d5fc035e304969b980dab5 -KO = 1a7ce451835ff01de7f4420808e72cb3b45142a553f33179b666e937004a3b38bd8ee82f1bceb2e20e9b42de967e9b3381239bb147d642e2f7b87e8fa8673242 - -COUNT=2 -L = 512 -KI = 7250cbba07b308848f97aff6f447fc63 -IVlen = 128 -IV = 2bac443a57c3e8b1efd973a6ff5abddf -FixedInputDataByteLen = 51 -FixedInputData = 9fcc9539a6e1f85e8c0603496b47427df227c85bd387543ed8038539346ce0df2575647778fa3e7bbcf45e88ff3f70f966e28c -KO = 6868cd0e1da7235ace953ca330bd0b62d415ea591c6c7d3fb9ece1b9b28141e4fd9683984c84e3f57acd06aae71ce0c61084cbe1375f435ed600ddb477b04609 - -COUNT=3 -L = 512 -KI = 59ba2ad88a5214aa9b41b6aded598c9d -IVlen = 128 -IV = 099885ba53f365756b7fd9bf6ae2d140 -FixedInputDataByteLen = 51 -FixedInputData = c5f09af38431cf9d76c5a0677c2bdcd2b74a503eadd177f3ed72ab17ee936b5c340275cfabbfce96e1d29ccc895a284533ee8d -KO = 2d7ffcccb851f77ec260fb635bec4c0f8254a9cc5de146fee8faea487b2afde9fe4d99bcde7a6332b70e5d780dbce570f9c0536aa58ec79cf6df5a14f08021b5 - -COUNT=4 -L = 512 -KI = 718160081d428fa15af7126482f0ac64 -IVlen = 128 -IV = 1463e457829f095351878fb5bacf3e05 -FixedInputDataByteLen = 51 -FixedInputData = cfd1811ab81f119e14a5291de1c3de6096efdf3678b7d3ae7ee0d6ff7f4770b999cfaadaf8123b8466883d5d96fd5faaf9ed51 -KO = e9cb573a04edfac7fd8b35987dd6d8c139b5ee8f37d19b3743983a7b3eace4474d806b791bf35212be04a7bd7c6f9b49c39523378acf95bcc0695d5a3ed66d58 - -COUNT=5 -L = 512 -KI = d39b35ecd6687f087ac7819d4dcf63fd -IVlen = 128 -IV = 946634205a73186ba4e5801111036ceb -FixedInputDataByteLen = 51 -FixedInputData = 8aaa8096f79db81b175dc2e590c4958f3c2b47fc34dbbab5f915c2f9f9042111d8f6a70c9fa424f4b30a77244f43a97e4a5012 -KO = 9286b4d2ecec671ea73d320f34a7fc83352496c27960fea7532ee1a9b36a301db0f2f7c8f530b25f37893abed9dd81944707e026a126ee2f95f457f7d2e46a88 - -COUNT=6 -L = 512 -KI = cfd901004691abe808f0737efc3552e2 -IVlen = 128 -IV = 306c772c670cca4386da1c20f049b8c2 -FixedInputDataByteLen = 51 -FixedInputData = b2889f4b61f19bd3b9e78b32d74745d0c1f46478ddc19fbaf2869030eaefc05a322a1499c3a49b325c9705baeffcaffb43ce4a -KO = 3eb898a3c5b926b5e6558d5bbfda7ee072a3ba53beac8f37757fdc3dd6e425a4c87fba7e34c52d7837b3e5b5ad52f3d7a201cfef7c9eed6f19c4aced5e2dd8a8 - -COUNT=7 -L = 512 -KI = 7d836adfd58e0c82fb49fe3dafc5311f -IVlen = 128 -IV = 2090ce55f9e0a4fb4d4e654fb802ee02 -FixedInputDataByteLen = 51 -FixedInputData = 1bb08cacfef181f1538843fd0592e4aec70f1fc89f9e1227308647cdc4c788f3e2b058447a06bb6afd65471b71dcd8f25ecb58 -KO = 67444d6210745d535202bfebaa2825d0da8c91034eeb3088cf1e4fde1c6fef64ecb6bd53702fca1a32005333eba9f4a2977969a77692b7e723b64cbf92a912c2 - -COUNT=8 -L = 512 -KI = 86e953de881cf84cc14d63cdf60696b8 -IVlen = 128 -IV = c1878d1716d2775aabd5d8ab20439903 -FixedInputDataByteLen = 51 -FixedInputData = 6b5b110adbff81f09677f61baab59813718c5fda94efdbee655750b3abfeb419765e7666c826178f457abd9015b359e0d8242b -KO = 48c2d2d2a6f8929235c113024d823c2235c77c8ca60d87b152a1a4858c5f22eb5dc0d225682f48f5904139e17f4045955a481e9498f84cd0d1802ab9ec14a28f - -COUNT=9 -L = 512 -KI = 5c89e3c1576a3b5d1ef63ed83e7906ee -IVlen = 128 -IV = cc8774a7651420ce1a52dd98b7752831 -FixedInputDataByteLen = 51 -FixedInputData = fe9ff129a12f0afe004ab64dbe87aad998e0a5f0ea76214934a778db932594b2c09bbe387b8ceab6da472f7086ea7ca0a68743 -KO = 03f99a05614c48fc7c2dc02edaabd404f5799f6d957bc7f7de3a39f495bccbf5cc7aceef625293189b92e956bee0777c0d784719995908b1b31db7989e6c4ea9 - -COUNT=10 -L = 2048 -KI = 11eb8baf568ad08897a8028c99df204f -IVlen = 128 -IV = 12460824e18970a517f018e42f421a66 -FixedInputDataByteLen = 51 -FixedInputData = a860ce7049a8d923533fe97b61384f8def11e70969f578d6ca912c4a9259e09edb102a811d28e453c6953f3bcf0f503c282469 -KO = b129fc796402b65a2d4b69f31c059bb9fd88c4a57c56a127c0bd70867291882e62b7e97c21d9b0205e72632c700a17b13d266b27a58c6ef348ba351a5b62b2ade28adaab3e3b2afe8524a8affd12e587f5acb7983d3c54491d1de922129ebae1f35c741b67025cb53d531f834fd0397e6c7cd41456f603c080bd1bf08b5a7e69c3699eccb34f0ef12ee8af21fa9ffc2a0f8e9a43a2b531ec1d3da6b0b1bdc041e615436293d45b098eda7afc76189464dff110fb667a9166f76c37ea61e26a5a6f7ff7920bf05892d91252277bac8d2fcf5227276d935f14947739a81f4bfd3fd6b53c7550605c42aaee0928d62dadaf26f17e338e5931a74fdbfe25f73fa7d5 - -COUNT=11 -L = 2048 -KI = ae4d40ca1594f340aa3d823eababaf20 -IVlen = 128 -IV = 42df7e0bf3bfb5537dd2d644ada2f27c -FixedInputDataByteLen = 51 -FixedInputData = 8cd5a6c004991771a3589d59d5cfd2908cd701d2187e7e62d7b2e513ec790fdf99567f169a897635322df7ca071691ce1a8201 -KO = 666f84bbabd0067953d1a20fab3075ffcc64d0e62c578e7b9352850c12ffed58aa568278d8a8f4dfc826c4f9fd7318c8a9271ca15606e7d1cf3f2b80dab80997f1841e495d35a2dad06bc6472c5a51198e9e56d4768e40dbe72587a0c40afd4d781f8f0ad1a96599dd87666b60f7bb78be5be3b8d38ce2009efad39e1c635c05c21211ae746aecf8c9d251b6b69ad57049fc08bbdf4e84fde4d78578a076a3bfced9caed83a35f5a3f17e2f205e57f2d11a125c908cbb31290f729bf3fd39a1efd1e04560630fd8739d0b8cb195ec2bb2394ecb70c4675d22f413b88adeed82645399d06ac485f89db5bfa9835c747c8f007f51a55a5d87306ebf8ca8ab332a1 - -COUNT=12 -L = 2048 -KI = 3a79b625a04907ab0631012873bff7dd -IVlen = 128 -IV = 931aa40a292615d8c727c626ad472de1 -FixedInputDataByteLen = 51 -FixedInputData = 0f8c9ddf3ae835d294acc632fe37c64dc913f16708762ed064556d21e1473217bab9a073314cab2240c11f28a3ccffb48e0711 -KO = 9617ed12ebbf7ed23d05fe6845c138d1ba4ea97cea742e2c57152676565a1cbb94bcbd0c0648f2151ab40f8f1e57fb7ed80d67fc97b0fb17b1a66533f749089b50b4d71f736a1d6cdbd0025d891dfaa5dbdc60747f0b77e2b00833bcd59ce814dee295819980e88e7c28afb3d7eb134d31dbc59e9ebbec816688b34da4ab3404cc4641c2f227d6eb78df3c7162ae794983775325f3555d73a5e1549b1e297baef085b520204af0c0729d771f8e0ac25159fde0431f5d9a7ade0c9ff314201799a2e317221ac5cd11325d15beaf90998a79c7f5a4061a994dea1b109c754e8ba9a9545aafe2af1832daaad7f630ea398b1ad1a8258893c3b4728b8ac9a4f0f46a - -COUNT=13 -L = 2048 -KI = e33856064f6e7187be1601cb73e739f7 -IVlen = 128 -IV = c3dc32bf50465a3f7c144206997944fb -FixedInputDataByteLen = 51 -FixedInputData = d6715566a4922ba188591ddd8c9e555294556032a6013db0a3ff60f3210495df4834ffbb0768c68d2ab6384fcdf3839a8f5966 -KO = d6546b144538ec164c30d6435f428009d4acb4adb549cf93ecb6750cec69e3c36d6af1fff500d812ebb8c569b6e0e8c733131dc5cf066b10b32772bc50f32f130731a46b148e9f46d5deb88f0a7568999d0c6130791cb9f9327d04184624b11ebb47257dcc1cdac5761aa0e350955df6228a34504495d0464795ba11f674285b67b3a3a1c05165a997a8b61cb85a0c35fb59353cd2e8c35a1b6917915cf24e7114ca4241c9d8079c82637a225798a175a88f02b9a4fe1a273c1ecca7f1802ba9558af53c083dcb20c6e2a7b120cfdd71eab45067b91acb2f9899d8c4cc9f12ee7e5cc8df8dff11584b2735cacaffd3b7b34fee2cef2c1d2cb2719784951fe865 - -COUNT=14 -L = 2048 -KI = fd4b67093edd47a827674f93623707a6 -IVlen = 128 -IV = 20d928ce8daf4cd30caf78f149dc2f97 -FixedInputDataByteLen = 51 -FixedInputData = f8f5bebfe361ae369250df4dd4c5482348af3a2724c70a3691c09c21a0083b673d144a121f044f81d299c48dd130f93e42e523 -KO = bf1cff083e8295cee8d68ae27d27f65a28a88372c1072c21dca0d3ecfd265e8c40404fa091b7e6861dc1b2c60d68637beacd0252b5b14e6a5efb5606551a7406571118afc4fb52475d2288ef9b0145813a77733fa962bd32c8730f21e2dc03b4531eece0b34ce2761e38340b2dea1029ed70634a0b58664ffa310514406f1cc8f1f63ea59fe8d3db0b33fa34d99b8a85b8a73625aec569034375e9d5b82b3d67cc59f01e99144db942a1fde30530eb3d9231f77b68bd9baa57caec871b4db640c2212ceee255021526c8b2f69c8278586d3c4bd9fc433b1f28996266f7e98ce78b1100ed164bd8c50f2d820e2af3110bd2df2a141fc31a448e26b258481f3d55 - -COUNT=15 -L = 2048 -KI = aa2672dd345b338bf67af715c6323432 -IVlen = 128 -IV = 766bd334b8b91fd79cae769d9342c94b -FixedInputDataByteLen = 51 -FixedInputData = b0dcf68d597c0493cc93627cf905c2f42cb50a94a971758c9d6a66dbae552ce550f9dc644bfd52512b7025cd52bf68c2fdcbfe -KO = 5874591e50228502ee4f9f8850e5d033d898d6f93976772892620b55fc846b6f8b02d07cd6c8e3d88bfb3af0d78fb21d7de2adf96b4ced3b56570cfe5412af6a39495b39b4820d88d4d52bc109b3c186c520ee9965d0e91ea18521f292770771c016edae98a402e6a4a524bfd4619590bfe418fbad8eb85cf3444954a71eaa0c354180af12ecbb63e501717ebf950079641c28d253a18839739fa375cad3fb7a9d97fcfe67db7db890c421a88c3c8535395e820de5c1ab57e520714b4566da365209bcf81adf025447be0c1b52e4ac7930302226cd3cf1c0c10114152665f33d17fb2afd0f0a6dc00ab9735705fadda84251e93764a838963dac5a8d3c3ccf63 - -COUNT=16 -L = 2048 -KI = 40f492cbe55151c9d11d4175b8231985 -IVlen = 128 -IV = 75a2fc32c1c199d3d503fa6523f3e17e -FixedInputDataByteLen = 51 -FixedInputData = 0c2b9453abce12fbe24e7ab7ea4d40d4b2349670202a0a24a0050c0125a8dd4e2d7e03612bdaa25a9609351c11f73f761e6f47 -KO = 461e673565e22f6ef724b87b6f805be31d06a369c560ee244bdb4819c96a45ffbf6cb99139757ae8be372baedc076b39ca61fe3edb0bca562fdaef8034e5c593e689b2067122db52307f937f9dbc9f2037d9eaae36050f054f226327f20fc6074c16508bb51534569c88d1aac519b3650f00cd8d801e424a43aa32241445aab2cec1a7624bca1398a81c67366b6200e78b3060ca263ac13528cbe85e818d37f2052f0d67e76d9e9c461561eb151f4510f527edb29ba9a61d32dbc027185f30ec3305c4680164aac704901c3064e0dd869f08230711861c4d220851bdeb1c913ec1d75434432669b2f6bf40535b70d81dacc7c820f653febaddd931118cbfb1a4 - -COUNT=17 -L = 2048 -KI = ec07cd305b218e342a37bc147c07d2d4 -IVlen = 128 -IV = e7f193d4af0809ef31a452f54a93ce78 -FixedInputDataByteLen = 51 -FixedInputData = cdcbb59e74b7f18db7a1c10142acee62facdc98b561ccb1b79dc7fe9b2cae41e358934a86d560e68404d3e58ac648941d1df90 -KO = d043a002587d438b495d3436025274db619113883bc409c705f505a78197312ca6bf2cd453e694f57607223a9e60c718ebdd41d286efbd57b522b1f04498f3c49c02ac3d0cd111e61e80a14adadfb884dea72ab5d39d987ba0841ace0a79e562426ad2929a2d95fc9ab7a3ca6f51df92561a40e3d21e045a372ddba753bb021d48b91c1f456188a45e306e7071edcd0212eb0b3147bdbb33ba919d414ae900a4e22f3c2a41389a271cb6d2a30ac1916f63073dccc0aa0107fff9fb158f069ad79a862bfaa1b178afb2f9e63efc8461a65f087977d2bf2b129d188261188c24ae61c655279de3547d11b0027b195d2b4177963c86737a005eeacaae02c1836272 - -COUNT=18 -L = 2048 -KI = 90ec5a6da90ca1e97b974660b732f17d -IVlen = 128 -IV = 0ac76dceb897eb04195435b7dbe3e718 -FixedInputDataByteLen = 51 -FixedInputData = 3b812d61579d66a5faba0ea351a89c558c82e31b8ad03cc6c983bda397fef3bc575599982bf16d98196bb6691af9ed30908583 -KO = 79edfe5bdc5ea2af32502b997dadedf41b70c56a7b1b51589afe8e45fe3e2895b823c8f940888e87456b146e155c034d68ce82311624ac3d32426c4ade8d21563690ed1ce075618672c755f8139ffb62a5d07b918b094edfa8959f9aebdcf84b0876ca9102fd8a2f146e6ad0168ddedaddca27314d0880472faaa780c8160814229aa43fca562271af6edbee7ccb2db27bb0a3762c244ed7826d173d88c318d356b311cc9cbf74b0903570c6c758d54d66868416422f07a792cb0330a31cdcd9d67b64ddfc1bb42140d166e3fc7ff61067f1eb415c56c6aa8390a49076a05b5d5af0ea4e33b5211e98093ae3656e662e976dbfdfba5677c40894f193daea8ba3 - -COUNT=19 -L = 2048 -KI = 1cd301b28b05272b4da1aead5ce4ee3f -IVlen = 128 -IV = 1099080caffe43324177b17720e8bf5d -FixedInputDataByteLen = 51 -FixedInputData = 9c43c1a31089aa49be776d38bb862ea9773312d048569680a3f526d8e8e456ddc794954053eae148abd5038126d5ec4298da5b -KO = 00219f662c940bc4c564b981500485ead24284346a0012c62ada9342514039f51b40966d9d62e8cc6c13651538858325c1f800f28d5ac17afcc385078795d7a852c89ac389cd5f246be5288196cc5da204b5a11bfdd2c5d1c1662a33165b74b69aca1c0fbefc2360798fd490d1fc4efa5d5cf647b612d7b1d1d024652b2dcbe14b8d01b6f5158370bc9bc5cecad3ef5263c5b7d954d0ef362a0cfa05328ac2c4073d9d98ea9e85bcde4a991e81d5906e6f1147cbb2fab7eb0bbdd6dd70015bdd05d314f72255277171e897c6e559f409d5dad02ffcbb4bf8e7b32cf3a49eb2b699f74c920276d3b61e58c6429d964ef331b033cdf11c10c0741e1a7086d12a22 - -COUNT=20 -L = 560 -KI = 50acc22f30dc083281836015d6f59d0d -IVlen = 128 -IV = d7209e0a1110c9b91fb74d9cd4eb2feb -FixedInputDataByteLen = 51 -FixedInputData = 374c21075d62ad639edbbeeb3a57ac5b1acd8511cda4454728db5bf368888db5b239acfcf52a5dd532e495d6c7cb25a70d87ab -KO = 76a0e6d68ab14f69c59c89e33fe4fe30a55e1e1accf80b58ed1a3ca9edf35c689043419769c5e3b415f8caf4aad49eabb5ec1530303a5ae795ba5ddf923e1f2d74a1dc15ee35 - -COUNT=21 -L = 560 -KI = 893ba65e43c850a7b39f9718f7af79ec -IVlen = 128 -IV = a28082f2d46aead266758225cf636adf -FixedInputDataByteLen = 51 -FixedInputData = f13053b6c92057cc6b2c1f2fdbeee45c869bd03a51971e46b976ea71fa688e98b492c37e2aac758461d68e7f0e3332e2e47a67 -KO = 71b136ed7ad687d41bfed5c101d62b6d0965d85e1e7a21b46b9af1ec264e428bc23fd0a3a5e7699b676d5fefa247b6dc34511fe99d7e1151b85d2c5ea0a6ea7bb1539d504893 - -COUNT=22 -L = 560 -KI = a83e3d9d759f129c1e9b666c6e757940 -IVlen = 128 -IV = e34609c75265e22330c395c4df01387a -FixedInputDataByteLen = 51 -FixedInputData = 1e977a2ed14e3a34a6e4723b15fa2ae06dcab1865b6065eb6ac8dd2c19d2303476e5c4c1dee9d5732a3ca17fb8426467fdd3c3 -KO = b0c29228607430ecdce827f468d1396e4f10c5fb516f2cfb4b814787417493f0968db85ffee4e77f13c832e5cc53dcdf6b84088fb8109726f11525e06fc730f96da2b347c77e - -COUNT=23 -L = 560 -KI = 430a635f12a82665630ee07398234b3b -IVlen = 128 -IV = de71f576626bb20bdb2a1be5c4e62922 -FixedInputDataByteLen = 51 -FixedInputData = 046e72ac74d1c0342a1c4f0c83e968ec1ff048fbcd5e1fee21db15c70d9691a46699ca8adc7f7fd46a36de7549dc6e50c66e29 -KO = f6c9316271f82aecb820c57690e73c906692c6c12b8b1e3393c3d6bc12f01bac74755d96ee3c3b396892a21dd039d3cf0af56ef4b27a682fef77f30c56de9113d553edf44291 - -COUNT=24 -L = 560 -KI = 29e78f18a749479510e617d0369de9b7 -IVlen = 128 -IV = 5091a269d68e6c1cfb71d11d364f0929 -FixedInputDataByteLen = 51 -FixedInputData = 864a5bfa54e2a86e2e1d552325443fe754d0b7bd328b8c2c84e0a73dac4b918d951fcbd5b6b384605deeda35a39988c25722a2 -KO = 3faf24e05c46d545880b7146629ec6c167e34dcf5005a4ec9c973cdce4e59fa7c6aec60a6a052a2bc6fedf3285ceb92af041235fb006014e1c92d4e50c7baa77321ff12ce27a - -COUNT=25 -L = 560 -KI = 1023fb13df24670c3fac7d9e051264be -IVlen = 128 -IV = a9d244370b2842387e6457d68aa95196 -FixedInputDataByteLen = 51 -FixedInputData = d0ade97b2707bf8f3286e9777fc4060dd218ec49ca79f17d15f2db77afcafe0ea560f14b12abf21c33505792a1076a1ed22338 -KO = 37a8ec87d440ea9a3a14007854ba4ff74dadb07418a34aaeda383eab1ae2b647f5eccf189ba94a8a6e7ca5e6a21f974e3c46c5b1c973e5d5482143aca71cb57704edffa036ba - -COUNT=26 -L = 560 -KI = 4058ffd4f3e6acbb68226c26501e7e55 -IVlen = 128 -IV = 7539c0f45b6b460222a9f54e5ba0c618 -FixedInputDataByteLen = 51 -FixedInputData = a4f8271aa85d7d85536bc7c7f25ec087be988ff7e6c7eed05096b4f2ebbfbe39336193958854702df1089c7a8b7018f7369c28 -KO = d1c327dcb3e165d17e56d91d0be9532d9268a6f6d26712c32a0d6ec125f62b0efd8dfa37ac940f42eb91c6d9ce9fc700bc11c50859b8667b38fad74d3f0da67fa5236ebca5dc - -COUNT=27 -L = 560 -KI = 0a7b458bb13a0eea706396a6e947b4c3 -IVlen = 128 -IV = 914c259535ca915752d611a8443d7f80 -FixedInputDataByteLen = 51 -FixedInputData = fe7c5b2547bfdd3007601e94f626935ccc76f6187895be42d0b80f7d35dde9b22e583049be5ddc3bc4760bf21cd4e952190357 -KO = a6668badd6f0b2e62240325bfdb6d9921081e5d672e05bc25c21eddb0c93e13f1a5534dc629e88e83aac23ee51208edb634cf109a40f1b23a0f93cc6d68420a08410479478ad - -COUNT=28 -L = 560 -KI = 0dfd94ee9f6e4aa9d9a2726bee44ab4b -IVlen = 128 -IV = 056f94d80973dadc5b9f9ae27789a387 -FixedInputDataByteLen = 51 -FixedInputData = 5fee2d6243a4bccd9638d7cd31c38646e3a2424f2a197e3af1981c5e9c249641372b38a73daa1679d29fe9a93e599f7a3543ba -KO = 73c71088438c7653d84facd8dcdf8855e8fd4a73e75d570dfebe3ba89a52c645c88a82453be4ed1acc7506a99a12e774005282f999ea914367393279767fa5c516acba4df75f - -COUNT=29 -L = 560 -KI = abc062b5f5ef030c7897dd4e864bc06f -IVlen = 128 -IV = fe45807eeaf066a107306afd09545589 -FixedInputDataByteLen = 51 -FixedInputData = f0e6429048dc51dab241e870a89c9c8f4637bd557bb1f739e8dd37a4a701f03cb3e67b968655a50018c17073a9272b201b7ba8 -KO = 653ae5c57aa2108711bcb9b479179117303ab0d5f0ea83ea1b44e3694dafb99b3555ba3ae1b1918dd85c16df54a5d01d032a56cc78d3fa5894dd0e236bd9171f77210d1811a0 - -COUNT=30 -L = 2400 -KI = 369ed5c8e43e4f535e73266406b2ff60 -IVlen = 128 -IV = 5f5553703b4ca59084ae28b39b86c7d0 -FixedInputDataByteLen = 51 -FixedInputData = 77b75066828889db253f705ee1e3d03d0502971a8caee92d070fff6f1d5066d0fa077bbbc98f7c69aad208bb32778ba6140ef2 -KO = 6400296629cb46a85b38b454be0748238e7b2b976c2f0ea32fbdbc8afece29aadd3981b1132421a86cee75c7a2561c17f1a4e4dbae94fe64c3926893330f204fd9ea788d6d331a5dcec3d6dce367ac65671595e5b56895b1913213fa80af2c3b63eb8a6924e1d0a5c36df68d0dc5c4740f63e058721793050294a5e122e17f9ae717b58e0895559d5dcbeaeda09d68244780cc516c6ed23968ebb1fb305d23749b3170a3d26288e00efda2235625d753bdf0dc3eb6401288d6e871122fefc74a7dc7f1caf255da24bf604c62c11fe87a8aed84bb939368d5dfb2f39357152b13fa7a95f62872252ed6ca376b4300dc2a0f46a44449f2c0ffb9f9a87740959c067b8892e4fe301ef7c6395ca6e5c7e79db0bd8a42240aecaf0858d03c3149f56b2b431d5ffaf32da10e3e937a - -COUNT=31 -L = 2400 -KI = 2e9de4b00cbf03d55fbc6a645555f842 -IVlen = 128 -IV = 42af28b5a5e053fb28c12a4edd4358b5 -FixedInputDataByteLen = 51 -FixedInputData = 10dfbfc85a268addb7dcc1f2167ff7b40e4ecf8f10969d82007a44355d1a30eead41e846a5cb12fb7e2b6e3495a7e2f44006c2 -KO = 54940d9a11548052a6d554b62a4f63419b3cc2d36e6dc569a1aa990952875172470855e5e68a5d512a577b28a1fac39f616922877f1311063eacfadc3e2f5294dc4396207a34acd0cf6a7c377a81b3c1307ce9fa3ffbe024f79bd55a7b6e2ea26a51aca7d9740640e2a2feeb734e963d689affb1e080f125bbd5c72e688816ba87ccff5d4c7595b764add057e7f17a23b2f5a8157858de1cf562fefbf3145421a3eeb8918bc448f30df346b4ff4c0c37c6f70efe59955607468d819e48411156031cb2358c7829810b3ace6c1af0378e5cee13e7e0f095fae545f077343f6e3b70806cfc6fb138e58a13b82c7956844c3f30e5d1616903bab53d3e20e983aabe3c8b92d2730079ab6f73c6601512836d5f9cc5bb050ab0aa0f10a259f67f07eb5dc5c2608065e0c48abb3bad - -COUNT=32 -L = 2400 -KI = 15dc7e459b15c47dca61a61b2742d0c7 -IVlen = 128 -IV = 46ba6452d27dea121de72eb6d70dad6a -FixedInputDataByteLen = 51 -FixedInputData = b6cb139492e0b099f99afa310b54575df1e66614c39b4ac456267665def91f762b7e15b995967068de4b53e01a71cd1b3a1b9c -KO = 2cb9d570e2a3bdc2064b72b112459ba89d191cd98cd2b198bcbd367d0132ea1944df99a011e4b51b744c7bf15f56b6daee91ad286e3dbf19d798a76a1731c82c5c379c5157685a3c41d1dd045b35e8761d53b9dcb39d7ea72052b8c0283157718cac2d9df96a5eea9a3267ce4939c05c43480aef100514d055208f16b04fdcdfb0bac487eb60bcd38ce5586e09c2d1f8533dc6ecde1afee4b4963388994d6248b76039813e9c291f875876ea56de8f9e0dc548d45884621d4544056c805a5c44a14c4981bde8636a67507c96cdd17fcb131d92e902146220a62ad94fa30f9ba77417b469628ac6e1fb049656b5eb02ee4910d8f775c1196ec262e1b1fa1ed416cd5b414ba967b8a09c2a1937d90cb13e3b5ce39fc422fd9facb177d51f9fc53d3660270f93d840157f253b4d - -COUNT=33 -L = 2400 -KI = 8ee28daa55a704ca7f7ba23d6b42bb5d -IVlen = 128 -IV = 808d1b0272cafbbcfaa390988db380f7 -FixedInputDataByteLen = 51 -FixedInputData = e01072850a920e9cc5fb98f1fb075f5160b9bca570a1ce4fdd96256d4c6ffa5a79f9e3548aad8ed0ecb9f23a0a767554a63139 -KO = 3fc8d1bf528b07e3b4e7742222e94e0a2955a85df64992590724e22a7993bd7907f77dd67474cc29eb946ac8d7cbc4e7da304c4faa34bf03f27d9df65ae577e77c7461181fc73ffec2d60111cc2def0da84724f6a6aeb4e30e590c09ca572b6778ad303085db17405238b0b56749edb0bb647ac49582d09601f5bfe67d8911d52888f40bd2ff45d535dc6e3bf0832cc23c89d9bf27d651119f376eb473f1fdad9cf2b36f6e5911db924e83d204123e6c887fb58c1bb5e37b6495e1bdf4edfb1dccc05de4a47c1f8e4c3f5802ad213941cd8b0571a807d0f42829b3ae5bfbb85b01944d21b83d71867c318fb20016a807103993075880163b415b50889e043646cad25fffe6468a68624bed1c6815f494692c4b817ea530b6fa19fff708b04711bd935ece38538b93d4ecb9a4 - -COUNT=34 -L = 2400 -KI = 243f6a7ff4b432718326c74b0289c365 -IVlen = 128 -IV = cc06a4059b6af198581c05fff5759271 -FixedInputDataByteLen = 51 -FixedInputData = 40eb193530790ec440c48c326d7af318c8eb2b556d8e35f0af5170ca15a79fd709724c73656958e44f30ddbffdb07c9826bbc9 -KO = 3a984e8b4cf6e0199d1f3e660e7581a9b52a536701c7020962fc1491962c1143d6f02a0294417c009c57678b173b6893f7791c87a7c9d87a550ce82e3fa288bbc4981d443ab0661c8cc559a9efd71b3dc1d7f277fcdd472f7abdb78e5e67a9268d361bf186337897d921857dcd56b731dff29e2325da5dcbcc076d5eee206d6f0c7d54941564ae8d673730f9e05f125eaa4893458f34307b58c60023b5a3748cf8f9b49236187cc9abf93b9de1f466049a4b65be13c96252e74888b27ae94b9a6fb14092ec637749764df4ab0d1c51b0604cb3c441cb08ca6a484dcc0293edc434d8ced9bd709ae60234af39e2af85cc99343c597c2f68ae2b8b9c3b479b9955020b57771530276b2f545acc5ec825cb782466dd5815dadfea767db3819a80f5b1f74d408d7fdac60acc24b4 - -COUNT=35 -L = 2400 -KI = e080982a815660723f6c1d10e05365fd -IVlen = 128 -IV = 4abfae67c94e508ddf3297bb9b9678a4 -FixedInputDataByteLen = 51 -FixedInputData = f1a17a68c109599cfdf7f658f688f6af8967f0abe01fef72a3d4e23401074ee7ce515fb6b13a855221876dcfc89941a0d0e795 -KO = 1cd5d5ebe8dce11ecd036d57b16a9b6749b525b8accc240503b50d5c2c0ad41de94ae3f902829c3b6a19a44f10d4a45ecb0d8fdab0d5f1121de7ee4d258893f718b5a32cd09022c777bac24460b81770b6e1eea0c8caac2cdef350ad6dac28671548f86695c3a210fea3e8dc91b5390aeae3fff562fdbb9c518d1f27f047ba2f83bb673b0ab0d98a95c87e7c927524eb3610bd97718464517b3eb1664c52e64796766cc095038eabd81cc48511f9d940a734aff559a9a169802bde7f791938313988bb496fb9188ac92070cf6cb8937891dac6bdde0588a5d04a1bf83ed8e144d28bfe830ceb680382ea4af7d9ddd63c983fecca0b9947924fcaa686e86b725e741bbe756a8d16f803f5865ed83a062cdcdb58079d7d9f94611184bd028a0d0aa9cffc0b5713c65469159831 - -COUNT=36 -L = 2400 -KI = bf9050ed18d6197eee2d01cc4c0d9ef7 -IVlen = 128 -IV = 3de4cd7eef63e19bf426da9dcd6a06b8 -FixedInputDataByteLen = 51 -FixedInputData = 096549e112b132da3582140bc051ca32d1ba3b8b61a952ab38a5478a6b9c24cd703361b94996a7438dbfc531729bfde740799f -KO = e39f77d2a04f62361d53f6acf8274bc83c4a8c9c4cb144df2dbfbaa62aee8690399151f69cfc1b4da9cc556177b92c6c5d329c6d220f82cbffa1ec0e3c51d165a8c9963eff65e26eb172a5facaedc6208ac5666cd2730aa4e1636edf6403b40bc762e9d50296fc61a7626eb0ab48176ba5e91d3e268bfacc3ff2319fe8c2224c8a4d7c3a7a422910aaadd2d9412accd4967d55e91c52a45f6e277499c00d9d7b27844845cde32e37c12bcfdb93cc085d3423cff09c238b82b2fb841c334e0411ad3351b9cf96b1905b40414204bdb5364481d1494074bc1379e1e8d070356d4180e39d44f48d5005952373161b0ba3a70494d378ee23944abe6657cf5a197c203cd849bc0773f85fa07929636661fcef4688abf3836aeff293f51a6a1d8ad7476f9eb2f6950b783191055e9d - -COUNT=37 -L = 2400 -KI = 79b13b0d01335e9bed07df21321a1faf -IVlen = 128 -IV = 76ce01021a1ba3c6c81698ff727db0d6 -FixedInputDataByteLen = 51 -FixedInputData = fffcd538935e9f62866a4dc5984edfc87ac0cadd6fc3174286643d8c97ee455090f77833daef058255f78bf5dc5d5dca2299d0 -KO = 86520f236f7738ef19c1122694322c450f67d20a9d99c668770dffe6df7265ffdde836b406aa14c5820d612326e6728ee71f8d25cb462438edc11081a329ee888c11fe4dfeb56722754f7a4ddccfe601f2b1726bc560f1d0f26a9508a0318cbf8a8e5f3516183025993514f4cf46851ee41ecb91307b2ab266cc43bbe3a4f0e242b98280c377e007e04e2812683d41ea8422f3a8c30411be44fa4f648c46f16c25eb418fda2a6b22c90d77d842bff0b93fd843cabbc9649669f6e79ce6497214665f9ad49f4c62a1720be0b68d79069919ad4b8034f2c9d4f8548028ccde88c5ad8945ba35b01a7bc37e53784383d367cf4c0501e9a712a433e2b1288e6c4a2ebb08e929ae7681c6e36d262475f66db5e772a573c4f782f3a65d11db946ddf2a4e3c830ff2c03a11abefc2ce - -COUNT=38 -L = 2400 -KI = 589487145630009942953111e6646d79 -IVlen = 128 -IV = 80df748648d033856182f5469826a416 -FixedInputDataByteLen = 51 -FixedInputData = c41820db1dad0c57e5020b61269c02118fea44e0f8a7110533bfb11225c9ff439b6480d4dd13bc6bc75385b132b3fe465dcf43 -KO = 24e7dbfa02492adc0fc8e7d478663bbfe5df6d1a30f688b9e9e33e824b92f99c7a143e9a9f446d656d25b84fd3729593594bcd80b232640dd4bf8c78f1d2c14a2a83878d522afc853a9fd3534992d2fd81bde08837fd8b9e50b6ddeac7282dbdd11b644c24a83ea341b7f5abaac54daaf9904db08174ccf96adc9b366e76acdd48459a00dceee0b356d71e3bfe73a7b61d9f73eb8c3c61d90fd89e68a807bea01ec42f3f400bad6009a58a73db2146f244c342cddd5c2e20a27d9a922c6ba47fadb4bb1508fde44157c74ef0917494ffff4eb867037957fa2651cb09ceb9d1b77aa86a5a914c1747796c8c9357d23ad6a59f6646c5e45d33ffbcaf4bf8c3ac91d10b535de7ad271349682d63c3b5c3f2e5c4cc9fa43a0f4bc69fc4bc34a72f21818a888306ff5d635863733e - -COUNT=39 -L = 2400 -KI = 86db7c92a6997bf50d594329a4c116f2 -IVlen = 128 -IV = 19b16a433a73823995ce72500d8163fd -FixedInputDataByteLen = 51 -FixedInputData = b09af6a81075bd8372bed23937e66571a3cea2f2882bf79281058c74ec79aab29d2c79a570783886dc8b558bce020c5654bca8 -KO = 363802b7990b635155b21c202df505f590c3e9969983fffef8defc7d1a9eb498e1ed10f3d38742cf39f2d504683fb86df98c42c40fe070cc6fa24c0c937308af745c4f18b7a6a385629d78fca96f8149c2a4f8f5139561a88bbbf50d54ad873ed47960efba41cf8336a85508c5a2629e35075706b22552b4f7f68c70af609538af9da2c3f35548be5ba58e79700b499b12855319f7bfb0d6b511ded69575e2c31d2c09e15b1619196f790cb7018faa92bd133427b43752a139c8f0ad9034c501f38a9a34887d9e0a31f5db011602e3a0fc50515fa77d0fd09a17f148243a5cca4800744e8c0444cf6e1efb4a10aab86d3b9e68c700b2a1b330be490b6841617dbee0f0bba0d8fdc06b36c04d3111da27a1b34556d7652114c7517f0a2636d39fc6df36b4c6edeb36f2341d3f - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 114979dc3e87f36c29dc4c875691e70d -IVlen = 128 -IV = e4c555db1ddc44e621d5931246f5c327 -FixedInputDataByteLen = 51 -FixedInputData = 77c8b430f6302fc60b47310aadf9f31927e93498ca20d16dacae57d19f06013c026fce2e79882495f4b75eedd789cd20beb1e4 -KO = d71a1bd4f6d9e80d73f5e14e8f86455b2c35c2d35e19fba429a172ed2b700ce5260f60c7d2fb59951469519219374ee2f0ce28361cc9cea47b2d9f1421ab5d67 - -COUNT=1 -L = 512 -KI = 523f748c01b5f9f79d437a71952dc93c -IVlen = 128 -IV = 09fe761bef1cd237b43f7fa6df843f12 -FixedInputDataByteLen = 51 -FixedInputData = ecceb86442665643a4dbdd123948498ffd2b4028e502ed723e359f265f633f15efe4c73ed9a705ab642ea3aa75ffc31a8769b0 -KO = 91c5588d9e29a74dc1cfd05692a41d31282fd6e1dfc8438edd219bc28cfe08b5b406acdc492af18f496556762835f01ae65ad96c8c20a0b9b88542f2b6dc0245 - -COUNT=2 -L = 512 -KI = 902ec89b78327646ab521b70405cc517 -IVlen = 128 -IV = a9ee3010d8c6c65aafe6a48d3ff1d474 -FixedInputDataByteLen = 51 -FixedInputData = 5365234b089e1371f7b88f1ed91f1b599d13b5f37b25bcb59889db3b834836a3b7d79c4a3f9a2b399de3f1fe09a0bbe83fad55 -KO = d9a40bed2af8c4127aec2f71884a0abf8788945cf4d11bac37739c5fea2e92115973e9cfe7496754730b7c2def8ac14787f1db8c5bddde522a73e2603ed999d2 - -COUNT=3 -L = 512 -KI = 2aea4b8f0f77b33688ba4491e5701278 -IVlen = 128 -IV = 087057469c2eff4dda2848bf6bd9d2fe -FixedInputDataByteLen = 51 -FixedInputData = d753500c6f91f583acd5ca0a8f3071742d5e6ef3e633d9e08c2225047d1cd5b4e5fc42a724a0b8aae5de27c001ab48c02a727d -KO = 7b9dc534d169bab28cf15c401f0a2802ec2a13be19344744b8d344949170e944f76c228111adc6c2f5a8c1af92893484b301c2e3f3d69947da8354939ffdfd64 - -COUNT=4 -L = 512 -KI = 245f652fba8caafe69e668ab8a5ad0e2 -IVlen = 128 -IV = 87b8e95b615cbb6d8fd04ba14d4cad36 -FixedInputDataByteLen = 51 -FixedInputData = 68e13f1c94731c54f4858ed14493bf3760dd8acc2e7aad35acec52d566166615684f6efad75997ba965ce51c93aa85438802c6 -KO = 4a940a9bbfd211f6950b1fcd00ed7b70691ab55c0f85938d752f1be0751a7e4b07dc47a1468161bbc976b2edeb2fc3555d091bf8176be557ebee053082b538b2 - -COUNT=5 -L = 512 -KI = e7aff84f81da095d7daada9566c15003 -IVlen = 128 -IV = 5eb59e0ad90dc7dcdd60908cceff9791 -FixedInputDataByteLen = 51 -FixedInputData = 507a6a946268fb8bde09fd5e79e530cc4675e8dbc2401e6193d4ef6024768d26f0b4bc58112b675b70d11955f371bd629a7162 -KO = 4e413e263ec0fd3b4446125dd895083f0a2299c8b6224f91da9edcf83daa0b190f7c2f7ba23014658229937417718b2171e086fa3acf191d1d91853bd2551191 - -COUNT=6 -L = 512 -KI = 9cfdd3e77dec9fa144c5dd8b625cc63e -IVlen = 128 -IV = 7b16e10c7ce81370601d3e275695c0ac -FixedInputDataByteLen = 51 -FixedInputData = 5444fd032ed02381e8991e6a674eb354e5a02ff332f372db5c2663e31c9700f4e4e64929c8ad3bd8021a5e006972f0c52e2460 -KO = b4be9ec622a3a7ed9affc423bac5ef540a6de48b278bf52d06a37c86ca2d5c72f1177286d072d4b31495e9c0bd6f61a73418828f95cebbf8d71d5b53147363ba - -COUNT=7 -L = 512 -KI = 7faac4e42160ef236c2b365d70595921 -IVlen = 128 -IV = 792e479c892f43aca2d0c9641f814f1a -FixedInputDataByteLen = 51 -FixedInputData = 60609f412f230abe3bf5596edf24551276d8a1139da2357965918516279d65d93806893c7a7a4214e9d7f1989b3b308339da92 -KO = b45fdeb10ab24c35a54265951d8e5e41f43e7b7b850becb86e8cd18ec300f1a6596e014b6a500498411d5c347379d6c55c13b1dd714684b77bbb149fce256ada - -COUNT=8 -L = 512 -KI = 2d6b98915c47332add9389e95f1cba68 -IVlen = 128 -IV = 8fbec9d1e7bd27795b9835b2a4499d5d -FixedInputDataByteLen = 51 -FixedInputData = 1516b5e6ee00408edfc5cf14d01340040c27f559433d07215011abe053a44e9e39483d5e7717cd0a1ba8d9b6c94fc4a0be17fb -KO = 6291ff1e82ead7ae5c1141de982ef592b1143af43bde842ac5f404508e0fe0792ebee634f8571996e19d1e8a210b27c49bdbd3ac8cd3865082e89688af165fdf - -COUNT=9 -L = 512 -KI = 0903c86374be51501cf4b7744f67d3a5 -IVlen = 128 -IV = c46dc782e9a2f5b48bb707c92501fdbd -FixedInputDataByteLen = 51 -FixedInputData = c7c6af469fea57cde09ffb90d290ad65120ed7968edb1fea8a755cd8a0cce838c22a3e19d9bc77812a901ef50288df1863afe5 -KO = f57636c0e51ee6b44e22938fc8a88ecfa4c5feea0e46953405cef3db2efcc237aef5c35339befcc50c29cb9faa09ab69b7136ccb548aac535ccb2ac7da3850f0 - -COUNT=10 -L = 2048 -KI = 6884d421d8633bf0ee708d2e783ea795 -IVlen = 128 -IV = 04a2777c3e39aac6282b03c90d836a2f -FixedInputDataByteLen = 51 -FixedInputData = 6b62395465578cc7a3a62c335cb40c2afcc4ee47b569e8ab50c2e9b5b9fa10fe0bdd8618c41cbc18ada59c66199a41a3c69482 -KO = b5cfa8d4122302595c9ba9ce7deda57648b00de52d767327be53b5bb555b85591ce6a5d33edabb51afa4c27fb69d02d5eaba4c77a48357714c2530bb5faab66be423c1f2ca190e1dd933bd17f09cdba81d19a5fa699d55b4007bc4a4e911d70171522afd34ce9964703b847ed9bc6384765047106a706304a58255d9d69b9fa96090763e413f7cf67f208023acb00b0511cb4e731116231931d8712133970a4c92efbd55364b83e6a7a7675cefe45d0c6b3a76adbdb4a667c4add935c8e703a4337935f851e9c8df584e4d39de854ce7bca2e571f67629e5b01e7609540b7a6b96f06ea59f8f484df10b092580f2b45948744f4186729d0249224714dab92e31 - -COUNT=11 -L = 2048 -KI = 06b9898382e4f50acf738efb59b82af6 -IVlen = 128 -IV = 88e7aae534345fe8458a6b95df9e996c -FixedInputDataByteLen = 51 -FixedInputData = a3f4806ccbf949800451ce0f12f9d7d11b1bbcb0b849d9c2c8f5ccf69073ff7f0ce75eb679d55839336fb24f805a34aa4c6936 -KO = 705e9eb0bfc74ebb4420c68b478e7f266eb95f4483e46304eb83ffde897fcea80bb818aa83f0284790ef62db5b3b5739232556362d3abb54f6570b719010d7620aa0e141d85a422b0625bd9642a74963822eeac5439280dbe2462307e568f592063fce8a2f17e4dc5f4667984cd14fe99ed550a90895dbe2ff26e832d259679c060d71b6ca3d978660889e2cfcd4e40bc860dde582099245be370b58a55aea94b0f38e7804b54501a55c1674c6a2b96d64623ddeaa5fd348a08dec23bc0d4e2c38cb406fc50dd2abd1fff1b8d1b64ff26937959d139293c49f58bd873d796f95fb866ff8593c4156dabc1457cc95964fa1e927151d6aab7c7abc9592c9464dfb - -COUNT=12 -L = 2048 -KI = 4d2380f30d828ff6c8125473f6b86770 -IVlen = 128 -IV = 1c29dc1823daf51b1316ffb16ccefd03 -FixedInputDataByteLen = 51 -FixedInputData = de7372c1d0c59f8870e0905ef36397f3a7104a6c97e5ec025fa73b60c8aae5466ecfb259c8804219d4cd9fbcf74ebd9a38149c -KO = 5f4a2de0a0e08965b3661e1a9fb1c8339f91b42a5e4d3d78f9c6f7efe1a706f45eaefd4e306c842fc110961f60ca584d6ebd3d3d59a28fd247789895b80d3238bf24b24a76710f3ff7638a86bdefff3049c4b84583fc9369ebcadde18caadbf603ede33c05bdf06012724af65157d3ffdb6103dee7e928bce5755f8c70ba41f9f80b25f851cf76505b24e8f92c62524cb310bc465d6602e52a639935eaf0b2c54067d4dee2b52ef08cfdbb2f88f0992222e4c2328baf03a9022d187277821b0110b655adfed3bafbf041e1fdd5dd926ba86eb887dde31b56f921aaad05014f1f8ffb672827bcfe6f3bc6399505170523198c8b0786622d51cdb0de2398a48a92 - -COUNT=13 -L = 2048 -KI = abbeb133837c343fdf294005ec0ae34e -IVlen = 128 -IV = be63d58280177ea3c68c3e1575ffb76a -FixedInputDataByteLen = 51 -FixedInputData = 0d13d58eda934216e4d8b5dadfa254e2c792cf0a74cb3a6ed3af19664918622016ab542f6d47348f6eac8048b672bc10fd5b18 -KO = 29f47eb0f7c6243114b82c1af1c05593855e6c9dc30aee5a199c7f2cab65c10dd8ab0379d9ba4bcbd925367c9f2495eceb6770bdaebab420c62f63663348554563b714af0211ac964a592bca6237ef0b355924ceedffd25df047e01cbbc99aa864fcb00ea75ed23650805dcea5da2e6ace92c2087f6fdd7904f061d606099f9e1dd99d04b0009b4d412cdff09a191e0513ad6aee059b3225d49230e7cddf061d0d17ddf735aac64eb23359c1eda847164247cd2cc751e4e8cc1a966dc561959913ebce9ed4f65e9b1b1eec3144ef8d97ee9c7e3881246a7e149dd75db8aa6a822316aab19cf3438d9c4064fd7fa4c89e8985d10ebeacbdf04a57abc0d1fde930 - -COUNT=14 -L = 2048 -KI = ecfa5a8c77f0c2839cef86833efbfae3 -IVlen = 128 -IV = 07a4df923dcbbe476afebffc1c840848 -FixedInputDataByteLen = 51 -FixedInputData = 19e2fe8adff543c5cb864e8d90a5a7c5003a7819321800892032fef60f6b9911cc913e0e56a3f7259063abdb9362f70fb8997f -KO = 5f9f52145d64b4520d55bb8871452a34efa08aceed2d073afd0123f8c03d6d2a5d477347206d96ded013f0fc3e75ad96b49c4bf0084a487bc4a91d83789112928866a5c0543713d807a287d81965595370f013abf230f921b91181035c15e7fb3fb6278ba01e6e364e7f4dc53e25f4623df0c7f1be2abc7868618b201f8fb6e77c16fbf2a719d3c8affd6feb57f5c65f83b7ede0ce0a84bb177863e62417f487aa8fdef190f3aca89530fdeac249d7d9a644a38b267a073d9d53b168a3327b711866e4027c12dd917a0cd86850a82335009a21b3f212ef1e6ddbbb39031d5fae37f6662c78b729e8f523c5e039f88c7aa3132d5f4fc5955351f4937fc1c40adc - -COUNT=15 -L = 2048 -KI = 49c3f616b5c3fbc55ef573f57a38a88d -IVlen = 128 -IV = 3c394fe7b02c54a5ccab0087c80a85f9 -FixedInputDataByteLen = 51 -FixedInputData = dc7bd90f1387aa5311ed40f3669d89bbe041ca1eaa1140e76afe7781feb38b06a8d82278ff85dd3034acb628691cd9dd6e73e7 -KO = 73bd33e006182d31a4b40432289cdd14e139e973967b31ad2aa1b4ce3ca0b54fa0e382690056e0de7f2e0ab2ff5a7236940751d6f7af4e87b6bbf9cc8027c543e5d9025365ae18f3aadb4b758944a976acbab2e20074a929245cc4a784f6ed368ae6d870ce75b7d89c69e3a5fef0421b8a89ff86402b4619a600a19420151d0cd1b71d8546dafa9675fec2e1c39597cf33c6404765959010720f9860deb14047d74eab16a8afcba586fd44947b8cfcffd5c019ff6805fc240a1dc6eef1862452b0bf9948bd7c1fd1cda3cee5e2e752bd4d9cf4a3220db0d5d2a65769b9da8aee950070e3e76c385e8e8b2bafc60f4dfdff18aa8d2252fe9700678b7f7770a005 - -COUNT=16 -L = 2048 -KI = 87e42eec1988a672cfe26bd2c58a3f0e -IVlen = 128 -IV = fec8455899aa2fc0983fca77675d2990 -FixedInputDataByteLen = 51 -FixedInputData = cd29c85b0f0212a2e115b3c6942acba22a1d24dc0414baf398a05997c0571f8a54f135dd5ed2c0dffe3159f8e1dd9828c88747 -KO = ed3f97a9daa20911e6f888101a2d5a9e49d3786b360d5143652a7422889aa0190a75059c44acbbdb5e0c1f1fa98fd52de651e95091a1a443c95c0f013bc5be3ca5f92bdfbf1d6898d1644d814f212dd0fb6c17877a4cae46f9ced9a47d014443fbb3a0bb9a3b045daa66c9ff7578e664e77241c6b55f3bc13fff6383e7f000e03ab152f327360bf8864fccd7b9b4d964071e9b5905bca9a2fb8bc85d87bf18dcee97e67a6d1a441075ed0aa6d06bf65de944fffe8ab3f3cb8b380388c0b66a0920733847a8eff0ae981da43a6c5ef6dd232a6044d0160c5a5258f61f5d7ee39ba90fa34d99a0c36dbb1a8797c36822a03c473ab018c0a80f977b15a203831466 - -COUNT=17 -L = 2048 -KI = dea60305d838cf707eeacf8ca34e2331 -IVlen = 128 -IV = d5fabcde20d44f6ed4ec7150b0420435 -FixedInputDataByteLen = 51 -FixedInputData = f8f9bb605001a3b063be853fc496310fa5f4a31f15b029b898f82d0b83d8c67e9b7e94a9a6649263caea1354514d33f739bfc2 -KO = 25eaf20e27faff8eff50e566cddd5926248bd4234a9fc33eebd542c386f8fa5bb05b64dfaa1b1de481043ce4e2f4ec620ea062b27045fbb85ad5fddb23e49d08c9c1538a73d20e3855c79ded0aab1340bc9f7a708755d1ff24506d0039a7366e22c997cb351543123b705da029f6de3e2228fa818e7837c51b177aabe370565a55bae334e72943da0757212b9f6ac64fb6aaa969f8187c75e70a5e8032cbed5bbcb51cd6b9faeeeff05c96cf04c397789f9b715acfd8b1f8f9db13fec26b5e8d3c6af9a547c833554a62b3c88490735ef10d5530974be2ce2f7d9fad1de550d13b0f9cbe1d241ac18669795996037bd2637e9ff000a7ca9450d7a05af72d6a39 - -COUNT=18 -L = 2048 -KI = 26301ed5d343d8f2dd4fd18cf418e657 -IVlen = 128 -IV = 13dd5bca3eb16ab1766f9320fbf4d203 -FixedInputDataByteLen = 51 -FixedInputData = f9f5ddc8cad9c69c971cd2499864a4c960bad36aada7eedcccf3518435f2819022277acc29abdf4d11d290e941247121efe30e -KO = a44e7dafd02eda513e1f0407ad34302bd4a044a98a1d6b97210ee57743dfd39f5b82cd1d60494ade208554e5e3dd8ad8d91b7da1fdb06df497568c4111f002e6da080d849b37a62865e3d60c851a1b0fc2b29ce2d5ab798e47831c90de275e94247244be430d26fd3813f1eabf9e243f1742520efaa8510af995ffe8c3de593fd39847a965bf1cde4b47c6df104a5b19a0b1dba3a05998305efedb0b66e73c65b03b739c159c38479a1d17cfc081efda021fe27928380dfddf07bd4ab6ad117f86a89a32199a1fe141bfae460ea7a8916b2dbb2d44bbe933a4fd0fb5521f99ec83930e4e22fc7a451f007ebd33034f1082457c8c2563a6403b47664c4d09910f - -COUNT=19 -L = 2048 -KI = 95cc1fca8e05ac18ee0722ee9edc7558 -IVlen = 128 -IV = d60d823cf3711057949bd4fbbeebac1d -FixedInputDataByteLen = 51 -FixedInputData = 531b1f354e960a27aa0deccc24e69a78070795f774c71aecce919e45e6ec4756a50c8ed2b8d02ddf49bcea3494d0f3a4e18ee5 -KO = 935672ed0a6664f4fc2cd230b9e7d4c448c2261766cdd02d774d915050e657c8495bd8cdc252ce2dc93a0cdaaa1134db3f11abc73a600c608d9fa4d65908eb0e8bdc38c52a3fe7d5126731ef013d3284c2b3925c12b975055910ff6272ff8d913406e71dc7a3c1a3a41a454907700c4ac1964371b00bcb9f3f96bc28017441e791095635261832fb681e32d160b8a5e0b0f09860cf24746e52f8593817286d05e3a25a8b2771f9400d5c2e4460664564df09d5fc136be248cb4d9fbc7c918b1da63ec67a17f9052a96360227b4343f4c0f20dcd920ef9cc2ff2bf60516f5f9621afb599f33e2fd4508f9c8be9fa4c947adf5ae406470fb1a4d819985292496f7 - -COUNT=20 -L = 560 -KI = cbc3a334332424e23ea21645f3543c52 -IVlen = 128 -IV = 23067af9443c5176a2e7df646b4735e5 -FixedInputDataByteLen = 51 -FixedInputData = ebaa1b4d635b34e7f7a302eaed38e40a187711d03756346c74a82df43174f8985a35fcd2722077483d47636047e0d0b10959a9 -KO = 5ed51b52e22ff5ef1b0da3cef2ef6df01092241670d441280058f08e8f3feec686b8249883e59c252c18c718a67449f5d75512e781e9bce1b68fd13bfdd10c0763a1cb4dee0e - -COUNT=21 -L = 560 -KI = 862c3f38d20241414a21de8cc11c631a -IVlen = 128 -IV = ddf99f8e1bae786cbe5dbdaf774d854d -FixedInputDataByteLen = 51 -FixedInputData = 830c4ef6ed8fd816519f42d16752833d506386bffad3b3ee99470608bb7ecc4ccd0cd59c2965b3e4e55a7afe6a26e75d15f26e -KO = a0eec4dfb53ac29714881284cbb48786edf1bb0d91a3aa364107620dc5214f1f893da42716dbee248fbbf715aa9cffb7497ed3da0222c2276a083f4891ea008863517820260a - -COUNT=22 -L = 560 -KI = 7bb0f1aa5bdb768a1f136f580c3e18f9 -IVlen = 128 -IV = 8d5ba612859635455af873d376b2221d -FixedInputDataByteLen = 51 -FixedInputData = a434dd8d86792e31c3994116cb03d817b8de80ca1e6a24c1c2281c24a89dba111619cb54fcb4b3f1ec45b4b56770ea2a3699a5 -KO = dc41a09fd7ee5cb10ac5b47f1e6aa3ac863e844bc59b0d54984c5318d901df3637014ceb7b5c4bcbb7bfc790c2713da658d792b2919bb6c90de82d0f39985c1d5947dff31a79 - -COUNT=23 -L = 560 -KI = 1e88c37be97da1851c45c900623e7e08 -IVlen = 128 -IV = 6f3c6b35f7bb40d57978239a8f44b979 -FixedInputDataByteLen = 51 -FixedInputData = 0c9fe3937b565bbcb089f255e03e5b244e424d91fd98145ea49a728784d61592942927593e99b237cf8654f5500b065366dfb0 -KO = 32055e6f78464cb3c318865fee45973d60c83f7aeb84ae7e25334d9cd8924e7148cbb291016ee94ca84487af246b589029c8c7eebb5fdcfa6698ddb06b4d982fcff4ac5c24e7 - -COUNT=24 -L = 560 -KI = e81bbeda0540e3496433656b5f991373 -IVlen = 128 -IV = 31134007944e9948950b305556433740 -FixedInputDataByteLen = 51 -FixedInputData = 0cd1c1786820857e7ce6ca2622f81c59322fa3b129584fd8397f22e05458ede37241f3613a399defe673412f4295f0227be8f2 -KO = 02f94662ae1e87e4515294c1b6a4229adb6552b9a34b21d1b8b1c20b0d0b4b35a21ac22f4347353ddd8fd99cec87ca2fc59da7e8cfa64b932559bd3926a6ae7c8c34a318a07b - -COUNT=25 -L = 560 -KI = 4a614f98a8225cb1c364a9e3b2ed50db -IVlen = 128 -IV = 8f0ac328d62d7b636bbb747d1bc26b98 -FixedInputDataByteLen = 51 -FixedInputData = d84f79f178f5d952887e12b005dec886e5095b0af820e5f07b1edf809da0ab4ef6f5c5c12cb64e2cef71ed1c0727fb0f9fc2bf -KO = 5ac3af0a863e9b116ca8e64b33fcae42cce48cd70d81248c85ffa93c82041df1dcf36ce576f1d1a87063038407d2885402b96f72dcbae1caa32e6a504bfd7e23ac273f90179e - -COUNT=26 -L = 560 -KI = 9d0fee9ea7a5658eb2c120eee0cf4031 -IVlen = 128 -IV = bb5fcff857db6302b55b70cbc0de2077 -FixedInputDataByteLen = 51 -FixedInputData = f0364368404026cdfa607bd2677ccc6241b2b7a167f71bf9ccb1552bef9ca2331c0402ef9d059783672fd1c539fac5bf0a72ad -KO = ff3d92d2b9b18eccf163e666feafb657f01b8aa71579728c077e2be0633bfd56e243b2e918183ac872c950925839aafe1ddcbc59cfa8d3c9d1786386cd9d0a4bed0bfea55615 - -COUNT=27 -L = 560 -KI = 4edfe7dd949503f64fc5e362e2d0ee75 -IVlen = 128 -IV = de72211e57753c5081808ef82deb5011 -FixedInputDataByteLen = 51 -FixedInputData = b59712b8844b046fe40542ddecf52efe2db33ca906d9c595a12eb62d50a73303adc55e5f7ad9d71cb1de9d81ecaa2e74b51268 -KO = ab14dd65f118ff99f3fcf18f2232ab12ef4bf13700fedd879ff66a1919117cd8255c6561b4ea037d7a9a19284dcfb3bed3a7b1e85fdff07e19b015d5fb86388f1df1e034201c - -COUNT=28 -L = 560 -KI = 624d3d33207a0339707536d8f7215318 -IVlen = 128 -IV = 8c50bee495e18d66b4a44fb37e7b9288 -FixedInputDataByteLen = 51 -FixedInputData = e9b744ae05d0ce58735753b96c4c851d1b8e0eac455102d6b8f1b26531b9ed8c59f0617c138b8f2c8ccf6aa3f0249078c6bf33 -KO = f49de63786afa01f1d0b0da493e5e2eb8b2de0d384c523085ee37a2e595d32fa8a6d7e1a1dbc703e9f49919e4bb2a050648e89be887921b11bc39a4f31d1ff7cbb5ccc369d84 - -COUNT=29 -L = 560 -KI = 71ba9d3ae5f63bda04caebedc747ce79 -IVlen = 128 -IV = 0ce1d5c1936782860f78c2c09a5fb82d -FixedInputDataByteLen = 51 -FixedInputData = 53cfc9c0f4362902516e1c47d58cd6929f0c6538c2d833c9a41e72942d4ca05590955604f9d0bdd267c5e49ead4efddf20940d -KO = dfa088c9f6072776e4eede0af1a8f0a119721b1db143f36466c5bdffe5bf202fc7172864dc6b36ed53d6800324a0c335adb51ccf496778a153dd5a46a04e1c67cce737b00d25 - -COUNT=30 -L = 2400 -KI = b7a010e170284a3d0616e7dc1a0a98be -IVlen = 128 -IV = 5b88eba2672b0584545c7505e3601b36 -FixedInputDataByteLen = 51 -FixedInputData = c3e7e204976c148c09a5ddaea69a3ae192c880aeefa07946c8e95b975f89a33c4477bdda763eb4ebd72d8d476688d92db13a74 -KO = 432c37c5dc6f78c7a351e27b38325f745011fb59b5eafbfae4729ba90a98404345e9afd9d708aa4b48791698da01d6ba1cffe07a0e819ba6e83e2c6e89fbbdbc2298768094d5fa3eb85688ece63d7de2b42aafdcd58cbf7dbb4529f117a0fef41e4c430ea762dc4eca89b5607633668d06eb58c07892ce70e80e409f9efd4ee40cc49e58a4d3963950245473b79769920ba450efb30b7567f7b0124d810a28c366307423fef65cb408a40f2b21e58b234c992b0f23c2f01504229076acb5dbc32175e43ede567e43ced6023c1e03d3f39870faa248b857f28e7f1201685e259ab68078a81b106eee06d966f45e29581ef34f9f3fe1e712c5ca1a171d207bf632243d385cf79b9b0d676d8da4cb756044c0aa78281e79b350c7fbb4db03f9267a06365af66a6193cf47762405 - -COUNT=31 -L = 2400 -KI = 5620560799cc53134c7f322cf9be6722 -IVlen = 128 -IV = 466ad958c2c4a9be0f0b9092858208af -FixedInputDataByteLen = 51 -FixedInputData = 00e567bae44f77f6f5cd7e9756e79653f5613cdcf21757ce0da424d2b0685ff22eaf07b59b5558f39968546a29bcca097f04cf -KO = 79ca90e91969e2f489047db9c8c89790be863aa323d883abdceb532afc5bbc81a4535115d179f26cfbcfaa078b850be799161f990f819e36de02e2cb559791eef77e0ebd917d4a592bcc9359f9906d52452564f86786d537d9e64ee68db42e889fb9a8ebae292cc794ffecd4f2b86be07479f766a77f358770d39932f679d2889485fffd2168a11a045f92f28850492939eba8d8a48f57c3f1495dfc337c9411c28f2f6f82b3b9a352aed20ca86df30c1f8d149837d5585d6ac6eafe7b296793cd8ef5da6b50d4f9ef7b0698b033c07ad4c044143847fc4142a700df05d3bdbea9864d18b3c72a1e27f8833e7b3d62b95a990627f33c7a375d9766e8d9a878adc0b9f700697a3a9c1feaaa33e79e257e234db974a7fb2f7fc5448d0d4edd5b396775fe65fd6787e3b5027844 - -COUNT=32 -L = 2400 -KI = 932c8f0a1b78b5ce874490ceadf45ba5 -IVlen = 128 -IV = 1c04504e7a257074846e9597e98c7736 -FixedInputDataByteLen = 51 -FixedInputData = e921db9a8ef8a32d2a239927c85cc0cd0d4495f70499cf2890251644c8f1c858a6646651c5766ee6f7496a6c2cec06130b083b -KO = a9cb0234a795a6cfb0e5ce0454e45c9ddceb32a3419942823b31957d3c9ef43c2eaad2aaed8a9684f0fb6f200b1898ef6361acdf7a78e5d23682fe29ae088e1fabad210668cb43cde06dfd2d1b4c5cc2f686697c174dd32755699feae9c1a0c697d979d0cf4e26109f1765bb536a1ba4fdbc0dc043b982fa35aa47895eae869fef6eeedee3bf963c1c4d26ca3b887e530f6bdb0c1421118afc1b9964893eb496e28f2b2ffe10b3b676cfbd76238205a874409daae985ab79ed8dd7b6350ba3a8eb8dcbe92434e98057df519c9bb6ba56b8c9ea0599e72ccf7dede63db71f98ae0be70c4a9fd135cb55821d2681eb04955ebb4a3becbea20b6fd64b90ccebf01d2286ee0b6d2bc5cc4cb4cfa17d4c3f4ae8b731d5ec1f674fe4cfd908fa168bf1ceb86e4092b9341c5bea2fa0 - -COUNT=33 -L = 2400 -KI = 4a474bc19aa25fc438b94401e8ce905d -IVlen = 128 -IV = 28e916580a68679b423b1c49d1cafbd1 -FixedInputDataByteLen = 51 -FixedInputData = a5f00621ba00ce1211c79b882512955d81dd22e575a213bccb704c57e7084ea29be62097f1de6b2f002f38694a2055b968eae4 -KO = 9c9301da5e5132810c50d7c14f4c2a39a3c13e2c5ac94908d0b6b32f855fcfe8a762b8355de979b7b50e30500126f77498a9b22c1418aa6b7a79ab1df7ce7e58e3d6978455197eb1fe2972f80afe9100014f497b5fae9b6976f06b168d501f62b57fcffe712423751e76ca50e63701a12b49d9b7a0aa85a5ea78e03357eb37b34937c855497c4665700fdf6f59bfd5309d0a325d5974020d5a08a462b2f928e694f98b7dcb8e26eb8580aebff088ddc68b40c1c722e3699aedf94055dbc0b1b633d974ec379a97c5624e504d9ca00fb054e4e6d10ff66b27d68434ae4eca24607504b461ff49776c0b292950fbc58b8a685b3f1ed3e5d4b9b99c5a53575b68fe75e55c2c1a71e9f2fe3afc7fa229be50615c1993236c98a2e95a17b6d469307c593617dc2c60a220811f755a - -COUNT=34 -L = 2400 -KI = 87a5207c687c538471b61ba3f6ef5bc8 -IVlen = 128 -IV = c9fd777710fde659b36356611e7db77a -FixedInputDataByteLen = 51 -FixedInputData = 27d1e4a04044e1ee1ee345f071693b76ff3808e2b8905d51695257ebdab2902fc58e414c48717576070528933be6e97b2b3a3d -KO = f56215c42169479490ffab40fab6ad25a6575bb4348288d7a0c15fca06d62db99e902c791932b40e38f9f17bdff66212be3682e44b9049cca837d0dccf9d8acb62bc499ada0aac4c8e052ca6b7bb9f3e47ef531aae8e063cb21c7300676c786a6abbcee62c7e02733b7e4b57fb6ab55f7c44414b3bfdcd7b98cf41b2dcf3954d756096f73c37546b5130f02bcc56b80e0de078b2b0a35f877f8ca309bfc00fdfb3fe9417b8702e0b88de8674defc12280cfa8d03364015ab1dee4bd901984be634962e75bfcf52f9be88d91bb31d3d9012b23f0984daab23db8c8cf15f7d66e98019926e102223358826e967d2931cc1625e9b4529b38d3a87610fbea3e8e39470c289c3cee6f646a2d9f1f8a2ef520b2fce7985a90e339f9c2302f196674a9853f4894ba6d39e044d0ac36d - -COUNT=35 -L = 2400 -KI = 9e6b16556794e22693a3aaf3eed47602 -IVlen = 128 -IV = 81bc63794a43afc7f58da72964426bce -FixedInputDataByteLen = 51 -FixedInputData = 090717ab703ee8f4224e4e4cd71b5bf280ef99eae30386d67cf07cd10d1ffb48c6fa45a34e382cab716e61be52d9d79d5f3a84 -KO = 6a9e83617d1a0222671022d400ff9a2747e883691a673d0b7c011bb7f1d86172264cb512703146c1e21baa3cd1bf3da366f9db85dae800ac94ade2e8804bf78488c730be2cb944ab49688fcfa74b5b3e23fe8d1e6e470916cd61f977d067c57ca52bd16b35818720198a5c553bd026cef74be956b06d080f892bed077834259d732c460d94b375178748f0ba012dc7c9e2418d4b53d6193834771ccd693fcf6a3eecc33f3aad7948cddc05fcd17da45f2e450ece6d5ed948deefd1d3b3b41d7e4ed9ff42cf6877488c727b81ffd680f0e8bb0f91422bf1e690555fa32305c1829832bfea1b4809c42514d710b118ffde767141dd483c182f20d29248922a65e2a675103d990f9b31de67c81cab4df03a1c4ab9004bb561898ef1a1c429f85c1f33f1f2068bc20f549743b06d - -COUNT=36 -L = 2400 -KI = 15716eeabc71128f30588eaf004b7e33 -IVlen = 128 -IV = 0301ec65b8a36845b5026f5217840355 -FixedInputDataByteLen = 51 -FixedInputData = 214f6cec9aca6e5038d0471e204984448b3f7af0459e8691f373fb9ec6fd8ab93a5137a0b75055833e18ff495cea9745ca7b43 -KO = e042df4e123f5f7205223291f11b37bc25f970a9b4efec5dd51b6af246f8aebf0a62d9211413c570637eaba541da54b5f092e1d696340462e6a84b170687ebd8d562d28fece002b515fccc892518aca635fb3d79900e789f49f6260312388388da19a40900a5c4c803f958e77a798fab49c7bfc4adfb8b522482235a4fe26ce840b41d850547e04599005bd224e46d0c63f6462ddb88a0a00b0f6684eb2ddd8e1b8baa15be2a8c95d5ce81ecd9075830f7624ea19b8c47bc2892b4809bc9d817c7614f9d12216fd610193b4bacc39a5f9e48a1524bfb96541ba7a47d425bb5f36b911fcef6760a5568d100ea727261de2fc9466b3239ad1424b7448185926dc67448d12e342e3bdf7c8509a929771d98ad4fb819184e4a77bb45d6099b67d60a80a85564bdc8924cd7a79114 - -COUNT=37 -L = 2400 -KI = cea07e6ddd3fed42d2dede9d77c55be9 -IVlen = 128 -IV = 23e7f7294e81afef95d384c8e24416bf -FixedInputDataByteLen = 51 -FixedInputData = 9ff41a564f484604052480f8e55c7f9ead4f910cdff018b50b3ececc62837bfe0f223ab4e7eac2fc589d575b5dbab1fb67efc9 -KO = 46acaee26a5f171a519c097efa73a372adf273f3ea1e655844b5e246509fb29777962199604c246d4dcbc04b3d1a80b51cd9304e322cdd0b44874a5b2b9f05ecae4fa95eba42bd3726edd8c5c02b3f7addb767b3a65cf789658a0cdc3f69c9b44d036a684821bd2bf3b40f840f31fc0487771a3e4330cd9e35c11311bd7c4efc908794deef8089abc3884242aa99e126e7f29b825f9e65d12eb59deef7390bd7b7df9b8a31d4d8cb2ef7e00dda92a89bcee39f6eb5da1c07e74648ceebbc169247af5726af3d391e351b456c297f2a29cd75450cd4776ae84011e3177317279f66c90240f023e930ec4b776cea71d1821667f55489750992a5cc0a7c8f71436c371eb0da083f64de160ff225f21374671426c69ff49129f28530e2994e7f4c2c1ae2d32aed11fecf499c09d3 - -COUNT=38 -L = 2400 -KI = eb0af6389b2adefcdb3010e87539e429 -IVlen = 128 -IV = 60a53ac2d9bbba6b844c1c78a8fb124a -FixedInputDataByteLen = 51 -FixedInputData = d595381d35b5dc6875bb9d0ff141d6f16e23c60b4e6f81817937659b88c5ff8f3136159c09570c1f567364bb177d16fb7d5b9e -KO = 49a5faa9beea64ce99b277f603e600e4f924fbfeb4893e44a4d151edd71a7196eb309fb58631d9ce9d220ec3b8d1225d2f60125dda0aded34b43f0de3cddd5593be6159afe68aa0981d95a3e9b36774b62a2f0b329178635cc5ab06ae98e33f097a9e2f217432d5eddaee6d940ac5ca7243fcf54bd5b35b8cc38f7be861fc298a5b0948fc9fd14ef4a805851ae226175967c3732edfd8885d5360863d9caa2a488af8034be53f87835a7ba9a2fb2029ca21fbfa9de6c86a445ea7ebdf5fd94fcf8dbe8833aa47312120600cf6783c6ce944983c9190c9e9e3f3feb8247ed9da67a1b4922da1c6f45d3b8cc9a9360cc87acb0b79b1fa2ef091037aed89bd6cc954b4ab7113e3c16c998279a1b042ccae42ccd2a4bccde86622d8d65ea851f18cec129c656ecdcc4aaf83ed822 - -COUNT=39 -L = 2400 -KI = a20e39559d1a96ac07e5b9bea1d470bd -IVlen = 128 -IV = 5b808be84bc0a349007ef9836d4365d4 -FixedInputDataByteLen = 51 -FixedInputData = 96eda78e8ec2e99a02f279a275d0b5273fdc340d52292327076b31c44f2caf09139e8edcd2c382eb532ae0473612851c168560 -KO = c6c6924b1e4083e98ed49d75c507b03b178382be7c9a423a2c2d5a8a2cc61bf59c44f25863c2cd594158d9ad5e2c9f2c6914d90b3016806966b4452966c714fac09671141813edd294fd9872c11c77fc1e8c341169dd2096a69b07b57092a340c0b84336f440d26ae2669ba972b8e41d825cf869d298af543ffadc3d6eddc3565c362b9e8089c54a49d36d1592fe2a00f453fe1eab47ec2c1dba93da399e4269dd6be916248adb25860bb83eb78e02a2b784e659a91900b0e981d4466802243620470320fba674885288b90b1999988c6693391e448c67a462de607469bcd5960b662104f49aa88e03a726512dbd064131cd2ad01a96fdd76ea3c2117902b2f1b522b9fa078304536be296b6e36c9f82077ae121d5b0f9c4e42eb7be808d4e11ef0dbbadc8e2afc58a84142c - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = e61ecd6929128893fc445a3ced99c802 -IVlen = 128 -IV = db2ec7396d2fe2666ef7c0485ef16a1f -FixedInputDataByteLen = 51 -FixedInputData = 4c84fc22d90db67d5d7244948ff857ae5707234e6f030e4d0df8107f42825717a9a92d2b9c1f2127e48ee6c3443335ee0e52ee -KO = fe203172ec632a8e2a95dc31af8e7d14991bc7794696d437e141c6228ee721c2679ebddf6d7bf08a9e0ebecfcb07f8d4411039023088893b6f95ffc2231bc597 - -COUNT=1 -L = 512 -KI = ea1b0638f3d70bc4e88b47a8fa7b56c6 -IVlen = 128 -IV = a9fa7b817b446a6d9a41b4d2eb7a0394 -FixedInputDataByteLen = 51 -FixedInputData = 09197166b1dc8834d0499ab9f781f3fbb9f21e636c86c90a02f563ec6ff21de727dfd13a901717769d78ae9ccc5ae730cd9b69 -KO = e466e7284a193f07d73295baba65981110665368ddc01397294b4b1b4c39d8220cdb54286b6669b9841a3796418a4b721595f178b990d21bd5b7cf66ca7654c1 - -COUNT=2 -L = 512 -KI = 2a156430772e4ba82dadb7da79092bd8 -IVlen = 128 -IV = 4e2d80e4d82884ae9bed2935d25b4515 -FixedInputDataByteLen = 51 -FixedInputData = 04706a4e23ff2a0cf400fd8d56e075e7d93bd93fe8f592e7773245c3e0cc66ddbab4396d21ecfca92a9dbabd7448985ea7d7d2 -KO = 6b4cd18325f47281d72ea03ed0fa205400ec72a4d9e9e45cf7e36d37455f1e4dbeeff846903e163a0ac7b3ff693bdcea888cc7e31c8dd90293f1e769b41c45d7 - -COUNT=3 -L = 512 -KI = 3103555b8eeeacf7cc720a5fd5b1c541 -IVlen = 128 -IV = ecce764c8360365cabc517299bb7d7ac -FixedInputDataByteLen = 51 -FixedInputData = 1f9c1fa7728cee63559b45a6bdecbcdae40b23a6086ba8753400a04c68ab13d0b3c5674eb58d1b7bddbd0d36b8f45726e9b0ed -KO = c99c623e87883858ae997590a32609c8ced66c74c192445f9820fce7514dc905cf9b5e263c2dcd83dc424918e1726fbb215e838f3b63fd3f521bc18b709f90e0 - -COUNT=4 -L = 512 -KI = 8448b63f1b428dcb741179e76e09776c -IVlen = 128 -IV = 4eaa668bd61bb14d428027dbd045cff9 -FixedInputDataByteLen = 51 -FixedInputData = e09878b1a1231421cdd90ced48a1c36516f87e3f02f03bbbf1327d76d7082b378f4346c3f6c96448275ce5c8cc9bc7e155f12e -KO = 6531ae3f590ee6c886566651b910563c04e786f4a998363dc8bafb477a7e8109b6fe5f01b1f6526c708a2902d542a77675b9b016c4d842fd58f6edef16804802 - -COUNT=5 -L = 512 -KI = d225b6419350baceb04cc9ef0b4a3750 -IVlen = 128 -IV = 4bea032eabfbc02ea1d4abfd9922ec3f -FixedInputDataByteLen = 51 -FixedInputData = 2000452d709e41c8b53c5f43bb5b9da131555c9921ff5beb1a51d3cd5159978cc029f3ae0c41f30908fa2c5a66b9aa0261c1d4 -KO = 3522bbf7395aa3b30a6eeae5b395846e4addfe27e79b2cc43cac3c8f0e24dcee824c534f39b3f781f4e0a427bbf2e4fb90e81706829f82d0478452fdaf051edc - -COUNT=6 -L = 512 -KI = 91d7e5157a6aa50dc98fb14cb7332ebb -IVlen = 128 -IV = 564678c8d3c44e64e1be7eeab94b8c69 -FixedInputDataByteLen = 51 -FixedInputData = aad667f93dab1e9797a3b16caffe34a4fa7343b0d5e4e2f35b2a12a4a463682d1926ea45aab499ae05b2b37fea9fc99d55626d -KO = 275ea18433c8dd6e069c4c2e4743650daa2efc881ad69d4c8368b3b9acc4ea386f3963c8e4500e4a3154ec85afdc6a774e8ca61dca4cdf39784bfddb4edc9497 - -COUNT=7 -L = 512 -KI = f062c9330032bb45071115c225da91c1 -IVlen = 128 -IV = 47c4144ab7bfbf3f2b0bc9e22b5c3a2b -FixedInputDataByteLen = 51 -FixedInputData = 81c00ca42faa4d6ecd72424be0620f1c96f2b0f93360ad5ea6f2006df053f9a7dfbc2197f21da3d1ad404cccfb65d05fd7dcaa -KO = fbe171fedba9c46749f718b11c7dcfb779049c186bd563984ee479847ce9f0a4aeac04310902707907b9575be70cfca81c1dc3c598b89e31c7514f0125530aea - -COUNT=8 -L = 512 -KI = 451508714d13030f34419fbf0353b4f2 -IVlen = 128 -IV = 24a0a52d075fd77b3b0c18aa974da58c -FixedInputDataByteLen = 51 -FixedInputData = 38811d058fa3b67eeadf0e54258ff8dae2f4979d2fcd6c5f9b34d767e13f790bb4c0e19c7a44281f2b1e521e1827bb78e2741e -KO = 745e40451b0a7858a0aba39813373a0e8bbc33b5e035c43132fb99f6243e17dee2317af2b34e91c8643812cf638beafcbbff882e8cc683fddd78e774a73eb744 - -COUNT=9 -L = 512 -KI = 731d646b33fa35fd54bb2d5720a02223 -IVlen = 128 -IV = 098bf551b6cc711936cb4a2c475baffb -FixedInputDataByteLen = 51 -FixedInputData = 598a02f2e242afa59e779d0bb71c2e0a77a9f0ac5fd881c4189c6e501ce396b5a9e22efafea117c470dcbc26ec77ec9da4f6d2 -KO = 2a77bc14c097270c4d45d2cb6b0611ca13f2d7828d3623ef165b84aec74768a1db44cb336a9677e79bc8412848a34cfaadae93a73504f262ab3d5fbefba8badc - -COUNT=10 -L = 2048 -KI = 597396adaa574287bed3a261fd4df771 -IVlen = 128 -IV = 62cc94c1dcdca42f3f61c08ac352812d -FixedInputDataByteLen = 51 -FixedInputData = 22b2a913cdbb3b5de7ec57f418d676d2953b1ca1380021a2322593b20457508eeb0fc6a8020b3dfe75efdd6055bf49e72a727b -KO = cbdf7353b41e70118096c1e369033b9ca1b74bafbc85520401fdca3eb6529913b7bf02914d4ed769353fd804ce8919b4a558995896a538a167f69126d4382bdf5c6f2d291d46cf4546c52e8ba209fb2aa3d07f6a4f734fa899c7bbd3c412274ab534f75153048745ed888b2166dcdc5d200151924f0c805ada7ca12508ea22c21e1497b54bdc8800531d6525a4cc3c8c957ec04564c7675f4277713bb52cf7a057552be253d07443a2d17081376e63d523db1e4f8924f88ec92f6c9af6a99a06048b224a3cf0517a5f2cbdf336a918f18c5a7bc095687dbd409f6bb0f128b3deb0b2c3812f45e2bb983503ffe52d671333cb376b0c43fbe229ef8fc8e4e9927e - -COUNT=11 -L = 2048 -KI = f466266ce60848bfa8c29f59d37607c3 -IVlen = 128 -IV = 848093414e8ab2da88e01b960cc238d2 -FixedInputDataByteLen = 51 -FixedInputData = 803663dc3700e7a3c01dc11bc990b3ba278cbab939bcd774a1ff5ed317305004410b4fa99a8507ec1cf8045022008dcc70ee84 -KO = f85c3a1fdf7914aa83e1753538c17dede9df7c80b5093f7eb2f05d33de3be3e9bd86ddf49f790beb70c841622a98dded29a6e9083bb99c68430900dd29a7c9fe1d38f9f70b5a8a70abcafe0b9bc808cfcc3a7a027cc495c1963b147d2e8fb584454494cb70ed9992fa1d6e99ae833067c4160c441923d905720a527ce66b7d04b433dafaefae25f4cd4ed9e5472203ac0ad544dd6a1fbe3c6bd290c92b4122625ab22de4b042a407bba63820c1ea3c70ddb0d30fc8f184c5ea75c523e1235f7636d250da6d1e1302d806e02f35f1ec2b3c5d582a63b4961966a9ede8f905a0b0954476325f0b4e4059fcbb69aee5bccf31700001d33e8cf732d98829bfaf321e - -COUNT=12 -L = 2048 -KI = 1e4f7d361626f5cd1af709a9bf484ac6 -IVlen = 128 -IV = 90b2c6f0669f5478a4d5104c107a8e46 -FixedInputDataByteLen = 51 -FixedInputData = 8b9a0073c26fa6474cc94ab80531001f6d29c2883ffe69d4734b4a6fd9bb174461302918c4bddda3c458fe3e27b9338b2a4b13 -KO = c1a5e1fd1d72e95abff1d4d0668d79da89c1b60ec0cb0cff134480bf917be066206d23d49375e5814ddd5d11f51291fa8dd1d070083e3a60ff3a975f803fa63f75f016f9941fcdea7ef315cc3b2627c6d2a1e2e76dd5b3a234ab8d22750eedb46e651025910899b49e1459c4ed864bdf10a1dce6c473125ecd6858d3424a867eebb44a7a3f0d8059a0d6a53d77a2ea854b0f134c5d2d473e73bb57806ac2982294c113e97095e8982494c2d3d6935f194bcbc0f2a82f2537004710e7b95128d4736c82eaff6803e5670c70f1beec76249e391ce99a7e0c02a318edad2f55c6ad4152c44ba2a65cc9d4b1e1109821aa1aaf3df99bbb70a0bebf02ddfde0ba3ffe - -COUNT=13 -L = 2048 -KI = 80be85782dec9498216867e0203a6a0e -IVlen = 128 -IV = 19e9a24ef7be3f843723314c433c2baa -FixedInputDataByteLen = 51 -FixedInputData = 0cf3a5c74412d07666d437a1386b532d4439c1203a6c8609d2787a317d3ee68059f36082bc06423c50382d3d01179b8d0ed53e -KO = 7186a724d2a7f8f2f6d5ac94df9658ebb1d4d9eda965d14ddb33cda5f6bbb60887c468416e0fcbadad3d6b87bc7d30c03a02159f1e3649e2f498e11d395321d80991a4cb0be5701ef9a1a4b21b7f2b5a70ad6028650c0a035485979bc8c0aa58f55027bce5221dde4cfff4ed4e0043bcb389301a7dd8d0b596c91777725c8a86079ee0c43c24cf76f400a396b121150b88fdf4d27e72dd3f5e4be4332488140607d602a8bdb79736b8ffe2b3e4022008b8ab0889bd43cd7116fbda6dff4514c2f912bc7bcdbd7732d99257cce6b25e2aa90579be604d79a027589182358af3cf975b0c10bcd6e6c3381b569dd94f6130996ea60bfeafeaae70e705ed34484fda - -COUNT=14 -L = 2048 -KI = 0695d9ced00cc3eee335106c2fc1ddfb -IVlen = 128 -IV = 7239b9410e146f8cff086e0141da774b -FixedInputDataByteLen = 51 -FixedInputData = d757f0d718618db02140f63f5b335a3037a0ad06018753cc2e3683237d17dc5e8eeb6096ce203f4aebe6d391ee817c7a04fa5d -KO = 6e5ad891a8406e6872c066be78517e7120218ebb7cd9b47cc47691569ee91b2d1da34f088c81c56bb0e5991b87b17230dfe424e4866fa4a5f924ed2933a12ae33d4a109331dd744bde534dd8f6cac5ee3a8ce871f31f2a7009ea69c37842e68eae5cc92000dd343eb16ff97a9d03d678771a339ac9ad4d8c5501ffd54a1e7465856653e0ee8da8ab222031431fd9eb438d59b6e6f2b83876791f85d7cbc14c0744452402a1b3541ab4efb35311d41d6ce18bcaaca1374bea4023b5093bd35f6c2520489c2475c08cbe8031f7d34089ec8769d4d3980c51038aa526329c522459bd39a6980905372a80088f2aaccacccdc6b56dfef57ff2801428e24bdf30649c - -COUNT=15 -L = 2048 -KI = 561905195894db76245657ccb99cb39d -IVlen = 128 -IV = c41cd0cad2e5cbb1e5cae20da9e25bde -FixedInputDataByteLen = 51 -FixedInputData = ff787b8041bc5618435624db83b7a3aee1a0847f933e3c2e26a4e64db8259b785671fec3f067f92a79404db4e982e095af7239 -KO = e99464c7ab1f3748a3c20e89284f89ab0b8a49e7237b43508cfb2e254af187f9870d110fcb371963571491197e2498018cd8afbfb0e04a8412d763fe2d2caefdd40b1da39e5639e4c03a3e692437098be97e5bac21240f6daa92c560e0351774c1a63cd7520cde82c9e609a6ecfef5871b66552fd22f05ca36142e7cdaf3f8a791d18510763150e5df320dd9d0e4e2a8d8a9496a3aedd7cbc14688b60f12a7f6ff9374774c795e34e3d6442de07a758a556bb9e7b88b2288b5561ce56a6807822951b97dce107d87178ec09f5c737f425cd99e629702324397ef83ac242329a8e86e1b615e9e33a32d72165aea2eb5f76c923a45624eb7339d4af3d3abb4b82a - -COUNT=16 -L = 2048 -KI = c62a1147f4bc5a827111d58d2ca9396b -IVlen = 128 -IV = 283f198e6b5d6c0f1e47497303edf3bc -FixedInputDataByteLen = 51 -FixedInputData = bc9169226df6f416754bd579c30a9d67ba54bcc89105684495e267111ec487619cb681e890e9d83c43f6e2ce333e432de733e4 -KO = 44f92f9d0440af7084571302ff6c40beebbb48fc0ce25550c3953ef265f1e6eb995082b5e30508b11393ec0ae3c3d4736ffac9a3a22f2ecf07a8ee1f742d93839e98ef2abf13e6d10cd90968376c1c4b6135e123a34fecb3ec1348448ac04cea44bd809071b91565e20737f19e80868bdb9cde7df874a9c01d1f10541ed45366fae666dcc644804b7d2e5ea847365200a02c7889fa42d3ccf0339f3b11d73041bf3948aced230dcb172ffa4ddb50119694131064c3675ecb42ef6fd75f6c48bcf7fe9cadcfaab5bb3550a6e80c2177ffb63460f038ab8b153f7ef38088f147dae85b0e68292dac507d2aa00f1d217831d49e59886aadf7d18af0c54ea62c0773 - -COUNT=17 -L = 2048 -KI = 18ff4af389319e812369df1b16c3dc8e -IVlen = 128 -IV = c4aa20c610cf84c745f86539531d08c8 -FixedInputDataByteLen = 51 -FixedInputData = 64d0f6f41cf738a45af523ffc8ca771989a0f259d5ea7cdebbb442252649307cb4d998f82433b80bcd842df0a9bd805c43cce1 -KO = 8574cf6a6fe070d82e989522db9ffbb0057a19d125fa4f6397958d871b28e5ec2c95a5a46d9a38c78d95cb5d3a784ac95ba2b0ed32fe17c29ce433e5977268114df6bba010df423f5e17b36f6b316f2f14a09fb5e5c68b8057d8141701548ebee4d7d4590a3a3c8092f708a7fc3abf8c0dd645d94b9bbfa54f346f9d733bde700ee9576a9648f3c970089e6343f93eb7cb179a3a73b6d3a2ccec7d3189d284deda7652ae77dd51e37201f5111f81d027d90af1a47c3eb2c27291a413ff526f893563c12c3a13c808d6379d30a6b72a173146eee4a21a868d4e952c0a6309a9f7bf0514db4de6261e70b7a7b34099fe191da29f293dc93fdd985a1b716c020d01 - -COUNT=18 -L = 2048 -KI = 61dc1ae8d80bebfa6454e7769d6a110d -IVlen = 128 -IV = e6adbba89875f0be565255af1e962199 -FixedInputDataByteLen = 51 -FixedInputData = 17093d08f4c61c66b9d268bf40f46f3559caef17bee9617dd8e4f0a4fbadeef711267b45fbc79ae68806367c137ba9b4177096 -KO = 3dc8c31dcadf2d61c5ed5bd4c217024a2fd87fa0faf1e88096449ec83ce8536eb62e82b487a7b7c3031003da53f93c0b2af3ceab9cc2d75bcc6db51a07eb0059e1359effa055b37b3546e8f08d5ca97e501ba61c89a60f625f15caa695d8bee3890d94bc93130526aecc348ee61d3194b8927d656d8de0502648ebd534eeb50ea709b8d41914f7c79740d09076a41645741188ac17ef8a41cd3dd6b3c5a6203da9700e74f24a1f2fcf58d252caefc2d9dd769f035844c2800b7e53f1aa997c304a761956e4cfd5e255ab06d973d3e718e5cebb9c465f3c4cb034ad21a872d6b0812877d45aa1fa07edfa5132714d6de260f8bee2da00ac84e1fa2acc96e28e3d - -COUNT=19 -L = 2048 -KI = d7fa6d046224bdae31b8694cb0b08ad9 -IVlen = 128 -IV = e677904e084d07c162af7be860b6b080 -FixedInputDataByteLen = 51 -FixedInputData = 81e5df27f7ae0b379d4ddc53a91ce514ff6b842b52193377810071acae335e684841545b2c5bd786054f9c65e52986d7077825 -KO = cfd5fdff990198de7dd48069ed746b1b199cce7436fae0fe16ce55e2450fd71b2f969a712ab2e860a64d3855dbfb00cb1590cb05c422c9b4dc5b083ef6a2faaad449a165d96e48261b095268947f90dcd532938e1678f4dc90bbcdd98e32cae84f97b168ea433b0d942c75373bdb69488cd56168d9728cc3684a552deb0dca165e67a372e5414316de7464aa832c38f4ca82834b2c7ff5ca4af80d4d526839cf15bd5f74c43ad21f7e27e47477fe0e8f8e65832eb3ef716291b5fdfa048306c72e4ba2c32c6b04ac95870cb09e17b0bbac9a4fb689b093c62523d5cb50408a49b0a223655bfff617e7f29bade0408483cc8a348d1bd3cc9fa6b2ef75aebb71d2 - -COUNT=20 -L = 560 -KI = f71c09c259d84382b4977ef144221935 -IVlen = 128 -IV = 205e235c347d4a51588c650412c0851e -FixedInputDataByteLen = 51 -FixedInputData = 73d93bf21c8a56ecbf6dfedf3e8e2abbf9659053338e098b3e345746a3da121ec1a230d5da51a27886956f9a6098eaf8c35eb4 -KO = 05d75e1463ffa7f95a4c81750a31fa296c648ad0718558c50de69523b358314c063ce3d95dfb05fff6f6a78efef3fa2f30aeb9f3df29486a11e2e1d632c6eb9d003204c56676 - -COUNT=21 -L = 560 -KI = 6804f289b4d2a8878ad60a69ac25db14 -IVlen = 128 -IV = 9d754af8c469709a510925b136f3eaca -FixedInputDataByteLen = 51 -FixedInputData = a24033741140c7031a1c2c8f3e7c1772e4d72facd0d6667f7fc72e13c020831065253f6795ff481822f1848ed29d0ffbf85fd3 -KO = 1b1ef84e30f1d9cabffbdb623d2a8c0ee6717ff8c6e27594a5415d818b985362f41892f88eed023bc47fbbb728c713a7860fe53e6fdbf7f4e567db056612e324178b7525ee45 - -COUNT=22 -L = 560 -KI = 3ba0d2859b8a1e3c20d628f78b9fd888 -IVlen = 128 -IV = 21d82d108ba24baa9e1530ddef11cae2 -FixedInputDataByteLen = 51 -FixedInputData = e165115c0fec6a48a6613523ad004259d674f42f041001de2b450654c5e88115bb30c5a16d399c9b9473b3278aec364fdaa1b9 -KO = 0691f9ce3ddf1e1fef878efb8df841063efd4e5c59dea99bc59a097478dd2e493fbb3c4e4deafafc893572891189fc0f0660348ea33612c5d5dc14d0405fb4a6bd0d72093c5f - -COUNT=23 -L = 560 -KI = e143987b634e9c3a1b9cd8a3167d58c2 -IVlen = 128 -IV = 1a7e294ea8f6f59d499fd25d5607840d -FixedInputDataByteLen = 51 -FixedInputData = 8fcd4510074c23a6d0a35c7221c22190247f639789367a0ef70429ad1a369ffca377a4233ea5a625940a593dcc8b3eb274321a -KO = c1ac29cc41bd368259e88dd5d741b81e0b97a9d4b1de5a67c758c12b512818a0a32bbfd4a82320f4714635863bc753c9f9d8d1091eb1bc53c8fc85e563f44415a76e8c60d4c3 - -COUNT=24 -L = 560 -KI = dd07ab34d3160fcb6aa57bf1dd86571b -IVlen = 128 -IV = f570b8b32abc0c462a13996bbd15b543 -FixedInputDataByteLen = 51 -FixedInputData = a80b0a588d40fb84395834919b193abd8dc9414db4bc37d91afd7d9acefde83f1d8894835e8ddff547dd0581790ec2b8407ee5 -KO = 2c484a9e58474b1e03e1e7818b079fff3579a154e1a6d969031bf4ba8e5c30187b2943634eaac69a2fb28c6d036a5fe2544f7dcaccc4df5bc80707b359153179f02d2babd7e6 - -COUNT=25 -L = 560 -KI = 6c9cb8a8c0043424f20193b5a7ec8e17 -IVlen = 128 -IV = 0b01d0433a870dfc5056661545e942f9 -FixedInputDataByteLen = 51 -FixedInputData = 7a9cc1e86209de88a64418a026ce843c61a63aa16159faea662a78a241d0b680b30d643de324c77aa9651c0ec3b5de1bd721ff -KO = f1b3e3251b1628c904de2160c2a89700c30ddbdb110223c6aae9761e2d722c95dd7aee225386af30e20def4e0ee23932984ff2553d275bce312edf844ae3fac7df9899783d51 - -COUNT=26 -L = 560 -KI = 3259aa4260c9134c29b0308f77fc351f -IVlen = 128 -IV = 48d416aa6d8c30abcc8f9184c58410eb -FixedInputDataByteLen = 51 -FixedInputData = 2a46bba4776fbe090f8da1b7dacdfe99008967c51aa7e8e238c1050308fc987fb56e3cf95c4246b23db7796762f3f5b844eb67 -KO = f45f5a84839e5dd2a0352ca96bdfa65e457b0e4ffac5fe33f3fbf6f81c31e77b82ac78707d32669cf87a110ae90a7061738d47ec7ba29ffdd5c394f4cb3e6fdebae72ecd4dff - -COUNT=27 -L = 560 -KI = 5f85e3fdce5cda2d80fd35681435e6c8 -IVlen = 128 -IV = 56ae8917b913e2287eae4953b2a9c78c -FixedInputDataByteLen = 51 -FixedInputData = c6c520dc1d5dedabe28db0d3b214760c5d8d8a5dbfc72a7971d3ed5c6428e1198925cc98973d4503c1d1f403c6c6e5b4026b5d -KO = 31ffec4dff5d023d8d19eb9f315caae615c3bfbf3008c8844fb13f2cce8fdea664daf46f5f0188e75664afc7a2285296623f6b62c9a053542772b366ac0123c6d6052a5109d9 - -COUNT=28 -L = 560 -KI = 63b3a4b93d29e96d9b1b27fe0b1b116e -IVlen = 128 -IV = 378d62f3881a59761db1f1364c7a1482 -FixedInputDataByteLen = 51 -FixedInputData = e25e5bbeb940d8c573a049655b844134cefb75a540a1aac2ddde63fb5e2b27502f012f4e5a07b435653e7d01e56ae1c1799f4c -KO = 3c4e9d66da59aa1ad138e1158d7a3a9ad91788fd7922dabe54436e9d9b85006377ae1bd32e3d3993af9c284cc060cc0e10a7083c7e4e74df712b4222c38c3bf84facdc1cc4a4 - -COUNT=29 -L = 560 -KI = c8dea823034148a57fe1f23b6678c23a -IVlen = 128 -IV = d7c08a99d65a5615b2680ffe3e8c6cbb -FixedInputDataByteLen = 51 -FixedInputData = eef49a97c8235886047f3fd50b6c8e4b5ce13023d993335b04a9e2932e09bc2e5b42fdbadf6989947209f9ad3d68eefad60a5a -KO = ad2c1adb2cc591ee31c5404d1f2c4f21949949e35f686ba4408cc722ec8c9b48d26960aa5ef2e898db63049326fa76fd51a37cc8df686767a0326b70b6d51858512035a00e01 - -COUNT=30 -L = 2400 -KI = 3f7a41ca87509c2eb4ab05a41fb7f514 -IVlen = 128 -IV = f83103d463090e3a3b9c5e3b7027a9e2 -FixedInputDataByteLen = 51 -FixedInputData = 709069acecd6afd0026451c838cdaf9b34c60dfc089cfbf463298d21d167bc224c9729069016285586ba655aace9fa85a4c4cc -KO = 9b4fe77b6bc13e72de08301dca7b9281064ea06a7d4e1eca680bc6ff9e56ea9de8c2eea9fbb213d4009bac24735f308a666fc160fd14468e8ba7bccd14d67a53b56c96e4b66d6cbfaef4220099966c1af203ed9ce12a146e30649c37081b62b74cf151b262169cde9417bac434be92874549f09ba3e6a58727967d6a7db0f2a250325ecb8e42e84b083145d6e9ae63406ca082e02a85a9a5d00ffa8db779b30e182aac6d65f58a4ec26fda67cb8831d10f540a87c0aca3859cc33e08442804cb652ff4ba1784435c40d5b2d9773b8931e690308b0d9e5eb21f0fbb205a1163dc589d1d9f68e3310ffc6ca1a4a78d0cba7735c7eee1d34bdd26081fda3d70aab2b617e8a01ad86f84ebd44c8ba8061d483f9dd0964552c3914c8a773205419f6a945e0abaaee2b01ebe5b6eb4 - -COUNT=31 -L = 2400 -KI = d9245980bbbdf2411496884a78b88f96 -IVlen = 128 -IV = 519c66cad7eed05ae9ff3210fa6eb742 -FixedInputDataByteLen = 51 -FixedInputData = 07a7c9711bca39222ecaaec865d7d544a9be3421117faa6716e18c4f992da7fb9099cd0c733624af5f6856c13fac9e942a13fe -KO = 15cb339ca983963188369423c740002e8eade767a96a87daf5996318b41fa6fb2b508f3d63e7ded2b5841f06ce32fc77a2f8d7105b8b578fb7693f6bee359a58c1d8192035d65ca9fc62eb7504d7174cc4cfe9925c4dddb3a45e6b7aafaefcce0ebea6984e0054a10c16d1f3ba3dc7a427410af77e030b3ca09737432b308b757e577258cc8ec5e956515b16c8b52e9fe0c410d075313a98c2b92e96bf9231a7467f21ba6e821c7e7775d2359ac56f962f8fd1d6eb7095892ec8ab221152b98306d89ab31cebbb37dc6bcbab477e2b4c69f900ab9d29a6e3046b84c6305a84c18ef3874ae1020beb436f29e473fef52a271ab8a52cd37160de17a83bf8c827b8ec43a36e939a8e3e6abf039cb3b6ae1e8cf7e00c79a2df9c9a1d9a1776b748488915b247b84e704067930754 - -COUNT=32 -L = 2400 -KI = d40cc57f4d25553f43b33e4d45b737f6 -IVlen = 128 -IV = 2f940534db2fdd74f3188c411e94b37c -FixedInputDataByteLen = 51 -FixedInputData = 3b72b31fc4827af12e99b654e5caa81ebf8750e40140eed751174bef37ccd60e29965cc26a285c6db9e178d823cf60e59a05bb -KO = 7e12eaa3e3c351becd60e04607d44a8da2abe07fd5cadd170d657c62ca1263877eacdc0ceaf04063bd3b02976f39fdebfcdf29e5b392c970a710047b64431295cfd00e7df54cfc58215bb068f51d6aa1d2b898e1869ed59d09e3e7aba5b8d2a4f1e616d851c14b89f3c23c444b5d6e7e0295773c1f3e5ac324b0acc11bbbb0031ca320cb6eb8da5fbdfae475a6bbaed49a07ba91d5441675347dded68ef835d25e37da60a69e49f62f4b5a145b0df9389b57302b54bf3f1d918e8e65e212a3c623b73995297ac1244aff05b1197bf5cddcc1c720093b735dbf734fc1730c5d5772ba65cd4d22aae7b03b0341f29ea047ae055dded90897f4be92eee893c098333888d8c0ba7204f43c40bc3c79f93fb65c4798cc0300bb20bab918f7e8e35cc2c681fd7d07f6059c75935ccd - -COUNT=33 -L = 2400 -KI = 7aed8422e4d85584a47a07daa2aa8735 -IVlen = 128 -IV = 57111436ffd7eb72a0f85d5fc56036ee -FixedInputDataByteLen = 51 -FixedInputData = 38edf1d07e46ba2efc3b24359d5da4962f99ca75f8799d19a89516db5d12dd55481f4b01e9635a2cf1eb083c70016ed234e166 -KO = 90d4b0d7286b9c6d1fd6cc2d3b241b599b49fb39767df192248de84383fcfd661c0f8730a7513d1e4b315b032474d9a10579f6ee5895015b37a09f7b558b5f0313fea2aa30052c4a71e381e4359ca88070558e68d96b57b159c9492997291372ced0477d5face530deca316cebcb906dcfed7a8c1ce1e3cb0502605681e1f05a37301ce03f9fb3e62698a52c30b47af4f60626207fd7947d457e62fc95b0bbe050a6e158e11b682df1f317c1e5d415099c1433442ad1ded60a008002d51d959a54aca5c88ac2feb3b6691665cfa0264be406a1a3ee4f3f2845f667e4a4bf59a046a9616405b185a9d8bfe90304b0bb77aaabab85732089b8167da9f7fe845288f11fec1217f78e380060e0bdc365d80412014065cfd7dc7af4a7c089b767fb72b2095e218af4a0839756f373 - -COUNT=34 -L = 2400 -KI = 848f8564c0aec9a923e134e33a322bd4 -IVlen = 128 -IV = c415fd1b285e3a47495d143d461b08a7 -FixedInputDataByteLen = 51 -FixedInputData = e93f3fbaef436f9ba1d978a576d3d89f93e8f71eb7581334448672b453a5b1732fab1471f23bfed2336a3d06086976db1bde4d -KO = 1710b50ad8d285fc51a64067cbf2ff2be721a6d1274a06954c2d0f2d9afa7bd683949429406f76ccd6277ce630057b42b93de1d934b3a57575a4691260a77fe10268e1adbd5aeff8c22b140f843e8b75bd8ac1e1f9c49f25dcf407b0f3863eda7dc94340d61dcd9d8d79bfbfc1cdf23b8a126c8c0f37b42bcd6e94a9731542ba18d555d5fb5b53e5f50614dd85363de12706df36adc2218fc967e212fa88320e81e5dc4764ca0d08f59ce975608779466eb99514298669645a2717b30a8d3876e7a240b899b7889f08ec9836ff3cc351f70c41c688f8e783de640045a88bc418a41d816f878d8ff7f7d01014bde7491e362b879575de207fc1a148c0580960b9780bafee6bd3550c21198210f78cc70d4f52f165d499756df4cf6374193bb1f12d4f79854631b06b2cd6dc37 - -COUNT=35 -L = 2400 -KI = d1b2d72527f6d0a13c1ac251661469b1 -IVlen = 128 -IV = 01a32a43b98b3d692768a1058da43a45 -FixedInputDataByteLen = 51 -FixedInputData = 81c6fe3cab9abf3173c4b6d040dcc5c4a6ae87355f976aa2e7e0d34978bf233f53933f4c02986399bfb882df8a2b62884a8a75 -KO = bee70d3d43e23d7f2d41b3fc69047d013c77475b6c4a6f13cbf9fb9cac472c09a63ef8fd898bd3666e495fdc6beae0c06bf3357eef44d52d714b4ac4e4cf43715470023ede931509a5b08bef57146446de312ee5a6adff460d8cf09d68b291f78c8f8c8cb9978ded7880ac29c65cd7a816866edea4b752041738a68a5f295e477b4631626a05c870143a3a0730006500e78a9b47cf0de22ddca64073b38535cf645763c55aa49afc2b4b119806001c1f6ec6c3a3db5829a945b8a06e4a8de6a3e7abef193c8432010ce202254b2d6ca685be6df44e7ccb877f62d501e26178c84cd4d2f5349386d4509982bfec4149bdc0dacc6c4c5a5dc96108e5528224c954727a063d898047bd2e33e2430f230b79e029ace0261eac0f5746eab5b5c3aeb4fcf9a2bb4692a4ba50f67ee2 - -COUNT=36 -L = 2400 -KI = 4121bd8e07f61caec5da29dcc11bf003 -IVlen = 128 -IV = 0ec13e9c7e82906d4f1c589b2938a438 -FixedInputDataByteLen = 51 -FixedInputData = 4c86b65d39764704dc66b96c9f26d95f56c6dceb002f5d3d4d2caa69c7025dae725d851a49b65d2d8fe4a2d742b193f411c715 -KO = 463d4c52b4ac5e5a210e4a8ccf1652d73d87bdbe6f51b00f45f068dbf3b911524ee764cf037c969eaf2345558e9bebd4769964288c8fa66bfc7bb07c54685caa01ff161dca32bb19fc472da7bd0f35f7da7fabe50ae9d54ba002a9777698ce265d25459d65c2ae4e96971db69fd5cca0153561feb869cd9c7fa0fe1ead06b25bc2310c5b2367a121ec735ccdaf4ae926de6499c9a74a99140a688640559867f33fb55299641f354815da6e0d44aa994991b03589cfd98a47018f96d5367430edeae01f53d9ff6dd7feef01a0a77709737ee5a7487a21bd860ea40fd24a5630f9c6d0304390b90ef7fa4beb4e71a3898257d2fe9051f0d2f8c1ea47555739be7214d32cfcedfdafa0d988830f981f5a80b18c8be561fdec5719d7be84a7e56878dcd42e201c5fd949082b71f4 - -COUNT=37 -L = 2400 -KI = 1800a6d908e3b809af54ff7a84b2a4c5 -IVlen = 128 -IV = a32eb5f9866eb0552125594b22f0c696 -FixedInputDataByteLen = 51 -FixedInputData = 37222b50841ae36febd2df38b57256464ed7bbf96bdd2f4fd82e25e59856f6b605fc1243f10eb4daa2bf2a2cc2202f0c4720a4 -KO = 70415df368280ea156ef00e92383d9d73de9fae55fdce46b4324aa34ec9bbfbcdd937560403ce080f3dffe4d2bd86023fd282e7d5d6b4afc66920b4c0d3cf7bb4e3b205361bc1540c16079cb5ecae7d6273f4f1209f1f7421ea239f1ce130517217947b6a123c8157adbcabff6053c14474ae1dbcd2f3038b276e0532f9061a600dbfa386512e6707dffc1380973d66121d868f1e10288b46279885b4d021bc9d83f9be3418626304ec4a989f62a60255269ec5c64f2181a4042c70668f9d9f4f1827960a91514b130ee0cadee5b5d6db62bdd69a8b87e5afac0a8a8009f1ccdb16c7c39e22063eff80c4707a3dbabbd574e1735d9334136de83dee7166d0210962b093183fd0b536d0670cd9f32e6e0a93719e9b08fb8f278e2902b34935565cf38ed3ee4011ce3dab94d06 - -COUNT=38 -L = 2400 -KI = 2b9974e8bde411daaafcff826076a934 -IVlen = 128 -IV = cbe77df1e896eedd4a3906f5f12e9adb -FixedInputDataByteLen = 51 -FixedInputData = 0afd0bdf3bd6701d6fc697a313b5b4105027ba4ed04ce7455c66ffd64ea1a24ec244a73fe06858fbaa4dc000d477e3fe9634a7 -KO = c8bab1e0f95e39818f9bd62b869ea35aa36ec0ae4647bc4ca0fe56ef35a93b4e4fae878fdb62c277db690fb5d265a5dbebb94811fc360a13d5610c7395972e64bfeed0ab5692b068ec0f977de181dbef980d2404812169986289b4c5d949098139a1421e710b42391cfb06fe7e1bc266492ae7010a5edebd915f6b7e1c980405146632c644db4cb2cb8e9cb04b2a3f8a5856b44a187702fe8b69a6cebcbe2ac5f7b2ae70b1b71c0a1572e647604821e55b8bdd7a605479f59c35ff5e80e557573488f1e06f14087a2dacb5d60fa48eb1596264a420576280222b93543b370efc37aa8e0f69c53f9a27b295602a34f0c21b0e0b84e1359d40033b931ae0bd52accf109ec8634120d4abb234b0e91f11ad492a2e7f6ce15911d7423863ded7d39d5d3b94d71b89b4b652651a71 - -COUNT=39 -L = 2400 -KI = 35bde48ef6224a6cf95c90efa74e9540 -IVlen = 128 -IV = 96899183a37077f3f522d5c9e40bbbb9 -FixedInputDataByteLen = 51 -FixedInputData = 8f838cd386eb5eff068ab9b3e7d8ef154ae62db2257211cd8cf3295a75e558735d2a877f160591a4a60a0e7205122756aa8087 -KO = 3e6f2d79ef7e9ee8f67b7a823222afe863b2b69819c6b1b520d0041ac40b7c9d94bb75b77f52339ee4cbf1dfb313d1668e72ac35f648a0614c3f94e2ed73465e21121f8fbb3825ed0b74eeffe75f54cf8beeede2b21260bc6d82c879bd6b04e94c43068505c073cdd7e1da22325a8de85ee359a736ba145b3086d7ac8d81460faf518ddd46efa7445e13fffa73c741d7b022ebcd227f77c1815f96548c102437fe0f13607ad57db26d5bd3cd074414c3145e981515b44be42690bb7fa7422a435940ef2a652a5aa8866d5b68cced904c9ce4d6549ff8ef99f18c6b0864ec1052463bc55f65aaa8cffe815b7c5e90cd982613acb8e9427b28fbf1413e6e34034b79f2e5beb8b07b01f0e41a2b4b1a9bfb21328bfe944df9693e5f8aadefe305405ae34f172e5ec0170f23fe7d - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 45d86f8530b493433659bf2212c4eb03 -IVlen = 128 -IV = e3109e20405f0bbc55091bdce349ac6e -FixedInputDataByteLen = 51 -FixedInputData = 8959e8bc6a278366f1fd7973ec75d35131ba9fb5d125c8f2f0096c2df5e1ac975827cce6147b1709a9d27ced60df164bd05c5f -KO = 7bf4e47be1a4726194d9d1bb8dd29f0980a28563d6aa398705d0b25539d5e13f4efdeec9442fe8ca26a500525eae7400db3b01a7b30efdd5a5e813ae52dd01e4 - -COUNT=1 -L = 512 -KI = dba7911bb6c1beeb15ff502565004703 -IVlen = 128 -IV = 2a18ef3e0418bd941034a0a127a10619 -FixedInputDataByteLen = 51 -FixedInputData = 6832d5e2b21213efa2354967c2f9de9152935e65c4bb9a752a88c0687b8261b99c71a4706ff0a9ea3e8a0c225bdc7f6182eb77 -KO = 10f5b36f1abf53927eef5ed7780a9709a7a56d40517fc906cad341846f5e97e7f09445910e2e93f857a658f6c3ca027d889043121b99b2e8e9b83a7a5677fd97 - -COUNT=2 -L = 512 -KI = 827e35f215ba477838af56f0cc5a2dd2 -IVlen = 128 -IV = 681a518e21f7e8d67a808178ecfb9d17 -FixedInputDataByteLen = 51 -FixedInputData = 01deab6c651d3ebff79eaf54c32740801b442b10f700879dd35464426dfb1b3777e205159d7c3f2abb3a3df2e3c097c9bd2bb8 -KO = 9011a2e776687ea81f6575883b4c059ef8de2fee6bab850c194b3eab43db817d7dc5c2233ece7ce25b0f0babc13cc4c7191f0753a6e176533f1ecf09cf5f1166 - -COUNT=3 -L = 512 -KI = fb0222283f5ff98851d1f98967655ea6 -IVlen = 128 -IV = 4aadeb112126a54c20b6d4e9d3722b26 -FixedInputDataByteLen = 51 -FixedInputData = f9846d394f24f4a2cec66baf30a487265ef6c748e21d241f4f956da70f0acf49199d7a3cf940fe5f645e80cc22d457fe443816 -KO = afbb2577807443172b8abd47e2a814135c0dd21aeaefc0bde7eb9607ac5c393f78a133d9951228b1916555727bb85887949fa46b3c868c74c57b56b5303c8d2d - -COUNT=4 -L = 512 -KI = 1ad5bd2dfa3dd8d82e8eb76df7c23ef8 -IVlen = 128 -IV = dbf5766055669354e47cf9d3f0741694 -FixedInputDataByteLen = 51 -FixedInputData = 00ed4443643ae9d2c28c444eda2a19b0fca44b2383680d541df456ee4b96ccdabe114d9bc1a7df08983f555726eefd79179c70 -KO = 58c71d08843a0d1f0b08aa55f72889daa84bb23165d3b7bbdc2767c3d0f19e7ea88910110bfdefb61b28eee729be06b3b7fbde9e2be05f302427ea97ae7dfca4 - -COUNT=5 -L = 512 -KI = 7b0d8bcc4599988f5ebc9401a0013a8d -IVlen = 128 -IV = 72926c7243501b784a17b8803d2ac068 -FixedInputDataByteLen = 51 -FixedInputData = 1157b700516451703d557f0f0505e2217fe33aad21b76d889953bc95853d33c5f30d3c894c18b3d18d37ade46c0c3110b01cd0 -KO = dcc18a77d0c1d67ff734d88c410618738190f259e390c81ef03478f7798225b2cb0d16b331669927a02595325168b9df6b730934f562eaeb95ad87d1721da267 - -COUNT=6 -L = 512 -KI = 217fd27270a8e96ea45231f2368f857b -IVlen = 128 -IV = 5a2b08bda072228d3b980cdf211fb34f -FixedInputDataByteLen = 51 -FixedInputData = 4cfa0f2812fba6d083531fc7e6733b1e7201ca33daf2957f152bfc8bd0cb791bd479aa89b20459017f5452cddaacee8426cd33 -KO = 9664ff812858d45e983f528827e4a7a48ccd7d89e3cf9ea1032b0ddd82497a8327fd91c14848ff947ddea11a4228014c46167eff964f25173d5abcf15bf67f86 - -COUNT=7 -L = 512 -KI = 2d82d7792a28283462b77eabcc059491 -IVlen = 128 -IV = 3791554d42ea75c76b16adf6979e8fb7 -FixedInputDataByteLen = 51 -FixedInputData = d80f5670a73b88aef83ec9d787338dc53cc62aae3dc9e11bd0efd003e47ca780968c9990608a9e59537eed95e39f6862367778 -KO = aeb0198dbb8b186d37e0e4fa1c7b1d1098219060e49e0b1cda1c9df0db546b026447f747dc42851bc204f9d39190926f76bde759741d2307bcdb8ef7c2828b3c - -COUNT=8 -L = 512 -KI = 02c5037a8c23b86709b2b6573a99dc30 -IVlen = 128 -IV = 4e36c917f5971324e50892e930129f1c -FixedInputDataByteLen = 51 -FixedInputData = 8bd563aa7b93ae705d7b86c1ff0c035f9628e0a68d1562a1caf27e05223e2dc427244b1b07a9bdcdf79b4856df22acf71e7073 -KO = e70041b369181625c07339478ca8f8cc818d808a3d6a331e627f68f60a763823f36e664a98061ea78b25e103252c5c15cadac84d21c2d41a68f778a657e9980e - -COUNT=9 -L = 512 -KI = 18ff32a4232493eaac661f3930969cd8 -IVlen = 128 -IV = 671828820298f63a86de55b4a810bf50 -FixedInputDataByteLen = 51 -FixedInputData = b0c45ca2f8f286e2a8db26b0e5b403c9d0bf45001ce74c8abc5e78dbb7ef32a82c8cdb78de78f0ae880ed8ed9e2ac9341b52f1 -KO = 51088a7377650ee9e03cb29fe0d177814832a51cc9c8d2911f5eea1403c3dc943fae1b978743085a35a05f34186a9d4ac5a56c5891ef0ea808cb13ecbda00102 - -COUNT=10 -L = 2048 -KI = 359969fb6d82f944aa7de4c8c6061aba -IVlen = 128 -IV = a3734ac0c40529d7de17554440a7ef9c -FixedInputDataByteLen = 51 -FixedInputData = e2418a02c126b7e3d878fffc400fff7d1b6efb59ca52d3099ac9c7bd9951d528a2bf8726c797dc39f9c4f932711b8aa0a6c56a -KO = 46fb50c27bae66c9f4272092b077962a15234ddd1c6e5bc0918439f0ae5774b83f6aefcef16f70ce5f7cd587f6930d499d889081feab1d23d1fda97b01ccb7bea4c1623810731ea1d391b94b389a54d9d3af8a29437260cf62e50117fb55e8222a97897af6fb3f1ccf5c9316b1808e78f247ddfefdcf8948e37e095125cd02eab839728c69ea9b994e4871c92ed75fd95b504a875f4bf2af15cf7d7f8caaae9ce86f636129b1d08b04d1394fba89cb704399fc0abbebc3fcf67d70febf20e1035e188b180ed2211a0ecb035bfdb864f99810ef3a225d738318d00683425346af3ea87215b110e135f7be94b242e2e0780a0d55a2460e33d9edfe464b12d33ee3 - -COUNT=11 -L = 2048 -KI = 917d1bd95c4a2ceb4db7369e156e051c -IVlen = 128 -IV = 0ed1d8e1e42dc5d206940223532a0e45 -FixedInputDataByteLen = 51 -FixedInputData = 09db69ae6ca65ec2521481d0caa6ff6190586a7c231b73047f197df8a33429df70bcc8f0f1220fd83794be2980829cdc5875d3 -KO = 5fcbb37449992dd7bcb10ee1480ae8307b7e48a1239174efd681d121ce88b45cd1e952fa92aadbd1d1ff1c5cdcc4bbffac4513c5c06a1e96044d33e1bdf33b4e3b3cfd4f207257dca2c56a28ccbdc30f753347ff02d895ed655385c0147b8ee64d92252c97181de26ed05139608ee509e4ec75fdc4a403790cdf56f07f9c63502d0c424c375c174de818dcc3e62605c11f946c1855a4da2abdf99453fce8bd87f8f3f3a80d66156fb911ddf3fec8bcc86f7f9278d67eda4e52e579f8de484a6ac6c9811a0cf5502bc00aa71a297dd7ae25f673eecdef5217b12bdb0a20cc8e939521e5ce358c2d9ca6de0de86d83f77f082412e41bf642944134c9e5f7fc8cf3 - -COUNT=12 -L = 2048 -KI = 8d4552e29fa07310a76f2756b8c2aca3 -IVlen = 128 -IV = 1c1510ea37127607e2e988e0389b288e -FixedInputDataByteLen = 51 -FixedInputData = 74e44135bea51321cc90c51841d991f6d5f34c97ec4cd6629547f7b3773a18ce4bd2614f4e3f0a00c88b5e4b13fea41ba08593 -KO = 5962f231ac1873484fa5da31884cc2dc3084173f91ea8d41935073e00ea4787fa8636738546128b192e30cc43b58ce93a6557ebdeea0c5c82d7c86b9892961fe690f8bdea2667ecf3dab5277ff30eab07b9408b26b0b191fa767c996e41eebd7af47805568e051ba497ca6cba0605a350c96b234fac299628baada4af5f71b92a86803b0405a5af44e086b278ec025679fa61daf893dc27218830ac254703fd56f7e08be8db66e360f3531a02dc376ccf30000334489f1b8d0a17c217147233cbadb7f2bbc9a58d4c0f037847dc4e218201d3e9da3d62da8fb94f65de712cd541a4b8378658792b90583b73177abdb5e63d37bc7d00cd8467364980104522acf - -COUNT=13 -L = 2048 -KI = 9a78b97a32b34b4409330392e3214bf3 -IVlen = 128 -IV = 480587b4e7725ca5dcc045852a9794f5 -FixedInputDataByteLen = 51 -FixedInputData = 8343ce4f94c587f89552cb5221835c25c2377683ca3b6bbfaec57bef88a2d5906e55a720c028f8fce3ad43ad23c20d77375982 -KO = c5cac8c42bee95df84b5d8ccfc815175d116155640d41326845a284c6c80ede504712fb3670380b0f7c82271c58afff1b237c3b8dab2b782353f4d2c2684de841acdb673f853f71a8cbcdb20872c001473de41c80b4730eb323573cb798fc451c07e54ec24d694a29139caa1a0d03d9b4deea2503230ed6f6ed7543ede32ed2f0db57f0a9bc6a90973211310deba6a320307d038d79ab2afbc16e22005ca5874a7dfe539e6af1cf16c95a2431b46dbeb6b10dba647a4acc26f59ff4de3b23f93f18d7469e3cff5e5e57bfe47d0b390191171f035d233af439441c044a80c37e550aa7a985300b21d472d9f2edb7b58a662939530596001746cf15b9807930b01 - -COUNT=14 -L = 2048 -KI = 89546d4889b921cdca03ac7955a9589d -IVlen = 128 -IV = a11f96b35913bb58e28158eb4b9fdb18 -FixedInputDataByteLen = 51 -FixedInputData = a12e72a1f80fafad01c484cde77835884fb66d7c0214ebc0f379eae06023a4f7f7497f9439f495f2ff837f75541d2b7f763b51 -KO = 11711663d151c7f8a5cfd7121c8501da0f5e332cce834030c7d408b672620243a978e852114fda380bba69d3f5b834df757a27ed5e1b35fa8a676ad9a7142cd3ab2773e8dfad5af836853203011a95111119d33ba97255000cb465952b74c112647ce0abe3c76c3e0050556fd8d2ca6a4bf8ad61a565fe4675167392f57c440adcabb4fce37e384dfff803bf07b4b71acae3379e4df06130dbac9a6e0c540ff821dca739b86b16b117d3eb7ecf62a8517bc00a8e72f40fe4d510f3e8444d4a0a912e2e0302eb42f5ac6623024245e20102d91d1948618d7be4641dabdb191c5a30b9d9d7eed79b0a472486b2af6c26f4cf031c414267ce6d06b387aafae4e452 - -COUNT=15 -L = 2048 -KI = 6ab14aec42ba76326b21cac50b3e009a -IVlen = 128 -IV = 3bec3905a849ec383ba1a85414a4b1a2 -FixedInputDataByteLen = 51 -FixedInputData = 28de3ecd132ae45f67e500d75f52d58bfa68759235b90972aeb67bc56c75988850393f65ecb0a90624cef2af0959b03afab8b0 -KO = 3c5185513f6043c878f0787bbbe22638a7db08caa9371e130aa556952aa6bbb17d0c15aba2179f64ed969bfc262c389b9a37f17062a80f8baf30ac5f5ea1a647d92f12e2a4bf0b076a9445481c7cbfab8d67e74bb4626a94f52defc23d8da7a0926b2ea742911f5caee6e02307663b9945214f4cda8b705448d3067c1e7275e78d0a24e084232cba464b0423cbc633b248d141fc38a180f678abe1cdeed3436f8898f68a8465884dac5b389f81774d1287424e2e6e56625e61c60ccefeb515a8bbab67699b94d9868dd87c4dc85a2e17d32e8afb0fc23231c5a243126b738106289ff953a640825709a4c704dc4ab6a51c59e2ee958e8bbfd5320ea60b54236a - -COUNT=16 -L = 2048 -KI = b3c4043deaffb3793ba3f59cf81abb7c -IVlen = 128 -IV = 93143b3fa0fc653de1f3eecad1a58ce4 -FixedInputDataByteLen = 51 -FixedInputData = 2d236295f60152be449d9abe0e0a3d75571a4560557740763d064cfbbb8e5175834da66f55b5079ef1866e86a46b34f6a200dc -KO = 43d42f3d725c6329cc7380fb590b540dd7a43edde6c0c8bfdc0b6a3ab07dedd5ec434cfc2219afec4a16534d5c7179b68710d197fcebf18ad26deb4384f308df0a98abbda1e12b578c22db654397e4ed882aeb1b1a29f95572bfa001cb7f30c1e0ac2e4acc75bac509a1550a77c5f4668d8e0c1d510dffc901ea32f17eb1113405bd127cedb294f4b9a14c1dca5491ffcfa7459782065c40117e3f407a31f577451eafdb1f50018f4fa8128d6d089a59f25dc29aa694b31b7f035fb2e113a45ebbe182f335f3264272b4c308d3a434f14d4d6c5097bf24c6d0eea3aa8b010eacdc41d45616ff8fe81edd2d7b7cdf258f736b5a12caa145fdc737ecd554860fee - -COUNT=17 -L = 2048 -KI = 938682ab493277e193d78c3cda185825 -IVlen = 128 -IV = 7c7637dd87befc7f7862a9198f821a6b -FixedInputDataByteLen = 51 -FixedInputData = e5b9e8d08e43b4e26e65103e28eb6adf104e31d3fa56d116aa314ea52dd41375387fd0fd15398e80266574c253d6156b7dacfe -KO = 03f0d18e0e4db133f0a5cf18a0a0bf8febe5ef6aca1e31babacf244abe25870ec9d2030f35f0deefcbe74afa8e0fec94933925b1305b59cb235b0a2fa43976fb80e63141ccaa71743e0eae52923bc3e97a9126ac608fe0b930cc0c791f67af33232c16eb25f48c94890907d5f2262cd00bb2a96e58da035e9782e403f48975749c905ab8111765b603b114ce11f07510b60579d5c32f5bf236b524f107c3303a018e89e202a4e3eabbd0c15ddd7cc62facd122a12a76331c832364c0651f9edde809dfd3bb6b252839210dba2c33ceb3881dc9f04559e07b4ea08ddf2f0342b1bb3989ebcfc9530b863d2797d72f2d5431696a1f6df502d395fec84b41840204 - -COUNT=18 -L = 2048 -KI = b7db73e3d13f3a4aafeabdee523a456c -IVlen = 128 -IV = f214017e1f8508882c85dc9f3949cb82 -FixedInputDataByteLen = 51 -FixedInputData = 847992a424d5df4ab83e9f89c9c6c5f98b741a3a7578e39fde980db59981c1a6b618733be4671199651748695559ff61f54794 -KO = 41c1afa9123b13bd0a9bf60cc9f74f8b2be830508193200e3d2a1abf10618c4ecf41b00c234fe6538230003254fb1457d51f3b760d455f5cee88b66fa6f66b47eaa9aed777d0c2dea1d3554f5343ff784c094eef756be6ef493549fef0c65e0db209df1cd97edd3822b332275adb7ab28b3c0b286923e0808af1f21709bf47070cc077929a424d6c80e775bb3e20e17e71ad8c58f160537e7e654f56a4a856ecd1a2812f4578583c7c652301a87af19fa3a9b3b0d58305017c672e2fa69b5a418b6abfb8f97a156a7d54e42eb7f3e42f98547b78e5c3b5fc73997ec4879ada2d49afc88533c7761e0d5c77f4dd836e7670aa859011d07ff393c6f3ab83d6cd2f - -COUNT=19 -L = 2048 -KI = a5a5e1deed89b1558920b7dd294091a8 -IVlen = 128 -IV = c017b06994db95d3c7ec9b42727fca9f -FixedInputDataByteLen = 51 -FixedInputData = 1eb58cf57bf63ac0d5bf4ee11ca8ab364316b92697d7af4120eee4782083754537067f4517fd0d2e5599172c107d8331192051 -KO = d49bd01240f7e5ba31b85b4a6fd87b5e5d49851610d44623a72994d8e24d7502c5cfa806130e890376c0ccca7e8e607037400981fe23f97ba06c67d2bc543aa4476db12e60aad2227199c52ef96b9c3a2c700a48eb907c2ca9c56a02a7f864d6a0bbd986875e102a56fc4aa1323392835b01aa3195cd12daeada28cf51273e17ded68170a965fceeebefd72ce596dbaf50dc939f66ded498af1adaff1973e66c275ffc61898a1b0f35d43420d769a912efa505b33eba2df4491540726ccef2baa406915d187312c647064270cc5d0a2b59fab74f6d5d57429b17d7442a5085504d58378db38de194c6edf07d03eb2780f945e409b500b65d965664000cfc8b7d - -COUNT=20 -L = 560 -KI = 6ea8fb2cf38e5cdd82b441a36b82b28f -IVlen = 128 -IV = c32e6f93ab6057cb29bd2d3b2d6f390b -FixedInputDataByteLen = 51 -FixedInputData = 82997530f2e2fba0a2e3c52c0f9a6cd7bb60dac83db2e834a48803375d30fc1876fc8a51cb8ab140db90bb5854f9954c8ef2bc -KO = 821cd44b12cef7bb3e54ebd820d89486aaad5e24ed251cefd8398d72a22deb0e6da45bc547cd1a8c6fcf49610063e13b274c0a5c73d9b0df37e745e989b935c6b993961a29bc - -COUNT=21 -L = 560 -KI = dd5500d774339304224c9028065ea34a -IVlen = 128 -IV = eba89644b3a76ed1f2b1ba9dc53d6d20 -FixedInputDataByteLen = 51 -FixedInputData = 21798135c3397f9bbec798d4644e7f7e0d3114ea2b43be776eaa853d6e2502f78ae9db9ff0426a66920d79727348cb19d0fff3 -KO = f7cebcbba15936dae43ab9a8eacdbac43752cea4395140f8c0daa0b56d984ec6f16c857ff056d0114241e486f8efb1f7204734664c6b8dd97b5e0af877ea2328db0cfc98278e - -COUNT=22 -L = 560 -KI = cc644d3540c5e981c98bdfc77f45d908 -IVlen = 128 -IV = 05688959d32fb949cb56f61c0bd5846f -FixedInputDataByteLen = 51 -FixedInputData = c05c5a5ae25aafcbb8e9d02fca28ecc5023556a89c8e5cca1085e74937e49243662ef97b45d15d743b6753b497b7af380d19e2 -KO = 119298a6e21a92b5103919f765f657a2a56dfb9f2b87df3115a815db6a5cb6035e26e4ab776637db7c3ccda5b1e5ad6ec75449faa66afac39fa9d74f53030946c884d0e6c8df - -COUNT=23 -L = 560 -KI = 45a04d452e08e7ee83e0adb27c351a1d -IVlen = 128 -IV = b44d23d4b762c1783caf4742cea441df -FixedInputDataByteLen = 51 -FixedInputData = 2dbf00960ad806bf42c9a430d891f4b0235d6f3e6cc301b5db0f20d9d7f8a4dbeef2096f65b633273f5d19fe779d6f65dfff6e -KO = fe3a38f886c75ee61f0cf01e91fb34026706a90a9acbbd7ba138a1774f6debbed75840581fd055ee7b94ae724cc1b11d5e98029dd4b97c8404c9eb66b4a28d6af5de13cf8e53 - -COUNT=24 -L = 560 -KI = 60caed456124c279c2e71f1323496046 -IVlen = 128 -IV = fddbca4377da64d7aad0ee57cbb28491 -FixedInputDataByteLen = 51 -FixedInputData = f57f797dc4ff20f74f12d5b5ba48b6680b3e6c03a75bd7b84feda3a9b319812c09927fcec5f8092fcc36310e90ce235cff854f -KO = 983bc9e9dca5c6e859caef5f39ddf0fb887e2b2f5cdcd29ab134a3e9b0944425dc74adcf3f5b436e19e08c1ebc2488d76ab2a2b41e4f05121d39b29c691d7963a6b6e6d8ac67 - -COUNT=25 -L = 560 -KI = c3025c944866d7180b8f037e2a36118d -IVlen = 128 -IV = a2ec6cc53c3992ce86e1c9695bf2e711 -FixedInputDataByteLen = 51 -FixedInputData = 2a910c67f4e8ea6c3b84d66bff581093172a6da0877d0de7c5565855ab689b6053c3ab9db161a6d3b7b22b82afbc8041dfe8e7 -KO = 774a8a79920ebd0e87c2e2300adaa076c425e052872bffbed65a137e6541a1bdffae2f78029d01b6dd21bb95c9e45b5b4ec64c6770724284166acf32e858aa9e5069f5310eea - -COUNT=26 -L = 560 -KI = b5ad8c1c4ffa8fbffee1f7e1f4f4e61f -IVlen = 128 -IV = 3c3eed58b9a371e2b96b39083cd6c7b6 -FixedInputDataByteLen = 51 -FixedInputData = aa22a045037ea15cae3863e6f4e16207ce9415f0b3a9a8a9250a027b40583c976b17e95c9e3704919cff375721b8c897193d56 -KO = e7bc29ee15953aae8b37985c47ca4fd2907ba2a18aa684f09d82776db90afd4662431751049dc8fab51c538ee7b31ef248f65369046fffb5b0e790c72e3b2f43aa1197217988 - -COUNT=27 -L = 560 -KI = 7c828e565fdab7f127cb0192cdd70dd3 -IVlen = 128 -IV = 28e6986b273a5dfd1c7b3110139de1ad -FixedInputDataByteLen = 51 -FixedInputData = 3458be13f7f072a07f1a84902859cda6d23e697bd0e9558382bff4d68df1a832d4b458eef69b1a49b46984547f84065388543a -KO = 1a2822aabf18e4df2eb93cec9a05d7698461da56e8dafca7b1c66942fa407df789225ae0c3da09e4be699a57e476205631b910d2ecd5f9eb6d791f64da5e68d22d3ac49eb1b5 - -COUNT=28 -L = 560 -KI = 5229f6ef429609eef252e65153296853 -IVlen = 128 -IV = ef09c826a64290b39f6fabec9f1df12f -FixedInputDataByteLen = 51 -FixedInputData = f1fe6bcea0378705915ca86dd79f101c0d01257144867f4b7743552c0066269b7e2527d4a6dcb60bd1b369eecfb00acafaf398 -KO = 7c85c05537e6fc7fd2de5e8169f08397bd4ab930ec547756b0bdc65108f6e0a1c946e4ce7b0a92f53b2419cb8187a80be7ef2fbe1cc10db95e64b41c1f04b92cbc1f1677f67e - -COUNT=29 -L = 560 -KI = 67feca35bcba9e505f3c9c9fbcba58c3 -IVlen = 128 -IV = 770577c8aa71e71dd34e3eb1dead347b -FixedInputDataByteLen = 51 -FixedInputData = 3bc8b303315eb60cfd54597deef2289a6ab9bfaf478f1afd19dee9c70a0cd87a649fcd684bdb8eaa338db66efba0e036445139 -KO = 6fe89d3aecbbcf00ce36682de74b003104c84857d28a6a97179c94b8432177bc2734e088bebdd604af98a8318053d74edd9bfe1f6d0d7cda21cfdfa8afd6495ea96022d4b25c - -COUNT=30 -L = 2400 -KI = 523ca3be153307aa3402071bb381be5c -IVlen = 128 -IV = 8cd279417d75a67d680d75abf54725f3 -FixedInputDataByteLen = 51 -FixedInputData = 3aabc6104f20e901b228971bf364ad3733f0f8d6db51ab034a60ea07b7f85076f9ad580a9fb1ffa01bbfca8df2792758f3290e -KO = 2d396276f194f46f2c98985f068a4de11af24d87d69b1c4497a1b67eb9c42ac126844d40da20fbc8ea983bb17a103c8a5653b0445be87a3cf93c6e0e6e3c0b21fd113547f50ebb131a1f6f9dbc5769c859ab4f30f71b6bd46158bf081b28d943d884725331ae7f375c832486c4b133c9f50e90073b99268b81fbd05f81ceb6be1c5ce1fe42a72bc91aa0083d841e49abbe6ec37db40fd092f468eddb18faac97057aa06117cae8c64a676fa47e1965d9c76a78f7bab21d6ab0fce7f88b0fd4189967e0abcf646c2afef257d66996f7df0fe80ec482ca2c6120836407115a597fb732cc7f15ae15a1096b8a4b83c79c56d9c25197137efb1018a22dc7aff05b055b6da95f9a8c69bcdcf5758fe13e0d8db6abfa6f8496ba8bb7bddb46246fc4c615f0e256221bce6e98f102ef - -COUNT=31 -L = 2400 -KI = 43c78cfe85aa486670cf0449fd97c2f8 -IVlen = 128 -IV = 141cff1b418e4bbaccf6e2667e110ff7 -FixedInputDataByteLen = 51 -FixedInputData = 5e25887f7a04dc78dde5750c024a3731a8e7127d9ea33a316039ac3976aff4aaf44310dc8d7435bb6ef27c4d853fccb4ab3a0b -KO = f6e056db07312453a1a2b034572a384332c6b2ef217b912cbb641eb7b3c7ab0ab6fa830955e00bc2c801b6a9839443e0473ca30f7b72e5be8ae25504cc9f4b24ce5b83bac874fcd887abbd4c281b01ee349e1292f4900d4373fddda76de8b3c41fa1dded0360e80a1cefa0b0d131fe3097e2ed41b5328ca36b9359a92863cd9a9a84d8bc685ae96057372f34e7d2401a49d4310025448733e861a92009551740165f8e2a191b36270f7438acf7186ed74765e23d610dc9e149ce5f0e94317cf607557929bbcb07c16cf3abaf997865fe07f5eb18898dfda9bafe7b4eefb07a546f4d793bd0db7bc82afbd8365fad167bd526c8db7298d1787f0ae62a633637e96f55ac3e554f03c0d2ecf2c674ff6c4878b627eb6ddd19b70687a9a1af01152f086152bb54b89df1a9e3b425 - -COUNT=32 -L = 2400 -KI = 218ffcbe11b934d82c8bb7e2dc776f2b -IVlen = 128 -IV = 48a1af17b8ef39cc777d6d0fcebed7e5 -FixedInputDataByteLen = 51 -FixedInputData = 5807596eaf85128d6eaebc06268d0c24a4bbc8ed6d0fb47c9fe7fe9a4ac6facd03728325c8d6a47ac22a35d200449a604cba9b -KO = ec031a8af4e02f4c4a8bb97881cc080e3a0f1eb38f2c21fc5f44352a527ea0f6efbe4c6aafb481d9683d0c53af1bbdb470572416c868e5b3af5a8a137eadd32319e3f80e69aa59d936d07534b84a7145ae71739d71cb2f727ec5e2d525078d2a4eb241d6bb3265af6a4fa85c2c351851630fd13250f015c7ef4bdc403326de67517aa122a1bcfd30b5331cbf754857071d73c71afee96598b059d8f1159c3b46561a313feec861a90c9e2c9d99afa192705bcc2c9673c521ccab3b73d59f671ce50ecd42e069b04cc8deb57ca29da8e91cd36bbf7a5b63db6b5d5e7192ba3151e1b1ab4d04e5a4f6f80ac434d40903b2a64541d2ed85216024856b816f6efbff4b4980cf4dd711d8be8c9bb8503125e22328da3b26a2797a961361026862da4fc6d987dafb3bf696789f5b6e - -COUNT=33 -L = 2400 -KI = ace1fb51628d7be8357a08654c166a04 -IVlen = 128 -IV = a1cd93c1715dd29a5c94b9a5efb928df -FixedInputDataByteLen = 51 -FixedInputData = b613b49932da81cfc4c3e2993438828471d38a066c2973afa8e5de116277ed9cb204ae646207e0df91dfaccf15e71bb2929601 -KO = 4b09f6db4d51214f5d3b36d1b34425d4e5bd2465c101addb416e05c97794c3579d0e6509a917d378de71a92cbe0a9128246d9e2cf4dd984116909c912cbed777fe7f47fdc48636073f2df82f46d64e786a6963870dccefc7ae2ff286ad5db6d45896886be7646f4906246cc6dedb9b1fa852807173bf587ac8413fe81d433e953471e55ad9feb1cadb397d9ba5490a2e0b5fd283c2304ed45a35478803a62485bdaaf6d3a64b14d1ebecbef1676aa0ba8d38843ddc94b902f9a684f0079e143f0caa0246e8cbdb64d1ce6cd154fff2ed660745577d0c6890f5fc5142f5a5a18567755c1885625aa3ba4a73c65e4cf9ef6b5d119f474bdea4e9d367861f0f1ee458e3f13dc95e297bab43d9267c3ef704d43039c0d851fe2c65d757e34fce1879c2c4e331db521a5fa844375d - -COUNT=34 -L = 2400 -KI = bb9c7ca8b18da68675e98a0adcc43e1e -IVlen = 128 -IV = d498470ead756177d1b4634a79edae4b -FixedInputDataByteLen = 51 -FixedInputData = af3ec1300565cf14e58ee3e76599dc779da0ff3b23a940d751a0a788fe7a3df66fd703a533e101ed78ea6dd2e6dbeaaf098dea -KO = 2588c09c5ab43d4ac73d231ce25540dbfab916972e2a4a2ae8117db3ae32edda1897ca67f176031cb11e486c9503604f7e2e80b8ae1b50b5907d6a9f28530458f36fd0f3f059402614f51ee2620cfddb1decfc9e5b5ad32ed05e17fe83f4c2c15e958689f84362307fec5adbef0d033e7b81858438654c13330e4242bf1df7b3d3d8c95ce7d4fdd89e799665c5ae27728e6c068a51b8bf536deaf28049bed132a3aba4ccfddc957da6ede3e5976db940babda3cb14ebda80d9b0dfd0b82da79e09de1ffb87b8831c5ce3f0ba200a8ad873c4a8447c00802614cba34a0c478e47304c6de4e902020ad2d939b58526cf18f33879faedb167927d6a369c483699808cd7c1b997b271370775d16a5aafb36baf35eb4c0775d7133b0214179ae71ae8596d3c8096bde64928dc6c3b - -COUNT=35 -L = 2400 -KI = 57b3499db1684b3df058d7f5999c46da -IVlen = 128 -IV = dfb20ba2ee9d4b6885912a9a9ab0d685 -FixedInputDataByteLen = 51 -FixedInputData = 727ee6db698f14344fe85dcd99fc4f40bfae7744614c5e921af915a102d3d60553e4e41bbd6585514514f25fe255778fc05238 -KO = 5d9f672ef3d1846629633104991cd9b1d8a0c1e4bd6b5e7d401619bb24c70fa032bba3391222d8326f85a1c2f8603ac7d83254b4d66c90378d42435024ce8d1c832009cc607fd7e7285940c018acb5d7cc5d97ef62128d022a882ce6f7aaebcd6e0ed4471df6d6eeaa8e243b45724e56ef41d3454de53638d5a99ddaa6ef9f61cadbe33763dece886dac3070adfbd7fec2898f9ec6f20c39acfe4a8eaf4f39ade25a06014608659540a7d61e17aba8060cd54c6131a046a591320f5a4aadb239c0381ae28b3bc24322a3059bf5b53ee6fb46ff1442044d5a3891278132d8b97d3e8b89bb47a624e023ef4888176e1f788b5c2d7947eb73330c6b834ce267daf43f40d88e6c0e9de4fcc0e27e40ddaddef2916e4923ccf7a8ba097ded870ce24be330c8e1f20c74b6f883cd8a - -COUNT=36 -L = 2400 -KI = cffaf6ef1833a4cb987eb6980c82a69e -IVlen = 128 -IV = f6b79cd6e81e7ac836cab22157341eaf -FixedInputDataByteLen = 51 -FixedInputData = 507c3849702826e87f0d92062c695130c14dbd31c874b5acf32d39aae336fd5cb6dcfa679b7f53960b5b7d28b71d2da4082b1a -KO = 511fa9e4794887830fb5bccba037ddc5f9ae89804975e0d284f0a6c7db33c1e4c6a303bf6393496cb4b589784727fed0b0c35ed78a72d6da45b52af1a353d69ee4089eac92c3f2ba31b785c50187f89ce40acfd3966e00b2e71d9157e9c1065919c5c3f829d81ec9e0ab6bf1d57a4e08592d464c07c1f3ca75bc3e8bdc1e4c5b8e62507255888394c9ff980a85b3c00f9d1dd6bd7f671a612b11ce5c7994dae2e48d763c887479ad4d32037fe7db0c25e919ac580f6cfd739526e6585dfeee89b9269dec699bf5cded5c19954ae60afecb31f514130842e84281ba5398302385837d3965b604522dcacd71073073ded7224fda3835f4f880563accdb50a8f3b3ef2aa98da751bb29a4515e48b88f3ccc9265320fda210197d0e8d882a66980fe8bb082bbf2623153fef240a9 - -COUNT=37 -L = 2400 -KI = e4cc8d7158d2d94085aede11e9a67e20 -IVlen = 128 -IV = f07c5e701aaf71a7789984171ee8218f -FixedInputDataByteLen = 51 -FixedInputData = 031ddc6206cb8985dc579059d87fb7f075b6e0c02ccedebd62bc09d30018753428a3b42ee50712f46ecabf95edc6f7e7113bcc -KO = 0c741c0b1e3b4d1ef98e0707e591409b27926ba7ed6caaf833e9b1a01ec0b1d15481f0b68405251104862c3335b06ec488a99496d1ddecd826a20dd9f8edfab99841b51e6c527ff4446a058947e0f7a15b4f9d49a0ca708eabe41e50310b0d4888a8fe93c6be06638e566d387415018a25de728372267893a585d61f3707d7965b83cbd31de8db28af4975d17761089c5037cbb6e673b74e869b5cedd86f8efc80f7033de1e66166497c582dc9530d833de4d741a2ade19037bdfdd5de52c953efb34d6cd4055641627b664eefd4f7ec5daa161e3ecb48ca4d7bc86913baafa07b1a938daf7817ce432c539454e5d86ef889df59d2c09dda0bf1e143b0f2c57bc0780bade9c1f339e3683d77fe3959e30696b12347c93e10fe8bc2baae2c64fc63566fc95fb930bcfb5e64b4 - -COUNT=38 -L = 2400 -KI = 2c2696cf5228828ca327165ebcd0f6a1 -IVlen = 128 -IV = 9da3fe90a36ff79d5c4510e02eba51c2 -FixedInputDataByteLen = 51 -FixedInputData = c1bbff21c08b376af5f5e06ee310bcbb5c68949ec8577b07afb0a5815b14422ad3ae905becf89d1615d55f1a030f4e9b2a0389 -KO = 5019a6dc5fe48741e04048021bbad06b910a6bf96ce91933799bff2f0f4f062051a17559d9faf46a520c6b78781ca16ae07ac07bc3a920b70c403209467ff58c7bf7099ad07d14d7995001c74fa794a03c9fd5c4ef84e8fecbaf45e7c2676c6473528e12a465f557c2b1d92524bc3750c642dbf27cfa6f27b47968885448ee49ff44301a2d08eafedb35a6d86934b39b3c4c72bed05657f3033ece84b2db9f8e53f3f42ad03dcbe1663098d3b5f2481077de494baf69202e5cf80bfebd178953f905b401aa81f047550dccbb459c82b247480a8b7d54231ee9d29c83f4f7a1c64cedc01c058a9f7bd9fd63af662cd2c2fce9cc50cd00f316da2c7fe2992949b9b7650ba0af73e6f29ae00208a13612c5fc308b42f8b833bb933ae775b1731bf1664e7f5df25a63b94f8a1f0f - -COUNT=39 -L = 2400 -KI = 243966267538a1fb4d1d64905ca71d6b -IVlen = 128 -IV = 03d9269d24916aa09bc6a7ea8977aa9c -FixedInputDataByteLen = 51 -FixedInputData = a07c56231f1662bfb3a9546cc8ea73c264cde373707394ec4ba5b29c544f0f0b641d8540357852a3441eb43898fd03516aded8 -KO = 586a335e9282825b6cd1b959a88701a8c2fa90fb032646412570b8fda81eb5f2ef6199352f5672430e6b67c4c919aa6686da4287cf0f1a47dc54886645c7faea9f6f18c41d364363367c2cbbda80aa0d165214ed0458ae2b8a2bf7f72f9944051b9bcfc7b63d0b08b767882e8019380fd43699629960fe432d391207e6d8ea6340f8e7033b7386b67cda389adf17649abddc5a9350034e882fe55cf174e42bfeacd7efbae244de18057aa3eab70561b26e2f6dc1c020700ad43d867ddbe344d4f2c3bd36b0b9146bf6c51eae3a2baab2f7942faf5cb68d1343dc9e11c569b13e41a2ce8dbb50d6a4e7a17889a50f1e39c0c3ca6a53167ce4ee0a6da99b40bdb7e2f38f6a8a358a26eaf03a191dba330a5d37a5f7ca87877484bf95c2739b36ac945e70144e69749336e0c429 - -[PRF=CMAC_AES128] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = b44ad65a012ba7a3db790076afaf4407 -IVlen = 128 -IV = 7217adc9d377bb5625609b8a20036703 -FixedInputDataByteLen = 51 -FixedInputData = e1825927e9f131d8a645151d641ccda92ed82be5636a0c6d91653723d5d8d710c52b0a6a0401c16e280e23cede62138c4284b5 -KO = d61121c59199c88944043f7cbf88dedbdf53f196a515cf7ac61d19e76090b622470146fccd171bc651ed3bc48c4d045db15b1599b35e9be96983547f50990be6 - -COUNT=1 -L = 512 -KI = c1abe47b560a9715d5f72ca7026556fe -IVlen = 128 -IV = e6ee02bc6786449eefaa7c7983c6440c -FixedInputDataByteLen = 51 -FixedInputData = 7da013d1c3091695aa3c646d43bbcb53dcba12d72293a1752c502139e295ba0a833c992806ce1f42632126f32b6ff243a6329a -KO = bf37f866506aa05980443b73ee3db6b52dac90430ec88f4d935d09f980c91cf7b7526643b7d8a633939bd5f0c5b8f57b144b70aa9a578a30d2533f6e792634f9 - -COUNT=2 -L = 512 -KI = 2eb8fd50b1c2e1558851183d42e667be -IVlen = 128 -IV = b3e40bfffa4da9a184eddcbb09c09500 -FixedInputDataByteLen = 51 -FixedInputData = 646ecd88bbe77388bb66d34f23cd250d7908faefae006f725afe308c8bcc5dd42e32442b93c4a892ab13f7079ad9e5ce60b17c -KO = 155a567eb537fe963e7e8d85b634596024d10b0c355320c62c9e2e1370c88e113bb18c93a36c1bd8fb77ac925c224e050eeb7cc10c347b6b44bdac739207906e - -COUNT=3 -L = 512 -KI = 49c643053d29481c6f2e29f18da38b85 -IVlen = 128 -IV = ab3d75acc1c7c4cee8e38664c60bebf5 -FixedInputDataByteLen = 51 -FixedInputData = 743571ef4ededbcfc875fc07cce6a37ffcfb4d721f4c704c5642a0c5c1e03d572674531c3e20221d9e50184d0c34fe04e36bf2 -KO = a834348a858d11b78b46f4e33a43567c97f927bc4ff6d7e03b5acbec71489cec7876e2f76981c2156723c0a3fa24c1d5bfd50e2a05f00a36b8b8b478406eafb3 - -COUNT=4 -L = 512 -KI = 6c8972d39524163a112b79ed660344f9 -IVlen = 128 -IV = c3968671a12731dd4db7ef8442c20448 -FixedInputDataByteLen = 51 -FixedInputData = 9c50a8961acbc2450bacaac39241ce420d78e0fcc1d577cff9ab9753b1c1fb8a899fc946787796f493d17a247443e105d5f3f6 -KO = 62fa8286f673d48fa291d85e35ee7cd85abfaf5bfe3dc50ec834ddd4a6b61e5ca79e3ac01b3fda9cff18a1833331b32518f869cf9399aa9b62430dcddba68b35 - -COUNT=5 -L = 512 -KI = 5034af68811e5294b1895b210da18aa5 -IVlen = 128 -IV = 4141e26d82926c8b4ada55ce55ecb51d -FixedInputDataByteLen = 51 -FixedInputData = 9089f1a05ba1d4e9a5debeaec2ce0f987fbda6a1bcbcfa6b5537213cb69af181be5dcfeb163876490d17edff0c5620dc39b0ca -KO = 271660d3c6abe8445b6e30dccf7df4e1f701091bccf37961bfe821ab37bf77eceae06f7bf1b656eb677e3817e3aa5bc9d904f025d14d31f7f800d6462dec7605 - -COUNT=6 -L = 512 -KI = e4b0f9c2458bdfe259c03c32883df904 -IVlen = 128 -IV = b308f6408bc44401528365cb39c5630d -FixedInputDataByteLen = 51 -FixedInputData = 193d61d6430361f6104b3932d738b2a27c09ea436f02747812c480f4fe3695dcc31b689c76cbdc43f00556ecdab0b5b6001b08 -KO = 7a671bb5bdc152463e5d0ae2f93df5e1bc358e65a89015ea8b63fc13df6564eaf67ec5f941a90b16c40ada80e7d850fddd3fe7438a7deccb27caca654f52ef87 - -COUNT=7 -L = 512 -KI = 111a20d2d9738845c0b1e28ec759ae73 -IVlen = 128 -IV = 19bef9cbb024270062cf8d6c99f36959 -FixedInputDataByteLen = 51 -FixedInputData = 399f8eff3eee5f8e0649ba9253862cc2cda39b1d87bcf2d6e5d8b2c97327595ecba6057f70d53bab5f685fb14137bb3cc0684d -KO = 6152a5760826317214158bec1720affbe782dd73f7a5ae6154e716fd9e83f155484e540612d04ff81c01c5a340ebba0f397762b40d58e09186e06c0ea26d13c7 - -COUNT=8 -L = 512 -KI = 39132c0887c2ebe93cac92d6c0d9f2fe -IVlen = 128 -IV = 26b5e2318aacabf0d4d015ab83f4245b -FixedInputDataByteLen = 51 -FixedInputData = 2cee35f3339f074687a02b1d5a8042b85c6c3c79775958eace4dda92cd2de4342298565826d4961d232f4dc778df57fcdf9c7a -KO = f86771db0e2414b2d65ec2aeb3e945be134b71ba15d9a270b9a0ad6831e479a0efdbd0dc7af085e0fd3a589ad9f424af955c5e7d0d30ca45d4812867e5f00eb7 - -COUNT=9 -L = 512 -KI = b4f68362f6b6a545c69a043aeb27ca37 -IVlen = 128 -IV = 7a0ea9abbc8d6ba334fe2f79febf0e25 -FixedInputDataByteLen = 51 -FixedInputData = 1f9a6db6bf4cd202037432510628aaa1714c54737053c732f60fb757b736d255efaf827c8ee2d3d5c6b0ac410eb48402b84d26 -KO = b0378c1ba3271c30c022e73b003ec0cd4ffb535aa97ebc3eb1d6139ab31dcc3ba78bfa16f558fbbaa90f30ff44c85cb5a282bdb73c11ede75b0bef565b290014 - -COUNT=10 -L = 2048 -KI = 3e0773c22f545a182294f368944d64f0 -IVlen = 128 -IV = bea994a89ab3d26705ac96b258530e83 -FixedInputDataByteLen = 51 -FixedInputData = ff5327545ba4964583c534b745290dc26a43d6c5c0e0af53f99bd7d1ccf20dae0365c26deb7e0592f59a8457c60f2a9879126e -KO = 427bce1cd958d35ab1f2cb2f95b5dc6616a6cb2fa43781db92407b83d804719e7c2a79796d7dae85028d92f3e65358b3b790ec0563c0b287b3bae26f273fa81f63708ddc688ffeb0a46b28ddc11aedebb827f56748be7f2d15e3daea9ecd3f9e2c1f6e0ed405657b8c0dbe18058a830eacc56962013a06f354c95a81c7c4c09aefc8b4ac54a38c27e9778d1c8f7e264b2736bf87f03c712f7e630f1a8949e0bfd8d4ef1aa715d32ef46153975b24c79fbcfb403eea8dd1ac063fe790b01bd1c6dc8440142eea40f5ebf0db6e86c4792cc1f7470cb1cec822f0a76ba9412b7e4936e85b7615540132bcb2d55b287cf42ffe4d7eb35ea55e5f8f196063938ed669 - -COUNT=11 -L = 2048 -KI = a8b51496d1b4ebf7cef9f8a596e3cd36 -IVlen = 128 -IV = b84bee57ffce45a2dfd312ba538b7a0b -FixedInputDataByteLen = 51 -FixedInputData = b5ee3c32c1d70e11106ad3ea1f2ae0bd03ae8d6837a2d8ffbd97591f0a980b9fbb227d5b32effac8e0085c37225897289b5b1a -KO = 51910418bf9a4fba85a59a862a1e28c6a06e1c7c199420cc2fb1a10d900b7feb2905226b189a73fcf88fb1582ca53f14fbaefab5322647be9f3d53ae162c9510d401950741e61e4a8d7467451bf2a0ddc47babb1e3a1b4d6975afbfd077b98d58f07a4591068c0dd79760014c2d0f77fbab264edc1a2272d92cc4f080b7b77911eb03b1daf025f84ee147c1b0b5d5817e472ec92ab6135728a70623c536e143853d67861f0a21d68d9669e6cf954a554220696fbf30d1b76fbf1b35395304e759f815a11ab1d20210038ae4f9e44c478fcf3f3c6193ebb7bcb2b6903de1f01f8e3a7a26087ca8c9891c7f06cafc3ab1cf1a63b0e1abf23999c011dbf8bb70834 - -COUNT=12 -L = 2048 -KI = bbb4f7ab6f61d90848d3f79c5baab564 -IVlen = 128 -IV = 53414f3884c3587a81e629d75aca756d -FixedInputDataByteLen = 51 -FixedInputData = 126cc9334a3073824250d41d96053a3b72116a7539f18a49a1f771669f6fa26747b3eeb33c231fec17240f3993e9634219cdd7 -KO = dbd374342978ecc4db1cfd8ab87427bcc3bd25e2464566d8f985aa8e84405a4eff0ccec4ba1faa3849eaf058a075cdbfe94a3a5116f6b148e2c164a36d6cd2ef8775abb6c24e6f3c4fea901ca88c647bf969f64d001f09068e03faacedb6a359d0873244aeea537139ed5cbd0607084238402d9898dce9455ccd34ccc0ed963e65a1e12816a31ed502f5518a2a59b8693822b1d7bd26c2a5819925c13b30300fde514a41c4a55a9ab79b57b5997180af25eedd2f50122fa839593b673591c85f1f0344e305e4b40498e4ec716514a2380aec0a4ee6ca5da2e6a87ad51942d32abce4c944381143e19b5015daa6491cdd5995f2cdef93ee1b7db6990053613f0a - -COUNT=13 -L = 2048 -KI = 92aa1b08229d4f6b16f0907910a98d3c -IVlen = 128 -IV = 38e117928870701b77fad603c45e2641 -FixedInputDataByteLen = 51 -FixedInputData = ea10d16519aafdc514cf8b01b3dff41fa14cc4eb51271053cf0c05a2ebdeb5e18fa474308cf96c77131ba619f27134e307a096 -KO = 072eeee05b8354ddac9a3d3ea9a436dc3960c3ac47930790b7266d30ebb600277e27711058b31caef56e501ad598b653442caa2f45aa4560b91339666a414114f0a3663cdaaa2a4c0e8abbfd02293d558e986e1afd7aa9f9f33acbcef27210141373db2b2e77317aa49aa5efcb2fe071c8f721ad7583d1395a66a2a23be91df6e43229f1ff203968446d7c9b618f19b8d68944d188a47b203778ebb481b477f80bda57a8d906e249ff27c1ff373b9cdc0233a2c1dc4e936974f69f2e0d27de729e138777c61dcd0e3021cb183a6945ddc0b9252f5260bc78110b55d5d1b08024d4eb3cb3a0b865328b0f04be447273a8743e29f625ab826c6771d29a1bf5296c - -COUNT=14 -L = 2048 -KI = 07566d908f6aa3628f3a0990856dab49 -IVlen = 128 -IV = 2388d8226b36b69e6ac4e35bc63c2339 -FixedInputDataByteLen = 51 -FixedInputData = 50a546e7d6160839f774e17f2769aa41674e151388211b0910f7d5a4e7d53195a749e99ef9e7f569d1e0e805f46f30a1c26aef -KO = 106c80eff313f5ce666d37a66685a513d1559c6a5954b5c464de4270f221c07cb2af0bde96ae68e1f36eaecd3bd4ed7d575304956b15d0be558b61f1a1906cc616ae5d10268c1151ade08ac439f6fdde58bafe388affb387a2188512fa92f4653fc129670a30f53b115c60c10cc1b64cff810e8668109299fac6bbee2bb097ebb555a66c3fa6c82759fdcaecc433e7b1a25da1af80819103949bda896ad5e9614d0fd7b6d6901b431d792f1f227b1632fbf003afc47e755a3a5b7337de515ae6b3cf69f97481caf6cd84829fb9e48018f2f46b43d38f6a99a90523939e3991f699ee0ca1831eefc032ac953862cfcabd73b178ededa210908bdf36b5a996350b - -COUNT=15 -L = 2048 -KI = 6352eaa75cea4bf023af06b5d5a2d410 -IVlen = 128 -IV = adc21dd84adf17a4b9bbc1c5b433ba96 -FixedInputDataByteLen = 51 -FixedInputData = a4a45f9b3cdbdadce409c9fbf5d13cd1f2713f1fc617b5f0627bba9d1628d6c0816a2d96f33812716cea83ea316ad50525fd6c -KO = d3db23a43748939c93612beeab0f82e713fe0a52cee93291a1091924eef36507c9419e21889f52254f94fec9bdd11a0bcd98fc548460a571c629efa23069147ae175c5ad4f232b222046c7549d7ffa8d8c613cacfb9c43c1b5cb64e30d87827a9c9210673107a1dbc2cdea3ff649be55f5fa72b581fdebbf530e3cde2b28670297eee57ebe6ddc005cb33225966d5f98182330e3644736eed57e1e75e23f8cfd9fc5bb7a786a96fdd6cac137cce85e7ae6cb797617ea746d694fdccd13d026e8e19188b0551ce5efbcd42498c7528342b8021fbd5cdc04d4373388035ae4568e0a1bc765c25c0eb6fb3bdeff33c5526f009f2932e9fe1b0f5cb0215c9081d676 - -COUNT=16 -L = 2048 -KI = 4e4ddf7000edc791c33f24aa22d0e762 -IVlen = 128 -IV = 8f703fefd54f931756e894a8155b03df -FixedInputDataByteLen = 51 -FixedInputData = 9cd481a4b03e8d1991ef92853a6c85d2a3eb4dd16618bda37b458887b78d6efa3b010b7c8b6e4886c7981e10ae26c7e7b5488a -KO = b8e974b964b7702fd9c35e12b7c14e03967aca90f42698c6d75715cfce762a93b642eff28b66ce3daffff8fdfe3d65e8a8539ccd69b0507ed30a529371b1d00b08704f0a26eb056a9209ea5979c7ec984fd35b3ffea72ad74705b5942d6e5d47b533668c2ed5bc918430cc13b341b05499fe0e6cd2fad4a28eb3ccc3d92aa2548cae6caa4c117c6f1d11db29dab0f6dd3744e765848339d493c6849075a7bd37cb091e1ac71cd9401f78a7b8114e52a87dc1abec0823544e4631570c0422fd96123fe2751ecceb434624c325faa83de38f3abf1a76774a73dfce8d3536e261d25a9cda48fb3947568372f18ab76dbc4d4f6ac0ad2236adb8c04fc9eb1fc047f8 - -COUNT=17 -L = 2048 -KI = 8011b98f1cc29f47996c4297d3b11c19 -IVlen = 128 -IV = d17c1681a86af665a068ed79db11d9c7 -FixedInputDataByteLen = 51 -FixedInputData = a960594e3528f4768e7e6450029a5da7d78f0910eba6312dea62c07819cbcaa5663303e7d22e7834ecdfc78cafba884e0d916c -KO = 67185e7002c17c33f28b1c789010d43d5f7e9306c4f68dc1ac79ce457ab0f3f2e67e2b061561f57c30e09b60abf31b5c6dfaad7937606e715d3dd30749d64f58ceb8afffb1070584a582021ecbbe7c076cc2060f4e3b04b7e1d5c57d317375225aea3ef881f5734e4fe737d914873cf1e4f2f508c9c4e47da4a78c2ec9f4d79d0a5d3d2dc73f5b5beb73605c81e44fab4570a7f6415de6048a935c7bdb8ab21fb805bf9180284b0d4849f0e50162e03949fd85702c0a7c6e13d7953e31e0a767fbb437f633fbbbd8500f829c5e280170f347d049733e1e52f220c0a635deb133940e2c0cf41c0b96cdb22da4afcc807aa69799b6058b0c88e0f5cda06f448129 - -COUNT=18 -L = 2048 -KI = 30188fdb6e36b1939e29c3903cc4eb70 -IVlen = 128 -IV = 057fd9bb58e07cfc95e47d260065bdea -FixedInputDataByteLen = 51 -FixedInputData = 5e2938ba60b2e38dfc50d201eff75ae1fe1b602334f945ba5331eec87efb2760a32f982256025a3a24a0a181b924b1b93e80f2 -KO = 9a7accbb764d4ce6bb77ddf3da3c47c8814e91b63f6e04ce746813e9257038e6fd97f8bbf1b59753e489c128b96f32a446ed3dd4b06f80d9fb6928d3e6bee6d788772752217cb68d3631a5e3ff5a9c9f3559622f86273d4ed817875164de2734689be7c6aa8a8cf9284713e5a1ee1ee727f069987213a11c430474a7135ad4c0686d38f963848aaf23853d449c5e3a1a9b9cc25ff5a686830f75bf327676bd62825c1e24e14840ec4d909acfbd72d702aede1e8546a333a0a8229276af4e44561e811de9b69b225b173002dcba9476ce80c5530a50eefa2d6474090f1f0a6aba428fd9e4d520504b931b344bd1f9f0240eb9b263bf846cd8754fbbce3763a516 - -COUNT=19 -L = 2048 -KI = 3ed09eebe80bb2ac066411f50c57089c -IVlen = 128 -IV = e39cd31776422626718b272418cc675e -FixedInputDataByteLen = 51 -FixedInputData = 8fd11d9bb49aea40bc248a563eefc4050e3daef48717b38ff45fed1907be41891eff99d0df00f7fb0f01d836395b44abef3d64 -KO = 284760c9dadaddbaec46d73e5d05e9e3536910031e5a98911aa1ca409c65e512c579b8288af11563822a17a19621724e32accf40d83c803540f05660bc6f252f37b28dc78dfb150fffb08af1348b8c51c0b267a3e9087accdac639bf3d1d9366c58d29c2aec41b2c1c3bc7b0e8e20375a449dbdff180a64c62d97057412a09f607a9450cf049b581755d7c36e864517c8f7fd707d4c440986285cdc1778a9305d09a7050d0364aa7833b5bf889792505f2967bd9e5e76f0c53145213ea13000a71a51ef42fbdf14b587a6bcd6d86760c4bb320c6af403da41f351027c890db9ef7f20207e06b1f1807839c9b136d99677099148a4156018cefac9de520875a17 - -COUNT=20 -L = 560 -KI = 0fb5efd9aec0046dfe8094cade09941b -IVlen = 128 -IV = 20f3c8844652a3f4811e00a1f79b851e -FixedInputDataByteLen = 51 -FixedInputData = 30c7e7eb8f9b198534f1ec31b19a46fa72310ef3f14b8d97ec5f334bfb574c76e6342e77d05a48b5f0c55531a5cc7cc8fc2123 -KO = 2a111e871a477b4dc7e520eca5689e06b647186588ce8696e52589f2da9613dc5f3920ea4d9f02f382fd13f8413683b00c415bbe50d9d03aaaf542727b84cee9d60f8c6fd4f9 - -COUNT=21 -L = 560 -KI = 2d036b73cf08b4a44bc4ad30962b0899 -IVlen = 128 -IV = c201d38ca7fd666b5ecf55345ff3ba8c -FixedInputDataByteLen = 51 -FixedInputData = 708322191de90847040c98863fa31a6fb93f003108101bb8b14f9308c0c7de038126f68cdf20df23668dd0149e67ff60dfd5d0 -KO = 0a584ad54a265a56b7410f3565c02db2115f6be0eacf70716c1913855e75bccb71d31c545641307bc707d3f7917e1e42d16fff16168331d058896ff36418e0e1c17ab83333ab - -COUNT=22 -L = 560 -KI = dd1097aa73d74afe13f5d71bd312417c -IVlen = 128 -IV = d2c1e0e53a4583a7f3f08fe79291a5fc -FixedInputDataByteLen = 51 -FixedInputData = 92a6699277a223b6202a324a4998cb0ce7b01ff26d0ff09cbfe09c210c501dda34808e53d6faf04076b95cffb3c0fd585a0600 -KO = d34043e55dc5de07f2ae27eb1276b2baa3fce65ae80b8b4a6fe324737ce138dbe5611f8ffbb2a9e886093ad19a816708f812a96d89a5ea6d3586ae5448879a691cbcc631ecfb - -COUNT=23 -L = 560 -KI = 8ae39346cb224c1b516d05513aa2efb9 -IVlen = 128 -IV = 8cc975befc198834373669ebaa375458 -FixedInputDataByteLen = 51 -FixedInputData = ef8a91242925966d6aab4ac2c4680c44cd21a48fec561b7e4b58dff1b66494977a0a6c9d3106b45e6522f37af4c83e2148e38d -KO = 8a56c4014812ff31f60864da0c5c8e0123ebb67bc18e78876f845ae8ccd5660ec921246f0396591496b8d0e6694358f4df0e212d75cd9fed41f4fae39ae1630684bdbe5059a4 - -COUNT=24 -L = 560 -KI = 68985464b6fbf0e2b41e7bcab4d2d798 -IVlen = 128 -IV = 1c76666c30e5621bd4a42b038a3e7021 -FixedInputDataByteLen = 51 -FixedInputData = f1cea438ce181e1883f1183df52b97e12bcf2a0b8dc97ab7e96131a6c560b04ba72514796f42c372f483301623cca5c2285abc -KO = b36913a02144d14b0f38d7384b8ed449d67c1f9237d3940c9d4631f6c18a5462d140ece438228cac286641af465bf98b4c82670cea66c63dd23b21a1ce569c8e2b4e768a4811 - -COUNT=25 -L = 560 -KI = b1986be07d5514824c89808fba678f50 -IVlen = 128 -IV = 102ced4c90fe9371fbd9d9dd8368c740 -FixedInputDataByteLen = 51 -FixedInputData = 97e45e5b8e8b2969b0079be8e34745c9b67f07cb3b9091477b7a672c1b152db5411c865a2f048d037e8cb819d12cd31ba50d4f -KO = e64347f498bfbe0fbfeb264c29f627ad6a73b31d682a2586a1cbe04d3428ecb72a8d6361154bc1fc513a2e333c5b43d7e98e8c15476f724a4abe021538a58daae2660c221f15 - -COUNT=26 -L = 560 -KI = fc5aa6674efce8eac7d10735626d5d5c -IVlen = 128 -IV = e216383db8bc191d0673d6485d673274 -FixedInputDataByteLen = 51 -FixedInputData = 07b95958fed57b5df47ebfbf19344b058434c31fb3dd07fc1653827dce0d37b894b7f255dcae351ded85c41215c041d84d589d -KO = 153bd95bad4ff1c03d26ab98bc40d7643b429542d2a982fe96f76e187247a4fb77c4ff1170138eae32ec089f0c3b0a80cac8449690a7a4a3724332e2c4f6cf6e45c6f3e0d173 - -COUNT=27 -L = 560 -KI = a11da2a2f5c0fdc7c30e25e2150deaa3 -IVlen = 128 -IV = 0fb99521d003bcaef953486a5fd4cc00 -FixedInputDataByteLen = 51 -FixedInputData = 045547ac0b1b18ba504726ab6dbf53c054389e5458b95df6a48f185b06c42ef8e3b32e614434a04a33c0697394c80623f0123d -KO = b09034233d8380be2bab558a54226961b591083aa5b795f2dfda811cd264ac9fbd1bc4a83e4436fa0017683372bebd19ecfca06ecd8ca34f1a3579f30484cd0c428f4c45af11 - -COUNT=28 -L = 560 -KI = 29bc31108b5a205ffbec678c708fa6de -IVlen = 128 -IV = c9ca6c8f4332a824e84bb9a1e0f45d80 -FixedInputDataByteLen = 51 -FixedInputData = 1857968acad5115dc400204d7c52189d203c2bac57ee84c351ce829baef0f82312746508652d922dc4d175e599a97b606b817c -KO = 3eb358a034ade3bfa5eea76fbf1c6fee9473322c9ad378974b48d1c4256eff628974221522e337819c4d4fddad51289ee1c628cf1e4abe6c7cf2433759e53fc65f6117bfeb08 - -COUNT=29 -L = 560 -KI = 9f893e5926ec396aab0afd019f81ea6d -IVlen = 128 -IV = 5dad4814fc98580ec657947878976659 -FixedInputDataByteLen = 51 -FixedInputData = f6ebfac38b2d1d475fc92fe824a50a7e37721c6c07ab1d0e61cdc66afcbd8579eb00ca437de7cedadc83c095f5b3b381acc726 -KO = 3efb426e6f43351b15ca6f7febcc122e82d69a497be963b2f34623f4e8531fecf48e6c5599375abdbe823f52e50f1665eb1e14fbc434e0c904801d8190d17748d3af6bcdfb2f - -COUNT=30 -L = 2400 -KI = 8274b7e89ebaba0703c34851e017b862 -IVlen = 128 -IV = 37c42c2b9725026a8ba0935af9a3f037 -FixedInputDataByteLen = 51 -FixedInputData = 8cef2711a93cd8f6b3799b6b20e3057407a9f04766aa8148c7649eb33cc6c50d02ce024db059d74cf2d5e49401bf2a8abda7a5 -KO = 0efc22fcf09efbc93e2a34dbac8f070d86172361f53c6f4bd3e669f120148999d9014cc9ac724b3dce982e4aa77917d14ec93315fb7cac8dc21139e6c57f95eeb6ceac8d5c972e52c33fd135c38c5c254fb00aa5ad99784728cd4c2c33ea995eb358635fc334c2e83f53894d454c553e798d5e463668df76d271049f73f0cec6f9dd6bb04c73b6078bfa806126f2964ca0bb4e6c4b032ce1c342a1f94d7bb3b82ffd85d1343955baf44d36b692a9cc5d4637200838d2a284b44a290c2d34841d78c55956eb1a4754523a0a57fd9884cde1c847a5642d92629c1998808718bc022459d3f6ef77d94dc79807d491cc236bd157f750367e9b9d98bdfb0b023b8afd93448416d3f5ff365be9eff0a486d70d4bfbb311e03ae4fed41275c55480698e9e1b335abed922302603a320 - -COUNT=31 -L = 2400 -KI = a5aad4029a1b0aa6e11ce2c4b509587c -IVlen = 128 -IV = 281b7967bac4669d9c3b08cdf8e46adc -FixedInputDataByteLen = 51 -FixedInputData = b99eb301aeed21613bf919f22f9868581b3219c9339dd37457d85992977bc52d2b44af67cf6395e5d7ed453e080d8730637479 -KO = 0c3fef65db16ccc6926465c30c39b037bb2932065b08627897370e1a7570e3f101dd9cb57f59fe1410401f8e1ddc86e791f66f7ef099062a2f6d5fc7ce355ec38b32d280300827a12928fc919eb3135123fcea023121545467ec57007fff73bc23c2dc3f26adc02acb414464268049fabac4a2ef0b11e9cd99e3187c1ab7120b9480fd764449b4fcacf2c6f8eaca6c3032f7893e80d46ed21ef43f32dac55d04b23673e0c12e900d6a2e489f8fa78ad4087738a903ff67990c44b10569a88b8ee9035c49fec6fd84eb28bdb6b593c0c0a439f0195db9d34ea118704b6d4075ca381d4f30c306c29e8bb4804d8cd18787c75356a44c846984f804e65304b91b09524445f944c6438d8164cf68b26d00b5570fe770030167211710fc9123097249b5ce05b2930621db15bfd76a - -COUNT=32 -L = 2400 -KI = ba5d6b5950f85555dceaafe6b8b04a60 -IVlen = 128 -IV = 55fd9998185dd5e7ca55e2baa0ac5a0b -FixedInputDataByteLen = 51 -FixedInputData = ff0706c5c8b30b975c32abf538ace1f0148fa04781127c9ffa7788b86544b9b60d70eb1fd2f06f812dc959555e1b27cb7b3432 -KO = 58394c3354bff747c88d9fc16a92cff959bc3c40ff7445eb02456bfe35552572451ec955f315c1f4a417cb99f4d9733d7315f0e1fc695f0fa8b3b4ebefe883cdf5792f2ca12f86e9e7ae67e8e07fac70e5dbec9db7d0dd905b386268c8f14a922f79b203ead3edc249024a4c8ab54d4997a0243529da23bd27cc2a7609f75275d932e63ae41aabe4290c0ec37d6d183c1945cd25071e8f290fad54475ddf7288dbcb7c7b1285f654fb13864cbc6a445a5b035594d1af5591e4bbc7c4a3f714d9b5ac011918016d8614c6b6341fc6ff96230400a92937a8ddc169c071d0e08529c83d0a58769d6454f813fc9fb26adeddde141f98e1eac0a31153310fbeba330b2c7ceb7cbfb916f626754021270254da2e296a9cf81658046f946c6b338e49fd4d886c172d912ae04e0a2b01 - -COUNT=33 -L = 2400 -KI = 94977d21712352463c86e516db5c45bd -IVlen = 128 -IV = 7e9b7254c16fdeb9db6c97e425320792 -FixedInputDataByteLen = 51 -FixedInputData = 4f4048e508e7713639ca035407a59b5d46d1023448fdba3189ab0627dbfb4dca25de425b397ef0ec984cdc2aac86193a3e5c22 -KO = 8eae4d71e815546cb69f7427e54807b6c8ebdb6615326e23238b8884f11e6fde9fd84a2d477f851dcdfd65551af1f41da2135f753168875ceb1c8ae513b46b99ac194c5b7bf4ff5d1c978afcf8ee3bd0c860cee08e715f80215abbcf2ce9d9aa54fc032dd248d3773c9f293b1249e3b6ecec3894f1024ba47ed732d8399058a15ab209cd164379f117d5a906c69ddc6eef27db17d56e6facab0e07d7ead95251396729740159eecf031fdcc462463c3c413ab8e5adfcd565de11ea6d52901a38ab0c7a7167628c7f5709dc8b9f285d331f950f722146d0ba42d741c708b7e4141b1154723d48b9128777200eb89bbce6602fd59d75a970955cd34b7bc3bdaf96e324138d8b822a0ad36b966c24331afb66acf8fed9204c6721a732c96b80568d3e4b947089d207e9db1f8013 - -COUNT=34 -L = 2400 -KI = 23f530681446f1104f0a4848382735ef -IVlen = 128 -IV = 81554e058d2b6bf3b402eeebd79efe0d -FixedInputDataByteLen = 51 -FixedInputData = 27dbd4bf7eed507a7ab3920288e143b5b5c34b530043dfcb32c17a2339dddf2a08d45f02dcdc4c978d948a8519736a157c7e48 -KO = 8ee5fada3c32c234d2a783e12464a139d37edd84eb241fc90e3908c71e3da83e7b3c4a18ef1e3498798a90da1cc11367f880ba8a8c6101a2a0ca3bd53f9bdd98c7e9a664500918e9d7da0dd96fe808a8eb3ba5ff3f0ac5259f1a6dc9c25c2af2f0ae1f5bb78695541e0a6724875caf9833d02f91c338745bb2c8802d4f21ac0ecc774a23f942ed49fb4fb750dd968839cf163ccffba27bdbaa0344d03dec2692a84ccaf9d1968bc546480119f35bb2fba589579925fbd3adaae3f1e55055c962e3ca9b54b4f0bd6d54eae213341fd6001ad104f045e1937c201745af78e6d4ec0acf1170eea1522f6a8b92756be91d49f66ad0b6a0fecf689a8b750b718dd2a6e21cd64636bc71ad30b9f23613ed690e4e9592515915a5d7964be963bf40e6cf17c9cf428f1568ac76f599ce - -COUNT=35 -L = 2400 -KI = a5ed26c22ae41b4ff6c599e67265f14f -IVlen = 128 -IV = 3566e4579f4c40a9c32c916c1268b3d0 -FixedInputDataByteLen = 51 -FixedInputData = a497dbf99c5fb389dd7c1178e8ea7a5714df59a43fc1f147d80bf7a9a811be945dfeacca84ebec14c2034fa7d3ce670c0d85d8 -KO = f0bed729009e5776dc2127ee7877d70421a96d8b04ce6ed54ed3b41a5ea08466ad2519db33ce4d85481c8b36a896a915072e3e508504e45210090cbbfc1006d5414b20eab20ff58ace2a4505c79024f6647f1ea5de5d989de3a8605cb6bf2fe599cd2ea0a3ae6455ddfcfee57a334d3c60cfa217efdda5fd9eccbc444ab3d8e29c9d79dd37232933791e9b6da91498b3544ff5d88c8ecd3e95a486df20716fdffcded8a9cab46a12e2c73532abfa1f5badd2325572cb3b900359193d24cb6b86af616d9835ca52587181742cafd6d1c19062fcebbc00129b5f89d6551faf8ca3027ed29c3eb8aae57f3ce22a18d401d437d264a24a7a17bdd6a44d149eaa87265f42ebe5db6ff8284615cfd4f679a8f94ad784624e7b08817a5a82b32e8d49b018474cca5fb39560a45c50d7 - -COUNT=36 -L = 2400 -KI = 4d0fc2285d91e5fe58459cfe5df99fe0 -IVlen = 128 -IV = f7c060c3f2bdbb88a9afe323818c88fe -FixedInputDataByteLen = 51 -FixedInputData = 05d561664ba51f657569ba283c5670715c1821d678eca86e6bc207311e050e359ebf5413b5e4465f4c852d32a1a37480e06af8 -KO = a6ce9fc37369385434afa6ff5b6713c93fddc7fdd315dc3fc65344659f51449afacae1e356d57f2bb24efcb13a5cfd27d1a260d724b3b0c536f63f4ef868a1c1d739f5f6e8b6f68b10e0ee784a832f5d017c43a69322962ef96472df37cf0650f3473bd2a6c3df385069cb472db4b8eef2a8f2c1da7df3c2c34c1835fd0ea7a876b64a6b0c0f3ecf643a4d2335b7968d4cc966b51c84373390662c7b903eb4226ebefb26b6e77bc11c283b5c0cec56864951ea0befeed76c14838fc001df22f4f8cf9c56c5958daa402cb3bf92a70d745af731775d09de8d7331de915e65683fee0578e3cf0799fa1de92bbeb38aa859dd6728191679a7fa177d6f0fae421bec0c92910cdcc05fb2d14e708258d6ca57877470f7edd885bd2c362d381a54a89c10c8446dfe7684904ae85e36 - -COUNT=37 -L = 2400 -KI = af50ac850a1e557d524f35a56d839dab -IVlen = 128 -IV = e89f7c26c5cf69368010d2ee8adbf038 -FixedInputDataByteLen = 51 -FixedInputData = 602d874a6c24afad031b21e9fce1913219274dd1b9bdb32e6bafd48e074716aedcc3c76d08d239346ce07df90998b999e68b51 -KO = 3f6c823802976f50a20f918c8f85eba4c31d3a2aeb8f3b2c2953574ee56634fc62c9ff389a23f3e76981f9cbd6f2bb294bcd5962e1b5cd2482c91c1e7383ea15f48b57f33110ee32ec22f5579d5f71c7a09cf0309e0bb79d84ac899195e39a9283f32791162d1bfac3f9a6f2ac14df9eeaea7b6f5da9623627aac0731d24346279dad9a76b2a521e8012affe5ffaae580f89509b8d2fe2ad0288d1ebe1ae967178a6fef00649310603d203dd85dcfcf2c8b05142c37baae110980654ef2e8bc5accc222a1f44d38690d44c9cdf6d396b3e2eb8acf7f72a08fc72473d3329ba03ed98fb2cb2bdf7643d4e97a651be8264c5460680a3886ff18da659520fb6e8d45138d129a732677bbd3d8d406eb775dbd9b2033f7fd391cb3a6984b036ed00093b24d7eb386bb8ba6c9b40f1 - -COUNT=38 -L = 2400 -KI = d812d31b61ba20bb49560af403235f2e -IVlen = 128 -IV = cbe6ce41f9fa9eee1481ad64f08fa170 -FixedInputDataByteLen = 51 -FixedInputData = b0af12d246b3123fc552aefc1f8f0cab019f8e52b4f980a9b6f0e85e7aaa2bcebdeaf9fc1f77f0e50e6638e325e1c9173a7e4a -KO = d555a74b45ca3b29b7e1cfe63e17a8152ff693e0bd4914f19e5f98848840059ac5e9a884646bd92cf9a1a742d16a79298c5489ebb8d99c74d06945c0e43419bd76dbce7103f691551250fbf478dac95f9d670c07be1997b02bfbd5a94fcd0cbaa942b2d5e9f70112843e81a169600d55cffa518a239fd72cff47554b5069103d22e72ed95515ca178ea303060ad90dd710bd4a90a1fb3abba3bb95c9c6e5003d3a931682201a6dc92424cdbe8afdf70b8204f14a1688ad07e82cae0d20cb1d6184261dea12e7eb7e562fae51e85ec0d0da8ab12202f5e95a3b6cbbc9fdd15fa4a05f2f32273a4da60b7e8b8b8fb71d741cd4e4e39b4dd96101eab4323c0f213596e880ae34a83b13677fa3f09e65007231b85c43068d4acca9cb5ab5bc45b6b310c7d80e9e59f00d91c66f42 - -COUNT=39 -L = 2400 -KI = 4a2844a53586af255ee94ac7d98b8163 -IVlen = 128 -IV = fc64ea5cc35f7f8850a94c5865cfbe71 -FixedInputDataByteLen = 51 -FixedInputData = 931757a396ba7a78f733e1df058ea8bc8e789c3c1bec2a6fe59a5c2721f63af8690a316563908532d0045b5a7ec79f14718d6d -KO = e8a8ac94211e69d3521211cd9833f94da9f81591c1bd7d5e784123ef90519e12763317e417f1619ef3e3d6c1039a772a6d9c675716caa0fd4670a5a0048b24a2bc9015faee7c8346e569c8754169d9bd7ff3723edf7022ffbd9ba589c17f0970d53c3b278bdba7bf37a8706c6195bd1e9dca0f0c43cb982f0a4cbcd373088b31c865506f0ac9301cfeb43faab4c5dd7c7d276332e65865cbfe15702cc27706895dd7058ca500fcd5b345db44a0fe00ba29e9146f41be7428d667a4baf53401806ff55a08c6b2f2f3bddaf9f08cbd215c1c52c83d142826b68a0d512a84d96ac6bc1621ac7c8af2c7bd2536ba1e1bf91dc557f2c011b48942de543c44fd036a9a68654af9b7b9c67e9d95599368f18f739a3c10369d136d63101038cb84e036e10b6f301c2516d5f4ca9305a0 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = b7104865506b0c6f3f70b5ede0ff47d7d8cec1e1c3feacaf -IVlen = 128 -IV = 0ba9751a41d79777cf8442b15be43797 -FixedInputDataByteLen = 51 -FixedInputData = 15c8f80131774feb04de5f0479945ba8ea1f0709343a960d13a2ff4cc2786c542d0daab9b0742eb236dc8b9673dc3119741b32 -KO = ccc90c8611986591a78d4c472dd0cf62c353af026414a007b4f0032ec448cb42631ff325cfc30bdfae007cfc9ce68318a90aa2b3e4f519147b44b5e06571d81d - -COUNT=1 -L = 512 -KI = 9fd74d4d4219c1c449ca973bcda76836337f2690026a94e6 -IVlen = 128 -IV = 270029fec2c5ce3189b3e9366bc6603f -FixedInputDataByteLen = 51 -FixedInputData = c4a92c8dca82e60970d81c5e49c16c04ff49d55db49cba5355ed279ac3185d657c95a04f7cba2b4639392f42f4641fea0ac274 -KO = ee9e140a2f87b117142cc71143688f706d1f3c23cb3ce1a26fe828732fa1c1338baeb9b94be332356fb217e2c2c49ee41849c6bb4a2cd91fa24fa6528f42ffa9 - -COUNT=2 -L = 512 -KI = a78c4db105b67592aa865126f30e939b66a32392422f1b47 -IVlen = 128 -IV = 3b99ddce0ce9893b6cfb70ee79717142 -FixedInputDataByteLen = 51 -FixedInputData = 3b948e9970bf07d43e0d98bc105762ef84471048cb44abb4d96394c0ab8ebd1aff4bd310b991d51d700c3cee0c4ab775d15fc0 -KO = 7144c1e6153f71b0eccdbcdbea48cd8fa839d526d76d182c631c0a32e5722780044aa76379299ed06332269affd1fa879839b3d13f488e4e96ec1cd69e463013 - -COUNT=3 -L = 512 -KI = 71c1598d1fda9a2febc9cedc388a46871662b99f995865d0 -IVlen = 128 -IV = 5011e50b1155dc2a291b9b63cec35a04 -FixedInputDataByteLen = 51 -FixedInputData = 41e1e1a0e6a1c4bd8d37236ee6be97067f73eaaad57df1af7fe010193094b181ef8b79493f1690b8bcac5cc18243ed3a00d325 -KO = ce10febf5dcdcdfb869cd96dda75f72280a14fde54b339dbcf39b4669b8618233c7dd89de1164b7dfdd2e2070601793ce63350d42a5125af94dbaa6093b81c4e - -COUNT=4 -L = 512 -KI = 58516178c8e5a8d3dfd1680dd98ac647a7127b3a2a7bcf96 -IVlen = 128 -IV = 669c2263c6cc81bd07ce780cbfa84f00 -FixedInputDataByteLen = 51 -FixedInputData = 777cd1c37a7fada1831ef6f8c1957443ae51335a1630fd7079207161956305fdc5192ebd6f03df4e475ba26b05ebb6aae21b10 -KO = b4da0bd56a50297d3c6fc0b9f5b143a7ec4d530b814d0e13cd1a5f2e3c6fe68ce1ad2515e8ea2a479dc3d9b7efd957446d6a39a20538f7ad646f83e9fe5bac79 - -COUNT=5 -L = 512 -KI = 0926f3a3c8b2657fc01597d3df1c73c38c12163d1922cc03 -IVlen = 128 -IV = f9ef371fa8c4459cbf866cbf556ccb76 -FixedInputDataByteLen = 51 -FixedInputData = 6bfecdd7d0324e6fec0373603579ae39ab63ee463da383220528bb477ebc12afaee568a5cd2ccb6d080063005ac07786813e79 -KO = 35fcf8c088efab1afb1d45fd460da5bc8912ff88288a007be3a8baac12877ccad88d83a592019cad16f3b9aad4393b3597f7afb2ee4f7a05e2b1265f67a1c865 - -COUNT=6 -L = 512 -KI = feccfec988c9d96d09966072771fb02a17d3f4afd0dcd8cc -IVlen = 128 -IV = bbabd53c9c53fc990e28cd4e86a12d44 -FixedInputDataByteLen = 51 -FixedInputData = 0a6102d9d8d4da687eeab124bbf6206825dc9c22acb39e45093b2c4a056350a0e3b27ca204f8956cc465cdb247826dda69cc8c -KO = 026c43379c860d9e44013a028ea1d247bddb584f350eec79ccc3bd44b6c9ad67d4d63daf9f69bcfa507a72bd83d4a742fc9c9ac7236d8b8a0096a7f55ab53428 - -COUNT=7 -L = 512 -KI = 6e0d223e1dac6b68d68dd71ba1cc294f424804ae91118a92 -IVlen = 128 -IV = cabba8a78a81c7b0cd5128825b0ab20f -FixedInputDataByteLen = 51 -FixedInputData = 64493a1e41564bdec9fb00028a67536f4745eab55222965b2e87dbb18c85416bbfcbde38a9dc2bc3c610ab3da39847f94d00a9 -KO = df1d6e452290f3c76c9cd41d5c1babae998401591c000ec5d728fee577fe9f4042cb6604d209c2630b128ec415b80a83d79eb2632d523cc03f512c92db5e0ae7 - -COUNT=8 -L = 512 -KI = e89c79668a5ebfb9e54c964e12be9be249fc73420b935ad6 -IVlen = 128 -IV = b5606611553c3c01e54aeb1563e4759e -FixedInputDataByteLen = 51 -FixedInputData = db0ff63cf10d80997af58d37610a95bed0058b897ca007c1287934760e412648e22da5846e85e5996c57fe8f6bb7253f862cf8 -KO = 84b641ecc08170528a200c8baf3bf913bf403cfb02fbceb3732c4317c994a81c74ed34d422b845555f7dcaff84341fdfab271b76080da27418b564ccbc52bd77 - -COUNT=9 -L = 512 -KI = 5bb1e213a0cd9dafa13f11e2c5676b516a499725253904ea -IVlen = 128 -IV = ce4a4f4b55941d23b749796ab4ac773f -FixedInputDataByteLen = 51 -FixedInputData = bb1e8339d0a592000b05cbb093fc6c7b65aeb415315e375aef180e417ddef2f35dcbf43f9c14f9a85867ed091e13ff0795f5d2 -KO = acdaa776b76720b1f19d62ae0f141f6245ff0e5093bfa75899e9c0ff7a786dfde7a2e496ffe423454d0b8fd8b256991485f2dc5af7d237fff9f38e6f8eb440f1 - -COUNT=10 -L = 2048 -KI = b34ee6cb288f6af2721e4c0f0ec9f4664abdb5ff935c816e -IVlen = 128 -IV = 5f6a4c1365decb37d1b1ea27fb923592 -FixedInputDataByteLen = 51 -FixedInputData = dd361740e1813c14624f1d2afac42024ef1d665b856979d8ca148bf8eba71130fa9249b37fda22e6b44de1c4d35ac9ee28a88a -KO = 472c30d8830e48f6e00d2d362ff7555d6fef3b8529df24093b9df9b2298478bf99f7ec91c0449d78eb62cff180bda9bb160a32ac1a1d51d2e384bb3bb4f84487c3430838c7d8fa05f22ac700e76ddb3ba3870acbaf31973b1641b916831af3aab79f3ba010ad6c483f1fe47d38ca127bd7bcf7c10e6013e721ecc7cb8270aa224aa60101da38ce93de59f681a0325754c277f537a89e0b83122789c31c72ec9c9b1be9d874572f6169db85940fefad046a591eeac5a22fe198fc1bdfe5d0f375e0f343e194cc6bb8b454ec46d3916235a7f94a76264327dc10949db9312ff9c7979b1933c77788b201d3fb7d5637c1fad633a92571fc166a2039f0c309c2a3c6 - -COUNT=11 -L = 2048 -KI = 87e440ebc6773016f2d8dff3a59244baf50a06adbec93f31 -IVlen = 128 -IV = 63513f11835eb5d4abe7432ab40194af -FixedInputDataByteLen = 51 -FixedInputData = b7598a45e5891ede2fd78de02029498134e096684adac38ceeb0427e2442c2b3198e76b2e76094eeb004213deb20809e436fce -KO = 72a164b4468104cb254f3fa8560997ae893ab6577080ef1b43ff6d74d1ff54acabb3b3f0624bb7b14d81e715db9e408809e241df990aa4cc597a2be8e1714172d788b40f9a3a69d5adac3c4ddf326d30c92049614c5ab9c2247630b4d1fae56bf83026325763da771a0089fc890989ce3466dc717835c574721d4e107c699466f7571dbc120825da2e1025de91ecdd492704ee6f7b8ada7ba2027f0864e23be62dd5587c831114bc97f6a268bf71b59609f5c52bda6d7dae0dc993ed1bb53793ef8e182547d8f44e340512d3304aa4b8b5920a7c62e938486cf5107af2184d0fccc80922f97035e55f1e44982d0c99e150b77a23e66c05d9f25f5698bfa7d0ac - -COUNT=12 -L = 2048 -KI = f00b81cee4ddec81df6aefe3cfb119f58842ab79effea3d6 -IVlen = 128 -IV = afd10f092a94734583783848c16423ec -FixedInputDataByteLen = 51 -FixedInputData = d37d427d5ca8206567c1d10bc63cc2973b8d397041b28a79cb7c687bbdff668cdb860a4f820a337203ec1b8ca5a75012239211 -KO = b8a423d702b40670f2d62f91e1527d42f634a90aab069585149afd194c2aaca8d45f4607f0da17a2dcd4c85161d7eb1a3fdd9c1d733374e9928e8f0bd84400d1e2c60fd27a2122bb925182a0cbfa0a2a9351f05aaba9cb4171a99303a0edaf7d49097d33098459b2d7826f8ab5f387407f62bb94096a7576418dd64aeae4537018204fe3def37b1e0b81fc804f756d9e206fdfa37152239ab47a16954e54b61401938260452703a00bd29f54522f00e2eb2564b0625a56fe9bbc440cb71038a68c2951fffe33a5c8c635be92ae2cc1a074bd7edf9cfafc3b98ac120dd8ddf4cd746298908012feec746d4923ff09003803a38791b28dc8378f463b9fcceeb5ce - -COUNT=13 -L = 2048 -KI = a66d923cae4238fbea50d2e60cb54f6f0128910f87994f75 -IVlen = 128 -IV = 774c49737309630c44e2a6bd110dba64 -FixedInputDataByteLen = 51 -FixedInputData = 8b7fa93ef8003d1d8b0a038880b43abd39767124205db81981900778e02242076fde896026c5aa471c22f1ad945f82fdedbb2a -KO = a24cb2de564ee720ba027b20ebc95ea2a3336ac1e6d4b8c5d81defc47e6614acd7a2bab410e2c4cc704ac6639478832666dd6044545c5dc457c35de0137794df9efa30e5dd76ea7da2f5f20370e02795f3904fda8216fd823e91318e2f7bdd99b26d74adfd66145f90f0b32297b82a55f9d15565149581a6c91ea2130f8f0b1035d2d2fef5cabda7eb9c6fdee952f5887406371ed9665a2537e95132ee81cc0e35f372f4a73adec00ccd3ae9e4d01ec81a4b7f375735e7b8f6a8642cb9d7ff49c97d1419e01090283b0d280c92657195e373516b66072cfcf7ca95cf0b880a54bd1567855ee527401ddfa22549af1ebb6799537312169affb3c549625fd97303 - -COUNT=14 -L = 2048 -KI = 884c5986abbbd9bcaa2350c078bacce41d7bdab0a0d6feff -IVlen = 128 -IV = 65d878370a8014da8e6c62284fba4e47 -FixedInputDataByteLen = 51 -FixedInputData = 3f0b80363a80608e90328818200bcf2fe7d55a13910dda56194c3756c91d5f94d2d29c76a42f1943aa7a6f4d4f16c8142bd36b -KO = f66cfc72ebb2e319de8bcd90f981dcd04c409a9f7257550eac1ca1b6609a37ac66c02f122aa92708929e931f1f02b56eb9e8cc7e472b5cfd2d303d65e57f485f8c5f998c91547c6e4ed454ab73dfb6330096d8d01c6ac6b1c0d964a074942625999cfdcf09bbca3536c9250a63b2cbb73e0466b5d83db70050bf96e084a6ed2dfd009425629b25de07d03deb11abcd0ece95a371cac62fb9104b21aa7574aa51322ab80a39d8d8b06b07252e508dd9c2c91b9a5fd6beb1b58e7480331f05053217cabafc171b99b495065ef8d5d778e79a147a36578adfc4e9e8df71d48fd170203dd5e7ea4e0b84ced304059b1c83a8105e9c7495d7a54b33c768de2be77c66 - -COUNT=15 -L = 2048 -KI = a1bd817e016c8f4b2018e1d7f05f32f22899f218685e1253 -IVlen = 128 -IV = 35eee06be621be653587c248456629f1 -FixedInputDataByteLen = 51 -FixedInputData = 207cc946e23240bda73c7ddc94d801b611af8d59bc9513bb591f63b97a2f8b133349b9a7e7f72a669259631ce4b2ba9b8638a4 -KO = 835b516527541c95693a7bca346fe8b2a1007e4dcffbafde5df0580741a8bae074dd78c6124179072d19911216c4691496832e8342fdc4e422d27e3dd1056627bd06a55886917a3792d48d5d9d82dc821718485d04d0834f0e477ed117222a021887ab275f5858ae8ba0e60d019526c577219988c0bda398758378c5430ca23017bd14f39e46db84824714b8064fbe40107e7fba9c63f67f73c3a546eb56ae665fe7b5cb3bf22abe01d5b1c40d22f937c18ef240b2f41f1a3615454fd9812d605cf269d0a80ce6ba291c3c62c3de662fd38d2a5faa14d25486651b4e06f5545214472a5e7af6d3ad5b52cd9cb52774c9c819c2ea2e214cd651f14f7828703ce3 - -COUNT=16 -L = 2048 -KI = 54967ade26d9ea94d01ae555ab7bffe5524efb29ee829d4e -IVlen = 128 -IV = 4077a55159df9846525c912814036511 -FixedInputDataByteLen = 51 -FixedInputData = e0b500ebd630a2a418ce29a3184bfd036c742cb98f6187d3d6e7041bf716532f06195309a8f3213f1c3122c5674a244e31b8bc -KO = eaa60a60d74d584b4ca5ffc32a17ea139155eeae1886e0ea1d8a7e072d78dc760560f8b84d5fab3046461945873d32951b7bfe061e617286701faef4f9c428714b5c1248c22ac17c10e0dd480ba961efff4ce68f7158c4cc79d9560406ed63d0d46cd112a0474dfdf7179585137e7e9c7c2be121b788f2de5f6967d4f8a5e926e08fe76ac6a99173305da911bfaae4ad9f26ef48518cc943c8fb7e9e06fac2e473474d871ac0f6c1960ef86edf5cdd23eabfb5772a07f477f8578d50cb24e3fc653c8f51ce37b519326291e1d07faffe7560ce9dd706761abde8d4dbc6c3970c1a11e9996eeb1f181400d167df4746c9a59db6efcf344147d13ccfff0f1038b3 - -COUNT=17 -L = 2048 -KI = 55bc91d09e828292a210fffee9cedca7c00b91634cc23f08 -IVlen = 128 -IV = ce49b2cde76ef8e6e9c057746220d25e -FixedInputDataByteLen = 51 -FixedInputData = 767e358c954e6498117a08ff2eb52d621bc268a33df009818e1ba910c6a146b8dc251b4656b3e64d8702c9df43d303f8107003 -KO = e9f752fb0d31b8293c089cc53bbc8b933874e2963c0a6edf1a1b0ee1edf60c24fc4028e0e870c88f47e957f6642dc1ed86920b104dcab2a460a7f6b1aea98d0f951cbe0fc3753adfa0e0fab305e33d38515bcc935b4ff72a1ebb9653945a50742e6a418d43a263738ad5fe8174fd748804328157f5e8b00cbda5bfe2a0936451a9af4df50453610ff6bd6b08f82f22c96fd12ba249c7013997309f2b118a27790f30b85878b519e87435e699af527412130816d380f718f888dbfc9b39a70fc051179c1a0c43653b74f246e7bc426a630a8a94595a7ed613dd05fd5f7f069c91a975e57ccb41fcf020572c8d835e5c871c896a08f92bbcd485b28093e96ec022 - -COUNT=18 -L = 2048 -KI = 6ac96917a7e51c91ec70703dc6e146355b1522c9cfd119b2 -IVlen = 128 -IV = a1012cc156613c02eccb9100f3ded212 -FixedInputDataByteLen = 51 -FixedInputData = fe33fb28e9e18ed7c356a47a5d33828a6ee0471ebf92bfef3d9a2c675295b45718c8cdaebb9cc405e4e062b1dc082281525ffc -KO = 5be0c045478b2632241cededf9be8f68d84134a91f65fe053c10815dbcd0872b1ca9f6af72d4552d50e8c797fbd82099c5636cfb4eb6b9e748204509f59b310c83530654e9675a0b947b95da7a699875ed2b72c328853655450ff8ea2d5d5b9370384648d6c7e42c7d7151d453681ca08ee6abc11a9c763255a69e93d1d1c06bf1b531971dfc8dee23dd371406c54fd4ed4a344937b9403429d06e4f44b4fb90fcd7061741185a8181748c4aeb1ef1dd3744323f517a759b6c276b698c8984bfc195bf3cda42b0517fdf164b1553f87f5aaf37557d680a6d753cccb210f4c8f182a0af2147d73ec34ca7e2e64a8d75a1f4a7bc0b90b086b94d4c2908f6068ef3 - -COUNT=19 -L = 2048 -KI = cab980c41ba0d3bc689e2f44768a1ee60b2a5239594d75ce -IVlen = 128 -IV = b82ff1d3dbf8a6065ae602528138c46a -FixedInputDataByteLen = 51 -FixedInputData = 53235caadc39b50cf94c78047b417cbabe081f52ff83c0b020460d927f401c0a6eec17307690f4d8f8a62cf69d0aedf076657b -KO = 8c8b3a7e47405093d69e93bcb8221e648ed6766c1718586c9c2ddf566613f88e25283ffc993589dac500c00cd249f86042f604505156846edb3bccfef3d7ce391f85f73bf5e04b24c10990837f71c3c4f79d2197fb8e9e035945fc7370f46baccd9991940b2b590cef98b859350f904ab75d1f4ac9f9ded248979986b1bf5f510ee07dd9197f1afe204f6ed612bdcb6b7044c54aefb77e5161a3c83e16f8e98c746c16240c40d0087f65b953a781094619ea3f6605c1eadd448851c7bc1d4d4b2d6fa595fc359a365738885b3b3be3d5c5ee01a75a710c8a78a26af46c21ecd9288125f192cd3e059d495800177532d51f4f08d589dc5ac1f1a3a282157bc9b5 - -COUNT=20 -L = 560 -KI = f3f0267610b499e41e55337afcbbff6e425b07779ea4f1b1 -IVlen = 128 -IV = 39369f5afdbd2d4a3e2d9f469487d040 -FixedInputDataByteLen = 51 -FixedInputData = 9c953f990c2c26b306b93e22d76cb3e1c9ce631264220052bde3e3271ed7f3e83c61c6f37f3340febb9a4a19bf1d229e8b7dae -KO = 2972c62575d667396ab218dd00129fedaccd425f64c4461cb97ee531079847875a26670f0cf25b1c1278e2fc8165db0d77e9ff20c05880d323e7bd3fd7b90693a749009e3516 - -COUNT=21 -L = 560 -KI = 32f6cadde8bce820e825d14f560b45f0d168e3e7aee5344f -IVlen = 128 -IV = 778c6d5e3c576288aad3c8557403abca -FixedInputDataByteLen = 51 -FixedInputData = 9d49c2a3acc2e06e193ff7b85c631f33d3b16e2a8ddc241cfa2e865be5923c3e940adcc9471febc9a3eb32e68070cd631ac688 -KO = 45c684fc4ad93d0b46d8e8f0fd50f4e0cc4bcbb7df4d27478e1ee13f795ea9c64ed59e70d37ba69fd9a363da46204689114fb76a507000ce12f86dea1344f744814628a9fe15 - -COUNT=22 -L = 560 -KI = 413b86de673f375cafd3c80af42a206b8c3e0de82aa762bf -IVlen = 128 -IV = 99515a49a9cd7acaac7ea7779746b8b0 -FixedInputDataByteLen = 51 -FixedInputData = dd7830183863d5ab000205cacc1ed6e9702d6143c4c4505ea4533eba418d9bc6fb8265ced0c5c1aa2cc17e9d5fb86b8d5f00ae -KO = 38bc76ac873f96e68e1089a0575e8656f6212e1b5a4c70755bd0a732b78e8fcb9e4dd6e10512eef8928344c8175a580415abf134a51f918da9a7f27e153f4adf78f86d9d8945 - -COUNT=23 -L = 560 -KI = 71fe896483529b99325bf10f2e1bb4df2a51f4a19883563a -IVlen = 128 -IV = 1146fb310571a45d09c2046a3c231546 -FixedInputDataByteLen = 51 -FixedInputData = 550168301fb8b0b5ba224714de3b4b1a823c7197f0eb6d54e61b9ed1f6134be942f469285930563c55c70ed4e9e7f2415f5bca -KO = 65baccd48846f4008b291f1ade125aeeeaf8f6e552cc02e20b71302de8127ce6e500d25e7a366f4d1a768733e5f97308452ce90beaaa39aa34f378ad29b06f16d5af6559bcc2 - -COUNT=24 -L = 560 -KI = facb85c2dafc87e656ab85ca1e443b27fb14387fb015ceb3 -IVlen = 128 -IV = a09e3da9f489d017160eaae97766e341 -FixedInputDataByteLen = 51 -FixedInputData = de994a366dfd33ac0910fb54f8eb94a56b1644b2348f7d8cd94006f89d44d87429050a479fa50ea070752cab9dde44f00dfe5d -KO = f37715a8ed0bb8d256698125ed2363344650cdde6a8448a579e44d12a5e1ba3a02ce661dc74704350628c3c2a4598581130003d4381327d43c5142c32778e72e55dd4933a0b1 - -COUNT=25 -L = 560 -KI = f0aba7c568593316805ba61925afb171feb387d0bcb89c9a -IVlen = 128 -IV = 38898f75478c5cc9e0a6ab2efa969a1f -FixedInputDataByteLen = 51 -FixedInputData = 2f17641027ee53567f6ba86a016f8176820a5179bb64b4d882e82544bd130a36d9bebf0662901dd68afb782b1f2194f573e96b -KO = 07f070d0e1919ca17a0c009c94241b7be18a749403ccd556e47e6ab560c33bf17f9fb1958576153490705eb95646172916f76e5328bdfd0995bfd7b5fad709493039d99cff96 - -COUNT=26 -L = 560 -KI = fb8d9d5d57f007cd8b4cf43c7e7fc9f2d282bef136f53744 -IVlen = 128 -IV = 1a8dff16b61064cfee9c12213875d5fb -FixedInputDataByteLen = 51 -FixedInputData = 3c623944aaa022431a05087adbbdf3cfd41040ac94b490038af3b2999702a4de3ad6741d35cd31f9ef00dde8ccf142846ed2ba -KO = a3dfbfb4c3c7acf6ab9a292ddbe4d05e99e993f173c91ffba157d8e1aa349927ad94a9b7ff38715c96a1d96a62870fa8a8106a4e98e4f7cbc1d02d85919f237a88b8c74c307c - -COUNT=27 -L = 560 -KI = 1214566532dfc24389e42a2b9fa61b8a15cf68c19c4516b0 -IVlen = 128 -IV = 8a8fa2d7007708d27c3564231e01ab5d -FixedInputDataByteLen = 51 -FixedInputData = 49f27152a92d15fb0aeab6f2fd469a17e70951e5eda18bc1a88e3fa4f53594f0c0b08a5cc29494015a7126a3e099a25dd19433 -KO = a1b5a22a399d31f93912ef43bb232a2fd965ce00d1cd04fae8e4fc43178d58a883ffb8593fe8fa709089fbc726809f8c4bcc84240e1c2f32d662712d18e16391e7ec001d7cbc - -COUNT=28 -L = 560 -KI = 392edf0fe214d2f287ad3f8b967b3322a4d6096262e97392 -IVlen = 128 -IV = 8eb65a0878d7d246979f24753385cae2 -FixedInputDataByteLen = 51 -FixedInputData = b6ec3a1ae62176adbd5ae128653c4d5cc332e2ac49057fceb2d6ac1fa910a6b50afb58349eb09959cb45e7e2ed5188c212733a -KO = e2e54c322edcd1b3a610005fe7bb762c34ad8615f04d2437b387b962baf2741950c814c5c58eaf1e11a862de7f938bb93498be7a4cda8207998111167db5e45b4ac832fa1aca - -COUNT=29 -L = 560 -KI = 8903bf652996c3576742dd3169104bb60d87e668c496ac9f -IVlen = 128 -IV = dbbfcab2eba419db8692d721370a9b58 -FixedInputDataByteLen = 51 -FixedInputData = 21574bdd95d4b562cc11596f85205a4582ae5b7269e1b41bf48f61212b694a4ec2437f508f2c5d124c36c48b48e1a0def460ef -KO = 8a65b5cabd44f582053da063406da9867110eb5b1b647f305f9e89c6cd5480e0df3f2548c4537ebf5a432c2ab05b4fb7eae672faed9788caff0581fb60501837102a7392cd38 - -COUNT=30 -L = 2400 -KI = 6e379a7cfcef0e4243128d93f2b123cfe9b41d59dd201f98 -IVlen = 128 -IV = 24fe1bd3b7c211037055504963c1aa1a -FixedInputDataByteLen = 51 -FixedInputData = 802c2d79461a2335593c3ee73bf4ad23dab3394aa784238b0e33a93afdb4c7271e5ad588968bf665788012dab269220483accb -KO = bd6b3c1dcec2d2bd1aa49b287e7ec9c72e0c63026d86fffa6998fbde5a08aee8210f7a3dd35e97d421c20ab73017a2312d324295d61c47a3dd456c788d8eb73f1d8c34597116ab73e73d04a5b2451527ce5b93af343f87e9dc730362a2fe4fb348cdd375f025e69e357adfd52397c95fa49ca160ac7e90e91cb6ead41a44a99cd5d41bb54127486f549458875edae374027d63e35cd299de693ec592deb1b4c1286d63d76690c5cfaa1755ef8ca055d9bc3fae251ce2eaf33a3110302563c2f82f8e703a0b4b5a5c44f10e62685efb8477b1326fcb2964c2787ad386e93e2e7724e80d119e6f76c8a061b9ba234dc0b934721e094613625e2693edb4060610ce9bcf1eeb6a8981c1a72ed21939d7c962545cf8f3feb7c9af100161752a4adbea7feb27da1f6cbee5b596f91e - -COUNT=31 -L = 2400 -KI = ab6878c3b296f6a9b7687ace7300e43ce839ab292af97f10 -IVlen = 128 -IV = 2d0047ff40194b55e62841d849bb1452 -FixedInputDataByteLen = 51 -FixedInputData = d2a065a537234caa554d43a8126268a3f5539216fb7375592bab27ccbc77d6b7813a561f5322b886d75e37367cd783d0eb5de3 -KO = 72ca6da9f08002c3a626405ad8f40cbcc8e8344926b425848052a905ef76a4ad57be3a60b28635d3c2e856899b670f1cc76e8f279835bc28d8c23bd609913e9335eebd1d9494c1076984bb8493a311008969a00f6fe8d97391030561b57882cabe1f936096ccd5c529986809328cfcecf5f46d12a94ec9e1e48adbc0c5ee1749dd5f6dbe8c5f3f9e0a5de925daa1e02b83430349764f2be62bdaa2a574ea4f6e05f1ae073b81e6fadfef03b10e09d37d392b5dc3cda1499045028389e7c3802cf15cdb187491962b5ffd11c7c8f2e3cf5f2fd99195076028105df085953c80c21ec85e63f34e1d540847941a031b69dfd2a07dfbcdb2288472376a9cb7ceea07bb0753f64b9d52d96fd13bde2aa49bc1d6af2b49f89ae3e0327feac5bfbc2d7b4ded1166908ef20d453d3b90 - -COUNT=32 -L = 2400 -KI = b26ee860ac156e1c54c2518ab153356b1b7d3d2d12876216 -IVlen = 128 -IV = bfc039e82d299d2dde484d4231701111 -FixedInputDataByteLen = 51 -FixedInputData = 1301a3639bc46c9d14f6a19f1660959db9a8fcf98af1b12e4f0e4085f9e363607c57bb87abb46c3ebda61cc2cd8bb8d57cb6ec -KO = 41c9f9bea72c87f4a634a9bf9ba9c7b72cdcc14f209afcd3c9566eb3f97f58f87a8cc32d97f5147f878f216c631b1f402af9a114c049fe3e99f318b8207af1856588219e4eb54bd04e5e5c5dea55ad29a3066676bd786a6a41b263657951566915d8e677eec9c73579b4efa9a3c0bc3b1a1d5f8d189a994637d9cddf962833fee1df93266298183e65c670625e43a2a53324ce55cf06d3707fa1a66dc5e04b0cef0c06c289c32f12f040ac8fa6ad8ef20be5b772deb17bec6553cc9b8252dd8c5951733150ac1194dbe4b0a27140d9382712441c0cb1d78819c07211c038da04b4f4302437c0d31bb7d9ac25f8912123031c870795c5f5546283ab45ddec467eb8d7fe7710dcc9b7cbdd1b15677e30ff174c4cec61648314c29fb823be565ab7ca58e089e62f74f51006a98a - -COUNT=33 -L = 2400 -KI = 27a1a222fe3f9cf5b07265ccbcdcec3c765ad0d5bb947595 -IVlen = 128 -IV = 7c5b8bd97324ecb6a1f10ffb70d2f7b7 -FixedInputDataByteLen = 51 -FixedInputData = b7c3678b1c8dcd88fb6eb8caff8ad2be861691fd158f2ce0eab4ac56fc7442c7c8645f814111e79b4679f03a0ab2d5800be6d4 -KO = aca21b3aad044d43e001a47c14e55c80b91770744c7c6da5040699277b90afba16303cfbeb9337a131a15d0d8f375783aa9f1c5b01364b07c941f06664619328972f7865a79351f3925880609af2f420a24bd5215f5f2131f3eaa590e63f62430ff1696c9e7471318f2d4184a6079f361be4729d3f19c6e30aa4f9a9aa49ca76d496b48fbac524991973f09650482d1acb499b7214b4ce287b40e2369b3518fc3fdc9e84ed2d45e1fa2ab8dc7cb9b76f050fdb4b3f2a0aa4fa1ae78f09a9a2ec587ceea0d06fecf01982fad99665aa462ebd61cf61cf70987011b22f1b72c2d69c21fdd60960fb906262b9ccd0a00c9b0d3fbf9f1a585d33bbe3ef2506c50c5ab7974d9a0a0a86e6addcad571d98a67ed15ef136fb031049dc16410033c9c3ec8cfd0f771bd29189bdc74974 - -COUNT=34 -L = 2400 -KI = ca536764b4d6981c809a32a3617f0f1d8728ee0927f87279 -IVlen = 128 -IV = 94520fb01e22921e5b61622c780c3a5f -FixedInputDataByteLen = 51 -FixedInputData = 56482314fd78b6264c4aaa383cecf595a1ed322623ba3ec461cfcf6beeea18b8fd3eb726eab9b54eb0a258f999844fd7221991 -KO = 41116ac2f27b276e2ca88b3dd811897f9910edf2e8be3361f5b0c53cae58a3ded99ca973f150a13367e09eaf847174e93c16a8d66d6b2aa95d547fd5656bccbf126822aae8fe1d42d8b6c4998c29e74c080017e45b8af4ad6a95881bffb34847d28f547d1c5320d8467e31de3ddfc829a684d55c2381558036feba0bf0b5759cb631aad300eb8d6fb8a70b68bcb9e4369d864f5da7c9e9bb62f67fcbd4ebb35d7b990e57c9ddf3281b5cc10cd95e96d8dea5fc608b31ff5ebbd59b63e178f5b776b192258d65fde9994a1d5c4c69e9ab363427f9d0f96b6093e2cfc617ee348df163c88795d49e5bcb709a7f0f7f040e5fe908a0210e9b585cca86c3de54cf05431a56cfc7cf39c93987f1382d0ab0310621849b45f7ad5c0183821300e1c00c3554a81f80388b733c9baa68 - -COUNT=35 -L = 2400 -KI = 572409c265b8567766c9b7c07054b96715f1eafccfb2bf65 -IVlen = 128 -IV = ea811f197c39b5bada45795e6b14ac9a -FixedInputDataByteLen = 51 -FixedInputData = d6e72869c3bd395c22fe65c0e1f4e8297ddafb669011d8a4ace451639bd3763ba59a76be5f6eeabbf1e4bd7ac686412c419f97 -KO = d3153d7b74991fd86dd8bddbef48ed00127d9cad2f5b752dcea885c90b68e0e29e05d622d469845efddc9b3f9d66ad8c2365ffb138f1f4244123bfae4b5f183faa1927fa69c048805bec8a2179bb50ce5fbe19a5a683fbbe80e0bcaac8100014978770fd819f9f7f0d7f00579de3397922223b28504463eeef8e543248ebce0e60a26e3997cc149a8d7eaba15de655aa0c9c56f2042e154b8ee9f4b5cfff71a567dd411674d0f6f377bf2e48b6f96691c5c8ec6707a9369538bc1419ec4839b5478aefcf99362fd0ab0520132ee7048664cbcf45ab3fd466f13bbe4c69c2158bd8506a44a87353ff72011166446da618763e3e9615511d506f9fa9454355cf97a184704b1711f7ba60096af9bbfe0ac24e5100a50e3d6170f4ca02428409947e3f918db7b2db942dd353c56e - -COUNT=36 -L = 2400 -KI = 1e1f111e8b818e10c2b0cd71f44f20cb4e9df120cc0cecac -IVlen = 128 -IV = 80ba8f7aef0f5d7809d9c21b77fa5c88 -FixedInputDataByteLen = 51 -FixedInputData = 8e7d60e6a34816c26f5d8bb78c44c01536c21ccb8ee4e5dcea7a06464334a08bb9c9ebc86e21cf2c91654b7896c857d284eace -KO = 1ee78868b6ccc242c75f4531124beb232c6a992285732d649438e50c5c34b3a578a1a5a4c2011f5b8ae7b23c62e56696e875092ec72821c8f4b20c903a92060b99029fa9c08c11d5f87e3de3234213580752d3414d2718f6bb3c7784a2d73eda0ee068393a30bbb4e43fa9722fa6b0b6532644d0c33f1c84991d46621f13b7c6451e97c79b0573f765fefcc78cb3e8746e7c065af071e32f26d6a15c88e2e3e0015422fcaae4ecf9af322ed52ca94c7792e4f153e5b7b9be8ad0bf48257962452af20d61949f93b6534c4b4ef39b870422da66ab40312ab2073ecb511b709449597570ab64a60d6fbb4f921166acbf94046678610986d8a7ab2eceb30d8f4c468d66c8c274a4c38db38797988d6fd240d129981714608dbcfd3da9c1ca8a99ab4fe680e5f3e7b07487529a36 - -COUNT=37 -L = 2400 -KI = b7a88af6edb9d09c251b5a4ca714ff25b1823771a5628a8f -IVlen = 128 -IV = bd172dab414981c45d54581a20c334f9 -FixedInputDataByteLen = 51 -FixedInputData = 84a2ddba236159d283e7b0776d864e59563b6694d9b6368269fdb9a761293fbcb4b1436d51f7a1c3d4ec096e9cd738336bed8e -KO = ae08f034c26df986fb09c4c996ce9c181557801c80026ce2f7598801da8317fbfedb31d32b870c5131a23c076020b29619deaa83d26474bf8e3118733fd647e917364235d3baa0f542ca1287245207f5fb13f17c35d97366290e611851f1e701b5561c3d2208b214b178723eda65557d1c53244be0ad2aa8a92338ad062c64b769701c7e1e434e7d83153de02957a4aa635736c3db1d4698b1d8941e81503c40d8677d7397feef53249a953753486524956b145912d0e3841b4c3fe2b6dd6a7e5062a9f23313e208f1534f75b1db48f71a2c621bf6fdff62e94c420024214904d149a27405b9b7501f43538ae23ab21d2973032934dbaec1639d9f541dcaed73efc8a9ed2f99105e377d5f8b1ff482c82999a6f0fa2ad8ae94ef4e39d96c5eb454cdebd933ec755e5cef289b - -COUNT=38 -L = 2400 -KI = 31eb6f6c4f3657f4fb4bcb01b442a1bd592d396d7f9e8329 -IVlen = 128 -IV = 61bebdf7bef85352cbef2aafb8b83967 -FixedInputDataByteLen = 51 -FixedInputData = 921bd1ce853d1be2b3cb9c40383cc5cf564e8a8331c43b63c627c6d5068e5ba3ef33fbfa15966a1d2bccdb589c602dcb3f017e -KO = 289fe04d3ed988e08d0dc5d3fdbc7dcc80737832b7a6609f77fcbd44a9e7a00ae2b364fe8ea3b13505fe92ad448615d634738490eb11066ab54eaa87e511ecfe286b4c4d780ab1b7fb64911d82c8cefa9566cc4590c0df6836a87a2e2353f81b090245a866c91c4392475145bfb428b1fd0e9a2c6fd2d97ae71b36b696a0b6dbb15d94ae1642d548bd97ed35aabae1f0d337e9d36384f0c0a3985c5ad7294ac72ec1a981ff583b1ddeb9bdf4dbe5201549f8d89c26d9111efb85c0172911f674d74096389c64000bf8b9dfa9effb951de7c3d9d4dae296970177f58a789a445039a98a9668f557bad58078719ad35497230889af7b7533cd3c168156572a4b2d57a1ff868eb455ab8449f176ad978f1d8368874da4a6e0dd222fd31a7dd0e9923b1b6afed6c4bae27b2e7ca4 - -COUNT=39 -L = 2400 -KI = 67d9ad9d50712a5d993d5808d2e7008ab1d5ca6a55c11b67 -IVlen = 128 -IV = e28bd98646d28cb156a2b824de9fde2b -FixedInputDataByteLen = 51 -FixedInputData = 5961577b699e53be3977b92d2b088e6a0f4fa3a33f6b8a36659120825835df50b29ef210207bb9382d1ac3676a2ea42a9d058c -KO = 18f04270051b40edb66173823024b3cb26ff5aef7de7247ca5e3850231cbb87ff2aa6bc890a7747fc76c8a7e6c997c941211dee8e96cde22232d3ae0ee6f85f46afbed34c7b24f47dd27defef20e09f3c45c22cd1e965fa0714cfb43541fdc1c9ef1c5f5de1857201c553ab283c1246c7c73032aa6dce7aa73d4e414f4cc3953fab958a5ce2fb89afee7cd0ddfceffad3ba98aafa8ec03cd9bda003b6955275db2e558211f0fe144b2d5daaccab2ae291e20a9fa7a61f94fe5cd950c8529ad2569258fa7cf092c83765d68a6cb8870d41b5bbe43a1d51ee55945cb2d5599b277f2ec388a9ccfe1421fe5401e07c4ac040f759967e36dd5b2755e09466ad582ed3ba3f319d2202eac19f8b738d5b3ff94bd6f43b5a9259229cf55f3e5a2562813c3c47e207afb688b6d8afd26 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 2c8b5804bc359d51d3653781afdc694a612a6f23b66fca21 -IVlen = 128 -IV = 29edf4ff3c6ef0be4f77220503e12c52 -FixedInputDataByteLen = 51 -FixedInputData = de260ba8f4206790d1e7008ea27d7c02165cfa5c54f92d1a619f6970c9de673251e9833c40657a7070b6b2e9c440133ae39020 -KO = b193cdbde61b9272c1c364bad96e69f8bb78946fb08de0e0ba08593286946806a929309ceb6c972a5a783931c2c2d6996836ba6eae44b1e03b396dd111800f3f - -COUNT=1 -L = 512 -KI = c6c739022fb77307494decd31cbdbf120b4f77eacdf0240b -IVlen = 128 -IV = f22f8c0eecc91e429eae4f65abdcc99d -FixedInputDataByteLen = 51 -FixedInputData = 1b2e95845619ee7e390fcae36866991b99974322e6e5f4d867e258d164cc7868f4b27f5b49544d3db562b1ab5797a1d8df3bab -KO = d97c77431b70ecab86cf430615952de300e9d4028a2fd10883c5310c66364c5af537d9943a65712d6df50b0fab9ca0ac82c1270e507073f62450c8ae2a470ac9 - -COUNT=2 -L = 512 -KI = 4b577911bc4035a1ecc3acfe010193cbec0a9efd5765b32c -IVlen = 128 -IV = 481f6d2811af2844a5e793f49e493951 -FixedInputDataByteLen = 51 -FixedInputData = a9409f5397e38c1989805178b560a72ea5f6ec0c809dfd027867ff8994539430dd24c8bd87999943afc21e3750bb727d004fa6 -KO = 89ead6e0fad171686fb051dfce27344b00ef792b589ad431d3f99a54f6e58faa12f79313e8b77d493dc23db6767d58ff49c39d6286da2b000ea955889318a865 - -COUNT=3 -L = 512 -KI = 716672314777def29418cfcb2b9dd3ee1decfd4a73b32938 -IVlen = 128 -IV = a6c4ce1b104754d0959d55bef8ba5336 -FixedInputDataByteLen = 51 -FixedInputData = 1577658602e4a6aa69a318607ebbf6a25203fe5a498782097b4a801ef66614253827ac2074f38d2bc768a9ef9d8f4c70482753 -KO = f518d69ab16de37a148273b9066e42fca22df4a08133ff95beaf27586200af27525e7f60f288278cd860c11fbb93a7455d4f8ef9961c97af011aa35e91bf2dd5 - -COUNT=4 -L = 512 -KI = f8d853c8addab845831e472196864b1e4d5227da35d4cc24 -IVlen = 128 -IV = 1fb48b4a4a03028053dab7acd9af8f71 -FixedInputDataByteLen = 51 -FixedInputData = bdeea26b0c21578355077559ff6612cdb790fde2f4cc03977e2874d4f5c0129083ec72fd57c016839e9178c8608bf5daa8065f -KO = 40c646f0cc8e1f2419a72af1b2fdea1dfa00f51c4535d265b9d05c2b6410abb531fc44dcebbc4de75f6117e1b310fdd33aef6a006a884206adb32996043fe3de - -COUNT=5 -L = 512 -KI = 555274b30c395032f70456387f70300a249c4fc7477fbcc5 -IVlen = 128 -IV = 4ec07050963450a690f945c8ddb5fc20 -FixedInputDataByteLen = 51 -FixedInputData = 1e0b3df0dbd45cb00088a91d07f26f8b699bff22e3575532cecce8aeb71f114509c9d5e1ee761862e2624058f68c2c81817ad0 -KO = 3e15eaf371f68c6e23c4f7f850fd79311a9097284020f2b7e1f067e78927653de6a6be6f3468e36a6e167c6a4af07a525ab033eff8b8ba81b409e2c42362662e - -COUNT=6 -L = 512 -KI = e9ae8554de244584a4d78a74c435958ae73d90313b11f821 -IVlen = 128 -IV = 24f83a489f04f577a72ebd5bdb9f4607 -FixedInputDataByteLen = 51 -FixedInputData = c4490caa24bf28bbf0331911d1f67e114d0178be93a7bd1d7d66e9446a78aabc8f6d84b5253aed15dae1757c8b157fbcaed67d -KO = 969fe66eb13da2e329963b69da9075b2ed7f515441a67154e916743506c2e34f17c8198233df4fffadca08fc5162a4a36b58d153b5e8977770d420128f816250 - -COUNT=7 -L = 512 -KI = ae2db89ffdfa95c367e4a97323b745303f2ba87f2eda1f9a -IVlen = 128 -IV = f673c45cbe0367c9fbcd6d220494f9fe -FixedInputDataByteLen = 51 -FixedInputData = 6cd467d7ce31b062946840b7b5e78e07c51e091b47e0ec2059e236cc5108aff365c6c3e204dbe20dfaff23d4ed731fa44aaed7 -KO = 45978eabf5473aa0e7eec1777f319d4f41974d5ca84fd75a6d6b77841fcaa5f6131886dacbe6d74f748c89c51736aab12d106bb32666add9a4be6c7a775b3555 - -COUNT=8 -L = 512 -KI = 376d1453ca07f70132091ff0187eaf8c0a433beb6eb501ae -IVlen = 128 -IV = 4942edab8210f12402057e11ee3c7e8f -FixedInputDataByteLen = 51 -FixedInputData = 3f046c106d199a83dbaf2e3612b6ece571275c112402b05d2b9bb6b1ca5161f5c9448b60a35c874a78a687d315cb5740e5de28 -KO = f3ad17f5fd70f9ad8b611e3073090a64608ec377ed8fb3540517564e9a4236cd5aad795230489b2cc45f05152ebf388c947180224195c16d6e1c8054d94311b3 - -COUNT=9 -L = 512 -KI = 81f257e818a1b55bf0fd54243fec8d43f5ee2ff49359d3e7 -IVlen = 128 -IV = 71b753c9f5a789036775c8f6ed7852bf -FixedInputDataByteLen = 51 -FixedInputData = 21c2f573c3f91263448612dd56f3867ad260bc8493e8b5fb93e3ca58152b655f3e5da4c7fa5db1c60ae3b574870e621baa774f -KO = 50dc2b05de65100c9ec700c8d99f454e829069619d5ebeb728ce187bd04bfb46a18405650cbf16e654783b7daebf996eb47eb921d7e2a2e0560fd10a61eca82c - -COUNT=10 -L = 2048 -KI = 04da2b7ab7868a2123ae829f4b8057a4ef6365ee9aef8361 -IVlen = 128 -IV = 761a355104eac71d2ed63186ec77e03e -FixedInputDataByteLen = 51 -FixedInputData = 21538f911e8382f1dcfba923ae365b348435f0788c88f7d42ddbf21e4ef2540c7a407557b8fc79a1903ff07d767832c283c2f2 -KO = 9ad4d523362f97bb822da1ba039ef5d80ee95c725b48be7eea7d9ff9ff8c331ffda2ff7572f45deaccc483f9abf887ab0749f7af8a1116eac0b617d09461b700be623ccdd7f1485842d4960ae1b8613a78ad0a052ac803295812e0be3193435e29836646485d55c0bbb07d160fe1554b002b3b3433751cc7f1b2597d11f210d2af9472779b4df91a90ce20781096fb3d8173821764b2b607a5a9664001f5c993d5fb05337b5cd20fda140ddfea5ae0d79b676387d68cd77421adb01bea7240a8d9388d219a678f8d0ef4b2653de16437dd62b6305657a1e736105838734d9a34787c555fbdfc15de6cafc320f5987d20b95528c2c60375d405498f5f944596ac - -COUNT=11 -L = 2048 -KI = d6f2832a2064044978a9df59fa72b036b22bb4052caec073 -IVlen = 128 -IV = c32725435852ccb854d7e7082d1370b8 -FixedInputDataByteLen = 51 -FixedInputData = 4d64af203439b1ee103a7f5e75157cf931d655e065123b13d12c369d2f7a251fd7b1b6b095b4c3e42b6f70519e0a8f19403715 -KO = a5301bb408ac0cbd11a2adb308ad472c0cb9d44643f98744e9f6edd6925b96f5e49149739a80dbad8165fd0bf5d96c1bfcd8ce5d7179c10b698e98248499d4c7889f136d35aa8769face4a13856f6c13d745baad9ccd57b70178392ca30170251ad1359c6a4069356cc4cfef443980dec8430de6518ec8011a65f3d2547ef38385e257efbd799e68c57ab1da8b77f1273e47f84c03dee89f662c45a911f5e655f9ee4fe268c138faccbead488803105c1884c9611abde7c6ca19a0818d23d43810a93554cdf362d3cca4f6af7b7ef3e9ffe4268fd60f4eb3a76ac7a5e562e6af1797869d2d3cc6f7ed6190d29c05092ce0636ffd87ab58895537114ac1054dcc - -COUNT=12 -L = 2048 -KI = fecdcb9a433a789332d3ad15304b8effd830a65de24f75f2 -IVlen = 128 -IV = 52a123f3c7f14c0da8ef6573f45b7e40 -FixedInputDataByteLen = 51 -FixedInputData = 87348749c82afc85a87a19daa701e0246ff4606db1a37b2683a7a579ba7b292bd5c13438390e403e87e82eb0db0ed18617e05a -KO = 5e18f3319f7b4e234d8212d72a4f9c553b37374b9c733932d866ca91bfac685186688bcf0a88f04cec9e3dcc6a1cc64fba1beeaa6aec7236e1ac3585c491b65d044887ca9d2f11fa56142135a41741e2e62be641abdfd6683886f0e5f3a52d0d694a0d12c2667d79c9bb031a28f9dc10646ca9483f58a5e04920451550a91985a2c6cf2685f705984d1397bac06c2588d9767b73d3edfa264de3b8db4f78b0164f986b97138f137c186fbf1682348f38196765b598e408189b5143a23baaf660893b202e1e5db8537f292e27b50dca90c50a960ec90e3346afc1a594250b7f614d20eeabdc49e10ec9f38ff46a159e9b03845f1f37a62bc333fa9120e4f1ca19 - -COUNT=13 -L = 2048 -KI = d277eb9e23df430ca8865592df054ee368fd0ff8c0036b59 -IVlen = 128 -IV = 2d500045580ffed4fceca85cc118ffba -FixedInputDataByteLen = 51 -FixedInputData = 619182e876d6618a127d0feddd070418adaea7e471303a9478ccfbc5010055d809e80ce4ef73bdc01edabaf887633d906381d4 -KO = 20df8acf601f1cfe7cb41f2287c3ef4dffee288af7db77f60291b553cbf14b07f65fb6bc0c54473686fe4541475b20ffd4840ac0971c5c353e3c4e26c38167fdd85a4a16a40a4a4670e18be70b48288d547061378d330968e9b68fc890f5a42a9632c839867eb79028f2ccbd5f3bec7811f2114d13002c5c53084b0b6a985ee9480e4742d6d7f05fd016eddb8c13d40faafaf82263b1c2add5a0882ba66e92211ad7ecf7b92a51f3518855e555ce1713717986d8e5d310dfafa653f4cb9963df3360c120e63f9930b2929c2a0515e7cf36197b7511a1ccf62a5559800b8c3017c3aaa236d1bb35299774d11e1785d940192751a5390f7c3659292c12207d6e2b - -COUNT=14 -L = 2048 -KI = fe1648666b2e7e276b41efd2e7a92a8e70dfa67dfdbd52e3 -IVlen = 128 -IV = 8b7ce4430f3b0868f9165be9627e5d0d -FixedInputDataByteLen = 51 -FixedInputData = 73ef8f29c81e05f239a49488edd4b2025aa80e1d9af7d40ca131f0dd8ec938b180d28fdc449b4c54f7f9f95f1eca7584a3ebfc -KO = 2fcac128b0a6b6e64fa8edcc543fff0064a7fc999245cb95d807ed99f477d211f29f4ea8ce9dd8f6b800ee191249eb79f82d7164d06e2fba0a970b16589b15f8c3b6d711336042f502e47778e5124a40f31c33ccd65c299dcec63c86cb88e5f9e4b02d81e2618b8d6c4dd4451a3cb39bcce626cf62d47f9d804813582b9de17f848b689018bf9ebb127ff586aebb85f02eac76dd43b315ed0633f9befb67a357e2ed48efe17f812b1d996a3c448d5850a7652f72be3ea940334556c1ad227f3d0ce8e5edfd6953644e977b7d54850961cad5cf41ffce5586cb1c1f54d39b03d89da97a84c1013167133e182f1a88db75c1df9da664b705ff370528e56071c690 - -COUNT=15 -L = 2048 -KI = e20dc8f6d7fc0994f6560a108a3951060609368b6041d869 -IVlen = 128 -IV = f9e3ae5a6961556fcd2f6368d257c396 -FixedInputDataByteLen = 51 -FixedInputData = a2a3b1f8a586247e29723ef2fb822e2e4620651322d23982a7034a6c9cebb7a1ac9c66a7a1b43be16df56b124d966564ea1f93 -KO = 6c648f4f2be5072bfd93cf322d34d16d7d6341df221eac6216fc3dc139cdaf23ef35eb725ae3e83878935dbaa1265b8d140511c8d1074f6764968422cb69442d968fcc9491e98e2a24b6833910e8d15a182260100cb6873a547e052108390b28e17bbddc89acbd057fd2440bd415cea66660c47432ab3b4d2439ff3af0f6801a70daf4a7788f86122d48bc15a63fa580a4762b125eb96448ea0da9cd4142f32e6ec00b36dc59eac3e4da0cdf7ca4c5685fc9b59d2e1c225507daaad8c4a427d20a9ca8610648dc36a6b299b28d287127cabc4beccea1bddfd360535bc168072beca2810fecbfb7577e24a80d7957911fbcd4d80552b857bccc1b90107b4b9a32 - -COUNT=16 -L = 2048 -KI = 366051882ee547411ba48131f0b9cf8169f00f39cd513b70 -IVlen = 128 -IV = 54f159e7a9ee2145e72246aa55a50b3d -FixedInputDataByteLen = 51 -FixedInputData = dfe824d4a51d74f697c0a0e499c306c0cdc5af535ae690a0884995a2da48bf9fc3218a4a6222c928b9e4eb1439cb27fddf4a93 -KO = add9db418ccec1ddc9c745a692ecd8bf07c48e4ff4bfc1b5f3a3306d0020c90abfc323f0a347a8f12fb478e1f22cf272803cd0d483a151befc849f25669431af98654711a4ffa482ae508e17e90dba5a61487f54a80ca912b3e68e55e8a570323e7315a03764f2f3f700f759fde466df698ff4dbdb08d1dd6bf638a916425dd34f04ccd883c7443ad3117b5a2dcea458a5e4a4dbee59f04a5dabdee273df4fa6e4db0e3359be21787118853dfd4e0ca2a116e48ff4cd58336982f742baf6843ede71100f018b291cad2ae3ddd17848c57af8216151293db1ea105587f52cd2112d349751822a73cf42b518557868e1358be9cd87053613848b0d80c5128d69cd - -COUNT=17 -L = 2048 -KI = 053ee27085dfe2f0800938e769abf02d34d4c01c46faa084 -IVlen = 128 -IV = 0303f0c69fa9c858583f8686fd4476ce -FixedInputDataByteLen = 51 -FixedInputData = dfd43ee2c6209536e0602d6ac04806438dd3da44539ad3dd09010f84f988ad879135c0b2cac86a89c086dbc5cae21fe9d33b30 -KO = 0a3c516da78ba80083c7e2e97a776b3a34f3840b02149007ac4d9f7b0d427dbf826cb08de3470aeaf0c493ecb304c3bdde9aa669472217916d43b2ae4908a5662884fad0177cfe7da226fc83b842fdcb872243aa6911cb4d5022171e221faa192dc5e26cdd431150413f457332823464f6fd764e5c259f08a20f866a7d96328907e35a73ee018f452196aa7e4b8dbaae01f33e728ae99e48095174a1240145de3bfa7e57126b673a59228f50e3bc008790c942784f999cdcfe2a929eca1acb6ba1a415f36fb9df08067ce341e0c4469c6fcffabdebce238da501ad79f619de5522a84813e4efd4a3e66f3a324ca454951cee45e556f8e128b41b313f94d3339b - -COUNT=18 -L = 2048 -KI = 68408e5922537fde049a20a49acea78d0a12ffc0cbcdb7c3 -IVlen = 128 -IV = cbd5846b466f3385e1494b0a43063141 -FixedInputDataByteLen = 51 -FixedInputData = c7f119877c90a2b89f0bc7bcf54702c71fd0cef767ea6e8ee8793afb51fe6807e557864c2f13cc673182da7ef5181dcae5903c -KO = e3784c5b20a80c731f8a750dbd74968234001874992002521e0eb314c878d433e4528bde7eabbd038aa64ee7affd06b58cd564ebf00187c375593c8fd44ec18efb3e427e9e5fa8554e2ee31d8785618e8c150331f5ac64fef4f35c1d61ffcbf38a34cf90da7e328e99aa35e00acc8d0808b21eb92e718b921fee4e1d8ff0d607d6f18b83ad4e7d175cee606b8a20a29b193e961ff36b04cd7b759dbd2c52a9ca2362bf0c24cae075d7774c5b7a889a1baf1c874ee278e8dd1e3380c84995fd2ecde91d530750009bdf22c0a4ab69ed9c4505b82c07866e42a0d254b60981001c645e9edea4659126f419c0582e57bf2161eba1bfb2a650dcd0303c6296623a90 - -COUNT=19 -L = 2048 -KI = 9177ac9630ae28bd4fd1086022c375799936fc28134cf384 -IVlen = 128 -IV = 272af035854691cbd8b93462457f98bd -FixedInputDataByteLen = 51 -FixedInputData = f5ae78e617b019af3a6c9010c13c44c0b2d4af543b50a7f44008e8cf52e898d76a7dec8d32e01f2f8097608a55055af698e26b -KO = 20fb95303b966d4ec555538f0d355bcd79c7439417be3268daad4905de79cafd9bdf97fa76219c19f4853165e360e7aa606b68200570dfc7cb003987877ee9140d847c21c3bc58becbddd541bb08548101f954e4684fe465ced85d5fe1b11b4c2e3ac4291c8e71f876841f1e867f43d2016e6842084fe0e47cf5725c6e6bf182c1edd21485fbb64ee83812b516b1fa1238091bcde2ecc913b4b97130e686f93398816d4386d992ec4002b596c61516d8241f5858d066ba11d854a13f2759502b756198ca4bf75109dbe3f73105ce3ed3f2372fbeb6bc6a4b87c62e7b2f5d2bd6c17619057de93f075dbdb2b04d4a5c3350f822307971176a2527cdcc0cf052a0 - -COUNT=20 -L = 560 -KI = 72da0b43245be83b4eca5a073936383b9e012fac0efef72f -IVlen = 128 -IV = 7c1c1b417edd24462a39e8a9434f8487 -FixedInputDataByteLen = 51 -FixedInputData = 785f3cac47122eeb6cca8ee6108212f674a078cfb223d14266386f7c7ac343a4dc821551f0c77bf329a077179fbfc08773332d -KO = 73bfbff87c9983926f20ee60391b70bb31aa5a4ab28e1a00c9eb30d3b113f3cf37d880bdb725cbddfa1616f2dcfb3fc6df92d731d02c331bfc18a35cddd6813875bd28ee6fff - -COUNT=21 -L = 560 -KI = b2c70e7c9008342d911e48efa5f74928586c53e0bfb11f9a -IVlen = 128 -IV = 020a38652e68c54ec2cb5b3b99a34d56 -FixedInputDataByteLen = 51 -FixedInputData = b2dcd8cfa6111ab5b8f3f3f0be48911c735f97482ed461da662a2aec908f41b51ebc4a046b645f6b2daefe5d3e132c91efc0ad -KO = dc2790a7fc7935c43e1883910405427730ef66962f52488ed728b65d3c8f0e324ffd1587c672ef3adfbc19f87b6abcdbd878fdc73c6d2e2f3400c8d36dfd407fbe0a8240df99 - -COUNT=22 -L = 560 -KI = 318eef28a8c7ca9c27587090f4c427539ff4d7c1ac60b5a7 -IVlen = 128 -IV = e46f8e134a8a65378d0f8cd4f699d3b4 -FixedInputDataByteLen = 51 -FixedInputData = 8e2b1bd338411dff25c91453f40acf42460c23b8e2657e9d7bc6b2ed2a594fff824e2bfdaa2a1a56acd939b6dbee4e5cc51b44 -KO = 83c942b0045d10ed680468accd01edb317745f25646b5788ab534e51a16ec15eaf3731d046bc425dffba35ac783da96346c3f05db8e28da112d0b4e99671dec4f28d5ba6b873 - -COUNT=23 -L = 560 -KI = 709e2358901c953b72596868d81cbaf0fca9abe154f86274 -IVlen = 128 -IV = 340ca115d5ea8969f76d97d0dc7f8643 -FixedInputDataByteLen = 51 -FixedInputData = 638709b806afb254181050383905e2982005ac81d9e845c66097d9564c781b9753028e100166c6d7b78977ce98fff944ed3668 -KO = d927f6f8a4a5c32ebc668b27f7ba36c7980f55b6d80b9dbc9567790638b961f6cf8c5b387ee8285e0a37570e3474d8f338fab07edba4c2fe3702c003133cb4c844d632322733 - -COUNT=24 -L = 560 -KI = 65370d3501a4aa80387c7e8b8d3b7736aceaf289cbcd49fa -IVlen = 128 -IV = e69f36b43dcb5d9a3234bdd6f41570ff -FixedInputDataByteLen = 51 -FixedInputData = aad33e651eb5c8a564549953823d31e17ab35f55996c02930d0a5f44ef89e6f93747f3035c933bebf24a26755b1c7dbe7ed7a5 -KO = 1f80feffdf9dd9d844c8bf576c994bb07fcc0846277805556e284539365c26c7c158d99fcb0343ab3046a69233c6646531e48e37a6f9b08e38c36d6995d0f930f1f47c5e2c15 - -COUNT=25 -L = 560 -KI = a99638aa87d7bd7c05a79b46826218e3001baa64c2a83388 -IVlen = 128 -IV = 0bbbbde8ea83c08729708f673bfdc931 -FixedInputDataByteLen = 51 -FixedInputData = dda2cd9dbdfd5c252f8dfb1ae8f2fefc483eeacdbc8b0101c3668069857cbb4e1c70ee5403309b7aa628a257c45de8e4d8d7f5 -KO = 2eb959cb98c550215530cc86136987b7576417606e437729d22074f5c92a629e2ac9aa735f4b14b7884283b7b1dfd38c29b52ab7a4990b602dc88f066796e26bc6a89b4f8e3c - -COUNT=26 -L = 560 -KI = a7735a74d6d78a8f6b5ef647066840e16fad2b3c19e6932a -IVlen = 128 -IV = 000de31e0d1ee3ba0d455cf130f5db2c -FixedInputDataByteLen = 51 -FixedInputData = 43a3c9b0e0e8c8aa741378eb52d68101eee6448672b2cd83883a058b603debe9d20a5765815f574b13b9aaa57218b3c703a236 -KO = 1d8c5f39301e7accc30a042c9c45a75501b0695962a9c2d685aeb717d21a02c2a1baab9e270b02cdf355367d9e4f8cd19f0397502054d50d62486d68ccd8446efa290abc3959 - -COUNT=27 -L = 560 -KI = 1e84e9afbd823e103eb417cd1c5ba24c0056565b31db4240 -IVlen = 128 -IV = f156f361a34f394964681110d62b9e86 -FixedInputDataByteLen = 51 -FixedInputData = 9d90978363ca63573ea7d3e61a5ea020e1512da561637aff7ee00b6777bff1259c10e0a662c5cca6798cb7b7e3395630af5c76 -KO = 0afaddea65cbc17241e93a7ef2297dfb28c4987bd1e8ae3ed5aa3a4bd47f48178d57409b7c48272bb96885dcb59eaef45b58d75fa75f1772424af9f3fb69da878c5f80efc495 - -COUNT=28 -L = 560 -KI = 1c6388683c7566611d403601c07a3aa73484171ea63ec58d -IVlen = 128 -IV = 2a314b7da665543c6a207931889981e5 -FixedInputDataByteLen = 51 -FixedInputData = aff6011e6c2b56377627951f20342209a9135e22d324699ae263b303f37d08b4b2043faf2b4b8e947c8008c3b1a6d78519540a -KO = c8f3f3d461bef394d59307cc09c16479e82317c51fdee21d60a52db0ae1f0291754dfac9d7f0c7d52f259a6ba4790b791c202b40c2137dbdb47f3ba4eca9d48104c4935031a0 - -COUNT=29 -L = 560 -KI = ecd2b82c330649373763b235f9e565dc5d4d7cac31cf9af5 -IVlen = 128 -IV = a15e0a3347107fe40797063321672453 -FixedInputDataByteLen = 51 -FixedInputData = 3e3713f9c22bb5c011e763b070e4da4d0b8de1ece00498661ffe67c8b5182f5d031fddbed560dbfc9188662f90b7981108e25f -KO = a45a69372e3dd6d4bac6e1a6618424a5446791db7520265f5db7b4f74b46282c40eb29128931f3e340c2b455ab9a60c4c1226a51908eaedff02389b519ed3e9d80f856b5c69d - -COUNT=30 -L = 2400 -KI = ad03fea31de8555a2666e4c0b544b08f42719e56f8939621 -IVlen = 128 -IV = 80f21be718377975ddb1fa42f68c094d -FixedInputDataByteLen = 51 -FixedInputData = 8b299aed87e48da858f9af441c453d6633c1d429ed799ffad3a3913dff7f223a1f4c14651a79f6dd77b0827ba1eefebe241979 -KO = 51a4fe1d349dff2579769ec8c88180607cebcbc0c35d97f0e043ad4f6b3f6cabfef710ba24e1024c43ebcfd5cefcd3200c9806d2a80a6fcdb81a13c4ea048684a239b48604bda9ec27ea5250a2c4af5b371d6fd31c3e3128d8706626536d5006b6a8d9d86e76876409341b758f25b3016eb4ac8fce1b5945e7234f121b3057543fec58e551d66a631b5860393bf11c356897dc1806d012d15329cd1dfeac51e303cda8661c04ec925f711074d3b00e978fb7f72753d8c0493be4465a9ff42c1e3b7ad38120318b3100e42ae8defac9d5d045b10c037c7771c47d46b731c0aaa6602c055b7d6bb62c4c25a346c7b0096588fa2003d4357976ee8b5304b1ece04503c8c22a18d9a49f39d8173ebae77b4e42ff842f9f12f18e4691512b4549551b36e5f593a3c12f675090e619 - -COUNT=31 -L = 2400 -KI = bde32c956af507b4a6509d1393ecbea62a7072498e7c23c2 -IVlen = 128 -IV = 3fdbd7f8136489a73610d9da972a86f3 -FixedInputDataByteLen = 51 -FixedInputData = 6e22be7f9a3f862f363d3ccfe756ef628a9714d6c06e346c7f3d02c13081402fb896e719535fdfa20c4615717afb0e058bc589 -KO = 81326071dfebd5283fc3d6e167e7c065f03b5224fdc69686dfa3186488a251f6e05a3a4b6f5fceca618d90c1994d7a85bc88afbae30e471b1a37bcee90f9e4ef4e5be21986b07e39ede346089f841f11732be597a01ded75667ced94a944bc7ded4004ac739a5dc79b88418fa16a923d6dc6222c273bd83c23dc1035a87f2970902fdcb57a25264256ec206f5dfc4561e344127065fda71b43d77ee7d1b354a27e35a5f2920bce0c867f7688c6d7b88077028e786d28cc687559eb40e12160e530eaa67a2b3957eae7c8c84250de29445378b7f9afda58772219afe889e0a43dba2ef7717c9f04b6078b08e6135a94d43f316d84c31c56984d36a9e3247daaeb466796eedb7cf5f95ba0d47ce1580e4692f5ad2916a1b8c86d135e56f0abcfbcd2470cc394cdd457952eae4d - -COUNT=32 -L = 2400 -KI = aa7cb317587403837a4be74b3e35019635640d2b072469e5 -IVlen = 128 -IV = b502f7379a4097b19cca86967e66f114 -FixedInputDataByteLen = 51 -FixedInputData = 3acccd5781282724c4c2d077433a761a0c056bf57a70e746fb5ab37b52e5b29b61582592fa3e2626dd81fe1aa02334a8be71ad -KO = 9400639bb75c01df9e516da012c588f7b2557960362253b0021fd3f19588453d1ff38482a5dcbcdab0163c79fa32e2c5a258d8ffa8827f1c24cc67a43a6cac813e35f2f942cde4aac84606e6723e4248d16511709e25692a1400d46c28b685dde57ceb567a8f75d5dc66c540d75ee8251364e14ae9fd2352a4b757f57de4bf7bd514c70359ddc56801f7dd3148275b4285cd8df069f87ec93d2cce6d30fb8054a14f7c1984300886de6d14e168930218d9922aaebb09796d47d2b2c95bd8abe7b4385874f483a5c4d1ac0cde64fc2b6d44dde25be41e397b611ddd6d16bbb70b83844c537bee802ed0a76ed5019c3986d8a1ebe0c7f9779a881d887a20da5d90966c54052436995d33c65b3f040d176266e021287bc85dd4ff5b9b3cccf94e14b0f8862e5499c686089a61e9 - -COUNT=33 -L = 2400 -KI = e4fe1a0cd43a5f79d84a91198ec7067b3d01fa9e80c42d48 -IVlen = 128 -IV = c75939531d5a2d6542c64d817c3460c3 -FixedInputDataByteLen = 51 -FixedInputData = 98833400cbd3b01fd66224defbedf348623b462ecfac67856d610f783e59aee629faafcba27e100e8fb8927773a8d37bf28301 -KO = e7c3376e203c9e847f4701ae70897eb351749a225499209a305ea843967754f0dce0fc2c9c31e5f6647e86a2f5dd2613635849fd6c3a18144a7f5bdd0314104995575c6d20256c9b9444c04009d85cf523c96f57e713da650984d8a95dca234b85de909bcf8a0068fa004e354cd42937ebe59b52dca32aafc8723dbe4dbc235cc2a4d82a42edd617507b61c3163728cca85c043ea46f6e49a95595c9b5774a7eae37c47ae95cdc66ff7c200ec1a64eba3e75824be7a4ed549d7d74da22ea453ed68c7d4b5b5add9bac8946823de0efdaa10693b0a1731ae91941eed7e64b4c5fdeea97a231680c8f5cf21a35f87e0040f85203836066cc54febc8b743218d94cc5d4e71f420b07db97f2f212a4482fd308c156ea9f02f109b0f3186b22e0faf7480e58baebf9fab317200fc0 - -COUNT=34 -L = 2400 -KI = 7f198ef91d2b1887af87be9d35d0de2a4d9369f2e7b10374 -IVlen = 128 -IV = be66ea153ef13bd45ab1e0de808f2dc4 -FixedInputDataByteLen = 51 -FixedInputData = a370d05586d050d08143c7ced7ab53a96b03695fad523a4e737b5f8b4815f2a99ae40f2328b644d8ed5890e294032aa40cdcb5 -KO = 404c893942172d9a6be0f54b1139b3ef06ca721b06876f41a9f0847a4d2091bebc45fe18c7fad85c5a5f4d47296451a6ade2538721c09632b1af00eb592b72458a5c67da671398350f93278f075b42def69684ff7382880c60a821751145c62fa0cf3a7c8178182cb91a0b4a2ec740ca10be52090faca7ed66f03933351eef129c6fa144b4322b62d56beea7519fe035aa87a182e1902192e28dcb2ad7425883aed203d3fe2bbb32e56b55a6e075a0a0206153954e793a8635087914938fc1bf300425362bcc51a0355adf3e926cd4c8b435d4a0a9869843556612514e5854ffe389aed6e77a955078e2ffa48e7fa3e3fecc12f2949930aea1af567ba214a942dc0f7f41e5be1e9dd14b30316332501a241ce188cd95cb8e47e522dec5effc15cdd8605afda65b306e51b8d7 - -COUNT=35 -L = 2400 -KI = 171342ae340efdac0aae82a0b2f02c6315c9c215f93d3e2b -IVlen = 128 -IV = 79db6ab273d86934adb5c7d3269c5d0b -FixedInputDataByteLen = 51 -FixedInputData = ac08a49f39973f05e980433c6b6364435374c7475f039ac616a1ea2c95455e37997ef7d9fc86a21aeea5edd059c89faf526ea4 -KO = e400965592495081de3eab4632318fc4671515b25897e25215dbdcdbef8a4b2d6c54d2f333ffac8565b3b6abcaadbcd8b37086ff0ddc5159d3570bcd108095c5676e6517247d469fcbb030b0192f13c67e4b0e8552a6465d2f0d479c4fee28a373c3b8eb4ba97f65f77f8e77ede08df9c1db7edd118c228834d738cf016b003e669c72a38ed19941e82c1db85cb652e79cbd9c597935c4c34f791fb53fba6e19347eef13ad45e36743e9e23a31459fc8d78b8588dc87387dc7f9dd5b658cccc218b49d701ae4715cd7b0bf51077849d288203634c3958c0ad24e6d694a3ccb93da7cafd524cadaa73f3ed2371a2ba772bb54f94743dc95152367e40af2bebf70fa102e836d4b45332b48c59218a5485998af52a0eeed8045065d6662d32ebb7486cfe199e1f636516c534104 - -COUNT=36 -L = 2400 -KI = 5abbba670eb862d2d72a30ba701bff97a2f9243bf876c65e -IVlen = 128 -IV = d7bc58ec99977c76f2d58ea42a71f53d -FixedInputDataByteLen = 51 -FixedInputData = eb27796fc3cf9ad765a3b3f374d7002906d7e0a2562160de71def4941208f8a75c0c50a35118fc43ab2ef6ea8785437f9bd7db -KO = d7e1014b1e657b113b811d3ddf9be1420a9de80c1a86497594c281a89d2c344f8f37abe68e0fe99d511f848cce16bc44667c45a2a095858a5eaf0ccd76a9da374c75e60fef0b21000bf15f913fca8fa4312216511473d4d0cfcff0e65f7c8fd7fc96c843575e527cfbb1ae9a3367d1cfc3bba06a553555eff3be20ed945b6a723009602a4e7bfc87143ec2d2863e70977d28842b992b7d3ed6dd3bafb63cfb1de6d12962e3754839c4c961ec6226153ea3da202f160054cbf4fed7f9cbd84fc4639f836fa7c78d6dc3fbcfa59eb95e396fc02a4140b98bac4488c5a5c28890b30d839bb704c21054352883ca2ca10486118b70a8ed188f2fed453dfc7a87e06d8e9fc59fff0975922e6b0f4de75c4ce8db8b9a64c948c916524dde8e83d6af764f4743759bc7f4d5921fa120 - -COUNT=37 -L = 2400 -KI = 475e1954be9b521b729489465c3505112464800780903a68 -IVlen = 128 -IV = 38fa5ca972fede526cb414843cd8c033 -FixedInputDataByteLen = 51 -FixedInputData = df39c8da4f55dbf6f991f8fc855ecb2b9fc9b7ade864aadb97759bbbee9dfda97cb9ec308576a188bcf077d4d766b4ec8e598e -KO = e58d23fba484263a1cb2d40763f4159e490f647391f7e62ddada0e396f0750bd7e8369aa1ca112f8f26d89026c9313f67063f7ef158468df4bfffba571c26a1064d1cec7ea5a9d617414e6625df44cef3aa466149c7717178e1181156e055712a50968e550ec7fcfc4842e6bd683adb7a396d15422085ecc1efa6e761116f3b2809cb9ad6ee4dec35aa744c9282a057d259ae076370f9387a3ee753add3c9aad3a7128d50c549bc71ac6d81860b33323a79afcd54a3a6e229bd6c14b17add591a58a6326d0d6f19053ab5e00da878bc5f03251574d023297773c006ec94575e1e8619497a942258a7bd376d4ef78526c7ab9f6025578dd301df42be770997e0a7f493d4fb53f196053f65169d3333bfd45d8ee7d8e2ad10cb35ee9cbda663d362fd212bfb6053395700ff685 - -COUNT=38 -L = 2400 -KI = e247465970c7d200b4452c689fad17c1cd8fe9f919220e1a -IVlen = 128 -IV = fb052800d92c7eb20bbdde6021adc2f7 -FixedInputDataByteLen = 51 -FixedInputData = 14cf7f8f49df22d0e9a7ab08087ada881d82a78efde1e7d82ea5921a6be14034257f849f22f2181393ebd0a103919d1b052a88 -KO = f7f525e829d02eb50067fcd873172a57c2878dab94a6e0fd73a1c6fade70f05e08e9c4a26924406833465ca2b5dc1acdb33de77b13c8778b4c1885cc8affbbb8c0cdd793ebb5cc8f5faab93bb0905e24f163750e02c257b3febc9eb4f1fca8448de3b6f10c9241809cd9761403d0ae6d12ca68dbae959bd73c964e11ca07b65b403a945b7c24982aef974475d7f4d562c4925fbe497d40a39cfa3999d471facd9c516a7a4c82be63770c33f0b3c69f4c6326d3e9a9c8014613c8797ea3634dd7530075b0f76580db30814625b80bcf4684b815857f1c350bc6de047e1d9a3214f7b26acbe8e455764becfb874ef86f9d6a2b817ae64cae719d3e9e998eb157a98f2d8fb6b8690904affd06b302697b09adc3df08c0da8eb571744c8a66661a6cef74c3d5c2efe2639d742592 - -COUNT=39 -L = 2400 -KI = d2285bda2dd8c824abcd7bedd5f3732141f5114ba6d67579 -IVlen = 128 -IV = 896e03b557be1df8a62bd590fdc9fc16 -FixedInputDataByteLen = 51 -FixedInputData = af51a5cec7c55f8f714a5cc974ae9a3f3f908bef3f3c8096f949aa66783b0ab66cbd4d16c2f1d7de9529c436c80d52d6fef730 -KO = c71ab0c00f494b01e0b9e442d6ece29eff6924933fb1076f31ab5566a0ef952da826c4628cd0924d11c7a5bc7ba26b5d16e6aac81d0648e246bfa7a659057db05e1839a6dd0fa8bc6fb4b81b67592dce79228350ccf8558de6647b19f8b0c44fc16b7d30e94e467ffe3c28139b9912ac80eef143ed44cba66194693bb92f8f2a0cfb08b5fa8d1c9942b35c8cd13cfbecca618f3492e2ec7db166fc1cbd8b31b8cf143a86db5f9370d8dbbcfb69830dc807ce41246e03b0ee29e529df5cbbfc88b91fc4a32fd473aa6805839be0b63543fffa846d26a94d289d745eb997affb6fbb11dc3dde84de9ec30f30c7990f94af2b13f60a46c2cb09fbb14182216f99cf3caee1a05d355418d06885d0c666909ac935dc0f3bc028dfb885a4fc8559dd5fc43e64dc86e4f61301c16831 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 29c9da2088b3d84446c37b6ca52cdfeb78b60ec45f1cccc2 -IVlen = 128 -IV = 2001c552eb82d98fad2b91cbba8ec591 -FixedInputDataByteLen = 51 -FixedInputData = 594e2c17643ae13e637da8b6256061c4bdbfd0a73cbaea7440079a548f81e3ea9380e453fc23befa92f4b4b088f83d523032db -KO = a82da1283334b0275db417991a5d0e526d32e2a6390f1fdeafa8b42e3864e74270deadc5266d43875cf3a7b435cb803e6a5f80dd9a35525d39973a135e40f504 - -COUNT=1 -L = 512 -KI = 1e19e506ed4adef8ef6146c05ca7cf658176238458715e05 -IVlen = 128 -IV = 1e02ce35ab0e17dd44bedf41b7ff1a9b -FixedInputDataByteLen = 51 -FixedInputData = 5843e827e6efd87733473b95e58976678bf36874c1214695185004681fc39b00eda530cced313c0dc4a5df7afd75f014025bc1 -KO = 94807a41436bf4587d40442d9c125ee01e61ae75bf70b669c8428d38402de92087672165de15b7feee43c5508444369d19ae8b19595d53e1159b0754591f5398 - -COUNT=2 -L = 512 -KI = aab568be83959d82a7904c90ba707884385bd3f036c2e09a -IVlen = 128 -IV = e36286e0237a5577da26c2db060f371f -FixedInputDataByteLen = 51 -FixedInputData = b26556187cda42dbb68fa1dc23dd71ad96c883ba00cc9f250eb51db02e391e60222bcbb90ca3c2b90f8ed29a60877047cc49d3 -KO = c9a690aafb0f672c78d66962e7ac5b78e084d6569a34c847078ed502772dd368e4e19cbb78a41a51f698ba7f3d01074fcbd20b45b448ef200332b42f1e1c6c41 - -COUNT=3 -L = 512 -KI = e29911a75a1540d3ccbd4325a8180d9a73114eebe31c19cf -IVlen = 128 -IV = 6303a01f12f523d1939345251c375d3e -FixedInputDataByteLen = 51 -FixedInputData = 9d5349bdd11b50ee13053b5b58e0e1b7f0b3749b8f394a8cf611e1642ad8992c47cff38759eac2ee360adfc7d11a7a15ba9aac -KO = 98748aa81344204a7761280663262c3ff3fdd162c757a59fff05244c5ba8b6ae675103f5af3047756a80c8b022a73ca00bf479bab49ae37464e3a4ed90427312 - -COUNT=4 -L = 512 -KI = c4022fd5ce4eb4633fa40816ca3bce5bcac3df9235859215 -IVlen = 128 -IV = b0e97a67a39d8b167dbd4975ea71188b -FixedInputDataByteLen = 51 -FixedInputData = ce84d63ce3004f8d29eeac7c66487f59b5cad6fa5753cb24bb5964ef77a7f18612f6b1398e0756b12037f058a78e8ce8b54e11 -KO = 67888b8a272ab16e22ce18f28033d23aff3d600d8005a7fe152306ba22aeca7bc85df0f4fe06046e6a0ebc286281827b79c134d635dc6d3630d1d7c91e6885e9 - -COUNT=5 -L = 512 -KI = 2b9889dcb3dbbd39d2403394e726dc8d3421ae63b01fe294 -IVlen = 128 -IV = 5107c51c2b0a04a81730364ac5eb4e54 -FixedInputDataByteLen = 51 -FixedInputData = fb21a242a8aa58a2e312fcb767b2364fd7c864dca90d1319775c908daa62c607d4cbce85997181958a0159cccfa2bdff60f293 -KO = c86dd08af562c7677f155782ce895738fc88507ca6a9ee409295f8ca70b2c4cec42c021c5c7354c88bd18dd9c30ff9fbad61ad44c7e1b647721e5df579eb1a18 - -COUNT=6 -L = 512 -KI = c1bbdb0b3d2a8033d76af42f283b09716883dc9877726726 -IVlen = 128 -IV = 01669e06205f7920b41779f785e50327 -FixedInputDataByteLen = 51 -FixedInputData = 9794e95d4c57fcb472cb9bcac6a2caed20df2f502661633200943a3c8c426394140067ca725531b709af55fb4d1253a2417628 -KO = a4801639cf6c953eadb324528157085561b3d19baf4035cb841016bcab980b6a172d9f1bebfc983e180d935e30bf477711e81374f8d801652b00a724dc98058f - -COUNT=7 -L = 512 -KI = cfd6364ec73610586e7a0fa8edeaec1a39f80fe37ca91a04 -IVlen = 128 -IV = 6ff31310d0276acb604bac89b7427589 -FixedInputDataByteLen = 51 -FixedInputData = 71cd5c0dc7da75329835fc92aa5429aa7973b1302ff030efa22419adab1395765e2b52ed0f685fb68987a40ae0403df85c6e8c -KO = 4a2388a84ec1c1d4cf84f67203f30fc18013e006f635be8067a26b47c524912687bc7f83799a5e4d83b24f71a7a54ce466f68c0e96f6e7aa287d1301c3042eb0 - -COUNT=8 -L = 512 -KI = b7fb2618b99e647d3996b69a8831dfe0b8cefdd4195e8d30 -IVlen = 128 -IV = 63784f3a582859b22eb32fabaf028c03 -FixedInputDataByteLen = 51 -FixedInputData = 9ca313f966376e67e3dd03b4ae3bddadd279d41ba21126d63bd57867a44f926cdf1964cded04dd31cc9763561f3d957eb2fdba -KO = 53dc75999ab41f1517448f0ddd4b7ae1cdb5729ee8ee86fe8d9bd321f68046052a831ee5d95c1fa23a52483bfd320a77eaa2418059259f0ae538176ff52b116c - -COUNT=9 -L = 512 -KI = 1da906859304477d17364ae486f9c250de8a7c95f7153ea7 -IVlen = 128 -IV = d1d8e83ec87ac268f0150ba09ed806f4 -FixedInputDataByteLen = 51 -FixedInputData = 7a3f691c071e49c6cd4ffb3f8e808008775ae40fe1748e7410fa1452ed50f417a0736baea9573117d11e5a5719e205b63ff6d0 -KO = 5daf9a262b69bad7d0f10b92ccfc1cde944c3a843bee23629fe13ae1bd7925d2b6e51a3d8cd11ad1e029586a9a3a1fd0f65479d335dd11129fc695b683a0c146 - -COUNT=10 -L = 2048 -KI = cad8ca932f368b1e263be14f7ef811841c4b6dfc2533f50e -IVlen = 128 -IV = 76b6484ad67b7cbda7ea2c46111f4cb5 -FixedInputDataByteLen = 51 -FixedInputData = 6e8def8a7e19ec523c03644570aa75ce315640307fe051c4541006d29ebc0e4d0a9b978a9b8ff9a5c449246598fad0f4c2cab5 -KO = 2687a62f94f2b6cb1b46eea6edd99a2d62c942399d6a15a21ceb89100c5d9c0a519e67062d786d38f9f4886808acb72dfbc5444029fc1a15b5becb7bd839e34a954392fe069d4be4a46f46b1c855f0be16334fc70c0d6040425aec0278ae5e46479e54eb1f74b48cbd4c1afc3686e47caf087071bf2f763973407c767778feb4d7a61a42416f844bc91aa116b51eef629f0254ad0ef661b505ca5199c06a36983e6cd00964603a9c6dde2400e590e2e1a4e4fa305ffdf272803a4a325140b287ce63ad284ec3c9ac69923845536916808858bba9c13f465fb3cd4b85f467b8cf83e8a314d5a5ef41d3c829fa2367a2a5d086fe0adf82eadc8169d5a55c17535c - -COUNT=11 -L = 2048 -KI = d712f3a4a4334e83796d095a4f66346f586db488efa3122c -IVlen = 128 -IV = 7e541aa2d4e10dc4c351009917b98ead -FixedInputDataByteLen = 51 -FixedInputData = bf5a9a10c412b0b30cee0384df8ab847ba64b9675cd0978595db2ae69a8ae6b66f77d603d6ca983a185c3a631e07d7b00a082b -KO = 53cd025e5619af078645fd3227631fbab5f8368bc9a6d3ee1614620132653ce4fac892556421ab5a3c0d9640bf5276ee94e9e91f505a58245bd309910a63251eb8920e62fac7250520c261d28a4b5f2dc829bd594c89c5d66b349efb1c3b0376f71049800b8dbce290fd3b5970b66ae2a84d4b9be277cdedee103ce900c5ffd3450661421ecb6e5c7d0f402a486df6bde5b35be41e7ed02879abb49d913c13918538a7f6ac6bce298d6e8d44b50e1ca63884490192c4881b60af9e6c75f9d91de83362919289a909e49c921b8bc604fbc62d541db5a03bacc1cdc23cd7c3386b427761e8314545e7b8618357d847206b17cbc94835abc83d0d1c25fa3d0a1026 - -COUNT=12 -L = 2048 -KI = 776c8f6fb54e1c3d90c358c27737c9ed4712b424514d7092 -IVlen = 128 -IV = 01814aeaf8bfac50e04e711ae1e93d67 -FixedInputDataByteLen = 51 -FixedInputData = f710be0e74152ec8a53eb0fe4e558f633761e8cae1b8c94cba558adf8214b6a734a95858cc21e627084b53365b918775f6ba28 -KO = 0b042d6ea707c1da1f7200992f8cab6911cf9180caee080cb31d948269b1bf7c48ca36fd0e0fa81825711dec34b46539f3f4fd38409808f2767326165c5b823bb5e6dbff5e38afd9334208f3dd95af1ff70aa2b84f3b4171c56c5980aa8887d5269beeceabda0dcaad8e3d12fe834f7c9134dc0933b93337599cf533637b2c542c374a0e08f92e064cd8ad146d469ebd00960661b7c6e6b61121326cd42780998f7f44605930d68de1fae1994c6830db013f426e98621254028cee2a030d50ef9a3f25105aaf30d6d2c6de8c1e187289217f68d6f1c9b4032fba6faaea9e9a18ab1ab1ffee8f69c88bba77957114607bab1b58bf67dcec9d5c2a75f836719089 - -COUNT=13 -L = 2048 -KI = e988d1053c605f80cbd88720c2754562603be73800baceb6 -IVlen = 128 -IV = 0b8e64e0aa98717c534e5795f2447513 -FixedInputDataByteLen = 51 -FixedInputData = 3e40b03e66e4e3cec8b9d81ec470efb05130814bc9ff10692f36b982121ffb3caa50c357d37d1b5346eff46694d454cb580407 -KO = 46dae7fdc3737c3c831deae9b95e6b18cf518e7264a3d6b5d067fc4a310f9632a04ae9c363d5ff5be571970e40057270a651b28a816acfa130d8f12ed17d27be577847839cce342dd15fa3719398e6b8233dbe9b8d9c60c98279b45b79a25ffeaadafe138ccb88ae9c5c3d7141db48b33c60d77d139f5f49bde268df81dfd91af13870f59fea8a2a1dcaa60a837a7512243efda43db5bb7016277eaf0edfc7f1a1f616dea3551474cff40ba31f00d24f4cdb0f1c6ada59e75d263fbdfc8211f5882dab799fb411af0bef824c05052c6890a8b9ca3e277a3b7f84f296a14ec20607a900bf6d931bec8e4583a0dd743c1b36a0af2656a7933d2ecf9fd1658631a5 - -COUNT=14 -L = 2048 -KI = f109004500e41db31ae7e74234230884d59d6b41243af227 -IVlen = 128 -IV = d9675a9d11ef526626862f4d5d83dc24 -FixedInputDataByteLen = 51 -FixedInputData = d392a5f166544dfb61aa261d932142f5511eac7b3f41e184398b3ecbb230c12d7d19b76e9ae0a20b18770a38acac10cf1d2c86 -KO = 274096267b5053e885f40941827e7a3d8f86dda8a3e40ca0f2a4c8791b153b71896545cf98c1a98f1acd350a26cefacb87253cb962643efcf285e35789d5bbf65ef242a9b2c1e808d1e249c8c8c5c39b935231ad8cee5e543f3456b8d7f371c3c3479be4aeec212e7cbd9d8d0d5986d7b915abe7c9738b6cdda0eee0659179f11eb96c1c38cc2901833d4981b57333c980c00a5296d5a0e49b9460180a2152a009b0dab12b2e7842cf5ea22708d34e617ef1232365f9366b82f60f0886eadb32ba194e5eb97e01a6f1d072c17085ea6dec551db5aa3422817e5c27e1ffee2bc966b0a035033dc4b9d59831c5606ab8922216bcdb8a53654151dc60cecef35e22 - -COUNT=15 -L = 2048 -KI = 3775c88409fef8924d021c8d47ea011ef520ad45c6100532 -IVlen = 128 -IV = 29eb32ed7230e1871c1d014d3b6e7198 -FixedInputDataByteLen = 51 -FixedInputData = 5c2eb62f232f9e0527de455cf00377145cfbf13bd5e608432be91f772877c1b80913bb600c3fc44d41419ea445a02915b87377 -KO = 340d65d9dbd2525d771cdf436f6ffc9e54952a2180b2b90693f21b040e67927d4900f9d0252cd968a07c9cf27277399d918c7a587ba2c1e6ec22234e3f144ebe3e1ed675ab1ad033799c6043386284967edfea30d8e323d27ff779d3e1108692f39e171ba0db601ef31dd5217e8c26e2fb0014e4af247d371cb5f4d305429c695bdfa55481529079dcf7c557c7874f02968ba0060af789dab849f0db8d0046cffde577c0ea1e803eb86b4af12b17e860b837b573b11953b5f84d2f96df0f49de0772ded73151ad168927c75aad1cac8d9fc645da34f0fd4cac48bdbab3e8f0d5fbacbaaf35ab7207ed1748dd3782896a3a9a9ba1123a67a6dd935d58be71fb4b - -COUNT=16 -L = 2048 -KI = 6bf22a0eda05855aae3e51d1ab1c99838dca725dacedfb6c -IVlen = 128 -IV = 55de3129e47ede9a3354b8f744364bf4 -FixedInputDataByteLen = 51 -FixedInputData = ab69cb4233a318a6800e5391632a99739aca4aae6773c27f2263824cd49067df0653d26dac3178d0010587580180e49ad60039 -KO = 68c3acfec4122e8a7e8eb18e2bc9802ebaca9242f63fd3c573be27d0b65191b77404d2775bb7382e61389de1171616e0307ab6e486408e85c143cb3c6e698f97b682450739f78abbf9ccaadfa3aea1a792d04fb803914130ae3094748963d19ae614b2a0369de857e0d28dac455c054d551b7f34ef8ed2aa993ff13f363ff08cc87a352594947ca4225c0d7e16399fe5d043b86727a759e9d5767b50a2608543e67f77432d8099d9c0cd156e755736b56e610a7e307644f153fed6e3473bc50d214b0ee8bcff81c5ff9107e1f732381e4a4ceedb5662354dcc545b975c79b25494f5270da9a9882b521e02dd4426604a91d31c5e9507608de72cbe562b38fd55 - -COUNT=17 -L = 2048 -KI = 372585620e1b9e9a9615703e610e739510a82f4b5eccced7 -IVlen = 128 -IV = 79df36487bbcfff82a1cf74ee7f22c72 -FixedInputDataByteLen = 51 -FixedInputData = 258836f6fe93b3f1adcfd421ace9b60ae37c43c52067f2190b8a91fa2becaa3b60284fbc46ebf0fcd03907c9bb3b49356ca441 -KO = 721dee4da155b0d90424afa4fb42d6755526802bc7c7aed796d8fa63291c80d71c3c2ffcc25bcd07bd57ea79108fd5f0e89704f1f628f220b9f6b954aa40b276e01c3bfbcb2b4e5a17d5a1c6cff212e63012c5b5d9331edf99a54bac3f4e553736d97f148800a98b6a7252a2a0f592391b5e206c60d1cf78765ec3dd94b576f9c701af0d6658a6b87dfddd6e4300cbe013d95d372e42ce00df8c768e90ae52bb25ccfcabde00cce0b0197f07e3e9dc81b70eaa7e3c118975a1d251a359931c271c9a29496d75cad338276b5588f2add3d0f551dd25adbbff9dcbd495c221f39f59aaf5dcba840ca7658851bf7e9e083286aa6c6a34f34864c72178ef0f0e6ccc - -COUNT=18 -L = 2048 -KI = c113d8fe0067d1f8d206f55aa5f0a112b02a1dc1666b085e -IVlen = 128 -IV = 6e1df40499a62c6daa6bee6eb8bad52d -FixedInputDataByteLen = 51 -FixedInputData = 5a1f902de270ee0c5cb7ec3caaab6a3f10f478d3b56b69614b5e3f351c57325b45252761d7ba2deb990d58188e46e02de415cd -KO = 65c16d89b194e13cfd1e420ca40f3371909eabdc6721175d12e88e39768ac6b0257a19b0abc433e84eeeb274429913f716caf852a77928ad9ea7ba1b3227f0af257e3d11e71284431106f75683fcd13b3069804eafe6439f7efa8dbe0faf5489628abb495a6d685281d85a976478690e77f3cc116b371e9a2dc41f3f9658c3de44676dd4ef5c72d2b4f8078474834b7d0d15e0342c38b899fea38ae1ea1bd97dd5504e27a1c4a4f3d4955f904c4b3dbabc634fa12236fe6e14a207609d7751591037ebf345d7bdf2091ee1980c7a89a32ce7c2359a8a1e695d6caced78098f61c5a4c81653f4e1331da721b44b66b407339eded708a5e4b5ee7da96ebc1c33cf - -COUNT=19 -L = 2048 -KI = e5471a819e1ab273babb9385300961eda8799ede5f987e8f -IVlen = 128 -IV = eaa2bd74e3af968b2f7328e28b92ffa4 -FixedInputDataByteLen = 51 -FixedInputData = 78d3fd67557bf060517615eb8629c723d5959fbd29e2369fd1e977c7431fd2e10c94d679d812a4b20027f66f86778d6e259629 -KO = a061091acd36fae231363fd0d851ea8306a026e05b1dfa74ab41e18cb463df83396f6c38b16ca6d2c739c8fba1213a8c98e5617700bc0983f9ddcb1beb3582f167c62d67fd84542d02eb673fb1efc1e2f35d4c2996e7e8dc68486ca0f1c1f9979a1765d32c7f7bff5e4b92d2051220de7ffa34302c4b3a3b58a008680917c436585976ff38e808afd85487273eb2a4676bae8eaa013641d1af4d5890aeabc07257c2f7fcb23d2885a525f01349e1cd0037cd93090ed3873a69ed8459131df71fabfce4a986a1ecfc724adac2717b5c37404089fb9fb79e8f1cb94575ed863cde070853cc39722c1a1e8e931042118b2dd077350ae3640d9bc7fa7da3fae65bc3 - -COUNT=20 -L = 560 -KI = 0f9a822316f17f8906d20a80bd9e2824d7164659b0e14c85 -IVlen = 128 -IV = 120b04ec789173d95d49e7acaa7cf744 -FixedInputDataByteLen = 51 -FixedInputData = ef0e91bc4e3b83bcfd0304985cf6fe47aba2d16607f9dcd6a502b7b91b04027a0fe5f4ee6b707adcf5bab95dc8a85d3911f906 -KO = 6767fb31031b9ef762ee08a36202a60648a73324b0639ec6e2e7ef35f958828dff40c01b372803960a910b824959b7b553c8307e196d397d0488f6f99745c69c6312e4a2f3f3 - -COUNT=21 -L = 560 -KI = c817079f558aaf182bf74e60776808feeb82e58f2bbdb729 -IVlen = 128 -IV = 0f5f3db967a791b77cdce7e2a87d8f06 -FixedInputDataByteLen = 51 -FixedInputData = 29b0a5ee5ccfe59a00606707eae52fefca0fb6387af366ae7daba3e50881106f6068ff3f6e3e8276f2c6d00dde2c8d8356837f -KO = bb64e085f424b481943f9596c6a142ba59ad5f4ca4e39ad088fa4b415ddf62fb67c07d7ed545a7e25b95862473ee5600e4231de6276feb3cd2da1acbcc100e901ec8ef02e00f - -COUNT=22 -L = 560 -KI = 325997b81e350a873d471abdb4d629eb54fb8b0510be5c09 -IVlen = 128 -IV = 6fba5e761b973f898873dfff7952eaf8 -FixedInputDataByteLen = 51 -FixedInputData = aabbcb476cf0c6a5e3836a34dff43578584ed66eafec27876933b54fa8981a120d05c81f38972dd1c00a29748603bf4462138e -KO = 40173be472aa76053667dd8c0f31235bc7167fefd3be7283ed9a7a0544bf7f8a93cbfad73dabc22f424a469c9fbb29526ae6d46b34d94ac9333f8d46939963388e11a336f8fd - -COUNT=23 -L = 560 -KI = 5a4cbbed0c28d135d13d353c6cb6d05fa0c044e860790a1d -IVlen = 128 -IV = e419befd470f8b4ddb929538ede1e990 -FixedInputDataByteLen = 51 -FixedInputData = 3e0e2df504421e7e819fb195bced9fc2b7875582b8bc2874a8c6bfa3daf6ac3a2afa6cc5f785db5b251390ed83528ecaf38dee -KO = 4aa6a47e663cd55c6e03128f1003da92baa15f156613a16588ba58c5282ef83d9cbb379454c2f96da1a0e1840df4499284f851b58efeff66799db10704664716d5582a11abf0 - -COUNT=24 -L = 560 -KI = 8607dec238f6fdd54515f03eb4ab89374e4395ed13b5284c -IVlen = 128 -IV = 02ae669a91a41d3c6edd9f0993bac976 -FixedInputDataByteLen = 51 -FixedInputData = c2c3593bf26cf14bda1298cbc1eb87bf23218e10fe4bccad0fb43fcd242ab377284b86622fc9d7848d2ccc0367d0bc2fa874fe -KO = 40f037ffeeef6aee6fbc516c359def86cc9e336a9094eb8b37b729cf18771da7cc028275b4f3cabd532ed1932e0a7b2d1269c049f23b2635be8698ffc844871dc1a219b0f871 - -COUNT=25 -L = 560 -KI = d191ec9532ded3dfca0458e4ff2b978f871045685bcba34a -IVlen = 128 -IV = 418db22baf0850aae8637797fb50f123 -FixedInputDataByteLen = 51 -FixedInputData = e6d84da20af424c702bfe02c3bfad49d4f0e781509007117ad51e5798c1982519cc8b00571c554819349899663e5c0d76f4399 -KO = dbef2b81c1303320e832f44ba4365630fca2d1af4168437196c4f4f57cd66009918c592db85c504f9ed5e278ee219876a3c5b1371622fb0b655ba44e48dba20e9783d9412a56 - -COUNT=26 -L = 560 -KI = f0789126e789f53a767fc46c270d70688f6d91249740d82a -IVlen = 128 -IV = 52df4f820000e8f80268cc2da9a9eae8 -FixedInputDataByteLen = 51 -FixedInputData = d349399d6751736856559dada15357b51a9f2f4f483d0272dde27ae73883f88e8589a7abdca4c44cadef18fb76d07aad27e799 -KO = 1285c0c5bae40492736d44141caded6e8f899189fc16a03559bc253e0116dc55f05b10d09a2307fa921a13619380e77525669acab817f80b375fe12195265d9c6891f18b231e - -COUNT=27 -L = 560 -KI = 65522c4630355412dbd4906db1f1c5eb7c81d869b748dc8b -IVlen = 128 -IV = 985562b96924192327a5e18725b33258 -FixedInputDataByteLen = 51 -FixedInputData = 6f714959eb8c6103c898a1cd7dbadc98331376f6b2590dccad28b3e584522e3631f8b6daf92fca1c8154cd76e19b1227b0983c -KO = 1bd28701e3091df0270497c92c09b6981695a4868841b0724c36ecb8b161fcd1e126898cd23880c1d60aa2e528bec4863207997ff9fe91308d686291815914656e8bb88bbfb2 - -COUNT=28 -L = 560 -KI = c27d174344fed97c3d36fc93a1789848fdf71af8d31ce5f6 -IVlen = 128 -IV = d1df3ba4cfaab92946eb742e9691ef84 -FixedInputDataByteLen = 51 -FixedInputData = 6391df2600547f21e96d0916e6ccd436e8889e5beb624fc0e75c58025e5fbca398775df706f16e2a23c4e55145d189714ba4ff -KO = f8905c40f8a5ea54d8a7d17958fe33546b6fb1b5a6dcbb54ce0ec72c125eb85186b13ef03b32cd54a6c404223dd0db3feb786333a628e4d122b0b504442bf5b16680b38b88ba - -COUNT=29 -L = 560 -KI = 104d995261d566dc30befd0ae33a9f59dd15784963905b97 -IVlen = 128 -IV = c5102737b73f0f925095b1cdeabb771b -FixedInputDataByteLen = 51 -FixedInputData = fe3407f6ace25aaa3e19c32e1580a1048154af5fae7a019f6c5eaa047b9e07fab550e99885f977c1b3c92f91073da4ff71f081 -KO = 4b22ff4f3615fb8f7aafab52922bf24d7bac97f4a92b81981233109053a62d41e84f0a28daba32d890d20051f5d7fd658f4d61fcc15709a30113294764c4fdf33956a1cb4819 - -COUNT=30 -L = 2400 -KI = bade57263aaa3a89b5d6c1b15ebe0403b6ff0707bc633543 -IVlen = 128 -IV = 63b227bd402d1fe5925c2b7a399032a2 -FixedInputDataByteLen = 51 -FixedInputData = 73c441f11553e3d1e0487136cdb7f03668b9c40d642200d7cf9a96f31f21dd5a347340453e2b013675fc1891ca64e4e8ca542c -KO = cd75abc9a29c145f4a82de2caeeefd225a685a777837e2a2ef89dfd06de33c39c983b80e9d83022514188d4d6f11f3874ceff21a588f769ac6c27a436b2042eb4139308c8fd12c56c9ee7b92ba787603ce2c7263b9cacb3d23b6b8dc4cdb289dbb5995ca6e7965deeefb4309ff46fc4bd65df88f242ed1ecb9fc099c9f6df8e3a2f9ca80a0249f3ad24ea634416883ee3f0a3ed5fd2997908af1ee157d1808e897a1751ac378fd564491f3075f7a06ff3c317a046cbc405e10965268bdab8a1407dec6b6cee45609fb20c6bde48b5ef4437d284300ced3c9f83ca3d6569f133b11d40d68011300613dbefbd08e9c449892297c9ce278e3723e97e71e202edd9c0024cbb1c7a24d328ea40d02b47b0f482a1f79845abf93383663ce54ef4b6bd042adc68ea7f196f79b705771 - -COUNT=31 -L = 2400 -KI = b777b2ca134f4a513dde5bfb75294cd5bb934c76a6a0f14e -IVlen = 128 -IV = c4ecc485b28a8bce2a6c4c2569840d92 -FixedInputDataByteLen = 51 -FixedInputData = e33618d15a338d0c315882b25ca93ba3ffd4f3721368a52b1abc5400a695b5e90359f8a0d9562e75951549ed44ac11e49d825e -KO = 5b467540a9fb79f4bf1b82f45164678136372c4d0d764609dc26bcd2b5e1c4986e059f5b2ba90ca57e88399c5dbd345679933583765e702dad4529ad7c4c495116816e6c4c3f636fd2f0d9733f339c79340407f7882cd7e5940fdbd6bbf21e21f6670419210850ca1654f9d9d91285483d04ca4b60f301efc974169e743fa4dd9c9e7462223ec82e984fa64d4ec7f65014e1bd134425fa6d4fb3fde88ee25a657f5d10e981688be46bd25159595ad245410d295bb16844385d308b4d882f28b15302fde5f9fe25f689fc9c50f5b80748be4e1bc11f156fc0171527762d5b4f5df4a8b164656b6197ea2d6c5fa5bead948673413e3bfea14d4a97137bf157af00b619440be477609e98cc7414e87aa2205aebfda5b9b1b3c4c1e0ec4936a82e5abef79147bf49745fd2dfaafa - -COUNT=32 -L = 2400 -KI = 3f334624fce3cead2f5def6af552ef7b3ff2d9025d18466d -IVlen = 128 -IV = ae49d485fcfeae8411196d300533b518 -FixedInputDataByteLen = 51 -FixedInputData = b53cb1eeb8a5a00f5bab040f210bc5fdf38de47fe71ad2073c6450fcd2e3b1e89bac7fe2e0e108e3305965282bf33c6638c162 -KO = ca3ebc79c9da7af7b844e4be4e4e9a5a4c697ba690971e2b670acd9e903b7ac1372791104965e2d8b798483025b0caec782a011a2b7e2967e3d8b9040af80f000edcc4ab9202855ba7793289f3aefc552ce2b30bf590fd47b91b7858404d710c17e8df18cd56649877ed4330fa36f09ad30529a818a0f4c8671b9b6de8c0517152d43cbf4028b099f6ccacf0ee711df19bf1adda81d9d3b09b0cc23582af8b2dbb6f869ac436ee6711da81700f227bbb0df58dcc4d9f220cff5274ed3c856a3308e764d87f2b7269c0f731b7491592e82ee1a532bd72d99d08037a3ded5c83293439307d69cbe6959855b972598db2a4e504f32ce8170987360149a2189040742bc5985c1077fe1103fb940a27c38ba234af90544fae2c6c0fde3afa4f36aaed4ab5b8d40ebc8b2f2d9710e1 - -COUNT=33 -L = 2400 -KI = 6905c767209a8634164b5536880e083f03f4abf2d996ada8 -IVlen = 128 -IV = 4d22f0c45d9f3aa64d7a622c6f8d5cae -FixedInputDataByteLen = 51 -FixedInputData = 29897b43f8a3a1390bada555f48f00968e57e7abee70fbc2e3e4576c72f786eda62237bc59dc92214d17428459a29bda6e6469 -KO = 7c0bfccbf1f620a722cf8b02a7886a822c27bb20451866ede1549476ecab62784c1962d810a1d8580c7ebd59f58ceeaf9643e5cc3db1c0d1a4871d57d78deb3a9ab57cbeb0c7ddd27e90fff2fc5ad0ad0d5a10c8511e1fc86e22c2c58ad196cab9a99d8d30c3b747d1c10ff34cd247565727aa52e93517999e01706076a3eb3e792aac2ac20f75481a666008f579738c6b3726f3f1fbd6122ecec91dcf5249a876685b325bf51c2dfd66be0e014eb73fb73502d90651b39e3432d68dbbeedbebcb5194af478510e40851c27498d6fa986525f6bc068820f794ab1141abf8b918b32e559b28925c73ad88591f8940867dc058ac338eb048c52d84b881244cbe84a7a5a8e423c08d4a32df63911befeed367f9163a1e983fba1b179a552986e1b6ce45ffa7a96d81f319cbb0b3 - -COUNT=34 -L = 2400 -KI = 244a65dd16820bc4895af39524fa9f0f9bbfb5b16e5aec91 -IVlen = 128 -IV = e7ccae63d97d2c8e716381c0cc1eeb91 -FixedInputDataByteLen = 51 -FixedInputData = be774349165c73d9883b0014f00c762847ea5f22b22c3f28595f6ed4ecb528879ad9cc33307976b36ac29df174be9431791c59 -KO = e94ce5ec927bddaa3b8fff2d09ec6371041de399ba25a73d675b5d212c0034973a353df24f35bf08cdd611183b4b1773c09e656b955b3f4bc8adc5eef43f1062cfb9c003c288a613798cb59bce649997895070bc757140e316b13988f7ef96e6b864c0f7e936cbf547782f9d9e24f35ea5c1ff6f719813cb9cd06ff4c49d95c67468ed5dc62de203d56eed553202a6f555e7680cc4acef688d658db11c6647080255a614a465b8c7134b2339bc9cb7cdc35bfe1c2c1f10384e77c3722be1f187b93f621b8a37ee043c31cf4243f9c744fb2892e45f4173f0ff4157ac4fae3f636d990993b8dac3321ab47848d0fedfee720d30b08a9df8ed4046de921967a79e326db02323477acac4e3f1ccc6589ada53b013ee3c7e14edea5083c97bfc7b8f69678a83f1b732a07e775877 - -COUNT=35 -L = 2400 -KI = 102f73c639bafbb96a945bdc47fb06ab7bc2dd7d5fb981ab -IVlen = 128 -IV = 4694cc4ba412a640224100fe3cb5a43d -FixedInputDataByteLen = 51 -FixedInputData = c1cb2fe9d22f481ed33e7f97a5614305a0aa5f7f2c982a64680f722db5a6ba22e9812b0e3ed493d4bcdeeda20e26d8c054c8fe -KO = 7a67ee6dc93cf224c415231f57f3606166b2f6b82805b4cfc218a59db0af95b750ff51ac3a156bdc740440076a076d788b35eeb3e666e5ed3d43ad76c0dc0092db119d75923f00b76e0cdc756e1ba8d7a780484a09091bf0e86f2570d9f2d7c70416a7fa2201797206123823a060198d0edc16f547ef59535913fae4c712f29fdfcd8030dd6a51cac23183e9fb7aec0a192b7a10db04486cce83d8c9433abd1de10fec99d8b10e80ae37b5720fa0d59c52ccb548aeffe9830c9980e8edf3c47c5519785a954d5dae82122c0ee55417ff14eb30b75dd9f2160489e3df8fdb624d98407c107da6b97982e7fb3d91a5036dfa97e286dee5be23a99a39cde187f48fe057dce9e3e6751d52b2c5cf33de2c13ca4cf6bc3c53a903fbbebf0c15e6a1efe53731895ba450d723110f4c - -COUNT=36 -L = 2400 -KI = 29a0274f7750b789172a85f785454489853e080d79663459 -IVlen = 128 -IV = 3ef9a182dfdc9ae95ec7bf6af0fdd53b -FixedInputDataByteLen = 51 -FixedInputData = 681a9c79e200ff2d97f8bddd7a8b83fbb1cd8170ef149cf6d3ff092d4007c49f848f9f7675a10eea53269fea4e3ec7cf07f124 -KO = 7fee112484dc07182f713b996aacaa32b2e9a9311c905be501b5436d415c24a3723874d8c87427382de7800cd75021676d59966f1f32cd858a66f231eceeaf8dfb2b4f8d79d5fe3718bdd5105f95bdb1d92a3069376fa4ac780849f42055aea67cd10fd6dd3fe7cbd062198e6e24a73d6d2eebcf7402b48320f70c44992aab971a97a1e83934393fd2ed98c68cdd8f450beef29930e67a6dba0c25b503d2c5f00265669b3d60b22b8fe81fe6384a76e748a1e048f96fff813d0d77953e586913ea318ff83a0792e3e01f56401f0a028d935096a9cc43d83e147a19f289520019fb872bd3eef1fe018c62abd116255bae4f8bcdb035c3d1da6f221e1fbb44f69cc2c12b6315ee4d67c5c0cd1664a2f11aac4789e8192a2dcf489b7761589e47d4825e208c26237092893e18d0 - -COUNT=37 -L = 2400 -KI = 95920887e19bc38d04a72eadd07001a42f48ab0870e41ed2 -IVlen = 128 -IV = 5099e951b231891f104ab1b3b7827727 -FixedInputDataByteLen = 51 -FixedInputData = 6defbeda4ded61a21450ba87fbd9c2d77cf3180cac91f6d468d608ae74905ad85d33ec796e61db76ee4acfe16d3aa1151c0427 -KO = 1845f1dffcff95852c281a2cceeb2ca11043f333d0300bd9cbb1eb1b5feb966239b4bf622e8f844336e4a98bda12fefe44c2b33eacf842a859f3f58845df71d0dc49e8a2969982481284e667d9ac547af3c988792a94cfa0b0f0135dec6eb7d9b6e67d90d5c52cb8b3066571e0137b23f3a50b948bf16731bafc21494369b699f1eaf506742e2c3d10664c9aa505d05ade731af92f933733a1ea3b694bcf01ccdeff95c4444c4c2d16f28714085f257340f2d1ddf0f5d71f71720818e7490b7f71a63b99abddf6cb5dfe48ea51ef3f17c1e8c35807868d0aa7db952c0510d00ee655450edf1a88663293690827e4e73439aa91f5dd3d2a6364c566245360e4d768e109bf9424699f3d6ea132ba7d3cf96340b0faac60f8e76f04d29ba5b1d9c5bf2ac80896e7818bc7dc2d38 - -COUNT=38 -L = 2400 -KI = 67f2956915bea7e833f040b1d0927bde46fbf1e22b0ea737 -IVlen = 128 -IV = dac7881f33b5732784a2cedabc936da4 -FixedInputDataByteLen = 51 -FixedInputData = f61bc51f0eabb523ff76f15ab7ca47f78aa7fcac0c2c1ed5c6d0f3e84aa6fd64b4d464b65eff59f05e23d156d65f371859de9e -KO = a9efa262e83d2829404df5eff309acf30b14a255525db8169f1851c4e50e8b6792177efdf3428185cdfd3ab3c74372afe94c116a49b2869d3f33463c39978117646c831bb78606e9a749443265ae782d4300679afe9e60f60e24308af22b99d503516fe21bc836adfe33067885746c23fff3d5a25426953db2030ded2416636dc7bfa3f5c3b76e8f8bb46f75c93259060fa16e5dbc92de048d49bd53ac5649bb656261bfbf20a32a3bd982e03010b9df64cb3384c28a9aa8edc493e7b8051ead9a3a13b137d442726d784592380885b6f12ca623b70e9eac208bfc25e2c33a56e1ef2aed66da47be792cbabfbb50e652a042869f2c18163f9e5616fafb5bc9353d784409c107160bf7cbcfde9e751ab69d76b8882415c42a2ee24260fe2ae3f2997d363c7983af81a478053c - -COUNT=39 -L = 2400 -KI = c7da401b55293b9f296a89d12090dea7f839ec47ee68f993 -IVlen = 128 -IV = af41c3d680c03d61a9f025450d3cfb83 -FixedInputDataByteLen = 51 -FixedInputData = 1b4bacbd888ca8be2794bef89dc6e0ce34691f0cc63fc7a2e9e148b5a265cf77f675b69f1eb5e6070cfa37253f4d2d57460c1d -KO = 6d6cd25b96df6dd4f5fe3111eae33376fced1ded880ffeee4de794a4fa8dd9337bfc716869086e20bad93004ee2ed3199b5556312fe9b6fa2095d89c7370d1bec6f0ca9f9ac9d07a9ec8cda0cc5818a36cb60aa5fa12e5e2d7952b963b5ab1d92b488bf3e270842430c137ba24c93ca1d13006fa59da7b8b0f3166e2267a089b256aeadf4287c38a900dd7bcf06223129d96adb63ec70ed3e7606a7ffa9bc84458347c56ae6264fa93a55f08624c5d208604e301ab5ce25d82125fbe0c265b04d974923b198ac904bbf96f55a95426e99adfef3e3e80dce3eb13fc8dd681891cc456ffcdea15a3d89af764b1a43b22b8b480d792fa066916a192bc0a9b9847db3f71cdb2365acf642a74a86b425947b105373594b2d1d3be9f0c0b0bfcc3758334997b962a714d3596129375 - -[PRF=CMAC_AES192] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 9596df752e5c71c9e3c567b99bcfc257c22b45303b95d883 -IVlen = 128 -IV = fb8921e69c12e93083ab6a9d2c955443 -FixedInputDataByteLen = 51 -FixedInputData = bb54a19a796404dc19a88ebeef5fe8b55455548462b9eb0c6090c04290670ad5dde4df8a78f695bb0148689dc0c106e9da7b5f -KO = d7934775568b0e998e750ea169b65f08ad449003a8333d8370653aa24b58744faf828e342246de3c5b3c69b372e657949e475c9099bd0bf4d2d9874f2e2f11fa - -COUNT=1 -L = 512 -KI = 21f1aaa4076e2d89fcb93b4c07dd53792e032d337583ca3f -IVlen = 128 -IV = eef6a62ccf8bf0dc5228b7c1a02f2ed6 -FixedInputDataByteLen = 51 -FixedInputData = dd46afe9f0bd1465e31808bf006fe0c61e171011309403a314b64a0affb4e685f1d8173ee42715aeaceccc3fa7b71957c629ba -KO = 8e0808c3646034d2369ef9c127a0cd6c5b155e9448590662cb9b3b5918645469a69aea606ed3902bcbac6e99541d56ab2b2e0c5f1cc935a643414495da9748ba - -COUNT=2 -L = 512 -KI = 67966fbf0b5b2be17c6c641f91079aa9da86501b93b3b2ca -IVlen = 128 -IV = ecd1f66509f7841e004294f3db36a2a2 -FixedInputDataByteLen = 51 -FixedInputData = f10a4e147df7bcc429292279639b8d7a8f9b2b8f11855dc4762a949ae3ad92fc4910e6b31819a97f2e6a79838e1bc3b3d0e349 -KO = 942a09a9d0cae6c369ad99b4e21944a48a0452fad149ea3bd879885c061e69afeb719def65c7bfffe8649a2ef2d1a9092f134965a0eafbf3f1719c99c9e03e18 - -COUNT=3 -L = 512 -KI = 94b30f9e1f407e7042c228342539b4ab9708583bdf8a63b5 -IVlen = 128 -IV = a1786c4800895a491826dbe71a710fcb -FixedInputDataByteLen = 51 -FixedInputData = 194c6b07b4a6de0bd32d2427b3ca70195b4217a0a6d68986db4bb00e21791e0e19ccac8cf5b2d6929a56155634912bf01ef51a -KO = 115c8046724f18e073151e44c8ff909f445a09d4e4b953ed733fe8410292c5185bbfa836bd9b8213983857d220fe4fe2bb419c642152e4e9ab23d8711eba31bc - -COUNT=4 -L = 512 -KI = 74a0fa3a930ae2ecfa367c51331d213a5859e28c4cf1c042 -IVlen = 128 -IV = ad7ead9e53fa6daced29cc013df18e34 -FixedInputDataByteLen = 51 -FixedInputData = 47942df2d5bdefccfd1563e83b917b239e05195c31e284eb7f9a6a9a4186d3383bbea249f9850666b9029e84f977a35997e528 -KO = bf4efa28ae1641e4debec2ed76cdf0f222571aa1d9b47a6e6b556a016f9fd75bdd874147de51463d8df85383a4035146ff36fb5b92322661d9d3f28d8d925a63 - -COUNT=5 -L = 512 -KI = 3674ec8d08e07d4ec6bb04964076ff44ef2bfe8c8d4548e0 -IVlen = 128 -IV = 80d213ca4f30a3f6f7c51a660f00f9d6 -FixedInputDataByteLen = 51 -FixedInputData = 3fe609319861517a6b6c97f00cdd77c0f010c8089f3a81b93c38e6064aa465c0784f85fa301a1e367a2a6f5906fba2e14bedbc -KO = c862357d0704ea2d0c0c05072bbe31ccf1089f304a1347501e848527605226c3db5b78d5b78c7360ee8a5cf555d391f08e21d223d7c1865e37e1b098919924fb - -COUNT=6 -L = 512 -KI = 3f3bbce05ddc6186e4d2c400e518bdc0043420c72e6f71e3 -IVlen = 128 -IV = 563707ab6ba016ff35e0de0a85fea547 -FixedInputDataByteLen = 51 -FixedInputData = 369c7bfd6a49c6a2cce4bb18b23152968afc512982e356395e4ed1e9d4cd6c052bed4c23d775bfe418d01544928caea232639f -KO = 1b825331ea356a552cbf093c31d0dc5ad38e1a8abf8a0b601e173c20a454665dedcd8e4cea4abb4d50439728ff85a279b719eefdf9c896374e7ecd286725d386 - -COUNT=7 -L = 512 -KI = acc3911e5a450288ddb6b18f5c7fc8f4932cd248ae23324c -IVlen = 128 -IV = 10abc2983e851e3c619517db568fea5a -FixedInputDataByteLen = 51 -FixedInputData = a09879987b74fb4399504689743bbc503b8be547fccdf3aa26a782b2c0b46b077ec0db102cac699058befe36e83e296cc4e16a -KO = 460c752058c5110353e8a40bf47863042441b85ab0b4b213429b7aff299e6b9dff423bff0a4811d96a00b0415f6828275c292674fef884c2b7a1b5a0c8248966 - -COUNT=8 -L = 512 -KI = 3eaed884834b7d9db20c8e6755d2447bdc1a2668dd3db314 -IVlen = 128 -IV = 17aea8e61adb85f97e57296a6676276f -FixedInputDataByteLen = 51 -FixedInputData = 69e18a566d1590e714f33ec674ef5b665397e9deabdcb320980899ac128d92ffa629a9cb742224aa6c98f2bfafe1d14541aae1 -KO = 414e6f6398dfa6515e24cea39f7a2aa47f738fd11a9f7a353d56c2289765e6a202af211623168cc4a5a6c86663f4768de5c31a1e4124d6b59c98f912c0dcf8f8 - -COUNT=9 -L = 512 -KI = f0159d31aeb8be7cce17790c729717a90c3b20df1ba2c3d7 -IVlen = 128 -IV = acc85eafc2e4f68d3484def769f3ec6c -FixedInputDataByteLen = 51 -FixedInputData = a9f6c9fb35df4aa065531edbb57ab85b378460c9c76fc6732e2f25b8e22ad45036fb16990e9e41ef173d3cb41f170a942141d6 -KO = 6f048baa0893abc9c3a0562c6f528daa181f5df4d074c1118d971180cbbf5dbb6d28fc5f5cd9685df6ce5e1739aeb4545419be7fde04dc22e8006402d485fa42 - -COUNT=10 -L = 2048 -KI = 79f3db172f7392a3ca89dbdd6579a4489fa810bee012e902 -IVlen = 128 -IV = 3626a9a918373c169d0009c0910f7375 -FixedInputDataByteLen = 51 -FixedInputData = e1f4e490ca186060e19c5beb329b304584276d8a9b4ffba65c6a4f0e959894a20306a57cdce3e573b8b464acb199493f6c20c9 -KO = e14100b3ae069f17b34529ba72aef6bfcc231b2996a62b1ec8a200e9006eee396977a1c0810b12a9c2843116443a454841fb8688c2ee60f2ac7e9207f688602581b2681c51ae84627a6330764359cef39b9874e8df4784aec2f501a9c5f5faa03019ad2533d29d63ada3a59f5a2e75b0f47d04d5461956b6cf5be454c376e0fde826766bc49410be2a94fb152a1c738c50b9444993f096dfd95fcabc5b3e56e2c2ae391d07c78f098dce2e7fea72695f2825c93eabf27ec8d907daeb61925c9170b5db22142124179483fde2dc7fd01c316e4758bc75c746f3287f53bb3121cade7ec361bb38035f3db384b70989c92b127c661fc943145e41a466f461945762 - -COUNT=11 -L = 2048 -KI = 446c386d81dfe9501da40e511d2761155be49958b6ef1ff6 -IVlen = 128 -IV = 63092511f988338ff4bfeb403829fc03 -FixedInputDataByteLen = 51 -FixedInputData = 6810fd25632219d283053ed736122d6da228bf647aeaf1eaf10fe3c5f75976183626f7a58ba0114fcc56c1a932ebea16c0a7e3 -KO = 72346281f4fa88ef7563fd213a543f0dfcf724e74fd8362ebc2954421d2921d8568d50df40ef58642d44c366cbfabdf63af275c0e33050483073fe92d62d569167ada50a594332a5b9400b44d8a2d8b8c4b0a4ddee21133e78aa19b3874edd9f658696ae69ca21b5885670f82866cba676d38d04cc2e0f6bb4e29b982fc17e2ea2f68503e24c182f39074f1f81f8b48a36e1bef85a2892c6fe1012e4bd3d51954566fbd2fa8416ed2f788dd93699dcb1d444c83a810bac2ef265f7526cecf992f4323fcf5a8971ae4c6e6740f01e77a4f85d571f1ea3961e454c12eb0b631b37724d229e4729ce46c880acccdb463d4d582fa164dea1ea718d5aef81a0670a1f - -COUNT=12 -L = 2048 -KI = fa998be363fe00b6c7b7b0618bb06f73a2f23a13a4bd6665 -IVlen = 128 -IV = 27017135e84ac75ec930adcdc308c9c0 -FixedInputDataByteLen = 51 -FixedInputData = 071e54275b0f2d2e95b2e2c2cc8f72881bf77a4e05364d9487e1e14a68567e58bbaacbf33d33468c4ed51bce6e5b9421f96b7e -KO = 818d3e30a9af8d0bdc047ff7bf9e5647e8e8e8e71d14594380393f77ff08a4a229ce01214fa6eef95a20f96b159b48d946f2de2d49418d0cb7dff9cb1571c1ba9fd2ad3655059035198da29cd29a06b795df355c49967fd41e40dd813f419f6a4661b9a7eecdb6e32b7cc270816a34d038d06ac3724af623c0ce0c202d685694c16af9e49ebd0ee035479ffde431c14ffb3086a0b228de7870456a339d563be3f181fec4fedb1effb795949176435818361ad3733bfb47e70640e6112ecc0edd588545ff7c7633ffc0bbe0a1c488637f54485333ad742f3c4dbca949cd7a9de8cf4e7eae110c8d651b1dbdce0c5233f4af27d61a78ad82eddd819cf9e2ce3f59 - -COUNT=13 -L = 2048 -KI = 83b9e1f3578082299468318526f7bf67e35ffca2f5583c94 -IVlen = 128 -IV = c1538f8e0f00d5eade3d966b399882ba -FixedInputDataByteLen = 51 -FixedInputData = c1e7238cf6c6b970ff97af605833dd77543f2936aab6034b2b1c87332f4118426de7635abc4fecad4e034600e702ac4fa362cf -KO = 17a3f3389c1840549708c1017e4a99ab6e3c22c3de921d08424047050675c05c19abe5c415b64b4cb314ad20e9fca3fce98a409d77d92be17080af4a67321261243b920fe2b46a89d439c05242c151774f1060dd536003a4842734f14fd972933424d07989a7c833f8abe981a5fc4b5c534cb056a1aa8d564e3ba3a09f08a35dbdee6ff3a1e26628bedbed256c2ec1b942c4c672970c844b0fa3815e4e7b17505f5583c2ba62213eec26f4c403d4b3e5913622fc2a020a5c03886b8379b05f625c629f2d7fba06d139cfb826e3a81cec94a6a88f475200cae313ba42060273ec2880bed73aa53db78d44cfa184160918c533f5e1478b87583427f44abb709423 - -COUNT=14 -L = 2048 -KI = 7d83017b26c992a6c7acd8e9d35b789023d0401fd839dff4 -IVlen = 128 -IV = 779f61aaca5d582ba73df1b7322f4e57 -FixedInputDataByteLen = 51 -FixedInputData = c250103713327889d9f8b12d2e6016154ef268c0b435a2b9b37e447aa5328fe390d7e8aaccc3caf7ce804c2f5fe450c89b0177 -KO = c01194b45bf72b16da388667043be4de7892baf5c33ae54b8c2cd4a18557b96e620f2d0fdfc1523ffa1f194fed92e082514cc837c6f26731bf4db0430fa961fce3486858f6ba45749f5a5a9fe35f15ac8cf125b208af8e7d7e1c8b2d61cc023ffe794889a21d0a51de63f0eef276c395a88032061ec662a39fd6ea600c1e9f7c3d2ae249f2d02ab4e258e0e0c025ed86520c8de1a707cfde358cdb21777fc37eff6d7e8b63188564c65d0dd20a068ab79d55e8ad56190928c6785ec49120946cd25c7a2b182379f538ee7fd8b73c0a4f922a00071398f21c82abd069fa19ec1104200e57fc55f946f448df750d3848249bf5c430a23e97282da6bd5c4c849fa8 - -COUNT=15 -L = 2048 -KI = 3e3fb8136ec06301b812250524ec5424cf0776b055760654 -IVlen = 128 -IV = 218912bbbbb2630a5dce0214f83b437e -FixedInputDataByteLen = 51 -FixedInputData = e2a7033d252b25699a158d9cd652a1b0bf5e331e79dc768ab8aaf394c8b9c0ad5b0a8f61de6f4a54825d3095dad4999fbff0bd -KO = a86c76a9bb7b78ecce9b561012d80865067e6543271f944f94d8d62403b058c289ccd07de609e36d70558c192a24e27522e65c4f869d8d1f6d57c08e0f7bb369556db026c6f7e5220fac7acdb7d69de46d30142e7a64e200dc955dfbe62123c1d8afc7b693300d909fa96adc672119fcc29ecc308325dd3560c1c3fdae712cc4b1cfae74c184d0ccdfc78f5f351c6ce68a3619f1e009ac243fdd423c3a17878209e5f24c0f0ee412a58800caa1fdeeeef6eb20c5e1285f391d17c662335986a3a9025476c4db26c4ebb4bf6a0608761c52cecca6ec7ae7cd0d1af4db974784648bceb2ac99347417c3f08827b9c7c5f36d7e5aa7032d0618614436115afc38c9 - -COUNT=16 -L = 2048 -KI = ebea4f1b85694e049680a83933cc41eea9d79606ed593a86 -IVlen = 128 -IV = e9a110e85e4cd5a683d8eef46a9b2a2e -FixedInputDataByteLen = 51 -FixedInputData = efb38ec56c09adb60ab65ac9376ccd8ef5f4035f44547e7fd499ef6cdebfc2b74d29af31c88c3320f96ad43d1924fc91d33c59 -KO = b70f24bb6845805a334d59e4d901e2468feb1e8d39979074df45247bc9f1213401e8063bd681be1b2a13d27ea074770f660867fcbd109b49463576e1f23a25cfddcd7cc6c673033eb04d87cb9d3455d73fad79f02fe6081846c4b8ba3a5eb170d0e5a6b6a6c0aaf54dbddd67991c1eaa1c9c17b9b5f9bae5789b7bbb90ee679f657082b4530d97614acc823a409c6eaf3694eeeb78c3e8944d21d4e1a74ab4b230a689061c30ec11113fac6c149e7cbe8639f4bea750058a7a8403bb7b77e84b2e2dc2d6c11a7528cda42bc6ac287258176ce98fc018c3b79203b65676ad9463ea543a01958f89b2b169ae30f06713765ba2e960d958ef3053e6a6084065602d - -COUNT=17 -L = 2048 -KI = 12530d97362d56f91151247beb4db80ac82fc3866153523b -IVlen = 128 -IV = cfb2a455bc42edbf7fe6697b07200766 -FixedInputDataByteLen = 51 -FixedInputData = 59c4f3a62149de08b1eb7b30a910d6cd45b85c34f1b5c715e6b0c9aaaf14c67628f48faa30bcdb14fd18a82d13858f29868920 -KO = 84a43c87f18ae7717cc48b71373a2322e07a767e4fc739d177b914b782cba6833506b03ac0c9445b1f16a4a0e39f8bd798db83afa50aca740684b2ba48075c4b31f50ce7cf9719a59315f208642226931d3816ec8fd24058fce49c9bae711965b5b125deac1b25e5a88dea5c05b68045ea0a2913b0f31ced2df8c4a55c780c22bb6942f2185d26ef8d31460726dd2c1c11f2afce1982b6eae8a715f21a89cd7c9e2ba702fd49c3424d91b3cb10831372bf11d49c662b25e365b782b808bb3909bb7cac6c195fbf1cf1585d0caeb42ac0591677c6a3d4b6574b02796396d82f0004c3b5712f6651bb25adadc303b826eda40728706bc68e06069ed64d13823823 - -COUNT=18 -L = 2048 -KI = 4bd94a7d3f69c47ea39d653d04a4e0f3547a3afed4937e65 -IVlen = 128 -IV = 8d1292e203c1d1deeac8e2746eb87a27 -FixedInputDataByteLen = 51 -FixedInputData = f04ead6f6862288920e0e3ed02b24040be120552f3876b7c63414f2bbc01e33c313332bafe988a159888f3f66fee0ec0cc0411 -KO = 9105b507ab5c57ab501de8244be7ad5338f48e4825546de295b7c7a8c5c28ceb911ee01de6314c4707e5f910a4f18d41da93a894408142fa63bba0ad4baad5316d99bcb30302c0df7687fb292f50283896e93db6108bb4156c053d659db109551406d6e80519b646920012eccf3025e0003e8a4c6f67650244bb37f245f116bba17573065ee502058108c316bbc4e474f6f648dee57f2c116119c955c62607c574f90db5793b8fca0d3c54aeea4052d453682e1853b20907a05a7e4904543abeb90e3ab9c7234f563bf6a25cc7fb73cf5f3f47256c458cf92ed0ee6ff8f3fcbe8344b7ddfb18d014b71691a0931895654ba97f6960a3bdce3ec9ce5b932fc47d - -COUNT=19 -L = 2048 -KI = 9a8bdc99c684fc8cf093c0320a935c35f27891ceea5c0871 -IVlen = 128 -IV = 5f8125d947defa89930688519bc60fac -FixedInputDataByteLen = 51 -FixedInputData = e35e32e297415699e7151f614ba5a4ef105c6e510c1b91f26d255555a044f6085a14e97896371794f075bd67f49b513326bf47 -KO = c0151db36dd93b600b779f1db540ad5483a3e0f2d7206047e96109ad73761aadcdbe047e33dc14a7f12e1f341af59f79166f48e4de6d59544c9f3bda712dfbf367684816225e5bee60d4e06471ba422dfba9e1a59b5d665aff3d94296ccdcccb097288dbe92a0865d16b9a0025f09c922f9929885a0a56c83e5f9ef77b471d0cb6abe4c748b41c364984ea42b5077934b36718bc2871c50018ac07e37c76bf34937ed953d0f29bd9934ef1cf9227664cad0fa3df0fd0cfbaedc234248011294500ebaf9b4eb9934860aad6feb7ab82a4a12bed8d609b74a3ebc10b48577f16ee973e359344a3b00832f3b84fb0c7bc04a3d4b5a8389731f1ec23dfcb8dccaaf7 - -COUNT=20 -L = 560 -KI = 3399103242558426d7564674eb71829189d2d7ff9b7c0ad1 -IVlen = 128 -IV = 11886320c6514f2850d42fe8f2ea6ead -FixedInputDataByteLen = 51 -FixedInputData = c4bc89f8a5cf2ed605aa52e66433f2bf8e9e35152f499947c8136f65b8d254b94546efbb355051981b231fc2f1d7f249fb6464 -KO = 7fc575e30e123d32309cef8db9de1cbba13c034ece02d9a48354930c29ad009b266d18245a4a984a02eb745cbe8212915d5d0bb97e7a4726cadfdd94dd029df4966cf8f2c269 - -COUNT=21 -L = 560 -KI = 9efe6a1d72e91b0b6dc13cdf8e693823ad4a248289d37a47 -IVlen = 128 -IV = 101f42592fca329244e6a44ca212bd27 -FixedInputDataByteLen = 51 -FixedInputData = 4960863970817474c1e6fb0135f94be0d54d0ff76bee11a9547f598bcc02dc44192bbd72a3355a2c1b2d8c9a346a49e43bf0e4 -KO = 990aee0aaa63b23b0131a6df7aadf41751b6e8945872c0e7feeb3359764036cfbf5d767572383b9af6530c59d804bc6c36249a12573e8bec146139e3004423b745130e756f1d - -COUNT=22 -L = 560 -KI = 1984f41312de26b2f2e0cc92fcd4d6be1150351dafe7ba29 -IVlen = 128 -IV = f92d33ab750e3e3071d84e9d96d65f1d -FixedInputDataByteLen = 51 -FixedInputData = 0dc6e9d0542386869922d0dd3569698a374f60aa0741599026f934974dec67847ba6584bf1e55fc61c4dc1284cbc0542a0a59a -KO = 37e084f4f269160b0d65f1864709e20f20c4ea2d2ef57c1ce6633a0bcf1fdb6b6f7d047c5a531e25a80b09612dc64fcb5b8bd319d9c78885c28c2fcc427bc930e88866689c3b - -COUNT=23 -L = 560 -KI = 8f76fe272c9cf40d5c294a097935cef92e597ae1e4377031 -IVlen = 128 -IV = cafa278c4683d61eb25eea41ae427bb4 -FixedInputDataByteLen = 51 -FixedInputData = 63d17567412c90ed7f679b74022f01aa5d5ff3398a073b63e924f96cd1fc4116b423b1e947d2465ce0f82dcd72c970fe4b8377 -KO = 5573ae252364ee56fb2fba468771527a4454471cbb18b58ec051e6b9a33463e4f012459e2f1186d233566362a2bc7c6632b9f3c24d82d239f0816160518eb13a199de387f35c - -COUNT=24 -L = 560 -KI = f25d0b8f4c6e859fdf19f505cd124637c33d9b5c0babe778 -IVlen = 128 -IV = 00c1de04aea48adc974e937529d46832 -FixedInputDataByteLen = 51 -FixedInputData = 15779a2b78567a0014cd8e2e44757038ae59f0463c40627ff3dfcb107a28fcdc75d76968b4ee4e0c6198bc1b8a9ed4ca5363c3 -KO = 1f4e1a54dad3a01599ab16b2e1dcac868607c403bed50e8c67c1110b6a8e7be200dbd17126d79cc52220b43421e875cc9b846413af326a3d526a5338676af07e774554c287c6 - -COUNT=25 -L = 560 -KI = 80cdb2a631a854efdc4f6893bea4a12edde2b6f68d67112d -IVlen = 128 -IV = 4192e601bf3505a77f3c41f105fdf813 -FixedInputDataByteLen = 51 -FixedInputData = 3ac76dbba8c31cf972555905a07cdff0a2490fa5c9428698ade71c6fcdeb0c5eb4bf42d88d1b6c3efd6630ad5af8cba8c8d6ac -KO = 90cc0d3b426744f564e0457a10d845d32378561b90b36153ec3bb03dc1e81b078f0aa8c0e4a3c3e3f86561537f13de53be127ac69cb9664644783d31f985ff535eafee13b5e1 - -COUNT=26 -L = 560 -KI = 7e90523ac8b41f104a289ba5f090207ab67b6d5229016219 -IVlen = 128 -IV = ec7c263cb501859e99d82aaa2fe26b8b -FixedInputDataByteLen = 51 -FixedInputData = fde0497864caf363122b38eda2cf15fc710877e8642ddb2987b96fd958b624d784d54b72f1af292457f2141c741ba4d0de72f8 -KO = 2750be0ae6cf1115dcf6f77952e97a3cae4ccf21d1f68e3b0c10c7c7096d28bf9748390b7fdeb39b607dee7c078488edccf57cf1b760dc9b782bf3e1788838e2a951f99dee8a - -COUNT=27 -L = 560 -KI = 718d752ac6e952eb795e1de6be6e4ef520c24591040df482 -IVlen = 128 -IV = 75d053fae7eca6ee22e2067309ce35bd -FixedInputDataByteLen = 51 -FixedInputData = 66ad26d8740ba21cd00d7c15198e929f103c641ae79297af5e7a440975addbc41d62ac7bb1438a51e9a61cf4ed8220ed9b3eb2 -KO = 181b41e5fa01b3f651c99be50e53321f9418b0885480dbc7495245160df033364234ce7fca1d4be3b0f1e9256c2475588c9d868b8135d7f8964f700a8c136f404b1d26063bbb - -COUNT=28 -L = 560 -KI = 982a114fbb74d4058c681caa686527dfa3247725987302ce -IVlen = 128 -IV = 06d909b4ea30387aa1b79d060facd9b9 -FixedInputDataByteLen = 51 -FixedInputData = 8ea11eddbc94db7091950973e12971dc8379f46ccd65da79d466ebc18e0a61fcfee3e47837b048e5fee3a45eb7dd9c6b834a67 -KO = 805b157ec3812015e66692b2676f5879e927d9cd3d0e6926916c3ad9239be6030deaffa1fe0d94469214fc0c6f7578b8ad39d44159a27efd8cf7c761b996a1ecf24d2ec13097 - -COUNT=29 -L = 560 -KI = 5680d8f2216dcba4e7c4932d567d97afd6f322d52f839557 -IVlen = 128 -IV = 3100eab84b75830e7f84154d62af909d -FixedInputDataByteLen = 51 -FixedInputData = 43d7b0f533d62352517a52445ae0681eeb8b90f36fd0ce2a4210a6bdfd7c8f1956554d2237881b4653258362fbce52d5629b56 -KO = 5d13f02df98ab71499e856b2229fb3f983befa987b6fb1e4ef958c32a3d993f45638741f6a516783eebd492bbdcfb1fdc053749d34fc21bdd964f4f6139c1e2cea832632a86f - -COUNT=30 -L = 2400 -KI = d86164248149020a2d4473979776f5f37509b19947d283a1 -IVlen = 128 -IV = cc91e2b2962f7155c380c4b01c9201f6 -FixedInputDataByteLen = 51 -FixedInputData = d3dc2cf862e8b167aed0a0d7a6253c61ac3f19339f44e03c58dbb3fee9fd9fbe74755b196db760e9f09ca0a329e9cb25e914ef -KO = cb0e172f791dc398d58cad4c3b7505336ddb32d4a2bc14ae634188a6dfe326dc654fac948169c38e48adbdd21c0beafb0392f0734f74a16ef48c68ca387562895afd5caf5800cd42da2ccd4e1edb7608836db3271fc003dacbdf77f344cdb3e5dbfc02b78986c907858a827959da14f4d5e0cf7cb61974a595b72c4785f151ee50cce520860050694aa0f37212736e0aafd5bad9c37d0b421dbc9dcec78785953adcb8ae7d0b98520d2bb1ad4d37430f3a5d8fb0ecb9b07a46acbed80a338cb815822611677af3b18985acfafcfde49a4f1b04aa58b724c44067687a4ec2d99934687f370288757c01d28a00fa8c3bca537f729d5eeffdc4ced464a475b16e07da84397b3218f612ba57113e2445c35c428b1fdeeb0037e75d7ba89e26e370bfb2a00b772ad40af62095337d - -COUNT=31 -L = 2400 -KI = b7316317ea3de489789454a93cff50c3d985301583af7654 -IVlen = 128 -IV = 1cbaa1eac1453a3c1e1fbd19b1339a44 -FixedInputDataByteLen = 51 -FixedInputData = 0951d08473f2812fffb430bc091dd0cbbb443bfea2ac5197fd281b9b314fb90491e06f01b01c59418f664dfe8c25466866d0df -KO = 6dbb4b9b99edb1c3af800947c2c039287643fae79aa2a4db33c83e98a0fd0e5e005478f8bc3de024664d5215a521d0c3d3f665c3f6759284f602925dc9d3648c9370d45343ffc1d617b329b784d9b458cb2f997f882e111ca0ff2a1bed078188db5840be615eabc21ea42aa70a9c7cce912b425efb8564ee5c567767b1cde7b6745b2066ccdd2de788b2f8fdf9be70879af84fa564b02f20997596f7ddc16dc2fce8ce8530d7b9fb4cc209359c28048646d08d942909101b587af2de53bc96bc9d47dfeca0d6d4d35233c43956c12eda88851a2b97b5680bb0f0edcd8cf445bc018d39139ef502ffbad832e26522b5b19cb7d59f033115b9700d222a4e8dd4ef988675aa679b777bfe492ff001f818d9e24753931ab9fc7bf3777c3afcb543bad6e1055898ec4c9b79eb092e - -COUNT=32 -L = 2400 -KI = 530695a9bcbf9da3f96b1124b4f4522626442af443ff8e08 -IVlen = 128 -IV = f036757b967da12267ecb68edae566a0 -FixedInputDataByteLen = 51 -FixedInputData = 7ea6dc1275fb888f371300ba2bbd1d97ea4863426fd0d0fe5bbb4df2bfef4251e77131ce8afceec5abd9b0cffe8ec39b41b8b4 -KO = 042614a850a5739d4b838348b70cc2dcc2df3268bcd45cba602918b95e00df9491410f23ba8b1659894dd3ea28ab6e5fa9f43b1548ce1fbcd5ae01b5d5995fe4105602efe748ddc1d79cff2d0cd864c2a51fd11c287be24054aa4d107950d8cce65e97f66fd043964c907996033e5ba7c08f8cce9dc293a178374dda5c35cb9ae32838eb5c0051c88cb23e212f4d13964a8db1dd72d46730b256214bcfd945c045068251b44e2512851673868a8bcc84e248b50601cfccefda8f08c06dbf1643094a2ad53061b20f9d179dd589cc6492b988c86681eabe4a23021528919702d99f122a29578b052f2b2815862122a5b5d829b8c6000b84ba2835823c557abf9a44d8ad72d2be4aaada66422d20217ea21aab1f7c4c9a8edc8c350e5a4229cf8d5738d99f2a20435fe78b90bb - -COUNT=33 -L = 2400 -KI = 7f4684e6899c6ab58014f525edb2ff65dfd12ae8df6fead5 -IVlen = 128 -IV = c69b98f81964521372d0f7d14bbc8672 -FixedInputDataByteLen = 51 -FixedInputData = b260740aa770a18ff22a8c0bf6c0fa4b4e29040daada61d46fee8f522befbae30a102408825484154fe89693bde05251d7cdba -KO = d38b16a164f5e83433ad42cc75fb7521b2ad3a68cab1e54aa5d8a50479075bdcb5d788ba88534f4fd64ee41bd01052dffd3b839889a623d4c62d4601c2a379810f951426742064725422eb46d2300ac4d7e7a98946fbb15c1f6974e608b7c8133984e43d8cffce359ac6d532631c83e79d67e531a41e0a7bc0a149803cb50417b0404e658716e191ac51f3e0258a0c3451af2b98d6e092e5f0b0c1cca9de56d97fbfbe22240439b6e78f4c80d807d539155d9074416729ea9145dc87afafd49c7fee92aebb6186242819f49cd67b261dbd67fe3f1ca924d01ee651a5483a3a205ba22c7b36fe128292682e43d32a432a9d2c80dcf5b9181bc2b4c904608a82607a768059b28e29032f646f05cedc4c5f7be5176020efeac4bcda630107f580f36b121b16d95e886284899dcc - -COUNT=34 -L = 2400 -KI = 30d22bea909ce3454acf194104a581ee263f3daaef7549c7 -IVlen = 128 -IV = 86017c14dd1d41fe9c6498a0620f56d3 -FixedInputDataByteLen = 51 -FixedInputData = e711db7dd10b4034d2ac3919c951d2ffa033d0797f2f2ab613f2234d5f2f1c9c975a9a0640b9b9e130a20ec1a37a24e83913ab -KO = 224478aa58fb0feed04f36993ca3101458418602a264a644554a8bc9d11de8311aca06e1966add187b8ca0ae6dc3456197fb602cef0c6dfe01b461bf7cceec608b078f4e2a8a7e26729d1d2b6f1da1872f549df1706ab9324788970c8bfb9fea0bf3893976c07ec040a017355849eb9d141719c7ea859069f807f60e7cf3539cdc6df3b14cc13b8bcd3cd458208de91c0490a3c7b5e37a988adf71665af65914277f258934a69cd3df4eb64c41764dd7e80045421618456d2633b8b6d3ff8d4072d93d806c1571e0793b791f47ed6c6f71f4911a59c7fc1a4687e291d804ba0aebea08086d5de59752e1b78935900c8fdf4ba118e83a6bfb28cb51143a69be92cc7708f82c5ee7b8c2a2efcd8db34b7407ace50bb812a643ed523057abd32ae00da354cd82d19fade40c8c13 - -COUNT=35 -L = 2400 -KI = d07397d45940d65bdae61eeb3805e6d8642448bc2011237d -IVlen = 128 -IV = 05d06948027ef8e2125a5828ee620dc0 -FixedInputDataByteLen = 51 -FixedInputData = e58c2f342783ff7860be53795be1c30dafcfa2c16ce89b399bcfccb0c54dc9a668b75227c04a2f063fb1c41d1752ef96d5c5ca -KO = 4065bcfa60ddaadbf5b02c74e1eadba05d348ba1187dd1d52bb9b4f54e2ee5e286c8323c27974062639115e753c4a5011e1d2f91fc13379cde0a33de7b305f208c74a2a90e81a907e266ec8f0335a41a388a3ae13523b311d391c0f4ced5fd24f2493acfd5be125a3be28782a2da06f5ca46b964fa345b8d499c9a482cf57786f4da5ded7ea059065ba130fff1b5a1b906eb718c3330c7e9799fd9f9483b9a478cefd266ae52196802a145b763b3ddf39f5109cbcd6533a6b9dd8cdbdff2a81de537c7c6ec9b802aff0a9bcaf0be0a0e2e17c831ec11bac47fd43381aac5206ccdc7847cb86ee37340aac39b0bc52ecbddbcc2b2dd59f5ada63138e49bd42e1fba7fa3c38eefa73fbf61f6000b47a206d00d6d2ea8f4471e25d3d957f370c966ca8bd28eb97bc65c6443a104 - -COUNT=36 -L = 2400 -KI = 2d34433e84803c508b9b54c10fd0b08ebe20002a13e0b383 -IVlen = 128 -IV = 5735f5297b0695ab63e8f5649c0bb44f -FixedInputDataByteLen = 51 -FixedInputData = 07e1b52c7a8efcbf89f7125e2c24784dee885a156252a01b7e237197e4b3026acbb6d93b2356be10278febf63d419b5a48d086 -KO = 0392d8c6b9c856ac5d2b55f06c4e1882779d8e1706082e7e0cc5ce641124821ed67ea3c639993dbf39f61ea3db36a41fa1bf8822e9bb298debc5922a5719f2d4fcebb48a3354956de34bbb4a4feee167f868d14aeeee70cabb04b24db79b8d4f10daaed143dd0c7b914e9b92d73489ccc39406dc7bd15623a1a272448c0abeab22fbf4396a5f438dd423976258fb96a62453ec8f59fb840df30392227f3b20f7971f46fa828db26b3732a7b5a6111d2a87211296c01d3f64c4413e48113f95fdb5701225c5ded0ddbef486666efe292eceaf0129a504d9f3c10985a333fa3f62b694289caec608d439c20eb84936d5852d01bbe6675c993a3f9c6b3e09d242a35e18475f09817961f61ad282b6199ff376e897777940eb857428a1863bade5ebfe915d9e4c5f5cb54f10fa94 - -COUNT=37 -L = 2400 -KI = 96a1b1591cf6ba7a22ec2bcc2321dc7e688551efd8806677 -IVlen = 128 -IV = cbfbcce040349f73ca2ab8e073ff2003 -FixedInputDataByteLen = 51 -FixedInputData = a867c05cf3e6f7891866b63b56c016134ce6e4f0eb8b4785a43ec0908964d941d58b00a4e5b5a37b32760323e8c3ff9c5bacc9 -KO = ac1c703b25b3a1ce1af4e9c4be169ad42b14fb3e1b0d83acf0cb93d750416584cf008f46f8ea37bcf1780e773c0cde9ebf9f11730420931194e0ce7c97f6b10438199571bda851fa6df822d84d58f45be70552adc1c322d5dfada8c75122ccc12d13734a1a69b7b30fde84ac6b27226546f8e781130a1dc3da181780da5259716fcedca910c76df5ed51cd5c4b2cc57a4a749a16d973841f83c4233f7a552af57257f1d2af592b3de657bf11a4ac3f82e4907c3ebcc35c44c5c7c3f8477d27a225e298bd3a96ee37e3301e21e29e83a0196462ea05af5aca5ff5e2e85b7450ac7aefa6b632c9628e23030221867ba81527a54c85edf049b0da18c14df903cf01b2a32bf10e6528a5b3955acf366b8bb4bcea9c065c931db7d81d890cd25f75fb69200e13624aab00538d6c0e - -COUNT=38 -L = 2400 -KI = 4990891efdfaca55ee8e68ee3db5cd2c2b148ce146b43cf4 -IVlen = 128 -IV = 051a91e08edb7d2df2a9fe6266e19c71 -FixedInputDataByteLen = 51 -FixedInputData = 5c106352b50872cd0c4c74faeca9691af0427cff8f677590bff8173fa74f5ea73711ebd565f9d204a4bb6152f35794af291a39 -KO = 7a8f23b9482e4319d513cef33b312d19916f3c042867cf1ec673718aef3f3e16d891821303199c2c05a61bb119376253b66d8bc264b7127867fe238900e257497cf8aa27a7ac0f14e823db2bf1a8f7ad1141b7b3f3b3d521a2c649fab12744351f64ba450fb5484dde36fd5f1b4316455a91d65bcad0692f6f8f0249602a4b4c66d639c4315761c0764ec09073417a76c98b230d122640f799540faf4badf39bf57ff4f9ca02a5c7a9bca741cdc756c837e33520e2b884e99b8ead3686607c383179fb16fee09f85ac060a21901fd72f29a8118d89cf115863a51f11343e5b4830f054a00e011036a635f2f28df8e24b234a865d69ba5c5f0aa7e667c1c18fed93c9378ae42a5a17ad902bbae1985817776b271173a9fb6e9746fc09432fe209639930c30613f06494685257 - -COUNT=39 -L = 2400 -KI = af25796c64eeccccfeab662cb90bc9864a0e050baec9f7f1 -IVlen = 128 -IV = 2f497b11fba1de77611282cec93428d1 -FixedInputDataByteLen = 51 -FixedInputData = 9d7b42b5516a8048b5a45b0aa7eb4e9ee482eec2d1560a693e9f6dedfb6b8e38bd3836e8ecc92b2c4b254b5c368e1b559a4ddb -KO = 7cbd16fbc9f106808b8c1730d85cd5011ff3d82051dbe8a9a903f29f567bb930aebeb19d590c1f81ab3e01d122cea004f54821b6b29758f144d47615a6ee16c0b01d0009dda39def44b33b07745e6c5fd46acbf0316fdccb681a620350136860182d18b760e03a95af60516b683689fb66a9a179c9502a749b4caccffb5e07a4afe6053245c7958a501ca95a7a41ac61be0a95a01454c5de3b764a87f7a27cf008ba0a2ca4e3310307e840d854cb2c68bb43c565a20689b3debb702bdddc00169f4643181a71fc94ea5d0839c90f211ea084fd2d8d56c59bfdec6262e64fec19ccd9885a6b983a17b7f8bedd6a28a21155f5e0f3d4d7b970ec616af7af7eca7fd485beb24d945412b0b2c21137076834434ec2815404a303e64feae65d2714424dcd3b241b1ad8ca117f9797 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 00ca7b916bfc0bde5155eb3059b58a7a091506b2228f251b -IVlen = 128 -IV = ed3c3415325863280758cb3701dd8e62 -FixedInputDataByteLen = 51 -FixedInputData = 1f2f21124ef29051b023254f67adb9491d137421470e07f49be7c8ea024ca7937fe3c8af8c5bfd3523040ba7165417391608a6 -KO = 84293c1fd2f8e8eb032cced99cee01118576dfb5586bea4f03e0302200544def201cf17da5dc18bb366feac2b58e4f63da3f1e3d02f37d03cdacaa0de8b97511 - -COUNT=1 -L = 512 -KI = d346bc3720dcfbce3de509f0f525f685e77a28b0395f485a -IVlen = 128 -IV = c246a235924888256aa262bfc7b04707 -FixedInputDataByteLen = 51 -FixedInputData = 5e21f304aad867d512b18a1a799225bbc565e66abc03276b1e0b0a4000a3e3ec32d973169ee90a31d4cdad45de75dd51386b72 -KO = fb68350db2593b3586e5dbdb8af9cf2e93e6831650455de62c3d231b4ae8afa1b27aef3b76542b24867b24e34e386c1bc2c6d1992aa3aa4d95fc1a367bf86e98 - -COUNT=2 -L = 512 -KI = e5c6a124a2ed40b021fc76f9e1963b4930ed403f7c32ce05 -IVlen = 128 -IV = 7a1e29a4d26dcd88d61b541909d7002b -FixedInputDataByteLen = 51 -FixedInputData = 5e27cd021d299dc162fb4b4f388a45b75969faef594b9f8f5a80727b80bbc2728b4bca4cea9c76cca9a620c06efc2b238a41dd -KO = 9a9c44c6f1b36f2619ecd6a86bc3763574699bf2af44b395214df08a0fc71f3c5d8720cf7f84dabcac58b5ed0b4301e83e4f152cb1154051231092392a769b0b - -COUNT=3 -L = 512 -KI = 9d6ddf8b926774a6c80a083010833473108cc2c031af61b7 -IVlen = 128 -IV = 2fa8533b6608da7dbceb7ec03204f4c4 -FixedInputDataByteLen = 51 -FixedInputData = fefff80cd160ae49a2c164c52085f42d958ca5150f63c78da2c68ac83e09cf3624d6e92f1c9f061198c52f925b1b2d1575c24c -KO = 2ac98e2e5c8bb0f18c681989db7731df90b237212f5841792fc0de569b0d692b62ce6d6500b051e692e517bf4d9c24d770f0c89553a26f8ee77aa634d4b19e1b - -COUNT=4 -L = 512 -KI = a9263cf710780f50f6a243a7c2f97af60b34056148be894f -IVlen = 128 -IV = 903ade079b5252c3c162c3129025018e -FixedInputDataByteLen = 51 -FixedInputData = b002f3169dbb894741308ebe9c73417ab0638ea6606adfa3460eb170a5589725e12558a024997b1c4168d4a897ecc7ef278b04 -KO = fdb9a168abfd3fc097ff63ef16047a33d3e4961c3222a30c99161e76a66cdbf8015392ec985080da2d3a1572d6cddf0f3a5cb30d87e35f4aff87f8ef519a3fe0 - -COUNT=5 -L = 512 -KI = a6515e9691255a6660f70047a847a3f74b17b86f5e57395d -IVlen = 128 -IV = a49c4b89234b364f06adfb01e2e59bba -FixedInputDataByteLen = 51 -FixedInputData = 769055d8f14e20e02a0057161edca87a84405d67faf6ec0b187cf4b35719ed68bc4cf277adb8446d040dd226e43f1866340a68 -KO = e1f9daed6e824613d3cc96d90d602b7d7aa6b8037284dbb4e01df595b19e1f4957508af777bf2e3d461ad0df8e009b3d94dc1584d5109a1f6b46fe8d8500a02c - -COUNT=6 -L = 512 -KI = 033ff4235237a86e7ab91fe6dae38af2952ca94a5b0ea9bb -IVlen = 128 -IV = cb027ee1160a161113ae45908eb67d0b -FixedInputDataByteLen = 51 -FixedInputData = cc63004c4b31b3b86f2e1395e5438e1847d295114fdbc793113569a2397de05dd87e6c7cbde798bb6953ca89f8506c52322169 -KO = 0f38a69fed73271bf7955c1a44eaf19e039e4e965a0bd18951acacb891511aff1e54fc8664050b125deaa15d44fac956a59dcaac541b164b1a9e99ca29047c8b - -COUNT=7 -L = 512 -KI = 4180eb42ea63b0642ec9028d9762389149ea32563f262300 -IVlen = 128 -IV = 217807d07d537ff5bf6cddd64767b732 -FixedInputDataByteLen = 51 -FixedInputData = 0cf2cfbdda664e504efe3c04ff3b7a7547ccfb11abae3d179aa6b9c6f0b48cb084d2ead233f760ebe3b8cb628a26a409c83584 -KO = 1c51b67fbcde4be605a272f14a78fafe4bcf06d8b7b3ebe06ebbac889c2c967a1d842fc20dbc453c97e32e562a79c55b1baf1dcbb5fb2f0ec56c563259b6a820 - -COUNT=8 -L = 512 -KI = 4b2111814ab8f11b37e7132dbd98022abed50c9042f03b7e -IVlen = 128 -IV = e464c846a031673a4efe6a40fe6f595f -FixedInputDataByteLen = 51 -FixedInputData = 281a8ee88a17cbd303cf7b0779f55295336bb01a487c63d617b21fdbab434fea075a5a8cc3a8656b38e9ec74fdd27079de028f -KO = 18f25141566d6595b15dda2190ab8a427490a839e8ca476d9211e625c903a3056d16b17fcc372f0f2f964ca907b901445529363a5427fb0e1fafbaf89139df53 - -COUNT=9 -L = 512 -KI = 382b6f0abbcfccbabd8a8a390749667b1f0a7386a743ac48 -IVlen = 128 -IV = 2af3d33744b60b139a90d2429073455d -FixedInputDataByteLen = 51 -FixedInputData = 2f0ec74652335bf5cf51c785e835fa5a4425d67bb8300f4658ede38783effefaff8e77dfc13e395ea7e5eee048a5460dd87621 -KO = 960289cc36ff9d912eec2e8cd300947d11294fc78c7d86a685732d0e1bf9dbb51be8d5a6360c405cfaaaf56c1ef4862c4c76550d25401aa6c93388d5d48876db - -COUNT=10 -L = 2048 -KI = 3ab0d7da6928f57ea008edb165040744ba6c8c4b5e327ab9 -IVlen = 128 -IV = b65ac9a7b6ff134bd6607a346fa9f193 -FixedInputDataByteLen = 51 -FixedInputData = 467f2c496842ece924cce20df1fa691dc75c4d46f2df694c7fed811e5d66fa0f41d67e1a40076a91a80e511fcaba1ec4707fd5 -KO = c1a8bdbb3bf83042d5af808cfb3d51ec9214fe3558d840113abbca28f10a67d97efc563438d44c2333eccd2831461b963f51496eaff7c7c273a1ddf6ad2fc3da650e215b3961ab4c6366adfa2c1a53b25800d6dd27f092e8b1a9f416c411d712fbff7ae2ac76f92d681045c5df9fb86bc6c71892c8dba3ac2806b19ecf7183dc541807e33be9d724b70b80b198e3ae3e9136feae6f5b3ce6a224c4044c09cb5248932fbb939553664a5ea547a099d6e1b9a339ea5a399cc022a27c2b8572747652d730cf28f31a1b1ef6b9fa7c66017d0b668d955b73003a8b7982b399b5ae651784af04275ad20f30a6a8c6f1c3c1ceb08a598c285d15edad1c40dbf5eb4137 - -COUNT=11 -L = 2048 -KI = 376a709a7633898fa3855cb270466ec214888fad31de5d79 -IVlen = 128 -IV = 6f9b36e723aa5ef82bb0289e3d33f54a -FixedInputDataByteLen = 51 -FixedInputData = a337f7c1745656f3306bb5fd687e1a97ee322751030b13341777ada3b8c3d823fb05aa2e4ad32ca87f328004777ff533d7a781 -KO = ace98f2fd35f388556a1f8ed22d6763f1b00bc5e57c041f3dde2e1bf07f6fefa1210bc507b43c2173ea8adc6ddedbc21e4510f1e2edde7e577f883307e2dd61081bf0bb8d865f32459393c154f8ac4766eb5c2b9e29adb2a9d07cde0eb38623732e60662a28f07b58eb361e3f9f832ca391796e5d108bc53e33502db32197edec9219b70de07a86b36ce08f07cd72abf8c470dc435d3d511e87cc625e3525f109d297dab6beb61a4040bdb21540515b8ff30346b5e649e2064e9f1d26066a2fc6add65bb25e8c20efb73ba12633da47b51b0e15dbd3eb9e61f5df819e8ed258205ddaa3d1592f9966be7d9c24d1c29e407c6cac86969c483c7e155d641c890a3 - -COUNT=12 -L = 2048 -KI = 8f4d7e34519b56315dcaf9c2d8ac2ee9c732a4a32e1b8e5e -IVlen = 128 -IV = 470f86a21f76f54de42e22d9f6bd2c00 -FixedInputDataByteLen = 51 -FixedInputData = 3a3e396b49f46b1a2a55c19878f2913f637c11ea30428722151df7045aafe695514297ef2eebbe11eb380d0e201a07fca9ba6b -KO = f088e9d5f0c8bd735d3b030198f8d4e7441ce5c93bbf59fdcad9a9a8aabdb3fdba8bf3ca23e40c98cf7e11460004946818c2765485745d45aed367ac3837f39330c5f9407d1198196d052200f0be6b3c599d8713dced2cd316ba85cb1c481eca561d06a0597ca2cdecfa160beef2c51ae8f9fc855eb2751fc40f0f8567002059a9110636aa32d275addee565ec5ffe77231f5ff99b9eec26e5f8b4cc1e473499293451fda841ce043bd2db50f7bfe82be085ee3ce92b1239f42c7df1bd04fbe9173608ee0e35dd6d18c3a120fc4ad8e802e921f67a391321ceddd6a440b260cd1c189bc427f261ebdf7aaee6a99cff31b798b772bf4937f6d67e71855af8fc8f - -COUNT=13 -L = 2048 -KI = beb332a1a520f7cdbdb875930609506c8b96b36afa5ebf0c -IVlen = 128 -IV = a2dbf55b89bf4277745edc4140032b8b -FixedInputDataByteLen = 51 -FixedInputData = 127787ce7e66f43fcc7ea1812b38a6a11482aca002d8f1537e4dfdad8bd65554c0da8f582cb9dfb6207bc6092130684b7a169d -KO = 8a0189400e2831248cea22a64fb460c8a5f31d09c98b0cc5639af89ebf0fc5adbbde8a82d89622741c6044ad4baa133927609c7335244922f53850bf46ad6677f246a1c943853ba7ef4cfb831f1c386321b7af8c66704f93ef8fca2c3553e13a45389141c32ac8aca265adec11c11257efe67d9644a855e301438e94896c59303817cd291fe091373837d25dc9231e942e400a9b6dead9204aadec883036bec72038fd7833dafc0ad549980b578920961c944b52339a1e78025d129a10c651f5a41149d92464d154df168fa8341430dca71eb1724a7b1a07508092682275211b3e2b2c7be2e0632ae407aa23dcc5215eb3cedb4dd25283c0504387b5d4357850 - -COUNT=14 -L = 2048 -KI = 926de66dde1bafd9e77de33c33ca8b6222483e65d15af9b7 -IVlen = 128 -IV = c1f1a24ecd853d158416c4133ded3177 -FixedInputDataByteLen = 51 -FixedInputData = 5d0d470562fd61b8dd5e9b988d914b1fe00a8c410d3fe762bff4c91d3d54512160dc9a9a3b917b1dccd238e671463c4dcc8b23 -KO = 08bb26b1390c30cfb00eed8b211255d52244a26e1e040f44bc335ef4a5afdfd1ca067b9565b26241163b904e3b4645a939b8ab645cf0484f24047cf0d321c52e0bc1a7e19f98d106547097811dc14ef9c1d0b22f4c657f3774cb865e47c1a83dc21d4252a3b35d3343d91172cc843c116ef0a5dbb35af762756ae48e1f9796f6773c467bd8c4e3ec5a34cebd867a8866050052fac96dbeb6df1d66272bea61d33a665960888d40e03c7a388839fff8b6b2594b26cf3c48367de5162dec0fcae608e6de9773f91cce16c7a2524944e6f32d5b6191c0f14ad39284b748555852dfc66a45b7b635cda83ee5acd30958e5149cfd5e379133c51448ce861f022423c1 - -COUNT=15 -L = 2048 -KI = 1d78f7f087f4cdee13bdca0dd8b2950605f89fde933fcdeb -IVlen = 128 -IV = 872e3a69822be49bc91391f0a7203552 -FixedInputDataByteLen = 51 -FixedInputData = 53446446f1ebe37710aa237d4d59487235071abb0743dfd2d32b30a849859b35c146d214dc9027f37bb99c0900af83b128b0d0 -KO = 38727c937417a765d4d245624f9ba73d1e78512ed54fc307f398f2fe7b3ee3f21ac477d40e922a827d0b9b78fdcb775f7a2624ef3f71bbed4297bb693f2e411b49c054925eb42e95ca29f9d37db0a429f9e117df62307eadf5156c82e8b6cc120e435695467c48e0cfb230b8ffa11cbf5bdc2b3f3ae0bcc8a970b7005fa532ede34edde30585fc7eee1d47715654b976b74c3b198dee00a7ad60cf873c3bdebb1dc5e0f04aa62d45dc9f94487289b983590a0f2fe201a0a56a32cb2fdb637e40d351045cc2324c39f07026ec385f55f7dd64b9482d73586eb748725b9daeb07214f4b63c23757a6cae0d7277014222cb127d1a7349f5769e0eb756a8c7aa7241 - -COUNT=16 -L = 2048 -KI = 1fd59d508c9ff8cc9afecc61f960c935abe71051f04c2a87 -IVlen = 128 -IV = c2fe2f21f7d2f6245f8ad8e747a65b53 -FixedInputDataByteLen = 51 -FixedInputData = d15a56cb34ec166fbc4b839306d4f04abaa50861efd5b7e7fdf4e0d5a0261d3533d3789c4803de95b45f2b0256e5fd3170b5a4 -KO = 3686291e024a340f572f0b234692f2cc4a7b30ddc109e13b2ec176401cc1a1dca85a26d01a6455e57bdd126c23343c3e2fb5939f9a2f3833f2d8a1647e8c3f037cd95560c54528e3b8ba382f3e5b3be75eaf3bdf2d940adb72335c19a486d525952068fdd786e5b3d6224c3993763379f9a123abe7bac6998780e87db47399f8bbdb2ecf688c6804ad016417bf213c859b1019249d55b84238ef54f9d80a17336db42871dc7a87aca4608ed3dbb1887337c8d6dbe5663489d66eeba7ed635b97c87dcac9bc1b1b3c1f5eccad065f604297d7df4c4fad5dc531a80cbaf1488f4485ff9c85a0fb3de5f43e9c41c17c21a30a48f2383d77020951944e316a5d11c4 - -COUNT=17 -L = 2048 -KI = fe937f92d005d05f47f0f289602a477a830aacbaf547f736 -IVlen = 128 -IV = 13b96c3ac0aec2d372ffc90102c115a0 -FixedInputDataByteLen = 51 -FixedInputData = f11acf7303c29aa226513b989abfceeb6bdbfb52038f4294f848c0be7f790146d421809bf4ad788576df5738e6c0d6019bad9e -KO = 04a6630c88aa815e27989e76f0e075fd82108bef56989c9550fa85d3099fdc1aacb4248bf09bd4a086f94cd3f444841eaa819b893a118e48df3d5a5bda397d66e8e8e6f903261b496fcfdd19d89e1ed3b32bacef65d5f3069e597d7510889fbeaed24b2a53ec630d07f8b20282cf7e7ade6a701141fd8ee9ec5c67870f1ac1f0813921e23a3c8c7aafc2ca5259b6aae00aaf7dbf03df9defce04daae8a2243dc75b3c19832dad2d58a0ba08a446b4b23c44a4025103c7c255a6e40dfee3e5fb9087ffe4ade86ee40da83047d9c9b8f7c18d74b7391c0cc7a5fcf581ec9b7f602477ae4f4794306c9ec4b5d9d536b97cef23cd74770859394f3701181c2e86b7b - -COUNT=18 -L = 2048 -KI = 8dd1c7b3c2186f15f993a438bd9e67d5dc2bdf127f9827fc -IVlen = 128 -IV = 714b92bfa675e3573462088d2f3c8133 -FixedInputDataByteLen = 51 -FixedInputData = 573c4d83a20b320ef6ac9349179f17c2b6510d6b314479c1edcd3e4587c36c6dadfe4d337b52f04f5a24ddaf3654c79aab7acf -KO = 24d0b209783adb33cb1bdf02444ae75a14d70cfa767822815e14a7e98a71b0a02ed9e4a8eb8c795304454d42ad9e348fcfc2f60dbeb7af861f43ed9385f5e07ada89bd30db7e60d1fd05c03c94ece1eb15799c78b66b8d1fb4da1752645b255771cdee936f318496d5e1e8717cfcc5bb9a9dd3438a936d7678a486571b3b9f1b9534e5018da366dccff7f663efaa6771b0b91f4935bf75db4be5ec10ddde0ce66fcdf6c2839a470590340e8d8bc84edf5e8558db8e70065a3934a2c6579bbc116a48b2e5d98d88a91387042dce62c2c7b440808393af021d0f4aab6997b681fb2c9912327ead4c5387115b0bcb123ce24329164788fd9be1ad3b9776a7abeb60 - -COUNT=19 -L = 2048 -KI = 81fd9d4e5f3c0761f66f6e1cc18fe60ca8ff987e882eb8e5 -IVlen = 128 -IV = 73a5583138ce7eee5c8de9c444f10b99 -FixedInputDataByteLen = 51 -FixedInputData = f2228f3b06210a065aece7770662a3830b027fb8694e52194a7bb4f9950dfe866724a291c551c935b2c54c70d93bbc172f4dcc -KO = e13433f31230a0b07afabe76f2a1b7a1187753e7c3e003fefe054615e172318e52c3807f8329a1166d9c03db850811ee6a4f0d676f3547d109f13acca1fad0e346a7c29df46043a935a399b170938a366554115fc9a6df767ac7aea79695d16ff3ccebaf3ee4b3c7db65f0a3e8ea6cc06d221cabf1e6d212e416193dba26c30b5bbb085782d7b26967135b413f29ecad55a79028d36e5567b13e56147f56ae4c857681b9ab5b6e3e878d3580d5dfe517c37c7dab196aee86433601758e6c9ad22b4678640d610c64b034170ee49b1247fddb50fe5233fbd4e649ef43cf1aadf670c29a50d035f3c0d210ee24f5411251c9a254c2912eaddca4871edc1b692d5e - -COUNT=20 -L = 560 -KI = 3195a90150ad74e6a496c3e6703573f7785642339b4c1c4c -IVlen = 128 -IV = 8d7b120bf182c0fdb79f12d095d7b4c4 -FixedInputDataByteLen = 51 -FixedInputData = 6030c53ca4acf89cb4499ce8a78dc76515f80fe23c92914e2b5847e6d74ef380ae0cefeaf3087ca51be58c1751ce054b72bf47 -KO = e6cfb94753f24a06cac392fd92f77e7af6feb135edc339253b842e1bca110f3f59a7551132c6a52865889521ac4ce0942260705293204f860bda3da1e481eec752d47317efc4 - -COUNT=21 -L = 560 -KI = 6a097a0d62ddad93467a8edbed0384ae6e2a5cb885eb02ec -IVlen = 128 -IV = 0c16804a9357e63bd5f8047a01c1b895 -FixedInputDataByteLen = 51 -FixedInputData = 65c55e1fbd4835ae5bfd5e4c94f110925edc90aa121f2feb46548efa921ee33bad7ddda594ae9dd7ce4d7b5e495da4ba8ca4a8 -KO = 85e0bda23d05ac70a59a10c9a7d6c76bd3c6b05450e309aefa4da4a28949022264dee1c72130d87380b8c79dc565934d8336da94f27c52b8245991bdc436e54bdde0ef3b3023 - -COUNT=22 -L = 560 -KI = 88d939677521ec46a2b14feb3b8d9ded4a34aa0cb56fcf2a -IVlen = 128 -IV = 504de99132e140ef2dbee6a8ce408b7d -FixedInputDataByteLen = 51 -FixedInputData = 56a26a325363ff10a00e4663cc6b48f9480a910dfcb9d0fa015c1f7280bfe55d10700f63d237ee6330e7c7311d7ccc132545c0 -KO = 15b52463fc83738e9f974cf9db284f81befddfca3cc2acfe7e7b56adb0f5b33e0a91824bcb997ffeb8948225ac062005a92880335c56acd4354437ebd1d604c7159c8e886e39 - -COUNT=23 -L = 560 -KI = e484c9602ca4fa2d12ed90033c682c266b726299f633c151 -IVlen = 128 -IV = b3a8e5bf4e5ffa9f2a1be299927e7d40 -FixedInputDataByteLen = 51 -FixedInputData = 337e142e26461e909724449022a6ac729daaff5c938f295da45a073005a3932246f596bb0f35525144ca464aba740b3f32218c -KO = 8aaf88a8409085908e1c270f50a0bc7b51eeae3f6a4e2fb3bba54d2b487806bdfb2cf3449eab6a5676d0207641d67b068096841c0c07e8d16c484aeafd4a1650a749078b7f27 - -COUNT=24 -L = 560 -KI = e42a1959811f1bd6492a430d6e0ab7fbf17a21b4a97891c5 -IVlen = 128 -IV = bb42e50c81ef66cffe4421cd572058aa -FixedInputDataByteLen = 51 -FixedInputData = dff8b59c11217a87d77c20fcaed94dacbbc13f6d973b5909937bab6223f94bda5fb24d242f7a227245012520e7af94c1c6d985 -KO = c2774b6e7f338b4844b13baad4be13038d3c5cf38125172a688465172bfb02efa7e1b92f2918b716fa135b096ccf1aa5c6596e41d039055956ccbd95010bbc1661a2a2df82f3 - -COUNT=25 -L = 560 -KI = 60cf4f5ee97f8a0566ad33711c99218028336a8a97a410f8 -IVlen = 128 -IV = 030cbe47ce54ceb7432e77cbd780d9e1 -FixedInputDataByteLen = 51 -FixedInputData = 0dc76711f356f3318672332ca75ba823f1be99e6ad69714fbb9afe5fa11c4894c8eff117f84a2a3c6379357cbedd2c55d0d548 -KO = 240b683f196ca05ccdc48036f0613c9f407456c530f6ff0f585f8824c6203f956fa7af2ebc44c48a3735f1ba78cdc32dad5bb87e5f649ec5b68dfe158ba77f7464c6a3854ec4 - -COUNT=26 -L = 560 -KI = 00aa1ee455aea6720331ec401c0407c8ca9eb64dccebf29b -IVlen = 128 -IV = 43c6e7b70bb56b06751a6d5e3c622b1b -FixedInputDataByteLen = 51 -FixedInputData = 2eeda005a4d1bc05db1f12b82bb117ce38661ebfe34725ed233185edc13a7d9c28935cf1af6d6169e2d199ff0385819a68cde8 -KO = b0dfdebcdfea87d2699b8dcf53e864237a1936f2eeb7da6609c1111236c0d01b95d06d167aedd68bc426cf0b0db2665c4d1a8b1d25dad82ade508933c8c9b928fdf6aeed150f - -COUNT=27 -L = 560 -KI = ba7c75f9ddf6818f486a6ccd0cc1b44a82ac5a7ecb8e5f83 -IVlen = 128 -IV = 98fc89f0d6d115394a37286077d0fb84 -FixedInputDataByteLen = 51 -FixedInputData = 9f677cbb158996d42257fe8cfc56eebcf299cd9ef1d8648e6981e11b5174b78fbf11d461c1920b112b366238a5f66b5e499fca -KO = d80d80a8fbfd90ca1975dcdb499ddd88ecf91f56b4e18a704f6cb30f23a51a4fd864ae06772072c1929e338132974f5a4acee1a90f33c9990c1148679c2d96ec3b02164a2a6a - -COUNT=28 -L = 560 -KI = 20b536f41fea691ef9c1951894cc8b0feba12595808fae6c -IVlen = 128 -IV = fe42dcc0123665f6bfc00c7d4f7ebd45 -FixedInputDataByteLen = 51 -FixedInputData = 8a2af20d58811019ce04673dc386e082f56c4013b5a0bfb3e06ea4b81b87e6845a20e08dcbfce276da6df43d0121c044d982b2 -KO = af1cde4583abc2b2945d128c0317e2e10403a6a3170a418e97ad833ed9d26d740ce6f2dbd73957219f4214e0b24e3d66a02934b67ad08af3b83ded2eb60b6e5ddc3527fbd270 - -COUNT=29 -L = 560 -KI = 9bebee825fd9f74b9d8ba967b78464b2eed298a984638eaf -IVlen = 128 -IV = c97dddf0498ac450b36ff0dd12a3a6d5 -FixedInputDataByteLen = 51 -FixedInputData = dcabda6ac5e40f0a0053bd045617c45490cf3d05888bcbc047e756fbb11d604a35666cc93da4cd367d03e1a18532e9c98bb013 -KO = 0ee621f303f0979530ecc787f678cf843f2e00ad87d47754e495dd5bf18a6d1cb31674a6458db57519971a6438415d9a83b5d14530703970166fa59a0f156f0152965bb3ac98 - -COUNT=30 -L = 2400 -KI = 415f7115f0e0aa2dcba66e5f69619e2b28427d1e1bdafb32 -IVlen = 128 -IV = cb522a08b08120aa390d14f6d16d767c -FixedInputDataByteLen = 51 -FixedInputData = 0d5bf3b254f75d7969e884311e73916c31b1c4c3d7c8ba81eb8705892d2694d85cadaf561f4ccd9c6ba9544234b974775c4a5e -KO = e1a96c67d2a2f9e7f2618a02021f94650365dc80d60c01e7074e6364b35644b33af3fd5672ac397a7cf27476041dc76ea1409247b52a357f25a58a1202b358285e2cb2ed544fc7dd778b928ec45088bf31207b574012294ed1924d3052e6d77c6fb639ad464e07861bbc270a5fbf3b4fa332363f734848f31a9469d0ff7f50e9b78e0aad3f69d5c55dba6267a741a416e19882edd8766c37893f359013863da124b1b18bba2776400535c21ae024f036074821a7506e83e1956223ca04d24cc786451affd1d194f9f27008951808837e1ca07cb7ba951adc109ae14338b7fa4db301af4f7bda819d30c13c925280c559193d206029ca5ca518fc0a2d4fc1b07c9650b5bceb885a84bf232a249bc1080ed7d73707a829458ef227f56a8b6050619e17eb41eb1e58a04dbfb267 - -COUNT=31 -L = 2400 -KI = 056470dc4ff643af025e751c26a5ad5dd2efbc38c2620925 -IVlen = 128 -IV = 35d9e5622f5f407a457654d0f455bc4b -FixedInputDataByteLen = 51 -FixedInputData = d983abeb3c9c030ee734cb65deacd4962eb47b0621c13ac2dde108815cf4c77acb0bce36178a6b5c2e147aca81ba7e980c30ad -KO = 9d4d39b8638e32a377a078cf3a4936fec24d280c9d7fd247ec02e9564b7c56f13100f76ed279e757f501f0a1814b3b043618f34f5e8cd85a5227f0b591937d7c891e7131ded7010c385c7bbcd87b695a740b7ddce24bac13415ad2dfe2f1c462ae7135a1edc30ad312c9cb9d7cbf1729bf18c2c5976991cac44229a5aaa9bd2ab849954efb171dcbf050bd6d6676dcbaeb7b6b8766281bf130e22d5389897eec64f3deb9e65f1418bbf024ae279da2cf6fdfa8845632a0ed151e385b2fb7837b27ef6a6c4cec6c404da1811cadf83e74a140a2c8f221be3bdb6ced483246da607b6e4d777a63715c949a933a8200f1948dfa874b953f1017b2ae3dadfc3ae46c5fd6a16c19b76d62e02481cce12452cafd3f5173c45b4d1ceba5e68ede0b22a7a8304b44136d4a541bb0e855 - -COUNT=32 -L = 2400 -KI = b2945ef4d0b7c96f70abfc0f8b9363b53da298dd4e48f5b6 -IVlen = 128 -IV = 65e29a4fbdc560488098ee6741f9fe3b -FixedInputDataByteLen = 51 -FixedInputData = a5d8c4a4ba00656fcbc2db8529dae8f9015ca714ae56e9a6e3ec4fc9c07fbc8b516f9494bb679d8afa7fc7d325e2439d8183c1 -KO = 36a72cf9aef723cb9ba30b648d7a1a5ac679542ce7d48eb6d7136174437dbf9b98a4cb3c1b10e654e42d92e16959a08ce90ef58f3c913d67a47cc9bccc6867033b27a9ac6616701e8c3c7a7d979a10a20b4eb8d42e7d921af71151dcae3915b657328744034d6eb76e194a24c240f81ac61d177b0f6519fd6d3c0ba706149d0324bd5773cc60da1ba93dab2ed26d5a37f633bca2f96bac6a1da4ba0825de9e6b82bf14404a4767c70906c4ffeaf63be4f3e1653ca31d2d0277e04852b77bd801b35fad1b188f192687326353828f2c4fcc846eb7a5d1ea2b1ef1f63e99fb310f0fb17ee0d8dec628f4e4dbcede6cc66fa819899637e015c33a2ef0056f1948c1a17d2ffe50a696ca4121c377f358a208631970439adddb74cae9fce4436046ac0ee8b73bf45f1ee4e7482a34 - -COUNT=33 -L = 2400 -KI = 92bddb901099fc6998242517a8b44678c7a885bdbdfa08dd -IVlen = 128 -IV = d935e26531714cd05b0b912fe2f6a1e0 -FixedInputDataByteLen = 51 -FixedInputData = 861331540536e2ff5a0b744a3ccff10186615da10682d05cc3082eb6aaf8c2386a7d3fd1a2d061b935c47ec5bcb572de5cf7bc -KO = a4d8d5ac059047f27254934de8444198845850c78ec857fb078cb7f4c19a6fa13655b6d6adb0b9f9e435b92c5c24a6f23c9097be194cfd223c4ae94375996719a4ce9c8448a3787ba8f7ab3786269c0ac8f23498cfd3f86551cf5460f8e6573548eb9cb128668faf0d1b91fd4d1f1c0b9efd16d466656ab7c91c3e5bede0aa24f27512533f038ca3d580ebcd70885ccdaab7839bddf8a85a31a73bd2bd5a056ed94002b548f55a5805e341a53df14da5c8869d4f15b742dc2d9b8d3504fa135c014a4f7a19dd011c4e693fdd59cecc5395d7569c19b1f1d6e3f0b4a98b3529147b5276fdaad2149026a18bda95d05d5018aaa3e4f8ba639afc99e2a0fa0308153a75c4cba1db4dac5a63478d8adb396bee37fa4ee6583ba93268bab50d9a1d053af11f996a829660c4dafd1b - -COUNT=34 -L = 2400 -KI = cbd95e7436c79985e82624914860898b5c751c64894bff82 -IVlen = 128 -IV = 99c88c49e36baf983cf57df6fe1ae8c5 -FixedInputDataByteLen = 51 -FixedInputData = 78df6babf912b101592998e6b1c84a95632cb57e1e927a45334df03f7e1539778197a3dec2214a229259aa1a8e37b9e1ca9ab9 -KO = 0cbb3b1c7bec2ea9d80025a4fac26d1de56ba130da942a57b1919f2e0451ec13b523ffb383f89debcb9bedf4a81c19f7b842f426eb3127ec7c6e04aeac9e1b54453534015b9ff94c43a86246649aa73fa6c28363f95242930352f0618104d72513a8fc38363c29a6dc30fdd73f3e557a2d481b98283bcd4dfc3f35e67c8943f313a15498ee9181a7af7d5f5e00d176c7a82f45d4321c251d71d8ec544fe601d8845247a2fd6cf83768c702def40d6001c53679a4d803cff218668c1c397582921c02add38a9534a06dbb755b4c7cace4e8cb1de6c322f11edd66f34bd8b0a026c176258c09261c27b1fdfbf3b59b965f8d5728f12d15ed16f7c36843f239c654f4b392f83dac4a8f76d6673fa60b4a72ba9f23138a80b53b52efb66142f7df74fc90b99eded9a6dee6bab185 - -COUNT=35 -L = 2400 -KI = deba4a146706cee118602c0756516b0b673ce4da08ca2d16 -IVlen = 128 -IV = 3d6a58a977348eea66b23b92e71214d5 -FixedInputDataByteLen = 51 -FixedInputData = 59d505605bb05476e64efeb91c12417756cf029c6110b1759ed7204628f2706e864b787dc410f5ce9dd0f858c2f5e2243a63ab -KO = 736a427dc928de4070d2d013c12843659d440ed3b4f1f45bc61dc4b12b164a5e79605087185fb73d447c38a3aa64d96f56f5bf61a7217f5065d9abeb20038ce1f8c6134cca5bb0ea38c425755fc8da65a4118ccfa5265e7fe238ec300831f0c66312f7ed61f261c71d395efe17dc502c1c2afc2d422f091281d8334144eff7c90dd6c99e43c95dc7699b77a0562315fbf22aca4a92201347d58c18c5b7e456c3e7742cdbb3a2630e53831d293b47bccdbdac2b21ee60ef99f33bcde5b26f4f398485a00fc55710eefb2405745b13d746708cc220e42af9f1b7fcd092e4313be3ea9f36fe020724a827e9d0a87307f2d574fe008d94701223db171e55e93da495db63e9d82c2b242a3aaefc66aefe2f513d3042b8fc4216aad0bad76fab62245d4218ddcb7e4067c5bb5f8e52 - -COUNT=36 -L = 2400 -KI = a1634988b0446638e224bd19872615a9a18305329518d233 -IVlen = 128 -IV = d3208b42a5189f0126b38cc699c581f6 -FixedInputDataByteLen = 51 -FixedInputData = eece4283d7866a1fde57c751e2bdb6a93dd156a5c814ccde4d4446b80dca5fb29471bde4b3b925be18654a8ff72fcdbe26b205 -KO = 73e20bbd2fd47164d611af49227a26a1f3106a1af29d85e6a971eca5d2960cfa9e1b4f44221b36dd6d4e680a8403eac9a3ae1540a5b9e946e308767eb248f7c66289b303987bfe4185c20a647ca600c632917acde3763dcd74633de551d323e0e9fc8caec0e9435ccdab6f6848592036bff4bb5ff5e45b35562bc07e5108d80f93ec259aa52d7c70cc0656cd5dab87253e7d03436b496fe934c8e870280f0204034fd0eca0b5095d0ebb2f058b3140d037d603a008cb46305bfd2a03f074cd902441709dd95d43b09c3d406a9ca649079652b9bd2496e2d709a70c9947823333be41d8a0c6adfab09836b6266939470e7ad1eb6f16a3b58b3b676b6d3311715a7182467f678ebe935c1aafcd567af87178d26de962673ba0e8cd37d05e05def5b11fa8ba29f40afbc7dcafb9 - -COUNT=37 -L = 2400 -KI = cd46bab42dcdb78116a2a3bf8590837669d873432c934fdd -IVlen = 128 -IV = 6d64c5a76611188e4698a0d20b460b96 -FixedInputDataByteLen = 51 -FixedInputData = a73b811dff1891f55e39afa98e76883d6d9b865a8ca3dfda042be3a62e6ada27242b044a75fafebdf7eca0417fea998bb907f7 -KO = a92f2276f694fd000b79ea2b5742a965344a27c4a6114b1372f4312cd780183e0388ebb46744424d07ab9bf6bdb963b52006b982672815d256ff2bc5daea7ac2444905cfb994765a7b537ebdcc897e6b81d2fbb96eaf23c0fea995d8c5a9009d629c02de1130242fa82d642d0ed585bfa7e2e03870a56d6e78162e5cc2eaf4553ebe147d80b90092eb13d3f997f6b7f67c6baa066bf87540b996b4335c3c0919decce5f1628568937bf7d9c055a0cc44414e5820241e49ac914ee040135749b08a0a18cbc5332ac6d29e438828edaa48cc1b816dc2ccf82edabea863940e0f776230e7f7417d78c84f705ae400637a7cae57624e84e0fbd443bfd616a346348401c704a48b4327e33db4cf98b19767eb4388f51f4f711a7557e73e3cca63b0cfb6d4bb06efd31171f4dc26a2 - -COUNT=38 -L = 2400 -KI = 616b2025a5624f8711f63983c21f28be411f46a71e522364 -IVlen = 128 -IV = 2f5c8bed67ebdb76ffca8fdb5e994b95 -FixedInputDataByteLen = 51 -FixedInputData = 73779ca4399bab4e8cf3d61423ec76555d7ebfcf92326f2f2118d978d0ae769c29a7ec66e289a08122e3f2f8e9c48e2c13e0cb -KO = 3b0b7c5d851ec57bdd2138bde08f2402c38e08fe32b68d7a51b0eb878b6fb591b0adf78ee4b57057505484002b672f322705f99881fada7603ef9dfdfdd02566e3544b96207e7ff645f79c1313702bcd41ed028aa947d5a99c3a112ba7f4b74956461c5bfefe00290f2e2214532ab366a822adaf811e7df7fdec946ac7ccd658b44650a4436e22d2550cf7ecab190169244f63ba3bc3b54b5931245467321d8cfe9b240fa9e506c70d4769f9f7ec288b664b1ba8aef62b1a9b2d35c6e43f4678fa9c850793a17c7d0890275540267c14a7e21cc8c0adb95064d12e9f65cd53ad77781a8c54c8b175160530b66f0b784fd0c660575a8142ad73db647ed94731b6c884999ff1d91b0c1e3dce00309aae15c23140fe1b2bd6f716f6d93cd2e7a5915cb75e07acc2116b8b90d397 - -COUNT=39 -L = 2400 -KI = 9e61440d573d6ffceed086170e9bf2b0166393f05f18b6db -IVlen = 128 -IV = 791cf49b83cca34f91ba69e8ce7ead47 -FixedInputDataByteLen = 51 -FixedInputData = 822f82e1d6462dd2884ff0379473130eec3c5a96ea19d64c811a59b280f152a5904abbd189b2d78c36eab9fa9fa2cb7f81cb9c -KO = ab8edc87b12a154a7826eacf8624e9d175f242ff1389f785acb0fda62955cdaf7e36004a21e7d76ad680d3a58b0c350bc11ac32dd23d350b884025d6b729f5c0b0e8df2cd3fc1ce67a38911b20e2fc14fb39ff29ded5ba61893bc9b1ae7a756ffd6b0db9975f0d4ba086a76f09ec3d1106579b2d4a059627ece7e1bd6756313200211db5ba6d2b1d75f5e16ed1c1789ef3cf8dea03dc16b4df34a9958e4a5cc5778bf3c95f3f16882b9d058a3682a674cd2916dff795a5df6d90736b08e95c1c515aaf5970089bd28210f1e02fa36a1843006e3a6b97d901be91f9ea53c2242c94aad3e8bfb1cb0dc803ac717c451464d7362dd79458038ff6dc5ccbcc770b90c0d017fe7499a260cbafa5bc58aeebe86099562c28715b9e1ea928384d911767dbe39c84530a73508abb442d - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = f98bda4a193a006913ea48e802615d55249d67bf9258c215 -IVlen = 128 -IV = 039b96b56022c949b32ee78801617814 -FixedInputDataByteLen = 51 -FixedInputData = 2279523a0fc04133c0751cb50bac10ad95be580a90ebe397b6a3feb0a60030180f00b7a870838fcc367bb856aa6c4bfe10d116 -KO = 1a250bdeba109418c30173c83617521ca3dee870537cf6fb04ed8cd2770e380f0297a3249f236a4c79d369088bdea14281d5eaa930cc5c60aa145a4a1467bb69 - -COUNT=1 -L = 512 -KI = b3aefaf4e44e47b912c4841bd2eaa8b7c1ae14617a91f1e4 -IVlen = 128 -IV = 2e18ac74728554e4747848fffdc871d8 -FixedInputDataByteLen = 51 -FixedInputData = 768f563e82e19298d499911291414ffc32a4ce98af501a031038c7e589eaead741665740521177c3363bd53577fb3d4d2b3d02 -KO = 77b8e57a49a6196d2846c2bf32c937953a02af93ba36a2adb1d61592cc0e6601451e6eb579c645de2a8e3d3fbc4172c8d85f1fbdb93febc3a9496aa3d63d183f - -COUNT=2 -L = 512 -KI = 3e54c1d962d49e5df2782ef09eb87bdc21f9ded6da8ec094 -IVlen = 128 -IV = ea03d3a51cb0a49b28e5aa4f7905e7d0 -FixedInputDataByteLen = 51 -FixedInputData = c09d0eda1a967e050834dea1144fee845766209cb4d35ec2d751861b5dea9671725bb8695172494226a901f43513dfd68cdf3c -KO = eb1539d5b17357e08af1f76a1b2874a1aefc246a5cf0f60d8ca861f06f294a9cec19ef5cd159f73a4349ce1bb732c62478b5b762696c8c4d21bc8b5e4b96f79b - -COUNT=3 -L = 512 -KI = d407f184181e4a99547ee42c5af41a459ba101eff9ad50c7 -IVlen = 128 -IV = 279b5f483399b437b3ba09d8bd076909 -FixedInputDataByteLen = 51 -FixedInputData = afa4c137d756a1edf394cd3d629590997a154754819215307a496ece9d6921d6f73d92774de44d52adcbb738cdd39dcca5509b -KO = bc3c43dc68335b6b8bb3d50c5e1be5465c88049ce4b3514d0a87b0321d46843539ce5d154be097a77e5177e73c8c7f119798829a7133ab370a836852f70ee5e0 - -COUNT=4 -L = 512 -KI = f57b93db2039a3b7b4a974af96ac3be413a6f24a893da241 -IVlen = 128 -IV = 2a3ac1d68ef477340dc900a908cb5f23 -FixedInputDataByteLen = 51 -FixedInputData = 5cba28e60cde7960fc97c1c321c49eb5def82abe222d1883e14f6ee481466e970f1446bff08ed7cfb3fb0b9f33fcfbb372d606 -KO = 997972b31e4afca665df82314d86b2d3460c4f1ab7d115e6c8cda368c9c9a86147babe7e8a855628626d2cadb5339b7ed76510cd7fb6a69b3a3fda95cd9133de - -COUNT=5 -L = 512 -KI = f2ba213723125e7cb7226176aeb6102add3952522e569cbc -IVlen = 128 -IV = 32bc4cfb524bccb2c4883321ef767517 -FixedInputDataByteLen = 51 -FixedInputData = e880f94f34273c9af5925b9de45e9ad81485fc91db9b1b1a3fbc81d4422bfd7d4f75d5c895987a2daac1161cf3b7a5f4bfdda7 -KO = b104148189f7b64eeb5174b4566f635343ea57c3e9aa714ee7ed80b12caecd6395ba371adc425b33c8c881539d4e8754b7402bec56cebda9d04aa0f3136eab34 - -COUNT=6 -L = 512 -KI = 8608407d7e338e6aa78f693e4155890a603e1771b1a51cf0 -IVlen = 128 -IV = 69da97f0d8f5fc6a0cab6f9f4d97a997 -FixedInputDataByteLen = 51 -FixedInputData = db2fce79d0bc69b95586134d6ce90916a478ad542019b5040e575565af44945bd5b433ec0020cc6834c08252f38a2926bc8254 -KO = 9ee99916d34d36ec599f97828d9200be139aec97cf63300092cc7f395b078e718bc381c7b071b554cf53d3053d4ad8030b607d0a84ce5fa8828e6d30fbec5287 - -COUNT=7 -L = 512 -KI = abacaab7eb706826d94a70cb2786ccceefb866bb1252678f -IVlen = 128 -IV = 7771ba6cdae2d1339b5930d6b76871ec -FixedInputDataByteLen = 51 -FixedInputData = 8487a21ffe67a73936a53276a4038686ad1fc2488e8e96d2551bbbe6eee6b966766e323ebf5c51cbf6e42522e10eaf27eb1616 -KO = 510213e50b5a3b87ce1273c53697529a3e2b590e061160a7bdfc43c58314d1ae41727ea8f027aae9e4440af0da16813923d7dc4900b40808dd792750b9ec1186 - -COUNT=8 -L = 512 -KI = 7ca043f94794957177e3a9e8d4a346b9ef9b3e171855c9db -IVlen = 128 -IV = 502ca68bb81bfedaf4e0d23fd5ff0d27 -FixedInputDataByteLen = 51 -FixedInputData = 1d6bb2496fe30d52ab29dc977ecc413b2bb655d95635362c4938fd2f57dfe098fc9fabfbbef3fed8cd488bd572c768d75cf57f -KO = dee8dd842ee0be45077346d7032abb72b3915777a00e7e67ad1c65baa508700eaf25dde57828d687b9d44a2955493d90d8b554b88097b3a3f6836a84ce535aaa - -COUNT=9 -L = 512 -KI = b431457f1d79557f1ecd2a3ecbbb586c68d92feb9fe14379 -IVlen = 128 -IV = 7fea252f50ee50069c22a1747a0d58fa -FixedInputDataByteLen = 51 -FixedInputData = 2bd59560815bd3a4b39b4d3019c25ef833a053dc400918467bcb52ba38ff39faa4527b006ab875708ba69b6d0d4d447e376d32 -KO = c2fc91f824bed4c10854ef11c3646c5aa3f7e24b0be52b008e24d3283fae794e4e57fc92d11f0b2f0f4a74a2dd4a1904e5ca5f9b74edf1594a163f2cf4210ad6 - -COUNT=10 -L = 2048 -KI = 8351d689a9316db560326806d108ee01b1d96acd9b5841a0 -IVlen = 128 -IV = fea0c6172e70ba5de57dc00806d3084c -FixedInputDataByteLen = 51 -FixedInputData = efcd717dd0fe150496163b171a321e0c428e02590d84c459022b1b22c8761d25bb32bc2ac69c76b807541923a207ff92bd2224 -KO = d58b1a2d832adbd10cbe804d73f7b43d64744d49ba0c615f39cbbd0998e5590f2ee8256a273fd8a08104ac7d26e411259e3a03d496315f75998201cd7adf634b1e9010602c05694aa42e71500cf2e6de95cc25ce61b81ac73bcdb50eada10d2384dce263cbecbd2b7959f583f4037ef11dfd1ace050a82049ed16fe9f200127f0df067f4e917de71d352800d6d6844c000a9c8520784f8d6e1caf5d04c18799fd979b63266d9121ddf52187c0d90cc40011686ac3cdc89783880f038e6d830189c592332a62924d0894f4680836a85bb936789c0f9879cf0c74d0a22a5d82c06bab022c47b9450eacc46b2e3a2587300c4c98142a70ed8d8540257601b959dd1 - -COUNT=11 -L = 2048 -KI = 22725631522713bdede424948820813b3ef71e16b788ddc1 -IVlen = 128 -IV = 760b0dcb66cbe7247ea1a725d601b059 -FixedInputDataByteLen = 51 -FixedInputData = 00099c1b170f3907862df78e4cb42fcd9603eaaf5994f52a4c50f210d41088933c5e7ae4146aa3f803f5b8ea3a766571e40aea -KO = 1e8673463bd4920520d4bd66e726541ba3f9085ba66b606e6626650b91ef99a7bece3d51a3c9db9a1736c82f0a291d8971b3d332416bc23dcb2713b03f762b1165b6dd3a0d3dfa4336da0ca3874e535c56f70fdd43ca7931de54c8ec7021cb5a7d00e33ff047bdc334aaa853a857d7d3730510402006ecf2fa3f87285106e3d45f5c558b8f49ba3b39215cf0f54d4ee0b88fd2016c335f31bd9a2a636cf399400b846ccc61799e9aa696c764922a34684fc739ecccaaf283cba638fa209160a0442f8f5d6293868445199f9982137928588e30a108a50a24ec84cb668befd2bdad215c97236f32fc06da53eabed4e97c7f059ee5c1c36f869a267e59db1cd705 - -COUNT=12 -L = 2048 -KI = 8cf0e1903a081258670e40aadce1f50dd2b0e5bea57af4c1 -IVlen = 128 -IV = 1c5617fccbfd18a6da7af33dfd9cafa1 -FixedInputDataByteLen = 51 -FixedInputData = 58bdc09316fe3d503e55909c241223a7e145bcce998e8c1da68d0502bdc5306852c59e145b10f2e5815ca0f430835f7b1baa85 -KO = 09c95a49df1800100afad0b48ebeecb7ce3b3645123c51ea518615df6b491baafe22bb33e251d042a9f70d34a8dc6ebab4247e7d58665f1a5479193df527c321faadbe3e08d376bf63a95b93bfd91a07e36263d25b148cba326a5cdfca266abc42cae17cd97863c94c2dd069b35c0b07f53cfb64c3d060f2d7294640ee1e92a4704a75a5ce6c8c7f681743bbfed3a4969cca2fc42727170a9f3ce2c369c93415ee0aec5e6c2cf76ecdb2225cf7c9a8ad59ae7a941df9eb174bfdb7b46f2b245feaf715a65b409bf5a9f7957035877366033a2e7ca6eaafef8ee4e5ca6c562993f3fde4057b44a30b65d0facbdbc7654c465cd8d41543822afdd1ab1064092a76 - -COUNT=13 -L = 2048 -KI = 91c210f16e4b50af1f7bd9e8f800d483acdf61cd9a9668fe -IVlen = 128 -IV = 49a5f0b1c5647a4823f94fe3d011635f -FixedInputDataByteLen = 51 -FixedInputData = f6699a03b865dfd1e76d3b32ba0dd0e25130a99e568443fb60a3a484ba270b07e48eb66bd24104e3795926bb295f6e7943f017 -KO = b9c2a22b78a33576ec5c57fe7a1d7ee1b0850a138e032e051dfebec0a965305b83ae1f4877d42ed59ca86927df51dd84f2a5293c33cb3806a5b4c180eca81d84f7779f763a920e459a788b9e6a9fcdff601ec3b0b894a608c4d2f89ae5640ea046a07e8d59a18a91b2a5a3afa9503ec1de6c6598ac79f0b2228fe2e46dbde2b28b71ff28b881a72c00b6d1573471f08104efbc6b31f213543062b6e0fd9c0bf4b371ad0a2f79b204557548af92d184cb523b8a644544e1591081bc8cbc2b56bfc8f49c64f4e9bab95dbbe16152065444bf383a9e18a459cd06776d57f9ffe857d3d241e7f50fac0322f2032dd241c4c2d742e422d59ce5936e6745a59ad49257 - -COUNT=14 -L = 2048 -KI = 0eec78bb540525aaa9a2d8a3688308b6d3495a794ffe5f26 -IVlen = 128 -IV = 7b0f1e308b7fb13b9b8214519413ea1b -FixedInputDataByteLen = 51 -FixedInputData = 54295eec38f4042410249edf4147a1a50092109f96b69352cd7c284ebf1a8492ffa52022e39c0bc9175ee100b7306201c9242f -KO = db550cacf04c2dedf0705e57dff5fcdc45a238aaaa125c01502ac03eb26445fc933a26c60685dc2b5776167b3a9b4f036fcf6b018ad4cde7a566fc292bc7468007eac5139358bab5d5d8d94220bcd818a2eafee0f47bbc6a5abff35e194d1b3d59b3be31b3704c327a5b17f3d7a62b2ffc01f1279f0105e9a24637b8528bc1de1ea30dd46a3228d2b6b0a8cbb2737acb4971569830ace63ec4784f389db269f540a907371138110d35a804f06ed90d687bab259269dad857c213ecd94bdcd6e50f2652caa174f1f9e32e8203c728b29dd1df922b1a114f49ce9a38c62a686140903cc777d7c2e310c1afd22f54eb9fff68761d5c29c135854cae99ebeb3c5493 - -COUNT=15 -L = 2048 -KI = 940a41e75d1b00c866a1f5033908c49be86163e596092a5e -IVlen = 128 -IV = 8cc1c50fddc48f58b87a06e1e26c61fe -FixedInputDataByteLen = 51 -FixedInputData = cb3cc4ba32db78bb603993bf4385d3e35ef5962d90e44471eac2f06ccc07e6dfe9cd066c94d360ea6ee6b11737492a4196d4b1 -KO = 325a39638ad2a658df3c6ae2e97b4ee257d1a266895c3d2fc4890287d5904e738d465dcb14afd5613d3586ffb48a677da801de79dc30faf5b973286774d7e870b1af1b861b29ab73be1e865b201f3d297eed4224bf4a40ec9a58ed4a21cf745430bf9aca0a8d5294a82572dca680fe0afc93ce475408f16939270d8b29bafd99578cc076a1d132e84564720220d3009c9d5f518615cbdf5e4437a8344cb03adb59c3ee761ea366fd493b09217efc2b3b9b27ad1575fab7baf0ab67e505677909e5cc80feab89d07aef67dbc25b4a62712547d870c974d97ffa57c63cb5cb22abb91757fa46acea9cfdcb669044c6b5dd74d4def5c6268d5107f61587f2d4696f - -COUNT=16 -L = 2048 -KI = f520e35ed516a2ef6f2bfdaddc82e68de2516e04f9e8409f -IVlen = 128 -IV = adee6f56d987c8a5bb4ede02d99e97d0 -FixedInputDataByteLen = 51 -FixedInputData = 5b0f32c740643f795d277ebbb617904353d15a09c17dbbde7a54559c3433aa7941cc73173416c61d6511113788e604134fecde -KO = e2ab1aa362868a9b9ea956352b23d0f8b4fee4387f29ab41a8c849e3a0674aa1ca11a702c05d76c4355f9867f37a425e02b1f9d552149f4728538042e7a8b0aed55de28e7227dc7295fcda41b2bcc86f5c480a2b26cbfeb5cc4d57f7e103591a810a97e78130c45c041639801a760f5dff44be654a80feb793f6ba0ff1567fbea9d31c02c6299c1ea8660bf99ed8ea5c2438c4d9a258d785933db02b2334d287f54b83cbe6f41d554a7f00a6388b3b200644d16a28506e5db7eae148cb224fc0b2c02241d85cc908e1002a7298768d4f5478f040d7b04ec6fbc12c88c40d1a4a358eaf5f79d09235b99402f125f1efac3a579824ec8f106dead55735c4e3e469 - -COUNT=17 -L = 2048 -KI = 3b196f4d0934a75e05f1004dbae10a55336d2c65d400e806 -IVlen = 128 -IV = 7aac2795b1a3eb3e5700c4f591168212 -FixedInputDataByteLen = 51 -FixedInputData = 5e92bd30b0699cb3365dc30517bb9bcb7c0a989a82f66276de2f3795e6eef27dec5baa26aaddd201b49dabbf37435d9cdd81fa -KO = 6cd760b3913d92d5d4b31dcd1834dce8afab68a98fe638d8b17da48e536b10523de6ab75ed4a9ee61d60828d02d3caac5c056a38fabba706201b2d05ef0854de582680118172eacba29e986a38d08d425b4b48b3c8a6d9685b8bea54f870a4b40f809c91b6005ab12efa4a58e3acfd616db6777127d851d6d94894fc6038f6b051f297120ace50156f6ad8d8b723bcbd285d618ea3d9b6d2469943765e90ad9380a62178c7b8b691df04728353ea816942f45baebf2e4313735380b2b88fc1812142aaad4fb4b5bcada5593c31749ffe8c39b79fca9d24aa8df90fc74fb1765857042413880450037a5deceb443b022badbf686e09696415ea7ad83851c2534d - -COUNT=18 -L = 2048 -KI = 77df333aedb3c4ff6880dc984e88f2e70a903654bcac647b -IVlen = 128 -IV = e0beea5613c05af5b4e056e2c68103a7 -FixedInputDataByteLen = 51 -FixedInputData = d4e48440e08d5fab1c43bd74bc3594bcaa7b17b33c8f044c3e0bfcc366caf5712fb8590028ffe8c7257dbaac61bc7a0e9cbef7 -KO = 0acca31bf2eec0c372a3f152bf2f5f7849e47e6ddec868d59d2a8deba3abe318411987039210a1aa5d8f621788b9861ab221ca5292d5628d654e819c362f1468860a08a8958fb3058bdde042c7c7e7fe6f06b17c8155dc0dd58066c2aac61555a885abdd1d282baa2abf4a8948cf51d4b361818eb0adf7cc7c4332fc06bb2db02660da8a3d1531f02b65fe1274a6e91965ae1a1b1aeaacb0bf9dd588fdf3d64709611fcceb336987c314eb6b1bc9e572afd5ea58c22d2aff3fe6197792d46dc41b629394e94b97dfa9aac70639d5bd40874f0964154103ff33af854c831f6e4f6f7a2050458b1e9ad36561fdc3c82ca471cd5351d21879eca77b3cfc80a8bd3c - -COUNT=19 -L = 2048 -KI = 6bc8d4612cfa2a8fa4fcbdc5ee40a4213415018ed7740d69 -IVlen = 128 -IV = aa299657fa9a2b05db80939ddbf76a27 -FixedInputDataByteLen = 51 -FixedInputData = 97210905fca86582d13068356756e0a37379d7b9d078e0ed347c7ea22f032f8d79b59a5c5ce976fb48c776a4c8d009b4ed1dfb -KO = fa122854d019816c20b960cd920472e40c1641e9c60b8ccd06f8e0ff6e7856eb6e37e0442c18a7092ca0cbe3fc348730de6e4eabfd8d58fb11b05fd0dbae976b47c613158d40f45bbed93f73527d53a4a3055e495dd0c112d3e34f83ec54d2d544cffa070c2f2bbf8b8ce801a60bdc633544a4cbf54624f3289acd7350cae3fcca837f1031e368eff7c31493105c1b0e01c5cd743c1cb4e5a4a1145219060df1e10968cd3440a505801dec22b4dbd85833becaf5aec86ec021bb241db90ff02b45f346b017bcfd55a99dc1c84d104beae2992d2691c078050ad1c754a5a22e77e0762d418b17be50f24728b95b0ab3f8bc6ebb0dc9d25d462b06ac7f2f4c79e8 - -COUNT=20 -L = 560 -KI = c3d7b3fd19dbfb52b603fb7de32711b82f6eaab5d2c77c9a -IVlen = 128 -IV = 729d84ee173dfe8b1186e70795820126 -FixedInputDataByteLen = 51 -FixedInputData = c173429c49c28aff338a4726d847b3fc5bc8fa113e3e5bb38e4835f986fbb6c1cae22fbc88eeab0aa4642a6b70b96d39d5d453 -KO = 4e360fa91747dae0e2a3d91d136fbe70010abe49cac634de1d34a4699692972bf8e6437bef22cc77c9e00578837a55fec6988c1ee6e93ba8c8995853d0b1e4a83a14e5b0fead - -COUNT=21 -L = 560 -KI = 9d779b2fea6bda820a01ec7aeec0131c8cb9a24e04e5280e -IVlen = 128 -IV = 5e238bd6a00a250a54487095c4a3dd48 -FixedInputDataByteLen = 51 -FixedInputData = 4c90ff7be44f774a37439516b0e74db6bd46ae64c6eb6523e6b2b2d42537d7b3ad265c04ff0f992c304cbceb40ad50a2940701 -KO = b6ff3ec07a0bf6203fd9e5c0682dd12703ec61c3461e76284c1c2698850b6c47e0b56d6d7478211fb00b229d2638d0b8d914566235c9d4aeb076e48c78fded7c55ff9b4c6743 - -COUNT=22 -L = 560 -KI = 60feb3249e994a94d03069ae888d0b390bbff30ff9a03d81 -IVlen = 128 -IV = f3f9787c466ec43878d4611873a4e032 -FixedInputDataByteLen = 51 -FixedInputData = bcb298c8ea56c2596adbeb358a0775cd6041e5be52e6a83425ea563a1688bde6dacc40af0b36706df76cc89d72745ad38fe267 -KO = 347e88530eaa2aae5551bd678139c0dd812a3cceec296eda670bbae3bbc269c2a7d595a9099006a358d315f96ecf4ac91e3cd991fa4c5cdd636be10f040a03667fb02ba00bf7 - -COUNT=23 -L = 560 -KI = 4619699333fd8ce20ca6f9a9ae0c87cf75cb8bb26466f791 -IVlen = 128 -IV = c438f4d42a05d5b799ef1490b804f48c -FixedInputDataByteLen = 51 -FixedInputData = 0788a5d7bd1a890ecd78b48a8dd2ff5f1db71dc319cf03f4246cd41c3171129c550e6fa6842498be97100911580e3e36047d09 -KO = 92efc6b6c1b719d1410b5ca0fa7c96cf1f1388d0363580f6a2a052256cfb01fafd830003497f765113eee523fcd55e582bd9084e8b67014d6e990aebcf017d20a72c47acd575 - -COUNT=24 -L = 560 -KI = e8ce24de2f30d09b15c8d47f97e57b07df6f2df660f51d32 -IVlen = 128 -IV = 852eedf160b9a2388ba086641688296d -FixedInputDataByteLen = 51 -FixedInputData = d64ec7331dfff04677dfdfe881d236a4c9b4dc328289cf71a7121839c05837fc028fadcda512e3c5f4281b522b922fab8ffa40 -KO = 2a5772186d774df273ad74be4fbe15a5986ef7f71750d3296206cb25f35f00403bfb39eb7ccb38ee4f48f6aeb535870d4ece5daa6a0182c1687ac0294c68c01c6743c8f5ee1d - -COUNT=25 -L = 560 -KI = b2e2ff277214ad4bcb89347121db8f52b625a813cf6992c3 -IVlen = 128 -IV = 4f44d259f42ee8293ba822bb6ee79c67 -FixedInputDataByteLen = 51 -FixedInputData = 7d3fbad0bb3fa019dff4a8e38699f2a59443f04f7a3b368929246556c5ae7d722e6fc77ecb4dac83bae714b56691ac74145a87 -KO = 0d747a964d624b8ab6c0424b119617f8740cabe3a78b70e0d01b8acba02589b534d1235389491a5e4d1ae74866b0e7984004626e82f4501c5a59bb72970ab88cd512aa613e69 - -COUNT=26 -L = 560 -KI = 130b2200c90d841f6c2d48a334ecb2f6af849d4e270efb41 -IVlen = 128 -IV = 415b5619bab54ca54fc8097e0f05ffb8 -FixedInputDataByteLen = 51 -FixedInputData = dcb17cf029d22b541da0cccc2addbf15dc934b8a8178455c4a030e922fa6a8ac0d7a6862c8984100bb061e88eb666a5c9dd1cb -KO = 3c24f5e04e10c0486ae7bf6eeec5ee65db08e73357beffd90ee42126c8a6bbec067884d7e8a947fd60a8ed8ebccc7a5587f4ccc2b7ca38fa5a3c72136a0124850d94fb1ad9f8 - -COUNT=27 -L = 560 -KI = 028200eba23a8e33c98772c570b885f5d96dafea56b303a9 -IVlen = 128 -IV = 7d890a953baa1e0775ec8993c802fe02 -FixedInputDataByteLen = 51 -FixedInputData = 727438063ae7ebb6f3017c3f0037d43ba26f75f395e505ce252660d07ac9d2b3ed5cf23275ed72c0534babc66c427534f50a52 -KO = 8c3eda16e759c8aff6b248315b17b60e2a0b877ed87d8c7c643419ed46ed0aa1d5293cada9ea74f5531c7c2249f3ccd9387e47acd04fa13e81988426f8b6c8a5296bc87d742f - -COUNT=28 -L = 560 -KI = 7153dfc7c7d92c01de0c1f69297a825de905bfef261d27ae -IVlen = 128 -IV = 998bbf900773d2077e8cde3a750502ab -FixedInputDataByteLen = 51 -FixedInputData = c7d613f69de05be55ac0a3aaed373906dc08b6f7c0e75be153dd95ad43427db4fe08b3498e51d0b055cdefc9a7093bd656d012 -KO = 4c309f3cb53d1985c04c8ad26ca6efa00c0171418b7884b5d9671cef6b2fdf81a852e4c692560ca2ad5b161ad50bd1bf5c4ece258c4a9f740381024cd6d516818d26846b7596 - -COUNT=29 -L = 560 -KI = 3f4ee53e3929f3408dbd48d06cf53f206d0cdbcdd2731532 -IVlen = 128 -IV = f49feb897c3ef4e89e07138db674733c -FixedInputDataByteLen = 51 -FixedInputData = 6466dc943906c150a5076f636390c6454ad219572afdb2a1b2e0deb9d4d2d419f03ad64e5887ea150add803a56b26962bcb5b5 -KO = db829e337548ab5d363e0c42e39bd033603d5acd470bf25ae73830a29a1a17587569b54d15b055af138a090c179fd563f89aeae3017672ac22231a01ff98db4a702b2faca520 - -COUNT=30 -L = 2400 -KI = db09bab5aaceb0091025d22c1650b6d2e7b03bb860057569 -IVlen = 128 -IV = 472d94911636359f09f6498210e3e622 -FixedInputDataByteLen = 51 -FixedInputData = 92c6511bcb4d323669f0cf9311c9f21e68701643e9d5d5ce1523d72ca0fc620c373f748e736eea4c4d284e4d59b255bb688562 -KO = 64954a6c70a82b9d81c0898d6989f6988b1a7e3be223f4c374bb3fdd75d9c06103c47fa150bbc19932944a6d7b7471418f730d50f6654d46803853c53858657a1449881c351c15752d121cf0d313e4087586148732d8d1be31306217878ae2e5fa49631b9f719377a0447ed65c5882f1f80d063858867d6b99ffcfe77552b436b62264d283ede831e1917a79755c86931e71b378b083c3f88da4724b04c16af30b798bdb2ba5c931bb6cf8eec2db1d3be7edf6e4952ef0fbaed6ee9669004757695b2faca1544a781dd246b63f7cc27bd8e266e68f405457ce9e9516c2c329c2cc5e11df02a43c4acca9669941f726d13d7d6e14694f74982e1f01bceb2975cd395a540b05e970afa6514477f33068884765ca1de0e54e1d1c9f35af402f89772cb70ffb2af15bdf1e2d1fb8 - -COUNT=31 -L = 2400 -KI = edbecfb5f49e24f0b52c179466afc42eb9ec9be1464bf84f -IVlen = 128 -IV = 55d3d679e7acf494b1fe62683dbc6a7a -FixedInputDataByteLen = 51 -FixedInputData = 624874713f6e4d64d564bc9fd7cf6b74d96c8f466f0baf4a3743e6e33ca5e21532387cbce99c6ef09aea3545f7043b0eda4645 -KO = a5cafbf38a5e9f0bc8306a7187a04e04edf04648cb5fdf261ffee4535979aebb66fc442d5916fef16dc8329dcbb63b8fdfc8d4433d33c5d4a52cf9bac647a9ddd2718aefdbefb8d16b7ebbc8312d50b387c76736bfbf41d445843bc768a0a1b5d8daf8aaf88efa4547a0c08465fcd37356b0bfc52f26d87d405dc0a5582d41588e18613be3697c807e6567a943c17ff6d2febb59b9d36d413a1caedc68f584a522dacb54b66751f9a15283086807ca21178806e444780741cf1bfc5770efa62119b889cd8017e3c42f8c03070cb377c3030129af8193213e934bcd3dee351fff14eb8c3e65519ca0656acb6e064f24b3d4b927eabc8c07a7a21d0ed1e686753f06de61c0d569ab919e3413d51730b0c04cff42ad0d41172129a54821da52464854fee36d2ec73db4a8a8d792 - -COUNT=32 -L = 2400 -KI = 867e721b8c37acc0c8c2926522382c0479a465de55f206cd -IVlen = 128 -IV = 2f27b8c51ff863c8800278e38abb77c0 -FixedInputDataByteLen = 51 -FixedInputData = 8b999cb3b1803dfe9a988e8fd28b8de333865e3767d2a0531f16c3ed4dd162ea3730bad9a31e68c1432483522d5729af1cce00 -KO = a2212c13262f67f07ef72c31d6704c72d96a9a34b7de9bc3de1fad2497022f142b873b6da567b3c4299d17bf24167e450266ed7c7ef5265896f2fa73025d253901c390069621c5350253b40ca0a1020295bc0abd2f32f58bcab7daee7c910fef1cbe5ec209f8d9e8e6cb9889a71cf38c1c9919cde3201725c046488f816da861e6f993df43a191182e6de2b5068a365afe150270805705ef2ec73765ee27a5e5c76ca6802b5a6d02d4ddf532d0512bc61593e04fe32caf9e85a7a524e32abda7d86c50514d8e993ff6cf6764a3cd203c335587b74e78019c9244e3e5dc46183abf6068f18f004838e55018abe6fe636219222430f1f63c863ac969a0712362d807665578f6f3d0ad29b61e5a4a581a2ce88fc5bef243a6157853456477ddff2b0f3cc5301c5e17cc13baaeb3 - -COUNT=33 -L = 2400 -KI = b16c7db5daa5c07b4fd368f4b334c416892dc575792ba22b -IVlen = 128 -IV = 938c8569f096207309b3df6b21bc01af -FixedInputDataByteLen = 51 -FixedInputData = 80dad8816f7d8feb964fe6af784cd8091806eab897318f244f2fb3ecddf565906e4951932e4973f5a8f968f9fde446442dce53 -KO = 379ca0d8728ae284e99106cb38b5b75d5eda3cc00ce62458c6dc588afab4b280a5822aacee28298d6fc2e166a682fca9b3a6ab0f581362ac2d06ea271ff0716525d69837ee41c5cd55ae77652974588f98a469a5663b7df6403a1a635611058721096b32e23855914ee77e24df1e0aae29122a4f9a3cb59aa11d51ac49fce92e82e0a90384851987675e304c3bb203dc23038d0b0b9f8bae83b80af5541a83605e9a1b164b216d2037842869eacc8ce0048e2e624735defc392e684c638d71733d13127752bbd34e81bb6874c786a4a8c77ebf933b7261c196ff3acef37757ef1a14ea69bd67742c5f991a02031a5b65c37ccc1aea926456896da1450cc606d844e560925185aa58a76ce427859f8401fbf3c9745961c8248a3e1980f13dbb11d50344a26b8127aff62d019c - -COUNT=34 -L = 2400 -KI = 3a55cc1985efab442035265682da62053955b84d3e9ea479 -IVlen = 128 -IV = 963a58e3d035cb503e40b110be4e3289 -FixedInputDataByteLen = 51 -FixedInputData = 5b60d39060e5cef472a93600285ec0ce5360737bda754e792abb2a69e389f1421e5071c2aa3c024b8c138c24a9aed38d2e577e -KO = 4dcce2ca6e63fe08662106710e3420eccb38c27df3a5034decb9ab6a7ed1e427e7fe07e025ab29109153001085b63c964c0b3be00270e50b07b3c4f9bd9e05a485f21dd21bc94e5acd369bf455093eb8dc0ee6610fad95a42bd36fc74ad36bb6ca18ce61642bfc6e8863f983834768747eedfbe0f55913f781dbc4c04a75c24131a3aefa7abf361721357fab048560aa848cbb4128788b9318c6a44c96c1bb1aaeb11f74db0d6bd9a05195d2b09aace7ab1e766de2d19961a662713edbf02637ced2e1141e9c33b3c47b2380c2754d454e416c2e67c342fcd4b179a308eb3c5dee32fd52886f1790c8f4520a011ae35826b08f4661fdedbe7366381311947f7dbf3f2e7c2af59bbce7c6d455f64af6bb4b2674fd0fc3f1761e054bee51de85bf3cc8402450c07fbf875f9088 - -COUNT=35 -L = 2400 -KI = 01464b330a8150050372964bc31a7cea0d5cd80452477ec7 -IVlen = 128 -IV = 0e06b01b2edbb87a0b3556ba63952e9f -FixedInputDataByteLen = 51 -FixedInputData = 7ac78a8d214bfe4c3ed6afd4d2fae70861bacdae1ed2fc12c23b481ef31f2356bf978bf06de3f64cad7ac78df19c460c58d671 -KO = 6740690391c4a64deeb1d19ab8462091c5423c6cb4e5ccf008f89cf43174b27ff16ef16ea4c209254cd95e674d84a4fbe0296fd226100f69982b5eb726a557a8d1471964461707d7ccd5f73afe2a64277b3084e7cbeac5cc86af292a540eceb1b4d9e3090213bb49ca6efe06b15434e0bead03105852d9115445657d40062bb10ce1b6a71f08ec913828028e13cc09b4318562e2ada5a80545f8c880c839882afbb8d5e202e5e275c69d4c439e838d4db0109d6b7ed62fd0a3e0ee10edf70cebe05738831ccd1ecff4f8e426c57857c22c53a17f56919f2cd9a603f778a6091a1fad5cf93040cd6a704520f3248b428b3d0b42f54de1f4a71e89060c5472ae555022cec5f89d415176096c6f459af7dde5c02d28dbad66baea5d839946e222576983e661d25a13ee2e29301e - -COUNT=36 -L = 2400 -KI = ef8acd1601c9035cd65adfef8daa83b4fbbebda815706064 -IVlen = 128 -IV = feea823c2fa9b32a678fe7479480cd8b -FixedInputDataByteLen = 51 -FixedInputData = ebf563e0f8c979f9a1bbc08a5d846596591d87620bfc136b82587bd926697e62deac945b0ac69129f96c04cc8c0a06efd8e25e -KO = f69496c535890eee3afc6e5af3ad57d87a3a97cfe6c05a7af81a1052c3129853dbb82e3b162a4856f4df40ad3bec7b530eca767dd1679ffa4d68d547928f70719af7a8538dcc9e6a46c5cd70b30b42cb21a2c9b8247f79a461db959a1184e30b772f7b76dddf868bef491c0f3567a91454192ad972735ee33f6978be6bfc5be7fa6c56790fbb6d15326227a0dfcc1587816a760990fe022a8ed16e198e1d6af7b4660e43e1f4b4f4b5dca977aa1cfe6bb98ff04cdf1052f118606a870d801d7dcbc07101cf2e4c35508cd29f2e83dfc93ce68a10ef9c2800136728474e5ff4db629b8038ddc1e597d563c1d1e815cf548e927bf2e660779b4407d716a9c3ddbea6007dddb8c259f6a518eb8231fb887fb6d6432f8324b4aa501f9c90e4994db7460fdc04e82f433739e53673 - -COUNT=37 -L = 2400 -KI = 08216fb3e147e1792a993bdba263b680724bf4a0ef8b7c8b -IVlen = 128 -IV = 4b641323228a741dfb7c47f5afab4cb0 -FixedInputDataByteLen = 51 -FixedInputData = 96352c1dcadd02348e358302b36db6b67a2898e29db5e607baae7c67514f69a7829249fab1123cb377a681d6c711c56c2a26d6 -KO = 65d6a75022658dfec8f4b13d8a4aabe2942f11ff7df2dfae2461db8a2108933cbad15e6c20c48950f11de3dc825c146aa783b3ed4d9d698a851c2d7c4288388e68faef10a9019ea60b3c80fadce10e6df9798374d70c45e0f4bdea804d35a1ae1aac2c898cbf8099c4886f4a100b0b4e25b54c34dd3cc748e2286b6483f76b278b04c5e41fcf8ebaba0e7a08ac2b131d563c6126379cf8170ac53ba84a3c860c4608cde037451de3da9229a8fa1c15eea705567dad4a2b0f464c8d46f023c41e23ef024ac52facfa03bbd47951f1dac9ac78ae6a341c40827320d0686a552508e839a97e0b82c875d48ad1dc43054a89b4951ca51f181f7bce16e5740860c0d764280cd5f0547f6dd0812c8a1e52d8f9d04beb9545fc597f490afb3afb43039f52f00216e09d8879334ddea0 - -COUNT=38 -L = 2400 -KI = 70b6144468aa63db65b0769fcdef74b97a9c0cf6043bb694 -IVlen = 128 -IV = d055add05f9e562a7414bd71bc6dc8ee -FixedInputDataByteLen = 51 -FixedInputData = 5abb5ddfa9f2bb4f9a5658442a3b624af823abc4f56f697f059a5aeae49b9f219100b2506794aa0c43caf216629db3e1a166d1 -KO = c30f93e25e1ef268a5bfa93b6208026d6f30a7446491943cd22fa94ccafb3603eea2fcb2980556c608e5b0a77fbf189b3160c34f2658592ca942c9e57f7eb04f3fcdc53c71e3a61cdddb74f1591496026a69ddd574c0195a21e10aebccd0b2347b39f6011dbfff59eb309237443658e3fd240db5e7b86014dedd12788e65a784e4ba085a6b6e10bd0d7f42e3fadbc10843584340c40ddaa3f4ba2ce50b824e8493294988160a276eff705570503fa696a7dec5f176e6b5bbe68d0c73b24dbb20d8f55ea1a82b74b2d70e885bceacb1e2d89abdff6da6bb6c3090f3a4e5d6a66ee38db97432fc402eef560b2de92b53c5e515a9c9deb1ad769657c55b53de933a3a1c2401971e183c85234166b98a0c48470cc68cae44ba778ae68c5ac70621efd4a0e664cbcd25ad6f425a8e - -COUNT=39 -L = 2400 -KI = 0cc39cea18242a4d471a6253bb48a8da386e2d1298be38c0 -IVlen = 128 -IV = 70bf72cde5e982f05e64da873db2cf07 -FixedInputDataByteLen = 51 -FixedInputData = 1e13fd4e72299427b72e31693c4eb892390d5947b19045c0493615e702125fe98e3baeac9a036d7f023a7a0e589a368a924731 -KO = b04977e0de3862a25d859753e0948dd5741f6e9a617f90341b0b5e8752cb5d03765abec7e7c08191d8d0d389e4b8898b1004a3e9077eb8081047ca41fa7b54951d46678d5b81a463aee66612f2b9f528a554ef07d901df3dd63c3ca3407a0df5c12549b6883f334e6ad40f529d16d6f6426b164ae72b482fbe8523d2cf49b41fba364ae213c3241fa5b25c6f2b84fdfba30a8a3cb66223265a2bd2b0900331222b1f450d99fc0881e7c61b5d6f8d4ec0def6096cfa7b90b00becf47e43f17fe5dd198e0247fc189788e12326668806a9a599f701b3ad2f3e6088ed1a7272e1b932b9588842a3cf709950ed2e75ebf37268abea57ea39ad623f812209d0a8196378a5281c1d8c4a7ab7da5a0e000e280eb48f2314b2762f37b72bdcbe959ace8d050bffab1c29de797857e1e5 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 19910d0ead2908ef2ddaaf1bafcf849ab4c1765b4a549aaa -IVlen = 128 -IV = cc0bb44cb6ab2fa84574151fcb93c21c -FixedInputDataByteLen = 51 -FixedInputData = 92850157f47ce6415e8b3ebe6b73c4acc684aee3a3b5919b6d356ba79086599dbcd84847d3fbc02a2b331a92597acd82672ee7 -KO = 30493a496e4a0d603f7e2b249ee7d63a6e5c9838cedc9952622a5e62ee7326cf80c6e1d83e35d706edc0b56facb2dd35c2242ae6f01d71dc3d0929df2f99c804 - -COUNT=1 -L = 512 -KI = 6a1ee56028f376641d879d1d14e6ddc4387ce5a889781c1b -IVlen = 128 -IV = e3a990950cb50aaa2f32584dbda0d6e3 -FixedInputDataByteLen = 51 -FixedInputData = 59882c48a27e00b75c3ec5712318cd9dac9199db1d2e79746efc456669f5b5059bc98a50ff5f1c2fcbda1161e3e73511bfcf39 -KO = 74d10018ae751ee451cb13569cdd99f055c72499580dd1380c5f52a25e141844ebf9bd92fe589e48203808e0c02c993acec6ee464bbe485e0e563cea80d05fbb - -COUNT=2 -L = 512 -KI = ed6b17d2e92e379f93c39af6cb40d55b60f1ef7b507ff294 -IVlen = 128 -IV = a4ff3e580ec1a6e632e3c9bd0a640bb3 -FixedInputDataByteLen = 51 -FixedInputData = a4a788d6dc250cb21a16e548392b255ec201feafbe8e3bd80b116abca2ea3d5705fa6179c74265aa8367993e48fba2e16b279f -KO = dbbc3c427d9eebb9f52611866c8e1fdb51998ab058789412d6d3a58c73da91be383cdae39fa2fcf7196896ae658a4ddfbe27d9124b8038cde8ac052882c81778 - -COUNT=3 -L = 512 -KI = a820dcbdd12f84ccaafd0abdfbe7e1f6b83939525d105488 -IVlen = 128 -IV = 45ba0a5e153028bd0327cb873c72a2c8 -FixedInputDataByteLen = 51 -FixedInputData = 6841107a2528277f7cbaa893fa9202cf38b777b53d2d6cebf52c9a08047da0153933766c08147d80064e7d385dd40abcd7445e -KO = ad116bbc192d65faab21ae1c8645fe9d0013e308cfff35615713f189ec24b37358575dc0d293696c511340013191a2f5bff33b87bc405bcf8ab8e5671a0991d0 - -COUNT=4 -L = 512 -KI = eb756bdfd4a9c5c45f86238fda022c9b3bf553b8ad42390f -IVlen = 128 -IV = 4ea953de1125411e668cf86b21b10cf2 -FixedInputDataByteLen = 51 -FixedInputData = 1a4498aff37407171d7d6aab87509b66495caebffaaaf9629c68fa6b0ea913b895b9c243d9712af8a5ec269f47c856b56baf66 -KO = 70187dbffa56ecc743475043f920d59ba70029c84376d708d805178333af6f14aa041656d9ce60b4564a474a40747654946240b6e3f0dac5673bc8be7e7029ab - -COUNT=5 -L = 512 -KI = 28e8215c2b7a6fc78e06d5ff81a43a403c527dbf42250e43 -IVlen = 128 -IV = f33c36a12c414e932e03981e605565eb -FixedInputDataByteLen = 51 -FixedInputData = b574210e808d042e5b8a1c6fecd292cdbb0f916f07290785139965a1877d861f8d280d561875a71a5858e8cb58104f5b5d1073 -KO = 6c6a3c8402086a7968872227a87e335f56f5696ae5b8f734d3485d491a49cbaa0f84bd0b41a5a962500d3c3f9df4f1c6faeb51b6695678420dbb0d84692f8886 - -COUNT=6 -L = 512 -KI = c929b1187fba7265cf293d2d15b4936b02f13ebf05d8f37a -IVlen = 128 -IV = adfa30143c84547610ae5d72804fc6ed -FixedInputDataByteLen = 51 -FixedInputData = efe118bcbbe993cd6cf7fb797f454a091f39a6ccb798aab204e0484444365bfcefd1e3a49508d294d008fb5ea748dc33534e39 -KO = 8b15c6deaa65bcede4bf1c2399117b0ccde3994fac1d9e8f22cadf4ab5f8ffcec4501465951804c4ec0b4273a26290a534309469cb4d52ad2773e83b2ebca4f1 - -COUNT=7 -L = 512 -KI = 8c8dc7731638efbb562796605aa05f76ae23204dadea2862 -IVlen = 128 -IV = 79afeb9ed89430a46463e359464f9f33 -FixedInputDataByteLen = 51 -FixedInputData = bf6ce90cd3c569258c27d9e8ace12fe20549596d3202cddd1efe3bd806fae1b261a4ac59f930b12d86320a18ba0b25b1fe0e7e -KO = a281cd4d39df582c7cba52a62a46617e8624ba54bd5f0a40f5d5f387bf0601e4e3d8fcdcc0148c1d99503ecfa01410ee474e1314a890bd643bde6d076fc7d304 - -COUNT=8 -L = 512 -KI = ab399fc04466ff2efe57b46e3b8ab54a194171811928ec5f -IVlen = 128 -IV = 2c093f82094f358dc99072a422d51922 -FixedInputDataByteLen = 51 -FixedInputData = 490cc52f9529d5bac257a0d5f05e44d2bd77d93ac5ed9d016289b2e4ce3c2aaefa645c7158932a89986d6dc03507f347511828 -KO = 16965aa46ab17ec539a21ded4f742128a4419399e9c8e88eb092e06196a11847971bd950150b330a03603471aea4ce736cdae9ae6ae94091d6c318538758483f - -COUNT=9 -L = 512 -KI = 1ae9b3d829a7f716a6cb816fdac3ce3ec1eb0bbf669d7482 -IVlen = 128 -IV = cce16da87f3285f243d35824ae1ccd6c -FixedInputDataByteLen = 51 -FixedInputData = 154f75880f3f40f1ef4f2cd8b0849e0df1ed97cfc3aab73c20cd0867fb29fbd6b2be5a0661f30da18c76ebd2081364773e7457 -KO = a89cb1cf645b5d0d293f9b7dab92f182002cbd2b8bab0d032e7f9366e306973af5ba7af874720bafecf6ef0e42e8fafa82bfa1d2a1b4d610ff3a98ae2cb1928f - -COUNT=10 -L = 2048 -KI = 3bc0a505b441d1ff2d7655dc85c9f7581867d61041ff82a4 -IVlen = 128 -IV = 82559c04fe3b8c9925869a007b5aca3b -FixedInputDataByteLen = 51 -FixedInputData = 641f1536e438883bfc6b0222d8035350b6c453c56dac2b5ec162756d2c5d9db03cd0819257f8c182e01525a2adcf190781c6cd -KO = 824edfa0f29038705915617de06710c12933e548e494d5ceef8a8acf2b30867b7627798c3da63e85115611b7b8ece9580fbd9fbdec619af334684ff910da74f04f5692e2bb8beb69f7dd46e05e30931e47bfb2c9fd4e7125390ca94891566d6b09c8932f5cbe18d1cc62566a12abfad19ba0f6c1e5336c99d31c6d755faba436c0a81b60f5b73709475bbb987bf88f314a5747b6cd0bc309e3f3091191e47b550f7f4d9daf2fd3f6877af939373a7073ff8d691f8e40cae12889a18e2246459589dafeff020d74266f919ea05b67c6687e9297d3063c4cba47afa375b9b110b9cb9b72fb900911cadd7a16a8aa13c4162c4fb82745daba93dff2dcda1e92cc51 - -COUNT=11 -L = 2048 -KI = a9af79012fbd18e159cbe7ec1393e57a93702dc4b6b1dfb4 -IVlen = 128 -IV = 555ab93672f4f8aaeca9924d6d8c0f9f -FixedInputDataByteLen = 51 -FixedInputData = 998787e2e2f81b554e519b2a1942b1b011d6ac66e71e6637ba1a17e4ad8bfa988d3ad7e3cbfc873d8e8acf32f915b4ff9129ef -KO = a6e116a38e1fe29a9dc1d3515a5f0a235392e87b07c56703d7bfab4a3b3d26478ef24d52c4d6cb83f394fc31acbc8fd473fd04925098bbb0433e094a345cdabf44e6cb5ddf6b150034a51c02b557c861c8c505569c249621f33287188ca3cd5696150b078f933dc37b798b5cc26ad640864761cd4333ae30fddfa7733441b3ca7d15e1968ed55c8f986d02bdb9d8762c48a73e91fc0dd30f192cdb7ffc8716887d9533293e1783566832512e8ed5070f8258e181f61f0c487c65c98cf151a65b37b470d6ba8d8eac0f88920f3e6c003ad46bdc95b028ca704d2a27ee6aaa329e4e4efbf00b9c58ca94626300a8262126f58d192e657bdf9e3f0191ef45c49d64 - -COUNT=12 -L = 2048 -KI = 0c14a4b6b5abe6072246771b7a5f3f455b3dd1b469d1ea6f -IVlen = 128 -IV = 8f1636a5d204fe2e8aa3be43b3b00f21 -FixedInputDataByteLen = 51 -FixedInputData = 5e20ed7f3e0c03c7a5ec409d8e86652003ec56fc53e8c960f8e14f8e16a1a5983a54d20f9fe8f09937797962ea17541dc0bc13 -KO = ded8c3b755ed640e2db23076f79fbfd440a037956b7d49d24d3b247b9dc10a94b67a4474c74266ba731e39192114e1c2b70478b948e5f62852052222a3dd35cd883ff4877d901af9cf072f21c702cb3a30383f30d81f7d7a473360dcf9c55e0dd9cc476ebe7d42461af75d459f3c4a677e094bfe5cd1f865db9acf8124f4c8e60d00f45b600eeb616a903ab8f76cfb1c09509c798abb365c5d2e55404b79fc226a56411c6339e8de372abdbf3c8936f85a6254e96127d321fd55327c442f3be2ddc667687b96bf86f6d8b46a14c8b7773e89d16479f89b1c00cf824cdbaba539cf574717c6517911b9a46b22cc9d78989aadffecae57c3e626f4412d23a98c1b - -COUNT=13 -L = 2048 -KI = 7cb6e82683ecf8eca7ac0e51594f663f01b35dae126555b6 -IVlen = 128 -IV = 1f99a1f33880abd30d1cc617253e7b55 -FixedInputDataByteLen = 51 -FixedInputData = f2b7f913a84dfeb657183a2dc9cd5ed2dd8094064fb9c1cc9f76a85cd7776a55fe0ffbfbf1942697db497e178fdf4f81bf3a44 -KO = ff5258a09e29f106bc86f1bb87cfc9400476a11a4cfff43002e2cad2e7184fe9cc04802039eca925bd160285c4e57b408b7ac7dd812c15dfcf9d6b7b0924d3c328ea6c4d740e08343dbec8ba80e072d18984c7caf09961760512c7baa69d57b0aa767e1c9eea7bdd6cf816ad497c75e6cbc480e72d4553557b7f7ce89f1d2c7e16c9a6921f77ac3c9dc26192b1dc83711162b10435f1371911809652cac39433917c75617718c69120827c58c013437eca27084a7fb785b8a0f7668ac2011b1bceb2ade3d101181a587bec44a0547926dd7cbee7fcc99c82ca42b98c62224df11615ec6e305c3f8c56ebb6ce36d9a80bcc9217c4335505e49029a70d2f677f51 - -COUNT=14 -L = 2048 -KI = be68e1688f49605b5ca6b965ba1a913e2f8e62ea942df531 -IVlen = 128 -IV = e276d6486550515b783f059275a52484 -FixedInputDataByteLen = 51 -FixedInputData = 78bb88be45a0050ec867228850ab36c1b94a4b1426975773086ddfd2424237a63cadc3c8908185f847ad664b3e0cadad530490 -KO = afc2d8d054f29d21e1f0ea17558f9884fb3fbdf50885d2e82612e573b2f1306b652a277b8fb32aa5c5e9b42a09cd7804ee834dfe9e461d7f78c1352f2838d953b5a8dc77bfe31d9e5bb2a3c12cd50b2ce06995b2ee73b7423a255f3567497fe34e7ad7f70b1f570a4cd3a309abbbad09245177f29863a066609276fb00db7f639ed5efb8ee8f7af785260609c6231109aefe1e7de089c6388464be87a1c9a81cd559b7496a53087e3a5c675f90f2de22b979dff7bd45efa0e92cfaea75f36789eaff42186a176ec9caff3318ad8881e089680da60d2ae8d963276686e856d3b1fe3a57d10c2e785c8832f65bfb3cb872c9836054e99dda15c203b3ac19790d6b - -COUNT=15 -L = 2048 -KI = 3c77fafb727d38a8dceb738d0ee30d80b403213ac843bdbe -IVlen = 128 -IV = c36890a2e8435f7e342d51bf1a1e2719 -FixedInputDataByteLen = 51 -FixedInputData = 3db9745861aa703cfb41dbb86f8c3abdd5eb1fee287deeb04661dc38c1ea3baebdc9505dd701f5001404470abb7bfc1faa5a4b -KO = a19935c22a71a149fcbc9d0d7b5dd7baa2bb9fb6f6acd891be9856965c87ae05d544b07585d3d2a5a502dcd900642c53f08027b3ff0024116ca1718c1caf8a6cf9e37d06f28ed8db6b9385764f1747b9b2675fc78d793d5779ebe6620f42cb02f9dd2ab6a0869313404d6503ef1e5d069e158a7a32b40715a9104a14041bef99d20753c196c076579f73e853d042f6022f3a99d9fde5387402d025e95f1b828ba135fc3fb1a8358cf4b1693da83b67d621bc1b505dc2ce9a254307f21580b27b3c93765f407832ef480c9baa6d92434ce36f2d1044b123c28614b1a0039c32f289e4bc85a1e680b4844641ab801f5d56bb75be3aff9b6546181a7debcb89c9db - -COUNT=16 -L = 2048 -KI = bd77d94cac499c83a765f3e372771a8d046efbe4891756ab -IVlen = 128 -IV = 919203f2973021c6903a34cab241cee1 -FixedInputDataByteLen = 51 -FixedInputData = a7e1fdcab830429a15fffed29f6c6812a8f1d2474ad156df47ac5b465468dfbf45eec9460d5d972c46dc2afd869dc438d6b9c8 -KO = f53e263f2424e0cd323dda2522d14bd8a45e8baf64afc255111815e88d4b78eb8c8cf5c2adc56aff76ddfa03ffb53e778efdaf72474c2af3d10ddb36118e5060e74aacac09a421f637477185f9044cb4a25e4ce28aec8de25b4a612ac9c1227432e784409aa6b2369023091597509b2ffd592416e5085c64eb0bd85cbe2919d5b7ec8d6054c5dd4a34864431044f08bffab26b9138461b9198d5e077e34da1aef628c1eea52135296b05bc12ee90258563b606a44e3fdb7ed6a856a9a1eeaae28f9f1b9a3231d3ed5eb66c7c0b771100e6635c3bcc31d0113f6b857462d88f882646ca3a6ebd5b834bcfa2e00f977b4a74555099d7a7b81cf131ad15b0ed317f - -COUNT=17 -L = 2048 -KI = 38f1b9c8fdbcd91e1ba862f64ef49462e40ea81c45a60d84 -IVlen = 128 -IV = 83f35b57350a956e68604794ef9a1d55 -FixedInputDataByteLen = 51 -FixedInputData = ed496073dc0c2d2944fc2d14b362411000406daf71ff2cf8e556d2b1c0c17bcaa72685723977c9c779191d8096cf9bd44011d2 -KO = 52cb70da1c74e57651c41056d44ec4880ed67d33e086f84de6bf2784e704907b82513ae21244c183355eac2e26aa2fade95fbc2cb1af19e7916f26a478f34c3d6f7c7f714909094ad1ce28f3fbe6af38f22984ac277aa6f00bb9609d043b67b385e56ae3258d25bf5fce9ec55fa24c0f5f1311db15266c93ce9c382ad7cf7f965962902bf73c632529d1fb230327b544e27c812a9bbf6caf23bc73edbe1920075e4cd5e9c204dcc03c6c44a0c053e9cf56673e8654531e6b60ea35ca4797993e80c2a4cfb7ce507a0388c9b722a54edc77eb7df29ef0efe72d33f4504283770371d9f539cd7c9691d274b43480216be81082fc9ca193c76c4d8be3e7aafde28b - -COUNT=18 -L = 2048 -KI = d3a486aa2899167b5daa28b4d8226ccddc00074fa3fe5dd9 -IVlen = 128 -IV = 3067e1dacb32bea0db0fb83f7768dc66 -FixedInputDataByteLen = 51 -FixedInputData = bd0a1e5516dd8e44dddbe4e5dcb02dc219942c3572c17dbf3670cda4fbdb634798761e5326236e7d8732f8fd44cf790c2c09bf -KO = e96ec59ed33aff0d83d95894649abf238fda232927f50a97a1d7892968a2a019664f55e30d8df63817b9f85730fc2e98b2b737ad65b05ade57f3c92e015efb4190f56e3d3bd215ee7a78d7497fc57f37a3b0a3ac7aac9266459a58da59929402e9e6e21ca31ad680690c4ff8b2e0303f94d09c3c2158901ca07110c39e0f306d02153ec0a32991db2f914b91d819bffac96f3b4987e32758298030138c2522e6be7dff8113c983c4b46053e0da2062455b1e71e91328ad6531341edd1799760750a1236cf1950508d2c789f34baf9afde59c8f2878983da9119f528d380e8505bb7f6340adec302a76b6aeba8a2fe394526782b53a20e55bea15843cc74c806f - -COUNT=19 -L = 2048 -KI = e68a1f1fbb9d7c49d9000b84da5b77226edd303bc4a6ae91 -IVlen = 128 -IV = 0f70f4e0db42679383b1f1b7970e2176 -FixedInputDataByteLen = 51 -FixedInputData = f2a904e3bcc466e55ef344841b66adbf46ac925d0906b762387519ed43deef933451e91eb6c1773a2620838701ffe5cdc0ea79 -KO = 82776dd3c73847a6dfc550cd13e584060f36802308991d52c1874ea778360a3f417c383d31ae48f8bfd44756a7be20d26b76ca9b4465fa1cc77307b86b2877f1a5e28ae34be42be923d9e2ca1e4d01fb9394c6ef70becfd0cfcdc5effd3dff73f1d4e8785afd9d338eadd9b96396cad7092a72bdc8a9a612ef573373b056e1013360562eeec15ad0075855253a1fcb42a9f8afa14cfa55e6eea077e39173eba0cb0210cd7276c6c50e50250e3077da702b766d18fb915022d0ca7fbae97546267463bcf365449bb4812be8a9789eea2148e7aefc6b56a912ed1d78c845efae2b3153de124c00d9ee4a5f7bc4a82a27abf94d4081ed70dcba97e5e754cf47c2f9 - -COUNT=20 -L = 560 -KI = 16b22268dacc50869fbba8102b4e1dc713ae51d2d2d9340a -IVlen = 128 -IV = c1ffec14513db9021e6f5e17daec7130 -FixedInputDataByteLen = 51 -FixedInputData = e769bbb8a6bc5a85015392d265f209a3dc9296bd2992e966a5d73a7e5e819e50258a83caafa2267ce65c807ff7151ee4e6331c -KO = c1f674182f4f060c3382a6d9c688d95d88cde538fd564b3335d3fd3847a1644ba16335e01e5559c23dbeecb5479764469c3964c801566244e72339036a93fa3ebcb004b2d25e - -COUNT=21 -L = 560 -KI = 184549690bf0272019fa3081d090621ad376aa150498558f -IVlen = 128 -IV = d3fa3656bda9b6d0565a52c4bb39e8e2 -FixedInputDataByteLen = 51 -FixedInputData = 3b507da12de496564b95b6c202be82114ead1b97ce11c400f1057bd6ea74903961267ebce1f24ba566f897470b8e22182a2370 -KO = 1cd983802827bd0596b383e7bd994d325d9fbc6fa4315da20f8ca94d96837aaf6048dc5d587f41d757ea09694f7695a48ae2bc22c72fd8b3a9aa0012cb131fa60b38456e8931 - -COUNT=22 -L = 560 -KI = d1bd1b921352cd3a14a61eb4d9b12387106c6f7298953738 -IVlen = 128 -IV = e759b4a22159897e4bb6a9dd84e69ad9 -FixedInputDataByteLen = 51 -FixedInputData = 1f291358753944f450da50ebf825c899d36f363b9331436580964031754ebfc86fd0e7cdbaace3c1ca2b51a861122fcfa38573 -KO = a68b1d535e50ac418ad22439483c3133f243945a96e95974991c2864136fec3162b1b272c1324eb5dc39944ea2c7b377a63339e299491b7783b5f3aaab8cb0b81f5f9ac69f90 - -COUNT=23 -L = 560 -KI = e8b3c3bc9b19a7ad8382079f2f307e3f686c17ed7d99343d -IVlen = 128 -IV = 148178fcadfb111bcad97d6f2270c567 -FixedInputDataByteLen = 51 -FixedInputData = ba17aa1ef878f47b3531aae88e7e6f8b88645741c8d1635c54960ead5cf87bb8126bbe3db8b3be2769b9c5424f27d1bd314793 -KO = 574c5911a858de333f905594ef592a232215e1e4648f5696159b9362b8865d09d7a830816f695cc3cc128af2cc3640fe58ff75d60b3aad38f948cdfca37b747a103d9a605d37 - -COUNT=24 -L = 560 -KI = 86e4776dc4efbbf900b6187b0fb57970ca21a1ccfd030b68 -IVlen = 128 -IV = 2a6c77dbc197f8f348fe7bcc9ca024c7 -FixedInputDataByteLen = 51 -FixedInputData = 73e97bddf014ae4874875e4df1f1f594d925d6f874746df76b25b1d87042ad294a70121d29ab52f9ca2d816c7d29bdae7e6a10 -KO = cd1aa7ea4030c6819280e57cd23c93cfeee711990ff76e0912571932b661caaac7b8042d2e371fbc3ce637c3302bb23e6570230fa38e94d85dba4a3e94dc45cd228afbabdc36 - -COUNT=25 -L = 560 -KI = 428d4df261d63d24acdca95abcc124c025cef2a7cf0c5aa4 -IVlen = 128 -IV = 4f76becaecf5fe8fcbc883b2be4e3356 -FixedInputDataByteLen = 51 -FixedInputData = fb0c54366262ee92e56257a7013aea2b0e09e2467d1cef26f181808e293cc2be6d0d19ba0117359f94195cc8029c25617a93c8 -KO = 6ead79cf6d931e8f81d063e4d37489dd522f848c1c928ec7e95d9acf84e8ceb072cc20ca180941702b2bdfda4810acd6909d619e155f94b213364421c969ba07e66f01241e87 - -COUNT=26 -L = 560 -KI = 04593f1068d74b4ea1c07c3dfaa6c6c1521c8f512e272408 -IVlen = 128 -IV = c4445d55061649ffc8f22c4d9aa5b4f0 -FixedInputDataByteLen = 51 -FixedInputData = fc1e598a399f1b614063b528c12f08603d1270c3e765c7f1ddc1985924006936bc585077a560f2d0eea4b78dbf6a8b778c038e -KO = 5bd34b24af27f83953b7205c3f759063622b7bc861432d15262649f21832162dd7d89ee4224db8b08108a84c88822996bcd84cff58d1a909d65c9bc68bcb622e01e64236d6ec - -COUNT=27 -L = 560 -KI = 3a6a59aeb306190229d6e85157eeeb922937622b595431ec -IVlen = 128 -IV = bca3614830e7baa18645b61ed7395e7e -FixedInputDataByteLen = 51 -FixedInputData = a8b9c70bd7d0e45a1aa7265c8ed0ee220d6c23fb313a3d74d5decd024f1f216774c2ab00407b188d1c4fc0dc7e3d38979b066f -KO = 53a8e8134e8b0078fb05604979f0e5ebb5ce1e7cc53ec1afe82cb6b6244f42415a36a9e0da142b613367440474a40c32a9fa1152bab0dbba18e10c63aa38b35664e0022eb164 - -COUNT=28 -L = 560 -KI = e5242cd2714452852b626885f39c795d858e9840b2c50f14 -IVlen = 128 -IV = 9348731eb268b3699f9101df08884c7a -FixedInputDataByteLen = 51 -FixedInputData = 8125af64b1730240bd2045d6eea93a61c93a39b518a7d557ae131cba91274ab1099570390f612f54ce77c3f8ae4b285a0bf6c2 -KO = 9a9fa1e651c083ef1c22c40d2cdcfebef3db93377a50e99052c346268c476b1608a6647462c19b2ec4cb3987ba854c796790669d77975a445a67d89e128569352ad3e4bd72ae - -COUNT=29 -L = 560 -KI = efb6f2d1e61e5f5e1f6fa3dbb06ec73fd51f92755136600f -IVlen = 128 -IV = c1ca313f6a5a10dcbd6e74e8ccb31dda -FixedInputDataByteLen = 51 -FixedInputData = 63cf45f361de84aad69804e0a167a3fa254482e5a5cefdcebe306c493e109b95d4bf7d3ff6988d3ccea2c59063a618a8dd0487 -KO = 085bbe5d416481a384736340aa2514b3f1bf681eb0d35d2bf1868720339aff6ea93fdd5c1cbb4d31e401429ed24c0a95d3e5197919c847f512bacbbde7de6937d0bacd9199b8 - -COUNT=30 -L = 2400 -KI = 0c8cc03093e89a624cdd1ef56761d57dfba8fa3a2cb8110f -IVlen = 128 -IV = 26c178fbbd5574dfe3ee9322723ec403 -FixedInputDataByteLen = 51 -FixedInputData = 8a7c733dfb2e13b90a37a02f492923b5bff445ae1c5eb88a497c2cb06161c719035bde699029e91424bd653e6bb7aeb980838b -KO = 26468e0c17ee0b83e820c4c2b86f89f037cee574bc0cf391e5d09fb3094b99ae1cb592bfefeacd9727cb2e9cd4bd9781308f1622a8cc1bc8f9fcaac1b8637f0096e8c90a1fc3e2c36fd432005c8a1dc60e71b9ae5828d15f8cbc68e4edaf8c5d91eb789647b5a7c3d1cf22632d744e2584521488ac0adda6702fad0bdea472030dc2b8e0b023c5491dabe40baad8aff531b180eac1300eb1356a4c9fb3643d51e54f0a4366e9fc430bbd539176acb7ae688f909a81337107c2fd7d2ad8ed314a1a23a7bfe68cb70605709721c1730ce90a67e826972ea52fe8b50ee09cc0dbaf37ad55d3a5ce5a9bc4e245d4713f6cf5d3c1b5e77971c8490964177cf162b8f5e08642dfc80562c113901b6e49e864b0f46c327621b918012a062327c5f8ecc391000d0239305d87db065a48 - -COUNT=31 -L = 2400 -KI = 9b611ff9b4f40706d7b6648dc7319a2beb6357bb4c2ec097 -IVlen = 128 -IV = 1db28c492a058db283674a5fa74462d8 -FixedInputDataByteLen = 51 -FixedInputData = dd8aca093128470416057ba34ebb5abcec43b94c74f09b9531bd99f3b18a2c77342ed59f8b3fb9e44cd04c1f56270e6933711b -KO = d7ec245327dfccf7be740fa082606524f6c65cc32d364e2b654b028de0c097b53cf942dc3c4b440b25f6429ca655079485ecd4217c7d9bfe563e5b3a4999b87e4a2fcd57696d9d38817fa80f1f75d7692b1c02635621eb3d67ac72e85d3ac389ee042525e9f74d0c2e7953a94d53f9e6edfc896bef81e6dab61ef984d8394c11f5795124e5bfed4ab81f53df1ec5effec326fb996b8a193498672e14a082021590b605b8f0211246dcbeab2e717c30587c7358ee960c6115117cbd051ead54ae6ed778ed46d01d4051e050d74ed303bc1f27b7471736249e4230550dc96751c9a1ff034a6f2b498b9ff2fdf549c1f3b2e03ffba0143c813cc1e81d21d1d3be226bc143a2b724897a30e6cd20e703fc2d5382472c16fcf0ba580d8e37de1522d4e0cfebe0a6ea8b49aae2c1b6 - -COUNT=32 -L = 2400 -KI = 203baad704a0bfd2a84cd77ce47e4a8b2538ba1316d06a93 -IVlen = 128 -IV = d58a3dadefce2a1a270563ab60124350 -FixedInputDataByteLen = 51 -FixedInputData = ada14be40fdc61b23b52b876628f778c02033c05d46eb818a109b2968a2f0a068c23f3b5b26d228ca3349e85e2e72fe77e49a6 -KO = c2f41b3331f7ca5da6e5c429df13accd4dce0a66ab317b9029e15ceb9e398e04ee75e23a4440931f721fcd4d77daaaad05f72791a503cb1d34732d6b60aa747ff92bd9019195c13837b349cae595be3d2c251af2763fb74e7a0081e1757c5eb25654f20b88a54bd820b8639e9dca2c0c1476ed4071ba7d8661325d3bf692d9084f17bf3a3daf7e859fd3494f764da8cb979d8daaa647b3b039e0553d8301c22c501ea37f356a79dbbc78a81e7a90decb252e068dfff2bb4f9c4273a01181e125a28aa9165cbabe2857515821672e8b0f80fe32a87a8d39141dea4a11f92fb92bcd04cde93d22dab10cb07339bcc0a9b8b59e0f84df400ab86cda8a6806ea4190d3f18d4dfae3f5de9077e588c4bf095a59fe83c699b3f3e625b83a4d14c11ad03212fed45bafa786de510e15 - -COUNT=33 -L = 2400 -KI = 6a4b2e272c738bcc17641e8182ca100a11ce0b82bba7633b -IVlen = 128 -IV = 7580400ef7c9a878799a04a294b37fef -FixedInputDataByteLen = 51 -FixedInputData = c1513911137afd3b301169aac8095d41bff98ac7dc7729675e3a8ed1e49cd308dfcc4aa6079ce8bb3c3f2d7e0797fef855c66f -KO = 70f6cdd1dd710fb66d0765a8748f02488a23b564d6e7b3ce682653ce443d8ad99ba6c9f293d3111b04f6995ac7e3ce680695a96dff46e216bc8a39dba1697e4aff657b360e694bba058b7f4e0a133ecb117413e9d4f89192bbaad745aa1a19460842128e29d02feb24ba466608321bd3de6326782e387fda3edf311aaa95db172ede1f44647c1f844c4fbc7d71b749fb7427c4f1db507849d52e693d9647f75895848e3cbe00b2922a31f94e0248e120d9ca83eb3f61d2f6641899fa39c375552d61d2c732e7af77cf9fe1bcdbb27ceed5a2bdab98ec793155c74e83a5dad7c8386e7c2f1c4e1151af566caa9889c39e8c31aaaa8ece4b57b81cfe75be9e3e27f5fe3abfb3c59118730015e346960a2c2dd24c2e96f10d3e39f06477c45fc6760b7ac2b6f0a7965a6f9c9a07 - -COUNT=34 -L = 2400 -KI = d6d61fbc043b6f3d162c8d3276b9f8d1ebba500ddebb2a0b -IVlen = 128 -IV = a5d40b487a7c446d7469e34f4d596655 -FixedInputDataByteLen = 51 -FixedInputData = 6b7ee02f411013c9d810889549c00b86976521b5b2f257dc9a42852edfc43bc4f94afee4ba51f85ecd9f0cd6829bc852574820 -KO = 59399a2e2920648b9beee31bac5b7432015acfa06d5b17fbb20d11dcd3990a65319b3a6dac46ed3c2ce783b6be533d4494e2b2c3f93403c014e2c495e57336ec87ae25fdf4bd5170981663e35450c778f531be233c49dbc8ceb21f3f0dd2a4909f10f69dc33729cae866677f4240bceadc49841cce35e1ef3271c774c2ba46bdcfde697a9746919441194ad7fb4512f1d08708bad541298612c67c264bbbb6cd3e26a44de75024a34eda695aff466bfeddbe8b42a381bdd742d6b5aaf05289ffa99803c1f5b9f437cdf0c11f597297c8f824d92b000375254b7a437df30622aa5e612f85bf2166d8307e2cd37680d447ea7f8ac1198507a276090c96282fdb296ff3cc162087b6f2abc58345f42c91334977bb7e4215ecee94d45dbcd0029c2cd5174731265aa6ad3eda7663 - -COUNT=35 -L = 2400 -KI = 472c14f98d290f5159dc073b921f22453dc268e18cec42a6 -IVlen = 128 -IV = ddc48c48f2a71ddec9f9f0dad96e4ae3 -FixedInputDataByteLen = 51 -FixedInputData = fbabe9728865ac4df10c754e33debf12862f9bd71f1fb5e636c037971943f72186d7ee9b6ef2c4a093c6851fb7838adedc6bda -KO = 2f283bbd70b2f84a7802ff15c174f6634bb46006a3cf9cb84c4416c96ccae6b27e7901ca8e6eb9a27b2f1471983983c6e907f3578757630fe3460fbcb322e9ebeffedbbdcba9e2077b89d8baf3bd4ce1d9850b9487669590d50a784f4fb57244db925d47e086f738b381bbce2e87188aaa502b25978e605f16425032f4023c5ce4bd932b4bda098582aa4f33be3d5a88b6cbdc0ada25ed935a947ac43895d9ed0ef67400dab143f05d3f521e02faaf376c037a21c7348f12b69e2507e8808cf0ebcdbcf78b401419d83c9ad7ee7539055cfab96cdf5c1eba1aa8697010059e2f441bf9b63a87aa31e45940215d8327309784f2726f83abde1c80c8b299e266b0d125ffed5dcdbea32e458e7de51838f6f4636fc6494241bdfecb888914ac75c939bb11d9a2c52b24e8d176f7 - -COUNT=36 -L = 2400 -KI = bcbdcd6cc14e3fd4276b15f41519e7819a22c87811c31cc7 -IVlen = 128 -IV = abc3c99041774fe964a57131b55810ee -FixedInputDataByteLen = 51 -FixedInputData = 0cd09139f54882cd688aa93922ee92dfc2d39bb52e0bee83c07de3c27e660948d03c6e79199f8d3a29040d03c9ebcce3b76dea -KO = 29ace2e5eca8c434924a747bcedadd7d8bc65980c266dfe9e2995e9792d9d72c3f01f38aa037c3abacfa40b58629393663ffe5b8c55fd858eb7117604b5e7e8d003cb29b8de0f52de70572e05c74d82491a5c6b2d14c8848f27f58659d507a70b79fa5b1da58a373feb63be55c8f05785b655c1eb02de0102cbfc9ec92ccc7b5980e1586098c4ea64b48b517def7c06a39ce0248d71a6d2a9bb807be35fcc31d5f7996b9ae6fbeac6d0a030c071e113c1a2d538905192e5a5c7aff9f202e0b6ef1b68997420829c67f38e5cd14cdc716ff9ecb381bb89e59720fa32ef4e7e9606ec1dff48ec28356b79c60b703001c3c593af65d977cb5a42127439888c3bad0febb740c0f8c01c7cc6fdfdd3538081a9b597d7781593d599369afbfc602d18505b759f28860426d0ccc6de3 - -COUNT=37 -L = 2400 -KI = e7ae1e91951194fa74d69fb54d2beab51ff8c9a3fe70db11 -IVlen = 128 -IV = bd8ce7be4dd07aec8b2c3e436c909f8e -FixedInputDataByteLen = 51 -FixedInputData = 30d753bf6a8d7e49a85b9cf17adb778f83b19e7b529e69ac497af86d8bd7e51203d462da48a6d301599e029d115b7cb5840f1f -KO = decc49ac27608914d909ef3021de76f8ef94a59f42c0172ff8eedfbe12b96c3cf6853039b5379cebad4c8d95112ac64cb88a67d1e0382a3b67cfe4d03ac442997594b35676d03cc2a9dcb6802fe76e7f9d4e0fce42b92420ef7fb915b8b010e3e05f89f3b3799e845b7e3b59dea1af9a87bdaad675525b7e9458e4e6188f6d3fdee6fc87c8ec4e3f686af3af5737379058f051b88419d08c9768de73775214099dc953c82e0f2e7389ec8b4e14fc219ca5ff399cfba64193c2369e496e88c417accbb7ea462e05e277ba7a5cbedd2721c53284f79f49ee0fd07d86c9d2ab687323e073ebb151ae1f816821895ec0ef2da257a91d381a556ec108d43baa24d6f039e1840419bd40745e695d85589f257a65e96d639210841867d992e2c84efa1ea4b09096e870cf813c078d70 - -COUNT=38 -L = 2400 -KI = c93a3dce60f27af41f1322d47934df6aca891711d25a1a7f -IVlen = 128 -IV = a5a1f8fa87460ba3ac8036c200f13d49 -FixedInputDataByteLen = 51 -FixedInputData = ee1572d289612a3277108dea75baf38694f01d756f33353dda5eb115e9f08db03ff7274ab443c54b6356982498d4f35c4f92d7 -KO = 059629280f341a22e5697b1c7436a2c1782fbb17cdf7eb098449a5f0a9e3e71f72885c69b52aab9051e12074ba263ee33ce8acd2237bcac4e724e61d7af96ed602af4aca049aa9fcb41fe437a2201a19169d3d46a3cec326c6736ce146a1bcbf591dd327af36782d98309902255337212fd24ce2c1f252fe85e2de898bd074f1b4b081e15b57310aa4aa1b80f3a852c836e2fe747e81c81dcfc0801dd8678818448e55b1dac14fbd398f8088b89956dbbc586bc2adbc3ff066b7f50dee818b0eb8a867379389185df612b104ec1d1d45d3d1b6c39b22928073a431164035e887b97ea6b48ef2c02c57f4f560473a34c1d34468bd2c9355def58a0ab9f49d8232519e4d15fd0dc29f51d30c89775906a1a5b096b7e32dae193e28a9d2ac94b25ce646dc0eb9185ededf40c9b2 - -COUNT=39 -L = 2400 -KI = 942e471d87885baa2e00b16b246224a7bb75d99d6e4d713e -IVlen = 128 -IV = 02a420ccefd0b2bbc401cc69e1ddf12d -FixedInputDataByteLen = 51 -FixedInputData = 97129d21d88c29223460ad46319b1ed98d9bd54bed383300ae71587904454ae756fc3f136fd7241ca47163c8164d2a6818a72e -KO = 667592399692cadb22f9671772104f519010dc5bfcc481ac8c7f113faa5b886172819cadf5d6ac2b9ddaae3316ae0911c5efa23820403ae85a334b492d7575ec7b84e201ef78d622bcd95379785c3be7cd5c546764fa3304390062b0ccebc980c2339dd5f332897c7a3e0e698aa099e6855f675bdce16dc52f1b9dfcd7b434e9b9f60cf271a5b9b8a6b517ec865df189fd76115fc34bddf9b43d90bdee9fbe0c8313119af5bb1ce4a1c8d4643b28ca037336242fa043635918b1327af5956546cacf5ec93d26598f5c82a27667c22c53d8414111e48e2b2446162172c26cf7bd02d98daa120b445867fb8b6591ec171bc453e4e574be362c3ecc33bf665dcac3f9b128ec70055f0b871f37f729098ed0675937411ae175faadf603c592c072f2a7461641863976ca7dfd8cd1 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 14ab129b81c4db85e397c14e9b6586b907550c2cf4c011f4 -IVlen = 128 -IV = 1adff1bc6fc7e6a58cf3a12b14bdbb3a -FixedInputDataByteLen = 51 -FixedInputData = 062da98309340a1fcfeaedbde012ad6a639384c26de1ca86b9403f12ca25648aaafce123c85f3b8bed6e4af29b1887e9ea16d3 -KO = 5ff94c13164596db575eba8534788700fa0d7350bf9304daae1d8cd6111414d9434f80682008ac1d8602534da21d5ff102a287ad2a6749655ac90b97062a4cd3 - -COUNT=1 -L = 512 -KI = c6884b3207b24da7d3d45ce8dde2f671d10e85010b078e5c -IVlen = 128 -IV = 7cb547d006a5ace783e683262cc91279 -FixedInputDataByteLen = 51 -FixedInputData = d25d81ae60d803924709f421ee883cf62f23ce427e6216e0544db712f59fc561cc13165fb4911357de56804f526fbc4ec5beb8 -KO = 463b9ea21cb9f649402e890bfb9d8e298b87ff43e435531f5c69bfc9e849c1a9120e83a0ffd8ed01ea6418d3a1b428b37e3132cac53fa6773da8525d72a62c09 - -COUNT=2 -L = 512 -KI = 856849cfac987c5034c149fde57bb2da9e0f23144a4fc015 -IVlen = 128 -IV = 4bd33073b3f8e7c8d1e19093705c79bc -FixedInputDataByteLen = 51 -FixedInputData = ecd5c0470eec653b65767bd6c4882d7a90572d0c15999b8a759e4e7e409c44965fe7b616c30124c083fe984522c88e0becd7be -KO = 34d145038ce24f69896350ff9effaa955324bfdba4a9cedbfc03db26ff2d86cf1fa24ce8d2bef65e0681cb7133275d3d4d720bb107bc105bce28723199e88423 - -COUNT=3 -L = 512 -KI = ee19f5570a2fdb454c98d5a8322f478f43807fedbc9e60fb -IVlen = 128 -IV = 9dd7f722ce56eb076e4d923ed2833eb9 -FixedInputDataByteLen = 51 -FixedInputData = 8e199db16803222e45912e21e9fc004fd6237e826072ce6fa8079a9350fa98a39a12c94e4a456dcee3b0950c29c72cd6f871b5 -KO = 387983b76df33e85109d80bbe5d99436be39ca7145e180ebc39977a646889315fb581490641f184c3adfd8e7b663c477c435532f1f895e53eb19eb1293f36959 - -COUNT=4 -L = 512 -KI = bbae13e87681f653c218262f05636a713af848b90c3c6278 -IVlen = 128 -IV = b823ade51f6714d4b5591cbc3b12955c -FixedInputDataByteLen = 51 -FixedInputData = ce792a1cf184604b6bcd5f9cafa984fe89ca76fd01a0e8ac270a459c7533ffb264b12e851f792b2404a2d75fb12540bc5d2a88 -KO = 75b57eff06737c050eb249cf177addb2db61294e8066b9785e2985f1399df7c0762a550e5572bb2ad8f3ba37569256ee0b3bf91310860daa146676331054c0de - -COUNT=5 -L = 512 -KI = efdc967e2f638b8653f70204a0c30f39af2c86344a3ee272 -IVlen = 128 -IV = 2f659e89a3edb3066e6402bd0e2cbc77 -FixedInputDataByteLen = 51 -FixedInputData = e16f2820c0895cd61742c84693e95ea8fb488aa370bf6c94ce8c68634fc93793ac2b6f15403fd03772c0de5d349a731f2ea350 -KO = e8a06c24b8a6bf97ca78055fba5b15ad1d9a5a5b0a7cd3b292cef219ff44b124173dfd29e3d38f5bd81c2f14196e2d039ffe8d02a197667f5e807a4a153b0b09 - -COUNT=6 -L = 512 -KI = b2a9a05ba5eddf1ff7f73919387cf303a2d7dbcd6b6b2d09 -IVlen = 128 -IV = 75ac976e8b65d2c11ca1c88e46b378f1 -FixedInputDataByteLen = 51 -FixedInputData = 6fbead5f7c4cc0b42c127342e2116102595027524ddabd3e6f6f6604a79a2e6ad53c8350cd88a77e7bfefd260673a001855447 -KO = a2a7bf29387dcb2e9bf1fc16ff48fa7cfcf9059ed5401665f7c62a34a518a2f40146cf593813eafa1513bc31a6b1c268c17c712adc7323cce9f5156e482b84e1 - -COUNT=7 -L = 512 -KI = 2569c4a274aef31d9a7bc31f0e9e30ca45d424ba544311fc -IVlen = 128 -IV = 6297499fb2fd3a235fda3678de7c95aa -FixedInputDataByteLen = 51 -FixedInputData = 436bdc2b07414f666ef62e451d5aa1fbf58ceb38c1dbc2447a6c6db7bc364dc18f53f692ccf73b1d9bf3ffa411a4d8231d131e -KO = 6ce9fa1db7a4db4968c33c7ac3b3875b0e664037cf17061a616108b8300a455e750525bd3e41b4c0bcd4cbeaa21b0d7236f1da050a983430c117379b3aee899e - -COUNT=8 -L = 512 -KI = b4879c6dbf7290a28aa5464312329603914e267768507bea -IVlen = 128 -IV = 151ae491186499acf402daca749afb2a -FixedInputDataByteLen = 51 -FixedInputData = dce4c0dd54f6930b14954c6eab32c28e922f6d79e5f5fb8992636cc25133d7a106ad98611a7c8fa00859684daeca3422a90fd2 -KO = b9248d4256ea77f12fdaa7f043ec6feb4964f429174c77f232d2e433180a4c3393b533cf2f4d25338abddc7313353243a72d4f0738d65271f43e3525fd10257f - -COUNT=9 -L = 512 -KI = 8d0be36e537ce0b471b888fcabad6e88da8093a61559d670 -IVlen = 128 -IV = 19ea3a42ea13af6a40ca577c6cb95dbf -FixedInputDataByteLen = 51 -FixedInputData = 431aa5f3e03534d70ec51127883147d12453b54580dd6aff44a988cc5ce318d3d46029b648b99b45f04c83858842f30c2fc31a -KO = 84f5aa6c3029c4172025c09a407fb01df3d3356ae3e686b7336e77dd83bed2358f4803131133d0a28e85106f7d6318607f1305dafbca9cd7e7569496c3b9548d - -COUNT=10 -L = 2048 -KI = 4769ff6de43b757a0b0ebc743fb8790c9c20f79865a28520 -IVlen = 128 -IV = ddc9b42ac390501a89119024f8d83543 -FixedInputDataByteLen = 51 -FixedInputData = 7b08a3d0a30845734f113ce0c044c9f67309ce80704b646c9a382d30e0cf7bf00067f80097aa22aa7bb25c4606f80782a4c78e -KO = 80faec1d8b4f439dd4fb97f23213d2ad0d8205083b68883f604eb500f78bcba55b4a897163722d67b5f86ba4648ed9d7c91bbfea7461a075362e76a2d011466a5d0c2e82c848f60ca73d132afc60528b5c4629b6be513078e3dc01315e9224d1b98bac4cca699b9f33271f65c1311439bbcdc5eccb4713bc8cebc1277dcc8df9071019475c322654dd0a1121d3b82493f5400df5a46243e12adb904d2b4985a2db048d6647f2061b7876895da29e286490d32a20128ad74e3c85252ac47c0f7f727798f9dff389da058ecc0408634942cfe9b3567f58ccdd35df055aee05014f92cbe65a1fb123617cb47fe67572815a6577b151c527a21d3f442e96f12decb6 - -COUNT=11 -L = 2048 -KI = 3bcf3d11eddae34431a2ce706e1f6e9a10d654332c53aed4 -IVlen = 128 -IV = 316363bf1a1aa5c8695a55e8d1c861df -FixedInputDataByteLen = 51 -FixedInputData = 6b5002fcace0437f61dadbae7e6e8ea82db5a362d79feb0f604488f2fbc59d297abb672442bf692fd98957410ca4a1e8bb2669 -KO = 75b391b2ca9161621c43fdea0d2103f7175eda6137e54b68cc59febe2854e8f6c3e647cf8617c225f5816f75ba6292211c05005c3fdf519a1b165a0f4933eccefbf6d4f948747962441414d31c3592fa8b3fd8c83a7c728c4e931b4b776599d2685e565d5ae4b4e66c24f427e2c115dfa0f7ef3995e8df0429dbbd329263b00418d37eaca01deec385b6948fa8716bb374f8944870b211333cf24e0f2f3101200d7eebecb571e5c4e8f202458b4d3319b1fca05f366286b7a0d7a06ea961b742560f437c4b667126be297e94ca7c4e496d5dc151a5d3c427f76cf2725802ea5fab030eafb06643b08a4845ed3d7a8a5da2e9c2d6265b76cc261f1eec63c96160 - -COUNT=12 -L = 2048 -KI = 46fc6fafa5f49fc785e334b8b59fcf88226e0d12a250c5e5 -IVlen = 128 -IV = 9e67eb0240d55a9b9f796508097a6034 -FixedInputDataByteLen = 51 -FixedInputData = 21edcf9f144a29e48fb306e9e2e0f1fa6df08a46fb46570f86a0dd8cc89724773de3d2f712dd1447efd4ffeb21ee7e2964e3dd -KO = 5927df96d31416782614c60554f79bac02dae13bda07169daf1624450102e4d00bfe5f8d31d942908c1e941c70ac948239e96a528aeb1bbc28cc73eef76385c0af7d66a1cb199f2672fbeded253f37b4c317664a52e89958fede4fcdd808f87f9bb7ae5da71a66143c7574582797e27b8c19cf4e5aa632a0b8df25721bb06259d19ffa08b082a4a3b5c568ae05f52857d832f34e9a38211c16c939e0a014cd660d10c529725c72e1fa1d7703321b88b3d19ae7a8996f93656b5c7d58c27484dfc4d9da70a733eee735419382054251a3849daefad765d6e2c5e9cdcfbe4e5fc098c60f54688c0d6a002bb295cd23f4b4af727641dcc32bf1493646cb7056d93a - -COUNT=13 -L = 2048 -KI = f580ae5896718822a6809b4ad91b0492e04f8188964a9355 -IVlen = 128 -IV = b55d44d2d0d74860e1ef07bf01a3dcf8 -FixedInputDataByteLen = 51 -FixedInputData = 9bd64505b5dfdd07f29fe47198e9a08aa2ed8c6ac8c0bbf4b76c8dbd044923a3737e472a95b12c4a2e7d4c4f63c084347fe7ad -KO = c5d0a309b945787bff7476ecff94314eb038fa4774b8897f191209e27f8fbaecc49b7751fbea6ec349de00ee5ec2c88705523f629418ab004c09d26bf3ee7b370781bab2d33757e3890194c13272222ac94e4585b1fb6178ea74968f23efc8ab080376e49bd08b1effafcf39e3d39b2c53c46b8b5cc69af24f1f2166c34af8ae8b48c3016384bfcad8ea0f045ea5ac38bd2ed228c1f9a734a467566d44dce073b6dfa16278b91a2a26b61d202bbb061cae743b56fdb3cfefc52e24f1f9d6a0c3c0a6597823d03126cde2f2f05f9a1f10370c41d3ff8821ac9a35cf5782a0af36515388ce8e7b4dad06dabfbb727d3fc654f8bf200f21dfc36ed9a7e9e5633a15 - -COUNT=14 -L = 2048 -KI = 11151cf515f1ab469ccd8dec6e030bbd3c869b06694db587 -IVlen = 128 -IV = bb6fed2a353aef0e901cbd1ec05b5452 -FixedInputDataByteLen = 51 -FixedInputData = 9cca64b477ea305349666bb841091ef2a9d16a5b548f8d945e1bda14258b5b8cefd626baed554ab644e9c055d9a0a7f8fac375 -KO = 919c0a38af04325bd318e82c843426baa182a1ae56adb22cde60561e22361bce696fa78d706b9f417ede8612f8bf80826b144236a3d7f9ed10f96d1b429f11ec20d7e2163c31873624cc73c20fcbdb63d5d099e52ceb3c41ed63103d3e39a2539cec2926a4bbcd918c7f76d79673e415fb32c0bf489bf22fa1dc4ec8c0198691ceea24c87beb0c2f8bf453641a8830b3e780c064578b4599c0dc46bf82fbe99d6e744c4d79077cf5ce1dd29fc6c0903242dc39827cb08ca19365dc2d3e9db2b117cdf67951786e38c0c1ddd415a6094446e5851285611d6fbec071b50e60bf29ce0afb23f96d91caf20f96d74aac0b6429176d75f692366986bec59f9652afbf - -COUNT=15 -L = 2048 -KI = 1511d3985b0a0aba237210f5cfe9e4c7bd43cd29b2f6af81 -IVlen = 128 -IV = cdec7db1d7bb5c92561d09ada9ef5b05 -FixedInputDataByteLen = 51 -FixedInputData = 1f56ecc5d024e1dfa51f80b2f2612e2427b931d1426a8414b500bb834db0f3fae808ac079479919d0b46f8414e2a158b24c965 -KO = 2f52c30dafe4655f68b38692e7fe842ee4ff0df9e8f3581f0133e4e802dd07c9040756fe7f44747b8908ef0f56e4b84c85424b202299098b5e6e54a1a6e24830636eb7c6afb1ad81d617da7d76d2c2c39eb8280285cbf51ccc4ad9280196c0117b9a9df519b72e0ef6ca64e30fe1783119a7f7516f8a8b6e7436ce120d2fdb95e2d60de4a1b37a8d3925aab0ee255397dc4a3be7771a369792f949a5194390bab446565a06f4df2744d23e9c038e7960e99039cb8cfbd3cc877b4ecb8d592b750255a37b706ee97ef9d6b3c310aaa0e2142825ec1e3a143d5907ba508649f3798ee2efd14cd2d7110986852f387f3b6ee2514a7b56edbe8f6b7f26dc03d4695b - -COUNT=16 -L = 2048 -KI = 2a1bc7ab733cb4cf4c9a6da43f98377e9d2f2868ffa81819 -IVlen = 128 -IV = cd9b8eecbe57f5bd0484dd0f0a064339 -FixedInputDataByteLen = 51 -FixedInputData = beaa00637aa5eef0656454cd45f3fb730258ac7aa51fca4de1d2534231c2bdd869ee3e70ba141c324fb41815890b62435e8805 -KO = ce5e56555eb60547ff40a15feb54e1f57f05454ffe0a27cb4fb22906fcfa3267571e6865d213ca97a45c2e2ad1ed42638eeb8b28bf9b77f3b4cf388bc5b8bcfdfd8e3dfd4a0cc0fb6cde45c0310ae91e7c0feca8e05801731d80c54e15e387cdf99b81f5d83aaddc4f96f40a64989d3dc71dcb397c650117aceca7b1b01a18b556d3d766ffc12038c2a2ffb389e3e4c5d5d561efc8c457b9cca30533d8bccd82653d4456976464c3009c0a5e7b16970b6b222609111cb7a5b081240fa035efe244b6a3f58ad5658b9abdc4a4992e404ae5ba00db49e3cee1a99083b8718fee0d76210430fc77e819df37b3895b39249277bb83d02b3493881a081e5cde008d83 - -COUNT=17 -L = 2048 -KI = cc22a672cb067354fdbc2e139e809cd04befcc09f15d3803 -IVlen = 128 -IV = 6b7687e06b888d147a2a748690db3411 -FixedInputDataByteLen = 51 -FixedInputData = 6fe542c70db5e235b096cf452a2a3065b19dd12dd9aa0e79ee24e345071df0bb22b8a85a2789dc8903570c897c24eeac860de5 -KO = 6803cdecce809d7c248db30ee1e4306f6d0fec6a56f6903cc12757d40392dacf9f1e3eab66a13a5c3e6fa4c70e1e9d1ad0ff1ed7051ce3b6bb4c66636126a9e995851896f09651a8d908ac3b2b06ba3d047a23a5fe342f4e8a96f5b408b9a07980dc6695455ee948c40a0efd117fd7cd3acb362518c002811e79b305a935ecfb4385f38b5b714a2ae0ebf6ee3be62e8aa78cedd155359e9516abba431271ab79a174591818f2e80ec403cdb320266b4a2c054d9735954c4df6e6c17c6c37ac96e342958fab454aa335429dd9f20bea46064b9948d8d4016cdc35855cac58085479641cef256c02bfe0fa19babed6ed3d3e83db2f1f8f2e28b8bc3ed913b70c02 - -COUNT=18 -L = 2048 -KI = c68eb5aa8280994eee8ed50c9bfb73afa413b1a4c20366d8 -IVlen = 128 -IV = 46e047820b10b159ba2af2faa2c30555 -FixedInputDataByteLen = 51 -FixedInputData = bc0ebadb249cf737bed190f23b73c3fd17299252b3cbdc4660a1c1ea7febb25b909248585008d050fc71f397614172699c5aa3 -KO = 63bd32e04b7416e7d8a7f28530daf4d38441b08a3575bd92b09056e8bdebf1e856d5c02da844f921aea58dc78d9396efd49d123f2b3b5f79927809f91031989d8e70d1e06e2d2cea03c9a495738188043589eef974d00e5c51f2469ab58140cfc479d0c8c88aa9bb95562822964139009a6878e38296b9c07dbcb780996174f665b6f7e6ceab0b5ee658055b48337ac878ff4afeb2772397e761a32d6db6985609a96051f41dd4c86729c057589d6d61bda0be1c6033b043e6dfd4f9983acb7d958900a013955fd372097ce01dadbd5ba508774b88a96e6b96086ab95dcc3668df8b217f80c09f369eb307ab22d4d5affaec4f531ab4babbb04f5468e1728cee - -COUNT=19 -L = 2048 -KI = 6ba5ba99376b69fcafbebef831765d7609ccd980a32e45ad -IVlen = 128 -IV = 240fdaa4999ccaa1050a588987ff960d -FixedInputDataByteLen = 51 -FixedInputData = 8a900b2f08d02ef89fff9a0e3f41b8c10e1dcc8debdc36efd615f9ce269ee2a97712d4f687752d9be0f2a7e49239972a38ea67 -KO = ac608019aa69e65c52c52db9f3e3f8ecceeecd931fdbc4fee32f57e8ee87f0d5331265faf24ee36c3a79048214db5ef0247b1a46de83abb991a55f2520e7c48ed5ab694469df78fbfc5f422a37a718294a949211a34e4dc199b666d7295e508c0f1b7dac469618f460100077e0b06ee4e33f4c7bf3187b9c37576775bf22b4436b0a61a2607f0b677a3072b7751fa2c48b874e804eda3d05cb39528384874f97590ad8ff25c0cc400d2caf4efe795164d63680d72fa1aaa6ab6cd9f2d57fdee242d87acf92d87c0c8fa7fe609345e94051eda2f304b2e032cab32786fdc614c0d2db37aea6d5c2fb99144617e61d83e42064f4628adc8c038a51d85fd3d66efe - -COUNT=20 -L = 560 -KI = 9d2d35f14a4ad4cf1929da8d7be73a89422bc0b583ed3b77 -IVlen = 128 -IV = a340db922c77450e24876308f38360eb -FixedInputDataByteLen = 51 -FixedInputData = 4087e3716816b4acff258007029c14642bf360b327650aa82ce49a2c3933cd9a41db0bb5cbc87ffe96d47b27ba14458fb37201 -KO = 55f77b65b7c1eeae6efe7639fd460302e4f60e80b8f2c9296d488c69972fe9311f8af92474adc988af6294412fb2e6a3c72250ccf0ea45a127dfc0201a3473ae2d8e27c133e6 - -COUNT=21 -L = 560 -KI = b18d43e2671eceda45240e66e67c115bcb1302bc94c76d1b -IVlen = 128 -IV = b098dfb741f784dfe7832351982e9b59 -FixedInputDataByteLen = 51 -FixedInputData = b027ceda1d7ceae9fabe2ad6c02cd0989cb2ed56aae08d168febcf4247b811500432e66fb5657206afd4eb42b4e499295a1ff3 -KO = be2b6942869ed1fed5f006a347e5209411680c7099d1dec0c87e63c3e84fa78e1887055e76947b65dcf19b6a5d5d932877bc18ece54f941cad7c1000f21c2eaa1ce3f8de09fc - -COUNT=22 -L = 560 -KI = b4f75068234c62ecdfa0479dacc8d74034fe239f80edddb7 -IVlen = 128 -IV = 8daa8777a721e20602fb6c48fe486a76 -FixedInputDataByteLen = 51 -FixedInputData = 221c81ff4b2c23b5122ab265faeaa599585c24901245da7b02a6a732b41f1f4d23279541310c66aa584f5144471ecc966fa927 -KO = d8925e91f4a076288a27cb371e47f1d79dfcb03f6a3bee6bc8cf859db3efd76d85f1bfd998629471ea4c0b57fad71c69e96c3b542f24c0a602a3c86d23acf5845c4b11ee06a8 - -COUNT=23 -L = 560 -KI = 41a78256c74a2029c6cc5df2644e366f39a7b216ee49b885 -IVlen = 128 -IV = 697491fb52afef070d47a144e7d87fa3 -FixedInputDataByteLen = 51 -FixedInputData = ae9aeaf2f4b080c8e2e9a2daf17ec3c737ffd03d218333707a82086278e1427e90be112c4ef89d34d9d5b5258c9c3456682f96 -KO = 0c388dea245898e29586e1530ba07b40aa2846be115e09278989f589dc54d8f714871e812ec3ec11200e30df0e62d5e334be7c5904bff31a6ee8ed12d919de08cc604595244b - -COUNT=24 -L = 560 -KI = 71d82923749dc26c9980301094e3d930e6f11daf614c4f37 -IVlen = 128 -IV = e65ce96b70318bfda886c726cde0dd9b -FixedInputDataByteLen = 51 -FixedInputData = 56871f031e458a3ebdbeaffd981682f38c97b76d5071e557514828a08918e2b3e9f900950a8f0e337d33d4f32543557fe479de -KO = 299517b74294aa6aaf56a1053c5ac00011eb5bfab5929e1c586fc285cf4d7527dfaa3c8aab483c315b1142dfdaae5602b1ee32763a509479de2c8f9393ef968d3048943deb23 - -COUNT=25 -L = 560 -KI = e836ec3c2f51322b5180d1c2fa440bca014a4466d41781c4 -IVlen = 128 -IV = e139d84a1cb2750632a6a8c029d0b1b2 -FixedInputDataByteLen = 51 -FixedInputData = bac2d15c2b06b8a1ae0be0222bca72573ee192ed72e8d40333f35649b7dfcd4ad7bc2933ef61bb59c8a0c50f4e4cc61dc94859 -KO = 059e911b67543b4e05e8634b87507113bef73c00df3c434e7029da3a0dce5b0e40a12551fe1b50d7c007dca10dd85c2c17c223fa8e7ee74f730cacce954714994ad665982385 - -COUNT=26 -L = 560 -KI = 32c10dc0b42462bd48d17cbf85c59b1df07c2351888e4dac -IVlen = 128 -IV = 16ddb0bb6f4910f6757405a1a4d6c6bf -FixedInputDataByteLen = 51 -FixedInputData = f9fff57695356a075d9ce1db1f5847b8f84440f27efee2f47c5243115b6c0d14d94a81db7319f9f81eef84a646338fef7552a8 -KO = ccaea03f464d92e4cb33facacaf09f4d8e452d1b3a8b24b72a233b65f810c3b242690be068933ff20482006870c14dcaf009bd91b6bd6eb45242a772ab1c241916d3ea636c33 - -COUNT=27 -L = 560 -KI = 24615ecefb65f08d0944b8cc3d93435f10ba4b41ec3978c6 -IVlen = 128 -IV = af7fe93b57cae2f401bba8cdd1b0e500 -FixedInputDataByteLen = 51 -FixedInputData = b4f00b4e99b11e93f44b31e4f9a6f683861cd5db1653ff62c7fe2da394ea8b0a43177f1d22a854f5fd9df52d1efc3626fd99a1 -KO = 93509f40a5053f3ac7708f3b38a740ab4b11e8fc881210ec556c67a676088cb62afb1693ef9f98076dac30256d36de7311af4c53e4c149fa618d5ced26dc9419df056e51dc52 - -COUNT=28 -L = 560 -KI = dd5946d8da95a2859a08d38cf2b6221c725d4d40b80604e2 -IVlen = 128 -IV = 5a9f2723cb39a2afcf4b816698b6b68d -FixedInputDataByteLen = 51 -FixedInputData = ceb1925edbbbcd86b6b56ac6e89406de3b0258f8e976f37c3fed1e6c592c9fdbb0a4b58ab8e758a28bedc7d40017f8c4bd1fba -KO = 1114127acde6a48441fc66251f92ea1966de3a8956f1c8cfc61bd43772fb0b0a6437ff4b65fba9986edc74e93acf01df52b1eb8d249464a3079f8a166b997090e5e89a962300 - -COUNT=29 -L = 560 -KI = 4e0f0c6a0c3dd43009f2dbbf977f56e4f5d3d817f30d59d8 -IVlen = 128 -IV = 674eab8fee9211c2c1c33999a1d43ad9 -FixedInputDataByteLen = 51 -FixedInputData = 9871c8f33858127ff1e76ba96bfb697a07ab6a9d441dc4b3fcba9e616dcdde99e04b579c746a0da6ae4a6fa9f3f317dba898c0 -KO = 5bae734142b028d2d035b0ddb6abdcdccc4c3ac5496e7385dd55ad5f58e73d56d5a40256838b9109229ab171e1a6b39a5bdc1bf90f431b269093db68cb986ae3c32da2f113ae - -COUNT=30 -L = 2400 -KI = 8729399ba89d22f1b849112d600cc273efa7c745316581ea -IVlen = 128 -IV = 3dff887c99e3a81a7712cfee86c9c781 -FixedInputDataByteLen = 51 -FixedInputData = 0e040f032355ed8e0068b4755db29e90031cd6e1ee351767b3b08c4a084ffc5935e09ccd0577a9082cce9bb4decba65a256d0b -KO = 0a9a7c433620854389dbc62b8928455d6625c53269b54840faabc75dbf0d00530c986921885736364f4bb9aeea021aabfb7c0a346c49d0cde3a3352d19246249f70ae3bc24f62bf10b71cdc9e0a909207390145ead9d1b257981793991a0dc9184b50c51f4e2733dfe6f160765480175d50f3c18726d1cbae55cd11c941254681da8dafde676ed3b5c021fb6701ab9d35a1cd9e929d1dfe1b2d040e0fe3ea6d24b91a47113e278c70e67f48a9b4809312ad77808bf9753c830cc3e9db026ac2f6726a353957ca368089c184647c2664063ac1e0fe3471bf312d87c186a128a71d8c5ec436b7f87cf109d9b2e55a7dcae6c8068071d56f77d825ade95ec05ab42caf4a2e615f9df600367ee441bf91abd195193a48a81b9cd276bd06822aa6bb3c7cb127ca3dfda8bb0db96b9 - -COUNT=31 -L = 2400 -KI = 3f0cc97272591ed5d1f27767b4f6ac69c69cc7809539893c -IVlen = 128 -IV = 28f19e862a2f03190fb6b8a1d7290392 -FixedInputDataByteLen = 51 -FixedInputData = d2b7e447ed1ff1ac11a67fa15162a13308d110ce20598c178e677e4df9446df112e9cffac45bdc2dce3f507786071622a802e5 -KO = defa3e748b1a524b4c7b182a7f22af00bcaa3a5ff25dd9048ee578bf831e9bcedbda5583bae7d7f14961a7a317d79fa60f55da0209d72e2d0e54ff79220fef192d223563261cea41730c0ac47cd3a1e0ed1d79ae2c1bda5ee8fc931c9d639f3ac40be1efe9e19b963ea29f3a059fdc2f125571d15bbe34472557da276fbcde8420f3d521ef94fbe3c892200d5f72721e4e404b7eaf95e99b9d28d86cdd3c3f9e4dc6d6f4c6afe6691b3b41114b7e98069f321939e1111d39e0e7feaf7339eb17645172804dc7a5ba58944ea615ed8f55086d9765af39cf65a54721cbdf50415eac9e201898283452ee2e742ad01da2b487c612261f2601f68f9bfd4ad71476325bd0681ee6322de0f603935e4b8ad68582116f68a0e08359e62a413dfa56ee270bc308c5cd068cde4043767b - -COUNT=32 -L = 2400 -KI = 55641a82445690e6fcf73aa7f3addc662d25a6d523927b04 -IVlen = 128 -IV = 62e9054c125f8e1b0419048c4315a4e9 -FixedInputDataByteLen = 51 -FixedInputData = 283103a95b2ea5a1b16f86e6149de73818f407771d3830d31ee9485a06263827b42b5a80ecb0e671a7ad3cbc4e662f3da9982f -KO = 543479d037a19c70a8621ebb34bf834ccaf624af62bff8b61788a1ae4f0b56a79145c0a606ffac13cc1f32bf83b1537cdaf67975efaab39537c054e78f846282de20ca2de6a418873532ca5580438261fc15b46bf6bd95efe7d738b558d841f83d789260f97aab90ab6d469e39001c6881b9d54d91f131682b9cf39fae822864345dbc3047647e40b0329c19af788675f128ca44b9fd27a5bf98f519ad8fd9fde5a76bc91ea188633f3581454d66e0a266168822f785b57fa8ba8dbb49c516950c2782e32e60ce812dc5c68ae01fa36868229e8ec4a045cf2e43433886c856c6af82bce2d04e8c5735624eaa2c03397c8611dfc6ffeae21e1bb956d1896285d9b5166942cb164dd8f377d66ba560c4c4fb3f84fba666ed92d251dc928464521f508aee8b7d08875e72f4d613 - -COUNT=33 -L = 2400 -KI = 60b0aee87ee40acc1015d842efb15ce4c5e1b72b0a04123f -IVlen = 128 -IV = 637a5ebb1b1677042ffacd20cb88de02 -FixedInputDataByteLen = 51 -FixedInputData = b161062edfbc0b53c17e158524585f68e754610b39502106bec977c48e35a484925800ce444c597edf58a35840a9fa7197a128 -KO = f068d92df6b401262a661ca93959e3429d0f50fdfe35e94da02c406fc0f3778255b6ad2b61d3727535500d513a0bee0283e59f8aed61b93dde1e3da6ab87c0cef54cae1d7d3e1143d93780e5387c0062a6a99c33c6ccd6b3944b337093c47a7f33cb03a47b0e5963d57f4cb2ad545c2a2aa5a8a756f05e0041c643053dfe56ed0d07637c4d98cbaa30371c47703586e1641a20af40eebb9382e0f6a6552781114e6899865f2eda9a39a01967cb9847edbc99ad56564bfcd726550a563212d62f6283ccafde06e51a0a15debf4007ced18cc63b665dc8c063ef8afe2e57255c88517ccd41a7557b143a67241b6f4b4e294cc186a620181eb2b14ca6a628ccddaa837f7df9f4a4132c2bb1a43a26a0a898495a299207292332058b8eb87d6ca301d4027798e863006f982926e5 - -COUNT=34 -L = 2400 -KI = 465e23953a2d72535280545bf6d2f32134cb595baaaccc02 -IVlen = 128 -IV = 2e4f906046bd31f49ee29580f3c4ee55 -FixedInputDataByteLen = 51 -FixedInputData = 65fb75ae1a701bb49b548c2c05557fd4d664edb6b245bf52bd5343fe8b6a362a3443c6748633080ac4baf3e8aa63dd3b116434 -KO = dd12829f9db66e5b2463e4052e8e621fb669ee1825df4d60588c121d418f8c91bed62cef95ccc30827183f50db90e4ed0bea96e3d15b02c897dcccac5344ecc3534951f663b4971e7155a53e14ad2d6c553212e9b3d39af2c994e552250afbd2f693f33ae693c90159a5c9c3cd2a02b37e8ceaf723e93a2d6778313601bb47f35fc86f5ebecc459e0bcf3f5cf556807e249c307959e5ea57b3201c50fa82bc809626b6c8f8512b8623ae3b4899525727353338dae54310cf303234c966ba0fd6c1471ac8f85b5dae1be0b034487c109eebb6e6ad5d789a320dc086532ff8987d22f1b253a66ac7290d46236e4f3e529c148fa3bf7f88b35c2c6595a61227c37d6bbc85c274b28d40ff8fac6b5ff43cb7d0b6a477a66ae82200b20265193f091c8fc066a4cb2498b1e6334b54 - -COUNT=35 -L = 2400 -KI = 098a79997f58ce3f8d1a07fd4d8e37292dfd0e7c585c33e5 -IVlen = 128 -IV = 95fa0db0fc95e2c2822280941de537a3 -FixedInputDataByteLen = 51 -FixedInputData = 9e8c10dbf318767cbfb4d54ada64d82272862477e3d9aa5bf766af709d76430f05a617f3e6f5ce5136f8d105273c98e1c24475 -KO = 5567e1544edbc0a6eb3ebbbc926cf07332c4e33001bd666a970fe1c9796ffd5a1902f09bd17d6f503769392e9c0d0b178045641448d7e398b6ecfce681815a93a5fdebf954e48aadd815027a243311a004d69fec5c65e69da2e2d9d1a5dc9a6bc9b80bde325770e7fe2be19e906d0440f786c1112a0788eaf06b4617e8a2fd09deba06ca2628515720d5b68072be39c517900678f8546ab330009b114457c4b043bd9df8b4854ca9e6b2a107ff756bf16b970eea69b54392cecd0a4778706ce21c0492c7d9fd522edb46eb6817f00afd532b09af62522e0a597427852cecb9556630a5d1148ed22a2925919bf15b2514230f5fb7db82e96ab9059711806e9928e1991bf2df7bd9974dfd327c767833231ca160143ad79ddc608e1ef49908263e2a026ce65cbf9a120ee268d6 - -COUNT=36 -L = 2400 -KI = 259c93cb56a20ecf2ca6b2c5adb2d9d605d09adcf4fd820e -IVlen = 128 -IV = 24b7ec5899d97322312ed5066f8500d7 -FixedInputDataByteLen = 51 -FixedInputData = a0da7e0142b022bf4b35c7811abf19d5fcd87586abddb887b1785a9e2fe9ad0883dfc9d7b84e82d3274464eace7ec51b48c348 -KO = bdf5d35b70d166f97542dc0b809f6173d06b452b374879fe4f0c91236a5ae04437a988cbf470ef9643254f4f15ad262efad4112fb25a84769513d6b8414471648722fea887f7cba126f248cbc5c410ca34e97a4ce1d5b72d8af3f06b2d8f4d563887915c5b8378fdf7fad15005bc1d771066b31025b3c6f623b5f5fccf92447446130a821307e45a8c3c98625642b202773a72ce3ab7e11a8006a7e343e22372f77f874bcdd3f55ab9fa85c65d07b51588132e9cb2b0abd8a058c04f89c63ce74aa200be17577c4cb84b776144e06f9ae8faa3cde01b5de1e564a08c2020bcdae636b6cca6353347676fb270a25da8e7ce110b53839026a1d20f92b52123573c934f32df78e6bd25fc50bf254b71ab2a428c6ffce1e418ccb807d1cce0a614e847afd941dae1f8a10d0574f5 - -COUNT=37 -L = 2400 -KI = fe6771a48a7d4fe87375fb202d7e015f8b922212ff6d6d0e -IVlen = 128 -IV = e9276c1843f0e4c2f46dce6e7bd4d90c -FixedInputDataByteLen = 51 -FixedInputData = 241ea60c3e5ba50c2816843d39a7e81de0993db4e19092c419d5951af6c459dc476889e2375258aae49bac2b9e28bfa744bb19 -KO = 6cc79ec5a417466d1702ca82f6d593eec0c8ac7070c8ee11544a15a4f137ebed4aae46e8c61c6dffdc37327f49dceacb2ad09449bceb9c99af0c27cab2eaaf3e1ab6ef0203b5313a942506026a853c2d8b0c9623e8e4b54039bb45427a98c65896bacc587da9794dd17c1332797c25c4c95621ba10e447cdbb22e327e2398748f201c7980206604bb94d0374f6e91e0c054e28bc5c5a797ae86a1be7d6c3f7d06e71ad7ef79bca108c847332a25462b5ae50611bdcca7675fc30e0abbaf1cb7cbfdeb2d47a28db09054acc748d9db038114b09d3c5211335b8d1e0e5fe7e3267b92ce5eae0e8df2445c7ee33cdb4eaee94d26a0bcf4e5331cd0b7fd78155df40eeb4c2486adc8584c3f19ad23481ff5b7c3c82c003d8354c1b4e11cb978c667d2ead39e77f6f9ce7ddc45c92 - -COUNT=38 -L = 2400 -KI = dc92777781d8b7af905f90db95248eabeb982f797e50d5c7 -IVlen = 128 -IV = 90f83f324d54085de6be9db39dc2a0a2 -FixedInputDataByteLen = 51 -FixedInputData = 7f657b03503111f7ef9d7aafdb30649fd5fdfd2ecd5845401c7b6ca983b036ecc5138985b83660fd68cc09d2eaec5dd6dbac4a -KO = 47a2b6a73c49988f9ea7f5d14587fb96dd0bbe359276a146229067a427a10e13c942158786426c88107708c2181dadbbe19c1ed1d4a89d9a35210d6506bb4c51743a4b00fa748bb1ca689a4183d70d23200974cf27a81efd4573f17d5075abc9db5feb75e7eb96c0dc5d8d85f1c62684def5acbd7625bf3bf4614f96aa8916b0eba866c94faddd4850c7129edaa51954c737e8d16ec9dd2e7f044557b8ba7a058c1f0541e9f23c4f32599cf000f97fb23da8d7831a52e4e0396bcbbcdf8dd225211f67a664a322a7fb12dedc54e44522e1e2dd6d78de611c0d58418025ade15dfc1d15f17d45d7d10d1d2a6378529be0678679eb1978b8c5f92379caca97a21110109a757991662817c3f3fe505c3c1ce6c129b6dced7fec3dbf85befb5694ee8a01098fdcfcff8b304be6d4 - -COUNT=39 -L = 2400 -KI = beb98b24e2fabe4e00ccb6602ad8957a1b74abdf0d9dd91f -IVlen = 128 -IV = be4e97d3a0d4d20e7a122262466150b9 -FixedInputDataByteLen = 51 -FixedInputData = 12bf066bf36084ca59e6d7b2c7f9f77af87ac5ca433ff9dedf3275faa148b69704c3b1df3876af1602fb32789f5d67d76f3455 -KO = cf0e1c4f4827f37939363a361b5123ef82ff5035f52dd79f75977f1d1382936378df26a4c6d89d103c938c8a4a6f529c7b5906f94c02ace5739f672c2281e4e5bd6b02992f37780ded51fc1cef87249a9a2692ef1120ffb689c3ceb0e93b1c3ab1387a0959fd9257c7b51b425c8d2aeebde556c6bfd0296fe35132dd402d62a857810e7d67d79fc01c4f04da79edddb5eb90c60a4c35813d9131af3e750d755a5dad5d1ae363681ed127c7f98b6f8c235bcb52f5123a13c4d78d6f80eefbcd67db1492751302e4fcb88d6db89fe0e23edf962d67ccb2e1f3d324f30cdebe5667829fd846c66a623ec33929e0bf5d0fcfa90587b5cc4d8ffd446c0fe67871d3a6083b05c86bb44e6f31ff91973956d1304d0d0424c94555c94543f6619e21c6d262879b53b8334ae6d1e51bc3 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = b194ff44f416ca166983fb4f57d89731f8cec191a9263ea2 -IVlen = 128 -IV = 2ade14e45289b00b18717311f5e528cc -FixedInputDataByteLen = 51 -FixedInputData = c918c5c964d9fc6a886dc8add060765893b5f068a394c522e35146b97b5bf497b3b6146265256eba07b10d89e4a96f1ef63151 -KO = a1126c2b6c970fdd4cd299a28682057c0d1886a8ca6f659602f466011babb808d62b1b138208ca29560a12614004d1c53937b2687bcc3a44b8f2710d2a7f8343 - -COUNT=1 -L = 512 -KI = bf48458bd71bceaa29cd7b3007efe53cd03a88d044bc74d6 -IVlen = 128 -IV = cdbc5407b623ba55d545e7dcf5646a69 -FixedInputDataByteLen = 51 -FixedInputData = eefc28dc8ccf1c46057c88db9a793e8961d0963b5995487ec8ac5b8131930a0c4c77a1c92a8c8248fbcac0463df28c38189f87 -KO = 2914b06b3329f242503217f0c96f47f3d8534d0ca87968d1d68d1cf7e0de410a11ad5d41cff0e3a79c60abf98f2aa4c5f6754a73cd7b9968f887cb7715012f50 - -COUNT=2 -L = 512 -KI = c32b27e2e940048bd131b6929a1d4f581d5f36680c112563 -IVlen = 128 -IV = 22708468a5ecc00d9e0d07c9818a61a3 -FixedInputDataByteLen = 51 -FixedInputData = c3b6c4df52f985619b1c6fe0503de795cc2e3ac88b6bdb4bab5abe3894393f966a77878eed5e69449d85327fcfacadcee229c6 -KO = d22d2a68c601d73792403541bd9491b7f7dd38a0a53ef38af2bcf97dd84923d87edb532f3a235daf1c443c8e278566e899df7d45a7491df6f70ddcede93f01c5 - -COUNT=3 -L = 512 -KI = 5bb6c39db6139716bb3db755690af4b33e610fcfe1309a85 -IVlen = 128 -IV = c00b964a39a93dad9e7cdf28c7d85920 -FixedInputDataByteLen = 51 -FixedInputData = 4d428bfd376c014ccf539c2f361c58ea69076c051cfa9729d1298f43922307fa35bda723516a3e94f0b898904ab20160cadf27 -KO = a15c7e050e71034a1d53d9dae11e2e8281181e6c374c180d89c5629066343fa093517093466633c1de65cb6b471031a257e83861236d6802ad24c81462d51155 - -COUNT=4 -L = 512 -KI = 2881f76bdabe92003dadecb6e495f8d42e85a0d2eb89e7b8 -IVlen = 128 -IV = 1a00957bab2c5350794a787a3759b8d7 -FixedInputDataByteLen = 51 -FixedInputData = dc95dfa57ab738ddc4ccce504d7c3e9d8e9c8601b441a5c11610c716b9efc6a3ac96883bc2ba9d595f372f600184f71853780f -KO = 3fb97c7299554c94a8ca1d8ce398db9a8e464f336f507056ce03ecdd59f31f0cc58ae68907a1f238d5b3e3243cd6744908182b665d5b4e02b426b9129b59d1e1 - -COUNT=5 -L = 512 -KI = a65dfa1dc562613e7fd5e41acefc58306a90f45efb179ed4 -IVlen = 128 -IV = 1e6c264add2d47ad287e4c0931eac747 -FixedInputDataByteLen = 51 -FixedInputData = d362a20b4990352642342ce9ccb524cc1f71c9b721f0a155f7bd631cc3d4ca8c3f0494619dda1bce6e55dd918d63627e5c7ad2 -KO = b68c4fd8c0db2482ee475532c85330201b76759bf567f5384b418b6ac637c6568b12e4a16c1f9332aae1e8babf2bcc34253f772fae079f6176f6850689bff6a9 - -COUNT=6 -L = 512 -KI = ccd2818473fbeefc9a5d302c460301b253c14529cbf7f429 -IVlen = 128 -IV = 1b1a7afc08a4feac33a9d217962f9653 -FixedInputDataByteLen = 51 -FixedInputData = 79601072f489d40debbc5a404f36e21ca21219ede3257a00e52ad19f87abf5e2b93c16c315f543610ecaeae87caf01121e4b3b -KO = ac4be6d48653a862e504cc5cab28acabc48eed38b0354068fb719d1962c42269ef410c21cdf012c304b6714c8cadbc3542dfa2f7acaef6cd6a37d223124bf2fe - -COUNT=7 -L = 512 -KI = f2e21f565e472e7c3b2680f4dc6c49054c994648bddb7da3 -IVlen = 128 -IV = aa482fcb6b7b64ebd88e2509f5cc6b41 -FixedInputDataByteLen = 51 -FixedInputData = 681a1e19afb9bdf59d553738963fe25013a7d8dbf8deccc6e58bd7b66053ddacfa53ba5b1ed1fb9f79d65b663aa4c8d5e9471e -KO = 3379de85a18d57e0600d6a3fb2777498ba68185273bb8a6036eab43e0a39623ece96f38d4f177bbb47f6fdd045172a2a38968884170c7c19ce0d28fee643e883 - -COUNT=8 -L = 512 -KI = 064b0dc8a868b9c721b5b599eccf840988f0d8d97d0dbd97 -IVlen = 128 -IV = ff978edbec692dd4a67e1bb951cece71 -FixedInputDataByteLen = 51 -FixedInputData = fd402d41ec1dcabfe35ced59e71bdfbd8e2da36c167cd2d338819d7bc320012dce5509312513176be30dc618eb4aa1319665df -KO = 4e1fd9824342d1a74a2ee3e162becac960b1531e6c96ed80c6147c32a86cfeb5830eef2e26b27291e2174dc6f94791cf7d28c0b47af9b73fb9180d834a929771 - -COUNT=9 -L = 512 -KI = 150869ed909ceb28df88e4e80cfd42d89eeed0486617132a -IVlen = 128 -IV = 457694c4ceb74bcccb27e4977e382381 -FixedInputDataByteLen = 51 -FixedInputData = 38d43a3ee8d263b9fa51c145c19bdb0c035c68b645fef8a6e51a51b600114e220afd33b7aacb0a665ad0a2e3727af37381f75d -KO = bfc27b099f6e0ce88d8e779aeeb1a1f6009a38f32ccd5ca2d0b99b60d89b7c8e232cbd7142c48623a94d8b8055f95c4c073bb20b2ed1d61a0e07c61118e38492 - -COUNT=10 -L = 2048 -KI = 9b48bd332eac4d03251c400a21209f30d0aae776306dc8bd -IVlen = 128 -IV = 7322d14991e2b12b19b7666b2b0da644 -FixedInputDataByteLen = 51 -FixedInputData = b0a13f559b4cf7502197d30c184af4f9bf282d3df777ca15cfeadd08310b875ad0392ee38bdfd5c3d54ddd9c355ed84911e9fa -KO = c60f0374c6aa2a726379a66bd68c51abbc88cfaf924cd981ebb608b7c290cda2352e66914e016533ccaacbaba52f409f61d08bd7fe74d19f767f710adf0b71b689a68e466b5f79c989eb196fff7a69f86c8ff4bd93a86b297b114d57e08f750d06eb135008d3e18c1b18be93fc80ff300115dcfe3d4c5aa402279bec3de95d20a7c3148f8c47ee8bc45020650d49af89764464d3c0c9e79ce0b3ce3f88e38c312fb74de9c0a8c6564c8a3ff0a9cd87d064828ebd8f71c3297b8ca8adaa0742a92e02f28dcd3008b5f89b8a0b1617679274acb707dc7830c72e6320a0610289efb303f3457db640ced0da835011001d19d85318bd28517116d4b9d7937ddc7053 - -COUNT=11 -L = 2048 -KI = ba2ac2258948bd215fad40ad195da5c81fd23083aee33713 -IVlen = 128 -IV = e5d508d751fcb864d87297aa20ddd900 -FixedInputDataByteLen = 51 -FixedInputData = ab9217b9887d55cb1f44086d93407e56af5dfd60579720c8fc08e0290237462f148dc45989e4446b75dc6bbadd6bef4f4a43ea -KO = e970dfc20a4cdcdc6c0d14aca57784119d8751460b68827642e21f142e411f33fade8b53cd71ebea977038971508836a319aca8fd2da82d6b78411ca90b64778cf7d19534544ead0a582d9b66581e4049d94c88e55145c5d9415e65110638859497625d4e42789bd4f89416481201876fee4dcd10ca7f9771c5b2ef23fad84319f2d99903330098ad47f557fef5fe8009d490d55e30d0fbd2cb0e48af9ffe3deb4e1e460f9bc2a27ed829be8f2afac4d2ac37ea11a7d3b6123e182d18f957a17092f16c9bdb8f5581ae38723934df41ca6fd989937dff9bc79c50b27c25cbdc6d8eb4a7c246834f1a054f7d6d5ee4244f9c3b0d4697ab66e0465d02a2741e66b - -COUNT=12 -L = 2048 -KI = 1f642bd61b5506bd4211380148edf54ace87d9d03c457bbf -IVlen = 128 -IV = c3eda05d1453c9ee99897f2bf884b8e5 -FixedInputDataByteLen = 51 -FixedInputData = c83ac5d388507ea9d8ebcded1aebaba013767cee48bc26af2deaf7ab9cf4760e1ac7524b8fdc43fe22d320f9ceb8f41dc6c44a -KO = 50493950cca7b8398ae4be354174ccc16fc4d102589612b80491f5978dd03b09c58bb602413707d41a0014d9e3c453b3110d04d41aa03739419ce7dbcb61747c4af90a7297c867ebe9d32ad64460eaaa2eb14c1b9bc8c98f5909cb5bcc093711a75a23ef1927682575b3aed80e6476718b298b07b979233a8d652e8cad6c55eba8b935c3fb7fd64468b557ae472742bcaab21d680a1d4b56c3776fafb661062745763780e1b8ca40af6a38428dbcec6006557d04158bd8de39497211d1a0308079290d5d4e231f6e49ae9b68e365568d21df92c59a6695cc5d0c76ba129fbbae2da98dbfef0077b4a0c91e79fd7e32a88a8296481f6d3e2a7aa68361bcca14b5 - -COUNT=13 -L = 2048 -KI = 950fa04e56f0c043ff91cbe7a3e2fbc35d996b2e812323f6 -IVlen = 128 -IV = 74fb308d87a614dbfcd3391b96571ba2 -FixedInputDataByteLen = 51 -FixedInputData = 2e3a53841f45f6897ffd2c72c02c747ad59a8134a27d44e7f882e5c2cdd23b2d2f827f47bd666a6706e23cc2afea45a31870c3 -KO = b2a65976e0d9876d6e76f8d11ef6e244cecf18908927e80e20fd2a00d0b58545e7e7cf396a174b1984e6f2abad2c272868f2063069f3d54ef9bb52e976266a2f2326274ca1075c2276fd2109fecbb17cdff5089198aa07c8cb88c91829a84895715a3d9707776e0ca101438e214988fdd4e955e852df00991666ed9bd8a484d317f03cdcb1a16c964e80674c32f3abb0e064206fdd272e9f0113dba5124b1c0f0158dfd7e66a343e24f863ba4214be751a7017cb7d294ff512fc53a17e9ccbfad98999db9e82844e0e912d3d855959947b8e97e5c43b6b6346c4291d6a27b2162b8968f48e4bd86f23f7d82f8eecd6e47b8cc5f1fd0a371699464d180232853c - -COUNT=14 -L = 2048 -KI = b5c19271eed88ee63c4d3fd38833efaa986ae3dd2415d595 -IVlen = 128 -IV = fb996278bea32fadeb4b60cc78a06d70 -FixedInputDataByteLen = 51 -FixedInputData = 09dbdacb3141bd59935870359e27b0c6321311b1b4ba844369de4c5d465247642c2efef1534a024212a220628767d4da6c54ba -KO = 99b39321d195d8984b8ca303adac1d6dff4eb32feb04000828d5ac2e88c2f1fa3d56d62706eac9b72d684d1222270cd940f6be0e335e3baa78287ac474ecac8355a6271e5bded346b19a0a24997ebd67aaf8ecc1df2abdc33b06deb4da8d2fe63280b9c75d3ecd36fe518eace40622fe5291329d6a41d1a9b22ef173f79073288233f4f1d11c3b7acd2729699094ff01bc4c7ff2343523dee1f7376fb1468241ee474dc967c116da368940bd70c096366c493601d1889982bd8e1cd60fb8f57d384a6426acb1d792829d09b449887ce88f4bea24fdbc4b048b13f714244a13bfc676db39b45dbed997e0f85e53aa4d2e0059a0cbd88a48150fde2d09bdf03dc6 - -COUNT=15 -L = 2048 -KI = 6402498062271de53ea1a35f97e5cdef0c42ecb0dc081334 -IVlen = 128 -IV = d45e4372b9d60986375e610433391676 -FixedInputDataByteLen = 51 -FixedInputData = b6d89220881e611f23c2c9a0096904814d36a5f0187a7e0220ab7dd8d8ab9e46dad4610d7a3ceb3c6ba3f6048e7e217912757c -KO = 96e695e11123d3e6951feb32663fd9a4c80a087f937760696f1cb417913d1751bb951f6020bd1cb38adee52df245e77ccc195337fe489a56dcaa9b18d5824f2d5c3236370f5109cddc73640e14c11b7d3d4699e56258ce194d76ac7da01e474d3e9205611a9f806adbd139afc79067c4bba938ba12a839b69e89487dbe4b307d26851ad44e061777811faefe06cbd5ac301c24fd2b17e07cd7026753f0453efbe9259e734236b552d009c79012010bdf3518bcabcd5bbfa2009b8a35fda9b54ef6b053c23640719dc3970f7c1f3da49ca2d291b7331d1a74fd1bcd391bbc1c50716db3c3826b7f61f9c707ede57e125ea81b01954ee2778470bc33f41c11be95 - -COUNT=16 -L = 2048 -KI = 41a2356d89ea0a4d6ef0446898b6406a842d444d713dfcc7 -IVlen = 128 -IV = e0fac39645af285519c40017804f50f6 -FixedInputDataByteLen = 51 -FixedInputData = 9cc7204d1aa0e22064598c9761126bec7dc322431592cdebc0392b68e70f5e860c7cec3d18bad6bc76a07226e306a74e5f4bf8 -KO = 4c92252e594e74dd2230cae9ee81c08a6a28fc381741482a0b8373b70bae13b08939c57a13d99e4c80d8cbd54d9fc7a5fb39f75a7a185fd90aea2d69d8a404e01f1461a6f4a1468a5a7961dc03a69fef24b0641297a0d450067190652adb55e74da63dfbe79d6fced80b5ceeb2a506194e85f1d545d8097893e4cb7ddb30c01791887c96295030f98c54a2e2f8b5b4a48816b15b6a50794e25af1a0665d1ceaa0e1c4fa48a759203a9f8900dab8363d944ff81232a918162352977c031c60434b961ddbba0173533e906db7c539f4cd3ead02dba204aee7d6a7c589cb670eed07bdfdd0a53ccc98e2fa069f526b32fec3b01f30982a36f6c7d1d99a5b2df357d - -COUNT=17 -L = 2048 -KI = 7413104795466646083a22fac2c06c8183810e7cde4371fe -IVlen = 128 -IV = 81fcd6a19aaa9571ef683cfcca849ad9 -FixedInputDataByteLen = 51 -FixedInputData = 657bd764282abdebc9a5f7209d2b6aef4794d3e2064e017715c9cc5484f0705b135fe9269eaa1aa9d33dd1738a065b4a7a10dd -KO = 1302102bc026137534ddbae060c97e03ba03604d5c4d0124e6d3c4e02d03c4042397904a8d12a92e9eee1cc3639911f0565036c5bdea15d303af225a5c0674d696281c974872a06605f6d72603836c1a22512556df52012e38d02f40c0cea2bd06b54fb52a0ef896d45457294b5c49e12c92a89db8b25957a9815d03874146c11649d3a2feea3f6064d4a03c20da84396b64c0a750225edcd33c936b2f11b1eca878d8b6eded64dd2b2b5c449768c98006c5812347b3f20edca3ad40514370cc10132d106a4ea44609cc30635a916d7cb407340a63549e4a16607cbb67fb19135854586a4ca720d57db7557dd7d2a8915e51a4f6a3fb54fdc3a37e372e36ca41 - -COUNT=18 -L = 2048 -KI = 1d8c1ba6295fba06b27a277040387ac4dcd06437297b222e -IVlen = 128 -IV = c33853c23bdc8d5282e82f7c39d7098a -FixedInputDataByteLen = 51 -FixedInputData = ef4fec8afdedb78b85691954e466c823bf29c3dbc81cc6a362ba0910377b9905f18408059cb264ed9b8891bf4631ee734bf204 -KO = 246ce8b61823895122b711a6defd76599aeb0a0491a148ca08cc47dcf0cf321ae009b14640ce536a51099de8844ecb7bd2cc563a0f5ee4c990d3f4a54545ce14a7a5b60f12ab7174b7ba41dcdca2beb3966b5fd3283815b4f51168601e8f6bb8ffd5584e49c4b79f3e797db9a99f9a5ecca157646161123b4c1b8fdc3010462bacf8dd423438aac692462fe76e259ddf2e3a96f4967031baddff8a479dc474eca82c30a4ab42c1ff68409d45f89141aaa75d9aa9ba1330e5495312f3324e7c193a557b6fc0d60a9e322fb661539d15812a081283e968e10001025d57f920a1fed2333a07ca5fedae41cb21668fc5c22f820b6fc6fe90af89ca7ca7b7760d5c24 - -COUNT=19 -L = 2048 -KI = c1ef72f153810cbe397999e99a600ca080648be03a1ea433 -IVlen = 128 -IV = 9e42e48ecbe7403f3d3ceff52353e11c -FixedInputDataByteLen = 51 -FixedInputData = 9a9bbca698d1fe7d4e79a05ec51a14d280a411f6ce55f8d682842771f4098dfc93ca3b89b4b0a3e89e7a7bd901b0d6da449824 -KO = f6a3575576e4222af3f845c7c9f2d48bcfb0394417861baebb6c6f5fbe70171d6a1d1f0040d22b585164913b26f87ee667befaf5de755db28e6d5bf132460c83ba2eeb2869e51eb0b7c3d23e624c7ade9fb3359f7368cc140a31d7241acf06366a53ef215883c126990071ad690e6b6c32aefb161a6c2baec713dc930c0064622896b1bb9bab98422fc8b9645c16f9c494085f3f4f74c97da9a2b34e2b8606c4af0924fbf7f728c0e15f56a2c342d2cc6f8d17afcb2b7c8da8cb08fe6ea7521d537ed19734bdd8b240ae93796d7e31f5fc822d70a0c2258743c2287f339a0f110958638fdcd8e946c2edcda64812d83685a0d09fbff75ff118d7ea6fcbe1c205 - -COUNT=20 -L = 560 -KI = 65152c8d7e805fef1242f8d759bc4ef887f7fc5519fbed2d -IVlen = 128 -IV = 0d991c4f573f4fec1a526b1e3cd332cb -FixedInputDataByteLen = 51 -FixedInputData = 4d24886c54501956ec0b9fc08f2a44202e1396cf79a17b65df2743c7c449c3745467fef5927ebde0a06a8b8e01182d45ee783e -KO = 7dba6f9e9dd9ce903975cf6070962f48edde1e88efdd2634a410c49ba88145d549039be2a9af2172c8b900b2a8751861814e0103bab2464f6623c357284265b18dc073119239 - -COUNT=21 -L = 560 -KI = ced4f547ef2a53aefecf720a6c346b8211b9cf3b3fec491a -IVlen = 128 -IV = 71bb72eee03c3cbd0207ae7cd1533a0f -FixedInputDataByteLen = 51 -FixedInputData = e9f504cd6591b09382271d73cbf049db04d4a1ac59e959f27c346e9d22a0bde64d64f85d43b3706bbd60f2568a2d5b8793345f -KO = e72578423c572d144d46147163c4327757d2521fbe8d1a228dd0bc893dfa5af4e823570af41b8e554cff0126fd41fef29673b5d58f7b445500eb66cffb6cf4fce3801b54734f - -COUNT=22 -L = 560 -KI = 450c48eece02eee9c007bbb508ab0f672072e5de156b4c87 -IVlen = 128 -IV = 3fbbfe532f22f33ea680a94bb23a0941 -FixedInputDataByteLen = 51 -FixedInputData = a714f4ca04314c38672e90c991bd814aad82af6dd76a6e5093f34577906bda003a14a389a8279d64d99e1b9d94e342e5b5d489 -KO = 5a8a751afeedf3deb82006304d7186e19d35953176942b39da30046b12f126b0faca54c480bbc83664acab8dddf31f3a89c6e7c9ab0bec676366b01ae46d6a81d5dc8b93e752 - -COUNT=23 -L = 560 -KI = b9d1bb68ea2ce502a6f30edd23fab5d6c494930974e32ca0 -IVlen = 128 -IV = 6787b95e13ac3cc38498e596f2b2ea7d -FixedInputDataByteLen = 51 -FixedInputData = af079be7362d182fdcf89c2f363f8a48a84672416aea2aee98b2a5fec48aeff9609553bdebb5a744452b5c55cbaf6e0b4aa547 -KO = 58da247c1a32edd2c7a175a7d0e4a4d2ccf02dd89cdb6b2831e20c47a866c6c5a582577cc6eb16c148756ca128dbc5b04ab491ae0ef2bd7151d7f3bb1585cb6bb0aff54e9ac3 - -COUNT=24 -L = 560 -KI = 523fd9f7b28ec13ce1f6fbcc3dca166629d1e03c278fd598 -IVlen = 128 -IV = 5f60578ee359c781b63a8c457b31b22e -FixedInputDataByteLen = 51 -FixedInputData = 93aeeda491fb5fd4dd9637429144f1f19025cb4f5d0990caca623d0dde2d1d07bc24b5d3fe857fc67f36d3c69dc25b7f68f845 -KO = 1e6f32812bb25df105c7788726af94f6614e9a139f4f5c8fd9c5da64599391f3817380bab3e0b32fd2b1278a1aa83daac5c2e97a503594d3dd83a589648917f0038459750550 - -COUNT=25 -L = 560 -KI = 73cf551d3621e15b6264117fecf945cd4e6082600a537bb8 -IVlen = 128 -IV = 1f3e6f6ae701217f5d33e87ca328e524 -FixedInputDataByteLen = 51 -FixedInputData = e8120842f9311239ba9ef55140232dcfe4f442fa60ab8015276543f1e00adfadff2744abadb0635811923ceb1f354ed632cb9c -KO = 51b410fd41d148d376788e7a07752255a4d2c255ce9c50d2167a686b047f3aa3f2cadb57da11e7b03c18a6318f3ada728977b3eea972e62b8e961c9aa9d7e409180541c75ad8 - -COUNT=26 -L = 560 -KI = a9c4e9b67823b77b47508fe86684e2cce212538de48f1ccb -IVlen = 128 -IV = e29b293f40798e65b6e9245272ce971f -FixedInputDataByteLen = 51 -FixedInputData = 426872feec5e90908e7c06bf92b3ca26c34a99de034eb371a58621b03eb589a5cf133238deb2e4bb223bfe00c8ecf5e65df284 -KO = 6db79a42eddba45107712746762c0df5e0fa3f548b3330cae20ad4e5cb47ea1703847c468c790b1665cbd8f42a695de5cf63bf6dcc85d0c7f9c5989b03b0db4ff2bc2e5fd99f - -COUNT=27 -L = 560 -KI = 3782e856a7d6f24fc4693384b8aa9071554a94ff36c2b73f -IVlen = 128 -IV = 75ccefcde7a72e88303ab8698f780be8 -FixedInputDataByteLen = 51 -FixedInputData = f58592535e2f06fa935fc7813638c42f6a6826416ebd0b96f59105d483a26a8195c59d8877d7e8828bab342aad065e92179e21 -KO = 7ac43e80e1823dbbd5a358be1ffef722fac69a9cb3b060755ba9958990a394738206796c7b70cbb69cc454182eecc82b1a73306573f9f997269a4d5acdf798d945c9014f9629 - -COUNT=28 -L = 560 -KI = 1033076db959ba4b0d21570bcb4ea1b0c1c94800ed5efab5 -IVlen = 128 -IV = 02643d23b23427681dc8a38bf5cabfaf -FixedInputDataByteLen = 51 -FixedInputData = 4e70ab09cae62f82ed9928531c32f2a934b4a08febbd03706e91ee624a512d7cdb3ea80deabe3db2821a0a16ee12d47c943191 -KO = 649b9b2aaf6e0a0aa75c32cb648a24c999ab22fa3300e6d200d919cb028be9d22092b7d8cf45e0e17be730808cdd4c5c682a75fcafda451479466421e65449f93a2b85fdd54c - -COUNT=29 -L = 560 -KI = 69eeeaa5e7693e9222c018d91626929f2461c47b6ef8f143 -IVlen = 128 -IV = 3a993518dd7e53f5089f1060208332fc -FixedInputDataByteLen = 51 -FixedInputData = fc6cbb031c9446d4c4c1ce52a611a95fc2342a9641e4fe19bd410b397356b8af37ff9c6d40f6b060f55884aae266049832a8cb -KO = cb0ded74845b601d6aa2148bd5da29fcbe9d57329f5613b6444d106a7c0da4d86c451ef9eec40a5d035f60d7aaa91d989de4b8500f8844e833c38c2da6c7d720ee0d8a50c492 - -COUNT=30 -L = 2400 -KI = 58c295620781e0170baa63b0ca9b3abfeb082886834f7d2f -IVlen = 128 -IV = 2c86d7618ab1453748d56d1b9a2e6f2e -FixedInputDataByteLen = 51 -FixedInputData = 5067c21352c2c0e77f691720e39574602540508d9766a792b68e6141a4eccedcb763ee84b3264c59c4f90af1fec1ec83e9500e -KO = 10cc5a1e3379d9c9d4444ef95eecc75f5023dc667fe9f3e69eb6ba3e3d3b2a8770d17137c10fdb6daf016f499b777eac1768f7690c8fbe1fd0363797bcb036a955010bce47ad88ffd342c113b51bba254e57e28eb9a87d6beb6a614cd8e33e502580562319d9bf4c44c78dc5a27a46f83735bf95e2b005943b6bc4c5ee6b72927b9fff480098d6dbdbd67c294481bb77bd50a787875472183fd2f28f02c79ecf47b19326e769ba081ea6c3909666ee6464bca31038e1c7cbe9a1234a8e6eab97fc363d0fb765ed086a668a625d007a1c3fb1ecacbaac12903078be4004c219419ac32f49289283beb575b6814c2f9eff09da106149da0467af8289aad2a71543cb28456a0a3669642789c813919a876584d9c07742a15be05700f08ce07b2bf114671d0f8cc822ef7ca76f84 - -COUNT=31 -L = 2400 -KI = 1f03fdf77420ccf774bae659ac32486beee4e91bcd184c2f -IVlen = 128 -IV = f9b4f6de4e9935c5275bc5ef24422866 -FixedInputDataByteLen = 51 -FixedInputData = 6b1c8b2921d56ece08d161992586be45f31f249f533d2cfb6b33347734b8439163c713ee3a7597e2328afac9956fed84680b48 -KO = fb931ad0ac5b40f71a209ed0b5bb6241414052a885b39d663e27690c7b90eb0f2f0b3f717791e7d0852cd77197d67c16f5c19598293becc3d77f201a38b8c6e9a3c741ca3f6444d72cd6f98dd9e60e78cbff1766ae26bd104d1a54e544ac7cb0138fdb62da40689f72ee851e0877bad6f8cbc54e8dfea3a45abed000514e5ac7802b4c9c32c1c402155ff8b0d2c7232b28877daf451fae391c95f8ad10285313bb71e68f59b4b27d77f62fe97828483e9fb5f95d971540e0aea13e6c3890359ead14c5e7e4f55d95d5085c6132e577e83df114b23f32211f50917e11fb2cae2b0d7fe96290b526ae8a1cbe7a981ed35c6adf0eacf86d29a422067f1f6355bf246e534c36c227f10ecae00567a0fc41def3c1057f38e3079e41f04c309cf04887b690e736e7f19869ce12f65b - -COUNT=32 -L = 2400 -KI = 3441b2735f4eae2a0e33a1f6688afe3bc9d1375a83115ea2 -IVlen = 128 -IV = a9c56cc08dc3abaf5dea899f25599181 -FixedInputDataByteLen = 51 -FixedInputData = a1606ad03e4aaa47eb6279ca1c9b93fb4faf3f27dc936133dbe7ed2ebb8451c794ba8d89f47284e0c681fc39d3fe63acb8772b -KO = 68681a6935d99cf933245c9fcf557e66a8aa4d576838afc2b48a263a43e8a5c9b12851d7437f00ec3eee4f4475b6881889f5b043feefd1b12f89a951fa13ab49e9859d24051c986a32a9b48b2a566e6d0c8afd10ba10768611a3ea272e481becf5eb333a86bdcdbaeea0bd0e19c4b7e4046c30ff51fc1c52830e31a2f1307f9f140efe0864b66a879bd2a46f5b4d5919cbbd19ffa9bb2be7ec33d0384d177dd62a7ffc92dfd47ec1c5a7c586219989ca2d2efd6ed46d4c375af89a10ea6558c9596e5592bfda13ae1b016431e8c696104595c2e4d39eb0459adbd632cd73452a133cdd544aa066a7b6befcf4a6a89c57ee5325ebc10f73bb2a9722645788e2a8ef180a5f0853e8070abe060bb4fac995458ff857ead92528f0960a03ff7c5f493295c443e83d2f48d7ec23a3 - -COUNT=33 -L = 2400 -KI = f917b3172f734bf1dcd8d0fabbb87c81270d258daa7670a2 -IVlen = 128 -IV = 1080be7e073b8a889d80c70e3eab165c -FixedInputDataByteLen = 51 -FixedInputData = 500c9efbb838e7201503567b2ca25a5a8364c9578c3842063c3fe97996b6a101d11bd9bf482a6ce18ff036e16fe9b0fdc9f694 -KO = cb0ee8393f1658259343e41eb5b542dbbc5bf4a3f7bb75122097bf9a133b00b17e298553ec267fbe1e5b093ccae65216797b36a410536fc86e50392cc38c100a42f56dade1155e5289cfb45bd5348fbbb11238680737a60d5329dc6a0cba7e229c72b222a5b2adbb3e22a3542ab5f197fd1c53bdadd39d23b67b4d226524957e2f3624fea461bc8d1d3c15aac186e289d95f8adfe7d04c52247fc749b0db5b6cc93870a37af56217baa8356e8b54b67da611bd7a6a289280a32be955eff21d4eaa7ef2cfd58fc3cbd6d9e91eddf6931ff22c0e70a0b9b0d66100cf13a0050b8c440930bdf4fe578df63d2f8dfe3cf55161bcd3be8c0015ed71a1ce113a3d0f8e639c0c0821b08b796daa6e9c987bb4683e0309285c07a97b415a42195e7772803651d3ac77792350215ec44f - -COUNT=34 -L = 2400 -KI = a2656b0228cf81b59f9accfa7f324c667d988f4c8a08486b -IVlen = 128 -IV = 4038742ec7ef4ffe7dad9bee2da0a380 -FixedInputDataByteLen = 51 -FixedInputData = d15b86bf2964623e195615dce443ff88d1e4028f69ec8cf6851ab00f2a98c85de9b66ce46e2c042d202123b5f89c665c1843e2 -KO = ccde9281d1d782d2c943864e86ad53c2476dd261e1be6610f07a8cee31dd8494dd92c9476f7663c40578f07d1ed3e3d5d2e1531cb9311cc4eb9ee114800cf6e846e3b23586b292a4c169a3c08be7d183bf333132f71bf62ff0bd1374671789fb28f39bd21a60ce2cb0adf6277ec884293cfb352fb5a0bb12a8bff92a508f470d7d11128b1fc16feb98a0e58702d2b4209dbcf83a2b769b684069addf2e5428644b423670856ba2f7034af52a984f35a74c0e493be15234127be7f50cba9d920bea446d7540ae4022380a7a70dd76407d1871b7a053ef606893fb646b611caa07d2b50114138b4ed9ceb77a687b34eab04560db7d46b349fcc3382332044af70d58217e1783b6c2431c81963c2911a23d35831a8101002ea96ac26bd01e28cca57b149c5c0c42ad70011e0c19 - -COUNT=35 -L = 2400 -KI = 7f9876d7f8ea9c8349e2b6740050eea420a2f9ee879faf37 -IVlen = 128 -IV = b5fde70b1fb25cfbefa8e476e2ac069d -FixedInputDataByteLen = 51 -FixedInputData = b49d9e216b0e2776872c3bafc002dc5f8f6b1c12adda487a8c1d9da6b4c411bbc54eecf0f61254afee9ba78605bb388f1906de -KO = 2f85741cc636b0e8bbdb274ff140b878635570069384bcaa627d7560085916c44cb92506d1c67aaa095e132d1d02abe4190e7985b90542cdac85d6191d070791cd8571bbf2973dafce4b98f81a49e8f42486140f6d69394b523f9d2977284ed42e45d6ba723b1a7d14bfdb5fb6b6fbbbb793a6ae80ba8993ad916b10ca88939b39738417810a738533b3dd73a432a101da911caa1ef7d29c4f7f974b4fa22e4c9c4d524e87b2f65a276186aaf22fb883da240ffd10d29b819c3daa5740b12ab64ab1f2d60d04eecc83c01d3c40ca8fe644debc39a4d8c1c241842da4ed8bc20fefc5f97ca45ae70f635d1d41363c75a2126775c4db169c85d2177f55249a248aadecc067aa79f227d83cb88bbb834d168df1ea7a8a67e63c2d995d11308605b3daef8b78a407733c787dcbbb - -COUNT=36 -L = 2400 -KI = 226331144e084f543fd945b8da395eb06a0bc0d352b9ef5c -IVlen = 128 -IV = c2ccf4335c8e8640fb3a3b53beeec180 -FixedInputDataByteLen = 51 -FixedInputData = 7e8faefa541aa5bfd7fa9c18d41894f74378662bb2b5277f637143edb6134120a7064940eed5303bf93f824506ec7a847b9415 -KO = 2b2768f053df4e55a593f31e4e8dd655d9de0b54c5334ce19ad9a6664c2c913e4849af340ab7abef5e026ad1bf536a166ee2fee91645e31b4a59a81b050da162c611642f0baf58fb8e5b17dc68e83fd8280c19c0210f42b249b9723777da6929f0ac5d35fceea6c48c768652dd2b574ba20fae05a8385cb53f081d6eb1ac81dfa8489270cccc0069aafb8b7c52b866994e49aabfd10cdf05304ffa5614d3f422eb4ecdfc0f4b0d334550fa437ffb6db11f9b8684dd91f1a2e84eb0b3feb65946bc2d7b3bea95a58770b815749fc0c2cc074377127dbe42516e4146aab2019b3fd594ed704a295361875035c97e4bbfe5a18d8b152465f4f3d28f156afec927da9ee17ab0dfeb3ef8a8daadf4b22895b74c71812ca12a4b6d22e461332bb6865232cf83914596fecf29769c85 - -COUNT=37 -L = 2400 -KI = 0187de5f46b1e9ce5959f276a019a2aae01fa8fac7fb919d -IVlen = 128 -IV = 3fb56db37b56875c06fc3cfcce4253f2 -FixedInputDataByteLen = 51 -FixedInputData = f1faa58b426812609108b287d1883be109b4c4379c7b89be4c22b7a3823d991c47214d5eef0ab3b5db32c205b4fb3b65a0d334 -KO = f1e1df090fbaff447243155a5cd3604f6dcc2628e72b4fee2a2ff814ef861b97bb79bf0c243c33fbe5582183de79c77f0828ef4be9db4b1489dc4b6f0838181cb9146198dbb677197c2d1da2a792d11ecd44b8f92f85590d4511b33182887d5c7526ae38856caa284d01ab570ce4bc271a354bc58024761b0c52c9d6ff691a833935090cf53fa435661f47363eb1e05b89215b22e5dc006d7f258d0b008b004bbedb9160b5900dd9440cd959eef163959bfc40f06428f1bc8bde37678c48826c0680f81796c91be39a1c44a5d789c622232a0dc9d6be7579c2065b43ac13853fdf482173a430db95ad268d82f0044335b059b7a04aa6517d7e77ee8954de77cee0cd8e26439119fb0271e9fe930a213506dc47534f2b7ec6e45c1bcae9db5ffec7633b4ce8287f620427c219 - -COUNT=38 -L = 2400 -KI = 5769b6a2e7cdc7cafed7a9485199dbbaa8ba9a11fa4af826 -IVlen = 128 -IV = 76fa1d815d46fa6303403a13931eb7ce -FixedInputDataByteLen = 51 -FixedInputData = a3c0fbb9640bbc870cd6a2e76668e38a11acd1f0efef32a79a73467439a53d123d8c21304fd2675b3823812e4a83b5bbdf3ac9 -KO = 11d12b8ddb4147e95a988b46116274a50fe250d1d5b802c1d2d9726096190e0b0698b4a765ecae8c2f4a9b2eb7369fe61f1ca6c5fa72f880bad14a1d65f32c53aa538f52df1d6c6029f7c3f06c78a4b8d250dc6a109557ec9f23d110f3d24fad7a1a2d74f53f6c31ebbca33afc14acbcce948cd3b0428a86b3d990d08ff03941fbd38a512ddca854cb35e49392355073da71c2e52a325dcbb989d12ff4e6c87a2e59d9749124386dc7421dd2d04bce2a2cccd29296eb552cc855d3f775f554354a852babfa90ec2b4d674c881704ac2913a32c17188b894ca63744bc5fa211d6a5160b3526be6c6ca590200a5168797e0accc83f6ed324a6c9de0fc9054c3e2e8ad0023a0e9abc4d59177561f125f7c0982aee7a90bc173e6abb7f7200ae0b5984208a08ff2cf6877a47b8ac - -COUNT=39 -L = 2400 -KI = 10dc643aaff437eaddff75d419077b3292c4c552d7ce4058 -IVlen = 128 -IV = afc471f8e2b6acf9d4b92c14e4b5532a -FixedInputDataByteLen = 51 -FixedInputData = dd9bee2557e2f4f3f6304590074a383fe55f2e7e509cffadb2f4944e1ffae02af1158d46126b93eb76e8cadeee5da8a7979fb6 -KO = cbc4a0ce86960917aeedaa7d059b397ab6169b6596884066e0ec9f630ebda2fc8e8c9936deed368773167d1f7ca14833c98d5a165be4d25560dfb4443cf7f4e67c912223e225dc11f6cfe4f79de5a39006791a6a8126a50e6fa7fab40c1a6e2157914a1261f76d8f1919e85d03b0f663d361f41be87738b432a91858062b56dff3ae4cc13c7a60f99cfcbbf36c2497cfb2a9873f85087abad8007d6ae520cbc2df238529d72b273b707717e4c1c93d5103b7b6fcaa497552325c9ab0aa0da3769cd1a8803c6e889e5c4ef11278ab76396faa4fadd87bf82be5095f32964c01e7564b181e2e0a0f3b142461da57951eecd944424113d0bacb3401f8ae13068f7cc4207399a0369d4e5f48e130c81662932be4a08abf7d17d1a4ce44ec77a818d3f1739da8349dbe509a7f7a3e - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a50bff8e0cba2aea5199ea7a7d1e16ccf7a64a9c84cfda64 -IVlen = 128 -IV = de26c9cd261111f9c73f34b201d17001 -FixedInputDataByteLen = 51 -FixedInputData = 8c7e1f6c6d0ba79c175d3e07f1e5460de49f9739f5b12ef6366855f426d8624b4f3b3ec48d5f40e761cbe2f34c0f6978e2feb6 -KO = 1cdf7ac215445e5e411f8126ae0b06840cb6455c821c77288819b1bb685c121bfe3a065f294f81c2b7f0777bf0df3e434edd926a6246f9c9031c7708f210e338 - -COUNT=1 -L = 512 -KI = 821945e1fb35536d5eb4f748f158bc1fe7c2670c6a552692 -IVlen = 128 -IV = fb8163228ae0030e6755b33179c31236 -FixedInputDataByteLen = 51 -FixedInputData = dff9ca235fac6413fbe7df5da31f748bdb5b9f20e6165ade4dec9bbaddaf3e6f4b0815c8d7d004bda49c6693cc41981462a03c -KO = b5f60127f5b8406cf76c0df734a270e2faa8b78d16d49edff2f69c48dfbcd1cbfd06fd169f86fc0cc21aab798aa2a4588d86ff7fde320843b0efe5e2cc78d57c - -COUNT=2 -L = 512 -KI = 424d11c1cad1ec41e27571a9582f4ad9707fff001dcff580 -IVlen = 128 -IV = b15fe56e98b2f7760f72eb0e3e98a8bf -FixedInputDataByteLen = 51 -FixedInputData = b93ada520f86c9e58ea82720eda53721c5a42971599db3ba8be4c71c3fa8cbb1b8299e45a1a7ae1f62f5f8ce676f9b7d0e4bdc -KO = bd98d4daaf0824fdff97b87504f37fde45187f7e6ebe329928dcf246cffa3bb25ee94ffdd360c8e6a798cb2a3e74d22ca236c3e327ed4d8874d743c78a86af1d - -COUNT=3 -L = 512 -KI = e83baabeafa53adb21270127d09c6f2c26c87311d2f5ebf7 -IVlen = 128 -IV = 10935975330417e0100f2c2cd7282837 -FixedInputDataByteLen = 51 -FixedInputData = 95c21a7a273b27cd0a4b48ab9d14105a1f490dcc891fa51c82bb4ac59a2db1b3627f9b2b644d07460c8dd0e73b7a271e308a33 -KO = f17caf92c22ccde862bf7a62b3ae733ee706de0e95e48e3e2ebe43667ed166758a5acbc9243a0e470fca091d57985769606c20492903b152e61dfc7385ba1d9f - -COUNT=4 -L = 512 -KI = a2e5a5c7807796e4289dcb46f443f3effd657d59f40428e2 -IVlen = 128 -IV = 962b872b301768509623671699cfdc37 -FixedInputDataByteLen = 51 -FixedInputData = d32a24daaa4bb996b70f9a4e925af8fac3a82cfa6b8fbe1bcb7b162d08afca1a6bac0cb8906874cfc7362f200a0e1e21a0fdfd -KO = aa693cb49769aa08e2a64d55bc2de5051e1af33c35b65c71f8b9354fc167ba098909ecae8c9b2603819ae2734a7a35a3270b354369110730d4e5ba96380b2e45 - -COUNT=5 -L = 512 -KI = 92bb63bf409ec2c7a76f9991cea47637bc4958710116b458 -IVlen = 128 -IV = 813f4cb55522f43a1e003e99f202cf26 -FixedInputDataByteLen = 51 -FixedInputData = 1e80bbb0b4fe01f70a4078293cc3438547da6468a4cdbb75f709275069f2ebecc9aa13d4890d753d5baa54c594d66d574dded2 -KO = 8c0062b3359a25e729a9b66693166bc5028569ddb49498eb0c39eb7cef4cf1983a8740ad4c539b95abc9a4e0c1ef5eb577c663feb1822d28a4f90bb434ca84d7 - -COUNT=6 -L = 512 -KI = c9592056031798c4b55a770b0dd568d83de894210cd19d9c -IVlen = 128 -IV = 08b0025a66c2c13f3b95cc57b19f40d3 -FixedInputDataByteLen = 51 -FixedInputData = bb652bf698a0c11a10d783c0cc579c7ade508e5de554e00a770440a078c441dbd711c3f24799e44ac6ea460810c3fa49b03de4 -KO = cfe9f1c80b0d7f0909e32fd9cb21e9c2d4ba0a998ec7d35ecb6110e20c8976aa410d091810440b4cba00cfc5e53396420eb8b5d1caa877fcc1b704e0ba1968e5 - -COUNT=7 -L = 512 -KI = 6b644441d97e480d7815ce922a26a2cc3f872a92517e8f6b -IVlen = 128 -IV = 04acbd7c334db8d84eb8d3dec508daf8 -FixedInputDataByteLen = 51 -FixedInputData = f8e4b488b8056e425496c6091d0fda0b102a84c72c512af542a9ede9926dfc7f2df3e925655611bdd4243b34dc1093e824bba0 -KO = 5f98822b9aac852c62ff9b36ccc407cb256c60fd0ac2a0abfe2e6ebfd3ba5d29e487845b6821f10ad946c4cf0903a5b3f85989adfbe395c1b1d9b50c44c840b4 - -COUNT=8 -L = 512 -KI = 034047cd55fd24434b844ee2763adda341209b84203098d9 -IVlen = 128 -IV = 726bc3597948c9eec1f5624d0024257f -FixedInputDataByteLen = 51 -FixedInputData = 08e10ffdc889218dbb15c90fc34e4cd7ae910bea9126003389e67fef6fd7151d7a1ba629fb13ec8d187a897c5cb208452a8716 -KO = 758c18fd99d8d80431b218b94800bd8ff903bcadaf4f828c8b74f8c48d1fa1b3a05a3dcd22f32348f39913b91d41a53e430e1cd2456a100ec6c00228dd1321be - -COUNT=9 -L = 512 -KI = 81fb020616049108e3089c1033f720ef99b9bd2f92052476 -IVlen = 128 -IV = 484b79b989cfc3b0c811fd7d6128df0a -FixedInputDataByteLen = 51 -FixedInputData = 756b5835a4c808ba05d217792e6f8aba27b6358e45f0d45ebdc97a6964483b09dcaa9f53b3b19c8509ea8dc34ed9bd448c0d87 -KO = 6ac5827aafcee4137082270d0f769e593742129a5e01679fb2b320c27819879cd1244511db9e92c179700fde321013938830ed42155560dcf03fb02879a1ef1b - -COUNT=10 -L = 2048 -KI = 81dd98ec4288a71bcabfc4cdfd2698988c8ecabf71bc7941 -IVlen = 128 -IV = 3fb6c759344509ccd642a3cc4d0aa520 -FixedInputDataByteLen = 51 -FixedInputData = 75cc07e742be498ccb263756db7b66ab1dbbdf24cddd16b5ff3208c08e8db209a81595c918bee112097963ca1091d85984e27e -KO = 68018ed5b6667e8ca3afe8fec5147075626f60649f63b5de79c7d4cb334ee5c72db9920cae697200b3b0a17d3b6e1fec94d34593e271c9fb4e5365451e1516e5da8267c158e273ceedcfa03bb8414986799a482003f5337ec5ab841eafcb7590be08deda319d0f4822f15127ea4e6c69fe044749a0077447dd905079182e4ac85729a844ce8a361c3af9c51751b77562c616c40e078df2f007e7f3f0780ab7c1a0cc78abfd523d3c81722ef29c8a352b4bf88e6e3fadebf716400d1b47b9e4775de2677b1ec9c6814a0619a4f678496574cf39cd0b281253a539f5b78a1b9ef0887519f51333f63c301e2bd70ef01ee34f65b1a40bcea835ad0adbed39556d77 - -COUNT=11 -L = 2048 -KI = 87bd53a3f6ebffca7660cd3b7ad23442961fd1c6309820d8 -IVlen = 128 -IV = d833af484ba8b51de4cbf5d61f885c5a -FixedInputDataByteLen = 51 -FixedInputData = 525158d7834d94be0479304ab9734f4435f452b92d40aa0f8f652e01b3ece2cb39c78cb6eb54f979dc74f49fd9e598829db47e -KO = 7b724e5c9d0fc5a26904136d062f5a9cf92c744e4c8f7c2f3e8f76619ba629dc3171a9628c0618ac8e78c2a8851e972e097a22126d0829962f335ce92268a484f92307df2ac7a17b82be68d721902ed2c6c32dbf094558f4b600494288cd5ec6fb29ea9e0fe7c1a50d166de27bed1604313873e5aae7c6b3c1b16cb4fd5f0413ed4dabe7097eee41632276f42525fc217f7eba370ce16acf17302f2cd11405fe62259e991adb5696fe57dc8896d9c9483a3ab0b61829150b15ed139f3674297d265106b87a5616ddf1eb3c1d1f91ecfe2eda53565da1a84d54258072a4011d3fe113c95c88de3b2684734362656549c44c99d0cbec5348623c3adf9ff5407e8c - -COUNT=12 -L = 2048 -KI = 2295fb886c868b093e434f90f63efc6fb8cda1d4f6599c87 -IVlen = 128 -IV = 623a56e75be3737282f6e92c0e2bfc48 -FixedInputDataByteLen = 51 -FixedInputData = bb9434abed88ac0ec5ccbba8584fc44e75d12847bbe29b567d4b01c532cb33303c4a4254fe5321dd5962ea94917d6ddc447ca5 -KO = bcd7d18049ad5ee7aabb921414927798086b6f9e0aa3dffe67495c9aab9160ba430bc38280d87f4fe9f7eb93cb40634b72d527a058d0305a78843e0290b255b0cdf2d689c6b8c0720e1d2be322f0eebfc8f306607654b57373a279e57d30d2e5edb4e1cda6c8710631ac118204b664152670ada7fe9183072584e29d4c8c80d6d0fa375c5a3d77948fbe4e73a509f71bed207b5e5fc07979acae07f059bd0737fd770c16ac2e44aaed3e75ee1755f5cb57a8fc6abac9902369697f611fa578307141010577aa0524b2543cb4976c0e8c5c82c903c44b9f960ab2c52e32bdd4be54ed10ee7e33679fe128a5b7a1962cdfd2a5ada25bd0b99bd12d5f6886065f0d - -COUNT=13 -L = 2048 -KI = 59fd389e7018681863253876d6b9b59e6cd1ddb6b193dc0d -IVlen = 128 -IV = 68d360d25c2d107464bc673b1f7f930f -FixedInputDataByteLen = 51 -FixedInputData = 802821a03892bdefdeb8698a9f3f595a805d536e98a67a7791a4d5f111ba2a77a91d3aaad19fe91ba050216d1b735aec55e1b0 -KO = a1db4394e1fd831663e58e2dd5eba70af00fb640625f87948119408fe58e88c6d6fe0dd1efa78beaae979401cdda2044689121aa67f20d8674c5d5b1fa05c6cd13b2b3ea9ce060207e200a4108e108e7265b85a0d1bfd53620678fca308709c6045487320a87510f89a3ced95ce9fce259a1cf89cb2cb6878a5a51b52c951de002623d9a8bfa8909f0c786f62eee5674c5cd9d089d97c3eefdfb56f7dba71b3b88b8b3ace996eefa9b4d30d8e63ca88ff8c829d84efcb41169a58cc40a2184d9a1f4c6ba88dd544be0f556ae0b3e9ed875b73c01ef767a5c17b7528992b1a7316e8bbdb898a77d39493b5b032d43f261770b77dfe3022dfc5a55e9f8141358df - -COUNT=14 -L = 2048 -KI = bfe629554afd587d4222fd21b6868a6bac396e22b0517fb3 -IVlen = 128 -IV = 6830d1ecfa729fe86bfb45f46f26c5b7 -FixedInputDataByteLen = 51 -FixedInputData = b91f91ec9c8d279938bb4c345b0b9ad457aba1f80d6944c324b23d7f7716470cabb19318c7f573ee5fa27def1aa64c1e2735c5 -KO = 17f0561edf190f15cb606297f069b57591c584a03ce1d6a199ad8b330d47968f1e2b66e7878a3be9a877c4420f78963eb8f53ac06d878cfe4326c98561dec9811b16273fe1e25cef4d4ead8924fb13521efb7115a705d71c0d9078dec2a70932eb062b6ec9bebd88ec4af2c31907846c63c8700e5b56aa1ded94c3b76aae8994a89aa791eff6b1225c239aad77a9057c30ff459840e6418ef352d64dfe2d9ff992ec176d84817d650385985b23d652984e6a167e7bcdbc09338efc35bca0a8ced0874de2e98f41d7707bc60e17a09275ed3b6d47a3b873c0235d5b02b6614012b95b4398a6c20c4c278b526b7e711181c6496a9fa47d66d8747f87ea77e5c055 - -COUNT=15 -L = 2048 -KI = 2dcf23876984f76f11219d07a66b2017976a583c14ec1e29 -IVlen = 128 -IV = e0bb95e94d42f3fbf0ff3070b3ea7b03 -FixedInputDataByteLen = 51 -FixedInputData = c6725f21a6d06665826745f9ac80576bd1fe882665f76383e3ab650411848de435562ccf0a36d7a8125517e9325993bd438b5c -KO = f4677aaa15651d5209f2492f256a428001f655ffc4a6989c6dcc83b41d18193aeba484d765ba6cd7c92224f81c58c96c5f15e8fc7308236050159ce95ff9965c1fd9f6a64465a81ca89440ee9bec5ba38b9584ef8f230d7914f4d87641c17fa3644771e73267c2c482b7338be2abcdb5e3b0f8fee0ea40a02f4f7e1f28faa8d97b4e1f63d0915ce7406d471f9544175cffb06b523df68fc9269dfad197010938416596aee72befb8d172613f204e16a4fb7c7206609dcae86627f42d0831a6dc02b9920c097190ee5f5517c9d5fdc048bb420b9575b267fe28c20d541fca5367f4e7183ac670d7591a68a060fa9e71d3c59395fae300b78068e5b7c6ba5e16a9 - -COUNT=16 -L = 2048 -KI = f447d0c67d86d3388b38a4b689bff7edfaf36dc69f3a815f -IVlen = 128 -IV = 594cfc10ec4e759b4e8227ba88b218cf -FixedInputDataByteLen = 51 -FixedInputData = 40474c19477e7ea832f48def18e6c186278e24874ea44d084c5d4c20c968040a88d261178c9ecdf7450bfc2b3eba7f0d6093e7 -KO = 75eec505ce079bf9ac406f9bee28bbad4b039b85a81d3fe02e22f6019ffb01a3a8a96eba1c98ec72e7c8f99621c0037baade0894ae76f9b6a8b3efbe58b94f4a0da5ec813be770a11933fcd186488b2ce80ff62036ed52b75d22833d9547fb0d7776d44aaa5b927d60b8087cdd12b3448c68b1f0face2ca112778202df7763d16c68e303c28e2c8be3b65ca6fb8fdd5e4a9604e0c5b8c26ae4f2ad4951884aadb68600074eeeebe31ad62c262eb6582dfb3f9ab305ad2e76f0f58f4909c1f57f0a7d8455daa52aa8c4d7d9ee8f9b948a351061495b1b7ef91c7bc63e7f3505af84fa6db449b009e04e1f8567ea772984964ebc4802010b7c230b671acf58a38c - -COUNT=17 -L = 2048 -KI = a07be76d8e2adf15b183dbcdae0ccb7abae3d686eec3c01a -IVlen = 128 -IV = 358811d19596b621f4baae9828dea10b -FixedInputDataByteLen = 51 -FixedInputData = c522c8add068ebdcfb7465a33c6db9423248734513b3ecfddb29720cbcc7f979d35593c72796d11216acffcec50c7c1f6877fc -KO = 90e10d909886e76e9f73a1b79bc8654d0d4ac71813a65bd3bd00933189dbb1abcac67153c382cd48f7aafe88d49c6f3a0030c3c29d9de7a06a030e62bd25c0453f05c8a7b2782995e1a83f6bb879fc3713b4945f026a7bfcb9a5fc556fc43c3797e00e0b2f0515829d2f393c9e2d6cccd8459eaf5caa0d9a4261bcf3c87f2f6315770449c7c74f6dc17c63d9cbc709e21007751b4fab8aa1e18913fadaecff005f635c86928f48207907ee2fadc12f6d45b96261c52e709ad06eab6c81fe32971d23c6a346be60a547bbea1c3d0153cb5985773a226140b82b2426b34fdefa6d5e3e9ebed5798c1a51c0eab47d4758c17e821cbca240b0055e10b7ff4c91a764 - -COUNT=18 -L = 2048 -KI = 458a5851f8e9dab25ec5594c29448f91599e379a79543797 -IVlen = 128 -IV = 63e2b59e8d7b248034385e06390bc06b -FixedInputDataByteLen = 51 -FixedInputData = 3c61d81411dc1b2d4bde827b3af8e489373920755eae17dc7b21b9629426207d7e6bcc98be392e63470f51b751b647822b15b2 -KO = 22dcd21904a9256fa62c332bb36f21afe689f3bd7b394fd8090a091e0ed7de4cda5f50c9af4b513092675270d934bb2a3b02a4b9578bf22268dee67c439ea0a7a52b91f8dca65db8559eaef603b30ceb1de7546fa1fe8d181ee31d7647d814fd46993f94a4cf3aeded8fb2fdddf7bd3958e2cb4bbcb652418114978deb36b9dacef573318a97d984f2904c9fcda8cc90af890549e7c5a382a4de1ac74699d763eb5d81ffbaed30ac378234f9b043324e599ebdf624012ab968ed9c247fead88a96459721409c18d7dbeaed12eb8dc1360c01d1deb68d66d570afc6c235138ed7ab86af782ffec877b987f70d48b8d66c2eb88f75f01f9f3d7c353519e58caaa0 - -COUNT=19 -L = 2048 -KI = d5edef4f922d4bb845300263462ba30499e8aeb36b5092c4 -IVlen = 128 -IV = b2310bac4f5d9cd34dac736fe01fbebd -FixedInputDataByteLen = 51 -FixedInputData = b0cdf705547dfc7a24c7945b4b627da50332c30fb73fd68c771ad668ed594b0a5176e91bd38a860ffb52cd90cec0610f0c7b9c -KO = 12287ced5335daf45a070fc487baac36fbe025764ce5d84dec1b55e21c030b160e988a9aae101a093edab68556912f0e757e76c2997ba1a53feb6217392e212bd4f964ea79115c77e79b5fe3466ad9649207f18930e50cdfc78fe76a651e27adb44e8b1aee8a8a072f39c459b11efa273d67f5c4302be08a857fadec38ca393291d030d44865a39517145d54306478fc53686f8dbf0948efcca0d56bc0f41ba64884c78087a1b8a6efcff38f426f6caf2ac5806ae797c569105e65418ed7bcb6b45a7c67dfcb1d7ed17c8929c482ee2b8577a5f37dc32011cd8f4ee908ec190fe3e88857d9ec677522317e7469c016460600fd199563fbac906082b8ca09e66f - -COUNT=20 -L = 560 -KI = 9ac0a9d1d67c04fb3f180c42133b0c189cd9d4437450217d -IVlen = 128 -IV = 91e070545632d35ea090c7fb444c7312 -FixedInputDataByteLen = 51 -FixedInputData = 037ba14af7ef47868506a0b41d796b728ee1b6c154d83fd4edfb736d6e0c5ace86ee8a9526f1fbc3ae3c78939d1ab67ee9a3fd -KO = 147b42f1ff0bdce6c2f3fca4dc426dcacac9fdafb3a36379fd0058ae3942d41028c01b6c4a4cc5fc94ddb395d6e0989ff042d49801211e09b1efdebf2a9ab8fc906b41dc9208 - -COUNT=21 -L = 560 -KI = b58103384805ffcb98c5f2fb2a72f4830e60496282cc6ece -IVlen = 128 -IV = bcbd5093f38c8b2b7a986a2d63542097 -FixedInputDataByteLen = 51 -FixedInputData = 1a3ab5c82c105a453ac322b8ea94926af8a9bd4aee46e582539f4b5fa6a925fd95f8255202b8927a451fa939443766b0687ddd -KO = 8c7f4a4de3728ec5cfd9f954c56891052aaf1ce6cbc6f584a9f5d134c215efb1d44b4b75e0e5d3e576e433806e44d011b8d811ea19063b49f15e6a7ab2ff99e1c8e2a6c32aa5 - -COUNT=22 -L = 560 -KI = b1541271d3178a4a1de95d1cfebeee8d5461d18d67aa5b55 -IVlen = 128 -IV = b1c77d10ab5f85a35eac84dd69b9ce59 -FixedInputDataByteLen = 51 -FixedInputData = 82762477de9288cb3d740cfc972d2ae720d30807fbd667f0a0144ce6a9e944f4f54c6721800bad0eabcdad5224a5dba69d6a57 -KO = 98390c2cfc9e41ea54f0cd23073d431ce1c4a22e7de6823e9526a05d3a6c89b982bb9bbbac11e4fea64e8a59ef32a1a3075d40d779634268ebc9c5d0543c99475fe7932d2d50 - -COUNT=23 -L = 560 -KI = 17b2fa33f19b03099f674a8f7da330929785d41ef6907b85 -IVlen = 128 -IV = 68bbd213d1b0ed49b718cddd6df44b0f -FixedInputDataByteLen = 51 -FixedInputData = 96c3375bea0cd9cdc61149540868a4fc3043ba025a3074f64cd455b54bf4dba269b1bab9b7ab67534b353fd7d301ee30e5f789 -KO = ad5fbe4cd87c17d54df8578ccb5fdbce3a9ed97879b2339071fa155c904fc3f5e4d660a8ebf6e0ea36849b227694105a2e6a78bbc3403f2ff3fb93582bcc504a3736c8ed889a - -COUNT=24 -L = 560 -KI = e5cd443f8167796e8016b401eb671165f99207a51c244c9f -IVlen = 128 -IV = 938bfa54bb76ca0f1f84ee78d413ba07 -FixedInputDataByteLen = 51 -FixedInputData = e690cd5aa0f05c6bbf15ee98e2513a1b7581ef48f940b94a9fefd715202d17b6f2c8f277a3b0eba23765d94e3bc0029eaced0d -KO = 2854b193c64126a7cb31a054d15f722dcff3d52da12a25faadd422fcd409a2452ee3b11b7cc6651e5e5c939c2802aa20b7e3f2a072bdeffd76ecb969407d3aa2142b3dba8206 - -COUNT=25 -L = 560 -KI = f3b8b472fb2d9ef80cb20e67de7288a09bf32cb2b38ed2da -IVlen = 128 -IV = 1270aff0d0c255686e8bf2fbda640e14 -FixedInputDataByteLen = 51 -FixedInputData = 57fec96a2724d0adbd7d22d606e47e9f1ac5f54c7f731edc5a3a5fe6582ad4ff5a7bc48d170548682fd9bc28c5a93d92531347 -KO = 4a15349835932c46ebd3934bbfb83a04a22b3b3312ee555fe810c64e4c43df6a97e017faed6d6e80e7359ed79ea3425293c64111900d60386f232bd8c76afcb82d8f7461ef36 - -COUNT=26 -L = 560 -KI = 3cdf4a87d9301852b5c12dae227db7bb256efe1f4281d345 -IVlen = 128 -IV = ce4735e1d2527685b291b53a12471772 -FixedInputDataByteLen = 51 -FixedInputData = e4fb51f09ddd5ea2750978c00891ed31f349ac65cdaca9117e920579f7eab5a62bd5aed2a99da46db01cb23d0f642ecc22742a -KO = 35d38f7fc188b22741f3fee2c1f8a8e4976c2a9a9cf050868d5f4a8586b4a98a26d3a1e7b49967b9702becae61250779832731722ac9977e40ad0d7917668c1581f45cdf2744 - -COUNT=27 -L = 560 -KI = 33fed7e0be82d8cede2e6cbfb88a881d43421e40f0b5edea -IVlen = 128 -IV = 1399ff5aa3f4445e45b16406d4ba0b3f -FixedInputDataByteLen = 51 -FixedInputData = b9f328d8a2e180a17de1e1acd87ab940661a79a867cf545662f12836b07310eb3b84417bf0abddc59992f14906b15700e3e39a -KO = cb6237d4928b9ee7a41568cd4bb8c7efafc0b097f0ab730fd7c896050c901b314d6a873ce9db4eb8c6944547a567df18abb0742b4c3fca1a41e3d369ee987b28421cb439d11c - -COUNT=28 -L = 560 -KI = 31d0cf883f8230fe6cc4c58685dc6e48262b22df1ce75133 -IVlen = 128 -IV = 69ccea958397536a7c29602fd734b231 -FixedInputDataByteLen = 51 -FixedInputData = 452c8252af63952638f908005d779c49bb55b04cf77be7ad9ff54f1730757499e6a107c138c247c225767029838862489dcb12 -KO = 4c13aedd55baaddf67cdc19afdb2b6c06cc94e89476a2ea1499ae4ccda8e5971585d7a9f66cad4fda1375775c5c69fda113e914532ab235a90333cb48dcb87bdbb8e598ebd90 - -COUNT=29 -L = 560 -KI = 32789ab777bed097fa312c20526f9fce0d07fe7be652d761 -IVlen = 128 -IV = a46d273c3039ec1ac7cbb6b597912540 -FixedInputDataByteLen = 51 -FixedInputData = 85b2a235f6b382c9848bbbd194e5cbe4e95267f230db5bdf852123cf7bca1d1ce87184646424b8ab63c47e8f2637fbf55d5809 -KO = b7b753c011f50f474436010d70b3a1bf801ece6810fced80c247717886c8a4da2525d00d0521f268db1fd62433d70d00bbb3010c6e6aa7da5fbb58b01f15b578910652b82014 - -COUNT=30 -L = 2400 -KI = 2211a2fefcbf36f7dc06cb021232c4faa0d5b6c9eb1bab51 -IVlen = 128 -IV = 0a8caac70c8ecfa4a4e2f48086aa4ab0 -FixedInputDataByteLen = 51 -FixedInputData = 1569be838f753046db1aed2c59c9269516cdffb02d628e82b898f96bcb9c627e0fe84b7b9e9182d4ef17501d9e1d9b7ff6de82 -KO = b403afbaeea8affc63db42bb62f22fc6987342048cd17f98f6deca7ee44bfd9d4b946fc751b996643bd970a8c99cecfdbb369b30e6dd9de5026c30a7cfa9ebb0967129cef6abe2e3f7b1b7aa7e8d4a29dcfc1b9fe762dd9eb1059c0df6eb5779d95219cdbb8d77eb306928e44225bc5a1758fa6bf82128292eda7d42acbd7f5ba63cca7f3d3b3247b91e8e6c6df3fc18884e995c0dae09cc3319801b361224bd68273bd0bc70aa4e78cffcf4d3472d3362414ee7700132e8834be9a712943aa7d4bfdf27ad1ac15cac927ad8c8d891ac627bfdbb72f43b92d67946bd22dd2f8bf6f81cc14d5ac308bfe4f82f9b1541c0b740a46c344cfdd4004a4c706ca8490d51d98b7a3d768932c89f57c20c5fe990f24942ba9574dfb43268237decd830e11e68d50bacb6525d346f635a - -COUNT=31 -L = 2400 -KI = 92ee599018ff66719af38108f127b52d92ed34b3fa968060 -IVlen = 128 -IV = 8f01b4b9e43eb8508665c192caf1519d -FixedInputDataByteLen = 51 -FixedInputData = 4ae65947af6a43812d524c0afce5070b5be7430e36e05dcfba221442f0864c484a4d9de984f576e46c0e3667f8d5b97016bff8 -KO = 1ed49f95443abb392552c7c6c0881e5ee4f5fe404ff35c8cfb6f857fbacb00e4b08da6aeac6c0d01133ec8fcfb77ad52e23c39c7c19a60555cd4c516c740acb5a29470cdb2d7eb94a8caba5aad68e0666c3351dd89dccba39b8a140c6598f51da4dded29a207cce3df7524a8ee8e4899cd9512609ad29754dd306988836d52739e57c159928f08a758f7b744c3c25df57fbcd22cf6af2cbf6fe5499bcc3af802e689eccbcc0452ce2efab575af1c2293c4f19bcfe614ab3ba08866d224af022df04625775d1c3bb2190f73ab37bb36efa37dd1c9efa7da3616ae528abf3b67edf1df1f7c0a56c4e87bd9f9ad85402d4bc1ea18d6386f5d13bf0f39f578fd6e25b062f9a28754003946f0bb2db677d82d9ac3f6234dd28dc57e7b062793d6ecf15149b74b429f14fb41165a4f - -COUNT=32 -L = 2400 -KI = c87ebe596aaf1117208fa619ed3446618418a0832fbe877e -IVlen = 128 -IV = a222980eed7c865de3ff4e3cc4121dbf -FixedInputDataByteLen = 51 -FixedInputData = c810fe5e584797141c959e0b6a6038e57acc5c61a7a8478871998f8161d5703155986529f00a326b1eaa5816ac93a2c2b5aaff -KO = b77f4064268886c55a04525a6fd329d86c6783128e94e5bb631f001f9d86369eee14cba729cf3cc6c541d1a5d4b7e63c14b4de04248c07f80f193bb2bed718e037298dd661fe0059798ad1b06994edfd554a185a7fd143bee0a5335ba2477422bbc66e8f558683dca77e19d648d3cb9b021326b90fa06f7d4e9f688210814fffc0c33579e351195632e265833f8e68a4b8e186d8870173c893404cc97be7a88874acd44b72ba90cac22325312bf23800ed7afd2e2b730c40dcd494bc20501ed1548e46086ae2dd3dcf9ee9cb204babdb109f65ee3dec00d0e5b8461137ed4732c836f8e3fe9287bb3ee05944e75d73d82c8642f04d41c7194a1bbdcf5bc74be19a5d85c96e55e8bfc1e122df4deeed9f5e9a7d9eb655c8a3a4c9931fac7c1a14cd44071530f6cfba28fb16f2 - -COUNT=33 -L = 2400 -KI = 5e07ecca2549ea74a1e26983340230097a2d3a3020f5e84a -IVlen = 128 -IV = 038cc70b50ae7c408b4e6683d75a2d08 -FixedInputDataByteLen = 51 -FixedInputData = a9e437d432553a052ff34e30c693ee53de2d87ee157b3fb18c814c7134ed7eabdf84e5423605bcf2c350eb6675325c833dadcd -KO = fe7db3e322018e94b15e60c6630930134f493f6a4a328277362bf3787a6b527fe66eca4b0e90dfcddab32cb8fffbad0d1416df33a23b28752f0d508558ccb9e0ac1f26a1540ac05514944d7efac6128e84f0b420d97d95b32cd8f0c5d69a1ffb68cbeb97c11793a773c323c6689821469aa38106465d594d14621f33a0fb15fb8d803e122e0d74f2f8a214255d7163764d3729ce0b4c51eb6c89396b14af5fc481c330f527d35c6df10713d691e345a8fa6dd966622d87f8c84b99499edd353637ab0bb5055b0ddb9f795bee4724a21f3eb2a90bf56da69480caace87c5c15790961a493f48ba02b7739d827b02d68f35c0b76a05259fc73f4ca9a1de13dba2b7226c21dbef096100dddafd79fd0c06702d7745cccc4d14054dceca02ddaab390a6030b7ec03cebcfea35003 - -COUNT=34 -L = 2400 -KI = de50321184e6547fa3accb9791f57f1c748076f986d50a08 -IVlen = 128 -IV = 89fdf3aa7aeff743554c21486bf76869 -FixedInputDataByteLen = 51 -FixedInputData = 2e0eeb75c456ab252ec29439e735810908bf0d67ab0c165677ac8b2ccc5fa2c96e6ea84744f8df9d62b63f7a1012b8569da639 -KO = 90dcf1ae508b0b4f8c030b45407952198df67a9ea31224c66f84554a7aa59949d9ef23908667d17d946dfc84e1fe686017d8528b541f3a5453c9725fd0cc152486dcc5e3d4654e6b6f7f7e52a6067d5c7220564a4a6ad4af533e30339e239293919b72b22bc06f5c42cb24677c6c2f768ffaede5a6270d9a06709560ecc60fc6e25a5fac64ef2d118d8258386da0a45c1775d4e98f0930c9a0f95e8c044fe7a85a511450ab7e6097ba83e1af94a1cf5d105bfb7eeb661c3e6475cc2dacf967bdce4bda0c695c80374821bc4972364eeee76f06d51ab5461dbfe87e7ccebce2c390fb7ad2aa0b2c181645eb52d0a43c89f33f6eda643b5804f78d552f3fb5b22fde2067b56d2fcb91869995413de20ab31cf94689a19da35eadb9239bb5046b499a24a7d884bf5cd7a373590e - -COUNT=35 -L = 2400 -KI = a2ac20c2d005aa038945e96c3b9628bbf6f5b20f8e0b1ed4 -IVlen = 128 -IV = a7f1debb83bdbfa44df4e2318e531ba1 -FixedInputDataByteLen = 51 -FixedInputData = cdd65ed235be2403e2dc0b4e6532e1ff805d7add794892d7bb860a535998a922ffb072943de690d2ae70b7163a2aab323d62d5 -KO = 2992897731f6f09fcd3df03e2bbe397eb83a80a09818ba157279a055cc08a0331bb55dc9111f7a5bb59276c2a8f96627863e09f69062cee8c85433c9c9f84b0abcd331cb261e7f587d1c3734698350eb78b0c01d57e3a74a62db25d7614a577cd796421a60c3f66ee795636760b5f33f0aaef2aba40864bf4be35a5bfc8262b9ff82a869830b57e6fca41c5d9e99b0dbfa1d8c38a3e8f83ae127bcda32e0ac370b1d7a57cdb88936b344defb9d0530d7c0d634a3d9d6915f99618467e68f23bc1b7af8f9c5a1ed964e364b6276e209363a0e8fd692e46de80f0b3536b5b5d4e5255b6f263791af875d50de25fe870cb5b0ed1a3b5ad087c41906b7eb0d70e020e6057af6c481d551721cea22410dd06a3516ac24a32072e2a1fa65472643f3523112021cdaf0db5a169148c3 - -COUNT=36 -L = 2400 -KI = 41964de314b25c391e2ca9be6e36dace1076278cf3372b76 -IVlen = 128 -IV = 3ae7e1f8e669f8e10b7ad026b6770ab3 -FixedInputDataByteLen = 51 -FixedInputData = b14fb8241cf455fcc6cd5f9d0c4fa426f8f1c48e88bf4fe603aa15f87fcdcaccc6596f96094ac44b9251352dfe9a539d0bfdaa -KO = 2e58dbe039cffe7568aa2c4c4860ccc33d6afe8cba7543a4a265541b21cd3afd58bcf473e46f3b35e0b001f6f1f3c8c920c3db55ed1f46da2be8cc929f59a282eddf04f0ca80d2d3c01e16633b0ef2d7f6a50bd953e0239543f4de7e0364e45ad4ef969dd9f7c852fa736dadb6c9eefc085bf93d71d222e196321df323fa266d1baca7d3128d6682cb3acecd79c0a9fe166997df4ed792d722a0ad9a45721e4ffa8480b6526c7f8ad9c0015b5a65fb8ca0a985978959a5deb4e3602fd750646cbeafe4cc96bb21e720f2a339d7935fec4cbeb783b1e9ad1b3fd625015e2a56162ab1829e3be17c89b1b5d1b801a4f555a7a60206f801114fc9588fa820619cb76b012bbbe1e53c8e2f0195b2dde22f4ad03f54bc6413707685b652b609c334f478da63fa62753ea363a8d0fc - -COUNT=37 -L = 2400 -KI = 3e0b11bf50e25d1ffe55f1c14a0a7bf96242b691efa67a46 -IVlen = 128 -IV = 4a873d2a390df32bf0d6aa0d980aefdf -FixedInputDataByteLen = 51 -FixedInputData = 4874a9eeb8031270d0ed564a8f2d1375f6bd9ec38075ad52c2a6f292715ab2d7144b82426ac87642d4df5375d3f86a7ae43ca8 -KO = db5ab989ac62decf5a29c9a794059357d4802a4cf3f33220af0877c8d662a80ca106dfe56ca3fc93c5753f4f97e3a19ba3e08d28b1e2f7692a6d60d5911b7f2a2f973be471c0d19495092db6a1d7296b0d5b0731fc20dcea1856e2cbd25c07025b115b7dd7dbbf332b3b1def93407d3f4555537a26b2fc33db519660d709b8751c1f5e92ccf3a3aab2a12e36d430eb9264dd4174b859ecee67c9fc6a90e5a44b8317b29b1d100988d99c74da701195cf6645ec858c288c3735599656dc5d0a398b2938e119531c8bf08ee925720ad33b2b458ffaa69d6faa5e679dc18593edae1823dbdadb73fee44119d886dd46e5e2c93f35b7d25db720f1b4d037b0bf3f387f2dbe9e6eaa014673e63ce0f4876ba35b3acee5bf48db9a8ad8b5405d736c67835d4d961839c14611278e5d - -COUNT=38 -L = 2400 -KI = 05b0146151d9e4c3ac7f7f7062b48c70d6dceae33659c455 -IVlen = 128 -IV = 038826c7b88548e00bd2496fff60fd05 -FixedInputDataByteLen = 51 -FixedInputData = 99f9a3175f2cace41a8cd30cfae139240c07883dc1e8d6030eeccea26b7717963d289c219c4394c7336b18dd3114b1a6118a42 -KO = c51dd99f154ec6e2653dee8558b2aa24905f837db962c85ac2f35f8da6305bb2872b7a1e286428797579eb2ea8158265b8320f363feef0b8868045bb01c8a927b4e88aa0ae17b155860b6c0e15cd1e22b87d9e8c78cb77133a04df4aea6516cd95ebdaa6083d63fce0f2fc4a877c31e3f5392e57c66b46933f4261cfc817c8e4866146f9c62eb820a4d22e486619fcc136b8ec4989e195c1eb74d6860f22a36710c09195580b9f57e969fb4e63a57a3de3ace2cb8c5cf6b98cae51dcb38889171fcf98bd5050f4311d289a9994b3f3162384406a40aefd5aaa711287c4c10c5eba49814169cce5936c347a78e3d10dde9daf76f8a31d738ecbc69cb57bf8298b89d58db9c378a5fd52c11d0b4bb99091e52e5e7a88ace0ea166652082e7c65f80689d2fc1b5f8409dd25e24f - -COUNT=39 -L = 2400 -KI = 2977015e821792259d7a2357800a05d5dd597285fad1030d -IVlen = 128 -IV = a91b0bc52816598a37d460969739082c -FixedInputDataByteLen = 51 -FixedInputData = 1a3724a89bed62b9483ea13924095b1e87de447809750fc5734eb92efdf2ac9cb07ae3edfde7fc7f7922c5f047afe42b41f54f -KO = d5a93ad66cd6b823a537dab97be2a4484171e9b06d497e98053c8f9f68f408202b320e80fcf52d36d7d4968afd8990baa5593413aac65014359939d7d780907256602762c785741d480f315f7c79de0624357c99e51184270fb4692925bbd7b8bbe34584133c14b63dd18ccb3a573011142e52e5b1a1c60c338e8623202847c97743d7c64a884ac3cdc986352e45fd218ff87d52c6b82905e21d80a8bc58a3bf049baad9ea107d18dc710721396271ca017b45ec2eabb46d01d173eb8e0a1d5e9b3671babdc4af6b82ed290855aea5046a71db08fd98e3231704bf1770aab2a22792d765b0ffd42af771719e49d9ddb149cd0c7f18e06e6e5414082aead1fb0d70b12660c37274d0b29e92ed193562591482b2631e8eaf351950af34d7b69b2239b5cc8d727e2904c2879ac2 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 07a76fc11ee944928c93e742a146c8ed86cfe4e0e02315e2 -IVlen = 128 -IV = 89a09efb151f3e4b36d65dd55d1bd07e -FixedInputDataByteLen = 51 -FixedInputData = 3bb5892ca0799834d2dbed665a40a88adab06cfcfc404a654677f91099ccf936ff0580a25c98a6ce70f0722667a5a4363ed358 -KO = 8812300b688b7832b94f4f2f0895bacedbb69644b9962cea0b1204ef36347e5d27abdfd73ddb782e96cd0df5a6d14a447209f92be6fd9a7c76319122fd6d8bc0 - -COUNT=1 -L = 512 -KI = a25820942218953fe87f59842fcbdcc658788e474314f050 -IVlen = 128 -IV = 77cb10c7233fa41c8a5861f1f71a6cbc -FixedInputDataByteLen = 51 -FixedInputData = 43610e8ef15c8ad6c83fb62b1aeb9c8795e3985773c47ac3526bb5da5eea72bac3916e64fcc804c26e8d09f7b86c9068a743ad -KO = 609f9d55ddb09687c19540d0f532f2a2d2e336f3a0a364e2f82e5410448c498af6a16883060b69822f3199f7c6c5214eeb5058e5e4da55745034295cff900b04 - -COUNT=2 -L = 512 -KI = e228e60abf4489c9d165817060282bf1eb80258c6b2a3811 -IVlen = 128 -IV = 8fb6bcabfbf2bb2e412669f2f471ffa9 -FixedInputDataByteLen = 51 -FixedInputData = 4ece525e31339aa484de4e943f374ac17556e47ee5756f1e90b8ddbd14abaa177bdd8d41d2e11b9eadf658ae2e5644610a7094 -KO = 52a07bab98608c85ae29ffff5d137e338335aedf57885dd79a7deedb3644b38293ecb5cc9242f42179a6ba5fd0e29b72846c2b70672c48fadd14381d474edbe3 - -COUNT=3 -L = 512 -KI = ba133fa85028b5edb0e41a12fa7889e3f4f29d47706247f2 -IVlen = 128 -IV = e32a95e0eb118dc4bee11000458c4aa5 -FixedInputDataByteLen = 51 -FixedInputData = aa421d89e16904c1a76d7c2e7251c7a3500ba3be51527dfe26324bcd75ce87896649464d97ede98e72d23975d098c1168eb71f -KO = 8ee283766467981e87e16a24bbbaa60bf347fd87b6bc724e7c65ea290ed1f6a72b6862f5f1c74289b8f51ae2bce6af426a64ab07eb2009562a0b739c3906fe71 - -COUNT=4 -L = 512 -KI = 5f2a379beecfecc0521906c9f1e8719afea61bb64c5c666d -IVlen = 128 -IV = fe2485de279cd0f50970a7c5870645be -FixedInputDataByteLen = 51 -FixedInputData = b4ebfcfeb8ccafcb0c0aefe32f3a1efdf7f8ecb4817324815b838b8696e272c3276643a6cdbd9f812bf0bfed658fa43fada6e6 -KO = 3b25dcd4433a3fb37093f1667d866d4f6bf9175dd837bafa02f07038d929ba3ce6cb521317c69cc2d71904975b6d0609997589fa438257036ea6a63ca1ca8a9a - -COUNT=5 -L = 512 -KI = bd0032cc7c4324e9824af5ece01fc636df850974da67c75d -IVlen = 128 -IV = 04ef51f54f0e095d0a992b611613fbb8 -FixedInputDataByteLen = 51 -FixedInputData = 0c65d5d8d75e2b5b931ad0c517d735723710e2ecc3f9ebb49bf462f3f6dd5d580f3576bee86c93546fb302be515faeffc8d097 -KO = 3ca21bfd6980d24305e872a6fc7630ccb9424d67c10a9a8292fce6e4e35afcc69ada7309ed2cc09f5ea26841ba1fa71be80cecf88a511f25aef612eb4310d6a6 - -COUNT=6 -L = 512 -KI = 206459fbe568fcda75c3c5e42c41eaa6cb4485afc5c591ba -IVlen = 128 -IV = 756bbb2a87d7f42051202d8862d3b9db -FixedInputDataByteLen = 51 -FixedInputData = 896cbf5ba408b7606c58cd78e0ee35fcca910b99ddc687bfd9b57142720eb7097814eabe37adf57af8980b1b1a2e34c18c1f6b -KO = 95d1bdc41e6dfd33c360c9b74cdc49357cb08d0d30b6d8b620dd82dbdc124f01d01b093537a67f5da7d4503ffe24c75ba832d1ee0e654f046394650ec7d17bc6 - -COUNT=7 -L = 512 -KI = 9acbfc5cf9ac910590f43b476b185a5d011e3c7a08e19e26 -IVlen = 128 -IV = 3f2b5c546073ea4f2d679fd38d6a94a9 -FixedInputDataByteLen = 51 -FixedInputData = f000765e170c1fa477e5a7d3fe7a6a7c68c28af44cce39eff3af1e207ee53bf03542730c5c8b73fbcd7398fd08a46fadfa0d4a -KO = 441d775b8b43f7383590e00d092259e4d4557f89b9b39cad7bab22bbf0f37b7562101aca67204124c373d4b46f031b6e5f2943d8ef12e92605280d3682f7904b - -COUNT=8 -L = 512 -KI = e92d6fc432977a07c4220eebb0449fa32bde8dd34ea4d916 -IVlen = 128 -IV = 5ad89ae209fe444b746ee20e43659fd8 -FixedInputDataByteLen = 51 -FixedInputData = 8cba34b35b3e39eac26f1dbcced9bbb0ca1d0fb3404d860545825e93880a4af464de6509c2ab89ebdaf17835c69e57b4dbc282 -KO = 970e9e590242025aae077b1c01ec0141f79bf8313866c433d258e51017b40bdf216402e740c24af17722d1e6aa851d548ff874ec483fa9225291ebd9f6fa6121 - -COUNT=9 -L = 512 -KI = 7179e23c2db62825abf292d78eab6c45f1ad678a53373897 -IVlen = 128 -IV = ad1b695b0f1d7948639ddd92b998e36f -FixedInputDataByteLen = 51 -FixedInputData = bba64e27876fde710654e84c7dbf880f0d9f952d691ea47c9680dcede8daaee4f5d7c96b20ecd95c583f9aa03d6593ceb91126 -KO = 4ffb17fbe76743ecc3d509b249b9881b10f6794acf4651d13ef4ebd63417a6ff10d423653726015f2598283b5a5f700710466f9da083a6029b8f792c148268c8 - -COUNT=10 -L = 2048 -KI = d21e0f4fbbd45656b5a050443c4ed6abcb41d0a922c32918 -IVlen = 128 -IV = 212144f05ffe90e0808d3bf094e0c7a5 -FixedInputDataByteLen = 51 -FixedInputData = 7d776bd454bcd193dcc1bd40b946931f441e9b9642dbd4a50a2eef2bef794c91d4d5fc77967ed5dd76886b0ea5d56520bc1765 -KO = 3b96f9fa5276380cc2dd4a718c74ab194eadabab6ef9bae89322261fbc115c4ef395fd65d54f4e42776a889bf1048652221433c8880dba81c40559add198f582aad8e86d2e77e2d0d754eef467bd065d6d7170f9926c10fa861466c42c9757f780d157c6857c95a47ef537091daa222ad147a1a3a0a1d59486c520453381e7b92f20f708a3612f8bd56557853bfd4312b8b84dc1d4c53fa788fd1883c2d8f92a764cd38de0796131d05673d57c36def40fcd3e0b34a04b7e385072bf8e6af1e848b82c495cfd705d8d4a928df0d694ae6a4ef74efab42e003b9da008a3d3efa1ce8b92dc8e8cd5e98f4159a8d4ea53515fecb16b56ecf7b48ad1d5e496512068 - -COUNT=11 -L = 2048 -KI = 9c6159896a9b3413c547331c24f32f8e5546f190ddc235c8 -IVlen = 128 -IV = adc9f246018dabfeb4537aa95564032f -FixedInputDataByteLen = 51 -FixedInputData = 71deb611d1840fba5f634e423a5ce0efcfb5a8b8753bcc7ebeb9c9de5d3176475626f6b77047fdb76b4f523e121ea39163eee3 -KO = 717e7173e04a67ce587b2f5d03ae61bc05181b5d73fcd344a006f0d1a647a31ec39450622e50c165523572242402631ed6978f401996a32226756f4175558dee27606570a9d0b16c5ce174cb56a31d973335000d8373a9e9b4a4f527682bd2ea82ef67ead10af60befdde2ef7aefac1c2ca2749cbf66f7552b7a2e1ce162be0390ffa80b9384778c263c4a68f0f2b2e702e4be25cfc621077df5155c64ffde03160dc4619c0018f37892bcfd8762f5e707ffc9c00e7b73070b4c70855607a4483f629dd7a36a85aab4e417e89ed2c138dab35ffd6185c8280b25b15b1beadec6a73c92991817c215accf9a5204253d493bfdc8add9adb7fcf7976f5ca84d4350 - -COUNT=12 -L = 2048 -KI = fa2757e5754c0094c8f059428539be1a06d6cec49d3bbe9a -IVlen = 128 -IV = 53f3c35df8389e50d73f98301650381e -FixedInputDataByteLen = 51 -FixedInputData = 8adaaf743a88cb8a435928eafe94416153638af62aaa840a6abf6c30b0d74987127e1788e2f721a41773b3431c878ca19e3f69 -KO = 65536ce6e67ca492ee16fed236c63a8b15b9cf0b61979893576ccd70bf309b44da9cf971d725accaf2d53e592926c490651fb3d896de85e3560f3037251f22633c09a56b107d06aca2e5098cb0e5a122a8d3283daf117e2ed11c71aa16bf48dc787f94f999598114b980338836e14f1455e7fb41a1de0600f14558b8b99d94c82efc1770c187b87fc7b84af62d545b0a0404e33031dca296275451bbae00a7198c0e6d2032e38be89652a6502633f7e430178dcea9ad986978de9faad2958192b7554342bc47b292e370478411ab84bc378978e7a99307416bab52e32ed1dce3539b4aeb7027db4188feaec8705ad17e811713f88ef4f50323aa797cacfcc5c5 - -COUNT=13 -L = 2048 -KI = 71ff331893cb73b789aec7b11e4850c86a0e974e813b2e60 -IVlen = 128 -IV = 062cc6b899fed610b877acb4ddc20d9c -FixedInputDataByteLen = 51 -FixedInputData = f9cec4c79f7592f20b89a6229b19cb11eaa05d44cc2cc0bbea9ecf9cfa4ae20333f5609e1013b7f3ac6048bc51072455e4895b -KO = ec5a9c751f3dc6fa78a8984dd993f304a620e335eaf0f02c339059f8aeaaef3d2317a4aeefd3f1772444d1eec20b268f28c957bec882371c5157dc16086516122f3aaa646d888ff4ec72ef809459bf634453ffe95d10f906091400e1ac6c463616a24542ee411ecd38627ce3150beb1231a6e4a969a390edec5f43c9f15eff9a73a5441f45221d9690e31313ef6a5ba4506fd61aea8252be774678ff203a47943ccdecf94a573aa4e588d36b90fd046189710ee1f6e53ae01acd2e8a5299b844f02a7107accde48f4ccaf5c8f2c2f897ada1baf2f365474737c0ea2c68dd087b1646bc84b6509a9d3833d2a44f6e53c9a79189bf5a873f35b7aa0fe46ef781cb - -COUNT=14 -L = 2048 -KI = 307301ffca6cd8c0a4a6207a139876371c1eb5c6f700b2dd -IVlen = 128 -IV = 413e6ead7e397af6eaaa6e1eb2a7a36f -FixedInputDataByteLen = 51 -FixedInputData = 3454d64e45561514d61ebd8d8b2b4df862228d4d17c4f334b1af38987df5962481bd63e01110320dc01d10bc67cf79906ab6dd -KO = 1d5b1483538088b60e883e1b71610946ce0cc7408a54400c6934b7c2e94c53d75101920776c7426b3ec6e3f12d17ea0a848fc90e6e9f67c02705a95924aa4be9c38d2805aa61be0f9d6e69bf162ec88b41cf3f5b865785a75f96768f464955410d35cda882f31dc7e171b798d017a6f80fef2d14a4a1de41eaeda643e005f562b23fd208015179aa4b1af0f0d394337a82251784f4445cf03373e390272a95c271e44bcddd031dc669556c38ff47c2d3bdfad1a5eed906814f8faf1f8ecb4f5b2df33ee565270dfa8d5cf016f59314eb6394857a2cad9f864b5a1e38dc4e95ce94f26c33b2f43b0518392e59e15875f9dc5af48cf0b895ea3e4dae0efe4303a2 - -COUNT=15 -L = 2048 -KI = 9439a79f56de7880399d02fc955a90c9dd34cbc10ecb8e3e -IVlen = 128 -IV = 4b5e35588052c5538f2443cdafb97a7a -FixedInputDataByteLen = 51 -FixedInputData = d30d7351b79d4ca71b6570830ac9f85cc2ddb49ccfe0200d5e1291033f34592c7b92e525f7b89f883e7b2e7095b8e09b1b8373 -KO = e21392556a562f1e2e3d40a24ffe225b10ab25bc7202b88ead27c2a0d3ec0f8027a74c3e1a0c19c9f9a40219bf1e1855557d688b1837aa53b5b5741542024a15e6e86d48532ccda939587a0e2f8a9d31a4b0c3c59430ed3ea4310c3857bf7236a6cdb28f30daf8407e7efa0ab89134ced20a925099fbb0f7f400eca48d8441bae9f1a4cc346a765dbd4fe1cdf359f414612d369018bd7110c870fcaea0c38e8f33174414e6d47b479febea62926841ae0666b1912e4bc305087631f8525784b3067c3f65a62e54cae626d689535b9518862b6712f095b282cba06ed4a9bd23af3d194f3b8ac2116f96307796a3f2deeb69d79e6a2bfd0df85dd5ff272dde4d91 - -COUNT=16 -L = 2048 -KI = 4eede73d228ae81a67eaa4543593f8bec592f6732a9e94a9 -IVlen = 128 -IV = 3bc7f1d079b54c07aa0774b3e1fb90ad -FixedInputDataByteLen = 51 -FixedInputData = f9be697eae22a8b6da1d43c9e46f4208aca19809c8b95180ec4e7aab1fee25d947c89eafecbf41dc42854677bc2c1d162e3383 -KO = 2181e0ec3ecd13f29bb16240a0cbb6494bb1535d65e4c144ac64fba1cd24487b8a8086ecd3df91d1bb5fecf89dd440ee3fce6235d9e114464ec83ac8d4f87409c723d7a69e2013ad92dd744783b4cce17724f637cb5974cd1e35919d5e08ad8aadb170e504bd130213e3f96296e683287738e584869045400445f8f909b5d54a028f2322dd68e21243ae0a8e37917d74f2826ce340d1b5818761f50247815c95f9319bcc45511837130ca3005c141d6f799fb4f282665e9d69ad85b8f3acf386203be451dbedb1685b67c66c62737d2bdb2c84c36619b41c246ec5a5947a80d070d75a3acd0f89c4d963c51ac0d62c37a374ac089e99d11ed9d89413760446fe - -COUNT=17 -L = 2048 -KI = dd614dbf58cc3a0b7df4b6320e0c43fb40a4a43683d5c8ae -IVlen = 128 -IV = 5fef09092509aaaee17d11cecba1cbe2 -FixedInputDataByteLen = 51 -FixedInputData = f8dd6c894065503cb547b15f8dffbe077faf6bb371335850ff855c64c453c9714d0ae0aeff2508d97888b2aa44732783da8280 -KO = ebba388f6f129c28a4260a6ef51b93b7daeb801f646356fb97828c263dc54715485f5db02f30793558a30837d8d7f04845ecb35f6a6bdb5324f4fdd3b884850d4c826e4e3d4e8fded80faaa301b0f10062c1b714cc930abacf082f198a99b43cae7ca8cd89687775ea815844d43d8c0d4dd44a20529b46b84f948b0bcdb23b21f77a536326530397c665aa69d79a504b633829d4abafe5bc39402b27f484adec8cc6f130a20c1922bad0d0c238bed93b03b2f985b31f38af2a17a4b4fa9bfab71803b8fb1ca8de984d390baba9581b9e1e000dd569d1a1b912c22e8eb7f87336e8ff8f58e560ad8201e46a8bebf603d10d222d0870ea6c1cffde18086ccc906a - -COUNT=18 -L = 2048 -KI = 063767c690e912fbf6915fd132faa9bbc9f82edeb95c711a -IVlen = 128 -IV = 97c8a14c002417724b57a9d763f34dcc -FixedInputDataByteLen = 51 -FixedInputData = ded1f8f0ca9ba30d019a9d7222e40f4879e1d27f74369b977e0d17154688ecb0440b63def978f30664eee36fc34a9c4ceee505 -KO = f7f2cbc5e5174cdaf2aa6fa4114f6cbf208ab6db19926e26a970a5b800ddab893881924ac214c90600454ae4ef1f4f8c76e3758f72b870171d1d53d97ae2819434d4c0099d1cd52f3f22d29884259bc69877d78fd9006e92446a0cdb820c523e8e5261b68114c25f733adcfdb257cb6fa1973fccffd4ee01dd162e34357c657a25873c270c646e0f19e22db9302ec880bc2211ae6234f5794eee4a2c5bcbb9d1cc4d9e229fbbcb79a0cf406f48fe5bf11fb1e4fadea70ce626ea8b3b4cc399d2376301d5bf26f20f6c295121b0de0462f85ef1801e7a9fadbc45d9b950256b713ae2fa0bf015bce4d698d4bcdce87c836ac657910a2ab66044eee4eeaf941eb0 - -COUNT=19 -L = 2048 -KI = b91308c375655f2b171979aac6af0c890ac61d003dae0b74 -IVlen = 128 -IV = 6b4012cf8ff697d858fab9dcc41fc560 -FixedInputDataByteLen = 51 -FixedInputData = 1ad7d1f2b9afd7b615de4b98253eacde0ed0f8bdf6e3b1ced06355a9ec7cb02b78ee4d505de603d0862b9b565c5c34e2ff83ef -KO = 6cabaa40891a0e98c66c8f67381e1c34274e6c79ed05d2118880b43cb5f0f91929dca7b0da60843257ee0f274be7c16c7471f7ed8042dbe667ee37ceebd78eb29ccefde905efc141d673cf1867a876e5fa5201bbd97b80e9dfa40a5f04e8a99aee8ee25f68459771347be044238af56c950959e8b5ce1a3a5d7cefcbbd47057a54e5a094588adf63639cdecd1c57711d2aed40a41e16b1e1f2844b810a9eea32ee7631571dcf0e45047ee5f028d8b4ed3b8a9ab66d9d82fc99f7958235194d630823ee682631b926aeccb506181a86966da41c2119b75fe393e7da8193a87bf43c99c4786f90fa4f15e29efe1e6975952b182bbd9fc7c72d5d80543ce262343e - -COUNT=20 -L = 560 -KI = 72e08ba02650cedd75758b7bd89478af0da7b308d71a7eaa -IVlen = 128 -IV = 56979ce571b34775ca6498f7e4f4ac93 -FixedInputDataByteLen = 51 -FixedInputData = 7846d4c134057499c46ba3f6fa173eedad9f8a405e21569ad04925dc92203398c5ad4eeb35c31867fe455ad373102d61b7b957 -KO = a83f7e89eb34aeb3bd8401c7c2ec46a538b637d3198553d76a13a148014bef2521c470cd027a85f7bda5618fd96408eb1861e141dc363a26b2d46bbbdd83d0285bcdd7d1ef2f - -COUNT=21 -L = 560 -KI = 913f9cf16025ed1db6c776846cac01483054276b29ed03c9 -IVlen = 128 -IV = 8e5b8da20beba7fb08c5c7976ed38948 -FixedInputDataByteLen = 51 -FixedInputData = d5603dbc65fb5d856767719714b0a5b9d2892093a5e86e07e3043296c05925191c73a2bdf710973058726624ae27e626aef9bb -KO = 86a2623909ffadf6cc5e0cf27ee517bba2cf10baaf2b1fd799b19515fd82280927326d8a3e72a4494498f9d66dd15f6cdd00d973ce4e92d9c312bb7a3b6177c8b78c499f4177 - -COUNT=22 -L = 560 -KI = 4756e6208e9eb4cd898b11258db73c01ecd1169e523a366d -IVlen = 128 -IV = 8d315792fe8678269f0c61c84eb4f35a -FixedInputDataByteLen = 51 -FixedInputData = 1fcc557392bcd4b359e9b4fa22a1ce2f68ec58254b2bf05ede7af11bc0f83ec37dbb0d235504a2e690e2075cffcb320ca2be35 -KO = cb121f118c85dae97837afedaa8409b6bac5c9eb479553423d531de1f7f3e29f05cb57c1bc3be0050fe306fc886d9cb6c809e9bc521698ede8ac983048ac0600486e4578f0cc - -COUNT=23 -L = 560 -KI = ada113f3c2517ffa17f5db636b8b4c90d5c2639c70f40248 -IVlen = 128 -IV = 3ab8602c3a3ad336092136b2d32b2294 -FixedInputDataByteLen = 51 -FixedInputData = 793635b11d6759c627fe3ad335af6ae72d2a6067a544db8d688e651cd475d59d4000748c1a9d51c671bd69340f37564139f2b1 -KO = d223b6f04bc3fe2c731004f4295456d4cb8f2d45b761e1dc203dda428fdb24fda542d66e106cf491c4eb0d37988ed1e0abae0dcf720073085fdceb38b3a2dc8e5b7dd20aa080 - -COUNT=24 -L = 560 -KI = 814176cd321c2c86cb35e3b158b208bf6be88af1b602ceb4 -IVlen = 128 -IV = 2fd8df6df35bc70cb89b19c1c3ed371f -FixedInputDataByteLen = 51 -FixedInputData = 6bd478d4cf07955c0d963c7f8908dc8b443239194cda8877b9c80ab4d9ea7ae332b809a72e08d951971acbce7a902c125b7378 -KO = af5c138539e90f623fd3f265df7ce2cd72556cef83e03e5ff85fff8a71bed2630c74fdec3ae140ee1dd67b02b6ba494dd1afe3ce8ec8bb005de27c599fc97ad3b66e47bfbcb8 - -COUNT=25 -L = 560 -KI = 200fc31f0ceaaf0f9468c2318e3dc8fdb58917cc78e0de62 -IVlen = 128 -IV = 235b1362a6e09c918a2171a7b1f17a3b -FixedInputDataByteLen = 51 -FixedInputData = 65c91e82c446f9b2b4ab02c0d42e8e3a3a2ce9eef9cf18888f8738dafbc94c4e7105b8ea1f60a698bd08ebff95d41d4a3b36da -KO = 22ae568337d7434c6394594ec0581163c3bf66bb257d6343a13abc10de8c43bec9d42c8049223a1d3957b5e1dd70e23bef6fa566b1664e7a9bcd07a3db4a09a70fd8d3e59da0 - -COUNT=26 -L = 560 -KI = 5a188535640b792dbb619d8783c67492441e53cef04b9372 -IVlen = 128 -IV = 7d5bc66bb21173e5c98ed185b8782fc6 -FixedInputDataByteLen = 51 -FixedInputData = 75e288e5d18d00b2e42ba28668d68f44336bb952228d85e6f6ff4271037fa04b7a46cff928761d3c89dfb539f90cfc0c7caa60 -KO = 9ca6f957aa622850e520872d9df902deea10a6330b4dad890c5adfc556ba1ab2a673017194aa3201c87199f084f3af4f86aea61ce7e5b2f99fb56008cdf18a9ff5040ead57f1 - -COUNT=27 -L = 560 -KI = cec4ba5f6214e2eba2e0f4dffffd730adb21d93e8ac54f5a -IVlen = 128 -IV = da27b3f8b736cc75432176a762acdfb6 -FixedInputDataByteLen = 51 -FixedInputData = 3d49b224c17c4ec7b1cc766445d0a8edc86efef524c55888d10ed836241e682adc99cb7978ae24b5994493b95699c14ce5bae2 -KO = 2411ca7aa4ff9ccf965c32744b9b665b630e73d706a223837c53ecdb868ac5f99d57014dca559ef9af4d47efb425c3b99a40a6a1b5734890247bd532ac8dde5cdc197756229c - -COUNT=28 -L = 560 -KI = 87f6dc135fd7c4c7f28bf3acb05a038eba67bb0ad7a908bb -IVlen = 128 -IV = 9f56acfe7ecab65783504e981b463ab1 -FixedInputDataByteLen = 51 -FixedInputData = 24a32f2ea61249adfca48128c9eae21e9cd0cfe36b59462c7e648467e4ce0281a5ecd06dbd1d6e03ade306879375345964c103 -KO = 3e969f7834a87d15572eb24dfdc38c875684e2ea1999f00126c3d6c4d22f098c250338e56102d6b5479ae7b163b5ba36f8fd11da26c91be917819a84174cfc472c9587691bfc - -COUNT=29 -L = 560 -KI = be4afe06cf53779ecec927a9b5fe934682010c307801c616 -IVlen = 128 -IV = 23fb844e7955aeace9bcb6387c2592ed -FixedInputDataByteLen = 51 -FixedInputData = 5c5a5a9489f30467108c60867cadf677fadb0660d6410fa6769886c3fb578b31b3d3643a9d6ff36540bb3c6baf287fa3ccc4e4 -KO = ebbe528eed280a6dbf4083f245d64cd7aa585064bef7e523f069743063ca023fbe5b2c9048a7f90f92c7de607739edfc922e6bfe5a04b22479d5239fc517c69cff24d8f9492b - -COUNT=30 -L = 2400 -KI = 6cbfac0408f0e9a4c581c22003b18096c71723c773eda5af -IVlen = 128 -IV = 51d625f4e0d89553dcbb19948af72247 -FixedInputDataByteLen = 51 -FixedInputData = 12a7c3f303a028c5a645ea4c01ab38497ca61331834429d79196ae50abd39edbbb56473628d7f9613262d08ceeb5bb972a1d92 -KO = 8cf723dc6cbbad41b503e85f99e5891a912ea13e7f8c4de354f2ee51ce2aec4294b1e5c9e78a4865e4c4180af6d447cf713c0073d25c7e7a27d4b8c9847cbdffa8fe1b823cf923aa48c4c1107f6b02126ce4dd7c3b90e574e3ff227f452f24aec12fe23988a27c1166f7571f9eaaa888cd862d7424c904222180dce731f3663aa50cba5e2ef3f700dad20caa083019ae5c8518c8f212795d6085d11607c3bd928280d378b49131cacee78d8bdd38de4d45123200bd7d6a696870a746f6ca1e005276bbdcb0ca5a9cd759ce98c3ecec4e77d89539aa9165175e1a838d1b642b0a8d403d3094c42a0c3f95084168dab2f3584c8ce447757105c466dee4bb3f17dd0ba78cbb81cf3d184af9eb15417d560fb1afe9ff5f75e28edc3ef552d72dc9f869af4c1ffdab76f8e664fc6b - -COUNT=31 -L = 2400 -KI = eec72306186b22c6d6dda55ed6803916e41b16445e67abeb -IVlen = 128 -IV = faa8bc06408c7075ffd506a4f5ef2087 -FixedInputDataByteLen = 51 -FixedInputData = 8c63c47a7e07c1ef14e1b0bbf6c679264e63ab62cfde408186292ebd4c06961e4679b10a480fd3094e8cb9ac47c61189e1f123 -KO = ae5c6c0bdbfd416ffd26b0bf630e99f02705684175f3ba1c7ef0808c0f26b5f5631dee53b7f74d83fbcf2fdb4b531d54fe3976220010e93a899c8e892d4206daab52d93ea20cf615e3a527b349c1b37dbc7221f696ec23fd1b11ddc0dff21f823baca88ed06e8380303d857d0526f68f3b0da5f08c4d0430b5a2921f34d53258067a0560334ea9d367d108c58ca1c12a28fe13784c41fa9611e7ddf133e1360e803fb1309a40aa3886cb824924e0572653330fb438701fbbb4e2ddd3bf6895b6aa9b0c07cc3b44da9150827f1a1d5e224606a23fddd11e1542697f52782fff64baa89aad464e71ab4b3a582ebe38035a3b01246f19235c8acbc57114c43e047264d445910f22bde727e2932e5a2f9861b0a16a942b9b07a6d3a2bd3209df8611c2c7def5f67058010f586d6b - -COUNT=32 -L = 2400 -KI = 7f1e34377d73a4a0530d9ccaa5b5dd7dd0bc73446bc24f03 -IVlen = 128 -IV = edb485e10b7862f0844e7268ebd9e86e -FixedInputDataByteLen = 51 -FixedInputData = 2bebccbbf5b284a6078ef0a48d46ac882c1abf9e2e882f051c0aeaa6f2b31ea3624092ce09d2761a67447a76ec493cddb7b165 -KO = 7f247bbe875523710ae765fab6a6309601d52f91d358ac2af58719f04790ae8b3b33b036480bafd53e79aa3efb434dac816e7a8ab02dfcf20a9a80dc9f8dbfc76489837d77b7ddbdd5864036b7c416f5c8567ded3f5af4f999fbb02c7608923610aeaacdb1db075f1808b8a302a5ad4e068b6ce10419770088abd97e76085acf62becaa5134fddb922f11e4939824512ea5c00b9be441a464cd5cd26a96ef563cc12191d54aaa0be560194f26807fb676e8ac7205c121e9580726e6965eefb813ec2cc536303e408004547eb20ea0d9dbc8c7316846fcf0d297fb616d36e34646c45e9f81cf731bc42abecb965d6437f98b1e54128b4f31bfeccf837a5a938965d709633a7a06ec8de2d1c80f39df03e1fff8b9c81a3ead6b315244d97021f20330b6b27a001687951801204 - -COUNT=33 -L = 2400 -KI = 5f211f12e81167cf9eb3fcfdfa42492be885b16687e44be3 -IVlen = 128 -IV = 93dfda0ede0daf5dfef9246adf023115 -FixedInputDataByteLen = 51 -FixedInputData = 755e5ec86bbb82760730d0239ce75947fb1e0ae99e5f2cb2679c70ce0a1286279864e4351f668b7d88c861c06220c462401cbf -KO = 93cd19e7189fac869dc5dd4857f7419ddaaf89e2eaf99c03207e5c8e93a4ddd1bba3e3ff92c5b0b3124a1db0fb81f5a11683905a9dae43ffbd724257e30646a7cd5d29c5c1637203131c6046ba2ec89b5ed3fdeff9f734da5b0f494fa5ffdee5e8657cb6b9ff03f5f1a364ccdc2b6e48a4682066e04ca1551f3ddaa26ecb19a090c3553ec1e157f52284bdee4a8a9b9a99a2e182521b95a51c8f21a2ff21b950e98eaff2ee464b8138220220165141a909bc43c4a99e9d791d5c4820c741a13d8f72e9bab09fde8398e26e17558568dee6143d00487d27bcb891a6128fe182d79be00b1abdbf8085d929e2762fa0190004eb1777a0e58ebef2346572fbf765ed47f027b9347d3a95928cb0ce903264167dd28fdf34b6980b2a8808a816f7e2a941ff0d3ea6d40f02a5103c7e - -COUNT=34 -L = 2400 -KI = 646ecda5497624585d12fe35b6eaceb4e216efee7cb47397 -IVlen = 128 -IV = 1cf37aa8e01cce7b66d2c0fb5eadf452 -FixedInputDataByteLen = 51 -FixedInputData = fc6f745be7ee614388362df9cc488fb73db900a221a54c2267511f76546fdb86f146d82ec39cced262ab224ac90c7c7ca3741f -KO = 5f20e51a98d1bc448ea773ffda95f3c8fd63fa5c88f920f2d78178352fd48efe6d21d54a9c54754bdd3c3f8a0bfe7ec562bdd6fda5d4eb9b662da3f25f55156b4da11a2fb6527a58c7315244dd5e1036c42543c9f54e795732458102f1abc10a18fcd0e0c1b5a709f4cd85ebaa45aa85dfa594b4c7f8698ba7cfee437998081b7bd76abba024bb164ddb22c3ef1c7572eb97e3b0cf0f8c97e8a5b5b49d7a45aef6269a11b897434d3878eea7511f0738c352828657e24d8eb06c48a614fa53a0d3a5d46a8add44267302f25ccf71625535e2a42aa3c07d571b37c5bf63866e37dc924549c2d16b550e061f591f3e59001c091bdd9f947a8691dea253369ef897419b03638c94a7a20e553866096ec1af12a4ad1043c5fa4bcca22f5e98ad48b8e59b8ab9185fbf2f8893095a - -COUNT=35 -L = 2400 -KI = 3d31b8ce6ad8a9a69d96ffbe8dbbd98dbd02d3e8c8bec8f0 -IVlen = 128 -IV = 597c0bc421281e0154cc31e4c266e0de -FixedInputDataByteLen = 51 -FixedInputData = bd71f7800dcdcf8282d3aa4b9daee093ece16e898f486db58fa46be3dd4d3fda8a2d51491ab5918d4177cbda123cad12a1976a -KO = ee3cdf09ec49bb1f37c167ee08bc7c814fe878ff8490c50c3ebf581763e8f841be0cbef6407b52ed02d9ff21c995c5cbfb6d6ab7cb7bd25779c08cbc7d3a9c5ceacb1d30e60f6dfe6c0651fb2e64e8d675effb2e922a8312d148d548b1487733e3a939a95025e488d515cfa5f0da2e2e8cba9cbb4aa3eb23dada7fefef39ca0df0224997dac45cd3434de9cf3881e483f24e8fab54c06474820442a7a64170a7880111421ec352b4ac4303a609b929d927a0c066b61e8a52021f3eb1cde0c802de94d2c8fbd1271eaed1db1a4026762f64dce9e608e5bc0b7f9ac826cc272b743c66d78854b200b5ee3b3b967cd387c0e9d8fb51ab6cef71a301a033565f0ec80de0d0a028f447ac8a531b80ffd8a005677c969b494deaaaf3b4dc27fbb1436deee9461bc34e8ecea78c90e8 - -COUNT=36 -L = 2400 -KI = 228eab5e22a4b5256cc754d51539c1bf9d47ff496716a810 -IVlen = 128 -IV = 4049a67ebe2a50f872402cf5c62a8c18 -FixedInputDataByteLen = 51 -FixedInputData = 5d2cef553d6ca3a98c0970e25a42c5691bb39b3d75e4e6de6c5c40e21691180d0bdc3fcef6126706a30fc8bcd2b4ce190bb0eb -KO = 3c98959d844e68b0d0964f8780b63b6ff58424b0f10b24a745179efefe540b30fbde00728e8a5d05c41135c9df2497ea15ec40f0a4c7c94b85e5b4a66178303516d4fbf558754cacbed33695d822dac7a6c5784d4e2acdee4a6ad0daf82c1b863af1623a52b3257a71cf8538176855a04c47d06cd69d269d5d7dbf6370f4f356fb0fd9f62befbf590a9773068e87e7be4f6945276b4f92a039829f98abd3a45c887d927db6fd6d74c13492a915cbef2e457936f6e40abfc0429aa54c9823d377df9dc7eba231b92737482e5076e9e90e981d22e3de9c658d21c517f41f5b8061ed59df822e11c3e96c07f92571974ff6750e02f33b5e6e75256f880852f90925c8176aeac3401fb4dbc911a0308885d501ab0ff22c009d87439ac33453dc0f65661a9a83083793d5e496f973 - -COUNT=37 -L = 2400 -KI = 2ff6222288dc3502a8d70d976cc7674376d8f9d7620408df -IVlen = 128 -IV = cbbccd4da044079a19103cd4b2a2eed5 -FixedInputDataByteLen = 51 -FixedInputData = de2d71eb92714a4391f3a4737b0cd5e0de728cef4e7b008a84ecfb50a1070027f94f6b9ab2ccda14bfe64fbb2e891c64ae6379 -KO = fc41b94800219548a9db761973e6e0051fa28b3eb235ccafdc82bb460c08978b65560c3057f399bf34af64da55e8ed2dea0aea92e004dc90270265ab94c84346377da542634d5c0f7ab88d815d1cbe53a19ef8e0044c35496c11731cfce0f1e14ad08a589c4564b4dd7e5ee590ec4c5bb1ba8d5cff7e7c60d5fac31f4d7a99582633a0d2982123748f6fa1c6acadd6851ff8ffbb9bb8c96c6f9ba1f0a4c7721217b98a1f8e83a37dc2183ed835abe6d8da5d4d6abd3bf50cd35946909ddc61d9fef7a6dbc644eb3224492a97043af15676f35e5b3442109ded7adbcd1c651faa4ed98a86f56f500d8239b07af40553a2a155e90c54d7db35fced0556a82906da2a10afaceeca95c4412fc9d66d0906fad041c47f5418c1700ac6718e0e92075b1df7c24a91b6b2d44a3ab4db - -COUNT=38 -L = 2400 -KI = a7d9f365ac7ac8993d070ffbe4c8db431cc548b00c743a8b -IVlen = 128 -IV = 37c1d95c5becc8fb7452705a7e21b360 -FixedInputDataByteLen = 51 -FixedInputData = 151ae37b0935c959c0ee3a653765625ff8185ca94d941796df2a83fbac27ab007b40861deb9436f0538e9da510bf3ad84bd2df -KO = fc7c4e88f8a1201e672e77b69c8ca2bb09e54aaa4f20e577351b47ca68f6b2287c61a8be84f9bcc219949ca572e8d338754b5ad779ff4ae791ea3958f4e14b9f2201a9ce32be8c60d5d4f8920b4e9217c3a311a40959093de8d326331ecf78b98efbaaa29fe1fae9ace2a6a25167dea69eb9c127c88fa8381886809983dea4a524444fed195a0455c61d847933c7121a90d50540c0bcba2326210a504b1b10449970554b430152100bdae2c7325d281cea9ffc4be5a438ffc1e641beef7feb98aec488be9c9cdbf8d7921a77d34d2e2a6ad4fe3b99885e7a1fedc063d8a7a779d44cba5014ad5ec98a155ba139590b3009ec2a05c33253f82964b7036d50450cc3c33bf0666d66eed44cd1c2018b88f1bc391a6dc559ebf71cbede82c95a7f38464617d17d0eb52933b81a4d - -COUNT=39 -L = 2400 -KI = 52ecd6b274bfdfe45da0cac837fcb7ce6efe20952a2cc100 -IVlen = 128 -IV = ec639f5328a676436edc49f30596cef1 -FixedInputDataByteLen = 51 -FixedInputData = 56ed23fb00a2796e30bede7ae74729fc8e05cbcfe6e345fbdeb03f750a8e935c5fcb8c654d34de830b808c0ba199ccae443e1d -KO = 5c17488850c1495d284f63aa4cbc698226af749c7f50936544adeadf8e110581221a70179e3756f86ee30b38b8d25d78f37ffc216bdc4a8df01fabfc18470b03ffd977bd6f3e0b87b3aac3a73e08d6924b533854dd64af8735809403ed5dacf7195f394604efaca4b9ada05930bfa5ba9403c08093d1debea9e228ea11d817ab119f2fdb5e8c1194564d600ae00604a57aacee4819d565b3333f409aff87f3b3167806a4e3bc33e7d2cea72d90ad45283f18e5200f05eb02b0199833ef8805b9d8e1a397dac7e375b847dfcc0e129f9d60d1ad09b499d7e169c71a207badb1fd837aaf2af9fef84b5f9bf8b7cfb4bde79b1aca9934e3911fa88454b436d3c7d768127bc203f95b79ac33886da68c018a82c9318ba07ed75721a5251254d58179dc43cbfc49ee61ea09cec4c3 - -[PRF=CMAC_AES192] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 7ed64304c9c56f1787ddcfd42a3cac2b73becfbc20ac2118 -IVlen = 128 -IV = c68d5df591ecaafb84d5a209f29a0cf4 -FixedInputDataByteLen = 51 -FixedInputData = bb716f8f1fdc0072173139604b9f390747945bc12b83fbf4577125b75dc653c9ca8032b9689068e97c578055806f97dbbf23ae -KO = daa422dabe80619dc7094c7005d147afb39a85bc46c43d3c3bd8427b2073a5449b78d2f6f57b09d372987b6e112f1174132a633dc936581f08a8b0e41c4b7089 - -COUNT=1 -L = 512 -KI = 10e247d63c88c093fd15f005f1f9a084b8d690eacd3e8b4a -IVlen = 128 -IV = ed6fbb1336966183ccb9285dc4691433 -FixedInputDataByteLen = 51 -FixedInputData = d41d0ac0571e08eadf8d065cf228bc85b754063615b00362ce685af437acb39fde9023251164af334280dda3d5733c74154a1a -KO = d9196f37a064d213b19448a366fd5b1ba1f41a6c364ec48ee06e3be7c95f19ba26bcf2b92ed9e69599a2924786d3c71c7d172dd8309a4f300b206f14fe92d8d3 - -COUNT=2 -L = 512 -KI = e278a993d2cdc2321468d8338bbfe947fadd8101e13e3bc1 -IVlen = 128 -IV = 60df4794caf9dc1956a2bfc7aac8cd63 -FixedInputDataByteLen = 51 -FixedInputData = efac3afbd1a7c18c7bf2b3568f54292d28509fe835f0d9d89818243df6b409bb1e74bf525cb6c1e2af6c8f112605db41ac7731 -KO = d81a7cb63f041bba14d5e86dfd8b9bdfc54b27badb8f4dc8288c310b8f3a812c99b22e8fe82de1573887048af18ac99b72ae44b550e5c5a6dff6e2f6de7b56a8 - -COUNT=3 -L = 512 -KI = f94ef0bfffdf5cb432fa5a985a9a8c88509e1fbbd6782581 -IVlen = 128 -IV = 0e38652435bc4f7f908f1b10a74aeabd -FixedInputDataByteLen = 51 -FixedInputData = 6f76cd42a1b80c3a31ae83221dac63d478757c23c1d00de445ce853c8ebc9ce01874d38630409cc53720e138918885556cf24b -KO = d0ef307bb88827cf4cc3059fffa7d0f5670c110396675d092dd324adbf6fab1c8aaf3c8abda416a864937e977b5ed9ed62ffb53b73c0a18300c38a0ec8062bbf - -COUNT=4 -L = 512 -KI = fc39fd7a0fdfad15e88afd74fc285c259f10e1161479ea04 -IVlen = 128 -IV = c67545dd224a5ea4455c5fe996eb0f69 -FixedInputDataByteLen = 51 -FixedInputData = 421a1eb174280fa512066cfd52e97022c2d2892b1ad5ea0604f69ab90abaeb89167578da732256553a3e919deb03f8765ec5c6 -KO = 90d210985e68069c80ca610c7fc0e49c482a2766b2d490111283a7c314ea9104def816bc01aa887614af13d93e374ef893299b8a5547859e45d450645bb0bdcd - -COUNT=5 -L = 512 -KI = 400dfe55acfe59496577dbbc63d11df936e7b856dcf658b7 -IVlen = 128 -IV = 07fb535aae4f0d49a0534570a067124f -FixedInputDataByteLen = 51 -FixedInputData = 5ef12f1ef344fcde26b68a67e5d278b4ac92c3f0529bc47652515a65de924eddfef4f8e55264156014e11bb60dd5df085264b8 -KO = 04271f8c230914bc993823f53d908783ffadca159c082fe3be67db8a2d637d38835bae29725ca6f11d305ba423d26d8c628ac37990195d1d6cf9e8f46610dd51 - -COUNT=6 -L = 512 -KI = 9ce84303449df0403ac948c077f71d96162b44624880bf03 -IVlen = 128 -IV = ca1f6efe0e1b19a9bb0b66d681b829d1 -FixedInputDataByteLen = 51 -FixedInputData = 27c4d34acc7ce3da804819b4262cf2c7020eb5ec95b3c1cfad3726ad8839097e1fdb0db1289563853ade44ca8b84d887d295a0 -KO = 2a935ad2ec663886ce682b4a44e83aaa46c637a0fdfa8b9832191f60f9b2f09dd2c27752c47b04c0687f82bc18a17cba582031b2d9cb25a0f98f76dbb329f8b9 - -COUNT=7 -L = 512 -KI = da3aa5cfa0cf4327f6b19bdedab1d3d75c8edd5e561ddae9 -IVlen = 128 -IV = 32455352c58894848dc5f5df67718f64 -FixedInputDataByteLen = 51 -FixedInputData = 8a2bcdd8c6fe847fcd9ea37ef0a582ff7117536f775de5c72f554a5e0be9499e1d158b220f63c2ab9bb9587f806231fd1d47ad -KO = b1465186276852811220b53bb2013aef82c5135f50ec76ecf169d06bfdd7cdabe9f6e64557bbfbc0ec42a9a12022429ac47717056de5764b2131e1f1e1c3e0dd - -COUNT=8 -L = 512 -KI = 1f44d12f3c60df9fd6238bde7ac68e8a8b25fd97037e6222 -IVlen = 128 -IV = 8c5c120365387de0fe90456723aab66f -FixedInputDataByteLen = 51 -FixedInputData = ad6769c62d1edc8c1b05cd1880075eba7c6b9c52bda1c8ff90a50f0bb2ac76f6c822e410790d79a53b0ff30aa3ced81fd8f747 -KO = a445742bfab176d8bf7ef0ebea55112e73f97ef4f6460aa587620010e912659343389eddb074f9add012e1d95255e996612215c62f70d3ce75129739b960f4ad - -COUNT=9 -L = 512 -KI = ab2e5b178c3462a405e1d8b13bd5aa00b0b3d23645f31a6a -IVlen = 128 -IV = 53969cf38fdecc42d17731cc229933b3 -FixedInputDataByteLen = 51 -FixedInputData = c0ea553e4d37d7ca6ee0aa9648832a5cd05d69f265fd723a7e0dc2caf275d6c60541a0f2eda4bd723c91d3ef220b437a97480f -KO = 6d8e48ce34f60609663b53a65e3b2b3b1c5cc7663d4cbe37976b06d9f3b6f98f707685ddce02ff11189cec6e144428156aefd6ed7637c7d9400ee7c859192547 - -COUNT=10 -L = 2048 -KI = 80997f6ab3d43259a164c2f6c410d435c751aafd01f08532 -IVlen = 128 -IV = 8ce7b3e4623a39bf4ae4e03a3feacc46 -FixedInputDataByteLen = 51 -FixedInputData = f8ffa5b20e6fd194fec0b7cce108e7761055c3decdbaf444fc1580a523bf1aa66fa3672acea6f556a752b3efc2dc7cf12f9fea -KO = f21cd4a45da39425e761cd2efb7b49843b9d104f9299ad93fa681f0b771e9ee2e3d04a9416ee9a1a1bfba2fee54701e4e25b6d1c0fe2e671871a77ac5395cc5c56260d95333403f92087000d0434ef38fc4c3d50f29592716a776f9b060624383cb1a8a917f977bd867be1d3d71fb8b33756fb09c137f4f06041839eecdb392d26cf7ab3edaa97e3b2a71aeed10ed519332782d1b90d8ab7fb1818665b9836c3a6700ee2d7bee0f26319f5bfd4d65227e8641aa7445aabd007a0b3b4ee83591663bc32ddc7842f74548e70636aadd5cefe3646fbf99cb9d9424f5187a4388972d82cf41e3ca379b439e188d12e357994f8e619ca1d80bcbcff93fce7afcdcc3d - -COUNT=11 -L = 2048 -KI = 31d6efcf7bc702a69ce42e57395777276342286e6a76d96c -IVlen = 128 -IV = faa8e1233e3d0523b23723180b2a96eb -FixedInputDataByteLen = 51 -FixedInputData = 27e56972b53e62c6e481fd342e289cd916c4de1f58f747f71b29669b304e0044e3e7bb60363467e7c1f961ce71bcf7d076ed25 -KO = ae7084d837a7ea26a39373e86310b15eaad6b5e9fca09db986992e1dd760d541d31c79c7157583d8ca668acd92bb944dc5efb569dee4f078bdd5a7eac345058de0973953d7c9cc601bf07c67ad4e4fa34c59017f8a58bc36558fed4b3a43b4d99ee9baa897d61cf62fda3346b11765f0c66d05efc27c4c49036b9fe0f9f53e201636edbd0967748fc1408b28864ff2b08d2f5a541b11c1c8d9b4b447e6044840c3d2d0644e18fcacaffcbd10b4a8f17bd3ac58932215da278a7f2bd5bc6d0edcbe7965aafa99213e9115a12ef5fc99ed23424530408ed5cfd08db6e2e213615debb60d292a10bc731622559fda876ecd55c72ba225e792d76b8b183317845dcc - -COUNT=12 -L = 2048 -KI = 8fe6fc403ee5eb92f3be667f7b1d1e3a32a767d21f3cfa11 -IVlen = 128 -IV = c38d78501144f41547fe2bf4bb8d0dc4 -FixedInputDataByteLen = 51 -FixedInputData = 75729695cc5a92507f1576e172d2784389066818990fc07a8992c398d764c6d5c0c27273454513ee062a7d2d9c596286ded6de -KO = 4e7f52b96e6eb3dbd262f2a4d774f2407de697986840d61180bdbdba05e88afdb56052463990b73f172a049ced4de9c6e16d05e6baa5064f2be2e7f1485c1b9b1661949e35db769dc3c35552abbceea3b2cee66dd990739e4b05f292200d1f26e03d579bc724e3cd771d072b3714447c9a00780aa01466295a60b64fc3653d912cbb13e7557179e682e0059b735e01e8811612128d22db4dac2684502e57c76ca95c36f0dc98ffcbfb3d63ae11350c3286f0fa02a4f64e852c1ab7784561c1f758c8850e450d842790817cc3142464f44863f62f9a04ee573ba90a63b2fd07f5b2e0239142781697e4fc9ece92bc1fb15a8258a21d3aff230e9971ec9e0eda2c - -COUNT=13 -L = 2048 -KI = 30edee07d14662d4f964f21c774093c71671a9a8299bd860 -IVlen = 128 -IV = 50ef6e2dff467ca0617643038dec6c57 -FixedInputDataByteLen = 51 -FixedInputData = d43100c6fa3478e94883eb84393e71541f9e4e61c0d8e2a2e014bf74ba93cf1b1a9ddf55b3a606880c8255cf43a49ff2948b9c -KO = 7cd9f7283035ea0ba4772ad4dd80f582069a1c59768537f1e8c38a7d502cf282c6c7ff934d184bf7fe63f02d1cf8c3b58a4a4b6b8c12eb4a3d5379356bccba602782278ac55c3d7d313c3257a94461f1599831fbfe4d4e18e0714e03f77297db6d8d0379ac39d6fdf954fa107bc0eadb3ca3d0c06ba3a36764f6ec959e459a6618f987170e4f440752e9ad0003ccca14f387b4daef32aa4a2e4f66dcac010b1f440af07fbb14e38aa324997936fd2819fab1709a6c9eb20f6a2113e61b72173425fe172edf37d471bd33a9c4bcb0a8ec3486e3288265f2c64665995a20ef49bc33e671984b90c1a29c93d98533759057ccb719e974da12ea79fd92af830cec8c - -COUNT=14 -L = 2048 -KI = 9960cbc72c5529969c037c57ff306c288a1f9233585d5fc9 -IVlen = 128 -IV = e8eea0b113a7f6fb85fc48d4379b3330 -FixedInputDataByteLen = 51 -FixedInputData = bbd6f40bd1cdd5a8532ecb6afd0292ab2a2fd619f744a080501759674b1aa16b4a97bd488e109e5fdfa569e988719e391063a6 -KO = 0a077f112bd1c1bb47c9512d789f0176edd53a4607ba2ad5b133faf189051317060844706bc36dbbae2645bdee450906df609bae790df45dc692d5f0e8932e867e11f00b7477892386ce3a413037b92637eb49f1311d023b5602cbff207f4b3e036a3984811e569b1ff149c18b39b01ba8308574280441d47d1dc4b3d1c6941c3b13c851509f65d1fc8b42b4bbd20e30150aae4ae994cf7bc97cfc6673f2b7c55b6135816ba9ca9cf31ee5cab42d5a214ba25ed1ca6fceb34e8f8c61279cff092eded59822bc0669848d8871b25c245a63b392ea38c589c160e4f2d496d20f62b282c815dea78cd6ee2e57e12688be90aa4339559ee07840e260be67f50fa7e6 - -COUNT=15 -L = 2048 -KI = 40b733842b846ef725c5a1637f2d5851331f2cff05ce6387 -IVlen = 128 -IV = 1cd67f8e356c095b0120bb4f44df2406 -FixedInputDataByteLen = 51 -FixedInputData = 38e419816b38776f6bdaae973b8b1dddb8c50595d83afc941291d0d676634f4bfc7f30ea5485217c3ff9ea06bef2113459f730 -KO = a7df7df39cef699fc36e813aa1d75a84552f7834381a98d9904dbc26cb0c4f4db77a87a2abeab60c2210c53c1484d1ba957de6df3e5df6878a77e454b2d54b58171d92b7646ceec838b3cccec8eb41d000156ec2d1c9c22b36e250c14bf168e09eb639f86b7c7f579e183e2e2c675aa05c293762c7bc38c9f4979e54d14f7ddd36412bbcc920ca04c8880871dad6f9979e4203721cf2e42d3a5dd9bc910b501a734cdc268ba2c15c369a452d6c716b0f046944f72148af13d5735271cff31147fa9cfc87306410a31bb5f62dda5fc6f6011cd5f0c10efe71d3bb6ae77f255439d528e8e2e896cbfb1d85f8afe560d46a2c3e7c810215c068c0f2c842e4a03bc9 - -COUNT=16 -L = 2048 -KI = 05398ea169162838e9ac69a47a8be12233faad16f6b88870 -IVlen = 128 -IV = 1ba167c6f4c3438a95c44bfde64b8509 -FixedInputDataByteLen = 51 -FixedInputData = ccec4f399323afb3e57b0fdd5abc0a4b391ef974985ea1610778da424387197b4604a24b3b0dd18f47f1b91a37d06cb9a0600e -KO = c38e33732a81161b110107c2d9347a3d65a37a72235cf194caa4035077ff07cce4fd36887c033e89fd102d559e345bbf4bf3df048d511497337873eab8d1eafb0da1e3d3c32752fa6e50d4125b3185765785d6a6b42274d805173cc7c3d6809fb6fde18ea60c47bb12aad12a34176aa877a507cc93ff21db0047472c83102f6b0feb776774ae21d6a22fd36b177f29ac09eb2bf2d797a25d2dccaf05be4e60ef7888d76297913f7f057cca0dc7f9e50b5f09dd56f11b6af7c81283b08839c1a29b81445e06ca579f42d3ca006574faa947c89e410c0bb014f54efa566f52728080822db4f3732fefbd227362c1c4f5e9c7f8d1ebd845dada3e20631242ee0e04 - -COUNT=17 -L = 2048 -KI = a26319959f6f7d851dd3ed7d8f6c757775c92a5b8f3f6296 -IVlen = 128 -IV = b86f01dd3e77c658ead461266c4fdbe5 -FixedInputDataByteLen = 51 -FixedInputData = a3fd1a5eae7924e469cdf0496e4ced1b2b4ab7c2bbbe1310e72f9de31657961d5e04bd25f57ea6827e57d55d9bb31c21dc944a -KO = b89a80eb34b29242feecdb1c653b290d2d5afa1379d4caea8db78595faa272f82462c88ca63041e81f476bbf6ae49d55c070c0ddc5c6ab40525ed92a93c4776f1c6f304ac864dbce14f20ce258d1bb0ea12339545abf523f6b312c9e83c50fc2aa9485f351f5853f1f05c5895eb297555706400adaee15e4d38992bf69bc216d7c42bab2040ade92885a6b6259909d389766ecbc55dcaa20e37bb881da858cb28fa72f62e4eb9a3993a60004d170af528c3ca01f3b50f57eacaf9cbf513ed07f3ca7f7125f7f9d86dab0e3de45fc7b934c8a5e712dc4b343129ba1fbaaede9b78f3cfcddc8408f640fde04473b0d9d4e92a4d7b27b5a031c70b87919ef92f6d9 - -COUNT=18 -L = 2048 -KI = 30abc53430d60b51d1d1eb6742d0a825a673a9eb24a32c9a -IVlen = 128 -IV = 7effb0528f967818a55867835fcee5b5 -FixedInputDataByteLen = 51 -FixedInputData = 938454de7084e666bd18a564f1f7d959f949033595605adcdb0e14a803e2241f023fa30e7fc8f5d05569d31baf52ec37b5a568 -KO = cc3da8277550479abfd09b743ec1074b0d057d5ab70067465b924b62e47b00ffe3f188b980a50f0cac1b5c785fcd3f4b657974f14b1576c5461446262b4c5304abffd12a84a8b4e75f6b9783817fa88b213272b79cb7e96957949736e7383b8c2863b42565bffbae639a8860cdbe9ee4fc4fb707664639e8e2402231c1e18e2c18120d48bd028d547ba15a34864df86939e36ebb29523c7a47fbd37cc97c882c28105adfb60620ac7d4ac345289d1d6174d871598632d6a77fc62c22d9cf46116c9d946d1482f14a3ba29159de0c9b093b17d30aae463ae02e21c14310880e9e396c6f200f3696e02b0ecb73c7a4ac3e205ea880c3c63e08c5a224c323e5d358 - -COUNT=19 -L = 2048 -KI = 3fd8b7e38f66a57df93bd557c2bfade931b5897e5217ce58 -IVlen = 128 -IV = f4e6f87b571aa37f6c930d8fc5db7bed -FixedInputDataByteLen = 51 -FixedInputData = b24f80f15428aefb3dae997b1b0cd4f1c3d58f5202afb0cd37cd6d81e689b3598be7636d570056ef3e6e14379e71b4270534e3 -KO = 00c49ae013b4f4e38ca9b52764373f5bba9829cefe57cea9e081e9c33d34328b20881150490f56568435693ffab5da6311708452dae05e28b9e4955fb96f5309c27d01b8c85c6ccd2a4a0770e2e89e2a416e6678dc644885857579fb3f4baea9730905b9c4b04f066f76f3a7e59b649da4c657bbbe49afdbebf283327db03748afdfcf93b116e00288dde6727a89652d92e2f6dc7bd7b6f62e1e2108338c4af985c6459096853dc7df0f4012abd989d0d2c76c270115bdcccbde362a17949aaff5411207dbf7d89f544b711b2750ce5452bb5f3ba6db8031e0ffd3b1af2733680c0d25ad191f71bb327bc7bbdc8e6dde4162c4ad372ff41aee3bac860d19b505 - -COUNT=20 -L = 560 -KI = 71d4ad3711029aa03d014f3652336859c58ec8e53976c992 -IVlen = 128 -IV = 3b17323ac3d577a597d3b783c5e0d71d -FixedInputDataByteLen = 51 -FixedInputData = d5f797973a7394c6f3a53a053f72ad7ccda86cdfca60f7348519f28a66082b4865b53b83f50a0ce50d6bf5654b0ba1d7ebeeb4 -KO = 986e631dc0813deb6a7be3c69c08b4cd82292d79c4e868e1144322b6fc313c89c739a0c49ac688026a8c283a200744145a9d72a21759053b01ace9e4cdc3b82bf2c8ce121105 - -COUNT=21 -L = 560 -KI = 4432f25899f825f64da74dd3eb7487f6e8fb80773430406b -IVlen = 128 -IV = d8373956ecaec4c648a10e575e4e4295 -FixedInputDataByteLen = 51 -FixedInputData = 45ba5aa6db3ef4170a1857aeb653f84497f495b3139ec12038f7088982fd44cd57d143a30787d5be119d0d6c88044245c5a9bc -KO = 137a776e1589d191fc4e77b99907d58da9406d08019c5da2940271b8e1d7da50b7371c6ec0560f4efeab3a23dc5e28982972b4183a094bd635da92b4c238a1b2c16f499c2863 - -COUNT=22 -L = 560 -KI = 0fc082aeb38869fa4f0cbf576dfb5676521329760eaa2c18 -IVlen = 128 -IV = 2bb9d60ba00f8fc8d14b9074c053d436 -FixedInputDataByteLen = 51 -FixedInputData = 2d3127e5f93c0e8db1f2b37d4b1731b28dc9b5982943e1c155e515b7dfd13b15995f2e480c73016151b3e9dc61c2aac65db302 -KO = a63a9edc9eef3a28fc324f5f2895e20333bcef85ab5c908f43a48e484674791347d89509197998fd030faad1a56982e023115f8bc65445dd005e135a768369e0cd3ef39831e1 - -COUNT=23 -L = 560 -KI = 1bb39bef88a74656648099f4e8b6989eed441ed6e0c5f18f -IVlen = 128 -IV = 5c6bce6d6132673770deaee8f9249c01 -FixedInputDataByteLen = 51 -FixedInputData = 6896514464c3e71c9aed6e62ca71f83c22d914fb7a5c1445a1bc82b8e32c9e08886b7437cb2d0d4dabc692915668b9600a4b2f -KO = bec4277e54b7f8c91ff2afc9c87c67e78e4bac4ba42d38a98b5076bf4011ba2808f5e9e82b60eb892eeb42e68e89bda3fb278165d375bfaf41484b3a2d2d87271d43da91cf55 - -COUNT=24 -L = 560 -KI = ff5c0ad90ce7ac167d0490d6e9dc49f269a6271e03f26a06 -IVlen = 128 -IV = 0933d7339ae6001a161bca3ee4f4247a -FixedInputDataByteLen = 51 -FixedInputData = 03d3af716309560e070ca08735399d543216b1a043e5b765f8e52477097884785cbea28868d2282a45b6f4f97e42ea0dd8cf79 -KO = c6ee08d0b80c29254ff0c1478e62d22484e545705a5a500086f5ffe8085de3f0480b96eb9893a5e95f89774b408012ab1380a4c89b991703243114d840efb5dd393bd31a225e - -COUNT=25 -L = 560 -KI = c8d6426721fec69b3101a3dad91666db02f9ede1548e5363 -IVlen = 128 -IV = 8acdb16b4025d186ac88d2c9b70d858f -FixedInputDataByteLen = 51 -FixedInputData = d3d70de804c7ec123dd3426524481e1dbd253621dc0a05d1609edf458bd14ae6da316bdad5f836fe428f259b30918822a3f954 -KO = 62a57efc989f5ef25bc58a18e86da8eab022c15549fe77e98742537ebb0601123d1459d0222f82673fcdcae40ee468df18fd34b01d082c92cfeec812308ca9177ed962b8cdf6 - -COUNT=26 -L = 560 -KI = 69fd48e68f6b2e1de0e6a3b501b9ab66f43f8f61933c9992 -IVlen = 128 -IV = ca9f1e6bb000bd4e1248f1891e18b3a8 -FixedInputDataByteLen = 51 -FixedInputData = 059b2f828d4b75a981af8c440ddac73b06a00f6c70f7cb866ad39c780cd639da416e874d02408c03621b02e53292510b22917c -KO = a3d56823cdd90c5f500761be5b8e892fbe1105bf12f5e652cb3d9cf84e4e40e2d6d56d19407614f5c47601b980d7ae060ea94282417efa73b61f10f995838b649b712cbc013d - -COUNT=27 -L = 560 -KI = 7e31ef1c3d95909be3532c5aec6f3dba634b043d52bcfb93 -IVlen = 128 -IV = 9df5583d53f356cb44ab226376c41e7f -FixedInputDataByteLen = 51 -FixedInputData = 63e5e9e7397f7f269e57b170f943e851497ffe12366a0caff1dec25395623c70756b41c8c2d8d87cdc581b92d86c72aa496219 -KO = e7a3870c8e1c315e1fb6b4147efcaf44ebab058b14b172f7eb8f61140403044032cca857643cfea83727ebe1b79fc8133f92cf352dee730de0e5384fff7917dbb7a07aa222f9 - -COUNT=28 -L = 560 -KI = 26688ba0bf7761848be3d5bf88b53936ab75795fa985c34b -IVlen = 128 -IV = 5b5b920c70acc298c95bb4492f1a334b -FixedInputDataByteLen = 51 -FixedInputData = 46806f2e6e682afc755e997abb75b12f6d48a8255d61dedcc0742b96d72920dca6d9fd23b32d80e43590f79953609525501c9f -KO = ebba2f49fcddf766cf133fab4999d23e2c0a36547723a50f7b66b85ad26c5aed7f0bd428948d7d533327e6f2cbe61e51efe365e29af6ca64672445f1cd19775af6e16da78269 - -COUNT=29 -L = 560 -KI = 84d387a874ee2b337ef10d76f1ec41ce95333165acbf0199 -IVlen = 128 -IV = 5429b453ae73ccddeb8b52f1edf09b1b -FixedInputDataByteLen = 51 -FixedInputData = af30ec6ea3c7e046b05f77111ae62804f78514145e230b9ba1ae7216b7984592d5f84a7d2c716626e0b9651d93dfa3bb383885 -KO = 77a16c869d6751840e9bc0f1d67481d9d5c6d112543db312d169fdcefb2be0708d282ed1f2abbd5d2b4f490b0ca33d484ecc7e56bc45976e2c1cf45ebab62d980e682ffea733 - -COUNT=30 -L = 2400 -KI = 21fb681d486decfb64a182451f117028468f8c6795559b21 -IVlen = 128 -IV = d6ddf65366ec3fe620afdf548d62cc3a -FixedInputDataByteLen = 51 -FixedInputData = f0a53e7fceb1fca697156c8a51b07f5833f1f4ffedeaa001e3b21544e4d5e65bbfa34a728c895a1c240fe11726f9e70eaac532 -KO = c3b43b053f81c4aefe230d174a252e7d7632b9ff0be2769165d06b227d5fd32a08b9e1bdb3598164aa9594c381408fc9a0807c8ac0bf3f0e1be95661d67414c952dc639cc5ab94538184e2ccdbd6b90e0aec0e52ae18e3fe29fdb29cfda507b0130d8bb795d7ad35d35bb49f4f6ef7ebcb63d15ca338983f0da7eb35d334949049ab48610f6a899a971233cbc6094cf10da728bbd7e4fc204e5bf867f88d0d7368384ca9465c4e3a17eb51be8a0240b4ecc89bb9069dca6e64be470f80dce31903110bcc4fca203173347c47ad9dd5b2ab6e3d15bcfb108da06ea98174ef8b4fb79db5826d0b9053b7a541d3a4ed73b10756d3e846327eb0a7a886049769edb7e14bc11b8356eba743a5d2b7010ba9c18df406ada0ded55e603f61c0743dd3ae7459fe859a79ce52b4c6f2da - -COUNT=31 -L = 2400 -KI = a8f7b257c0808611fbf31a829febd0acd17b4ef248dab416 -IVlen = 128 -IV = dce7bf467569b2112edcb5248d8d6481 -FixedInputDataByteLen = 51 -FixedInputData = 7a717eaa618510ef63162b2db623059fa33a5b65d698ffab0372c1cf9d7bc9a8c02264efdfeff9460fdfc8ca5c6d4d3a071159 -KO = 7051549cd4726fc6c2f8b855bc15ddb52ae3111ad2e837dca58266c2ec0e152e2a9db720bebeac313663d2db6bb4b9e413f947a072ee70849041b107bacbc616139799eb4a16a1e6e1f496b2cd735d48c7543255f678bd49d76a969b69ba0b831baab8322ca7d392b3c186cbc68a4559da11c9f5da17cd97178e529ff9216e5aaf0c34fbeebab9f70a32298f8a9efe7f983c4d5e64fa8bdf38cec727a2c92c69ef0c35764e519748b08d6879a9f8a5c4a0c6a8356dd6a83ab5641c02a3ba863d6ea64345ec82c5da6e4c52914eb6b12f6313746f562f52d3be43af9ce666a41f9d706b10989e0091e7676919601c584d5c477937aea4d05d6e778f2a09cad129a84d073b17d265f95a3a35b0c92bd54196fe506639578bc49a43cc61c79ac2c2d76ece0c67af05bcbc67050e - -COUNT=32 -L = 2400 -KI = ec3de64d1afafedcef48d6705778c0c6539c8b9166f7d2e1 -IVlen = 128 -IV = d5068915a7112e863eb6ffd3752b8fd8 -FixedInputDataByteLen = 51 -FixedInputData = 5a928f550e1a4ba159cf1c25b9579994c89eac9e80f62accb20bfe7ab5000f5b44aa0769449f68a2beca665d39e40f23c38ba4 -KO = cf8a41cd61ae323fff14dedf847802d37e5b12b34a8c9bd7589386f9bf2c6fbb4389a214513ad0e6cd7f39212834959dec39a0268775e176c9ec40a8ef6636cf4441dba550c095f61a8eac5ec891e8e1e0521435118f0bf9ec01803737d735ea465525f7f7f213e2259a4a5d43c664e98bb19368296ca74d4a6eb792fe4f07619d3c658256924af27352ce0970fdb55abb153d7b8a6e53b0a5466c8ab1d84e2fc57751dbbca43d39b1c70ce473e7242dbcc8981bd81b44bfb9e1016235c81c0fc5a2019a9a4a2ee370089025312e47104e89c27b7f361d6428d62a95591e4ce06234c0c3a7743ec711c9d914c953ed1eb160a2d3f72a07f3d34407c023b5f40b9a3cd02a0d6f50caea3f012244203c521376121b0d9691d5cc8cad3917d0a931fbb57811956904ed6d4bc163 - -COUNT=33 -L = 2400 -KI = 0894253081f951f5d24e8eb50f43ad978b3b820798301e0c -IVlen = 128 -IV = 9e90c5e1e4edcd19ddbaf46e66b8bbde -FixedInputDataByteLen = 51 -FixedInputData = b4cf4febdb9578ab9630bbd54188d40c942898254b16c822782d7ece710a685d7b05b8a96c652ce44d37e18524d85acabb6960 -KO = 67bf12d26f4ddc426dcc480d11b2b801aa02e34cd91b7f528e53e97c6a2801458a3f356365d5db8141cb3d046fc529ebe8d03b37083a896a4de10abec2ad2bbecaef2c21f105ef67a6860b0591b239d96e09f08d872303e2780af0d5d4419bead769faf4cc66b0d9d169d9fabbf2b42209b7109d18458aac02fc7719590f2e1a633f67893f86b2dc501cd7486156647b9a851b74678eb310e9ab8efbc126f4206f5501ebfca57d665918f7df4ef0e963dbe8d799685ef5177087cc7896b5224c88285cb5c5829be9cc63aa39ce3cb562bf4bbf33cdebeb28d9631c198c712b257bc77747eddbc3b27f8d414f2c5d8f87e79a1799247873c5dc8b69f2e5d99686be1b6e5acebf23c62f3be6c13978dbe30a4112c814c26414b8aaf89eeee3d0fc3d74dc80348520e16cf7f5db - -COUNT=34 -L = 2400 -KI = abd215412155d06dafbfc598c1cfc799cbc009f3d72e7002 -IVlen = 128 -IV = 14731ccff12cc26ad07e193bdf426d9f -FixedInputDataByteLen = 51 -FixedInputData = 5cd8ccdf1d53acfa39787d0a3329006916ee50e07b3ca82922b3d2ab790b525ff10e2fe0521baec6a6a1a90b4ae1896c27ba6a -KO = 5b56fdb98dec0edb05a20a77c8546e617d41ecabe27f8b8afd368fe02f836149414d59b8b614707ef4d3ed742ffbf0048dee98204d58d2477618ab9f5ab70c097daf1b36b42fa9ac39b660c0d9516a68f89378456669b7520512aa8024197d18a3cef42ca118a7e436d2d77a1fda51feceb5b93b54030ae7510bf5c7932921d7d684410a5c92a49594b0b48b2643f04d96529e10ba0a467a4ccceb298a0b1103e1cd85752eba3b470b67411fa85ae56f6be6958f8fe371b765974df19896acae6d5ebc0ac3922e398f0ab4834198f5066dc009644a656df95437c7e0c8f552e6a01f7f1d97ba9c8c0a0c73ce5062d30cf6aaf644b24f0c3f4c28da21e7041ff0439ce5e237c0b7f6452714cf79b8aca74895c3b3a898506f78c73624d30f13e4adb9e2d488eb4b9a6e82085e - -COUNT=35 -L = 2400 -KI = 0580f4f1140da3c5566024c244bbab46d4e91d0b5504d784 -IVlen = 128 -IV = ea50c177aef9f017aab3897160fd1d70 -FixedInputDataByteLen = 51 -FixedInputData = d123627e746389a181c6c48f5a1f0d4598ede2ff87110bebafdaadf429522b7c658add4d2b47b6bf6a075dd29c00c7edc68709 -KO = ad15408c3e175bebafc19fceae525b0e6073d602fb53f4ea088710d58f00c6cc53d4af905b314b5812b6334636e93acb6fb30e4df0d346ccaf29318d2f4c57908bea654afefd4635c3c721330c987639284b7c90a7a3056cf8b3c5ec2cda5478c1ab7b978f29697749238182be43d996bdbda02261c7260a29c2ff9146ffe92aa25cbdb4564c9ffed827db929f6058f7875f5478eca117f35ac9cd61d39ca91bb3f87f61780a9c0983429dc3ea126f871bc8203b3a43db09d419254d5e5e9575a8768dc87e43a080c811bff1537802af1c7628ae09690f0e04ad425060d9a2caaf3a74a6ecbc150aec30c6c3584379eee767427505760d1cfd8f7df00d01c5bb200e4c32eb60a0b9afe03f99e1bbc234f5b4aba741ef03a6b10b932480a8688a6dae244c0bc6e16782cedb76 - -COUNT=36 -L = 2400 -KI = ad4b2308eddcdb15ef30d05f8560e5e59fe4267dfd00a6fa -IVlen = 128 -IV = 12460f5daadab9173b50fd28495a1986 -FixedInputDataByteLen = 51 -FixedInputData = 8291629a982b855d3b2a13b5cf3ccdaa0b10ec2e0e138f8f6ab6248b16f53e202cc9331cfc378da7f7e24974ae6db6ea157002 -KO = e3b63a49bb2455eff40a6c71bc00cbb822e2ae40151e18d1c73009b356014e1bd8d1a1692cd18e5caa6a4d306af5468b26f5c9cda25d21cc88d55c5bc6b61016dbe94b94683a132170fca3d7a99a0b13142a5761f9288e65f287c600ea339d37a25714c0ffbf221df8218e15a5f0d3fc7105f73b25c25da6eed3eb839140ad30b0e5e20a7a87634d323d286d8a957e070523bef7bf0398e8f62e403bb99b1c092baa43e427848fffe666b187b9b7fb43c475f31fa6752a8374ad7308543f4d3968797aaf1756e70ad2824807038f82ec96aa297be79d0a14728b7d3c0e53aa3faa2951c582445322e188af1526dbeb05bf09dd4f4b7fef4956b184084b9f9e436b27baa05cca48f7fd12b4be841d4a6357a227cd69a9a0d38664c30a9b50288ae2cbaee151901ff642a7f14e - -COUNT=37 -L = 2400 -KI = f48e728f80d0b9cdd5550c0f9b426d3fc6d8547700e4a23e -IVlen = 128 -IV = ea1d237930b2608927534d8b14a00700 -FixedInputDataByteLen = 51 -FixedInputData = 3b0e6f78e2b86e06cf71bc4ab4ce8b767e305e42e2ee33d9ffae427dca2b9a3c3b95cbb157e53ef57ca3b455cd77297d5a2a29 -KO = 310416b04ccb0dd373f5b928040a5d5616e0b314d66b45350b0276cd47f4d1808b0da5c246aed1a01eab75c442bec87c2dd68fb4029bb1de95bb55224913194a581050dc7cadb9ad974f7e350bc10fef60cad7015d85cfd75dafee84c2a1765bb9800fea1de8f2a90405c017a129413515d8c75b84b5391e54791cdce4ac36d01d2ad7d4ed43af7ae741f887d70fd974cde60bb377392c9a51c64630d4e2b6f01f3dbef874637f99bfb1abd8017cdcee8fadb89f07938a2852d5d18216c71593487a501913ce827cee41f2ecf9080b378aa6d61889edc9faedfbe78fee2eefbdd07d6a73e1a7e1aca4e6974e4256254b3a16bd290638cd43f15c8a880819ff4401a15bad496d85d10bce791a9c420f48ff9bcc87c75ac901b3b8395ff4e19d26696d056f0fd38db9e6c5335d - -COUNT=38 -L = 2400 -KI = 2ee960d3f23e3af73b09ee5143a323d9b01387a0c077b114 -IVlen = 128 -IV = d8525b1624cc4083f53b02a89d921c63 -FixedInputDataByteLen = 51 -FixedInputData = 651dbc5075d5841a86679e4274e21fd934c275d717ca5c63900f7bfe7aecc1ebb07160165e63510dd605e1e887ed887c08eb85 -KO = b66eae1debfe1c14d3210c1084cad0c517dcc4f11e8c91b25b56397c0e34f55af9090a3aac8f19a75b60eb17cdb74063c72b9806a29919c0c6ec0cec565810d3b971e268f764666e147e37476294843994bea150238d1e5d0009677effc7cdfb0529b66e71744e3ad0604e3ceffd729bdc075e67c827d4cae2296401106c3632d5bc9930e1bfad9fcdccf1846141ac98031af65ee5a5d63db2c003a999515515e7755f9abd33b338f8c4795661252b06bd41450103eebeaf889399ea222f6eac2eda6d445fc98d3ab7d8a890df8a0ee02a8d736deedc33c3f275ebd41c4f21bd606b0718f60126b4e5a44a0948e2a847c9962977d65bb0fdc78a541320046aad317351481106e8d572f85f2061469290af78623575f1a9097c87fc6103e04597bff6b9b9808ca28f7782a042 - -COUNT=39 -L = 2400 -KI = c0bd3f367872c23df7f91e663eed616559202a848d8c93ab -IVlen = 128 -IV = b7e74b75002ef11807c6d3c7e4d816e9 -FixedInputDataByteLen = 51 -FixedInputData = e6d1fba77b3ad30476a9128864d7aca1287361d20a88e2aef21586c8c299210423440541869beae9fdee4957463c409f5304cf -KO = dd4ec4dfc6c22f9e963fc1e2e7f7ca6238a3977acda38de75d83ab4c1b8207763a1029cd98d938aa30a479c2af2be39905d45da779f66e5536a58f4a258dea0f932a61a28bce838611a92273d339414030c2ddabeffc212255cd267a2ece5eb4be71bbd3cf603b49842bcf0073b9413e57e2ca672ce9eb031b88239eeeb9322abbb6053e2deb507af6d2c7f94d4d7df2cd6ae2bd3bd70e2735df47f8a179ebf39a4c5dd519c27dcd9a30404bf50c1b690f2ad2d7a58053e8e3ef5e2a4d8787542145f9bbb086c2aa2dacf58cc84d774c7ad36f5b833ec0e34055f812098fbad4e092e49bd227f8912bf90c608df8abf2f10fea8300c560112a1921a6e13d9b8d2810033b3d384ebbe12462c609759e6b23cfa42f581c3b9bc2ae54bcdeb56c613042fa5091d882567b93d1c5 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 7c7ff2dd8eee2d92a66a218581e49891711f31b4aa4ff19462cdf4e944cfa2ce -IVlen = 128 -IV = 3c42262183235150c5a0c91a72ebd075 -FixedInputDataByteLen = 51 -FixedInputData = 8dfcd22ca90d915d0391771538fb4a226c1375d3110bb4cf11c1a4b290fb02cec1854c7f157cf9010e43a4c51a2fdc58c44708 -KO = 6be157ede99c26e16b8dff219043507934183700618a5afefed3f8b69fd60efe76334dacfd43e1ec917143ac67d3ec429cc7dd1a37fbeab07e94777fd14c0de4 - -COUNT=1 -L = 512 -KI = 60061b6a50ca6f4150e0509dd91962a29532bb3e45f4ca699f498398ef777a3e -IVlen = 128 -IV = 4f5a404bfdfdac687fb5784663c54042 -FixedInputDataByteLen = 51 -FixedInputData = a90e4e9bf2e02241384ef6bcb250cd27b246e98f13019a7c4e30addd429c221d2601fdb52f8ea653d1938f884f4f0ce79832c6 -KO = 39c0e00ca0553c5ffba785c545fb7b5b5e1f340194cbfc72d55a16c0b18fa6560c8ba415ffb8611a28abd8374ef53b22b434e10c1c9cb3ed28859d8d1924176b - -COUNT=2 -L = 512 -KI = b4f4bc14251b145c56a6eac7469be29f6b91069e2b6b731ac7c9f4e952538abe -IVlen = 128 -IV = f0fbadaaefe461cb0e1a7a3c887dd662 -FixedInputDataByteLen = 51 -FixedInputData = 21fec6bf0985f457cea1606c78dc1cd6883a0a2f38f80c3f167dc7da47b1415c2b0c02ad3859c0716d59d3bb582f04b412a565 -KO = 3e61269f5b876b0ca15882715ad86e7950ee225904e91c3b40ca655819e72690df5908cee08ff19606e52eb44c33737c075f6f125b470134a9be3b3d09f4df69 - -COUNT=3 -L = 512 -KI = 238529e7000fc12d773f7d0439a2fac38de3ac100aa631f2444bff2ba5a8311b -IVlen = 128 -IV = 336ae038643311444e0d7f808a00260b -FixedInputDataByteLen = 51 -FixedInputData = 1660bbeda762e6024a65746eb2123278f5a3f7464ed894d53fa5b33e1d7347072cb565c417140f1185ea2d1126ca5dbcd9da3b -KO = 49ee74d4943ec9e985d84cc9a7b5318faeadbfa51305e8e8b6aefc8b6f27cb327be9fb843837f5d10fdb8ae74af25078ea9c132f15727dbf9f3e58dc0fbea8e8 - -COUNT=4 -L = 512 -KI = fcfb16d5eef877f2d385c6ccc8b5c6acea884ab6be35dcd3fcef4e895f50c72c -IVlen = 128 -IV = 4b498bac7bc47a5d1925b5a1224e5e33 -FixedInputDataByteLen = 51 -FixedInputData = 179a409ba71b55336ca1e3e353175137559febc228d8b6e35a7078e7b4b059586b846ff4edb59f181e63d5a3d3c741b9f42bfd -KO = 05145d2998170f62a20cd535fde792c2e8e06a7cf4a9cd358369ddd4b0185ebae1e80f79c91ff69cd2951345d088fe49bd0dc723b68e3482afd0f3e4447cc68a - -COUNT=5 -L = 512 -KI = 238e28ba05d21b96e7db7acdae465721a6a46e655b62c11d38fdef02f66228d3 -IVlen = 128 -IV = c9095d24e7496a9a086b487dbe1ce24f -FixedInputDataByteLen = 51 -FixedInputData = 15724670e3bb2879d2db10f62340cbd103ecbd4f0e5805c71d20961be5f5a480366d41781b099cc34f963ea94210fcfd307361 -KO = b6672498a15ae3bad273a2d1f8bba3dc9ace591ea001f88f9b20e5134cc6c6fe997ce255badb36a92b61da6615af800362a9a55b569314e4ff44342b5fe7adcd - -COUNT=6 -L = 512 -KI = 1b5d5f9eb0b479dc8c2026d71a3fb061554baaec0ba55de33ba503877bb90c00 -IVlen = 128 -IV = cd6fb213e7b7eb6d421bfc3ae8dd7675 -FixedInputDataByteLen = 51 -FixedInputData = e7d7c60b8792fc7dfa70a68a23695d6207740bd84184839dd2f61921cd46ef56d203bd5af5e2553cb9bfc64e6217b6a90489ce -KO = 19792ae0f7c17ac71fa551931f7c98d667af3bdb887f76811816d82476547e6aeec32671e66c87c41e6edf350588dece89c20d26580a5855fa91747b80bf24b5 - -COUNT=7 -L = 512 -KI = bd0a12b173429bed6477759fb6b824a5d7e2839399d854e5bf0a4e8cda1a9035 -IVlen = 128 -IV = a8991a58b540fbec1104f9716a172b7b -FixedInputDataByteLen = 51 -FixedInputData = 18369ed7ccf13f172bc4acde11d32fd5ac2f8f7fc78f7c045729b47bd9138af93a995b776192849dbf553d59651fe0e0387fb6 -KO = d1bce50e0ff4ced6d981a9157f1434ba4cff129d8f0e86377d46f88c32ec20ad058949479cf52592bee2df8a6be438be5ea0a6c316c81282fc6b5f39e2c5332a - -COUNT=8 -L = 512 -KI = 41a70e29b6d489e69e96caace08e59c1985699597dab5323d72ea87d343a8570 -IVlen = 128 -IV = 2ea91b800d825d2a6b665debfc884b96 -FixedInputDataByteLen = 51 -FixedInputData = f9f4dbf5d73dc3b74fe5db9caa9a381d1e8bf3642c123868469a32cb8a8da3594f24449c6738a7f5b752b6d020bcf4829f3f36 -KO = fde41431bddc18d23409396a1913777839ad1b41c763e861d7f4f75572ee9e886490f73280cefd921ff486fb85553eeff07782d648bcf7ca0a6ea4dfdf2477d3 - -COUNT=9 -L = 512 -KI = 575ac50559e2bf2652a517ee22fe9cfe04a720694268d453099a7cb8a3a405a5 -IVlen = 128 -IV = b69414a804f5c4337275a9e1e0886584 -FixedInputDataByteLen = 51 -FixedInputData = e397fc5162fda9d9939c173ec15b54303dcfb33e13726552bd93c003705b4781d94d8c20705c75e97afe936d8b3005fe63d2b2 -KO = ae5ef53866b552d47c044d36bde96131bb26ef82cd838f8a390ea6a97f60556b1ffd20ad0d127a84b875a8b5dc5a3d8c214727f5c3287434fb7351c8a5a7b35b - -COUNT=10 -L = 2048 -KI = bcba145dceaa0f1a25e789a08382414ddd52a2374ae37b3edbe43b1bcf9753d8 -IVlen = 128 -IV = 3d5c0954c1b6ebd2f156ef925cb801b9 -FixedInputDataByteLen = 51 -FixedInputData = 35fa60945608960deefc5098b23e0beb1bf81c9bf8b3e63caea31c409de161753319127ec2033ce185b9c65163325f76cd42c4 -KO = 23d2d02b1f65da14acfc5487fcda766d1458eceaf3caed7e5f4189d55a23ef600fe495ddee700567a4ca6a0c6e5777d620f07c0cf454896781dce2a7ae2c51bf1180d70902d7f07854f48d8430d7939ccd61fea810bf0ea87df647e32e74deb234bbcbd05455147aac9019c66de33413a40352db8ced7337e63d7e5f2f7bf2caac01d0181186ba4d558436aa1c5e28aac85d7925182e314623fd0ab5eff8086a032e4c25d941ae19a4f1146deab05605e738110ef86d3126ec7ef6acc10a42e8d070850ffa6025b9e9b0e23fdcea9242bdaff0213eda4e72ae94c61fd937ada575d6ca717b1ae973343aa617deccfb53e17fcc060f7cd9c22026d0272d3d8c04 - -COUNT=11 -L = 2048 -KI = e8443d272bcd9b9d41d809e5ee146dec1b8bae189fb4dc8fcfca07137bc4dec4 -IVlen = 128 -IV = e149fc4420da30d0cd1d242e895de958 -FixedInputDataByteLen = 51 -FixedInputData = ceaaa5667fde250e6e985ca5211afe0ab30c7121ff12247ef7cd1fe1138804bf82de5f7821923bbbc1fa3f8999e40627d8becf -KO = 64858b6d9b72fa9288504e70a532e33fda4cda827e67b7351ff2e3c24262c926c7c9741472a338200f26c66c51fe3cba288a06fac852dfdd79c99f37f4a94371a88495450df73faa22189512a3a07a87dd2735809859c731ce2c3925992654dcfd4066048c03c09e2405f17bb1ab3c9d25b47877847f297aa44cdc1e31734a0e59e2cc27e3e7de2a200769f7dc2601674c674e896e67439bdf43fdbc370594e05da319055b9c4d941bf3bc336f73edf231ee9c6d5b49781db6eaeb8c6fad270ae2610222a5ac0f719125b6423ba314eb3af62e362bfd10b96a3e551c160404b9f97a29d5f47fdb4a7880cff9e7ddf4126a8efb213a3f80f931757eddef3750f3 - -COUNT=12 -L = 2048 -KI = 8fa459a611c485479c93df5aa8edd5fb5d84efde7344d0b77ee80002776efabb -IVlen = 128 -IV = 333350f62d84631bd5e9e246b9463ce5 -FixedInputDataByteLen = 51 -FixedInputData = 078fbca3b76942aa620a9cd5899a44d97f5d45b048b444278ea4215c4968c40c5c81e5ba31837b3d7c6d748adaff8c01082204 -KO = acf32f0d11af16f210863129154a0829656a4ce4b4140d3892ff64ef23844e0ee74511c4534ee6c7fb41f4c1eec26602d2c93c622ab5fc65ff248e912a7243e3077adad6f1de063715c96e8b29f20b38286b7e3924e535a7f6a26439212fff011ecb1a52bedeacd1a8d4176789e3c05363213ec4b8dea37235213c28877745c7ddf8d389715a5663a9a2185e08a3d1fb41a4aa1b34e7fca8737f90e271403ea770ed157a5c9ab23cac33e7c3ff26196ee249eff4b9656b74a71fb19396cddff1aec0307a63b64c7885b68e64eca43c2d9a58cc0bf3899797d768ee82789b02818910fe5481387b11be55a82cc81155213fa2d757f80d1043d6058c184366f7ed - -COUNT=13 -L = 2048 -KI = bc73bce6fec59a912112ee1e1796eb19b9fa220eadb5d0f27a2c27e20e397271 -IVlen = 128 -IV = cdb0fa5ae562abc0477e740c63369998 -FixedInputDataByteLen = 51 -FixedInputData = c41ccf6e5451eb8d45ff80747dfbda47d1d30bd85d0fb7d5ab318d71d562f9210e3d36bb6425fe761418931f927d84b9385269 -KO = d954f7cf5aecc6fa7974311fb330f87acd729501d9250aaef1b6a039a00b97ff6da947cd6800e3033514b1b4de51e6f0c16588d7e95096f7e0c9f0a6464a990a9fa622704ba69c46846dfbac2b6d6d4a95c34a540315991bf4741113ad4176f9ccc9963e51d63178d70973cd92ac9db093a5ccfa4d5e0cdefef7d7ce303fcb04779b81614a0a2ca8fe15c38b5d16414ce87ec1cb9da82347e66e758a1cee67a430dc528353a8a36c7abee761043c68e9a770f915465b6349274fc9b7aac073723b0a9557226bd56378100afcaba215863ff1bc3e9656ec160e19582d16c09cf90b11dc069a4e7faa9043993060fdca8d46034413b92aa6a4db5164d337068f55 - -COUNT=14 -L = 2048 -KI = 99a2fa17b74b91983b8f703da0e8b2217cc0eeb7c9645eade073a290d56e6873 -IVlen = 128 -IV = 506e864915d7c33e58463989277c5ba0 -FixedInputDataByteLen = 51 -FixedInputData = bae4f6b761544df50587951a3331705696a7020cf1a792a6c91944e636f155e9ad10be63d3a498891425f87844b7d1e3c3ca8d -KO = 5f1609e24ebecf40a2738df82727f6d7f8aff30d9978e27745ab05b275d957ea6332aeb89304fa91ad0c69a02e417cad54c472090793014889d1e3d242e2f1e1fa6b6cc496dba59cb7cc90656a2e20fb7f6aa4006277164432516a288808e60326e3d217cd20e9a6260ab92b43b3f2b2d5bb2d781644bbea7ed077c96def116df6d7bbe33730d96906520b3f72792cf2edfcff5c1749058d97ce99bc5caa634053f6b029b3c06e077d06ed225f9d1d03730023af7cd59990750130bb2315d80c76596c4ea28019aa04da443c2e034882e2ec012eb8c8bd69f52598abcfbd0d01cb0da432897e46fd3c662121205e7ca028849e504ca6369559e1c15808753da7 - -COUNT=15 -L = 2048 -KI = fce20299b51890ec07995207b10344052cae0373a85a3ef7d9e760fa7f10493e -IVlen = 128 -IV = 617dec9b72ef2339b8cc98e982279abe -FixedInputDataByteLen = 51 -FixedInputData = e7f89a67f89ba55be30975150f75ec5a0b27232e3a5090b3d1a9819e14c1e0b1a67e805707ed6075368a593feeff3533d08f27 -KO = b9178744577885068e3f55ff132d9b39303c20076b2ebf854b43c319a8d09efeec4851a2401661f888bd4fded5b8cc4fce7db1ba41af39c9151c4fd43e6dd517060e0dad0e997a5fb66e7100b98dff8a04792390c6684e254dcce9f00dfa7f97fc479a64ecbdf501b2c4fe217131dbaa0820ba57525ff15ef34a9ca879c3027eb441e1038c444427673737d9564381ba11cd145e906151d69bd260aefd55ef10ab3e56ec034921020194068cd8835fb279fd4ae1e8cc73bef7b78210a967a7347a2e28a268824e1959b691198e21fbaae269dcc0d26a7a1781818b1b26d4e6179d64f74b916f166c339d0487eba71404e711afcf2333adab793a4e15a9c34976 - -COUNT=16 -L = 2048 -KI = 1adea78813f14d7c10f54be735c6894b26619bf5154dad83dde82555bb1ecb5e -IVlen = 128 -IV = ff418cd64b0b48140954bd6f044685ff -FixedInputDataByteLen = 51 -FixedInputData = d286f729d40839fa3089f2b7555b5c4323aee792a95702f570b88c0959fb8b7274e809f78055d8cdcac5b30e3c4543955845dc -KO = f43e92aa775dc0a3a610ad2f1792fb364d6a5575b0ac86cf7e193f2d118ae41e522cb7c5a5af0c2acde0c790c49e1c1eb109b4c3353176452c3c39a463cd7aed603ff30b5220293828d41074408e943fd6f4fc6fa716fc9e4a19ecc24ab6fe9e03ff4f8389e593c31a8469f0f87e20f30b4970523410bc4664bbb2cc48085d41c395ce794f1a55d01cba87686ab262604027e27771cc2f79b6c627cf6966ec8a1bd17f8300f80a5cced471a2d9d21404888822bb93f182e80e8c43f489ba93284f07002732233f1091ae3de0876427ed81bf2fad99e6e9dbc2026af10324c8963633470561a26b851db0edc341372442dc3518966dd91ffd514d0a55eeb0f917 - -COUNT=17 -L = 2048 -KI = 645238adb5a9d0a781f858048c7ce8515fecce080c16bab993ee4fa4ff0a966c -IVlen = 128 -IV = 162290a398df56a740de4f2bbdbb032f -FixedInputDataByteLen = 51 -FixedInputData = 67e77ce3bd7c684165ed61b49fab347e4ce3120e0ea2908d7246b9e940fbca7979b23891adda3cdc770fac600b23026f3ee4b5 -KO = d0b670282a9255d9cc9e8809ca5a0aedae6ae1d33da2aa9592acabc93d0c67e4f3702f216b49bf87438765d3ec8bbb003627341f016bee0baff8d24fa327dc96ecea1cf4adec658f4bde73203edf9214d206be7d8cff222d2bab4e6a00684378f88d766fba0476f8363258af73ed9ec739ff676453fe8c689e3163c8a086ec977fa9c4d56b9fbcf0a06b7046428ff8a5e61782ed397ede634bfad37201bf0c9c5345a68fd57a4f9d0a316be4e2bc69f478cc8f4900d2526c0d0649f441d2e6291b4c60c95080111fc4bdda66f19855ef4f4a13432366b0dee35a14f735f8d8bc45375febba9bea87975bd8d98ee62f61228c388e49850dc1070f531b45b26f0b - -COUNT=18 -L = 2048 -KI = 3e1a4c9fe242c67aecb3760468e24ee1d914ed12601d7426c2b0bbd4b0328256 -IVlen = 128 -IV = 140236bf4f55546b79197830dd5ea927 -FixedInputDataByteLen = 51 -FixedInputData = 049715a12bafc4e1a46d0492bad1901fe0500b438654fe73d20c03f87e8ae0c16a516a4d6b84c579524465a0becc2d4d415251 -KO = d751b6e89be61850595d65d7ebb63bf16eb1f40f700588282ccfbf81991c973cf45578c90bcdb181834529dd6cd033de52c37e69e6c9357ec65f16724a8740a503b8dfac16608766af4452ff089582add4dafc4f7447ac8544529af14abbdfddb59c21b416e23e972b1addb58f26db625a5986871ccef1d2a00d77026fd5a8741e2b235bbd4db51295d198da56a4bca05aa7f537718b7ebf650d2ba48ff5eed54b9a5d1d746ff787250588eac109866238105d0977280e9be8b16f214f4b6dd9d9e02dc43b43d27a14718c524c74298ce58fb01c81a87acedbc53822ecd0b0e2aff665c0087d5ae06a6a85519288c7ae943450be803a90670b84236ec5579a9a - -COUNT=19 -L = 2048 -KI = 8d7f68864e3eb79ca28a75da30e9e6a40863c9d9f90c43884ee3e84735d90956 -IVlen = 128 -IV = 3cbda1e77ced757f75c0211ce4ee27eb -FixedInputDataByteLen = 51 -FixedInputData = ae61d77389b2377356bab5278a38242d24355f466bb7771affa6f054071c19cb41eb2bd6203077dd7bced1fc76a9ebaa6e4c42 -KO = 22b78a005dfc0609974f269773979c674cc4d5ed063467e510eb7ef8bd5407605adc6b9208b6f41e0eead84de8cc077d70f142a085f7c2393492d8dc09e36049b655764ee0d9ddcd8491b183bead0710041fd0989e1492f0feadf467966383e515cf13890fb50c41a6ca9bc0c5ef83e37d763cb2584bed87deb76ba35aaf2bd369b276e7323a69137c7214ad7d087cccc46416d49ad505cb11f7549991553e3a810e40ca89e50e4fa6d2dc6a2e6c6a15646c37f60ef278aaa00664321020dd7cea6cba1fc683f1e3e1e15af8c806a29e71f1cd7dd289b8dc67e63260c3109973bbce7285cdb1cc2ebd0ae703bca2658667275181e538c8b9d237cd21f1d0d655 - -COUNT=20 -L = 560 -KI = a7dce23ad440b349ff05f522e7e96268482ffe67e8a410ead2d5575289d0af4d -IVlen = 128 -IV = 7d3c0846f72c85719bbafd3256aaa428 -FixedInputDataByteLen = 51 -FixedInputData = 490734dd798b446b7726e726ec03316cda156a516d861a195a9ca0163cd11d30f5315444737659b0186a4ff09be9674fdf8b6b -KO = 6e9950370378b3a8b163e0c273b63b06d12abce38227ebd1b0903ad2f7fd77bf4cbb37a83e4963ca35ca83dba84d44771ae2feac0e73cfc077c7d9f2ea4c791a529c3db75b22 - -COUNT=21 -L = 560 -KI = a3932cff20ed3629492aa25f9b7b59c911360146d74c162192b73bac2862bfb9 -IVlen = 128 -IV = 23d3d36eee287dadc5ca3c59a3f8343d -FixedInputDataByteLen = 51 -FixedInputData = 076e7d07b85f475deabcd864100557e241a49d8dfc9b0ce1aaf0961c647471ceacfef00fe4d2c62bd8a90d49f78d523a40d50f -KO = e6cfb6d0cb3f6f288e2be79f1fdc6f06b88fc0f97c0f90a9052e55b31ff429425bc6629ce339e6055718d7bc5aaa2a42cd545ccb3395342c7e70f14043f4ac1940ce901411a1 - -COUNT=22 -L = 560 -KI = 38db338c18de74e49ddd316fb5be7d14bf274acdeb6933c3d76d047a0abd4bc6 -IVlen = 128 -IV = d86eff48f034b44b3e4df203018073cc -FixedInputDataByteLen = 51 -FixedInputData = 87f94a07aef2f8fe0be4d462d8994d68a0eb839bcf27725e632cfac34e36e6d540c9c82241fa67d534215cd993609a44760643 -KO = 99bdafaf97c28404ba9e00bf2e730768bdaec4b752379fa35e846b4b6cf12def170c4830ae19c0617e093bc777c273439f8c5cc95ee68f7f51d64336409b7885841bb19bd1db - -COUNT=23 -L = 560 -KI = 34098ffe6e23ed5ad24dcb2222ce78415c71efc62504719ac6243b030ac381c1 -IVlen = 128 -IV = 970fd44b47db75b95751503abcc4185b -FixedInputDataByteLen = 51 -FixedInputData = 545dc104431584181b57ac374ccbe32753d0a03aad2e5d12066eb3c20764b96eb4021404383e839d51d176da6a2cf0bd88ec38 -KO = f1e8522ebd492653321f131d15aa5442d6ce135c32f96db1a6ef8c91453d7b8568b975f215eb76eea14eaf738a05f52816f93a097b2e9832981ba3a5f07eab325b385ae19eaf - -COUNT=24 -L = 560 -KI = 1ad87948164ca9fa1f9b566d25369e4057a087aa8e2d1380a29dde59a6aa8d5a -IVlen = 128 -IV = b733c3eaebaecc1ff5d8e53bd2a9f336 -FixedInputDataByteLen = 51 -FixedInputData = 51836333149b4bcd8917a623c38d9e1b6dc7ce889e771fd41aeb6198d6763c7265d9ae1e1f8205a1421f39bd5d8c903e902c9b -KO = 28f542848e3499b86235b651777e212d18887f4c29cfcde667c76c7fac6a90e6a7bfb9b711e2c7f6113e5f0123cbe0553eeab2d158b611c44a4c57a41363a5d00134db8a58ed - -COUNT=25 -L = 560 -KI = 1568c59284abead7fdfeb20a6a1bd9043d7becf79f641db83b7668c9fd8ebee7 -IVlen = 128 -IV = c49d371402d869a8f21c30180f369be8 -FixedInputDataByteLen = 51 -FixedInputData = 4056e6900a658947750cf22ee7e6a5e997bd773fffc284988aa1c8310fe4223e709e54295cbe40ce52ddd013680933c478da4b -KO = 07394ea2d0c7eb7d497ce9fe7a0784b8b55536a72f294e31af38db75b0f94b250eaf2fc70463e344556f1e6858f68ad1cb48585c8a73bf0215291ee28f3c5513445348bd33cb - -COUNT=26 -L = 560 -KI = 569d029eee1601f67e8aaf7631a60f46ad3526ea5e9f5f72e6fcfe1af438b318 -IVlen = 128 -IV = 6780b91a3a25d1f518ed49d92d502604 -FixedInputDataByteLen = 51 -FixedInputData = 01c093592060d51bd7157c1215791fa0d5dade9ab844a137d4ad6cbeda1b49512ac8e79e31b0e6c76b433460f050abefd76ae7 -KO = ddadbecad5ba31b10c3b1af15dee4f40530283e8bc24fa55ebd80cd589b9225a5115a3839b7dd4bac86f400e64839805613bf1393629927424d6947efa30441bc75fb7d68356 - -COUNT=27 -L = 560 -KI = c9d2779dad62cfe050f65b55237d933baa5a409a7714efb537074079644d7827 -IVlen = 128 -IV = 0ff196ca77e7b1e2645b5f3a85a847f6 -FixedInputDataByteLen = 51 -FixedInputData = 73d166f18fa0dce29e0cee3dfc407063e2a020d6af8e8140f21ad036de1cc44954441c4c7be8b190b4d92353d6ff0f65b241ca -KO = 08234ff60ec20549e207bb9853cb52387fd0e3afe800757f8231f98fa3957f33e2bc8257498951accf2ec12cde891747fa37d38ed0e197fd97870b2fd5371122919c42133bc1 - -COUNT=28 -L = 560 -KI = 4cfc7505e9d36708b39946df20d4e31c1399dbe3e8a355e7ad79b9bfc4453b2f -IVlen = 128 -IV = 4dd45712219fa9df0a7b300620802b77 -FixedInputDataByteLen = 51 -FixedInputData = 51064f8d6efe1fb2ce17fce558c0fe8515bfd1a6eec6250f8f43fc511db448c7e2599cad2c481de53d70e3f71281672701b9ac -KO = 39f599353332d4c0697b11fbce3e03dc067c8be4118bb641a621b8f79b71d77849d18e213ce5c50e879cc1767299ea4c9695b2ffe11b42514765007ffc14af84324a9cd70a20 - -COUNT=29 -L = 560 -KI = 7d558a56ae4208c55028f94fc2677d9c0480ffe817e25ea913fd75c68e227879 -IVlen = 128 -IV = 34cfff86a8f703bcbd6b0b77f9d9fe1c -FixedInputDataByteLen = 51 -FixedInputData = 00a7dee464fd5e2b8f8b684dd40a485019b2b8c5dc60fae2bcdf251aa5f34b739130a17bf31936789f87a3ce16acbda23c71f6 -KO = 2fbdee16eca512e54c09b597b592be2db3825deb1dececf3adf5050e2f2eaf3e38b592ec0f494b092b981447a9e0fa3039e0b09099045cec44cbd8a75e9644de929b22a87f2c - -COUNT=30 -L = 2400 -KI = 5aada40070686f17bbea3bd5e331f2525cbb0ec02aa1bbddf598bb271d0072e6 -IVlen = 128 -IV = 48df6d285291a5607877581636279695 -FixedInputDataByteLen = 51 -FixedInputData = 5cf9ea0ea82c67e37cc0a90756342ccb208ff4d83f9e3e14918c32b36e8e26053aa105534b5af07d14aa3f17c587c0e81713a4 -KO = c0f606148e4411d14b2124013e6111be0a325e921bc36fc58278b8c60e72adad815004f3f7bd80e1cb3261d8230a13c7748690cf309e819dc241b13de851a798615a6604b7683c60653b93c92523bd0e1ac242d13ddf885f3215f227bcb59d2a4516c6bc2378af436e78c4e84ca5c354a26f259c3e3eccba377e649d45347fd15b183cfc033fb14b589f6f3985c1dc9e48c3efccaeabeb6bf5e6ada79cf62019a2f0ef79e9bd964a58459728f7b7c7b80bf3b7e4f59024e72377b81773222ce17b4c9a35a6c36cd0747df72265caa7ea2c186a6409dd67c382025e53c714df6766bfd3a54c5527e0c58fa2b1c569317ac7a772e56edb30bad797865fe68155fd5f84bfbda0dd34f9ab03e150da01d9bb3cea098476886961e8d803929f528b69fdf4be5f844597be5bdc3e93 - -COUNT=31 -L = 2400 -KI = b1fdc37a67238a9162b5630225fe2566507acbbab98340613a40f11422c8f1f3 -IVlen = 128 -IV = e87b7b636970092135a1d08226848b3d -FixedInputDataByteLen = 51 -FixedInputData = 4c4671547987219cc76d199c8f70da746a7da942bf074d0413a624b2a25fe46b3f4ecfd62806d80cb9d1353c39bff8c26ea9a5 -KO = 739e6037389e6c157e1b9cd8aa9095cd1fd0a50128cb6ab0cae51d1395542e2a8ca5ad5dbcb2efa1a1824efd9334353215baaedf28927b7260fcfc14381a46397b8cc2c0f9b90e2f4a6e2752030969b3be1e66d1642b53f69ab395d378a1c3983bb149097de4b839b6781844bb57f0e2eccb417701ae68f8f921bf8eabbbe7006c4f5277d72f1a76c35c8d34fb4649336264cb4b77b4e084e147552cc1c0b88cc97d323d1aae9fa1d977ffdcd23d0b4f94f01c289aa9685513bcca1ef9b89b7a0ec4458bfbb130845eef852b208aacffce4dab6e337d420dc773275d58e29730d46daae24a248c0e57808b80b288ce43a15c07250ddb977fb26cc4ab8de5e8fb1d251d15a252b264f906a2aa8b93cecca2f9aee6307b77361d50cd70fb5453c6d6f009d6abc549dec49735d9 - -COUNT=32 -L = 2400 -KI = 4b2f15cc919828d3b8badf8bccaae351d18d22486f7208f6788afd196cda4212 -IVlen = 128 -IV = 44740ae3bb5c2b900a0fdd613dfc7420 -FixedInputDataByteLen = 51 -FixedInputData = 6c15fbe570886b5eeb1f22d0722c55ebe1359ddadbc6ace090909a90931f6e07c97f65bbd9c54fcd660cb37a597027ca8aa696 -KO = d09f6375619296b350fe7717edd0dcf9d5fd293a18b194fc1c22b8e4177605a27b0ed9acafbdee74b95bd783e452217fa11107e3be42e4116600c1f24a559c87194be51615aa0379da4c4906978a6b2ac19e8aa3cd68ac6a4bc1b452bcee2489c81ab9e2ae1bde15cfe0b196c42cb3b4ff4ebe6e916f3b5b3c0c8554f0cd0a7768fdbf8c77f9b23574003c2bc717150831ef9fe334f1d9dc87568d391600b2bd24624271fedf20bca8322496873a3febaf42e5b9bbddcd7dcb26f01a1b7baf24b5f73ca873f181d3d7bb87dcab010d0a2282b4ef6d0f879ef1c13fe7e5d356d17097b30ee83248bc271d31d0258d74a95257bcf289feecb412ae77df64a08105f65428d3fbf5fb12774a91fe91eb743dac668b032c042cb97c34407d25bc0a30912b66e2849a940255c66c4b - -COUNT=33 -L = 2400 -KI = 4065640c85b84fd7080156243551c058dd1450fd41eeb811326642d867db6149 -IVlen = 128 -IV = 2597e3359b5a918eee76dd7b5b367a73 -FixedInputDataByteLen = 51 -FixedInputData = 1b67428aa6e9d76a59623e679f216886ec804a69c52938fcd6d4dcd600fa239e0c82ff8566d6808881573ea325298331a9565b -KO = be8b4256bbc173cd1da4f3e31d1beb2eda1d20b7029f75546d0cc15e9d56db344786e0dab1c8273cb39d84e9b15bb429de85c7768248bc2ad96b86784e037d06098ae6fd1da21a278729a07f3aad2f8278f91767b12f181913623bce5e203eea193990b3bf0efc0cbfa74a843654ed7b91872a6347b46b4f0540d892896559a861532ba1cedf253e35f465375cdf5ede0ad67ffd3dfd7e834755dc1180159a50770c15cd07cba1bdc1f0e1db396f1372bf52756112d05dabba75d0cf30afd21dc58c381a9d163615f34bc64db34d230cae11c5a64236a42839f0ba14181055ce34acb8733d9276e049dfef165e7eaa296e5c2d7c5b2b9cac6d227593251758fd08c41c9b58cebb8177b98552c9a1cdeed720288a0c93e56aa5cb7fa18be54ef98d919071edfd57db2150abc2 - -COUNT=34 -L = 2400 -KI = 4f8c02a6abb401af6456be519d095ec7a0a2659533a31308ed972965a2c1e8f8 -IVlen = 128 -IV = f61df99d2a8439e563a43aff23c78990 -FixedInputDataByteLen = 51 -FixedInputData = 6b8de58b9e74c457701f9de2ac5a4e73d25069544eeff154965365f89efd5574947af60d6b5ea0b39ec8abaf01efc7b9eac079 -KO = 8769364218b01c841bb1f2074c2c1044325c382be91557ab7fa9189882990fdc0e3d3d176ff695103ba3e14a8bd1b40edf22b8a0b7b3e81294962bfb46da81e272e7f916c4fb371c9abdc6bbc89272265e4fc9308ec6e29e7b7c31cfcd8d7c295e880b20f220bbbdffaa0fa3a105923d965f36ecc2dac25984c0234d1f15ba2987d6108c34f0a311ded345650a424e65c5eb3001024fa26508f044e21d88101e97724798a9c60f24925b13e6c41920fe3f34a1013a3f2fe1147ccbc61ccbd3387c4d1030dcc1973046e8e7f416503bbfe3c0306a5bbec2f9d667d818cfd71546ceee74836cfe256aecb3fe7f9e32fac9c4a95540272f27da0d3c4ca7ef666a03f19d061bde1103eb17f39699cf6bedb5138d5aa91235f26596fe91b5c8945a40d9cc0adf33446eff463d96fd - -COUNT=35 -L = 2400 -KI = ba594a8a2a9820ba4873d4dba1fea42e9d24a3fa53d9a6fe821efe4f5e708d7c -IVlen = 128 -IV = 6ca228ebaca86ac63d3739b3bc7e59bb -FixedInputDataByteLen = 51 -FixedInputData = 8ba0bf13f083d212a70b2792ba8d49765caaf5b3c0967d22d9a8d3f34ec4e886d3b5a238608469dca8619fdc6f34b6bb6d44ba -KO = d142f1bd5a0a2181321f94104dc4fc11fed9343a7aa2f989334d6c315f4b4e32bf667aebbf7fb0359ccd29b0f2aa3aa8cdb11a7b0fe8a05f95e85c0c9d7ccc005e55e30a8da350eea471a2db286abd0062c752e3e80f7aecf1f2ca614ee68d1e739d6ef5fc042454e0cdc0b26e4244b0733642c4a0170f57e32f557a9b81bd8a3cc2d37c96eec63f109444361a777704c2d37b12087e589a6908acfe403a8bd7f0a588935d23714776086eb899a4aada5a6628867e9e5f22467aa2f30cb269c5c3ab3ab4c80733a6865644d0455ddf2819fac586bf151ac63c632f7f26f48b6270b710eba650a9e98372a723c5d1c050e5d666fc6833a5969fe6297a4c91164cce24915d798825fd86e49eb725347017ce0b3192fef71545475a40d29a679fd38493d8463d8610ad0adf9046 - -COUNT=36 -L = 2400 -KI = 1248abc2fb99781871dd98667e57ff98fa5d4f0eb012cfb715918c965332f6ae -IVlen = 128 -IV = 8bad2b228ee7b57fd3c2f09ef70610fa -FixedInputDataByteLen = 51 -FixedInputData = e8f6395441ea41dd25e24ba1dd84c0277d41dd403b485ca2d725f0feb4f78097437e2f685b0cbd00926f082ba066ce8cf3a403 -KO = 50e64d725defb9a57cbcf2219562a462a1ece6e05c69c97ab1228ba218c9809dc9ad431b55cc77970973a2b7b63c9b49e783c3247dcbed764345a7344a9a434544d099231cbb85b7a55952ccc8e4c9e997cef5cfaa168526338ed93bf1cc1c2420788b6e7d3f970b0d0402224117ea918dd453b65cfd590bcb6507044002043a7da4e09ecc239fa0fd2f2f7b9476dd95920ef229c97748a0e60d4bf2ff5463929bb66130e13656c48171cc8f525192aa2a77f2e25421eec356f1745853853b3c6ea23073edd0b38e3d5ab9026ae0feea5b4ab14e696b454a8ab1a526e603c13e16b1ce0942792f327d73cc3cd3c40428b933b918bcdbd926e55874c9ad80b8402e30b6c071a5b5891746ac8f2f990d4f8285544fb0a9206b162f9c9f53f63137a350e122651a18e1529bbf9d - -COUNT=37 -L = 2400 -KI = c3fca7fa26d77dce5baf1a4a22936917df662098e9cec7af4ecb071e1318af13 -IVlen = 128 -IV = 087c1d1ddc5ccc8afebf3fe4a16b8509 -FixedInputDataByteLen = 51 -FixedInputData = 56c1382455a7fcb4f529128884f4f263434d400c890dd065fa0964f75218e103502aa0b5be18281b30d3a99d23aa3dc5cdb1fc -KO = c74d333c900ff57ff97c37b7db0bb7c2141effcc399c1094eedae4f8f396f02eda43a97b9f9d8ab54e030990c947de47e39cb5f533b5a68d65096653e100af05e9e9b51474d6d999147799d870f2f8b587a3af427c6fba2dff440c8fb238be265151674d5d62fb636cb98c0a6b3c62e55f5797ad462bb404036469b848e463fb4def189c1cf6e0c4f8d66c9782b5485f5c9d511b549e3bbcebc1c96dd5b893dad323436f305b9dceb6551a09b0ccce36a01794fdc4f36c46bd22759f463f51a04d236016572d798a09bc51431ab5ab162e15a1ac682acf8b9a68cca8cb0dbcef57b4638ffcfa027de7699aa5960f47588e8f43dcbe4ae8a8a40b3e95e3717b953c1bf63d6096424bfff811002fd341be776827db99c3bf2f8e1d370ae2cd774e47640cc0e12d0884f34f4967 - -COUNT=38 -L = 2400 -KI = 890e40359ec239964bc336b4abb7a55b159af46181c1d8127a694bb99ebfde5e -IVlen = 128 -IV = 9c9db2ad326eedfd814f85eb8fe4ee1a -FixedInputDataByteLen = 51 -FixedInputData = 417e5f6afd8c8e41496e0dc79ebcb69e7c7e91090978aca08a9b50b715e3e9cc8aaec4e8e82c2a824d5f662e98df0b760377bb -KO = 9b8820be6b81deeae346fba0bc709fe79173dacdf5c7ce06d6826150c0df7598d35a787c084ff953f9f31484eeb1a831ac5628e723660f062f4488077bc7a8463dc0f344262d251c6d25797ea11227ce90acb65400a054a25c1981e720193009432d040f54a2d77dea965534addbf4072b5b0c56709843b3424ff887cfa2eb554eaf266aab702a8cfee1c088ea452acc970cbeb7c42bc0abb8ce41def275e4cd4e039b2a4517be2aadca204083fee071f2d8e68a5f630f122a88d9196e81973f76d65d8e607a0d7bdade50ce5664ab8f1d43179282082e0b2556d6939e6a95508cd68c9b2b51b808ede602d814cb63b0f1200e48950d79a8afa4742596987608d2640aeff5430b162e2418d229a538d07ed1f27e05eba7815803f683773dff4d2cefa7e150d555e36178b712 - -COUNT=39 -L = 2400 -KI = 45257ace8f8f4a9fa118c96382a135cd1e4b48e20693cc1037451c5af3d2a475 -IVlen = 128 -IV = e55823235ba0954dbb957ddca4be0ba8 -FixedInputDataByteLen = 51 -FixedInputData = 18c04ba187859d70ce9731dfe36a6f944efa3c3ef57f7ddf57c51d3b12753cb4cc5589da9db29e453515a20491c7ad33f63d06 -KO = 9f7b81eb7f4491f253aca671a5a7171fc4d761d6aa880d717db0a0deaa5c67cdfb5d1b30c48edec5f4f8a6e2540a7355ad6ffb72808ee87e4e7b4544273feeb967e58357618e194e07f84cd86e93927ec0d609128b09f998876e7e16264dea55cc6e6292c50c900fdc833508bfecaff00222b6bd7f6617be16775d6abe181ab6d630b860e549e1673b543f70171ed27f3afde8a118905945c0a975ecefebba1a86a671c2daf6902399969712b0ee76dc0b23b8b7157a6f785c2e0c387c3a633ccd6d5e6b329441d014252b61af3da8d2d5a592f8f3d187abf1fd97a3389d49afdce94045140e1749398b1337c25fb47e5bec4fbbd29c02e2a1d04522d38cc3733e789e52053e026b3b8604bf9423541c4c98ca305e0b0fd1ed9d154bd5191e7026bb5ff0581c0ec93820140e - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 397192f57de18e9359d735d5818cc8d9a7edbf20a6542fc94ac0c4590678b021 -IVlen = 128 -IV = fd0906b767e82cc4826fd021224920d8 -FixedInputDataByteLen = 51 -FixedInputData = 884b17232a12aaa99b684cccbaa5d78d60ac6718d9d2a220139819ca28a6e7d8532470d891d862437738a3bdbaf500e04cec6e -KO = d447280257ff73352607cff9d2993be5f2cbe6f8676d1b9b53344944928925d28847564d7abb3b67d63705937342f4692afd530b6f52f0bee99c9af824fd1ca3 - -COUNT=1 -L = 512 -KI = cf77bb6e098ad8111580871722aa0c9dd6f5e7a7f423b5060e9a7f5b6b6d981b -IVlen = 128 -IV = a3c58f5f13d925d8e4b8ea49862edb24 -FixedInputDataByteLen = 51 -FixedInputData = 78eff5619cb0beb11252e93791d4385946ff6dd7360964d0ea18cc7f5748401a7b0dcaee4293f0467050034e1596828663f58d -KO = 0908e37ff2dea1e74ecd9c3d17e2348338d9667f2db42762f7f557136ac884fae0b78353d8e345f61533e9a9364b98e1726a1b024bf85be490759b6b1978b91e - -COUNT=2 -L = 512 -KI = 3da97708082a4ff86b87bd79c81f0d811433ad970ede6419506d084ee0097976 -IVlen = 128 -IV = b2546089b9fda885864018782f88b43b -FixedInputDataByteLen = 51 -FixedInputData = ac844d74e2c19ffc886becdff7767c01105642e2dba444fb2d8cc892929a15bfed63d83fd75020b260d70dd4278dfb2dd71a80 -KO = fe8e322c7acd635fe761473d681ae37b0cc7f6015c7217133e68065c540afcbc3597445493a9415a614e86154191d660d9c4f53d4d6b821e2918082b524c2917 - -COUNT=3 -L = 512 -KI = 7d4b2cac4979298f9ff4dbbbcdb240e131bb410280fd0fdc3fe3c4d8e4cf197e -IVlen = 128 -IV = 111533719bb659ddc2d73cab176633d3 -FixedInputDataByteLen = 51 -FixedInputData = 39e202c5c18fb0aced3bd37a74f39501b6585047f86076eb1c1be6aec341d0acfcb8cb8333fafeb75fe6eb4e728e74d57043e1 -KO = e5fb162069c7c0eff426061509f6b58feeaa52c31a943a366150d5a9b7e122ad482ea846ef1633e6cb72a2a297387cff5a7c0eb8c668750c41e1f03a17dc6921 - -COUNT=4 -L = 512 -KI = c63585d67285a709b95118e000135bdfa413f801836528ccb4c21313ed3da8d5 -IVlen = 128 -IV = fe24dafba19ed42684ea09d50aedfcb4 -FixedInputDataByteLen = 51 -FixedInputData = 4a728672e888a109b80fce94cdef5eaca38a45df94bd9c0a3b21a79f48cf669e8d8782a932604e7b53187ca70ed177d1bd89f4 -KO = 9215e6ed9c710715d315243578779fa5f3455050141fc2c68e0cf03ae1ae7352130cbbaa0984062590be14c3d622c0150c8c7cd08f49a1e657c5ea607c814c7f - -COUNT=5 -L = 512 -KI = d434a69e29aeb8edd07a535a0ac2d2657536acfdf142796d4d41078cdd121d0f -IVlen = 128 -IV = d2004964754513ab3c657459be5a5fe7 -FixedInputDataByteLen = 51 -FixedInputData = 6da3d8082af6be30855bf3c98ce1750aaf54db17ecf6c778711cfc81a470605d5545823f86b6452c3183b73a002c506d43a163 -KO = d80d9ec12a3029497edbca75649cda97445befebf88c1a3218444d6999a8fc6332fe4c0cb5e6c5dfac274252c3daa7ac30019daf3d801ba22a2bc668319eff14 - -COUNT=6 -L = 512 -KI = 0838667ac6dc2024fb99d9bfec388df65b0c52879099ff55686cddebb7dc494b -IVlen = 128 -IV = f467317dc67865e75951f314669330cc -FixedInputDataByteLen = 51 -FixedInputData = 6f9b1db32a37cc23d280ae8784447962e4ce25bbc36f5d0f104d43c79ace0f6f79f31ab19f75c2dd766b1fd2438911319a9aeb -KO = 25dcbfc447958de21be1fc8e425009a7fe067ca898e2bc82a735f92b6efdf543c5367bdfa2a96ee48edaf5b2d99fbbb66fdc20776a4a5e7f76e95b69fb2448fe - -COUNT=7 -L = 512 -KI = 2d8ce5d251cd620ca0486ac068ba57f8e99fa080784a332f66debc5bcd7dd32f -IVlen = 128 -IV = d92f89f9413a867ef25f90c78cac1ddd -FixedInputDataByteLen = 51 -FixedInputData = bbe20d4b16733cfc5eba63738464d8b0307bab0006e789bd365adfeaec957cfb0208e29b3b24e0856a0d694a6c647ac7d05b80 -KO = f2d1130e633cfd4307d6d962a89ca77cce57ce38d290d6e9745f2df764ccb2d6d708f9b1caa4229b56af6b9033a4a3978a8ff2012b9ab0b25ee65d9e2c7f1b5f - -COUNT=8 -L = 512 -KI = 5193c780e8dab7f6f58ec4aa6de71eb2b132a0141a95cc61a9f0a351f2ed50da -IVlen = 128 -IV = 596f77b8ee3077ab4a24b76e913d96ce -FixedInputDataByteLen = 51 -FixedInputData = af244896ea4c231f96ea628a4289dff54a717b686f37ea24a017d4d62b687139e66cfdc5ce3b28fbb230fda68094fd8e8a14f0 -KO = c0ce1f9b9d6a21a5ce562e736261ab95c37b4a4de56d5d830de2708ac5a468182dc6ec2d8c091873423f002c5fd5bb6d1334ab91d9236f2a9762428b4764fa60 - -COUNT=9 -L = 512 -KI = 4ccb45c6341f9fec9b4b5305ec19ece4466ddf3f566b29ebe1e1e24f42b7ce4d -IVlen = 128 -IV = 84cbd304f92f886117f10c720b449dcc -FixedInputDataByteLen = 51 -FixedInputData = b22e04e2c87cc0328c9d75ae330c273c9535df36a375d648d70b4f306219137b3e79358210af3613041ffa80e917b244bdd020 -KO = 60748d5f9f3bb09630737360c44ea7093a39e294e051f1c089df547efbeb28d51224cb4a5b4f35aac62dd2ff555dffe737e9fb9360f306213f5f3cb0965c7612 - -COUNT=10 -L = 2048 -KI = eeb5614e84102cef65350eafa4f1ea874365feccefac0412f617f75583cd645a -IVlen = 128 -IV = 549ee8f37fdffc5c6bda08d5ae577a84 -FixedInputDataByteLen = 51 -FixedInputData = 21cdd2bc405ed8f428a5d6eb6213f8c442516bf9acc44ad4e150f25fb12837226d15bd8dd6922d2189becfb7fa2ca7e5e0f439 -KO = 1d32815fc030647f21b5193a62857a24a31603a3c92c82db6897fd0cda7ee7db411abd0b546f9b22cdd070aed1adcbc6a906c19dd64a84cd95a67b045c0f690b6975a88fa23e415a19312780faac10d9011156f38fdf1edc8f88b224fc9998d35efe4dff27a31c07e7858049635912aa81b3002a490b9175158ea7423737005cbe396375a9dddd8cabc3b37336882f8097dd1df4146f643c659259aa324c11566b64a92f021fccce0524a4e0ecedda3fb4eade9e331652b9e364c7e33a837496f1aafeb0467ed2df63c344483c376a8dd42d25bcaa84ae03adf25b0931784c6971fdcc9d1f8bb6c8777300bf32039fa009a324a2b2b6ae0b41fe667fd412ab8d - -COUNT=11 -L = 2048 -KI = 3fa6f5b010e29ed622c601de86057e583438978d2fffaf3a40184d039d3270b6 -IVlen = 128 -IV = bb073da36f31d4c05bc12188a7957fcc -FixedInputDataByteLen = 51 -FixedInputData = 28da4405e948bada9c93360c8862cf50dc1e201c13b57c61fc81e39ae33d62d12e5d71763b0e2ca64e446afafa815846ae0201 -KO = 267dfd5389c72104611640e64d00439e639d4c12e633299473eddb7ed8f9364372e140e977012f973ef8048fb90fedfd8fe93be1a6bfb7f06bb729d3fc9317d68abe005bbfd564bf10e197496ef104a0631832f6c9b4a107ee2601bb5f9cce46e673303c9e1d45bd93d1dc7a51a463e26a6195bbf0fc9cf6773a729120c86325b12c892e3dc74d93647a14101b2440b85c8ddc11bcc01e343087b19c21452d7133c02eafdc619a648025e3635248b0fe96ce067f3cbf07a5e9b4473089d4d5a1ffe06146aa369408500af1cfa265fcd89f8b14248131943c121698c8f71df8c2506e03c9d0521bd5829978074522935b77cf60f0d05ac0a49818e0cf9db4379f - -COUNT=12 -L = 2048 -KI = b38cfee60674938d78de00dca51f35f9252d4a77a14e6789badcac57f89338d6 -IVlen = 128 -IV = d2f0062fa35180682dd585626bb9fa3a -FixedInputDataByteLen = 51 -FixedInputData = a85e123139bbb1dd445d12c35320cf64a6b81ed37cce3200b08ee43809c2730b65d8b2c423656eda2ae5bba49da5a95bbf17dc -KO = 7654415b9eb81da3bb456976f7c861857af65f1639416394ae41e661198c1002421f8d6da6459db5dab8878e8afafc6959496ee77d6c035d7bfbc8bc2078a82f9dcf7f714348ff65b59af019a61a47c1105c760766eb5b3282223188ea7320e0fcdc624ce890d1893ff931920d0a9eeb7153491004426102c426cff27b43c10963aa599f43184611eb143f9f1d382045a581b1222f05edb50e5397279675f34a97af8b5d13d1d0c1d621c0fc1d272021e999f65359da47d08fc4616d2dad6d1599e9daa3be101dcfa4417f39f48eb09d683f1fd06c33a0f0ea5063fb8e041ada3a974943d795a94e4f99a730220fbde8f4f3ed71f41ec183c39469a18f0b1522 - -COUNT=13 -L = 2048 -KI = 9951b1dc2b74da844535b51256d8cd4a90128dfba16c16dd69be79621840f36c -IVlen = 128 -IV = aadfc1c36baefb127d0919c559b9a21d -FixedInputDataByteLen = 51 -FixedInputData = 6e9bdba96bb6e46056b40f69d3ccc7f47292852290c65453e41d056d03b221913b61da3ecb6bdd806fe3f2de508e2a145b3600 -KO = d7e6d081e5048c32118d8e459cbe4c028fa4f3f64e676205461d6075b187917e7f59b5e48470c28c49958c8398b5c128a4f669065594c1eed2cf6f4f12b5951d81969ba2350975a685708cc031d23105f2cb5d8af6f24279e673863c91feafd150166b43574fde3b29276e0b1652d16e139a9df6797a941c675c88178b41d23b870de18e11c963253871214d24ed3c8d271f342cf1496df212e1e4f2d4ebcd5ecc15778946dab7d1ad8b8109e567992a72d0f355c51bf9872009b10e8d5475e5e4ceb7f3c68cd981f11059c3b4cd48214264465f3ba2f784dfd17fd5263012e294e59f877356bc141a34c2782fa691f2afa536d5539fb6f84c3441366314f241 - -COUNT=14 -L = 2048 -KI = f07775a0877995cdb4e4c6db9ce47b077e71a88b3e49700a9cb67ddaf9dd9b61 -IVlen = 128 -IV = d3731b0bf36f649d8b932ce1175b2716 -FixedInputDataByteLen = 51 -FixedInputData = db4f737036a46f5af06493f6f9874e4b1546132e1883767ef8b1bb23c1f11be24199e112cb370329adae4c1c774ac9a6a06d3c -KO = 30c8f87ccfced057ac28644e3fadd4bea14f0aae3f28c26992211c67bdea819251679b4612aba049f5d6ba25e717f6c1818de70229ae1409269dece16f846649c721aaa515b47b05086672f4b36e95d970eebe3c266cf06ba0dbb1ffd4ef64bc39fd2867c7c42c1f3ff51fcd9c91130b10513961947df42ecedbf93adaa316d320164a7c0cc0d614eed0123139511c43ac31da556cc26c44107861a27c7b50a98d191cbfa1d3bfd1f2eb14232dd3231ca83c363a3d20c8c6031f335244dd764b6881056196a1caa32fe43b4e537aaecdd6ea371f9d360746059375b61e6ca3acd2d02f0d9f157139cf3838f8efd1d357fefdedeef6a47c6af8db7003c5468dd9 - -COUNT=15 -L = 2048 -KI = 64b17a4b8c7b162f77d70ae3e885ff78ffcb96aa8eca9e8b88fc1778599f73d2 -IVlen = 128 -IV = d70da63a958b390da072363dffd76c1d -FixedInputDataByteLen = 51 -FixedInputData = 787590d1463a081079e991690f538bb60dab31b7d6840588d791a1717665b577d0d4b083407595134d10423a560fbb7ccb0901 -KO = b5d7e7d09bf196f77707f27d7e35a3e131fdc612c5cac84af277eadb064b18692c04fa9196e8811f847fdfaf3ce71f1ce532a46b51aceeec5b5c3ae0e088bbc1481c2a16d70c9e41e80892e1a07202534f66470116ae4d7d4aa42620372f8b74371c6321d7bff643962776ed604ec7da2d4a5ec8b54874777f6b89d0c419f78a57777966ce497150cae9e993799fdec4bf869d31da792b7726f4e59a8f9bd319f0205d8a9761d97114fa577ff5deea593839ec7cd64eb090148eaa406e76fb1407eaa8fb184bfe82331b086ae05533aa6b016b2a204934ef8efc76b231d77f6d1283ce7c89bff693e3d5530dcdd4954e86890fce8d3d68d9a75ba33a31ab7f82 - -COUNT=16 -L = 2048 -KI = 0de7e8f5754760838715cb3aaa2788d1cea8bce53b8c36fdcfc9eb514014fc2a -IVlen = 128 -IV = 73ea1fcbe7d8970c340a4546328e46a4 -FixedInputDataByteLen = 51 -FixedInputData = 05c18ae3237dd34a3afa4056d29b80733d4cacafd7a062793ba9cd5047396cfcd4731a418b0168a3dfb19112acb2c6d2732887 -KO = df1258ac5f8ec53495ad0640f29a2e44c3a7966f9886baaef61cce2ea87735e16476f871f99e5c9415c7c28728445d48a842dc5151a0b6517eb916f30b5bf5926d07c77d8241ec0701adb1dc22da0b25afe635aabb5e5a0f9fed78c49f621bbb5b8692dd100265457f72039279433595b09e9658902841b595ec48bf0a69d7c55350c5436aae805931a2d08a0e75d97117e42b5796571a8f8661949e5641e5681e70c31a10661311781ecd3173839386882d6f51e63a43011e6f6af65618b1ec5b643a7874e0fbb99701eed6b54c294b4f3f1cda742a121136fb21d6ae671d0027e541a9169b8ddac003664ce2d7207513f3e68ce69a6880e882bc44a9684c70 - -COUNT=17 -L = 2048 -KI = 0b1d590698c658f6371668036085e206c56eb73ff80f23cbe3d5087427b8285c -IVlen = 128 -IV = c9d5daad238e4a91c0394d3387ad54ac -FixedInputDataByteLen = 51 -FixedInputData = 10626a3d312be2401eb31062e4065d35bd9d5424eab6c3a6b3ed0cb6fd9b697b27b146ac123510dbcb20699a15a38432716afc -KO = 7686635c4f5dc9b468772e9f9bf867c7f06c3231073f373fa578e04d0bdfbee5c982d5dedfa1b6c1293daa9334c1fd5587acfb907cd4ba419a1e76bfed1c5f3eda6987411c87b8b0cb3401a88fb89c03bfb3bbf5bd4936f8f2b1bcb361bd4371941b7af28cf153508c6dc7354f68f7f54369e3079329ec8eaa169d716b69a5591418d447595b31071db753e57435a358e9a6ce8ef3e094d51ef667249ef4a44ce0222d3a04466d54a57dc3a89b8638a470a7f3ed2be84ccbde37b8b411c193f78660f9dfbc9b0bab4f674b1a4175d7b7e59de3255802ffe530c91809b49bc93a8f3c307c722674b8d4bf125baa33ce234e40cb5178ad9c004aee60ab489f258f - -COUNT=18 -L = 2048 -KI = 50b08a09e3e975a83ecec2540cb3c9ab418ae10fce79c2edac5e5ad95fb1f89e -IVlen = 128 -IV = 47040238dc7ac79d1232587a126464ad -FixedInputDataByteLen = 51 -FixedInputData = 8f80d5aea97e0cc983264c3e0bc2c18c141216b07950bc27536d5acd0105fcba23ebe71dc7f895829164a7fe95e88dbda0b4a3 -KO = 913e7dcfb65e7abcdade62aa6185236f6fd50366dcc79b67b569beb2d3d17ca2166a6ec1be563ec11c79c1990b2a9fcff3985a7ed9c01c4e689e636645750ccf6dbc7927c63d2b0e75e3b2880c96f5b7b3538ba80ed1f59d24dac6533e500a753b426547c291e360d2ec84908d750a66b1bbb14929892fdab25cef8a65fce92004f7fa9cb3e254216b135be698018240fee53bd615d298cbcd07710dfdfc05168328b7b41f2aa06b77e208198cd29acec41f9d8106f4cfb23112aeba2d63249f753b69aede76dbfffdc2873af637ce65985f312cb41bd82d400586afb5ffdda55058b8d7d2a3edf47e0b9c5c6610f73eab181326da61f4d34608364c20d179d2 - -COUNT=19 -L = 2048 -KI = 9a88909282243e3eff3ffafcc28d9088c76feb6defcace0e5cfc48ce5883eb42 -IVlen = 128 -IV = cd1c8c7143af3bb3187e5cee0142b16b -FixedInputDataByteLen = 51 -FixedInputData = 0b49dde7ec229e576f1a2f3bea6fea2cc8cfa4168a74faee0febc7ad72033ad391d7fc13628d15f6794d715c8ec4306cadcd43 -KO = 65585a81a4cadf94ad61ab4b31836102da04daec9957873354e645baa009f8df7313437ad9ef2db3baf248dd7dfd97d0eee0472e2e176c69000b872164bb539c30c30d77893cba28c8fd39f679655a60d08a3117adc1c72ce13a220a97fa4586a9ed536b95f68dc2a7a383b59c3c9132065935657c4a7aa586ef27a1d83e140298b16f77888dc43c787f2af26668ddfb52deffea2fc4776e5fc2e08cbb7627676274caad2e6c5049752d9869562b0374e4b810cdf11ddb1129cfece6eab6e8a9969093d9a2740e56558af733b161718df12d94d7de944a7ced9b1bc40848c8fc7f02aef04b3c766ac6b6b5bac316bc687901a2e61a90610485ab136c9e882932 - -COUNT=20 -L = 560 -KI = 77a1695dad6fcd054add8f74b9cd305ad13d0b655f385adeb2dc6ef701c46825 -IVlen = 128 -IV = 5175692e1703024fed0c8fbf9a75166b -FixedInputDataByteLen = 51 -FixedInputData = 45d4314b9e7ef915509b5fd1b309b7f10841b54658a4a27c1a809f6e8ccb305e6f1c36e3b55c205d7ffd23f8709e326468f750 -KO = a700290c0270863c8fa5fc5c381f9bfe8ec6673c085ef0f75d04ddaf6a9d0723cc62259045ade6c21f772507eacfc7f816d9f62ff062d5c90a0b53cce5e88eaf2022b4628367 - -COUNT=21 -L = 560 -KI = 078b71c25089af450f668d444c87c2c75c72fabe0e675229c4101af85baf1f71 -IVlen = 128 -IV = 3698a6c4627a193e943ece812f699e22 -FixedInputDataByteLen = 51 -FixedInputData = 38d61ca58e762b0621f464fc5b7ce41f969094c878fc8de12a6896929716a60f31f9c71bb53c04b3b4758e60c7827f813c25ba -KO = 1a4ccba76b8d4c46a574efa6da7f5efee2b90cdd53b2214b925680e39db6b0f211f2fe8a4ae8ebf12f5388325aaa65fafb3b6fc93acff72eef4aad6a76a8e9020ccf96066437 - -COUNT=22 -L = 560 -KI = 987728868f014e2de0ebf2ad79866bfbf20fc8eb6b9eb471e43a5a7b8c2f9826 -IVlen = 128 -IV = fe7489cca13db3334d3f01500375ac53 -FixedInputDataByteLen = 51 -FixedInputData = 116b53af353b0aa89836361bc770ac555cdadb73217a37939fdaa25c84485a85bb48e5bcb6c9cb38177bc51ef02b40dfa98d1b -KO = 53e8ac464789b098f4bad9f83b93c71594d1c4f39bc3f978387041eb19c45b2cff97ac40c30412e6fb799812ce714bc9d95b18b671070ca0435be3faf1ebd6a952dd1119ffa3 - -COUNT=23 -L = 560 -KI = e9904a7c465d64f81b598ac4eee50b7b97865b5363bdafe7f3ce7915dc2cf6ec -IVlen = 128 -IV = bd6fac7e9266a8fe3381c47fbaa8a430 -FixedInputDataByteLen = 51 -FixedInputData = 26713086121b4de65b45b1bcc9b811f0af1a69a992020406c340c5df4d8ad6dfd36a4db1b473a51d5abcc228763e7abb898b24 -KO = c1d5b9ab97bb90a1b4181678d50763150ffa5a68c4d6a2bfa87a257148f0dee1d4955a69bc53394bb0490c569101e8569e53eb326e20d4a1d7511210e7f63557d3367a554633 - -COUNT=24 -L = 560 -KI = c5eb26805674dd5d8bb26d5ad4b3d007dff4f0526133c64d7ba15330d97bda7c -IVlen = 128 -IV = 7a32257cb2f4a40cc5a2fe50553c5c9e -FixedInputDataByteLen = 51 -FixedInputData = 8fc6c3d9b2230a0b8321a03b83d0c9b7eac82ad47a7bbd0af1fd311be00b9f522a32c8bdc3537d118dc59a41d42c1197974992 -KO = d09e797302e00258db3df8e6c2b3134b85f5adf9fe9450642e63a8e6eb8b4a294132a590d132da1965f6e13bc762d25cda91b4f84830489e5c4d6111a745e13ee0f8c99d9347 - -COUNT=25 -L = 560 -KI = 22c8fd0ced546348ba95e093e10dec9880eff66b6de4d6134b326587dbd1bfd3 -IVlen = 128 -IV = 4993d5ecaec38898d0a1fb8805bc1f21 -FixedInputDataByteLen = 51 -FixedInputData = 8bcf9b87d4a413b0374af1ac3004859ecdb3559028db784d0f0929200265f4faa6c0370953074b80b19afbdbba772dab5fd240 -KO = 3a07804b740292316c184631671fd839ec2ce00b306556618d3344058ce363400c680ef5c62a304dae95f9b5fc48efaf25b085fad56dec58eb29abef53863ce7b8e18cdc4a4a - -COUNT=26 -L = 560 -KI = a4bd83885ee48a60ebb63aa779afda508dc220312f8a1799d9d8edd3cc3377ae -IVlen = 128 -IV = ec02efaede272476696d6808ba30646d -FixedInputDataByteLen = 51 -FixedInputData = c742645097cabd20ed8bcf4a08377d787df3bcd71f5f8a2977229dad76a307529971d4d588bb13aba3e200d0769749b17395bf -KO = 7f4ffccbba21c8a877ccafbaf0229b72577ddc9fd67c804787da0fc3771672f10dffb5483879e18041bbd9a0e66c6e49377a6b22e1644dd804d0b991738bcceb3f6f7c8cec09 - -COUNT=27 -L = 560 -KI = fc880cd9277e6777ecc2770a857d14b665adc5887157483f9c1d078948cd08d1 -IVlen = 128 -IV = b931385e9c1ffc0802fe2a41d54892ec -FixedInputDataByteLen = 51 -FixedInputData = c57d859c60b372e8d586f68394bafe70df78138e803df45df063f5cba62ec71b675ff37d8ed3d8933b5c7d6754b93b382de33e -KO = 8e32f3a032f9c0144de533537b4cd7b8b7a4458e9f2ac55db817501debbfeb876dee0630c74d59e85b29ac2a285b4bd8f864849cd4f6de1832d08b57f8b385d5762d7108a527 - -COUNT=28 -L = 560 -KI = c69cc293b8445810bdef0e4d7d2067368b0889779e7d0995287bcf8af6133386 -IVlen = 128 -IV = 96ce0753e48e2ce4c7b6cb03161a8a10 -FixedInputDataByteLen = 51 -FixedInputData = 65b9fa34d1d885944d6882444ada86ed038717a52c32cac2dd8a9d14bae3fa35d9d9acc06af33f2123dbefc0992a8048b3dba7 -KO = e4802c695e77551e764f10cce32dcbac74595964cccc2f143e97f2bdbac68795107ae1b2e5d598afcd8251ac8aefd18b3c0ffb1083851ef90bcb7407848ff2dd1ef3ff41ac6d - -COUNT=29 -L = 560 -KI = 35934a0715d4e39f593addaa595ed1d2cead337613051feb3f68561d521710a7 -IVlen = 128 -IV = 99862d1ba28e4a687f31aaa8d55e3d15 -FixedInputDataByteLen = 51 -FixedInputData = 3cceae05885b83549c510aec025a10549b6dff5b1e9c00e26e408dbbda49409df14cc1abed1b2113fb14047292c5a8a386bf45 -KO = a80402f122ec7f74f9407eb02346ce34d52e97a8eb0c8c8e8dc85b63a3ad922e01ae1f81b26518143a86d5c1cd63dcfbd605c47983864683b37c5f2af03eba197605ff7e8cfd - -COUNT=30 -L = 2400 -KI = 826375aead869f21479b8c44d130cf37ca983ee83ad3d213f1e10697dfc11fe0 -IVlen = 128 -IV = 6c5f5f3871b1002ecf8f8a9034fd77d3 -FixedInputDataByteLen = 51 -FixedInputData = 413d3d5fd91bcfb65fde356fcc5fb1ccec2eb4414b096d39d304f8b211ec54ee4a622141a1373dd0d85cb81b927efefcfe5134 -KO = 9a737bd6b7f35f94b38b561f69b6a9fe0f61825d0caf5e980080941e7f8abd34c0c191bdcebb24b0fe915865bc0b0ba7a2661bc42593c1a06053a8d99f08eb8e42ae2c9c77993c76fb587aa0e9059c28462866a8f50e090a133dac4592cf0dca7e1b202b13f94ddb948523ada36d20c26a78567590127741f2a048635734147e9c3286d7c8fc40bbe8cef70aa19d275e26ff7724965b4fbc2c204a4b6ecc4258ef11ab17769555ea446bd4f7609ffa51be8b9b77334654266ac9b2d9a464759fde30a55233fe5c73857d7138148022b892fadab923e6c015fb78499c01113fc6e34bfbbded624fcd048b1243cdb722d1552e9fa04f735b776b9f4a86b7acea1cf67ba1c53fb0e87903b74a719a884d010a4ca2eeb3bd5839167c33eec8c954976d134fa82a1e97dde52c18bf - -COUNT=31 -L = 2400 -KI = af80d984c8482dc7c0296153e5be0c6513474d9701cae740b6a099dd58c40097 -IVlen = 128 -IV = 565cb7a410233a9335ecf637977f7613 -FixedInputDataByteLen = 51 -FixedInputData = e6c5fa335b4d0d6157f466e856fb57ce2805bfd75d7176e2d7ba2732b1ef11a357ee9a2c595b15a6144501eaab6dc9a26df060 -KO = 4f1d0f10cc26f17c568f17e96f043830e26196d78fac1fc64c7543817bfc23d05336d075f175ef15044947019d82bc6a45da0428e6b3d3aa465cccacc60fb74f7e31ea940515546c7d3d1cc7c8c06f875544744d3640f3668dd8b5ce9ddd79b25b31baf2ccb466e640d20050fa1b553aec6be35867ce7550c3589dd2c4776052006eaec4a3f47468543ccf0c1c7dcf7bcf6a0351dd271950f6fa5edfb47fac99e57237c16d5f22555feade3f0c65d45c9d5e49ac89da0f552bd673e34177395849319e718a90699b225544d589d8403efdfb676e22905277bdbd904d4face613e1ab974c5207ddf318f4b988b57e0d1df9fc8c49f96d810a9f7eece6a874433e767ca1454e46bedfb1a3d2f86d06d52745953dc08af5682625b58d7c07f8df1d2ab2342e2711fddaa7a7cd04 - -COUNT=32 -L = 2400 -KI = 2c45f34f8b65da6f15fe2f18ba758ef3177dd0be122cd00a1553e7f036de7aa0 -IVlen = 128 -IV = 152eeeb25e4c1896b23e7159b6157a21 -FixedInputDataByteLen = 51 -FixedInputData = d3b91ac95ca4ee32d9251a2c4bef47d36f703a6bf5f8f90b36e8479c3b2ac25fef82182d1eb2574d9124fd5cf1f92ae0cd9e50 -KO = b74923f57f359f12042b1f59a8da88042701713f2b5b82b7e4bfcb08a5aa60e562bf97abc2c59c234b19806acd738ebd0fd1fedce69ae23578b45ff7e5ad03f4319c108a1dbd5520c1f1657aea47ce72a82f201ead774880a51c7f6373b494b3142a11974da51c812d9d7ebcc07aefa57769472dd85af20c342a8fed1a778e3b33daa28d42abae661f06c9b82f59019c8b768ccadcaa9341a315ccd6245b8993fb47081e5778b8def4475ffae4c285e16c8f521cf36baa93e82944152ef1c394a0ddbee0bf731f0ac6854c7f7c36230bfd46ec045b119555acc5c0933d912ccd066ac2434b8ac8d280ddb551b8f375f68f45fabb7faa97c1c82d40530e59f8d311eab574844842d4be91fbb82335d95a6c523c1f59ba8a190f37250ce4ebbfd9e93fb42a18ce8f015795a52c - -COUNT=33 -L = 2400 -KI = ccb84aacd628ddc580cdc67e5dc4f904c4d32464a47fc8c880f06f7ccbcf0d64 -IVlen = 128 -IV = 28c10ca101cc8d537b62a692f39dfe17 -FixedInputDataByteLen = 51 -FixedInputData = e314c63b983c3457f70f86ddd959ae056a9911cee075c854812004a81632a085d26fc3e271fc084983b6a326738f956d7b6565 -KO = 0329206549ad4e02a06f7e7193e74502d5874a92b107f1c15c7a5b96177567bc127ad186d155bd21e41a3c08e839da6d34d1841ef26d9a817798aca671fb780f015fa9c1afe103e018f275956f251c3558b602fcdf5604c3ec7fd71172e2bb2f5445d83aed288e0c5003a0dc4c22cba1e60fc93bdee37deb30c6c785f75acba040c2ac9de0fdab576966fec336283ac2202dda59a1b895f00910998f86962a6eeae60fb0b7f6079012a9ce4638356f7d04637379a08d0337206a48cda51f98f4847fd09c2a696ee8132a374b673d3ea523aad098eb651618488b8edb09e763d5bb43511e08f04bd5d9e83268e8b18e524d630452492dd5a4b424c735e7914268c6e607c9df1480f284e7b55b806a37e20e14a05c7d612443f1e074217b222b7c25bcc446a90470b1a8612864 - -COUNT=34 -L = 2400 -KI = be99b2e57413cf58eba2c05cb3a9b4ec5788878d4bfe233087b6384794eed859 -IVlen = 128 -IV = 1d198ebfdb732271aa9d13b21c07a721 -FixedInputDataByteLen = 51 -FixedInputData = 073bea2b0fd58a1b425f24eaddcdba80dc6457da46369ea998e18bd9f9537faa394c4e077a8b4e4b60ca27f01c65e25d2ec29b -KO = 2f6a780e416094b66859e485bbd86f0d48430930f9876e85e9263faac95a83e8103404a554c737e194ba897dfa334e3856404759b1f09646e1f38e3c4d311908aacd831a490f25f33f123832f2c3fc51f672e5499ade3450099e11e91a7906a8d0d0edc8ffd62fe391017ad4b5e614c6f1db36402d5c05d6c6fb267d1eeefaeb7b9903b835bf3f567a030d0b1e85c9accfeb5a177a2133f7f93454f76e904cc09afad1b0c2939cae645465af15a36772418b9a1523194c90038a5427307c4e91b822c68f4f570d0e4b1b10c84b5fcc25dbca76e044e5467e9641d229fd2a4b93441172f3aca0d9f9f42853d261e64d2f002ebbc94c714b2601da59e61a0ee028be34b80f7a97a49e644d3c912b19132ca42ab0bbfbd6f87fd50b2f47e240414369932d636c8e08bcfc658ec7 - -COUNT=35 -L = 2400 -KI = 5f06f52c0a992859f17d07ce2ca97f7f2901526ceec8d9238928a4edd854e616 -IVlen = 128 -IV = 2c65cfa504164834da34da0779230812 -FixedInputDataByteLen = 51 -FixedInputData = 1d528d0968c67aa4326a1eb87e2525a567ab2f07da9c92022ee50303f29171746d3b5a5c5dedb01d858326891947409fc7d17f -KO = b98bd4fb0b7cc7bd38a65c7e5f913a5374d4f173f1defb80fe2eee4a37cfd1e8c099b0c631c1620a3b03180afdef16b8fd93fceb9d0d5731942b46d686b21f7dc4f097ce54c3f9b824849a00f2e0aa88d9040b0e207315d379e04d2134a4014d3f076294847ff0ec909f7d2950155a3ed454f5b85e66ab395c0fbf5d547e5d0756055c453f368d4c8c9593485f8695108a2fe1e6105116820d79bf929826d83c6bbf8b90e6861d567400e48246b58421161f8db967d3ed28705cd1381bab8264e9b806eb71aab25faaf9c0af0bdb6c13cd657522f7941a1995a595b6526d00aefa12ecdfdca58b9b0aecc0896837ca3586b30107fafe2742f23409ad2e3bb6a00618ec3777cfc3fcf65cb79b8fdf38de8622811547f75525fd6e6c5d46fa985700e81db0d06b4b2eb37803cd - -COUNT=36 -L = 2400 -KI = 617cbf82915cc7b77eced96e0fda732e9641d70f87f2744ab4f36e416726b854 -IVlen = 128 -IV = 03082eb7ec05bb4b2433ffbcb0b17ef5 -FixedInputDataByteLen = 51 -FixedInputData = 361aa1b7a159dd17510e5ca4ac4397fb99d15dbe39904d191931e66627f441c876bd074c69789371781383373a76e191d93ccb -KO = d0134398e8af08c87ddf7ea8d7e3d4a50556aa794fe80c75aea05f661ed7ae6035b23ae0038941be27645ed7dac16ecd485cb8e0752ed48ceae6b3f6c5fcb4d3e8203db3a7e3f0020b17bb4fbff583f885e2520052211cce57b74346002535bf777cfc3aaa7ebad9109b6b5e7e9ec14cccd2a2e1a0a61e92ea79446876e5fb71f2f3e1f3d66c0509055d8dbe30c999245fd757ae1522e931a3e0ef16c09267150474cdb3df7de7285c8631c669016d20fb6c9bbffb81d0cd0bf2790a25c9a3e5f6fc66438a13f9d47480fb73fa2ba00b281d014883820de7b4af6d880a03988fbfa0c398968e1a565fa1b0b394413cc14843a5c1849af8805541fb3dc11db02aa9826b566c382cd854ac1345cef8239bb4c22ee42865764cac57fb60954c299905b31945f039f0232a5c952f - -COUNT=37 -L = 2400 -KI = 4836e69e1c39dce59d6dc386f5bd80448c5d93e61f707ae6ca37363f86fe66ad -IVlen = 128 -IV = 8c1f7d2bbca181630ee847a6f702d883 -FixedInputDataByteLen = 51 -FixedInputData = ce862dcd59d456b1ad4b663659f63f63816c5c4eaf50facd4b9096d3b3e1c7a2bee175f56a14c0afd9a51c8926c1caa18d9ca2 -KO = 2bcdd00243ca0461033a3a2402f50e7a77fb9df460f3358d0ff4371c8b234d8353b5d8c90a55b18f0447ecbf16888889d52327114c86bc029626f411e1d944cd07e3c4e5add527eb2e390fefcb71f14ebd02f773e6d1f13547ed7563973339fbf224cefaf793df462d54616853bf7dc69090701cf664124faadb5c362abf3905725dde96cc413e8c4d3ce431be1934e4503a663b30ef8a62c831dfc2156380afdfba9b71f82b25b5c52f7f73a6ea9597a670fc70d9385c0ab6fd8334c9a60a0e397360c59247f981703c80468e18050defc2fa198bae04c959a7b5a45bf91b23fb8481922c26e440aa2c6ab97bd4689bfd7b51f39ec942ca127ca102c9c388f01cb7dd56157d947bf62a21fc8905b1e27a631f48330d6d171908457a4c23f0d0425b43dc1a7314bf2a05fcee - -COUNT=38 -L = 2400 -KI = 4c9fc5428e9a03043767419444b8179a07c9b6f6bf57537ca7a9f8a25926f0b7 -IVlen = 128 -IV = 7953f2cdcdc3fa3cdc5da64863f86a9c -FixedInputDataByteLen = 51 -FixedInputData = d34d5f46e424477f4fff9aa89bed8bad9551e429443891e0613a853b4afa6e57b99e1217212ed97a593fb8ab1559728ca05455 -KO = 0f19133cd702b032ed6db1a60ce77da7a018c137e5e88b2e6f17ea16d9e2a02ad24a449541907ebd8b6aa860f089cc35ac0819bf5be73d90df50325f1e09689931954ef620b1f9b89f28cc9a222cd994c1b85b6605c3a81a2a5960f0033210b6ca870841a1cd69d171c7fb8728b6de3ab1ef40db47c0f12776f6e01a3dcc4c2094de8def0b3a0fac712355abd7085c3d18033cd8d086e8112afe54e42fd6ae977ad00c88f7bf4455f74f5476ce669e89b7c7a55b94447b6e7caf2d999bef48f66cf1bf4831cdb45902299c44fa5578d800e6dac6f28a056ff729b7094fd38f0c9bfc48f6323077221059b871dea3a759dd541298a2fa9b2d358dde81e085ad8601e1f7be564c084aa2c9a8e60059955905a970419cab9c60bff2741943db6e6b94314b07a1f63fef438f525d - -COUNT=39 -L = 2400 -KI = 1e2cd6d6d47a51d1d888bdea76f61d5748943576f4437691ae0d4914fee8ae1d -IVlen = 128 -IV = d802147a1a04f072f525554ab215edf1 -FixedInputDataByteLen = 51 -FixedInputData = 51ae68f2f3ee14d35f326e656f3e213b7cf8d71180794e22091c7096d45a8bc3aea1291a46316dd2c3d48d73adcce0c270f1ec -KO = 45e6e7ee849a0e153b01a5aba8c0ec3b3256fd3d30b78539b750bed0ec6eaf46aae935aca6df3bc696101901b165b3a5d4e5408de0556ef05d0b53a7b26d930029959f89bb7f4cbc4ab1547bb4cf6c770bbed2055a2ae18155e8dd7d691483331b90326d0f0eac1b219d0a1813a8e0270d3443aa33c54c41caeb650e3503613baf0dcc94ebef52139351cb29a90f070394e64dfcd2e47057a8c3e5fecbd35992a2b746557dcf5f4dbfc6f4070c71ab8febd32d5b88ab86f720b00d3ceac6c38593ce332dfca97cf71b44fb0b77e5037128d68280582794e4323e5dbe84b02d3f7decf793ff80bf04cf2b7be443bee0f8c6175e289da17ab48f58997dfd04b85db7638a5633c296e11fcf53c0f622f76b980cd7ac42c985c7e754e04ef6140a2c3a078820d51e1e9c95e147ff - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = c5b3b749d5aa61e33f28f7aff312efccbbd7e272ddab7febbd6b0fb06a2e696e -IVlen = 128 -IV = 7709926668dce7344c132fbd777d821e -FixedInputDataByteLen = 51 -FixedInputData = a6d06d977ce0368258b044778298cd289bb55c70c4044598a3f0f0be4a73065acbced3a30919d99a463c5546dacea2964ce5d3 -KO = 5110dc79f75ee07fbf02ef35f9f41d9634d3ea0425bb40c6c030e173e8a88ca4ce6c23e1efadf06fd23a7a0afacb732a7e3cdeaab6de37ae84674e196ca9d96b - -COUNT=1 -L = 512 -KI = 6f8fb0313b57f09d09738a3b90ac811ddade4d7c42c44e954b24b164819e0ddd -IVlen = 128 -IV = 9a05e64db3acf8fa12c0565c2a15e62a -FixedInputDataByteLen = 51 -FixedInputData = 0c23475a80a1dc7947de8e75fe3ba379a54c778b0586803a8b114edf38aa9f7ca8ad96d09cc19dd989f2ae9bcbc327a70a8c08 -KO = 9ae5cbad55d1c1f68eba1ebc411a8af2245e5bf84ce13b324088d80bfbb3df2860ac308ee031547ee06894acf4182d5bd93fcc9a0a4967cc62b4d08c56906076 - -COUNT=2 -L = 512 -KI = 84b6d0b727f8647dc39f8d0daf3954280f7bccae8da8ad43bd59b0a42f71acfe -IVlen = 128 -IV = dd40d429ad57edf00aa28fb919bffc32 -FixedInputDataByteLen = 51 -FixedInputData = 9dea16926bdcb4c07dc66b2caaafebccd1b8ecfe8e07d7f44bc0c9690c582c01b174067f3798c74107dd0e3fd1158e10a4ada3 -KO = 336a8e16baf555a38d98a97017b8ec11752e731421b42e0830ebf12ad362fc5d8417e45b7d4cfeb421280b41bfdfe9be4e794bf985fc1a48a1b92b2c7944b6c1 - -COUNT=3 -L = 512 -KI = 3b1fdbfaf214bd59fbe8dd0f8ef4686e4c7a7b1b8a01bc9e36cafbdcc4c92e8d -IVlen = 128 -IV = e7b41d611d116c2ccffe61a14a4c50e5 -FixedInputDataByteLen = 51 -FixedInputData = 98c7f1cb9f45312e62626f2a1ce4ee54b86ee1bb1e1c1bcebbb0139c326455e7298739f3ec78c104e9ffdb041d011caf509186 -KO = 116b2314120b544471ac97f110f3af3126f2e6061deb49077ec2f1837ddccff2d9cc83bc9ec75b84a658139616cf9922437e2c4d82b5e41f927d05b0c7b289b3 - -COUNT=4 -L = 512 -KI = f061914ae57d02d53909fff4cd56d6cff5a30b674b8f1e8dc090bb59eea44972 -IVlen = 128 -IV = ab5fc2f1a56be246fd9259e270d283fb -FixedInputDataByteLen = 51 -FixedInputData = 4ec0ccfe435b1768b76518becf4872a558856917ad28a00a837b54caf58812e2dabf510ad68b5303e59b3b5e5f05e7965cc694 -KO = 01ed75fc7cf21da9f23cf412da2dbe85085f1d72ccd922dfc1193367f24a560983012c0f1849468708ef5d7425f9cd70344b69f40861a56ca4e53cbd4567db35 - -COUNT=5 -L = 512 -KI = 7d7c50bf6240730e13e209481d63e481062cd860d916803b4e5db09e791d1f97 -IVlen = 128 -IV = c8e8e10bdea05c01fc15e0677f04bdc4 -FixedInputDataByteLen = 51 -FixedInputData = 335d8dc9a4e85f0d9d31f2a66d4a5c58d1f8538ca58c86189d50bb6da0639ed79fa8860fbaa7e902c6a788d9fdd24a6971ae09 -KO = bb84a4d63933cef694edf3ca5a0070fb4ffe171e2bd4a6e7b8c151fc985f9db4d3bf475bc4c396b25d40e3a8a0bd4f60f152181869131087e3073625cd480eb0 - -COUNT=6 -L = 512 -KI = 3b2ea583fe9110dbec0e92f684e34ca95913b88414f43c571c2394059b6a6d34 -IVlen = 128 -IV = bf86872b288568d3bc6c7d8cd532a3ad -FixedInputDataByteLen = 51 -FixedInputData = f27b77f18fbb811be033c7f4651f0af2e39aab6e64e94bae6fa36e53736d0872ce4fc16ae8a47f5e0f1c08efc83915a6d9e126 -KO = 787a3d7cef781f0d7f607c69f1cad56058dade78301afed4d509d56e09ee680f93bfc885b298f6f32f8dd59f9bff3cb257eb0d99a398de4dadc7742d909108bf - -COUNT=7 -L = 512 -KI = f8848e6a5472a87f583d0fd03c76950d651bc988517e8fa1dbacf905803528f2 -IVlen = 128 -IV = 299fb9a262e22876b97b176d8ff82278 -FixedInputDataByteLen = 51 -FixedInputData = 01e61812e5587b6ef1cc0eb2d7dd672a2f66ce623be708636aaaf033483f4bf892376ca02d4d80f6dacea98100560c6f9dd20f -KO = 84ae0dc6d751d777f5aaa75cd722e9389f8e9fc45e63ac8e222f9843a600104f378ceb09e4c75107fb48314de3a12723ec1dfb18751c178e8b6b032371a9ceda - -COUNT=8 -L = 512 -KI = df7cb4e7c69eefb1ab24dbfaa95fe0d6c5e100344289b1ac7ea725c669d3b5ed -IVlen = 128 -IV = d87523cea31ee6f55f83679546f66ec7 -FixedInputDataByteLen = 51 -FixedInputData = 7d63178c087711d1949e1b408364191ea11f08ab43563123d47e8d0d27e9a1f3f89f3a7cdbc01d68f70410e7fa6dd130701ce9 -KO = 65f917b815d25bde9b7baa92707e0c86ee35eb80affefce0fec8a575db0ff3c7a0a9655b20ab574c3b7a397d8685599b19e4e842394a6a052e889a5932ab4ed5 - -COUNT=9 -L = 512 -KI = 0a1578eefcfadd94b3909e5a86f6d24406e70baafadd05c04fe9e1bd4ae063fd -IVlen = 128 -IV = fd65c06d6a648114b2c1298292f77e79 -FixedInputDataByteLen = 51 -FixedInputData = 8076075aebf59753d6653d823b1258348bb8b08c04f76ddf974ee79078014395717e71693c9a697b354102075187a28acf4199 -KO = 4aff455565394ed154e3778bd94364fa0073794f000a9e9255d191c104d971736906ab498968fa349ad65cc95810069f5db9438a53866a0c9a8e073a37e2a2b1 - -COUNT=10 -L = 2048 -KI = 73e570eda062066633e26079f1b1a29ed23eba29aeb9594945e84d0b224a6853 -IVlen = 128 -IV = 89166c71be1187e154f5a79522430d64 -FixedInputDataByteLen = 51 -FixedInputData = 4dd80a173bb7fc103bf35acb1451224d8d85d205f0a2b8c255260754525e1eb79722c9f3d91db6732fa203fe064cce2c37ed97 -KO = 24a633a1071a4703bebcc35de90fc652f9b810f8520ad956b4c0c0fdceeaae23c749d6962245b7840e4a37fffbc6c16c7dd100e4f299e3fcece1b8dfcda2f7bcda12301b1b7c1d5d817134d822c95cbad7f122a4bdbeee8c0f7271dc6bbb6d61f54c48d6951d26512599c6f007becd58ac869ab5bf7ae831add973193fb0c0f6d5a6c713beb49e8b639c3d132d900a6ff7cccdc5d5eb321d2446c5a7c126e858bad8ffd6feca229c8d0fffef92882f800bc703e9e6e0b4539fd7aa8f0768474ecf98a0d43316b1a980d2d4c9b8fec6a8b72917843797b6cd204c8291a78fe7b3de62ee011c047876ffe506db00687513122dc751e08774b3f43803f26b9b08f6 - -COUNT=11 -L = 2048 -KI = e133ead453a71237938bbaef8b81429506e7aa78064678bf6dd86f0d2f9e6f48 -IVlen = 128 -IV = a85dc702ef24b2ae577c430f37dc1360 -FixedInputDataByteLen = 51 -FixedInputData = 3d8f468fc125b037a37f234a3c375be9285e8a084e86f6d3bad813ba75cb7634932c1156bbe66abe0cce896db5f98fe51d5084 -KO = 41a690bd6d3f0e9e20b44ff0af428e29db8c2a322342cc941d01d04cd112054093ed889765f7d9911793141d63ba337426a26801d73d29104f0254a7c739e5f128194c0eb34d41653f9226ac64ffd44338ebc4a6e4ddc50bab079fa17472bac4265ca13a0c0f67e0dd113652b0b7c405f878b07e08174e44985dcb9c7aecd35a8e3c997cd4d5058c732e90bd7ef1dc338c79faf7eaa3a0de85f53e4cf429db50405e3af2a652da3bce968163082b25966418a75f911cb1723c903a68bc6b5c303622bbcc4f04649384daf1ddab9df95152c75d8ed1f36bca4fe85076e9acad7dbb07d8ed23e12a96d035bb81e0dab2ba311aafb433b16217035c521405e55866 - -COUNT=12 -L = 2048 -KI = cce9ab0b8b1fa6bdc1fbf6b219ac587449b6c7ff6c1a66eedb9b486f136c0ea8 -IVlen = 128 -IV = 5e8d8e98e356e040c2e3afb166679742 -FixedInputDataByteLen = 51 -FixedInputData = 7389cda79b17fbabef0514bc8a988791bd7c9f894d5b67b987ba0ad44f4f3979842f31ee7e08bedb8e09b3cc406f1bf4113b9c -KO = 93ba2cfe7853635021073f99660d79b1cbef2f898ed1c9883273a304ac9ab758a2f075a4bd5b83d23d288825762ebf01beff929e09eaab05e12a1092587f4b100ab1726efabb40177588ac056b805dcd01198ea6b7cda675b48c94b1d013a22f83ae736a102a2d82235ecd9c8e52831f9cfcd75c84d01c0a6584f6bb4d8cb8afde0bfec4630dfa807744ac9c59f51d0cd046689e4c0a2a6bc32b4212bd2461a1518fc0af7d6bc3320202bab37836fc166b436a35b3e8ee26877f0c0aaf52ba216a78c9d904805ae42030ac2234a367ba9a67c0621d2911c1c504da38568a5bbd97779e80bd74e9f4a4427bb282663eb513ba75342fa8f59060106a145156efba - -COUNT=13 -L = 2048 -KI = 48340ef6cf4284ca0d120948737190afd47571514994215dde682d3cf6ec74e7 -IVlen = 128 -IV = 04b866c2272c2964844437392b2d7679 -FixedInputDataByteLen = 51 -FixedInputData = 800d5846ae24232ae080636d0badf7d146019960039cc55061c1dd9abb05750a889da778b16aae58483b000c01ee59041d48bb -KO = d8e657d0b5ac1af504693d109697313658a2fa936bf048ddd36648fc1947c28671d3e1842a741430584766e2e96e534fe0b0ff6fb676e75219e7985cdea6d62d04c54757eefae90c6971e5c0410b7e54e12e1d228c84449e84bac5b3e202a6bbeeb63b30fb1454a9263b624378c03558014446a0a74844e8f558546eff1a037fc688c87abc491e11e266eb081f5575a7837e93feb9fbd78fb010a4ef2a94fa3f1eefa807d27bef717790858d36196bad80de7664de15047d1ea0b2ab957d8af5be4d737c18ccbfd5251495bd0cac446f1a52f2eccf81d8a8b41810054e9a272decdc088f5c376bc97f7968d2d04f428e3923f573f92f347bd3a6e2f6724896bb - -COUNT=14 -L = 2048 -KI = 746f0027756a62ab7d6bb96b39dbe307eeeff03cd15e40ae0bc21d97b6014f5c -IVlen = 128 -IV = 324057cd1f820cd0196fc2948b93f5b3 -FixedInputDataByteLen = 51 -FixedInputData = 26d6e4f784656d8f4a861eb4664a31bfdeefb0fcb15924b17808f3bf0a7b91f777a9060125daa234825d20607a3aea83ff769b -KO = 8d8cf0574c23b382a58b21c33b37ef174f7a741c1379222209e135cca6fc5688b4fd67db34fbd2583df8d25bfaebc3e2e4a7d21243404307889b531a208d374506bd973e5d68e39be707bc62dac4ea405b0c2d3afbd25ffe18d68370d6ef8cc757d11b2d17cbbd6b4dc4fa908869c98139bc436d1b9531ede7d6bd1f634a372c98e67cc55cf0d87a34459ae1d6ea354f3c2201471868411d10644aecff06e939c7456947d8dd4ac3d5567c4702e4f0455576ace657c8ddfe1adca61df54bd12b28806defbf231ee98dacc1387a5e317917fc43366990298f6d6e427c5ca1a3f1b38376604b5e20ded1ff0bc55b160fb71605b7644ba5fb0f0298aa69918e7a0c - -COUNT=15 -L = 2048 -KI = 86e9bdcef96b1476f9c3ba9139deb908576be1152fdbd4d2fedc1f400d06a625 -IVlen = 128 -IV = 6320cdd73a0c52f4f9b240a568aa77b2 -FixedInputDataByteLen = 51 -FixedInputData = 68d68baf8a0508d6e3e64e91737ed45c9c0b93d89782fa0021fc538cbc1d2fbaae33deb1c25f489755cc35d2c090daaf6f302e -KO = 44c83595d81c63d8682a67ce33c4f6e4f57ad80859daadf7f1023649fff8ed6166f4028a240f687b733c4ecb3b3187d95385726095cbf48439ff718a53987d86541846bf5edd2a591cd95f1563116b6b2a0b3d95db59305fda58bd488745d5db5fb1b921700f95a336e63376b85ec71c5babc8a4f515a41baec4e0b5ee5240d5d6d488fae092abde37f71da7aeaee6d3a600ff8085299351aba15cf4c4fd3e9d17c3cd514bef13c322057f2a4c4e6658166ef41133064a910aed8deb2e156bb71405b28867a729da4293f97a9191bf316a8ea60134922d1db537b7da3e9686fc3d4e7b97f47e6ac13c652f031591718e291e705badba787826a4dfc89721bc88 - -COUNT=16 -L = 2048 -KI = 9ee490e76339a90bc5bbd9ef99bfe4deda4a510e4607a4e17602220e35160084 -IVlen = 128 -IV = e3f796ad685bb89c3928aaf85a968aee -FixedInputDataByteLen = 51 -FixedInputData = 90075435af15cb292857074fb6468c458d7a58933c356f3d41c1e2c29864fdf823cdf1e36646c95d234214e277a41569d583ed -KO = 5a1823ba3f359a4a902b6932a9f7d935da71b20156de76527017eb05dec03b196fb7d8325a2d7f2ea3b64f180258b7b4425ab9a2dff13d185582e1769fa51b87b1ca623f32778085c4178e47b56a8b73a7952e463a5421a5ab1a9ea931b2207a9b6251cd89e6031bea5432b05ecc02ab275796105168143528cc8e91b6f240c7716883d841b6474fa79dded08572489e82ff96fb51e0c4ad3cce28778b627408005eb777d435e4cf029528711e240c8e4f8c7ae4c55c7e36765a3fbb10a3a3f59b9e35383331101b199fa68d47e381d7fab481e132bf402c646ec6bbcd02b4039678df527b3cd9df4c1fd94ded8c7d34750d03b1ce7f297553e4221bf05ee72f - -COUNT=17 -L = 2048 -KI = 332bc04c2f049ad71b36307fef9d1b980dcc4bc957a6d6daa6695bf692d14edb -IVlen = 128 -IV = 39147f125ce466dbae63ee7c5e1dfe1b -FixedInputDataByteLen = 51 -FixedInputData = cacfbac0843debc46a2293e9b2fccad8d16217b556c56b3743ca362e8862eeef3943eb4fefc39edc610b327f010017fee596a9 -KO = 4459aa30ecec4e9f29051244b669145f1be6f05f8bdc661300226e76451988e57815e8040489cf17ea5ea8f2499a3f391c17453e2c7c606e947e68d738e3e4854d11f77cb9239f21e0d1cda33c79a5ebadacd2ed83317c38a0fc3723282e8ec6ff80371a88070a385181d2b40463691daf3fab3856411421b1873d9d6346fab401109346557e8d9d8bc71f34628c97a152776a304c00d53ae6911aa80222523427f54e73c5a924be6c1c023f46e0650d9f22d9995b31732e2a85a0fb69ebd06e91b7c94226fbcdfa0a0412f89abb25e314dcc02297aea226935f9a2c46284d97cb3b9a36916cf1c8ab2ff51d19868a569cd24c154666180bf462fbeec5299d29 - -COUNT=18 -L = 2048 -KI = 73e1a716a8471325b4e7d4bb4249182ad3bcc65ba042312b49f427a28ea24331 -IVlen = 128 -IV = a94cc235165ddb32bd3344b8bfae99df -FixedInputDataByteLen = 51 -FixedInputData = 22ca62fd0625d79ad7912dd109922f2f724cb38db592b45ff3ea79b0ed9216a46a185b0748b225a4d2a2a0519471a73e721533 -KO = 72ee775a57b220738b5c92cc3c00e2a3d835554a541d42a5e5766bcdfa6616ab8f690a4295a5367e333ea04f0845bae0134f29ab966d3efa1a051767793813f88afc306adfcb68d772b96d5a848e233510060f3a7f0a902b3f3e91b3df25bfc281593b2a95fab19669f9dbe92332d031927b405ed0e2a2516e4d7dba06c427de70f18e6a30fa82e8eb45e77915396392e402a7c4abbeae23804639709d3bbae172b0c0dc807038e77393432576b5a0e6a54e2ef7823df9f5d89fc98747cb1c9da31a9d88c5b4ece389e111eb8d1836e26b7d83366ded16c8775e48aad1228d0c5a1117112efafc4aded1a89811cb12907ac95ec801804d972eec45fa418c41fd - -COUNT=19 -L = 2048 -KI = 3d774bb72469d05a1fe932d82476aec46051970fc24c32dd447bf135603ed1d3 -IVlen = 128 -IV = 28cc785a35b7c7777632243c5766095b -FixedInputDataByteLen = 51 -FixedInputData = 3c0d96bdddb9fd90a7b1aae60b1e63ed0432eedf70ac64fec2668857a099d934a2c6a684d58d436a60f045bc4e5f8957629f20 -KO = cbcbca360121cb45d4ccde54ba8923884ef499651515aac1fbf345cc26381805d8b776baa5b8202bfce0fa5575b6ce85614f7babfed9a656444224a7db98ef3e31562dd4b44022e68b214a79ce087e77031411ad2f6bdcc7e9fbb3c520bd932365f297c0a10ac97e413c4013c6f64cc3b65b0b4151c1e30bdc3dbedbcd22ec9c08c000cf217ecff5c6ab0018e8fec841b4527ffab8bd7e289889899fd801976272bb74f6dd8eabcb8e04a05259cebeb966db07393193612c68e7f4663bc854992e942caed83d3a77776cf12a85120e0a1ccd608a9c5de86d9188e4cd459af2490770ea64da0ded4cd9b4b705e203b39d0e8ee7ab97ac6654f8c470be6dc22173 - -COUNT=20 -L = 560 -KI = 8b2bc198cf036d996b32100a062c928c7d15c0c4c5bc95dc39652313fb4141f9 -IVlen = 128 -IV = 1dd9a76382233b93a2c06ae4748af1ab -FixedInputDataByteLen = 51 -FixedInputData = 04e8f616d2ea0428e2f8edbe5da65d11daf4c94bfbf84b58842a13a5e3b2670beb7a68a490469e0e2ad26f5f4267c74bd588b3 -KO = 23444ccc6cb73ccca4a0b6c1fa055e5de8640ec592d741faafb0434285f7e2fe13aa7caac47d6b8dd8b275fed58846dde9700cee8650d4e15824cbcbf8947deb137dadab9f32 - -COUNT=21 -L = 560 -KI = c71beb1d41870a7dd3b0569dd26eb36c864349d3dfa174baa9aebe79491aedc1 -IVlen = 128 -IV = 7514fe88f09385544f4d3fee508b7029 -FixedInputDataByteLen = 51 -FixedInputData = fa58b3445962aeda2c948829abc614658286583fd6225e6c975092de2bfaa691da93f439c92ac75e2bd28993d978f9f9869b29 -KO = d0188d64f4f443dd93b52d460538cc5c80ab495e18aff0cdcbadf03b6dbe3bf6ef7abdb302673d43656dd18aa4f1afec3a5af708e1912aec8fadeb76aa5a405c040b26dbaa7e - -COUNT=22 -L = 560 -KI = aa8fc01c733b60d8526ec49052a535a0bfe39d1144053a59b2896ad4ae4d4373 -IVlen = 128 -IV = 38392e438b4f376d81c08c370888af20 -FixedInputDataByteLen = 51 -FixedInputData = 682e065739ae91cc263ef3e6e9e24f394ee57625bb29da9008e5e32c6deb4d2200e59309a76685c554577caf51e3c549c6fea6 -KO = 187b26227d3cb1b695e8894e913edfafda779a4f0f9fdf3407c2866c78fee7fc6119c72e9a17d7bfe9f4d7fe21fd488708256f50a39d028d8c8a4560755e32f3c4e892efc080 - -COUNT=23 -L = 560 -KI = 7345bd0778cdc05c8c26317d346eb37ab55a8e70c4688d76836975e9be5b228e -IVlen = 128 -IV = 30048e1812816f206398c3d57aa62bdb -FixedInputDataByteLen = 51 -FixedInputData = 6d7de8fc596c2cfc699950083e661d2292f5dc990d76e42f522a033b664b9fc576e89dc61820d25b69d01e729388cbfe0542d6 -KO = 19509758a6874d1e1372cc56c7c67d3828c8c5e783e046db30c17f8980f043f3e421a8b3f57c90683b11b03efb7d1721a852b3eaf86efb05d87df24bbe86315a57a7d5141b01 - -COUNT=24 -L = 560 -KI = 225afe02e60142bce82acccb00df79f20aade1f6f4eb38ff4d42dce53136fc7c -IVlen = 128 -IV = 8b426edbb8e039e6a564d3437ba995a4 -FixedInputDataByteLen = 51 -FixedInputData = 752baff0878e13fc8f89742c34a0b2933ea0c1b7aa75940ac206c52daa58328346c22a0f6757c422d5f5e3b99fa0915067cbeb -KO = ed409d59f07b096773a056b0d777a80c73bbeb8fd98052c787f6a21bafc5e06c1a4a0c9addd837c95dab5480319ae24e63137ab9448ccef7893a27d3f51edcc2541d78dd8bca - -COUNT=25 -L = 560 -KI = d58d80411bb51b37403a3688e13cf17ac827b9c5548bd03e142895ea776ae034 -IVlen = 128 -IV = 7122f72ac4e1c62d4367f5c95d7be85f -FixedInputDataByteLen = 51 -FixedInputData = 8c889e757d94d5a7761712c7ab2d841ecd175046c8cf008e5a98d8444bbea71fa86cfc411e54a6e758cc03ab634210aa288da9 -KO = 43d390e35756b08c024ff436e83e58c401a79c91740b05c6cdc1263975de2c39c1172e62d96d093c648dd76ac9b04ec5da71c1675ca44efa5452fd5d87c1910dcea3b741cc34 - -COUNT=26 -L = 560 -KI = e20eb92ced2cb11f66253574a1e6b9e71c83cd358fe1e6f611a46bf823a71a56 -IVlen = 128 -IV = 56f49d7f53b72abf3dee87d7caf587a0 -FixedInputDataByteLen = 51 -FixedInputData = 677cd67c71f19c1620cdb91980169526d78c08539af463edeabc85897051210ad6c9472a570898727ad422c75156db0e6591b2 -KO = bedee92438cf3a2fc7b27e3bf83ce03e2d2640401168d053331dd9eef4a2e84d05db60c3965d072f3e9d731a0c28814fd16668ddc7f46191419579286ad5c7dc2c38e9b4ca5e - -COUNT=27 -L = 560 -KI = b2e47f99207b0e21445c23f3be84ed01fcf842fb881bcb4954d89a1f06711da9 -IVlen = 128 -IV = 8f026ad71b068d7618130bad8cf712fd -FixedInputDataByteLen = 51 -FixedInputData = 8adf63a6b32c024bca9d1b6ab801e0bb95e628a92935dc6369a7da28830e84782b71c477a80d93e368844ae7ff68236c202c8b -KO = 2b3f4bf1458e14c05536ff86f23311762704104bc93bec22656a957d097dcbc6301469939ed8a8a7a3cced22c981dd2fb8f2980a5c3cdf511ccd0022cea6501b5120184ea99b - -COUNT=28 -L = 560 -KI = 65fe2ce67d85a78dd053c0ee1eb53961b1501744537bd0bd5d2fa9c2be57bdbe -IVlen = 128 -IV = 4565df388b09cd6ef27082702a411d98 -FixedInputDataByteLen = 51 -FixedInputData = 35038e8c1bcb5463e3ea73bd74ed7ffb7bb7f32856779167b1a7f904dfd6e7c2a5a766fbf0302ba81162829b6bf1651231c2bd -KO = 9b4867d3ecaa829a68a57587d05d438d93622123c649926a19b118cf358bc60363a850e4883e4bc37d9972b1b32f029d2434cc1a8d8f46076bbfba11c6bc711979865747d601 - -COUNT=29 -L = 560 -KI = 2ade6a320301fa2e02fba4f431eadc41f7c1033e5cf7b82fbf461f1515f2249b -IVlen = 128 -IV = 907121fc269c12e9b0479e72773a3720 -FixedInputDataByteLen = 51 -FixedInputData = f74aeeb3109949516ddcf9767e3fc1d9778dd5ebac8c521a9b0b0e52a25edea300964e7f01a85cc102205c1bd7596095e48aae -KO = a67c3a3cd2a185066f535453b7bccb1ff1c5d8e14995b95897775c6704374023e4061f8c9275d2194c585e7d7260b689981101eea3a059e2a4d219fa269baea86f3afa1fa615 - -COUNT=30 -L = 2400 -KI = 581a0ff71fac43c541c780c9819bac030e28be4729f6db591159f33be066d841 -IVlen = 128 -IV = 1272b10a73cc5d4dbb9e59bfacea605f -FixedInputDataByteLen = 51 -FixedInputData = 4f5757a31143e7de160ca43393275158b6859eacb52a4d822e403300258d153ec470219a7c7d3eaf184b51ed84787497b4c749 -KO = 557e3cde0c9f8416f5d8781bbf5d4248990b5b71084e66325eaac7b95246e629cff36f800cf9893540d1be3587a4ddae4b5ee750534a0e9d1536ab0671b7ce865b8e4ffa842d2135d97bd08a52a9a676b8d2a81e70c4192d1f6f5521be189fa80d891943cfae9c2bd98816ee0c0d52591f25fe5ffa1e86ead2fe2a9e7ea8ed7d0921933ab760951d17a5477737b96fd09b5ec887477d456c56c4519e54b80c197e28d07c776852853e79add6503350c0db76611e8943ca34280b9ec3495e0cf5c13767283a3ebcc6d65aeb0511e6a245293e7a9a2d13479276d863d6323641710eb374a289aa8e3a1ba85aa3576813ca8a4b182f64e8254de91ea84eb03231af8fb74595943300ff93c021318aaa07ae09c0d63ee2d10b170acce7c0e16b48bab91a3a30a5c0b4d1ee4d2123 - -COUNT=31 -L = 2400 -KI = 817dd0bfbb5999eb67c9b412329d7e35fd5de9021e63164e81ecf7c39f87a031 -IVlen = 128 -IV = 5c737d35dcbf5436c3022fcca7777898 -FixedInputDataByteLen = 51 -FixedInputData = 5c4f7db6fde39b353b3e343de406fe6e756073d021de847f1ad040b95f2f71da3428debd2160d0f808ad95270d49c4b77a7607 -KO = ef60e0dfae39453a69afff42257b62cc97e6d38e604021056c58353da5408a35cf2ef91a44e5390357b2478da8a87c1d6870c6c2b5eaf483d9ed26b2e2ed37680d3a11463b69352fa3bfc85c93254e30a42666254bbaf3c8ee2b53139438ae41ba67db0a39ab6b74922f3987367d30d63d3b0e7bc19dccb69b4edc72e7ebb1408b7c124bdce59cc7a316f1e76532c1dd778636bb802bdf0dc01ea1d97328de1d936c8dfdd330f8abe4d5d1b1b1a6510f9435c7db9dfedbed42dc6f04b83ce966cee7264ba46cc844fcf78b445a0c319b24d72aabce3dfb7b9daec6ef351fd5136a131c2c20a39a58221cfec8f73fb0cf380bd527209429521c356919bb224ffd9399f44b6a50fe9c8023293a024ac494a34cee163bd489b852fcda99f0419afc26fc1348bb701e3ccabd533e - -COUNT=32 -L = 2400 -KI = 29bcb637b01a7b6e178b4a198f2e9911ba234d9989928ec12364904a87f9e669 -IVlen = 128 -IV = d9171081b636f98821c724ba6a1b9240 -FixedInputDataByteLen = 51 -FixedInputData = 6057fabfcc9df3b262984adc38abbb15597363b1d585fd2548e2537623139590af898e4fc6ea7bac98af075df0c088d7018096 -KO = 167d6e00da799576d6bc8cf72cf6c9a3c7b429be6ea6035890b135a35173ab80917a2455294d079f756085cb5df4c18f04d799975c19fdb3af4f33aca32b9fe74d1cc83275c2a95fe4ace71acb06dac5a64c218a30d91f7c2783992cc78d852cb2b86f28d524eb21b71893d4a222dd2e923f1e4e09669c55622caa9aa6a6c9446220533ae5e6384d7b843f187ffcc1904e3e544bc4686c455c7603e783d8b386ed0e9de1dca75582ed88348ac36fca778fc7e2f8e24e5992d0b9c24a2760713a84e56178088849934adc488e5ee0faef7dc59f0e8de0561d40de66b972deea3fe3682d9bf341fdb6bc753bcbaed2d9039c63fb82897cdbcdd2bb8fd931d3b8531b23d47d2c0e71a755825a3af74cf704324f857d1381f144ff03242745fdc0a7f0afc8d1711d913530e03541 - -COUNT=33 -L = 2400 -KI = f91838465ef4872cfdde8e39d8392ca6dc5f6db4cc2f0e9abdfbc95fd42fcd75 -IVlen = 128 -IV = 12a4d4e4512ecca0009bb5ef520751f3 -FixedInputDataByteLen = 51 -FixedInputData = 10768b8cb36db99863d0bc2d5ca18ad215049e52590b7806955786450c40ec303130f0a2e763f9bd4a44ff5988268f8b1f2f38 -KO = c2d6e7d907b53e3d8302e82f4aef26d5204e4b42a856d6a684dec210a9f473dd544c4dba6cd543492e57fa0ab25d92e64d9dcf99e675942dcd5477087a3da3cbaeb0e55e758ee4274fa6a6bc6db39688de39d0f725fd1128b79a72badde34955958e51ef0c79ecf527759231c31dce122c9707ef5ce8d95faf453678fda4e50dd7316f13323457e6d1ce7cdd915a7f40bc0b90b023d00a33875fa84c53ab0b934667035f5c10262b69f4c10cbef519917131c0f4198f7977d3453f088153d5de5ae7b4a68c6fd636752e0c37e0d33d0bce760e6801e336dcf54b64b59dc1c56d220e49baa80bb096a9200849cf59ffded5d4de04a8df55f13370019e8e92589383258f15c82661e4e67d4c50d195a320fa726e4f23160db713979bc6da1ec0891a3a37d15b0bc2a281d46434 - -COUNT=34 -L = 2400 -KI = d5989abe87b9d6522e323c10dfe72be6672455bb8d062313f6dbd28566cb98f3 -IVlen = 128 -IV = 731da03ffcde4388934f965a9220b31b -FixedInputDataByteLen = 51 -FixedInputData = e29a4a318fd6049334fdebb22ad8815f50d0c85bcb4a9e3bbe69c53873a100f8150611268d05262b804b93e6245fa513fdad4d -KO = 510d0704ac18ba8a9cc82c0fe75d36794ed9ea2d185cfacf80c5f0c85e4d34da931c4295fb3840f448481c2c328cb9032a28b2d51b2c4966abd59032513179f85e4abc8c015c93640f62cd45594774f9986db1286fc42aa28c4e835e3b00235768242de78f1d382cb5d9cc23fdd559e72123f4cc91ad298606df98d30cba0319090a4d568fc7ac527b4a130ad866cde11bff5714951503670c31fa8e9551a46911531a18f4e8760fcf446d63553ac360f56ae9460d9b76c379fe0988b2ede531f5b661376015194d65d46c62d59a334f20b778127f75ab93e2d8a7aebb3af81f3947d776e7a4e712e83eb10d4e369bd780976693d95acdbaa7eee0248e94f192cf4a5649744a7b1373c6d885099f1dc15d406119ab52c811efd40eef4eb1297596f6a82665dca8654706dc31 - -COUNT=35 -L = 2400 -KI = 6e3c3c39363e5659529dfb7ef326a1abf63f23d7f44b6e4b2f2d910719be3cfd -IVlen = 128 -IV = 1ebf68db2f0a361c16c6cde8c58eb523 -FixedInputDataByteLen = 51 -FixedInputData = a9bbc9b67c5a513c6cb3eb6249bed690f3058cbb7e3a0d6ff989a2e157f72f00748fc53d9be48d0b03122d803ce4d8549b14a8 -KO = 119d8422955dc2b0810d9267248734da303dfbe1f1999a78afe2d611a44d2885f96b40e7873562ff55a1b0495bd2c85f958af801d031746d4a0a008ecef8a5cac301ed188f9f6afc5c60ac7947c6cd919d369dd152e1d854080ab743cd05efbcc5d04d9dc687f5dbc130103d7b105cba886c9bc871b601fbfe4e6d5759fdd96390d9effa8b7308ae88b8cf07130ce18f9ee9ea8ad2a64afec4dcec23e716573e28e3a4546dcb6bfc4321ae3c996b6822f3b290f80df6d1fa9bafe2f094921921b3b4c1446c3c2eda61ff4d0a49a4b68a70dde530a555707e3c91df55dc3f6d7cd0017e49818e771fca1b70dfdfa94569ef3b5b0827e3ebcf6a4f14bccd2eee1339797efb3b6df023258d7ba42b0843bd8fe6bd2866d71f6f4280999979557a9adcc1a25f2da2c27fd1ec3c6b - -COUNT=36 -L = 2400 -KI = 62af44150e325af124478bf1c33b8890d723c9ded30cfcd54a55817aa9d0cdd3 -IVlen = 128 -IV = 6b617a3fa2b9cf12f4a07875cfa6f51f -FixedInputDataByteLen = 51 -FixedInputData = a58ef9a1a417ef9fe3eceb5585b5fc6ddd2d981d58c76cb233823fa39d9c5826962428122c2d812a3a70ff9b09b69ba9e7d145 -KO = bcb3036573dba6e96be18df5007e360a56aef6af205c001615c195c8c3bced4729318ad6079a3b46fbaa4f3452a49809abe2a55002701e77d27cad9eff94d1ea8350cb44f31a4488934e19c810b289b51714e5e15b46392f75491443c24a2eb70caa6fc5a60834e8f2bbf200974bc7c8d3650b35a50f80f0995c184f239ae6a12089f2c43277ade01378fe3ee3e6665501e4d8dc26298a3f21ec3073a9283b4f1c3e8187e30cdc1a0a158d0770c8b38e5c384699784882fe86ecf0ae40d385caf41d059f5dbd6db837de0f859dc6c6d0c7091f72de7212daf9541acdcff793598d986d9f27c2f54eed28492dc618f6ca926ed6683776e6755e4284bffc5948f535ca7435ba0e7e5b6b4bd35e62b024c49e1f3c92dd92f2beadeed8f80aec034ca0f30d9d4d2080f80e751f77 - -COUNT=37 -L = 2400 -KI = b81954e0c25006d197eb010b72f910ea85f04e308d96fe5f0bb03b2457caec57 -IVlen = 128 -IV = aa893253ba7ece2405850d6d141d4853 -FixedInputDataByteLen = 51 -FixedInputData = 23dc084b46d9fee98d7113b83001a426c5d846ba81c6caeb1865e995d2fe622d8c2bac7337cc3b04baaef6774addc24789fb90 -KO = c1744542b5e7721ebbad256818d1f7d2fd2b75ac056315aab687bb4e51100a880d36e08650f4a911a04830ba173138815ab35f0813f505112220bb616daa8b7b60d9b63506958fd556b1d4e967aec4076bb5af7c806ce1b291244d5a73965f7a03b55c85f0290c270eafdb05b9654d452faca8f8b992011056d058059e60a19d786a8a765ff97c21e94bd87c1b89424c430c1d6b2796e693fda906805c4bfefda5f2f65b3848161f3fcaffc9d13a2dc70bfe98e25a019b93a878afdd9b1baf3b800550130c7304fb70fab5508495b27138172e1c66ab2d3758babe6a4333e728a63faa010f14db7168e0c85f6c7763ae8a38c9bb9a77128eda06b4d12f7f504bf692b7372747b84d7aa2ff1580f9ecf07d8ab5775e86fea203d213a6cca8c3c9f747511d2d69035bf8780834 - -COUNT=38 -L = 2400 -KI = 57cb1e34f783e56f24a8504db8413ff53c2b6de6cfc3ad619c814bfbf8f71e8e -IVlen = 128 -IV = 3b0935a70e382f8437b1a2c684cf4854 -FixedInputDataByteLen = 51 -FixedInputData = 09937fd62529ed6dac01965e33cfd1e8f1448235a98de51d5f6fe387d9e621d78ef98aa159eb8aca6807994be97ca7e3405819 -KO = 85bd22ecdd24b4edccc553275b7b536a9417f98fe15761c1bd8745ac6066b71995b920e85332e4635c0f0d012fd0f454c7a9c9d46abd7f92b9ce13c815a0939adbbb5e5caff16c3c7c5b293a437cc122e4a30739dddedfd2f677858ac87578a56a31b86aacc820a771c299c1aee2a97fdf3c15a02fc4c0d1053d7de370ee10b8f803afabb19aa9f6993ee46b491c58569cf09f5263e01d9f80d7ea4c59f9ee25d7a1ef11ffaf328571027a49fc3d9863ff94f80e709fabd91c9122029022c8571bbde5a609054cce562f9c82149cc2f29614b8c03ef5a3748f7a9f5504f788449059044a85871768dff0552cdc75f2c15713e4ad01f5bf45e99a0cab739b90899793b2d6d80b1723f44a83d61217ac355edc1040f32d627f6f7d77f0e26ef6033495e6584bb80312a835dbf5 - -COUNT=39 -L = 2400 -KI = 58110b2205d4858f26f6c326cd582228fc2892eaeceec20597b167deebaedf25 -IVlen = 128 -IV = 4d4c248a804dc8a5765e1e031c095b5c -FixedInputDataByteLen = 51 -FixedInputData = 27edbb34927b35aa16401d763e2ba36f8d1c2b8f09bd075caf67a1e42e9dd03fa052ad23f0512117256a798fbdddc0d0077cd8 -KO = 543811c237678613fe2029b38576ccf849ef207b1cb3cc4e1c857982b5dd7f3ab9aadbb2e18d864a0672d15340f466dbe85d571efb2a95397e7a591984dc213fa4075f3f9fcce1077d058c7a8846d3da034ad2785f01c005a97a5a2294b5a17c770d24b0fe4e57bb81cc158aca51b8776b925ac3dbed022959e0b98645c9884ed34256303c59d96d1700ab3bb366143a4d618d061a04ac7367625a3d17bd1716b08410a59dad4a3c1334b092dbfac086748f30d6cf738e0f5e17d4949b57881afd1d064a96544521f1f97487e350731d18664be82c2c4f47f951938b1c6d9f805d7bdf5b5d928a45c1978b57c7e5d27ded396ee4d4c1434061b61a7fe06828daf69b859b3231d13252a1f530fad331cc589f816568284b2bc069888cc96a2c43f31baec1a7ed66a8730d6199 - -[PRF=CMAC_AES256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 37ec448b4dfa0cce7cf4a766fc25b1a0013a62085ae291362859c046b65a2393 -IVlen = 128 -IV = d031e848505540d90c8a2c42381ea0be -FixedInputDataByteLen = 51 -FixedInputData = 009d351bec1e68110cb6e95cca1368fc57e81464a6cc20627b59778f5371533a9786516c1061e6026e503374377817008ebcc9 -KO = e817d11fba0db94567b5e8a396b4e101e14e1d5d752363d4dce258523b3a7bdf39b6600189900f0017e77055e1d8aadf44cbcfda9c5e8a4fcbf482d33b5b2af4 - -COUNT=1 -L = 512 -KI = 01a71638d7483fd7475d6e985d020dadbf067ae307f4338a54eb0f60fbfe11c2 -IVlen = 128 -IV = 6e63a62dea2ade1f72c9d84b16f786ff -FixedInputDataByteLen = 51 -FixedInputData = c8cfce654e1d5b85780be94c72f21baa029d4f10f0ae3a02937ccf02f6fc1216a4309e473b9526099b78a438e7a23f5b35867a -KO = cc09149bdd7efa3ad0625ade3a6d665e970718941efe2f7b5f836866fe2049199b369b9c6347d7733942f4176832bf63506488cb87220f92a2d68e8d7639e23b - -COUNT=2 -L = 512 -KI = b4e1cbd922daca985184cfbf165bde5d7fd21c4691b5ba3351d03963c9a78eaf -IVlen = 128 -IV = 109d2438006687b52853393c54163590 -FixedInputDataByteLen = 51 -FixedInputData = 3bd072f5743367bc8afd558b36c31d9cae8346136e034296a4887e33aac8360e1ec4f34dafb6f6f99d6c8760f0c85c44792dca -KO = 8240a37fa05101901f7107ba1b8efb2f14eccb76d92301dbe22590bb155620755eff87a5d21a6efea9cfb2ba4b5e402c44bbda37c443234799e9802930576ccd - -COUNT=3 -L = 512 -KI = 8349793b854300c6a114f0596c5d50f72169a262b420af116bd6652f39162b68 -IVlen = 128 -IV = 24c28d1f486aa93e7c2402cabaf9a93f -FixedInputDataByteLen = 51 -FixedInputData = 0ebdd552d19c4134984f6dcec270c25be87bc2c0d023e63f33f512fbc22fb372a57f7b2516ac602cc2651a59b1a6dad04719c2 -KO = 6585a494ecab6b1d5f14f4167b28f71b6c37b7828ffdbd03ab880269038c52a4eca1e0a1317febf5fd55083fcbdd310dfb9bfd98663bdcbb837167b6ca854d5b - -COUNT=4 -L = 512 -KI = 3b688ae86d05c48d83c5fbb520c2c745336ef82936f5c6e41592f2864c90705b -IVlen = 128 -IV = 9ea9d3b8efc0d9e89b8d55ff7396fea5 -FixedInputDataByteLen = 51 -FixedInputData = e2b3d9ef89269c02074f62c821853abff40246cfeca1358f91629e6c8b55689df50703427930b68e122052ce4437bded7aa1a4 -KO = 10b42f82489ae5974881fc50d99e3028bb4e958218a25f945186728fe14cd4fb36d1e29eca3eb8ae279018a67338c916d13312b2989b0fa0b69c6c057ab1bed0 - -COUNT=5 -L = 512 -KI = e8ba1d6709294f245c10c0e19ee793b36b6dda618357bc26b42e00319125a679 -IVlen = 128 -IV = f9dc3e5cc323635f633848341d151208 -FixedInputDataByteLen = 51 -FixedInputData = ba8a82b654ed4ec20a6701cb3c19e655da1f6d8941724f9fb2ccaa89f602bf42ecc6110716957d2ac315a47d909a1ad9e444b4 -KO = 61d051b5cbcdcc356fa218ef840c449d76d892a2d7c8695d818627832e6732bfd9f35fb5e45af95940cc8ef571e5cc93d600ac49ef5b0adffbeaf6cd843ca4eb - -COUNT=6 -L = 512 -KI = 24a99b28cfd1bcac64550d99009ca6a6c9ab6be0766562601ce83fdc44c9e03d -IVlen = 128 -IV = 9c324fac1396a25ec0027f1d9d08fd3a -FixedInputDataByteLen = 51 -FixedInputData = 29954f23a3d2704ebdc90f88bd9d55e484f914215645da692652afcca9bf9b22147463b344caa9a5dc4486abbcdf616fe88ccd -KO = 6b45dc4005034b7afbc457196058c2c5b3c82eec5830873be8013b02d1c842c26cf4a9d810025ef7517ed77c0b22eac2113f98a676838269bd0c90606dde56bd - -COUNT=7 -L = 512 -KI = e40fe13b3b365bbbb3e59efda0fd5742f97940ae1ecf91ce0cfa3ea14ce11732 -IVlen = 128 -IV = afc62596f97e521ef8bc337d45514419 -FixedInputDataByteLen = 51 -FixedInputData = 345a4b11cef6e031790201a545e5dbf85f2151ff8b309b0c18d96a1c52bdb04a460c466fbbfeb3641b8d4573c259b2d93a6910 -KO = 1dd3d43cf2f9b4ea1bd77cca91c7398cb5979c4b7edf47056c061800931f4cea00ff6ef0d30a45fdfcc630add0b976bcc970e2585b05e573e2de3be90ee7eb98 - -COUNT=8 -L = 512 -KI = d01565449e6a952f9a48e5d9c8cc3421ee88dac36b1c441c4fe38931f45b7497 -IVlen = 128 -IV = 1b64ab4d18a4286a498408cf195f4eb5 -FixedInputDataByteLen = 51 -FixedInputData = 7c34a8b9a65aad630cfd533c472f1405f91a28518cd92c3576278e8b27a5c13cf21eca965b6cd58a8acbf4c67c98433d71ca1b -KO = af2a14b2bbb7b0174ae4baec02dd93d1c7a1f077c3c1f595e3ea31034c8fe26be9e43026d8fed09542aa613d8d2e93e9fa9c1f007ab86224d9bd7a26769f9df2 - -COUNT=9 -L = 512 -KI = aa9b761d4dfc9851da0d9411d8e2760f3ce58a6a848404b8b23f2cfe9fcc13f5 -IVlen = 128 -IV = fe012c8ae7437951207f48f2df39b401 -FixedInputDataByteLen = 51 -FixedInputData = b942f0c73c7d75a647a92908d6e59a5eaded5bd6dd2ab35b1d9fe54a260c1873359f50678fbb6b2d7b2bec3d2e5b00156df4d4 -KO = e3596b6be528c0c18a0f60198a7f6fa284dc01434b4833b728c680f0c2b89e067f033544c6e896d618de7a304b95525a64c9d88ba3556fcb47cd36524b1a4952 - -COUNT=10 -L = 2048 -KI = 37834d38210fe6c188676169b2e74f077e1dd824dd69599fbe14ce08dc386bd4 -IVlen = 128 -IV = f0ac3cd595ce1cce708cdcb5abf3b1c0 -FixedInputDataByteLen = 51 -FixedInputData = fcd11ebd9ba655deb80f2c5e86d5f3437ca85147e400fcfc9d1d71f74c5064a975742d390024ce0e1fdb1165330aa8b796f0d9 -KO = c4ab23097c183ec4de2d295a6f09b3b588ec2b1d221eaecf41ff94d7fd94bc892f794615c0d9f1d5fc39965d626c84f22ba51d40d49bb280b3a32000754968fffce67377fd2ce9eeb31fe4bc233e91fe269e8f40167919a27b2335814b54b6777607600447b77b5f74ba1fc505ff4b2195b048468972b09f3f6406333eae5caceadc709c37fa693267260c654be5ab933645a2f1bb43339a672d4b6a0958374b40fe641026ca4ea5afded2e5d2d24f2b120f922fc9be844bf466be56031333826a4749904bd15ea9ea384de4b749ee0ccd0990122c8ddbd311c15249d8ba19a290a8cce5f208111d3e75de55f2f8fd63e824fd0f267c106e3d55c5bade8f3e69 - -COUNT=11 -L = 2048 -KI = b539b39d4ee178aab02692c28a0159b1eb569ca13151bb0ad61a2c823716c7eb -IVlen = 128 -IV = 4c3bbe35622a0c4e448434443cab84db -FixedInputDataByteLen = 51 -FixedInputData = 77bddec9aeee1eefa2fb9c8445dbb184873ca02c8497345ab2f8a57785e37927e73f009e8d4ca182a16f925e89c83c98bda6ef -KO = 70e9bde14e7e868260b4953c27dff53ea1e6050308605cf43733f8f546dc8cc31ebcb537e4faaef4f65995a8865467f64126d74f05b608d1c97c197eae79382d902eee4db9b1d02d74e02adeebee3c995cd969b0ee2939ae019f17d1e1cf0d3f9c4becf01e12eabef9125105c5938afd20234e08b2ee1f3595e814d29d29fda4727856831d908df94ad0402d28a6fe816334d553a934a42b66b3dffc69fc0fc3c4c00c6bd50f370cbb111a70024e823588bc6b9f648682fe14992fa6201a405103a2af3470c03bab0fe8a30505f010f610749d80c23d7e3be649ed8a76219073ccc0fbb15b38c6afd8d5b82d8afdbd34aaf71179f4381a65b30a5ba8b448fbbb - -COUNT=12 -L = 2048 -KI = cf05cd0c50623fd103f14652bb8853c070138937c02e688db5046ae661615166 -IVlen = 128 -IV = 31897be538a3c04050d6a1138e933506 -FixedInputDataByteLen = 51 -FixedInputData = 810f00947555f3bb90f95045601269a09a64fc15ba254d861d37255a2d28c96e49b7bed9f92321dd80094ca26a345ae2686b5a -KO = eb409fcb5412be4b747e8820128498fa2a5385fb4648cac35802c2c20584a24e949bdb558085155675658cb2a632a89c26b67db76c6679296a3b9a8138ad43d8e155167df00aa77e1c3c003eb87f5805de2276585b78447ec24cd446e87abda152fb4b3be2606b9d6b31334b0d792da130a5003d1ee8abd59cad9716a85af9db3008aff8d2cec791f2e3671996fed258a873789e22a910d4737d962f7986089f4942a6d4211407c911ef2fe697ef94a0cccf69cbf8d3e08fd545e4cf99a3dca847f81597b5e236561491c662cc862dd3ada70a5528fdc0119f939f401a8af8a42ff2a1a8536fe3e626aac7e020d1ae0a41113b07f00bc745b06986d850c4598f - -COUNT=13 -L = 2048 -KI = 92fa241d98aca83964acf35701846bc796f63eb3fa85ceefa799343a95d06fe3 -IVlen = 128 -IV = 8d52e38f35c6221d9451d16148fc728c -FixedInputDataByteLen = 51 -FixedInputData = d5fdafdccfdb7ba23326a1f900c482dcbbddfdedf6c116e818a85a882167eab5db6cc7decb28a3283473a142185689e0be6425 -KO = 2a2235cb3aa12f661efb0d7ad6976868d65d152a3cdc4042f64530ce14fc96b0d7eeb06a742d642f1b99d3cbb4ed66f08edacc987dfb263fac170ded5f91d22d232b9e6fd6bfa34f36f0d928abb5e4276a93a43b2de7cdffb4a840562c2b22f846dd2c5437920649a15d78056a55f60cdcbe32ad573d709802dc072e490c9c1ff4f22a257a67947dcafb93350c8845cba7739c0c807264b3be838f06e304e9d38217d77242cbcda3a13370ffb47fd0d0081fdf825a2dcfca0d124a378b31b2eccac0f33eabdd0054f0652291b7a697f6acec56f1c553b4660d55942eb0c62a8f21e4d39de24395b1b9eea0909cee7c066745c314844f63f760324dd81b044b7b - -COUNT=14 -L = 2048 -KI = aae95849eccc6fa5dd0a80a873de519b540e3f8751b6510dac6e9802b619a89d -IVlen = 128 -IV = 816a8c83daaf37bd43d07361ee616733 -FixedInputDataByteLen = 51 -FixedInputData = 566c2305054fa2f1687468d8803af421d13b6c246c022d2b24ebf2759a48979de3a48c9bf8cf9779d13bfcbb94fbe7b083cdfc -KO = ac74b1d3d9b3e8a55b9ce80d33c8cb11fe042e2471464f97b8862898d0778e29d4b17fc961bc5c89828279de0c8b38002dce1fc5b4bf0708ac0978218588cf09f7a971c49c9ecba04e5cdbdc259b4a63e5654fdf3e41de1ba957c9b9789b9c2b3aa42fc8f25b8f1a1a9303cfdc89dad900cdbbed8bbbcb828a796208d59028b3647c5b612d4597544a130dc05fddceb502c4a07fd97521175035b637922ba40426a2eb7f1c9f2a07bfd5df5c9d5545f6bed94575c3a718f3f85a41af07d68458c6ddc96ea24fbe3ea93668404ec78b1a0bc1e2d52fe29d0cd0c6c5fdf336daade7d7e203e7d08675c0305c147371f0d161822b0a89a7323b492e54d6e00cc1fe - -COUNT=15 -L = 2048 -KI = 0daf32542a8fa3e2050fa94a902f391440a1f07ee94845cce95966bdd578538d -IVlen = 128 -IV = 568d2182d2bd0616f463a0668c8e8fd4 -FixedInputDataByteLen = 51 -FixedInputData = e3e484cc1a2f87cb13f8af4d10fa847fdd84756e6e3d0e155bae32f95f4822985d793910b2397e430eacaff81a5f2313ea9d6c -KO = 9a52f12a6793f1a672e2a0595fb4cfb1d72922ddf6f034e99994d2306b1339666777671252fdd39b2033de49e2796cc7dea40f7651bd3da87de3bee4f74813dcbe5dbadef93177c9f02c5a1f289838e8b19b70b8461ecb4a19f53c00808099917a7dbac64b7a92f949fb67cb28b6e9f0950fff20d300b73c1521140af0cd415938e4b825ffb9720eb5ae6824c3e111659331e60261a843afe4dc4a378a1f47cb1ba13a610e35be0a8fb46ed223082d3bef550d0a388875bebadb3f4e696fbf66fe7ae7d9c2c2649e28f48826148449047a199ba74b86db5c5d3f95a566e978208914cdfc6b4db526de48ec9ee676a6bb438c3a747413be3755b0674e84fb2ec4 - -COUNT=16 -L = 2048 -KI = 6bf4e61aa79cacdfc62600df77ff474923ed5a52d4dd120721bd8e0b9c724ab4 -IVlen = 128 -IV = 417f7ead4135e5c3b65800429a3c80e8 -FixedInputDataByteLen = 51 -FixedInputData = 54e56d23d8e59d670d51046d5a67ba5daeb079eebba7f079cd6ef3b3cac39ef4c62deab4b2d0bd53748805b9d8da1f7bfb9767 -KO = 70337e00504b43763cd6f3cb67e47822c4a30d0de986eaa62d9ed3fff8bb34c639d8a11a01c39b8cf1122fce163e13826bb21f619c9b7408efcd61e6495010eb52aa0434958b1d232c9f5ab2e7f66cc917a9eb6883c2b967e2ad9e4163e12273ac5ed00bf710abe7e663af4e25622c3d152af9ffeefa96762c88d05fcd4a66a90d95259e1edeba1ced273a6b7da30023371f9cbaff9e401604b4ef9742999490ef1e7c9b534189c3cd5a3170c6c3bd819ccb3edc2f72f7bbf2e695ddca94c4263acc7996f1662228d71da66adb92a5fd80de7f15d0d52e035719ce0a45441d90032f5068ebf806e7c01fa7f75c4c4c2e96b8d7f723f5279f5ed08c9433945017 - -COUNT=17 -L = 2048 -KI = 27ca13ca02c9e4d2e1a5a4da4e51731e8ae6498cb64c76810c34bfd434622844 -IVlen = 128 -IV = 4abf0baee5eeee2a4f9bbebe81e2733e -FixedInputDataByteLen = 51 -FixedInputData = 84093ba946c0ee436a0c1c9543ad5d3796c5fc264b3a59a20db13293907a086d5fce294b84af10009de249ab38502f3e6f4b4f -KO = f7858413d100eb0d4324683b028b309747b1e919ca72f0bf33fc02791503ec41719f82f963baf7c51c03333cda24dcff50a2a33b2ee9e61b3406bb5e0dcc96cba6b74b016a5179b5b3f35d54f3f21a8253de526960f67ee4b4c7aad396b8a21d0c61c9c73237621c76ce7e1902945eada52022d48bda03bcb3dedc79eadb6c6e9ecaa76d563b539e6d7b00d5e167642e3d9af3e13d8a545508b18d9fc02c37f7455721ca2746b5558ae5a124c093f7be8123112e8b79e2e314fade30ed502a8654f50d9c434899cecb462bb52ca51544e06b6fa593971a7cc41d9e786d17524b9b7cd0f01579f3e06ca97a5c08c68ab243b9c960ebe2d62d75ffb6500a5a8a8f - -COUNT=18 -L = 2048 -KI = 2b57039e1eb861140dce2e1406226c613e3aa4508b06c0014f795fcbfe66432e -IVlen = 128 -IV = 9e461278c2ea6f22f51587336c6c7062 -FixedInputDataByteLen = 51 -FixedInputData = 911fa410d610c96fe926c7ccf77af24d1f3d7b9b7137adad9232c77ae20bcf7be1c77095896f9e84e6149f34d4dd3eb361703e -KO = 5b7237deda94941791a8ba1fb0a5edcdd7af784ed6dcb8e4141d644e89684e87095475afe849b7161a43f883b4f266ab528eaf9915ba721342b6124de4099f66013a71dd2f978ecdd0839f370c2a61815b1a81a8e596f7f3f50701e39b0934fb8a2bb6eabdd2624d773f478ab68add173e68adf0a9f14fe49f471b87785168f0a8d3770a2eece470629a02c9c6fff5189245a05ff83f320367b2ebbf669702b2454082603815314f48f6e621479b9583c0938ce806e049f9f89b830ad3579586a26b869c299d175a2b22cf9d93616168f153250f26c684b4221922d71451a7a13a6f24856d5fcec7db0aa91c681ed61d1344d10eb4fcee3ecc034ac641c663ac - -COUNT=19 -L = 2048 -KI = 8b174c34c9622dd6b12c0fda5596671822c3c85c261c9d76e5c1ae84c33fc48b -IVlen = 128 -IV = 77509a4ef0d5b71b49bb51717390969f -FixedInputDataByteLen = 51 -FixedInputData = e3f9b6f6f120e3f0a7345679fc63e157ea82166658dcfb9de1814adf10d97ec8e9d3bfd8a2e3bb70ff9f824c78e5f15d50ebde -KO = 1293bac3be0b6baa3ae74293ec0db460cdc9cc98f5c0746e56cef8146e1f04b2e1b206b0b0ad13330ec6ad79d90ef9a75d62d127b7e6830b3ebca5deb8272eab96e36033aab3c60815bc33a7c460c35359903bcc011514b1514c2ad5f83a015d07c52c5b03c1a17d2a0f58addde68df4efdc257671011d820c50146e139cf41d45109463ab8731e876623c54173a8e4de1bc9546b8cf6bc4170177bf938f9b81c11f4bdf8e87890bc9aeb6a4bf08c803cf801304fcff56359bf62d0282980666e1868514e2b61060f69b07775214e7e39982a58bfd249a87e8628a7b10b1765341078a55f46744fc166eddd86dc2976862c3c606aaa8891af84b2325e3f08d57 - -COUNT=20 -L = 560 -KI = 82423601118c69794505b8d5c128b9c72595833a8ca53408f970948340d870f0 -IVlen = 128 -IV = e84c257e1045e28faabbb7150f971942 -FixedInputDataByteLen = 51 -FixedInputData = ad0dd4e4048eef5d84c6f6214be822435e3027c496b6dc0e256f5386a0484300fbf2e35c383f28646039cd75822c3073e08add -KO = 04551edca277b314231170ccf1e5e8dced283b27e5dc2d1e397392f2e9cc61fc5cbf572d0058ae1129f9b9b651e723aa1328d7e394f378b06f68e38a316487f96ba59176689a - -COUNT=21 -L = 560 -KI = ef1e2d9576ce80171ffe4961625f948472fddf785c5ca0dc87535bbf97f0d044 -IVlen = 128 -IV = 0aecd0979f62a435e37acfd018f21613 -FixedInputDataByteLen = 51 -FixedInputData = 2282a54f8aa5b7aeedeaa581ee0cc90b4667144877fef051e361b3223ca4dd177a6e4c93c802d047bcb95e3a8b888b7acf671d -KO = 6b0ee4fa93c6c8f746472d3fe85ad6decde0271dbb104f6a8c6689ed43158753ddaeb01ebc8cb705e8eb7c1e15bd5fa79a1c7ed8e7cca26303b456404676ae850e8a0b3b2096 - -COUNT=22 -L = 560 -KI = 524edbfa1f4e7c5d0064100001ab8c769126ddcf52e7180163b452013e2b8442 -IVlen = 128 -IV = e7b3edf90fcb84444dbb62dd3fd0fbf1 -FixedInputDataByteLen = 51 -FixedInputData = 43cf1fb3cfcf2ac4dbb4da77f897e0bc7f3b099f39cb897f664df11cd51c2681d8184c3671d5a8b0686c69e215dbd84e83d618 -KO = 6dcb65ae5abbf5d915162cb837dd8e448762d900fbdc0dc6f6bb4bc4c062c97fd3d91dbf24748ea3919aa565bdbc9695cec88cbceb550474cb9f15adcaff5cfc88678b27c375 - -COUNT=23 -L = 560 -KI = 8bee2ef2278542422c08aade3954df44f038f45c48ed51a99afb8e7b0588a343 -IVlen = 128 -IV = 143bdc8ca8667dd00df3c72737301059 -FixedInputDataByteLen = 51 -FixedInputData = 130becc90beef7a44af7a41da49d8eccdb7a9217170a56d7984d9509e0cf52bf67a96f927ee5746944c81becf036803e597cae -KO = aff16f00923612248528ab763c9244c29ea798879f09587f2d53f8ee74fd0b3cf107bbe5c1b4061ec109c679549be35f2a0d83e097de5d80769d6b4ced17a4b7422bd97e6e72 - -COUNT=24 -L = 560 -KI = 606d900277ca06d37db1890987fb4baca5a7fc13feafecd172dcfc1c92e2484e -IVlen = 128 -IV = 455387107d3cc715b82806c175e37ec4 -FixedInputDataByteLen = 51 -FixedInputData = 9578885f9d22cd818be33f9af8017e41e14a5334142de466904bd97f527d55b3cef6a01e24ccd090d3790401375c9b46aa30f0 -KO = c5b57693fc7bc0f81367e0ca6d99c7c060d1d5e65e9cf55fb15b319dfa3ca083257279e9502b6281f9db6840d946c9d365a855c74ee064f251fb4a7577cb029336b5f61f4a52 - -COUNT=25 -L = 560 -KI = 9d888a67b1068122e0fed0baa6bb4497ee1f4fabd8ab6ee7b5b945ae5ac82e64 -IVlen = 128 -IV = 3b26019699cbc0c90c145cd6aea153fd -FixedInputDataByteLen = 51 -FixedInputData = b386b144bed5ec8feb0142ff8512198820f367426e4a82f4c0495d4144208fd7db51280b0042ba873f466ea2aedb8cb1451908 -KO = b58b737a09147e52dc68bc492dd8513b2c19c2b6871c157bca8f402b25c673c343687cf548bad6d45ab6c997089cfec485bcc034d39ce89f2e04585233a6d880b86c2dc6857f - -COUNT=26 -L = 560 -KI = 17925738b56ded90271e06b0f5e76731c840f1ac5bb9e6f8dbca84bc077473fd -IVlen = 128 -IV = 70f3049ed53ba563861c9b444469dc17 -FixedInputDataByteLen = 51 -FixedInputData = 2c62091bc62fa1aa0d6ff20b5a0a8d33777115f2cadd25ad1c699d4fad29e9c52df283e17e84afada9ff13f8683f86fafe5422 -KO = 597d6131d34bc88b27cc63c160e93f1a17bf954b2f3e260ad222aca870198ec757a1887ebaa5f6023920dbfb7af8572c294c46fd85413fdbb9ef2c9236887055fdfe9186e9c6 - -COUNT=27 -L = 560 -KI = 83baa271afc034e97444e7a754ce55beebbe823573fd3c22fef4cf30afcc7293 -IVlen = 128 -IV = b0ab9e6ac5b1fbf86e2e52a4a112dd2f -FixedInputDataByteLen = 51 -FixedInputData = a6ac982a6ca1434d33ec7e7458467ea5ae63b5c8a5dc7283342e76b446cc2964a0b5c2c997d6fc3d07cbb98b4f62031f4d1180 -KO = 92952578d02767bd0f48516cac8278d4ebe73e6798d69bb820da78c04c10e407eab03f294ddab5658e09156a66881a38c4835698824bff2b4137e05c4dea5e8500b01b518962 - -COUNT=28 -L = 560 -KI = 89f37abda01d8de57cbc76f74ae0ce6cab1855e2ab163cf263539ed0caa7f043 -IVlen = 128 -IV = 68160db459c229c9e38edc981c773e44 -FixedInputDataByteLen = 51 -FixedInputData = 4130a89e18a28b9d72f01830aec79f7a44fcbca1a8f5d51877d50970c6061d0108acaddef3fc2f5ae855c922b7238fbc17a7b4 -KO = 09a582de35aaea083d2524dda13b6fab664dfc3aea34e0541b72e0a8d815997605ec676dd1381f8d5309d67c55e575bb63a15d35e15bb78cd390262b903b8c9e7c9a65b565ad - -COUNT=29 -L = 560 -KI = 3859e08c97a929ae9efca3c2f6e56d423440e8bedd987475334d2090f55de676 -IVlen = 128 -IV = d3925b5b2a9057432ff04faa857d901c -FixedInputDataByteLen = 51 -FixedInputData = 4f80fe634ed36ed364e6dd8e7d460ac9120350f7de6d23498b944e18b9adb7d29b6a5496daba15ef038d1a024212932c5f9e56 -KO = c871e3df410ba5e2a927dc4dae590b847cfadd4d495fd5615075c2ea71607cdc2aaa1aa21d1e6ff666f043f186e50527fce8a220d65818045aa40fd0cf76925b7a605a48a0d1 - -COUNT=30 -L = 2400 -KI = 7cb2c66a757ba92c3752d47b9a453a5ec113ecefab0620d05507bcb5c119644f -IVlen = 128 -IV = a3584b18025b87e036a9d4d8d5baf248 -FixedInputDataByteLen = 51 -FixedInputData = 68aa71901238a56507862586a44d32170cc07a4f05635a07a5a72b8f78415115460104645d81fceb18d16209b146941d821bca -KO = c9a4ebe1c48f4e591c4a81d8eb67e080d6f623e67bc46da803b09c013881c8b7824aab8dc0953de95445f2fd9b2f2b58653995d8275d67c5541327e09401100f81ecf12f4e1038a5bc66a400e371f4b33802c85bcbc11b6dad53b496865a01cf7674a23486bc3a577502664cfe0064ee40d95061ba57e94fca673fc7f98620e9c2ffae5b408f1749b6962916c824da9ce88b9c79155eaa951499678abb2cc2c88b27c7990223cd7416640cb991e7650444d379f01430dae20f914c0ddbe1c2a2e6888f7d2e0ad37b9558216a7b427f89ed5c501c8ea51f430b10529afdd7344906aa9aea2b117a8be7cac7c897300dad760e853b3631cb0ddca20ad02457a29f8221a1cbff88df254088886be9aba61b1ffe62d832dbffe7c6bbb7214511d0a0b71d7eaaa741dc0053cd0cb3 - -COUNT=31 -L = 2400 -KI = 9cc7ec69a308248d8dd7d3d5cdbb92c841e6b3106b2755ed3f67ad83344fa53a -IVlen = 128 -IV = 37e91ee17255cd08e320cd7ce7e1c175 -FixedInputDataByteLen = 51 -FixedInputData = a60512c4284acb3c5b55bbe56ffe6c238b527015266fe839b3f3269b6d6ecf463abad05668546959a8c6f451bc6c7bc729ae6c -KO = e10431946a2c6684784850028bf4db2b604af8eb51399a7f3b313954cc3c52f04008516080a5077130322ba56d80fcec83e94b05b67a224732ac9baa959baba01060addfc1391ac2aed9a9fbf8dab26216261b5456e18f25cc18fb59c0bfbad0f7b71abf7eea6c7fc7cb8e2cee84a2bd29f162d07c10655c55d4832e865428890e052099e92c2d545d866dccdea6868034905cc6be1f05cc9d9d95986d9f3dd7538b5413487cc1b137868f9fa0bc09351a5122273526affb6fc8b24177ddc4d38e1ab4f1ba8c65f6b52adf95ac7a01ec70a90e72605331dc34e56a557b0df88567c0dd20eca94e7156cf01a75703e1d078c5259ce2b99ab5fc3654455cbf453cf588f4f84c050bad194af6d74b0a8b1c1e710cec7040a14850d89730cab86bc2459baff7c97d1b216aca2001 - -COUNT=32 -L = 2400 -KI = ad304f420ce63810f4ce6f9b86b695213e1e7c1b925f9a6510725caf4387962e -IVlen = 128 -IV = d333c84e53a658035e55257a329277d8 -FixedInputDataByteLen = 51 -FixedInputData = 9379c4f3cfffece5b652dc67cffbbd78a78d1b927c32d9608de48fe21fd3a65fb9e0e203db82de374bd4156fe402f1fc1976e9 -KO = 97d5ed677b1cee7409fc6835d356eb951a3c2b859cf0bbeeac614070407ca1c291b4170f05893e108fee0a068b52601b20372ac44d47944ba7559fe8fe48e31cadd9fc3ccba0279fa475dd983fde677027f6be742a746b8073c8cf9da1286fccddb73fe3c7d74cb8a883ee4437612c8d5331b855d70046c811aa5aaf50785200303116402f6d8789d030c2ad1a5fd2a8a5fdb8827cd0f3314534110e348870d1712d9c565d302a43303fa7968083a3ff722171837b0e742121ba150701786bffc4b42faea2a5225baa071ae12d56c6ff469386c588e9d72d53e96e5cbcb80b374649f0cc2845b18465cb2023a7d8cc212ae1594d5891c293e2948f3489a6b572b614490210063e53b7aaf5227073508874a95e7d9f9213fbd83d78061e3b9d5ef518728cb78d8b6254bf53f0 - -COUNT=33 -L = 2400 -KI = 26ac398dfc846ffacf6eb080838957ff8f9aa9b29412a56e59622fcc4acffb4a -IVlen = 128 -IV = bed5d36c86846146b1eaf9667ae90808 -FixedInputDataByteLen = 51 -FixedInputData = a09c48cebd0535035e47100ce1d68ac19ba08ecfe58eba168849962ef4e578ef00e9b5143021b87fe58e957777423aa13d5a5b -KO = 579aa4777dff6dd293361fb727907b8af8b7341079cf01d4efbba3f365aba8a3104575215eaf8015841fe83d326d0c965fe8a16238317ad28a8b34f310e6d54b46a6e70fdaca53f16b4a098ff5da8fffff1752c66e4dbd1815ccb35d79a0c5a686d2d56c578c2638d5399229b9355709e129ec46dd910bb4d940a3d6610579b7f05a93a220cd4f83a11487b6844c3e53c128819d2dde110ea5589af5e2d9d977aa30c37ae8b0b1f5ffd964d323b337bf41eac174aafe877bc12699b3f218f3ad305df7c35802f81aaecd8c41d45d45e2d61f7474018c876111fa95048006198f34bd1c4ead9744489d3e583df012fcbcad8fa2fa335221abd1f5247a4cde60533d5a195904687e8a787ae5791566a094cf795c6bebec1d84f8f3ce15e9ef5eb293b7cbf4c607c74698d1581a - -COUNT=34 -L = 2400 -KI = a6f9241cc7224716f92721720b933e752f6c32f9fe8cb53a48d7f63986bb9029 -IVlen = 128 -IV = a0011532a4356cff8443ec963409e97b -FixedInputDataByteLen = 51 -FixedInputData = 82e805cac32578106d6c111b3d4b4a33d6bf1decf68d11e750c9fc17030fc54e3cbcb32aea209b8ccc0369760bf804f4be6079 -KO = b71340d33203352c8569c3777a862109ee32f6aa6cd02a768e8304da7db2717edb299b50a53784492845f21f5f39ff9fe7dd4815195c3a6f046ded01fa33a68d1e3b5ea7a4690cbfab9a831cce97c3e35fb827b4ac1652067b7073106bcf67f0e065f209c795a67a94731d75da1d1ee9da1d9fac0eeb66985dfff836ade5d790556ae53b9ece19417cb9ceb6eab0ae86b18e7730df92f8ff66d04df40626814af47cb881d3166a2e15863ff1ffd88d61ac606841cda7abbfc16569dafd44e73ac9c6b705b7d04334884ab213c84f2136a408f77801256de8763d86b206f3e38dec927fe6a040e7a441ee654d1ad6272f63653a6180b4f42e5df9b402de2c97806b223b617a8a809873f14edc53252646322b2ee53bdd682c0ab14d285d453ffeb3f854991b8f1548d4d13c8f - -COUNT=35 -L = 2400 -KI = 3d94d401ad19fb8ce37fcf36555d4381ec3ebb6853bdb2979f8636751ba2d41a -IVlen = 128 -IV = 190dc48c655771c3d95b403af4f87e6e -FixedInputDataByteLen = 51 -FixedInputData = 2df250c1e71c0d311cb66f6972f386c2908255d680055eff337053b70008374eb1afb71903d8caa1556ec36d6abe29b7884d72 -KO = f2e428bd3d5ac8a7c0f7dfb2ce83860e39e0ddce7727a1f411f28ae4bfebd875b609ddca6d1a7d92d3ddf3cc898074a849ed1be2659c971ba12f7aeb62e19dfe53e8a4b6de6638aa0ec66c6c1b58bdeccdd4d1957c2463f797b746b05eff90f498b9802ea50af3253088395dc9e5bbbcf6b6703bda3cea387b62ba0a9b0075ba61dc7339007c468e0a2ea6e3b8232762192fe37bc4dccd78b0d3e63aab52f3ef0dd4aefee8f0f460bdd4e178a67ae123ca2dcf824e5b55df93f2aa03cec48c56bed9a40279a9e1e0b7f1238c91f3eabd6cd484ba6474244acfae73476218f3f396ab8d6f159a6e046cef37283fb32b63f5e9a060b9c7ef3c07c5d452f852d770b908785f2102bfa7c986b8ad2baba3c26f0c231a87b0a9803d2fc5d2511bc1f9f9c5ef925eace83202cac119 - -COUNT=36 -L = 2400 -KI = 9cdbae21387ee1a681680ccf04921651f40f16e3dd59a165c97323924f98719e -IVlen = 128 -IV = a3202ed1fe52c6b66c8ec58593289f00 -FixedInputDataByteLen = 51 -FixedInputData = 8101975aba31df519c1ed37563d90fdddb33be7669203646a90dda3361d1d3ff94c51e0489265888943c3d62130344afb63fc0 -KO = 709d94ca4a7c90cfeb30e18b47451a6a658bd3863ca11710e9dbc3512977eca5cda2f0a9fba6d226a82b757c1e5c04ccf22bd5080aafbf45d51eadc0b55ab3f51ed7581c79e017910ae43ac74b7092676d3a5c38a6c2edb8c3447700e2f82bafb1259d64132766446110af99e74092ce33200f8fb446e0aa77351a7bfafbf9e5558a64bc29726bf77ae4293d01ff6efaa02e01d48bd6004eb2f58647119de9860ff91ee1650175ea9bce0129bed763520f0fbe45c9cb0c83774b588c30be1406f640e38fb2b74b9aa96fbf9ca878a7e19cfb5c06d155560763ddd361b1e7f07dd13b73fb82c2a4625242be65133ed9ff7dac8920f694ae320f3e237b630ede19810d6c5dc3309a8bd51f7a1c5f1006ee65b75d703631ae4d8e0171cbf04e0b47f6357e164f766c491c5e2173 - -COUNT=37 -L = 2400 -KI = 016fb7710a49c86e7acdebdcdfcf5ace504e91643afc0a72090f80e380f691a0 -IVlen = 128 -IV = 5f330bd902417781833bc5bbf4124ad6 -FixedInputDataByteLen = 51 -FixedInputData = 257cec84c55126acd5bd28c49caf18d11ad75b7ca0103209525b39b2605e353432971048398a0eef7f0f2863286c0bf5d48a3c -KO = 6ca3463b4beaf102dc077c856664edf7ad814b84c91bcfbdc0e76cd69ac525bb6e76d24ddfda6104d9cb95be74e6981206a0f2d5aaf5f41ec3c0f60c56743295193e57a62f09d105efdfa7e37fe66cc752618e2388e8c84caceae2dbaad8ce1e2c277bfb91cc89414eb38045d2fedd78366b33d8a32af34c06acb509f87dd5d87c8673b3a2cc5c06ad29e2f7469b31ae8a672fbc22c4c65c42d172e9693202dffd141c726252ffeea5c124fb6edcc2f9a8a44dd800b38a6610efc420c93d03f9dfc77191ec29187ee31ee8b4f9b7517510cacc0a11e5dceaa3889c5e9dd85523409a1c4e9280802de6f4ecb50756d0b93f210056fa6b3e6aa0b5182093a37ab06a73faa8030d45e3b5ce6d5a50c3098ee99efb608547b8434648ed4764d390da7140932a09cdeef8d0d5b881 - -COUNT=38 -L = 2400 -KI = 4e140d3e330166b8a346e22f505c51e98325bca81ba030b062a4ac083d8df28c -IVlen = 128 -IV = 717763ce2f473953b5cd2c2995e82a7c -FixedInputDataByteLen = 51 -FixedInputData = a4959d34e322f1c266c8888a98ad2121c1ae004b457b14e0aa3983fca40f21cc6c61cb2c06f11632a1b724c3cc6c2927ab9276 -KO = 74c834c0c5be152a9be8848c1f5428d10b2c0bd164f3c33d38ad79496952ddd2260abbe72e3998cea119d6af54e70bca4fe40712ca4a53639b198147dc0d8ff7b16fca5ea10c05ef645625e5ef7eaf44f8b1e8e79a5dac7c1a03a975c17594bd22272488812499a0823f1fd5eb6a2ec03e4b75c6d3cbd2d9f552821b7596146cacf1ccdbacbca6c11c8fa923eadfc4695e1db5c7aab1fad9c0365fa4eb69667bdee2c6f5932b83bd49ec7cbb945b49750bcd06327ae1ae0e923ec52ab2492d4699f100b0c5e5bbfe990234f469f6aa9b2332a30e27950b47f7ff9f850df9ea95ba2666b974a04853b7d379d0c46871c9ab4d86e4bcf0241d61440e487e3b548f59f76201b876826fd310cb248dbaf0977716940acf05d65f628eaaa128ac5a21e9bbe93e3e7f059f333881c7 - -COUNT=39 -L = 2400 -KI = 58652a22545c4a3640ae67de3fd8e087bb4dc036410da779c2aa108233112037 -IVlen = 128 -IV = 0a8cfbbba0d1fec3e3ead2a04300d035 -FixedInputDataByteLen = 51 -FixedInputData = ff857ab88cef0f4b40e7c32b2dc3fd4cabc4f38a03913e3deb55f79fad54e0bd1a7462e1f3287a3c8a3e8ef07031d5f6592c75 -KO = c4068b8a8af6ff054e5ab525fe663dd7f8062845a978ba26dc827968c455b11f99dd69faee79afcb3d43ba25436c66d93af0b77b8a8e671901da62eba0355c98abd9a2c479876c36fc63367fdbdcbaa6acda287aa077e9f007ff356458fdd0c8773fe71006e7fe126bf948854a3fb7fb6584681eb01716edf8732f93cd0dee65b9ef32aecc95a7c9ca836e4d810fe62ff5b163a20ac6eb95949f912c5db58c259b7f171951981b81cfcdb280c561b95fbcce2005746bc75f90ebeaa96fcdda74dcb5d3cb77b2117824cf44d76703dfadfcd6208e15aaf843faa36926b9385f7b9a577dd3cd13a58a47f3140ab9e72c19a06c69a4d94fd08bc3258988cf35cda1e359237fc1b94b285434d3dbab5bbc8fefe0e093c7cca3da0fc8c570547fa4047b191e35502acf1aefaaff3a - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ac1ea2b9276ecf82493975b95fb693dabd973bef38877b586d3de4512316cd5a -IVlen = 128 -IV = 7e617727e0493915dbb43bd8d57e5ab7 -FixedInputDataByteLen = 51 -FixedInputData = a95a72e58893bbe299919c7a6aa737d0995cb86a9335bd3c07d7a50e1a5c3f161e5e882c51a11dcaa690ebd518d675835f601f -KO = d4dd68d799ba2766b13dc70c3118152e404fdffbcef3b369199ed26b21a0c2cbf88f4fec0b9f57a67b29b0552c956bef7692fafe6636b6a2ce35c8efdc8b26a2 - -COUNT=1 -L = 512 -KI = c23fa8b5f1c51d2a84a81d8090ecbe9311a92ccbd1cbc2987f151e79aad56f42 -IVlen = 128 -IV = 60c5c8c6d71231ef7780e746dfc5d6e5 -FixedInputDataByteLen = 51 -FixedInputData = 96963b1947a2b1ba952ad753be0b857e9caf7467002f7cd8d8e9698fe613bea76c952c86874f73693c35ff34a2e5e7ff8ff798 -KO = f8e0bbe4bbe261922dbc9bd03f08eae9b70d5ffde4acff7aac9e33b7c9008b2973063722fb2a8327f49fb4f2eb8cc768c53f2b5e8d979963f1a4f2499d39c29a - -COUNT=2 -L = 512 -KI = fe7aa42ea0169cedcef5c6badad67e08451560350e30ecac5897802b64c3e970 -IVlen = 128 -IV = eefeb9f94ae0b97ca2b3d9708bdbeb6c -FixedInputDataByteLen = 51 -FixedInputData = c9918d64c615ead08364728e57313792ef8092f6f0d43638bd21cbdc5dcf342e02538ce2d79335d4121598cd3d758da48734e4 -KO = f4824070d498b7a97a7669927a6c266c74a90bf7a721e97d754a34b04e1cf21377979a819eab399b68296efcf7d99af1038ec9ad346c9db1c78591b23b127018 - -COUNT=3 -L = 512 -KI = ad3f95785a8f173fb68437ec585cc25dd8641e86d36a82e5e5878ae7ee02f9d5 -IVlen = 128 -IV = 0464dafdda327f11234bda8f0ee44b35 -FixedInputDataByteLen = 51 -FixedInputData = 309c2a564f38cf088d369f5e1a71eaeae7f0215be6e79e494004931584bb395801ba3c64d62d4ec9d8dc5da96194ca2e4c50fc -KO = 8a2d85c935704c48faf6a52aa222fbd7b3a3f900a2bafcc7aae093949a407a03844067206abe41a74518fbb81de78941a7ca5bbd42b175421a4cc5d37eb1cd6b - -COUNT=4 -L = 512 -KI = a02dec7f3edabc3e284be6220b975a1234e49ec3744781419fa1ecf9d2ac62e5 -IVlen = 128 -IV = 80a174f471107807e69b30eea7e8c719 -FixedInputDataByteLen = 51 -FixedInputData = fb5e38de07b639ac013859bb9d63ef34496ad0a6b52d9334c266ed7a53f71980c9432c0023115bcb493dab66345250bdbec7a1 -KO = 023d1836ad39a5be3567ab3bc026606e13d1e34f4ad375867583975844a19c759659f8037c77a89db29fb95e8565a394fe3bb1d2493999fa68789b87dac61b8f - -COUNT=5 -L = 512 -KI = 9731468d98d442a6b3b04827b7c72d9e892ea98d2c69323b2ccb6de4aec85df4 -IVlen = 128 -IV = 2eb2607a924d0277b4f6258b6ff73ad1 -FixedInputDataByteLen = 51 -FixedInputData = d2cc29a5c8f7bd704c8cd023c2e287e5f1e66a0c9bfd1bb9ecab8dee87008f10cc67ae61984c888a14e9328b87b162463a395a -KO = d853c800f3ee23ed3ac61c66d175069de01770b53bb209ad77d78b29654a8fbd60c3fadbbe3b27f848eda0e547dea6009944e04f5f2accf07c3194e50f63a075 - -COUNT=6 -L = 512 -KI = 9e6f65c04ce6d61c5b8603713f8b6022d0f29fae2a77b8a34067f5c3ef8a762a -IVlen = 128 -IV = 96d649ebe9b5db7c14d914f699c00177 -FixedInputDataByteLen = 51 -FixedInputData = 02c8afec47e8788e2f06ed42bad275fb080ea2af752209f11dbb382e9daa134a573ea48b9a29d15987005a52c2ea50f57c3344 -KO = 9489996c29b8639b2bf19863297cccc48e20b20bb860903267077aae87ab3311972f97d4c6333867b7ee4e28f096a584b10c46737f18032b15db047da0069688 - -COUNT=7 -L = 512 -KI = c1a36d0c4f7860a207cdc1d9c9ac9e3eebaaddb8ad0032e83d9cbe4bc2a2f560 -IVlen = 128 -IV = 3a911cca840bc8794036dce047520614 -FixedInputDataByteLen = 51 -FixedInputData = 8bc3b7f641bf310269a01eae0ccfc01235f7debaeaef8accae1591e5a08fd25cc1bffb8e85ce62ae685a9a161b997ea8a34142 -KO = 942daf7db028fe13cf42a649e0a092d97c3f39f0dea70bbf3bef505edbee08968e5a259c1cc368229dc822336bef3f00dc04defbf7190d04b856b91c2fa411a2 - -COUNT=8 -L = 512 -KI = 9826a66030ec066588b964fb1eb23b127a02221fcd380c0e91c79def78b8fbb7 -IVlen = 128 -IV = 46d488d3f536ca9836208529fca4ecbd -FixedInputDataByteLen = 51 -FixedInputData = 8fbf41c0b82a0994d0a19c4e20252a4707bc3b16274acf12a6e06b91237b23c4becd340eb719de926acd1982d30073d4b75f00 -KO = ee118db3bdc5cc34ebc539ae7660b1dea97745cb6af46b5cc325a7181b80d0965936ed658b8b8042d23e2e6056e47603d3ae1fe2192a868df74602cd7c870734 - -COUNT=9 -L = 512 -KI = 0eaa899ba27af0fda5f0de6f5cb28eda57a3db8145833e00f3819f29ab04dcf7 -IVlen = 128 -IV = af8287178445e27f380c7dfc22e8358b -FixedInputDataByteLen = 51 -FixedInputData = f8a90431a9b231813e7b770639927b0633fa7d83c9d709709c222b719f618d9ca2aade48f1aa8cfe38b715ac98844c280ef0cc -KO = 7ef40b4257f6415981d3c1043fb19486102218f3f01c6e450aeef298fa152aac8a14ba04af67785cc50f6b88311744bb18cc77b025d0daeb72b204c78d067bc3 - -COUNT=10 -L = 2048 -KI = 0454f3ea362c65bd8116e6e71237a65fac754321e24c1711423a064dc58c0ce7 -IVlen = 128 -IV = 2498ffeca1ea36b2512f79088b045693 -FixedInputDataByteLen = 51 -FixedInputData = a87a5172d3ab581f436647e7d2da9758f2551397df9f89caa61c9f8d6f9f049b8d76e65731661a3107395a4db1263b2c965609 -KO = 0c27bc52367e8711d5fee20fa5aedd325c5121b3d4856c842aee997a59cb02fe5c0f24906a360f0a1e899f7a4da2d94a1bf3500ac1e4bf9859143c318c5fc8a1fb32bff5a43e2ea4d3c0b110dc0e162a8f9cf29ce4808dc554aeccebef2f5f8da2cc6cbf71d013a86244e17e9507b257242427d14cad49b6b2de9b0792237b5560887bda63c4f9f7a5e72807d7fc16078fa630bb9112eb2c9cea0ed4e35130fc02019d86222a06f9e677a1e9ba1f4dba082c852959e84f8db90287c25689b3a33a152c23a9a2c86d73d72ec7d63b71ca1edb0a9e1faaded0e018ffe4c8dcc29dc6625567165e73b3a6ef726bfd8c8bd9b58f3b528dc3e1383cea11813f667c1a - -COUNT=11 -L = 2048 -KI = 60786fd7b633406d1b185b8051d3705ac3fada7e1cad4864b7161e63ae9786cf -IVlen = 128 -IV = 7e8e7eafa1fec85db5c7ba510d8b6c7a -FixedInputDataByteLen = 51 -FixedInputData = 3936f6f48f9e0d132510dd1d8bd3ee966457060c496a614deaedbc1a1b0ae0e05fd7abd116f57359f8db6467beff23002fe030 -KO = 5a1fdc7ecae57355a77d629967888975ba4bc5d9b7938f0efff2c444908e56b1140f33ef88c65fdb7e3b0d8f79491ebd750bb47767b9f82bf5fabe933cb1526132bb7afb1e503ed2e5c93d3de5a63aec11233ac35c37569d4b3f3b50677c0286fde42f1c007e8c45adf4ba13baa229f06cda0d0ebcb8ec0fcd5f44fc87d5c40ebe7820cf1f8ea1a7757996bbd2686b01caeb8f3fbe0ffd9ddeb7445ba0235db6dafd921e69f961376d0bcb793e9015b5c1995a12f85329bcc08ab2037122747addb2f8ccb258bc44024505c33ef7db169bb3f5399c80aae90126e47c5d2162a9bfdc8d78fc4c6679d39e7067682def871effc24c3084ce477c5c75945790dce1 - -COUNT=12 -L = 2048 -KI = 2f2380ed22e4c221f1d13149d22b82d1bbd1a41386ef432abfd3d24dda24e24c -IVlen = 128 -IV = 586766c8c364003ded2dd74e0255af74 -FixedInputDataByteLen = 51 -FixedInputData = 7216f9ac000a47bd8e14341e2a47521fe2780d7618590eee77b300435ed1b85daf544008d3e176e1f04faea24ba6559db3ad67 -KO = fd3f620af06880e08828d193191d5a9527a049ef0a311cf76c2c2deeadf064d776c596c1c0ec30f7f672bc3d6d943461655456954398eaca76d22002276c1c00e53c966ec5ded80ac370224f73f5d5cd415429a8dd4a1bbe29664fbbcd27a6a6fb486e31d40d26e80605413e5416e78fc753304eaef823e52a94965c158536b4e83a59f00c0efad62eb845b575559f52ba393a4ad30ffa65f5c438acc9edba834143f713ee3cc2120a0e39ac603627ba2ab576e3cbcc1cc80e085a2f45c95ba07e59a5693c943ecb30a013ee0e0c245712ad86fcf519ffe3a46c19cd452e2c78dd8453fbb1a8c5952edefe40224d33756aa7ceb7f734669a24ce986c70a4d6c9 - -COUNT=13 -L = 2048 -KI = d9724e05eb86a096abe4c62d57bb603f6e0bdafa9eb4834d017e142543872e86 -IVlen = 128 -IV = ae94adb83ea0868ee6523a63fc5d1e54 -FixedInputDataByteLen = 51 -FixedInputData = ca4ff98e3eb72915893b62e732ed2b1e6558ee41f4399f6c210f191270d41630a4ab05f33d56cb19df625fbe12cf6aeaa0172a -KO = 9b2be96b34e25f7744a9555743cd89e190c18500a537d4882256bed8ad671bd4e86767cf8bdc6a49a103b43a6049a7974bda078cf1f7744205623460a379a88f5f3c62e8423e0b19d9aba5efbe415913ea59565c7346aeaaf22959b4ba546c882068f6ee590cafeac50f16aff8116b1c7cf235ed886d15a17d3ab07b54a9c95989abd7385f69caf689bba0dea4319e780e713079134e5f977150a3080d016921a75cdcee7bae0e88711d34974e38ed6fd74b548ae6bb2e3cd7b07c863239b0e74ebadceeff806440fc61106e59add65089c64fec47c5407655dfd2f1fa4fbd556e9409cb132f1da5113a54e11e4db8aabb7a0db4f38cd3c4485c09ab88e6b59b - -COUNT=14 -L = 2048 -KI = 86cedf6c123c01abd403b25a8f50dc0703c809a2ca997c205ac6fb6985e25a74 -IVlen = 128 -IV = 3be33a13ccc878bdb1c0ac47bdc80bc2 -FixedInputDataByteLen = 51 -FixedInputData = 09c7fcc8f76e78e71d1a8fb25714c4864b7fe0359c6f29d45cb90a46d743e01db857dd319cb1da2f3ac1b3c49682caf01e8c1a -KO = cb25fe7d6409606eada21d02b1c46c27b46bf42b69bcb6c58b4c540a2038fdd3cbe504828da3e569f60a1dbf7f276b9f1bc2f23970ca85f560b3e24b5805d804c3cd3cd9ceb6ed6c371373c85d152f791d59ab2cc448bba168418bd2d54d823d029706f6565fbaeae695587db1ed8f27fd388ab376acfee0545971eea892afdcbf48abf61a50e03f314dbbfd835a725ab5d15ff8ada231ce8b7194fa4df478da80cecc5f941286652f819fc4c4e65bc43cd2a830f817054ea919cf236ed51e8e52a36e1c87777091ae4fc50f213c16d6f2b6a793f1a6c9e72af40793eb7054de5a2f2a7839d02cd609ef3e4b7b45d2fc5d8f50b4cdd1a179db8c7a35282f5593 - -COUNT=15 -L = 2048 -KI = 7dfcaba4887bcce4f192b3b4d98779d2ef211a345fa9db6d7d845315868f0803 -IVlen = 128 -IV = 3991f64231bfa9e3ab0a2df6f176ad8c -FixedInputDataByteLen = 51 -FixedInputData = 2acea274726b58fc982bd388802194b20e699f598e91ac0d7be39ca6f59c770922a2de6fa48f5e0d39933a8c7cfb27df220dd9 -KO = 3630f42f9d12605d1fd71398d835734486b0466104b1f72f080efb9325269000247518b3d708034c32a65ca0b569d8090fab50fa654edc48a41e20de9291777caeef2b3e57e842e88abe69e90418f751472a0405843783a7edc270a0c64d6cbac28ba2b4cb0de25e264a5a912bfb1e6f3d3ad6f6f0ff41729747de5e0762ed6a1b0b9c3eacf312446c95bbc2ed1ce069e9ed62a1a4f91bd6c56a78478f395808348c98cf621435bbcb11e88d84bf6c33dd1ef070673c322553070b22130316318b564af1b2f36ef4bb4c174b99228ce70c7f27477d4296738080dd644f07bab49b1e3479c89adca3d28953a3de85a34c692d42a6191464024f5be54f2f02f477 - -COUNT=16 -L = 2048 -KI = 457e50dee7b69d29c5acee1ff441f386f9ba3e5531696eb31d45c694858d7017 -IVlen = 128 -IV = f9c2dfd47b8735c4f7c6e8185e86e5e9 -FixedInputDataByteLen = 51 -FixedInputData = 1524a7a50b08d0c0e104187303d5ac66f5b0555f513d7b39e1f16a01e15bb80a406ebba692887685c226d72df1bdcaffd18e09 -KO = ca8c2165832b7ef5aa42b619f3d24af635821b2c16d93d0bbff2a6d538f4e3c7aad571259a9008dd33deb99662d1bff9332237af4b5894a9a2d30b94c8c72c69503c114b99280d5d7f85c0adaebc9642294be27f828ebe7c11336f80312a1e85a866f8546c6aee537744e9b92677c05754db0e1c0790a19df735ff744b1d318b813545220f35951127d99b8c68d4541488d474a6f00f473e512e14b39507c4964930ffd7d901989f62282c361923d9bc8693bfec07cc9882d92869da0e65955fe1859365a01217d71bd6f8e4657b74a7fe00b14b86facc6e2556189c1cc81f8b855e85f4fc40010fae267c2eba25170e275498507058869cfc70db336d86f28f - -COUNT=17 -L = 2048 -KI = b11cb801f84754f828f631b9170f6420f3c7d7ed3de58463ae8ec786e9261d7a -IVlen = 128 -IV = 0f9e87df4693ad635db402f66e071f9e -FixedInputDataByteLen = 51 -FixedInputData = 04677e92464e5df0f76c94d48de7eed2b58fc7295880ffa4233e4bef37f551988145e13fc734ff7ce654b7797e25a0fd766d85 -KO = e7ada1f354ebc8165478eaa05a2f00c2d508f898d53679ed8ef4511962425b0757dcd1aac976759d1c6f686aed663de9cbf8cae3f59a8504c9c09a3bc84d8e7df3efe11201a854f81d5b44720d27e0db7c13bc92948fb5b47aae45ee8f9e60a25965531c047b148c2df0998f0400365836e5281375b05220a830bfc174e1ea86dadff0697fb9c01d31fff90109337a5f71a33965340245520c647d0c16a6b4d4a0f1fa7b5b608ac0c759ef328c7218c2298eb522040d295fe2a5deb76d2f967566b596377128cb975aec832fbd5eb932c5f25eee3204a41b2e8c11eb65ed8dad14faa8ed4d624b3955964782e1a2e52e437d73ada822d71eb60f2d3226b75800 - -COUNT=18 -L = 2048 -KI = 59e5ff8fc87b4984fb2bbd521849cf67f56c67fcf83d1325a80a65749c62a61d -IVlen = 128 -IV = 2abdd291a694b2197dcc46d8cf8f6230 -FixedInputDataByteLen = 51 -FixedInputData = a987f6befc8a1ce3abd4f88268524f3eeaf0929f3e34425b0403dc4ddcef8dab5b18f782b9492d154b721a7b8c5cc89017819f -KO = a739411008461c5630b1dc8f125905359ae088050ddfbbc577e40923799af4595be578e8b908684f783ab82fe756fd64bcfbca55b3bba5597c4a92f094497b69fea9e72cff919065f6b0be13a1d389bd3488db53692771c5a7012f0233decdcfe65959f59c5d50c373e69311a3ae5df42b1c5ba96f9b8bac937d2d078952a2351cd5e367ed97cff4551c0e1bde24f9b1af0161d83e9f224b74149098e5f0906137edc5eeb7f4814867553f20cbc1f7311768ee57c529895ae311ce248c277497f558691d20d8081c98142668dd04ddd52d296b6fbbfc831a1773dcfb216e69ac2d551ce3f3d8228c0df3768bdffe54c212eeea6f5cc6d0ad3dceef7408a6d64e - -COUNT=19 -L = 2048 -KI = a4a512483d0260c1a50dcf37681d675ad4a523557facd051abaa93eb7c143fee -IVlen = 128 -IV = 7e7c53bbc0ba9e0549216b82901e3ac6 -FixedInputDataByteLen = 51 -FixedInputData = e9d30ca69e78810b4c5c8f58f19681bb22c574b6e3fea0bb888f3f8509d201ee21db8c71651a309f9c626c895750c82919865e -KO = e9026c4bf5719bb14d5032541766bf3bffd3a7e3fe9647c5308153cc33a4e6a2f28054a9bef7bad0d3ca3793d62bd92500e270584ab92852e0375252a31eacdb52d36c9e042b068a5089566e859010f4890e226efb759bfc0922f75a66a57e0840369440496d33a82cc2b24a2957a61104b32297bd68bcf67eaa3c75493e5dc5f12a94b63c2c56a411fc680291dce01a37de362aabd190b0264149a67ddd369700e6cc6529f64348311986dfdad9c38ba2239640cad68c75d90617c8b0ba048ccc0f1b2ce3f434b87f6187c9400b289fa4ad0fee2b71b136d270cf5d4090b89eafadd997d3306ceadd7e6d6df4916c8196c898228c5ed475723faaa70cd40415 - -COUNT=20 -L = 560 -KI = 16a9ef81c20cd3c75a226834a6f72c0858d9526b71cff8ca396c54ff85bad301 -IVlen = 128 -IV = 46e041f4c5a8578bef82ab764c46e39d -FixedInputDataByteLen = 51 -FixedInputData = 707c701b24ef82b95eba33731ada62f85ad101fa9d812694f766073022209f4b859dca0ad446c83be6935aa6261d8125281f08 -KO = 4514d5ce96ac3a098015e4de63c1edec4fab52a591a77a43af94e3748651d67dbfd87de274a8d6741c4c0a2b3dab357a097c5bf0285b032f970c44a266545354173d177dcc21 - -COUNT=21 -L = 560 -KI = 1b867bec8f6611bbd1da1ae708e9fa654daef5a5fe43c7f7e88f3c69dba00a7a -IVlen = 128 -IV = 55bf19cd276766d35b5f90f7eae2dd61 -FixedInputDataByteLen = 51 -FixedInputData = 4da9bd749fb60611bb5fa890bdddb19da36447697e75f7ce7494070afbe78a2294c7e26fefbf89c6fae1917d83b8416cc99b86 -KO = f08db2a64dcc61d80010735b0d830ea852c97cf107691b815a2422780daaca6544b9a3b125dab7de3d9c63bc27f65eb7ed471737d9abddf585d746a93a1b44831b5470f13c39 - -COUNT=22 -L = 560 -KI = b29187dc2d7ab1460587ea07228071dda08c0a461a3f78e938d102e0b342de32 -IVlen = 128 -IV = 98c7483f88e459d6e216ba50981d87c5 -FixedInputDataByteLen = 51 -FixedInputData = efdaa7f8c22556b598c1014cee8c3409dddfe4c8ef4713759baeb70fb7181b35b4031b5b5f48bf40bce8650489e9c9bbdb44ea -KO = 8c3f94b8721e284dda4ddd0ff335958bbc2f8e26c45e998ae47011ed90a3bd23d76c8056cf166f3b5a9b60082357b0561db0784a977e80877e0802d4723567445d66daa752bc - -COUNT=23 -L = 560 -KI = f4fa9b143acaf7c4d7adbd7dc0711990ec97a931fab5e4517828636efab43e1b -IVlen = 128 -IV = 33a37e8e8c763106b292552fba2a8d2d -FixedInputDataByteLen = 51 -FixedInputData = 9e75e237f947c55e542f7aad96e420bc1738e914d20e38c5be1816523a39e3ba6a7f42c602985d79d17abe29ff2a7c139a43bd -KO = 9445561ce6913b13b06c280576d417ae76d4cfbf9ab6d603a36101ba7d1faa92ed64faff5d7b31e4ab2488f48075b84d4db53bd8add29d1a6d49b7603442adc4d3bd2d1ea1a0 - -COUNT=24 -L = 560 -KI = f6232643522144649f08e5ddeedaba9bcdacb8dead8f7d3c240868981379cffc -IVlen = 128 -IV = bd01891e23dda2106a054f0d619b308b -FixedInputDataByteLen = 51 -FixedInputData = efdbaf735fa70fd53db6f1aeb680e1c11118df27b086de3d368637a1d8ac5b9276397922ca476ac166cf810bb7420e0c56bcd3 -KO = c602f1ac21a5f9bc5cae5bd5bc8c68989995b43db25fe134dffee70c40ab36933fbfcdee9325d5d8bf05367a086ba1ae6c001f936d52d61626e1aeb9915c60b36d8354e04964 - -COUNT=25 -L = 560 -KI = 175213e9acf1e56d00e1273d673a9f1a1ea70bf6a798d22344c711da3333342d -IVlen = 128 -IV = d37696f29edb062b1286a218a0d41dfc -FixedInputDataByteLen = 51 -FixedInputData = 8f55386beb0dc012a68e808525818458b5f6b45c70f7505019d304ca77e70dff176e0311093c39d0022f1be5b65085cd9616a3 -KO = 5ce36300fece6e71569e7530f2e0899d358abc196f358866d25877337a95382940853defda2ed03f48ffc97d1efcdb1be458531fea4ff031d26c82a94845e2c04f6ea2c6bc66 - -COUNT=26 -L = 560 -KI = 1c4fe6bae9c52366000e7c1d5da15d9862a4e1b2ce529df3eb460fc150d91e00 -IVlen = 128 -IV = 0bdbfe4747c4a02d231603b4b2763cbd -FixedInputDataByteLen = 51 -FixedInputData = 1b2fc196e12acc60898cfdcaf5bf0e82506955d6ea1fecae3528b44246b56adb77ae4312488c18bafc7a794d042153566a0a00 -KO = 7234bff4cd595d13a1a0816a232f7023e277a35b0825cf35c61c418b29088e9529547579368a13c86362d05543ded0b16dd4697d3fb56ea11d4a1f22c76588a0d6b8fd849273 - -COUNT=27 -L = 560 -KI = 877b3a95f440a1d3efb7bd62a044cf94897b9dd7238c40808618c9244d3962f0 -IVlen = 128 -IV = bfd8dfb592b68ba31434283b9bf38225 -FixedInputDataByteLen = 51 -FixedInputData = 5507d4db929208f4d3c9bdf86451523eb308dfe50045503466f76deef89e698002840019c156ca4b2c97ed9d57ac17a8e0820f -KO = 9300e580f9141cec16d4a1a46beb1e220006412b23011195b23ea00c3b032e90f75c44842e5672fc7fc4c4069faf4a26e55628eff3d12d410e6ac746a42a9d206837335861e4 - -COUNT=28 -L = 560 -KI = 47802b2c2cb239a0175428e7148fa3e2da5e3e6b7bf9d7d12058dc3d6ff94604 -IVlen = 128 -IV = dc4acbeac13f3613d4f7ea53a0dcb3b6 -FixedInputDataByteLen = 51 -FixedInputData = a912faa8c726fb20e98b9547a3a998a303f73e09e82f63a9edf831686dd32d6a7d654099597a57dd52fffd5d990f7cde66c98f -KO = 12a649c4a92282bedd797ca2e54b37e0e06b64b346f44262981c68c342b757d2d135383c6fee9be77876abdb705658fdeda41ab54efdd03d76f374d1dcf5074704b5d5493a18 - -COUNT=29 -L = 560 -KI = 0783f5c21259939d24128c98fbedb085d39a9040266eaa7fe478449bfdec29c0 -IVlen = 128 -IV = 5700470edb2e28bde713266f3c5fe2ae -FixedInputDataByteLen = 51 -FixedInputData = bebeaabd130a37de9a4fc10d3cfd911c5b8d429dcedf0ce0cdce3779f70d0d0079286fecf1884270736e3a260df31c3ba61920 -KO = cce7e5ec6995d2e1ba1cbdd536e6dbeee96d80aa648ee3c44a67181dccdae21dc6bc1088377004bdf9fe5b913ceb63375aa452285c97a7af5c5cda64aecd1644d3a2eb974183 - -COUNT=30 -L = 2400 -KI = 89a097229a36455a47d03b87bedbbe0ebee05ee9cfb60e959f70cce306d9bfac -IVlen = 128 -IV = 8720d5b070a634830861e8e27e825636 -FixedInputDataByteLen = 51 -FixedInputData = f351c5815259cb9890cd3ce55a44682aa5d25e292fbb97ee50c3106d4e260f610a45f72cf7088bf5f94ac8b4b97ed6e2e30442 -KO = add8f74cd9d9030ac2da3a36a2b8b765da7e651a4e197d798649bbe7f8599bf715a1a3304bb4ba1b8037bed35bb0a044cb7659ca75c2d271fbcf1c024edf3bacf20c17105174cbee3269c54a8311ba20c3c04251519eaed7e55c26785e0b985249bb594c5403f212735691ba3cb295b18fe0b58fc9a3839b44a12a2bc23707f8ed84be8cac2bfefb75ba6f4edf7cee7e5f93280ee71475961c9d77ac078491b7265cdcf0df68be8f652e3f1c7b1757a1555f8386e7b7b41bb46938760d45ee9992a2d1a9d91db1817057e106282c033156b97e4d1acf1c34bf05fdd6e2571da7c9cc6c90dec186524feaba8f93f3f2d6a3bb78a632a5389c4962c98bab34f8c562ebdc1d6cebd60129beba7abe6bd3242be34d5ff8d8e5187c31a99d776bd225ca0f2b9cf539766e0950eacb - -COUNT=31 -L = 2400 -KI = 96e22f091dd0146dc6d04dd157ab0311f2e1224e2fca62c085d998f1c53e1609 -IVlen = 128 -IV = baa1d43ab06723470c82ae9fea71f5f9 -FixedInputDataByteLen = 51 -FixedInputData = de12288f0396e244e4bc6d14dd26abfed3599971d438c0397e63d3fa92061196721d8c0b9fabf2558629bde2f66a0cdcb0b9f3 -KO = 7143ac408d5e0b8b2694ddbce75e3e508b8287da585c3163f1e7f19962dda657a433a5261988ee9ea3fee3dd4517ed8ba6d63c0dd592a241c6ba771c3956d31f80d6ad6200528192f0a28f83fd03ecf65ee360c82be798075b7e2749436d033f565d1afcf690995299b1c57d8d5658b48dfe79ca473467c70e17355cc52a0f796c09fef4f06a724db3a2a061a0cfef7a7bf4783040b4da4ef497624b64a03ff1ea40fef31aaea4d9dd39a4c296f16a840230353ba72cee8aa95f02c6bf850310c496b25ab92347b4a106e0fdbf0c33b28bd033eae4d9b77ce8de127c5b1952f8b1d949f7c9d7e5eb7f19648c0a1f387b7baf925227cf2fea9136fcb72f885389145b9c0e94d17253b8d0fbab13296c0f6b4855bced1bee72d9fa496ddfbaf8b7c0c539e4553c9bfcfb12a23c - -COUNT=32 -L = 2400 -KI = 1936da35ae8db8464f679bf1b7dec6a1779ce172f9a0a6405344f7f40ea9f40e -IVlen = 128 -IV = 79e9c5ad930ebe83fcd0659d5c427996 -FixedInputDataByteLen = 51 -FixedInputData = eae357352627780b4bc04de154909584140ad4d1fc2d059955d6db38932d600043a4708d976c0b9b31bed9184ed3b60c398d40 -KO = c7a5559de83d1c00a7680f730a0d1d0c0f449a21308c680ac8c98133c0ed85f7d3e692e7132407a50e3b60d65aa5815413ec2a44840b42efea6b9c927e7f0a4a1caf30c7bf13f6310f3ecfdc80559ff1da8f28e7385a6523650690fdb89de9d5c0f9082194726c9ff8876f03558bed98f4b9ac476d51380df4038dca6ffa0fa08259ca2b884399b47eeeb92b3044a811bc3a2800dddb41beda3f3c79a099e5f3310a1a70d9a3d466bc492b057264b4453f192a51a9037246fda2a760861b4378c4ac3bdabaccd7b520b3524b507ecb16e61b177cd10ff264fe661ebf8968351a287a01bbfe50410b8f7401f16851cd412fd1b3e2ca687c003dba8457026927c08be611f14f746a50d4fe955469bd70cf66a663fb5171b75603eac689fdf355aa7eca30182a7ac1dcc2c5e66b - -COUNT=33 -L = 2400 -KI = 3a375b806de4fb71b9a252722c6e9ba23b203a706b5a249b01c0efd43b449757 -IVlen = 128 -IV = c141d285bdb53624d8c0936324b97b19 -FixedInputDataByteLen = 51 -FixedInputData = 21f3c4bd69c804539309d7905db3aa94d2ec8eebe720bf049f5aed1e27d5a94357cfaa8db8453166c4f134ece2722afa0d203d -KO = 13b7508961e3742be42d87ef451974d1794aa802f677a10232c73d5b97f41a84e922315259b0a510473e5bc1dfd4882c1827f16f5b16a57a5c20f9a9b59f3166074dcabc7bd423e897d365ee388d9dc18edd0b73ebc7b328027cf184bb07c56d466d4ab036ebff4109396c4a81f74eb78cd1e714a8ce9e5366647d94d7601ce1671ddcdbcd534fed6ff8245e1d828948fb2cb90f56140c8d941a446c414e31ac3d7796d5dd740115f8221eeacd8bb2111e913e50ea8b46ca05d2576a9d7827a86212d926ac584b4adf9410af14afd718e05bc1f1f024632949a58478304a61f7a7d9667e8f33405e770fccf0bb21fd73e49cc73ef1d32966c35aa9427d2ed118d1dfff6d944f439d8bf8e96a2773448e459720bfb90ca779997f85a0d5d3313459942ba88bf0dff741285036 - -COUNT=34 -L = 2400 -KI = e0af291c8361ff82534280ea59dad717a87cb78da063c5c0e24509fbb717da7b -IVlen = 128 -IV = 2288a610488a3f192f1ca7e4343ab4cd -FixedInputDataByteLen = 51 -FixedInputData = 3e218895a91b7943b8e304c7cf52b25fe5202871e59fee7f8a947f93fce03b7f79874e8b3e8ad80d10b46de37c9cae0a003d03 -KO = cb06d5e5207ae7fe38a65f394a47ffd3eb2417f802b0dd681b41f6515bcde38abb30e40a0bf33ba91c67aaa2a24d513af1c08bfa80eebb8991df8f36a4fcc5cdd039846b4b611d98fbe2db694d6eae2cd048cc5ddf7292b26a80c8e7b0e9ce21936a38093b54c5e21f347103bee4987b83f7a369ba758ec656428cff0acf1b055c74d94a23198caf92288fe25efcccec1bd6f9defeec0726baa1e7a78cb77c0ad74c730764b2dd68a1656f94fc897e13285ec6d25513a22c1ecb18c9951ed599a9b2acf201a4496208546c8f512b163b64cd665a77c55a440b2811ed213fc3628bb4a0fcc1db32c610607b2c2a6aec094b1d7e4aa48f386c7bd92d396d2188444b9c7c6ced67a15c47617ef463abbd237a9ed2a98b6e22e39168d137a3eeb252b7d248d1a219c672c0f3e4c9 - -COUNT=35 -L = 2400 -KI = 1b5d576ad9f367d4c19ad5993ff9d90247948dac225e0f16095459d70bfa4769 -IVlen = 128 -IV = c064223e15989f2b191a6f4cd356bdca -FixedInputDataByteLen = 51 -FixedInputData = 648faed8c37638e9b7ac354668780937ef6d0fe0f934cd1ac2e9e1658ef808b1cc699976bf3ab2af701e69b4926021350ff36b -KO = 0737982f1bd16a1fff8bfd905d7f93874de0bd26fbf3361e123202f175d4ad6b2fd784fdbc27576edfd63dafb190b3c55aa39b172e42f337ac0a78c3e490532eb18799508630dbdf6f9e48ebbd0688e458ea34c50ac18e0d621f6f4b43fa882cd180dbd139ae485299a896430135f896c7027a700555c0c871a42026080a2b2c19f8e3a3bf7ad0a5a8251c07db37598d54935ba37033f430b168bab2ee23ed1f7e92d52a70535481d294f4da30050b104daca149dc4a51a67360f05356501635e51977130026144b3763fb0763a4d4ffd49e76379a31cf5bce318eb40971465bf430d550a10b7a94c63a89c32d45bccf60755f8c5ce4d38d7ba0a849e2673b02a835bfe99a53843273ba3a82a14df8900619e93d9add9f587e5dec6ae6f4dbd83d46bbc4c11dc137cd47b107 - -COUNT=36 -L = 2400 -KI = 6cd043d2651bb1f3945a374c378ef003541cf195edb303858d726963655b5a91 -IVlen = 128 -IV = 76c5b66d74b7eb5fd10e74e350fdc5a6 -FixedInputDataByteLen = 51 -FixedInputData = bcbe4cb60491bd7b6d851db75de9b317232bb522629e59f5fddd22ca814aefbc26bf15fa0c4ed9c602f3ab5391679a8721f362 -KO = cbf690d2226d7dd70cccd52a9ea5cda234e62812d668f110251ba6d68f7ffdb7c4d9fce9eaf66f24865c6ac1ae9fae96e5206ed9ca3e4e3c753dc6d4aa4eafb84f4c0ea958eb873772defd709d2df6c84d437864799c5b104e3fd7c7d5a296de63e636f5ee44f5e100c0d50d82b46329c0203c239994fc199677d238b4483396428d84f2b2793fc035c4d805517d2a5f9feaaee890fc820f08c47c6db2170729aae4bae238084ab45d0cd1e47c4587383dbf569b8ff1d770a26af639e49542f6ef559328cd5b630f44b378e6b9c21a45aee17fc081498537f182c12763d9241e9442e47eacef9a4670d3c2995e65fabba99b26e09746ba5882bb95baa1586e98584b5f10f5802243a5b7795daf94ac19d41077cde46134af30b019f8729d1354e4df2ec8ea712f062889019f - -COUNT=37 -L = 2400 -KI = 74c5b762907ed0ce0e7a7168466bab8878dd1f88aa74a90bff30fa10742e94c8 -IVlen = 128 -IV = b7361df9c2fc38e31bcf8466275c39c8 -FixedInputDataByteLen = 51 -FixedInputData = b3177cad22e9f1607d0788a3d32139b5b4eac8043e227579b02e05bd8112f536507a576d48e97107825998c596481f5ece0602 -KO = 3a10460c61f8862d3b82941f71a18db9a14973e151c8ca439afa0379d86ba6985561989070e24f89e89ed0e8914d11883e933ede55160ba4857fe82a5f0a6ebc83e305dd5780fe1c3e18e353dbe4b8b040f63f833be8daed43429600dc254eb52a7428808093bc9936a539f2797a824096162e585ccc49106fcfd78ff91384d24a694bb48e1864c1f9128614d3bc8117c384ac0333391befbba052a631f9eed075fb62638dff523a46bd16b871039de48490f058910e1a732d3057161ec0789b5bac64f6e012f1ae0b058fdabf90aef323694f54ed6021305cb631289a2ad2b747fc9a33b092e491def78137552ecb141c9b315d24d51264c99fc4e60fdd0d5fec7fe1d0df74f2e9103b707daa855b09f20a2501c9e274ab743c80352a33325dddad204695ec37a4dbbbdb69 - -COUNT=38 -L = 2400 -KI = 22c66c09649401262603d87f1bf2fb7b4917a2a8c1a8d9156c5b5a2ff7299c06 -IVlen = 128 -IV = 60fae154d7184de792d37841cc137365 -FixedInputDataByteLen = 51 -FixedInputData = 0dbc064250ab0eb332a9ad765af5dc86e1df27ba92242c29fc73fdd74e2570292fb2edef5703278912ad47fabbf43da2fd549c -KO = 9f0b7fdc9cf3d89b078d8b201b5e5f16f04e10a1bd2063afa6f3dbbde9c668f973b52d4f0a5eb09046aa2c5609cda004093be64a3e32ff29c41a0e9ef5c97bfb6766218fb42062aff7e782132397eea4f241e8e81d293d756115cd0b246a9d7f75bdcf2e08a690c40cf9226783d47fec72208514d63ff751b2346a425042da2e3b32f1e9f8bdd8c5f72f6f198b83ed6de87e180f0d126ea0761e5f100c9541bcc28bed9f5c207ea9bc83d6b586bc2907a9593fc71802526cfa2a730976552e090f806480fb0bf474a166bdd58bf2e709d3af195b634d033f604a10b4a3c3b26d6bc62db33f81ba36097207d377d6748e75778440925bdef0aed959641c0aff761e221232e609b9890c1cbfea261fdb97672d01b8ed1379a5e7370a333aa8f0b26ea7be1076555649a721c4cd - -COUNT=39 -L = 2400 -KI = c3892e21a7a3d3534558f826ecbc466add91e0a377b6f0d27aa956fe133a7fbe -IVlen = 128 -IV = 4795e79adca4c6c43aa0f8937f6f4d7b -FixedInputDataByteLen = 51 -FixedInputData = dbba137ca89a3c294cb290a4135aca88af0997821f29c61384b5d2c4e5a74996d8a1c14531b405ca7d24cc487dec664d8812a4 -KO = db2645aeca51971426882151662e154201b701c5cd6701a515c3528be304c5bdd6f70670268dc61ea7fe8550eb1fcb3eb4821ea46d857cf6a754b0fb27005ff9f8dc8a1b458d53cd5c10ab7880bda4800936962d291e5720c40b889bc5c0d924876d7d8e5949a137520344f3e7cf9f2f3edf91e1a584c63a059c00dbbba37beb2dacbc6075e302c796adb4e736e670525a544073f72aec96d0fdd0d71b8a10c177e1811caf591788b83d6d01aff3cbbc370b78cd87034b04071a0a7884bfe27250f671a16bed84285eba1f172c70d1451e449082505cfe98a7489bb13180bd6f3ea606d6749f745bbd4e663e89b34cfc058e4381bb3a227db7573c4f5f921c4e5029f2c65745bef51e401c65e87c2e0600c033cc818568b8549529860450f508a3ea373f77dcaea7335263ab - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 519f32f461a2bd0f3eac2a01064f311ff1e63558be70060bb87d5e4234bdc4a5 -IVlen = 128 -IV = 4bde83ed02e392ced0bb1a104fb320ba -FixedInputDataByteLen = 51 -FixedInputData = 6863ed5014f8929765524238cb538d633bc8d25611ad785831ce05e6463b35022c4b013ea61cf963a33f6a1ff6326a628495a2 -KO = 7da927d4e3feccfda3a9df1c40160d98d6b9bdb838162e75d06260c4b324676099e4ab946c8d4e4b9d98b4b15584227ef1d67b6bfb18f58323208eadc5372391 - -COUNT=1 -L = 512 -KI = f2b1b6284d48cac885af38ea7e639ed18817bf7845878e5d90bdcb485dd37734 -IVlen = 128 -IV = f3ec2a8e36759d40ec72a91380ad9e9d -FixedInputDataByteLen = 51 -FixedInputData = 6b4662552e388c82105959ffa7cdd4f14ea074418cb00e1c832225610d0db943b62c6453b61390342969f74c4aad01fbbefbf0 -KO = 385d5ee254d03106a8979dc9ea05b8fe5337211acd95461836a62751cb73aaa29fa63524ff8b68a589ffb1df70d32e98b056695f5b7c061fb7c82db120f5facd - -COUNT=2 -L = 512 -KI = 90ba402717b5cbf29f6c30726ff1ee5fdf9ee1108ccaac14b785a9326a014d0a -IVlen = 128 -IV = 63f0910fd009415aaeb23d1b39a133dc -FixedInputDataByteLen = 51 -FixedInputData = d4f6d93365db6395b921f1a00591259d181b239444b1b133f21d5a9d9139cdb885ca013df2975908f769b58ff664155c6d1157 -KO = 0b5440dcb7eeae7577beb46b8a1b7eb04e8366f860b1c7f6b964a6ec622cdbaa3ea3c61474821b559c8f75077a2b4b33ec724cd387f725e92f9794ae10f81b1a - -COUNT=3 -L = 512 -KI = c8c5e95880676524eff77d2a811814bbf41144ac1d6a3e068e7b7744153f0965 -IVlen = 128 -IV = 4f99d1a346d9c2f3c1dd1fb92ec902a1 -FixedInputDataByteLen = 51 -FixedInputData = a36b96810fdecdb8f015d2367d79906d4657f98eccdddb7a7befebe0b6d42caef722ca35d6c3863f63f080faf3b890f16d5c84 -KO = fb90bee989bc3fc3f4805a1420a0073377f780dea1aaaedbe820ab3a1ebe8bb44960b55c00cd1e3be8fffa66d14931eba106701aa773316d2919f883fd97f872 - -COUNT=4 -L = 512 -KI = c4eed60a35afd25ddd05ef35aebbb20b4f5643736068785b3c2e0137d82408f4 -IVlen = 128 -IV = 2be2d7bc7621b2c83a506d03bdaad4b6 -FixedInputDataByteLen = 51 -FixedInputData = 19efbad560eeb369042dca0434d0366967a3d8ebf6db2a0dbe885e2fc905d1209c1ec59e54468969a007623641551eb6dcfbfa -KO = a57b2b15a4fec1a60fcf2db95c101c0b14e750cddb8e4f9d302a0e6b6fbd6bd7862ebd83e644941eecf4dc5dca8dc2d7ee105eeb9ae82573dcc1b2d408af608a - -COUNT=5 -L = 512 -KI = 834748ed599461364f4c3f7553fa1eac28285f31d35c2413a9a86a9b2149782d -IVlen = 128 -IV = b0d5fcff1cb211b01f77c8ddb4170a95 -FixedInputDataByteLen = 51 -FixedInputData = b7618aae28f5915c912858dfdaedcf18bbf6e3e617c361bac6aa00dbc024ac6b23c364da376f78c96eb25cadb11eb5b776cc21 -KO = a83f23aada5fc00e507452e3f47a5e60896fb5e3fd69bd2e9065228723778eb8ad1bb505d18660e6b20a285856c14b191b04941a021ff48c23444d8f4ce2245d - -COUNT=6 -L = 512 -KI = aa1d8076958c9f6bbdb6f4b3a91ff1487e8a19cac3da626d806659e008c5bc96 -IVlen = 128 -IV = 1803a245056fd6a9ff9071ae2593feb2 -FixedInputDataByteLen = 51 -FixedInputData = af63a84314ad6c46869cb4f59d18967d9b23c12aad7c0ac13afc293c8cae49ce7624bb0b52b769a02aed16af5d9aa0618079b2 -KO = 27d193c5f2a9b557e4d402b593d363b51b1ee4ae176aaf35418c40e3339140824dc6295f60c29bb2551f59821695b2444a3c432ef9078d542767f5bb9c170fa1 - -COUNT=7 -L = 512 -KI = 9cf111724b67b62b1e17f8510a50079c09f15bbb2aceec434d65351ce422bb28 -IVlen = 128 -IV = 76322d3b61dc0289aaa43ea32945b500 -FixedInputDataByteLen = 51 -FixedInputData = d03581774e8cd564b6901fc7812a8fae580c1b1f571081f057eb02a5c7d0ce89668acf7eec220676ba9da32ae569586d23b1a7 -KO = f6981c83518db6925b00c99c0494d9e8534ceb57ebe399a3c0f725b6f638513c561825f2713a9f82224f99c9cba875d77473b3bbe3a22bd70b76657344741a5b - -COUNT=8 -L = 512 -KI = cbcf03b383a1fff5df3951a69376c81be9e1e46c879e1ace62012e7aaaedf17b -IVlen = 128 -IV = 84f6764e65e33d72a0c0e1713e88e68a -FixedInputDataByteLen = 51 -FixedInputData = 1c996db440be6ccf32c60f3d61b82bd7e6719946b0bb039b3415f9143a6602441d17ceb90c0921d932105577fd55f046713c61 -KO = 6383abf20249f26fdd099337d91bd2d9a99eda9b7e413dcc4b22f4ada0cf2bc606b1d5fc1c4a84f254bc617814203bb9768fe152ace82f49b7e5faba3795be59 - -COUNT=9 -L = 512 -KI = 02c8be6e441eee7fcbedc76b79306f0026df89c0d77a77961cc3a401d81effd9 -IVlen = 128 -IV = bed6355bc8ff6b52e1bf9ac704a4de4b -FixedInputDataByteLen = 51 -FixedInputData = 9b56b7aa6dadfe6119d04b03c22913f5e08a18ac6a1a617b60c336f5ed00bdfa49d23897e58168411516f7ed0d152a2c83d400 -KO = 0760c66fa2308497e726e8cef26f47b8ed99f8e836aeb2e879b801b6185da07dd781e5fa2ca01fcfafc1106fb86fd495718a63dffa96db76187f4430dfa632c0 - -COUNT=10 -L = 2048 -KI = 87051480a8df016d5326babf97d0fe8744c487e78dff214b768b4e26105cf182 -IVlen = 128 -IV = 019fb361f7a8a8d8c7a1d611ed52141e -FixedInputDataByteLen = 51 -FixedInputData = 0cd5f184eaa028ec78413a1aac2fcd04832bda61b5edcd923801feaa8967a1631ad269aee70ab99281a816fb81874852ee239b -KO = 4fa8c5e2201419da13745396143374e4dfff94a74fbeb1a2fcfd2d296015dcb5f54e258ce0ea1d1072421774e67ae3dfe1c0d94fc2c3d621a1b74e10ebd80781443c7cc19d321bf543b446bd13dcd7eb76a1e6c9045027565f6c22f56a3a17adcaecbfcacaa0ef9f0a64a7c1238787a018291ba1715556a717d0418d930086791654db2661f3f3e58ea3de3afbef6be8d31bf67acceaa1dfb8e7365aa95c8c1df99b31ac79442530ff621967ce63f09fb9967b20ee32dcca9e1ac9e177945bf06183c99bfc27242681e7a505596291e8f4090911e0223f8a73c7c8593b9ac0b30d29d4a07bceac50aa01952c2f9e22fd407ca0a3e0521aa9efe76832ec14dc49 - -COUNT=11 -L = 2048 -KI = 56b78c7408ec545b3ae0cef63c880dae511895434643dc88089412330582b0a0 -IVlen = 128 -IV = 6dd8645e2c307b9585bc1d205da50f10 -FixedInputDataByteLen = 51 -FixedInputData = 76ed1f47ee7bb701ee3f4b293631353a1f90dc2c5d8e6e1e5428f55e7ccdc5a5cbc2040e1bdb6114e1509cd16519469a2a5b75 -KO = 59496afb199be8f2420ee7faf143d2e48c0246b7cc73623acb0d2c4dbff4f94a4de190872486c17641b4992f1326c46dc29bff66b148ece6bd1b928f35c95ade6f05cb93bed8f59cbcc27c4a6a1ced478583bb0964e72b1c222da10603e439582ad3814053986313908b842f389369a04b0f5e19c2533f588af852fa5f65e6ae75117a90ed6f1b58c40d4be758f7ff41219af081f34d6581ee8ef5dd64f28799a7bf2a18be141d5bbca3301f9fd02835a777e86124e601c18f913a2bbc123c118e4d4db12a0989267d049ff737e4e26904af0558b5095ed25ebf32e53d83bf16febe7081333262d2649bfec5b121125728ef1635e5213326a62ffa44b2e65f53 - -COUNT=12 -L = 2048 -KI = d7ee8e52cb18a54ce6784aae35069a5e4eb7685b1d93357fae2da3698f5d3831 -IVlen = 128 -IV = d9762af01ca93fcbea08aafa06b467e1 -FixedInputDataByteLen = 51 -FixedInputData = deeb3f39ec522cfc7845b293d25195a2729700a95e93ab3b59b0734a641c6d6436a97dccb52269a36edd05b18d0ec8393963f2 -KO = 46fc4c541f10ecc56d5c20b00b40ceda0c8c8ad1005df103754fbf3d641c4b8770df1806ff28ec5d9b1743b02c33a2b92d683b9b0bb517035042b07533732a58d8b20291a40c10eb07924a4ca15a44cbc70a8136430c0331dee818c675252312e08e54bd5bac86f08b4516cac1076e92aa3778f16dc45523958ec4fd2ce3fcdedb34ad7e089098401fc2b228287deccf88e8b6fef9d789a66b8d8b67a9640af02771b6d515b4f9b385d7a6295144acb3f07ec000f3872a921bebdc767da7beb9f8afc253dea1680ba6690bc400a6dd048a81fc3e18ff806d91d94db7629aa3da5f01f26556238e5e887183d7511c239027cc22cf716d217874d80290f3165c4b - -COUNT=13 -L = 2048 -KI = ec914cbab0601768d3418a8eaecf1a79ad612ec0def24c10f88ca4a1f4e25f43 -IVlen = 128 -IV = febcb00758d4ef0f1b2d26e8c81ac908 -FixedInputDataByteLen = 51 -FixedInputData = 15224dce1b6e84dfe645da96357741a709394de52d8a94d05e1eae642d730044beda81cd7fb6727a820d36b50eec8ad141a2ce -KO = 241601620acb0bce794cbdc7bfa0b14c43d1a8ee85d638ebdedba935bac20133ed9911be7c01cbec651e444793ef40d52a54139303ff95d726c0898f174bc5162cc538f558f97089e8961c5016dc2d71266f864bfe1635a4f8c7819d4336b4978b87c515895d7c7b5c6df04c0276f5d308433f3eb6b8f5590c1cb03cbf24a3652eb548f00d9483f061cca5bd28bc3e39cc5bf12de90a72f4c788becb75a82eb6542ed67f29d08f31cd7b99cda0b02c0ae5e72c06e2d108faa2391428641720c055b15d79fe5120f583a5cbb081effe8d9b54010325c5c272bdc6ee1b72b6d6cdad9d7823f5b5dcc0025d5f8e551cbcbfe3221e89f95324590354a3a511fd72a6 - -COUNT=14 -L = 2048 -KI = bbfcebb64e0e741f6a23446e0ef0f0ec6d65f1a017ee140c6469453b567713d0 -IVlen = 128 -IV = 63ed6d843fd5106ef5efd8e151bcfb29 -FixedInputDataByteLen = 51 -FixedInputData = a35e6d19e99c7d0ebaaa8563f17bfc8a6d07aa6c54badedc90a27c8a2a85a98e479df5531e40073129dbbe0e2467816d8b4c89 -KO = db96c16e768ae78c34f3fd194d8af626d11550adc3010fec15eb5c0f731bd27a4396b6625aa211982b515e9ec25a10f295d387074b605b82c223f654870969a06feb4d9e47d564d410ba48e36748dfcf5ff05f27974205dee396e3f78accb9eb44124fadc9ff38bbf27c43932642ba622bff2f0eaa91b74f30fba64c223442570ee13d3d4f4df79932b495238ec1131b925cb4465c8e6a331dfbd78d8bbfe3549b5ea566bfd56f25735c6093de94ea8d91b17a577e6139a25ac12c39f4bf6506e2144d99abfb32ec7eec64da641b4f0e9eb7268c1d5f1141f0e12ca967e6c783a8c16f041d5ca1876770b4228ec5cc61b3021c3f06122c0b0329cfa9aba9c335 - -COUNT=15 -L = 2048 -KI = 963f38ff0c0a7c04ced0a19004a933c31eaa821fa6b96fc35ff7212dcf79cdbf -IVlen = 128 -IV = 5c9cec8f237a56179acc988ad6e83964 -FixedInputDataByteLen = 51 -FixedInputData = 07fe14207951c7a9eb31c766c931d8616f97f80872f78467ae00c80f278d52d5d9dfbb48b1868a7db8a2a6379ce2007a0113cb -KO = bff6dd51836ad3ea193ebbdc8a019cb4a6c4b59dc3c39a4203f51243b6e2f1fddeb36deae0210240235061e1a67a2e4c1de2bad802f77c4d11404638ff9e532b03a7504d465ee474e2f0a34fb0fb1f927b827cd771d856351a4c462777a88053f250028ff0c7832cd7f6f5931855f7a362eb771f01091fa8db6e2c59efa9d87c80ba2f33f3484db4b8b3d982645ff9232f7ff538c54a5ea7d3b5632d7cd537e8d53c865fb404db14f10df94c15f45f46ccc350488d91ac2d54797d3e1b6588deacacac804a4a65edf3766c1280aaa258cf72b6c17493749524f818ff91619f9813e484afedac1129193da172788d5304141360c5d5e4da11976707f335baa3e7 - -COUNT=16 -L = 2048 -KI = 3a2ee3a84d03a63aad6153ccbf650d9a24a3bdf3789d8e6b750f0d4835cac972 -IVlen = 128 -IV = df3a7cb5171ee47702aabb54e74331de -FixedInputDataByteLen = 51 -FixedInputData = 9d9ca2371a25d7d4d8e0271b64d42e6f29b49afd60f097575ac63cdd0626815c54cdbb1d5a71b79265fe0bba2b4a0ef3137819 -KO = b8d7df6aa1d0e4cf53bb15dc13e090d9ee9653793c5fcc08ff2fffff39116c771ef90c588c3a7334b128a026ac96a3c9fbd06b3635e02bfb8c06a618ff60ef4c1cb978ccf7f19b96227599c065ffa06ad98e36dac126ba248378cb0e821de7536742bbab83496d95e2cfe4f6c605c2d91c999b996a5f196382db52af8d7b7fdc681c71027cb3613b219ada3626e27466f598d01f7dea287e3169d28e953125f2ec9d272d87dba77bd35b280578deabf6db38236f3a6279a59455e9ee711fde6b64128a8ac1e4c5b0f33d8f675055e983b8552e82247e9f17e0eae15a79bfb8257c1c17fe01f79cc843acdcedbf18f0b56a959b680d6088cb4d402fce30ec81d1 - -COUNT=17 -L = 2048 -KI = c97519a919e39263f75bf65026cc2a65ad7c61d1f54a758943182b2d845a1b4e -IVlen = 128 -IV = 399bcf19a2572382c0ff3eac95124ae2 -FixedInputDataByteLen = 51 -FixedInputData = f101604a09199600207dcfaf55d9f1afa85f965dcbfc629bda71a4ec0d685a1e9a3fa7b88dbbc253af254ddc9fbe8a51392a69 -KO = 5fc944152bbb21a5db14a1bdf4b65b2161b8d2646116cc96d62a2f66aa8552ea600192ed73a50eed116195c1fcf6e56175d9f67ed00969cf04991cbc3d4c510ccfa58b6cd5d064949b0c44ec2bebea3add1112d09ad71f59a81cab758a39956d6c5cee9b31b21eddebdc0b0c009bd390baaf38425a26cac651fc693cdf31a95fb786598ee298ba9d133edb3132e678507cbbb35e88d9ac6b65103d29f616c76a7a29d8aeec2b35f99357bdd9c81844fa4366c7407897c8036a0041b983bc2fdd94ddb4864b45b13cdafea7b5e7d290451799de3cd8026607672f2a313d1fa7cc6fdfd836d2a942bb5bb07a56a26478e5408b1dca269ec1d905ef1ea836832bf8 - -COUNT=18 -L = 2048 -KI = 6e560804b97ae15330f4a15bc8bb73b78e3d1d0b4ed26691dfb976d830fa511c -IVlen = 128 -IV = d974bfd7d33aa65d35c90d872ded5d16 -FixedInputDataByteLen = 51 -FixedInputData = e35f14d9e60e275a8551965c8d562d5d5da91905d180891b08cf199ab5f4a4ea52c3686d9dceb5efe479959c30c83806b9e136 -KO = 08ebd83ae14e149bcb83c7efa8bbc825414fe5d1559aa90fd0699356fdbd6336ba1b64b3b4ac0bb5257084736c02f236e5f87edbacaebd40bfcfa2b8b232cf4014e9b6f294c5688a4d558d901b07e550c1d8ad9c455da78b5a49f4f1e6a8bb2dd102bf7d781a8b61c774719e3b3c56ecd5516b9c1f03a006ec4500e31a3b41c8189988ef02284fdbdd3087b92502a68d44500c9e5415879a23c9f3a41d07c070c04560fde38756dcf4a0d9cd55954d6c56cba956324952ca25035abd891f04f0946e9cfe1912e75bf2ac1f2a290813dcd7b8f5ea42901444c503da299aa99f729c8e477c4a87f73beb6c0ed163299437efcf56ef8c18a9315acc91b4cbf964c0 - -COUNT=19 -L = 2048 -KI = 438fbea9d3f18d73d560c05d8f7dc9fb49f422e21ca9348c3cda35168ee8818a -IVlen = 128 -IV = 3640ceca8a6bebc1f74bf017211e6604 -FixedInputDataByteLen = 51 -FixedInputData = c813c80c4877dc485f4d1090108309de23c83e9ad532ee54e9568a8841ce3f777a390905abb85772bc66ef428ccceaa58326d4 -KO = 24a2077f2da5460881bb6ee036b8197cd5279654ea4cd74f3768a647af0ca2883b8826a15fd8bd8aa7cc79a2500d4632ae3a18cbe6df41202face42afce37899e2e81926c561ecc42839a9e9979a8e6c5bd338a4b2f684f999875a3d23e2747e80e618d58ab8de5e4eb9d304726b56d872084117f5216d7b5887a3c0fda50c51a369b8ededfe0aec3175a6b9a7efab43ecdcaa65485102add91fcc10a7c895222388688f87149485bfd2dec0fead1de1c36a1f0f65008a5c7ebf15479655b526a6214de1edace89de0d749c506e71e13536d6138c63260e92c74fa7b1cc65cc6960f49424634940371fcb2efe15686fd4fc1ade31b4ff7a2f11585988bac67b0 - -COUNT=20 -L = 560 -KI = 4f94ca924482c0b9b2fe9408e6e6ee802ae03e175fbc41c62c366e933874e22d -IVlen = 128 -IV = beafcd691f0985ba10947bb647c7eb68 -FixedInputDataByteLen = 51 -FixedInputData = 9bd0903337628649dcd93e6489ed05980f6a9a917d2ce91bbf73f5eeeeefa7b63d245698859f176bbda0d03adebbbde1cef156 -KO = 926d93681f929de0b9e37fac3839db52e4982b4ed8fd5a3a9ddd750a57574fe65948ebc11d0f47e1ca00b380d69841805e83df2341471c6c48f481497098e48270019887dd1e - -COUNT=21 -L = 560 -KI = 520f82ae504e9c0e401f9f13f9a97dfed4c5e72521211dfe8530b04dc495396f -IVlen = 128 -IV = 2c04b82cb1536846cfc829da06cb9987 -FixedInputDataByteLen = 51 -FixedInputData = 8381801397432e48b35e29a0c7b123b049f1dd42d05647c6f2c85974e55bdf11664d3d052f757ca043c370d7531ecb72c76dda -KO = 366542f2c62d3fe22e0b5c4eeef435155c41bf2b0bb6c5aad848e0252b7af43919529ccb6d13e70e44546eec0c542809482aee0e02f0bc338067f7b8be2722d18fa46a615b64 - -COUNT=22 -L = 560 -KI = caf705235b73e5cac36c7845eaa605822309eed6237d4207b3f926fae1a7cc60 -IVlen = 128 -IV = d90c1fc00b4078098c7f1a17ed6b789e -FixedInputDataByteLen = 51 -FixedInputData = 29dfd9faa47820313d97369d9c206b5763c2db1fd64780ad541f1042f1490801bb7efd1a70e1f06ee23c07735149741d127dcb -KO = 402a00fc7a2ad4bd02862cdfff370bdab63d5dc8871d65e191fab0280f37a0736d0325f290acf9a652ef191f08e2076519b69cb69bfc438c0f845a87d72f735309f1da8a8745 - -COUNT=23 -L = 560 -KI = 7d424d3a9f253eeaa94c74c1760c03925ccd7329702fdd6f6e7215c6e428b7d1 -IVlen = 128 -IV = 08055dc19821b98eba71be5a83ed4b95 -FixedInputDataByteLen = 51 -FixedInputData = e6fc9e0bb48249c0354c868510f4bd2a7084f68e268476c2b08523a485082440ba75ac3b15bfec7236d5cce422fb7fca91df45 -KO = cf47b5d3eba628a7e4873b73079bf3184193857b0490cfaead9e936b444e26a0b64941b3bf88fcfa610459fb8bbbd713a2d70dac2b5cbe80d7059f9e2bbfd75eae41beadd91d - -COUNT=24 -L = 560 -KI = 94800764e90c248b5e2403ea375da7a0fa71d5435d8115a01522f6dadae3d7d6 -IVlen = 128 -IV = 0491f719b1bf3378023a5a7e60b4ed5e -FixedInputDataByteLen = 51 -FixedInputData = 775e2d3024f036e8045eaf5a1f8f1d6ef485e4c411ec2f41dbf20388404095153fdff724713a4790a9f67d608e148bb0309604 -KO = aef1f9ed459f3b05eda854bce87ffed3caa972ac0c4f09a4b11ba6723dcb2dbc7ff57bb4c7f13eb9c11e8066b3f220ee09931fae459f14dd6256c4eb3c5cccc944577fd5c2b6 - -COUNT=25 -L = 560 -KI = 856afc04a057ea98525dbcd023543c5dcde291049a7d7cb7203bb65c91a8fab3 -IVlen = 128 -IV = ee8f52da7138935c1c62ca55a192a30d -FixedInputDataByteLen = 51 -FixedInputData = d4d66f995a6b7b15680c5288c4170ddecb8a3503920590fac902716fce8dcf311b05ae740c6e1f27d57ed05c63575326ab9ba4 -KO = d6298dc126ac5fac8f8055d8c3e66146b2ec4ccda8d5920650108fe1b805c813a7b066f4e2cae0ab24fea8f40cf56788a484dcff9074dbea7ff109e35944d39ea515538385ae - -COUNT=26 -L = 560 -KI = 637ef090e4b30ca27ecf3520540fbe52b285ec78d0d63c3056e487e8d7b9c78a -IVlen = 128 -IV = 6fefee015ef2ae4efbf4d9b0c4a70f9f -FixedInputDataByteLen = 51 -FixedInputData = b4ba778e7fad9fee47acedaa0a0f2569e2529eab4617430cdc9380d1a9cb85260ef3a8ab34855fc117a4a6bece2b00451d4109 -KO = 9bdb8560e3b35a37b35b05bd9d06e65278051ecca69185693fb06783cd607bb8d3fae8a420cc3534c0a4a4759aec39ea4a797087407f23872f1f4ef1f7afae8c2bebf3793307 - -COUNT=27 -L = 560 -KI = cbf5e1d16b264d714bbd9677527de0855ec976423aa362275d701e1d85b202d9 -IVlen = 128 -IV = 6c4da54f6c93ee05deff651c890c937a -FixedInputDataByteLen = 51 -FixedInputData = bb4308e268d6564217e3cb8c96e4dd3d921341e8b86eb1c176806b2ba412da5704810fc5566ef7cc2446cbfb338e4cf9ee8355 -KO = c96d083fc0d0e73df55b57d004f2fbd99139401b02fde94a69d664e8226474a7b8d02748bc1d11d6ca275c36f1c89630a34bc292928c0dbcadbb010145a08f00c2c39cb1a133 - -COUNT=28 -L = 560 -KI = d3ca34f540faef6fab185bc734307d6ec3945aa8ab4bcddd524533c349a56642 -IVlen = 128 -IV = 4e37c9e64cd5bbad996dfa3334ed6688 -FixedInputDataByteLen = 51 -FixedInputData = 751777e303ccdfcc854ecc8a79c352fcd911e3077522856d71b4270050cd4fa04fc763e52876434466141cb5b4437330a0e75d -KO = 3329602cc25c67130c5cb4fb54763518bc8c5035573d5abf3a04fb7670a0c22aa87f3ffe7814212075ec9ed868a8cd820f2dba97d2f926278021da0000f5c70e5df108f79216 - -COUNT=29 -L = 560 -KI = 9c255cc4e6ebc83520c9303a6f51adbe735f953a6617e0d333c4349233f55281 -IVlen = 128 -IV = a32fe34b24334bc13f48f942e9f9d0ca -FixedInputDataByteLen = 51 -FixedInputData = 418838f0d48fce258088831b6ae60c3ae925fbf9e82e42a437837fac8f7235f346f637fc4ece8f6e0a87780fea7b4bda91078e -KO = 26ed474c50b24d2483b4ad005e8beece9532d79f3d4d28c00d8a2fd5cacbb18da2ef93274b53ec802356cc53fcccfa8fb48be65770b37f29485fec3f8dbe4506b36b1031b3cc - -COUNT=30 -L = 2400 -KI = e222f41888d00ce100495e99b187468319b209637e0e12c276102713d70b753b -IVlen = 128 -IV = 4155b652103c268748066221308440a9 -FixedInputDataByteLen = 51 -FixedInputData = 9310f201a1c6ebe42c1a1bf035bfa0936a91a5d00af382240e799010a805b87f2a94db52dd4e1ff4e7d7fac613c5ca91fee623 -KO = c50f855d633c1b800a86967baecec284816c056403b0b3eb9c8b62404672d34a4df68c40a22e4fc7bb473922de7ab63771e422de9493d487865720b7be4287e3bb1c1e352d378dfaa3bc45ed6322917ee46cb9b8f27b39ba42999a92fd3a0ba56cb76ff4c6b8a4ee64edc6f4f222d3af6f1d15db860b45badd738604ef7d5c23efd9e2d10fe17015561c80dd1588f15f2c41ebc78c6054e68bf60c22a63914be2e965248fdc3596cd5b8a40e91e7078ba7b2b819948e03e024827bcf4b5322a36af006525ed0ac7ba66d739ea8adb06941d46e5f632578a6467209f33aead0639c83975d682477b00261c602313e26742e2f750cb2e45a4fe1f4c97ae3084bd003b98d0cbe407009ae6e97de5d7e08dc2ce3a54b404e54dd2a97c17e0c6506b2875f5c649a97092c4604aa10 - -COUNT=31 -L = 2400 -KI = fc2a560e81aed119baaceedaa0e899160ded91b494f42422f369cd0dcbab0c00 -IVlen = 128 -IV = a68b519853d3812c8557b6708f70c35b -FixedInputDataByteLen = 51 -FixedInputData = 662990f6fb3d78fd4671e0d0244967999fd28f8ee197108daad738deda3e5a69c30c78edb0d1373cbfdf42bf2f84228b4f36b7 -KO = 1ae731d99357b79b0988a062ad0e51f19e459ba74d9ee7ead94a30dd88267752668404a8a7e7fc957886c1d68837e725c50f36eee673790642b85a8cf1be32d4ee8eaf52d6cb3ef842292a8295977b4ccf75056a468d7fd55266a31edc62f935fbf330591c64cdc5605e84c7b2ec2bcc48ba86b4cbb9fc024b6d84020bb959a8d864164e87d5fa8dfe8b5bf51a5f786772f51fdef9d7bc0e5a943cb8fbc456011f2b0d32ee75ef15a267b6d1016fa2d91e8d6de4e69a2752670274f53997a80b0817b56b8718de6168ac39ba05d0f04f26b704b600aa46ff6a6399c468ca774f444aedc33aafb2018584aa52756c67f1aea638206a8ee66778fb38a3315701be134adf7959944a8e70828a1227759cdb79a8785ae99b54a3e74a6cb2f318275190a8bd5a28c2f4aa93162641 - -COUNT=32 -L = 2400 -KI = 80a37bc518841b3a9e2c5d33702eed7ab72065222c309630768b0f28971c9e6d -IVlen = 128 -IV = b816d97f190ea14610e874c882eb0ba0 -FixedInputDataByteLen = 51 -FixedInputData = 6f76786039a496dd04bca0971f988e5b136f86277acba9501c630b85b6fe391f52fd3f5c4fd474248501448957615fd92ce0f9 -KO = b77322841381a5a6932cf980c7bde9c8d865414fc3cc82d848d3cdb9d25f49a5ab5cd0faefb7392b6f6c9ffcabaf9d165d8479bf6f7f69dcb4e1be218b966d0d85653d8720a1258ebcb3dd81a4722bdece642d7051106f1eeece78dec5bc1e97d327dd24b6f9133edd28696adc39992a0b9a1adcfbd403cd8d81b6249647a0dd98c940e5dfdf0abfa0dae4a4d2333aeec39d0612354be8736fa9467d68c8916df5c3c204db56625f70753e12733d06480ed3ae6b57d39332f31fbec0d89b042918d77ac6cec0906c0dc4a50b632bc0ac443bed696d59d97842683070c6717c2c4e8ae6b7614f31e165a379fc5f950ebb2d1a2e9967f44624401f0da39b6bb2c601747109f7eaf6ec440a9a67c47a98046c876c22635993c2cbd8e3e98ed12ec155fe20497b515b79abfffef2 - -COUNT=33 -L = 2400 -KI = 2c945be55181c48f9a0857d4b0b2dc283a04d2da4e85f3fccc5584605d4d60c3 -IVlen = 128 -IV = edbbb95477a45807a45480eded1ed142 -FixedInputDataByteLen = 51 -FixedInputData = 6017d3cb971155f189ddd0f61d447a8765e2480e6aaa59f3f6a2ee7ecbd9697ffa0d8ade520f8ed8eb22fdeee18d6827c78165 -KO = 9201031049e4adda4e61cb90e36053be351953e48e1265c2e366348a1e02a95541e523469bd436331d246730c0f00a2c41f3c694b57856242ec62e988cfdb0b7ddbe614ded59a69717950c9f8436442af8f1164a8e0622e95d7677cc43d5dd28b19b5e64fba5cc38c2fed19e78b1d5e6a2990093ddb6c265d632cbc78b6996cbdd34cbc41f94c2744c8dd93c6ae4a7ee4d97505e1513b5061072edb32b098c7753e382f7c25ee357835e85ae8fe833ea6b22ce9e9571e3a863239c0e247a774ca3a36224142d2f7c4321b026d2701f074289a471e7b23ff14598b55b18a2a5fdbce81f607c19e380f17161013c3d0f88d9fb2ea93f03a0e4322934a2f2f634962117b8d0d39c133c06d8bb0dae3bf7eb27e478efc63b6d607769cd59401d52505b3c958885fdbcbd3ec960f0 - -COUNT=34 -L = 2400 -KI = 176c6f14e0c91dcb72828ce285acc6e0e1ebdab7a64c383d52cc94e67f347e41 -IVlen = 128 -IV = 4c1a8aaf0e457063b65fb0cb25992fcc -FixedInputDataByteLen = 51 -FixedInputData = 58260a6a5a50807ed7c90a2fcb58a94d98765615f846651e132bd058d380b5d4c6912c60141e7bfae00a119020a452961baeaf -KO = 59ede1b5ca1315a704ea476f90e197b857f96a2a5b3d41f19b969640f21806885f9382b58e6d4be37d922073aebca5300bc5df82ee7438317bef63661b3e9d40420e142c8965b4adb3fb26635cbdcf082c82418988c4049798d6a9be9e985f40c642b1e8fec35d5049a4e617c284a4e5074e6043c42362f428fa74134d58ac89e67fdefff26a3f1c4577af04e10cc46e710d7d348ebae9835f6da569c0f58f64f43415969a287e4d139ef6e3b386d319c6d1f23dac34b75de760647068fe20ed3bec41e969e49fdfda67785b004597fac2a7a7ade9142ed7cea40101acb70013b82abc34ba8febd02dc7e0b31e9a319d9470591b6a36c20aa1943242d51692d639089840de36526128440a38dbdebf0a796acb4a8081fe6d2d8df85abfdfecddc8d5f71d3677a46f51f97658 - -COUNT=35 -L = 2400 -KI = 9550c3a931af605bbe44b35e794fb504a9ad2290640dc18a2fdce5c2ca4c7d41 -IVlen = 128 -IV = f1063f0074a02da08cef8476ad63cc90 -FixedInputDataByteLen = 51 -FixedInputData = 4f5c38c43834ad8c61e23fd40d8fce1d1f494d746499179975849450cf2a8c8b0942fd2894c8f2c78ce5081671ef6237bb715f -KO = 244bf0fe8f48096066f8fddb0be94c071c9e1165586fecd447397b2e29b1c33982a13dc6470f09d6606702c8efa80ab780d7cdcbdf4a0a4585b50295c53e198daed91ca868e810371368c9bf1434e68714fe4fd009b600f8bacd2ad068420b39788b65e2b32ea024c74153c74f73b9bcd2f73899da5d36fc7d070c7b278f01549e12dbac02fca0c4302d490dc4d8058539b8fb12e35f93dc3c7eac8161709dd4013629e154d1f779cf9a7b76c6e826ec3e4170fac19299d3b81b7a0585894d938a4b34001e9d69dc1dfb752235c0b9b357afc8eb18ff027adfccd62df324867910ab2a1bf5e59f5e497990dabaa1dfdb58d2775e16bbe5f1aae64a9e64d0b4c553419f5547bd06b733a5d58e018a6efbb7ddbad0f2166b85023532b24a890b7df7790d11ea983762c1016a13 - -COUNT=36 -L = 2400 -KI = 71832a1d381b7419019e1f181afb292d83c1142ccba9950fa86cc5031cc52110 -IVlen = 128 -IV = 7a6dfc091dfa27e06d6f9060b196787b -FixedInputDataByteLen = 51 -FixedInputData = aa37a1597e177a0ff8343133a5d139a35e3ee7efc7590c2ee521f9bea1b57d550648d85c0e5f8862f94b820ddc8563b07d45cf -KO = a14dbd67534116ef6ac68fa38c5c88943080a4d342648cb437404f9da19b7f174d5ae4c6b1e9835d9c0e33886c978802363cb1b9b1e4ddb5761c7dea0b9b2a5581b9f6af119bca329bef5f69f2a1f16b3d918cf135eb9ebf4d56e6a2c96bc05322d7b12cc51d90b41c04359059b3db7c8a28cae4aa5a9a14a85a5efea31a992ac9eb51e72ebe17b37816d9328c1a0951cc6e160c603aecede898f7da984a0f7c30add67d68db32d06c555080f854bcbd42ae49825cf4251adbcdab4b4e295099b203868ab9947f7f20bc1540fba69eb3ccb966f7b53f0b6bad2c300fa7011a4f2506031cc4a417c6d7548b64ae21597062730286713a8bc763b867ba31def05ef70a3657d8e42ebcc570f34ce6552ddd0d58237ac0f367613120d78fb4e4a601c135c9f38257e03fcc179a0c - -COUNT=37 -L = 2400 -KI = 96a424430df0784e26391841cc9b30b2cdad4cc4d6050bc8008117b6c9aa8a35 -IVlen = 128 -IV = 4871141b97944119acd4adbfd4c9d932 -FixedInputDataByteLen = 51 -FixedInputData = 2de7cb5ff643b9e26b2772356ed520b91efe5bb5db933ac3c833dfa39385f2c0061b55fc3df8a73a6cffa7be2cf2e75e9479a7 -KO = 0ff4917503d5e4a25425d93e9a4db30e605ec5b1919cf9d9ceb603ff7b46abc0d4b3677a40d44c42dfbafd451e75f8da471d4e1f967498ca4684029c98f811afd84ece134bffd1c744d9359a17d762e66c6b32d0b0c44e1944410de8e2c4b713c7963c2d18f9594b093bc69834cc332c1db840168ac6a9889ebddcc89e8394dd579ecfeaa57d76f810f645119cb24ca6f59a55788ac531cf0d7c3da10cdf35acbc629569f8b9dcd929bf4932328b38809f250eabe6957bca4a474c2c803459d8d4633cd0a1a3e386e0f25e3ae6469e09d2e0e722f2f99b89ae53d2e76eb48e547ffb6a8258135d3a88bb6b29d47906dee7932fa3380f3fb8ec767a46e9bcff24f239d1535c0b0c2691478a72fe85901441408062dfd4fce4075ee110d4584ab6a14fe0815c19507145eef291 - -COUNT=38 -L = 2400 -KI = 076f7f866a0623a94d0f320bfe4ba0c9ab9a9b937d163fb777e5f15e72fcd472 -IVlen = 128 -IV = 6668e18db98fcf3d880f5066427efffa -FixedInputDataByteLen = 51 -FixedInputData = 71b6d0417e110200b4047917d41ed023ae0e03e24d6e9dd51b3a2b52b00fa69ba6f90fe3b777557a26d4c50e0419d128834be6 -KO = 4f9486ba77a9dbc10a58b2e739411a87888ae9aa59a57f7f273dd44d53b0251d7f2e8a2a9eca92d8585fbd4054efb53eaac545614a8eea103b93a70c727ae09c231e1122d58fe0905a811dc7f2768635a759854ae33a4c4132b48814c478d815347451664cf696a3d0c71feb1f9bd86950a4827ef7b175a6229262493a29419b00ed075525486d0411acff06bf66fa4a89901a677d45ab556e07922461929e69e25c4780086a0215616401f6f9c617b4b15ef263d5b19257a5e430994202fd9d6b514c3fd24da5b2e0bf558b9705a65b9f077b4bb67213925012befcf05a98c355fe4979a63d4eeac1250c71f05ab286f275ff69d95ac244e47334dc694c715b71d2675fb7a3e97394a16a139e018dce774a96f39f7ebbf3b4ffeab3ada51d61febe17be3073d949ddde55c1 - -COUNT=39 -L = 2400 -KI = a7754b24aa2ffb582b5f79cb6a3943a99cb55e277dfaa969af70902e4fea0461 -IVlen = 128 -IV = 697ffe8accb2d6ad21cd337c44dd429e -FixedInputDataByteLen = 51 -FixedInputData = c98a8b7bff280374b8515ad18173ff37834acd028cc2723a4bc67ea11935ee4162c7834b8e8dcb668d613cb776b90195e5c5ca -KO = 42979829e5b7feff2e5e1c59d85ca4c48f06accaf1936ddabaab46b303949233e7b6f541ddb3ee8ee11f1fe19cc47d6a57cad15a5229705c960242feff3c3e2124d79aea7a2ccb3bb7f47adaa46ae0db48252b151208c7fb63092e7dd5a0c6db6d55e67b672ea4a7a2edafcd22937281b0dec4a40a39a8129bdf3024752a4331d0063fb9597ed74fcc6348acebbf2720551ff28e46f86a18fbfccf7027801a7467ed5aaedc6f3cc87b245f36656c0ee6f61d3d7e211f79987f0d8c10e88c37db85776c038032d9b21ffff55c6431106d5ca345868b7deed958573ec5fc6c321a1561aa570cfbe27ff20dce436138af928026f6dc3756e79041816e43c865b710d9f6a9988f2e0b5210fc16a34fcf457c16a84d756394d2558ca0c6590deeadcc5d424341782ea151335b7e07 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 5ef3fdd6fcba3f8674815d636c10fff127acfca6f835981507e5c69c408e0e35 -IVlen = 128 -IV = b4f7c5fe7b4f4865ceb057158a85b9d3 -FixedInputDataByteLen = 51 -FixedInputData = f41426785291a8767241918562acf934dbefa6c179d0a465ead2ce15a4619f7b89e5a75ccaed9d9ed5f184369a70b1d3e65c35 -KO = 6422c15f8fe7b8396cf4517479fba8b99659569718fd257b95375e296ec6cdd1b0bfc4e0fae1bf4af9fd174ddb548ec114f44787067094dd0bfb14f072d188b5 - -COUNT=1 -L = 512 -KI = 379c9f93412c83146778674a1aa481bba4483f130f11be1eb4d54cba72a09c59 -IVlen = 128 -IV = 89cb90de3c2e82e0a26d1326b3592559 -FixedInputDataByteLen = 51 -FixedInputData = 08fdb8e4614c61d00f279172f15c6be4e78fcfd44db2088fba32bb74845ddf9814570469b415026104ab11e695ede51a3e8a84 -KO = fe38a9253351a382b0cfdb992efcb84e32b4afe8d011426faabcd59a1f4eeaf9dd5b8934b5725a1b1d0e114cc9edad6fc27ecd52e11d2bd9f943e2b27a6b5cfe - -COUNT=2 -L = 512 -KI = 72d7f0c5e8d602070906ffa7476165840e5af52ec387ec2cb4614db8a5d16af2 -IVlen = 128 -IV = d27c5506dd7cef8995aa535e01567ec4 -FixedInputDataByteLen = 51 -FixedInputData = aff2e628d4812d777b2f50d5c5397eb856b747130de396a5c44ba0c978c5e247684491321f11de90230aa9f17871ffbd03c25e -KO = f327b3b8ecdac60a4f851890275c8afb06a8d86f182df80941f47fd41666b02867c4be6187da3acfcbeb6589722e0bf1c56ef2be6943810719ca4e60d5894c50 - -COUNT=3 -L = 512 -KI = 85d7f8636095ddda8a7056f626fa75f327e67f2ba2a7e32a0b5251190dd890d5 -IVlen = 128 -IV = d12c9e0c5eb5196e9f732f5494f144a8 -FixedInputDataByteLen = 51 -FixedInputData = f67c34c81f17037577e42344abd593a85036d5a861f43bb6772ef04431ad219748cec7c82e49c97f3970d9a47176fd6db71912 -KO = 4687a1782381f52de971f5695307f073d1bf78139a20af9acd2441b3fc7743ea490e8061f28c31796d489e50edafa8663cbacf89acacdf2ed21819ee1fa1e116 - -COUNT=4 -L = 512 -KI = 359a54080d6b6bb365952fa4fa00ad8858c6aeb541e620b3f105700e7c0b4c1a -IVlen = 128 -IV = 11d778fcc1435060833c2fedf5e0cdee -FixedInputDataByteLen = 51 -FixedInputData = 97121bb187893a5a7734c0b6937e015d7977821e9f952098cc0976cfae158875c08e9ef400cb06308c0cf9f0dfd975b09622df -KO = 93254eb6d37c653906f22ff30a71577594eab4891a43705fb33023e58ba0a7192094efd0bebb0e15492a4b3d4bd8e542ca082d3835589b7177c9f28f09cc2f09 - -COUNT=5 -L = 512 -KI = b2cb717b693a0b1dfa6876efad1882315b02de812088b316c1d94f5f39c1b754 -IVlen = 128 -IV = af7d8c508c79f8a951b4b4d0e83be5c3 -FixedInputDataByteLen = 51 -FixedInputData = 353182908eea74d2010c6f22a7e6c70ff57ad1efc4710dd54725e44cfd5b6e2765fbde7f0d7fa3ae9c3a5445612eed3cd71990 -KO = 7e4472ac4534d090d1613e9a0fa2883dee678b322e0534647b5f80f74e5008f0f4da353529c6d9f3a171bcf9d1f2582b2871f1ab112f79bd5eb8d837e9d6418e - -COUNT=6 -L = 512 -KI = 65e291622ea84aa891e92d11ad2ffdf7081d43b6be6b3c7de2268992bd0814f7 -IVlen = 128 -IV = 69055161dd1d59332ac28622d355eb69 -FixedInputDataByteLen = 51 -FixedInputData = 096c4b6096b20573acedf58483c3de985747f606d6f61510dc74200e7065fafe543f8fbb284875bf37456672cdb374601e024a -KO = b2b019317abe6a91e1bee41ac1664ec8fade55162f5c21f08471175a9e33ed6b44aa1d6ea807dbd87320b8e56857fc28535be30c213adf607f7463239ea0b684 - -COUNT=7 -L = 512 -KI = 7b8ec457f9ff6ca366a57d95adbd7803b44b57b9454328e2a8b577d704aaaead -IVlen = 128 -IV = 292d77643ac5244db2d7af48969086e8 -FixedInputDataByteLen = 51 -FixedInputData = fc3afd301468aa53f4315e6d50f1416e780723fa3cb3093d34171edbbc47d50c1cb9430d2d5fff127362ea22a0ef657fe42735 -KO = c11cb4a250da6f0f9f6492f14f338a87f2d53fafc590eea2e529c5c10b9bbdf3a163bdadcab94f049bb9d6ed83bcc6d01f9cbc445d0fdddfee514e392165ae81 - -COUNT=8 -L = 512 -KI = 910e358427199cc35875b5f5eda7ddfc3fa75704b57446cab5057629eaceb0e3 -IVlen = 128 -IV = 71fa150b557ac9af83014fa268d55f98 -FixedInputDataByteLen = 51 -FixedInputData = 509cdfdac576e8765da9993754a76e8a39f768ad610d50cfd5987b28e3eb21c4af1d7999ba91a20772a3041616296669b8ed69 -KO = 2b84bbf554b567c77f85ad7f0384d279f6369b5f850d99e623b38ce7422de34227147ca102beb8617c87e089efd1b6ce5208c27b444c20720d3533c830e81706 - -COUNT=9 -L = 512 -KI = ac7602647a4ba59006ab11dd72e4babb06152d21657fa6d5f4c517f63382dca8 -IVlen = 128 -IV = 8bc10745e1aa447971b8fd891cc2e23b -FixedInputDataByteLen = 51 -FixedInputData = 28f4d8d224934c0fe1a517508baf9cba1a59f9f7ef96124138855d5f8b09e06c8cc751197482e792cbd3254493db143fd2cf3e -KO = 468a0f996d75976d753a4a38203bf22bcb5249769c247688f8fb7c8354d09826f143b2eb90cb78d346d660362a77cb2c1e33b16c3a560dadf897327af83255c9 - -COUNT=10 -L = 2048 -KI = 8a114c2ada900d76786797cb334898bbe69a7228fe4fbe94cd0236c39369de12 -IVlen = 128 -IV = d12c26bb9939128f0591397d728b0206 -FixedInputDataByteLen = 51 -FixedInputData = 7ace76e45aff7c1fd74600840ebf3a0448bdbef69cc17634e044ea8ce8f7c8b2f76fc1f9ab2914951596d613e0121dfeedad51 -KO = acf47014c9bdeee93c1882d7270ae2efcaace36c8fc459269b7a03683a85beedb5864d10bdf5f928e4575871b7fa63be6117544c8a970ffc0e65e66593699a502e347ab83b3f060ac53b576fdb9bc083e46707c596ddddc35a4a4e66675da5e7fcd142997466f30828cda75addf605a75236fce29e87eb41be6b9184940f6318f057130a00e119fc01bc9c664cbfc8593055b821ff89154276946434311a547bc72287c1407e6c2fbb23f65b4f0b5c4f25e6b9b47cf4e4ef5d54436abd2b4944883f8d6ffea8916015d34dc7f169a84f73d8df4ba6af19f73931e3be6403b3082dc8038e92e7f8bca70db0cd8aef45bba95e2aa26b12de870eaafc5610d22b6e - -COUNT=11 -L = 2048 -KI = bbfde26633f23806ee1f1dd691fd2c6750c553a870029a6b03f30214dc657841 -IVlen = 128 -IV = 656269a575c8d15d1aaf6947f77a2764 -FixedInputDataByteLen = 51 -FixedInputData = bd887171fbd62bc2833a1cfcd7517adee1e939e4dfe093bd23f855f808efca1d493c23faf3fb120fb43a7e517ed51119892aa8 -KO = 935317d533b1e6c2faa5f2b608d87c727d223c64935998f09503002d8dfab131499038dee0681106f11c1edf62edfbecfac9318a7211a178c05ad710f7ea994b94660faa608f692498f098a83782ccb71d8d6cb4699fa4766fbe886d5215d621d6affd47407fd9b595f5ae081a9d2750b2c36792ae24acc85a76094d28a14e6542e86a42a67533c78d91c175fa4cd7c9399735d8171e5a95d8f77f3478607c23fa71303037e3f3c4b740f2d596ce30e38f7657d09bf0397f3c7947c9fa4eb207361af260295cd982f3308cef1a4e9e3c9f91093dcccaa94765d6c1d22c7647af4b55cb72156bae08b406dd7d697ef341ec0dc40b58356911d7e63f0985b0b4b6 - -COUNT=12 -L = 2048 -KI = cb7cea325b127d8275f15ce165249940efda5108a400bb9e84307dc436ce20e5 -IVlen = 128 -IV = a2c678051ba08c5da11297f3a772660f -FixedInputDataByteLen = 51 -FixedInputData = 2310a449741b67797c66add52981810dbcaad914f7a339fd8f0cfb5cae3a76ffcb926bae23d05af53ebf77db93931d0565641c -KO = 0ab531a7168a6975ac15ba97606260201c31b149ab995ab9973f123927ab93ccfd6fa536eccafff80fe27adf88fc882896e78ed77df825554ffb45dee9122474cd08fda9b9deaa768c17055b96215acfc7e915d7983d9f57ee51ea05b0d9dcaf5d7ac8026c496a77ec57b3b598de96ccec631e064889a9684f7a47d0cdc460d5fcbd03b067595d3e28edf3a65689f46a03a8966cc4436efedf53414a73cb428d990de3be45b032422cffb974dd428c3a245646b52c3f097e05132601aa20b8a8cd3cc3c833377507e393d6f1a3566b9268168730bd2ad46ab0544012261a3fe9dc59ab16c927322bc5b805ddc6904948a87a00bcb6ddf4f82fa69310ae8134ae - -COUNT=13 -L = 2048 -KI = c5f668afa6721ecc48aa0eaf91a571445d20dd76063db616dff349dd69e3a9ff -IVlen = 128 -IV = 59f7e49c93536ea9c057ea76b01822da -FixedInputDataByteLen = 51 -FixedInputData = e40c588e91539c0fe90980d86d11b08c23879f580e0ae7b46c61c6857dfcea459a7cfe83057814e6e966c9ff434c0b6390356a -KO = fa7c37f946508fdecdaf0118bd10b72cdaa30a9a300436f5a8352ec1ec7ef17a3ce03baadcbcc5e3639d777c7e445cce025e9e3659d24787ce609e86c744846ce538ab218e5c9fbe54f6ca11219406c25f6cf9fd5337c9a7e53f069e0786fc0b447e929be6d88c89dbc6e33aaa0b8c0d15e238a140ef7430a83b487b98053df59fa012c50ec75d18f977287725aa18681dd09079683329f9d87404a9c9016972eb3345b0f00bef848afb6755472e1689cecae439398a04fa6622ccfb972a3f8074ee92d96cde1211e732828f5f7d08ca615105543ff2b3e3fe87ae61aac63400a3ffd6c6e63bd858a2e4e6591e41ce967e6a603064fbe1d63abd79c6688b117e - -COUNT=14 -L = 2048 -KI = 3030a960490528b4d32447c4778f8c288563c711770c67032f15c1ede93c1958 -IVlen = 128 -IV = e043808ca8c3e0c85bf3d6543384baa7 -FixedInputDataByteLen = 51 -FixedInputData = c1743d311de290dc6f1a39c1d1a63efa060945bba4f021bb5039f4678a74ccbf6c1aa1988acb3019e9dc68c46fe020436ba507 -KO = 231c2fc66241891de02f79e62f5efc42c49eb4a22c5ec307ee9a5dd4f4b4b45e987c20a7820a18ce58208221afbb8a9382a50868e6e25cb54d453f4227f6243bba7e623add3c36424c88640399444a77583f8ea2957de6b10ea8d69bc308f71afa15f7f6f963e62817421ab052c61aea0938b07842dc7369fa713e0dc546d21ed328cf99cb3ca0fcdbc57227a45a8cd1716803d972b15b9df582a3f7246da9526e27f51daeb56613e558df716ffc343e935af1a4eceb95ffb62a84caca9a57f6f2d86fa7370cad11e30138877815afd4109f01130741c7cf75951330fe4fe9b84f1c13094f8c0fc846687040e435d7a894730cfd0a66942a6b999171075e258b - -COUNT=15 -L = 2048 -KI = b1a259c59c3cd1180042280111fc09cd089c079f5e56aed7cf81a688aa27c659 -IVlen = 128 -IV = dd7256a695ea0b96ee5a14a1fd671592 -FixedInputDataByteLen = 51 -FixedInputData = 85ef78e24e4cdb6ad73fe34573791d6196364a01c289d39e23c2767128fc8c435a060ed82cbcb3f09ca892c84b513a533288c2 -KO = 26f61956a85e3bf9436b63bbb134409dfa02c2f28f4f2a2b456601d65116c9b045e61b43b470e2a81dc3290796f18b435ad70458bb9f7c3542cb3f7d2547a99c9ccf63cd3be0dbf85ab0507d49b60071555b689e767ffe21d141e1f1db5238728e9542c62abf7d7f2a3b5518b663ec8222fd164478c239ba763074c0b27816e87c1201e0416bc5c0c769bf7bcb3b28773a039069b81026473cfba79d6e103ba9e3f6e325f01255f89f67811a286f28f35851755bc5b6c102f596ec5fa6faf9bb62fdab9201873b8056b35f6d88d7af6b022727736e7023ba5212fd07d0fb3f8b309f159a436613d256d239e8607f30020d023912375cb8a5f17bc8740455ca5a - -COUNT=16 -L = 2048 -KI = a0c831c6984780fffacfdffee24e796bccf7ffe3315a3afcf7651853034d3d67 -IVlen = 128 -IV = a25b32b3bbb1051971e19512dd0dd714 -FixedInputDataByteLen = 51 -FixedInputData = 2ed8f2dabcd09442b5d12db072eceaad86135d4d7cb20a357a83b960047a29e46d9c0fd4326856f559a30b81bf9c70b55f3013 -KO = 5035933649a6abf2268a9ce2b6c52b4bf50b773092fe31c306d92e936f5d0f50d1541d954f8c943e04c9513597789a6ba4a631351d4daac3d14ae80625e9990bf6fd0381074c9681df550969d75dbdda9838443e55189e8fe03684531ce44f0155826ae5d3ca3181e39fda6d30abeb95a8c6df4760beae17ecf11e3050e7f5cca8fafb47f65815e70449bf626444018e3ee6bec94ca8ae325225b66867a138c7c58ebecfcebcd3df3df959a650a7307f67596fc273b5da60c5fbdb6d0089df8905e21b4e025e097bae80792af77ceba33a178bf26ab932ad5a2b9341787d1bcc97835c1657ba87486afeed0b8d3ea7428032cd50ff78eb5f330efb612358a744 - -COUNT=17 -L = 2048 -KI = 79fe789b7a90a09cd9e4d5b532d0350c946dfa18a4a95910e97c1fd5cf86e305 -IVlen = 128 -IV = 1688e19f1cc6fa6fb0e1ac4c6c99f360 -FixedInputDataByteLen = 51 -FixedInputData = 305dd7f836cb074ce076ed7c3cff899f19b94e958aa46b59979410fb2972208683506e396091680d75ff46e07eb5f494a976c3 -KO = 91605ad55c89b504ab610a71511d5bfcd73f41c2681669bd7c36614fa7877d8f3d6000a028cc5280f5416d0c1a850787335c8d03caba98f3cfd026a01fe42f25f4816d555579c429024e97b79c3c8fad343eff5608598028d03b090ae88c7d4f19fdbc1df9faff804602a0dc8455ae77d05a0b6910777c165892e2bb822ce50875179304ca3e8ece6e0176501d2b49526b6a7d69d0d7ee2ce52ee4c1800e58034dd1902f8c4d63bf7fc44bbfbd228141e3cc84f2a27a83e72b6d233cd6353677ed890560cf7c0dc288560ecf59e9abf5582cb8bd45aa1321b35c7d909e0dc029bc1a4b91432e2b73c95519b4190e564721c77b83d46bab716a073cf19eb32d77 - -COUNT=18 -L = 2048 -KI = 72ff8663508c398e9943e3ae181efb3a16091a1dc3d0b1c0cbc67d26ed97d6b5 -IVlen = 128 -IV = 5faa4c00109cb3db36b233c1ac07ad5c -FixedInputDataByteLen = 51 -FixedInputData = 3be514e38344093ff60bccf3725282bcf9cf4453d2032fe7b5fd06c501ca13765757f5a664407e4df3b32388ad1ab8a16f71b6 -KO = edb3b20e5424af2e159e0de19150ee70c911df3a6f70f03f0aa31b8623eeca4de344b2f1af82d49db97fbd405c0bf172eedc5ddcaec4300187381c742260353fe94560cca94d388ae890c193a255d4aec7cd684515deb780ef13f06ad13a702fa89db93ee84155b36a537a842b13b2176f9d86feb796f3c9944cc61fc213ad639a6d0465cd5b3f683ea550e74a615630e6510b53b51918bcb24dda49e1e92d318c2f628044c3afb7dd960063168912ee8ef3ee7660c75be2aa77d1e9b99d9f01f7534e808d50463d95cced71acc1ca9163cfa9322ca68cb1bc5c32183632da19a3be117ccf18c0a6fa90ce38651b8d968128e263f7ffbbac96f3ab9eef69c247 - -COUNT=19 -L = 2048 -KI = 95b4b818ec3d112e2f21d5064f4043ba7b128f1f3aefe162a0390d2079695161 -IVlen = 128 -IV = 89fb40a7fe90965492b3ad5da9c70095 -FixedInputDataByteLen = 51 -FixedInputData = 75c7b273b07489f92a4fb693066b73e0ca7274e9d52fad5e8c38cb535d93610a88aafb6ae2f75283ff599744002b4b8f9442cd -KO = a4edbe6b7ef970102c7c3479ee09faed7791739629f976ba067e8c949b2b11203252f6dca270a1d6d8ae2ea0911f0fdee6f2de1bd5afcf4b837967a8fd0cd148322eb33e457c42a514e7ea125789d3281c3bc6795ea067b8f56046801244cb9250665ed8a4d931bc7b54fa8739d5d2f949ccba66c318ca51e550df89643604eb7fbd2b705d9e5b11e68d39a9f32635d04ce5af1ba91956cfcaca78a2824ac9328980abfc4ac538b4792e36bb9a56f12367a96e28775a42d0fcf24aba57e1fabe1643abfd4e5725154b67ae93362a00ff3240626b64c5659bc985f2aa694d48daadc1cde1a99a7707b0b54e06b9d6c90e7ef5c0c0a667b28b4ee49b8cedb2169f - -COUNT=20 -L = 560 -KI = 99b3ad17e8c765386a62dbce28f1fd8c24074e1901104590c64725ced0b6730d -IVlen = 128 -IV = 26fdcc975b01b21bbf26e86f24de6639 -FixedInputDataByteLen = 51 -FixedInputData = 570db908d2601224e75f956d1fcdfc1480a7375bb168745545417db3b03606d17774a7ec04c659624a00ef018aea06ab7d90b3 -KO = 79d99e06c3d657ebe3c8555f07c98b0009e12502d4b5ffeda0d60cd62a45119a99050a3a241b50c4dbc7c8a64ed03811d260c70e4cf70f74e9c6cc8f111da2a487d1224bf8f5 - -COUNT=21 -L = 560 -KI = a982f197131497776fe623326c1d3b5896891fd9814e374fbf02441a246b7b20 -IVlen = 128 -IV = 1ad8ef02ae24658b0825ce78fcf0fa68 -FixedInputDataByteLen = 51 -FixedInputData = 6a4882a463b1169c5fe7305343c2dfafa85b8d334b9fe8dc59b7d64666b9dd5af1d90f18982db21637e59dda322fcdef1fc806 -KO = db55fb4ec2abb49a6b5fec8c51286677f7e4fea419939c5a260308dfb9627b80c85bb7cbe9140b259891acdd25b59f24e422a0bab11c355a90281e919a35056155a7f91d1a30 - -COUNT=22 -L = 560 -KI = 93ebdc2723e7236bcdf68aa62fd2985a0545b861b514b1e9ebef42d4f26e6fea -IVlen = 128 -IV = b093fa417b6e6c71e0b419fdf3ef96df -FixedInputDataByteLen = 51 -FixedInputData = 0a3d5b0b9ee01e217f6b3bf936857bb288e6b1224ff5bf79bb3049f1f3eac28d555b8e52b55d87a9a95cf15989f6b28978f95e -KO = 1d0517b6c83e15f0dc5096e1eecf751ea9382210fa2d527439b5c51bcb8f0d2e67f368b14d4163ee03eac4370ed63239903747936534f9b09eb8ab3335d538b2cc069942f589 - -COUNT=23 -L = 560 -KI = a588b1e55f13a47fc80d29bab49e21d3de6f739a67095fe350a890a8a1c5ea6b -IVlen = 128 -IV = 3872af98194653fcc4f2d6f143ba5f2d -FixedInputDataByteLen = 51 -FixedInputData = 02c4425ade8019c1f5ef84054c0967f5a5d756d62a059b0b92c08c97719921fa6bd73a421f05534e3833b79e06d36c3fd9b76c -KO = 7f1f6df64d2562014da9692a6af2812232dbb1fa76897b987263a08c3f80565a8e16df8ec72e0f5738ff003d69bec4fffa890747dfa13893289547083a72229c1573bb9a1aeb - -COUNT=24 -L = 560 -KI = d3c668f0316f2b25c03107eae48b0766028c6e89638f7831d1ee5698cd6b78f1 -IVlen = 128 -IV = 08619610320b9788bb7ce80d4f597b85 -FixedInputDataByteLen = 51 -FixedInputData = 5f4287f819f209077036b7bc41e1b4ff9d7f761a355f1598325599074cb3e69189658d8acbed7454c111b99228d17d4f4e42b8 -KO = e7988de1b972dd630ba9233a1a504183672c49820cb87c64679efc401471f4f55b473ca461cc5787c64e2d6ab104964a045800d1a34ccba9ff9983f76ea35c3919bf6f807078 - -COUNT=25 -L = 560 -KI = d201e913a5e83c081805ba5fb8adc653d8712beb144339937694b9596c4e9309 -IVlen = 128 -IV = 807cee911a2d36a1660c71bc7ce75c19 -FixedInputDataByteLen = 51 -FixedInputData = 5d7f14270c0be5fd533730651a72fabeebe7f1bca3a71cf68933759702ad4886cfdc621f5788826ddc3c70f31061fa67326b8f -KO = 17088839117ba1f7561309a44cdc259dede1ccb60252a56b3b963476fa8d1379458c8deebe323c29b579687e0b32c2fe7cad81c042797ea3a9d8be00f022660de35a6eb6a8a4 - -COUNT=26 -L = 560 -KI = 263a2d55168be25820d3e4a7c0c71e67b968e49bee0bb266b100802205161ea4 -IVlen = 128 -IV = 8d40eae25757e4cc28c8f52e706543b8 -FixedInputDataByteLen = 51 -FixedInputData = 99eb7340ff32b546a05cefed448f2908efa3c94c666a107fcdc32f4fe2dcbc313756f6c5b5693606ef5bb4455a45947fc5278b -KO = c00a065cb7b7e956b5bf923917da17c8cd81a8e4a6c7f21c422d48bd16cbaf42905bdc0a2b62a2718798b37a08a0267ad6f414c6ddcb95bd78af02421c3f443bdd77d628780e - -COUNT=27 -L = 560 -KI = 3926044c591860dfa3b171c933131b7c93cebb2a2eadefb6849747b6f4fc05f0 -IVlen = 128 -IV = 22fab83b79c800974cfd25520f66cbcf -FixedInputDataByteLen = 51 -FixedInputData = 48b8680b6c04f1fa69ee7bc5e19f215f243a5d0206c8853e62beef6d9cb4d2f92fd368cbeee6f53a61d765a1de5f51a90f51ee -KO = 300c02d613e507f966fad9bdbdc119e02bae9a10a70f62cd1c06bb69f395cedf11667b0f7410ada69fd0a72a052e82a6e7545d6ae90dc53116a93553d872757f144559d640d1 - -COUNT=28 -L = 560 -KI = d8c41506b576aef0e893cf879b07dd6a8152f572b03da420a43bf2f9e8a3c817 -IVlen = 128 -IV = bddb0b46367875db95c9275d68ff6126 -FixedInputDataByteLen = 51 -FixedInputData = 7d120a994eda1e3f9a9e1306ee8697bc2f2bd6c2a2863d4b6292ac6fe453a7e6bf51c9b5f551c68ae0edadfba4e1a9647c7a7f -KO = 88fdd6339953503777c12fd71658af4b51f1eb8c94ba71e71148d784a911452967cb392805f723a0f2f5aee7bc6c4714912f6c73284b9f58e28fb9d23c7a851d49b6ce5a4326 - -COUNT=29 -L = 560 -KI = 58b5d82a3cb2e0a0c898250beb820a2597dc6ba3b00eb8c69b9ebc77d3889845 -IVlen = 128 -IV = 272739f4f1ad2163b77e508a0adacadb -FixedInputDataByteLen = 51 -FixedInputData = d5c147429055ba8798c5e0853638998f4a484fc29473b6d7937ccbb2209bb2f04c36e02bd5bce0c9361e1bdaafb87dcac82676 -KO = 29b2e75db7087b8cb4cc5d44613ed1af0d5f3880c9c8e918744d30a4e36c22c941f325d436c6f4474e18ba91bf4895d41ee5930a5c7cc46e9464f9228382fd78eab1cf87de12 - -COUNT=30 -L = 2400 -KI = 15cb1d2cf7f9a546767b0ab586e387d9420fa018273b656a4b24387609c717fe -IVlen = 128 -IV = 7a911eb3174ee881e0c231633808133c -FixedInputDataByteLen = 51 -FixedInputData = f4f87caa968cee14b2804737b9bc4e2b94d1b440d35a845f48a9b30c2ee4e8bd8111df59f0fdb610569932c642614505b3975f -KO = e124ba473d6a07727b8b63a9e741c91c0bce011300f4888b1a163d28797b1ebe40aad6e96a5a777f62551c8a12f09d650eb5635de53330743cd68ad96cb69357ec36acdc342ab4b5c16f6c40f366ffb2f414eb70acbacb31fc08ca2327bca8431d973b353f32af811393ad2e9e79d4e9a2fcd9d8547c16fad547774394720cc7b5a7c7477a68b45f959bb516e9537ec09c075dc38c6b29c42b2a70ee57cca21b170e3e31fb44d56c865c3e8fa3b0c8de465fdd37f9cd7c1967aba0ad1c8d2dfe4e01ea6b6ed92a0d3c5d27af0560d1273e1be4add79c44f7a780f05d7fe3445721de8478153f703c3724f7086f0062275d46c1f5420a9f09eaba89e3542e27d0e1c9b0e192beb6ea34b90090c6cbe633838659b3c100f5460e193375c7fa888add7703a0d9c7d9cbc5eaec37 - -COUNT=31 -L = 2400 -KI = 23eece01d3fab72f1f43067594b1a4f3294d1325f0660f4c0dd3bbc9c3c6bf32 -IVlen = 128 -IV = fb2585b66be022b55a3013b1ba1e14f9 -FixedInputDataByteLen = 51 -FixedInputData = e6b149d8f194926289d5d4f27bd013f4f37960c7f28eb2fdd4f042523381a398dbd4c19af2cfa0e1b8048dc1bed597a36ba75c -KO = 66036dfd5ce313c00f2221ecf83b419aa748fe68e7772e665d4b7b3220712f022ebe548cb0f5604ee2a4f478c42a0146a106b03b9ade6c8549e27403aaedf2c462bd589f8297fb5ade1612f93f93877797d9b8c6ff64f83f4810017b83c3bfde630ff183cd99e42615ba38ef8a9789374a125cbef50c6048ca2951b60b3f064255e40bc69a33e2d08234885ad1f34663308f3a965772d3ff3c5cd6b6b1837629031bb85d9b619cf97306cbc3a0914bfc19e9e1f30a3cf94099a263b03c3beaf154cd534567e6f1c73958a7b497ef4493ac4b07ced354202c3a72e00d8398674f4fb739253d68ef56df5be67b45b111f380d7a06aff2c3f5d24e8cba61fcb4708a309409bd354eb7d58b1449750c556dff830b92e0ac16467e0b7d96ab581aeac2a2091e2031eecfaee57088b - -COUNT=32 -L = 2400 -KI = 3dc1f1fe651a97b013faddc7676dec05012125cc33806a1797a1b89deaa9d678 -IVlen = 128 -IV = e276b21a986f19e483a70fef741b7301 -FixedInputDataByteLen = 51 -FixedInputData = 692b63ff2add2afe7a480da9781e31cd25f832c5bebe5956f4cba41ddf94c1594b27233aed19f09775bebd982a63f46b5becd8 -KO = d518efabd63c2794cfbe9b52470f9dd2d955a005e471a4e6c753f3939c69e76ceac69fb32a4db7752cb85bcba0e86f6f4306549687de6c9902fba260feefef4af8f1bc855a2e806ac521c0fd48680ea58ffe102180ad72aceacb19117a9853ab7bb610adcec6e2cc2b4012342bd5c01f44a4f93d059e1964ff68c5875b13a8562d3970dac79b388efb569887ac4764ee5e53bc7e83c8ae9f65830f87faf75d6b425afdc709dbff8d9423f28b2248fd1ae7e21e5b9031de3301bd33343373b604e1224ed0305dd291015d76466053eabe1038cf9a73bc219134b356f1a24fcd764c486f18bcde1fc7f13fe1a77adabc793e1ac8c409c301cdf9fe884c02940f037f8280f934aeccf2e6c0cffba00db43ce8ac8812e4b8df0edbd5b83b460523d0fb90e6286a4ce1f204113147 - -COUNT=33 -L = 2400 -KI = 27a74eb12a4e9bd3fa13b19fb067a321ac3b45165e9b14e196053b8317282a21 -IVlen = 128 -IV = 247e669166179f71db9fc46cdffe42e1 -FixedInputDataByteLen = 51 -FixedInputData = 7d3d80ce679af3c9b734c88185b134a9f7a63b1969b3f265ea5c4ededdaf297b63c412c0ba7a3ca75e06e5728fd015c7f34521 -KO = e2849f798fc9b4e3702ebfbfd1822603fcfe9556ef11a59114b81339043685a36205eff6e309fd61c0aa5eed51c3ce32b3dff95940003bea7815725bf23f4144f77065fbf0c1fbb1e3b76d76ab469294c2073dfed25e6be75b4406b5e12fd6e5853784c850e9a063ae641eea53cead449c766c44bac5eefc5a58c0c0528aa3f49240e1b81a88f5f2f04b3f2a47922980a65f135eb2048e8d9024e378510c069025e8e36d311bfa9b5b7bcc207adaa01539ba3c5bcbeff369010f8be4911789248fa8cbbd3db64cab0d00c11031b58716b8ca727fef1bc3cf90c1891fe6fc4c7b8e57fe1e3c01703e18abe21d04d9ef3075d05b817e2567c0259bb3f6ac4a5dc13c6c6fe73bf9ece2943c2a3b7d1f5012053896cd5bb14a7fd5e21ee8738fc2ce155474b7b86c2a48886d6455 - -COUNT=34 -L = 2400 -KI = 597143f1a99578c518f16a5c2d93fc7d182163870f4af06fd279d78ca3bcb3f6 -IVlen = 128 -IV = f2737491bc3aab56ff8d2dd52f079dcc -FixedInputDataByteLen = 51 -FixedInputData = bbcae76f79d6e21c232656abe007c429b330aff5dc7ca4960c1691c5205970b7f0a152d02e465e53ff1cc07113fdd160a77130 -KO = f30a40f04098e8cf041cda7daafe592d5245c5d443019b783e45d85f444d82ff122dd6c8e1056f93275a36fc15ea4224e149b623c3e4bc5224b2bd98e4e450839763bc2e400aadc14431b5c59648e36206e8af4822c45eb40234f64c147a772df7cbdb4d01a4be32d308e684a21e1101b9cfd1c7d3e407fe9996ccb2f9dd65f29cb0d42fa9f8d0f7e36b3a21b7ffe6531c05e7c7e07ebd91b18427b143fb623020466d201aa22c93567dd7c3f30b26d10d272d941b234861fec622485befa7c94d7834af6cfd8c2fbd72051953f7819d914feaa33f274a4dddbae7602bdbf5f79815aa6c0e00eba86f91a1bc98025be6fe4d3a949327205f360539f4b12a7a4089329d7461233a4d02de7b47253434c5549c4dd7558408712b990834abfcc9df2cca0f75191ce90a526a63fc - -COUNT=35 -L = 2400 -KI = 7f0b281e9463cc4666dd9477c50f298279230b2573b02f70703b3ab7e4b06dcf -IVlen = 128 -IV = edcbfed2990941ab8a0990118028f221 -FixedInputDataByteLen = 51 -FixedInputData = e1360af5e4d2466c8889a83f419569ca6c91a0417c021d55139a440efbb1f82d1890f919c0d285b3e3df40dda9123ce70d9faa -KO = 30b230b3ac3aafb203c4a9f342d0684a7f3463d5f54c04998a14df1da412558b50ed3cb772310c153a564100d54df0f9a573a4b638900134ba7042aad1d0e2da85b308df0ac35f1f91e6aeaa37cbf440c725641bbfb66bc908ea0573ba7fc1866709a8a258da1afab7627fa775cfb26f4693e2b2cc443827593a2c8ff7f74a04f147403c61929a6b578e0e2b243b54dbbe21a850aa4a2225075d647657643e4c771ab970ae8fddbe152b812f0d20e336dc27cfe3954a6c64f6a585aceaf1ba789edc88040e887364161b45b244490e2180e1df8627e7fe73e96a20ba87bb4a9f9b7419b24f2c734cb89499d9cb799e7689d22ae4a6c2eb7cf40413ec1f5acddf1efc39a728736574b20120f718680fcc7676a8ba6a6bb01657326a10e09a66a94377f16ccc0c7d0ae454cf41 - -COUNT=36 -L = 2400 -KI = 7e100dc62103ac3c5a29fa578d37c3d5dd0cc5f2965b9dff22160d89a31d6d16 -IVlen = 128 -IV = d7e286239c68f4be53a1fd7bb5182094 -FixedInputDataByteLen = 51 -FixedInputData = e39e624e09c2dec0ca8001a21e55c8fa5240e6fb6eeeebee33b2d038e707e183760fcf6e9d88585d358dffa582ed6391dbfc4c -KO = 9fbf6f5afa156d473491ab545466d02034df6b68503f7d881216f41f8826ec1f4758be9d660877cae83dd0cefb226b7a2ad13ffaf0915bce19684b83d48c1784af7953b28790b78f0b2e93cb82bee9129ba63c29764805b39ea763faf880f299099a6e68e9a30fe34e668b2edff0c515be485fe4087b9f8a0bd4fee7e1a0685bcb6488e68b0e3d1bce01528db48039c45674d9bb791c7e135d7193fa191dcbdbfce9d93bd567ab3b523267d2415f95246eda08f176d20010e5101c312b63d74277f2e191ff3d92bdc5e2dca68e2f741e2a939672d90d8c1b65109fccbac828f0b00e6835d9b1c4b4f8ad1a7ca0d0c20f9bb2dd73219b9bb1e02af5043ef5d9a2c8275006d89dc490fd6e86ee01f6cbca69b256e0669fa1ea3aad51c8e7404e8acbd59883d96a726ff8071dea - -COUNT=37 -L = 2400 -KI = f5a68ace410a704ffc3e853f9ecaaf3640f25fd4d638e2ade6db124866671792 -IVlen = 128 -IV = b304f17cbfb3da349d1cabc0f48af832 -FixedInputDataByteLen = 51 -FixedInputData = a5d13c9ff2e642f3c19e79c95086eb0d519d54d4cfa53b872fb757369cb553312868df9f8efb1bbaf1defeb0702c8e3861b30e -KO = 5cfb401f5ed30526de5ed890c28899426dcf8157103c4df12ad39b31863395b4f3d022aab7f274eccf9df810c85ec14905d30d5402ce2652e09714f41bb0ab6c8932d19cd48b56ada2df06eeccff21967f85e5bee1d46af1fc387be50439617f3a4876cfe6f99d20319d6a847875f9fa9fa06e34cc5d79a3bc89acb6079c6d9ba21aae29e0577828b629563308ee26b680be89ac7f928270ad6ca58ddd9ca6528cb3dfad5996c6a9f1ff399da822a52e54f16c19d15b9ff794bfd7749fae872eacbea6f2f9463cc49145252f19c538ed350a579ef23da6fb5531086b00bc866f1d9b19e9f1ee2863de739c40200fdc02859fe5cda1158199973051c7e6a2d17664083df324c33ec97c4e97b55641809725c6511a9ab3abbf496d16a6e6acadfcd92f8c74f0e4d13eb90a3c9b - -COUNT=38 -L = 2400 -KI = 38521b888206de4fbb65ff6a3544218d2279795d265c7854551997dabd2f2a0d -IVlen = 128 -IV = 29f3d8b4c2d5179acc50a543849fffb9 -FixedInputDataByteLen = 51 -FixedInputData = 2305843f042395354a0b6d8a9d8b4c4df2ca99afa27ef0ab4a24a4ab210fde6fb38585f2514fe43a58f7d29f79ed1b81cff256 -KO = 855557d240d377fc559500213cf62fe0b0911d9c8d95261c22dd7107bece8508b1108fe019d3a642e514c043ca8c910f5e116f5d59d4a50a289e2054884269f9b658e4653c1d94b8a92cd07d63c1219726a4505bc96a5baa1cb2a08971f8501f32de817398209af7a8d9cfd564d7eb812f03cbee14b04a9bf07b117e35802dce403273b8eb21d5fc944c071b64cc9cb42552cd36baba107a37aca2f1e70173c0e041a3bb52ba166fb14e8100257c0e6151bba86e4ae93e31d1b9b5020df37ddeb01a2def248762d64e6862097d261da74fde9d0f7e556adf7f17a6db8f7738f4b6eba64449181c0addbda17df9f12ed81fca37c7bf8ede0395969eec36378f9b637b141b70de8d5f9d2c05ef0aa989d5828309e041fa5495382e156785db763b4a60cbdb3724eea3046047b4 - -COUNT=39 -L = 2400 -KI = c3de84248c4b18ea15d7fafd274e2da28dad34437bf2c4d2740ef4dd716625e9 -IVlen = 128 -IV = 0881eaecfe4b0c051df78978e0d9c658 -FixedInputDataByteLen = 51 -FixedInputData = e5f3045a32a40e01d9792eb7f8204aa4b1d487a059b5d9c8b217efdc12d51c70c11e8b55c385e2e02de401ac18d9e6f3397f16 -KO = e76146c98550e942422724069db7d6ed16f32860c617e21a3532593a764a497fcb30497b0567ce6726cd8ae0b38a64d8cacdac19b22187c172a0940c5d2f907c6e199afda405022deaf4446b3ee7bddab5a8cf76ca6f767ddd36510b1f6593959abe50924e86ed5107126a4780ee687bd91f31327f9b25faf85bd0377169f5d474cd99c4f324f12a56d7314f2b63b8dc95615182df49ea57196c35fee96904f3a30d0257664681572eedb19e7280fd4f998b8cc6c5b4d213cfa49a05e195424dce5802eb70aadeb8e848fa41f2679e28f54f5cce17c837468efde0813e8abdca8b82bc6a1cb89f0f6422684fb3cd80d638018c400c1cbe0211b11d07e6df9246844b310514c141fa7fcee7ec546f7a264998bb97e75482c83a27c54f3af69ebcc5ba330796d39b3bba288803 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e51a150d87821ef71b9be1922d17831e906e3047459817852df951eb2658705d -IVlen = 128 -IV = 8bcf319f92e4695666bcb58ffdd0220f -FixedInputDataByteLen = 51 -FixedInputData = 94aed7605eb7f0613830e9a371c8ec180c9dce50afc46d0122481ea4f19360bedd3c5fc3660f2fb694e40547fa7ed8a21a9ff4 -KO = 1ea70e79a5a53cbe7e9006d716a04940f1f113647bde368fa81d223ea1fbdcd0147116e92d44c8d86c5e6b91241ca46044db4cb5c61438f1e8d63246df327151 - -COUNT=1 -L = 512 -KI = d23b113766566a894ba3d341a2ca6596422788a9830fd5c3c964001da5ad295f -IVlen = 128 -IV = 4e6ead7eb9a8e5ea1c7629f65cf0c048 -FixedInputDataByteLen = 51 -FixedInputData = b40c61aca56ab6082c46dca030bf7836727f5b46accbac2c1ecd0c5705c35373f1e1201ed395c2e8e113dded11e78831f96499 -KO = 7a253555a558547fb392c7fc0b64ff5ce47f0edf18fe4242953af92fdae2a6aad0c5afb6e599e7dc8a1384643ba42a819e7903639afab87b59623b7310063abb - -COUNT=2 -L = 512 -KI = d19b4cd2386f5179ab3be66f8af1aa7ffe17de738cccae8fa0e287d54a53dc13 -IVlen = 128 -IV = 70bd3cc82b9d987e36837bce89b9e5b9 -FixedInputDataByteLen = 51 -FixedInputData = 64e7516b2877f5754edd4cf0589f0b46c6be319ffe8a0903bc287fd34b8c7611d9457c5b30b26c38c75a8c1a4754ab6b9dd06f -KO = 28cebae6dd947dfd75159f684fa51cda450faa70002278be41b6d59d9445dd96a111e57456152404fd5b1de2b385dd456b97e4a448d9876490b0b98eb9bdd57c - -COUNT=3 -L = 512 -KI = 3a4c305d90eece02ac7ac9191e90b5bfd67f99fcd4a86dcf51383f84ce738792 -IVlen = 128 -IV = 47e1c0bf574ba7ffbed21ab6f3744a89 -FixedInputDataByteLen = 51 -FixedInputData = 62440c7818ccb053090dbee1bdbe8ca5cb61e149d1e512f491f62e452915da7c1206f408639f5e0b26028a37a745f5ae142b74 -KO = 7b3ec81eca1b12ea244f675174dab39433b0522a85fb11d8821fd67c37bca5a21e98a819964c16e18dfc5fce3383d774661953ad8adb5ae992c7fccafc963e23 - -COUNT=4 -L = 512 -KI = 8658f26c770cbd8788c4b3086a1a839849c39b27d6c5173a1d2b9028cb125bee -IVlen = 128 -IV = 58b93b4ae46ca32d4aed0bbcd0ec2fa3 -FixedInputDataByteLen = 51 -FixedInputData = 775ad650df0b7476e12f1db03983b0730b7c13853895b8567996ecee5675698198bb3a7507e6771c1c2af5e39ed0e1ce0e9783 -KO = 0b9656bf5d541a54067765982f8eba066555803d7b97f2d7fbb61f8ad5d32d3607b27bad411a41fc85fb0bd1e430bd326b17f83aea966e29c96659ac70f41b1e - -COUNT=5 -L = 512 -KI = dfe935aec1fa2cfe394b81c0c1369b86a12bd7e705f6d18d21a600359a64b24a -IVlen = 128 -IV = 2690631aefa3cbe0f34cf920d2f55d54 -FixedInputDataByteLen = 51 -FixedInputData = ddc6583f3c2574addff9e7a627306af4fa86907e87b828956123ac324fc98dfb9061c25702f539476768f0a86d1d043b51a53c -KO = 8a3ba614990408a8482e5899e3b4b34c1b73325bc0495e1bf7df0b4a3921fadf3c8bb5b0173ee2afa8a5469159d742f399b7b2ef0f72770a8f0dbd15397bdcbc - -COUNT=6 -L = 512 -KI = f843ceb6e1b3a4bb79780bfcbccc4cefdbe47cd936402bf55130864f35081689 -IVlen = 128 -IV = 0a16d4ef61fa6d61a23252862a33d256 -FixedInputDataByteLen = 51 -FixedInputData = 7f7845e2d3ff1c390d2abae045e807e7ef87e7e7c3326b32a6d9762598aa5d7a6c2ec626a663e0c62dd700e8020d456f5ea212 -KO = 041c25af7cec758791d9d58f8b385ca99c19027ab9745b17251636a772bebfe55305d91f9d0e26fb821180651c4a4a0f951b185aade3aa3b29a4a8442b96f1ef - -COUNT=7 -L = 512 -KI = f2e93762c2c6a206debf4bd59701a5ba59dd7fe333e09d61c790774a9342b807 -IVlen = 128 -IV = bde601cbbc8b766684b4f110c8db7dd8 -FixedInputDataByteLen = 51 -FixedInputData = 212d2e0cee41369e043b376f76e0d1f6f8f1605bfe0d31c977f6745047d6c4921df04da179a341f3e0b470cecc318009e4a6dc -KO = e8e8c8a2258bca6a1257e4f56de063e9a8078ef152dca196583d8f45a4c15a836cc1d7b66a11abffcb3242a4bd47ec89df0cf08dc1198b99f6d1677ab658b6ed - -COUNT=8 -L = 512 -KI = 1d9c6a88931da9fdadf0cfd38e5c85d7714546bba87e2b1cb780d055c725968c -IVlen = 128 -IV = c08e8693782b2f2c73b058ad8cfb2e05 -FixedInputDataByteLen = 51 -FixedInputData = 74adb58d3e00cc50e4e841a4caa0e5ad56f842bb4420da9635398f83f9efae274d5cf42e80639cc3b2d182a81a4eb9073d5578 -KO = d3b9f17760647b8d7f978b8562ee70e0b5bacd872001732ff3da66e98a96ad62d693669ffd2b934e01a961d7382dd713a433e471a03e1b9a2f936ae5746f4a6b - -COUNT=9 -L = 512 -KI = cef4e53146c666dcdf73ee893a75c409fde0cd925999b6bf920549fcc4b40358 -IVlen = 128 -IV = 601d68ba3c8d51c916bb9590c1e782da -FixedInputDataByteLen = 51 -FixedInputData = 6f6f18e99413bb763fd94b82d209a5a74afb0446511a3ed1646fc983501b849e9605325dc15896cc532ca592e4d10fc372af18 -KO = dfa8998ebd38bd60c64a9901744f37052eb1f7c1b49e8d4de1189bcd4af6a00ae4f2388eb90976a8522655817c3b4e8845ccfa654f7910d91c1d7e7a13c06b2d - -COUNT=10 -L = 2048 -KI = bbc3bd22ebe4d3582aec8229b6ba02dd142919d75938dc9130e96adf794f9b4c -IVlen = 128 -IV = fd4f7356c90183c209032fc495b4862c -FixedInputDataByteLen = 51 -FixedInputData = 3ad03ad548eb92d594d718b5b5a55d8f032be65dfd2655d9b29eb976ec84db721d6f5b379fa8f83feb8094863a91c2ee83de21 -KO = 9533e3b10f4fcd74c95a59c8f6835d7100d339030aea727b10767a6dc127cdfe967cb36273d797e6e0342d198e72744f737f300475cf98813993efc82cd3eec262067af18d988114b4c62d026a86798c4298eaba49b3336a514e943eca3714cf22240ae068bfb1faefed849b00e698aa4fdc26650b3d293a00afb89bda6df1f3b47c5ed10743a0eeab147e2210a57b01b12cdddaac53d66b826bbc1ef7b4bb95049fedba58e2a2dcc013dfa5f106ce81db8a41b77cf3955f01f61937b754f215079a6a25ee884f3e8b792f04af112759567d76edae9caafbd22da312da1a09c43eec5f072c9308bc35fe069ab02c2cd2827211a0ff3451990e0ec12c4b1f3bdf - -COUNT=11 -L = 2048 -KI = 0e8f37436003266de7880ecd8d57834c6f3f3bb34f466656832c952ef0ee0a63 -IVlen = 128 -IV = c762b355e25b605d53047d869af1544a -FixedInputDataByteLen = 51 -FixedInputData = 6ee749d7954295c49a7adb1e7aac5caf298b8b4f4da1d7cd4ae42774b390c9962ea7a6f0f1e575af9e7dbfde303464d7e8cb06 -KO = 9e1e9106465137cd7b93b48aa4d25049f0c48214e27b251409db02038cf8720222c44abbceb07cf9dc7709f75b0ebd68504ce830cd14dff84b7b326554b1daba233b2ad85a7b68c05323fdd24f07ee140f562c7acbecab186b3050ffb2f6e42b4f5e8b60972aeb992cc72e5b7fde372e35403c2fb9cbbb14188de7128b76e9d052a1ec46547636b66f720a6c1e5b962355858ca31e11f8aa4512b443f94d06297cf29608221aa63662ecec63b2a79ae44c2d3a4e940019af7cd99b86fe59b4aade3f70acbe474ebd55620e9a16897f940e42f079b34527b571068441325e1b3dc858a9188dd9c01408b1a65ad2b04ca6994a6895ba796e5aec2e2d2db479a452 - -COUNT=12 -L = 2048 -KI = 91819d82d2a57dccc012662d10973aaa13807e3eb5aee4f9bb89ff18dee8b956 -IVlen = 128 -IV = ec5b39c6c61d3ddea3b45b922f9e2c08 -FixedInputDataByteLen = 51 -FixedInputData = 8ff640ed7ddf1b5e3d2b717177938717fa70d139c70280c3490ab0311bfa482438a318fe534295190067282c9e752c8c0c7e9f -KO = d2f707db87da03dbe425ae7bed851fb1491b9e9eabe2b2229e5fc94ac86918f3df944db47e1f373de0c57ae27e4a96b1e436316d814c71f3cb8a19497ec1a8da3bab59bb2af580d4175a7508020801aed98e34ba272f9971b6b6d0b6b1796d932262c7268a525bfd80ab640baea6f7a7170cf599cb725b1fab9036b6be0181eb3a06a6fab8c06cdb7386b8b4e503eee9c37f584d12cb05fce69a618ffc4035962b3035424af43a03ac1d8829e040989219c1a43168769c386dbc1bc1e9dab426f7c47cd8448e4e9a68a6ffc8150c557cbcdf426741e58482cb02939d238499d5d20d096b9a1f884cf90b443533c73aceb5df2a601019d14c55950bb3f6b93630 - -COUNT=13 -L = 2048 -KI = ab4368dc2239545a24cbd9114f1e5ad7cec5be21d2d4718a2eb0c2a9c0f10163 -IVlen = 128 -IV = d451b7fe163e96ff506300da614b08c2 -FixedInputDataByteLen = 51 -FixedInputData = 6a30ac2571da072ae247c9e488844fb61b1c109afedc0a82e7639e67fbec3cda5f11b272a8203901225b89ea72068245c8b8de -KO = c107458af123f2696d814162173dca8696e2851df7277263cac0358abbd5f658150f2e6cdc2874ac4786660c8ab17ffa9e8f1020eb860f5f2feb35c9e22b8b1b3e92255106843a41af8ccd8b2784a54e4f41a1f42bbdeeae5c3c7027b0d06460210af49768d1ae8bbeedb9596943a8e5db2948678308d69a3788da57812bf1ea7889b441edd224a8ed62303f9452ddb4f31b9b2f12e90b22d797b0f3215452c7fcde1ed89373b3bc1ceb2b7b40d49b7e2ab78d0e6b7aeb8a3c0512b0f0cb27e436eb1901c9eb73694db53cd8e42695b22f36ec9c50e9ca9f3dc91886fe8527d5ca44fde04a5230c5a2fe07f8392d51b357fc5f3d420f74a34d8965f91f76d2d7 - -COUNT=14 -L = 2048 -KI = 80ad8df340537b8fed55d1a37ea9e7ef5f6a6b0d22fa30d6171cb25fc52b03c6 -IVlen = 128 -IV = cacd3e8498080ade01b24bff52f28781 -FixedInputDataByteLen = 51 -FixedInputData = 1c565cf141988e34160e8d0f8c0a2d1f7702c57fcbcbd2822d51ff7daa412e7b1e5f2a613aa5f312256fb851f24e72499bf2ce -KO = cd94747be839b08bfa0ab2c5411c6d583ca3d589a4466e8c2f8198c05bda216738cc3d395119df6892c395faff001ce4244c6d0f061c884f291241bf5225319e75cc7f3643d6bc7ccf597118ece9eb59b65b2e404299808e8cfe13b4bc73643a0fb59206cb06f75cc4965cacb7d12733fddb727bfca4fff2760da263f2f60bb1d3fcd9e3d65ce00f559e00abb5ae1b2e98b58d5f771485c41f0f0ac076ccf8a429207a2c85a09a9d138e391790ca1deededc8a9c9101cf486b9c5377420c5fe5c5033dc811dcd002879429f6ce95bb6a169c41d2042ec812542fdb3c0e6926a375c5680df2c4dc49ada8361c71951addcb26f9eafe12297ec7079188abee8ea9 - -COUNT=15 -L = 2048 -KI = 9c88178099a69fe017110ba30f34c05a6b7546e6190b7da333958aaa0b1fc69a -IVlen = 128 -IV = edf20e5a2689952867a3d7082d53c0d9 -FixedInputDataByteLen = 51 -FixedInputData = e5628798d122feb3b8f39fc66d6c75aef89984558039cee57cfd25da70dacad9dfae587760fdd127bdf01d78c832533a2dc492 -KO = 89e6367ceb3ce36602a97b88d5e2344edd4278a5537eab1c7a9273fee8fb871d75c53ce562ada0e6c47add3b94fbaddf5a69a10c7803441090f7f64c032e2ff2a1ca23c16314dd8ef9ac8e1a08fa1ccaccad553de186a2b44d3844e5e9b76f6f3247ed6b4a7573b42095ef2f0cc0a1a86b9fc96a69112712c4a390d59ab9d0543f33d02e3e5e236e64827f54b4d692648ca8217a242d20789cf84faa13eddcba5a774278ff2c41519e8fa9b4c4543e06f36e7c9ca3eeca5a9261000557ee52ac03f174d45fe6d838074b9a7b31a917b01226038a44997496ea2959947c12cceb87a4685be167d36a918274c052dd291e1cc8811be3af3ccb4970578d99044bd2 - -COUNT=16 -L = 2048 -KI = 34465bcff87c6a33a7769304d52d2a2ecb90da2a4536639d90585118cd580dec -IVlen = 128 -IV = f07d45923fed99f0de2b2f449c18d304 -FixedInputDataByteLen = 51 -FixedInputData = 0de2dc47e218b6f0c3a5a807ea0cc6ee21f119c79dd1ce9f7c80903488bde0daebba8cc4fe82d04a4caecc82330d7bddfe01a9 -KO = 369216e65917b0e0db20a646f099a4deb7f81745ef437e259d9b3526d917639ee4b9902fc785e9819bbb5436aae3589b34bd67816efba30b4ac0e880360b60e3bff7016a335907f4aed93258cf85eb117ab025bdea0d68302d8ca10c39418002d0d0c5f22371cd36c38ed8539cb05aed1f18670adb9096edba0ce0c5eb2a8274eb5fe01fc017d7be8e74cfca1d6ebc2e7a4c1a449ac7cb3c3060cc3fffcc116eeb6b00121e888cc997384426e49783f566dce7f310269172f690983d14203264d43934debf4a6772871c6ef53140cadec1ea34d69418caf429f5df1a36f56c86b214df9bb153052b0ba9be051848fa23ca7a9715fc5bf83651bfd752ad710a33 - -COUNT=17 -L = 2048 -KI = 7483985bb1391c61d86b7998b4fda33ede6ae7533fb1f17d98e5b3797ac14bb6 -IVlen = 128 -IV = 94b658fa66749b5fc0ea22b3026f5887 -FixedInputDataByteLen = 51 -FixedInputData = 2269fb225de2a5d8d52323356f2d88d107d53a275500fd2791e70621933b8321f8e4b5e7e1751b0e648659a82364348594eaee -KO = 2ca1f47c20847da8adf086ac92526708d21352f6f23b7813df4812444cad27d8d56746de9c3311e18e1ba8a29c247459a62e34e9a31da3d7560311e3a99f3bffa2e1943af6f21d236469768dcf6d152b8e3db9275e75dd11a96040797059502c4cc3e1b86de444fd62f9060de76569143509b93ffab60b367b0043bd240bf4ab2cae18a73d7df88af79b170f94843c6cb81c8823cfaf31853c55b777a95ac3c523b4095e48837e1b2f279811c9c83ae6ddc27f5f2bb7289098c28f034d0eda213173879725793df24dce07a67a2d27cbc2b73a6673d1d3537f1806688c92348c9a400f131400ea944c70a87f8a70c594b697051c6afe5e2b8b987028d7728adb - -COUNT=18 -L = 2048 -KI = 19dbee8e43c6dba16fd8a2bb60b581cda4c1cad2e1e2aead0027c19b48362383 -IVlen = 128 -IV = 8924f68ef48f252ed18f74917d88e317 -FixedInputDataByteLen = 51 -FixedInputData = 6e6c8451d2085eb2c9221a40e62484cad34868b0ee7aaba43d52cbd0b67dc4227cdcd0d496d9e4b6976419c854897bb7cadacd -KO = 5883378c21a3baaf5718fb6fb14bd90622ebfbf75ef5831939974878b938e071bf53d7af64d9deddc414dcd3bf5cafa1e0e719d7989c57bc5ee3c8978e8946ff3f1cc68523a81379599b195d30d560a676fbacf149e9d07109f5e15f8836286d1d82e318e03b719ccb6c097fc376e3de62da48046b0e81663d1757e4278ee059fb60c540c36ed4ee6896a21649f9c9998954218f57afc7f3fd18098d51dc39294c51f81f4da67a732075fb8cfcbc17d0e57fde2c90ca17b51fc8ed101796bb5af7fb3cf5ff33b4042d28642b42f6c43083e03e432fdf75715c6d47202ff8ca6c0e089a8da4aecd2d25195c9b5475ac9c1e0409b6bf2ea3cdfbdfcaf25a4dacd8 - -COUNT=19 -L = 2048 -KI = 1956d541a4146b19e770a17c2eadfbb83017632dcede323ce24e417b27b9418a -IVlen = 128 -IV = 9b975cf44fe04578f7511bc3e2a44df3 -FixedInputDataByteLen = 51 -FixedInputData = 8e1135f787c431a4ba5ecc1d76b378ef463e9b0401c5d66ef6d32ca22f5ce823ea160746c2cdda728868e00fe215e727983728 -KO = c53984f713f5084d678589edfb7a1777c26e6a63e10807653cc3fdf59af280407612ac8fd226a0b21c24f32857b4dee6aa263b5a78ccb86b4523b5315a3f72218a32593c2420bb03134a399eb2a39dc21d3b34ab2f3df20a222ee288e8a49f59c99a7f9e2bc86d8f000aa80a720cb02a66ba8389cd253ee89f3c8844edfcc7b66622652da577f4689b2d74bdadfb7e0b52c92a83d9e410020ed07ea8155f87a4f2c0559af5efab917ab20a73c07a05abf919e86f0e00146cdda423dfa60e079a4d77ec7b35774312e4bd469e4abe109cb7d36c9db5eff11e3a20b47dc8d00b7739fa778513365e5e3df56d3305dadfe2e10a28c4e3a0d536a940add093fe7b6a - -COUNT=20 -L = 560 -KI = 48e16368fbc9c5683434974ab902f48e0e809778c36d6a3c81bed1cd9ab96923 -IVlen = 128 -IV = 440863431dd496689f4b0b001151d1aa -FixedInputDataByteLen = 51 -FixedInputData = ad34d86035282b8be139bc22f894815ae6f00c386a4cd3abceb06a445f4ecdb29da9b984f82008119fcfa4f6a42cbe7946e8d6 -KO = 5e15d91883b13f9c111e63366b089f08fd1542ee4ae6fb8ce1ea3b08b55d4a60b90e32479b631a1c3c1fbb18dc9113567313935558e856c29d75b269104811f1c1aada9727f1 - -COUNT=21 -L = 560 -KI = 0843e68c5181dfa51e8ca08c5fb6cb87588a9eb98daaf4521deaf3b80d0363f5 -IVlen = 128 -IV = b13e55f9842e3ae007e8fe2fb73bc83a -FixedInputDataByteLen = 51 -FixedInputData = 53be9a1bdee3fded42b129006ea5a6da4a45cedfdfaaec814d3864af2c2eb4cdbb4778ec5feac067898a1977a5898dfe957b06 -KO = 8c4d8d0d35a3aae31ef927be1f6bc56dec7c8edee33f18cdb39e990adc59437a2b5bf496869127349fd99f23fdeb93731d043b72ddef83282d644b2a601e6d0f20d7b35234a6 - -COUNT=22 -L = 560 -KI = ae3a5b5ad2649ac67112d3451be1756ceeaf811fceddffe59fc2d9fff86706eb -IVlen = 128 -IV = f5551aeaf74df40aa03b2aaa53ec7723 -FixedInputDataByteLen = 51 -FixedInputData = 363c7d31f8e8965918eff7363618c9ede0827731ce846a7b442c965cb11df5f23c280fb86a04ec69f3d870bdbd3ff45515eabe -KO = 2dd3f687aa97fe4888cf47bfdaefdf2c5ff11d3d818cc8277062297bf492bf3da8ed155c4f50c4e3bbddf384b66874e1f0d1ff8bab2f9757f0364bf6cd7a08f9d5fe952ba4f0 - -COUNT=23 -L = 560 -KI = 1a38b58e2685ec4ee73c2a7ea206d7b5dbed2250df2dec35e96980ebb559573c -IVlen = 128 -IV = 3c518fa4db67e98742dde0ee40496bf5 -FixedInputDataByteLen = 51 -FixedInputData = e17444e52b31fdeae269662bcfcf9c2bb196e7b85097c27cc8f1702eff27d66ebe39f3eee6e4ed911b1e454b13b3d9f3b98c1e -KO = 5247fac89e289f964bb45611fb92ed317355eea663b8acc0f0863e3aa5d3b58f47abe9e0b5ad685996aeab5a7153af96525aa888565e088b1bde5304153d7d77b0f1071548be - -COUNT=24 -L = 560 -KI = 931d2b497d4106b8394f8376d34bfd9ae78a869944baf95cba03762170029c18 -IVlen = 128 -IV = e2a05ed9cd36088a98f3dacd469007cf -FixedInputDataByteLen = 51 -FixedInputData = 4db9eca01e9352d867476e6f11e6fe09a3f6231588e48aec231aa0a69851feac10324f0f76222cb49a1283ed7cdee38d2cd777 -KO = 7567aca6922d70ce55bbfbee8fed0bc87654b268f6320b1487b5cbe49e74630d5de7beaae6c74806e28c96914097149a3c99826498302403b412f97b8bd201e18ec6f3ac2501 - -COUNT=25 -L = 560 -KI = f7498e6ac0fd10c9483e7ba0b0fde46a980aeeaa26066e1d83ca9b47f8472ab6 -IVlen = 128 -IV = 2e15596bcf766002dffb8a45a7a3abf8 -FixedInputDataByteLen = 51 -FixedInputData = 7988d93ee5819664fea7150cfe42b2f9ccba564d20704731f294fbe67368aa9f0ef7832115c5f64f642ad3c956bbde58eb7bb7 -KO = 8aaaed588ab16e4f1878b6c36acf313ee4b0ee4f81b2e52676b42c51006942ecfb65b38dd2c508ca2fac530097fec00736b0335a21a5f54763ea3ae155d75f242499f93d4427 - -COUNT=26 -L = 560 -KI = 807b2a0187b72cc5d469de2bae02fe05a13fe9a2132959c90fe05e506cbb352b -IVlen = 128 -IV = 37d501cdee5e27baf8138ebb58cffa7c -FixedInputDataByteLen = 51 -FixedInputData = a2e838c2682fa5a3d2c0ed3f2ee006f80b4aa4e4460109d747cb9409713960b289374a02b060937887e424caba4dc5cc159cff -KO = de0f4260aff01c128652520e01bc8c9433652564eaef88de239236a83575df38fc108da64a3ad304805cd6b3ae180a53ce8723a6ef6336db311176d16afad02598b5c5bbee55 - -COUNT=27 -L = 560 -KI = 73b37559c8d947a3c5cc30949346d97bc594933b475548ee33a27b92acffd817 -IVlen = 128 -IV = cc81a3f26a70c97a5f799116272c978d -FixedInputDataByteLen = 51 -FixedInputData = 999e44b4d1351bfda78bd82c4450074a762a43120024af2ac5d1b1db4e6b2581d36a58552cb5a04b79ff836e4291b5b6a42123 -KO = 42f834c5cafe6a916d71f03f26bf694c16a575fb32e6f2df970a7b673bf49fd1aa78301faecf22880fc3d7608815e5ff8bbebd8a5e334dd7833837bc205e8e40c8638ad3575d - -COUNT=28 -L = 560 -KI = 0bc4c917e245af330ed93425f86a4d07b64a8041c4bd8ac83fc2f137dee9418d -IVlen = 128 -IV = 68cf9086314ff8b8ef1f310bc1d075f8 -FixedInputDataByteLen = 51 -FixedInputData = 99918974c2d0865a3256d2297963e9401096f4d20ad12abb23ebb2669f83ad1c6ada468852a06258b680d8aed1430616b974aa -KO = 5b67c493397d026a99df55d2f20fb7c7c02ebb45d62b819f79cdcb76ae395be9ce7d65ef5db307ce8fa9a33ae35f49795994c013edef71d0b1a71abe253b2d77f4f397f0bfc9 - -COUNT=29 -L = 560 -KI = d37eadc09541e91b9ad6f6ce36d965e43e64924d9afadb55ca30d801beafc8bc -IVlen = 128 -IV = 114983932d455c43c923981bd681044b -FixedInputDataByteLen = 51 -FixedInputData = c35e047e60cb8b32fb96ed1bb8016f7d33437ab415c8955c0bb3b6aa50897bda4cc92dd8a32a9cdb481d5eadb8ce9f6386e43b -KO = 78aee98a011071f05bf48fd210ad1a8d44167f28d83c6247917bef9a01ee18ff4ef796f5f449436d79104a9916be1850b4f755ff9f8fd59aba4b65a3a23ea670df6c1fc891fe - -COUNT=30 -L = 2400 -KI = 5f5b36c125249e4642324a5d7ef8eab0ced18147f69fbca169db68cad952cccb -IVlen = 128 -IV = 07013047d0dfb40d26a89d2fccab8695 -FixedInputDataByteLen = 51 -FixedInputData = 6efb9196324deadf5f67072823ab5a7158de5ceaf05ac07d152d940f24b166baa1b4e1d5004e8fc573edeb2e3a516879641115 -KO = 2b36dcd36c0942f2591a782cce0fe5b8197c3ddb22e1d3683e36f2aa005a7e388c1b0ea1cfa9687bbee9d12201c28568350ee3bab109344575b7856e357475587428a958157655c8e7f2dce742eeebdcf5ef9a200615de1ddea1953215b866c8925fa2cf07e58daca777754a324f48b5b356ba0331fa6bfcdd454d4e1fb1276aff0f097bed7c9cd3a04aba4103c86632b2148df2381bae713d1eaa9c90e79944728ef2b5dc642e9534fb4838c4d4f43b89097a9e19a9b5b6afff4a672878c642491db7999a77fb6d3ac9d995ff510edba9ad68d12a598e10f65a772240b4def7ca6931541a672f7595e6002d3b12d7e631a68b12dbb7ccfd734806a1b448f4ab7c1a5a7e07083451bc4321ad526652fa12d96a23420508f2073e8ad15041b61ec155f3e0e40006c647251da9 - -COUNT=31 -L = 2400 -KI = 81f48f12d748d0903385743edc4f395e4987893d0964df987a243f6cd06c4562 -IVlen = 128 -IV = a1bfc536104e6ab65dc41241c6ecf9b2 -FixedInputDataByteLen = 51 -FixedInputData = fc2dfa33f244213c341932af49e58a7c93f2621acdd0daed4399d443bfd6c361febcaf950edbbec432b6db0fb1ed3deb99c456 -KO = 0d6fb7505dd9f33d5c5b2b3cf52fdca7f55de606736d709faa8745f5018dc4de3c4ba6e08c245bbd6977bde8fe5d9a7f54b62928809921e44bca38511bc20281f624dc89b8695cd86bc7d1c9dc3764f34bedd30314e95c32a9390797b86c870c39a6405530e20f1875e313c6f519c5b7cc01d2d66cee9ab9713603a6b733a371a3bbd1bad493c1f03490a34912a93a030f12ee16a81540b67e75392a213ef8e567bccb0dcdf8ac0c4d0aa74b0233a3868df3113302dbb12b5f20ed4c80c19d1419950ea65c6419c33b640318b33a81a50ae0c7452b8a53b2fcfa7e027b92625227a6d79b7aa419f271741835c1291cd3b8f21ac38bebda24ed24ca2c6696fc8da8259da0c00d867d3b320e2cdd4cd338a616bc2365440e48293e65f3fe206ec60278f6c7e8d2723b2554d0cc - -COUNT=32 -L = 2400 -KI = 409d03125f0192c6d9cc393859cbcb8626c65cf4dea762e86f6dcbc635993484 -IVlen = 128 -IV = 38860e07de29a0a211ff42aae0c412a6 -FixedInputDataByteLen = 51 -FixedInputData = 4dfa8e57fec42f8da78b2219092a83af412eb813ad1c7c11b039bdf5ab6adb7590f713de188dccf7a31d70c8c13bc5ae5937c6 -KO = b72b69581ce188e190f2996befcb737817fa14a6e8ffe32e3de82b5ac225bdf76126d0d29bc59ec30874c2e9d085e21d79b88ae54777800b0e677bd4a80b7b0c1ce968dee45dcd8821a86dc746ddf9bce368ed6c8df47d67e497a9207bc952b678467ef90083648649c2d7535a7b53902d3487783f721e7dd4b179e3595598872b2a3cc8ac48be75a0c48d868c09bf27406d8bc5bc40a9cc3af796d8d24631bc6ef530138a4668047b7dc8615be19b5322f3e57939eb250e93075d2153230eefce0c0f6787ebb6dd8796d54edcdcaf6258dbc87a384c8257c24c2c093648ccef54a9e80d080377ec49f61e80a4fcd4dd1181e74f0bbc1f4a849336daadc88c70d7c863805cbacc4058eb2bc50dd084b7196eca2afb847d15d1671eac326fd4582aa6a0ad61e3d813b870f3a2 - -COUNT=33 -L = 2400 -KI = c50693beb934256d1781d70b3eb0c80a5ea8a63dbbb26cad8cd17821f97645a3 -IVlen = 128 -IV = 30423bd4fc473b49eac87f44155fd892 -FixedInputDataByteLen = 51 -FixedInputData = cdd153affc009d2e1127aad49d9260ffba74d244540e74f4b7a2806dad194b988eb35c336ceac0f889c1c96abb22021b3eb203 -KO = 9cdc68583fed479de9719157bc0816f1f8913aca92d1af69da8cf039e0a877b10ebf0a6e274f1fae317b9c0991b09c2aebaadba8a095e6d20df7b2ce20ac90d445bd08c4b2a3ddb888e2e99c5e99b7ca9433807d463150762d5622b802003005909ab38ae8804053e75ab94c5c46448bec9f5b3f8fcdf8155bf859e5a2b297022bac44f36729d06e0ca0fb403da31b6675a4a8dca4657e08201f1f7be38f0bc1073ec16a715bb93ad506634b6377630f7043c644d57e1a7c73b09ad9bfb5aeb57a123210cd4c7712d7566a628f44ac19d3635a498b62d209aab94bf908d296e23dbb62ab74c40b40ad00568c4679c65b83acaada433bc347ec645d952cbdd9d13f9d182c207f63809e7ac744d5ed892fd1b82e317bd9b385f93850242e2ccfe94ee5c999ce113b781a663c81 - -COUNT=34 -L = 2400 -KI = 9eaff59b8e8155e7f2c895d800709d358923106a32366ea87de87f796fc60e54 -IVlen = 128 -IV = 747d709e1c86fed8cddb54e0067c585a -FixedInputDataByteLen = 51 -FixedInputData = 46605d07dbb262f9827e54c34e1324e5fa5b97bbb52a190722dcbd639cc991465edc2b023364aa51b03d026f796e271b55d15c -KO = 37ff84399cce062fde0cd5ce1cab82eae9aa3f5eaff380cabaa2f458c8bb494cdb2bf5bea7dcb306b2150529f29422bd8502fc738a64289a8ae8df491341891a3fa0db7696ed8cda6f1602a81e59724ab92c5c5d0ebd31441c5c0a3c50aa2cff4a9c42c23a857441199fd1355a5bef2730d937a046473dd7dd890d433931fac01fcb16a8d00f3457ea9405c8569a41b3df1ba0bff68c156c4eae723cb605e2bf84e844abfe3ec7ab518279957c3a348f46d1ee47df284d8a7a41f874a6672c6ad52f4d14ebcc01c9f5f9f8c091cd43e897d7337abec41a75b4039f75437f86ab25b15c0d4425fa6f1fd1b25734c5021a48afa13162c80bfc3f865c8660d078b44f6ecb0d3a850464b92063f50a24049bfe0c273a1bf8d712fce06865adfd67f9427d96f85b63572072127482 - -COUNT=35 -L = 2400 -KI = 3d5f43327c8bd081523da7a94ed0fd54345b0c94223fcc00d45e2263212eec22 -IVlen = 128 -IV = 92eaac923269e5d43d30dc8025ab4567 -FixedInputDataByteLen = 51 -FixedInputData = ad4b0e6d4f02f3d529d0f914018c72224d8ba2fe5cffd7831dab4e7f98a53b45a128bd39ee098c344f5fa7581400f1641c4bb7 -KO = 47cbd59b996ffcf3872cab1db0641c8c2eccc16514e936785e8ee33f5e373670113a09be2d59b220928ae2d79a5e0ee47866cefad3cfc5fee28d5eb82155866c816c9c9dc8de57901ac8bd8075d1f7f05720a136e673b262e83456d550b768a0fb7e767cdf4aec26dbc391654cf8be74933dd3075a7162e5eee583902cbaa347c5c354d23860cf1b33fae3f8ce750dee31c9dfc71aede0fc106e3c19ed2783e54cb702ea5818c5f5d9f6d062677ab230e5d5de12321ab6a251f91591c143a1c494cd09363ce6723a931f5d278ac68fb56edd5193d10d1de73f7865f9f7d74f9cab4d3b9a1065ccb42d35a6c3c648390a2b62521304696c450d979bf0cf0f61721c94ed530e4bdef705f715388e66341c5bb41f2a5eff6c9c2e0004f8814727861c64d86319e9ab3b6b8b684e - -COUNT=36 -L = 2400 -KI = 59a4d603cb81f840371912c81339aaad103ed8e235e9aea8d550be915daf95d8 -IVlen = 128 -IV = 58842fd37b4299e6ecb99551030f4418 -FixedInputDataByteLen = 51 -FixedInputData = 90e06b4cf01b746d6bc1a1431b81e869114dfeefdea38410a8af0ff01fc446d7e13bf192862f601eff1750afb07c7865d49850 -KO = 3bb740a781cee12be13369f5fa4bf03340694f743a0fe5ae1f94f2216a9a18ac716bc5de9f53e022b0134e23c029d30787246b0112028c1a240b175eaa6b1431417df5e4f5f251e177ac87bceb3e9c1fa90ed9595f68cd503c430c3ce8881d55ea152042f57ee2c866bb02537462871daec2bf9ea31724120e03848679a6f7c7269d4338b25aacdb58ccef005d50be9d1a4815bea6330fd9fc8f245a8c265d18c00cb97317ea1f094380a11de3ad85d59e461ee1ae906ad077e39ce147f273927fecf68f78c18db44397582f396a97395024ada56d85cb928d4d03187c5f0960d4abfd71c3da66227dcf603d8231fabc321324bc4f00053f4fda490af9c70b5a3acf67dd780a897d30f32fb841769191914c521e7f5da94ef012e8b4f2076f89542ec49ab9ac18d1da935fa4 - -COUNT=37 -L = 2400 -KI = 951d2c2d7be0540bdf11cac1f3379538d4e714c8399b284ce67e8e856ca47fc4 -IVlen = 128 -IV = 8ad88094fc5fc135e0db7b41af8aa20a -FixedInputDataByteLen = 51 -FixedInputData = d109714b71e4da77f9e68a71b244108313b09d544ef5bd4f103fe3f46298cbff5885e068d48b0b3fdc2e2333a7ebb8d54c9435 -KO = 5889cc348fa4737387e84c99000a44b303f7dff2becf179c4c2ce2f05e4dbcaf0fdbd31b8d60aef3bf2020f6bc99c4d329974d552fa215f3c7db5e651be694fc3da4dc74c1ea3007dbbf020a5692ae6fbbe26297972d103565ac2f4159a1cc719dd33fb31df026c5e7d2053b11ed540ae6a892b46708be86d3f786c628bd3966b8536a7fc29768838f09d566e1e0db3720738ef3cc534d9fa324d6d326ddba27e332898ae5476ac4d3e4ffe382bd7fc5e6bc193f9ae3f95becd65be95a84613008e520759804386096682e0136883e1d3ad9207c6c495882a1735c7a6a1e51dd259cd31719580d0c32c0c3175998f7e558a8d96048d78137fd932b7acc4c5736b0c12c3244c5bedc3dd11e1449a6ee57ca6b6e41df33c5ecc46672f5eadb5a0583be35ad9968ca89ed2777dc - -COUNT=38 -L = 2400 -KI = c89584ebbce0f1569c52f6639324b83f95229301c6ea410fb24b5f1863d27f77 -IVlen = 128 -IV = 49aae7bfbbd8383373263027a8cf18ec -FixedInputDataByteLen = 51 -FixedInputData = 822fab4fe225a35ade03fa68538f10a1e81e4483b13f7f69d4f626c1c11ed94f880897ec496da1aa5047399cdae441295f1d4c -KO = 1cc6d7985ed8b751cb0051802f07ab29447cf39543efa94c4cb6fa205eb1d62dea07aae60b53369ff34b617831440a6e80006a3e92a46ac12be3d0a6e074525e3a2f82eb2d6b11945d228d197f43bb75860b7cd453abab8b9ea002d0ca8d09e7b44014f6007323bf43ea740e9087cbbfab169fee941a8430c723b818fb2844ef991f7574b71fa2e435ea10672904419cfa3354a48d83cb4daea3ca3c15c626e376fcc2e3cb6f2d3b68833e461e8603191cc9f7c9fc87045624187cf636f19bf064d6687441d515e3c0a07093b8f9282546a3a44de287b566c05574c83afee2216ae2b4e2384c66df31cf54f3cfb99b2342e4c27aa19afed5070c529bd7a5e66bbcf3aae42be3f2b07318dbfc6f1c07d28ab3b52d5f649d912173c6acd940a6a491d3d8716d40f37c505eaf95 - -COUNT=39 -L = 2400 -KI = 979607b70a341136630eb8548c094600924f95daf78aa0fb4fbcfb36a8a2d389 -IVlen = 128 -IV = 7bee9952950c619467fd41d1235fa297 -FixedInputDataByteLen = 51 -FixedInputData = b8692a9d0c2cc594cdb704e65f2fd95ed9b82fb57c4a8dd9f364868fe604432b18d5dd2292907dfad5ef0e9e55d14e84eb1ccc -KO = 7cef8d45dfac599da3cf2437588912e15ec57316dea6c16456a06682859dc4876420cfa000d5814cc061adcd4606362a68a24764c73eaf114e99f1a588658600af5a288773c101b81b7dcdcb692c43f2385366faff57cf2a0883014ce1f66b1cd98be9d593ae9dffa644c5726a10d3df9cb17fb5faa29790b94dc210422632f77329ce076358f8d6d2530a22536e3eed60724731ae0ce32da783225c3bd6ca35a148027045f8e06965457e0236ce2ee078ee5c155c1f790e0a86c2bdac27f1c8a7c44a374549dacdc7d76387f98eca4742ac6a9dc6d2d62803934b46a6a9fdd8a7d550a93f7d618721b6a9d9c203009485c5a74325f6001313dd0331d8b8437a096c03296aa93295c8f2755bb6e8c80ebe673f6cb9ee12cc418d3281ff7ca25fe332092ae723cb17dd995191 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = b1cff784a08c1cad9015d9f95781f6d1e32a4d64153b74fed598ca0cebf9ee8a -IVlen = 128 -IV = e222fb4c864fbc682883e71d4f2ca9b3 -FixedInputDataByteLen = 51 -FixedInputData = 343b963845429d1a0f2554c5f68d0c71ecf340e3eff7abdc555791e9fd79cbf835e921549f8282492ab9abd2317738ca0566b8 -KO = 8632086368b49596392e4ed6457af2fa36325007eddbb5e108008258673ecacf358fb181c85cb494bc3b32fe3f8fc1ee7adbd750cc50c2111a5a47bf0f7570c3 - -COUNT=1 -L = 512 -KI = 3c8af09a1a729ef4661e46672cef699de9a65670a0d01586f0fd2af57cf76da1 -IVlen = 128 -IV = 3e28af25eeb72fbaf23980b8f1ac5fbe -FixedInputDataByteLen = 51 -FixedInputData = d67d92b7751bea31556cda6d421126ba5d2a5227f53b082911ad2ad1d6074588153472b7b43a776be553644008c2b7b9069976 -KO = 179299ad8c0e40ab7e127c43b817f4930ae7e8af2f794f4aa7e5df5367f1cd455e80480d7e9b795001aadfe3df15168ee8f004cfc001abfe5304fdd29927643b - -COUNT=2 -L = 512 -KI = c6cc8227e15592f02f96ae496c005c16c799c813daf54800b209d52db8bacbad -IVlen = 128 -IV = 1663e32ea96ecbc23d31748e966356a4 -FixedInputDataByteLen = 51 -FixedInputData = bf6f761cd59e015db824e0340eabc08a44bbecfd514f6407288d9c377e05a26479831044cce5969af79c0a3a7d3e0ba7673b8f -KO = 71dcb53a770fceadf59f61258c1384c816cb0a2caac28762ce8d5e08a6f9250356de555d32890a322e0f36c49899c67a2c0f35e8c5cc7e14c958a46b9f3e0791 - -COUNT=3 -L = 512 -KI = a9364838be64ee73bb11f39c4864d30e4bec03cdd571817bfd50ce55421668d4 -IVlen = 128 -IV = 6f672ff55945287a286082a2f41ccb50 -FixedInputDataByteLen = 51 -FixedInputData = f3e58acda6570d44d36f03e8b3a7952b168a15841d341df72ac392fddcebb60718ff16a8f4fa8830527972a3745fc52fbc7442 -KO = e2be51adefd3660a0e5cf6eb6dcaad50f790bb042cb7cafea51a1e1405d5c73900b0060c1f7f204ff8dd3c6747b30205647c347f81428a29eef4f1a45192cd51 - -COUNT=4 -L = 512 -KI = 4c3da25d97cf381e3d34b4a57703b52fa13205216e54f67fd80284653053d3a8 -IVlen = 128 -IV = 3d63bbab2c9c150c9067b160a2f2c1d3 -FixedInputDataByteLen = 51 -FixedInputData = 3693d50c83783a1cabfd8e3ca1fdbb627bde8ccba1d6062a3a01a0bae6812e8a5afbe9b581f45798db70da5f2ee371f6362edb -KO = 349214e6d15487a256c2953d5d175b3167bfbe811eaf87b066d21345e5e186529e6212c5e42700e34db3e5f832136bcd7fdeb464a9310426d5e0eb5fb4880df7 - -COUNT=5 -L = 512 -KI = 0c8d7eb1706b6b703f4397459ec5e43c5bf3da23fcad3368299227785e140f77 -IVlen = 128 -IV = 2dcc477881a09623083855761f3192b5 -FixedInputDataByteLen = 51 -FixedInputData = 4f8510c86815acbfdd33f728b108195bfc227094e66db2a672c2531d6cba793313450d07723521bc06219033212e73d743a979 -KO = d0c3faf15e1855b1c1a8cc6289101ddc0d9e8be88e131597a1070c878add704ef3dda51305694efd2ab817a093df344809d6e712dc3cd30abb0f2e8c1f3cbad1 - -COUNT=6 -L = 512 -KI = 073cefcba40c2ee9d0c8524dfe0c3aa0bb62f7b9de7302a945d93f4ef9add069 -IVlen = 128 -IV = 4cebb990103a87ed0ef33fa8cfc9048e -FixedInputDataByteLen = 51 -FixedInputData = b74a016763f127f6b654c984294312209eafb4285c55494cfe1a5575f563da8c517d4707a4c73c66d7208ec31d0a3e0b2db0b3 -KO = 52fcd3cd2ec8f04eda1b386e7737160f910b9916270e6233af059e22674e575d77ea59afc5b5d7d687d4646500080d3336d96b3e9325b7ea09ae2105a5ec4676 - -COUNT=7 -L = 512 -KI = 045d941ee918a178136176686535617ffa08c6505cebd242d6098b5733c691e3 -IVlen = 128 -IV = b2de71a183a96baa1877cb5a640ec649 -FixedInputDataByteLen = 51 -FixedInputData = c6eb8ffed3314a88141d12a3e1ec4a881ca2b95d2d5a3a351d77375729d0d4944f45402b872d3168bf91734eb7104f122ac035 -KO = 36bd168706d3a90a99863237274d5ab3a84e01f3d1acd1ab717154cd0379113496c3063cfe0e6b7d60a95d867705cf2454fc4fcadfd78185ec06fab75227dfdc - -COUNT=8 -L = 512 -KI = fc68a186c66807784b35a333fa85ac334a984afae9174579914811dc3a4a8e49 -IVlen = 128 -IV = 5222e9d7fb88f0d2e93eb17359d07835 -FixedInputDataByteLen = 51 -FixedInputData = 40578b89f53992f342186d89c0f958d76b49d8f003ab4b1c2f3bdea9ccf92ead1982ed28a24214b3d2c744814b59076af46152 -KO = 4624990c941af2b320995c6354fc4b3c0293881769aee33fb4194696bcc58d82e1bf0a2831e3af26b469ddfd84eec3774ecde2b35bf5e943c81121cb9d04cc01 - -COUNT=9 -L = 512 -KI = c32f62529784ca9d4f04f5e43f02632ce70eac2cc5c06d4244fa56f3fbef7b0e -IVlen = 128 -IV = ce5d4bd293d8b5f08d49ccf71dac333a -FixedInputDataByteLen = 51 -FixedInputData = 31538ff16e10cbe86f28c77b8bda91106d1b36260b0cbb95377f5505bab71fb3ac1e24947228132ed4075b78fd52f4d9ef137d -KO = cfcfe6cc9f055d55d20f3fdacff7143b43c7fe7650429f3909592e2c781ad326c1c4c46f228f1a3f18995b719b8ce9a5813785313d4cb0d4d55a990db450821e - -COUNT=10 -L = 2048 -KI = e869cfc7c6acd909cae1a51c72ff0ede5d02f1d7fe59bddcd9ea4418858474f4 -IVlen = 128 -IV = 4ed41a66de2b6d315416f21a91008887 -FixedInputDataByteLen = 51 -FixedInputData = ffa2b288cf9aed1fef8ec6ffc634471f4b1db3857bfbff9d44572ec5d002202783cf556b56dc3147ab2e443fd8127db40e159f -KO = 1e1e1861a82fb88a7059d12ea23041299d90c6a3c5828053735578e86caa57a7b24529a20f143cf5c5540ac16249ee190789dbe3ea9eb9274daddcd5e5de32cfeba75f5d1e693e97c96f3e77e2c5adb7529ce0fcfc58a4f6d6c13a3b5c6f90648a2c08f9c78bbd97e5ce814d06a092362f0cf7ff1d7d9636fb26a86c11ef521ea434fa3742c4e5689d909531234f5f3b68e359f573a63e7928370d4bb4718e2a609b92e770e6d4587a8c4048539f952ad465559f8be61841b9c847991e1f157ec028dd91bc0956fa96cae8838d645ba21126371588f2ad2d6c6ccf753dcef517741f9533fd8d928598be4818eece8c7a3969b6c725a3fb1331080db68b151561 - -COUNT=11 -L = 2048 -KI = d154b5eecf54312e44578c3e19f6312983e8d796bc87da6d7a56b6f9851cb4cf -IVlen = 128 -IV = 19da211e68ef158619f1664faf5928c8 -FixedInputDataByteLen = 51 -FixedInputData = 2e6ee492ed442e02d9f067c7b9154f8fa5d94ab196bab4fab5474de41e460fdc1dde4cf8ccd62d373c36e5e6ee674ccc4c0f64 -KO = ee7b13f74dc600d79dbc01f08d5d24bfd8d09b8b7c2acd11855ee9eaeb2d8f8491d7c0e983414df549040deaaed5f691d1a0ad8ff8a381ef6ff72237c0d2734582bb1cb7c6e3d7ce1376dda91a544432bfe7bf8c175900cd3b7011b5c4f0cef79e5bf6431059615896ac3e6dc8e3f2ff15f49865e138b50f3d14e257bd294906bc847682d72e87d27cfc79e67a61af589361bebf28ab664a17eb6a9abdc1368ebb5451d2ca5a4193f6e9de8027b8148727a6cb5c972a1c5e8992968073171d2b88ab83330bfd06485a600adfe4669b444257c4e1093deec1c0d02fd46b5a687621c30ccc3011c1932eb96bcce2832f10ddeeb9b8c4ab8100cf20e69bde14ea86 - -COUNT=12 -L = 2048 -KI = 27b8c555438ea0db1a1b51d5d51a37143fc36dc2f6f3f009ec61f5dda9e3b8c9 -IVlen = 128 -IV = f4321e5468fe1ecc1b4a6e544ff97fc3 -FixedInputDataByteLen = 51 -FixedInputData = 32b5749eb13edd76fdc90a95ec9081d0de4d65a6a8e1535db2a129fdc8ed2edef24c924e7c01aada3ede2304837f43828ed0d5 -KO = bc6be57fef8e969f504ed48c81d36c19c696c961063fd96641e01685540ba7d745f486c52d43171ece757d723a1c779a78ec31809e8bafa05bc3487506a2fd0b68077fd5a5c2ae1fec2062bf28de19013e90555761a14e1ffe463a366d8bf5074f51dd88230e074a61e473593cafb57d5cea76e7602c2a69a2130f35d3d4b3305269637f470222d6d0b33fac15ddb04970c6823c1995ba32c5e664914962ee2ed869d1caaf8784863d85eab302d509d696f50d7122647df097b2a4c72493c816c862f174ecd4dbb563e8f2c1b6aad6e25510958ee34c2b7752c4e847f69c8f022b7c1eb7edbd42044c3ffe8792a5741dcbec9c2273249970b13ed2a78b8b4cfe - -COUNT=13 -L = 2048 -KI = d1a57ee41c77f0add2e4967911a4324b194a5e5c71e079d7fc0a8b55e1e47f6c -IVlen = 128 -IV = bce293ecf442850cbd629cbf004a7edf -FixedInputDataByteLen = 51 -FixedInputData = 466e5a46a68b15f0d115b18251838814ecb3ccaf2c4851853f3f282b085fbc9040d3c84ae8f279bf6b8ead80ecdbd1f8d977a9 -KO = 23d3763c08f6cb634d1497bac62c3a1ade63b53d5a7915e6db19860262460beb68af6e675a87570a5f12e3c3b5101094a109cc9a3881bf086acd4620482655cc6474878da98fb977ff349d7f402b968e6efabd03b58cee68a241d113220b10b4983b7034f374756b9ec38a30c3fdfccb80861eb5c935ae227e95a0f400f54a8cd25187c1a17b342bf0391de25b6d4d9bc8fd8eacaacf117e5d7ecb224fcbdb98386790234bf7056def6a30a8d15780103359acf25da2b9d95c3f63adce37e62c7bd849300f6459d57f2dd398f537f616109f1789402364bd3d0e636b488d7418702bf40aada6ea09937184d28e607beee7cd0e8c54a5bf66e7097434fb098cfc - -COUNT=14 -L = 2048 -KI = fbe5873c7cc048b4924ae0a98c1df81bfe8af9649a56d68d6d7d40a1ab046a46 -IVlen = 128 -IV = 4d0712fd614dae4ffb4dcf90ac9a681e -FixedInputDataByteLen = 51 -FixedInputData = e5099c8b3405a8fcd03ef7d32e0a2bb33efa929e90972b89059ad5f288afd62717a395ee6c35fae792f439eb744a92047cc059 -KO = b380979ac5052bd80731100283a37a8e89153955bd8ba0e2a2505633678e031460cc152e0b237f9c7aae1c13713c5256f424421a1cf880ea825c000dbac5487e5432ef7eb24319c64a6103f210805ca42a50fc825958a3693715a77851ffdac12d188313e600975669b2a30214b8af72e9290d07ccd2fb9a0938df3f86f1fd561683f339a48d8f9537bfd2e15cbbe987a89e2bf42916006de29f1fc70160b35d25a4da3a3c25888794ce52d9aacb96ce314c76f4b31ba6d857090f65297a72f9901fa9016967d7bb3c27e46ea2ba703f073943e0174fbb11f6baad2ccdf4eb607b82d206eb481937ac8ff80d0bb1a08c7921e692d8071da9c566ff62c94837f9 - -COUNT=15 -L = 2048 -KI = 4816582a955960bdafe388195185723395d54e548630e9a985e5d4f551c35a4f -IVlen = 128 -IV = 14f89ae5fba1c985b688629b62e5e631 -FixedInputDataByteLen = 51 -FixedInputData = 964ba62f7372bc4f7131008e9574198cd2a57688f671d14013232e812741dc223d7dfc87c597cf91d60b7cede8d23606c96c2e -KO = 7b51766daa52f973d09fe372c87c5fa89a4f2a93c6717af4295dd546c25ec2aa91869df293faa73f157c3070357d72615d7d3821d12e265e8c42518d0a3e1ce2fc175e7c2224ff0be74a0e41190a329fc4e9880962d8f4bb2ce91ac756af8268c2aae1fd74b61478f33155e0c9de86af2e82d50a100e2fa743135a6cb5c7c42d8b2f517ba7e805665b07b14465b69fc84386fa614ceed6d2a151ef8c2eb9b491a52a7ce624ae233d7d99ae4ec79d031540df6d681824d52e2fd725186d2c68198d1d35edda46f02246c59fda0449bfc3e13f8f86910aef469e9f4024505cdaff1aed801c28f5d58a41c84fd1d1a6ab790aa8c5c6be28078708300849acb8cb9c - -COUNT=16 -L = 2048 -KI = 474d18e0f00729bce57f90dae0029c02536d06e195eb68f065474d6f0e662060 -IVlen = 128 -IV = 27e90bedaed65c6b3103b35eb9af8d7e -FixedInputDataByteLen = 51 -FixedInputData = 08e02dede883f493b80d34e62e01bd8f2ddf4090109da36d66d5fc3d8ef2f4ba8c9d06014b260a6d4513996b77bf48dc5bb2d5 -KO = 503f56a03ceec03b5b6e59545da4fd9fdc805adcd96ef5156b6dfe58687d91d981d777cb680e9ad4d96e309f5a9f78bb924f558aff2e3ab0403db27b5c366874f6e76658dddea54d18d1487efaa73bc6c96f91878a1654b4e8cc77cc459f6c90b01b9b1ca52014af9a8c5edf752e897ca9795d2938577854d108e236087f367e2ac8c804dbbd42f029584fb8d1fe34052ca57908d66ee6669f681761434e231c1efb3f9f749ed9d8302b6dfa1286b88e8525051f7bea4adbd489a9fc0e034455298dee70c30e870a3965db8611bca5a2d9021af5841b43f5696ef5fd150cffcee95eae2c346e81b9538dafbdb996de201b79b6bcee3c0f1a6c118f58df737771 - -COUNT=17 -L = 2048 -KI = 6faabc864608fc351eb65bcef2ea95f1ce2a72dc7a9bfc0c155b280cdc378544 -IVlen = 128 -IV = a73c3da7e969a45ec18200e62a964965 -FixedInputDataByteLen = 51 -FixedInputData = 5bb90853fc3f050c04113836bea0c03766e91c2adc0b75a97ddf791624565f3375613b3b6692d69969605f966fe1b5e817ad6c -KO = 8c50cc52eea1990cd2c64728360332b3478e9ef17e27767abd9ebfbae12d9884918ca6ca4a941c24ba068e8f133e22e7f422c5f5bb56689665010b83e35e0ad8a15ee1bbca48b8067a8f7b662d1f699827c377b439d0c1be71f740d8aac23344b7c7ed306a5c514c1a9e54ac3b628219f5f5d091efcecfad0950a8e5f6207fb0fa9ce1ac84b5b56f6b7b88d269491edbebe8ee7a1ca5f90d500825813d5c9626c86eaa6ea5254a39a3b34e951e40360b8de3a0cefa85395e10a6205f49249a6972ba224e7011463843ce93f82eccaa04d3169edd3266298175bc24627327cef96c1df11db7335949098c4e175b59f41bef575256bc9e4a3220f9475265c02593 - -COUNT=18 -L = 2048 -KI = 7325489db1c2538d1807825ec34a8ae582df777cc4ee5fdb2e18784f953df0e6 -IVlen = 128 -IV = f532872e07a32f41d92e6e1494a0f419 -FixedInputDataByteLen = 51 -FixedInputData = c3218926b0d882f19d04da53432ff2b4da2e530b66ffaf99fe2d714dd50bacedef167de4efafb231e377bc0dc277c21c3920d8 -KO = 59308fcfb8b37cc8f79f15b92a8c790dd6a0938de589200843c8fb1e152e03be3b35d2dc9bc37267566cfe154585ae0a711383b64c53a7c383f65d81f12707d556461f5d36d98d5cb51d8c7c5348ea27ccffbaa35bf4c059e29b8d7029e90d0a92281bbb00cd5a4eef691ed96a27b8e8e8256055057ff9a041ec3974229f13ceccbd35299a92c9b385224cb1690976eef7e01065863bbda5c7bffdb7645988a34426cabafe2df1310cafbafb18d8d4280f02a7855cdde4177590aa1d628c5f908b1b041bc58f48b97b95d24daf2c38b2ce3dab9eef13f2f80aa8a18b2c34698a82a10cfaf62220798b305d83de4aa287b8a34e7dcb0d969748e10eeff8586dac - -COUNT=19 -L = 2048 -KI = bfd8345ded0bbdcd230c4e3be3b5ac1ef7ff40905205ac60ddad9dcd4fe7a767 -IVlen = 128 -IV = 5aee87586837753f6d8d54bf6f63ac73 -FixedInputDataByteLen = 51 -FixedInputData = 839b6cfd894d55f26fa56485f0793cd0a666d7d0865c1c45ec31c44f447dc13b5daa0623169a0d463694d7a5771edbc604f74c -KO = 62e4fac4744c9fe633609a30ea05213ae13db479bd72f4058a1bab4871308ae1d2d380822e697375799946400ec97ffa5d0cf8570341753fcc59a87391a04b63c31df148935e6089ed98de324503a6352fedb2c752b8ae750a56c5eb556a986c0c968be13a7e7b6696c23b3a3823698c3d3720ac032eeaf0ef8fef8d3e9e881f77526de898a98cecf92420bde2a45e0103be39c532f74e585c6e54e407ab1ba6ed5a861f6f6c399275fbbd6ef2afc877852d9be6669dafcb29f06bfb4991384fc0e0d8628bd8cdd08ddaae5047877f9fc3324414e3140da66ed5c57e4b8925a2c4db3d612dc9f53d4acb305454d24a20f1797ede9791fb0c5294f7d4892cd899 - -COUNT=20 -L = 560 -KI = 52862ae964b8f96fe188bbddee67fed26b82816d1dfc401810ba82b9c5d4bc2a -IVlen = 128 -IV = 97eea2f7527d3f451ba6ce48dd7e48bf -FixedInputDataByteLen = 51 -FixedInputData = 99112b9d50a61aa97ae28318b6414504a0ab5f4e4d4e152da9011476b73c5d6e03366a683b4e4a2fd26c003e6fdc8820f0b366 -KO = aa0315a3e4bf39ae44832004ef6522b09bf8465d2073a497a4a396733f4a3a8a9f003e2e106b2d042f9afb11a423db799b00d9954040bdcc594220862cc9c061f4bf4ccc6d12 - -COUNT=21 -L = 560 -KI = 889bfc5a478f2a57e22f6edc8142496feb2a35b9d37393f981c7215640df6bba -IVlen = 128 -IV = 7c87fbc24f6651ac938b75977c9f372c -FixedInputDataByteLen = 51 -FixedInputData = 0ba2eeebfd9cb9c3a034420b93e5f7d9d45845bf9e9b9714d1ba34c0e945cec875ced7af02bca7e281f719cc20601667df514c -KO = 0477eadd2953b82aba7d5eabe0b5acc25a3d40e97f1604921a23729522a1c26a8b0e9e3a113edb580bb4150eb8e5ed9a741a4ccc3e07dafdadfad62a9873900cf56c853f64d1 - -COUNT=22 -L = 560 -KI = b32ef3aab46e1f2d3ab192ff905e31d25611926232c6c930a8514d28996fffbf -IVlen = 128 -IV = 50b312f95f38f16fc0e730e7909f454a -FixedInputDataByteLen = 51 -FixedInputData = 19800e9fd103cb1df85ca5b33ced32b9fa7a96232fc8b78a64d679664b4a90420c3ce2bea3dd323a0414d638b3da65bde6eb53 -KO = 07ccc68bede17eb534f1f41377a56aa54a62ef2ca9684ba59b8f00003df4fd92ecb1ce6465ffd8ea7635a4d2dff0da4820694f4acc1cbb924254a52cedac5cfc7464472b1171 - -COUNT=23 -L = 560 -KI = e3b78179235b9dea0cef16760226f5cb04c38ceadc544344d7102a218808b16f -IVlen = 128 -IV = d2f3e462849509fadf5937ee7ecb9440 -FixedInputDataByteLen = 51 -FixedInputData = dbd6c925eeda9562b297f42231c180f11350306fd7b5f8275a0226382fe42a256495cb89f3b1428076e41c9685ac85050d927e -KO = f39ec3b9d8cfe6d6753c510d227c4bf41e6d2471f121ce6d7238150fb92d196ab6cb90dd3411921ba9f2191dec9e50ea6b791e918a6ecdf478bd5b158c30190321741aaf40cb - -COUNT=24 -L = 560 -KI = 1ab476805b80c6bbc059d56de0cb7f5cc49d6d43495c16f76c4982f8b8dab79d -IVlen = 128 -IV = 6d75c3660071d038008fa77924a38c05 -FixedInputDataByteLen = 51 -FixedInputData = d74848aa4dc7c478fc6ce57e2def964dab581f6b5b223915559ed57c1f6e4e7e13a384364541f8b21135e382cabd7a59e2e515 -KO = 7070a783b559afd44c83d7bd28d16f80e62c3fb952d3f614b7abc334da0b899f5f935eb2badc70b569dd3631e319ddfa0be1de520bdce452f295a98795599dac32f7d559134c - -COUNT=25 -L = 560 -KI = b4ed9a4b707a9a1acd38d514e4d69ff1b409d71bb5119a6aff8b40d994281a05 -IVlen = 128 -IV = ea5133a1f0bb2cee6ab28e491f8edce9 -FixedInputDataByteLen = 51 -FixedInputData = b3fc542893f2f0eabaeb8706ff477da4d3b21b2772fd9b6ea24bef3717fce9197423c5b0dd95204a75024e92798f61b20d58d0 -KO = 74d351618cd59a8b0c37515274365265723c30413641c182e0d508d77b5a942022f434bb311a4d3ba658cdfdb2015cfb49778eb02ae41acd49b9bb2b5ec2c7b07871f7d1c0c6 - -COUNT=26 -L = 560 -KI = d0f76cff3909d8e2c93c03e5e731fe7d33f8243be94b9767a4e98fa4ff03ff50 -IVlen = 128 -IV = 3f7c29435c436d7c7055cecd6c5b0c4e -FixedInputDataByteLen = 51 -FixedInputData = 01dc253f5f47f880fd6606b2caa9f04aab2f7a60c0147b8af0ec1f26cddbd474dd784d0d782771df6674af771399aa378b3f35 -KO = 2a8ff1a9efee96170eb3aa550eb13a99b507fa7b5166011267b7d9b6b33e6cf533200c1ec77c025e895cb1055383e0c47cb5ad5d391f8d3e13e15a4f79a6fa576bdd50261ad5 - -COUNT=27 -L = 560 -KI = ad5b877d2d560bdc82eb3c766b42df52ad37e95be2a76caf2795a7a0b4c40206 -IVlen = 128 -IV = f83f7bf432f76528c227d425a2c0ae10 -FixedInputDataByteLen = 51 -FixedInputData = b8edf3607cf3e4a0c4a8ffe4e3a7e116236a1a3c1fd631646e7fe72f3e6467cd383b1bc646e507d2ab4c8460b8c6292f18a2cc -KO = 7cf246c8c28f82084edc15559e3ac14d9fd26e3179d65426f44917adffe50fd682f11cc39d28de916cafdf73b81d67c53dbe9d838d5263c6840e726929839f38e37230dbb2bb - -COUNT=28 -L = 560 -KI = af9f9d80a9ec500868e32dfb91404a3bf1e7da1201a124448e4fb5c592821221 -IVlen = 128 -IV = 1330061c7d85899c8046ff159e1012a8 -FixedInputDataByteLen = 51 -FixedInputData = 9221b38024bdd9c9f5def4c8fb17291b78c1136766055ed36d3b1ff593112d84d941d89052a914a51591b2cc4437a018f7eaad -KO = 3d77185e8398099aae5746c7a310ec09ee572a16a6f8d77c11341f83bdaab3eb09d4e4114987fbd6b4ce3e3bbd7b478b0759c3ce240beac86ff77b251abb54c40dd3428972d1 - -COUNT=29 -L = 560 -KI = a4854a7f92e6c1352f626a01a4b95db61a66709454b32c752b58bdb7599485b5 -IVlen = 128 -IV = ffce087850effa3ba9d1701b488c9637 -FixedInputDataByteLen = 51 -FixedInputData = 178408bf794ea450dc2309fbb8cbc881c280955e553d81866272f7a9c844be32fdc7b9e7d75992995866561da77f2303535fd4 -KO = c960d1f77d2d1ff8fac1eab21303c29b5a8737a5cad07ab9118dc35600fd7d9618125d88300e38fa39e11a26c34ff59f485cfd2204e8565cfac51d2dffcd920315df1c194002 - -COUNT=30 -L = 2400 -KI = d20f9bf5baf577007a43c564dc65e67a1c342ede04203e0b08060dfa70c75663 -IVlen = 128 -IV = 90fe8ff524f4475291fbf02a4ec16a69 -FixedInputDataByteLen = 51 -FixedInputData = c0f99288bbe268c314afba8ccf19bb100f45aeee5479329bcb676387ccbe92c21777018b98287b5231bd50634a391fa0e6a209 -KO = 280b8df7b859f502709a4ff057dded17259de6610503f6f835466eca5a66c501bd8c269fb6b33979d8bb5ff64eae3d842c731ee71fea2d2b282fc64d0c467fd28c65188d82d04ccc6846791ab376e2d94ed6e437f3998894ae158ac172dcb178703e0dbccbbf3c3be2d29f74fd6a91dc592bf38dfd01e87a8aa45cccdaa94ad223dffa82d65cd851700575cc06044018ab1348d46639a8eedcdf76573aff9a9df2649868d04974f8fd5993d366290a46f53a3c7df1a3774f8e3029e26521f354d11253c94f5576967a62c3cdaee96c56c8056f3ff9999b708783b12481d0d9ea5b63e51205ec0ce04e36701683ba45dee3398df62e3cc11621ba4dc96bb897f94f3991b857e469e4542b8581db9ccb857bf53f08b73fcc47b4d7419c09418f5afaf0dd658e549aa0219cbae7 - -COUNT=31 -L = 2400 -KI = 833c09113375350dd5eb85baea284fa128f40d5f0cb05c74cf5bdb527c2ac6e9 -IVlen = 128 -IV = c18d47c5d2d1e7875e93ffd31f6365f3 -FixedInputDataByteLen = 51 -FixedInputData = 6fea26c5164e13be9e130771d83680353fbc24a61952a180b8eeafea16190b22cd910cd96e4b5bd159893b38ffc59658c561e7 -KO = ca5a0c67fe52e266bfec6b770dbe0ab7d9a22bc89f32d9de667a9cd23587d2f951a119cfe681f38d51cd992eb17dfd4afc690565001859ed4e4bd99dc9d7d9691f80be96553c6745cd378d2bfa97597ce56cd16fe349ead78a7855c84680e443f858897090e2adf5e3338b8be167390b5bf707e2f03e27e03974955fe7c41dc4a15f0584af22957ca864c9fac0c81bbb686399587740d8e9e8255239c3e46d895580d2e374dc027bd8f30829dd8887df41abc565b0590fb1c8969b188bbf607fd83f315f3385175726d2bf54805038aca2b098f349507ad83965cd804a15986c2bcd85544060fddf70d183216e4b39c68d02924599fd171862fb8b294d0ebeccb556b2923df2fb65916dc76f98c6e731920832729776d55c13eebbfd481c37b68e70b2be47b17003d8fa754b - -COUNT=32 -L = 2400 -KI = 4fe8dfc531530d4f957bdeff2cd2fcb973a5742e8933debba9251cd00a855f63 -IVlen = 128 -IV = a6bb4147b1e2aa30dd3e6ef19150e75b -FixedInputDataByteLen = 51 -FixedInputData = 92639e975c32660b16bce98d96834f41a2aa992bf3c772d45c90a35f31962712da9af64b2f5b465c6110e4a982df5fd1aaac79 -KO = 44d9a5e8d8f732fdc905a45522e61b91875ad94ab92ba6ed3bc4d9ae26c4450b1364583b4295f86f9a32732240d4c91b73783998bcb0afb2df486ce2592e3c347d8ceeeead85fce9260d2dddce5f7f391229b0ec2e5cfc1b79b401e02ab747e741f418218adc1d8d3a144ccd6a318837dec7bb621a06b6dcc9d0702c2f5c8923ab794a51bc27106a9317af9f62e7cb84b6f5f8db628837229279184b7441c6c9d0959669b0c73c5dec760ae8f399dbeac81d43cd83abb1cf10fad44ab76f7fcbd335f7b082b04f628e15bf88d527b49416730592a445d817e5ccc861cad331b2b5813c38cc125bebcc3e75b96fc841a2eb8cd6f7590396e5353b46e2687f9e5ca67145676fd47381c2cb4c2fcac791d3c72060bded22181eafc77e23aa13509e98e84d26cb1cbf616ed512cd - -COUNT=33 -L = 2400 -KI = 01c1472cf9c01cd703c4f8809f7ec8d677d18e9352b87fd7187837102cc1a23a -IVlen = 128 -IV = 94d97619127209eb8afb5d1ffa2c4c64 -FixedInputDataByteLen = 51 -FixedInputData = 267dd04579268945e044eec69d7f760a36674f0583883c24fa2e1afc0811858e6cf0cee766e75c63d74b24c798acdced462ef3 -KO = 074edfd73414b68b6c95bc5330395e5e4bad61b767635329def1614360d42957bacf082395a640449b4123f39d85778880b701d0dc47b01939020abb1e639b0f49397d6c3b93f9331c5339150625ab98dced86516f47a6e7a267ab17195ecd3ace15d2734886d0438836b2ec5815638f8f5bc2cc9a5e3fafc60c89e83eda0941b62155db94e9197da2d56b9faa2b2f5dbd60c4f39aae02433072bccc780745f07845d0108c1597de350ad309e043f513439c912b67bd5b7e179b64b123bcd9a9b8d8833d09044d1431467a5f4012a5898a557be2f2be7b16951777bd3ac2f520d6415af588669bc7b27e1ddb0719e2454634da97203e093456f3598c9943b3475ec394bca03c35a4bbc85d688971f1e0cde4bd2f28b99ab5f2188842e2e0085a095e3640a0224889ef66d814 - -COUNT=34 -L = 2400 -KI = c73b996c23fd08a4d287ccf33295717729e744af607f3c0a67bb609fe6eb9767 -IVlen = 128 -IV = 7e34c3fa12d196cc339bcf0f87016de8 -FixedInputDataByteLen = 51 -FixedInputData = 63135c0a09c379dea45dcaa55ec76941c4926b487afb66d0278ba0d901e31ce14f2c22a7f5094b780ffe7c4fc98ce5f0bab8da -KO = c674bfca70846daf6b9b14b8c368e97ac3fa2b862ad9509fec1baebc0ed94fc7871b1c18e27d096f2729503c4e89865205a57ec8b70cf81d7bc029d4dfbf02ca535eb077ad9fb6dfc556dbbbf9c626f3f0c5369c86db611af96305875d89376de86e7f7ac90c1121c73bda968caa3cfa7cd2bf858fc990336caa7208e408549b4ec473f38aec9d1662f0c1ac186d5a4acdd85063e916de55d211856711c65848ef9923fa5cb8c2875ecf830e494d0ea7fe3baa6d228880b8b5cd29c8e129045bb8ba6f2fe15881ec858e80924e07bb498ca2b5a1b50c3b5ab49da79d54b714fc5a1951769d6cf28ec332297bd920f2b5c56db74b07956aa7880e644876c9635a41fb4552bb9711af102dd959c63e73e9fbb35fa3c4af232c2821249112c4463242f438c6e7beff326f8a9ebc - -COUNT=35 -L = 2400 -KI = ccdf4fecbd02ef8a5516cdc3253e9df91439bd25a199975719c3a44e8a7e0560 -IVlen = 128 -IV = dd255d720ce9399d66cdf2e504203c77 -FixedInputDataByteLen = 51 -FixedInputData = ee0d92cc124404b7e1d5f9979f047dcdf22f105f922796211ccec11da92d1b003b6fc28c1ef64490376d8c1d5c8b274692a9ba -KO = ab2cbe01af0b600fa1d2923caf3dda4b075f9ebef72d41086543889cac72dbb058908937f1b2a3b6da3ecb6a3c033d8e5d9b67196157b33e8b7c1fc29a030e9c3dfb5db664a40ab2a0e67f94b116a0fa8ffa9f1a4440bdda7612573802038e227864838cb2c2c812fe83c84985334c6d930f2abaae4ab7580ff7f3b3ffd3d67cef4f8be18ed155edbf1ad2463e43be90d56f30ab320584fba8923a910e54c676cecd88f4c337aacbd0e46c2e73749b592c1f4b9f081495099de9561fedc6c6389f5ff5cda2a91d39ad9a24a1e02ddef1ec2df5f8b188c5b42be668941d8aa251fcf13082ab7dd55c157e0b24e0816a9e3310fc7211d87f8120a0e5a1ab0768ab22fd52c541438b13cbddbb39d5e0ad885ce6b1bf59ec00c4c15c1cfb69525ee56ca0bd81a08a68bae96d5ee6 - -COUNT=36 -L = 2400 -KI = 834471b7205e7337481240313ffd7070e3de7c661cbd2a225c6472c129ac6eab -IVlen = 128 -IV = b9cfca2f93d17e74fc21a5e7961ca95c -FixedInputDataByteLen = 51 -FixedInputData = 90bd615ad7129a0168cd405f249bf7642bc5be50c5f7ee3db180ab192ed7dfbb4b7cf8e3057aa5265d5ba5288476fd6e060926 -KO = 99b907b66ed19f2b8f1742f61fc83ddfdff78649870de4a36312e7239daa1126ec626b3371c34d301ca2998879dd66c76ae00c481bd5adab1f52ca83e55e2b457b451983d747e23b7672bce5ec9108bbaac42cdbe99128001e60a20e2a5c00410dbebc792d40d93e5a5f72f5f5bd60a9a302cde0ab1daa24277952a5c61428ecc3e1adab12fe5f468e3148ca28546cfc08571d10cabe10b931e2623a92b029e9a1f94196b29a63d9cea594f3d83ba7b491542453c678599529f480a3a30400c72fc8998652c1c00ae0585ba500ff8d563189f95fd7435b75a4cbff8a99fc80ffb06a67e679fc9a85c2cbe200c2c574db491122cfb5dc8aa22c680fa8468080a0417945897b9b282b11730adc54bc0de878fb258b5d9229a0f56040cda49e0cab26d312686fc90bb2d1014cb7 - -COUNT=37 -L = 2400 -KI = e1deaa09db0982554ceb2e7621803ca90c0c77a24a67ee71f46f38d9614f6c53 -IVlen = 128 -IV = 4f42ac7d52fa3c45c734da77ee763719 -FixedInputDataByteLen = 51 -FixedInputData = 3c1bb81a2e3dee68fa8887dcd69b666380b9b6ca1cb1dfa8fea9ab335a2010a463dccd9b2a581c641f956c30ffb17b2e57aef5 -KO = 7753130771494e4d568d56a58ee15efd6f7fc88b2d66cbd698b74655463dfcd2dce6bf458d2146da67171b36c437a5ef21f2e5931037cdacc0f31cd3f7e132d1c8b83a05ebc9fa2b6c22e4258345ea6d81b8fd403dbab79ae22a6b6bd745a032fd8ba721af22f972b484b70cf461675c542fb22cbefda21ce6554f1063b54171a6aa5019f892271c7f5abe96c4040efba2d581ac5ae103acaed0535c4a08016aa693e50f29928d262d16c089d150426e78e797fc7a7a641dbd36bfc9834eaabce782b219b50dd7ddac797eaf4d6a0a001b9e6956daa340fef0fefabd1de7f117005a336080789ff5447e0e64836994b256d0d3d3c9eba7636a88c925303674f8cacbd97b8da65ba23dd6167598553bfbd825b5e06211508af118e589b3bd257cadf30b9c30a571b61cb1eef8 - -COUNT=38 -L = 2400 -KI = 44087c52ac93c9cb3c2a1023eda368b722078b377dd8091c99ee95db4664d689 -IVlen = 128 -IV = 2bdd10b7f411d5f39aa9c62c5d360395 -FixedInputDataByteLen = 51 -FixedInputData = 7115f202252a095d5dd2a36d98b6a420115dd9640bc1bd4c990fd04d8d9e68eeff57be19c703a6f6bb18dc0f978522e6197094 -KO = 724f85d14d83b50c043163a5c372f250f12b18a9d5f65bb9dcc99b360cd92785281e9f938a7ebf6a35245c6bf73a0c778968cee70c9fd158984a792a466bcfbdcb97d2b60f06ca2a643d3a82f9fdd80474ba0ac16ad98cc31d2f0c797478289df3adb3e279c9274d2de5bb7290cd731bdf68a54199ec967702b2fa7f52fcf35071686e1779c4b59d49652e419b02ec2b709b006d1990c49941fefa253828a398a7d35c4c4aade3ba70ec191de155d7a66e398ae025943e84dc5e83628b687cc4ccac37c5fac483cdb3ff756d01cb9abde4bdd79659d135e19217083ac73d33b59fc962c3300b3be97ac41ed2fc6ddca19423bb78b7540dce237d858b7e14c2cd16858706c2a4cd729f934a252d5c71b033c5a3b3223c15bdc070eefe388e0ed8497ca99fe4430e48210d0763 - -COUNT=39 -L = 2400 -KI = fc554d16a23547eab79f2fe0fc80d34cd0d039dfd5a5074468332a28377322b3 -IVlen = 128 -IV = 153e76865c968eb6aca6349695a0ec5f -FixedInputDataByteLen = 51 -FixedInputData = 6368c5216058322f0f4606174949daa43d8f84ca5b54e073ee059562bcb0152efcd5f4be1a6006d517731d107cf74c35de47e8 -KO = 6e881a501c599562a76327051a2e557ed8ee40b02ce73ce6ef960898ac0aa67f2660e44a617af056b7426a6126ee7b4d1d82699f033168bab2a1a9eea55797f0f890709f216e696ae13368e674e981c67826d376e24b1bb413f06a02d225f287b8ea4a268d8add41f6ba8518274401d6a1ea5497c46153b8f92d177ff7e071cb296b8388da4cb2088d498ed01ff28d7ebfd31e7129861d15169e8f1028d5156012bcee16911b94d8e14b9d69307739c29f52db268cb1f909972dbf06d16433ac27d467f635f6dbd4729a73909d43c6b86d5755522d7d331d9a1ce21c8b7f2d2159d803a060673a7f2332b8d542c21a7adad3f57a6d517650abce9a7252baee320e48706d524d1290cb84bec3c519f3a34aeec31137c158ac11254b440c784fa1d2eeb63f4cd62d3b882bf20d - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 5dac0cf332c17afced529ea116500cf779625c87fbe6001ae99772132db4fd17 -IVlen = 128 -IV = 3814815bc57f520aa772b3d0a516414f -FixedInputDataByteLen = 51 -FixedInputData = 064a3659ad1068b521d4d4c8467473939c044354bcc15510c870333eb70226dfecc2ecc279d6b1a4e29ef9d01120c1bacbdb2d -KO = 8e6a1ddfdd298eacdb95e90fadd92a189e8ea31cdf25009838bb01f9e0b42fff5eccc733e72190ee78cf82598c6d5b3aa525025d346387a59fa753d9ae504c12 - -COUNT=1 -L = 512 -KI = 24f0b0c45bfc0b4c528292dd9b28ddff8220500806a85a413de9d19fd2c559c4 -IVlen = 128 -IV = fcede5db7184bbd5596f721081baac6a -FixedInputDataByteLen = 51 -FixedInputData = 4ff04eeb44038af525baf3681cfb393940e5d51356af66b9901ab3b7b6b6413fcc9e9aa0ffc80bc64b9d1aa08233cb6d26793d -KO = 725e14709bb279dece0fba2e9ea45eb4db974f0b8c0539cab78aa2e6744435855c5cad089a05f0e559c224ec286cd4302edf08e3a651135bd32028a4da71943d - -COUNT=2 -L = 512 -KI = 967e6230945dbdab4b37f7fd91eb86b189039c1172696e12fe848dff0b949194 -IVlen = 128 -IV = 67e0058f6ee9f2cf4ecdbf952e0f69fc -FixedInputDataByteLen = 51 -FixedInputData = ef504dee04a6e3dd1497127d6c7f8328475c0ce499dbc9b0edbb1e9941782f54136b751cf8d92b6950fd8c075e5c6420f8567f -KO = f9f6205698827e45391363b495a400f062d04b4ad80ad588922e96fb86acdfb44113c16226fbd6c4c0a9089ec88c666163f5eb8fffe25024385cc403240161cd - -COUNT=3 -L = 512 -KI = 2ff8b1d5feff7ff45b25870b46e7748795246013f0b8dabb075f6d7455d127b8 -IVlen = 128 -IV = dee324a83b33968ea1f653ab4fc645c5 -FixedInputDataByteLen = 51 -FixedInputData = 9fa3c046f6f3c6709c8ec34ba8d94d0aa8c368d0ac70b67aeae5472da87d4ebb1d405aea3e9bee88f71d267f4e74e888e71915 -KO = 55cdee21451a00b4793b7f310880963ffa9f5e3820f4561a764964a4c4387a2fd02ee8d64f4bbf59b22474480b38848483a3d0676bc53248db1bd9a8e37a76c1 - -COUNT=4 -L = 512 -KI = 6b4b872d19a4a8ed9c10a528d0cec9253083f7d39d19e91ec7926b04f1507c0f -IVlen = 128 -IV = f0d7eefdd4f86a801137ff07bbe3673f -FixedInputDataByteLen = 51 -FixedInputData = 6a8d8851b787052ba345e752f80d79821e17560bdbab33790f5b94a5bbe6bf777530dbc1f8a32d791f90ad1e5cc81c1ba04d10 -KO = cb0430e3993f3ce09b517717544ded96af02e6f3ddf25ab429769dbb65549ea842d1e079ab7a1b9556fd8186c9790fe09517a549876e16d9002f7907aed0e438 - -COUNT=5 -L = 512 -KI = bf73f96161ac55650de5e7864fc5b4d6bdd0d57319ee8c18dfa0c22ff11ec020 -IVlen = 128 -IV = 8271c6b3c5a39d6e503328e7904823df -FixedInputDataByteLen = 51 -FixedInputData = 20882654d7c6830b7f411944e22060d4654ea23c9f5123cfdf4d9bdff164f24c84aee5c3783a6273913bfebe961bdddd6985d6 -KO = c2a88574d8a0259f927a892b5c2ffda3407d6753e6d15e80532416aa1ad832fb21d6adea5e84d328f42d6a3ce31aedd778f44f88e10905065532040a5e717ffe - -COUNT=6 -L = 512 -KI = 014f1b3673027c49d847824ecaa814fd98640e1fe8cf96ec98d3a1dd823bd82f -IVlen = 128 -IV = 8ecd8c30c12eea04f0c42b250ae10b4a -FixedInputDataByteLen = 51 -FixedInputData = 2fe96b8016332f9d1aaffab5b9816530e6d900f28effcbeec66a7850cb8c3caa30e048bd3950acf9ad69aa33ed4f1540f958e2 -KO = 5a3b5c2b0267ec1a2c3fe8da7b224e82ef9f2df96dea9603c2a0de964459e475d085d72c46f09836cef0ab6a7e0b9151cb42251923f1678d8ecc3c0ce4306635 - -COUNT=7 -L = 512 -KI = 19b93ba3fd108bf054e1b5350bedd641d6ca989a98ee9a7187e81e82323e6e78 -IVlen = 128 -IV = f8ad7597eb63e7fd5196c68e745a3e0b -FixedInputDataByteLen = 51 -FixedInputData = daaba4635c614fa1d5d0dc286a3ed7e54db36c7b30cf4855816e141322174e8ef825eadbebf4a6b8dd9610dedc23fa47ef4a57 -KO = b91a5764a6a12ee9bb6587477b0a489ca0ef7d9f411b50eb5dc484347347773cc475b3db5bfa1946253ba9390cabb8e7409abe52043437fc839cd1efc0b74b6c - -COUNT=8 -L = 512 -KI = 62c41747884bedaf5c027a0388206f6d236c9ca63e7b169098de1ef85f7b32a3 -IVlen = 128 -IV = d12443ad23d7a1e815dded6a2fafac5d -FixedInputDataByteLen = 51 -FixedInputData = 5f1f16d5b92ad6443bfd9e794a62f7e0960662b67c22beeffa6edb236a35b66f68fd81204669c63d4441c98d21250dcded621e -KO = c9aa31958283a41e8cec6a65e901040fb735e25fbb18faf4b990c42d63a3dea2495c05aa386d240d1c8c7df2311fb13ca2bf3cc5201be737c01a419014edf900 - -COUNT=9 -L = 512 -KI = 82a8740e24064986afca81e59b44b1ac7d760c571818751aa6fac035b9ef291f -IVlen = 128 -IV = 54d127fdda79806a8b25cdd1872603e5 -FixedInputDataByteLen = 51 -FixedInputData = 2f7ca90de7469f0d6a982a420248e16b09b299f2b8ef01513b7025d304a252b63ede04216ada57f4c28b0ffb2900073778f1fe -KO = fc9b03d07067ceee6524bfa4431aa3415734733c84a76a89f6df3cd1ce8dbab9d01b6914183a1a399c98f2a0481ce28466e19384f61ae7597dc5bf08ed2d1ca5 - -COUNT=10 -L = 2048 -KI = f6058dba362200b91c37e42862d26a536c734632de4b6fe9cf890346d36b0a88 -IVlen = 128 -IV = f6587759a3b28727cc4ccf167fd0cc2f -FixedInputDataByteLen = 51 -FixedInputData = 62dc8f0d2151b9b20a14d8a8b57380412c4b1c7ae13ae79478f5084937a119438cf0b0113649128071a55e64c6e895bbbd22af -KO = c4085fae63182248b6f442afe039227ffa1e0c5534d78c907d0f1a20459d93aa304db4fc716c963db23cc016f75412b65fcecbc415fbc55cedd649477d3f804ab1e2304481e947464b535636fb4ffaf0cc4bb8e666d05ab0dd5683117dd397a0906515bad6b587784e2d6c60481e5c3e31cad98b2aa45a4edfdd10dc572fb70c0fe1343a90de75b302eb0416fa495cc7d7eae9e9e77b828a866136204c458a273dd6e09b1a533fc5ca12ded01bc8324b1e0ca94eac4abd74b40cf932de9266d27e66f6ea8b40bac8d4e904c091c39b80adac0cf5387ef8c574c0b8a5ad96722c91c909691968a3b995b330ace2a73d299e04ff24bd15cb31dbe6a774e487864f - -COUNT=11 -L = 2048 -KI = da68d88a70b81879aa7300dc63975d20b4ce0796d9e029234db04261c750468f -IVlen = 128 -IV = bffcab9b123fd4419396fd7840f1fe67 -FixedInputDataByteLen = 51 -FixedInputData = bdcb51b6527c6d8398b7438214fd40606ed7708766b31b422bca0c88341b00e1271ddb3812ce2d8552c610393c8ec7966d2bfc -KO = 98d2960d9feceb97efb8f5aa3eca76eda28c716b29da1177c18b17d3838d3038f51d16ff1dd7116b35ba629099f449ae730cecf99d876282b71b6f8b8d51ee5d4179ef60e28c2a1306d4f75991cb53dfd225552e7c52d9a0df9cf771c32b4457205ed4031d812f54082fbdcf009c963db85c9f256a7169f2468148ca910f86256cdb17ae4d358866c082ec7e9536fc1678de7e7fee2b5d39987df587ac4099505d290d396905afb0925d635d368c334118de78f1ce83ec5ea3738bf781bac09bb0d8c738fdc44f3b2d6d46da567111640e534563c485c616d1462c4287ef88866550c8806929c488f1101f96bf7066e9a5b76df3ea399a7f8b8925f89d7c298c - -COUNT=12 -L = 2048 -KI = 9f42bb5cc5ee95d51f7562c57f8d6cec94e261c750171297257dc1fcf09ec8a0 -IVlen = 128 -IV = 0a225134e06606e4d60a9f6536cd693f -FixedInputDataByteLen = 51 -FixedInputData = c4f4a3c36d4c3e851db624e85f1d410f8ff166d27ae16bbe9a3e65d652fa2c43e12a30a99e709cc94d0a81423f629793d056d5 -KO = 84039d0ae9656a2909cb2f5e7cabc63725742dca1a03f2b2752035e62e0e72515fbd835e32eb9785c0c89c3652eefed20e99728c7318317e3f146b913ae25844d74adad127be27a53bffba8058a3493ae18bcd3e0046255b59072fb39f6ef09ee37e8890cfdefc11765676545cd5633492782b16c755ec4f48bbc178667725c859aa5a2914c3f1915bcf6db07e1977b827f2ae7f890db0edcfcf7594c6bd18ee3ffce4873283b2efbe6ad97fb942dab2b4980579d89414646073cc35a88c7473f9ab600ff7ae1610f2e8469d93c2cec4c19ea810f07275201c34b2dc6bb0c43f375862bfeb94f03ae3bc7ecdc444ca58b5eb80a8c0077f37e0c50bef820b7214 - -COUNT=13 -L = 2048 -KI = fe6129948be2278085e747a83440f2653b0ffbf65f3bf258ec4a430d453b008f -IVlen = 128 -IV = 469aa87d1adbbd67be72ebed63756e74 -FixedInputDataByteLen = 51 -FixedInputData = b273a4cc9bcc37496be1570b2bda1b3c48ca145f6dec19ae237a73c2d1cc978839f71f4d0d4c7e794c99be4d1747b86f7807f9 -KO = e24e343b1c8c6f233807716c0ec41168eefc78ff8baca01c6d426c2fa3b9c4b440131820bb6469cff62785549273d68d53b09a5506b4c04b0ed0918a157cb89e4238b1d4bf3ed3bc5e6c3694459338e6142b2184faca28080dd3e41a940566d3bd17bf5ef3091e61552ff2281a654344b6d27375ca87b42dfd89179dc1886f469c9cea96383fa0706310febbe4a55bae197ee346d015b6ee531cacca8e6550edc13072c9826e1d96ded6da6fd63826136a5309820b116d569428ec441b1bc1bad765b0d385ff95fad4545f13a80e05333eadc04acd16f1ef33e46e25d8bf23f2171ad64d4e2fcaddd53c55804b482c7ec817179eb1244db7713ccacab64c2792 - -COUNT=14 -L = 2048 -KI = d1c55bf08ee5ef319db961301ee964b0c7d51177ae5b02a451f6b51a1d3a8f51 -IVlen = 128 -IV = 7bc8a1c633439f6cc57dc989dc2ec5bb -FixedInputDataByteLen = 51 -FixedInputData = 6f359cd572c229b0634cdec6739ac04cb49c5a6ff080736f84d8c108d2973a519cfc33b6c1935c71f235d975313d84148a97ef -KO = 1cd708b6ab769c27a20aaa26b8c4f3a2c1351f59202d9a2b9330782120fc11401708f79daebd33e339378a24d12e46025421300b146236bafdd7444d967cbe7701fa698098b73ed3bd0e48522211a6ca2681bcd9e1882804b426f678c6ad605c4bf1a5b0803185955c34bae7243215a5fe66226c0f4c0c6c0f31c9a7d94a8638038225f2036c8ed4e2c7049178f53f78d96e5e417825019616b81e9c48b6bf9378aef7924a22c7ea34944038fb679f671b471518a83a4d570bf4fe4174a4d8530e29944fb11f2f15384f7beaeb9d8c8409d17b01c9e61da919c70043ccd146eb0ed273b0b8d339dce01ee7239fe13d8e5d5d9e14f36d1cab7fcf79262d50fc6d - -COUNT=15 -L = 2048 -KI = dd7ed48740856116aa68772e3f6f6f339d969670b819e89cb9a0d831774b698c -IVlen = 128 -IV = c46e5e5b66117f3643dadaefdb8114b5 -FixedInputDataByteLen = 51 -FixedInputData = 06a859ca873d5255af91ad4587e74e8bd8ed5120ca451a0350333c9ce2bece4a8a8e34b76bddd1564e53c9be4e9384f758627d -KO = e9ece5cd93f1e8fe693d715d921ac97feafc782f49f50e5a9acad7158507efa42919969be3e6ab2c7f7f0aace76f31ca3f1d64c0de6025b1616ee991461765fc90ba9acea59524a873456a8d7442823e173aba5ccdec911aa103888502dedcd8075f6ccb351456a57eaa7b5230ea0c5ff5909284d26992cd47d39e369b22aa3c3a04fc8dfa218b68a28b75d107466f8cca36e3ea1eff675831a7e9f3ff7cb136cd38f36d2fa49ff7ff9765a4abec3d049213dd112a6390067f71b529fdba57f76697ba1c8686172a9dccfd26a75efac4f46a2c1b52b9e25a4c903517a9988e3c1ba0137b89e11253a72e4e3165fc4d7c852ea3beed9263c94b9d5d0de5f5c15e - -COUNT=16 -L = 2048 -KI = 8458fa04e35da1570fc4a18579dc0284f6417d0ed8963e593de05ade01698bca -IVlen = 128 -IV = 5436c26e73fd115e66d3e7cf7fe995ea -FixedInputDataByteLen = 51 -FixedInputData = f19c01b2492efa6f5d376541d9bb9ee38b8e4a525154779ca7e2dfbafaf572a3b138f5c9b3bffb161e944bee643afe3e07be11 -KO = 06de5134579828eceb2503da8ddeef2fca8d468c383975acd9c682a12f64f4fec9b0b66c586e9ca97ec2beada20cd49e542a53653c169b642ceb6ea429b996c5d9a8d4efe8151ebcf91898b4d19f48b5436ffd03fe1a47ee4bc643f6ab7fd6043c6d372ef8d8e8fce9782a203980d61b456c0f009651b7e226867da23d7f6e43defa9a11f822e2fefe7ffc8ec5cc4b7e0e8f4b6a91f60484519cf0757d5f08940625d17097dff6190587d227bf9ad2f782463fe0fa0c7c681d81270c8534d966d691812cb5d8c546de0709cc8e1b477ede296cbc63a4f051918745de877179dd5a24af625139ac9dd260f82292e9798e2153b0982c92c5e2182f54e5bb502be8 - -COUNT=17 -L = 2048 -KI = 0e687cd24db7a68f063206b29a58afdd6c8585e2284052a908485078af71672f -IVlen = 128 -IV = 9c2ce470afae4411986d955c2f6eca76 -FixedInputDataByteLen = 51 -FixedInputData = 9942ff2ac3af96caee17814e39755b6c15e75115e7aabc01e7bcfef6a81a7d215512458704dd0138132c991ada35e6b371e514 -KO = 16dd0fdb9cb90a0ab43034163f09728b54ceefcf64e309fc4b8898c21c71294f484f1f036178664e052563ac118ec482e8e36e3fbe380405d76f45710f54b4ea7789802004c310a5732ca2adb6c7a20e02ae08d85e99da7a9877acf05ada37ccfee7023576e86dd331d278f34c28e7a16706ce837b5c82e991a52fa55e74acacd83ed3811455a7399ac48fc08918ec52215215cdc94003a1b7c5be4a15839745a3f016ec0d55849b42e4e9877a3bac27470366700e064a871742aec30e8ee0bbbdf1c524c7ebdd186e27271d476a8e4001210002f78dcc92e02f3740d64361a9179eedfe0d81283aaaba354d24fa08cf44fdb4c0ac8690a0992e3777bbd586a1 - -COUNT=18 -L = 2048 -KI = 19f702e59a5e3396a23a3bc7c4b7d610f0d9846413ef7d906bb7967325dbb3bc -IVlen = 128 -IV = b1644d5c0166c6b74fbbbc2ff79dcd5a -FixedInputDataByteLen = 51 -FixedInputData = 41e2fb5262dff69ce58753df473edd46f0ae45bf96fb305913acf5c0d5864b0ca4d0dccc13358ce9fe1d68b63233f62d8aa1bb -KO = d72a2fcdb9db32e2149a666c8f5937ebba4c867828ff5643e6127efe2cf0f3912e803f9ac22f619f28edf3afcf7e8acfe85f474c819f90910cfe248e150e8c070aee9e7128b70513550be5cd27702b2d04f7b7f1658c7904d8057838a59e4e0c3b04a9b24aa883c052d10e175fde17b4403dc4fb71c622620e68418cae0ff450f671e83e3c52d44be717c1a632fd27a0ddf6020681b1b002ed73ceb3403dc27648c507ba4543f9531cfcdcb501750cc65a55586fadde7a6840df9eac775809d2201bcae78773b1b4a6c5ed5406d243840111e0f73d4e7ca92981b6bbcfb45ee6ff2ed55cd1e18c176bfa73d7eb7b552823e29802981e23cedb74e71e0b84e09f - -COUNT=19 -L = 2048 -KI = 99c6add71630a5c34b583e2bad4ac9a9bfe042d3b73fa77e1401165fbbd5dbb8 -IVlen = 128 -IV = 867c501e168cd45a5495c9622e63d1e7 -FixedInputDataByteLen = 51 -FixedInputData = 7d5d6d0e4559dcc3e7095ddb9630f07f299421763f5dabde14a9c80f9c7c9a4c73d0911e7f7f943408b0362cc3ea9533d4a25c -KO = 110cce317739faf34b0860946d2c722621a8b5fcf1ac0048e1141830014983db91f976fbf314decd065c5f991fa56cd190e16ba4977382fc64e5a9f766a222ae6bb0926fd6f6045fa95a3774e624adad69660af36626520581bae944f1402d80545a68998fe602d1f1fb59ad8d31acc5ba5921f8b73150ec52edb238049511bee504e982bac382612f3136e0f6a09a2d5b92ac6a491b4c7a83390fee5ebf75b55c548e1b80ea8dfcbe6bd6ee79323b4c0f91cfadd917eaffea4d1122b7f9db43ad143e887b288ab14bdea40df33b85c8b40bff6638c7024d420d722b37841e11cc8bcf4ab7786ec29676e7acb9115da2b37e4fccf6f0ecf44dca90549769ba31 - -COUNT=20 -L = 560 -KI = ee9c0886c1f1e9be8f397c4b910e1f35e72e53acfc48696692ffe21432056b20 -IVlen = 128 -IV = 631d9c4953cd0ecc32a6d6b6ca814eff -FixedInputDataByteLen = 51 -FixedInputData = ab5549be0bd783ca2d58e43ec0b88f4181ee1900e4cff07d6a43e92dc3f819c745c8526ce289a1885dcae4e46223c11557755b -KO = ca71981637eaf9e5c9434921ec8512e31aafae69da83c3f8687b6e8e887aad0120d1c72f11e49726983adc3a212e9bf70322ab5b41687e9e559a8bacfef41fc7b22e2bba219a - -COUNT=21 -L = 560 -KI = 343c48b3881ce640398966a82d981e9164153d18f2befde83eda91fe958a79b7 -IVlen = 128 -IV = 20c0d6eb2536c3e1eb7645222ab8c7e0 -FixedInputDataByteLen = 51 -FixedInputData = b3cd5200b99a98ecc6d83b417c2a97ad8ed7c36d77a3a3a1d09c58190bbdf3b0ecffb7ffaad15232f5cb80149005d87609b779 -KO = 56e1d447bd8f957a9e10e20554733270b9f9c301dc05f9194bd99d499d61b128bc65958e51fc11b126521d2c72288dfc2a2fed1926c85de5dc2fe21cbdf12929f36cd2cfca9a - -COUNT=22 -L = 560 -KI = 36dbac085a43889c17a1b12f1e60aec262c97405f38e0ea89183f72fbb5d18d1 -IVlen = 128 -IV = 7b98f737ad4d533dd57662bdda31c93e -FixedInputDataByteLen = 51 -FixedInputData = 451a0545071503410bea2a1e3284eb0c34a85c45c8750f05cd0276da66efab7a2f910f389ae117191f54c540af1a6236d80530 -KO = dad02c2292c0952017d10de8f321dd82079bf78ad7ee460866c68ce315fe915b800c1169ba999cdcc3c4931660f92a28269a1d551c6571998f30484f12a7113da9daba9f101b - -COUNT=23 -L = 560 -KI = f24a53d00c8c4da971408a97c17e8870b3ff9b0eaa0050b29b028c83805ce46e -IVlen = 128 -IV = b3908c6643c96d19e0a791ed51fb67e0 -FixedInputDataByteLen = 51 -FixedInputData = 1fe09c4cfa6522840215cf81d9bc508acf44f4426cbd3f4b03733acce476d0f1cde197c3aa6a265d4df208148d559c0dae053d -KO = c91668a7691ef15b79791a96e8ec221c255fee03d0ccc957afc8525b8b80d00c2657dee4424770f34de31438529cc7624fccd97f496058fe5160123b959415769fb1fa19a6ad - -COUNT=24 -L = 560 -KI = 0c9d14c5dd828f0d25be90c0c33a95c38ac7c1584159c371f6287712550d89d8 -IVlen = 128 -IV = ce4f50cbd3111c7d932cb9b4b54dc738 -FixedInputDataByteLen = 51 -FixedInputData = a9ce98aff4988b82b612df0b8d42536f82142b6b424f82c0b3227f0b7b0737c044f2ccd60d19d9d2a6df7fba74e259e4800bb3 -KO = 8bb8ac676d1dd8241b9fc8b5afc987a1dc51b61bbf78779a9e364e4224c83900a5e864fc1c5330e71b5a6daf82a8d4ab8eb079ef205865cfed830ce00a9ec5100057aeee0db6 - -COUNT=25 -L = 560 -KI = c1dd280462fc58fa6ae6a7b84b63911e690d3c0dd32ba2f8a26cb92d5a5ca058 -IVlen = 128 -IV = d0df277f38e80aff55121563d3681cdb -FixedInputDataByteLen = 51 -FixedInputData = 3432d813316848510048f30a0cb3ba10bce2df495100a2403fed6e7c775ed1e2da50d944124721d867a4ee167782d2283c771e -KO = e5b486111c80e5baf906064238ebe80be9b9d13253a3ead9cfd395615dd8665ad499989570ff2e0ca718de1e25a75d4f7058c8d0551628cca11eb765cfeda98ecef442d59a6d - -COUNT=26 -L = 560 -KI = 0356eaa1cf69323aeafb16f484a0f3046cb8d93465c2d0d74de31144bccc9578 -IVlen = 128 -IV = f4ad754a12c7ff2d3e589e201e40d58f -FixedInputDataByteLen = 51 -FixedInputData = 13c98f3fe9695c5caf9bb62593f5980b29dbeb923af2833ab12df95b9a5ad06d9b182cb61da6ebe7b51bbd0c9dd5ae3f7792f4 -KO = c9a1afcdd91d587f56d48ae157214813683db68abe1eb60f643e7f94631a1759a902af2597c0f9686e49cdb38f21b914f68398f0491505602a5e45c256a0a6644e9ce11cb04f - -COUNT=27 -L = 560 -KI = 62e8b1d1bb597088648d74046d27a3db4a524c7d918b932e697c91cca63db774 -IVlen = 128 -IV = 8f7c9ee073b56a17be4143260d43f7fc -FixedInputDataByteLen = 51 -FixedInputData = d47635a3c504c84d5fe762988ccd5e4d3756c00895e01cca0a3c848c894dae29fdbaf16d0f3adfbe628a939945d5aaf23061ea -KO = 7a0222bc43d471ef355a2c20a742e70e49eab1f9a5212e2aa32316eb176d5cd97549fd0d7ccef2edc6138384a6c6a93939beea51e9133c3b106814ba348b4bc64f89dfb70270 - -COUNT=28 -L = 560 -KI = f088a6dcec2b2949a24f0cdd21bbc0593e4ba11b99c414357eeb45061ac2e40d -IVlen = 128 -IV = 8f9242e49766d63fc3c6351dc02a6d6f -FixedInputDataByteLen = 51 -FixedInputData = 0e4c3e88dc800cbca367333602f48f01e0c5217db72be5025cad2c64658b9721f9691343d6028b66d19896d442fb6e3c069c8b -KO = 5c4acc206c5f72764c94081b85fbfb237e035d5f56315fcc3d98181f130e7c3c9cb6c87eaa8ebc90fde5c19aa49436b14ac7b0e1444ae669bcd85ff29239410723ba40d7c592 - -COUNT=29 -L = 560 -KI = 6e0875c669d58456919dcacf01dd46e1c30ad9c363d142e4285e4c50be51b748 -IVlen = 128 -IV = f3c95a269a19ab129dac638a917e1602 -FixedInputDataByteLen = 51 -FixedInputData = df66f2b133fe4f395ae58be035e8c08d763dfef18590a917623e83a57f9edfdeeba599283479e13940e594f1302c6b5c6ba8e3 -KO = e44cb1613dced42156b98928f134579add17d67bd086b79e42da44b59df982332131f7f03b833880d202c2eada3d8a1b96b325110a54ca3426bcbeebb317b370778da4eab0a5 - -COUNT=30 -L = 2400 -KI = bd5b8787a67d6ac1342de9df8129d85b34fcc46f37b38894d1092cb7bbf71dec -IVlen = 128 -IV = 94fedf55701d84c27726ef01f9cb1b03 -FixedInputDataByteLen = 51 -FixedInputData = 849653a25db3fa4dca78d8a66968a89ed3575f4a27b40bf5152f4dfc2e4970e4350249b9eacebf51d518031f84ee299207780b -KO = c01b3d06b4083a7c3c7d63455554fc4f818e587af482602fd12b81143479481c499a87536c3a761459630ac9c6b125ff740761e47dff5e509998e690493801aedd72895b428efd2ca996d6bb78fdb6780c027ee1f643a9548e29e3a8951e829ac0b2b632b4013b2d04818afd23ebae74d045b73029414ec5e222c22919a3c0679d8d0ed79b8eb670aa344cfdb4112134a3cf6197c848d770d029fcf38f0ec6c35296d465d2430a5a10b4e2e4fb73bbf8296f10b38cc52fc6e055c0973f523ce85c6d48a383cce8287c1fbf35bf968a12bc1074ffa38cc2f896fd940e7d189557fc70af39f9974c47fb877204ca67e352860de0faa3ec7e924470ad7c92e60331bf4dec373d45c32afbb8963fd0436fb95c3fb3e3fc3e1e32d7d55ad6e65cd8ebb1bd1dc2f72bcc5e8ead052e - -COUNT=31 -L = 2400 -KI = 8e00d5338408d2a690b4639654e864c4e637d8a394a14c40d6e05038e4c8c82f -IVlen = 128 -IV = 6888bd130af816c430d7823fa58fcf60 -FixedInputDataByteLen = 51 -FixedInputData = 3ca9f79be3744a18a3e71b7d666cfb2196214dd06443eb5c5c20905ab7c64b51653d5b6302b5cfaa73b07bbdaaeb0f5e4c1fe5 -KO = 69c08f36caa5ab3c2b65a3d68643e4a992654b3a563d80a92b71ff038af2eba708b85eb0185d6cb41ce5fb82d2a666cb344b55244ed5b2914b48f2098ada90fd9417773aaf6d65394b9187936d66ceb061bf21ba2efb40376f01d494563f733ca8ffa12c4149a443f7cbd54087b54fb14fdb2135de95dcce3dad752a217d7834caad4f430e9d17f8579c596fbc8833c01ac400443a5d7cce0eda26d7797b2fc34f33051ea18614e33bb369fa4cb3535a91781947e96656b7ffdbd201e1f99b40ed5eeabec9002c7b8e6f29fcf1c8044468cf90ecb5f13c057fa1848ecd1fa87ca90540c3ce93a7ac9b5b3fb5df58cfdb168713f912473a340ab30ef8757f1b5418790c27a7c956abc8e11bb4ca40f2d7c4c6219d406bae5ea987cc7e85e9d832744cc44ff02bde8a5cfbea73 - -COUNT=32 -L = 2400 -KI = 7cd470663b733f9d1861f47d62864c27ca12c7094080bd8545de2d26af6213a2 -IVlen = 128 -IV = 5b2783bea2030dedebc6eca952de127d -FixedInputDataByteLen = 51 -FixedInputData = 1f9d27793e70e12b262e0245ef7820951b00a4359d78f39eefa9f2651b7744aa6221f2ca8ddeef2c5c3402696f76045c714804 -KO = 05e0a9ef68c08c411243bc4b6fbf132e0460aa35877fd105cc295e27b6a7237dac848d78f44c38baf1fc319be74676f7bd7559de7df0282537e60ae24817a5fc001cd67703a70a69078426c526c3dc07e2dec34ba45d4d339844644799395c5658155f9e275bd3d3fcd4e290fbd3317b13766b0191221296e4621d7cc5522ba3e502747fd8ed1c29b342f1020ec9e8b188ba62f931ac4275a24c199404cb447e7f25c80d7ecee1ee8157401b5ec9cdf45a10cf083e01918c43b44d2e16a51f1e2f84044f3a814dd1f47899e0bf0ee19cf3ac87406e83a73ae975b41cb138d816eb196e87c99cde3bc9e59fb6a5f74811b9dc1021a688d138319fa1e77f864fd2bbbfa91547e38b12cc9e0d528d7fd17749ea7725cf30021d6775e6f170b292858c3ecd0f6706f4fbed57e3dd - -COUNT=33 -L = 2400 -KI = a9085cffe36e915dd235a7decfbc8ccc038bf8b0789ac8a45961a76fc9cbe21b -IVlen = 128 -IV = f58a33a726fcb63db0fec62dac70525e -FixedInputDataByteLen = 51 -FixedInputData = 0d293760e6565aced042ffde307cc70a3059ff86f7f801ff42198c153627e55e2d0af6660a2ecaf970ebaba3aaac403aef504b -KO = 180f5e39f530268b76bd17180ae17938d912f2f3835f8066b6c6a6b778210229b02dff0ef919c32006b8c4a5ce0232567ecdcf6b4210202ecd67c39218bff5db898f7eb4ac8f0d7df73af65989a7c00df208f25a2f882e29e9a8118e8e58f3448b2179d33dd1d941282737c6b266e7e745801e053c4e05ebe724f56e04bc5b3d0350165eae4148e36ec685a3e9836012b3f690d79b55742423baaca09ccd247334a083c0bb35b4edb7be57fef817af3a3b454a2cff89b14aa213dca3821adf0cb16b256f03acb06c87f14cc976e2ad16931d3d826a24bfe2ef51157bb2cd55a96e9c80cf9cd424d4ed90f29030709f48b130044f97c7d542e2964b8c21db3da8595fbfb0667daea6809da3ce7562224df1ae307d527764b72c3657f86a21538a864509074b9960c5f0b1fc18 - -COUNT=34 -L = 2400 -KI = 203add6a5212feedad1a49370e51ac7b8fa4abc13443a4a9c7e16f45f4c08b71 -IVlen = 128 -IV = fef9b173ca2c0499c61e560d7d2b8b85 -FixedInputDataByteLen = 51 -FixedInputData = 7ae85fbb078fb52fff2a68b9015a797d7cf38aa1412afadf161de109e07312dc6c40d928d6d845d1ae1541a01e2e3d9e564c74 -KO = 23a158b48e66fa96379646e0925ff40dc2c9ab49f89f4d08b715366e1049f9ad70502c9f5fa199082961571b46cb2297e3776f881d20096fc0aab1627b0548b39ba4af9ba805726a44ec76e1986696bf495597507f07a85cf5947438a7c5986dbac3ceb0439f2a5dbab84efb354d0a97b316ddd7d0948ee127787e5134a1a2de68cf89dc8e4f4de4e7b690134f911eb2f438d134d3c91615038820e94e88a6db2c0cf9e864b9c42ca924eac0fa57347d1041d5329016c2e2be905f1da8c29e0c5ed6e83f542653b17745f171384f1d732fd410b10f30f55ec21c450b10ff8ed59d709e2141086613618907386202776c014eae5d98618a0e90c1d15e90dd6873947e25eb2eb842aeefa22bdeb38cbf1996fea8ec59559c35d6bedc5469e27ad0e2d9d573547c25c36ace5a5a - -COUNT=35 -L = 2400 -KI = fb00d0753c086479269a0c5372278049246bc21a6b83ebebf2a97aa3fca708a6 -IVlen = 128 -IV = 0b98ec52e7cc6ecf4a4902f8ab011610 -FixedInputDataByteLen = 51 -FixedInputData = 9197ec9c7917ce9fd0b5cf3b163cdd93dd883a0b835e2f0fc0d4dc59ea106df4b4fa786598458157c13666b8b3decd563024a9 -KO = 4e18d4b2d47573d692da60c954d82878f1272cac12e80484ebc1a9ef212a6e733ebd161a69e18d036fd2f506f5d9f6063668045dff6ccd8e7c0327199dec03e1b10a25836fe2f03ddd3e4d0c3da71090cd17ed2e2bf5b976c12ef9ef0b99976ef2794c1f75a3b06c5df21ba442b14c1c63e0c8a77c4c43fb3482d1c60494ae6a760544236390d9a25f35a942869cf0d71037627da308c197f198b69c8089eeadfe0bf4ac4e2f37b142b37bd23cdffd16ee4fe0a921c740d9757781245cd3bb53b3fee28030786026a19c6e842c9e02e7cf004b683a8630bf0e14b0699e2dcde29dc05390dea3fe8bb51ddbeccb67051db229abdbc9b7a7a32b29fb9b7022d8cdb0e8194623ed5a3c816ea7d407f27697b88c94d7f42844c32eddc7194074600b7a2b00c51887e0efdac46457 - -COUNT=36 -L = 2400 -KI = fa05331f4c4278223a59492c649438ae1af45a3ba37937764364facafc1be115 -IVlen = 128 -IV = 501bc44679f9f40419b08a07dc2a2eed -FixedInputDataByteLen = 51 -FixedInputData = fd4e5071c85873b8348217f0915c6deafe194e9f6722db5d5d3f66685a5ca50be2cef28517700bc464da52b39d621cbe737815 -KO = 6fa63181223137662ca6df1ca3e0e3885c28a9804c9588037c365389489fc7d73ad8a66ae762ec5f66ec9c10e83bd02fc2da74f3c2b16c82a021f1c9bd21d529af90ce4ced6062650a7bacc414fd638eba3e18ee5198ecb82dfc984d79c19b074d75f60773998e899e3abeb1ac6c1d3f95f40e4c3637a2460761aee93fd906ae2ec743241db82b871fa220d578495b52ff62c2a7248622077a0f775d523f57e6b1719d3cc41cd2728c403ad548361d4d71bd54aeaa58938d8a93bb84c119be17b2e67ef7cb2c407c625d3e54224a3dcb9f91ddeb7e0d9a52a7c28d5d083d190d1fc845027d96773149b15f8a22e893c855419b556cef9caa6446531d8344267a6319c29e7ab0c169d70c12e141a0fab3d7683330d9e83823bf1aece2a4c27dcd9e8965349d8ae798a3064459 - -COUNT=37 -L = 2400 -KI = b9dd8fd8036db0830d39eb71de96d05e843c4e71fc20774472953893fe9d5adb -IVlen = 128 -IV = c45099fb863d6c5ccdb12521d42993b8 -FixedInputDataByteLen = 51 -FixedInputData = 76838c3ccaa275d0627f62e632ffb83e340395d5c3f7208bf302054dcff25b523b124a74086830441f115be967a8f102188ce9 -KO = bd42f900d97dfd912595a324ec37e4285aec1bc4c38139043fb68524c01bbf2d7f270266cbbc224d6480f12f312d1f80af9d5307f9bd6d6ec02566ce100c28f9c1000e368afb1cd2e15607a149fff0010d227725638fa1d3e4ab040d1c88932e683e7b67461f860233b0d4b052a1473ebf8c5da45291df8cc6f5084af195df9f8938f26412c1e8d0e31b9f724da2e1dad561d8d07bcf4a41a8d53d294d0da7bd42219c4ee6359c5a790a9d63209c8d88c6c58b92c7d6dfe534e070c43fe5385ce3d0984badbceb65aa288047218b6b807b2eef9245776f0686ac0a29eaefb118a1064bbd963994f06646d54c3a4f94f213e4f532903b1250216e1919460b3ba48f360b93a512521c47cc8c34feddbc9c134cfc61dbe45199d94cd0f37c22027a9e580d575374e46d2dbd233b - -COUNT=38 -L = 2400 -KI = deec611654dff6561ac8d6ec83e1bd5564da4646ab7d85421be70648f43545f7 -IVlen = 128 -IV = c770a63d888cbf748402cae8715e14c0 -FixedInputDataByteLen = 51 -FixedInputData = 2d3dba97b678e3b6ae523e486ef62f38ac2a0cb21a98a2a462c716e81d183cd73939fb9262baeee5eae0bf2653566cd1164eec -KO = 69379dbee622c0b4cf147e8848ec49e2f878c17a446cf29469532aa6bff05eac613bb05e826426677def171097dd5d68513029dcfeb0839c251b713cce001b4f031e72f0bed17f8e2b4b13ac9bd1d346e1851046cfd6cf137e72786f791afe1671529dc78bcf284cb12b73293da475d61f33bfe77520a455dfe562a45b4fda6a910fad76d816faf28469337547c39118319cef417d47edb8ef140df94bf4784cbebeb6c74b146968c92b03632286e7d075963912ab673bfa0163036c00ce82bd775e5ad1df0b404faa7aa8d82b22754fd941a8260e5fc3cadcf6ae24fc2222a6ec25407a41e90b4adf8c32204f2cd372ae46557445286beea2ee4e0fccfaa080dc2214ba49baf88796530cf73663ed550dad2c71b2a236ea12507fce05faeee920e23c759b92fc238691c66b - -COUNT=39 -L = 2400 -KI = 3f138301f81341507c324cc464c5dfddca569e12c069a38a4c3c31d75e467782 -IVlen = 128 -IV = a60cf34ae5bf192a31154aae343eeed2 -FixedInputDataByteLen = 51 -FixedInputData = bf659a3271a467141cac08c192142afe443caeeb1d00311e72ca1ad2dd7d6273bd7982548df1c0395dd4ac591e9764bf3f6a25 -KO = 802c9206992ab5c100de94a4d39af1ed7eebf4247bf7352eb5567b0ef70e04da479c7dd0334c9fa25cb7cd2c1e2e8f2eca35b50b437b5db7157ab2eee5d2906c8fce37ef21c581811aad5210427f4ee258106059a34518371f7331de1e1c7eaf30ff46c7e3a4dede7bad31a6d9e5acdbaf658d918cd9d7459a38a655aa48427c854ba27c7e09183ffc7d0bc724a678eb5b25dcab354f10ab4c1359b16f1a5da60292a0bc91f163612ab60959e11fb04fbd77ee9d796584c35fc41c1336b0fdedf4785ee75d09804530326965784f2efae61659acbce66f0325afd9f7a80a7293ba140453f869cf164d2e5bad61daa31fc87c4437601f2a9cafd7154063b395a6dcbe58a73fcfbf4e0da123d3a422cfd42295adcaa2a0494a172ccbfce38c77e14c5fb69ac3921cd1395ec7a2 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = f4f6d1e0363c77fbf09e131ce47a1199e59e44872f6eb472ca865fa8b2196cf3 -IVlen = 128 -IV = 918fc4441b917d74191063c3d7f1a994 -FixedInputDataByteLen = 51 -FixedInputData = 26e0487e5138c4eea86fe0a4407eed051a010c9e34fb318431ff8eca4fced4b12b58ec788b485da30908c49d85462e9c3cc9fb -KO = 6fbad5b10cd7501dccc911b4e2ca5ac26a7d4216eff75e1b4ec60d13b65914226e7caf004a1005edee944f727c0d204a2f2e01e7a3856bf4777389b412d0341d - -COUNT=1 -L = 512 -KI = 9037f62d5aeaf6f8c4eb35a4448973a74fcbb4d3273551d5b0d50a2515c974f5 -IVlen = 128 -IV = 389685672684db324a553bf1de503a37 -FixedInputDataByteLen = 51 -FixedInputData = dbf12d5648dc19e97997349f11a2a33b1de443226bdc509cf6a97aab15f68c4bb6b31150934b492af5315cd2dea87d4536c090 -KO = 0ce1ce9c702f7e0088ecba061c991dea565ea163b220a1d5352b20ffd6d3511f1dd1d84a85b7b52a1baddb0845ad29b26fbf265b7a1df0388c5e0ed0863da3b1 - -COUNT=2 -L = 512 -KI = 23ed685e22c85a55b7abfd031c170da72124ffab629942472b9c5af36889208a -IVlen = 128 -IV = 2cf89b95a48636f19753e7bd504fc3d0 -FixedInputDataByteLen = 51 -FixedInputData = 4026338add588f81342869b244e8738168f7cb2681527c852e1128058a06421e6ad003611371564c11eeb87bc4e7650c07d397 -KO = 8e34fb6d8cc53757c007cbc816f6cde0945e0f53456494eb7af6c9fe326f6332b4facc2a3590ab1c3a169073b3c4a72bf66b02637f40a186dd51fb6467806732 - -COUNT=3 -L = 512 -KI = 244d616d95920ca8229a13499b018c2d48033afc64c309f6262494dcd1f1bfd2 -IVlen = 128 -IV = a0958dd22330059bc4be35fa1ea74476 -FixedInputDataByteLen = 51 -FixedInputData = e56e8a34eb1aa3bef0337bcb383f5f89c957773e199224cf08c2e1be6cf5afc357693eccf2fe4a9dce425ad14e094677ac42f7 -KO = d71fad73eb4051d96c15bb90bfc6a1fe76ecda0d99b2318ec59833771fb9b3cfde3eeb476bf359c50b9c9d21d3149295c65c890665286f547dc02fb76c1e4f03 - -COUNT=4 -L = 512 -KI = 5aaf3dfda49845e5a29a2b01f5a64e2a0bb94fbb56a3aa150e74edde117f125a -IVlen = 128 -IV = 62fc3a0a3bd8c8e984945239ef6cd0c9 -FixedInputDataByteLen = 51 -FixedInputData = 06f45a98bd4c0ca10b93304f96e28e648e0a4e00a468425b44275ed16a0de01e1c3b863b8ef726de6e302d6683c53d503f5d8f -KO = aa374dc7647f81d3158c8a265d9c5b22b6c7d60caac6b9650a2f44afbaa74b7e9e8139de79bfcd6cfb477646e0a45d67cce3fab7b3f3cd501046484ee08c8c9c - -COUNT=5 -L = 512 -KI = 074847cacb3fe1f51691b50feef3d415aff3bb04de154ed4017e0b6d4305d136 -IVlen = 128 -IV = 828a14ae0568abc1be7097c2a5321c39 -FixedInputDataByteLen = 51 -FixedInputData = 257e6779f7d473d7b7f2ab6df997d892e45dcb7e15e375ff4e7c0bc2030e849612925df1b6fa3290a8afa69c8e61dfea2f7115 -KO = d0cbcc1eef805655cf7b4880cb1b58ac29f12035e6a228a786accbd6160503834845c6266bbae2a48d6b4f8837f1fa9f736fd95093bf91c1b5ee0941566e9a75 - -COUNT=6 -L = 512 -KI = 82f361e25bef2abbc2f62e5116c31d068303dc9978e8a82fe441fcc1702c89ae -IVlen = 128 -IV = b880e2f66ce3239895bb62a1b6d332db -FixedInputDataByteLen = 51 -FixedInputData = 289d40d782fb91411477ee7a4a79caee04871eeda75b9224743e33d02cff4d898324abad11a9da33f470c625a4c6c53cfe33b7 -KO = 2124729460730ee6847b5763fa190aa0eae63c38f4f6636afc3fb1017429621d7f1259ea0769d5a1d7fe3cf5428c2df657aed0c79099a0189d84c54fb447d6d7 - -COUNT=7 -L = 512 -KI = 0dda9b12d4aa5bd82ea4a9e9936ca8d2daabd0dfc4683dc94b937f9fcc14975b -IVlen = 128 -IV = 15e7d447d1e54b656a47726c2841d9c9 -FixedInputDataByteLen = 51 -FixedInputData = c758af0bac2144031533d1754acfccfa2d1b6171de28633cc529cc5a7afd756a825973c5524bffc1aedea7ce52357cb2efdf34 -KO = 0f4d7b0e2b0b93b00f82702f2c05a701d3d1747a4b216bfe1c8eb37a5d14c7eeb6190ead8ccce200ad1d47f6f611ff3dd691afca28c703c91d931a01f0556be7 - -COUNT=8 -L = 512 -KI = 97c4dca5732070e6338b4a17c754d3190428dda2d95048c501dbde9f949e395f -IVlen = 128 -IV = 331940f41831f28302d42d956763f12c -FixedInputDataByteLen = 51 -FixedInputData = 53e40e9e538840f6e4decc5e76ddd82451bf30ebaf1ddf97a5626d60539732a4ec93d84c9a411f9dfac5d4c910dc30f077e6e6 -KO = 8cbeeea77aed8ba13519c29b84b08769fb423f4ab32391035f94041862f828f3ec60ee51fbb0c47eb558ef58d458759ddcce34814d37b498f1554277975036e0 - -COUNT=9 -L = 512 -KI = 42d34f82de40d4bf326f593c71132d38487d9c91235b6015fafaf45560db8c95 -IVlen = 128 -IV = 7cbb7f8e5087270a87d2ef6693479e6d -FixedInputDataByteLen = 51 -FixedInputData = 92cb13ac0492e8a116b7b71f431f71a2d59194def99b821ae9611b345675148954477ef6093dc5fc127a3af3dc4226e12e49e1 -KO = 46a35e640858c9011f0339d6391ac3736f9eb013dc2954aefbd610436125b84ce580ba40e463d8276ee2543d43dd61f76925fa68c625d585ffbf763c97aed13d - -COUNT=10 -L = 2048 -KI = f531e12c97a7fa315b9ebde44dddfe22a4dc64903124647e5f4a463331e94aaa -IVlen = 128 -IV = 0ad2512b0fd61aa1f871b73dd1d82d0a -FixedInputDataByteLen = 51 -FixedInputData = f0b121607fd16ad8149d224ec20f9b7f42b81fe781e6802636eead4ecf11cb10f5d9f48f22949f6d604cc8c366267e2261a274 -KO = 5e0eb37125165934a77298e31ccea5a42e29dc7eff0db909d5b920638541864931db8280c49cf119b1b0373ff95a3d66dd1d0a8a410cf17aac3a579ed5c829903a74c45e5441c3f8169fe2d7acb9cd6b1d2c921b1fc27e0beb57edc99732aaeb76aa49d9f8d97a07640ab41085dae9d14bf1a85ef0f5daf95b01cb2b60dfcb95203934310d10b5ac293acac84267bf345e68564c968111a7df8b0a66ea16b1f728e04a6c1357a469a878321f90bcd2bfa4c91089858140fa6a233cbc167a1bb2b2b5e89739531cb6f497e104bb742c99c3d421ff384edca6a1d36f1b35fc8cb052b5dd935f72994d5b47f2dcc3ee0cf284cb7ca38fcb9b78e9e2ddd5a3e5ba48 - -COUNT=11 -L = 2048 -KI = 564c059377606ea580bb75121c8d1a0a08075d8681832c33b98dd99cdd996e2c -IVlen = 128 -IV = 49e84d3dbf2e9820323eac2725013048 -FixedInputDataByteLen = 51 -FixedInputData = cd955f247978e95e2fb6992b0e7c711568d642e824007f22e6f1c6b693296ef0d111e87e06830bcd002384f2b493d1f34a7b7b -KO = 2aa1e15928c47618e9bcb4a3338868de674989f3c03dbd02eace5f6ef3d4723536acf39f9e63831d20466d1b8906b88dd05562f8030be4868e6bf7352fab97651a88757d85577ccdb662304002801fb10bb48200af273037b4c3d5f82aa59922cb0468ef9fc617f44b92fb91d3f3a60a851dcdf1d06eefd7efebcd03d53088d5750a9598b21bc92674389422c8871fc6266423643b3a82c88325caa09494400b6989dba861aa552c9bcf0f684926328dd6b9a3a424f9f92eecb10f06b5690a48947b7ed00d5bde8a8a5c6fa0fab86be7052ecf6968671c2599ad93088cfa7e35e49cb1b8b46366084809659cd6fc891323b333a6a2ff21e488faceb0c65c1aed - -COUNT=12 -L = 2048 -KI = a69a73c87f0ef655c67afa79baf6fa2ec29e1f3ff8fefeeda963cb3b6f655278 -IVlen = 128 -IV = fced0bc3fb9328d8035325fccfe26a77 -FixedInputDataByteLen = 51 -FixedInputData = 20a5c29d1b043019c1088f1968a0f312ca183d4e94849725cbee261af8e635c559f10d97e2c0c7de1e4c8aa9497facd2692c6f -KO = 09b17ed594f8c341e8c913c6db4dda8df7ad651d8864e249b51bb511e84a1778acc6d44da47f52206e73c9316f71ab6dc2395c58c67eeb43cbb2ef6ccb13b975b90c93e8eb148feb5833fc026598c5203d813fa142691015abc09248976f15c1053a01aefff8a0879f6de24d367c293f1aa8f70882eaea550fbd62f88ab0207d155b56df142e3563da1efd3bdd16a3c4a066d9b93d39445bf9333b2c63b22f7d321e5271c5f399be7700fd3f55387ac40aeef3aff23c06e1b3fceef9b9c73f95b49eedcdf9cad6ef3a86b5609fc9688fed497d915a453da89e6179eada9267da32f2283a4421ead93c85316e2a97bf13a6990838bd1678fa1cc3be0f05dc0598 - -COUNT=13 -L = 2048 -KI = 5286f6e407937813e425b79a0728cfaa670dbc75c67e20adccab688f677ce6ab -IVlen = 128 -IV = e1fbf0dc6114d60c4e50624520743118 -FixedInputDataByteLen = 51 -FixedInputData = d9dc55a156f584f28a9df5325c7e5cb2777c2c35aa8f0bdb366057d12869c67f19428f24b1cc4170c3ab80841131cf3a380b01 -KO = 2a022d4ad6582d4c3b2d28d9b7a60cff3ff0d831f3d9a73e650b0878b8c0e0ee08bcdce7497c7a5d8f027478537108cc488a8bd4c7ed92e2f27436357680c393c7d6e612a2db4954fc4da911d9594d91b0c64434d1b4475406e595aef3d767d8eb20b1df1ae3133585da10896ef508e1cda2ba096a5672ddb19882bfd1408b64d1c9141b65bdba9fa1061c2f4bcccdd724f27de7670ccdfbc202e9373d5c92a9990a73a466376c02cbafaa81142d62ec5d31a4e4201e35ba58f26f82db12c48b2e76edf834651b8762e644aef25ed4a6c3dd0f9e6c55da4609226ec06c763c5cb89baa5a406b1767c5c7c2b91048fa315df8589c61a6aef3781b4742301a61c2 - -COUNT=14 -L = 2048 -KI = 611bcd231e800efdd4821db0bea8ffe7dea208690043cd745d1f4058bd48959e -IVlen = 128 -IV = 878556b7da7df7c80bd71bae590bf67b -FixedInputDataByteLen = 51 -FixedInputData = f53b0fd7301cc2b9aeb2fa076cfba88b6d854e2feafb41394724a0fbe26585c863470d5068e0f8a50a69171edc428178b9a0f4 -KO = 0bd6c17c11d260981478afb7d8638fcb5f19aaad7721495c89e8334fdc9e3b42dc8d91913a40fbb1c03b6bc7aadae39b6d47208e3f9567c037ae79e834a0482bad9eb9b0d4ad54c36dd3a8ae0670f5d4b74026149fb519c1d6c5260491dc48f6e5c639721c7fd087c1354dbd77728d9f3964612e6a706bf42d51945eb64c2129c55a29c57b77023a1f7a7de105051abde819dbd5ec7d9488c57dbdebefcc805055d3208c513a84c69b68998521e37f9bf3f0c1005fabb7f6427bbc936f3c5876565ecdb04e953dba67df3cb08b727e7d513903724e620c6dbc58a470eeeee128e79332cb8f91d4795a438c7996e5c405f42a61cef1547efd8b284fc66681a581 - -COUNT=15 -L = 2048 -KI = c09f50cf3d2febec3fa22c73260cb0a4176b42e886bb2902ba9c3eef7381b5a1 -IVlen = 128 -IV = 9104dc3553d59b737aa3cdc30029586f -FixedInputDataByteLen = 51 -FixedInputData = a2d06a5ca0bde4aa6c7c97af40eebce0f0745fb0d9d0ea311055bb18a2ccb1581cd5a72c915d6f568369657b4caa1f7dabad83 -KO = 776c7cf792eb5bee6d005fa211955f1847727f92ab2e3d5f9f70e5331337f9d8ecca0bb92e4e3346bec7d9839ce12b601f0cbc7fa6b534a1395b30f6737a142dfcbb0463c7a75efb161ae123be85746f6a00b465017bfc580d4c3a76b3d850a0600e66ecb38de0d32765489a17054e6666718b22f3f86385a38724babf644989ea54b6bafb76f6d733902c578bed9fbd1dfe47087e82413a78dd478cd5ea41380bad32c13d0b0901be01d48917438888566e85f16193d23821d930b6c24343f0fc316fe3e073632f70818a3bd172413962f87d439440cf892570a67dfc18c7537af6acb158c574c7cdb33c9d3b6a2218bfee61a35ffef476aaf8f5b19e21717a - -COUNT=16 -L = 2048 -KI = f15ddfee83b23a6338a9a06c80daf9030aff652e3f55b83974109c26edd81171 -IVlen = 128 -IV = e29e3ee5aaaa62641c38124fe1f0ced4 -FixedInputDataByteLen = 51 -FixedInputData = d71cb43c98201c23269b7655b1e5d9102ad1afbf96141518603e8235f5e63270124e024b4e45b89478f9b610126fc571cde506 -KO = e139ecc835883e5664e96785e3f5df3582a15509fc4f1dc02510b9a29e92f52638c348ca8a4a86e47bc92a87018a0cd724c1f82c7e59e7c89c3c89202c2e130acac8aaa8d7a441568b684530d712006ca922ddbb166cef258980efc3cf97501f66eb40731db46551bbd42d617b90fb8565c02d84e41c0751e32ddcde22af1b7cfda04016466e58d0c2095e0bebb8dffa5bd29aac3a8770ca93b8732c48cf27b19dddfc1f1d7e7426c1fe9ee50a0f31a15325bbcae0fc83e5e395abdd4140997e05b8d830744b7bca0a9c749726f2714581ad4c7272a5d711f34d0b763b48531df82e8e74fb36fcddb63303319a8ff90d84c7bfdeddef1b41ed4b05eeb221c074 - -COUNT=17 -L = 2048 -KI = 41fcd69bb00f15135dc10227aae07535fcff96ce8a238d93f6d0909d66a921b2 -IVlen = 128 -IV = 4cb49795ef0ca46778a2caf7f3d85e83 -FixedInputDataByteLen = 51 -FixedInputData = f44df1d15ba64872ba85ad576195dab6515684ecf21e600d05b4ee9964cadea9715bd5296ed351c0f42ce0cc63a10630528a8f -KO = 375c3eb4d5bb9e51575ba6b144b36c45bf096b378ce4cd589a2585ac0da1d5eee20bc1a29680c642abb7e76d7deea97c7785afa742fe3e98dedef3dafc26c652b9e2708d727bcc8f6e8ed44685178ef8a34dddbb705a91e91d207241c9c0790505250a87d7d09b0bbf46c50dacba18a2a1ce746b7610c6ea3a7d643e933277804573f7dc291e5de1ea17c1c832bf397f0a425031adc2bc513f93d940cd6c53c9aec2019723577340e35c854d8dc141d29a0febbbcaa1e194e336e057456f544eeebdf2e6fca3725aff888248cb7e791169accaf0c9884c08c677b002a438127f1435499c31b00d374c0abab1eaef9fa672faca3c1e5c5b8efd61e9e37db8a9dd - -COUNT=18 -L = 2048 -KI = ab800d21359aba643f610e721a2a7b3c3f1ebac68763859e686a7b17c3d8b422 -IVlen = 128 -IV = e6d405ea67461606f8feadddc21bd3d4 -FixedInputDataByteLen = 51 -FixedInputData = b582c377d9d00ee98c9928101a86227eea0ce96ac64dcbd4fdc654be021d338f948aac36298b523c127d1ad05cdcccf33ff7d4 -KO = 6ae2d307734cd7326da67ed7bd30a3c6fb00acb5567f063a60777bd173abf5151dd5402ca8c9efe9898813c43c814965623b9256ad8f9cd191fb1d30ae1b5c6731d6c4c9f0201077f5cd0dbe19044d697023ab304308e70895a0c26351889efd27b085ac70c5b0fe01fe129d4a5711f31a033c8c98eb49ffed2b5614d8a7d72918a54db8c0a5305419b6f8d2fac47d0aed9771d0706a19bd4dcc30474967d25582c66540c695679a6b6d1c113b1c8245d42651d9033d990b6a4475e356e1184c9e4a5facbf1e03e8eb075a70574d81b88908db0cb5df03d31faf1f3bebe6c4759e54a378de617d4ac3d4c4e1d068eae956950263a57f864256e67463e6533b4b - -COUNT=19 -L = 2048 -KI = d301ab919f833e1c632efec7a71fd5f7e7a63cdaf425f9cdd25c81d41eef1513 -IVlen = 128 -IV = b2e96e6b84533e684423ab0231e78d5b -FixedInputDataByteLen = 51 -FixedInputData = f079dd10811de4568e65e864b25cdd79573cbaab6f77ca5c1975b7f5af5721dfd7b0e90576455481b412b3631dd68cf5cb7a40 -KO = 29b3a7a6be5e15b8c249aaf92bf59e58313311d1cf0349b9bf16492a27cd901c09889935b799c79d66cb47864fa856f211aa62fe4278c14500ed06777f07879d3451bb5dd3b09d6645b770884f6ab95be1bce5369335272e6cec130a5fbf99c230ba4c1a3ca71701c734675134a66368ef7d3acfc4448d7df7906f1ae1623b709a4f5f78c4cc4e99811847c622bd20626b75d6edb493c65c5cff6b96b8d84b893b611fb02da0d7c369ee81b28b2b7d48b866e3846d51226160365075e2a7b09f7a97cdbcfebcf254e3ed0e25a785bdc915c50abf88a88ccd637e6267a00849f6918e30fd6a2677c585a8c3732e541e9245ecea167d921cf1c6f0d4e71cf529d0 - -COUNT=20 -L = 560 -KI = 5ad94d7efb6ea2435cde687135ec441bb281ffe234601afae51877a0a47c25a0 -IVlen = 128 -IV = 6673a6a2967b9af87fe410571d120cf2 -FixedInputDataByteLen = 51 -FixedInputData = a04e115bf583b8d56f452d2f911f6c1eace6a6492ee02f8584da4a9cf0f99f6d1b80e21acc34380cec7b072a13183191f6dcf0 -KO = 72ef28f3fb561f8d2e2f07863db512900662d1a69be0b0738fb257303bc5fdecc8c14cbaba5480d257f5622637289c5bea949338cb2522155210cab11abef7614f9996f2bbae - -COUNT=21 -L = 560 -KI = 46294ae53c614b56a9159a7231cb3fc892b9c8920f5279f8b14224190611854e -IVlen = 128 -IV = 54fcaec0b2d060c36d1d141edce051d3 -FixedInputDataByteLen = 51 -FixedInputData = a2b21287041180f625c5b5752cfa089f4764857a16019fbeec6e54b053280a0a43c45ccbcd4738d7d900e337e6e497639fa211 -KO = a29ce867d7cf75e1c5776d1114633219b60ffc3ecc95778a537e924e9a0a656615b5f73600f5a9f02579a91becbae8565a7f7a8f95ed2458ee0ca7196c893dd60638f48cf73a - -COUNT=22 -L = 560 -KI = 949ee8d8cb52d1a99b514720ad8228d7720524f5265d4ec34fcfc23b7b01149e -IVlen = 128 -IV = 464c227dfd582107ac5088709b72a248 -FixedInputDataByteLen = 51 -FixedInputData = 047387d57043c901e77f3b5aea49f08cb57ebfd7c76e858234a41833152a24ecb705895552d807bf7f23ee8513128538734e8e -KO = 16452c75bf72b29907772d70f36b7ba8ef84a4e6d786f1d87b71c369eee2a438acf74e6dc2aa0566991dad11e0d347e6485b1b26542e9a728b4a8266f0158f9e4f6d8c8a2804 - -COUNT=23 -L = 560 -KI = 2e98d6cad34bd4e148a377c9e6a01ee30853675555b3fb05111a998894576a65 -IVlen = 128 -IV = e1ac9968610582169d8bbdd71b204482 -FixedInputDataByteLen = 51 -FixedInputData = 784d60d4ca9554ab25947077a9ff9f3d4604a7c1c7a66790468923327ab67b550ddcdc2200234354c38c787f8336e214eb0e93 -KO = b28b5fe4b360f9cf2f53507516680fd1265d16eead3c31ba82da9cbed644610bf0ddf32e3cf4b027cbc387d7cc526e3c5950d0abf6dca95fb9cd3a1e5dfbe7ff1a8851ae346b - -COUNT=24 -L = 560 -KI = cfd08e1749de99fc353c1167a53cd00f337cef75675f6ea7cb542b9f049dd917 -IVlen = 128 -IV = acab4c789e9e3fdcc13e8c1a8d387718 -FixedInputDataByteLen = 51 -FixedInputData = 3089e094c2f242933a2f8e152b4421d733d44251d2200756975b2169633a7e5ce68ccb64609f748c99c6615678b4e51303010b -KO = c8f0d1496ee9067b544b8dfc720d6f0a420db21995c4758aa22b6ffaef42aebeab472e51be0a062fe3533761455b6a447807759a26cfc33723411ca4b87da39626f551bc6785 - -COUNT=25 -L = 560 -KI = 165c962acec34bf3fc6664f1ad6d38371468a6d1055e63e06a415212508627e9 -IVlen = 128 -IV = 04063dfad5299528ff8bcda820021e2c -FixedInputDataByteLen = 51 -FixedInputData = c60bd17bb7e9cb462f694f1c37847ada4669889f6afb39a5b983e6b9f5af04280f8f26289ffbd2e230f7c07f9a48b28430842e -KO = 3b6318d6ed24011dffc5544c76bf0a463c3568012a8b52cbc99bf53ad823615027992968bfa6355468c8ac592d230a148e4c13268283c06ebca79b2bad45995ef072f373a097 - -COUNT=26 -L = 560 -KI = 34775e8d5cb7a8225486e8a9e390f51f8d67b16ed57d4421be350eb75cfc88c0 -IVlen = 128 -IV = 62d01c1df7477316cb2177207d4f6a1d -FixedInputDataByteLen = 51 -FixedInputData = f9d817e8290565f5a7dbeb14ef49a526cded3bb6e52c2af7fcde74dc82f56bb7f79ddc641f9adafb72aba123a627c97002329f -KO = e16196adee6737040fc1b08b1b736da2b92aa15615b6be89a2ed603baace2de6a023f7c78c60c9bcefa323fdec39aaacebeea80c270d0884c73297e1b3770fc3d147be943194 - -COUNT=27 -L = 560 -KI = 443e0893f95cde3572f3ee3ac02a8040a8fc11116bb536cfe99928bfbd2b9642 -IVlen = 128 -IV = 2db8ab24b60382160b045b3122c30072 -FixedInputDataByteLen = 51 -FixedInputData = a9704ae0abb7c4ba4370a0e639f9f4e0a8cf767fbe9c5943c6b8ac9f187dfd750fa011c6d1bdc5ac850568f1ba713c13c2ceb9 -KO = 7c6a9ce5caed6e95451e99d52388e47d7e587f3519e2e401eeafa3c4b15fad76d80578fc499630f665fb6f57918f427ec470879978ac1dd629769c13dbf1eea44a72da03c56a - -COUNT=28 -L = 560 -KI = 54c21a3e41e5b6ed80c8364ba59c054d7408230075dc1a5e09aca2ec2b54aa10 -IVlen = 128 -IV = 1a40c58fef3fd59e805899995a9bea6b -FixedInputDataByteLen = 51 -FixedInputData = d1bc430551a7ec4f1b4fbbedf5fef0e676ad29b2d970a5edb0612e8f6b8bdbff81f86a3ab11b1da7c7776586f87b739fa4a30e -KO = 0fa03258f4ea4a3439979957b009574947dd591aa3cc27a37ebb8f1912ab1e353d33420dd7b2d23dbfa623a6e3f6d4c5ebcbfa4d0432c992bedc21e964aa61619fa07d8cd46d - -COUNT=29 -L = 560 -KI = 4ba5cf13523ccffec555d8b9e78df7f693aea17d288cf04a965165ac263f64b0 -IVlen = 128 -IV = 2e71b77f02f57b335b6735acb62bdc80 -FixedInputDataByteLen = 51 -FixedInputData = 74b905122cdc25849ac6725835b8405be9cf23ba742893b31e0de8ca91c73673cbcc6cd2a04b15e46e9cc0776dc21759187193 -KO = 6b8e749dfb13262b3420bdb98233cd70368dcec8573c22461503b484fdb398b1f59aeac39edb55a3ab3cbce8754494b72ecf406f6affc4e7b5624fd2f4d92f1d6d2fc125c28d - -COUNT=30 -L = 2400 -KI = a36446188d9859875883f436ae2d6771f78ef4cd4f45a89219e599b49f0c0aa2 -IVlen = 128 -IV = e43b2e20fa32fe1a3bd1fe9381d80c01 -FixedInputDataByteLen = 51 -FixedInputData = c5d37029524c739f9a583b1f7f19eccdfb106d0d6a5764d6123117f22066645436dd7a11aa1adb87292df90525b6bd7b91b5d5 -KO = 1aa860a8f9b9d3225a28085ae1acb3f91dec09636c5d797b858e7c73f6eb4b361f9b725a4eff7f5eeb90c20e957733c6f0367b2c3d72e6df3d256c77796fe1dd3469cda28dd303eda2de064cf7e16f1efbe9fca43d7d55e7a30ad8ca706909bf6d3c3739ed35b66b2867e54a314cdbd35c9118ddbb7d8a90553f0b583aca2e3bea6dce90d3aea637d71b30551606aa596cd66e597e62e2f0eefeb05eb4a586423cab8b1df5851c78d15df3bf98e45109f173ded16748ed4b20e898ac7c68c298699da7caa5278dbd9a1020a1788506546c45711e5c68fff6c17d1bd6c97e74dbad979de52248f7ee07e9955093ff5115c9de6d49db92feece5a46a1002402abc9ec2d8bba7d0cac7b197cf2ed581bc5352f100091a541660c9db2d11b2a8eab47b75090acb8bb09656c877f7 - -COUNT=31 -L = 2400 -KI = a0376a5f0c284b22a3754cc1078f02848a85b31e8ec90fde7f1534af0e5e9e0c -IVlen = 128 -IV = 89b42eb1136c2c6d4b8229780ffe1d37 -FixedInputDataByteLen = 51 -FixedInputData = 0d251aa038038f7edc9bc90a39ea3de0992c6f4422213e82854bce031e8c4db4cee7612bb24415d4e3e8cc1955e7a1e4585553 -KO = 92ebe16adff81844a778a23d8645a10450c6485fb3babe9afbfd774c6271db107a739f6da3320b9523724a3a30a1720f7d5bcc3b15b921c7f6affa00db10b192131792afaddacda5a68c4f6343ab4a55b70c75348532e0f6c6e5197ccab8231fc4d50604f46eb0e4cc34c61f0230667e980b1166ebeda930141f93e18ca66d8daa90d4068912e37a919b444a80d18d30f025279433b4b471722117544c8b2559f392d47d192560dec78320bbcc5fd9db46a80e3b9291cb57906679ae270933d1b6f624685842866f4f9adb240874b42c826363a05d06c8f95738f416c1a65c0cab23c68943047ad16eb2f8de9e969d80cc5da453b03973f945e7714cca84ee0758e351f03bde766badb2f8af93d29209c116f4813254980713e52389ca465c4a063339369405dc47dde5e65a - -COUNT=32 -L = 2400 -KI = 4a00693c60857e73e6985db1c7ea6eb11c8c83a0d6ddc51f0dae9f9d32b1c259 -IVlen = 128 -IV = a3bc8c15361e6421593e01d3e37b9869 -FixedInputDataByteLen = 51 -FixedInputData = 290e6599199b0f3e0687a60627ba52049ee10e9c35145e66327f9cb01ad76aee8c8986c4965c900a1781fc107037669d57aa31 -KO = e0be748383dcd841be9938f4c4730dfa69bb38dcf6c4de44224830e49432ce04de2dfcba3c3bec04f1657b23dae0240843f0542be1304a09ac1a89989a5a449317d531cde08acb38a14939e60123acc5d2ef1037356e99a50a5518a0ab52df142d0163bbbb6c5318366c913ec069aa936bfccca423379d0ebc09f4753f387de6c61f994a011d23b191bf7eea727c135c289733e8fc2025c584297985e26c76c2a0f819886302e0cc7f9040bbd22fc8f861c1a531f6cbf96e04a8b997fd689dbadbcae2c75e5d6cce710309a05bcf506f6a56a18eae25e072fef9c8fab1a7e868d1c646216c1f1077a63fe9e92805bab57dc532e10dd69d60d182b5f5e8ba88d620d7797280b1da2bf063d6ad34ceb760195bc88f6c9eb8c59073a1c151dc6e527b3aa61507a5e43879100f20 - -COUNT=33 -L = 2400 -KI = 755332bcaa02e7e7f0a2dccb62d5edfe2dee072d1ad7e925a638dce2502e72e8 -IVlen = 128 -IV = cdcf0deb623bbf7d1795a73a64868b8d -FixedInputDataByteLen = 51 -FixedInputData = 6028999064b20adc81fa718dfd4c3bd1acb7c7a4bf7f9748af88b2d839ecfa58251f60a11eb7d8c145a82dfa8bfe99bf1c9e0c -KO = c04282fa43567d4c6588d1211faf12d5ff8a9a1fddc2fdf40a1c308fe637e749006997d3048ceb7ed4a8b812fcc4d86dfa45c4afa75c56471b3766f73fa7552461d578fead9adb961d65067d9a278af858e143415582d973871cff390a282a3361adb89366c0a021607ec2d095d5b10d469525a4f063c4f60ec4bd9c91a3ab522e0007ae7adb56167fcfbc5e3c3df022e12a0054f294709cc38f6e9cdd37b1754b35f6129fcf88587eb8862f4e7a35a640410373fda201d63679b338ff0920fb53b78a3e4f94c93c2bc67f964a7c5e7767f1ee907bf8e57c59467d26c4c8b804570d8b05f755fe5632453143294ba7f6e433e9633b219a81dc25d204ed4aa58b212925d27a77b78e3b634696a9b03b10d1145064adfe77e3307954a6eb8fa8a440f624f2517a0768886f86e6 - -COUNT=34 -L = 2400 -KI = d04881074e4e37dc900b3b17ad8ca730d768eee9e31f39edbfb4b1be2f3a92ce -IVlen = 128 -IV = ff8de7f7497243a880cbb0682391d455 -FixedInputDataByteLen = 51 -FixedInputData = b18a767af75f22324cb088f5f2d3a3ee7a533cd53aa57d7b9257abf21d73685196030df97a5bf2720e654d91c8dfc5ea2f1103 -KO = 7fa3b494b4b28a2bd834197da9e6d042e7ccfd53fc8c148de0d9c230e6573692e41f8b13785d4cf360d3f7ef9e4510d568ca5ae4058530296077e13b1e506a179ec83bc32e070074fec3464c5b3dda840943d264eb6f4cf51be815e90f599e9f35a18549cf912a99895806effd8ec24986e81ddd3f33684588fd2180d58a49ccbedd5dbb40e9b781a607c133e6331cd132d67173333eb7cc26884a96a9e0d308a375410694535943af4d56793609412b090a5470f38c16831f5b3b638c85776fcb5b89b96ab7cbe430b76865b65a6b80dc49b01c53a762cdb642b16397e08aa325b355303409f7f3f04d7f7ce6006889989746419f20db786cadd97f427c810454c288bf7aa1b18d6bc9060962387272ed77e0ccfe2bdf61fadbe4ee9f6e641a29f3e379ae413d585ebf357f - -COUNT=35 -L = 2400 -KI = f745cc093f1dc11619d0095f6b35195bb5829a31e7a52c377114646e72994f00 -IVlen = 128 -IV = 9c7e02c8bb8c886986d2bd6817b7d08f -FixedInputDataByteLen = 51 -FixedInputData = e1c896f1d2a990f128088371d8d7df3921dce650e6bbe81e16cc3c3b7730bf950413ac82b5b05b842578298c23a33c4fec3dc2 -KO = b6b2368d952bbf9b196786d5a392b78d965e094a0227a39eaad0fc7c82bfce639ff3ec128a7e9e16135878e5de3259ade04983e37b07b9869b6a2e85b856539a5281ea87ea054d18d57e157574a12929b351ee6b8bc9023b576ffe5950cd855af3563bd8f1ab9d0ba2c05b692e78df067cb5e12677e08daf3e3c9c82d6f428df10e834db54fc0169798b3aeda86d76c1c8aaf831f5de18ce974bd357347cf0276e0480ce4a2cfa667ccf1acf4ac95841e85ea64381e5394c37678675a227d531f165b5682cccb5ec4988cd895e9a3111c28c915b57844a8bbe8a72deb24ae7ed63c63e297befe478d6b4cb20f6dc55ca8b291057a38af377a16091a1e09cd05bd87b559a3ecefb328adf95ae2fb6ca2b8ada8efffab3244e468acfb6e269e060d7d932d97a66f036c2bf05ed - -COUNT=36 -L = 2400 -KI = b0055b48808d2261e2af54f118147bb421cf1c9cfe5fdb3acbe5798c058eb0e2 -IVlen = 128 -IV = 7448ae221b17a53f4469c738648b0831 -FixedInputDataByteLen = 51 -FixedInputData = b6ea5971f6c4f76b6e267730381523b8b8d297b6cccb602d6c60ae4a9bc4bce4ecdceeaf448cdb170795d9b6fd22260f2ee241 -KO = b22fd5d241e92f3ec8d04f52f0a7c702154f7a68e41fbf288f3e44c8c1e2088c25083b0c504fbc128f93001314e1d1426bf10010ca2f76ebcd3164c702f9bd171394dec087a86f07c779a670a882370f01e5982c16f38a2ba575a96d0e87e7e807e520ff32f9cc2bfd63662ad6afa5450000436a75f804820b6cf9460d82a03c3b040a6299f982c7f6a630cccbefeb9c40b615f0c25f33a4c6d42dbf5df368dac688a2019c0a7da845bf70573b948aa05a54067f004c8a63cf55dffa757b7a928b7b878b4ef1c8905a183a82a3b266da8e0e3663bc9f5b77d1cdc49099882b0c014613d64edd423c7456ffbd2af35a3d70e46210516c43b80f2a485c08995c5b7af68a8a19392c3ed7842cea8a4e54f7c72dea8dbafbb6e515d1a9d634936b59e6d330e99e4083c58a88c9ea - -COUNT=37 -L = 2400 -KI = dc6dcff914ce4dd279f2c12a0fab2e0e403cfeb0e8e1dc7daea15cab50a73172 -IVlen = 128 -IV = 617215275894f2373684b6618d7d20b2 -FixedInputDataByteLen = 51 -FixedInputData = 500e6e7167498f561bd234ba5f92bb1d75cb3b5ed22c774a3f91d5d8a75c3a99d017b78bc4e15a40588c2ad93061903f38b9dc -KO = c862934629445eb05f99717d38cca317aacfc50fe0b44f126ad8c5d953841dca78874ef9e08ffb66f7ce9af18df658fb83e80c96657ef6a90d1a45c8a3ebf7c3906dc9858d1e7ed8044580918f31cc46f12c29900444afcdc1e3a6a00c00dcb857c2a90d0a757fcfc2a2be173f81241837ab7dc593dae7a0d111059a8be977d32b3692512d5c98a965e8169ac5cd36a7c108adc160f5038ceb739a392a321d4f8790eff6edc165064a652c95431d95bcbe2dd331078c4a6983964049376aaee8a51e929ce209f692f15206ec81c001880918d3e1133b22019842e07f6db08749e4fbeff39fb4986b1e7d1a89bf2c4977c3b4c7dc65b5810e6d44100da23f95e3595f1af3a3dc84ae831d4e5f3db8c3107b363324c8dacb0bd230c78c88c11531a9827e6364b0531eb8ddc75d - -COUNT=38 -L = 2400 -KI = 5db43f8f22561af527c3339fabb23e24a9a4be801e002ba214722aff86abe250 -IVlen = 128 -IV = 2ee8769464fab5e77f02701cd0f0b310 -FixedInputDataByteLen = 51 -FixedInputData = 0e528e4e352928e5b04cfa62480303f1ec839bde4a8501b93e61562cea99f3a7ec91b1f899bd751fb32e4cd9b7ed77b93a8a6c -KO = 212ab3376352a67651cd4783c47e3bf17060dcad3a3389fc45046bdd68b76c5e2b460c2b981325c89f29cd80645e3fc4568242e925698cf94fffb10ad1d17eccd3c3103a89b5588d9e92ef4f7b58be79cf8a23cf1641185e437b68d74b58051b4a43301911b26f15fd1aa6ff71f6f6194019f09248b4a7b51f60e25a9035544e38809c8ecfeee87ce52c4a8fac2eff8dbb36a2645d7bde1add5a817cdfdde8f34bc02a0ec7aa4cfa26e0dfeb98e6117d91c60ae8c439ea54449188eb9f3b109f1819689db74f04b6a2b3c9b7bdc8404b6baa093b1ea68b50c1e05726348cfe555cfa2a18157432fbd824f4d4175ba9afd48e93b075792fa2dbc0d12cdb9b93a604375ad7c23c9bbdddb72f3a57fb1d5862b0ca8b18983c8443ceb9cda406403eab6ea5f9cbbdf382d3bfcc66 - -COUNT=39 -L = 2400 -KI = 5072d806810afbc5e35b73a7c7114af857eb7c06c562a9b4f241d206cc2a5544 -IVlen = 128 -IV = 7693438bf17c7d725f2575839646fa02 -FixedInputDataByteLen = 51 -FixedInputData = 22c97233c86baef8573e184b4141da666c77d346c01acf5876eea833cb2e28600a9ea9d01916639b1a88eb52603b653d4987c3 -KO = 3044d9459b588672afb4e616ea876dec305c1e9a16f8011f27ba42ed18177b3600d8f66a85bcb48bb8d91a32bfaa42b71a8937d344ab8bf39204447388605a159df659464fd7e5bff942f874e7dfa2c6a4203fca145ef0e4b6bd395036c755c1b78d529a5699f76fac935148446f3f1fd37f9830b0aca5c985eb6b6b87641fe990e6ea3c46b3b7384a44f493616ff581a61e24fb6b8cdf865196f59caca6649074969d466218944b0a4cf5c9e48998810c011d7a9ec0bf5d229b9ba2d5b8bd7626fb45306e1e2a1dcff32656a900a09813d22e91d0c5674164478e75acde4217cce1a8b4471a90d15608b7e90147e9679f4506072b45d481d033d6369abcf6fcb1b5e9a4932713318e405e709d6b4da11f9a30905e8c3f81c9e41bbf21136e11c42104eeff3b3c3e8b5294e8 - -[PRF=CMAC_AES256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 8fc00030210096792f0695dbb632774a76df518763e496d2c8fd59e5493b6247 -IVlen = 128 -IV = e6f2f499698494bd4f2b68d1d0a1e08e -FixedInputDataByteLen = 51 -FixedInputData = f9e4dde8383f498e6a07bba042d3ba47283bdde2b4e8205289aa6ba137d5de7b2acf2b71709839672e54173ba848d6e195519b -KO = 7071c491a55757fd26c5f273f4fd2d5cf14270ff294412cf530aca1c8a28f12d31b17f600d6fecaa38b88d542ffba01e6f959aac4e50c84e465d0997b43f0c8a - -COUNT=1 -L = 512 -KI = 099cad0cb8bca151c23420c1d24e62af4ebc7d8d646872f39d88c42554fc66ec -IVlen = 128 -IV = ee6119bad7d2027c77ed00e91389df3a -FixedInputDataByteLen = 51 -FixedInputData = 51c88a17deddf4f794c462f3bafef0df81b4fa5990d859c0511b4255dfb0cb4ef03d0feccdf39a648690ab2240341657ac4c1a -KO = ec0a932f59fc10efeaae4749a51216421532ba3130cb92559b2cb4671bf4724d21aa0c67290a887ab7bc34c6d338134814fa0f7c988ab0ced7bcc46607c520b1 - -COUNT=2 -L = 512 -KI = e4845e07b1562049d89120690d822c5b1ffd70197ebed518dfe58c50fa88730c -IVlen = 128 -IV = 2178deeba09d796ed34a39f29d0fdf00 -FixedInputDataByteLen = 51 -FixedInputData = 07ea67aa8344f0cfd167fb79305f3e36f2c2ad9b9702bd957c5e1360575549d6798b61be275271cedc28e7594fca7626837b90 -KO = 7d00f371b76349dcd09d72fa9ce3d6ce8e5bfe68fa68970126149703afdeeb2120976c80173ce187158977ec2caafd8171babcf47d486b796be81155be559c10 - -COUNT=3 -L = 512 -KI = 7493b6d61dfce722c6cd324660c17f2d304b2c8240e13f963e3329ccbb748790 -IVlen = 128 -IV = 0bedf278ef07a877f9c7e1b05b16a436 -FixedInputDataByteLen = 51 -FixedInputData = e21e43e465e1e5b5fcec6b0e7f8e33354c285ecbda560fc7021a16ffffed08c8ed839d8990ebecf1e709a6ad7586b6042cd3c5 -KO = 161905e0131fc79cee4e44250cfb8aeadadcfcb74f3e9e053c7b24769743d7824619940117dd85519f707696fe889d88123ec858c52c7689a872e4172437f309 - -COUNT=4 -L = 512 -KI = bf85375365ce09ccffc40baab841127ede43b579ef8f08b480bcfd9e4e3c6cfd -IVlen = 128 -IV = 45e6b7d848573ace1619532ea8e86aa7 -FixedInputDataByteLen = 51 -FixedInputData = fa1a392a4afe188e22dc778eab64dfcd219e7f0bc62ec72dd9bc39a9cce6662682b17922f8b41c72c4db28c09285a3edf53723 -KO = 2467ba840a449b8f97d20fabef6a060fd7fc3ad9370dff00cbb2bf679f04c4843ed626ef57950aa591cea27b18579ec7833c5abe81318bd6c23f05ad355fae84 - -COUNT=5 -L = 512 -KI = a1797b1953057e9488b6eebb82d6f2b9f64cde194b2fad359f9f6d6343f21a81 -IVlen = 128 -IV = 2d1f34386d17d9332f31127165cab713 -FixedInputDataByteLen = 51 -FixedInputData = 21f870439d355f3a3125d1707a10a068d24e0f5dc62981b425892f1468d9885ae5c8a3c3331821432064e683a9e90ce712ec40 -KO = d4370ac8fa5d9150a8f166908a924995c36759ae571901243283d2b55b16197b6428899633eb0844b7d1ab2c111c977e8f5be22d662b14e1cfca47c8a5bd88c3 - -COUNT=6 -L = 512 -KI = 4e847825a7bdf4722e0eaa334bf44e9f1197c5c194f2f2f49cac94fc2e8b1b74 -IVlen = 128 -IV = 9c2d45bd5cf2b0f6340d99e87b83244c -FixedInputDataByteLen = 51 -FixedInputData = 9de134962dd83db2531773f0f68f5231a705ae50214e5bc258d069a6310e45d6ceed6522c7ca1b64e395c1244d1bbf4fd6dfd4 -KO = 541b5e75502ee5b3dcc2dd7c900565712a59c4afe328f5d8849cfc9b7a69382ced8bfc3c78433a4610d2c527581ea6f4a2595db7cfc4a3d55eeca57befe52f53 - -COUNT=7 -L = 512 -KI = 76abdddab20331785e0b331f02ab80bce64d42aa393a02171162b29846cb2d1c -IVlen = 128 -IV = a8080261c1a6ec6452eb6e75e5067061 -FixedInputDataByteLen = 51 -FixedInputData = 1dbdb92d70d3107bf18d79e2a089c0e5ee3ffd848b2c3581d56a469769d6f3f20ba5cc62dc1a15489ea99c1d8bbf2abf9807b1 -KO = 2668fa99f433c01f9b152bbd3941556b212105e0907cef74f945abcb2b1db0d39e93a6d8ec45769d4c308a9cf8b5fa0157a2e5f2ab18fa513256301956d110e9 - -COUNT=8 -L = 512 -KI = 913bbb13704e9ad6030ea0aef75508e8e2e75afaec4d9396bc2f79773dc200db -IVlen = 128 -IV = 6c944ca9185650b72c34bcf6ffbf38a1 -FixedInputDataByteLen = 51 -FixedInputData = 993a5f3b551f69da4346217791477b9dfbe7e9748e3b831ccbb5cdfc4009221d9f59ea33650ecaedcdf8c651230f6bc0aa20ae -KO = f5d5136a9c985147fcf5e1149fa68ca58d135b6257efee7651372de41814b9957d464e2508825f787c4212f4c6044752bbb86c77639acd040418acd7993cad1f - -COUNT=9 -L = 512 -KI = 189c467e7211747a97831903a45995cf730a9a9c95bfa022bf0e4065067eec24 -IVlen = 128 -IV = 67081e1343cb7440fe52a21f1bc57202 -FixedInputDataByteLen = 51 -FixedInputData = c4f82527fbddf7fd3840cfdf5311ac79461460f6ad0a8754957c41f6696e2dfd94414583358da409b472c06c783f2263279aa1 -KO = f6616a7ae96df43508132373224952ccf0919a2a300a16965c9cffa170d2af644bdb4be84d23e2211a42820b217bdae645a4fd388a26e592547a83e209ace3f7 - -COUNT=10 -L = 2048 -KI = 8dd5438d2386dbe5e3fb7b71bc1778b350954bebf1d5cf26b06357a59795ce7f -IVlen = 128 -IV = 57355f7078aae4a97f5f94fe62cdf9dd -FixedInputDataByteLen = 51 -FixedInputData = cc49dc53ae89323bba5dfcecbf2a3a91247fedc5637aab52ba6a6bedc31d0830a1eacd1f1f0ef8c8aaf719c6b9e89c15fefe70 -KO = 1f17aefe206332d45b6f61fb94c24d952b57df4af40068c1ddabdad552ecc1caac708e36d6aafc3ea7336e51d977fb43a58bc914f247a48a8bebabc46d32fec31abc14df90482ce835b9314dd252b91e4398cfc913f2f7fae48678c334a6a2eb6a5c60c75fae182394fb408de5c47ed29654e7cc4825ff5afd46dfa3cbf30fb0dc92b0d3f2f14718c99c999964620335049a0c591b434b1df1b6707a6fd5148b42be70d49b86bc94dbf5a398b599f4a58a41d201150676e95ba01bcbaf6a103e1fe651bb09163685721c858baa40c87c3ebb00d506ad2716d904c0a2630cf291ea6ddc4a4c2ba5e7353f10394e109ebfc5cd98b0961666059600a97efbf55aae - -COUNT=11 -L = 2048 -KI = 976ce4657d2c2e26734641121372871dbbd507f542fdb8c406f688a42195aa31 -IVlen = 128 -IV = cf19981b29d81a8c6f8b1f54d636071d -FixedInputDataByteLen = 51 -FixedInputData = f5d59644af177a667a650e0c78f6ee2f859ce75d03435a20b3a171125c2d7868936cebbffcd3d10f4ccc84512b0405e8a9d10f -KO = 6540f0602303ddef63ea32c94e96b161510bb74357b1b2637fc5fd69d12a8cbcabb5ecf407f7fca066ec1e2f090e601d913ba4f3ca76d54c64b37265eeb4b1f06b74f0000ba7663da03f8692f151f96503ce68651289e2d499d7526e099cad872422bc84194517eb8bfb819e44e839c35f9629180d3e188427b361f627397b6808f9df75c27bcf77e72534de0bcccf4c94bc50c7d20a4c4996194d12aafbdfc1dc46e31a411ee92f87e12fb4c9efbef364b1f1b827fdc03cc0308e88c424852ec536a412d01a63e742e03c80df480aea40f60604191f49b580fcc93d93010e1bdc125b935133cf8b3d586eff5cc94fdc8d2aadeef422d106deb71615859f1188 - -COUNT=12 -L = 2048 -KI = 7ce5dce3c1394e5c2c61071380dbfbead557853eab2ff4ea53d9c3d78a54bc48 -IVlen = 128 -IV = 00ac3cf1737fc396f708613318e593fb -FixedInputDataByteLen = 51 -FixedInputData = 723d2a762c37fc26d753b89d1224b40343ff0fcf655d1b8d7f85cddb4f56628f9824a2b8d512b011952b4fe6a46d40c3be8b64 -KO = faaf09b56375d5447741b0da7a47a74a5b02a741622e37ba2fc3c54844f3f5279c4a01576db86dd198f850a40f0a822c804e45741de91c0b74a2e5611eb8d0c9989642bf1b6a3b4a8790ada7032e4bbb255749528fb550865d746c1d6d6710b99410e27d6e236ce1e5c8fe8dad094cf38da1db04eeaa9b46eb2d4caaa0f66272438147bb65ece5f6f6d4b7a58c924ed4573da0ef2aee851fe8b99019057df9d2edd5c7113782d1036314f9cb2deecb9c583eb49b8c6201decb1e28d500d961e8fe99c3d91a1a04ed47cbe581e1eb3d9c6f08675b94428aedc3ac70a77a128593fb396cef521770112684905fcc06271803a4ccde279863fa263337f8bfcd5037 - -COUNT=13 -L = 2048 -KI = f732b38a72d698058de0a25ddf233441df651d4f7754de3f4d103b4dfda7be28 -IVlen = 128 -IV = 9cff36c7a67f28d0e7280e68d14a6566 -FixedInputDataByteLen = 51 -FixedInputData = 5144d11747f4c32dab55e0d9f69ed66988ea3d1a69b17bedb682fbe673a5dffbcab142e11ef0da2c309fa294618087eba926e4 -KO = 269cab9b0b8f4391433983a866a41fd38761fc19e2471eb30f413b85bd994ec7a2a554256bf23424138a699a6fcb2c9cf308f8e559c5e402389862ea46db75dcc74ecb97a0535354d886910a38c2d47aee60ebf40c3da56a2b6d51eddaa91062ec1029b87549653306d6943f2319a13fc35f9fc67c11db834ebaa6d740a5429c9c64218e343af8f254e9d75707e34bca2a7019c4c28839ac23f7eef937515f24aba8552382ca147aa46081a501b07ea9cf4ed353cd8bd53ad03df5dc4cf694ab9fed5b4cf45edad3594b6948f7daa5769c02e782229662e23730b0091303920302792081fce8dfab0ecdb9eb48f2985a986eed0732db2efe33041ca5eb9c6804 - -COUNT=14 -L = 2048 -KI = cdd5b9b9579d470e8b3d387506ea45aa185885b2c9fffe862c99f3c41094236b -IVlen = 128 -IV = d2ecab3cd0bad6b9908a54b9fc9192c9 -FixedInputDataByteLen = 51 -FixedInputData = 7a85fbb4efbe9878323f5e7711dca49a84786981288043beb74949e3c25122e29f95f940e2560d4c41436e15e812dc254f07b5 -KO = ad2c1a945170ff4a869c42ae7084a78f360c7e51bbeda975f3c6751271c5daaa1a33051a72b1f1f718d8e256d91eed005f7e97ac75b6d85988af8a49cd4a541029c9e50628afed1f82bddf8dd53a0a1a92f5819acbffaa34daed544ea1a3c61aba3890ebfd2911c0f07b9baabde5498e45902115d177d78564e25d5f65dc08a3d4dda93113c2900d52a733c8ab92db1a88565d851fff3296123d6e6fba404f12bc52213a42f9e6e99b1275aadc1c3ccb5f840107b25dde7a5d04d941afd53f3c44ab56b28f451c561265ef9a95c1d0d0e2531bf118ede8a9e67c16095af0bc5c08f82bfe8047332895c33fbe0d3eb5778e64abbd370f309da93c36ac9acd3232 - -COUNT=15 -L = 2048 -KI = 52baeb885ae68c19ce67cf008b88896b1bdafc42721095187274bb4d0b9b2138 -IVlen = 128 -IV = 2dbb38e1419705ef6b2340f7ce55b9a4 -FixedInputDataByteLen = 51 -FixedInputData = 9e704db95caab835e21fd3224eb8a460ba2c4f738eca6bf35100105b1e35c0bfb778982faf677f842b39d0813dfbb2f1a3c8d2 -KO = 839ed88b14084a7632c1735ecbbf3e144c155e0e487b704e6a1cf29ce85fd992d1b1559bb4620b3791ae2d21b5de83510c0ec337e9092a6d206090fc21d499a4f81d22a0d98a6c91224e21913295579c03f1a6f41f163383265dd9fe340d5f2078337572828f57dbd5994c6d744e0e72156d2778cfe5c050aad787e8332e7fd761037cd97529a6cd2e3839f9fe5cfefc5dc893528a7656713f5186eb730f1e58350f007d8f2f58e0db7ad88b6b1dba92ee746972ec7d8e63915459578fc68c08ee89392393545d580de7d92924d9d456876473b5dd30fc4d1f5957f23ed27605b97cc3ee870e7a1e9351bb286c0fba5284d0f8029bca1c56be3417d5a4caab39 - -COUNT=16 -L = 2048 -KI = 45c84564d321c3b0ebbce3e45845474b1a497b03769c5c3a6bd747c0a264e661 -IVlen = 128 -IV = 9543f6a10a083cf473dd50f5554d5f69 -FixedInputDataByteLen = 51 -FixedInputData = de0034df168538e7d7cf17faa7e51a7846034a4e36d1a239456cf2b3d559ab1dea9999c991317154f4ce03cf85c73961a6934c -KO = 7dcf3c3f8963a32a5a1fc0a538749d4e16f9e125dc4feb07c5d894ab7104411597db4e2223d7528f1265c514456c5632f749bd1fd12e39a56bae9a77199fdc03dfb6805afe1f9e6c4b5af7d46dd810e205e76817121a3c18dd9117b53e0b1515459505ffea8772872b1166c57d2a65835e2a24befeaf6de6377e815bace01efd0abe10f2486637adbb0736319bfc239f5e47422ebe05a9aaa9e672ffe80dd7ebc9fe28fba220c19a62d5955b8a40f6d2217e2c9f06cbd136e0f31b70e4f14f288f20283bf0fb1785f9fe20952acf44f05787849e9aedee8676629c2d693fd48f7bbc1bcd34ac493246be8294c00c9e1b62d5690f4f96ab672bae0581362a4efa - -COUNT=17 -L = 2048 -KI = 9c5ba9e8a5255f28c911cf6f7312e0078d22993aa37bc93dc8b2afc0e0a82d30 -IVlen = 128 -IV = 9d0312763aef7c83cf84ad8741e1fae3 -FixedInputDataByteLen = 51 -FixedInputData = f603ccfa1014619fd58c9fbe0b5588f062f9f6efd4fdfbcf2d93a5e2f2195e4f9555931dbabc620a92461da93595a25ce2fa92 -KO = 3e0994c47d4d877d1b16bdd76859d3438ad253153bd5fcfab88824189f0bcb0495c70ea020949f41da4b7ee8429ba591d405cb939bea3150ef3c1e2dfc3e0e0aff4356c03c6405e743f2edbca89a6e4393a43717759b3f8194b0da9e6719cc042d1aae12e72f91b31e5b813ef75f948e744cb893a6a954524d6f2cd512899fb690037334f8566a22af9082d0a7c8070e99461706bfa0e1ce38a0503df847d6caabea78a0a4cfe3dd175c69121405fd61cb98c44d903d2135eb3dfd7e9aa64aae39e5053a217d8a90467bff07af7066492b81a12783739e3f3d0a79affd6f3cbc4f21f78866b2a4b4ffc34a1da7a436613058ede3b8d7d816ce40103ab6753a37 - -COUNT=18 -L = 2048 -KI = 771c38be016fcfff955004fe1cdfc13892db2e4a0f2500cda845e6a3685352c3 -IVlen = 128 -IV = 6496323277417790cd41b08c98f45edc -FixedInputDataByteLen = 51 -FixedInputData = b2ee42ff51bcb9fbfb07115b920f38a5a35c3f79df2e68055ace1a76f1e46553fb19e3d1de061fdc1ae7ba34131a88d945cf8b -KO = a1a6020f46b71d47c76bd0f164dfc820972fc30ca1184d9482deb72784ba34890720495537e5377d1b8ee4cbbe14024a52feba8d7ecbb0006c6d764d6387a85cc53492ced3e96c456aa24cfd2e8a8585836ead26e8e88942d457772ebf2244380d08c6789d81a6b3fac84f09f379df20c2a6c13cd74f0053d94584bba64a368ada92f39972499be6968d4d178740ba55f9159359b42f8919bd1c46fc08b7ed5bad142195b3718f2b0f2ee034ce5777a20abe8c9b870c493b49c7d8a585132529f8ec50a7f749518067442b9f412c924631e679f1e1da895c8acb50ac5cf8fcaaafb42fd1a645c9f1fc624b9212b4842302b656ae65b726bb7498a11e226abd9a - -COUNT=19 -L = 2048 -KI = 56a5717f55bab0a5f216e12fc368e67d9c1289012d10bf19137e04ce393c7ce9 -IVlen = 128 -IV = 80fc2fce06c7d5d1f517e9615a33828d -FixedInputDataByteLen = 51 -FixedInputData = 41890d8d38936d17eaaafc6c771eb76033e7915543fe598a2d73c4acfa325b8574a0d904459d4db300f2944744ad93f4532653 -KO = f13915f756e8aac39eb9139d4d032eadefc5496151ee8af31cb5380671310445c8ed2f380f51bbd8b343b842a5d82a5171cf07977f54c170efac7f9ef0ea211d5a77e383de04547a7c080dad3abdce1f4dd2696e8ccbb1ba4e4625ba45c4f2835026dc7ff3c6208e51e10e62ebfcf296f37f32361dab920d8aac47cfd1465c68e75b3be02f140b633a27aa9db7c03f0be6fe17d2b05e05720c3751215765a9c348cd0ec53bd473d460bee8154c55d87f2f1d37d796416ba22722a6c63a9104fd8d5d3d4030013f4e88be6eaa838958dc508e1ee5c53c26056cd02af03e9fbd60b0e0f414224483b7535f8c88fb881421d91ebc580eaa70559ef4e3df938b6fe1 - -COUNT=20 -L = 560 -KI = b0b66a2b8ec2f268169a9ca496a71bfe6f875a1cea2672d95d0dcc6fbee7fdeb -IVlen = 128 -IV = 01fe484adb8400d05c6fe2462c3ccb58 -FixedInputDataByteLen = 51 -FixedInputData = 63e8d1c0190bb820652514ae3142e20f135a9268cfc57d1c4f92812f189450787c5e17a2d67a7d81e278dc61de2ec1bfc0c373 -KO = ecd2739649548645b2dad2639bfb435af4344b2814914b468f6549522340a138712777663c1b9c8cd7cd49a8271b43a4fd3246d70a879df11f5421190d27dc4639cc47991a42 - -COUNT=21 -L = 560 -KI = 598f4c28deaf6c0e4b11294ed5478e1a04715b2997c6109d3a67234ab8c2dc3f -IVlen = 128 -IV = e67eab1f7b96d0c5dacc10ea2e8c25b0 -FixedInputDataByteLen = 51 -FixedInputData = 8cdf22a39bf2395fdef35f8bb26963bfac3d438e4e92e07a88e635d107b55d71a24c2c6888aaae0c015ae0d8d5e85d2915e5a3 -KO = 2de9f248b268a6221efee3495ad21d8d302411258476514c2873180561af06a0c2a44c4bb11360d01691857f6107cce1159963aacf43a2519d7d11218cdf9b893d5ac28f1746 - -COUNT=22 -L = 560 -KI = 803ebf7ca311e207b3c5929136229255e4167a55cb1400ae6d6c6d05aa477c9d -IVlen = 128 -IV = 727fb5f741f26b3208c15567214348c8 -FixedInputDataByteLen = 51 -FixedInputData = a336b9206cf402a73658432c588ec92069afefd7a43a601b38a9a8c7a5a5efcfd37905f49dc5089b8f76ea4ae130cdaeadff78 -KO = 7a962bd0b437c3486050de8f3ac257b83b99b0b643d29a68adc4312eb0192c0d1e67361a9116ab68f26422196b3798a6ab403feb5965926f050c4ace6d701f7f38beb89d1cfb - -COUNT=23 -L = 560 -KI = 4968477e93456f99d321f13278ab1d76ae41ea68957e4c03fe8df8afc643cdd3 -IVlen = 128 -IV = 56024f26abf9432dd4257284a0d61f7e -FixedInputDataByteLen = 51 -FixedInputData = 8f8e3dbd7c10b0349b3a6fbf1a567187ba23d8d4aed35b471133d13f388c08ea291a307a5a87e3329f4d74365197feb9411a93 -KO = a762473c7faf80f6714c9cf87b2da6ebdd4e1d0384609a5bc651d11797b80d292e515680b8e4a1b4c80284e5dff1fa3fc1af89ca025fc498d3b061d7927f2833ed00e76eacdb - -COUNT=24 -L = 560 -KI = 929ae53240a215cee49f76b1da6e1add44129d9aa5883a261b740d90af6d9769 -IVlen = 128 -IV = cdd4f9d20f0c65790c05782d4636c1d3 -FixedInputDataByteLen = 51 -FixedInputData = 3c8f2c324bd7c9198a94f7eb53f73d818199d685fbf25731ca2d871c6f81646608941a5c6ea6d4572ff875eac30ba8f891939b -KO = cfd4d40d5faeedaab210c50a613eb846d089c4c2c8f7ffa1a59abda5feb576f97dea327b37ff691d44d76e274214fdc65bdc832c9c939320ec8061b5421641c6230327dec30a - -COUNT=25 -L = 560 -KI = 60de3b8c170bc4da0acbd97fb9d319123d4e0b227c30cd0ec6961b881ff99cd7 -IVlen = 128 -IV = 6adf51dbe151b2a469172d2b1df110a6 -FixedInputDataByteLen = 51 -FixedInputData = 5d94fe6b9cda23aefa69fb985c897b9aa980f2ec312becb8d3121e4bbff2c1e5082f5130e39509459bb6b8e974632be44a7b77 -KO = 625510b99a307c16383776af880b68a61973b00e6eb95f52422bfda988ce4d979a9e8f78b42d575a1f9e16de0009d352989eaed789a06cafc301fc1d597bb940f2366c03c230 - -COUNT=26 -L = 560 -KI = 7c7ac0b743756d7a47bc3326bf58ac2c095adf69a3a2d055026fd29f7168aa88 -IVlen = 128 -IV = 636632379a697f8b0bef11318e11599a -FixedInputDataByteLen = 51 -FixedInputData = 8fd8da2cae4fda0a1d606dceae223907bff16b12f968fa1cefe6111866eaaf05279f57bb8106fb682eb52bf3079de666ed97d2 -KO = 7f3751ca04377b2a2bd41c8130bffb1134079564d5f82fc4f6e48cbacbe23e4eea553614392817366c29be9b4e83b91fe0b3524a261531cf94d5ca297d0b2ca07b533be2e10c - -COUNT=27 -L = 560 -KI = 4519ff2ee73e812df58062f4a2f0ca3e83bcfda2fe331a856ab3432c6e8a8362 -IVlen = 128 -IV = 81e77b16441aec11225b4bffba6bae72 -FixedInputDataByteLen = 51 -FixedInputData = 649b454eafec0ed7d8851ece36883de971a3273a16483aa9b787055dd772099073495459ea691adc348ac9e32e09f206d16d6c -KO = e970c8e6eaa092366355135b4d2e4d8a1cb85393053c0091c6cfc8373304eb595432954922e6ac773d2c3ea5dbed23fe8716c39e169c906b4a0f83ddaf21e887f9fc628d32c7 - -COUNT=28 -L = 560 -KI = 3f0d029ef96425fb36faf3ce530b45992dd83191e13d5e36eae42411509ef1b0 -IVlen = 128 -IV = bc8d36b5a044cd497ca93e27a8d942b2 -FixedInputDataByteLen = 51 -FixedInputData = c61fa0758d782e05be2a6484c43afe64a92439a4d8855979a225d70f9051b464aacbca248525df1c4d3765385f77fb239e08ab -KO = 49e4bce76f6c79f73e9d7dad9a4a74f08627eb4d6138d6d833ac168af28e9f3f7350019dfcb1e8b15ecd4ebe0263b20a1ae929aa987ffa2dac2cb06abda541fb11e0d4d367a3 - -COUNT=29 -L = 560 -KI = 7a5f3eaa4c9b1b11b20d4c32b84d4dc56dd18fb55cd8a84348a52a2907c66ff0 -IVlen = 128 -IV = 42920fa65bf8f24b516bc17b17dd0465 -FixedInputDataByteLen = 51 -FixedInputData = c7baf5701fc3eb5d9ec44fdfcb2e9e1b9ea3e1cfae7ee7060b5c98e9c4c4cbd3f776c1a333e2bea5c27f2f6a94f6e7940ce990 -KO = db952f8e2eef469a6d47c5907863b15c050c428c77e7f9bda32f502d40564ebaf034d05a1b40985d7f9e68d9037fadef82d784ede639fc6281a010e4ace330302ff92b6d609b - -COUNT=30 -L = 2400 -KI = aa449996cb842f4654a7ed63185479374f0dfa57d716a537018e0fc1eb58c6e1 -IVlen = 128 -IV = 435acd6fd80456326538de21c99ca36f -FixedInputDataByteLen = 51 -FixedInputData = 80b0311472984220e39fdeb29dc894627757a6238816aa38422e77f513ffea90f27f718d786c00455ed231098b44cb98e8b39d -KO = 989a4973af06e3bea1a95325ad90c7474a9b4006e05389f24f885f1a0d6cc626a3d01a5e8184951c36f2b0d3ce94e8278e59c4bedf07c43752a65ec8eec03aa9c48a7bfe41d44db248811e7795d2290f1ec3b0f199806cb45ff829d444ed489ad86fb44b00c7387a32c7ae01f9fc8bc4736ed3fd2b6fd1af3db644057547856385ce872df969a2d5c0e69b36c504b2c89886f393a83b29241c6354122a08199f56ce3e960e1e21ab340ad14c726357d57bd613cd974afb373e3881bad57cad767e49731e7f24b51904e23d2b0fd2b01f371b1ad44a0f0321445cbc8631e3990d926b3553f8785174bc5c6b93e11078f0daf41afb6e5422b3d76b97b2cddb88b451c41c1d553f11488b73a5f06a9c99cfc055f85adc07c96ea6d83900b2e955a9225b6e7f346bd5664599ef16 - -COUNT=31 -L = 2400 -KI = 2359ccc6087fe42c433355c6e30af29581659cb8178aca501dc80fdb3b3ed237 -IVlen = 128 -IV = 389bddcd5629510e09cbb41454cc1bc0 -FixedInputDataByteLen = 51 -FixedInputData = f18ccf2fe9eefddb7b6b0c90356f735406b0857679b9efe1f938546449744b0d33d181fa0099daf1180a39ae4766d7c0c7cb83 -KO = 2838b5b473ead6ba85da3d04eac890def67dec57d736f29893e26afe4ade5fa63df8f6d8aae771bef2eec89e99371ea07faef514ef4234bbdd2182aa2e69251165c2de60c3165f23fc870c6c00eee2f08a4873a8578d0f31b7b7d60eb88c75a6f6fcb82f5a4cf0edcc70a4afc93f0d0eb55eaef1229c5c0542f98a24db520eaa26fdc4347c029397e086ad67d0ea68d4f586cdc0213130452a880a46b29beb218df274b107670d332c4045e8b87d74d0e6cc82c649dd004fe281f6bd84a011eb5dbbfa00ca1152476ea55f6b986030b8bc4e4e38b1eb6eac783b959c5581e16b5b5a36db1d3327ff63602e873f5e90d890ecc07aa774cbed332dc49ffb14b4ae8716c96b50bf85dab187065c6fa1a231fa19af8f1204c4bdb4a95cd22f4da93dfae474dab13d9f1a89043b30 - -COUNT=32 -L = 2400 -KI = 78cdb2223d4ca13a3b76180425e88dd5c6b43e3ae5473e9327fe95d042386eef -IVlen = 128 -IV = 02976c80a8eabf7568d9c0e03b2f40bb -FixedInputDataByteLen = 51 -FixedInputData = ea115ac8bdd2b97f2e7a44ae11e8475a806357064c8fd3f3e24ebcc4ecc23002c7ebd92bdf9b1a1f8bd9e09d3b0299bbac0a43 -KO = 0a2e8d5d1d819edfd3b63e1def0db437ecc6bf6e18e68ffd61997568f8456f899604ca9f71b42a503371a758198a9953cab4b126a5d61acab3f0af807887f5c8c0065cfbafd77c958cbcd70da2de3c14b636e337d602dc2294aac32057562b8d6ea5d6c6a50b260a84d65b9642fd537381142f00b7c3f7b217acf372260ef7d28a52c20927ac73de45d40ff2bcf009d7884094c9c17a838fec8d7f103eb7a8b53c41d92d814035bf7c7de6a94ce0b6a6ef04bb97ce5377a23f258c8d42221314c68cd170c3b8ac511be11a307062c6ca6d379521493ee2f5109a44513163659aa81bb048935607231a1cbd39f7547e78229edead8c41c65612532bfc304e576c029834371c6081f14cd255a15d9e5f874fb144b384d74a4b398e7837b2c16a4c70d5926f10c47e209dabcac8 - -COUNT=33 -L = 2400 -KI = 9b04d4a6d2aeb686ce5be9ccec0760837876cec22674a8e58b02f52bbde94790 -IVlen = 128 -IV = e4b92f6d6574c47500c3f23e172de71a -FixedInputDataByteLen = 51 -FixedInputData = f1ce18fcd2ab3ad1e3209d176954fc317a5daf711337dbe00eb718ad7c6ba04174c78fa72b4468e8be4aca2b5c5c879c0d837f -KO = 0082cb45aed9e1d27eccdddb72971f6fd39b03e162cfd62e3f867fd8fe8c03f6e16821092711dbfa5d4468e4a358e734a9c07e793feeee00ddfb20623a89f0bba98317274dac5b69c380947749d81d0f2f54cf116c0b19ef830f4af329a7db3cd931ada99cab7b4be34de8bf03e22e59bf1edc62f19da8b4f186a7ce1256864dc87579ce7e601bbedaa491ffdc41d3d6840ebaffe8a0f91f91f94e0fb2231857a5b0d4c3ab98bbb9f4313c33161a43b3900c39c445229f272e0b5131fe96582e2bb35915a27b35d54555e6ae6a87fa627779cce908ac36db47f887d9c121f3d7086142081fe9d180626d3410d5171a821feea0f6124f2a5bf7f071628e5d4e20a84108c8b4400c8119abdcad9e30d5dc61810fc5c3e762e71ea47b50cb6494b8c2699dfaa1ebb92d861854b0 - -COUNT=34 -L = 2400 -KI = 54725c1adcf10bca70395d86840bc8baf31910dfdf22d3cd7622c4dd30ce7866 -IVlen = 128 -IV = 8592d1f78f3be2f485b92fff6e21a5e7 -FixedInputDataByteLen = 51 -FixedInputData = 68beeb0525ce870e169fc75ec00b7f86617b7e9dede4f013d11a8ba3b671d0525958a3901e38af920902ee566d5478c0964073 -KO = d0b4ef6a5e9006f968f734db1a7202385658408639d5b416d081437b09f57de3a82c2e7f7bfce9294e6f65da71efafe2e9c23f5205672530377f0221cbd163165b2209ca8ff181b2c66deefc77c7ee3c628a29339a244eb33852d63fb27232115fcefd7080a5ea365756e215c87614fab8405e48605bc39553e931711bb3ba17fbdbb9b76b7a8f235605820b492e62ae1b9381bbe4ebf9e5dcd5c712227e1dccd94f22e545fa0272d72e2e617228f07b4e2c4c6721ddfd2481e176544a4b8248fead2347ef47aef2ba5c907752e4f755ab57db98029c89c8c4242671fc1e0119c3bc73bb118478d5ef6fa1e21d3be49152bdac828eb5a152f3ffc4f4b9c8898e7d2178ae3161142d0c847e7543caa80b0bc7e6490112c4ae97377fd55373abbd1c0fa4c9290fcce85a644cfd - -COUNT=35 -L = 2400 -KI = b3bed7e23a9d8dcfd85376125c8959a71af2d93720f2c34a75ea013b8f8fb2cc -IVlen = 128 -IV = 1012b708c4ecb549a1a946cfdf2e0d2f -FixedInputDataByteLen = 51 -FixedInputData = a2307413e51b98f531f1c30638ee59f0b6fcafb8db170940421037c91f88d0cc2272508676a3180244a12e6d5bb6bb78dd11c0 -KO = c34ae5abcc62242ee0db15b2a9bb58c1f0ed11b54169f77197abd64352ea4889e64affdbbf10949788b1e78a9f6fd4b4dcc90b5e25d7cab4a0f54083c6dc5ebae5cc19c3f53e9773c3ec2067b46f3817570592569e213be4ad9c6266ae408bc20fc4736a321599c2268ede75717f53974126c92f1438c48665bf16b14e7bc491a7ac42b4ebc69388ce2ce7b8591a25d0ccc2180c92bfeffab8662eb000849781d229304e65586cbb02b8f8ac274114bb5024e6f19e405e32bcba0d3a474897ba73bf9822890970e6f6abed944244891a0a065ba71326b65d26d5111b1af493767fd9c0a8e16e3aa9f01e356a38930e0bc988f1e32e5c02108be0eb458e4100352961029caa8a6e477f50c9268263c57d90e7be50b69a8abb8d92a7d0c6b9aecf9b8df35effc730c9c13e5319 - -COUNT=36 -L = 2400 -KI = bcfac9a0228809bd0af5bbe2fdbb26f00914824229f82572a69b751957c1cf40 -IVlen = 128 -IV = bbaa917795c32dbde9794c058e28904c -FixedInputDataByteLen = 51 -FixedInputData = aae6788591b7992fca154677597e6d5225584de42bbce3394ae9f139c428814cedbcb8320ad344e3f16e1be2ba083b4b0b2797 -KO = 38c76546a2908e3e3f5dced7aa7e5ca73e155ab7470239a1c3d1febbb545981d1ef162e02b8f39ee226d732b9c91b7503fca8bf091f4197ff0b3f8e86cabf9f160b26cf2823888bd57f87958e1f8261202d0a24c383f14ace596ceb8bbd8fc2e73b8c831210747c1619b037540729bb539adeb52396174b0c918d38f89787922227aa31f015accc81e4430c39767616de30b33e943350a40b151bae014570fd02a75bdfdaeb7b7c916d3be08411779cb5eb8e198a2dda12d4defad568e2b6ae9ddf85224d2b6d6a374ef529ccd7cb38813b9d0c4c5c01b5b2485171d7ef8292ecb2d3aa7a3dfc65f009df75d8de3dc4239e01cbd58259eacbc7c5147a888fc4a5459e52601dcf219545ea8029308eac673d453bd3654f7ee62c4494d90f167d439b36e7e55b188444f06bc03 - -COUNT=37 -L = 2400 -KI = 68668cb2424d2d926648a9a21ceb16d4b07af7c8235e03626cb60647268bfd27 -IVlen = 128 -IV = 06b09a4bb9b9bc38cfa79b14c4d0226a -FixedInputDataByteLen = 51 -FixedInputData = c76bde7de347d1d460d6e96ff5e1c6e0df0c9a8911b563a466db7120e97417c1e4038d70937f3bf3fd9b78ccfcfabe7b9662a6 -KO = d5d5770cea3371506592d4323855d87b0fa2e8b68643812f0b9427e4a6ab470131ac8e3bc86992ed00ef9f4ec6bea3c6ea1c166425a93121dcd6c36745f62a3f3be3a8e38c1ce15136536a18b45ec9b47bb7a01e513f40c279ce1738d4d3305410219a1a9e58acd4a4fa12efba74bf13144e8ac57d63530f8b3259ce1f5dd8541f7f60120889bde1f05617d9cc1fbcb566c69d4464ce95021da512ecb86b386e2516687d8039d330a0d1c378bfaa7f498d007c232090e3d6d43effbc1301162f623adb1ee4948027128468f207339dc7eb13029ea4a5aee15e2dc79841df1aafaa0bc66d6842e461777ca6238d9716ebc47cf4fe2c3fa4b920212171a75b6fea2687652f1280309efdc7736a488cf6f76b4bac4956407406056d81c617accef1c952d184762e66256007c26f - -COUNT=38 -L = 2400 -KI = 13c335478f0b09cdf9a55bfae08a25a62c0c2fbf53bd006e7763c10db35dcf2a -IVlen = 128 -IV = 19bf60e75a02616ed440d37a53fd8af0 -FixedInputDataByteLen = 51 -FixedInputData = a34a334096f7fb689af856cecdf3a2dc4adad803109df9d630ada3c1322597579bd2e5ebc25a7600738ffd2ef4f17cebe5634c -KO = ac666861e996a4a82d0162eb9206a5b69295887a85ccb90fef574cf92d6d12b8a31a10806f0a3206411fb87ebd4c120b923e446abecbad9884f304fd07cedd7a7d2644ceb38488e381abd675f88b188dab7e5e0378020f32bc4500d1fb617ae716706de2fda7fddb658494170461f4ce783b240334552181ce1f4fa1f048b2dec5555c976b3a3cd6d05821b8b3e91560195d8c8c74e6beeef56621d4970b1136af6133808f765cf0cb7d6d6fe5c58b66da6b06b0877b90920a5025cdcb4e805c5db7a0af017820bdd31b7fa203109e138ee7e1698616625a8daff4c69743ccda8e9931b68e49ab659972ae0f85c9631ba1b69934bd0f88044cf09d58d61a1c1b755c12d4e165dd0d725a5a3804daa857e9b89b79eff76bfb53870910dea6125f32f93c3aed4050ac7e174973 - -COUNT=39 -L = 2400 -KI = 4818c0becc865ac8f8f5a740fae4ef4a5e34e5fa6cda7d721bf2ba8d8d945f60 -IVlen = 128 -IV = ce6cdc0be175131b1cbb88e3d3247d63 -FixedInputDataByteLen = 51 -FixedInputData = 9a113adc19a25aeed2f437d67eced9fa11e4b04535595afe619e2231e724412ad55a8ba99a6c34e2dd64d93887bb8613ca74fd -KO = 0d797541059a2d96294ce51cc76e1f2720ef1ed99c759eec1fe71a6223629cd2a43c12b0bab495422023a8adb36bd35896d539547545d29ff7e08565ebb9270c95dd74780303f54b4fedec194525739d5ccde5a96c0a417dc281384b5fd97f8861c926ee3b239ec8480ab10cc3fca5d1b022e82d0f8b987e5b75a60e9c83bfedea4860e7cab4d125d65a6b39cb02b70c76e38703d2c2bfe67b0e4ff4923987b689da81e03bc4ae38a2f7a09537ae044950b68b8672574119ae2383fe0a5a796cb950a3192070a150d85d8fb6e7d3878e75db0d3ffb3bb434132085416598ea7239c15396cb26a6be8a3a6d0d8d79b2e3a47d5b2b5e082671b63be882500cea0ba6be6df0248626f89bf9184a8ea68d4de99278fe3bc917113bd59baba870401d1e697227757bf0e7825cad0d - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 8c6c3838d02fc8df7f398f44efa065e9 -IVlen = 64 -IV = a5dca1e9447d865a -FixedInputDataByteLen = 51 -FixedInputData = f3f683911fe4eaf746f365e237c3e829c74509c55390413bfd6acab2b2be946f096c963d7f679aaffa99bcf72aa8fe28425c0a -KO = e558419aa14e9b08f1cff74c18b8f00c967dcb1204e8ff43e0f0b0e742271c6341d077e460b7890a4434891bffbaf4b02dfcc9a357b5cc83ccf007276f180e70 - -COUNT=1 -L = 512 -KI = 0402df4efc619ef948fd8f1c47e64f08 -IVlen = 64 -IV = 1984de22ac484475 -FixedInputDataByteLen = 51 -FixedInputData = c367b5f46070ac912248107913e41bbc7cc10f3e8aa546abe521c662ef53a20d64cee3898262bc30be6b893b045ca95dabae97 -KO = a6938dcccad6e2ecedd6ec82eb7ac3efbbe088e1c31a0b633ddc54836cb3b4c86048ed65f7838891bafd170726e359b2bc3762c33a7005fb030231b4d000d8ad - -COUNT=2 -L = 512 -KI = 73d6b22ccb482c18a19d943ba6159f5d -IVlen = 64 -IV = d722968099d2abe8 -FixedInputDataByteLen = 51 -FixedInputData = 8e7b1811d74e13a56b2bdbe6507264ed16ab87073b2b7514ef15334ee9df1ad8782f1a4fbeeb4a2bb776e09a15d2bf049470de -KO = 49bd4819058976c9b14672bb39bb209e9fed7597b7d70da2c08ba50f5f1cd60582eaf17ea6140528d1272b2ac73716080d0205e9014cf797b89738f31e0e6ba1 - -COUNT=3 -L = 512 -KI = e2d7a4cd41f06ebaa2fdf03e859c7b62 -IVlen = 64 -IV = a7547e7141e72d4e -FixedInputDataByteLen = 51 -FixedInputData = bef6ffabec9220445330cd2301ec35dd5490870434c7cac505d055c43f5884e0270ddb13305c1cdb30eb4394db36c904c0516a -KO = 2ccef6b7c8d813ef549865a05b7504e6e9007c450e514426d38ddd4795f684650243e4bc211df6fd1e5be9460e4bb8eb0084633a34c424c3476f3947a10fa95b - -COUNT=4 -L = 512 -KI = c6e1b992816e9c29ba74ce30c71db63b -IVlen = 64 -IV = 243d1be2fadbb735 -FixedInputDataByteLen = 51 -FixedInputData = 16824817b2d452e0dd9196d37f40b9b1f5e9626f203ae8766dc73eaa8418ac83a2a5f92bea1f213b8f5d1d94ff41f27792e59c -KO = e6921b35c93c7528ae61da7cb20a7953801d8991bea8c8bd57b2e2b01a70230280c5ed2892f10bd532fd71ada54d72c0a2003f59fd5b3720450fa1349339a4e0 - -COUNT=5 -L = 512 -KI = 64f822830cc6f1e1b367b69d027df1a3 -IVlen = 64 -IV = ada1fbe8b8bf30ed -FixedInputDataByteLen = 51 -FixedInputData = d61104096da5f0853332b25bdf41d430ba2801db514d16bdc3fddffb97c3feebb3c77935c572341520b798bf0236901d14b92e -KO = c5d2bad635ea10a0ee68d16ed22aa6d1b829a02759f8ac42d9c982112107acae47d9ee72ceb90ec90493798f93b3d6d10b288b5edf586498388a2cbc4a52ae6d - -COUNT=6 -L = 512 -KI = fe7a333e73357b114efa0808899dc683 -IVlen = 64 -IV = b2d2accee6b29756 -FixedInputDataByteLen = 51 -FixedInputData = e0576c006a976f4e4eda6788175819ec82256ce1405c82b480d2bfb6f621fbd95100d052c39c0225dbda83d05d52d9b7d3cc84 -KO = 0f0448e25917dd68822a1347774350c74051382ead1eae97e9c8c55978dae22148feadaaf4a43038163cccec8586c91fdb25c6d2309c5730663be65383b5c6bb - -COUNT=7 -L = 512 -KI = 913ebd64ba72576eceecd085f4d3d14c -IVlen = 64 -IV = 897828d5ce6535c4 -FixedInputDataByteLen = 51 -FixedInputData = 0d2708155989ad1084b56105d356f05ff1401a801e8f4704f6d5c443c992aaab7b059edfd452ea18c10717c235b8038338bf4f -KO = a34891bce0800c8cc47e50d48b6da50aaee646fd900710782b44803a6f76a3863106b5d3806029f8ac1eb5f86dd5a7f361b5ac9019990ee42b22439fb48459da - -COUNT=8 -L = 512 -KI = 48e8ff59e61f244689b0912f1d653cd5 -IVlen = 64 -IV = d423b15561abe8e0 -FixedInputDataByteLen = 51 -FixedInputData = 005e382b7ef1eacca4d39dc25ef70150add2a995aab161ab77753a8d1f739842a2fd824d625cbf6884d4ed98261b690e7523db -KO = 18f618fdfd2b2ac53e276c8dd60b8ebcd7332a8ac8fe1acc3387daebf889a0f72ef08ccea3a5bff3c65cdf3f35192cad0f0cc2042ae8e9dfdf1a89d6f7131895 - -COUNT=9 -L = 512 -KI = c3317d05e42bfc29b97ab77032dee7ca -IVlen = 64 -IV = 8c754baaeb94b1c0 -FixedInputDataByteLen = 51 -FixedInputData = ff3a57c52b9c4881578143bd4ac7aff706f5f78a3643b6821153e8f78c3cd957691af2cbf1edbee0a34b71ae7330b52673663d -KO = b839390a070195b1a529e44320688dda853b7eeb3ab3d1d9ee64559a52810b94c9432d0607635a864e4e8853d9c3704ddeef646dd44cde7b6c89ee34410601cf - -COUNT=10 -L = 2048 -KI = 120e2c379158c1252b84b62a3dd270d3 -IVlen = 64 -IV = 429d015cc49a8ad3 -FixedInputDataByteLen = 51 -FixedInputData = 774dacd61e0b4b027f4fffa200c19207737a9583fcd29681b083bc4c88d70408f2395f988cb8462d311de8b44b18f7ee4932fc -KO = 821822fb46f42d1e0fad50e0d11eead0fb1260e9218b0ae0d3c1dfac8f2c9c340cba002992903d8c41ce152b78c542d611f336ddc9acf55837f41bf779d91e69efd83158277b3b959c60532a035309da7fffeb2a411e4a001618beab721db75c26aa68e1ed73c1ac278721f81b6c927506d24eae02751168e3e5578d2100fc66e9bffc7b869508fa502e2ba3370da344d96dcb5190f8520b19aa9fae39ec89dc9092f306c7f0d58445c2a8138cc2bf81913a7a76e87422efa04e71c103ec682ae4d9068432dd3a6b7a33631a8d0865976d6697423249d9b0357663948bbc6a00175c4cd2b756386c79a6f8209287d633a657096564ae917135a8ac88df0bf659 - -COUNT=11 -L = 2048 -KI = e57a6ed1ecc86c96622599f83e56119d -IVlen = 64 -IV = 78e6b2b5565c8f92 -FixedInputDataByteLen = 51 -FixedInputData = 034ffc84b10be9036247bf531fac18e75fc2448533cf3fbd2c903ec4c3160e95597cc9e7d5fd65686871c95717d1f5cf36ede1 -KO = c9a949e5be70f0b5d4d8faa663ce8b9b4554b4fd87c8bfa392a83a06a6d0603675831f31d689a396207a4f60e0afedb1fa1dadca808a45d2df3c45711469e3b5071892a260d91a7e359fc1185b8ffeb9d980f168e20c71cd4cd1648a3b23c20dd85dc6f5054ca940794ca5f9ed29cd80d86eb126a47f2cedc4b2f44e4215ff18c5be6bf5ab420354e46508948739c361f042195e1a91964043cccfe006735600442c5e2708f922455ceaa189c4d46cfdc44ae61e107ab7ec7c94d46975d29938a0cf04682001b25e6409d00815acae521dda742929102c34584bdac13b2664fcd0259b5b52a19a7fb5da0cab4e1c1d08f9e17c39e6dc617b8a42149e34ed10a8 - -COUNT=12 -L = 2048 -KI = 38a8e48fa06b6f7eafa6f8f0bac13326 -IVlen = 64 -IV = d8fdfce828bc2180 -FixedInputDataByteLen = 51 -FixedInputData = 0bfbf3f0924dee9055869512f3fae68d8340ca07ed84864a1e87540bd98446ae2256e6caa90d8977fc3468c17ebebbf7463bc4 -KO = 7eaa58b881086c7cf2b20eef6003ee72b03157e73e9e6fe835b5a426d7513caf23a8dad9751754e69326deede8a7cfbc640098ec2862ca556e5e67bbfcb77a2db093e5229cc0be518039fd98e8ce9033efc886a2c158fb95c97d2d93da7a4019b3dbcf59dd49cf9c31aac4f90b1c04d87a5dd7a40d3a763b5f8d58ca5ff88091942683c75ca7fbcda302c8fa5244d6759313bd89bdda5f5a07abc7a936d5331273461bd118229a06ec0603186346f042ad1066e164a6d9b4f0ea1ff05f3d0453898e2ebb42ccae1ad02b20f4aa2078cdc72cb142ebc861ea87447743b2385812e733a13cb70cfa60332adce31f57b9b53e58d214d33b9f25d8d989a6aea2e72d - -COUNT=13 -L = 2048 -KI = 753d1dacb730cc20dbabbdfd76381965 -IVlen = 64 -IV = a88d69d4aa6e85cf -FixedInputDataByteLen = 51 -FixedInputData = 29a9cf222b8068b7a347241a153461ca05fdbac2d20069f5bb152f1a2cb5c27031f02878358d3bb5bbfc6f0d6f00ed2a4ccf44 -KO = 29398c2ccddd23d2b2a759fc9e604ece48ae448e6855ece1472c0e6fba43dbc91ac578ca5333a9c784f6a8c0650cf55ff9bb96ed1e66270a8e21072e772c52b0e74ccd6c4880e1562cc197bf4e3c354be4f34c2a9085119f35760bf1fbf4f79a57042e9cee9f807e1cc74fa5cdb3ebec0d4ef99b7db9af6f153b5d5c0d3d004847bb41ebf0526753e90f881add55b6800c179c604ca8c5b0c9af6f5f75241cf475e050c76d552d1af56d5c4ba97fbf2f5833f1482ec70ffb2200c3e32909f7809953b5db6a9cb7bc46e472943e3c36f9d0a1d0fa5423398823b2b4f70afc6e852ea10b3e3f862edac12dc25a248034eec6976693c3950eb6788bd35a59e32ef5 - -COUNT=14 -L = 2048 -KI = f7c346bb414dab79a77cee844a30be52 -IVlen = 64 -IV = a544d1480705e4b1 -FixedInputDataByteLen = 51 -FixedInputData = b17ab5d3b7adcd9c1b6bbe19de034b6cbb5c62160ce019a70d06aa668a0a95d09a2ff08fcf1c2fda4f423632bef13523511e87 -KO = ea53734da40311e51a3b45772fc462971f785de18ea83fd54f65ce70fa5f925e1e0a1748f5e0f713c91e292aa5717a7b99a65d7a5ffd3de86220467fe76a46451fb783364b2019e42bb5ffccb41c7b9eb61aa1e866094e65f1fd03f76e1dbfa874b5522a06a6e8894451f16da0a7e5136cc7b4703d5438000b663e84333529e8455e1cc5daabf1e1d212582d444d11ea4a4fd930bf0a20d7d56cc947b0ace9045a1c77d80ab77f7a4a32da68ec8b390fd56bafe747bc41bf4015d3da76bfdef3e4f33c0dac666e94efec4aef785e2c1ffbea57280a7f0003c108ba0c0fba1f56aca301dbe5921ed3b3a1e65f700250a3351c8b07fea3f1b83abaabbfd07dfca9 - -COUNT=15 -L = 2048 -KI = 7b2e2c3b3f0cf5ad51e2827ce6ba2af2 -IVlen = 64 -IV = 85db8369dab0211d -FixedInputDataByteLen = 51 -FixedInputData = 15a7da2dea7b0ee4463d381a247698a3a09bb2e14ad1a6516fb6bb27435e364db692479aa5c621664e0ef8d8d1c506ae0ace3f -KO = 0bc627e437b8d97f2c85885fd69d35b2eacd1ea5e728de728a0256de7ec489a148046ae1eb5159e6d1f4fbf8a3225353e169fc234c88ea315e1b7fd38b65c9504e876a786a31d2164c3e93f513f557de0e94c89c50a14c478bf6027bac3403aafc317022de7de25723dc4d04ef5b4902bca51aa5ee8064fc2662416c64faffa902ab04cba8235fff696ef1df3aed934a27a6af390de097b2224fe2386b092385bde11752087fa9e9d95bd519ea99c813f185aa35af1618fc02613e72a0ff683e49cf7c348ec1a5c4b3be942bcd5dc77b32b467381c8072e6bf9854237f13a13963b424290145774ad42983a3e86bf242f734cf362e8dd4d01e4ca343df77bdbc - -COUNT=16 -L = 2048 -KI = bb1d376f702c79a198ec75377e64e693 -IVlen = 64 -IV = 1cd2ff1cba9a5db7 -FixedInputDataByteLen = 51 -FixedInputData = e219f88b100e654d9af1228ef149164e2010a54c7ba442e9b49dcf8476a887814916b177ca9c575261f06718e201f173526023 -KO = 485f2e231d9a94050e5deabedcf8ab6be3ddaabc9852ff43a4394ebd74bbe438c6a20e52e874c3ceb4b2d389a74b31f5c3c5d2dca117b0eb5fb6c239ff3dbf9cf72c007a260c5fbb94b48374ada584c61b0c5f9a3abdeb621f6bc07f6d2b447cb6625eb4913158f53c58c67c6b0d2f4804e2ff26878fe23c8a75602dde3bcdc43b8c253dce1b9531417241eaa868e53002ad893c6f372b3677242862471952fc96f76da341fddabcdfdcb44c9e92d56421580dddb654db7e3b3ac9840d43949afd722ec48700bf5dc47d69b40cf121e7547b0ad6b64232f567829890158c090a9772743b4f54b77ba17fbfe938b00e30a96d92fb8e351b8219f4c0d7d5be2d41 - -COUNT=17 -L = 2048 -KI = 2c3937a56cbdce66d87677cedae468d1 -IVlen = 64 -IV = e34a4f6a6f36e65e -FixedInputDataByteLen = 51 -FixedInputData = eb08b2176c11c9cb5cf3a0d2bdbe477f17c7ccefd7ebe2aeeb3c5200f1491443f5ef5c7f5445107d13dc7cf942a774cca757f1 -KO = 1927a8bb5fbd285002bb069bfb6e9024e23658f9d1416aacec7ac9084332e6fcf4b9518ac3da83832293f476efe5434a41911aab809ed9186250ffaf2c650f94a25dbc3f02b6d218b62fc4785dc8a5ede93ab2f931bed842e7e856da01b4e6c382dd0c6fba4411b1c101b9320e99bc6705575ad122ce6eded9e4323f6effc04b1ea2389a14c689a48988dab56e25f83436c6eda6766887411149a4c96ab13b444f19515d14a43c8cd1584063f4dabd2537c03db46d5054a906d1e6ba643c9882d6ed13b38dec100a14c9d0af4ed7f8c3bb1ee65c3660525f3e31536f9c05586bd3e66f0d7bd88caa0d3d9653e417772d47353db642dc02f2a157a2b537cc3298 - -COUNT=18 -L = 2048 -KI = d7277bbcf15437e384c52b2f7d30f93e -IVlen = 64 -IV = 88ec65b61e537512 -FixedInputDataByteLen = 51 -FixedInputData = aec54d209800622496200b8b6becd4d1531175aef9b1f5c600cd60c9369783b963a3eb99795a0a1da1dabb29c0df4735ea51e3 -KO = 0ed69b695e8529c148a4ddb553c6bcdefc984cb1cb00637ba0a34e0209061cfe9b12d30acf2b78b6546867e4079e6e82974c1f2351be1359327eb1b8c13e926225315e927b8a0c81e0f271481f3f24c32355b4fa53d3133fba77da180086ded740fd6bf999019e0821bc45922ce193d6f000982df133474bb70818e7299a6c2a75fff8dbfec6c3f99d4e8540ac096d3ff7d52b373a7dea782a32f4eb3e1987655b63e419b91c54e9fba8818b4aaca290e51f2a190ca858ed5f24ce7033396d08eabfa465adf34cd3bc9324716a069d6963695df4f38a4d6743365ac574aa87569a982319fac21517685da6e659b9fb27b0b39653c0a77b6711f680c434543d9a - -COUNT=19 -L = 2048 -KI = 1a6a99c00d114d629525c84017e1214c -IVlen = 64 -IV = deb779f8fbed334e -FixedInputDataByteLen = 51 -FixedInputData = c0725a04d66f2a5254d2285813c21e093697b58df946a98561ee3476f6917372b42385143161f12bfb64c02c20e5032247a46a -KO = 1b1d654689446a1ee54343c2470686b80bc7b0dca162589a8f7e3dcdcea1dbed35ca261ce33eaa831c32d313f633480cd6345790716d875d272f6fdb8308acd3678fa1860d201bb79a8b39e922d89ee9fe69d3634a7a4eca51bcc688276ee1d97c0ea2b0fd46480b4f9f0cd97c7231a5799958df8776a97bfa15839248e72a8dac3caf319cca5c04f1cfeb463dd7185f08d15518409f52a9aaffacac3232dc3dba8e73cf495316ab4abb4fb973960f631f60ebe57d67f9daff5fedd466c61465da9353e43868686cd03bc240510ce30a4b27ab6bce1cf7fc38aef175af3fefe8c3cf36958055b87dd4a2798541ccbc8e5f161c5bdd51d1655ccffd7ac2c1b052 - -COUNT=20 -L = 560 -KI = 444cfcd7bff87be8acd90f7e64d91d21 -IVlen = 64 -IV = 783cf4a701de8ecc -FixedInputDataByteLen = 51 -FixedInputData = 5e8bfcf4851815f49a8e4b0a182a116028fa3b25c442041074e7a54dfba542b95f383555a6632919f7363a63ba7978538c4d72 -KO = c1fa67190524101835b2e351ff8f5d08b27a13d03a7834167fc5ab0fc9f6899c32d305ac4843db3707f021cb4dac5eb18808276299503a42778f789f09aa68f1e2d281a15b85 - -COUNT=21 -L = 560 -KI = a7d8e07c60a1026f63d212519b98387a -IVlen = 64 -IV = 961a8a12e3bcb4b8 -FixedInputDataByteLen = 51 -FixedInputData = 87d97eedbf6141993ec8cf326449735197aae1db86a80ac9c73e8d845f856d962b64772a5e73e885e50ba8fe499e6a6af77282 -KO = 491343dc929a6774623fac0f144f905f0006371487387801cd2f5c5ec7d8cd03aaf980ff34b8f1fcdd77aa2122b50d8a700fc6c84ac8ba98ecd610856d703d73eece000d0e88 - -COUNT=22 -L = 560 -KI = 411d918757b6ece2e72a0b14206e1e0a -IVlen = 64 -IV = 27a87d2295a02161 -FixedInputDataByteLen = 51 -FixedInputData = 563f6445dd96b33e66e4700e01a1b7557c4662f4389e25a56f2b06b92d9403b8687bf26d1b0646545aa5af09cec9c4f77dcda7 -KO = f8079f1cf4cb9f63d03eaee9bb3ebe7a772af192f4d4931f1ef8ef073a181592a1d45781ca107ae7087349eb52556b55c6854542db62a82111dfd3b03d875e221b19c0ee585a - -COUNT=23 -L = 560 -KI = 4cf583b552652ce39fa71d1359167993 -IVlen = 64 -IV = 340cb16ed698d876 -FixedInputDataByteLen = 51 -FixedInputData = a855238b2ee2e3a238c4a560a509cb3243615b73b4f4efe29bc9cba107ed1cfd150bdf2e0ae970b3b63cd18c8a69bdfbb0e98b -KO = 7f1d836a27f1d0d3ede6f9eab6a308575db27cc8a0c9b437051bce5c03762f7c7c8bc684c57b606ad5061376417ae8cba077aa041972877a3e9666736e18a32bb79d3e90dce9 - -COUNT=24 -L = 560 -KI = 56d662cf0ac610996ec089592cb4f923 -IVlen = 64 -IV = 19a3ec552bddd4e1 -FixedInputDataByteLen = 51 -FixedInputData = 8909fbb0f8a867482fc07410c7d35606c7a024f90a780788814d794bdf267546d7cc2382250f541ea7704f7903e0e7ffb8b21c -KO = d733c49926ebd0fffb807e367248adb5d6c2f55b1c23e86445692c3e6d2089dc803d2a2aed8b3cee7f84c75b1ef7c7440efa9094fc0ba78a74dc47f060ab122f70f9ad6ae011 - -COUNT=25 -L = 560 -KI = 8fb5d88e73661b74bf220894ff1925aa -IVlen = 64 -IV = 83a1a0362a6734e7 -FixedInputDataByteLen = 51 -FixedInputData = 4ccddfe004b216b5e135330452a96a621b18e4fef63db6229ccfc33ec1b7d7b34597c87cf242514b7e999c9f95cf0ca5c918d0 -KO = d2f6f0480f8423f7970e69776524091e7b51b7e88c040092b6a75e75e7be7d52fc0e1e60e111b58509d9dc4d560fb9528d0138450e47f42b82364aacbc7fde1d5a9f15965b57 - -COUNT=26 -L = 560 -KI = b8b8e732b5024a2f62012401dc7b355a -IVlen = 64 -IV = a29f129630e511ec -FixedInputDataByteLen = 51 -FixedInputData = f8507f6618874ddf0b2c3ea3bfc76e15472bf43ec3260218d3537b3202c0da6a97588f167cac3b5f9b04ed75857b6a53e6ea5f -KO = 303c080d1b96de6cf0128f87d0e285340a37e6f2690f31a97b9e0e831f04965ab9dd6ba3525e95f29b615ac83432f8213440b9c2c374d2e0ac8bada86980deb29fd4edf5a2ae - -COUNT=27 -L = 560 -KI = ae3ca3f21d0b2ea9669d45576fd57416 -IVlen = 64 -IV = 7d7c0974cddebaa2 -FixedInputDataByteLen = 51 -FixedInputData = d3f2da3fdb4ae5028b7b8d33bb58e8f836fec24101e696b4bf4652517b1d68dc70c07fd15ede545dac7d489e750e1def4c852d -KO = 170f0c8389a964527e15cab60fc225adbda55baf65c447898906833bd75187273102b38a38cdb6e5a9fb1aff737b58eafd4c6fe925abc7cb0079a77f654cbd6c5b591ec85d6b - -COUNT=28 -L = 560 -KI = 0348e2db2d8315e189663ebace4c6c31 -IVlen = 64 -IV = 7a8ee305deef38b6 -FixedInputDataByteLen = 51 -FixedInputData = 4ccc2016ceb957179a5970c2bf71d2e366bb9f2f4b0a1afec4c6a7d0f568ccc2f3228d9914b64ad957773742b4d4bb829a74e4 -KO = 2092b7929a2673e597d8a43d5e6ad9bc4d41d63f5995b181368077913bd7deea712dd99b984600fbe4fb5c8b765acb9c7bbb370d54d71c56a11a619bb4b418e40bb993c67e26 - -COUNT=29 -L = 560 -KI = 336f85f44f481f4f0183e07c0114c378 -IVlen = 64 -IV = 478481b1f375bd13 -FixedInputDataByteLen = 51 -FixedInputData = 9d65dc745f2cdaa3b157ffb213544fa94d9f34d8285f3d79c57beb11fa222cce63ddac557874e9efd593e85c63878466754066 -KO = a3ca36058ab6dcabdd2e7f9ec003cb2619024cfa86ef3d85ccb55d23fafbbe02e274f2a50eb1f566c3135a833bf907f4d617438d2d0cb18be659f8b65e01ceff29a66e604377 - -COUNT=30 -L = 2400 -KI = 954e42bfae187ebe3356657d1a82733f -IVlen = 64 -IV = cecc25dc5613909d -FixedInputDataByteLen = 51 -FixedInputData = dd05ebd537d8acad3b3c31d6ee8888f5b8451d21112a8a9524ff4464a704997d0890c6843644e0638cb0ced55f7880a6bad768 -KO = b03862fd01394b94b6a30f085dd2523aa7ee0508a279047ce0d56be0ce931e48fb582f2e7a9df0b016e1e668845b5d81e28335bb2972ad96b6c7c3a8e964c36893ed178235a671d76eca7d2d791ba4bfd76ae0511fa969069eb03311f7e7edb050ea12e5e00cd1f9959c9f3b6133288dd96ec487c005a1e6ddc5a7d62ea6d3f30a7e2dd130c1238ae82bee473c68efaf87f3666d93d23c3f5399b8bbad0bb054028b6af98aa64eae16d4c3cf53f45ef632cc6b55c5eedbe2fb382c789660c89d2c957abe363e3a8ace49574e97b49c8e2f048f32fb81a96eaac6e768b241fb7c3c45519f3fea7281fc3feaa63f570d7ecae05c62870a096d95e4bf4abb908f6e9126943e57706f2a5e8b8561ae1ada42475e4dec38eeb7b3036e7afe47fdf04dc8b6fb173807639eb41b6685 - -COUNT=31 -L = 2400 -KI = 8c45fe6ea512bac3176a20a93dbaad11 -IVlen = 64 -IV = ec473610d07b6ad6 -FixedInputDataByteLen = 51 -FixedInputData = bdcec6758b8d58201017d9911e13681e92c8689057beee1ed5a3ff8d292903af5c3b8560cbca765123bfe75cb0c126971326e0 -KO = 32be2d8e75b1a469f0d8a4c94206fff2b5f0d9b0326160e1a2e43de5f4bef45afc94bf22e08ac6c5779adfba093576c32000192e9581e3d3510224f8d10a311010b4914f0de137e3ddd3ce39df405787bebf27c58463b96c7873abd2217e8ea5ea530115dbfc5b326e4f8b3ca9f16ee294bd6d0d797a1a487fc8952c51e2fcd7fce34c518a705210158b799e4b3d295946243e1a04af8dfad52df097ae607ed63a949e79b8a51dd6c58e5f3bb7a01c1c298d26d3cfc5ec79ed1bdae4ef367a8a9d43a8f312994473997deb54a746bbb14bbbdef33d4914ae38865b049d9b238e222f36e30e97bfb5bc075d3b04321dd79bfba901081e8dfab13f060115b100f0948b9ad9cd55260ccc2faeecf8485893258667f3e8f40e908a2ea947e128551ba155f6147db03ca7fffca8d8 - -COUNT=32 -L = 2400 -KI = 19cdaea944619bbfa6b03348ce3167a6 -IVlen = 64 -IV = 1cd3841ccf0e8132 -FixedInputDataByteLen = 51 -FixedInputData = 5d562bd9ba5144394238ab2ed46ff1fdc73852840fe6fabeadcbc2c1d1994f2615cf457fe6860ace603302b1f89ec434a0d36b -KO = a90b70eaf1649f6270395b165e96bc58220913b6f849a283b88d20c2896cf02c5c6b65ee85a308e30a8b6e2ff54a6c2d4acd3b48f2dd78795918a18a706f3497d173cad9c28cb985df6fac0b017c67f3c2298746881875ffb8286c6c20550ec81a2f5023d3f787e3aba0ca54ad706d8b8f8c42b2199113751142eaa6abc44f6395e3bac3a8870a231870ea1987793a29714f32fb55b71bbadeda63ec821901b47940aa812d33bea3c33ce5dce1938f32f0180b60b8615fffb1b088ad2c507a59bcc6ab65440418581b10132138547653ce72f8e827911d76c263b272d1d15d0e21ce2390de4f64843da8bd0a7ad2d9c634f1702e2c0a5711810cfec769c8154c051926609e4bf3dd6dcee6d9243df0952939d448b9027b183ad72a7470fc90829b13bd84acf88ff4ee43b126 - -COUNT=33 -L = 2400 -KI = dd4cb4178a8edc56c5195a999c0e2bf4 -IVlen = 64 -IV = f8cac4bdd86c8fbc -FixedInputDataByteLen = 51 -FixedInputData = 8f96ce4172b102e6149abff59e224fa332f7a5d125c7c062c3e1420ea10b2c839acae060be061883d885a17f31a941855ca9be -KO = 21a7850e94e3ac8985b6a99b9fb3003d4c6678cef58ff49e18496cead73defbae9703f21e43806b3373744e6b13dc20c8b32e88f407567d7af08ecb47cd89ed008595f2b955f43ad4c33cac14729e5d4143a76fb12647bcc0f369830083d432756470773e03115ba1a750fc69425e77a4b7cfd2975845960c90681b8f629555feff0ef16411c78c98cb9811be140f615b93be05207041026510a7c8c6c27c6dcfc8cdbf16100d897932dfa32185c2ca7da2e8fa02de58f651b1659071f9a7688d17db7019bacc3731d45a4c8dd3281ea2a4d64411c73eaa7ec1fcb7d65bce49a6c2bf04b4603c8a3692b85fdb49de8329dcf8bcc52316d12beb2ff64c5b4ca3f71f1042454834996690441c05f650a31bf01e6f5d9e6a2e752ba019f87eba68c5e537c97097fb18ded045f0b - -COUNT=34 -L = 2400 -KI = 6243b2749358344332f2a88c7d375f9d -IVlen = 64 -IV = 6e9c5d4528e1c2f1 -FixedInputDataByteLen = 51 -FixedInputData = 2697670f05c5c4b917a6c5679058b5739fbfd0261edd344b93936225db66b8cef30afa4769915c39ec2f91f009cf7abd7b6966 -KO = afe2a1b59ce28d7fc82d5cf30f7a8e73bd651998666c299e745afa3274d412cde1cd039462cf062fd92ae36c130f463697320b8b63ed335dfab4e744d3f12560a1c1701cee4dd2b99e81b464a54bc6be2254a45f89f7e2956cef2c583837144219332632fb204c96a85d8c078406345fb3023cfcce0992876dabc6d59b87f9c166c4ec048619044a8b94159b511ed8bcc679e2a691430a3817d9366975e2814004e17aa83697e3f171e76dc6f9d8bfe1a9337881bc5e89155ebc575a9f056d70e891f48886b0e3af42f3d07f8fcdd7eafa1924b713c9253b2524e1115dbd32dc07a964d4dbc97d5f92eefa16f6aac81905fcecbb23fac147724cd12e6bc66813106383c8bcfec989f4380403c7452907d57a62f50a1a665dff4f6fa3a1c3e759e9683911b2f9911567dbc54b - -COUNT=35 -L = 2400 -KI = 966caf73c76f302984c98646b6a6abe5 -IVlen = 64 -IV = 0b7bfb4ef6750a51 -FixedInputDataByteLen = 51 -FixedInputData = 42ed6f31fe1119b5a6ee6a252cb5eaeb143262084da378ead17e69cfadaff8f9b0406c1c24ed2ccb2e24d0dbe0b67219ba8dae -KO = 642c70493b841c3f644913b150235ff2524454eadce5dc903aee64832d1fa377a14c335948cae15ae27149163609671732bc365d90fd2338aee82d02b8fb0748fab528fa9d86a0fb02458c01e304ec71261dad826240339ae9795f90320646e391d7b37f7521a043dcb672ab5607b59de348ef9b24773db8f462c19621301e274418711f37b3f12a1f0f1eda6c8e901b125464c35583a97852e0327af3d4d6677b663946bfa3d7955686e093a2641bfc6d8ab72480e5c29a6a155b5876acced890254615d2f1c33adef72a09809b7d86740c7c953d1448cead6bb59aa999ff814a9dfba79ef08f330c370b63b9b9ff34472766c4d93811d241e735c9703dcb5ead61d7bdadab57a991ccc9a61b46bea2454dccce6e653ee7c1f498ec955da3d9b927dced30e7623078dbdaab - -COUNT=36 -L = 2400 -KI = 3264fb231dffbf6c48d3f445f50676ef -IVlen = 64 -IV = c877714d2ad192b8 -FixedInputDataByteLen = 51 -FixedInputData = 402ac1a5dc928642beace7298880d1e2253010dfe7c5b4d895a0d9a8c0396ad8dd12bb82b67c1994da1c394637336abbf2faf4 -KO = a7d65a6e789737ba66c9a3e44cf74973badb1ed29141264af2ebf25ed49c4529d22cff2578ce55d24ad9e5863a0d970e63fe6bd8bd928795a362eb718b0540ff8c9f6be8f253058ce1bb4a1e655b8a9e82c7fdef7af89b122b5619f920a7b96f301f40be147df8294439589069aba68912cdbc0b00c550cca12585dcc0e5e0a52fcad743f4dd37a81c37b7b2448ebbca25443c5fe25f93429b72651edd35065ccd3e901b2dbca5615915690c4b753a609e8de9cde950bab0cbec2765d599435165f1713698d70315935cbc12887c97dddaf37d99f2620ebfda668fb3b63a043f2f69d20d338aa67b013dca716d20b153ac3a1de274020353e7e379555310eae64f6c8d41ef71ea86e196db49639fc4f42052c4399adafcd500cee6e6e02bfeef34e95ff9e1de95917abb04db - -COUNT=37 -L = 2400 -KI = 9ce41391d13289f1236203c0adb9a750 -IVlen = 64 -IV = 2af8479a01fecca0 -FixedInputDataByteLen = 51 -FixedInputData = b51bb2e9be949f4bbb0bef6d609291e347d2241887564b1c93491040dc7cff37ce3ab22211b2c8327d0609e5dd5a89add74526 -KO = 0d7f54ed99a352f6104ad59a90807a7f96435e26100cb3bb40f31a0b5e52f53aba9698529ba610467d74f2b005f8f80460677d3acc61e323faa751e3bd6484970ab54b233ae098bdac5489fa9e6b7636ce224c483aa342ee31f9a904e6b413235b1657fb14afa6de74e3151aa78e66549a88c816a3df01bab1bf8874c4f4751f5644791dd1a2e82453df7d80cc012f51323ecc8f581cf75ece7e2267415980c7c1ef5c873c97050f0651c366409762cdef6eb314e2b3b365b13317b81eaa1b9703831b55e6dd5b79f576f72a348454df7172cb7c2d27cbb8a73708d9a0e8b2202bb2febd59e091d5c89c583bedcaf3e196266a25ddeb0710425c867c07a9f233ca96da6e1a117532666f40b7ae13facab514e3f2f076714bb6fae8efc1f07290a6bcb18a1a8680564cc26812 - -COUNT=38 -L = 2400 -KI = 1e63bf43af475ca43ae7e776e801352b -IVlen = 64 -IV = ba2730614d061856 -FixedInputDataByteLen = 51 -FixedInputData = dc54febd57e2781f2fdb44b45a0e3bb0defff00a2089ac261fa3e27aa38ba794bbe064987dff0ce1a6fec79be4e230928283eb -KO = 86a8743376f874bac604d7252d81bbdedd652a1b444d9f411c07950f52e915509ac348bcfec7b98a3805b3de9a848056b21cc8a90d77c6526438703631fa775fe3abcf4fc29efdd787b3f05a841d8dcd766055fd79544775d53e6a1c971a79af5eb1b57de54090894c118636be77136a693b34d56a101da2e3c28da1243f19664bd166c87abd223d5443feebbb91a4f95d9701d1648e1e2fa34f55dd628eb69995c3495162f244e42b535c4f4bded95b68fe9924da4e0cf9268964aaff333624c56de2deccb20b21c3708b814f0f2f57a257795acbc0d2f5b86340117898faae4a7ce7a0ad25abc1318c0b4bc4e446eb2701c58438822dc39022839e47a4988ecd0c73a63843ac0bf345258424d5c6833181f99f6fd31b50c01bf6ff55997151bbd288a8c02148df5d28c3ef - -COUNT=39 -L = 2400 -KI = 0e84ef2286a2b7fac0cd8d6251526740 -IVlen = 64 -IV = 4b75155f6170432b -FixedInputDataByteLen = 51 -FixedInputData = bdb999bd8839d983a268652f830c8ab1fdb767c776f3dfb75c2113e817a74e405aaa531116708901a34d55876962eb638aa069 -KO = 84bb964cb9c1b9395d9ab9b745c0adc5efd0dda24591f7bbcbf91b5acf61935aa2ae45adb1735b1f51c42fcdf3b7c32dafbbe7f076b980e30fea946955aaabfed1ea41608ab8c2a09602a4403db5bfdd8f58a5721241fb7a4b600e482a7d5a5886361a5c44ed90e776053895fec92c28c4922f3b7391cf43c271102671dd7576674934fb490793137e6cc9cd5943ef1b1c994c9723f54fe7685803dc2d27a07e2b0ffac5a024afc9ff6d4b7c7a54ef46063d6f4cce3bd48f9f047ad3092c5bfa8f89ca796487af434622fad2088f157b74590a3a240d3a4af274eca3020eb526ff6037e49af30e8bca5a344a73a03720e54f29eea3efc3c223f54bad514b188df9f384778efa087464bbee4d025b8d57a2502a3d29dad2c77234035f695ad5af75998886dcf7d2d8fe0d3cf1 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 4663a7d7719fb1f7092268010a40aed3 -IVlen = 64 -IV = d2bf47dfd3772af6 -FixedInputDataByteLen = 51 -FixedInputData = 5f315713e521583a20f871f5fb0b95d486f379baeb7602280d88d8600faae8c5edc3e1dc25075594f04adea2cb8e1d0dbaf540 -KO = 7975836ef1d6f391a01ec71da41205aacc0ce2bfe2e2c5e6c4f47bae9d133dad52a994fadbeba64c1d6181b080cecf3b2493a9c70e436b45d1bb496706610c91 - -COUNT=1 -L = 512 -KI = 6011604f42067d01487d9ca813e7d68b -IVlen = 64 -IV = ed05281a59c6b431 -FixedInputDataByteLen = 51 -FixedInputData = b1937ad3394d393776e35e96a874a9fa4720c98e32c7b88513ee43fd20304e4433a68105f8369ff59f9ee6c781c43262f0ccf8 -KO = 3a6d8f34838e4695c79983128e0e3b1ad43c910a42ea5de54c3b6cb457547b7389b590694b57e6892f401a1266c61345e103553f6de114911f415d412250cda6 - -COUNT=2 -L = 512 -KI = 500d28eba6419ee55d8883522a1f681e -IVlen = 64 -IV = 66d7cca5e4c513c2 -FixedInputDataByteLen = 51 -FixedInputData = 4716bbe2a674964e2c53642b81316f595dd3131b971156bf07069d6fb15b509641fe113a870d151428d05fea44728423a209b8 -KO = 85304315affaa7deb9a34b2b90d4986e4b4e5b11ca929e86c0f491a898078fa9d7cc1f308a324f996dbebc9e7470eb2cd56ff4a6459a26a177f3063b286863dd - -COUNT=3 -L = 512 -KI = 141cf949d7c6a18f59b653bd66f538dd -IVlen = 64 -IV = 4e4c723e113e1747 -FixedInputDataByteLen = 51 -FixedInputData = b5a86f1f903eeb6156f68cecdd8a2302624aede746d4c396f84db71c983027718d9f689a73a40dd6734f79c08494cfe168cc49 -KO = 8daf39ed2080b4c680eb27b71010839893c4709448cedbe78a1b1b455b4fcb20720d3a5ff903df4b8518786e3127da5b6031b58e484cd027be82928b0e8bd26c - -COUNT=4 -L = 512 -KI = 82b107ae85ac3e89c1c25360151c7e3f -IVlen = 64 -IV = 6f6282f30c540292 -FixedInputDataByteLen = 51 -FixedInputData = 1f7c4fac83e148ad5f785d40a16f8f91daf6ed800c097ca9f8423322b8f99d28ae19cb33beee7f369dd730e535227cb6203301 -KO = 9cf99f00fcc27cbc961ecc49931356d8ca883fbc2c0ccbf97133dbe11d5f4e175f73eb8914e2d3797a13a2b124df72b214cc4300cb538f228b5809ba62319f5f - -COUNT=5 -L = 512 -KI = 95116894c4689569b11e09dca135b0c9 -IVlen = 64 -IV = 1523cac6e12fa6eb -FixedInputDataByteLen = 51 -FixedInputData = 9ad01cdfaec92c4390b3ff38eb90fc82544f99ea573b871ccd4049b39ceb363dd67d29029b8dcf63f1d876e50c39a9e840dc12 -KO = 22e98448a5036720ca240224ea32d4da2e7b73f45de312aed7f9c0a4ebff985babed09bb94a2d1eeec5e5198a4e84292c516a24f757d181575525d2c8d8b0da0 - -COUNT=6 -L = 512 -KI = 55df19a19fe6607bec2ff8f69330618e -IVlen = 64 -IV = d14e004519dfdbee -FixedInputDataByteLen = 51 -FixedInputData = 8ef9f70151e2f05b0c34d3554f74e48979c3afd8514daed7a36dcb129694ff07ed01ed73e1cef8fe836518fe8305ef2088826a -KO = 3080a5768192cae3b2cf7c8be2e11c79f984fbac6ba4f6f359d4549ef0a73f3e94306f697621290821e933ba53f9d5b93499bb6f658f2507ab4123161d99c746 - -COUNT=7 -L = 512 -KI = 26be533895969ec725d0ed081b35cfbb -IVlen = 64 -IV = 50287e4964a2ccf4 -FixedInputDataByteLen = 51 -FixedInputData = 373bf3a5e07a90773a009ca33c7c90e5192a740031417f6881e1ccb536c459792873b826a0e1cea66605bf7125abccc3d5ba62 -KO = 91fcc2fec1ab4962bc4be649f473521e22eb5c06f58562a0bad703f9d14c0843620b859b2ef2fe7a8d50cda75e5a8db03b8325fc425c2821b3778687a5fdf1ec - -COUNT=8 -L = 512 -KI = 2e7c5e4e2a15ecb055307ce745a4fa8e -IVlen = 64 -IV = 31ba0ec02f1a45ae -FixedInputDataByteLen = 51 -FixedInputData = 0e3bc8f6a11ecb5207f4dc9a8f5fef37d3112e6216dc4898a0f11c71ed3f851c09881cbfe86a3b41fc53747ac7a42ea30850d2 -KO = 8448130c28b9440072a6a83f3d7487169739bb8528eb3e4762e58afe2c83ccb2166331bea2a6e277155ef8a71014f31a299d6e262390000475f7cdd348213e06 - -COUNT=9 -L = 512 -KI = 12e02bf03d29c9cc330cab4c23b84594 -IVlen = 64 -IV = fdea1f6ef8c3b7be -FixedInputDataByteLen = 51 -FixedInputData = dc85dd2f1cb31af8bfe2f717e70d0e553871ca54e4384689548a6ed855e4d6e008e44215e54e06c6a357a55b079eaa1c37316b -KO = 5c9090677bb1ed2fed503c9a25559c80189f50dab168193e16a0f15cb049ffc712fd6c1d114902be02a4fb499ebc6550d077f55c3d075cb170b78914b994099c - -COUNT=10 -L = 2048 -KI = 2c4f88af369b7209a58f3ca3b6266dfb -IVlen = 64 -IV = fbddbad10f521147 -FixedInputDataByteLen = 51 -FixedInputData = 96a2c933e5be8ed83c3f7ec0c84c0615d3056014ff4bfc70bc5baa6c83727776e0b91ea1fd37862818dd3f5eaab48794495389 -KO = d47871053962329a437d8a9b01f162d8a1e52ed13877f69d25b2f55d6bd0ec146db46ef194b121c85c76e1b3b84652ae08d872ca312fcf17e0eab65bfc85aa4e1e1e54f878365af354443b2b122a1e017234f9e5d1dbba1fa2343d79791ac4433233b781d66d496f536b070e2ee6f9198df9e9a0193090af842664bc83bead59fd43a21920cc8b26f37ce048e1e159380b3bece63ff850ef3edc5258152675aab866fa1256ea336dfb6ae96b228ee427c5bc2a5fb10c2774ab7c25bff7a954de8947eebe83320797760fe5b4efa981a125185d2807f0547befbbed784d0e0b7e7bc9e87fe5b0d914b1398644deac2f94515b705c9a04f4fe637e378b7ef53a63 - -COUNT=11 -L = 2048 -KI = e22402001f0c3c9f627a4cd1496a641e -IVlen = 64 -IV = 552e1fa106586176 -FixedInputDataByteLen = 51 -FixedInputData = 7455789539c59162d34512140939731bc58e8d8e903524cdd1195373697374932e31092cdaa3fc0aa68c4fd6bc03e1844f795e -KO = 4e38f93c8587873d5dfad2ae2d6c3942a197c3e0f6faeafdab2afc37cb25ca6d52c75374286116e561a13994191e5d8a6959fa1aa208239d72e367b3d3f5b6064856834a280fbd1fb652a46561d601b3d92f4b431f901d3d928ca0bdf054f54e90f748fc05bd0f281695ff517af1208172a8d9dd0915f40c7158d46dd0f3efebd5cc37629ac296fd6d25a3017315141af2837b351791268bdb540cdb4ab95a1ffb7362af89a3a88904b06f77e97003f2500f325bfda109224025de234b7c317bfe02487a723483cbfa92fa94aa09451a058c72e7f3e31509347404fbb8eaed570deb11b804b931c8462d2edabb44076a56a112d6e0f1ae8eea5a286feab670a6 - -COUNT=12 -L = 2048 -KI = 29c88b2069e1bf6cd38947356c179035 -IVlen = 64 -IV = 1bbeef1bd710496b -FixedInputDataByteLen = 51 -FixedInputData = 9b36162b17d74238a57f4e8ae2ad509cdb3aa9901f42a4350e70f809f57b6bc4f184207c3b24b5248ce5233548233f3f82aa67 -KO = a2d41ff73165d38d62bc2cdf73f6663dcd19b5ae73fb6e44b0bbc404916daeed9c136920d2f39187a60048c2d963e3f4145e0775f7232a77ad2b317673570425202390af70ccaaafdf552bca3f16f8dd19971d19737c9cf841a2410ed7a2f52866d293c49e10e8b781086795905a0022440286b3bf3f79b5bef24296722df604d187b38af9e03771185702261cbc432917eb00331af097f1072c108d2835558139bb200c216380199d6f74017a8bd2eda021a1cd151c2053ad810c907cb58899d3be7c15d555aa59b39acb8e06873444ef848337da70adb028d78d351cdd40772408b0e3c54b847220f7ebf8c8def6e0ac224e55e10a3a9bf08771636cc42414 - -COUNT=13 -L = 2048 -KI = 7e30d36c5eba66095e55fe71d9207150 -IVlen = 64 -IV = b91963b33c3dad87 -FixedInputDataByteLen = 51 -FixedInputData = 0ca15fd411bce51db9c9783502be6b2fecaafd636eea68d590d6de7916ae8764e8ca94069a220e2fa454239b23fef319e52e46 -KO = 0b5c1661d6956fa8be61a3f5dc3b3d5c9d60fe203b57f3171df5955284cd0ff374a962fb734706b32a361e4aad9bc27b5db9d454af8aff8a9eb03cbd5c051d6ebe2ed279d9c1dc9e7fde64a9cc3bbfc5033deed55de633e3683095c417d7e575770de85fa61dab99a0e9bfea1d4c2079b1d61c6763de5af27d20af5cb4308b6986c0b0560aa651140dd0db501651da819e261319bf707cce481f6ba1985f28d1d1a3c2891a81ea54a88fb797410bb6a326a07b4a509fa7f2127480093eb7a1f52bc4df2a1734d9223f5ffd705152a396447684c91b5581c96c58a2a60286655f3e1d925c05621628a08f369a6a434eb67250dab71f930f286e7a8d9f1891fa40 - -COUNT=14 -L = 2048 -KI = 6cd3cd38343186998f4aa085a4585316 -IVlen = 64 -IV = 15d4c2e92813d0f8 -FixedInputDataByteLen = 51 -FixedInputData = 2303cdc76e6246857b9689e03466c0b6f15aee1634d173dd635c21cdf43d324d46ceb8c125140da4b324f695f74c9aee6003e6 -KO = e5063ab7ac8e93f38f0175bd01f9299cb3d10d7b7a473a9d4eb350440a11fe2fbefb64c234d8ba985469c32b25703f054e0da4198eab6f75dcaf1278afddf79671727938171de8d390f0784abf827701ef272a5d49e52e5939eb7b0e1942b07c23f8d1cd2165cc1f6a67167a44b76d3012f0d1a87eb5760c4fefca30edcd357f11fb5a548d1782b2ff7f652c7018c215c6b1835f7140c901c0a08c65cb41314b3f47bc7566423e49868006ca958695f8e959641ba3cf372e113991872103d0ac23c01ac1016fedf6824166fdc073613be9912b7622cb795aeb9fe6c27c9723d60c1b71c7079e586e454921ee8cbdc8d1ad1c8d86a3befb9961c801b92eabbc0a - -COUNT=15 -L = 2048 -KI = 7d67cf072833f63fba37aa590ac978f5 -IVlen = 64 -IV = 867441cbae643a1b -FixedInputDataByteLen = 51 -FixedInputData = 5bef0f6c748b97c818913d240a957908775ef2fb5af0c1244bf2e5980dbda6ed5b1febd62dbf86e40650ffbc29770b4d57ace6 -KO = c82c106fbd27463abea416bbcc0791720e84ffdf7beba3614ace368d92c42765b09740be4afe634b984e53146cf61242d9c5f4315b702ecb6901fb7a4592a64109dbaf1cae84440714fdb571bcce924325a0e39d234c39dca012c6342733f614c60a404dafc28204a707cb857a4db327129e8b0e4c10fb6db57f0dda2ec2556cde3ae5176bf41a9c84f17171887e2bf6a7f6b68f3ae132fe6c0dc247480641aa0a7487daa11d8499b54429cc33e8d331e872c3769fbd16e355845fe74700f4d220aed9fdda808688549cebbf62f229b8e18c3920bf5b408ff7347bb0ded81ac23aed0a1d85cd034646c76a79cd7e248e80575208218b1dc15241d6fc001f670c - -COUNT=16 -L = 2048 -KI = 6893bcbc7e27e8049c9ca44555112913 -IVlen = 64 -IV = 5edb02a96e203807 -FixedInputDataByteLen = 51 -FixedInputData = 2b9a4fa6b74fcd4335d31236d043bbc7119613837453ee5604c3c93d0f855f4c3aad9cbe33189b95c8d9befd2a8339f9d37662 -KO = d88f5ff74d0c14893b1e1b8a30457c7f009c1fbd049c995c46b2072c76f5d5b4d09a42e7790946b86dce22fcfb19e3e90529f0664c4cd66911cdedcd6920c71bc1fc640796e6c07fbfbc21597b17c7a22d46e9a985e3d58020f5f71f953a15e506d502611a0b15859bafdc9ded42e96e22fca0e5c25b416c329662b331c727a1153c473d37deb84ef1529cc7bdae828d4d744fca5d2c38496cd4d8e99bb65dc1a09012ee68af8c0fc830ad93b5d4bcae28b201830aac978cc2a9dc03e17d5cc130e954a526d71d672f95c6c762363317f746a8b4547420f9287cca26a67fa9a828fdaea0845dc01ea0702c6334d5ee54894762389614cc677a1a25abd5a9a594 - -COUNT=17 -L = 2048 -KI = 45f298201a1f6d5259a2ac8cb27a26f3 -IVlen = 64 -IV = c29275aa8108e894 -FixedInputDataByteLen = 51 -FixedInputData = af9a4291547c05e569a8bfda76180f7fc5766d09a0611da7d4e8e96044f6303319c3220a4d73c7decefd3e8d55c0c973ea3276 -KO = d64fe848e7f358584c6569b7c1fb5554c13499bbfbb6b3f130544a4efd607046abf94d29f219080e01a00145c13d0531b17217a5aa7ed717b22b219e6fc5a8158752be6f057bbfc3f26864a2fb5b99d45a29d218bbfe1b5642a9d2df77904ef192a6fb2555d78e232d500a39284b932ab6eff08b5a990037c9f27f72ec0facd95ed22ca42443f636f3a0d4bbe76d7f404261a55c8c9814eca4b2b490541f1145b5953df4694052430e522fc8740eb43321e885728e451961f8d57cd09a6d25e37b1c6eeb212a66c19f009d7262cfd9a65531864cf4e6416068bda9dbf8fad83d2d70987873db14a0abb0a2ac88f1dea73dd7c8eb109de3935af73566b0c7ee90 - -COUNT=18 -L = 2048 -KI = 1014042f5ca90a74e4b187dac471568f -IVlen = 64 -IV = 3cd27bb28d87a325 -FixedInputDataByteLen = 51 -FixedInputData = ac6c739c273d247fb23b628be98a5f524ce10ac6d9f28be031e600008490cf20284f073c1d93ea51ce90944ec7f27859655fc7 -KO = 31dcdb2b444467e8893050435b34551202df8afbe0cac4b6b81ce3d62da2c0cabcfe54f4e2fc4032d4ccd2d719ace8e12cbc06d356e666f52552867ca53e2e5ee2c12e0e4632e4bad6efa72e27da19b3d62193642c59d52939cbe5f72128f42386daa3df5b58193107dcbb0d1e5eeb59f09cd16841ba20a6f3da7c342c267735c634472ed430df32db5f391927ae1db267422e5c9e25af36c649546dbc0ce749a17721f62f5031795f078cc6122f08579079385b110063751dc7e322af9f8cae98209f85bbf94bb44c05eecc52b2bc79fe78f1155287c5148e0585f9dfce91a83ae61a8b9d3df2eec7630e29bd3de9f2249ddd68b576637fa2ef460bd510cfb9 - -COUNT=19 -L = 2048 -KI = bbda3806e152cfb740495f2efdaf9993 -IVlen = 64 -IV = 1bc3a4c2e61f0dba -FixedInputDataByteLen = 51 -FixedInputData = b086da1b75e388cb2978840849b8cb47bf9068bf9d69cf7a7972954fb6ae28c45c2f739d1de3784f54ad477af214e5a3477354 -KO = e0c6e44b0cb81c9a0b26f9a3eb9783d58d3992d29ad8822b21a75b4c9eb95300d5e8e84d5150bf32323b1810f875a6b16e78896462e158d56e63e677317a0044fc983b4c19ff542daf599dac6417552e268b955719cf81589915e031a8f4f962d8745e9ea54f5663c3f02fb3dcd4d2495017469ad4502877cc07cb0881c245019edce65ad0628c4522c46673ac685bc3106ba959c47a965ff0e09e81feb721bf924120e966193556b365c25fea6b60d56b79391aa4594f236f6ca433a5af560fc6263200f229ca1566b86ff7474ba3badf6456604a5a49f4c98cb78f788cbbf50610575023f9ac1de47cadabad2f7b9fff12867c49f6b6bea7e6b6b77d44f546 - -COUNT=20 -L = 560 -KI = bb248ef17d880069e98b349a52b0ecde -IVlen = 64 -IV = 3cacf4ffac9e545f -FixedInputDataByteLen = 51 -FixedInputData = e18fcb0dcebbf828e1a58e54c6c551e0741ba05cc098f19b16b3ab35c18ff5bd362cbc13b8f39a3ebb30b2426f96d98c1b2a30 -KO = 9627426b06873d653f2732eb7aa9d6a1ed72d89a55326d62e2aac494f3f46071a2bec126b91608e662a8f11828690b9052c5eeaea372817a7b713f13fafc7b8c5e4fd2c1e868 - -COUNT=21 -L = 560 -KI = 5274835b099ade166ee29449aee5ca3b -IVlen = 64 -IV = a9f88eabdc57d3ae -FixedInputDataByteLen = 51 -FixedInputData = be2f3f155f95ae6a12e813f9fc7fd6f29dccee688d9c1a4ee284bf73caf5164a8a6b2bf11445072867c0d2db780ee1023a3fb3 -KO = d0d34caf3ae2636ac5355003720f25a7d6c0fe10d68e2643cd1c2b5e572c438d7325db5bc3f111c33b1ba8043b559b885e9fbd906a5a1abd1a1bb944a3ff8af356938de25775 - -COUNT=22 -L = 560 -KI = a9ae7d5c7dabff17f7d9d72873fd6dc5 -IVlen = 64 -IV = 745bd1aa9e24ba43 -FixedInputDataByteLen = 51 -FixedInputData = f27ba6187b77d19472f9863c47c5de23cf62aa4529b8c09e18abce3cdc424f77c1955a7ff1539c128b61bfe9f8450e9ec8b3e4 -KO = fc6f1ba90e03bfa04fbf2060dc9153645442fa2789f899e2cdf43aec99f7b3c48b165fee9e22cbdf249d1412c2e9b68eee53792827870a4e14fdc0102074b2e71dd7ad176068 - -COUNT=23 -L = 560 -KI = fb1dca3807edf2657bb95dedb0c19660 -IVlen = 64 -IV = 67a046ceaf251a2d -FixedInputDataByteLen = 51 -FixedInputData = 76249dfe396ead6c1c3a5a6b1ab529ee04c13d9e707a8a84f30a4d1b5089b6f18aa41ec1f9741e1e2ec247b3d6148e9308e635 -KO = 8bcb24bfbd228c84573da0d28d3d15f087aa756af7639e5c391e486dcadc06174ec6c17afeed3df59136446f5d58be50333ede88dcb22b8f2d6dc0ec4e652d6f330a94c5b5cb - -COUNT=24 -L = 560 -KI = d07c632b3536d16e0749a306b450967e -IVlen = 64 -IV = 870ff26c50173dc3 -FixedInputDataByteLen = 51 -FixedInputData = a63cea40c403c61b78221e49c61dbbe418c6674306cb440edfd05e6b72cd3bed450b85095f0985fca0692386df5b05ddd64dc8 -KO = 890ac729038cb61d828b4fa17fdfedab172b476d47ed2e0ddd9be374c4c5b6b73247d13f6074585421d5fa44fd88be940aaf6f97377071dbc5a6e66710005a39b86781983d40 - -COUNT=25 -L = 560 -KI = ecbc700ee20822026d33250788de579c -IVlen = 64 -IV = 9421123880983db6 -FixedInputDataByteLen = 51 -FixedInputData = 8bad4b717be67b671146b60feba3f89ab5efc1f64677e33fe0b2f6d527d6f4348fa886fb1f3dd0a40519dcc2c350d0fe2064d7 -KO = 5259e6813f3c67c85ffde8418516d5cf5e84a723cecf60b414ba6a075618d67d8766b98cff9a222264300031444139da2fe124a6bdde7bdb6f94e21c660f76f72233ce0df2e8 - -COUNT=26 -L = 560 -KI = c325cd7d17398681af8359b1b20cac0d -IVlen = 64 -IV = 26cbd4fbd940944a -FixedInputDataByteLen = 51 -FixedInputData = 7a854918726ee27c9c9b148aaccd49801162c5bcda1d6932af9e3ed89353bb48718b74f0d54ba869bbdf1a3f50735f9d2f0a4d -KO = bfc35c608622d5cc0bc0680efb0fef8915298df1bdc3e5edb67da2862f03a78d71eb0a7796941ee474c81c97f3300d985d6de8285294ebe072138d626332dbf9dc3dceae5b52 - -COUNT=27 -L = 560 -KI = 4ef38f6d5ae408ef531cd5f8ba915e0f -IVlen = 64 -IV = 3ee5072280ed3e63 -FixedInputDataByteLen = 51 -FixedInputData = b5c2fc5fcd6853b5108596e381ee0f77118cfc6a6ec13a554934d3b05d17dcdfd113027a6fede44051340dcba7da9a52c493b1 -KO = 10b2d22949b077e0e0322fe72c62b4d50931731ff1c27f4fbd5eedc9bc8b3e1aa7b8e237bb7f5dee9ae14c77b7f0883156db755ece13a8531dd0cba486daf90baddf3832ca93 - -COUNT=28 -L = 560 -KI = 28fd4fbc7ee8e09de2e183e848f682fa -IVlen = 64 -IV = 38eac3a6be147e63 -FixedInputDataByteLen = 51 -FixedInputData = ede51d4b9ba14ef4feeea810fec69c9e837138bd577e12da3e994d56aa0603f0ee617b3ff7f769268b57196820f2d82afa31d7 -KO = 41abebcea731a8349b51e7bc17414b5df398656269d968e330803aba2606e4c2e75771dc0b9b09b5c41fa03d25f6e9ae4d98be4f76205cf45ecb2826de358d9262be4d84f5e0 - -COUNT=29 -L = 560 -KI = 420c494e49ddb7b1458b46ce2b7b33c9 -IVlen = 64 -IV = 937ea9c3642ed2cb -FixedInputDataByteLen = 51 -FixedInputData = ff67efd096570cb4ab706a3a02c40b93420cd6a69ce8cbc6cc3c5eea76b1b15c7e7858db64166d17cc33ff1cc573ed9421b919 -KO = d9ca4af7f397713c5ab48a21034a4bf93553c3f99ce79fcd66929aa006d850dcd91a438346fa247deb61f941114739d2b86b759c53a49fa755ef902ba1f7ba6d77c74bae0f3b - -COUNT=30 -L = 2400 -KI = a0f27a632b6ec931e3cd9e6df6c00b43 -IVlen = 64 -IV = 619dde0b0770cf48 -FixedInputDataByteLen = 51 -FixedInputData = 4f74e026fe9469ddeb2ce466dd9ffc7b333935fddbe490b624268e6f0de5e46ab39deb307585cb14baaf5e85dc3fa9e02dc82f -KO = ec291ff5874a7388e36b99a3a2ec07698f9b570f21b6bd0340ca04cbc1459ae0030803713dfdf90e4ef2f3063f205556a751c626c9a117cbf8c91d5757cfe6bb0eda21bdaab5fce84d8b5d30fcbba8523dfd105b1b4ccb4a213e39d29b6f718e2a443845b88b7c7cc576a226f5170ccf5add8aa93254092faac1a395fd1ffcd6176e9146b7a9d6bf91b45d366dcaf3b4948d3ae8e071f12bc83031162af3507a4967ce160092950ff7a7c76dd21941e6ae2d258261a94c17f1dd4de271f9cca9721d3fafa01fd45f6b0dd25f9f7d84353e0e0db40887bf311857c434456ef16ffa8c55bc95c005dba341610ab82020de28625cc61b8646a27b586b9c5ba64c6daedcc13e0ebb793b60c50c408956c8ec06d86930fa26f202372623f35ff1d081b74e60d6ff8089da016cf9fd - -COUNT=31 -L = 2400 -KI = 25aee6a2f765b5d34ff8911e9b5b4b73 -IVlen = 64 -IV = 8db317a24a95ee1f -FixedInputDataByteLen = 51 -FixedInputData = 61f5443db472d436513f859a9b0d5e7c62b7b7fe5051032c4a3097fcf18bd5072359d191e953398ef07c76493d1c83183288c3 -KO = 294c4506f6b5e364d4542e214b28ebdf0e75ffe2a1c1306ac8680f2cd44ad7cacca1e2495dd066e48693ad6144c18261d6d136e2e476393bde51accf28f67f9d1a4a2ed0f672057127091144635c645c89d13a485c54aad8a7cf5df4f81874018a3d4115fb8894a0e8d2d0b19c6e68b94cc30bf206a1334493e92bb6e06f445270036427af1cde5654c5e9405158286d3f78fadb1c9269c1a34fb40afcbb8227e8ef3203c053a7ece1d1d48a37d04b5b775abc08a4e17022b12a7f7af0c5f7b4346237cdbe8edcc472542433e684a13e664868662fc28a21f3500dbf5b4e066906b2477ed60c3a477d12a1f93b733e3ee7960e85db1cdf5f074af156cdce08071029381e791c021a392d32d20fd7a41050355a9febf4117f7a2a8cf1d0777c53e088da6a5496b67003322bac - -COUNT=32 -L = 2400 -KI = 140f5f11fcecc68a03078f4f3a298dce -IVlen = 64 -IV = e6348f93db1cd1e5 -FixedInputDataByteLen = 51 -FixedInputData = ff861b179cf23fc206c75523461fc4e549c94d735dc09203232ef6e19325edefe2606acb88cac606cb9eb30ccb2ce4927ede3e -KO = b2d3fc52fce9553ae940cf3fd77b87b4ae2362e414aa65554d12703487b05d735ca6b9c26b167bd77b9178830e6bbdcbe7b9dd760a2882a400d139878fae049175a53a9d467fc5eb540cefd888d040553b7d3b8eaa62bb46ed8b735af3e70751e70ed3174403a974cd0e51144718e69f705654ef35124e80db7523421937b3868600884b03396ccbc5fa87fcdcbade7fb23ad5bb1bd709eb62ed999fededa220039051ea9014d34195589abce258ef4d13fa7496f2566f373d5760753da87acf89c02ec61468acdf85008078fe1e4636280ec71379cd45af7e096f8148140f0e1f7bfd976a99c04741f427a2eca2d4344990a1c8d2460a731e8f7416204266371737c696c45073db838305cc7ce94c08a63ede4d54e51987d27dc2a73a9065028960d7b9d668243006b75d22 - -COUNT=33 -L = 2400 -KI = a3be259955de83cb3bb127acdc4275c3 -IVlen = 64 -IV = a18cfac7e1a26d14 -FixedInputDataByteLen = 51 -FixedInputData = c0e36a8bb17cf96df60ee798f7c54bb8589ad89c50270623bc642c4d58439ef5864853251765734af27d7e5c7ec865f6370067 -KO = 9a672cd9fb02331157e80f96bdf7544b3e24acbc2e2b83ec1f883a7c817e155b686287123303673496eb8ceb4b5bf771279959f5f0f611c458071ad622d0c2feba680a2b78c3eaec820d09c5f9579cdb1a7b7862209e3c0619dcc211995a0a8b279ca4b68953a8a4bf71a93f9002bbdea98b9a6cf26773c3e37f4eb68b145bead765206b5ef4c1b01e92f3ed63d80bea93c1aef282ca813ffccc2252b7ca854bf5ed53b9e12a5afd602db7e49626418298778d1b3c35bebb4702280add5f8b61649e29785eea9a902648eb39e143caa4eaa17e39cf3f116b220c9a3096303a7b0f6d0bde50ea36147f8831b3e2bbed63aea46b47d267a2c8dba0a58184100dbbb6ca3467b96252225bd1f838211d8683b7fe45cb4bd0a9013fe0aece44c9bf2a23abe4e05f1df89ab9cf53fb - -COUNT=34 -L = 2400 -KI = 5eff607578b969905ebe145613b46e1a -IVlen = 64 -IV = bcf0956e7953bb2c -FixedInputDataByteLen = 51 -FixedInputData = af39acbe6dd88a8fc970377adfa043e2842fceab13b8548d06d1c547b206e741b42cadc889198beba732307e371830b6324d93 -KO = 4934bd2709737b9ee612756463a216c9bf46355f8c992248ae09c721ab1847c5d21bc1c85d765021c0e23e473f47708be934d07e4e452b1736255b70ff309052da729b9d5064133361a5987a54791cf1e60fd32b468e4dde6f79032bc28ba4289ddafff3218616aea8999764345ea5f16205fb84bad4996d6f2f9b40ad9fc9f09724b1847460e155b53332d3c0b62e997b7f8ec18f5935eac3bca36d9e2f970f61e95131b1589c1e666f5feb570d197d206b156204c85460cfb4e919d84953d7e65be6e98baa7a83b03765682624ca1efd7bb985ee2459ac1dd50e19e50e16a9aea97c0f381749683e5d14cceb0e15c4bf0622919efe647287cea6d34fcbe3e42750c12dfb2be59a7b75ac8ff2150571ce23fe3c68a35a2f4cb43b1de086f82289f043f5f7e44ba8f65f4410 - -COUNT=35 -L = 2400 -KI = f8af2dfc7d59799913764f007cf7d92e -IVlen = 64 -IV = a5798e2df0516452 -FixedInputDataByteLen = 51 -FixedInputData = 12a24b8f3def86307e31229bce343a578b28aae9c8da47d0c7670844828ee3988ca78133aee8ecaa94d98d14586ef580f8d298 -KO = d7f959a44f5d12f2e513d9aac2075c3eba9be962c6e195a5c754f2db9026dd5d68dd505b4c19af2446d3993f8bd8359fa4d017a07a7eeaa6e705c5ba83125960ed4c8a8ec5452262239b42f1baab98f16be1959b6eb8ff735f8aff5b2223683d90fb5b6fbfeb4f85f75571a446e159839dffe107b76bbfe5de5c6f05628a9ffea22b70afc00342abd6361039e8dc403a5f45134da880c91e0e1a14594921161baf9bec12e25bc67af8921cfd2572834d030e34404ac794de76a5f75ac97acc929f21873385ae36cfe2c4cc121dceb17ea8b60e8d3209c168eee1f594090e9b4076f23312f0183d5d9b00a48e3f56684d4ed711e0547ababd51cfad27f77ca8db1f2fe0261758e5971cb3e1411803e43ddb4acdeb74fc56e2bfdbfb44ed53ad02a836ff0ec46e0369380064fd - -COUNT=36 -L = 2400 -KI = af7f61a0d866dce2f8b2149cab5eda6c -IVlen = 64 -IV = 04835a8d12f15e2b -FixedInputDataByteLen = 51 -FixedInputData = 7ffa3f31975246ca8a1a303aefc02936386fb0d235927602329cf79a0d7cb4919a0a8b61b9b0219a3769bf4c09fe08e56c9d30 -KO = 0d2ff2b246527d4db6573b0065971747a7b20e6b23e0f9e43e550affe8784441acfe561862fc75dc756c04aa40907700fc7e7172244d21b1c3456091a391c00b63daaa2e966c574532508bc8ab24ccad987fcc9bed22369d84ff02ebaa706661cd97978624ef7e1a9a26a51d87aeb61f2c38f69b04a9cd945c4595100a44a2df22537e30a29e88697120ce695ea30ce0245b90997a02dbe1ab7f38f19fbca2e7e1d50db167b9a8fc9470068a18e8da8726119d05c47a0996d695b249c6bdc8b7671c2de23847bef4e403c2ac2b1ad2767ae54606b2e778d176a9417fe2692b466d4b7342a69fa4a9af288eb463b793dfda9a161b7b363db517b45395ff718ea41341d42c5c99fb1b0802c8288ef57fe25c4a7eb8d6cf104f40c0301bdc8e8c171a3fce9d4f464997c16f86c0 - -COUNT=37 -L = 2400 -KI = babe01a66893212ddde0b8ead8464e0f -IVlen = 64 -IV = 7328707032f4549c -FixedInputDataByteLen = 51 -FixedInputData = 6fa0303d83b72eb2bb16d02a42deb4853c716998deacbaefd9edf9065ce9143caccbb2257dbc2655ea23fdd2f60960df06e5d9 -KO = b3fe85f311c02ad39efdad215e15485da3f89dd82a1202257e486c2a2b5d5c34797b97c102f3d4588ed8a78b5f733964123d82e53122069c592a5a544fa8befd0f19cb651e4bddfbc53a39e1d2aa05921e73c40a2b0dfe4bfe97615440541254321f3b7fed0f06d92a79ff2c0831af98eacea66d8feb72bebe5cdbe3c811a97e80812fea5df18e1fbd1113203f05ba7e76133026ec984f4f9c7387a0969b8be8b04cc6e1f50ad94fc6ad8216cb6458573c2ff7ff46e38cf40412da533e15e7474832f63cb29e6ce4d857db7db7fff699061fb9bd817fca0b328cf86db0a865c409506ad4446dcb16e62dad161d61809c0c41baf172631690c3b1b5a0dd659319b03b95befaf6c9bc485745f7bb008aa2167436e91713d5bf7b0dd820e3e69bf5ca090047f5f9bf0929f9809f - -COUNT=38 -L = 2400 -KI = 1ca48dfdd6a584094b094541b3192043 -IVlen = 64 -IV = 0495363a0bededb5 -FixedInputDataByteLen = 51 -FixedInputData = 71c320f04f1c224f8f56056613ca2ecbc15fae079ff082d26b51992da13d710a982034bd522233c987ed4cfc1324d34ebe0f6e -KO = fb6be2940f940166c94a271e13201701554457de41cded21b4811b7e063e979c62eefd18eeee6330461d76f6626afcd38fef8d3e4edc19913c60a548bd0aed3568b5078e7bf4e360d5e8742efac1dbbafb721cbb1ee3c8285ef6b462c2a0d306445ed9bbd5109b3db90f45125d3232062f9876c8b7d41e6550b1a86f5aa0d423c79ebe264c6443dc062b3d67a56c3b854dd7950801d99ae87c53a6c25eb9341f578785ecbb42ec9f2bbd58bad464a2bb785db1c1f2b1530bcde00de243c52099c3420e9d921f613e0e8c661eb039f60490366b621a62e75081ac2e47b08af9b0e3a14d5fd6e45ccf8dffd87c147d43ded08788e8cf0c8038c254f927a0c7918deaa978874a365f3ac1c422d4fdb41b7928a6b017d9a765adfd35cc06a39a04cec84c5fee8e1ce3eab7ad8a7c - -COUNT=39 -L = 2400 -KI = 6ec18925e8c3da6eb49c7ece83be6eda -IVlen = 64 -IV = 898de5ba780270a8 -FixedInputDataByteLen = 51 -FixedInputData = 6578ff82ab172a8b2886c8c39d892a164784498992ed97474cfd0f9b009a5ddf724ae84f72e8c7dbe867c9c642f307f7c7ed73 -KO = e1604e60b571280d4c6ab3980edd376eaf3c8c9d804644cc03c41671d7f342ce5c1da2191f717fd82e42b183d9f786b70b2e2a282d6ea804f10923c2d39c4eb558e8e6b50a573b68ef652d23b95acc6daf22d37894b36e4fa06b9e4841d4c37302acb10ab7c4b808d5aeda452928f62577daee8dc4c6dbf4084a8b3f0b8b03e5c14cf6e9af530fb6e9f02450dc271e05b9e63ef538b39d15569d712124ef76fa7463081b46aaa7127782fc0c923cdff3ceab8ded9234310649b8a4b372f97e98bbc7c86aa7a0b923db7d3f880ac05efe0decddae695528c19307efd2bfb86cc0f1e3971d5e26e3dc4dc50abf8c1ac811318cb0910e624bfde9393da5d2b94ce40260910f105a86ed2433797de500e95935f7a5c85dd3756fb34da74f4f941e61a5170145b02b10532717e966 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 721c4a956d53112d706cec94ec31e22e -IVlen = 64 -IV = 819f6103104ef797 -FixedInputDataByteLen = 51 -FixedInputData = eda24f506a4c2e0b7f932b8479984b3dae1a0244d7a66fbb7669b1e7ad94c841c3d477dc447d5ffba55f45812b36ccf1df614d -KO = 74c02ea45da07930e75647272d6bf837504a316c378015e56bdd773a29fd2c0a19a29aa0e7f18f3b0e73693197faf9107d28f987f6eac1f5ff2bf22aeae8aada - -COUNT=1 -L = 512 -KI = a41144e9db9c552eddaa7b988b3b9af0 -IVlen = 64 -IV = 2bfe5635f70549c2 -FixedInputDataByteLen = 51 -FixedInputData = 6854b29cb7b6754f242ed6cfbeff019ea22831a1c9df7785c48cac982d65fbbda6daec7dd1bdf13e42a0022323b04c2944e248 -KO = fe0172f1255e3922aa4264f69821707b7c9109dac4f7b3445d12c1e428d8cff407475f187f5f86b16906ccefb82c1af2432096d450a5a1958ec5f730a7c30144 - -COUNT=2 -L = 512 -KI = 49a7cfffd9fc3331d57cb98d16300a84 -IVlen = 64 -IV = 8dcaf4f0467f0c31 -FixedInputDataByteLen = 51 -FixedInputData = 1c7715c629276a9d12488741afc954e9bf9014b78360b3108ed64fdfc53d3281acba493da7be3e2eae774e35f78b72605be2df -KO = 1c670f9afa291c805d98f1ca9318bfbfe574abff4c5bc404d263f6f1d8906630795c28acf9f8e82ae71987f9ec446f2dd0f47554482e73916e2f8ee655bbf1bc - -COUNT=3 -L = 512 -KI = 3ab3b6524b9b907aebc3df14c7a90545 -IVlen = 64 -IV = 7e4788183f3be404 -FixedInputDataByteLen = 51 -FixedInputData = 29f7c7a521f8fa2b77b16605549f39699ae59a1180ed7cda704be688d1c24a0b63847afae25945d67def3467f1800c52aa248f -KO = 00a16d97fe60e52e3368e5948a5d4fe7f1492504407ecef8b85bed0fd2c483c30dfd3ea5acd56c663d4b31a8f5897c2e7698b2557547e0bd6b033f1db24b477e - -COUNT=4 -L = 512 -KI = 4fbff74a4ca6aeb689ea0356e86b72aa -IVlen = 64 -IV = d445909210ad1c91 -FixedInputDataByteLen = 51 -FixedInputData = bc6709f3b4d9529231e892d267c07fa40c3867b1a30fe26c31dc469daf2513d12abe69b15c11edd988674c346672c524dcf7df -KO = 66e11b15f380d5eeb73dfbdbd10f2a74f9285331c2a8283d792804a07c283d880c599b41bce5460b42179e57169677317c79c423caa1474a58399ad2cc65cec2 - -COUNT=5 -L = 512 -KI = 12aacbcfee3ece25a0a576ab88831803 -IVlen = 64 -IV = f8a2638259ed04a6 -FixedInputDataByteLen = 51 -FixedInputData = 130bb77e0498e7cf969f7d92e58c7cad63d98f32b2fc25278ecfa6dc58f0430e1f1cfd39c17a3649101fec8b1932c778cb5f3f -KO = 2d43d00d7a6d09c120b59795be5a8342336db446b9463b73bf624e63fb673c1257f5056bd88f24dd1228ed797c938b1ee48510c2259387f40be719673f16f7f5 - -COUNT=6 -L = 512 -KI = 834c47933c0c4358ce776b168962e7f8 -IVlen = 64 -IV = c5c2c0fe1f154389 -FixedInputDataByteLen = 51 -FixedInputData = 0127abf4081b42db9caa32b31e94d147daf003ab5bf2097c48b28eb4d8bc123bfe1c165fcbc503fa84eb38b156053de1e94fbb -KO = fc9f5de4ab21a54e4b5f5edbc679eb0b37cba9fe5658451ed81aeb2b5f66c10e866d66c3474462c0f703b434340238d65c61889da34ddbee99411b344fd5d840 - -COUNT=7 -L = 512 -KI = 95908e32d09b2e7329a421a06482e4da -IVlen = 64 -IV = 25ae5898748457ed -FixedInputDataByteLen = 51 -FixedInputData = d129f3819e86bb10d0cb2efca2bf97a9f8cf245a220b61e1602534c2222fe7a78c22486d7c4719d39ccc7297b851fb219225d8 -KO = 6899bcf6a2b189199c850c0b90afed9821f09e003b2267132672e048a6b511e496be5cda0255d9cf3494dffc893140e3c70aba6305277f9b136c20eb0e8b4f35 - -COUNT=8 -L = 512 -KI = 5da9f6ea9360427e40b49df88ca47e75 -IVlen = 64 -IV = dc9d8d28b7b2c1c5 -FixedInputDataByteLen = 51 -FixedInputData = 0ae5fc64700254937e3a1013fe117da5f6264b078cae795fada23b7626d23f298e0bad9105e25680e4e8204d38dbd13673fa13 -KO = 0d1cac0e60cff4a4709086ea847226fffc4c81de9a642210af195c22d428f64e3744004e31a738c876ab791a635984b4efd780524161ae80ba86ffb339c62866 - -COUNT=9 -L = 512 -KI = c46e270674561beadb80f3da7dd04672 -IVlen = 64 -IV = 2ef42fef06a423dd -FixedInputDataByteLen = 51 -FixedInputData = 32eef5529ea519d301361fe9c376590650bfecc12d2975f97fcedb0ddf80290625a2a64eda8056836f29dc9ad18a85f1a1668f -KO = 4ee985f85e23e418342cf1906c12a09ded6d269c28565752f203dd451c3ae9d7c2fb4170293107c59661a93bcd9e70f7acc716b8b5e84440253584ca4e679bd0 - -COUNT=10 -L = 2048 -KI = 075b7cd67591cc8c9e5d70bef46e5be3 -IVlen = 64 -IV = 2496ec7d8aabcff3 -FixedInputDataByteLen = 51 -FixedInputData = 20bb7f3bfb022f4d6412cf81d320eb92079814e16d37aa48c40456e2f1a83003f2159e53f3ff6093c2b0ed160a1ddb2c0d0566 -KO = ac561fb8acc8b17239ed16d9f2cd798a972a1bf5a19bab1de407aa32f09f1fb525907e463f34224624cfbbe89a5143d4de7587a0c1c2179bb33e6cf34d06e57ab8b5841da9fddac20b9a6abc8e6c5b72e6923d5e09faa7d863188c6e664f8a6895e08637a83471d91c769518f08aea750175fa91342962dd42162ae5f582bfc42c04f5af4e3ce78b11962d921568b8bf616f896a635febd396687a4e1cc7657b3987e84ea8c2d4a11674ed0eae8e74a33d1127a576055411f65b016f08af36ac49e95d93d31d5ce7c94298a823b227938c4a420afcfe089e33d78343d4d805a673b4f6388c9669e9f6d548e45faa37e53d369ad3e99886d451a9c23a52c2e954 - -COUNT=11 -L = 2048 -KI = c2c7bc9e97dc01a900df5c5a2f6e2af7 -IVlen = 64 -IV = ac4dfaf8c3901eb8 -FixedInputDataByteLen = 51 -FixedInputData = e2e244bf57b79abbdd603b30467a1eceb5c3d735167b85f21e9718dd013ef5263a6210ac2cf4171b7d722f9afa4ff5b5d503cd -KO = 9aa7f04de53dafeec3872914c02bcc7d6922f8d46a172155ebd1c127b4b1cc4c1a564d31ab3094040e2c11dea0c64ae73f290aed3ecdb4eb940de38b651990a13ba680c6ea19db9002ad71a78a7c38ddc64705d2359cc9a029d5b2ca912b9a14d02948739e3a7f93782fd1fbcfef92258b8a9d0aac17dad3891cb26cf088471b8d343c0ee6fc5b0634779d15068820597c28b3e1e86ec7341883b4877852bc73b68beda6cdd06ddcc0021d927e529d3662e0779320a3277d19cc6728058ef2e3ceb560a899d9fa47f08dd2b9f65f7a2498c38bed04678633d4d657f28b5336235c86bcd8c9ebfb0ca36aae25c1ebb9caff2c4b96cec3c8bc28aca6b79f32f6bc - -COUNT=12 -L = 2048 -KI = 28622a856a05724fe7c700a2e56f9d40 -IVlen = 64 -IV = c65ef5af18cfea25 -FixedInputDataByteLen = 51 -FixedInputData = 6236fa25c48198f1927d68349ef06c5ae21efeaa21483f4afd76a3bbac741c36c831117326b0d6d8fe1efd3229fda39927eea4 -KO = 055096d9e3cd28ccf84750f39c2959b6e84f03c0c284bde8f8b485188a1336f4a2a358ce1cda5f246dab41b298c2b04aee8ae13923ca3528afb980fff46c9d46ff6ac02c176d3513b88ddd8967c2b7a69bbde7b716185eab716d3414cfe5cd7e7d1fd615627787fee4ed1a122a1b28aa8d23b0b9a5bf2a626decc6b4a7aef655b94aa3f5ed5c6528e59a4b336efdbc7463fad59162a1ddbb4df1ee1eb3e5c1f12d40dc2497cfce91e58f7ae7a6fbcfb1eb80083e84243112de001295c91a36b883aa93c2081040bbd3594704190a8fa41ced996dcda690292cb837fd5b135c41485114d03ec6d104b2013fb0acdefe14775d6344b1b95eeaf5944a4289b58575 - -COUNT=13 -L = 2048 -KI = 6bd2376c03c73da30c064f5796bc3f83 -IVlen = 64 -IV = 106a449124c71b48 -FixedInputDataByteLen = 51 -FixedInputData = c6db7fabcb7ad1c0088f3f1ce88627927b5690a06c3d0258627ba806f9aa3b6f03e3a5b17ad0a40c9104f4ddaa4f92c27d9f4f -KO = d3b353998a1c5fba587fb0ef8009abca179f3a88cceaf3835243a5767f65b8c783b9550ac9a211a0d065aa4f836e832cb4978df7deaa1add9a9271039546f299f6e54ea9dd2e1d843c50d7042a46e32e824b56f077dbb6d63e7b16d6dbb004f483f011c6fbda7e733852516dfd39695f839a67cae2e0f4f5e7847e121cedac9e165840b88e12490c05151675a65f3f947c6d9c8ec7643e8f3ad9d3ba8cac8953a02cc64d89bdada05718f571dc6a236532e864dacff3ad9bc258aee4f77856f39dbc8a1ea8d0a612d36d50fb85557dbb10dcc55c050e2e2ce37c745e0d1d0ba54dee0e7d57c4b464b91e744b3e5295365d199f9aa8468425bbf3afedc92f1348 - -COUNT=14 -L = 2048 -KI = f71d6699bc42fc24b43980c249ef63bf -IVlen = 64 -IV = 97d58d2a3e54a3ba -FixedInputDataByteLen = 51 -FixedInputData = d6a4fab9700dfa0f5b64d2ac07e212d1c6bfb62574c8d3e366b0eca67cd8c9898a640d8d752577a2c3bdbd4e460406b1fd598e -KO = 7240aac30225b16c8a58bbf347f4780a89848c38ca5ef080a8386622ad5de8a09b93fa72188c483486de43b634a2d425c58fc631f0899aa2cb89cf3bf51d101beb7255cfce963464ffc5436630fa81a890cf97c48dc51ba952260d2a14c0b282bc6d7dba4e195997305023a201ec19b54d0237376b00abea1db790bd9b4c630dd0e36a259e8392c895388c474271f17b4c14b81a22a89e0e5573ccf14b18f9f2535fd688d703eddd8daeb23e9eadc75667d2bf7798137898984145931b992b5453facb5cbcd4ae3b5dd6283751e9bae416edee2f3e5889494f9096be4024928a8957586ff010b44fae654ebe5b18e7d3260d0ad6f896bd4e92d232a2d5a89ec3 - -COUNT=15 -L = 2048 -KI = 4c1c6d8e7ee4cba2b1c12330a991506d -IVlen = 64 -IV = 50bb4f7c3fe7593d -FixedInputDataByteLen = 51 -FixedInputData = 88d58503fddfb0108442fb84b4a8f5ee0f4fc2b9f2fa4d139cd328ea860c0ca85696e721d79e04f8daf7af3428b00d54569772 -KO = d45909c4a38317b5740265a746460771ae66204d7e9d0bcab90cbcc765bce3eacbb68fd5ff163e86a6a4ae22f98ff2db74048e002f629f3e37f168127d6764ea6912a2b560f518f3ed0392c33383c53cac07462dd786424de6f173b573d1d9833878a07005142760e13342d70ba78251dd45232758351f52658d219c96304b832a1e4f1158dd7ee47b1e7a5f08196220b924aff49f6e9f3d77d8ae0d550069d1bbd6d9ad96f6562bc5c6de822fcbaa9e70abc7f57488d1128f2815f06d7bb3e522b3c428b071144859b63316abc7f37cbb8d2b23ffd1e078ae6d26a77c6805d6fa0371d616f27f88b6c59e165170b4a3bde2353e99bcda16c1bdf2386c9ac745 - -COUNT=16 -L = 2048 -KI = db248182b81661307f14f003e57dcda3 -IVlen = 64 -IV = 7a83b7c3d968c076 -FixedInputDataByteLen = 51 -FixedInputData = 39f5b48f918f56801ffc9fc8536f13bdb10196bb2df379a7caabb0736793da366640f4de8a9b8b7f5ace39cc63a4f77f1f24c9 -KO = 4b51d335ea1437aa20aa87a866bf984d49daf3670b01246351c02552aecdf5d2fae3a198960fba7ca0281799d106d01c752f37ef89384271e520257b733c939219964210f53f6e7eadd9e946b307e8dc8a22854648b87226e06738011bec2cdc9da60a3c4d4867c951f71b8c4b084964e3c92557ed5fd0b2f3f99c350c62d097d2e6d57c9f0715bdeadbc147109751eac0c2786d68d7a600d56d0a5d7cfb3df8e00f165af1be3f340dad919e526aa43de61719f4c913785fac1f04bfd41d8d78616f799a92b68002daaf48edfe4a0322ac357c19f1b86e0c3a5e0aef1314e308c713bac69e26880b3f6935be659beb3f5784f932b52be3ece91958d824e7887b - -COUNT=17 -L = 2048 -KI = eed83f638b1bbb3c3140a07d4351daac -IVlen = 64 -IV = 41598b013ed251c1 -FixedInputDataByteLen = 51 -FixedInputData = 951266006d7620cce0415e94e4008fa3dde9aab63eeac8d355008785458d33b4ce280ea53d921247cf9c14855966e8da0264b0 -KO = d8b248a1dab61be0f0d653f8ca263cc49dd0f76d2902f0318f78649d48a915b9a5ca32dd9cd3a273638d4f45835facc111893dfdcdd0e458d84c4839017e7b1644609f53978596334af52f63ad951ac44584f20debbae523525af32907ee0c5b9c6b9f10f6e0dd27d24de1b715924128b78e1218b1b067812faf215af0532c36fc7fbdea9d8f827bc658a8bd23a305d298c5f5ce22d550a578e570950f31dbd910b0485c52429f5cade72da9297d88f60c012958f91fa0939b5a959209b981a5772175a3bbbd35a053e90979920b989530488e89222525eac27fdd5f04bfa4c65fcbb3e7d47c364715afa811d943653b87ee75c6492356f1871f0413b8979a22 - -COUNT=18 -L = 2048 -KI = 1abcb407f9f7cc347f8c7852a4b28bb7 -IVlen = 64 -IV = 31bdc198fcde04f4 -FixedInputDataByteLen = 51 -FixedInputData = 97ae2a4936b59456c36237ac06b20831c73647302862ceb935dcf32c34e233b27d560e6d676c8fc6170ca33f35d972f5d8d28b -KO = be6e62239a24f44b69c4e37cac5b7a8ff5f7a2dc3b038c36edf2b62fd827fe6de871c6f518f63204103c5ab8fbf9fc7e8013ea708ea3a67de70fc7452181528f284c6cf2b9934693b6c675bf21eb9f8f5630af98eb2bb0fd910de0ce7800cb26d9c55dc35f83967a1561e5cb7cd378eea4fa9fb30aac795e61f169f393820699bc48093febc3eec1bb65d39e39701f5282f0d65a1929a02a839cbcf072d354ddc93005392080739f4e5af613dda38f3427194e80cc59ed0fc5381561380faeab533f6aaacfdcfb60d94e64746c82232de6a5c022b14a85e357a631a79eb1e63c6fe0a43863fdc5feccb3c1cc984b471b8974b562e30ecf57dae08cc336ef1d38 - -COUNT=19 -L = 2048 -KI = bc2813e9d445b779116e4ae9e8833860 -IVlen = 64 -IV = ded3a67a63e80418 -FixedInputDataByteLen = 51 -FixedInputData = d597c54de252e2294c5a783e932697874a8309315bfd281dd1e10ca11565f406764e5db149bf0e3005d58dfcae2d594c5d0a44 -KO = 4335c93db5738b7d4c4ca892bfaa14bc60f28eefe97674b9e8a3f495f9639dda7abbe8ca48e028ff3f28eaaffde5177c5ed23af0eefa6023a090150e8ad4021241b39dd404e59d1ca3a3905b3c6b58d5abd23b6eeaf0af167ab08bd23153716cb6c465f4adea1ea36e96031b9de298992719390670d0ca55fdef7a28d659be2abb53743afb4f6ab640f79ee8799b0e5874bf9f7ae07df8890ef80639dbed90de561e838d5f4d8252452a52cb5e40869794296aae9ce25baac21d168ec9c1a59a684aadc66854a13af1a6a1b0f9fc8292736a1824612ca4d47bfa97a5613f658513f871786e98d3290b4d72a9b922d2b31661b060f53902316e15f223cc2fbcae - -COUNT=20 -L = 560 -KI = 9c8bd604ffa402797198ac7c5f9abaed -IVlen = 64 -IV = 1467a3f661f2ce83 -FixedInputDataByteLen = 51 -FixedInputData = 63ea0fc113b646e9155fd57bfc5276f30a67418a46020f01481b7842161b41ce35529399e31e588cd5f949ce226474a6d665d6 -KO = ace15e7e68604807bae8c00c1315f2da1120c1e9c77ee9df49c7fcbcd0c5bb968fd39e626bd0284c0861d59b339c9be99ecaba180ec876acef980ec0531dd6b00b3861be1ec1 - -COUNT=21 -L = 560 -KI = 23ba39b7f3eb977b85046c1b79f415b8 -IVlen = 64 -IV = bd7698056f0e6211 -FixedInputDataByteLen = 51 -FixedInputData = 1ea3f806bd41dccc6c78c83b057d2794085c33f0cc4a23ab8b70e23b1fd9d047cfc367594d2ceb1b7fca20e53d3ff1f57003b0 -KO = 071f9013c6dc337e9c35799a1ac35b213e7bc6829f39b3192e318b2e1a74b168c22403e6f0239b82779278cb3c34492dca0a99db8980d71c68b34d2c2aad0e17a8a2574d7bdb - -COUNT=22 -L = 560 -KI = 1ded21516e8b6c4665f424b1e34e4d71 -IVlen = 64 -IV = cb8b91c676945cea -FixedInputDataByteLen = 51 -FixedInputData = e4b511ac1de5ff83e7534cb4f1f2846a1767adda37364dd41e6ec7c26db7dab94dead45708b58274a93520b684fee64889ff81 -KO = 481889f3152cec718a87ebf6963bc6ac1e387acf6fabbf851f23133307a61868696fbdfdd49bbb73d3182d03f6c15b67450f30a57ec18182b59bf580c8f5ed392f9dbd4a92b5 - -COUNT=23 -L = 560 -KI = 7821ac450200142f45835fb2f1e7581f -IVlen = 64 -IV = 5d38ce38b0f2d41f -FixedInputDataByteLen = 51 -FixedInputData = f828b2a1228d87b6ccce3afa76f95326a4b17c1f730156f96d8cfbbceb38428ec6f611d4eb82adc3e0f751e6748fb3f7bb2767 -KO = d3ca0b4bef7628500c8c71c09eb05654903b1a283fef588a463feaf5791cca59447bc3ed559313949f05fb88a2ddcd950f61f850afd5e1f8f752e022545c4a41598504d384f3 - -COUNT=24 -L = 560 -KI = a66ebe38bd5cbc1fb1d152eb15dc1487 -IVlen = 64 -IV = 6f39d7997462aaa8 -FixedInputDataByteLen = 51 -FixedInputData = 1109b54faf7792e43f16d1bb26a57cb369417d5a7a6a1bb4d4bbe7dce6a88494bd4b60d288275d63407ebe4b358e436b33beaa -KO = 304b65f9898d99e2a592941c7ce1ab20999a98743ceab6279af4284ef0d787faf335482c927c1e00a4677573ed79ce0fbf816c46ebcda7e866d9e34124ca088fc7358cb44eee - -COUNT=25 -L = 560 -KI = 6cfb11dc42dfb402a689328476adde4e -IVlen = 64 -IV = cbd9956fe6950c64 -FixedInputDataByteLen = 51 -FixedInputData = 09f501e2f6deb332f3f11ef90f891a55774c45aa9d1b823ce347248cb41efda65c743888f96dd15fd62fedd082cbfe5cf46149 -KO = 57a8a660bbb150b65c469547698a069ec50650635ed4033e0fd1933f6a0223b31a589d65678f7ca9bf74ea6314ba188596b069c59c60b23c1589ac90549aa2b776de7ac123c8 - -COUNT=26 -L = 560 -KI = 312102617c071a01e14a5a92e0d0621e -IVlen = 64 -IV = 439b4b25f97bfd2d -FixedInputDataByteLen = 51 -FixedInputData = 824e27100e08d84f7485c554276d1f9c4b005e928f0772726b3e6b306fb4e6a4a30d3df7b23f2c917709333820dd84ab91c81f -KO = c1e4ffed0b7b7b133a6d3fa46ef0b5411e5f3f3081de5e3ba9e34ace78f2a9381d7edf33814e55bb5b48818aac67d978168ddea2b38c74df8247d6d51bbaf86da27cab40d970 - -COUNT=27 -L = 560 -KI = d078728f2f3a1dabb5eccf3a6001ec0e -IVlen = 64 -IV = 008f5a3f680e01cf -FixedInputDataByteLen = 51 -FixedInputData = b0357208de1177c971f3208bee4d1201e87875bcb656d7abea05f5dbf0c3efe1ff6886e4cd95ab5a8842edb8b725c02ed02a99 -KO = 76241eed152aa335d4987433a6660792ffbc470976e36ed3f457fba0a447d22a117958063c836e3aa76290ce325c094229e027435b75ff7e102b599a7f4ff7e2108dc59302c3 - -COUNT=28 -L = 560 -KI = 3cd35ea2f64f876bcf41955b1382155b -IVlen = 64 -IV = 5ac31d5035ab0189 -FixedInputDataByteLen = 51 -FixedInputData = e9e5e74fb8197834121202e80d1792d08601fa54cf90f992f007b69fe5d192ca3ee32f52cd358ff6be76e23f5987a044fdb87e -KO = ff22209ef67abb5e208a85a3ad2704fb0c2ce12ff4e4fffa55ce76ba4bbcd51014d537c071abc04738646be02f6921f5449e0a3f20fb94e4ed3d7e8a029a2be6a73bf2b735dc - -COUNT=29 -L = 560 -KI = 623d037645d4535a250b163308028182 -IVlen = 64 -IV = 4a562d953c92fbec -FixedInputDataByteLen = 51 -FixedInputData = df22c5f7174a5c9b82a5b81b4c186a50d0a2c3891fd7c2b649ab7f94d6b02427f266f7be7b1b6812cc6d0ba48ed6d78ff5f382 -KO = 528cf6fc06fe4e0a5db7134a64d66709eee7f29254a121469e04b1ab514e614dc8d46ab999f11074cac0475000bac9cd228991dd10dbef9a7432b9cc1b7792db7fee4fbc2403 - -COUNT=30 -L = 2400 -KI = ef6dcc5a2132b873c1683a44dea3de76 -IVlen = 64 -IV = 1c5f6deeecf262a1 -FixedInputDataByteLen = 51 -FixedInputData = 322715051c4b168aecbb35ce180ea0668393ac7b38f58164aa1ae4058913e1f15c3b8b399243dfcdc355766076352899aafa56 -KO = 02eb643294ce38b0c17147966b14c6efb6421e13dccf9527b120e37cdc88f6fce3fec1fd638114adc2a4c2c214a7ddbb3f7ce68dd7a62335f6354f82f8392cc7d6e84b098b05f61db12f89e196ed1e5c30311318119c90f3ddd45deb8ede7d58295b5ece79918843fd85066d5dc49115e043623150fb3028c8b106c1b1546703445ad5e13f9fa3caa7489732bc0a240d76a58539d74abf524cc18b76ea6824ace9d0d752b61c5627325f8091731e7e9c0c871aeb1dc3373c3ca352d41a5b92a0deaf93feeaa2f216b5248543b4173d65f9ca58c5aa018779fd9468e2d49765856708f557a857dee568bab84852363b225c02e9a1f007ec48d8a5c90e5d5d2ca5d503b76d06ac991d5620b54b2b94cc3d74f1a9f4e7da6e2ed18b3023b28bf57ede9b5b57a4a8ea5f2b18b594 - -COUNT=31 -L = 2400 -KI = 40e44246619a6ca8b4c60351beb489ba -IVlen = 64 -IV = ad6fd6a65699ca3d -FixedInputDataByteLen = 51 -FixedInputData = 03dc8a9f0cad8397e3a86d44208ad71d2d627b63c4dd6c2a120e9a5aa138b3dbeb14d3ce080228d92a49e4f34edfa2e444b8c8 -KO = 4043cad7ba9130ec69b20ab63e7678652b59e7724107a2c258def821289fc213b2dcce16c72b94a8ded3e93bba00c47aaea32d12ac44530c3e84e06388e943960b51f85f006462406bcb72ddf5840757bf5282090c27752033d113a4963b1dc88ab6ed90b4f89caa7b24732e90e1904a0f18e3a82583b37479b67478bdfd7fe9a996204e856f81d19b1b014ce2da5b38d410652eb4038f862ccf0e5e4b53daee68839339078d65c7e6d642e72cff3e52d78063ac32790beb52e9c9b66c84ffc8877d6ebf0a25515f4059642eb4008edc4dbf6fb7f0333a3c4755bf596ac9e4138b55b810ffef5858054ba60c7aad632fa6ca2bd790b645c96d583afa159bd6889470505b90c6ca859f10bd9f19537740ca959ef961bce56537e89814c91ffac38ebfc22abf02272b47fbe2d5 - -COUNT=32 -L = 2400 -KI = 5384687c990f6e6d54e544d94a905143 -IVlen = 64 -IV = 2f8311db3e0129b2 -FixedInputDataByteLen = 51 -FixedInputData = f783a45ce29252c0df98881b9c89191d32e7a79be953339369ffa8346a2285823c82c130494a2999ada8769860844bf885b274 -KO = d3936414253055ef61941ce3d0116c9a664234dac41708e89df0355fc8dd13b7a34fde3d44170c7c9957104d78ebf7eafff1c876e4d932ec44534d9d74e06171ad82fc78e24665eb36efda58f6b4432e002926dcf1ca62c6236bd5803b1265f4067cde5817b2c90ca1cf9c505db447bf5a7b693af366535dcbf2626026e1bdde2c5ca768151846226c06b5f4bd5a790eeefe7096d183f17124c783430847712b2ccd00a16be65ee997c2949314cde000781c386d8421aca6a039a665f398723e123c718d18118344c25d0451385a521626813eacf06c600a7f98b98a9535188971c57afea5b0fe542705d29c494b8bd47b99828eaa2c170220cce67834f1fe28dd4d121d04eb0e4ec0f91711c880b9aad2e1e03b53a01b6e788ca14e797571e3175fa4559ea7b5eaec86d0f1 - -COUNT=33 -L = 2400 -KI = 6ea21e73d19660d4701ff1dbbd88a3c0 -IVlen = 64 -IV = 592b41c515c1156d -FixedInputDataByteLen = 51 -FixedInputData = 841bd01c6b93655edaad82b3eea895b3bde425dd6a3e9b9336119de4ca001980786f3517e064d1ef68f163fc26e47e77ce3f37 -KO = cc608d6b1c0480ae4ab4ff15f11edd4a69f1dc3387d51dbc45f3c629e767af65a484414321848cd0a790090edb7c030974d2f158118b4f2f3179bd0a4bc686313f11684a02e4a233551b1da89590a353f12144aee22a22e271cab9269d0ea62c6ab60f5c344d286752c786caae8e4255aed42577689cac5181b9d266fbb79179d541b0037327b2814204560dee87f601f4a2c2c46913d0ffa319ce55fcc1f8a5cc8e8a061e1b85add649ae83277c1952fa290e214cc2699ab5fea6aea3eaa60700c788319bb4718a4c486f2653b25e4d3d21f02e1f42020cb7f43821b4ddd829ac40eaf678c9182b1ee287e3ed9e673650f8ec55b59aea91ca6a1fdec7e0ac870342437e6d92feb08ee47f404e87c1e3062b7623728897f0cf990fbff599a1405215f6ef4ec1e676c3d12ce3 - -COUNT=34 -L = 2400 -KI = 4165916d7ef95096cb8ca6916d47ec53 -IVlen = 64 -IV = 283ca628a7c757b4 -FixedInputDataByteLen = 51 -FixedInputData = 68b1d22ee11890982d721f85a9b7379c3d3474cc452db5d1f606a7b33368dd02d9b31b69d560c73c4026fea398f3c10f17b5b6 -KO = 8d520ed22faf551cb2f837a819ac436a6b7cd88f63ca741265a14ea9ae9e7675b0e73ea0278a877274d16ca9391682a350fd779769db5f7af26f0fb708c6c000cd02a70d971241bbc7e732a5d93e01e418506c359dab4d1c26f8995de88bada171eaf1bace792c4f77adf470f3e4424a400833f3132aa24197bbcc73b9864425a517f01141ecf875cca8d2388dedbde3319d8ac9d4a4aeab96abad02ee2924ec5c7c57c55fb5a3cc5ac7a9dc679e974811deccf6a8d29f2708ec445c71a5305fd1b92047971247610d3be39518765876d6b98286c276f582be60b362ed382935f3db8ce856bf8cd5170e0fe56a7b4cf66f9cf82e4c933b56bdde347c6e6f1fc780dde73e402e96a727275b6c5f1604080d05dd470c44da232639e5f063f83dbd985531cc25b8a676a6e9bd64 - -COUNT=35 -L = 2400 -KI = fca037e2afcd336e2f4894f7223d68ff -IVlen = 64 -IV = 8f85a779ed8a40f9 -FixedInputDataByteLen = 51 -FixedInputData = 3d9a0a6f1fd185492de6e4e36515b409fae90fe2492c7ab1d47b7e4112c4bcd5cdb5a9c0dc9135221651ce831dec601b63caef -KO = 02d6dcdd1265c87999e1b12da7a41b5c80f8b9f6e45ffe56f66a432b99e1d54a2abc380881a7575d68cc3fe91cde829562a33b0a453816714d5292d444b1b907cc51b89a6ddbfe5bbe04cc52552e27dc2fc4cf327b5f0db20fbdac87b80c90762f0e58907a3ba10bca8e67297a3f54805f76f50bdd523ca150786a736256a579f7ece3c983e0f8a956a817d58a61a3fea1cc921ed6c483033c859703d375cddfd944782da69d3a0addb7766f668d7a1a12ebadaf560944146ffc39cf9ebb937aa3a6d2bed7b82c2e082f3a0c48925064461da9bf4afba4fe0e87630ce634cedd578fbafc3ca33bdd580c6e63e53a0edc31a0d08676968e9ceaa7e1fff899c609368932ba539ad89bde8e78306ee5715d67c33c60095d5eb2bd83198b7e7c05575574ebf80e7a9354b261eb5b - -COUNT=36 -L = 2400 -KI = cca002fc0bd43f7e85ad86fcd3551bc5 -IVlen = 64 -IV = c01501b6f1f054c2 -FixedInputDataByteLen = 51 -FixedInputData = 9102f8fbec22bcd647690cddab1d7c56bd0a2ee12202eb6f152abef90092aeeba1b9c83ed2fc186ccd2ef5cd552a80f77d1a0b -KO = 61c874fa90184a11539fd0fd52fde387eeb99fd2a0d9a18b9d81eb382f0f94149eefd855dfa6dd8959faf1aaab5f0bd00f344e44ec45cadcb2f818864b30a7ba5b1488b2bbea6da67e8ce1e7587a653a227aae1f7d4a1099b1542369d7ad3c6d70aebc2a2fb7224ea02a63b484d56d784ca6faeeff72d4bf673cd75d5ae39740e6afa796194aaddd3ffff6bf2ccfc8d361e668db659bb1145304cd088e790801a32a2bb706661334de26fcdbe3101c8c30ce4482d200d80aa350310cb271494ecdde4a029151a9246e550c598dde52f6fc732e662e156d6d646fc78fea7a4c4c5cc13e95278014a27e4aa525d7ae3f1a9e585d0aea4ab14b519608c036ba6847594ac9f36251f56842fc71c290c49e4b183d9c8e84255cb75aac9587c2e8c149ed125134c2ee4328549fb7d7 - -COUNT=37 -L = 2400 -KI = aac617d99e7e9225927b43f36d63a4a8 -IVlen = 64 -IV = 98616c5bddcc19d0 -FixedInputDataByteLen = 51 -FixedInputData = e6220b3fbc03ddf2b7e0d7b3448950a96d4216c978d7795842ebeb06bd1672d119d8604cea6e881dace8a725790d16e633cff9 -KO = e89c056ebc2160fa2f64cddb7d42fe761e57e6063e9f8940f630ea68c2be40c95d0cb2b118c0529514ed0ace0b3f46fd989b5923a654537887739ab6e75e2115109071cf6d3f0deb8252dd26059adfdfe940252a373536f6afd9dcea1906fa4d74813f1e236a62cd5a9f513a8c8ebfba9b0b9cff00aebdfeb97dcda70f40d0e9fe1b1f1ae72ac86833f7994996b573570f381df4024a6f05e00894b0060e0d43f699124a0d3cabb2cb95342b390cc6c7214aae0de2c5e82aa2d7342823ced43b7ded53e608bdf506a6bac04bab41ce16bbf5935f1530a830c4c8532ec410348250d6715804474713fcd85612e47764f3d445c9c171eae405d6a231df072115f4e006e56317e5eb6d5be78717220e23529a80f63b32adb4236614777f3d0dc50d9a2c846a7b3885c7262ed021 - -COUNT=38 -L = 2400 -KI = fb3fb0f1410e7e0f3f95daa17cc6125a -IVlen = 64 -IV = 6c79f33bfe3e37a5 -FixedInputDataByteLen = 51 -FixedInputData = 4a8587bf561c614d6f6a1792e8c2df1a028126437b9f740f60b845e6954b9959e44b8dab2e7915625190e43505cef2fa1b7903 -KO = 07bf4f2595ca93c98e7cc87966ce65e81116f216fc73832e2ec1b7b35ed66050e62b4f3173914aef6cff1caef4b9e8ef917fdd735f79583640c39a4330d437278f456c603e115efe91e07e1b014964ff968a5f2eed6f5a78c2aa3c125cfcd40cd73bd825e6c2c4d6b3d7d8a21390cac41f4cbd845163c9326f65e0f396cc15dca3bf80d17011b3b73f87e2f4a51ee39069e69155c3df6216838880099bbbe7dafc543ca499acf4ab9c23429f043b75daaf500accdde97152a8608902c0bd9d48aaf34af45c0c36170c24c9f71cae8f58ccd9ac952f27ee107c3bff7563cdbd663be649e1cf06afd06f91f555c8af29856e77f8edb02100eb6ce308bf869af397d0f44457bec0258607c8c3ab472c4be2f1aeb8e23af25c02f371c0aa8b7a95cca1b5fdc258d504019dc47df8 - -COUNT=39 -L = 2400 -KI = fe3ddb758badfe977c29985b188a6402 -IVlen = 64 -IV = 43d85f3cc5595216 -FixedInputDataByteLen = 51 -FixedInputData = 0412bdd3d9be838136de63dd55ee55641db1ac75a62a5393e252168f20b8ddb2b026e7775a2de172fbc26337c02cbe2b9b2fc2 -KO = 9e0858640e67180a088e90644363cfab85fa47aab6a2cb8dd64375409be77e6dc6ce55a490ace2ecddf5abda3bdbd6165c266931e99107e444087814e4b0a9de82cdaa4875e387ce28799f9d6d3d8db2860e2d818ff634fd9ca34a1cc8e126a8f89774ad324e89aa2e7487601ec8ee41bce42367009334173b14fbc9367c60feeba62d981d8a0b6299605537317eec7b52451485689e75b8291487f7218829752ea196fbe62f89a6ca0e5175e485f91abd077849fcff27cd4d9056b5d2f33b93bc150dd177fc04ba7bce14d51652dc1923097f49bb6a209c5b22f1bd6775b21a74e170577b876743347d773568b6142424f78174e6c1f24360d68ffd955a01beb5d7769b18259e58f482f6c2bd7f1909ba7c9fa4e9557742884e32165c692f96f29ba7eee581ecb5551d1c38 - -[PRF=CMAC_TDES2] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 7fcd6f8a33420c9a64a3773b8fc9d510 -IVlen = 64 -IV = e6a8485fd2188c0f -FixedInputDataByteLen = 51 -FixedInputData = 1fd892968151ccb443774dc5ca0b5911aff1720e8d215af02b54f76d584acb682f7f42a7d37140991bbf94ed5d77880642e4bb -KO = 61541d6f578d8d57cbd36ec251b7339d056c12eab83fb06221af5b034fb4ce70c12467045a426d1d8450c7a330a5fc74318a898a9b61eaa7c835920498fc24e3 - -COUNT=1 -L = 512 -KI = 7303e40845d792dc10658904f8c9c619 -IVlen = 64 -IV = 62677863278b196e -FixedInputDataByteLen = 51 -FixedInputData = b667083d4fe61840538172322f1f3c0696800cf1eb700c38174ce016b0557e7c1de9b5d63f1da44eb9f337cd2088006e9f3526 -KO = 4bfadebaca6a4063d2523eb589390512f2de711fe454e685b5db9552068b58246c2a97874e0bf3de68015f5b58d77e904ad97c0a06c7eff536afadb55542c12a - -COUNT=2 -L = 512 -KI = 2f249a5e24bcb132e713d68b1d220e5d -IVlen = 64 -IV = ab7e3d9433df5705 -FixedInputDataByteLen = 51 -FixedInputData = 41a2aff0902125ba563562abd9a8076928db4e143a248fff6a221eb246d29cd41ee424e7433484c3db2b56312fac0bb9d9c935 -KO = 6db147072340ef2fd43d976b4c7a42acafd65b63b8680641742e35f84926af3795f277718ba6c86dcc49ace8a954199a700d59313a28e46fa3c58185351990bf - -COUNT=3 -L = 512 -KI = 7d0a3282939ba56899c8f508ec0f4909 -IVlen = 64 -IV = a872671b41fd85bc -FixedInputDataByteLen = 51 -FixedInputData = b2054cc67c65b6b1576780f2309cfe98d5d0d0ca050116b2eda3cfd66f57043511a95831159aaff17079984317c9b3b3837958 -KO = 48a71f5f8445f06002662f9a1b034713b42efe7a13b5d15a332292e0443dcbd2aef889900df98a405972629e7ef2267bc87f6864f85d0d9e412c026d6860e202 - -COUNT=4 -L = 512 -KI = 705b72acc76459ae015b0eeefc26c180 -IVlen = 64 -IV = 19eec8fe56582aaa -FixedInputDataByteLen = 51 -FixedInputData = 65b882eb4ca92de8103f3c104a8ad64dc78694b7e4d16534aea422d9207b1b6c4845192e1e5824e3b1cfc9c635fd4ccd3e6822 -KO = 1da90d0e62b069ef0b19580cf5f82f2f3cc0be5e7d8055e95f070afd6e1aa7cb066b45dbcd623dbf7c1f582b0958c37cdc4723a1049d2ebdc599182e77caf994 - -COUNT=5 -L = 512 -KI = 61c7160e39e89854943b793531e0685a -IVlen = 64 -IV = c75472811b325e45 -FixedInputDataByteLen = 51 -FixedInputData = 35be9b507f9b0c610e02abf9b74d46153605c91d2c0f6ade1f87e2b1ef4a737a720894c3ca929135e6cf3824c47d5caba29a13 -KO = 8d6b397163162c84c191036d22c5f12bdaa8d5f453eddac1e6138851862b539123a9151bca8f08823af8e39adacf332683a7d70f5d8b9179623494f59173e2ee - -COUNT=6 -L = 512 -KI = 591bc83da9e1235933d432832c4957ed -IVlen = 64 -IV = 897067d8daea1406 -FixedInputDataByteLen = 51 -FixedInputData = 795b5bbfb034ca4b9c24ea76295ab00782cf2fc914343f660cd1629ed3685c9dce6df1065fc4a514fe58dddc287f9df5f87a53 -KO = 05c031597211525920e3444637f50ed39fab3c7cd2be0b70e3e35ee6aa76ddcdc927fe22d1d668ae750719252034e9005e7d9bd2fe085e5fd53c3cfa5f18ab40 - -COUNT=7 -L = 512 -KI = 98c29d0d62ad263adf7fd9e2178e991f -IVlen = 64 -IV = 5bce002da152db94 -FixedInputDataByteLen = 51 -FixedInputData = b29a2b706302c5346ae9800f1b7ef0829f2a973a12809d2f9081dec1a9a2a85e9a9f7bb42a650380e7f96e44f9564ad613b38e -KO = 3a876839519c1ec4ff577232441560135a4b74623fd23496d9c328c3ae6e1807cdeb9d34d41513c41d6e79a682b94c80111003b51787536108086a04d28c06aa - -COUNT=8 -L = 512 -KI = 93a0b97ddab7f524f6963fc0fc79c3fc -IVlen = 64 -IV = dd192295e084bdfd -FixedInputDataByteLen = 51 -FixedInputData = fcea2270ef65f9cd36217843451cf6dd677e9b3f8632cf381ad25408a4771c76215abc3421cbbf1111a2b5672d14f2d99cd066 -KO = 8eb8c13331eabb40b91a00b95025dc42eb2aaf73d64ca309e52696d081b21b2c4f3382e6e7f78be82923eb1aab2cee7f64084afb97a4ea91d1deabdf0df190df - -COUNT=9 -L = 512 -KI = 29927bcfe8372fa90d7204a0837e99f9 -IVlen = 64 -IV = 31c7ba9cde2bb60d -FixedInputDataByteLen = 51 -FixedInputData = e7c7ab7b61c964244715f3c16c574788fb99a7739367d02b1102cdc607442e76b478dd1d8e23941f18a1e537b5167c90a7503d -KO = 187f416df0f0c446ed2721bbd21810a413425b4bcd5672371d073018a5d1809f35bb0a636070150912cf9821b430a2335f2081b22f11435f919328655545d5fb - -COUNT=10 -L = 2048 -KI = 34adcd11aba4fd3952806fa721c935a4 -IVlen = 64 -IV = df7cea4af46b87f8 -FixedInputDataByteLen = 51 -FixedInputData = 8948d85118d54b04c7166147381a70d42a7ec42e257d1d2d75fd17279205e5c5e4139050d05d63aa91126b4ebeed2f3353d222 -KO = 23e56a1e44432b5093eb4d901cb6172ce8413efc5320ce74df874ca76a303ab735cacc40e6d04f04304d1883d05e031bb188b3f12fdf6c0bb8b02031fb2e814a67a239197076d84d9d2f93baa58fac1cfb5cb5f418ccc3a844548bc1b336e7f755110c02292984133eda13fb6012ace2ec6715652ba7ed22c182862516b8e639fa0b3e218680e70c3e70ed9f19e99c71513987cfbab43ce8c5bf35205f73c4e089d08189fceba7b55eab5bb8ec9f05de82ae0665dc8e2a209f32bbe333d5fd9d4c803b89783896315a9dd34546107c8a4643d4bfaf6bc915210b0d79a2d49bb34f37543d52d94ce2d5bf14b9ecad16fd400fc0ab036317d4f691a27eb6ad4483 - -COUNT=11 -L = 2048 -KI = 8c3ff4418e92c542c9b911ac474c5c71 -IVlen = 64 -IV = 2cefe4becadaab9c -FixedInputDataByteLen = 51 -FixedInputData = 27199aa999be9743695412cb7b1af5f4cdaad52bccc03e1d979f4de432a9433e409f3895d7e53d50bfac919a18b070a1b17eb0 -KO = 3debb23c9d90a60828eb8e27ea524b5ac3c80a27470a336b184b550da27e2de31924025e862bea701e938fbfcd49444c4928bf52cceae75458e8b3197adc3a4a604d8aee8d6ac1075c91f2baf6a316d01b1b2acd608c61c438635e35ff662afdf6f928dee61fc41000a970d9cfca20a334e65908a02b9bf054d68d9d6478b8540f910e279a77edcbc5c02a5f626540317704e6bdc9f72fcc32b80990978a27841daf546766e80163f438151795010908eb593266dac6c61cd1d737b8a21fa2207c6b0871e2cb4d24ef91f20283fb4b8e91aee1d674f6c54adc9e5a95b1bd14511302d977c8db8cd44081b17b54546965fd91a50c1540692c1ce2b18c89544038 - -COUNT=12 -L = 2048 -KI = ed17ad61e16e3870190153c80649a283 -IVlen = 64 -IV = c49f6f474a409efe -FixedInputDataByteLen = 51 -FixedInputData = f3ff714b22e89dbfb06fd09f7517735f52e4184482ccf3f1b7fab9ec86e364d5c5e8654442929f1f8a466899f987b8ea3ee05f -KO = 96e87f66b83435dedd9fafafbcb66613d87edb0aad04a84af02a947a9e1d5c9630d0e57e8380b6fdc32466f51d2efeed9653dca1a4b11e6116a759224acb4c885551dc99464aec2f27c313b648b6647a261adc88697d66b2e48228a2f13079e042c4c1081fe56894311ccc6b234bd4c0f5c805e20adcdc3c9ac7283d1d4de8d9246b080ccce596624f3cfd4f941b70f46472a616b9f61e9af15dbe99be555e52fddc9fcbe5a65a83c28aece43168c05d578894d497bcb863bcb0bfe5d42f0a4a1b94a6696c3215cc75bc787bbcc1c20df200f4fd57877ebc7ea0aa43a342b9fe2ea88a1939d6a2eab10172d53bc533fb380c0b0db2ffa2a175df1cd4d94e63ba - -COUNT=13 -L = 2048 -KI = 021c0c7c5ab01ee221cee1fa313f55ed -IVlen = 64 -IV = e93166bfa14010f9 -FixedInputDataByteLen = 51 -FixedInputData = 556ce46eedfbb22f432fb74a1578fb9cbbe91e5653cfb52bf999079c27da4377a69430a2a55d1792c44d63aaa848f54937b389 -KO = ad2644362ab6502694bae813562888e9732b223b0a5982521eb10e6f704c820a15ba8b9fccaf0cf38b4966e95c6741d6187509097c917b8498f300ae72890387598203414400f0c90cf9cc8b81fab4cda02f5d7057b42991c329b50fab39222a7e76623a202cf9273011f6aaf17b58a3bf6625fb8cfb3c07fdd5cd04a28aa85823c12af3e7de4ceb8050541a94f210b1ddcfaa73683bd58ce4b837c3937de8a6c5326c3b2dc0f82a6426d4f0a8b62dcbfa21828e98ccf879e392ca9e79628f47fa0e3d19fdefe6c8d7f465246155a4cf5c50324fd0b9452a4809caa498650e8ac7f01e258dc37586821bad5c0af566e0a75ae696809e458988cd529528d7d7b7 - -COUNT=14 -L = 2048 -KI = db78dd74914173cec11ab021c8e20458 -IVlen = 64 -IV = 9baed9f74313dc78 -FixedInputDataByteLen = 51 -FixedInputData = 1ca8ea2f4960880019123d381902ab360c00996298a5f5a29997f8b1d966ac710c28ceaa45da87a8a47daff02270d7ba4ca60e -KO = 175387acbcfe969e440a49cdeb510ca02dbba1f315c6b46d42a0664dff7618a70225bcc511cdf9f2999ed8e44043b137c57ac14dd21d324fde0720a53cdf82fd5886cf7b91843a13af7752028d9dac9b5d31bc4e310020fd1cca2843ee923c0686affca73e89268b5fa9ce850d1cdd29e8d47d859065e3e05df2109ca02225e5bad5f8858d8b5d15a3175b72d8677a37030778ec156555503b47083728ac5722990469acbce3eb6d8f5e2a34df6aa94cd001a38db662129189df88cec5e9299e0e93cc0fdad36457aca4e6145d7b0861d1c398fb743a26ee8f4bd8e399889567fd86e09e3af1bbdd10320fb3eb4db6918cb93596d44158fe61a3f443bdd559a7 - -COUNT=15 -L = 2048 -KI = 51166556e16120704af17d2fb2f0f957 -IVlen = 64 -IV = 1f633dedee648843 -FixedInputDataByteLen = 51 -FixedInputData = 3a602d1749356a91e52b09a6d535d4b9d6047a34a9170ca277b3de9d0e3d41bfa012b95b50267b5131ea5917c785362c7bea0f -KO = 705843cab85112ae798a6003428a6d0e5b7fe1735069b183d808c53fc58616257cbae23f0de1121b54df91061fea7f4c5ec54815121160ba04c2e22fac42776b021c5cfd5a844dc3557114121947e8057d1dcbde5fc1be478777ba7f91b0a2d96501c9e0259814111f9298a3841872adc383ece1da8a39c21545156d2d268f41afb353f50a9e641fd2ea455361132fcbe115a0c88305af0295e3f2b7dbaef3e90c8fb8d1d69428bd918f4eacf9a5e719dcc6f1959fa8f8b5a1ac3de990e5be0ec47b910431ce73f1f318e1c20dae590327f0399a15cd8b519538ae1b429e7bba9355d91900ec577051d40d99d9e9015258076f982dee58a1b42cd3f71a6cd16f - -COUNT=16 -L = 2048 -KI = f20da2ffe63f19dc092ea4a6ac4e2c82 -IVlen = 64 -IV = 28e527fb53127d16 -FixedInputDataByteLen = 51 -FixedInputData = 46bd0884a4c43dbe65a00b070bc99e78a281e6cc446146d52b543d2cde4aaa6785a038a381748407cd7f9b7606f69db8986fd1 -KO = 97dd09702c314f140f6007a0c0edf960ba92371d1d4d03b454e917529271f5edafd81e635cf5f2dc038daf0790393746e3a54d0e582bf4c9c5466284ce9ebab9d28b97a1629286ee1216f6bb137d5644be7315999203e12ce22403e5b7d67b75585c82e9757263ef1db7f9e3446fb6a77716ca9721649bacd254d927f9eb53f9bc19a233a1e62edeffc94244efe3016feaedeb8f30b85a667c72b256119493daf57d7b54acdc1baab07978917c7c3dec0fdf74aac1472daaa9b4e2ff3db91b23596a8aa8536c0a4410f00d4d937cfe050120d4ad48085c9275e3b8b747215186d3fbeebeb477fa92b9fffb2f735c041914402d23247e84a10244174ead69462c - -COUNT=17 -L = 2048 -KI = 7428a635dcc69820a78119a5717e9556 -IVlen = 64 -IV = 5f3228989ad82338 -FixedInputDataByteLen = 51 -FixedInputData = d76965765d5d9bb1cd241d031b8836724bcf868fb8015cea0785eba28a4ffcfe5fb6ba3f9eb63aa20f3f331ac21a3f1d191b3e -KO = 168a5649b34d015f95aaca401abe6e3ddba09b1872be16bf99c48437a7c19cf8e4de60461433a579f729da4a3b99005bd7f7ecce43e8dcf08212988d646de58f1e1a158d5ea18ed55df50f1aeb9d29a328bcaafe7d73649cd196bc8bcf794ae09d6f998946537fbe7d50a0bf509081d04fbba0af2bb40fa7d6974b209fcbd690a0cc2303787122f01fa3b90a0e27b99c5d9c585a974ce1b858a123a7ba8b51193553958125cf7660a08173e5c11b2d00fd33230f3264803eea2790595e2d61e160ca56161b06feec05505fdf6a09deae311c4c3823afe8cd19ab1f70378b0662716009d56fd34357b4061fcd815d2c4372ab998bf6f8c2b51c63ef2ed2da7ceb - -COUNT=18 -L = 2048 -KI = ac9dcfd99a21fc033a073142ec4ad845 -IVlen = 64 -IV = 6000a737a23337f3 -FixedInputDataByteLen = 51 -FixedInputData = f1f92191ae382d091470f16a4be8e6fb439e35c84f53c5731c8067aaa23d8dd08a4b0a6f9deee8558b7f1eb61cdcc72c9e3ea0 -KO = c68a91497cdc523c6a8dbe03fa6cc225931da7ba3ab39cf8784dd7a90633bbfc66cff63501b91e9da3b034d0a18295c1c9504a14cc20033e2911d3905398c9d42a9569798a0ead169a8f08dbaee1cf13ece253fd104efddae4aaa0f6fab63d4d4491a9c49750c4f498b32d67eb6c4e70b758f7508453af02ce1740975aba18193b51ac7cbaee6b1ae6672375c91933f2b6db7f6a209e196b9ef60ca6a0f9711a37b46a5e235f8a07b8c4a869e13cde5129837d234c26583fdd76496715956f19f8c4bdbffc583140bfe6b08c8610671f62d41e78138f6e5ca4dd810b7de5b290ddb067311b636bcc5ca8267c9c5967941b13838521ac772dfb73c52479db6010 - -COUNT=19 -L = 2048 -KI = f8273668d33261f0b2aa0d361a4cb609 -IVlen = 64 -IV = 097aa8280043bcb4 -FixedInputDataByteLen = 51 -FixedInputData = 70b520e001dec6892415ba599ad0f62f18cb386e2d639bdb956ce024ebb1c5ae153d2b40435f1fdadbf691731412954d7ad3a2 -KO = a6a0311ede64cd6caf3fb59aedadb4af5816dc951d99f1ddac7f4375e4b88c57d9157d26057ae15fafdd8d0a6e085d69a58f48f5c1bdd062f88341be60f35d9002088aa6ed87843e11bc4f0aac240334f564d2f74a76cb0fed73ae575f388103fd3eaf78337d569af16533ee4a0624af2281f8dff936cdf632fb5e0d9716399d863746e990b2a1c09b0afc3cdaf3b3dc5185d37f271f61e62fffa3a4d471878c34f8090acbdccf7bb5bcc6da8e4adddd5b022a2c92a05ef840082fa1042683f920cc7a9d25c3311201e7b4587ef6fa178376563c4fa05d4c860e7afe9e0218b36bced641e68b9037aee6c76ab718b95821509b2e767077f54973585dbe81034d - -COUNT=20 -L = 560 -KI = e243f4773d890390f3899bdd1c55d538 -IVlen = 64 -IV = 5e6d3d6ef864ee5e -FixedInputDataByteLen = 51 -FixedInputData = 974df3e15262273265710ea2563fa1f6c5b8c2427240cca0a76bf9d6d803bb487eb400a0b390e3003bf92daf766b47692e113c -KO = 6aac2981d8cf742293d012675a43571b0dce1bffdb87e4505beb15c7e9f1f439aa5c614febe621649d70a08ea2fecac90b76467ecf03d4f3a5886bb1f700e67cec753fae33eb - -COUNT=21 -L = 560 -KI = 1dd959790300f65f07b33afc5ce80521 -IVlen = 64 -IV = 150ae2781a83ce89 -FixedInputDataByteLen = 51 -FixedInputData = fb041e3023ea4d3fe482c77091fc602df96e13fc67eeea39d336fb6f232b5451bfab91a60b0180a964026d899ad859a345e5b0 -KO = 146bd38ab76d7c9eda767bf92f68b660531393103a1f9afe54a0548147cd5f8494f90d9aefb5889e0aef4d9198fb8e9ba25ce266d8ade8d1adb8c2f49391e7880d86768d798c - -COUNT=22 -L = 560 -KI = 9d16cfd1f5749c77f1dd3e56b6866312 -IVlen = 64 -IV = 36310a4c686ee2bb -FixedInputDataByteLen = 51 -FixedInputData = 62a8fedc8cbfb23a6f6e92f7895b7fd74bafbc1f2524bdb139063a38c9f47264e1f78c3fbd15d67b2c92b1ac0bcb95a35baede -KO = 88a09b40e0456db97939d35b433ac104296d08f4917cef1edd89839fa3870f2b150bdceeb275bc60dcf99c4d3360d20cccce52bb4157cfadb662dee16ea18794a4ed7204fd42 - -COUNT=23 -L = 560 -KI = 19a42e537b341a86071b6166db4a5382 -IVlen = 64 -IV = 9e689eb606b39494 -FixedInputDataByteLen = 51 -FixedInputData = 8b52091cfe73625be287b3e88d0fadb4686f2f9697b54f718248248bf04e53e1f49e2464e27811c6290b5cc9e3d5a7ba111dc1 -KO = 8e1f547dce903e8b395801ab5e7cfd90330fcb5becbdba9f1c07787ec8c9462a192d43692a56cc419bc5cbbbc15b229139a09e374e401f6dde964b4069d659b82cf2891aeb33 - -COUNT=24 -L = 560 -KI = 04fb7ca1eb1d676c801405cef238cab7 -IVlen = 64 -IV = a653fd0faa07a416 -FixedInputDataByteLen = 51 -FixedInputData = db4f61bd61abe14fd456ba276fa956c94a587f3626c874f499c1c4f3ee6d1dadb1b1e0e0aa5f4c4a74b331949ebfe3d139a03c -KO = f73d0f1d8b9c75334ca869397ca037e4e194eee9f1fa449733150c3fb34c66e1109063067720ef3a3c2c494087e1af642449d306eeb375ea82358e698a2b837c4b096898810f - -COUNT=25 -L = 560 -KI = 6346e52e2d389e101323fb3f391114e4 -IVlen = 64 -IV = 477741666704fd7d -FixedInputDataByteLen = 51 -FixedInputData = 65f91a59e5cbf6afbe220702a466377fa14cee7dde48f9ee02034df6fab93157369f9fbe41445e957695dc38f41b23b085bc9b -KO = fc12e6b38695ee13ffeee85f4cf2b9a40a5b0f2e4e5715ac9dadc476b25dcd94442c6372f4ab81d9df321945e16b6cb1bbed408a5f108ecb6c292db8ddc2ae9984faf75c4028 - -COUNT=26 -L = 560 -KI = 7923e5cbcd5f923e726c273d086e3971 -IVlen = 64 -IV = 368198770db11315 -FixedInputDataByteLen = 51 -FixedInputData = 397d49ae2e01661f74aab1af1488d3798fd31df8f68eddc2732309aae7de0198d30e198ee4053ae900059c235f415dba45ae03 -KO = 63b3deafa9f6c3e60db3c89551da39468aff48e26807e2d0fdeeba57518ab7cab9dd006571ae5aa72dd3a8a89d9b067810e7217d45b224a5aade0822c5079788795a98ade884 - -COUNT=27 -L = 560 -KI = 137aceff1d4248c9743336450623d8ab -IVlen = 64 -IV = 6bb77776c4dc17a1 -FixedInputDataByteLen = 51 -FixedInputData = 111bc4cd5f70bd0277c1f328835d41d67591ef40d8d2642e60b88daad4113829742e1221287b7eda519fe542264785b34a9dd1 -KO = 00f68aaf4e4952162d017539fc315e0316507ed4cb0778e26bbb525caa0d38de0d3a5d1aa9f4ecb9e74471d09bf4e287988de6388c3a0b54b41528c8196def6c4c1a1bf61eb1 - -COUNT=28 -L = 560 -KI = 2a33397412edc41763c1618eceaded5a -IVlen = 64 -IV = cfb8706b068d3642 -FixedInputDataByteLen = 51 -FixedInputData = 6cb5405e454ea7fac1bc781b2b13b5d6bc77f216d374b21215cec396ef6de006a01335f813c47d4c15d074aac8969ae7e6407b -KO = ebb1ec333954008555daad16418274796f2fd037994da21ed0001c272cdfbb0d05655837751c784ca033c37d02ab15aa4ec649e83d71ee8c6375aceb0d932ac7f196d5e5540f - -COUNT=29 -L = 560 -KI = 306995c5a23f383a41f875ebe8a9a066 -IVlen = 64 -IV = f62f4125fc7645d2 -FixedInputDataByteLen = 51 -FixedInputData = 71e15885fcf6612fdf891c5ca0503d750458cd5e6b270855f19e15255caade87f32f8f177ba8593ddc97bc879c79b8ace0176d -KO = 4a7b4976c0ab5dea11a8c1d20c47bbb6e49aa154057786b8ca7163eb61adf036810cd6eb4e88f8b63717c569b2358a2c5bbf7d1453d6645c5ac52b9238e9fea7e2efbe53d4a1 - -COUNT=30 -L = 2400 -KI = fbc20c7c8aac81348cfc4b4c7158bfeb -IVlen = 64 -IV = d5d3ab16c00f0c5d -FixedInputDataByteLen = 51 -FixedInputData = a77b08789f8ca42d4f21cb43f87158b39f5805c870f14a51d30afc7ab89e902035ef580b5dcb26293f7a168fe8433ac59fb75d -KO = ee4d9b06c20b790ac6dadead777159f5484c5badf72a5d241b916c584fa9b09b1fe0bebd5af10d197f763eec9d23d83d610708c57e5953c34b665cd8aaa1ee68866bac03f2d4639c8f3f4d1d242432d1356fd8c681bb23fec28e6ed504b3f22dc9e6dc857e4ea520bf4b036badf54b9b3b8f479ce51a1fdbf996f33abf5050d75901b259414e0c47985aa042c897759b294bb24fdf5065298238d665015eb645bb73b01bfc74f7d7aa0740530a3e120ff3eccadb6046b4243d9c6e94a5add5f7821d33a64b35c683a0612f07cd09aea45883ed5d18463809397253080dfe792c05af7e3d0984f32560427ecc237c8c248da4edcfe3015ab88e8c97274f88f84fe7f03238500ee77802146cb43d406d66f48c9907e013f08ba7a9317e131d3ee7865ddb38f293dbe0df008a2d - -COUNT=31 -L = 2400 -KI = 84d0ae6c76fc1386237d3de44a46af41 -IVlen = 64 -IV = f41ddca1d155d57f -FixedInputDataByteLen = 51 -FixedInputData = b80baf0193a7e79e9ad9404a4ecfa1824d7222c493a71cca5b5efe33d50e1cc56f36d40ce2f728391d38cee08a73e76e06fe8c -KO = 1ca30de8cf070519bdb9293a23690adc96465b5169dd8756e4df4cea0bd584863d1104063892ce0585ff9f5a9f1eb3a0fa2414018792e4eb8d7f875f236cfda77ecc4579e540e0a52a30b0d851e3a46a13c44413fcca93e0cd78b823b8c8c2bf446aff913f43b7d7c7c9e2e4ca56050127a297169ae55679cf1f4b2f8bff2c830742c480b1a77b4cebbbb7b61917490142a5bf5b81e23f563e019991cd845e533fd474d9564bf4e5159d51c891b2533e682b055ab93fc604a0c82923c3255173fc940c341f25ab9d03da733e3591f512a3b1cf5bc81ce099394d810a188e86c66d5d244efc2a209b4804bae008491e5d04d588061743ca399e33c8312df375c0fa3f2becf3e9a9266ce1a87bd74676c32e6df4c8f2a0081761e9b70c7d64739bee201c45f19db3a4a6e266c2 - -COUNT=32 -L = 2400 -KI = 7087c1b3ec0211cf22216a169d0a0a4d -IVlen = 64 -IV = 72003cf75295e7d2 -FixedInputDataByteLen = 51 -FixedInputData = d90b09838e9feefc9fd7c99ec40e27805ce812f71b7430f2fe004666f15413e13145f0264fabcfd901f827a78f13e24a2f1a23 -KO = 53c5932ca4640f4883e36a5aa138402dfc3e96b70c1dc90eba541c0b3b25fb4549dee527bf9febb760d1fe07963ebde7187c9973371ee46c553b52f9b5b0f138133c37cff0f7e2e7835694c695307c75856c439cd2e8e23af76b07306da287d6f2276423770afe5466289c0fce2d64c928e8afd5481ca9738d4cc71a3cbe0e24a03fa3e65816a3701ab10d6fcb147a0731690d9931f375883453b85e9c281b4a16a73a41159c44c5241c19d81f9a14b24a224b89c7942d1ad2a53cf52c7b8ced6c510f4f9e529d950228f8f5e0a9db06c66f402e60bbb68db452f9629e7d6a4776fe2952e2044362782f7f7184a373963d8eaf06dc90804b643ca65274c5a6faece2a4cc0d27cf7f169276704a63d59c1b3fda25a6ff91f99984b267f85048141e2899fff98fd58c072c2d12 - -COUNT=33 -L = 2400 -KI = d95e70618720c7670b91871be82e640c -IVlen = 64 -IV = 19b15ecf93cd46f6 -FixedInputDataByteLen = 51 -FixedInputData = 31dc0e0301fc01f4aea1e39451b040f0eb8b4b67db938045ab9e404a2192b3537af584dd450c95888bdbb4955eddc8ccf26606 -KO = c9e986201b58d3f7e561aed8b13b1e3af7348bfad4c241727d4ebd50b5c697d73268d5edfdae5f4353da6ab336c61120f6ae3ee9013974a438cca3220e2cf4b2f9ddc64a14a875642ad6c257deea73edebd7f3b2424d5ada93302fd2d74bc0fed34c0de5f84aed712614d5f5b32757bcbcef7f54eb7d7f98f0d154ca61374d21a510a0bd8ecc4fa6a998c9e29ea98a930bd658e9dea4521652f6c8755273709b73dc3fcc10378993b8c1402515f9e854c4284cfb645f9fb5526f867c7616f10c67d9327ee4bc1e6c2d5ecc5719a4d21b0094644cc58838b0348fdf1c7f3d9662130ec5b67a18d19148e7c2492947d22af2f23dbd452d6cd35f8070b6e23f39624bda6bc44544118b75655d4d7915a1c37b73ebe24c7b45a876c46922d3c47b6bb8c80bbc32b15bda14a86f4a - -COUNT=34 -L = 2400 -KI = 29097766303df3bcdf1c0aace551c13e -IVlen = 64 -IV = 476e89cfe0f50912 -FixedInputDataByteLen = 51 -FixedInputData = 46d292a3cba21c3fc0e3c7fa2e9d40a712b589581184140fac9a60f1b6d95522f42e6cd5a347238efdc78131425d43b7681536 -KO = 9a5d50a20a0edb7773cabd1e151784955ab9ce4a1640a049cdd8eeb8d1908b296348fb9caa21982de707d0ef5eb5ed7f572026dffc7ab1dfebfc99a87db7ea687c9977db889a127be97e9d9adf7cad1d2e224072bdde9735999b1bb40890df58fcd5335e090d315b5ee270af786d8c9a6b392be65cd330db93802bcb89ba5c6195e8763bb8080841baf86978f81b9c7edc6b414b7cf1606cd01bd95c14397116e2edef0d80dc92a46a074a1b5329f91030d5966ec68345bfe44ee530a712eace053237f7ad871587d3a1fb159767d3d6ad82b82314307c373ea2cc9602d9f38a5b0be9831b9c2cc90a64a6530d60c4a0367ae20970e9c59aa6805c43d20b2df580addd13b28c4dabe6eed1d0973a8a2e8e378d5e3b5c753f7598422baed0e76276044d9a4b722b625c05d5ed - -COUNT=35 -L = 2400 -KI = a823e5e83609dd26eb471b1e8bc626cb -IVlen = 64 -IV = 15f4bea459f88351 -FixedInputDataByteLen = 51 -FixedInputData = f508f5526765c4dee3a74e390a7bb93310889b8a2ebcbf512864b5e7f06cc0bb95d1cfd8f7b849cfc226fbf949d23a76dccabc -KO = b9292e45442a5446197311afdb86f37752099dcc37b9c7d0b962be016a30a4885b2be833f307e0be41548f69ed7c4b4f2af5db4d1c96748ee1ec33ce2d78d6121667b85c3854b61dbb7c18ab6e5ac871678d295b83c5926971ba1278d72253a484f750c9632e0de8761508fe274d733d52d599fcd963ff19d703a0c0f0c5c51ad6cbc378d05c74211175cb3dbbee5f40d6321873ed37dc2d08a9861c4f8fdaf5689db426a5a53e9f7df878f186d6a30277029d6da4863366feb43b102c6f2ba58e85b9c7d4f8bb0d2306cb2f6b8eddada27c254f603e169fb9490b8d1b007cf46b7cdb28691b04b44780d68f28ccc1340f19e84a1d4428d3d0f6cd8d1e72ba9a0540817045643cfc3bfeee96e226bfa3139895b2392189bbf1d8d39156cc6a50afb2427a7f2ae9bdada40d23 - -COUNT=36 -L = 2400 -KI = 1a6f1c10c01aad264f25acd010ce8d47 -IVlen = 64 -IV = 06df0b1f51e74c4c -FixedInputDataByteLen = 51 -FixedInputData = bf2752277465e067d78c78c12046505d6243e8ee2b4fbd3e254004e4e430f91dac2d8e1d63cd05df30587a020783402c8b8128 -KO = 60a37d87c3c6995053738b00addb121ec3123ed95424d4c134f16a54ef1c2e478eca1f552c8d2dc872b151f54841e7387bc895672537de55f4f052c1a7c88f6003564ffbebdbd45cb91b2666650e617dc86d636c298336915a1b439f0f44da7d3e10b2952040dfb7868ae2f71b65272e5158245255746fb7e5dfe7f203243d85e91c73957ba18727c324de0c936954287bf7f3e727d1ee75d239727330270bfde4175314edd7dcf93a9e984e6e40e7775604bb023ed5d2849863d8a142dec23069c4f678efcecaca2ca18d01d6a77ec1b40270fb5f9ad9819791271e3690d567ce3305e90e222e33010c048f8f1fdcd9ef8c8997e694ee52c5c53d838eef9402ef83cb42c38cf7e6f8146587ada7018f455674434bd7dab594bbb185e1b0b7fb465280482838edb4bd7f0f42 - -COUNT=37 -L = 2400 -KI = 034f712c3bc653fd0b412c7b6844724d -IVlen = 64 -IV = 7803cea997d743d5 -FixedInputDataByteLen = 51 -FixedInputData = 71dea7510b038df994abd4ed775d0b4a5bbbce05ef09add0366bbefa6f1f8991f948fac82ed981f1a7302e6bb4463d9f16c212 -KO = 8c8a685862332f1fdeaef256bfabe68fc7c8b1cb68146742e23c364647de66e560eee162dd8b6202776b5609d33e3697333a03f22b296e0fb69092a2ea6d8c488f39efb83324df5368e88d647012d3655e4d9845fea4a0b9288bed6ffa1a2680b278bbef279f5dec4ea6e2ce7a88e2cd0f0d860a55e280d5c59dfff16ae897cfea01d68e69d36f8c8cc8a135fdbe7cdf0e499e97e77bf00a075c0aff4c068480dbeacf4253ca7b62d8ab64fefd77dd03165a9d5818c3f3daa15fd9aa4675741439132cba624e25299ba3a024afcc5ec9854703a5f3bdceb73e2e418b367a504e163b3864a506aad6f4946c1de210668ecdc2a7e897f3e31aa1e33faa0b0688828fb59ee691761f6de1929b987ae675ad6c1dfab5fc4e4ab786191cc967ae91caba73e5c1d2c9d9c805e799a9 - -COUNT=38 -L = 2400 -KI = 7009aa3ed964711131bbb4c5af1a3cde -IVlen = 64 -IV = b8339ffe2cf09eaf -FixedInputDataByteLen = 51 -FixedInputData = cc9d184ff177b90de6efd281a5185d96600b5e9ab95f401f23a64485562a2825bba7485759e2f207831b2f2227365fd2f5e62a -KO = 1147bc6426ff0d5a201e82f30c5b6026e7672da55939970f5231966db77d47a385ea1c32b346169fb15ac3b22a860547929a97963bd05fe4422c64f4e700f54240511efc261e71cb835c708ed3f2f5a79699e9fd16bcd5c924247135f88e7d8947e1793b7ef960e93cd86c2c655f43377c77c474f8f57ce373df9eb476a40f57b84145eaaa680d94c1193ccfc02a549fe886a20772c444ba2285d65570370f651b4d87acd252a24f2f5d202b449db1f7a574a4426b3dcc0b666fc07c21997b4b3a7614905da8cca0cf4207b0f14b65aef56f90e7c5543be475faf2c97d106c06f17a3656252792fa24868ea80372de4976765a294960e2e9199440e0939102c38cb06951ff5d8e34d8ae4491efba553692f0a5fada454376874e9242f491afd4299e263762df903524f4c541 - -COUNT=39 -L = 2400 -KI = 94efa4c12b39c2ce92871f2a439107d3 -IVlen = 64 -IV = 5387f1cfc9fe12f7 -FixedInputDataByteLen = 51 -FixedInputData = 7e505596b92d5ac754c5b2dfe77b89bfa08bfabe3f41c23e1e2eda3343737e4adb27c652129949006e60c620af0d2417141d3d -KO = 87bf476c2c4e1e941bc10d8433bda5c3356e1a2af7c30a90d8e03e19ac66c2579091f782146cf2a95a4a92d2ac8f5f498819c4dff9419429ff9b4d0c547271fd73d2d1213d66e632edcc1d069fbbe037d9c7e6bbc6925da0564161416e5e5ec6d8ba8e8c86d1f0b2143a6465f302ff62d8c4dc53db67bf57e27cb72b9c3aa3d7f607a346462ebbb9b6c20cc9ec69ee5a7d89d1203864d9fbd0513f87082653a3f6f7e6ac8b2c0acd274c326c1bf77ec5229c01b54f4073b2fbf0ab7d2cc4ccfd9e21aa8e6bc6bfacc6b5e3da42959bc8f15618c6de708824b0767ac910f44d26352253d9909f29cd26c26b551bc620e455264661387e6e5fe37f0afdab84a77817c6adea8e7f690223b44bccb1923bc1ed2983bd8526a61a6bce20d196f951b1eddce2ce510e225a7f94bc93 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = eb91a42c31be2517202eacb77f75a296 -IVlen = 64 -IV = 300fd0568bd3c083 -FixedInputDataByteLen = 51 -FixedInputData = e9a5d406f24c47d3b7f128f9edd448024d2c98d69027420c58fba523c7c5e52f0904b11f621ceecbdc4c5f8e19ffb0af1a9188 -KO = e3c71d6a680e3170675fb0883971c5d417006c028acce7a4b56e0874f53037882cd9c63746be1b38482aacfc8ed1657322d67089d5c66e51a1eae0402cb7280b - -COUNT=1 -L = 512 -KI = e11c6e6410d54eab264ed9ff34d38f14 -IVlen = 64 -IV = 19b0db61adf115ec -FixedInputDataByteLen = 51 -FixedInputData = 3472078e9ac6eb4348989a4ed3a57d4af28ce348f7efc0f3da78420a4e34eaa8920590ecdbf79a4a87c076829c62f7c215876e -KO = 562022b252b27fe1e64a031633539c422b8403094ac00bf419c2dd002cda12cf80fd1df9cc2399943a5316374fbe1cc54e1e2b306316de03269624bb77348b4f - -COUNT=2 -L = 512 -KI = 2fa1e93de93e42be6f5f3aa66bba5c73 -IVlen = 64 -IV = cb83722ea7d1b414 -FixedInputDataByteLen = 51 -FixedInputData = b6d521b110f1a28a344a5961daca49588a4d17ea1df3cf077b4733575aef241c5db1dd4d4df8f7ade4d4950570b454a5af59c2 -KO = 74c870ae40227350a70d6260347d8ff9bbbabddd10de108c6b689c427057324696be9ccc565fe8896d05adf9c095e885b1f2578a6a8eaaf87f084f8505557b35 - -COUNT=3 -L = 512 -KI = ab85913a77f26779606c77c0227b57f5 -IVlen = 64 -IV = 36c779b406f6408c -FixedInputDataByteLen = 51 -FixedInputData = 9c807a710a7f3b61ab2f412716d2de465e7001d6ccbff79e56c39164f92db968bad6173ddbd4be995e14366cbb50becca75333 -KO = 089473168e050281052a4a3fe02b10bd315d49eddfb37dc2ae33f5946da0323ef3332f0d1525e24a0a6620a7bd55444d464529539f06cee72e6b2e6293fff2bf - -COUNT=4 -L = 512 -KI = 7fb88297cca04f3747fc2d2e20ecb249 -IVlen = 64 -IV = 9d0265a0063a2561 -FixedInputDataByteLen = 51 -FixedInputData = 18781938fe478556cafd395bf7ca17a913d4ea8292483c8e5b4596c30f1efd02b21cbb50adc352c1c030a329a1999b32a8d65f -KO = 9db2de074a59c940c59f6ffe578f003c2d7e1a5470ebaf4964c16d36890d8e9968c07964b4317d3e3464aac0ae77618f5fd5617e60488e545004ab2a3c7130fe - -COUNT=5 -L = 512 -KI = 5adf65edb01f4cc7483d718acc32cf15 -IVlen = 64 -IV = 4a3949c6d9d3a602 -FixedInputDataByteLen = 51 -FixedInputData = 4b0e44f7b43aedef99dfd6b2c024bb5cc833283334fdf72845d1a39e877b4d87b7b5e79ea564f7a967a268db757045878c935b -KO = 44d2c7e13de8963043695c9fbf795988ac64f72f6a3d2c9336d2157bd2f37a2cfe09038ae0818d8464a93b883119bfcee1c951f821977ec069e1080141422ca0 - -COUNT=6 -L = 512 -KI = 2a56c1e662e008d3921ff4592e803aef -IVlen = 64 -IV = d527ffbe0f4ff13d -FixedInputDataByteLen = 51 -FixedInputData = a608c0e688f208305ce4ced67b24d7fcf220eb1dfd816dde3fc0275a3f1c5b2615d7bbad8424186b126e4697729221fd763ec1 -KO = 69c5f4cc483f03f73de23f466151a63b5df47636730b17a169a6cd91b4f101e28128b505800c914045900766389b426249cbf2b0f721943e1a9f92b1463f5642 - -COUNT=7 -L = 512 -KI = 838569f373329e5c63d4be06b101c404 -IVlen = 64 -IV = e890b486a21fb777 -FixedInputDataByteLen = 51 -FixedInputData = 599e9c74ac9fba9d693d72cfa415bd67fe87dbd1e05be252f5e3315aa19aea7b5cf725072c1e54e85941323fb297427a78adaa -KO = 1ac85b777c3972dc101bf0fe37113548388d684f7b606f152684cbdc16615afd003aa60b267562df9d643fb2d5f9c5fd428e9b63b14ba458f4047c66439f1eac - -COUNT=8 -L = 512 -KI = 058e8613c56c1e2502fef087d201229a -IVlen = 64 -IV = b31f762f2e87743e -FixedInputDataByteLen = 51 -FixedInputData = 1ebf5cfc5165f690bddb9fce5c0721bf3845e35d5f0afd67972dfce8f31a6f92f0e33e08fe53869a76b9c2d7d1749ac70616e9 -KO = 7245aa23743afdf8b6110e2e1bc558f2b9766f12cd3a32cd0cf4c57a3a951c4e45d0f218612c6c14a122fd12959c5a0be58b8a1769d78008d47cb38802355763 - -COUNT=9 -L = 512 -KI = 35ac0440f7927dd2df648ee3d38eae3a -IVlen = 64 -IV = 1d5cc403b8becb0c -FixedInputDataByteLen = 51 -FixedInputData = b1d53685066360751dab2763049d534f31b5ed10b6a2470f92a458fa3535475247e8aa3bc2a9a07ded591cadbc2f2bf3b75b94 -KO = a3022044aa804cc448870a0b97f1261ed9bb0a47733d979adc05b15c236e1b6874c609641c396cdfadfe905eb6be11c4cff47e5a30e8fe361d1177f71887b1c8 - -COUNT=10 -L = 2048 -KI = cf27b8712bbbd8f0679d65433467e29b -IVlen = 64 -IV = 24efdfd8223183c4 -FixedInputDataByteLen = 51 -FixedInputData = a9e7866a5262f05bfa6736b533bb01bcc430aa93371d9dbd5fce019f906b874e68b0732a7bc4c164cb06a0ae43d4a5f0b81ea4 -KO = 7f6be3d376ff0f6631102a9129da1dba87b3f99dddd3c6016daeb995cef404e0b839d0614b5d7a5a9468948d8e2f03869df9b8afca19d5067f6d0bea43bc599e5e86778b681a68049a4e2d3dcc1358e7334c1bbfba252400e94445afdde229483a51b4b494778a275c26a2e89812ae7fe3210e906273424f145d756142325d908705d165cfdad020933d17f9925e4e21709c1e144cbea4f4de1fb475242818b7ff1f6bf20dfbee423e485579fa802c4dd9560342984e020d6e480160ae2373fad40c9c83a6fa9dcf18ac00d2b60e952d94daac0b95443f96ac3658fe6b46f3c1e07d16a861b0208b4e11cb6c31cb4dd77218bcfbb73549d1092fd4220ae9f1e7 - -COUNT=11 -L = 2048 -KI = 59149896f88e66c1fecae741a31693e6 -IVlen = 64 -IV = a8e43b3e17a2bf7b -FixedInputDataByteLen = 51 -FixedInputData = 46c5d246608e13b2a1aa1b6237108adde7465e9362549142448cf1b4ce6b26c8e5fd4cbe56cad58ae58f35e50be69f246de35b -KO = 9823eca72eb8ed3b369e4cbeac93d5207250b4067e5a68976a954dddc1de60da421a5f2fd3e9167203e71159b23f9010ff6f2e74f0202d38af233e33a91539e0b5aa944420a5e4d4fcbd0b153ff179dd3e3edcbea4cadb790e33581a893dabe99c93df2e6d4530bb39a088d8452e65d3bf2573a49cbb0589903d0d1f756f865c2619aa6c66ddd6506c0f80566be54ad6a742a470e2d59afcce5cfb2491e9f48e13d8d950665c73283326cb8cc34a077da34ca57c719065dd1a3c775a25b871a0a8d92394a45e5a90ba8060e63dc3ac35a69404d950c81ac5e1a943f670fb71124b0efac550127fe5fabcf259a4596843f69d7ac6b471ac40baa2775b121b50b0 - -COUNT=12 -L = 2048 -KI = bcc2f30836c6c9e59f06390de858459b -IVlen = 64 -IV = 49b6fd5afe29b1b6 -FixedInputDataByteLen = 51 -FixedInputData = df1e0d5f20a710bfa4e546c71169925285871b4c265ec1305b8b0d7a2f84072927f7ccc2a7881f739c8455fcd846bed7789831 -KO = ba8263846993bc2a5f9565cfe50e60d91b0474be363fd3f960dd9891ad370ccd051214b3c56dbab18d2b28af135a723d5a98bce1105cc91e1af6d612320c0d707b6313e2b9823f337b94836131afaf067412da89dcc74ee8cdef296e70d49090cc51d0b3eabd1b9c5d4fc73ee024c0f6739711b188ab7adc09a923d77ca79563516eabe42af5a165d2d6966acadab60816cf4f6caf524ab95eb553394bbeaec1c7d4788f23ecaf17f1da45c8c1746724f15f5363ba3ac4f0fae813bbe459bd2f5aa17e6b429c93149012d8c5d193dbc800ed6f6f24f83e36b41839fa2db42cfefc233400bb6407ab003b8791895c911440713dd5774c87d2fecbf5be144e8f5d - -COUNT=13 -L = 2048 -KI = 51dcf2bcf98e34a1476acaa73c456323 -IVlen = 64 -IV = a5eae67428723752 -FixedInputDataByteLen = 51 -FixedInputData = 306dba8cc43c1478bad929aa099c1a82bca2c2af187af780749b1c92d501e36c8a877c850be6a193c2f709c01c756739658af9 -KO = ed49df59ac0e868fdcf885c7c0694b63962a4eaad01a8d1a3bc4a7ce6a0c030b68e13cb8d9453779ba51f682c9269db8541918113e2aee01df4796404fca7684824136e56117dc781ade916cab4cf419df08bd6637403ccd30e3068d9d81c0fec254af77327a0d493bc53721808c5205ed8862b6c683f119630cd69d47512059ea23d843843a4bf95943869d7add0d49c3b6798e7fdd657785a45ae7e3f2975e7b8b1f246de3f09fdc745d963e059aec278875e0f53d0f45181fad54ac8bcc07acdd4e73ca22f01f4b4a52eb639f02a4980d2eecea215cea530db66e63d0981633be908f1aa25c69f57e7ac86794d6dd3cb7d8164c90f16d8b6f39e781062fe2 - -COUNT=14 -L = 2048 -KI = fe644d74e2245e73a7a941b8e639a315 -IVlen = 64 -IV = 32a2cb382eb4502d -FixedInputDataByteLen = 51 -FixedInputData = 15a21ec914cdba04677eeed8131e40d006b5792a0162abde5629f5ad2c716349ee87baf7bb56dc6c0f8c7659e55f1e86e781b7 -KO = 394d3ebb527db771c66f05d43149fe12c0166adc548ac191391bef1faf77e61ea3f609d9694710d7a9684b384faa8575b9e92a81be14c40d14efaf9f4100cccdaf42524ca65d8ba11aca68b0adc6bac1404d9c0dac4b388bf1d3b069bdfb2ab524a17e3d85366d54c547ba98e4a4e24fd3a43d57f163ae42b8ce71631e6f37ff1df3af77d4b70e44b6e8a37eec464248212444a2d1b6b6277926dc59cc32dacb1045997b4720ad54d3cf6b062ea7ebc396fc08eef7b4cabdd38d10e39ca91ee87b37172dc4cb96f6939c3d7f24a8a9a26f165386d63d70346427905d82875f8c1c135d7ac91a5fc8f47df05343e1d1ef0ed5db3665397f67c27ebd46caa3731d - -COUNT=15 -L = 2048 -KI = 393fa0e647354ef85cefc0c57dcaa8ce -IVlen = 64 -IV = d173bd50c70ad135 -FixedInputDataByteLen = 51 -FixedInputData = 99f80f57842c545eca2c38f1e3124ea20767656fc4c875247418d4b07082deb4acd875e9df4a04d21db271d546838bfe34e089 -KO = b6e6573301e4a8094d389c52c5f9859452af5dc8836f59a393e6845c8cda9e5da61f21bd76f699813ab723a2120859cef226641a61a9ae2cd0f84b3469456f6845e776075be4601550b6b3d761c4d4e199d037caccc00e4339c20563784858b64ab98c4ef80633457ba0194b761b8d27c9708638c2375ef58ebf02840d0ac44a559be76c542efa25bcc0b5a601fe86109e5fafa0b1f5b92f979b35d5740cf9fe96403bdb94a2fbb8dfe01030e4072934d190ba573eb77a48df7bcd8b5f63fd53c3a9190e3efd4746cda265f38fec66a516ae1db79d22bea82ab2201a0a79e6e2064e7e72e917e0dc693824a450dd601d05a9a372656286a4d1b6b2b562f9fe3e - -COUNT=16 -L = 2048 -KI = efa3d74daf7e16b837dc6962acc5796f -IVlen = 64 -IV = 579722d8b703fac7 -FixedInputDataByteLen = 51 -FixedInputData = 3aaa2cb4ad4d325e9bedf4d1a2906cf1a62e7744ea4e510cafc8e07dabf53231d4e7ec2a00e6228a43d2e8263ff1fb0f6027ee -KO = 73a337283e20dad123136ab7607a0db8049ab7241b1d260fbc576948db64312dc1292fa6dec775151cad3782a385ca92d5d89aa00cd2520d1a455fd0863f82be2e8f5b8d965ce910cf94a6fb80b14aa1c8e7f478d1b2f0f9143cdb5c391a68fc7861d052a160a3e23c70481b3cf59a448bf0d9bf7a1730b9290e933c23610839c5c2017628be97b0a1520b7e4fff648d8b4c6920743a39053e611a7944b366c76b3d8b45f435b380ecd5d1a8d554e0ca6d18ccfe661ff66a572b226e002a63f0f280855f2023bf9e0cf12a8568d23afef27e6d7bce395a53fd7e6c670bc8f536edd813ac694817b376009124beaad8bef50e05c2e71640da7f20a214d737b4a3 - -COUNT=17 -L = 2048 -KI = 686fcabc3776d356daa5c6c55760a601 -IVlen = 64 -IV = 57d7bdaa915c996c -FixedInputDataByteLen = 51 -FixedInputData = d2604430fb741bdbb4372039abd52862ee8f5c46fe88415eb5afaf5ded4802961f86a246f1e9af80f83377d5cf29303b3de620 -KO = a437ed65130bdb4c57a37e29d393c79f31572553023dbae72e5e85fdafb97b491c168b37bb180e62fe9494df6115040284b2b03281ebbaa1aef70a5cada55dd6ac6e1c11c10c8eea326031c7c56ace72b92c04902bc7b2ac08b06119be463a96f0646fe60fb403d7c26b1c9b4ecb856f7ace10ba993b02fda7866a7798f2a8fbe3b9310b1443380dc4cdcf7b531c1603b91594940ef121d3cddec8e3ca209126170dde7d1566a5ea3d3e2abe1a668a8eb122f42898125a8a752e30feab1e40f577c59f23c5b047d0565894ec5cc9f4c1da76e33986d5738745ca94294aa4d5c974927b70f0d7426a7a8c7e3077f2a5be5e4d3d5c7637c70e56a6c75e2f292f48 - -COUNT=18 -L = 2048 -KI = 74ab190eada4322167c7bc8e8817cf19 -IVlen = 64 -IV = d42e69d35e3a407d -FixedInputDataByteLen = 51 -FixedInputData = 4978bd4e65b4de860d05ecc71dcef0517a43beb9affb3aeda899de3a751dfb1f94b3b496f5d5500f7ba1ba23c3a8a1425b44f9 -KO = 8a9dad8c29721a0a7ff0649f0c04fd450574ad7e108043f75c0f13a48f1e6d17c8d5ea9ee435d5885bea8dc5fe0b70fe60e6e2d9abbfbd574de509bb71524d0dfd11cbc2013c2b69ed50a3c2d3f64d781ed1362ff29649146497767364adf7c57f62d83b0e02e964524e1151926130b41d2713e4faa197a6b48f913da1cfb09b2ac4966dd8ea36669157013958acd820723b40650965432b7febd4c44f923922c1c7adbb0ae39d90cfb24c0a19f45a477919fab2ab116cde06af69035a4a557305af51a3aea3b33b3668d82c00017fb2033dd2ae0913ad334a78102ae2669babfd7a5c7d6c42693fc480e2ef70a9267d531d5c479deb72d17c90baade75eb89b - -COUNT=19 -L = 2048 -KI = fa39759f0872d2c4eebcedf5eb9f1c1c -IVlen = 64 -IV = e245177ee57bdfc3 -FixedInputDataByteLen = 51 -FixedInputData = da7fc5007a6b1ed1b87c600dc7ecf7438f21a7d1ca75d705de2294f6955e1d8472f81b7009f441207242719965700e0968a3c5 -KO = 097c9679e0e4b266bee3053ae48bb5a0b3163303a19cc7d56af9415ae0fa781895fda8a02bf31763687e1c4e4eed2afe08d83c96321d396fbef722b06cfd57c14493c531013a271cf48b10eb62ead3503a953cba162a600c525d0158608537cc4662bd16731c214d345468255154215329f56569706f7c0a1be070192ba6e267f8c832c96f92530f4aa79e44eda8d4eb845fbb62f69c27cc6b2335d1bfb8f8268ab4b75ee7a34480920e0d7ec073e881f467401db5508b300a9ca79dfb80c670708b2603e93cb5d625bc6dc26b287dcf974c72c80ed9e6881eb3fc4dfbbfaaa433439f7df39d78257a64fe194384e6a38f996e3acdb169db8409870cc6282c6a - -COUNT=20 -L = 560 -KI = f2f4b7b262b7888da3993b0f266f74e3 -IVlen = 64 -IV = 88e2dbce633c7c67 -FixedInputDataByteLen = 51 -FixedInputData = d9778dcadbca0f2f5fbd02884845d2a9111405d6094e5b2b6bc3eaf52a0fb53052cc6077832f0f473033b59678238b91005326 -KO = 532b23d5815f95133960c5df3f076c0d591118dff784e21ce716894f03bdf99c91ca725d14a2ededde4b359241da9c711743cb7b55c7fa1a42993e5d1edfc83639c993a9e503 - -COUNT=21 -L = 560 -KI = 573bb113a626096179acdf4647f8f9fd -IVlen = 64 -IV = 019a67382c4080eb -FixedInputDataByteLen = 51 -FixedInputData = 1a3dc23a0912b3d27b67ebfe532ad9568dd9fd1cef3c5e756e8d8364733867cf5bf42697ce0b4940b2479b1dc60708344e22f2 -KO = a80b8843c84ec335fb33a3ba52f3785181f9496ec2b1a1d9c2db8f45ed424b44f6c813a92b30eb26e49249d6fbbc46efc96b05c1c1ca33770f526a8efa546885f090a38203ab - -COUNT=22 -L = 560 -KI = 77b954ca46cda8e2aad0c737ef5c38d7 -IVlen = 64 -IV = c3c73417f0dbf617 -FixedInputDataByteLen = 51 -FixedInputData = eded3da028a87c5a3c554abfc1953b95d8834f05525b85d80de02fb43727364ce9a21306d4ea660c0c340df96aa541c12adb6f -KO = d1e65bd6aa0d96a2c979340f6af184e8dfa9b288b8aba62e514a2d1c09f7bbfc131cb2f8f9973641e19463b8bf5502f6a4df20f48589eb888f0852dd30062c35e96eef32c775 - -COUNT=23 -L = 560 -KI = c67fcdcd94620853dbc8edf60d909d06 -IVlen = 64 -IV = feef4cb8e9b8a9f6 -FixedInputDataByteLen = 51 -FixedInputData = 9461801c84a30477e0cde67282668eae4c293bf1d7e5eb115c9377b7e27e9a4fafb5e678d1f7e05134bb10643e1865ec66e5bf -KO = 14dfe83c7c0f574d66ca3bde46ba6dae9138cd77504370f8332cb11391a5ff5203f0cc5ac85efbcae5779c8abcadb7348abd0fb5c7a197149da9767ac03795c47fa1177f218a - -COUNT=24 -L = 560 -KI = 5e06e3887ae2f6d0e82201504b65dd6b -IVlen = 64 -IV = da8764530a14bdea -FixedInputDataByteLen = 51 -FixedInputData = d2fadbe4fa6799ff87a8eccc30805875a970e58fc6fc62ac7bc3d577210a32966a4000a7e717a127a4130aee85d6625b781cd9 -KO = 50e0b8c2aea002f0fc0894285a7ca20315e4287077bdc4f91c4cb9e3a480c9519e4a54d77e3fa97e9666666d1136af51556efe7aedca327bd56d95a857967723ff731c05c33c - -COUNT=25 -L = 560 -KI = 5e2b3e55307d1ca83fc4d251211bd11f -IVlen = 64 -IV = cae62aabcbea2eab -FixedInputDataByteLen = 51 -FixedInputData = 85b498b776da7218b3150111558327dceb29c365fa3262814af7a0b1a3103f48700702bb6427c9fdfd9c13d53b9a6505531070 -KO = f70627058c4e34a468c929a9303b96f4509b776bb758bee67f8233bef86b58f92eaf56ce22b2db9655ac2e0749d3ee439234c3aa5ced185fcd6e0f9219768c6e8adb6b513f13 - -COUNT=26 -L = 560 -KI = fe1bbbeadb489aaa06da75d0a00de7ce -IVlen = 64 -IV = 461aa7289b334622 -FixedInputDataByteLen = 51 -FixedInputData = 88b237409630eddf774eb19ecb6ba4c45c6f1e5622750165866e50dab7407a349ba7445a23b1ad5d8f338b9f811b94753819bc -KO = b8acbc39a59c22781a8992103282d408074201b53ee0e6d5a9be19b6345df40244d88d15963e7ff281096df9f9991470f1a837dd6268a75f6b04ade8a8e536e1bc50fa5f3459 - -COUNT=27 -L = 560 -KI = 362ad548b5c49493e4922b664925a363 -IVlen = 64 -IV = f5b3451de1bc6d08 -FixedInputDataByteLen = 51 -FixedInputData = 0fe0fab883e905f125818f541ff2d106ef596797660efd5a59d3246eef89e2a4106a7f81823d913e0a3b29aac8321f1a00b085 -KO = f79cf867b6e31cdc0c31c9007cb2c232446ed6630a28847e4ccd097db79ccfc7fc6a73fb9d1f7bd575f5fbd3336f35ead1198902fcb7b89d179c0c87ca74a33754ab3639890e - -COUNT=28 -L = 560 -KI = 7ec5488fc73c8727919e96780646abef -IVlen = 64 -IV = a49b9d597fdb315c -FixedInputDataByteLen = 51 -FixedInputData = 538c77d2ac5a698f33931e235642907419d80e1a3fe13ea9ff17d14223ece3852844b7059a0bcc0c2fffc8b84aec947bd50ef5 -KO = 01525f3e0c197fba27d2870f239efb46d734f0aaabdc2cc91eb3aa084371048fa9a1e035156a1c472117344fe86545978019ac8077c540b11da6eff22d6159c9c10b7368b83e - -COUNT=29 -L = 560 -KI = 3011880c5702093c22d58cce37e32b24 -IVlen = 64 -IV = ed81b0c99971ef62 -FixedInputDataByteLen = 51 -FixedInputData = 8f71de9cdd65434cca0e21935450fd05d30fc7cde739259b91d480858e60a5b17ba8f91bce775c5f2ffb1e0c1f8264a70137df -KO = ee0566b1dfb0bf25c5c7a669e815277df0ac12aa377a54ef745e5c07e0fc8eca6d36a57bf7fe0cd2af41902a718691c921b0dab3c3c274126945e43f1f9d286960de1f5d6181 - -COUNT=30 -L = 2400 -KI = f3440a7cb7908da8c998bf9f907bb331 -IVlen = 64 -IV = fb3ef3f0e4dad15c -FixedInputDataByteLen = 51 -FixedInputData = a72809dec02457b4b66d3554a0a847067cdb525753836fd1e67ba3e47d2ab3a86b1b858ad1542b994ede9f5f1bcca0648925a9 -KO = d8bbd4db5274183f5120ef1ba05f4ec011f6e62f446e298b933d3a48880369243e6f0ba23d1a259b162565a01e27aa50c6a86f6e180407e0951a3f07b1133c9a0aa682bf43c5fe55685649dd3fd89e195a2fe592bfdfbf66f4d0f3eedd5c8e72fb8e58a0378e969bb445db59764c25a642a9d0e978200d9cedd6de0fe70f545545309ff35a754a36de56bc0e1c198d5135d7552dd9bb12fe81d5e853c25c8fc8d1f71b1a7acacd8f38ccb17ac31d5c171af2878691ac40487fe87c8bded578d62d318bea297f5e19c16db1163b088574723d8fc75e14764efc78d8d9dbd71159c461acd79160b372c04b014d0ed65df2045301be33fcf3a1d0661cf06aedc144ec74deea811b22789abae15c6f7ab698947bd731c75ff43235307274f449303af6f99bb254a8a587ee0bdf53 - -COUNT=31 -L = 2400 -KI = ac3c69e341c4f584874c47ade5fa758c -IVlen = 64 -IV = 5f610837c7498a3e -FixedInputDataByteLen = 51 -FixedInputData = 19cdac7bba9b275d7c2cc7ca4ba298a9a3a6052a54a814bda702071e6b9f912f292aaeb22022ee732bd7edb98cef3fe87f7e0b -KO = 46f4fe6c3a3e054a6b35dea40f74f98c960dfd8e7426098c4d345a463952f45c993063f088377505e1b57efe6a0810399cc0780933a3444891e3c7fb929718e9c63b646dc4593da8a8b2efe056bc153bde45d2462e5ffd6b446b00ef664371d0551a4cfaf4820ef038a0ffe4be17437b5119d95426e151cf517fd4d18520758dbec1ce2b6f79b1be46fe88f549306221ee8cdab5acb5ced9c725a428d687984d94ae8bf11ed210a5910a8f528a524c07c81c7fdfff43d0b1c815bd44977bc90a64b24899d277a079a4768b0e3b4d41eb795de6aa1206ad27f94e3b477c0dd47f84abe2a6ad1572fb2ec6ab1eb9c76433d4f28b8b2a0df4dd1138a81e9b619988012a77916419528c510cdc4e3eb650c76896d0289df57affebd1c1f051e8bfad9000dbd2c7a8c6cef81af4d3 - -COUNT=32 -L = 2400 -KI = 7311e3e9fd7847cdd3572c81ce608cd1 -IVlen = 64 -IV = e660dc0d266e3afd -FixedInputDataByteLen = 51 -FixedInputData = 0144192caa37dab368de3344a3f575dce18e25f54a3e7bfb5bf6f353a36e72f9beb09870540cb57081ec2f5c75415ed7713f87 -KO = 43ed47f699c70fd2c7279a47a660e301f7cc624871d99fdf0e408d907900ddc7b12e86074807aa1688dd8e3421d1f05e9ae049eb1b37d1208f478f58c7dfb11d0dcd6bd60d3b2e8e7757683fc80021c168eb7a84c8e70350760843db23d20110e05d5cba6f3fe65daf6f16e2f13590b381311b52828525cc43cca42a0f4db6849b44f6a263f19ca36fa2fafc30324133c7bfaf39aab1956b0b6c17bb3947a39bfe2c031e8e09681f5a4441df036249afaeb730490af50716f8f9edce5fd253a7fffe962a7efad9dcbd855bed2e492617f24069cd24284901a7013da3ce37d02ec76b42040b3d9598fd20e44c5dbe113f65996b14014cfcfd823b6556b19eac5c6a8933b4c175debbe5c587cda554ff6b4ab54f119ec8da4e1d3aaf1982c1ab0b565eb03f7244dba3b8c331ac - -COUNT=33 -L = 2400 -KI = ec240f68119f2fb87e277663abed8c7b -IVlen = 64 -IV = 6452f4fb7abcacc4 -FixedInputDataByteLen = 51 -FixedInputData = 18b8d69674b4992687c47562d75ec8bc40eea07ea999377143420e04798adf25b883a7e582e6281e16ddf4838a50470b4cfbaf -KO = 9d914d9ba0bbee5cdcb4602e2ab8fd6f7cc61d012339b1c833c152124877c87dc11827beaae21e6194ef7c929dbc72eedd4ef3cba757e46d9a759540def495759d1c6db05e84acd223811c29f155edf31e834eea7a206095c8f903b422afa81f7acd555dfad5d328da6f885f0064a0e2f0021d4606b56c8d8417f6c8e1e974e34760f908667998b359fdf4bc52f65effbfe27ef499845405d56430038f66c71c6e9d61d0dbd6baa3fb28ab9feca1fa6bf264b5de192124188c7a7e7f489bd6689e2356e0be29daaca1c4893e902b71167164b382a95a7fd0268eb31f98b46c0915f7c2f3ab70095b3c76b2bc7f31a820c3f8998ac74096f21d8ec93306885109dc948e04f55492a80ec0126f150c46d557892f916e877d2b5751732d527d186f34175208737c391d282af168 - -COUNT=34 -L = 2400 -KI = d6bbc1ce7f02354837b1b8dca03eb68b -IVlen = 64 -IV = d2159daeaa024c6e -FixedInputDataByteLen = 51 -FixedInputData = 5b4f80b90c8df08d4a63fd61f5273d7a1064191b125ee9efa17c75531f6e6a87b28ef4f1cb82ca89afbd5231485d4cd9e79745 -KO = bcd361b7b254d94137a111eda380022a928f10d4f7b702cd067d87c03f903376443050016f93ca7347a25bd966eaabbbe6baf0e648d800ecacc46a6b4ca6e5fab0e846a5294f34676b3070a6729bee9d34dc0226e4cc75d4accfbcea45edf7baacef9924acf026666e0deadfda50885d67826bfbcdf448199a27b672e0e591aa8fb9485e83ed38f58c85eb6e9181a374b03bdff67d9e6c69b5438ed722e7ce59bd3b5b9022747d1c45ff55a7e88fd6740c3546c762b80b3afdeb5cae47fe8292d5b6222610ea29b2ef64998e3588bf10b1ec8d308a27588f88ffb16ce3a9d303f7da1433ee3106ab25a1b39eaedd3cc072713f9f67e58a69fd57af05bfaa3789390811bb3f6f003d35b1d4b60270ca33a6b2c6297b6351d123267725c361726563087d6963ba46f12fa60fba - -COUNT=35 -L = 2400 -KI = a57859733334473f32b447930f8adf11 -IVlen = 64 -IV = 1ec4c40e22efe094 -FixedInputDataByteLen = 51 -FixedInputData = ca29c3a025a8b06e5cb107cae290e1f59028297945dd526256bddb7b846f0d123646609c28abf0c7161e9a86c213daecbadfe1 -KO = fd976d4724d87eee2ec6db971226cf02b19bc035e5ad38d2a3fe417ad0d1315aa2f439835ef4da851a130dab141d1a0e7a7c4ba4b42772c3f34b163857492f1dc7f38c637e1e8ed6dd6168d34c837b46dcfbbff95ec8decb0de55284e858bf27a6e970332a9102494c9028ac70820bb92c567cab8129547333075527d0a76493cdff9d4de20801e3bea5336b7962e6f7be73179a564d8785d48086521ccd0512f8dff02ae06e90ea13d0b91c90385c3da889866a2e454e66445107951e8833473a3c74e28f60c991982bbbd2f5bf32b9fe1b52e313f616a65040a6b6d391ec1072850c03809296fbab259afc429c68773aab1674882caf90a235c58484570c8691097337a92197e8f6de00b6ed82a1e5ccbd7907a2a0d8ccc3b724fea4dced52de55e5ab8b4cde62fcf9673e - -COUNT=36 -L = 2400 -KI = 814e0bb65b034e4d8ea7534ae486a503 -IVlen = 64 -IV = 0a9a49b96bc2d1f3 -FixedInputDataByteLen = 51 -FixedInputData = 395405037983282d4633e38bd2127bf95c2953c2a23061dfc9357cd1ea3e73060d22a8466d7cc953ece9b08bd755f4176615cb -KO = 6c416b2576e02b958b084073352001ea1a4b25da4c159f1d834635fd6471396e728fba76926884ff8216d1ef3d2856dc7ceea73cd896201ebbc48a734200d60a72967f49bc1ee174b0a45c1f2dfb63860e339b9ade74d58014f2c9f353346ce783741ae6eececa0a649d1fa44d603cf220c19e19dd06347f60d5e63fe4fc2993a20d4c4b9b0f381c458279eb52194f1233e27cbc9daf9b6552a1b306c139447dee68edbb0e115d864c127148b2306095012a2cd29b043a433037d26428ac1562d0b1b51ce4419293603ca8abac92f2ff603b9e92b058c2d06e3f15bf36ebcd3d47593fb139dec7e8c1029892fe845fedaa8fabe13034680f929a3c7375627bf01c6f6c7c1c45c1348ae7332ace4b942412bd682397134efa1650eb72ee2ed744ab23273626fcba22f202d43d - -COUNT=37 -L = 2400 -KI = 0c139beb46219162eeed8333d562bf26 -IVlen = 64 -IV = b6b6ed3a7880a090 -FixedInputDataByteLen = 51 -FixedInputData = bb8ce0052a54cb0ab55b0ce8a4cf150e5ca68f0b6da23de7f856a51928df94e37490ee21893d66dbedfe9a75118597963211f3 -KO = 5ecb700a06c230a78ed700c5f3fb522282013433bf7df21d7deafd6fe2037a2322d0045b280b6d08db4253c25fa6a92186c37d612081d088aed720c610aca3ef0e20e1edfce7319b88ce16567e761afa23b78b751b1474635846c082da28c3da09980695c5573f646b4e3ee9ab7b6f9395d7feee67428159194ab6907256b50694c62aa20a2877c156066df8e4ccaa265026446a54f246bb71204be3b64cd8adab3c5548fae3ac7fb5848ef0c7e6c792257bd4ad2464b54dd4009e59f533e2e29bd8ed33376f265df70aa9ac6244bd38910910f3c49d866b277a28a2a22a8b75d22d9ad65acae97716a22fc50800b552dfe38bb0c1468aec1857be25f3985cc033509d495dbcd3f137aac5830d77370b86f57247805b2d29ce5718344a616df9989f2c1d769764aa7d25e5d3 - -COUNT=38 -L = 2400 -KI = 5c0954db5aaa2fb50506975104868808 -IVlen = 64 -IV = 7e88e4607ab7cc14 -FixedInputDataByteLen = 51 -FixedInputData = c7ae54805566247c997224c8c3786f58a7bc93024b6c7bb11def58f6a86477b747a1949284e80c6f13e1f4fc0c6d9ded72f217 -KO = 18b1bbe9f01384a62e53a75eb391aca6bab6c8d883cbdf24d0a51d49a3ae69b65b07d51febbe25495ac510a18d40f08a38b5e27a5e1de112a6d8b93bdae42c8d9977cad57462ab84469923df29f2c2e6324d612083851422e9b00cbac2facf6630912951700fe9c7e8df5b3949321628d9a2030d1463c4306882f51ed522e8e596bb88a9cea505ba110a34200ffb8fe423b27c3cac0ec46e719378c62f0ac27614053b10c36abc6ff0f1f7d2450608aed92666fa2f7974ba6efd03110dd2daf1d41e88a62eb7c4dae1b0f6cb61bd58cfff5367bf0c903e60f0f048b626a965c61f3915e6e9af0c6e3b72c6d74dd028f7b83a87965624b53d9ac01e8f82d47c5882c9e9bf7c2f7a38a2786ce93a4a6cc2caaf8a658fcdcb6c0adbda05213cfc780e68a686222ba7f8f4159132 - -COUNT=39 -L = 2400 -KI = 839e41e3d911f1e883d9fd1075d4998e -IVlen = 64 -IV = a565ee43c47037bb -FixedInputDataByteLen = 51 -FixedInputData = 446fc104117a842a32d588bd8e5fe398fbd0594125e7df27553fd2c0721575575b194b8f146daed74eec1be9c430afe347cfa5 -KO = 736c2279eee1c04aa31059c98976c6945c42bf11572e452d20013c890092f4ee316f4ed1b6575851f56bdee4be2634407628cdc63fa3db8a250e134d6c4797f3df996952cac7f2d295d179883a20f6472109b56e9858f32cfe77fa90123936e82dfce4633239779b071a83f968d2efddb3b81d98f7a7516020ecb407ef94d858618f972fa51b46c7e41147fcd26a5bb3285dc539834a1594e7ed5db56ddd07c15556b369e6696c34315ff48567f40dbcf5f24ea51678894a3b10b6b15246332afb8061f1f454a7ce8f6e3e75cc2a28793ac6359903e4a8fd3c943a6d5a42d88fcac82d221da83a315ef27f086d67d741c3710a55fe4bb35863aaef5a694897c6aef223ff4d536fe2c9493dce3a86f3bef9535936692bbda2765549a801ac8fc3a715cba717de77d562332134 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 35990986e1f0e065f1560a1571bb3121 -IVlen = 64 -IV = dce86da901ff4e8a -FixedInputDataByteLen = 51 -FixedInputData = 50c1719d47c75c583a491e92424c1ff4723494d62167e13066eed4aa68ef410174a7c281c08ab117e865f1f8a1215c4fbfd297 -KO = 08d0ad7c04f088a5d319228ff228c46cf53b35e181b4fa74c0e89b99a2fd846a513b99e293485dec5d91455cf8a3e486de1b20b8037545cb958c66d6cb1349d0 - -COUNT=1 -L = 512 -KI = 312614dcc82f4f364d6410ee5fb870b8 -IVlen = 64 -IV = 55d390eb5a252067 -FixedInputDataByteLen = 51 -FixedInputData = ab538df95648287ed5672520a878025acd1e98c00f00c7691e99a20fb38668b538ddd0293c027f2e0e89307b151bf12c6fda9d -KO = b1cb0943ae9f7205676c7d7da49ae71c516e663d787ac059590a4e8818be14f4e2459c7cdabdf28d0459b3a2625b67dfb11bb6f4317eb3fa5bd8eb1ded517423 - -COUNT=2 -L = 512 -KI = 968a096ca688a6f48306c77082feeb67 -IVlen = 64 -IV = b15de08aacf4bb53 -FixedInputDataByteLen = 51 -FixedInputData = b6456142c9d405c1c89390bef52d97eca8ded2cd9bd62e912f535985cf934dc7665ce4d91b66110f74384e54dd955d2a4bab3a -KO = 7c9c4387ced8cebfa4f9a07a2b3cf26fdf6e1599d97313cd67c25c598873fe7c03cb452986836c8377e0a57a5baf2ed2322706ba69871f476549901cdbe7ab75 - -COUNT=3 -L = 512 -KI = df6435e32effc92a33bdda188bd48cf6 -IVlen = 64 -IV = 9abcd13a6b63f0c2 -FixedInputDataByteLen = 51 -FixedInputData = d6da06217a1452f5cecb8d8f11659a3f47d055016d29086395ede68a17ac7e5266695a1590ee34f7e0bd98601ddc0454ebf665 -KO = 511b57b3bcc9dd851dad80c1aac009229a6ec60c8e19740e5432540819cc6eefa6e848551954750aa686016b80b53fd1f5c745b97d58273006865d406af69037 - -COUNT=4 -L = 512 -KI = 4063fa4cba1c626f2254ba0c048da018 -IVlen = 64 -IV = 2f203498fcab4acc -FixedInputDataByteLen = 51 -FixedInputData = dcf271871013cf4b455437e30f9b4ecdef537c68702936156dee8ac22fc43006c15fde36356badc37a09d91a45b3794743742a -KO = 3e50b0cb6dac7d1fb75095da66ee897e374f019b2d3fbfb4ea8605e0ce252be6d44f429ef90569e2fb72f321de05aadb07b4c7086369026751064a7fd30f7d8b - -COUNT=5 -L = 512 -KI = 92547ff37f71400eadd2f500af7ffbe1 -IVlen = 64 -IV = d36b8af8bbe7ccdc -FixedInputDataByteLen = 51 -FixedInputData = 4e71db44e5f7b1622ae5c26947a11aea9de71c5af1329d09cc27264d7d3aa68d69bf92e536cd9fd12d4fabb512cbe72e986681 -KO = dfd3c20ba01ea57510f4ef910cf3375aa2c7d2badec2294834a02393784d1a4969f9a07b9ad6cf44b890085ac0f79287351c84867a4b9247b26dd6cd6237d4b5 - -COUNT=6 -L = 512 -KI = 246dbad15d870215b8577eb850c80e78 -IVlen = 64 -IV = 7d6556e6dd524cfc -FixedInputDataByteLen = 51 -FixedInputData = 60c4877972de6d5e3e8ca4151b6465caf3c1ebaca78a701db6084bffc6b97ea20a9fe456c9ee6c3b26e1adc58853905d93225c -KO = 27411c15e9a7d5ef26ee962776f6026840729bd166bf75d091af6277fdd03e7f753a0debcb7dcc90a9cd4bdad177fdcb4d70a4edd7f73672c4b5747b7b2a1ef8 - -COUNT=7 -L = 512 -KI = 7316282f305a3e73446e083c20ec6116 -IVlen = 64 -IV = 5d54f9accf3d1a03 -FixedInputDataByteLen = 51 -FixedInputData = 5a989b761daf9bb9a36fce36d61e003fc99728a8bc4f10b47e36b1a92e89ed2efa18cd6f955b01ba052ce5a360520ddb69fea7 -KO = 541b5fb35d7df62362c6e75a0961d6128a6f7d6eef1f2071438eeb5895b30f3f5c5557f9f48bbd2b3b2d508256ed77448905d279275d07da11fd30c3363b0747 - -COUNT=8 -L = 512 -KI = 492965961e67f041487091bab88e5bc8 -IVlen = 64 -IV = 5d2bb91cbdccc2e7 -FixedInputDataByteLen = 51 -FixedInputData = 6043a1e47b55d24e88f47a8e291b648ca0f11080ae650ceef948d3da27e63bdb6ddaa88c6785a01304afdba421b18386fd2822 -KO = c53627ff825bce965fa7cfc275a2fdfb3b4e70c2f8dd27d9edbbe3fa83def7c6c3715c3597ef5a61fb6f9af4e55c377a7a2d6980fc8b3b22a6be22662a8035ed - -COUNT=9 -L = 512 -KI = 828a6a2103293e6e16dcb0fdbe5ccb32 -IVlen = 64 -IV = 35f87a79ce56c9ac -FixedInputDataByteLen = 51 -FixedInputData = 57294942cf68deab0055dccc32244ab41a393cd20a6683ce001d6e97e9930b29f83326d4f34781e9f6fa80e92f3da389439cc3 -KO = 8772026b040d12d239076f8f842826597bf3a527970d6c0ca0e828bd3b0e8e98ef943690be26f4f50a4a2f1f3361f05cdede975ecaac84c00556d35865fd8b79 - -COUNT=10 -L = 2048 -KI = 6176bd1cc2254c48a0e7f7faef6319fd -IVlen = 64 -IV = 9a6eea3202ec7214 -FixedInputDataByteLen = 51 -FixedInputData = d5e0182b84dbb71b7510b837126db1023d93eae65b8047d817ade3c5c7af6369392b96c31f478a02e22ae5e9e37965d703528c -KO = a2dc9723e9369d9c3ebbe9f27fe6861427692f94d7e1bca432569bce28020240424c5b18f733a97983417435b86b1112d0ef398ff306a2bed7d12cc0a02a410e421df65f4651f0ffea208b5e6ac290a641fae4cef64cf16b031efc607ef6902cde5fe6e3721b0fc2b354b7fc231330acbcf17ecf1aff49ac4a20008ba3d1d851662d9004a98d4e6d1f4cd683314fd5d05d75befdba8aca93df041166a2fa538d08dd73d78b8b45a2fa368dba5103554b6346ed535147d34c5ff83dd9483f057423ac66bbacfc43334a7f54951b6fbed240ff49ab67c39fe0e807ec41a2ac6b62b8b78fefceb91609f97786fe97b5665f223d9f96a897dd819423b73b1a63a005 - -COUNT=11 -L = 2048 -KI = 5294d7ee0a58ffb36f5e2a4663b70ea4 -IVlen = 64 -IV = 4015a0c01bed5f34 -FixedInputDataByteLen = 51 -FixedInputData = 4473717c6239335a9ac1c565c7db2433f68cd883a96f6e88dc105a8435f0666764da78c90b6b1f06dbb5e6a5882c14c409dd8d -KO = 2ba5e80c2c2d1705618aaa51168ca1802d9ec7d2214bd969819df4668570831f7330bf61a30d18583b5977cbd4dae191e4ba48484f900fabbc1ecacb712b332e5036759a8d74fc9ba0191e39178521ed7b1b62c6452758eac439cdd3696c2c63f6b59c48f46d68fffc81ed8d6d500c2227db4090b1fa6e4884144eb339828c9d9972f92ad76f2423bccc430a3ec896a88a10c81e10ebf29bab9e0687b3cada49d76cc3f7c3edb4165094714696a672a0da5d6207bd888e06342a1c70d4f5a6fd6824a1d81f67bb5421ecdd7c813a759a8b419f799b75470dabad47f4f9393aa911fed23a188f74a5bd44325138a8292819eac9a17561384f94b21e97d67630d2 - -COUNT=12 -L = 2048 -KI = d1762cf431cc1dcd4c3aad1f62ec0e8c -IVlen = 64 -IV = c6c1397e8c0d6c5f -FixedInputDataByteLen = 51 -FixedInputData = 42fc30ee4c5cb6cb440a9e23cda20f123c2fe91a41c149d113e924d57b6bc06ca39fb9ef2b87b4a769f2c1b582ed40c1ccd7c3 -KO = 21d9695428ee4a3903f319f09983ce570897725137699b218f2d59c1fa956bed52f8479a97b7c551784db22dd0658c30f584dd13953ec89659efb48b1f3cb9a40db7ac4b4321f0db46e264ccbf7b99e3e9d8a45ab959b955cf211efda8d6923d5fa30b4c046cbfc768baf8283b5520062341d647889c1eb558310690522f0c85d427bec7cf32bc710c6c558e7a4b54021ecb8d3c142061eb73d0e80d0df3f6a72a79b46620ce1d00d70f1a0d60c57ddead19d3a5ca5a4407e526353814df81904d5aa00a934619fe80f9baa4ebc593d0cffd0cec4dc6c2e04ecaea3f43e43a87c0a5f420ef96c867c0d28b3f1647947cf1ba4822703e97a5ef6857de1603e3b8 - -COUNT=13 -L = 2048 -KI = da357e9819cf62449e3a4d771df88670 -IVlen = 64 -IV = ec5a117080114bb5 -FixedInputDataByteLen = 51 -FixedInputData = 981db7557f1b00c722e0938076f8db14f5687d7b7dcd0b108db05bf33ebc99b1caac6195799965b0e1ae29b37ca9f0a4a382e0 -KO = 50e268ca3a88161c6a5192cb697e711c42b330a00ede945293a2feef9010975c9428164b0f6165d4791922dc5843051d2eda7971805f26b43a9c90950545d782f09f08150ede0bf2f757cc1e4fdded2a8a2118005f86dc6195c7a453033e4dc758cd69e552a81f46f85feda9b64fcfe215bd5211b48968ec8f18c13a210d1e66c17764eb33384f6929d52b724adb60bc392cd2be89ca6a0a4d222a0ede23cbb9b7ee50cd8cdda88c24575b2db84e1728811271a75cf774b3ffa71760006acd8fca4ba5cc11232915be3b3a1621ac7bc5451498356142ea4581a92d82f731c4411a2610d75da051f374ffe644314c855e7d4d7ebc37a31cb74a0dd811a1ea7664 - -COUNT=14 -L = 2048 -KI = 1408ff9e5d3350a781df91a5ca6eaa56 -IVlen = 64 -IV = 726095e5d003e14d -FixedInputDataByteLen = 51 -FixedInputData = 33dca9722fd5af8843b1ace4f50bba85a473fb09ea64adadf8ca1a2ede91feb54770c4cc0f90021d3df9b7d2d752b553e0db93 -KO = 29ed5ba90938c4b677b869cffae07a28f14e820183a8bac186bd6023bf8ba8b7a4f1cf24712ed95b13a85c8451243bd4fab86e624802be49bfcfb891564fe2472c695d1e6644c6a1dd548015221832f8c7af0c38d30f7a712fcf1e0bb805b723f00b43c65bc4250734caad654cd80b6e89eea84d9973f3449a2789a78883942bcad19c3a4a8a6a40171a6277daf79c70fda85020c8518ca5e5132a2b67673efaed589bb12106498bbd311f55c2db92e21d68c645a59e560bd5bab975249f25ee64bc8e8a8f46c89e3c07cb7ed2138e35ab0b46b765be9807c5b4259d9620735dec5c9fe208c2f7b1a05e0a671b9f5fa6cce8f18884c55a8246e958e30a2123ba - -COUNT=15 -L = 2048 -KI = 04e64ccf9300f660f22edf0a53adb14b -IVlen = 64 -IV = 4d8b1cc24075d227 -FixedInputDataByteLen = 51 -FixedInputData = c53bb770d2c954f8bef789c904828106f3b968ee9130f120a8b13a471d58fe55c38c8d4d8420d7f6d8f4b0e5a71c794d156cbe -KO = 272c73da90972180a779d55587872e9d3a61ae0a9cbdf34bc63d05bd50d644dd6e7482dfe9a46a7402c0fe08f2ddc1ecbe6dc3e5d47c0232b80afcf33e8ff35b6ab99d34a6b7ff9955eea2966b7d554bcc3ce33c080c7dad8217ff18be06bc5b9f246d2ba7c0f725e8d0be4c8b70482276d95bb3f4580cba71de4768b1580de7c0d8a95703ec9ada207804d6fd662b957c8819bdef64293c60553c80c59aae5a39a94351fc759a55c8b24022424744fac7b41a8df41d19d6edc09452d1feba70c4a29babd21948271289a2909bf38129339846cb75d3250a21a4035dd093ab5bca97e05ad12faa06e7d16be18a6b88ea21cba1bf430d2ce83c87979b5d9cb29c - -COUNT=16 -L = 2048 -KI = b5e3a87cdef8bdfc45d6c24fb8c30963 -IVlen = 64 -IV = 9fc414046987b3ea -FixedInputDataByteLen = 51 -FixedInputData = fe88243abd6da227209b353661c9a277e4273137940a68292e82e344dfdd62f9c4f5bff4b9074d3c2e2c0870eb665f966d25a1 -KO = d38b471bd4e32644b0899a30b738cc3daef977628f3f03776518055d287793476783928d8f9e8828941bd031d8815ca88a3f39477aac5832206ccf03645d2bbdcd88f2b1c0008b1d144f27182dd59b4a5bad3f88c4eb6bdc4dff498cd4a1c22bceb578325990dbc093bdfebe54b673b3f8961e5ec2148d363f8fdaa995e4bcb674ece96c9faeb995e952dfed41f491de727ab307f7068587e78250bb4cc193dd202094de202a7620b46dcc24c8240dba3967e5bbebef2c7004536aff338137d1b5a8c05cb1fc1ba675363d8cc604e293fbde13b7ed35e83c9b4b2bbc1c168e4dca8c9f1813fff7f364d26cb9b0b51586cdb65161f17f510c069635e8b9f54743 - -COUNT=17 -L = 2048 -KI = 183d65a1ce5fcc8022e36461f17f7422 -IVlen = 64 -IV = 3dd8bb810f43ad9a -FixedInputDataByteLen = 51 -FixedInputData = 38fc4e42624f175cabda4fe9ba04562ac501f748128f509ce5ff5f0156a720a6e85621d7c7010bfbd8d6533ed31124944619ac -KO = 7d42b7690d6cea8b577a042253e9cc96f7e9b40ff1e1bbb52d3163f363874ccd7d935403757d9d1eaa91251c4ee64ad3c4944e21ce7ee6dab37db7350a219ea37250627b494dca78cab74a734ef0e5a24c6f11ba8ba8e78a0dc3c63dea4d71d312f945a65cb4b4db1b19fba1e38910af991014e91c6fa62890f67a8ee1e6d012c1f101db2573b73ff8301693c0952f472e5a9ee32edbe48515cb381271caf52625eb3adc04f0956a7ef404d460e6c9264a7f1a86c604f94286bb3bc44c69fa8d43b0698fddf2def93b8dfd23de53e221e48dc26dac55ddd0c63d4c3b67841cacb229eac7e4d15847fcdf3dc7c9501bc1958e70cc224a748c2445e7247e051216 - -COUNT=18 -L = 2048 -KI = 45046bab22f98f25499293bfa3d1fab6 -IVlen = 64 -IV = 41e73065fbe6d27a -FixedInputDataByteLen = 51 -FixedInputData = 11080f6ec516e5c197d6edf1218678ee33b26ab2e75573a4c33759d5cdb6d50277892bda6630171bb67aaa15fa1743d7a8ea99 -KO = 6d97b0c803d2902b824ff0c02a55b2998fa6173747be3137cb783676dc17aa2104835329198b9e490bfaa1574bf95acf814164a9c3ed760604f8f37af62e2b22870589941e387030a58700592e149b4b3ebbeb5b6d469e76d6130d0b694a564abcfdf22ff3640a15a377a0a5fb2c956136b58b844e420f79a07ac7c4a879c16e6203e7d3cda02e00621c66e30f987df3dee6e016d27f9d4e262105856b660a421138c857e182fc9b5d917753d2c740a53cc78992faa6ca9c3983a0f0912775c6ecc1284ce9652e357213b7656ffb762ea73314b64739968a863ff1f3843d73082ebc0039c81cc646f620c7a65092a5f6d761783166230a4c2b68639ef2a9421c - -COUNT=19 -L = 2048 -KI = 80cf88e6b1d9479e455c011c36396f83 -IVlen = 64 -IV = 29a51008bf3bb419 -FixedInputDataByteLen = 51 -FixedInputData = 537e8898d727164b24692b938bdd80f2e7d87f217975e963637772912ce73094946651ab506e4b2fac6233e10bd879f073c1cd -KO = e5bc44ad8301fa182e24653f8e59c4d0f20e43e1ac856bab77b86dc3f5ee6fec64833b56e2d5e4920bd24c6fc4c64335c37881b707166b2f5985229b72ce02d376763ca812fd0649b05649da31e1c40104c9c2bc49a98d21621ad879f76af82628535bb72b6a43996dbc8b15187f95aabf22cecac2ae3437837aa9e13204027fe73aeae8f5e4021420a3613624773e36d96aa7cac9119a3d2bfe962ce2b1a8c1c0edccb5204da404885bc3abd6420e4b10a892fc00504d05a8710e04e9d114958cdb6f57667d3253891492f266a4b6aefa30fbff54730440ca82ce57b2e6a6f608b4f335fc429c6ae9029a7f8f72dc21cd1d0bc23162182d3ab6521486a7e464 - -COUNT=20 -L = 560 -KI = e6cfb2c55fdefdb031f7acf4a627caa0 -IVlen = 64 -IV = a7533970f8a24c3a -FixedInputDataByteLen = 51 -FixedInputData = 207b197dd42c91c997755ecb24b827b1a016f79bfb2d95966670ed30274d3affa95fe001ad04b946e5458c1db28569c2487b6d -KO = 3c5b4ef03a6b9621d5ac0df2910d1227ee3a0452ceb485c162ecc1edf21abc71038273fe44daac87ce00a96fac612d5bc33b90c362afde3c4f278e8a518bf0d489e2d8da6976 - -COUNT=21 -L = 560 -KI = 188724382b63c09ca84c44a7f48c35ac -IVlen = 64 -IV = 12a2a4db87dec16b -FixedInputDataByteLen = 51 -FixedInputData = caef4d3cced844bd57b7a6ba773b1883f6b438e6268e561b7374c4a0b9466c2b9f6e56fff6f1bb056c350b87ae0085995b03db -KO = 40239cd31620390f8ed3c322bd589e90563344689d243ba5cd5970f1f3cc922ebfa51cd8505fd88d435ca53a9e756a030a6136d754d9d632c56b506ae2e84a6cbd5bf4bab111 - -COUNT=22 -L = 560 -KI = 609567cb57248e923f2519609113d528 -IVlen = 64 -IV = f2a241739e5b6d93 -FixedInputDataByteLen = 51 -FixedInputData = 191288f50b00298b6111ad6a1c71a201ad6714b0fc72cc34407cf43d340c25529d4fecc97fe9c365b9ac73acd50919c808fc33 -KO = 1d744cfb1db0e8df8e50a6101d82bd447f1a66b362b08eaa3ff621e7bc1b037936aec9b9a5f3fbfe6bd0e976c5035146030c3845e0e6a90e99525811fa83657839c74da0f8d6 - -COUNT=23 -L = 560 -KI = 032662bae859acc8f3a7f6da4bbc7775 -IVlen = 64 -IV = 1a8df6a912793a97 -FixedInputDataByteLen = 51 -FixedInputData = 80447c7df247937317671a6d78c9df7166ed963ca733da7798c31c784bf6ecfa7af467fa4779ff281a87e7189f1703bb18bf3b -KO = de78030d2eb6cb778d398d4814288b47107fcdead283c62aaf57bb910b5cdd986f08f0efa6dfef7aaa773af275dc19d4c9c071970aef44ca80708dfdc310e8673d1400afac59 - -COUNT=24 -L = 560 -KI = 2790da61fb16ecbae71759e97fc9c1b9 -IVlen = 64 -IV = 588c093c2c0b6d02 -FixedInputDataByteLen = 51 -FixedInputData = 0850f7d5884dd759c0fc2819a04650639452b06292e624317dd93ebdb9d8a57883bed6041971b12bebee694aed9413fb588a68 -KO = 92a6d98405bc2608d630849044e3ad4e57b98e9e65904870249ecb76eeadfe813c9dc3e7223986bcd4d57842980a837e6cb8d19f23a4fff2ebac6f115b289a7c00d593c48734 - -COUNT=25 -L = 560 -KI = 0b8153f7265a456f4b36f689a733cae0 -IVlen = 64 -IV = 112b336a602e694c -FixedInputDataByteLen = 51 -FixedInputData = 333369294cf2f987e40e60c9369b1b022fab2e1b1247240403ad1ec6b0c68f521b8db9b83dbe3546945477759ea1ff1c3a35a6 -KO = 44fcb51fbc9ea0a128942eeaf4b33934531829ef590fa678c0fb82d60528eb973c8c2652c4595b7e9cb86c64fa23e707ff05a0528f8a0cf698c8782fe1013187ff1ea22491c6 - -COUNT=26 -L = 560 -KI = 3fcc0cb073f8c31fa2016c746c496386 -IVlen = 64 -IV = 9b3cb347dbe33686 -FixedInputDataByteLen = 51 -FixedInputData = 02f312da06c0230557e5296adef06a62e10c07a1c38c9946b956edcad0a47e2acd8e2f838e1ca575a8b40ded15bfadcc1c0157 -KO = f73f625b6daa96add9dc15b052505ea641a4f8b830ab08ee4bfacf44fe44a9495b262cac0cd3f1b4bd7b8762c5372977cdcbb10a5a0a2b3625e2bf0bc2b235e1b3a1d16973a5 - -COUNT=27 -L = 560 -KI = 6f2ef9577feb3c66d2ccc3c0c9059416 -IVlen = 64 -IV = 5b883acf715254d3 -FixedInputDataByteLen = 51 -FixedInputData = 8ae847f3b9ada1f6755cbc677667de9e12021f5cedcdd57528b2df7eecf3cd677b8c6c57f609d8b0d0775fc6a78f73f675e85e -KO = cf08775136aa8e14b8e0a06a8608ca14cd69a9f32c1cfef93a53f708c66487492940b285abda23fda7e90a42f8a9d356c7b2511194e3d60a1bec1af24fe40ae968e710ba5772 - -COUNT=28 -L = 560 -KI = 364daf91b4aceae2f37cdc3e6129a61e -IVlen = 64 -IV = cd37fccb3a279017 -FixedInputDataByteLen = 51 -FixedInputData = 912806f47dad47002d658fd07343fe3710688a146c61406f65ad3252b0aa57f1d3c2c0d304b78502f85e38f1ccb39e2748e40c -KO = feeaec58370cde60419b7898b2f5e085814def9093d0e7a813ce9bd7890ee4126e1c930cff50928f7891ee7e871b6cbf124d7122f4137859f752eed97c0d3e65fff80a57a0b7 - -COUNT=29 -L = 560 -KI = 0f034bd9adb86fdb5100ac8a8e29860e -IVlen = 64 -IV = 21c8d931f777dee1 -FixedInputDataByteLen = 51 -FixedInputData = 17965b2fec28f83499c918c1c223131fa9abe00fb1afeb3f407e8ae7030ddedeb15a69f87668f3447aaa01fe9ae1c5b1b40025 -KO = e8a395d441fe667df0a303a7a6cc7cbb8be4d76e152fbb079f31611d07a8f99f5650e4e5bd3db0c92391279f7c1e5fc3c1aa29aafc24918e9c9cbed8eff8bb602f21385b6119 - -COUNT=30 -L = 2400 -KI = 01ddaf64f52e7e0be38db05f82db8c67 -IVlen = 64 -IV = e09eb5eb95a84d6b -FixedInputDataByteLen = 51 -FixedInputData = fdcdb6f42cfc041cb592419729afaeaafb05fcb3636df306b7b346b06eabda96e98bca91434e4887f0f43c610c43b21b984abe -KO = 1dcaa172a70a3eb0c162b03233b2d47dd54f952b261ba9a34c0b2a485e80633c1c5eb16727a55808b5218b6d2ee7db6e3de38276a18278ac22363ef4fd6c4e8c1f487b3c2277c8888874939515673e6e1bae70ba02e2dfbf5af148e633664fff5404039d9fa4ac6905f1c8b016802bae6f827f0799cced584c6ea4952db1039b72f48a531c461066e0694b93967cf77ffe9a9fc91c1a1edb900bb6827d058764eb3d2880f1aecf1d76ff41b4e9d218c2842c7a9eef9110b1ce70ecd36d0b246792938413a476e6f528f89a2a8b025f76861414a3099570469533ff32bd4c17830911388f0c7dd215a5b1a829056afd20d3f7897065071f8925c6b8d3d7b27170206f15cbd09db46001458f892c539436e69287e816c21fc16289c987ac7cae8237ed3400e7e6c5e59e62d3ad - -COUNT=31 -L = 2400 -KI = 1d7352772e9e947df0ad819fefab3873 -IVlen = 64 -IV = 2ef969cad2bafe8b -FixedInputDataByteLen = 51 -FixedInputData = ce79039390c6c7f8bd82df260929e38b39b3530c49867c7a26b338368059f8946db8e79e47a6a029e79b2deb59ea59526003e7 -KO = 9887b7e3c6693dd49450c35003631ec23eeeef146a2e08157463c8aeea4ce3c7769f24b8bd17ee5ea42bd18764efde31ab06affb8bbdf71b7822d86aea74f5c15a5f4ad26c95e874c5b00a5b5d5588bb9d7aa1d1e2571ec146042725c2b3cf9227ba9359082024122f7b8e7ee1da8de162c7cf1633be7ae7b062bb15c083fe98ec938db2495f31561909dd7b3461f30ab9b210b6fb3aa53aa23ae90c6aa4447b87aa49ef42b2d151e14da6cecead8e8471d5393c5bc193b223bf1a007a310148afe7b4ff03a2072db9446155ded0f36998ba6136f5353401bcbb3a8785d487bbc7017ee333581fd7e50e5580d0c38ed57c4ceead56f8c814d989072f034b7a01ea30600cb43caf6b82785bef6203bdaf165340da87544cfec4ef7045de22cec2f05cc7b53d34a33fc3738c90 - -COUNT=32 -L = 2400 -KI = 42328a34a9b24fd532549187ce5c7743 -IVlen = 64 -IV = 82d4700b1665889f -FixedInputDataByteLen = 51 -FixedInputData = 8048fbe60e41313c111022ca38a378302d8878879d14f77808094fa337d3dec0ec2f00d3b3dadaf9076efeaea730a55ec5ce07 -KO = 5e118efab3bf6b96bdd5fdf3365ea4681777ddca5d85a5e20409b3392aac20e68b01265dc6d457649e0dd7e9f43fad80e0bb1b6281c9a03856d64c801c6bfad434cbfe8cf4d0d0b3be13ee6cad33cc8b23af7120867f19924bd5194b8ec1e893917ef1dc997ccf6c04f4828b78a73d7b33494007580a9e8813e3c8e5b9613d119796498b47ed39f81ec60fdb4920fe6909dfc920b6cab5136766c0e4d28ab4274a77c0b7cbe15ddb4df62461eb6ec349ba54cb4bfce315bda3738fd04dde0e399376297924d48e151578673b9cb47adbc0ae48010396cf7d0b790608fc4f169bccf3c21132d421a5b0e6dd2e5876aec69158e3b65ede8b6c971ccc141ec0d4923d9d0496ed522c8a4946d6851febf04e3b2488d68ab00db49be45fd2fc22489cef77a6bb03c7094b8cc7cc80 - -COUNT=33 -L = 2400 -KI = 95e5e07a7fec73771bb24c3d1fa39218 -IVlen = 64 -IV = f3fa9af62f041c00 -FixedInputDataByteLen = 51 -FixedInputData = e9d8030126bb9402a1cd6eaa0cab08809404e719bcb4fb0a9956730feea85876f9d5bc3d4b1091888326d256d94ac8f26a9a29 -KO = 8aa9494d99a9e500081903fe32eea283fb867af7c645cb9a126181d8e8a74c642c05a6ebe644029ec2f8a53d6801240fa95e5ad6bd67d053b754d4372d833380aed706fe75fc28b5b87f5174d4e4866d98fd0b647e08847dd621f34b1d7109d13231b279aaf4ffe1335c0d6a8de1f3d5a17435a6d5886e470f330474fe41bef0988e0af8e21aa4c544fc56958dd673357147de9597b186aecd2c0a4572921377138f43ad13dbdf2c11cc26defee56813ec78a4d38664410d29266701a5eb5c1ba92f8ca3a9b458a1255826d56e54ac332fb9dfe217702cca641b90c9730f70cf0e384f801e4f78f7f9291fff3315947b441e64cf51db614b0cda0b727cd7e6f1beaf821cee387cdb6a60731b122596f14feecfce888529f68b94faf91bd097ff59200f8bed4779f992b4b3b4 - -COUNT=34 -L = 2400 -KI = 0797ab04c93d235a89509f2b0073d114 -IVlen = 64 -IV = 7ecac0411cfee7bc -FixedInputDataByteLen = 51 -FixedInputData = 73a703b272a6bc7391ce4e089556180111685b62d9c79068cb65aca6ae26ad6c54e7a41d49d5d3cf635bf18529314abfe522e1 -KO = b6ee188e76ca5c37252b7bfef64d5b14742f6eadd52d4890a2a9e20bb0c1e8d50a7e44ae995e36233675397e0517380e685fcc1e5139f5cdedf2eb50a79b1906bed4576445de8adb2b1b6ae20561f342109cd648b175c7a9dcf867f1afb8f5764b6af4e33734b371021be8cb9339c692c2b434bc78feb24ca046c9c37adf8ab6810c0a6a58487f559411e1201f9e712f3bce742cd554db8cc04156c53377196733161f407a7426fffd90c39d9d0b6c83ab1656e0dd5fe3e6e2d5c1581bd02fa79f70f55f407294b6e9477a571828ec9cffd61a2f10ade2206cdfea9047ba4bfab81dad64fe473b2d9846af12be00dc6c966e9c98b2f3ed852bdf3202990565721a145283a4a6972ec1af07aebd5d247fb388778354256026ad8240ee5a785c59289261d646fe50a252a4b029 - -COUNT=35 -L = 2400 -KI = 38f86997425d34ca8f9e742d9f0a2c8a -IVlen = 64 -IV = 4122273bd7ebc495 -FixedInputDataByteLen = 51 -FixedInputData = aea9fe7c7dc79e3da9dec5cd0abd1459da6284be36ba7b0846a4324e54b7f6237570046afca08440dde52db865b9ec04471d60 -KO = 3a86925d5448934510c586861088d9b3e70e455f2ed2d8772d5bca2b12014535ac792c67f822733424e22f3fbee8eab3580e511ed33ba33acf869c799ead92b26bbd9513adfd3b012b71b457faf7dc71f246ed0743a59a4ad47059127c0754caaf18d1fb0abc1f057d3703d1b0ffffbda2f4449fc1b52d4fb381cab9b505c447c73eaec33f4f5375557a26702eb6abb270f30f8fa4887880fd63db86b164afa8d97e9abaf0d636179aff019a282e7d0f2ed4cfdbd430cf48c72bbb221db5bc09d8186c218cb625949a7a1f3500068a7835d94924a49ba4909a5951b2451ea2f71f192b5de6e1de4607ef9ca6d15e46ae4e1ea97f17bfef38539157a94eb0ec9cc93bf011a7c26f80e0b1962a7c75f2fb4deeaad6df925e554d325e2e56ded47c9714f3b699890c2e3d6aece0 - -COUNT=36 -L = 2400 -KI = 016c07257aa8989887c39675a931f9d4 -IVlen = 64 -IV = 40324d65023b94ae -FixedInputDataByteLen = 51 -FixedInputData = c3b0fe445759906420fd04d66fe8934ab2cc5098da1ac82e7503d97e759d11b13ffdf17d2f017b69ea39cb5683d263a0d91abb -KO = 0df47802df4c2942be5ee6734efe114e72d38589a222994e09966e32e1459c985f0f62edac1fa579ca0fc3ed7d7cbb8d733eff5bffa7176e46adcdce4554a1969e0ad2bfbf34ebd3e5941fb53d5f269b10614847b9deb41ab72866c916674eb52e12a72eb6bb0693f68f2e330ae55c23fd1237ba6980105e1ee96d2f2b671f1c6fdf6a7bd58b4f48ec93e8df0837b75ac566fa40d086616cdb8360e5401f4974f1a3d76f171f187bad37c0fd659340ce504ae0218da57618abaabac7d337e6ead4aadb7387061b70026e7d68715991f1ce7e0953c08e8eefceb9eacf66b0217d77b830a81a42e0d25913d1d9e722059d45cebbaabdc0b119dc39926b7c649c53f23c369b52c2830b1a67dadcd64eebf5757c86688e847a5e00ff3df428c2d0a82bf9bc8dc92e9094b1f14624 - -COUNT=37 -L = 2400 -KI = 9477f91b69dd5f0645dabf7cea87384b -IVlen = 64 -IV = 928dd576775257d6 -FixedInputDataByteLen = 51 -FixedInputData = 50c236c96febf41caddc14ebfbf46fd678eded26f86a3695ba8d08df1e7f9cae7721f214ea6aaccb782b1e08970b464fff9ffd -KO = b40fba6c5e2a2ab9b4e6567024883db6e17515cfa571e3bf74526c3f5e81d973db645b845cebb14c6a55a3b7b3b583df8c0a078761e4288418de7f76318fd57569592e735b2978f1b861b63b5a6b70c0e2a2bfa19d535543601f041c9b355e17e21fe07ae4e5a8fa9407bb1ec4d005b86a629260796ac259d5c0efeaba623608663d1e543e779bf03f3361e9b975b73c1d431e3672db4c8f6b864e3faefdf051e1c3023b076414e5d6da082e35b3f75dfc4affdb4fca42c979b665ca6ebe67d6127702a31e4e6996bc64262150d792dc0d634e2fcdafc8b20d3a2e003f54b5fa3fbb56b5688156ca1b3213ea2e37b490992bb68b7823f64d2e527a153b40a8215f6c5a523df53b9de48cc885b279e8af326a53596ed2401f6ebe0adab2b958d63dbcebabbc0733ce0de91536 - -COUNT=38 -L = 2400 -KI = 051a2e55e10c1d77f73ae66301454854 -IVlen = 64 -IV = 475426cd43827084 -FixedInputDataByteLen = 51 -FixedInputData = 3574d2f2686d9e8d0f466c182bb770e61bbe0483dcadbb842253ab38c96d7c8598f6ec852fbd8320ba6139f6ecae46dffaa98d -KO = c7e57b4d71e5dae9c9653941263124c655d83a4304aa4195d5bc99dcbe04a4e3aeca0fd91f10ac22d7a2c4f86cbe8334272ce646f22c035ca950c6828c04b211d4cd440b1a41b300b02889c30aee24bce67b6f8a5631e7d6bf86b91c10081ea035d29415c270db9bfad17abc3dd7dd80d7fab0427a57ab123ed2d6c252f4d28ceb0d4acaaf6a42f16c2c66835b4ef4532caceb7df2306dafbd1de603e93c49854a2b19cbd98b202707afabc7f624101ba7f2867fd1701581bacac3812b9471dda8d0ecc3ce6bb938755cc96e07d52ef70e6202113ddaf9785571d5fa626f3fcf6b42d8254c3413a7fc8e740765ace63021bb5507e6624612649c568680cceebdb984209407ff0ae42514477c5d3540d672f639a8e8080932be0d39db03928747b6658d09468b4251b28cdff4 - -COUNT=39 -L = 2400 -KI = 133e886c9044bd8f5cfb569a4922c5d6 -IVlen = 64 -IV = 7000b2a19d7f7ca9 -FixedInputDataByteLen = 51 -FixedInputData = 205ab4ab3c9a66535475e999881f2108ab428863bb85d4a6b4328a1225834c399cd8d92e54a1accb163b344d30fea886175d9c -KO = df64bb541d52f7dfd55a397fc0f021523a321827fce3812852b7aad37fc13df68691c6db89cbefca530a7a2c05cc10566e9184fe14741f5a74c9921d2b6373c0b61487673c2a192617492447d7ba0d85464c7eeb87639ae72b1428475b75553cb2bd61d26326273cecf938c61dc3a8f4c9a2d08d09c77b345625bd3c84e36a917906c9d53b433d1e0b80f390c63c7484e7f1d933e9ad33c9df4c8122482da207eefe736093fb6d51191f91ea949556336cc0690bf6d151fd1f31fafb8af8d2346253fc613e93784b371a468b1c6192d2e09c1613770e691df44471544eb642f1c4fccdb291c5f06a4a4954cc36a051eeb786301a6c06a6d2ae593709864cbbdde2a6728d341c09506738469ef67feba3d3711ffe1cbc55be93440fbb696f02eb7fc367a946fd483b69ee13f2 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3679a9c13dfc6df528cde51a14fc212f -IVlen = 64 -IV = e07252cfd08e85f7 -FixedInputDataByteLen = 51 -FixedInputData = fe94c3051aeef7564248cd28becca602b4a27882f7ba9b7503991909d0de8bf6880c0c16047a8f66951ecaa0aaba3ca60f863d -KO = fe67c1b32ad014f2528f596377a01903e5899dbfc9a387a8034707c19e8b298cd2d396afc5820323a87b72e35aad2700f97512215e8757b43a1b55fd7228fb89 - -COUNT=1 -L = 512 -KI = 797c7d8a23f349a0e0100f8a3ebb2902 -IVlen = 64 -IV = 820863812d6675b7 -FixedInputDataByteLen = 51 -FixedInputData = 251b57b8e3bad59506a05e3621ab89f9e8d334beeaca9f73b98daa893492abe228e7c28d1914b6bb0ff3f90ad51503ccfd67ac -KO = 1e908825627c884d3daa479fe641c355965d62b76b31ed4e2b21de53827d4ca71671d64afb4fcea06c1ae6db02f1b92c70bd3d61ed8340af269987c13eb45e88 - -COUNT=2 -L = 512 -KI = 571722b8e2ed1cceba3934a6d9179eb0 -IVlen = 64 -IV = 9bcc556c29ac1b5e -FixedInputDataByteLen = 51 -FixedInputData = 6e3a1664b84a31b266a2d3c775085688cf5817a5e81ae4eb85529071305951f96a9a0a2e0b09a808da22722020401ff4164a49 -KO = 48bb08ba12064b013b789d53e5ce4c2cdf9172bbcd36576092689aa3b2ac38b5d84152f5afbaa4b333e72c62bb71d99aa505fc7ca94b54b6066895621298439b - -COUNT=3 -L = 512 -KI = 6837da8ef1bee3f67c5d9c1995d7f38f -IVlen = 64 -IV = 13aa03b5cc99b704 -FixedInputDataByteLen = 51 -FixedInputData = ba8360645ef3d9b92b3c00dd9a5b64f74666c4f281cf96e2249b871821497f2695647bbcc8cb6a27666a2b5332ab3a4b37dcdd -KO = 31db6eefc44cd9c221c285d96a6a3d5810684dac3fa80296713b077bb4163cb677bdc666312ca2237b6cb5678ec220243731d0363bcb25ba5848029c1bd1a089 - -COUNT=4 -L = 512 -KI = 7f65786af0aaee0efcc57eb84463f797 -IVlen = 64 -IV = dc11e8802374929a -FixedInputDataByteLen = 51 -FixedInputData = 8b8d603c5f0b07108090cda353ea234189dc804e9b8a88c9ad4a388c8b54781ded26b046c803f9cba3e619e880ee4eb7d3a43d -KO = f97cce71b5fcbe1ceca6139b407a907adf4cfdb99aeaadefe13e7cad0e4678b89a8c3d5a82eabc5c3fd1faf20723f8fb2b6fd78fa41b0e59502c79297502a719 - -COUNT=5 -L = 512 -KI = 8669d74bb049c994273111f54e27e87f -IVlen = 64 -IV = 10f5aa94003e2195 -FixedInputDataByteLen = 51 -FixedInputData = f258dd14379fb21c9949077d1a820edd17c6bf79627c74870cc38e6bc3c6a5b707a420b46b107bf41ae63d4365598479452781 -KO = f2d01c2238b6fd1d82d9eedaaaf00b127caed0a1df38a5e429213b61fd4c3a706ad4807f7b1b45c76cecf319aa3a4d49cf5a37495e499f363a252b9de9ce9278 - -COUNT=6 -L = 512 -KI = c3c9a466a546f635d91c1215b10c97d0 -IVlen = 64 -IV = a1c33b935f138967 -FixedInputDataByteLen = 51 -FixedInputData = db18ae05111a515bc9c1278f40aaaff84d684d341ced201f417cc5c26624003c1f5d7490c6276bdd9407f2962d6e212d5e0062 -KO = 2801cfb664fd0e84993da61184af221185db85dee6ace1de25336df441cde0c13b13a3b9d01dcfbbdfd88ab67758500af498abce72d5a16214f273b9f42ac691 - -COUNT=7 -L = 512 -KI = 5c7ec61f2038209b3e4c3a53f59ff349 -IVlen = 64 -IV = c20050cc844e0a4e -FixedInputDataByteLen = 51 -FixedInputData = a03c0a94973977d82d78209792f131efce8432526b8c6e00d63a5b76d7afb8a1b3cf4d4644c8802510007bd459e4ff6c430b8c -KO = 76b23a6e155e490218174daa87eeb172eca48607c57f319898e6b6878755203cdfcf42d9b66a741f13026224c63197cc86092db48358eb7ca35f46f54d3a28d7 - -COUNT=8 -L = 512 -KI = fbacfe52d9a7620dc61e44dcbec3f767 -IVlen = 64 -IV = 977f1427a0f4c77e -FixedInputDataByteLen = 51 -FixedInputData = 35b60aab545a923c581727efd68ada3e6eadef6e2f9b7d8f8efbbe1a85bd54a8bc060d04e69e67ea62197c8c30f1b7a68427c0 -KO = 7450695d4ab7cc90f23897e6d135af1b792677b181ed98281282cbf4976922fa7d5cd69915557b4ef6430c5537b95ac67f7e0362bbdaf1167bfa2a5302b353da - -COUNT=9 -L = 512 -KI = f487aaaec8b3f19ddc826c5016c87aa1 -IVlen = 64 -IV = f1642ca84e848db0 -FixedInputDataByteLen = 51 -FixedInputData = f9e265ca3ebcbdd46f274ebf02668f0f99ef84dca97a51f7986db1c52cb63cf2ae2fad312f50110258a85f81864ae4740e601d -KO = 701532fab917a8dbf6fa13c06e07305d20b67f1e8b05f1b6f387afb6348a76f84f77a10f2eecb8ed98f69985c805592447314fd5f6491b71c82c5bad25ae18d6 - -COUNT=10 -L = 2048 -KI = deac6944e247f0deb9c1ca159bef4bdf -IVlen = 64 -IV = 9c952070ff39e9b6 -FixedInputDataByteLen = 51 -FixedInputData = ef75066165820fe0d2fe06c66cb61a35a3690fe7d4059426916562ad6208b82373c9c05e25915a34b15fd7e77c19636d92a2f5 -KO = 44935535999075a7e7b2a8d0c9064386ce990b876bab5f50adeebf92a5a9732cfb0b4bc1dfb91daef10740c0274102dd22c380a16cf846ce77d08c717371fac8a340284450f674197d42899e9d49b02908136e4a8ade48205e1a421e9c48bf3f37a9825681dda636d5429bb6016bb381dfe8ba1667da63258599d80ce5b4d701e4ca565e71e7193d858160230673d9c65db9eb2916c9eb1fbdfe422f8f21962ea170eb2285d86cc3f14b129cf3628f7c0887e1fae5e5cae204429e7e51cfa2652e14277fb32611378eabccc379d5375f46efdd4fec8a7060146c26b3cd341cf57619f64e8b473a26e388ec90d5bb0dc18b0051562eca7edf99c7c18603b15844 - -COUNT=11 -L = 2048 -KI = 43718bde3d84e6eb8fbd7980b03fb04b -IVlen = 64 -IV = de1b24ac4b555efd -FixedInputDataByteLen = 51 -FixedInputData = f5ad9e0742de82aa09dbf01b3acd0aa50f51aa03948477a4340a997333187a1c9a17e445a2c8d8a793a266a87d28f03c78d2ee -KO = b4694a4d8764f5f32d7f42ce4e9417df64a65c940cf9ea8b2969b8c254aa8d402ad70bb2f9d9c4280aeaacbcec329f7b311aaf5d45619707acca6351eeb10881d7632c6d5cee602d34743541004a27030fe245f96a7f5d59f47d6f3db29cbe83af6b6623d63f9c8516bdc3d1a036172337d78cf449ebbc2ec5f23b07fc659dd94aadf04bd8c9e1f8be10fbc57ab4ed7c6aac678dd77234dff7e5a85be015c6e771772eeb4edcd0079f201821be7a21962e425b8abec4e8851a38ce772d5217ee5ad9c50dd42c0ec99b55259983c140d5c8ac788af1fc3abf2cf80aff5a5d5c26a51152f80bb12e1b26f4bea0d9f0e30fc2d25cadde1e7c16b8a064b2ff78afef - -COUNT=12 -L = 2048 -KI = f7f8c194832b8cd1ae3d0d90c8cd4e67 -IVlen = 64 -IV = d574d744b4cc4064 -FixedInputDataByteLen = 51 -FixedInputData = 4b9ac1f67cdfb431d94e556f753dc1dd7e2ade43956d47ce2bc35721811dbd08aa1e617bafd8c6260ebb6fe297d51e062006f5 -KO = 5029aace52ba7957f15b6390ba95f879a1fe7257dee5feabd6ce1906f885b59b06e9cf0469e3e88491f55a44c491fee895fc5cc4ee6cb2a3eeeaccc1c7eb77a8dbb292c5ea106de92b64a0da4283e3445b3f9dca97224bdce4d9d584d0bd829c31cb79fe1dc3f94fbc8b31b6e7dd7a7580e0e3e073724eb62c0eab2159a2678b86d55987123ffdea14b3ef4785590ae79222e59857a2e8fb80f4170519a10e925e55b60c85f754a59021c961d6ce84709d0c52439fcc50736fef5fececf4ebdf61df31c834128c92048fdea9b2d6712febcdc49bbdb39b289e59b08682fef0610e6c6c2c85b76b402cb28d9f3b5c627cc26ff4ff4b1dad2ab8bc8de4d5af898d - -COUNT=13 -L = 2048 -KI = ea708c24e551054b660f22eb93498538 -IVlen = 64 -IV = 0a48b9ebcbb4276e -FixedInputDataByteLen = 51 -FixedInputData = e8741f75faea5f96367ab3bb331f4a491ec0d5be6f57e4cced37079bfe05defb2e092aff7a479e44423a32a566429bde7f2dd9 -KO = 89e4afbeab183b55ee3099ea70cf44b218610f9c9ceb585955641522a56fe7cbfe7c8dadc76643b30a5d33a98fe20c46c2ae33045745c289cc9839026b15a07e83fd5dab228fa979144425e0497f2620e7ec8c99f7d995945847ba9f395012814de87e24a1bfd33db7e23292f3e64766e71238fc9c9a3a86ce7665410a14b046c0970eb1d22c8a41dadd90e7aee1b61d20993a65226e7048919b8de42c59dc5a0a5fa95c368569f68f7ddd956d9ff8846500cd8971380b2956680edf4c4f6b015e1eed052bced2552b8f12fbbae3b98b5c38f0ab1cadcd0e8471e7cfac5caf81b44079cb45677c7b95609738b223337e062bf60754e9f7a0b8bda0bfa4e74f5b - -COUNT=14 -L = 2048 -KI = c748f25d13c7b68b97bb489398801188 -IVlen = 64 -IV = 23918928a8726211 -FixedInputDataByteLen = 51 -FixedInputData = 51971066b373cc71740d97328e6baa848df6f62d99cdb473089d46b0263cc5148514e504e0d33064b4d12ecf28b32386800723 -KO = 0a4f09a9c5d590c0c2f5e5aa9d9a557f9e05b76c8a2561621480ef9bdae2fddebc8ec80377dcf2560fc26dcee9e4516a5648b075b988782bfdb9611ddeacefc2d8da085db837c2ac0a7657313bbea174b52d5ba854ec1806dfbdf4a5ccbd110c39997d78c5f6b12ddf2918d5eabc9c99812f2f07b9b53ed9c9876f2633780340af46dc72c7e60759195762e4ca6882d18b56d04844c350ad5ee30904d342cbe75201d2fc5dab3915f0b88fc073c086552da90abe81da19eafbcbf957dc7652f820d4b179c64e2f1881b03fe55b6550dd3c448faddf3977442179dec8993933686951127365c81023f972c56ab8f7c4ba1b54642f91c6f81fa443bd8aab1e9185 - -COUNT=15 -L = 2048 -KI = d319bcb73d3b413032917a7462454783 -IVlen = 64 -IV = 3045cf6971c58cb7 -FixedInputDataByteLen = 51 -FixedInputData = de35a2b536c90b6777869da0b164726b5b2e7df901784b74a70fbd7af378d061cb3e97a674fbfdd662196240eafb00fc0f26c4 -KO = c6d00a8fdc8c9f70561b5e4f6173d6573e7ddaa0b72dad88a397971531490fc1af3953590aee0252a11cb95b3c06b3ea434fbea5b135b3370444b321376e8eccf36ab613caf2a41d6c4fddb39600cb71048743ad655ae426727346062699b553cb96a3489a91458822fe1de7552768456a120c12d000c522f3b97b93777035f811d9d854fb57aba017b20afaf8edaea257a568cb1f0d9142236864452edc9868e814ea0c88b319cad684c6a184c6fd87760219abf276b488898d1fe5b031f1b0ec58d29ffb579651e8220f2ad29fc777b41f6c02af43ecb9de573f3aab4c73b7e5050c13801941333cb433e7b1ddfc261bde89d9db608f80cc58d09319e0b3c1 - -COUNT=16 -L = 2048 -KI = 961e74cee7b376791928ae03feb35d1f -IVlen = 64 -IV = 50489a49db818d5a -FixedInputDataByteLen = 51 -FixedInputData = 70fa8b4562169d699f4f180fd337190992265cddf13e64b7b4f269a4eb2381a9e477b6131060e7f2280f1e3b6bd4f2e2bfc8b9 -KO = d94cddf98aff5addd02305bd2fa764676383d2beac1cd7eca3a9377ee9fe99b5358015c27f0825b86316cf121a8ae1346d7eb4b3c244cba18a2fb75fbeb361752331c10b812f8791d512ee1d54407627260133157b7b6bded7f0544b25403ef23fa92f73f3d2cbb4564940cca3e556f46dc6356e2507f86f344cfd81d723e5c7c9b5c7ea22b9b95bc12a5c9337c42fd80a032cc02848dd1b9bab2f4bb60f5d83f37c25c90139820ede930a94d1f6bb019680b9f818cb7d7e0ef5f253d5d195e3aa8d7587fb630509e38ba6cad3cf3e833621901a6aa13da4e65660d512b8539f229b887d5c7b27e024aea5035aed84a7e9fb04036326236f40d8dfc49f760481 - -COUNT=17 -L = 2048 -KI = d62daaa5548abac89417ae4b3b9fd196 -IVlen = 64 -IV = b398d846367e3720 -FixedInputDataByteLen = 51 -FixedInputData = 44d01b823e171e812027722b89e65df2043e6de47e8a5c7cb14d252568abac48250d0bfc703942bbff1c32ec2ba2c1064a5c42 -KO = 836024ecf6bf2585ba8b28ef0202338829afc18988d533b3732ca7a1e6659afe1cdb1053201b8bb5a68d4290b8500455dbf5311dfaa6177095b0beae9f5206ec95fc66fb100e631af3c980534f6613e07c756daeb1d340adf90520d1655d432054eb252c4404f74429dc1702e6733482215332eaa4e7ddfffcd6b83ee7fc94021ac0201371ec9aacf33a7a0804f5ea241d82b428f5894971ee446a1d79cc1c0e2274eed8a4e265adacb1d7042e44d59af0ad674727a950f1e9bb9f41737d92a411c6f15cee6f3b01dd0baf0a04b5f33a7f22518b75feac4f75ee3c18b575ac5e00e9f9e6b501c7dc665f79e43b838f3a2f4a91ad83366babcba6d3d9c924ef1a - -COUNT=18 -L = 2048 -KI = 1355ed8e56a876dee7b4f44f2f90c483 -IVlen = 64 -IV = 2062989e54c4b06a -FixedInputDataByteLen = 51 -FixedInputData = a30fb34ba2f9b5d5c3004e4b56d8325f09c063ee26b02b884f093f179740725b3632bd2e4f5b480968677b341d7ff514e18f7e -KO = b0c51efc359307edeb5c08814d6be98d67dcb8ab29ee6d113558995abd9a6a7f6cbeb907e7e5790f33687b7f21d6e2197a521e8ac77ab73bea43068bcd37c5925933330270deb2f5ae49c850065d3597c68c0ea64248d7c8140cdd6451083689bfed2b9abc2b80f42ea82015493c19545adf3b08fbda208de1105faea94ff5430ba3a6daa39a9d814ff9e795cd9cb1758dd926dd27a74b7353200083df579ccf14f7bcf45afb39f057952a5cf0ff8776172f8b96629c035dffbd821190c0ea755aee7b5af669fe5fd1d6f9f6aa94694e600fcc687ee14c2c5e95c3887f51b0c813e3624e81ee23e132f66fb86171790db7421c5ec98455c488f201aac526f734 - -COUNT=19 -L = 2048 -KI = 9adca9a77475eae2b4431c94460151ec -IVlen = 64 -IV = 2af8dfee83612760 -FixedInputDataByteLen = 51 -FixedInputData = fa2b3584fc430cf2bfeef6c336e3ebf7b21249c0ec3f1fe2e5e5c93305417bec6aa0cf17ae667d4d08e5c189059210fb37d565 -KO = b3533adcc8a11b0619323946ffc7c9973c53396cbc3c48c0e97ee40aba4bcbcc3ee2c2a9981d222eb3b74ba8e369bb8180566db8185aa90fb8a206c51b7ff7639fb230648601986967ad114276a75611e9fbcdf5ff8d8826b14371a4897724af1eb63431c85273bc14674491421c568ff237ecc7a41fef8bb081cccb138be5cf6ba60beaea9a4a59dc40d4c215f5515887a05bddc9047b29503725fc8796f24482c645d2d3c9b1f77430187ebc90bb4abb27ac1a07d4effac567521517cf077bc4b853097b73a71a8b5ffdee90cd99f133b39045da9d1765ed86a8ae9eae9f055e68479af1a5ba128fef31404347aee737b91cf44f6fa117ccb3bb186e18ef7f - -COUNT=20 -L = 560 -KI = 79d19ad7468e392d894a57d0c453f9c1 -IVlen = 64 -IV = d3fddac1c0c4558f -FixedInputDataByteLen = 51 -FixedInputData = a3b25041080e048274010b35cea62ca3edf8e41393735d4ac37a07f02cdd3057015c1eb0bebb323559abd6becb696d25892b6c -KO = 4e89820b47c5f94bb70386a492ad48d3880b82d1fa2395d459908b68791f29ee01b6487940106de5beabf066119b43ed2ab6dcc7674b1e63c4257538a21e21265201b44b0fc3 - -COUNT=21 -L = 560 -KI = 71abbc43cad961f58a54925bb197759c -IVlen = 64 -IV = f6434cf90f12b116 -FixedInputDataByteLen = 51 -FixedInputData = b24eb8bbac5157d38cc944d8b86839e4b0f10b2a4709788b9e50bbd4c1a80dc6b2fd21b2a43cdbf0579ee0f9734be13fb26255 -KO = cce584c011c309286eb1e1aaa86d14a58b509f03604899ceaf0183b6d835467f2bf6b75f9ccb76a823dc3dc0456828972a366042d5660339d362ddb5cd59f12fcc914739198e - -COUNT=22 -L = 560 -KI = da2cc3fb9a594573587ff1c2328ac8fc -IVlen = 64 -IV = 11f60bc98fa77de5 -FixedInputDataByteLen = 51 -FixedInputData = 82e51007b1648f5c9624560ee38193b2939fdba58ae56bf3fab838c2909ebdc4f12acdb1c629b359a27d4b6341da2b788d89cc -KO = 5abde35c25d08edd3922867be344412ae54bdfb0041188f87f6f502d5234296f39908fbdd192e40249da12ce69fb1bfb4e1b2f42f19bbc1e92ec686ded044bb1afb9ed6d4035 - -COUNT=23 -L = 560 -KI = faffc6fe4c29ec7f8001c18e003a5e67 -IVlen = 64 -IV = 47cd3ad1098aa4ce -FixedInputDataByteLen = 51 -FixedInputData = f9834884cbaa1d8bb0bf8d9963f48bef1575a85caeca86d20393b2b50f30f796ad2527a145375d7db24d37d8721bf6c498887f -KO = 0dffa0b78b2a669489a58e70177af8127c9569bf09ef6f712566eeeb0ef67e87ba49105afc4d686c625280100bfb571d58f6c0b9ef7369c4dad4528f778f2da3cf9c3475a7ac - -COUNT=24 -L = 560 -KI = 40aaaddc818e152c80c3a78d05b703fe -IVlen = 64 -IV = 1915d433b8cbffa5 -FixedInputDataByteLen = 51 -FixedInputData = 88a6c55d9a5d8bcfa564d0a2e0fa6da396526e1bcc22705eb4232c858c5414a9c75ca5056c8378fce982b39de5eb9ea51f87b8 -KO = 6ad59a45cca11da266dcdfef5b1ca722df654518d9b4ff9f9bedc7a9b4f5e78bea0ec77c352e833673f6c7076ae32ad29f5444d29ecf57557f57c1c4abac4d5873695406a3b4 - -COUNT=25 -L = 560 -KI = 7fb95e4a2bbcdc709b2f13020be66e4f -IVlen = 64 -IV = 3b211a2ce0fcd089 -FixedInputDataByteLen = 51 -FixedInputData = e7a22062dbc3ef5dc9e04ed59be4455918a9d74a2755448bac7ec7104bff0cd683743c243567a8524b18731e085b1838e35bc1 -KO = 811a1a7e5db312135e3fbf2b91739fe13a7af24db8631423c9c2d74fc19353e63200d1270d3791201d1802ca2098761f392e3e717b98d5e388e799a03572e00fdb8c37c6e55c - -COUNT=26 -L = 560 -KI = d0117ed7304deb79ebd052bfa277ca62 -IVlen = 64 -IV = aa0f1f87ce579f84 -FixedInputDataByteLen = 51 -FixedInputData = 50db2437bf980e621801f3fcb1fd4e444aa53b87e98b663e3c83410d9cd3928fee6187d8571acf35fba3a289fabf60fe9677bb -KO = 78a02d6b8a8e4c441b72722da32d68cd92594fd160d07b60187e5052f3d1981d1ff82c5f8ce4dc8b3d4f2964b8034fe23a80b9957f30df685d5f1ee14feaebc10279626e04a3 - -COUNT=27 -L = 560 -KI = 6c49661eaf1920900b3ab6b36b77c064 -IVlen = 64 -IV = 89c6184c9719f8d6 -FixedInputDataByteLen = 51 -FixedInputData = 6a6bb9ba3829e52c1537bd69de4bb99aa5d06dd7a6113465c44cb9ecf1831e9e9d5073d12a7fc82b68a9b013753affd0a14826 -KO = 686b83e9fb1210c88253d5ea1522dcb23095c70de68b529c06d09f8c6d8fa09e64adad69fc85ce04ed5c5d25a03a3ebcc316219051b59fd15151c43dc0e12d33afe4c6fab67d - -COUNT=28 -L = 560 -KI = 10588438932e2e7a794ef894f3b53426 -IVlen = 64 -IV = 0ecdf5c21018af1c -FixedInputDataByteLen = 51 -FixedInputData = 434e6cb6c3371151cbb60d5641507ee762f7c93f1c39927760e1d272b9bf4d004e9c0bf8a7729aa25884a8fdf6415c76d51adf -KO = 06f63352a10a481818f24d5c05a8fc8a4be0fa36f0f07a8a4113bc72e43345b153b4e893a4bbc6ba4ea5ff351f11e6c34f1bf54d7436f6c4565763e0fc453f0f7ae08ebc3655 - -COUNT=29 -L = 560 -KI = 77fddc4e208663a1dba1c345916ab37e -IVlen = 64 -IV = 7f3874a9e0ffac95 -FixedInputDataByteLen = 51 -FixedInputData = 6aeb77a58a5b3f51a2d8cdd5e9fd03c2b7c347932d49c82d6030de84ae0cf2dc6d3545c1a8515819cf6526d278e044bdfb7046 -KO = 2973555485185f2f3ad94507a8b957c720b21d2422b1d63cfeef8bfd00ec1f4f45c36f5048f0cd76b3412c8423c263eb4fdb1bafc9eab484311056e36203705c9370bfe569cf - -COUNT=30 -L = 2400 -KI = 70b514dbae345cb8043f44113ba6fbd2 -IVlen = 64 -IV = 3a7116f2d2113234 -FixedInputDataByteLen = 51 -FixedInputData = 24c3a5cd2f4956fd0fc9882676523eec9af71777432e2276266c5ba4b9d980c7e9255bde0029508076dbdf54ba0d2c22b26df5 -KO = 8061603481d61fd67efc3e650187e2062cf9bacc58ed649b4ec712a1a49a5f399a1f7ed6e24b54810efce484f096a5b98febc0d394b4e62e2415be532743074845f0acb9267c22edb86a6aa9416d9a36351d5cb6b7ea6a778407406bd76f1414fff3ee7e0b4dddd81bc4de0c7a8c92f5270cbb4e90323d8da897679d7f5e56973eae2d3203206e6c00e7b355e41ae8249944e15c5e9fdddc792e122df04325c3265ab3be8e52a88d87513c33e938c8f399dffa1f974e4785be4b2e80a09a5745a44e0236b32576e009e6baab12a5cbc68137883f62d8221a4d294c6c7a7336ff88ec8d859080be2a41ffc12131a922b8ec8c430a112af0f48c3e8bf76f699fe7c343253adcf6809a33be28e224fabed0781732077caf4bbdd7d9b03f5f2fddd16616a2948c64707bb2d5b51a - -COUNT=31 -L = 2400 -KI = 0040c612914b331f8dce3e59e5c0b564 -IVlen = 64 -IV = fabb7ece6eca3ab4 -FixedInputDataByteLen = 51 -FixedInputData = d36262e9027e2f1b21c6d1d299bd57937a401caf4cfb9a4bd6e946efe30988d5bc6ff461432a7848cbaaee72ddee07eb8ce8f0 -KO = b9e92255e87e3e02b56667731a68095c7fa7073be9382a286ad706af20473c9f1a20e78f84d56b59efd11cc24eeefabae18074ba9851569e25e1da27bb8cbc39cf67fd77af97bd573c7d05021516a4268df7d63d2ac01d95bd3744ab2b4ede0fa78cd1114a784266f94a20bbd6b360c42238ab3b9a4a33d78371472a70d88ff29c05ed369af3e0802868f44de608b924b023b1a34771c7d380fa4889b509c723e47489652c64de7eac60ec913874e433dfeebadb13674e6ec8b875a717978881c3b758380efef2067f343b5ab98af50de934d703835b62f5ebf77ec235a4aa76b4663ba25b53dfbcd271ba5acdbfd6dd55e2ee592491da1da1b6261c750540fbf0c963dab1792949241d0a867b1fb6809eb9f86019d3ef2c833f03a49cb136a1ecfbdc96dc26f0fe57f9f31d - -COUNT=32 -L = 2400 -KI = 6f19ce350bf4237bdb0100ec6d3bb6ab -IVlen = 64 -IV = b51792ad89b1a122 -FixedInputDataByteLen = 51 -FixedInputData = f7beeb50985650e695300fccfcdbeacebd07a89471cea23f13335c2a86101a16273a08bd9c90b88170a09a24378571337e4bc1 -KO = f527b9c8e3dba4a21046f0028bb02e42a0349939bd5675ee9377bdea81c875ed1e22fc15c93011ccc50f393ac5aace611278fdaea6668af2d300d5c56b13380242a4a929bd759b56582d9e097e98e49b14bf6023bd2534ab1927aeb6a649930a1c2a2919c83cf86739857f61cf9bcfeef49614430d189ff2b6c16aa95d17b3aa528fc6395faa76d50f204d295d93a4aa632ec8d1064b856a33810bb8ce0f09f806aabb8da723e9b4d9ecdb4239ad5bc9115c3d77fe89d951296625afe5fad3b03209939c4954e329fb0c421243f3432dfdaa6779d38bf7dd1dde41c91a3580d6a42e077ecc5d3075e36642571c41f1062199bc3632d48cc08770295d1c544c5b084fe21e21372c7416671c03f3726b17931275103514beadbd42355e0498dc9b1a7d0918f8201938d1a8eb64 - -COUNT=33 -L = 2400 -KI = 339d6c658cc43946295064d9462cdcc3 -IVlen = 64 -IV = af5f234761fb56a2 -FixedInputDataByteLen = 51 -FixedInputData = cb5a3ab0bb55deb08185340df51d80fd7c856d9d056c2fbc64a048bd36c5d9ad1d6d53fd16515301dab5fd5ad531e80d7bf7f1 -KO = 2a8047d594470255eafe2dd1e79122a2d275ae98b644cf220a7845784b5d48b6dc2f5d9f0f60fb916c42e4ec2b74284042e7f5584fb2eebbfe6c02314823b6f870f45a871c95ace7f2c798eef623f14f6644811e6741115917369c6bfa4e1d1d9d069dcd5b6e422b7f54afff7fc509ba390ec247436c833416ea829f5d056b6aadeded0f8270b78af79a52d8336d2d10e68c83a7197db8a378c710195e621099417868ad148f5546e5a4949d2bd1f3f1baf1a4e998daa908a4c52319aef4b97107bb6082aef63fa61ecacbe03acd7a6229d4a8d3a02f03ffdb9906848be958dee3c277c092df800f4bcfadda2cb2f5a531b51a7e9d7803634ecfdfb9b169e6e77931bc48b62fb13504efa6a0a9353681a1d61015259d20e0965335fdd4d38b59f688c5a29aa971e88ad6d258 - -COUNT=34 -L = 2400 -KI = be06da0a912249f7f1079c69fce0b39a -IVlen = 64 -IV = aabdcfc861cbf5d0 -FixedInputDataByteLen = 51 -FixedInputData = 72fa055ef62f5365d65bdff6df7cafdfc48f86e0a5ffd53b4dd7aacac53e8f9d20d9c8ab7e566723687dd1ea7d730df7284e55 -KO = 0d0e1abaca2be5f03bfef0ab50106524ca369f702aa27a754359d7ee874c4a6db023e4a482bce6d66b8c967a0119112350eb05ed2cce6301e62d58ad96281fceb20271898b80ddd9c4392198740b7487faffcd3f6d9454a5a6ba7e2ec31560ed5350c7e09818482ba18b51ced5d41c595d3b0ec01648a502b0c5328915b77b5e2a540946e76714eb1dfd8d2ff8d783ab71d9a772b6e983b3551fee118cddd285498860f92c9c4e5bcd82bb37d305d84ef1b365bf97086479ed086f97e15c008f9341cfb3d8834d2306ba1fc4bf295d7f82177ce90b8a26c9e3203e07d982f6c537d3d04d2505fc5dc1ad5ab93fa3ef757b688020dcd22ad322694b49814c8448750023f54e6380a5641f2419ab0e1417de5226b8efc14e3f5fd44cb724b72a3d112f9ae4fb012ef0d15ae48c - -COUNT=35 -L = 2400 -KI = 47fa145d21883037fe8be56dfc973fcb -IVlen = 64 -IV = 049f2a3a1f1f70f5 -FixedInputDataByteLen = 51 -FixedInputData = e297665d24e635da87d7dd50dc5ba2c4d8e66fab519f17a858d6f988942709ab9bdad7edffbfed47a37f2285c79cc7fb89d573 -KO = bd704837b13cad6376e4e8009defe5054478d5f34a988c3c7baa2f2c9a65a76610cecf8b3d59358a493267554ab2bf2da803ecbc6e48a709ebe7d112738426d7430eb39f28b20e9333f15f25a85b7003c6328cf05ddc03439dc393b380825a4971ef3c1819c4f6fb4b03e67de8bb219ca6b0c42d623267089c9980c1827c811af1a4c79cfd328f12758e19e0e571242b77edfefcfc792b87224bc3b9efe2e3a8b13ff3f6100de2f7e0d8cf9b6ef5cdd5929afb907491797a7c8900a7d3b3889eb93e04be7366c03d2dab9b709b8d64f548d8e8ac17c46287dea16c7828054d947915ccd250cfb49d51191b9363bdb5109c4849c1af62d88eb92647f63172ee79d36de855a657ac9ea40bcc9af8e49182dc8c77a5a30297389ec3f689e5d0e53278c75cd8e0137844e7efb150 - -COUNT=36 -L = 2400 -KI = 18ec2d59bfe7c35d4a4a89f99cacd710 -IVlen = 64 -IV = ea8c268d7e13c6f8 -FixedInputDataByteLen = 51 -FixedInputData = 282a405dbd62deb9d7184ba5f3952bf3adf03691eab42d1a34b20decf15d4ff9d9b85397b57c3882a3cce98096413b463dfa2a -KO = 67ae2d234d2a0218aa8c746c0bb87ba697bb5bf8fed178ea7cc65515f3733d1e5de3867f5d7e7849db0de873acccee8d12b24b92cbd3fa4a9e18346a5f768f77c32df16a3bc0e197ab98d897f312a2c043f364f68edd6e1d647bd46caf710a506c17de5a0e7d5506cae7e1a757ab796cc3abb67a9706ed97900a4ca457b4abfb0df3f6c87a19eff4029ea67f4ecb76c456853311988f4be8a7f45612779349de82734b35e49a66b4f443c7bb90e7e8519c436b26e67de6e78f9d2f54d497f4c8052136c4fc843b9e445b1e5372e32709cc8c0a94fc082163e5a4902e43630774999d61c88f0a72c7e24d1e385e3bc3a8fe7b99fb32abd4248196fe28a82f94309e4563f8f347bebe56e6cd99d3ef843b27380dad77b598a59e468ef2be85e56fca1ff305e946a43369cdb74d - -COUNT=37 -L = 2400 -KI = 77dfb1121224105f0753b9664c6e64fb -IVlen = 64 -IV = cee34fd1c25794e4 -FixedInputDataByteLen = 51 -FixedInputData = cbed8505b322d6481a48b1e845ba855cd78805c35b9c952d8b8f8dc9ca0991fa3dcb359f244dcb15bfbff2374ca5d42bf7f1e5 -KO = bfc624b5da8e8e6c07d21ac0773684c498750006eadbf945f9925814752ab89304a51bc9c61306d8275f0d679b508a1dbdba2dd4ca8f8730f515e50233f551fc13911bfcfbf53eed44d2909720fcbbfd3333e313c6bbb974c56afa66168ff25894b570c8d10b4affa373870692ec3709c0372906c154a78cf76f0f425f794d52982a28c48a2d242510bf88e4187ef16fa9ce494e5a13ef13dcafd7ab8d2bb71fea90d49d88cec02acac460a9ff15debf46a1a19db6fdfe8b193ee9bdf05fee18154f1e8a101dbacd2f5d02d6f2d565a510c3269baa53b85e238fadce1d1c080f154bc135a5fec1faffa862871898164df716f90d2e856cbda99437b10c071c23f7da0041806895792fc7cf1e059f37d86dbbdf7dc0a22133f65448cef40097e9b7ab32941d1e9770df552c90 - -COUNT=38 -L = 2400 -KI = da85581d7eca79fa567aa3385c573461 -IVlen = 64 -IV = 3f805a0e96bc8d68 -FixedInputDataByteLen = 51 -FixedInputData = bf2dbe3909a180b56bfeb9eadb9b295c28e49e630629424e5bb8a6e5ce1b18774bc12e1ab4f150fa175a5efce675104ccb0834 -KO = 4ba4da64034a32bcfc2a94ea6ab539de9628f0884668e03fbae75536994d9e1c79468c37831eb2673500eddf54c124a1e7d4fc36963e9b6f65abbe84e2a45d63fab600759c5896ab7a1dd096fbce79439aa0f356adbb8e4542b118f5628111d7500f71bdce0c3eef41a2477a995d1ebe1bb930443b3a53568fa4dba57c5d0692027b40553eca0c7803c0ca0806630c0bf4b0905f67ddfe7bd5062ddd52452bf1d565090bdf193ce2fe345c0b9eef8cbedbe35bc30e34d74a50eae8fd414f20327784074149f0bbc77696702d19f779184225c795073fb8d47ca9c458c56165dcdf51fd380a769f203f74cb9eceeae09c0036674b6cbfc472ce49316ab4e75898e096e36267b1a7962605bdac02fba72433bf39bafe6d0f5bc83ac440e620fcf0e92f9ce3263221bce1fa332e - -COUNT=39 -L = 2400 -KI = 88c918ad437b6bbba1ac211b97233a83 -IVlen = 64 -IV = 2b31deeabf8146e1 -FixedInputDataByteLen = 51 -FixedInputData = cebeef495b5a73435fb422e3359539f2bd6615af687c4f86b0bb0fbce1c026ad329dde5edae2b5b4e07eed02aea1a2922b644d -KO = 11dce405f512509c90c6faed30f546eaef8a38d78486b3b9fc21babda47ddaef8f6f7cc1f58978b905e6c8ff03ace5aa95eba9fcc663ed5780d07984ecff8e6cff05f69152dbb2f69eff31973b10f88776812803da824bd2a672d0e0b4b850eba7a82fb26f9b18907a7460520c6f86569edfb32f34362d274cd28926b8755f3e64b64ebf872b3fe25bd8bfcd3c5a118bef7b91453af95373f9487b6ecc0f522cb39656cf765cc5a6a480a14a700d3f3fb037232c7c372eed01e73a23ab5217e1a3b72637b5af2206ae4f4091f748ab9c647ace649207163f8d7feec0a1ed2862fbe8c4080f52748039ac3cc8c64a858530f21336754d3ace7dea46d10224d2e355cee388a2a85d6f990ec647ffb14605ba76aeb2825b412c51f5edc7051c0005b9d9a6d7639b123a246725ae - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 984bf2af84974e4919102183bb8b9a8e -IVlen = 64 -IV = ffbbe039e6ddb4b4 -FixedInputDataByteLen = 51 -FixedInputData = 44bb8606fbed0e700baa1d09f58261bdeac655d36748e6711dd3b76d5d476457e2c23d2e3fd04ce4e0b7c6092ebcaacebe98fd -KO = 8c6a5b3274d311aa0c9d46973692c6d5d6878b1fd8305cbabb8f2b3f2cd3435d5d7c0b2a3c8565c3427fe7c5a54d2a3c0d5a94ce62786f158f1a758dc5dec6c4 - -COUNT=1 -L = 512 -KI = 40c172e30d9d7fc857e987c1a1e65e3d -IVlen = 64 -IV = acc92acca553527b -FixedInputDataByteLen = 51 -FixedInputData = 9eb834f27d12579c0b2efed824cee55c7744130b74df53b05a1e01d03515f082841766e5a9592dc430a182a2fdd83da0b642e8 -KO = d4ec73a76aa3823028a6fcc20af1de38ef99c43a3acfd320f44f0772b88b058fc4826bbd69a31ee2f81ec61c7d4d78a0978aa490dacf67a86f3a8c960d388607 - -COUNT=2 -L = 512 -KI = 637ad4858c66392f293907978406d25d -IVlen = 64 -IV = b299b7bbf3006860 -FixedInputDataByteLen = 51 -FixedInputData = c490cc5b080fc55fdf48b08ea533e4ed4854826b21e82d6d4829e67123e6c26935a09c67c4030cd00397f5345b1b69049151c3 -KO = e3d580c03ab43338602fdc61c508281fc424432b9289326896481f6b221c230ef9a393dcaa97a6c555a7c894983a6d6b1b492e54291be92d5468a468e876ebb9 - -COUNT=3 -L = 512 -KI = 847d9a59ce537ffe0860f42e185429ad -IVlen = 64 -IV = b156efee44a8a434 -FixedInputDataByteLen = 51 -FixedInputData = ca6f6ace9f2ed29abe29ed10cb69a8ca6bcabe7e90c04d7d2b0aa51f469cea0c31a9fdf939d0bac0e20d48ed92ecf6326a295a -KO = 27e992b8616ece892bd5ce3843479f995da532aae452b1e2279d54962345b4bc05831cd42df01a4d59b20803840bdf8932da84bf9bad3de1bf3d2296ad67064a - -COUNT=4 -L = 512 -KI = a9b0ef0005899fcc4e704473ac0ad75b -IVlen = 64 -IV = 823ed23a6ddd322d -FixedInputDataByteLen = 51 -FixedInputData = 71359a3a1a7e8d55f1863ab1aada74e48760577af985512f64829dfd6f9faca1866dd7b9c79f103395f58db9f0fcc90377193a -KO = eb7ad5a9842651d0da0adcc75e5e0f937dc0c7485fb996677d5b6896eee153ecd4acf5f71dae829e8c11ffe941c99104b9777b50a8628fbeecc8aac001f6c5b5 - -COUNT=5 -L = 512 -KI = 327f0ef67ddd5515a81503002917a4bb -IVlen = 64 -IV = 4ba1efacb5ec0c89 -FixedInputDataByteLen = 51 -FixedInputData = 39b9e9f23cfc606b583dc239ba1639c4bfcd05d0fc4aa0e437ce97c4b199834fe401254de51863903b1990a71bf075d1b89af8 -KO = e4ef9f4e8df259a7b7a9727056c7e092980340ae0c9138641aa4dd005bc739fe9176f550854385067e369d55c0d1ecf664895b3a5b2f99cafb56087f68ca0f36 - -COUNT=6 -L = 512 -KI = 454ccad2221e90f06b56d12d1c89c213 -IVlen = 64 -IV = 478f1d0cc0b202f1 -FixedInputDataByteLen = 51 -FixedInputData = 06f202eb242b2bbbeb5c953ce7a64a55afde684e34181af0da3f554e097254124a4c1e3ee132e28a14f21624a09876d4ea2d15 -KO = cab2860af0dd9e70d5ced40b90f1bd8af2b85b7331f26f97fc006f9997157224e8ebf244982ae0ad93fee612e1548afd7328bf6f42aa2fc6ee58e548d7b0480a - -COUNT=7 -L = 512 -KI = f0ea2f904de336eebc155f007ae8a500 -IVlen = 64 -IV = ab7e223aa5bece1c -FixedInputDataByteLen = 51 -FixedInputData = f8bddc51483774db97c05090a8a9a04854cfe333fa743337247b91a79fa169b8396d02100ef241669eac98de369d09ece0a10f -KO = 831f27559720f5fbf3862fd61d47f35ed22dce042bf6aa285d2bfda6ea292cd0907cbf443681de21bbe478026624c68cd4cf3283d5571e978d0069b4ee4a1743 - -COUNT=8 -L = 512 -KI = acde29a7adc6b8a6bd2b01497e694f6c -IVlen = 64 -IV = 41b502642b2161a3 -FixedInputDataByteLen = 51 -FixedInputData = 44ba095f28308205f5e426cac679c75540053b6427ff2cbc5003707b75554138a2d4034443e601cd094185a4ac4750eae2be5e -KO = 8d76195bd1090837ba0e3e132be3bea6ee50eec30fce426189073b18a079e0accf76f69c8206b88a231aa37603b0ab7e3c65d8baa655b4bc011428d4742eecb0 - -COUNT=9 -L = 512 -KI = 01b2a199c4cb9b03a8ea6ebe2ac7521d -IVlen = 64 -IV = f2aef39784aa12e9 -FixedInputDataByteLen = 51 -FixedInputData = 3b115cc8e38bbb1de2c749bd8a5afcded3060b6089ded48d30c4cbb9142eb3b522a423b2342d4ff0f26aadedb85b7d74a70c70 -KO = b34bd049f536bb753e89c7cb5cd5e91e5408f865043b0d86c59407bcb363aa4ba90c597f3fbd5981dab3755188ff6e8b39a40690588a10a36e3c9eae728d1df7 - -COUNT=10 -L = 2048 -KI = ca8025fe06889b0eb7e1820c260727c0 -IVlen = 64 -IV = 4645ac6408dc17c3 -FixedInputDataByteLen = 51 -FixedInputData = e3980732b887c58df63923dc1259581d8e3a09c1bf514825cfd3fcbb8fcfaec303fadf0059e5936721d8979e20c2c5a7bb63b0 -KO = 684a817d6f1b713a9bcfbe9ddd5b5d2405cf3e1695cbfef5b17f8cac44ab93c07ed243b3e8d877e2c67d2fb1d2fcf9585c226889d4cdc336cae84fa313e3daca4d486aa3a0c03937bcaf0ebec646e883e739fceee9048367d90354c7500ae1edd72789f6fd0a709d30e3e32b9472a37526c50af386b089b62ea8e98586b50701c532055ae34716480cf263956985f72200bc2a137f734b681aee7c4a38eb7bf32c55fbfbf6ef5d633e70c056f6a7f79fe9b8fdd03fe280417f7777003bb4cbad8d53a8b02d1f1a4272c2486d707e9fcffa30ede3ec41e6b49e7c319cb224786faaed0e9c1a4d0dfaaca206ccb1c0e38ff45894e0875583e7b117c9ae7725b7c7 - -COUNT=11 -L = 2048 -KI = abbef9fdae90a6214ed18f27a83e4218 -IVlen = 64 -IV = 24205f32ab995a85 -FixedInputDataByteLen = 51 -FixedInputData = dc4b2f0b8fbc54f23dd0c83aec6d4a07ff89398833762f6b78f301ba11c40b466492663ae5f2af0f4eaa1a945a52e101055d7f -KO = 9818e24560d8ab2c91d9b35f0c3bd1b4833961b0d350f803a630f1a713442bb170aa92112ce8eb2b5654ea13e2eddfcde687006564a48e3b0a418e514d8aff672d509ad3bb2ca3ad00512955d9021b4084a2d7a816aa2e947da5df066847764895fe4cbdfa5e906caffed057ddbb86a4f62afef74ea9fa55199bcf51aef12384417d326f6ad6e873bb1475112ea0fe624f54816b1ed8b6f989d6b752a50ad75dd51724d8eadb6f7bace2004c7278fd684b892ecd8469b6169d77989ef51d0afd1321bf2d62c17a0c0ef6fe42ce1bd23eda84a616d52a3699c9cda7d9b0f5ef3ca31b24f0253153d0b1aa472acd722f9a2ddd26306f3a0f70ecede93167ce1016 - -COUNT=12 -L = 2048 -KI = 028617a10895abd36176f2755fae14d6 -IVlen = 64 -IV = 40e9259f38e9a233 -FixedInputDataByteLen = 51 -FixedInputData = f535a7bdb41ed235878d40522fc50145f0fc5a8cfdbd9c2a6154facb0d26528250eb0650d8f4b1099cc10902b04c016c2aaa47 -KO = a4de00b00d298bbe7a6c8e753391210fc5947dd32837ea0052506f5d27a3f8a6078b6152327640eda8076d3c8d2ed65630fb492ddd6dae1423371d52be7904d75fea0641fd115ee7cfd96902c949b05b9527a60b9f99fa61c7137e61059b295ecdac62db8e85974f2c04afe36f864c0c51d7ba0daf81e7bd07f946d19b8e82f612754b8b7edacfafd0a73d7ad759252321b6322c0b4d91598707859c6bd91e0ba5cae297db185a6fad653fa8064793cc9ad034ebe6886070fe780208891a7e8e55afe98a1792ce4427449ad59457bae2cc1bf3f85f59376c2757081afbb37a92bf73da590f859a8887d04cbc40d223f76870c15046138c4409fa9494b1e094cb - -COUNT=13 -L = 2048 -KI = 834976fc19e49a24b4462351a25e3a0a -IVlen = 64 -IV = 1fdb83b8fca1d104 -FixedInputDataByteLen = 51 -FixedInputData = 50a1a5d6824d489b17bbc576a74164e580efa59bed64fd2b14080dca16c83843b59237827eaea60cb518f52b9484682f2ea0f6 -KO = 7d924a475e6e4e5c62c501e93bfde22c9de6a739bc370ae3eaae9c9307b895e2390995e321534dc6f8b85305c9ecb596593374147468b068f78867d09c805c46dea545f7911c33330d553e046203edc17b8d385bdf0537376441d048b9d1d5d01d8206efc8762c6bfb680697f8a44d59bdea6e2b9bf063918826f270ebda4485458d80f4bdc5be157f8f6ff44947dcee59753a8a94147a0f39e87eebe36561c1cd03f583cffc85843225c018761c0b75fd7a29399f9ea2a574af6e2b54a06ca55fd8a45bc3ef1b7d12c42c7d3d00f10455406bbccf99ce01ba9a7e035f4d73f04d695b9eecb2725928468bf09bb4443496e65b4feb5c58d71edd2b48f295027a - -COUNT=14 -L = 2048 -KI = 85c0b011acb25203128022af07582f99 -IVlen = 64 -IV = 93907fe91b0820e7 -FixedInputDataByteLen = 51 -FixedInputData = 0a7c5a0c7160d9dbf6d8e415e5243fd7e0f92ff49b0d13fca74d28b827c7fae9485f0e4940fb830ae4ad1f0035d00e30b58506 -KO = 2a5293ac9fd04b0fa12bb39401c2c22d37cf26f0447246aac0bba036501ae95dfda2b0218a10cf7f682ed748bd617d71c3b332c1b4f8b94214bef45d1cd25deb75873fd2a63efc0851520b2fbb913778c3863a435df5dacf502591d0212b3f9bc844474fb23902351d83effa62abe351b6bc42a146490421896216072bc4994a10768992877bab6e02bd4051995fdf7b0891017a8c86a71da0395359ccc782ee2d9d82dd2952ab25ac7766d080ee5fe2184012277819ca01c54c42e91364039c8764bcab03495531b897d1119fd9c9413019d7c0bee51ec2ce3526c6a1082c4526a1b6b9deb5a6ce8990d5c8a29be9b4da7c0e3b9ddfe75fe5fc95847a2076e3 - -COUNT=15 -L = 2048 -KI = 9ae9878763bfaf084afb54329dbe2eff -IVlen = 64 -IV = 75f039193d647e08 -FixedInputDataByteLen = 51 -FixedInputData = b772cd9e025eb413fdb53d13623e0864d43d8bdbed1935da98b717e57fe67bd5810d1d008d69f3f3806c64b51ecaa30005cee6 -KO = 5a18963fa04734a32faa36ec9b8a15312605e493ae9449e7b5cd668d8af56e56d874027032d2f97e2b08a50c5fa02b9c52e44d648c082824325b951561b3a866e3ec39303fb49c63c37a2247ea99762af972b1febbbd5d33662f7936c194bd0bbbf6aae04dbe258702582c155f44f4dca52e73d4583395ee5a492189b7c4a7168a94f1dd7950f4773e96949c9157c7d572ac83c7393e896087410a4b0244a8782b4b73ba4182182a4c03ef6545c810fda812525a6275a16a4daea595cf858e8bed2a587c517e1ab5240e01d3af4d41741739b7c82da3df9c4a45c71dd54a5a8941619982876fed398b1367c08ebe701a070c4b4655ce02f040041f18732d6281 - -COUNT=16 -L = 2048 -KI = 103b51583cb37624cc92be2316193b77 -IVlen = 64 -IV = d0348a693038bae3 -FixedInputDataByteLen = 51 -FixedInputData = 790c2a4d5756754caddc1d47b35f7a9eff693c7c9e1fee71cb11980409e21e9c27e6c5166ad01c22ba858d09f3f933b38ba5ea -KO = 097c842a589aacaae0b709895fa3c18e5114e9905600950f046852add16b4db25d66027eff1fc5512c4bae7e1814028263081d7e47f6400f32a08236dd5dfa8308cd28c5027eea6b9fea145927f25e6fa5b625dc7c9ce4d74bc3263d8dbee81b3c0758dac707b0057161e38d7e074004774fd9c2fdb09f591c653438ff375ae1c9da332aa66a2fe2e8078e17a7cef1c103248b9c88d0bdf8ba6c1185890333918df09436c6e92ae70793e3dd2f53697fcf10d3b79ee1ce41e3f3bd028f54472562308a2d7421592e24f117db9cccfadb8baebe5db5f56d45a71bb9f96c69b3866987737332f6b1a497be0e7338e71a68842116e2faa30ef562cccd3edd36080a - -COUNT=17 -L = 2048 -KI = c244821097478f2f3949de5b48c9a139 -IVlen = 64 -IV = c95950e8c9149f5e -FixedInputDataByteLen = 51 -FixedInputData = 5665c788be25dff01d74d9e57096a5664735505b8dd646526b1e9f5c277623b685e6dbf9ff084ed7709a02253e682df0a5fce5 -KO = 2743ddb78c79a911fe70b2fa7ee95410c09910cd61ccae28ce709108ad013d1acb03432717abf3124eee2a88664cd1d47eac56335a731c9741c977d67b649e323816ca364b5ba997ed6abf034635ea219167ef7b79ad34db3fca37417089a926667ca8c18b0691bc0ba25810346e961f54cb4c13242913b307bf7545a90aecb4c5d7baf6196fe6250b871ecb3e82e5ebf0c69a53e1de310059a4d001599a422121981d673289525351970ee5cb9c5b02b5d06e28f2ca09dfb1175efe2818aaa1360817e53224a4fa2d4359e5b943849037fbde3783eaddb847ffe9b0129055ad4ec8713af6ab2513ee828a778203ec6855a972b46b84e22e81d8628230d80425 - -COUNT=18 -L = 2048 -KI = b2c0d2781a1e32ce8b2709ffb6677a65 -IVlen = 64 -IV = f51fe42116f3a2ff -FixedInputDataByteLen = 51 -FixedInputData = c2ea485c57d458704c5d55195d4ebb1038efd0b8479f30efdbe301705c798c570619c6ec35f994ce5473b3b662b04de62ddd4f -KO = ea618a957a9234f015c1891089ab82b1303f35d3cf387ca8fe85e93f35c5cbd6553fc3461fdf9cdfcb30d121bc6ae5b9a697c9601e029112c75b0f8b96f46a86fc6439becf8143daf47e7d4ac358e1fe0de0d8d3de2e9221c1fe7b72a6ee5c124502f93971a6d91e5fe85d1bab0119a277e10ba6d8788a380c534e29df0bdc0e6345df78500850992b20b344db0754545bb9f3a0810cf0b7a2a0989da703a8997169782c9f252049fd17608cde518b1a00f4a555543b05fbc85004a6a5a252871b981c78ca8d3f3f7d9970e3ef8e39a54e4405f73a40717d49cdacd50af4765e5abefe9226afbf6c77e1effabc76eecc6dcdfa05b4fd989e37640a681a27477f - -COUNT=19 -L = 2048 -KI = 9fe7859eea99b5bf589bffb966d2051b -IVlen = 64 -IV = df1f52c71c6c212f -FixedInputDataByteLen = 51 -FixedInputData = 2ef77ef23462b492fa1d531e9988f17dd48d00b827d3bc3183997d4873165b83bccee3db0e879c8eb1a45b3903245c2cd247ef -KO = ef106fbef914e18ffdcf2809d9249f59b46cb91d5502708047416f91e3a22e28e5be5460a94c904927670ab17c1c39bc3ba6dd67fae479b264a76550e6bace6ec4d5abd532d81511ba8dd90cb51f0904c1ad1142ff53b70d519873ec35cb013574f834c955249f234eccee488baab114a01b6c67368ea112c0842a2097b27f1793243194ee6c30f070c502d2d2d69be3b50ca4fc9663049df42919e4483dcd30f7b3f3d377f444b05a7807a8e4269be2ac2b5ee14c72739efc8c4bbead7dbeb8b11312140f7cd7736eae86566fc9639a0e7701610b3c7c2b2e821b9e20a6df86d22e0f85444da5c6c8b0d1455f89b7943eda31873accd824799097ad598af7ad - -COUNT=20 -L = 560 -KI = c6f812588b8de8054fe598a2abab8b8f -IVlen = 64 -IV = 938de3e3f211f774 -FixedInputDataByteLen = 51 -FixedInputData = d865783d45173abf9778aacb5e64c3615399f98dcdcbaa465c193975cae14d8143e814e66ea17acd412aeeb3f4554892a76df6 -KO = be0c7850aa77cb95fe3889053085cc68de5856fcedd171f9da6a3b419a0733618d10f5868d4b01a484ddb494a3705590dc90955bd1138c60efa910d2920b94c9bfde5edadbaa - -COUNT=21 -L = 560 -KI = 15d7df3d83a745e9ee80b0a37198da31 -IVlen = 64 -IV = ffb8cd0c7cdc5cf1 -FixedInputDataByteLen = 51 -FixedInputData = d18b1119f019d7c2d72951d4fe737f4edafc0a60724f1a63c2db528d8ca207bc18a39e200e76dfdb4493cb936f3c566ec2f659 -KO = bffe1b4a64af1004bbf0c1b880d697660fc302e82c5fd6d17d2c05c03f5ada718197cc59240c3c418c9dd9abe52d356142f46440d807b959c7c340501b2534f4d3238d6ec7f8 - -COUNT=22 -L = 560 -KI = 063303426338f7c551e9421e578bf0d7 -IVlen = 64 -IV = 0784af000f3f8b74 -FixedInputDataByteLen = 51 -FixedInputData = 387fa28f600c69e0f4d3394cc639dfec0d7a69f7ada4cf6603d5da97695bdaa4ebb91a5a36c3b1a125cc730320df7a1bdbfc50 -KO = 44d29606d1f607695826c49bfe1b272a723fa49767e9fa726795cd13e52be1c74b5a9a75d4ca8de81758b8576cd7e22bb16d43502bd2b15adb3617c7a3b5b6de932280ecb949 - -COUNT=23 -L = 560 -KI = d783f232aea3d2fb6a0248d21a212acc -IVlen = 64 -IV = 2f5bd3107fb4d279 -FixedInputDataByteLen = 51 -FixedInputData = 49fb8bdacc355ee2fb2a99bc7a934436a93ea80f8b2c9a2e84b6afa63fffe88f0ada85e060dc3f84877b290842a86a74d680c1 -KO = cce5f7b51c719f09f6761ed5207147c4d0c1bb11e62995697b0e8eeca53d954dbf6525ff87183e21fb0843826e46a7abf0ce25bd1212e04ebed1982c0b72e58afe4a609512da - -COUNT=24 -L = 560 -KI = e40619bf0a0888ba37bb5d17cbd8e64c -IVlen = 64 -IV = 9e533fd974332e30 -FixedInputDataByteLen = 51 -FixedInputData = dfe85e7399ee8af3f4db1cb1f8b575fafb46955717824af506159cfbc7ad7ea399612edf779997b004b5edddccad9742457e94 -KO = 48696c5299fcd8172d8b1098bc0ae4df76446521c4ecd357a314d22b817c01771f17f44457c73f62725f6fcc138d0adac6a07bde685579df8b8de0844bc1d24663dbfdb647be - -COUNT=25 -L = 560 -KI = 51055435f2256c5f082d7d1f0ed05a5c -IVlen = 64 -IV = 25e2b4493d921079 -FixedInputDataByteLen = 51 -FixedInputData = b56db5f2cd11b0bff5051f15e36fbca7f51d2bee72637e5b5b66f000f7aab719470f080f7937be77c7b98a9426915520f916ea -KO = e3676206cbb3417b486ce8c917b6065f1cb44be9287efb1811635bd23cdcea6f4dde9698abac651ceea7896b7de01659d9f89e60900164fd610c05561542c935855ac79214d3 - -COUNT=26 -L = 560 -KI = 2ba9e16b7dfb68077ac658380cb796a2 -IVlen = 64 -IV = 996fe1cf1d658e62 -FixedInputDataByteLen = 51 -FixedInputData = bcb3112781f6e07fb560410a981531cfb7940a3dc5afaf2420e36460ca81decb4018de01cf7440535abf2f9b2c6f03fe9c38ca -KO = 661a5fb0e54d5202fdc7ef9172eb7cd7bd9e315ce21a7a80c3e54cb7e6d98f39f3e780828e9e479c1c6f6dcb2abaabe7f0f6da7234e706fd7a310bcde425e88fc413fb29e8b5 - -COUNT=27 -L = 560 -KI = 72b7db8ee7134bd4f38b0b630fad0e30 -IVlen = 64 -IV = a53b85e6f47064e0 -FixedInputDataByteLen = 51 -FixedInputData = 2bd7faf02334da100c263723ca76a0d7611bc0c09f31467facb1cb36ad2aa8fdb1a5ebe27735f3a2902fb76d62af7ce0f892a3 -KO = 846dabe4bde51c2b68f5c8f64d58c0c9b4a4869c6c805b6659c5ca4742d1a7385d5429897b69ec279b9dcbb4498b157c326bf6868f95e53d5cd060389f00c5a127dd793a9f80 - -COUNT=28 -L = 560 -KI = e8086183d63122d8a02e8437a752382a -IVlen = 64 -IV = c58298d97754ecdd -FixedInputDataByteLen = 51 -FixedInputData = c5f7d85c5ac5cfc9b53b5b10b37ac04b022c8af0d7f5d16b20a2bc73bea445c537bc9531a797ce29e76bbfebfcc6ecc6b54481 -KO = e344a97cdbdae5f69798b0beeb07802656ea6a9cc7402ebcac9febc3dcf13f4879af11334b9e26620bd5d6aa0801562dabf42b8fa1ef8c89357d68ca982eb84e728801e3d510 - -COUNT=29 -L = 560 -KI = 2fa22f4db9754741f00495023d875129 -IVlen = 64 -IV = be7a0f6a0e3c4917 -FixedInputDataByteLen = 51 -FixedInputData = 33a3dd68d273dacee18f49795684f554936a127c60a90d973935cb4a016641ad89231c08095952586c6af1174c71eee3fd6398 -KO = 4ae4122ea17b4d1461d0ee861947c55f7ecb8071b7834d225c4fe65232e20e6c4c2836256e9947c94a161509f753a9007ad6b1ec8c8d4674a24a5a44d9b956318666f8880fba - -COUNT=30 -L = 2400 -KI = 53bbbf111a30c1a660cae8eca28ed38d -IVlen = 64 -IV = 7cea0aa5f95dc66b -FixedInputDataByteLen = 51 -FixedInputData = 8a555ff5c651d08760571c1eae519b07cad8b31bd757ab8b7b027632d164472666c4f76fa115365e9034bdb4b15d2a89293b28 -KO = b3fdbd9ea552cdf43e4c753f22ef9073133b2ceb7d7dd518f93438156c38b48de1198cb5bf6f9c894fe7cc20c9e63cb0bf9837e9ba2a435978047fb02a857af78afa743465bcf1f7cd244182fb4fb389006fb4da7a02f93bdca39340bb7d922b14a5c9b3d1cd83d1503c4e3ad6d50f21f3f08e090d30e45122b7698d1d69c2e5ec27df1cf342f138c5853c6e0011bcefe651ba1e45cc25a2f7722ea11b1ad5a3f4c1e99515bc6cddf538b43be1913096f5272217aa06ad992e884fef5420308da9de8925ace48bdbb95d5499ff0925652edbc946824c2bf7e9a3cab8ece178b3dc3e670cf08c029f30283b1b363704508e62b90fc1986c253afbbf1d8463ee9d914c170a751885102d43574b60e41c6eeebaac7f3146ca00cd2b1f3b8963160b4a5d3b147734b276769f7bd3 - -COUNT=31 -L = 2400 -KI = db9c70256c32eaf8d2111b97e6aaea62 -IVlen = 64 -IV = 288782575ccdb9e9 -FixedInputDataByteLen = 51 -FixedInputData = 2e4c29e0b7fa1868b48cde6a43be1b095110602aa9f548dc0acb34791ffeacf38f928c114a897fccc653601bbc32b97ddf8389 -KO = 8647a491a5bccaa7a8778a6318f54589a25470778f7fd854ceb55a11a8b68e9abff04f0cb072b4daafce2205bc7a0d476bba283fd93bd71b8e427ff9fb5da723830048907fc14382474bdc2db75716dd39d7e2a815d045304f1aff80d5279b9d3e783036f7eb280f371970ab50c74d7ebf21ca1730474284f6727eaa80a757b1c464dda81a8e74b5cbd6d9fe283544c8c3c97cf48d16d3952e1ea96b66b81ea8173a7d4398ca8b31347332456ecf4d57d6d1d8f3690db0d319bfa768b008fc38bd14482d9beb1f3a69147e42a0c926ab60f1adc8af6fb742ac01ba1320ccda91b1d68ceebb228066fece070f8bfdffa21600e1ee6f48da4bc230591b6cd3d22fd7688f878bcdb3d6d479791aeda756e31522888adb47b62ce11bbf27dfaf7bddf2c9dc6992d3e4d4ae528de7 - -COUNT=32 -L = 2400 -KI = 172180f9b6e94200346ef7624b38bae8 -IVlen = 64 -IV = ffd25b1f7c9368ec -FixedInputDataByteLen = 51 -FixedInputData = d1d499d3df27dca350a81b1e0abd6cc1a0934bc2578382f6d9752660fcaf734531bef1bf1ec68d872af14c342f7270b761df82 -KO = abb332c0a431b560c211c0e3af28bef18390c5f0bef38522b88ec258cb6b79d78e1a3bf46e0174bd65e13351f9717effb42fb449950236c447321b53e2fd6221739babacf9dced20a7c713fd4a252ce2eddc06153a434c496fbc26e95897d2cc51697192259b208a28bef19698906237d5a021bdb1d5d2b33f493e00be0222e4297fd268dd6ed84aead986515b2e4649ce4a9ea0120f0e49f247603895ac33e925c77cc7187f630e9e03f5cf7d96218c7578b1ba1f955236bbba0acf0a2cd03b47c276c7649320f7b8806594a04e35bbb1c81fbe0c31f006dbc675b580b621e5948dbc7a095dabf32d307c88ddadf7d66b4309ea1e0842d34e5cf0c2550355001f268788e96b7a803dd88bb7295f5afc370dc7cd86f66e751ecf8314a9c6a4a5bcfbaadd92af63b53c6ebb24 - -COUNT=33 -L = 2400 -KI = c42a8b73a77da43ea772d5ac32524ee8 -IVlen = 64 -IV = 117f871beef50b60 -FixedInputDataByteLen = 51 -FixedInputData = e60237b749f517583a18fa455fec0355475f0a2d234b0585cae848ebafeda48dec15bc36c6e5aa5d95248cf4a0365a87ff0648 -KO = d5a40d9daa6b91d545ef31595f51f8167dc53ad366588b88556d7bae231893d2b1d7db2f33b70e20c9f96833a3ef1ddc92ec98800138637fb38c4d4e42839ff0e860ece4f20724abf5a271e6bce5e2e427a2b270698616f763d9d6c6b8232cf8ac1559a3eda3fca44d50b722ae55b05b4bf99fe45fc448cde82d85cbb6bdce952e7d2e1becba89b8d3c98959c5f67630bed7ac07ceffbefc9e23d18da0adba9cf366e1390355041169a75bc10c9b56f07fcafe54a0b83bc6ed955b615c79857447abb8ff62f3a7d01cffa76a27e60747dde664c09878c20ce455fe263bb040b6a9b0c02949aee11ca4cb0597cd11a34319b144eef92030c070fd63b682cb16d8599de791754674f3124de120719046eeafe86284167823c2d22ffd71e0612ab3d2c8cf044a2333d754b141ce - -COUNT=34 -L = 2400 -KI = acd0eda385e3453f83563b0b6201e0d5 -IVlen = 64 -IV = 5fd113e622fb6f29 -FixedInputDataByteLen = 51 -FixedInputData = 845e5b9e1efdc1e9987950317d6c77e6658ab2a79de145176bc8d01896437b0f3b0b98fb9e6fd420f9abe72504e164dd4cdedd -KO = 9a5e815d2e590b6e7ccb93f19d7a8f0c2c4ad61bb3cd8b1519b184f663aa77e15e02443f54524ce479412f326be269e272900908b38df21970e57ae8d141c002f77ebfd91b15c78a011482f1296b692b96386f4fc175d0317b0188af88f31057a36eab4f1f1daf3482dc31acafe8fc66852557c82ddd0d3a068e32e7158215ec4d3884e5d6bc645c79ab960cd1982f8a88dd2937e602fb5ad03c658c7b8564d49ad6d6e8bc8550bf532e7d559518a266751d43ffaf9c23382f8f3bf032421b021cf7a8ca3f86a667a4a7326445bbbe340fd4ace06bd1df5a31bddcd22f67127809dade97c991eb9ce8766cf3740de3c5dec8a94ff36852620dc2d0f52a6bdfaad0bd94a3761cfcb2205f363bf41e71102af7c4efa4cd2243dab608c03c79fb06dca9df7f4db8d58c605916ac - -COUNT=35 -L = 2400 -KI = 0dedd11cdcfba4f7637b8a2a5bdecd8e -IVlen = 64 -IV = c0055bafc47543ae -FixedInputDataByteLen = 51 -FixedInputData = a75a74696b660d3aa2f45d750d046e8f825c1b2634e6cee745f1b4cee8caec15497f95ae6cec6b22fcf89b9f290fd7e8ce22d4 -KO = 719e4643e9dc87a1e41d48239ef89dd72ac097732c28972bf5297f3a0e9c7fb39ef7c9a1de2ba1fbde663f01b8ef64bfb95171f2e7200c6850cc8d26e9bdb53304664812fc3b81b366a48cdff87931da3752423ad43a0ed2f01dc3d4e5dcbb22e3fb840a9b2b233ae9e899b023bc19e81a308287f0e779daba21825a6094a263da08e4f77cc57435f250c4b15d9737a659d65607ed3c84f9fd6e5a3de39730329ba25b4413d50a9164c78678a5c53b3f65ec92e7128dc06617c8686075dc24a913732ff9a82543b3851e30c710903e007a17205a3fcfbe43993ef1010014088e5299f0bc3c03d5276f6486d69ac927c6ed5747e09c4b31b6c3aa68808ddb04aaefca7965febf68b73eaf41557289ee918245ecdfb78bcdeefad11fc0754af854f627d936fc746b46de0ba062 - -COUNT=36 -L = 2400 -KI = 07a8d519993ee744df30be973785dea6 -IVlen = 64 -IV = a1c49f1303559e2d -FixedInputDataByteLen = 51 -FixedInputData = e893ea9f077663c19a6f04a48a3b1f8e40542daae305f648a9601415ff9f9d9422e3ffa5edf09c085fcd440e5fda3a9b3fc7f4 -KO = fabf72b1a9733e9d255b5f6efbbaea9a49b80d7152f763533583e8cc7728ecf1bff00820ef8ffb1b7400c90586373941a91744b377a16999188d2e8b2a9d781fda50ce4516952a37bdeea142c79031e63c783994dea51b187032068732fa37553bd208b00fd972d0f01d4f89e7c2035eca11774e66708ac82eaebac4c81b231e3f67d639964f248eae0cdbe1f4fc5a3e64e233dd66adabb0998ace2eaadf7bd7103e6e639ba300e460cc39cf79e196bb1e2b0e294b7732b7d4cec08788030e00c14a6a277db5b685317534b37a8982ff7ca8c6433de5bbd4fdbae4b8f2895f3cb492e2a42c899f8960eb03400e769a8562c00a122a2a30fc00fd82c9999cdb657005cc5255c7198968a9ff7478108522d7d3062e1edaa17423c829966ac77d6c108598438615bf0d1c27a09e - -COUNT=37 -L = 2400 -KI = 14b03860239527c78066f9a0d4fe0336 -IVlen = 64 -IV = 03fd55e7cdf7c716 -FixedInputDataByteLen = 51 -FixedInputData = c04d76db342d158f883c24a1bb56a064f5c7bc95e3e4c8b34ec478ec83d55466e19484b32179f5b06a5e3ac74f5d97894d184c -KO = c7c8c2ffe981cfd7a23115df064b3b9fe831e0871149443f5469427d03f5e430eebd865fd53b595623427507fb71bed5864884d7935bcb4e3c0c8ac0f6a28b803cdb3affb65eb5a948a4ac163dfc1c956d2b552e1836aed8689789f103f0e9d7b71b828c0bd5747f41fa80683adc753f4bc2f1283013edda26da93f775c9d5e58a13024f7d8541a1b43ab759faf840a6a91911deb99222fb12db16b0d79daa5ff6e4892e047b6f77ace611bc322a737c69b181db873f776e88322dc961545d9310b56bd67b5587ea7260c326113aa16f819227bad99de4b05eec990d9af1f18badf9b6a01e8c34b24fdbd594a3509fbd39e8e290b1c6b2eb890323fe49e39eb374b575977f8a141a8e86856427d982a59978f88267d3c17feebedaa80e3ac81cfd258d833b8f42561d742e0d - -COUNT=38 -L = 2400 -KI = e05d8af3428e32d664f0b243b233f08b -IVlen = 64 -IV = 418e833761e56c3f -FixedInputDataByteLen = 51 -FixedInputData = e2ae520fa288b94e02a12b5e2ea6405a28d1a12e2945c48745ef634d3e72af7ddb57d1a137a1cc50bbc1c8825d24ff6cdca8fe -KO = 595ecb04141fccb2de629b6aeba13d12cf7933a4131b226cf4484da1c45f808493cfadd24dcb49c3cb2d7a98fb45eb77adf17a809c0dd3a375be7165b899ff6ad51a8940e1148ae761e3454f24e12627cb2a3e9a1670709702380a76ca216b3f268732bb9fdfb6021b1442439192326cc56340d49c683b49d0b967569a93023ffdf93e1456b6440d781c08842c4310fde8b5171756586be34966885e32bf42f1c264aee2108b1a6cb1d2394d662baff2a83122fcb6f4603afabaf1dc1322ecaf834f0608a6e04e60854557e1022e53275ededb551808e50178a0dda23d2264dac949c5e0e700ca0cfa523fdeca0b36ea8a4d18a9d50b883bc94b0f02e01768a33e09d55eeacfb37dc78355f7210dc01770161cc227f44b04c183648f0d92cd636835c63025b76077c9b338e9 - -COUNT=39 -L = 2400 -KI = 84edaa4d3f6cfab0189dd491e52fd98b -IVlen = 64 -IV = a5f49728541ba4a1 -FixedInputDataByteLen = 51 -FixedInputData = e8f011d891bafb3754cae28f10afe8f803e2918d18f7fd66b974dc6c47bb38aabd94e2ebec94b476bcc0009e19a6600530b305 -KO = 938065f04cad18bc21622ef3370802c00b8c2eaaf0246e594eee4d7851567dd52873a5f57256ceac3d7aa73b665f49c56d636a75120b436de6a80b36f419cca6fd08ace853ce59d3a16ab452fd96bc2fbc0a718ef7ce703c21ba655ac035ebbe072d3870311e26811f3cbb28c06d3f9b5edb4a13d49e51aae7e29e430432c2bc14fb62309656902b8b8c2442f079d146405f342e457fcc718f892e6b445a31bf871d3dbfc843b0cae1a1622562798ce09621e966dec0ec1ed48d4cbcdd1419e945f58a5709a30f2c9ea3ab39cfb476f48e927ea363b73e08a9c4b315f96ae066cfb74c306c437385426418f3f2b5b3067ec8c34fb9fdf9d5ac2311c7bceccdfaf1553f355fcaf975d202e7d40d1ecb2a1f860eb00c5ef486f740276adac35a91e62dd499954e0d5b783986b0 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f3e28c7e48931a2284d8e2523848027f -IVlen = 64 -IV = 82ffb0b0858f438e -FixedInputDataByteLen = 51 -FixedInputData = 779ce83b49e160e04bf663d82a94b44cad898137678cc29ae01f9c06c191d4439ef5d3bdb517d1403e6cbf816cfaf6eceafde4 -KO = 5d785050ab38ed8bf1289e7d019f557f53ca7d6d30fc63cdd8bbb0776a1f27cc015a0540d1218cb9a4822fad78f2a6d67f4c76da6d8837867bc5bb540250bd40 - -COUNT=1 -L = 512 -KI = 7717d212ea0c25bf3947310626e81b7e -IVlen = 64 -IV = 505d0156f0534dc0 -FixedInputDataByteLen = 51 -FixedInputData = 87d84a8d3c79298fa223f213d03b1e8f0e85f9e993989e95d7b2d489bbd869ce9354dda9c19d7a90891ea3faabcb8a57780e4e -KO = 76d36b7943a431cdf30bf8bb1e73f5adf53d54b998879f57d2dc431c4c85e44d3fefa4f6bb4d5fdfe1d3657689ecbc071849ea01c75adf85a75e1ab1cf2e9748 - -COUNT=2 -L = 512 -KI = 4fef99a3c089103f94ebe5afe4fc191d -IVlen = 64 -IV = 7b9d6bf300445d04 -FixedInputDataByteLen = 51 -FixedInputData = c7162b1ee8d47cf4e7c3a9717fb8ee5ef4e56795fe85d0a3b79957ce7cb83a07468b477b8d913041469ba744d3489cde0deb3b -KO = 8c85e18e175fd7268fe28393ef13d7c9a1ed17a186864a813457593482f914b24e5f22b0736050aa9c6968b8481ba14b9a00bb490615d1b4f1561f770f824057 - -COUNT=3 -L = 512 -KI = 299c3ec5e4262d1c607257e4492b79e2 -IVlen = 64 -IV = 6d3332f71960b5f3 -FixedInputDataByteLen = 51 -FixedInputData = b9b58f0d2265641ffc9662100c5726f33ce0c87f92788c256fdf41add7e0f8fe6ffcf397f3af66d78935d936e3572dcb5eea53 -KO = 1d42446da2e127d257cf2b6d42536c9920d0140c73abe98ca6e5e5a31c67ea20ef396a97dab0958dda630c42ffacda9885619c3cc3c84a90f1eb10454ae61dcf - -COUNT=4 -L = 512 -KI = 4d1190dda80f53846da52340e20917c0 -IVlen = 64 -IV = 95445b22eedc691d -FixedInputDataByteLen = 51 -FixedInputData = 70cf942aab42a0f48f74192cd3436ea638f7346bdfa7cc9875cc14a7f841a280131024dd6cb22e9b905b7db123dbca083e5fe9 -KO = 688eac77764e7e0e58324f04ff08742ba8552d951c963a17996ba8d5c9cfb309a05ffdc6a2b6258860bde7380cfc514209d835259bf88823c17a590b8d655eed - -COUNT=5 -L = 512 -KI = 010ba94b64e1abc0ebeb57c89515409c -IVlen = 64 -IV = 9bce7001cff2e7a7 -FixedInputDataByteLen = 51 -FixedInputData = a1ce823b469fc3d144abea11aca5ee9662573c7db1638e9567df0c9b78247f926975c2fa0658e47862869dec58e57b67622449 -KO = 15bb8596783b6fc2d2659d828d0411856f555d764ad3e659af3081d7044d34cd02ee0534af3cd9957a315493efd8dcd1c6a84b0a2f052bddbd72e4826fa81681 - -COUNT=6 -L = 512 -KI = bc76091ad0f6b5c72fff074c61643501 -IVlen = 64 -IV = 6d037b08d0ffc505 -FixedInputDataByteLen = 51 -FixedInputData = 93f0917436d0b2f7a83dcf67109bfbee7cdf86acd652a9916129bbc2ae6142e5538ee51fa7da1845cd6e30ab42d24287a43607 -KO = 5bd019d6f1fb66d1be8436c915efd778cd4b9e28c1055b28c8f3282c170c01cf0e770e6289b77efdea52a514cdb10094da4b9cf4baece63a896fdef22d1546d4 - -COUNT=7 -L = 512 -KI = a90f348f2e6203c12523774460262b09 -IVlen = 64 -IV = 2a76088971584db7 -FixedInputDataByteLen = 51 -FixedInputData = 6f0dd442e74a1687b48f20bbb9752e02b8538bc2d904e0385c4748bd44ee9be7f28d1c11a83611f3f5e98db1d604497ce73d7c -KO = 612691023183fe196539839c693556c244b0309822899b03ea770a6f56774998f26eb410dbb39ae14de4c25574d8917a94378a5691474474118483de1cf62063 - -COUNT=8 -L = 512 -KI = 3f33cd3a2f2f0654e6914795458b8d3d -IVlen = 64 -IV = ba6c202e7d68fe11 -FixedInputDataByteLen = 51 -FixedInputData = c5c7fad362b7f5105b43bccb8999190f3be540eb1f68cb1e81ce8c954d90e94f7bab57082205ea592c10dfe9ad8d6ccf8d417b -KO = 5bb54463cac24203618b378b1a2188cc03d3859bad2b0b99bb9269fd8f19552fe7888eb75fe8fb46b11de65cd9941a64f3c5d21483d4fe57ae00d4efe836439f - -COUNT=9 -L = 512 -KI = 3c56000f01f7789bd68e831c6ae71837 -IVlen = 64 -IV = 646ec0bd16eae431 -FixedInputDataByteLen = 51 -FixedInputData = e78a8f61c9badecb4e38a869011c8939d946c16b9b6f99191307c6297ea742caae016d50d34d6fdd4b2b4684ee0d8376a65533 -KO = d44b01f440076fa60ba957fed452a9e26edba19c0e4cb160d7f62db569c8de507ac7254525726b0b20d5d20e6b74339635341f5e02b6f7f97c1b1077702b7f96 - -COUNT=10 -L = 2048 -KI = 196c112f32f60c751dc6da20cfa2b568 -IVlen = 64 -IV = 8384e0443bafdc86 -FixedInputDataByteLen = 51 -FixedInputData = 4ec57ff78f55ecc875c856b9e027c1c5ce1a289ccdb60bf07434c1f785dc4233e9a4224fe2169b2f4726c5e00333266de3af96 -KO = 02c9b086aa3b22735e8bf90a3e0dd65f484cda0b0e9e836700e2502a40999e66ed36d48f9f99627ab529009f66889d0b8eb8bf7bf2618ebb679362ca971a5b748dd9bdf2fcba54e8454e3ad3a68d679476ee1bd982ea7fbb3509771b4ee2a1b7bc390a7221efffe8ac68519b208beefa7f6cba5fb6c9044b57af02e42e9844d2d356d2d3ee1c92b79700481f0b1010c4baf1fe6ca081114abff3aff4f42900664db7b15749e5e96396e379b88fa69cab5fe9d3506e13a38e50611e1532bba22e929924eb94891da6965f8b90a92dc5b065f290cef19ab21ae8dc1c77a3c3c87c81cd04bdb605f37ace884907ab74f1b815c375b44b81c2e59adcda4b5eab89f1 - -COUNT=11 -L = 2048 -KI = 17947424dbf11f9ea4e0bc7c363211d2 -IVlen = 64 -IV = 10294be57e5c13cb -FixedInputDataByteLen = 51 -FixedInputData = 5fce19e1641a1a3fafde665cfe966c3a10c4d75f92c96a3c09d2057a7be15ec5865e60ddb9f8f4ca6d6a5496dac7ed4e4ca9c0 -KO = 3d5ed0e6ca76c5307cf15c019642528b2ff2a5472b2b1c2bc049abab436eb4f5d52f8fe2d2240b6f02f816634612ed0651fff18acb5c46d8bfaf903d4ea405a47e4eb2b9e79ef16c7a72b9d4ab8771c47361fe7220d07acebdeb4d0476421bf3e4da893701b607c944f2159290ce8aaaf1423d869463da383219eb28afa7625d77a65be68db4ab2980928f49d46e7766f540126e6d61b30eefa4724cfed292ec9d1c65fe308a336b9565e2a6dbd82cceec45d92f30fdbc5b4a403f11c74b8d4e4bf55571beeda9b62c4cc0db9221f9f8ed5df547592f1ee987770a0aec070ca7c38c66867048494794721c9acdc251b89499d4939c854f1c0b20eb4e0619a046 - -COUNT=12 -L = 2048 -KI = 335a3777a3666f1d9bdbff7ac5bcf28a -IVlen = 64 -IV = 470e592d47c8ce12 -FixedInputDataByteLen = 51 -FixedInputData = 304f2d8430c734c9d2f052335ca0dc68eccd249f16069f044c408e0fec965d251374e243ea4dc3e584bcdaf923cfe25a3a8174 -KO = 515897c51edbbd66f1ac65eb2bab716b8b97723df7018d1e1314692de2b70e2d3c3443462ce8d23151db9901574c172a4f3b3bec266b6b2d235e332dc259f060272d490b7b3bd6ccfcdb7c553090bfecd0382c125c6f317c17032a525d42048c24be064f8b2124c18843c1f64a1fc186a258b2a235c66a0235701545d1f29d543524387ef99d8df885e19c406b23f2b1ac10f52a3449e3f1420e46d1593a849e682c56221cb7f869ea82ce486f54c21e3487cc4e538612f28baf4a163b3539811cc742a6acb823d5c22dcecf9cd81ac939b865863fb1d07de40057cddba9b0b2e8ae5885e7118fb1ac1dc904ffb864432945635b0903f805264c9aa357bd5529 - -COUNT=13 -L = 2048 -KI = c877009644921db0bd35998d6e10ec39 -IVlen = 64 -IV = ffb0cd40fde6d08e -FixedInputDataByteLen = 51 -FixedInputData = 4be1b163bda889b61b598019002e74473a0e920f8649f0172f872ffe0e85f6893ca5e6c79eb12a71c5b4d06e53e419eedfd648 -KO = 4bb2a929d23ca8bd80dc634cf8f0f2dc8dcdd043996c32c27d98365e350f8650d72410e462f28b7ccb9b03d3f9094a18c611c41742d723f01ffd894ccb99d31c9c8d31ba98d015a57e53a299b0e67bdffb3406c4c6257f68c15139b2f237ce96fdab6a15a64b89957f21ac6ceea3b655c15a0043aef35075cd0707fc5afa77db0437106d974d30c712303df820ca22d5e94110c922618dc6d3e9976d62097160efc30164a3bc3af923c32a504d9ce8bd62250141ce8ca487ca195a9210b87336939719f121ce5224eb7fd7a9a7ddab6862d0c7b0dfc4f11f2f8be1faad870087f908e51408d823650f7695f036d10fb20ce8f901ac9bd867c4b9b1bf7962cf73 - -COUNT=14 -L = 2048 -KI = aeab8cefe1038ce7074d72382f05073e -IVlen = 64 -IV = f8a9d83278d97a10 -FixedInputDataByteLen = 51 -FixedInputData = 4ff140a5d62fc8908b5496c80f80573d8fe4ad1f823fb4d23b4ff471b8d4803f16c31204ed8c44ae6898e54cdbc67b428a3795 -KO = b9859cc427a94e6c3bda8bfcbac30deb87855550fb8f24e771e3f3b822e0579241de3f8fbb8c8ae15f294ae977d9e504e8e990f8d0784137adc2814e563655264fddd40bea2d80827961782df0c8c63a0d3e005424396c496035ecfe1a3a603e5a34e18890ee4f9350faeafc6e36d325685a760c792eed479025cae1d6efb49a2395049bf838169c16ced44687beb4f93e5790793fdffc07de6fa5abab2b87c3a335b9c2a9791c3fc5c9fbe15601c986a0a4caa9cb0ce9b9013e4a34d83106c066a3a9c80239f0cbc48bf09cc3aff37730bd4d541d7c08a3e2bf8fe67cddd70cda119edca1ac14cc20ba87a0896f32e6d2c2f70179873b031b94166104f0f6bc - -COUNT=15 -L = 2048 -KI = a2d40fdeddc13bcedc8b4b322cb8ef1e -IVlen = 64 -IV = 8d75eb071fba3f0a -FixedInputDataByteLen = 51 -FixedInputData = 91502268da740619d3b276f8d0285138923ed3d2d0726bdade070595c3daa8561f80e57d964c31af01c97c103c61f18d6161b6 -KO = 810c4d122379be3e051ec933a1639c91e0321c7c949792547a9afef82e286c162b5cc2ed15ddea3db9645ea674537dfde08a5a1b73bbefc2a75a2efc929ca04dc28be45db06823e89016a28f63041fe6562a573f234455e20b1d4afb8b602534cc2f1648baf7bef4be2bd0c62d85cad715ac3115c9cf37740a7ffb245ee06fdc7eea17923b7ead43c98441827a904fdd4e51a27e7ff678ef7af14de7729189bd0ec95d9a02f5da5a4de780fa96ae15c5d09cd7d361afd4c9d092ef85bb241528ae33ab8a2874840cfd0cfb098e316c9f874624efd8667055e0dc94421da3745a3d1a7b638bb48aaea194bad730b6c34775cf97283b67dc6021560dd605b398d2 - -COUNT=16 -L = 2048 -KI = c0d562bcf4df4216aaf8d333afa68269 -IVlen = 64 -IV = 2da3453c67d0c873 -FixedInputDataByteLen = 51 -FixedInputData = 9c6155e8cd8534e5e9e8f2bce654fcda73c0bbcfa74a9c7dd0910a4cda255a3558ea5bfc57b1dd85b2f80515eb59e02bd324cd -KO = 75bbcfe5780b0a6e197de21c9252cbdde54f66e774891054d23f0f1097cb305247698afa01aefa4e4070d8b1a007f0ec9a1f2f2ac6dc4ed8b9652c165226ade29fd8f0fcaf7328cdd114d364a4b4f8645807da33363770ca644c22d35e9199d43ef956341dff09f5aed8e794bba763d3c33dc9a579afb7d63a9ca29fc2b6fb5c130d07f4a3fd2bcb0602f431a77a0dabb9b8e684c02ef2cf28861903ed8b55802f0f68943feecfe4bc2a7451723a423ed5d92d7eb43587d7b28b39f1b7fc37b7d295342337627be14ef962126da0aa473f1ad067f93d66483c888fe2b3e35b7bdff63fd4ba38b059768c62062e39ccf2029abe656bc439456e27cd9859bc8bdc - -COUNT=17 -L = 2048 -KI = 7de2db8dbd9bcbbbdba3ac6179b3c102 -IVlen = 64 -IV = 1ad238302c0e5f6f -FixedInputDataByteLen = 51 -FixedInputData = 7b944969d018718f8d23916fd107eea819574ada443eac1ac0c52ac5bd088966f4e38d9ec5b672e764467b7bffd80e1f126daa -KO = 92cadf2679410337902a19fe4ccf478563fb136947c2d7fe446814e1c885d7b8a4bcae957730431dcd70acf03bdd78f35a784f634baf0779d6a244ab86dba40928accad4489ed02983ecdcb4662a255694f7a3f2b883745ec009aa55515980b90f42462c4ef89e1d9cb1c8490d751d84737f36982c44448366b95d31f5b0c387c01ed9ecd97e6f149a115a20c06605b4723ab1592e3cd76c99adcf970961427d7c731aef660d98bf5bbc0a12c73cf0ed96454b2744ef7e16417177614f5321430415076b44c570efe8e727809d073aeec553b8d5e2b3a90340f33f077f892188e8153e25583874985de2da36f2a67a75546bfca3715b6fbb2d4b8ff24fecda54 - -COUNT=18 -L = 2048 -KI = a7389c167ef1e60f0421b50656081e30 -IVlen = 64 -IV = bdf4d8a8090c8a05 -FixedInputDataByteLen = 51 -FixedInputData = 645b1939b65a052d6b419e28b53a4fbc1c84c8f851d7a9f8982f34f402937729da563b0e8f219fb39930a67c6d70cbe23781af -KO = c76f04ee0004a15c7149279aef8c7d0fabfdb1cc53c8b850404595caa5ca9b3f045d69ed45cd3ae51c3330ac3e6e0ad9477b91acf8a398e222217ddd0f8352ca0223fb674c62c979576ef6493fdce1d8b2345f99685864e024b0978a5b28a2863afb1288db4c02012c332066e214a0bd2ff8007b05c2e6304252f0624d33d662df0882e82837932866a8cbc4137941040c604405a116cb87ba624a74b041ebf92f4995115a14b82ee0db18115e98eacd61529faf744262345302f865c8e8d3dc196407716be7a395adecccc11719678b8bedf6707d20736836c76d82afffca0cf17bfd732b02f5c0adfbc97ff383f6c2439ee3909e9a59c7468b95fe4d8c534a - -COUNT=19 -L = 2048 -KI = 2298373d4577ba8097518b86ba758c83 -IVlen = 64 -IV = 4505e6de3a9303d3 -FixedInputDataByteLen = 51 -FixedInputData = affba7b3ae6a16ee094046f2eb9d78bfb658cf53e5d71309393cb966c3a66d92aedaf05fed726b1a99ea67d79dd279e7f417eb -KO = 1e139c441a442dcad28f2aba9a572a44b106c75b4d918334f9b285c524a660d5270d4a9b32150c17e1b3dbb31f13c5bc34c7aef0fa09ad468a351e98c58665d53657ba9963f25450ff7dfa4a1e8fd906d07ea0f753457585f713606a701b7ecec7525831708134debcd0c01d4453f3f9b4c94ae370888da88b217a4ed40c93d2b6670626bad9560fb4594d2e6069d6169ccc9d22b39228bb9d3dfc36fcc4f18c66c78df0566c4ed4fcc0131f626b8889bd02d4a2d329709283712055a9b3018832265c828fa411f2310dfddf1d1cee8b34ba854007efb6ab72bcf4cded67a0b12fd28711211ca98dc2dd72f209167d2ec2ef20a19ef3dd4f2650ec727b61e785 - -COUNT=20 -L = 560 -KI = 0b0f106e085478972867927ee0a23dc3 -IVlen = 64 -IV = f740b510ebd24a09 -FixedInputDataByteLen = 51 -FixedInputData = 8ffebba1e55bb7ac7462737d265aea091b326d8dd771cb3f85fda017d1040cff18e86f88245ba13b08ee063ba068c733dd22e5 -KO = e921d0d6c6752cf31f771964052ed4a7dcb48f7eabdd1693c4b767e6511d21882b0de61a7f043b839358d56315442ca648bd09c70a2e73d12f6863d900569ce930e7b3d6365d - -COUNT=21 -L = 560 -KI = ce44e7b3af7bf922e1d2602f585d5be6 -IVlen = 64 -IV = 60e99e9bd6d198b7 -FixedInputDataByteLen = 51 -FixedInputData = ba2ba5275d0474965da6d6f472fa11a3972dd77b97153dfe690cb8d96a0e6bfb95d202a9a06366d39ef36a005408bc28020340 -KO = c2aa2def4e67402d7857f23ecd8a455bdc7ae388a45a7e08271a61e8ac0c5465fd483353c0d0f93cd6345be5c63e6144c2309185bbfa606e1c6acc8ca7f98f1a0409efce515c - -COUNT=22 -L = 560 -KI = 5cbe6d4bc2ec4e19c12488dbd0697d41 -IVlen = 64 -IV = 8cd885a0c302fed9 -FixedInputDataByteLen = 51 -FixedInputData = c3bb2263ba3a679747efe1efd92ee6138653ddff4dc01aaa7962739db6f1a38f9a3b22fe2fa00439dbd35560df030ceb0afb19 -KO = 56397e941676650e5f7ed3a45a66fdec511777ea4137db96ef564d19aaa5fea3c9379f650c3bf321846c67c8139591eba1a1d5078cc23de1446816994e2b34e3547a39c94d77 - -COUNT=23 -L = 560 -KI = 86a9d96acef8869d9d8d31abd8ce5e1a -IVlen = 64 -IV = 9a7b33b8a9aa51a6 -FixedInputDataByteLen = 51 -FixedInputData = 95a31f411c3e3500a42ec28ec9e9b5f9f177d8f336cb9d15503456b218451913f18b15e0c4a9440bda812dd36263591eeec1a8 -KO = 4bca5875425c28621adb0b753f85e19eceb75321f98bf9c5c441b8da56d7b969f8cddd2d82b7cc9f7ac86bab327826e8f7f372e7b3b885a69c8a70db7cccba3864a91a9e9299 - -COUNT=24 -L = 560 -KI = 55118c0f95803f16e8eb80e7271e50c0 -IVlen = 64 -IV = de0ff1dbe74cf7a1 -FixedInputDataByteLen = 51 -FixedInputData = 6e1cc9736c5b0c3b718dc89e80f96a1c6417865a3830c79a1944207f3eddcb691e8f67eb1eb99e9ecee2da07ae514d370649fc -KO = 4911b0d24a15405ae8e51fc0aeca1ce6088c697e7b371f778f933a8e2f853f7c758cc8306974276a5808e3eaa819123cde40ba38a180c549c143c785dbcb2691fe86acd2507d - -COUNT=25 -L = 560 -KI = 8e435bc0ec52e02c9543ba28bef9c477 -IVlen = 64 -IV = 532d6dc9fb1f454d -FixedInputDataByteLen = 51 -FixedInputData = ce590a9d73b449123088167f21e5b76252de929cf7e46246cf1ffc9ab7845627ffaee6ae8f4e91ff6b12c73a1895cdba76cccd -KO = 208039c7f6fb3a0199c376c4492e6263dfe194d07460245271604c41372e5bbb013a03d7857c8bdd919343207ff69645a11ae6370cd05090af944dd8616297807962f4322612 - -COUNT=26 -L = 560 -KI = 9c22dc86f261a1dc6e0e5c2ef524e859 -IVlen = 64 -IV = 3f0d38a8cdc0c318 -FixedInputDataByteLen = 51 -FixedInputData = 9365d24cf79d96cf25a26604301df185b32bf6f58c8b09fa52ff8dda0a60133e8a6e5c9bc45bd46f7116021b8e6224e15fa10f -KO = f05432e6075480aa51eb147c42ba5209f7751327ff28e97f7cf4bafa274c8bf304acdfa1b31abb189b053ca81bd84a9805c3abc19e4cfbefec9fcc678702ac96c1dccf6d4d63 - -COUNT=27 -L = 560 -KI = 0eeac0b527d1c6931b26e7c123f60fc2 -IVlen = 64 -IV = 292139f77fa29171 -FixedInputDataByteLen = 51 -FixedInputData = b30d8f6045bfce75f465dd3b0b04726d82b5f683c396553b36acd8b2679579640976aeb61c05cb9be9a8a068336d1740dafea2 -KO = ba9665d668282a6d027043af80166af8da18940c3629c0c5ef87456ec908a2209c64c9b4ccfcefdc16e835539336748b1bae4cebe5df79ead9f7151b9390bb9bc1ba3ba3a67a - -COUNT=28 -L = 560 -KI = e89aafdff20b2085eb46f706a9128947 -IVlen = 64 -IV = 531c1bfe67c6905f -FixedInputDataByteLen = 51 -FixedInputData = 2bcd4a6f1e7f38767116bba8e8d7682d6ae9bc34c89caa71b247fa4989a84d96192ff3b133a7b0f9e54eeac42ccc5ed8f68905 -KO = 1b0e20c06796c5568bda5155306c159e2e9c8c6df21224142ba7608000cdf497d463827f49ff315100df998d718ad6b9059988a260d0c18254459c79294b560d5916d4e6ea51 - -COUNT=29 -L = 560 -KI = f6483bcb5cf59c0f106d264949e59ab3 -IVlen = 64 -IV = fcb3a630b43af6d8 -FixedInputDataByteLen = 51 -FixedInputData = 6bcc6314fb183e42e7e51bb7b55ff9d64ab9627ef15a2e62df85be4a0442c59815750fcdecc8a14ff8c2d2b6390bce54ec8b65 -KO = 123bae215de00796d2c3e32e26a93678a046bca48f4c7aea1b4826f021e79de4e0ffa0c888c2a211aedc09eb079edd6b75505eb36120eb744af05736376853b20b6a8b566b09 - -COUNT=30 -L = 2400 -KI = e0ed88bd6bcd8f39fffac99602776c6c -IVlen = 64 -IV = ca37e854cbdb536b -FixedInputDataByteLen = 51 -FixedInputData = 88403a9fb3221511c9f3b9a2a0978a432faeb48f153711eb5f496693df1e270c1315d0447bf85f4d905597eb9d3fd384a1eeb4 -KO = 42c7a3b34bbea7df675523912b5c6a21ea737fa98a22f78833925ba54e891462fc7757dd21ea49ee5470e19aeeb7dd01fd764ec58c334e5c13dd6f881f7e76fb31e7e1e078fab1ddbcb4bef3accb5b5b0c4e21c9d0c755cc1ce28c2137fdebe4c2185993922ea61916f05517394f4cb8daa6fa069c519cd40ff0a1d4139602119508e118407a7cb23de93f8a592a7775fb162e3adbb3f2f62d7bb1e2a4cf4a971d1b0097db4482db2c96af0393b6f5c4f4fd0bb9c2fe5d1d577ab2d3b67bfd065f6d85a21df82a9ccc903ce7e6eb3086ff80aad872f5d7920c17423eb749aa5e8a0b97f7a0f097ef67a22d35a06255b22bed7a53a3a930b63d563f3cc4df31636b84fedc72486c707897edcfa499293b442fae16012e710856e341042a358c3ce3f65dfde2220c81bbf52edc - -COUNT=31 -L = 2400 -KI = ac791c272a948d63c98e1b636bcd8957 -IVlen = 64 -IV = ac532d0566b59a83 -FixedInputDataByteLen = 51 -FixedInputData = 9c083c3fd838d6580477732d2b3aa552d8350e655cba4183d91a1a204106df7f60f999b7c2a4896e2329d37e36c752d0c4ef3b -KO = 7be75395709ff6fe309a89cfa9060949b9cd4c96b281521712173a728c7b2f17e524ca071a8cdd86330acbfdd70dfa0fb742099eba8adae19fa0cf2f84d0f868ae07bd823a7b8a55c8a39b28edf0e25ada73ce5a01a2358eed446c3bca0cbe9dc1052bfc7f08483f8d8f9614ed5ee014a510529674eb813e303eef1c3c490cfd80f04b0a3fd8148e8f7bf883ba37bc4f566ec82862fea8673971e42f943eba47f4238bb4384526c0fca9bcc5c1f8617e09f6666e947bbdddd9bcfd75f214258ad3fab9d34187ab78a3dd577400561d7b21ff8e1e1b0e3bba57891b454b950a75bd631dde66b56ca6a4d7e64e08903dc1f5dda2903bb2d4f379677626aafab0aaea622fb466e1b63a68425b32fc245727ad8d8bbea33befe212774588ff3f559da3001dc5dfc1b5de6b9ca6d7 - -COUNT=32 -L = 2400 -KI = 3826e72fe2035231b6817e1f78fd4385 -IVlen = 64 -IV = e672cf644c89ebb3 -FixedInputDataByteLen = 51 -FixedInputData = 3f6919b2037a9e05b80c59b06bcfdd40630b9cc961d27cc2792711caf157868ac901e3da228a45859368bea1dee95e0308c687 -KO = 739bbb500c1a635fff81fa1972dc86724cd0715ded0694fe0c7c4b59246fb3d52060eff67ed888f240e9fc73d77a48e4fe9a0ba61e2b45769441f98f36c4a7a894486d0202ecec4bad56ad70cbe699e99607ea025e470d4e566534d4fc73b276333b6de59277125d2d654b3da42d197029d0670dfabfcfdd22ee51d38543ae8985777c65efe7d8017aef8f570554a96d1fd4ee061458add36ebfed6a90c1c03bec1bcb3ae46c18140a5e7da3a06a451acb9a602cc6df7f0470ed107789c4a936caf0bda5ca4c51be75100f2592bf6930a06630921441499ab2c2aded83e7ac4e1ca327ff342ac224257d5eec9adf4dd4a911495ca91780bf6369b8ca17208f259eb3bb3dd34bf0d61feececcada366bb933bfef13b8f2cf64f24c46cd1b2391e083f138953a5a8f89f6ce010 - -COUNT=33 -L = 2400 -KI = 8d0752756972228e5739cf786a41a488 -IVlen = 64 -IV = e296d96a43e2f657 -FixedInputDataByteLen = 51 -FixedInputData = 55502e30d8137512d73f77e93734e9fe305620f8c65da92b7d665936d0cf2f68f1ff67f3f5eefe82917c68d64d4e02b5f82069 -KO = 340f4de8e94cc4af6898f1b55f7ecfac17bc5138282cf55f0b3956eb0753adaccf31b7d2eb769a7722a1a43a7cc88c5a440161b6c4f5e1c85a4e931ea816782f133b17f49709aa0fad0dc9382dab5a5858169f4bf1faf80914b9c56268442f193dccc12dc3bfea5ebabbffd403a36648dd9c131c29ade29d0750678cdf06c83678d1528f0c6cfac322c2ca5151eea697a418ede35397fea312f0cf3a6ae3cb81d4ac0a70cf4be08deb78319ab98702018e155a7c2b600df2f90432ec98265723e1054fe42229c2830c7762a13fbf641b526dddc7b59593de3c6909df58172e22b115ae717e03a9095a56ff1a4c3d242ca42e26bc8e25bead8e568bb493df8c43cdd3fc7cc1a784f82fdb13658ac319e0c557d5346efdaec6d4631f946c118c45af4241395375af6a492dc0ce - -COUNT=34 -L = 2400 -KI = 994b7923a3cd87ded5c05f390d324c1f -IVlen = 64 -IV = e1b5d116181242d6 -FixedInputDataByteLen = 51 -FixedInputData = 4e1f452113a66bf1d05f55d61c650a07f044ca86fbb1467e7e4dbdc03d0903bacb590f40f7bde3b83108f74a9fb22450448a70 -KO = 27987a3967c42333ef62ac181ed670fc22afffeae1bbc7836b1a234e736f174bad8cb5ec38ad48c866f57d8591d676beaedaf377a79ccc3683d0305f241725795f29b86f0a1e8413e394787c4ddfc1f84693fa5e01b45fc41be9afea8ddf8902b6560cd2b4774527bc1c408d4b7cb91a52f88de3f691364daf71f5d733bfc96849a083c1f18feebb523e6d1a854128730720e15c9de2b142430736511b1c3a85cdfacd8f5b27c11f15e533e7c660087200d1ee29f5b1b81b6c17463054a9a5905dc9223f4ff0d15ebc2c00e6d6490bc5fc30034d729dffb2cc1ed2942a39c70e1d2e624a7b11a28b51d4ea45bca563fec307fd43b9cc56541bcc963ca02608db68c108db1d8339c36a3cfe06e101c91c8705457b8345d7adc04bb43cfefab3f5c9c0405f6e90d3e8e5ba810a - -COUNT=35 -L = 2400 -KI = e5cd8c4e1a8a8655c440f1818631a270 -IVlen = 64 -IV = 1c648860a129ffd2 -FixedInputDataByteLen = 51 -FixedInputData = dd961ff7dcede42b5ed52046b24ca35873f3fe0cdff6a09aecde50dce48d62e85f7e9d91a9a1e45a8987e408bbe0b4c99026d6 -KO = 055f1fbbb35c0f25b8df16906262f04648d462236f5e4deb7db72611690b5d4575767ebf8b79c268ba2fce023d9eee817ab396ad9e4a4ff7a71da72fbaf05cb6dcb4fd964c48d43918a772dba3eeaec1a0dfc36acbdce20681ba919f508759fb57819e1f12c2ce2541e6e4c91a7f207a94c40c598349781a5fc5c6eeeae00fd1d7ce2445f372e09d29318cf2f26195bfdca33402db265ae31c4983b1be9694a9e0d7e8d21f4f02e0ddbce0f9b01437844b71d69bb92dc3d238e31aeb05fbf3f305e6e6cff5219b322bbe78819cdbbdb7bbfbcf706062708a84b85b21bd78c3e77b67f9199fb67853788245bf4922257d6f9ce9157eece40f1a3c8c1a25c4e706319a8275bc3c1d92fde21198dfcf73f7d3813eaea8589b8174b189153851e69fd2f1999c9a54ea0a138f8a35 - -COUNT=36 -L = 2400 -KI = 45eef5507e861e805f939c7f412039d0 -IVlen = 64 -IV = ff3472d50a54fadd -FixedInputDataByteLen = 51 -FixedInputData = 16a770cce1753c4736f1104a5580899f0bea63e52f63ba867f855139ae04421d59f21df3005ed19caf567c823667fbcac5c710 -KO = 0e1fdac44c504ff5ce115d2f4d67acc06fc6e1607658db209fdea485241e7c19cde72e744edb30a1a9f8e073569aaba47713e41934cdfac4abc65b59564d6329fd42abe39301b267f35e5904346467eba2e39c4fb8fa9b1ed031ef2ff31f92610e4de037555617ed1a49a2a849c4c5617d2450430d91f9dc15a186bb7b26de75ab49848b4784858563eb560052cfc5360a0a25dc35a835528346c6f80f55277d1708dd3935decd975b25f1a09c3df2856679a9c96532b62b362932a6308454dc39ddc859f33baefd3d830385342d9e01dedf96cfc56ad956ef09280e9ddf7b2b44b21116ea5d56f5667bc9f678d8d7c518119a58f7f26738b5e6b0e1786d25eafdd89e03bab0f06f6ff3bba95f574737052e6b9ea726f80df9f8ead1656bb675a6eab6dcca45db99a61d99d9 - -COUNT=37 -L = 2400 -KI = 33116ae334355c35c31ca416d9edc32c -IVlen = 64 -IV = cd388717c76b27a6 -FixedInputDataByteLen = 51 -FixedInputData = b0a10bfd172d0f35483dfe1caef10f25634f5556f6c4feddbe50a0d6371526f81b010ef5e6aea23a9aa88527d43ad440b81d1b -KO = bbd8bbf0b0e677192ed84bbf2ee0905377841a90de6c931a9bf6479ef3c533d47b903e1739574cc84240b0aa2e3755082ffcb94a3a99f821dbd07bccdf0f6508725a857b25ce6fa86c2ad82bf0786f3c321162808d22fa58dac7ba21e156b0a24bcdd28849291f7ef8b44dbf359c89bb73e99ee15577822e5d5fa3d9354a99c8d2f155764e3a433baee014c51be24851cf0be258aad00baa5552a8736f3983e82393530c3e3fe814526c2a68539cd2254b16c112a5b5a143b9ff2405b8e43e446b44f2c6058b74d66cf81ed569ea7c678b7b50c9c444fe951ecb70b869deb126715344bdb5bf49aaef687475faf09430673fb52f0d3bbd019a163a93d15b2dbf6b7f4ca843ea5d03293416a5e877011cb96fb1613963be06c721144ae078312e7af454a8e0655ba36c2faf5e - -COUNT=38 -L = 2400 -KI = b0898c088cea32a801b7ea76f1b6ad5d -IVlen = 64 -IV = 54bc0d4697f54086 -FixedInputDataByteLen = 51 -FixedInputData = ced9e5fe512b2e91cfbf7a24fd307a1e7435e2d86cd66579759dc946fd35ae4d0611ddb62e11530b2103000325f3f91bad90a5 -KO = f338d0c0d82d616d5cae2a082700821a57a07a8ccb1c3e65d2f3ae6ba66a226d89ee9250119b00cc61931dd0fdbdf63382c79e547039fd752ae480ef4a3cfe1cb3155d0719ae976f1d0de61ad0cd9de9e329a6c8318b8953639efd408b34b481d2072a9ddbdd1a50df11c77165033e568a67e7620caf618cc96a24990a2d883e6ff40670e85ae54e5b1fbe26e2f38963390ba060a1118a64bf9dd0abaf47ade320eb59ee3191696172c903578764425758bd6b42149557f407484d3ce48391482d44d4b1d217fbcbaa0576fc0f333231235205c7bdf37d166b8a4a187eb8cc34ed9803ca8acf7089fb0f63f17fd4d04a6a1aa13dc6369b66bbd80bfa5e73ec123d8f35d3ebafa545179af2354c6badba043ce25a48c1af54dbd8b89418932283ba4ca7bbd2139c9820c10789 - -COUNT=39 -L = 2400 -KI = 8fac71f9a1737a6236728ec645356210 -IVlen = 64 -IV = 141f27de0e99d0a0 -FixedInputDataByteLen = 51 -FixedInputData = 09bad0b0e3124e25b50716eede69dcf00005b986a5931eda1767e47dfafe8bdfe018f36e13f6bd6f4e33b31899b5dfe1eb670f -KO = 59feff5dad6c11e73aa4c368d864dfbcb9280c93c174377019f9149811a5342540392e51b6be7f24c6a8d9590acdba9b23a15e3a135c140540067ab0d069edf01c1e9f01f83ba63c8a39ac38a66e3862c52ccf7db31ff5af1eb75bbfe297df8b70360eb38fdab52bafbd137b6d85bde94a409933f0f6e8ae4303aeee5ce51a5bb4b333b5e90141cc24a2a29f75ab278a16e8581e2c50def99adc79671dd7af65ec7a4eafcda987d30d5b9ed1adc06e22154998edd00fd8e04909f7ff45f8ba7a49a9665a3ff88dad1e684293d5299a5467c7c688c350d77d50e24fb19ef39f0b0933d1423e05e6b83aba5309385582df980e867f6c8c80c7e5bd66cbc22ce703f0fbaf1fc3e34d38a9ceb083671c66721a9c9e55fa1a17e4755284df0183303b3a517cddc08af31aedf5bec0 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = aea8b280e6e0e9c1a26c263e40e0c0c2 -IVlen = 64 -IV = dc0e7ca608732530 -FixedInputDataByteLen = 51 -FixedInputData = c9f3e6eaf15eb30c0b06fcc955822a67fe23d1a6a391e8c5b9051f8fe126a9b0e685afc0489ec6faa46d25751132aa01b328f7 -KO = 4bcf23eebbc1f6f496913725cf0e9496b858131398385476ea4a4b2a07f99e39e0303a719032899172456d8d588159166e14ac01fa44f882a2b6398e5a18ec92 - -COUNT=1 -L = 512 -KI = c10ff25127a8e850119819d3d37b7aea -IVlen = 64 -IV = 338cac687bb4578b -FixedInputDataByteLen = 51 -FixedInputData = ee758f93c4ba85d6bddc62dc04ab4115332d25672084983a06d54a6ae93cce0b903b3d84fd52b461552bc32505b45a929860a1 -KO = 27e624ce6366dc82241a97d68dbac8d6edf8f9bfeb5962d298f4181d0f47bd8778ed4f4d0cd525091fd0a63a68245263d129f21b8f39aac4a38dbdfb2a7ee566 - -COUNT=2 -L = 512 -KI = 7f92a42fc81ef640aee0d91bc224fdf9 -IVlen = 64 -IV = add3d13eb3e8ee71 -FixedInputDataByteLen = 51 -FixedInputData = f20bff5cc21a074e4ab1077d86298b0621981ec895dc56ef6167cbb4e1ab52c25e5099b8d7fbf98cf2469d1d280358abf5a40e -KO = 634d692bba203d7f57d415ff5ba182c445fcd3e3b9ebe36581eacc0f7a1d8eb49bbf6d1470cf8bbd662a5d0d14824cdcdd18e6c10ce5ef53e425effc8f1fec59 - -COUNT=3 -L = 512 -KI = c7af10c5b129403376791594e5b39180 -IVlen = 64 -IV = 4911a85212f99b69 -FixedInputDataByteLen = 51 -FixedInputData = 5d89b858c30d30d0d602bc4ec89ee980a17222a1dfddd249fc912315c841acc9418f6c1d752b18e70d0c28abeb809fd1488f58 -KO = 646c91482c917f0c747b092069394cea302779754bab23d5c5d8eca99e19cd307598aa3c047f74733bdd3ca9d2be329d9b88c3d60c2d00eff0ea4945115fee25 - -COUNT=4 -L = 512 -KI = 51dc92d59dfa2b47b76bcee0386b21ae -IVlen = 64 -IV = 47848f0afabb9ffd -FixedInputDataByteLen = 51 -FixedInputData = aa2537f630f4d1ee8a40d146f15b84d6e3171c9a8f344a14e18c493ad9277801998267de89f405d8e71ef94d160cd891a90e0b -KO = a06f6a3657d7a7cfa98568d77b24362658c974af21dd7a3a582ec997993f9cfd5b79a88d604bc0b240d26a19b6e21fe088dd49e27398eb9b4a5f0eab1eec1450 - -COUNT=5 -L = 512 -KI = 24e05cd4590b2f7f0394a06ec83970f7 -IVlen = 64 -IV = 174ba91e3c251fa6 -FixedInputDataByteLen = 51 -FixedInputData = 0d3936ba82ad7b1088911a5ef27b968db93bbd14cff1f53d232db17f2043df06067a0a75c3909a487a8d27983911541b39070c -KO = f41a2b6d34e9ee06a12fb9a2a318c4e73ff6faf5d7215e839145c633e672990d0653cecdb0eeb6f978b043d56da4b5c23204a280297274686f59d7e86a190d2d - -COUNT=6 -L = 512 -KI = 1306148479c67e8c2f535a196af3e498 -IVlen = 64 -IV = 6f05515d9f4374fe -FixedInputDataByteLen = 51 -FixedInputData = 5e34dc03e476c2a71966b195e62cfd7d3979a758f929beb8a5058a70580fbabceccd07fa53947f7263babc2b3aa830f2e1d048 -KO = acfe99eaf350a6aef39bd5a9559bdecf0edfb3989f2ef1d1d31f4438664b9d4be41177d628447a5d04afdbac68b64f08d22931a3451847aaa73ed43034a11733 - -COUNT=7 -L = 512 -KI = d2f3e466cdc494b3e34887fa7afeeb04 -IVlen = 64 -IV = cbd11bb1ecf19173 -FixedInputDataByteLen = 51 -FixedInputData = fa576612529ce7b0413ff9cc00a1d19a09f85210b49b1b14f702cf91f9797f2570efab32e0d27a07a91c006421dc355f536547 -KO = aeca6f944c93721066e4aaab00d92e113a86a3cbf7117e6827147be96e6a70e838ff9f1b8929db36d4af2798b069e74912dd0880f9f487ab8782001a5505c201 - -COUNT=8 -L = 512 -KI = b73d4bdc458ed3342e029cfb3d9655e1 -IVlen = 64 -IV = 57fb6a40ce8dabfb -FixedInputDataByteLen = 51 -FixedInputData = cb79c18b65f598fbdc9197a4a9813a0edc57248e72c986e7a378bb74a672f1f42b82441e6b72a4d326f889d4aca6557913ff3b -KO = 158ba78838e712394bc5fb9b765612968addf959d930790990517a65adad6a9ddf0ad9677db4ab349e5e79054028ec21fb33c402c42cf622b2a00040bfbe9665 - -COUNT=9 -L = 512 -KI = 175b866dc6209d0d073e6156ef8fdf94 -IVlen = 64 -IV = 8c6ffe59f4c52f8a -FixedInputDataByteLen = 51 -FixedInputData = 772d3c06d2ac951dc986fbbfc9ac853d41c3ef2b3726e9287dd5cb0a589452e0c4868908b0176a22c09d63b519396b09e71998 -KO = 211da5981d1bc0e42e8c4194308d1f0fa717fcaaa6f37ab6fc1a799a1afa80ce0256e9e885f63d6fe2def92c2678162369ad412722c1c27d5e85716d7551799e - -COUNT=10 -L = 2048 -KI = 89f7ba7e5766a149fc16d53d1ab05a97 -IVlen = 64 -IV = b4b8cb675c82b317 -FixedInputDataByteLen = 51 -FixedInputData = 63a924c03779e816d631f7511d60590dbde2ee7ed5d8c82b891b8c0b8e076742a668cb9cd1f29af3b01b2f75162019c13c1b38 -KO = 086e9b68c34cea40c9e5ac0b751c25a2a5bcb885ddb4b848122b02e442d847469cd4969c44cdbe9c0f511c5533e0431ee9a76c5523414e3ce8a4e5f6560b2d3c08e855259f72f52141264d9fad6105a406cf9b60e88811469d6e0f5496495829ec686f691adb0565e498a7d86dd6b22a7e79c23e31be5678dc105cc5d23946882e3ee02f6760568439836476f7f925a3105455b05296bad868f7f2a688d428a1e57b3844bd702fbeba538732281d792300ced4d144fb30b997e051a52c3840ed7ccfcad003dd332e292790c1d7c86980b9a3d4a2e69fdb0ac726b128410a114e240d85bef26668fd9d93b664f8fc6fed76fcf7ba0ebb7c6ef2bcc6a8542a5a54 - -COUNT=11 -L = 2048 -KI = 454c2ea0964959ef1a66f1ba60e4ffd6 -IVlen = 64 -IV = 8ddce96898a2dc6a -FixedInputDataByteLen = 51 -FixedInputData = e53402fc48e6c4653c22f95b96470cc153d461c76e28dd23f57f1b680819724e264adfffb982f146db860fbdc6a01fdf0b78b7 -KO = 0c06a33fb8831fa9c86055f0cc9197d77186e478edf20fe610f72d4daa34dcc9de604b78082c444c06b59170c5b2e3c7a4e0cba0f7c56579e8740a7e0e34c468ed03624648cfaafc399217cc95309ffd585e9d0d23c3baec89ea8aea2bb6fdf9924d347f29fc89afeea8525887393cbb9e58cba0374261a037f86242eefe7ce0e927e93ce2faf179a66091bdc71adb68eae07f095d27445d5ecb60a7f749de378293e72594b3efb5a9e1d7db66ae6835023b0ad4ec5c4c8ec204f7ba9e21dacf12638c5c3f276756397775cd12964f1e83ee5780da6014678cd89dddccc832dcf7bac9d294bdefdf2219521ac7a176819c15cb3b2da9415811f2aef158e3ed64 - -COUNT=12 -L = 2048 -KI = 5388af116e802845d8026b23a28b453b -IVlen = 64 -IV = f645191e784b0a71 -FixedInputDataByteLen = 51 -FixedInputData = 399994e11fe0c9c93a3a8d0d6e9d6d0775f54dbd6b24dbb882faaa2c9999385da9095905c48af261c619a737468180104da63f -KO = 3b4cc4bf9fdcbf66ba6b0dfc229fbcf04ffd21c309813461ea3c297c2a966eddd0c8674d1bec6a04d7695d53380f3a180398ead46146fc2b664a90f1d1530802976c64caee23967b6de66876a4c5b64fcbd8d4b4d5e58485841b8d47fd9203002e40aef3e9656714c85dd7a61561e61f42870fe57daad0d55e7229390b75fa7d518106ce85742a319381a3fec2beca1a73517d884945fc6518b8893bc408ce0148b9619e7aec277e5b3e2bc4bfa90e1d92be3b4955fccc35eaf57aa0f57a152dbe56904159211031d0f498398ee869c44b9b8443690d1e213cacd16a64f1bca4cf8e8fb407d81be9013d46fe9f792340a05ae8668808911f35ec24f9233af21a - -COUNT=13 -L = 2048 -KI = bf0d63a1fc465f0521c6de451c7d8215 -IVlen = 64 -IV = c124dc3bfc4d9f8d -FixedInputDataByteLen = 51 -FixedInputData = 0e4579a48260d5b2dfc266ca2f089e9189d7072523f7c08297fbb4d115ac3c002d0a7ff0207ee5ffc110a34d470c7a1ade7a05 -KO = 6e27fa31ef4fbf34c0ddd919197fd6392a6b0ef7ae41cf5c7d28b226442e17a831357455af87c375009dc0ab49158a622a016281155bcd7a21b27371bff0ed25f7df111191f9f449eb4b97ec4892adb659f7ee8f28625a099e2a706b17aeb60c84cc766f7609c4dbb281c479f1450b63114f970f8f3bda0acb1d3843b8963058954a079575561f34e1fc2c25bc05ac95594218827288067342565dcb3e97747598b26f985b1a139ba54b856940c5b8da555a8a1a2a1af8cdf3dc5fcd37d1453156f294e48a5d1a4a58e0731da510edf95dcafd32b404fea6fdf1ddeb248b620f3eaaf33f63d60130895f1847189afd0186b5b679f9e170da2eacfff927824a46 - -COUNT=14 -L = 2048 -KI = 402f39c99754fb00af0f80e16effe1fa -IVlen = 64 -IV = 61c4403b98000834 -FixedInputDataByteLen = 51 -FixedInputData = 6f5e8e7edc8b7a8542791630b0d115c0d74bd8eef86b5f7d1d94f42ca333b2dc0f12b0241b80eb7377e4a7df6c910bd6ffc6ae -KO = 4161b70e58f7fb16c07a39209fe37ba4e6ac1aa9ece3234a90ada3e48e2e497c97e33965af7f25c6f622b71f7a607299f2c56ba22db0775b4716a66ee04c2811474a7d2207bb041ac5da4c7c5d0cd4b6872953f125ea6a223787bfcca3f073f19abd53f0e06a18e322038c347dd6c488574874020152619a4d99a2ce07a92a7089dac4bfa4b940ca48475e1af18261a810cb085da4ed60c99629151645903f3560c7b075b7e00ef15b99e94e61478fa61cdf937bb9af3b3b30187164e62cb2b695ba0cbe19c28bba2087c466b647f77f975dd72c3e41694963f671ba22793715f467650b707e5f506f9b6967d01818dc01c61de1458c667fbabdc98c2d18f77b - -COUNT=15 -L = 2048 -KI = dc4b707f4dc86d6ee870f81d08865699 -IVlen = 64 -IV = 1275843f001f6ea3 -FixedInputDataByteLen = 51 -FixedInputData = 17fde528f77de72f9046874ac316b92aa56fca7e64f7a883ff04ba155f30063bf1e8b20b2a110d18ed3b95e49b623a900f282c -KO = d5a9058c64f18965b8bf74f0c4f5b4bb189418cb599fe699e97ba7836d2723a83debc5748da9d6e87f1d32eeb22986b8e2e6b0e8fba7d2aa63b10ba91319b9700a6c47f29eca33ebb429eacf0d595fd41bdddbbcb965ae9671b9db0aa96162a0741c4e325307a4df4f5f27e17f537fdac84364ec211bd16da221e3102c32c30cf053ea29af8d8309140affc0f2e29ca947e24e277e2fe9043b748921ee57c242a1abd8c7057d352bf473e3f2bf47b8fb7f5721b8aa3dbdb98a63fd047f0392383df50f0399087df331465dd022b7fa720cbcda0ccac12915204456f84e3d8bb688f99c2df216eb9db21d8ed40e26d097e339f3c8c99116a597e582c3a25802de - -COUNT=16 -L = 2048 -KI = f53c7709b74caca96fcb665d2fb6a384 -IVlen = 64 -IV = 000037f82a8cb863 -FixedInputDataByteLen = 51 -FixedInputData = 470301a4bcd9f030e774eb800a33b89915c6a99bc227d8e3c0b0f17e681509e2706bef4d597328a6dd9e6ab09a4c9d7fcb74d2 -KO = 11a7ce61eecf5abb9d9ba87ff12b8209fa1dc26d8e44f42705a905c5f8d83ee0597f6c635a1428bd4cab0bbfadb9ff0132081bf19a9280eaccdfcd488d06d1181a5e15d52af396d01d88511844ff5be0d7b9d540083f48d8711c5b247acaa497f4b2505ac738b7b658859a4f075d55f7d64643e0afcfc89f2ec173dce07ecec9ef7afc88ca145886524ff4fd08a376f9f7e50f3e119e2bf67c73e7519cb591c52139f566ff4a34a3ed4074306321c24b31ff3a548bbb39b8babe302e8757e41b987d769b8c1163abd19bda7e203af1fa35cca59116c4a4050ee6df9b1b683f98bc85794f0b419c2dc75ec7642bf9911a6ea1c37054c2eff54fb6cf591b58ff8e - -COUNT=17 -L = 2048 -KI = 19edbb9745458d4e415673c06122115b -IVlen = 64 -IV = 1064a206852e821b -FixedInputDataByteLen = 51 -FixedInputData = 534d2be36c21442e2d979b9ce208fca1e74b590ec0a456a0633624c337e9ec48d56cbedb9b0e0db323dbb378ac5d1851e296e7 -KO = 28a5ce1b5558ff1da95e654ed123769ae87d02b8c0d83e229f0bfbf3022444c892e6ea877c5aea1dcc464a08ef7ffbcffa0e5f3bddc72190b4570db6a4e6a72e0826e7d9f753aca620ebb2718b686681c760b56f711757bb7040c6ab738a10aface4ea774299b357b865359f6c9ddf1d7210cfff76dd7e563675e2cadc842cd169f271dc255a045964321074deaf448e6bf5d17e31f9773ddf0d7f9b507467efa9afddc0ac5a004d3dfa75c5206c8993d51e28c09745617a3d7ef39ca6a8127293d29b8407fa2c8599e8e7d90fff9f6dcca95a93455bc7df18fc998a91db25dc2a9efa4f757080c87eaf7521437eb9e9b2ba13c5fcbf74f933e36d93ca9ce2cf - -COUNT=18 -L = 2048 -KI = 1085dd2116769149ef9cc8f62a2515b9 -IVlen = 64 -IV = 0ab4a52887d2e0c1 -FixedInputDataByteLen = 51 -FixedInputData = 0c44b6f57f0e3483f3a3d69fa1c4f4fb5aa9ba5215b0d2982a5b2014abdb162ec43133fed4b74c21b9f2e1930892f8481d7045 -KO = da90f9ab8976b72988d97a0fef98b83f4bae56ca2d8f650bda78542b14625cdc92c0cd552790015959988c5405858e62ea581694dd388effe65134a270a45b1424a83a6feb4b21e103c389c4729cec79430ca655499835619eb1783baf4e67a9c67d1c99efb072ea4ec0b1b8c2a0b3ad9c9d1c513d66f95ea1e62499ce711c5cc9e3d784407e9a77bf2ca83ea1a41b6ff5d7d597fa5206213fac070743afef544d4b0e28629a0dd20a7e233115d3b14e4843d1f1e4c55bb7389718146fcd4976b0535ef187898d842c0e473c1159e44172b394893bc3c4fc4b3c5fb8b50076067c677721ed4ddfac5dc712feb7e57eadf0227755582ec6e2edf6993cd26fa856 - -COUNT=19 -L = 2048 -KI = 181a96b0ed6ac5d69c8d97d62fe68e0b -IVlen = 64 -IV = 6de6ec4c59e81d55 -FixedInputDataByteLen = 51 -FixedInputData = 26cf2459de644fed1fda8caf7b7a80eac2b4dcd1598462de1e6364982d0fc520e335cd2e105067cc245eb6e7b748347448bd44 -KO = 02d7d20171b6614d2a4f4541c871855b91b3c9193ea056355e5a6d8e4737b144ebc49954233991d3ee77abe2a7749807f4a0e251f71584ae50cfc3a1618334c6e161d364c1bea56e3454bd57379b7b4a98f53a51568e5693e4c21afb437db111eb0a80c01bc86533bbe7ac46659c5e5a83a70e90f1e3cd8d0aae7926feed0e7485989a8703b8cf434caf12d0fc2bc83d635056ebcf85d1d515fe0799c039be362b284dbe5a225395b3b2a7543e1c1801dfd06cff904d7a37289d9001407dd7544d4cad6d4421b323aaf24067cc80d0ac7c1c5cccea56d31516eee932103d022d6d781667ac52c0ee4b904d716f4fad27f318dd39c985d954afa9e656219448e8 - -COUNT=20 -L = 560 -KI = 6a87d192e59cfd43b065574ef4da0309 -IVlen = 64 -IV = f50d10bf6b27e0fe -FixedInputDataByteLen = 51 -FixedInputData = 32f054043ba2f95bfc96138a24233c5fa0d5d9c07060c12cbfd50b75b4e8ef7dfefb3c18762848c541714916fea86e9f61831d -KO = 34f6fc01c947e1ff38509b16c9543707616123f22ce9600e8f561e3d87d541ca41a6afb806919ee31266eaef6dd13433e7162cd02717135862d2b4ebe8ed09980e8b8006ef0b - -COUNT=21 -L = 560 -KI = 68acefb5576623f7ec4e9e9ccafe5d56 -IVlen = 64 -IV = ef55a8f60e695e7b -FixedInputDataByteLen = 51 -FixedInputData = 92666bb597ab59e185de62c8f6740a630ffc47cf5a2fb8e543e0e24b7da98e8de734b3cfc1bc7ce87075af4943b9a5e0080c62 -KO = 6f2e1ce3cb471c1adb7cd5c1818d0b3ab6dba07cf3183d058fe507eb954943003b60f015ecd794fce2f34bc56def6c0dc6d0bf0e5b3ba4bca5a586b8db913f157e6243aaff24 - -COUNT=22 -L = 560 -KI = b1e1052c17f486bc123f428b5ec0a096 -IVlen = 64 -IV = 27304666eb555353 -FixedInputDataByteLen = 51 -FixedInputData = 0e508158a38127d2d248e50bae93c6ef363d617f1b3c4eb9998f90b6f2653f3f7cbf82f9c0ebf5c0f56874479fbe0e4f78a76f -KO = 3fa504c88251337c022ec896a102cbf4006a8be68ed8950b6123ab84dbf118f87fbb419d21291d025b950786ceeccbcc8c989e838116f74faab9cb2aa5ba2b15c1ee04d5122b - -COUNT=23 -L = 560 -KI = 914d7477c4c788e0a28e6c47dc94ca52 -IVlen = 64 -IV = 4c02a80bd75730d5 -FixedInputDataByteLen = 51 -FixedInputData = 6936f8da8689b1851f9e6a7f7771eb6c24d16220c1f02c1ecd802035ef850e21e3f7f0a1578136c69fbe1cec4c06f6719e7905 -KO = 85fafc640e61689b69199627995a2c6ff82043fd8331a051d959c07601cf8c30047eb6e5415570543f102ddced0c89662d180bd681e6a0253d51ad24f110ee9452a1dcbdb7fe - -COUNT=24 -L = 560 -KI = ab510012b42bb63da8e74b6af8cc215f -IVlen = 64 -IV = c0f965c2d0b24b7e -FixedInputDataByteLen = 51 -FixedInputData = 12bfb3b7ab9b6e0f781cc890737f90305afb8fb089a9194379201b9ffa97969182f2f2d85ca7675942a1d5f5e5d21e552db197 -KO = df312212e19428829f78257169585531c0acbf7122ded6d9f9e2889a7c346c1cdf5c37e59d2d269ff6a01cc160c5dd940bd96a0108591702626604f7103fa047d23912c1dc0a - -COUNT=25 -L = 560 -KI = ee5473c6692e824cf8cc29ece6650665 -IVlen = 64 -IV = 38bc94e0ab1b3d39 -FixedInputDataByteLen = 51 -FixedInputData = 91363cadb0cabd8921eedb4ccd35397af9b3700b5628fc849fdaae8500052bf0709d94437f7c5ee7ab6d51e6940ed23cd785f5 -KO = 971bdd7e5c287951d3301d323b0ccec7e01c426561fb7b1fbbf0206cd3674b81537c8509d5732a2ad6465ef6f2a45e93522ce899723a59e7d68125b0094168957d4573d3b97b - -COUNT=26 -L = 560 -KI = 36ae720ba2631a82c9e868578a857d3b -IVlen = 64 -IV = ddf0145ab31b8831 -FixedInputDataByteLen = 51 -FixedInputData = 0882c2477b9e42aae28046fcf0b49ef439f76b919ec8a015e71f0f9045d7c9764547d1d0f6a9bdfb1d8e05f24d4c67eefa9250 -KO = 75edc7db5e9cad528cc319308554d39cd0b6b4040087273d071dd21c1a69ee22249203c1aa5d6085a971b2a265331d710faad12d78215340210dd920fff1ea38fb702318eef0 - -COUNT=27 -L = 560 -KI = edb3fe2ca5f00bfe54bd45ee97465dd3 -IVlen = 64 -IV = 883365f489c5228e -FixedInputDataByteLen = 51 -FixedInputData = 068e2d2eb77a0c74d90c986501e4d2afebd048b318be77e6bb4cd5f72284853d9f8e3ea955098807dc4dc058b8e22cbdc10536 -KO = 9169b7adc11d8c68303792ec8f325689eac80976971a88a43d81b044b8a1fd02c8c8c33b9bc34c20c0ff97db665002bfbee806b8e49fbf68a4987f909f82a5bae6a3970e48d8 - -COUNT=28 -L = 560 -KI = 87992446804b4cb71fb049f936a97685 -IVlen = 64 -IV = b61f49dc22824767 -FixedInputDataByteLen = 51 -FixedInputData = b8187845ccb488a3674a7da55fec42ac31e76474106a54b2ef7f816ddc74cf6d578cea253622ec39e4131680942fbd7dc54224 -KO = ff6afd038448d27082f0018a4d3de4e1ed152e8984ebb041bc7165d70047d3e1febe355f7083b52ec5960b47459ca4926baec7721c6bd945e8e2b845075dffdeb6e5f96d73f5 - -COUNT=29 -L = 560 -KI = 93e1056c7e32addd8d31144135f0f47b -IVlen = 64 -IV = 2b2f94ad127df5ff -FixedInputDataByteLen = 51 -FixedInputData = a8ca3b7ca71489707f8952135399a34709a3cd550c8b5a5f2787d240f92d1c783c741d14300add77bf332483956b9b718a2fc8 -KO = 9536717de97a047529d17b580da37b925ef1e0db7b05c12ac88b6572c8a356623849afd8f5e6307917221c4809f4dd20c02316a9c5f235ca7ecf595bcfe2049f46d9129c4f4f - -COUNT=30 -L = 2400 -KI = 5e6c40e7e30bf25b8e2645bd41f767de -IVlen = 64 -IV = c00f19a0f8efb579 -FixedInputDataByteLen = 51 -FixedInputData = 484bb37b01e7d0b8796cb538e24e60f2a6f0bec66fd12da9bc15cdee82cc7fb78a14059ab67e620443a7582828c3a81f1c9911 -KO = 46f6ee4d54d0d8395002b2e4895a1a80b2c3c722348175ed9e50c9194e0b6606b8fef1ec2c236069da4beb9556c7671a66674fd884bc8c9050ffc98a32cc20af964a87e2863270ebbc2f7d8618a158ea5457ccf983c656c483acadf5fcd60cd5b2a091dbcee006e5876a8d24243a077c76f1e44c605b713da6553d9a61096d6b2026d606183f4149e4d24668841514cd8c9486ae63ebb77b9878ecdd9159f501ab9f4fd4090126aa91082ca75dbe48ee5fa574cbf990df787b3aed3b795d465f3b2620d70f39608f5b4a4e9968bca8a399c50e19f213651ee5cee75977599139096478ec18d78216e73705e14ec08019b42fc991ec1d66a8b52aa7a0890f5bd831846582c13c02bf0d236fa085e6be9f495cf8f1cd2eef6fe4d6330362ba11c603ba27cc1efb510b26040d6f - -COUNT=31 -L = 2400 -KI = 8e7081bce188c998a3df18009e9ab4dc -IVlen = 64 -IV = a2e20bd3d40e0ebf -FixedInputDataByteLen = 51 -FixedInputData = 8b0a16723c7bdffc4bcb6a3c5fe31d2bd0b57b41e951346d173614b68b8b6205105dc582a6f0983d2e2e7cb99a23879b048356 -KO = 8132238a0af3c4f74530816c42ffdaec86b52c11cbce08887dcd065514030ee96939c1a3127f502c97f95ac7fce97811e47d8559dbfbfa7528f27a56caf642b24056b22033b924005e2985252eb8e63b8a98d943c13efe4da2e8fd816e930467095e48d33121b9f732c6eac98d63cc2b898461d7cf24113bdd01ea83f5f37b3fe2b201e0fcf550c0365dd241d76b1a4167bfa58a40b2484a9843f7bd5e6bfcc795fe393ff29dddc9582d1f1ec6370cde23c8cee3934a5999e2ae47ee3300b2df4b928cda40505658686145736efcb013a09806536711b002c23a6205a602cdbdf49fd65cdd918058c996586f141def66765f489e7f188475fe688e2d6b07f01faf4ec03ac438d69dcf2b196b855f63116529f5114d81f1c5c6b9b37293a1ecf74554384e58e7463cd1917a5a - -COUNT=32 -L = 2400 -KI = 05912bd636e6d7be06fffca82f123743 -IVlen = 64 -IV = a434d135effeb507 -FixedInputDataByteLen = 51 -FixedInputData = c0db6b46eece6003401dd462578d365aa85de7617672c6f7da0dc864dfe0f6ff8d9695fedd6719095daa7c9d7821b47af4abbe -KO = 40592a24054d25c97465d5068d23206f68cebe33d41ef66cce4573c7ab4b76743474d3f22230d88fc6b88f8e482ae13e125eb96fd23a33729840c7c1ba7d9cfa2e4017e384fc90d625112d77aa288debcf8856713eda1fe262d4fbceaa9eb3c2e5c197a05c34283d741bcb91fac268a910a16815564dac18c7fc1b3fe97a1e978fd32d6470294ac2cd764ed7840b1783a5c51d288b55af1b01ffc440d27ad00abe21ca10fce8c45ae30d2af3c27f66b8795d91ddd30d2f8a8c2a805fd5628fbc8edd09079eabb2b396fe9c33eb7fc6324d1c3069c8481800e85ba87755050154adb5283048123c61bab3b4414c60d5a2d5431bc2161e5e11b543644487a94edb3eb3e824f7dcaf846d51503f904424626a536e4f230381fe2dd81efc869fd340b997a0e2d245c15e1a341563 - -COUNT=33 -L = 2400 -KI = c33c6c6e78736252b1b003c5998968be -IVlen = 64 -IV = f4485ed7ad62776f -FixedInputDataByteLen = 51 -FixedInputData = b724ccc101694050278e28c426a68d7a1e0db7a0c678030690f39e0fcea4678b0ea7c6dd332d379f583fb05782f1f4acf988c5 -KO = c68e00ebcf053c3d2b15ddaa8e9e4560c31237f9e902b1ee7e3c830f2d3f8f0ebc128db47c0ecab5a2c106f1ecc05c3f5080b98a6ef27250396da7d6cd09b14febd80c0b5831cc17596b989a95897f43f074614aad35ce472e1bae02a09095434c7e1cd1cf1b5fe79a2392717665f450753c9b33b4aa778633b8e0bb96e69f453e412ac1f2e954056dbebc004dac1d36e932180da4db249e71478df2b667e4d73f28d3d7970a95a62dcb97ab45ec05c0d4706731e8b0d856b15448e830664b979330a7cedc6f6dc7fa7d349076559504bfc58a0070fe94a7104ba5519be99d543686b0c5db3e5a3016a7b3a11dd85b62800b3673e33d7ac4f01c2eb27b54d692a0f80d4ce4a3745be22fa533c3e48161ef96b7c63d7fd78d8c7019490d5a46a3340b0b1b5c5fd61fe279e936 - -COUNT=34 -L = 2400 -KI = bbdab4c48833a5d69fa77f36bf60f482 -IVlen = 64 -IV = 763cc7eabbbecfc8 -FixedInputDataByteLen = 51 -FixedInputData = 23e4a89d26612ebaa24ad60e86c63906e9931b5b34824a488bcce03304db42a80ade137eb28c59895399b9fe9239522566e3e0 -KO = b8b76abb658c3371faa8b7484c1b8eeb06cedee027f94e6b05e77ff3340d0dfdcd246fc740d37a5838994777aa3b6d19c6f14acb5b262e5d0a23a0dda315bf40469364e98a9f83851beafa7defd618c0d0e6f2118699615cff1b6003ac8f5ecb0455f6e228319ffb11ea3a0044e7ef8625c25ed56c51eb823d6d0a4bcf19263311c42ed20517978a96b3b4c04551884bbb899727feb4648c86c9912d956f0570817448d465fab027e6eee54287951610c56e2875da3380a11814a598ddc233687758b706ae3ccd8c4721602dbecabb3a09c53291c157460b3bcce73509225bfe20105d040c360518d8dfe54ff80a576573cc5730ae8c64bcf72369b2aa9b04f90881813e6a4b9a2a5ebe2f233184b2ca9374b6a639db4628d4339c3267b339ee1570bd90b9359dcf246c4678 - -COUNT=35 -L = 2400 -KI = 46d4a533d85bd3c468d4d907fc2137b2 -IVlen = 64 -IV = 418d3754ca421379 -FixedInputDataByteLen = 51 -FixedInputData = 042ca14e26c26745ac3434eff880b67dbbdeacebae9c614c5ae89069422645ccf3060cde5e56da907294fb7bed65dee94dff8b -KO = 0c0c13970a05dccb5ba68b36d4203f43d94dfc35d2026a4c823eec80162dedfb8b90068a5ee119aadfd5827c42e68e26582b17bb3cbb743c619c39c552c7e079eaff8987b0758c021b43d36ba81d6e4be7fcda37a5ef802d537ef82d2b43528dbe50568587dc05c33b7b0ac6a2c19a55e9a6557c5c56fe3aeab39a8c581a7fdb090d3155f354a3f3d657879b7590a850f118bbdf4cf1e3708eb5b89e4f45f3e02dbcd09eefc718ed88bf0e2d37d045a619f2d609f8a1ecd193b3832f5c9b5f270b79eb73ec311dcb28085794ff9f8abb9708062243bf3b7e84153e60e4ffa3c736b05b9aa18ddc4977f1bd4917d73be50813bfc79bd30d5676be3e04b22c84719a0f4f97a3c476e2626c277ef5449128640d266810044f085110425f5fbdc0378dbc16792c2992259ca6bf2f - -COUNT=36 -L = 2400 -KI = 72d0d89208c23b4229a41d2b33495c87 -IVlen = 64 -IV = c83de1e7e6d4e971 -FixedInputDataByteLen = 51 -FixedInputData = 9439f1dfd158cd787ac359b922dc15157f113365c17fc4bdae35669be3e066e13378d6ab5dbe63a23ff6a0f94d40171b2898fc -KO = b6850a732f05ef428832cf1901e99271041314059533ac9c2b14f32e6828f7bd6f77e955477ba53d10d9262c1be3a80dc2a1e36505f8d8e51ea6803e23b6e10762139aa84097106fe9660db71ef0f772d911f3b5e63c914ee2153530a78b83a8adcccc72f770f801faf14438e178fcba639ceacf75c8ab81ee34a3aef9a6c02655a3712b23b62c01daa9df1a47b553d3c680987a361d228b7615562ee1952f52ba70ba3b6846635d22616c15eaddb290834bf9470577910abb0905ce4c1fbe128ff0234b53ca670b0df7a2950c39dd3f8ffbdcab618e8570e8a13b7b28500c5dce2137243011aa731acdcadeae3d393f774bc62f56c42bcaf443f7c97db78141cbd02b5417fd58e2128bc7a6595853d7e4b14afa74a05e3b06e2e360be4af429397cbc9faefe502ad7a36c9a - -COUNT=37 -L = 2400 -KI = 1fd7b02df149b72191101f9b4de19a5c -IVlen = 64 -IV = 552d419c25216d6f -FixedInputDataByteLen = 51 -FixedInputData = fbe468ad5e4a7967edd16fc41bac109392510a65cd562fd4c8fd58208548ef72e2cc6f8922d73e6281306ae7d5a63e3da18465 -KO = fbd6c3a53b74ca7fab360f4b319b526c1df3ad74613fcd44b000e488aa4ff870a571f3869da85613942b31f8f0fd24900cc1d45a5b21897fba748f8a34ccff20a5babd6eb69e2c6006ca178d9093c834a366a6ddf921b37b1dcf8dbade2c2cf0351a8628192409a6b5c5ebb0dd0a25568679cf63177cc4421d005c88dcbe1a4ac814904261516f3e77985abfc9752e20260588e4ffe09f6bbbcd5b31cd3778a291e5430d8b81b2eeb33faa8ecfec2f3201d5408ca58221b37288962381bb956021cedadcee8b6d79bbb799d9af3efaa88138c785a0ed5c01306573a4f62e8aa2bfdd393d3bd96bd6854919566608519c7f59927c03d963b9c2600ee97d1f67e9945552c2687141747e2aec89f7ab36657837a773009b6811c198dc1ceea78aa4a3e0667b2b4c6aba965770ce - -COUNT=38 -L = 2400 -KI = 33c3f73008b20dfb74783f9e1525cfe7 -IVlen = 64 -IV = d339cb994b58cb36 -FixedInputDataByteLen = 51 -FixedInputData = 5f5e9836d1993ea7b901efc8f4107ad35d1fe006d9fd704b6eac1015f6564471395dccddf683885012cc3c32067f635cbb0e72 -KO = 6f5f098ea8dc0045b588a7f83565e9a1bdb5d2b9af3b53e7e5d2cf8f8c155eb5f59b39e128559d5da45ce9c92ffcef3dfd39c8a8ced080e64002c7e504a4c25baa94f6430b2f31b3df1a3707df6530035e41e5b11d573e864ef8370fe68ef5ec0a1b59bdda929dc8ac17e55a3c78544328945d30b5dd1e79ba558cab4df62c387686fc823a4065b35aaf5130f2c477eb45774f76671021ffff3ea143f977cf27c57055230ccdaf52978a447a01d5f8d53e9f535a645026a9606351e796099cab8dc667241441a334a714b019dd35a698d7dc847887bcb359b6e593c98cba0c3969cb86f5f0f6853d67c3948efb9dea2e51f75279fb4af3155e8cdd25e828b9e77944eae3eb3ab84ffe44d71cc53df5f4b33a2018ad0e7c0ab7710e657461ecdcdbe39f9eb868aad00fec6f4f - -COUNT=39 -L = 2400 -KI = d697150da19caccb6cbe3e87d5b4df5c -IVlen = 64 -IV = 3ce5c6f47d09f495 -FixedInputDataByteLen = 51 -FixedInputData = af36f208c8f8a6a1154e8dcf37c222b0e687a26a991beda1e20c7314167b777df9cb8cb0e6b8a29dbafdd14f9b6010b1da6ca5 -KO = c352edfd69b1ed3efed59db2fc1abbbae6c420d54357da312ef98b84776aa43421dfafd7abfb75b192078c816437457679edd781160d0af5d06e396990955f81c417d02cb9eea2302a436a6a45c606e1d26991766b74f7f358f40ae9a02bba4403a2c1f4c167475d51143e0ec160c6854fcce26a4d10f44bb7f5dcc4cdaebb2d8a2b6f5a5d096f5f29ac2b8eb22b9409d71cd343837531f85e020fa5dfc7aa217a3bca93046e44af2be01c3af2ba007b4a23dca3d677132329541c0ee8d069a0ca7a13c774e8c391d53d816f3fbb5d4f62d2096d5026287109e1f69686309cbe2afca479273158a46037d1f59a3b35999f81f3c6e27cc1cf96a2ccdbec23f9c6eb0403282d4e79c47a09330f25f3de48ec7d1bfbb605483b3016d213c3be1fb8f301347d29ff6e6543ba2fe3 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 40bcef39409f86ef87b7ca3630d78dfa -IVlen = 64 -IV = d2f7018456ac4363 -FixedInputDataByteLen = 51 -FixedInputData = 4f56e94f40eaf80ca12b8c25e269f2b99b65c34d05fa5c976f6801ad0f581cb844c9021624cbab808eb4c3f35e4f1278c0cb45 -KO = 36b1eb331ff4e573f77ff6e3dec0449b98a0e6b5e56ac0f2a26d54c4bb3929102f540f4af5027a79b92c864503e0a632ce0e7dc74e79c6b6a5ae418a0eb3089f - -COUNT=1 -L = 512 -KI = 35a662e00d5238a57063bf6e25c02716 -IVlen = 64 -IV = 721da7475fd84f4b -FixedInputDataByteLen = 51 -FixedInputData = 6da72582797349ce03618926c3e5ee7c76d192df5b87eea49a8eedf4401f27b9a05f28051e185d5acb9a5279002b97c28f5c28 -KO = 833a872338a22534c0adc0be8e7e5ff488d9185b056b16983bb6f57cf589ec384bce09f26404e1648821124fc78835e48ed4a3fa65c60b5a62fc59b16bb63772 - -COUNT=2 -L = 512 -KI = 0da37b80ae90094dcfa7b81741b157dd -IVlen = 64 -IV = e1ce0d5d3dcc3b04 -FixedInputDataByteLen = 51 -FixedInputData = 8545e4dd036bdd5c23fc65d4d2d05fda77d9263e59d256cd1fae791bcd67b62ba53d1f3bfa3dc629508c12a3f7718f1e8b77b9 -KO = aa0237d7c0db9ed3a0937f5ac28aeb49d434c1f80bd3ce5af9422660965799b847a8b63c7a13c0f61be2495f4727292c2a9df7a68d37409673a78e6ad929856a - -COUNT=3 -L = 512 -KI = 04de24a1cc0e3bc0ac09aa0b42eee1ec -IVlen = 64 -IV = 8c3519501659b264 -FixedInputDataByteLen = 51 -FixedInputData = 3efc117cfb52e1e95259eae005e46ed2cf0ca838124f22d0611b121f46cf5d8326db70b7cd4e76a993eef0b95fb19f4456f290 -KO = 78f2ef69c5a6aa4ffa98fe5aeb0339df20d5e2efb1f5fea18df52e31fb520a119a09c70a52ec0825452347f8ecbb995d5dc84b8785c279af3001aa62272510d8 - -COUNT=4 -L = 512 -KI = 3cacfe487e255b53caf71d3c9086e442 -IVlen = 64 -IV = 7f06b90df8f36f8f -FixedInputDataByteLen = 51 -FixedInputData = 155114ef692077b75f5a98df5af6a3e904d48b56dc5f6af0454241437a863eb06686fc3e8585826e1a4a3733ccca30a0689bf3 -KO = a90fcbfba113f24c486181ad7276f098eccae035ca16172bd873baf1ed577d6480302a703542e0788f1039efc09bcd3ef48e2acfc26cf22847e2da8696bdbbfa - -COUNT=5 -L = 512 -KI = 40658a37b1db081a3d0520550f4c83aa -IVlen = 64 -IV = 8c25951e197794a5 -FixedInputDataByteLen = 51 -FixedInputData = 5daf0d847cd13cc2724e9892aa5dbe1f338a87c47a8582f612338004244803419fd50c56b309f8896b51468eea7baf74b98e81 -KO = 0ef232e83ea29508330813c4a36f54cfa2754da2e5cbcf892ca217b16f8a9374f6f85a12d2c2e0ff7d879229f835117ddd753f8087a7ca56d2d7caf15fc7f622 - -COUNT=6 -L = 512 -KI = eb7d87f1fa3e9fd16563fe4bfa299f01 -IVlen = 64 -IV = 7008582f38fc2f61 -FixedInputDataByteLen = 51 -FixedInputData = 871ae5b80d520d9a3cdd0097ceeb83b52fce1102e23bbd064cb448c6847063995cbf1afa7f1066df2201fb72f50d36684018a3 -KO = 9922a007c9836b02dd17cbb75d0790217983a9ae8f5b25363b1fa45c0c44c72a1b18baeb9a9e55df8bd898ff3f3cc1b0b42bf6909aa376b98bf3a9079dc794a6 - -COUNT=7 -L = 512 -KI = cbe41f7857631be9a380956c7433b431 -IVlen = 64 -IV = 1b683373bae10a3f -FixedInputDataByteLen = 51 -FixedInputData = 70b32ce73e85c4b45ad3833a7939cd92cd6090ecee836ff1ca580b81d947e55010357a3cf634440f2f512c45e387e1eaa67178 -KO = 9b37e71a18e050a04c94988836025477eb1022430bf742b86ae54f3bea8bc168fdb4218d8a0f867fb4fed5b65e5b0f5ace4409948dfee6d99b43cf6c59b31556 - -COUNT=8 -L = 512 -KI = dd8b4ed4b2eba489af8a3dd0658ab802 -IVlen = 64 -IV = ce8f0620ddaf08da -FixedInputDataByteLen = 51 -FixedInputData = 1d94174108b7a734629080e8b28b777328de209fb3579d4bf6539540be6685e472478c782c47ee543b6af24b1ff5d4b631f1fa -KO = 7c7703744db1ae1c28940654d1dd86aeca9399a9e8a9384ae09625fa6e820ba770a111790cc360ee757ac5f381e05814cf99fba7c6bcc62882479ec36d2f3ea2 - -COUNT=9 -L = 512 -KI = d4fb8aa92a79e509420dfd78e55e786f -IVlen = 64 -IV = 8a2dcc7b2667882b -FixedInputDataByteLen = 51 -FixedInputData = ff3cd3611bc543d219f74e48e0db4860a1c9b8538bd96592125993b9dd7d84738ea292c8a920aa1afebf21baf0c4aa7fd5f051 -KO = 22c4822a767f62c6ac52318492662c3b2a3ada1c3e3bbb819e49c081293802f48aa2a46eed93100ce7b1bea677d23dfb7f093607ae10a6bf357065c188e6430a - -COUNT=10 -L = 2048 -KI = beb36fa784cbfcd5cfc85e06f8edcae8 -IVlen = 64 -IV = 726725361d616e3a -FixedInputDataByteLen = 51 -FixedInputData = 67baf38ccb2e425bb815c82cb1cb518f3c2dc40eb3950143264e35a046f810bfb91bbab981aa3874595f70a6c5fee6d1937d89 -KO = 8caa1a8686954ec0b35de8b1672d61c29e578965a08693c17a68924c5d0f6f60385ba11f831235f9ce140fead8f9ef38ee170eba4815b82eb0cec4b086a7bde8226dc59086689334a98eb5714f5cab56eb406493ce6b8f3d1f5be7ca10236f43406affe3422952611eaf980c5810d68446172297f5bea38686fb9e2187a75689649eb2086871bfa756ddfc13f88e671fa3398bb9924f033f0b68f7862367f19e4ae11a739e2ba0369c25d895fdb9d6f28257b9346f0bb44bc8d82da0696280f1b8faa21c9ff9750fe8319a9f429d1817d22c70bbec795c1c16660d2655386f85b3d95d35a18e7a3212c70ee459ebaee2de30dc463f64b354fee7eac0f68c87a6 - -COUNT=11 -L = 2048 -KI = b1684d73d12622a9843cc23156e348b3 -IVlen = 64 -IV = fcebaba1b27354a4 -FixedInputDataByteLen = 51 -FixedInputData = e289c3c4e1827da6909da1aad6d1e86428915b9bcef0c02a66b0e755ba711ce245e31dcdfb9bcd7769b177e0f10b34e603cf6d -KO = 85570a520402a314268b03477281aae2208d03a1b14052565cec190a614c239e6ea6ff5c174a43781963d236d0716ca18de71b28c6f3524077092d4d9932eea1caf7247d923752029f6d1c2fffd1875481e4bba80d0ae3fd63f561d2072ac2780640dfd0a0a03e49b16232a2fd1e1968f6e160c6a4331de691517cdeeda3ffdeed3bf52b45b591c4a983f7bebfcda6cbbbc09b6de836a6e833c3b56f3865ee1b6a2d63842f1e1e0a65233009987c97bf19161f500cd7334bfd355f73198e7e2609a879f8b25f4c95aa6425f445a45d4a59c0920d36af4b67abc0442def0590d29aca435276fae43682d49fc2305af05f71e9bf69dc1595c69ceffb58b132ec38 - -COUNT=12 -L = 2048 -KI = d02f053a1c6c26a0d3b1a01369d1ccbc -IVlen = 64 -IV = a7e6f465f299fd1d -FixedInputDataByteLen = 51 -FixedInputData = c094ae23ca2a62c94b9bf13bcd5637b23d280dbeac48f4fce5e15330a4fcbabf788833d1adacede06f8e083d0f66d95b87de45 -KO = da2b353c07a651d3e43a66b5df5b67515be7abd372b98afb2e5ee9f3cb7cc19de31b01eeae1353291e327c00bac4b341beefce6592ce7789d2528fefb190974b3ac9cfd1f2d49925937e3725d8480cfa466eb38efec211617f594bad405009190578a0f126b9c36635ec9de45e49e8ccae823c37aac9468c90bffc40514c5e897dd4170be82107bd384495933f41e2f6fe41b4deec2fa33f3b0e9be142b99277583df332798d5d02d32b44d05f1b1a588f69d4681a503802db915ecd33f3e35dc628eea498201f206388ab382ea6c36f7038a4147569d0e628660b1af8bd2bf8fa0796a76ff3aee9ea41ace60e61f15eda0231b0758cdf3b0d8597b398b2d6b2 - -COUNT=13 -L = 2048 -KI = 98e4ed222813b479a49a88a112030fb0 -IVlen = 64 -IV = 560a0dfebde1ebf4 -FixedInputDataByteLen = 51 -FixedInputData = 79e65a9ed69e2dc258a2e6c1c7ab5a0c7c1ccadf22f2d391f2bd417163201c7bc42b6224ec12485165fac8a589cb1c39fd5971 -KO = 9002a38d420f1b5149ad6510b716600d901e7567f467b8047e4227f33d016cff2703f501843b8022310c8e1d5a39b416933ab5e0b55ad98a865d1b44ee2924fec652b8a62b56c01dea5547a6c47e4fc2515ce274b165c8def86300aac830ea8b10bd84acef9d1ee2eab45694f107b028ee56702beb47486bfbe8507358e3d60611b7470cebccf61493e6c6ebb837253ccc37dd449a080207c545da2ff4a389653c376c4aa25b2ca190e897898a550192b9081f8565b5deb1fdfc37e865e1d0d35b0af64c915c99515aa411ebab181ca3ca0830f4da1ad0f0e49a6924948174ff5060df690653f463f9c77a1087fb84e8d95b1b99605e579e02341110fd2f0422 - -COUNT=14 -L = 2048 -KI = a16baa4640ba6221852c168301eb7871 -IVlen = 64 -IV = a5c1633ed4fbe8cb -FixedInputDataByteLen = 51 -FixedInputData = be07600ed78e13f72692d644d5f6629a664388163c6b6411aef65a3c6a5f85f3a22c1766a8efec6365de3d2fdd0f4ff521d4c4 -KO = dffa62a5c81128094d847848617d7ca3f3fff832bcade6928f0fba9bd71d4af2d824f46f44e97adce117fa828d3c0a967640f1335b5e97e5e5925bdcdcf0b93384357019773d71af79c17d1e60eba2952d06085d503dc9dba3d361ea76c7e00fba6088708cee87f6e0e4e99aa1faf4076428539726890b5c526f7c66d5313ced93eec88a5d5be0c16838e7e244b0a994312324e951b162427835a3d39e49068ab1b5db524f4f80640f10d67c058790ffe32471eaab01936eb79bad56fec5f0c9df03dbadceb2d5b43adf3776f0ed858bb0e43cce0d0705c86a31f353cda1425c7856e977c990a5a34b3a2da0b180976c98d01a2df36dc322c21b878183ecdf02 - -COUNT=15 -L = 2048 -KI = 8622dc325cd47e76b1f3902fc9d870db -IVlen = 64 -IV = bcdda8c05e831bfd -FixedInputDataByteLen = 51 -FixedInputData = b485438fe6351b7862d2e0452d276a46bb7b1db0cc0c8d3d3b67852cf43ef672b3bd3eac4af4eca1e165e8a26361365586c7e2 -KO = 154e09d4c28d7b3c6f2d4574cc28addd179675c6f4d329d7df0306215ec35446b69357166252fc117cdb09e255043f223b91d3d1809aba78c1fd866037c3fefbe435f724e070e1ab624cf09b6935c04e772c450e077243edf8b155ea9283927e2a16a62e87540cde7ee2e6b79f6053fe76d393d55427094d8bb6f034b0f49a5eedc4a260c8faa2347476f40eba2f8d707da58c5f9c689931bf1a110ca64ed6b4a6a2f155966e9328b2ce313b9236987c4f041ebd4d94806871ec3da9a5c29ea0b046944e92f85886ee97e7afb653fc7b048170a477ae6e52a516e6ea30664dfb44687f8271cec661efca6e235962d8319b3db6bfc1517927032d950bf48611c5 - -COUNT=16 -L = 2048 -KI = a4b4057bebf8eb69c2b908f07f235bb6 -IVlen = 64 -IV = 00fc384e833999be -FixedInputDataByteLen = 51 -FixedInputData = b2711f7ad12a8c84d18dc22d2b923b3729ebe2306b62e8b07a64e6fadc52ebdd862d34e55c8e06aab905bcbb201f136022195c -KO = 2ea18fbb4fb67df7761db05864b140574923fe25c324c5b4ad21008e2b25920bcab4db96750df06f787166d5b897939e957f572f98553055f32a2bc4acba1fb79efdb6d685ef8ec9d2b5f897e679e463570d7b4c6a310b673c71f0bf5f994c803dde9fa865b0d35fe058619480840677f0fd85eb7e7e6384b4835e19edf88137a113636f5aca62502e3953a5ead0b678a1808e3bde14aa1816d4d9ebbcad5d001a59c86bb1c53d03e50ef2ab1736a3f8cb1d4924192a6d1a9d76384a13189a80aed690529d51e746fe9807d85b35ae185c106061cbded5c93d4cd9b7ae6f9be600d36a642297542f7914684432658aa59c5264dde41c7ef3ee966199a78b5e3d - -COUNT=17 -L = 2048 -KI = 9e14b994bbe86b9eaa7035e55feb242c -IVlen = 64 -IV = c03872d416b23335 -FixedInputDataByteLen = 51 -FixedInputData = dfb0e48c32a25ef9cbc310b0c9956c9657a89b72e9e386e88b53b1a36597a0a5b20a2f0dab77f8ae80d66fc0b2c0a54e27c31d -KO = 2f4dcf0730ccd39d7a6f9b9a2976338f3e40e609a349bc6b2a8a1ca4f9f95c0f212626bcc8d8afc398bd8425fd295af9989039b2d43c8e324966d5a5334e69c058e5944aed1be8023f4ec0da83bc98c8328da5d6a8ce6d2f1f00f79803b3d66a73ddf1126f6eb42901bc133d0eeb5ca8a4a57108c994a9fb988a8113d55456b2ebf162e7df8acb63ce754890418c71fa5fbd121e285657f676d7b21bb8d71110de6dd088240a3994538b6b8cb59ad758896163e26b8d74219cc49ff5d10c17ba777b63798effb6d9aa2c157348d8e7b89bdf84d15aa821bcd224bb4d286cfc3a1f48c27c6d2bcefb0745a49b1b21dd84461ee82f41dedf91531411a5ae0c8df3 - -COUNT=18 -L = 2048 -KI = 3807ca2a3a47e6b1a882d223f3194522 -IVlen = 64 -IV = d00b40c3d4fd0d95 -FixedInputDataByteLen = 51 -FixedInputData = 59e87d92d808fa14d4e1c865ddc02713a8fa894955b7fff23bf13e3c66d4aa5ff3edc82708ce1e8e9dbd2d0c6c1b4830b45bd1 -KO = 3c2d42689960e6c097180d6e5b4358c444822c1354b219a153ef3c073fa8fecfb2f46a86d200671b0115f93b87512a8b7d60ca4c2040b15d55278225a15e7184c53be6813997275be69a504b6d7a8b6941d734b2bf0f279a5e93facfb8436d91e6d767ecd2ec1d91261dbbb7022c98b292e27ecbaa20a27ac3acdeb8e3dbec5cc1cd46a272905af29320422cd91ee1a2bfd95302f890573723ecd616b7988cffc4dadf7f0b825e150f6961afb5da6769d117239c959eaa708430279deb77e7cf8ef7ee9cc49ac81c2d7f22d2d04232db715ffb19cbbed80819d08c380c5e010cae0120d1d8f8e7a186d5d5209683e9d660b4f7ec1ca6af55843d08602437c414 - -COUNT=19 -L = 2048 -KI = bf1a29b877af6573ba0e67f014d26470 -IVlen = 64 -IV = 795b3bc68abd95ca -FixedInputDataByteLen = 51 -FixedInputData = ab459037a738cdfdb87bf40a32c7df7e92582e8dbf321bb8a26d9f8252d96c67ad06a85ce30c91898693951051e71ebdb80d1f -KO = 9e97a1d718c74c71f8ade1cde25c4e05421a22a47e8aa73222472172c700a48567d2ae28fe92cf4b4ee8f1df50acbbb58d08998c2ae44221c052c8352b9319298d750111453eb7f245b13863f329df1650ee9da836ac64402aea5e7eb553d184f906e8bc54f9fc231c90d3dd27f9d71d49118599fe78544f2c2058aacbc2959964063af1a8f63621ad82e7ee42f25a4cd88bf76299486d08eec96265b925562cedc2e3dbb148806d1fb4ef88dd458c76d512f891ea02f3b7c4c5d907635c8125996fd407b38e80215943acaac49924a86f45907740f22fe783f53c3078b5c9047e52209c02e53e4478f7e5c9a9d34581286c51b18798852e08b1f3a4d04a2eea - -COUNT=20 -L = 560 -KI = 416c7f2822520051431e795877c87f16 -IVlen = 64 -IV = 21e386ce631481c3 -FixedInputDataByteLen = 51 -FixedInputData = c3ec388db771f3889be9ac6f5a6e83a743503f1f1d609366613a547f3662290a150522731c3b2ae1e4f8033d962a916281173e -KO = ea84d48d8cad959494ff341a14e489c20202cc667ffdb97831805fb7a42bed301d47cb25723b109a46e9bea142bef92103c75df949d7fec2fe1a84d3fceaaafddd25c7e192e1 - -COUNT=21 -L = 560 -KI = beff16d1a5702e7ebbe7af325de9f55e -IVlen = 64 -IV = e002e68c929ceab1 -FixedInputDataByteLen = 51 -FixedInputData = c37a7f1e2fa3c52385cbd2a2d59f445b45809969eb08b9516075ffd04883dedf5fec863be3dbf363a717017f3af9cb74a81a6d -KO = 99b0c8e1bfde626392f0b35f8fd126103bc955ceb5fe61cece4176dca577fd2a2a2eea73d2378ba9dff78aa9defbf275e5f42d9d7f3a5d27b3fc3b8b42710ca3151899212258 - -COUNT=22 -L = 560 -KI = 4515363a3fd69544a0f48e715822f7c9 -IVlen = 64 -IV = 04f6fd9927bac0bf -FixedInputDataByteLen = 51 -FixedInputData = 442a9f8e978dbe8785cf9099282c6efe012cb76b9a2b16d80e12cfb10c4e41e21b35fee0964249f9a4a93b0354c7138569f161 -KO = 744246934af3a636d0fa42187f3de8c6abc49d3a02f7dc9a4b79939842c0798007a63df7a99b9e5bb220cb578daad162da7a8dc3d654f16fa1cc8714f664d1d94f75e02cab49 - -COUNT=23 -L = 560 -KI = 667a7dadd7a7b8beb5cf5eec4c782055 -IVlen = 64 -IV = 3f7081d7a35c0de7 -FixedInputDataByteLen = 51 -FixedInputData = 6e0bc3c82e3125105ea2a1d82d9212b64c9fa7be82bc08eb8a11c97ce80745bdc2242c48a3a3e5b735ba5e1b49da91d190ba7a -KO = 1f5cb45673d4c701293900d6f31356935ceb85f3b9c6681dd19adda82fffa29ee615a6b1a94f44a4252fe030228d6294addb090b4407b85f51740f7e3248145783bb72196b25 - -COUNT=24 -L = 560 -KI = a626ced20a5972ddf88ab15c2d92339b -IVlen = 64 -IV = 8dced2dbe564547d -FixedInputDataByteLen = 51 -FixedInputData = b1f3aa8831a115f7c4700bffff6a9159bb71f241473adefc1a961929cae8f4b4fd5fc77174b9d7783483c1ff90856ebdbfb113 -KO = e9a330ff4d45ff8492bce3f74418d70f325bf39b631a16d4344d8633079e9f7dcd35343302b7c943c6e4d76f3d641555d1d1c29f24e1dbad30e17d7b930cd81e5eca09ced02f - -COUNT=25 -L = 560 -KI = 796185294584b650fbe47761b854eaec -IVlen = 64 -IV = 5b8f5f2cbbb22b76 -FixedInputDataByteLen = 51 -FixedInputData = af07ca75b2a4fba4637254611fe7b9dbee781c31190aa5fa75389e32288d5ddcffca3561b4a140d60cadcf31dadca655e99883 -KO = 7756ef695944525a85218e56e76d5e4235a2a00fd8a8241f614011c18898fe7de85449d472ded05771d49895b5a965301972408d7188fe4730c825de02126e0b7a86e5b8819c - -COUNT=26 -L = 560 -KI = f4af2aff41cea7a487058b45f2c89390 -IVlen = 64 -IV = 1f13029e4ad0660c -FixedInputDataByteLen = 51 -FixedInputData = 19dfd7af7457813e91ddbeb1355c132009ec411284fe49af9c4c9e008a1d6f2166183fc4e84f2c5d271dddc849f617c8ea6001 -KO = b5448c91c61867030bef777a5a9ac7dbf43b5b281d9b3904cd9336717a1aa538caacf9b037d15fc1805482940e0d5fe58dfe35c7583a42dc67afd72d0e620bb0b3f15868d4e8 - -COUNT=27 -L = 560 -KI = c9b62fcee8796470eac6c3bc8e234674 -IVlen = 64 -IV = 47f4b539cca05538 -FixedInputDataByteLen = 51 -FixedInputData = 68befd4383a3480aa5c43c4832d90fe1748ac7ad8b6e471942d8c43432356b1c5de36192107035c9ed154ac995e9edbe2e8683 -KO = b9fbfc71901b754b8005b99565af3a1c2857dd4191f00c722e389cd1419e94a0b71d7d7500ef3d4e3e8155b114e34f14caece68f863c08cd48b62b9c66111e89abf7700cbc0e - -COUNT=28 -L = 560 -KI = 7e3498ea8cc665ef2476a5fcc3285454 -IVlen = 64 -IV = 150689a6d7e02e02 -FixedInputDataByteLen = 51 -FixedInputData = db20d2e6a1bbf3aeb212c307d1793170520703ab0662e63898a28213bdca0c030f0c077ec7d5267b28ae9d9b665e3498b12db6 -KO = 5acb0ca1352ee7e8a1d78398eb6e02222877dfa6db40cf667f7181c2e48f9fd423d37a28913628de3cddd91d19e5ed7c3b0d4bbad329514f03dca74aec9ffd3e1643836934c5 - -COUNT=29 -L = 560 -KI = ea627de33f917902c8850d844451ee57 -IVlen = 64 -IV = 0f9945021ef9f049 -FixedInputDataByteLen = 51 -FixedInputData = ee7269b83a6de94b42310a05d1325ecc05651e6dc17b12980ef7d2d5ada55fe44bd127b6641f3db317abdfaccc39de1ec82603 -KO = ef1e0a4ca121babeae281c54f499977e6a5947df8c651525eb893bebe7f8f4905633ef1d1cb571630caa739d83aec9fb1038f5cf49ec69b8cf7e9ea42acddcc6807fd2fb21d4 - -COUNT=30 -L = 2400 -KI = 0594b0b640eacf5d60118304a6b74468 -IVlen = 64 -IV = 87953f818aea371b -FixedInputDataByteLen = 51 -FixedInputData = 859416577b5900815530398da23b7cdc0c283ac4a0465052250fa75158cba2fdbbfe1e4e79d4bc768716487f9ad176a155b2e0 -KO = 0c9d6c355c3ba076c9a84b79ea3304756cb8cc75369482f0fb47e5388f7e9ff82f43d0194b11b2a4339bc09883fb75e9428c6c4ae4ffcdbf589816e59cbe07ac597a74b27efa770cb544101e3665f702a1413238286857c9dd8e190baf7013acd81ab93075a82d3e76ca985616a69e2f843a79a4315043079d664948e1f0dc6afdd95691fce34bc1af65dc4eb80692e10ce264eb7ebe0aed6659138d98eec9cf2e5f218921f2b8afea88755c41a544fe05491fdd1f3ddf0785df2bbb52b7aa6f35113aa892a1887532dd96f3df2649aac8b913ee46b1492dd0c9142a02f6985b42ede0079963ff8a87dd0b8e60f4ffb2939bd9cb492ff3e9a1794221614bba934593eb02c3d5d09a644286ef7f33160493c8e616c3adf2b93e0b0dcd53641e5ed0917842e9362899f5d8e0d8 - -COUNT=31 -L = 2400 -KI = f0e0966590bfa0a370428e8f2dbb86e4 -IVlen = 64 -IV = d351823763cf7ef1 -FixedInputDataByteLen = 51 -FixedInputData = 9df0d53b645357dafb73e20af4e22b874652fee57a0fdfdbd4b8cfb5abe14e6de2020b2d7cc45c7b86f61572cf23738cdf1be4 -KO = d36d8d361f5c940ad03e79545ddeb5e1623e20d37f84cbd7df93825f8d753dda55478f1e234bd489a5813b69e47f7da8a2b3ef31d527eb221dbbaff9b4c639fdeaa3212c886d774aa93a4f35470f83a06029efcf5bc4f72f05140f5846c4888113933432627628c582a9e8064b601107df8879dc68fc3f6c24c8ed47f4d1a0addf3df4b90efd8d2ed585f2a96b2f3742e34dff3ef0d50e5a28b5aa307beb3818b7370a56ae1e67009d0fd58838bd65e3f30a2b1773cf5bda7ae425de0405d48a959978cabf9126b582354bfa49270946b8527588af485989082786749cf1bacf871f726581a3990dc65bd0f54c369e1903a846d8be8de8393cf59b34ada7827c738f41e4bed7b2e80ab850fc79eb77911e0a5988f0cac756c25da0ac20b815dd337afda0ea855ead4faf6d3c - -COUNT=32 -L = 2400 -KI = ad7b238bf7c14dbe1e7f7bf830de662f -IVlen = 64 -IV = e7cf3632c2f79b79 -FixedInputDataByteLen = 51 -FixedInputData = 1c4bc049766eba2fc53fd353935558ad2f3f3e0e37587dbe48370bbb11b6b9f47fcdf66a60632f9226d378fb0028a4947ceea3 -KO = 9bb49a9a7a560e1aafc0afe784267724c286598edc50de4a32de8616e396a577d23bf065cc50e2517a1267efa1e57195c2b8f7ae2ed6e84a407ecf61155c8cd91bc5c19285234e3b2ea8edb9052426277011e3351d92906bce691074aab953f55f8d39481fa78b4f5198b17887d401d0ebf732225f8e73783dba73e104442476c0ce6f5fec35b7debad53fba63f63aa3aed9eef8be5c4738b3af877472e6ac962998a1a06fefffde3be5c7145fdd2769df5995b4723a6cde43713f06668d7b124ec9f30a73ba47c7caf03cfa6fcf3dcbd4dd22d5b69ee7de8818aa3521bb62b43313fb4d8337979f3fab61fd970e3d2bab9a2220535f81dc2a769cdbf25e2bc0fc88b9c57093329db38b2f8778f6c612abfb51f6ef32b987a5e193d0b5d92518d956737783ad782c8eaf13c7 - -COUNT=33 -L = 2400 -KI = d8743531a41c7f0ee61eed0b31ab01f6 -IVlen = 64 -IV = fafb0386905eb5bf -FixedInputDataByteLen = 51 -FixedInputData = b89f4bf2ede98f177969a8cb863f9b03b2a9044a346b033a2958c1c04a59055e641b37898b4c1e0d8b656711affd72c0609f48 -KO = 2a72c4c1e4ecdbdf489a30340c013f2e8e73ced29f83d74fdc5ead314dab3536adae769654febca55ba5f43423d5f7fe00222b900885771112a508136ed57b69a87e5c02c37cc2f22770c35a03e27ccc7d7f6df0d008546b4ff14fcb8a0b1ee666df53b8b90f7a44c8542a6f4b7ba5291d1fe64a4b04933f5491789a61c25cfe6ba257008433c7c6ef64e034637d41ee47fac70ba4928600100e1dc5659c19a6d460e1e7adfd5a73d681c3e8883e1773f27c391ebc92fcdf54b2a15b207a77671dc938a7c4a2b7d639f567c93950aa67287af22d51624581eba6e21654b3c2c435cfa194b61624668413ed5f1aaf8ca530572973e34cb8878200a2d9d2f20ac209b6f3de93e0060f556abb3603fe2c5d7561553a2bcccb36a9a1839dc5e47c1b05bc1fbaef7d7d3b92214291 - -COUNT=34 -L = 2400 -KI = 26c1f84e662dee780311ded8c7c0c584 -IVlen = 64 -IV = 9979cda635502c01 -FixedInputDataByteLen = 51 -FixedInputData = ab667fb2cbf8b2b91b69cc26bfe9f9295e8bc68538f930336fdb93ee573c2894a1a4090813acfdf99f3c9161f98b5231edd662 -KO = d718bb7c33881ed4fe80805b64c7fff7a0d63daa0e74c1839c4256fc39d8b6ec46068ce6569728cad11e3735053622b0c38571da03462c0071d48d9481468eb8d57c85aa49b35fe5937621294a671f4fb17a2489fbf22edfb442900dd19d12042bf1ed0364924bff2ced1676d0f53d98864fde4efc71d8269f054e931c5a2f81e23a70062ad690612f4c2d112eef0192e5cfd3ae3e24802889ca664db1f4f16ebe47c1e8b487f772dbfd7be1f99b55a1c215811e40242648dbc8a106e85d0e6c5f5c62a155151400817e68bcf791aa6127ef79a9257825de21114c8c0e795b7a976cda278a24b24afb56e2da6c2e51696c5d35612dc115936f1aee7b77316392b1b8beb72d58517ab626d14b8c8868c6f0778f24a9932c2c64c84cdf44ff68d4980e02283834360d4d442520 - -COUNT=35 -L = 2400 -KI = 6e6227bf6ac2ed2abe4f2100275f0399 -IVlen = 64 -IV = db61d2db7a3e38a1 -FixedInputDataByteLen = 51 -FixedInputData = b4b0262f0f30b32e98c75d6b6dc881b4b15d672d21aa821fc4f83c6dd15d9e1703c04e15cf4ee9c980d43b72993a7e3e68ac17 -KO = 276010dfcfc9a25a759263b1cbc5ebbe535cfe1ec22688598669a0136cf1859d78cfd7a5577184034c789f86b2e63ba380154aa2124011ae55bcd18d1f069ec479c76faf57a2e1d4b1725cd9d5099b7c3c44f2cd995692960c295c7c48188378d50e8846d5d95dd78de3185ad6811071c8876522c041d4421c25ab75f934d2bfc69edeacb623747a46c9bea95bf8c8fc2acee5fea1de7e6082dc4a055ce46d30459761ee5b169c5ff0486d77330b53a7714835db5eea5b37d66bab07cfe8bd11275377aea54b15e1b7cf2e3e5b81b77664ba0fcf7857cfd0de6f74f4506ef638a13812b0318eb1c0664df9693caec8bd2c5fbae8bd5653c6f46922e95b5ca242cd1a1a7b30a2c8f9f14f73d712cfcc214e28a1e4a532d5f918820f4f21dd8b61bc581d4c5c589519904e2781 - -COUNT=36 -L = 2400 -KI = c362f8690c3e72e42f7057bb42253749 -IVlen = 64 -IV = 3e95daa2e804a26e -FixedInputDataByteLen = 51 -FixedInputData = 0b2f9fcd28cc11b1f7cc4ad497c7a39d9e063427dad9650507dfecfb0c8a71532affac1a0aedc76ae9a962625ec59b5c6b40d5 -KO = 376a8031be4b9b8ecfc236b6d08882dddf233bc1cb57df01b0a2f3fa945a837c4078b736cfc434c65db476ac802a89ecbd036dae64aab634c9f7bf254fa8e59e5e3d19d6c5a750a5a63e64bb0c47f91f9cc3655381ab083e57c5ef62ea6b06e036920a6e140df66272d3efc8fbfbee0f229423d03a6627fae8e6739657c648691ccdf4378ff0f0c85b98fffccf892980ad8b9aefe4f9eab93fd6b533613cf6fc77195ea2b5698205cae65b2e1ed997212e7cece84e778149389e0a406bdb3c399aa1e5c734f1829b1bff0a6b94ce56217e2128dc4ea869c25d8459bf88b85decd35a9e671eedbf2b026850132b5d06856b34f75f0424ea940838ad36ecd5a76d9bcd4539b7b880756e01edffb13826e7e13520f6c79488372ea2adfd8225c5feb8b61f3defb1d4b99b22629f - -COUNT=37 -L = 2400 -KI = a94751460e560c67f66225a80c8950a6 -IVlen = 64 -IV = 55d318a52edeeebb -FixedInputDataByteLen = 51 -FixedInputData = f90c95c60778134a84b6e4bbb1f594a8452bada5fb18aa22efa1977b290eae7e7fa63b80805e199248d98d9480a40f5e03a01a -KO = 535759c6721dfe592f07ccfa2522b5b4033b4737ea38bd60eec27173f77012bc3bc342b1f875828e96e0f7ac90a63e40de5b5ae254c1c2e0c6eb1c675ed1bde1b951703fb434e3c5ade8effd5665c9c0c8069d56deced21f592a5c6bd452340a2dec585d8737619b2f427dc5ad25f2985b21db02eb28825aa7f60c8aa841ccff4431245f6d61233ab224404485b2fdcfefed2d445c6a91246c70c9f5b025217806a52af4d74a88161052c0a799d11885050247c8d0a8db3f2bb1912797d6a3f40347985dc07c8afe4e72f8b7a5f26d7730404ed6f6db699be71255b99d0bba9fa54c2f82321806bd56795612df1a9b71055635bb82d3b7f07fcb73f57753de33a7eb4dacf239c427eacf7b85e7d9a86eb7b47b5baa498cffbdc8a119d3d6f1278b8cfd92947855c63be6c4e6 - -COUNT=38 -L = 2400 -KI = adab6d9ce8bc55f66ca17afef74b5014 -IVlen = 64 -IV = ddd55020eaf141e3 -FixedInputDataByteLen = 51 -FixedInputData = 823e16fa1c6b40ef431e17e37dd1d6f3c2ff5133d46bee5a803fb3de9b6be55432109d61e4b5602cc88b106412afed33074e2c -KO = 2c385ddcf8b9fba501ff8623af1c18461f321db6798d46e0190eab4fd6c461d71bb12f332fb892e4f5570db6e5da2536ac015bf319431c7064790667035097eb13f74c5b8101663909fdc959b5552f43f2e5d28345fb11c65f1db19dee679435f72d158b1008788ad3a4b75599a4fcc1f0724640d22e45c67787208cec71de49b02353640275796d02c5e25a63053533343134e8c7ada5232c799b9a3101f804a43026764cba3484e7de03951c201b7de04942d48ad0834af8a748ac9dea901069edc1cb3bdcb0516464e63cc93774308eca2634d4c6aa4d653c8289d8ada4b8a5ad3d333b241af76bfc450b9b6faf193e8c47b0c9dc7a278e1b7fb4fd96e8b69eb5ba655686e694cb48b9462ba1e7d7514e34e03daec83f747d47540b6f6379e8388abd07e95a556ed96508 - -COUNT=39 -L = 2400 -KI = c2f02643866544c91d4a66a079028527 -IVlen = 64 -IV = 06b8cd0d66561e43 -FixedInputDataByteLen = 51 -FixedInputData = 05bb880146fbc9cd12b9a4cbe5a9ea52c256dc1f8ba4cf1af0099c2c2f6ff2b3fb5e834a169899d7078a5a7b2ff10d33ed5086 -KO = 2d822936158a8929971e19de31ab161f8da370fec3c2841a6f2ba88de35b9eec5d8e331481a97813d0b58e8bbaf2d3f27194fbe179c04af2a9107eeb41d29f7708bf61cdb8d2c6985cfa51d36961cbdc5c3c4a5f56bd37cd8ca81a84edaf6d0580aeb3248badd382845c490dc9f3f3416cab4b26d0ec1758938b7a13f55449f3077f5eecfca335c9ebd26b73fd60f4cf1e0f0e4209f0c41b945896c5fe18b18d82159ac85a43e08e34c00fc5d5af6ae63719a23852fd63889101bf33d6c54ef151c9e89c360be9994fd1393d2153176289c82c3f7c55756d218b67c08dfbe37d9f73e48f9402a5965b4b499c8bdc8d8fa98b31390d1b093c7278e41c19419500b8aa256b4eb6d1572452fa0db02221abce3632c8eeda80250f563d6e19b9236efb3187dc9a9a043f2bf41631 - -[PRF=CMAC_TDES2] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = f83702ebc9f93e591f1bbdcfd95ecfc0 -IVlen = 64 -IV = b532739a683590d9 -FixedInputDataByteLen = 51 -FixedInputData = cc809913713e7cba71a51bcb3a42fc659d4cee8950940631d8bf0d5d6c61d144b015286ecff4686cd200cab4a7101b1f7f15dd -KO = 4b207c1030d5e793f30454515bb30e518a43343fbca3675ff3c85a69fbc0112374fd8dc5bb3795ad3a7407c4e1136aeaa9b346e6fa8c1be12c7a26978571eb99 - -COUNT=1 -L = 512 -KI = 800564351634d51621d34b5276c0d749 -IVlen = 64 -IV = ca7f1ad53077e851 -FixedInputDataByteLen = 51 -FixedInputData = 02dc118e15da5d0d632585774d05d46c65d5df064e18a0786bc5af747e14f52198f4e0fbf447d416a6c9852038b1d468b7c301 -KO = 6d3857648fba7fd6b534bf1a35ea6cf99d5726e77a6c5f8b43374b3ba28c344249ec0ac6f207a3dce804e711d3222341462f46ff0c4d1203bb3332bdb75f29e5 - -COUNT=2 -L = 512 -KI = 520e8edac03fbac33d754f953b0317f3 -IVlen = 64 -IV = 1f92fc1648ddacc0 -FixedInputDataByteLen = 51 -FixedInputData = f57b1cb715f2777d0975cc0b0c254c0e2136bb7387329897be4b76f00051f1fb47560b6d424b3013b5529c63a31b405c7fa792 -KO = b4d312377686e537f5fca573d4f462d61f7d6587f295336d264c1ac5dc628ffad6ef9bc28e2c1011aaa8430ff4389404dd232139e2d54da43fe88c993d77ca1e - -COUNT=3 -L = 512 -KI = 56de5cdfca4ada0f3ff4639f2dc6f56f -IVlen = 64 -IV = 7cb1182cd4ec41a3 -FixedInputDataByteLen = 51 -FixedInputData = d21d4d4bb0bc2e8443e74306700aadbffd112d553701a3c54640840ae77dc1815736146c54cf9bccf7af36f6223d54b6eebfbf -KO = ac9d66fc2fe50765f0b303fc48789b7b94aa04a2fb3dd38acbe93f361276e8932bbeb6573656c2a7c781e8443713a172349238468c34260e996a4578cabb37ca - -COUNT=4 -L = 512 -KI = f1f2e13733f116665ca6a50e58f23c1c -IVlen = 64 -IV = 438fff103d310de9 -FixedInputDataByteLen = 51 -FixedInputData = 39016260ea528d095c7ef963ba3d29e07302fb2baa1e6358c7e17dc1b0d6a004012793b174d493e5c1a356e62527c76c953b90 -KO = 1839f066377606cce85482e535635203ca39a875fe940333ec0e9c78d20ac73ebffc5df335931b110f5ea76f1fae6104a6c362d8512ba6959e524998443ceb0f - -COUNT=5 -L = 512 -KI = bd4d18464f3ee9aadbe93c5b73a7b4e7 -IVlen = 64 -IV = ac1b13bbedde2cdb -FixedInputDataByteLen = 51 -FixedInputData = 6004108886c66cde6ca6d328377897431977c7c52b71fd94f667d14533ef096eb966823f2558546ddd0050362b1c711ee1271d -KO = d9db675ca6fd88e3a4c261268451a8fb7b2cacb147a95bb9db9fe8b9f524c545aa251d1a7b7946f09d68953fe69df6f766c7dc96d8b728cf7db6cf370708909c - -COUNT=6 -L = 512 -KI = 2525f67bedbee92ffa48955065682557 -IVlen = 64 -IV = 9a783c12d16b7729 -FixedInputDataByteLen = 51 -FixedInputData = 25c814965ac5b5b6f7046d4c7d6df47b75bfa2d75e96781fbbd5088154621054c3b9684127187e951654e41940d9772bd063e8 -KO = b9ae18929bbaf42c46088e77ca63f4e4013a5e5cfd6eadd9ffa43d6017d7bdfd2e90b065d4871f72e086853cffdd60ea98f92643ee2dd8abcf05865b695b6b50 - -COUNT=7 -L = 512 -KI = 4dba8bc0518dfda2271bbcb3482b45e3 -IVlen = 64 -IV = 5e3c2fd70665e54b -FixedInputDataByteLen = 51 -FixedInputData = 2893e8ebb21ff2dd039bfec8b6aa65c22f5bcaee83964f06e3b10e39ed3dd2bb488a7493381efa4bf2b39bd9dfe63ed775a31d -KO = 33ca44b2a474cf8cff467bd06f14f0e602b8a9032bcca014e8e8c14497b2572aaf9ba16f522b52d05fd4df15747fe65b71a77f3069170a6c84285a0445f1480a - -COUNT=8 -L = 512 -KI = 6502c094d44b07a21470069a242a559d -IVlen = 64 -IV = 540a5096c683aa51 -FixedInputDataByteLen = 51 -FixedInputData = dfbbab99cce0378b557331d8112f0da131e22c1494f1782be10433a364592a14ba0ffa3ab291582c5e812b0ba5a5df0b4580a2 -KO = 13747a40efed01215786012cfcc660e31e651552f07ad4b9449c670c37af044414b7d281ce2f476c8f351bb9f36ec1f88e63956a1befe599f74ef309d527c353 - -COUNT=9 -L = 512 -KI = 85459cbcc4c5ec1ca02fa87e7f9bec62 -IVlen = 64 -IV = 31e3d01d588bc5bf -FixedInputDataByteLen = 51 -FixedInputData = 758aca280774990625cceb0c884338ee6abf797757422a9d60453620482b473072bb89d97ee64ead82481b0d8d090466950fca -KO = ba3fc3f80f3c022925b1d5ea17d5793c0333a0408391897ef0a7a91af138f495acfa7bae0c6c9c7e498aaebe59283112df4000716487909921e4810b03b09389 - -COUNT=10 -L = 2048 -KI = 71200be840fd5e18a08d2bbf8b038b4a -IVlen = 64 -IV = baad9948b743de0e -FixedInputDataByteLen = 51 -FixedInputData = 0d3ecb520976cd18b1965ed09337af4f8adb069abe3771c3cffc985563e55b38c1e9ad7b254eadfb1483ab1292bfade15b5598 -KO = c1efdf3c20aa53c97fd8f44d75492b8977e4714eb5f3d74132b4f559aafeb4b3936272819b1256be6dcc37640af6ae7511a6a1618af1a3512e8be6caf9551a72d88fe85dbffcdaa1ec8897329b9ad00ed60a17ac54f8d9cbdcfce7f98c9eff01da36156ea26400a72c8ba5039e08b7defd83f613fcbaa674d71bfe584b29da0f5273a0ee1d8ad6690206ddfd880f71c4f80fcc80217ecdf017f3233763ac52ba9fb6f8606eb5fd3bdc6e4db033ab5db538a8895ae6ef529f9a2b94d67439b2f5020fcc0b4d18a6876d4656d972f73b7e748bb1c421ca0fedf547df52e8a8ffbbfc270901b02c12c13cb135c3a5d0fd566f4af45090df54994c6458c981f4ee94 - -COUNT=11 -L = 2048 -KI = d47306ec42a4eaf79e55929963eaf199 -IVlen = 64 -IV = 94b9ae899f489625 -FixedInputDataByteLen = 51 -FixedInputData = 4f895cac72dcacbc0b9ca059e65cdb66143234cd69626f5a8fa59849452eda7e012452a828427f11f98d97257ca15836acfb70 -KO = c5b77f741354b5739fcc248ab39e6200d1aaa7d103a47a2cb8215e9546a9e30f17569f0e5800c56b5cb24c313e4e0fb7b4f375a5061b5a966cb24a5d5002b56bfda29ec037840a0b86d5482e7fd716c69a7396eebb3cc8a9d782237b18837c5bcff20d3ef1f476e6ed3bb81b26b9a6ce8dc3d5a243d29547c6f819ddaf19b6c96dbdb1c842d3fec951a4ee67a0041d3a2537ed5f49d13272883f763ef17acf99872427f5c32fdfc78a0ea4bed7429dac2ffe3058231f7a807c147af51d8d4b50d041614a7f989e76f529f549d5ad8e5bce868a46a414dcadf9160f8540871f242f2ff704d326772cca031b320f1b578d2cbab3b843c7a4061d57842b8c574ee5 - -COUNT=12 -L = 2048 -KI = 62d3613e0ba2c7e8d34be8ca252a9636 -IVlen = 64 -IV = 7196865d714b796c -FixedInputDataByteLen = 51 -FixedInputData = dc83c50a3232be725267df893ecd3863bd2ae5404679d4a0a122b2bc055972ca87026b8a16c4976b3deaa90140a5ab2a3ac3bc -KO = 732fc2ac7cfb39b3c21bdd4b52b15b71c651a35fb712a27a93550ac3de08881dc59648bde73769c441f16bd71c3a26cca5594c4466b77138de91f82fc8f7c31d3b5d9aecb54f0547671e6892f7e2099a37a11270334da29b55ad50fc7652ec6355b2fa6649c74d900e35d7b02331445162a00420bc95b5bc07a01dcd9bc7c9ddc44d8e8fa6b7d83fb70932807b3e3b2dbcd1815b8092408dcdaba1ce266abca55b08f7e604861b73014486408d5dd4618857de237290679b54fc1480c9bee18986cad28a4e2a2590887580fda74e60b87144f3fed323b6d067ee82059b620b0d29d06d76a05f18c73299daacbcbcbaa279ab9bf01b9d4fb8090cb311e2e1a4e5 - -COUNT=13 -L = 2048 -KI = 4dbaa0d3a47ee096c4d30b765d8bbe76 -IVlen = 64 -IV = 736759a9ecf89275 -FixedInputDataByteLen = 51 -FixedInputData = 9fcd5700360663e2ec83fc257e807c7eab5a6b3a9cdd47328d0d20dc888fbb50374a995868a822395c2ecb4bbf7ab5ebbb81f3 -KO = 36619f57b3f8b69c21be4c67e67d97f29583042b055fe1196dbc0d6c70d4feca9f9bf0bc84d7b35e993e9521f6d4fe9f36dd84bba74f991724d1fa7b652efe299c2d51edc8b24ac565a5eaa0cb2fdea407cb97b50ec3ad78fd2db3baa890dfccfe7cc8cdb014ed5d2e82e57076f203a716ac22c0d0373fcb87d55f20fb342ef76caa6b017a09cdbe122f507b2ae999a99ef461e5a80c78aa7fb9ef295ce45f5e8e5b1a2cc6623dbbc2e4fb1cef508e18abbf377dafb5bba94f408396fb1643870ccfa5abe5c3edbf2369091bb1a1af7c209196b87efc5e630b4b43a25c7faa55479103f780d6541349136aa652f72672f4aac356e679d84d049e4c4cac85bcd2 - -COUNT=14 -L = 2048 -KI = e6ec84b401c0c0fc9f161584eadffe9f -IVlen = 64 -IV = 79769d7372962645 -FixedInputDataByteLen = 51 -FixedInputData = 333238ff0931493a9ca4936e9b9ced872011f5dc362db396e24707f3668455a9fd01db267267b90363fb5c02f2db0a93599236 -KO = 970b4ac9ec57872919d8116db374bdfe54f70191f135a7f44ddb246aee067c2c36ba8b371ae41b8bc36f00024e213eaafd7143c525b3b10e6ee0a39bdb4f373234d3215803afbd597afea37a01cab2dbf8baeb3ea3466ee1a2fda05f0806743e6a7f75a59965cd0591b7aa76e16bd3b2909b63d89fe84b6ffb1840f2fe8f85fc9d2fdb4f180cb3e19a9e6aa96bc07f7d0ac4fc0a1867c64b3bd879e279129f9233c60d867a0a1b4088d5cdfeea9b82642ee0ddcb6f17bf4ec69ff411072e572e3a092dd06b2ef9f7b5233d3228589f951055a2d1a2fc91c578f5d7e0f86b415f7c64038546d8ac97600c0e602da1281a49c704f181b7c47c2888e419410dfeb3 - -COUNT=15 -L = 2048 -KI = 98c6cbe0ee9163cb07d81df421db062f -IVlen = 64 -IV = f20b1adb3b8f9fe5 -FixedInputDataByteLen = 51 -FixedInputData = 2a286af651a64c193497fd84010e855dd1d98bde3d44fe23b43415e4271f8dc21de873c95f96a2469b417db004a392237de0fd -KO = f8d21e512e7db0745850d100550c24edb88849deb9915af01708cab9aad4f879e007279127a8a089b42da40b8c98e24ba236261072039e2ab7cbf5c5b413ce9d51488d12bc80004658e48585bbd9fec0a070f4305e8cb0bcb7580420638a30786ae341535a50296284e677c4866c411b0ab0100d29599370cca20c3e51dbe057171671a8529dc4357f8d51563af7e732ce07641fd4388c98681d3df0f5e0615215c8f021c64a34060e54783688148e84699b72582b91cb8895882c0015a7fbcf14f68dd8fcac4cb1ce9c284de4c0b3db8301f7a6b0d87876e4bebf54b52f352e13af9dd0ecb3e00d5dd11bfd8d57d834f10502cfc796ee69ede12d1889458c62 - -COUNT=16 -L = 2048 -KI = ec319b448e271afd07e8637f171d0aa6 -IVlen = 64 -IV = 77a9dc71a5aebfd7 -FixedInputDataByteLen = 51 -FixedInputData = 782ddf2670255b128e009e7d012def887d58dc62df6079d37e9b30682d41ebeba1d1d927a9eaaff835d1e20532dad6c72bafc0 -KO = 2fd50d0e3997bb57abd4d5f9c1af28c0c335d5baf1a74aff448a10b8cabe9b36313f082042447d55cca518bf30e87ee12a4a0198202d211beb9137c7ab88131b01c985c3332b5e68753a97a05a376c080e914fb8b6c9c11e54387ce44cba6fbc78faab32d657315de31d9307e906e3937cfd369ade3cdff754aa8f1c6f6c67751740fe8c167a46d01a208382455cb6fe0a5fc3a0ecfb475ea497ddf4bf78ce7868f032c0d5bf5cc85de79b19bd8f6829a48ad169ae065d477e4b2da53a987793a807beaad0b678d4dbd17e54d38998aa90422bddc91533bbdf52afa7427e7d23ba93c0fd3faa9fa83bf61c2374af581b27083c07a5927faa3ea4ae574e553bfe - -COUNT=17 -L = 2048 -KI = 0aa37735d998afc9b95d2a568a1c7c17 -IVlen = 64 -IV = f03088ad7271022a -FixedInputDataByteLen = 51 -FixedInputData = bee732eb48dfc43650703ef1577758c00d29dfed3288d7a5626841db6e1e4999a77afea26719387679533567f3234b09eed8ed -KO = 36859791ab3caa102f2f2cf36b3b4561b25c7765debb9df63be2a2e56f79eb69a08e798c4e8a63141ce333f37e789c07395cf60d694ffd5814a12db95fdcd71038df88548677c286ae940c304219cba43a54cb16bb02f12d788f547ca738716cd64e61909316c674a28616fb6d97173ab1c4342c18f78c8044f6cfb5fa0d6dba8a1611bc199484e02f708d038ad8e5b8ee23132bab9a0eb8021662c9fcc1f8470971904c773331bedcd0a270584e2c4ebd8d43b80c06a0b6e71907ee1d634e4ef20b1eb015dcb554cda8b5f6f4f6b4babe2df7bfac3250c26968556ad5bf59f51f8cc430a6ca88c22213ed24c1ef174c3f3979a5ea6b36011ad93880117589ac - -COUNT=18 -L = 2048 -KI = 8a4b842553982016502ddbf96ac258fa -IVlen = 64 -IV = df2c1c5745b403de -FixedInputDataByteLen = 51 -FixedInputData = 25815bbfd84f9a09e53038923f107ebe5b623a4de9aec6f52412fb0a10a03c47d4b07719ff5cf0046f4bdb85b4cae06df79263 -KO = 6d3aad4c58a74961a2a29594b9cdb91f8be0bfae3972c02b5465b6a5626795e5348ad4109020844c72acc8981c72cf4229193206214ac0b618cfdb05a3a58fb2c948a69dcf1148322d7d0b41bb1ed67d91cb63fc4a1107fda28c55c2dc8a6a1d1cd71691632ad784ad9749ef1ed1fa5afa5157c9ef2ae6c24f378469e2a13e2baeb2ae036cd664f905096fd3374f0da2d84454c6b1e2e47ec33f2db4053ff68fad3478b8f345e7fb34e9d5e82cd976393a0fe734b01f4a26e90102ddb4ab092ed2e5ad9f62f957d3f8497b232de700117715bb2694bfb9f968572f41386447328d9df5824b495c0b9dacd67930863c068f41038bc9394170c81c1eb32d8697bd - -COUNT=19 -L = 2048 -KI = 923f4469ad5644470ce6ef12a5f60878 -IVlen = 64 -IV = 872c2c49f8613956 -FixedInputDataByteLen = 51 -FixedInputData = 750013b8e0a30eb8b42dd5763900172552403956083ba288a85ae0cbd9688f19056fc3e43fb64aa250eb5b15fb23285a3ae1cd -KO = d28c9b8810c9df535c27aec22620f9260a8891efab017d9730135fade7da5e5c46beedbc67410170a555c09c40869173122bc966d9923deae3de03f97893937e8826f144f065096073c846d7bcf122c7eb64c5cdd4018aeec7ab44abb3ad344194936ab2a828ec549d50d30598a2b0c749d85fd9a07d0884475e37647e82aa09504c2afcc92bd0b87173e976e68d3165e140c9bd8c619b8b98de15111be73c624d19b3993cb529cdc2b3e85c40d79af8862db83c4ec23811b76fa7bf23b7d59f119224627c99c75fac74c9e9aabb4535429d50ad2580568c2e194e2680a50a506f7dd26f2df4d4b19a7746637c2437683a9fde59edefbdb59ecfe94272eb30cd - -COUNT=20 -L = 560 -KI = 22bda9eb798e740260773c231ec70fa6 -IVlen = 64 -IV = 45898c9c85534f7b -FixedInputDataByteLen = 51 -FixedInputData = cde6ede0a86d19c86d6a140d53bf64c450e0b5fddbfd4ce0b2b8f14bf6f681e4eb3f88d5ae4a400a3835464c2faddaa3f3b5b1 -KO = bfafa6c6a82107400f862675fbb7d2c586c6c49779c8fe00eedeb056f31567fc8e8cdfe126db3ba495fd31c4cc15e6e0f9aa2a246cf9e7f2923671f9ba418c11558144971d02 - -COUNT=21 -L = 560 -KI = 864fc7cadffa578f3fcb6aeeae3f0472 -IVlen = 64 -IV = 4634c1dad040b93f -FixedInputDataByteLen = 51 -FixedInputData = 05324f296410d97d71fee97d6e56aa7ab03ba04c12dc682ac81fd1f0bfda67900e89fbd5bf236e2913e9f6fc91cb7fea60ba19 -KO = 9e2e51237357e24b7ff8d8aa94895ac0c5fa6405e63ac48394c041595326988d2640950d2e1e333d9683e45c9a08a0a46e9d9f42d7971b0ebd7e97f383e818ca8dfdaf8bb409 - -COUNT=22 -L = 560 -KI = ef9692faa42bbf5700a3e820526f2c3d -IVlen = 64 -IV = 14f027de8cabd6d1 -FixedInputDataByteLen = 51 -FixedInputData = 80a3f41cc8ea4f52402460ec4ff6140c938f37d80cb96317aa6b060a781a1d4a5cf26282c30e2cd3b385ee697e74c49718ba48 -KO = 1080bd76bed51270fc7ed1b451a2f13fe50d7884b1e22880a44b0cebf1827f85a858566e470376300805ef056264277e460c897a943542abf51f260a8939711861a53f0e7075 - -COUNT=23 -L = 560 -KI = d5a285add872b36a03eaf615a738f388 -IVlen = 64 -IV = 5d777ad0670318ea -FixedInputDataByteLen = 51 -FixedInputData = 6571cd7df28131632376bf4f9b2a95d55c9b2cb9fc8cb9d86ddd021b178ce0cb73a4d3b5e3b61d6b6436b5216f34f90b1fd40e -KO = 5150203f7e6b553e75cf8e7de1770a0f8477cd506a7dff5d4172f0142f09dbdc02a4f48fe60489aef88ecf73fe27599994be779be3c97ca822e6df5121aac3f174142cf7e7ba - -COUNT=24 -L = 560 -KI = d2ece3593a8530ef8c387c7ba072ddfb -IVlen = 64 -IV = 12227c0277743534 -FixedInputDataByteLen = 51 -FixedInputData = eba10bfcdfdde49ae4a4946f1897e577a19a0155a5add9e9b35824d96270815d6006bc45379af2f484a224fda0f67ee0291046 -KO = 7690711a48092279b3e8c80f816a99c72f8a65e955125486c8b3210542a5528b26925cfb346debd4881ac48390552e7db101b0e4ab8f6641ac316fcd4be025a541b95ce16af1 - -COUNT=25 -L = 560 -KI = cca5b0913d5a1cb411ef185be180fc02 -IVlen = 64 -IV = a913fcf3f0bb58ed -FixedInputDataByteLen = 51 -FixedInputData = 1c871d0d60c032748e6cb54bcf06bdabb05def98af0e2fe9795df4a9d7ace600d387e1c2f2cad1db8c711615b7c858358971d3 -KO = 03766467456f9bc6b92c1b8d3aa9915b58bfe41dde71963ad29b5f2a637d4521d4c43674e4461300a2f555e27130c537884f57520fcb7f41f2685630540ef2b03935adbf6ef2 - -COUNT=26 -L = 560 -KI = e01410f3529a4293af302380b3b18f9e -IVlen = 64 -IV = b35745df19641867 -FixedInputDataByteLen = 51 -FixedInputData = 7d76eebd103dd7c5e208cac652b1617b375b5d026f0f3ce8e13e8c899bc1c5537b2633ad15c1b2067ec427fc0e6f6381b50b2e -KO = df44784700f596c85ab78c70585d48dbb57566b30f3080b7191de96dee84129483858ac3f3189e6e51170bb124ba59b314aae754ee3b1ab8746f36bbf11a67c0dea4e634ceab - -COUNT=27 -L = 560 -KI = e9fc1ab3100761659b69d53fae2ec372 -IVlen = 64 -IV = 9a10a5515922d3ef -FixedInputDataByteLen = 51 -FixedInputData = b87a47a5b9b7098f7dec31944eb3998658825493e7712cda6a4a4a00e0348a8479e9e98c14272446118ec93a845dcbe413f1c7 -KO = c7f6bad3a8d68a4b5b7d11dbcec319ae91c6fbb5f01a996650507b94ed314b3be75744c2fda266f207904dea729ccc795965a8f6648cde03b6cf5109d45292d249a8473ffd62 - -COUNT=28 -L = 560 -KI = 128c58b20af7443950bd448d6f831cc1 -IVlen = 64 -IV = c31f548e33bfcd9f -FixedInputDataByteLen = 51 -FixedInputData = 7d91ff7a550ae2c37b8ac57ae04a388fdafd6c177da3abf0edef50079ff0b60f4df0a5ad14bc022249c18c8df71fe3161c25ab -KO = 6c2ef7567ac8debc7fb053debcf5bea089a683fc666ee5a50f7dc6c38a3660e8fa0ed8a3514c7d2e574ff9c2d187ce5230af97a3a0d0acb7fc43949805ffe7b78d097952f2bf - -COUNT=29 -L = 560 -KI = afd71d3cbf71031dde882f568e5a44f7 -IVlen = 64 -IV = 71b7e50819f3c1a4 -FixedInputDataByteLen = 51 -FixedInputData = 513a314faf6bfcdf61add19efb6bc22ee416afbb9a00f9c13e7077b08801b8e4e383e7d72d639423c8e1c9728b357001c4f77b -KO = bc456cfa68006eb9a6b8cf2cb4b383fa178da2fd5dc344b2980b82ad3eca32e9db5b77c50c07ae32acf2a3c77cc44c1fc9c2a20c39db4ece54d73d39a60d8e4661dce81b74c7 - -COUNT=30 -L = 2400 -KI = 9ddd727d4de1fde0d045d44af3430e2e -IVlen = 64 -IV = e53cb7e8c61404e2 -FixedInputDataByteLen = 51 -FixedInputData = a2e5c5a0d587a170153bc37109b5830d8a15d28dbd11c473224368faa3c6d4c0cc8fa0818c3f9a626e6bcdf258137d99132fab -KO = 3c14a7c772ffda1b289a5ebd0204858d0b2f319f47fe7fda579b08c73890a11580021efa5e5eb167e0f8210f22c3832f610071dc5a4e16f387a8b6df766f82c6445c0504a36b414496de11a29cdd02ebd2e8299ce507c67ed8df3de7652e31a62887f23c62b7a1e3988891b5277a363280cf15e43f317b27e8a7e51f703a5cb8bcb40556aebb3d38239a6e5aba55da154114d8fe8dc9ddf02181aa4d21bc9bcef28f8638b53720c37466b83eb56da716723de8071b8b09200e5b2dca99b7965be35a6f7132aa5aae1ee8921d1e69866d8f7a5d3f75faec7cc9a651d0500c83d4ad657d70c051663e6a6db3aca4c2b2f9c1445e882636d325ccf7a7f1651a3a5ac5c3b3418f16d7cde73c5983695bb67f0be83e3df74d3ffce3d7badf3dcef240c1b83f47af8b7349e700634d - -COUNT=31 -L = 2400 -KI = 2fda7021dd41e11c2abd90bff1177fdf -IVlen = 64 -IV = e950873f28f33142 -FixedInputDataByteLen = 51 -FixedInputData = bf7bb82d70cee3d9718403975e3ca15a1db2818a0fe275db6a828021fa88c026ec2a74b015b2507d431369cdbf51c13dcafcc5 -KO = e00b3cc6ba198afaa0f07bd5d50cf3d994b234cb949b07c41cf38f2e48b84c1fc6104d5163a6281ff3056a43b484a8bef27384ea7609c4b5109429628b2190fd27338aedd550a37a5ee3257cecc925ff96504ded1f6e0af5f09a6a75911e369f198676ac781e61d8a59fccac7154ed41080aaf4d381df8b7bc270b7b384d0ae5c69e0a4ca0aec74859d9e70a73668aa14c772a8b0739aa7a468380e487580ae35543432aaa49ffe361f8c2a0c17b2730c492f8d32a61e12a7416ba0a5d68751fc30033bf4a30604cec2c7ea4b17cd4a2d236562635a4016c318288c0d5bd123370a326acf077a1048b526ad8bb4dbe873862c9459ab106471fe30f65e9fff07284e23f73aea4ce5a520fc785b926a7e4c02132527582100b24b7b1453bc135788d9b1f7422ee2822943462d1 - -COUNT=32 -L = 2400 -KI = 3108cf5803dc353547d3497ab3bda822 -IVlen = 64 -IV = ee7445538d36b265 -FixedInputDataByteLen = 51 -FixedInputData = f69ce824115f4f2cfdf57e2a222d622f4433b8d7046c6710c4732d3667a5f96aac0e30a096672dbe2b35b80714f3abb9f9c580 -KO = 53ec7d963f07dd7173d65c089dc5a2889595a6cd262a607c7f6449ba53670ca27a29969d198127881c3bf35992537186102cdeb6d12b954390fc37588d3870c9e9fe1b5afe63bf818f48e5345ffa4a478520533edf36d48628b12baf96d19b2888111c43c42aa33a2f3bce18b2155c8bc3268303ace4fcf2d6af5bf4c6d232df57625be7daac1612bdcad5e7a36006a5d31ee4540492fff6102944db478d9579e46ea3738ea98c174860829a65b137329512a7101aa7319230b70b901ec81ac5efc458515b4c3b2e209631a9d6a64f6ce629185a06883b68fc330bb9ebf4427a8cf439372b5f37cdbbfbbf26567eb408d97514c3196f43bd48aecaf5321dc94b851101daff2d38720d6916d41ff7d622bdb06a886d57b6c9e7409d3804711a847d6747343eb3d85630073458 - -COUNT=33 -L = 2400 -KI = fbe6e0d40d01573b832de69f2bd54f1d -IVlen = 64 -IV = 445ee0d7f56ce64a -FixedInputDataByteLen = 51 -FixedInputData = 692bbd69c940a34eb3ec1fa68e5dfdfe233a124e5d3eeb413aaf7beb4bc7ab6cfe11cbdfbf486be5d1765584efd256e81610cc -KO = 79e5d61eaf20c2c3dffeba20738ce8e151a5605df1a5ebe93ba765dc5f163163eed66151990dbef73801a6e7e8e7fb99bc0aafe95340028474dc4e9f86230e40cb212881f11a154d27428f28b730fbc27e899d022d0d5ba06a458655cf787d9f1d256b83c916a95b7a09843f14af98a784dd011d46d60de881c0e86f1974d21a04a7098c1747eb83085015132f98e69ac07d2e59f0b93b1f5c2ddcb6ee72b95f5cc2353913fb8062f028718b211501783f7cda58cfbd5746e7ba32f2b3150fa9c014392ce5eb752ab1d68485c5c5596a62a37647f90e1c053026b0dab317ec062e9a6743eccb56a908b88d26f22ff15c53232a7aad12a336ca9ec715114d43c1ee4e0aa03fb5bdac2eaafe9af28b65a174d0f74385544d5a472e19ca3fad2813081c81d697628c5cfd01d984 - -COUNT=34 -L = 2400 -KI = 08ed40c670bf73234fdea55c59606591 -IVlen = 64 -IV = 9e7c34f2b3ce4e61 -FixedInputDataByteLen = 51 -FixedInputData = ae1dbe8085947689e706c0d1693ecaf8f561e302b9abb66da53e60754b24a8c0d29143defd2d83feb256388bb4c888edee7bdd -KO = acf44aa7f785c5341558886d782e3fb31f74d2b98bfa068a3fe3c11e133d86b15f0a8c457918e60fa92646ec61a12ed258106c1e9e3504816f685cfb82b3239278700c7675ad3dcb9bb7618b514684d77052c1fc5862fd32a71d4fd2637f491542269bcb553dc6a27977816a7014bb17166b45fedad2dde2c0a143988e87943440031915d60ea38bf1c301579a5fc076e580a60f6d5ab1a29dd49490598c76977540203f9dca4389492c40e66508b52c6f3e23b2b5f20dc3bde8da2290e72953ad3620b9376cb5e871ad131d3b7ce101437169bb6bcc2202f2376135955ca7ef9bbc91291fb82927edd24a916373e4bf638de9325218463744155c15335e607809e51959c01e8a9cd215d2852b00b7826ee47b59b68482aca808fec422009e0098ff98ea4610860f20325e95 - -COUNT=35 -L = 2400 -KI = 9c83d193438fee5db17ab7fce02bc022 -IVlen = 64 -IV = a90a97f2f839d474 -FixedInputDataByteLen = 51 -FixedInputData = b446f0e707d311e3ddcbbd7e5d8b6b46146164193bc9e998fa0cff4d03387f0bc67d3216b43b5ff8d1bb66081c583acd65064b -KO = 17f49f664a9781054ec6d51831f535d92405a292ab00bd71946573006f8260debf60786e1aa50f8964d0333a54bf1034e2e7523d88c09c95d68f6f3675fe2cc0251612c705cf0bdd20ca1a22daf0d7d650deae948699e9ebad123b0fd63628bbbb0781eb3e6fbb99126e90b880ea248ee5983547c92c4d0013ad52dfb3bad45d17353f2446e900f593e4674a97d44aa2a79461b381421ea33d9c47f02de2b50c7433e3a721dc8f171b92d45613b47d3f3e145e78f9281dc9cc52b1f85ee1e83334452600501b5b0e3eaefd133d0d8a5842c425f0bb71b326fd2eb9db1cf841d69737cafae96f322f4df54113e94622214fa3e062233995b58953e542ee813f415783e525b0d01059b98b539af5ff4deb05f545b0999e08523e8545b18465221efb197fb8ee44113af2037077 - -COUNT=36 -L = 2400 -KI = d643b9e1f8a86e684d80b7af44d33ece -IVlen = 64 -IV = df6d20549415b85c -FixedInputDataByteLen = 51 -FixedInputData = aea5c0f7545b46110170dfb45f8797ff8add6aac2356d004022c9777474402b885053e2a5371a1824fc0be5ccb8408196d2a43 -KO = d4521d2b3731f88683a263a35386f02a0ab3a5538757d46e60f49f931193cb73b982e5e5d6e2f09227e5d395d5a53e88966bce2a22c3b4d21520abce95cb6e0f56a8297ac46294b9614a78fcb0ae6d4ff3714762984b22f5888bcc797b907c1976673ea51697eed61c0472f3da55748a4c353ee091ac21ed548b37f17f61b5e05377b1acbffffeb4bc2bf915ac84d14f0415921f5b97b77a93626d509da63965207f27b9f6b02302221468ab6a1fca2002f4e5100ef382fa77f4ee36f9ac6198f604ce3ad296d8c812e67b6b94739819273b4e941e241e011238489209794dcfa261958e3ee4bc6ab1c72c956981de9c3bb7af035a4da33a0a6989470237fb7a38f1ab3ca2e832bd19d88932ba137692bc5b893e315d5bdae0255f7387fd6ade7254549f5049880343a23977 - -COUNT=37 -L = 2400 -KI = 5de01c1c588f0d9feeb64b9ad1e90621 -IVlen = 64 -IV = 9b16c240b0ce688f -FixedInputDataByteLen = 51 -FixedInputData = 38a91838a5f52592a568a87ce8bb7b67e5ce815f71cd3451c1e77179c73b6822186296beb8be8f329f36f0be6a09306d6b6ac8 -KO = 1d2bb81ff3148a2ec63beb3d8dd0cfe23c0377877d91debb2683d679b9d7c63103d654c49b549c4b251ea57344f9d97528c31526f598395c417a96722eb8e59e0688204ac34072e73c3c051683e09b884abe74ba6ec575323c044d1dba410d2ac7cd68bd0e5d6092f58d7d3eb97f3fca7054aa8aa565b13e1a4bf68536e94475d11b9493c35dabe7c1592e30700874e00bb7a7ed9ddfb15717ac4062dc5bb5664432eed362d0e42c85077256f7ff903ff4067b230d747bb8cdfccaa8355cf9dcb9cf419c96ec9db190ffaa310e534fc631593597e5d2f8fb7f6f8b3af35daf46eabfbcf08e7e34eb2844102261ff322d55d4d4392702fe354304e5ed0c46003dfc3c449c5cdb7ff697b31c39b1252cb85915fc624ad4644695e11d2820c9513991563f22cc8ce7e5de9e0c2c - -COUNT=38 -L = 2400 -KI = cb5dff859bbc3fed4a08f818ed471557 -IVlen = 64 -IV = 8598afc3ef21f036 -FixedInputDataByteLen = 51 -FixedInputData = a4d4e48ca710a7384e58dd6720fa79ab56b269f9616652bb9c5f41418d8c14b341ef9495256d43db69e76922cf124d59916dec -KO = 2ad0467c052de54401cbe2c7e8f505ffb7504372873c0d9c9132e619ef5b24366b542708ba8e762b0dccd3450378bda34b42ca25c4c154b0286b5c992293582f140b123ab9ea4035490f4b382ceaafd463e066997b9b3d544c6632fd6d1aadf86ac245c215073a7a684adde93782c4a84f7ed48c01f9c7a80d0e528dc28e0bd20502648832d68650d6e84749e5eae1f6195b5c3ba4aa65b23423ae03609810bb9f7a17fd044d0f22adbab9815195b23526d155984bf05f422b95ec27e535a1f9e6c5d0b5c550fe01c34072a0960fee5aa508e520a24bbf71a82868f4b595ca3f744a7ddc3b8ccd1e62889ea5716b62f917dff1c95efde12488a535ec290b7e202860b7502db04c2f7129d96e887a3d00c3b57830475aae702c909416a7839b27c448ce7fe2ab51f2543814ed - -COUNT=39 -L = 2400 -KI = 51d6c54a08999a3698ca28f22bd7c924 -IVlen = 64 -IV = 5bbb237657e8d594 -FixedInputDataByteLen = 51 -FixedInputData = 8c028731fed8497f3ac2793d44e2cc92b5dc80acdd9d04613cd58fe256a816b57ad7ed876fbff1398502a73da694b66f659b77 -KO = 91747e398342daa33997e9e28c880d1656625153456020facb5501518c751408d2b19a883e7e65b837ed466c9657ac148b89a3d2245ee9428cfa938b8abda616d16f0576b24ba4402adf458df2d8c70ea477bcd395b932cb6918341987ab3e97c3eb72358640a8f0ceeab93a59a965d6e32fdd3575b84627979a0e9d41cb32d57eea871d47f2009293bfc14c0ab116ddae3a96e21c8bbbd1bf2c046c2f7ba443f2998c53aa97c53894fb4dcc51d01cf06f3d17d40b89fa600dea19ff4f445300a0e1451a55cf4674330245dea54af03e59b89b410899c7459a8cf12e1a9fb51e450e7157968109cf78bc453d655e67dccafe5073ef944a2e4f22ad9a994371c8166bcbd7c7bf14aa8220919045a5821d3d9f146f283bd7880546e9210e99001422f4e3acdb1894ead5617337 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 1360f388cb6fe27738bbf1b8dcb3cfa338a63136a3ddee07 -IVlen = 64 -IV = fa2f9b83a515f7dc -FixedInputDataByteLen = 51 -FixedInputData = a4c51dd786d8a912990cf9d1041f8f99084f0c39a0a386720cc560febc3ee0700b562a1673b7706538995760a38581cbfca0c3 -KO = fc70394d26dccb4c2f7a66f8c49361e897369459b52884607f56b2d1d100d879689cbfe9222fea99e241a6d6a6cccbd3e6a019b48379d6ac19757fd8f8f1ad3c - -COUNT=1 -L = 512 -KI = 156ad0256252a09180c38aba261bd6d1c59285fb79f623ef -IVlen = 64 -IV = 1769b3ce864c1053 -FixedInputDataByteLen = 51 -FixedInputData = e1063126b5a5601028f5a839100bb5de52603a9b077c90656f6e5c0cd409a1969aa429f800ea4934db6a5c0a7f69aa227eeb3f -KO = d970a710b36841b7655bfb02e7dcb1a54551b014bc567b08b10b15affc127fcde0b865497bcad78dc10c84ac86566cc751e901ccd54b69c3b5af943d655b2606 - -COUNT=2 -L = 512 -KI = 59670325c10ba451cc2ba2c4a67347cb31baae6815df338e -IVlen = 64 -IV = cbc807a475278e83 -FixedInputDataByteLen = 51 -FixedInputData = a599f7d623542c891114b4f716b8398f3b82abc7d5a2d5aff8461058cdbb619dbce4c02ee39a043d64d60476b5a6cc04c8a67b -KO = 623cf4aa23c6fe611dd4b947acc46c81663caf67440ed68d5feb21687c28c4665ce63c1d8b9a342d539b6413f8cc47e7854277ac42f2675743a6693dd22fd97a - -COUNT=3 -L = 512 -KI = aecf23f834ee618701ad7026e001bbbbc0c66354f3d0d62e -IVlen = 64 -IV = 238a62b1060fc1bd -FixedInputDataByteLen = 51 -FixedInputData = 6b30b1985b5829f7c04d2d1b996df0859389505e6e5b4850abafbc481a868e694502afba1b4b65dfa6b81663f7839b200d0952 -KO = 7f6f52812304b3857375e333ed11f4ca73558f0173352708c658834cd12fbf451c6a8d4443161b3222e4212a0d55cc53e2fe89ebd2b61be906d037a5fa64ddfe - -COUNT=4 -L = 512 -KI = 9e7bb503944d3b90036a14eb63142f750a9f72228e1c45b0 -IVlen = 64 -IV = ade074af6b50a048 -FixedInputDataByteLen = 51 -FixedInputData = 931319e45b0e359942320f476f5f18f5f15f77ec1900d098b23885d1241c323c089219338fc20d1043cb1cb383b59d1c7782f5 -KO = 291a0c633b6281e6e119109e3a599e7240a906d034304dad38306e3dda2f295c0fd2cfc7f23a749f26c54cd92b9766c7e6aa7fd52ce3289189987df24f6656fa - -COUNT=5 -L = 512 -KI = edd33d342255776e5f2b5707e52b7ab88625df32fb56ade1 -IVlen = 64 -IV = 4902497c192765c4 -FixedInputDataByteLen = 51 -FixedInputData = 6b41249ba457286345b21ab6e414b53ea165e562bcf668282840e2e109cb24c52d48ea96a18f812daab32e7ec8e61b7fd63f9a -KO = 6e5035a33b0c76d2efb091f7b7cce9a9335e3d6f96458729393ee96bf01e1e6f889072f5e838f0ccc2cba3327c21b311c193d9c570cc05c6dd9302a82a280a68 - -COUNT=6 -L = 512 -KI = cccf091266261a85937806a81167b4fb742437e448c33b31 -IVlen = 64 -IV = d8e81e5993e5fe37 -FixedInputDataByteLen = 51 -FixedInputData = 41789084c4a54fcbe8ccfc13dfca0bbd71ed0fdfb252ee28b5a7b92b900e161659227b071cd146946e3e22df912f10aa6ee39a -KO = 9af7c1233434b64ef4d316c4359632179ac5786f32f43544079846b90776850a60a4965c16d02c849b7f6f763e09fe8ffaca4d229ad5dd6338f5c611ae86c785 - -COUNT=7 -L = 512 -KI = 6e747087d4ba5a421cc5e1067ecff0537e7a82b986769dfe -IVlen = 64 -IV = d03f9f52d0544848 -FixedInputDataByteLen = 51 -FixedInputData = b91d6e7f036071f049996c0d1b69aed0373771e3ca9c29ba992993284e805b91e48aba40d1e41cc0c5c6d6fada04fa2e5b7e5f -KO = 342a9639b9ac79038e7bced25184034f760a37ca501d09c36000609b65e354cd9cb0d14fd890f935284fecc9ff811eae347001d7eeba26978ca54b553aa50376 - -COUNT=8 -L = 512 -KI = 5f6a07873c98217c9cdbe91a80551ba055a912078f3bd021 -IVlen = 64 -IV = bd39c1492d1aa581 -FixedInputDataByteLen = 51 -FixedInputData = 3a08da6c4ad60ddf4c08763f754bff2c2b983269473d84f3fa5a7942d3afe41363cc2eb5c21e6aa76a491e7d82a30239dd7cf4 -KO = 212498e87d284551a80b2befa0c6f2b6aab2b9159830e1862bba415b9bc182f92ceb28ce8a86d2ee1e81363f4e13f3fd59ff0dcd51fc4ac128a0869e3e2d3fec - -COUNT=9 -L = 512 -KI = 228ecdd1487b5c674c333b20fc189fd9d4dd71246cf83979 -IVlen = 64 -IV = 82570947b22cd876 -FixedInputDataByteLen = 51 -FixedInputData = 605750a5bacd247081af79d1b383a90ba70d82549a3e428cca5bd4cc823588e496fb728a9a72de21ece89e483e549b4745723e -KO = 8441d238c3634a9b5614b70f9086db384bf3fc2d9b994bb13f3728f209c6f2da07668990c158763ab9bd644c92b8decf76f89140c0f7deb3317baad80ebf66ee - -COUNT=10 -L = 2048 -KI = ba7003176aa158d0b9cd9965c812b4523225776bc44b81f3 -IVlen = 64 -IV = cdf43b3b77afed0f -FixedInputDataByteLen = 51 -FixedInputData = dcac13e8f41f2fb31b0588be42f39595a01e3f6060087182fdeba41c8577faaddc5c8f22ff89d03348313110cfcec70af420ab -KO = 17ce47cea0546d4aa3718d6d441a0cf025a0b7857da1de8f5912cb9521649392cbb7c3a06647012fe527d15c59ab87368823db002ee02fb736f2082570248c65d76db8796ed2d5157c82243c9088f1ab82f78d509e3b93b3faa493f0fb8ea8d4e9211041956d1d85e5096f53e9e90a04d33130613768770bb9b89214da35a0348e271158cabadfe1ac0ee12f1cfe9c6b7c9245bf2e7f055ce68cabdec8039b64c88edddb3600f76000c352b39585aa4a01437734b8b014af15732ea38acb940090aafefa0f7664f6d935caefc0ceef1a5e7956ef663a09c18fa895c1f28b0547b1bacedfcb4f41eec190ac79bd65eefd39a4073c4f33b44a3119a218bee37569 - -COUNT=11 -L = 2048 -KI = c6a4f4268f75a356e9ceb000107aa377cc508fd4ea663019 -IVlen = 64 -IV = 91d0add4b1363321 -FixedInputDataByteLen = 51 -FixedInputData = 5159a37067219e685ef89b1c5d87049606df656eafbbc276453e31ade396eaab37b85b9e66ab4c862291d0548c7049212c5c29 -KO = 540fababc10bbab9376cc96dc474a88b3bb673b74b5bcd1ae64203d1bdf75a2db5cd1878d117c8b87ca49a50e1a1cd2d6a1488618e4f22f76fb0b974cb84dd7dd9b1c60e5f0aa733e85b90c4bc1b9100bd129c0ffbda5992d089fa977d654e671baaee4e555fec471429ad6ad489689d582cdf043f1aca43a4b5f0ab7d5d1de3ee77fca66f0361b7da5534dc170a24d2e3d6cdbbd25b4d92e6b4419b2546e416f5e71f8da6e0908fbc9d75d112bfbe9314410e8d6ee6a4bf1e341fdb929b454c307012ca4a3309d2fd68269296af81868561c376c70ac610e50eb802dca0cda14575b91526ede3cd8903562bdf029131b552e879f2cddfc222932de10d9f5e96 - -COUNT=12 -L = 2048 -KI = 083f7d154f61b530b2aa3cdfa9579494ae0f794173c2c8a6 -IVlen = 64 -IV = f9cabaa83bfa1782 -FixedInputDataByteLen = 51 -FixedInputData = f0e5668d47f68a67ba39d0e9860a610790d84c5aa5e81821e8808dcb0e141f672f060d888beb4bcbd38def3393d2af1f827728 -KO = b8f15b02de4fc7804b5513db3e432c0156802565a11d3ebfeb7adbb72df0f5c426918b000b518d86c53f7702e1f75515bd6c7b91f4538c623c40930fa5023f765a2fe2794a3a3b9ac2e0eea2ddf11f8d69cb56ebb3984efbc6f3a638d36c47a0c68a30ff4c184ec84efca5212cc597a01f6a0d1a488fe522097e0af2cb0722284c66e9b746a2a269dd742aeb49981ae64ea14bb3bee797bf28a958a1ec55d430b823321eb26f9b7b7fbcaf2f5090186261fa54916aea2a83c1f1ccc07689c143cfb0c38933ac43cd2082415a84d709d4a5e0c2b48af1ed82b05fdc2c1f8a706bc4872ad0f19a6b95c7ca9e2e3158d2d5416168dc6706035fa759a948c17942bb - -COUNT=13 -L = 2048 -KI = eed6b98fc52f795c6d90eeba74c44a42a01a43c4881ad0de -IVlen = 64 -IV = bf903118d96b064b -FixedInputDataByteLen = 51 -FixedInputData = c9431a2415dc53844e8794e61c8cae8a38b4fcf50f447136fd2f67b6f6a3492dafe3f4db417eea3f51afaee21eae0a2f4c381c -KO = 81ef5070894349b5c6eb149b98378d37ed5872c5ef164fb55bc4d4163a7cbd4403a539335a3762a7e727beecccaafae1bf6ad85152149c4775a74e269d074adf140310d3d9b576b075bcdf4c2fc30807b050900a9a99b7659f3e1bb87baf505f7b654877a86525f46197cc842d84a904916a83f836de401bff422c4b60da53376155d804c4c9064344dcf796d81290634e67fab0fbb49b587ad7e251e8f9ba525a0fdd0425bf1fbb93330575cf588dcc3c7a7219d7251e77924debcc5f4c9b785e5d1553d6852599e6e53da55f54e029fa00407f9614019f5d37ba00b1919f25f2db3e111d76691acf992a2bc539bdea966c87f64caaca20c26c6096cea15232 - -COUNT=14 -L = 2048 -KI = 13c4217089e7b364f272d53830a565877071546ddc14e430 -IVlen = 64 -IV = 5e9cefde78f1e6e1 -FixedInputDataByteLen = 51 -FixedInputData = 345275bae2ee9e8d9d8c10352e9ebea8590bdc301e337649482ec25ed655370f6629cdee81d0f9f7ce865182fa0f6bec54449e -KO = d3e32c92cc378c1a5413e1237fa7eb1d51e5f693f040889dcdbb06840f8bf2a80c26187f96ed7307d15e8a1983e46bf1b573c3a279388b6b205196518356811a86910d95b06217f3a10b91e4926e9449e8561dee8fba171e8f14d183e9d9e5a8b52130f5740375ef00409ddacedbcb12b5cfec6767e827dba5c4f2779b7e56919c5e2d91c29116bcd0aa21056e824f9695035e5aa1c6200005e4ccb3e0925400980b1e332b18e2eb7e01e53dba71fcdeb1284ec386b17610728fbbf1360b30a8b84999e20885c2ecfd9b52457c02e607e3295dbba653af9cc1311631c44f044aebfb2fd558abdcafad8bd61201b3151ca58de766ede54254bd29f4d80761a590 - -COUNT=15 -L = 2048 -KI = b47101403b044932ffd5e86aaf2a6a4f13d3c64ba8177be5 -IVlen = 64 -IV = e3576a07f75f5021 -FixedInputDataByteLen = 51 -FixedInputData = c79fd7d8fde8ea4c6b986803416640f9d2638d5378e299cff3856308d3da3a7282d5dec4c39bf4c81b7be13daa9d2b9b2291eb -KO = be4b27df82d42cd5476b3efb9c818d8b78fe4ee7c32864f648fb5d69afceff4a39f4c746b3b4701a982e3e8062e8b64d69045ca3ab56bfbfcc437b8cd3e596de2c9b341252c040c71c1b030060d97e40ce026821014976a5ad9e4745e6236608df36d5c4fa39354327f610d7adc724744f5db4b321da5e1143a1778faf7b31516dbc9432efd0a48bf7258a6a1dd22bb1620b788d0ef1abcc48697944770377150eabdc2a12ddad549753812217378930f4257bc441c4ac03fa2c4e2461bc2687dce7443251966bc3f30a9ef0bc93671ad6e8f1b02f3d425a7e5f96352993ed62c603e44c97ef676a8192cb549bedc49a95442ecb1a5e2348818ef6b03e08b6d0 - -COUNT=16 -L = 2048 -KI = 23c4f18fca627b510fdda34577cc8a1f8bcbdd33f8b9326c -IVlen = 64 -IV = 1f04d0c2b36a7f5c -FixedInputDataByteLen = 51 -FixedInputData = 70ed0097776bc397fdd801ae2916728b9c636f7d23fe7a1f3b9a54d95c73fced5c529340dcbe90774bb0dbb68bc3a2ff852f30 -KO = 5852c128eff799892b624f1c11d9039201381f41833db742b2cdb84509a13a5e74ef5dcbf9f001582907e261be63d9416b8757a6840dac3dcfa6ae5760e9834cd5c7b505520f1ff4245c73bff4e0ce058391b521a2669a438c835069c0354b76984ab001d92f72cc1ae723eccecb805df29be0d23d5069005d0c440a79d37d7392ecccfed994f1647c11aab7335eca7df5e0389d744a7ec541dae8cfe412df4d04ed6866b5f98bb188f61666c7e21d59b577a3697987ab7458c0e969f90b70a66e5ebcf4d05c5460ad78be63c6ab32e552336715dbbf338708f0ccc257fe6a54f9c11ee98f17775ef74ccad5c83d2c10e510c1f6bb0baeb5a8678d90884638eb - -COUNT=17 -L = 2048 -KI = 5415e55694495b3d773753196e8d0496d32e6005de32120e -IVlen = 64 -IV = ffae786600e6f474 -FixedInputDataByteLen = 51 -FixedInputData = 5644cc669eee219da932478d6a04dd7a375fdaabf3d67321faeec337f36191f1eb52fb7aec5bb8822955bace417d97db454e65 -KO = 94f11960eeca454f9674259a82956719c564d284121ab691355f6ef60578110531d398aff86d5c617ca961fc68516b2bc690f18c885431a45dc09fe036c68c8df5d7cf50eff9db5bb892f700be1acda00975be98b95020a752b62ed46ac754d7ce0096e8f6fc6eccf9b17a1a16f4d276e4a8e415b01172f9e40d25136e4448f790568d2083c38dfb7e34bb42e53805784592fb3fae32f84f9a79719506528583800afd9ee664035efe0fbcc7e137ef6d4b5c7f69b32e5f1995dc40668dc04aac15742060c2570c2842aeb3ac6caae052215f3ad1ab30f5453696058b26474872ffec8044b2325dde961b0bf56590d7c420347f3b4878d08bca57b5f4c6da3c20 - -COUNT=18 -L = 2048 -KI = e646c25e4f5f554024028cf3a25166fc380b9c7dcea46b80 -IVlen = 64 -IV = b7638d7e58b4b349 -FixedInputDataByteLen = 51 -FixedInputData = a1dde95bc3d1961a2dbb9e5698b4888daebd142519f01f0fcb77870fa0a4226077b8144fc36c5618c34e60ae98e36c442a8bdb -KO = f439e43aadbf10904bdb3148603e4303334d0f266e980f4c497679480d8fe9376c34d4d216f9d736a80fb1b7688c1fdaf5d880d1b70e308cd0177c0b0671ffe6164138198a1ba820b733f9556fd43f85941b5740a72a6e8a285dd13d978237a824df77a8dec386a8e9902e5ad09a0e972e47cb0fbf772ccb6b980d16973935e3369c2a453d90b38f52f68d68b5a394e043fcf51caabf1704d59d55c55eb4b27d916842616b6e6c61f96d5344eb581658f71f4679506777a97c4fd1be6329c8102ffb2bf49607d01172379bb0b2511b608b50db7c5c39d1bd50d58e9b02c534588ccd5035ba8e458ff8054ae8f1c22519f45e619e986122f2f646b428fe97c42d - -COUNT=19 -L = 2048 -KI = c80d53ebd9bd6fd4f0ed30c67431ea58815174f088678d92 -IVlen = 64 -IV = ecaa0dcf19a1c0d4 -FixedInputDataByteLen = 51 -FixedInputData = c6958abff10a311dd7fb910bfbae601ca50db8c0869394a3cedbad3438d9c8b60d9e31ef46a58e98c42013c8c30e568b7493ec -KO = 0ea455cc9df65df17f114d8218b8bb92be2350e935961139ead0434930e2729382aee9ca4e2ceef35fe5ff6b257b790ea0b62af4c1a3cda40851d1d4769c190840ce6f294fdde5843bfa8af42f77116d57a23ebb235d121a7827f43640e5f70afbd480675a4683868efd4bac65f61a0812f50f8991d4dbc3ef40c74146705dbc2f91fc378e21658c9440fa5c0de35c32426ab7cfd86ed14131c96d25933a6160ea261099084a74ca563dfb82882f182ac2bc7a660f7e504c1227abf64cfd95363de504035a19188746f3f12f834343015be17da242e42b52840f7af255f3a4b8495541e0571325adddb4d2e811b89d3d5062d3bfa8caa9ea4061220db0520b4c - -COUNT=20 -L = 560 -KI = 101636fa78e087eb522e5ce8a20b8e627dd5d2c1a9daa176 -IVlen = 64 -IV = 32e02d5a8571fe9d -FixedInputDataByteLen = 51 -FixedInputData = 2f54faeb25f5d47a29781aa61fad933bc31a7a4f00775238179bcda88a167889a55e0f97ded17086d1bbc8ff0124e103ced264 -KO = 33cc927663c173478677f300d29d3a325fde5d4f796fb8a5d94a93b5e85f40fd00a82ed6162338bd492bdbb702f5e3658b19ff4b097d374bccb6d941f926c800e629e5afd097 - -COUNT=21 -L = 560 -KI = 22fd947e2ee31a0113564c8bdb68e51e2954bacaf93e6dfc -IVlen = 64 -IV = 4384193995f979d9 -FixedInputDataByteLen = 51 -FixedInputData = 24f5d01c4a9baa4769ed36a07e2b98cef44ee7037b7839b21613efb82e6535d5f588a16a1a1205cf282a13fb68a53609f5af8b -KO = 5ed80cbe094a1ff53ebfa92ac6496fe325acd1ea79a174eb51abf46841861bd9bae4c4efc7829fc8556555fe40f74e49c0e3aa3ffb9290ef971e6e7f1bd83e1da2dee87e2139 - -COUNT=22 -L = 560 -KI = 1b133e544f5890bbefc2bf014f1911aec2e4843ea0e924db -IVlen = 64 -IV = 51bd2e3b061f0757 -FixedInputDataByteLen = 51 -FixedInputData = 74df7a49ace114a8d0873911ddbb64415c19e795612bc9efd2ed3dc23a1969f751dc162e2057c7a90441c472affdc70d1cbc71 -KO = 0307c6803e2f830d57ba4acdce494998ee122c2038e34a911396065df0a72ff75ad5615efd54bda1dfe450530d962f8461b6b536652026c18cb8d82b7f26fd1b28d0d3f91062 - -COUNT=23 -L = 560 -KI = 856ec119cef509997fb9440440abcf0169cf4185d6aec12f -IVlen = 64 -IV = 49f16d30eb8d42a1 -FixedInputDataByteLen = 51 -FixedInputData = a1b8a732f9188c0daff3649fa1955a1c8ef7418506e064ab4b2efd6971db8ee4b6fc4c06e5db49f683b94c5a0d2d218511bfdc -KO = 8839166ac7bf0d5c15262f1bf29a2912801aec946e176177f93fbd3f657bb727e8375a7b235bdf7272cfd5ad061581842f7f2928eb27a4211d8535842e51da4beb28540fdddb - -COUNT=24 -L = 560 -KI = 110fd62221f76a4434fc0a834d97295e5af17fae8866cfa4 -IVlen = 64 -IV = 1ae9ae2aac6ad253 -FixedInputDataByteLen = 51 -FixedInputData = 886d101d627079a71e3543dcb50a8e92775c20f430242332018e0f2c4b1201c0cc2f43e181cf67e05823be629c55ca6f6a777f -KO = 653d079ed2a8a881ae4692a6cef8ff413c3e62df0e075566da7049df831e0709551ff6cd21a06a2100226e670073403c86582ff23d517a182887532126cfb1e38ea60f9a4e14 - -COUNT=25 -L = 560 -KI = a10985899a6ddb864d687889f290cb121ef3b43f5c4dd97a -IVlen = 64 -IV = d9ef68284a820883 -FixedInputDataByteLen = 51 -FixedInputData = 95b9f89670275b1bc41c205499004d30c60b6d844e29d8c4ece6f2004da2f75b1a6ea918a8cf3bfa0d5505aed5452d418d04dd -KO = db235f3354c1ce8bbf090716cb16c38f8f9f4cae186b59840fa851fcfa5c72fdc2fdc2f9f621d2a2714a7b5fe8150c34ebb30a1311a8bc56bbaeced78f5d4a833a2e5abd1c91 - -COUNT=26 -L = 560 -KI = 1cc598e1402c119ee7a569b36c7fadb149a3ca3eb79527a6 -IVlen = 64 -IV = 54af01f2c54ee1ff -FixedInputDataByteLen = 51 -FixedInputData = eeaa6c5352f3a5a3a035c9d1db531d1dbf6d1f85647e33f8e756e639933eb2ef6c2bcdad942d1e80f88ce1ad4498aa2f44d3c2 -KO = 5352b037d1c6719cf122b44dd32ed225b7ca082fd4a2d2ec60727eea624b39eebc183f316041007b9aed3cd4b3399003b14ff9b88e4d536999b41b1fddc7a0d4be3b059392c5 - -COUNT=27 -L = 560 -KI = 65a171b831c9f78b19240755cefa7ea3e8d6109c22480b88 -IVlen = 64 -IV = 474ce7640efe3903 -FixedInputDataByteLen = 51 -FixedInputData = 43a8eb4dc3e5227e4d9a7540084f71974cca01cffc6a20d6a2e144144dc546ed5fe8ee271fdbcd9275f530e11fcb3256b16149 -KO = 03eeedb2245f6986d51b124628e77fe3b3b231bb59458cb67e1975a0e3783a838f336a96a2f992989a3c33759bbb714058ca29870385e281a13dcf6d1c52077d5dd16d82fe20 - -COUNT=28 -L = 560 -KI = 4f8dbf692ba6dcaba9f085dfa51e8739957efe9a293bb006 -IVlen = 64 -IV = 3bc5440e251f37e8 -FixedInputDataByteLen = 51 -FixedInputData = f408cc67fcd1dfb6b13f454eb9f055be85da084ede09118e83b784fd467581f7dfb3683e7f74d3a6bf652f13f6b7554313a176 -KO = 2807864355db98f7c84c086810f7d09a7319406d47787d58032d9f41330c18099c65a5737125870d39ebdded8df05439d003534f8f1297898819e3468475290a0f653bd539a2 - -COUNT=29 -L = 560 -KI = d43b752162621adafbaf2a5100244cefacc02e1746b09bc5 -IVlen = 64 -IV = a075122997ad2969 -FixedInputDataByteLen = 51 -FixedInputData = e96de403ab8ca4f1934c16c5e62e8b6d73793f0b678e698984161c7f5aa73923a603ce693ee1bed27b441b737b2c02a4461bca -KO = 0d8934783ecb5e1bf2c481511195b98b76831f42c1ce38072ba4c8a70724d6c77636635b89e0b375ef36b1e97462cb4a279ef7809848f2a0921b7e546870d7d786f483167982 - -COUNT=30 -L = 2400 -KI = 83b9603eccd32b3c8252f13d2ad19515fa329c95af1eed3e -IVlen = 64 -IV = 9e423301fbb816f0 -FixedInputDataByteLen = 51 -FixedInputData = 919f115ed1830ec9387c0de2f26a7b18df83be297f222520cb358e6f6722684066e007b8c7d94b4e0c096aaacefe8a93d7eb70 -KO = 0c3798b03fa6205942345f7381836445cdc3d0712f311593d813107a7a139564e637599f6bb9b88a5695636d031e23f750a4bd4761fb841d5cd74386e80e21f1da6a15412666dee7e8e2356a7947df781f94311c151a5d201bd9eddb0c0342b76ea4252e9c8127ef0868234778cc14d270844a68dd1f9cfe4859836c00ff477758a32ec1be27dff5f828f2b0debe8d9f1943e36949f8530431cbf192844d887ccbf5fc06614caccd4e8b9f13c83710fb3205c1dacfb9047f00ff5bb431f67a88b29ca45a14cf42f56f54106ce6d019cec9eaa8357612061344c4afe6763f17c960d05e02c61b5d8d171afee464d0b4f5df9127d94274b44376d81ac42f122a5ab5b52d2b0255fefd7df34f82710cd88ceb00df05b2c0eed5f1a905c068a1c75ba711a481d3cc4a2645baf01f - -COUNT=31 -L = 2400 -KI = 28524b6416a391f09f5e1e7b2eb12da2b9cd6026012cb0c7 -IVlen = 64 -IV = 043499f4096ebd62 -FixedInputDataByteLen = 51 -FixedInputData = 907c7f4e15a04ade290d8cc0ae716cd338687bac4a74236bf43ba486d8a80e228f769b8978cbc88c3e7e99509d1cff8b8ae8f9 -KO = a815a766d6a2f4ca337d1cb0e9b3535c97babe36c6da441926624e6bd4032e4d0c2bc13cd6ff1d9863cc734d136c5da8e9a5a9cdb0f5fa8093cdf2dd48f8fbda78f9195b8f8831efdbf3cfc85ab7e2e949050b0756ac7fdca18008b8bb1599693ed22c79ed972e434a75d80a4aafa871e66d0d98140bbd569b18fd738652bf472402e4b957c80935e94934176016b74fdc1cf8488165582c5ea99d2a3bf2a3e459c5bc4eccc9df1ed35540a87ddc080b623a8ad322c06090504174b711b740f835efe50484132113e44c192a1cc515c84c377d66092d2fea49fb665ecc16a9b1df9dc0764b87beb7227fce59772d880e580564e6d97adacb5bccc0c4bb54f78b6dd1b8f535b63b6da9907e9727a02c32184a90d23c3dfd37c5b7dddafe34c66a23ab0f7a8c0f163df7413f17 - -COUNT=32 -L = 2400 -KI = 44603aea7f376cfe2d9b9ff59f48bda9797c0dc23537e90c -IVlen = 64 -IV = 7c0c6fdab5a448ab -FixedInputDataByteLen = 51 -FixedInputData = 690157f049ad0148c817adcb79f31cd61477e1cc7739ac662e190d35a3e800c8c59b3838ba04352ab42bc64ae7deb7e94bd3bd -KO = 2a6176b0303a5f9a2dd11847896f0ee24fccf79d6a550f68563cf4fc2ba47c970a79b9fa37eaa4535513a37cd3c3384ea0d2947b1a57e2ff0274f356bbbdfe7b7fda797ae7165e7af70bf4cfae6f6261e0c4db9ca922aa2611395501d90942cd9b911f37c8b1b701f892830c589ce28250fdaedc83de87650a1480c3e72eba417d83ef9c3efc6cd4342070b93a102e77f0beb2985a422ea4475e95a9f0820121fd65f1dd26e11641eb945ccaa53d3a5a10b8294f6f4212e36db67dfe1c0930903fefb37df9d44aa931c74e9e23b2c642f0761d8187a12e4538e015def3bbe5ad167129a1c05f5af45ae95df1f1f4ac26bd98bd3e0a435c5f11bd6743e5af816fe7c5ae49b95930525b9540ef3efe56d665808a009a0a80f9711c0e16ab0da6d988244eedb1df34f618ee909b - -COUNT=33 -L = 2400 -KI = e1c70b59dc1c3c47898abc7da1d6583a568dff27983da212 -IVlen = 64 -IV = 63c69e9455c7c676 -FixedInputDataByteLen = 51 -FixedInputData = a6cb9c8182d3e0a73540dd2e4f621b1bcf170cdfec1c0dbc514395c465001ce6f7d5c2a1236927d79038a80ed321676b8e8634 -KO = 797c829ab017674183492d5c8235e340937f3733ed033db836de87af8a4e711f8a8488723b0682b185ae467dde256958088ed30bccc452ea647e8e6eb8d547bcac595f5127410f96869efe597b479759440bb72d311cf3f7e600a0d17fa122ea499d2d95f0312436ce520ead26bd2a6fa606242fa4597e014f3f0ed1891b6454817855dd8b112f0a8d8768101a1bd55c14dbf4f3a68d4c7fc1cf96c1e411d1b2b8c45a537be44156bc93b71839682160ead62adf5bd470a5abdb05298b9f5261f7f4aad73e589381a5a53805a242bf743adc2775d3a24f870448a144e4fb6a5bd3659554f1ffc8837ae5f603c10436eabd89e656660a810d171595f6c0d663ee518fb574f7109703cb91e6a780fb0a7e0ef93d076b3d670554d822dacd5a011b1bf64a20419adcca4bda9062 - -COUNT=34 -L = 2400 -KI = 54c8e5ba115ec589566e2b7cc5235a8b4da0c99abf4c3804 -IVlen = 64 -IV = 42f042b14baa3b70 -FixedInputDataByteLen = 51 -FixedInputData = 72c46305a79c13aca31d1c2d4adb9ff787bbdf5f2e6d010fd5499e6ac282f4869f8eb3b4d09a034aca8d6c131b71bbae3a2556 -KO = 9ef4cb0b9cb3e11bfc19443d5973462438a51410b8fa8296e15fd4f1fe1fa60784c01ba5565d582de4f47248aec4147f19f6a0ede4176af03da90c497dc73da052d6a596d3ab3767650ace4996b221238a52972d7bb87afcbd198811eb0b727401566e6fb3713722a3910adfbb03d71eeb316eba301c842211d01ce653f9a67b3185e9c782a44cf43f58ff82c3f661ac8ffec026d799e00905587e8d2b34aed5338f451c6275abcb1b56929af90c4285c6e3c61d15262a37f8be9cf7a478fb13b0fce2199f03581e467bbb73319a293252b6da1ecc6a8804921eac07d958931fca27b6efde9192ef3be84df89083e8a6507c108e591613681208dc23c760aac5fcec321a487e9a0b5cf9ae29fb8b5aba96bf1cebbad961d328842b057f018a609a609320e046a457f73b1a56 - -COUNT=35 -L = 2400 -KI = cc3cd9531da62845e86657b6f324f98b09e6600301d273f9 -IVlen = 64 -IV = ca335a9117dd28b2 -FixedInputDataByteLen = 51 -FixedInputData = a71b8f84ae4d1620d4703264fbd45243344e3ff2c1eea03cc6a06c998b26101e893a41b77db095b755ba0cba7c05de71593d05 -KO = a08969a445df9bf2148becce37cf410e7f75fb625f59f3c9fde9b1923334ddca9a80a1e7df6212ad710bab15473e7f3eecdcc9acec474487ce38477ccf5cc16f44d5861699d1b9818f66f039a7bc5376bf4a1e81f78ba46c29c35713a3ef3c56c861a47a5b02fb3570f5c938d2e712dafae67af540ccf98ef51e5292c85b5189e6ffe08f8b6cd9ca8071e168b2434f3fe6924113ec92d47c059be704f9487c4d1f3a6e34304a776ccec2644f640e3fe4a01e6f11fea215f0bce4590cac7a51ed506794e5f08bea97b676c517cebf9946dd7bf95778e3025f99a2ea17eeea07754a7f25871c1315f1e545e48ce885f1eed4aa794df5fc15e969305e210b2f4a2a531501da5a29a575d5e3661f420717b3400c382c637bbf12921accb06760239f238079c213f94079deb62698 - -COUNT=36 -L = 2400 -KI = daddb5a35d08b11306ac1a9a9f09a98d3fa6d09a06c32350 -IVlen = 64 -IV = 3cd8d487db065dcb -FixedInputDataByteLen = 51 -FixedInputData = 2b869f63595670ad75ba7617a7d2578b33aa7436a9aa4a0314eb7d8fd9afb45f4c69826338eef455414c314401094272572180 -KO = 766b3df2c58918b728c023c7d412e347341efafceaca121a00107650558232d5696b4ccbafec8534ee19092bd8d9dd8948e8250d783a87787ead7e7660b94ec79dd4c2859839dadba2dc6a71161ea70efd3fff4884ffba25ccd26067f1e49100e726b29746417cc1e15d0247d67c3e1c252023dc5586c966cdfbd1a3af1e53c6b681918f47bc44a712c49790226b86b1593351801edff725353608a53e6bb01514ade6054ef5c91238d43198af46bf8b44b0aa4a91dbfce7764bcc0eaa0278c119ea5c901694ddcd13f92a5ad5d199039ef6b13cd625015ce6d5fff360cd98297e12b1db1c71c7a33d10efa5486b3eedd2ae455a8e6b56f43b9775b309d771bf13e65892822746e8c882ac49fae767008e1eaf6a0ceb73b57c2e1b7902539eb1ccdbcef514ac22c892a7fbda - -COUNT=37 -L = 2400 -KI = 64eeb2c2d59c513a6a30ead0127f16ef66931eba0cf14b9c -IVlen = 64 -IV = dfd48f1cbb3842f4 -FixedInputDataByteLen = 51 -FixedInputData = 264bdb9801f5ae6a3c17bbab6738ac562517ae6f04fa7cb9ddf0f5500ea539b6be4c19c03789b1a3164a9d8fe23886121986d3 -KO = 4a63f735486b02d531b9f78429df4c30082b5d63d9274334f1bd9d40a70b8511c0312902d4ea0f5d0ba727aae70e841b073c64607fefaef57ba8e27c2bcc2fb1f75f49d0265bcdc830610c724b2991e6dc36fa050a980c072665dc1503e9132fe30901b81e881ff7b53e5ddbef09e4544e7cd23bf0fb994ad8d3867667d09a8debb5dd328f9d937271e1fed405ec0f2bfdb4977edb8bdf96e10ceea92b1e039a2813cbf704936ebaf39f8e872a7ccf21c0fe5288fd92ff3db5fc76d9f327e36b1114372009784b5c0a46a4b72bc665b62d4a4a2a3327e1f5876a2132d6dc324b5090ccaca86eddb5bd785f989bae74fd291c75c087ffe7aeca452a2fe11c6e0b970e39ca60821c4b95e14d599b540bc7e7bb2db2a8b111ed7276ec481f0c50bbb022a544451ae7b47c207db0 - -COUNT=38 -L = 2400 -KI = 51c03a7946a73c7041c9f98e776482f78317157a545f7b55 -IVlen = 64 -IV = 6c0666bee948ac3a -FixedInputDataByteLen = 51 -FixedInputData = cde21dfab63c64afb8b0749577584d8e4b67a1511c6a90117142e9b63d679a35fc6f336bb3ed4f4c8a25490e842c267f74f404 -KO = b57860a0af28e8a5bb85f753979dfaa6431f0e4be12c2588d12c41217b10487778d35d5ba909bb199b2381c88ae0330cf44244779b69c8c5294a78b0117253cea2a32b90d9fd2fcdab6d272058fb88f2bb017da254f7b96f53efbce196bfb364c87868581eebf9f302504acff7105836a5350f0d6c65aaae7147bf3e034c3cac56a27bf41ba4e1eaf30803f7d616420c7e6c3e0f59e838fa6ee160be8cdc4eae990a422c81a19d60504d1112befd3e8118f9ad7dca76acecf1a0f60bcedc6a03348722f77f2a99748e65be29e2520dbfb1f794371c61c8647c947082f099c3c5f9bffd4d3b7d30adb65841c7695a79e286862da0a85883b51deb53604777f4757c7088484fd9783f556c3b76e08ad656c6f650131e475627b4e67ffa0f40e1e63e007d903cc3012f122024e1 - -COUNT=39 -L = 2400 -KI = 8c066c3f0c697cff5643b32e46dc9f52fb7a8565c750c735 -IVlen = 64 -IV = 68d2e3f37102544d -FixedInputDataByteLen = 51 -FixedInputData = 953fc6da65c2f5f7f5bd9acb5fd35f086125d89b6657a7e3ad6fcdfb76b3595b658094806b482ab7625af9a61ab28e56c7021b -KO = 430fe734910d5659a8aa73f02bf0647c89869ea559f8be2cb4742036cec75146baf13a8262f48a47f3456971f5b25a5a76655c1ebd0f891ab215e08cf0ade6a30ff6aab0acf63f8df042ec7039af061b486c54b190e3968c3ec3d76935ba281288365a5725fff6e37175cb019a1bd2fa3f87abb550940dfbf78d8e4fc308dd29ea36d332fe5c1095b04884e28fac15e080d9a856af318c7bab57f9ba792554c0ee18224fe7572f05cf1634f0fa76a2aec2adda5815affa38631f59c8f5291325ec68c0f2a54d68111571985cb74c5bf8568f5cb474a8210273e4ad7b10062119c6c78354f35d08f532f80dc4e00bddd2cf1ce145e75e638bebc537c527f579fad224f4a959b12b93c427f34cb2417022720599a23a7a5fd1d727da0d1080aeab1fabbd9f7963452fd5414bf8 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 8c8ccd6e9f4b2767dc937ea02b4bb64205717033300a5a9c -IVlen = 64 -IV = fc399a22d73b0bb6 -FixedInputDataByteLen = 51 -FixedInputData = b36b5fd43de6afae7f389569f3e163943352c7cfb410fa8244fbc61cb530bb430f39a0ec630cd1d47120fc27a142da200b81c1 -KO = 8601f484f086193de50d4b6470f5ed6fe78951c2a38b66ef0f8f7499941d926edbff4ae1746ef099c12556b88e49e64da14cca83d6e21ab778af9754c632b1fb - -COUNT=1 -L = 512 -KI = dcb44869e3775e3b818a7eb0e9ea44bf9a1e19ad4e0ef0a2 -IVlen = 64 -IV = e8bf8899e7e72af3 -FixedInputDataByteLen = 51 -FixedInputData = e49dc3a8fadf02397eef6108ecba9ba84e3228bc7a5723993cc6988c5d6905245d1c9a3e50ef4951bf1ddf024f72e224d557c8 -KO = 4ac3a83a807c4977898b6d2edd6b4fcc2fe566889cfdc82e49655057b8d670d5dff3a3470200f8a564d2306095953e8ab8b5e6ee767aeb15eb1a8c1f86ffe951 - -COUNT=2 -L = 512 -KI = a7850409b229fa19706c93f62e48672c3671e3513c4abce9 -IVlen = 64 -IV = 760d529f014998b9 -FixedInputDataByteLen = 51 -FixedInputData = f974db537e7c6718329246b615325e1ef83414728c25be1bc3cac6dce8018f8304461acf25f7f6451f5c2a16d2b6fefc3a2ef0 -KO = 468329154c324aabf8439a30145d368b16bcc18cd7768a58b5b2ee3e915c8ffdd9409b5a3e5c1360c0d97de68c2ff2e258a2e02e9d25cfb05c0f7450577271f3 - -COUNT=3 -L = 512 -KI = 7dabd112c5384ef958a51550155881f81998e206ac3ad78c -IVlen = 64 -IV = 1502d80c16a6d06f -FixedInputDataByteLen = 51 -FixedInputData = 2802fbcc9d461c4710c8e6da0cfe7c06145f22fd6c187b4801fa3d3a7ba0dbbbd4d9c6084f7d5b6054915c1f644f46683dc898 -KO = b208557e4ccb6a6ee63ea339c086256b29eaab0fae26ac8d538fac27c2ddbdbf7ab85eff16c92931f87aac6b5799d28b4701d16931247fc9dd0588951f1c7091 - -COUNT=4 -L = 512 -KI = 73c42bd1e9eef1681da344237052609a95e44cae7b0d6657 -IVlen = 64 -IV = 172ed0e97add6275 -FixedInputDataByteLen = 51 -FixedInputData = 82aec9450418d00b0772b7972c9b7e2c3605f51f9b0e00b19d393fcbd9eca92dfc77ea366279933b4d249afe053c94517a4ae5 -KO = a341fbba2dc9edff91fdc59dffae8ffb51e245cbef214ee5f1dc2c1e3d2acbb7b8a2d91b90e111b40bf4adfb4f7e0e1e973e4eaa0f097256423eb29d22c9a8bc - -COUNT=5 -L = 512 -KI = e31e42966f5cae70bcc75f28c19a6ec2b7b833e95248f46f -IVlen = 64 -IV = 170ee49ecae729ae -FixedInputDataByteLen = 51 -FixedInputData = c8cbba1124c74481611edc86965005602b39c83f885898b9c01076e2d4dcfddc7a1c09b6661bc545011cc9a72d1f69fc405aca -KO = d4ab1e17759d198af81940e96ca42d17091aec639a9de92399a34ddf3cea57fb156d17b17ebe6763706fd7c75b053b0c7cfdcf0645f440619db1091293b13987 - -COUNT=6 -L = 512 -KI = 08d5f1f508ab3ca976944a9fc0eebb1cc92b1ce974babc66 -IVlen = 64 -IV = 20ff5631737e7da8 -FixedInputDataByteLen = 51 -FixedInputData = 3b4dd7378090c59e4060fb7cd330e3450f766dd304f19373e6508679a3657ee75a35a847ef53fa56a430fb452fc78d46af2a5c -KO = a2b156295b80f49c1e230f8f1ecb6d865c0ef792b7f82aa3db824703b77b5755258e4e42a87a76091e31f58450badb7d59a60379d0c796834ecd9a39140c2355 - -COUNT=7 -L = 512 -KI = 2fcaf977f7e86e15f839af4f695b200d78a4409e030153e2 -IVlen = 64 -IV = 5b44e1fa38cf4987 -FixedInputDataByteLen = 51 -FixedInputData = 13ed70b66ef84643c672a2c03f81776eef1302ab6fab8b938cbd2e0729866f9254d4f70c6a89c51439b596eee28759748a39b3 -KO = eb2fb937be4ec6d08ced0daced5f573c23f1f646f32b9b23883eaafa54f93cb6b88823de41ad2dd7016a0f1f678ab07ff9e75f45cc0f4ada24c828d5e54998d1 - -COUNT=8 -L = 512 -KI = 829cedae5ad88f60c4b14887bf274de36ef9bee86cbfd50b -IVlen = 64 -IV = 827c30967f2de291 -FixedInputDataByteLen = 51 -FixedInputData = ad9e493de3ebcd7f864415a363cf9460791e59664356da8adbf6e482ed5bbc85165c5a3fca61724cdd520333e9b629da13417e -KO = 3b2d0e149392b1771d34ef56cf40c60314145a230b44fad7d25cee8e43ba69031d1dcba3e72ec02b03f5b8717d1f7fb7c7a1a7f50b124459246d90485ca3d9ea - -COUNT=9 -L = 512 -KI = 567867e65ad91fd265ad9abc352f1115e28dbea182174506 -IVlen = 64 -IV = be9990898738acb2 -FixedInputDataByteLen = 51 -FixedInputData = 8f094ec50b2b744e33a8aa4f224504cd17a1fef095e6765e2b7504043c90ad0fdee2924bf6281f02345fc0159c4d963084b92a -KO = a85b6a05984e4a543f8e688f01454694597f998f5bbb37c2cab89457449c0af6b1bff488294e363f4604f54552174288c1a8c264d1859c9dd01336f95da07774 - -COUNT=10 -L = 2048 -KI = b4360e067d5abd0913492f063f8a9956ff537d5dbadba383 -IVlen = 64 -IV = 873a6e0ba4e10bdc -FixedInputDataByteLen = 51 -FixedInputData = 88502000dc71be79bcb7f1ff53ae08676ec1b55216686b934f02619b681d6e4a3dc4c6d239b675ec56545743a2bd9e7868ef98 -KO = b2c99a02385f200bd8670dcf97e158c58ace7a079fe95f1e39648fd2d0a6ab19fa5d5dcaf869632972fd6a52b7bdb0ff980c74db33f6f74ec1b83273405f9bbca86f1a8424040528cdd858a72930b8a6d1f95af8052ae145d31901bc24d1b1f0fbba90fe1db4a0fbf038ee74e55eccf6831a2cf171041987686f1c75980114262fce58b3c859dee04ac6c3d7e6dad68baacd2da2cc12357393fc60370d2275b2164b8ae690ba4be3b853fe6e87e3897d110eddf2274848ce98a1eb6e91e7b48291912b874363a5ca88382ab64410f8f86b0b906d26cf359a6cdaf045260e6058f60eb31789aadb19c5cce27ef5981f010980807b6dc1b3ce8c5600c0f22b7094 - -COUNT=11 -L = 2048 -KI = 175e569899baeda81764d413df767b72038186a6ba74e7db -IVlen = 64 -IV = cb04edd4cbe9fb40 -FixedInputDataByteLen = 51 -FixedInputData = 9943cde85d2eecd1d06640142a257f6c22de925214bc637a65f764f77798d678091f2f9048e6e15ee03d7b8bbf771065d0a6b0 -KO = ba3d9e00e4b0e1b00009a4504e41771a68d6327bdde449791d041be452beac6f0ffda0a09f723eeb81063cbbf7531f6f53094eb06acf62ed7738e487dcd6f42872cde0aa85a6fcfbeaf64a33acd040ae477615d5785a04bf8617757d94b2fe45c80b1c5dae114706eb1a8f2d8ffb7705cf5cc9b3036b640d24bf5d5dc347a094095f5107d51cf585b10a2e66de55e2211487c9adaa62b8763b99675935fda0571553c569e4dbd9e58c4a6b8f50baf36ee786cdf52a10fcf783f3d544b566f83d0fe01a1c83bb1f7b4766734b47c668eeb412c23d530e2fb1df8697b457799c197624be4341c23e617cbacc30da3e2444d056fcc8f0ae9d53f4900edceebdb8fe - -COUNT=12 -L = 2048 -KI = aeff15f3917e05f15f1f81f9b305a3618088b3a47cda4e1a -IVlen = 64 -IV = ac4a2af3384134be -FixedInputDataByteLen = 51 -FixedInputData = 10c1ab92c2fda4b7de6382a219e21e03da60a1c6d8aab302a894a795c90b6b44c043503dcd5f363e953085f9a4060295230152 -KO = fa8097f39d90a3a75a048490a5fb76bc66ccf685e680b56e8aac10d153bc9ac5234b794a1057a53794ed9e5a91b803743e8cd09af547b4fabc103475315a9db0e55dce1dd9cd2f55bcfa7a106765a17dc4a8faf81eb21f68877ef481853cdd920076bf6fe6b72ecaff60d3b1985c30e5bcf675150f58997c0f70fe121a56b22d9749b722b14c220dc985ec88e6d57e01725435c5c65c19c9a9b629e300a2688fc6795ca71032d45c28cd7eeaa0edd376dfeeb8e05b68ee862f0469903b52318760617d6d3c623b132c9d6bad52af6da7eca43c514a93277921f0dbc0e46fd8901f7930f224b7b9bcf7c7ee305054920b93d91be1c52bab95ad8920b791542a7d - -COUNT=13 -L = 2048 -KI = cf33468a2cc199e1bc6ed46a93a81113c7e01556c50bbf7a -IVlen = 64 -IV = fbf25451e501cdad -FixedInputDataByteLen = 51 -FixedInputData = ea3223072ba43ec69e5eb63109f29775e6921c7ee8f63f80d5133c6769178e9f0fb21881cdd9aa11986beda9d742e55b8a50f2 -KO = f297326355d1e79c075021f2a752138c0516f0f95962e9e864e03f7df924766e973806d9f11427785cfcdcc31d7fa6bfe4a17a0f9551b86765e0ff19b49a3837e02151632037436a1cb1adb3645b46c0aa287b6d02c632d40f3af10ad3bca3e79bd3070399cffb7d49ad13930f0f3803fced32dadd7ab1b94ed6c084642c4cf35e263894b2db70e4caed30e02f687afe8b87a5b4736030a2b019f808a16f4a2f32443ace68cca39429e0a215568be6b4da84a9e5ce2a4ce58aecb7f49486033237c9fa734952efef5dd92390546d56a04dba1ff9b8182d630a208fb4d96fceb4fd8d875c60bf171817a2874d4c11f59747c775828d5236b6bbddea9eaa6501b6 - -COUNT=14 -L = 2048 -KI = 74e5d0b8c7c90f1bb755725799225884790d509a44009f3c -IVlen = 64 -IV = 6d7fbbbc53aaf158 -FixedInputDataByteLen = 51 -FixedInputData = 1a2aea6f4f1ef1accb70935a7f6d52cf95b30466b46a7f62430145ec3b5b6a8da90e19da2ab1fbe62a1344d783b0b7a797036b -KO = ec62995e15315ba055c4a387db4949c9cf990c866f10b57d8c951f2af037b51f702f321baec37f8b6db1ac04c12e47c33297639d0eddd68f9e5e0fc858f9c9a88fb09963769a9c1b8fd78e61adcbac48ee0fa8edcfe4438b5702bb12d88c51ba160c5ef5c53f61a2c8a4759351c777b676fa29aece6c02c5cf50cec535d466469de2fc545e2710a52702739143117d71131a805dcaf40632d2cf6d2128fe846570bc38dda22c077b161372450dbb4fb7a7bf17971b6fea24ea25525d90e46597f609fa95253a06f8d7efac8b444e6c27513f91c9ca4f0bbecf4ebcb9974c010f03bfed995550ad35cb17e68f166740dda3e1676af4861ccd892fdd32044c69ea - -COUNT=15 -L = 2048 -KI = 51485c2b7150868826ee615f5defb37adfc1156500bfc174 -IVlen = 64 -IV = f314af787aa6950b -FixedInputDataByteLen = 51 -FixedInputData = d0e6d7daaa4d590a425355c0e48344ea980bc3a34eafe417a930aa83e3bdbc87959b45c5578a228bd6833111b803b09726c0a2 -KO = e43decff7c3b5f01fce5451f71c1af2bf2b17afa0ae1476c2464aa736c9432a6769510549e890178f6be4d965aba5f226ff77a737b263c7f46d277e2330263d8f0444924be083c87b002b11db9ec3669390b755c49d7a2bf38100745b5c3c0326f87be6064efd1a2fb42e193b90a4e9177db03230791c748855b368b02186a15b1db05a3442182ad4608d395979b40041c6d3dca1f59fe4eacb59e2f936e0f8e09e8be007c1900a3c9ad9081f571ee00d609ed056b54794a24a2d1b2e298cf8d448e368ba9570e5925650fd8fd65550a1e0108fced80a87f2e4c6eb5355462763f0b0e48288aea03b803b0af4fec31ebe338ff7eb62ec46d7fe93de60da1c503 - -COUNT=16 -L = 2048 -KI = 63a4cea760372646108909ba5c44d59fb6e923e8a27b7939 -IVlen = 64 -IV = 4741040d80a54c19 -FixedInputDataByteLen = 51 -FixedInputData = 8f429c4d5ea6e8f6165a13e5608502c66b48b544ccbd76ec8ce17a8e0cd653cd223086e13c9828d601eab428495f16ba2652c5 -KO = 16840773fc73dd2b292ad7f45e06d79a2f49d7e37dfbe7a84ec156ce82ef15534ea2286e3b8aaa22217c85a594c04e9b2900ecbe45e629f264014584feebb23ecd960cc5230a83d8d8f2b6539a1d2708a9f38697aede78e756d818642940caa95d0bf6ad61a7fc920552e1f0efa90981a24ca110c04c357d4760796e10f8b1f8ae173f71be2a96fb07753b18f9e6554e2b1c391081eb8dc3a03410b5858b3e61fda5110fd4a89f73a6ded9ed9553cc746b448add7f463585f97ceda5f33031b76efe7d435255178ef45f6628e7f52aa65f9a040b6ea9b912922cd2c8f08c7cdacf953226ed13f4f1c26064bcacceaceb612598af10a0ba540b91d205aeafb808 - -COUNT=17 -L = 2048 -KI = fa7e6ccfbb45db042edb568d1344b01cb6eba10981540e48 -IVlen = 64 -IV = 864181aa51dd072d -FixedInputDataByteLen = 51 -FixedInputData = 461bb954bc76cb4a174b92f463ba553f5d0d050fb0f7468347012dfc950fa15c6fef0d2fb48d61a747e8e1fda58325d84f9bc3 -KO = 177f9d290c041ea6c92e202ad2caa7b8ad699ef071e69a170fc1eca9f88856805dfbf1c67160a2d739e8718aafe50fe8715f6ab10e3891fab24a4da7f0c8ccd37024c4216813490c9a42fc4b2db736c1f14271121c33d985e02fc0382a72d6d59098bb7b0ce9cc6fdee8c6f7cc61293ba44f4d100f2ec63f8dba86a27802761f63ac5c44e9f11bae8aa9d4edfaa5a1fc2197e660d768d9cc1714995d62a33ebb6e81aa5f0d534c7f06b888b802f753c2b3004518bc5459b0ba8e9c21368c52b073be998b8caa87e925960009db3d19133d6940ab86604fcb6bf7de28aeaed2a9f631bb5466ce7d15b81577aca0ba7fe274bc940a73d0754de542153803f22e4a - -COUNT=18 -L = 2048 -KI = c78ed464d81e626bfb3c3e5a83d39ff09b36ebeb369b9fbe -IVlen = 64 -IV = e2a39d5f211348e0 -FixedInputDataByteLen = 51 -FixedInputData = 792bdb3dc45b7ecdf4e460590983f21ea3d2707968b46b7522ee5e715a89da260a24c9a4b54299872a1297199b38e6a910742d -KO = 7d96583a3f605120f74ab38ec7d7b061f8c9bab707980c5863ea2bd3de828c0add0b3cc18599b3cca6a457ab2e6941ab7aa58b34b2dd9c42bd75c1085660a834349dde9582da89c52d68f460ffdbdb8083d6a2758ebbba159cd644ccb7788a8d84691cb82d16757688250ef68c4818a6cd6bbda28a58b46626b8a729efa49a618c06bf53387b486875bfaf8c1d1821255b47bc04100ea3a965a6a5b1ea050400ee4e4360e45e23cb6919955b4a9c823b6db6acd7f7b589b52fef1d12aac1731dbb346714f8b52756eaf6f92e571e3f16f49d9b6c027d919d16803faeae26f749eb2cf4a1149004af867fce6a5296e2e8d602d9fa6775328d497b6a3fa1094f64 - -COUNT=19 -L = 2048 -KI = 36ece5d460281e5bc8c0894ab8cb67e06c0025abec26a2f8 -IVlen = 64 -IV = 9f22e5f20883fac8 -FixedInputDataByteLen = 51 -FixedInputData = 946ba75278748e6c227e73018f795736427455e984f051ee861dfbfca8823809cc9f355a0cf6ce90e9e65db2bc0775eeab443e -KO = d39bb1bceaba64c0329413467cbd6c08988a2b275375c9b0b814b98eb8f0db1e21e94627fd6d1dd90c1729bccd32525708cc5169105d2c5e5a934b647d92fe5559a22f0433cfd5722faa2a8c578aadc396c4c43e81e3bcbb6842b08ab7da02431ce87a1639331f919656b19468577a737d6e601945169b17e4f229a1148136cbd95ce26ac0e5be0117ba042265b3db99c8e89b7a71ba48f7ff4ce53a5e40316e90899c9b0ce058f0ec677e9a0163536144ebbd2ceeeb048369543ce34e61b3dcb9aee98dc8721855bf777232753734de7fd4ff1bb8fbac23a1760116f8692dd2a340ed294de3a773a7a9743725b714cfff8a275e2de26030bf62de49f0cd70bd - -COUNT=20 -L = 560 -KI = b091eec98974b3afef3baa9464b1653755d39b59145e3d40 -IVlen = 64 -IV = c484ec476be3bc0a -FixedInputDataByteLen = 51 -FixedInputData = 31d8e9bd246fd8a7439889524b1d2da4071df06c59c9aae3dba839774539e860a1457db549fd424c93b6fff79e0e8c6e92e8e4 -KO = 704d4512e970deac3216403a967a4fbe7f7a67e472dda94a34134805f72ce37d6b9069b272a3d6ce7e4d644a65d46442822360fd751abed1ca18d3628beaff133808affe9a37 - -COUNT=21 -L = 560 -KI = 757e5195392ad50d8fd687ad3ee5fcc2826f366aa9c0a2bf -IVlen = 64 -IV = c461aceb75197262 -FixedInputDataByteLen = 51 -FixedInputData = 87035dc99fac32cfd04ca20560ef022a3d4f953c02b7f6f055a951993dee4b52b39ea428fa6059a45114e677217f9bc9f2d86e -KO = 78df157a8dfa7f55c0430c6fbde09c767dbcfeb455c58864b5202233048c175c5e5589da3b428976ea4e46fd552373dd3ddd7e81baa210440cf7e3f97878b30fd8a179f825be - -COUNT=22 -L = 560 -KI = 108c39c1d66b43699248d062b5c30f45b904fe9c19be1dfa -IVlen = 64 -IV = 055a6b499215e8a1 -FixedInputDataByteLen = 51 -FixedInputData = 972d91b01ae841fe5cfe4e95d78c1cc31ca5f231cf183114ac9084ebc7794854923139810e51b1991a52b84198625fcc53a4b2 -KO = 5fe2fa96c9fdfe2e5cfec61939a1d56deff0734ddb92cb0d942398c00a8f979217a0a8fa37bc8fa14fbdbccd5f145eca61b3abefaaff40862e3710d9c3764c9f7c3bda047291 - -COUNT=23 -L = 560 -KI = 45bd40b8b62cea263ae4b7efb71f23c5fe2e5f56a60cdbb5 -IVlen = 64 -IV = cc9b60098ea499a3 -FixedInputDataByteLen = 51 -FixedInputData = 1452f7e01cefcdc3f109c6dc279474dfed763ffe7d99db1329acecbcc065acd70cfee833b9c7ac64acadf4a428561ad53c1a1a -KO = 2f83c41203dc6f1308e907c9b0326582001b475cca16effa1db5aab52847de50a1adff3f26312c3e82a01ae8a92f701c8f363d8a64014fa80d314ba24e1047a075b95c9209f8 - -COUNT=24 -L = 560 -KI = 55b1d084998125a28063e3f5c0b4db3c375ee928cc659c4f -IVlen = 64 -IV = 2c4aebc88592bb0f -FixedInputDataByteLen = 51 -FixedInputData = 1058d09aa0246946ecf861ff371c7baf325e3b7c28b712460234e7062c221775c40f8207517d830089f27c17d47f3177a3a444 -KO = b4a9b3cc8ec5f7616608528fce45f3f19b5d78edb03d32e288a197c7a677a6fbeec11a7bc25c8fdad8c24463bb856f5a0250272eaedc093099e273266b8246108f2795849c7b - -COUNT=25 -L = 560 -KI = 90b4c992e1dbb2399dfdc896a34e84af91594b0319fe6323 -IVlen = 64 -IV = 7b1aa0d3ebe2d96b -FixedInputDataByteLen = 51 -FixedInputData = 6d545e209abaf3fd4cdc6163491257663ba07ccab8f0b8f13cc8534797366884e5c0faf43ecd2da76925e2e691c8e3f1274606 -KO = 89b91f14d12e3e774b296f9ec489fdc9ddc0936e8bae4d5870657324fcfb90345654c9f332af87e648f79de2959307c03f2d9d6d14e857c1743dd149e6749b274813d2de7c02 - -COUNT=26 -L = 560 -KI = f57720b6df6bde9459ffb11882c7734e4e84280d93042f3d -IVlen = 64 -IV = 759f87e0e22ba548 -FixedInputDataByteLen = 51 -FixedInputData = 21cc6155c49ba5f688c23f6a6c13afc76a2d9aacfbcf626898c44c1bdb54c67ff2bd75057a2d654f14d9e048fbb8896d03360d -KO = 79857750cc064706f6ce44108a6c49d1a0c1051dced17fec36854a43e8d9ad86715ef6ea51c09ced1550f3af923c0eb595e0714fd980711599f6523a840f0d51114a87e484d4 - -COUNT=27 -L = 560 -KI = 736a44ef65838ac3d9146b88fd83dcd6617770a33d40fa0f -IVlen = 64 -IV = 0776417d5d191405 -FixedInputDataByteLen = 51 -FixedInputData = 659e17982036653ba9eda553b5c8487083d9e16f951df2b6dc5b94c226511c3d1151f54fec4a760e68308b3e414d89c9105e89 -KO = bede961df4b6b1b655b39883608d0f3986c4a2f17bf71f994e57dd1ac066343084e5231d813d640f96981724ee11e54f4a07dd52f0dd415f69374c76d87c69acb10c7e507912 - -COUNT=28 -L = 560 -KI = e66047e6cfaf0ca6af02c7a758c4c2d9bae3567598043fe1 -IVlen = 64 -IV = 0075b092588c0dae -FixedInputDataByteLen = 51 -FixedInputData = 7d900bbd9e3d5d833bf9ff24360ddb0ad3747b80f14a22c9b05d048aea37eacddebb43d4ab4874c5db8045a7f59ae9c1375722 -KO = dc672ef2187f5d222fe74bb45cd169ecf315e38d40005357223acb448fcc92bbbf39706c92f09cc1a69a3093268d0e9e9822915773d260975f36837e1475430919d5aa313c35 - -COUNT=29 -L = 560 -KI = 6288c2a07d0500a85fbd4c88c03136b925e7ba073ea98291 -IVlen = 64 -IV = 7534c81d2b99f124 -FixedInputDataByteLen = 51 -FixedInputData = 53d768bf2b7084693a71b19ab347c81e457c30e345feb83ed1256fb030494dbd94162ee7a22ae57148046c0076fe1df37cdd2c -KO = 869d5f22de4978ebb0b6a75cb6a8a23e59b67c0e7f443390d896cb219416d761f46a9654beef92d52ceb07d02083514c2f3fbddb010d7b3fca6bf2af6406b3760dca152e1d13 - -COUNT=30 -L = 2400 -KI = cde91bfb744d45cefe88aeeb3c216cca2aa3c47fbeec55a9 -IVlen = 64 -IV = 309482f82f309f8d -FixedInputDataByteLen = 51 -FixedInputData = f21e05b5bb2037b325b5b234fa9ee6eb9a4e8603b7fba740dcda38f0c2be733ec0247357a263568824ed0f411c5f514f1878b3 -KO = 7baaf1c017bc07bb9f73552544ff31eb530d9c3310434e61967b159a7c84bd2411ee5d570ab669bc2771ccc48ec3dcd110e0fac60a2b5193c6cbd9827aa336489de4471a285f37ffe0cab700ce135fc94d440634ac5ec6376d7d0149ba6cc921cfb48ec901b67ed6212afc7cbdf99f7dce379a6d742ff30ba5ba8bd85a777031ba275d092f52511b968857b8ca2a36f2bd631e0adca81c1c521d287a6f1dd60ba28563f95ff573b655a669644c3be76e2b7ec5ce58f10e9cd6b908f1fa0c7fc258a02f0f6a9294a1ba9307d920b4f1e269f168c52b481688aae10de277c3950cf597ac3e4cecf82bcdbf7eb7c697e0c2002171a11c574913d2a41d264c6536b35d68bc83084af634b6d30415ccc509e6ef0f6874f2f26d848081466642fca536bcc5d5bb01c40cdffc98c3de - -COUNT=31 -L = 2400 -KI = 0adf5002e5661d1a1a32d5ec0f36d8010ab679a0123be3fb -IVlen = 64 -IV = 75be31777d71f800 -FixedInputDataByteLen = 51 -FixedInputData = 77a85fda5f56645d078082b88ff85e3ea609b9be8e2a9a447888d4f35cd0a0aba21789b618b9c259ba34381c37519052466ba9 -KO = e3d769ed44da17c3f38ddb9e048dd86ac06394572ca265e342346e3fe8be5d49b70eaad92c963b90f29d208d0a83abdcad78cd3e846dc5bc9799a8d194e71c6f2ce169c71461ab2d03ce5956a742a571d8cad026508608aa412dbf2fbae00b418f9b89fb01f5d424bcd43831e4b699ab6fc116d6f2c4081f20ffdc2e319989e42691835f38b549a7eff3b6d1d7ff2eb010b75f68939e98fd81c32d365da0141140b9039e146ec9805786f61ae3b6118efd54b663ed839b8f22633336d07fd8287902cade4e6cec30c384f11224f18568a230a930317967f5054a26f9563ca51fc06bf23b4d10b7593b3460754ef36ed2410a648962a8b323202c795d6ab2497de58b9ffeca4a04ae4aa5d25ed24605ed89cfa48bfc26b5fedfba63630a5e5c8464aa1650afbbc4902e2b403b - -COUNT=32 -L = 2400 -KI = d6e05db5d789b3335a7599fd699d1eead7d3fd3f4abfa869 -IVlen = 64 -IV = b62569133e5f73da -FixedInputDataByteLen = 51 -FixedInputData = fc2e29488bc1d02a880546c783853cf3a3751cb2d421fe38a7e5a208e819843f4bb73a34185c138ef49c2c329c3308197d6e34 -KO = adfdd4de0f270132c1389c3f36c62a96898b0bd44cb08cd6fa00be572b1366c5f5f41e32b4375f35af3f8c6c9f8875043a83b93be98a6406423da50e0fcc1d82cd4a6ce51473ac136090c7ded3822f8ce0b07c7d9c3df5f7205ead67345fa5b0743b312468c51a545f4d32913838092f013f753487d5aa472e3c7f10b9247a25c7996ab203cc0f9e584a4a802afa977a91a766ab2b958b6b6ae92f02038290ab9ffccb8ce302958b278dd5dcb2f4de6483a713f9ed8d83691adeb47d9365404ebdaf278c6e845ac950d100867ce14b9467e4d8ca74d146603461d062f76df6fcf033f0341031bec7c0ab0200b4b937b4b8ee2b5b41cf462740edcc8ab80f0ded7352408512b3c3c76807098ca8a9059a3906eb2642ea2f68603002a660a69e2767f18d72d7b5793fee39dfbb - -COUNT=33 -L = 2400 -KI = 8b47144a751b6e269214fbb9283d9f39e6a0bc48026e6a81 -IVlen = 64 -IV = 36fbc11e365f3022 -FixedInputDataByteLen = 51 -FixedInputData = 837ee4200358c5394fb3729bf9f34b7f0152c1ba58d66a22b6ce14c7eb706b2653cdfc172e066cdf0635c382465d3c3ae8f528 -KO = 4c0026e92395b8e31ee36535c101ccb5b54369266ce61021e4376fb369e1b422c95d4e99d54951a0103cc3942123573e419ae7f56787085569deec92603050755b24370dc1ce87fc880b730420c8454b3b7a2779f326b852fa0dfa2478b3375fb7720055cfe91cd57e822333a95cb4678ab7a1491454e5cdaa85cd2619e8f44a0a9fdb13365eac25c48c059e57f6d308b8cad20b7f7a250feeefa0669288adcf7c81e8c3e352b07c3e54e9d2b827a82a788fb37c1251643c3fa31efc64f2ebf86bfb7609056365aa9c4e9056e2953d7ab8b4a8870d8ffd848bf040b72768af94854f332e9e421ad4891c7fc833a5668e14be19dd9138c5e607e9e821d1c17c591f3af6dd905fc48ebc37255af82d4d0869770eb440bce315123fa5c99284228d5e8e0191e9b8b2ef6f37cf0a - -COUNT=34 -L = 2400 -KI = 34248705b9d06dc2aec5870879c092fe7aaeae281483c801 -IVlen = 64 -IV = e14303c13e678ae8 -FixedInputDataByteLen = 51 -FixedInputData = 1680f14a9a25dc3d8b52cd721f323853edf93be662f2d1323343e8cb983c42637bda647d994077f298e9d2eb5925145a405e82 -KO = bdba5ef3842f194d4411443c47cc43a040d195978bc27e87262f04a2f1812158bbf7c747d6034bddd8c4207d562f2de2c062c2d7a34b38344858f20ef8e5017e75335c0e26e808433bb08688afaa52b17805d089db6a6378aa986acf8247704f027e02ad87ba74fbc27a1b62e37aed32250ed58cf1c1c7244c4c7ac13a665d276fa1e57d3e6dae45af4c2b208f0c3ed478426fd1fb9b61b77decb4abbf62a72f1d2c8ea5d843c4b61f707f5df45c0a3d0ee78296517e9b23d40b1ee39fa43f4ce59435861e1db7a6b413f26bea75d4d668195ae22ecb1cd0b1a18b8cd61d668f40cdd3a589c5d0229ffbb01de0e6ecb981db7c94b34635a8a2f69b9c4e99fb0f476a6e3e037fe50fff2735b8b8ba093e88bfcf32d08b772576be4592469ec2ec3d35e922e74ac785de20f412 - -COUNT=35 -L = 2400 -KI = 6938244bc92218b370483d391e3b8a96777068660caf38e7 -IVlen = 64 -IV = 424a3da3e99d623a -FixedInputDataByteLen = 51 -FixedInputData = 27129df5883ac14801cc970298c301b3eaf0ab8c032e970bf602e16197433032b5edde88998254c964f15512001975bcf7e309 -KO = 7114b0540f7f5f4e735bfb4108d5607fd5211a284d66a8ca49c402c50afd07bbfc924b7f77b9aaed4a25e77e4c6d1f7bbbc6a7a690d8826d6b003825832ba8da85720a1d829410412371c16fc133afc875c9a177af69d07f7304dea1f8c6069fadad1c9d3bcc68b32c6a2baf5654dcd87b88d3a2681208f17cce880a4ef6011b6d8b1bb2078f99492ce4ad72f0ade7fe2455bbf5533f3bd318b1e7ffdfbf2adfe42732224418df8e2b9a5bbf82add8ea47015329974faee5b66e7480161beda8ca7e75324b5cd00951b5499ea6fa723d9d3a4300cafb906ea0392ab3c2865e3b5abc050ea2a2128d59d96d05a84f66f1d0b3d64bf24048e14efdf85e60eaf5141056648fe2e2ba079631773076a76243309440f3239324d2001fa0e30c5ada2082dd04e0f1f202f7cf7409b3 - -COUNT=36 -L = 2400 -KI = 81af6b501bb99e91496f631a606c6ecd0368bfa7ed338aff -IVlen = 64 -IV = a4fd83236c67a978 -FixedInputDataByteLen = 51 -FixedInputData = e926442a89e4be8920d461b12199e8e96d736cbcf5c80858acc562802e2ca17899004f9fc78c67c8fde5056f203b45680aa8e5 -KO = c5419bb6480dda8be65e004ea5d776d740f8ade76143a6367c3b920cb0f385b2a0cb8a33e800782ba730935b46687006e0439d65b5202c08d10f827f193907037ff48057c88f8c1077834c2ea1a822ba942661ea25bfce5ee4e2e96fc438df5625466d4e89ff6edad6533b41abf1d1674bce75a3bd0d771ef1b281500e6e533142c6254f352d8e2293d72eedf666f4a0bd99a7c242e45d3967e64ac760dd59928a10de55ff993856113d6557d177018f31fa7210cc1f100a35c56d53795c45a44a47750970d1506c9bc5ebebca12226d4b333dfd357417fe6850afbfd6d999a2c941a86c9448395a8759b0912d28979eb1722ca2f91d14287529fc56df402c02be4b33d042306fced44ad35e04234a79b487c151a5d11b4faf629cd117a03c7256a5a079a4283cfe8fc03c35 - -COUNT=37 -L = 2400 -KI = 2e3717a7f4ec8adb61d8a7b1400f99702fed61abdea779d5 -IVlen = 64 -IV = 5892e7b5dae38f67 -FixedInputDataByteLen = 51 -FixedInputData = 73715ff7b237150dc9e715f1c48d3c6785a87aa01fd1f44733204a443503b6ab4ab318493e4064d9a57d2a1b53638f574bda67 -KO = 99f04eb08d376935bbf113b8b9205f449d165b5b1003dd3de59c766399112123db67fc0df6534bc77ef99d96c747c4fadbe05b86a49e3a518f845cfee65d1465af6ac8369e25eedccab3a33a7f5fd5acae94ca163a38de4a95f94e8eab77e7bdbb1ea9d5762d6d82a160bdfa1364af150ea04bb424cdd925fe74e806714e2653b15185ef7ab9bd8dec36f14fe0a4b3ac3c5b051ce31036086e1e389e595ee6be2ff16975db22985220c6d3dae9da9573aa396fb4616dc6b7811aa9c0c9fbec394ccc1b69bb0312feb47e8ab032c8aedb642b5cd07da73eec122c680fd4a8afda87be578b60cbccd76899efdec2e86869825c48586b929c78c58248fcc9319f52c94b3a991a5491ca33e477059d4c164a521f2d7de67c97732ccdce3d2899adaf6f70199e1dccdf7378ccde6c - -COUNT=38 -L = 2400 -KI = 3d03493fa64c61ff84c70537e2459e8be89b54b16a3caedb -IVlen = 64 -IV = ae7d158931c4a21c -FixedInputDataByteLen = 51 -FixedInputData = f9c20cedd2b775dd61414c5103c632dbf6debf4bc7fe0f18d6a8ca2e78d7aa3ef30133286947807762420596015089bd3ff268 -KO = 7170d3fb19bcfb289090a285b5d9d2a169f3444a91b53e1b7295cc0fa7c7bb0af802fd0c310f6a87b652eccbd73cc5eee2e094a762bcc55bb3de132a0782517a2d5a56e123b3d6ae4eee7d43a8a745019684570f8cda24cfa8292113b482ca8595dfabed0d15cbfe10e93ba56c0d296975e7d49cbd640580f223e8ce3903eece3081d6e1f36defad79eef257260d89f43bf5c96f49378aa0c838e81d6cac57efc53f90c5a9e707223f4ec176785caf63abd3075e59c66ffa4c4b2dad09309b1292b3cb165cd06e30bbca07abe737d0298898ec7681a79e5e016fb65cc365b2a6f6d461ea1c40c521d8fca86e3891b0d883ce58685371c298de670383824cf9ae1872c2b45c2e5c1d9f15c198fbfc311dfca939f1d86a0ab0c76c5ad8c5464c5704ef28f49fae377ba0a1c73f - -COUNT=39 -L = 2400 -KI = 7c3548fee68664c6c0e95921049890c8b36b6311846fd334 -IVlen = 64 -IV = 9cfff015c6b24c06 -FixedInputDataByteLen = 51 -FixedInputData = a2fdae63b24f6484934529f687cd82acf5a0335c9e0cc3a259222368e791924a95d25723f4f81bc2d7223f05ce5a821e374422 -KO = 23b2b36ad6427fcec78d4e16af5683e757681b7d457a7116fb8884ca8caccdf9c0c70a24ed743f5bc3c954b7691d0d78a447603e20575576398b3686f9ea8963e5f40b550bb4de7796e49f95503c2f7b861d1b87a1cb9cbf3978804c6634c58aaafc346e4d3638f8c7eeab412310d2a8596f8b464393f5edae0b6f74d4ff4d0a0d4bd2fd955dc1bcb3e90f6fab3693646e92b61f2c8908bcd3deb503bb8841b52077d9991109b06240cba9ba15f30e630fb654314f3796418b8dad676496006059f557f6e4aec4369e6ebc306f23a627489a99634a5bbe577d7d604df0b4198d6457b538759cbcc528f9b9a9bfe0169d12ecf4615f8da135e9638e5a65099a71e905ff475656e4e94192371bcc36facc13b6b77b990b8c093aa84c38f71097847b04463ae5ad2c7519864b31 - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 14eb97a867609ee03631f0a4f95294622c8089f3fd965bce -IVlen = 64 -IV = 9d4182bcf40904cd -FixedInputDataByteLen = 51 -FixedInputData = a6c4f8fe6b19700f0236feaace854f547c36742c3e1512cb3b2828225eb2be0d0c8239b1793fef3808896bee7c371325b0ff0f -KO = 7aaba69687a5d9bddaad1590bb8d905f1086804b4422d9c91904366709b1c73cc9c96402ebdda66936c170b7da5b0180b3a08e739c9221947cf9c8d5664133e8 - -COUNT=1 -L = 512 -KI = 2805ad8c4640d784b9f556cf2a259bad03b2fc5fe142eab5 -IVlen = 64 -IV = 9bcc6d2867d3d8f5 -FixedInputDataByteLen = 51 -FixedInputData = 7f565199cfadb051b9ab88aea8491948aca338ce650241e7b30865c40d0d22724bf8cc7c93aca9d4821078c483413beb06d119 -KO = fb2ae4a0cc76c8c12f9ec76e48bd5a130cba1b23954012d794b75c9841022f243432df7465a908d1c650b79b0362331efea59dc884febd1d5f6b91546dc594d7 - -COUNT=2 -L = 512 -KI = cd4626767c8a65b259373059a2ba36d6edcf848fe838c323 -IVlen = 64 -IV = afe744d12ec1f6e9 -FixedInputDataByteLen = 51 -FixedInputData = f6015f3d56e68edcd2b07d37414df70431f31a4debb5c13ddf45e5885a82c872107bbf621bbe4d908662563464252408d2c0e6 -KO = b22e46734000fb8a9c01b7faf1bd520f9bd692ba76870c0bff02c256e897c98caba288122f164ad504ab3750bef0ed3811dd79c8d3b1ea3bee61802e4cac5a67 - -COUNT=3 -L = 512 -KI = d2015d0e5b0a1ee8182bff3c1fb2f19bb15d98f878505860 -IVlen = 64 -IV = ea6b7153a209c190 -FixedInputDataByteLen = 51 -FixedInputData = bf00d46fc2e3049aab1b6e419e5a777c94bbc465a7868b8e3d957f2fe9068a0a1c671e305af108f1c9b2831daaefe2bd5d216f -KO = 590b0efba4bede5c4261f975cff4bd986d2afb66d900dcf7f64f746efa07592c96f839e49ca06ff66526e0384fcfb5c54f43143bede7685a4e6960f8b2cefcc9 - -COUNT=4 -L = 512 -KI = 8728757497f68067b89738fc1288e4ee939430d7dd1ddebf -IVlen = 64 -IV = a52e6d2b9bad684f -FixedInputDataByteLen = 51 -FixedInputData = 0facde06413ff4a726d522fadac79a9650900d57c32ae302fc9e09f921276754764b8b66b7adf1944cbdf4e20df0ad10b37fda -KO = 9f505459e1d63a1cb1c7c252e5e6385bd46a8ba323ae8354fadd6db0e88f0e4db8f3fe314023f5c7fdfda9840178a5b53d01f1ed4cc0f41a89e3168701c83104 - -COUNT=5 -L = 512 -KI = 477bb4b2534ede30ccec908375dfe147f72e7c69d94043e8 -IVlen = 64 -IV = 4f2631cb2a3f2fd7 -FixedInputDataByteLen = 51 -FixedInputData = 710b3db92a2f7fec48ad2a07565ed2c2ebc12cfb5eee673e266fde924f6d47193f9e72171035168f31f4fcf274e8c4dda80dec -KO = 0551f9f47bcf7b4e068b8d8a9ddc8d66032287f834b1f58d75cbcad265b01527a02f59da1b3243d8b7bdd1e3fbe1fecce682f33b4c3f406e0922cbb4ea37a984 - -COUNT=6 -L = 512 -KI = 44427843bc7100e8429eeb662404899c8737f9ef28075f45 -IVlen = 64 -IV = 484348519df87166 -FixedInputDataByteLen = 51 -FixedInputData = 7531df3b712cfbff159070d3d6454abdba659a142138d223938fe9bb8b17935e2ea0cab2c14940edfafbbb816d0c4aaafef976 -KO = eecec5cda49394ba764c3e29114f0d15a8fa978169329a7b0b1ebf63b0638bb5d4c3e2d6e6052181e6b5441045bf462ac18bb085389a7dcfc7d7700ae136ada1 - -COUNT=7 -L = 512 -KI = 6f1c4d81fb11553b460e9dd9ec21d4d43f1d9199889d2e3e -IVlen = 64 -IV = 26eb845fd8c06aca -FixedInputDataByteLen = 51 -FixedInputData = 7ddf5709fee29fa311f8bbaa32f2b3c85a5945139725ab8d100657709646808d37f27b96e1248c5bedecc33da3d814659ea79f -KO = 28b557ae5d2cf78d0f19b4e090ddf0d5a4c41eff2d3bdc03b9f3935283dcaf412c4909d0f3d346812d1541b58e1cef44237780c203436d386a8e2919d448d555 - -COUNT=8 -L = 512 -KI = 02629d1a80971072943c5cc2b2c2db6dcf79f900ff762c4a -IVlen = 64 -IV = d5a63cbbd3051f36 -FixedInputDataByteLen = 51 -FixedInputData = 4d8b06820bbe3a9a0e01728b582b5d78616a46a5cbaca792142626619aa16999a9fd5e2c666d6778365ed056c0547b5506fab0 -KO = c76e13dae923d56a14b09c97d11d3a05467aa50b7a2ea0140460792a8ec7a2cdb49f373fefd453a62c579b7c6ad50f4abf030cf730dae3ba44677c9df3d5c736 - -COUNT=9 -L = 512 -KI = 7dc70be3c092bf68f9bb5370f31e110abec1d6828374d425 -IVlen = 64 -IV = 8227ae02252b3477 -FixedInputDataByteLen = 51 -FixedInputData = 29e81e5e8da0ec77dbc4d8144a90eac71cf8f5331c67c7feb5f9c459911336c15dbfc98806733399a4d5bb05f8c45b34fe58e5 -KO = 2ec82f3c17df27240ae44db6ac0c24a758642d97757daec92f5115bc3007277a74b4dbdb09f92f10e6369d9d39fcd51ac197e9325552c422225e684aaa9433ad - -COUNT=10 -L = 2048 -KI = 785c854a6d9f11698945828fb431b880efef90f3827ce450 -IVlen = 64 -IV = 959f3c0588d0f0bf -FixedInputDataByteLen = 51 -FixedInputData = 974f1fd4dbc5fcfc1c9d4a16ce274f06afb4b6f8ab461e1140b1a0cac25546c264a5476c11924b034abbdf40e21dd3577f7691 -KO = f90ecb21156cda51f969077bbba7614bd281ee92bc3dc39dd9d75f129edcbae8ac02fefdc6f4e0c0f17053b3bbc150b1e9aaaa2073a22a57fcae1e3b9107df1ca7cb55e22c018c30abbfceaf06bcb387380ccda48d53b2733b67798199161834ae2c4e4f0589ab27a97b4cbf671d228f6dd1e65a6ed7afb918ac197887639ad5c85e8b9b8f8cf8444c7060a815490d18254e62176564f1665f95108ca4093e4ba70f05267be01c19401cbfd9ccb1eb182f6e1ad357d6c259e2f854647d25dd89a401a798eb074a94711801ddfa493c91e68dff204b582362b7a8dd8e232dbd9fc077a7c143284b81ff3dfafc26287ba7ae5f6243439c743a6b19a0f9ecf0491f - -COUNT=11 -L = 2048 -KI = d388c4b56b8d2d969360df595c574433f0e961a1dc6cad9c -IVlen = 64 -IV = 89a25adeec3b8dbe -FixedInputDataByteLen = 51 -FixedInputData = d32bbff6cee6b51266ad98ab73bb33b577f72caf42cf5908c30d7ea18b0408db0c3f53a6273b7c3b0bd25c24ba8b8a986ea051 -KO = 71e6954e7268cf6f663bc34700aa755535a6891c30be22d3653ac8574f9084997fdca83530aed189c5d53309eac84e9ce1a1cf2fb117c1a8c07f652f8e9642b0b2f23280bedac884d77e84e6820c4a521f8a1e711e3bf79943e9f99bfc2ff518d96598cf42fbbb0e3e96570e58de14ab80bc96ae31fd87c1614164c39bac984ce75b9982f539d30f12f841c8931018fd6048e855e403062a6c556f1c658d68c53e0f0e28c11f30b136ee69164c3e0ad92cc62a8b88c9320778251cc1ddbd1319a21761fe62e0cbff6897a724173b210e31c5e65ea7990094f7d603da9c81fdc37e5b663d1d07477bd18e2db572afa57cc16b06616adb8fccc45df0322960fa62 - -COUNT=12 -L = 2048 -KI = 836d9338f15a23fcf78a85648086efa2a9136a3a00b38c5f -IVlen = 64 -IV = 9ffa5ce0b67d3f46 -FixedInputDataByteLen = 51 -FixedInputData = 2b44c752fe70b7589a453dab31921bc2dca8f43e7e9c080d1725c8a9cd1bb79a5a0805bae84b252e18b612c5e0f5d75f5f2b14 -KO = 4ac08fdb8f6e6c6ac674fe19a8ad80a1b5fe74d2730ab2a1860f2b8470be33dc7c19b2c7d1525e130f834b1718c2063a87a3ce1d793a0adfce96572816ba2b0e259ab090605ec2da8a367f8dc9484cd930df7905e6775b4c16d7bdec27bf3eec0d2f9d28b42b734c540ae7a9cb79cd5000de2f3a615f0abc74c1d76e38f6f981d71d2c217e1fe0af724e91fff128a5b23ed4b03fe4f0451dfb2a237de160c1e90dd7e166778d012335e19a77cd613fdce5f880d91e4153d19df26b823a5fe19749cad88a063face9e4e058b311e828e4349d903f9d30a79b27ef1a15e4a419fc028b2910cd38063c3fe97bcc2cf01aab885c57e2e54ed71636118b9e8e2f8a7f - -COUNT=13 -L = 2048 -KI = 3a92aaaadff1c1f584e91c41a3a2187adda7db5975abf94f -IVlen = 64 -IV = 8bca3a06d1000055 -FixedInputDataByteLen = 51 -FixedInputData = ce745a2acd61e290d0e0503ec2e5bf067efc21ec65aeb6e1babbd90a1ea9f13624d6f7b68e82abae6f39603a0fa2b43d2381e5 -KO = 6a4b2c63b362ab2de506c57c251662ef9ee339736524a9cb19e26f77d093ada0d6e69a34c5c79f513da8f2621495da0dca2c262b1bd5263997cd30c4415e0ff236ac9d78a1355f90152476b6bcd66c350d2600b9668225f177daf12ad170102bcc461eba2a5ed1faafca2e5c53e40eaf3866866815ef92e2f24137bb60e4e14064b1de352126fc2b2989a183de87fa3f398c66961784effa6f187e1cd3fc18778ee58a61185489d0f1c8c18478b24db13ba9fc594b0e68000711daef9708a649951ea322c42ed6f3c7fde1d8458e128bd626eab77600466c8da5222704848f8cd4bf29b7c07781edb88fe3243db75da2520120b857045f0418f0a285c6ac4408 - -COUNT=14 -L = 2048 -KI = 0ae213bfa85ccb88f2280efe4bc5972999b27765f5a77235 -IVlen = 64 -IV = eb0164a169dada6e -FixedInputDataByteLen = 51 -FixedInputData = 3416e59030247ac196087f4c9aa6622c22b3ba5754fd7fc9c10cb62211d991eef5353350e92feae19163857d67a4a3e1e68561 -KO = d55cdb7495e0d7df0a0cf9ecd694997f71298b9f4bbdf350552a63f1d0f2db14bb7e07ac6e77d53d7d3b89b6a4a2240f39e5055d93fc6f23e00474a16b9418846d9e0eeff8f1400ea02a6e8adaf0fda5e252dfc83469c244adb0d92caf24704d4fa0e3165fb79d803f1e5122a59497a421cc7b26845dc204947a4945f721fda1ead948bc3b0b5372c9d07460cb50e56c8b5a46b0ecd87629709101b794046945ce2e35c9ad73bc116e818cdd521e1b3841d3020b91ecf38b0bebebc28e4245240d9fb3b16599af59da7affc0b6b895fc91e2f0cbd9e8134aa9cca39f0a699113b9a9e7c5134f5ba8ee7d32b0024bbd7df68be4602c7805490bc5b6386cbb8537 - -COUNT=15 -L = 2048 -KI = 2ddae302abd40a26758be3c62f3ad54f262613089ec0a723 -IVlen = 64 -IV = a43a251f297eddef -FixedInputDataByteLen = 51 -FixedInputData = 9f92fc805c53fcfd7de56a4f496699bc7dfe60255fee756f49956f9041d9ee14079f4e94154608163e720a5cd3d66a149c1632 -KO = c4ccde609d09a5d9eeafc4f0e9e610a18051f2f0b46c59292fb0741c032080bb1d4a080d9db34bfc1ffb5a385f2f6ff0677fdbc99c5ee766b759acce0e5cb563bfe4ca8bbddc5d573e06c384b58368dad021c29caf04131be80ba4a12dbb3e05ffc7a5b7c4eea48e83ab7fa5f560db85950812070b61f2ef02f3cba0371b5487c9c6e5dd529e3c624a07d3938d00d20d3c6d7c36eb1a24d61167b57e066deb810289b12664e6bf644be676ba2f3394fd48e9196dd168cdd293ed43c9ca8a87947232d495f5a0f0ae53fed2dcd3b94cccec8806341cf49132b49eaf61ff40e58b06777fe357635c11c6e61e8931fb74b540194c3ca494c043d60aa20735b253ac - -COUNT=16 -L = 2048 -KI = a8978d06b56f55cd61cf7ea7397c5cffacff15ffe4151a1a -IVlen = 64 -IV = 9a9e17001cf25660 -FixedInputDataByteLen = 51 -FixedInputData = 6a1877afcdb6f9da8d3a94983ac52802e2ff627f71bf0eb63126144e015a7cb48b18c256e0935b85b0f26e10ace53d4e47ee98 -KO = 27eb96cdcdcb6795bfb60417f66b7ec472d6d949e7c672b48caf094fc4a58c13fd4ff80482b56e407f0d1c6e9b9e2cd7559160527e06b07f9db4ec6fd8e7da2b980c9eda40dc93bf790687cb9e19debe3c31d85e0d77f62fd4a7af14acd8e2244d3119a279212c077dd8af945eedd853c756cb8e5cbd631949f80fcd9e1f4786bfababa12034b995e2e1e39050bc0273e2cf91a26475e8c9c87d02ad30b10a5807fcaf838a5f3e1fec4fe6169ef2a1140bbc78c96e800fd4c38ee594be8f5720c115220f724a3b56d749f837913eb52c9a42f4ef99de057cc7a3eadcac348fb12fad7e86a5b95e7a35691f850e7ca499b3df71680e15b6055bb924c27885cdeb - -COUNT=17 -L = 2048 -KI = d24605cca15974fc366b057938627a372ee26e0ba074ef09 -IVlen = 64 -IV = 1c4f21683d03f53d -FixedInputDataByteLen = 51 -FixedInputData = 810b32e8fea518bc155ad459510727fb8dd2ce95bd70659870bd00bf999c122cf90668a33b6d4063a6f8af24e8bce84fa2a659 -KO = 60ccadea7690a421cdaaeea1a4f6a43acd5aa236a65a5bd87d114ac730cbbf30ef23b0359b7a68d9f347c2340529a2120d31415eb424eb0c5ce128e0011146afe18829b5209a29a6ed5cc0109b95a60fd456f4d4220cdfceb36b126baf6a35297bdb87f21d76b1284392a367449b1157d47d50d9fab5d7336902879ebdf5e1aa2b26b1c040bca4188b04a4ede211ba5882561e482bf5227e4fd037dde2a18c380b296653e31ebb755bbee16a82ece4834ecd01498c24bad8bf3ca719515bb6833fdb899a841ebadf0e6ce04af4a4658337c3087e5dcff6b7a5f1181e831e1c84554fa2395918298ff6c02035c4433324f5fccaf72f66c44a31d255fd5a10ad3c - -COUNT=18 -L = 2048 -KI = bfda3791ea04d383760f8ade93f4530d7b9e3adc1f5558c6 -IVlen = 64 -IV = f7d90f27b87d09fb -FixedInputDataByteLen = 51 -FixedInputData = 646e03a5341bb8baff5e4f85c1ad9ab84a94791b69687ddba7a990869eaaf788a35aeaad794211f643828b8e93615a72bca65a -KO = 20aa8f919bf8dc0c43beb2ce95999dc7dc52c185758d1c2c4392980bf135b596352bebfc1e605d17882ce255ae9a74b0ca7177c89d7bb03cd28a9527d769cf9e46abb6557e821cfe9575f2374e2a3c8ba0416fa36136ddfa89e775dd8bf994a4077cc9a83d9eff0cd9462f52bd3ea711047274aa53fba31d41a5f520b7abc89900aac0d0d7ce70c285a24d527c4ab02e983db00d4a3736ad3ff3987bf7caa3fd880b7f5e5687f54d3a8e700405ba6504849e2082b667490d0441add6b22abfd813cb49655c17eab83c0f40d3137eb624265c413ae5271709495d34630bb1dc0893def56967e38e4feb80d285a2ad4a176ce1aae73267254c9689093b8facf0cb - -COUNT=19 -L = 2048 -KI = 2d7d1b8d00604bc2b4b70fdcfa7e3a51bc048af29a65b680 -IVlen = 64 -IV = 09900ea46635e8d9 -FixedInputDataByteLen = 51 -FixedInputData = 4c4c8dd7b253381fbd83ceb62ca21b4e778d8c58d772f8f21a65b87a6560b2adb44a48c125b6bca3ad058f249da3aea3a5c9cd -KO = 99364fa57313ef921b3628b857ad842bd0598cca861d77d4113c1038f09cb01d6b6cfa8070ae5e9f071d68244fbd4a4e1590d06391e000c5633ed2686f47f4ba1e6deb6f6caf63a51e1acd95458e7abea501231c96bed26ffca6d7dccb8e806df94c5f7afa03d0eb26ca485e127033179ffca4d7208de204f55fcd8f6a9b1c74effad8c0581f9670274dfdf532e7ab320f67737385ec5a29787ca817c623a4afd4a6c2fa0e6e8491cc31da8d7d04dc34b35fc9af382cde5867b5007486e6c4b159d8065ac600b733ac22aafce6cdea313dd89768b84e7950180424f603a5c3813d24eed14457f61f501a4e0dbcf692c0c855777b00713ec9d66cb77ddaec25a2 - -COUNT=20 -L = 560 -KI = a4d4b54f0788757b9db3f62fc20eebfdaf1c86a442c81de0 -IVlen = 64 -IV = ffc12fd2ad5afe92 -FixedInputDataByteLen = 51 -FixedInputData = 3a80baf00643ca235408630d3ecd3b2686b28ce1ef95fcaa34c26a3b27755352901a316fd01c0c4b26a19251c846069ce5aba3 -KO = e70e73f4d092de32496ba341b103c8bcb473807274ad67e5ea5a10d30501ae0bdf1638a2f95078d5a4f6ae549cec0f0ec32597afedc8a8c73333d468a3ba7d6c40cb7cbf56da - -COUNT=21 -L = 560 -KI = 46e959c0f88b35f6823ddc0d2e7ea100854605e3fe7fbc75 -IVlen = 64 -IV = 48fcceda2155dcfd -FixedInputDataByteLen = 51 -FixedInputData = 2a3d613b217ef2a81f725751a97fb94ce81610b36c2b66de8af1fc17cd4a18c0a9848b825b34ba9a7f9e184b17b16026207d4c -KO = d6232e81e910952bc5f2ce0c1810801f89c7a626443be5c2366ac88031a74265c3c5e694a2088889e03c8286c97bbdb87490e97450acb5c1f07dc84826c4eed35f5ced2d3d77 - -COUNT=22 -L = 560 -KI = 0ad25666b6ed052f6c0a1ce311cf85bf6efb9f11c2cac054 -IVlen = 64 -IV = c140f05b666c1360 -FixedInputDataByteLen = 51 -FixedInputData = 815cb1e7ce18ce7df31fe343bf74e75c6e7567935816a9fb1ba3afb8837647866850631b413aba1debace1a661de28009067b1 -KO = 50ffc7d29f623c1fe6432b48a24b9233a921e93e725a218aadcea05401edb4a73b22128a12e4a80451eb6334f562dbe2d8c268a737f4a6fb957b2fbde64a9f32d250d53f5638 - -COUNT=23 -L = 560 -KI = f843ba51d4d8d2b4ab210856265b303429ab9bce573cfcfb -IVlen = 64 -IV = 48dc3c7491175a23 -FixedInputDataByteLen = 51 -FixedInputData = d82e13b9b45bf97b5cf0cb44bf59c65292d7db87594635aa04b34614db6ab8743c8c8f189fc5e2c125462f7a29f828cee2dd48 -KO = 0eeaa688298c7d9724ecab86d1198d0c226ea5a08f4d1b4f55e9f2345cafaedf96da92680e468f130a4a77244cf20b5b3aa21f164e7bb1f6f527c566060c82c0a0ddf2df4898 - -COUNT=24 -L = 560 -KI = 93755a4f43181f6f413819676b4a68c87cd0b9ead1efed44 -IVlen = 64 -IV = c626fd6aa8f8f5b3 -FixedInputDataByteLen = 51 -FixedInputData = 9aebb5145ffb7f0007a4a0cf7aed2122b28409094dced4545e7581f7b66c57a6c8b08b31a8905aa560e703dcb7c3c982ae8daf -KO = 1e4a6082031d47fef95783c6726eaba231c5d35bb0109c49074c8778ba5e3d8138197e79859cfe4cc9117b4dcacc6bcd90fd7b6c964f358c63f98c9d18b7e226b038bc756ca0 - -COUNT=25 -L = 560 -KI = 23eb981bcc61951244fb60668bf2cc1838306f513c694534 -IVlen = 64 -IV = bb291a45c37c00a6 -FixedInputDataByteLen = 51 -FixedInputData = c7a929c0032561b901abfa3d76c1b9e99294990c6fa3ef1226546c787afe8729f2d653c8855909864547a0d5befeeff17297a3 -KO = 28f17aabd38f8a8b88dfeb0a1b3375dada5af2990d2a5a3089b0fef5c5576ec8cd25f846b3f199fcd76fc3b2423f6a56508796eaa695c0374f7eebfc04a6933b4adcf8573ab7 - -COUNT=26 -L = 560 -KI = 9245d6abad8db95e2db4e77a42e31682315fb64c2b616974 -IVlen = 64 -IV = e873911fa28a19a1 -FixedInputDataByteLen = 51 -FixedInputData = ab17a681120357c6f3fcc886835d15c798f722a2b4486dcefc26065ac7499b4954c8df30d8f35cc138beaf5d807d2f7fdb7c4b -KO = 72d28bec4cedc333ff237a6349082d0e61064f115b75efcfe9e49be16fcca3c69e9804c523c05eaf586a86ff70aedf913a54791d67ea4d3db42b519fb760f903750ffae6455e - -COUNT=27 -L = 560 -KI = 24cb46785df421d252ffe24e7a724cb30f5c9e57dc2ff6a0 -IVlen = 64 -IV = 867c6f3ac1d95875 -FixedInputDataByteLen = 51 -FixedInputData = a6a44b74e8dbc9fa50ec0adae322c7ce3c2a5890fed5e95f04f3dac7a2cc0de4fd2146d64110650d4632bf24efe91c24b280f3 -KO = 300ba53dd5deb70b0aceac81d4d08e94b0d8a2786e8f15adc505d85671b20a90b3953720ca1ca664cbcad6d0c3e57d77eb4f12db69eb1a1294ab57722ac63e1bcfc8e634f423 - -COUNT=28 -L = 560 -KI = c80224379663cb22fb885e4f36948fd038e6e45eb3ca993b -IVlen = 64 -IV = a9215c0fc389c315 -FixedInputDataByteLen = 51 -FixedInputData = a29dba80362754624a7af65e142526cd92d510cc08801248bff58c8115a3a374d644f93f3fda3a4a5d212886630ca46370aa64 -KO = 65798420990c3198cdfe473d7e4c59c82951e4b717ab49bc26fd6779e6460bf825a2be27d7843e4aaa48a0fe38c3fa46a812d47249e59b8d534d95b8fad2782ad685ea0c3c03 - -COUNT=29 -L = 560 -KI = 10355316762866b1e610772241a197c315b14d5d416ce1b3 -IVlen = 64 -IV = 777be5a4a79e7671 -FixedInputDataByteLen = 51 -FixedInputData = 2f0d6c29f78ac7e17a3a008168daf22ee58ce6d53fa6d8a8765796ccd63dca267679e411faa2ae5b8b1d69933f9fe482b0248f -KO = 994a16b5648708ba761b996fd360895fde72b4d73253d6c9e2fd22e4fa570100d3cf07b60275f1ac4ac591cba61e1b88336b49f1efe2be352c6952f630043c8d9c656a7c1d7e - -COUNT=30 -L = 2400 -KI = b618f0418ae4f9681fc72674184a162d36ef25d289bfab11 -IVlen = 64 -IV = c4a79f50e0e0108d -FixedInputDataByteLen = 51 -FixedInputData = 3fb2ce3028b34b448a979953d565bd42de7c761c1a3f518f38f6ef0896f1217a9407e1966bda7e1ad9d330fc480aaffbbc23b0 -KO = 40978eb1c145f9bfb4f38f8f7ed9ff4f7f7f3bd50287ac43596500c53d9b203b694cd4bcf6c61b097f969893507040fb79fbcc076c5ad2b393271b8b222c43600127a0e1af741f2571bc5fad63f5b9502818c7ecb586883090cf17c60b4686a66e2c60dc158ed392702b051308bbfe949d1c2073229bedfc8b92b940fc216bd4e99fa5e7e69945dfde9b0f1bb73e1d7c99b176a68c442ffacad11feec010d3c59416cb3dd2584203f28490afafb06d3e6ed52c69e7d119bd07f62537b86600cead849dde396f8e85ab4bc4943ec688587df08bc585872351d714b782ea97981e0fa97dcfc67f8cce282a3716db2cdbe33482472be2c38ab483007d825a69072868a7c71643747653f66c5894ca6d7e95c6547f5f643e4b652071e4d683ed19b425bd948ff987330b21474c6b - -COUNT=31 -L = 2400 -KI = d1fec9747e4a4b57c482bfd74458f6d9464871f0b7951446 -IVlen = 64 -IV = 6307c234f6ceed01 -FixedInputDataByteLen = 51 -FixedInputData = 9df8d172219133aacc429e44ce8132b7231ac4cf9f8ba81c95f38114f24010aa0eb7a3625e7b1ed88ce13323999dbf88422105 -KO = 98660d4ffafa0983813b890ea34961fc76a0c2dcc9a2d94c7337656fd09fb8f3bab3723b4dc774d6018445324b3c01095f9480cb5e770e4eda84887ad51395031f9afc56a51ab40ae6a96d6d5e42be21425e7bd6b5232d18cf22a52f6be860a82819a3bd39fba58b685cb928b5c38180019d7f323911452dbc9a99bc174603f81e7be58ee72053f6a72978b4e3a872f0ec32b0acd92e30d42fc6f4c4e77838af94674b9d4de1a94f37ff4397f9f3f4bd4dfd7294e0eeb501eb0e0a3ad3ed3206ed71277099c6d79086b58da9d56980abe18ca65e8168e8977442b9d0e7fc37750b1c9534b8235c6aa6b01069fa0fc7f7cae16874702e3a4efe07b88f463ede51f72580ad2c5f00a8aa906257e91d18fa5505f601de844e4511881733b493f6a0f0dc3c3f851a8640152d27c1 - -COUNT=32 -L = 2400 -KI = 15776091747b9d587b5b65d29a6a71c1959cc69394948efb -IVlen = 64 -IV = de027d5ace103efe -FixedInputDataByteLen = 51 -FixedInputData = 17db6dab01e4e6b714baa085eef8115d18f1734c441b09d21f07bbfd99490b4ed3d538c2134985a93554025d8d211b6f3d6edd -KO = 5f0e2fdcd337ca611c232bab803d8d2034a5122f5353cbb7728176596389f94a38c9de07b82bb5d12c7e09fa792d0128644bcf433ebddaa1d0c3133f29929472871c4b30b42adb2b66eeb5b61f1885a0028aaf3ba167502b354ad3d9d3e6544fe503874fb8981b44593292d762d865632a8739a7b67f767d38b67365574c1908e283b15606c7478c80edd604c371bfcb76da8e83570b25f9322c0bce069dc853df37719bf0099a0a68f9c4d0dfe11438702abb869be71ad94532ca06ed47a02be300f42cb69564ed181d4d24fea1a56c8b368b727b86055690dfefcb5e821fdaa17e69fabc31e135d31484e2ad66293274d65c3847d95ed98d1618edebd18d9f7a6bdded621a51c29d790ec7c309cd349b482fe4e308ea29383ac08e5a826c5ad006d4edcb47bd0ffd69a4fa - -COUNT=33 -L = 2400 -KI = 951c863fa44128c714ca3dd9007dc66464342ca1f6a91f6d -IVlen = 64 -IV = 6f3adc9b7c8b0dd8 -FixedInputDataByteLen = 51 -FixedInputData = 20d6de63d2917e47a1de5e99e85809e9fc200d69e74663adcc8b9cf09ca0cc1c750e5300e73dff763ceb5290e2fb18f0214fcb -KO = af19d433b7dc85a5473b7f269ed7fecf23e601eed8d1dcc9b4c6a06781a6151f260c7c9c4bcbfc25b911fbd555e8cbf1ae454604e57fcb0807e16fbb6d78cedf5930e1721fab1bb87af6c2395a751ba564bfafa18a964e9ed0e2af634c50d5485b8354407acd13084fcd71994bc356056962b3fe853d5769b1d62357746602805ac93bdded5db2e344be1fa14bf9f16960bf97e9b9e8c9d6b3d16e150cb64bbf8630cd49edb110b8497e1fc3bc488907cfcd4e40ca1b4bf0f82559840125cf2fb298a4a272d6ed23c581fa6cf4383d863a289b98a3f25114049c53538caa6622d713805a1c4cbdaa833a9f025976e36a96c56fae984634eaa22949cc4f235cf10bf95f1ee00d839bd56ba554495cf7aaa81f4edea86b4ce8852e082e88aeaab2351e124fc03c728acd18e2d7 - -COUNT=34 -L = 2400 -KI = d8d771b2b82fd949b8ed270e5fa338f54f3d5d2de249b9b9 -IVlen = 64 -IV = 4f35c8dbb7ab3265 -FixedInputDataByteLen = 51 -FixedInputData = a06d21af5f20ae44b60fc6ca4de6c26ffda3eded1cd1cacc7d7f0d063dd0b75e285aa324953d0218254534196b57090460e084 -KO = 66fd2b745435b3e0a283727ecef450b3a14382b3ead2560f91f83d2ad354de3b74f57c3bfb6bcaacd5ab8d90a9621096fff6a7f81bc65af292d97896026b47a616e0b315c3029d3e5ee43f557674ef7056321c9be69c72e71750d2f8e9a267924e4cfb4f65a33eb3943ab339fd1589b1662f541101c1708934ce9614e377c5b28feebc7df4691918baecb1c041f871fb15d0786f86b056d43f9966d7f7651ccd895b13e665e42f2f35586556807e43916eef5731d18136848e7352e95add527e0ae3dd850bf47e500d6ec14fb04d90b56da12ef09968ee8d461a350d4160a75c3a9ee7288cf535e44f83079c6c561533e985acf7eee5dc5711b723ad08a1f98679f3226d9ba2d1730746d2122b1347c390d9c1b7250ce2aa224b91a9d55e7736de17854272394e0b59a52b4e - -COUNT=35 -L = 2400 -KI = 8f0fb75851c0dfd9d0abb1f6941940910d90221e63ab58a0 -IVlen = 64 -IV = 2065a3718fe1ca6e -FixedInputDataByteLen = 51 -FixedInputData = cdc172839709334804d7f168211ea979b33a7c52c6f10fa655a646943141d9ac0de00052de35a8ea1039ee66445dcb53a32591 -KO = b244adeb6858061af0f06e7c0d8a3f0c9c07097eaaf4038b1fc3f48ec826b362bf07ff4aad7d6366cffd6bbc2da152210c7ef1604304f24a1a43ae4f9844e000c870e7b879a82da01b689a6668066dd18a73cbbfe732e6fe28d53bcde7139b27494c335532c4706c72b3087bcf23c8a6459d2d52ec3ca2b7c64f7f11a4bc5269d82729ffa3e09f2e1be9e4880cf8d8771197c505f2616b3e614257b621d748cd45c34b8f69ea71e2a9f68b9cccb8ba89a2f347d992a1c5b9f8d677963ba40aca4ee9993a22b058033c9de99350306337c82d7a15b950c41da7447a2df57e1621146187263dea9f4cdf807d6d64528d82307e2cad8b6b60c1c6ab753830389c7816e84b85fb38c06b40c231b323a1e45cb52099e7c59df2a95d647f0a5d0a10a8e8bbaeca9eebb30fe4ceab50 - -COUNT=36 -L = 2400 -KI = 95b734604859cfdb9107ebcb78059ccaa0f48ffcd7a9def8 -IVlen = 64 -IV = 842d2804addfb8c5 -FixedInputDataByteLen = 51 -FixedInputData = ef307f76ee238fa148c0ae7ffd5d90fbc4dd26a3e1c7cd5dcc4c5b5e8ad0b0f2a073ae7726d79d217083ec8ca0159c772b2c18 -KO = 1a8368badea270afe3bade7b350a8193a743405abf4e5c1bb1abc4b2284b9b064b3bd0e2cf134d173d922bcf458fe87e645fbe668f2319d63178fa6ff04139d8d70221482761b8b7c4a5d4f212d23ff0192d5b33a50cfe97b4b8306df0b6f5ffed42324dbc394f4adc35c2ea75156498c27d289bd2bea92fe46534b473afb9fb9197660cbcfed5583ce0fd6be1a8f5002966d3b308ed40ed728f0f4b6e7d1eef057ac2e0d76a3cb554b61c22c3f21d9783a71579bf16b792be16eff68c43fbb861d713027a088c887857cf4927c44879c67024248fc8e0f2e2ab64990ba53d555cee516d26b17697b476ea090da12a6dd510afd42cab70e7106e548715d23fafeb05cbd6e98d314a5d201f2088d8dc802701764982eb4225c4d52d2e8e35a382dfac5a174a3d639ed3bfefb2 - -COUNT=37 -L = 2400 -KI = 23407056c1e8461542fe3dad037de05a26a0ebf60d8ff5b6 -IVlen = 64 -IV = 83cab0f1f5131937 -FixedInputDataByteLen = 51 -FixedInputData = ce9ba14aa6b015397e377a8aefa9283dfa3b0d92e96c6e89f7debfaa1d36b7e8a74cf742c8b8377db356b0441dd4903b2b1f48 -KO = 18f9dfd0dc107f9499fea6827197aaf43d9b37ed223930d545eaa1b6c48bbe3f8dfdfaa3b5fc3d801d70d60b4fc7a093338c18bdad7f296d1e6db5a12e61c13ed0528e7b15eb1303c90f4ccc57243cb523888a9b44d049a8271b4028f0f7b86aefbc60bf9abc753f6f97fda5e18773f654b308ef91e58894595f22e748413f3b7b9af5d3a88a14c53f90c3f39e7afed37674f49662f34aadfd3f57294f68be304bc1f973f6cd3dbda0d3b1e4f02ab0aa7d81d60038f6f34ba7745159b8eec7e5b88e6b69051f4e46b39871632e84b76f8e36f1d13ea1bf6cab690d4cd87026b81bf9ec800c127204f5cfc08aa298e2604dce9321734d871ab4322b3ebb23f7390bdb362cde2fdcbc55f2c07d2b3378931e863f46f308f63c09d467b97b5af295a583d7d00144a3f93aa22ae8 - -COUNT=38 -L = 2400 -KI = cca265999ab35a41d487efcd56a500b86f6d30d743f03f68 -IVlen = 64 -IV = 54c6e95927937736 -FixedInputDataByteLen = 51 -FixedInputData = fe6d4b748937d1d07b68810bd903fb90e80893acc25a95cecc4f553c86d8bed6ddcbebe8bdba2038aad4454e2d231b8e99d150 -KO = 27f4b05369d26645009834841c866a7e0f2c78b4f869af283ce6850f816be36b3c9cd4fda0bf58431dd14b753580d87a7e0fe64dbbd11dbb7949fa85c77fa0b469c2a198c9ca5a822d5402e1576b25cf819ee4b82104bee871962f61a0ed551f29c4ecf73f8faf99d254aa77c69f700e71ae98f1321ddda2a12156fc6a10069897ec577733b9a9b01a7cc6a73f349fbfd31393fa49f7d76ad33a70bb381df41c024ad5eb166de11a24475e76c5c7316a9c0713ef9111134fd90ba074574a953a475e6bb52a53c2dd6b6a2de3e301553bd8033e348a9f66f5d5cea92839760982646c32b35dcb352b5a63dbf2157735faec35dd9b3bf01bc3048564d72f05e05b63609722e3ea08cfb46fe8dceea51fb75d991e8ee191c8c4c2e3a275f9f88f3c5c6c026ddd628fd8fb32d4da - -COUNT=39 -L = 2400 -KI = 6e12cfdd41025f98a3687b0e86f61e77f2668256f591943a -IVlen = 64 -IV = ade766a771c9f560 -FixedInputDataByteLen = 51 -FixedInputData = 8d2f71b6c9d95c85223d5b6649f18bc6b5ac09f32716564f815368486e53c9ce8b817b091fdad88d3cba1c7099f48e8ce846b8 -KO = 4939fe7349132292c7fb385530e9210de193a2beb32df603ead0ef97e0b79e5874a19ef451284f97d04fe2b14e8c5229f8800a07d7537f31cfd07b48f48ff293716e28d9f8bf2ee5360e6a87420dc23a7f423b3c923c948d13d0e816df3d1d3dcd3090dcd09c4a3448fc29f9937aadec14ee81574b2724c3570051c8dbca8ad64ddeae5ed9ae62644636b03891b8ca0ca035ecba8f38fe37576b8eb8377e12aea5dd7aacced9972a3791e91f776cc5c2fe687bbe5445e6dd0f1e86038e6fd151c2a269da2be93872919665941502c89bc7232d08be7cdd6b1b6ccca56515f530b57d4df1abcf05d0122d42900e489b865568c37b05481887c6a8de09858ebadcf7ad5e75ff28edf90cb1722a2765173d6297b579a5eff179b9d43e0f1389d140577acd935d05e10cd02b135c - -[PRF=CMAC_TDES3] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 5a5d9ec7a479c51a873bdc6839c743a23fd645f0def7f377 -IVlen = 64 -IV = 9630c65fc08e0737 -FixedInputDataByteLen = 51 -FixedInputData = 98c638a3131dcc9c3b185af9de6ccfd46c4bbc09263935c17ad8347b80d6d4ef8726492bb2a8b42421fde1be9a871066b4ee5e -KO = 743dd785758563f296e2da71139c2cea1cd65d23d5c515e3faa9e347d973f45b613f88695747fa236aba323696427e976020c27d1872d90267026f4a83fb2016 - -COUNT=1 -L = 512 -KI = 2e12106de06f37d6ef4b3e94d747106c2a86e260ac386ba3 -IVlen = 64 -IV = 0f6f98c45c158a39 -FixedInputDataByteLen = 51 -FixedInputData = bb2f95ae2efb230e2761e3a34f7d5df3d96e949f47d8ec326b0cf94abe81b73b433f1fe7e78670ddd2cf60fa2fe6f072830fd7 -KO = d5b9662fea70c5239b06a5af6b9b96d44e3be16813c62ba8730435bc1b0924f43e67dddc1ef3b9a4b1ad94d276e0484e286900344a79d8531cfda37c069ae094 - -COUNT=2 -L = 512 -KI = 2db9628fad5454f9064225c7fceceb84dfaaad295b172f02 -IVlen = 64 -IV = 843ee93a76c041a8 -FixedInputDataByteLen = 51 -FixedInputData = 9e46a77fb71c62c09e3b21f50b9177042886ebca9d9dec90829a7a92eb3b6b4a9956edb8318c049beda6c039900b5d20fc8217 -KO = 447037dca9f0d8046a70c8a3f134f11cb05cb953ba6bf3f938e61f7caeee35d400afefa79cd48602e6cb0cbe33675417d9d42a9cd7f7f806dac7035fc4386ac2 - -COUNT=3 -L = 512 -KI = a35563594191299c7edf92b6b2061bbc8942c2b9c41e9cae -IVlen = 64 -IV = 19fc6dcbfbed051e -FixedInputDataByteLen = 51 -FixedInputData = b8e09b68343949bee9aadafaf5a27305a5328106bafd9fc7be600eb4ca00458cb0ae113801ab807788010fe06c2f00b36fa7d5 -KO = c329653c545c0dea9572b4cc622b8b6ba1bc5f41c69da2c98240a948fccfb95bb4e580249e151744e763763ca8319aed48870926b2507edae20c07eed2655440 - -COUNT=4 -L = 512 -KI = ee2d712bfbd8094c9eb5ca865a872e0bf8156ae966b6d68e -IVlen = 64 -IV = e1447e21125965f4 -FixedInputDataByteLen = 51 -FixedInputData = 73353a46db7e57fd272651559ece5249b82dea21a0dff8cfd168ef6346e8b5b7785c5892bef640fd00ab7dfc6630dfce4943ee -KO = feb9d12b6d3da82ea676bc61332f9542c58bbae84db164cdfe06f7f8d9dfd93f66cf7425f6f07a965972596712db5108da68f4942470f2b7fc01a2de703d9ea9 - -COUNT=5 -L = 512 -KI = 0e7e9e30d6a7d5175b65ebce44b1d33f5246ddc0b2a53ac2 -IVlen = 64 -IV = 8b21f8782e13ff0c -FixedInputDataByteLen = 51 -FixedInputData = 8dd855b0c7bb808a1cac33263b8628ad8966b7b7cec340a42aa79c230c15e7fa141ccefe6731e29dd3d529d713da53668b66b9 -KO = cfa417a32f57a9b261725a37453b64ba1e72fae98b182613e080b595c28ec19d17b0171321d1c1d53669bcdfb7b538c157b230bfa0627a5e7f5815c0532edd97 - -COUNT=6 -L = 512 -KI = 662105f330f2bae8f015f2d8e2780d8094f4eb808c5c9523 -IVlen = 64 -IV = 7d72bb00fc56934c -FixedInputDataByteLen = 51 -FixedInputData = 0b6c83848d7a37db67f781614f71dfc7998a801aeb8804c150f951ddf81a6cd343f91979858859e8a9f47e3a9680606c5ebb4d -KO = 1d986afb9bb6b532f964c05b760b963db79e58974e3d99c90c88d37a187b402ef6b3e1134c9dbbfb6886de06c86e921c3e1f0a60319f01bcd4e377fdf5cf61aa - -COUNT=7 -L = 512 -KI = c1a854c33e8c0d223e009b83a56c74ceb2930b66ddb5c2d4 -IVlen = 64 -IV = 6186585f67dec69a -FixedInputDataByteLen = 51 -FixedInputData = 17d791e1193cb4bce4bb7bcf6c6c0b12e7d86d28266cbfde5101aa36d64560c3016d43ccce1eef4cd5e6b2b7634e63838f8b2d -KO = 892173e1daf7ccdfd4552cdf41bfa779d4b79454360858f701fba8440ae25966d69416dbb06642c71290a1c802cff1c73f461aadb1d80f9fa11da300e6d9e10c - -COUNT=8 -L = 512 -KI = f5e0c69a8f4791cddb802257299066bf974b551d40ee925f -IVlen = 64 -IV = 1cd0bdb5c5c01a7f -FixedInputDataByteLen = 51 -FixedInputData = dee1d97e2582e830a56840a79352c43a5d9791f4fe1c3c9232fd15edb037756b22269ddc65fc780606a1d3d21a4cf3f698b55c -KO = 8082e47f89562e5293cda2f41d5f9efb66e125f1cfea119456cd98d251d7c0686ba429eff7d29e538900f11ecf4de87143fc0f8e373d8e121aecf14c187777f9 - -COUNT=9 -L = 512 -KI = c76f24e32aa17ea807eb5e290508493eaeb638e0adaa8b4d -IVlen = 64 -IV = 728390881c65d437 -FixedInputDataByteLen = 51 -FixedInputData = 35fa4ce9cc27f738eb8119e4aba491798231c2b4995a26b4d9192cd20132ba05aab87b8af1fb0889baa3d5d32e12efe9be8ca5 -KO = 984b5b9fa76f22047da0c5452a5618e4ec110483bd86ef352595aaae2890b1473dd6236acdbe57a25e1c6cf4d5a712fd11bbe5526d1b4141711b681e4deeb702 - -COUNT=10 -L = 2048 -KI = d9b88850e97616a7ba7e19f3947d2791e7a29370cbd7013b -IVlen = 64 -IV = f950dc03fedbd52b -FixedInputDataByteLen = 51 -FixedInputData = 26bdda4f3b4dfad655341e727df7e71f3baa0c5919fe2789ff0b417d252dc4b859776ac3b77a2638611b06fc45d80d3aee02d7 -KO = 9bf824b6f009a32190f9c5d9312441da06150d1b3f0f4ed9a4984bdb5452e7ea7f781e8bed93a1b1884e1fcc3d0882bb4ddede71a56e5497f3e5a4bbf96e8422fd8216e50dfb4234fc7f5b2fb70460481a182a920d7d955f7e0209434971f9e169a4495ceaf6fbba5f22b61b1741c393b4e5435b7b5235bb0e6f5d4013406348250b243c83e6063c7102461e65220400ae9a62b2e885759c6659cd15fed38c2cf8a9d13ecd95f51b0ce0f9194295608986fbc50f2195bf019a9bf4d2777ec38e06768ed8ce2a67564f8bfb53a9fa44c2a9ea4879df1101a458447ba1eeaa4c0046d6390e43d2f60fab2c2bff39a90913608334bd3db8f8b839682573122f4fa8 - -COUNT=11 -L = 2048 -KI = 3f2d437736983b19532a093bd2c5c9d7662047301f1370b5 -IVlen = 64 -IV = 32992007fa38e829 -FixedInputDataByteLen = 51 -FixedInputData = dfe2bece2cbe7c54bb2e58e623acd90e47eb8606132598943af7dfca600df072bb7f7a3ab955f7f7af3dcfae66b6b5dcdb11a9 -KO = 6257fe614080fd5f239134db528dc80eb79276ebf4a2b358982cb19df034ee549adbb7661238dac3c75d5a26942efd041f3bf7ce0f12369697b3e091633beb2d927d07ae01ac8e47d97eb81ae8668b6fbd91a9e8753b1b356f622e42a6ad5fa11c425508eb9257a7eb938cf85a476969da70f0a1349732a214bac029482477623b5f8247db02f06a50ba43c7805408d3e3e4286883f5d51c13185488c871a2f2dcd6897cf9d72918d7b9cfba749b26db651a5ac725ddddb840b0a251658943779d170dee75b852d07e81a3ee47cce962568e6dae123b5a71fd9da0b632cf44170c691e768545560fd62b87ce19c138b65351eafb0b680c1d4ce8a7d4374e450f - -COUNT=12 -L = 2048 -KI = bc54c2dec70499d30c5b70b56f30cd19581ba0cc52fe3ad5 -IVlen = 64 -IV = f82eda46d3920ead -FixedInputDataByteLen = 51 -FixedInputData = 787e118e44622110e973f4aedb0dd2ee7cc8c851bf1b1794460525f7d914de86400991ab8229fd095fbcfb5df8b204f9472c27 -KO = 010a4c32afa019f87222edf93685d020954fbaedabda9895449e1c6852dfc87a9d9b37cd116bf30d0e9c403f5f03e4439db18f20777c24adca9a3a4a263b898e6c07edcfde93a3e49a1964c50cd8b7f2a8ee92edd113ac837659097b7f60d728874b8a20b542269b16b1b3be8e7d992747693f8dfc9e04c3ea9b709d3189da52a81dfed56ff01c2a522fa8cdd5cec6c4ed24fef1c84c2a83c1522d81d0012048bb85c95effed3a7c4f1daca2ea3c0308827814d4a91b187de071caae23afe354d7bed649e107c7c4380b9517802493cd4bcdc8c1a713ad00e453ee689ac1926737a7831de7c211c803ab78b6000a781635bb228fe65e0a6249167ef11835d7f6 - -COUNT=13 -L = 2048 -KI = 84a358c88264c54babc6c13a48681607206e47cdf2282187 -IVlen = 64 -IV = f17cce23f7d9676c -FixedInputDataByteLen = 51 -FixedInputData = 743a1bfc1ef142997ede2f58dbafa38c02a2fd3cf008bcdae54cd0b88e8175340c100cefb55451d75f92b4519f841626c8c6fa -KO = f3e96646c50e934f67d3b6cabdf52031f60a91d1d51f425b697d1176dcd555dd4d2164c000c9da6294ba54092cc21345d26e4342bfe2e4d3459a353f0e3151259d43675e85cd986c97063bf4089fa4622a1552e026e8a6e040d116954ff615445987ef4a40727a4977f4076121e329a792559c1392410e46f5d3c70a711b547b91d4bc973134fb9b4d0d44b88baef0e89d6336fe5606b0c9c27eb070f9ee751b380fbd8dcecfac8b6a08fdbd6cf00a77bef8ac72bd7fbce68ea3c531337303cb3ea2b91290b924c8d4dbda570188e878495ae216f3bb64ca7903e9f0c04ee44cf33f36708ae3dd01402237cf11f74b2be19e0c70aa63c94ebf90aac7dbc031fc - -COUNT=14 -L = 2048 -KI = 3a7fe695e97d22ac045349b741feb3f8ce56fbab1e6b0810 -IVlen = 64 -IV = 04d8e71f668f22b5 -FixedInputDataByteLen = 51 -FixedInputData = 8bedc1ba178f1bf695902cbb8adda963531e7d37f00f0ecfad07c5c424efdc4a6eadfbbd96097fc6fff4ef5f8be82ef2ae0340 -KO = 96f5d9b379b4527295ea5a96d0b6d648d3e05e790d6017c6cc3af6e3754fb059bfe714636d5bc3defffe48d35cac3d7fd42320c59705aa48ef3c55b01731040247c3e403f18e1bdb4a8657a7b01a18af1ac0c9b83f7226b4fc2995123843d64a81be8d542b99253a683ad515dc9dea8969e0670b590149cd00f8d5742893b047c6505da606169d67789deb7d8583f8c8e050f9cd247f6e7109f117e7385ef0cf6ae8ab09c623e41907a6b5aa818de59fb6dabd305da666968c17149abde57dd827f872f01b30965bcd29f699d004482683be995826e9cb2097dd46c2878588c8a70d764cda53507c6f3bad2dcc5e3324ce0a64381709cba44c0624c8f12320ed - -COUNT=15 -L = 2048 -KI = 9479cc9b3331dac51bb9b892aee7ce13b7e74d013813671f -IVlen = 64 -IV = bf8405b50bf16589 -FixedInputDataByteLen = 51 -FixedInputData = 3ec837c85bd9eb361a647f3dbd2f5a4b6e3e9253f42891b327f93b4dd0ca337eed80ac18fc5e8d2ff0eb4f90ccb77ba143e415 -KO = a640e0b46faae4f3c1045d80ccb16d681f5bc8b41feb463e771ee02496079e23cc3e310f9d05bb83edebdb4cd1bc1365472d528b07204d1a71971f20fcd15d65f8b0f757cc2ee46128b5a7173f6853a6b4ce748fd0ebea6ab082cd98ea9955c18a3b1074dad3a2ce950cc59e9f65b54a61a45405e89e4fb74a48b0f04a0dd2635d57b261a9a5ff481096391d36acb46477ba7baaa1be7ae34146f5dcf0181d0802d28501a8806eff47d4452799e4756c1565ece3381d1954f1937bc8383862df6c19ddb27bead33291fd8a93290783cb690d1c41003fb045821ce3654ea24da0896bd21b5cad317be450c7e48c7257701f0fb2b126ef91d56a6be08fc95d5ce1 - -COUNT=16 -L = 2048 -KI = a151bf33d289660cddad3bbcee862da746edb4214b4e5753 -IVlen = 64 -IV = d593a49517e7dfb0 -FixedInputDataByteLen = 51 -FixedInputData = 33e292b3f6fb729b6be721e858f1eaf1afbbc1fa0bdb7e8cd6fb234cfab7dee94a63ff84b77d6d4f483eec7f5b21089376f561 -KO = bd6d99c801335ec7fdb2e59a6bc468e53033b64b5c122928c817e6e86700c379c13b11086f26452976fda30bded70710bc1df7093d30c1ccf271919ba6c13f5ccac072f984e48e13c21b4f9d035fa6a53bcce2ee93f23e667fc0fbee4757f8d0ce21b2565f8a29cb4fb61492ee9ea573cb8e94d6db4a36811ad831451c376bc6ed1124d2896ace46e587e7bf142e91e1202b5e4d75f4eb7087721c4b227219c41a2526969ee98c3b2f726a851adb3db1969fcd41fcc732f85ccfe1a71db49dc5778df2c577b88f8ccf6b5f222db4f8b3a19c4479ee1d550b7244d1a8573eacac8ddaa6333fdcf2b15e153fd687740ef02cfbe1fe5d52df518f1449b56981ba33 - -COUNT=17 -L = 2048 -KI = 9a9f15520e948afaed116660835f928cd94afbcbc617de41 -IVlen = 64 -IV = 1dea603df72ca54b -FixedInputDataByteLen = 51 -FixedInputData = b3e094a502d5e0470ca9bb93be86f8228f251cd6ec15ea822d636d87838918fb9115307c5bab71157546f7422dca49561a7e22 -KO = 313424ea313cfe74776fbf6849bdfd0573333d7322b2e9af1ac1c89f4c56b4ec55b353040e16b18b718febbc9b777d42b1631a0c1463319f876e5f31d0096a1d6161c22ae583d694f126097d15ad3c20e50a0fe46d5bb9b24aae5f8d00adae4bf14d22437fad404ef3e49360e5f242b78a2d31e2e15899d2aa0efdbd9024307f21b2c7f640b8ea33704051ca70c8320b51cc70142b494ac41ae9337e00d1f8fdcc4ad6c06249b4af2a3291b73e17289b2504cfa5714cd67eb77b3a4a1e262477d0588be09d335e04c2f93e1cd5c5f695b2d127889f116cfe5d137daf4fc6704a097fe1de50f320efc3a57399e1a368f6d5016a0d40ce9f848d6ee583d0e4cb23 - -COUNT=18 -L = 2048 -KI = 65bb9a6e801216f89ce4b30cbc9aa957e3db362467e7024e -IVlen = 64 -IV = 7952c976687cbbc6 -FixedInputDataByteLen = 51 -FixedInputData = 47cba3b3864fb4e5983e761584a3b8c1997f065164276eed84b59fb1a4b2e471b9ff054364ffbcb3520c56cd730eb735b64e7e -KO = e8d2f40acade4da34460cfd76b456ddb39e15a3425a8dd64ed8c42ae2a78851a84e624f30a8a23dd468b2c1ff7b22d7053808b4be2bb8b69dfebb5d976566bc5309f46be62ef4e0eee7c296f4a96c79191cb2f93983e463feb2571d3e7b20e9194435468de167dcb70aaaa499b015d53c2472172d8ced250d91e843206237888d4822ed0bf71fdc48c24cde1290ccdc217f7865ba8135c02a03bcb8581b1261a10f7dce43664810e3be5efdbf8b1eb27ca88abfecd1a11c23761be0bb3333446117aeabd7c2fa94d4c58d7237eab2ede0c5b08c958b20cf4de44f650b00937d5f7e188da8774d109670d3400e354a9fb3f5b8055f1ec36135ac58607466da3f3 - -COUNT=19 -L = 2048 -KI = 9843856bc89d1b48a653c7d2518ce5e0f8ba22e55150249c -IVlen = 64 -IV = e62ce15a90687a24 -FixedInputDataByteLen = 51 -FixedInputData = 6a81303cfe4de67749680353f2cb370fc30eeb50bc6f28e7187e64f5892bb853bca4309546c48c1505e4f00634044f525bb5fb -KO = 92ef4bd4afab56390cf5d36a2fff55d965f1cccb2f325b631e160b6954d2b793b7a3991946027f0079a1cdabe4e61b8b438afc2f9bc19f1867b618a5368ac6fe4a310b3b227fdd6bc94305f1819940883bb01a3a5dec3b5cda4733b84465db22dd97ee6e1c4fc13ec0ab1d068be150e8d34857566bfa2746b5fb23a741d92e05c9d375e7d614aa2cd6f45280171799dee68fc45383a3e9257d8ea6bf87b3294b9fb55a0fe852a246e2b39eafce6daaca168bacc88e0698728e12b38524626a3a071f93af0800c424b0813ee5085fa01a72b0c0466948a1416b4dfd38bd9dee2132e8221cd777930fd1d67603d12d5d13e9d3e21ba1e06f456fb65c99027796de - -COUNT=20 -L = 560 -KI = 5bc26bad92ccdc6deca98cbf64fc1294de077091ec91b3c6 -IVlen = 64 -IV = 8e3b136422eaf65e -FixedInputDataByteLen = 51 -FixedInputData = 405526e19841aaf928870874685e8762bcd982241d9a633cc14b9644a99b2871992b9507b7a9640472383f25c1e04bf32a6f22 -KO = bc8cadbba6e506d15feaf45a493c9428b83254ab48a2c43ad69e617a2a7b7e1b36e31c22d815e70dee5bda91353efcab5c81f618f12392f43cde536bdbb6edb5789af7e41062 - -COUNT=21 -L = 560 -KI = 4c1e81afe17d0913c97d525cf9d935db4068f49d1da5da52 -IVlen = 64 -IV = 7c4dbc261d38266e -FixedInputDataByteLen = 51 -FixedInputData = bf8eabe366ae4b087e3efc3dc729bafab94e1b280aa22e2326d3fb699aad3b299c2ef9e42c7469d3aba276775892d85c09ce34 -KO = ebb1ffc3dbdfaf67b0b66d97b8d802a8d51afded86820072e6e3aba9565f918d21f68c610e45cc0eaee963f8a365ba67ba67487e604d49c5992906e2d2fe8d29f67d25018d02 - -COUNT=22 -L = 560 -KI = e06d3742beeac2241991a59f82ee4d38e7da951960ebfc1a -IVlen = 64 -IV = fbbf6133e170b27f -FixedInputDataByteLen = 51 -FixedInputData = b619eb35fff4ba5a148c4461091dee3ea7bfb1a086db8e366e35a3b894968cdd8466f154044e342a4dd22e1c2d737a1733cf54 -KO = 916638f93aed8eb5846c2458a94a90691da9a208dfb60985d9e3a2f7eeae34671877f084b6f002c2abfffcb52790fe6b39563143f0bb69a6434b36a1dbee7348fa7073615b22 - -COUNT=23 -L = 560 -KI = d2d8e1ef156fc20bf0e58a958353495281250861a70eb363 -IVlen = 64 -IV = 9bd945d324f5467f -FixedInputDataByteLen = 51 -FixedInputData = f0ace795dd0b127345aaa1775124c5930f00e3570b1642747c5f2532f8d2d4874428e5855b2d7b6f65cd90faac9a6ce4e179c3 -KO = 1b532733d416b27bce7578cb5d30623f731179c9115d75cb9abe190cbcd16d7a4892fff982fdf27de103c385be945b18f7c4bbb4d841a31abcb174ed25b0d6c9025874b92388 - -COUNT=24 -L = 560 -KI = bbfbc4c3e389e85a98fdc4a42598a7af445c32d8db485ebe -IVlen = 64 -IV = e08ac997b22d8197 -FixedInputDataByteLen = 51 -FixedInputData = 81868fb9ec26e4fc8759aa3909ce73115799e0de69c9b50fc34853a8cf01dd068e8e8f198ed7ff67188752379729c10428a30b -KO = b44e01455826dd55cbc87d5f9a37a27d9e86f9819bb1c612e170148f9894d146239d40bf6cf2e7508bb6b97541792aae7d248858cfb0eba48cc3b7da132d8b4b225a931a8937 - -COUNT=25 -L = 560 -KI = 6ed82fb0cf9fa54d0305500a0b34d53d026d2051377ec6b0 -IVlen = 64 -IV = b8cb0fb1bda9d872 -FixedInputDataByteLen = 51 -FixedInputData = 0935e56039c181e84fae996e3a269ccc8db5198d5f662ab053f5dea6fb0934f268342700e24244176c6e9b99699bf13b826576 -KO = 2c1439a67c62736c720f42dd9677024a180b104bf8bf27d4a802c2b319bce2593c4afc0719904585f691633821eafdf27fa63efbf1c85a1e7eb40c2d0285508d77bec69f6c87 - -COUNT=26 -L = 560 -KI = d7ef4442a5daeeb37b72b089e4e0eced4819525e7068d15c -IVlen = 64 -IV = 2111e3720a889f66 -FixedInputDataByteLen = 51 -FixedInputData = 308c0506a90ac67a8171011c30d66d1f0894c122e17db1b1a814e103090f5a5a9fa9750c46526aac848bc0a2c41ee64ca397bc -KO = 9adae629c307eae19552263759897963a6e8388285b05c6f86d4f7f368701e6dc10643162adc55d0f4db4605045aa2c861fe7f048d8aeea331b9f1f50901c2e2b3e1e2743af0 - -COUNT=27 -L = 560 -KI = 7d3efbe74ab1ad428ef5116b83790ef10f24fae3ffd229a6 -IVlen = 64 -IV = fb0603bed70ec963 -FixedInputDataByteLen = 51 -FixedInputData = 15a46d33eb973847e7e287a172180e310368c84480217073b430f7ae2dee39fbd03d2f99392ed9a6fc02d021b9e500a4049676 -KO = bbd0b238dac2615382a29115e31f5754b436b1d08794b158cb9d2a3d2a67c388167410568dc5cfa48901833a7fb65c0341b68309243813dfb45129539d6f883dfc4fb928ed93 - -COUNT=28 -L = 560 -KI = 330d72f39623bd1b163765f162a600865a8d7de76191920c -IVlen = 64 -IV = cf86cad47cf19fc7 -FixedInputDataByteLen = 51 -FixedInputData = 81f58d1ecdc5665e698c4f3af4c86ae7a69a99f9166b9dbfc798d843edf6ff519f95994adc6b36ff08cfdf69261676c44ca620 -KO = 701b924f3bc505adfa16b9550258b1ebc7a023e1e191aec8b0ff3911f3ac0eddf4b05ae6204a324a02d10f64bb87e265261aaac427a40de6386029ee3c97693f3e5ae6b744ac - -COUNT=29 -L = 560 -KI = 72997bdf5ad692cf9eeb4c0aeff6c975bec50be62ca50091 -IVlen = 64 -IV = e3e2f217072aa85d -FixedInputDataByteLen = 51 -FixedInputData = 86cad1ba0134e202edf2b559b7e528a7a6079154f7fd756d1fb6526000ef7dd2d87fe296ff3d36042dcb0fd5ae5a7378271350 -KO = c3fca92481ddcd1c7b5dd47c672b17fcce3773fec6afe848529d3d056e788bee4616c63e0985c6b2c6a817e0a9be860ecb8c4317f3bf7e24ca6f609b816edd0d9732692c5692 - -COUNT=30 -L = 2400 -KI = d0108e7dd8c02b6ed5d6a7540eed56f6d8af4e972d03a033 -IVlen = 64 -IV = 0b407114b086d7fc -FixedInputDataByteLen = 51 -FixedInputData = b9438e29202419cc4ebc8e2f889ab9a06ffba462a4bd84276b4e31e7b23b4460761726a4b1a0bc64142d02dc70e5e6d53795db -KO = 7009bbfbf3e7fb7d0488b53570abd3b3e3a45b0e7b3dad2e485fe93983d04346ede2b19be7ed8ebb75bd5a14a590d111266311bb4f3536d8315095f88ed9f67a4c229b8ddc92787dbbd6bd2de09096839c5eb13e5aeeec7562c95e5aa5f736265839d9b86ce81991f55e35acf2b72d0d0c5a41d56961100f8ca888efd6e5a7b49b92496a6ad03ae25edabd42b3fe646467464b6baa8027c3197b83a0411d162f95729b8c8468efe7b9aa481ffc061101b54c809f75f0e6060f9e3a732616c0557e01aa813b4bb450048bc060ed47a6610e8eb84112817c302604e4174a3f5a2cce5aafd24c8a5d37c8db3781664814d3e471eacc3c8a681327df9f1e9c7e87cce1ce52f9140b6b2363e051561a1211126e131ec6a3eaf000c523dca02f350c8d13a6237979e34b43aea8da5d - -COUNT=31 -L = 2400 -KI = 8d78f509e12b791e906fe76f441e2589e58cb6a2bae11a4f -IVlen = 64 -IV = c401621507444c8c -FixedInputDataByteLen = 51 -FixedInputData = f8346b9f6c9f95e0e8cfdbedfa8f9484ae08fda15ff986462be69319691b0ef7b4d2fea3b8cb9d4efe131dd6b91aad0d76dac8 -KO = d3206ac44f28d0b9f9138accc9721dad08d4d1475b3e1f97e9fb85b4586edc99e8b602606bfdf4a695088ea7dbc00b2b3edf0c4165cb70224e63f72e3e049c9eee72d5d94151ba7de42e088dab4bc11fdc9227fe0a6babe34e7a594a8ef7ddd7b96c8a668cfb62a5eafc9777902a32da62f40307f5aaa7e4cb812c0a6e4410f7a0a0a3cb8e1dd3d149ccc89dc2fe71abd5476f750948336c3f2200c7f23d9409f78680fed4f1395173916cac6584b8694ce5337932a8c85367db2377d487cb0d6e77a4229042db606121dbf6af1f026ecefdb60662caa38fcecb17195d4cd52c1b0f4e9baba364f9df89223424e7527b5afee1ec334efe0fa7f696024c55df0e481f2159876c050721034ed6f96a974adcfb28eee30d4e13ddceea612dcca6fb8e8f072193ed902c86a46afe - -COUNT=32 -L = 2400 -KI = 8b1393cb55dbe500fbd07691486b62aa05ce61117480d85c -IVlen = 64 -IV = a931c70efc443091 -FixedInputDataByteLen = 51 -FixedInputData = ffc6b696e3063319a26e98f5fa09db833040b800286ab4eb28a5b120f25346984c1b4d4ffebe5cd759474d56359ee50e68b612 -KO = c59ae7e15ad88479ec4ab7426a4aae10fb7209dd6277ee7df3d44a7e086eb84f28a68bf7e36c30a9a6ed4093ebf41678206875916efa5bb0acd22bbcee6ae311a312c2756b3a5c761725172132c39022de9d450243ecfc1fc58cdd4cf8a9b5723abdefab07c2b6552de029a3ae07cba159d130fe5113c92ea3a704f23c0d84593f45dfd04e21dcd34a2692b00b4567a64b45fed16064840b489f0df537a3ab6237e185c676258f3f627a46feb28b92bb9e983bbe00501805f0f4f26baa08302a5cce079960dc03c67559beecdc94bb490d0c9c15a939cd7559ce2a4b59e975f6da88afb691dfe094099fe165281f6a11aad042dcd9422fc3cae71594cf0536e6c2922e9f9e089136949a2a4a289061a286fa4f64bdd1ccf04f65be0fb2a08997ed1660486cbb17cc01473fc1 - -COUNT=33 -L = 2400 -KI = 7750938aff95751344f4565bfe6d88bc8b606268f5316505 -IVlen = 64 -IV = a0b29042ec3c2bf7 -FixedInputDataByteLen = 51 -FixedInputData = b52c1736b9e389ff2b9744949679814a7fd3204e1492b704dcfa07b99091e2d12a0bd7f8823946b1a92c98833b7d30ca37f51a -KO = ed634fa50febb477d46985ea1fe3017023faf2ef6c78760feb76142a4c1298d66cf58972b88d73412a50a9a5a11ede08821de78a022f9e588ec10cd67b1afe05356161b8c4e9e3cd1aa211b530b61524d1f14f99f750129d8d8265672027fee4ac7ace5acf9f1dbc39c4bdea768d2a5502d22ad9dd731d0d59984b14029387ddbb0b8a5900842e171536650c0ac1c4b5f5c2fb737a292c64b93725070f21b50ab91d3d393dad1a7a1945011c896fb95e35c18958f65ba214f48c3f1725ab8276f38f0695d829624571d9be7a37b1b4caf6dc2468c8886158e1f56cd0b4180b2062d27656e7251ff9665352b92d729ba24a273fd1b0c0e5be61eaec2753ff9df4da353760731e7aa10dafca66e3eee0868524c5dbdf3b031af74150e3bc7774170c07905c33f65a3ab76ef98c - -COUNT=34 -L = 2400 -KI = ab8aa1642699e7809f221f550869657b5f19c693b6716312 -IVlen = 64 -IV = 72ed48f2b6c74db6 -FixedInputDataByteLen = 51 -FixedInputData = c79b3deee0933b2d42cc119897a89bdeee4700f5101344dd2a4bc2d916789dee8cf8efd44496f8a6934fe4944582041d498d9b -KO = 1ce790b9f367b693b415ed64834fd416532e159ba49c85a4674288a02b91a390d08134d7a866061bc4bc2146e4ce9db62c17686d1a640d6f6c7e6a2718eb5c09395ca37167701f9b5e6f5eb57714859b01873c1c3ebe5c8c65441966a46ee6fb5d668a98121f578dd08a9384e5b3e4efb0e37d9cbf91e8638c96d27d6eab0a24f08e6c04da4c76e207ffecb5f09ff8ede228e5a7d7e75ddba6c01d9adb8d6f5d7d72491d2c3e2c6e68789cb6f793c41fc6c5472a235515430e3df4ae551b7077ecf9ede1bcc8da9f540f83997319ae4aedf36be5d6896cf1e5c5e93907702b30eb958c6bdd7694745df28744e8c36a2504eae8f4e6954b0bdef9e2da9f01663a179ca5427cefa32975541e9fab329c6b6a26bbab631d69551b70ff8b880c73a4696f4d44992ae8c62860fff8 - -COUNT=35 -L = 2400 -KI = 808d955146f5f882df17cdf3a094865f6b831a3743582d7f -IVlen = 64 -IV = 654467dc2c4e63ed -FixedInputDataByteLen = 51 -FixedInputData = 678bd8fec10e2ff44c31c480148cbbcc5073529cd7ca35557060248ed8406d1bf156e0e9eebe543704d298d2b7046499b618a7 -KO = 2479e1a8d8f067c3f75dd4df1e11bf82f027236a50a33df26771d68b8f32621cbb5ac17403489d84a08441f2ceb71ef90af2bd9c090bd4dd07aa9e6ec1bd6afcf6a8071e09ff0793c791d408fd23cc9e21f8dda205a7e2e0822613a6b0c9afa1631da5706884abbe0da0bb4861a1556ba892f7ba8a7da525f3c8c7b300d946c75cb41d18808c7378fb469a6120aac7cc2fcb13c9513b3fc68018f71d4e844ae2161099f17c8b0d24352572bf549a057b1bc21231febac5e41e73afe1103df370f890547d9336935effb80a709ba66ae4227907485752f7bfa07b364b105329af274dcd3bf78775e7d1d255728e1763f6ab80d767c84a165fe1ad9b35184fe8fab3c72fbf891f9de43aec5fdaeacd924ba214e7f9cd3eebea64025acc0d3d05662fa98c699a8d841bd915fe8d - -COUNT=36 -L = 2400 -KI = cd867b6c39a32703645f1992d35ffdc17b84e73bc79a0a9a -IVlen = 64 -IV = 4846d968a116d6d3 -FixedInputDataByteLen = 51 -FixedInputData = c77e983e7bdda30c188299de3c8c5f2641aeaeb6b659aa83794463bc6004492a5dbdba0dc585cdc8730366e37293c2021dea87 -KO = 90d83c1eaa5439af076eca66609e726c35f88f8f52f3a333010e17a2cfc646b782a33367eb1c3a87f8e12fca85bc1f7e28b9573a9d9fed8c2fecb25be29365eff172b38604b5a358c689bcda4fc69788b12b0977440eff9303da014453ed7cd620309aa0402fe56e8a5951fb08e30cd5cb32c9a256312a4ce7cfb9308d2080005e7374221590d324a0c3d507dea68c1b847131bae58653434317383cb794d734f0c0f0f3cca37eb7080a6b863ab73eeb3ecaa9089db45c8f1ebd8cc6e30086671cb7e910a3a4dc914b15d23773053cf9d3808ad99718288c6a2043c9a6e4b1de75b820bcd554b7a32b6a9c9d3b984b36b97c18d8ad46554146372d710622b5db5ed40867b73929f785209e23ca8c7e3b3f17bbbfc408d48d108d994a1c61da5f2a28e5609922af0c04b6b143 - -COUNT=37 -L = 2400 -KI = 7632abee72bb860d36a75e4fdd4776b73d1a4ac2d10bcbf6 -IVlen = 64 -IV = de5e6b55fe039565 -FixedInputDataByteLen = 51 -FixedInputData = ac77493785bd566201ee81ed0dd2568428915d0e20911a9142d4687bf51f066ce4963dd03be73083fd9c57151150ee431030e9 -KO = 733378e973d1f76daae5c79c61bdf42fb689f15f2e79e595484ac9341d3f0cd0a37df5eeea4578419af66a32428e8f3794da3c124b1237f5eac116e39e354d230b4db44f2a19a8d648f055ff1fc49c692923690590fe8a86b2acf6c155f59ad064ca7792888f77deab69b85f9f2929e5c369013a143b70ea897a19031f3aaba369edabe7373ee0d1622e53a8cfc2d9767667e277c0f5d1c04f9dd5ede4072090bed4bb1c73b913c441ae98db714da9020a1fb35701e78a415257195a7d8c00d6fb356e341d0832a8b6728d8e37ddc7a495644b2a4efe8360a37112b2cbff525ea19a70ac2e507ebbe8d668725dc36e953c2c3d88b6fbd07ef7f34825686f89f9b4661ebbf31fd19dbb18505679ccf7743cbe8f3ef6b4fccd260e93db91bfd45b16c7abd2bc7ffa78d82313b6 - -COUNT=38 -L = 2400 -KI = d0d6af0af4bd2ec35ffd1f1300e8df055856b1945f56cc5d -IVlen = 64 -IV = e3b628df3a3e0fa3 -FixedInputDataByteLen = 51 -FixedInputData = d38ad75593f4e0ac8b22fe145ee439946b8ae13480c05dd293f4069ecf120d033b405c9466d2612587335649ddc4a5fef8c47f -KO = c3cbafe78b76c0aa7c61df3919c177435d7175089d0be580881e0e2b3ab3373dc57e669220b0387b76ac6c41491f5c762d23e5f25d793a9877b8d62843b134c1635e5133fad67b36d53c6d266cbfb1ab6ca1d5417a0c4a5d9c5101864b4b6fbf7a8a4ee4f51c5aae95130eed2d79238df13c27a82d4bd1b74584e4fc675997be6158c14c1ba063bb4c2b3c1d70db74ac3e1d95b0cf7911e07612a5160f52d3b330a2829b2447fac05a38475a97573521462f17ec1fc7e42ae18a51618df396c5542971a07e9bf2564c0f5ae6644f1743697ed52f1125e51bf172f344a136b45fd1fa04e21bd24f359fd9e9fb7dfece120f4275060901e6ca2bb8666cd48c86118240356e999ff9bc5dc6c3fbf40c735a6d7c2703d15de076f3cb1d76543a7aa2cc57ee50e82e0bd6fc02ff52 - -COUNT=39 -L = 2400 -KI = c16a78e30135110a56fe6fd81732171f0a971b7371883b5c -IVlen = 64 -IV = e13a94559b89a3f0 -FixedInputDataByteLen = 51 -FixedInputData = ee4383bd654aff6339a3cf4b4b7fb19bb7a1c239550b55764bfb9d0a96400203d5ab0720bb6233bc78a080729c394c17399e92 -KO = de5baded67423b4b0b545f7a7ea88de495e031928b43f58e9d769e498ab1bc7a4c508c80bc68b36dc771179892dc07a11e422e5e8fb6634c313f386b0d4bd1c04d03088787ad5ea532fe07dfac5d0fc0c80cd32ba279df5d0ac4840a96fcdbf009dc3b3d5e8aca9f2219465b11201b301b2a2f63347c4e46e1da63da7c5960640abcf97440300954a352cff1628974bb1286f79821e109d55fc9507dcd930f8117c08d675cf713d6df213a073c4bdc3d9afaa6c77ec7979ad1cf0bec6f833285bd980a82fb24cedc51bdbaf42f1fbed08d847ac80ba08d7c548d87683a2443ce9b74adb750d13b4595d262b51027785a516a9eef9edda12ae578fc7f8fdbdb1daa5f3a7d185c93f61e5d7ac623150848be4deea868f8286f53f07b1b3c051987b16c0b427c166e99dcc11e1c - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = dee3dfcfab4fe484b0e57ba3fb2e3f6318dd2c4891c44da9 -IVlen = 64 -IV = f4366e30d22f465c -FixedInputDataByteLen = 51 -FixedInputData = 5ba7027975917fc7a2f4b362c27c662b2cc6d88d78e6c94722642f1ce89dae686200f3e6ae93bd2c59003525b5c37543a5d460 -KO = f443157f10d90b7ab18a74a3f584bd4eec021594f5601ca9fcf322ae64baa12ed877fbefa71c22c3160308f6b682de117b93776be05fe0500d45742cb134cc7c - -COUNT=1 -L = 512 -KI = 0078689191fbc2866b8e839262e495b874e319eaa3c34ba7 -IVlen = 64 -IV = 41513446ecf58d85 -FixedInputDataByteLen = 51 -FixedInputData = 0af8921952ee41a5f02606e7783135f3dddfce4d6b7a4ad34dc7ed117b9dc1b6cd4a9d06c302e4fcd45859f68e2abb2a180dc6 -KO = fa25adac1d80738535a922cf927974f646c51c98245487f43463099aa37fd1220f2aef5027e2e3a06a035d07f157728de4f57a8ccb5ec984397df9f5f83f091a - -COUNT=2 -L = 512 -KI = cbcec3edb3a70206055a7ad7b29b9140e47ec8af84a7fd4c -IVlen = 64 -IV = 01dfc3b418f29cc8 -FixedInputDataByteLen = 51 -FixedInputData = 02e41de869e4e347d9005751ba4d0fb211f12c954dec745da63ac1fc4d911bdac10eae7843250241714a893e922d9202595408 -KO = ba3ff25c2a2355d04f332a8c77ef4fa28bb0214f189bed483fbd71da063beaae5cfc8a8cb07dfe07e6d636f52863e1e344216d61918319ec87595ccb5f5f7084 - -COUNT=3 -L = 512 -KI = fb02e9c75c3b4beefa58c9eec8d141a70be3d9816ddd09f8 -IVlen = 64 -IV = 10cfb8624bf612ed -FixedInputDataByteLen = 51 -FixedInputData = ecf88d5b173c3a1319c0346c7d20dcd93a0017f632bcc9f9dea38f7a10c1346f5908d7fa47aadc90c0b134cc42c510b6e1d0d9 -KO = bd20454f350b61e4a053ef9a01079eb15b48db95969f11de09a3f8acc29ea629779bafb08331ac4c9d2ba18e6d9d5a7bc2631ee74fbce7a2a62b7d8d09fce8fa - -COUNT=4 -L = 512 -KI = 1ea2910a1544941493d7400ac699109fa64afd893ef59433 -IVlen = 64 -IV = 5e50d835d9eeee3a -FixedInputDataByteLen = 51 -FixedInputData = 9a0db4281af79b6a799ba0288d4fe85c5c33d3bb67755ac1984b2107707b2afd7c71746fc43e1d1c4fc6dd28640350c5045872 -KO = 9311e4302f8b955773cfefcd8e5902d95240c8e5e1e0b7c371a8790cb417efc069d333628ed4d121fc90c99bff52021ff4457cebea53547e7586bc6b5241b384 - -COUNT=5 -L = 512 -KI = 239f8d40dc63324887f9000f9924be4c1b1a2334591f8b4f -IVlen = 64 -IV = ed62f713551918e5 -FixedInputDataByteLen = 51 -FixedInputData = 91361c1b94a24d630d5ff25a1850d95c5e657e8ebb354fcd0b10f7a87d154d0dc5892e2f997add99d176fe01533dae803d845c -KO = e82f9e44bf9454dd7cf9ee1bf44aa122be2fffa084d0f5897a7a18f2caa990ac39dd5a4c0d673806f31fd1f1f81370895abef504713a6a3bbe6299588ae0b90f - -COUNT=6 -L = 512 -KI = ab46988a6b91645bd919a6d09f82001999b919c1f4ecbdf5 -IVlen = 64 -IV = 089a44a60a97c351 -FixedInputDataByteLen = 51 -FixedInputData = 15818cea24bff552ed9fe1f87d5241c52882c830ee38b2ee47c56604f380f9c78083cb3e78edb9d83f2d94df227f71ac296082 -KO = acddbae7055e7630cd260b69a2fd9162336aee46ae66ec94d03322e2d5268d23b6e149512faba2f03372b6b6fc26dbc67438705aead50e9e27a41f42e19dc965 - -COUNT=7 -L = 512 -KI = 20d4e771bd1431733bbabcbd3b471662924944a7e53eea95 -IVlen = 64 -IV = e1af27803b38f6fd -FixedInputDataByteLen = 51 -FixedInputData = d56a8574d2df8c9eae1a8db38c66b56ea01568d0c21d0a4fbeeb78d6ee2412289014b1cf9a06d4d5739983d63b1c209539fd9f -KO = 7dfaea8b6e564587bfaee44a58962dca3e85e93f9f95cda1351f8e0432ad090983e26a34602534ebe458be4c11d94cec549beec69dc8c79c0df4e44725611fb5 - -COUNT=8 -L = 512 -KI = 7f1f941eff1855eb3dc8575420b90bff429be2388a127dee -IVlen = 64 -IV = ed987d67185ce93d -FixedInputDataByteLen = 51 -FixedInputData = 319ab2673692ab4bfa9ab4cc86f2a055e3ec6362177ce006194f822246b310ee1f897570fa1d7125e6f332e7caffb8287cfe86 -KO = bbb538b9a679645e1dc9672f048862f395b9dcd028520d56edcab6d459d17d96de98d5834eb933db2e64c220c94609274c7d45808ca640e44c0adc3bbe5a3974 - -COUNT=9 -L = 512 -KI = f73d7e80e256238878aa73998c0cbaba273dbff8933cfa18 -IVlen = 64 -IV = 05a1510f358f6a90 -FixedInputDataByteLen = 51 -FixedInputData = 6b995c38b0477bb8df1452a6419f12ceda09460260ac4e6b867b15aab06c5720f416bea61faabad154af040e1446353558a676 -KO = 516e6dedfee3076fb32d66e0cf55893ce73040aabe2a5233ea4e82976bcfd2f88966df72af1999513a13ffd3bfe1375e1d93692efc6544e4caf94f8bbf56b117 - -COUNT=10 -L = 2048 -KI = 15a1cd205cf9d3bb37ce11a5decfcd07787aee4bfb13ecc7 -IVlen = 64 -IV = 28b3b6f03649a1d3 -FixedInputDataByteLen = 51 -FixedInputData = bf892e3e1d502689e10dd685aaf0de4b0bc5b18796a84a65ea67cd065ba52c3db72787cfb38f74bfcb52e4e4dddcebd499a3f0 -KO = a3c7c64841e17852f6553fe66209ef54b1143551bbf59b268e188c955052c37c5656a8f80643814efe9627fd844085f96a379ab0ca75570da8a6d71cc95c426d48cf1930b60b0ebdf016b3c0a08fc92292cb3bcd27ae304b8183f3a1f73033f1381d5a9acc69ed7388846f2abe4ed01f89aa895dcac78f4ed5e05dd69cf9456cb4e5d53374c06e2d13af745d4c0fff6a2358ac91c1729fb6453a2d6d22644c9de314a8d06ed868679f9525ac066963a27e6d9f4047a1f499b563022ffbae153c7bc827636505816a839fe77630ffe1f9a9f39c01bb92c5d800efe71ad5f627e5ae37d3dae035d9c9884742763b912407b0dc07e51344772c6f49e6ae58a9f812 - -COUNT=11 -L = 2048 -KI = cd5bb39cfb1554884db1afd17bcdf5e65a6697f775b38b6b -IVlen = 64 -IV = 2b430efa28261ae9 -FixedInputDataByteLen = 51 -FixedInputData = afe2483a1eb0ce8fbd12e2032e7a4876d3fad9cd439474bacca5e14eecbc9d9f05ab563797e905b5fb835cbbaa27ce72b73c46 -KO = fc0c562960d5997e32f5a69e40953b5c49d6d4976acd28e1eff4e54a5c331adc027cdd5b5501273aa9b18ed15eb8f3cc246a5b19493db556c3598aeaac5a7bb13d8497a7aab8b46d0421ab2a847da4d403d07f9e69df529da8955824bb006e2c917770d11105d30a959617c35f7ca5a04e5026d660ed4c97aae853ce78e46788036f1386c2bfe98ba0dfd1ffdf7dae5db4d25a8356084ec2b008db10f395be81ed1015d980948081622c22f0ac1d0edfef044731594f8529badcfc3dfd10a0c6ec79cbfbd824ddaa6a143675a695d0b1fe0355c196915f8378925b24a31f304894ccc952ba0fe3d809267491afa200f6421ec7bdb33891dd8b91c8040f7519f6 - -COUNT=12 -L = 2048 -KI = c11265601616ce84272ea3352ea29b514b3f51c782937f60 -IVlen = 64 -IV = 6a4942a7c7608a34 -FixedInputDataByteLen = 51 -FixedInputData = 4e7f593b55165680919272914b310dc08a2bbb1cabb8a52a594e80d459ab0b021cf2aa546b73172b70c87d76d24315df24caf1 -KO = bef933180bb24a019803a79dca97280609a43df076605cfe1430f8ac1232402f46bed7f0e3ea43cb45d4de380e7be55e7363579641279bcec6337a9afb16ee158e1f5a50b646c34f9e2291377f95fa5d49948438cb24018f687c7897a915f7861d92215e47897e1e569149488001177daee99a52196c299215508b9a8dd5302e004eab09bfc18832155393011d7228ac7e80d9da30e5edb203bdc22c10b726aad384eed497e2bf3884d6ea807958e02f8565a7148c6cfd66907832108934c81bb5e04ea8c4b05e2ecc2e834b900ed98ecbff0bb1b1df2d9023c409bc1f5035f5014e040830c06c8f6eed9151834dcf1d6b6e19c8d389c74235bd51ef35de1b7d - -COUNT=13 -L = 2048 -KI = b29444117067d5f78ce92089b731c46598b9ceb93a9681be -IVlen = 64 -IV = e45ef69993b6cc5f -FixedInputDataByteLen = 51 -FixedInputData = 409ae37e62f6fe1673a327620750cc3a313bf90ac164ed1d8510915aa479ad9bedfb8dd3dfb75ca7ff4727227695a82c0ee862 -KO = c2104be8740094fe3ccea1184e1ab7e096f5887c7d0d3a6aa2aeba71ba049116451073468d79c31e166aeb960110a20633fd5be8c6ea6ed2ade64f1141f2a262475a2ce3d0c16e3ce39ba920168fc29d3e648a8f09f5d5bbdab4ca470fa323adeba3682b3120e752b68e3362b2bd677223bd9506e4133492441c89a31638935d4d43ed57a3ac1dfe037127a49e198fdc9e9850842a6555291f4e622d94e1ab59405d97cc1b4a2b803cb4fce27ce65b5baf287c897e0d86bfe91bc5c271f2140e96613c7e5331224ff5459bfcfb7738e5b7f835fc50d5b14ae7818ad5f722e3bd508d5247f7ae402a3cc9d8698abe0dd879f9a3e54e877256de0fa1ed8caaa03e - -COUNT=14 -L = 2048 -KI = 5c6e707e5e882b081ca8209eaa10b6e92c1621eae8f6b6a0 -IVlen = 64 -IV = 40716f7c90122f6f -FixedInputDataByteLen = 51 -FixedInputData = 994c31391842a49a7655318c1402f48e96294add0a61081f57efe30fa8be9e92301e19d83e0eba855ae5cb14d560f141f6a4df -KO = 270389ff1061ae1162fc603712f639cb37ac28684ae0898645dd6bbd0d3a1cae514d68d60ab989cebe1f37458ab0f9aef06b9b71a50a69f459966efe5b8541bd0fc4b2983c660a577ce17f1b81b860b03649cb3e773364b54e0ea2032feade8be185889a44d743b5c751ddd617e382ef877d739061e1766053432e2e85bfcebb151c90dc4abb3978022751746aa424fc8627bd84b843e61eeb67385c6a341e88f18c9802139d4b160ff21dcedd7eb42ed9a93b186115913f01d8dafd3061427d761ca7d6e293794317a735a884008d5ba0ad5871733d441e3445d23788f74ae020cddb856fe9cf2a9737081cdd32f621c62642fdacf9f4d122ab434f1cd85dd4 - -COUNT=15 -L = 2048 -KI = c804bb39aad4115e90550767fc4c6fd40d55c508ab035f80 -IVlen = 64 -IV = 596ae19c0ec3a882 -FixedInputDataByteLen = 51 -FixedInputData = 91117c94bd41d2ebbd424aa55f681a29d4b90b68b8716c9eb570cbc778ef363f0e1d37525bfa2a4080e894d850b4b287148c07 -KO = 30f96f9958d6d95b53875757915f89227443129fb8759ecbed481a8e2b952da1d9342aa779afd8c1f26b9827d1aa910f2730b4fcaf6fa05558ba8bd8f103dc92b5359b0e7ca2b9abfb69b9ef6e503c86e850b7149e067819626f2d7ba117f53ee247c382c44769921163fe5b363cdec3ccbbe1552e2725b2e683fb528d75e308ca61dd0175d07e16094ffc8d42db297440584cc82b414bdb9163b81f3f988e71f5c17f2b8891caa7394855604bf62127177827adbfaddf3a000e374eefec818382f1d0eec298d08b05edaf44851a1224a5dc273a80bc92d168b6afe3f9c10c42204ab8c13ff7d16bc61f2c5b8467bb05418fbf79c2cfc364c1d24885c91cc3e7 - -COUNT=16 -L = 2048 -KI = f098d07d140dcb87f68a4efa2dfebd322f06ea7e8844ef7c -IVlen = 64 -IV = c7808c554f7f40c3 -FixedInputDataByteLen = 51 -FixedInputData = fd7f8248e184def34f5dbf166c67941a2a87200aa865513dd6f8b04272e1241014f0c07d89f5f8083fd8a7225e9a472382271b -KO = c873cca2883631702d95f854d2d2085a9abb35edb08e96d4a047a287ffc2a19071065b88093562d2dc2eb98cdefa0060940baa0ee7bc3ae021ced20e8a6dbb74596862ed61e71358882594dfc03a67fefd7bae7827c8f8fed0b9dfa57f8a39978dd30d40af024fc737943fe97294f809d40c62a5ba1146bc869bc0585bba1e629a4243e6d6d32ac14b9ddf36f4fd5af0862bdb6ad1ecd0df3ee71c6c2a45b2ee75eba3eb11a4533454c29b172fa4fd3d319001a748cad7af0021c6f34565a871b50fb1d5134900e530f4797173f4cb43aa7201d91d8f8fd6f9e875583867a1f40468ed66fe2c8fbaeb5f3f7fdcc5e26faefe008754fee062aa598a84a9365aac - -COUNT=17 -L = 2048 -KI = a81feed502bfc31a57c8512186b4263ddb0a5ad3244b8b53 -IVlen = 64 -IV = 581bf4fac96f8474 -FixedInputDataByteLen = 51 -FixedInputData = 6d3a5345f534b167e96a7ce794f070fc63767857739f23f3c32c30da608ef141cb6606dac296747c5dd47f512a29bda4f4ca3d -KO = ca1e030d1b92aa2ada226d37ea1de97cd4d888a803d84e68949398fc1b3ab83d74d3f21806f42e263de186e89fbf457baafdd23da33283870d911fea4d8978d5a69391917433133a457b457cdc63d114865e395714571425c987988be2c6371b54383c900dc03aa20896a7c11a1f42fe5b56a0551ab3e2ac359b63c9dfa0a8b4efe1bc5b395ee73e16877931aab7f314811d18a9def2c69a7c3a6b874972d2d001687f655afdd9322b78357244bea83133e6ea80e3eaeca78ee4b55eca4e12c47732869fa83f9a199c29ba107af1c79af0bce9f22d438fea1d6aa03c4ebd4807f38a950d9b31ef7818f487a84a380c13cb6db5cf146d74692bb45945af502280 - -COUNT=18 -L = 2048 -KI = 05ed4d2e34125e8e6935de31f1adb64681ee7a0362e647b7 -IVlen = 64 -IV = b3d356e3ee7501d8 -FixedInputDataByteLen = 51 -FixedInputData = 37556ad79ab82d34f43caff5867445e6829fb89219823b93608589c3d74e5fb28c6d1d2dff0870787ef2e6293714e9ffc9a564 -KO = 6511b1ad14950ead9fa4a70a2cf28cebf810068207be25fbf518232a55735b688bc94641ba0b8b20d77bdfd1a54bf643d958a1bb437820b0eec1c13779fd50266cf40f12b7724923b0ab2c2d35d64e7091875eec72b63f418d00593122ce1ba3799cc7a2a1862da4dbe0bfeac6dac1e491999bd62b0471ae8e4ecd6d3673fe60fba005ffa80a0a158f102dad7ffe6cd21ee55700957da07aa6ddd9da622e56e666741e515e50aef4accd8aeb9f831bee26605ca25a4eee577d42cdecbba91a2193e1fa7cffc89eab5f25664f825d901e92da7fd6609d49d9c7ec0ffc8c1687b85c3522a874110cb5cbc87d49b7c77905b033a6ffb40d26af4e61aff70c825b4e - -COUNT=19 -L = 2048 -KI = ea5772f56c69bf7c5644a5b8d4a6ac985e8aecc4179753b1 -IVlen = 64 -IV = b2604c3f6347b051 -FixedInputDataByteLen = 51 -FixedInputData = 1c6045b390d264fb040ab89a8c116dce0dc4e451ce301ec8871ec49d24b572ac3a81ba6c09515e96373674ca8c30ea4ce76bff -KO = 5b44862f592dc9ab02b641c12a2d5d5865de9532da419bb3c5a43f2b67c7b9622821a85db52db9ca706d6a0d6baf0bfa33b9da010a298b3c317a64f5b461eff84f69a5765e23a551e2d0a97c52dbe3faf6ac5199754c5e793c9e1e77d7ff31f1cad7fbb061592649c3692edec55e5c076d62a1b52694cecc7a13f924729a45edd7a51698e355eedae79e83f310d619917e4ffee6f4dc3276cefce229212144f5a7a6463b9b48b71afaf70437c773c4f519e677d19fd2e3687c81285d44305bc05aa0e9adf9cf8cf650049e1eda7039167807bee9be9228b985132ef22f926a1c2460c9772e5e75a873834331e13b74121937a33f2b3b6e9af9fc53ca5e9fc5d9 - -COUNT=20 -L = 560 -KI = 1637e0d4ef1e38e25cf01d7c330e2defa74fe03284e6bedb -IVlen = 64 -IV = 56f64ddedf613148 -FixedInputDataByteLen = 51 -FixedInputData = 2923a6e604d79b048f5f8ea79ed9b8f1bf16bd2b0331202e0f45ff20faa1f742e1d2fc0dd4f43b7c9bf8bf8dbc8ea74074a291 -KO = 8b0a29951d413ac60c0b938006825447ee158d6a72292b4846847f5c311627c17a0d96938f9f675b18d17021ee8dcc791c98acb1606a1a362bbfee8304ad8083e60b77259179 - -COUNT=21 -L = 560 -KI = bb818c9d0ed298b3829cc4d62c55a121ba6df1ebe9576dd2 -IVlen = 64 -IV = a1f04cec5d52903e -FixedInputDataByteLen = 51 -FixedInputData = e34569b1d647a9e5eac5cbab5dfa65e29dc9f799927e96d9a5c19806a627e6e5081349307db8d0a4ed889c4a0a7fd9b5d88416 -KO = 8f742a1182a71183d91d93b65d650ed2b59c15e4c6292c93f358d49a85eb2e4661ab459971f559866b74ee03c2eff51d1d40fa8e41320318a7c19e473074230e81662b67dee0 - -COUNT=22 -L = 560 -KI = 2b536b928d67e432c2fb726629a9f81e8f3b1b03146da658 -IVlen = 64 -IV = b7a86dfd3d5104d0 -FixedInputDataByteLen = 51 -FixedInputData = 3691b34350d66655ed5c8655d15cf3e1484bc287e2e6458952beaa4bc6e85df0fcba574764fc8cb428d054d30fbea5340a0a1f -KO = 91eb6463fcc10924250f6efa49c7f003fad7ee8cdc94f49e54345b96f94f6eab7f0accb08b28ac35ade846490ada1a41964725292b75e513b22e0d50b7d0367f47134ef7ecdf - -COUNT=23 -L = 560 -KI = 1d439560afda37188d8d7eb5bc77ac8fb48dc4975235063e -IVlen = 64 -IV = 1ab1b07ac52ff68f -FixedInputDataByteLen = 51 -FixedInputData = 8653b1a64117fd6bd146a7c33417c6bfb56272832671a3477b7402f44cdd399b3900f8ccb38d050191a10176565585f335918f -KO = 90eddb16eb4340a1aa2109cb603e21e23ea12bcab2cb1a2d02048508974daab325c91ed1eff8d5181b19ad677ba6ce0464c51da18dc95cf22b7ac1c73bda207b9d0233c79839 - -COUNT=24 -L = 560 -KI = db923a20216e099bb1988061510c46490fe61d52741776d5 -IVlen = 64 -IV = c8b2cf4e1e8428c4 -FixedInputDataByteLen = 51 -FixedInputData = 9e749732a0dc84d12657755facd9f4eb4fa40b3dc7d08373ae77c5b93966913ff57fcc34c25948e0881ab854aa8b5b3f1946f0 -KO = 192ec5785f023d89b49e56fe64a75bc42f81b4aebf9ccde513657daa0abbaad4065bae3b441cb9f6b20347e234e95b3a9d06bf499e84bcead6d09869d9cbd3ab62ea48ce6069 - -COUNT=25 -L = 560 -KI = 8c75ddb022ff656a4ac310e6eb6155051ea8b6eb9b3a28de -IVlen = 64 -IV = d7cbb91c6c6b7210 -FixedInputDataByteLen = 51 -FixedInputData = 271f0aab9472581ec41c865b1a3226db8ae2060f52f849819e84ba1dfd57f527f9a56b4e0a4bbea3e7adadb52135933dfc1be0 -KO = 1c6eb7bd0a6eed6130ffca5640747e8abea664f81baf9ea902c8676dd87023863469e191fcb8a4331bfc1f2150c1e8e16d3219a1792f7f994c15e33fa0f3269d57bbc416d91b - -COUNT=26 -L = 560 -KI = dbdc21f0bd28e978ed2d8a49b7910dea78b6b6a325660308 -IVlen = 64 -IV = b4aaead22645d7bc -FixedInputDataByteLen = 51 -FixedInputData = 0789b262b126e69da25b721f2b8ce3c5d03eb4239ca452d6462dc15a7bfd46a6f353f68a0fde49b8c18da6e2f58d322d6f19e9 -KO = 9fe78adca06a84605437d39c7066c321bc946f977b54edcd4dbbf66507a8d34d8ed2285d526d077e64b690924aa986e175e88c849790511542c7ba18e36788494ac32f369a73 - -COUNT=27 -L = 560 -KI = 1c1b79222e35b316c8fdac3287b79a2049fafdb5720f39b4 -IVlen = 64 -IV = 0d40481755dec91a -FixedInputDataByteLen = 51 -FixedInputData = b21adf1d9193efda1a0e171d64cabd0314b0f2f6c5d31cb2e3916b079f85e643a371498f3da3a408f42318a60d41c64e559f36 -KO = 4bb163b9ce96e67380725abcb62f3296001373581103f90338f3bdc35cd40edde03fc89d6a8b7ead63db94483ce35d564bc1c1421463212752bb6ea35de9fe5d9fe1e54afa67 - -COUNT=28 -L = 560 -KI = 457285c2ca30aba77db628b801927de7a94eba5e84e7dd83 -IVlen = 64 -IV = 997217e55d418f26 -FixedInputDataByteLen = 51 -FixedInputData = fb65dd4e9b6c84c53e8b866bb8ab2e8b9d5e08df304f903d400e8c0daad6eb551d14a1a2800f9362fa0cea7717e166206d3e41 -KO = c3dd0f227132e341d993f1a7702d35e9187d1bd94430900543bb59b2900f450b4a27864ca92defdbed8e89d363a56d5da0899e1c2d3cd23a68c45f9957fe00b8114d8e37e742 - -COUNT=29 -L = 560 -KI = 582562a0c899b6c2a5b2f5232d0e0f9f4d7c79f3de96ec48 -IVlen = 64 -IV = ffcad17da92f729c -FixedInputDataByteLen = 51 -FixedInputData = e2db1f9ef5d2e76ddf45c5f81ffe14b804762dfe823d794f39ec3c9154201e99ee7d40da39b82090b779e580b845655053efb7 -KO = a6a1bbd2fdab59a40f59e6daa6215f494e3e02a0476e3f7863594c30ace20b0454fcfda89622ca70ae5c63daa393b78469d3292400967fc7d85241102654132808b6750cf0f8 - -COUNT=30 -L = 2400 -KI = 9e7820a92ceb9057fb54aced2ea0ef8052c50f2d93279a41 -IVlen = 64 -IV = 6bcc98d52be9323c -FixedInputDataByteLen = 51 -FixedInputData = b2535b42c0dcd8f41caaf5dc93ab8792b7f7463b256b0af1703019e9752f2a0268b17c41b2e64dc7964a121731f76f6b8f8ff6 -KO = 20d41de42f3e093d5192405ce9e21181e67e8a1421f06db9a91b8826ba0a0a3daac3e81dd1a991c60baaa3f461411afbcc30d5dda97eb7e7ff694e77e96a1891ff0c11bbd6e94dc0a6004370206b3669e5d6990aa24bf8a817c560f993188aabb2e1b9f82e52149bd34af6d7a9dda9c15c00c7c160801d98202242d44745c44bf1ec236f832cf4b9a9f417517e9309aafc42db1d2a6a297afcc859ae5e0ed402ab88d2d4093d5abb9f3f8380361a6b09605e71c5f02fa61b763eca55881be9206e173db592f389c02e59b822923c24947d389b9673304d8ca050bce6d6271e4e3203c2b3ee2045599743f1c25c41d1ec4bc6e60a738837dde4a3c642b1190f58e884e250d85d158d8466f7e5ba15d28b48c043ee94579d8f9cf65d2fed633c13ac00bf05ae42c351531fd4c1 - -COUNT=31 -L = 2400 -KI = 24156e33c1935cadffceb0ba3d9618acc083a5c21d87209d -IVlen = 64 -IV = 2a79e75d863ad8c6 -FixedInputDataByteLen = 51 -FixedInputData = ef2cfc3e8938ece15693839e4055ef024d37359c1c97fda2295fbd76df49c7d0a2cfa551cc1917c1dce11374528394a88475cb -KO = 2f3c0a4d45c1ac98f195f70c0b4e1969aa937dba3326be1b06b778298fc7becbe6c5fc6f6bea19cc8bfe5d35c093822a09325ea83adb9a4c4937ce87dd979fd2368e1db9aed07a2593a8ca2c8d8c0ba2a7a2c4e4e1ccbe5627e4d18134707a1ab8c70a20577d2951e7dd4577dbbca7b8ba9615c70a55f78ce870a526499c13bf5835b1979567c27dd6d1514cb225c02718c5d690deb61161e1794379aa60b60d8c9af3bd376896a4951e9c01d57243e2d0b4c4b57af7881a96618b40a5cc1bb82cdaab1b192f7235e77cb0e2111c43b9394605073950d29e0470fd092ed5187f81cce5f615a9d592faf14c11c51982ded90e9a89f87f3b2b1d0be14a0685914e88cf7b1d0b654f45777771ffb748feb85b348a4dbf29781b574e871ff0ad60c8b8f7552a75384476167d7b21 - -COUNT=32 -L = 2400 -KI = e16252b01bb969e87a9d67619ed32d561f61261ad9aad9fe -IVlen = 64 -IV = 47743fa636b5ae01 -FixedInputDataByteLen = 51 -FixedInputData = 50b4ef8d9693e90f91f3fa21dcd4e6f6d3eb4307d821fe40af55c1904939171e083ccd19186be9f58eb39a455d7664c12b873c -KO = 4b134ea1adb7b135b190f521fdc72405cf2509764a8d4a13f7ea5a5efdc2c219a3d06b4c7737ba871f74b3f2435f9dd568d318aeb11a767163145625d4136d601eecceaa08ae062eca25bb978165ca3763b617726450e3f3e05e28605bb3292255434c40e4849d939a4617f252ee633f67a6df0a45600e4fd2ea7063340aae971ffa1c252389ff4902acf59d98bd89f6bf6b0d2ebe2e4d7ee862332784fdc2e32f9bbfdf4715216f2395146386dfee53ef6c07c0305cadfc93702c186006921a65cc21600558ad6065cb88b4e29d77c66316bd52f37da2287d234623b9281bee0e05bb17295f33df9df0aceaa3ed5fd87a720e9e6e2c705ac1d983e617113c768ff9057f58a8af74c285f325b4e831476e970b770d89c5b72fa11213d842786bb78ea41ccacb8cd0ead4da83 - -COUNT=33 -L = 2400 -KI = 3620be157b9dd99542d6ee739539ff2fd88f51fafd71bdd8 -IVlen = 64 -IV = 48006e8f81c928ac -FixedInputDataByteLen = 51 -FixedInputData = 247fe43b6d46ea78cbda233633d28e6fee70e0b8eec5be6d60a348f9cf513083cbd67cad652eb63e50cb3e3a4ae0e48f47c9f6 -KO = 961daae96888e14437c12e0cc74e5997ad20c217737be6f94c8030bc9a1841614a80196adb62dbb7fdd88489f6c5460fd6d11fb96123091b32a1601a7202d7a614f538f69a34c23c2b4c170701bcf9ba38adb445f5090a3dc196841ee135c71e9cd88873b7d372528befe1f989595ed5574deacf91751b117300e9f367f70fb5250a31048df1adce3aef4d9e9aed00114d2f1837e595974a962d908916fbf2e245dce110edfe49c6b0b6cb28fde6d3544bf486df57574cca58c0113f4ca5ab73a7e875dbcd6aac4287d1b7c88812edc998163f7d949b4cd2dd8127a0b15e538ee5d13373cc3e1c0d7349c94233c7f0185d6dbafc807cb358d5d217b5289f38415efce3d2a0af807eaabf95d380c0aaa5861faa36938c29f139480f8358cf12849cc9ee7c75fd53ef3b1afd5e - -COUNT=34 -L = 2400 -KI = 60492725c8973308f329f752f8ad8db8b9929fa94e3c7b09 -IVlen = 64 -IV = 24c5512dafe118c6 -FixedInputDataByteLen = 51 -FixedInputData = b48b2005456170efa841d45a74bb84064d00ea89f6dcab538dba0c72942f8b7b9a208f424b334daef3654f05bd7a4046563a8d -KO = 2f8bdcc4e626988a4902bf97c058d64298fdd19afc172b9a35d259506a48fd9320baaf30b84e9d361e60ab7355640b8d7cfa5fc41bf9e84360f0c0cc8f366a4d58872ac0d62a481cffaf2258d348ea9a5a3b9678516e576f02749afa0263c050845b7777019efee4e010b318e5ef477eec00408ce9d9f6062b1a0ff43bdad298787e0f8b5095733cdcbd10feeb3e76e0dd07c90d5072c0199020b3a649ea3f0f2aa0c8cb3817d82f2e474ece01b94d45f67fe8ab7b02b3a58588a448a5775a236e74018aa64a86d4df920c464896fd3f4393d0b6deb563ca135ffe62a9eb373a3781a3cf90a4828c38da87421430874d46641897507eb6164c2f5005c6fc061dcc99137ae2c230dc7f0dcc727c3e32bdec6364a6535475713be0c16b4c1c8af3f75f945e7a7a2ec39b544ecb - -COUNT=35 -L = 2400 -KI = 2285a6f349b9cbe85943aa976337c69fcf3f68243f7544ec -IVlen = 64 -IV = 41f8edbd68288135 -FixedInputDataByteLen = 51 -FixedInputData = b2a84a2b488740526b142dd5a9dc1bdbd027ef18e17ef089d2858e0e26b35008bf8d608076157561bdb0235e1ffb72a40a2855 -KO = f6698e1e8e60e09f39ba0cee820161bd8594b5fe3213f5ece7a12923344e5267d7cdf9db5bd9db5da868ebb78375b828877804e67871fc08c85e976c38d428616782177c888f732249aea39c5a50a7dbb76cb2990e4d916994c156be4adeca1787db7ccc9955f719ef9894f660fc32b0a13befede367ac9e63d1ae7bfcea62995e2ddd3477abec677df3a5dd232bae50f7a6be4205d396e40cd48bb74b591c52f7e153d18b138ba85cc2f4d2c49e18b09e7ba352ee19be590e75ce539b835800209d13bf749dd1d1d5f55ea1eff7c01a600c9ab596cba6fb20819975bf244f7918ac0d09bb1276dd82bc74cdd173b720edc18c19e2797633a1460206b69a49600d01d96b1c561c37c171600f8907b6f34b92858d3d364bd0b48381f9d6fadac4bdb8ade4fcfb2dea4cb1290e - -COUNT=36 -L = 2400 -KI = e05360fcfadb8b4e338c7e09d8713cae5a67fb8c12225c61 -IVlen = 64 -IV = acb91acf1d6880cf -FixedInputDataByteLen = 51 -FixedInputData = 78f18061827199c87276626f8cc649233927707d216dc60165cbd427298d9a23de4c8794fd5a9eb5e18b9ed93f4c0436c98476 -KO = 5f68421b20791690025c6aab3d2dd33517efae7b69eb84a82a9bd50fd23ac248f17777673ad12fc0df4acb6663132ed5f2352ae8c27d1ee70e373803c76be4dc096155991d2c2d45a7eee5cddb291e121cc19be0575c18abba6ceeafba63b80beb60bcfd5fcb99e27b151adff67974751a9ad767cab15d1ec318b32b78f7705b2cb88847387a0381a6caa1d7b9eaa45c51ea81f6ede431cdfd4bd9c7c57df3d6c2e6f2f63869c70cc714ecf1b3844d428f6c7752b56269874483f669b4347eb1b7a40b5d7ae52d407e3d87e31550315105ff53ccadca52c7d8d040330d228f48bd1a2494b914e77dc6a7f6af88157ecc129349a485e2bdd9d554b6ce412e3dac2a24662a47bfa19e41007d922b3190c4a51fd9feee0c5fdc6e2e876ef703cc582e9b31fe463d036c137bde38 - -COUNT=37 -L = 2400 -KI = 32b0a7930225db295d535eb9fde4341154297234ac32d3e0 -IVlen = 64 -IV = 81e1a4a4d13b122d -FixedInputDataByteLen = 51 -FixedInputData = f2912d9ded372bbf46d9d656b260ac5372ac18097121953446f913389b1d2a12639a9167757b5983729b7ce2a767ce41e3cd06 -KO = 47eee327b8e2ca915211114c63cd03fe095d7b375736c02502b4e7d467d804f27f25a1b7fb764dff83a7d07371c645f2f424c5112f5f7bce6f48fd2065bb9d9954fc35b9e863cd310b5f00ef8098913a45ec460fdd567972397b19e7bc894e1adefe0ad6aede6b5a1740d27f2cc87c34a0c40b9d38c023a9cd84e6b06bafa03a8194e65231b2a41d3a8028eaad3ab9ca303c655ac6fb50b291e717a4545999874de8f1c77ccafb4630996600fbb8062c4ce7089c2884d0f088a73100a616d4bdea77223b8ea37f3c848981a61d18fd88ef722f57d485154139d716475c6587e770954dbdfc74e6ac25a793c66b2aab360bbaa7e1a04d338105eea5fffdbb82ebf7142bed1208a17da7e9f5b778a9eff85694e57a8a3e2b6b6843a0d0847e0217579e0f22af166325c7d1e375 - -COUNT=38 -L = 2400 -KI = 9577845a257a21205cb7b053685ce75dba273c82d0457323 -IVlen = 64 -IV = 71bde20a483871ab -FixedInputDataByteLen = 51 -FixedInputData = b80cf7b491f3b0cde684c9b71c89b8404181056c984e3fc7609f5d6472140326285fb257041d2f85c108e2f4b4fd0f61bebd19 -KO = 67ac40cad03430d76673d2cd2af89e24a2c1cd4b4c3bf5bc1c9f0b760d7745d5e39c3fb13df54858d94a1116149c85f4f1ee38d226f4b3f86ffe5ca94fdbc7ee042205982f9fa550f796830d6dea81b711b50d0472d9d88714a3c96bd039fcbb90f00f0b8bfc46b35e565b8d672673c828441a88b4404ea09f33a556774d9e4041ed9a4a638c768f8cb14dee78563a38023d6f7111dcfab8fad1f2dbbfac7d3270d721226ef5b6821d36fc22054640efcba6a3513ff2efcbfc7a5c2a34b488b842f5d7430aaf2351dca53dc748134283d7315d699798a8edc916460f8a688b195dcfdd0045131db4b92df6a12c9b0e763ab611f388e9c1898137a206e79c097f91af04c5a3cc2344bba310b8f86e2a379a09caecfe9c9d043705fea6f5d74901ebfb2358d2454c03311d7e70 - -COUNT=39 -L = 2400 -KI = ff4566b3ba60c8e3849bc6fccb38fc957df3d67582159d67 -IVlen = 64 -IV = ad03f18eef1a3d9b -FixedInputDataByteLen = 51 -FixedInputData = 1101767861ff2e688789d238cc6b921329ed51af82463718acd843abf4e097177a7efb4ac35e51f167a2651837cf3aaffc05b3 -KO = d879dbdba99307ac600b02ec77214086f83a3cb800109c690d9e9262a4e6ae457ac794a6ac64be325543dfcd31d6a47fa9e31bc83c2cb7898f7e1c7d75eff8bf8ca1727c7ba578808c1db90dc112cbc183cd64419587cab72e88b3828714dae7585974c72351ee755329c9fadb475bfac8c093aca3f7f26cc5acf36bf3654301bccb9a17e25d960cbbc926ee10b944ed0ae1ed1ebb85878e2ec5ab64452f3342d79d6e9eed1ec86dcd0ac1419f403cf99fd42d48d9a150117c640cd2597b187ed38a73e9e8536f6abae908faaf26fa6959996ff645c7071360ee8e1bc20fa006977701bde27e75dd11a17eb33d08eca4b4aebdea8c96d5e15d508b6ccf29df51e632dd34f0e074f33e6f90b97be8c0b4918e8e2666c22aa8e9319b738769c1a3666875128516661e46e90c2f - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 6c61b1ed7d6aebbcf24d4d99c1620ae290f71f18cf53f781 -IVlen = 64 -IV = b58e237091922fd6 -FixedInputDataByteLen = 51 -FixedInputData = 119881731851890d93d4cc0437dd3915a7c7226b7f9b0c120c290a2aacabd32ad0edc5d70c8a3673fd88e0b146526c81cde872 -KO = 08cbf82a6bc088b09671676abdde2a06f1e90199822578a48858fb6d4efe919c5d2be920404cff33021f6a9288dbcbbbb28392e486dcac2d662e66b168ab2730 - -COUNT=1 -L = 512 -KI = 3e8764b4d9914e1ce1cb2333125137c182b0409cd68e021b -IVlen = 64 -IV = c3e4282713f9c9d5 -FixedInputDataByteLen = 51 -FixedInputData = 8ad6bf61055f2a708dbc0dc491279b9db94d0c0af2f2fa9450f19f7f94cc2aa116690e49a7ffb1661b968277f4b0445f02cc34 -KO = 9e2dfd3811fb6512a7de3b8b6a86ebf4478016df12399d96debade2efe54d487fc5bcf9acc5aee530b3fb05b2782e22853b934ad87ef4b59247e3a53131006cf - -COUNT=2 -L = 512 -KI = 7dfa9e5b0a7f34f3c49a0689ac82f5edc31cf7c6d967b22c -IVlen = 64 -IV = 39b120c7a873c138 -FixedInputDataByteLen = 51 -FixedInputData = 2e30cbfc922b17614b600946531087fabf8c0b94f0c762e396030df208aff1d75eb096586af53cd853a3c1b6c89d31c5c1950a -KO = 7b8ff80fb32389a716290400935179aa9a13f1df634bbee13bc5e1b3d5b8e75e166e327fc6dee9d16fbef8e3287b054262f4dc20e124c19e8c09d1ad63edae75 - -COUNT=3 -L = 512 -KI = dec5260e0cee17cbf61b56090b6983d06c8e4f4f23eb7434 -IVlen = 64 -IV = 608e7b7ca69df01a -FixedInputDataByteLen = 51 -FixedInputData = 5755bcfd24e994122eb7ecced28dcf4d92db2ed68b79e5a4a5a545ad2bd58ff04a838f7e2ebdb6f2a40b337cbd9c9c4e8dc01d -KO = bdd7dc23f701a20fe4c617e5e4ec0a300cb7ba3afce3c5716f052fd19b570d31718e627737e6229b04e1b85149950615d6c78c63f6a6de6b3b24190c84545340 - -COUNT=4 -L = 512 -KI = a75831bc43b255ce8d344f6008749f56df7695fbadc6e3a0 -IVlen = 64 -IV = 446560752b2e9a54 -FixedInputDataByteLen = 51 -FixedInputData = 99fdca93cb09f127224a4adbbd569aa849e9cdd9f529d6ab3ea173158a6b6502e7140d36ec5c6534b62ab75ac14cdb6ad61256 -KO = b31c6529b4216224ac08a001080ff7dd28670778d0729e1e2e4215c99e97aad052fb42212aba2e90084020bd7ed698864bcedfe735cef9019e0ebdaa4fa64bc5 - -COUNT=5 -L = 512 -KI = 08ad26167425103147ce4a8f5e4693f598c888dfbb70dd71 -IVlen = 64 -IV = 6dc4302fe1cb9241 -FixedInputDataByteLen = 51 -FixedInputData = 154114427c02d9af9c777cce2597f065d98fe664a1f6c58f4d5b19e28e60bf300bcf541fe14d4c3ea0d83b59e2d6d3cbef2f27 -KO = 7e6c59a5a5550e2d78c5d376756a728241ea0737cfc2faef9951efe5eb28553fb9733877f3d8b05384e61c682758e09c50e93ad06a27ae7fa8f023b7312306b2 - -COUNT=6 -L = 512 -KI = c4cffda9dd50371d0a2b76d0ef7e15a50e6324ad49cb910d -IVlen = 64 -IV = 6c600ffdd008f366 -FixedInputDataByteLen = 51 -FixedInputData = 674eb430955fad0020ee784176658275102116e692440e12a1b1d4f4dae5f7555972879a6befa6111c4854b3bca3e70dfbc08c -KO = dbfe1fd94a27eec4dead8a4bcd07939c3f7fbe7a46bd1495ac9fb04fc33768a39e8c0e360e35d6ee553f8905277b36d7f025c2f234d88c1aad64898b0a693a61 - -COUNT=7 -L = 512 -KI = 8b501960e9b52574dedf485947fd33b06542733e310713b5 -IVlen = 64 -IV = 920adf172125fc67 -FixedInputDataByteLen = 51 -FixedInputData = 33cf6eab9e7a56a7c209e4a214c17b1423e90a386b68acd55174b7bf179debb101c7381a130f5f02c85416f65695addd07ddcc -KO = 63999d356ca4650f433c125215095c93a3735f2f872423135e8fecc8df45e9b1e34fadf883ee3400e021da12f466a840e66bf87f47751f53604df52e39484aaf - -COUNT=8 -L = 512 -KI = 12ce2e268e413c518abf0df3d1ecdd8af2805652cc98e9cd -IVlen = 64 -IV = 1348e3ada7de1578 -FixedInputDataByteLen = 51 -FixedInputData = bf9402a20a7959b6de325026f7e9fb9bd9a5fa60b156aa5a8c57f5fb434e5f9cb426bdbde9ae7b537777bc6d1c8f528c95963f -KO = 0982cc4b6d8a4d5bb76ca74c8bff8fa73aa9e78e200d0373f2c699ce6b68b977ddf4c80bc58d2f6fd69a21b630ea3cb2ffb9553cd618d784e71b8e417ff0a3fc - -COUNT=9 -L = 512 -KI = cf3e2b1599807fb9a6596dd16d0ce458c10ba656b76cafe3 -IVlen = 64 -IV = 1cfb405708a75958 -FixedInputDataByteLen = 51 -FixedInputData = e47ae170ddb929339c9458961cc58332d2a189a681d9aaa9968b84e26c1f1709165d7863cb426b8117909469b0f159d6c2d522 -KO = c90f03c352282fa31d0f1da2a27cc28babce63d0c15b74863022dd271cbcede1e665148b3730aee31a26b901cb2be96fea2792b7e2bfe8d608ba61e94e338fed - -COUNT=10 -L = 2048 -KI = 85567fe604341ecf65cffbfd7e6495832761416aa6eb5d25 -IVlen = 64 -IV = 3a554593995219f4 -FixedInputDataByteLen = 51 -FixedInputData = b73fca6c5f81515f96834fbc8bf20bd2edf8a349c5107d0c288ad85995ffbf35ebbebb7567d19e2392d5249dc24e47a28d7eab -KO = 60538e589d3623a8ace886ab2241b712b5eccb5a0f34f4600aab8eecf260bc74ec906e67097ed7a93e5a7717a6eaaa215067483f7aea697b64a43a72bfdcf10f61f6bb60099494a7b70a266d16e8005c43b32281117f9c22c4542eae370e6845914ca48b668da4a7697b0d5102f45cccb494ec7cc045c6f0a89006640b77bef749318af83ad8558a4c9d554e81e4864e62a7aeacf8e4c4962c1b2fca6e7f7052fcbca18cecf187c5e08e2e8151211e408fcd53d317fdf0252b701ed08b1fe0b1fc9af7557f6e1439f63d0dadda151133033821fe706c2287138a202db217be937b1f054a1d2fe7bf6c4c9602dc3b77beb145be021088135fc43938963933d968 - -COUNT=11 -L = 2048 -KI = 05188a1d631152287a480145c2ff2e5cbf2f6b32ca68e57e -IVlen = 64 -IV = bfe91d1313136803 -FixedInputDataByteLen = 51 -FixedInputData = 71e8610b165a5ab87693cc2172678b52b1ed7df70373613a6a1e4c4bd408b8a6a52da0bba36402313147e231c472384480097a -KO = ef95497537d061efeca4711fb7f14677e43bf54078e6255f320bf29c911a1fd372bbc63863ab80c2d8820c983decbf2f31940ad2cf94150f8d89372535c782670df868da65564fef48376a93358801045bb72067a7a7724ff9b998c4d5d0a1dea24c01058d9cdc94e0a5d25c1dc3d750180576e148592d77d7b66e382e08010e1b1dd717c55e5d46cbe2e7c002fd840cd17d805243138a2089778ade4b9b0035bcc4cd74b275e8ef7db15cfca7492420537d718b21d21715440368988f497cf5a5c23b4b52475a241b56aa1069f6cef4f5875400bc8cf903b93cc3391c817e1bebb663170fd7c44749a953b58b8761a248cdbeaccb759b612f977cfbe209feb4 - -COUNT=12 -L = 2048 -KI = 4cb6c8a0f1c2d3ed9e551a2e232233aa582d9e4d5c76c864 -IVlen = 64 -IV = 620fab48d2dd0daf -FixedInputDataByteLen = 51 -FixedInputData = 49a8ac0aadf33671fecd3f6af841c0cfc13cfeb9cca73334e4c1145dc1d3d3be4e3b21a431e1ad645b1fb45c0790a988b93064 -KO = f5da76d48254a09ee6dfd073d0cc7a4a62d28a7161f4e04c968d97e69f4740c46bed80025264cafe3afad2ed0286f2265cd19b22769e62400fb316f82b3f884a044d6a547101e8602f975d36479fcd8058c568199c2b1ff81c8de7a3b392c294ea6870e0e0e624f5fb079b9ad87954c996bbd8c3ae0d0a41c20691a5772d801b5a8bdcc57ce0322f490c19c7d313cf835260b755daf096ba6c48fe03a27aa8ba6bf8d37205aa52e520048d6c964ceb927a225f1dbe0e9798699353c0dcb5a766ec1af6fb5e738c6a9c2e33ca1bb173f07f4ac518e218c270e7e32459e2b72a33680852b53bdb6d428f8e70e3052dc7b02bf26599b365bdfd70bae0d5c6b08d90 - -COUNT=13 -L = 2048 -KI = 1334cb1000014e06cea59c4d66fd7a6270d8391fdd90147e -IVlen = 64 -IV = 8bdccb68bd00c686 -FixedInputDataByteLen = 51 -FixedInputData = 805c6847e3fc5ee0b5950ec3b34e70a8f15779cda91fc4402683b1a76fbbbac0e1a2cae0dd5ff263670033d26aa070e64365d4 -KO = 76a88d92214872dce21729c9e21abcdf0eaf8c6353f12ab9e0fed2fabbb10a8be8c428603a8625e24b5f2d61add9efe762c51aa2fa33cbd43f488996b47c215502a48ef31ce717d65ac14b66c03032804189c12a780c0bbeba5cf1551eda6b1da60a3de698337fe10baaa96bcd03434ce68c14fdbde3d9dfd7dc2f7c234d4f060fca060b2c6d9bedb5088bb4f0aa4f66cbb140b439ad7474ceffbfca8ad12c9bb7bee349f9af55db04fc8b281289147f1d054ed184116dfc46d470b7a0a2ba0b7c74421f7ca676ec11013abd467a87fd4948cc194e65d9168b7c7d504aac88ce2870319d91c35ff0956374b42785bb2b266afc63f07a8ea23c5cda0648e8747a - -COUNT=14 -L = 2048 -KI = ac1ea040dd56e140cee5c1e4875888edff7dfb98f22744de -IVlen = 64 -IV = 36036bed929c9066 -FixedInputDataByteLen = 51 -FixedInputData = c99a45192f95779bae76e758ff2a30b606b81efea00225b5c67df62aa9c02a360ee08581d2850cc72686d53692369920e0040f -KO = 84bb039d6c268474f305e76d7af8ec1a7622844b11621ea70d38e94aeab2759f33fc469b33de8cf22610bf3e1e3437ecd82ed491bcc9a6c23fe26b922bad0ff8f9771132a4e264ea3fc5fb7879f7aaf82607db946778436cf67c8b24df8393c984297089c125622cccfe43a6868735e83acd950d155dbef4fed52ff81c15c746c1bc080634c553769f02f94eadcc932464c43323b1f522f90ffa8699c0069573800ecdb9f2dbbb361374bb1f9a0541d1e08f10d70f5b98db4fd07945956c5e382a8f539d55fa8bbce3606987a64ef4400235207b326a6aab0354bf67cf47860e60a67e82e8d5235102197f121f3ceca74c5d34ac1e61797fb3431e1de8058a02 - -COUNT=15 -L = 2048 -KI = 2920793162d3b6d29cc036b41904a0b098e950e7e01e01f5 -IVlen = 64 -IV = 945a41148e48b3e6 -FixedInputDataByteLen = 51 -FixedInputData = b9298b8e4ff254273cf2cdcd728de4e22ab170f46dfd44d3eda6115c304479b5ef00d50ba0c3a3d5323310105c5ef49767de2f -KO = 60ffab6f66ff61b1aa61723aeb04467e9c2b720e0f21bf49c392376052187b597d9becbafb3c91eb8b69bda4e45a5950d73120cf5ebe8d34e0bbe32d55d43a97ba9dca351b8d0d262cd00022e9f1179d679d7a1ae25204801cdf60523af8b590b7d662b28ef877a4710b3ef5224fdf0fedc34b194841c6aa4f79a06f754e34efb5b983f68b0345c00fc4393d268df383e8353283e8b4354ea7df8796c1a72848c94f7f91a8748ebceccb9cf28a60620bc0bcdd0e930f43c7e32690ad1cc9a46201182f449f5b40259333ce73675f2850571989971613cf17732ae9171459be71507343cad9f73f553534173dc18b767469b037dc584273ac9622130d77518c93 - -COUNT=16 -L = 2048 -KI = af22ef5c8dd45665a6789f3d73b389b754ddd633e98075b9 -IVlen = 64 -IV = fdf06dee8c6e4728 -FixedInputDataByteLen = 51 -FixedInputData = df4255a85800efd4d75b13e44259d180c6365f0e7a123cbaf7454f3bae827277616c4f1772809354bfa8599cd74ceef02ac8ac -KO = 4981fb2911b7b3c3e7a0fab8eb5fe41393452d964175dd017a8551e55b748aefa9e7aaed4b6767fcf20a7141ab4cfc150d3198412a9acb6956cd4319c4b8b9ad20c8f63c767ffbb5e406a79470cf63b52b21201ed45a7c522615482a9be0539dbab1c85b8bdce1ee52e20112fe1648eb7d25bd605cb0de41a51bbb330004de673c896c07751e5ad85e28b01e90302a52bcde8622bf8a18e9d9d1ad562a70d40a252c1021598d0a03ffd26f27012b7d1281e24be84de3be587865b494e01b25ed26b6d09d4555b4f7e34173666b1e83a588bfce55a360ee17156eecda40bc093caf7d62411a3000d6aab7c36363a3de4c94192e3dd08096ac0718ce375ea39edf - -COUNT=17 -L = 2048 -KI = 0171ec87828a898ddcfd40c6616c67e13dd4a79cafe8adaa -IVlen = 64 -IV = e59bc7b2d7f57a2e -FixedInputDataByteLen = 51 -FixedInputData = 801c2df1dafd919bafa112e8984856dd6ac3c3e787a65da1e3744717dd365a84d06685937ce532d8e73e4e04f96a3dbf2f7ec8 -KO = be3a454f58de59fd173102285a94bafd5a914f5f631a25d9e6fbcffd34f6c0d44b6686078566531bc0abed4023bf0ed1068107ddb20d5c5918652212d2f71834706a20e93465504e17ee79ed1dfd6ab9e09ce68bb41c4e9b724f551e8f37e94fa5e53ea21a99bee964c709420a46c0856ea6660e9e1729965c136f1ca30f252af99a17c406c0e1c5af4413d3e09f56a4d4aa76dc9b437d418a57cf1ab93d9e3bbb35b689fdd55f82031578822df88bd2c7d8e21ebddb2b032d24634c647e08c970bf52cd1b8f9b0854098bd1d773eb67f502e5ccb0940ff079b86c4605c3a50123a67d91c27102bb6a25346cdbd558fe2143babe6a1cc0c42dd30bbf98b2c9d7 - -COUNT=18 -L = 2048 -KI = 0ce651a8e243a89ac7efe7d938090b32eb33ef7ee55821c5 -IVlen = 64 -IV = 35eb52feba06392e -FixedInputDataByteLen = 51 -FixedInputData = d79f747eb55e9d2065fa1581c6bb0762765157a0ae0f31ba0d4b629d2f0cf7ef6bf63e0503007c3e63f111d2280409f001ba80 -KO = 99e0cd11e0eda46c4b80cbd09caee7c23dcb7327305348db7c596dcc8de37344e92b95093ff95f17a92ac5e8f069bafd7acced91488e8987fc3027b2a4d4c3eff7f41ec8c4ec9e739d5386ebd07d59260352a2fea8a3ce1be615d67c076c02970e3584c07075d4c6c0cfa79e1a38a28208c17512c192668aa9b2567aa738192b98690ae3f9efe7904fd3e82e88be3d8579df773607a82532194626557a392ba24300035adc0f98da74e2eeeba0a4113e96c53f05ea7027040fd2327d1fb4907e7179c87514915c33fe8c281d94c6bd8561c63426d85ffc3c304b25c57511157635b6033f9f00b1ef090f32c7c5d5f5a36719957c6ac2094859bde740d7bc5850 - -COUNT=19 -L = 2048 -KI = 6b3968ff4ca92fb781da8a55985013113c6ba960104a05df -IVlen = 64 -IV = 312541db4c02ffdc -FixedInputDataByteLen = 51 -FixedInputData = 5618fcca9a4dd95648943c9b3c0f42fdf7aa76127084e5d1d48e7bba70df7031d54c798775fa90c104fa501d7b8f161c5f2011 -KO = 35ecaefdb59d8ab8f329c60d6458879446471dec6b3c6dd2a257e45440be3a71c57b87606670bad6af14dd0f90144053ae6de6c796b6b3f8a9f0d79a586a2461aed109b4289018a85bcec06305b459ce0f59026bc54e379320cccb975bb96fcd40dff5a989ecc8cd4c8de8ff6abf395f06a9a0b0368dee0afaf15168b36388a5e2cf27f0acc2791b59a8d7c5cc22e3fd78742dd714da75cb05bcb9505976f6ce06720845bbec29c1a03e04e666bc7b134215ed331d4365dcaff3462411aa78c0a3c321f32021fbc7965ba3032daf2df5590b5f6f1b66746cb366091eab248876967f0e64473c0c184b76096f941d249e00d7e6d29b7c35b962929465789335cc - -COUNT=20 -L = 560 -KI = f8b366dca43dc73f05657d9783d0207ead8414060e1009c8 -IVlen = 64 -IV = 9639b6e158c280d7 -FixedInputDataByteLen = 51 -FixedInputData = a98133a21b72e1e9bf43101ebe5a1ca3bb5eb7a7b31ba17aa7e7c9464385415cbbaa7ca511feabfd520ac698dd1abc8143aa89 -KO = 295e1aa8bb70867990f6019f52047e2310e74628ae2a2ff01b3c7d63fabab690a4740940dce8fee6428e6018e65619f8de2933a13226223dc9417d743a6e8f92953897218e63 - -COUNT=21 -L = 560 -KI = 2250196f8440230a0b2a2c95f1a868839353ec744c6b9025 -IVlen = 64 -IV = 83c74a1f6a2007da -FixedInputDataByteLen = 51 -FixedInputData = 3326f2f4e87bb9cb4839805041c2e13d5c003e26db4b0d597c6cfc383183afc5515e5b735bddb55e186b081cf7fe1ab553480b -KO = f1b75ac2e243494411e357e83da910d7a89b65384563f8c5cf0bd617a76a1ee77b79129c8399342460d084295cf9b34516f640b2070a397cda22581d871b1327d0b65ac6d8d1 - -COUNT=22 -L = 560 -KI = 3b77d959fabcddca02cc3ff373c3897125eb8def3f4d94da -IVlen = 64 -IV = 2a4c5c8e8e1d5661 -FixedInputDataByteLen = 51 -FixedInputData = 422b0b7a4be6fa7e2970581b4961bb66a1f79b50e5e45f0a26134d140818261414f4c88a24b7a8b7639ed311839ce1265b74ac -KO = 9692080ae523d6ed83461efac1a229e2b76d40a24c0a3d79a61a2588a249848de192003f4e4b047cc06e9c1b877929756a5290c5a9e5ed0e8246cade81b3f2c2ebeda15f0e84 - -COUNT=23 -L = 560 -KI = a69bf34a9ba76e7a577810d3a6ac3ee56e3b3c66457fa59e -IVlen = 64 -IV = bb0837dfaab09ef2 -FixedInputDataByteLen = 51 -FixedInputData = 291214a1df5bc9ca22aae8c0720036fdc4eed6c4fab45667c869d7f044eab53b2fd339fa11a4412341439c1f0877a7b01c269b -KO = 64dcaf46c6c4e98ff5e98a424b5f1c418fe5400c998e8a40d5a2f4b437185d8eece00f5f169d4b3cf7b1d35529ccd5b7e2caf372fb8f8c274ccc5bc64e88c81d46fb488ee424 - -COUNT=24 -L = 560 -KI = 5ea203d5775e9cc155dcc8cc93ea74a3ecd544acc72761b0 -IVlen = 64 -IV = 3e67e59c1f177330 -FixedInputDataByteLen = 51 -FixedInputData = d900fd137aaea208e0f2b4c36303e69560489f12bbbace4aa9ace7c6cefcc0789f2a945ba1bcbb060865910138e31a0f9456e0 -KO = 0f227702a84c060beb198b52f146771f933cabe2950b73710bb2bc2523e80f218f6ca6df94eb089740fe6e01efb5d9181f44557bba8c8adc1d4f35e1958cbbe7c0c09cdb3cff - -COUNT=25 -L = 560 -KI = f131494a41a2a895cd32e71d38934eace30db74c683e45a6 -IVlen = 64 -IV = be99c1cacd9b0fe7 -FixedInputDataByteLen = 51 -FixedInputData = 0a2a6c147943d3eb9233944312afd0c829c10e01999a6c87a2c40674bae86e9dde6da9f3c7d438d5674108f469b21e245964b8 -KO = a43bb4cb25d93fc3cfd041773e8110fb99ea8c64e9e29bd9b1e3b59b78632f8ce083ec993cca84e844f90e6c4d558ad7a0ef7c6a4f512a246cd5136096fdf05051a6008c5720 - -COUNT=26 -L = 560 -KI = f2fc6d69b43ff09475362b8af495ae8e0562795c3212f52d -IVlen = 64 -IV = c0dd6b37be23e94f -FixedInputDataByteLen = 51 -FixedInputData = 9a5d2bc52afe84bde42850ccad4f8676e7e3f6f9daba7bc17edebff37fb159e428193f48b22f2c73477fad18ab0ca68e09760f -KO = 1cced4a6adfa33e6711c032f0dfa011f523b4419ea40800c2d16cb3a6e6d792ce6271df9cd434d4bcfcd37c8708c26f49e35c54542865ae952b41fa7738a963668c88ca32b61 - -COUNT=27 -L = 560 -KI = 1d3b087d46c5d2be27aa50ff68633235e14b3b816f292786 -IVlen = 64 -IV = 6ec7cfe48a614d4e -FixedInputDataByteLen = 51 -FixedInputData = 12f12efbf165587eb6a7fccbc1a6fdbf784c31facf48a6715b5cf95018e1b03ed0dab2135f1da7388456a172e28bbab8bd9b17 -KO = 1d2d5c2282c4f2086d54105da9eb4b7c6edfca650520380c368fd81326002dfbdcf6d3e7b1c4b9380b1f2d27b5a4553e9e2d5ed8669aab36272070c41dbee3dbc1b8d07385b3 - -COUNT=28 -L = 560 -KI = e7622f36037a45664d72b1f6a7996188a8fca283d6544ade -IVlen = 64 -IV = 2e6ba65e65ff1cda -FixedInputDataByteLen = 51 -FixedInputData = 8d00ca5ee2c780c54295bab1fb782897d6beb1ae56f27a695fe93b4d6a5d0026684860f9eed9892ca43dae6bfe6bc74882b897 -KO = 2bb659fd8a15133d759146fed6bead183b94e0d355d92387f6a3c59d60895c3ee49f963cba26b72044821cc9b59c065bdf3c6d28c17dfcb150df7ef0bb1eb5f4c662c1df2d7d - -COUNT=29 -L = 560 -KI = f1569bf4664e8c11afbbc837f89d1b14efefd8f119e65d8c -IVlen = 64 -IV = eda5c5f284813423 -FixedInputDataByteLen = 51 -FixedInputData = d87b22d3c0fdd0c80d4f1cfe9dbb03e712bdc605c68c8db732adc8e7722a960687289818a949a5f6b414dfd9ccdb10ad654373 -KO = a1e950756c1a5fb4a57f14d46c378986bd3d8d5dc04df100f959b84475ef13fafcbcff6989afa4e5770f56aa5d67cf48429ed28c091ee403d2d5839e84d05035c7bc6ec25766 - -COUNT=30 -L = 2400 -KI = e0fc5925851c926d48414476039c2ef7f73d5dafa8ec88e2 -IVlen = 64 -IV = f15e9ecaa1bdedf8 -FixedInputDataByteLen = 51 -FixedInputData = 3a02cd6da8bb26b12e3c9eb457d99a20d6b414762475d27e270d45b76b7aa9e9ad15c39ae750d67e2b4e82055dbf27b0dd1f63 -KO = 2bf6a92ed4ab29634c2222bad53db6d27aa27db3db65dbbbf4211560645780eaeaf54410d29055b5b52389c8979391da898bde9d473b285299c71e85fa1302ac8a20be9ec0570fe53289ec927544a0faf65fac1ce15373be26017e332af9a51c9dd8ddd09da2acd1646b524b7ab767b9f3bc4f5b1423b62bd4f45a832de7d297c7ffff5fee206494edf19b940ea122613a8f71765bfdd6809f0757dfe0b398aaef96b8fd856dfc6a9b18cd0dff78e7c1aada8fc0ac497c6e863f3b9c194bd834ec3fd00ac568d4a5c7f06848d6ee3b87b52898273dc7c76702c95aeb4eafd1d4f4770960d8f2ade1b796c0dc4240b9cfde82d75ff5bc253fe8b1a1eb733864dae31a04395ff16d390cbbe089a94ed3ec1bf689e72489a1482878caf181714e246be4c129fa9a54cfb5f9205d - -COUNT=31 -L = 2400 -KI = 1c9dc1b161db9db4c8e74ef71dd12efe6115cf39543c87a2 -IVlen = 64 -IV = dad2f3e6d3711ccc -FixedInputDataByteLen = 51 -FixedInputData = 4c00098efd3bb4707f2919a54c0ae131b514ee2a50f1907ae4c0d246a67a55cf33e37a91d5438055ec78c43176dcbdf6fd6b8b -KO = e654e26bbc621c0cbbc18f7a933ce38462db05631314b502da1644f27ab286e7117e0d655c3ea9d25826900c5feb440ca1566fc2f0903b0f075c8f3afea1eaeb4d811f7345be8ea4d9198c4c5e541f9f3b6bc0471de0e6b8fccab6eb40e47ee68f411f024a4a7126573614ef3716af3ee90e44a0471b76fd07984ad4dc930f41474ec59d1c2efd79afee02377d0a88382c6beabaadfa05bf4184495b08c585191ab0cda2f3025c6d4d49d03ff4383e69f7a3ded644a1f5de70fc6349f7109c151eab517932dc30f2c2478d032fbb717303ca91b85656222f87f39d4524ad81a9f05152aa6c03713f73403ba82aa4fb42e844322f1d737c2cbd695a10d76eaca97a4a768550474ecd54c03bd0a71e5bade9ed5ac19fcd671ebf50120a8ff6035b6903953c12c6a1661d33de29 - -COUNT=32 -L = 2400 -KI = 54978f0aa51d99cab1e49f50c7fe58f4c507322959921dc5 -IVlen = 64 -IV = 2af9d8b7110e283b -FixedInputDataByteLen = 51 -FixedInputData = b24c4b445307edfa7cecf0b33e98a2ffa6cc8fba5f61589af1593eb4b93e4042e17dd72633c22a7d31b8d3e0b89bc5284d9d7e -KO = b7a8a2d7c95b17b6e9cef830049db569f4cc13b7eb5d4361ef04dcb1aebdce65dd48e1e3881b2b126e2f446f1a1c49c0eb4b7fd9d40925c20ff546db310e05680707612855835862cfe382e2c44c44ac9093a1bbf477f984b871767a447ea9958ca014049dd5a4f6fa0764c71efe2bdd65b49411a5559eb2eea2988329e401260195f32130d08a3ad640996e15ac855769397c03edb48fe9748d63406e8789386dd36cde4295026c1652bf6ff388dbdf292c92d54c7a8a4b0d714ad6fd8f78af7047a12aef082439ead07ba9d57aa6090cdbc441b20072a06fc588e4405dbbd3ed883e5c88aa10100b0f529d2f237313cf1aba0abf2579188f4fa5a6194b0fe39544c87a7dddbdac561efde65b0c6a187c1047df06c851a1b08b5ffef815c92a12627741e599c787c29bc321 - -COUNT=33 -L = 2400 -KI = 0eed0432ec54383dae302dd8fa1251c8cdf2c2a87b3823c5 -IVlen = 64 -IV = 30fbf7a54e16e2d8 -FixedInputDataByteLen = 51 -FixedInputData = eb842dd1fa0ef086d09388306dd852b8372679eec69afc54da2b5a09317e5419b0a7ce511e5641e37b006c1c0a3983cfb6b574 -KO = e5602e42370f062d447deef35add7aaeaad21cd278f82e76b61ec4197e6aa179af34552f607b79cf44e3c6f69401ab86b231d35a8e3058624ff8db15e3b42057c07b807cc4a0e82ad54daae0503bccb04d5c416c114407ae7aa73d61f71c11ef70bc3079e74e93134cf204d4e5bcd4b29dd2453b276e5982b94df8d1e76916b55ad7153e324a2911fad2069914432abf6175c88a448c72bef3790211569c83baaf5a912505163b844d6ee8e32ad0519ee65aea79c473aca07fa5108b51c7ebaa383b91dccb6f6dc938112f51262a24e78146b65d5cca528b62fe110bd411363653a768fdee0c060d7c99fef29065801dfe0409ba76305907f07d183b761897f2ffb7c7c10e8381af01a02c38a78de6ac77419478f303f142bef38fcf049da0ef305b1cb96deea9a35250f464 - -COUNT=34 -L = 2400 -KI = 10f059ef1bb3745d4cddc4d12a2d77836aaf7fdb57ce7e2a -IVlen = 64 -IV = 862cdb1df3388772 -FixedInputDataByteLen = 51 -FixedInputData = 0435965e11d4f0d207e98d8070aef62fca55dc689d520335fb583b98e9a8f2022d685e2a849a8e477fe76c1a5d02a31d58d5c6 -KO = e1403ed5db64cff0b667065ff6cf3233ae8bbc80e306a2b9b265849c3187fb24d26321a6aa49d4573ed9e34a1efdf4067e24b5be1c6d6c4f507b2c8d4656abed742aecd77a8af9af903eeadc4833109bf175473ebcbcb6ac56650c70009f2513763f7e1f867ea278716c8d0592071d0aa8e7b51a7fe8d09967829771c867b9d5b0b37a9f0a431b038638dd45a7e326b93850ba214d51cb7b055811a18fe430cc984b913ea0960dcff68b106c97e8dbef0e1355188a37d2270d3b08b980838e4fa0885792ff77e8439d5daab76fd7fd10d957dc3f4e18f4e52e2331923a8614de10556ff743f7c45c6e6b813fecaaf82d86e510c64e0d79b1203820c57b32f3eb7ac47eeb23a375c7e254d6a172e429335d69f7c274884f0d7b61bc68e52b8138844747e9f28548ce79b775f7 - -COUNT=35 -L = 2400 -KI = a9578a11d355be816d5d49c11a9129623dbe37e8b5a0e8fa -IVlen = 64 -IV = b85a155cb991cdad -FixedInputDataByteLen = 51 -FixedInputData = f6651e89fc55c4a0a8008a8b4ce51028f925093cd76d0400b2af8da34a50c0faf74b15d336f5d0bd37f04af5c843c43c7445ce -KO = 749a19ad49f0e13c1f702dda923eb189d71b301b5c8f6e1fe0a001bfbc829b59cf9925119659000f89728800beb55ce5241d7fe69052057af118e615fc74b343a10c29d1f5f9304f6b696a683419ebb7f670b99f16a50b98ba441c1d2b5c7f624edf8f6ae516b491f4da247631d3236a9b715d88be7feee7b6deb688a42b8e5be26882f5361abf7cb54ee5bf9c09112270666811b20a595672d2caab3ed8f8f7c1ee304c6fca7023e771087dcd8374a4deaa24d2b12885598cb42a3d2cad2262891842c4c445b05f7f7c97d4a88641ec281f6f8cc3a451e4176b063127971409401ee46ed86d0267970ec2a3a087a44b683c529b929c78a603495f23fb174fd5b73808c0e428b419482caed264f311e0663276f79bf074ff76ac4282fcf76eba5677c4ff55b43d097e35abba - -COUNT=36 -L = 2400 -KI = 4ea6561e0590a03ad6d6694cb64297ad296856f2e3d5bb24 -IVlen = 64 -IV = eb23eea5474c50dc -FixedInputDataByteLen = 51 -FixedInputData = 2597a4394f7c46f5f61596d84e155275f6a1d231981cd20f065e3031d77fe280a4b473606f878661183d85bb82d7e5428fbbdf -KO = 534d68b94229a9dd7806c82a1d689ae1e0ad9bfbe670e86482dc9e43e72159b591bdd4f1e216bf76614159ad804d18845f52cef70be9fc2de24af1af60331cdd0c54cc81ce4c987cc04c54894e2b9b82f18f838851943e7a7987468361a508371f85a9d1e862c8d3c93cfbe02281d135845b70efb1b75bcb3782faa1c7904046013fe72f0b55a057ca78b238cd5a8664665b1929473ff0be1a000da3cc3f832db55681215cd2a93e13f9ab17c7c9d01c4ff218b2c5f0b629f87d7dedb695d00355e810c2f24742057b0d74b456a5971edac93eed7840391b64709ac21b03536323ef532883e4c1ffeda74c514e678999d21e06fb3791562f66ce7601d1cb569902a814950d6c178735394d8f96d3ba06b5a9829acfb6d755dee0a69e4498c09d31284aed6bd63a688c659050 - -COUNT=37 -L = 2400 -KI = 20c628c88d539d9549aca8c13af72ff8fa3f193d3dfa3379 -IVlen = 64 -IV = 1d62a6fade0e0382 -FixedInputDataByteLen = 51 -FixedInputData = 5a59594cbfbc16a051d0d27f5847c94e98a56d574567ed03937865f54bafaf429bede996ae3b5ebf2342e7ce22aa760f2009d8 -KO = 4ced05fa17ccf00426457b843b1c50ed97052fd672abada3163b51c336cc23c31e483062d00fb0a512c31cb63b905126b7a84975586863fec3e49374ce28451e5a130280dfaf360156080b7aa714cd21b3fb94669d075debfe048d520dbd68c7a2ab645661a351620a66c0fde69c00e699b1694b29541c88ab0ca7574bae0b08056d6860af085af7283488fbb03a95f5097c30464c7b943e132ca276b063e9b514845dfb2d1c81ab934fbe212919dae84bc8e5766d2909de8c89c60835426f7fc396cfb1dd6e9adaf325b59ef87fef3793bedd5e3b3ea84d170f4d17545711d1fbd146aba6e74efdcbc66e16e348c4e1f7a80e0579d098ed287b2505c21f263fb3c5c3253c0dbf6f8b663668eeb0d088c5d9968e944625918018c695454a90f6d75f565c06006b54e256f375 - -COUNT=38 -L = 2400 -KI = b21001a08f44ed56097040ab36f9744598f3a5cd33ec8688 -IVlen = 64 -IV = 599312a49932428d -FixedInputDataByteLen = 51 -FixedInputData = baf2d047e9f672f1232184ce75c54cf0fe4e637042f888a1da086a418a4c4e973a66b2e0b830efdcf356e3c67718bc1845b254 -KO = 97fa0e9a36f88fc843c380a66f416b113afbd5751eaeedf2ca6e55593139571d9522128eb0813108de74c48b66d86181e3af9cf6b345d4c996c69ea45ce22604e27780678575f29aeaf3f1179c4f084fd5dd0e31a2b8cf4b89d061d2165fd86a51c4057bdb5feac851f99dd33a6734ed3d00c25eadf9dbf1b37815c787f83a0d7e571b9799181a59abc7a576c3cb09c9b9ed3db395c5c9d5193cd6f566f529561c463c7dc91da519e9c3fc7d6ea3d325ef829ee974ee30d95548c689468131ccf1d81796a3dccde66d47860d24463839323a17eaebd04101bc4f21d0122c11268ea95950e17f37f93ffaa59318be9b803727bfa9d071e66ee370fd6c40cefe3f3c66387ee4a08512332bb1ccf420240d2b1829ae81bb1e200a6a3ab585f61e65d4e81ff10b1a50b68402134b - -COUNT=39 -L = 2400 -KI = 517c911a0bee4991d5bb2e2924162c952d53fd17315b79da -IVlen = 64 -IV = 960be74b7a64496e -FixedInputDataByteLen = 51 -FixedInputData = 71423b6a25409e1eb2a3098cb4cf90bdbe569b8f6f291ee1d53b2e51093aaae9bfe2790b23e9647134ae9d92c23bf5bc31e09e -KO = 79fdef131240b4664e03496c0160037ed4c34ffdfb527bb4cd60b7b51870e67051d406329e6551f60fac6084be16de5fe073afe796ae5a536421a7c23e463f02e9a2690269991f30b0beb313d1f05751f5fb4b888fdda46455eda1bb8fd72405affafbed351f6662fd35b2e940e5aa580507dfa766e364c9a8c1e0b48afced8524d8787ae4f9742dee93c5fc06dd9c980a6a7021f2774767edce32adbe68771eb2214ba7d0b1d1dc1cfb51188990ce8693cc1af3f230398ace0377653704c3721a985a15f71f691e5ab0b14d1b99e12971cecf4108e50dc201711b87daa166bf2af133d4ad22b4cb598fe9370371b6205a9564be98f10e8c3f2ba31e5b9fa8a9a98fb0458a59969c13d79d6402a11de6005ef10caabaa2cfa3514bfff65597105d6c5b95781d2ae1dff01b26 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 37c442bc526cfe9ca3c4de141cc52b78136c21a76705fabb -IVlen = 64 -IV = effab6e9e83bc65a -FixedInputDataByteLen = 51 -FixedInputData = f70f93f51b5f927ca58b390f8cf83503e3a842a89b958c2a870027ec5c72ba0ec3758dbff2796fe37dac78e6202551e6dc971c -KO = 8123089bd5d3a237da0254c10e1fdb247081dabb8eddd4cdf665b21560a39899d3a36d308ab0b019f13584b58eed21771f228ebd6742ac602fe27e0357bf6f63 - -COUNT=1 -L = 512 -KI = b6ee0b9b0b45df6971f13111af78fea0216456081a993b21 -IVlen = 64 -IV = 8ff04f09ccd97da7 -FixedInputDataByteLen = 51 -FixedInputData = ce04665e30817f4f79b1de54f74293ee038272e96835b9a5b1349eb9bcb5cacb9c686900878f3e94668740dd5f810d308c7786 -KO = 60e64aab30dbcefb55b4d46b254772a798e89f8cafa61dd11c7b21b280d627541b722233320585e3a347e3363d1aad12e56651cae055169d56a1249ed79c67b2 - -COUNT=2 -L = 512 -KI = 9d0b987fab2722027de57b96f0447ef7345b109f9ede7a43 -IVlen = 64 -IV = 2435b0d8aec018b4 -FixedInputDataByteLen = 51 -FixedInputData = 3f40d9774bf5a2f93a915c3044f50df7051d4787791e7427a6c4045f8f4321d0325452c05431280e294baec4f3006517c8caf6 -KO = 8b892500f4430b51b97e497f25d78bda6995424ead54076b072c684658d023f7bc93af24d9b70c9db636cbd887c08fda00e1d19535f02372a5d7f928635c9cdc - -COUNT=3 -L = 512 -KI = 032f9bef711d6da7af61d9f2b63308002c8987b0f43d2dcf -IVlen = 64 -IV = 56ca922abfce1b10 -FixedInputDataByteLen = 51 -FixedInputData = 12f50d1ef9f35730f0461aa1797404f0bbbf615c734569f8b0adc886872764d06a63ca7bb9cc4218f43c38f2213566d0e7e1cd -KO = 8e7cb738614c6e0eaebda4a30fac5f77de9499d8439193d117d45c2dbb6a0cedacdc5002317bfd2353206feeea851f13cc6a8f1c605eeb01e29866fe2811c44a - -COUNT=4 -L = 512 -KI = 72a32c231dc44526d70ae793d3c3f87fd2a2a26f0d82a56e -IVlen = 64 -IV = 5e6c7558b90c2f5d -FixedInputDataByteLen = 51 -FixedInputData = c90aa2dfe54fb5b2b1b5dda62ae23c2a7599910e6f3a8fb06918f1969179157ddbee2e6b064f563971fc8652193d0b2507b828 -KO = f3da10797376a179b61ab73e705bc398ee20d9ff383524ba69da34828a56c190b065b5f78291d9f418cd35f9af85ceeca9017ea0d2113bcd633df6c15cfd8ea5 - -COUNT=5 -L = 512 -KI = 191411094dbb24b37ff3baceaf9d362089812a2b56e769bd -IVlen = 64 -IV = 7ee154ac143d5ab0 -FixedInputDataByteLen = 51 -FixedInputData = d3ff580003cd87895f7b4bd90a1c64231bc197e93287da105cbf5cdce06afca4c2bee290d7d6541dfbeb09a435b8dbb10706b0 -KO = b2b67857a5588bab8bbd6bfe4cf607ef7c380c0fe57d7739e5503292591fcdd90c39a89246f58c5db4825e3d5e61f42b2720ef71c031e57252fd64f5da946881 - -COUNT=6 -L = 512 -KI = ffac55d675024b41444cae64f2d374b179b942c542615807 -IVlen = 64 -IV = f7099d764f63606c -FixedInputDataByteLen = 51 -FixedInputData = 33b46caa01bb2cff114a6ad1ff1e94e7a1a076c1be280df59efeb162c3b79c4a07f0e7e44b6ddf52525bd8c74067d1ef3e3ba5 -KO = a2e2de8e2f9ae2194bc54285484525268ab4525947aed292b38f7c64826f3a8c72fdafb46b72d29373cba3793fb33fb1513e90dd3f9f1a740e63848410092d6b - -COUNT=7 -L = 512 -KI = accf25b545ab0ca25789ff9b0ffbce6fe7abad1773969e20 -IVlen = 64 -IV = 17b7bb5623530229 -FixedInputDataByteLen = 51 -FixedInputData = 48902006c542fb8bea0b5f5762fd266d1e277a429b8b0ff1068a4ad11ce36ae1e60e90c4627f146793a3f39b3d96485015be6c -KO = a3227dcec96928475cd556119cffa9214ce0d5b98d47b32112a234b98e104dd153c35b91989cd26fd5db2cb9849125bec6a9bd09b4e12bf99dc9d23311449fae - -COUNT=8 -L = 512 -KI = 1053548e335b572f9271ca97d98497430895ce10e3010e33 -IVlen = 64 -IV = 389f8247a7bebc5b -FixedInputDataByteLen = 51 -FixedInputData = 0f8d722e6fa64e7bb5488a8aa8a40e762c26f902b99da731e3522c0cd8d9611022ed7160987e504345f05ad120f6b01bb80507 -KO = 97afc2891f701a198d21231e6495a0a31874efbec1b765393614c24ef8eb0c6891a662f0e3cef6b6477515d62c69f409ca4ea06db111c6d84660e2466248f390 - -COUNT=9 -L = 512 -KI = 5820bd116f7f4e631f5115e7e9e561e1a123a86cb9dda854 -IVlen = 64 -IV = 9c379bc4bb7defed -FixedInputDataByteLen = 51 -FixedInputData = 2cdf638795dd4b3a81bfcae61b7165e234632d90f8170b25bfbbe3a1c0e7c4af8dcb194b9cc4a1f8d29420f476fd63d0222796 -KO = d4fbb78535e951012c1d41a35c80c977523bdd2d7710bc4763fc04ce72c499d2ecf719622a5c3b31c34acf134d463fd8c7225d5e46760caa10fa55826f47bcf6 - -COUNT=10 -L = 2048 -KI = eec0815eacdf3f4ad5bf836d0bb4bd379f67ba190493e06d -IVlen = 64 -IV = 0e916f6ff5872061 -FixedInputDataByteLen = 51 -FixedInputData = 7d482b3ec76861fe106c4884e5c38dff973d013c840a0d7a55d7bb8275c2a261e5fc498b1061cac4337224258b698c664308eb -KO = 9b4eb74f8ea1f56742ab53e2f6c13d138842bacae4f1d2c8c7a2e695b1faed2e10f04b3c38cd53204637933e3e99a9478ba58f5d8b43b69ce89ffacb6103cb45612b897a5c64668a4cf5504a31cf3e9a94a1953a5b6c44ab61c871c146de0995e584a2a7224449409999a009362f4103233c6f9969c0aa3c68ffd64706b0426e7ef993ee3518d5a6a3155f9e52115af0885bb818b424b9013b364c3d41e95ece5349464eee1b5483f3cb1b35edb522d725564ac31e81bcde612cd9b8dafa8c9167bbb6e6233e6ddce7ab531b48c4c5aa87bca7172f6245be7d974995c751f66051ae118b1391691ff75eca6a7ccb13ffebf8962dec8bfb2da64ed122e98ed132 - -COUNT=11 -L = 2048 -KI = 1b3963e3667fa07e47de02ff917bd3b86ffc036228f0e68e -IVlen = 64 -IV = fd906c54bdad2689 -FixedInputDataByteLen = 51 -FixedInputData = 06e8d3e68c27b752b3f27f3ff982e059095145412569905cdbf9e7d434fa43f309d599812e3e39293653828c35ea2b67c4b883 -KO = 1cddf148d66024df742b52bcfca0a1fb6f7d6540977d726005d96baa961353fa1b598839f754865cf6e9a42fa232dcf2d0d56ab0de9189b993ce6503129ad3f0a600c5dddeef857b5e89bff1a7a6aa034c42d0cfc2374040ecf3fe0294ff81ac7fa653e25e2914e27f4a2cf2a91b6d5d561b3509ee7722d25b34b638a0c41ecb86db0faea2704e854ed4aa17183fd1e41d6d721b4bb0eac939d58ff8829676bde5d90983136bfd7d4e36bd61df3180269a69b95ffcb20f9ede0454dfaa2693ad24fc5ec6d8e3663725d72e895704b0bd0440ab62cb7e5323be449a0acf70f19f3276f7131e4259700271aae032e0d67d9d87f72f7cb6ddabf081c8c9fbd12c46 - -COUNT=12 -L = 2048 -KI = 780cdc047012305d4d512b1d44938eaf8cd411204e4d0970 -IVlen = 64 -IV = 75dca83ccac0d321 -FixedInputDataByteLen = 51 -FixedInputData = cd04084dfe2cb907256bcee50a385e09c553c321b2509745b251621730e009bca8ada12cffdd242bffb77adbe62c0f2ac5291d -KO = c8113580e68cd32945ae0b06b2f4bd9e8f7c5cb7832b34e106e495e351cb4d74c8aca3e7b7ebd97d951af001e9309478c9321367962c9441d099499fb349d445d3e65a71a91313725412ab432ae8fdfb1cfef8c8e79ba763de323f1f8b245982aed0a799222df82849d375053491874db1160a0a5414036210c5bd257ff403b0f911ca4eb8c195d7eb16a62e2a4400f4829631ba939c36b087294b67a0c8820cfe27169ba6225098a2a7ee722a3157b21fcd1dbc8cc6198b2674c588e93ff07769e686c5c15a1ee1fbacb506b1624c3819c819cc00a34191a0d449a6626bef47631091addd7c6ad7b86e30b288d7c6c9163c4763aab8a15d0b73119e1b23048c - -COUNT=13 -L = 2048 -KI = 75b5cb5043e3adc530affd408cd4227e3774ed4c0b98edff -IVlen = 64 -IV = ba15cf2e732662f0 -FixedInputDataByteLen = 51 -FixedInputData = 803d4745bd3e85321922f9f9742832dffec65fa90600c52bed90df5c2678df5f1d602955b5ae7666fd2a893a497fb29dad4de6 -KO = 6b7f7c4d74444192a0954920e2e550a6b8a6b028b5a3d7fd3f2894a083c9a9d0c25afed71ebe0514a59a3b6a80d929d50ac570d4544645c3d7a56f29712878abea8c5598b05f6cd359bdd1420766be885c13938e538515cae9ae09f8b27a4cc11a1af24e3ed163ce1b4b7905f28457a26b70d16a533114f74512816daca93b1051ceccf22d2f7aa548292dd556e094094b389882fca578961c81e0e7b0aac6c121fe43acac560a9fe413ce33ee949ce96f8b053c8f45b94e0e7dd69ea65367c201349e64257363aa390954fcf798ead8093b4a56a05d7a4873a7a9810adeb9c1991f522f7f81727b778942ba651d7d5c0c55e4f272e7e5c0929ab1327c823c6d - -COUNT=14 -L = 2048 -KI = a9e7d9f4489f09a1cf2688373b8052cf2013451a74d6ca8b -IVlen = 64 -IV = 529b6aa93cb306ff -FixedInputDataByteLen = 51 -FixedInputData = 304b44093e16d4e228fc0f03d44db4d83a84d891107895b8bab7191d464218fb646231f50359602b35dde526e4cb7e81b58b64 -KO = 99393a7cfa0d4e1316bcc7b500a2b3e65d8a639f4cd6ff8d17ebe7b04b0751ce6ba01b7ac891c416e54ebfc3180b6a2d0462257c0ac3d971f88d200990d0daf6b60ee3022c723e636c2618ddfa249359158ecffef054c61e408bd15a4cc6d49d398b6167ca2168c74f0cc99d9bce3e0f13c494f58c815661cc668dce2b5c4a1e46399c4c3ac72ec2f415dccc5e858d058ae93e7c812a4f2190a306fc5b52fcb1d07955ed6a7c8da74de69b86221d4bbe1db03227e3263d82fca1b3dbad9757004407214bf680f4b676e132ac217814b641bd65798dbfcb32c1c30601d169a1a2bae046b453eca9140fc668a3283fad91d40eb658d1d920689eb00d020784e0d2 - -COUNT=15 -L = 2048 -KI = c6775dee10863b29cacf4bbe9ca03594ae0509df1a2e0b51 -IVlen = 64 -IV = a866eb62a1081b27 -FixedInputDataByteLen = 51 -FixedInputData = 7b39ab477d71fefb604fc67329f96293f1a4aba266ae46d3468756523925163e82db2723a0cd093d44806a77a7996903312c58 -KO = 1942996b4ce4b3b8cefe50e77f952d58a97b0175bcec2a3178951b71df059292f97a6c52bf3f8fe7687a6ccae0ffa23d30773f57f09ceb70abd4ade51a987fe7e8382bd61a373bd75c3fe71dc6632944eee9f0feb5aa28289551ef040f6c166d09483d3b140859b3908b83c512fcf30cbc9dd4d61c154e7b7a379005ce25c45376b4fd65f1be4a1b80360cd0f2c809592cc6899bdad0a68844bf21605270405760b91815ee61ffcfbaffc9c2abd77f37a0910718a77426013ad1499a7d10dc8af6728cec877f87ddc7654eac4cda44b643512a0fe680fc409ac332a66ef11ec1018379177c650cf32d0fe18643a93eaeacf835488bb6ea05f6a8387ee8545543 - -COUNT=16 -L = 2048 -KI = 7ebf1985d11ac9c6d04867e7294d946ff63c4d2908a759b7 -IVlen = 64 -IV = 7081efd22655490a -FixedInputDataByteLen = 51 -FixedInputData = a131ad57c2f15dc5d845dfebc3ae3b89eb5da6a7ae0f10e3796e16424ec3d8356032c55cc1b47a970e139eaef5e832ff2491e4 -KO = cdafd516e5fdc110a195cacd661309d840a6a9e96a529936bb0a66a8097fd3d54d9f30e92b92f8fb5f915d6db8ef9ecb013ba6d0daac12f48d1bb648d38090405c6c8a41ae96b1c575d994fb22b71c0d97ae1e1c1dacf64ad2fc1957d69bca27bbe53914854cf8be07c769d8d60ffa1d04839bee1fcb5d0928da98b3fd0a32bfda7b9dff724185a03a6fdb74bf5d6cc580f689d62403502000ef2ac333bf675d55f7f0a6dc568b7c287cf446bebc5002973286b2ef4583cc048e1eb38ea0099dd0e8f92ce23d04f48517d0ea712851ac95fa9be9272cfdaf7d469afe255689cf16500cdae4c923b1ae474ea0d80c7c0cc10d2b0754b77f5bec6b23c799e54529 - -COUNT=17 -L = 2048 -KI = d9370b9706b2b2c26b5c7155697c00cd9607e86ce517d2ee -IVlen = 64 -IV = a1dc16dd9f7c6441 -FixedInputDataByteLen = 51 -FixedInputData = 6802748ae9a9ca3dcebb4994c162db78dec33ddeb53d73dbcb0b701057fcd866565e5874608bec7267383340b25d470cc234fd -KO = a70d4d50eca17c23e3c5de7db66c0bbdadba6d016df12743e9c364d7a230fc53f4bada8d25b22f4df25a97a3e20b3e85a720bfab9fc87f752cb0c182837eb1a18dd67985622e7d15987c71a39e64da3d5437065479133a4405c2eed8fb49213e2cb924a1e9c4f149f0def604cea91c8b5326639705a089edddf9e09253b3bacbf42ad52266f4453f04f51ef0676c2bffd4113be5a1a17f30e5b3401116e3915da82ebaa65dc704e35f5aa4d5f01bf41a1afc9bc85027c1a40b32ad0f59e542ccdccc1082ade0999c0c33863e60cc516252bff2fe6425a93b3a9def7a5e7c5432dcbdd7cf840237336eb6454e23a1dda188d2cc6da2be3a69cd68338ceeed34c1 - -COUNT=18 -L = 2048 -KI = 3564ac561190c83ea5ff56678b4ea85aeb43bc424c966cb1 -IVlen = 64 -IV = e611143cc9c231c9 -FixedInputDataByteLen = 51 -FixedInputData = a189187d04a0be74f17ad04a6dbe21dd6330c0041d6d812a55febcb4ba818e627c1d4a315aefb3407493c2ebea830808b3d7e0 -KO = a2b18e30717a03560b1b13f7cf28e53a826feedcecd982df83622c2dc6398c0eb6d3b31ec9286756e15be1e02fccddccf3e2078d1f4cacea730eed11653313cf01fd7694097a4a32c4d594eef8bc129e86388eab6a2d9c9807133b37db168546be666bf26bc8bc21729d6fb012a601c91e6b1489e00e5dd38bda9064254a3da9524a765201000540edad6286ff90fca36e85a669a7cd670833358fccec1c52320d2fb85d3cee93d72844285b741a72ed78f91143a86aebee93a9cd8ee0b9026d09083867c7c43e7de4a49ff574d19f702f7b5c3ca701f549ac984bf8452b6c722ff95d3a4e50eba378dc4083069a83ddc151a0c8bd154860bf798c324dbb2c7c - -COUNT=19 -L = 2048 -KI = 9257adeebb2bc3f8db32f711d81544744472c83b2c614d9c -IVlen = 64 -IV = bf4816cc863fd001 -FixedInputDataByteLen = 51 -FixedInputData = c7e26a2d9427cce45276f08b2c861d0b105fa026adb11a8926275a2e0bf64942fb722b6a77ce7d5d767d10c3df8ea29ad4680f -KO = 9eee56122407cec18c73637d54d5b35751b1e5cbbde48e6fe8f2dee30b811c86f834e3134fb99e3340455408e4de5b7155ccbf144e3449c85d94206b21f6f4d2e7d86a66ab86ee57a086f0aeffdecd290c0831c19eeed0bf2337ebb134af78e66015ea450f0bcd9c7945e2307b48a65c05ded53266045f5dae5c49a1348bfa87abdda24066202346a49dfa80aacaf4b15f21251fe7efcaa264ccf9ee4fa4390d4f2387c797ee6552ea0f0264ae26eb2cbbd7cb8628c1123f618e2a762f6b9a3029bcee2100d79b1ad594ed2d631119a6b99bcd5a6cb9ab8d84e2a1aa78c65aa6c8c68bee0ad5b37792f1eea10a264a4acd31f739122bf8bffcadc32e71623972 - -COUNT=20 -L = 560 -KI = 32ebfad769932b2b425bcd87b849591e5eb3b02fa93f824f -IVlen = 64 -IV = d608b6f5ed443c7a -FixedInputDataByteLen = 51 -FixedInputData = 0885ea66985ec6bf20802d33aee88687804311bdeae195b76c4e3ff8d7713be698d8cde52581d21cb48c510b1d0d9cf09a7f62 -KO = 26d40052982ae59fc18a5b00dd4378e92113e57fee2a5332331953e40941b609da29cdc09153e825ea7346a9d8585b54181299d195504307a77775b9f24e29bb71fa7438c2f8 - -COUNT=21 -L = 560 -KI = 0d0183cfe8cae1f15608ac75319c9dbfa62aa996adc0f37b -IVlen = 64 -IV = 070c00d4263687e4 -FixedInputDataByteLen = 51 -FixedInputData = 502dbc991a8693ed64b9b6b3f45e06edcf277afb81becb7a2d82180910dddad28aa72bb87fef2159f276c350f5b186f4073356 -KO = ca24ffd62d5d3f261c229bfd5afbb44063cd299757a55277dc9447efa9533f88a1c585848ceb1ebbbd9c191be24be67d46b2b6d830f7aa233c442942530a620fc7db93b1f465 - -COUNT=22 -L = 560 -KI = 94bad1989555c0d5baaf52d3a146e4926110d3a80e754d46 -IVlen = 64 -IV = 6ed0eb60d5bfe440 -FixedInputDataByteLen = 51 -FixedInputData = ebede911d639503e8bc41cf6acee54b6fa4ff6759b7bb3bd309f8899170369b2db574b5db822dbc4bf76ff10e50d311300be32 -KO = 2020ec4a3ab166e5a6442648c6f9925cd91493124fd7725018158830004d37f6fd66544a2fda084b5bfb0e92c686444d910e3e8ad47082f9fb5252bff467be986889f8cf51a5 - -COUNT=23 -L = 560 -KI = 5360a432ccb1341d400413bff2be9a97a6c0792f73fa1379 -IVlen = 64 -IV = 150c7997a044d10e -FixedInputDataByteLen = 51 -FixedInputData = c0dcf5e7e0e198a5c12e95b78cf3a241d7760eb01a1db487cbc8feea93009300e768536aa3894c42ef44ce08a617104254348b -KO = 845eb797039552f314a94642cc761c17d6c8cfa5f8e6a8c84de1f496dc9d3092799f6c39a8e53c4b396a24aed7464dadcd8ee02a6ed32f9d1d162da036d60713eb7c2317330a - -COUNT=24 -L = 560 -KI = 78b3ae33ed7370c5b3a56043c622025df789e38ac4bf1b35 -IVlen = 64 -IV = ef771cc04d602279 -FixedInputDataByteLen = 51 -FixedInputData = bf02402158e4a6e78596f5c7980f5df3222f0f21314cc8daea52d638c1e2f8d0512ec40080a44e8cac666afa340f78683ff9a3 -KO = 9e427c31c36494b9cee1e7cf75237f111008c93a690f40732defeb1b020816469641c4ae0396b19b3535f7f747e6685bafccf294e7adb73156c20382b4247851ecbe8830969f - -COUNT=25 -L = 560 -KI = 9b026b47346e2062eb773a6a890925bb9757a1b2ef651105 -IVlen = 64 -IV = 62d6cf4045a784c0 -FixedInputDataByteLen = 51 -FixedInputData = 0e6387d5b3650b8efc48a37e8e8a35967015333010a396220c58b6dc10c3ecfede5e9016a5863eee4b9f4c0ffedd50159ffd68 -KO = fd73e7784f46d008cc5cd78323ac925a7775860b7ca1b030b9ff1926e66c1864eadae2cfcb2465e3bfe99aebec8e64430eea78a38136d3c7659ac318e50a6923eb4063cda7a9 - -COUNT=26 -L = 560 -KI = fd52efbfda797d41abcdcc71e033ec5b2da63c17a5660b4d -IVlen = 64 -IV = 694a13a53ecc754b -FixedInputDataByteLen = 51 -FixedInputData = 0b2f0c556658f64f3875f818865376be1a88912602f66ef23d44e506f008159611b2a6c89c5cabaf1793e47cb2a229807d5599 -KO = b40386e5388c7e77806576907fc9d7f4d70f9509ea9d54c0ffc65ec26fd8c809339753c5959620a97189c46efb4f894007ec585310973c3b49d4db289e5aba49fef43f596137 - -COUNT=27 -L = 560 -KI = 9b828cb6779b278255023584d9a2f8560a259fe38c01c09a -IVlen = 64 -IV = 518616163e8c4fd6 -FixedInputDataByteLen = 51 -FixedInputData = 3d52f87cc1303bb4351ffcb12e45ea4392448fd060773e5e90f3c5f8d715c0c26f0a6cfb210ecc0ab8f29d8656e7ab2bd89cea -KO = deb454983163c9232df3b194b91cde3a8e9504d5082aa9da3e14f04cd9c5633a47d53c603432b0fe4a48b4dfbeb6e7462e76a4d3d9657d0d742516b0586e1f8c6390d3c4289e - -COUNT=28 -L = 560 -KI = 8f4ceffd0f7718e1033c41800a363ca23fed63a196d5d15e -IVlen = 64 -IV = 51681cbb86734482 -FixedInputDataByteLen = 51 -FixedInputData = f8461e6553b919729ef83adf1b3c7b7ff5f1c5dd7fd6d19799d64737187041ddd925668a33a7392d66b4aa08d87f93f8818b72 -KO = fe1c6882138aa720b391d9c6e934fe30565cf9ffef57631d40776aa5f8d18ce19abc96e7f0f248ecf849782e4c411c79d317768c0f4b783d8d9be4b547879146f859e05b6ab8 - -COUNT=29 -L = 560 -KI = 3c331e7de492197a404cfa51b21f76a91a2f52f4f7907911 -IVlen = 64 -IV = e9fcb63cde09d464 -FixedInputDataByteLen = 51 -FixedInputData = 1ca1d18f5f11cc95071db56e2f74ee4cbd423972e0b86103d1d809129597a849274f92da900cf1eb5d90db83fbf3a64e25016c -KO = d4fd34c502d6ced91f9bd7c599a7ef02bfdb2775f9ea89f9ef411007fc216cdf26a56d85014be64dc16b6faba809e20508b8246f4f97d3dd9c4462d7208b77d6b7701fad3cb2 - -COUNT=30 -L = 2400 -KI = ae6ea59fa6f94dc2cd683c92e7c6a890da705d144455f0a3 -IVlen = 64 -IV = 7f26dae7ac798e40 -FixedInputDataByteLen = 51 -FixedInputData = bb1990e52d9613f044ae16e5a92a4ce82a92555fd32d686c6bb214737f41889b8c8d360f84ffb4275d20c9b54f282e2da1008f -KO = dc7114a8b6f113d09d20f637c61f0d1a2f4af4c6ed743d0384b345983cfdaf0dcf036e4d5248abb793a0e9b3631b6f275c65f1e4e1026d2feed4a06519a99e782bdcc8bce5dd0bb9621473e60e03131c33d4c192f96502263763c57029078ba42b4b7ad94c8ed8a3178aa5aa90a853de4435ba6f7d82a96a5512803bebd0d1023cb8a6b635a08a9c7955eab518348fc913f3c76f8554d8c93de62d9fd1136e696f8142911391e65fc45b6bc5e89bf8ead5edbd6455f3956b0e9804f29bb6a9182d322c06582db577691e22d269e54498f3983d3e347fd70bf76c82600eaab50c82ac70ed43f96003b462ddaae5c286d74d598f33c47509777b1e58ef422d57656a0cc32945aa8536444e86a2b947fc045a9949a764cd4a0f72b17f1b80329d05f8b2cbe2d45e5060edad21ac - -COUNT=31 -L = 2400 -KI = 8d06b12d559a4c71b3268b58ea500c77e794aaf24dde4434 -IVlen = 64 -IV = 7cd75873ebc532ee -FixedInputDataByteLen = 51 -FixedInputData = 546c9fd99fe99f6b13cca8615e00b4cac7ec26d8d8ead0daa27726fa25933569bf30014a542a0ef902a81b7fade2c770c8dbfb -KO = 1b69ee1438dea6b7e147361a05958469f309bc00e0d2df2e28a29119e4ad12b1c1271c8700416dd072294b968e33ea90069e183276f9ff24d722f57818b05310bff8332792a124fe96dc0001193c6bc3031e0377819b757a149bd5281e62ef5d75c0d09332189b61db180b49b4832426de9dc0bc812c694571331f471be915f9b3eccfd570ff608e2a5004a55a01fbc79eb82a3219f06e25c1b6502b87c4a35ca7a9d6600328ede199386f9dd082b61ef4b7f62a5b522e9c657ab849f7c7e1e928a349461cea587a0863eb36adb1e108fe7b02ed4876d3cf0d667729eeab0bc6c9337dbf4a6bde7f9c3937533f2480c75e1aedc7c47b09f8622259224da21b3b99688d0114dbbbebff35754106a3778aecc7fb665e074d7fe91620cf25547772e5ea2f2fb3d27c2e333f1607 - -COUNT=32 -L = 2400 -KI = 32a16664e8f131735f7eda39917e213e29dced1701b4e237 -IVlen = 64 -IV = fd9dc1d4d92c7282 -FixedInputDataByteLen = 51 -FixedInputData = c8e6856db47dde6ad485a245185c289c1226ea575a708e21c1bcb7e2e1240a22aae35f79b277622ab1f989c11e073285164e38 -KO = 11838af6d26f244a5b5fd2efca0828ed6db1cd06eb4382b53451974f6446361f6da938ccc5f364380f92573fabe23dc22e27d497c4e1263126f36b3269ab10afe9689bf5a73a2b332be32aa58db57e44205c189492f84cc10a272d966b4856efb33d8229910d32fd9820e6a0aa35d58d158b4d21cc27f935ef78c1c1965dfee368079cf9020b32edde32794a92f2d14538dbb718ad86e45c1e3c6a54f78008e3e1e5475f01b0f279a57a879da9e3f022cf7113701ff7aae8b90c54ca46dea109d8dc9b8b604407b2bd6efd9b1e8d2137ad188734063a3ea88751792f8263330d65daf02a7cb0b74fa891e916e8b9974b06325493efbdbc242190c3e7a4a252db5c5bbbe4d13dcd17d95201e7113d048cce9ad207a54e301f5109e9f128997a6f3a6f56b7f0d4a7dd6de8e511 - -COUNT=33 -L = 2400 -KI = f7618af7989be5a69c82ea93c1a0db0903aebec330446063 -IVlen = 64 -IV = 3328a7cfc2d73a05 -FixedInputDataByteLen = 51 -FixedInputData = b9543bafe6c3a4c84fe8f5ef879fc491269d2e80b0760ddb9b76eb6cb170b1fa59c473b4bfa37663d834085b14fa81290e8053 -KO = 410291be0e17737a1920a6b686de1b5b81f46836ad099fffc97f45e05b1506a9298b1892452c1d35b8b856c76e4f9175a7bd710db1aa37dda9c1f649f2fe81807dccdedccc4dc40b40a8b80d519438cb971698befd8961da1fee76c168ac7281016bfb2eb65a2c5a1041be503c20f15f195fb4c3dc5c0ca3cfbd540228f52d7bed5956d40d8b1be2fa31b23c6e6d87d5a6f2633e475c503a9ed5a4da2e169c34cad9d5ae0f6b4e8e6697d1531cb3c243d79101e30e506d0bb68769dd169ed36b4455102f03211506cef1ff5348b6340a7c5e3b2217a62e68efe0a6092ffd85fcca271f0ec375451e8b1b1b158d162382e17130db752fb4c1fb3bb81bb3c6db841642e86cc0c7f75cdc10284ae669b23aa96f1154c03c0de7e41f13c0461c7735e40b1c3615c90e70693f7027 - -COUNT=34 -L = 2400 -KI = 6603ad72b758900fc08e7bcd4edacbe538290f2fce517b52 -IVlen = 64 -IV = 58e260d2b2a53ee5 -FixedInputDataByteLen = 51 -FixedInputData = 2e7b378557aa4eb6e3376348da7e15dc02b6f92f1ae2bd201b17e26345a78db91fc38eb7ae3078f4d682ec07b1d25ee55c3fcb -KO = eadd7dbd9cbbf5ae67887a77e4a286322b6fe8d743130d20135401ed91b03ddbb5c47079e3ece733f441897b69261ce92865ee4c81e885ab5fada32cd2d5966b3b206c0ba6b01cfab3cafaf8a25d83f19344c97a920511edfefdda04340cc622ec8e36a7f618210b65712e00db1b23b8aa7910d7d16f63ea78c05931baef7e9c22a3157247e3f2f754a35b1d3c93fcec029cadd64c931be6d26b83be9fb208ad19f3eedf85bbea76d37e5a498bac1b59f7043913e5af7534c013376c3e93bc4f8bbced396d08ec1f0976ed2a8176db84d5f0f3e2ae70000b9b70e4861c97b24f1898ccc498652e98298f504a16bb65fc0afd8e9cd62e74d4df74f0b1084b6cd2e1bc25ce8d186f769141335372e1cb1697870e5c976b15f7d87d576d460f9b06b3d7f1519199f344540f28af - -COUNT=35 -L = 2400 -KI = 52cbacd1ac23cc8753f21587022cedbfe3b41703a6e16bb0 -IVlen = 64 -IV = 8a313757bdc566db -FixedInputDataByteLen = 51 -FixedInputData = e7e8b773ffb14c50fc2724f57c46d3d64a3f5e5eda1e3471510070de94aa98adc32aaf400a8428b01b74d4bedeac13f8f14af5 -KO = 826afb9abf230cb93de7a15e08317fcd0d403d61e37900f584faeaddb485000a11e01478b380dd4fa05080a51e16809fb8f0c38170330256cda93561b7ec11e04c5fbd4e7a65ec618707e8203957b363cf7873874cc914f298c7e6794c5a2599d6b4f311d889b370c9d94659feec36efd7a6d0ab80cb56a6a9357f1c13b5154c24989f4df44f7f6c4e5878cc11f2d025c348a8f6257e7d6e3d4a3f544600cabd7e16e42fc005502714eb66f5aa199a84339362fe702740e34afaa0338fedd91cb7fff904ad788891ca9c33164e3fc30e51c9c28968064412534a5a9f0b8ad17aea207d05b3df1a36005701cdefa5d1cb85a41c5b1fdec270a3ff77647b0a215ca939fa186cf22fdd53f5076927ce01e0fb4060686d3c9c06ecd509cc590aa810073f7c70bb86bc3379ebf889 - -COUNT=36 -L = 2400 -KI = 9afa036b28d42130780fe932c86ffe8f7c785fe1ebf1258b -IVlen = 64 -IV = b7e1c86b46f82acd -FixedInputDataByteLen = 51 -FixedInputData = ca1568439758d26167682cec761aaf4a73820363666683da5c9da2c81612a7eb9dbcbf0dd9be609b960f0f3e77bb67578f2a9a -KO = 6bcfe9aa86a81201ca7c644e3b508c5b5713aec3607b10f33d5c8790a9e3d8838745330957435398be9ccb6904345d90d9d67b9ff2de2e1d5d76804db2b00669c3da4d360c1c04f6ae08f938a2fdb8e97a428ca8c0a0309a55ae8520c3461d8864642b2d7c7b9895472bc90a66400f29831f1c98c45e3e959e5255c7e9eaac21660717a71dfd33c189b054f60d8e90559234641562380ca675f3d8dca243fb71c7c09a9660851b6dd21611d69c9538932f22393480c12f0dabc95c644a18d1322a3ac3e9c37aa3beda2d41d769b9dab6a4f7bf5d625a3fd841fb7f54db784f956f46c6b7ab010b3e66d3b1b64c95b9dccda6c0c8f8ac332d5e259d99dd658f87a1593dd188d7acae6005febc4436ffa3830e5d32ecebce2012c4dd4be3386b2438f5fbce6586bffc1bc51efa - -COUNT=37 -L = 2400 -KI = c81c84ab6bc395adb72b027b3abc387dc229a794228aeeb0 -IVlen = 64 -IV = 9e348c04a69e73cd -FixedInputDataByteLen = 51 -FixedInputData = ff2289d081485251f68c2ff028b308b366e023ffe07707c4d4d5f13c38fa6a83029000c7ac1972385e32b813589dbcb053e7e4 -KO = 732474e0ef13a3fe439d5af18c69ada49f46bf2d3858d963de0dc9b460fd19e800c80800e69a2afa479782b5c9adbc9f0217970448c85945f74c061db7ed4c1af90db5a938fd1c6eccba907385ac0bde75fe4975c71589d8da2e262aab0a7d90199c00a269bc09d32a26adf57a8bda9d4aec99ec642ca3c5acdd0cb25148fcbf756fbda1025b825f0cfa2595ba2f508ade6f7086cd59f875a658c6a3cf5ac5657e171bbf38e8fda25ef542b132fd6972bf222c4f31ded21ca94b3f91f746fa69be4f9f8656fc203753a208de3b0be8b7909c679e5fa89d63f9039328a65649abed2a8d751e5e5a07480bf1e069df394faf84f027312a3c141f0401f64c04cd0fdfa76e993408cc0ebbfe18e24ce9935daa10b1d13a664726c8cc3f9988c5f92735531eb7b5d5dbe93bc8be26 - -COUNT=38 -L = 2400 -KI = 9f959004704b22974486cbfd887ff8865841c136696f76c1 -IVlen = 64 -IV = 053af3398f5acd53 -FixedInputDataByteLen = 51 -FixedInputData = 4c53a6b3f589c7f1bd619c86010e8bc3053c951dae5c3fdc131b5387017409b48231dbc5462bf58fcc95ebd9c5c1451928a0dc -KO = 5b91fdc53f5a29cfb05aa38c0f7eab38f58606063f47e8c7785e284396b89fc562e4170afc5062ac606470178c6327715721badb47f343522938e8c614437f2b864c14ddd814a414e4af6acc7ce4ae4fd7c9a643955f2f2a0613e1d1a305c5322eba6d414e6375ae7d3b18b85cf7971e6ed0a1ac11e5a99c7d5f8a48d89c8fe5f6eb33275539284e18abb5634c347e383f8ff5b88362d46c6a9c59135520bbd802f65bb0bf7f3326f18cc6ca2e166c2b16a6992ebeb1d6b0a71e0f291f81cefda98373ef93f86c871e8af77315e274ea3f99d0a26ecccfbb0a9cd07f2743fada42882b2da19ae601b7f23d542a08b890c86c26018b49fecd9e8e9b1fc27970b24c102dfec489df3b54e3b09fc92d4be3eea4a1e3da9d634550406d87eb2d5cc791f6b64211b5dc2690816ffd - -COUNT=39 -L = 2400 -KI = 5aa78eb2deb64426966097f5a0597f62d85182a8ce260f27 -IVlen = 64 -IV = 744cda9d11759413 -FixedInputDataByteLen = 51 -FixedInputData = 21840d10d07b1dffb2bdbe552d3086001b8b557cee2ea3c1f1cd1c2f85c34007560ac66b32d44cad997592b8e0e448f78c72da -KO = 0a85f37ae3815bc55801eff3192095f8f416e8e32505208f66b4612f223180c90f9ea87026143bdc37b3f496da5a31abbb7a15ee0ae9871a9acca76f99c8913c4002685d0b8c42a302587b9c41fc828cdb89fd895b5d80debd083667402fc9dff10cf759d57efc0fbf228882bee5857ba576c8035185c6129c6c612f2ac19609cc82333b7ac71f1a580d7764100eba4f63bda2587a0cb4ccf1a606ebe5cd97296714c646e7c0a8fa3937da28f051db5cbd7c509a49fc355262ab97dd7ec24171e8eee44b0b999fe3007700fcaad86b3645b3f7abc341123a3f814e40bce0c587fba07a9ee04637fe15bfb65c877504993095c6df146a911314b76a8cee28fbfdd749fae10dba4cba8783f4ea1695107280aa4192963cfd0950dde0e3cdeaac54605e51e73b789c834b5036b1 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = a6fa1722ad6ef62e54684b0dd0e460cc657105f85de95e55 -IVlen = 64 -IV = 666e3a63f1b5eadc -FixedInputDataByteLen = 51 -FixedInputData = a55495cbe9cb7dd9adc8772c7149df558a179e01d0f810a7173f62764f0474c534b55262266ed912a81584f643615b0495d500 -KO = 7e063f6975c53a0c1f8329edbe17f1a994f7a361b55d512f7750c39917814a413529aa653b228b705907c63c2509a0771bd94ab75f03be9a9fe164e2ed26fe7d - -COUNT=1 -L = 512 -KI = 05814dfde6eafbc6b870043eb5670a1bcaa7d15422d15430 -IVlen = 64 -IV = f714f50c26dfb9ad -FixedInputDataByteLen = 51 -FixedInputData = b707c14d736f98076b29ce236563cbca3efaac0ea49315f12497706b6da74d3827a57ff8c5d6ae850fab3748853300e5318392 -KO = 420b18ad27b679eddad1f8343ec8ee38db750deb40f4851e4748149e379113ecd9a4a10a1d1512a1cdb23b512c0fc462071f7d35086494d866240dfb716b9ee8 - -COUNT=2 -L = 512 -KI = 78cddf8522e37fd30eae25461b55726cc3f5b769a32abfda -IVlen = 64 -IV = 16ca9af506b7333a -FixedInputDataByteLen = 51 -FixedInputData = f0c24bc025a52bd03908298eab1ba087fabf555295bd66a932c61cf362b29121b8bb3da20eaffd1e014578d5211b7df32ac38e -KO = 5f1b80bb1276460af67924e5d9a790b6e29da89fb6e456458df53e71573be3b038c1f4aad2c8968dfaa81af1605f32092586c191417b103cb803d501f57affd5 - -COUNT=3 -L = 512 -KI = e7dc0cb4aaf11924040d4195f1ee90b39681c5b617a2efeb -IVlen = 64 -IV = aad975bc1f253d49 -FixedInputDataByteLen = 51 -FixedInputData = 631aafb880abbca8e0628599c6322e19d12e84b2e09cd25acf6ecb8d4bc7541ba569fd104415a6c489a773736921e0815bd3b5 -KO = 44fa8c544a40441db6f9c66145f347a64798c76a6000aef36775322fe08dbd894f4a89842609f9f5641f5bc16f094a0b4bfe407e5085badd650d70f15d72fb29 - -COUNT=4 -L = 512 -KI = caf26eb0248e4f119dfe1944c61425143ce0e1fbb863be71 -IVlen = 64 -IV = a5a439adbc38039f -FixedInputDataByteLen = 51 -FixedInputData = 41400af59340929fdab3d42d0dbee6eb37fca0621f805cb5b1fc31e50ed756a0369254817cd9f635f7f9f07d6f5f97d029fbe3 -KO = 7ee466834db681b5f836ace083d6717ca8f522a81088902afe2866a65805f46056fddd04d56b8acd776a3b7304a5eff9c90ddea6647bb362246822dacda372d7 - -COUNT=5 -L = 512 -KI = 5ab07410282cf61a204898026ab26ff0f80652af953a229a -IVlen = 64 -IV = e50ceb6aa2cc109c -FixedInputDataByteLen = 51 -FixedInputData = 8dc537d5e1a6e41795d8b38cf652d01bed7cc62980b04d505fa2fa7482823c4f3af9571ce731acaeec38b5300f8181a17b2b8e -KO = 9d10faab913600ac58b84070c3b73bc8ec47b9be46fa57106202b8793bdc43455a3723a7ae0f09f5ff485fb31ebe3eb529defb74c477d28dacb2261774224445 - -COUNT=6 -L = 512 -KI = 69de25208f1a0d99b3fd1ede36bf179c21d0ecccde58dfb9 -IVlen = 64 -IV = bfe15f633f993837 -FixedInputDataByteLen = 51 -FixedInputData = 4733263fe35ad87f84aafacf0ffc4f6d42531f0822d2e5a8e6e3d55ae12b8d872d793ca21d7ad09b220a37df76c58b3302f2b1 -KO = aaf8302341b13f9496c61b3fe3682ba477d5f05998e8213e1ef9aa1a93fc980a14a1a393519245cbc4e8f7a2f303fa04887ade465f520d10b47221a46c9d51f7 - -COUNT=7 -L = 512 -KI = 1acca96799ee906f9cf9b343c2898cdff81291239e461cf0 -IVlen = 64 -IV = c2f0d749c4fddd34 -FixedInputDataByteLen = 51 -FixedInputData = a704edde4f7be57950bb5f9825b24f5da458b33d028d567b2fb5b8e06c0170fb7fa00e63de0953cca3b110fe932829212f421e -KO = c5b1f1352104ce58f7f8106ee7a5e13ec60d5b4f1609dec63b1d985ccac04b443357c98dba6743a92fe1a99461dd874a40a0833f0f28749ef0e05278733b95d0 - -COUNT=8 -L = 512 -KI = 3d4dacf0cfab612ba658a300d46488d9313872ad21c9a233 -IVlen = 64 -IV = 2786c031b14d7dac -FixedInputDataByteLen = 51 -FixedInputData = 91bf4c183702a6178606f945096ce29fd2f4f5278ca01afcd9341c23e91542ac5b497a3d9fd9bfb4036bcc2a86bbaf1e4a2dd6 -KO = 40557fcd753600a38d15994f80125da3146959a16f7776b0da5924ce2ba73da8a90a71cebb3ce0da9fbd0b071cb7b0e8ea034292e99d836ce6b1f4883a58e72a - -COUNT=9 -L = 512 -KI = dd85a8c26bb9330360545489bb54a4bcfd01ea3ba5325aa1 -IVlen = 64 -IV = cb85ed165833c705 -FixedInputDataByteLen = 51 -FixedInputData = 73b5fcbc3bc3e8be615ff91439005ad78778e9ed8453c30d948e45d254eb60851ac1a76879c8e3823a940085835e5307cb6c5f -KO = 5630ee497386b98a06c430bf1cb4e19cd090274f31cead3ae226455b2776237f4c8cdd99b513c708a18885e1b29ad81b9ebc23b8b634f51387e8546336247c06 - -COUNT=10 -L = 2048 -KI = 02bd2386e55d09b945e43647a49217037ba8e0af07a2defc -IVlen = 64 -IV = 7843c639b3b9b84f -FixedInputDataByteLen = 51 -FixedInputData = 8fc7156e531a54bfb0c3a427699b2d2481aff57c4a5846cd9865002a4918b3f84635da45342c9284fcfd91e7636bdd55659137 -KO = 1fcc3c02e8f37cfc3cb06238275d66fb9bbeb4a4b83aacba35de64ab6576a3c48ff2f44b081348eb395c686121fc75f487b5442d9790cf09fa60b945d329e50c9ad423075f3da8d4457b53f2c5925022f5e92d6d2fa5b91a9f44cd53f1d4ef1fe7cfc2d5a7cf17fe6c38638bd796b2b5950950bece2a988942e06d6c33867a8d1e7750e01c0ddb60c15d722629697e309251f2a8b50d3cd9b21f87188ecec695335aae47abe789d83811633f28adbc53f0427636dd7c55ea4bcf5d8e7a28a5b4e468da2f3dd426fba5e58b3f469983ca3f5ac2bf5753c882636d3009d7fb98168c882ce039f51be5dbfe83e09f64f836329adb8b2e7ca328112bc14612c12c0c - -COUNT=11 -L = 2048 -KI = 66597ae8ab77152b64030f517485868f07cb8057f72355ea -IVlen = 64 -IV = 6c4240a9edc931b0 -FixedInputDataByteLen = 51 -FixedInputData = 236293bf8f4f42b2550edb99332eaa8db23b339daaf05b9de7456ee212a682fbeaba73082ee859426da1f12dacb549754c4d14 -KO = 438b0b7a598f2cfe99137c69c4c8a63d1cfa2eedc67a3015b0d349a615c99fe556a319c9e5c4c9844eadce35581d5ade5eeca4fc985be24cec5359c5a00dffd78cea1d8faec2f76bd767c14de919369599faffda8cd517ba4668d392a2932e5ac2b7dd8686f82835b77dedcac1483fe52e81d4ff56905c475878a6ab28add2b66a84ff0a90fe58fbcbcfe221d79542aed18c6f64ec386f96893481f7d6e899e790fbe18500f154cc1ec21364e930c10bcda4e14b262dae1bf2ce423d99c03673a0121f8e4ec32702ef464104a9ad44aac10541e29017bf9879967bc3af55a464a3e6853a3b7b220616b04e9d6f84213ec716ebc49606e293911a04ae9e81616c - -COUNT=12 -L = 2048 -KI = e48e9494b2be30d22591371554bb395eef7f3d69eefa3c8c -IVlen = 64 -IV = db08ee57ac459238 -FixedInputDataByteLen = 51 -FixedInputData = a8de05dc97d318ab65a4704ff0ba8153418ea8ff3624fdf39a7432d225ceba79ebe888af9cdfc6fa96bcf1579905a690216842 -KO = b055d51666eeb9644120b8deb712dc9bbb185a5c6751c8f733eac358238900aca669efbb8542f25fc0cfd841a77fc135d7d8aff3e5d08302ea9e9b46cd681fac21b3afb8f19f6e8dbaf6bf32714e2588febce1e8a86fcfe1b89e20f8973a055b6a2ba8bdf4f3d175b0353d570d6a2b56868d2fbcd34d65c26fe5b82a3e3040fd4ea95536c3155f16ce38c1304d9bf57af2e6fb124f66069ea1599399ffaa9d2d7965ba433ff3172b073cab9063bf0c2e21f8978e38f694af096067807363e2b43226983b6292f9cf7344c82ea6e2ba4e67fd1e926d6bc7f9125b2dbed19bf0c9511b4ea884d39189dc1b31f5bc5db4bfc671aaf9f032006797b34b0d958aa002 - -COUNT=13 -L = 2048 -KI = 2a2a9583fbcd0badf466a3738386608d06a7050c58c9ee54 -IVlen = 64 -IV = 4c39a62b2aa3f769 -FixedInputDataByteLen = 51 -FixedInputData = dcb9accd195c11e0fe0b3cdc7d43b81fdc0628dc92c0e4c2656b0574781e85998f0591308b09b39bdcec1b7dd538e0922b43c8 -KO = a9efd016b81305cb355229f3aad78f3f57514e7daa0eaf12fe627d4e6d721911f602bea4ecceefd3b77e62ccae5347ad954e47e6b247e12de37a511a10e633bc4c057b5b7256fd50916b5d890379e344cc9f96e91e93603396638aefd37e602986f4aa07f536711a5a4ade14abda55c190eae803e563ddf89949868834b5cf242a1b6986df3345a6429403e68779ffa7b405df934cc66dc683b86af71df675ea889f6d2c87f0ca0822ab0139da9d4fd18e550fc8fab2f8c778f01af88164b31367f93cb0761e5ad7d5a30329931bc9e2ea4577b38a7aa7ce25e5eb6eadd86f8b974dc6b1ebcc0298d377e7c653665e0a47196ab43d3c9f6a251a56f65aa57417 - -COUNT=14 -L = 2048 -KI = 6dd9a19214c7ae343da4a62a617d1b8022327bb89ad4d536 -IVlen = 64 -IV = 09282e77248b9f31 -FixedInputDataByteLen = 51 -FixedInputData = 35e0e3324a915388a2e179fc98cdf7041ac2f220ce95dfc53e79dd94c13f0d02a7a68b2f819890ae8b8e2fc4db42255a98d2cc -KO = 7609892bcb9b02cde1643a972c29e1914a435cd8711e98f7f93cef557cbc760d03a008928f24acc6e5c4a45da3c5d3a2f68ec1c31615337258ff30b836cd1427bfff527cc1df252a9720dcea94f104dd573f249af6155632e54d00e4059b223005be027a479590cb89182a6f5c6d36467309c792d16364249b54c13afb0441af47a877aba1ab01f996facf0733cc2ea4168eb9774342a065b1ac58f26bfd005f53b3da22dbdcd7394eacda85887d0679e9279763f1d696af16749b01fc2b0f7bbc65c40ac6b8d0aeeee6202b0a1f724c9566c8ec70f0c58348b8efef4952c2cd23c24806ccb6e7e793d76541d7fe2f84c572d880ea4309bf06fde3dcccd1d15d - -COUNT=15 -L = 2048 -KI = 29bf29e7b5a6c6f5ac424f64527ca9d49a80393c53f58f44 -IVlen = 64 -IV = 0b3d59ce2ec24a63 -FixedInputDataByteLen = 51 -FixedInputData = 8dcdb00fb88e94a4d7ae5f1f95ea571b6ca6cc625c5cd50e3199eee717dc2be724c6d6e48281bc49d1555a31d271eab3366706 -KO = 4fdb15707dcdcd04ab282c76d2a0bd50428b3cf713bc44f706f4bae5084036722e29bde2d1f211b10c3f6bf0b87719a9f91f5ec0112449c9d4e77cb8deac9febbc084af8dd8ec4cf81df6f22a8e5ab7a4a504819f7bae920eed03f70b48a016266a739de566fec1bbc47e8c1fbbcedbf1803e509221e3f04c780117244c17e053919e517cbc0ffe191903e0bcbb3030a31aa87d147854946a3100d329c7e359ee22b7c9cf501a8b099f153c48dd32b353d538c55036bfd3f5f4155c833341585a4058b59a6be0784ac74e54cd7393b82c77c166f3718382ddd400791f83cc5135bef40946c419408cafc598ec1f9ff91eb63ccf408054d0188cb3cf1ad0b00fa - -COUNT=16 -L = 2048 -KI = 44c1036feb3ed78535337168fe8bc53c80263acc648c5989 -IVlen = 64 -IV = fe0ee8326b163bc3 -FixedInputDataByteLen = 51 -FixedInputData = c32ff7a10d05c012d20808fb3020e85a9bfaf07325e9436d641adb3578696692dbd8eeeaf8ee87a35223d10cc93f21b461bd20 -KO = e5dfb8d83dd82199d33751cac65a7e82427380d158e91da70db33411d4f285baa6b52fe7edfc00d8bff2caa6df2ab9fe770fbcc557459d66d097882a6c30e0621069d14114be6762aa8491a1e565fd9b97fee5e8ddd42c996bfd4d9051c07bdcd3feda40fd20ebef39cf74f197a9adce70fcd6019aa67b859fbc3e175ec166f8a2181f33dcc08695760d0570cb1995f3a5a64c14c887f4c83363c6928e47fb257b789836c95c8c839619f403309a5c8276be2cab4d1804e344cea7d897d4eac7ff64b148b5f278ab69b9442e44b620f789d0e26c4c06f86dd6554cc05e0fb83438cf029813c34010c9e52d77d06d5acbdae7d28beb0e0fdf885c5a1230455441 - -COUNT=17 -L = 2048 -KI = 5538b146863ea7b3169010d6877674ce0dc754a11d7b0cd4 -IVlen = 64 -IV = a1ebf4f73ae97675 -FixedInputDataByteLen = 51 -FixedInputData = 95d41ee06d4f734a79c7cfac6796580cfc2354a5201f8b9008b3c2d450b652406129931d305404e9ffb4ba2a5b3099fc75693e -KO = cb3df8248144bf72872e38ff591dd9ad564dc3a1eeea104dac062e5f45c167ca4f69da861fd4007caf44a7bd5a06dc130f7e0fd28d684cc17ddca98717a4211e9bc2cc743132d3fa7bd0afd5a6e9ba7582ee41272009201a9d0310b133732c7e617b25566cb4f71015efd5f4224a9e759c347b036b63ae0362627314769b2014c7d78e88d4e2092c1c42a725f3727eb04eee6e2625257a6f33c87def981975ada6deead3098862baf53b07bf339d494dadccd7306380a43dca054a1994a2efc584aee2906c43fdd1ec3bd2b355a06ab8ffa47e203dbc44285df297b58ec5e625c8e390b355440e510fd3317c8412444a657a4dec7fd84b09ae2c7a5ffa5e5403 - -COUNT=18 -L = 2048 -KI = 19310afaf5f8df2f06918626a9e87ffc04fd15f299254a1c -IVlen = 64 -IV = 4608ebe7e373a98c -FixedInputDataByteLen = 51 -FixedInputData = faae8522b36506a3ae274581a912748dc6049021b21153591901acfe7a9941c0cba74b2dbf2e498d73ae50e934872cf8decb32 -KO = d4919304d33ab36ed8782353557d6baa1764301952fda9446f07f130643da1b00c09d2cdc5f6e7caba6e22e030baf2f896aad62fdae9d08e48463cdd9dd2a927601ece4505776a6db8e35cbb70805ba795937ef994cd14c073e8c626a41b23840f2140c058b6031ad5aaec95d6400826bb706fd95e4ffc4e50e8ce8fcf8a9d7d42e870f3c24dc5619886949e5c0c85a13f791cdcaa00fa3b081ad282ab47b23f06236aa72546b3022957a2d0a9f4d956a561b5f6007fe935fc367acc106b0cc783177914518b365a094f293c1fe3d56be38ebf46e18ef6738bc9828123b2e81445ded97461119dbdf19d3da2363943573221e22338398fd46ca46f99ec99e42c - -COUNT=19 -L = 2048 -KI = 4aecce1a70e8ef2241b729c363bed4e875634c52296b7589 -IVlen = 64 -IV = 8f904a65a7488ffa -FixedInputDataByteLen = 51 -FixedInputData = 7e1fa4ad7d403e89fe7432a02cbfc1bda460bb0ecd51626979b989534a0888d4ad94ce9ef1fa09e1fc02ee1e3089d234b8c717 -KO = 7b1b8eab143054c33cba6a1f2aeaa774c34186362a5f6785ec00949c1e5452948dbe020801926bce9cdfe3eb4432efa81b6cd09715b20883028427fae6c722d489b27765cd5cab45cf94619fca4c96197ad293829534c07007ddcbdd1f158fac43cf10563ebf379a7c0d8f6147cee6ac7603b936445c1d85a443760a0d0dc69a8cd37b6aec3e248924396e2752aa79e9d0e32f197aa20db31d5547b489a6269d0c76af1fe478a13c395f4ec2cbf8792a2ce5667db36e403dd2aa1acb154418facc7e43277b4e768bf35e9b4dbf40644b3afb22f2574e9254d90d10031e885e3ef487b8bd52c222e6b5c9e835d37a517c424a0d86847e9b609bbcf02d5c03db46 - -COUNT=20 -L = 560 -KI = 0cf58a798299483044b133f276429450fa93d9239e4d3743 -IVlen = 64 -IV = 2f0aad8feab1d91a -FixedInputDataByteLen = 51 -FixedInputData = 087027bdedcb06c45f92aa0db7ace1fb5ea7219dff831ff684c051b542bb51419d6c12ab779b3c7dc333a4f2fff88f8561a89c -KO = c731ed4e10c09296087809b64b6b4d57fd870ce4040cd4a54137c7ad164fdeb757942a291dc06360094c77ce9c1f69178b9ffabb370a32ca23077be8465cbd1fbad183728574 - -COUNT=21 -L = 560 -KI = 87e6bc899ca13917eaf54c339f442c7bde512e1bb02266f2 -IVlen = 64 -IV = 9d9c8e4c0710d43b -FixedInputDataByteLen = 51 -FixedInputData = effddeda1ffdc95735b137a6d736e60a087280ffdfc71ef1b5b515e08750f0a31583e34aeefef42e9a305696618e611c6b5c74 -KO = a3bf405a2451ae6456b2e7c40fd35104eccfa376aea2f924b28066c82bf62e660cf9bdc649222616d9b9bafd5596ee8459c4b5bde793ce6bdd29ad66e0be704743a4bd430a62 - -COUNT=22 -L = 560 -KI = 0bd660e65a291b1fc917e31ae6b38710fe2e03b97c0469a6 -IVlen = 64 -IV = 2ff1d1814513ac65 -FixedInputDataByteLen = 51 -FixedInputData = fe99cab977eec596a70d11c69ba7bc6a957f1503babbb767654791fe3bcbf20f2f804dd329ef1c24b0a8e778fa129c276e6cf4 -KO = 04040c3f4f925310040d479ee5c0f639d96069a6afc5422b9b8a70f6a608c9fe541cd138312a92a8d8a249fb004b3b5fa3f9f3afdc47a639b0853173891791eaf34dd8a644e6 - -COUNT=23 -L = 560 -KI = 3c9b9adfca5d3fa67af2158a252b4ef5b90103b16379be6e -IVlen = 64 -IV = 12ddb542dd8073ef -FixedInputDataByteLen = 51 -FixedInputData = eeb3cb3802e500e3149b08b642603fff0f214622005519416a32330b4b6cef275308df0f1a5e4d5c94b85ed456f1872e595142 -KO = fa057182ad6966500a0e1f90f04c13b832312bc343f9f91d39548e257e1a9b92685b318a705a5c0cd70f17cfb3b64288bed0767976bb49ba24cd23f1015eaba5b2952e5397a9 - -COUNT=24 -L = 560 -KI = cd7bb4976b6da09c47926c4566a3079a9ea803213c6330c2 -IVlen = 64 -IV = 74b7442d6070f5da -FixedInputDataByteLen = 51 -FixedInputData = 27f4ccd21195b73c08457dddfb3d6b1e47087debab91d53989481b08d5d096db77b1d62e1e8424abe6f672079f1e8010301faa -KO = 7f72a50c9e7f294fd9cddd91a659cd1328f539a16bafab3cc434f113ef6631bb6585d2e684b139fe844d2497479bf8340569567012a350d4ef5864b21f8bd8a1c26fc513bd14 - -COUNT=25 -L = 560 -KI = 766c3553ba63587e57228b59dd8ce688095a6d4fcf0b1449 -IVlen = 64 -IV = c0f7ec26b8e858bf -FixedInputDataByteLen = 51 -FixedInputData = 79fd2142ff2d2afab7264a380b29c01f27741541af0a5f1258bcd8cc11ea0ee41f47937db58c4c041cad97f727d12cb677b035 -KO = 16879f1421cecc0fb748c1cec72532366713298ba7ec8a6fafa77431b26d6dee4be27abdac76b04fdde2b08973728e85509fc5a3c2e9953e5773f51f3ce5b3b32e7996010125 - -COUNT=26 -L = 560 -KI = 639cc86a24233c31af2c425c2d43a118850d7fbae6fb39c3 -IVlen = 64 -IV = e1ced50e13a425d8 -FixedInputDataByteLen = 51 -FixedInputData = 24a11c924c6f4dc1b6aa800a058ffe8d29f74ba9f26b414e84fcb9ac16ec097400c9d018cb5783690095d7fa6e21c5e9798e5a -KO = e7e07e9a348745f84f720ed995bd8dcb0ccc3194b54f8f3bcf240bfd3cac75196168788d736c208f295ac6967238b774ca3892882bc58553a5e60ba3861a2b9a149f02a37384 - -COUNT=27 -L = 560 -KI = 13edb1a69181190fc9dea7be317fed3e139fa3efec5496f5 -IVlen = 64 -IV = 2f0f0c9f43590a88 -FixedInputDataByteLen = 51 -FixedInputData = 8440c1ce8dd7e2bdd9c9fdc59f546a0df913893fe52ab4538fa95c227640d2f68daa79e09ee8b754283e1cfd02a334a93a7512 -KO = e5e2826f8e68c49188b89287ea249b5a2e37f1bb89e1d0fc693491654895c256602b6babe79af3c955990ab35eb81093c2a0c1a601657d6e1d98f260ecfc8214f703e60bb17b - -COUNT=28 -L = 560 -KI = 2246877cafc011372c0b290bc8230979171ffc936348d497 -IVlen = 64 -IV = 8c27e764a198ca7c -FixedInputDataByteLen = 51 -FixedInputData = 7022be288b2c73306e98d526345678d431fff485a41f84338468d6e72a9171b267a2d538697b779d3b8c0ee32d05f10541d9c1 -KO = 6e5a0bb27d7cc3c0ad65a2a582be4d30c8e73fcd2bebe7ae6aacdf03454e29b932fd2f36d0c8c3b763e77b5161bdeb20f75156a1917fe0da8020598025efe637479d9046caaa - -COUNT=29 -L = 560 -KI = af9b3319d92472899e1910da8cdc13c15df2ce0fc2282c86 -IVlen = 64 -IV = eb46803f1e96d8c0 -FixedInputDataByteLen = 51 -FixedInputData = 16b1e85c7a28341c826e9046dbfae2a2732dfb1dd43ddded094ce5ae1e08f92fd6820765596091b2aa09bcf6e5312a433f8720 -KO = 9631f5423cb22cde8603e32078e8214ec2aecd0b3f4d7d92ece102a1ec3850976aabe921ac5cea2e5ed3c34144c2b32927abc9e39c68f351c93c4d7dfb151279cd0e7e057bd3 - -COUNT=30 -L = 2400 -KI = 6a502efc3f3aa9a0af58561af72c8f773be1d6c16919be6c -IVlen = 64 -IV = 9ab94acf5c5c88ed -FixedInputDataByteLen = 51 -FixedInputData = fa5a461e5b5d0630a42d4f88438519733d87b3ebaa3d31fb190b3c6916d12393b19a0574b59d5266d138a2df4ea7ac67a5845a -KO = d5dc478ff35b4988170ae390c4f05095523f3c7bf09225d234311780af00400af0aa91df98ff4c7e474c30501c14b30f06339b4633561ef757e894fa52366a3baf16d458f5445c3e081445a971feb7a5a5df970efabcfa39dc94e466b343d95f5080d3caf17892fa20a9ef2c145400fb2812c6b093d6eadd3f83fcba0447163f355bc9deb29aab13b9955abca91006170bb5006f955bcfd3ea78a06e6692d2acd8eb888c659ad6729e7e207dd6a183200697f4550abcf3f585f575ddf3830d68d5072503a1a21af6503b5b37aa88d16a1db81cc988d7601d9f02e0eced3a8f219abc05d731ba352b547e3523b65759efdb02a579df3173969c6ed1ca443e41e5dffd211f9ddc3dc94abc4ebed26a76b35c19e89b2c174d24be532bebb26b0c97037dfdc64eb1a53239c4bebd - -COUNT=31 -L = 2400 -KI = a2c2d14cb292e7faea71f134ea4ea775e650072cd08e5f18 -IVlen = 64 -IV = d796c4fed701c8b3 -FixedInputDataByteLen = 51 -FixedInputData = cf36a1f15661a9000fc6619b692cde50297f25f59cd90406ac256aaa198a38264f0101291d733be6dec8a5b97e1cb55cdd2551 -KO = 9a2fff87f67dc94d43f0127b856e7c8881d94e4b75aec6587d8eb856af7a25aa135de8168afc9aae34bb2b2fd10b0d11c29073b90304b2aaa24304c3e9c55b2ce4aa7fc0eed02aae051fef3cb2601722290807a757bfaeff2b5795083cd7a34973061e3d68e5e577c2e2b8c5086e19e1642fb401bdd8ec947987274c3f3f32b3f19fa22df52352e2923a791ad4b8d8196a3e9efd6ac0df0c1c6c0c425d08ef2d18cc6976c312f507871964083445e7a7800dbcab4d410e72e3ecd479a430bdd97f6e0006a59472fc6c96601275ddf835e1456d5c6a580272e55e3e261b459416eb68f04cf93e6be87daaa188248fd55564ba23c5ba3a504896f899a04e653c7797ec0049df690345d9a192ab73c3ac7f040a4b08678234808505e9ceccc6fcb5428eae593abf381c5831e0b8 - -COUNT=32 -L = 2400 -KI = 3729e3d6ca2cb1ad2e16ce5f1fe2c4d6744fc5b1e4786d94 -IVlen = 64 -IV = 6345f4ee72b76fc6 -FixedInputDataByteLen = 51 -FixedInputData = 7f55f44549e530444444b42ff4008b6628d09d3b23f4c9cc8533ae805c4e7a564cbb747a9b246109e93e548e149df22c23fdb8 -KO = 5590cbfe84971622f1d83b1301fcbd990b4df11647fe3c3e38e415f41dc136624e60fdcc577e580d0b89dfe5c310e86225f709653792b350aa965d22bc5b1fbc57c925e73f2d737e912ebc8654b9f2bec0e26123b3d7629b14bc99c03eaeb3c35fdadad9b3256115f930dea3db06031512203c49771793a15cd34df2e8407a113ed24f78583028b455f0771a947d7c5048a6b0de75f05ae5e9969843e1577d018ff2d997afec46b4b721114ab33b9e7a431773e14530c6e64834a5e46941cce130a74c651a5e0fc8c4b36f83cb15754a0718835affe7f3b005ddfc5ecbef3df5e724726d09e90be3c4cd50d2428c77120d01c96d48726a396a264dd55e805b42c74b4cde5db465068324e9895184bdcc1a5f08d5805807f3924231c0347a152359ee327148517a508c87c128 - -COUNT=33 -L = 2400 -KI = 031231ac9ce414364e8674461f734e7a80b802b68cdbd539 -IVlen = 64 -IV = 24d532270d70e0b7 -FixedInputDataByteLen = 51 -FixedInputData = 6187690b45c8a9ccbdc01de876e9048b6b41fc40bc556d013768cc789859d231d59f6d95d82d4ad94b64fc16850bf62f0af784 -KO = 0b413224596adb60a78a5c179410039d667b2a7a8f385c2d1d30dda37be7442f686276a2de5cb76b91fb57563489e7d9dacf05c6ebf461cd25e4944dc5246d5c2d7f1a21b4d69d18803f15715edf333e761851137dd3ce9fb17ebb0d8929c6970b0a4d86ec9f87035b573a07254f208aafdec72cd273835c99368efad645eabf5da32c73e5084731d9438cef18ef9cd51fa88a9037f457514664505dd9b866e2927d8d6c63711bf13c76df164c8489ad94f9de695fc80a85d7e2b318ed551aaceb6cd5ca3d55c81a66b6d0300d5a2502955d9f70ea274732c7752d9e9a148cd015165d0a3170617bc3d2d6c23eae8f87c34525cf2473d5670a9b21d41d9f01de2a41d16ffd0aaa2a3ec1acf44360478c3acf495cc66ee5a95fed6d030875c941f18e1e9259903517dce4110a - -COUNT=34 -L = 2400 -KI = b45b68153f5fbc5891d6d1d8c0549cca70c2a3ed7f9bdfc4 -IVlen = 64 -IV = 3ea859611d4f4244 -FixedInputDataByteLen = 51 -FixedInputData = d681fed1e53f7785d8a8a3280293dd47051385b98141bdf31c38f4c84e65de43dfaef136a5cb5f5b503d2ea3a6415cd167f074 -KO = f8afec6c23d3343ea91a9e99887cc66e3323b99985690afa905957690449599f8594b1c67b3ae5609161cf88fa54bceca62b78478f8fc26643df83fc18872afb8ad49ee5bc0effd4ddc162e319d8e5ed4acb880c01c9e53ce99cd75f8afe91f600d3f67272f97bb59708a81caf0a9387e4f66b79a4e257f1b1d010d5b58892ad3c2774b74df6bab9eb08582f38266b071dca5467eda8298fa6d42e35fc38d6d343267af1b76ce3678a390c8cca0cbc92e92e8cb5e39bb6e464614dae092f4ae8857bec267d5badf129d0f67777734bf2dac3c2e8369cf258ae791af2c641eaa2e3f3d1258191b48d9e032fa9e85f4ae54fa5b772ddd1bba0ea8208cb12083bfa89a8a6706bb41d063751d5aed1e55487dfbaacd586f57c6c630cfbcf82b4d10476aafbbf853a7e2848c38a4d - -COUNT=35 -L = 2400 -KI = f7f50f877d1e8b1d24805e0c07a1ba7f9fc19f8519a851d9 -IVlen = 64 -IV = 7132d18e7d092392 -FixedInputDataByteLen = 51 -FixedInputData = c4754c8755591352f4af7aef0fad3f650e981da039efb7499c2f0c2c1b1e3c9f8253b7f3a2eb2ffd8885b9326d23b6f70759ac -KO = 606edb8609e02bcbb3ac5da074f8f086ff830e370a31d20cc9f6937fefef4e48e4810bc5857e99942fd31f497d75949cf2e19ea11579dd3f0b4028a6c470a9606d30ff85cab2c5b3b8a91b55d1d34b9aecc316fac6bab4cec171cabf40c31bb095ad9ed2148b63d80f42cc13ea41a22e690dd18b4b316307fdaadaa8fdafa4e2a75486d1010819f2574b4a537ed3e428b89a5cc4ff89b250e417de8e1e3acb94f66f77e1cf524a2d8ec9ad079099d8c3661c35adf34d3401c381c16a469ced32442c05c9c9e1976ecfd4274c1bb2a6b4b23eff532fc4eea61fd624d170ef1f66bfea2d4ab5f868520efc2fe2f2a6b81ff4cbfac730b745423540bd3f9149c80f99fbded5e7420ae5e0064b2e89acf497c222487c75868c404bf6455670c26c9e6d86a864f69f064bbf8f2c8c - -COUNT=36 -L = 2400 -KI = 0e4ed4fec3d25cc910898b244e98bf19c067498c7e20bf9b -IVlen = 64 -IV = b17ff6171185d6ae -FixedInputDataByteLen = 51 -FixedInputData = 3729909ebee1d16fb00f7be5b480ba03bd675ac4c8a2cdb09fc4b52cd0c3fe2b714150ef8dd52f9bda0393616d333d13fe6a7e -KO = 4bdbc09ff6a61c9d481c751174ffe0badd53add2f6be65fef260def1d2cf7e662e8e151750781cb2979460b8f5cb9017705f23409f567094a74cea6bd06f60b9618d71c3f912e125806e5ae250dbacde170ef03e2db55639263f5ba2a4eda6f686c5c893d8d577875cbb1e4f40210b5bca9ee978f3dc0d5a14ee792bf7dece03421b35a707ec0a92260ccd53086e6441e052d7b08ca357ac6bfca3b52ed2b3ced3617a7791226d08438f24da632cc91fa850a248fea58717694490c23d84d9e0817d3d6ed2a57a10cdbe4478d26fd70863e38d28054d4020e56673180fd9ef24293222bbd505e13cce79153db16eb18e2a2e370950771a0ff693575fa6973a3ec6a125955c472eb77353ed115e5fc909ed72d26b4b52b788d48e004776c9565f0657d43ac207a1842582b8d2 - -COUNT=37 -L = 2400 -KI = 2fcfe5460186b045183a090d05a7c84c3ebac6db75de91ce -IVlen = 64 -IV = 9aeb5918ed2b602d -FixedInputDataByteLen = 51 -FixedInputData = fad09ebf8b2d0e6356a1057f6129dd51c525655a4aad05e4329c70157b6545b76b70d53811d262014fabbb7dbee6cba1da45a4 -KO = 3ded3a1448dc9170b1347d1a570b344a13c3b266b2a9353e784a7c22ac0650a58765ca016cd6427e40591a869c5f71cdf1c0d43b8ec4517d0fa28aa4d8c393629284a7296e1068ac7bcbb6245d4a5795795cbfac74ccc1d9f0d72de34838117db4835d42d87cbc0b7533a19c35b79d29bd3d6ca600a52b79d6deb2c854a1cac68398549c52f9acbf40f4f6b01644641ac104176d8a7597684121b5044b514c3ed63117e6eac818fbb05d42135a7ec1adfe48094bf89a61af149ecd6b359b2dd86de5bce615d8173ad7fac6df0e778831c2eda71990a14015aab100fd99e54ee5ec425d841c6ac63cf1d7676eea50497bc00a1796777f9ad833eb1f5fbb1780fc8b8c8029cb7f97d674e07bb6895a7a1fa30f789d4f7d12bbc8e68f403038ddd38eff82a0738cc8bb6c921d77 - -COUNT=38 -L = 2400 -KI = 4184338d73469994dda628517408ad5e50a9339b4c4e6ba0 -IVlen = 64 -IV = 812c32d1205d7b80 -FixedInputDataByteLen = 51 -FixedInputData = d33fbc541a66c272ebf2b3e212a486e8f4e2011c6598cc2ebbd1cb824bad7390a7f029ac37a2379fb77783e6d401af21198b71 -KO = 7a1efd9a125aea40a323c342f035984160eb2f77bf08271cd0608d6a4f0814bf8046159d6584d86f3037899b1cbad39d76274c5f8a30839c79417f6b0e5f71774fc7cca718ccfa7a9812e1a1d16f013f806a9f8ea8528909da94948da9de8767888b5822ebac280851aef89dc25f45ff9d402592807e127dcb8e51fd345695804c01c467ef7c704be20eea26d3ef390965c1a18f0a53000e96c6353e3070f971a5a140e5cc4b6db1e86ff71f316c184ebed0cdb7c982a6dba1deb0164167170ac9180681d1a0199aa6eac323ab5a7b7d3039f67de6285376652fdc10833d16a09ba5090832af651ad9d24be1d0b0e0513df225e3e3467d353ad5058d7803bffe541e8f951f73697c3cff8f2a0300fab3b20688f8d227b483028edc3a5aff83a90b162758481bcb5e10127684 - -COUNT=39 -L = 2400 -KI = 18257e120a0f4a50c76193b0edd2fde67d15e931a8faff7b -IVlen = 64 -IV = 9ed7a670d7a5696f -FixedInputDataByteLen = 51 -FixedInputData = 2c4af715bb113808ca8b7d7720273094259993355ddce0ed1c22304717c898ba517cd286b3d155ea4a96dd8b6ddea771a3f3c1 -KO = e08b2575fa229f6bb1fb83462aa6a0a057060ef3b7811b983c4a6229e567fd72c8f8c48cf469d3fef7b7f231477edd343d6cc69af9aa1b4432a0600f699fd7efb2fc97e2a53748431f99c5f82c3141986bb9628ba17df833406abcbf5aabca8343eb33e51258a28277b3dee48b66325782b6ca10b780ca2141830dd40d29d8702e4ec59f7beccac41e943751c8339e363e1a6b42a3fd75bc2748ce062f922d0651b29112caea53e3e014671fdd99a20233756459eef0abff73d242edcb54d700851ef5e01668c2eb88dc06883fcf44ec840341bc2ebdc5d99000e130a4c7bd94344454ede0b4ebe13310694a867678d05638fbd91da97d53759cbc4c8f56bc1819038f66cbd56af23cb92cb060fb335deccd5247f02e2225b37ba729db03f0f60bd9281d53bfe9f1d5a92bec - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f85ecfb17063445b74838241dedff02057a17e4936c06d17 -IVlen = 64 -IV = 61c1aeedd8f87c6f -FixedInputDataByteLen = 51 -FixedInputData = 3d4ff9f7868746a51f8eacf11c09630e766541421263d800d3213a4ed0afff5231318b5b08ced53a39c063ff27fee636704162 -KO = 6e1277c84dcb8f3c8fac9e3a2b9f80bdb2d7ef94898200a0ee445abdfda4c1da6538d567a48aabe3ec20e7cd67559548cf45305ceeae0fc77d224e0835188992 - -COUNT=1 -L = 512 -KI = 203987c7cda32333818db64b98a44379eeb8f63212362dc8 -IVlen = 64 -IV = ffa8f50a21c2cf8f -FixedInputDataByteLen = 51 -FixedInputData = c0ec485cfed099c136913247b9c36265fd53b58a8511bf0210881716d902c5dadaa2832107b0ba3106a3e89bd40224f2e78ff8 -KO = 553aaf7ae9120606e3732b52835191c66a0970b6434cedaf97df3b48002cdfe41534a0ba005c2cebc5c3a4e7e5d5b0590595fe9f3a1724c62155319ba19aa25b - -COUNT=2 -L = 512 -KI = 20fbd5337c2fde725be9fd8a4a8b4774cc4372e2f72b4312 -IVlen = 64 -IV = 01e0e7c34e6560d0 -FixedInputDataByteLen = 51 -FixedInputData = 4d6c9113b851538b1629bc681fae7d3b6a62ea617ad10f60a4b6bc7a6b616b3dd715806ca64aa7a58f0a7ea725b0df46a4a059 -KO = 55fd31601f2d00f4bff3604ce0d38318d2a747fc359b5a364a6529036dbddf1ef4a44e2bb8ceb7e0dc17511819644501e9aa0b520642dd8280601631a5790000 - -COUNT=3 -L = 512 -KI = 35f8170bca46974d09aacd7f3754f7e392c561734d0752be -IVlen = 64 -IV = 3cff1a7f56d0ec94 -FixedInputDataByteLen = 51 -FixedInputData = c19fb0e9ca91383494d2efb05bd323db3201c589db00d064d334441a3b74765076acb36fa38d88562284bf6cf0a666ebf72cda -KO = 963a9396d2c9a2b4176ba45eb4929281a1c52beabd6ebb9439f1afca173644c4617abe76d85f9109ed6953b46d0c8ed67f22bd421f909d0c389b30a32465af49 - -COUNT=4 -L = 512 -KI = 30d1b5575a55632b83f14957a97841659e64c251035437ef -IVlen = 64 -IV = 1335b4aaedfe489d -FixedInputDataByteLen = 51 -FixedInputData = f3007352c03acb05ea71ad6ace3a31fcc96f05fc1160cf3a380b1ad723f1a51aed7eed2129cd2dc1f5a2f34a79b77477304eff -KO = 2a7f7cabfa357d4a81446e466ffe8164b3b7e632bec7300d06eec4caa22adf6a453e068fbd813f7e0b15eb420314f756f2bb70b77de3e5d977052b53cdb69c90 - -COUNT=5 -L = 512 -KI = 2312bd99e8203e6cd8471b11c94cbb63cf4085e9a0cc81f5 -IVlen = 64 -IV = aa46768c6ed549b0 -FixedInputDataByteLen = 51 -FixedInputData = 23c802b49c311db3029d2623a2f8f5d7a415874b0ca07f1f1b45d7ef442961c3cda4dc91eec06c7533d850b4a16072e4b950c8 -KO = 0dac76367def940e2df26cedec9ac89b6b053792def7eb37d84844a8aec6ccfed71189d859c97e0f49edc4898ee0356a8f57997f2ff06fd17e6c8df196133889 - -COUNT=6 -L = 512 -KI = d9e10c35f81053236f514583654bb9876f64dc46561e491e -IVlen = 64 -IV = 655f3c0d11519c2a -FixedInputDataByteLen = 51 -FixedInputData = d109393f8981b77820f3c52a9e040ac691dc4caf7d5cb148e3d6505577d6f1561a6a75b233def6de087a5250ac89b419ed67ec -KO = 06fb2c05800c5f7903c709cfb5568baff51b14329bfc36528a43de60c8cc9252d63d8dea8b9fcd760284a09aab516e124ffadc45bcf297fcd7ea77ccb36ec756 - -COUNT=7 -L = 512 -KI = 6c26db1f6ad4e173d163533ed5be83958d020a6a25523f25 -IVlen = 64 -IV = 66f853abd5f076b5 -FixedInputDataByteLen = 51 -FixedInputData = 228195653c2d298d3f569fcc804210adec194d9e6391f8a555a61ed79e4969b8a74548561df8f0157316985a99395c34515c55 -KO = da4df106d5f9be12fbe6f8f155bbf02670c169d274370eb70a5ebd9075dbc99c0b81c82766ce976d09b6e85d2a7cccc29514be4c2e7bc50d12316b34524674f5 - -COUNT=8 -L = 512 -KI = c41760687c605f9f1b82e7cf51b25110c26be1839eb163b4 -IVlen = 64 -IV = 9d4903e834307fbf -FixedInputDataByteLen = 51 -FixedInputData = c307004b333931d40b15343b84ea71e914de5a31392ef4868f2957f39ff5db88361d02c1699b37d28466b9e361d361bcd6db05 -KO = 151aa8fac4609a9907fd083bda3ecb0c0db4cfd20add3b1e8bc3f51f89cee4c7b38d18113fadb611c5c4f992f2b5ce0bced8fd1f5f2ad3c87daadf478c09e802 - -COUNT=9 -L = 512 -KI = 93e7da34ee17db664ad1adcbd4ed38e15dfadb9cc86c9453 -IVlen = 64 -IV = 9676d46c542b26df -FixedInputDataByteLen = 51 -FixedInputData = 48434154a8b3561d6a0f938dc5aeb4f1a37deb10a924ec4537f1404f7715ed9d7b5402b403c225d3997b468031d5ad2895c743 -KO = 78da700cfd3f4826aadef4c06dfb5f607bc98ad270edc9303d33cbec57d41149b0426b1f4be9244ef59eecb4db26918e9136e90b80ff0793dc9e5c15a4faf2ad - -COUNT=10 -L = 2048 -KI = 97b8e32b2214ec2819d0132aeafccb14e65155886486c89d -IVlen = 64 -IV = a2dd728436a7ab33 -FixedInputDataByteLen = 51 -FixedInputData = 7dedcd99d5de3218cf933d2a61cfd57098c493b9672e057bb27a1edde08fc8431e0847d19ed1f41e8ae162d7c36c59013e7684 -KO = 07d36be98fac21ee482e45fd95f7c5be24228edc9bbb3bb5400c0cbbeaae1eb6ba46de9c75531e0ea083c2fe1b06cef64513c14e148b2472a3d8229c6843fb99565dcc7918126817d2585f445e2814ffdd2e66c2fe06c93aa2766249bf82707266ed93fc5a2ac1e4b41f0cac5a3f3ada8aa4c9a1716ea9cdb96cd01bdc360663f96ac183fc5659da027aa5ab2f5d55f1843283eec2a6666c32c3e3e08a673afc3eb3c153924d486d80d0ac8f731376d7e6fc637a7c12db8643e5da5cd602e7a2f93bfe61e7a4001f96cd3176de7771e3861178739c751c220ec043c8226f21dae68efb44aefa6dc5b74f5aa9a45a6d4f9dc7138dedef552a532564ba40b6c1eb - -COUNT=11 -L = 2048 -KI = db02c68df06e6e34fb11f5943cb2df38873dbef23fbcb188 -IVlen = 64 -IV = 0961a7106c11ad3a -FixedInputDataByteLen = 51 -FixedInputData = bc468c2092f55a00c78f76990e590f9917fcf53520aaadc89233ed8355cfd466cf78cd3ff76c5c38bf1ee5d7873532d2c43c36 -KO = 1d13b24e405b4d73b467e751d6cffa265d2ad26adcfbe66adbab27a3bc3d02356f701cb0ae38495775f9e85929a46e491696082d3452f8863f3cab14bff0eb06bffebe9dacd33489b1119a138313bf8c4cfc7f635a66269be9819eac68d441d474bbdedbf3efc883f3a9d7c466e4ae51c4406c28b0c61ad69a9268e97d98c22e7dd47defcb22f2f479b70333307b3b9250700abcce6262afaac8bd9cea8c7b3c7557cfde5dd1c1ff5945d74f8a13056c1233686a8dd6cd3cc0a6c8c8346878bc5b345b3834c1de2fb48fb320fc9c6e4514ad1cf4a2722097bf81d942a09e0f184051053e2fc7fc4b84dfd4e81a044511a5e2fc9ae04191d26255763cbe41ba86 - -COUNT=12 -L = 2048 -KI = 4bcce28e58b928d6607dca46e1c3e63cc477ebaa574e2a5a -IVlen = 64 -IV = 417ef66d8ab00596 -FixedInputDataByteLen = 51 -FixedInputData = de5ab90e627873c6c4f691dfa3df902434ca54687b93e03ee427dd17f612711e85183e12f6625fc9337327e488524cddd1de5c -KO = fbba7d656b21a423ce02062ecf06ca2652a033f0aae1999adbb34f4d0d2ca60472e972a0292a3b0d504c2efb143c95e58214ca3801b38260381cc020041f76a4c98149452cdf6f3242b4475200c3a76a599c88a863f9bb0daa4ccd3078072778ca7ec6992625d5226353b35a36aa8601c4712cd08a1b002c3d958d5156b25598abd0bec392d99fd53f13523a8bcdc8e34e897878c188ab7f9c623418fe9dca9a77661855c1de984e5a29f268ac8d020f753da10706a9d8f4a3e6add7a69504db5b92ba93c7406fa33b47bbaa1612fb93da8ed9606fef68223cdddfe34745a89e57d7e4a52f303267fa1badd19e1ad9ddfb5c6b5a50a4978ddc8f606889e6dab3 - -COUNT=13 -L = 2048 -KI = a876f492fa43d6b735cd9f38dd67f80fe89377bb9021d418 -IVlen = 64 -IV = 2ae8846ac13a6e87 -FixedInputDataByteLen = 51 -FixedInputData = a156d6c3f0d04a3390c7a82a36e54577b065c5499d05d7a694d8074df486c420d340f009526d005cf5d0e74b8dd5188eae999b -KO = 0735eadf8c8b8f8e1765e501e4b8a52b0ec759a98d8e62dbe51d64c6e57808cb85246ae78ef48b31b275243ab045bfce0b9ec801bc627db42867e078dd20ab92a1ba4eaddbf5c7f51049387820f6459e507df664a9bb8c68dedbaf7e3e3526e6b577f613fcc7fe9d7460336d4918ec0691c44f58f15826e241b2d4747b8fb2b1299f1eaedbb99eebbba7be265dca1f2b75fd8d148ff2eff9f3b796afdf8b6c718cbf0ae0f7901d0cf296f30cc826c235f88412b958a1dcd1415c0873fd1aaff69f45c8faed9769baa606e07d5a9956fabfb665189f7870d0c00c0762b8dc06647e54eb401a3ef6ab96322557c8e3ff5a6bbc92dfed6f2efee30199558d6408b0 - -COUNT=14 -L = 2048 -KI = 823b24fda5a490b25c2fc9d55124704b18d14dd6a942d464 -IVlen = 64 -IV = 95ad84bcccf2ecb7 -FixedInputDataByteLen = 51 -FixedInputData = e3f12f535ef92f9e13399e3e3d0802c97ced985c8c354bfdf852873700da615dc359707b396704463031c8f61e82b02b9ce46a -KO = 3fb167b21a7365116f99ab930a64071b972a9b4c29ca55c2e57b94ff505cc8e25d70c82e556161e95b7274d8100e3f01ae51eedab151bec9e83d0401bbed3edfe8eecbd542b51edf6d8eebcb7234097e1de9a7e257741aca10fc0c40bec89e1d637a24308a7d82fc0485e7737a3188f933efe13e55497df9e41583b45cb05a30e9f58ad69f9a806dd90818a15b1b90a58f34a66afd03600204b45ed42cb8f887af583ac240834c18efe487c5ffe1fbbb4026a218665a20d5d2baf27163732a60949f8d341a269e28bfaa5bb9e6fa7de236e35324e428f3cb4970d4cb8242a7d574f93882f57b0b871e4c2b1cbfb1fe0ae48023a95efba1ea04b4793257ca3041 - -COUNT=15 -L = 2048 -KI = 4f3f3bfbb896b1b79364f8dbbca59ec0b97646eb6317cc65 -IVlen = 64 -IV = 0dc354b0b6add149 -FixedInputDataByteLen = 51 -FixedInputData = c017e9b717dd59de9555f10fd7e8645d70011c0fde915c12ea3942db518f6e883d95d9e11d577d64f456e234e5af0ca592b1ad -KO = fed36732e44cff73304a2e2f5b0325572efc7f062b92a91761dbd5d2d5eb87d4e593b8a2b5f8c45e9b740193be1fd4d8df480464fa2e3239e9918d3693f628fa876116b75df232185e29c88e5eb1fb5d3d113b52ebccf7ec082b419823dbab61170be7061064580d1bcc928d6509e463121203593577391c90f6e1df95126dd24eb27d7524feefe4ed7f24475a2c34565835b8366dabbcc86c62f94d651b2b01a5abb0338c142f7313ac470c5dc4e37d34eae7abaea44d23c1d1ef45b640355efa31fd8e5686e0bb9d2eebb56f19582507186d1e49c430417c840b438666a487bdeb562459a871a5692a611ec41adbc3ffdd3e1584027e243f0624d76007a1d4 - -COUNT=16 -L = 2048 -KI = e3066ec930a7cbe616e5c0b50941627980e654372b175105 -IVlen = 64 -IV = dfed3f5acb6cc499 -FixedInputDataByteLen = 51 -FixedInputData = 2dc3bcacc6878fec9b7e79d066e30e6743e47bc6dec898081d6c5c8f9966e27a921e37e9ad348b8a4ac402b9a57d958b2e005e -KO = 804b18ea1d9a5bd6e26b1caa863527038249db0590575788bb86fe00397bece47db665cca12cae68ee6cc502953da7b83e89d30e9250b90b6ae8aa620b395345cd5cacaa3f3b34fab3e91af643d9897d2cc423a30ea2974038c849d76d289036ee9892713993898453aeba1a9de79f35be6cf8ace57650646a62b43a60af6de6bc0fc8667abdf51e93cf8ed4896f8f896cd1c0e3ea5dd8d991962621da94425626f1574b2952bcc152af04ea56f197e11924e68f9c738c2eb6bc9e6a28f437523e364770fedc829b53e05dfc6473291abedaecd5af9d7b1df951a0222210e677453a6eae6232a893a09a278515eac61a8a44dd1213102f0a84b60fe2d08ba062 - -COUNT=17 -L = 2048 -KI = d848b446f58716d5de52cddc8ad0c913e9987ec50cd696a1 -IVlen = 64 -IV = f971f78d4cee423c -FixedInputDataByteLen = 51 -FixedInputData = 96170b68495da3c0d4b79c9fe38b2fc0803f4be4a080529f6e0bd19badec2c22e8c87d23cafab97e698b17a27120297c7fecf0 -KO = e616efbfc76158570681254881192b085d00f560f6e89ff7a500015b0b4acfdc12972e99261232dae76dce4dfdb27cf92c5ac541ef86ac20023379193dcdc32dbda65c74999cb94ea7394608d29b3d1bfd24c697af8363b2add672f28897384d09bf088829c5f897d990e022c8251c425f3654df88692f8b1ef4d4b911e6b51a6831e6797574385412f17e6403963277f16ee73b442cd1b4b1e65556a9f96dad3bc513baa70d0802517146cb1faf583940f84b9e0664158128632faab6b3d7268ee1c1142fab985927fc7c6d8bfd61f9de5c49878cdb545a84e5ab1c8ca4e371b83da14a86c19680cf4069d739dc85d487c26de920329c5211cd49cca037a877 - -COUNT=18 -L = 2048 -KI = 4d9d5c633d4d133b846407ae6d648107fa27af9f43b9f257 -IVlen = 64 -IV = 0716ba62eed00d74 -FixedInputDataByteLen = 51 -FixedInputData = 8f84c0dedd7949d1a400b0efe3862a428a149ab4f1826ca0dc36a87644a575f15b9c887b32829e1e33dd2c874842f7f6891e83 -KO = 6e79b014835589bb9952381973b69cb9767a5cd794821e1bf851337ae84296c2b59c44222b377189049105a3db5dac22230db375c60462426ab3c9418a1ef6c7a9b3b1d478e10a4988471fb57b24bff9653062950637def59514f13900cbeea6c5482b09ace7d84b86985b86d9e1dc224526ed428a63b4ee2911954fd1e30d4fe0e92abe137d6cef931f13f28cb54ad2dfd4496aa951d247c005142c3c961f69dc00c2b18505e3fb8adbf429ecc36e046fcb55f810d5938a1451c7881299b055753cfb35f0bdc538f979b2cc984509bc49fbfe13b4bd940afe890e7855bfe12f7b988fce3bb0e8f0faabe380ce80bae3b5c5095d14f4ccee59ae11283f13a545 - -COUNT=19 -L = 2048 -KI = b800cee3b6d7d3c5c1ff71745e4a65b8ee5d7f400b2f733b -IVlen = 64 -IV = 77de9bfd24b6cc7d -FixedInputDataByteLen = 51 -FixedInputData = 522037d6e1ab21ee7633021701b6a616d7264b17be9f2b840e484d8b4d8398bf49e3b714a8ee958b200bf30696f25fe0c43d42 -KO = 92d68fe904725326cdf47d8d6ba0b124e829a6dfa0efb2ae3bda2ed99edd458d31446c1abc2d660a75a3feb2f5125419170ef66b35b6f3d2e6c7ac9f36afa2dc8bbb62bb508e6a7613b4795c70e7715ade8cb1e0a40f040c6beb13a832e1fed97280c2f6b5e2a7030bf6a239c3064cafacd8c56cec3a691a45dd72e2d019dced7f52ad47c3d24c17ed739cf9312bcf3013122bef6f62f8c8743a6e0fa0f4729ba4e260e8b2b9f4c738ba193c3310cd9d188c19eeabbf638b677bd914d543d74acaabf0c81806ce0bec5c3a7d257bc423aee78f86e97e9dfd4c67578aa13c74d150ff24024dcc2e9ea88ae5313544433313cc4188c3aa9bde73510ed57a628fc1 - -COUNT=20 -L = 560 -KI = 379399fdc52e520938777dfcd5c40594fb9c5da548e1b511 -IVlen = 64 -IV = df5c07eef2657298 -FixedInputDataByteLen = 51 -FixedInputData = b2cbca3773ec5cea892b07710ce6c9ef2e452d7bf873411164a9dc4d99a99c62b0474d21829add14737917343b08ff66a556b5 -KO = 88156e1043cc54b5fbd547e06f1dc444e3d218ffa86aa495507a7e0d4744ecc25e93510cf05027e964b6ebbb7cc71ff86538ef8a01f0b1206839f354312e0a4f0630cbdd50f9 - -COUNT=21 -L = 560 -KI = dcc2f5f6b5062fc66262f2d4571992706b10a64fe68a7e60 -IVlen = 64 -IV = 1b11add921d38d27 -FixedInputDataByteLen = 51 -FixedInputData = 9288d1d0b676f9c41ea88d0e35d94aaeb89f108b79b51dbd45050e1ef0a71475c71fd4f791e33ce9f89d7f4550f1af6ec546ee -KO = 7468025c4a3ac8a09b7ddee74e4231a6562e46d4d02cce8094e9409468b96fafb292ba141c7acac1caf07db2596f2befb50627e6f181ca279ac1295445b96878fb69447a2704 - -COUNT=22 -L = 560 -KI = 41186e32f49c145dc945616fbe5b84dcdbca099ce893cd4f -IVlen = 64 -IV = bc70a36eaa8489cc -FixedInputDataByteLen = 51 -FixedInputData = e0339e3b0b3ac210e72cf7a1413cfc1555a437be261b14d869bc74c021c97d9dbfc2094bc70d28e3899d39eab968bfe8548839 -KO = 49262f0c3014e4e8cb93bfaffe94f11efefa0538a4d5cf51bba14eab30be74d1dabefbef43dbea5382b7cf9670295eb09330a38bd65642a02cdf9d416f0481f5727304e04bb7 - -COUNT=23 -L = 560 -KI = db1821fc9c055117be9f4eaf724e050f1a5f587224b0e1c2 -IVlen = 64 -IV = 4cce293c9fdcff15 -FixedInputDataByteLen = 51 -FixedInputData = 131ffbdf57f4e9697e8271209718540e92b899c10fc28f8b3cbaed433e82b5f703b3bd3bb652cf46ce57d3f78d0898f834aa82 -KO = 5862c966f03469768a0f9a9cf4cf257fe926ab319c13fcb132365a55bcff824e3ab9c807812df846bdc8433392efa1ebe5d15956e746a1240dbe347fe736b36fb4c2b9a1c896 - -COUNT=24 -L = 560 -KI = 97aa12b0badb9a22c27a17593f56634a821927b9369a426d -IVlen = 64 -IV = 585f8e57ae2d99a7 -FixedInputDataByteLen = 51 -FixedInputData = 74c090ad10cf631eb3ab0b0e602054cca2cdc415adb5aaf5893307cdec76248444b64f014a94cfd65940ac0f68849f27ba7179 -KO = f620900ae652034528e892995c5376667be047693484617f13a807ee17022a39055454136dcd3f5334b500a7def712ce4d15a741b4b9319ca538fced78066981cf5a7d31d662 - -COUNT=25 -L = 560 -KI = d85d87f81d75cbd35d37bf08cc12d76f9a6fbbe679ed6b50 -IVlen = 64 -IV = c39bf2cef5ba3d9e -FixedInputDataByteLen = 51 -FixedInputData = c5ab11105ca728731ba35b389a586a7323405326d9fe996c830791b59f9941746065d39aa93e93ef716ec3e47c9c08507a1044 -KO = a073f958ed931ced5941223a3710e304ce52bdcedd40b6c4609cd700a7ce5eeae4bb67ab86ef39836a0661b61a580789e752e999863bd56a87d304d46c287e180d06faf8ec80 - -COUNT=26 -L = 560 -KI = 725b617a6bfd0e2df064b9597436ef49db77ea55b88d653f -IVlen = 64 -IV = 7edd843952cfd6df -FixedInputDataByteLen = 51 -FixedInputData = f13ffc5e2222b833dbf11fd93cb1806226c011eaf46f4fd129950b3e5bcc39a611e9c91c200199bd81c4e91631937cd8fb33ad -KO = 432882af4959c8c03a49baa17c5a15d740f46af7324137a078cd362ec44ae8cbae3db6b853225ef9d21f0462ff2c4ae7ae478f7b0bade38d535327c7e007080d049af4c4bfb1 - -COUNT=27 -L = 560 -KI = 83b3abbb4c5cf6670813308b5721cf4c92ab9de2fba94a61 -IVlen = 64 -IV = 91cf39eda8f7dfd9 -FixedInputDataByteLen = 51 -FixedInputData = b8ecc330358127ffa2d0ec157e7c7c07d31af45060e062797ce4fb79610793e0b03f54179f485b5a748d1dff293123cb89ea86 -KO = 7d0246c9ba9fbedb7d8befb22ea570c365a575db51a513444ba5fe9da4c63d45e3c8ccd52d1e773cf9fa4d5aeebb9d250a2b3ae138402d490e94297b692a379ad01b10a57c83 - -COUNT=28 -L = 560 -KI = 6df7dc6231406cd43d256c6d2e6e6de640d2a67f4be5842e -IVlen = 64 -IV = 1ef6c795bef7ced6 -FixedInputDataByteLen = 51 -FixedInputData = 6d95c80c101aee6084d674a00e76d7565731f7f4654da80a91737cb91181056152047d2d8449c3b4fba72c922c6e69906ce91a -KO = 99f62921a0b6d48d02d521c5d3d7dfa5447854d1af3659732e5a245b47c6707a5aa0b4634ff613adc3786e2ade5b5d1e576c68b39cc446423d02039739a7181abc9e64d7cb9b - -COUNT=29 -L = 560 -KI = 667302d5fb1197b0079ba5e83c8d9d5d8d7f6c74ee30b438 -IVlen = 64 -IV = 303acd9fbabf0050 -FixedInputDataByteLen = 51 -FixedInputData = 527e27cdcdf6d5667c8c2cefd429cb6d535f9fede6ecb9f4ad6cbadd2c888ca6264f9845f1e35cc34890384872847a98b2d3ad -KO = dc4abf6ada997404505970b4f5d2fa20d43264ea22a23daab746c862e6c63269809ab800fde2e0b338c634d7fdd70b81c3fabb7b407881864ae8eaec7ca3fc7592e142658e74 - -COUNT=30 -L = 2400 -KI = a6e204029cee12c8117800afc7eb9c8909f2556a5297e04b -IVlen = 64 -IV = 2272e65613c0f704 -FixedInputDataByteLen = 51 -FixedInputData = 98ddd2ca34e17121e248874c59b543e7c50e343b263d3a087ae5d07d721ad3ec2e210d01fc99949e421e35fdc0c239c76c948e -KO = c41b79f6c875245aff81e09a30b1beddabdc5a804a091561c230680833bb912c196dc03fc7a727d415369def54e4ea8ac5d126bfa76fed68e74c3f9a29fa38bec2da27540bb82db24840d88e29c834179120a681f7bd5dc1f73c846159f2f52c16353643a578f34d477ea79f593e437e9b29502b9e32ca9e21162b7f2e0db5958670267412385af16e53f0b19d34e4312b412384aa28fe37c81b5b153e6d12db6c6badf96aab14229181dbb267c85bb73f08c1d5b5ba9c2a7fae908a413a0f3dbcfc612383831f774cb628a98c9539f6b9060fa1ecaa272379cd3ba9aa16e6caa81d1726c3826f58aaa45301c0fece18a2084121db80514ee214ef3cc575069c398c9bb2e175da1d94d4a0a48e3c221fd17d30de2e370c68553ba02d992db988e319793d3cec32306bc59490 - -COUNT=31 -L = 2400 -KI = 9e2902eff64c44d3c199a3114e4961c46c6c3560c82ae3b3 -IVlen = 64 -IV = da9160fd3832986a -FixedInputDataByteLen = 51 -FixedInputData = f7a5e40f0bcdedc118e1b4b777495f37aaf96851c149f4e1ae111717fe9c08253fe832bca4cdd082316b815e7376e470b150e3 -KO = 840fabf7b3c14ebc59a90cd55efc1037b2c00d28b85be7c0ea63301f1f2d2cbf8af820b6df0eba3289c938050e11f2822653977bc42919f7bdeb146c97c0586b751323653b3d538a04708941c9223e80c1f927cbfb477c44a89d536c9bad4e93bdfdbc913d324e00b5688562b5c1fcfaa2c9e6f1e7f360dcbb58085604e8d194b1a58f15081701265721dae398f62f1e942638bb4bbe877c1fe372d5e8d10fa276b3cad7e3eb8163d2e1d562d0b6d13ab57a1b88588d8a772558cdbf8ad65a033b9ee0b0f4357f0b5ebc742526cd112b3cdc58137265310e95683f41bb3f3f31b93a5d11790e44e78b1cb53ce03ef03e09709ef4e9e51cd92848bb2dfb27bebef08a650419219ca8353666e359da636565ad5df503fb84caf8595ef10f761ead88197f0420921493ecb339fe - -COUNT=32 -L = 2400 -KI = d08a335225d455506b03a5601d9c97b1444f9ac4ba9dd35c -IVlen = 64 -IV = 5e7143802b5d7953 -FixedInputDataByteLen = 51 -FixedInputData = 1f4f6170db7b0b2ae3ecb0a34c1f175314914e38be89d52c1f5517a53c6a6621d1a8b1df3f31e8d36d4d4b986c0807710f7816 -KO = fa69b1639de026718ba35a4c24e86f576d1cf27f382a8c71a0c20e365784eabfdcae158ab7653cdb3b3fb5794b51e9aacbb82579b0cd58ef75b1397ce799d8bbcc1c9f0315783319977edd4f44b6c8b47a863dd6908534d2da9f1296beadb6dcc57d478037dd9f7c308e6bc37581f83dcb7e5912251933a3b91421603f4b098bf580bcff5e1731462371229b10727c7501c589e40d5bf4c5aaf0346794fb08502f6c470d33ab01b6311b4ee0cba49eabdae2886c16093b21adea42e5ac6cdf85361297bd59b7a13d331b63c31c0ac0ddadb82e6de2822069499d338a7a328470fadb8a7c1dd99ca5e2ea3ad8a6ee4e8d8bf973aa0832f7b83f7563c6eb3311e087ac0eb320ad49e0f5611dc026e46519c953c17ef75a845ee502da7a1ecbb50fab01d613e4a788d7c39d5f33 - -COUNT=33 -L = 2400 -KI = 5a4edab914996d974c3265d57d82265c560943ba2bee26f9 -IVlen = 64 -IV = 13c1c51fc5de6532 -FixedInputDataByteLen = 51 -FixedInputData = 09702de38de1897e29092e4e54b1a603973c72a7b50fd7c3dd98b22a007265222c0d3a672c5d0c78d81383d6178d4fe86dba33 -KO = 5f19a36b8f0a06ec3b19646ff5250870132b5ea0333c4a9500c23a5a4815da21d2da6f35bf6851c94a0e6a178088bb5b29da52795402deb266f480db5f6ec08b34dc57460d613166759645f4e6616389b50ebc20dbd5f7f5275a6c3da6b8d99cd7631d823ce8cc9f72571433147c22e78140fc89b7b4709487dbafc456c16e35396dde446cddc6365739f902658aa3113d14a540de565ff11c5c7a6e7206990856215e14a3fb65545a6c1a85fdefb5f8b2727ea623a0d2525e30f246388c8ca4ff034d2a60be2c45a18a2fc11c4c8cac46005b62c35243ed6494ea9e0bf45f3f15c89505c432a782b749296dfac621d9f9041598faa4637fa2745348a1d54e1d939d53c7a2acdd350c1b102ce70c59ecc57c8f481b55e3c5ae8620fe403b5299ad314b4cd5d680dec8a70549 - -COUNT=34 -L = 2400 -KI = cce3a3a7ff6c5ab5162e2db9d87773481114733235f3d018 -IVlen = 64 -IV = c68ac4b6bfc469d7 -FixedInputDataByteLen = 51 -FixedInputData = d1a6fcf72997fc8234001e081eda6900c720694fcf96ace93b4d58aea61f5142f32ace42736cf0a08cbe93c7afd7f3f4b9ebbf -KO = bec32c706a5f3e7740061395269bfe0c321246b6f64655d44036dea8052b6aa584c6cdc265d01733f5a50e5c64cc4bfb8661c789f632b9a2b14cfd6d068f3ebe2697eee508610ebb27c938e73e098cce447c7373664b827d8aded41ec24c856ec275ca8cfc6ae26627de404b516daea9ed7e2e1d614d54ea2767eada6d11fd9d002107306c1919dfc4fdaf63a75eac9ef2eae2457063ba7fd0d152603ecbb8fd8f605d4b9122432a6d064e8cf91dbba135168158b4352255f64fb109ec370c8b68ba305f5da5eda1b193b22c106bdd5389432ba0402c6462516b16169a1da4e1810647ac80f999637701d6b239de79756214d706fa86b844f842f94900129008547a5d78cec80a59b81b85474a68cced5af8441ec83bfe43c65a6af6418d00bbae1a7322440ccf4f03382c26 - -COUNT=35 -L = 2400 -KI = 98f0d920f33458a1da27a2a07e6e2ae6a7f2318ec8869fd2 -IVlen = 64 -IV = 822639b7b5be1cd2 -FixedInputDataByteLen = 51 -FixedInputData = 63ccc70ad7402912bc71fa0d1ef6d73406e3193a01c7763e4e8b96561ed40e216ac922a53e5cfccb784802ed63c1184d7bf757 -KO = cb22ca2c54259045d259ac814c81e046938275852dfb8a9007a443b1441b2a3640697f5bd6b0c4faa0227ff3faac6e5dad88c5b6a751baed26f06982ae0fea20083df875aa95c789c32552e014e75c60eb702fa4869cfc7d7aa5be33690eef2249e04605f840a28a1cb851d293710afd9e00a23e3b12508025076fe3ac9e228d70cf4f86e7e99e88b8be1482d97f4b1583a7c1fbd2638855e72d8be1ae498a8bb124361532ee6ce322500d12f972bc015c2e70fd930d8c26576948323514ca8134e05a235fbf6dc4b11af383cd86de25d4f76ad02568bc3e5e8e8794dded4d029b588aa5dbaff82a79736315ebdc3a03d3147d75b67d7fbecb11aac57e5aa27383a9574cd4bccb947d1bb2bcbd10374d3c9b09554d2076b1fd3e3a6b6d82c3a8e1fdf57b79cb8d7b709198fa - -COUNT=36 -L = 2400 -KI = 93bc1784b277b0abe534effe36d5c7c832b11f9cf6a95797 -IVlen = 64 -IV = de2e59fd66d7367b -FixedInputDataByteLen = 51 -FixedInputData = 4250d0a69879daceb1d58b8d46682c55712fde7229ee6793719280ce13ad4cd809ca077e26fd7d22259fc8838d3c633559906d -KO = 55db5b48301c741fb3adf063db984466f43c06cdd7d030d2e9dad87a45dbf8cec67ad310a54494b5c2f8a79394e249ae7e016cb22976d9b3c16b63c47065799915aae46887ce171a77a5a63fe9885c028e996b72f47588e9a654eaeb4010b26b658319f2cf7ba98265ca0dd60dcb35db5bb383f272c36338ee15d626f9dc5e6c84db69e6e5cb21222be8773ca156a622401084f5ef48fb841d526aa6fa305a97f19167754c84965517b8e408b6ea1e2757641372631e37382bec0e1c2f3db88fcb7394da89f79ce260ab3bacbe8431906729342611d3fab66d8b2bcb427fbcd9856a65a4b7989c96d19e68ba9f0925f5dc17f200d139b7beb006667a5c8e0039a6ee1db842a85a3e1c6ceb4d692470e16fae82bea21ee2ab30bdc14656cc46014673364e39621dade37ea19f - -COUNT=37 -L = 2400 -KI = 5c8b9e979b9c9278527bfc91fbe5029be1b241137a873026 -IVlen = 64 -IV = b8a20f0c5360142d -FixedInputDataByteLen = 51 -FixedInputData = 7ea8abaf4646a8693a15408c640905001740c504e1bc04298fce7bea8d51115492f1756cf4464788e6349c91033df720ce25f8 -KO = 32dc6fbd29cc412e2345ecfee68a7ec043eb0284f205ed93e4c7448c9dbb0db5d1c406f0dddf788591629f1e593be199f7d5e292e451ef852c636de55e5f76b6a44ad8b92db5a8c8b458dbd2dab38a1fb2370d2382a164251c378a5fbc0605facc2642ed1acba30fb1d29d682911b4142e7098ca3d6498fe3b3e8911d16030dbebb50ca7191df15d94b843f15a3a81908f0a455039e179d8626f0758914d8f3af6959e61b0844ff7a04af519aa437f32db5c2a1e9634f2194ef81bb00eeb632be5e2f32e84d2ac9bbe50f9cbac9795e3f764ec90a65b443470ea8482c9375b6c3665e648a1007d1ea0186f3de03f5f9090bec3e59d600141831e49f6bce526bd457a6242942082b7c57993f9df93cfebe7463ddde4abf8caa0160198d67c0d4efa4f6d1cf054ffe8dfc0d452 - -COUNT=38 -L = 2400 -KI = 59c0d2edefa5e6cb625970c83bcfee0943088d830fb60bf5 -IVlen = 64 -IV = a23fa76f928b5f0b -FixedInputDataByteLen = 51 -FixedInputData = 8d5645e6924af75e719f9231dd459f77d97253207d29c179196f9b522cdcff7082e892dbafd35dde481d139fd1c679b96fb1fb -KO = bb2d24bc0e9edd6d612aaaf7077912d75b07c9eb065f82b1f6a2819183c51355d57e5d0f75b921fc2ffd7b59e4e6bfe8885df194e8950f7c9abe5bcf1c051c5839c8190df0752cae9c4a7dc2620d5843454b5c63ea392f440370eb1a9a3da47529a6d0d6892ddc824a506005ec4a32dcd278d5ab47b1a9935a4fd2fa04ff2fc8baf836d827a008d00dc8f3c06041bef82bf1b2a9df258c367f14675a1667f88c1ae76167f212401a59d522a821377b38cec06aabcb494140e36c3828a899ce18a1c0a5671f2b536d0ac36ef99c902570fa0a25b72151dbd29806f4ff56408354995d9184e09cceadf8385ff634aa0578db5cc6b01f1fbffb0f4f9e3ceaa2af366968b392ac12eb747bb2720b84058e729bb88a0ddbdfc8341d891fa6ba54b41465b62ff4a73e9f5cb308ce4a - -COUNT=39 -L = 2400 -KI = 85a9c2050223c277a376eba5897be8cddf9c7cf09b526595 -IVlen = 64 -IV = fbb5df5e49dd1c9b -FixedInputDataByteLen = 51 -FixedInputData = 31733ae1f63a35ee17002e8c4b9e4d6e1be42580762550b718c0b139d21a166c1d8824de80730cd098ff3d4053e58a02635ca6 -KO = 16df6a85ee0a0731a8f12e631ebc54df5ac43e53b609935f6e21734645d2235f179b5ba1282d6865ca6c214935aa19f7a7b79829e117010bc6e074629db5a0c3704528d5a97caa90b011d102c4dfc6827572df042e8cb13ccab414a09108041d4717c13343823361c8f670bc61eab9f18b2a5059465b43037230899c72849049c5565f6af7a35288949d08cadb36dd7b7d53bc71df990e2ddabcd5941da21149b1533176ca1b38b33c018be571debde020d44b37b8ecb8aa2f01823392a56849c70ce07acee516a804ba3b39a93a03af794f84700c263abf906b404381ebb764ad6afac80f66440b617abbf6d22904b979569712936c0c20f300df3711fe3e6891902b553157c158578158be155daca44156a8c0c1a8d0851cf3d288747263d7142cfe2cd20c8655d007b88f - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ee3e018520f97e82a1d3d95059798d3d30fbeea9a6e97813 -IVlen = 64 -IV = 7d20af560b89f7dd -FixedInputDataByteLen = 51 -FixedInputData = ff418c52403e9de683c06b679b4f68beb4933c6baad79108c7f45eac8154ee6d46cf930b1bd15e9e902a101b9b9852cf60ad15 -KO = 5e61ac6599ad794fdfbe4ac3658ebd17050493fab189c5680d40b730133b82cd38c9e586a0e95ed01c5d1d1c388b8b1de51d57ac05b3730bd692b7fee44c0bb9 - -COUNT=1 -L = 512 -KI = b6ddca1ad1fb5155c03b9d44047a3b7074f47873c1d094b1 -IVlen = 64 -IV = c15bad9b3072b49e -FixedInputDataByteLen = 51 -FixedInputData = 67b826159d77681982a99fdf834922e1192e198d8c06615b766cf8494c80f73ffc99f445ad7c4be6c2742d812bcb6de9bded32 -KO = 1752940b5bb736b5e25a6557c7df3d576669747370b871755e58435045360835f04e909ac2f89b2ed1882be8303d055b43f8aab790cdd3aeb55ebe954dcf5a67 - -COUNT=2 -L = 512 -KI = a2f29063187257a04c0486a7a31737017e0fa74999eedb24 -IVlen = 64 -IV = 4c52f284d1308aed -FixedInputDataByteLen = 51 -FixedInputData = 395b643bb2f4b21ecf745d05e33a3ba229d9452717b087dbd51ac814ca7d0d88b0f789b7e1d692e828573b498f7ca56a35c66c -KO = 2bbc53bfc8fbbd2135df8c4934e90aeb80258d93dda2fc89094b885213d2c61ce1ae9e3219b8fc00b44453893217314f49edb146fefb4dec8b51a9bb18580d68 - -COUNT=3 -L = 512 -KI = 51f90c2bb219e3dac9db69d1322541cb6a317e283e9d485b -IVlen = 64 -IV = 639ff12ccec0e553 -FixedInputDataByteLen = 51 -FixedInputData = 514c2e842bd4d9372a7e4e207333f77be6bd7b5dee13a68f25adbfd48bbf90aa0932fe625785cc129ca2ee00d9eae85f74804a -KO = 475c7563c920fa03f1a18fa37c7f936a3f303ac190997102001c2b1cc5835d451dc2a0f36ad722c9455db13f31241eea330f1df818894fa8b4ca38a50413c114 - -COUNT=4 -L = 512 -KI = 0f4b9e398e94f5da78e9c1ae9de3852d9a7c81fdccc2a680 -IVlen = 64 -IV = e5ba55972b3dd0d4 -FixedInputDataByteLen = 51 -FixedInputData = 7ab6e147f26a447efa2b4917a16d363c4a56f56a722c984f15bc830af6f04d9a6f2ff93dd8ef295aca565106fdffa5b759666b -KO = 36bd28755e7c118f533dcada2da0a5a2d0b2093e77ed5b1a38d8510263b02d16038095a6816af8eaae13040b66515fdc716573c8be8765e020668201f15eccc2 - -COUNT=5 -L = 512 -KI = f2505e632cc8a6eed88de3e95fd833bea55a04db30d5bd88 -IVlen = 64 -IV = 704e542a788b68ef -FixedInputDataByteLen = 51 -FixedInputData = 9aa4fa23a505e3765040209c86baa619bb7f997b16d596ddfcce775aeda520b62ae04b5318cb8471a41a080ed9ca770d83123b -KO = 1de9a2b6ebf75419d5693c75a57a10e9111aa8a4567a0bffda777ffc840e466b1f5697c944cda26f5ff1972583a9ce27b9ef77817a5811efb098b773b5709884 - -COUNT=6 -L = 512 -KI = 52b5c9a75bc0e941eb377f6504a968e28f420291e030a0a9 -IVlen = 64 -IV = 6706f3edb92da40b -FixedInputDataByteLen = 51 -FixedInputData = 5875fa2228097b83669916f396dcd3af1e4c927dabbd59de0c6a6730aaed4498f740ee128435e1a3adf3ad5930d8ad1a7ca0bf -KO = 143b40b2e726782ebddd1dced7a813def7278b11e23444cc83cb2ce5e87953460429744ef34773938e038b88cc02471f1bb584965a87cb4174193075f9e8dee7 - -COUNT=7 -L = 512 -KI = b1cac6727dec6ab629da4473f69cd40b2bc0c9a219013ad0 -IVlen = 64 -IV = 7a5f4802add2465b -FixedInputDataByteLen = 51 -FixedInputData = 05e05454159e8280d0d1e2f6c3ce75a361cc38b4bd28fdf185767be246352b23e1a2dd0e6302209aafb75c63c3c2097f20c0f5 -KO = 4ffe796e9e06ccbe3dd5ebfac969c97b91403a0776ac83163bfc253cad56ad16e224ef07a89bf3de9ade238e2424295a4431247414db8413b790a1591ad6fc30 - -COUNT=8 -L = 512 -KI = 1d12c3f45278fe607c8b9b07627d5f11915274c941017428 -IVlen = 64 -IV = 35796f78b226b58c -FixedInputDataByteLen = 51 -FixedInputData = 06a9df33518a25b7964be002d09f9a3504309d1324e51b1673ace8ba78ad017e4aa141c8a5e078682cd9485ed005da1e5eed62 -KO = 36e3f7ea104cc66921e65b759d0f0a3baeed6a0cf4669aff8cde7907980068f946afda514bc7b41eb3c0a997ebc373fc2c2da8973956b3a10958f3cc77c2fed9 - -COUNT=9 -L = 512 -KI = 856f82033e63621dc64a49096b3f498fc4d9f23375e51450 -IVlen = 64 -IV = 768e5a6d9da54f0b -FixedInputDataByteLen = 51 -FixedInputData = 754e171fb8718762659facb407d284a02b2b483cb2314c93ad58b74676ee511977acfcb3049e74529f219f07adc243bb5a0394 -KO = 380a8f508776ce2b6936ffebbd3ec5f573cbefbc486c824c84a623f1e348d82abe4ef8114380aa58d51da4b7c26a038c68b461059ce30befcff403bf408021f3 - -COUNT=10 -L = 2048 -KI = e989e34ac4e599e0d3fa5e01efd7b19ea5250ff8cff96f4c -IVlen = 64 -IV = efb5be84be4a0a71 -FixedInputDataByteLen = 51 -FixedInputData = d5abc815d86ad3cb64515d3a895977ea7431de04852593341d49ea6ef584f8c6d48619701914191d45cd5ed1ed33c4aa099346 -KO = 39a1d2eda33c933e68152879d1206b44f65324bc12c5524f40bbb90041393ca0baf708d170bbdc137a1169535c260b16c44ae1a93aaf095ca35542f5abdb3cd084e41305ee6455d36557f030ef003c38297a247d9dba69608da8fb8c1b56521f156ee7492bd0c0ff4b943977731dd8c959a0e3046aa2de3a647ec0d6f23350a97c0004b872cc3c011d42f9ef428ddbd57550136629a625ff428e8d5ad22713e73810833c0c335651da77c16ff96b391ad0878f8d7d1556ca3dfd679523495940331a4aefd459f5675b2f86c098cf46db17503c2c9a15f191be180b038eeba4c84f530c6f3332b844e42acb300d1bbe3a1a06f334b7a62692c25ec65b93217a9e - -COUNT=11 -L = 2048 -KI = 6a444b6f4539550ba92962ebb51cf9c1f9d6442c02f345d6 -IVlen = 64 -IV = 18d097d0a9af3a1a -FixedInputDataByteLen = 51 -FixedInputData = c3e14e7373fa36727c4f738c2bd32632ea1f4757a69af00265508d04697d3ff7d26201ed5a648ae7228688113465630b51b9c9 -KO = 4606bea15cf77b52d7a71eef05aacb491deffba89cbc1d5e4ad625b6d33365bc3da1a4da5ad9036429f7368042371ae555c493dbbf0ce5234c8018a2bfd53b534079dc4727dd66dbf449ef50afd23b497ec6b46b761408207d7103eff04dd818d22c0afd874cbb2a1889e12b8a17495bc15d2a061a95d293ed35f2e58ee7ea4ebd9af2ff047c6f2ad41edc37b3ca604b6899ac1b08317cb7048475430cadd3b4ece16be77300de8d53e86dec289350a361ab5395928d63a0f94daa4ebee5c7a557d0111f05519189f5d3cee04cd4069b1b2fb4dee2ed7ba00479eef9fa5252ade916ac5b2d1b239acf5a48320f6f92925ef21bee7ca8ecd69acaa4682c795b11 - -COUNT=12 -L = 2048 -KI = 325270c23fefa3ec82a5546fbae35dc323365f4d51de3575 -IVlen = 64 -IV = 4bc2028f2de51859 -FixedInputDataByteLen = 51 -FixedInputData = 1cbe7274320c1227e93efed357d996b2b341dcdb199e6919e749cfabbe5eca131af259dba4853925493767a263428d56bed693 -KO = 5a35dcecd3150cfb0c648675968bb98f4aabc2ee65264371ae9a8439c6163307619c4c1862a98c939235af6808ce7c926a0004f5ea695ac5f2a763759c6544371a66edf3c8dd3f8c4fc25855f5b1072db6c57b7c02d8bad1f233192cc63784d1137beb0420a4f1e270aebe68c3e808194efb0578ff6be9299d6c1234098090a0f99d3e8195fbe9c4ae2d7577cb4c651f7ec02d99c17ad2704650bdd48725bf87b065cbe140ceb862a920703d5cde52df22d558062fd4d8463188c33f0ce48094d2dcd726b9f6195eb374ce440bf3652f601d6473f82f040d44bc9c824840978fb9fe8e4466efb5ab5e0c30be024175b3229f654037fc8d9b59d39871682bb368 - -COUNT=13 -L = 2048 -KI = 83c41aa6e4d2c94a686fac01c75de569cf248d3381104a16 -IVlen = 64 -IV = 36f2933a6fe5d93c -FixedInputDataByteLen = 51 -FixedInputData = 513ca4e71c2654e6a5fa1a7276fd02abb2e381f2157edeac710d3c29b2d4219270d2231c0dd7396e66eb27e84f28cae413b114 -KO = 58d2d5b293819555972b79e67e88135587a5c313be25bbf9989f5d69aaddbf4fe0aad9c4c8348a6ea012ea49437a8c5c6cf8f1367eefc68066edc464a76fe71c3b2be562185dbe4059194fcb0f0623f3161055dad1d039c258b1ddd3dacc7a7d8d382f0859d0457da8d7b2e0d73290417206e9b7389700dfca3b7b266e2b0591be513454a00b793095376ceb2d4d31a65dadc18bcda5e2a9828eedc28f1e789fda0be6ecb1f7b834bb86d050846443442f0dfc83e7f39ef1265bc9b86140338d637ad7701ea22ae675a852a6cf66e9229ee19080dfc5ee71b211f87fda13ddcb187186dd151e00d621402511779e5dbf29bb732f5c0df71dc178af9cc75df585 - -COUNT=14 -L = 2048 -KI = 0f13b52ffbaf7ce59d277b0f61f6876b78c5961d586e0674 -IVlen = 64 -IV = f00f9da7991412d4 -FixedInputDataByteLen = 51 -FixedInputData = cb6c8fb879ea01196b66594debafc1c28e5d40ed4b3e033ab7e05bd788d0708e9dd22ca3769c07b87f99da85ff6dfd73dc99f0 -KO = 5e46999ddae4cbec9103900523b28349a056581f0f8ef696104e276bfd6b8ceeffe875a7f1314a61cf7bb04746af8a0030ba0c2d90bd92c3b8d29c2b01cb403afbc334497d2bbaa9faeef6a893d6ac7e4ce28a42d54ea35b1fcc3d497ac49ff73345be00c8c946e5018fe2eeaad4f50c4c03ada93c060aa2c4376539c420a7619e5372d45a9870316d6a73052d93cf472335032a4c0616813c288ed72ed789663fe58f84838b39b6965494c6f95023401b50c608fe5cee89a5f18e4dc7131664d2c834c1b1b1a47b6ae5d4f3f9dd99460c692e87296d03e7a561e77c62d40ea9d0d4f7a0d2152016dbdc345f12987851fa10091f88db9af0f9f0e9c28b6cdd2e - -COUNT=15 -L = 2048 -KI = 29ff0b94af20278b4ebc13f3ecb78a14b52d148ce7d8d5a8 -IVlen = 64 -IV = d2057e413de6b694 -FixedInputDataByteLen = 51 -FixedInputData = 4db7ef8550ca869c32e337c523f6c8cbb89ad8005e29630c6f24fc23d9856abc5912c0bfb0a5c85bb2c4a5b575a3a71e4f4e16 -KO = a6825bb6a86b59ac2a5ac752277b6c01b57a2a8fab390d7ab12ff6a2fc27fea908d59d43ac64376fa30c6161f069ce0c417d86b28790610460a81e0c4a1c19ca224c808471eb3692bfed3ce6ff0fafa53a8e9a61b982af57ff0e5e8042b960b3fe6f7eb60b3d67c1102c5e08a37649dfcb2f4b58d923cecb65f09f40a30a8572bd640d2c89c9c5dfc29deef0f7d0733035043e7c27ba8d0364c1158d378d1a411c8f66c665b9ee887a80b6dd1468588db8da794caabcca3d3e06de9049e55a7343dd84344e49ecf31e5b118c85c62ae8923ac8f147b2076b0d099e03d81e34907f50d55780665be84f2e393368d8f06f151a7b254062116afd3b0e1f7bbd741d - -COUNT=16 -L = 2048 -KI = eb8b12d4f70b747662e45331db09f39a4db1aa676dee5411 -IVlen = 64 -IV = c46c95c4051af19d -FixedInputDataByteLen = 51 -FixedInputData = f76ec7ce1e3a3bbb9eb5eb060a4471311d6c01b00555f760126d4b0cee8d781f2476be8472d3c7b204f47a61817c797445832f -KO = 6c4986cf88fc360a76973694589eb751065deb26090d2750c49e2f444a930f599bc7016666c77eda0cf922f9ef126fd8c8e499285304cba5bf20bc6092e15c02d43883613c459e5a4f237589d31a702625b327aed14b891d05635173a8233bdc7714e690fed76af13deefe1a4943502974e722d4022b311abcc9b093e40d4e3903063f74569424ad39d77badd8909d33ffa088ba15fd788d25147a777cd6a2d893a12007b10c0062c70e396fa7f10431df5f49daa34a94f5d744f4c2919b020bb5f5f634369685cb4d250733f692ae9b300d5180c7463594ceb90998ae58c33c190e5ea5a41b5610806c9bc2cffd40fda5e62536c78465fe6e0bdb553e41df6a - -COUNT=17 -L = 2048 -KI = e67c68446ecb647b3a4ad0639ae12844514455bf9d98ae9c -IVlen = 64 -IV = 07851620abf58855 -FixedInputDataByteLen = 51 -FixedInputData = 8ad6c781fafc780d254af9bfcf239bb093f698ee3bec9af8665d049b34ed04cb31f5cb376f13a4c18632d310f5cfed1675dd03 -KO = 7fa52d459f5dbcad58e2b6d2410c8f656c41f7cf220f33ac06bc921c54e1ab464f0ebf6c2f90fb8737d4f12c00d9bfa0f88d2210ff581b4492597e968b1234dd6d8cf156d83678754889adfb4f87a874fbf14a340eb247e484d897a3da306be27fa8c3e7991847b4d6b7d25c9f64cb8f4d9f6f54df75f9f6631fb24289473f3e154d7be636890a1733f4ecd233cde6f411d8534de29ac4379828709d5805b8bc704968dcb4eda34ad52bcae6f08d72b49c557b3c8a1c2e0b4d449964fc36baad09bf9e3aede8571f9113db28e9076642b6fc85cc9cf2b22bee2df18b54c400c4c7e761009568d74f6f7542ea479af7b480c27e0c5d519852a6129a45deb38a3c - -COUNT=18 -L = 2048 -KI = 1124ef16d12e5a56181110cc4ec9f48d57ba411e1a5a2c40 -IVlen = 64 -IV = 4de6bab544244e11 -FixedInputDataByteLen = 51 -FixedInputData = b0a67ece02715644279e6c2ff74f19f8eeec826da20c61b08809f965df5f2ce06b60f21f07b5d2f6de012b0a5a3b2ac303a8e1 -KO = 2e642fc2fc00ef7b976be168c4319c75293b23f0c391a39b11b742b1d314cb5a5db948129543f4c493dfe45478e753b0f7becf20c6d0052608f745b77b6b1fb02a1c5b1ef54f0de6f0f840d760169db1b5ecb88486d2713c076a5ff9fe1084e0f3fb28b2b1b585787ca20d71ce379e833c1b5997ddaa63a65270d4714d2c701495539db2882cc86f01487eb80eee69e414aae49e30b52fa9348bed7d4ba620239652b0142ad3bce5e03fbb022dc55aebcffdc2d086530d847d9a49cd8507d50792382373b8a936b03f2f862ff630a38b831187b7760bf2a037a61be83b53799d3ee4d4481c9b555bb39f04f2e4821ef0070fa25fa394fac7e08ff127189e0cf4 - -COUNT=19 -L = 2048 -KI = 697021877f5c0b28fd6eebf42610803287e092b2c14536cb -IVlen = 64 -IV = df60cb2680004953 -FixedInputDataByteLen = 51 -FixedInputData = 599414076498b065d746ea5df7e67382298aeadb6cce3ad4d9aa9c45712bcf9e04f7c6543f7a47c0ad1f296431ef799859e93d -KO = 4ca309dd61a95fe32efaf1f5f2cd503d2b455b971022bebe2089ebe10fc26cb017cb3960ef3196fc05c834e4899453ff0668fe569f83877a22e823e01861f77c1a734a8cd8786e43c1b1e9f808f685e47e8cb44fef320a0f82d8e680f4b5a82ee43a6c56880416737af24f2345c17614e7c9da79f0fd132dbfc8c1ea38249e43eacfb0d1b7f0a42f8aaf6c78d7778126fa5aff7153130d4eb520250cf5b7f9edc6ac27af0b0efe1276de9a9a448d2349e9792939b21b802bf5c59ec4a76623b36c21c96416049d305f0956118b2cd50a33f586e0c7fc0f3e4b0cb7daa94056bd36e5cbf2c06fd954c5fd53d792b06202eb4a87ad451b183ce23fd010bb565312 - -COUNT=20 -L = 560 -KI = 8059f0a000e5cc1407d17c747fea19e899c89589a2c1e728 -IVlen = 64 -IV = ab3af2c849c5a3ee -FixedInputDataByteLen = 51 -FixedInputData = 15b35dff1644643e19c529cf7776627feee9e284602dceab00b596fa340ae427d0a2dd6485e99b74a650aa33b0c6b36cbf7178 -KO = 9483c170074656642022408da0c56d0ab46b0b8673b8586789dd015864212401bed49b44a7a5d8911ce3f7b533711a9b0b7b627059f70a34a7d19ef45187ea73aa3b25a1380d - -COUNT=21 -L = 560 -KI = 5620964cbf337f6ebe159ab4d7e6bf2448e3907fed2c8a15 -IVlen = 64 -IV = cc6fd01c1748f9e5 -FixedInputDataByteLen = 51 -FixedInputData = b136fb1c8f92d798081d57364857dbfeefe40d00dac08766faff71cfa7ec47ad30764a62d1b23fc751534b8d55f45f3d2981e0 -KO = ff1f6470250b2259944d84db8a9a7d77a5a3f7c396fca80f33b4849bdb91de167827af758006c682fb46933b9f2529f9e385c0c7007383c6948b7013a500101099ea33e81ecc - -COUNT=22 -L = 560 -KI = e8038ebd7a0630c170fb1b06c369525e2445d218cf489628 -IVlen = 64 -IV = 4bf53907cf4fd258 -FixedInputDataByteLen = 51 -FixedInputData = 5322ccd13e544f975a280cff4c916d17e9f8161975294b73689cc8d504b26b1c0f8a5d7fcb134c3feefd0d1c0b896d4c54dbee -KO = 5566b987a4c54cc94e306c08937fd3aa3ce31fe7888b841718b174a51985a8331a0ba23fc395bf912fc3aa5395e84cbaff65612cc532a46f13d31c71426ba0c9c31d6fc3ea2c - -COUNT=23 -L = 560 -KI = cb758ef3e5275c64a6646b59dddcd611c9fd5ad13ad9e434 -IVlen = 64 -IV = 2dd6665ff14545f7 -FixedInputDataByteLen = 51 -FixedInputData = 0f9acfde2940bc6411ed1a638d694ff7684c167ef7c9d3c0ef15e22a9a21b224e56ecd2a1d32c2636e10f50d3ce4e9175121f3 -KO = f75c217bdfd5e27197f73591bc480d0957d500cbc8811f47dae1a4825355a887542294726ebd663abcc27ea2d43ce05270be6ac7da7e23c2e04cf9f767fb4a4bb42acac138bf - -COUNT=24 -L = 560 -KI = b75adfc1b3e3c914ff6b658629aa8bb957166384be492b50 -IVlen = 64 -IV = faff9b96156457f7 -FixedInputDataByteLen = 51 -FixedInputData = b849e89bfe82b0b7e5076373f647c36690a86a34525c41487bd03f80cf23c5c21acf93e13e0c5301e8f44b90e47dd80d7be753 -KO = 88b3ee4f3557dbe0a2ee45c86ffc2baa73cd792b0e4752718721a53fb430f41ba38ef118a60a415fe8e7f4e5a58eb7451ca38cb44138f6dddba2d132a66fc7c889e6672fbd79 - -COUNT=25 -L = 560 -KI = 739401a4560df05bf754709869b794a06a442425006d99e6 -IVlen = 64 -IV = e711dfb2ab33334a -FixedInputDataByteLen = 51 -FixedInputData = 291b7fb91eacd3369f42663a913e14691b45147f7937c1e328b42fc49f856214e4b30af73f3d75842f0c82ef60cf332739121a -KO = 7682cd6104ac5c61bfef1bc97fa9a8018bdf84a77325b711c224e0ea32302e83ee3f09b2e63ef5a9e33c944ed1a893201028a54240ea236d3bc6bc9507e2f0ae1c56fcfc0e39 - -COUNT=26 -L = 560 -KI = 60074eec8935866b4250fd88693573a80c2f042dae6c42a8 -IVlen = 64 -IV = cda0a8a23045a07e -FixedInputDataByteLen = 51 -FixedInputData = 9f5b77079afc971da01d8948d63a509605120393f85e3fa76bc0ad6c135ad8f2557820d96e1353a4c2fd3d850aa2ad4a2cd3f3 -KO = 13d27b1f8b57f0416f06f69fad160d295ee50ad7e1feb8092ffc809159c67acd112d2ededa08cd0aefd276a5b85916c780d6a0bd8f6ebb5b143adb59452eb06bc27546732bed - -COUNT=27 -L = 560 -KI = 4195c2f43b09b58bb4af0a900c9def6e36d5a62b02cf246f -IVlen = 64 -IV = 4e1273521d0b5132 -FixedInputDataByteLen = 51 -FixedInputData = 0f929b3790cad8a6ebeaa564979b5cd82cf90d0d4c72745e5ec1f9829ddb20634ed49a76797580309c1fd5628875d080040d07 -KO = f5f0f50fc8055195b70df48ae2d9506291579a9594abc00fd6f160703473ad586c2ef40ec9a135276cfe807bb37251b0938834d219d4ca35f6e0c84ccffcc98feba1940f6f1c - -COUNT=28 -L = 560 -KI = cfde05320af5ee67d78334e3fbd0d8b3fa9149c5dced03bd -IVlen = 64 -IV = 0a73706d44f8756d -FixedInputDataByteLen = 51 -FixedInputData = 09c0c274e98781236338a3c099024065ef94835df7d3977c80eac04e484bf9cc2d15c12e639b6228f57555dd56ebfc7f635d01 -KO = 3de316c987b0f7f7c681dfa57f090f6260a2497fd2ec4fc98fc8b2d18cebd3bc3c0965c296f0a7b2e38dc01cc7d5f500e37dbf47e481a04dbd5eb9e3501e95f39820315acc72 - -COUNT=29 -L = 560 -KI = ebeb0f4b1dc0cad3e61a0021f5595d902b8983df21eddeaa -IVlen = 64 -IV = a8117da69e7024c5 -FixedInputDataByteLen = 51 -FixedInputData = 3cfec1d1fe8d8a9b12e7ec9fb41b0c9c5bf739856178434ad2897aeb35ad6703eac2eec5c5fd992da6aaf22df43144b38c294a -KO = c2f825b097c83cfdd48510ba9fdc7bc80577a86199c83b768fc3baabffadff4ecc9f7046ea9e350583e5056ec20691a58645259c6a6342456741299b05eb5dec4a11daf5f43f - -COUNT=30 -L = 2400 -KI = f1d13a779e74eb75b0c2ffd01e837057773012ac911752ac -IVlen = 64 -IV = 0463c304e4e34028 -FixedInputDataByteLen = 51 -FixedInputData = 895c2f07df4c01dc1621cf5b2015f7cc3190ccf6adbb7fb4094c7f4f825975802abf927eef042076a01a912540ac599e16dc0d -KO = 87bef8562c39e3afe0fefc60a150f17061f51e3cd2fa2494e324e5fe2abcb75ccb775fd905048cf818ab09281104ed343a129661a739d2837d4d642d3d2cf199173cf237c042661f9ad0e5e65a82272ca2fd897022d844429f8bd3e85aac6974cda9e95d24d06160cc8ddb4055c34c3d4eda6181641229e14349f2835c72bca5cc81014c54ef335d2c8bd96a34b624ded445408d0abc3e413ef3d08f64ed6c0f6e37a973d4ab52f47bcb52b1887fed8ad905a7fb19741a18f91553ae16495aa90ea14b36fd0c446654592c52845d251e254c3cd47a3089235b6834cf2f74bfbd584f53c11ee52984e3d00fa5f2643bc21feaca7941d56311a4934b6dccbe38ff8633402d48c7320f680d41284f2651cfa244ecf129cda7683e1639b564000d1e6f60667638640919eda034ee - -COUNT=31 -L = 2400 -KI = 7be9a457b460432c3ed2641b97ff019c3e58812cfc17297f -IVlen = 64 -IV = d26fde2990944efa -FixedInputDataByteLen = 51 -FixedInputData = 914b298f775df691fd9da551925b6e671b49f731a987221538733b0e339d1078b11c57807b35102932c0bcf7db94acb34b076d -KO = 0d60ed5bd38ca02a6249ea91188204c65613f454e9db9c4a564c9f3330cb1ba5ee5aa29fc750e267dc40e46607dbb8c25d77366c04a78d4a824a76e714c2616548a0bd0137fe3a68865e7ecddda2dadcc7d577b57e95d645e05ce2c11ae074c1101cef699b77053b041622fc4aaca654323e87caa78348875d909a7101453e6ead6dbf33c7258935e3f1a8089253079424c6ca9d92a2f003bf7b6cfabbec0c48d2b8352622e14c52028cd53db387982ec6c1b5b300bf95bbecc1edee628e754f5263ab642d4f2d3306df3ccfb4a1123a823990287628047b7238ecd8a66d503fcd79f31fd3303f25612c4583c6647b9d40fa76e0f055d5f48040bfc14c40deedef031b34635c673333d1ed85fced87966a8e5513be7e0377b41e6c4d6f5ead8ce45c76dc238a829f1cb13164 - -COUNT=32 -L = 2400 -KI = d26fc822f9409c4860f28cd6daf369aecfff88e431a74fdf -IVlen = 64 -IV = 956cfe873a236ec3 -FixedInputDataByteLen = 51 -FixedInputData = 84c5499ff016cd9b75135bc7197c93739f235c9074127900cd75c2d574c6c1e5201c82add46f51194732d081694e7a38c30d16 -KO = 5aeb35ccaafcd66d0a2b58af087b45266bdfcf5b77463eab6f45369eab6ace3197a0d4271580f526f4105655e2d4b6ed6834ac3f4a37a916c6fa99db0a2a8c54ba61f317f97e0d78dc0ac98549a425e0522dd7501a11919ab4bd27789cba88643ffaa8072647a2eb7381487a5c265ece18a9faf59c36e9d55b0eaac832f191102c943c0e0b10d310d3a0c658bfb98455e0bfa5f349e434b6466b629d9aaccf401bcd554631b3c46b825c85e8cf26ac464b05104ab344d8340f59f9b17646c467df6fce27f41ec33aaa0b4f5da4a7475ddb829bb18630ece58971f9702dc3ab0502bac39bd1d158217cf1ff5f2302c7347f804fbea27c8b8833f2c7b0c2540352943bb01a47c5a984123130424d4b22596984f2cf8a17810a17fd45e177fd5a0437f094a4b293aafff74e2408 - -COUNT=33 -L = 2400 -KI = 9b3aec86e98661f53a9468659bd8db4a8b60abce1f972f41 -IVlen = 64 -IV = ac650e9437779b13 -FixedInputDataByteLen = 51 -FixedInputData = 4801e5765f51d13d5940fa17b574fb7a5e03e0a1ee2014336231010e9e6a13cb749169b564993eb425fb3bef5f3a84d99e869f -KO = da6f9166daf6245a4d562782170922c8603bb59b02ec1a5f9fcf10fd9e9ea27b2e24c1380366c2972a38318089606db95a4efb6930bdd7cbf5529f1ce03ece8555dbda2715af00552a9b35718f58741e4d7ac692b9436671abcbafb830c2689491e4610d7dcf502a7aaf85fabac0cb5da33084f64763960503d66aa44654c66560d2167cbf6dd5138fd7a38a782e67fd6a9cf6df8b13ebc56eadb743db0b6794e6d1159270ec190a6f7380ed744fd6e0a270b4ae8124bf88f7a1fa01116224be1ad5f12a438997518e6d2f10ac3da8b915f99aeb9c2c142b4e2316cff2751bc2d75f46f8d3b38fe632a8b16482304de08938c94135f23e06644ed8c57b04236cf212cbb8812c010730ac414bf8bd5ff48ce6d41199e8f2736baa875666a69a92605abf6d9d5345db9ae27771 - -COUNT=34 -L = 2400 -KI = d9969ee3c85362ca347ba733d0f4e3f3f644366783237859 -IVlen = 64 -IV = b9c300094b9d592c -FixedInputDataByteLen = 51 -FixedInputData = bf5e16c28f038f1c76c0b2af9ffbc6b9c01e13e6ff3ccff6f3906e73344916d0b6f57df0bc7e8cad3e6f12a2beffc8f6507013 -KO = f9e08464654eb1c6b5e3108875252386f672022d1e33ae9db1cc6c6863b79be1eb7c2b4a7aa76b826e82a01f31c1de8ce9529d447a1a83602fd388a44686e2907ca842465e440a5878f37537969faab3d14b45e03d8513d7659c276262bc53df492b643ebf365451b9c1b04a46678f96a0d93d66a5e46976370a452e7f8cfe9f75f7203d668d076e82166737742a18c653cbcecc636a12ea593eb014a9d834f621158b3bae8c428591729c63dd684680ddabe777059e175e9c401b02a2604098b9ed6e0b21d2822580bfb5aafeab587bff2330819fab30bb7e240043f0a78818b7c8365f2eed5b5b39b82c95ce6d641044b7adb235881190d13f4f60d4d8f479eaa1b9c69e4d17ca93ca7b9eb5edc50692dcc2670b8cb51f9ce4a23db0ed75c331ec8542c75714150c17ec67 - -COUNT=35 -L = 2400 -KI = 193d0b277667c915f14805aa77fe96ec7b10e928aad7a34d -IVlen = 64 -IV = f623919c2c71ef17 -FixedInputDataByteLen = 51 -FixedInputData = 28537608d416f4843e5190e67c289b8a1b9ab064e47d7f5f6e07c88950eb5fdbc8357ecf5438ac88f919758cb0b96f6747970c -KO = 885a5398a801bcdb731922a60d026e5ff724e6ec7edd654a5594dbdd85328f709c79c515d390dba8cacbcf3e07a9b379390575b0a6461ab293b5ed320daf4b39565b26d156c604ed674a650beb6d7c5b37b9ae7e5b22a6996f104d26beb8f91538b12da43314c6f0006a3603f8c49974c6a11889a4839f751f4568d04e407cee6225f683f188c9013e12d30f6594b24ffe5a666606da75f8bf36abcf59088216e8a27f752c20b99d915d95350d8df398a932b0f96d58f3ec9df07b0bf40a6ae1353e1dc91fccae946474bb97977c62cf71364357310c4d9f08423875d92ef5c36eb722a48f11eb24daa4421fce8a93dacd4f423b649c3f123c7760fcfbeabe583bb8fbc67eee6b121ea3dd9e7acc3bfa88fe18799baab8a21aeff71e4a2ac12e91c3c4aada0df1d7ac5f8c45 - -COUNT=36 -L = 2400 -KI = e6be09e3538c5d3e45cf5b397428e157122ef370270e9b4c -IVlen = 64 -IV = e54a6d2820eb20e0 -FixedInputDataByteLen = 51 -FixedInputData = b889ee1c62fed8c37f2ffff3baad73c260dc44e1e42e00b609b04cf97595f270fae3dfc0bafb76bad13611662209ed9e1a9985 -KO = 277af8716cc06fd4c78d8e45caddd0244cc19f2adc13fa0349f307ce3275a91532f72029690b0c85a2d4298b3dcfeda4bd5223176929a517c889b78bc3af561b33f4e01091a478529ef3ab6529b1f017cca7923b69c8b785be19ab9a5302b39b6e90bb1d7c7704be2ce57202b8749d133fcd36f996f361a2962159514419d4bf61991eaf0488a80c886d7a56782cd02c8a17e297af13933fcdd43dd22aac472691494683410aa0e2a526c8396d747be7100f8ce0463a808333ca7161d5e9297fa0802dbe275bb1f54c17d7ec8c171f8e8342a71129f2002edc0e967fee33153dd291e3292f4cec099835cce3fde6d236d0ddce9ac9ab16cded45c84fb5cbb760308c0b19a21b7b8c44cfcba9eff26ff8b6f65033e72347e8478cbad9565e249f192bd5c89a5ce5913b1bf63a - -COUNT=37 -L = 2400 -KI = 1fe76c77ca8e75788d9983890cac53b7cebd57b26a05f62b -IVlen = 64 -IV = fbb7527ed1528aaa -FixedInputDataByteLen = 51 -FixedInputData = c4132ced57eb166d5c89a3876ac17a6fdabb178fda7dd5d3c2fe51b8632edf4d81271d4432b9a5037c17cf1e77e98b208d6014 -KO = d0dd72ae95b14e0265a06d0d8efbc06ac1bfeba536f27c8ff03be6b7d37e2330d7f16c0264b28a7619c6508a798ccaa7fac668c9903fa7e0fbc9d25a1907dbcfbcb483a93a517cf7f63fa9c1cbd7f963bf372116f76510d6fd84bf441e1b69930f39613e60876c59235464b187312f66308f0cfbe1c2d050bf25b3e6cf32426495ba2db568b36add86bccd07c9585cd88f42477f7a5e878bad70f09e206c8f60a6c4e894b788fc08767af48e7abcab9c4835c1e10932f7f7c6dbdfe8bd4ed2c6a2e863793461bd11ae248a76de415f3949617ae3958ea12e5f08311218a1773159bb24a6d10ad5fdb85388c4635c9e91cc0f75218b2953ba2a0377f1b17a939f0f63e51e19557aa8b3b9304504e1e7637db2dac6e558c93b9c4d147142e5ff33bfc063550f04e93d50639ac6 - -COUNT=38 -L = 2400 -KI = 86e85732ecb176eb42608a25ff8885a57489d9c3a0a4e7c3 -IVlen = 64 -IV = 49ce576192b372c8 -FixedInputDataByteLen = 51 -FixedInputData = 9fa2c88f4e59920ea2ab80c86f35319a954272332ff359acdd06dfa8e8df6d4e45657d7569756bed73575421f628096e5e0da4 -KO = ff26cc700fb5b61ae0dda6df8a7a292d3205a3ea1fcce53659b96895e077c583d2a7cb99746ae5488503b342e8af3d71644e7683262db594a0affd395176efa23e5d391ebd96839ca73f976a8975987ec487e396611496bd107081740d976a957b912e33ee4ad71b9065e1dc76b612b860623e33aaf43a50f994338d284c0addf47e5d4925bd57e4207344d0a58de973787ac628861e7e2dfc5de82d16012ddcc6fa584dbce88bacfd771965a648316438cca19b067cc14a74f33cff05e419abd3d41a739677c73ce4c9105fbf7bbc2e5661f66b5af92d033b049b134a4489622daa24927a3f291d102cfd1369113946b2ed12e4c0e9e03444b1af655e5469226f7ed4ca09d46b079644ce3a3ba1fd95f82d35c7dd26abdf71f106495e78cec456111e79740352b8e2d5407e - -COUNT=39 -L = 2400 -KI = cdfc7aaa986637f24a0f900965024d54a202b0b3ec66c816 -IVlen = 64 -IV = e417d51f68d613c5 -FixedInputDataByteLen = 51 -FixedInputData = df1debee63c5848763fff8aff78cf4bdb22a01de799d5d46ddd566f4a4482918e19f00864a427815312cafb15a11041b846ba9 -KO = 4054c17c6461c923faf8d1c397ef6af46aaa3de4341f5857dc6bb809997fca0eec6432db78a4b0a222e17fde9a02907f1dec958b96b7c0b21373e84d0b34e04b41ab5f0ba247d8d55416c7aa61094797f4e9d81c66e37821e1a740bb9dd6204cb06dcec8a81a7fa2013d794f189c6b7fa7a9e27a86242067b1c630dfe22f6a41e7fc4c786749bbd90833e250bc3bc8b0d3834b2fe40b22ed12d51efe893cdd8263bf97bfa07e85caf88279f88a4d12bcf0b17135401931fc6592d0fddf106bc6f61c1021e8d52b7048a39e828871523c822b12b569e87bf7f2737b418868d25983d78a7213a4fb34c48858fef393da3f28aa03e8ac052ff9778afd86cebbc3839096bc9a838ec3b170c826bf047f52125f6d062ba153812cdd57d0520cb1ab1df241ae6e48c987afb617a82e - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 0723a11fea395c9bc1241e4f7ae7bc21133c023fcbc3c59f -IVlen = 64 -IV = 74f32eeef0ad1e57 -FixedInputDataByteLen = 51 -FixedInputData = a664f092dd14aa0c3bdae4e2438fa7aef2a11b9b023bf5a0072b0b71d89c56d356e46109ff48481e6216c9057a6dc317445e00 -KO = 070d2b7e8f44f6379a267718a5a9f80c13adcde315d496357eaaad9f8ab65c488778290a2d0a11a62128dc2e67aed7c9ded4a067c78711f958ce4b7412c53941 - -COUNT=1 -L = 512 -KI = cd417ca6e8e6651edf190ad3b03eb9443f9fa5d71b5162f6 -IVlen = 64 -IV = b7de3046ffd5e9ba -FixedInputDataByteLen = 51 -FixedInputData = af826b069075b068b78bb4bdd976c89a1a6c402e5fbf72cee730251a4cf420575e0a3af3dc9ede9ef9ab655bc93f2d160c69b8 -KO = 7efe09be22a81e5673e75b779d940f845acd8bcbbeda65c863cda6697091dadb7fed6c473f06fcdfeeb5e5ebcc20b54a12e8139361d72d0a068c8e13486b13bf - -COUNT=2 -L = 512 -KI = 415e89f2fc0bb1db1532ee0104645b72762c22b1e356d9f2 -IVlen = 64 -IV = 2a076426013ea5e4 -FixedInputDataByteLen = 51 -FixedInputData = 7ab915fdb21d18aad2b83951f40927dc0cf059d8afa850d8bb696b4ff9d90e459abdacc6c512bdab995d288e8513234fb1bc09 -KO = a83957891765f79cc56636e7254a4a6728df14eeab988d9f5c9a857cf8c92b2ae045666f7db0c16cb4df7e0c2eb21494c1417659ccccc8ad5ea29478ac7258ca - -COUNT=3 -L = 512 -KI = 7c416181851394b92c4d0d911d6d2f67e6c996daa6159de3 -IVlen = 64 -IV = b4085fcfc7a9d0f5 -FixedInputDataByteLen = 51 -FixedInputData = a8c6d37fe485f2e7c9940cc294c84dfd65369a43d996524295be31c548babf0b69cd72a24130138d149e0c1e432d079fa7ae64 -KO = 5fa6a577129fdda1473d8e3651042e3a09cb86661940220b994ea9a3f296921fbac47eb28dd003b53cc1d089aab888f00fb8b1768fc2368733d3a5bc2bb49f1d - -COUNT=4 -L = 512 -KI = 700f50e154928121e7b8f71150d7df8b0db20e3a030ecaf3 -IVlen = 64 -IV = ac5c8ee5fbc65a84 -FixedInputDataByteLen = 51 -FixedInputData = 37507b74825747026273c299a7fd5138e7918b9e7cef7b42a5ecd3cd4d2cb52a63f0bec1d7378483e3bfd082c5ba7b447c7e2f -KO = fbaa64b19a20480fcef682ab4b3f98789322640301e4008ec970f0b59f81b175de850927b0cf3b1bb303e1e29b875a876c189735ad7650fa6335067ea597d9de - -COUNT=5 -L = 512 -KI = 91729ecd5ebbf6e883bca3f3ca20625b7a082d9fad765ca4 -IVlen = 64 -IV = 4a47660436d160a1 -FixedInputDataByteLen = 51 -FixedInputData = 5dd4adb9dc7b9eb621c46ed9869cb0df7b93377e2ed95e57dc35a6956e15e0b9e7e6c681a2f20d0831cdb5d5b7fbc13441e507 -KO = e63f48844fbb5e0dcd386a4be960ed2bd9ebf055f6991d6468e3ca373307fe995b44c704e01e599262f6f86b35fb08968db992d793efea3dab50848d934aa476 - -COUNT=6 -L = 512 -KI = 3964c7269c88a7b0ac65ac55e3d63af01a80a97a09b1acb1 -IVlen = 64 -IV = 7a75f0c7cdf7e465 -FixedInputDataByteLen = 51 -FixedInputData = 886fe1f0a7a3d6f6045ab3f74868736962a92a0edd672b0ebc8756c116120c8a1b9b7d23193b8b9db96adfc61c10b63ee9a72b -KO = e6e222bb709c9bb69e4a07b78a4b9ceb37a9f6887fe16c31abf3738e560a924e59044fa252204d62b683ea93618c2ebc9ec72d48ac6a50bf8f4bd65ce8201d27 - -COUNT=7 -L = 512 -KI = fadcbd62fe4560835e273db585495aa81d0258ed27d740ee -IVlen = 64 -IV = 65fa06e91f1dd676 -FixedInputDataByteLen = 51 -FixedInputData = 7e45cc86bee94d1f7607b5ea33a83af93f4d40d35861119a20bb21dadab680bf56d374ea37e73d98f16d87608a0ff0bf2167c1 -KO = 4f0630b8594b0f981ee570da10924717a10dc72c2481e37b3af2ce50023c9e53d56925e668672c3ff6f3397376764c9e811f4eae2158c0c1561c730ec994623c - -COUNT=8 -L = 512 -KI = 9eec41b0161dfa4c1e40ae2999ff7193c84757e3cdfad28e -IVlen = 64 -IV = fb2ddbaee1afe713 -FixedInputDataByteLen = 51 -FixedInputData = 6f0546bc5eafe72161edde0959a11bd792432d6609a0dadf71a8a90cead07f578cb25a7e2dbaefd6b78bac107ef914e0e6e07b -KO = de8bd0df07580abe43c82e4e3d797a91f765782e2b5bbb5f6720ca29f3e420bdcbf3c55333638174440a682f2b223942b73f337b25dd52b9f8018ca1cbc2a3c1 - -COUNT=9 -L = 512 -KI = ebf8157ba3916f48f412670e6a08d0cd4a1f5588e7fbc6b1 -IVlen = 64 -IV = 259e4c945127ab3a -FixedInputDataByteLen = 51 -FixedInputData = bdd9d4e0d747374b427506a8ad5095886f3be85c830b8c26f891fc40d5ce2279eb6112e12e7a11a2a33a25c6150350d15aa196 -KO = 9436a69e0fa7630926695225e0f3d5da0a79c09ebde1d82ad6942c02d0fac082e2e11f42be05dd0ff058007ec2a5fcc129377ae22ef538833f65d08300a9d24f - -COUNT=10 -L = 2048 -KI = f04a0ba10848406205f1735887acfd387c10b206e4cb845d -IVlen = 64 -IV = abd075132666754d -FixedInputDataByteLen = 51 -FixedInputData = 88815b05577f56fa69c0d578620f1826e7e5e9e4afb2ac7027c318b5cc8cef8465008d3ff9541f770d76ff3fd538def36e5efa -KO = e53c6e5cf38ce8a157495c099c899d56267574b9773ebbd9a2060bfa0b256996d59c33c41284dc770d140cd5ce9f20ecda852162ccf77af56a95d147dbc2d8d652f0bd76d9fc14503014111564376df5025b0f85983af7d95f669dc68c51a0f1f65c25c2589ff6a3e5bc310511f088f99e46abdd00f744942040a9b55e97e31138626c5a7078dbde38c7f0857f451a0547c23f7f162eeb7c6c0a276573d004da84662396092b3878257ca28955166b1e7f8f117cb6187d7baf6ec055323996c45ca9ea4f9305211ab6f23681322160d22c519fc8ecee3f2462a199e1cecdf2c3d7dd8760c3591e6688f3f489c8ed6ec3553afd001cbc107b019f19ee6b1698de - -COUNT=11 -L = 2048 -KI = c1dfdd82df9d64d13308e78f5f5825671f47603fa5f25e0a -IVlen = 64 -IV = e1eae4ae1ac88e5d -FixedInputDataByteLen = 51 -FixedInputData = 0d4284c7f5cf81da3337828fd929d29b13834b631ebbcb6cdedff419e144c2ce63897ff769ff933588255dc2367d11114be0a8 -KO = 7802ee21aae749efe2c946a17c6c95d355b7648cd4b8f944eccb20d9efef154a33aad4cd9d0419c8016b488814fbb6490255a556b99c769c3c39147d44dbc4ea3941bc8e140704ac879be9f42cfee7cb6ca4bc94731c1ca3d59a4e4f5820ee0bef4b5826af7b7a91c1809172a3e6bf378a6e0c947e48de7d5f981e47210cf8966e1bc307101324a8c84c40d74de4129c8d1e5e4a99c75b1dbb0233d236344315e4a4fdc4a1be22349dab26179c229d7952d4f0a641d9138220f923efab9400dc366fe96951db67dd94939acefdc55b98e434546c53d0fd8109dbf0c3f7d2d078da52b12fbd91f6ce0fef46a491c91c5bc2697844ee5af7923bdaa00d040254bb - -COUNT=12 -L = 2048 -KI = 6254dd29052e04e3d35d78909d2025393ee53655899e4f08 -IVlen = 64 -IV = d9c57e8901f280b3 -FixedInputDataByteLen = 51 -FixedInputData = 8696a37e4e719532e0a913344c22d8b5c8e333756da5002c3a4b8b7dc128e4d5f95e5a18288247188ebe23e47d5941bb1a3e6c -KO = 7267c47374b5bc5bc7c9813207b0097615b8e52ce954ea8e366fd0ce91fcaabc47e26469fe22e337e6736f5c447a0584a26ac36a0ac13d029ecb636147ccd1916210324fa8464588bbd3c1d03be3ff38bf50595ea856d29f0cf5d426c3f5676470fb7167b38fec38cd3c31a2f829af1195c32a517d6a88f8d219f6fd04d2dd60e9a700e9230c46593e91b7645ffb0581e8c26db68c79d378f6f534cc6448d36a4680bf373a37d865e19647ffdabab17ca2b039d881b54dad948fe5bf68cdae8ac6adec6d129032add2f78d19aa1ee3dac0eb48adea0502f8cb6a990782d035910335c974fe9e230694de4431449c2685a77234158c070761d8f92319c7ca84b2 - -COUNT=13 -L = 2048 -KI = bf29a0b83bc45e89fb395001af6ea98eb295fb877fa2b8a1 -IVlen = 64 -IV = 2589949d2cb0abe6 -FixedInputDataByteLen = 51 -FixedInputData = 75ccc5feb8b1efc7b92c9d7eaeb259a9dddec486a7ba7543fc72dcc9d11657e7596f2b6ce3b2b354f6dcd98eadaf7a7d62e57d -KO = 45921830ae55233892717c656b95ede9ae009021af7661ee81458eeae52070d78a759c47d056cd78cc53869054cfcaba1caf0d50cfbf116ed918e106beea322bc390ea35384900ce415b3c905d31415dd97c94c8076aa5377060c3404db5e0ab99edfd5f51460dc8d6866a8cd0ec5019af4edadf70935659315ab3f06cfdc979233ae0a914d75182eb3b254c3de8939de058e1ab495c874d87194f13c7c2ec4f4421dce3554e04ebfcf65024a7c61f48dca7348fea81c35961bcf63ae990529af174c6c30e175508d6772117497b55ca76b3f517614bea90056bde8aa9c1571483c62ad3ade28391b742401be3b0ec17bfdea2402679d637a711d2a62f1319d8 - -COUNT=14 -L = 2048 -KI = 9261deeeb13931afb2d052a46909cf7247cef1f625e3462f -IVlen = 64 -IV = c2077a19fa279d5c -FixedInputDataByteLen = 51 -FixedInputData = 6d91d4c4ca09878b33c1e9fa123d1cc0ab771ca2a441f026c72803e10caf30de4ed2e602838bc4f03d22abcd767e1165984d58 -KO = b41fc6b7a0822f729656de4dbe565dbd69dbc61304e5e9ab1649cc5072135d94dac36a092b410e4ee38c40e9ec6d90d388cbc349c57c9e59406ca2ed5e2ccf71f368acad15edfee99d37403b623c4f0c430b89c21cdabdc9b07f89e8e4884d5821da95d0156afed60a7fbcd12df1a7ebb9992f3f0e9b3e793d05fbee4ab2ca60455a0548fa7a0d7aa62d5e222aa99403bdc7e7403a092aec6ac0f0f89b89a666d210c2d168140c31d9dee61556a298016acd851ab4479a1d4b21134e1243f551c93ba3c228d7d0ce01f0927c041800abc54257056605c0b72c823abafb558b4a2193bd361cd8884bcac4fdcca33fe60c0a36f39d2ec8b437cde87e978d96e4f1 - -COUNT=15 -L = 2048 -KI = d1ff3078f04e05733f3fd16aaa3a248e8e73d3a90fa72901 -IVlen = 64 -IV = 02940804a071aa6d -FixedInputDataByteLen = 51 -FixedInputData = c4f8da106f00b1f3b70c4810a5d4ac71b092515bbee22d517c9052dceb284a1da6a43f40abe2af47e2630ec03459348304b3f0 -KO = bb754f39809a39e469c396a4d5e6b88591f582676dbb6f5bc3c1e9e75e357633d8ef21f1aca029988e7cf2d1736ff9fdb386e8ad3a11cf54d3695550b09e7b82782f8ea01a1e8e4faecf6348b9ef7d383647478539b1924e22da8b9e904ce0e43c02a9c277fd6bc8e1803e9994a504237025e6f72bea2a281018ecc8cf1c52274f789d8335d07b3198ac446ec00de535c4e09b73716ff1111665087b04f01d8c177d7884ca61829ba323d270be762d26712216d42a011a7926e837ed267260425132f5a38f667b20616fab6e217802e3a70eeb6186d1cff6b2920d17bc31b8dfeacbbc6f26b7e7f129f39c58528c46aa4573c7b12a345222f55042f41ea7a4c2 - -COUNT=16 -L = 2048 -KI = a8160011df87f5c7681cbb59650d9be862293851f8a47227 -IVlen = 64 -IV = 4a477f11e78a1cbe -FixedInputDataByteLen = 51 -FixedInputData = d043af87190de27264c4577d75e9d12928ca0be3a6aa0ff969de105464741c8ea9fb7f8ff3f8d19098e1d1f8da1ca674d7947b -KO = 5fb2c78ee8da06f89243dd38cf256b1434963c90faf44a06a01e7d0dad23b69c63f8b2cdb72d4e9ed2d6683bc1e81dd9ed26d353c20619706abe69e2a5d8f546e11de7ccb4b6813e64cbb787cfb20ff5c0903d41083d173cade16b988faa91c8e38c5b671472ef765a067465574c53f3cb61fbeb433944dff0232f5b74d8a99eab54c8b58999b5b35c8e91347e0ea78f132352f22826f6bbb4d6188e9e7e6e3217cd2b9288c8e87c16a10c7e07be52921b295adab1a7cd4d59d804e72baa6b7f216edbbda858c2ebd6906d300926445e64c000bbd025a672d251f3ca9454eae501fe975c32b97999a4ada9cb7ec00840f02fcc2310067d7d5c588b7ad04fc0ab - -COUNT=17 -L = 2048 -KI = 24d5b1b378926c0483395bb975aba427f8a35788d0ff57f3 -IVlen = 64 -IV = d895386a5d773143 -FixedInputDataByteLen = 51 -FixedInputData = cf1155db6eb65efd4929e9276ba66e4ddfa7a6a9ec0666ca5ef477fce16e9cdb70386f60ccff7a5eb799340cf8de3c90aa0041 -KO = 699a27ddb78112acd9d4f68bcdb7ebc7b6da2ba515c5247f2ae8a2955dc84bbeb23bc6ba9072433029205a96d04dde0a52d51ea4991c3b514ac8957490adc689907f4632525296dc38600ee3467cc4ac3883cd46c06fc03bbd06216b0d92d66d09feac48c67e7b64ac7906099d8eae46528948c31e735eab1852b231371380cbe658245a5170218717a5ebb17fbc60e817ff593be428c7c55f753d68bdd176332bd01c9535f80b593400aabfffb9c3b2fa423de243cea832683d8d7b3259b1b7db46a525776762cb298b39383bd2e71eac81b23384563fb7cfac0912ce90f30045d29ee2296434bbc3d9b893f1649c1ee9748948afa0c1b906842145df7decfd - -COUNT=18 -L = 2048 -KI = 1e0759702294fa177c2ddc9b1db3ed3fec0eeb844a9e802c -IVlen = 64 -IV = 6911d70a0af35878 -FixedInputDataByteLen = 51 -FixedInputData = 6697eb49f9297e93bf989beaddb81f2ffb539d290ac9e4ceceba5a876d153e914d5b1a607199954acecf566950c7cb00d8430b -KO = 50b9ea8f08e86aa1409e10147df6d54cbc5461c328a1bad1249510d3d904c891c77fb1b09f76593c1136c0579fb1563254e94b33d2ee825bdb6b782698d15fc6c38614e7307643b517c6f6c6520414348f9cff27ca24d61ae52ef54c808a2d689fcd3a97f0d6441fdbffbe6d7333d037f9dcbabd6930f5d2398ee80411c085b9582214109e17c64ed72948a29e38aa53da96786250c163b8c317c48246ef14b33b26332d942c47c1ca129e06a85cc70652e5133d62847dfa3f04f9cde08b1582c1479715fd357eca6caa933389ba5b5fca019ac9c951558fd5e379de8c01c2ddbeb914b8308b9cac519379501de75098174d390ddfbec005a8b784a70bd435fc - -COUNT=19 -L = 2048 -KI = 357537c476b700533620b78b5d893280bf48a8f3e9f8472b -IVlen = 64 -IV = 4b95e7f2c907e2a5 -FixedInputDataByteLen = 51 -FixedInputData = 923f9fdf225215784439015edafc8babb87cef31d713c46fcd23dc8a2ac882d015ab110fa5a6ade3da741d548a1b0f7e9e4b10 -KO = 801289693d4e6cf2c236122090bcb606c3fdc6ee2ff3e353d5bfd90ca870f5688c8b9637edf528d36742c630a89cec35e5d196fae667c560333028f505fc8cf5359f05830e7198ef0105c2dba754025f5915869936f1c10ab1c26dcc74296eb91d4c39b90966dad7343b9d2e2fd464a86739cf2b11fe0b834b79e35545b3d0fb75cb9bde98dddf0fa9c567e201c52f6f63a1e10daa9930d56085c19d79f4bac70acef1fac93689fc4d37df5b76629bc686891adbe9b13cab57aa9fa41e9741f9db4fbafa55f18c08e586fe61577fbcb398422f8b3ffc412b970611a31c4d1b1e9522973516657e1662d4095a5e4cb1a20c86aba16e82707e0276b86e867a33ab - -COUNT=20 -L = 560 -KI = 5034b8ae752be78226c2c520a032e7f3447774f30e4fb38b -IVlen = 64 -IV = 0dc2906e509c10da -FixedInputDataByteLen = 51 -FixedInputData = 1353596f28939a42bce050b37cf891697b069eac6ce5de7c41c755fedab1b43564c1f9235d35f714810e280e917e2f45849d1d -KO = 47d553f5028794f0af8ae8988ae25723d4226799a293f36f97b46f5578621c4c3d1842dc657fdfbfc381b9baacdef38fa84f574def81671ad82ee7a104037050cd58ed38176d - -COUNT=21 -L = 560 -KI = e4c966479d9aad0c7b55877d3684b63c7ee475036a537304 -IVlen = 64 -IV = c2aa771555282a41 -FixedInputDataByteLen = 51 -FixedInputData = 7ccd1f04df985bec6ed666567c1be6d0568da93b2925d8a4e347d584ef18c76f32ad3e54d4db6047c5bf19c4686ddddcd7598e -KO = 86753940c2723cd3c1382b31c106ad91ad6f6e721dc121206a4319e464b9bdc902f4dca1a0693fe4b9350c8839a4e2779682351750f3429607a82cf859a0ed654dff05b6b19e - -COUNT=22 -L = 560 -KI = e8a739c3c8104432906b74c777b1e70cc9e84dff0cb3b465 -IVlen = 64 -IV = ca02f0de820289ba -FixedInputDataByteLen = 51 -FixedInputData = 3ac51781093f42046cc3d9596c9e52dea7cba7479d436c8a756e621caca25b21eb6daa05b4061b3cf6175f10b2e83c64d06bca -KO = 90e4cb413a782c4f89a4555244431fa007c4b19058ec07a542b466d1ab73bba56b81e9b26add8d66d1f275026c59c2d4e1cb5bf800cd282969acef0984547e8d1b2b9cfff5a3 - -COUNT=23 -L = 560 -KI = f2891cc8e3f9f0afa330c192bfe84a02bd370af04f354ebf -IVlen = 64 -IV = c7c728d75835c6f2 -FixedInputDataByteLen = 51 -FixedInputData = c4e08b5774576ebdf7f0dc2e755c68081d960ea41efe7f3d829c8717c598a64ead74f18c7ca3caffb66826690c1e9dc34b09cf -KO = 8431b9937752eb375e46394d85c3a55c7d521d315b3b76a95ff90023fdbdcd7f89b9884876c93ce4b7c1dfdca49305e0a12a4f488a651cfba11fd6f75544863061ccec566a97 - -COUNT=24 -L = 560 -KI = daab6e025c55d4d12d890e4ea6a2c5cfd3b6dd321b03abd3 -IVlen = 64 -IV = 4d159548f213d0ac -FixedInputDataByteLen = 51 -FixedInputData = 629107aecf41818a7b9009e07347d1e2b1d0dd9a9d56466427de1b12ff85949369f582bdddc75998e026fe18374b44054e4b5c -KO = f80342c182c0da5a89c2701c6ce0f9cc1ff673ac2a9c2aaff198a3d293bf6cd9adb2f65df322797d6b2d445e9cf30a87e458aecad675ecb1975f0576e824f5c9d7ab6927c396 - -COUNT=25 -L = 560 -KI = aec0043e2bab8a8a2a5e354affb943a491ecdc227d256e69 -IVlen = 64 -IV = e448b1b6f2533a5c -FixedInputDataByteLen = 51 -FixedInputData = ee6c811321a41f84b07d37d8383fc30cd354daf3c80a1264f00a3c3fb5529d71361610aa2c38f47b088d5f8ed1169974dea994 -KO = b2ad23fd620dcebd4cd04a4eaa92ea53eb2ef312c7c5733f0eec31d190f1c2ca650beef7f3ca11ecfa83dfb8f4617d0e091abffd9a8eb76a4bcee8f75e15ad233451c90ddd16 - -COUNT=26 -L = 560 -KI = 5d942c3f0f1ad878300bb45782556845d8a3e2ca319ce640 -IVlen = 64 -IV = c170f9a20888647d -FixedInputDataByteLen = 51 -FixedInputData = d64156ac938d9536211aad9080660a554454e2f537059f361bdc86c6991fb7e21952d35ac3a6877bbc730f5ae3fbd9a7fa00af -KO = 6dac8933a41eb7d4ec1a5aaca8299f79e9b3756c58c73a20eb3f07496efa46c53b5e5858de622ad6a30ae43a359f3879d51bf0797fefbaaa5b93119d45ddc2dc559dca880a96 - -COUNT=27 -L = 560 -KI = 011330c148a12f620f8a6ed2da7fa3768d5262d476b74fda -IVlen = 64 -IV = 30586d3d34d9387f -FixedInputDataByteLen = 51 -FixedInputData = efc971c3843e86b03a3717da352fc7e6a0f47d744d17cbb73c4d30a4d5f92cb0bf0c75222c577c5cb1965420db84947e2d66c7 -KO = 8afc59e35319287fbd9fcd24071387a36cf26c9e48e624b08a6094e1d802ea54845b64d6cfdd7d7caacf312371fd016217516af52558d329167de15bd9dae602a5df0a256185 - -COUNT=28 -L = 560 -KI = b32763c8389bd876b45ab9b3b164cd8223d135da6d485465 -IVlen = 64 -IV = 148c3fc547509fb3 -FixedInputDataByteLen = 51 -FixedInputData = 19a6e8d560d6ab9b6ea7efbf124d4b3ecbc65b91db076465f35ec33749514417d0c1bc1d4dcd65a854af3a843ad670bd68da65 -KO = fd00c7b5cd35283e55ab2a073cfe9e46c698329f3fe415ebd540edd42b023295da64e9d14ee9fe203fa3206bf96a2821de502b2790d6bb5f537fe56b4a49640571b236cf0e5c - -COUNT=29 -L = 560 -KI = a1e1489526089862c82d38e736954d6c47c32fcff8fe0cda -IVlen = 64 -IV = 7db3c72709a3a722 -FixedInputDataByteLen = 51 -FixedInputData = 0c82b392cccd5d426023f0fe4147ffdf773ff62583c8b4f10436432d52350e8f1165471372af36be6fd4161c7704425fc8bb01 -KO = 1afe3f0612b93475e0dd95243fd4abde3c0e6c75428335b69c96580031928b14f5ca0b02a2ecb237eaddafd91c8f1164bbb30d04fdb5cc1b94ef84fbf49f5a157cfaaff236de - -COUNT=30 -L = 2400 -KI = 34551fbddc0f6e736e4ad8ea9df1a9a79ad9fe321a581bb6 -IVlen = 64 -IV = fb75d3fb5a398f32 -FixedInputDataByteLen = 51 -FixedInputData = 8de998ae650d6f756b678c6eb9a24dfdaa54d7263a82dfc25bd58c6da91117db9d381d996e7bd4e6d8051c005b652aea2b106c -KO = 1716f72022053d5d7e866fcc730f4d693cc23c510cfda666debe4c6994e97e28dc6fe5a9de62483c235895c6e1af241f9da55160d8452fec119602a0c28e8ab609636866ad1948fccd9484071dc787714a81ce4ed592ae379faa6d90972ffff12f0b343efdcea65296f6a032749c0b6ed04147695118ee7c60144d128a471ecdc2c45659a44c5519b6b9c816c77fc0e53dda9cd884c81784d1e3945bb1855b96ed5225f79a4bfbca6876c54a9b5a69217bfcba012e1b13c0602ecf1d397f6f42443d7950b54cb3d07dd672c3bf3a963390dcceeaec75e7659f995f5d037921a2a245581846224494796124df48eb45c701f385911aa6b72203c87717cd0147628e15169092127786a525452bf0aad2daf02b636c61b1f58920e45297de38db9fb7b618c2a53534cc625e694d - -COUNT=31 -L = 2400 -KI = 38526cd015c98d4c03bc5ba31e386e7ca55058047550b213 -IVlen = 64 -IV = 7148210664cb3b78 -FixedInputDataByteLen = 51 -FixedInputData = 381f25648258e75e2ca4537510843e007d463d35b00d1e26d6d1298947cbeedfa0290344002ff4f78a05c545d009409df33acd -KO = bcf226a013fb41208809e09adfb5ec4b36f2669db182906b148495a85e9bbb7a54dd692998762ae752a2e6c952923a21b8a380ddde94f216e648e69e1e2e345642c9aa13b5fa9ce011489785ad9e22165e2c1a7757fecb1d2fca334a6e20af396af7d41aa0454f8a0b6bc8084f6bb26514dd1745de33d95e93dbd276bc772ac3a2d4f2e9973b2124931278e7b5539aa8e49029840b5fa7de178f9ae6d5450c02252330e97f8a36ba75282cb6e34ceffe34d22f3fec77e866b37b4ca1d623209857712b01e4f04bf60782c98d4a54ddea330949f35d7356dab8e2539d23b9ff28d9e218bb0c23b0f4b22e4834816e4f8850ff451117c8b82d42f6c3557e39960b083d04bf0678ec8ef6500737adcbd37735215af9bd08faeb77452ff078c9656c0764e80f10d02cb63cad97ca - -COUNT=32 -L = 2400 -KI = a7bdfb074f9f372a82a9fdffb2aebd8e5a4acb55743c0627 -IVlen = 64 -IV = c788e1a988f1bcf7 -FixedInputDataByteLen = 51 -FixedInputData = a0148c3b2c94e5fbeb6f883a961de591949cd617d889417d67732ebde9edf09d51b3f5f27c7e0fe68c280ed2fef480a64b5f4e -KO = ab5fd1dd356d24a1f9c924992295bc79ef3c774eb8faa2ee5bd479ef935ae6223f185edf71290a73657c076687b333a6d0277cac8c095648ba93fb4a2569f4c0c204ff44256da3e052274079df0d46333ac4608843b7c664b0d15dee53d6a92eb795c0cb593ac054252e8790fd3d6d835532efd02f08f1a75ae6a609feb10081ca16ef9248fbaad58c6f3ebf96fe37b8229d8830ef74e6835a591105347b98524fee53450d6e8c6e0590e4aab7826f2ff932b685b24c28f37262911b7e876684e80eea8e80bee574e852f37a82e38b1c0b63d614c0591a1ee75ef008fb53ae5ea54d3395934d4f9532011c7e8ee1fa0c56cd3aed2efe514a6eca6db49b17cef1c85555f9e8055e538c88ebe885b14d3d9ba3d092a4dcb5d22b3ed6d94ff221fbc31718d7d6abfe50925936f2 - -COUNT=33 -L = 2400 -KI = 8e021e7c6263d556433bd01d0dd3983d78a5ce27a130d9df -IVlen = 64 -IV = 4f9616c38a5901b0 -FixedInputDataByteLen = 51 -FixedInputData = 773c0f69342c87fff113da4c652906c50464c1540c617dc8d5666faf48d0ec81a005644713117c8fc90c379d06ec712bcce4e5 -KO = ee269c5f52ce2795d9c9275cd27dc65867d8b268ddff78c7eeee51ae341a52ee2ef9daf1c7f1c704cb7966c9db5408236099485f10f3dd657ea05c7e4f95cd086cbd2f32ff75ac112c9a1fc3c9bd9b01b8e96612b19b61d8c99ef043e1bc6fc9d05a1da9e321c063f08421d78acb9d9b8ff9d84088968fed2e2bcedb1b9f15bc0f010304feb0d4e90578f49ab18055c2337511dd3d5f93b004b4dc380666182bcd9f9fc7a3dbb3aef31b81d870e358ac836784a2554a5e8bb2f08a1847cd0480d44ec2185dfb14bacfc420785e930c8f56a349df6c6b98a84596e205f996f6ee9bb06d5e72ae409ad12a9813b63965fc9427795e4ebef3eab3e9e1ae8df50f05cbacb732b1c897417d6e6738b7ebaf34dfe5a75316085dbfb4b9d38276d4a963fb93171836596c1ed86bd557 - -COUNT=34 -L = 2400 -KI = 986c5a7761e4f579264d7ab9a3be345166cd84f32b7575df -IVlen = 64 -IV = e04cec134c6065e0 -FixedInputDataByteLen = 51 -FixedInputData = ec4daef76ee799264739614f61f3711b8dd292950cced3587e4ab33274d4ac5b54782014cb7c40bba63e0205dc50679197b6b6 -KO = b184b4d1f66b2854594bcedadddd1a657116414a7388cfb21c826d2d8cd8d3f92bc7ec6889b9fffe32a35afc1bfc1c998e8c506f76ee51a14ff3acb99bd82798327b247e3f92db1530a18e40a77f206849b2ecfebc12d053c7afb1e2a56addd1b2e2367a41c9e2466fc70f6ca47b98d4b5e80214adb79de43185e421a617b2f2b9215d948a3ecc29e72ef4a43300de7fc812fafabf2036151fb4eca4ee44338917b83f1419bc184b140ba48db8bdb4d42fa93739875488d046d469d11afb9899b6d288279c41479bf933aea86ee8300e202807e1802640e0206b08cd87bf52dfe899215ea317a7d1576e533960cd2481a21fe2123bf28a0762edb54274272ccb6cb5df3193f7a1412acd2b66a6871883956539277e87f5a3c348bfe33222a9a071964c8cc28c765880430e6d - -COUNT=35 -L = 2400 -KI = 9659d9195de4ea08b38c56a8cb47d313ae0a2af0345625e6 -IVlen = 64 -IV = 6d1c1e4c143f10ed -FixedInputDataByteLen = 51 -FixedInputData = db0d2e3f44cbd16c3639919d18ec5cf7948830b16cb4a2a883bb6cecbe0dde422264eef02466ad96738ccd73fbe826f06f18c5 -KO = 132baba0083ab40a1e3bfa878a3bb91ae2c4e347e904fc1ede3628cf67681aa3b1108e84a58d171ef14bf300a7084b127a18d97146d8b64a8f2d9f079322593061a260d581f2e0be6557eacb9b1cfcbb438b28578330cd8a931967ba939d3a5d81c4f14f8d21657591e37f5f8b9b7785dbd2e71c5eec9cb212a9174d4c85ed3c0a03de0cfee38d08ef00b932a1fd8b95bd58b90a736c137f58df241f7c5ba95186ab72f385cf6977e2ad022bfcf9a17c8d26c7ce50972b37dcd685de18a780f95b71fc7daa0761158b115bd79cf6fd3ddb445852b17178a616a430ccf876c68aa642a630b9fc1048676a8a54e7ca261c35975737685c7641004138d7ff17ac915d2fed82028d0a5c6dae5b6bb6b2b3d847b566a9dad9c1412641ce5b315275513422ee14823288bfa8dcf21a - -COUNT=36 -L = 2400 -KI = 1110939600ce063ff4caed7eaa8a1a403362e327846fbfcd -IVlen = 64 -IV = b2b3b0b9b2533c20 -FixedInputDataByteLen = 51 -FixedInputData = 351734d851abae43b17267d526fe64d1ecc80aea92b9fbe73494ded0659a2eb13a92f6410f6b396dcc2579ff24f7724f0de4d2 -KO = afa81e777a4ea06b2c7277a03c75792c2686a7aea844c94769fdba3cfde12d082bf7afe9cbf82ac52a597c8fd97bf3254c6d31075a523f7e3ad87ba9c75ab088a6a2c03be6d0d92c11581c35490e6057d65aed289702560050eb293469b6246178eec5037e9a4a3a77689632cb763c928f28d4d2875fefa4b63d0e33ad1195510b8c67da47f5469f6384755cc0d0a71b954bc6b18f9f1abe5f3b2d9fc8a84a94a0c3af5645ce18410d881340badaac6b977b2b3c1617ce87e8a9034870dc589eb660e59de7a309d2bd58b13eddd1f4937eb67e3d13ca838b97fba1cc2493e3e11ba531f17d84c0dd5449e3ff6c0f57e7bb5734173437b4c2606d9aa87198711ed5861ff5954e22c1a52bbb08dae95d45d40ca39877c543c9de9dd2faa2212be64dac95f1c674687dc2b5399e - -COUNT=37 -L = 2400 -KI = de2306b4f65d5145c9eac866740ce98bdaca0fc0e474150b -IVlen = 64 -IV = 2963c0c7cfef97d8 -FixedInputDataByteLen = 51 -FixedInputData = 0b1918f378c689da0de65e4926f24cceecac02f9bf5d73131ffd3c021f2c4afcdc1aa5949e61413fd057a58e9289cfcbf35ea6 -KO = e4af93d1c7f06a49009e3b1af7147bdae994a1bc4ef03eb43417bd8e79e0ae825ced9f9bcaeab7642382b025d3fbbe276a161f96e1e5c1e5b4b56ea855068579f4da52720527ccea5e145d33da00bdd05245c9fe264a713f6f5e256da7a41c9beceec8a5016075eb6a0d292bf152c55c9b1d0517c3f71a8b28f5b626dbd6328611723c4f9cbc2678c9430f45b4dca86e61f0217e41bfa2a16ad1b17d98841de7fbc0fcafb095e6c0b9aef1266bd6ac919fff75b53fc2f5719cb1c5dddc99c67cf2782494e498c4cc9e42b733da1fe50818869b4f81297993a6d649f3c8a168105dadabbe903724dd4a7ef95f3c27a00cb49c0fb82cd5b59516d536196f2d549b1dc9336b0ecb69002d9dece88eb97d9977acf57832dba7c80ba1bf01f1511361d34c8aaf8cc4c4c208045d96 - -COUNT=38 -L = 2400 -KI = b56579fe86d40db2c685fd36c37189d27dd699ee4897a519 -IVlen = 64 -IV = f74098f73fdb272d -FixedInputDataByteLen = 51 -FixedInputData = 907fbb27c398d5018a5fe72676f14ba3edd35cb91e35d04c093907d1ead013d25eedc0545951bd7d532395a34f97ed5d873b93 -KO = 9c54f04434441255e0b218707e87668371d22f1b169510f902ddea5df08b7b0041c3ef70cd242b2f95d4082426e0be4ca76fed6897674c64ae6a448975027c5a11f6d60129a8ba309f473b2cd0f747e5aa697bcb989e96fbcb3bdadaf7b98cd4b1dbc2f040fbacb84152a1d176430a07c567ea0430168263530a9d2ee08e8eab93644f2ced591f0223d8845664a1af28e46cdf18fb984c4fd0ddc4159fcd49903c7d16d38a956f3aa98c178d0b51639b6993ecf28e6f4e7ad403cd3a993772b50966a708e3ee7e0c06f433b05e48d6ecb1ea4b7e5c0174f064d25bc07b340071246804c90c8ec7107be3ee3caa58ba0f81047e2961b176df8189e2066ab5b5fe0c042b79d59068ab6bf21af477004726f33e125f891c04cd26cba68a45d705888c0b0b6d8f4d50d03c83006c - -COUNT=39 -L = 2400 -KI = 844df48adcc7b58e78df8ace226d55cd7d10be52aa4cf6bb -IVlen = 64 -IV = d775ef52c9a8a950 -FixedInputDataByteLen = 51 -FixedInputData = 26ac3b46c2799c2fb267ea7ba35c0b0e93c12a855298641afda5955f25ff4570abd774dcca8c688d2fc1eceef192d0531ed434 -KO = 44e48b496a23a78bd7702244c9ca56d4c87374c74975df086ea1f5e3d20a478f03492ee0d48172156e9dc657e47c1397470294cc2dbd378e37a733ac966b0d8e7924cb736f034b15670e623426d8a5d57377e0101dfa9ab9623a9b78ec8f1bd102b84511da5d1ee12cb9e2626e84a673a0ebfb6c05c3235e14ef60e379a03470edea96928c93452d4f334011814ef799d750dcab6f2e7ded841f533b90faf1dea9e2f2ad72fc0070fcabd0dbecd21316eee0aefac937b3a99140e93fe212c3d5086009555fa5b89127fe2189e170493a8c3d99a84d3ad27631e907a50242fe6e423af3bda55d606489c96c2480694ed7a6e3f402abd5720950754dc2b963ab44869401b5e7a40c53f230d350a6a1b571c7970ea9f823bf8d2b63928219a57902c162c00b3d49090bd0c64c07 - -[PRF=CMAC_TDES3] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 44627d5cfd5c2f55a2ada8d115398420ff9cfd205e958ebe -IVlen = 64 -IV = 5d9b2db11bf6f3e4 -FixedInputDataByteLen = 51 -FixedInputData = cc99886fff81afc7983c2b37d39379ad27ff6af96660839a23eb54695897453ef97685c768126ea497d986efe849b18c6bff93 -KO = 46d4c89e53fbfe2cfdaca0103307e135b2d3b1c517d63abe367cf53344cd5109aec389d411a57756db7d14e082cb7bb8e6da42c9e9f9f910a233ff81e0ddcc77 - -COUNT=1 -L = 512 -KI = a23c39b4ed89790b8ce101f16ebb43807a3686c80cda74b9 -IVlen = 64 -IV = 6e77cb67d64c9e9a -FixedInputDataByteLen = 51 -FixedInputData = da09334f62994ea33f9354e64296ef0b2a12bca4b1693ada148e5f4609850e7c8d73b4bc456936a14268e71678e3df07bccd8d -KO = 1d362194bb35b555dbfe88d36aa415330fb64a597a7e246f9a338b649e6d5f743e0e358b3475839d05b7a702fdc97386d3c5a27600fadf0e9dc99b19474770b6 - -COUNT=2 -L = 512 -KI = 222e462c8d556342a45e6ee76e341058baf960fe3f3bf568 -IVlen = 64 -IV = 7c5c28b90de98a1d -FixedInputDataByteLen = 51 -FixedInputData = 44a6dc78c4d1b6bee7ffe830d26384fe79a91c509c047118436810125f7143efa958ab9cbdf620487c946f8cd33019ceaca38a -KO = 9c5608812dd3c175ce7b67b3c1e426b7cbabd3731c7f8b0bf82cc4d30ca3d92ced086c59a2e650a0913d482ada1fc454972f763c1f630f11f1db6a0846a9da10 - -COUNT=3 -L = 512 -KI = 57e6f9cd64ad1f617778f0c342cfa3e397465361b14c07fe -IVlen = 64 -IV = 940b1a8f174a7d38 -FixedInputDataByteLen = 51 -FixedInputData = 455270ac63751cd9f7aec8f867879188e40a44ecb19201c6f59f228eb63dcea935eaa6f4942e7046d5d47a9b84378a64154603 -KO = 54bdcab23f6983f84720f435f25cd90d85c8bf6681be18554fd930ba81d19fb2fc993c228d64a18f131982935ceea3ffa11d8f478911f27622c7d804fd4668da - -COUNT=4 -L = 512 -KI = c1c86ded94f945c633f4de5ab190f8bc58a293b9fa85a3a0 -IVlen = 64 -IV = 294d7847e1ba5b5d -FixedInputDataByteLen = 51 -FixedInputData = 3780756385caa9a362781b1de1928ed77d4926e3c15e7ea8e4f1d5b6947f5c8e032b752097c11290f09f698dd07ab5683fbf34 -KO = 3429d0c4d929c6d22bf654eb0c40953afcc29f5a27cc8c5f310d83dda2245b41a3aacf34ae6ce906bc6d2c4f9ef742c5b5040ab383eee6c3eea78053351a7662 - -COUNT=5 -L = 512 -KI = 35c38fb9d51cb19ef651d11fe90d971d7d8ec7a90600e4a8 -IVlen = 64 -IV = 416cde0324e942ae -FixedInputDataByteLen = 51 -FixedInputData = 10503f3c13625f9b972bd9aebc4f5f9cab395b23bd62ccde22cb324e44e0929ff25502273084eb308c590edb1bea3ee4855333 -KO = 2a824e7b9b5dca141c67da71c9a21ff42aa602395c0dff56351a10afe42807cb468a9d394cdaa6d249ece29cf66a5dd986b925f0aef3114a32e6ebe2101e206d - -COUNT=6 -L = 512 -KI = 0b638c96c996216ae385dd8f00d9e72e80f2775283eb1ee1 -IVlen = 64 -IV = 9cfe2b3e9841f38a -FixedInputDataByteLen = 51 -FixedInputData = 38936ae200565daf401db510211f6b894de7974deb065147e059382a52b2dbc355374c97eecc6be440963f41b473b74e8b2fdd -KO = c8c4e0ca0fbfea1da8c464ee9d5e092d5dce2d2b9d29ea036d3fa7ec17f477d0bfcf1d1aed7667012dad153b21642e263f0ad31795195d19404acad6798ca874 - -COUNT=7 -L = 512 -KI = 6d5c2aa558c788c5d0a56655c19279d147afa6ed43e2b289 -IVlen = 64 -IV = 1f0ff8fcb677bdda -FixedInputDataByteLen = 51 -FixedInputData = c907f4ecb3ebfd1f92f17c001b6ff1a054fc8bd5e37230a39af1e3ef947559245a27f7b63ffeac410fca45656226da3df85eda -KO = 3bc510e78f43cf4c08e0f4a6560f24632e5b9d3a312dde5f84a74331b68b9a2d6214b2be844ab5c9cccb8f9ed649da60eb95f70ded95107f5a64da4feb273257 - -COUNT=8 -L = 512 -KI = 96e961ae5edbe17440763297d276c60dcf826fc3f2a8f8f7 -IVlen = 64 -IV = 593fe82d93034fb4 -FixedInputDataByteLen = 51 -FixedInputData = ac0a4e4520f2a066b2103c594f08e83f9cd290022ca442febac9fe1feb29eeef14ff4ac2fa973b2c9a1a2b4b2da1dd9b0c4e07 -KO = b3d9ae2665f9ac1344105b3d6397f39b9178564435e2fe73b5868fe74e50ad885318870eb1560ab7d78f7546423d7ab4b57bad23eaa51824e14fc4731deb68de - -COUNT=9 -L = 512 -KI = 50dc7090492d6589fe15572c0543a34165c7e09ea2ca878d -IVlen = 64 -IV = 8a0dfb827294f026 -FixedInputDataByteLen = 51 -FixedInputData = b4f488f61587525cfe10125db6bbe2f14b61c52ced317939142ee76a84aa8c078902303507083b8e7ee80d296339461a9dbaf2 -KO = 4619ba61aa1560dca476d830c7a7e2e2e5d1df1347f64bf1aef4999b6a2a925949be7f604a162250168b0c77ec50870450bb0373d21bcf8dcd66f1d93ee1e068 - -COUNT=10 -L = 2048 -KI = c1ff0235327e468523992801ce337b3530533e9b96ee609d -IVlen = 64 -IV = 2450d3d6b6ccd78c -FixedInputDataByteLen = 51 -FixedInputData = 594e95dd62e1209f5252bfbcb724c5542664d3ff9d4f4f65ae367d1a20b86c7ceea19ab83acf67ff3220be2c153c985de31fad -KO = 457223c2fcfbcb2709202ba0c3705d97423daddf0cd5cd345565381a6a84b2537108eb007f4e3198a7b45dffbd3149744d389fdfa4626c075c91da8336dfe9e510a5311060ce83f5ae4980f6a0b6d778e9af6d16812f24bfdfa6ac9f4c885da8100a9bc87499fa21a39c8c22858d54ace96d96021965838f96a436caef402a70f6734c2cda19af5539aaece60c117448f4d57c1f18918ac8fa6c92431b3fd4fa2f012cc2951ac90c9c3f63a2b48e51376c08648283535812be2f9fd8f21304d1e8168a6366cddd5e169aa60fab016a96fad1e99c6c43fceb8cc863c71a002777a98e8d0d9f1b4867b62da6278274943a138f3041632f66ba9e4ca039a10841d7 - -COUNT=11 -L = 2048 -KI = dfc7deddc98d8ebea14d9defa2deb117492d71b475657666 -IVlen = 64 -IV = 16c8216d20f92106 -FixedInputDataByteLen = 51 -FixedInputData = 99a3967bb35b6399cf75cc6c1258b7b0df31abfd7bc989996fa0d5ef58e3ba1da18c8bf56bfcdac58337818a3cd21dd9977e26 -KO = 0a879d70acb122924b040974c465a8b174697c4d4a0a6aeb902b7044ee27826ee3ce788e7a9a8f20ab87bb516c33c72063463977b351aa94bf89a963015b9afee25870010faa5b6dbd5d68354c739ba8174c73830c15206a35d8bb809f23882e559f4b93d689199e71fae77fc13e1186c432b621f383e7ffe7ac0347c39e481dbdad376ab8d8fb8955f895889f69429a5055472c6461ee57a4834b63a474d8d48b51d004f487db2f5980a2ccc1b80261bd350ec22f8dda9a2be1b73d7e2d0aa241ecea38dd2ded916b4495f544998a53e848ad9b340235d1249f98f0d3622cd449707f6e6c529183a14207272508089cc6a512ed1ee7a0dec8ece8c15d7c9040 - -COUNT=12 -L = 2048 -KI = 3363240d49532802187a21e8bebf07ae54b87a7f60a915c7 -IVlen = 64 -IV = ed4af3dfc46f86cc -FixedInputDataByteLen = 51 -FixedInputData = e8894ee9c888e234679216460d1876b442177d855c3de76b6c2628d329c8d2e60816f4ca5a323942361e1e48496722926a7162 -KO = 40ca2606379d738fb1a1fdeefbd4709afeaf3d8cb01eaf24c45dfb43471151f4892ea81352d7469d63e730a29497a104134809958d9b5678eff2e62d3f81488059eb6210a05a2662e3aa6dd16367764de017387118300994fb3a6d4c46f8b22dbd46da67bc52aa1211e1dc3dc8c02f813dee03d34b1b07356ebdea98fb0cc0d92ae96979b8015038dd943597f21f6a2432da8eccb91575a80c92f271f0d87c95841656ca9cf96be1d415a48dfdeee0a4a7b9b4214589a5ba30342e286de135f2b885c94f4884e9fa981cb28f10f3d8b432c6c231fe88bbad4793dd2d69fef932031c4577994b7c48c4502e9ee65b08cfecd9b988c6af93aa70fc07137b68e03d - -COUNT=13 -L = 2048 -KI = c22332bb56e4d6799e80b9d8efc012af38c35515fff5c02e -IVlen = 64 -IV = 381c6088c3653716 -FixedInputDataByteLen = 51 -FixedInputData = dc5874ba2aff56f9605a92f06a6fdf2a74c9fc1c58f80f438b941e3baa4502d95fe085aadee0ba0b31dfaca69b2b6b323dd6a8 -KO = a989427a8da8248119e13c754f16852a3f699285f0302423f3beb3a69e1762b4802d95ab3795755297b0725b47f75e3730c947bf04bcf81c6edcd70d9c5ec2a02c4120c0c349476087daffc51e9a566ca6d64f93521bf5b2649e98afa72ce6151062debfbce25b0fb9cf8956fce35a0d52574ffa05cb3c60cff9054c1d6c436816c097d151b91022c12bc3cef046dc5e6ad5c36c8fe7c2d89f92b11e319a9a550890fb480fe1a10e0cf46f8979275b83b352b06d5a15464a2716070d163dc0cd42a2730d52a92297fbe70c12693e5b0a70abff2f943a415cb6c4d44e92d781b097e650f33c88fb195d4bb3e56a0266b7dfae9cfcb39143f5c00e53e09fe1c159 - -COUNT=14 -L = 2048 -KI = 153f0fd488aa63f17ad675279eac7a518793a35680659566 -IVlen = 64 -IV = 741340936b9feeeb -FixedInputDataByteLen = 51 -FixedInputData = 1681e13d43c380aa97736d8270ebfeb0302cff59d9790959b65392a55a0d47c739f42087c352893ed4e8b7d402822ce8b645ca -KO = 26d96ef80bfb1e2f025a178aabb2a74fefd3c0c1d57cc872162764c2901d1d588c6c93e840fbd956608fe80bb8fe369fb42e6f6e7920746d75ad738d161774e51e7a0f66cd57821c4241f40e09528dd72ecd9157e16af8ea796f1810500fe685c4cfdf1d5ae8ca92ddd9b9dce0c58c92f322f8023deaf7ba9f31eced264f407ab0e1e0c21e7ac9f7e7626d4140f431f7fc3b5801a327382112a0beb29a17f791015b8d86d4abb80909966178364ca13e339bcc57372353d7c393e82360607769cc35f72f0292c765ac394f65c4163b2de9b602d8deb4e141ebecbc7df2c5124f0fa8a932bdc1f59117b5ca7bef32b7f2af6217e86d0b417b2040c7fce451b18f - -COUNT=15 -L = 2048 -KI = 1fcde0ca91cbfafc1d02af6866e0530e13f57c45c2294554 -IVlen = 64 -IV = 7e0179705c8f0399 -FixedInputDataByteLen = 51 -FixedInputData = b57374732da6cd1babd5b77b235638a592f22189d2de1f1126aaa89ce1b72c1bb9244ba008084ea4341a3ab71c4163992ec49b -KO = 453420aa56e6b6f8701550537f208552898c0f902a3a1437002ad09eaffa14d01eebe3072fa2ea7f6d608c44078d0b5aeac54f68877fbff25e733a8d13ae481914e9c8a0fb7f1fcce9f3d380033cd4b115249b5fcec4798c1bb8ec582c4df6162ad162f757b3f03fd5b456a34791c71c048c522c1629979f016debcbd2002a8794bdc9df6be7bea36448df61bb3989a5e3a2f1d8a7f90dd16eeb4790b0cc003323279634d384166f36a12c1e545c24cf659f442793ab08c14f500544d6e02518eb29d1b5301737cb0609467ff72d82b4e72b55d38c0b594699b792ee446f9ba623f097c435bd5d99d30513753acb151cd07ad995ee899e98369039eab387bf86 - -COUNT=16 -L = 2048 -KI = 633e682a9d05a258a083fe62cd2f6cc56ec896a7c5fe333f -IVlen = 64 -IV = 2b56b2148af53566 -FixedInputDataByteLen = 51 -FixedInputData = 0667c33d82d3039a40f0363a1ad3e428f7cc33f1159929860f771a7571c1f5ece0034fde156f941f1fc0fb0cd413d6f7c9206d -KO = 12f1324e8630e3838061d3f12dcd5876f233d8d85696198eae9f7a14b0eac006ff8c917b26b7bd43f57ccd4cc9824074dcc18a5ada352cff9036c044c565130afec6aef001acf35ee896f0eaa6097e6686d8c29b9d6e020b846e15b1a3c56ad89d054c8505ea571e366c06d91813eed0a5bd79e792ed082a601f64343cb7119c2f08dc5f20bd0ea841d7ccef5b8f98c01bd7c8ae01b3f7fe088327f1f21384d4e0cfbc1d2c40b53399c52ffda0daf6ac88f865d8d96d50981d770cc148570825990d6b56dba8f77cab943711576929763837edcc5bb0a4b34baef1881f235094b1badb28083ba8c813cb362b05662740b0eae6721ed380d3b2b0c041001c5b3d - -COUNT=17 -L = 2048 -KI = be1a0bdb9d0bcebe51d5c64af4ae4b72ba46dc808fb7495b -IVlen = 64 -IV = 63f0eb342c5f7cb8 -FixedInputDataByteLen = 51 -FixedInputData = e4b2b24460615bdba227eeaef2617595dea2002626bf9af7f22205021068f2139645b74b63a4663cf37a9d397044f69d8aedad -KO = 3762061d2920663fb9c4f82880e500c637a26cd5e44addc2c746f14f01252edfd0131d374e30056696aa62f172101357d220aa33b2301dbc15e160ba71e24f4f871f14bfdc971efdda6cad353f998a1b314a17870b17b4f171bcba895be613a86ac46e74a8aef8c4929542655500abb1684ae269c5b1b4b10cbc2c1cf93d882542768dd9840ca4bc3866dd459cbe656461ae7ee83e58de3b59c5f8939773a1725b3af6f3b91548d0a443cf9ae792c5b8aa6dd27b4b95d83c9d04d459e1c0123f739cafab27283da861fc93f6876100c0326eab450c70795dc8b0853542bb20674f4f7599359a32205b339995b26c537a17c2f05ccb8664594719b232130756bd - -COUNT=18 -L = 2048 -KI = 40e3d044e2259077f0b55f2f39bb7c3dc6f9d26097d432c4 -IVlen = 64 -IV = 501d96451642caac -FixedInputDataByteLen = 51 -FixedInputData = dbb8e7bd4760f424b88b84eaeb83f9b143d1b1cd49246a86945ff4bbb01a24a7c7e64ed4a23375aefdd58c1b7d9b113a9211ec -KO = d1dd56cd4e790ac306284bbc18b8db1169d1a901b0b935348b26e2793426436d86cc91e7d08e2bda821ab873d8d84937dc8bc8ec57be1723fe36cf7ced5904c3dfa6ae0d97b46f1b737ddca5d8e68ed87568d87a57d305b60b608d9f885ed364df41e7f2d2698bb55d4cbae7f03cd616b1b5150203cad38c6c34c150b0d270e20c7ddc963429e60c54235be76113f71b23f173207e26c24c80f41038b5c8411f5c0d8403bca59be8f7267dbc99e9ca733d8f331fbeeca5eb6c7dabaead633a6d3d478f207d56b4b4ee6fcd50b7be33a8c006c95879850ac2a25170e1e4d9020be6a63fa4581c5ac74b34be2f56e5c361ccb38b09bb59763c1ddda848197d5dc7 - -COUNT=19 -L = 2048 -KI = 4aa1c7e3f86b5cefd2c9f5dbe4ede89dedfa771aac628115 -IVlen = 64 -IV = 3d8bea29860fb996 -FixedInputDataByteLen = 51 -FixedInputData = e15400bd8ed5310fa5a879848db20e69fdbeadf9153a9ebc0713ddb365e7f073fe9918b8f58c54370f00159cdf5ab7ab62d61b -KO = 46ab809313ddc30b366e8b151f3808ed37b237eac628a065d7738157f1d2f5d8bec81cce065926f4e8e168c39956c3d5429eb601dfc2db99827fa155507ba5a9325d5522bcb006cb313f575e9997ff08b8110e7627849dbf5ca286d1edf5baf4951517c82c4ddf7230054be8bde0a1434b141d9e56cea935b595e28d76cbe686f65b861d9ab0c9d7cda76d7d76fb727ef4fb41f28fa95b12c1e1b8257b3a2669824b4deecfd951acc0fb4d9aaaab190c1d56e4ab51c6664f077f8c0e486f180938019441a00dd18ba9184eb54e0fe54dc10fc31d7fcaa6eacf7e20971d853386d03b57ca2dad28187ac1a6861e4debbc2cb4171b967fe2e0eece78a73cabd75b - -COUNT=20 -L = 560 -KI = f602dbbe4679d62df389486f7283ef800e94032b97208699 -IVlen = 64 -IV = 99c3b9f658b85bce -FixedInputDataByteLen = 51 -FixedInputData = 4c93d4bf465e65c435dff9857e7d1312c119390bc1def53db0db0563a3cdb23796a254914fe4a9a41619b0c6ac92ad3651c8a1 -KO = 2bb4613032e9d25e37e03afaa39525529bbe3b8faabb07cdebd05279205630ea97da44f7ef98086653500083f8a3015c15399016195afc5c6fb7fb545fdaee37cccb76481428 - -COUNT=21 -L = 560 -KI = e80df9a14811a1c680fc105118995fd4cd2b6c5b97d165db -IVlen = 64 -IV = 7cf17366bc9ace30 -FixedInputDataByteLen = 51 -FixedInputData = e5c51a0d12d76a8c80b23829954d088b0c83f16c07a136b8d66214ba945443871ad08f07f28378ea2644a27b1cdc663ebd943d -KO = 544dbd6f66454ac4b81e3ec8c6413e860658c8ee8ee751cc1a5384d94cfbab3b3f7d1a84c1fde47b20bd27a7225afa0440ec4e7de383e98a00144247934ff0bfc2ff19e8e337 - -COUNT=22 -L = 560 -KI = ee03f9a4aa565be612607163e4e7fad4ff476d60081e33f4 -IVlen = 64 -IV = 7be7292005a4d457 -FixedInputDataByteLen = 51 -FixedInputData = 6e4e24eb3b9b72a76642eaa493271389b5ada24f7d2c1d1bbdb92e33e0bdbfb158b397ac1baf7a09cfa92c62fe2461acfd97a4 -KO = 93f69f1ff340356e0afbea4852555b2d64cc6140d6ec3e1ac84b5cd47958ecb28accadbf1af20fb0b7fed62f44803b8f04af33f6561d61210314fe1fab2c557191d6d5d61fc1 - -COUNT=23 -L = 560 -KI = 77319396e0c94d4fa8f32edf010c35a2f9ef52541fe2e4e3 -IVlen = 64 -IV = 993dae00c946f228 -FixedInputDataByteLen = 51 -FixedInputData = 45b333b1463495174a80e50fab41536c297727c9ae6e4a102a867a6cf75be2ea5a0c58163bf131d52ba3893cba8f9a9e4ecd22 -KO = 21e7c06bcc276623c5b468cf1ccdf40fe752d4fe7b000867573047354a19731c8924ddd6d8380095ac4fa2706a6bb694d714c58f6d66c4f1daeb5135cf5f22f2680076d049c3 - -COUNT=24 -L = 560 -KI = 11dbd126a691af0af43182c023ec2c14c6750ae926a92de4 -IVlen = 64 -IV = e72ee176bdb9eb0d -FixedInputDataByteLen = 51 -FixedInputData = 4606c30d8c4214bebadf6efa06f1c941db6be9c38a6c51b9463b0d314685183bba4a19c80d59e4d1036f7c4ed00634fc242d2f -KO = 8b45b5ad4c2c3bff1fe01e336199839e506596bdad409a45f26a84a3c5a4acb80b96281f1910430b27448b25ef5a7606184a3570a469b19dc00b4bda295ddbda376ebd8ea41f - -COUNT=25 -L = 560 -KI = f59b585c9787a5a8e1cfcf835d07e40bb281551c3fba07de -IVlen = 64 -IV = de3ab39717e89e55 -FixedInputDataByteLen = 51 -FixedInputData = 65b1c7ffd8dc2f7ecd0c118f6a3f3314096d74fbc7411664cc2749a51a034fe28b356987dfd1cf457788b5567aaa0d70436cc1 -KO = 6ae336b74dba2f536ca39a0eb8cc5af8e20c4597d6faf1f1731e69c678969acce669266cdc1d9b541f77ec33f02a4db2512c8e62225b2fa2b18f43bdd382f62efd707f48ed51 - -COUNT=26 -L = 560 -KI = ebe27002db5f73c02681b05638555876a4f19edc1d170bc3 -IVlen = 64 -IV = de460200531f065a -FixedInputDataByteLen = 51 -FixedInputData = d0d50922dc7e8237dad2a8e256d9b655ddd270755f1414044451cab09849a58a543e3fc385b0dce60e21743f8f99b7b337dad9 -KO = 1178b65a32d50e4a9ab1d999d856e553fba13fb0b5ce8d5007a90d019cf77a166b16482c09006ab3acc753ad723782d2f7118f8225647ff849d8591cf453da4bc9b2b7218a19 - -COUNT=27 -L = 560 -KI = e6a4c9f0799ee91a7828b1fd77222afdf73e530368c7c502 -IVlen = 64 -IV = db207f7a459d3521 -FixedInputDataByteLen = 51 -FixedInputData = 2bc90f135add055e8e6f430b44bc86d370570130f23669a02f4719e2258db17ee4fb7e8623a008286f086e00f743fab807a71f -KO = 81c45c190cf1130da62d2054acded4b8f96fc88ee87ae9f64f9593ff1d5da0cc3401f0cd634faa1cc1a939d7de7bef6dd94b6bc1fa4f245055224a4f66d4927ac72e1d42562b - -COUNT=28 -L = 560 -KI = 3f36abc66b29b37d920dea2ea34f1b90589953c67193eb86 -IVlen = 64 -IV = ca4590d4e84c242d -FixedInputDataByteLen = 51 -FixedInputData = 8ce9e336ffc5eb2aa0bb883ff3c93c3aad4a489577438f631c47c4e824e0b8f6ba9cd99a322e6f8f102ada1eb6beb605375a36 -KO = 1ac4b6efcb09bd9fd171c45fe162c73f8f23a8f55f3123423588f2fff93976dd9e01f73e0b614beab91be9bf1eae1ed70075c4085cc314838bfab888ba03d68e8795f91b8914 - -COUNT=29 -L = 560 -KI = cd989ccdad5f3a394a181948dbaa1535b8b81c4b6c679125 -IVlen = 64 -IV = 62284f69176ef608 -FixedInputDataByteLen = 51 -FixedInputData = 1e2080f0a94996253eb22bf05ed95791f3fe9814009c51ee60a66ac1bf3169bf76ed9852e9cffab0537c8438e9e22036ceca6e -KO = cb25132513a5f7dcd150db64d3f91c90248ae0a40b5996fa8216aab6919d4cbf0a0b83d426e0356a0cedd086428143f85fc2eba1e6b0e1fb37d3fb74e8eba6953e5e728e3ecc - -COUNT=30 -L = 2400 -KI = 9fff2a63fe095883334e5a7478aed8c6f198f2c850bebd57 -IVlen = 64 -IV = 2833f2ee69071e68 -FixedInputDataByteLen = 51 -FixedInputData = 1813877c4167dc9bcdfbb69ce5f54ad2350300e6fa6e72d1722938ac69e1e3b5903229bc8288d806955f6d12fae3dc9b4396c3 -KO = 36453656bcd2130af13de268586d87ee369d6318d8b52d9b3a8415f47b587cd31ab6ef7f117ed0018d9cae6d011361aff2250159eca9a70dcb0b5908f89ac1728614f9554cbb569f38ba11fa066e4767e6cab74c249e48cca78c43fcecffa9ccde1dacd85050ed3fd89e2d821fe3d2f3835d8eabde4f241a0c3fe4b60b644daadb3936932989382de840bef73c87d7abee9fc62fe606a035cf42a23ec516253c3a10a41cad207e1ec08f85cb09e739b3c2cba8a8e15135719678f7e991062a6603ba0077bb3451b61df5699ba58bd6f388f7b919aa76011b9585558ebdc73b6d9ff1bd35d509d1974733e1f9fa820509ca3aa56be45e8b044b95b8b709073674f4439f7c35b99c56b0f029f3c9254bfd179a4feb4e59dc4ab69287994b65edf086cf908d8193b6237a98e6a2 - -COUNT=31 -L = 2400 -KI = bab5f726380712d24bd12b9e91e70ddac0e4d9486efb4aaf -IVlen = 64 -IV = 00518385eb0f1142 -FixedInputDataByteLen = 51 -FixedInputData = 5b182aabcb763872938bf70165771a2c85d06c8ad099130b641014fb0fec1f5d78379c933e9632d4a5aea4127a27ad240fa0fa -KO = 31d8ccd2daa5892a0a63ddca8b89285bbcab83e05a76571766b026dd729be3dab0d27e84866b59bce96cd6e5893db2e0c961276b89a94aba295efe8fe5408b2eb8db0924c4400b4190a0d148ef292a0d9f9852372f1b0174b38db6daa11640c68dc5099a432fb133b17bcf0d11e430d39d70301c9179472139d534a44954bf73afb1c4c10a8fa0f285edc3870b265de6f09318c52666855900c4610ab6a18fb169a68fdecf09b0e9cbe47446dc71ba1c35d276c0f4e997538eea37aec5b5b55e59c3316785406ffda67ac6a5494c9e7eaa15680693c9204a9b24b4d925a4acab887a0f75528c0eaaec6f016dcd7becfd9ae9c9075f8da840cd97f8117d7d7cf0b9e8f9664efb11ccb40263e57347a85af5ce23268a82d400b03d9786d335f60067593d9e7ddc0689d9c57f4e - -COUNT=32 -L = 2400 -KI = 8c2eb669a2c8d691cd57e58d09cba71ec076a70e4cee5372 -IVlen = 64 -IV = dc72ed6eac050e09 -FixedInputDataByteLen = 51 -FixedInputData = 015b60e98714881112c98e3b388ff92a0f93f29899d05440ae1ece7e58cabf18b5d097fd31d45da96b89211e285dd2eb86bde0 -KO = dfbb3bc4fa6925dabf7fb66099486a74165f30fa25b24e0f43ff7524ccd3b6ab54c5583aa602708e5a3f01c542741994ba8b4986f96d9cbf1246e0d5895c59b561c64f9649c5cf770d0e44b9b2bbd8116777758644f40f139405a3d2db9015aec69816302c171557d3e8d001286f6a1ba1f1fb9d21ffde64c1d6a5d8edf47c2fa5c27715d763dd55361cccdd53d25dd5240b225892435bd6d89f26e6b333b28c8d093b2fc39918b95e5bdad30ea9b0b2ab48606709fc9ce0d091021087427892168be7ce0a07bedd7aff6bd11f92ccfa41af73377c6d6146fdc68d9518890a731a9dd015cdee35b7bf0e7bc1a09ebedf815f77f398a771a368e22ca101b3780a6ceb4c49cc55edb4698e908680f3492306910b441083c40472e0d8b0daaebd562e0ff0b194f67f663c200572 - -COUNT=33 -L = 2400 -KI = 88bf6bb7b5262829213d5ee971d8ffb7d26a156ba3db442e -IVlen = 64 -IV = 960922dde19e918a -FixedInputDataByteLen = 51 -FixedInputData = 2a032d853095ee8befea9ae5decc34be26419ea2e54eaeaa89e922fad38a9bb8d4836d4d70f8155ce2cfcce813adf9b7a6db2a -KO = 47f99d516d477063b0d64b8e6d2086762bb9375762a45074c3228cd6ade639099a4fdeb36a1e5445d86b98595947197b9255b5ebbb10c5ddff360890d21bbec920edad215c531891512be471d926bbb162472e1e5e26b947626f235a50b22ae848d181e39d8352279754f84430a43e3e73f33e5e164d4002e6047b011a7cca731cf09a9369a49e09f172f58ce582c70eb251172d6b59aa3b9c9f497c95c9181842b256d659da6117bc1caa03921d56df93eb1cf84f992bf3b377ecdca0bf3efaca830e9667c0d6125f07553cf3fb11df2a304fd2e5b1595ce4f2f4975ec7e927d53077cf593ba2333f117000a6e7471481f547383ba2d9e87cd74803f7b7a4228aa5fc0f0e83beabd9a2418d6266166589699ffcd987e35929b36ba9cffea4c1fb15fab40d88005731c6aa5f - -COUNT=34 -L = 2400 -KI = da98e3e98ab8b229443b00e67bc2350e903f9bf64149e0ee -IVlen = 64 -IV = f0f2d3c26ebfc703 -FixedInputDataByteLen = 51 -FixedInputData = 20ea24146e76cd609f3c34237adef358f9405e5fa5a3495b8579a7c8ff2552fd3cb118585df58a6bb61d3e0faab7b76bdd44eb -KO = 6036e53c05dd8607b79cb7a8e084da12be4cc2e864a9712867c7d92f92a853be92b5310eab4adc0e93537aed545a144b9ba676202172764c7d990074389f8e935afa7f9bb8f394a74011192489ca8361ff79ab3602bcb44f514b938e7e476e5aad1d38f67f6d54ce1860460e9a7be8af62972f7c6fb946512ed807f64140005cb88bfc3383aee20d79f589c60413b9cac2c1bc1655dd6c53cbb54362fd613e09205fcbb827e2ea084710a829bddf9626ee93a6c49eea31bfb0243aa9abc721ea5e40f3e1f907d64af791834c06ccc20a30de78dfa1a6e25730fa7ae89b1840e240774cedbc14b4a3ff280d641667dcffb846651fbfa9884a0f0c44e87a23fb2bc78c22c73a7b50a971e401929ca54e035b36ccfcb0f3d057c29bb6431b319e5ac013c6480b8d0a61e4ebc833 - -COUNT=35 -L = 2400 -KI = a2b5a53a27b7eac807275ef302fde27d093d9374c168afe3 -IVlen = 64 -IV = d316841664427567 -FixedInputDataByteLen = 51 -FixedInputData = 7b89778d7a108292363602fea822f78988e34649cbf7d4243b06f1c60e65b7ca4307803a11c3d9da15fc88817260327999376f -KO = ec6a550a2e7af789bce8f0dfee566e39e394be08874efd0241734140874a5b14d3e812901130147809778b786aadbe4a295b6cda653be75da8ae1535111b13a3a70f5609ab89751bcc980e9a1bb2280f246cda48cc007e4c51bd54196785f66776c39a0a2764007be963217ec5c802e33244bdee0bcdd1fb9cab986ef781a5cbf6bfec6ad5cdcc2de93c60d0fad1c6bb52670f73ba4c1fee777e89d383507e345da9455f1624686a092739ed259fef10a920631c6bf5a42baec47ada9d1ce9dee57302682a74ddc56fb5bb938bd3b89f475e970e76db3eca97a9ab95a33f80bea851305ccbc6e0dc459e802d08f629c04ff2cb6dc3463766eebe317f480f830c07da6663f2f4c633ebebe2d02255ebb707b3b4c2eb184886fcb4653123c08f3cf291fcca89590f52fe32ccb6 - -COUNT=36 -L = 2400 -KI = 9693c26982167568e7b78973cdb132a1792b94aaac967c72 -IVlen = 64 -IV = 1e502fc07d0bf15d -FixedInputDataByteLen = 51 -FixedInputData = 2284651b671204fed60da2acaa8b228dcc85b5aa7a97317f1b91be4ae00ff4cde1e23e294578550021a27d70c7a5b36c02c92a -KO = 8db95b38c9e20c4c6e3fcf1f9c0f54655ebf6026dea25d6ba302fd111ae370e92cabe02eaeeed0731d359ae90f0db1cdf430d2e074bbc4976eec2c5ae0961a34c68997ce0411dfb144d59b54e620f9261e32a87905d5751906d27bee309a20ca91f3fe2e42ac6f1eb175580a85d1ee5ca34754b825198985504644d386f2868c4c7ffc3c2709f302b9fdbb5b04f94f8193f406e35f78a3bf79f1c21385fbdcef326eebbd0caffcda15ebf7a3acedf628766d4762f921168fe4bd543e8a705cce10528a949c6a3284950e1c5f275a751ae520f345dd9d440ea7094d1caefa9a621aae4dd3cd97783098da7f308ed3b970a1a68ed97f768ca5bc2d13c2ab67ae7aedb02d81cfff75fb0bda0777d002772c329e7c9f5f10add505211fe38a5cbf35bbb973bc5bf6ebe39f4a2dcf - -COUNT=37 -L = 2400 -KI = e04b38ab1b28e2fb78d26636079d982c10072dd93fe245f4 -IVlen = 64 -IV = 25706addb19a1287 -FixedInputDataByteLen = 51 -FixedInputData = 7f21c39c36bd80564f043da257640118002646602fdb88510fb947f99cb8188b82a9149800339f8d9a5d1af9ddd708217faa3a -KO = 4002842e1fe498023f36178a1e710a8975d7b674547cb00a1345db4b5ad30b84e0f1241ef265e62d89b4b13a3697af67810c13aee6d733f5fac391f4d920d00b15428467a60d09beea4fbf9556669554d3ee2c85e791f98881d6d4b9f087b593ba7cb4f93af1460970fa9fc0949ace041b991458e86625ac7b679bd87ee8bb964d4866d1413553b2e62643a1959bdbf6c286028282f5c38ee05aba3cb623a7d3c27d5dbb8ce0f47a561fc55cf3de8ff2eea940d2b6486066f711a5136b53ff2d22f6ff0b5accc814c720241a91a373428dd39001f1e42cfc863ff6e5bab330ce8394a4e2d1c05b4a7c32336d6aeffe48514307bfa240c3b02f583666ea5ac4a9db79ab7945199e190294ea21347cef106c1a505fd354c621b52777d9deac7f957115b184c1d785d16295ec52 - -COUNT=38 -L = 2400 -KI = 7f6793679cd62e6df915ec38add30dba5e2a7dcaf09d45cf -IVlen = 64 -IV = bd6bbfc9eb62929a -FixedInputDataByteLen = 51 -FixedInputData = fabb57cc9307c04e7e783e47a08126d11556f62b0d8d63c7378a9d2cc0234d0bee6818f2cd7e4be032bc1950e1e49d46ce220e -KO = 159659ab906f04d672f548e558888267debe4fb885cf848cd10b9c0d5e50cd34683a137584271903b37a0aded73bb6d169d7034c77fc6f2a9d997a05f9d56dfe6c08cfe1b477a8183328a0963926359b7bfe5e8115d79c8e1a7fb7cbed29a2832195d884b6babc5cdecb5a24fa315e9d14bc4bc53cad0255ac0ca2b6f928da8c374606699e3b693ac3c1d954e65879a819be44313087caf4c884c78e4a55ff6297e632ad4994d51862dc26ee468020a6d24410f1ce1bdf28bad31428f4b488ecc836a331e754f4e121d89fbe6fdfef9c0ca10a12e691080d333f2c811db34fb355a0dd80d2d03303f7e97999321b884d52cc008038cc2384ed262b50ca775a2ff70102eccb8a2a8588760494f686ef774aa4ea32cf47029ebddb74b1b35958f25b9b2ed3f9cb1e2a9ce77061 - -COUNT=39 -L = 2400 -KI = b0af497747f8b166cb9d9554e5dd5946bbaec33e6baca2dc -IVlen = 64 -IV = 55e6d5aed5fa09b1 -FixedInputDataByteLen = 51 -FixedInputData = c73573c271bfc076b8c780dbec72a47345fdfe50abd86d048822a37ecfe224de59bd94c4428d67c15fa38f8d9904ae09eea235 -KO = e40e372af96b34bd2872eb52cfcf598654e31f8a3e37f03d5120eff3afb150dbdf2c31b5874f4f217d15514a99c65da488b5197afafeabfa61fb819f3d4744d15cac71261a256aba13a73624e592261cf4ccdc2e2a892a0ed0efe72f8e3c70db1c00d5fdb513aee850a887437a79ee51ec574abdcfaef608cbf0821a45283a8de74036ae5407bb5cae9406a34c280e3bed91f89dcef78424970561e81a11ffc190677b571fc9415a281dc7a998970453b9570d63e85c7ef9646a75a423b5fdb540945191570050347c349fe4af5ac6bdc1e7a8d3aaf8e32925c7ff144242af1b26b44d8d27e7d7bf9e84628ddb727d0f1ab61e59d9f66a5a8def4a9f9bac1a1eb16eeed7bdc9960aeddd6fa7723e1878e17e8f9fa3a410e06b3604fb12016b3ce95a0561b031f4c8d31862b6 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 243c6e055084df1ac4bcc533f2d256c657fba0ee -IVlen = 160 -IV = 06a645b26183a5fd3af5f46df48c4af6d7c1d424 -FixedInputDataByteLen = 51 -FixedInputData = cfe7f9ca9960081cd8c4075b91bc40e980b96d262a8455145d961ab57e800616a27514cd8216603948487461dbbeabf1ff22f6 -KO = 9054ff3869dfb2be5a43a1108ab80d048a6ca69d398ef092346f6e382b32d311a48461df2e784bb7f359107d7062d6e3f55e373138dd03b4d39535ee1f046bd2 - -COUNT=1 -L = 512 -KI = 06a2b536216db04aad4c52c051ce3bf987f834b7 -IVlen = 160 -IV = c8c863af3222b3b31b68f8c9c64ad147e8a42ff4 -FixedInputDataByteLen = 51 -FixedInputData = c4bcf09e60272a58cc2ca73d50df5326d11e000769d0566456c3696a14badac20be0530ab114a2c9e1430f1f93af960dc87478 -KO = cae9ed55ba5ef126cdfeffb79f75bc54ad3ace20b38869bc50fc39a35a8cbfcfe3c3f8f3b723f8b1c6a4b5a4de3f582874c1fbabe2ec115d4a77510491c6682e - -COUNT=2 -L = 512 -KI = decf01e0e9dda74a64102f9f823a5ffc1145e5c2 -IVlen = 160 -IV = 55274df8bf1ec8f3f5c87f023896fadbe1c7e892 -FixedInputDataByteLen = 51 -FixedInputData = 381c31ad2cfcfc6f08033ff65c97e38f62074fbcc84e9aaa51588af0ecef210315834660a5f2d7305626e3fe668d25c5b2779a -KO = 882927f04d42d09afd17f11188d12e89f4b884b7ffbd9c519a8c2e373e9c1eb7cd3541803833774b75bcd90a1bdcf6b1b06244510aeec7a65f1f6f1a85fd396f - -COUNT=3 -L = 512 -KI = fd9ff857729b982da05185eb1a74c89d10529e12 -IVlen = 160 -IV = f2599ef87fde3e0694e4d10be7dec3ea4299cb10 -FixedInputDataByteLen = 51 -FixedInputData = 95f38c5907b814e1a0790dbaa4fd235fb3f2d3d2d8634acbd2a3942d6d79975986bdff4da4c5fbbfe7f514beb594ab39b059bf -KO = 8be23a79f1edf16e54211c28b02bacc13c6577d0484680cc38e3a5dc4e4db96da3447747df5050b5ea1fa47dcea7c01078ca07a06c7a3eedac975bd82db67cc3 - -COUNT=4 -L = 512 -KI = 3165a56b0a58feb5401036ff93adfead30d3ea68 -IVlen = 160 -IV = 0d9a935fd6ec06d910cbfa571977b4a74796e8e9 -FixedInputDataByteLen = 51 -FixedInputData = 4d74e15225822f5049a04e82fa05ab6631118c788fbdc28c3115436578ebd10a6bac621d9be5e397b2b1334b4e0d959fc7d447 -KO = c6cdbd87e9dcd2f8a3c7420595681635e7aa1e363818918b7607020e1105626b258903189c7580e938c6eb74dac7c5f5d6343e49038fc9b34beb86cfee7770ee - -COUNT=5 -L = 512 -KI = 9a268f87319c3d0e9eb6f0a5206132c8ef99b7ab -IVlen = 160 -IV = 4cd9319e7e4f69d81b0469c0dee1ac86e28c5caf -FixedInputDataByteLen = 51 -FixedInputData = 5e8418a2281d32e37f5b0b1f95576eb62e24e24014ad582bcb2d9dbcd8777bf1f89d9fe6f6eab8ff9a5cdd4dde5e4520e25fd7 -KO = 4f802ce694b01420149a7c02ff5311c1e10fc75c9b2d3ab6d5b1a1b5c2df35c9b1930a671559b506db1f5da58041849242d87b10cbcc409c517f8b31df1d546d - -COUNT=6 -L = 512 -KI = 532906e6132bb1618cb9e891471855a2d560942d -IVlen = 160 -IV = 1d03537a369a4147c5234b3ce1f362d098a3b5fc -FixedInputDataByteLen = 51 -FixedInputData = 7b1ae2356cd21bcffa5235e702efd6c842bf391301f3b39810304c86a090cc4fb351dd0e1075ae8ee383a7cd3d7f84de2f5f3e -KO = 5d55e6801a6955071d2ba9e8bf28277d8cbd3a4d55650b0ea560e1b396c130edf5e6d9a70691b3c4bab94b8f375a33db3276cd000f1ca327e67c2b1db64f5e84 - -COUNT=7 -L = 512 -KI = 37ea4f528f92346140cdb7f9d1e1a00e4b695de9 -IVlen = 160 -IV = eb329676db4b168190696f1dc9bdd482f65d049c -FixedInputDataByteLen = 51 -FixedInputData = 460d026cdcb6742865e58efdd40facf367fa9657b300539688385948107b645d501f503121d31912a9972c5152c764a0a55595 -KO = a8f31ad9276b650b17bf781c93667a3f56d35c299a89b63d4fdfd0e28f3ad0f4e325615f597467325cee5fad4b3e092f33a11b7ecadf023aba566feffbde5859 - -COUNT=8 -L = 512 -KI = f8c0b312d0c869963b1dd22173e37f8c04b3f53b -IVlen = 160 -IV = b577dc3254f21fdfa57254e5d5611a414f3cdaaf -FixedInputDataByteLen = 51 -FixedInputData = 723c723b873febb0ae2da54df3c344168f73a8e5a097648f98753d0475439b927a28b3194c7b18963d4ae03986babdc53addc7 -KO = c1452f75795175cc49746aa1bab80e7e337fa1685fcb34bd2c8e326615cee08a4a5e379586dac78ef3360df8c0f0be5139780cea0494ca55a40be0a0d9a6fcbb - -COUNT=9 -L = 512 -KI = 2c4a609468c13b605927b6a9ce099e83cbcc6bfd -IVlen = 160 -IV = a874f7590c987fd2693e7e6a2fcf9c7e6a10d1c7 -FixedInputDataByteLen = 51 -FixedInputData = af378c30b4496670200df61bacccd2fef533ca76992e683a7769a6436abee137beffd0f5d72fe8c89995bf735dbc1c7ba90983 -KO = ac5b59377c402b595c18a6a786158638ddd3b610e51e638f13f88d362a35b256a24776fe3176541c229e3b0e1c831a66ce097f9ccb76e0fd7b41a14dd31e8696 - -COUNT=10 -L = 2048 -KI = aa83d1dc694de1b6196fcc94378f5d784f022608 -IVlen = 160 -IV = 75b2fd5654b14f5d8a1a40897fa9349e3ca31cc6 -FixedInputDataByteLen = 51 -FixedInputData = 6808bea46ab0f7acc74a04842a3754da4e25d15a7b6664d2201d1f6911de715b1d5790ba1bf311c0180c33aafe14d8ea655704 -KO = 7d115cb131a99df9a3862cd356d22b3ba07ddf7896beb33e5d8f29185c04ea7bed086c8febbe79dca0c52d4708d5155e308928590c57e3ddd36e8ae29f16b778c4e659388e1b7266393490dd56d1108ce3d4e616a754f6b9341a596a9b63c0c543b8e7bc932e69401a13e57e136efe4bdc7ed06dfd910667d901b04c3831b9987789c64ddf39a4f6cb2ec7b22526af7b2b6af98fb44a7e95331d9ac81d5522091773c37f6d85b5e2fddf260961e182ef777011385271cb59a0d804260ffbbc85100b743d1c95b8d8e8de7a6168c9e0428d5601c2883150444df321831b890352345b54a76698ef4741a34370a3e99ae5b82fa4f119b4f75241ba583ec1b38fdf - -COUNT=11 -L = 2048 -KI = c1fe55e55381371575069e23851d0f712bdff43f -IVlen = 160 -IV = d122b80781630f0986337f3373eaded879710082 -FixedInputDataByteLen = 51 -FixedInputData = 29bd6ba18edf48c05b31fb3ae2ab6bebc8aa69608dc3881a7cf0f7b2942252f8265ce4a9052240436edbdba0eedff8b2a4b950 -KO = f853b00e62365988ff70308c5eef36e0c59744b88112d355f69f77e74719816d68a00a58893acd600e44bc68fefa411cb4cef9936481a149ad1ed0d082ede66ec893f18d4b9dc4882779db78a20c471df8f0754a2e03c780492d3d0788245576ac97ab2297b66079abfd40684db46375baa9a42718e06e918608e5dff9b7f20831446bb43201f941f4c786f83aee97560841a9b8fc169021f0fd484380b2765667e453d393916c2debc6e559afb86dd0dcc3c89bdcf8accc731a0c60e3f3495597a3e63e1379866289d944f66792e4ed1b1c05f056569f523c86276adb12e4ec5efed00e4180ceba01dd6e708c683550bddeecb6d49aefca1c08781f60ead28a - -COUNT=12 -L = 2048 -KI = 3aacb5b99bffbc58bf5e3fe53bd84457908a95aa -IVlen = 160 -IV = 807d3c68499c956d31536534515993af90029268 -FixedInputDataByteLen = 51 -FixedInputData = ad37eed3fc7554907da7e479adb673677eda0b68c1ac1e4ecbf4ee116529fc99eea90b77b982e83b778738f43693ba0f81c8b2 -KO = 7b467fedb605e84846196f227e1f395ed6668082d7289e7f4cc00a0b4edea919c1b456df3edea3ba4b3b1a36889eb324eab7008284e194ab8c9a31ce93c0178be4b3e1b1f572f2b728f0e5a198d70b1499e452152630eb4d5dbf3feecf7e20084a22214d11fd9a2e7de5cd1bc64ec77fc51a4b32a8b07c135bc79f8fdd7d2014dc04abf3494ef53a83e78a1a7800facd8f721b2a63d7d4b92f0a645c1eb912e4b8e57f37b1481d10410cd7251400c5e64bea046429fe576925f9c56fa7dc61e0f62d210fda826d47b21d201bc4f9fb20d864ecd01ceab9a6db865d9cfb0245579cbb722182d247b6709d6c644acb9ea3763b2bc8792f8c745ed452070f00e231 - -COUNT=13 -L = 2048 -KI = f9f0170edd2d0da975aa2a141383df83ad0927a7 -IVlen = 160 -IV = 4086d0f240b4f7bef5dd0254c7f7eb1886393dd4 -FixedInputDataByteLen = 51 -FixedInputData = cbd68944829b533c39474acf743d54923f8d8dacf19ed4ca30cfad2d03eca801b9d6b9b787d326843c5553e614f67f843b511d -KO = bc6c9a628dfafd2f8dd867337d9ffca44313b0bb4b2035a74dff1b5874d4b6ddeb6bfdcf1bef1d2f0cdd605a2fde1aa19c6a1a2488ff78ab18f5c1e68ada913a4d2d1cfd1549dcf857292b2eeeb04769b73594b9eecb7ae9b365e2e4457442f9aae97e8305655713c9de8475b5dfd59d0c51fee4d99000b4f070bc220c87722c0c3f196f9aae3ae3fe9cc8cd807cd47c9b67710e0aee1e040e73476e69235c95b4a7456c5e78a24786b6f88c6bfb125c00b3e4d619141ce176a535dc6eaa834d09a17e518a2395323d74ff5463ce2a8ff9ee8030c94c34bc6b4b6d2ca547b26dd7432522ce801526909d4d5f4c86c8b3de93536b497a5af9601a2888ccf974d4 - -COUNT=14 -L = 2048 -KI = 8f7a202f2325f41ecbddb3108d19759c5940827b -IVlen = 160 -IV = 4c2ec1a38ec5d80e085b389c2f718b811a85f1d9 -FixedInputDataByteLen = 51 -FixedInputData = ffc0ab95b473fbac3310ff024962f1a16edf48c047b6dee9716169be2772b28c45a3e8da58e1a117a6ebac902e7acab400a88a -KO = b11f162eab001ce996414ea9fd826d77794a71a228def2862b7d1672bbde696574b2c91a4eac8a1c14fdf888cedc36fda3b6e95a96cac916380fe5d980e7ea2a99fef56a261146a4148490a47e2ba54180b701f9c5521f5bb3fa49f6b03c78eca4919bdafe7bef7d99f1d6e37bc972a594d8b92b22df66664ba98c722ff9bc37b7b159e3ea10b762d6d269149972c09fecf39b9b57e8ec92f8bebf5e4e3ae056f8f0ff795b0c1289c4b5425148bfad87926ab771b311fbaad80417174a0da78a8ba3ddabd5f074afc6293bef7f52669369831c2a4ddfd1e0a902a0f5e3e5e17da2356e6e6635dcda492391ef775ae10b30e3a681e1433493d5f6f1700692fbc8 - -COUNT=15 -L = 2048 -KI = bf250bb1337468d56733bbe20bcdda59a6025e4f -IVlen = 160 -IV = 478fe8aebc66bafbbc9458b09d151523521ae446 -FixedInputDataByteLen = 51 -FixedInputData = 51112285b18953f4741853fde69836789f0db940b77cbbf8a10243e1b870f00756c8782fc2b4e8c9e95a35e193e3c866e4ee88 -KO = 51cecb21b7704e03ced8518a0a40c56f56130ec6203890385851ea3787dd1f8e9c4053c039edf6ddef53a22a00d2bb8c3104c9e8940561dc093a920d49b5dbbec4df3452da2570f6d283c7acbe5c96aef6aee95b0c106829944f4a13668f086fc9f39ff5ae1704faf252e3948e7a4d7c2486641ebad9dd8f1f48053847d6c659d172728882f4c0315a12a93eaf79d5b1de77afa4734abdf7743e1df70b4b5ce6e0cdb7114813a61a63074027d3c3ce7e48307a6e8a947ed9e135472ab49a19f7fe567576961fbe7a6dd530513859181a26cfd65ba5567182a2090e6e013471220619d2a0de85b34c1a98dee3b2acd1db27d6f16149b4cc52aab0bc1a0c9ba2b6 - -COUNT=16 -L = 2048 -KI = a9170ca32b0f593a9821b2fb541e84f486330096 -IVlen = 160 -IV = 0d54114bc11caa608a0d1e58a4d50f6205e80cc1 -FixedInputDataByteLen = 51 -FixedInputData = e1580305da07a99f45f3f3d859c62ecd078dd07bc164dafdc6283cdc43f80dd7b6b86475e9c2c6f2c5fb1da9a62679105b845d -KO = fcc947e2a57ae77390b4c3b860a1d684913bf5238a4ee87809c208695bf5e07a4b1e1539c420d328e59875956e03c9549e53c9d392863c6af7906d7cba12b60dda9fe7add49b221b5a6040241b957c1ed70c671265b6695a6beaada150b441904372f1ad3b80510edf2bab97182505cc6000ac54296988a5a46e3c4ce51dcd3b29cd9cf398ce040d3877ac743ca2a6e486fe496a4e811e746ef8e25170acf1a81bfac762b699ed7e540de59e6f9f6d2d8871c031d139602e9504a8fa805877b147145c90cfdd60378edce43e63dd811a33154d39ac620e2866edfdb89ac2b2395be256f02dadb818a0c0550f6eb2a75807203295c03cd827a680a090271b23d7 - -COUNT=17 -L = 2048 -KI = c09e5c2294ca251bacebbe8743a0331c1f0caaa4 -IVlen = 160 -IV = 27b4bbbb6d48c48d527722b693d8b7593a5db77c -FixedInputDataByteLen = 51 -FixedInputData = 3584e93ab2110408c089fb2b2094ae301d31cbcb612e3f3d90cd050cb97ce6faa44899594b4fa9475cf7cfb4f1cfe5940fd0a3 -KO = 59fc4d9271659ed0676d243cd0157afda391080cf97a2755aa947364d3ff56c91589ff1c6cfd7f8b7929b8facca1490fbb7a3067521ae572873535dceb8b954229168310d22dab319b241a8eec5977e46ce2e94d43c385b75ddbe5557bff35f151d70cefce4a9b77c3576dac10d451bc12896a527bf982253daf71ce90d23c00846ef439ea12a5f917b20316de67609c036649fc65174593f98f855fb2a88bc7c33eb1623db8372e8a1c1388e01db43c61e22f8d17079a937ce1f623d2b69f42125251d8e1dc04092d0e06122ff5ccb7ec7289cc82c48cbeb3cc5dc2d2951d0ee80f2340e46917a3d71bcf95478e4c43f44d3fa2a28034bf7e7f70e137b89783 - -COUNT=18 -L = 2048 -KI = 8416d837050c45630d1bcd471f5f455d2a9fd71d -IVlen = 160 -IV = adf369184d691200d41d35e9e97e92da6b06e9a0 -FixedInputDataByteLen = 51 -FixedInputData = b473cfa65bee9519c3779373415b70e990cda2ad6d7b0d6f1415d3cc80ea3f779cd9e954964218f1e03f4f9d759037c786031b -KO = aeaf76310ab9aeb116170102acf193a9e24277aaaa5523a1996caeac7fbdf991dd4126436efe38b8b2ae35abb5f84f0c6bfae4c8bb64ca069712327d0b34b6c58b0c777e285c187df12247ae6c437bd68865c1a0fe1eda398776f28e7b8558f7bfd92ea1c5c01b9d4633f0afb1d42b3d2eaba9a5f852f2acf8fcb95b1a1fd56b94071463d0dfa5e5d93852639ecdcd42fef343772a6aa13e03672e88ef230de97056146ea505974811d3f6e73a2173c68ca9d6cb0319bcf52cd28184c16c1d4ddc486588112abad82df2c33a131db8255fd91a08204158f6cf352996396012d223dfd3612c65fc239f0d1d66ed2c7b72e550d824866cfac43dbc9262be461a31 - -COUNT=19 -L = 2048 -KI = d0a47fe99c6556ddc774d3343c7eebed7a4bf4b2 -IVlen = 160 -IV = c9f276ab36ae383bb49f3a1a8d267d90c2923c03 -FixedInputDataByteLen = 51 -FixedInputData = 758d502b21088337a1d9167428eea7d9d5c12aea985d24f6aaecac58723e6c7368452f945371784304e78949c094db5ff37ba7 -KO = cac7e4622151284ea18e1fdb4050528abec7fa5d94ae9b9de7f4425dcf9b0da283ad2a6accbdba478c11a96c3001319d6e51c73eaa31a8a92c4dae4f36a7313d9c8203193a8f026fc35a9f8e1bd8ddef6ca160ad873527a07dc1bac00180895b29ba5ee68a6bdd92fbfbc4ef949901dd1075a2f58fad65cb6860aa8a58664c9de3bb657b5cb372ae352fc53e8b0be3408edc0d77e959291c46ef104c9b6522fae8706a069c51fccbe388bae0dd1435ab0ed49fb496acbe1bdb431c2ae4c0b45e218f6b3484a6d11062325bb1ebbc5040983f42fc2437a4d40db476ea49886027153b18c42a94a514b4ea8573634c48516fb5d872ca98f4ac3b284c4ecf801664 - -COUNT=20 -L = 560 -KI = 875b744c40215b9553e41595c56ae47c6a5d4348 -IVlen = 160 -IV = b1d1d6a16aedaeb3f1cfeabfe71053b187495647 -FixedInputDataByteLen = 51 -FixedInputData = 9099b7186d02fb61d055438bc391ce54b1987d846233cb0fe5e705885bbeb005303ade77ab735fb17c01b0f5085837a98a3a35 -KO = 1f645ae4a1b94a7a04836059e10b1ba8168180752b8db7bab15298963c0040dd23dbc4a863465bdb8fbc07c6987a213ad6e882bc8cf20e8040984485274a91d2131807ba59b5 - -COUNT=21 -L = 560 -KI = ee7235f8ca7d3b5ec6d9ee95137c8d6ec2628bfe -IVlen = 160 -IV = 59f381e430cdf08685b960b4175d1bc5077caefa -FixedInputDataByteLen = 51 -FixedInputData = 5cfcb0a32e5ef2c13d4fe58d4c1b4c40e52fb1fbd2e188a870b0eb7d1a2bba96644001587d5673c1e9e04f7468c731f9e310c5 -KO = 23b28c81701b8f96b2739119c2ddc1b9b2532aeb78a0bfe6356a91edd834c72e908347963f979bb7e3f5628e298cb52338d070d37ba376a1a570378cae5e79ffad274318a78f - -COUNT=22 -L = 560 -KI = d4b4f1a75e8f4b918daa86d79ee4dc2498f72165 -IVlen = 160 -IV = 4224470984a0174e454864df67d1d89b8a49abad -FixedInputDataByteLen = 51 -FixedInputData = 873b51c9db7a816992f0273be5c07e784dc1d50b60c948b298e64c40d4fa0398b99b7bccfff1c4cff4cd42b0821eb5d6b6e1e3 -KO = acd5a222edc8946d8504a7beb1f8d2cfb38903ec24456022fdfed745d1cd99338f060f907c505937618e50e698ca98dc09dabcf718819fe86094a69060eb3c3d5c92b199c3f8 - -COUNT=23 -L = 560 -KI = ef373c8507744f3f34f5e6f9299be18854f976da -IVlen = 160 -IV = 33af3c297251b686c18f352531e1444989c74e55 -FixedInputDataByteLen = 51 -FixedInputData = 85deba54a6d61f3ede36f0475ad0b6be0e2b507dddb374342de47c5ade151a12a76b1a4f571a70b404b32c1e7a05ba02d8cf23 -KO = 5674afbc846b9bddddda4a1b908ea33cfe1e5f4c2bc20c5f2ff0f886819a7949cfa25d725da4162e2d1fe2ecd5fcaf647284d9e63a7f018d396a995da70305fc86be314a2675 - -COUNT=24 -L = 560 -KI = b31484f5af2b27726d438918203b756d655285d1 -IVlen = 160 -IV = 94685f9d639af18c40d6776ead188c0bdec3dddb -FixedInputDataByteLen = 51 -FixedInputData = d90800ec86d9e8468acfbb9d2207d334c8085f35b259f183eb8920a9a4c849dcb5da999926690363de2f10fd8fce06b487fa50 -KO = 73ca51c2c6444b2fd45f80ef33321391674038a66f48d8c27946c6ff1dee9215b4240b5445232148ac63ec117f27dda93058e31e3ac17bedf7961cacd729e683da151162812d - -COUNT=25 -L = 560 -KI = 8199bfce8dad8ec077d57f0fb125e678e3500b67 -IVlen = 160 -IV = 0caf78ba24b1f3c93248c53b564fc2a3128fafec -FixedInputDataByteLen = 51 -FixedInputData = 8d694efdbe36d621851e5f098c51eebfceebc6e11bcfdda7ba58ddf690f90aa3e54e6d0e97ead15ef2b9a2afa84c347627decf -KO = 7e0ddb32753c112d5d43c6625ebc704fb12be3a3904945378eb9d683fde43c241f8d987988892b8b0bfe4560a453977fda43d9b4db696811f26a38507ae6095b55663dadf636 - -COUNT=26 -L = 560 -KI = 1d125629fcd01bf31f9dfe42b420b993d9d637bc -IVlen = 160 -IV = 7beab90a3847feaa29e3e9212f7ada54b31cdc95 -FixedInputDataByteLen = 51 -FixedInputData = db868ee11fd314d90baf8dbe60ebe5b3ac971d52ae896e21a20c39b772f2f6728a095c36218a539c9b30a12031999e6eda8e25 -KO = 81283388802fff4efadd3e4f6f417862244bc07770911e4dceab6bb6826e49f538d5b0c4f29eb0ce6a7be7d7c77fda0bd074246541b0d69e1ced32ae83b9eee10820961ec5b2 - -COUNT=27 -L = 560 -KI = 328641bcfdf070e8504982308ddf263b28638305 -IVlen = 160 -IV = 6cb40d5c1da94c76690db200af871f5be53db9b5 -FixedInputDataByteLen = 51 -FixedInputData = f7fbdd610038b7aa730665e65f26e965c906863c22c04170704b59dc80f734c44b63ca0a07290b84af346263c5c13ece961866 -KO = 4687572860d41c27c1f8b06ae95032395265af0994d35ee7b45c2decc2cac01bf080e80442674674bd1141c15adf35ff6e91bb637676f5a020608b5ca89960835acdc3021a8a - -COUNT=28 -L = 560 -KI = be8e62232da8d436a95b7d5985a810c9f15eb2b2 -IVlen = 160 -IV = 256e7d2acbb1473762ccfca4b1af2aa77659250e -FixedInputDataByteLen = 51 -FixedInputData = ee2565435a307ae80ff631f1ac4d2cd121cd1b6196c6e6791b3bd00be1788f933604056eeefad22e8c2168cdfa3878fda490b1 -KO = 07ffdcf3437088ed7c69e288b8fa80140ab325e96ecd2091c8f4e2e4b1eee9d381cc438bdf7ea996e94c8ec96f842a03dece1df508debd216f3691f7de33f1689e082e906239 - -COUNT=29 -L = 560 -KI = f3102238dbf1f9a53a2e70b898ebdce6857ac2f0 -IVlen = 160 -IV = eaaf6d846fc880ff9c38dd9a3c35fa17c7585b76 -FixedInputDataByteLen = 51 -FixedInputData = 9bb0cc621936b40d473cd5358deb56eb7ad080d26d55272b8c843146eae45d86c1d5ee4b28a61b9f3d9a630f50a4dc0c6a7274 -KO = c7f6adc07ccc00a273d04146e4c114c67f0153a6df10dc28ade0f80680858a9447374caec6ca0060d3a602cdec26641e6035cbc1bfd57d6de0e5d0da1c45d91bef2439d4e399 - -COUNT=30 -L = 2400 -KI = 27cb28d56d5a9872e880d5c31435e90e5d5cefa2 -IVlen = 160 -IV = a16707f0489ca7cc11ebc5d44f248cc38508302c -FixedInputDataByteLen = 51 -FixedInputData = 30c567b136f2a814205ecb8cd6578bcc2aa1d21d76c7b47a8ca26f23fc901e1f827c4b563e9c2747e2861d0ec7dc1d86f34222 -KO = e99e09b6def895d15bf101e3122095b2d19f3a09b3726259e2186adfbd686fc36963697a329635546b3e79c9c1a869c178e3d9128095900752d46dab94fc207cabb116284950fae29572de29b400b23e177badeb80c8fae426ac2f657f02a8167cddf3772a6de29acd1d232fda2bdadbab5a4718aae5612194c58bcc0e3fa06153db40293d01b1eb7277dc9eaf7ce0b48243c4f7911edfb03f8cfbb14cbaab2b5655031e3c8ffae180c1b219aceef12b2f20caa2a74c47a4736a2d843b20c233d58e0db4c806e8cb2842382c11df70270b9de77b9750aedfa70308ed691d608c29f7f1b3e5c2da924391b17e26d956627263f44879fc2cce69023b54d9d475b883324fbcfa2eb595d4eea3dbca0660a2e2cccafd694645cdbb04f71aae597e8382f346940d451f6b07811a66 - -COUNT=31 -L = 2400 -KI = fd774725867550c2522ce8240ff89b0a86e39c46 -IVlen = 160 -IV = 080d6d12787e60e51b29d42028b9646bf02c83cf -FixedInputDataByteLen = 51 -FixedInputData = 0b340a6d72590921a3db1ab594268493dd0a2ed4da2333ac2974ce957b11dcdb3f325f273ead2494254de104326bedd4dc080e -KO = ff791ce4d8a6971ae95716201185970d7d0953a22e55e2b9aae8fdb6a037c63fd1349ff1e0782a3be109af95c086441eb26758c94a667c5c75bc2fa54b34b67501dc2548944b580e5844b94e3ac9c456b91e49d8435e95684b541c485ca54fcb15a5bd947b06eb30a9b66d207cd622a757f1d44aac0aee2d8567cf83aa967bf228aa051ac01767b64f6d3bfbe51c79a7d67f7eb775c3ddbf60368a80dd3e000191bc78763e43ccafeb7ab4c902f5d4aad584481c9b76308d3305209b8772eeb0e4f6a5635646edb0535213e079d0f4c60753a67f6764d4ea8168db368d1765fb56a74430174aaac7b5d3bf896737420ef56aaebb56eaeb2c54b90f74a5fda2382aff7aa9d7525f60ba9dac3398e1493573530beaa5a5b3112346b5565c1f36cc815447175c1d1e06c90804c4 - -COUNT=32 -L = 2400 -KI = 0a7c0f422304146bc434135ee5f43f52c6e7795d -IVlen = 160 -IV = 9f168e53b4edb56bf47ae86405c4f34d0f52ee5a -FixedInputDataByteLen = 51 -FixedInputData = f505fc72af51692c4b3a89c9cb0c0e2fa6ee10f391a46d602968b3f665bc38c0c8ed1c119f3387df232f844556d63cfd6ed6d4 -KO = 8be08a3997057f4ab7ff4b1b681bd9daff51b7ab63d039d56fc73bdc59a19740294bae34a3aa23079ef74867f590a0431e33c51becd0d81eb27090f0ee64c6cfc494840d1836def60e0a56c0e89efce99c8205cb5cd1bc2141a026a778cc68043dc402f5ab5910f861cbaf6578534ff376accd0a4c98257fe5c84cbabb15e71c715059004bdf846fd7ac3b43e4c5c24f78f3d5ba8d028e385826ebed14198b96c5047075f06c92356627af98fba01867395512b26943ecfe40c5c0e3d52dc1488a5de955e3d31a9c18e29f76d6c468465e6a02bbeeabe8465f27fa63f9d42c4f960cb8f72788660c627aacb89f01203a3727baae1650d7310a2122f27506bf60d498a6d1b6b701c08ea9172f0ca763ea3b5f4d82c64cccb5b65c055de28a55fc148788d7ad7f294467e6493a - -COUNT=33 -L = 2400 -KI = 2efbafdca9fecb46933b4589dd5fb744665810ef -IVlen = 160 -IV = 2ebf996facb97024cac5161a9054300ee858d6c2 -FixedInputDataByteLen = 51 -FixedInputData = cbcfa3b3a85a08c9cdf6e5796f304d1da8866078fdca5efd8738ea926d1ee0ec3c8f04e63e546e65fcdecd54fe65f64948c6ed -KO = 492f157b55aea5e231dad22b61df253941bce862da9987bf700b6dca0ebc67574cabb5bf8aa3e50f467186cd888127554000d6628dd49f13e1ff368d8cd75dfbeaa7eae529afe06949f7611a03203b59fa0ff9ee11e6c9b2fe37861b49111e1635ceb0ad60af6bfb118c3481883d5eb865fb02b12c03cbab5931580d33c5ab7568d0b1163ca429ee3e35bb47d3d6a827a1f89675b8e4f5313669840b0154fc5ebe5e4b507c649635e4260ca695bc36203b21b4665e9298ba9e33bd92f7abef2f3622b8343eccb69fcc94f7b22937221e9a64bddd01e013b0dfec3c2c3ab32b1c7747a1a0c88c1408107e7c152fa3279e78e32668db2b649877d401a5c93ff11b2d6cdff6908713de9c20b5509f4515c33a4ee2f6336ec8d5b7a7c34ba4765b93b18125c55c1d2b4940952715 - -COUNT=34 -L = 2400 -KI = 7925dcde6b3adb59c04c3087586e203ab032aed3 -IVlen = 160 -IV = 43cdf0949a8a109a2c5eabbf7aa5445963748716 -FixedInputDataByteLen = 51 -FixedInputData = 7ad2d145971003a7863d45e9d1e4eae6acd017026e9aa44f07bc6ec22c3254a405d204cf76a7a9298c5ab44f062fa74ad1caef -KO = 88d897da1f0ab466f35c36e9e7afe04a6e1c1ff79ab309b329490d2293f6cb439cfe1725d2213c650599fc7fdca552ab08e22d43edfa6347f910bd8ece61bcf9e032b58f606e0f45006aa52fde036b2fc42d786146552827a4cdb2174c5847cdbc9d4d03d4d3439e560fb7833e27ba09533e552a0f7f7e705b7164ed20da107b4c4b7fc20983d60845b6bbe196def81d86574b64df91bdb5c801a2376a2aeb2571c85e4d10faeb975a8899ace8deaa0cf840bf46f14ecd9b489f77597cdc6a174406cb7c05d3133b35188d9e78f9de8ae5378047268763377b689b9f77a3cb1aa94efb680a0de5937a1c7b9c9cee05cb9de9e30f4014886afc127bad07370c40a3cc10c975b73318aee5c4c937f7bb8522873901f5c5722d786b63babb0b1d6ab01b1e25b679384b110875d2 - -COUNT=35 -L = 2400 -KI = 5bc1271b35970a50a4923ea800b0be96ee3c710c -IVlen = 160 -IV = 30147b4c2e6a1bcb38ddeb72b7d48ab6e84ba981 -FixedInputDataByteLen = 51 -FixedInputData = 603d40d2853677f54e80b33996dc19b5a8526f482217c2c84d4d3e31c2c249d9f409fb061426e5b98d7fe068694e94307bc2e3 -KO = 324f612d3d7d163a60699a68dcd6d02b1a540c78d9b5ce6eba25c87536f9c2c77feec844921a9f6705af15c93136fd72cd2c4b208981745f9dad547bf5800ac99c334d2b3e589a95e5dd4e04cc8952c8e560d610944d56437c14fbe3175b55a392b93190030bdd826771755a2872dc3f9f80a42da71d845e9dbde32848fe2d3c68d195e9f677f328953dec08622e67f6c97755eebc329b3e7e7e021c1253f467cb7ce718aeb2bb01ad9d19a3551fcb1bf9c924f508bffa369378705b21915735ad0ecd37e269649a15271fee4ef1ca3b6f5dd72597adf50bee492add660b345fcdcd21e3fe52502accb87b567d7082f0b4db9166347dad81da398fc042c52ffc370a748cd49545596073444c4c381adf977f7057e61204d4b14ae67d38466be993c44c23610c2ca0bc245031 - -COUNT=36 -L = 2400 -KI = 95860a14f3f63f1fd6cf876b69558f696d1c713a -IVlen = 160 -IV = c1a1e17398e293902a4d27bf0883ad7c93f62e6a -FixedInputDataByteLen = 51 -FixedInputData = 365843826a0c0da7f4313f006835cc0f3c85ff6012a6841db9bcc22cb1d25c8a6096b83d660be117a325d06176bd9e8a1d4e8b -KO = 5781a96d8ab42ecfaa91ff134c1fbfd65773409db38e09d19c3409d11c5a5c9677a02caedb33caa30bf65155b5939ec03cb25b17df264b52a68843fba46bf16fe4b045299d437a4bb93de2aa74f7bc34dee39367ea68e057ceb792e37a0dfaa9c4ad0c15aff375a547febd08165a9d29e5e9a6ae1e41681350713a4339baf40d4caca78697310482fe357a0cd42b97e1824e1e2711994c2579a09e4cfca24ed2d9eb840d00ed19dd568bc7ffb425b37ac7b4fd2551db97184ca81037b9ab9a12ec425c89a44f226892b909156e8ea8ccefd0136eeb6672a99b4bddaa8721785cf4bcc26a0ce4571e88d18cc76b905b1db2e2ba8dd8dfa563f1ace820909acf2f1f9b4d0aa395220e5a5ed249c136053729fc30fbcfff9658451c83544c307db57c1f97188884da5018dafa98 - -COUNT=37 -L = 2400 -KI = be7a2b4ae0c639390624c56564fc62e0f642c8f4 -IVlen = 160 -IV = 828a3b90cab9ccc3aa2fc36845755b37af76740c -FixedInputDataByteLen = 51 -FixedInputData = 69b8855a7c3fc8a069c6402e99d76767e5f292d4e66ca279a778fc1fa85be5943f001ea3ecea1b9f0c0fc8830a37eaa55891b2 -KO = 065462ab91f58b65c61cdce07019956dbd4758cc5c17c9c64d81f3c3ead82b0c162065a698b46e329fc93250e72df828a70713e15a359f7a1b67eb5af74c5bb6a5adef3b89baa8e5d0ccea2b69a3b9ae310f0a38947168f5daa0e2a40be8cf625d2c0cee5a5d180fd3309d056655f0c981470503164bc8a779eafa9b809ce62b9df341619b70863fd817787fa12e0f397fb493d91718bd6cda2a4b4e4b93fb3197710a42be8b90f2d4a1eb8b7d24aa26dea56f6caec43559afc6ad28fd010059c9b18d5061215481fea44a95121be736d669d733d49b8714dfd3a6dc3f68130b6762c7909915aab7dc962817e3398adb89d9452f1459c925f9534da1f0d67c67d8d9f4f102c5d4aa2e7e2f0de278c0c759fb461a31f67141812444905ed8c91b738dfdf32f9e4aae61c32e7b - -COUNT=38 -L = 2400 -KI = 6af8037b17e6ad66e859c515577afc5ffc31f080 -IVlen = 160 -IV = f364616eb9b296e44f4d0fa61d98a1d0c490ee0f -FixedInputDataByteLen = 51 -FixedInputData = 08f83cfaf077c58fab2bb41ffa5df91ffbed2ed0459dc16973cc1d40e71a457d4c539ba9eac2dc19403707b4b158fa8f9e8a61 -KO = fa9fa3e23c2f043d295549fc50406e1045b465ebff93467ad86995f89d15fa28b7ef70c9ebba0aeb91fc2dba306d3c396368aae61f844c5de2a38f028b334c6b3769d43577c5fd91d83011fa20c21f7521849c2451eb361c0c4defd100a3fe0dede9b936e9f02692ec4d5459e2daae23a0439137ffd93a3d257594e5b5cfddabf24be711c184058344a2cd9b2bab6905ac781999930736764ced997925980966cf1abc06ebcaf67eea1603736a7342c5c67d879037bc7266931d91bf2076907895577aac5d98b659e2fa97005f0cb0aedafe32f97311c498f6e7a130a6befc654b972cec3213918a1aae8d5f8ea4fe00693d0c4e64c4d3cf151fe748f501254c35a21df8a420d001e50146bb64738ca7deb796394b18fe310eae706967a0d036fd8d60ae7db759c171616515 - -COUNT=39 -L = 2400 -KI = 3159c07ab4a8233e57d629fd431046b75f4ace36 -IVlen = 160 -IV = d466203d5041e61f09a15b6f5fbeff88fe4435c5 -FixedInputDataByteLen = 51 -FixedInputData = 9728436cbd75240e3c147834af03cc92cd7d8d7a35d0e31f0b1ecf43323da922a4568d88e1b88f5d2dc47d76e4f8922d571db7 -KO = 5cf250aea5fd03b680191a1a5c4c42e199a88e880dca3383716d44fd72af01e29dd9f1ab485038c1c5a375e13c737c9fddf7f66acd4a57f212f89015d1c4e2c074d2df957acdab78a6722373c8f4c91c653a5834101dac7ec3b3e8d944e36ad5813f2887c9293f0565bc43fec552fa4b8372ac485bcc3615572ac24ae76a163b292901d475c841a2466bc54a296b7850b8ffb0b38b8b8424d73bd875bfa334168129876668eb5795d6b02205035ffd8ebf097f8ac63ffd877099b1af7cc2c3fa435e7539b42dca92f321bcefdd0d479135d8055ae7d3e416864cc203dd502093c3a3b019614102a610ca1ef306e0cbba5d98e2e8d905fa698ad6e3e2fb26e0068eb8f8a95bf08530c7b0dd31c2d8a3394d4da6c389b00406a80fe03104e1229df62c947755e411d8b371c3b9 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = bf8f4b6d6047a64d9c58ddb6e5f1ed8f907432b5 -IVlen = 160 -IV = 6fd71b1d245837437d6e53867762b5b3de6cc02c -FixedInputDataByteLen = 51 -FixedInputData = 17663c35818537b833d8a018f571881bd85d25e1a645ac1e1b40e4d45b6d4cb6e30f66be5aecba3ed76c82c2130eb9a7d8ae94 -KO = c0ef5429625994e2248517837db33b646ac76f903da595445f70e2f2e43f602f2e9679b78d943067f7197dc309f52ebac0ce1ff903a13a86da6409f9c2295b6b - -COUNT=1 -L = 512 -KI = 28218acc9aae56fdae2f325bc6d263291e631776 -IVlen = 160 -IV = 08b23357d44226f38ead031c9275f76e82046eba -FixedInputDataByteLen = 51 -FixedInputData = 48cd94b8adfcd63e92ba5fc401b821c952915de8e730659fcf0519edbc26f06c87d922463f5b27dd814da472e3b000d14be7fb -KO = 62682628fbcf66d8ac94080d2ae82a8c2fb159cd51f04e3439375203cd9565be6960578ecd6ff83a95dda5e9005086dc2824faf89a725fa79271957f0444b857 - -COUNT=2 -L = 512 -KI = 9d54be10053ff7dd6971f18d65063991339e9305 -IVlen = 160 -IV = 5996699ac6c3d6ffb4b2264e0c90dd82a9f96987 -FixedInputDataByteLen = 51 -FixedInputData = 2160f6e56e9e26043b4a25304134df0d447323d3374d0e80da1975374f293d232703d579b3e679bfc1c0146070172d9113babe -KO = 179fb419b9dad4c44991bc37ca7c477714372df31da9264c11b4570de96f35e009052a679eaf8b0297c4c3350098c7624dd4bdb0af6e63698e04423ccb12f7d1 - -COUNT=3 -L = 512 -KI = 2857261a84f106d978582b6359020a3f0a328f7e -IVlen = 160 -IV = 7e79ec628ba49f1a7e18fa76ec22f5d8450fe947 -FixedInputDataByteLen = 51 -FixedInputData = 18a7476659b88023a8c1352772ffd536cfae85ab9c841daf4e37c82affa0fb899047a454c3225040eb78041cf9bc1870265204 -KO = d58a4b4dc20d71756ccf75dd039c4ce5b83084081138448960d1f0d9afb407f716dfc4a404b97c7ddca8642a7649eece133fd58a09915f276542cad09cf761ad - -COUNT=4 -L = 512 -KI = 8341546f036c01a77a855e1a44607cf8f44a63fe -IVlen = 160 -IV = 41c2e2464c98d8569a5e8332c88096a4a22731be -FixedInputDataByteLen = 51 -FixedInputData = 0a7b403cdcb5e959cb16ae19068a3e0efd07b708c54114b009fb8266b72377200968c9978acc60a64f22a13fc78faa46e82bdb -KO = 04a368ab306ceff7db0e26616948d3db0218510641078455511c7613905a88b89013a50320a656123ebaff90739a4759bdbdb472dcff9ac78f4809e49bec16e7 - -COUNT=5 -L = 512 -KI = 560aed8f1aa94021fd4e9e0ad55ca070b132e536 -IVlen = 160 -IV = efff327597404eaa31fe82e68d62b753fd465415 -FixedInputDataByteLen = 51 -FixedInputData = 36a4236c52130901beffdf006495644d182cab4e0e4b7a33baf9837db64acc6527d4fac9ad68bae0b6e15da27c49aced45b0c3 -KO = 56f26396c1bcd63007ab228b346283ccb7f0823043cdce306e3c10e2105762fa2fb007aa76d361497b3b0121c8ed57af18db73ef95fac5e4e6efb9d09e48c17f - -COUNT=6 -L = 512 -KI = 85414b9ee8dadc848d48733bf943b26455f6999e -IVlen = 160 -IV = 669783415cd779e84b5553047a50a6c4a507aa5c -FixedInputDataByteLen = 51 -FixedInputData = 617898b62780beee5e248d276dddfa9a13f0bcadea305d876a97464035ee98c295f324abefff5b07df0ef93d15bdfe94b8871c -KO = 0494aa3e6c605807e9bfbd5d316f6d61be14cb6f15441426322021fa156139aa3cd83ffb224b3126c9ea3cccf02115e716b8b913b152e2c5792e12c9047c0241 - -COUNT=7 -L = 512 -KI = 9a01470fc0aa114a6b3dc92ebc8bdf3d48fdbf6a -IVlen = 160 -IV = 314c63ead421a4aad90a490a9bd2eb1388ea8294 -FixedInputDataByteLen = 51 -FixedInputData = db684ed76cf7ae5537553dbbf922c89b3020579f4e0c9dca9f2db3e9e0f4516c0022b1673d7bce96cbe419e8d081d72622b119 -KO = c4b2126a66970916118f544bc464efce91999609fd6ed29494b491dae8260920421c7a2741ba33ebaad66bcbf657f3488638ed863a40dee3772fb66bdd477f93 - -COUNT=8 -L = 512 -KI = 54c2d0b5a3d4ce5f26cbea06ec04b3aa8a09f83d -IVlen = 160 -IV = a3d5b5017fd2a270d26298ebb0d2b794eb3f7fbe -FixedInputDataByteLen = 51 -FixedInputData = e83db58428732c5689c5b803c379415cf0714ec65ebbcf899668c579dad18c93634c0e32454c91397a701af0592425b9dd6c3a -KO = d31774be79abc115817adedf77a9163e779aa04faa325f05be46b52058bbd7f20634e20efdacd842f9aef83ea33fbd5ef9020552c16a6be0d9cd5d57609047f5 - -COUNT=9 -L = 512 -KI = 91b3c2ca5b6b1d158b3d24df1208e1add349af4b -IVlen = 160 -IV = f03b9a58bc6141b35c970ae02a5ceb2b1c222330 -FixedInputDataByteLen = 51 -FixedInputData = 5daa7604644c147394979c0e6ad8110cdb82bd864d6430b3f542fabf136ed3c430018fe60718ee6fbdf54001d06f939ce982d5 -KO = 0e10b6d8cead9eb7f4eea920f8d116fb436792e097ef488daf84bc9fe08bcce4bb288ded35db6aebd17b732e463703b40aaa338c58bcca5f46667db479a08578 - -COUNT=10 -L = 2048 -KI = 378a6b39a7c5a1f86c2f6bb0b1446c5de798d535 -IVlen = 160 -IV = 5b9730c10ecd93d1cd1a555f9af70dd3f7370aa6 -FixedInputDataByteLen = 51 -FixedInputData = 064533b429244706df0dc599265dc5a43dfc18591f59c0d176671f3e9b970ff604aeea0a62421c7120e23748bb835b439a472f -KO = 1102dd86869870c2a7989484c8666cf13226c3006e1062fc194fc6b5193269b923cb85e1ec5e6adc58cb0f059d4f46a09b8b16d4958cf33fbacf0e51cc18e381e05baa64572f565932d179546628dcb889638aab157b78b81bad0dbc4a49d186c221bba9ed9b5807d546530227f5b50acbc2714537e29716ab0b1f10d86aeefe3627b1660b5401879f6024b5f1a188a9ea0b864696ba58d8c0c001641f049f8ebc93b99e4f08d3d2db82b8598d81b0805ec779d12e748a87cbe5f0ad7ab9b6e0e144b4f4bcbbcaa70dde841f11a753d252dd4cb80ff32a4b7174753a1e81762116fa693f3e54aada7d34c761ce9a568a48bece5319a1aa15625afefcd0030f9d - -COUNT=11 -L = 2048 -KI = dcf1673dbcd887be12e0a42ca1bc0fc4935769f7 -IVlen = 160 -IV = af16bf7852bfcb9564f13b56174f98b1d8bcb0e4 -FixedInputDataByteLen = 51 -FixedInputData = 78446db3e717b032120dd3bae098666212ea05b3fd4bbf04fa0d1f4f893dbb9cd2f7f47bc70ce1875db697aec27f4a97060dc3 -KO = 7fa0482cee9bdb2bfd6289541acf3560e555c418d69a318ec58c3a1d3aadf793927ce1df2ee62ba67738f9ee51ef7fa2d47aa9e9f21ec8307365ab85bc71d6eae0ea33b9912c50b1aa402dee01a919074c14b4af2626adf6dc5516b452d1687b93a32dc7bca439ebd1547144ac69a3873e708ab73c728aa8847d6c03e8e82c77d6d652a2e2c3b2f3225887757d7522bf5a491fe765c8432b96d650227675ee62547431330cb20f7a457be5218413b6b28a08919d405a8159e5a43fb7591afd78541b14edb681bb7fc4350659c075482647ff937220d8aae17c25fcc88e60c98f21115000f7d372c0ce9bb9493c5fde938ed622993493148c17482ded548f88a5 - -COUNT=12 -L = 2048 -KI = b8e636cef1ae13edd3523fa858e98be1ae348299 -IVlen = 160 -IV = 4f5c10827fb8c5aab743efa1d5fc0a7e08fc5fe4 -FixedInputDataByteLen = 51 -FixedInputData = 0f5316df255a42daacff0137906405d9d535da87f95317b034bde233d7fb517ecf376ea2b740f1e91bf793d24dc3161816943c -KO = 7509a4ceb02fe3d6ffface6b5fec69182be897ce1f2588a31a359aa2ea7d4f62f51714caba91a2e5625c9d91f38b11791405cbd3f9295b4f44dbb995394c2e70ac545abae821355cc7c93726c436031a04f4450b3b981cd5bcebedf87ea238e19a71cafbb9c49a7e757cfff5dbd20e0a04412652c01b6c9ba8ce57fb3fe0d7b0c98af8507701cfa9a02fc2faa0fa4f5eb4b979090c310849a9e888df2bfb6b82ef3523577f8b2534cf608b160bce179e90cc11266f7ccf858b3b5470187e17af2cc02927b240d1c1de5f12e40df8df39da6e898bcf908d91eea77feaaea64e89026241e8e8bbb62c2c450cd47530a6cf6e8d18842dafda4d7aefe6f61e14b763 - -COUNT=13 -L = 2048 -KI = 6824aa7c13f0c62cac063312346eec2c36cb4594 -IVlen = 160 -IV = b8b65faf967683971a318a4d374252fd7c7ed09f -FixedInputDataByteLen = 51 -FixedInputData = ace357e00bfccb8e7b400aa11e703d1ed31e2e9d8bd03eb1ecbaee5484dc6f18e37de94d3bb180af215365cc80b92d5691d931 -KO = 0ab1fbb425e5f9231ebf23644700a883b7a4fd53732f04473e39c423242432b8db6262923973730391d50b957d8476c2f0ae2ef7954ca24a611528b659fb47599de44e181c01550b39fd88713006c51b26cfb5ba662d4aa2170bde2d811c0050b1425848018055ba0d86a7026e4823c07679165e3e74ee84f95ffed62cb576ef8dd62dbfd3da466c6b7acdbec738ec166c6fa29d03c2b5c1984342f33967bfbd82224cd2c2d3f3521f19a21b887eabe4df85e75434e6cea383c75ee26b7b5bc7b67fd6e0fb9db5442f1f419ecdde03a0625139302866736482a594a4bccd4ecf80f89632548756a25d9fc4947201f2adb2a3f3ce56b9875200d42309f483af80 - -COUNT=14 -L = 2048 -KI = 42e8d3bf29794f743131da2bebfa56352bb3356f -IVlen = 160 -IV = 6e3a5b9ea6f0392eaed590bd54ae4b43cb02b62e -FixedInputDataByteLen = 51 -FixedInputData = e4cb80f9a58e57e5ad5a20c9e42c017d85d354479971efcb2e16c19cb182051275177a69dca91dd5415445e18071d3bb215e2a -KO = 332050131e559bc3b999863441508ef0ce98f5dfd23cff35dd5dc00eeef448b84799cf6a547428b3e7b251e2717a1763002bc87e3b7902e357428bf5f51c225204ef148057d2b5bdc89931b6bfc322f85eed70e23d84f767d81b7fe88c96f1005391d473dbb148fec5107cf8d67010b6a3712e7ff2879e0c4ca8c8393ef058fd939a57c3d130a4663937633236cab7dff0ac0bbc4141d03de9c6b944310f9c0bb88cb3b383141eaab1cb523d1f760addde3d0c35909185f7ed1a8a3f033912df18c5c93463664affa49d818dd932bb8c87da6c68fbb5721658d4c7de78b5da14d5cfd45273105ff19be0159d605183dff19d36012fe2ebd76a89cdd7f1446dbb - -COUNT=15 -L = 2048 -KI = b385a9e4c979bfdbccb2060207b82c27e6c47697 -IVlen = 160 -IV = ab56b446494e295d1a1f86ee441562173bee5fd2 -FixedInputDataByteLen = 51 -FixedInputData = d3cffcff8e4650a94d9aeb97e974833d5d4baa19b61d773105ae7f2494bd1154096cad9d6ebf7bfae10cb45c7407127ed19b59 -KO = 0c7235073bc99a70b08e6526f3b9735615731c08d94f970b1cd0197131a6f06c9f77e40607eaed327c440f6600667b4b3736a3c6ae1bf92670350232db109053e001d0d9b65a6c325cae13d63c9792a434f6ba47cad45d58177cc6c39e659ecd5403952c2afc25bb4807ffff1d7d60ac3d2aa303936dfd9d7ae8d46c6b7e4ca8c06a823b3a10ca40e24600571ff2de738af5c7be90c0b9630f736eb77504c43d519cde849b8a3d601e7f1321f743fbedddeb4a9b7e60d564464e8f6b403d4f797941addc15cdfbcc714f652fe0efe06c6de1ba9da41e28088799d99a366256e3aa18828c3c8628fb178a9d7f99c92b35cab3c277ba1593189480738fd6d47eca - -COUNT=16 -L = 2048 -KI = c2bcbb5c19fb4a2046c0da3226646ee170e03e8c -IVlen = 160 -IV = aed9dd116a681620021bd2d4519aac59cb0a98c4 -FixedInputDataByteLen = 51 -FixedInputData = 17cbfa2fcd67eed20536f981a292fc2d937d9084033ff1196ec671c65067ebc512b1d0ad39dcb928ab9ef3fbb45035c17ceb4a -KO = 89d74269919ad87bf84b99b3c8f92d9c67ebbc6b5b6a903f486631b69ea587c3f73fd874ce01d80861227f191e733175bf6b296f557dd2816e8c98f080a528a4048d7072dc5c545ca91fdba4316bf5755c9a3801aa4da218c8f1656476ca18e7f65b8370c37dd633849c86ead912256f87c6ca52678531f6682933e12086584635598cd6b5849790b622e50b138d7532b2d0f8b80e8821ff209503c39344d43957b578dd8234ffa2b0963a078cd35aed80f76be9a17e4b5a0d0206bdd74ee64cc9109263ce49ea2ce1dbf5fdaa55234e68802720b50ce715f945c861064ed96988acb3d0ebe1545836ed78978683c67e0935ab285339eb1cf783ece94869dfdb - -COUNT=17 -L = 2048 -KI = 1fe9da1926d325d4c276879fc16624219bea79b5 -IVlen = 160 -IV = 1aa264a0cecbab8dd8225e09caf2668b1e28e413 -FixedInputDataByteLen = 51 -FixedInputData = 14c0880280a12b3db900775f8a88b7814ade7672330515274ea4b444d9b60482d4d2f9c0f2b32b839a2090ac678f9ffd7c1c81 -KO = df7c0079488adcdfd3546439435e48a9137d56d44a6a5d4c47a97071ef193deb208aa0f800ba0e4ee7e174638f00df4ba5e622953dfb228b5fb2cecdac48adafb71dc932b17ec87fcd086fc735877975821abc84ba3112fbf00b160a378480f2c91d3d99d1c7aac91ffd2ac9f7cd698c4a5c5f8521b06dd401fb87f8798e32e904f551843e0de9565045f34c0b142bebc47d5a72646a44b15a3f5a6c1df75de5c43654105bf02c09abaebfd01aa4d50d07b6c5cd9f57fce71402cef6b9ef914fad0e85a9ebfc5495ad8ad0041e6c4b5003a6573f345b6d7ba675d64aff3c5473dfc4e3eadfd9e947b9d28b07c7a9dd1e814b320dfcc78e1ddae4525583e568dd - -COUNT=18 -L = 2048 -KI = 4baa9dd95e7662c3f11a2086fcb79a910439f57a -IVlen = 160 -IV = 21b37dbe029f02a859539520ded78a4d38545d6e -FixedInputDataByteLen = 51 -FixedInputData = 754eaabe3a28dd21e26d33446134add171c9ef5aeae40f0c2cee304f38ff69b7f0647f52f2838428dc8567298f2368c7e32193 -KO = 1e242b76242c28bf54d4b1db62bbc38f6bc3143a621601ba2f27ade391d5c953a4625dc44d506cb4f120fd923c5eb0327d8ee2576b377ec61e9c31eec57cbd95a751b1ed2226c3a239fd4191f5d1656ecda45c633b67ebd6532ae8710f8a7ddfd071628d3fd66d5970da4d88a6cf2a93a9b74f74c60a3e7a8ff5035dcb9805f44e12cd725d1430bac20e1107573a3a8aed025de1831d01faebb4225a5854eceb771affb6d757721568669f6bfa72cef0d4ee841a8cd65d9ef2353d8359df48f90e17f6f7f6e4459e167efa1a416d31b0b78760d9fd624d03e3c17bb74eb9108e77682b0efd2d29b4af5c69aab0dfcc989c2a7f5be52734efd6db9366f6c1d9e0 - -COUNT=19 -L = 2048 -KI = a901bc024079a7ca97bdfb7ecef761a42d7fd2b4 -IVlen = 160 -IV = d7a6ea806da83d17cc84665a59dba74684079362 -FixedInputDataByteLen = 51 -FixedInputData = 451189a99e98def182349d7808a71b09201498b7922d48c0b13464359e5598b331d58f4850c285e7f1eb939c773df7aaf20f19 -KO = f79e3695bc24ecd835fa76e8416517bdc1ab82a0954cb2c0eebf3705e00c1c5b7f8815981e1cb56eb9d37f282c9203a546bf489717e2a2bce1eb2319e1fa71c06d052334a60baf93efe15fb2396d96fa3e42db29f54f12e06c2ce59cd72c81ac8fb3de1e50f018f440802e27361adeac76e459c12886c0a7c277dc8bd543995aed8acb838b40340b30e5df99a0e1615c0a0a03d3739cf3f8dea7f25e1b8d8c086b9b0b09577440becf7d820f52d91cdf1d6095764377cd642652e1dee023ad8b446aeb358d44381719da29add4cd7f92ffe3d6a01655c33fe3bc9abdb59843346d714e3755fa5a9050551733e0c89817c276e2568e1a5770f0c23891b0a1c65c - -COUNT=20 -L = 560 -KI = 9fdda66146e9667024108e34c1764245e20ad13e -IVlen = 160 -IV = 7c45bbbea007ad0ce5c2e1cf0e2e9f5eb9dfb38a -FixedInputDataByteLen = 51 -FixedInputData = 2f06a925cb9b99f12255316abb2928c672a7efec5e14e22972d979983ed4e361cf02c1850e91e75069f09586ace9e180f30a6d -KO = 14de1defc0f66e2cbe016c4d87633156e5ff65ce3c0817a389a8c3678c93c8b9d9f3ef8216cd542d44590044ad85f71342b8aebfb8294849a1574f3ad5edec07e16c77272a3d - -COUNT=21 -L = 560 -KI = 963bf97bd5007dcdaed4bc04cd4e760b14aa91d1 -IVlen = 160 -IV = d7fd10e219bc2dbce2a54dc1d1cc31fdfea5db6f -FixedInputDataByteLen = 51 -FixedInputData = 62d8e5d91d4f7e5621bf1afba6e9e66c9ca9315e27721a6c29925f169b92f6301d5baabf5994d434cfbdb523b81bc928c93941 -KO = bc40a69f3d93b3c3cb4169f85139b7346b6ba1702fc5702eb510ae2a80957f115259b58b51ac5c34fdb275ceae6546fa8abcb531ee98a9208859e1f2721a7fb1ee3a1f3d7d18 - -COUNT=22 -L = 560 -KI = 2910989be754bd6a1d8802fcdee0608ac533db1c -IVlen = 160 -IV = 7ac488153d1c25b0c8c2aa59b8acda47d8a73f6a -FixedInputDataByteLen = 51 -FixedInputData = 8301d378c5ab7b2aabaf81bcef23bc5f5304743caa1b7d02a23d3aefa51aaeb581b664f848525bb997551260f8b1e06e0a1672 -KO = 45258ec4fe809715ab6a6ec478d769c9b1142195740656e35809920bfc053e1aa73e295c02534453e48bc040f857ac0a6d197a2c6c64fdc64f00beb04ddd5d160a184d48a822 - -COUNT=23 -L = 560 -KI = d5794c2fec393925c6147ad24eb48f1133f5379f -IVlen = 160 -IV = b46dabeefb34845442f008453818e7c802fa56f5 -FixedInputDataByteLen = 51 -FixedInputData = a32456f3c3c149d3fbaa4af4dac92ab80004dfd33f8592aa0d314574eadd77fe61ebb7c21826107d4d8b8362c6464e3938f212 -KO = b89c4ec03ad4a98cdd96e0437aee80fb7369ecf6c13619b18c81631b4278f2b3ed06e54cd80c927708ccc65e53355a153d9e675157b29000d9da96f44b6fa3b9a8a6169e9318 - -COUNT=24 -L = 560 -KI = d0a92c81ed43518b1619a1c1105f4acb22d5da8a -IVlen = 160 -IV = 94a50045a403b05159356717229f41297022473b -FixedInputDataByteLen = 51 -FixedInputData = 867647a356fa24ac91f0a76026a04f3ff3433b1236943cdd02de318c6d38a3923e372279d279eae3235d76670a078f9067f3fb -KO = 3a42d5e228d69a64962193b5ceb6b35adf5e35c4808c4ad1f93f3e2647f2714c4c268f6d692f4d92bfd4aea27e9c3bd4308760950c3c157a9b6dad009e5267956379521edb06 - -COUNT=25 -L = 560 -KI = a27ba88457020d3a60beeeac28e3bafcc4de5f79 -IVlen = 160 -IV = 1d52b6a86f57431e897912cef87b387b28897db9 -FixedInputDataByteLen = 51 -FixedInputData = 504e4460e0cf62a0f9de3e7437848a121210c69e4f1c7e3964ad801979ad35366c53a1264a04e34899915a63ce4f6aeeb256e6 -KO = 0d9e7c35ba5f701f53169f828c1966ddf2112fd41740f80aa11423b513293a887afb325e582351be62b29267e6765a47e210965433f179e1991d1406f3a5466de2553cdc0281 - -COUNT=26 -L = 560 -KI = bac3a30e367033782d8249f21cd54771d77aa299 -IVlen = 160 -IV = 149410af5a3ba22390e37ad7b71666f6ca47615a -FixedInputDataByteLen = 51 -FixedInputData = 54a87c34893158df027b76df4c0b1f816ca8338b9211a913bb5c627e405a6d9355d32a3a01a53c5bda93b391c39150bd9deaee -KO = e8e76a4499ebc67ec8538191a9edacbe3dea04157a29029f25ef5f4bd385b172712a53aeac9babf81ea3285cde85f52e44e49092e5e8b790631358c2a391c4df433e2383618f - -COUNT=27 -L = 560 -KI = fc677f464547cb9edde78698ab702bd60c202a91 -IVlen = 160 -IV = 7d29dcb06c8cdb7bf62c2bafd629b5d6e8a19af9 -FixedInputDataByteLen = 51 -FixedInputData = 8d791a7f9a3aff0ef6538e2f21c96cbef8387b9b68d459b9fd9063d4e0803e33ce51e6ffa48581470fe77209e1c1c1ccd728bf -KO = b1a6e1497bf8c33431de399eda4750c045ca87f3f8e39490f6bd18648076d6021fa7a80aa39d894301482c959f2e3517a3e2346a50195909ad202c03248bcb52ac727cd10932 - -COUNT=28 -L = 560 -KI = a7e167dcf147b03db97e864773433bee2b945646 -IVlen = 160 -IV = 3b491aa6dbe1161f5ae9dde95daf6b6f7e6459f1 -FixedInputDataByteLen = 51 -FixedInputData = 505960dcb2701d5dcb4fb969d1aafc5247efd640479ece70d90625f12834a5ee6cc1e3325a55da448e104d6a8ca3101ee07ba4 -KO = ac9af988d63312d3ac4c9ffa9adac94f32ac43e4ccf6d70fe326d621f5a2e005d5d76e45be4e8e621d2751e2a20400fadf13130cb62486629ab515779ba05814c6431b76fd15 - -COUNT=29 -L = 560 -KI = cf8dcc3df760b4a595e9eeacc48c8e2d1dcf7fed -IVlen = 160 -IV = 828d2faa4f9cb67b843dca4f4d43beecef5428c8 -FixedInputDataByteLen = 51 -FixedInputData = ed2c8954a2bce9029d76ed93192e9c10c1a130c7807b1ca8d627113a5c89060cd658e45544de7b2e4da02c5d376636b4247202 -KO = 1346df1e03087d69d9ff072671f3d97eca2933f2fe4661e350e9635d2aacb49b4d02392acd68882ca7e1964e952bf77f2116686b3968c578ffde5b3362d7f2881aaff711f343 - -COUNT=30 -L = 2400 -KI = 7977ff5bdd785ca07313ab7459ab9d84aed725aa -IVlen = 160 -IV = 68086c48f276e1e77bb72677212511e521160abd -FixedInputDataByteLen = 51 -FixedInputData = 0b36f3f301a19b77f82e5494d712d05d736e3c3c3ea149b236e07e67841f51b731d3ca94a2c484859129ade0fc555d0e3072a6 -KO = acf2272040a4ee5c440edfcfb12499398190173a251ca9560ffe21f162bb4d0d62d8ca6a5a7994f7dd3de7d4394c2a48c5781909268fadf966d796546feb71c2d69bc5ea37f1f4f1724ff1334a36c87ca0abb88934090eeff8f2d622a69c5d3105f87fe9077bec4598a597afaddc4c2a81833b54e15e413d8a53d8558023f5e7e2837494d64339a5a5a60eeafbd056246e17f90fa6245a3cc3a1a9942a95c1489bf7579b5369f7f0c2fcde8d8e184400ef8a82a52d49fda1f149048002b59ec790b91601348f3a12c352bdf7ef16ad7c2467b270349a0bfb2b1d8d94ac1a43dd5f7abfd520e70232e3f9738e2af156b3fa4caae08b262355c21ae24a5e2c771ef76cd285d9d2ffa87663270c268b1c43925e49d81dd167caafb82b204f38447402c09a97a61eb2c121c0c6e7 - -COUNT=31 -L = 2400 -KI = 78a1cb405aa329422313e11941b217e342fcac6e -IVlen = 160 -IV = 4ea9e49c3b2b86785070677743f12a2a42bf9090 -FixedInputDataByteLen = 51 -FixedInputData = 4f8f90938c15975d167c2c5ef9a6e9f7a51f045276037a5fbc4a5871bfb032c52d3671d7ad303658e8261e10913b90fbebeb97 -KO = bf9424d8ca34ac9db060d15b90241081ffee5740f8483fc1933f50e5172002ceb0c1659839d918995cb2e58cc10c34bb0291f7e21fcd80122896a40ab9aabe44973f9657a6c8e07e8d5c3ca8fe742feea233861cb468f6d9eeffcd60c1b39a699c38b569f55f59c01c0cbcb813ee28fc02bf5b65752c87b43b0867cdd04605e6d1980b61cda952be412edc6ed738c5c04ab8cf18c6f0be73d98797897580d05fba86820a598183934e01ab1a24f4461e44659b1b4e6faaeb8ed48549a1b7b68f00c27e01a6364fc00d200fc588cbcbbab19a689f3a8ffd6e3c5bf522ffc778af47552af5a1641c4b1b1707b1f49affe4752c98177fc9703929717d25661b225154de628e79928aa92bb2bf501a369ce6857db8ae8b8f547c5bbac490a1cca05a5d70b65792878a07c25a4f7a - -COUNT=32 -L = 2400 -KI = c424bdea8460a30b377e00c1ebe9b87014769f84 -IVlen = 160 -IV = 1908a349a6f5d732431d7eadf29f7d4aa8b36dae -FixedInputDataByteLen = 51 -FixedInputData = d55a4328c8f82611981268e227718305e4776313eed5bf6b6263774e7253d295a8bb4fa47381f94ff19b786167f105cff91417 -KO = 35537af26d1aeb4029042094abbf43e13630434f93e2e6cd050720848b38beeb167475519103be94513d34fae79a9bd70b2a82afda164a162e2e749edaf77c0a42b0d6d893a5013b7303af4f9ef52994a10ff556381c0cc2ba60c4bf8d53a28c07d0e3846b7de1dbd2cf753d13586e4e7db57c85584dbb9773b4523da0e9c55f151c5335c42727e7397c9fb9aa7b4ceb5e411de8216609cc682669095848a9caadb694ad2335744db7a16d0f9c376297528db2489aab5be8c5bac04a7216e4616dba19ca67d3b3de273b1e49a74c2a2aa484a077289597d773cfd8ef7b8d359b573d8a33e1503c9b188694dc99c9d46b45103d74d127143d0cfba31ab3917f35b42be4d681a8ec5df72b3a215499b67bb0ddb6f1d7fb4d49b06dbad6ae055359fdaf417fa33e3d64f29fa163 - -COUNT=33 -L = 2400 -KI = 26d967a880138c5eb51b98d8d0af94bd47690c50 -IVlen = 160 -IV = c79d217f98aae493c06b3af18577c0f220bfcb9f -FixedInputDataByteLen = 51 -FixedInputData = 27b4240de1c88d29428bcfeeaa09d6f18c718af5adfde5db57f15c3bf8dd051999f342a690c845b23e0eb9f4110a3027e564a6 -KO = 71ec9e40b483e89809d382dc0e0830ca763bb5c0923209701da50cc009d1f42c302c85948a73008edb2d9bd6ad037b96b184f010feab602a86f8d2d1d775c534f197c47ea682b7b8d22a67154fc4043976aca0d6493650bc384234190c085f321b7cdc8b45bc67868f2bdd56480d48213f3e2e4b0355cbc81c9bf589602d984666aa97879fb15bf5fd7e5b217ce28aaf5dbdd67014b156a9d27e8dd14c6fd17d05fb82c93405659dc7f3ec7c9fe43d73e8930e12a20c5b70c493a215f64b9f2de2c8bc70eeeb15064faaa914af6b8cd355eacdcdafa2a34c23447c0014e3cd8e33da648b23d55788a1c8b56d0c7d39f0ceecc44fc080b3b3483e8f5dda4f0c7c557c79f00a99df63b7e58f01d41a2afcc4777efca96c701c6e6530bcf0f34161e8a7c0275f3dc224b2b27de1 - -COUNT=34 -L = 2400 -KI = b03e99393148c386e0d151b944dc6e8e0130600c -IVlen = 160 -IV = b6ed65ee67361326bdebdfeadbb53f13a6179a31 -FixedInputDataByteLen = 51 -FixedInputData = 9dc2cba1df9a2f483014be8f53d28e32a7fb119d7eb93fb6ce62ca1540abfd31151bb5204549abd15c2aac9b5eff1e95668f23 -KO = 6e866fe2cd39955b7d6efe0272b53cb3fdd3a3e26cf096aee7bbebbad54801be770291018ba8848435b71cf9389b738c5790bb99e07220ba3bf0ad051942ebd724c9cb8e5b53a57ba4315b8dcbe827d946615609af6b632ee6dd9c9257bb9320b26d77ca964cdf4eaaee9fa64efb2f4044bc247d68ee2dca530590f409eb4c6beac6a4b9913dc353196766b3b38846f71765ddccf87130d8a4b3d8076f34956334b8cd5d2e8b09a4ee857c0b25c3b1c98008076c635195a58c955cc85c0f549fe9e0905219c1da1e5bd69d216267f5cc39dbe9f9f1491594b91154c16c805d239fcfe1b68464f198179133c568a61d70c99bb50f47a612dbbdb318860e7b39c4b09e7c94c3d489b147823e51f995b030a1d8e9dcdf92e8b555ea3a86352fda43fa632482089eb61310a58d85 - -COUNT=35 -L = 2400 -KI = 37e3c5fa5580d7c91b2dff671ede65a26329014b -IVlen = 160 -IV = a826a702fe91374b0b47d38da5de3fd6047483f0 -FixedInputDataByteLen = 51 -FixedInputData = e25b5956d8c279f34a157211ded8bd71d1b3863bcccd11cf9f2384416ac67b69dcace122c5b6268d7ce95115744524a6341f66 -KO = c28a060a95496fc59272c318b9dd6f5623ab2eba02028b6b51f023404b18c0a5b556544fe3ea12d811213d0772a43a81e863bb779665631bc9b892e438134550aa8adb990544f642900caa50338614fc2ed0d9ed3852319f96f9157e2ca270f52cc46b732cc4584a37cbbbb726c220d88fd1786c9097e332b5ce4467a89ef69053354fe0a63178cb29ffc09ce93fd00c51f06b3ca22fdf1833ead24016817ddbbb73ed41b8559ea4733d78791cf8b80271bb13417c815db94dbc0a6c9b8b25ff621c8283e1de9ddde1e049df309200c108df95413cbbc70acdddca99d79b020d47a62d6c0340f59e7037ca6c6f9dbcf3ba7e2bad6c2c91a39ccf2493dc4397721055006aa675da493843d4ac9ef6dbc26bfae76e98d9010ac0fb7ea3c3a0b3937cc0ebf0d7967d71fc4b5f06 - -COUNT=36 -L = 2400 -KI = f510c9cd998dbe8da2f4a85f9b449742f7a3f0f0 -IVlen = 160 -IV = f3681ce7ded04f79d92612226592c85db67c6b3f -FixedInputDataByteLen = 51 -FixedInputData = 352947e186a23f0ac52266653f31c0b2a8cfdc95607dfa14648ac2d556eae33f96fa05fcf879b67ba833d2e2d93b65c436224b -KO = 0835e8d115c2b8c66f8718e974cb41fec93a0390e2c0109ef27f1100726a7026147716a9dff36f373a81fb6a3fad68dac3527dc3334ce061ccbd8707935cc8e06bed1924795de454d9cec5eaf2e63a33a5a74917f3496f22c24c9ad49b9789a13744094f09b82101dd5e9c826225a6fac633a1cc92c4de46840a573c648bfb9f6254cc1536845b47a58004f8e7f977467a5cc2076b00c542cb28f2498848a2a05260d83ab15e4b540cb774ce080894ea659f3631d2cb824bca11fc2179988ff54012a701f33d11f4f92e15ebb6ab88b2194cb37f71efb7ecc3fd72b8e41c17dfb8532d8167c474dfe4ad48bd3ae902999abd67317202e95d131cda5110274b9d65ad6043cdcfe0026c0523144f6fd341f06a196aba50ebdbc3113ded2da67f7d51f270c502cc601f51d76ded - -COUNT=37 -L = 2400 -KI = bdfdf8044ad99a1ddeb20430523b4658a391a3c8 -IVlen = 160 -IV = 94dc63403ced64f2185dc2318c40940823218bb3 -FixedInputDataByteLen = 51 -FixedInputData = fca0d6e21bc8cac36a64ff08c80031790823b72f432ee4b1616cb429b676176de0a7551d8a67c747c01010fd0bcb807c6fc710 -KO = ea91d837e9c92f21ad06a6ddaec5e354242cb2d4888e483135514e84d8e894ae733ed7995a247ef37cb5dee0b5ffee1a419455207d5da3535492c4293d1c4ed29bbb351ac80344a7bbaaa874cd2184ebf6b68c1aa1b8e61e1fe21045ba13d5c8ffb056d4e448bc15144ad143e11af99f2878050b790a8865e6695eefeddf88e1f63a6a090b152d48da2b82a97a808af404012223e1e8742f12f8beed6bee9bacae7837ee0fbc8233c81dcf15b910b8f155980f70007317c57e04eb23ed56d1c6bd9f3c362d8914c1993e056b2c49596c27e7098ffb7e7fb603ba212cd56fda591dec55baef8d4f4a4eb07afedfa1f53f9c329e9b715fc5ccf80b52dc932eb933139f6cdd64c7f27fc3b630f219fb0abcbb515e7d303deabec14adb02119235102db4ca22f4ccf9906e910a30 - -COUNT=38 -L = 2400 -KI = f9b1901fd7e31f6428a21872d7d37136fc5342ea -IVlen = 160 -IV = f6480c5245c4663de7daa4fa5803c02efea11972 -FixedInputDataByteLen = 51 -FixedInputData = 21176a684e588407ca33e4f865ec2a98c04677ca8bec40ffdfa144a69041a4c16a26193057dbd236c963109a634335a243dfcd -KO = c53261bf027b07069dce343e378aef4de8cc1a1504681e3ff8d3e7a26624d930e27997c997b299ab0cb936ca7cba7ceac7a4a1bbaafad91b4839c5d4c07f6aea761e3ee2ebbf2531c893c347a2676433b3322df5405d36b24c96e470dbdae67a2c8e9becbeee33e2c85e7602ddf100322295c347610ce3c0a0c8c11a614a15ae5a33e1a4bb209e9427a2f86d11089a02af4e973662d7dcb17f42e75118028ab9c131f6c1f23acae7edb6addc2257f6c51aad60cf42ece7568efd9fc0b988f637f21fcd224f06f4a79cede232ee9f0f40c81fb6344d47228ce24ff805f76d9e80fa37eb6fff72680a4e594c5dab3bfac238aabb1ff2151610725af3738ec99be89d3c5e85d74d71883b6102bed68fcdb5351f24a9cf1d915c44b8e13ccdb0db7026e65cd4de27ffc675feb973 - -COUNT=39 -L = 2400 -KI = 0a0ac904d2d73293916c7fb51b0e4d3f0a0a7ea6 -IVlen = 160 -IV = 3ee50cd289b1bb77bd06241b81c5ef7f8045c5ae -FixedInputDataByteLen = 51 -FixedInputData = 0111cbc75daae6ee42bc25601fb73f3980ce066caffc3106412184ce7da194f44038d123ec998e70bf73dfd26494650d39551d -KO = eb4abe923b33082b678f2fa82e8472220ec1a7fe34a5d79309bcbbab0261a9fc8d38190b722cbe484ab09a379cd9070767a56d123204355c377d65ff48c40bdfdab13d27595d1ecd7edaa03254894b89be7ecf8ecaaac3ae268ca53de8fb7e3950dd4ec6aa84351fc2b6d3acd1793e19ea8109c3da211c0195ddae4e56ed21c6a4ad2cd9be7b01776a0f980d4dfb43b096782de57c16d4d0fbf251000e241de31fc6100ca252fc8c2d47f4bfd4aff19eb7703dfa2922de9f228f71a77c7ca102e838d1fb101828a77f511ac59c57e9b18062f555f43b1269eb48020631dd51e7fbdeafe26acb43b47065681cc743559dfbf89d32a012b4c5c9a91a343783c5c8f711cc372279939e2462dbf8d164f565ae040ffe48e1e7a729846381993ce6709e5b932e6c352e8a1d9cc9e6 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = c05b9fe6666409f74e6a9a2dd4a5cd0934e353fb -IVlen = 160 -IV = 2355d14d0de3d7d43e11f712659da37227ff5e61 -FixedInputDataByteLen = 51 -FixedInputData = de0d82666ce9965cb8d2124b0dc41557ae0d94a7323f1f9d5f43c55555b92a0414d47e2e1f7531c0189a833a62b3d61b92564b -KO = 3cfc8185fb95da1ce759320f14c065b201d7378067d0b56b1b75b9f866e13015f7570e023b360cbe9e2c42b4939d19dcbc6a8c964df5f4a5fd9f3eb143c6138a - -COUNT=1 -L = 512 -KI = 4dfe90cd24008b58b4022f31ab2c41fcbc8d8d06 -IVlen = 160 -IV = cd8381ffa11fcc21080e4c46cd2d1f93ba22a43c -FixedInputDataByteLen = 51 -FixedInputData = 344e67814cab0f822ca531c30920945ab5bdb4244785c744b2f7b0cd633e991e479eb3d882f1017de499ea335fe578bb200e39 -KO = 8e896a5980268c97ce8aa2e691111300839422132dda541d1910a48c374aa51dd48dc7eae436a0c7f03d7085b9c23522716c45e9e1f8d970cc24a95b2123a1d6 - -COUNT=2 -L = 512 -KI = 501efb698f053b536fb7b9806e09c9a4df213316 -IVlen = 160 -IV = 26146cca0c466f46e8de187df83c2279bfa4b66c -FixedInputDataByteLen = 51 -FixedInputData = e4708bce6ccefe3739dae512b712362d167a1a7c269b496a6c7e68a801ffc555aa6ee81809da06ce042c557b6adaa2798598cd -KO = c355d2323265d06502ac55118fe43aa189eb7fb608d12f1b949bb9b9903f5b72b629a6b77e802181b2572e10ad0c26f33f6e73220840cc9290d720a1c908b6ba - -COUNT=3 -L = 512 -KI = d0dbc30b3e6f36213a8b73e417e002a94fea527e -IVlen = 160 -IV = 6e6561a95343fe342cd027561d406afd2f55e184 -FixedInputDataByteLen = 51 -FixedInputData = fd128fcbb6b72440fc6f2264bd045ed0e5533b16e1aa4948c3cac2ff86f4ea6a2c8735d998e0c0a7db186f6be2b99aa9f7461a -KO = ce09fec209100e6bf618a5066703f03e7693f091cc890eb9556736688ccfca17656d570edc3fe8cebcf9ea646d75f40bfff1e7771316f0da7954e523388ef9f4 - -COUNT=4 -L = 512 -KI = 412139a338ed0fa658019ec8462192875c16e2ef -IVlen = 160 -IV = c44479e18bb632aaecce60a9e83da687bd235c3e -FixedInputDataByteLen = 51 -FixedInputData = f5b0b15b3cc9ee9f363348a4829e750e439b5ce81ac657680de1cb0cb132d22534b0567132ddf0ba47f70062ac9e68144d1425 -KO = 16f4d0c2e75c9d0a62f3d1a92851d7e12cd8f218c76077280ea7dd9ec0c51e1327522fa08b7d7dded6b67f8081dbe816b1c9552f441883ead27e04afbdc244a6 - -COUNT=5 -L = 512 -KI = bb2d33ce384d691ac66b3902c63e61db7fb15716 -IVlen = 160 -IV = 76ff82920c7c25ea525177b3087063e7e2d3c8bb -FixedInputDataByteLen = 51 -FixedInputData = cef2a1f890fa695111692a22258539b3a9328126a53d7e12048aaccb33b8b7778afec1ab5c59717b864d91f8364f15bbc96e1c -KO = 13c2eba77fd7d7fcda5ea2581a3c37f4a6b73acec0a00c6526ca20d162a6e92935e2378a209ac733df54baeadb55931042ffa72cf3edcd06cc98a933dc339010 - -COUNT=6 -L = 512 -KI = ae8af64c238bb42a5dc7d52c9cc486bdee9ff749 -IVlen = 160 -IV = 5ad5b9f0e8960e370d53df0f9e3990e5e67a0fce -FixedInputDataByteLen = 51 -FixedInputData = 01db53a15fed71cf706c7b47f5a893b7f5ecd8d3db7b514a1f2356fc2318a723f00ad15ecfc86f58212b2607a0f8ec78442d38 -KO = 5eb50820cbc3bdbdc658768d24ee57458d3a9288aa725d925e787184ad9deb83408de2b030aa221835a8942a71b24de84d4d7de19ccc27acc77f2c79d3da0ffa - -COUNT=7 -L = 512 -KI = 9b268cb5ba1047b48eb5f0a5dbd5b1091fff0ddb -IVlen = 160 -IV = 166e66a03d06ef4ed52b7de96f8812eb3ffe6d86 -FixedInputDataByteLen = 51 -FixedInputData = 9dc3d2c0e80abebfb88de00d12e61d4c7dcb4aab478290be72be0e7fdf4fff13695efe1f8eb81a418617c34140844cd478b8b8 -KO = 3498fe956937fc853ea3f3b4400b78ef448ae60ed669857e0a6b7eb6f0615246e0a4e0bb5f4ed2fc7608adca54541e5deb4930e82fcec012877a30084873d3b8 - -COUNT=8 -L = 512 -KI = c25c685d3c0cc763416e1e6c961d346ac01455ed -IVlen = 160 -IV = c5cf919004de1c86bbd2958f2c628cf02b378fe6 -FixedInputDataByteLen = 51 -FixedInputData = 60b28e94591acdfc5da3994815e44e9ec92725bc60589b9982de89d8a264329b14eba0063fc01db777378d1fdbf036db10e9a1 -KO = 1242a4ea349aad391d889c6b969cd1ffa8f407cfc517a847641fec93bf2667956abffd9db331b83e62568bfffc03de1aec10aa0aac3ef87f86335153c02e2f85 - -COUNT=9 -L = 512 -KI = 4cc90062bd6662b1b321f13d87c8c9c3880b6324 -IVlen = 160 -IV = aae3fcb6626e6cdef99722521235395a4b1401ad -FixedInputDataByteLen = 51 -FixedInputData = 069b3b163a081822b43eec46db91618caad1bddb03b6cbac0c06db9dc3309e1042db315f0ddc1425c6c43be7e591d63227651d -KO = 244159a0497e90577cc0cae1bf51b74497cb0927e731072d688d8ce0fcc36da1efad7f20d1b3cc196435c54124a5d04e0023e2fae1fe7cabccf703066dad5f3d - -COUNT=10 -L = 2048 -KI = 17dad6f31e347e8caa9f996e6cf402fc405bc8f0 -IVlen = 160 -IV = 11ff81b2a7480abaffb520c30badf04a6ac46732 -FixedInputDataByteLen = 51 -FixedInputData = 0acad11e1ae4e1682567cbbf905e16439c210c6acfe6c10486c041e80943c1897e497b347f49e133426d674b3060d6d52ab756 -KO = 19d9b7bbb86e29456c109dc4bb52d9fd70b4377dfaefb7eda877c23b5c135ca2d27ad5856419a8007a293ff7acdf29e7d1a9092747033705d661a13504b5bfa50569772c4c33e5357736cf964ac8719ea3ad6274e598291a015054a94233ddfaf626265eaedac2334ff1cd761f0cabfcf81541aa0b35615861ca569f25c0e0585a7538c8b63e838fa823a6e974e321f606c6adcead7ceeaac1ce9c921a4d3f622d5b3aafb98a1c1583e4732882b96cfee5c011f8bd9f83fe8732bbe4ae576475134485ae10398c8a8c67f5ab3818701024b64e66248220dc00d0f1df602470f5674df017ac2a9ebacb6a24c4156bfe6a747659a9d89f1a000dce007ffb6f8e05 - -COUNT=11 -L = 2048 -KI = 6daa4a435e46f399e47b7d168c5935d46ca9ad0e -IVlen = 160 -IV = 7f8f0fad71b3288303a1cd1d7dad16fcb1616e96 -FixedInputDataByteLen = 51 -FixedInputData = 1cec756f57dc6407f5a404d82f3f7c86f2f0308cda9ba81377b8946ef812893841536093d1e9be3adaac11061280e8b32c3ac9 -KO = 314d1bf6818ff31a33313c6b70872d2e55102c9925da56a543f04745b96c24e0dacf74f7ea65e8459b32290a1ed2950d15a818b2ea365f4cb6b13a5dc64698f169a43f4dce7200ffc38a3c9ebb6a078a6357195a3005ecb068e3bd2a99096502cb1a774e15a21096634b1a2424c3a5b1d9358b0163da87c5675db65ce4c4893e186d9232fbe30edc2f2c215b68d268bd234496ab7ce6165c38a1c94b848c16ccd006c641d4d559771ff5eca5ce0e4f7369dd06128c0cf1b2c5faa12bd92700a6abc312d780a92bc32c7c3e8d85cffe44fbccafe52c47eb9fb44407aa86cdc552348824e77ab959fd5beaabc8074f5ab83dad87cc751fb9f4cdc55a7a5c31ba81 - -COUNT=12 -L = 2048 -KI = 1ff01e30227354b979b49c8135309b5216cbe435 -IVlen = 160 -IV = ecbd1deda0796296bb9b63a907bb47e3e681db4f -FixedInputDataByteLen = 51 -FixedInputData = 095f5c671399c2ea53be396a5773d9e8565e43d1c1362da185b366d1f3e2b2aede63bbd3b2bda3261f5490b5b35a2965f30dd2 -KO = c3d35bb132b155d4f96d9b5790266914bd9dd25918880e21257111953b59fe749cd8dbc5319653bac33d69a700055e37ce3bbc1c98ff7603d5ea1fc07e14f4d2a028289e5cd522a1c45d33f3f69676cde2972a1471bce3463cb63cf707a312aa80732c78d9a81627e274c5c50cdff41fb2a8807219739eb06266b17d40c0c8f436bd6c796f116496a9f25cfd601f0cbbad9785367f6c3fe586efa060111b03525f7f43a864609889589c5d67f551e86982cce047beb86e8ea2fcc6c27329df0d86c17fcbf4a690f4f2b7621a3ed89b60447d7eb0df51117ddcd03ccf031542f918ff4c8ba9bcf02649bb8e815f723c61c153a9ccfdf4252cebde26a12599a0f4 - -COUNT=13 -L = 2048 -KI = 040a80bdddef569ab3484bab94ff54c12211dfb6 -IVlen = 160 -IV = 9149edebdea2502ff07d6f46335c4634bf518945 -FixedInputDataByteLen = 51 -FixedInputData = 80569bc7183bf8591c7b249b5ec6f43a59e94e0021bb8fcbf5ac8859b6efd2a0362ad38e18612345eb2ed8ad0ad83978d8493a -KO = 2cd92625b559ed9f976c844cc8b30a7e0b5ce4b03383ac8f174cbe144bc2952e54f6e999871ae5ba04e646262a3b98bd920c0b0a410ad35379694a6892414febbb1e349e815b98715472e58069b2db1818fd30d4ad31a76fb530bc21e73e006faa0189848a7cfb523c0c75391ace8bee88f1cd493ea2b08dd3dfb8d6afa90c334648afc42ebb7be5c0fd8dfafbaa8b9af926b53ea348df5b6cdff5810ff895c68c901d38f83b867d2f3dd87ae5e0ff33a5be3edab8639f8c70f5c43dfa67d33663cb0123dbfd479f1ed5c49ee28e4de75dc717cd3c5ec39ed9b15948549140835d3eb648aa9e6cdcdf42b177dca85ebf8bd8e48de24c66d40d0109211cd8317b - -COUNT=14 -L = 2048 -KI = bd78711209566dcd9438aea357b6d85596c4e68d -IVlen = 160 -IV = 57cbc1a254354b64ec0848c5af86bb3445eedfed -FixedInputDataByteLen = 51 -FixedInputData = 340c6fe9f7af11f09284fd8888e6dab8540e2b06156c0730f385483e8181232215df82ca2f62039259769b7158c9aacce8c930 -KO = c27c5ee462a769f6811d59afbece40ef630bc11c7300fecb156cb176f36371a9662a7e761b5b07bd23b2a571cdc09caeceb88aadab7ae2f614e8240cb4319d9385537f7c918f219633d22dd37a6dc3887e0a482e11dfae8c0dd12a406a4ef712620e2a99fcef20f8d7f00b74cbc0a2b8184e211a715c4a5aa5d7d35d5c7b123f9cbe3ad05de731de6ece6cbe7d95994954f3343e5eb1f70bc647abda1d0e5bbec3de7c8fc09e6f8e8d54417e345c0696fc290f83d8e1e155f67fa7ae8026e04983a6fd14f32095d1bea3bb32e3c72592a446e60844158f3a4cffd9bdcdc731aadf8339c5a1481180f45dd67a42a0191787a4e98b12bd793b03444229c2c0254e - -COUNT=15 -L = 2048 -KI = 2e1114c1df2b6fa871e9e6ed837d58b0bbfb87de -IVlen = 160 -IV = f4b2f14f2064a8a4ec23d65e80eecef15de5fb56 -FixedInputDataByteLen = 51 -FixedInputData = 81a50e6267f257a550968596d02fd4223c3bc147f2a4016643a7f49630ee6fbc954a0de5c05bd854600fa319dcf151ccfde721 -KO = f490632b7e6a23a94cac8b5ab8bfbf2b28ad5f6a5f20a46046d47b37f19db201a21568dcc917602d068c97034c409a1d6565b2d2eaff2a238e7187c39d284bcbfdd5ae496a4dfc392452e9f7d8cc8d324629228456f1cc56dd5b5a19a00c28d37de2cce482b89a3750a6cf726c46429bcfb31dca0fe50618e461a6434b6a69e3917311cb775d84a39d22f78753dac3919009b5265a30b2c673eced407990d9c1ee6087a2455fe15440983f13840e74bcd3ef1827cbb013316236f6f3372ee2ef8ce48da6d4a6f3f3aa35a448feae3c385aa86da30dd406c301bf258cacfd478dc9c5ca6746277bea5759fb57f6622528a392003d18031feaf575af191d75b69a - -COUNT=16 -L = 2048 -KI = 66236ad1eefdeafa6b91398944202c2e637f7136 -IVlen = 160 -IV = 4ecd08893efe5755ae55cdc3e08acb6a28450d70 -FixedInputDataByteLen = 51 -FixedInputData = 7def4c5dac72f0d89b5de61556e31bb7ea265047d3afbae616a2aaaeac1c2725b31c1b1c5ac295f0a369a7faa749959ff7c43b -KO = 9981ea30d3b36693a7b39fb28660fb3ae7abb406b72886ba61f965829b9d63d4272266e6c1b08538c7852a4dab51205e2219ae146acdb0bf426f141adc5d16341e665cfaefcdd2e1a6a9e1c35f0ff59672d566a5bbe05a20182e805948210439bd148a30d405835a4c0cdf5f0988858834d03c569c0fef7d34da9834c21f3f3c969ec023c8d122df2ba24de0c4da3214ed6502f241080f85f8ec2f8e8e16d6d088841e5b6c2d6b96cae88bbffb874dabc128025c13f3ca88a441094a67970f372a70adff44e5d575eafa20246975da655554381875473fb5a4665f3c7bb9d68e888d5a570afc4e7bf0fa571dec199170518b4df44622ccd4b92f393b4e25eefa - -COUNT=17 -L = 2048 -KI = 2f4767d62957e6691e23e964b25786d227018a92 -IVlen = 160 -IV = 21cf0ef253ad2e7397acf3e27fbff6d071db8b97 -FixedInputDataByteLen = 51 -FixedInputData = 2f341919289e7c6d66fb3f32fd9595eb5940de40f0e4624ceba72a9d84f76e006b6d5ff3c992722425cafe96903eb997bdc665 -KO = a2e793c990d8de282b9c641afdf3d96de770bf9a9279f29e24454bca496057591ff3c56018c7037c0e01b2a0df8cfbc64087b1dfcadedaa105e7e3b64ea4563842eb883b0d75194c5e853ae439692a12efb9377514d59e8f4a6e971a58323cab0c2d16f3c4886c9265e17e52f5f31c941b4bb0f1cb0ab8eee29f1acfcbcbd3293eb06c9bb37522ce8a00bd82d3a9307a6a78ea094f6cefbc9ecd72a84698431cca63252bec245116362a842be471411b406843f33ecdd535d4e38b7aed9cecb4bef801ee26be3b986eeec031b37db6f36e8e82eee973c40e12a370ef8bc624c30c1d23afa43651c12bae78ce31ba1ef0557ca4d30b464f1bc67a4ed114714535 - -COUNT=18 -L = 2048 -KI = 57fdd949042ea55025a9e29ca4bf359c5d214e3a -IVlen = 160 -IV = cc5cf69d75cd7c4edc772643f474465670493e4f -FixedInputDataByteLen = 51 -FixedInputData = 6245e3fb462ca8290686a18db5fbf3f096a6340f5ce10d890fe7949220a3124dcc2aec52deaf671e71d23783d77b105654febe -KO = 07e3c0ecec2260b2a70442e4c95c5ed50c5041de62c32cb6e2611c9d4c961b8011e8659b3e4c6347635a6a89ca0089676491dc8d2e523b6e155a34aba3fdede1634c2d005c869fe0833523303ad561d9ecf7b5e72aaddb9397397957599a649ea5f066200f98b2d3a5cc28d344305dabbdaa445a13a114068cfea3980b26119ee681f7cf150823ac427b6504e0a84c64fee9b35fc123fa7e03576437222471a59868a0643e36155cca0f2dbc9f5940972d4dca019df8bcf43e903a54baadd20b437433e3a1f7f91858374dc53804e2919a0f77e85c22bb07ac00522fe707d9e1883946d1e745125623770bd3d48e0dc6f12e9858c50d0afad2f28e959b394988 - -COUNT=19 -L = 2048 -KI = 5260026f24d857f4ebf82cd97227a0a9aa73a4b4 -IVlen = 160 -IV = d670e665bacaa15f2903f0928e400489b2437f7c -FixedInputDataByteLen = 51 -FixedInputData = 098ad30651baa1e64d5b0da82659693ebe769a7aafcc898544b2deb43cfca6c285a364946769405fb2a0334fed80a44692b50b -KO = a9f68bafdc564657945ed1be738570c14144468034d984ff6f67c2b098585e3da60e1f3a01d47be1ae0a72a1d539a91fd3992517fd72aa6c9017a5cf432fe4ef8901aa97dc4c6932a3563a6375dc6171c2355e60b86bc879c2030dd03c5041da9e1aa284ff09391559f7d4aee555d5e4a2b5ab0ae5c7cd9b948ac07dcef59e36468c4cb30ca419872b319470c40c43517d6f36b25c504dde45fa19079fa8ce3183d1d474f0247a3ac8dd8653bb43c5cd98742ba2aad57e3d8d3f1f96982b83a74ff16768610e14ab5e5ebdd78fdb415854f6da5b9a45b77377162cdb64664f24853ce602b6034cd25b8687a47efefe518dcff48b2be481c0403b6b970d08808a - -COUNT=20 -L = 560 -KI = c9131726efe027200238afb20ab29d25acbba424 -IVlen = 160 -IV = f405d760f22cc9ff59a3c342116005f722e88590 -FixedInputDataByteLen = 51 -FixedInputData = 0b45955acc77379b956c8586bf686ed5bf71ad3c660e9e3afee736a6e7dd06ae190cf8593855d1093e17a3f523978865997dbe -KO = 7b204d26e0709b65b44812989c8689e18ec153c11d99b609082be23a6327b73e6183165b38de3778dd3a8dccae4efb4daf6bcf01407f41bc369ab5457a820fd950eb27bc66fb - -COUNT=21 -L = 560 -KI = e3063c36387b2ab8d4aba80c134ad5675d6ee9c8 -IVlen = 160 -IV = cfcd8361b374202cb56792a43f876ec456faa9d1 -FixedInputDataByteLen = 51 -FixedInputData = 0ace49bc0eae274fe7ff077cc9b4ed0746a6c36865d2c8aab9deb2cd8fe330b7f255adbd391b70c9388edb6822a8a39ff699c4 -KO = 96fbdd259285df9c807185b01ea1baea8b249981da0b9146fc9bb5a81862a301547ed5fe90080b36a354452c564e4b68fd259d343037378fad0fe68e64a662f34baa8ab3ca5e - -COUNT=22 -L = 560 -KI = 82d4e6d95d3f86d341a8cb1f762ede33dce169a6 -IVlen = 160 -IV = 268058699114a4575e028d62b6a93eb5e44d06c9 -FixedInputDataByteLen = 51 -FixedInputData = c11912a61e9524635a448ff22ad9cbc888eacb267350a9c5a9dc0ae9eee02a1b15fb356098185fd7f5adf5d0d4680c137aedb5 -KO = dccae8f7b66e95401e935da7e0e0d4b800e19f8910f64345f19c50abc73210d40432a530c900a371e72b522ba76d84a9202c2498fb2b268d96dd7b781cde1ff9dfb3be851505 - -COUNT=23 -L = 560 -KI = e34d7a2e2f63b373431905db40898698aaccb9c1 -IVlen = 160 -IV = affc3044c0a2e5d7d167511e6ffdcb96b7326cb7 -FixedInputDataByteLen = 51 -FixedInputData = 4175d7db8b65f76c1ebaa821c9c9326e8e135ca870d80f52ca1fbaf81c2e93cef8b4112ed523e0d96325fa2dd8b2ad2761a051 -KO = 3947810b0970628a5c6704f2cbfa1bd272899255fb1f4b741e88f66ad9a045b83b56f932442924fddfbf6880e38052f93d2a08f1d25c31b6be11acc5336642873a5d14425d73 - -COUNT=24 -L = 560 -KI = 005ddfd75bb0be89f55132533231873fb5a3afec -IVlen = 160 -IV = dbac7c6cc661c03314cfa8d0113544060aecb327 -FixedInputDataByteLen = 51 -FixedInputData = edd0c8ab80fa307bf496eb0ac7e3f76ccb65d2f9f34104ecd6a31942459d470bcb3a48cbca3d3250e4a7210807c6acd949eff6 -KO = 85a14aefae2c0c08d68f1a681257336d1d29c699f1c6b6939e9de67d1e59d7de9db8835d9d888ee7387408a409530f7ef09e6505522ae7ae978f8b80181172581eaf349cf6fa - -COUNT=25 -L = 560 -KI = 09e0823026d3c4f83b2c5fd188f7b77c5cc1a06f -IVlen = 160 -IV = 508f5802a19f9f60b0fc096fc7c7203b062769ce -FixedInputDataByteLen = 51 -FixedInputData = 87d6ddcb7038b59598c9584fa74c97b3946c3e440009e8ffe6ba9f24832f2d3f919232dd8bcf3280c1bc8202c4ab67844635fc -KO = da796ef8c3feb76a979adf3a5c8a47449babbc4209c8eaeb400959a2b3e94d6e07922949e31531b062b8cce88dd3183b369fa4b2305675963e99a7f0dafa9f672dad7bde7cb6 - -COUNT=26 -L = 560 -KI = a93d932e82d10c5c9928903644dd0ae319bac20d -IVlen = 160 -IV = 4c490abae4dc44f95bedeea8f8fa743c0f5ffef7 -FixedInputDataByteLen = 51 -FixedInputData = 2d3113cfdad81a2b7f954fd868f617e740d97c377e82dcdbf92d99876281550f817b879a3a3eff795771ef4f840a3b7019065c -KO = 2b155480b427c52178f27ceb6b7420dcfe287c94cc997237b85e4cf2235ac384fe21e42fa7bc7c8ce1a2b484e70ccbea23f3003c9ed63d250c66993894bd938dde29117f1d36 - -COUNT=27 -L = 560 -KI = ddf48c37a206d092ecdf2872c51cf34390e9ab8b -IVlen = 160 -IV = 8c9b0ae2ba6506811bf858f4aabd643dfedf7ebc -FixedInputDataByteLen = 51 -FixedInputData = d2b66d89f6cd44f305334ed35d41d175faa809ec984d5d446d9a8e2c2a3426790091ed33de2d9e9b7feb11d05f61e200b06033 -KO = ea10b645763b5a5156e489bae097383f14a56b36d911f27ef2a1f86fc95eaac36f3ba403f930a9232c86a18aaf5cee79bf890ecfb7931d66c06db403a90728aae6c65ab3f58f - -COUNT=28 -L = 560 -KI = 0aed72aa6906bfed5e64accbf2d2784b6dd38ecc -IVlen = 160 -IV = 4ac3dcf783627c2a1c88c5e2357bccd975a6b0da -FixedInputDataByteLen = 51 -FixedInputData = f0f5ac4e8d4f42176b1c732409de463de8c42e3e9fe7486a81c0c55607f1fa30fae34e48a701cb0a6c8c9855fbe6c352959667 -KO = 32f6924f60482b0f8718eb6fbae8cfd476e96198364e8f0d7444f250fccae631f25b1e48c2c3a5f74930cb1e93f8ae324b930eb0439dfe8f07982f265f6bdf03ae9da42689ea - -COUNT=29 -L = 560 -KI = a2b7746271822f3f9ebe3a66163420afe7baff54 -IVlen = 160 -IV = 3669275b3c86196adb1aeb0784a357a47dfbfb47 -FixedInputDataByteLen = 51 -FixedInputData = ca6ff3823456c4b48f703409757b238ce4f0111b63d668bd6b90f034e3d941296c02560ce5dd497f61e751d68c9ffa3fc95014 -KO = 85796fed598b8bbd6d2907af18b4af44ebf0b093b9c4c344600336701f7c208f40313125e0e20bc7a3d6b221270280e50d191a657128fe43a35109d5137c34e0df36555a39f3 - -COUNT=30 -L = 2400 -KI = 353b87127fcb4596164140a045783dd947df039d -IVlen = 160 -IV = 144d356bb1eab15599d6fbf23149bddef36b3217 -FixedInputDataByteLen = 51 -FixedInputData = ecca498ff33bb1c5aa425471e2d12d4e9930140179052695ac24eaf968587428336dfcbfa35c134ae7d6f3aa7ffba5440c0844 -KO = 5ecc097189a319e4cfeb0d4d928b4b4bebfa0e792a6226042c956dfb135a744abbe27885e088e74523de42a3bccbc7d7aa384a2bed7731e99198ac6905dee54d51fcfa84eefa94f9ea03560e8e97a9e9373f1d6dc835a0e7e4675d8d6dd2c10fcc35c53bde6d87b1eaf39630564d0036a47fa6e425b05265210927ccb76da4c515ce051a631529f0eca32740d79d5db9ad9b7d09a75b816b74cb81f4e370893bbe0596f37e699f89d04c2433ef5c5b59c39e95836d3d7fb4fa0cea56a534f3c7f5eb3a942132f0e5596d2d9e5f0c3034723f61f5d15238f0492ba2ed9ebd2d502f90d6c393b11bc6a6a7729812705bf710fae7daca0f51f2a16a9944f978859b3ebf00bc06bbcad33a781f32b68f8fd6f17471766033eeb23b173acf88c5f46e5b8b79502049577a37eea37e - -COUNT=31 -L = 2400 -KI = 1a8ac7166b11b10dc70a710e7ef97084547c3e14 -IVlen = 160 -IV = 6362fcbb7ee513a46acabe73d7020184385c1c57 -FixedInputDataByteLen = 51 -FixedInputData = 290efd9ce3bad9c3855e6f438d9ec07e0a3fc490fddde67a241380993289e262f089a4084c7ecade9d0b631417bab7fb6d0b1e -KO = 9c5d40577574d6f3f59eb51d9ed2a2e88a37782a85e33ac6f765705ec43a020652af956b3b1a0902ee077391e83936bd63dbb72b339696ad71ae630fec20850f41b7a02e1565b92bed1caeba70a21947aa636b244ea3e706f3f2521b9065f709d70b42025445cecc6583fa47116f92dbea8ef9971cd597a4a341bdc8f9de263fa1058fb7b4ce3d6924087a6a76d1541a075ac45c6543f46344ab3bc9b92117bfc2b7b949da8081baec5f81c0d5da556d1836fead1d320a0fccb0cbad7a8648091a8a88825bc166e9999dea0c3ffabd9cdb9a87951b1f9addde73a5cad1860b3ab1f968086e36d1970c858691d55b229be912ac4029b1bbf3256b91a4c736f8fc4a7c7b3144d297a67ae44200f6bcc7e091b7c520650f7b872ecb9701abd7c4f3e3236e5d9e268e7853edf32b - -COUNT=32 -L = 2400 -KI = 91f50a65dc1bc0b29f9633e39998c7d3d3155619 -IVlen = 160 -IV = f15db96309b19c83bfca510d918b77404cbebf56 -FixedInputDataByteLen = 51 -FixedInputData = 36d7351c08f02cea6df92bd3c392b0815e93527063575708ee62bddde9afa6e0c4d6657001a1c8d22e7f660239fc0ad61f7d07 -KO = f8e98be32077be1e2eb3aa3c7ef9716ef194edc35a7670c5891e4b927adc2e9547617d18d8df525301e7a9140b03cdf17eca3f38a117940650ab4653ef0a7539c5ed3e84a5a737d8fbf32c41dd286c46e6f1405d98e28a98e283019add353043514561f411c2799fc4d5bb0841da6a26f4388ba05eb759efcfebf8889085f78342d802cc4daa236e1c27c23fe43c4e00a179166d589779a8e205996951f07ac38ae634da1cb9cbf6bdb28048b77dc4cf6cf0a66e194f11f359222bca2cc98fc5470ef92435b3395d3e42124ce9b93c56ef66dae4029fe2ec9b5fbaf9b686e6fdfe3e084d403ac6613d1d6f3e04b2a15a0f71f402abdbeac7004806f596223ce4fc31626e3c808356239b0c0c1c1ea1f3f6eab38c4e42853a3e76bd5be8afd2e257d9adc79a2f687c50fae672 - -COUNT=33 -L = 2400 -KI = 017106bc78bc57735a93e233a2bdd88a410d85e6 -IVlen = 160 -IV = a9c6bae0c3066010cf6992901980320eccab51ea -FixedInputDataByteLen = 51 -FixedInputData = 92f84b56777a94800cbaca22b015ac11d24fa2e1022d76e93eed68928f0d2f713039e2f04946324fd2a2b49f4cf215d5df7c94 -KO = 6b0e744f4819e9ee21d671e87b0e814a330eb87bcdbca536facfb51d3e312b4c541bb0b671f11baa52733202142aed9df8040020b04b0911e49817778aa6776a4cb8cd3e43537799069a84a87e2969e9902b531205a2e30e7739108d5050c5a2849b8b9af52a33fc03030021210cf2e974e4559599cb3b1249eede2ff38178b1abf5c3bcf9a1791583e166fe05c2adf6232a70fa559a30693aa9d3211a570bd182eb3d5e3a0a69a4cf31250abb7450a8be85260b0f03a79236c4334aaba8a7e03002205275dbda9096456f3211fc39ef3a235ab09f89855dc2599a168abdd7fcf56c05edbd62a21c3d7ac96e221610e640ad08538baca8be021b444882186faaba6d18ec156e372bf453182856e91b8c293c0997b3f1cb23c4f9ea8e7687aeed53e44e4a9794d7bbfce9758a - -COUNT=34 -L = 2400 -KI = 905acdaf5c44203e5b9eb7526ba6324dba178252 -IVlen = 160 -IV = b2509553c73cae8b8bce7ca81cbdbf7de4a61488 -FixedInputDataByteLen = 51 -FixedInputData = 76c45e01c89cf76c2a7bc54b2481baf4d6fedfce634182ae72732acbdfe8cf3c715ff50b4172a96caa3e08966dcd67f9b5ee5c -KO = 5e3db973514628ee06c0ca66efdaacf7781027e27f5203b5c94ee08ee77c7016c0c1b01aeb3cdd193d778c38b88e390cd07c3b74bd1c5b87bf6a28147e7bc770229ffd61e38be87cf34b6fbb5fb51ab87689e2138d9c59a92a62f69c479c6a2335cf70c413285c35d2b3db1addf6c4e010cf5d6194f2ddbd222a8c2ea0e44decdc36cd49607f3f8efe8038c037df338e4c94f740f4584abfcaa170b97411899a86a1da61b694791ba92a25cca1cecc3bfcb77d2f5091d880ccbd59d6c5e021c56162cbb07d6b05b160580e11c36abb2b8cb1450b8c704543472c61786482c0fb3d01654690a56c80399e44ae0fabd995f2545482fcde9ae02c8b0084f6f56f16126a73639f27896fe0ec6f518df6b17d31476e4b7709d87108fe51a07d4eeb34de51185d4e72c3bea583725b - -COUNT=35 -L = 2400 -KI = 79bdb2b2f356a2c01326cda2d0c8173019e29e96 -IVlen = 160 -IV = 56ab4ed9353c01a123bf405a57d6605d94b8fe2d -FixedInputDataByteLen = 51 -FixedInputData = fbe59682469252574cc073e806b0e7cbdcf77f09c3f29b84bf5c6ddee62cc4922136bcba74e854fdc4f6f17961c40203d28d1e -KO = b2ae301a9613c25aa639d019a26cea22439b405b92f7e4f60a8080936d178332a161e683caac1193b129b0bb3a3f6b9562299d86ee395b35ae395aadad3a1a29933b87196d988f23faa121e2f6d4ae078f0caa1b00ca310a05aae504f0b57eca1b1271800d03c17731f5602809c1321d1f3720ba973b017be022ea897fa99ed715a47e98c9e91be4ab2d483f50a9db9f0d63b8e9241560a1c820360bfe39047719216f667fb0b5f8583291eadcc80f631810def1ee6bba75e8d863a393534f4b46c84b4a4ee0735e295ea870cbda353e71464d51c45e60eedff87fd7365365b2f1b78aaf3e48d8f7b73717c04fa8d4f35114af0fa5a89d2ffc03257330567164853a74c8596f4945a7cfd073bb33a65cfc91925f5ceb95fddc1464d9a91745aca3f57dc8718a50121b5e5ad3 - -COUNT=36 -L = 2400 -KI = 944917fae7c5f3dedab6f05b403e81547bdd8f0f -IVlen = 160 -IV = b19cf954d109db5d13203fe2dfb96c4ed7c43f42 -FixedInputDataByteLen = 51 -FixedInputData = 872dfd815b5f6284aa2bf826408f308aca5772488555ff9834c2ac8a77f76f76101b5df5e7264b1b201fb910671c1fb484bd31 -KO = 2013f0de956bd428ee3288e6d0e3e0ed3f68be4963ad22f5a96c384d17defae6de072ae6c948780f6ece22afc2cfe424acc9e8f82c3360249ddf3445fedc008452cc65d57a4ea22eb49e4e200649d67596b1ec31f645c798d8379b142e537f1a25d41f7924660204915d0b9df304f4e7f4c75e8e02e18c826f9f70e6b887ebf729bf3fb9268f7be07c5c5f260c2f9edf9c5bb60df542f611c09a1c634981474c1f9754ce7fbc453a6a0ba93dc9792545231ca4c8220a3dbb34ef7c812f792d4f839e103c95cf55686def227bd00b3c3ca4329fa67cf38518a3776d5e9b0a1748e92ff7ad5e384d2239ee72a7e3f330e8996bd57dcd28ad4e81b675d8358351132f569b26bde5ea936c44de3231046d8abd131dbd2efe8dd5c8588d19b0d6c878d8a61386db9686f610d4074c - -COUNT=37 -L = 2400 -KI = 9f94ef88dbd6ae1ef135ca2a9937071d9aaca7c7 -IVlen = 160 -IV = 16fe2610cfc6aa459d659edcbb0fc49bf17c081b -FixedInputDataByteLen = 51 -FixedInputData = 18412ea492001f4a01e53228b4a53e1f68a6ff3c8b602aa66a2c436083c4ea03b0376b5335cbe500d560c120496e802008d573 -KO = 5655663ee575fe0ed2fb63f51024c3f0c39e11e8705a1c6625c0b9c476dc104712a52fe619d9f1018aa76a95f3fd346afce2d10a77593bd67063f4b05e4accae993ffed76ab8726c87646773f748e1a551aff2f63b9c70eeef5deebd0479b9b5db030f6a2452195e39b3cbba99e761e82c4d80eac48284b0b384e01d2c165dd5fc8f3e9b7a2b9c4b96a6a80798b545d338b9dfb7d27549198bba42a9a22e4843f724dd3724b5485b51edbab7d681a02b72be60878cdf178b48813a5d5d30dcda75cd1a2b0b6be33d2604d0d45fb8d4e75dda93b0ee550ad5ca0101310e938d6983031c0973860e997519259f20b1ef45f8674888c7e5a78a72a7e442542e30c93a2bc62c06c44eb8619b86790a6be78e4c7a84f7ea880efec6f1a54b4e17203d07a18953479e18ae42bd41a5 - -COUNT=38 -L = 2400 -KI = ce3da5b07264e84eaac2ddaa10168df9c1f5d20a -IVlen = 160 -IV = a9d17b0481a6bc8c51f7de647ab0c33e789c1dac -FixedInputDataByteLen = 51 -FixedInputData = 242f80140cb134e8ede77a3e4d49ffff2a39ba5fdae2d13467af7bf3b22730a3021d92526b53277bc6c49efc99f242323810ff -KO = 42d250ce51ce88a152558d393f5fed82662764bd33002b1266ea4c62051f6f8323d8edf04d9c524ed8ec488fc59f9dbd75c6e581b6d480625a8a89b6b5c9303e2c9a05683f0089d61a1c7a57e5b000f1e0dc88abe555ddbb198a844ee00c7b8d675e2d0bbb29d2258cea72405504fc210e2d8b58c9ef817ae8634bc9adb6b748aaf70e1a4191445b40cd4d00561c0054a255e430d19356d9638ab0777d2ebaf3ca668df45271f6601d2203b6df5b2081a6ad3f15b6cabe4b23c26a7e6a877793ae945db7ab6a09e2ab6fed262524daf281d0afefdd73a34181d0108469a929742cf21018dc5f70940641cf76b5e17640c77cf3c96d9d75c779044771c285894caedf972a9f75957cf83953a82b5d2d6e3375f12fde6d729186c74c16a19d2177e289d0f3bfb5f951e3f59f0d - -COUNT=39 -L = 2400 -KI = 9c338b0a3f5844c91573b0912115bf444dbfe74d -IVlen = 160 -IV = 1db4c6b62035b1b90bac3e6b6e7de8a80e14e5d6 -FixedInputDataByteLen = 51 -FixedInputData = 12b70c54a8f6938b6a9947c49cd389048a3ad5ad6ea5af7a6ea861bdb6a88511f4a48104839231de65a0d731abfbd4d0abdf4b -KO = c86fae2272e07a7ccd41d3f392dae4e7727dc2a5435de5cfacdeb99a696986d74c2ebcf2ee80afafb073e08108629bd2053f0d599d6be9427c01b338c547b2e708c2bc8580c7f4be015c2d774b59f844cbb5ffdfef39eb7a2e9f7bef50a9059f297a90a2a4455fe2f59cb228314b88897d8197ca9f33969287c41498f4543900f52f5fc4488461410aad255e29ffef126a03de13251557ecd6bda1e5d9e9ebdac114f4ba86fc4709f21e319b81bdd9208c8d6a9c6ddcd570530cbbfa0da39b44e9452b21bd116308891458e197e322b682f1116abd55cd688a4ad4e310933af1e0a5d9d8d23b46344a13545be5be94265165ddc9de6e12503a7b1132c5ad25422f14f8832635b4268070453bf2258408fb7a78bb922823768e57dbd9f86a30657e5d37b5441a113beec81820 - -[PRF=HMAC_SHA1] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 238f356b472391459f157ee2f142b5e7451e02db -IVlen = 160 -IV = 050f195b521d7bef21d608afbb57292430826c91 -FixedInputDataByteLen = 51 -FixedInputData = 7dfa359785d176835244fbe2d144137ffd133de0f18e9bc5b7ea1c9578a050063d74760544dba022c6f0e674f74d91fec62c44 -KO = ed84eed95f30866a8be8fc7f2ea68b44d37d33577d6dad6b2c608c877b945eb96dfdbed8356d07964b47be2ebddfbeb1b442956fa14717ffbed78461d2234571 - -COUNT=1 -L = 512 -KI = 599d63812c9cc4d383804f21769416552b1adc72 -IVlen = 160 -IV = d147b26ddd00c66396c039ed5bd9015f5103a185 -FixedInputDataByteLen = 51 -FixedInputData = cead69f2b30f494f5fda0fc9dede5fb724e5d9facce67f09c33ed6bd0dea72b2d7b4a4953ea3bbd9318b3ecc7f541ba1951190 -KO = ccbf6e9c0577767fe2810d954ff00ce0198059025893000a275ee0127ba2388926aae7546f3b31884e64abf0d20d1e3f6556a8d4a38c69639ab47c15a605c209 - -COUNT=2 -L = 512 -KI = de8b0de8efa8b27d0d40fe2c9e60c89b31751a4d -IVlen = 160 -IV = e427081585a64bc72290d69f87e748ad9c6dc4b0 -FixedInputDataByteLen = 51 -FixedInputData = 583b2e64580d8cf4d90659357272c4d6af2b3ca4b469a2cf6813bcd88abf9a8994e4267d7171b4456ca192d70e623421c9202c -KO = 2ca39c2e29decfac4a4ee31fbbffa7f9ccd5b1d23d93d1ca97c7dc0446f9b0862fcf914939fed191c2f432d6ea60c2563659d516be3b53d99cc9f3d319b9b8fe - -COUNT=3 -L = 512 -KI = 420a3e592f4c960533426f8ba904b9e82b0f67c6 -IVlen = 160 -IV = 10b20cc8ebaee8bfe4571e33bb1ce2647ff0d736 -FixedInputDataByteLen = 51 -FixedInputData = 778cb79f6cb5686b03dc5ebf27c2408cb53f28ecd4fbdda4d583b8fd73fb3d6227e68c2bfd8d62001abb73aef0310947a71af2 -KO = ff78599348c006d4513b5c048c7365ef54134de3be86e8fb0eed5298144640b547ce1a5b15701335d6f416296c0c396a0f71dce62d4d9312303e9b5e87ee3a04 - -COUNT=4 -L = 512 -KI = b8b378842593a282333997499b3fe287ae002c1e -IVlen = 160 -IV = 535569bb1f6059c3ac46eedb8b619891b4d317b2 -FixedInputDataByteLen = 51 -FixedInputData = fe5a36717f88d7e5b7817f6821306f093a06b3b9b655a3a03a20d954440a52187b3284bed1649b77475dc38c6f2b507f7ce989 -KO = e491068ee159b9cc1bed2475e65d7bf1402900c4f8242c845b7f7daedf933c5fb64b602e842a95fa6a8c224d8b605c71cd3f2fc96ef19eb01dc9d1fa7ae2dfea - -COUNT=5 -L = 512 -KI = a2fff60e904777e5c34ffb3fee94761e60df2057 -IVlen = 160 -IV = 55ca1dad8a7c26f8f6c9dc4c510771a1f5fb3e12 -FixedInputDataByteLen = 51 -FixedInputData = 680b97def87223a85b01ed98f63fe093432f234da09282530eb51bca88d1692d5d3fe994c0d50a35c5f74113733deaab4b956e -KO = cb2cfe896c89531e1780a45e6c3c6baae7b9fe4be05edcba27a8fd809f91d31f1711ac8411257089acdc5b6cddc0111f83e1b2fc3d370af102ccb1eb0370855e - -COUNT=6 -L = 512 -KI = d739abbfaa64ce8e9382c235d120e4f3ac0d2969 -IVlen = 160 -IV = fecd157fe387c90669bbe251e211b7ec8a7843d1 -FixedInputDataByteLen = 51 -FixedInputData = 8f5b8a268347de5245fb01ca2b78925ee7fa0e5c3f53f2b7313826cbce23b3f1b58cf82a2d35b0081c196587d07daf590d734c -KO = 6e09d4aab08f90eb4d53ca05721a2d757ead3773f8117695c8672979ce57f63dcbb471bef6c220c9fee6f3644175aa8078a38f66ea92474770c7f85adbfe0c88 - -COUNT=7 -L = 512 -KI = af599646e1149994e782c27ebe40c1d4865de10d -IVlen = 160 -IV = e8df41aa965905cc6c041ae0e2835b67b662e05b -FixedInputDataByteLen = 51 -FixedInputData = 9afd5b312fbef32cb4622e87c0d01862b9972e62192c9e86af1bf03b214fcb2d21be9c7900fbeac8a6df5f925cff1d5fe8a9ba -KO = 8eb1008e9096c20f92fe67c4df55b41d07a9bc082b25eaa7c5ce666ec891ff1fcf98c5638c77a6c793fc8290a0ecf4b1a1d1764d71ca3fcf7cadc13b1d804277 - -COUNT=8 -L = 512 -KI = 49bbcc88d098c3771686e0ecc88747afda7e18b0 -IVlen = 160 -IV = 5726feb4f53353057c38d27a8b744a981e15a015 -FixedInputDataByteLen = 51 -FixedInputData = f74c35f17d0a8da465dda376da2c2c46f11c5e5190c2b5207ef69ad330ed0669a241876016186ef0c44e737434a834a74f85f8 -KO = d686c6d784a39772fc4ae3b4e5bb2fca11ee8ccc4d29d085b7ad73b9c4824ae870a89f7acb5f92c9fac3001bcae9d3846d0db1b0813a409a0b5edf630d8d2875 - -COUNT=9 -L = 512 -KI = 2ea58b7184d3c3e5d77c33742258dcf8ef69664a -IVlen = 160 -IV = 3d5a51b4b575e5b91c006e728684cc6d5359792d -FixedInputDataByteLen = 51 -FixedInputData = a0bb7cb7c3be8e90afa48dd99c62cadf664f8e7cfa1d61932ff879ef0bf2004d5e8e6cb16e56cdd134c68e3f29fde7da8cf6e3 -KO = f8aef6e568e37d8888014cac2dda6f58b5ae8669c57a2d7861b7dd32166eac30982e35fde16a7883d1bc4ab7915551bde99279c70e1a40b6ade9154a4224bd9b - -COUNT=10 -L = 2048 -KI = 65d807c009dae8036a4705c63abdb285a129c6d4 -IVlen = 160 -IV = a8933902424c88dc275b7a005c8933939d4c640d -FixedInputDataByteLen = 51 -FixedInputData = 53c0357fe89e0d17044b1e6d95f2742e979ef59afcb05bd301a79a5686552b4bd8a84b588d4b0c1cfd202902d6e9fbab390370 -KO = 1ee54bc08c87cf352ce9398b6ae29254682fe85e5c199fa507dabc9aae740fefce070014e35c570c3c759f503e7cee7cc2e30f0fc70e766aacc85b878ef7a867b8c8576929e78e581b9238ff671b25f4929d5765072ae8aaa0543afc75587c74f4081b3e8fd13eb38f8221ff299ca51baa6784c7daa5432cfb836247a8936920b06146d5e693098808bfba38d06a2b10d6b7932fd6577680501ed3fafd3050970475669e8ac049f144d34cbaae49f4f903ff28d47fc3c6b4731005c11756a7c18a23781494e7094b46943d73a6ac5a7a4b2bf0f4bd9d06454f2d2a5ec443183652b0c7f22b8cba95a9d50cb93fc1c9cddb82e76fc6f0aaf27840c1f97c437e3a - -COUNT=11 -L = 2048 -KI = 1e178cf11c3cceb342cec51395ff12c937258d0d -IVlen = 160 -IV = ef996f805a639d7bc0c160956260881cd8b3fd51 -FixedInputDataByteLen = 51 -FixedInputData = f5e7e1281b8e608e1d83c5dd020138516203478f044244971826912428fa8d9284f0b1d938793474d19b76f6fb7e749ce4265b -KO = 7c254d32a4f15c0d69df6d0b01f5b0817da7c8dfafc7b7938596f26d32f2d7e772f049f1ea5d725e9fe054fd06957cd7f5638ac780dc83ec6ac62d286d0124731035dd169a7fe7b5c691ca7ebca51f6ad81bfd4165c9d55907858d9b45c85d524433ec4d8f337fa0184c2d7d78be058156cb8211144b5c171ffd2247b9939c548c718d7fe972a1b902477cc03cc8ebbb1c063cf67f1c4102ee047c1635f3cc4836838b35cda4c10f36d5816556f487a720d2e5d1007786a5b11ebccd2b20ef4bbaef8a45c502e9261ad8f6942406d459aea16d2108bebe24bebddf4779f45fd1390230811e584a27f6f4974620005ea8aca89dd648ae56574fb93ae7e63b76b7 - -COUNT=12 -L = 2048 -KI = b0fc9a97b8ade74970145c88a44e36722014b8b0 -IVlen = 160 -IV = 664334f4905e418592f60831bdc6b51a9a65d57e -FixedInputDataByteLen = 51 -FixedInputData = 2bff381f57fcccd24d5d115f019642b025822d6b824697064a8b1cd9c78bc6dec7f4b4086898fada3071b532cff1bec53738f5 -KO = b3f49548206e42a9632edf227601bd49de94f95fc3f82909d023b399fdf7f19b181ec2f7ec2262c1bfc190e66b9e80236879d4696a2c5df691f4d388bc58b18e93e273bc7c7968e743886f2972640db47ef576cc3e1db41a882f86a636a159ce9191f367cb6847a7d2fe2e6b16bbc501410b3ed73ac73509309e87f83693335d835e5969cdff2a72ea9eaed66cc4726c4a88f5e63c2b734ffc2c5190e913a26dfc6f4fc586e06bfd166893e76e84ab2badc30eeae1fc453596a95bc3f811f9486631af9742a7a4ce579536cac438cf24102ec97604cb2c5bcdb12522935dddab477f33d855ffbfca3f362b97cdf97407b23495e3887bf42768ea6a860a34a16d - -COUNT=13 -L = 2048 -KI = 0e6017814aa80de83523c89f5567858c8d1e9957 -IVlen = 160 -IV = 68331429a747c6e93acb253441a541a298e0a66d -FixedInputDataByteLen = 51 -FixedInputData = 1bfe33017f39d90c8aa731b32f6c4d459bdf9f25dda64284fdefcf33c2b30e3ee132a6c5d1e5e03a8a27b16d94a0e7f8909275 -KO = 559d1152aa684c2910e9b96df614f84c15030857644a2ce6bda5241ae638464b238992797d9d014403ecd12d39deccf895ed6f27782e237de59860c132c1f4a4e59d4db7206c1228c84eee70e1ac6893503ac38281738493002543a361b670f62cab63fbfebb56d56bedac31a9e5999709c85659d5ea1e2059e610265f8b48485422bbcfcbac828011aacfcbdc29eaf6cadcad2cad2148f509c5738a723be2f4f1eb95f374c6429a3fe9b15a02e576de98fd9de5efdff63c5fca0eed97a318f75b20383f76383257bf77608087ec8f7f0268a9849ce7433c1a85ab871f5110315a74500de129b8b173cd555d5be11053fd9320cf5a17bf2b8087b356987ea495 - -COUNT=14 -L = 2048 -KI = d77175daa607af2da2883437c2c0ba1336eb0abb -IVlen = 160 -IV = b1fc2f4b386f0ba42106ae6164e19c6ab839544b -FixedInputDataByteLen = 51 -FixedInputData = 96cc50d4d6403167e50da7437a5821d03a2f84b56ae3f7b349ebc47549d675a0a0191db6618c0f002b8c6b4438c1b2fceffba2 -KO = 1d8ab109de23096cfea1cc5c85233559137b8ffdb87d87f7446a542c94df32224f1d4cb2fba8ab622352b83f22f7da0855e907e50149eb07ea534e14e7718145b9995371ea3262ddac25147d4e81b3a3ea5bb2f98e7416256df6785c2377969fcb94d70ea8e58e9c3a97afae7a9a041c5bb2a258cbcf042b43edad65056d7827a8f0f2da253a60ce6168d3f9c09b6d4691872075d6aabd2681b006510a5527d85b8ca3f5ee3fe998c872833352379ebeed3c0564351a86031ae64f26c1a3ecb5c5c576fcd0e0ec4b529d8c8eec52081605b5f95fd7da710f7dae2e5b5debc371d8f429a8becd83f766872433eba5a6adc71c76241958c947480e3f64612adbdf - -COUNT=15 -L = 2048 -KI = eef4cd96e4c5f55060519cd50d6c62f319c3430e -IVlen = 160 -IV = 5378d90637940496867a058367e305dd7585c9eb -FixedInputDataByteLen = 51 -FixedInputData = fd67703e4f03f14991f2b0c3f8d73142c743419936f8c9c8e9337b0b6ba126cf770f3f166494c19f8311e0c4ace0ed8a8789a8 -KO = fb674393f6d8b2a149308400a4d9e046d47ab4e12404a4954731bd85ff9306a0af410ed8072b96286120ecfb071b3e5c361d1fa09d5e4e35033fbca61cf457f73e4453def68cd03a219299443551bd4ac3458ace80fbed9a8e92529046775bc95a1402257780851f96f5b3d8d2fb90be7b26cafa209e5c35c22e7ed3538d87f0a842b529e084b4125ae3b1e475922d257aa5d277a57244c98a0be51a81859786b7ba00931c6700c84c339785531b15e45d8841c3303790eba55a92b6a149d12ca2eb582d6f2878de5e2e2a8f0a5614077646fa0d812c879dd0719e01d3f0774a435b4f7e6f2c4f90e3261836d09272ba2c1e518b594ac620fca1fa9d430b88d9 - -COUNT=16 -L = 2048 -KI = 3b747ac9abd39c5ff86da3353ca10544c8642954 -IVlen = 160 -IV = 2bf89cfa0a702bebac7c0a83623d6db593722962 -FixedInputDataByteLen = 51 -FixedInputData = f9d1a984d55ee9a00321bf17e4eca83e860dd8f55829296b1b77e5a60a126be3b5262a69d5c45128c3e865a312698b88020547 -KO = 196faf7a17373f3a5c4aa605bf53d32b43bcaa75dae60072216d4d2b4add5dc03c53278adab37252cb0472288d5ceb58b8a40a9b8d0b988d89a146b0b108e1abcd8f154cf4b60d601003684331a1575b2cf978f54a51dbb63699119dc4edd96423d4d9aeee22cc64fa9d553161c71bc216e57784a905a0caedf068602829b136ac87149228e812552da9dddf03d0a39d5dee2866bfc4cf9169d80a3eafcd97259a07028e0ec28fe4b66ea917c1668d6c305979461bf0bca0dd812b1ac8638bfc573280131f731ca9ad43bc4073d738ed7930a01757f05e0c8e70876d56eb165de4ae1eb4faedaa6e2d7cf849a8d58ca052bb35005440e2fa35a0508c818fa8d5 - -COUNT=17 -L = 2048 -KI = f5c8acd5b82cce20f62750bfd410817719fd0269 -IVlen = 160 -IV = 1ddcf4c4603348f90e0ae361d2fd0de10c85c46e -FixedInputDataByteLen = 51 -FixedInputData = 4a743f5ec24df5ada550a893268ba4feaf9dd6cdc2c65cc838189b1070d87397b79eeca8e590c69e53f6818efd5f3a864e5e1a -KO = 00498f58d43500b3a0b02455b03ebed881cdffea4d63bebe02db69da8d006531f7bd62736c7a23aa7b80707e07092f03fbc1604f17464fd197e0525e5048a30db5756ce17c1c4956e2f35e8e514814e208569fbb2194c41a18698461f9d59298f50b0689db80c9c5acdb07261229d189522affc8d6127252f9b289f536f03898e6c52624febd9fe85531ca898f5167b3f9622c74ded6e46b08bf427c7bfe47e3731bfdf5a3fa13a274add57ca2659f469cfb56df09adb28e0b3e9a064b04b43fd41a8ce7c988ad8aec14ce99a3b8c2d8b9e57081bb16d37d774c4377d48f99d43e5fda1672970006fde2ddc602a84900c83479b8d65c47821a75355a592e3efb - -COUNT=18 -L = 2048 -KI = 9f81c1d3cf19e388a8bbd5aea2fcbbfad15193ce -IVlen = 160 -IV = 45d90e7ff02ce15d583a80ace61556f47c5565c5 -FixedInputDataByteLen = 51 -FixedInputData = 1e2cd933c7cebee91c56f9b04bb3511ca3e06b8d0b5dfc6052ef7bd4b77ae55f5c7db61a695a79fbeb37a908779b52df6c2eeb -KO = 69edaadb5ab79ef25d3bbc126c141399b50cd9a75cd04b679051204d7e91738e8a9f5134bf1a68f52ac2c30387955188786be178bbb96a5c35f58aa862bc3ecc9fa9725d02846521dd953228c55e2194b3bfd3f871dc7e0d178528c6350afb4ac7b8acf7bb8fa6f7a6f32aca1dbc7529fde8d4d38e7e40d2930fff8146d3903cb506b3813055fa698831582abdc6d86c71518d48ea0e6d5986128391e825e1c8992d18c3fff3bd29f5c5c96dabb558019b6d2dcc87c42498525ceb317155cd97de5baec3425362bdb79e6a514a67e88b4cb318b34ba4d5776cf75cbeedf20eaaa8f253081f82c099743291753bdce0a7c08767cad80e96a23df715ded0778651 - -COUNT=19 -L = 2048 -KI = ad97ec9dd344956291897f8b82798b04428a633c -IVlen = 160 -IV = 09913504a2eb3fafa7d9a80acabdf3a7879fef30 -FixedInputDataByteLen = 51 -FixedInputData = ef87ab1dbeff8ddc745d5c43ac546395425abe39df0446bf30a6741ef5f433722cb5060a2485278ca7aa66c4e7e6a88fee0cae -KO = 4e8334bf67e8ccc67c5da1331772318d9dcd3822d4e0d92f886e99b63e09eb290e0e0584ff31df8c32a87d1743b01f48296e7bae178ebf77ddd2960a441396aff0d0dc72546685d79f4ceee8eeda06a402d08f6e5530b2c62bc110af2167f71ea15795a9f24f49011447feed0cac9d19cf78eb5c3705eef643bdb961ddd38292b239f520dc323e07d6f8919efc43a80fcdcdddd156bdae01c5ae76ab33fbeb14cb7871bfafe1465b838a3cf8db9f6ae022d9277d75df6ff9b9732d259c9aeed0d76294737286eaeb442cc6546e20d92ee8792535d6eb341432df5bf0775c602ff59fda73985dfeab50ee2aeed215890d1f917b67972807de4ac3e6879d9e43cb - -COUNT=20 -L = 560 -KI = e6b176a16a850929e3957dfe84515c1fb456e04c -IVlen = 160 -IV = 7bc43221bd826c791dc5ba8e131da5c645f4bd31 -FixedInputDataByteLen = 51 -FixedInputData = ca60bd8e7f325f831f6322b6656cc0ead3ca79566f1d6ac40bcf0a1fffd57118afdb74ce4447a8384a423a73df8780096e85f3 -KO = 3931eba00c6ad6070b0f3d12f530cc2d40885555d14cbdfe1828642f97ab4ad7d33ae48f8fae46528789de73b67e65d52cd07c2c828f971dc35c6427a7db725a9dee32448540 - -COUNT=21 -L = 560 -KI = 9f4a240cb025d9921d54a059393b6d6feb491e22 -IVlen = 160 -IV = 6879dfee4f8314438039f78594c3f0fbc692ed06 -FixedInputDataByteLen = 51 -FixedInputData = 37a62d2e2b664aae11712994e74a61f59e1ad350b7c53fd3da6913e591c6dd941c1dad1be121b7c4dd132db7ef641c1566d65b -KO = 668ab8d32f3ee957563e059b82a5b45f5d6a1256fcfeb3bd5aa0baac0897e71de35a731393b20ba95c2caf0f2fefd97c21ecd3709411dd1440191e981ecf5b823c164eef06f0 - -COUNT=22 -L = 560 -KI = 3544f565e159e9fcd4c4d7aca3fa879e17738a02 -IVlen = 160 -IV = 78de0d7da20e0c99dcc3cfc8804fe839af7eacca -FixedInputDataByteLen = 51 -FixedInputData = 572eabc002bdfef7e74d3330aa9db3d3751195ce4ec8ef32310db9e50f869c837ca2cb2a9ad1754b3abc36825f78fbd213910b -KO = 6fdfed3a1c48cc3b6fe6212339dd714b09cf02c47dd3110d2fc928f5f7caecb83f74b8d7f74604a6d1dd4820110f40da9b2ec76bd990cd23589259b60c095357cd736d4dd29d - -COUNT=23 -L = 560 -KI = 0b80f97438182ea3f078b2fda633c560b8be513f -IVlen = 160 -IV = a50a07d1d90e1397ff16c5df89ba41437d15dd84 -FixedInputDataByteLen = 51 -FixedInputData = e70601fb8cb919a36087947c61cd9233b23da659a6357ae2e562e49c6ceb7156509af33b8ef316fc9a0ff598f159c14627a31f -KO = 54c09dd3600c0f28fa70df182eba0384ceafe370e085461a79d3c850d4de1eea01ef3c03cbc179a2326971ed6824c03f0aeb462a74f6bbf9910a527bf587a6e202d04f7fbcd3 - -COUNT=24 -L = 560 -KI = b8415a01646c7dff2c56476655b5dbf5eb55addb -IVlen = 160 -IV = 8fd7f8ccd4cbff2b57efc6a19c0ec199bfdb56fb -FixedInputDataByteLen = 51 -FixedInputData = 49df7cda6d49a87d1b1174d3180cec31778d155ca36cb652abc29fab8aec6fdc06785949e90a492d2b13712a063415a18875b5 -KO = 83484f7f2dcad42343cd5d55a043f15007d699fe6ba9b1961ebaf5753ec13d7abf3b13585324d357398e189b35a35da82173ec243f63d7746fb29f0e5073ce8f579671798097 - -COUNT=25 -L = 560 -KI = 6a3dcbc80282157eca5a95f251aa2e5802587145 -IVlen = 160 -IV = 049f84fe01b4e57cb64182248cd43596907e88b1 -FixedInputDataByteLen = 51 -FixedInputData = 6a27fdbe02a45a7b88f6066cc9443881fa64233dcbc2b4088402c02c1ca7fd25d7a8328e005bec27c77d036a71f5dfeddaa9a4 -KO = 3ed1ec67b36449e6d8cef4f96e3eb3b5314ae44423d55205c67783201cd8ab0a7929e15037502144215726f5d7e8802c0418c6b5343092c6fe7694ce9f642c5786fd524931db - -COUNT=26 -L = 560 -KI = b2dce27c947f80eb01ae1db58f1b4b5c3bd521b9 -IVlen = 160 -IV = e469bc8f0ccc82002c74e2d48359903384d5b189 -FixedInputDataByteLen = 51 -FixedInputData = 4d9403a17d2d10dc7349219615c70f725959c02f87c606312b0db859591414e386389f1fefa0f23ad35b4da1251f36265e0ce9 -KO = 36c46529c62bffcd1fa59f2cb7e8666640fc1461bd3d1751da3e2831c107f91f315a83871badba277d592c06c0abe0e86b71b2e69a509804556a01b18dc59c87f002c08c9d98 - -COUNT=27 -L = 560 -KI = 0252ca73e443351f8850f813ace4a74f36593533 -IVlen = 160 -IV = 1976abf9f27d845856db481d6a28104da3e29a0d -FixedInputDataByteLen = 51 -FixedInputData = 5b473de39159fb66962c66c52ff57728b02c168fc5fb028399f43a874db59e34697c9fa6243e2fc3b9a0e2e64318de27d93195 -KO = 241cc35bd0fcb3d5568471c7fa86fcd309037b8b5ebec40ffa5a1a8cf6b637c7b9dece09ed41a0dc8752df89e0631449029740f92769a4c419e4eb7344e6c90fc82bb4c39af7 - -COUNT=28 -L = 560 -KI = 449789c155f94f20051f60d1eb11a1671c898b56 -IVlen = 160 -IV = 26e3fb34d25b92ac4bca65113dda4f0a45905d3c -FixedInputDataByteLen = 51 -FixedInputData = d98134f1151b927e376a27354164c525f672bcc2e209950c0823cf16d929e0f94fccf29cd27bf8384489651cf3a8be3769bf25 -KO = 4741d12cf6122c48441c7247b3e623bcc4f28a0f7a66aa57ac719a098955f642e028f58e0a739cd668611c19faac413b6b9774ee4ffd5a42261146e3788316eb054c8b3acb6b - -COUNT=29 -L = 560 -KI = 6c890d1a37b80ce07e89c9c58cddba228319043c -IVlen = 160 -IV = d21d9d121b87ee7da0e08efc24ade1339e32903e -FixedInputDataByteLen = 51 -FixedInputData = 6c1d8fa11e5326c87177db99d2337c297d3a3965468a3b569c06d9b4e0b27428fc1f1722909924131c2490e112fc12fc4060c2 -KO = cf1036ed998dbb063d542dcad70e1b4f3df9d9e86907f645b846426498e1d44e26d2a5724dcd49f1668e8c7cfec225c1c5659a91c0163fe516f354025192df98a24015a0073b - -COUNT=30 -L = 2400 -KI = 920c2f9cf98dda745d95169bf299ffe489a51ddd -IVlen = 160 -IV = 433b323a737a5b5851e913eb8350f7c3cde6b2f6 -FixedInputDataByteLen = 51 -FixedInputData = 4b0a4eae41c2acb704d3d7d7f3cc6f91824fb8dbb6df4a1dd5d395c4cc5495d38b0a24b062414282254b02f36648968ae04abe -KO = 02b1beb24582795c08cdfe63851b22d47a4e46d52f6bcb1c8592b4908b2bc61859c7acf6303233d2d10536ede176a8e8616ac78343dde8b21b7dae518fe094384c49489a744e853c08013aa7ddbd5749629978e12428fb19eae5c5613beee0f611a736e939a72f8087129a1447dbe34af4fd3616870e52950010370f8492c28a4151e44cdf46550df002a486a61f3b3c832f4bc02e332cfe3af8d1050c94a88654102b5c93b62b6e95d3210fb37b175dec01ff2f18e2704003802d2e40c5e69b77c939866acd20263ca4b354ce4c42592de53aa2fb392a8c0f1f7634d98b5067f72a7d863f1b27fef6d07c5692cf296f35996b29c2037f4e81d79eed23809f875b8ab528178fac9dcd0f3137feabebd83ab32dd7191240f3e6e92398acccd420893d95b43e89fa2289774be3 - -COUNT=31 -L = 2400 -KI = a1f2d4c4f5feb3df2e44642015ad5db34d556cbf -IVlen = 160 -IV = 37fd201160c83a8fd3a6ce31cf212847c11e83ea -FixedInputDataByteLen = 51 -FixedInputData = 47d509dee44696ef06e6df68045a09913c140a2be0e268e1298ca7cf62a28cdec55973dfed4f7fa5dadbd4380c0061d3674683 -KO = a2932f07b9c698a7383226d22b23cd70d7352ca695ed469aca8267141685dd3ec1fcaafa5329b54fa06a3347c217b6ea6e2b1af11cf9de6c17d16f8ca527cf49106ee94b962dd89ff5392ca5ba4265d9d7ffcb3b021af38afeb3b97fc00cda3f9fa260c99ada4c93425f59c34e5d40ce6b9c081cd788248eff3b8aab12d9c43468b986e8bb411453aee9e8fa6cd4025347e8a29129e4d5eb090394d68292074e0b7fd6748e748673f416113f52a66c12438e3bb1d346d5cff15552b39a8e6d7207079e5433eb399bb16d726120ba7e8e24e15dacf54ff45a966781cc043ff3461171343233b5deb174b39e32dfd1ff8f71724f36d0963184b306e146701a7b9e68cb6b0cca8f0728f5371126a7d2d7d5fbb57e736bf2809d487cc6b250fa70fc4084bd65c8c840f0dd8ba912 - -COUNT=32 -L = 2400 -KI = 29d1971f2c2811962d7d78a8fc6a1384dd57717b -IVlen = 160 -IV = 65ed3742a90d2eed92838cc45c4af344af8fbb66 -FixedInputDataByteLen = 51 -FixedInputData = 4a019bafd9570584d338a3644e3384a69d6406475aad0afe0543931c8e9474e36c51c8911988d42e39a649c7cb392f9d2b128d -KO = 5ce5a28039887b7e7313bd1e9c127942dba40df0f5642724606c0d44c131857aec697fdac12e78e148ce3822ec41ae722b6667dd1e782ed2dca6238d43858b9726110c54bf10767038d54127cee9d9850ba56e64ef6fab36690b733a9fa2bb851fbf1ecee9e728cf4e63bc8db2ea80cc97aacdbfc6f031c0fac629a61767cd333b7f084f12bf5a0db0bee29fbf37da24762e5cd1fb68b144956655e84529c3020ef4ad497fa847c4baa0d1ca3caf9e407c610893aadb3d590b5eab5b051e1f2a5ec14eeb584db6f3bea43f53dc8953279414d08b8ff4a1db9fbee0d64752fd34ca2606f58f7ffd500c51750708e7e6aa6c1681ab5d9c770d09fa96b5297496c07601b18378a15541a9b033e14da805b30055dbfaa5c30e342cea2c8b1f8cc328b88210b1611798a2ec3488e8 - -COUNT=33 -L = 2400 -KI = 554964c2226152d00d0c2d6ccc5d1ee9673b8e1f -IVlen = 160 -IV = 11f4bbf44bddf9b7fa637a3d54fe2e065e46a0eb -FixedInputDataByteLen = 51 -FixedInputData = 26cb0e8f60106742ed87e1c95d4f9530037e94d169ee61eddb466eba5d2aaef3aa5b539224ee32e3b9cba9badbaed812e5e3af -KO = 47c0ef604c72371003c16e481b1f3a031f9e27b52cecf8c93ad38f976aa8832999d786a1689c956071d12cc7629ba362bf02bae4dd3751e630ea071c4489a2984a40dedb512b57c01e59847d8bfdeae461d1f8f6198f464a62c335561cfe9c6faac44a8e25bebc3dd9a8285b6781cf74433b4980a64ddd70058e33d412456d9978b78b15e31db566af1ca7219a87b8ab3edef4c0ab8794783e9bea96151088542d98fdf8f548438f16e46c08de2f56df86fdb2e1a2f056aea1d2a445a8f1aa0d9ecb18984a65d13eea1ad80636653d8f197377e0124857cdfaad9a733d7a960071dbea1f01c8d2974a9b57e7fad2c4cdd83fc3c3a53876cba11adfd6d46809929fa63974e360ed5c407730cdfb2816f7435363dd32458c18c3472b519c8531d7ad78268d14eb7b841dc9ac81 - -COUNT=34 -L = 2400 -KI = 1c198e44ea32fe5c3e547e50b3797c46f6ea88d3 -IVlen = 160 -IV = a9e15ec02de4ece486b923e6ee86e532d1b170c2 -FixedInputDataByteLen = 51 -FixedInputData = 4c1ab663b744f858fe6b3b3888dfe8661a87c1c24b4968b1ebd796e7e66fa72074e4e7e419cc20afd00744058dfbf22dc9cd4b -KO = ee7913f92e809812af9d0551b8f26c2d882fa186072d8ec455a6c8a3d7cddbc23b825e9e44bb520d06f9677222983c9aedbdcd6e33db4a80d0725108bc89dfdfbb6ec147687b3ab9d2de352b97a7c908e663b5093124a0e524cc3d198b3b91d6e49a55628528c2c71a0ba49d937fc40191fdea464f5998513c5456769af405c97f061af41c3d06faec77b1b6bb78959b39211f735c631c0433330d5679ee51a2e6deaafae94f2146b33d1596de2adde16a1c60b223c3ef79d8981ee247c8d90f6eaf804e04e2ac2516dad283de9b029bb84f7a511a7c70c90a3c38c0d4c18435a8e4381e34a1cf3e144ea5f4830eee06f817157027f4870b9ccc93404cb39c803bd2a8ee7120687efa02d674faa730fc3cbfdefbf603d9e323d1f0f80e7f268f4d3d902ba0c1c015dfcdf4af - -COUNT=35 -L = 2400 -KI = 7a2b6a162edf19ffca879481c873cae08d2383b6 -IVlen = 160 -IV = 6b8e9b31ef2e780d5fe6c6face8bddcfcf779e20 -FixedInputDataByteLen = 51 -FixedInputData = d80ea522c6929306ed92334a68f1653664de51836e0e2b7bc521f515a1c4b94e499b9f396a50b5ad6b74a9625f81664fea296d -KO = e022097bebcc54a46c7c22dc6b4a4949db77181c8f6b2a9389c78051e422748b2cbd45123029311b5abea79635c5fc02ff29be71ef9c201f1e825448cac45772df751098131b958884e4b9491ebe728d84eed8bed2a6393e8b8ac08bebf79ddb225f49bf86e78d899148cf1fdec6e2757796c82ff1b4220646e0b10e636dee1fbab22f6aa8acffeaa65d90e0e56bbff4820dca3ea90036d7c73792e5213bf9a194f597e6d87610ec60d6030d9c0dcb13f0319d838b446e7008e8ae4f3b4f496ee9893f22a62faec9063bb3fd954c30b0e130ca06365b683cf67d1996ca2367fb705c68dd64e76646453ec9c497d352021c328d9b27ab0365c0e36f8e8131a2e701730b4fb166903367053d397cb845d8227f43af68bf8c2743ad2db3265b8f931e1f866a3243e999d7f15571 - -COUNT=36 -L = 2400 -KI = da124fcfc463ab0e9409cc4457f0efc9f7b0c56b -IVlen = 160 -IV = 699294d61c4459f34998ae8288bf6dbfd02a2ac7 -FixedInputDataByteLen = 51 -FixedInputData = 659d460a92db8182b00a349de3860c3d9bdfdc1a20b0242a39fc49ea4163ce3b21c4b02eccd4238e37bf66fb05112677b86659 -KO = ab2bf68f779d4f9203a3efcb4c9e27e4d968cc067f226adb5e39f23bc0c5b8116093426ae149572ee59f8688fe9edfb15d10dacc366b3d82a9bb6f4dc4743bbe8073b2dbf5fe2efbf43bb1c5e03ba51301f3d5368c97722aa6e34609d1739c908d060ec1dd5250c4e4ffe3ca781162291c04d3b03f3c74261e56d36652af5a1323d70e7e4fd64c2b6b65ebffce0d378685f864fe47db728d9b4b97474fa1d8fe3fde2bbb74982fefa49d3eb0769d190124a7aa0567194dffce26ff38d5f3fabc9824a3526b05384be725926d68d8ca936dee23d17eeef432edfad8703dc52bcb3f9fb72200099a4b52c2ac94a18d851c6846e2539eb7ca044206f37170bee699198027c7e6b9a76ab0ccc4cb42aed697e066dee64289315750a5fa74e9f0134dd8a8e9acd7967e5e53953efa - -COUNT=37 -L = 2400 -KI = 29554876f82ec6de646f2ad0458e864a81aac3fc -IVlen = 160 -IV = 4746e8bdcb9f83343573d19bc938092cd8640116 -FixedInputDataByteLen = 51 -FixedInputData = 7aec0e62c0e4b9e5de28c1ddaa872fd7adc9e3750f881ebed0db2a9afec633894ecdc74794a0f52a22aa2d7744bb72e4870b9f -KO = 9a5079651f49f18b8555831c17d5fbd34a476eee819c532738bd6772011f664c062dac0368b8f9ff4d85074c1be1e769fee52225d9d2663dd1ef23800808088e2c0d8db3fa03d85d8df9ca78ed8c9f4fcff2c0a7249a43e3abed1cebc8b3537ebd18a1424959a08d76e412ae4c9f3e8738aa148d54b9b1537084843af212d549ac761b8bfc9a89a52da17bdec163cfc9cf4adc9ac103b72966dd4c95263178a97b703ad1df2b1a8bc108ee3c7be3f43ab0311befb9a3257da9b44fb7414a866eb32158f01e417483fc8a376a55f3b27628aa216a300502e863917dac528ffad1bc68d297977117c89f9f0f6632b263c8929f1362bb283c00f44d1f038caa9109cb0e98d8674dadd465742b9ec94dbd522fbe3ae62db647888bab6fca2427896ac026264fa0f9c6c605d723bb - -COUNT=38 -L = 2400 -KI = 890860c859648bc4915cfa8a2c0b56a82e6391a1 -IVlen = 160 -IV = 9b9cb8e219e553af1d2c8caadc3b84ec2a5c7423 -FixedInputDataByteLen = 51 -FixedInputData = ec596757134c510908a76adea185ab4e642eb14ed62a302e663c86d90166fc85173435334e9c0f7e478f4cadc1b608bc563303 -KO = 2443d13b01cba2eb7fb9adfe4bf8fe957f45608af5c0d55436f6af64736dbea2604d544707e3338dde075107752ebad457009fd4600faa6b720965d7212d12f7e2a77cab653140e28c4e566254fa41d643ce87653fb4494092e1dab4b4ce93646f1a0d2430eef4377a31c3e476bbfe79cb0880231e4aef758bbce06603ba1725b415b6400400626d3c20230a2bd86a3ef8e121e75b2b7c901dcc923bede54ac347738928813140a3150bc383b4175397f224ff3dfe1601e9390d8a92e4cbe18298f4eb758742d2e6444abb0a5928a3d29c6e0e439ac3b26f2f8121affb23e507bb4720d5936970ef2019b5fe50104f348405f636ec4facfb52342fcd6d78ccc13d907155eef95a8b04fd9f2ff87cfc927956f502d6112104e173f6d32e4d6863be970399600095be9be51a8f - -COUNT=39 -L = 2400 -KI = cc6bde24d94f26b9efc60a64d2f2af5305bcfbdf -IVlen = 160 -IV = 221bacae81033c399273b123a6e9e73fe12099ac -FixedInputDataByteLen = 51 -FixedInputData = bd2e9587ae2cd1bfdecf54f87c8f627d007cfae84a45b2bf1a1bead97f27167fae8b34bd6231c9d0cc26eb413520556f241a7a -KO = 5130042807e275722a2d993172232c19d2d7554f0933e3839b0f954f0d83d930586367b2f16416eecf1403aa7fc5a855e27660d40a474a50854160c0c4d11a7324fdde6666685f29c347c31d94a05e019f6123a02cb39674fc18978969efe25ce65811cb04784e7a482aca6ba6c97ac5fde0eb751b398a8c4e77b9d99a37fb2401d8771cb3b347e2f86cf141098b6e46faf89320dbc76ae98bae8a161f6301fdcab05378ffd7238f5aae90de21a0992f5fb5694a84380a8def33c45ed27c025efe05a24ba169e4570bef62dd382b3c517dc17a36ee39dad00ff8c6cf1eaaec33f5393181913b32f5fdb78155733809632b57b688be23ef82721b6d117f1d172b5fe38a166eb3aec9f5271fdda30e38ab271aa2fdc622180cdabb8a6ddfa1e1b312df9f09466d637054c3e353 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 7d9ef58957852643ce1959f35fbb5b06276e2945 -IVlen = 160 -IV = cf054724f3afeb701303658aabd19933889e4ed7 -FixedInputDataByteLen = 51 -FixedInputData = a02cac7093cbc812abb807ddb9b6c648e932dae7db989171c56a92df7ebf17265fdaede59030ecbbb9637ae71c6618cbde68d1 -KO = 5bbf86b09b40c2f0034f5e0728be84b9924655e48f94891f91ea60d14fce3c2d7c14d093618233b85186b77c0031c04a83e2df9d6da16ed7f990733174d4f5b0 - -COUNT=1 -L = 512 -KI = d83d73d1ab3974e4ff7ef2828bf727ebcbe21273 -IVlen = 160 -IV = ea71db3a011b2a85ef5f7eabf56f27d771764682 -FixedInputDataByteLen = 51 -FixedInputData = fb43da09bd939e9278be667c6708d2c868ee92f140a880c91319bc5e89e72bce95b79a57e09b8af435db176e7e08d42bb4c32a -KO = f3cff11fd770b8452782e52e333447d5e0b5d4ffba35f68b807488fcf9e3bc1b10c1f8232a790321f2cd2a29da584c5a307225a8183c66d1a1adb940d5eafab4 - -COUNT=2 -L = 512 -KI = 5db159ddcea48c56bc35cda022dcbedfc40c8190 -IVlen = 160 -IV = eb9d151c9c58a7247a07ce91b4eb9b700f8b2e8d -FixedInputDataByteLen = 51 -FixedInputData = ae3dcd0617a90ad7a6a01a21387830aad9f88cbf4604261a6350310ac10f3fa82f4624bf30cc219464e01c01f456619549239b -KO = f665599de25e01adfbdc3c0cf809d6eca15cdc7123150c4c8fb62149a75cb2b92ba75bd377a7feea7057f9c994af3ac9c3b72e2772e0b83b46aa5d1d885b1c4b - -COUNT=3 -L = 512 -KI = eb3fc2c9827baeee4080e8f4d1359883cb32cdf5 -IVlen = 160 -IV = 639e4aae30b866469d165047a00a71204778d260 -FixedInputDataByteLen = 51 -FixedInputData = 533e1e2103fe9e95a9833ae132d2c76ea0276cebecf03d94020f29392f2cccd3a1a0e164871e673107e6f4104461c69ddbe2b1 -KO = 18fae4c52203cc1543bade94ee435e1b8e345f38128502877fcec282a2a914207d9e485565157c1cd1c8f1216105526f12a7ff3e199bb7c59fc72572062dab69 - -COUNT=4 -L = 512 -KI = 5e9491e6030d7eac615c6e8e8afcba86b4bdd743 -IVlen = 160 -IV = 20ef830da22f8be260b546670c2e4ea133b1ebe9 -FixedInputDataByteLen = 51 -FixedInputData = a2baa1bf40fd8d751bc0228e414b0af493c5b1ee6a873a78068a205c572d7ebb1c6eba98da4fd474724d59145d8b921c81c044 -KO = 700f473625b4184f48913f222676c0fac6aff32cb6b0e3c9ab4342a72047430fbd50e5a7830eeba3858c48960fd17bce0c456419780bb5884e1221cb7295eecd - -COUNT=5 -L = 512 -KI = 09a08b6a4b5de5de98dff1dc96b9a58a31ce42a9 -IVlen = 160 -IV = 19d15badd45fc2fdbed76e697618f06e6dfa243d -FixedInputDataByteLen = 51 -FixedInputData = f64a0c796805b854aee6d17b75bccc5ab120976be783114bf0bd5cdaa6b31fa0fe36d46965a60c333e7075056c3088184e3a6d -KO = 88bba3d3dc5f11b462568409909768aeed72ff76e1d0dfbc4cc6835869de4d9f1e4a3d0cd5c1c998b44d179e18435c0c8112511015e3b1380b7f328925ddf486 - -COUNT=6 -L = 512 -KI = 4cf6a2e1612b438935d512073a85afb8e14f8cc0 -IVlen = 160 -IV = 0dfe182b32317eb2b33495d3758bebe6157d14f2 -FixedInputDataByteLen = 51 -FixedInputData = ec2ba729ea6685eb38b263765abe849d1b4fb8ef00299e07a48c44360384806f5dc984718e779e19ecddacedbe1e979fd02cb7 -KO = 5f97a11d8983ca23d312378bd0a9eeb851b65c1aadc43d354b7ec05f0c38397f72425965538cbba1521d2bdd0316c0178831839361cf74d908249bd037761b91 - -COUNT=7 -L = 512 -KI = c869b6cc504c1ce12bca9b11ba750b5b30dea6eb -IVlen = 160 -IV = 9e0fe16f6636c3f274d069c9fdbf016d500baef6 -FixedInputDataByteLen = 51 -FixedInputData = 74d0bd7bff1c2b67eeabaf1e922e350623e38b5f93951bd524a24474bc33478e14022ec65425880b47c88a121421db23f95da3 -KO = 54d2784c517a552029b0f84618497fb6a6b787be10ec93dcf5e6236ce4aa1069abccb7462b625f9709c1f3ab726704fab75a70eb96d515810c80c9c58a5437bb - -COUNT=8 -L = 512 -KI = 8c8273b409dd572b33c6fb1a34f18ec4b8aaeb2c -IVlen = 160 -IV = 5bd72af975a58362ee9b4e2a55f5d4554d872d7c -FixedInputDataByteLen = 51 -FixedInputData = f159a95d1b0ed0c4ef2ab29c5ca67b149afad761adcba80dd9d76f3735b93f6009346d2f2d491e300caae912ae510001ebeeb4 -KO = 1feaf65efb7b65385b8631e9c30b9acb8f34473a24ee8522f2d4f8d2a3cfaba5d1a08c65270f19740af9bb1697e442646a2bf287a97d64f5659bb688ef16ab65 - -COUNT=9 -L = 512 -KI = c7a8ad4a812c36e00550c9f7585657d61eb48252 -IVlen = 160 -IV = 91c91bd36c6438b2fd0d3c82702e5571a00e3477 -FixedInputDataByteLen = 51 -FixedInputData = 68200d473dbbb9144069ea316436637493fd2095945f430e2de6871185f40db7aad680fd27552c51e9ae614b33502f4bb64684 -KO = 0c984374c1c82deba57a5f9470e1105261818885d488e9642724400968bed7ed2724a51ab558b1d59d92ba1c15a01987f0417bf3ca1750e2c54861a1601d7c09 - -COUNT=10 -L = 2048 -KI = 1dae79ce949d4b2755a8c9f2eb1e065770fded0e -IVlen = 160 -IV = d4766950ade196df3fbf92257ba541ea5acb9a6a -FixedInputDataByteLen = 51 -FixedInputData = 41ceb4c56fbe3de6a2b01ed1933df94aa37831dcbbaf1b8ec801ae997d9ae2ff66032624fd2e1154914e285424c4bdba91a849 -KO = 9cde86b47f8591ba17aad457e75b5d7e29f40ba8b1175a95a8da413732a62d975cf25263b564c71825af7ac78c1d0646f6f8c4ed1a68c74fe1c956741d51f9e1566814c04c28c41e6c696166c53387d73a8abaf8d32113b0a3d72d2abea47849bc84c1297ae0b9236c4bcb28c7005e33c01dda87464f9f717df642e72fd4c2d47d2325810d566257f44ef8c4e63ff30dc824bb834a764d647c12ef5d6c1ac16706cf43d1b3e78ede2bd1e070b204804258c7157bc1eb9642216f3df378ff493aab7aa2d2300b9cf93d3991d5e856cd1be9a630a721ad629b9bd42ab11ea27fea7bde4cccf44db20054aa81449928cd4732b9d12e443aa1fb9330019e7ba88755 - -COUNT=11 -L = 2048 -KI = 3ab5a5399be34cb16188aa54662cf4b41d5281bb -IVlen = 160 -IV = 7df2e6e542d201ffc60d5b7b44cefb122e17e20e -FixedInputDataByteLen = 51 -FixedInputData = 6f809b4fa2dfbec995682cfa5324332342167742cd8584e1469430babd4ccff5c95ddc3805c5fcca64f460bd34d7372ca741f6 -KO = f4745d33cdd33d53137547bbf18e444de86f889143dc693b0895305fd348c748f8685eaa22730a85404f18f2b6863a2d609aa97597a77d6356af09c614386499f7eb16cda5cb8bb8362785462174ca4686a85de4f0babd19505111345523ab36b9ff86370ed568f816c7547892f00688de5eff7a0da52f5316ae3025d4b4b9809836b84c5a05b80a8e2e924f4d7c5b6bcd181eaf18723c0de4150c5d8fc188818d277d25a0c9f62ea96b6745659f09cdce1690eff439a82c9c22db63384dc82d26b7a27d0cf353797e8b6cebdfbe65cf3581cfafe9ca9aabbe5110f3c3e0f2b23d7b53c69e769c64db3e84c832583610555545217a695ada05cd4fb6e9534622 - -COUNT=12 -L = 2048 -KI = af959936fbbd8e6b535758ad6dfbc92c208e3f19 -IVlen = 160 -IV = 1c68c4e9034eef42a06b5a8c436a0b220dd91edd -FixedInputDataByteLen = 51 -FixedInputData = 1ba0035e0caf4e93013f44cb28d25dfea5e28cef104470ee02795ed66dc99369e9d39f32bfd1fe2676437531b7b2ac4905099e -KO = b9c478318eadc4e4d1837eed60bb6ab8161eaa3660024b8ed67e81d79cefe4a9a98ffdda897579405971275743ec87a361909425e18bb00ac2962113bbd629eb8a0e0cbc716d9cbfb110aa434a871fcb8650145c33e795b883fe705fa600c3e4e45aabc6bbd3cff9ea695251569ef4c280c261910a8de6c8c6bb849804030ab86df7306ddbe5409df1efcdcaa2ff094e95e6c5c8edd6e49197c24f3937fefd849d396974b68182f0fdf5af43f0c9c4cf36b82a3ff63cca2a3d3708c71d1d348d9ec5ea6a9fb8ee3ebfd71dd6dcd3f96a2fcc47b2926e20f13fa21dd7e175fa7fdfbedd2d1b622717c7d0b10c97c677df6b48b2e26f11d85882c401e65eb2ac3c - -COUNT=13 -L = 2048 -KI = 05fe48809e0cc079cf4b73b0b3a4a833711ffa01 -IVlen = 160 -IV = a2b9be7fd014968050c5adeb681daa7357c2c57a -FixedInputDataByteLen = 51 -FixedInputData = 9e37d4240ac74f554a84f91bc6953d0fccd33b0a6e049345ec35e2d1f15f175388fb275db074e127ff801735d31aeb89585cb9 -KO = 9674412088934f8eb680bf4ea4795a8dfcc68cc23109f4971dc2c1e7690323d2865a9cc800098f6977d68a2568ac539ee6c0c71804bf018cd1fd8d1c210fd5ba7a0d4c33d67ac86296deac41a84bf659fc635f76b912808f626fea49355f358431e55867c0c1e9e5761a183fa97deb408eb2ea78e30f0f519882dca457dcd1d07733ae4f3af57062e3ec8fe376bd9e404c6c57b7ea3611d0faf44fac646e53baabb184d2fb66ad24202acf73466485f6a214d4e9de3192cce9a0433af05969a3e061815feb5ffa3b9b2381a625f631d58ac584e17d7b081a086f2ab12b9bc7f8f1c239d5370caca66da01efd83d021275c8b9ce7d5c93b4f4cc4d829878e8485 - -COUNT=14 -L = 2048 -KI = bc41e0a28fbf86bd0f3938bad79d79ac55ea462e -IVlen = 160 -IV = 075efbe53889e3e0d7887b496ab63c1bc190fc5b -FixedInputDataByteLen = 51 -FixedInputData = 792f3c5d31c042a2c4dbeef35986b05f7450dafb1730af816114a6f8b4650fead6600af60e5e83e5d9e0266274df9989670a8b -KO = f81d05f1a7f1f061bafdb81fd85e8210511f602b624374b439f0bd1365709ac142c968be2e446421a89f22355e4b50f9b1eb6c871249e2dedef939950c10c5fd6f6968e238fca7f313bbc0c4a7f77a750dd934adb21bfe75362a7bb6a96fa61166e77833cae84872f4cebcc47289c8e1f2fb41cdf5c29d969312929d88d8c6c05bb90337d047a9f5b169d172716f501ef9e0e7c3e3f9912cfbd430a607eee056b2f5e4126ed1d496495ba6639945e605c9ce542b68328dd72e87d5884f8100f2885c263c27411c5ff83b18a1fb55be25a9d8dba6fdfe04cb3a92b15f424c16c2b504017d5a03ac89030b3fa430d4e66a4d630a0de2860f5a5ad00265bb17b258 - -COUNT=15 -L = 2048 -KI = 99c394971283be0c2acef3e07811736c4351fdde -IVlen = 160 -IV = c0e15cacaf949a783635c2ec24fa35325378b092 -FixedInputDataByteLen = 51 -FixedInputData = 33d55d2d976f23c132108d0196e4c7f646d3c29534e076d1dba815d9cc24961fae9f5c318ddef717c35120d607e909e0f3a48d -KO = e7414deaeda37fd2125a4406d742c65b87e76b653958c1cc73c719bbc5b2ab83151d157a74c5b693ad67de4a88e48408fe7344270acce14bf59fd03a0135349886c2e650d1782fc49e655c8c5689ff4ace5f9a003acdf056cafaa5afe6f59b171135a53d5bde8eaca1e4cfe5b00988dd0c4b3a056e86d7432c9332092984e2e9b672130f703748f51c5d8f6a48d616936c072eefb2dc6624a0faa524974c230323165c9630e3497d71c10582422df2ed190161fa46767ee37a477d1650edbfbe2080bcd7fe3357fc9302db82e32be003603f4d9470e40cc48dd38144717dfc50fc2b70a5c77664ecb3abf44fa15302aef49ee2ab2bd370c476b1abc215278e64 - -COUNT=16 -L = 2048 -KI = 2645c3cc84112ba50dd4df997885466aa0e92452 -IVlen = 160 -IV = 2293b15925b0d962e1399f1fc085ca0d31fca500 -FixedInputDataByteLen = 51 -FixedInputData = b084863f6230e04da4b9f4ac1378de9344dd8b65f902e08f1d7d991c289f6dace0377fac7a55d1781f86222175de66f777bfaa -KO = 20f022d3a142c93678f2ad5e1278fbceb47fd8427b222fa49ca8a12085579471d2232132ef9555600c5195ef4781c366dfdd64007160101f4b74f3cf867bf122062c7e32f205d44f30362b8ffadd25acdb2fcc9ae7ba7591a9fa615eb6fa44b54517536237bd47747be280daef3ad1828915046923e6ef47a1452df861f8429f7768f69d8b98867e337e4981da9e9e15f30cf7d3d1e2cdd98e5a2d50373abd649e1a115f16b59509bdaa75d8f9f2c160f6afa584eade452746f0f445205b71a631219e167bb1944bc47b81396fda60cc36e683df038533e120c8e3a31c8bd3476687a1127e5cfd68912c6d5034aa8f589e437eb2c0fc03d0c2256cd2d77e38e8 - -COUNT=17 -L = 2048 -KI = e09ab205e06c572096aa6e1636a6c4a288bc91ef -IVlen = 160 -IV = 51182487c67ef04b9d967c2443c29966b5e1dd9a -FixedInputDataByteLen = 51 -FixedInputData = 35c742e915ac39628fa2aa43302114730ff4d2e348aeffba0a838192e1896cfd997d9132a72a4a8a96128e1f172ec059f73717 -KO = 10ad59cb4d650d3e5eb76399d02a92eada9a79040015baf01ecac62724996a9f13d2ff0713c3ac169853de6345d0f2262851d5073d0fe784275fcd9aea96170fc020f1164be8c3a5202af57fb3aaf6ae925479fbbd68cea6a56f43499a602618c733f5e1a3a2c7757f738cd58a4e6d1469f5d7c620383fa00e1c9cdead59320786828be901faa11a4ccd9916ab24a5fc3d0ebf909ebfb7a089162851357c7d093e37395f632e57c4fa513d2fb9ece5157957c05ad97dc673234ca8dd92160758fbf8db6551f8e23075eb35925dd7581567c546cedce6b9e67bd4125b098cae1de77c80fe2ab0b75d51c51baf53df269590e10d94cd66bdf6163f70b5ced94a72 - -COUNT=18 -L = 2048 -KI = 45a00e62497156dd24051541d91eec7ef954f016 -IVlen = 160 -IV = 3d2859f9042529b5a1c9793f00d948b9e3006b1a -FixedInputDataByteLen = 51 -FixedInputData = c7f816f86ed2716bc3dd8623f51a8136bd731c893f4d73a98060a9edbe282aa0b343bed8c7609442c5668f3cecfbf784e50189 -KO = e31d3e47603d6f38e544ab815c15e9cabfb9f3972d1676e83d73d7fa30dbf5e951ce380c0942c6318ad4a059b2b9b825f5d3310dfede277af921ef5395ea5ffab06ea14347d7259af098430e4df9cde045398a5f977866dfcb14d68fba8079bcda89ff80ffe237335e7e81a0e3e4bb00640dc1cfbac494258781d065768fed357fb7605ea856488c1574ee40da885663b62ee34a0baba34495236ca1898f0ae1e523c13277e2563552a587dee51ef36a30de36eb3eb4c8b5c8ebe4581920242eaf041250658b85f8352fc6f1835961f7336b2c82372565b6e6911e52146bc3237acf866156d2843c63c12b57a5004599c5dab0a3f24376c9ccf63f7fefdd8c88 - -COUNT=19 -L = 2048 -KI = 7301cec3bc832e8bd7a80c5ed052ed39358ceebf -IVlen = 160 -IV = 7700b61dafb945ff726fb40158b94bfee973c0a9 -FixedInputDataByteLen = 51 -FixedInputData = 80e39e07be5fdc0cc83a724fcf4fd2a5a94ef2163f1cae15343c39913e3c2a51ed06276abf47a938314525fd890a915de7a260 -KO = 600d57931fb855a04b66ec4fe4142bc40b81c83a5a02c52fb0de336420992b8ed12e54b2cd629230286e4c31b61a104b4c86e2973fda3a28c9c6b27330b434fb18e4eb9d9b84a46673823c2e63e254207eb3e42c00a163883dcf353398c63035045e69904b09f8725944c16cf671e8ae9155ee3f5a825605670cae838b05e1c7e9829aa3f8c156ec79cdcc03151b9a513f47e8e5eb75f384f1f15c5117f20168a22c6fafd4165868f1f2ca20d96cc666b7383f55e47b36784ab82aee8bc02bf11513bb9d3579c8b7a6dddd09a7a9fa09958d5411251aca2f870b62da879bb6052e19417e0133f9499b48363629db7d5a7fc028c9573f31fb7038dbc19b9aad49 - -COUNT=20 -L = 560 -KI = b23cfd7db410fb9acf1af9e94508c3499a085812 -IVlen = 160 -IV = 1b88b758b9a03f1b5c9a6499dbf45c338403adf3 -FixedInputDataByteLen = 51 -FixedInputData = 294cf174b90b419782edc08030a075635a91221214f3fefa7bc424fbf7b7d76e340fb6d333a3c410f7f04067aa4dab7479705d -KO = a575000cd069e73683f9aa3ab4423428742eb903814df8ddbd44c4c03071701407f4148e7c94edcd306c75ce049268c085e8b23b768bfe602a007c3662e7428ca676ea44751d - -COUNT=21 -L = 560 -KI = be61aa547a4134c37399f97b62ef48577ebb278e -IVlen = 160 -IV = bbe0be494597617ef2ce51a436433625de1ab4b6 -FixedInputDataByteLen = 51 -FixedInputData = 9b3ea9b58b2e1bc187d6efdf4788b1d65ee303a9419c05aab28bf7a7fc42f1066648d5d5857e90c87ede6986fb30c5a25029c3 -KO = 9113b2723a4a932653fea661cb8f4945d86222e78d91cb3696a814e70ce144db795b9d86563edfabd8c5685a7b1e8dc1e6503731780820e5f630d586de46a5c1e7cbdd7ba4d8 - -COUNT=22 -L = 560 -KI = 30d344560345c505047a088744512a54728db230 -IVlen = 160 -IV = 3aba6d369a6c620c4ca5ce8d065c447b7fe5441d -FixedInputDataByteLen = 51 -FixedInputData = 54e7db0626affcb43af9294e8cf6d2185d716ea902ba225af29576a58c626edd6ad704f6c03336f6405462ac51e5edd01e216f -KO = 723c59dab9452e30542402e527099fe7132d1fd14e49346c3c9a65db6f92450cfc3972b377a3ebfd8ffd099839d5410ddf885183eca24d29654a0362be78789dbb1a831a02a1 - -COUNT=23 -L = 560 -KI = 4705bdf89d22b5953e65360c58b9082c4a86068a -IVlen = 160 -IV = b612c9a02e8fc454ed62121b1f8a438bfdb67e77 -FixedInputDataByteLen = 51 -FixedInputData = 2ae41f4c85b81db2a2089c502878cb5f16a08d911d222d71d098e4d885fd593c483ea9740f8f9399e7ff3c410d1c2163eaae34 -KO = 471eb298b18a6f58135eb42b2ba4ed425cbc067829508bbadfe188221b2b8acce21565cbc390dea9da504558eaed90064ee9f5bb0638d8d1bdd33079ba8f833044030b4e11ae - -COUNT=24 -L = 560 -KI = 8128050b7ceb923db5dc218cba20f74e9a21e82e -IVlen = 160 -IV = 49174c7f46a30636eff5ef18341173f24456666b -FixedInputDataByteLen = 51 -FixedInputData = 2a75be59ce2f2fc6df8ae67372dee2af52cc8db68c14f9906913a37a07ab5c4cd7766852be2233fc401c69232ad1359860d3dd -KO = f5a33092ccedb35c3d8040de90c679d5a5c1cf3bc1c67593e8fb3d0d57b10756c56de0fb6f5d28ced9bb6b02ba30273447aa0505dad891b2f3ae258e8602f35638d42d59d602 - -COUNT=25 -L = 560 -KI = aeee45cf39e0209b33cc29ff42dcd0e333dcf562 -IVlen = 160 -IV = 774171c1bd660262a0e194ed78c7d333c43c8869 -FixedInputDataByteLen = 51 -FixedInputData = 2c99d0cae339e5069721fe6a60f84d6fc9db7306cc248e5e7465333567b7c01dd75a90151ac4975aa5c61293cbad0040f15fd4 -KO = 5b419761f7085728113043dd02e31c3cc5405227d84ff95acd3a47a0442864d1895c8e8371b901a1ff437008a23f4875e3811cfe5e63ed29d4013e9a0b6ea6f22b908685237f - -COUNT=26 -L = 560 -KI = 11ac065c62147a2b370a56d1f5234581d2b6c5d9 -IVlen = 160 -IV = 8f32ce0a3f12093fa2ec264471685e62d0947cd6 -FixedInputDataByteLen = 51 -FixedInputData = b673cb37b563c98570f5f8408d15d110ca909d624ea1b0c325875372c134d1ffbea097eef1d3601ce34bdaa53d5ac85921a076 -KO = 07e7b8315642e4882f7bb65a990bbb2689a1670e82305fe34c8a50d2d91aaa6612ef1e8fc139ce6fa2ddd1914b33012983298f556fc9b1a063052279a2923a9370f04958b9a9 - -COUNT=27 -L = 560 -KI = 1ccf2df09611f95908847d8c9d03ec98fc47ab0c -IVlen = 160 -IV = 1f59d004c364a3ded88a9e0db476892e27c8e206 -FixedInputDataByteLen = 51 -FixedInputData = eeb75ad093e9a3ab8410ade25ec1a8fb1f3a7225bda4ea4ccb10749b03bada509bda4f32eee9159e776d7f9048e07dd26c1e04 -KO = 48b9713180a0b03efd8a13e39347b559a6d198df9d5d3766b1a1e7364c387f1fc4cd5fbf4e5e60f870c09b695bb790ed2a15419a45523b074a2e8e35a4ed9d5a4bd010f6f23f - -COUNT=28 -L = 560 -KI = 7e542188c68e1cbcd6e1aabe168cfe915d2aa74a -IVlen = 160 -IV = e49e2ca06242c63f0abba45701122582664d9c21 -FixedInputDataByteLen = 51 -FixedInputData = e91ae3773febd476893f6ea25d8c490d5aff9d1ea7f985a02d816bc2ea9110c86725c6bbed523360858106ae502f4ce20c85ca -KO = 344cc0a14b83f589d864e3bdaffc0c2df68c60021d87ae78bcf56483edeae6ef69edb2bc7a5f4b26928746aafc6dcfb86fbcf8cb1b2e30182f5e4a3b131844770d8cf366d17f - -COUNT=29 -L = 560 -KI = 081ac1845e86937155b09f4cfca976f1fea53bdf -IVlen = 160 -IV = 4aed8b7f1d802491f49f3be3150c87ff27225664 -FixedInputDataByteLen = 51 -FixedInputData = 52a312629a509aac083287ff2646a5efa8427fbb99be25719f47bcf5f7e3d3324c5e649b2fe499d6a5fc7c2590b0f30d5eec36 -KO = c17a2aac6da59b737cdb8ce9931bcb9691d3a1fb40b66c37438831da33028de4aca1b3299c78479f49a0053c18a08cc5ab267665eead890dd1d2dae4a159b4b0f74d0000d294 - -COUNT=30 -L = 2400 -KI = 021f69a9e555f7db57cabc6a0db6fb444cf4d050 -IVlen = 160 -IV = e3779a83d8e7ae2e04a73ab17ac3f5ee3990bcf6 -FixedInputDataByteLen = 51 -FixedInputData = 7138ed47578bd197671aeac1348decefc578e4fae03e0c6080ae92bfa9b58873fd13511cc02f5149a8ee4ebf78ee0fce93ce31 -KO = 56e7009ba78c4acb2fcc2a8adca8dba95ab75d4194fec9a8bf44ad18d6c94b3354136ecd440ab87b2fadb49a4cc70e40c3968b5a055707a0f6cc70762da5aca48756db1a61e0fff87a947fbbb691fc622c22a4d31c636ba0815e39a8b7d7540d699917dcf64154b405d910205df65608e79d370faf5b77fa50a60aaa35ce61ea51aeb48c78400aad0866787f29c422a57988a6879ffdb262ca2217b9beb02409f2b72273911cfb01116e78b0d7c72ba43bb4fd6a5160b32fae66158a232339a1164fd9488c464e9db3dd814dca401a16986d3a1c8291a665ef85d9ffcfd2c403ef625c391c3712a893df439a5120b240b78fb8d50bfd8e96314e4a1d449db776249d3c6d730b434787483cb7c5d39f051d06e1fb0639ce11392cdcc8c482e0b43208e9896e9413c5eefe7527 - -COUNT=31 -L = 2400 -KI = dc56e18252d3669788e424dc0b22a2ae59692b09 -IVlen = 160 -IV = 54d858eb255e36aa3959d317992c0bd395a4f7dd -FixedInputDataByteLen = 51 -FixedInputData = f0589968f12ce598ca41daec7d1b836d48af4de51fee79c6e32e70cfffaeda3b602629315558b4ea2bbcafbe9048dbbf0709c1 -KO = 50dc4274ed5688dc5e41bf2cef1f43b5ded82f0bd88dd6d4f3006e616788a14d5bf349afd5e8a868f5c18ccbe393b2d88dfd044433e8da78324537f25ac56f6f1fdaa4ed3c2a66fa9794ab41661ce8dd86d886f34668285b1937ef8d8992f9378468fd59c2a0569ee941ac487b4ee684c00c44aa5756e15abbb9c5d157e6d678101023d92f4f170db355484e81aa92a8cb3259cb1a6f48f370919c13126e3802a210a7c46397702842d745799e77da57a451a80c3962dfeae88b0b094bb2004769badb83fd29baed8cf7344bf705b1401382944fee8241e8cb09a62cdaea98a59ff26c80aebc658f46b522c51e8a41e688f15034959a7fd8a41f1fb71e35733dc0031b9fb650fd8cda42d6bcbdc764788b974a57b4bef85d4d7e1929e87795bc643ccc8f260c7cf32790cc2b - -COUNT=32 -L = 2400 -KI = bf79d13c951b9d1dd749a1cf66e48282c346f307 -IVlen = 160 -IV = 7cbbb5078760404c8a6d73b6d75f60f64e3a3cee -FixedInputDataByteLen = 51 -FixedInputData = 6478c8b514bd917f8c6dec96900692989a63ae377c9392a75549fc56e03ac6b8400e2224bb882d119ce7c4c069ed84aa6c4ca5 -KO = b5ddc392a665273005acb2109ae735e46fdf00934a0c42c21c95ed4a7cefbe804ee36c1b714fe7f702e6e4c31ad1d75c2066eb2feadc8df2445921fdd051e917de2d882a498a674d90b67cac67fd7b806c14619a48c4e5d317247e48793a8ef85978703a5dbcf5cdd1a9b245ce2d3c0080e5aee3691b59cc4499ef39c7834173b27980bb2083a5859b08615828e2cf5d090ab5cf4bdea68934caecb0325629ebff4e7309d25e0190933e81fd1f237b7c635f2bb893067774c9d2bff117b74a754dad8416bf48855e913cb796ec3b6091d145b4cbf5a58b4c6c00c4a71358518f52dcdbb5e3e80e1eed0d5d584b3b7722195f150478ae2f464ad8d9dd359cd478a18dfdc560e7163c8a45d83cf204dfb7be1ce6a0c25a1c82bc376c57497ebf7ed2eab5690f2823f2d8f7deb4 - -COUNT=33 -L = 2400 -KI = c49c4e0f5247fd24571180ad1729dc4f1861f77f -IVlen = 160 -IV = cb0a1264feecdcdbc6e0ba0920ed065a3ee03ae6 -FixedInputDataByteLen = 51 -FixedInputData = 5f8b79facd40c2cc492a2d0b7e3f393788994da81d688def728fc38c0a054492efbf9cff15da03e126eefdce38e9d3ee1c095f -KO = d2b7a241934321589fc1736ce5de48a6b80d3b4824ade7f8227a8180e9ff3b7528795379a06a3d3a44e16b5ff6c824bd8d18d7cda67edb9331a469c3a67a82b1dfc37a0bda9e6eee3ced410141e0ef699ac629c84e838076addc9158af1d3c730945e7b367ef3d35039e5c45d1792f3cd15f0d3c77e85493a2676b6360d11cc4e90afc832fa716cd44cf1fc5f58b7c8ffcd2da08c896a3c43c08e9ade80867970e2d9683461efb3410ee3f27db42b0bfc2864a8b1b132c77e84a1e1048eb795dcee88b29478a02636eea8183ebef0b137ee675a489d8dfedcf3037ecb3607fafdd715f6592b9638ec353116739d908c8220bc03c587fd6307e97b83772416fb61089dcf0a20714c895822050c0926249cd0b741e6627ad7e9c8d42c7befb64a593f7848d6a096b9691185dfe - -COUNT=34 -L = 2400 -KI = 85776247c37334fe250b001f879769c2899c0b5f -IVlen = 160 -IV = bf6fc03a4f16b45156198b1c503d651a93337a49 -FixedInputDataByteLen = 51 -FixedInputData = 1649fc12a2b1d2f6e92627f9d2f159b3b49e8a941b292c2330ef1dc1990462181101d92c3ceb873820a4fecfd98f4d53610b46 -KO = fa70456b3e63793fd5f04332501ec4955f6d325b7465d951649b4eec715f2cd57d947ddcb6a99ab8607c4379e2708369a4d5bf50cfb66f7a5ef3328f56bc6db41c1c7883e5a898d70626cd42e5154c52c555e76654f0f4d9291e6b08078702be3059fa841841cfa0d31729e03a33dd56438d783572de7f3728c4952b47a15b14cef796494c902cb57c38f93349c97aa93ba70c2b5c47b27b27e1929f27dcc1674d6db876c39bdd423818512fe9d3837f69820a9f28d4a1beaa4c85327857910461c48d1dd4fa0e26b507d6c6183235c1ed4d9cc60cea4fdcde430f0fcddff9e27f5b84abf7c30f74b53b8bf9e52f85fcdd45d22920f094f75bd5decb42698de896b0ac96f6b4feceab29969686b307e2c57b313aef947b7a920cd4c085df1b2c964706615193a52da8b15643 - -COUNT=35 -L = 2400 -KI = 68b9241467ee5bc82ef8a313594b5e6a88c95715 -IVlen = 160 -IV = d00b8811028d912953bd171614f99ce3c9ee9de8 -FixedInputDataByteLen = 51 -FixedInputData = bd7ffc2ee9ceed310c67e0016234af27a3fd60f7d7059f6a74374feec96279570fdd1b160347c18d5c6f5f702ca073e3ba3bf5 -KO = a837e699f9f87654c249ba77ca649322e195264b0fdcf7e0be92909c27f6f0d25033c1dfbd56ffe0b559db77cae6289633d1cc02f39825fe454d828f8730692575b9728d0476c5921b7013ba28a6811431c3fd1ef1ba725c6726bcecf0ba3df352c816e99073347d029c9fef58a32cd8772171c4383635c2b03faa4415514cb5820acc30c93307ea1e77a0d24f99f73410d43ea7fa7c11dbde303ca43dc1d605d682a48f982f948ccb7fbbc8f3bf748813fbca09e6ba0f53bf29da1f4366f6a41ffac9f2073902a2718e20e2291cfc769a447799bf7e1d934e95271bdc7454807d1a3650f9baae3bce0beca269cafe80f06c52c8b3c96412fa19064af183fc877c208b48b4a3f6066d3248312eb1f4e18aae7abb0f1a283feb9c36c3452409dd2f0e4bb46bbd65888acc6b3b - -COUNT=36 -L = 2400 -KI = 69c5eb8a55310c786508fd56107a604dd332395a -IVlen = 160 -IV = 52bb97a8af06e984be925dd9a8823f9918633022 -FixedInputDataByteLen = 51 -FixedInputData = 4879e491e161a897043d93d158f5fc68c02d10e3177c009ea8014198fff14e4691b7000fb33f3abfb3ef712553d57b32d37f48 -KO = 78e23e3b643458d958d6bd3e0f9a2074f5f42345fa8c27c49cb7c98eaccbb366e4e3c43d3df3f40842e04d080d1ba8b030dba246dc3034772ef2e105d2629ef12e24a18e4c66b47d14434078380ac554e8b3dd896dc1202d150a6739609436f839b2d45d17a5b75d7152406ce3d684bf0d997ebb9c4ea0e3f03df39b011ab05f415d8630bbb14dbadf673d66d54fa34dae330045e5a6a5bb87f42fc835d28672d988c3b0bc9f1ae694df3477966a3ec16b46c7d438b0db1a1bb5bdda5d50477b57d240f36c5285aee74be9f572551e73ffd071f0a215dde14938bb976460d744f3f6af2b8c351b1a253e738b0b6438c277e70efb064017d1041275a7ad2be5930c4a7406a61740e2b03b328da6438bf10f76c1426b81b8e6f512674be09681f38fab51cb118d1ff8daa16d93 - -COUNT=37 -L = 2400 -KI = 910f94216cbc8d5a3b27a6cc8f599e9fb7acac04 -IVlen = 160 -IV = 8cda1e140586e78e80827d91ef936754a73fb306 -FixedInputDataByteLen = 51 -FixedInputData = 3839fbb83213001ab7096336deb93b207de948af9001f6708c885d697bfae82338653b6e689cdc918f5de8fb04cca8c9bbf294 -KO = 5225974ba752b486a7ccdc9ed499bba46e52a17cf493cb105e64f9225c7a32db03232d0c9f7c91ec98a61e9fcec526de3ff0167dbf101490fe90ae8d4907bc24e74425eb76129e228734aa50b19718966bf1cf6932697b0d3868ecfbe070305fef1db900408575227f664f99afbbdf86cb5be06b699820939c07195483b2e6a7b5168853fc9582b8f997f66cc7e300f7f763bc5c2147eaef87f8490026fb667d31d7423989d93d74bf236839d32da559cc64683292b3d8a64fa4b067d65c0530425422161dd5cdc86a59fb12aec10249747916f3a1d21049ab3f7ad446afb06c69e6c6d869d65a46e90171a0d562b3200c7b7e9490d4a1bf8eab7a1e7f0c21295bb4a839001f16ef843320e5f4553cc9a81413fd05a0caac108380b749eafb6b29b86d25bdd3e955064d6bb2 - -COUNT=38 -L = 2400 -KI = 3838023c9740ea72c10f80577149a03420d6a321 -IVlen = 160 -IV = 93c58268324cd56df2e1ed4d21156b63caa187cb -FixedInputDataByteLen = 51 -FixedInputData = 81fd48ee368300f45246e0252044a6e19121b9ee2848dce726f2e5056e5f93137d713fe3194941ba28d07654745e32d16844a0 -KO = f8d4174b64015adf0fe44829c97c9272fcbbf065a747358949dff3b1a359098851d0577ede22d38ec2217da1868061f8f4cc1a83d8de784c37ebbb475c37c2b4eecdbe31d13268adcf9d7c73df4fe78a2775035ff43c2b1a6c4a013a6907722e5cd62a7c0b105544f59c2dae309f63fa6017b17ed9f1306f48bba14a8d55ce67ec447f4aafda417277a30a72feecfcf56702020906203467b398129f48718c24ad954bc073650a880ede43df983c5986951d8e97071acac05a4b1f1b10f0b227c5852a58182eaf5bc8a42aa08defe168faad44ee87221f79ab7b9872a79c60985dfbe4d45971733f8d5cf1eac35174be7f323f44b4374ec34e0714a60da64c6d3431847ac8be94e9014a2f49e3dbef2b5c541bbc43a4ed6f0ead4b2d49e7effe949ba39a4341050f06c6eede - -COUNT=39 -L = 2400 -KI = f9fb432d5f9c9b1e2e2b2bb3c507015996d1d997 -IVlen = 160 -IV = 9ab25c6fb35018335c903a56f362c95212a11fc4 -FixedInputDataByteLen = 51 -FixedInputData = b80488be13a87ef14fb74ad143ce5c8857e04cda264407fdf0fb94aecfb35cd3113f88af9f799f40ffabee1eab005c5952c017 -KO = 744ec4c4d1522d1dae44ae9d44693e4c832351ea70cb2e8c34d6833a4dfd6aee81dba3043a32dcb5aaf281ffd5cacee022b8ba5f071a6e28c06cbe1129e1038f2c9b3565f3bf3d9df21ae9ffb0a261d501119257ddafb6123875860f51ae63fb379b73f51ae47c4c7a58dd57052a5a6cb110fffc54e2037e6e0a524adeffd06b13baab8ba4f99ba329de1ab1fdaf68f07469ba908607cceb1e5a6cc87856d730774c526e2fe8eb4cc87f39e07a4b78aabb67a395b0fb6e15cdf715950d417f65ecc0dc1e4a267a38a3b9742ffac4160b7cf72c8960731453976c6a78f5025ca96150dca0dc4cb44a25e8b3a7ab7a65d992a188bf253cfd2790595f82d01c7b3d353dc7922e0857ea2d4bd222be67efbbb9bc7141c59ac120a1e8ea9552c3f91f8f10528e0721aada0ab77529 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = a14f23a12da93814e074a704a8186737480b41fe -IVlen = 160 -IV = 9123dd0f2f0e3dcb8e733111a65af8ff55d0aa29 -FixedInputDataByteLen = 51 -FixedInputData = 23bf1222ba374f344392175ddac2080652c082ddab2e02e67b03bc4c1fc000c82b561e1fc58906b42bc22276a8349b84022fc9 -KO = c28379e303d0eff2b4366270f2f6b638bb0e7b5636cb2049534c2b6e5337b10eca7d4a7aeef7e17bf7e01db0539a182dfb7f9d1de85b27cf845298c63d0135d1 - -COUNT=1 -L = 512 -KI = d7a958ff8e10fc4990edc6146ed6c19389a88ad1 -IVlen = 160 -IV = 9e695a102b2f1a8989758b9f436a76519fcfce23 -FixedInputDataByteLen = 51 -FixedInputData = 87246f8b64e24894f0a63301dab0477a9c64613f53f002d33a10475d4ec0e782e7ace979755e9acda72272ae2c616f435b5c6f -KO = 46167892cffd894beadafd3fd7b5ad1d7610d7e9e928a40ee107fccbfc88f895274746d0f0cf1a97036b076a8efb127cdbd85788c7dee5d7009ed20eb2c6da19 - -COUNT=2 -L = 512 -KI = 47ae1179c6a5d62dd106246d319b6bd3271a76af -IVlen = 160 -IV = 1146be8706c2b8f196ff801974e9728a3e6a7c4d -FixedInputDataByteLen = 51 -FixedInputData = c08ca1cb3b26332186aebaf44b4396dbacc7d303ca1907d73c040d4cc9c8a7ecbe20e64a2612dd39738b06a4e40d4fcd30d222 -KO = 64542ae711d0fa2b094973dad6a34285e6b7b962e8607a0a7a49a1a4aa1856b6f9f4064fe55f1da39151595d3cb8546a19c27bfa23312a33e8e03a73382282e9 - -COUNT=3 -L = 512 -KI = a788264a5b214169d0c2e5a46b001b32cf1bb76e -IVlen = 160 -IV = 6fce6d8de456b1b1c37305899d18adffbd26d45d -FixedInputDataByteLen = 51 -FixedInputData = 2bd07a9cb499bf3278f689548d3cad21bfc936fbe420dce2e437d1b34fe608e0d789af082130d5e960f2d09355be0a0538b6f0 -KO = 9633b15591132e2c01fcb35c2f17e6d2168d23f67da7ac6cb563b9432a2276ed4dc3aa0313ec57d0e229e91738dd55376767d4af90fafc90825789d6b456aa12 - -COUNT=4 -L = 512 -KI = ecce65abb9412661a096b3242485ff40ee4dc3d4 -IVlen = 160 -IV = 624647ab4b32d4e5f3498e11348a1e25a7e71a65 -FixedInputDataByteLen = 51 -FixedInputData = f914eb7a1fb58d186a2d99ff37a5418d67b4e9e212b749b87aca7bcc7f1980fe45c4f99ad29c47b0de9c4b5c2248090c5d725b -KO = b0f487de405e6ca7e7aa877e41fdcf09045ed96d53a14354a9a89007bcf3d1bd38500da67c14ba054c4be073d60d6e0f6c30e510d8db18d10c13ac02a7bad3f5 - -COUNT=5 -L = 512 -KI = 2c64f0a8b5a2cc64b179b27dd0edcd8cf0eb5b9d -IVlen = 160 -IV = 4b2075e9df082409e0dec158693a3067873c6817 -FixedInputDataByteLen = 51 -FixedInputData = d9dace20a3b3dcbedf99f324d42f45380b362b599e604d0bc2f600ba8080eb7105ba50d992a52b465df56ad247692693de901b -KO = fcdaed2f36559033a9e945807eaf74a4a2ac0fe08527da0ffb7b81a8760c1baa89f61b934ab5069df1b784319278c56f8505930e9c6d80576b6da3fd7c7b057d - -COUNT=6 -L = 512 -KI = 0298290a49ba2122f04270197db3c610f9bdbd88 -IVlen = 160 -IV = 0240a41afc54227b8a461e25cda057ef423fe647 -FixedInputDataByteLen = 51 -FixedInputData = 9e69e764ed1bd7260f8adf2e7289ee95ec5e333aebf1bef0d046bdac904fded9512fb5c0f2a7cddc23a2e25d4f06346f2df7dc -KO = c7f2dcb21c51c206783783c1ea84cd5a0bfc1dfdd94ece6ffb825db47b513a26a6c837254d85ed139203418bd90c1800559342f0b6d42510c248d663fb780c47 - -COUNT=7 -L = 512 -KI = 597936438213c9d669cfd917a5e922a7aef16d69 -IVlen = 160 -IV = 3ea63422486a86373db18af1777cb96c02249a3a -FixedInputDataByteLen = 51 -FixedInputData = f08bf24d16347d99e1d70491e17700fe3d8413300bbf64b3ee8bff2cfd89e21e625e4bfadca6ff464bcce023265900e1c0057c -KO = 3cb1964ed497e447ffe11e2c40b8de8f6d3925716ce7aa18ed0dca2a4819716b6c4c7ff362d05fce8aef36b29304800f9210635fe09d78725f8ba2acfe68edbb - -COUNT=8 -L = 512 -KI = 2cd5fea0343ffa4c71329f6c547a34d36f928d59 -IVlen = 160 -IV = 11324cea6a58fca75afb09c5064147e59e0a3e6a -FixedInputDataByteLen = 51 -FixedInputData = 06a354a3d7234229b5b6a24af553d6fd0de106ae4385e2fbc766339c359ead41e53ac2c3c9ff521961839c1680a24fba1e33ab -KO = 628b11fdce02a42404ce46346db4ed65eca59529df4a6d700b3b56d3fad6656202ca644a1da87447e221d772b8b72ff2ffb1445f67bf1de4eca113f1cde7f9b6 - -COUNT=9 -L = 512 -KI = c2694bb88fa2732115aaf8008531882d719d9dca -IVlen = 160 -IV = 7d25f45ce6f12df519429fd6e04f0bab34582f20 -FixedInputDataByteLen = 51 -FixedInputData = 57acacac8c327cd6c9a6512924d2756a5f7797b98c43f47dc459299df47f80254c133fd4d3725738a2d7a368607463bde1ef09 -KO = e512c2d13477a74f07c1dd0deace53a43fef898b093142b1ff196dad916a4e016bc9b92fb29750e269938bf76c2c16f285f986726109c6b34a203438d9400d60 - -COUNT=10 -L = 2048 -KI = 9589d5c693443f0b12045c8f0f4a2b5d4d53480a -IVlen = 160 -IV = 2e749bbc0b2834df66f497931db8a5480345dcb4 -FixedInputDataByteLen = 51 -FixedInputData = 77abca1ba8888617f99dd0f784500e39d01073ce990df2d73e87b5963a0365803fa06fd449d1aa1399d686c4273fe5d50e495d -KO = 3f0a7eeebb04b96051444557f206913d656fb1a8cdf79aad27373ee02e9848aac29006a0951c31a26f10d3e60b5983ee8b1158a2c78b148d51194c8085c68418eaf7b60f62cb4858250e909f99aac4fdbb880838cc16da5c4257502f8656ae7233e0b62295b5ac1d7a5cb6908062ea0a667b6fa8a11cfd87ebde292e0925f11125f3786db341e30fad22d231c3de0f81c472d4ca2b9d82f97c9f6ff75d917b3aa6f27522abeaa9e9386b83c4204b88faea3604b7b75390c0da3a0d39ae42e7f1a50297cc106b53945074d4276b5a9d1b0fd7ca2475731f02b266c259bfe7be0ccb2ba19b3b7bff3e6c06b941b69a1fbcfbb612e18bdd342e8d42d2910e2edfc8 - -COUNT=11 -L = 2048 -KI = 7f7a4291bbd08cbc160a25c2db096795d3aebae7 -IVlen = 160 -IV = 7954b8f13bb1725930c385e4004f35312d48b71a -FixedInputDataByteLen = 51 -FixedInputData = 9b61873578d66bfb4bff227801141cff8b049c2d1521e44d31ad058a42d1854e10cb1b1488b5100c608fb5901d3124c348102c -KO = 53822d157c78960e8cf4713f8fde17c1de411f1bbbf6fc986003de97a67bde56b736a141b324f9f400719306814dfc94c98d13bea0b6dbb28bdf66c3000b8e460ff8ad0d6256812bcef22a53524a69f21b039b0ea9a73c266004d79ae908543763932847c422b828d18072218b8143fae60abe631ca822b0a823d1e261827e43deeaadf9955a07074773d678722bcd4d0c0104efabe520bfb1cb4f9eaadc121545b2a5ca98f81a44ff87f45287ef6912ba336d1d33c787ba4949bbce5e6cad721e5d7d2a1fd189da245b92e61eb204d4d5d32e91e6bbb8810c228a00850fe8bb31269430745b8ef48be0d1fc2b8afb1ac0f6c8f8e7b63c3a9cd6636ad3cbdc03 - -COUNT=12 -L = 2048 -KI = 3c72296bbe59183c838ec8e28b14d2593403e701 -IVlen = 160 -IV = f11c44fe6d64e19d4697b4577e08177c07799908 -FixedInputDataByteLen = 51 -FixedInputData = a4eead78f9d2ef7e6b616244885cf9d91587c7d5beea10892a4aa10674bbaad0fa8dc5bf445502e7f4d5de537db90623acecf7 -KO = d4c6f4f1035eb879ce4d80f0e503ff2c30fa2f93932fb0f2be73789eab8d02e3a10f69a152e96013eab9aef13ac7ca179e3e9c019d0ae28ca9c69a4f6c9abde5c3a91af91f74c10b1c1958ca93b94a040e10a83710d88347e930b8e6081be482ba768c21e1c19aa002670099fb4c8c391ecf8518b9b167bb883469469b770689f1235af5f3fa0e47ad6bfede21228379c4c693fd1135e4de40a2e5df156eb1a0c491aca7fb0c5498cc8886cfee135c9d7c2f42ba9a7540fc87938bc43cd9bd849f7bceacbd7da34dc83bb23d3c1c6f4350787b5dfd2e7c7f103271837d91c5376067545d2363778ad1d33847cb08bd5f0798d44383f9d67985245d9b00e92388 - -COUNT=13 -L = 2048 -KI = ee30c9cae52e539dec3e83450c5b863005adad25 -IVlen = 160 -IV = dcb0ccbce4bf070bc1a44dead459bce605354d9e -FixedInputDataByteLen = 51 -FixedInputData = 98e623c72acf5a5d84a141e2384073208589f4cc705e0f06f2f7cb87d97a1b01762db34d84f9f937e5f1aa0838ba5e085a7111 -KO = caf026cd32507cd25cc70a537de9c04351071dfcf8bac36979ab61c56e42e31f80d6c7ccb35d6f056b3080f3930795d3249a91aabc4cffd41487793c12006aa7760efb65a33c23548848ed96596931bc68d8f2cf869408a3a8905694a3ce40807eb2a64b7d66c0a305f8048d04890bb3fdc4e326cb16f1ca39195fb6028fb022496f8e793e3e49347eff3acdc70ccd5404984366da91cf4f92b1b8817ab36cdefc2d2d60a22e5c140a60e00fbe8b26dd699706b31cfb2ab6d393f2a30b99112a0b474ea04efb82b63892230e832d98af4385ef4d8a89f83f34ed57f1dd15c0c9be987019b13bc297016a6c9a0c539b5de5324306d80bf0f91619d350600b114d - -COUNT=14 -L = 2048 -KI = 29ec8db87b50ab46b025fb54abe4f22836be4839 -IVlen = 160 -IV = 917e7691e3eded756bb4d31907d8e27459dae8cc -FixedInputDataByteLen = 51 -FixedInputData = be2816b6a0eb8d8d1f2fa03ef9d29d29a413578e9c78e104edc4b51206c95e8de9e1cbb85704b4ea5520586dde77ce913aca5c -KO = a87bfc13dbc80fe98894332da0bdf749c5c3c92d22913db5faefa1b374d442c445e37ce550b30992a806eb18087f2ae86c8cea81e3e79aad8ef02cb8a24e6aa2d7ce7bcffab81233d360b325c24a41c0457dec491041244ea1dd3cdbf75169c833717eaf25e0d3c945a52da9a4fca9451ed6692ba7b47d49e27573867ac24228651ea8440721eb4407695a85d8d104817d8e15b844e3e36c71a810e8ae9e916a09414b7f6702e8a31ecabd3e8785dc56d28c8c72dbe4d9f013aa0e129c28557bd2d0c52eefa99cdc65f048aad0d2c25edecb7d06610cafee33281edd6bac5ad6c19e64c5096fd38ef07b05d2cfef41f283c95c862dd9a92ddcaf80e0e6acb6cc - -COUNT=15 -L = 2048 -KI = e657fc356ec3e09fdf9f5aa30635b7f96e691f36 -IVlen = 160 -IV = 200cce9ec8921c694d4de500faec9a1d066be8e6 -FixedInputDataByteLen = 51 -FixedInputData = 7485b4d07c4e25815bd16e8a12115d37a09400c665c1f5b14244ec92ac692f16c8eb3cdcd49b2631b41f4780432294c1064bd3 -KO = 5cadc1a10ec3cf20df91db62402fcb33826b0d2d26cc49e98c6eeae332041613f5c7e101c079207747060f688e8ef12321385a2b69de7ae6cd8bcfd369454ceadbd498af15e5e39563140d9f0638c01e3d8a95037e4a0cdbd230ee6bf0c28733ea5c435503a76aeeb2bc221b7b2ce04e96029df97a6991fda76e70b4ac15671e16ae10fe6ad8537426458393ef0f9559112f8188b53464a5d963fa4c4012f350cd57ba8a3c42d73e942aab4961fadcb50df6a67bfa29c7ce726ec824fd5acdde9104e64fe766ca6ef4d7ffcfdc3bc76acf337b4d72475355f5cbfa2e3c9f9d88629b9290dcd3ed84ea9346c6d99a211033eaf931b71f9d2ac35e2cee93662b2c - -COUNT=16 -L = 2048 -KI = 12b287720376952e28416bc26ad394145f73da7a -IVlen = 160 -IV = 1d011cbc953acc6b4f8b4e264898d3c612548032 -FixedInputDataByteLen = 51 -FixedInputData = 0ea9cabcd72e2459f0bb89eff19b4abe62e46a9cbe9c0f3b105391b1a79b124966fafebf734cb319d3522c307f916614b4ac5c -KO = 517b926d5fb243e1e45eba60702f6ce89b47f725bcea42feb63795490ef5d98b234e01b7d09c9db6958c04c8ca23153c983338835a34d27f8ef2021826334e45df9f374b67578353020ebbea32efa58825ee9a1ff07f57596e29f011968a2dca2eeec604186002d1fb3e9131c4a31f16ad8c6ae749da4e563d1397cd16d79dba873a3042a06499756813219cc5cd3dd94b0a4a897f034a0c3b5e00b63b0d6c5cca3e6c87b7e399e9e9a71773284ff78a713ffda7d54085ffaa8fb95b02bd58db12311555de672b891f07c6d3c55df7ddf67b965aec638b80b5d810db77321ebed0467fdcb4e2c2a5a8954cbbb7741f3c6295654ed1bbb1696296416ac788be0e - -COUNT=17 -L = 2048 -KI = 6d68f06a3e5d9cbcb567d41d8d743d80dc2ef26f -IVlen = 160 -IV = ed072276cc6fe95cea1d015ebac3783fe80b8071 -FixedInputDataByteLen = 51 -FixedInputData = bddd8ff8b17518f7a307791b672fd52d364378c511f8048a7f71b6659ebe6b9e1940440d9823d077a0f1a973505256684055a2 -KO = a11597a3b8ba1b87c6dcc46ba80840858923179528c92c0a196ebec1a411d7a3bb999550e60e4f10eeb2f8ccc2589ebd7acfa982ec92e50a004f993fb369d74c5d471de953bca557f36f84954b5719cb596fe69518ffb5b90037186a653b59619e6d5633f84c242a72dac545c9e5ee3b24aae664c75a5868e39d31ed66e7530e0e5d33bd290874f4fd35760d6c13a8d430d8b2900c31d5d52fb31fcdad8ae0700191e02520d7d16d968782ff148518ab81155b3df61d1f7bc6ba27c4431f73d9266a3e1d0819f91fde3c6ef52ef9dd9442d2133fb14bf02e135ae32628a14a47e193f5892b270016d0e6da9eccf72025803fef7a332fa6f746419cf2fb7ceca2 - -COUNT=18 -L = 2048 -KI = 509e48e3a290bb0f8dfff732f8942ec125cd9020 -IVlen = 160 -IV = adec50497d54613f7c32b3377e88424fff08dbd8 -FixedInputDataByteLen = 51 -FixedInputData = 69974be8e24c28442d1d6e87ffb300371c8155f50d15d290391775759516a940d35ec3ee7702473cf40c2d4977759588315ef4 -KO = d4c1efe058f38ff0d6c2e597b34e86ef7bff6844ab391d6f690a9f9560f53fdc5a6f7dcdcc059807fc887a9f6668ea4615763bb3c1fd64189d80e6b8845e3053aa352d6dbdac231ba34c3a11f2590204f2e12d60b4dbc40c7d3763d5bd6d1b53a3edeeffd8155876286ed4241a1147ccfbda942237a5aae668f9f9af4815089fd00b1e40c9a8360d5e02a7b0201802bc79041dff3e67ac245e96f65ac3ecac52b142509b9f87128041032b7f79c245c8816f22ac4048d3c9f1643f3c6c9110b99336f32bd884ec0d20cf618816a2ee3ade3186ed3475a471c562198feae205b9399f6d84cbb65e8b7f44a0ae3a7ff8dd5bee1c6829a68e43fc434fc2ae767b27 - -COUNT=19 -L = 2048 -KI = 531fc74197d900d73339768aabd028cbb7303fa3 -IVlen = 160 -IV = 07cb8fcaddfca69dbdf600f40ad672094b92de6f -FixedInputDataByteLen = 51 -FixedInputData = df17055f526d26d793fb55e36020a4cc594f8dcde8c4428b3da2fe17e8c8dd3e308c8c3ad8e42899f2dc510fac4914accc185d -KO = 61296a693ef293f9e4a6522e74e90af28b66125f2831ccfb81e5366b5b7e8ce231265dde93deeafedac18e833d849736a454cdda5b044a3f4adac9d14f8e406f64af6c84a7bdc0d612b596e69f7893ee9476a46d77db76196dd5e57c5639f9b18fdec747263c83486e53dec01f92c8bad266006d6c46eb4a105f919981b64508409bf716490c5328e743592c694de44f821ca6ae77de13a6212a19a778c5e119036d54cd35f659b28cb60cbd13f82a866d29457fa4e6a6c5c296e226b48f096f02bd26d1f07430802fecae79c419ab12156c186aaa130f1d0337c1b9722313fad5e04b28be0e5c142f4a90ad29059991c642118ce686ffbb0fbc8708e814f4ab - -COUNT=20 -L = 560 -KI = 835f23c701f0272e2abd01ff853502905feec86b -IVlen = 160 -IV = 443b2bc1bc18fdcaa98722dd36c8660d61423827 -FixedInputDataByteLen = 51 -FixedInputData = 1bcba2b23cc01015079f44819cb024337f064be9905819911f645a35dab855f74a669361d5ed898a4a0b26716e5a8d46a7132c -KO = 26a1c3a0740c2d5ba4c9ffa8c3bcb84d5fa5b101b4afe332a57e31929a3b3834eca4b4b04e5a7091f7ff369a454ca4d0dc034a4b2932e4f83ffe6a3286fc356aedf9a6ab6efd - -COUNT=21 -L = 560 -KI = 419f92b6acc88736188f84a785d1083a29107024 -IVlen = 160 -IV = 183a9de7bc83b2121d58cd0f2dc6b36527e75e05 -FixedInputDataByteLen = 51 -FixedInputData = 72d0b766e664461de148dd0bfce0b3b4a3921b0a1757fd67ed01d7142eadda9ceda73948728ada1c5368bdb98a893ac228a94f -KO = f3ffe05267b3d391ff01ec146b282c10fb635b0901a2cd6ad0a683eb19ed7f4e1051394b631725f4642df3cb7bc2a111dcdb88d9fcaf8549a73214340cf0f7865e47635f1928 - -COUNT=22 -L = 560 -KI = b8745fbb4673edbf66a68bc4d25a69cffe1bd349 -IVlen = 160 -IV = 06c6ddf397203b5073ceee12ec584a5d3d1b4782 -FixedInputDataByteLen = 51 -FixedInputData = 2f31491be0d43f47e196a4ffcb56984bc7c3e96a0ebee2aa98242051f1acb83adba620816adda22a9c4f57e25b81a1bf21cd88 -KO = cdc3bec1cf918a7bf2658e999c5512cf0bd9c32195acae12582cd6c16e6bd5425d143c491f7bfcefce662652356d9df0672a2bf6ff229b117fee0515581c21afc8d909516234 - -COUNT=23 -L = 560 -KI = 8090e69e3f4b22ca8964ad204a333bbaad82e9f3 -IVlen = 160 -IV = 42fcf6f37cd6e6f4900349b8521150664c89ab5b -FixedInputDataByteLen = 51 -FixedInputData = d69fd232ff5e6d7c9c0da25880ffc700949f544e6be279f00a29e6ccb9c1331e36b0f4de86dc50024eac09b213138e65a972b5 -KO = 2ce896742e6469e7c09d2aa9457d58897397cddb8bc55ab209c03875ea875c66fb75401abc12c603897f68f2215574bcac8f19d65a1f7ec70fb59087649aae8edc5b3fffe712 - -COUNT=24 -L = 560 -KI = 4d94ad3fca39b985c292fe938b528cc62ddc2a6a -IVlen = 160 -IV = d521a12502271647111aae3be29ac4919fe6d25a -FixedInputDataByteLen = 51 -FixedInputData = 96509ea6d4541d611bff0fd16c6eacb3c92fd0392370f1106baefa4e53b0910cf51c0b769ce0a0fc4bcc19d6717819140b24f7 -KO = 8184e735dab2add92856ba9abe15f3bf1c3370b0e3eea4589392ae43d1d252e96823387d3c3cacfae364b783b437b878f7340c4e465ee07767a1300ffd4c242739634adcb921 - -COUNT=25 -L = 560 -KI = cf7a8899ff1a4944e925d7c70219d430953fcfa3 -IVlen = 160 -IV = 2714c6105d94d08a800134af0bce0cff89982ee1 -FixedInputDataByteLen = 51 -FixedInputData = 6ad2b497b66616c87349d74b85c636165b98a670095d63b4482c31776bb21665375200220ceaf9b16cf66bc3fd8ab51f243b84 -KO = c08f491022a9fabcdf7819c41f64d2f692386ddca694bec8db44901944789f9e0f2df0726a74bb291019f2de89e435dab69e895e4f14ddaf09754447f1eec588257f53f2eee6 - -COUNT=26 -L = 560 -KI = 009c4ac1d2bd8ce87ab3f5cb24c2b1b7852e054b -IVlen = 160 -IV = 360b633a3b76c3a8aa67a4c1ac6277a13cf52a6f -FixedInputDataByteLen = 51 -FixedInputData = a33e0381a5b4ae4ab1db94946b74abfd02db808137de63591324f503ce66166584c351c5235c84b823d6bac29f0abcd6cc04b7 -KO = 8aa51bd9ab144fc3be59fc0835f97085c188bc31fc5566be5bf95ebf84882974695700d96738896c91f5b03fd49d5139bcd4c65bb04d76b5ef3a99b15057cff1dffc10d4fdd5 - -COUNT=27 -L = 560 -KI = 100c79c74ba037f2bd00ce428f832fd738a07f10 -IVlen = 160 -IV = 6d31b726ad72c311fbf5bb200847d395100a9d66 -FixedInputDataByteLen = 51 -FixedInputData = 4f1b0ab6fa9555b756ea2dc7db503d7f6f8ae91b20907ce8055017903665fa244e467dfa9a03d57e74185c332a49d680fab346 -KO = 365cbe60a1c2f3e69c01ad0fd36199f00eeebf9663123ef5ef3d8e623f9ebb2306619a72989c75d980d55ba262e44c7251fb24a672294c4eecde052da687b9f861970735e045 - -COUNT=28 -L = 560 -KI = 1fa8ed645f8801bc1ed8de33eb3574390ea05f19 -IVlen = 160 -IV = 285a2c7c0c1b8bb1f1263264f052fbf0bd74c7de -FixedInputDataByteLen = 51 -FixedInputData = 72bbb62ff7fea5f65413fc4f8487cde5b9852a5319029686a283583e5f56dfeefd4b81e05013c60fad14500fb016329387d1ff -KO = fd3a36b6ca5a2af4763f679192d0e3c703471f7ab65db98beecdbb9d659d6cacd08da9165868a5b4e8ce31f02ce373b9feed7c1cdc43446d8b3c4c0cca9f9742c4f8a2f2f659 - -COUNT=29 -L = 560 -KI = df9e8826e3da5b52953cb1d22ff5959a26a57b4c -IVlen = 160 -IV = 7695b5d7738a4d3036acd71085f5ccf0eea56edf -FixedInputDataByteLen = 51 -FixedInputData = 6f8716fd13fd9df616fc749934c4247d8e0cfea7cc0470f14078ea942e783771e72765851f6bf89594d75c4b23ce0c20fc6973 -KO = 95ed7893272d0b19f47e29a0d861c47ad65be7ebc0409e821806ceb27c6243da7159d6cc775d0d2921d486df93ed3d175a662fe690360001b689aee4b937c26096dbc32b6b89 - -COUNT=30 -L = 2400 -KI = 1fd9fe72bcd0c8f499a260b1bcffd9f7d672842a -IVlen = 160 -IV = b99d394b0baa1bf7b7c5fc5b0da6305a931abde2 -FixedInputDataByteLen = 51 -FixedInputData = 3afc86a4f2d8214c305b251b2b0da368950f7ed27ebb7563129fcca4ec2a73afb27a59acc7c1a7d7aef53c4e5e802675ffe417 -KO = 96dee36468d2da1cf326d0a85ef2a18b6ea73a2be32affb52d38a92b76069a4093535bab5db195d4d294cfdbe26ec2f8bb752db9defbcf667dcd8340301e56306b2cda079ee5a71dda90fcb2c92496aa9bec56e563f640a0fa885a9f00e688a83c5a6a0fdeaff09adb69bb03ba45d329f7529c31fd1252908d263f58de7c426a9b20d2a396b9717bcf591ebd4ca6e9898e30f065ae03c3a9b3ec5ae43f306e29f60f159d359c05aa7d57816431f8287784abc26c75f8733b9fa9fed8279d0e4bddf866fd8548b448f45e3c0ebb6c587ee5e5333d97ad9ee1e00da15336d19dcbf3a0e0a026722c6b41d2df19d80e66c19e14d2492d080d510f84182a6da75314a77b14c1f4a4d2e4823131869a36336f762dd2141d36ed918c7880004a0bba41abcfc2325e8a74a532c8fb09 - -COUNT=31 -L = 2400 -KI = abc0973c7afe48ab24273e5526e6403b4b9520c8 -IVlen = 160 -IV = a272807ddd06b775d43e15fdf5847d1c3c6fb906 -FixedInputDataByteLen = 51 -FixedInputData = 869b46bc12f9cc85b7e0268a2c3f93973672573349ed29add6a6f40d70e88f82b530a01dcedc581b2212ce491588bda2682c15 -KO = ae6880ac18ec6513c054747596d00c3e884f3d0900432f3719a5569b36eb49b56c343c4ae81580c8ae1a3cf90db7d79d20cbbea91438251e31bc031a5fdf7752d91babdbea5247c3cef3466cb343caddca1d966a2323a273e735e776de1096c6e6b97cff52554d1a548d129f3d8c4f2d970cf0a0126d4b28a872e4569e83bfbd67fe34198cde75a0288287f746a5be90f5b49984d195c81ca109ce3664b2b14b8b0a724492f98562e08b4441db3d9b871ab98d525df6040771d5196e1f7162f0908bba5e9cd53b47589b3f9878b6e153d6aa3ce96c3f69acada104f3c0716daf07cad79b91bd33da857f28609b4e8951c708e6cd12335965850ac189beaf46bc2cfd92782cfa7ed62e5801e3674038f57f72daf59860f6c1f3db5f8699f7c9565b47f94a91a64bbd0fb13027 - -COUNT=32 -L = 2400 -KI = 853f575246cb2680e911b8c69bbec2cef3c0f938 -IVlen = 160 -IV = f34e4a466c0be45c7c4eb9e1d5f561fc6ea99de5 -FixedInputDataByteLen = 51 -FixedInputData = 4a1f5b66de06fb8477251cd1c1957c1c6a6414c7757c80cbbaab863cc1304fb2b7bf64f3dc4fe3ca891cb3b587fe4a64c38496 -KO = dd47da26b91326ad264b790a150926f650ff55ee239d118f8900e287a2e167d4ed8261375276bfe534fe9c44f5eff254c038116cd1c5a719cf789a23fb10c03544786b07f9178b8712fbfdb4ab16a4be8b03857c3e28a2a752da96a614b2c5487a3c72e44613c57df73e458c1f84e682690f2cc761873e43e09b7a0e3cf4f70f1f01b85a709fc9a2472bdbf870ad227e21fb750769b27fb17568a7df88547b271a1b7fc5e043f104c8945dab6e89fb51eba550365864c36de2d5dcd78351ac36425e717b5959f3c8c5b11c59d825d416fd54b5db60a2d42011b7a76948c44a40f3c626d752b0ba7d038d12978499ed1491eb172f6694eb62b6477026890ed3522b93526a9bb0789721eb1fe486f6ce4786c5a77132fdacae060094225ba48b618ca67b9c0e407ef74abcd1f7 - -COUNT=33 -L = 2400 -KI = bb2a303bdd659afdc227e2659cdbe1bf554a63fc -IVlen = 160 -IV = 963ac1ebcbc3251bcc4b5f5e68e734ffa56683fb -FixedInputDataByteLen = 51 -FixedInputData = cd296a845dbccd8d015e652cf83974cfb4be0ab647d84be9743af3577193100ad16a481b34a6babbd113a092a1c3f1f1919fd1 -KO = 86778810803a28fb0d85be6a29f3f7ec8a4931f63810182dad04009283fdb03908d375451556589c997c2adb7aa435b3e9366f822fe1911db2349425ba284df243f2561d98c4cd1ec6208ce620664d5f226966763b59b39b0894f196c1ff4dc4c274190bfb625f003d65f80b97efea788ec5fc1ec75e58133c9aa0df983ab6c537e861d4033b93d95f317ea6b4504b7257eb172daa6e4ca09233ded9942b81c8a937b69b16c14ef969450ba71880f6f22908593b4596320cf74fa3ca03f7fafd22b8c5c3e9e3afa4622f3344c58a5754b0114a785532885f1c9e07fa072d4d302f1415c09333412b2306b08745ec824921ea436640d11b7c21f2d5acaef3c0dff66a8d54c86e7f84db7dc34250ef3946287b6b3226967fcf15d95ebdfe48db65acd6cc6ce60fba88f3505fd4 - -COUNT=34 -L = 2400 -KI = ce03e82f55f0e6612cb209a1711c05301ffc15e5 -IVlen = 160 -IV = bb27c5ded8cf021179667bc690e1f88a3b2f64f8 -FixedInputDataByteLen = 51 -FixedInputData = 7e322bd8341ac3958675948cb2f4cf984a565a07b03470781a3f05c41c8e9e9dc17a9fa5774f48531cbdb725bc8ace41ad2a1c -KO = 477f011b3e0abb5d18b5c50d7d4a8e5b944194deeeb00c1fdfd4aff77cf418b0817cef6a493a7d35c3798c5abb8ab7195dd69ce73fa9015341c95cc69de7e1e8ec427bef6d68658a6bde35ec7d8767e4d61c1002e6e2aba5b4af577345c40205280efb287ba65a0d02fded50268cf86aef4f7e61b2a123f598599ca6400413eec546724cbeca624d8e4650d5b303ba9c86e38a0ad42e26da04b59599fa3c0a9e54ea9bfa1ccab099a73a29fb222258669f46017061267133860fa0b14e560e9065e118191f4ec54bf262d23eaf89cbf5a7d07674f0b33d8dfce94c0f82e2698d53ff3197687e0afff1b08726b0f4c8ff7bfd7cd325980ec430528224362f894b2bd25dae4f8e2e6be986a165751e3d2f86199c8058ad2402f51756888d9f7fd41fdf458af8fb8db1f4e8090d - -COUNT=35 -L = 2400 -KI = 03565449212cc7bf6ff30f5d2f22a8be69bf8d9f -IVlen = 160 -IV = 4c53f0d305043d824b06535714209ca17df9ab4c -FixedInputDataByteLen = 51 -FixedInputData = 0e130801842c804842036b5b0defb232c62b1c9942ff4fc2941c6abefbb9ddf5c3836406541d42744ac0f085dbc256c11e40c7 -KO = 5ce29b5523561b755fb79e541ed13b9dac3161a2ed2d3d7bd7950b7bb4ab62ad994feb219ec5e6ed7786062a85bf13116242ab491518de90bf6752bdcd775e37505c0c016386c9bf49a61fa7b60a9d74f2fd478ecf3d99e6a0b5de4396e0b293accfc099742a006e3a1f888b8186a35bcac72bc90a7db1d624338088aa2b64e8e91461ecd415e7d91dd04c2de19ddd0c6ba7e39e27447aa83268dafe4c0d00cab8ce92850d167c3d66fbf4a268979887c643f540bf228861c7c823d1d2ae070dd34223596a44cc6f27a021d60019feec6f9763d12be3dbd7a1e8574662382ec903f30bd286b5576e932708ab8287ce0348ad2a8f8ba7d6609c3c9ae995321258fc4fdda2f15eedff2908c6937ce05740cea397ab47e46b9bd1249a98a1178bbbecb3907cfae046b4264ee0a6 - -COUNT=36 -L = 2400 -KI = a7627e15514259e73aec6bf363861d01ce39672c -IVlen = 160 -IV = d221dfb593c4d6ac9ae563bc10d4b3a4d3ba80f8 -FixedInputDataByteLen = 51 -FixedInputData = b0838b267837f4fd62a273e3ef602d0a69e36e911c8687e7ea829c604e849a2c9f3e232f5ff7aac9d87c47311e9f1688b863e4 -KO = efd5d9926fb0e4d2a1628623d0834b7d13c78905ab746b56ab3e693b4be11b08c427afe4d8ac9221c73412b07dfa4425fd0bf7b825ba96a03f21b1f37bf11407b1f33f706f5258f515182df90aa023dd842cd333068ee99eb1bbecd80c3789469dd73d7b0fb1a9b0e2374241b470548a8bf78a6ea63b1d396717b8edae1853a135c84a6a66c4e1ef312dd6acda9fe44f124e72152993fad44777fb8669252f977155f525ee9c1b96a18c59b18c19b399bd89431627a9a7db205626d0064d8311682b1f3438874660467e3f294b06fb745114368378190e3b0647a958aa80f2c64f6b68daa0f0be99fdbfd6ddc3952f1bc1cb030d192496c871fc68abfcb1ac5fd9bfcd08781fc2bf2f378c3c030f82ea95048c6a7f39d0bd80851a6c73c50098ffdf201eee58c5688208cd26 - -COUNT=37 -L = 2400 -KI = d934c2d502ee802e8c4e10dfc98354c5245c6fb6 -IVlen = 160 -IV = a6fc7317a0411d31bf9dd89255877d42b3418d4e -FixedInputDataByteLen = 51 -FixedInputData = e0f8864cf9c4393fda7d253d66a4cae9013239adeb0ef715b400ea427300efde451d6c305050e76faa66b2c3386cfae49b5ec9 -KO = f75bb06ffd56ac02b6a3bd865388343568a6342800d152c460274812eacff0ba3df3a47d8001677ecaa14a3eeee402d596d3a1f5087330d6b75880791df6d1d1c29693559e2afda68a9befca00b253508044e89a4f7878331b9a74966014deb28353591e90610f970b79116be7052bf1904d1d5ae915fb12a8177704eb4a8678b8f27368546f77e413785775cb0499463409fe05c6854dae614fde1b9f2e4246fbe053fae2fd3b75c33eb62344fa88e5ce8daf6ca7ed633e6b8282ddabf2655badeba2aad74cf8e0b183127c3e45ca25fe3bc1b9ce51cc7357af33c5b9a10585cb663159b7499a6896a690e3af69abc13bb19c250352454a40f7ece58c9aa65ea13ef23852c691065c02261fcea321ecd338243210ad6fab2ea2440984697f53b38384becf190607e12d160f - -COUNT=38 -L = 2400 -KI = 16b62a9cc55f61dbd2cac34592ca7321b1511144 -IVlen = 160 -IV = c5d48c35fdd8ac5430ee167c4da6c3ba861108d4 -FixedInputDataByteLen = 51 -FixedInputData = 388c956b3119de9d10a1b4fcb0cafd05919b274abce7f402f930c7aa4d9eba75656d98812691b1c0968d1d3382da5a439fa7b4 -KO = dde719fa688de98558789c4131b5dd1d9082f7fa8ff96a4c676c4b09e9221004a12afa6ecbe991ad8c88f80fae4ac0489427de392d472ba77240ae34098ac7b38b60c241edd4d41a4ab524f79468e680e114632b197cba0cd9f4d35f897d16c80d954ab600bc1abc1f7ed11cb99a85e3a1ca897417f088bcc263eabf7d26eff2b6b4144ca50d071b2bbee003d0e461dbfb885493171fe5d6b2d73d24580a55f907e2163a8a9fe62d4e3d69e6e91e839d7384926c71840fa0ddca519f465f2c64fc23517c3de71cba4116dde68c732b496bf444d84833c224bfc21895595481457ddaf717582d31797edceb9ef505bf45c91da1295fc2f093e732965ef1a8d60d78ccbd1ee4d588d8336cdbb4251fe2fce5745cb1a4155bd989e4312a9f59603ea9aa3a780ac98c940983699e - -COUNT=39 -L = 2400 -KI = c1350654616a90005877dea2f9af688ee9e3006d -IVlen = 160 -IV = 413f9c44eea9b79193bd186327fde6cb3bfbb80e -FixedInputDataByteLen = 51 -FixedInputData = 9eef73ac415a352dcc55aede9c7218f0b378f5cc2d0570cac66d6bfc30862d8bc4fc6a3865fc731619bca18576d55145cf2a81 -KO = 5ef018d304be568dcfdee2968bb9c816fb46f39c6c4e7985fc075006561deb962a3469ed3d690bd9bc9de0c685482a7f9ba55e80f1cc088f00f0dd07a1ad6ab2123702d9a11f59a8347fa73e57ded6275711f65c93e0ecf5c517606b1ff7335b9d9b9331f8c00e7e25c1583a6edc70373c5a981fd826b6c3458d95825e540bdd633875bad0e8d8b1af07a8b1951521e26fe5b521c40dbd20c1add62b957b56ca02733844831a28e892abda4c4e7e95c3567656dcbbdc21304fa4ad375f88177292d5fff0a596e21dd638670663e43cdb6cc402e5d76b909a3834b6c048d28447cde39649a367f805da2b88e8de628de09db69e8f8af12e8fb3aa9e5501452d95122c0d1e5698e83907f2385c3390380eecdebd20cf536700f0cf1d73190fcc90b217a551186a821492106dfd - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a52175109b1460172958cddbe63a17d004154ff8 -IVlen = 160 -IV = b3adde8149bca3af6a888bb6862682a54915dfd7 -FixedInputDataByteLen = 51 -FixedInputData = 57b2e1a405de87b89078459859bb9d844708aca6f4745c9fd4ab43cadb65dfb0579e4e4140702e89433a4a059d6f5e132fef2e -KO = 5743580c5f21649748ecba8197100abb776f1dda3e3d27f07b3cf8943d3fe9a299ec2a1774d5826bd167005b710547fbdd61ea59b162e4f447c8d183d428b697 - -COUNT=1 -L = 512 -KI = 335c39241b764945ac8b5f86e19a5355c035605f -IVlen = 160 -IV = 63ec3f5cd34e134b73be8b897cf12b507f999c03 -FixedInputDataByteLen = 51 -FixedInputData = 1e3c25de75270346611173ce4c961ceac607e18506e69ffc881cab5e50d3221440d1339d96a0b903f143a7e6e69e396b22def3 -KO = d96ab5553b7e47d55d5c7c7f4ee30bddcb6be46a53d211a1505c66429cb24554c63490a175f1cfc722bd393af019ebd4130fc976db19e37b5f994517ceb3568a - -COUNT=2 -L = 512 -KI = a854c66b55e60c00cfab57e8f97be92590f435c6 -IVlen = 160 -IV = 0fb5b749768437a73b9147a15294ed8f2de5cea3 -FixedInputDataByteLen = 51 -FixedInputData = 2d0339cd3fd266c238f9bc34e7dc5c3a49368f0a89ccbe28af366f3319e5424a248a35d159436041bd850fe4b8e916e73dd66d -KO = 53145a2493133fa0db986b4bd51c062d477d87257a294108d09b920bf69475fda6bff0475acc390a5f70d4ce093d1cf19f8c752182da667d70357861ca65ad0e - -COUNT=3 -L = 512 -KI = 739d9478e548045a8363f34d8066e4b2ff68e8a5 -IVlen = 160 -IV = 6ea531e322742cadcefa060b418e6a16e813684a -FixedInputDataByteLen = 51 -FixedInputData = 8917745312f69c3be6baaa6b9d36982716a2d03e015b459d72999d65b900d256c1b500a5798f92651d0529773dd91f5f061d74 -KO = 9021a997b3b56b8d2f42009268976b45aa06d9c58131ce9679de9a901d6a9a16cb457b4eaed41893b97a265da4a57f325038938d8a8774100a56b2d5e4b53f90 - -COUNT=4 -L = 512 -KI = 8d24ae8fdf11300f3c79ab5f4ce3a3dcb8e9dc48 -IVlen = 160 -IV = 35cff53882462612be96c73da5e2d8402e0c0f5a -FixedInputDataByteLen = 51 -FixedInputData = 288ed873cf245bfd7da0183b481cd55aff7d44d87c5512b7266916ace32856a058649abf2b8df3e10d6bd889264cd2a0d38c36 -KO = 1fd4f515e0a3c1fb3d8457c91cf45816deb4736b5508d2eee032c78c6d3383f5c76b17e3c17472225eecb7414ac32c1675a49f7e195dea71c4537f8e70065696 - -COUNT=5 -L = 512 -KI = bd3695bff4443d9e735a1b737f7e8435aac3e878 -IVlen = 160 -IV = 68701a394ccefbde40462f9511b2a98df0164fc4 -FixedInputDataByteLen = 51 -FixedInputData = 496b0b0e196c3c37ffbb2740af4ef17b77b73f80ae22249acf0b1c571d34aaaad70fbd122145989027db04e7f66b5bf284521f -KO = 60ec5b7e58c88d386579ae2466cf1011eed69e8274d56253597bc06d1bc20fc373a7ffd3519fd3ce40bac5358d5de492bb7dfdc61554e9cdbf695be3328db159 - -COUNT=6 -L = 512 -KI = e0a874f3e811e79b6cc738d3330a3f460d1d0d33 -IVlen = 160 -IV = eb3bd0aced6f561ba3b168473c775d4328a58237 -FixedInputDataByteLen = 51 -FixedInputData = 6e38d964358fddbb39e802ed3ec0813c6c7e4cc1550320e18f20ed5e7eb88f6b321ed3280600fe2c925bd3b535fb1f8d9b8cc0 -KO = 40d5026bb07a6cce1dcc7bc421380b203e92a7bf927a4bf61bc581d165b17036ec1aad1749729efbcec6595f741fc6e2490a385d7ab32e55c2f6674b9a57685f - -COUNT=7 -L = 512 -KI = 3c8a25f880fdc0205de1b178fd0e530e4b4cc6a2 -IVlen = 160 -IV = 0e6f16807f151bb80fc634ba80d4510f020d5545 -FixedInputDataByteLen = 51 -FixedInputData = bbb72851796ad22ef45df2ea8dc583b65fd531ce6e87b7e5adb1de9e10e79810e798f4607a4e35e5dfad9b1f10639e1d73977d -KO = b33e5d0b0b01e09e600563a15cd713fe059cc9018529a194f9a7c504cd75c6040ba9dc3bc405091e9006e18c1e6f84f7b63a11f188643ff2e09eb53e1020f6b8 - -COUNT=8 -L = 512 -KI = 02290481fe1759bfcab621c1154174347549cb1e -IVlen = 160 -IV = 5ec78befb8391fc50b9edadf72357c9ec57ae55d -FixedInputDataByteLen = 51 -FixedInputData = ba5464d224df781ec9b4419ad62059917edd15689a76f737647aa513cc924ee16d7d5e6f6187410dfa36be80fc5f132facb517 -KO = b010118cc2cca5e90f3d973c5fc6e5650b8968024df1b65c57b8eac66b107329568f70b56a8865011a687fc7924e7ddee76a910e8ff013ea14862b7a0e8d17b6 - -COUNT=9 -L = 512 -KI = 3d23a40fff2da7655882311a8d26fb96cb103da7 -IVlen = 160 -IV = 2fafb06239ae07fad247cd5b33b70b0b77e10caa -FixedInputDataByteLen = 51 -FixedInputData = 6633aac47f6c2a37fa1c1dc9da072d54320dc0f8215e844c058e13070263ba58144eefc31c3708e306917d2fe48e01ba31635b -KO = 6103543b3ed5ffe08665904a03d69b613990eb03ffb6f6e9f8c8a0c41244dfef6c4a5001e6777237d567058f4d883956f0acf699ecc60c77fcbcb29f73b74486 - -COUNT=10 -L = 2048 -KI = 8c31a9112e45a1d6edaec95d2cdd71a0b05e73d0 -IVlen = 160 -IV = cabd0780e7201e85e0c2933746feb978406c096d -FixedInputDataByteLen = 51 -FixedInputData = 62e62d5acaa086cd893dc79b28de6cfb0cde0496b99e052d7e5954e9f34c1509869dddf4f3a1c33c625599766256e38bf36353 -KO = b0b0a381608a9cc49c1bfc915d79957bfa1b31a741770ae21af8dbb29f4679015dfb772742c5db8bfd247fbd208c446d8944c09b6a5922cc3376c8ead3efd4d2674851347642ad3cc1f99718f290bec2a1a4e60f66705969cc5e8f2644a0f397c6ef7890cce5a4ac220b097947d836ed992bac2df578a13a5b4b293f66bd31f6e44f258927eed4b686a784fedd4dba8ff69005bf7e6588982b565de7eb284446129fd1589f45dd2324c4f79ae32f3e99a6bc7189bd0382abd2495cfd3339570f749bacfb668763725b40319c1d2938929bb145193511b0047191b81bd9e69c2679d95837e37c6d77c2271ecf68051626ba4c765214af7e6362bcc678317f4767 - -COUNT=11 -L = 2048 -KI = 2f25bf2078cda4ca9568b7603eddb3d02f546454 -IVlen = 160 -IV = 52d6e66286414b970c612587fac8a375c4fded8a -FixedInputDataByteLen = 51 -FixedInputData = 40e254a3f50fb817f4cfde20e547ea2653f56c9a7427f4407ef5495d3794cdf28ad29e681107be13df401df3c9851d47178345 -KO = 1ca542ca6df4a8a0270aa87723e3306269e10e72b7aa78a6cc7ed15591488b862980147b5ba22869a3cf32e3840e32f21af972c28eab1fbc1b859f4cb89855948d38b037f7bea4d556ca6b3d771206f5375bf9cd946d5ebfe281d2fe95657119b2045832b2b3c6adbaed5b644a9f8d6087340803cb98566039b09727ed1681eeedfa69217f3c438757b504ee2346d6bdfb0d60d37f4d75e0f41b221b8a613995d4b72e6d26b1e3793bad2492696a5193adb3da6c3704dcbca5bfea61fe4a8268f2bd41ae9df8df462e16c02ceef64e3644c4aa8c4dfd462f0643bc68f942c8686a4eabf0a9295b9911f4a712b142e30cbc736bf2039280ebcf84538b7266fc0c - -COUNT=12 -L = 2048 -KI = 811a8efe0483a0fff2f7606148f0f0cc50f97978 -IVlen = 160 -IV = 64daf2e64b91de8b0d5f8b7c4201b933a4a792f0 -FixedInputDataByteLen = 51 -FixedInputData = 5087833abfcf33b30c9c04952ff00e78ea5cfd837da308da2acae41adcc57577bcc062b1934effb0db703cdf954b0d795ec1f1 -KO = 421b025203d433b7a293caa1785afcf876f00fd1e3c7beb9dd15cbd0c0d4b6072949268586718dbecb8fea4d072986f170628eee48ece1a5b84300d5046560edf4e9b018f67ddbf94a0f35cffc9b0c8d116ed28ad8658adbbc6dff59f138c16655a57a1164c02aea298e1d876debf5b55a9ef0a9a81584b127e5767e7b733cb53c20af454b3ed13fa4d56b0458cbd914a8c3902e52ecf48cc452ea02db1129ddbec5c18db48f3d6c450f94c7d6a4dbdc3df163b3761c6521efa4fc44ac65a5f2da7fdebf6e1564dc255ae40e42f75d0bb1ac60e9427e4af8ea1729187952cbd76982f5297803c0860c37aa060f0e5d5e98e5a7dd02c05492885298e0043501ce - -COUNT=13 -L = 2048 -KI = 5101064c965f313fac8c18579043ae908d572910 -IVlen = 160 -IV = 7da4e511e1576ce3a2df4e6e13784fee68baac7f -FixedInputDataByteLen = 51 -FixedInputData = 4bbf90eb85e1d7d5e46309841cea3f8f8cfeff78311c294a1d1d6f4447cad33293ba43c5357fc28edb374264c0b303f0d90258 -KO = 55c473ae92f60e79473218e0150012b5ed2e2b8ee644670e887d33243cd25f40e757ef7a43609558f8e15e9176f4bc37db872372db61c1052a87332ed54e7968f42a5afb4f8c72657a98f0c863101dc0a06bd4da5148b5479a800af7f160669513fd39e8c898cfc2664b32dd268e7d4c08aea0542fd6106851b2cdac29ef58a206d607821210cff72aeb6b7c04b4acbcbc6ac77b7578c665f3e7a0c6842dbbf0e99caf96ebf243b2044ca3028498f6c56eb5bd5db3805d28b255c3db1d5c19eb0010e168d0501a7e5f9b73381cac37807bf35fb2650cffe6329787e07955caa2b40877a48a906ac64a4551332c106d74a6ba73e7fcc770af007a51852c10a8c6 - -COUNT=14 -L = 2048 -KI = deba14f6015a18744d71d54725bf564590ada0c7 -IVlen = 160 -IV = bb2455d752b6bf5ae56f99ffe7c7b7c02265dd37 -FixedInputDataByteLen = 51 -FixedInputData = 1c6ba1cc1f09eadb581f1e850fbdcca99637186fe2833565fd5d228d7e5a3fea1de61adb836de405e321f38cc18299adb8d3c9 -KO = a75b9020ca30bb38701a5123ed39732d176877e85a5f5bbf98621b2a1ab6ff898c4f748ba31afa3e766bfca36082e4ed05bedce1fb45ecff68c1a20f7fd125a36e8437cc548734fcc75e672dd5c23fc52949e4fd769ecb0f3a315e57134d7c399dac796cb4326a4976ad29302b2d9822b21d8dc43fab88b8fd6cda0ca735396714e2b3882982b2d4554ecedd32f6e37a92c9de118d17a63783659c38aa9a881eb9269b92a0bca640e95effacf175ac8a8414c10462cd2260763a6fc80dfbaad80e2731f89991053643775ebc914c0a0c39a0aabc4118a4ae2468751f206ab79bee83d2e8a10da03cf0aac92a2ef5bbb38f5fc3175f8bd4bb6258974b79dd8d54 - -COUNT=15 -L = 2048 -KI = c2a3cebae7bffa2f486b51b1c0c455ee6f8322d3 -IVlen = 160 -IV = 0af0e37a1ddf1f659ff598405e170f6a92e408b0 -FixedInputDataByteLen = 51 -FixedInputData = 7d59a26b301ba0d58a433f3e35f487c4b16477d89e589c47a2d24dfac2f32369ec835e1171fc3415d219212f957533386f46f6 -KO = 38a16c48656c676b1197461e4f6f8da614f679257ada017c4ffd778e105bfb0540a045cad737bc9a83d6aad3efb0093f5b217da6ab38498791c42c8e69f96afe734f9add21b32653e7842cd00bda6e6d5352951adb7fdd74179a3dfc841950861fcdba6e8c3f3ea77c9177b8260b7ebcccdd239768c1dbd487149c8d9d525190ca3d0d33b517761323526de7462f00134864ae14e3dd7c45c9de84f2ed429a110a686dedfff82c1f3dc94d74f75d347428f9c8a71b412dd4fcdece58f184b8ab459dac71d5d92dfd3812a612f3ef3bcd3beccc223dc38a797ae95cbd369b37d6463b1eb194ebccbc370ff8004ff0ce3b0099dab453e87ad5be0f805a68550146 - -COUNT=16 -L = 2048 -KI = 44d34e315ae4474369817882b0cb6b1120c3c5fe -IVlen = 160 -IV = a22d814298e27c96765a19ed37ee0abf39a8a2b6 -FixedInputDataByteLen = 51 -FixedInputData = 2074ecf332119b7156e89fb4a0b0a043a85aa920c780341e8ca27da8bf54d85a8d34b315df596dc4ac130e9ec85b4d5966b5cf -KO = 19a0412baaa83851f218ffbf1bcd97106622deba1f49b2a5bfc02d2d9dbf9c7a4049f576e98b8f4e41770b3033836a9e0c63ca08e8e197e5ed16007ea5a1cf65d966688480abe7ae2ac8cb1f5ca078ee9879768246071199e92e59fc423f478b57ac65ed818ea44ee4e871d798c9ff2f2c0f48ad79c0a43064c99f594e3e63d930ad8e7a42518355b791f70321daca5ebc519d44d860965859e16fd840a3b7af9eedde84fa440f9ca7f9a4fd8ece652eb1438d74733377d696b2b0d931e40d64157b4cebec229655bc2dd8ad76099e060e91ec34c31ca17844a686bf26ba688ad4b22f8c5c53c24a9883b99cb446c18e9c83f63c6b2dc4d191de9a4afc812eee - -COUNT=17 -L = 2048 -KI = 13f1c32a55d09e62dbd8ede471d100c7ee751b13 -IVlen = 160 -IV = e49fcf3f2c9a8e33a04ac3b1d25862eab032959d -FixedInputDataByteLen = 51 -FixedInputData = 83ca97105f0550df913c023c84450baccc221429276c31ee9d2ebcaf210752fb4839154bd0ec1ef8a1267c16129e4f7c39478e -KO = 8f7cd68d1fa0326f29f63a985802209f74d206ad6967cc2a7732aad9245bed08ff13d20e0ca4381e6efb6dbe89d71d41a8c3a56d4ac749206c3e94b15b7e295461936e6ca4dfe536c7fd9e2147327c414e765bccd64e46a488e782c94f20e29d6e48b30570cb9428b7d3be9e917761105e65446af012cf5aed60e5ddf44e75ad41f95b9c37ce1316512a0254d3a77f29ab25888adebff30526d90840abdfdabc9877cd7e11e77607f85b35607904f6f065565c22cec43ed0e5f2ab74eee9470202030adc29d9c7a11a2e1584c3378cc22104dca7a5ab8ade23b2f9fa9e9a0b5959e8da71ff9384f72dfbc9b1b46ea9bd949d66d1eb89c77b56f5ba7a9d98694d - -COUNT=18 -L = 2048 -KI = 603792df220ddfff683d0d5585af39c7e9af4310 -IVlen = 160 -IV = 4a6e84795ecd3bdaf2ada1f9f630cbbe01c3a133 -FixedInputDataByteLen = 51 -FixedInputData = ce4e45c78e7c95636ddc4a2186cce87ea978cc0544e5f7278fcb921cbdbe9eaafb0751812a42162b05b641cbff8873ec6e0dd0 -KO = 9ae64f91f8a0c48cf275d55af573561d910e57e9f3e6f92e5b8d8d7433bcd0fd03dc8e8f3899be532efce9482d1cc43f7aeca17470a6508f5a1dd63b9379007a8ef6c5f5436f25ac0caf2681ae6cfdb60a34b97f6efacd8e3f202f15551efb4d13eebe9a51db1f922cfa9c7cd1662a49c06fff8199448a9774047c139fb404ffa0ee6c1bd024006088cc01d1ff42603b2c73334fc16e26f29c04464f38739338a1f72514289e5416cad97b20fe9e124ebf8ce55b9def3638af6eeefed209304b9cc20a3c661301b4efbf67dfea04497c5e75defff1f0e241a0a73a8cdc89e8539127db4a9064a4094eaf78196fa25738e6010f3cc4198a3d14dbdcbbf132d266 - -COUNT=19 -L = 2048 -KI = c99f8aa5c6aee5d8d217f6a13ab5c67f5d1f4545 -IVlen = 160 -IV = 8bb12782bf381e7f5b0dace279e76207a3fcbfd8 -FixedInputDataByteLen = 51 -FixedInputData = 407aa10426b2709d2124968bdf51a22ddd879c26aa9bc3db26ede6441a7a38d736c76c19d1c2581d4407c47d7880b84c17167c -KO = 63761012ed989d2dd9f66e27c35818d50733f256247c848cd554e3f3670e0ef691330f35d742dd2e7e0d95935271b9c36cf87d20981bb0b9ec4efb91950512f82d9ca54df81b68a2c8b1f4a20694468d450657446370244a091803443a28a796c8c2b758f375e339acf64b19863eb35b1eb895b80a46fb2ee4a412e29c0868608b381b46514c1dc0895cec7a7bf9c2a2fe188ad12085418ab9193f2e6e2cf43ccb689a99fdd77755dd50b624acd5f4a8219b6f8c51aad3bf39b51e43e988addeb78ecb22698c915e807a738300f23f859c5eed49256e72a008672468b7e743ed762135936ee83f52599181f8581392a20f2be87fbb1dda620bf2235e97fc2a71 - -COUNT=20 -L = 560 -KI = 62f7e721933f8884ed7c2604dd707fa26a55ccfd -IVlen = 160 -IV = 56a139ab1c0cacc48bb086176d3e17dd3150377d -FixedInputDataByteLen = 51 -FixedInputData = 4fce7c3fce3a8cc882b6725d588677612606956c6b0e25c91c30f44e63eb3773a2ca3a48777292d72cebb6888784d8547588c2 -KO = 067a8a1615ea62eea49bb0448325b0aae7d30b3fefd20e5a3626cf66b74e5e5c8ccb8e03bd66af774fbd237b8c2c4522797409e797176438109f111b5164b3708d8dba6e5d8c - -COUNT=21 -L = 560 -KI = 090238f59626ee182f903054e350cd88935f102e -IVlen = 160 -IV = 19d099b2d829128909f91a023db6f448baa755aa -FixedInputDataByteLen = 51 -FixedInputData = 646e0c78c0934c63c607ef41a25aaed8c793b91b26913bde4fb408279b64eb0daf789d59b09a4192886fa9fc6587c61499bb83 -KO = ce0e70dd36399537cef6870c3ea48f5cbc3a7450941cad85e089495e8e9654e6a92aabd5dff91984d96a2bb797f365b95d5088f22298681a33e450cdc735f3a8016a7f432b84 - -COUNT=22 -L = 560 -KI = f097f63c10d4d9fa1cfbea306347c1b999ebf001 -IVlen = 160 -IV = ad534c0d0d423bfc5eac174981a2bc7739524344 -FixedInputDataByteLen = 51 -FixedInputData = f306582548e86d2256afceb7844b0dedb12111326de3cb9d826f156e7179b5124e7c28fd3c0d5ebb60a3417f210af4e31625e9 -KO = ac4d98b592d6c94fdf1a235658299345b1563c01b5dd921f08ac9cf40c2fc1b07740c3277b6834f7c8279139660993f9cb468c49ce09c9094ae403ebd3eda360e6de3bedd15b - -COUNT=23 -L = 560 -KI = f6abdf1e57b5e41588e6686625ebd22769808e0c -IVlen = 160 -IV = 99042026d861561d8e619a2d56639422ddbccb04 -FixedInputDataByteLen = 51 -FixedInputData = 1c647424b35823c4868f0a931725bd9cb6f814e7ae32b38bd78ce477d84002bfcc33dc0971a1df4658395fd3028346eda199ce -KO = addfe7e12630f3ffd3faf4584c4cc0bfb029031b24459d4dc3f7d1b07f8768fdd27a8d790122ee65d20ba7f6c27670f01b6b0878a0e7c9a57ab6555e09ca0b074a449d207b56 - -COUNT=24 -L = 560 -KI = fef5e98274823f771736e74d535c3f7fa1f99db3 -IVlen = 160 -IV = 9a6ca91ee144acdab82bb80ce9a5c872937330b0 -FixedInputDataByteLen = 51 -FixedInputData = c42ba1cb88f33b30fe0dd45dc34b079322d54a5d39b49cccace5200053654bff79ae1b0724053ce33d0af40d22c98106b1fef8 -KO = a73187f5bf7939e6ce91a60354cdce4906f9232c0b9bf099f8439201cde0bd36931f0c38ba24377da16246c11dfefb1bae82825ed2125b5c2a464a9d924976eaf80d26dda9c2 - -COUNT=25 -L = 560 -KI = 6bac6d078b9e20439769ca10e51a62abca4cef80 -IVlen = 160 -IV = b799ef77b2ab726870a7bdfa179cb07f8f099a2f -FixedInputDataByteLen = 51 -FixedInputData = 5622f984697836aca8fb691564296299b5c9b8bcb4a5b3ccca5543414f84f5962f44d9787acd33b38f372ec2101ef489219a9a -KO = 294fc115d32c47626175c9b3f88eee1b09e63b0eff0578a0bb965af532ef12cb05ddc7c041bd2f44354dd3f7fe435d38a4aa4dd33adc94c65719a79ffd382b9cdc42a7be0710 - -COUNT=26 -L = 560 -KI = 3047a803255bbcd062a7b058f348e64a5be797b1 -IVlen = 160 -IV = 7b5a2f345324ea1f309559b2ec7c30888fa1e1cb -FixedInputDataByteLen = 51 -FixedInputData = 4b100ba206c3cc666306c7e3c3654b0f4e4f2830a6e58af0567104c2cd5b2a1edc07f5000533f10a91067e400c1eb42462cbb7 -KO = cf0ef46ddbe160534f709e63305f1536c9d7d63ab937479e27b3d3a21d231844257a99d312b4c51ae8f718266272d14338ebe8bf6b392beea95f278a6b207d539ea5e2c2c54e - -COUNT=27 -L = 560 -KI = ca80268ccdedf9a1e424fe49429b94dcacc3ae73 -IVlen = 160 -IV = c7984cc32780f262950c02636af6f0f6cb7faec4 -FixedInputDataByteLen = 51 -FixedInputData = aa3970c59ad91baae9a9759dca796df99d92c24f5b4608d2f2cf9b52e9adb5d84effd7f71cf453e696434d4915b96035b6ee9e -KO = 567cdfab909557b62d807239388eb585701a9944c10a80c8f608d8fd784b16c95f5039e0b0894bc8a2b2302632765c437eb2e58d0b30d00388d35d98928c4c429887beb50362 - -COUNT=28 -L = 560 -KI = fb5eaa9eefa3e6538198c2b7dda7496e23916fa5 -IVlen = 160 -IV = 767662e561fa30fd0a2613a3b69efc240e04d6eb -FixedInputDataByteLen = 51 -FixedInputData = 2c9811408cf9a754ec9088d51399e3e30354766e96a14d94fc69bb1ee5ede299810f1ab8b3688ff86a04aed7c11f6355cdc0ad -KO = ffed04f2ec2917b78f0a120424cba6bae686080608a9a82602dd1423ce7c3ff653d27f1d5354db049a54184c693975073b89ef09580656f6f8437bb8a6777f2d9c94f73c2162 - -COUNT=29 -L = 560 -KI = 2d9b5e01b14bc29a7e09cdf7789b2badc4b5bd9d -IVlen = 160 -IV = a35480172e8a09ca1595b75f712e6802786cfcbf -FixedInputDataByteLen = 51 -FixedInputData = 6071d65e3ccfb84db761f7a87ac62c48906570808ab5f0ab7b80f5f65b134df30d9a8d91be1bcfdadabd887c14b4b88beb66a6 -KO = 92430280e601beed2b6fd92f444e978cd790c6475ca95c0da608905310e85d8b72b750108424117ef5315106009ea1bbbe17e26a5070ab47a8aa5288b511b58fb130d56db6a7 - -COUNT=30 -L = 2400 -KI = 1638686bc3aee9c73582a0574a703c7d23c34195 -IVlen = 160 -IV = 52029d9b05056add410dcf8739e6b3c932b3c379 -FixedInputDataByteLen = 51 -FixedInputData = 9ce012e815a2ce5f0aa4a31e76e713dfc2437963c45e32cd38d91a0f52d04c2159158254d681af15e302ece7476a8114baae31 -KO = e1cde36b1c7369ebc55422a0282e896301bba2af0bf07479d64d73b093bf5841f872224691022532958f366f001babe1b916196669420b735de08a6e3cba96f6d928c08e7420dbac6603baf363814df61442b972f04ee0c55a58e6f89a091ac8d455f5b0f425339cb564356de198f5ba44bf4243bebb7262c8845f58bd3a8939cb265ecb9b4c869b8b06357ab3254573c2d5013f7a0783804fe8b1819d40eadc1fbab617ca8bf086f8d2b1d4fc6b43b08b6febff537e8d771fe48b4c4f1836c7b2637e0ea82d6471e0e333dc860f55ee0bed1f261d825f665b31b18f0c1a506311d1ab206c920698390fa29ea4290f40a8151594ae2604939749926e788c3e3a8526498a501b6405f70f3ba75ec11f1a05a23f3dbaf66f3d809b27429b63e5ac46eb4248e740b6dac74d83b4 - -COUNT=31 -L = 2400 -KI = 75cb6a9f61c0257e22b16d9229404d2977680f20 -IVlen = 160 -IV = 2c812b38c20869dcdd08b9b98dffe6a5a9960db7 -FixedInputDataByteLen = 51 -FixedInputData = e18298cda8aa2bf5b9c15332df5537f55b1bf7423d3b14f9ebc476266a1f760812f34cbab08f6e4a0fd59d08533df24e831cd2 -KO = df66029982e37cd27147f6977a0d9b3bae4bbfd75bf92aea66d18ddc148ef39406610336399c872ed8473f9127e02cdb8dbd3b166be9fc13bd1cab198e04ae640919edc38b06c2ccd095e2c36b32339722fde7dc647b5470790ed15b556156d2301689c1f7824826340d20ced38155644ad9571286951ce5243f53e022a364ce53995e94e41a1904fc2de5a761bfeab9eddff11521d80ffff0fa0425ba8d7fb43089f442e362f965a4873d3228b15c4887c06b7f45feadccb7173046d1b6bb0b5f03d3000137235568038b79a5831c8a77a75daab300efcbd69c37c49156b19f2757bab523c225a19df554b01c369af199840969100507c338ad09b4cbf35e4264f0a2db3bc3eaeaeb52204b81eb49b2dcfd0062b0cf72f0d06b4077e01e6e1a571bf0f03366e0fbbd31f7ed - -COUNT=32 -L = 2400 -KI = 11233f89c7f982adc9dc92bb87ff083a5d642198 -IVlen = 160 -IV = 585ec72eab38660f19b34eb06dc4f7eb1fc0c498 -FixedInputDataByteLen = 51 -FixedInputData = 25ad0452d6bee6ec686622cda0b00f9990e9b64aba2ad8eba269b2302d11ecf6035016a2c5d7b67c19a049d0f0f69b702657b5 -KO = 9ec0bb175ec483818b7a28224436b1b486682dcc42bc5942a3d0e629596cc5fdf0b67d8848cdd92b857fc97130a99e865f2b4c1801f35d79de410cb7788fc33f5c43cc2caa476b2907d88ba760c729de4583f4c146ad682a7fe6313124b0b9a8a2d9242d538d4c68c6592df437f1a74cf3f3c8e81477e54eac6b38d82405d365ebb0693190da0d80f058ef129300a74a2ca2ae9a7165f96add2f78544595d21e6de91d4276278c24af2181857acc87346ed103aba278ba3f627f1bc388de8a4e6496b9b8fce8f1020d0db91f9d2c8fa4f0bcc35331f1595fd68f370420a16d50ee67a14376074e71a7948e74ffbc39fb34c8ade142bc72869e90a8a3f3b89f72a29fbd590b72750d6295e3bb4fff2498246fc455d604412803a931c58f0ffdfa312b324851706c98549f5567 - -COUNT=33 -L = 2400 -KI = 88ce759cfa74be2de1d273e4240fc587c06037fd -IVlen = 160 -IV = 25728c9b1341469ba6b21df142c8ce58ed00fb6b -FixedInputDataByteLen = 51 -FixedInputData = f376a78693b8ad99c9d4d9d574e1c5c5989e4f4b187f09e397ee42f53d03dd0a68ed488096e232a37759d6a27e2843c3ec3f7c -KO = af6266e78bd31dd08ffc3b18b1846d2617620eb2792c6d994f341729d2a00952c03918fcf782e58708cb2f1321890d18131b1be7750b74d0ded01e10cf97b73e922e91d9ee7a6fcf9fcb686522a26f0891544c0c453dab59e7cc19eaf739ae3d229cd2d8b25c4d6f59ac1682ea43686bd5209e57069b0dc854e75c2a38f297f6a32e26764c246680b4c5056e9fc7a6fc85f95180690149b858bbb69878969d2718cc3a974b2e012cc3277746716ed765ffd929d3b8f6d72fe4d82f35eb423c1f243c4bb53d2b7c5ad819eda8fc7a9de1cac8a550cd33e6204e94001938313ffd64afd00311aff680f2fae4dabce712cd91bd54abe9273e369c7ace73656cf6ba076c9607d9a950693ff46dd498d70894bb9a7162ad9ce8fe7f60175b0e8b3581fcb206085fe6eb1b147270dc - -COUNT=34 -L = 2400 -KI = 6d49ce0f4e2eb3240038717dea1ab7776060dc92 -IVlen = 160 -IV = cf8066c85178069ad4e208706933c39d2e93c645 -FixedInputDataByteLen = 51 -FixedInputData = a0d54c83d2865bc99f2e24f1290ecf382f6c66a41da49fcd6e52e4954652e7b4ad934e74374c39f644eaa524f637c28315f33e -KO = 28878d48cf55786dfe921cdfde624a6c2943a98631ee564d4ae29e7d8088d61dcdb2f27e16fac7c9ab1fd845a93bf5efd9b4e0e8f4502a3e9c0686005b41429dd6483cf57f5d0c3493b2f728e315dba020e230827360423f5062d7cb2f460db42c9b813121b3c972390ab115d1c156379d50ccf5f01cb06e4e003e662488192169537be620a6a2df8a414e30f4cb21211a8b02517e81df0a941d34697abd305ee31aea0f2abf2a1517c0969523cf9f1aaede0778e59659d843b6af6417bebbd807327de213e8d737472b64c4686798d170e89f9bb302329b762df4cd2d0ef1ab7aaba5566145aa595d3ef1d10138bd92697154a0eab5ceb94f74a6febea8291b586f67cac9a55b5e3c17834a1b9bb7a9cd5ed61f7ca6927c2b4d6b2df8c911d7e9128b70450eeb01baf9c1a4 - -COUNT=35 -L = 2400 -KI = 4df8da2c7c1ea15052dc8b443b2728bfda32c1b2 -IVlen = 160 -IV = 8a091b9838236b1c30ba0b7410882d15e490293b -FixedInputDataByteLen = 51 -FixedInputData = 58278164ffd823571a270a197169d70ff27f43232732ec860ebc382821b25e853eb94816cb2e4677b9f28605384de733ac6d8b -KO = 7dada16046ce68e61bd66bcc1e1e016a472dbef4217db76b1486a7e973a86b2ef7e32b3067b468397b0a567ea9792166364a277268eca45299884574d8ab448f093f48312abb6c519f9b453d67ef4021eedc84361a739ccf4251761978706e69dad08fd7e6dbfd6ba3a7e00c3fe9db47034201a6f8c87d59d9ee4ca490d626a6985fc431a4661f3d62d88d2bac32135f80ecc5c2d33765a77df374639f2b64c358aafe96a89661ecd295cf9b97b43a9474ec226f88a5987922adaf32be9b7b87bf727ac8fd7452c327de4e052a792b59da3253b15fc18aef1fd65fc8dd806cc9295956e5811e91f5e09f6b72846ea88259b571edae4c4d911aa1627abb57015b86b9d07b9304b06567c3af0d2c59b6b15d40db4423b251c86b3c4b96fb33f80721451118a1e007c01464fdda - -COUNT=36 -L = 2400 -KI = 602028cdf7d8414b5072b8b04ca5a2ea8ab3ed27 -IVlen = 160 -IV = ca77662831aa941c150aeb155283bee2d7a12acb -FixedInputDataByteLen = 51 -FixedInputData = 63adb7c838b5e2e810eccf4b57a0138790c8907e635d0c68a195210620aa56c2b9c45a0b9a136c8c28c453dce289d3083b97ae -KO = 7b9a68869f158243d621566fb642d1ab5b99e2c2103d9d175cbc82d0d2d221a91d0f3a115c0e3455555d7991cd55517918f3ce752972ce50f15266870eac7159ae302dca18cd36b6b6bd6a998c42050e244167a2661e9201f4d333d4a4513211c2633a3de0c781f3e9573428eff691243a569bf124cbaf256b541026420009ce9b88bd09d2eae536ad8c7363cad22e334f71b2e3d2166026e3e8a33c85493aac7037b9a8d0269514e675c487144d13c109437168eeaea3e20f1f1d312c8724c083158fed5dc73e57116678a05e08ed93b4555ac8d10b52f8eb1897fc9633cfc8d6027985608388e841655cbe42a4035d0c7dd7b62724c18bd838f7e04713a953126acbce3fd3d319887ea5fd71edf4147b8b71d19dcfd64f767276da519830d6255fb5905eb811cbeb1bec0d - -COUNT=37 -L = 2400 -KI = de802a5fdebc5c80d72199374b907f1bbc72beef -IVlen = 160 -IV = df5eab2a4807e4b58e7c4004d42b86d0b62a06d8 -FixedInputDataByteLen = 51 -FixedInputData = 29a3c6be23dd921913b61f884b3ab9b7d3073fe64f7e77f0db362c4595ffd425fef231bf3581943f7f0947898f33af141bd1c6 -KO = f1424c19c9c0ded564ff9622aa27847e5d74c58c4880aa89f89e5d0495ad289ec035f3b8ee29251d4ccf517fcafd04bf13178272e1f45610ded446e57616cf8c7e887a4767e1569bfabd929461a6209c1b1167295783d91e93d13b2c2f6d48577305cdab66d839ac074ea0ebd4019a3110a0a69c93d219810b9c577c1543c23e1b77bbd46a250139ba5f12bc0488cacf6a5e3edfd47fb0422f40c7a027888907fa60fe01bdb9cafcb1417097a47cb8fee4f6335adb1f6680d896da525f13fa8e716b834dc5730724d1e75453f3162c549a489ba66c0bee3bb3cd143e4010ce93e6bc3d7fdc8495279687a04d0f77cd647e95955f78ba4af5e754bb3fd3016f51163ee5045b7c6c236b1d4d9a7173e62f27420f8cb33e51a00f76554860e7c45af7863c1ec78b6461eef5e5b0 - -COUNT=38 -L = 2400 -KI = 2408f85f6b5ad7059050dc4f1abc742a0b939c90 -IVlen = 160 -IV = b01a3b30292f7c9110d9d867dfd00a4c9b48ce23 -FixedInputDataByteLen = 51 -FixedInputData = 85a3536eeba5f0362e72bd7b880ceb0518ca6bdbcb7cf450e35873447c6d6e28b8c683bc3c2962e9ea36bf31a27422649bfc7b -KO = a120b94db5f209a345f0ca11099c381f5c5f7bfa98a62697b072762315bd70c66979a3f152a08bfdeabdb1beeac4960be1d1abb93f130a4c7feffae6d5905236d3d5ecbc91d16f99ca2039ce931030d56457b74ccd08009837875a852e767466a85115225daf41792f9d468dac1d250599822216115f1b4656d3daa22b04c3617f8f88fd6395d7a27eb27b49dcfb16a60a5fdbf557c995e876b216df629ab2e7929db29bcc212dff6f25e10ca5e2e26dfa11e17693f2dce7486d1179d2dcba0bbcde09af9c553eab8f16305e7920e33c3bf76f0c4c63cad0d3764d107e164670d375c005b8ec4127dfc839f005201316f4687da1147b0d2285f180a6fb695865c6f28f499e402314ecf56210c89293b276cb687ec25420d971c34fcfd005dda4d7b787dbc1b99f894b1dd4dc - -COUNT=39 -L = 2400 -KI = c1fa8887529ddfcb3b2e77f4a70bfb9369926058 -IVlen = 160 -IV = 8787d2d51b49cde41384a5b8ea39dab4f460f3c7 -FixedInputDataByteLen = 51 -FixedInputData = bcb6a48c619305c296c9409f88e705d2d4d595d741dc16d536260fe9104b866bacef1b9471f2d3ba82b3a8a3a35fc7473f59d2 -KO = dbeacf1f49555e7ee4f69aaf5d923315900e18e19717bc8fdafde335efd57cb78745cfcaa104699048ed86f1d821102afa245b30d3c8d1de41be919b84356efc2b87b0d87aa2d3a1db2b2cdc2b07a5d66abb321f3de44909f6400ae547b216b0bd8163e66b0ca421650d12d64b1bec2acd943b0a2d0d86b040ac3718bd77cfcfd5e079aedb9528c1587f7000ebc2220cb5240c30c5c67e37dd650834afa2e7a559644a43b8f83cec5589517bdef22f6fed1b3fb4019526136aa205d21a49f0ae4f7cf81c404b4e6b16d9728e80d0c544267b0d49b91f0b3ad21dc40c3e9e2dc728e154ddf2d7266febd6b45a6b853606892da9452b0ae8bd17da4e27d934b727c933935074004bc42f97b4b4ef8b1db4a128d2492d50b1faeed7985d3b10c9d252635dcea29020f70f6fb439 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = d66a4c9713bea88069aa7fa57c995e9083a22d38 -IVlen = 160 -IV = 77298af99789d367cbb8e23c7c46922b03f20ae3 -FixedInputDataByteLen = 51 -FixedInputData = f4d34a28b2ae8a86866bc787e90c2ec2efc93a90d50e09698e7d8d5ecbb46c30fd0d069a5598b86ccbe387042a744e8a9c1495 -KO = 89ab2702ffa47d503cc5e04996225396c0019c99c5484d27e1bd35d59d2ae50438ff55a66783fde7c2a62cd2c9cd8b7c3122e3622cc77be7c5ca5e14aca240db - -COUNT=1 -L = 512 -KI = 509d868c0a6fb5d9fcd18f1a149fe1d6b67494ad -IVlen = 160 -IV = 19132d72f615c439ccb5e2653b4a87a1812433bf -FixedInputDataByteLen = 51 -FixedInputData = c5289a0447ebe8036b2395e224ce831762893c751471da5e4369fa939ef30f7aac30cd140c8076fed72c72f6d98d2d49af3dd0 -KO = 0cc8014f61eb282892b4f0ed140a632544887221f6c85332733805285ea062ed3956d1082ab1a3756b33dac3f7b033d04ad5170f034c885bd3d56e34e4fc1d2f - -COUNT=2 -L = 512 -KI = 96985461e383f88270a1fd9113ea54f0becd89be -IVlen = 160 -IV = e305c07dbf302c3c6ab7b4090ef9b7ef1448fb98 -FixedInputDataByteLen = 51 -FixedInputData = 6b3b55a1899ef90aeee833d97f2bd3a8caebf095c7108c63e4fba44078fd02431ad072bcb9abc0cf931a9cae4fe4f955de6c13 -KO = 7573ffefb615b322e3a8040ec99d385e799f1b457883a21b1d74792ddba8ab1eb75735d11c1305efa3ce62d160991e64d0c20857a30d35061582b29b789832c1 - -COUNT=3 -L = 512 -KI = f0028abd4da7f8b44764686913e863ac983a873a -IVlen = 160 -IV = b68f851143949953bf1287cdf47882c89768d18c -FixedInputDataByteLen = 51 -FixedInputData = 4697b79aecfa57b7cf237b604015c3226cd0b3a7c96250d34df445e4329427736fe95f2e4365f59a8eff366a5eaf35cdc80312 -KO = 0291db786f701bb23a454cc88074fe2fb78b361a1f2d2168c74d63455dc86e7531d3a29ea9d6aab14fb24429cc10b8f7b7dd3c4fc7699f34257ed59f40c84a0d - -COUNT=4 -L = 512 -KI = 3d6d1f7b082b0128d695556e1bfaaaa79a3c164c -IVlen = 160 -IV = a6ec53b802841d2395edcc698bdd0658ed31ad93 -FixedInputDataByteLen = 51 -FixedInputData = 3e76cdc4a7179095400a2ac2c317927b8bf2868255579f50349ce704a525cafd72c7c1720eb9fa5b42e30a38c0f6609e7a08ac -KO = ffa95fc84fef9a93542f2f623dfcb9bbd235b1b11e7546fe507e9aa23ed0da889adef5a2d1d9e4fcfdfe741e44e856be8fd784a4755a3698bb092eac9a6a1afb - -COUNT=5 -L = 512 -KI = 5e5ab73e68fb4d25bfead2117f4e295dc6040baf -IVlen = 160 -IV = 38c20d9d7f25174fb2e535f11c77f34a2cd4f287 -FixedInputDataByteLen = 51 -FixedInputData = 20edd76e838e955573463a698b4a660626a270a52acbe07afe67564ab27974fa2ee033ca768d451d805aec57e37582090f6aef -KO = 344c2fa8313962880bbd32a06cfb52e8e32b3e019cc9f36dc4bf29d036ff2629a19c6cd8a84cf1410cb83362f54ae938934a9eabb33f9fc7491116f03ac02bf4 - -COUNT=6 -L = 512 -KI = 30d5c8543d4fb62ab682163dbb732a444989b261 -IVlen = 160 -IV = 9e6a4a8fe0b2971c530a0577a2b441b939803ebe -FixedInputDataByteLen = 51 -FixedInputData = f9e97d45c02662c37872680af30aef56f912a40397421607c545469fa0ed5a8a4ecbeb04218f8aefc56139a8b5d6bdd6d237ca -KO = 16d5de261cfff6ac40483907e5d4f2cafb5a9729dc7646a18814845e81bac4381a9a103af1f5bcc69610f788fc7afb1fa2cb0b4273c4d78c68710a173b3848e6 - -COUNT=7 -L = 512 -KI = f133262ae845c8e9a85def5593f50bae024a19ef -IVlen = 160 -IV = 6a7f7b7df3bf878c36c969c5cc94a7e9a4c23cc6 -FixedInputDataByteLen = 51 -FixedInputData = 4dd02fefc78f63e4cfd56089af057c17e16717cb975ab7d0e9f3d19d3d4d87c4e87781aea2d5f6658d0c32fbc376f2e21ce1b6 -KO = 272e935ef3bc1099cf6b6ebf2f10c46803efcd441119193c27db2006d7d65e771fea0935a16bafe9552ee24377c9ae2a973e734b422790e72dd6b420d559d6dc - -COUNT=8 -L = 512 -KI = 141c7edd0d82f925298c09eb5834ee9e50f2a1d7 -IVlen = 160 -IV = e09c6019c154ffc3dd685547c950fbaef165e696 -FixedInputDataByteLen = 51 -FixedInputData = 6ef2b8fa5ff38a83c4e72e6af24db1a98c4578a57e5eb3ba9c5ea2123c18e14e06373cc1e48c0a80cd0ef7d7f08d1705881c0f -KO = 74a9df258949fe31c7d411ba3fe52625d2395b7cefb12e19853d7955deb9cf55f8009ff010e734755904fd93253128131302fabd6adb21e82d02b977f0804a76 - -COUNT=9 -L = 512 -KI = fa6a4a60805b62eb340e7b822d128ce754129a71 -IVlen = 160 -IV = 9321f6e7178e3ca2df3d231231d81e3f91fc17f7 -FixedInputDataByteLen = 51 -FixedInputData = 635e6469f022c2a13f7bc1d14131c66396419a28d69bb60f33183e0fdb9758f0f4a4092891626dc75dc780f027c14e2432dac7 -KO = bc493451ca17bff0b74de4a234338b3ab064ac76951d3337b50762ec172ce6bf5adc02b760ad950f3457ad305cd8ae39c7ce4e8b67769d83182f1b09a1305eb4 - -COUNT=10 -L = 2048 -KI = bf550a7561d51f7636a5be104019b4e62d45ca99 -IVlen = 160 -IV = c93c96526c742e705a91dc5285a452f541feb43b -FixedInputDataByteLen = 51 -FixedInputData = 9885fdbf8db198d47d5a7cdeeb95ea160766a69211c7d73bec3ddf3c13cad176502e823574937cd8ddcf3d3fb211b165933c02 -KO = a1dd8dc61a5d4943851df7128769e6e372673b5c20f6a5ce876bb45fe877e1a47b29551cb5371d1e9c17375c43fc9540e17e397ee30dd599f3f773cf2518d02da0099603703083b349094056909dba1b0fc1a92320fb557d0cd3250dde7eeb63ec9488cd8d963b9cccdc8347cfb986a6211489ffe4c8ef63e91dc89ce9ca321064a505e35d1b10737e44f82a6570da34033d2f24a145537835d8850ace095be8b8b9ec2e68c0d2635942ebae4155467f463a6455c68a6fc9735543414f4cbe019446e01ccfe44ad45e9ac9608c807cc7c35427bf59b67add5fdd654a1e30ee672b47e69291ccd094cad24d1d47b88ef213feadae5acb18ba2ea0dde0c775375f - -COUNT=11 -L = 2048 -KI = abe5c74a67ed3be33f9d85abc958db2f6f94acff -IVlen = 160 -IV = e6aa29896df13b9b92080d8a0c5de55d82e83a23 -FixedInputDataByteLen = 51 -FixedInputData = 56de9e6999f6491bc4e46bfdfe90bafadfe6430ffae9bbc597add66bf634fb9c661dedf6c27836d9bfb8ffa746280dfd07932b -KO = 05de56eb428d79926a0802ec01f0205fd7158852f16968d8ededf1becb4a4af417a26d8f0847831134ac27a29d4f2564598338603a4db3d2cce5cd646e9e6294270c73dc824df40d2621fc5c4b6b9cec25845ddee366c403d1131f5319d3d5dbfae5416041f9b63d9ecdf442b289feab426d7da5edc923df6526d197e61501ee1de8130d156a1d98b5e0413dc96e12af82243a986a04fdc8fafe8b1717df2f37a7b5874d34ab04c38e058d7c81fe63c225e03018e88dee0a57c162c0259bf21dce57acc6dd978a732a86bbe5238b9cdf0aa0fcf23566c87cba5df4b299e736efa01193163e42e8c5118a8433cdbe497c13d8901a3dcccaec6c27d2499383a9b7 - -COUNT=12 -L = 2048 -KI = 00a34a63a6ac20f10e212a377532c5a1a7e77e65 -IVlen = 160 -IV = ce9b4c2c1f3999aa0e17e8c481d994cd1d3ec161 -FixedInputDataByteLen = 51 -FixedInputData = eee0e9478cff16fc602ba0eab9ba762502bcc548c46d8a66c59111ae5cb27b27c4ef1717481f72938a9f4973661eafcf3157a1 -KO = 1854961e659c4d3225b558890d93b7178a0c1930f0631999170f8788a7ac2229e4e2cbe6b21b871e646b8e7f8f26ae7b75fb867ac61063e9a50118b0d95ec35d9ef23081a0687333a2768f8408a6c056c32d5b835fb785cac1458350d959e50ef611556d68fe4f53a35217047a3f82c075cd44156f7b1b0ee9b11efabf0cd4d7007a186e9d1be98575f853d6a42ecc56501a013e6762deb8ccf58e15becf4f95c2ddd2bad7235e0cb11aca5ba58fed2653af98eb503654d069c184bc2c94e2a6946d2ba89696d719be7cb2ea84a6456cccb29f42d91320978508b7317fe9a12ddb23a47e295cb5767e55174c546880e5cbb0da0bd5a655ae715110bed5a09bf6 - -COUNT=13 -L = 2048 -KI = 889458deb0e255278918b19fbda233ce66932b5a -IVlen = 160 -IV = f63bacff8ebf282b14ba2b6a4b923a25d384269f -FixedInputDataByteLen = 51 -FixedInputData = 2ae6396590d92ec13e47662509e4ff34749680389e2bafe4bf205adeffe875405cacd47d5214a4b3f20ef7fb1687bc3920f768 -KO = 545a5c26c9f4e9a14fb0c4c9be5f95e06b50a7244dc0149c90864d0e219f23128041bf0b7ca51fb8647a195809fc0b0c57f3c5ada7da6969f5a851ee5d4d4d2039917c752c2c814201015de2834239d4326552c1afff59d5bd89f15bb1623e5df4e05cb84d5e3c7f801ab10ea58a1e0b4be08f04ebc2a9793a775b552d7aa738e2ec17cf0221550e43cb09181ce6373d7c4a3c1570163991e9145e2258d7e0c64a6e8ab6fc78322d63ab1efb25c1514da1738f5522ba73806d5e71c29d0912a10552907fc1512206afa039bfd5132d645bd3fd733af293b879c2d107d949527cb09c5fa31d3da672f2a0c97a4c6a1dd40f3be220b4f8396545e198c65c324aa8 - -COUNT=14 -L = 2048 -KI = bdabc674957c07de104952ee3098ac3fd61c1510 -IVlen = 160 -IV = dcd2f7b50a5974741d0f9f9b2eeff5550e5d4617 -FixedInputDataByteLen = 51 -FixedInputData = d44138d54ec42cb987d81e1ac353a8d5c3eb5414639bda297c32d2f0f56bdaa198df2ed97c4447823dab3d57665193f7543571 -KO = b3474d0bf9071447147a89cf6e6fb50c6de1856f7e5c222c2424b93ebd7860670054977c2956ae0cac21add5c781ba32c8864a02a4574721cf161b848a8557180a011a3328c57d168c57208ff3e15c967fce96daf1b33079c40afecc885f924ffe0792a0609d18db2cf600a4a92b21139017de0060103a3a324d585b1f5c48f806d0094746ed7d3324d8df5a9e46ae6e3a18969350859f710e7e60b984c0f74dc237b89f6d5fb2c79879ac2f727a18933806a03e259cd6714d97c0f9a7c39d88b20cbe005d156c704a7710d296745d0d752d076f1105bbb1b1ad813c49af5f095e0acbf38003d32136387c53325e4d3bdd84444ce7e9f7db3545d2eee45d9ac6 - -COUNT=15 -L = 2048 -KI = c93e8a229bedce393f05622fcc414f08d2745cf8 -IVlen = 160 -IV = 917bb3ca40f62a12fca09eee4c2ad41f2d73c6a1 -FixedInputDataByteLen = 51 -FixedInputData = 08dc9bca8207c0ec3b9281602ec76c6cdb7535fd0815d09ab08719548ff52a1fedf603370189a98adfce100794b66b74799319 -KO = 92108f0cb9191970d50e8e8561aeb1142a767021791b8fe6c801071c9cf0397b9aafc3902cc06d5fd10c4477382ecdb99a74171fd50a28477b6004732e0d7780e6172f469b33a4727ee4f3811133f487adaf78c839b4b89236d4e35f1d0426d79ee795025bf2f0c4dad91e21cee37fc9de43593fdc29f273c595d8cad476fd64a05f5feb145569b069c49d4e26272dd452078b87bf50853f5f0b94d487b5c65dbab4765754ce82c2bd63d32ced4138bb633d935e0ba726832d702deff93e0d3e53e3766f590e64044654e1e0823c2d3a5069f79ab12f791c1062f5e14c7c830f6272a1be62e59fc28caaf94b1e6d994b7dfbb24655221da376b231d2e9285bbb - -COUNT=16 -L = 2048 -KI = f29fb928684b908208c9e1b269ab649c59153cd1 -IVlen = 160 -IV = 70c3022552dd4c6e8600303c2277b88b24d07df0 -FixedInputDataByteLen = 51 -FixedInputData = 9f4f2bc54e11dcde42d90bcf5116f7ee74317be4c05358fe660b68d3049579a7cf442520a977f08ac036575cbdd2afa36da65c -KO = b709edc315e7c419826774b9570588d5df0bd99659e6734d7638fe9aaaf03cd9143dd049157210278a7a1521143e28d8be284c11b743654fbd842e565f0b082557d615aca41e1ba855d4e41613e953053c47bab549775f967e7d962fadc053812529e64f77fb38976eb2efe2ea9620dac750d2306b07a9d186f4d903f6a418e29655273041e3661b20134df36f7d12eb103fd437afbdaee6ba0839261253ed2f3db7bdc1d9a13185e838ccd2a06d21b558d4447546de431b01a2e9eaa120fcd9d64305ee3b4eb7ed6dc3220f8483ecd5bb6ae9d87ff3ce25d9ed5effb0755814f252e6f9a664f8b822e74c500cc01d1a659778fb266580645bb83d8ab5858f5e - -COUNT=17 -L = 2048 -KI = 2c7a270f6573651bc84f454ad7add8a2773c8e40 -IVlen = 160 -IV = f5c1b331aa880c76760c200cf88feda98e7889c6 -FixedInputDataByteLen = 51 -FixedInputData = 0389a11304da538dda0e9869b123bab585ac881c62ea1ece2936b0f1a8c5541685c508f2ca32052c6bc892e391a5b688defa7c -KO = 27ee285864f638d6494e9de434ca729a2d7d7deacf1b16e530f94456b69b2017e3e11e3f301fe77ac067e4b1f7d8ad8e3a280ac69c056a1916f8dcaa31068b96e513ea36d8023dee6a8cf9295ac2b8dd226831648c1a2f5b93f96c6cd9c91672f02eec9c3044a0d1375801274785a72a4526b42f89db3a0a0900ec6a3fdcdeba247e83e942d352d4585dc725d3151fbd027d4e9950e685d900c5d6383b24b43b496299250f06571c00b608134179fafc6002ae175e2faefac296b51fbc0eda68b8395efc97a56e05c5c03308937d16bc5dfed37d6ec4e8b3836d1fa79d42895ac140ec13b39035c3d0e65bd9b24725903494208d7764d106fad4ad8d74626ee2 - -COUNT=18 -L = 2048 -KI = 20893539c119a4c73f3277f5e0f3addeb94141f3 -IVlen = 160 -IV = ba4a4b6ab5f937fbb2ce0f01eeb521f462cc752e -FixedInputDataByteLen = 51 -FixedInputData = 6b436fbda1020f550cc2f3e94d513902201f9fd3f56569b9db790f5e3edd8b705054a630dc7d3d2d152cddc18d1a057225fa26 -KO = cad6881d8285643fc8b2f8851cc3ef5da0822d179a29e01b760e45b8776f65a6d533dca195728d86f5f6a132dd52b330af2a0018d8261ff153b307649e2c1962e947799aaa42063ad12e22ad4f779471daef2cee579768ae188e9c0acd1cb883bd94e42e5f79af5d7ff5ecb6d3c0ce7c641e92efaf5377f34cd22686298cf588afa2ac6f61567a3fa241ca8271cc197ad1f7de518c9339f481182d8725372c847d5cd1a44dca4de2b921b98f7457131ac34ce82185e3eea49255af0b280a3dca4f97c7679a2c7d7dda1dd05d3646ece9cf2cc329ae110d9b8710b85fb91ebe885df6c96e3b6ea27f2131843dffcc28ebbd81668d10a12b58523a9ba679f536cf - -COUNT=19 -L = 2048 -KI = 61e4a283b9c24fbf12f09801a2f33547c35545af -IVlen = 160 -IV = e69a1acabdd492bbc5478617a527adbee730649a -FixedInputDataByteLen = 51 -FixedInputData = 210fd8daac63299449880f41383c06e4c06a5dd8b364cc3bb65debdf8cd2cb98f1815122200dcd2f8cd35fbe0d2f80a4d5cec8 -KO = 8286d252a60c0d0fa3c1304d1c441fb2fcd68a879de419ad41cc7dcca972a288dc8a0c926659cf0aa4439466e9f55f17b4f83b0e5a038bb2b8271b67a999963b3e85f5e8dedcd476935acd590eb475f8502994361f8ffceaaed9fd7abe587704403184acf67ae3f2c1b31b0df7011258d7ead0809f852bb3fde2d069917b55e5a6ca30838115816152b172b9ca853f0f10c8cb4defbd2a96a62cc15b28765168e34f53dc2d0e1842b4ca855e27588c2325936ff94960ae751856f5b014a84f2f146d22214c6b9e7023896cb87458a2b27da8086031180b079c946a4cdf57d60bfa32451ff725ea870a763c06229d06df15de337ef859111119a8e3d834260ebe - -COUNT=20 -L = 560 -KI = d2c161ec047adebec1890536309216dc3991218f -IVlen = 160 -IV = fe878c882a8f5626a83def4e2e3d0b26c9f9dccb -FixedInputDataByteLen = 51 -FixedInputData = 02c28187018c4938b7731a479e46f671cb17a35245301458a4dfb63a1b3567f6fe8215ca7244b24accb1d1941230793ade0ffb -KO = 9c4dac56591d687fa7e07a733f8e3c65f2839f6b5857a36835320f20479a03569a3c00f85b637d7a14d26f147db628320d98cc7c2657a713c1899e58f2113d84d42a4f810f65 - -COUNT=21 -L = 560 -KI = 79381c1adf0a9620ea024c6d5dfb5409833cab30 -IVlen = 160 -IV = 5c94e0c987e8227a7cd19f0645256ca13d43a58e -FixedInputDataByteLen = 51 -FixedInputData = a027da159342268abbd77dc06dac7dca64c47ef827bf702bd31a8e551d863b078ab8114c0b1d9168153bf0bc1ef80d54f68f02 -KO = 2162ee3ff206b8a92a6b165503f50c54147f940010f4ab19c0041b708291563d0c8ffd318dcac935ec525990fc28c1821c52ff18b8d968c323c14212d965da4c749630a3b707 - -COUNT=22 -L = 560 -KI = a117b9fa2ad5ce91a2d7ae8c67e874cf7caef654 -IVlen = 160 -IV = 4eee948336fdfabd0e9a5497c963660aefd18e14 -FixedInputDataByteLen = 51 -FixedInputData = d92963ab637c316427b7cac60dab6f441924a4144697407e2f1b1764b24904ab66ddd119eaaa7dafad5820dd46a7d9966a3dab -KO = 4d1d86dc474db9f9a239fc45f0abaec2efcca3ebc4763a0d6e44a4d9d076d41b85bb80ba46e0f5f0f2a356771bec638b6ed9dce7d257815e1dbe91d20c04d228a9a8707f0112 - -COUNT=23 -L = 560 -KI = e95a8875460f896731fea20b56f90aaed31773dc -IVlen = 160 -IV = 5c187a4361d234d278ba54414b044b0a8e40d79e -FixedInputDataByteLen = 51 -FixedInputData = 483a69169037c355ac20f0ca19f8b92d1eb21287f1f09a0cbb286a0b93b96067e9a5094b7f84f81d386b0d88e1c1ea668d754c -KO = 65bd34173a0eebd56b4e1d8b877cde6428e5cb926c2e55cd5353cb86f07b8339e0e082b6b7f6a8b9cd939d028cce6402570274305dd62c645bfe8486c7d20a6572c53c0c71d9 - -COUNT=24 -L = 560 -KI = 380ccefe68fc0a3551898e0e5811b224d2b9212d -IVlen = 160 -IV = 806dc0f0cb9e979cd7310f9694fa90b591f2d887 -FixedInputDataByteLen = 51 -FixedInputData = 10c2ec0ec8f1a85fe5092239247d95db64dc2947ff32fa1565f4c5c7944f74626f2e1c1c8f4958dec44cece667692b51b67b42 -KO = c9394f84560df9802cde68b5ce46ea5bd8b705ca5bfcac3ee02efe97b9754653e9e73168694d9ba28dab5d8f8eb8852add6ff5736379cf2a63778e57d0a097ec0947daf4091b - -COUNT=25 -L = 560 -KI = a497e7164a9f691fe6b8040faec82bf0de3c84c2 -IVlen = 160 -IV = 9811640df5b39315f075076494f12e06f408d68b -FixedInputDataByteLen = 51 -FixedInputData = f40dbb9f0bfd1d173e49f54a97c758329b83462d4c6523e3e8a3a6d24db7a189792d2a054a2c18408fdd5baed4702a3fa5d856 -KO = 8cfb3d4faea872837338e556df3ca15215cbee927a041c40318feb2e9c20354f738af12d7f0d9d7e520f8a5bb778747677f154084ab6c1bb7342108e49ec3c96eea528270f74 - -COUNT=26 -L = 560 -KI = 2b4ed72973170e26c80db9e91bfef40c2a0cf5cd -IVlen = 160 -IV = bf72cf783af611d216511d4b4b7a74a55d8cfa97 -FixedInputDataByteLen = 51 -FixedInputData = f47c26936a3b960e1c51a536f6f969a5e8d3e3e5c4b5ea1f4cc8446d8ad1cba9b20936b46a628bd7d93e3f7b42efa66f77a9f4 -KO = 329c4ab9030f0976bb4bdd76ea4d1f7f21a97e5573c1fc0044df6e897bb15a4cd35f491b6a5009f44413ca158607eb3ed38d5ec06bd4c95b5992e05aa5fbcfa53affb1480315 - -COUNT=27 -L = 560 -KI = 233e0c4043793dfb9b6788b922706f43616f4abb -IVlen = 160 -IV = b80b3dbd8a67ae7a18b8ac1622a6c75cd617052e -FixedInputDataByteLen = 51 -FixedInputData = 08cf5f68cf408481e4e0cf418afd1da51a9321abf8c09f7f0b0cd208adcb492712875ea55f99e8c81a4b6dd0b2fa514ca2ffdc -KO = 2563a5aa4377f65085486aa4e72fe05f780f16e84d43d4c75309147501216324d29dfa00dc1fbb62a27c4a3811713f9ca93a8c430e7422c626bf9269704b46ba90e0afbaa2c1 - -COUNT=28 -L = 560 -KI = 8651f0d2194cdadfa76440e88c41d2bf6c1cbe6c -IVlen = 160 -IV = 061350092965313f6977bc78e1f9545d9dad3193 -FixedInputDataByteLen = 51 -FixedInputData = 00c57ae8ac15fb1e5ac3d83ab133efac8e257c699c2b87787ff6ce963c74c23ae1c0710db3389ec77ddf70b26b2602bc7e72dc -KO = 3f93e0e07d783fe00aa6008eac1bd2e91d3e4dc1ea550e58457ffd6c60adb50aae3daed8a932cb79b2b7974f219fc1b01f2b39e9babbdb87744a168bd8f914ea88ed81fe447d - -COUNT=29 -L = 560 -KI = 2db54fba4564502d044fb6aaf0035a3d84d1c2bb -IVlen = 160 -IV = f97b00984f921d72ec9486c094ff7ab0c26a8c18 -FixedInputDataByteLen = 51 -FixedInputData = 671c71c6a64a7fd237aa1307694980588b3d9f140f230bf6ece97538d5eb7309abb3971458a34b81d9c2dff17e77cd5db4e237 -KO = b7cc0f095f4c2ca51ef6bc8e4bc1010c269d4bc790db12cc0d3b2334da98a8b44e6de27d0c59834de295b8f4365b8564a5743a916bc46b2a798db0faa1c6a133543cb12f9146 - -COUNT=30 -L = 2400 -KI = 091be23bd5b8fd1a106ad8e5114dad8616f9b0ef -IVlen = 160 -IV = cf3835ce8850cbbe6f3edcfb537d49d771a7e939 -FixedInputDataByteLen = 51 -FixedInputData = 0b36fbbe7ef8ef6c5a655cef8472651fda3937daa62bfb648bff7b64e921228fd2f50baa38f80072a213d59815f6ef3a9b78ed -KO = 30922822844a2cfb06c73c6da06cb73b21d8619a8a52fd0538e5e6aa815204f70cbcc1f6fa522691d44c02aff5ea759eea6f7490132e9de0364636731425d6eb479ea3f9707d0e25217f57f354028c8fc524894b84518649b4b4fda81b7c865445acc2bc5b10368a6baa6f897b2973d988719c0cb8ad62df879082862a4eda07be10ebc1a020ae894c88958bbfec464ef108cfda18ccc765761d4c03565b0687e4b78c1c87547973b999f11337cacd824cd2eef00c2d809305b6b309b3526fcf17bf5a9ceb84a54a73df94b7985c63295eccd7be08618c8c11f32cd9de734984e43c61e4373ea85040b457eae85ee96d2a08d7d90e1ee8e1b3e469ed01787d373fae40f1e1ea263f207f4acc52ebbe30c33ceb6a2b91a620bed5ac93f1c7c829004eb9ed6b993d7e7cf5686b - -COUNT=31 -L = 2400 -KI = da60bf6b14f728d4d1392abefbb432045b0d618e -IVlen = 160 -IV = 7438bc378962d179c8b8edad4096882a06ba6352 -FixedInputDataByteLen = 51 -FixedInputData = c89d8207215ec30899d784c6ceb24b174fd124c695c3278022764ee8c781bfc4bd0b38fc6fb04b7e7ebc66955e6b3e9df1f257 -KO = 89c6912da2dc6606168cf8de27c239e51f22ea9ec356bdb56f267d22a3761552955310a18fbb7862a49e77ba62bf976ca0da3dcf59d8a49976243f21e9fb1ec97d9fe3d94011b81dc397deef933cad4a83446c26274d9cc67c5ca3449f1afdeeb37eacaaf35619be77f7898e327f9de0e678ffb71c07308fd7a5f6c5488fad6fb95fb66124f8324d4c6ce3e2842ef3e0532d08b1335b69cd9edf167dd0abee80093fa46e56806b79a8b3d293c9f739b5266cb1ad0cbaacf8e26eefb6b13dcd0fadcccb278e34f8d54a61f2c58133186242834dc904d55a47a7c5c5b52e12d44babbb3fdcdc0e65d2f670eec592a89dc19d62387edef85fd6c7388b3bc7e55d03c7b0486adcb819fc8858a43b2211674b53bfa3aea488a43bed036394230cf66c895fad7dc0d0058f5f5817fb - -COUNT=32 -L = 2400 -KI = f25f2fe1d4ef720ee04fb2957d0c84aaf8caa5f9 -IVlen = 160 -IV = 9c4ec5ce789648625cb128f3395c2c1799c6b75e -FixedInputDataByteLen = 51 -FixedInputData = 8da8b6afe6bae5ef5aec68e142cfc34f76aa565e68fde2f320d4677040e77af40777aa6d246f86dcfbf5501b77791e1bb41705 -KO = 153cb5db05bbe2ac2393d3b5eb83c07856dc710e6a854c3f73c21c01e7c493be199c589a0d9e16413843a2eff9a0a081f5405afd6a6dd7839cb1959b0d267c9b2117ef94cb425ee446996b663f3ce424636356a3b83670e0d8299c1f44e15408ff77218eea7397dcec6fe41c6747057353ebdc30b3c5281f615718b1e511693cd5b8935963efc32079abcfa4cd2d4343dbcc6fe09e2c81116c5ca84109da7c48d7a07bf9a70afcd35758dd5a0fc5332cfde301c24ec84a23678777e879f4966b0237670c7c39096e74d5d701b3618dbd8d89df83c6f63ea28f57c350dcb8ee3d1847016bb4cb8f2ca2c9b710ccac3f8dc0eeaa64b2dbf78f5fa1f63bb6865e88307655a0f6493cabe7e7195964bd2c9fea434d6414d86aacf197fcb0a49aa9f44f32f8adf9ff2eac7da34204 - -COUNT=33 -L = 2400 -KI = ad871d888c35d989ee1c77dfc9f1ce884eb982c9 -IVlen = 160 -IV = 1e5338b7bd4db2d88507466bfbaf9d48b8a10991 -FixedInputDataByteLen = 51 -FixedInputData = 26966ab89e3d6460c3115a1d932edb514ec46a8edbfaa226dd2195bb2dfbe8a358c3342308c41f4815cae9d8e31f2f6420eabb -KO = c376af27cbd8879799cb4aa4e98b8bed97a67af6602eba1e8af01355c1aebf34a658cf174366a94253279f120047bc66cf0bf174705f9a3941621e02839602636e10d9f46625aa110fccc582463cd62cd302a0d518da23d2d8e7fba6dcfe7c663c4f5b36f43e5b5b37bec4ec63e9955ed2918f19230c87111b35ee8a012f882e2dbc50fdc1750aa2fcf1d35ff400e9e4232b2df643178dd423b72366427c64555ecfcf942d307953274eaa5729526dc3597ae751b3cab6d10048b6fbe43cd305f25e8a534b36c0e0ad62d8d5bf3a1b98978fcbd1c822d54439ac95f52cf520ecf5460a379067414d9720e869419eff6e5d10d0ba3a827c648e0472dccdcad66d5dc0341b8052a726002bf319766e3a701046a5d83643c17705df0b92756169bdb542f94adbd92dce8e6504c1 - -COUNT=34 -L = 2400 -KI = 04e2eb99fafdbc78d6aaf78c110efe72f6d38888 -IVlen = 160 -IV = b8e0823252acd5461d219c55238df3f8ea6588c4 -FixedInputDataByteLen = 51 -FixedInputData = 288873f35db447dd9de9422afb5540f70bc640a1c6d8a331bf0d86a35d89170bb46aa05eb5245c4f4c3fbd9051da1c5addbae5 -KO = 25cdac7511c37785f1884ca7c281b046b97e37f543d6a80f9163d03a4cdb6529e93cf0bd91072219d99654c142eda33a44d5c27e9321de2272a28456f1fae4502861604a66aa68f2c9ea17a5c4fa399225efd010dc22662510140cffc1244044ffe6fa9705b023d1f92f4d38e5ebe1c41d374623bcf1f7fea882eb23c7c3e26f3e081c879060b17e817ef8c18cd417826572d663aa04237f2d4b34885c897a0c23a32bd2cc7acfa02230667f446c897ed03f9bdcb78253ffa0c5d1e71219cfd421b5a24e47d0efc612ef88ddcd72833079de0c098300f3dcdf7f198298f4d4cf5645e877abe7326415b991733ed7b6f405a2dcc53266efcf794e0777bedead6441a39120ecb64a9f0305137d0e01ef3aebbdf8a24183b7a0708b1095ededd7d4f821a83839ab6c5ebf3dedf7 - -COUNT=35 -L = 2400 -KI = b9d818df0412d81add69c458f7f1ef9d7baefb56 -IVlen = 160 -IV = 93894d43078a225376683c76174dc54e8a1d7a7e -FixedInputDataByteLen = 51 -FixedInputData = b20f7639c6a07ea5241bd0a7fd5970bd6d8993c07961dfc77ea2d25b5662c7d862f5be06bfdc310a978bfbcef7714409ab49a5 -KO = a0e973d0ce0a28de8d83e85d2494fabdb319ac0741db5a5a99147ec9127f177b3f5aa428866f36582e6e0f082c0881d254c86564ae67649d06e0bcef4cc72dad16ca9b49d321783f7fedfd5134c3bafb4f31d2c14edc3ea945ba25e4e1841833bd75f5cb0177aa01950fad92360e91835c296f6457c681a8782bdb35920e01598a92015bcee820cd34aea745fe8209e6fe63041bb9e604b318f0896627cbca34452f706226e7051cb4028050ebef6e8d393cf74a7bacf7b2d0e731f1a036744c942c5ab309829dd812ea77edfd88c7d8b712dbad3c17b67285978c04ad0670c52aaf6434cf6fecf3438fdddce7cc9a0283b2ae02fb41a197c5a0f917b0599e167291de03a1af8810a4682d03a5172567f2417e813d8e32602645d4a6a7ddbe06c3454d1808588820d061f415 - -COUNT=36 -L = 2400 -KI = 7accc110d4e8fca5a87069c9c72d08dcddf7510f -IVlen = 160 -IV = 2d6f0489d3ddee397d53ea9d6252add0b7385d42 -FixedInputDataByteLen = 51 -FixedInputData = 8d197ecb0ff0b61eab1d7fe37c19c271edea1e290aba731a2726d73f1117bd72545544b9054f98a5a1b6306994c6b5dc56a7dc -KO = d470267c870cd08a00e1c7b310eb03578176bc7ac9c2983a018731b351c40afc0059bc5cc6ce2babbdfdc7d264155b94ec60d58a42b34b47093dc677b5c19d7ac46d3abd7b7c4003f4a9c01c9a5ef80ecbb53f27a71736d2445873cf7c0c4236d785ab094597588e8bff8e34e3fabdcdb2c7530bc1b535cbdef1ca2c6826c18ad741e98a219d9b25ba83d82dcf9d9287c6826787e95b6d7c750ae2de2ead3355d329a511c8edabf01dbe9c78839fe33dde6ab53081c579f0d32b8278b0076425a486a5839c9944d82af8bead456e3985d75cb739d66fa2245dfc43710eaac989a9e3e0a01232ad95775e51fa6ebe1c4287b47b4a53ebb91cc0659bb95ff6cb879b3b565431039d0c44be169517422cd463ed245a57f1039a0089d1b31474e422d0de998e362e6959c8a4df7a - -COUNT=37 -L = 2400 -KI = 88837b552779fea3fb4201cb8d436152007ef572 -IVlen = 160 -IV = e31975dbcd11df28ff2811dec10eed28c94b63d9 -FixedInputDataByteLen = 51 -FixedInputData = 0b065ec7e15663c298358188f620a491edd14779f1cc365c65d8391097e27646f5a730aff6e1176cddbd1ff4bdb0f97628698a -KO = 9b7d31b06acb97bdafb657ca357710ed5f382b4c62a0536c9b7855c977dc16a5d3dda06e9fc7397234384d463e9bc95b8ae8637fa787a054f620cc11d40367e4611ce1ffe617eba669a0988c2020dc08717cafb9c41dfe4816cafdb6760ae12663b62fcb39662e9d2412cbea4b6e3dc64de387b98e60ae7937aeb00cf7e463fdd1df6452600b31a3207af257cc947db705fa539376fd76becceef7069983cafee47aaf1e6cf72189b76d7e72cd933f183450c295612be070154460607bd9600ccf3b4049d7254074acf8a5355389bcdb56f29e3b08b7d767cb270cf9ca93852ec2a2a42403dc0ddb74e37a2d9e605b49d663bbad1ca3980c3581425920e7c29bd0c0356b1e072b129cf5de4619f66abfa088ba330fc67fc8462fd00cceb8a309ce31d43e457d18332b107309 - -COUNT=38 -L = 2400 -KI = 8428306e0faed2f32329c0a1cf0fb679322dbf1c -IVlen = 160 -IV = 4101a6c6da75d51133b982a109d300d8aeecf320 -FixedInputDataByteLen = 51 -FixedInputData = acfb23e0f61adb32a0ff5db8f336aaf44b0c925fa96a663199371945ae40f35246cde948d17814e1696e7e43e97622bbad6a07 -KO = 5714f04ae9678dc7d31b2a5ee20395ce3b8309907df065ba6cd9661a9e1084fb42f7c01a2d503cbd3069c2e63a411488134ac69a1745e0e7e99498c0d3f640a87565e201c1d722adfdfe376bc57f5cb15dabf1806a3bd6bcaa11024b2c7f04da494cdef3059fcbc0d9dad21377bfe738bd01b2016d070d64d38bac80037592ac8e8e37de9cae82a479938cbe19a90267eb5a71a8cdf62481e7a7f26a3767a53d2522e8207e6008f5c3b629a0d38a9ed1680cf9bed2980f20f20bb0d693ba3cab656fc81ee27db9011cc60d9dc6b02afcb6087983426d74c4a67df6b93b01bd2a9ee2fd307dfe08afd7232896431cc693825d7b60444423657345915a341dbee06a9898389efcbc68a93787b554aad26bb3bbd96454daaa0489147942101ee9b89e84e088ab95874771c20008 - -COUNT=39 -L = 2400 -KI = 08fd4da4bc6afd3558edb80a55b0d54c80317d0f -IVlen = 160 -IV = 030415469ef24c9cb3ed02fde24a0dce1e116e0b -FixedInputDataByteLen = 51 -FixedInputData = 344964b19703d209933c03a9fe26eba1e26b6c7bcf2ce9d23c90719eba1f0e55617851a1077860dbdfaad411cd2bd8f389367f -KO = 793bc5fbe7fab3ca3806dea440614aa0a292254e451513b604b718c4e802b7a89d862a4bc307737eef858d0f7c3a69068408229ec06393968ca4e0d565fbad10aee6a07b1542ed4d42a04732addf9599f96f622bc0e6e042905315954b60a24f0dada52c8512c60cc5fff09aa78dd49c34d3d8286be0e619dda839f50bb3fa1e993058890d75df06cdabce8e48c3bd4c4626f83bac37ec4994f242f8e5b56e91ef0bf3e2a2f2a2d13878f522741752da16585e70a3611479ed287d5fc8956bb19afde6a6b8f79d503d6b811bcd6420c24d04a17059a3699650220f322c6c824e0539ab8f060dc8eb80475f744ab2beadfa1eb7d5f85c4a1c8f88481f8cde52f177a6e315232a43d825bd13237d35a6c20c76c75490ddb1395e74f5ab0a654007e8b1bcd1e7e3a6d6a912c7de - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 54c5b43dda4423ed9170023e02b2a67f3e81e121 -IVlen = 160 -IV = 2c2e0335c6f731e9bcc00e206a5cfbafcd40d0fb -FixedInputDataByteLen = 51 -FixedInputData = 632fce067e3bcacb8ef92b95cbc0300497b589eaa8cdc729a5995950984e7c27a4c144629e62a97cc16c8dcb3b1595b278279e -KO = 11138c1d2f8eaa7bb2702500a50d88d6edfb3a8893136cfdfb28f3969c25bad9d4b939118ff0e8f6fe382c0a4cc7a1fbe4b8d6abe5fb1b682c8b2d256b114278 - -COUNT=1 -L = 512 -KI = d28592b6aac5b662e15321535045334052ee89b8 -IVlen = 160 -IV = 12d0d0edf4549ce7a3d9911204af4724b930164b -FixedInputDataByteLen = 51 -FixedInputData = 22b4e5f4830e712b72685653c6b04176ca49aeebf29cb5b2ca52dc69e0b785956d947fd10c7ef1925ad27aded380fd1f49159a -KO = 80c671154ba63eb278ff3aa985f25fe5faf6422654c267b7718547574fdd07b0fa3fc203a75ed5d700e18731f782a0d084208f49655b725cbf6904497fbd72ce - -COUNT=2 -L = 512 -KI = 6bb2f6cec3dde3410f118dc2bdd80426c1efc128 -IVlen = 160 -IV = e48e4b6fbee9293e76e30c9b28f4e3cd624091f0 -FixedInputDataByteLen = 51 -FixedInputData = e6512b76b0b07f53b455ddd935c42a6b6e3d0a75970555d34db0ad229edaa4b2bba4aadeb14ef7f89be90b552186ee5a51a5f8 -KO = 07035e2d0385eccea63344f3f8fb76410d112bf05d1ea2c8ea0074ea5d5e8e30fad97302b2ad2bb0ed3fac4b0176294d75c511c675bcc0b0cdd7885a94dd82c2 - -COUNT=3 -L = 512 -KI = 89da6f696f03b4234b9e52c96910bf2a6700731d -IVlen = 160 -IV = 743ffcd7f5c8f0248a648c0ad7e452820c5ecd73 -FixedInputDataByteLen = 51 -FixedInputData = 59e39b79e8a5e07dd41530c313dd40fbbb792a40b720c546f8eb14a635b06a3add63c9575bfea36ca2e42e276c8d8fe49a05a5 -KO = 71121bc3e3c2ffa4e6af23d09306d779ac76613768f119ad42c1da07fd1443a93f2c73e75e097acffa94e919e6aa93caa38fd9461ba9760b688f5a88dfd75e18 - -COUNT=4 -L = 512 -KI = 0976b3caf326705ead75a7832e1d316c337ff42b -IVlen = 160 -IV = 3daf9f693f606bd4cd19591d213cd5f80d99370f -FixedInputDataByteLen = 51 -FixedInputData = d02f30c9c85ee739d8b33abd4c5cf3755825638c3b49d2e00d1f387fe35407a9ca5f3f067018d93ebc2dcbb133928943b7c7bc -KO = c547bf1bb4b703055d0fb418cfc81353cd7c94c44730777b60b805ea959f563bde2beb1b200d30241ee4b4f1b0f18234627d028b35eb9fafd84fb15c8f050492 - -COUNT=5 -L = 512 -KI = 6397c808ad20212cb9f0024bba7a68d4841b4c73 -IVlen = 160 -IV = 16b5a9498b552dfd311381d029150407afacb859 -FixedInputDataByteLen = 51 -FixedInputData = 4c069e6f32bfa92cc6024b87be061eb23a4e2c0dae28024f20e8b7c5967a0226d9f37a0e7d4db3bae5a2217e01354452bced31 -KO = 13536ba718e7591369f0a7521c198c6b0d730c7ac71738c7c7348017f53c226221023a01400aaf0055a8c3727b4acc7094afde863c2773ee4985d6403c4afd01 - -COUNT=6 -L = 512 -KI = eecd32482544c6ad07aef7b5560854506f324ba6 -IVlen = 160 -IV = 96d75bb85b3a6471ee348449002bc1cab49b89d1 -FixedInputDataByteLen = 51 -FixedInputData = a189d7b0765186feda23457f5ae478eff514c15b6a1fce75d7179e4df2df1bd8a6dd71010f56eefaae16089b6e33d7f1e9376c -KO = 29683612a5140b3261b955469b14500492ab480524e8017c9b7b4a7949307a85fab9980cd2bdbd382462fa8c73be8119d39869fc54c6724c37657f0b3989dbf7 - -COUNT=7 -L = 512 -KI = a074d279a273d299fe903f613ec9bd3bb6f3d1d6 -IVlen = 160 -IV = a5b78fe9c48f7366be76dacb5bd07c7b3b67c024 -FixedInputDataByteLen = 51 -FixedInputData = ca899d3aeff058c21f580bf73f3dae2be0bca3602240ebe34632ce2b22ac9e0cfe6c402077257ab8c25494de9075c9c9ab2763 -KO = 7310ff45b8fe38158cc90645df7b1fbb59de82c0ab015b9582930cc7cb1eaabf09502cc1b62964743edbbc9dc793d4c3733268e2495a45e8cf3931ba62d8b20d - -COUNT=8 -L = 512 -KI = eb592f01a8c4d723f6829514e5bdc007dbe7daee -IVlen = 160 -IV = ea863ed8a33c19b53762be56f8a071cfad29662b -FixedInputDataByteLen = 51 -FixedInputData = 107a8bdc537b34ea26f42f59ac0a1d38dab38cd3179a83f0e3d82ec3b506fd215f20502d1eb23d8103cef279bc4b105380f4bf -KO = 543647bcf6d4796e96d9bc9e59140ada713d071d58eb922747f8ad7f5d444dff0746b6f5d97f5dd94e3aa2d5376a2e1463e98500218bf1bb11f86a635b981a53 - -COUNT=9 -L = 512 -KI = a0670ca4a0fc703d5c495171e3192d09e22111ff -IVlen = 160 -IV = a967902ed77ed4d892fcea8dc1ed945b0aec1fad -FixedInputDataByteLen = 51 -FixedInputData = fbf94e09ea3278b5e6faa38564021d643cbd7bd0cbf2dfd0bef1cbfb75825978156bc682e5d73781ca95836de1a0a0d4e44669 -KO = da8d55732bd673de5b9b92eaf5a6c8f550e9ad221124bb0ffdc06277f7ee0ebe1a0f6c5e67862fad95a4488b743e594ed0b46e202cd69ef5d574e8dbc7d8020e - -COUNT=10 -L = 2048 -KI = 4c3a547bf33a4d7cb33747763d31756fe3969aa4 -IVlen = 160 -IV = b7e27e7bc4f16a8f18c166e3b4216af87fcbb798 -FixedInputDataByteLen = 51 -FixedInputData = f95feb3bf7452caf8d74d5aeffce58c1437156991a485060db4e134aae1e672d4592530cb5f6200155aa6827a655c554f71833 -KO = 8d33994f1ed4fde8fd6832785b8ca07725f753051d4c001cf0ce5bc1fb9f54d405feb0444f4957b8de7ed1d718121eb7209504048636a1f7b9c71b0b1b434d6568ce313db993cc35274d61b63fc9fb395eb0b2c569e64653b1b58b5c3254ef1b9158077b5118427f1c680398e7ae8d68d118291b5c8271b6c97117a0324335fc62857a3b80d78e025e99ed77ca9176cb8b88eadaa9c21d77b497db6dae25039bdcd810c63076d1ec62b032237fc87605aaa46f763c8146e4c8c691d33698d0eccde011e5ab7a5b1f80528069de2df512e2b6f240a300681ce7589a4307cb0aea72ff9b8d4e2423f1282d6ccc164b595d89188baf191a005d08726af6c1064b96 - -COUNT=11 -L = 2048 -KI = 99596f4cb40c94310c180078cd2ac72a1a58e8b3 -IVlen = 160 -IV = 3ca9bd2eb90a43c6629edcdb58c0f7c02e366648 -FixedInputDataByteLen = 51 -FixedInputData = 82ca924b327b0b43d8c7339f0e1b7b5d6d0669792ff6890b8c7739c38f38bfa6ffcc5d479a84884e947fc4f54db3d03667be28 -KO = a2675d2a66e4cd0a2c0b9c8151f260cdb8fff6e222d9386f8cf3627d1be6afefd44df8d3e239752fa81df5cebadbe1e667b729b6f55c860c42d17170a9663da3394f32c96d36a5d891583894c99cb7458642615d2abe3ce52ec96f2f2027b5b70a6c409ac3475de314d1626ab7d8efe8502709f014a13b9da33218f75dc4c1dd6413821cf0f983e96761d0349ac7572838480ce8c8c3d19249eb0454bcce8421657a8d1bc125e0c368cbc649cd788baf83bcc2abfb58671affe5b375fe61bc88b670c023910b19f5b8df0d5c00068de6a3d2b71ad9c6afe013ee6f0e68ad2349b91ccb40c1339597c5e1bd153128f84c200864ed2ca371a228e670b40207441a - -COUNT=12 -L = 2048 -KI = 5f592e17aa02d3d91f0810d688b32b91eadd06f5 -IVlen = 160 -IV = aaf3e87587057394abfd6ccaca7db99333103b45 -FixedInputDataByteLen = 51 -FixedInputData = fdeef83cf3420953a60998941f28246441a0791995a54cba63ce51432fb1dac3f2167f36b90f61088188f6717548701ebb02bf -KO = b209810dd05bac5626ae5981000050673819a6784214761624962de44f4b34156b72985a36379b32961bbb91ad37d276eacd77c75e8202dd8331d02a4f24e6b2a55f5043cc2a9fe66d353042f7a42e46ddaebb64226de145868ddcff17a22c895893b7d072824b89ed278fc151f1f28b6995dd94d3a0e337bb370df02e659a220eae605fc37e59e1b4252ff3429921c8046658ad349f478f0f835f4f110b65449c6a8eeac3757345c181cb165f61cf43bbaca50e3b223fb8a74aad004c844b26f1d7714e06e659d05b5a82b544cfaaa23b6faf7b36412eec11bc82304bdaf545af804b24f87a9c63cc633d386e2d77d16795e19a9d609ffebd1c24dba510951d - -COUNT=13 -L = 2048 -KI = 202d8d2b8d7fe1195dcf4762d0abfe0b7787ccf0 -IVlen = 160 -IV = a6d46a2fcafb470ee4285ff202639986cf0b31db -FixedInputDataByteLen = 51 -FixedInputData = 19d2164dfff24e59e71e09ad2b160aec7e9c2788c0f856c1880761304d379efbb1ca7a1df1391c957913a9326f51cbbc632fcd -KO = 1f7414da2334af0fc69fe911a6a8b0127b210a2f936ffa2ba71a5eb361ea2fb071d6df0ecae902aa45f6b8c266bcb79b68f46ec7dbf2fa0875829cbbb13fbf03ef807fe50927015c2091f262a4c108f1f455bd612b4481aa64da343fb0fdaf26b13a17b094a9911b410b4e6dfe0d4d81af723753ae530775c252131f35d2302e5a4571fd95fd2c35d3325d0e879be9373d90d730668634698bb8d314cb616ae43dc452caa9505664a0a06641c49b1c29f3d131875abba5de133ee8341ac5061a788b42cd7b028945e7d0262b7712b5fbf0b81d116b4e0d2ad269998c88c14dcd8d762ebbca44f99eaf783d7f33a945571ba6f95ed04f4ed989fece4341836d57 - -COUNT=14 -L = 2048 -KI = d61bf633a99ecb45c48f4eddb0ce149ad39e9c42 -IVlen = 160 -IV = 2f5a7ce040313ece3ebd62738157d4faec9738f1 -FixedInputDataByteLen = 51 -FixedInputData = b40dac47329fbccbfd4a9c1f486c1843e605b34ed594a2dab3b145e44cfe70c840dc5d98c49f9a45b91a7ce43a8dc264a2da30 -KO = 56a49d0aeab9b5eecd29bd08b27ad42b270a5e59283eb0e097f1014ac9e4983d8776aa04b5cf275c5cb06f8bcb315af9a1ce674ea52f9fb701011bfc76911b398d2cc3690963a5678dabb36345a21e3150c7723219c9ee1f591174cb642fc26e2321252f33ee5fdfe51499da4f274ba1f41d62b148d1e4b8f873b08624fb280a7c55c53870182c5f601ac4e7e6e18757581d930f21615c56066ca320e07d1948cbed32b3b9c4626a18ffbd11b6fef3e2b6f4068bd8f087d1d2131ca7b5ad7f15c8f8aa25c34dbb5e7736143a14c3da9fffc5248c8268bd9ae6232455478a346bcc2fddc9558ff17f0fd698dddc3a677935ff95ca2b432dfc231d8dffaa2c7d89 - -COUNT=15 -L = 2048 -KI = bf7ec1d0f3aba85ea927962e3975bbf3ce1465ef -IVlen = 160 -IV = b8d74b4be118309ea46e11bc7632a128876e1fd8 -FixedInputDataByteLen = 51 -FixedInputData = 1f83dd266782c67986e2e3af62c5fe656533e26e17f940a23a718ee0a3dc426acb44686c10fc7726743d5c86462d93827c25b2 -KO = 20d862fcc0cd2bdb6b82e264401671e43cfd6793d41183aa85f56ad75afe5eccb80ec4fbf3018b4db0b13faacfaa6afc4a1064e816e279825e896b3d6efc513ec65b811fb4b167dbb9268db7f86f0f75b3d962f12dea9ee85f9941f4f02e7f78b20582f21ec7233c5b21badb321d5f15b9293e38f1ac11a98650dca3b1e29902185da0c411a97692d49fb5fce7b979e9aaa42a1f2dfbfc365c728d08cbe50c61d4735d2a3917675d82053e4f23d746e919dddac0a7e0a0b9a4232f960232e7914d256b1fc7d4f5b6abc24d2712ebd0ef5edcfaad2cc6e6b3f8e3f93cdd1668f81d46e277f54b1b95dea6b1afef3acef6ebeef853746aa2bf453019745d9e5d0b - -COUNT=16 -L = 2048 -KI = 786fede8b09f5a93830fda747c62fdc9912a7138 -IVlen = 160 -IV = d63079328ccca9228f5898f341f8f26a50a03dbd -FixedInputDataByteLen = 51 -FixedInputData = d0429649280a765a88ed98d3337508006d38302122c532e0b7876043a1fe2b89e25317a0187a4d75813e538fa5c2197f27a79f -KO = 73e80dd41b580c5842ac88009aeb6d0b6a181a64e7b93cc27b8e082bbc5dc6053a803f6d403b54042e8f3a58ef0f040b0dd2ff20a839005f77110310544726830564fd45a0d1cdbf2da02408cac776848bca8ed675d3421fcf9948b6dd321c9946211995499a3b91e09283572e91c4481a23ea0453e48e75b924fb6ae72574167b43227dcbc4aa301800309914449ab11e572f6012bd514d207ba548103671d02a75e1b0714802b0c9a87b103f134e6841f52b07c090b447bc731ba8c54a8fb25870c00cd362bfc216e040a977b5d694d9082a8b74d28224be227baf14d9410ff1cd324fc061e3efe60659019920711c3833a0c8bad3e0289008edd1cf7853c8 - -COUNT=17 -L = 2048 -KI = ddaa1b3eb52ce3953f7130ce9589072f17e93d1a -IVlen = 160 -IV = 158002f38083864cf0b4a4b2c156c31e36e8e0fe -FixedInputDataByteLen = 51 -FixedInputData = 4b7975ab9fb1e36edfa89b7d6cfc2189baa7614460cb357263c6c52632cbce0f6d4b04f8d93f27f4afe407c799bc078145d5bd -KO = 76cb8eceb3586d94b6cd4962eccca8b503f5f2cf3d1b91e0522fca8f7f75e5df76ca443f521afc9d65c85315c2e297627568cad4bc1b76342b4e51cf9c087cb30728b5dada43b374d560026ad551ca4ad184754afb1905c2d1f9627192038fff687a8e3574db01b47ebe48a313e6d1a42c336ca9d748b8b9b87af9d48f29730751582264590739316ffd9a122ac585b06c31ff1616428de8715a39986153e94d72a256ef6249a8f8670cf6ed00e193d1917e153d3f156309f0067b527bb1d4ca377afadec1b031c7228a09eb8af23150d309342b11dac0f399f5fe91c4ac4fc690a0533b53891310cfad284f20eac4d3b688f5a61a7c3827495ee8d969ae8b2f - -COUNT=18 -L = 2048 -KI = ee6ae0cde38e69fea76bfbbe9b636e6ef688a69e -IVlen = 160 -IV = 0b19b2df3d54c5881c7ad9b98768e3952b9143d2 -FixedInputDataByteLen = 51 -FixedInputData = 59d30bc58b2b5bffa7a4eaeae3cf15d870d94ed296c22082b988aea91622b2eb4dd4cb022f442b7ed0cbf6edeedb5df7ea0414 -KO = 83c295070aa1bca140c9eb5e043dfd10b08c7a4fd0f89ab9e52978818943a104ed42af20bbea6646ad7d2cdf3c86128b1544cbf509d73f4cbc99cd602efcedf64ecdeb8dd8e641ba3e3b1da201202f242054c90c4e889efaff0f699dd820b82b16b8747b0904d5b9d2e458707655c70e99707053d088d1e1664fb2d7db1a51026b9bbfeacd718410e8f1cf140210839a179fbeb6f29cc2e3df85330dbb6aeb1694782680e2d15937863fe1b7d0d798a3fe18ae85a657a47b6f5a4a55d251bc8e9efacf0ab0bb1ea306835a2989c2fe9ee3b821327dd279c810fe88d8c58d8dfd4312e39c03de9ef77565070742aebc4e942e3833b7dec3d321aae02f7835a650 - -COUNT=19 -L = 2048 -KI = f726f8363285800125f4ae9d204a87192337f777 -IVlen = 160 -IV = db2cd7e64e8cd40f02f39c458e50919d327f2a4d -FixedInputDataByteLen = 51 -FixedInputData = 3a86a429daae6ce4ff3cfdb0b1f7f84facfcd65e1e3b4dfe9320dd4867f8bc8a990a4c951d48e4cb13a5d70055931197d6eb16 -KO = 105307679ca6160c7c2f8bb653a4310a10a06ca61f4e0a45f3c811b7769707c114d496ccb9a00f331e0a1dec3343d66a344c7153f07e54bbed543dcb7b1b8e68f307e3071c3a7a0e3933447a8dab877c5e3854386009904582d172a78e9f4ad3a8177f2e1b3471829d142a1d3efc93fefb454d624bda7bee06b7d167a88ce1608f0c85d56b9554ab80eb731e1a7085aef58c588e9711a0fe3da7c84c9e1db7ef94e0730dcb42b3e90e4e99bb73bb95bb9023472affc1fa7171e7a5eaa8be5f5d627a1bc84466e8ff6c61a1e2f10b89755827443ee872e9c6b2aa1e37e7df558a971346b84bc598b72a6912886f94ac51d7a69a3ff4396c06bef8ac8d814fcaf3 - -COUNT=20 -L = 560 -KI = 9bfd536df13d09af462d9f63fc76959b3f6682be -IVlen = 160 -IV = 4d16869b5114853e00a7b28f8d09226f066faac1 -FixedInputDataByteLen = 51 -FixedInputData = ddca662553b17dea7b52deb646c3aad190fd1b96fabf7e8671efcb5a9638f101e4634e3c9f306d086006d15cefdcad948b15cc -KO = 1a6fdefefe505ea6b132e49acfc8a6c3e9aa731414851f25b71e524fd0744484d083e2d3650f5456bed1d229c027d34ff8c2b82e085f64fcb605db9965d58985d9f7fb768c90 - -COUNT=21 -L = 560 -KI = e1da317d8a8fd8afd875ccb6bc0333f50ad33256 -IVlen = 160 -IV = 161ec4a42c916ec30ee7049848f7f375e9e3695c -FixedInputDataByteLen = 51 -FixedInputData = e8e67bffacacdc82d0ecd627beb21102499f3e2f259693fbb5419485acae1ae6f3ba9341c581eea5747966d4709f4f9cc140a1 -KO = 0806dfb8e7a998e314410afe04cfe6247ccb2dc60ddf156f22c9ab8ebadb350aac47e20bf17812acf6daf2b6262fbfda662496e55e09673ddcd3e6740806995a6754843ec76d - -COUNT=22 -L = 560 -KI = d10e0a0f3fe9132039b51fe47776c89d01be3022 -IVlen = 160 -IV = 04b8799fa3ea073e374344544b4f25527e86b96f -FixedInputDataByteLen = 51 -FixedInputData = de6622117513786b382d6230a5e06d07a91247840b73d6872bd3974ad3a203cf38d7d58d9d91767b76aef6ef98bd7f833a672d -KO = 87b002b30d2071da311d47466ebfd0b6bf5375c1f19446a3651462714fd36e042ffa32d8a5b589532c3ecec338d1e4ccb94dabe730f32d247d2ac222f4d41355ff3f749df630 - -COUNT=23 -L = 560 -KI = 96bcd38aa28195102885239ffabb987b8f770daa -IVlen = 160 -IV = ea1da11c8e0b80c8e5ed60efef7833559651bba7 -FixedInputDataByteLen = 51 -FixedInputData = 6c247263fbdaf99b6e07256101635d352509e630b1909142e5571cf10a3ed8cb2809e01091cd417a34afc984717f0c8a4666df -KO = a1a9b71535d084b496ad99c7f9d9f1fee19374d628801ddecbe2118793c3a4f51dff5476e22869dba1fe2a6497f608d2ef38662a9565872df671d1010f1f55bf4904654efaa2 - -COUNT=24 -L = 560 -KI = a993195e7dc2d0075539f9d6f2aa00d4fac49690 -IVlen = 160 -IV = 1330f1e44a04274c9bcc6fedf633747b22e5931a -FixedInputDataByteLen = 51 -FixedInputData = 9064cd80e99a0a87a9cf0b5c996bdb56cd6381727df3bf5846a5365eb4f9ab555cf5fb4125162bdbaf76f8dd2068348599221a -KO = 9bfbed1433194330ee0fc8a8760e669349ee60e0722be52becd52a2fa72e4fd6e23b8846a6673b62daa6a2e08f12fb19180831121e4d67a0561b4f6453afc95225140840d029 - -COUNT=25 -L = 560 -KI = 79c7c08add4796b699f4791871e5db69c15cf346 -IVlen = 160 -IV = b4c6084de9dec265aed6a2f785ff1a92594b31c7 -FixedInputDataByteLen = 51 -FixedInputData = e7a35de047b3733592c16aa730d357745d0b3fc9bd22ebe03e9d0bc785bb4d5ea697688c72d3313daae6a6ed9b9269afa5c9e4 -KO = a5cabdb3dc2564afd9c31ba7c32a4c84866e960782e68adf4f08a4c916207e4d5de835bd64996507b4c18eb234068c2b89e061e845443223499986ca7b3dae8fa471990861b4 - -COUNT=26 -L = 560 -KI = 5c6fb923e8f9b4604cbfa6c78d5a49cf8d917bc0 -IVlen = 160 -IV = 9b0ce7a6776218751a918d87e9e71069b17ef66e -FixedInputDataByteLen = 51 -FixedInputData = 7d89e3af2ac9881c0376754cccd4188fbb90c6e20709250b33fa5809f003b233442529769a630d5d57e9fd71ad6af53bdd1cb4 -KO = 0e5f2505bbb705124552226a72606862db9f6716e415224c5e8bde97c771ae31e0ab9b2f46457ebe297ac5cae14426a0529a4c1a1bd4027c7872d809b561b28e0688e0b3b485 - -COUNT=27 -L = 560 -KI = c076db4479354c518a3ad3f433f86c83e0cdb55a -IVlen = 160 -IV = 4d20c7c19fbfb2269cbffc0e84032364eab02dc3 -FixedInputDataByteLen = 51 -FixedInputData = 2c8b7b22acec289497e07064d3fce9ff786390564b988c6dcaec516ce745e28aac477a564d69119b8a39e5f5bb2278dd2b468c -KO = ff3cd12fad2572609343fcef3b1f7d54f5f2b31d1450d6642afa7a553b3c16b862f129bb631b11e08e3dd9e633b202415173b3f725c830ab8b6f7405d12450e1b3f70ea499a7 - -COUNT=28 -L = 560 -KI = 91e89de23d96aefeaec76ab5ddbd43ac84cd7768 -IVlen = 160 -IV = 2198144ea869bbd1cccdfe66cf4c6c20cb061605 -FixedInputDataByteLen = 51 -FixedInputData = 171c2e2de277ff3491eabe5703b13f9c2cb3bc13dc45a4a3a492249e8d1cd38975a8c2437c05c7b0f082557b252b7be6e798b5 -KO = 57c7e9591010f13c6f335a854e78ae3e0560d6a846c913d9f74d5bcbee5653d69575f5a8f10679799efd40198bf64e596af8cc5e9853c41665c6a86ac2f37d9be6f515b108c7 - -COUNT=29 -L = 560 -KI = db92916b9f8620e0221bac045c0055e90022b7d9 -IVlen = 160 -IV = 5c727847e7f2ce80882b35ae23280c162d7e8dbc -FixedInputDataByteLen = 51 -FixedInputData = 1ef16baea77d11c939c23eeb524034588775c7c30aed9b075d6f67acf1546e4688454209634b17d73527bf06d376ea1324b60d -KO = e25053aaf2a91c67a911e2c88a8cc97fd006fdf2dcc2f276b65cc0222799d1064785cb15c3d943af7a1bee01216a36cdd3a88da113751fc4160213a7342e953c5ebb11087ee2 - -COUNT=30 -L = 2400 -KI = 0d465f6c09184e91c428812bbd941e23e6e127e4 -IVlen = 160 -IV = 48654aab16dde447912ecb4467fd5209c3d60db5 -FixedInputDataByteLen = 51 -FixedInputData = 225e203b27dd07f3f20e5c74d2b92eecd05765b186c4868d2a79b6fcd81f50089d673bd2d4c3fbe88fbce80914d087f4264a37 -KO = 08859f1bcb9c31d067ab13d0bdab400470577fe0fc6765c988fbf931b0bc7a770d2f3478cab773eb9b9220854f22c3467544ceddf3b4892998870d5a3ed77bf7d5f37e9f8b19f6245b00f17c54a094e7316573c2837340e398c92cb573ab50698a9161b713fe1fb753b8b0eb192bb7eac003c49f21e83a74b8fad9d2b468678be2df84c60d690fae8eff92104b127dfd549ef4859853ec00be80f3c09cbf2a083db719dc5a90fa6cfef1f97d0dbe09a3517aead50c2d8a16ddec8be2ea94e9ce9763ec6ab4ffec8bf25704d7a54229f9062e0c6fdf7adb9b04bbe7f1e499f1fde676adb3840199643bdef2ba44945beb15ef7ec8ad8d7b32399f03a1f6ea86eef283a1c79ba2df4db546ba0980436fc032f5926b4354535f500339ac7de537505d12277a311d6e5ffe4600a0 - -COUNT=31 -L = 2400 -KI = a4c09c2cea414b819c51a041398b0da9fd74db47 -IVlen = 160 -IV = f2800ee7878f04adec82f4639c976f1bd22e5c93 -FixedInputDataByteLen = 51 -FixedInputData = 70208692dd1886542a446fedb6c56f9d4d4e9c59c25b56cd0e37d73bea3b76137dc47be61e0d011f04d1bde7347e51ca4b41db -KO = 48f4a1a0c9f6c2891ec4ba921e386f3162f63a13ba6e78965669d93fee9738d852af72e443a75f83142c643ca817ab80112d94dd0f158e0eff7391385943fa7466e63c92c0dfad4b7e93bc6e5f6feb19cc7cee453b57efe3e535f6e24337164fa67870a6400cb62ddf44a116b50ef686f5e22db3a706497ef649adfc2bded9c5c2c9e550823aec59cd5bf308c5f353a70a911b282b65cc1d67c4e58104b929d66a02bf4a7d443ab7bf7708da643a58ad93b91d89495306dbe714f2cf3752d328586b8752d9a428cf5f736baa6ca7686b072d7d1b4ae99913890a069606d13e0e0f777ea0e2c95396ea51948bec48a9dcfdd05c43c4844efb1ce230aaadabdbca67005e275ecd9acd3d4a4d45a73fd8f7ca5f3a4edacffe5daa0c40f98ccd464c23a149ab81d0f2841216d08d - -COUNT=32 -L = 2400 -KI = 8dd9080bacadb4b07bfc30dd8e828f413afb46e6 -IVlen = 160 -IV = 6d53e804ae8774b643f41906865509768b87111f -FixedInputDataByteLen = 51 -FixedInputData = 9976d0f578a09790ae6464936b83bce0c35ea2efa03c7b4c6cbb545dd7152a32991b05486e2acfb84d72813c3f63f97359fc37 -KO = c55ee9142e53382ce8d5938ed4a67efb452e4b51210cd986995cc0b70662e32c5e51f46f0e8e53ddefdf2fcd12cdd13a8ef647aabc3bc200583a108fc36640bbf543fc74384401808f365a22bca0c38082e04591c86f83a0a276afb5528bab3a2760e32d72cd6cf82010d588bbae84227a0dda57a570802574651c78d772ca35289b91062297812f50b5e8170d80d8522a2ed5c8bbc82cb256e51d6ca1a9d94a0e98d0234330aae8e8eceb2d5de6f641201194350120f9f012e1bd0369b7b876fb02d5b464fcd7f430365b38dc0b19645a435cb93a7ed8244847358bf6a5a332d75b7af4e9b179965dee1f5e2fd0ac668e5fd78a803c71f895239a663866a38c3eb5e7907e867bbb3b49703de7ef0d4982bfe0fca6f69e31edc7148c7d8f638a86681825ef6fa673f78f0d54 - -COUNT=33 -L = 2400 -KI = b8d3606480b525dde0da7cd271a0b8d633b4362a -IVlen = 160 -IV = a5df84dfb52aa620dce60ad3f371dc25e28209c5 -FixedInputDataByteLen = 51 -FixedInputData = 761d89830dae1dfa3ae7a4c7188e723723f987845c23b20bfbf4d784a89dee60460fba4268e67554f7a9ffb5a87657030b1638 -KO = f4e3f4f979716ffbb9d43c8a02df61f8fa3a240711f85a1b66e592918bc9571034f8711f7facad6d6b432dfda0481c5e5e838a459c71c8130205d73c7efea6ce19caa5fa60686bd2cf4471be38fbfb23521cf8d21f4c4c7fd799e53c2965885734fa4115bcb13a3fca83725aeb1589e68aeabef255ff085ad313814d13a3ad543618ac3fbe17c61bfcf2f1e81312a98bb50afbe32fb71ac7452abcc8fc4e8bec29ef761f685ea9d79a143690025799b523336690d2b6a03c71dca0614635d94e65f0785e9505041fb042230a8ff0cd853877835bc3b88163f67280209b7d8fcf859bb0532dd840c7b0a9c9e5d39c5297c8babb344c8df2c30aaa55159623c7f7427548b111a83be773d79abdb8688beaa3737ea2417bb301b27223d83bec2a4f5c42b4ece0e8ec36f08a32f7 - -COUNT=34 -L = 2400 -KI = 9b67f82d23bc83e988907139cd9ac430dc526ce2 -IVlen = 160 -IV = dc128537d774cb11afb250d68a0d08133e988a69 -FixedInputDataByteLen = 51 -FixedInputData = f432131f5bbae06d956b9957914c3207c976a87dd9304e66b34c4f5719e3a4db7eb428ae567f283a89063e6fc157573b597d90 -KO = 5d50d8ea393cf5e477ef439e60caead983fff5e1637fdc26568522d1ae12c35e0f0aeaf771c6cef29fa919fb8594e9906d71bac260eacdbf1295fea9f39c4e1fbaa7791fd35f308d31ac8dafad41f860996bc4175ce2bf1e63743afcd8a6412d7b4fb18b02f541850adf42d567057df844b59d80166e4089f356734e755247472b53cf29048cbf448d5124f4aa79ce80d508016091ce31617e42f79bd305d07489368835db02fe22d9ef607933ca355c6cba2aa0a35bbee8f1d6b74181822eca0ac4c84e4aac02b9a03793cc767246bf4dc815c19c0fbec12b1982610df0f0a50e75ecec0a50e6def6bb9147a91d7a2c372d8bb4ba7fcfc7f1e952caeb12955cfbabb89255aa586635748d5ea2765779c4a8ab24d24b41df7ad28eed7f53376e9d6ebf24bd1003c7154253da - -COUNT=35 -L = 2400 -KI = dfa79ca45a2167ef50070c0ba45f10be3d454ac2 -IVlen = 160 -IV = 0b7df8c6f440664a6134aaacf3a31d8de3fe9402 -FixedInputDataByteLen = 51 -FixedInputData = 4a5b20e5ecfa70c6c7719000de1fb480f998c4010f16f01724a3bbdb66b38cb61fdabaa7e5cbec32e87c4625ef5e85478b85dd -KO = 9e7e925979c5fc2a8a72ec1e4fdcae7cab42995622d3c60298691114a836da1d350ec51a06adf3348b6dedecdd9028cc0929001b021ee048e1fc0a223e92e3195af4d71b3891ff9a91bfca4429fd2fb34485ed073c8e1acf4dbc0369e30c200b5ef08ec8050cb9e24b07361a6c21747b1252a2922821c99d9ccd4e2688ccc5790350ace8c69e11a3532aef7ada7c0fc62ce14d43a2e987a5aa90337eeaf9cbb8931d51812d1dc68d2646191dcd6b56b2fb4ece2360b9c03c7d8cd543c6e4f7241c10f4633c2c791fdd70195710b79bf8b98de891b684e1f67cbf18b4beaa654df8440f4d145ec8c4d3696d1b5a785e2505699bc5c29bc9fe0a10e514d1d4a4499543ff130e75bd6ad4c786afea6fbb6104348a743969868743e6f18f9bf156266a67a2d35f7d96f4633c38b0 - -COUNT=36 -L = 2400 -KI = d98dae8bfa6ec64c43d9aefdb04002657f048504 -IVlen = 160 -IV = 03a803ae6c2654547b38a1258f7bd8fc80db7cdc -FixedInputDataByteLen = 51 -FixedInputData = 561c7f46d788a390f550a2c00e71ebacb410d7ee1a231badb5c7236ad78460f65f05375cb4cf7ab0c4fe528116c1eddf6fa862 -KO = c07ceb0746bb8d1888435df84966b055b7fb1a65eba765ca1958aab620ef783cd8ec4980989e077ca3763b08c47de289d31507832d595c23fbedfe8f7890ec8147b46031b1d301cd628d75a1c7a1519d8981a7d19baf38b7ee4ca9e76436290f81f159c9ba237d594653788a229fb4f9c3b5cd12baefff1ebc7203840f531c542775f0ffa0bd2a43d96af5cb1a350e9589d07d2c03380cda7255c841b0651104f96613eb900416dfe8b5ca5bd1e1dadb6c96042a0ed3b9e8dbe182c69dd3afa9c1cc300dd7e5a4afeee2de3238f94e21fe4785b3a7958e72da2badb8e6c3f4cbec1c53ef1352698ec616ac71417808e86a75ae9523db000c7ad69ccdddf452d6ab8f779fc0e18830f21ddb9aafe43eb55a4e40711419e695d3ee39b6a6f7350508158d0574e7a3b99e9cd1e9 - -COUNT=37 -L = 2400 -KI = 4fa1efbdafedcb704c2c46c21c2a9c69ba64557e -IVlen = 160 -IV = 0906dfd08d54957088476694b7b8f4bcfef0a7b6 -FixedInputDataByteLen = 51 -FixedInputData = 7df4302460b0bacf2834b400f1686496c1d80074439b633d171836b91381a21df541ddeb3a91ca1ae43bd150a9f16b70881d10 -KO = da6168810dbdabdba9ffffcc7f4c96596c230c36899ce8818309f1f1c489b17686db5e0bafaa00db024f51b3effbb4f87a69806e89205304a2ed086096c352d8f7b8a3aca798a3bbcb8c6b556f53316972dd7d988aa4484f965962a367bb0a3148a5a80ee21be36e06500172c07b5ba86f4ba405345bce1219f1153fb094c07ab9fb884dca880a2206941c6c84696568bff2af54b0704f86829e9503f1f5c8fc56a2b045b78fd69a959e94d1fc93319341b84e8f0d5d08c3a30f3a698d4980c8e9beef9ed630419f53096ffbaff09894b0ea06cbc42faf61ecfea3217ae847ce73d4679095b24352937df735eee241d7b2f593877add3d69dbff87fb402363b4e1be70ec9ff424e2a737f640eac7374a04f3d5e87be80d6563d5b8172d7b79ff63430d76e5ea2cba0897bd9f - -COUNT=38 -L = 2400 -KI = a0960afb6fe88f04adf1470d5e44df3f665c2880 -IVlen = 160 -IV = adf7e5f339988f2ee52fd6c6e31f482415bf0c54 -FixedInputDataByteLen = 51 -FixedInputData = 04a4e51ba42106c7073806177ffdf6af575d682dfee843c9ec85354da6d6c0b292f90f76029c2640fb6b66bee8d6af084be02a -KO = 64bcd2f0307f42f542cad6743675d2beafca6a6be19fb05b3d1b3611ef48b2c1cd303aae0bd56d20e783f49d18f738cfe4e15132ffd04b50f1339f6014fb853bb246c71f42ecf7f58937e3c20ef46e84eff448de7c7f99ffad28f3ba89d53e12acc15c979d8f1dd47f8d953a1284990accc4760404324a94b5b0d9df0126634b5e21aea6cf6fd40bedc7dc5d91633156f35e6508e2380a1a4b7b1fda16b4bf384e35d4b1c1244d05d819b90c2480a76f079a12534a7bb0b54587c2d4547b0f930feaba52d6d43485c31a5701c231c0028f474805b3a59037dcaae4666c2a0142c0a9bbc72b7b4cf1e4cc478f682119a0a85f5abe066639e24fabaa7d42764fc87608d4a9283835f19d2d778dba29409ada9139d3b5f46cbb47c6486aec5fdd4c0f7b0501436104f212f34792 - -COUNT=39 -L = 2400 -KI = b542c0693660ce4605cc27b3314a2b18b0591d3b -IVlen = 160 -IV = 7f4dc5158a59e3beeaaf79913506b71123b947ab -FixedInputDataByteLen = 51 -FixedInputData = cf94313a13f0e1955ab6c08cdffcc00afb30f0cc4a95a1a827325076f470c17aa5c42abe4c6c8d639ab59aedcdc5d1efed4740 -KO = e38901db1dae884a4738f63e9fd6f48adffd885720b3438d866dec000302551d3ca5927f871676f8dbc0b26c45f1d5a73aafa2332201c6f1b42efa4eb8bbd19e01a83dce282e1c9be18dfa6de07e6a8d98495baea5c6a4d88849b16cd179c634971b4a7ff863e9f082ea5707c15b4596e7b48823fb69f7f796e0d7175e2ff3d2c7477646e105fccc09092c481e0b5047e6e3c2ba0f7166f8b0a21c7dde9ec632780b84ced2786e855342b03cec545be0102943507966e8c3818c533f24bc3e2b0a2e605b5c2d9d6b9ca5d4d7c6de5df73dd36ed9c1142339a9b27f69187afd98298b9601479ff9462e22c2af3ae6d23e01c463a7c89eadb6c24c7abde29b2de6c1568a8053aacb3eed449cd3c5929d936276eaa74b77dbb187bf2bd733ffb77d0291a080976df8b568921134 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 8d90448dbaeaf83b20ab43749205287ba303f780 -IVlen = 160 -IV = 2f5582d356d4a46440d1f46024698f8b52486b90 -FixedInputDataByteLen = 51 -FixedInputData = 0390b0783354670da0850f04d2f3a7078289022e6d453ad79c0070857a1503f494785f9b2457599b8e1f41b41921c60f61e765 -KO = 9e6e18dcbed065a858088532ec484130deaafb6c81742af386c4aa59875fae571d64dd09594ca9ff3ec8e4c1dc47b539619d8f921724281d2a46343ab095be53 - -COUNT=1 -L = 512 -KI = b1d31bda62de9b68c677ac924e789f2e0500177e -IVlen = 160 -IV = 573d2090d2c2a5bdf7b31bd77e1bb36d4b4dd8d5 -FixedInputDataByteLen = 51 -FixedInputData = d67b1d2602867e4b930fd769caf58f8a1a666cfada6d3365add10960ea8b8b20c7b1c158da5fb891ea12c9ae30be07c100f955 -KO = fda2b1f925104e82c478ce8693d52473b0975191dd766db52bddece52de6834f71ac52c580651e6bc171571d08b21b0fd67c6f4893f711c0ef274c53a567af08 - -COUNT=2 -L = 512 -KI = 4c89bb9be9bb9280b26d99a5531b64b3da3c84fc -IVlen = 160 -IV = 46ce3e5d2437252b73cad946c85b16ac8b7ab326 -FixedInputDataByteLen = 51 -FixedInputData = 1b74c018ba844dc0c7dadc549f2e7c2f85e71331a379ebee5c466a3c0cc2b84f759eb17a4914c546f8e4a3127f01cddf4fd39b -KO = d6ee06207a8daef34ad0ff121988e300f46c84d11e3b56449eab9fb54d4bb012f0471d1c12d6d17aef365c83e00779fb808eaaa5fca3e36a71c07da94aa4e5a5 - -COUNT=3 -L = 512 -KI = 3c146ec544d35b3ae4a4c9d6adb5f58bc9c96f2c -IVlen = 160 -IV = 6e0d9591b58c4ee0c5560b848a6e056395419862 -FixedInputDataByteLen = 51 -FixedInputData = b2bce7a1bcb9a22ae34980a2a43bf813600f6307421fa1a66adfcc3283be772f11cba67fd054fb796d639fc0d40a6c69b830b2 -KO = 6617048fb78f5027dd2c9802071b0ae4b1ffae8cdc7d48c4b1f7d8c509aeedbe2fa8f7d9c04a7944c6c498907813faa5052797c533780497e72f86e1f7d43b4f - -COUNT=4 -L = 512 -KI = c874f27a12be15504120a7cb2aa30d8eaaa24b42 -IVlen = 160 -IV = 2003637e7b31f9d322a5df531a4f81372ea8ff05 -FixedInputDataByteLen = 51 -FixedInputData = a7412141fe830a7368e544f158a241d3255a5cb0c424cd62719b4ee4743f578ec271b19df3bc6bc10fa68b018703e95ee2a4ea -KO = d52305a064265e8dd9f17db024a9d130f7e8a91680dfa355e63c4fff9196f7c197e19010dd33bcb2a344df89f31a5a5edd77c2ca9587ad84e0125aa332ad83b0 - -COUNT=5 -L = 512 -KI = 226bfd8859a98df908c3e957d62c194c6f7f0cb9 -IVlen = 160 -IV = d118668b10375510204c8471c4d7ecd87f5777f6 -FixedInputDataByteLen = 51 -FixedInputData = 3df30685e1630569a0ca505192a855dd56c8da98aa6f2fd66d49b731667882c8ef2f0d2421dd79cace7a560869b9a057aa7811 -KO = bea62e27c1e7545aca7d4efa8c483e4615d997bed66ac2a7329a619f0aab15d4a7b49fb62077c8b0d24667b73cd30a06da83c32f63cb5b56e8ef365beac3ac96 - -COUNT=6 -L = 512 -KI = db1eb512792ccc7ce1b93001593b8f76f49c2113 -IVlen = 160 -IV = 793f6c86bb89bfc3854ff047c837ec06a81930b5 -FixedInputDataByteLen = 51 -FixedInputData = f999b2023706169faa9ec76d9606302802083793d1b216a2625453b052256c9c568e7172a36905801dc3f05aabb960388a658d -KO = 03759245a65d6c06d858a709b1733d02735226eb78f51032f129c702ab079064d17dcb6c1a3eae26cd3cc0f836782b4f5540d5d4ad7f797e988ca1d0824b7f45 - -COUNT=7 -L = 512 -KI = bbd3c015cadcdef43cd8362bf69b2c599c1fe935 -IVlen = 160 -IV = 3ea74c9bc3ff536afd0f29e0757ea8be0327bc26 -FixedInputDataByteLen = 51 -FixedInputData = 9364f3afc849d4367eadcdbd0adc115261403f500390deaa570c3c09dab012aad992206fcba4b02a4d55839a0b1b37ef334d96 -KO = 2564d4c0af53183b192d862dba1220c67ec374ecd154e59ed095cf8bda7633330f5cc823d8435803b93ad3e499f739ca5c2901a35d8bb215979b3cb9cf084bee - -COUNT=8 -L = 512 -KI = c4358affeef5ef59571cea3cc95175080d518dbb -IVlen = 160 -IV = b8971d9fb012adac4ea73ef9114ee0ba2d2964a0 -FixedInputDataByteLen = 51 -FixedInputData = 67c67e348170c847fa3f9a446fb1b4159e40c232a754fe0f63beb2ec15adb24b73d931e70dae7f6cd542a25ec14a06907a26c6 -KO = ad70989661b6feba757f94a20a11b26a26365171069afd82e42f023b23ed3dc111bdef73ca6f75d0457802fa9b2ceac5d6c807b26ba59a49b9bbf7bc5e72197b - -COUNT=9 -L = 512 -KI = e561977d9711e718800bc8eabe11acbca8439aa1 -IVlen = 160 -IV = b7523ebd70b50384fd3645f1fb3f304e9f1561b5 -FixedInputDataByteLen = 51 -FixedInputData = 6a19a59bcce3ab5b2fd86bbfcb0e10be45be333d297ae0d1f21a385a04b6caafb227aa4e775c72ecf530db23d0eee9b9e5e686 -KO = f4f41fc0c139d07a826c9c7cb4dbcebba207d00e161c968802d6944311825069ccb0a2ada32dcacac882025ea9c54ea2e838b54f2e16c86c9bcd5c3d7a46d234 - -COUNT=10 -L = 2048 -KI = b66661fbd7518c30a8a6b44602cf8172cb86fdc7 -IVlen = 160 -IV = 3a1af6b9207ac1c7ffd1e0b65af76f4d69049a75 -FixedInputDataByteLen = 51 -FixedInputData = 44f9338c341a415a403d64e0c83493f48c7e027405aaa4380ffabb83be402cb76b7631335f72b704278181b4851d95649b68b5 -KO = 22e09fa2bf10654e0a0e0d1fbe8655f3cba6fb15d89663c3632659789c62e620ddbcb8423f1bbd50e2f50f8be450cee1f6f40ded18e0fa21f8c6c1bff42b57f33f48cf7afd7e8805d3cd235f772acef9f59f1dea1437635addb24d16a6b2cf3ed859b1fbb06f93504b4e0fa211e014c9caff57ae1837030154972e0cfc435ed2b91ff0f8983432692a7acc77f019ed2117558e0323173e8d114624b48e846445ebac58eeddbe4b934df932be3923005ba65cf826e76793d6f9ee5a7a33ebe920864d2624544829b941dd469863d66e9fc1335d949ab584d910f7f07dee5e21cced56a964a6c91630b5add8fe04860938f2a3bd723233df6a0777d544a37ad5a8 - -COUNT=11 -L = 2048 -KI = 91eba35be0e598e767b27dc555f48a93022c6341 -IVlen = 160 -IV = 55847b58fa4307accb92cac9f9e74f953adf91d9 -FixedInputDataByteLen = 51 -FixedInputData = 106c6d26281c149360717ea593c140a83e3a92bc1385d6e339186f0e2e8815a24cf93baaa1cc217e11c542b7a44566aa6fd444 -KO = 0120deec73ab39cb366d678bee73d3f77ef9f074c88daf38a4dcf7bca07a1099f3b27769736a1e70339c3edbb76fb06eca2a6a8ce0c361a5b494f86cca1308af1d62f5971881f346779e3469b95e96adeedc72c29d1f31d4b2c27b5fcfd48f93b7d90d9479513e53a891a824311c4bfedc32c5f2a1dbbbac3cb355476e542823439ae1ba4bc655129cea23ebc1ccaabf6f468d49c1b90b9c2ea83b70fafa5542836c89b52ef050948528a187744748e2396315ab416ea2080b3d2e2aa30f9c2af61701a6387ca2f64928b669ff38d8b9c087f29fbf7a810cf1fb5e849f08febba87b5921a8ccd56118810e42882a2ccd6017757b3758fb563198d133640a8914 - -COUNT=12 -L = 2048 -KI = 75236bc7c41a0fb02135d47e50f0327835e46a05 -IVlen = 160 -IV = 00fa825ab34538563f9ff19deb8cfaf33b526a75 -FixedInputDataByteLen = 51 -FixedInputData = 85bacda9d3e51e0504941ceb870cbda8795dab8bf841fc9ff60107decf10cc791698d02fa33de58cf783472a21ba465cbb7052 -KO = 518455c8abdc8eef3e80980661951bbad5091020659a6c423287fbe1442f144e3f7acdaffa59c1d20e7dc112c480825650c5c88011e3c33922e73aeb7cf2975a2555f084d7a5191ad734d2aa091ddddaa0c47f2fad6225d320341d0654c7ce5d2262b7cfc810d0feaac6944ebe609c5c540b21f068953047c8d86001678c07d951a34f498d8d173d1a9577a6c02131a74b3bbea0011f222a174c4a61656cae12b4a483319662555a03b570bf46b24bea0b98628f7b82b91264c9f5c609921d096229864a7c9bae9340d15d6220a527db81d0afb1a806fdce18a42885341646f36aa7a59f4d92c35d890e048d2bcfb35e41781a8b34353309768a9647fab6a4ee - -COUNT=13 -L = 2048 -KI = ecbc8a7e650830d59f598c50b5972153fe0be6d9 -IVlen = 160 -IV = ae81e938d9cd529c92ba82f796259e4173f72719 -FixedInputDataByteLen = 51 -FixedInputData = c66b36d5b84f1f3af84329728d9d077f98a09a451a807f0604a363450e82a1f9e96e4d835de3c2f1b4a380facb5a4e590b7f08 -KO = cc3c989ec5f65a51cd998a756cd9397cd5a33b15f19cdbfbfde19a847d5ec41ea93dc3d8543adacd883cbd7c7a1866ea98494ec3539f9d414ef94ac8534ed88f904f78f53a629375d6d8dfe979ba7f14ddfa95b0c8a24454596cbd77ea67fd50bdca1e9c9405d458ef65d3e39d278f55706c3d08a73f03968351f224229a8441810de02bded4f884370fcebf16b879cfd496b8ebae3b937fdb100824bc4b985afea7b9713d5062b4661aa9c9e534e313a0b53e6b20d6ee3f5aa491fae3e4a1d5c19214093f4e9de9cfa3eb50f5b0262d1dd07caa01e23537fcdcd92c92648b07fce4a4b4337ae74fa146777fe69d0ca31ed5183ed2e953ef56fd7ee2597fb0c9 - -COUNT=14 -L = 2048 -KI = 2384d0bd37ef70efd9e66e052755794a10830583 -IVlen = 160 -IV = b3d46d42219985e89cc15bcc7be9ee5a899fd759 -FixedInputDataByteLen = 51 -FixedInputData = 95b7fd772c7d2058fd368f282930178a24b4f1cd661fce0a4b7c941a2dd3dad3d33de57e54277e1a3aec901828358f1b6de3e6 -KO = 54c386b84c520cd1394b371622446458a0244a56e7839eaabbe74676275a35284dfb41191abc8de0b66bdb7bced78ac703d2e9a8d6a8e162b26e46ec0b35b46de3354af36620a586f62ddac9f58aa0f2371a67803fc8d9e42a00ce3ca61e31831318aa461c48207a53b38e1ab6647f6fadb7315b28cb3a84e8268ab5868fe757d61b721debbb1bd496414f8a0b5a854b2cdec7bc4164bd35dfddf84f9127cce97f984c0dcd7f0f88aaaaa0376a955a597133e78f676bc9cac7bccceb73635f236b19f86cda062160d75454c5678a529e3491b9d1f9ef99ef30116a21188c06e4613b2965c5f516e145ab04172c78357afa3d7b4e09502b406959b930f03de99f - -COUNT=15 -L = 2048 -KI = 46225a2d849133d46a44f961b54c1283babe56e3 -IVlen = 160 -IV = 45a8dfe695c3ff52393a08d164f4428e49e3e9b8 -FixedInputDataByteLen = 51 -FixedInputData = 8a18f83bf887100ac4c00b42029abf42e19e18d18fe525632621af7aae0df1d0d64ed7321af83a57402b9c5776d7e380de4471 -KO = 4bcd79c8f020d40c7551d8d73edfdc2d4000eebf3dd015c89022f7d31caf236521093428f0e6673cb8bd9a4e805f826afa1890aef504b257ad31fa19cbe4ea9517407615051713416eff4e90b6b5c8f37acb1e4002162741c2083a35d5bd2d9161ecb71018c850caa51c70fb3b95af85bd2af26a42c1bf1012ae1fac1c6baadd8c60a2238510a82e80884926e0c05693d1234c49884e42aa026b3efd1875d9e1bbf2c256c3217270352edac68e740860ad659e13043de08f750bc65ec130822579916a5ab1316724fe137c56f5924fda1e03cd0469ad2d4c1bb227915471bda46e6a5dafa28531dec39d30e88969a0f635ac5f051eaae63ed06551a24cf34e1f - -COUNT=16 -L = 2048 -KI = ece0450000ee38e680fa9d65b8ce4bc8b703a042 -IVlen = 160 -IV = b36c911b54d30092ad8b5e06b3719554b184aa95 -FixedInputDataByteLen = 51 -FixedInputData = a6884d5a3dd24f0e10e71a78ea02f5d18b4186fe9d0c26aaaf8adbc3a9d872003158a531eb2b7d239fcc75fd72e8bf91492502 -KO = 78218df573bf7081b18dd2784297b45261e8c90f261c6155f73f0ea4a395d0a43f23c59a6c402c78eca8fe6426f963cfe9a01c25a153893f629b51901d127ec617ba14456a4c23606c0e5356cbc0f954345e199e5f2016c154b12dcdb1b148ad40822f550a8a9cc9fef36f547fd7ef9977f435657ae64f32b91d13a305682624b3cce77a72cc0414b64271661a5bf0d8f7f622cdd2da23f5b535bda1d64b5e4dda4833491d4ca99ab53590c47f784fa04fcc05b36b2866a68ad91d313d23c649fb53bf127a1a1257c19034d2be33abd85dfc957cc73a47819146ac298f54ca4e940af96c03693f8bd147236e8f1423a3338570e5f178f3d2951b9bad00cffc32 - -COUNT=17 -L = 2048 -KI = bfc510807d4360708b1fada57b00fca671894363 -IVlen = 160 -IV = 9e6ce7155bc9f8336a030c80c9dcca788198a43c -FixedInputDataByteLen = 51 -FixedInputData = 7c54b813b3f4c4274c7309a0caeec0a2c40d24f60a61e5ab06a3fbb78ac4db4d309f5ab3d69de776452abc9368f08cbea3bda6 -KO = 0095314f683ec364d1ee9a507838b83f56cbda92e3a7a236ea14abc0f9309743b8926fe332d769527f94b98e1c8d15a1e5291c0941f973884cd2f54e6c59c55999436cbb03c02b8c942b1382962206b43058766a560f42b795d71b96a6d783c7ca2292de596cbbe2e2cc374dac56f94615f48fad9c87331f3f07456ddb46e2bcb9d5874a40e8952aa06a9684c4b0f8ea8daac19e2e6286412d62654504d9622cd823f98afbfbef337ea5aa123936a0d73e6455fdefbdca4274afee2c5faaf086b74e140f83f6fb610fa739cc4d710794db7e35ecf888b2e4eb52e9f603718192bc56f1226cab8c1acb675fcb9c878587db846149265e84973d13fbffd635941c - -COUNT=18 -L = 2048 -KI = 47771bcdfc5e58fa054ae65f691b38d154f8c896 -IVlen = 160 -IV = b5a7ef36db74497c9e8e453531df7a06406103b1 -FixedInputDataByteLen = 51 -FixedInputData = 5c47edeb83f0c5724aecd6d21e311700e35efe1475c5a5b30379a1bf8a05abadfcd96962931fd30647f18e2622ed73fcbbac7a -KO = ba7362e73f54d6658bb00cb4d03151f9b6ba695c1d56da6ba3e8beab02df2b2320b791933eea1594aae7e8d7b262eb5b7c9c7f56af2540b6b6b23a8cd831a8b19697ee7df6d0d9b1ef67a912d936d0ac1634b0e18faf0b247aeffe0ad50b23b85f40c766ebf0a1c2a13be304e03226c88a51260e0664f18c76eafe54310356032d3a097a0d7cf02a247eebcd72f070f0844d0a99cf7626296e4541f30fba7a3bd339b74c4effa532e5a1292f6693afe79f68c3f15c679a9175879f766baf4dcd25fea43fc508e88ccb24ea3446245380cf0b7baff9d865c0cf29a4457bf53a7ed41274538290fe96c591a17d1495df0a3f1a8964022fa3fafced686188478a5b - -COUNT=19 -L = 2048 -KI = aed0dab1d4d1babcdd7fcf528686de433b155387 -IVlen = 160 -IV = bbb73a8d1cdbc858e52894eb2df5b875bf10246d -FixedInputDataByteLen = 51 -FixedInputData = 3581bf2a6cf551ccd9a78eb19c37e56db5be0b7ecf5b2c0aa1ff5250a074aea044cf6bee75b9fa15008efa10e865540ecdf372 -KO = 5823a7fe87f1fb06f63f5d1da81847d6854017d4269fa0b921220664e1c9aeb201dcdfc750eb9b7af0ffb2aff24740ab225f8d3f3ba7b12ee5fd26be44a41755b26c1b38d00d3ebed1a3894c5cf621a4318075d59b304223d7c4752080685ea33ad630b79f5df00e988fdd7b3b4297d5b776c1e1ce5d5248c2213d029e3eeaa0dab29272a948227f08da0f47d659629f640038a3b614f446dc49ff81aad8c6c60315d21eed11512d4f06b10e6c19fbf395d833b3d7bed0e902c8f90740f6a580e672ec4ccbc52bfab37451ad9caac7b781ae2cc36fcce09c5166a867b513db6bba13b906fc286d15ff480a6d1365cb02e748e73099a83716bbdf77dfa378dbf6 - -COUNT=20 -L = 560 -KI = 698a6c4d7faad7beb5232b076e9719f3e2ac37f3 -IVlen = 160 -IV = e547b2f0704db339c15b5615baa3381bc5b06633 -FixedInputDataByteLen = 51 -FixedInputData = c4b646d15ed865ec92ac5d34ed0a340ec3a7758eb83d1f17e267a0a556b1a804af2e7245515451151e94249153e770bdc35627 -KO = af4f7c9c36976649671d73f4692cf6562ebc552ccf445b739255adefdb8b161d54e37f599c86470095a3c0f1ca38ac6779bd0f717726ac13f0977908b488635abacabcaa6dd4 - -COUNT=21 -L = 560 -KI = dd3a8b8a2d71304f0ad9342d3f356ad23bc3ecb9 -IVlen = 160 -IV = 8074c3455370a67d00c899bd6417d5bd6b6ea48d -FixedInputDataByteLen = 51 -FixedInputData = 771b2464030951699c3110413c41363a88732b28943453ca79217f8d346d1db59e7efd644b2abfce07ffee29a5df6632d6f1e7 -KO = b0999314aa452ef19843beab1d49470e3bfeea72f6e14cd548aa91f9d29eb17332dc643c056c07fa0aa52c53c07a9ff99cb97540c602c41e4e640c866ef66e3eca943082cb6c - -COUNT=22 -L = 560 -KI = 47641220aa2e7bc3e9568e316c0dcd4359a2b7dd -IVlen = 160 -IV = 1ba3eb635ac4d42bb0db997c41bfa11b7617a1cf -FixedInputDataByteLen = 51 -FixedInputData = 0a0c0c02ea9d7181a07cb4a0eec5b8b0ab4be3edb3e5fb3d3ec0d4008ff28e52efddcb23ee0dbfb9ced86ae1e51255c1226cea -KO = 8df6c2d68e5d7fb2071183fa9b02ec60c89f1740c4f1ea1896510ebe72e55fa4e679cdefb683027517e0a2db5d21901f76a736a77943f6541822000d7688d88f2840c0adb60e - -COUNT=23 -L = 560 -KI = 303ee3d28d39a77ec76ab381de940679486feac2 -IVlen = 160 -IV = 6e56ee1a391699ea6f88332d208bab3c7f7f8e1a -FixedInputDataByteLen = 51 -FixedInputData = ce8cc6faa9ec696db85d4c313a783f2d6d5b506ed60d5235d786350123b7c4afb502c70a73332a81eb5b5e999bfa7e38cc6309 -KO = 5d10cca9c2c0173bd5ba22e8ef60dc0b4d4a32a37b48a27ea2a65ded4fa2029054e9ae5765af106fed263f2dd03e66dd423b40f390c6a05416e4aceb89876f19de4f1c021a2b - -COUNT=24 -L = 560 -KI = 410206b9c7023a2eebcd8f51c8feb7b23165cdaa -IVlen = 160 -IV = 062c17fe6911b159d2226e1c2e7b4b85f9ce7ccd -FixedInputDataByteLen = 51 -FixedInputData = 6d6baa913067db2d54323ac03b16474c7dc66249fd81bfb12d03e481be38e0357cad2cb60a6b0a17538d8f5ceba0059e86340e -KO = 4c2a4d7a210d32b7842df7f1e908a3996d1c303423df20a8e85695d15bc5e95aac3086c62dfef43afd918c5c28d761f13f6660051cdfe572508396071cc8ad305cd1be44806e - -COUNT=25 -L = 560 -KI = 47ce0746d52d79d04994fb95331b82172876fb4b -IVlen = 160 -IV = de120c5e5bc388928b172086451f7c7e5574674a -FixedInputDataByteLen = 51 -FixedInputData = 5c76b71df207c6ab02a7c2d52a40d614e0852ea19b539a34d23bca2fde7cf8da8c4b85d530f629a3ee6ee64ae8e524d0e6b452 -KO = 2c3ef16c2b6cef6d97222b8ef8f61673875002903a5a0786e69d4916f9f800fdf88c990c2c05517f853dc7a6ea64cfcbe8ba5c812ea5b21dc6d505a3b4c4a3ce590763ceb059 - -COUNT=26 -L = 560 -KI = 2c75b160cbd6cfeeb4071bc166d1c624e55ea29f -IVlen = 160 -IV = d168de5cd0659f02bb9f11742b9a51623300147e -FixedInputDataByteLen = 51 -FixedInputData = 5d2ab62d11a96c42cdf8e5a7abf658f5cb6f3e7879918db5bc6d969bea2408a1077842800a83d8a810df39e228733668c2d66b -KO = 2396dccb992595c3ce517af1fe77022b64c24729ad8fcc4ee1053f5a0d0953c92b1bf1dd6c4473a5654e8dfb2a316579df386ecb8e2262eca96011cc730114e1307232a688e0 - -COUNT=27 -L = 560 -KI = 14decccfb9dce842e70d154b9b873876cd7bcbdb -IVlen = 160 -IV = bc59406a480fce7d3a6fd807a0b77935884a8b8b -FixedInputDataByteLen = 51 -FixedInputData = 6b561ff7e38065b7a447322af96a8bf952e1b2dd0070dff3e704a2a1ef73efc47a55152a7971b0ab90733b9a26ecf336a180cf -KO = 1620f3a221e60de0e730ad022cf6234035ddfcb2fc21ebd5e3d93b28dc9e533af8a025fa1bef0039980124e66d8b5453db3f336bed93f1cf82e9e084ec0c006a5d3e96e4c495 - -COUNT=28 -L = 560 -KI = 57a046032732f0b86e4374abc8cf4d1f241b65e5 -IVlen = 160 -IV = 65df2bd457a4dc3c2873ee638e83b8904b289fb0 -FixedInputDataByteLen = 51 -FixedInputData = d1b7bd7133c4828446cdab0a55c97a41c69141b28112f00e5469ceb9e41434f70e090c0bf51c58dc87b8b5bcc653d243c13c14 -KO = 37adcba430138f05a3b5f2deefaf8bfa24ceed510a11413bf2fadf431a18639937e076a918bc07bc3ae6f694dbe346280ae273a89606ea05ae4a5bbc1a28a941f264e54f8190 - -COUNT=29 -L = 560 -KI = 3c1002329feb95c9e04b037244fc64d9c4031140 -IVlen = 160 -IV = 324ce01627506fbdac04f4e6e97014604f085e6b -FixedInputDataByteLen = 51 -FixedInputData = 634025353826e69a34fc13d291e2941932adc0da191b5c5fefd18fafc6ebe7877bc13ad60c70d74e3aef58d249ddd9d3a50c93 -KO = 0afd5f86d0f3c355850e4333f6abcc754dcf19e43bf392d7697b710048bc9f40960806297aaa9670667987c506633266af69cdd9b57a3fcd300250d880a0b578b1feb1c040da - -COUNT=30 -L = 2400 -KI = 4f8b9da7905b089d4c0ee65952a73a9f716caea2 -IVlen = 160 -IV = 1a50223a9abcbdfbec99f347e3a8d20648fb137a -FixedInputDataByteLen = 51 -FixedInputData = 54f3873d3d94e00ea0c1ddcb00bbbcce76b87849adab00b29e1802646a68a378a4872b943c4d6b5a0a19027829ca6924bfdbfd -KO = be4513233f0e1c209f3c1724083d360bb8e3261b576b7bcf21a94ae42110247d9f06c014bd80a54fc46e860870fbc58c4ee7a793a904204cb7e0534c5a1012acd0351b5915aab15901e983c7e532c3069baeaa013c40887efb44a71e06d5184bc2877962cbe1acdb7a10f261e8a01d7fcde7de1fc4b0ce6ff713689991b91c7dbc087db0fa61bdb1340500ab5ab0287de99249a21143982cd17f5d0b82cd76a0dd9ebafa3ed8f13a0aa401e30e28741fd1f5a344772c6596c2eba838c7dd7baa83560f4e0e3eb5d3b1be0ca47c17b949ec23a8e67fedd3a684ada25d7594ce82ba1e4302ce9c291a5f1ee7460208a937402fc2c452fb61114fd73de56ac7d483cc10ff92d37feadc0f5c722233a7abb2798908e6536e4ceb3c025dd15012c302b29a4e6c0ca1bf306d6da1da - -COUNT=31 -L = 2400 -KI = 07b445be6ee2555322cf8345f76cd59797d24ee6 -IVlen = 160 -IV = 57b34dc14977580c4e5c65a8d430b7ee55150224 -FixedInputDataByteLen = 51 -FixedInputData = e2b775a4f82d8c22a9186a24b5c4d536ad8d8ebcf92da1f0c4cf08f738e205d94c7b1628b41f77e772ca37ee293435b4ca5560 -KO = 6874bb4c379bafc8f01a91299cdacfd49d3dd73e78154458229db322023ddab112114b6da1ad92712309cc389252ff6410099e13da5eb447d533a689a4a3d2e101cac51faba13f10d046d2a43b4cac1b22c5473718db20de33924f22f58b6bec90780b2bf1467411ec6d4d606a790752b87635f04cb663dc830b813495fa02a8b4c36acb41dd5292809350e8f4945f8644e534ef7b52a284e8e60758b74b67724e6d4095767d34e339f39f7509f30af1b790c946540bbbb05ca9d4c153cad00e44f1bf817f5cc216ead2590f07da64acec31a78b3dc523b7f9fb552cca1e91f473bef3b352bf07665cdcb4378683657620062dc793169983d9813affbd828695f6d6c20dac55f77b5545491f351367a5d90b4c71bd7f4706879ddeeacbc1c99611a7058f5629e5d864945617 - -COUNT=32 -L = 2400 -KI = e0489ab6e2601fb0ac65e2d9ea831873648711dc -IVlen = 160 -IV = e10ec673b3caed0e91d8c888b8fd867a417cb706 -FixedInputDataByteLen = 51 -FixedInputData = 158bce5d5736a05e451695d564b1d3562810cc60b027489745b8f25b8953dcd7a6224677bb5b40fc55078451a3b2c5df257d51 -KO = b01db37068bb14d61849880dd4836c9c012efef70a0c09e4c44b730b6bf067405aa5f1c4e80def52fa4e7dd3b2366e270447ec1b124a3e001c6a7906f58b1a31c3e6aff1728750b77dd089bdf3daff3aa0968a643346c305292580eeb7893c5690abd187ac3142392a9806b860f8545dd03adc82f30261aca4fe223fa9fd39b878a10767223c83b56746279d1925009f3938a1314595ee413ce0208a54d615f281e1e0beb0d5a7c38b062f214e07dcf939169f1b451af4c7c6a637f46289c9a276da7e0b611a76196213fb7a8e67dd7369d8cc2a220747d6a5ae1ff9bad84c293ece9cdf1e36c66873f4f60f868358334341b436e957bae339facd286ececcbda5e0c8e5bdc6aa57c8049b3d4f8a707558e5312359eb337b3d4217db25d3ffe6fd437e1f7f6fedbdc8ce39d4 - -COUNT=33 -L = 2400 -KI = 9a88a4686f4a88dd16e2923f6d8437078637736e -IVlen = 160 -IV = 39b328e89066f6607fec938345ba092c66d4be8a -FixedInputDataByteLen = 51 -FixedInputData = 53edbbb30b62508191ae8b5e56a48e1c28be383169d429addd5035550bf8bdfaca690c9ded66149dd45c2af1466dcd74d0057c -KO = e98ad4c891585cb9248c697ae40e11a4bed16cf9fe42b3c0be72270dbae6783128c9186f76bdbef9fc427ca4d3a971d04be65fe4f68657675d88036c45029dae1f569db56f58744e70c895dff45a3e3e012ac9a3d2ddf6108cbeb82b410a372acedabe0df54b76113ee0f1f27ebb7547b5c1e7418e95898e999b3cada0001fc1b6652312a921075d5af8bada6a1ceb913be4d036bd4a10914b14d1a02195b3511051c8970a721be889083403422afde5ab69e4e6f1658fa769e493bae1fd8c793a82759fdf93729681785aa012f558bbe8c387e96be412b22b08dc870f53ba0999042054c8eb1615870ab3f2c82637ff291a37fbd1df2596e08105d1bc176bf732cdbe3b778190a3588ddce14cfb56b3b9e15aa5ec8349ac1f0e0b64e9aaedbbbbcdf7a7b88043af4ff13c0c - -COUNT=34 -L = 2400 -KI = e6889f12759770cf25a5177b7e621913624a8be9 -IVlen = 160 -IV = e258439eace6c64bb901d00a48afa547847dbabe -FixedInputDataByteLen = 51 -FixedInputData = 310efc161ef0e78b33ce8d9863beaa7c2ed51ec93cd3ca0faf6be03cb1456216b7d5dd71bc3f8cd069ea0ab5514682984f7eb8 -KO = 530a73aacba9a3dfa32e355a0eb9e8e29ad847d961f39086bd3cc489dabf4b54391919cca597f0f5aeaa8efb7f3bce5327d0c1161f18dc805671d9bd8dd9a8dc7e208c9ce2b9a324d26f9b2c69e10b1b77602dbccd59d8156f9984ce6081ded4e5b08cfaa6ff9188d3b396735e591d1f789a3ba1cdbb2f4c821db11eeba4536845306a21cfe79cd783cde7dda8fcb2fffd28d95c80dd1bc84deb0cbdafa608e536aff06ff957c02ee81d1b4da09097a1f6b3900a47f1a73890d6ee0bbf0a7a071847f95e5af42a6cdc8ad88e2625d7da95baada3c22e115c04ca06c9ae45f6fb5e182ac32d923eb51335728512552a69caad8ce048a51f6bc8a4bcb747e82f4c24d886f9c775f1827e4a8c031f992e159bc7fb8ee1fc53e83fefd7e231180a685cb02320270eb12ccddd2c32 - -COUNT=35 -L = 2400 -KI = ec3000b8bb9bf96ee8eb568f68cfdcb2b01e892e -IVlen = 160 -IV = 7eacd91491c050952c1ac8bdf7ca8a5b228f480e -FixedInputDataByteLen = 51 -FixedInputData = 0f22fce28704b41fd2c561eb52a5605d38efcbb4ee7afbd19375cbc17599bf6b4691d7082054a8cd5fceda11d812f4f23bdcaf -KO = 6727b7805e624e190320fba7041d7ea22effe7e2aa92431f245af0712df20b89719e2fd44b489cb4bce3344d49d4987f89b3de146b26eb08231bc34b064766f73ce9ac8fa43d8db185935a134deb299b147db2eeee93eca95a7620e488322dc14a03280fda8e8491976e034e117651823d4d065e3f234c9501402d52c143c65b7dc48a9c2e67d545c7e662b4d64b8dbcb4df269ffa4c3d6fa86e3ea4d3a827ae401336b30489c9447a712560477e543d6858fa74c15ee12d7c8dde38d010f3e682f19fd9c8b6f060f29e005bc06506311c49866d08a28ebd35ceda75bcbec95ef387ad51b55c66966d69d74d61553d16d244dd4c459552f5adfba7098dd3e8e80d55314e4280416c4e5c0a6ad50604c9706a25f3b697140321b13b21d806a3b9385623d7e72bef9fefe55c03 - -COUNT=36 -L = 2400 -KI = 4eec03311cccced2a95d5becbefc78d078093b3f -IVlen = 160 -IV = 5cd55207397f7a783f678d709f95e0ae9668f0db -FixedInputDataByteLen = 51 -FixedInputData = 3fc23ef51364ed7d360a7f9a96be65214e2de584fa422e5412c84db012f1c8a01df099cdbd5fafef793e7d8e0cc4f8fbd46862 -KO = 0816247abfc6e6b7ed50adfafaa5fe5eb6ace60625f3b597a7308298729df83089f8065e778aabde52bcefba6affe43f4ee06b1cb64e5870e0a81adf18975b629d4f928924a0c2ff06ecd9aa0420dc4e8fc12d8cff6b616ede7108e67c9b2b75fee242c0e43d12dfff4ad6fdc0db244e0b28b76b17944430aba0fa1673f11c64ef6c6f9647f3a5c11c821d61c043390adf02b77e40783e5d00527e8e4fafb4443d1681bc5f814af2b3e1c61c850a5cda4b46d78b7d7e2da9ed933a55528040f15f6e75fd012bc0ad2b3e97819af441cd3a731cb94e45ec09033e6ed42990911740b7e91b5b43609498f94de43e4d73b10052f2a21c55a41a47a3fdb7f944a9c2aa17b701fa0167e81176abf70f9516d645d9118aa01f0368629eed11ecea5fb3f15941c83ea46a43de83eb1d - -COUNT=37 -L = 2400 -KI = 7eaebd859a9fa7fda82fdf759ac0f81e9d898294 -IVlen = 160 -IV = 43c16de1a558d8fe40696ff069ad84b35e28e0c0 -FixedInputDataByteLen = 51 -FixedInputData = 4d6100d7b36ee0e7acfb998e368cfa35f4a2a8b5267c46f225c2bc85c3300793469f30be9f1155c29a2a6b8a853566e1e2eeb1 -KO = a53f2c2c977335e2f6379c5b31b7327a95dc1ac1dc19ec3b367f94939afed1c790ffef33e3a8c7aad864a4c431fe356c2711cfa342bbf4feb24fd8dbcb95336f70522029b463da79711afa816e7de56aee74bcf0af9b5e7120ae2ef8210574a048fab2d3310c62a4044abe9e65a32ae53f6a24e0a147b42c7c69f03f3bc39bbada231bb7ca4474c307b38ee78dcbc4c465ec48ac9f447453da49caf6258ef5393cf8ed92048c819fb84420d196359578124da72f0574db185bb0503e375c2587884161de212f8945aa97ce8221e6cd724e6ec9ee9c7d2400a9caa45fe004388b0630a40e77ed8ebe88339df904259364c67a7609745251110d03db0a6fe683dba49c4925736e867ee52b232a1948ae6fd31cd9ecef2e635c8daef8318f0aa150be397091de5996d0f4d3d2f7 - -COUNT=38 -L = 2400 -KI = bed9f3a39f4b1b8cfb787346380d0b09c1dbf862 -IVlen = 160 -IV = 61a56734c2f5fa459c6a9eaae65dc0b0b5110275 -FixedInputDataByteLen = 51 -FixedInputData = 204312f15dfce4fb2488699ed34644dd383ddb210d9037081573d8778707b464a139449db632ffb6117bdf47a29a787b256cb9 -KO = dd75b523a92f6461c5680432c52ccfd32dae4e45a9b1d48d6a75000e03eef2aa2eb896fd6f6d25526532200bb6804ccaa2df61a071c610a8ea96db72ef8191b3e2f9c503bb0d8b3d85edeee3fa7d4df8a5d7da4d90cc735bb2bc769fc873061be89a9633370208d1e0242990c58c5d31a61570c91be2afcc0b52bfcdafd11c1427df85e3f8d82ddff3ca74d4f0d628e3963c58e6c52ea6b8a8200fe6885816cb32585c37d33de87ce061c4e6baa9cdbb3a80e6ba8240b7d184be2ca2c221664f8237628d62dce9c6d516fa31030e09e90aec3616764ff130e1446ca364375fcc1171c29b04bdc7624a366fb97607a62df92eb47c51f97217072df8f2db2647d84339319c516f7f5be0aa7022aeb5b1220ae7354c7d9c16047550bddb14269a7d91facbe9852d9a6cf4c50224 - -COUNT=39 -L = 2400 -KI = 724a30fd49ecee7cf9bbb9b54f20627f011be8f6 -IVlen = 160 -IV = f9b0c486316354b84d245e7bf3d7e0c2f933e14e -FixedInputDataByteLen = 51 -FixedInputData = 3f8838abfd809946150947f3550e8b1d9046af23e3000a558465e2f0b43ef687d574dcd90aeede5634949b4b06de1c22504907 -KO = f9f46f7cb8d6e16c2790a0b6439addb3c78fd5f60c1f54b38c8edb9e0dca49b9c8f731623a809b73b296eb8a8cd42586ed048a109afd589af765c6eed42e56d515ae5df6e04a6d17bcaf86bc04c5f31073357e16d1f933995dd76ebff6e32816236bec24bb784694b17c6c568e251cc05c5f24ef5d9c86007c762d702b27a2e35fa81888832bc1f1bfb7dd755d357c96965e707880928e7db5b089d54db00c515c91580a16241f9fb8a1b2d72b7be92588e8c965cc725dc9b4a636c3f8ba1d4587588222d70cbd4a50eced25de79a7763e6565c40c5222700cf93996ec8d3e23eca5ce3e7b0fdc971904e4b5be270c3c6607fbf30770cac09e3a4a538739052cfd5f8c4d3a8cbd9e70c94cdc05e9bd42f7262d46668d34bfa14eaf9b915a48c36a2a084bae473b253342fa42 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 936d553975a94e4ffd72b01233e63065bbd9b0b2 -IVlen = 160 -IV = b10b0800ba2b1169fb7cc3756a06f7ce76f59a0c -FixedInputDataByteLen = 51 -FixedInputData = 6ab6a0de00fa4225b79555692e3ea82051dbc51f6a5b443777b8ae02c4632d4a6b72556a33f8e323c6fca7a56521303a667831 -KO = 5fb762622f4e1996997a752f6f0d5f177afeb06006e4ca5cfe447d2eb9a5a586c2cf32d22c84c2d7cb7e1db9d19241de5b3f6cc7553c44f023948cd7d952c105 - -COUNT=1 -L = 512 -KI = 8760a71f03d208c0a0d69d145391aa0c4140b1fe -IVlen = 160 -IV = faee20bc9e5d7dc5ed6d98d10afe57aa5537d5eb -FixedInputDataByteLen = 51 -FixedInputData = d212315fb3033b29e5dcb37ca692d97086ba79907dca4ff5ab997d91cb250adef7cf60a02c4215a223022db52b1e0be8bb6ccf -KO = 581a99e5b8736d2fb3a539cd7ee75b7f2e195dec1e790ae91332f17343959e72ac6b327283a98ce22df36fba965480c8a427e34d2ff9fed4ba87924ead086f77 - -COUNT=2 -L = 512 -KI = 06ea9ee19151d34263a83203299c9bf0f6cd3a91 -IVlen = 160 -IV = 2eacdebbdef7d9aa4faa085c7611f1ef0d39eeba -FixedInputDataByteLen = 51 -FixedInputData = 28f8a9e35729c28de55722bcbbe93010891a70085892521ca1565ae3bb2d3a8cdc1bf6f3ac2dad70fae34cec701a1e38e497e2 -KO = 928203bd4889a601ea9cbe9585a87a350d5e388d066b09cd7809446c0561f91e7b9f2505049812b1e150ed546b52b342e6c8a797a29cea97537fe75e7d9d75e9 - -COUNT=3 -L = 512 -KI = f462daa91ae978e51525fd3b64a86913ed739f2d -IVlen = 160 -IV = 581715a9609fafc7dc522d60dbec1dce043eef4d -FixedInputDataByteLen = 51 -FixedInputData = 43ea857154208853d85ca25731093e568e95cb41970e8ad23d996527b56103857ffd8ccc6dd2327fed0ebfd8a92f192ac3ffbc -KO = 81f81ff5d528338d5220baaec8cca5588d3c2c4f9301046474159e86234d115c8f856b5faac9fd0063fe09ebe1ea0448b5fe5866c7e531549fa62cb7ff2994c0 - -COUNT=4 -L = 512 -KI = 404ac4f4e878b58d76df4e636ba98125387952f7 -IVlen = 160 -IV = 372c4c96e4298da79d0d195c956e403a61e8454a -FixedInputDataByteLen = 51 -FixedInputData = 49a23d7733a4864dd17e011ead5445f352d2651f3471549623ab39d0792057322ef4828639ed012fa8eb70e37ca35fd4fa739d -KO = c152c6635301d29c9a58539357b84cbae783a4c29e203bf730a12ef2ecc5deb51a24dbbafac21a1885bc825c90bb90201c99ca82e7d9144551721371f8a1b08b - -COUNT=5 -L = 512 -KI = c2dcf8f91fff2c32619b01a38a98c39dbd1c2fe4 -IVlen = 160 -IV = 80bbfe41c07049a390a4abbfd7455c7d6273efca -FixedInputDataByteLen = 51 -FixedInputData = 3269a963151b428f5ee3c5a2e8b3969157c63da4dc522785ce1b271eb8b37b2c60d69d34d51f4f4ae6a7763b6ba8d89e0da06d -KO = 3b2e37945d16ec43f6f3a17187700a21f4ed0eaaf8e15dd2efe3af21bb609caf2c0b20c8925a874942d404a4d63c4567967c9fca61a3c061ee1c6418ca1ec896 - -COUNT=6 -L = 512 -KI = d0d47ced10e698eb5d79bd5a9664a53fcd46b866 -IVlen = 160 -IV = affe85c97c33635f4a283e685c96d628a7c8868a -FixedInputDataByteLen = 51 -FixedInputData = 69f62fcdb9899634158f65d873702d26c73e7441a422e040fe877a9f8a47e255b56013441db2ee93f6028b95e3ff731175a2ee -KO = fdec258f9b3b2c90264e8ae8c86a882517129b85d6fbc21e7c3b9adcee2ed2b9bff8c00f21c5e0addaa22f3802a1baa305fe7c436b801ed531913c0ce414e570 - -COUNT=7 -L = 512 -KI = d058eafb5e71623150799b90acd07e5d181c16d7 -IVlen = 160 -IV = 635a6c0ddcef600a7adac5c2be0ea73b276aec56 -FixedInputDataByteLen = 51 -FixedInputData = 82476b71ed0447da86834460dcafd07ec5b1b22e58bd2bde6ccd23c3f8a37bd6e194401ff26352a3dcf4dc2604da22b0710a73 -KO = 6139e061458a933d0a61e10222169bcafe0c4d183561943fa9abe5790a00e715daf4126d2771ea50f891a5c54589bb8d33d5454855ef4ab45da80fc822a2d752 - -COUNT=8 -L = 512 -KI = 065224a4dbe5594fe7ccb6e0331dff5bbb5e22eb -IVlen = 160 -IV = 75e9c14665b56e8dcb3bc9ecca2768e90368b3b7 -FixedInputDataByteLen = 51 -FixedInputData = 5e582583a092e770f3eae7db8648eb1bc1a3c49ed0fcbc8256f10a1382a802581c466418d9dfa195d394cd53fbecbab3680c94 -KO = d1d473bbf4bde6ce312e3838109fb137c0e9acd998702b65450057e3434ab784bc9275a9763054993dfb309591b426a911cc7011d01d013259d12d1dd1311b0e - -COUNT=9 -L = 512 -KI = d3ae8c7aa6cb9f8aa58e0a4ef9008e4b91f1f3e8 -IVlen = 160 -IV = 9284b92d68941b3813d3d68927bff595ce0d0dd5 -FixedInputDataByteLen = 51 -FixedInputData = 109d3fac4862183974490b06dfb21830e701652960258eda0d4c8b117dca8a25535750ec96f89992bc2cc6c0ae1b91257a4032 -KO = 8357c1c85c65955c33d4e4aa4960d952f2561b2c21c4ebfdd2aa32d6c50340d47f1c8dcc31611c28b390056d7f8c34c0cc25f7de665d02c497df61133b77064b - -COUNT=10 -L = 2048 -KI = 385da42de81b12061c7506368e3c50c2a628808a -IVlen = 160 -IV = 433d59c755418d86dc1150e3d803319dfefb8f37 -FixedInputDataByteLen = 51 -FixedInputData = 071fc04c33ff650f79fc5ba9fac1fc3cdc216af68ff3d32be986a0b506deaaef527513ef36c802d80b4541ca6207424a244616 -KO = 1323a7eec119a62fe5d6cd10e358de5db04f07c7b79625046f57e0cee6b454bf4235b14556bc499bc30e57c2cbf0a35a18648dc2d195794d902787f953ce756aca726d5b261f9d8b2abb21a4562759fbe9a11652f4bc107d576248eca7e87c6190f1cf939ebfb17f7507fc9575d7cd18ee8c2d82cf9a3d9067f4821803a858596842980efb32721a75151dd08aa8a829535dd3efa9762151d2f5a9e5b8f66dcd7fc8fca482b931648169af4d3eaa1f6ae8b8714fa92fefac7f00ebe2cf342ccf4617e863e51ecfc52b1dcc9a59fdc39fd2aacdb4d9a74add967baabc73ef88151112c3210d7e573cb470ed5266c76a4376dd6b48935f3ae2124acf60a75cca9a - -COUNT=11 -L = 2048 -KI = b34eb3e76e3e769cc86c5bdb408a4b2010b67c06 -IVlen = 160 -IV = 593be436c88df50dafc2fe951def1349d3547b83 -FixedInputDataByteLen = 51 -FixedInputData = 80f25efe02da5a4b0af9037d90078ff20cfdc5ce05db68357a5feb4f4be198a36a7a7a02a34a24a9fb7b02f473b9b90a24851d -KO = 8dc632353b7277fbe2730ad1e76884da7793534e85910ceb80ca2db140f6cf780389b5c1c35f893fb3a56920ee3d163980d3bce1e52c19d3541c828941ada0db8e2314ff3d7dfcd6fa2a3e057f49efaa5844bb1caafc92b4360daf23777bafe8bd9075515fb264742fe67b6609844a5f17534c8a33c83a953309fe90a84cef9512d8f3a088d6c13d05bd716a1f3bbc7b603bf718de76344ae176dd2b25b3acb4e4816b8742905ac9916d562d22051666d4c421d6695098760e0333c376e324fb09a85f6f1176ee2f082d600a9b928bff603c08c75b8227e5ba212995d76193e62ba4887780266f41fb8fa7e10e7726be71e904705ee15409b3d71d4e582fcb89 - -COUNT=12 -L = 2048 -KI = 1d0085999f587d6648c499ca64a6763afa1a38cc -IVlen = 160 -IV = d5eb9dd02c7e6ddeb0d78d7667a26386455c7f1e -FixedInputDataByteLen = 51 -FixedInputData = 68ab78893ae9f90e3b34c6709649befaf6200526d2f3b4d0e4fef9e6ed3786de569b15b590a6f04665ae93aee468e496b9ef2b -KO = b5da57b6f6a0b35bc4dcc941ec9c6b20ec9f608b647793e67d4aa9bf3fbc96bb603f6120c0582a6ceab769449dcdf4cab9c06b5b6935d25679282a360cdfca9b254915e5d756ad9b40fbf8a7945ed943e74777660042cefb8db56207b404fef9ed1489df34b3008fb2f450f085371638c2fee1fa8fcc155f6d47c329a87ba28e9a8562649a78ae89f5ec765f5ccab629bd10acea49a04e6b3ed2625a7c10dda9bcd448e3e9373734fea953710910eac2922174089a81a4c79e1101662c12a057a0e5b26c1d9386a57020723ad874e42c43cf1905160cd1db9b6a41c77df168ff6bc881775afa72cdaa452a240623898264ba4eb7022cae911f1ab7cfaafbfc55 - -COUNT=13 -L = 2048 -KI = dabef9ac826d17a97d979890557d729dbc49b8f9 -IVlen = 160 -IV = fd3a6106d629e9ba6a8bf2e1a4b6870dfd3180ce -FixedInputDataByteLen = 51 -FixedInputData = 8ef18f6fccc01493f79b0c37ec5a5cd24341a232dd46be76907106f3a8954226a5d16f21f9681741f0fb926a4ba4e24c140475 -KO = 9ae9434f149ecbf840131f3cb6c32faca988c16026e81aa7f833d107caf84342b3db0285208d243ef65d6c69c0c04618c1672a842262468e82a1d2d50976002aabe60935f8d686b0712a2ef9b6c4b6a664469e344dbaf9b943068bdb823fc34617a9ebf38f08244ad3f5d95a4bcc2bd936a92f70d10ad8abd5ced83aaae4eb3742ea7e49e668e7b6448f0239ebf5f108f895f2d0f72b4feaa51c7b272d6cdddea785986594e5d3de09c3dc91e7f4e7f3e06590694784b280b2c4e494ab282751da83055efa017fb7d15fbbf084d449945208a62300d95c1d1280aa14db2565cb0c18bfbaf170621b615928ebfad99b1d9b3b228ce64533673d4335c673f3c8b3 - -COUNT=14 -L = 2048 -KI = a8b781a9f37f02cb9305856fef62c25fc880d926 -IVlen = 160 -IV = d653b3beba6a756788cf7060b212f5894c82c8f0 -FixedInputDataByteLen = 51 -FixedInputData = 547efd806fa0e496277deff48ae8771ee2329a03d1bf051873c0d0872482f1f55c9162cfb34567c6ebb34c966b785096960645 -KO = 901e74d201c240f189423fd33ac45773f68e12df5664d3a773462773c8042f640024b6da02e1927c7a4eb720b438345cedddef25bd4e4c18a225d967120271edfa808d776b336087f613ab2593dd5b81edbe185fba4664e5c6d0082ab3f7b6ecd6b2eea735d450b8d7c39c15a0cd9f27cc9cd5f161d6c2bb9034e6e78f3f06452f745e874c9dd53503b378ca218b3cbc916a4dde66f592d3ca433506bdfc09eb47a81a2b725d69d18feeb52b9d693d485325731e51cfa9a8babd511964e3c43f95fa3aefd73208bc4b155e99d055ea8503ed98bcec4ee8f8cd7ac48eb29f885ca809a524dfe94bb089ab0af8e4d876785b362747aa9eacec2dd7189fdb4913f7 - -COUNT=15 -L = 2048 -KI = 2d3c4cd878d732c3707f1d6544f7d9b2786938a6 -IVlen = 160 -IV = 11a5baacbcde0c61f73d46404736a1aa8bd09618 -FixedInputDataByteLen = 51 -FixedInputData = e01adfab0b54a06c298f9ff10033bfad56211cdabc5148be1df79eb93218a238117828d8702a8b9ed8ac870305f087a3cafad1 -KO = 7a6610a361f36202e4c2519dfe8c654cfed9344587d8a3df1ec83afcce416b06a459bac0fd42304b6de6617ad1705a14bffcf62a7e0576203196d1263241cb6c66743dda8859e024a8a4c2a1523edbab51d3fd98871778970cc4679d36897113e00fcf165aefbfff58611988fa5823d0ba1b80cb4e861711218bf9c398f61d05cb5cf352e5f27a21c1100d3f88490d4d59aadce59b2b0c3747b3a71de84498b9e5735a0271654a36bc23349df3d4d1bac52423d30dfb9cfb46a150ebd36767368b196638c95b59c0309a6e2e4c6efc7329751b5b9fc14cf82592c8505cc05ac3bcc1f451688364440bb968715bfc2ec6c5bce882bba673c53e79d6037e10950a - -COUNT=16 -L = 2048 -KI = 59006fc8b85e5db8dd2bb530ece5cc00bd233d57 -IVlen = 160 -IV = d53af96587c5d6b8b2f9b67a07b3855d55bd7a66 -FixedInputDataByteLen = 51 -FixedInputData = 4167ebf8e29288ee372f2d2789651c0cfa7d3e9d870c1f38e3cc5ae66263ad8136ff03547cab6a099eeec1c96466cc83e28f74 -KO = f9c112992fd5ebfb4051cc11817759ff9106a14eef026410892748af4ab334ddcb43d69204267e4fbe090450a33e47e97118fa7b3aa2bdc3b4baa58a0d75b8017f4815a324c046692107d8089328546185ee13faea12578e56c5ee0e58734dd1c734dcaed22abd193db65602e14204571f0394bda02a2c386f15c72006dd05602fccb6d7b1e5b341038a49abf0a97f1b361faeb803984929a9b20b246eee1b5c09bc62705d7bb291d116c23decb09c9f0c8cdcf8d9b66c2810593e7bab0132b86fe3940e338ad9ea55d81c87de002edb7e3f7982e5183f81d889c39a72e922c5bdf9051b900a9d42bb11eeafee9ed7f11f86a4243cba654b21448e56875d56e4 - -COUNT=17 -L = 2048 -KI = 92b11e15ed8c7c1f3dc8f6adbda4ff0a8b73ecc6 -IVlen = 160 -IV = ba068e86f7dfec7e87aab879d26f8f887d80cea8 -FixedInputDataByteLen = 51 -FixedInputData = d57563d2a1a343bf9a3b560fee6db9282e8380960a8c455f9a8d4e1bca25b2b802559c90ab9af8ef2bacde9bc719da4a804780 -KO = 10c61a48de05a57b81f93f4f1c892ba3502a1bf9654f6dd039bd109bbd97e469c78d65346a50677b248a6d4aa1893b7d4236c10651a946fe003cacd22a8ba4415ec839754209316ca0c9e770fe31f00d53c31d98a46a5d07234b3f8dd3adeefcae1817c93bc8c7d7b560d9b0f529db1df156ebd6d72af88c69ca4ad649384b3dd67b034bbd1351abed57e9041ef5ab737d366cb6a4daa95b3aca00cb84b4649d2712f00c75baf853e74cded5745c99967ee3ec9e22173152aaf34e375171b1fc4eeba45058f2f44b48761d54e3481d5e672ca7ccd706c56682be4b3927278ff0c4225ad8149ff8ab3fe354aaad52da808042a9fa265b05b5d0410b1c191f407a - -COUNT=18 -L = 2048 -KI = 6133bed684c0a096c406b3f355fcd61c4b002ec9 -IVlen = 160 -IV = ba699c1092eeaed348e8a6e7c4e168adecc335b7 -FixedInputDataByteLen = 51 -FixedInputData = 82b779dc18130a3a4c547c29ae744bbc1b1f40956bd609804b1b30a8d6e681642b2ae25dd0822bff1226747831e4600cdd7020 -KO = 64a3d0a7d1472da299904eb06ad3dc065d0b7332bdedc6a9bfde98a331030fdbd340d150d6bcc8f99cd832d28c0cf32976c093c56cb4bb0059777e8e25a8339ad5750e55ca80600ccd3502181a6165b84bdbc0983386fcb82f947e48f36b5c52082eab8b69fdfe15d55b25d2275389409b21d5b0b8dfaeb1b77386bea20b2860932d2d26d71910d6f90f246fac822570a5a21cf63dc238cd6d79e9bb78f7a6de316c6184004cb1824af246cbb116e77d14ea45fed83f0fd05331a8d865238f2cec516a4360088a5fbfc30068227f7dbe9850ee50c5bcf85e71311ee6b0a15ef53ebe1ece2c0ea7cb84b3a0defcde90307e53b390745cd1873fd0224ce0592fcc - -COUNT=19 -L = 2048 -KI = b8b07e83b6decd365013e583b7cd283f433a9e7f -IVlen = 160 -IV = 23e952f815e89e0478d7bdaebff70ab0b4719ca4 -FixedInputDataByteLen = 51 -FixedInputData = b7d4692d191566bf724f2acd50dcede6e65b94395f6f53871d1605c9ebe27e89b8f24f41a67e6ac66a70ff33af864b108807a5 -KO = 9f4fab76b30ea92155ac4ce6cb93cd2f62ea75fe0bd0d71919f4ef6f03cebe385333c0e6e32a5b216476feca7e7e4229e6be63c94d84ee1f3b5f04df1afbba040beaa689d93fe0fe5fc2dcb4cd902de36380089a7bed4c48a233a137accae4172c3061345cc8304863774782cc56389903ff6dccfac4325371c01ec8594d767b8af5c5b92ee7d239ea9994abc3a0da9f9f072d0dfa6580e0fadd8f0ef7ad1128908d2ef0a3833b40037c7def1ac0b7a191aef5c4407e90acb4a39603af4ab17af3913efafe38acae53341674b2b0496d567e21f2206e9c579c7f1d87356a2065de62e0fc4dadb677c5b88bcec06f68f18f0b793efb5d898f2a755c74d92c8b5c - -COUNT=20 -L = 560 -KI = 20abaa959104067d4154abb106601e50bc12557d -IVlen = 160 -IV = 9e5f43b0cf856bb6ea0d92b1cc2a177366490fb2 -FixedInputDataByteLen = 51 -FixedInputData = 4f01a1c41e44183a00bb4a8631855c84d91c37b1a3efba6ea2491eb3c2c0955988c0e857e1ff200acc9cfdcb05503f630ef270 -KO = 3897767e549a20616e0eacddaa20d5cd913b5067017db2bc6eb5697d971c8d127165d58b1864348060f6d8c113d7e3e4279ee88b6a198af80b106dbd14b111fcc2e1248ce1af - -COUNT=21 -L = 560 -KI = 9dc5af332e871dffea161d3b741abf977eba5f3a -IVlen = 160 -IV = 031420ac1eaecde911d995efaab956651287612b -FixedInputDataByteLen = 51 -FixedInputData = 64df7b6b56ef7e2d34a517b631f4ae8e835d24a9cc102c3a0fd93b9bf28e1c4161b4828eab5c194e5cf98a5b35440803f4a3ed -KO = 55099d07ba414d24ac45849f756756f1b7490eb9edc8a770035888e58f93765ad7878c81b0b2159972fc31b86bababa99397f701e1140e8b91a43b3892dc98b05b9f09e79c98 - -COUNT=22 -L = 560 -KI = d60fe6a4ddcfaad49e731998fdcaf57fd770aab1 -IVlen = 160 -IV = ab8d1a35beb724569c54f7a1cb58beab46186333 -FixedInputDataByteLen = 51 -FixedInputData = 0ff10d3beda1421649672098da67232222c48ebb38ba5c12c7ffccd41d33fb08a196d3c4b940cf608cd6aafbde5bd141bf00be -KO = d95fa00a8f38c7ece9e90758a0851a61c84a9bd911e1be0c3385fd4ffed77c16437f594b11b6e6024f154a2c9c4c3faac2fb3f761ceaa909286176f6906e680749ff732ace00 - -COUNT=23 -L = 560 -KI = 495312e62f538c216cae2fd11ad8bf9809fd869b -IVlen = 160 -IV = c2bef05859e34976a97dbac933713893b3d6ecf3 -FixedInputDataByteLen = 51 -FixedInputData = d768d430c4c91576d85cc4519ae43c2b9aed48e72be68bbbce8bae6be1a347dcc8f1f5b2d4200df62a8894f5bf9122e5da4a6b -KO = 8100a90bee8c0aeffaf475d7ecd51cd39c0387c433c85b605c12557716026aa303b60ce584c99d387c990d30dc67b21e0d82434b628a239778dad969dcf3b853d29031dd6e27 - -COUNT=24 -L = 560 -KI = 9aba42b41e975509d569a4aa8fe0ee27d4faaf7b -IVlen = 160 -IV = 2f43a319a0d809a0b6af58fea2b0b08dbcc57a33 -FixedInputDataByteLen = 51 -FixedInputData = 583a9037ad8259151d51cf7289e083b3d51be1d874fa985075a9fe8dabc7e60e4196e0dad47b66dab5991aef47929ddfc03384 -KO = bdea0d6110ca3188f3cdb0abfac627fec6b2ffa39414849af64fc6018abde7b293b607ea1259ac864bf388bd4263eccc3cc604bde101b0be0cb5cde5d5209f9050729028992a - -COUNT=25 -L = 560 -KI = 9f2dc9f93a424e60ea5988cc9014ebe2a51607ab -IVlen = 160 -IV = c63cd0e5de20b26ed4bbfeca4cf099e793a9c0ce -FixedInputDataByteLen = 51 -FixedInputData = a9fcab10d54e110437d9a849005de9b8453d4b41c991adb33313b6812aae264aaa7ab8747dc37a92036a8ed4bf20a8e71f8635 -KO = 05519b9d5ce48721d47282fc7a5ed5fa650766103bc8a5459ba8b49ac5b73ff0319e7c90e1ac05bf5263f74cf692efdcb7bd98a7fb864146dcc08d6fb98679f25bcc61085a05 - -COUNT=26 -L = 560 -KI = a3c3be4de35d790eb4e93517262dfac76eea620b -IVlen = 160 -IV = b36be3b7ce3fe85636b6454900f91460687def6d -FixedInputDataByteLen = 51 -FixedInputData = fbc11e7a3bf145a4ab108a9f472ec3e74a058dda80517b942d0313b28c8a671592471708744c56abdbc94a62849c3028c68385 -KO = 438803202397deb36c0720ed534c27604c9752cca4068b976c9a66f442e304766b5a424ada97d290774e21a4ca517c87c17b156fdd9a8f783f63bf0cc6ea1fa770cb20605bc3 - -COUNT=27 -L = 560 -KI = e7dc1b5765283b2eeca216171445883edd00e0c2 -IVlen = 160 -IV = 2d0d1b26f2aaec7702b31c4ddaf452dc896108be -FixedInputDataByteLen = 51 -FixedInputData = 2b9c13013a6c46a6f8894ada97625771b7df408b87eb1daf91437c76d430bec7dfa995cc6bf3e849fdb25e3b45b5452ba07671 -KO = d4c9148cf4b73fc6381de4c26e3925e802ff76dad5cc498c93c464202c5b0696a0258271cb8ef9624e2c17670dd78aa6e193a6c391e417436e01aaf19624ddb53102257540eb - -COUNT=28 -L = 560 -KI = 86b7df62d03d22589ff8a22aadcbd2964474f05c -IVlen = 160 -IV = 5fb09a377189f403e7ca052f12aa0f8627960895 -FixedInputDataByteLen = 51 -FixedInputData = d8d83c02e62a0e2a1cd93dba2cf357ad4c5d6246cdcde88d43018ad7b770e1f4ecbc89f0e8f327cd430d61925ebfab96001a12 -KO = 65a3f4f0c49ca56d2766cb6d8e76e2bae8361b85a2d2c2386dfee9e0a2c577f063733314e3a49e299b358f3c132336ad46a09891193e3942d6a7ab3bae99abe0bea49405c91a - -COUNT=29 -L = 560 -KI = 420eac5334ca9f8099a5f53d86861c6e9ed87fbc -IVlen = 160 -IV = 91c188a8988eb41b576e3543a5677bd22887be43 -FixedInputDataByteLen = 51 -FixedInputData = d5fd9696e998228ba1766e953a160983c014d7bc2e4299ae64f56fbdf5c202ee68803c7351c5c587410b3dc45ec9bcb70dde84 -KO = 91cf1b01f25f8dc93fdb614c7c53efaf56838e653533a93f8cb58321e2ad936c146bc645d46b11bd3f4d81810073053118c271593d3d38b7c225b04e0f83b561e9b29ff1baa8 - -COUNT=30 -L = 2400 -KI = 453da11bc113fddfe83f6fc0d43e7e815c5e981e -IVlen = 160 -IV = 194f480f22e891006719beb6b021373cccb31795 -FixedInputDataByteLen = 51 -FixedInputData = d276408956ea608020d23482ef7e00fc83f4a1b9d4505e6a09082cc5aa33236a124dc77f26b198e02e5c74c520d588cc7154b1 -KO = 88068893932218074639f188944a2c580c1b849cfc2f7b560c1e332369749b6cd1a355b9f8f6982c7d8f1b6c5fac5d229418f775ba37b861477661b8cfab297c68c200f0ef541a063df80aec680dd9d3780a5ae0c87cdc015c3154794f1b98a0add256b6c4d074d54ffd553630dd534bd48761d1d7f489ba738a0b13dda5dc8bc71f80bff3a490e553714d9fbdd9a2b17a97a913c1ca360e80b413f4bd12b84dfe3516ce92a6b1dfe46077afb0d109e43b8b2662dc3c323461e22f190beb754eba3b1783bd24a5a0d739204e46ac544655df848456eb0ff6d6a46550007c7b2a90cc3427339257819dd56518f9c77f238ec02ee9545f52b496e5b85f1c166e9b80abb2036767a6ac9d6bbe7167bf3d14b68b5f81e16c0fb565e4343311b075d9d8b35ab75fd810e9cb274ac9 - -COUNT=31 -L = 2400 -KI = ddfde60512dd0b4db0dde688a51eb2d04901211e -IVlen = 160 -IV = 5e5baf4c6a2e648e43d692c0471aadddc2ef2a83 -FixedInputDataByteLen = 51 -FixedInputData = 0c96036a5c2c5712a5c68c5828bff3a9c4a5f9606d804625c204e03e8b9cfdd035a52b2fc402e791970a0dd116a6bbb271f17d -KO = 5e5a4d754236ce4104f9e547059aacafd7465e2f071998abb865e1d8b0cc8e7993503347bb3c144a87e32f29229e3c9da666e2b9f5aaf5f8be21e64c86b262e4e0ce30145665d07407f1bf9bc9aee92aec25c6c7fbf8bfa7fbf8b9242bb12ce037b91298c7494a96d69b4ffe2e56ab8c306612f4ae5591a09bce4d688cd169ac76a6c4af606e3267c1015884d669198cc49ce582953a287a6bb6cb7ca3f940ac0455a0d4701a94c51014864fbde417e0a346d0cc73e34ad9fb35ebd6991e4115f74d4325aad2c6e2236337edda1bb2c9a0e4d6a40316fbe799ae9f0427bbeb604b1ac018191a1845b12537afc9e554b19e53977119e1d4c76c6c4e9c98b8ed9e951bb191dcce814df80ee76115b639fc936b77b968170fcdff4d0cd0b741f2920cfda56adffba9842cbac9fe - -COUNT=32 -L = 2400 -KI = 5dd0ef7f93f30a7e00bd499b10a4d4e13c2bccb6 -IVlen = 160 -IV = 87a9e53bf0ff98172210fd9a4a3925ccab8c9eb2 -FixedInputDataByteLen = 51 -FixedInputData = e614571dee7e912efaf771e32f6ccc67508be1a190e3de979751a3baaf8686b4d5dc38a635eb26beff3b8b122ab330e7488685 -KO = 627f5576fdebe21844670e63cd501faf7ee907d210e1d3978fe2f05183139594f387b7a18f05b36b3201da37b60266ec8460eb7b9b1914579f0d1cc70374754a964a36201a80a51a0d8878e67edf13410415fc01dacc1d4193048b9fa7b76647f3d35efd0c45048249a1f4a66eee036f9608ae3503e38d3429f08bc789cba3a031bfdb63119c4534c66d3349d21a99b2121dd3dd33698deabbc528ce401104e7f5b87e6799c454457b6aed64c7b9f8b1a980a83c4e400656b39b922918f78ee70c14f0bdfa2ec678e3993ca5291f042cc075b1eacd6f600e9c2293ece8d64b3676186f1f6571abc275d6d629308c5aa23a0122dffbccff274d3cf3fd628baffdfcfd6ebe0533f44d3fb0ea4b91da769fd497b2e73ae55d0548e85ef20bfa0938d709e8ac174f1911e161dfed - -COUNT=33 -L = 2400 -KI = 5682d4adffb102e7fad2a03c73cfefc240193f72 -IVlen = 160 -IV = 72ce2f17534dad5bcfee24a35799d4e3a7fd60f1 -FixedInputDataByteLen = 51 -FixedInputData = 90e761a13a7aba4206605108aaec76ea2e409bdffcf4b35b94f6b336bace9202bd74121862aa67ae507d54e7a92608062ff333 -KO = 8cb6beee87868085a2ae55a729d779b3bcefd56fa92a2871c5a77a98533b668aabb65f971c7c0a725ee098a5437ac2ab0e777fe23e7b93073851eb6ae4de9f26291442c7713d6a7679a6439fe7f1b6c04438ee2343614b968df0e9b4047e5340f3e93aff2b8cb82a502eb40c16d85a31fde0d0f1392ea7880a95ddabbe9fdfde921c25302cd5b0b9f39c0b36be91540874a5c61353eaf1cc71bf424f91a37865f0d68144f4de88c3a82393ccc5c723b278aec8916353f57d3531c924e95942480b5c8d9a578903ba3549e4e756733a252da0746641d740af3800d8936c5c00aad583ef191f6528b390c8ac6e44626fae4f0abc5e5af2721dfcd971e4a70bd33d77de2f4fe8d76dd0f471f7bec63a2e6065df46727ed78fff4125e94dc0aec5fec307a7a92a55629e0e72fa44 - -COUNT=34 -L = 2400 -KI = d3f67bb9e41a1ac9438fb04db16ee40aedfe2915 -IVlen = 160 -IV = e726ca27cdcd4adc9959b20a13639b67b08deb9b -FixedInputDataByteLen = 51 -FixedInputData = 6356104ff924710e7400877dd3755220abc76bab38564dfe6f21e05d7a82babc500650a2de14abdabc6177794c4482c16b21d0 -KO = 009a6853e7c0a2b568c98477b7712850e2558a17c16f35105cdd4d76cbb63ff494705636bc377ff84c7d37160fa5b287fac3851d10d01c07b365bc0bf574337ecd88eb5e8727ae80fb739ad999374ecf5ca151202f0c2352a93126782fd55cb886e2d94c20a829b8b7a2e1a25394e16344016b3f8b4ff20d8c0c15b477b2879db9fee797c0219c02b82aeb50a0b08c6453702aa9b1684a488522d33639c32694defd7a36d10de5e28c30c823d637fe7b0a8c1a873006cbb4cf7b8c114022d11bd2bc7c2ce987b0a232bd4855dd071292951b1ea2e45541f74844b1667c49af0947bd402aed159c5c6c2df5ef3a6ae7a28eb90e64315423dcda56a10651eb3ce9659c0e7e4c78174c4d9d40e08171b959f44ea393594ccc6f0d7fac451f3a0d10ba0381eb528a4b5f4e5d1aae - -COUNT=35 -L = 2400 -KI = 07ad7a6d13a16aa334e8ccefb31286feff01d51e -IVlen = 160 -IV = 68373393ac1c9c4749a8f982d695a16936a9e6cd -FixedInputDataByteLen = 51 -FixedInputData = 33dc00acc054e158d24d14c264da3d30c53123fde2d61b330d1883bfd9881a558a88ae2d9ee2e5991bf783ffa0a8c748162249 -KO = 33687740e4b5e85aea2a548430db2ff79a3ebdd9278f18d989177ef9ba645337e4b3f1b31d3e56181581f1d895a60ab6ec2894d7884e166bbeb47f8ad6ec6b564319de44c12d255c94c3f44c1a4d36d325d0dd9d895378586c938afcd1b1117cb7fe2475df0358bd7176bda143b494e850979ffafa08ed2a048975f9b97f78168aba4e287d36d6e53536d53eb214934a5c0fe586fa632217b1d7c8a9a492ca858a571c7dcecd718821dec129501b40ef080aa1bd58ebdd9833816a40e7d9c95280c80609ca91ad0a3e8fed57e9dcd352df07baf8fec8f25e951106abf77b003909b8a4bb5dac20649ed1e10277bd5390923542bb87dc20ecf8fa1735a95b763cbd977e2e6f8cb596fbd3eb8cf24aa4108ed70002b3db8898557da3b03db6b065cbe0483534257479456b390d - -COUNT=36 -L = 2400 -KI = e748ee7471a32bf2dd1b71c2ddf096c19f88779d -IVlen = 160 -IV = 6e3bebad3027d87c4b9a1e92c28a661feaf09cf1 -FixedInputDataByteLen = 51 -FixedInputData = 0ac66e181b46147a6f87b46b50731ddbe44cb992531630a5201e9d2a586833c2b651af95e92b7b0ffcd76ec597d007a8b9f112 -KO = a2b6a79a7f41e265b398e7af7ef39b99b92d164fd21598f0f94a93858f854d21db16756bbfcf91c270dcc827bc4e1ae6a1151db07fa4797b5fd1598025764d6233fcb82d8dc28b9f96655c7de125113c624f04e4adc61dcbb770c07548ebc86e7d65324f0b4da9d102dd121c5e2bf1775a026c2629d324b05c0b5cd0061a2634f0c7637b181afc4f22c60664bc00a5f4a6449f0f8fbde6039aed80a6a2ae16ab22b41b419dc555db4153e8a51e38a0831a08ed9cc3fb21cb1011ad6821c75b20efc17c1bd8c30bdf1d19157108208c705e7794652719e9d2bcc6bea0c3260dfbe12cff23d6a1ecf1c97cbd837e32f7b9c86877f1ff6ab4e95653fead3fdc99c5c04a926d079ffe73ac9029dd1708741ea7926f2e1425e0ed16af9089855a1994bfd1169b454ce8fe9ba5a7ae - -COUNT=37 -L = 2400 -KI = 87ee3efeaa2f241348fb0c3db4788e090e820baa -IVlen = 160 -IV = 625d69e7e80929175696522aad3042f2e9ffbe17 -FixedInputDataByteLen = 51 -FixedInputData = ccca3adb62545e82c4c4b79a2e70f4510bc441ce650c92bca283e04e4adecb70998b70866252d8ae7a00b373a78b4b268968ca -KO = fc43b36c61b9f50ad5d9ed92f5494a6243598dc12176ac4d3d8d8fc79d615ec9398ffe599698ad653bc2ed28dcee02fef9664a3664e69ba40c0423a72f5afbfb9a59384f9dcde63789ccdbd34bf8e7e4d523e0c99bc1d42a8311efcae00a6275f1888d249a735ca24bb6fe1fa95bef1b587ca09d751e0f5b18f64e7a6054e00e7474fc7bffcd789ac1155fce88ef31c03f42392b3bf87aaaa1d4c47842b37e966817465d974f1f34ee4f8dcd3b4cd71cc36ca64aaafe131e843261482dc9afb1fe0c62fae4e590ed8d6947b0eca4eeb9e4a91fd89635d1ebfb89a2a99ecd10c67e1e1bcb5a403e8768c9da7f5945747b836fe507f4dd15bfbbadee718ab2d9d572a7c159315d2658eaab2f96219e1a887fdab2bcf867202b52c8ce7ec84ae9401316ad724cefe77713ad7c17 - -COUNT=38 -L = 2400 -KI = e6baedb30c09e04775667d57b142e31e89274b09 -IVlen = 160 -IV = 0011d0f4e2c176f5dc614b6f68d2eda5ce25b7c4 -FixedInputDataByteLen = 51 -FixedInputData = 3dac37316100ea8f4986ab4d178a6c03d54352f3517f76705b09ffd4b0545dd3165716b8577ce1a7612c461ddb0dadc7108b99 -KO = d8a99579549e6db6c3faa35169d929ad53f07f13895b20e8c2af46963e4328546f1d1eea8334f3e78e04142d93582bc447deddad15a4f4027f02bf0d0f140dfc6a085ee8107c868a04823a3b62c9ae26c106f4aca1b839837e999d91b494405a7b85c1298d16a90eebcb32801687f34d0b4dae684202c84a7d2fd98924be3f7159e3e1203f6e33f8f2e4fcc551e90125bea352fbe81b95cfae665262d0675d4e54232c92a24c6401060d8dba8ab8a705abbf4a2ea2027ed063801b81f9af52c9c059696f24be156c6a8ac4c701c92c427a7e1f2061053c5a00e420a7d41016476c24725be0a0045f04dc56d592acfd99ec9c0d5f79b7303115cfc3ffdf26a26b5b305814095864078c420a7ac9e88fcc6f806266b0774b8cea6c7ce9725c86bde23be23245941a6368dc7783 - -COUNT=39 -L = 2400 -KI = 115dd382c16947b24af99b118bbe68a39f9c71e7 -IVlen = 160 -IV = 7b1932458a157c098dd298998d68478fbbaf50c9 -FixedInputDataByteLen = 51 -FixedInputData = 0473f74cfdcbbed90f55098ee3f9c9161724d165a0edc9adf4a54e70facc9f08a7b5871e468a7de2c8b32348b55458ef2f859d -KO = 7331a89546fb75836013357e5acaca8b9eb0e317ac770b11893f1ea0d8e5c45e52dd9e100c4270917748205a1e5a5709dbe1beedc6f32e57e09676d7db6ff400bfa7d6287a419d2fa3bcad5a24b4f79ff9a257b409e7f5a89af4dc3af4e2fc6dd4ceab6ece70185e3311bae4b3f431fd9e764eded7be6503559398e7fe95d9de7313c7bf25e5bbd7466395821f7a09bc93ad7e5b0ae372118efcd0f471805008b3a690dd9428dcc0e051dd8e70c10b820c0769b1954e35ba7f98f16852ba53ee2d08a63decff293374ff0f38876f461fae4a6afa7e47b354644e7c79d283bd103c5e95f3f00d10abb9604ac578f2c2d6dc9891dc718ae4d99094115bec36b45847c7e688e664236b3f4eda6daa589a543db038f55d1701474087650172ae157fd1be8c1e4d06705a99c377d7 - -[PRF=HMAC_SHA1] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e2fbe706e654db19cc3fde228013d6ae226987a1 -IVlen = 160 -IV = 28cb0879a00b8791f512547a156e61226dcd29bc -FixedInputDataByteLen = 51 -FixedInputData = cd9c889e2b68a7208e64a690bc44cd015379e14cfdcb0c684bf9d3cb2f77e720e861a0506f95229f0294f991b7280aa3547dc0 -KO = cf4a8617238a6a8c2f9a801755e6038ea465930671a5e77d0576eed794ecb1904c25fa44d1b443064e00d832e67061b4d2153e38980a2b846398064b37f52167 - -COUNT=1 -L = 512 -KI = 180b0c0c34c6d7f4aabe6ebe769faf1ddb81fd24 -IVlen = 160 -IV = 66147de8aaf4b73faa545505f5fc9a16d05a93b2 -FixedInputDataByteLen = 51 -FixedInputData = 38b1a1425ad8644af9d67bce7804aaa6e973d64d5cceb54801a6982e5020d8f1fe993484730d63d3ed03911d4000912e341d55 -KO = 5161a319b201fb6436ae044b5e1440c2e339d65f7e487ad0b4b8f0b3c82fd9b76420548c9ce6b7a576b234755bae5015772a72b64364814b6e2c0ff68a20fb44 - -COUNT=2 -L = 512 -KI = e81c63ac3ce49239e799df181ada8adf6aa78a16 -IVlen = 160 -IV = c8b06164af0d79ce2aa6ee0e1750024299d83c26 -FixedInputDataByteLen = 51 -FixedInputData = 6c91f5be55fd3280602b92e5d4bc46b2ffc56cc66410b1dc4aba4ebdd2d3550c011395d6adf694373bf6738d11d6ffddb6c844 -KO = 6c9b60e4a8a9ad743ae2f5abb3e5cde1c6a4ef31751717367ff76eea44982fdfbaf05c3f0751448305351caacf945f58fe5ac2d6bba88c868227e32f56e0358d - -COUNT=3 -L = 512 -KI = 14f93953a626e9f429c96faca1d2619793655f53 -IVlen = 160 -IV = 06708f3142cc9507a34873b0910b55862fddd997 -FixedInputDataByteLen = 51 -FixedInputData = eb66d41324dafc42fa3770f265b4d79872b2bc797e21ad858945968765826c16094f92ad6b1d0a8186f2fcfe1fe538e3c60f5b -KO = 0f75539bb8b5f80fda06c78ea88c966d21168fc2b6b52d5471ed17168e8e8e9e1b9d4d457c0da5f77d8229c0e0a16df2569ef1c079e78d18e91e9a1811467e94 - -COUNT=4 -L = 512 -KI = 218218ed7da2b3c5b21e260c5bfc0ce6156ab5e0 -IVlen = 160 -IV = 9250e5c51003e5a4a5c695ade5f631a0d94982f6 -FixedInputDataByteLen = 51 -FixedInputData = ab319a7e22ac4b1af1fd16b64b2b9e8b2ba78935640a3e9c69e603ac81319d4b2b2efba37ae060bb649f55af7bc63895e9da71 -KO = 1019b38cf2625253ddac95e7f774291cc0cb8cc09cc4eb20d66762a2cd86985bc3f9699a56915b0fb86eebd6d992068110c6c5d14705690bffb2e352474ab142 - -COUNT=5 -L = 512 -KI = eda2069f05dc6c6dbfd72cfc10d95697fbd0777e -IVlen = 160 -IV = c9fd20dab9385ba1925c9fdaef8c7ba32a2690d0 -FixedInputDataByteLen = 51 -FixedInputData = 2718497ab93e3ec2be61bae354f1b25fdcc82163c7674256e484ac9215493373a96d6cd88a58e2ef0d0d5a59e3d71993d91e81 -KO = e3b3c67b940548ae147ef52300bea8fd8a97ee92e29cbd35c4b62a2adabf60a0c20bc71ce2d91f8d15577ba5fe1f79e30c9bd721b42e5f66a30140d9bca99b13 - -COUNT=6 -L = 512 -KI = f22aea0b3387630649319421d5502dfe2ec78933 -IVlen = 160 -IV = d54eeb0e9dddc3e75a422310538d8962ba2ea9d0 -FixedInputDataByteLen = 51 -FixedInputData = 8b25a6f9a4de361f1dfc3a6c17a65c631f4d2c5f13e44264bf310e3a5edfbc9ffb3cadd9e10e56fa0059e0148e5adfbcdd6a3a -KO = 0b426d293e4f38c90ea560e620affed975439598b264a8303e2c580edf2f483f5e490989cc13f2d271c15fcad71d0ff599a654aa6eebaa14df38865f2984286f - -COUNT=7 -L = 512 -KI = dac4f40cf906eb6ab772aa829c9943e8df3f3ed0 -IVlen = 160 -IV = a20739106688ddff543c4e8141aedc082eecf510 -FixedInputDataByteLen = 51 -FixedInputData = 7b3a854d765cecd6b01b900cc1fc5c018bda02a8f387abd8f3da21d0f8282036e841d7fa43a46bb367a0330ddd4771d89cae17 -KO = 4c3478b6314d546df0315cb0c0cd5d72bf784b5a86b9efe2e18abe77c07050331a157564f1f2fad9cce6fd4263fadb91ec55c1cf4596205ac7c48768856b0c1c - -COUNT=8 -L = 512 -KI = b0b48e27f8313af1d35efc0c0af8e581e1400fac -IVlen = 160 -IV = e4787afa1b0d7a7333c748674e3147bad3ea2055 -FixedInputDataByteLen = 51 -FixedInputData = 9634e17527e35313a57fde08dc074b0ddde7b278a44f604728f4b8925cf14e82b5114ae2ca21a30cdbdc793b00cb28d64230dc -KO = e56550d95ef54da444c8a821e68d506657f32bfd861565a0aa2d0e72fa06f2e7d9c566aac67a102eb6777f7999c3f15cca31974c52f8d7f964fddc565c7b0edd - -COUNT=9 -L = 512 -KI = 16c7f0c7aadc526e8df1f8b698d8634c800f36d0 -IVlen = 160 -IV = 34dbd1e4a9ec4ccae3c5089045d96d7c1c062416 -FixedInputDataByteLen = 51 -FixedInputData = f6de932817068ef7648f4af8e61161a86d003f98399763b0a17be7b7f0b312c80e12bfd3fb656f5e7be2105131571a628a65ac -KO = f56331b270b9091f750b5a0364cd8f478c235dc80e3977f68f8875ab0a118fa206c18a771175dadf9277ebe4e03587a613588c82482161eb41aa8d3eb21a4298 - -COUNT=10 -L = 2048 -KI = 1ac28f90a507f46ed98ef40af57378f514554f78 -IVlen = 160 -IV = 4af384fd181f6de52efc7f35f0c8a0690152e610 -FixedInputDataByteLen = 51 -FixedInputData = 9eea713f647b4ec2801b6208b6d527dcd837a104905845b17d81ecebc333f9610b2eb64ffc8c962d399ef5a38ff37cd1e37bd2 -KO = a0738cbb48a60c5175b3178e2c2d9d0d80cbc8019a1085b719a111cad3c4196f4d1871625f7dd802c680dd55bac7d2853245c632acf2b50d9788c557ff9deca1bc1cc3e114e16c1ab53fc064994c1140cdb048e5ff3622d490b7a4837e5944b376ad0a4b33fee8c8d106b433e31ede8b971295892c4ef1ece6593531125d7a243ca45f6b53cb5f900873d41adf174fe53dff124839242ff316978bef480c4c2806e093e7ca7660ab4302624d92d492f05d80c405bf913c069025cf84edd9e1535e059bc617a690ef6031915e124ce042db3db323583f6027b681a13bcad44c0f4a411d4bc502628d2a5a07e78fda0348ca172c93b1d9694d3b63debabc22e22b - -COUNT=11 -L = 2048 -KI = bb6709a8fb40544c53e343929efc01f8f90df82a -IVlen = 160 -IV = 1a03e732cec33fb40b2ee84a12e242d0892133f1 -FixedInputDataByteLen = 51 -FixedInputData = 40596a36c59c84e2e4f4704632b62c1584fd56e6475091ac32041f6e93e59f5f47765cef054d344af070cd3026f2c76aa0fc5c -KO = abd2c2aa0b851cbcacb63efa5460b736d0b67b897a0e8904bd9a592f437ab5318c43f13672e50b044353cac1078d7c34dd7347ac396fdd83f35727226c5eff005ce9358ac28bd03cad9d030880fb1876351acee500fecd92d3581c0c91543664d776857c32d580262e9e7ba95f6d9fd5cbb73eb753969569d7790be29de7cbd8426d18f68c9a4ac489d94e809def080d0d23729a52204a13af28165cdbab5ec660be17b52782f47563885545e3a02117e97e82513d07c77a8fee87ecfce9b902c345d5a4c9bb9e64f28b71aeed3d442a0af6b81fc21c73ae93f1093e569185b2b440650106367a69cd9b5b9290f40ce0a6d23e6fec899c6d69ddfce6b836ce12 - -COUNT=12 -L = 2048 -KI = fb76fbaa56c21b5816668053620b79c6ea0d555a -IVlen = 160 -IV = 0973d8a4cb31525ddc2c3d832a4a73a8d270c1d3 -FixedInputDataByteLen = 51 -FixedInputData = 4c3c6828dbd54703b1137f0024441e5821768a31257459ecae8727bf12dce6757e6ddc493baf8e2f84b53857dbc25c604ab193 -KO = 1521dcf419c38d7c8c2047c98bd839d240b30cb26d46ae01f442db50e71a3e38f35df0ffd90ec7c171f5383e363024303d0c63949444a42e6c6ff9b5a688f9310437673581bb885aa7c0aa5c7092490bd45684ef59f9683975ebb56537662399a9196f3d27ef0a9e779996801168d11acbf6d8f5c6fa05493a75bc950246812ef506d4a2205302b5a949493ed731865023256ea942a59bab424511f9bac5ff18bb44642a8faae988f6cb5935ab0f8175a2246497631ed932f7d2c2d5f6b2dc13997008397dced9c887eaabb0cf0070bf170deab7e8d8bb5b8395f2737a0c2e81bbc74172474e1d7998f52ab302fc52fa8f47ad041d0c4295a4995b6e13e56db6 - -COUNT=13 -L = 2048 -KI = a223e6e34f76f912aa2815a470c01f80328ddba5 -IVlen = 160 -IV = f2e308363adb65eb97843d5ecd67a945eaa800cc -FixedInputDataByteLen = 51 -FixedInputData = 8d7745f5c2b5affe811e55bf59fa9dcbff0953ef7c2398e2d05bb914d00227b8836a91b3ddf7b774843995b80e8ee04e4c5117 -KO = 87de95254351d2857316d60be11bc40f06478d87cf2bb37ff4572e98edce9895fb2d99506834f2613d801b7bb4ae85b59864379fd1c9a1a831cfd86146e1b1e01c4a76e61e05f8c9ea4e06b77ebc345fc579cd4b5f07e3c7f6b5f1cb317a9b8f1427048c7ce8313fa1db262e64148baf2b33939984f2e434b56cebc57901edc2358e192f3647b0b2b4ae0ff3b3390f347ae7ace3340fb4474be88dbecb9d9b4fdf148f9bc4a776f9e0dc90058d4facc4f09b0eacbd282b86356c18dc3672a144df295a2b5ac3ac4d678d53cba783b4ba245930e1e41de9e2d80539a1cea02847b83a4c4b061f07aabe6a2c3924b58cacea05d58f4186131bf81ed7b73ca45554 - -COUNT=14 -L = 2048 -KI = fca119ed46b19d6704d728cab8b7978619dbb3d4 -IVlen = 160 -IV = cc60f4fbbaeadee146acd5e45aba580ae86ce850 -FixedInputDataByteLen = 51 -FixedInputData = fce2524bdb4e0890c115f3ac7162010aa1ce012f1985f4183a9ff524cd669147a8a673230edce07fc3de3d57720a1b0883fdfa -KO = 3379f42ce272f10971661a2c53fa56778b208c0910204a25d81c00d46c75dbb80af158f00509a18b6400186d127f099497d35ea2d97685d7251c910329fb8f6cbe64cc4b5aea1848b25a559b67d5dd412806c3468bb459c988607cedadaa5e0b0f88d501c13deec645dea21d06a7e5c770b85f98b7fdf7e5c607686af80bda1bf1d769d25fa2cd5a68fb6286ee4ed3c4ad90f8e9514942a70410aaccf74a739cf6bbff16742a8470bc7e72ba727868dbeb69b3bacbffe815ff9f98bcc19d42c5253e8cfb1cb1f7f3e1ed24e55782d3f0e0e4b415ab34d597051a35ab1b129856fdc44e3903a74904af3701851e22c31ed4e690e2575bc622c837c574cfbb0104 - -COUNT=15 -L = 2048 -KI = 110bf7fa2186066e7bfc0a62e347c211372a9f7b -IVlen = 160 -IV = 09ae939f108ef6ddd23300d80995fee728fadf7c -FixedInputDataByteLen = 51 -FixedInputData = f4aee1e3d85f8a7131a8e2634d4b570b8c3f3e0a682db3523d8954942e54c37d46051df403cf2157b87ffec95a5a4612cbf15a -KO = 1cfa1918a568590ea8ed5af4748ce72b32a9f93b4d516fb053a18d8f62ce4d0d7099ed10b6224ce006cb5188dbc665eca8a850c613f13b3a7dc90213250c7efffc49620c975ee52524023046edbefcfde8fc107cabc04e20727d8fc3c395827064eba23f8c94257a11e05ac948ff6fa961adaf2cfd4343214bbc24a02b95f86ba371c0def50a3ce6a945da58c20e1351a58310bc83bf2f8f2638672b7540c3558a425e3d4fd214a74fe62fbe684d7ee6a1b4b61ff67cd2ade4dd681079a85904baf43c5f323856ba21d384ab594aaa765a671199635b09a189920991222784a2c190764663c190103f483eedfde2736f52db6a7dd7ab8c1e625296b25c793aaa - -COUNT=16 -L = 2048 -KI = af3a0580354515f1c289c279d478cc7092e39954 -IVlen = 160 -IV = 4ab539d63db09fc784563aec6c2b4ef9a12affcc -FixedInputDataByteLen = 51 -FixedInputData = 30e63cb550c265aad861b1d159a94da9d6fd569e00cccf8e5e5969c703c330f0a559c0a652a4c3cb84d979e4e68d2506dad7bb -KO = 72875c938a36af041f68cfad8d0487776f94c417da49a153032ae7ec3f0e7b700d6c19518c59e1c3647ac197b44d80d1d8d2c641deedacc027808836e8fdda36d050f1182c60aa87213b97f4fbe430049222e5222f9426560de2211917eb2c495401fd092717b0a0d3779a5e549d55663c4bd950f0e50effdf7ad1977b2d29945b73d941b1afff0fa2e204ca31155ef6932cab38eae5f0adfa7e2c3a258f4432a00d98b6fac71b612af7ac5cbb3420a6c81f001d4f9f4e6b7c0ea9e7644a981a67fc19ad0d2d265cb9b4697b47de4177c5c0f2682fcaf43b9cd998e55698a33075de5cc5b98c55f8db40204870e6886e7b095957327daeb7ec18f99d79ce6e92 - -COUNT=17 -L = 2048 -KI = bcba7ae2e058c4da77c54bd92e9313c23b46d6a1 -IVlen = 160 -IV = 8eed1f9ef7b995872052295dd8ae18f2ce835401 -FixedInputDataByteLen = 51 -FixedInputData = 86aafab32294da9f550e6bbbf041ee0ae09873d159e0207316eaafd7fd9d8c82ad3545b4af7157e8cf6c2329a83e18a5bebda9 -KO = 8d1782d2d3ce4560ad3da31e55c7499e3f18a13c2df14797e66fa682871432dd98ba878cde3026cc60bfe9e015b8848925559180dec6adf91830588b51fb17f774b50d2f866cfe9af2454090a7fadd41fe34ff023c58abdfc8c75f57cbd3909bd22a8a1422226830855980b794ca0aad8ce6357c05f3321d5a1129af15e507d39054b332a7f4be9c5f509e04b6a2ee16e1fd6e112fa20fddfa2e1aec1aa728508b93417ec965c0e2cc018574e9b6adf5b8e56c1a02d4e948e70942b3958bd895bfcebd27a3af27554e500e3b3199019a2469361c855172267f8b690783c8b2aba07561a9ab9a7e204c91039c7d5fdf325c6fb8e2411ce556faf8c4e62f91e1a4 - -COUNT=18 -L = 2048 -KI = ed5463b65e237e8eefc022b3c13ef9f7310509ba -IVlen = 160 -IV = 2a691be4ac818a8b6409ccc382edb071f7840d04 -FixedInputDataByteLen = 51 -FixedInputData = 9a38fc497f57f8247d04c6ee29fb5dae4ea8a36123c2558b92583c7b9e766aeb7ed37d46485c4591e2a6514bc5c454d1243e1c -KO = 826326e8d95a3d4d4ca91a8c116a6df9f83e7f470a04fb358c679209fd8389032d2179d632bb27623afd0fbfefa10c2b19bc93a337feff04918a36464bfcdcbf989936a1c0fb1d5e8b89e117e2a83dcee085f94aaed403d397c5b025f0f8d550da09759cb401f380a05c218e4eb9b9723ff5ba3dd45e0155f77ba24ded6b421258c8c7a777c0e438122bda1ff901033995e1d8fe29451557771bc41db0047789477181d957ec8bc7a884a7498f0bf46756c3f25bc2f62cf6a11f824b4b1b2ae9d442fd67ddb835357388666ae429913222fa994c635e9ead8769d289af18b76de56b7c42e9895902a3f50d424e822848e21c19ab93726fcb9707fd9defd5806a - -COUNT=19 -L = 2048 -KI = ca02a716dbcb575182c2145237b9ef0b78e1b528 -IVlen = 160 -IV = 5f7b45b0d1740f77a57b05b9977e8376ef2ccd17 -FixedInputDataByteLen = 51 -FixedInputData = ea750594f66f3b64e1fe8fc9881956a8f5919c765c9933c01b892eaf670ee997d9b1dce23c0ec5640d28a6f1a1b46487b0bfee -KO = 519a5f9c703a75ed83ad980721093a6224c0ef7f0e27b5b0d2871409f3ea50d0f8d92b2c346c7a7a11aff46b1a036f58287d95639962a80f7868a159e457c1fa6209bb64bf19fba924151015e38334fea71793395cf671d7af28a9ba0d0965c829f846d9acf6f6a634fee777d4368dc3be5a3229db2a4e0dfce78dfabffbabde3c07eb9d2a1e894fc7c4fe52356e35511580312b90c3a4127bdfb9c0fbb0c26479fd10e8e9a46bcad064b464102634271df78577aee0f78d9f6fdda2301de3d647b296b3a80a25207d955299260d27786ed9b52ebf732ac81c28abef7b48b9b9c1b3702ff0f90bf89ea94aa4e2c01380f9b312002c2afef864430990265218fb - -COUNT=20 -L = 560 -KI = dc500f78780691e9ca7f46eadefb55bbb4d1b2b2 -IVlen = 160 -IV = d771944d59adcf02c6df27bcb852c80e101936a3 -FixedInputDataByteLen = 51 -FixedInputData = 64a509fdfbfe62bd3300604e1835a01d2e85fce3a3e9bea6da35a9ac0df1265465faac95d00a73cb7a00f9ce8452dc3641bd1f -KO = 46e12d67215b3042b5b7cea7d4c741370b1a4ae4dd6a633245031f1f14c11d2c430c03beec2053e229f384aab36f099f1ace393ab7e0c405b03f26567dccbb5bec71ba2c31d8 - -COUNT=21 -L = 560 -KI = 468ec1b8734dd8028af7d7496ba1c68434ff26f3 -IVlen = 160 -IV = 5a02059278a85eaf9d40c933cc676372a6edbe69 -FixedInputDataByteLen = 51 -FixedInputData = 4782439fde322f2b219989b974598e537aa1b9e1cfd2b20b10b952685782831217ebe237ba75e903fe49567f477ed99ca3f0d2 -KO = c32e4fb02bf14030866b9d3520321cf596ced3ecf78d072df9eda39e003503a9acb777c019ed72132632bf4602d61d3fae4335e7957798e5b64121de7e35589436e453134db1 - -COUNT=22 -L = 560 -KI = a6fdfef8807cff12ad1ce735ed7e9ce05f81694c -IVlen = 160 -IV = 1ff06d1d3604902c838c092007520ec12dbc02f7 -FixedInputDataByteLen = 51 -FixedInputData = 067477b7b54b2dc213aa89874ab8fafe9a0a38c27aa07c43ea53acdf686d25ebbdfb49dd05667ceae90797eefe24d320b6a259 -KO = c3bb2054571eec96a1a5a41ee37501e1722b4426b9c2cd6b83546dfd6e762fac8bafb42bc2fed9579090dad042332d81160b853af419dab08e4870952a8c7a2088999a26ef26 - -COUNT=23 -L = 560 -KI = 249c072a3224c575ee8d87da38db55c343c33671 -IVlen = 160 -IV = 024412693feddf9b0c66a661826461b5ed2e682c -FixedInputDataByteLen = 51 -FixedInputData = a82fd31260972b51c9708d2f80e439c26a1483d0f2f98a4f51ee20ae2ab5a04b9da2c5d3835da788c8b9af36de518c7f217bc1 -KO = 627a69c9964e32e764b60543656e7ed9ca6c342b9dfe1593cac976b901dea21756d466114cbc155f17e7a5068249cdffc5be9b9684fcbe6c9a1b391bbbe53a85cbcdaebe6398 - -COUNT=24 -L = 560 -KI = d4c9bbb1c9b865a11bc0f70c948a15f272ea657f -IVlen = 160 -IV = e69ae8a344d38cec976e64281cebfc7ef9702665 -FixedInputDataByteLen = 51 -FixedInputData = 08edecb0752a5591d032cc8e202a17109aaf9ddf1271531762d5e4dee62f5a789fab4082dd6401177e6a79da43b8545cd2a4d9 -KO = 2c9888b6d697572ab421744930680fb7b47644c6041f4bec52a0f8df6057b67b0ab1a89cbbab076b0ce83e2af6bcac95632a3d224e1ce5e8192207a7c2923f6c5438dc1b2aa9 - -COUNT=25 -L = 560 -KI = 63f529773e1526fbcb90e3ce24a90cd56447e40d -IVlen = 160 -IV = a0e754733e83053d2d72902a0b5bb66f7f074369 -FixedInputDataByteLen = 51 -FixedInputData = 606ecfcc62cd0fad3ca7ef34a8c468dc31072ab23c11134f124e4fb6be1b0df12a58b3d865a5aba7c6c2883e36787a0d29a091 -KO = 5e23e5682d862b4df0e3c5e82b370b1b724797d788270a0545e91d4cc1595b2182711c3de3a3a71abd01dde3bc5d3052aab0c58c9df7938ebe4a2cea2d8b773415f26e2175e7 - -COUNT=26 -L = 560 -KI = 254b272db298304aae9fd826687c28c608692329 -IVlen = 160 -IV = 7453e34bc0dba7a12de5f2a7414bc1430e604ba9 -FixedInputDataByteLen = 51 -FixedInputData = 27de79cdc6117f7d0ef8b2ec864cba9adc72359a206c8ece82dc930dc69485c9d126634c9be757869a267f1d2ffa7f39dda703 -KO = 99fea90b54080979325ee057a60ee12441ae20f1a0fa22508e9da243ec6c3e868ec4c4b8a85aa79b90ba7aa1fb99f201dc74119bc49cb93035f987fa20b5be6e7fd5fcaac2f7 - -COUNT=27 -L = 560 -KI = c0b7bcf00ca82d3024f7d23af4fad136bd5d72a6 -IVlen = 160 -IV = 2394a5bb6c8d34d264cc06c85a752f255eb0b0fc -FixedInputDataByteLen = 51 -FixedInputData = 2ce91382c59f17d9d843ed0f03aab347fed75d928d70a92429d2b73a11e98a1c8a2cfac82dd389d2baf3cfbbf6e32ed800c6ee -KO = c8ea1ee2a5edd2f97a72c5d04254eee8ebc96020a982fbfdbe5e9a33140d14c7043b1a55d102b6a98187cdcc579ab8fe3aa3c2f66c1857c841fbf7b485211cdbbf443cc08fb0 - -COUNT=28 -L = 560 -KI = d23417d71e4a8a1d0eae2b8076b4ec6c8aae34a5 -IVlen = 160 -IV = eac8890f2bc7343a4681889294c28a12bc70c564 -FixedInputDataByteLen = 51 -FixedInputData = 57591a3bed9b9ea6b52bf85f0adb0c4b067696521f4987339b028b00112bf5ab381d2a5ca7e3d0daf05a5ea4912e57e60ee0ee -KO = d99a2f042d61ea619ec60bab7b39822e4556cf0b200dc34d8a82da30bd9b6b5a0405f2293d6406b6674084e112c4d6ee8d8ec17c28637b9a1c40ea0e85af758097a731efd758 - -COUNT=29 -L = 560 -KI = bf46c79bb8fe7dd4aff873dfe8687c083585e8d9 -IVlen = 160 -IV = 76f4355d5063000354bc848d72e74f1407283264 -FixedInputDataByteLen = 51 -FixedInputData = a8c20481db1255da6a2945969edf3e598502d12267e110f65032f8dd95fcc7c95795c5bc5d9f51cfe6f7a513da11413847cc07 -KO = 4f349b4a08977c9e2e3b87bd73d01819af08fe96feb4f3b32b9bb994e581341c8652c334d4ef3aaebd44f892572a7a13f96f7d183bba1a156aa0e9392ca9327bd4119b4eb6a0 - -COUNT=30 -L = 2400 -KI = 32f011aebdc2ef313d6fc0d4e0128239e8ca509c -IVlen = 160 -IV = dcd963e3f1e4f280298456fab5b75155dfd50dff -FixedInputDataByteLen = 51 -FixedInputData = 1c7ad624fa90888d0c47a39d9c7a4e7a130bdac6627b7ffec58f87d3b0afa62cd4a83335a5102623621147e611b966994425a1 -KO = c5abe0afc39a7841b52974f05728665ec155fbc4e040dc6b7ac9c179449de950109cb351ce58035023833f9728b4afce26b060adb8fee36817177606d2c5924c88242e1ef1387d0eaacc4aa3e7c97130ce7036e3d8cab6559cf204c43d42bfd710dcd90263f68c946050f568f0433c77ae4a03ce1e5c5df18eb66bc76869f59077adf3fa336c2730d285442175e89860de5db013bbf17ffb4706a2c2d3a2c7db99f83d795da160c8c998b74b232af48483f44694117862d32acbfba220f7cc879b187d3b6564f070862be6c20859094df85c61de877a75855fdedfc7306209124df1076d3899dd73147ff12f2cf7974d5e23fc0801980a45cecaee12574d07779a49a2b7d7cdb2a828d7aef7e6440e3c0754873cab078bf45cbd16f887ca848b19a2f1e76dc47fc73d82195e - -COUNT=31 -L = 2400 -KI = 59e0fdff6a97647bb207c6679eba0d3044bf97ca -IVlen = 160 -IV = f9c5df3131849ac954f0aeca77a1e0f093ff2bf7 -FixedInputDataByteLen = 51 -FixedInputData = b07d1e71a6b2b923497e0466c50ca70f178edfb8cf0e084a2a0ed2d32d4f39b0b7a4c553f580d1c36f68162b36200411e34e92 -KO = eb83938771bbdd84254aae60cb43c028db8167b8a090d6ac6cff532d7af2c7a9c02389106f09f07bf311b38c53b819c797ae1ba05843ff36f5e249de56910f2f35ef8ac42702cf2ac314cb9d1d4270c9fccacc6a8fc6df19731eaf375079b3b961f935576532b0c8daff1466851a9ddbadbfdec71d580fa8cb55d27609c2d945aa84b8443fd06b2ebb9e4e8da3555f75acbd1f1dda577ecb8c75bb861911091deaaed1650b78b61d7811fe96fd0f76928947f23596012fa75c709ec3b8f1fff2afb471203322124ccf875c3ccd2f3bda628825808415f9b7cc31366f9625d1d1a1278ccd319782d60cdceb4847f66db03144ce4f2cdfda6c18367ec5acedf09d5f994875fd30678becd7d48c721a172e4ec9ca4d728895f276f727c988f25e2806208380203543b702639ed3 - -COUNT=32 -L = 2400 -KI = 4b682867554f704622833b419580b96390141215 -IVlen = 160 -IV = ac64453281b9242c1248360f614afc3c54211657 -FixedInputDataByteLen = 51 -FixedInputData = 27b73eb1633d8b08d19e9b2564e9b6af70ca65d504d5d7e64ad8ecdaa05b4fda2d3db81ad99bb2df921a8805d9f317cf99acc2 -KO = 424293157c3174486a9a1aae128a6d2eeacddeae33d8031456a95823f778ed436e4228b1d77de23aea49ba41a7956bf04451f6f9848a25fc96a7176b8fa3b938b532c5cdfb3591e49bd9468e2ff006867cdc5136ed73b0e50611320cac20461edf86d82dc96c10b78aa5e0ef98b0ef139575fa2b8400c622e3ef0c3d2b7d9ceb6147aa060754dc5faeee0029053e67978eae1eadece056d87058e687bb28ba432dc6f8fe00a7d966f6c6e19a70b91c284105f1d080806ee1b1dcba1c03994cdfb6d39e6483be9845ad0d8083c79f2db449819ccb3ccc87d153ad3a4e9a85307c19f80dbb451cb8f3cf2f627c9a23080d5e53f67680722eeb0d6ebac50664430384df6dcc3a9cf70b8da2583c3f9f982e1c8d109496601bcac20de6a3474e5b05710339e0849ce6d4aee0ba25 - -COUNT=33 -L = 2400 -KI = 3a557102dc85ee2cfe19feda791bd344938be238 -IVlen = 160 -IV = ace30ade96ac1815c0772d8b6158cd27ebb8a245 -FixedInputDataByteLen = 51 -FixedInputData = 3d4370d0177f5c679c8d1399343eafd5e0b431a90515aaf0e99ab7c520561033d6f307c2c009933ecddcce08ce639679900ae0 -KO = ea2340199177014d9e5eaadf2cac0b454f21204723a311bca8df53b62eca444099b3e35a4b07ca2a211ccaf2a9083c1c059871e63932526d88b3390d6da46b9ad7a9f1a887c2a368ebd90a0a1dedf799b011ee4cf9a6a32f8314d141095cab23d77fcba3e46ee29df3552488fbed28156e9541a8515c3c0ccc283c8a18363a750da83ecb6d35589d6845e045509d85544fe28cb8d0318bceacf4c6b6af7d44befd125a55823ba54e2ff8271a8f3426adadde583f4ea351d70039bc728c65c73da779589ab710609b3d1f76954df98fe647b356d559f0ed97b69df98493c8512bd3c1dc13809592b742287c4bd7907ba76a502ce5f8456a9533d2c5ea6c3cee802572318a2b3a82c48c76f2ed8b6815a5947b8956cbba6c2ca15ff97472a8fbe3e8c62685f83ee486ae2cf5ce - -COUNT=34 -L = 2400 -KI = 455ebb9131c02f70e44c292ec71768382de10328 -IVlen = 160 -IV = 0a839bc25fa380b82c3b492dded435ab57f92bb4 -FixedInputDataByteLen = 51 -FixedInputData = 4fc713f1cb99a9f23772616115c6911dadb606a028e237c1448f09d79b8dd29aae641d3bab9058e710d2b010cfb0bc488a13f6 -KO = cfa0ab098a14178013a62abf6a58a9bb1847006a1d6374ba899f8c51333b1c7350803b452643d6cb227cf2e9e54f2527e56ea98e744782243ac4a10502b5d54e98c7ed41805ed5494a90926f7249c7655ae12b8d66fc0be9597b67bb69e7007b3683fb4c0d02f9f0bbcd7827281596f631867f42106cf48707fa6aa62f74e7b63e29760ede5f181c09ad3491f20b42f7fe26aa79308c5c1b90d8d5fe2ae51b26ad24ccbd65f26a5cbc50923ee1f3d18e4c44086857d85b0d0826d1a6928305fc1ff3f1ac7ad0670a630ec4fa392e4be8ffa6401f3c9fd8d135e36ab3c72018b0c37e06d3b3168d6d95a8d5346396371a9f0cb7d42dda26fcaf291001f909164ab9f528999de06abd9936d392477e43be7ad11d3ba15d535e9af7f24aee2960bd7212b4d84ebee4882bc30f12 - -COUNT=35 -L = 2400 -KI = 96b6c93602020a6a5ebe241c38879522902c5e81 -IVlen = 160 -IV = 79842e2c5123b810813ad8a9932008772b3223b2 -FixedInputDataByteLen = 51 -FixedInputData = db46228adc21380134541ea10c750a1464fada2328bcd8e2182bc828b00394e19beaa323d31310b74b571a17801c5470b79f3f -KO = c2a84a4c5dee0e14d70ec47f0f9b59005460257e053ee736a6ce283bc6b4960ad0bb396e182fdb8d4acc563e4add7e0099479660d0e56601a681fc80703f2c964a5c5a2928299bc23683b09006cf7a3ffec0e45967730bd1fa5d0153efc0ad90f327ff0c605beb895025c3d5f1f9763f6a9577923681f2cda4d7d8eaec10f043b56f2dfdb552f5cd2fd78f8d0f401c1a1fb80a98a005d09258e8e33d99b8da723e1febefd89237b87b00755b171671db05f26dbf5dcfbd392c50233207f8b46ab32671a897517e35f3fd179e8318fcac7395c5a10d332f6aec43f754bb0a9f1f6505f19fe20f410feb8d6c50e26136871ff0a70f1bb562e7d50d8721d30942769ec96fd1a9bb73ae0e0565046bbdec0743c76e461a25254f5da3db19db783bbbc59dd36c05889a2b214e5867 - -COUNT=36 -L = 2400 -KI = bad1e8151c8d5cfcd92d8fb685ed2f796c6c136d -IVlen = 160 -IV = f9200f4b6686583de3a91eabd09849f809fd2ac6 -FixedInputDataByteLen = 51 -FixedInputData = f4cbb87c962fc635d7f8529baebb8ceaee1fe25e6ef077d81f73511cbb90ad191aef45233f9768d1c40c81ae0603fd1f347077 -KO = 4bd4cec47c2e08287873e53211889093d3639fda5da84f356b0139d9426e84816cb86c79f2c51863d4ec744eaf06aa62650f4e33cf0326216df45efdc4da855d391e9d00b58b54e11a20a6a0f90a03676bc96db99780a19de5a9f6503ff7e486e33f6efa5f10b934dc12fe31110b769721447bcfb4b578a1a3e2ce14f52f34ba5e7d036a3df777c4a4dd44a1f97f0c82ea1e79ee3977b9f0f9e417f18f78e02b24e5ca7dd6c40f9897e521bf441f2ec9f2264d26e59e70c580e62878de7a04a4412cb33729a015346d07bf21af62be5d6739b0ea0a2fb8da2c10fc2f38ea30b1641781a1f115233d2cdaf045a846391f5f18235000b28d4a570e512f80dafff701f3a460659163c53ca9414f410d0a5da0d29b33af279c13e5ec078600f54c4f2bd8a16160bf1eb979891168 - -COUNT=37 -L = 2400 -KI = 8bf4bfeef54c894258bff6e5e7777c5568f485d5 -IVlen = 160 -IV = eb4530b4e6064cf60324559e2d2a331f972e492a -FixedInputDataByteLen = 51 -FixedInputData = 70253fe14be38778c5c751ec8f4d49fcc9271679d1a3244a5027c417df858893683553c9a1b2c98e0e48c390bee8eed22ee0fa -KO = 1a863446271de1f494d1e9edc4e46edb4f982fb541f67306d4f15f89ecff1348899aa7bc45701088f7256b9034785d7ea67967037120fff6a5725ec91411be69a11a1a301d9bb9b31834b8d6a712b02b497bc6c5943bac355371e149282d8e7eac75b81844b81c6b4ddea8f258f7f34dd1f335af1ca5a1ff9927f36f152d4a75ae27d550d8a33a17cc72c5aa77885c2b886082cec951e4a03606b6aee2af197df3a1d996d60bd8f11ac210fad31863a9238fc37ad2508f6044c91da54ca7c8299d5d87d741068ef82c4ca604533fb3fe177fccc8f4bf9c35faba255d854c3391ef908334a923cbe4a86dc76b05521510e1b85e18d59c6ba83d648c7eb6bafff885b736e874b08a9bfa43fceee4e135dbc290ff879fd1b839f946731a72b118931ac9193864efc184e68a836a - -COUNT=38 -L = 2400 -KI = e6a8edd8f90997766b9a2e799b49040e86b76dd3 -IVlen = 160 -IV = 566645e21ad4310cb7b0579b2b2ffae0297ad666 -FixedInputDataByteLen = 51 -FixedInputData = 74a9abea432b1f5345a4d312b932b58636df6b8f5d81ac6db2b884bb0ab278e2cc51ddbca45406a695d85c54ed0b1ba8c9486f -KO = 00efa755c1e0b441a5d5db5de61b78007f60dc5a4671568880fdff7771b584e59dfb62faac516eb03744b770a060a92305acaa59383942116d82c1deded13ac261a4712cc35afc4eea97b746202114c6891e46f60d175908461b83fb465f8d85e2bab00199d8d69ce1c2569e0cd93cf8d10dd46a52dc2fe5d6a0fab642bfd4575d31c819fbdf9213d319eb0847d1e08356c698a4aa0f4217d63c19f85793ca7b08d2a717d57135c693361ff6b11c98232899300ea2ffa1c390294dca4b64806c93669ed446c874b164cdf16d5a14c8f373d89cd852ae5fbaebc64f31aba31453836a5dcc00af536ae6a28c2a759f6cbf9cb9d007dc780852630f13ddf6d75ccfc4cfc974eb7e77eeb1eda846b4f6be7e1f2c766d0e11476f6ae281ddb0f91f8965ec5804b545422d761a5528 - -COUNT=39 -L = 2400 -KI = 0682f6c1af8b81b0a9bb9eb3685b834bb71b1f44 -IVlen = 160 -IV = f70d0c3b980945dc62af77981435e80549623952 -FixedInputDataByteLen = 51 -FixedInputData = 9a416cbc999ade9981bde388fb445676ab096492fe20411ee23fad154911fbad59d61f0c5b4e9870712b236effb70d2efc96fa -KO = b2b36d8301b9c074210ff2277474bb74b24c4b0f5ce2d9d3555fc96dd1c1df54fbe4249f00ea37354c1895d96658285a4d35a102270712bbfb4c42e44e8e5dac1dc3b07fbf46fe364c021fab872baf775ccabf8c4e14efcef52501fcabc931a7a4dc1367f1a68a899e09e01c954e31d9d84166360dfd713b30a477ee901dc1a17ecc55e8b4a983699e4eb5a16b44266137ba29792a2296a867a47d9734df826d8d1694f90019aeaffbadda79ae1c7e05865f0ffc4042b3627218dd5eae9be30bed2f6bafeb19f7c651cee32f23a90ba947ff584cf58ec4926628100927f87d0cf12a7b2321aab774a6e0d93a86dfb18c2c72931945ae626098effb93de92df45cb6b61b2dae4d01826789b95a4e1938f832af95563f80a38a623c82d6ad98e9a2ff24a0ebb6ace00fb3fa0a6 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 04b38fdae083968022456794a86fb88ec74f78dbf7494a22d25c629b -IVlen = 224 -IV = 725c4b26a602c7638b3e0a2d0aeef6444a7b69a98a42b6bb7154c685 -FixedInputDataByteLen = 51 -FixedInputData = b50f4ff45001951db861278d424971950376394493c0207647c51edb54b4789b2b79b5aaef61ff7678bca8ce8e9906bf75c029 -KO = 536a56d6a01cc254fec97654f02e62ca5d0144d238558ded079ac66cf7bcfe65d9692a34c5efb986159305ff1c49ae6565061d75377f43df78eaf0740f5c2192 - -COUNT=1 -L = 512 -KI = 9e9505ff10dac0833cb3c1cc3193a48eb33571bffb0f0ad5794dd13c -IVlen = 224 -IV = 247d38b638197e6c28d14c7c3feeeb35db95603c1609604c4b07d0c4 -FixedInputDataByteLen = 51 -FixedInputData = 73bcd518cb9bf20a2e624272b73d1fee03861823d3289a2c75a0064890d75432f2880830dac041fd2fad47b6f4f55942899513 -KO = a0dc4678be6caa30f60384dd72f476d285e906e00821862637c421829ed98591bcfc82dc9f4e8ba6627be53d9b649ec411567378d1f4d14a2e1300e300d26dfb - -COUNT=2 -L = 512 -KI = 60a55230f2b1776be07d1221e06d8bb2a38ba26bc6c065866c2471cf -IVlen = 224 -IV = e44dcd899374017b6355611af71fd768afd46c7d1f0cf72f85f2b3c1 -FixedInputDataByteLen = 51 -FixedInputData = eef3acd19c9e11d892f31ab7f7452fd081827643b4f0a370079b09e0db40088203815398e6203f8036b0b9ab1b5c540d364d06 -KO = 090507d2323eb221da226312aca6f4827f6dba6e1a3eadc818c4f5fdcc8ad80ab13da7114d86f9cf710cc1e3b40af68b8a0df33e5775215ce8872b7504628360 - -COUNT=3 -L = 512 -KI = 84b7236ee7fba1f9fca7e7a7657fcad9179f893cea5b263bbf998b24 -IVlen = 224 -IV = d17807012573a18bfca385924f22328cb40cbe4ac66a022be7669017 -FixedInputDataByteLen = 51 -FixedInputData = fd134178c31f1842c32f7bcced418e82b8ab1601a7cbdda05dcfb18d52db8918b253edd65fbb5dc52dbad2cd373d45f7265bee -KO = a2c2fc4eeee4b3ac0794d6d2b8bc24149aef8b3f68f624e8ff2adf3d83ded9f47c7ee981a2a9e832a3d284648d9f4fc0d9bffae6c493776be723b2d6574417e9 - -COUNT=4 -L = 512 -KI = 4b2bcf3cc8ff2f6fb37f577e29b3e251db424bbdec0600d3ddf77eb6 -IVlen = 224 -IV = 4618cda9c5ce5c1d83dd7c17414e36743e67186c25ce353e57938d45 -FixedInputDataByteLen = 51 -FixedInputData = b45dc40332c6a8050979502a439d96abfd15e36e7dfaf33f5c4c7f9a8d0195e4d2eac8fec30759ef3d4ac77e95bfdb8befc83a -KO = 91b30b4292fa220d8056991bff5b9cf5a89d8ff0c0a29b3e9821d2b061b959c160fef9d9245e5e92bd773d2b4282f7156f0ea00f29fc2dd7ce146245e9b0b62a - -COUNT=5 -L = 512 -KI = a05f63263b569942bcde94913b9f64093eb40a64d9684e921be0f79e -IVlen = 224 -IV = f6ece24624fdd210902803009af0adddaea3fe87068cbc7bb3ed95bc -FixedInputDataByteLen = 51 -FixedInputData = 96a55f5305f4d5ef6a983e95561f788507e86fbd1e0a78e53b75241ba4a597e506c1b6afcc4d56bcac9070b42702fed903b537 -KO = 4f9e9fb9be42c27408309a844c1b63640d2a8d047a728c52059a4f11a971dfd350b630b2e182fcab919a7f1b5bb833e88feddf3ed48cdf45b9d6a9da0f565f3e - -COUNT=6 -L = 512 -KI = 1e27ac5aa2a4008d129c3fcde4c1e146222d7d1963671ca915de90df -IVlen = 224 -IV = c26ed67ce4f59595df051a83130d7963f0a5e9d2c399626f641ac897 -FixedInputDataByteLen = 51 -FixedInputData = 04eccd8ec3a77721ea9f50cd045f7ecba2bab75e9cdce77926bb71911e3f4db4179607d12b4e0786246a3888f277dd414bb14b -KO = 25b9146d817bd7b8b4fd1f374ce4a516f6e9ee605f6f2829c678ad469fd83ab7a5abd8d5333d909c8c0b3bac48e1dc77ef46311eef73379aca4628e5a3d2e732 - -COUNT=7 -L = 512 -KI = 6088246ac7c9f1cce77304cce2cd04cc06b5ba16a497005728941598 -IVlen = 224 -IV = 90dd3a54b4492fdbee704cdbf88db47014418a77d5b96df6bc10d440 -FixedInputDataByteLen = 51 -FixedInputData = c32e8b2e864a52e127e9c20640bd04942243a3bc15cd12ef2c795b2033b8007933a044347966748d991223d51ac56b8c8f8551 -KO = d16613fc8b201b48b3b8464074e5fccced28151319d7fd6352f00992a9b6d3b01fe2bd88a560d4bba3dc3e3b60ab7d7764532e2f4d10dfd7acf03a806e03ad4f - -COUNT=8 -L = 512 -KI = 2ddb9e6a9374fc564ede4c12d1a1adce21e2f674bd6ebd1bea5fb938 -IVlen = 224 -IV = 832fbba1afa60c556fd7069b79c6b3dbf058fc5d812e02102e242ff1 -FixedInputDataByteLen = 51 -FixedInputData = aab549978a55c816de2847ef562d1f32a16cd0bbcd94df4f96135b70ae7b50ecac9f98659a4cec68c9a6facbf9f57fe476ef6c -KO = f6761aca68a3c739e1c2b03244c499dbacc33471654d51418166de5c52c04b9553dc9d8f270e640e15a7e0c27dc6f09d07b725565f6c3ea5c98f326ab03cdc81 - -COUNT=9 -L = 512 -KI = 3ae15b1f5f7b3ca816f600533b19ce8f77fd616b7441539ae01b7882 -IVlen = 224 -IV = 89d2ad74cfb052f319666550c299e0f0d7270bd56bc870d3ada0c7ec -FixedInputDataByteLen = 51 -FixedInputData = 1928e74ca796ef13659f143e7b902db7a397d10dca1c9abc9a288ae5426aed0b43f06565f9ebe2546d0968d17c622ef7b6a676 -KO = 9708c9c600e081cb7ec0b79a7ba5e4634d5e1c8724d3e9f602ca350cdb7c6b11c8838cfe0e646d65c0943174aa637d3d1f05aaf0785974090693daf5608551ce - -COUNT=10 -L = 2048 -KI = 1d7fd17fd822ce7759e2da9c69d8ea5f749277901537c15782573263 -IVlen = 224 -IV = fc02f5ad57b04206c2f1c0a92b38bc0437b0da899770c255f58ff15e -FixedInputDataByteLen = 51 -FixedInputData = 1791bb662e7e42a76599ebaebadb56275d71f6a47cde28298925e4ec70373527c641097cabc944591faefba3361c9356b40437 -KO = d2381963801398614a51e42c1ae6737239c9929815e0f7f0c6f7e31aad82564d0eaf3510dd3689ed79ca97f8ea1a3709bb512e7bfcef951f5987cd083bb5fed7e446d506a44517be555936aefada160489cf107d4baf197d5de42049923068bf0b094fc6f8a75e1e72c25758ac86a2899becbb4425235d5a25a1ba5db9dc8eb250c5f11f3bb47414c90f499a24ea9f0df9d5e382790881d8332c046114b74cad20ed61574cfdce3b2a2eeb3c546fbbef08e32add0831999ed4b61fb9c72b86f026c493d68428b34823174f1ccfa0c4d139ba9dd00fc308faa02fc2daaa0fca3accf82450208f21ffcd476b2fba44b7ca4aa1751d9ae848d1a0ed2e6a6f048efa - -COUNT=11 -L = 2048 -KI = 6bbc1ee0f6b542291204b5f9a4ba8f2c17cb591c5f988e3a6516aae4 -IVlen = 224 -IV = 621cc21934499c50662d5938249306d59cee02717ea62b1b4362a0cc -FixedInputDataByteLen = 51 -FixedInputData = 1824fe6144ef4db8bef017e681170eb1445a2eae2394987532a070a76a9618d96c1bc101bcabb4c82481236012079e069f8431 -KO = c144c08d4d033a3a1198f2bae8aa5312e00d7f96dbbd6f49a9435c6feb709af3099bc2de3f195b6468445077c3e0628b954eb2ca5e288b1ddd5192d0a2f5ca433f5906dbe7a4a27651dd2466f023784e19959384bb653e0c26c658f9df0cb35794706e117cada2e063e1c4b25f4cdf9b3e262653332cdc7d6f79b37839d77d53665ee20095ca6798cc8155db58fc27dcbee4335d6f82f5524d7f136976aed3e93aeb1be8d5200cf2e1b6be22bda2cd5290ca495870f26a34f158755f29bad43ae9df0cc43dcea8380eb7cf99d830865e69f22fa67ecb32d8434b5d4ceb75d5556767ec9ae78aaee59efd9f37cc90ee98b81da5cc43d6428c7a2d2feb54723c63 - -COUNT=12 -L = 2048 -KI = b3d6158b6eae5d52bde8b9422a74bef6e7027938df6f52c0b0bc6989 -IVlen = 224 -IV = 8efa67c5185cb469bf288a9254aa961646d90aa264f0e1224c076a8c -FixedInputDataByteLen = 51 -FixedInputData = 2dd78ccc49e34d3f1b82015852f6f234dd3678d465bcd0bea34b4cc84ac7a5117421668ee7dcaf6235572b2fbf4a33f8d74e83 -KO = c8c6f0498620394f9dd1e8f89bdebdcf6e540f26e1dd190ca252c531e577f7f7d3ff0fc010f7a4dba15e56631b3a53f1a4f242aa294a7b4dfdba78e35da5da817b30018d647814d7d9c6165ad4f06d8a308f084d04d54cfbda3cfe9eed65759b3dff927e6091711e07e7998c1fe5ee7a970631183aaa136bfd62a741721b228cd10b6a35fb3784b768045c2e6c014c398e5e8ad23186c991925d1d1fab45e86a04708045a661ad934312daceab685ce204868cd947f8797f262f4e5a2b8a1add674b99a0ee31728745ea9085f75ca64077b169ba9486b9f0675fda899a1c0c09b1412d83a08be3972f6bee0b84e356378eb4b045d8d68835c1efe40090ed9a44 - -COUNT=13 -L = 2048 -KI = bbb090f8c0a5bdd2941318695b9831a559c518a2610ff6f4c6c00a5c -IVlen = 224 -IV = 9cdf3b592f8c190a102747d3fba01a8b56c22b3087ab14f55328485a -FixedInputDataByteLen = 51 -FixedInputData = 663abda7a80ed2b23adff1ea7b9233d16118551de341a2592fa1fe142466aeadf6d63794439378e0b7fe6d294f15d49a2427e0 -KO = 89a4e97f40af294045b9dbb57aea7e372a28ecae17a130c28cb34097fa8f9d3220d4750d4edc3cf569fd1e7d3d37cd1f097d79c9a1b7e0eea385bac4129bda8b35ef5d134d629ece6c71b43e5c97816945e3c24d2058f0aa1b4cfb9ca4fac965a0464a58fdc954b7923fcbd7a309fd10d161e40ccf268fc00e690112faa73556447fdc688b9fb2db7f826144a920082e9dca2dee586220d84935b84acd09f72810eb576deb7ded581aa0c1bdc3d41f19ffdd141242cd544abaaf210947d1681096726a3783c13cc6db3ddeba66a996467f87de664609532fa2c0755df10a8abe0097f756c0ca00ec2801658e5ca15452dc9e9f55dd9a5d734420e06e12dcded0 - -COUNT=14 -L = 2048 -KI = 8973de07b3dab0927f547c250cb144af448286e65185363a3d9fcdf8 -IVlen = 224 -IV = 88ea909b66012d30415054e573f3663e0348ee0951a442c733006992 -FixedInputDataByteLen = 51 -FixedInputData = b9122982e42957fed9f89507fade6e84dd5f245b32e1f1bab8ce13aa63275a88e713c65447f983a39d10b1d818ebbcd93926d2 -KO = d2272ca94ba73713ca6d82c65acced0e2679eee4a8d64ff80baf245c6d084f7b06d6cd4761bbfafde3f5fd8b03d9c161a6e73d30c25d58b7c6a1d754ba31ff85fe10c3b4cc33db171333aaae67c3c7b999c7353c12263070f35dec96d4393e55b4fa04c63c53d74aa14303481daa1b52fe7030420a0032d4cd418d3e582dff0c7b60ad083204b5e0925f763a2730c40e75de594ec5edcf863df26306897d8b85cc9c062c2cb019266e78b829faf1ae00aea4e325410c7e8f5e1f973d76ef56109391ac97adf29006e073683a13125815bc28e21d9e3e1bc85bf10dec4bf13d607972badab9120513a54405512f13f8326e92f1d4eae8993a6af05dd6576a7055 - -COUNT=15 -L = 2048 -KI = ddf86e4001be0df0d5d98d4ca2ad5cf1b21bbb58f5e7f89ad288f619 -IVlen = 224 -IV = 79f406718c81eee057d63373376e7cb45d48ba2ca7086573386921be -FixedInputDataByteLen = 51 -FixedInputData = 00fe497c4eac6123cfe95dc6aa74880a4a6a46ac24c908fc3d3cdf8dcb40c30eb9d341804d90b0e2a5f6b79cf95e068225d4e7 -KO = e124baa4eb7ae9923b3829949c52ac3787f51ad14f9d67818b4552077a0b7b40b7e377cc87b6ed039f1c81c336080dbc59f39dd9d9102e6c02b1441c7ca5bb6ea110b3850ab17fa092fec2a11074cc5c452ffc27c7d57e0eadff4c259e874930b5aba22d93c7e04b7cb7a3a63d9e9f67f903e1790631de092bfd9f2f1394d6466a48c039723688227c6a6b04f82412595c677b8a523db3165c9f696f13ad34492db72a176114aa348c07bbc24b4b21664dd7550f5dfc3005bf3da2cdf4831ffd89dee916ba3b657dc07d6881f64fbb6c1ff363a07da1044734e9560539e584344b756f71c6b2cb28a467a5ad98134bd03a29da279148fdaa96867bc6468b3902 - -COUNT=16 -L = 2048 -KI = 078c09d0a3e4f927c2d86b14d2032867eb0d4353e7b210a741024333 -IVlen = 224 -IV = f81bc71f2f0377ef892dad1f1445d84cd63339f3e82dfedcba624b19 -FixedInputDataByteLen = 51 -FixedInputData = 8595269ed7980e41f0f5fa259cba4def1779fe9e011aab89a89264454b7357083d3ec4db3b36b8062ca5be05ee4305d367e31b -KO = 3f821fb95358ace94d05aa23346714740b26ae815d547b9ad011954051c128ff4afdbe8274663a3755c5a7d230d8f7baff6a4079637d6f6646f5d77353ab43ec25ed3196fa9e5a70dcc7ebed4522ba994798c635b033f022ea53e764ea211fc5ccf26967a49df6c2406c6200d189caf5109f0e1a662b6c993403dc353be20110a935feee95e5431d3cc11200b7d9a30b9bcf7391a28cd10e91f3b2f6fc482dd2f2037b00e500c58c03fbdc1c9537baa9ab70033c9675abc09db26247a1939adc4b8c4b7c53f196c0e84a4c4f832cc85b8606d3542b47d2f4b1ca08b0754c2cc7e7042ed4d29c76fa4bf7f7512a7add832c4359cf95ace24f56012e44475b807b - -COUNT=17 -L = 2048 -KI = e2bacd5e05eb9c54d41ffd8287bb95970f72a74ce0dca0d069b34c50 -IVlen = 224 -IV = d1b40adc267e85c2cd2abf811e10f09f16858e466e93a8948a9e72d2 -FixedInputDataByteLen = 51 -FixedInputData = 708937e7ee707b9024c595db96b4d1a0dd935191531d85249434dae3c3fb2cd4e4c5864232a82d1c5ba2455e1505e49fc68097 -KO = 1ff46d6f00fc9c81b5dd5a17d03484af3f0501889098425e353a0f213dbef7024f3f4ebb319e14bc75d791cc7c16126d0e4e21a409d8f1f354dc467105bf38f17bf3c8b44a1d4cf710e8c9e1a0b7de0fca387ce99412d709ce48d578b9f47844a7866d560a5111e2141e5d07f5df6b416e47a47729dacb91ec551b7bbb3b7353f8967cd850e7edc760229b31ffa1c9310a5747d4ea27936afb19bbe688a1e4eb66f95c9c098e30a9cfad7506a5953075f21091eda927a6c3d505c41e786555492850587b2137f6e952c6bd93eff0e71e7c855334ddee36f346eaee95f2ea16f823fe86925febd7ac7453bedff5541f9e79ce0184d8840dc5cf222c53843a265f - -COUNT=18 -L = 2048 -KI = 215133d4e6a9479ca71993eef025990ed3baff0e1dfab954f5527038 -IVlen = 224 -IV = 58a716a94b875960f9ebfdda8efc756374d46b9171468a75e895027c -FixedInputDataByteLen = 51 -FixedInputData = 6c1362974bc7031cb13f70d4b6b2c1121d99c177c706a9c5884c244062f4f907a2b8d2fde571808c21423fe6a01431741e621c -KO = f050de990ef0e8a1e678a264818903d48c606d0eefca1031888ac8c226d50884ba3a8359431ddad0d1e6218c3a4d59f3b348b8f989762ace788d705bdd97b87d35f3072a2aa30978d7eb6ae335f7f15dbc5ca5728602d97fbb2ccdf2dec4e977f32baf21aa0354c13f0ba9b51a472e5c3be45c9cc10424b0ae706c408a6ea2830ac3cd6f2d798e7b1e7bf313fe75ce0eaebd21ff910242182ef1ca3b6c44d91ab1d8d2bd236022f7c3c212ce8be3623a85976e3ba464da74b42efcd3ef53b72ceceb2711f18685c8b94f632e60ab628a80e141eb4bd4b659d01d4aa6fdd6bdbb33b36dd880c6ea7cf4e55439f43f5b811b22c5ae6236f4a579d3d3199633e55a - -COUNT=19 -L = 2048 -KI = b30c30e22b4965a452ecd8fd6de335bcc7bf073d71d86409b1df1f7a -IVlen = 224 -IV = 9ecdf83f48d1ef368a9d9a7da48768bb59423b7f32c6082a3c40f3b3 -FixedInputDataByteLen = 51 -FixedInputData = 90435dc52dff0bf0826b4a3aec1b50de493ad3cd49f800919cca6bf9f0b6c711dcc7ce11bbcc952debdd42a9f4a133a42c805e -KO = 35dd8f26f318b3d97078618bbd59448049b6b2b5090de129304f7ed770402225e3ee47b58bc9e3eb3507644fdef813baea261c904ca648475300fda2fca1027876d2aa354e628fe71bdc78132a32c38f4f944fc02adeab533a63698560739cc50fe975b8c50ec07ed933ad982c698d06bd0cf1c96baad05130f0c635d29c81b1cbfba30afc03cb614da4d041811bd5c3399882767d9a4aba78510417f807e6c29a66de181bd8ca082a7d3a23bb347dd0402f174f57a39abe7d657a7bcb3487beb933c0c23403126f71675b9d1c3097ea1e0b43f005dcbabbd0a97f55844628a823996e28b0df3ba04d98a893150dc0121062941611b994dc2530ea097653be36 - -COUNT=20 -L = 560 -KI = 42996248fe33c1dd18949d6747e0606b5370983e57b20b3c4df1ade4 -IVlen = 224 -IV = fe038992d23dca14ac33b8f03adc0afecfba5d4b3978ff47afdc5d74 -FixedInputDataByteLen = 51 -FixedInputData = 648ae8d15295692729c3f7f68b88f5c20604664be43335ab938357ec7226dfe2301e18107e5d44fbaf6de60a4f047777aaeb17 -KO = 2d9f4b39f2803f4b226e137286fd1247a0dd0be152ebfb1f944c696ebaf576ef8a126de8b4b3768852ea9deb9a6f156791522d869c57848202e4a4c77473cda0e1deb8857ef5 - -COUNT=21 -L = 560 -KI = cce88c1d3eec4853871db9f130c2a3793b7bae777dc6da5bf0e8ed53 -IVlen = 224 -IV = 58337ad8366707c399ff977de2fc8adba53f442f1b8ad87e776eda86 -FixedInputDataByteLen = 51 -FixedInputData = 5c5a53a8d4f35342ded581708357e5defb2401b50e884012836d97bd0097d0ba2e332b4acb87d114cb7825564c08c4f816017a -KO = 28c19e5dbc6ffe72761779f1b24d20c37d80aa892c9b13efd86492149eae4579e9895181bee516394d8ced68d23220b088894c518cfed4fec9fc8d50c222a7919c77dba370ba - -COUNT=22 -L = 560 -KI = 5823db977d117b24880915ea239a6d722c44849b920036824f77ecd3 -IVlen = 224 -IV = 4c404920d6ea3103ba90368a9857b534a12c3c0f034a6875c9dff267 -FixedInputDataByteLen = 51 -FixedInputData = 4891921b23c6b07d9c5831af665f2e42385c8a7e69db4290e75146bed39860722f435c3adf346834e5f9ecfe600ed6fa8ddf6c -KO = c1598c6cad8ca109fc551a8b207fdd56707906cc75d601f19f0c287a1f055f0c626e52657a466f986b620c83d38dcb5f13c0864ab9ac4247b9fcd50f9e1c94096af885513231 - -COUNT=23 -L = 560 -KI = a35d212b98b1f9d0e8ed5f26163bc91ac1bb93614210c332e82aa628 -IVlen = 224 -IV = ddb408574d99c4ea62cd0cb4de7d64a47925629e2ab1bd89a4232e4d -FixedInputDataByteLen = 51 -FixedInputData = 52f925a2e0d3e69943f2ce4a60fd563694494fcc78ce80ae02e55c0040855ae40c069d04965e8f01748c148a2d09e451648155 -KO = 02d90e47ecce6a6a55a978a785c54faa39b35eb52db044d9a6832b1a0297920afd9289add1d5c60ee8549e4514ea45814131db92947d9aa159ae37a5527ae590950f5ce4ce47 - -COUNT=24 -L = 560 -KI = 9c9339236a680df727ce8f640fb742c53f91b840d9134223b81977f6 -IVlen = 224 -IV = 07c08b82b4957d68b85a25a034799399a6f97a82e2e1a9e476458391 -FixedInputDataByteLen = 51 -FixedInputData = 7d90bbe66d63ab4d6e9a694b2a6cf2ed0a416c88b62061e1f5ea2eea49395c029994f758fc0d1067356b4d1060fe8c7c5bb57d -KO = f8334a00dcdd8e7d4ce7a303c98eccefa3b3544707d09a66cf5114223f2f8df79f5035e0465800af8c195859a1159da8609c986b0ae78827827a32d1291c65efdb420507a6d3 - -COUNT=25 -L = 560 -KI = 706928172f8f2a219e1547c534c51758f96cd8be13c142a0175d47c6 -IVlen = 224 -IV = a152baca33feb3035f0e113bc8c4adbe41628e333422731954deac1a -FixedInputDataByteLen = 51 -FixedInputData = 48ddfcfba5136f23bf36ebd43749989333685ccdcbe0237f193b47295512b5a4711b13c6f7ffc8b0bb54098e6e24c5d429f53c -KO = ecb9ca714b377c9d9738e1d8c47096552df6e2e915ada742e30a2550b1fb7155582d3c801e6f912849f2169b979fde71e7338c363c8e3838c2b6c102669dd24d1f1efeb4f44b - -COUNT=26 -L = 560 -KI = 1d342f978f8bdb67274c02974b2b07d976c25a83802a9254a3fca701 -IVlen = 224 -IV = 5b253e59764085130fd35cacb23aebf34921e6d190553f41692d7208 -FixedInputDataByteLen = 51 -FixedInputData = 8db4691d837794b460be250601b4480e91695a38c6f83cd9a2c3d973408d2eeeac530054d0a77245ddf6ee3758b2f83957b83c -KO = ab678f74c8095ad5b35fb0eb1a8d83d0497123cebd52f1833766d87fa26ad9d69940b62ba1e799a05df94ebb8055165c6e5842a2a59aefa29e9801368f618053763cce831d28 - -COUNT=27 -L = 560 -KI = 565060ef433d839e8ffd661cc163208ac6f57258dbec6cc7e48690c7 -IVlen = 224 -IV = 3249e12a20e71505a4d3723bad2905fd82feea8447fae8938b0c4c95 -FixedInputDataByteLen = 51 -FixedInputData = 3d23fe663b5ff70306565ded7ac4cd4a9c8c5dd27a905ca589c22b9b1543aab69c8207325f66cc2fb105a93b0ca6e0a1a6c5f4 -KO = 1a27ba499233a2111929535c9eaced2756fd07eee1356e5bbd5a9caa1693b27107e352bafee1f12db79cca497801589e9de2bb31f6e71812aaded5df2abda3d1f2e6cf68c800 - -COUNT=28 -L = 560 -KI = 9dc8c15bfb03e54938bb9fa64dfac8135c30fbd63e4f7635a6d41f54 -IVlen = 224 -IV = 570673f8d692877a9416834bb4c9827299d5b7ac681d05317bd2d9bd -FixedInputDataByteLen = 51 -FixedInputData = 9fffb0a2c5fb851d5a1f8c2e2295ded6e33ff04bcc1fff3f2705f92fe82a21e2cb992d78ff127fbabf7d66231e9e91ed46cbcd -KO = f5b47ea9a836607fa019e9af9fcd2b16af548633d4547fe8c7048e72fd44c6713ca9a89e147e2788d345586cc144365ea56a452f82a5e06052c1f7c3482c9e5600f1cc1a00ea - -COUNT=29 -L = 560 -KI = a0f9d9c814260b36fdcce0b95ec599142c22c56e51ee9d3cb8058879 -IVlen = 224 -IV = 85adf94304dd143c098ce4c92e1eae2ecec2374869a53c1fcd41454c -FixedInputDataByteLen = 51 -FixedInputData = c2bf9242d6224f5bc609f41feebb92d7f67bc2d56629caf88cbdac933d6aaa75dcf8c7c5e35f6f2e5ed0519965027ec44c407f -KO = e93ca8118ccc0538d38c65e0e33e25cd211a30040778219ea9ee2ba500ba9f2b80c429f4c1e2357b32bf4edbfcc1df6b451027980c816d3cefdc0a882aade94f87e0a534c942 - -COUNT=30 -L = 2400 -KI = 61985fb075dd8278a55b4f2577825ead073db7cf74e2cbd239e51ea9 -IVlen = 224 -IV = b4c52975ad71ce266abdb380001808a34facafb78902eed9487d10ed -FixedInputDataByteLen = 51 -FixedInputData = 3d8ab48b001297fd31d55aa7b893f278c14045bff00468d9d4cdcb5aad8301a3fd06a3775a69dbc249f18149910b307b653cbe -KO = 2db5154099831ea7f93c034f703eb3bcb0b4defb6d2346fea23fa8600b462e0a794a3a0c0b922dc6bd321a4a1354f4617dbcb93b6df0432bcc2da3f4ab7d82a932a0fad53c05df9b85068b4c58aa425a9b4bdef4eee08c76add51a22bae95e508639bad8760a83311010ebd4378e1a8af6120b45bd53374f9e5a26726c23dc5e74c47cb7769c380eda7c1ffc4860d032f795075f00b3e4b2eb637d1974e11d954f9b39f66a17f86bd7632cea6cd4e267f4e602785f1a4b92f550b1d03d7ee537a72c975d1d2a605c162fb9c4c60cb706aa666403b048ab907c170ecda18a47422742dd0df4d9874fdf1e92fd6d705b8fd47e7c188f4a1c82d500b17db7330d4bc70632326fbad4f3520da80a3cebad70c5c30ad54a2ca1496ddf73c101a19e22ab091dc435e09a41f443c95d - -COUNT=31 -L = 2400 -KI = 7371bdeb50ccc3dca39ca79669e60fc46f595920066ebca5f0c2317e -IVlen = 224 -IV = 4736eef16eba8dd24d1b7e30980dd6265a8ced63232cb3b884b490d5 -FixedInputDataByteLen = 51 -FixedInputData = 1eca39a54839ed840249c4e5b61d6989fdbf91dafe399d6fbd196d9a34e1dd29dcd8c4d5b70c580df0f80833cdd915c0a9301c -KO = 4559669369fa2e80e4fa0237d5db03abc88631ba0986019a8ac89136bd28ba684a04c439d01bf073e6244d413d48495f6ac0e31dd670f90ab0404f0cca3b770703df18e2518bab246ff37bfddbd55b2635f800671ba28d70421bdc7598b4eaecfbb794135e1727ea3b8ae8e9227cff91158711896b0f59b10f40c66f3daea12a4d9ab6260d520b26283a8b7a834756ccb11beaf131144bdaeef85e3e25c67c8ba652cbd3b3aa0d9acc524ba392e5a36c18a8d1f7de7192f5fe19c033f9f4e49afe8d8000be1bbd4aa185ffa8f6bd35dee27af4c78172f5a6e371f8aa222854bd2abfea3a475f454f3a8711396dae0300b7096387c4dc811e542277ba937b50aea1989cac13bccaab7224ca0905b19155038d836b8bbe271d1dbef199ef5b421b8068c4443b32aa23f253b744 - -COUNT=32 -L = 2400 -KI = 6cddd933d25bc075edc2c1696dbfa3307dd72a4867c72d7fc7823f8a -IVlen = 224 -IV = bdc025d453eadc97e2e7742359ed048fe7257248b174a5d78207a152 -FixedInputDataByteLen = 51 -FixedInputData = 1e723b5438e0e7eb524e9b1f136d956df70675498efcaac19e1fd609ec9fabf427ec16dde523f666b764b96f38a811738371c4 -KO = acfd482e80a9413f01dfd03dd14acb9205764f462d2bbee4d633fe2040122b9cfee3fdc73e7a529f7c3d77885c6aba5a49e4bb208415606c2dced7c72fc9de5ec8d677ebfb99b9a16984ac0cdf79afb38565e52d8a382fff65a2bb10184e88112b1ad77765e381c2390e092bd52a43bea132a556b1387d35355d5ea2504c6c3859fe8e5071b7b998857648d49f11144ae6666a380c51226cd7ef7e5d61ff5a52e78e9b13d832d4c6aecf9b4907096aa707fd60a1098e68d4944edf2170008e529035f7a3b2997eb9a22b06a4786f60a70d80929bc9c436a05360961d2f07a03dd25aa5db36164ce4a778e64ceaed1f7e4a2c99cfef835edfab9aab5fc512eef5150c5841d836663bd5966d263a5ae4ebea5e078b787719b1d002a0da5bc676152854dba46e189f0e8b383ca0 - -COUNT=33 -L = 2400 -KI = 1305c73fde1c516bf56d4c8ded9b7f5feac8bb065ddfc6e801298afe -IVlen = 224 -IV = 9fb3a2fa81f9613efde067aa01ea20d5d19cb47d97bd9539e8592480 -FixedInputDataByteLen = 51 -FixedInputData = 89ef96cbb1f22324f0141b3ec6b0c040dd4c4aaecff8363aee0172c7a547e51003095a1782f557263bf49666272487760457cf -KO = e0daf9a451a5fa2620193859e455ef751990d1de21214f3c621992903df66035dbd61cd8bd20cd60aedb95190dafe2a1085dd8a1ab0e70fef075ff456719b8f6fb85e881ba75c3cf5d3ce9649a858a3b8ca1fae9861b53d3d1f1f382be6901c1b3df7cb23ae54430e28e417215b007467b36c774cfde1fc0ec91e3d5dcb126f36377507bed914d0611ab9c19834f3a8bf1cd9d0d8ba397a13d5a89a1aaada1b4d31028f0e36ec377abae4cba019ed4603bdfaafe2987f0fa06d96459970ca506e40405abb2eb8fbca867d87e4eef1924debb3917e84c9e802d6f2d57eff155f9415be2df0930e175a1ff940c20ed4057d30c7bcd915d4502ab8a102b1d04d52d7f6e11a979e2543fcd73bdd2ae88a88bb361373a7c4b261ddc9656ece3be0e5adb33aad88c5a058e6a0ab8be - -COUNT=34 -L = 2400 -KI = b657d77fd8d182e584429b8b3bf4cff5f863dee7657c693566329900 -IVlen = 224 -IV = a66d3b97482fea8d0fba3b395b992426157d331e17819bfe0efe3d98 -FixedInputDataByteLen = 51 -FixedInputData = e849cd5fa77fd2e0d7e1135b210a08917935893f32625638b3d3245eaffe5d78d3c259c280458d4ecf98406fb78466b17b6ffb -KO = c14964f9df2b4c7831da56f43c5456b194a1654a6b2ffabd4a5a373cadc4649ec38a7eb69ac561e0c578a0cd48c8fbbe942dd5ed4927f904e8b08205f8f73388b4045ee0d6b6637a2d049d7198a7fb9ac27a2cec5e05c91bec73f03bf81f4f3a1ce99ca14177a20ecd628a7d005e02a12016ae72ae6566563509bdfb131c1f84511e46399821ef8945cecd8d13d43c4c555211b871ab74ab1a35e67818b0e3169ac9c0f26550751a342a61048ef916ea4b93859731e1c56fe5619545a6bb2ca0b6d76d5d1940879b89747fede5f5922638a41ac9791a707aa83ee944943771d3f0bed38852048575caff6254c5c865c2895fc46b252833e69ad80fd8e83e3d4e758adadbbab5edeb3c158ff4c72dab26abbbf856d48c9c0d83802cebe93afc4e171fde8330c9baa002f036b3 - -COUNT=35 -L = 2400 -KI = 253805cd54817ed7be0bf7775f967090bafcbcd622e15f2a98dea558 -IVlen = 224 -IV = 9aa3c1b87c11042583a38082f82fb3d72774b407688f2a2ecd328653 -FixedInputDataByteLen = 51 -FixedInputData = 0a2cf3903b5182305eaf4788c017d7412eb1db86ad9958fd16a70b65e23ac7859710e8f9e4436aa4330d4b8df230caee4903d0 -KO = 33cd678710af8dd0ff9e1828915e4b75130baded6be9b8b3a7096c10f6d8f186b2e220e3aaa46afedff51a8d9a2c3315fb6ab2411bfb56531dda7b226c198438554682a1612ce79696abff10358bf0f29fd1e0808f55e614108325f101669a61e3c9ba1bfbb89d46b6f9caf1ba6008e03bbdc8d92d7dc75d297e81815e983f15edd06b8cf80e9d8a247d3a02ef934a7b5b6d5134bbf77e648c1ac0e502f53af59d4a9af647211c578bcef4a700d73732a2d59005591c7732082ea06561a3593a774ceafafe86a65decb914d70e81c5084ad043b9f085901f9ebec4e310636c65fc7ce24ab151d6a57e1087c877682df5ec6f98d0a7577e5ff672266b454da48b940257f7c8667c0728d39d35ac885e372e54a91e658700533361dc5ad598e9ae5f8af1119454bd95be2187c0 - -COUNT=36 -L = 2400 -KI = fc15ec3f2551d0e73ff32fc813cd4e7ec3a06c4277ebb01031fdff43 -IVlen = 224 -IV = f27d0a8ca65ba24425b0dc6627fe2ea75e0be56214e1d0a9d61ebddd -FixedInputDataByteLen = 51 -FixedInputData = de7b3f09456b2a10cd41c3f6d2601b6b53127feb53b70b7e7a6e2798d7ae4ad8b2c114d67e63dd45589b67c089d630a99a695d -KO = fbdb892e09fc3451cd5947e19612064e73cebbd37d060a5a60a7ca70da32b494e57f0ca2e8045ab135884efd047b0521ee4e31572fd3c531de98ca8c9668e19f3ea0eae33c284d738a9509241304b7d91ac8e55181d8b7cd956461c5cd1e39fc34049e4b0494be41873dde4b70fb841a1e4918c1cafa3e69f00418615227f8f6021d0aac99871f8f02a3f808915d36cbcf24c62863af6309cae83f45fb4812ad690d8b7e1e7a633dff78caaefb597566f9dc986e30b07bf3fb08b7e0d903fcf9e9e96c044b6b4224acc497cc2c6e6aef92ac803ed9c8bf77aac1b26393b8c805c1f126daf74d1efeaf5c1e2cad8e886b01c14dd31fa176c7379f91bbf6753aeabd589ec71e1a83262a14c46fbca432ce56b02532f230b1c33d474d65f572a14de47bf667bdc76ae06fba5156 - -COUNT=37 -L = 2400 -KI = bf9e434736a2c446cd982d65d2319bdf561627804d4d00fe5c6d467b -IVlen = 224 -IV = 3c6844d158afc6323440a086123fe4e3e7aa49c39b4ea0c96fd5c843 -FixedInputDataByteLen = 51 -FixedInputData = 4b39841e672b735a410761bbec086e028f72306a117df96f9a9e3cc4604e54d8d145205252745d2efbb8e0fefed2e9ded9c085 -KO = 301a1cff5a63b042bee28bc628db9a51f29027c5fb81b31f804c367a35dcfce94e803d85c5d7c6353bcff5236ecca6b49ce51e4505f7d7f8055a383323811d5ac9f20c2521240376c5319c1668516ab9fca0bd5ce681f4678543e3c2a79fdf7177b23f72e131c6b2b85ebfe16334fef52e5dc9e67f9e6b30992d9f3391239763cf4ebecf47384cbb42399ba1e170c4126ea10c707df86bdc508db60570e47cbc82ed23e33b72b22f331e8728cd5583efda64219da324b7af5985c5b1eb9299e60b4877c0f7ed59e8c3a2789e9a4d47a36b3ff8e540fb2a6bce62c060839469b35c7db568e31c80354a77e1fa9343e61e7f88cee804e45e5cec30c7f6a5a797f08a95f143a261eeb800fce639457d2472692bdc44079402bbac58d853f8c4108820bf71ca7eb5a2e3839275ba - -COUNT=38 -L = 2400 -KI = b42623ca6b98895378b998a004619ea6a41dd18d9c7f418654981122 -IVlen = 224 -IV = 5d4b112416f588e9feab785d44038c117d38acc71ee69bf2fc13215f -FixedInputDataByteLen = 51 -FixedInputData = 866e2a02d94b869dd91632b7ccc48912202dc375ea0ad03f887dfbbf5ae5535755d0c43f839b0739eed62c023f1c6abeba437b -KO = 7c103526257b74f536b85966b15fd97ec0da3d30e98933f2b45d449209d8b45e5ea1aa593aaaeaed71aae75a1a82380f6188592e7bd9ff2282961666389bf504209e6848bd8cc2e57305a782c12e319ce9ec2ed65df19d4f47f85d26e6de75f8dfdc9b20577a1b08c469de3b02f32ee03e866c6bf2b9dca10e4dd9380cedec557f105b05a0620328b4e77f78e9db7c8b8d19e2e1f6d15d2ce5b66dbec42b1079e10dfe75d0021afe0d5bef3d12a30c3b2cc6f6f59d668ac06b5efc68c798447eb34cc4a78b78ebae494c4e7695c91cea6b871bbdfc32f9f1cec2edda5b5e5f1161bd06c222180d099303478186451b454f6cdf0cb097eee2608d5714a8edb76a8d0e7362f3378866622807f2e01337af6d10b1083f090fd0c9f04dd7c991acb878f4d02942c9041f5c5d9f21 - -COUNT=39 -L = 2400 -KI = 816b53567d3c5fbaa5bc7a09fe10c50833470ae4eb7a9b4ddbd79302 -IVlen = 224 -IV = e8b758e4949457325b69e26bfe315245afaab1592e4c09ca38bd3f65 -FixedInputDataByteLen = 51 -FixedInputData = 4e1be8d91c2b9bd1a82f578369c477cf79dbd911a15c7669311a9336490d17b96bc4964ef362e99f898fc5c6ea0950ad08443b -KO = ab2367626fe21c585511476d680d39c89e3cce26d176be6eb213b8b6e8491b6308f7a976d9e09f3f135956ecb42c7380f94080ff4bb84a7db27ab79312790ac245a4e645426a3068021fe9aa9fd08543720c78a7f351f94e60eb3e43355c97690972f4f80bede0b7bf54e74324ea87c708060f54467c0899a7af4de1f39244e3a581dcd8015e1c9071653e0442f23ec8e160fff3815ed05d9ed7986808d5db3abb14865115f3a908c740517249e996c208d9e11cd4c5bf40c0e3b0a8294432359626c03896d026c6ac2b48d24c3d7644502b861b2e42d32bec45b7ffd0f6beb9af4e920a48df4020113db401c003e596bcaff663f26eff04ac644f916b752faa35b056931635a63406010f00ff53867dec31307176e77d8a24eff666cd888569356d2d8585fc11b65167a82c - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 57f296b636f08f1599e4f1fa144fa587dd86a83ffdaf8dd11c59b5a7 -IVlen = 224 -IV = 28582e73a6156a55bb3b5c07e559ea7ca9cb29a958d547bc90e81e7e -FixedInputDataByteLen = 51 -FixedInputData = 543c5a1a45fe75f12e6739c1cc8264e78484f42bf1608d81e60fe5d213b9027f4dd3cded86c194f448c38578b5e2dc650b7af0 -KO = 7271baec952c343cd0b6720d1f459482b27f56e4b986e66c3f7fc977339a479d320a59bf2ee28caa18b943e41680fcc94a022e6099a815dcb8969e160055c12c - -COUNT=1 -L = 512 -KI = a06135e300e5d267db8f179c9290aac0ad28f18a0d35acb818eaa351 -IVlen = 224 -IV = 3fef0274253b98691988669ff2195d7bab1577684f30895128979ded -FixedInputDataByteLen = 51 -FixedInputData = 70194a4eea27c316a54ba9dc205e75917ebba2610d46bb628d2df177b813aab479f89eb7e9deeb4b62a8f6ae6cb34ed6d50187 -KO = a0a8dd7f5881f0601236e83d318aa89c7588db7ec368a435f8e87aa01338e611026562473ec643685201ef6321f84946b27df899a7c07c3d3608c016feb64e12 - -COUNT=2 -L = 512 -KI = 3273cf7c90f43b719cceab4f40d36596328f15fcf00ef8fbd40013d4 -IVlen = 224 -IV = 1b76e8327cb84ecada6ee2a2de21780f616c9896b354a01cdd7fbba9 -FixedInputDataByteLen = 51 -FixedInputData = 05204e5c119655375561d0a5553b0199f142d00d733ecdbb3fe6305ac0d546cf1da2fbf0d35dbc176119ae73382e96909cc9f2 -KO = f11568c15781ebd85117921030f1c1c61ca2e0f01def720282f6987e5f8d6400ad8262f33d6b7e81849450d34d0aa5e62bb8391d78241ff23fc6ce537fc9ceda - -COUNT=3 -L = 512 -KI = 703dcc66d0bb6af574627e8675e732513b3306047e4f33c8198635f8 -IVlen = 224 -IV = 6deafdcdbe6b685b2d94bab68cd2b1a5604451f97eb382f7f810f11f -FixedInputDataByteLen = 51 -FixedInputData = ab384f6787bcb6d624fa805c59ad836549b24bd8d894dd93a430fc82e6f9ee1c3cb6cf9f7ec31f28906e4bbe505dddf2d40075 -KO = 507d9186f3940cd1ab774990d083775eca8a8c65aaf864afa45a93cc6c9113ece7f3e47c9d053b5346133a4f5f68a3afc113e53c01045a0b5513cf7fde92d9d3 - -COUNT=4 -L = 512 -KI = 5c627a3d5b1d8c8a8f52619d0d930e9a53bdaf4c500fb65d524c468b -IVlen = 224 -IV = b4f4aba255ccb9b2654edb5bb3d469a100aef93b69ec98e027068ff7 -FixedInputDataByteLen = 51 -FixedInputData = 1eed3953356818d21a38295b321b31b46ee7aa0686cb93a408acb05bf2c85868276d9245b4a9ee99e199fbcd33b1550acbe9c4 -KO = 487175d2f926f0fa410c0088bce19d6509c4d80c9be7c4196cda0396e20f7afd25daff1375cf44303ed0d05f7083b1faa82f7acec79d6630ba03e69b3faea36a - -COUNT=5 -L = 512 -KI = 30ae4c5ac722c70a263c9ad6acbb7032ad968262b49861afb5c888ac -IVlen = 224 -IV = 5f8d5d6912a529dac13b3a074d81be030962cb811a5f06eb245d1b4e -FixedInputDataByteLen = 51 -FixedInputData = 3dcb3979ee083d81306bf875e6220d43682b3c20a43ce1d8783822357f551015ff5969f3a2ccc30bce24499fc5be29d64ab5bf -KO = 82d4b17675fc340f0d5ab4c8f3ef4e14aba8ac96d6a7ca70b2be3c845e749e52310fdd0a0ff5c750ac3e9b119354aaac1b8521ac2637b6ea31832b23bb5928e2 - -COUNT=6 -L = 512 -KI = 7611f787a0a40d5b14d3607da735cdce082b2c6a069fe4e1942ec2df -IVlen = 224 -IV = b774609a883e2363a9ed96025ed45fcd288464756c969095f69437e6 -FixedInputDataByteLen = 51 -FixedInputData = bcc81737bb3e5862fbb81fda17fdf35f5e5eab1bca9e104b640213f1819567bdcd5b6f5d26b8d4b23fba901713020123aa6cb0 -KO = 395630e24b5f708a952407172c068736a77a90a955374bf0d9ef70006dea1196a479fea019a6faf395cb80aa2a0f16aeb20a2e4e5913696b7c384209f08dce53 - -COUNT=7 -L = 512 -KI = 8169a318fd66d0e24a99301e989b2d8b59464affc4df2dc82cb25446 -IVlen = 224 -IV = dd50d0fdd76d0525efa923be280556983910e047c6258f76a0c56903 -FixedInputDataByteLen = 51 -FixedInputData = b25e34b06d1441ec2cbb5927fe40946fdbab00873b680ff917e68a3122bc9d2ce53c93fa78289d22dac0a98ccbbd0d22317e6a -KO = fbda857f07d702e7021331c38c7d5002157373e86129eb4c1dd0b1f7f1401b4bb395a97d3a247a5cb77ada49e6cc568eb3e72702dc1f474059ac5492927f8cfd - -COUNT=8 -L = 512 -KI = d6d119dadff6c698d522ed910e126e5e5d60131d41eb087c2a69de9c -IVlen = 224 -IV = c4f50b5e9e63eff576a53b1658728a8a31649235b0875aac3c04e4bc -FixedInputDataByteLen = 51 -FixedInputData = c7e20a9d58ad492714332f93c3212ea65afe1ffd6af8c7da2273ec67a57156940db6ab9a9fc004b23ff5d701c599dcf2f475a8 -KO = 3dbec3251a8a7161ab8c7600daf172ec1f04f419a4c5f694eed428d5d7026650c3da7241b858b9377badadc8270996a76a749a3b6a7a89cc1539df839f917bb4 - -COUNT=9 -L = 512 -KI = 1511d4af3e80b85517a99df80fe236973a79cf344391bfc6123480fc -IVlen = 224 -IV = c5805fc2e532b91ce8af82b37a4a762407f4e2dd19eff7c5ea33621f -FixedInputDataByteLen = 51 -FixedInputData = 7936f8eb616cc02035817beba49f6e8d21a5e235434f770288bb224a88a1be7cbf6e6c3c7c4783975355d061ffc0ad8fe39358 -KO = ef3ad6789b81fc980ef78ef03dff89dbbb16b0ca96724db381cd2802bbb51925abecdc0eea42315f6d2a0649c4e57b23a0b1e24ac6c6d7cae3db487b8d1103eb - -COUNT=10 -L = 2048 -KI = 3e604327a5e8749cd0bc1628219eb1b7f161dc96bcda94b68b5585bb -IVlen = 224 -IV = 81936a7a5298f87586025981772f709ade9bed133ec67261eea8f0e5 -FixedInputDataByteLen = 51 -FixedInputData = 6c9621a1c764962722198ce4158730ef8ff2c4577c2cc307ea2ae9036ef8361147462a2ebb3ca925cea63f86d2dc75fe9ca50e -KO = 55475ce26a216c34fc56883477c4355c1788e8ec701f1200726b03d5ef55e296406c54b810e9974d340f9b43aa41b9b58699a04ca299813b671224e3af10ea79ae477129acd7d756fe2cf5138c9fceeae9e1f21efffdd5724794bc217e770bcd132f7a8fe83a69b11910d2b731375f07d90d5965c48f1626feb486cc0053806df14e82481f58092ec4173a97a365072f341f11f5a227924231790c2a00f63764a63ecd6a6ec07bf201fd9bcb694edbc2c5120649e8d8a80ba1c146d27e4dffb33fba5aea89c18498dd9f466d6bb726fd6c4c3e7037ee8b289fca0907a31d320e8a718056a1a1edacfac002180174163dd44fbf40cea016749baed9f247c6ef0c - -COUNT=11 -L = 2048 -KI = cc5c61b6fcc069b114d1985a79083b488cf11c7fbbeb1a6571f2d506 -IVlen = 224 -IV = 5e70dd7c55c17731adc40e01a5e0af5a863d47759917d448c14ccfb9 -FixedInputDataByteLen = 51 -FixedInputData = c23fe91daeeaf0a398fa1d51936db6b6c90a8c50f366b72556b059a23476a1406cb60c5c41ab46bb6a88bb0b318769ffd6cd81 -KO = e4f6d9902d485acd00fea5fb73a6191036f308e6e49be836054c108fd1a93827d8be6969066e44438578ee6ff3d3bc445ac332b230aa962f4a54d7e60db72937bcd2bcc82a2c8b66ce3a7f17a433b4770e25868749142ed9b2e11acf2225567e0f07754aaa1742648054373b9bd9db4dd5cdfc7d6885d02774460b1080dd1770f23e8bd83795a25097d6fdd6329695cf770c5d31f00b2769bd489da9064e6907302dccb46e6eaddbc4ed50e8491bf53ce49bb1837a3e62a69d1c2565f418f52ce7e289b457431180701dacd0dcc730293e7840c83c5f9b4398578c6ed20041ac3ba61590667efa682ba07586e79e7b850812d9c3c1cdb71ad1e4bb4e9207c511 - -COUNT=12 -L = 2048 -KI = c1843a553195c253c407b24d03d62e34e0475a60171d1de3eae3d5f3 -IVlen = 224 -IV = f603be756fef4a9f07d4e64a5cac01849fc5d6cc7d572b52f3f64578 -FixedInputDataByteLen = 51 -FixedInputData = 9c2fdb76a2dd8b2a8a215fe7c77a2fb197c67eb5d60c00413d5b505a04f9ee0056246c68d7a32ef02d13a8a420d8ea2bde0725 -KO = 7b91ce12bb7553cd91586e1fa26374105316127f98592b012b4425a4183228a6a511ed82a47efe0c3dc664ebf67758a1212d36590b1a7ae939117e7ec4a341c79825180d6c3537254b3dd76ae09e0234730c3c2bad027b77b50f2ac53ac27163a5d0240d74a375b4b0cf03a01130f11b90cf6e3e096b2279da3a8a5838e2a6f18913efecef8c3acd31f87521a1a5f023676722d4141cc55f33244707ffb91a63bc122c56fb75cb9193586dddd552f70630113ea7a3a4a8fef529c8ceeb6f04743844623e3b1d76fd37b3becf68fddf1fac92e04fa7b88f0783dd03efccb38265c33655d77615218e4db78ad1ede4fd1dc0780a51aed822288350d73c469def57 - -COUNT=13 -L = 2048 -KI = 5442256dca40a6d867dfac67c2f9e8f4faaefb4ca01421fb79f036b8 -IVlen = 224 -IV = 4e32af1fe8ed1020c6620f384bc85e3fb168f089383a040c5fa4b398 -FixedInputDataByteLen = 51 -FixedInputData = c564e075436ef373a88ef28bd9964e20103c9109e6c418331f6b125d6c150b29c3eb6390034ba91694dc50beb6963bd3f7554e -KO = 07ef66e848026f894606e99ad01cda7ff6f456fc38c8cb69e071c1fa125dc9eddcea80270f7c296d70ea65602f82b51f032a5ac32d12aa223edcf1e2504cfd842584280e6067c8dbd496bce08cf9d08791f99dfcd15862c1b36cd60038922a773f1c7a726d85b905b7d19c2a82ca724eb822bcdaed1792f7e30fb7ab7553497d1ce2a163631cd551dbc31f3ed384b3d18428193ded346964c97636ca7a54cf4518db3f5f74eba02a2e113c65e0419faf8074d317e1145dd73d8910a94ec9969184aba0b546df058fde94a81d0ea38745d8fcce45d13b180f6688e1f6a0cc3c5565cb98ae7097b63727973ecb2b02bc75783910952f15ff5ee568936b60b5bd1e - -COUNT=14 -L = 2048 -KI = 854209f09c0e4791b05f6f18b594156baa7998feee85630335833d77 -IVlen = 224 -IV = 8d0c3610f22a19314151e07ed48b6ebd4aab93f68b201f4dab261980 -FixedInputDataByteLen = 51 -FixedInputData = b85ff670891c6ed917675069b1216eeed55426b422b6d455ab4277516cf137fdc7c53e80afa4d39167c136a7a19d8ba6a03a01 -KO = fa41a4330d321bca8169a1af01664e7cf4fe75b4a8e48d0d7157ec6d6fe7ded5b79213274f58492378018ff3b734ad6302ad57deef495910142b32cf7ef05bfa9d9ef5da51ac425f1557b51be6064ba86b5f30fca3a7f002d645172ab5748491b10edc970afead27b6da08d359b7c7dc097e1e00f90056d6474d14204dbd6055c371b97fe3d4e006274578ddd0fbf5c0b14287cfef6c6cf973f0f305b5047da18000aa58a897af762e318328063001a572d6ba3c7f4754394e23c3cde4f7e96d9592b5499becd0fe42784a153430408533dd36915d01407bc589fd6669d66c8e50430e41294961a3c01c7715aaa128036f784c3df3ad99f8033ec08b0a52e584 - -COUNT=15 -L = 2048 -KI = 76f810dd270faf2befe819e12034a99e40ec1caf30094c8b20919a55 -IVlen = 224 -IV = f0d5e891aab760ab2c9da8a6054caae8402ba3a5468803063f22835b -FixedInputDataByteLen = 51 -FixedInputData = b4e1bda5e76cfa9e1b69ba34c3d801a8e8af145ffce3a3925f4f034e52fd936c9bfa78fcf3702b4ad4eb4a9f642ebd1df61deb -KO = f2c65c622ae299aabd3588aa744d1323c4afe264d81d4e2efe92c3dc13320912cc1707ba3571976399746b423275fcfc10842ff1ff01008e507ca8850b725f74bd0e35f020b8a2ca9127c0fc331759e1859638eccb602f30c344382903ff31c528e7b53587a6023b8492d6bfcc236808f3d96088f5225f6b7fe88159a09d42c62cd03786f57c0c43a45bc43a039f2303819b11f7efd6f726adcbaa095cb62a1f29f35b6767f8fd61318cb71a21663babc811845cfc100486dc1202d475e86e8b2d261218f717db854f504e300f9b32b9e6a2bac9e85260549637df28b154f45455e9896202823c49b9a3152a080cd327a68f0a01468daa4a3326d6a19944a25f - -COUNT=16 -L = 2048 -KI = 15aba8677dfa14589383d22a1429bb87e8eefa3830e8749fd38043e9 -IVlen = 224 -IV = 945d2cf74e7586eea95076f027cf2561248a4adf8fe792270928693a -FixedInputDataByteLen = 51 -FixedInputData = 58d3f505dca4711e28053a8f922c045dbc0902c468cd6238ee96e30d125a144ebf97b28a49d8c45eae236d5aa9e6a12915b471 -KO = 7b437fffbf310a4c4956662e208c27cacc254d1acd7f6baeab1ef72133d325ad4711c0fda1aa60b1b091e39bb7257bc036fd8386d6dbdeb4fbf45fc32394797c7bec09185fd20e008f79a1c9cb010d37785d316dae92569cfaa130aaf09aa25faf80eea3007f9b0fb71e01e81650c6e8abfba6521e9c1d25edf52c41e223b9e100b16ee37262a494acb5c0f251b5b26ac234d7bd86628b964a7d87fdd15f37c2e429875ef982dd5e9dffac74386a1b4da9348e58cfe4148603db48b86a2a3295c40e94943a4050c1106aa73eb30ca2537d416c4ee16955dc5c49e40a3dcb36491996bcb846622dbb939b26fba34b7373e0c0d50245c34078318bfc7686499d63 - -COUNT=17 -L = 2048 -KI = 093d37456c5b9e70686cd6b79cbda3165f76bbc92077de3396775ee6 -IVlen = 224 -IV = 83b15199ede936f857cee1c504bc6a3bae699bf608c39fe8bf0b596c -FixedInputDataByteLen = 51 -FixedInputData = 6cb0bae47e4711af755023a02bfc7f3c8e42b979ff0571cb0e898cffd53bb4f60f937f05cd449ee9dcb8bdd0110d8142c27b5e -KO = 01dc428944454c85caeca70dd63b530f445a309e2511a48a709342560eca2351f403bf945a5ddac829f7cc437be2c241c72a6fe4415317c9f9e5b650b1fa44fc2677de7752e92f02f3c84b30d713b73850150f7032e93fe907ea51e51458fbbdd53eebee0942c92456625e737af16dfcdbf0c4b9531cd9044aaa53cfeac3012bd3a664242c5e38935270dc6c297bca6353733ec3ad54480ecc0d922ef7980c1372e1b180e705a6cf146edb3d5356e07cc14e8458c620cdd0432f5235d51e5dc50dfd102ef06f52e90062570173f42fd2d24e450f643a4e6a634bfcb3dcf540884ac0bab8cc9cc9fbee95ed9c6c59f4da7557b8c003e56d284d014809b40b93b4 - -COUNT=18 -L = 2048 -KI = 0cd4012c103379b52ced28e64dd1f51bc93464dba81f50f8c29484e4 -IVlen = 224 -IV = ffcdfc5c3a707facc9ed520132ced612167c1443aecd2f375640c5a1 -FixedInputDataByteLen = 51 -FixedInputData = d93f5e30ffaed9720e005308df84b24615240af02bced38a0e713176259532610a8551af0b2adbc60096a5b4e379384f0c0166 -KO = 291a5ad1f10cdbb73e91ebc1edf93a5814a54cec60ccfbc509d5956be238a4766471a0d94d9158f149d525b51a626a74fd2697540983c542c2873c6e3540996c0b34deb7a603d1702603c985e6fa92242c6eafc16265d83505044a5bdf6721a9e1189dbca1a4a361dce077e216da768180949e593feaeb367b39286dcefb95be7f5aca80acbc3ee28ff0badeb1eb2dbd147d97f9b2dcd140b8e906ff6f1c03478cceb087195e4f41f2da2e181a7bc5d81740057259725a36dc5d6a844dc865d896de87ff06107b6e32a70c5c86cd357ae9f8d63180f2735e5b797ed8287f75e30fcbd712d1f8dc261065098a1953db9723bde8d62298d730c357cbf9137a4bcb - -COUNT=19 -L = 2048 -KI = 41ef9039072cfe998ef4c675fa3ee727eabd35591a8c6cd052247ba4 -IVlen = 224 -IV = b636cb1162b1a9b4d90abf9eddbe3e1b086347c1eed16281b950a7f7 -FixedInputDataByteLen = 51 -FixedInputData = 55049f55c9be195d96ff2d905c23ddce2a1326c0d49b9329f2adaa7226aca275851a350efb18b63a1cb1ffaca1fa354b1db485 -KO = cfa0f30f92efa7fb5df0170c10e585a7d417e37edd52ff75120609ac65d790c09fa59f3e45180ea6757601132e9831703c36b204924663a161fe5af6c06d5459576e92717080496e9aaf406fb6a10a5052c75a7b66cb60f926d5ad6f641d99b72385f3eed7cfdb3024cb89664572084860b3f1dace06d1e48f5b862abf4e9503fe9f02d53fef53f7f3ec18e863e0b394e1c3b55dbeb0a4c408d092aaf35c17c7bbc0728b373817d6f72bedd7ff0f52fe3bc7009d3be994be1a357c07a3ee258acbd59369670a26e0400abb09fbbc008cbebfc26f007b529fbbed86ab0e6e4af9fdec91746c2c9b230b56fd8a0c8ab968f30fad6ee9f49a82841aa73914b90b34 - -COUNT=20 -L = 560 -KI = 83e60b728014663f5cf7c3784be3f2b17b33c894d7cbbb4444907409 -IVlen = 224 -IV = 6c7e7dde70f5f804d417433017c674833dbac37431643255037a783a -FixedInputDataByteLen = 51 -FixedInputData = 9762043e907e7caa2d5811367353330c9ef45a8c34469acbe631bf6e21ebaad12486a493d94b6cd045b3648a615f0fdd7e311b -KO = 2ccc280ee21ea5aae7fcff55dd7ffa89ccfef1c4a769127273cf9b87c532fb30d1c763c7c19fc8ca7f372628fcfcc6d61998d3e0219c9022ac22c56ae2c96c009ac6e398f259 - -COUNT=21 -L = 560 -KI = 61a01cb9c25956f011def45bfa5da878de9a0ea15826e499fb1aef40 -IVlen = 224 -IV = 359b1bbe10d34209235bd59f2f76294344b7af7b3d34a5861e48bf6a -FixedInputDataByteLen = 51 -FixedInputData = dfe4a25e9c6a451c32fb8580e9dbbc4ed05ae8eb5bed7b1bc3f95634970130b28868eaf45c732cdb9b53249c0c4848f727019c -KO = bb63017d5793b305a6b4098d620c57df41a84bed224ff7d99f4f0eea84ac42fa227113e1a46ab394a70c33e3943ddd8075eae2f75fb7a077d13f7e9c39f040b7a4532cd95110 - -COUNT=22 -L = 560 -KI = 7b7f98fa274987a8efff4e14dff3b20439ea18f95894516b5d2e40ed -IVlen = 224 -IV = fa853aaa70e13a7895c61847ae1c7301c5c26435d41e5dc618e2f26d -FixedInputDataByteLen = 51 -FixedInputData = c971aa771861a9d8efcd29712d5b7e34ca2c6826ebfae2029f0423f237dacfcd08b68e4f147b9eb91fb8682a4a6c850aff8810 -KO = 8bb0416ccb1a5af2d41a2a9f877a017ae3981bb0344747ec970550e8f3bc32399c5ddbbaa825245382a4932a8b475d38ba472bba6103da5dc7330887830144ce9aabe4798f97 - -COUNT=23 -L = 560 -KI = 3771d30b2be616ab3326b1670e3628cb8c7b040583ae94f91b9f839f -IVlen = 224 -IV = eb0fec1d01d66362413beacb800c840a4ba8bb21df3016dae52781ed -FixedInputDataByteLen = 51 -FixedInputData = 5e8a13614ee8c5ed30f6a16ce9be8ad6910f6b34804abdff4b88ed4bb5be947188272bb5762d590f2fbf06048f7bf3724fd87c -KO = 5cdc3fc07b2e9cef4695e72ffa49e1777609d6814e29017e77938e8f51b413751295707b8c72934dbe285a877bce4d396905679d47d95c253232c2cb994715bbc6a6f7e12cbc - -COUNT=24 -L = 560 -KI = 4ceece646b1a16e651b1ac1b67651a760ab479e1979e04fdd8a650ae -IVlen = 224 -IV = e12cc842127a1f8208df0c6bac92e0ba46ce8d632d521fcb3b5ba9ff -FixedInputDataByteLen = 51 -FixedInputData = 769ee6b3fadde0cb0f6b6d973e83bb59ef0221293e9f061e95d9a4501257cdb292b0057b45f791458adaaba9f21ac20cc2265b -KO = caccdcb909c703764f170094f9e20317877f5a0811600fcfc3aed66c4a3413aa0731806144ec1a0ff1a023f2a7405253043837d35eb83e998af0f26e1c65024141deecdb0006 - -COUNT=25 -L = 560 -KI = d56b468df2cd0454c390c89ac0ae3da1df77c5a6a1064cac03eda3fd -IVlen = 224 -IV = 454fb129fdeb3f537a1aa0544f7adb189a633a8a22370498c7955d09 -FixedInputDataByteLen = 51 -FixedInputData = 900420e93675ab45188d6913a8825c88074c505b65ec495c1fccd63b1832f391889a664d290bb5024a685882a0c865831a5c5b -KO = 74c9fc861929a445dfde15873bde2b2e9b9afa54f1e036329b2ac5a512a7656d986c0fd81c4f7a56f1633cfdeff77d940df4a7472c9fb8b43d925ea2263f0fad4cc0391f0c19 - -COUNT=26 -L = 560 -KI = f401d090c443b1ef74f9e2cdbc07c3c9c5ee8526c941904080796270 -IVlen = 224 -IV = 7dc98fff41a9c7b71475b1945518847161c144ca46543f78afc1f8f0 -FixedInputDataByteLen = 51 -FixedInputData = 5b46c5464443813db6137cdf46420f66a0e6721a70789fd1690ee2c9e725291b980eebae10901e471e92d7c5645bbd31cf4a96 -KO = e5c48816829cac6df0ec0372ecd0d550f854b7aa381609ba3f4cfd12bd67942dce9b999cf07d1213d0a94a1629eb56c31723be1aa402ae591d7ecaae5cd47f4bcbb12f5c548f - -COUNT=27 -L = 560 -KI = 65ca3c9da49fe775cae66b29f31ba00e9bc5a940fb1afffce8fb80c7 -IVlen = 224 -IV = 0d3f05b2fb15696e898f8b88badba6f7ec206c0d1c14c134c8d07b3a -FixedInputDataByteLen = 51 -FixedInputData = ca17d13de1e68a90f1e59964f4926883098d4641bf75ec9e56779436eac7a659a1d1c47891ff7a4c22c362681569d9fd8ecbb5 -KO = f5c88b3b93122b64935633dfdf2b083ae580b5c903ca549aa484fbbff68640c54363d8753b6bae403546b8b563df159ca5e535eb4248323585fe1dd02c52fb2a661a9eb1a81c - -COUNT=28 -L = 560 -KI = d4b836543a7e76607bd4924f4fa9c3cba68df278192d93d9b2dc1439 -IVlen = 224 -IV = 0a1a962f4f62f2da426f2565eeaf6102bda4a4c58ff68fc071f89c5e -FixedInputDataByteLen = 51 -FixedInputData = f7770c696495e25730c4f8f1d77067a3594560274418f98ead7a3b9b10b6cecd74c22be5406d4148ca724c724f01a35d4e2e79 -KO = 78e19a0936d944a5139302230322a2bba666ee75b3d78b8d3902ea07cda56ca3bb2dd4eafff44d577f9547e7062b890072451fe55b9442254a573a6d1d6e6e0a6147a3ca8056 - -COUNT=29 -L = 560 -KI = aa6714f2c9cc63fed29dc0142651bbd8516c21cc501bf4d3d5b6943b -IVlen = 224 -IV = bc849b8bdb535973871e4e6eb0833ecf673e5d51072649f6222796ef -FixedInputDataByteLen = 51 -FixedInputData = 74bee78135980544299bece922bddd533898587603684687e5186ec458727f0954ca06d8b87ac346eb5212eb146fa474745c50 -KO = 7c5afe1146fe276f4c672ee78b9d6a468eae3c1996ca3ec78af4f6d4c531f4114ed922eae2cdd6a79921d38c7d5987c07860795dbaa940d74e724c8f9dfaa53cd28b680b8b25 - -COUNT=30 -L = 2400 -KI = cae338c16cb4e76905521cc5229c414996c26ecbfea9aee15eae9e6b -IVlen = 224 -IV = 71272c85109528b61f802ccf70263bfe00d295cb4a894e898da2fae3 -FixedInputDataByteLen = 51 -FixedInputData = eb145a0f8dc1348676605f05e9dcc09ab49163c471678fe99ee6c834f46559cd4aabeacc7f2c7aff4c87c02e2a297272a76756 -KO = c2d9ac248d8bdfa666915b2a75236de45ffa53a533f9989e10344e92c262b297ea855ab9c8422461532334fde8562c7b44b08aa01c4a595153fe3ef6b3ab561a3c40ddf9f1787534756433bd100741f3fbd5d28b267389b7db8264e18e7d39533ddfe4f3616310644a04007449ac7095cf6648a4fd55500688cd2392fc680f7e39b0f8cb3a8e24c368c4acca89087d1d56d602e382f1893f22883729e747442adceec3835f85fabcc13dc7238db9bff7d43b4aeb5d8eea86d144208b47f656a85aea252a344f9a1405e6b45b0023cbd7e7e83bd3f4d2abd5c2e0a465cf53016af5befc2777ec829afe35bc77de1c5a856e8d5b72db53d8248507176d8b226b1d4f3cee8b000a922e8eed80ed4b5d70abba79dc595153fe1046e1a2b2d4b9afb6035b442b9c961f028b4c7713 - -COUNT=31 -L = 2400 -KI = a101df1bf3ade7c287802d249b4e961f074560dd967045cf0544ae77 -IVlen = 224 -IV = 5721f49401a34b08b4a446aa22b3f95d944ee9c4095251a15953d5bd -FixedInputDataByteLen = 51 -FixedInputData = 4df67683c1cfb1c62abb9f9ce07eaec9461f1c4e5d7b6ca03614a373a520d089ab4437b61f55afd7ad1e9a05208ae68770c76b -KO = 50ef1c57ea159eb30c9199450709e17fd11377d4df7e67fa51a00fea333bde9d317c5b074aba6a6df9dac8dc5b38a887c22848406d82dc976aa86d555764dcda242bd245696fe6b1c1814e46ea58e1808106c72c61cada4ee89b4901fe8a232d737489c7b26706b20526165cf9f184c47fa18788d62a5bab9f526e0817cf2c0d8539e8102d52e9cc42cca9adda22a60ed46045e7da78c911ca7c39c59e9358cd89989656387fa34ed5bdc86799489e287ef85d4894f9e734945652849e059e677dfe3c6fea77c8fcd2f5f40b4cda5a44638fbf9b0b083c7aad83faa47ec76b925cd30877019e9ccb59b0103574e78fc85b6515a95b061d944481b34563a697004b7eb58bd43d6366274d61f666831b1534fcf200dfe0068f0437c4b8f60716fb8cc02222655e17a83e5cb731 - -COUNT=32 -L = 2400 -KI = b27a158548c55203ecc7710a4c35b2f41920cd54db57d2905ca1f665 -IVlen = 224 -IV = 531f99c5cbd363388c1e119af2cea5bac4fba0192d2994810b3b1dc6 -FixedInputDataByteLen = 51 -FixedInputData = 8b759f89a2bc47fe413a107f76015f1efcd51f997dbe72855ab0d38c5b0fbf2205ebb41ff8c43f9852796d87d7e7ca3396a925 -KO = 5555d527aea34830637b8a18e11d17257928c480e7d0fe32adefa6d79a7278e7a6eb21caef86ec66bffdfa5bfce425d27896a9e94fc6d62bfe618da6cb1acd13e62d27dd92b1e2442eebcd5bdc34d121502d22a230dcfe1d5e1db68f63913d06ddc907d194110b06f61e5300e8d1cc5398c8bca6d9f0cf8b3b45c8fcb6f554bc0aac867e2a9ca7d5d0ed072e59c8fe3e8a970bfaa7d268ee9de35ee2b96765dab666a7f65a72160ff19f6302d8b3a9643d465ae725c4b06fbf2c19e672ed597de7dca5d8b255f7959fc16bfd6b744bdabe7ab1f1034df2b2297650157f00119a65df807ee87e0d47e3bd775742e11163d9eabf4cc756afc9445f1f5c042e4cfde4a259c2eb679b2e770193277c06cdf1e6487064f1b0fbe52e59cf5ab45901118cdf56141dd335978897a589 - -COUNT=33 -L = 2400 -KI = ab6f5d9370d0f45bac3d13ecb29f5e89b82d37fc2e8dc6ea0c4918b9 -IVlen = 224 -IV = 8e98f01e6e8628e8f482136ef356357d8a57abbc2cf99ad48247ed4b -FixedInputDataByteLen = 51 -FixedInputData = b92d496c338c10cbc054381756eeb37312ec33c28ed147b07d54f81730376324d9970e460f717be5db268dc1909c4305e07d61 -KO = f23adb8d90ef77d013111657139514f5b55d59989d32a1ed35ff2eef8504409fa968e7de1c578721d082d866254b6592e319c07e96f4f601bad947e0fbaf2cfa7a0a4eaf3aca5a8905b4fb28b828dd238128bd9b2ea8d28bf81556f36a24682e9fa3a38ad385e9216ae2a03dc1a541031218d82107a2e9af1f25d2116983ec0168844d0666e81a443340a47ef24669da5d6454ce2deaf52fee12897688ed4c0e8f2bb98f95663fa200716cbb7f8af710284dc5e4b0848e5ae43eb2f1b53fe542e6c623d0679caa35ae1f2ac7f97b03dc2d171cc054def79dc2fce6ffdfe37b14f84e2cff69c826ca439e104e4ca24ed32537b57d048e640ab9170c9850d43f55506e54835288c1389bd7e396841a70dfd31c0b6ddfcd50aa3a0ed9af06eeaef66413a7645441fa8bfc7561e2 - -COUNT=34 -L = 2400 -KI = 74b52a368db59eb25613b0d0bc1a31d4162cf87ebcce89e3ecfccf23 -IVlen = 224 -IV = 9598547945ecb0114779a9eb4ccabef096fc278e790b83a09ba2973c -FixedInputDataByteLen = 51 -FixedInputData = f2bf07b0f11ec962b3ea1108015777ce58d0a31249cbde93986a0d3608c497146a7186170559a5d773867c827b9b2812810597 -KO = 128e5c81e19e1842f55ea95ff45a10c30e896c0134ab21b6283757ca03542230008f2aa1ab51a7e1a44f675a0fbc565cad9a98c9624c611676283da44a3aac1113a825cd38ddf26fa5e7b810ca0ee53e90b799620d07b571cd6780a15a7aa85a0996d4197c2aca38dd3d5ed774efca1ccd6010fb9cdc4bc7e0c317a34e31e87df7ac03d7c1e86b57fbcfd09ad497e477534030878329eb33d57ba30acc56a142497b8bf0f6ac3e4ecc32cc7a0b388e32955e1690f8b96e9453d328c780de97a7d06ce36bd688405d8072f0bfd26b95f277d579be1593f6a9543bdc0447db855dbccdb14c6e4ea3ac9b96eb9a785debab773db934ec9d0c1b4fd1c94a4b0c99a42ca5c540645cf4156015038ab9f0a090eeff0bed83b544d97030623824b3eace140e6d614f73eabec930eef5 - -COUNT=35 -L = 2400 -KI = b2127a79f0e10992782c6f85631140c21abfcd078d871a6dafe5c413 -IVlen = 224 -IV = 31a55b00e5a59a2c472c90473e0289f1d815c1168cea89b8429707c0 -FixedInputDataByteLen = 51 -FixedInputData = 428bc48bdd45452d3cd993266ecb6eddd0ccfdacecbe3238c0b13b3104904ec1fb046f3d4d57633ce00128d69a04729f03b3f4 -KO = ee5203f036afbc88369903572b12ae4a9cfa4152396cbf24fc1efc664b0d4fdd2f48a57473c58bc665331a3c0fc3d371b9fb89834a41f12ff4d015efc3a3aebff1c225958b3de8793cd5c961d3785cb197ec47eb88e723c4ae088a8981f0cf495bda2acfc22522dcba3d6b8aea3afd74ca4cd5ce0248b6c3597890c0c2cac5186d1756a06e89154a4a0f39aebc2f1e7111defafa6da2cd3744c7aef98d05ddd76168d1213d13703ea757c7ec0f30f52dc171b85cf5a1bee1b7c7ac40bd2912d5211bc922449b6b1554cb3ac71bc5a5f12a08465e11cdd8e74f720f8937b1c70ef14b6d8c120d165202530f13482c445e596072312947fb32d01402d152d916220a52c94862cca1db176bc335a213d465c2d7acfa07845159c194fc3e23374ea3e73326af7fbf9cfd24a2143e - -COUNT=36 -L = 2400 -KI = 717e68c18a26d3e07b90a46404cf32295043f155e6e5a0309e31cbb7 -IVlen = 224 -IV = 7036a55f17beba98a50b617e69761e8cd4a7b8d87a450bc956039103 -FixedInputDataByteLen = 51 -FixedInputData = d1414699338bc0570dd68ae397a68b1d65930021a65b75b7c2b066cef3a6d724d606b2e9bbcfaf9e926b2a4ed767230f0bf7d9 -KO = 7c6b1444d7754099e36cd02fe2620474e817c3ed6603ceae976ee7dcacd04f75c37b33cef3fa2c29cdef3093a4ae7c27ca3b1f3b5c8421b1c556eee58425de0b3c11b8a1ae58d9e3e4c7b9d75ddb813b0142424dc427b2b1f7125097b9c762fd5fec5df81d5f8874bb62a4316cae90e34fa76cf8f803779097d1018f99518738dde602555a7df4d0720b7b90b6de7788dc3607dac06f81f4dab5e3eba0efa8585d019755ae8f231dfa9e1d0000993ede28365d7c2b651d94181f6072f20b846f261ba9e51449cdcae3df486e4e87d376ab4bc7aa7728f63a07f893f42560ea48e24a2a3ba94e88fb29c238dc60b099d586068874e45e6e66256af221785add910df935b7dc0be25189864aacf0662ca087ce0a38208fc0bb7cccfab9b8cd49dfe9fb4262703fb58d7b9755b8 - -COUNT=37 -L = 2400 -KI = f40ec0c15672b031f0cf7cc3fab7df06555353165dccce1b6a09076d -IVlen = 224 -IV = af65f7566ffa612eb38f9cb7d01d1ff5f5a94edac06cad4e0359e79e -FixedInputDataByteLen = 51 -FixedInputData = cbdcd0f25e73349b6aee87a91a59364e991fe6be13160e2720e13833ed524bed053b36edd8fb8bdd054c4fdf7c291ffcad1a7c -KO = a9d84648267e967026728cec5b1b992b764cafce99ae5886dce6f9d88eee2eff9529f98d849445486c054e06e9d31e705da8bcbaeb25c589e8fe431b0a9f37b787e97de2cd53d07b18d4dfec3413b1c3344f10f8cf819159442dc8ea52e54b419ce2280760d71689e4cd192814d0a9a7edae11f214d7f80f68ba9390ddfa6fb8aa5cb639793b5f191353a8b95ef787a7620ad315cecf5f9615783f8528c6cf3b68267cc1ad98604842b0f3291bfb597a8012039e1f26e6fbb952566286746eb2031e33412c70eb5533835b81a9f35b9311c6049e06e9c0b94e15d408c241ab94c8b0e8f0bf2421abda8ac9d1402afc80f88278264b216dc9e6f1026cc9916a81a9578c78093cdf29aed3950c96fe0330e11ce24ebf3930f3e5acdfe1cf59f97b1056a42f572169e2c1d2ab41 - -COUNT=38 -L = 2400 -KI = 56e1090ffa0fe7a43815636ba23959b008ef60f2a022d7973cc3d56d -IVlen = 224 -IV = a6d5b0c7ca4471142e91cd924f21507d1f7f518485192735bb34257f -FixedInputDataByteLen = 51 -FixedInputData = b12ab2dcba9967dbbd4ac34bc99f49816238ae100442678ddf0230b79501c4979f4ed008156f8d6839383d7553e6e14e565085 -KO = ec147f9a7babb50b70973665fb4f879c946bd61dc33f2db1705d6ec4cd0baf3415a3597dcc6d161e226d9efacafb84630b6fdba19bb0d726b261182c8036c8ca55872cd9f01f64bbf4c6fd18bc13f4b23a39b2956b1bcb560e8ff4c8c2825012e8acaf1d598ff2ecc1def94641b9a2f332da39f6628e4c171ead611646f070a96c604e85f9b032a826e21f415e222f9097d9c705474d9a1d8cb51a36bfd3e62497c0114b1bb1cf99d27210851232e58a00045ffac6b0663174dfbc8c1a20ba0c61a1dfdcfb61672fc2585c9cec2fbfdd965677f2649f2479e40a0c4fa805633fdf07cd4d3b0f13d1a73c228fab5fa4bb7746bf59cbd1866ab46a036e786c2dd2242356c5ea1b2f4838f2f3c7d40855e87b541df3ea32551949167f55291954c8551b8849d9a495b9b124bc47 - -COUNT=39 -L = 2400 -KI = 5e66073f629da496b6eb7f1b3d9c0f04744079a86741a293e73be630 -IVlen = 224 -IV = 2ceea90218a13fadba07223c3a597c2a170008b97504669045bf6959 -FixedInputDataByteLen = 51 -FixedInputData = 6da2e6604601c60f6dea6f8e78519a233bf27de6b248d1c56c01f3da9083ec804b0bc69d1e5ccadad16432cd003df790bc7be3 -KO = c22d496ade571aaec971233c8bd92cfad263d2c2dee4a5712197b26d2c8bb87d6e851253a4a185a1fe507a7e12b2e5618628c004121170c43123e7c90f5529663e06e270215d787f05a6c1271811c0581689d0158ba7ac6a7280d3571b3093856a3816cae3deb5745f3de08217490a8855d496eede30a4f6133189f73882d74967d3708fad959b8ddadafd8e8acea8c5155fc1b20d9b52eae05c664015b788c2c2c6e5a31664460bdef50f6143f3b3a7ae02ed68c298bd8f977e3f452ac6b400bcdcf825860435ce0db8d3b6dd75b2da515c49a0856539de0bb90f9ae2b6e24b25adeeab15caacd5377cdc113e9e77bd97e144474bd6e056aba55daff7a82e465f1399238779ce97f6174b42ad733c8dbaba738902013817bc39e394483ccd3fac78f7250e1eadccb54a749f - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a3933ecf98c5d3d83ef539a2e885f2c771d3aad9190dd927833e9543 -IVlen = 224 -IV = 9ffbda7174975ad84d49da033d544af3b8867ce39fffef3143f05e5a -FixedInputDataByteLen = 51 -FixedInputData = 90d4a6d70f18edc470dffc12543267d761da419beb1091bdcd1ce82bb6acb5adce2ca43191daa840a236d69ff5c86d7f233157 -KO = 7c0b2666711838798be0aee954e90dc329f4942eaac5815bae7352fc68381e8913915ed29dead550529ffc26ef6508453d22c3d07deb96ef18a0c0f80d8ba3fa - -COUNT=1 -L = 512 -KI = 12630d4a3a4df5f6c038c78357a10898febdbdce392b4929a3a6915d -IVlen = 224 -IV = 4df8263f7ccb7b7edb1d79af3dd46854d32edae277532e9206560691 -FixedInputDataByteLen = 51 -FixedInputData = 547b17651e664fddf275eb6e30c01e3acddd41da2590d440d2bce20e40cc120cffae9d7c1f797c81be7339c86224e36777d67a -KO = 2115cd9b8a6814f84328b1c3054a760d347983e67197db8625c665d8513748b666bd289014add8cae574b316f80cb8d61d26b045af48bafa1e5d0850516ec705 - -COUNT=2 -L = 512 -KI = a102ffb5f0d6049992b5f7f8b01f00cffa85951174a6d90d0dc62cdd -IVlen = 224 -IV = 98bd247ad93e0a11eba09ab6ae845d7a0ccafc12133c98d41d7b9b8b -FixedInputDataByteLen = 51 -FixedInputData = ba2d9ee28fe300ab7820f0813c5844c9578d75995f22751ca18354a39bfe6e6285e24ad316393eff470d52c89a652bfdfe4764 -KO = b9cb56383265fbb873b27c1473e04f7546b3522c0813beb32cc519a86a05f51285caa79d824cc63bc215f0e2f357160de2aba3a099650246e19054ea132d9bd5 - -COUNT=3 -L = 512 -KI = 9f7b912daf063365f0d607a8e6358194abe98050afccdccb111910d5 -IVlen = 224 -IV = 9a5cdf05f1f58b3d28f2150cfcda313ef2c7f92c23fbe8f23d5fc633 -FixedInputDataByteLen = 51 -FixedInputData = 365ca6be489d3a5c4daa395569dfb05f73fac8e45b0644aeff97547fd915e6a39a42eed98a61fb9f2d1395a8181b19dee20478 -KO = 1deed77e6c376569baf60fa6ff8ad99340bbb7ae981cf4e4b89fe76f858699f6cc834e3be9eef5a0bf04366bf02d2387f95dff0b4f952d14aa51696663beba1b - -COUNT=4 -L = 512 -KI = 4167e4120d72413a2285677166038e8bd7b2478cb6a7697f248901e3 -IVlen = 224 -IV = 4bfcc67ab3070dd8dc93b6a1519f5df1c90068e359e2f000d19af9b4 -FixedInputDataByteLen = 51 -FixedInputData = bdff16de2d980d3725cc1dce1d237345baa66f7e3d03b413b33916c02701ead18ac37015f069434e77689a8306033b782ae7dd -KO = b647f42d8a3be951f6e75d9a37514707c7ae27a5e2c6a8c6eb9428a83cf6f21c46fbd941a100fa5f9171f0fa7b3f116be883c0b8bb500ff1f6824647d5073f4e - -COUNT=5 -L = 512 -KI = adee71704120a8c4984e96f076ca1301c16020e1bb267c8a84658e0f -IVlen = 224 -IV = fede69bb0869a1b3f1948d46407a1d4cde3c0092bf35f7f78dacd28c -FixedInputDataByteLen = 51 -FixedInputData = a4ecac56b846864ca41250550b5e8ecb5dcfea61299645ef97262f1df7ef7e4fa18a0f4a59aca3a0b8e2b3e33a355de3acfdd1 -KO = 8587093989b947e445024be25316204453c5c1d50ed7866583df1d1802bbbbe2c5619a3c70fdb78dc04ba5dc2bb6d2d85395f8c98ee18efa5db2a6a2e7cb7511 - -COUNT=6 -L = 512 -KI = 5fef9e52890c005cf6feaf907e8cd44531012c15ee79213a234f3c28 -IVlen = 224 -IV = d80802a19c316031231f20ad817116491988e7ac3736b42e866c78d6 -FixedInputDataByteLen = 51 -FixedInputData = 61fe1634ca94a25691a859c824e10ae952f6f47942759525f3dbe297ceac592fc43f73b2383cfd3a1747c2ca1f11500f66eb2e -KO = 7e6f3a00b883200fd94d39214268871a972477ce79928aa3a8dd3143500e74a9ae1ca540afd64696d96615db682c8ac552244c0fa8871415c90dee8ff4328ea2 - -COUNT=7 -L = 512 -KI = ecf3762205327966d2b5d94b75d93c7f4c2934295b75a7ebddd981ae -IVlen = 224 -IV = 5ed9c6a5949735f412431dba2adf34280b24ec43eab5786e93632dab -FixedInputDataByteLen = 51 -FixedInputData = db61bb098f783e0d235e1537388fed10497e37291da6e569ea7d49df1f95d018953014a4abc64737e33569a6175d2108eb6b80 -KO = 97cf3ba801a9368376e10278f1d1cad46a11debc9df1a86bc99a1ac653b22f93e12a319179c466410b3d1452d72ed37ed852c9c1013f762ca79d9ad48a6cb39f - -COUNT=8 -L = 512 -KI = 98809ac132bfd5abab3d211ff161af6a9ca55443863af99affbe955a -IVlen = 224 -IV = 4f3cc50cf4909664e3c90c423264b962eba2a5f9033103266c1b0f88 -FixedInputDataByteLen = 51 -FixedInputData = 229824e67d32cccb74b2513812dad9b1fe68d3aed79c675cb813a6a981c278db885df580df2a73e8b11bf9034d424d3928d60f -KO = 78ef5fb5186437915507c96a73236373e195849d1374c6b7216075efaf04d033ea5b61956f69ded6c97778803153ada4292a383382dc227141cd559d5a885cf8 - -COUNT=9 -L = 512 -KI = 755919d705d340e86845c4fec32da974146c75f5253e029186eb09f2 -IVlen = 224 -IV = cd0b9f2e38daa99a1a2a8d1a9fe8d12fa7d37845997f3734ff6e2c10 -FixedInputDataByteLen = 51 -FixedInputData = 3f301ced736ea0d4d44ad3279a771310055df60889fcc906430312ab019c236c79aaf990b02f77b158e23b9bcd7f30060963d9 -KO = 6237c416a41244e5c698ef447807313f2f3ef4a31421f199659df27f34293926f35975adbf40a156a6bc4729808af6f5e77385c18930294767ac9b32eff20cee - -COUNT=10 -L = 2048 -KI = fbee8785ca8ae59d1a8d911ba5f85bf3266b4e8e52436f1dfcea4949 -IVlen = 224 -IV = cc67a710a12c86711c2c873e61b458c2d34ebea0b2cb70c91345db67 -FixedInputDataByteLen = 51 -FixedInputData = 69d981bd53e644cb15fac3429e529a6049ec3147eecbae0f737be05b53ddec6a7cf0d819dc1ee1aa78e6be2f47d3195de49491 -KO = 3cf0b50d4f2bb5e89c6ca376c52a31e5ded4aa473b7e78b5fbfc9853bc2d83be85e23f481ddbb6776ab991e9f84d1a77face64f075917fafb5850fceecddd0b5d1ed26166f8fde3d9bd760f6927f34ab621504d9473b9cd90cf6c42d8c6202124828b08429451f723103509bcedbde1676f68974f70bf2ddc8561dc7aab04f732c7158360300108781153a021da8976f93a979498a26ec934fb3c951709c4a78fbc054b4cd31fdfcc8a29ae785ffc43a01cd11020ecec3e8a71f8b4665f4b08371803e21b4bcf1b6c98740ff09c27f05b81deda348825d6c1d00528cc731f859bfdf16a18301a054e3027374e7fb085358850372c64b9ce81f4092daf6c9663a - -COUNT=11 -L = 2048 -KI = 980172922912d1924a0dda637d5c30b3d240a9ed61381943e9eccb37 -IVlen = 224 -IV = 24ffe73d195d3d913a149498f8cb9e246fbe73754c7a5ed407fb6d9c -FixedInputDataByteLen = 51 -FixedInputData = 869e68e9801d7947c686a9d5b28bd95e3af36a4cfb0c997f4736bacc539235bcc4c252a80e4d10898dafbddb19c8e6804dd517 -KO = 2017684d436db136f6a9066c122856687dc9b3fe8cf5375d8e3e2f9de202c1d6be1245519b0770f37d6feadb90f67ed9ba11ed8ebd7db128e1cf0cf335b978d7946ac17febc550163c5a7cdf9502ba8de0a9b9cf3bd01145797c9094551a4c81bdc8a959dfede34d4710e050bc98868d73a74cfcda7979a8e3acfecb6ce57ee3f4df3beabaf8e26edc1a6927f5e28e8e8ed9efc69a3f8741780c924586d9150bb373b497ace2fbb0c794f2eb04e2dfbd998ab57ce3389cd06cf90143b5f3741cfd6676fc4013967c86d9d3c1b6f1456d3c8c20eea722b8946733bf5f2d72879d7bffbdacac52f8b8afdbe3f8fc5992d2c39fea19e529e34fb2ea68baa1997f8d - -COUNT=12 -L = 2048 -KI = 08034a2566cd6d4790c5ee705465d1dee573c9da3d24369d2ee6f70a -IVlen = 224 -IV = 585f760981a2e6400ef53379f993da4e7e68246b8980bb212bc4c26f -FixedInputDataByteLen = 51 -FixedInputData = 0089dc109e84415ae784a511a5fb1150797f1d38f916041f351108d0ea5c047209e909677b1432db021970c75aa9337aa523f5 -KO = e5401f2f252c5333fa978ce45194376318933a66eb3c15426ce940704d1251d0b7dd475ceb5c0ecbcfdafbdc5d7bac547e3baa4dd264048aeffbb444cbd8908bc4d7d4899760beef8eefae63dc764b3f6a6cb3dcd572d0557af54166216de613941e2c8c33def8083dc86a415a2a404439eba84ab7ff5f5101f2ef909b3e509f8283ca700d851e7dd5df2fc150af92e1c504a7c5fe0a367f889b24211ae5720f4225ff3fdbf2ca262f60b53931d7425181220c9e180800f5c9770fe498bf24fd3accf0b6b927c15ba6d0e373d8f39f1fc6e66358575f84ae3b4acf0885368d6af5a07a8573ba0b4a9a3705d4d87a29ae82876ccc33fecf4f4df35c3304a5cfb6 - -COUNT=13 -L = 2048 -KI = 1e2350ceb95c3afde35d2393cab9a79362a94a74cee48dfc83e7f55d -IVlen = 224 -IV = dc3fdf215abbe02add1416c834dea1464121f0d48eca071f1927fb59 -FixedInputDataByteLen = 51 -FixedInputData = df1f1b7bfe0c39556b387a4efe5aa77eb10bf5a6e79a64234c3d9eee9522e5a5b045636ca690be9f37bfa8044d0b955c106781 -KO = 568f0205fbe97bed398fc9e536ccd81b4f66c64a369e3acbba3ff27498126a4ed1f1d4c6d53e10769c405c0744dacf52abab71a60d0c50f68d4989ef5f5d985b7c59ec7ca116b1fd6521ed2fba5fa6b7e35e0fa2b3ff4a77b085d1f7042243b3a9c1d3f484d18a7e9c90b962b17c431a093e47e217748f5dccaf9e2758e556799960af8ae10a2b04a2c98a0cc8d30455fb4cc2eb049b40f5243d43dd7260d7c605b7656eb4c447c6be9679968fadef324d465a70b97f72557a185eccb55de9d862b67a17e923f6c38c321c68a4cbf0b12490ebe344e5d3152763ca2525010d8c38581ce05879638ad267c694b8e110d69a2ecbc7d4cd839104ab87d11abc879f - -COUNT=14 -L = 2048 -KI = 139bfd60620dd4737956bda28a11ed6934b3f728cc26e31086edd112 -IVlen = 224 -IV = 4fe09e88f04b68670665be15b235d01aa5d757b1bc9a971b97fd0f7d -FixedInputDataByteLen = 51 -FixedInputData = 60c904a9de19c4f1140d2b2ecbfc8d252f999d8df7e4f116550a9d07fb564236a633b95b5317a7d7fe3f25ea2dbd909e2a962d -KO = 8c6d9c43952e64a5ed049fd07297c5438eb76390a6ffead958af31ec9446d19f943de99b41a23503431eef3c647f2202cae242e3a45e21556a48ea05d61bf74878c19b48e89a32b6193a9904534f6353b2b0193446eabac58a6bdffce4cdd551121398767a4444cfe732eb9a79d76bf39b5eed775bedafea17e503b686d0b41e2c3519690e138161c6330e2a2cc03df5f769e1c3557bc07e48546952a4b575ed36fe8cc5ba65ee8bd0745ad9d679e2b6f15615c251188d8f7233fe1a9c23d06857691117b9ffa4d6562004e8eec6cb19367ef34d83f80f17b5afc98c5f15d53f4a3c9f6c445d8c53a8ac143c5f51fa1b1951f32cf966046cc3c6e0d683ba32f9 - -COUNT=15 -L = 2048 -KI = 10956418aa6b11b12986805d4a882821b288112cf12007e9bdec6fea -IVlen = 224 -IV = 17445fabb71d10ae8e4b026b73b6ce8ce6e71ffca5ff14541e7074d3 -FixedInputDataByteLen = 51 -FixedInputData = 8c100b8751f615bf61671f34cf810fd0b8ad433a2af89c883a1316b31c0ae72a298ff6e35a29d443ffe3be31e3c3d3a0e2d486 -KO = 9a0e6ae7754044db467f9c3d3e394bbd8be32db0d5c7909b7a70c973f4e2f320d4b93decc5703f4506b304f6e1cc6f2084b5badab0c45b0d263e505fbeffdc45229b1484249ee4113b25c9b429ea210e10761d084a0b4708e057d98d4b13b8adf9f19b236b75444bc48d07403fc99a0067f01418e4686e683e71407059aed67471e96be6fefa15abfb8864131a40e8b4eb6b01a12e9fe1ae2061ce608978615fe5ac860b089becd00acaee1c968f5b5f2b6bab19ff8c6357c71c96341e077eb85dec8543f7c02fc990e5cde070c071cbec14f79a00e0bbce184053ecf40a480e15c5664818b8f15ca15dd29de41b54342f0af7ff1d4daf06531207ebb60e22cb - -COUNT=16 -L = 2048 -KI = aa535f67451a964a3dde1c70d776083709291baa4c18d631dc842097 -IVlen = 224 -IV = bb4c6bad8490ce09e939f8454d7afe276aa74124cbbb9f2f0290e322 -FixedInputDataByteLen = 51 -FixedInputData = 290023c1e34551a4661c4f20d71ccc9af382d803715f04ddfe146cf959f25710a9b556f44fe6702daf638f5774fe19fab14a27 -KO = e6a9afbbf02f4cee90300b9466159a3bad7b2cc2efe0a9c836a92708b476de6487d6708c1fda30d830a2dab1dd90bf7fd48c381a90bcb141a3fe4a25f5a8b6ed015a61f27f38624f8cb92328cbf7b548d6cccbcc6347423eb66cc297f237fc4b20268ee1f2ff5a6c33746731896c22a3acfa07acba36c6829f97a59a94076488497f057c497009cc67bf6093425bbb4ae57e0740f948aaa7cf38b630e4325c223822f93976e63fc82ac8a6358779b9f80109a6a71f7b02ee92a46062021f39d453924bca6d5bc62355fb788dfdd0ce4c17ddd25bafb6196193a79e8c09c4bb319e0ceb29a2c4f13d7b5b86d56552925d53265b30ca2099e06c3872b0ec63deb7 - -COUNT=17 -L = 2048 -KI = 91d1e7a87dd1dad917c984859dfacd2acb2a0b1ca025c452fd4ab118 -IVlen = 224 -IV = ad0b03d227deaeb3480224d6db82724932cf73edb62a1b84f3809b7c -FixedInputDataByteLen = 51 -FixedInputData = 7500e9f2149cfe546bcb56d6bd15a15fea0ea1f3cbbef975ce08557590ac73df18dd6559bb5b06a0e66462d6655595d8f8e0ef -KO = ddc5d854503397d612917d035a6485af7236a7e47c1c3b1497ebb607ba6f9aad0213e6f84c06689b678705f8518600238c94cfc3b40da39d2c101e916873fe39788fea57703e07ec84045dd88024b635823403f7f2b0f688c8811f220b64fd1d169a6f541ee66621c9b8655a499d53ef9c3808fd2aa2184a956c92dc1aac4de9ea5cfb8bf8e4637f70853005d76773b78af8b4a587142a5f572b9ee30ac7d5c154e36d39ed0ffe9e1fb4fee72355089205839cf8ead0752c88defe61cd718bdf726a760b12728e65264f78569fd7c46f0045ed117bedb371b5d0badb7be6a0dec359e01bd26a3e0eb93e60c3e4224059fb041917f06d686787b690bf04a400ba - -COUNT=18 -L = 2048 -KI = 708ef4ff433ead45983304b173c2bec1069a4da3f2e79c0765296d45 -IVlen = 224 -IV = a1036530c542e868760f237b02325f67661fd350f24b5a272314ea7a -FixedInputDataByteLen = 51 -FixedInputData = ffe97ea9ff8d9ace0953ff2e64f0ec3ea8ac86b6827f76271163111cebe1b76cb2f6120de5e6fbfb7cfaa5a518b8de7f3c7cdf -KO = 8bc3bf5fb37b3f53d7da1c7025bc47efb470d67ac5193a6e971ee5ce1f748282427773179cb2258643b43d679eaaca1bad0e86b32f50fb03fb14e76fe63ac05b9ecb37cb002eac1daf8e46f1d26a71b16cee3280bae17ab4ee2b6bcf0716ac07f7bf94e6dc73bfded91d04a5b4f7feafe44d71c7bee0cec78fe27c267b184c24e5e0251e9cd56e4f35213fdc7e970ab2956fd03e07dac7d0debbfc8f456348eb55772b4f0629966b23ed9cd388161700a1f0319b8d3de4be8d4f9b96ac171245cb5cc2341f554d9cbb73664c1bc4262dac6f1683851ae343f627c000bffae5eaf7f3a54e9f15a50a82cc5f7b917248056aed9a1b5cdf14bd3223504b4ebbacb7 - -COUNT=19 -L = 2048 -KI = 0756a2836101414ebdd71f6f0ed7f8ba5941cd6bf5c6d0bb9cb65284 -IVlen = 224 -IV = 5025c8b1ac92c5309069fbea8f1657450ca79b9692516a5b84c646c8 -FixedInputDataByteLen = 51 -FixedInputData = cafc63517cd2f41d8c6735a72a1e292d2b833959e7b55925ad40cb4097fff80754054543c9e2f053a3078462d7d7f8ce47ab79 -KO = c7e33195f255455c01488ca6b8f82e509903aba2598d5a6435afa172811353eeb5c0ebf98b31610c21d45c68815605ad7fe2994bc6609b75b45140e9af4eeafa7de421ac9351f91422c2c93eaa2fba5ae35436908a177337a6f098d6b800e440aacfc603755bf2246243a950076f972be3f64eb7a4399d43b48fbb9ee0d1876936f7ebf9a6dc5edba3e19521cf288f661d2d5f3df64e932f52a4ebfa3611882aa938d36ccbf898e3584be2cf1eba4ffcdb83610099e4ee039433fcca45f9811baa25d953a207de0e963b8988de92d8dc37d79bad5c7168e957e75ae9b1db9babfbc9b098a922d4cf83c22d605b88a1b97839c1376be4f9da2f426e6bbb523120 - -COUNT=20 -L = 560 -KI = cefe15e2becabe5be89dfd117d247666d797c4a892ceb1dff0065e3b -IVlen = 224 -IV = b25e9427cd042e850842246d19b72c8df42e0af5a2b99887ca6c4eb7 -FixedInputDataByteLen = 51 -FixedInputData = c77b474664556ed6374e38d92b210df1b4109c6dde4efd36425a738ee4ac5c5316a9a9e1547c4197dda4bff5b160bc5c899960 -KO = 56aed30f8c7c450640ffd730b69ed33f552a535edb68a477228d17c68dd3073020e7ba01f67b0fa073ab02c1c991639e8912b97bd507a3bac68822fe4b2096da64fc698a6cf8 - -COUNT=21 -L = 560 -KI = 85f7c4ebf706f87ba6cc49ba1f9a611902b1bd01bcfa74b16c8ecc45 -IVlen = 224 -IV = b6289bd38d0bc7810106c25251b413c28d392519b80c61f5c18a9b7f -FixedInputDataByteLen = 51 -FixedInputData = 0be4a555ada08ed2b6a0fd0b5c99719e6a3310b74525de8370d8549494038a02a67f21f3674ec68296b178d14dcb1ee88b0511 -KO = 37c1bf944b03926f897c9c3790f2bf8c0725f90c71aece01f630adb1c3805d5d2f9992956422e0d2d61834d75bb59591d098aabee893dc2d87cc32f1519f33af42b858ef9a32 - -COUNT=22 -L = 560 -KI = fc136b899866dbfe18236139355231d358ff64fc91725bf000d93bf3 -IVlen = 224 -IV = bff93c937a176849462110d0bd036e087dbb6cc5c5012f7fd24c0437 -FixedInputDataByteLen = 51 -FixedInputData = a3f3d092bca64a9efde7fbe8a31848ad544da10344e769c6e4561880cc7ce6c5b04f38d1e1d217f482d47de15ec5f091989d1b -KO = 323dbaa6efb83c970af842a2ab21603ac38dafa4ef8a8d1f799cf8cbd98ee0d3ae21c5c6c97d83cb0c2fcd328ec42f803c54cd9e16af66139bbea24ff63403d2603035e9ea0e - -COUNT=23 -L = 560 -KI = e243146ea36565d710327b0badaeb7eb8b5502beab22a480d9701d64 -IVlen = 224 -IV = 33f3a49e3bded5a688892df254c19adcfcc5b311828fa94a903b142b -FixedInputDataByteLen = 51 -FixedInputData = ae5aa53d5784a9d084d856cda3f660d13c47e986bf2657e060d987d6ba456da2a2b691680e12c25cfa2e9b008c527065979465 -KO = 59bb86d274dce47ab39af704a851213091b2ec78917df13fd6ea2888d11ff3a06c77b414b5f1a34e3992bc173d4218f8f0ec42bfda8582356fd9ce1cad040ce541d4aae3de75 - -COUNT=24 -L = 560 -KI = 4640694cd5edc9a58cb0cfb21f715d3b61e8ed85e206d69192805611 -IVlen = 224 -IV = 8bd9aa63fcd55d2092c0e79b8c5a78c6721ed4468d1ac620244362d7 -FixedInputDataByteLen = 51 -FixedInputData = cd253724e5fc97a28013fd2aced4d5da85eeab12820d8d7cbe98e01b2df86c2bc332697da1c9ec9750b2c972dee76dae08cc2c -KO = 8d699711efe8448905976696b54bee31d4986c03a1b0f5ec88998ca5cf18626cd5819531d4484379479c5c2bdfd349d07d34bfd55c644f92ef2a54ea24982de52f21aa74d16b - -COUNT=25 -L = 560 -KI = e28178a68cf62cd7223739bc31bc443777da151d42a1cdce54dbcf0f -IVlen = 224 -IV = 5e80d4762b3eaa4abba4dc53aadecce17608da37677e1e4446fa30ce -FixedInputDataByteLen = 51 -FixedInputData = 921867c475e61a37b9dc5958523b67effa161a5b599bc028423e2e54c20ddc3034e72b1aa468c6efe98d5ace8851dc456be678 -KO = 1c66caefe8f1250ac6697acfa70b265384011f8c39154cfec25337698cb6ef16c30597725c628371a624fcececa89361c7a90c57b51338be8dbd1930a90b50876ffae7dffd3e - -COUNT=26 -L = 560 -KI = 1b9aeed8bf655cf007c78aabaf51abd6cbeef8b1f905d7829dddd2cc -IVlen = 224 -IV = 2189cdc9ec33dab43cd7d15caf33a77490a61bd1c6571da6362926f0 -FixedInputDataByteLen = 51 -FixedInputData = 08bc7bbfe0789e65eb4916bb76813fb26c65eeade5ad6eb1d3b4602221ef08dfa81424e61c09cf2d23f28c59cd174d740c9c08 -KO = 3b84f75544e4692212e397e1abad2e9708686185f59278057ebc1e58a4292e4db38729432578c6e27b269a855cb226265c65557e75abf96547a0805911323c02bb0de92e7387 - -COUNT=27 -L = 560 -KI = 867dd7a2db5112efe754863d650a4071f964b0a625b57afc48204bbc -IVlen = 224 -IV = 88c4c15deecc175e3e2a65b4edae621cde27395009aff6068a049ea1 -FixedInputDataByteLen = 51 -FixedInputData = 86afc9a80ed88e9c1f3f7da9776ef8e495ff617d6b5de08170e34858959bc14c624178b8a6976c4c8873a2cc868a3436e8873c -KO = cc26c15725b6bc45e14da58813a2db506cbe1bb349232a16199c90d364202bd14b4321c4f9564a28d1275f2561f2c425148877db05cd4f1d40ed62b5622ef83494b9214cc4f1 - -COUNT=28 -L = 560 -KI = c8f0551aaccdb9bf53dedd3b2ce1f40bb4eec81251638b4d4603d3f6 -IVlen = 224 -IV = e15e3bbba317066a9709f9092d728dddc734b415675a8e34efa609b4 -FixedInputDataByteLen = 51 -FixedInputData = 4fe0d8488e4145083b4cdffee281a8b676b9bce9b434527908cf9d14005d72957ec889d0ee25508b4553768a629353c67960ea -KO = 705d1646d49411a7b722394fa24fea3fbd72566524d17f5ce03d992d06ce8d89f6de6495486620c9cb3a87c087aadbd8c0624debfebb181de2f06cd3b85b22badff40ddefb31 - -COUNT=29 -L = 560 -KI = ad41b9e00cf867d792af68550726eec96d1e16491a63e1106775ecd2 -IVlen = 224 -IV = 1147a5e7ff6512df9875c4625443731a8f6592707eb4d31bd963d014 -FixedInputDataByteLen = 51 -FixedInputData = ff691427158d17d7ade1f90651b5f48a2034b8e5a17c1f4b77658538b23c581e5b39cccb6408d3f3cb78510524c36b76662633 -KO = 7c7918d8b2271a4cae56dc413a9846e10e15a3cb5237d723fef194ded4ba6e059d83cdb455d7d2d797e3e0365927d4c08cbefaca4304f3c264e32715d64a99687e83f24bdb6d - -COUNT=30 -L = 2400 -KI = fe8e1fd49878d3fff0c455c1251637489924c6a39c314da58c8c72b2 -IVlen = 224 -IV = 11cfffd3dd6bb5bae2952767c282f19141522b5e74076e74b41405bc -FixedInputDataByteLen = 51 -FixedInputData = 444219bb9f5218875bd38a151a8aad6e47045f60687585f46a2e44437f4f918273233f9c6051685f9ae7c2747a288b1c1db3c1 -KO = e321f45df51f126f30d0d9825063817edb541cd2d5e835ed527cc5cc5c13782693624f098046b98d093cfe54ac5c457385ea348384109ff652683e7e23eaf709a0211ef115ff3a2510873c9b62d0d4b1528665310ac41f90cfe696e48c77e086113dd4c9e443cd16433661b871698c8e71317a5ee29d6f095ad03f7bba5f744d0f8855d216789f7ac6bd32d918a5843e64e0dbc891daf2dc5812cab0ade7dc78cadecd8c93055a6fdd6314b4c91a0bddcf58b07c40386592ad7d69099f1420b89840c8b5695311a01920c9a6ec7f01419f80e1e3b9a6f424a509f9679dabb483a9898823d8586eb329ae6cccb4a07cac3254c23b304324ddecf23a8d65ff0f67d2d522829a9e5b4e73db90890556709e56e3efe8dc271cd4a08fa5b38ac5c70d9c4905d14f095ca274359a58 - -COUNT=31 -L = 2400 -KI = 6e7d1dd262ffd3fd6aa9ec6048af02c0f1b7c49f6144d5f97996d323 -IVlen = 224 -IV = a405260d502c985ab1ca6e8437cfb0d8db2ac0cdb2b4298859c7fb32 -FixedInputDataByteLen = 51 -FixedInputData = 5fffc48046bde8b0af2abf895160d4dc99ee250d2223998791ab5871a3b3243337f8b43b7ba3d0627aa6e4958e33c29d8f7857 -KO = 6edce080f676fec4ca6d73e2f3a7f5e055542dd15a8df6b293e42fa179d3c20f01be5b4f5e86d40dc3278bbd00b6f0657b4b89d7d5cd304e3f9bfef5aa118b486c2d8830886daab2865d2be1d4d38807e58de485d721ca7b8dc93ae3a2113a29de6441c804e3d1e723636d6672637224420017ad4cbb4dad9a0a7b5cf9a5627fad0388626ab841010e2dbeb2817d74d634337fd4f89fff3901d78b34775b72e274c8cf6f4545d179d1b1adabb754e30b73f78585f6c85e3461d470f075aabd667932dd025997fcd720e169ccf4e4b6088ae94ee5f2218acc121265dbe5a0c1379ff01419f107ed7deacec8360ec4f3fa1f6aaeb985d51d05b954632473f4357c27bd51f1633cc4f78a442bf987ec33d505aecf10f4d91957284c717c1ed7667266f5bce88a41c00c7239518d - -COUNT=32 -L = 2400 -KI = 659dd034cc34b06e1b905fc461b90b9cf851422faa8a46d7c46ba1d8 -IVlen = 224 -IV = fa47c35e8ffd3b8918ece9ed925c078dbb792ba5fde5804975fd686b -FixedInputDataByteLen = 51 -FixedInputData = 52ba9690b5bd4968c77b8245d2c791a240bb4ab58029a790709bdeb6c06c857bde10b7c90eeb39717ced930bdbd7f56dc37b48 -KO = 0f4462975451fc45f60b0f198b375cd2f83112574d834f4df178312649ebda8e9c74c52e77f9e21c5ede6b4d9ccb8705355a0e60ccaa7291df6dccd03d3edb1b98ec7829b853cfb0789167a061d798b5d9413176dee1414d0aa2d0376cafa43787c169e4453a26490e5f436dd257dd00045e8b4966b6846c94e1f8ed78534184b28a080a84a155292c678db79dcd3a56e4035944252802a6f1d4725208727dc35e62cc837e39642adb1e2cf9431bf0e05f1220b0cbc1d4f22136f4aee7f72be5e826232b8dca09fd28cda3687857ee4e3b89d6e456abdc2f208f37e74901c86c9f4091637f80ad565edb1f57f149b2eca7ae0a2f30e5fb8296e81cbd43dc7ba398ea3c39feb14468c5da3c00549ab0b8945a3fa73b5c5dbc1cb3f9aa383d739ca92a3c927fcf2ecd6da52325 - -COUNT=33 -L = 2400 -KI = b18ff05922788cdbe48aff75d6d2489cd656d91d8ec82e4ccac206cd -IVlen = 224 -IV = 46ab7d46fe1b0f82f8907c896915e756367914cc7a02e4b433c3985f -FixedInputDataByteLen = 51 -FixedInputData = 657ea85481e98dfa685ed9ed8bb93a6b1dafcb747f3afaabd45ecbbf2eb74ee25a126aba1aa32e3c7c1c8127483184bf1dc5c0 -KO = 389983d0ee81ec7edabf05916451e58b286c3a16216af7b59565675eafef380b522afe245bc91fbf0fb8c34f7b60788235ca1b18a417865b0f26adbbf6d17655b87f644e81d7325af0003a7c670bb9eeb56a81a2a36475fbb57e52545a3e10682b7cd9f5888df2f8a9d2213fb28a64207c61e1c64629b69dd68159cca2c824ad2ac1a200468da4433f29bd654b344bb0782b8ad140094072f6d60e8307cf7ac151771aae342f60a5274729720d89193dc6db9788f1bae0706540db17a23b1c49a5c95d9cd069689fc3f6b813257f27a48996a003e9f4ca34d0a5ba495bf43f276e69dfa270d95202326fd4e2b8d32952188769d8ec72cae87441f2d8fa88f5d2f2cd418e5c5d7f4c3e2aef69db8ae7ff30406826990bfae25d9981cfe85523848f65129791a899b6318a0503 - -COUNT=34 -L = 2400 -KI = 4739b618f4031db778a3be8621c09f7200527c0522e6490e0b4b49be -IVlen = 224 -IV = 97e6a13cc40aaa3eca2da09eee06275450adb54217191b62f040f12e -FixedInputDataByteLen = 51 -FixedInputData = cb42596d849be0af1987824263d7df5074d018e4796eb33d3c5ed65d86c131b7ee73a75bf76961275cf2926a9e98ebac8228f4 -KO = 74aad50bcc78c96cc6a201a3fca97f95e739983632100f5f0a70805b1df66d6eee8537f3fdb8572b092d09690abef890c6ed4bfdb17e271d954d78971b38adb7280375a6e66f25f85e91a132be8cdff702b78365e26fe020bbfb3ec7a4719fef4a8702969725452f39dc711f208873a399863fc8c545d46f19d856661101dc430fb39ed514435db9b7723336d3518de5d11f768ad9d44a6f91b09bd5d141303535de739ac5314daaebcf090e6842fb28b296a34746403aca5f8f9871a5709b796547c959409811982eec6bd260140700e4dede565b624176b79ae60b79448ead6f4460a196402b373d004170a514dd6d26428df092ea7eb924ba07dad556ce4b93f3977c7479b8935a3f3e0fb724827fbc0a1f04586a66e043118cefab592bc8ebfef636019101e97f619863 - -COUNT=35 -L = 2400 -KI = 64874aa74ea8186809ddb7e4041c2f975000bbeebedd8ec065121643 -IVlen = 224 -IV = a8d469915a6cc14e13a9ae8739c0914715aa789032ec19ce03c0a106 -FixedInputDataByteLen = 51 -FixedInputData = 9acc8f27d2b4cb47e475b858795c2537fd94717e3456ad3ebfb9a25a2f8f9f254162329ff478c76c24a89c442145db573e20ed -KO = 48d8efbd3cf55c9c0ec4a9a3bff22d7d354a7b5228d172e0be270915708eb462dce20fb4f4ab9703f89b66ba6f3d04e437a4878afd1910a87c621bf6943e5cab08fef53fb6878ba2971d2695bd71cfd79884daa53bc7137c9132bc2a3e93a6ff815f537d85a08077386b1eb397b56af806135b5c055b04b2b598603fd74f06b7c08d7163eed80e9eb4feb3c57dd3023c47a941ac4faa0fbaddc7d45e5ad16ef272910fa9570625ce744e1fe24274eb789a0e8f8202cd190be356fe113f0debfa3f85c279c74fa1f9e1469fcb9d81dfc23c6a3dca3ea400ab9e8e260b6e56163efa1042fb48653b974a638a25a1dc205233d2f99fe8c1594a4d9ab2c786a3b284b8139d2766dbcbd73454cc0cdea1518ea44c5af89ebb4d44fa77d2c3d0aa6883484686a2ce7293716a630936 - -COUNT=36 -L = 2400 -KI = 84ef6c1a209ef06759932329e11a27b69950cc65260bae527b73181e -IVlen = 224 -IV = 0227e3d25bc9b3282c24c30c04c32b40dcd550e7bedcd5d338e323cf -FixedInputDataByteLen = 51 -FixedInputData = cb2c3488e8a5e0a29e01cceab23e20a15219cdf615011d6178ffd98c9466c18a7cec3bbc2874339f1de6d5cfae6dc139a3890b -KO = 78655e23d98e902417fcbe334f1185cf30f3d9532bdd6b5d7f89f04b1f0bf3f9f24a4397c9f3f6d06f5efd46024466e274e95b0384aaf5421f2ecb8cde463aa2628820c7fa2fddd7bd50bc6721777da946aea5026dcbafb47dc87a145f54bc12de701f6a3f3a0ea395fbeb25b7ecbf4daa74f0ca041c09d8ab8e2147d205100d86f620b63f0bd02e2f0a2437592d434a45972136209f49131060151f53cbee88d9bf984c4392d9428d1602cffb76c7e57c54d506e0774f3929eceb430c26aca8eccbdd222dd9798811902d6446fe6152037795c734d6b2772ff844b63e9862f4ada060480f647dbb1863c6873db27baa369649176b2db1c61feeca37e8d0b45c13f2ccb3ca19a4abcfd8089310c0874bd932ab1fda4bb20478dd92aeb17433f3d4d4944d432e60169c36f32f - -COUNT=37 -L = 2400 -KI = ca789acc2f4cb6fec56073cbfd90e5d0c895d59da953b31de02ddece -IVlen = 224 -IV = f53c2ff44948aa04843d50944460784ba10c1bc1c11ca562fac76250 -FixedInputDataByteLen = 51 -FixedInputData = ff363fd11a914cd42a6f614512a73badcadaae30bda28dc4b35559a472aff1c074bb6d4b411c3c19092528df3af61ac61c8383 -KO = 8b40f3ded8600ecee8682ab3a91de2c13dc5f3dd1b28e17f7f752dc70adc5553509ffc933870fa174b80cbd86d5a038298df19d89e1f1f80b00a97ddcbfcdcca27c0e738dead9696228a3af756b987f91d703aa7f8d77a7ac6fd142513415b593167b986fa698994cf4eb53d692cbdc37a3171cf09fa264da615302208ae74640845ea003f4f12453d355ac33e10e783844ec616a838dfcb151f4b32b87ed8f80a8c8fa6ca18644d2111526e709c451bca918907182b6331b9c98cf93f5b4e36526c0c099161438b6e837dd9b21054d98630ee2ee00246202c1e0f67a6b1d46f139eb63c2e64e45d6d5c77a488373fca494521e2f5143897ac5a2bdabe1ffa5956d325c3023507d0f97d0da1755b01441009f1885cdcb4bdb4c9fb49e4455a407ca8358feb6a9932544c04d7 - -COUNT=38 -L = 2400 -KI = b67fdff93fb3793bf78a3524a596429d7f986071341765e863b63487 -IVlen = 224 -IV = a400e7ee63234ff6ffa6892568f85c9d53d3264b0493dd0b93d50769 -FixedInputDataByteLen = 51 -FixedInputData = 7f566fe6bf799fa2fd2ccac3a2782fefab58099110efa9b5c1ae1c33430b2f8fadc2027f624106db92545f47f8a90d4c1a0e3b -KO = ba60fef37c422d2026650f7c355aa95cd2db8d5ffce315111e002865beefd24cc38b55530c4f61d8d5764e273d8023be81def8ad7b92f1407bcc4133c71505fa52368140d0ab40db27080c909d5ae9f0a576e492de7600309c38d0f26e035242982182f7491b87236eda0b16265ceb0076ad366b7dafc60c16307b784d7bb5489da7cc886488279e8bce0906aa11cbc5b6734138995cb4056ba597158708412e1d62920824acfb557084a13ca3a8e66866ae5f0f45ca1e5c220a1f22b8a24789598a306062000661255bb45d245b59566729e47be1ea8782c489cdfff45f0809e5608a59bb1d5eb8cf7e963ca709d1a2fb41afe65698d9fd48c810e62980cd3ae82c239442eebfabc2c2bd91519fae39b8989030d9e2e17fa627f9daaacf413e21ad6cfcbd52e83f2dcf54b2 - -COUNT=39 -L = 2400 -KI = f834b723b5238b5ab1081f09eec6d471cf2d1e6b1d82d9aa3f80c86a -IVlen = 224 -IV = 171d0097d01fb9698a48b6b5116cb832926c6db934e655343569ecb9 -FixedInputDataByteLen = 51 -FixedInputData = f72eb634bad58e31a355c7fd71219f87d96548a4588f29ed138269d1c35d283601e8d01f6fda749e98587a4259327947501a72 -KO = fe9a4114e45c1f9e0cc3eb7d3633e6405860ae9fab742f83b83007ca2b6e187090bcd41d5425792969229f027bcf570909f089f8621c6e02eb1a8701892afb3d598033d185d4fc36ba279b550d5793c6cc14f5a7d7fcb72238ed45b06dedff366616d68395132c8cd3f2038887dff829191583b6e2f5cb45f6de66b90312c1f451e7ab4ac2762bf0547594ece71573aad1de88adf21c59130f5ffbfbac756ec2b3375b9a01be77745f8707f03401812f7da88527da3b5b87d70d6ff68c8ab2671fd98dee01ff4b403c2a82820fd27b82572e7e0d2a7f71b3c3214ef105a0badd9b31d07273b159c0788fe90b4e25e1999074def75fcf72fba2f9b7d18d1b3ee781e9849c979d573eecca6e227091e2a15393631af4e8793df8d9dc85a3f56256faf9398c9329eda5f9f352a1 - -[PRF=HMAC_SHA224] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 1c1a5fdfad9678de50825146f849df80a2d1bd615fc218012737ea40 -IVlen = 224 -IV = d98e63af1649c8c79c06cefce0eca4e1bddf9924c273d3476310231a -FixedInputDataByteLen = 51 -FixedInputData = 2faf700a828637435e9d6a2c129e0b5e275690d2564d1c24f9c96f478a40aee059fbb30f656e4d627e8fb9cdcccd509ccdfbc1 -KO = 37f03ec19aaa1f6a3993d8d45265b0b7c9d589fdbefa5ca7873d55f2a101d4042a09e58098e7e8f713e2125e04f973d98589c8ccdd7dad908cf952284a1ed827 - -COUNT=1 -L = 512 -KI = bd6022612894d8fbcf4b550a69c45967ed0a40eb36839bfbc0fc6161 -IVlen = 224 -IV = 3f03e68017e6f51d3cdfa94ec3a858c1b7ce54b022c492557ec814c3 -FixedInputDataByteLen = 51 -FixedInputData = 9156f55381d6d0595732e2f571547c626106fdd6c1b0432cfda930e69a16cf505c7c6bd6bfd99a507da56b9ff25ffc5c4bc7a1 -KO = 811679c47ddd5f5ad58fc1dae0cb4c2585faf90a13a8b9be9fcafd5a50306ad30abb46def3eb1b4b7c6494f10774cb675448226b962a0a650de87a67e9d2a34e - -COUNT=2 -L = 512 -KI = 14a4440b4df6e14c639f460ebba5e5167028ed248132aae0cc8b6a2b -IVlen = 224 -IV = c79bb2b199514c3cc236517d656b451611e5cd62dbdfcd6a63ed9616 -FixedInputDataByteLen = 51 -FixedInputData = fb92f73b4e8e13cdb951c5ea9b722ced6cda564f6ebc5e08ccd89001b7442657321dc142185f7ed6713c5657db82103866e885 -KO = fd6cf389f488915cb3d434bc78886063a0cf0cdd64c180ffc21cb7a4cfb657a0f58447cc57f4a8874b19d2ec72e7b5fcf3230b539010f575dfd5ce641495975b - -COUNT=3 -L = 512 -KI = db1a16da8836099f4d54883478c8205a653dd5aa4f109106b17e133b -IVlen = 224 -IV = 5f466bc055a9ee52c8be4f887d6f796312855cce1d9d86b6e29fa181 -FixedInputDataByteLen = 51 -FixedInputData = b6522badb3747f007a8386b36fef690b030e392af20f5768a884d1dba3cb37a0da5cb4b23d269bcdec539ac6f5ab808c0e60af -KO = 2adf53cca26e247dd3e6a1ff8c160a5f03ecf6183d692608ae57f0a2617ef5c2daa0076d845b326037da15b1182417ac19874632f9f33e64fa8f43ea11607fcf - -COUNT=4 -L = 512 -KI = 8ebcff248b9ec15cfdc20751dd2bb8d2935a7fd4760dd289e01b9cf7 -IVlen = 224 -IV = 262e922c4189c023aad241c603851f13e7389a4c4644cd4fedfa0425 -FixedInputDataByteLen = 51 -FixedInputData = f73c2a01ce16df34453d46afdbe6861bfc1b542816fa0f54655848a9f28a4029ab4d24a321810548d7e11a782db11c15c615e5 -KO = 2d3f3d8389dcaaf32fbcd9c642624363fa66e77f9266b72db4ff00afc110c46d2fdc1f55fbd6a9db221ab7d537f9ad9857f2c6e45fddab14ea7feec829ecc410 - -COUNT=5 -L = 512 -KI = d54d7fca5cf6b5e18a2376f4ae902166a9fd08f6914b55f994131c62 -IVlen = 224 -IV = d301a57019e561bbfd31d88fd0f573e3488bc4c08ce38de47bd73e35 -FixedInputDataByteLen = 51 -FixedInputData = dbafb846f420a51308bad5e98dcb58976187cab676120d87da47bdeea5545fd4f7cca0d00b4cc66030de12b7e3ea66dec1777f -KO = 95abc3bb64aba2b244e0f482c2e7700e41c5fd7407ec3006edaf4e0af0795f913d01e0bfa64045de1e5e70fa41bdd315c61b284a9802264db78b69684e76d554 - -COUNT=6 -L = 512 -KI = da93d6504a5cac63777c190dbb8c87945cec01c85c6a239dbbd6af63 -IVlen = 224 -IV = 014397c4bf8a6a48185d0e281befc1d6eb544416d6c6d8f86f231669 -FixedInputDataByteLen = 51 -FixedInputData = 8ccc63a3b0b85a9a58c1db458fb2714a9fa114ad615575a8ccfd1e9ebdc67f7f18900235fa9f879ce3a3b0e4f7790c32455ec1 -KO = 97aa372ce34f3ceb20efc5081258deae667f0bf81970feda0f22e182f944d53d9bad35d0edfa152d7093543446ccbf7b859c60e06ae0b69494a86a616587034b - -COUNT=7 -L = 512 -KI = 0caee361fb2e25f402ff4e2d930b296ba2f85808c493ddad9037271f -IVlen = 224 -IV = 594b2782a7bed86571c5db5eb1bbe97be311c4174a15453973c067fd -FixedInputDataByteLen = 51 -FixedInputData = 3a0ce6da21f57bc21433a37c662212195d66321d5f4d293f41e8d64fef5edfd61cbdd4a9d9efffb7221b4f80d74be27d13910f -KO = 4360fe0c975f8020e9a513a786edc2386c5f0ba8a930db6982fc12bc7c5e2016b331084d240f3b67042209f830d315269083476b1b4aadcf4aa551f84dd96f9a - -COUNT=8 -L = 512 -KI = e4ad65d8e33a292e9ad80583902550679418f657427f01bfbe64d7ae -IVlen = 224 -IV = 6cc8fcc433659c44c5a8621ed4732665ac2cc70e068ad6ac375f3917 -FixedInputDataByteLen = 51 -FixedInputData = 7e65787dde6dffb067bfd8f376778eee0f8912d20e72eae64828000063a266a034ea1a62948fae840a316295982cc47a8c6e59 -KO = 650c4a60f62b5e18880623d3346c8207e62a31034f7e343463649789a6a30cca95750a9e868f00dbc8deda4805a01e7fb9a899fa4ee8bc0e5e72aec4d533a0de - -COUNT=9 -L = 512 -KI = e4937df7439823c6f023d42dd5d2cabb863ed5102cd995320543836a -IVlen = 224 -IV = 4b171158801a8db111289df95a727dabd3538abcfcbbd75582cfbb20 -FixedInputDataByteLen = 51 -FixedInputData = d534d866cddb91352d9953ccef2c847109b06eebce040f5cc1c3a19c7db9d4f96c3d5d07ff98d3d7855ac1b5b64aad929e91d9 -KO = 54888819740a991362d971227849d337a105e299b77940374f371e32925bd02702ddc6d78df66cfa4717929ff6ad8eff0bc581c88ad8d83bbc9ec75dbea94c19 - -COUNT=10 -L = 2048 -KI = 2361418d8c553c17a760f550e8b5d81de84417e152be2a6b63da8137 -IVlen = 224 -IV = 9b0307eeb91ad815690db4554372ecbb2132503316fc747b416cdddc -FixedInputDataByteLen = 51 -FixedInputData = 785e9d9b4cea772aba0cb3773fe741d7ee3b5c20cc8a68794933fac049bc51aa06ecdcd4d63ecc7b6b6757f4332d16331308c1 -KO = 6c2e6200e91995b80ee848b8472f5bcf7d4ec50d635892dcfe267847baca730ec495ab8924bcaf95a72d5b8cf267f11fbc607324e9f34221bf5bb711fca95fe2d4df112e59a44b896890540c8109a9ff559415d70322589f9fce5b34d69c777ee23eb0e0bd7a9609ed1896af69771f2bd52a1d09529f460a025379d2c416dd01356635003168d1af7b1df987fc14d0062ec3d0ee1b57413d81045d405fbf61ed37cb9a61c9d105f2a330c295ad060654814dc144c1fdb709f4fe07a34dc6ffc553d2c0d2d4939cbea7720d1bce1eac038edf7c5bf89524c122e06a2de3b33b8079c92ac7859740adcb9bdcd046a0d49e8d6f8ddcbb6752e91abb575325ea606b - -COUNT=11 -L = 2048 -KI = ddc2cb26af2aac2d4c30cf2bf7bfea3cc97d8a5cad22f145e2ae29a6 -IVlen = 224 -IV = 424584204d0d916eace43aed8f474cf240401c0e4b75e05612224418 -FixedInputDataByteLen = 51 -FixedInputData = 6c3eccd0ba7e711d59b56a9315c5353f2dacfbb62ff52b1da5d2ee6c3ae6e7893d27fb41bff7e5f85f69e7e51bcc1dc394278e -KO = 930e89f67c3ccc95a1b4d574f61d017993db6de41f1b8ca28c8f538bcedfe6462fab1bb266e2a6dc6a0c327e3217f98acf64aeb6dea5ce24ceeafe3cefcbc1f8b43b72bb598b9376db3007ce5ed4d082e81d5d3729cd20b36818826e4170d024b0cf33981b9f2f79b33b7fc8d431da8ab040c76c51575f28a1878b0289397820ace0f9325ec118dde7ec32a8c9892f25f09623b71102794936b3c699858bde12cfffc1218b4e7bb9a156afc39ccd30a7239039128a85896fdfa45c62c397286f6bfc5230db756d8516f55ba754270ddacec507d3c061e88fd027813dfe70b2805b53fb0b037f2dea22e061933a37b0c43d9edfa8f32914bdc7ee18a4686b1856 - -COUNT=12 -L = 2048 -KI = da5ff97e4c2619f0e52315929120d1dd23c7ed2a84d1e2690a8cbcf0 -IVlen = 224 -IV = ee4d7afd653d2a541a88f68ff8cbffee51548d35c750f4824c442d1e -FixedInputDataByteLen = 51 -FixedInputData = 853feabfa5927e349261b97d47aed113b68eb691c7d0d1c7e42eea2fbc3f397ece0c472018a0e513d775064802bf7275640367 -KO = 35e896c350da843dbdce76cd53b3dab306e9d5f0d049eaf42d462ac1804db2b164f10ebcc8d2bb0b1cfd4bd899bcf9f95ab966909ef3e66f49a61dd7fa66d88e4a4e06b57dc1b83637f82053154af8ae04a03a2a1c8e02965185cc60681eb96375cfb77b0b65c466ee0df2bf6bb0ad3e09c7a195349eca55df31413472a1f460ffbabace97a949545c22ed0cea756e969d5a3ecbf2e117d45825293b4b2c46b2ea873254d94e08bbddf1a1fd269e1ad728877f31b87d48132aa82fb7b50132bf4953b82cd5b948268f14085035ccf8b9cb7e3b7623273c33297b0f40bbdd5d49cc372f5cbd56fa1acaf0a5bff2d1a1ced1a891b3786f83c25a77b177ad7275f4 - -COUNT=13 -L = 2048 -KI = 72e61fa40eb3ffa71e5ca47aac719093aae9e018960eb32ec73fe00d -IVlen = 224 -IV = 8a5998c0b85046409cf270dc005fb48a286427e9d0ef9b4059a167b4 -FixedInputDataByteLen = 51 -FixedInputData = 73a799471bbfb8936f0fb8e856d146735e07a07a07de3ff36522543288421739c4daa4431bf1e58f988f0e0787a248f328e110 -KO = 746cbc4fea20fd8c512760fd013722955cfb022840f604bb668525c69b582e173f5d99e18a7a50d8b2a1e99700e5ff2183de40df41468c340dcb946d805e7e2a94b5dc625af8c366e2603732f70006bb669533be43c0838d6ff915fd826adee55eb996bbdbdbd2ac7de76d60432a4599ff06943172a2ea6b3ea14a47b21003be4ac2fc7d24302135240a18865d4693cae2285c726c00b596e9a33cf3dbf4df7ae0391587845c3ba5e28bc377f92b870fcc492e860d53d52d85bcaaef75e751d97c0682fa6a666d3042c65d1b34d6ecbc311c01d56d0cf31f3b928adb9e27e5c476c3de6faac67d47bb152bd69657df7120831759b0cb630d95ef209c81cadc3e - -COUNT=14 -L = 2048 -KI = 8d55d501defb65e4b2a510d6ba911e5303e1f4ec5556e08c78c2de5e -IVlen = 224 -IV = 9e443c930672c841f066077b80e7c00fa7002ace02fe22708084692f -FixedInputDataByteLen = 51 -FixedInputData = 2eeabcd83849e860a3afd663114b118ae6ca9bd706a791162de03522b8d1f8234dd7de767af84cf0746a5a2a5e807010482a79 -KO = 893452f55bb6b1052594df7ed13c17d1ebae4a9e97394665d8c2b1cc18fc15e6d3c69820c70907dd2ef384588c946a7150e3059994168a09f053419f1ec5d5616038bfbc5abb2735acdd4aad31b0ae0e9b2f43b8163f986c0d9299430e8828499b253d2bea0f33c5c4afca478172982f7f4d9738fed0c9928f38863ef2d028e98ccca4d2f58d6ab64c3296a2b4d6ff0ba344aa702cfe025a3cd2de5b0437bb92f48051be33920e34915f8b1191c6a1389a693996a365948d137e060f6510b785812813ff20906d9ce88b30055505fcc90a0718295ccbf4e4f00524929784358652daa635007dd17f706fd1c3b35062c86d53f5f8459ea92fdc32f086aca91c6f - -COUNT=15 -L = 2048 -KI = 83c8b82f58a962f26acbe037d4a6521a38326ac23ed3e2b5bf63dbd7 -IVlen = 224 -IV = debf4474df3ad408a372a9363eda64a27206c0aad24c9f26d8ab5d0d -FixedInputDataByteLen = 51 -FixedInputData = 66a60163e080a1203131ffb57698c077a35d867c657950336aac74885b5f1454919578f1b97f893a47416f53047f3067f8bf68 -KO = 6233b248ff6b1e216ca3d10706ebcee337e367d186e82bf7b90359d250675748c96e3a7617e9e27e471dc3dd015a320c4e7ba350c626d44b2be0807429e4dea9261ae215287730dd11fd6a4800ac449ce7afb145463f5bc7a3a3ac81b314d5351a20071cb5a3646ce0ebd34b9fc92546cbe920a3b05ce7d107e358746681fa011cf4114d1bd31823f5bb8bfdde1686569a985344cd9209951c7ba48ce43343d86f146ef3a3f4749314905efa05bb52e84fefbede61a7c42dc9a5251ddd9523b9cb19f530a2eb9ad0e6306b6ef868a1b92324a551f62684df0dbd24eec4fad33fb1dc479dc5ff0b8db6b17422e1340566b471a806e46d0df08a7b3d8358b2ba86 - -COUNT=16 -L = 2048 -KI = 64cb3280714414e9eb4da780d88ce24c790b765fad9bbf1b50317c65 -IVlen = 224 -IV = 558e2334b555f2821264cd795ebee40260abc8263f8b437561043c18 -FixedInputDataByteLen = 51 -FixedInputData = 31b1b37cc993b8349d64286989a4778265a4b500a6eb88e8c39ca7b6388564ef522f220356216955b1cb08fc34ea101c03e76d -KO = c346a20fcec632c700525d07e8359f4625279fb3d042d350c912444dee83a0ff2a78e20f86b3f28865a2d4c0ce1bd8c75033c9823158dbb589178c54ce42d8bc12ca93d4f8b96601244122c23df773157fae4082bdbcbae093adae78c42e45bb10ca45d85067f1037feefd6a409f4c33072251831b258ed0d8165d6ea3c751c0185caee52218e20a5087370f0fd980ee9c25ab9ae29c8e87853db1849429b12ad98c70ff307dba06aeefd04c5f7562ed20ede6e9bdb7eaac057daa04e6bcd1da12654ffd92cf77d8c9c7a4462c387ed400b6c06a50ea55d39299354f2ab1398bb2ea5e6da25b82524300f5c219e70426affc9f0e8f02c45d3c55e505bde5b05b - -COUNT=17 -L = 2048 -KI = adbf7e4ca516c67122aac55cc27f1bcf1b48b441957c04646e5cf9b3 -IVlen = 224 -IV = ffe0ed5a1ff5b96c9e40961efda17a116c74f3f5ea8188c6cc3ddc84 -FixedInputDataByteLen = 51 -FixedInputData = 006a91228e3526511e435b8291c3e5aac7367e34d381f8db6e6b9a7f9e366e88839dbfe58a1757198ec0259de9971440787a48 -KO = eede3d2956e1c2d5267778c75cafcc2a2ab52cef39bb9f404a25b81c3d90007a53ef9bbac12d8989f42711e2c0c989d27c687a948bac6a362bb78cbc976448dbcf8903e824fa710f0fac836edc634c84aeefc7cb8a7c55305a512bab9556098c59c648d4c3bcc40e20f7da753b0e6d259bda377729ec703e3db95a51c02b4cb459cabcda6da6a1c3b089f67d870623ce769b69d616d7fed68546ba839da5865204a5109ed41b17d649e5c603c312092ed683b4f12011933fe45b8ca41fd9c038f51150173d2472cf9094159388e2fd5961266e85256ad7d629c4794109fa843b5a859d1ab4691e94cdf0087f86f9c0d00e7cb774740c3738150afe9aba1683a4 - -COUNT=18 -L = 2048 -KI = 10ea1d6217040586fc4172f32092e961b03ba5eb3a866e9b294b6365 -IVlen = 224 -IV = a02061924b13cfcef5208380e6e0560fc1cf961553157d96789d1f0e -FixedInputDataByteLen = 51 -FixedInputData = 7c7adf7da3bafca2a352e70f0b4d642fe0c7d6627168bd373c9b3b7c5cc140d2a42ca735d473204b4b8346d8e812a35179b431 -KO = 13b4bb7a93bc753539f21272143d42a2d3d1e97c85d102dd1cdedb664ce993165ab351c3a95257ca236dad7f79d30de05a069a739c0c231325552cc2fd51825e3516bba47ad3c8394e90fac6e40f717e5ef9f67328f22a9d0244a17beb571e1d5cfc069f457503c15c34f1dc91d882bd3dd84b6506a7c69650de1dce38c227d827e2c4a1b20749f735a6f73a8236f4145a61d1a0df44d4f15b1ecfa01abe2a2d94b96dffa6248ae982bc8f713bec34994c8a54b520c3ebca135965230add0490cec91251bc87b960d40fbca78c4817ab207e95bfbae8fc4bef88d6d4e7f2b7fbcaf39a9479b070fea958beed15ee2e107b824dab1fa61545f2bc88e470659298 - -COUNT=19 -L = 2048 -KI = 9cf56a4f931a4086db05857942535d81e678b29d0b15269cc96feaf5 -IVlen = 224 -IV = 853f586b1090a732952a5003fabd256ba7ede664ddb51fbdffa886e2 -FixedInputDataByteLen = 51 -FixedInputData = 04031d8af8f2007e072d94cb4a0bb1ecf2faae95040a519f7d73fcebc8a012b555e35b2fb2c93539dedecd2dbabc614bb3899b -KO = ce1ef9d9669a892eae0f2ddabed6087ee18d533410b315ca6ea725b1f335445b24237d7dc5ba4ceab6f9bf03c6a41a12c162b849a3dd449d7ab50a0bbd5c30cedc6f39e005192c82ec260f7a2a3a753558dda1ce392389b7328b9420eb40f524d6cb85f47921e48d2f851fe59a7bc21044abc368b62bfbe9f182c4caff9b8b00d67c2cf9bebb13fa30f3bede5034d863a51e8c1aad05d3f89322536470743777f77c2b211135409c0891a57af7f8e9e3c196c1cd224bf936614b01acbb08968525cb007e5afbf1232d0b9fbbf53effd5ede427985257e6ac0e9958f8c9d8dbb2ab4d5d03093516073ca368b87f02407d6d33300eda1231a0573c5975359a8016 - -COUNT=20 -L = 560 -KI = a2a758ce416cdc03545668c4adf3d133976c11d1faec48935d8d617c -IVlen = 224 -IV = 806cbc2febf7ba3ed0742636d2dcb72ffc8134207b8660a2fd27cc07 -FixedInputDataByteLen = 51 -FixedInputData = 37e7c02fd194aadbf4778193e94fa467f8d34cce3a66e2d84a678fb3662041e938304a85242779723134fd08e10f033ab7dbac -KO = 94adf8bf6bff56e7d7e6c04179927cf27256785a5dcf1bca3b98b22f51af742e5525c27791684cec3eb1ce060511a13b5281e86db6b1e5b65d1963d4da6fbe9432efc21bec50 - -COUNT=21 -L = 560 -KI = 8369e3209b5d5f602ade83c7872c0e845d10abf6080008a503e50a6b -IVlen = 224 -IV = aeab36ac84c9afcca7b78f3bd29d138e6a90e6a433564b9a575d9a88 -FixedInputDataByteLen = 51 -FixedInputData = edb11ae6e13b1ae95c0a56f6ca630b6260859c9d47a46b2ab555500b642c001d9fe196654db499382f12a8c148edcb33c5a7b7 -KO = 3924612fb3861958caf473a8b44a3f87007053b884f4e1bb1742e4bd856f0f65b889909883e11925a9c875f42d2962bb7665b840128ed4280d442fdae7aa5e90a657fd4c6f65 - -COUNT=22 -L = 560 -KI = 6447afec1617de17c7a0725d01a9cc114f5e85e386600b06660bbc79 -IVlen = 224 -IV = 9e90aa8bc7c1363328a95da8b23e40f35e1f048241b9aab63b449898 -FixedInputDataByteLen = 51 -FixedInputData = 1a703b2d9ee2ac0ebd35c617fd442cc8b3f1c741586133fbcc17636ab0bc5f144bf0add0aa5c718f55fa936b6e17be40d9abfe -KO = f6019e80b065b93c2938ebcd211a79c1bc6184b080bbf9d13485f8e5240bde17d25ff47b8227ee3692351c1ce406171da97a8d1818a31dc29c1e04c64d88e0e5244f8e074e81 - -COUNT=23 -L = 560 -KI = b76605ef5b9992175eb4cda5778e24ee2ed938d73c5ac1bbc149d517 -IVlen = 224 -IV = b195a2bc436403246ff2d0f509fff9d8c9436aee158cedb9442a8f14 -FixedInputDataByteLen = 51 -FixedInputData = 1cc5d061fe49c3bba951f6b5c53ac67ad16ad9852f68de96b2f26d5acf6830f312c466081047f36e9337dffc886461bea8d2e9 -KO = c76202e5e0e4d243a93923c44df80d4e139e0f9ca7ce29cb378d000c77d0a32e1fb803307817243652eb0bbb729573c4551e00f3b1489961430344080047c3d9921ad88102dc - -COUNT=24 -L = 560 -KI = 2b53ec4439bb470ee8719af7404ed8e61198c0ffcf31faffbe326aab -IVlen = 224 -IV = 4cbb84d0a9f61762e32f341cfe49b478bec7f83abb0dff338a35fd35 -FixedInputDataByteLen = 51 -FixedInputData = 23b0906c8c962b0a29470c01d76b9799be9bc26484d77334c7000df464dce73b1dbfe69f33d13b0d643a26d84badd476259677 -KO = 0e734d80fb2d22246dadcb5833524eceb59dfba39e5bb8164adb063a8c0a90288b443df014aec6ef991893b6e9af64b586afb5d9a5416c9841dc6e591100652f040fdca9bdc1 - -COUNT=25 -L = 560 -KI = ea801cd5624a0500ddf366a4e1c03e8c4d8e9df6f920edbf099e4709 -IVlen = 224 -IV = 9718159c1dafc517f4da77e11d7bc28112abc1ac8a0b88daff12621c -FixedInputDataByteLen = 51 -FixedInputData = 59a86df819ae3efbf7b67d71bb6b29bfeba26b9e12782c559fb081bb5d7e94b04ff1938a13b4c8a0ad64b94583724d2bfe098d -KO = f807e46c0a85d7ba907f705be9f7b641f1b27a57bf8156230e4b874f002f66a901292311ba65d2400750939703e2e9f88caa41b4903f568d34c6c3498d580f728362fccee930 - -COUNT=26 -L = 560 -KI = 18408aa6febb33ca0a9b4489a095f98e8961042d00cf1fe02b601e42 -IVlen = 224 -IV = 01a2f17bb3b21c1f2c524d40d144f1350a061f9321b0d11ceb4ae37d -FixedInputDataByteLen = 51 -FixedInputData = 79a639f91f6153531c45267b8b09705c70d09a28617855c3310d7375b7b69293497390e93f78a045747fafdcec3224c82692b0 -KO = e02a4dc97283b94344197c4593df53ceaa6f61491bd6719908814f8823ba7967909987af5b786aa2d5902c7b58315943e50caf84bd90f0096dbd77f57c54fccc32d66bd56745 - -COUNT=27 -L = 560 -KI = cc4c192d4e12ad4317aa6c78662061ce484b4438b6a4dcd96076d4cb -IVlen = 224 -IV = aa1482a6c5c562358b6aaac67083cd1f3e64be17de938912381d30af -FixedInputDataByteLen = 51 -FixedInputData = 4df559e302d7198bedea81edb475ccae1d7c70d6d043b98b9e01f2fc85a9453624ac625416e54811bf85afb4d4c0f947cf6007 -KO = 8419cc8ff1dedc98b0ce90775fe50c5fdd644c71d6b0740ea974a97a4acb05f55fd6f83784745e8b63a350a6c0a9a4f040d5e435b4856ecfcac6f1482678c1f6cfa848b7df3b - -COUNT=28 -L = 560 -KI = ecee1535aa249345f0ffc688a05fb7661564ca060cd74d9741bc9692 -IVlen = 224 -IV = 79caadc00c86e91cce40ecfa15bb6f6a7c4e480d750596ae81bfe2ad -FixedInputDataByteLen = 51 -FixedInputData = 78afe518f4bf1461bea300b9f465d3beb4b34dcc88ebf0a1ba938ab39b936997df584a2c961b41874a059d4730e9a5a7334728 -KO = 2cecb8d14e54053f44213cf8f37a28c125eb501ad4066f7e8c3735dfbaf28ae41761dfda946e2a10f62dca6f84d89ea8f50a772393b56cb080c01a72a3eb7969f2044e39398b - -COUNT=29 -L = 560 -KI = c02ce318dbff5c94a1fb7a26e80d526ef91aebe43544acbb77f19acc -IVlen = 224 -IV = f0a3f4095e897de49f84e87218fb24443f94c597fb0f5e5cd45263c6 -FixedInputDataByteLen = 51 -FixedInputData = 4b7807549d4ef30fa53a4a0efd3cd17cfbd27bcb69ee190ce177cbfe8aa6504befb2628868330b62b2d0ca71890493f9128a2f -KO = 74305b660a240e0b798bc598b08654bc00cf59f428fea766f5ebab2e95b7852480d47367c5a58b2efd5eaf0f12a74165e02be3359833cecf5b5ec9bfb946cdda0e1e208fbc66 - -COUNT=30 -L = 2400 -KI = f8d22487811d51a40142bce0c393f2d9ea9677a598ac070b3e0ccb33 -IVlen = 224 -IV = 402d0b629514dc92ef7b0b3eac4c9092a44634ff5b94c4fc5d4469af -FixedInputDataByteLen = 51 -FixedInputData = f331bdb66464c4090470c722d549435ebcd2e05cd86d088443661a93e6dcd315c1f735c460d87945e376e835236a61932558ad -KO = 3e03dc1d7f4dfd5d28764f232bc9f8fb12adc9eb80900f2a56c7ad16e1043215ef3223603dc71d90a9a597aafa16eb1b62d576808b64f08a0fae5f9f3b48679a881ea2562786d922a618e6426ba0ce15b2c1be486d26d004d363b43a78bd7eea2063eee9481ab6ef04c77f72fb5989604d0d9f6741f821d2734c1590c8e811c45d14ed8a718f4350954af4bdb657f7dab3b1aae3dcc6ffab55c13f61fbdde378ed34f3e5134d59bda87488c7347f0caa5cf7a1b45a125cfb9ccea7ddc4027f988b381e8a4f9b4e55e1757eb735274b0a15735826b3cbd6c26d038151f559da51aea4e11b3d542ba2b010af275df296fe360eb8b015e897f3909f2bf9af0dea8b6488768e15852667a5643b95ebcb3f1833aeea06d11f0e7d1c8fc16f6c7439633fcb7e757911136f566caf0d - -COUNT=31 -L = 2400 -KI = ddaf5f98fe2cef91e33e8fb168c60cf58b8fc1b559f14192cbc2b353 -IVlen = 224 -IV = 17467ff020d574d61d92531f3b1f2f8226f4723224196e4701fe9c71 -FixedInputDataByteLen = 51 -FixedInputData = aaf993e2fb0dfa12f3aaf05e1bfd822af8efcc5215f81b70e74ac886266b4bd1570b1bdb2a326c3f6a6d8a9a4e788942e29436 -KO = 2e45fc333221720ffb6f55c3e9c15f5dd07c5b3df223155885f1719f0490efd95a9b103d9e6db3ae9a9989856514eea0d559ffac1d409c4efb601ba4296e7d4690e50eb7e13dec38d93e8b53d5227e7a19c0d9191b59585de36b3bf029b7cb0fd664dbaabbb56e58e9e627a683b9ed67fc19f4c2911c6ad6dc988849937888fb3d9a4dfe2c1f1bb2099e3ede3a157f8160d48e437b057ac7499ad764c0c60fb68830b2b6f9b9b179331d31b100d92986fc69825d3123d7d8893bf98db9640975df7490a5df0c91065ba9ab36166c958c145d059d12fb7eaa4cea3411e8022c5365807514015794c7dc1d87878e1ecf41bbe45603560410afc81006c8b624929b13041783be46a7a349d1b2bc11ecb1cc7f3ca8082bded1f2b73fa460e587a32754ed7a0b79396d6e30764c8f - -COUNT=32 -L = 2400 -KI = 6835832751410025e27dd6927a6f14327291b56a42617bd72933cae7 -IVlen = 224 -IV = 6672518a3eb1da42e61bea30bf89c03f0eca791e024a9b771e6d73cd -FixedInputDataByteLen = 51 -FixedInputData = 87701e1d1ce4211f7d225f71044d43827f5588734ee2572a9c4e1f55ee6779d14c8fa00a4a05beb8dbb9bef6e057e7efb64f4c -KO = 5cc4ad10f7b06b8e2a1a95b763f7db1c10e910ee0c9082f9de079f97ce44d9345b0dc01c32bbeedc703eee9d4318f69930eebee379d1cdb2835e2ac826199ec7cc5dcdde518d6024938e36e976a54ca2d314e7b59410c4a4a032d33d1f9a55e36d2e5d85dc9806602eb21833a0067391a4e0fc8adb10c546e49ab00d597022586b3d5240da6de9725bb9f487f930ff4342c8cdccaa4b93cadbc62f12526b21cc8cea3a201963bbd73bf3e93d7c2e7b597c6f872ac72ca5a71f1cbd9d4d0288ca7489ed09b5db95c54819d680aa1c6b97438118e4088556a2f309866faa6d8660a0ae2303aba56810fbb14f2460275981a1af2cc2ea2745c1e1c256659d6a0c1ea35693e6f40ed9fc61c41b73b96fb6c31aa0bd6eabdc64856787dab371a8e5c27ecee65c2a5205eea8bfb443 - -COUNT=33 -L = 2400 -KI = a9ec501760e7323b49e46d0846bf6232478bf734edae28371033fa6c -IVlen = 224 -IV = f858c618cbbb7e78ceae011f359cfc57d97ae7683ea3be2e47a8b60b -FixedInputDataByteLen = 51 -FixedInputData = 8f789b0a4f460f35692ebc7031c766027f58df92f5f70c509c637a38625bcb6924420832cbfec6170399df4d492cfb403dcef5 -KO = a9dd7cbbcdcdf028fd914ce7aa774298cb5a5faab12729b4953667233044e2a5ad2aca92611ff76f88e17596cb228769a2c0d9c5b031832f0cbfdc9e46430c467f3e5175a7313c94c56620233c6add0dd5f77b8d9de259e3d6403c1374b34571e4123a2ed168fe5c663ecd43fa6be42b507745a48bf80804a2cc139312af66644497d5adafae1a88c347e6e6e13ece3647b94d6adc9af1eed5330d786808f061a8413b01f6f9d370b693b84881caf54bad6bc9ad3963ff0918176548acff2c2bd500d9bd232e59c20dff65f82b66148f10a023cfc64a812c0e023946ade0ff86d9eb9687aa9c235a4440d11411386c4afb3bf8918860aea93d402ea3f53b9903fd63f366b0a61724f67bb8e6e03daecf550011ba915fcd98b468fec828a78c30665efd4bacb4d63649c3c010 - -COUNT=34 -L = 2400 -KI = d2fe1ce9e184d153a59e4ab5a19d745c0f97db6929309273f2ee5c42 -IVlen = 224 -IV = 54bc8ee0a3344bf0e16b991b222cb7a554ca79e2f1848795c287253e -FixedInputDataByteLen = 51 -FixedInputData = 40730b8e63e8846bba50699d61ccfc3b273619039ef22585e33a3cbfbbede08dfab787b50ecec250b03a2f7f38224cb9fb6a4c -KO = b0ff8491cb00e35c7fee9666013e4c9019c89337d04bc38d0319714548890404afdd955cb0031753231c81c61500a01709aa4a3063fa8ad3c39c945f3002a6e2fd1d05ef8bdd5b8fb4cfea487033cb8c1a602a80002ea0e1bbcd5d5fa45d75289d995b21022303cafa292abeff5e2816620f209c11b0a71f05d267dfff1863c00849cd0b8620a7fd9a45f72fb9386178f546fbe1bef43556b9fb0197cf32ce7484dae650d09b947d3cc1a6660feb50533bc41fe62129706bf48bf79fb4e3543601c42cb99cc531cf569ac855adbad6cf9966be752969dce36bf56f4cfe65baafa0118f0c4793ec43116bb5ab9bd28a786dbe177c26e6ecd01f5a7a24b262ce83ce260de23b706e92678b49c6232aa1c8fb1fae8fad4ce12e2d9c71ec53106eb5d2976772113d6b761a2c81f6 - -COUNT=35 -L = 2400 -KI = 9c04bd4674dd51691306de57c9e0a9ce08bb1f047933e32c388e6205 -IVlen = 224 -IV = 3db181b3570e96f9deb8061b790c77d63f2cdac3e7077f1ba742def2 -FixedInputDataByteLen = 51 -FixedInputData = 2ac2a92ef35f6e508b81e5e9adfa3ad192bb1de021aeb9d7504d90d20b6ee3cebded2a04d77d5188a907285b7c6fd900f9d326 -KO = a113a2e07aa35adc48b879e347f5d11d17fba5e0108f5f225c6fd7d52a4d15ed50f177841fe75e28a4c2560cb8625a91f1716cf44fa01a8a42ba865cd3826878d138898ef886695f851fcdfd01b4c70e3f58f522d59cff52197eeaa7dad92179778206b93d26e9a4f946663fdf84150533613c1f1b580437c52fea394c316f8dd26d7e0dbdf010da69d19b38aa32d891bb56fa445f43fd8fc237b07feeba4287f5e3064a3e50cfbb8a9be04056d00cc47e5428f25ca0af5e25f5c25308908daac36b53373df0e7c0eb2fce0721bb2873f62e13454dd5be68e4437e08cdd657968426bf71ca6329a6e101de7f84bb20ec33bc4bfe694b76da339da2db1c6c07bc932990d2dedc9a5b04d67fa4bd233f43da93f9cfae004b78aedd2aa6d7b87488acce0b39152cb84e4c5e3ee4 - -COUNT=36 -L = 2400 -KI = 9638f711d378d60c75fcc5489fcba9f3da15f3ff314af13c99ed0cd1 -IVlen = 224 -IV = baace54bad3f5ce536e07b360f24b751f756cbd06d998925c8164e5a -FixedInputDataByteLen = 51 -FixedInputData = 649a44ae537e4e540413660f3debcc46fea7d922df0d25ff7b1a6f057fbc080777efd92c2ceea66e7b0668ec6655d90ea0e6ea -KO = 3b7f90312fa3a0b1fa7c50c55d5a7d041f1f44cf3a75bcf1cf0c8347a3bdd0951062fc74278b06d13c243d84f1a02303e0d83f47e7f45ab8ada49cf62953bc381fd8811ad03bb830f30c76688a51584dbc6b519b7297b6265b3093846cb7676cab7c826b43ba34b2efa0940e4b721666d7e0bb54d50399fa2574370f4362470cf2016174870a03c9ae28357f2175df129812cd0a7d7301b9963cc3ae9d3051d8a07c8c3247c393db81269809bdfafef532558816418cfadae50efdf09452cf308639d890e2acb4b271ec275e3fd1e87f25826efe5e07d1339ac23d0d8718084ca6337211839c76f8c0adfb323864824806e25b941d98e9f91044db73217137c37187954b0e6369734de96ede4a3482220d25cf56af03adda88e117ea56a296de1836eb57df91ccdb362a619b - -COUNT=37 -L = 2400 -KI = 5fa294a221ba28764c2ba8761afc5302d381fca8f4e2fc57705fa8ef -IVlen = 224 -IV = f0643c52eae740ddf224673072832cb104a13fc39ad87a2a2935889f -FixedInputDataByteLen = 51 -FixedInputData = 612e8cd5262dd19e5c7b4fa350dd934ec815bc03bde648d960cb4b5c5ad9ac27b40597a0941f85234f10ce089cd73d45711008 -KO = 3b49ef6aca02f30c395b495bf7ca7ddacdaf153d27c9c3b6d945d5ada7934dbfbb28368e95a1db7bf7f0f5e6f477a8b5ab8c5d5f9f16b80a7244f15497b2d614ae28c68f3e6ca69b12e1c2e3900644b5770d664c729de94ec7e6c77b6bd6b30de893caa6a838e7360541199941cf1e4396870acab530590e941b1abc383fe83e09100085b36e27d9fc2af687e6cb3c023b2bb67a0f1038544b405f70de9fc809133c730a1ae84c817c8a7fddd1536cf5b3188a91cbb537abd43438107cdd819a1b8a84ce24f9c18c69c663f19867824510f0b922dc7eb20a5401dc6cb59c0bd86b280aef1b5f2e44955ac431ad9d6aa410bb609d72e9605b56596777253a4e4be2d9acb5840c442f3f08d68c2bfdc6e250d2dbc7c2d728381488500a721588aed66d6295c4b616c85e61f841 - -COUNT=38 -L = 2400 -KI = 427147c32d5c83a6da6bc4845f55f82c25957d9670c5178f03f0b0cb -IVlen = 224 -IV = d37ee9684327c051f9cdde9232c0b0553e3c2ac1774fea29dee01126 -FixedInputDataByteLen = 51 -FixedInputData = 20b9c85363dcc1d97e6cbbd4770b3144d24b6355833e8333a6f5aa07fe04eb1890a3ebf6b57ea9d1d4e925b29e3ec27ee71d66 -KO = 2eee203456d5af633bf040429ad7e0ffc0894e6b06ddc52d41fb8854cc7b35591898f868f67ada81a3113607034d39dd04440f556b641d01a6919f03181519f2b4d80573006285977e56016bf1ff2ec92fcfffa837bcadd378bffa4e38feceabe05c05f7e8c054586a8ea8d1bb3da872aa333efea5cc5c3d2e1cceb77b639b31a1fd3528e339d726e40a86ada4fc1c32db96b9e8df12a57934a5b04ad6c962ebc50a7c5d9979fd8f56547a7df3f1218954f58ed54b1f5d323a2a3ea4795976da5fcfb433adbfa1fbe92d545ecd70ef4d2079c647d8b910f49845ffc7e69da7188f05dd54bdf9e3d4b3216271764a483a572e9e6748b920a70f87365ce20624fa7b78b23c56dce7036629ff45c6102693ee39f9760e02eb730057b08c82451b9aaf8cc83da3a13f320b56aff5 - -COUNT=39 -L = 2400 -KI = b4ca02e3323049ee00018cd424cb2f320137676214e24747a632f19b -IVlen = 224 -IV = 73fe847cfbb0b309802942110af06aa6a8a23897f7df04f29f82eb7e -FixedInputDataByteLen = 51 -FixedInputData = be12f68f00096f870ed5cb52220412669e3b525196de135558192e76b50357a1f5a463ebd7b9e43ee8818e3c3fcae36dd6a121 -KO = 39e2dee7a93f7680cd3b5cccb7d7012b2986e46545262126ff60e93515cd210c8c5640c452277b10ae9e279cf56154892d61bb1ee7b91f22d8c9313711b2d69b8fcec36f84e945afd34a783911e55ca2f3afa319d9ca261aa45464d9e7d55708a0c78794d8983700952fdab53d0990e2d60da093bc5ad15223c9bd75559e1d20aa061121127a8e356102b247d85dcde2eb85ab2395a950e0e6899a740dcc99921047abbabff0dbee2f0b2b925b6d6226829cf04b7a711f0db1452588b12bec412711607e4524d06c649d3c8236bcfedd8802b74c6abfc9551bf2e9da2daf96f0d944703ca0c1bd2a4bce1eb4c517e0a6db68085e827e54ff23626e69bc6c6c20be002a650c82b95f88a8ac683e9441e0ab5808e58486b47fb24fa452c47fd94148fd6d299152cdbf238d2d1e - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 862bdcb9e2198e882750d03db0b945ecafffef2c550e0567abea35a8 -IVlen = 224 -IV = 06831c81c6462cc4527ed91ff433f831ff893a7649e4be90419623f0 -FixedInputDataByteLen = 51 -FixedInputData = 8a6bf5071f5e7be108831667912ad329acb49bb87f2ea0e4f904e60d2e6b60f3745869520f11da67998801f88e682e80ce6ee9 -KO = 5909a325d238002da59e714707e817b9b9300229b2f93281d9e0635adbbe3d570a79ecafb84c1559d5fa7bda264df90db01f5019cd251c92a21ee951b0b306ca - -COUNT=1 -L = 512 -KI = f358d6000f6b7ff206b4a8b764eeecd1c663bb1fd1469462ec5867de -IVlen = 224 -IV = a7ab2df8bdbc4cc656206ddacb8c7f701bdd235cb3ff2d7f47510e70 -FixedInputDataByteLen = 51 -FixedInputData = 8e47f2658be8b0f7863631b543f43ec520fad9329b6d0df7e75c05111e354c6650bf469e3ca89245859ec264ca7cc597b0704c -KO = 3b3971262ecf54f7179abb896a06ab7e7818578ff334f8ae56ab9881452d5be2ad49fd40601a409bc93a990b7ae85adea82779cc1981630ce077b591b767a46d - -COUNT=2 -L = 512 -KI = ba3655befbd1a1b7b29777598df0e0a7ad176525aaf3be6e0335d857 -IVlen = 224 -IV = 8af415b18612c3709f2a63a9b61665cb38d080cd0f3d31b64732748a -FixedInputDataByteLen = 51 -FixedInputData = 28661b93917d336b3c96e1e7c11d1a86dd6d7b502a3fb31011edaf042c1f6e31c9c77f084fd9a807c48b969ca44509583e282e -KO = 5ed4347e7bafb2396b1de240d634429f067d3fc84ef13e02b11681981a03db2162ef85c7593a464d3407cb6c00ecf9904d7d446a0d5671cd083ff042b351919a - -COUNT=3 -L = 512 -KI = 04255acb2ca17e03b67a91841b67b7f81b41c01af052d3a68f7875ec -IVlen = 224 -IV = ad22e722c61c102bce0f63f1a8facbd0ac9753c5a75cdf2f5abec93d -FixedInputDataByteLen = 51 -FixedInputData = 34889ed4c6a004ef1ed2db0f5a67e2ff6c3ba43d5fdac497abac4e968f6b59d16fdbe9b0c91d70c09a695987365381c6922e89 -KO = 0aca390a8a6b44eb4d848b86e86e03ef77a05d6c4ac3885a8c8642fa9bfb08719c9f15c656bc7efea73ae74408783ce9ecabbf192f8c5855c60c1d3c58535ee6 - -COUNT=4 -L = 512 -KI = 9054c3b434546a1e0535a56e8c2b722c2ec955ac2456f7ec0ad25a49 -IVlen = 224 -IV = 4f0dd420fee09ed53fb75e6ddba81e8a9cd58bdfa330509dd0668f43 -FixedInputDataByteLen = 51 -FixedInputData = 2b146c1aa1c42d9a07cd3aebac1443938d662ee57b20ccd6670614799754d3c1a81bd22c69a18f21ab1eaf501e812cdafd8ad0 -KO = ec238adf469f6916156197bf0a8dbfb6ebc5c9445fb0a4e9a2d20d23fdef51e09824acb98801f28946651061ccca32791284dc8050f6f180437c849ba09e8277 - -COUNT=5 -L = 512 -KI = bfe0e3afd54da9b7fc53ac44a9fbc28e0a4daeeff4f75b8b50b6267d -IVlen = 224 -IV = 8a029688a20eaaa846d7e2da5abee8c7b6f4ea0d73851cd8172885f8 -FixedInputDataByteLen = 51 -FixedInputData = 1d5612c6cb27dae12e370c51ee6dd6ad39f7552057c682952ab098e4e152115b5d239a8ad3fad1e1d97c4194bbe2ce49ac677b -KO = 65a7fc92a2ccc98b908f7541c85cd2d62929d67ac6e50fabf8c20deb879a901e175b46463890ec19565c3be4833c3ceba2815276cf50882c951a543ee9db132e - -COUNT=6 -L = 512 -KI = 207249fd5ae0570c5df270f9314d5ec3665d88e0e26213eb4cec5e8b -IVlen = 224 -IV = f4fc6ab5436b71c8b7f951be55534ce1072fae9f6442266369a66d4e -FixedInputDataByteLen = 51 -FixedInputData = 6af9a7486f7027ef928c4905357f6a1a5c07b1a8d11f5b9be9849216e25af5f45f13115f81807a2127fcabdd8a8539beea5faf -KO = f40b353778313a62d97e5927eeefd1d032d3112aab9ddfb62854e9f2f634f2c10801258eda3f329b6be2bb354fcfb20e95708ff64609a4644366ca12d81eda6f - -COUNT=7 -L = 512 -KI = 9676d29f8c566c8d16daa9847e66aa7ef0db24d2021cdeac65989fbe -IVlen = 224 -IV = 6716d39368a9b7c879ffdb47d1006d8594e69ac2d7c5023440872125 -FixedInputDataByteLen = 51 -FixedInputData = 245aeac9436c0e01d308eb1eb263b2a0dc07daac121a7fea54949f63505d3043f622a6a1a71d7bea96dafc0823c9e8c50daa49 -KO = 359fae5509befa4eb10a17ae48381f96773bfe76176e77b2ada91b6f589fd618f8fd7e247b1cf5719aee7a678f1dc14137e3ad4378e69447cd4fb167c62935e7 - -COUNT=8 -L = 512 -KI = 8188ae5e9e200ad6dbe6b17b8e0f711dd794c03933ddd95d08263176 -IVlen = 224 -IV = 55e20f2ce785097438ee45e0fbe37358f2f1993b77e374ffe43f4757 -FixedInputDataByteLen = 51 -FixedInputData = 991639f25ceaaf724a07179ef69a72afdc8b0a911331cda968587eca8f2b33876ecb28e08c017bb7dbea303a70e05d583a476f -KO = f81ad91bc068d3414d43ec4dbd25ef1440346571afc585859259edadc8ac05b46d5c1d45b1b460dd5dedb0865086e69b3a8f69d320ef3a854c9dfe0af1e51d3d - -COUNT=9 -L = 512 -KI = 3b1c18485306fbefe084147a3ca21c483ed88d5b0e14a68519d21f62 -IVlen = 224 -IV = c4f27a8d6ba2e8ffbe460cdaea28e0f8f57de589cc29ac3ed445dde0 -FixedInputDataByteLen = 51 -FixedInputData = 7b6d3a45977097a8b8493150a21a7aa6539345c67e32a40e9e61747a6d16eb761b93a54648bb4b7b6b767dac0fb6b970aae267 -KO = 726991c5d4d775d48d450b79de19d8b0ed7ceab837cdccfc349be4c8bc4a82af275300f03c51df6a5f1f6ca7f52fc2b6ff3b08ab9cfbe3c468984712e9733a6b - -COUNT=10 -L = 2048 -KI = 7813c738fc8816fc9dc8d69880f0ae584f6e8e4ff9d8d5ea34967110 -IVlen = 224 -IV = b4ee0403c14b75d6e4a0cff2bade646c761683ec1b6b7cebc0032cb4 -FixedInputDataByteLen = 51 -FixedInputData = 2d56e9570efbc67ced7d6663a37a670d766f6868cdc250209036a376b55d5070b4a7acdd94079ec2eb5a51dc382f7e252f0095 -KO = b8107e7b461e16d77e1cd2695ec844589a726ec12974096845ef7e4a7cf6bed2cb9de1b0dc1a12f736a848b278454155c491968a0cd25ac10c3f3ba8b4520523e9a97588c6f5bc5ac4435a0b721c6f0c56bf0fc1720d8a541550589aa8a62defa39f8d33bd2d998855ae1aa3392adb4097756b700b1ab4ae6c701eb2bb861ebf0aec5a935697a23e979813f4cc9b815933cffc6f69d57ae3b5fe1cd857d7209bac72e0e9630bcf962a8b14132fd61ed7d85ecbf542a8faa46542c555e294afc5f8d5f3e5fbbd52ad0547ce9a9f6369fdd4d99840fb280bb8267e5392cdef848ab508a6bfe3cae9c834d8c9f03892c9794fbcfc60b929c452fcf041386cc782a0 - -COUNT=11 -L = 2048 -KI = 8e0b0b294fb5fa718185ec65a4f1999b12a17398c8f0328a7a366d87 -IVlen = 224 -IV = 4a26abdd43e623b4ea06add00e1d20122530885118d6531ade8c5d4a -FixedInputDataByteLen = 51 -FixedInputData = b50fa028a6b4d5154f752a893f03779833d9dc044b6e07d0b96723eed36208e42ec4f711a846526a69862b32cfe101587728fc -KO = 987b33eac88bdcd6fd39f99fc8b67ac01518e0be5f26dca698141f071b84b11e9d77136793a3034820d54711f6a5374c9b4b803242ac1dd10da5556b1ff655da98b8a421c9e504dff2405fb55a560938bcee8edd33fdc30529907c1e9794db7e910b2d1714d4cc3819b836fa0f196ab33702d759d67df817f39d0e67577003541f35b5df2e3d04e055f4011c15064818e386b3dfb7843ad253505f4d78fa89172b8defe281b713cc444c84e8b2a72aa5fbd21af8dfb53685264a8f396246e63643a3176170d0eccc55a8bd5e5f4e28c8ffa80bb12bf8c61476a663ef98bec9c378861e658010726c2c275dfc5774062004bfc85394db9b95315bb1bd02c87465 - -COUNT=12 -L = 2048 -KI = 176ec76c4d6315e418390b626456d262972c2ec018cab8ac52de1efd -IVlen = 224 -IV = a1aefef0778e2a2022682d22c5662a86d4b74e9796f34fea4a1872de -FixedInputDataByteLen = 51 -FixedInputData = 93b19fff8e1e2aac75cafef66fbf011aa9e5d6844f33bbc72d15c2e4dc43ab6e1205e5b5623c9492db8425e87663d8eef45812 -KO = 7e393fdb5665ce0f6e4b51d0fdce4b18c12fa4d70d90fc793c9478968debcbbfac30810149079008f8611457339cf4f91fdb88369a0b39efbe5907b8c71a1daf674bef2918e67b28113c8106a03086a97b42b162cd4244147328e60699119da963d5291f725c04d6189e071c9c7420aad7947110b799731e2b0fa1f0c00c0fd3d5056732781968cd01d4e8091d95d7b44c73195fff3b1d4453dd637dc24b33f0581a58b0a20d88b21e2e9601954261e855eb60b090e675796c2e1edc02e227bd7373fa099b8e3bab122c11c5a0338be86e1fcd81fa7de1f01735fc2b9c684563304bd2067ae744ac1a2a54966d32dc32b01bd72180711ad60a38a9a699cc3f8f - -COUNT=13 -L = 2048 -KI = f27c85fe69366513fd8b02ff958c35ddd60c116f4e82ff3f9aaa2f80 -IVlen = 224 -IV = b5316291a79e7d8b2e098350fbbe4652d1b7703edd72d042ac4bf92b -FixedInputDataByteLen = 51 -FixedInputData = 043d33ad800571c2e8c03e4b1511bd2953e74c96710ff6d668862c5f6a4f7fa28c8f12d352ba68d3e1bad2ca5129c448587fb0 -KO = df366b97cc8f2329ad46ef0fed102579716b86b98a76860c9a364b99db0204b95fe49d82b69e1b0ecb4ad9109ba6cf3f73aed22569294b5a81d732e34a2ab11ae1424b2aed94d7078d16bb5755e643eb28c78aa8c525d0d37f27755bd2b5b3d719f54efe654f7063ccbdd15c1fdd16b57894a6482ecc0b8f02627bea1c4706e454d86990255399bf8b5dd1d2d9dae395d5016ebba50e4dc11f06bb97e0eac23f3a8bc36567c9eb8b12f238ca82919de06afba6c116d898b1ad07274f340a0e4cae9db234c2d60709613ea2616fc1c9225d115708a63882de921007999ef0156771ccade0a57f1aba3a376f39ef2397ca80e2afaf7c3d49409f3790b32d64e624 - -COUNT=14 -L = 2048 -KI = 3b91233993dcebfc692c290106ac719eff96e8364cf9d6893fedf446 -IVlen = 224 -IV = 3edfb0dcb97c3b48392c7f8cda9453a0787ae15dc6070914f6e88e2a -FixedInputDataByteLen = 51 -FixedInputData = bacf96b1b0329054f8ae2cb6acb9034e12c8b5790a9c57aa98e596f737709630d6c52f3f83bee69635bad39893aa14ca991a0d -KO = 73ea3c98472cd68b504f98498ba88dd017b30eb2fe0edd73d53624b8bad187cd54e5c5afc8107dc308167ec8d6013a813b3738c9cdf5d5e1f5ea919e447ea89ecfac6de33223e7a741b8f148dd1338e940f17abbf8633cf478c387aa10ebb8e091dad3e73e76de22da7667a29102c1bcd1892e90c73d95d9dcdeb6c285a2c820955fb4443d903cd5b91a7574f9616dfe518cdcad9be1dd36dca50e0c3372c4c39c086981324d613da7f0c8d4bfcd6ee622e708b0ff6051d932d50bdedfba9cf61660059f6e28ec5b28643dc6f362ba7a252b78068a76223e3a29080e06aad37283803e22f028aeaf15cb784655763af91a80d3a36589c62402498e016e5662b8 - -COUNT=15 -L = 2048 -KI = a9815eb194dd26ddc42bc00a60292f0d35a0ee475baca69ee0f32ab6 -IVlen = 224 -IV = f236b81479c82341770480d66f20c375425042c091d5db103c2b830b -FixedInputDataByteLen = 51 -FixedInputData = 03b83c6235f7c0a9c062ec55b7fa8e65f0e16d07c021d392bd91007f25f90189c1b5af4a8369b4bd84de638897d24e52c996c7 -KO = cc0f5343949c242e954f34859da7a9947196f7d8b9367416d7fb48280df8f09f3036e9524f86baa523858252dccc55c5e50f5837893ec058d8e9f23f4e2d1cb8875a90531f3537a54eb2c95d875b7249a459823662806827ab1dee66df3dae886f015b398f610e0d2fcf84a7309af865defcf1e2990feff7d6fbdb49d3b6e1d85a2dd3f7f58bdbab56b1721b6d0a28bac48a0ed2bfe6090840c7f545104a1fa6d977a5c96aac8836d33412daf1c822503164b3b57e83809cf48e9d77fa58c4b19e53079193965e8751161556b2db9fcf5163dfe12e6cf27732e46933aa174110e259802fc0befaac191067f0d12772f47c8d888550254e56e8e62733604e0466 - -COUNT=16 -L = 2048 -KI = be69b43d6370e65e7e1e5fbf1c47b14c91a224cb6ff8e7b843e99610 -IVlen = 224 -IV = 8b8c223e578b99e041e0d1205959cf1c2fea15184cfc9548d1cdcce4 -FixedInputDataByteLen = 51 -FixedInputData = 7066b3a242bfbe8a4c5d1d3bcdf58d633b9c774cb62156bde7be3055d3a244d3cc0707713752d4be1658e50953f8844cfca297 -KO = 2e31c611cf8379450cddff9b8d0a4c9adb73934f010f0edfb4414e1be8deb7be271e92b1fe1505c17bf13f49a271b5a3a951e22db34c0d8ec1d271212dc79590d2a935a47111dbd2d01784b33e74aea11855c5dd3b1cf375dd756d8cbab5fae136972fc78bee68e32a79b852055cc6aa687fc46025070aec57e282214a5119fb2143ab153262150cce9fa77eda540c3a8c0b2b05271425daaf3ed66ae203b85c48b3412f1e11cd7bcf737f53830e792a278845ed8486d38aa471652050d74f1dc8725407a7038e368e420c20018407e0ff1f88dc6410829dd08fc44d8ed12158ec71dde989b12c437697c8292ad0d4dc0712cc88f51266186177943517193085 - -COUNT=17 -L = 2048 -KI = 9e97a5f3b13486680bf8268dc4b379690271fae5fcd1eb4fc7dc2bb5 -IVlen = 224 -IV = a10fb946a8cf21dfa4d715b98983236d1a578b09e0902213656f573d -FixedInputDataByteLen = 51 -FixedInputData = 59ca15a2c25ca90fe3bc33f967235cbc087c1ffd1f1126be6a31a4d0ccfe8c4f1915601ee8c6b4abd867e6e4c827ae82e2f0f2 -KO = f13b4570a4cf758d713d2958b8e035793f133241b86ee9777bcea37f8b0d4434d6d4b3237b6ce2f5f8856ddc3efc4666decc10cd565b8f3be6ce6c949d82f98ed75192040b3b866e887d02edaa12075015664a23b31f459c2d8509a0a4110db5a9e719f4126441ec02631878923f6e70363e1e2b2c5b6c39f68f52535f149f13395e087e721f3518787b67a93bb4bdeda6788efe8267705273db091269900b776417b41ea2a669d6e0fe8aa02b78c2422cfa9b0fdc4f0bdd25718817dc941c4b741d14cd93b523f4a50e99d4480ea0713b16d74cb04e467de625314258e1de214ef6ce7c39e7d29a59e866928caf5b7051b5ef3d10d5fe2706528c84b1aa47b1 - -COUNT=18 -L = 2048 -KI = 05a995b3b3e381c3ba1d3d00f9b69c76a550c3d02f47418128b80efd -IVlen = 224 -IV = a0ad8b14af65b86146a0cd70e053214972e7c02f1a6742458d955273 -FixedInputDataByteLen = 51 -FixedInputData = 40e4e1db628cd6c87204d35580a1f986608af1fa107c5cda43612b64d07e1628792eadc3fcf165e432b3c3f9beb58c1c9d127a -KO = 59fae4ef316ffaab5e5aa3f298eb05e2f69650edab498dd3c5ab8a2ec9cc8b7226ceafc93b0241919a8f76742943c3f9e48fd61ffe37157b79b2931eeff5d829c623b5357068d1d0eef6ff626b3d1f57fec3eb8a9d9559a22ca0f772d5886cb70d77ad87991c2f1c5269d310d6220797494f3ec0a21046d6a656993c1d1245365f1137c1e28ab958b552d1458038993992de1ae24479fca4d73893af14f44a058debdd1f0c20660914ba6f56d8cc803738bdf24d372b15fbde685fbb01029f761256c4220f38a532e001234e6f9204f02759b6ac48a59c7ba16ebba50be7331c42a0f6dc166e710b2caf13d0807d66e432d5148d1595a6ebe8657605b9abbb1e - -COUNT=19 -L = 2048 -KI = c39c45ad673162ab0b0178ff35c4b5baafef3c2ed0df3b28994b48c2 -IVlen = 224 -IV = e6614245a3c2c587a4f03a9cc62d5e6ca7d8a763939f50dffd8ea362 -FixedInputDataByteLen = 51 -FixedInputData = be5129ec1c7a2f8d9a7c2f3922c0025828b12a87c582492fa180d9de711d9b45954f39f34ee0190fc43767121537acd164e5a5 -KO = 3a2f6a696a084038f685870a019b66ef7f270091021c7f093c7d1d3c2e6adedbc97db400f1f31ff5d277de91a3727da579abdda13dac2eb1bf79360fec8a7dd56ae8a3c9605e0ada85561e751063cae84e25396f3bb012107116c536f0cddb426f7615b3bdc660fdc26c3ee577f6367a2ba1a4883e519e61814b10d95f06b74b3ad54cf247f1af5ace5c536b2394b3e07fef9e2764d5f777eb1c70a2fc1feffb4b9620c3feabe0f7dab7df3abc3fa9a34c9825b40bda4404f88c4e2d84042d2b1c8fb35087b5765d9a4b55fe0d5ddb00fb7a44474c9aec7e75d768a124ba74a436bf9e3c2aefef73d3a82ff6bd4eb6bfe8ad83a665fc6901eb5abbf3d2077d1a - -COUNT=20 -L = 560 -KI = 6fe7baceedf71c4f8a193206cf2a80fff6c664982577fe4a8ce00996 -IVlen = 224 -IV = 78c25b762e683155dd8cdfab6f0268774148f44e311e40108e4568dc -FixedInputDataByteLen = 51 -FixedInputData = c879454e0b5f10585089769a8e112f5816dc172f02b8a8cdbaee16ef6d563d9c4943a874f70d63d90ccc62752efc58476228d1 -KO = 8cd9264648a26e4e9e9ea508b4c118c903ed1a4fb69cdcdb6a076c564ecc5af672fe6102277aee4fbcf57621e1ea5377d7da1c64093c5e8f9dad72bfd6fef76b7c0db755db2d - -COUNT=21 -L = 560 -KI = c275c7e9b4e2cc9d4c571213de16c020c8203137ed30e92b38d2c36f -IVlen = 224 -IV = dc7369437a32e69e0f1481ceaef1334dd2861b0b985129b6ff7ff87a -FixedInputDataByteLen = 51 -FixedInputData = a91066e825d10854649e3522067aa715f6453196e329ce4c14e3ac91d4d8d8fafec38f225a005a1559bd4f4189862229467eb8 -KO = a98db5867079744457e4b83fffbc58a1d424f045139dc47d8eae073d2db594344084171c29d121fa8b1ce25e0b1cbc079877555f4bef9ca3161969f8527bfa89a382d342e677 - -COUNT=22 -L = 560 -KI = f33113813d80c88eb3018e0b907342a5f206d4588510b346e2e3dcef -IVlen = 224 -IV = a7884289c3478037be6ed77a5d148127957736f3e38e5afb194222b9 -FixedInputDataByteLen = 51 -FixedInputData = 6801ae1734d48ef2c0b247e07d7a5c1a017c15937485905bff0a3708a1fd4d8370b249c4d565a22a8485fcdf9351c6bccc8bc8 -KO = 5bff0cde21102cf64fde651c94ac74da95e5833aaef66faff78cf9cfb433cfeed2635d2c2446161a97a102098e8fd6f027874287e651e7a2d6ad1f08f87c0a3c5f7aade53f2f - -COUNT=23 -L = 560 -KI = 8fec1a27c63595b13241e9a75d99c63d8f5897767a10294a9cde3980 -IVlen = 224 -IV = d4155dcd6139c45d5f8ee888d7da9494d3eb6eeb516b00a64708de7b -FixedInputDataByteLen = 51 -FixedInputData = 1b7252fc099edd5e027b3da7da2b88c14c36fc8428319b19b5696e5e383f4ed91d8ade4e9a93fa603f85135f55394117701cda -KO = 52fc8444dd640051ea95bb5f7c3b0b079cd4c06202fc46599539e08a77108054936bebf77075852beca33fa5a425a07ea1c5bcc546eedd075da908d2efd2eb774738e266354e - -COUNT=24 -L = 560 -KI = 964588eae2de4bb5b3121ff427d27a09eb474ea15191c93611ef29d9 -IVlen = 224 -IV = de39bbe0438a668d689bba9e2e58f346e93a6efd0b738581b4dd7684 -FixedInputDataByteLen = 51 -FixedInputData = 560a35395176ca89e1a9e37cc992c50c6b95201d8e1e11eee65c2ad33ef672e1d4d1854a10de879bab7a0b9e524f584dde48ca -KO = abcd46da54253adcd882b44fdcbf9edac994b33f23eef1fc5e9555e4955c25678d66a2378a4f7d8a3ca0e4b8cfe9dac2f94c7e1d8f34897066ce83a6bec20f666a998402b683 - -COUNT=25 -L = 560 -KI = b62dcfb4a6e2e0efd03c904aaf0f753204df51561dc864097e0a220c -IVlen = 224 -IV = 2f08b6eae0ec3eb213e9d6719f51a0157ddc9e39da90920933bc59ff -FixedInputDataByteLen = 51 -FixedInputData = 848164462fe709e8c300934b5b7f969c3854d7f732517e7c3c0bc9af07b555e01d8a1684b0e4336ba774a9cdcd9a423b3573c5 -KO = 2f566a03915224315a3e73a8f00d8e9563e37e49fb4e65a42bddd439d24ff86e0f686696f4a715adee6d0b7c138294366ecf4a41d8d4ae7ff0ae527c61eb225e52686d0a0445 - -COUNT=26 -L = 560 -KI = 07ae20b2a3a3bc25402913c691fbd8fe808b953bba6c74d6e90afe0f -IVlen = 224 -IV = c7eb34c41a4c5b65e984df57d67239fa584301048cd926826fbbefc2 -FixedInputDataByteLen = 51 -FixedInputData = b8f0ec6946e6df92d24713b1c22eeb7569f7bb49e9ce0322bfedebb5f41aa8dc206b7b9c5423fb6837858e1a7a7c1533063e1d -KO = f405e26a4c58e633ff0fb3fd330081af5ae51f06e82d1e0dba2e7dac3b79a6194a7dffa4a02ca233d155391855d85d13306317e7c888bb1eb23cb41fd0b714e7deb96bf81cf9 - -COUNT=27 -L = 560 -KI = 7a26eb0ea19786b1f79ba626262b7725ca7c39b7cb1993abd4a9ee90 -IVlen = 224 -IV = e0d36546ac404e5881a631b47a2454f00c5418a1066fa9a8675d3843 -FixedInputDataByteLen = 51 -FixedInputData = b30a78da6d076a83b661555687e9e8fac257920bfce384f342e9b0023783ed8e032b2ab2399693021c9c7d034da2d1f637f6d9 -KO = e82856d49df25dbf5c75e3621c9f50e28409470d75f43fa7cfe78dcdf86501258b3a293810c017224f53bd9b4d9225c9c8f3953ae3daec7e98a2bfe2b57d58ad511d57035da1 - -COUNT=28 -L = 560 -KI = 64a919d10d6b3563906826d9d0d562d61ab25b303182ce6186161d6e -IVlen = 224 -IV = de8191d86c43875e87f40e94ebc7e7fd409315cf8dc5b7022c8e67bb -FixedInputDataByteLen = 51 -FixedInputData = bec0899c967a4827053b410043c855dec7e1d8722e229288448c738017f46386aef0ff52c2f15c8d615d707554be7c5ec685a7 -KO = 7d12ed76a74051578ae222279b60e5ead7ed0484150c6326189b6578fb45cd063b8fc04576ccfc912886968573ae4e94f4c7bc8703e9917eee9b7a18dc25cbb6f28e443a7ff2 - -COUNT=29 -L = 560 -KI = 35f275c9d4fdd658bbd0e673a4840d5b1da7c4315509ea0052196369 -IVlen = 224 -IV = 93454579462ed254c4d61c6e3e64c2437656af62424b567337c011f9 -FixedInputDataByteLen = 51 -FixedInputData = 16b90585529f72e35d61fed6ace0c086347da511157aacd130b1d59bdadd1cb9409b248b3627140740e004976e14b0911a0f3f -KO = a0c6a79b96287741267320d4550343b4156fd7e89ffcb9d6d9b2e99cb6b390b78978d21fc85f36c4c0ab152ef9a06366523645ddbcc13e35e0c22c4dc7dd9fac294bbb2452be - -COUNT=30 -L = 2400 -KI = 23523e95573a510e51f263754281250d5bdf802224e25006f5d8dd40 -IVlen = 224 -IV = 12a3fcaf440098682a7f239abbb68384ff5e01b92b00e3ed4e7f229e -FixedInputDataByteLen = 51 -FixedInputData = ea49abbaff6ba30f121999c36bcdb038e0577396ad357a29ed7297d992167780dc20b16d08afec03654f59f6699fad5b5e7022 -KO = 72e4f628db046713a4d8422237c6c917195733b4a22c14fe83307fde1ab4bec1ce69ac9c7cbf3ee74339d6be252524b472a5f9aa4ac13f55d973e04b00f997eaee87ba0e9fc9c1fe481903cb1cb4b7445075958f54d16e7f197da28a2fdc16ad1e057a3a2f3d1aa688bc088e5b8414cb8755d782b97ce4c497074c90329a3a70aafe36477f2afb2f5846fb5f6005e88098fed0bbdcb5e67c516f5862a79b3b8fe9b53aa614995490254be5f81034a3627799dee5764f24e1e0d0394db3fb21e9cddce3ce9b36a53870e06c62d14a222156325f4dbf71055526e83eea9126e0fc6e6e368eab62e2f38a3c591e8d26dfa5c6b0f6272b19238d4233eb3674419d006f255a0bf0b645dae499375c91081f2b9ef4d6df2ff282e514ae8ecb8f3067d7129774013b28c62a96271cb8 - -COUNT=31 -L = 2400 -KI = 805a9bdaa567346a3ab074aed86e0e4228262db75e40347af948d2e4 -IVlen = 224 -IV = 6b380ddc2ee77987aa8bb0357fb32e04ec41efcc3a104fdd82bf9238 -FixedInputDataByteLen = 51 -FixedInputData = 9cd2833ee9b4c0e468a4302f3b8b6ff5abc0808553e98260cf6d9f6fc50c450647133c5969841e2fb6a62580d2d72351704120 -KO = 866bdf7e1fda562ea590946dcef79da528209a6f71d17497698e67eeeac3882346de58370a346e70f0313da26d7fda9559ca4b771422b1bd488fc8ae5d15236709c2fab66984bf3c6ba2d8f4f792ea59963b0a034b69bc4761d4483330c71b875e71fadd9ad3cccb50ec329ce10ee5b3ce93d9aa2fbe845ab07c1ec71e686dd648cf9a3f87e185d6401f35774850a75eba398470b1c46f3d3d09408d186402943fdb0f08e65ee882976e93e66048bb52d74ebab7fada8e91bffe19e83bb2dbd68227869a8a8439df5f217140f73439e7e2a2073c8813f989dc13894b9f984361031af57baa7ac0990acf033771f42664642a09e728bedc5386ccc40cdf1cf5e76a625237db0435922158077bb37a2aa4b0525e01a5072174c941db1b7e49864bdf5717c0e59f3bb48dc26a36 - -COUNT=32 -L = 2400 -KI = fdef5edd6357d145204e50e7a9b6594f587f1cc511281429d3e4337a -IVlen = 224 -IV = 58620c6997c224af053730213cfcd62d888268fe98c4f84cb45cf81f -FixedInputDataByteLen = 51 -FixedInputData = 01bc46b43678c2ec4e86b2566d8ec0d880a783288b91ca27053fb222004fb502d7ea646a0e1065b0ecbe6e872e01373eff6db4 -KO = a5b2ad60c8399d3f89ef86c8b2783a8385b6ffbf3c1379b2b055e6eadcbad2f0f8861a8c039f4f0cfb56ab4877516d405466137014ee1ffe7ce378617f05a8db0d54f5bb0d15e8721440fd110831ea9e314fa5b3c4d4c2f35cec1ace028f757e42eaa2b0bbd732e53217d9b5fc8a9f389a8d01ff81d1aaa4f49882845ef5f305f8ab0858839234b55dfb199ef1c0cd13d6e6a96eb8e91cf267f7486d9bb127937925dee580d4b7226b89b562a96798c141b21a8d9e59143fd515e4b677faf1bb8f2e8ae0230180a4d273ec5779968a2c4363bfc9b05379f7fe4e3d8f2a0b1366e7afbf422786be591ecaeeec0ad21f0a786286c8f58a5ce7b4ebac105cfced5fdd19f39b972f03b6f8aea740906d0a1935c2c56eb1ae0e14d302d18536ac7d9e8def61745a3d2cf97b3d2964 - -COUNT=33 -L = 2400 -KI = 871de9816dabd78d941460e68b76fb037050e62ebd491328225e2c0a -IVlen = 224 -IV = 9f3fee9839f284f5fa337450218d73db20b36260d40238000e905ec8 -FixedInputDataByteLen = 51 -FixedInputData = 950b58b39f02a88e7405deb6a6b36b5b442129744fbc5d19b51a1f655f1b9981a94ce9bae6e4e44fd54a5f4d24b0e063e2a6af -KO = e9e8de2d5baf1ab2b44ff9eed7e57c467115cde3ae436c55c4551fad416c3190d84eda835886f490718fbd5fb97bb8f3efabef9e4862688105920d30af4d498970471eb36a28793fad9d1f89f6ab01839ea9dcda9ae95dc8a53cfd7ea562b1cbaa09994b6bc700340d98e577effd3bd41eb33f63373ddd87cf59322dda2901586e3a312c8882bab481f3378b2790a84a0372a006092b1a160d396ff88501aee9c461cc44e8dcf9befc1d776b75fdd749189f5aa9c17ebd8bbde9ad7cdc49fd599bc0bf6517c48a30e3c90732815a35aea29e11c6b315c0d7898f501b0fddbfbf3cb26a7df10eae420d5fe00f2d132663b1b0fcbee55a9e7eef9ad3fecd7e002ca3b074beee31ca9332d4304f7c08d8ce56fba13d704c65c63bdc9dce745e11eacf1da464d22f8a30c65a0949 - -COUNT=34 -L = 2400 -KI = 87feb0670ab4cd099642c147dd720dddc0a149ff436c1dfd0703ba76 -IVlen = 224 -IV = e89ad850620fc84ecbb53d0729b7698f046b5dcf4aa83e0981a5504b -FixedInputDataByteLen = 51 -FixedInputData = 31b17f0fae63ee0f3dad3c5b1457089d8dd8165fbed94ef1456848e14fa07b6e504bd307f519dd2c76d9851a88a01fb3868189 -KO = 039d03dbe03db8ca39d8f391088ef4ef6090a72200942fe97883a0ada6a28cab60f5ae7ba1977251c22c89118df7cd59641119bfd063498588373b1f4efb2832202340293aac98d7e0ce62441a664807316faa8dda774eea98f9bc51fff9d0366fcd2d0efb30512a74d7d88c99672bbfb6e35c1b45b62a46d42306f9afc5c66b465f3c1148fd7d8467478bcaffcb8e6276495f5341c90d86c240e1f4998bb6602aa94936cce9f32b80bc4c9d3168c289202e9b1d01ba6f273ca9ff2e89b3431e07d652115791699df79bc52b1d58dbcc2fc7d8d592781029117758b647c889461b01bb7881dfad82f457aa844488751981b8c86f824dd30d1c70d998d1c39a2771152ec18c571a34e8b520ad23250c67f87859c9b22e84c69955253c718d9d696af6665a232a63b3a71a034d - -COUNT=35 -L = 2400 -KI = 342c17149beee849a722125bae5d145f487e1cf7f4f1749625b7c3eb -IVlen = 224 -IV = 2aafa9edfbe7b75ea61e706d5f7e06ef322178fb33eec24ded23b3e5 -FixedInputDataByteLen = 51 -FixedInputData = f36b42aab56ff38fa14febff85d5b36518b66a578aa344266ff749d09336b5209ca55e3d83668529426d6966c7a934464e81fa -KO = 325368c273a45b7c9e33265cbcb71641976f84c171df4a0324ef78e99c102ede009bea9671e1d076f8e00eafe54e29dbbc37ac36902a71e2d9661125734c4f293c92109ce95b84ffabae3cb2feb0e6a982ed9f2e1bf2931ed86925cdc49669c025064d96998e492ed48297a54dc9927cedb1c31142bff30dfcf3eb28f5306824e546a3b84aa44da515a9fdaaf18092d52f36cc45b4911d47ff3303a17468ab0665469c7da14dfb65352b6a6e809ca307402987dd10b62cb270445bc688519e9a45e322ca18a6b4842647691eb0184942cab37214e26394c54c71e6d7ed3376538b216bc5aedbe62a948636ae59643559f5b65c737e3ee2f6d55c30d404bb0cb0c90cbd040fe2de40365762bc7173835aed325301c874b29b85fb25360b38aa4037278c16b644f9baa91a9d5d - -COUNT=36 -L = 2400 -KI = b57bf900e83cbb8f97a635e359002ae79d9c345988292344ac8038b1 -IVlen = 224 -IV = 475774f130827816bbb63b62221b804104c840e9fcc482135009a4dd -FixedInputDataByteLen = 51 -FixedInputData = 20e9bf3e2bba10eb96d7dd9b35616ffd7bf41167e517fafba84afab7f1c600cfd28264bc0baccbcdbe4a381020022c5f2e561a -KO = 8dae4ba7b9cbbbfe4e91cca9a41eaa9d7b6fe1e80956ec3d94c6bb054092740a1d64d4b78ffd59707765b3f989b432b5f763a3bbb2b62c9d99f3433bbcd1c636292932d9583b39b5c2b80c371d4512506ce3f7c6d07c1efddd53092bbe0656927101df67673102c673415ad73a38d6d4b526d131878b7db723b8bd1e4e0f1fb3e4ea7979fc41a82384cb46f5c3a038718d4bfd021d4ac6ce329b4e002e51816b48db2bc117e52a16fc4e7f6c28d64045f25bb353bcd6fd661471ab71923b7ce84882b327bd071fc2097990da4a8cb85ba31e92fb69f6c0f5b969818e0336d7e5d496b32afb1c07875d7679412824e1fba7a92116094b3ae1ea40142781f8508eb4f8cfde1ff862d827ee9150905f169682936774de4e91c4782c0fefc07431fb55f42cf4663598b4aaadbbfa - -COUNT=37 -L = 2400 -KI = 5ce5246e5d8737a91c83d755b063acea91a2ce7e147b4e6dc076c63a -IVlen = 224 -IV = ac85477be1f78fe2cc134d38ba903f13e2c5f631722e630ede7b2cb1 -FixedInputDataByteLen = 51 -FixedInputData = c5eb49a017b1dd371281885980e00be2d64d31b2a787ca83c137f17cde3aa7e0a19bbedbe268bde40838011c16c6c89ff81d2d -KO = d1a3175dfe1d32ee6981efc0b4b95a71d3056d315afa4654cc6e53cff300376b8fe9cc8a7060790e0a2b2b20bad16d466ea774935a6ee9bb11263c0ee86468c4a25e10339ed0dd16f477a5435ac201cccef3d5c5546a2255cd4e0b32a4ccf16d729bc74d57f670826a64c3e56b3c6483c3a8b08cf00f1ab3e0d8e74e2c13f02699211781a5ea0b5d8625f9420ba69b718d6c6d45f1da6ec2d09f5651f5a04e378efcc5bab219a27980ea6e7579f83343a8455a1b1d2655740df9ba5f3585851bafa00600249fc4428547b2b3d77643aad217f23e7fad4ca2e4979d3f3e6f782a4b5e7247d2b1f520bb11ad094c87bc73b078a1bb0b82fad60ce7729d17637ccad46e4205fc5530ac3172d0bebc37ebf7fdbf27721b200f1a0afbf570359b83fdb39349c2da42ad6f9e4f9380 - -COUNT=38 -L = 2400 -KI = b91ca1741339defefe17e8b67b83cc1491c2fac9ed61dce272460f4e -IVlen = 224 -IV = 3c63074fd16d34d1b040c056e87b83db2c29260e9530b9a7ba70e93e -FixedInputDataByteLen = 51 -FixedInputData = 4b60f3a5d811bd14471abccb7fe2ddcaedb90b2c036839a5e9582c3fe0e05215c64bc7608865956c21c531d95c7162010708d3 -KO = c295b727d0e6a8b254baa5d3b83b8a0da25bcff3d43b7f5af81e1a08ddc09d87e75b6203fb278246ab0a56ab84740e64e63c4ab25a973406d93097bc7fa7e3dd80d83ade26ffae2ffb80f042a44846ec3bc00b16827139b6e4381a655b095ea51da66c803b13959ca896b174fa864e086486112f68770c009a27fe1c70519f9964554d1da6d6c351540532b2d5919b3afe244e2acab9717347785e40448d1eb1fca8edcf0d7ec1931966f076718de4b553cda50a22af05c70a0a6da6ae9aedec0d55ca0b4fcbee52674bf503100da340474cbc5d6390c04e534c0246e8c4063cdd94581d7ea9c560af96865e1188804b0800f21d5826cd4a96114a991429059df6e7fe91c2eb60d96cb2b2b01e8c72d441502dfa350ffe4b4b0faec5446830b7b6f5d67a98558485a7f7a6c1 - -COUNT=39 -L = 2400 -KI = 369860cc6a00c1b5656405fbb129e4230ad1f7def51c923202b03234 -IVlen = 224 -IV = e1e862e3d96f21a135f97449c3bd9ab3d57238b71ae5c22ec0687831 -FixedInputDataByteLen = 51 -FixedInputData = cdad12a96577bfd24f40aef643a143e16416f4f228662acf77f2b149c78587d4ebd8fe8f62f3aa9cd53ce973b812ff8e1ae30b -KO = dcb60e58fc71f2330da7650753c62841978943416f0218071f2dc972fff01b144ddfcfc21ef49d62dbb9ea5cbf8721391ddb5aa85354d91b584333733add746ab2b997d02eee20982214a45e327c03c449079122bd499df53297a69bf4cf1330cba6d54518c63133e05ba928babf2b4b08a3220db59741dd0ed486e7bfbc397ed9594ee8b61085e09e4bd11632d54cde6b388aadfb9c080923bbf9fc1aa780c4188b0936d7a5aa64331849603fd67841db3e0156e1d20b07a5bc6ffe1fcebea12a7d3833580630ed9c94647a27d405747ea34f9616b8686f444d7ded435d855b4ffc9945c87279427ddf6a199c7a8ec9732c2bd76edca28176b66aceb3c305c3734860f2eadd4e78b777b49dd84c3023c36458e6cd8d41f627bdc464ff25d037b0b9e22560e926df76bce1e1 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 1d078c4dcdb3993eac86ff26d85046fff47c6cb6aaeb94b028497a4a -IVlen = 224 -IV = 69f55f692acfa62a65ab5fd9358566fa72ab344c4f2901dc48b64a29 -FixedInputDataByteLen = 51 -FixedInputData = 99c92c934278d315ad2168ff649b2067e8c15910aba0f7a933395f151232a2caa92001c284da61197f12eb9c462982aeddcce8 -KO = 9285ba0abef945061537e9a5c2ba94ac12acd6e022a364512a94a2fe66dc0b1cef98e9d6f121171090b32f054a56ed248d0263c0a09f97139f146bff32eb880b - -COUNT=1 -L = 512 -KI = a42f32d5f9346b6ea84c8b88323e5cf78b9bae0a66663bd2b225e6c2 -IVlen = 224 -IV = 35e91e26d0c806b42e75107d635d23e1d43147fd048ce4859d87b6fc -FixedInputDataByteLen = 51 -FixedInputData = 26ca63c7eb590d3a06319147701d65c8a6cbcb6ee4b87ff17d16253236fe6994698f8f5390010bb1190ebdd4ca0f8d672a9fa7 -KO = 5a317ad6bf0c30be3c5909ae62119db3a8256c081ba47bd4bdd68d2d652286312aec404d97e1bf7a81fed08da88b3967c6e8476059207b6f4455a75a48a04594 - -COUNT=2 -L = 512 -KI = 096e2f915769d0497d2ad539b3a7910f0d7254174e2b434f56910b72 -IVlen = 224 -IV = 4c588f01dc1f7d7b35de13f56b07bbef6ff3c9f71483ee1376a55ed1 -FixedInputDataByteLen = 51 -FixedInputData = acf28ad28686b8a375efa21d9bb1a1ef4ca06f244c9da02f0ef39a4ead5051a14d0bd37a4ac94496fc7ac90c41741381efa0c6 -KO = 8c9d86a15d2df67b12d8b27f17e8a2f11fe50476ebfd25e3a53f71001cb9d3f367e23da1183cf26897c642c21af016ed9789c3ee9b9186cad9a74fc1a76709ce - -COUNT=3 -L = 512 -KI = e8d4e72e86fc7c6f1f6af602c89776cfdf0b5cbced7e36e4802cca80 -IVlen = 224 -IV = 3298e543b4c070367e7846f07c8961cf6ace033577b20c9c64c950b4 -FixedInputDataByteLen = 51 -FixedInputData = 0b3869618f142b9f0231029ff41a5903412832a6c5b78c9bba0b87933292232d5449b23927a6a778edd8bebcc10c93b78d6b44 -KO = d9bcc9ac67c77f39d6201da0581a7c3842bbd542d51d765bac00a358cf170a18662034a1e8e77fc8fa8aae54cd81fbe68dc53761ecb7223088d28c0307bdd7e4 - -COUNT=4 -L = 512 -KI = 768985204d1b28e6b10e9e4f78fac58001bbaf5d79c5009ca4c0eaf0 -IVlen = 224 -IV = 1c4a5386dbdc79cc1427a42752e784c8f9d5e8681708ffd1e621d75c -FixedInputDataByteLen = 51 -FixedInputData = 5a8cd8d4f40ae2446a889ba6632138a7c6c8749760c462c5bc8c2c0fd372e6afc15e085a4d80cff28edd601d49eff6bea3cbe8 -KO = ee4abf4600a3d54ee8639fad6c775a8c1b8ccbc2462bb2987761398f9d102ad9c2738a93a18de41fe0574d4f33dcaa379bc522769ef9b774964a8cd7537bdc9a - -COUNT=5 -L = 512 -KI = 9008575936a11acbf6e67dd45a51d3a695245f039dc712567ce5e9d0 -IVlen = 224 -IV = 6a09ebdb35f772dcc0c6e3a57729379b839d16c75607d9943951ab63 -FixedInputDataByteLen = 51 -FixedInputData = b222c3e7da9fc51daa2aab9b398eb675667a3173b91d022bde19bbbbe7fbe046cde4c83e050f4849e20b2a3a3ff7ab67643860 -KO = 8ffc4cf5b200e801c35cfc4ffe1cc82919225222ef353fcd8e1e0c4e2f331f90ab8b81b63ea4bb282299f549b4cd204740ba42c10f6af190f5642685c61bb2d0 - -COUNT=6 -L = 512 -KI = 5a68c2ace0b5948dc3202f30d5a3ea0a4d00d7b968fe25091fd3db4f -IVlen = 224 -IV = accf5d2baf0b0476803f90c26a48c44d4d2ebbd822242c49dabfe5f3 -FixedInputDataByteLen = 51 -FixedInputData = 4d7a798f1f19b9fad0832f725d1c0e245f3a9f8fb3fa36bf051c66af312247616fe5cac21e93b20c32e116e4a87b6176a3e209 -KO = e84c4dc3dbb4ce5c6a457d47d23fbc9664290e752557afc910ad8558dd8d2666a82e0dff30b755f741e9e54f4acf1caeb007bd231f37dfafcd203a6999d2bb1e - -COUNT=7 -L = 512 -KI = 0ccc0a988698275589507afd37d44b86c86b08f902343f83743e3562 -IVlen = 224 -IV = 40f36d8132496ac972064fc4b465dac5785f71fb8256dea10dc58943 -FixedInputDataByteLen = 51 -FixedInputData = 2ff9e48c7123d40aaa582aa550135a3c3289f4a36f7d6603fb1efc50b4d67cbe8b48f96ea4dc535c3f1985931456040ffc6a23 -KO = b7340231720064a5c1eb9e381cc0dad361b373539c4441bf0fb1644ea950b499a317782ffa5123d104bdb4848b131f6d1b33a413e8d2f7ce09e9bcfe7be916af - -COUNT=8 -L = 512 -KI = 6297ff2af5939c78c816d2cafd0d7fbb77373cf2c644d16aabbd46af -IVlen = 224 -IV = 0bfc931888046c3272564d7df25776eb14e39ce5c6df27bbed6f4f0b -FixedInputDataByteLen = 51 -FixedInputData = 3611d4ce72e1870ec85bed3ef5b4a96f5c5fe1296485112eb48002e6316e338c789354ad47bc451e0b9e512b0bf2bcfd0d30eb -KO = 7174ccdfd1fde41ef0018fe6b321718b98368582f0f101502fd85d7c111d4ee0157655c3c3eec0be0ffa060646212140280d64aac8ec173bebf7fa2062e18a72 - -COUNT=9 -L = 512 -KI = a4e32a7965fa321e78a5a042f9fd2980c3584fecd2024bfc4534a76c -IVlen = 224 -IV = 6d325eeb4bdb842d4fd1f5dbca82e0dce4bc6eb3ba4279afbdd71e33 -FixedInputDataByteLen = 51 -FixedInputData = fca71cda954f2bc54d1176023dfd15b050eb0be2e67c04d5a84d41b514eb8a9536223a79f165eec47bea6e9b5e169f085beb7c -KO = a6b49992c6d2f89afef75780ae6fcedc43ea4ee1889ef0b19f70769183319a04d5c31f2a087f2ae148d78b6451f458d137d60718c847817b303263a5c3f5f23b - -COUNT=10 -L = 2048 -KI = 178a63d86d0f5b5843aa5e8c1dbb5c724cac819564c6b002313f9ec3 -IVlen = 224 -IV = 71531cd1f472c77658586e1dea0bb90fce18cc08b0f299cd3369d515 -FixedInputDataByteLen = 51 -FixedInputData = 1f94e773e696c4ab78eaa5c0bd6a0d904460f3fc0b8516e56f16b084e0764edf36e4b922134aa98cc03fe2c825a4e7345d631c -KO = 0174568a8eb7590b916ebc8b944367488de63c6daec43751ab2bb5d7356e417eda04cc369162d887e5595ea93775ccc8985d6b9b42ec2bd08ca07a8eba33d611f7f57fed8b3f7f4d09bc735b2f4f592b7933b395f728dcc0122e498eb4f8985f6cc6bba81743a1cc512d063027999e3abdbf4997437070d298cba0a28caa96d69c55e5b8732f2ef4f809da0abcab937120e61edf3bf05e3c8cc5e32447e04bac78fc4a0ffdfc6c0c0e70a94fda98cbd172dca53386128c4efeb311ab0efe3e1e8aad33e25d9585ae53e23a3ef088d4e61de41a222fc9f1c28264624d61eec64df11110d8fd6673c83292d71f8435503add61fe0d8baf671c8a81dc7dbc2166fc - -COUNT=11 -L = 2048 -KI = 594f6500725bea4a3d679015a7fe0fcdced3ebc68ab8d06e6fdf5dec -IVlen = 224 -IV = c240ab68fbd8a757b2d2d4bf50853ced75dc484c0216590bbd930687 -FixedInputDataByteLen = 51 -FixedInputData = 61de1523bdff48be2fb7885710652ac1322580594912de8fa4731e755380c73ddd38cff662868fdd39625dbbe77a1e64368f6b -KO = f2c0e54fc284c38ac562f6f7d40efa4961d80fbcc1972588e662cacd8ce40a8e95c70586dd297eed6d408301887c5d0caf7f0afb48735ee7b993a43f96722ea44145f904d15f1116635f56c3215a2f4870622af9c43f926dd714261a74dfb56fe32a9258c487760fb635c419728a312fb2fc4021c7bbe961c77f4999808fdf1edfe61ce557a928e84776f1ce4eb539c1a85095e6862ccac5743a7d5905963234ce616fa5f0db600aa0cd40cd6561b82f492e620240ced8ff7933a5938790710f5030735903be57bf3a0d8e7f5a3d7d5113f0fed545636cb75bb69f781bd5348b7daa29692ae5e99fd208b8e491af4f8f6c83a131a2fce78cce2c834e76ea4fab - -COUNT=12 -L = 2048 -KI = 6f33dac312cb7d47827a520fc3a2bebfcd7cab343661c5cbe4f225a4 -IVlen = 224 -IV = dac4d14dfbd544317f02dfc78935d2f9e19670c20c8e74f00184ea6d -FixedInputDataByteLen = 51 -FixedInputData = 27dd5616100a2fffcae859c8ca0a2f092bf687c617c38ee256f4060c4e9a4a19e637d2fe622aff7e42de0f17f73a884e862235 -KO = 48021641f2b5433a77cd377846b9be35d422bd3ad5c01faa358ae7b0d270a004e10d8e0d4b05c091c0b0b1a3ebfb5ac8c4ba9539b0ff0306a7eb8c41becd577a4f34d13cacb95a841a80eb8bd7078e36f6ffd87bfd7637ce48c7475fab1c81ecfa4026cd6d7c804bb2aa333ebc0aad4684bb06d8741fe1c4c77acbd0619e6e964e1e1c4ca89d1f4085b6d3e55da6cbc811cf4d3a4519a324d460de9945b48f600c783142bb4d592e88ea719a6903352cc6617c28efb71c5a65f1ef5a17c2ae6f505b03e73a424e5f6054ed756ff49a8880dbccaf7a9c3ef72e2cf4199da2692311a39fe1443d31ae87f6ec28d76341052c55826a179005691d491a9434864a8e - -COUNT=13 -L = 2048 -KI = 426ba68ee3af594f9b6795d86294336bae76fb14ccb7cf531e7a1fef -IVlen = 224 -IV = 8ee37743aeee17001fd14ad945239b004a85d01c6eb665c6e86bad20 -FixedInputDataByteLen = 51 -FixedInputData = 5b94e3b6eba436f367324ffc9b043a7ddf07272871cdca9797e1657ffe52d035eb9689fe2ccbe41eb937b6f03cf3432d817c27 -KO = be118eecd931debea63ab2f053b6708c784331945743e3206222b6e92d90e8731a858cb0a5f64aae99887a04cd37af35e1ea0b8b3053beb966e2cd046f69d407d5edbb3324edd85ce345ddb6feebe09793f39208fd12471b63d55b7a69b09d132ce2e163487c9bc94776dfd9e26fb7ce79ac87b4291febb608afa0432a559491eebc62c187813db1a2123c54323dad29aa5b4040e0f9753d0ee58e551ddb88de5029f1b3175468cde3ec98e62c817389f483eabb31f1241144833aa92733e5ceb48de46d6760eeebf3266a0e8acbdbca3d597b51a4607e52859bad3de305ec7e3da4e53f9c580dce03b1eab49aa9884a73be8c1ef7f9dd1142f48e81294343de - -COUNT=14 -L = 2048 -KI = 01717ed44ba62d00919e91660dae4ee15064337303b4db94a36605d5 -IVlen = 224 -IV = bc662c4db7254fdac9d0d132c857952c59080dc4683b9ef31c899f73 -FixedInputDataByteLen = 51 -FixedInputData = ddaba25d5fae79f7325a80234b468e659b8c8af483bc5a09ab307a13d0ea279d83fc5503beeac58229898e469be6a95898b902 -KO = d6f793f00a9c992b3272fa58df2cba1691b15e268ca5e17255ad2c2ed3c0a25ca112f03b55a76dc22080eb5caaf22da699b50728fe63026c2356cc20b365804e8447bc7183cb200fc3ad0da15092dad595ccdf9cce8ee52bc865ab0dec67be845f6c647f820ecad02eb95dc0933dc528ffca79f82e798610dd31cfcdfedb082cef58abfe04aa7bf04b2fa115456cf05d04e890f665a193837349af191ce5c09d8a16c7899f5cac7495fa2338dafe207b8ba8efaac1b3df7f3a983ff9ba5d777c002bed88e7f471447c30f0ed0767c3a8733d44370f48e7b873698de46329e8926530be09d3474d9f4168e1dc902e2c2352f80dd6e1462b9e05fa0a77c9cb1c89 - -COUNT=15 -L = 2048 -KI = 8a2b79ae5d7eed86f1a2c4851561de661eb573bf6478456a01266e2b -IVlen = 224 -IV = f58c1a7d109c01c3705bc380c39562f7b6fed1c03f58eb38c725e401 -FixedInputDataByteLen = 51 -FixedInputData = f97e7801f1ffd8f7d8fa2371e6dbca32dd3d9b6ec8d2692044646614d56279dccbc797b092dc425ca58171308b6be55d5ffab7 -KO = 2bae78798cb131487d8d342bea62d8eb8e6814ad297fc15563988b29b669870c9371666c2a2b0d6cdbf9b3fe1ddce89b9a9fc7ca4979bdb27045275602e07b1f44281a4acb82db2a594497beb90e875391e706ccde37707e38afb5d8b1ce01eacadabb89f44e33523e14d10946272e69400ef267be8daab21f229cb7efe7ed68fd38cf9d620e88d7c194c239ba299a1946a0865aa40ccf06951789c6603e9843cfbcac86f9767e49632a3aad71e6ec22451c0fed16c1ae6fc9db5feee36f461ec5d29b082bcd557f5ac55f3f402ca8b550686882df8cd45bee1bfb59d0e23696c8e5186642a4acdab1ca549fd8b89aa5ce2e4ff72bf90e2030074beacc11aa37 - -COUNT=16 -L = 2048 -KI = 3deecf781c6c3d7f9773aa61644f77bd7a0b51282ef2ff4d7845a487 -IVlen = 224 -IV = 86d3011d87cc45b66e423725295043fc9280e812e21c02eae7832a05 -FixedInputDataByteLen = 51 -FixedInputData = 87ad4dc2f215ce1f759cac69bffe246a618d811a9a2ea7ef79e91c434761e6dab5dc4ec2625164355667da5ba46039dd210133 -KO = a71bd31e04228e6601afa5a9d4f259c988e0e65762c22d089cfc2eeddd961dcb88e58531c966c86d1f8ef4caf668f6ca8702889b97c8f4f077205cd168f68969be4510bf0ace488fc066bc9c77359d8ecf76f97e8b0f58bdd950ad463e8012d38034290e17ef7b030bf28d44aae17d9ebbe67b676740eb8cb585ea36ae798f4c73207b06aabe102b9b6d1bb53853ee8de5aa339b6de1e77f00fd68f274864f5f39e7a891306698581a4c9f345856f508a1ab1369f23db61f9b03142b1843f6df8e7ba192bc54cf59c80070d1a5b6679de18c6a166903205fdaad856c0e902c9150fbb2282debea734ec34c8bed030f222a32ca7d8a11125f0651130bab139632 - -COUNT=17 -L = 2048 -KI = 8b1827941fee93e990a8d9da4896eb35c32e80d2f37b5d1d2e80ce35 -IVlen = 224 -IV = d72626938c03f234dc8b73da9e4fe7296b97605f110b2368c21868bc -FixedInputDataByteLen = 51 -FixedInputData = 7f78e9b5bb761ae06e9b8499e6aedbcdff57c034b3189fa3cd7dcca9ec8a6682b38f1b0ff3f3b9b4d133d40a58b018c00cddff -KO = dc4323fbf5845e4e636a4f4feba78ba42fa579480f0df521c2dcd25fdca1b183f1f889ba7f2184ff0e1b3acc65fd15cb729a54980e72b618810c84c87dec558661b728936449de691db6e93feb669716944467196c9ce454a7664cd1fcea1abb7aff7fc5ea1931f156568011338543af04e456f6fa8e901d6fe4a7ea9c9d0e8c56506e0f6e66d0450bd3769d741b3e2de518d3ee2b2f37f117e88f59b1adb7034501714e062ee3ed865f42bcd4063714b7418d873e2d2c6a01116165fe12c25793a2549b974750ad8d280e16c24ad4ec6d754e033421952ae85d3ebd5fa77dc57cc7b1b5012026dbf18add32f9a060ff43ddcbcb8c191c916398ee85ce18423b - -COUNT=18 -L = 2048 -KI = e5b6d4d804252a03de4cfb64540f1ceec4988bfebafaf9f1202e4c7a -IVlen = 224 -IV = f75ae68a84c2fcf829f63d183942771d6cc7dca04259be86c10fd26b -FixedInputDataByteLen = 51 -FixedInputData = 4c62135f5e38bdc1aaf014679d292ff90a49a7187c829173fe6ce361481e030645d45b3f1a7d33f8dde0233201f604c9fdd450 -KO = b7b63660102b9cebd56ba1527c50d58cd5cba15b055d1dfdc409b91772e0d56cc2e38ba0747e6e6f8b22e77bdb1587bdecbfec6079fb380594703d5d11a783b30ec6d0871a8cd88da3b21921f3ecb58e4d0bc2ca3dcb0cfb75c3dfbfcda9025ac70cb63d44dc37a691414eb0ac5e799b409b59e8e4256365307bac6eff8cad4377fe3cb4755f0caba9893f3b113d0ffb5561718ac9ade286e441d114eebe922998b91ede7f17bde4c94b95dd769e425b0ae9e574cd3bae5d38a6a325672e1b448382ca421d75e973318ed2adebca959e8f90cafc50633ccb60a6565cae0f294e484f61d706122beb12364c2f1656f857a8492da77cf715ae2b7f606acf38ffc6 - -COUNT=19 -L = 2048 -KI = f2de4028ddf020ab4f240d9588a8017c980dced05223a2a9e0d349e6 -IVlen = 224 -IV = b9e305bc54114939c8049e14d8b7bb1f9d79eb6d70bbc675b5e399a1 -FixedInputDataByteLen = 51 -FixedInputData = f506a5dbd4f64fc0ef9aaefd619a78676c643941820366890d24a59b383bfaef894111c54b402a66c4650ed6959af5709875b1 -KO = 43bbff3201d638fe32f04628fda3a7a42d77ba953fa5901e16da4ad03bfd23c9b2e6a5d2701cc9010e4b515aac868d8070ed8d2a0a1134da529df9ad2788f96bb13688f020aa25e2eea6c1789c94db784ca2dd63d82037fa64707ed0b146caf0f64ecb21ed621b94377b448ecb6cac9f45c586ce2ce3ef2033348b9105ce635e1fe412f5ec78f6c59c6ca99ad58566be5c04a4a97baf236824ef11e156c56379314c263152dba33df4ca03cf1548635f64eca9d1545821446ef014f39d610525e5441a9836f1af9a198923a2461453d6bc42a4b699ce0e86c98ddb5094f6ef1223f25c31d480871bd7c8918e6659fe802b2a4c98b9e1c469cf84a0680a7a3087 - -COUNT=20 -L = 560 -KI = 77f1a930402960da7b4b85a8fcc488827eb527816ab0a4a3dd168110 -IVlen = 224 -IV = 01e66f7bca17edcb748956c6bc20edd8c9be4fc86512af304a0a08d1 -FixedInputDataByteLen = 51 -FixedInputData = cb70757fdd5286b76e868660383a4fcf83f68018c77e5d3e38392a70cb02f7d7f2da8a842b8319141eb4c596d79fef92ac8fc5 -KO = 2efd9f1f977b2c6caa679681da5d118681d580533912b0dfcbd96cb7da41d15503d1b1ff45fa8780378e76e3787ba8f4775eedba68aef0029e41f817e45be4f1b4126b6082ae - -COUNT=21 -L = 560 -KI = c45970169be9ee257383612d3bae3be346efd7c4e368380e6139bb38 -IVlen = 224 -IV = 6270c43843af077f7e5005846a45c4dfb783a3e7635c4826eec2b9d4 -FixedInputDataByteLen = 51 -FixedInputData = 0fb9cbf7c8d7a8cee07dddeeda04a30dceae154d8e186a8d5a613bc691fbe8fc6db2cb8639adcfd3e16875d464a83b91ab1c4f -KO = d5937543e890f9394263efb3f1c1d385e1aab8c15603aae4ef37e69d171fd659af68ba1b617b0150be9ea89ede6fa054515d9a097437a5bd8fa09eda380c026370a00d9903a5 - -COUNT=22 -L = 560 -KI = 6bedd7c0c9264093241acf6e22d04f9800067f4eb4e1b61b60a18d46 -IVlen = 224 -IV = ec390bc926da3ef59d6da1a667d909d336ba14e3c9ca3973b95bf6ef -FixedInputDataByteLen = 51 -FixedInputData = d4514f23ab8d1535b1a4f4cf9c4fa77f7ea58af0703e6ffe94f46a407ba2b6d8ff507338eac3caf7a8b99c2323bc38a7e08b96 -KO = 772f06b6e614f5ef63f074fbbbd7444369da3902242f212c653b36a571d4f0c657b0d9a6cf80d0b1cbb9d876cda73e233c5ea8b97c47b336fe6ac354cd37ad8a51a3bc851916 - -COUNT=23 -L = 560 -KI = 1c9301abe70165f170d4525cfee80733ece06ef6502c820c9c994941 -IVlen = 224 -IV = 045c82ae36df67ebe246637623462a3936c93fec8f28488d288af446 -FixedInputDataByteLen = 51 -FixedInputData = 2d2db39faf7edd378363f295a1fa22806ebcaf96da338c91c2d802d6e21c1e9852b76a1f0c3fc87bf2a83194596bbf7d235554 -KO = 2385a442aa27a9e54ba28ca4512c9037d73937e26aeb9a279c6b07f68dad5b6c68392b88919be6c899dd55d45a325da41c17d3ef12e10957856609215233a7d1345689bef5e5 - -COUNT=24 -L = 560 -KI = 572ac5164ff71f2818faefe86f9a867290964487e6f2a8e1532c201e -IVlen = 224 -IV = 814a89783e90a594ab017e2554e600716cef07934b40a5c00b2b7a65 -FixedInputDataByteLen = 51 -FixedInputData = 5cbc647bbcec8c97d8c5665c9a4b8d80391d9cb11b7ebf5656f46a935ebbcd6001d356a3388665021be5502c636f0dc2774d76 -KO = cc6bf3bdd44ae45f38becbd7ec074707865885d1b8f5900a1f51903e63386126b80c4e64088465483439e039c5b3af78e1d2401c62e229ad102a0542274d47add9f315f9083c - -COUNT=25 -L = 560 -KI = f9c675f3512dfe51bf37f2e5bfaa166a04338e647b491dcb1bafb6e3 -IVlen = 224 -IV = 6e402beb93477c3ad6258f15c42ee03c42bb0d5bf1c7a0cc60c58c1f -FixedInputDataByteLen = 51 -FixedInputData = a713489e638154137f089c5c177c5f16aa5bd18c7ec0da1b597fe3e93f5cb751a8f0bedfde911744ede18389d171db6a210d50 -KO = 77d3ab48eede4b0bb6e7a7412efad82da52ad49a3552c772364fbbda86f7d8dcaef094b3e5d6eb06aaa9c3f9bc8501505aae562237779a5669be53daaec28667fa682a33c8b1 - -COUNT=26 -L = 560 -KI = 7fb28186ab01b78523d9e07b3c5c7bec0c2d011f6dbe5f39f3ca1d91 -IVlen = 224 -IV = 48a63b2d6a91427f77ebde29cb0c79735412a83abf5dc4ac89d24c42 -FixedInputDataByteLen = 51 -FixedInputData = 6390b82c79646d9dca3338f4de73582a99212b2667cf42c62886b52c8887ef5179acdaeeae4d954a91a7a7d214aa8c8d35b288 -KO = 7faf599c0d73e1b0dd7d89838e801bf95df009e053d8f624df731a730f71563aefa3344bd34fad1b187c8c83dde701dc6972c2b9d9c4ecc4a55f40af296ade2149f0dd87a8f3 - -COUNT=27 -L = 560 -KI = 3eaa5a6beb0b7c315c3dbbe7f838ef54bb77969b64d25f96df4310bf -IVlen = 224 -IV = dae23fbee206d2d3d040dab7c4b9a53bbc6a6cc03c8069d763dac4fe -FixedInputDataByteLen = 51 -FixedInputData = 279de5f3fdc6e86189899c6d9731809271f51a896cbed86964faa71dc305f17f87be70807a6585ac5f3c54f4abbe343c021a9b -KO = 2a220cd1cf386a7e60adb5d295329c0813b51028353ad0bbe7569824ff5f7b542f2a7eedbdbfe2715edeb3bbf2ae1e7cf01a9f33d87e5f4525836fa8104cfdb1ec21bb782d0c - -COUNT=28 -L = 560 -KI = 66d71ed76a7b43fdb893c5de9416806d1b97518944d05add906d701c -IVlen = 224 -IV = 9aae0b9897a5f78142eb18b878113afba39ede1217f869fe02f392b2 -FixedInputDataByteLen = 51 -FixedInputData = 3a80beed409e4f43eb3fd6ecff7d1f2f4981ca8c9c6a162b8e1fad5ce6d78a10df69d08ab338cd3ee391b89f2b8eb9437022e2 -KO = f8497a1a84796ab2256df57601c9c02c6643317bbad22091c1241cebdca817bb065560c5aa9a728bb0cdea2f0439a9c89e64a26389027fda6e71ce173c4d5959f3058b0f5516 - -COUNT=29 -L = 560 -KI = ee98642f878132e69c0f6f9a391cf66b56797441e19dc3106721b3ea -IVlen = 224 -IV = 17505987aeee7d81ae3bed6520a9faf22e5dc3e973be041e205d8099 -FixedInputDataByteLen = 51 -FixedInputData = 764e2b466d40be4f7e3b2086f65ea72b8a300813a7b7f8e7c4929d218684a072ba2f297b5c4ec7b15e7fd832db370b4df80960 -KO = 05ee0de1ddadc38c68a1fe94a49884f2e1d96050314c3da351b69cf8ad658c73051b06b2e9578f9154200fd7d9b7de3f9cb4111490eaa5850ba1c58e0307aefc3433b204df4e - -COUNT=30 -L = 2400 -KI = b17d7526ab344f6bf769387a7ad952523a94304270b42438fb590215 -IVlen = 224 -IV = 044984203260d828634469fa1aed318e4dbf8782436d1f156d1198a9 -FixedInputDataByteLen = 51 -FixedInputData = e8dac856ab76c86ab6d137956cec6cc815995b0292336a33677ad12cb31d72cf7bd97f58ce04d959caf496a7680bf7949c1bcc -KO = 998d15dfefd33f96ba6ad2f38757a4d27159f54c8063832118be51a961044ec75cda87f24b4514cd62809a9df3d041d90b266abab97a06c242a688e06e29f0c5dbadb59fbc00ad7191a505fc43718c2f9db46421d627735454fb46c8589f74cba7891bd8177dd31258eb80e6a091f41939ee55c65dc778de688fc08f3fcb7fd2891911abae56c2d7737f3e2259f428b82e361358d793f03aa8f95c0eeb5e7c9aaf017dd4d79f7c74c45f35e8c7d474883a0331179c3c5a2ab326f856974548f4e132ce8fd95bb9c2b682a7c506a15d9ff49153edaecfddc0cf8b9bd0ef5ae894146f71a6c1d6c925e45e840079c4109146f70ada005eee27b1efeb74cd2534a016800b88813829c81027ef97d7cfc70b84a0c202e0b1a7852399baba5933905980a644cfa88b2bad0becc91b - -COUNT=31 -L = 2400 -KI = 785a715d1f6bd256e7947f6eff15bddc7322cf432912c105712cdf16 -IVlen = 224 -IV = 5c6c06b448b51d5a0f961c2e0733a5971f2e183aa159bb3f6ec92826 -FixedInputDataByteLen = 51 -FixedInputData = 108775e680bf9d7b4229c32e4009a874f32fc1df7074d7ee5c2ad9700e950da58c8f65c7186867f28e77be6c9f0f4e9ddea381 -KO = 923e8780fb7ade08816159bd9160cd09a9069a81e520315b9bd8b247eda2b92dc4ac522185ea0a31ed21a6c1ea9d33444c212105728128739baf7b0d2c30e5b5fe9b4f6221daeb6e50dcb889d41d6918b5b9455c7288d94235e2626bd15065148d3926213bdb5f40d725fb7676c7ab2df69f63eaa5035245a056579c55d1290833243f16abac51e4b4e1e70ed11b7d48c9ecf315f57198ecd58cc414b60247c27d9799005088ae437009d1c43524dadcc9e21295d910766ef3279ea3c5186e794f279d2cd418728f437f9ec23bfe9e24b9492b5d63d87766d483697d826edc9db6a7c26f42aeb5e278097a1c84e029b6b936c8e82ae91048c02031d3814a4e5782ff076fac9175ab823ac8d71f00fb039eb3829f4c6e7f8753b41b08730779e22471af823d3e572f2f1c8ec0 - -COUNT=32 -L = 2400 -KI = 1c9b5275cac345c9e16a01a295e7ed6a618253603d5f41b0fe9c3305 -IVlen = 224 -IV = 79a5498bb44aa9fd71bbfcef192c974b8dfcce4699954da5ddd04dc2 -FixedInputDataByteLen = 51 -FixedInputData = 4b9e22d2e1daa49550e7cad06b0d7d55e78778602c1ea967934a17123ad7d891ebc83b86fb5eadfaa269e07ce343bd86e18164 -KO = c7a4eb022446be479e10d11e722f821694792f622aaedda4b8dae80ff5d19e48043f5b6dacbd512fc282302233f64ba9136f8df7c970730d3cc2b6aac4469cca56ab8a7a544773c1529ae9872057c4eb04fcd32940d3e20525a4af45f0e32f27d3c36b46fc91be4f2ee22e31a8bb149e3ccb879ad0791d215cfc2794c7cfbaace0e646354567cf102cbff755e7251c918a89d6626a20259dc522b0e5bbdc35ed5de12a2686eca763512cf3d88dffa69bc5984f04565b4a0178c485dad2286407595aaa3b61dbfeebb8a197d4ed20584970067315ef09a7ed5439596d5befcad1b0a7718fe63c57af04dde873129833e3f1a8220f086c36ef361aa27d20b5e68b135b4cb070850817622c8a0e5e02c5860735038fc39552becca582b591f371688da164dec0adc02911bd5b27 - -COUNT=33 -L = 2400 -KI = 359329b2682c342e617520db19bda569c8c109cfe0fc576e64d2c1a7 -IVlen = 224 -IV = b5769295de15d2382fc114eab9484ecb9a4928f3bd93e8fbe6ffc2e9 -FixedInputDataByteLen = 51 -FixedInputData = a7b5a4f7690dda3005ae5431b9a32c50fe1965b67b31b4a9e825cf520be783974bd3b6aec02a8f0df6b4f99a19ebb2d0cd62d9 -KO = 5836a171c1b552b7f21c5d89abb145b2f032ab8386961d1555c29a174d3c3acad82204d7d836f9f65d7acd5c4f8579151ccf5a4c882a4313aedac0401ce80a532c5aa157271489cef9b79805611f65eaeff31c862e9bf8b5f68916b0eb6dc8ec5a49b998de8e7c0d1bf68309c7e4304a1eef2ec35440952b407d2dc4c9456090fffd698c60d9ca750c7414f4f75aab59c498147cd0805a08ebfc7b24949e8352e33f4531d83fac6314f6f423c269166b8e2913a2552bbfbe0115a463f873077051c2846b028046b7b0ffab6e04cb1f36f573512a9eda93ad4102ff9ea32e47f36343258404ebff7420b3bfa3a79add4db4d63499d44733e6c186a5bdd72756c8ce35a66405c1bb331c7582b049eb12c34f1d90e445f49f5a53802b2094bbf5beac7acf0316140f670010650c - -COUNT=34 -L = 2400 -KI = e0b9a6d451a911ea4b960485619d397973b7461234c96a2c17c6ce0a -IVlen = 224 -IV = 83be37c19aa08260a564610c2016d9c6b0489726d9837b5d4b919518 -FixedInputDataByteLen = 51 -FixedInputData = 174fc2f44117b259c9242073204d9a6dfb63bbb4bf168e41e23add88b02c1ae890733a32b842e9e29ca81482045d427b5407fb -KO = 0539ad42f0a6b7ba47c969686d72ae020aea4585147f3797e3ffa5b4d631b12697a40c09513fb4ad9a1684e9ff0d7165cbd1b4f4101a4a619dd0388dd7d7dc4e31313821c9ffc84237188e1108e70440e7ec6ad73a0df59da85c5a6d4bb9f054a9a560c1fa525feb62dca92e1502b7427cbcf98cb1ac52ff260aff17a90f5a0a4f115fd49e73f99e9f3b33688acdc621cbbb047310622c085a76611e19931bef8599ad34ecd4ab64925d704866fdb5ba14a4ca3514765dc0bde1e3443332ed20c7df61350ebac41b1d770a24d1d932206b89f0b954679e27822c0764650320ec5760aa32f821dd4f81d7ac1a894550f97ef6e4a028f1801b90fdca141d2ed420dcbf4d004d2812924b7bf4b150fcf18fe819975742eb570026077b966b95a2f0aa42068fb386607b7f0a4806 - -COUNT=35 -L = 2400 -KI = 9511eece39ef14c8b5f80765471a30542197a396e14eee531bc87023 -IVlen = 224 -IV = 665a6e99579afbfe998cbe2016a1321cc27ac6bca266fb44d5a2015a -FixedInputDataByteLen = 51 -FixedInputData = eed4d01be67c698b21e93e30d9e6137b362a0fda9a1484dfd66934259c40451b314c301d9bfdc3d49ce855cd56b22e5447de44 -KO = f9490ffacc8f1b78556709711a6a6d510551ed45b2503a6a1d1dc1617791322880322e71c136ec42d31320d975fedcc12c9de9a6b9fadda71265a2f15057f032f2470c958d1a08eaaa606a47e0da6e100d0141c6c142b0d3547d6e18c65a7c1db9bdc32c1fce7b15cf81ae897cfddb2be54f9c074eba70461a82d26eac5386709d7fcf6454c5161362ed88ac9ecc68cc61c17c77593411b41cbbb73eb53d3d500d668408529dc238f98c2b81aa75a712c54bbfd82b12f98480ed1c403d7a28cf5e0af756e23ae65ab35360153beac5f9b513d92a903b1b3c7b2a2f22aa8c716ca41fb29d7ed9d86f10235d76f01931fef052307e484e534a7f7e5dfe0a6fd53e333be5d89ea0ba0fefc4d6d6d26a8c705e33594b5dc51f097e4761c0e334d0709ffea5d7110d26f4c4034e75 - -COUNT=36 -L = 2400 -KI = b399cb87f5d34db254e45573c9fb6c290c9c704a8a1f3a570ab17fd4 -IVlen = 224 -IV = 76561ba85b23d921a2bc044323350a212be066db0f6e83457e8e1257 -FixedInputDataByteLen = 51 -FixedInputData = 9402ba2d14ab2ac4abc2ea9d5b84c396123b9da53d21447370fbdeeb3a62f5b054a2240f6b4ab7cb356e4604ee698fd6b24848 -KO = 3581cf5c0f019ad253456331af46745c359ad7837f8e020719cc8cb231d9ff70d7d2fcfb62f74e4a7bbb375ee990c296654eada93def0572065db1c88c105b40f02339ae81b36bd0582fef85953f2bb9c4cce78b2dc9640d92e89865bcfbdc43307c5ea3bcc8dc20a042c6eba67f5b9af794f4d71bd402e213acb1b3619601e2a854b49f528b4e5579cf488a84a6424e412c2e3fca23dea8af35520879721074435c8e08a243a484e0b751cca164c18734d61a7d9bbeb9ed9fb7faa79fe457b692bf55b2396ea3f12c2fc163f176a62297b53951de6a84f804ee99101c849b57ee41bb5d8a99a35439ca854c29b9a3937c199ff32c6009e7524acd44d4860805c434bc962f72ff662bb08533d2ed5cc0bdcb3374cc54c73f96a478c4e64b92515a50ccc27a537d4b20851f1b - -COUNT=37 -L = 2400 -KI = 54c1e636c575707f572ffd8571111f8a4e3ea59ce9712a0feb1f5900 -IVlen = 224 -IV = de53dcc302108afa0bc9a2294467a321cbc80f8fca4bcb0df2058f36 -FixedInputDataByteLen = 51 -FixedInputData = e224ddd6ed02e810cbcdcdfc13bc2b9caf4072cfd0c0879ed2a822bb637b4a5be915441849d0afc8a5fcd091af21d6d1e73085 -KO = 37d24b77d95d1cd375af8d14550f48ee215a2594a00a9c7c9b457643b75e0bacf9b8ee2702fe488ea9e88987c43f6b98f05ff901b0be410bfa904b75095f4ab5862963e4a82c765a81aeec47c47567b360e69c1f3ccb32b2770b364d798bd93e9f523f36f7a94f050ef063d01b23c3ddf93b7b0d0ad5e61b5f4c7d4c29962556cfc56daba29354510ad890f126754222c2b34c46c3c3a652974bff20879423b0643e71a8edb7249eb71513a09b7b74131bb8eca1bf55a58e5d556ed4c97c09c6d095df1c006291a8459d13a0a54b0d0a637d46406eafddb54bd1fc5fcd1217f5e4e38c33cf2dac28c0b56d6de851758424a8e5ddd11c9457d51bbea84ed4b4b6aa74e86757b001401d74019e08ccec7ae3b6ffcd24cc1d9874f038e3da6f798eaa10bfc68eaf7fd94b1b87c1 - -COUNT=38 -L = 2400 -KI = 9c4518981cd3467b2e287cf7d42e9a902da96d8ac5657c919d060f43 -IVlen = 224 -IV = 4f10e9929970acdac8bba7aafb147891fde2dcac184450530a64c17d -FixedInputDataByteLen = 51 -FixedInputData = 19618ce07f29109e66d1b91ad0336ea76d83ce8f4c89f5a2d1fb28229c1e1f38b15bec74948ce9d72450f0ddefd21ea2e7fcb4 -KO = 1a732910415adbc1ca783b1440356de088195bcd41af58f029c93d4f23d315f71847fc61d8b174216087671646dd6f0ce5cb045c2e2654ef73dddab5c897904d463aaaeeaebdfe4729e6f897636968d0cdb812f252ee9a50c3c8b13ae9698b144647dd65ea1bf13c35286e608fd6331cb5ea8a6e613d188136db1b4329890c2d69f44867f8a5c4c5034d79813aef166249b4ff2771608221928a6f6f523ebef6acc90a5d8db8c777eab1a70ddbc648842d63b3f73ba05af985e0313309695214d7634482013bf6d46d3190ae849a245344061fb088fa4f2c5bf03b3267348f8bcf05f01d77bbe58d11f273ccfae960290e65663be6af447fcc893f2c14662b0e0002791663b54bdeb23ae0d21d1356666ca13fe240e1ec58e1b9b54c824548ae0e9f98f01fdfcd06d479d947 - -COUNT=39 -L = 2400 -KI = 1b59f6b3a886454a1436b05ab8291d2a318d75e44dda7b0612e009c6 -IVlen = 224 -IV = 4f3b4aff0fa242de61363fb59f4e354e53f7e008e64ccfd6d35f1c59 -FixedInputDataByteLen = 51 -FixedInputData = ab2908fe7ea8084c4d05f2a076f7a012de69c7bd31de4f81d7cd1e8925f49c25be6259330b1ca39ce6226c32e3f4d4431aa17d -KO = 173037aedb683477e45aaa7aa7c81c908dde8c658ffd7c1680927c60516d9a58fb265a587f905ddd180296146f6e074d96ea4a57cac770612372618f808572c2baf3c48469c48e109b36c54216127bf6c9397df5b9deb5a68f97f5a1fc81cb47a1aa6974bad2c77900b641979ee10187e198400fa9c843db99be179ef6bdd76f521979418b0cbbef338e9fd0787dc7b3e542cef8745124b7d527633a9561d73f6e3bf2fffd1a98e34e171bc2dcc08af50accce8f3dbec5970e9f45399363e5d1f076bef16493a8af4efe9720790567cf1a8e0eb43b200a222a963c267a39a25a05ad6a9cb4eeea7f14b9a524dec698ef112f1451df7ba0fc570b3cca007e4c49db624707bb8502194f839b99d4d4156c63a95eee4ed3a41f5bf909f48da325d0ddba64bd27d6e2df0675ce5d - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 4be3ca5991932b7dae4cb97116bc7e2c2bd0a42beb2ef3a1fc18a374 -IVlen = 224 -IV = ba3dce8b074022a8899527d9c99c49ab939648db9d8df57a55ab40eb -FixedInputDataByteLen = 51 -FixedInputData = 65614c2e1ff154192c4cb1274cd9a7108b22adcf2d95ea6b0f6cc781055f44f2177dbf9ee7472839cb56f0888b02167cf34dd3 -KO = d4ea484ab293ae41fda23deb8b9df5561a0e5c0ca42e8c254ff4e19c5a05a6538970f56df2e57d3d45eb074b076e3cabee26d4208b88fa4c91a40e385c2d966b - -COUNT=1 -L = 512 -KI = 7bb40d040c34ccabbb9d4aaeb117411125bc5c9885eb102ad45eb5a1 -IVlen = 224 -IV = 6cbfc3f10f629a37143282f5feeec4a87181862569a0311c80f053b6 -FixedInputDataByteLen = 51 -FixedInputData = 037778498818b870a6c70f716d4bd6c3c4c469da3bf4ee7b13aaccac8ecce0da4216ba12185981b155612f254bf8f902154723 -KO = 5535915f4f8ebc23ab1f0bea522e2611e4261534ae24c712a2d1647323e9708e3eb3d9abbb1b9d1f59b9faf71b377a8ca9b4aa00f95a625b04012d9ca8db77cf - -COUNT=2 -L = 512 -KI = 41d9edf6fc621d98a11a30ec32134c9f6c4cfb5d3fb12cccc2ee9d8b -IVlen = 224 -IV = 9ddd3ba601e1693da64a17cbe6f55870ff323af1212a9da1245d01aa -FixedInputDataByteLen = 51 -FixedInputData = e20bc37dc68c34f32a587db1f7b6937ee721b487fad6de1fec97159a703f0230f57a9ee88ea35dcb8968c8dc0a15d3fd349b8e -KO = 36c6797d65b3ec16f6a647282f75626ffdfb2ce6b3ee19760d830f84e73c3965845fab9582e7d28cf2a8d5eb60ecf6594785980535d5e97ac10e8c2032052966 - -COUNT=3 -L = 512 -KI = 9c50afa31d2226270c19d1e28c17907e835117800607f4a2e0ab7c8c -IVlen = 224 -IV = 348a649c697aac90f25e5064d5440903e6a1fa4d9db77015a36e70c8 -FixedInputDataByteLen = 51 -FixedInputData = bfc4c2cfd32d89efd4e18ba8883560bedaf4bc5412834a8d56c055a5b14e7842ac24cb2d9beb35c8720ce57d415403a9a41eaa -KO = 412410232e309e68d30bd7fdc1ad55c0317fd69ef39ca950fbcce2d89b90f4a019d8375598b87d4c0dce70adb128947408727d161b0a2139d8c8d56567f565c8 - -COUNT=4 -L = 512 -KI = 23e1844b820000e6bb0b5a37e51b00553f9b9dd37b7379bb5a7ce291 -IVlen = 224 -IV = 200cc3ea275b5b83df66ced7f6e2debb68f4055a4a2f659ae6144a1b -FixedInputDataByteLen = 51 -FixedInputData = a23a4821fe1622d49e08147922fd18a6515cc5cbafceb45a4792e0e94b20a10810765bb55678f32e63607a25b85ad6aac93a90 -KO = 6ef7e1eefae0abf6c949b9974b5bc1e69835309f0175f5cdb3ae567fb8b1aef1277c3db0f15a90bbdf46361a2dac096262ea3415c356e6ac53e483e5854385fc - -COUNT=5 -L = 512 -KI = 728508cdb81c173b81b24ba06609b487e7cdf37f6fd393a85fd7ee1e -IVlen = 224 -IV = b79d762f9ba8fc59d64d6ee9373b7c49a46953c40036cd6e68b3c6ea -FixedInputDataByteLen = 51 -FixedInputData = 1d68404e98cf64a637e47f878890e5628a1a07f757b099b98a9a7be45b9407e90a3c65577a4843353414a291c13577d1bc3819 -KO = 0b598924a7cd50b165d39548af37c3d5dd1f4abcb73a6272becc1325ff10b49a1c81359f2fafd9406d5dec02b347da5d0b3d1bb7df3a173c8f85ede10eaed41b - -COUNT=6 -L = 512 -KI = de0874f47a3c6674b46cc6c420024d7119173a1a1baaf518947cbeed -IVlen = 224 -IV = 42546dde194363fc5d25b616c73259e78ac0a6fba0d3da2723e18132 -FixedInputDataByteLen = 51 -FixedInputData = b15621bdc869b924b3b2f341df63437708c893273b5f7fb26a0383034e6a2c0df012600a1f86dd0a78ba77d04f04597943e169 -KO = e5e4b713fd8460d85e0d48338ed001a2f10856b3a2a49f116aa7234e323a534457e8c56a6eb732ef26c051f6ddb42d097d3a46793837c0aaf2169bb68ec4ceb9 - -COUNT=7 -L = 512 -KI = 0b2c8cc0a36292a9041587a4a914855cc17d41728f0bc861497044f5 -IVlen = 224 -IV = 42b8094dd5e0ae71e9468ea86abe2a7658f7f0a4c188e47da00ec479 -FixedInputDataByteLen = 51 -FixedInputData = 81920306493206516c72acab699bedb0b8a25f5fd3ce083d8ffb6aff99ad8ed51ad0bb2c82b9165ccc725697961fec21f2e1a3 -KO = e1ad74a28d2d2f9bb6aca4812cd034fb2ddf578d74d4bb9974c13ffe4a64bc8eeb650ef3e10b596a5bc45bbddedba11aa9823ca478af4de20e9f0149d2890f65 - -COUNT=8 -L = 512 -KI = be82c17354c12787e775e8a7ff0c88d22ec58024c966af4389a02403 -IVlen = 224 -IV = 05007201d03486b361173470cb9d770497380b8269fe0a10cbf0d7cd -FixedInputDataByteLen = 51 -FixedInputData = 0c1b7967a7638f8b7e8f5ad52b3a1551cc7016d26eac98ea8c9cc97c556e23a8ea352d9140e51f461f503a535e19deb1faad54 -KO = c88098b19fc2651684de0e4354c2623390cd2713c17f1ac2a2707f77f9b25bbec488619aff3f5fc1dc707751151675086ad34c7645c26ff7501b5740ad76bf8d - -COUNT=9 -L = 512 -KI = b99510765b89b2d12e3d1a8b3fe57e866d7f6c9e1639681bd8cd1fce -IVlen = 224 -IV = 315dab75c971a93df3ddb26cccac776d9e6c09845fd9f08cb19f240a -FixedInputDataByteLen = 51 -FixedInputData = dd42117b48949c88b242ab92bdbfef88a426e47f6a19ef9ce19eeee410228a3027b1245392b013b89d8f5c96397f1da494aad6 -KO = 48055df2e7c1eeb26077c9c12d2d43005b2ebe340c6f6a0904bb09119c3bca212c1c50ea7e51c9334391d8b13d911deb2ec12a9a11708059724239131d6f6001 - -COUNT=10 -L = 2048 -KI = 10438f1c57b7591ccd4430f2b4138ae80e497a747c35b227f7a73fb7 -IVlen = 224 -IV = 90bbaf205c6bba9d818d270ce41e36c087dc181d936efb225f89d3e5 -FixedInputDataByteLen = 51 -FixedInputData = 4d3675d97591b8c4b95d64fdb4661a4d14941be2ab2a398a16db1f64ace011dab0996995fd6aa0775cbc201f67105e8d4bc979 -KO = a2683c0efe869fae26431641b2099601c94328ff2f13a4c8f794135b04adf1b70ef63b465f1eb996bdf404aef458bacc98bc2cdeaefd03a64a07a4a26e3e27e7f28e6187f8cb0fa7156a155086bdf97de57f568a34d773c893ab062275935e7b291a57cf03217f406aaee3cfd927b8d28c06f75e046c6e3131beb8d5b058c42710a4373fa7fc685d1c48b3ff8ef0b10fc8e76a2416b7f1cf7a87344184fd815e615d0061a5df93bfc31ba73ba668780922276cc49362cc9be43c0694b09c0fb6002158b3ec031bf52b6d8b87495be6499aa49bab75aa49a2aa1b29bb850bd03619fed16247beac919bf113bd46e178754d8f73a48ecfeaefad46d71e3b47a5db - -COUNT=11 -L = 2048 -KI = f71cf13059c5d6c504463c4c290abe32b3b36a991448cf20c39947e0 -IVlen = 224 -IV = 430ab365cd5ab5ad159931050c71a1e6c02ca32c51434ce938cd475b -FixedInputDataByteLen = 51 -FixedInputData = 0ce64a71c7517826e4ec01ba24629a5ec88f6f44a7faba0727dedc4e4d3181f22d8b59160e13257edf4586f07026d68bfe8375 -KO = fe9b466a52bef411f9f2c2aeaf58b16828ce6e31e5fefa113255e5af0b1391b1a25529bad22c791e436e923e05cad31e05582f0dd5d7d921ee8aa5635a349a4e8e894f9f7d1db46d74f4bb70d4886b7ded02385af74e3f67b100ac03d579eb43ac5b1f06d947ae3f18af7166f0936764c1dbafe0ead91a08276c8809f5c696bf64c641500b8cb9f788a48c7e1a2fe4f933a012a086698eccdda2912f7f84dc52321e84acc8dc178c00c3df61341a267fc5777b894ef460e4f6c940251a9df8f95d79456dec3784cef08f00299c810cba9e3451302dd5a67c3440e3bfc946ee221e8542df806bb0654374a4df2c4e67c9020d04dc3a1b835eada1d47ca8cdb21f - -COUNT=12 -L = 2048 -KI = 5ced56f97c0e7efe278057022c4b08432466f16885ad86673b0204bc -IVlen = 224 -IV = 46c02a8591a9c5283f04ad995eb0cf940cae8cd61bfb172bb84dd132 -FixedInputDataByteLen = 51 -FixedInputData = 043353b7882a20c49afcb34394820fa282650e53f21e93b122cefaaa0b4ff4ec7b7fef1a67806bdfb9d0d243e5c0b796254e23 -KO = 6998b234e989823771e4e8145e9a289c56a9211e6d06b5ee6b8ba86adbb1502f145388ef4f5a915b8603e7c85bd915ecc4a1fd2067930d4e8e3a10fc1306e81836536591a6c8c8943dbf4b4e4af9c897101af014d2a48756deb2812f2a03ac93a26daa0fb276c0786c457f9c00b5233134a697180230e22cf47baf1d52cb9fa3ad547785da07389c0cbceff33d7b9c736c58cc36437e9f37c992258db3bdd88a8a724efe6b7c53ef400d323d4be170ba283e0fa9e806bcff75cde620ec991410f6c1121360ba6917907b770b918cdd12f533fd783291737b44e9ccf9681c2c74da43dd091d0bb1cac7203e9e746a6b3f8e686681c489fb501923b3602d6d9b55 - -COUNT=13 -L = 2048 -KI = 77610e06c1247382512bbc1d517fa38d453807b4ca0fcb38948f0816 -IVlen = 224 -IV = 53fe62bb409de181bba8ff0813104262b0323dbb034680ac3dc73f16 -FixedInputDataByteLen = 51 -FixedInputData = 143b886d61b730dd5cf58ca36ded0b3ef9ec587692f53203031f7cfacf7a50e4e83278bed5bb0bf1dc804d74f4751aad060104 -KO = 76acf7b7ab25fbde95c453a12ea78742db60f8af4a2459440aa9222252091748f66dfdd990327969ee3820d19b8870f81f5545725cb4662620610c3ab04dd95e2c093e262a919fa225ca55c4d27b853bfe841837d589a61cfad3e20c2a4119ef0e8d10a74a617d19eb3a062a26cd42264418769335a2d8ef80d208ce42aa1ed90f4440bf818522e49d477e17a75cfe089c31845975c846aa648365d02107f9259677305270e92ca3174656ee50d534b389a0882d9c8cdbc689967fe9fa98f03cfcfcabd4711b6743a802b39d9522fbc9539f11c19453cf2e0e74ed5e8896648c6546b8c6c3ec0aea8b98a7bdf1f244f885f16f9ac5d30fcfe29f61be4266e4bc - -COUNT=14 -L = 2048 -KI = b6f4594d24dc8113becae88746766c8691754ea20109c7b6b523882e -IVlen = 224 -IV = 8d079091fce617a73953eba41b4047e1edd360efd8fb23dd3247e57a -FixedInputDataByteLen = 51 -FixedInputData = f596cfb7b1693fe9bb5760b0217c04177dbbfe76d288b8d99325b09412c5f813b0abaca7e12d153abf03707a596c8660c2ad24 -KO = b21170650ad213bb6cc33aa1dc38ffcc627db2b5ea05e89157ea3eda92c191049d15e7a76937d6dffe6e2286e935e5edd27f74326163db0be8f2547074f6f81e30e04c311f3728dfd7e2ddfe603a468a103b88bf90c86a4f57c21f8c379b16689652968d74c825ce8dced3972dcbf0d8d061f60ef4315a3ded9773b11029445b48a01b60f289b8a2c067399793269f106928e504bb85dc59f9bafd1b09cd85435f30301fddcc7b0541481dde68bdca2d39ba303abc8b5bfea32d2ae5e9c59d16a1f2492c1977026f5e7bdae4c42dc805d513624adcf1979bc4ad891b37558c6d9afeb565cc12b13f3877fbd119e4366ddb48751e0936b9ee32961a1579cbbfbf - -COUNT=15 -L = 2048 -KI = e7a35be6b5a1a7a58af593f82e987ebc6f1b48631f76dba486a96c15 -IVlen = 224 -IV = 5b9acf66b9ba9121bfa8b9b0c48073cd3ed0873cd6783147540e85f5 -FixedInputDataByteLen = 51 -FixedInputData = 8707a9032acb3229cfe6d57d3bbe7df5c365603b748d6f89d7fedc6e017091f9b27906250febd0956977a6de4c71b0f2f29430 -KO = ce0257cbcaf733603a9ff898567a56fc4067518daf519bcd108e15f82e8e2a46821a316d238be90dbe00be0a312895be5040820e10b84fe93242effde8bb9ea3b197f15ef1e0bc052e3c082dbf1674ff7a2692379d488a6128cf3e2ba2ec7bd7e641a6fa9fe0414d025042998a198e732af7cc4c6ec5905a58a0158992da3ed45bbc8afd4642f38859f8095c613b5788dfd97370284d7c05bbd9f54e04ea7d4cf47a4ebc4613b7f59f3ed029156640d651fb58cd3e1a0fed2de5196f23939b73e7346bb87a51d786ca15e35733a4296898533a5770b4a6b53a8804f347df6da4867c9bd89dc6712824a42af0090a8a02b837a85d08b908fa2bffff34f4db8c49 - -COUNT=16 -L = 2048 -KI = a83922ecb36899bb6290b585de879dfd92045f97fc265b28ee9c4d6c -IVlen = 224 -IV = ccebb25c234efd4bf426136478ec0334f2998e526bb1bc323d37ddb5 -FixedInputDataByteLen = 51 -FixedInputData = 34a2f22f00e39be23fa1910486117c39b2477f4223ba4b5571aa1865d1c437e90b18d42dbbeffeb9ef51dfce885aa7f50bc9f3 -KO = fd23ff28e714115cb04a51c8745b15cdc710937c883dc322e33ead8c9946c0f0bbed25639a4448d8a0554838d15195ee300d4d5ca88ccae753eb73c99377a5bdfe160ab023f8c9594331c9adcac77fc4f743ef68472d95c81419376dc224ebc2b6d2649bd1dd459267b90ce7d9eca18f9b00abe3797c0865d3cd7b262c914ed257a8b410e1911d85ae8ef283ae6f3e27700c066ecc01f72825478c3780447a879268319f96a93bda7be7ef5a08a2f071da8feb7c0bf2031ad3650c67543ad629249142ecacb533955bf96f6687cd8df5d358f1b49853d379ad3b50e538f27b3f1a08df7134a577e036989f2d797a0b273f67cfc19ef9ede2001e7ebd7b58f6c6 - -COUNT=17 -L = 2048 -KI = cc827cc0c800aa78f16f9200e82b6f11d0341f3aac1b523beda294d4 -IVlen = 224 -IV = 2fa299ed303d22f2630f5c36f9d23badd91b6dc3b2689ece29c7fb23 -FixedInputDataByteLen = 51 -FixedInputData = 5306d59ac6f58e03fee3dc1376ac4aa20856bd24dce031070a95d168f3631a442af45caa2c9412d5396da1d086eb0fbf54cceb -KO = 2c5d66b0dfe1748b5bf0a7de8221182ac4ac259967a3a4d97f9b4edfd7e233a165b4eb9fa5789daf1c0b74138d139c12ce28dddffcfbfbba34f7307fc9a66603a1a5aae276ea266a66919f55923b4e751cf1757312270ad91fa77744463c89ac3a003571dbb89cf205793bdc9191dfcb919cedc308eac6aa6c57e01074109d76f25ed8ff8ca05a2ef278bda20c8f74c649ad0cff257e1be39b2b8fa2775b252d56ceb888a4e3feee5435a2c44615a2633217945685d706fcb156ea2d8c28428b56f14daa7bf30094ffe58b340ae152e5c6c82a49bef2f07fa43cba8aa85c22614721c7821acdec1666ba1eb853519702b41ffa21504705518d50db8d9a92b2b5 - -COUNT=18 -L = 2048 -KI = e23ca1db1f2bab7ff6fd701185f82987c23e5404e82cb9cc17da20ba -IVlen = 224 -IV = ff4f96d81c235dcd372db5e4984a5b53f7eeb2fb56eb446c74028ad1 -FixedInputDataByteLen = 51 -FixedInputData = 60f21d3eed79dd13e6d547a62d6a952a77dcccc23e554b003a349e20f38b7257a8fa72f214116810d0b9e0807904958aa2838e -KO = 80565cc7d4601e05c615214fb5349da7cad564cd040467e07631403d3848ad66464a3a61b4853a1e42c27d6d4b2177394735572043796aa7261505f3d555459afc56f1053c948bec6add5c20eab73fea6235c261a7c50333eb6969de1617fb8826180022a02ef5ddd85bb6903f2f2b3f4dad7397fe996d541f59d02eca80baa1ff9c532af1a10d7f3b14ce0f3985b63531621c443b079c6d9dc63bc482b7c7531a983ba51d5981e5ca8d68b5e0f6be0cbd03d8e0e2183359f586d5fc9e00cd4c6694d2da3675359328b13e880f969e8ee3463904a846ea791c414d08b8af198f2437cd825e9f5b6cd570c3348bf528e4c56d2d40508ab27568ec3cad35e3c61e - -COUNT=19 -L = 2048 -KI = e40a5a09fb074bd066a697a421be3014fd81bd36948d931460b76ab8 -IVlen = 224 -IV = 7d362bc33e5015538e606e592027543a22b42a2a287f8c071e79a59c -FixedInputDataByteLen = 51 -FixedInputData = 95c7c489db81817f9423deaf1d2b2ad59e6e12cc531ffc9f439807bc0a35fbcc39a7e97f34ba9171e13611a0e6affcd1111ad8 -KO = 1ea0aebe1975ad60ecb0a7efa4c9e673fcc2c56a18408227c852dca0fa35fc9b88acf731c64a15db832a0e219c1bf49997090c3abb1e0e7e0c948cab433c1e5bc911bf2628159dc7ae59d9b19881725f0e6328ebe686a60ca346dbb4ecc49b8d704104fcdb886ff21f7cc8d13596b39a10e7a13062c4ac4f3e50aa5f4f651ae88b06589ce8fb4f000605e5338b7f0f5cdee6a34d69a7e28ba681042eaed2f50a883301f40ca7023e0d4312ab9a5b420ba99392851d1e0edfe670c1dc1c88565a4798273af045016c25e0e95fcb6859112d1b7ec75c8315ee888e87edc44d86efdc8b5f787acf0981030b2e6055b5a90974d9a67ef1946d084404c63b4738d6d5 - -COUNT=20 -L = 560 -KI = 92d5db5be4e7e678df2100b0db8a51d8415a51b02a333fdc1fe6910b -IVlen = 224 -IV = 178968e36ac0067324bbf74aa5d144ceb7a9b30a55f2f2c8ff31676e -FixedInputDataByteLen = 51 -FixedInputData = 8c48824bab71c6a46ff1fa0b9590574adfdc3ae1130b12ad4e4067c45dfa2ad22d60b5a36eab70ef7866fa49b85b0d30df7a75 -KO = 9b76ebdc0077f0501b06981c8dcb8b90f5f7b6de629ea93a98ecfa8523227a01c48026215972669c3e623215d5757e47845965c94f7da6c7d4daf6ba82e8f3da5cf1bbce24f4 - -COUNT=21 -L = 560 -KI = f0fc67ea21555ae2bbe58065333cbb0228cc973bf901404aec3ed7a5 -IVlen = 224 -IV = 02b8be07338eef27129604d08e50ce91ea4f260be6db2004ce4a1d78 -FixedInputDataByteLen = 51 -FixedInputData = ee6159f474e0658ddf2ac5090946e7c4864a76b51d4bd96f853356a75a87c1f0c928f8b3910e5462966d9fd63a1f2e45c5f5ff -KO = c855d893ab50655ebfe68ea120520a5f30e318902021d88f131d177881988adc242fe0aad31a959666ff9f530619744c1403c473a429201a549b1869ef71d40497a316782229 - -COUNT=22 -L = 560 -KI = 2a755b0a59c9c2c75bcb225a97699808ccb061b33ebe1d95196e6649 -IVlen = 224 -IV = 935b760ddfe3954c93b76007595fcebb2ed45832211a9aabc6a87769 -FixedInputDataByteLen = 51 -FixedInputData = e3a991717b1adcaf32810ed69bb1a34a9126d287fa7cd89bc4cabf0d99b31d877e5c3c4bfb5d3c0c27b39c54830028c7ac0b1a -KO = 42a501a6d0b37bc132cf6fc26c5fef614613a4ee10b9696c3c47b56db39a0318ca17471b91470e05ff7bebb86b9d9add0dc5f9afc33c86d54a68f68314da0673415897e15821 - -COUNT=23 -L = 560 -KI = 26c167e3c6a43f5e2a259a853cec907899df97e194bffbd9ff5fd8a2 -IVlen = 224 -IV = 5ea3a1aefa97b0a26ef68dc7da4cc79122a7f1fd234a5bcf8fa8b184 -FixedInputDataByteLen = 51 -FixedInputData = 52c9c5d245e0f90f48c99befe830541bd9ba43861916b94a931bd3e1f3b863fac1f9b2bceb76c208a61c0930054d4db4e83e13 -KO = 95fc7c4664be7de3d7aca5e280d95a0ad229929e1895188228358fdd3c124bcddb174eacb1e3f0dbd45c12c78b4301ac8941fbc2895e01bc8a19bfb9e53f7cb6caa1ff75d07f - -COUNT=24 -L = 560 -KI = bd2fcef89fca471c015d52a3018358d6f0f5da50c2fa714452c928ef -IVlen = 224 -IV = 6d30e215dd3531c72eb6f11cb37e582751aa1c42fe7db6eb25cd64f2 -FixedInputDataByteLen = 51 -FixedInputData = 978f233a8a71c0db05c0a9a4e1aa1df7461a664dbdf133b877c33ae80badd3704fcbccba936a4163940bcad9bc517f238807a4 -KO = d971d24e03f7f89ca11418a8acd2250e3bb57ad9ca078e1a1390fcd803b8cce92d73ad3b8d1148d533cac53b29097608372f51b14805db2241f618ca5f5df0dca00ab7f65a77 - -COUNT=25 -L = 560 -KI = bbe5064eebe1443ffdfcc19b9c03f0e774f36403ba6950180a221bfa -IVlen = 224 -IV = deee2937407db9fd03655cfc68b23d79778c9392532e49bac93ca2dd -FixedInputDataByteLen = 51 -FixedInputData = f2c5e90bed6ca912e50e2a2d4eea15e11fa91ee387486e9c2694a96048980e4990bfc1459bae2b7678e037ad1ddc7e26969f97 -KO = 937709fcc42ad2c8094f1438738b5a091d17642ddd3227101beb656e0284d4be47eb9740daf724b6c7df69af41bf48f7ab39d803434af8ca0db5a87ed33a946f87f5dcf35391 - -COUNT=26 -L = 560 -KI = 6bad10e870beb303a229acc45d83a3fd9ff5b82aa22ff1c075fc2419 -IVlen = 224 -IV = ff0ee61c6955e51359bfa8f35588afc8c84728aea8d42df39b675653 -FixedInputDataByteLen = 51 -FixedInputData = 57b0014422dc580e5f27b7ef69d1ca1cfa15cd203e8ac8564af4a0f038a411eeb7df9fae878c4351892b6916fdf250624f306b -KO = 10c4d4c05698cc54fff73d483d258065ecbf4bb1ac3a14248e7dd7a1c480b7e67e43f856363dd62f1aada2de4dec39db0a09a98ee7e78aab387dd1b94a0679a2bef4d86d0ced - -COUNT=27 -L = 560 -KI = 288ae78de0a052d8cb682b91f18901711ce97e21ec6ed743d93d9943 -IVlen = 224 -IV = 752a4b42b260d8f17e292600babaefee450b70efdd2e5e2269e0926c -FixedInputDataByteLen = 51 -FixedInputData = d6691c0aaffac5caef92d51f0fc8463ced7201126467b31ac0bbc342a11413d08bda76883e94499dab005ad981b256343d117e -KO = 2a76c61547a2d616ba3581c08e7526e92b9b37cb5ac37cb61c873373e8d07850bf3e726024c279d9fc8db90c3dc28bacbc60312896f56f84eb5dfc3899518edf5eeb4d35a4b8 - -COUNT=28 -L = 560 -KI = 8632dc940a13b6b946d3e93b8de99ffc16fe4c2775798621d2d61deb -IVlen = 224 -IV = 550b56d427dc9ac6643203dbcf1fe7a8c8c9b2436798fcdeded1aef7 -FixedInputDataByteLen = 51 -FixedInputData = d0bdb90cf572b7614a6e6b08cba785cc7395d11155dceb400a14c0c4b807296599c29008c10dc5b3527fab26900862bb2624e6 -KO = 1d89cab0343a1c0ac7466c503d723ba2ceebab7841767601cf2a25ba9002d53e36578b08b076f5869c1bfd5a231033492a93d3c26c75dc77c992dff9ca074d35ac77f1536168 - -COUNT=29 -L = 560 -KI = 55d2a157343b80c2e4a20d98c2c7df78cc1c6aeb64400fd4bdc6f9ac -IVlen = 224 -IV = c883bc1155e65f00aedf64ce733ade76a2c27c21566f18fc90d9a6c9 -FixedInputDataByteLen = 51 -FixedInputData = a30a94fd8ad73e59fae35c729487bfab5b84b848dbb53d2fb239b90593b9be444d814a4aeadb007f5f550339ee3b7100aaeaa0 -KO = 06409dfa1e0863b1911548803a352f6e71869a82270917717df9ddfcb995d94b3d871aadae296626d08353d5ff3878161d2388f92c701ad0191711fd0b3b6f06afcc7f1614cf - -COUNT=30 -L = 2400 -KI = e4002c4a07408fba3537fe4015de84cfed3787921e4bd508ecc6321d -IVlen = 224 -IV = e16e63dbfc27df77826d285a35e80c6bae12686e1ed68adfb1de9b4d -FixedInputDataByteLen = 51 -FixedInputData = ba188bc982bf7a2ace7d4aca34bc318a2de0748c0758e8ef510cfe7f944f2c07e86a46b47dac6f2ec9a3ee6ee8e1bef6a2b1d6 -KO = 418f7ce7eac146f1840036c71b709717ea4b29173bdcf5a88e286276c952b226fc7200d168138f3cfad28b2c0ae487c86b2f80bca821dd4ee96ef633aa659dee76901d1394f14c6b145d190f6fcdc27167eaabdb62c8dfdfbfa1c5314f74c1453b558d0b3e2e3b2858d22b331d1affe44cff5ed65db8b2328a8e44efad3e0efc07399456ac065b0cef8cc8c81b8a7ddb9fe1b8b140135460eaf32d2c43fba05d4eee401dae2393aec8d84cdb3b60ba34706b5b9e714d834d706ed0f72060413ee71cf1381545ccee66603be50024f206a4edb8b5ebe9b5c75454e3f1f0e69ec13090c5cdfc977d94e0cc6cebe565174438145fc7bfc4e6fc889d0996b8af91bea58a1baf9a7c956dbce03189af6f2e72a2c826fd3fa473d0c4abe5cc0510a9a02bea4daf395f65bcc4f63d64 - -COUNT=31 -L = 2400 -KI = 5e00144194e9483fb4ac32e9a0e3ef952317374720b4ab627b535af8 -IVlen = 224 -IV = 9cc585bffbebcc6a7e70fbf3eee821ee647fccf81745bd34c0ccf42b -FixedInputDataByteLen = 51 -FixedInputData = 0d7fe7c67f93595d896844fc93908fef0295e16b38c5cc36dcc84b11f2bf66f264e09f86c7da02183933887c4e096a7c134fe6 -KO = 699532f24b645ad87bf736171cd584db805c762cd9e08d42731cc8665265526524bd46278e6f673bc6b613bf5f15699835abc4da294e48962f54b863db3647f7f5c1814ea9999448371cebf67826f65b6bef77f093cb79475e067f53b2c4b09c41e8fc3df9344eaa44c2ccb849c6076d47daba814b340c622fbd0ee83f8d68d7495702086e341a1bdc571262303980b62c7057a0ccbc3e30f5f9f952b2b22024112d6b645e72631ae7fa69ea4fef047ea0d5356ec04fd54f494dc63f97fdaf60a435ac92adfdba9895bc48ef2b45666adbde3b772f95e4b8223e3c1299b4db7862e5eef5f691a5e5d67175ed82d4e3fd2f5367f25b9d2d58674c5cef58e8cc1e7b0f4e2bc08fe630254a71a22e5ea33a57e4d00f3ca32f341068da1df9f7392957cd677a3c5ca8c096ed12a9 - -COUNT=32 -L = 2400 -KI = 445a6c62afe34780ef3b9ec6186f136d7f21c3aa0533f774e036d0b7 -IVlen = 224 -IV = ff9d1f4df23098fa17d1bffb3d85eecbdf295d9e96216181d85a8fe1 -FixedInputDataByteLen = 51 -FixedInputData = 07e103d8ecdc35ec1eaa3a69de3c27636a61d8382f90abacea078d3c33282e8ee2ab6dfc605ddb86cf4b3d74bd4f6826516ae1 -KO = 213287b4fa181e9cd1a0ced69f455aff1522eb7828505c3c08e421cf3f0e2778b69e2936b9704feddff79f9554f8db66b7b5139644aa013a91dd5d2c66a996e13b4b79322f7f1df84ff126bf3889e48b2ce74376805bd26dee8aad657d82864e7d1868fca533601487ffa894a317b81caed6df9ed895bfdcb1a6ba8cd89e1b9a54ef0fa1aa77a6772c5ab419ab02becb6595ca8f7907efe7b2cf8d6dd0adc4238a5dd4a4586ba655b2fd83954742943a7e43ddc9d99640eaf981383c4637bc596b6f5ff7eaaff6693cc8534db57cddc08290cac85d0b2f6497ff89d1c64774bcef824b716b254ff43bc90e44bae297b8f27adad4b5616fc3555be8808a042181e9815d02dc5cc21bfb8400b263bccbacfcca0e10cae00b5c0856f6e090d65606be0195709b1b9f4b4bafe7bb - -COUNT=33 -L = 2400 -KI = 9a5a08e78747937f3fcb25e648afe85d6f9387fe5a905d84fda4729c -IVlen = 224 -IV = 813b457fec4ed2757ea02d46a248dbc76dd9abc18420ecce67de5c87 -FixedInputDataByteLen = 51 -FixedInputData = 19cce391a73e6b1e22489bb19980d4609a1e90d6af921ebf2a6a6a31fae9472b22e26e311714b4f9049c8fb5c07b7f83093edd -KO = 7b5f8c085254b229da419cf16e3dc36a315448b764994197c32f8c8a91571194726ffe0b21b4c7250a1e5d1a4a026b62b4eb317e757fae366f6371c7c4404b178d1f9154da5c63289149ffea8d26235ed879463ef33bad09e4b0b6cf7685f65355e7004d16fe20adb4398cfaeecc5497e96e12682c0f6ac024447be236db34e4ffbc3bc8ff4c2967ae79633937c26421dd7e11b72ff632d7b8f9f0d1b53bd21f441ac5bf27493b1eab4cbbbf12d0b11eb9684317ed96f774fb01d80cd116211474541e80829960852f740d1fdcda119ee6230c25d6d39da1c840f2d8841042d31ae01b26b8caa22511997021ffc5dd2f4b4ac960f6ba279b47b5e6c6aa6e171ea696ddba194fcf249867195ef502110b96aba683a40c5d0d76c2753b881c12e191bc9684ae7dae577f608b38 - -COUNT=34 -L = 2400 -KI = 24b3bcc7579ecb21138b1d9f2e574b4a4cdd7be04b5e2aa34937aa74 -IVlen = 224 -IV = b20105c7c100825c0b8d062632a91551d2604477e875ba2de46dcb1e -FixedInputDataByteLen = 51 -FixedInputData = 33f16425fda55e67cddf107ee5ae0990533292ce5d61026e3d28a277774cb0fde82cdcb30097461e804df6296dbc78a7c133d6 -KO = 51cd0b54b264118e6bcc29c36ecd87fc2521eb7287f120e41911e41e0d3d347cc70b548699e4f0bd8373de88c60607864fa1d47c91dcead2af2534c3ea4fa1db4b5c7787019e0598f8822365627d89e3121f92e8e9a121e75e5796fff9781d003307801a15344d057f0db2b87fc919852b6cce4f35daa2d2c0d3fae27048028c174e02c85ea0d98d27eb243c5d26382f3685932d3a99a6d2a0926cf6df604d7699e4c4e4cd7467f03fbf74b32966023fb98a8f972096fee8f0574182acdde7ae7f055b293c3a653cf5ac55dca2471d72a173775feba56ce0677485533fdc8a878dc538c58ff24807e6ed8c1e968ff91c74ee2ad63b06948c047a2c013766a3b7899694d28056b029ed62107cfa2edf4941a24c059a8941fe46218e0cd3bcb8667de2fe1960085870f40258b8 - -COUNT=35 -L = 2400 -KI = 0c60e062e70b1efc764d5101b7ce892f257d3905f89afb3325f0a920 -IVlen = 224 -IV = 7777f2e167b4e63c61b9bb324b5c8eb01172c719b39f2c15adc0419b -FixedInputDataByteLen = 51 -FixedInputData = e108270113a78bb44020a8e507a6ede664e67ad02684361d167cc2dc014074ca5652a9a046f5001ded49148503f0ccd684d3c1 -KO = 0085d14670fae47c934b4467a0974fdef69d5fda9fe0623e19d0aebbb3db73203cf99bd2c471b3eebb36e509f82b5292a7d2287e883b9b79019250bf765a650cd50ebcd87fd097abb55968616f2515f212e944f7f3e6d848639bd0f4c691f3f4738b76cdf4473a58ed7ad73f833020af56fd3132185076e3d60a6da46ead4da996a158b58f01c04a428b072f1bcbf832eca31844b5dcaf7c022bfd381105ef82dd72c155693a39252919cd526109f002478a9207b9619ec2b56bee7b20dff542d15cfd76a5eae80dc0fa65c5c591ebf9f29a2905cc5207b3cc7d4e0c323de06de2549a93a494d9dc57c387c753da3fc6932fcac7fad6add02c1733ab899daaf45cc48c517ec25c2d734da840dad3e207d14145ab708d19563e9d3843cae3a91aa241324798dd744d778562e8 - -COUNT=36 -L = 2400 -KI = 0820f04e28de3a84d2bdb5d7b6b68d5fff504b7ef2ee9e048d5c33a4 -IVlen = 224 -IV = d53c54ea34bd519e3fda559eb035c39ad99bdf259f5ec7b79951f8be -FixedInputDataByteLen = 51 -FixedInputData = fccca87873c87c1166208ce106209a2007398db0c05f993a7fa7e6704b4a915899dd8f8d95646e651ef5aaaf97e3c5cadfcdde -KO = 6fa637c0aa8d9472431ba8e4f5fc1f93aab022209e52541c68fd231fac1a58b8926c341385e60a5d72e1ff7d49d783b5ea3d0958b7d4e2eea23c81dcb728f8ce27c5be6f886b8a93caca1f45468aa5ba481165ed1f60ae1cc549e00db29fcfc99771fca371349e20e529c2640146871aa7476cf2e30bcef2685ba71a22f8e60d8a8fae3e7fd66e5db069cc4ceb0117e3a46650c054855c997d55118020219528079cd55ab9c4b3ad0b3fdf58dd6fb9e82af900494e3c68be59f02bd74e2fa4979ee5e6564de746deca7bd72e8532dcda8d0d231989f5db6c7cfbcfa2d14aa688d50cdb1635f524d81e8f5bdcc1d94e6df03e8620775cc31e6ea19623b45168c9f029486db3111535bf3766649a2bf6c9213882766ac85c45fd454c9701589fcc4ef8b227cfb46fedeb7f97a6 - -COUNT=37 -L = 2400 -KI = 473ef4893fa9424c5365944b10c3d422d0cddd281a8912874702dbfa -IVlen = 224 -IV = e5f9230b59826767841cb051d2dace3011b984ea3d71a73b2d25ef63 -FixedInputDataByteLen = 51 -FixedInputData = e306884b5aceb74f07c6684e79460bf0012bb4105c3e779c2fd4923c0cb8f8c421091cc4f7f2e091b85acd9df7e02dfad31b64 -KO = 6a138185f298a60bf61388f70f9f488f7edb9a374d33dd46755c90d0c85b88733e42c7c6807b73526bc89d586ad264f79397404b99d645b2c756309ac43dd1cead205c0e692c376d5dda09d5bdcf0004388a7b4c06923a4b3dd81f3c9d643bd0618bb15129633053b9c2201733430d7d0b53f0fd6d6d0158cfc571dee2c66a6dc94df59fad9db01364bdeee90b43639e96b3ba5a81e0901ff963f31ade3c87fdbad391d254dd7cc75e3cc6e71f7cfdfacba90beeb4789390968717f8f404cd56229cd6c7f28b0997a8078fc33b75f3a02dde255ea8073536dd45e7de28f6980aa3cc889e952a23d01a73f8bc439f672a22e73132e2b6728a36327420ea5a8932d5292b1bf6e63c7eca14190c0c2251be3f854944a866342868516386ca781a43df22550a1e13ad301a024c92 - -COUNT=38 -L = 2400 -KI = 959bbe9dc7b33f5e56a6cf7d74f7effbc07ba39ac5b7adedbff839ce -IVlen = 224 -IV = ab2f609a213e38aee2f6812032576c0b4e3d6b88d5203270b6fcd21a -FixedInputDataByteLen = 51 -FixedInputData = 818273a598249252c429298a98f1a98d1ba0c8963019fe8d03e4fd7e9f1dc32118f23c33eba4a6041896a1da4e62abcccb89cc -KO = 7dbafe00eedf720aeaba37cd8dd22025cfdd720e4c8bcd6e080a11785deffdddb29897258af50d2be981c185d66af2946fbff087c6a06a3c4e1cc185b788ff70960b99007724405bf2767876580375962fcf21d939a372d66aec4d6537210f6cbd43c7de7f579e11525b132deb996495d8adaf58f76b24cf89257671d414bdad48359a9a8ba9edf8b0d8231aef2a92dc1540e6a79f33ecd83e34fc20b79229c9db2bbbab0fd019c7a8fbb1335df9d31211297f79ca40ca73362ab2096b454186ee6211425a55e1be333a8f39abbe73400badfabfc91545daf0316ecf478d99bc26caca0157e47e57d24203f626217b1bd45c445ba0d86ab084e9f3883da591fbcc519c992a2f0604a2d514fcd8339c65a33131ca74c19426719266395204b593acabdb7e1d48e72759e53185 - -COUNT=39 -L = 2400 -KI = 4113fb61ac3c4d4559f5d20b5815df427fccaa860936264c4b56bfe4 -IVlen = 224 -IV = 80640fc37b55be182ff9775bf23cbfcd5a7ad37cf9caacf6c6fd9f4b -FixedInputDataByteLen = 51 -FixedInputData = 7a2d18d43d2dd1cc4217fb5001d8a320ff2aa0585caaf6929208cd0f354b6ba20f972a50abbabf6ccd32e6ea075919eebae20e -KO = 4f56174bf4b30be3fed10132d5382033482b05f4d45aed25c25852b5d01bf66e36ffb66fee74f6edda89d3c606aca8d74bb22f27cbadcb28a643b82d6b76fa550739f4c99f3bc03e4c0ccf6823b465be889fa21150da19e8feb26164b209ec9f6c651f6ca38732985a461b04ec6e48e85f31804e8776a1f0c61604aef32709ddd4bc62b474226d4482d07071b11389a5b7f91c29fdd079d9ee522e1594a38c1d107b9e069b47463b4bdb67f062b4fa45f3711eb0b8b13070141867502702130860a761a756e79b5b34ef766fca656ec8b6c09fda1086a92b4106748fb95e15d94294ede7de341c6ba7c1df75746e83eb1f1d2d7e3ca5876e5de55adf7bfdcece7362e7defc9ea5c03418cc8eace10d020006348286c4be8e231c8c806ac055ec9053b76c8a7b619bccb3fd9f - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 011491189b1b7a1f9421f3ab49c6df9c7eeecf90f9755e8f6fe4f83b -IVlen = 224 -IV = 96bb04862501c955bc566cd311f44300d08f2106613bb50f4bd8bf96 -FixedInputDataByteLen = 51 -FixedInputData = af3c742825eeefeb1fe212d76869f217d00b93a5c54bc93e838c891ebe96ea76ba13cae5189a4b95ec13a7048cb57aeb984c7f -KO = 0e8690dfd13cdc5d2e104f9575b90b2f864fe3e07d5f5656aeacd44ff97ac81b3b3c29e013e4f6ad896b9933c03d837b81f5943928d2c206103ca43228aba8b4 - -COUNT=1 -L = 512 -KI = 058ecf7ba5cc5dca79ac7340a35b224b08d576d84f9d0d74e0428eee -IVlen = 224 -IV = 14720608fb12c1502f361910366495bedcd5ed164636165449216349 -FixedInputDataByteLen = 51 -FixedInputData = 3f4307532c932145386416c5f98ba7e610c11976f66241adf16e4e4d224f23105ca7b8fc008c59b769112854244ce9c7cca9da -KO = c46aa3ea119102caed66d5bb035b42ee9e35c92cd4cfb3e26b4a431f0125bd010eb9a1fb8381a8707869361a85bb2e967d16b3d98d16c580b78900f886ff819f - -COUNT=2 -L = 512 -KI = ba263d9bf4b56f777ccadacd5b9b0d217c5c83c06ea12396242b2ae4 -IVlen = 224 -IV = 199c448c055fef2dd5118fa4bb40a5b34b9eba9333696356efdf81bd -FixedInputDataByteLen = 51 -FixedInputData = 2b2eb13cbb0d664a764b2ec275b8d9af2650bed53e30b849783efe941485c281ce256dad4d21eb754d546e66026bf5feb4b921 -KO = f8405576f4c33e32f34f6f8d97aaa8e43243d7ed82d5f09d7f7e7b4646b418b4deae54d311eb544a6f85f3d4077a43754848f056e0c915af4a26732886f97996 - -COUNT=3 -L = 512 -KI = 7529c1537fd1ad59010ea5e0711054f9dd9160c8836bb80c54aba22b -IVlen = 224 -IV = 4f0452030afd4b67f6b23159553c0e2cd833a6abf5d336fd42a70371 -FixedInputDataByteLen = 51 -FixedInputData = 7ff740201f6640e23221321ed5e624cbbc955bf341023bc31b4dd7274bf55c49e95933ec06c39c60dda58c0c8b156d5f6ee953 -KO = 0f832c08fec0f6357fc797b5eeff41ec0475285bda6b24191e5273103bbfab3f69c5ad9fb74846fffb77a232ffa684987c06bf62d86bf7b6f282368e724ff882 - -COUNT=4 -L = 512 -KI = 98525ad677ba43a37fa07d2dadc9ecc5ef060b9dd9d92544ecabeb4d -IVlen = 224 -IV = f7c1df4e5405e077fc9b9764dc72928a721c80fac5103d302bd71b15 -FixedInputDataByteLen = 51 -FixedInputData = 4f92da53f22ef0b7ffaadfa7a374dc15585859004a0b9193e88450c33a9c323c5c77ce71a683e9bbcdbc836209be8053e4dc0c -KO = a9742f67e4733484a360e403cff0604d70d8be4de06be38e3cb0e1a55f1b71969b3ecfa5d062170224c459db40f536d907731e3c985309c967dbd443a3efae74 - -COUNT=5 -L = 512 -KI = 45cefa1b1782d286a800989f3c715d7a2047fed0aefc6445ec8073f4 -IVlen = 224 -IV = d2f88e6677f538fbc505edb930fbfc7d99e29232a0f5e314c658988e -FixedInputDataByteLen = 51 -FixedInputData = 0f550c0fdf9a1d29c54234ba0b2ca82ab6afc13761db75764b2af75d8f8f8fa62de978d53a7db49aa76443df44706ef3629983 -KO = bc7ecd6103d6ee96e37af0d1f91ee30f9b1400c76fb9333298281b6407265c67f2569fdd845551db342fe9584bb34c9fdf31bd8b48dd554707f2c3b69420515c - -COUNT=6 -L = 512 -KI = 8ba47f936401031ce4de5417cca5b4eed262525de6d9d78aaa6c14a9 -IVlen = 224 -IV = 30555c818a76cd333b3578a3e9a38756a1d3ce6a3e33c92fe91e0135 -FixedInputDataByteLen = 51 -FixedInputData = 1c96ed75733b717d67ae139bf73961c58635d89bd313c8ffdef8073d95a06b98871baf8238d3e2c54cdc8883374cdd802cae8e -KO = ecc044f3b2ae12903cff4a9c9d295ad926c4a4ac01f647a8fce4820ba4f53be57b5e85674ac58b54c36c660a4b9cc7325e2941de502e75b239ea7609b1ba1205 - -COUNT=7 -L = 512 -KI = 3501e2dfdc3efbc3f555708f0728d4c84e2106c96d492365ac172769 -IVlen = 224 -IV = 8f7c2bade0fcc02b4caed4de7ff4655c5755473bd8ef1910351d545f -FixedInputDataByteLen = 51 -FixedInputData = 7a992296dc276ea8ab8dc6b3dbadc6eab8187de927ebb9c6b90ba18b1359d3851148557eb115828d3be55cc445ebaf652871ee -KO = 21628961af9e5d00d1743a7d958d720ef90fc36f81bfaf1a30cb6ee9453714459d2041eb74b16ed3df3c306b6b09142304305c1dab74e48994d9d4f9a9a1a91a - -COUNT=8 -L = 512 -KI = 6c58bedb5fbb8d11b56e53819568fabe39ae91809d0b52994a4a0503 -IVlen = 224 -IV = 5d5f1b2a4562d03bb44f11dd8fc74eb6c1e33f9d6cf36e8b51942763 -FixedInputDataByteLen = 51 -FixedInputData = 44b10258555d284870720eacd18ac7593d5694792fcc71e09794b70b01da01bd5f5cb0b2b0c9c5bb0bcac35b653258856949b8 -KO = ac90fdd4513730a4bd09bd82f1ea239c480ea6328e2d51e63cbce9504e84703ae660775e808547768cd801c314b9f51dbde9adf102db99c7558c97d632195583 - -COUNT=9 -L = 512 -KI = f0ab3c56397cad4a096366456d55afef195873dd99427f4446ad3c30 -IVlen = 224 -IV = 8dd8bd115e2c523558dfae3928666902d4b55bc8e6f5c35bbcc33494 -FixedInputDataByteLen = 51 -FixedInputData = 0eee67d969d5c39dbc3432867bfc0999a340613dcbe0c4828826cefb5184eed984c84e03e8e3e1d9d854ddffd5f9e523649d03 -KO = 7c8538e27be8f1955c71c7dd56d79ee68b195da4c957e410c2cd2914a7861d982b5f3465cd5bc01eab8468052758b2d9422cd5bcce53757bc75c10803751e831 - -COUNT=10 -L = 2048 -KI = 71a688701e90ef005cd1431f808db44b72065b2b01698f274da04f81 -IVlen = 224 -IV = fe364ed06df6188cb08d81f04fccf3958c2944fbe38b243f161be0b8 -FixedInputDataByteLen = 51 -FixedInputData = b7004ba7dcb8c410a17189d9505f54e704fda3755e685c5f6158bc93633b2dba99db04053001c7a080261e031ed525173966e7 -KO = 81265f66a764cc387416694364aa58d7cb63458025d29acbfbd5aa73d44eabcada1731241d89dcd5f07fbc27440adec1f7623b18607c491e7ce3bd4d3d77fe1925ee358e5ebd2ddfbef04908b4942d54d4aa699a0ac239cf46046943d46c7ee58a1adf11f322b0c9ca94a6ce3c645c8969125e5b4427b3eea0bbd12e5ce202ed7531ae193387fb87801952f56bee8f8ad56824486ceb1bbd96b526dc036a2939e9e33dd806af21ba9ce132c79c4a0b2c758568f5b7c7bcce05f04e25a6eeeacda3a8ea9dcf65f9a51f8310083affb3229510bd049081763b0b7d322251127f017dd78b48b600c6535b7d9c37e2699a070badd4a56f8e6d206f5c49b1a8f8219b - -COUNT=11 -L = 2048 -KI = bc20cb2bc602043ba1b7884e4a504f623e27fa275b7fc6e884c39b1a -IVlen = 224 -IV = 9bfe8b5f5644d366ee6c26d5dcb1df43699d85ca195c7aa5ed67ae04 -FixedInputDataByteLen = 51 -FixedInputData = 9fd966c319e0eb4dfc0e12140881a969592cea490c69bf52999ff23f2c63ede11a3b4b68fc1bab46cddee7ee3748ab16720031 -KO = 52d603c92aa6fc28ec077ef5850709f4c2b2955799d30e69d22a93f2dbb3ee99aef25319c3d2a6f3cd0c2002679418cff3d5c481af573157576f235501166f396110f3a2c8a0b27ecdafd16a038093fdd330caa55077caea0e7fa47baaef8bcd8c20c0e5c9ce983d69160649b32406b44d15ba37be55c62a97bca8dfcc2e704bd8a9ff45622b1eff659bf44458c7d79b2b97127696f2c65b2b9abcfe21bf99f30b92bd6d330c0351ed92fbb780afae0cdf20820879e0fd3f5a7d0afc46cf5a4632530f8ee076cf92f5b12e60ddc709db429089de2589add21e9fd0872672ff5432d028fe4e1a619ca6d87c481d0049bde8d8a9bd2baf9a8f1870e0bcc9af633f - -COUNT=12 -L = 2048 -KI = 2b475a08017c91b33cfc84d1159614b762b21844b9699cbaa29a57be -IVlen = 224 -IV = 557a7feee0db14c36baf08eb2929187716daba400c0f88875b13e499 -FixedInputDataByteLen = 51 -FixedInputData = 24779dd812b9d8573efb791512ceb135333184cc2cad2ffb9618cff9634f6264aa68d18767f58fef64411a71aaaa555f84adfb -KO = 8cc0b9c211ff39d786fc0452bdbbe5d0c6a3a33fc831796faa0c7591221abebdab43a8eeaa1058f755a87372827ade30911c836001c1f0964972a49a28ca5970f4bbd56295a07f50502a0889cba8e3f2789ecec5a2ad3ed957a414658027d3a411e0f0abe7cc0664b404d667b1aae94a02d8f9b220f81843aa41a92dd729f16eb76ebe68089d25139b2c6a9de2d2aae95b0c522713fb4bcaafc200831df2af2da195dac4b8878e98be66ea14511fc8b1e5af228f7cce8afd47a83b35d269be5590d92d013fb38d53d84016c49fbf461357136e5e943d3a60e9e1b6caa43863d0e74b4952a815cb5a73c505f7dbcc0375c35f9c105ed55316e881bc17d39efe6c - -COUNT=13 -L = 2048 -KI = 6c65516e76f3068a9ee2c81e28f1e3666e5884506c507d1cd88b8f4a -IVlen = 224 -IV = 5a16f184ca2d6ef5f2ab456cfd55d8f213acd347f60e9489fa0a2c43 -FixedInputDataByteLen = 51 -FixedInputData = ab63e398e99e8f2d631d9773dd689c243b0d93aaa1d8a576c3c0f1f1c4b009ccb1f9fdaa201f3727fe2e992b3125a240baee00 -KO = 019da7178350855556679db7511fbf1c36d6e38077cf35963eece7a5ab5d6d06973ba0dd229f6ccee7a615d52e5d14b608fe4147538c101f15bc06c422d4b555f7a363eecc273ed67a568a8b63fd65501e8e38050ff825b1213d0103ac3514450583b40a2584881c846e78a698ddf72bbd7fa0a1c5253b4cbd88623ccbd4987642fe815e6442f2026d4272764b6c7ba131fc27056eb409022e45640a12de138570f97570b5a12dee3e67ffa999f888c993cd6bd7d49dac13ea23b6c6812700eb1695ee6dc3ba949a23ede64287260bca98b69b3ca5e1139d822d27ad744b9a8007cf251b236d67145d4ecee64eb3410f38ff40fbbb7616eefcb8270db854f064 - -COUNT=14 -L = 2048 -KI = b2c1569e69930df69699f926ccbef927312a0613d442bae29ff387c6 -IVlen = 224 -IV = 40117a366cae01a3026e5810124bee9607d13d6600667fd01a21260d -FixedInputDataByteLen = 51 -FixedInputData = b4ab3107add8d9ff3a107d43cf6f59fa11354283c58ce88ab1835c3dab0762b7c9058c820979965f2db15cfa3b031f494b5787 -KO = c49416a2622911ab2eebe01d58c09a3ed506e5720a2b615f898e850bfbb009ea53ccbe7cbe92d17744d3640bdcee8d0d7b5e1b92815711ad1f58c25b58cb05caa8332b70c366a03e37816f6fbd2230617ab5b02610727cd3a48ba007b4edbd73c6077590ec85d4ef4b8ccc04e4025e898001d811c78cc6c1f0ad255d5a67f12ddc0dc99cbbec7fa6837bc3720c46c895abc8e65c092c2b5d5a0f8c6e97b99ca13e74fafee337e12469016208ec0395feb56fba503166fa171ec23796cbdbb27cb443f4696c675e09d5e75181af18472f2b73bc246c75f825e80bbaa18a22ed84aa11562f021e628599b469883247db1b3410867bc68fae3d95b308f48226efff - -COUNT=15 -L = 2048 -KI = e9f142b5749888ae56eb97655b883a164a40f018e81175618f8d0d26 -IVlen = 224 -IV = f89f50551e907846f73b08f978258e883358f8c025bf920507307e04 -FixedInputDataByteLen = 51 -FixedInputData = 889a455a598d03173e389429924b49f39fac53898ba8842446ed7ddb1cd514f9fec0d7487faf99f5f2ce2ba32666eeaaeabebd -KO = e1c33c662b1ebd15af999d5cb49531e0f851b2420c096425aa45977607b9769a59e487ac2add7085d41efcb07c99c796faf1dfebcfb0968ed46e5d140576ca6594eebc6bda478079b7dde64770fd12d4093bfb911e1253c14bd56ce2383593a099c3ea8199c4a9d57728f32bb72c74eb08614965b3386085fb440af5fe49b8fa2bddea8ba6d0c224703b52ced9c9b5670b020f7f91c2139c6b85087927989571b6459ba616159c1dc0009eed78b3901ae79b83a9dc052cf262b8439e29a180f0fe0888bce16a3d18e5926f780c600657cf2b468dfedbc5e5034935f36fca837fda2cfb143872632cd9f0c647703abafccf5b41a506a36425cf607f1bd0020033 - -COUNT=16 -L = 2048 -KI = baf396f458433561b594a0f5910a5840421911d7e777a836be0ffaf2 -IVlen = 224 -IV = e365a2b10bdf5a3bf8e8d7d5810b62cc00c056432292854fc881db07 -FixedInputDataByteLen = 51 -FixedInputData = f1ab54c5eff7f710aa51becec8f9867d0ac783043f23c280d50918a492d3cfc59e29a28f399410a89dff8f356b7e6a21e3cba0 -KO = b8ef0d6b92016d297b6d36c48e0906d55400ac4e3256c779b8b204cc9032c08f1b7b803a9de0f5ba7e6526cb78dff836546846abe1f1b63d9e9c8c3e1b1b5c99822a44ae587b16f734917dfa77369175bc5aaa7fc4f73ef8718d4b520654d78d5a6c51d8a30a78d0f71dd146af58d0f6421bec5f6d9e3b71242cff70c8be630953cc04d94e41eb87684e95e8661e361765501157daeeec2dfd7d8cdd93927d8406892fae1962c9407d0cf612f8797447439e4196e1bdd67311fbffef968c63e8340666d73ddbac5dfbac5e40512e76f614f354d8601f734bf150ab520528ffb015d927345aff1ed5eb65365f66ceba66f3d862780babc6eee50e0727b1423669 - -COUNT=17 -L = 2048 -KI = e53b30b0282831bc4c3c32cb24f06752af0d1341975882d1d75de658 -IVlen = 224 -IV = d02983f25d0305a6063bf68187f76d4f3d022227915eb80bf31eaa07 -FixedInputDataByteLen = 51 -FixedInputData = a20f4e0122d2d65a6576bda481ad73ff542325f5dbc448b30ce52ade61ce3754c0076036a6a1270b1b7a05c7c25e04e703c868 -KO = 512b6ef20e5cfd95f471edcb18b2b41782f9645e1c88ec0d593dd8e83122eaac0842f10f5341fb7195614e8fc266c8c25839c7a1730fbbe5d7d8773739bf1c01a285b1846db0411d9c00798e8b9f635bbffc9a7aafbfb55a5f0894463f4f844eb80035674ab2608ede28c1d11cee0f6a00748752b629d03faf551b271784771af7c7755a5f510602a054dfbf9c0d094b89a1bbb5dd7137231a1c6a9cb10356d2077712183ffead0ec1f2ad72977a2e14700345a4b1e24ce1a103d227828287cbd2ef6be2201c4a717c859b4f69a8cd1be64e56fb1ad341c782b1adbcdb4d67b720c3b1e35261fff3a4cddd9e88785fab524ddddfd69348609ac482a85d50eab5 - -COUNT=18 -L = 2048 -KI = bcc7f7615e93322862128de1f04d1d595843d262d3ea87ff6e8be668 -IVlen = 224 -IV = 91380d41ad2a4aae7476df84e5eb6a528ee78f674d3d487ef52b1889 -FixedInputDataByteLen = 51 -FixedInputData = cdf968f8bf782265fc8cce45a27bf1a3fe02dc3cc525e04358071684e0e3df780998f9957af22c91e98adf1b9606598ef55610 -KO = c9defd01d2bfa474e2e1fe9505765b20aa946a9a54afb6563fc2a9c3ab7510d0ba0e1d0125f0e12565ff51190effa55159ad2380560633cb4be80fa305da5835d448647441bbedc3d6c9257c7bb7cc0651d9681933bf5a4c1302cc317a775ff0b8f0a216ceff2802da49180bfb4ca7e80d5d09440d6e1df8bcfd16117b03f56d6f3013f532b5426f95735b1f014d8466be80c65e2f5830c030e5a7465fae193e96435cb96bd575f0009110625c638ec509f66b2c509747068d70d32664593e10401ac800396ceedf41b61c3a57ade502e1de06376ef8a99efcf90b8af86b9ec026fcbaf5a50132c372ccbc00b9dfdaeb6ef926b6ee67d2789ceae31ca3de7ec9 - -COUNT=19 -L = 2048 -KI = 1c92cc6683027ae4878636b231e52560f4ecaa48207b25e69fa15241 -IVlen = 224 -IV = ea2d1e6b98db15970a9c9f9bfb13c77514c91b8b8be9272a05b67e93 -FixedInputDataByteLen = 51 -FixedInputData = 2538cfb938204a30d1d255c7e9bad75a91110a11e871f7f71ee52cfdfec51ee975666e269496de13b0a5c0443622f6645408bc -KO = 6c0fbaf0f7cb459078bb10a50bd4ad197e30dbb74d58dc4e8728a4f43adb2800c94dd7ab6199c58ccc8c0ca8068683c2977e951995bd7fb6488d290d2ba642280bdb27fb47ed74e53946589001d0fe1bcdc759946fdf6b056a0da32c74bb55d84e00943fcc4be704c6f264f0c2eddadf4a339f3a689c7c6f9f46fd56fe61ec0dc529f9f35ebff957379893df340def4194940a9f966380d73ad4dd77817d4e52537265967349baba80aec7211cbd16fb2d9346d7620255e20156d426bd0c4a8d27b11dbbf9b6779c8a8273ffd7e54010b3c4d2ab2ef41f3553b15b3e4c116b681d545b973f8ba3a460cf991b56cd3829418c40fb61ad6445f4e5b25abda7a098 - -COUNT=20 -L = 560 -KI = 4c2b28b4bdc7aa9635b1bae0e4c21355ac05a76c4916e81c0727023d -IVlen = 224 -IV = 5e46cb35bc5661cc14d9066a542f154d51c3a7e4dbf3b7fbdf3e4412 -FixedInputDataByteLen = 51 -FixedInputData = d193854c2d42b43f6d2816dc94445a4e395f27de6741729eebc39aba1772a1a9347104aee2150a11b56682beab2f50c0dc6920 -KO = 36f337a50c83c924663c4264016130a5c96762960c7bdb5454f1e04edc7b584f4ad5e13e0a0067eb8e8cc3c7c0b5810d04d0d664c0e2ab0df707fcdbe10ba11d67a48a59d9af - -COUNT=21 -L = 560 -KI = 9d216f0602c04b5cfddec2a17f4cc425a6456a959b879e75801482a9 -IVlen = 224 -IV = a1420e95614386a53e00eba68167f89247f76b34cea011dc72dd23d3 -FixedInputDataByteLen = 51 -FixedInputData = 1afe13f40c292b2a96c21e053cf3447a42fdf5756ee8f703dab21b04da94a6104906895f6c38c91f0d2129d967d203b2c8491a -KO = ce44ba0186c7da8ffcfcab4010bd0fe42bcd7cf8604194b2430e226e843cd9c442923654ff720e11206a8dcf28585658cac63fd1556f18647c9525f820de7286ed50c7fbcfce - -COUNT=22 -L = 560 -KI = 0824a79939f4c22b4ae519adb10c4f977cd769e15f66c414a64d3492 -IVlen = 224 -IV = 65e68717544f3268dcf90be363e5405a471c17656ebaba3898d683b9 -FixedInputDataByteLen = 51 -FixedInputData = 7f925d88de08f085706435663d110b342de7a60ec4a62288e6c82acb0362dc553b273c964d91219f764b3260a7263263dae39a -KO = 36c2ac063e50941ac2f6650f80c4fec661074b7d2e286e558ac81ce09a0d3a222672425db364af8389b08c6d6615b12436dd3c66df35f78bd45d8eb7ecd11a86d01a08eaabb4 - -COUNT=23 -L = 560 -KI = e1e9e760f3ee60512f7d1362b945b7f167ac2f9464da81a8b11c95b3 -IVlen = 224 -IV = 33a454f11d31e281fc5725b825c211e01623de7472fdc80575213d9c -FixedInputDataByteLen = 51 -FixedInputData = a346f5bbf46d35a07a0df631a250b3a58e56f077b79ac00401649585bab5c5f07408db40519b86ee757cc3db0f063854ce18a9 -KO = 012d3ed2270a81b114f89cd71e59a307a1fe4ab0803f2a40db4155133d9aeb5083a6d892f3a972d972d9177293388b7e79dbf099fab2b239b22386227ff83dfca249da0dee79 - -COUNT=24 -L = 560 -KI = 147d9ed1aab1091be2615a50ffc91a52fa67b8397bff82be7e5a1644 -IVlen = 224 -IV = 28b173ff7ccbff54c1bddfff7c076649b3bf7158fced969d73083748 -FixedInputDataByteLen = 51 -FixedInputData = 714e2e7f77a12fbb6988003f076a0195bf449cdc11aa4e39201683aa9a7d072dc41e889acbde7c3505f324e03c6865f9c12661 -KO = 3e9645afbb38bfbf0f7932a9ae913b96355afeba9e0baf0c5c878048f61372b4dafb8e3c50537e4388fdc21e9fe0b885aaf96954220507734d55eeb9bbefecd69e0cebe08c9c - -COUNT=25 -L = 560 -KI = dfb63d0c5227f84b6a67f7c3ab78b65bf006052409bb16016132b3af -IVlen = 224 -IV = 328fc2aab34670b3a27870f9544162155dc1849fb8b1dec1cdfe8af7 -FixedInputDataByteLen = 51 -FixedInputData = ad44917845cbfd2e39e340cbaba00f1a2e55dce57e2c39fd50d7f828f120021eea2095a6acb01dc8228226cbc4b5a5ae4ac168 -KO = 6e37fa365781b5545f40ed6380f159317463e74405faa6c3e4360367db91a0bcc0a8de5529f9ecf57bf5ae693348b06c5b455759ec61e4efb6f3e683c2f38484ebc85c12f531 - -COUNT=26 -L = 560 -KI = 605a74fb738c9d5c2d550fb2d6e940f76eccb59d45e7c2211e953010 -IVlen = 224 -IV = 7b3af1c93fcb63c6e69326b5165c7f1904fcf0e675793db43ccae6e3 -FixedInputDataByteLen = 51 -FixedInputData = 1210555f92482454ae5187a41cdf17b99e3a164af9f61b67d57bd3ce7e7eb0db597db756c94735d776207f98e831d6c2454652 -KO = 48953aefa35c0d00c41be5b3c78690d0cdc1c79ac8ca281745d428d6471c5a334a32e002f3e68a8c8a95c6cd77c7f91002c9ac726de907b8be14fa7bbdd7511b3d751b53131f - -COUNT=27 -L = 560 -KI = d99cd28d9d65a6873c2d3f12354b01154c35d20d4995075cc01b11a0 -IVlen = 224 -IV = c1e34ad1e889bae82fea8b491d3974ac445692e5d29898ddd7a24443 -FixedInputDataByteLen = 51 -FixedInputData = 917179a69c661550ca4a328699398a961927f3261aabf4954b212ca520067449887c5fe5b36cc8eb5cd1ae39b9637b8982bfb5 -KO = ef1269a7b27a3304782a54f2574f9d4a1cc0ba809172ef05150c5be7814aa587df804a3e5e46fba3efe540ea909c61fadb2c4a91547d55286dba54d86be662019d7c4f55a009 - -COUNT=28 -L = 560 -KI = 48395f642fefe01370f19d4609097a2f999bf494f791051b503fa6f0 -IVlen = 224 -IV = d64c72de8659eff5fae9f30ae9e5ed996783b14b9285d8c83f88cf51 -FixedInputDataByteLen = 51 -FixedInputData = db410d8a80d331144110cf5ced0759b7a8103673dfec923d3ae1765e05fc11962012a5989ce75f17e3013bd8c1a855c9fa2197 -KO = 7f675a44d83caa4c37bd39d766238617a30d9788e44f37b945c39be6b80be1efd96b6c3d08a6a8d3970a9d5a3fce3573ed4a22d682aee99aa9428d554c7937f3819c2e3d344b - -COUNT=29 -L = 560 -KI = 7bb8e5533d5a63772793009d53bb0b1c06b28be45aa5265f533bed30 -IVlen = 224 -IV = f2550e60450722b8699696a5e0d485d4eff307907d504f9669b35c92 -FixedInputDataByteLen = 51 -FixedInputData = d7050f7e3f9045992b20ff2d32f2bfe1ec136646ed541aa633ceeff329e00a28b7cc8f82d8fa309b4d13615f6a3acfe71d527f -KO = 62cc1e1857f5a74a3ae1ee08b26134773c4fab477928c782896538182143bee61d2cfbedfa11a971287a13c930556d86d50ab9491f9d1c79b90ca68351259519f0f91cb1ab01 - -COUNT=30 -L = 2400 -KI = 79becaddef1ee7031932925b673fabde2031e8aef9b59634c975b5e3 -IVlen = 224 -IV = f44dba2f1bff702ef6b11e42ce39050ad03e0e8fa532a29663bbee3a -FixedInputDataByteLen = 51 -FixedInputData = 6a8ec934a5e730daca9955473329edb60ab58cd84ac0b285c35b90ad87b1fb880e137ab4376a0b9fd230200dcc89e1c9a43b48 -KO = 4b8691a1abd81577c2b720e4f69ebe26e2e6dcc8b89d8d263f8516fd3dc3c803babf2db268907eaaed2722ac118d4dc7e95e11e49905ddd10e73a6bd51df30db0c08d15b8a313e447a3374eb7899c157241b336235f1c4a9ee5f25555834bc862237b151290213b709903af8209f58be39ffac668daf4f2d6641e0608052447485ee07046213699d3e87f202afe8b2ba83f862e4271af694aced9379478577ed10d52ca0f20c2e57ea822ea39c3f7fdcf07607e27a6b4d966568aeb017db369b487185100153f83e78e739ff482bac74e4e30c2f27c40f5c3eaa25f8043b62217325d8f6e007f63e5e4e71b3f4f54314921c1daa71e36f5b555ecf9237d3834dad7deac8887623092b93e77896b5afcb5d07ada2cffaf0c478344e48aa96caedec8480dd57e8cd91d0f1405c - -COUNT=31 -L = 2400 -KI = d311263f76bc1dbf808900770e6892ee61657ce938f880c2f5b8b715 -IVlen = 224 -IV = 44bbe7a9893c4848a5307406dfd329c73075129d1218cf0f4519a4c4 -FixedInputDataByteLen = 51 -FixedInputData = 4c46318bb3abeb86e34796cc78c4d995b74db6707c2e12e0b360801a7c3dffb673a85915b233baaa835bf90c7e14fc7cebd821 -KO = fdf642c4100b75d49e4c399787afe0e8e6ca5a08be5e4c9408558482416eb56ca6f8b782d4c3bd2a4eb375c5026fb43a0bdb57019c798e10ea28f991d4b78470e3fa2325b9ea5ea0f4e26643a61b3c21eb9d5fd10050968a40233d26f75accb86691729e72869b9a7f36ecefcc298ffebca7182f6f00b5d59f8c9d36285016d84f92174042a135adabb4043a842fe8669738bc5177ae2cef701777b92bac07e6326db162cf5a7c04658f786497a9db384f660492e912a77824174761e215ec2447fd9ae220283d2c94dfad4007ca76a70999961e99b7e39546547d21c381899b17431d1a593c307caa6f79ee04acf813eb31298b20d257011b751fa3855fd62f42586c68a5f5d1092fe81509ae461222e66c0f4b3b390c38d8d8b4800eab6996a374ad8a5f773e2b5267f681 - -COUNT=32 -L = 2400 -KI = 1be321bbaad2c90a4a4a20a5ce136bdc26b79b25cfaf8703a2162cb7 -IVlen = 224 -IV = c54da8ef1d6c48ea0ca289ddbe10839bce130492f1b7c67e3ca6a096 -FixedInputDataByteLen = 51 -FixedInputData = b77192739ba49fcb0fbb525a96ddc8b512c26d83b33c1b181ede39535a65f0c521a4a3f55ba0f616f5816a7beb133e5007c3b1 -KO = b8f74cfbd79d5c1c91266196a7f3278c1ed864c98413286b6587aa34e596c334005c7bad7290177595f20946ef7e1c117e7943b86b054a832f1a3509517c6831c81e8b284b85d83c7647f1bebea8c464747db50a96d89663f9007b8de8b1b3af30456104d91c5e58a1b80913e2cf486a9a1a0d3f6beab2359666681c3b256a31512154ac20b90a90f0d390d0c49cf87341804fec41bb7dc3cc86ce996ee4a21145cc17df06ba0c5caeff0672516e92fcbbb54459d0165595948a0444de19cd96a782269cbdb09db0588fd6c59aca8ddc00e70f0cd3802701f534aa00a967ff848137a53d7051648f4a40caa33f434d5e48f267e762e8cbf3b163c54909d9a031f63955cbf93d0eaa6e77ebcd3a174b288664826f7dd7d5188d6f1ff5b10658ace9208cad11ad2b988f3c6dee - -COUNT=33 -L = 2400 -KI = 90af4fe5ab20c711f1a0c10f250243c38c14fbd310794341624e4571 -IVlen = 224 -IV = 3902c4266547a7e8d4285042d4b46c2c0368df3d309fd983d3a861da -FixedInputDataByteLen = 51 -FixedInputData = ed13fb902a554847d4d9132611fbc7dd895390a424b29076aa2fab258b1949edd8cdfa4dd2da4824e497b4be71f881e3857c57 -KO = d8b20c03d5e1b9124bef9794e4282ee946cc02d0b015bfb653e6543335ae075e262e885b3f56fb04cefbfadba2cdcb4d9798c436ff30ae1456a083101057dabc3d3055ef1f1b8e1e44b5cb9008858c521ece8b81c541d2b5f695bd8272a29f08fc6c29cdcd7fc5021ccecb0e37914bb03410dc4977d96847ebb0c598d7c982a6b13640ad874d0a0dc6139ff34135e24f2971976194a58cac33a1f0eee14c1701559900b7c13e778e8ee3304bddba0fca170bb681b8b766a407d63c475004ae8fa332781b247b5ddbbf2098e6d10581ebe4d5e10296850722d6c5139ea6ec35da57014507833b9c5014504d107945fdc41f2b65dcd219058bb9c24d43244672c61043fd149f3cc407c35f86869691d6c0b680b1aaad2ce206022735879a5df1d50604815259094f4edd6bcdb5 - -COUNT=34 -L = 2400 -KI = 6281a16033feac834438dd0b67158578244f6806addf38b6a61bea23 -IVlen = 224 -IV = 8a9e118a6d7df0c07a462549e7df45ee3f81eec200009ad1306de74f -FixedInputDataByteLen = 51 -FixedInputData = a049e505974ec53a3ec3a2f28d0eb53bba94f4a7edf681d668fe43a9f576481b0ce96bd7f2d3cd7df35725ed8ecc48946dd378 -KO = 849f64addd4e831c55a0cc9e740caea70e4741e4ef249d33f0a3c2ce6bff6aa283658ac521acbaf1392a0cf265853b6fc4a4dec21c8af90c3434f0196474b2f4ebe4d3e7117ac0af9777f716dd1e275514891478d51dca0b45ce0dbddb2f00ea87494c9f1cf21893bbd2039ec563767f8bdab5e58de92578216e87bf71eeb69232af10644322714b4106eb85317b10d1abb053f17be9808724eb5349582165ef21b772a3e14f5d130b6107efc7c18a4341705e87c62ad7272b4fd9a41a009b5606c7f2aa7ae5f6dafcb5a04e5a56093f185c7b39276e9fa70b4b4314e6bb00ae12bbb3e02844ba18e3f964711fb6c6540bf6b03e7f4d6c72cded3b89bc53e140b24fda53472c66932c8fe50fe9b7c67377f067371c6f73c5d8adb4a38c1a0a2536c6e6d5a9359c79058a3bd3 - -COUNT=35 -L = 2400 -KI = 9a4579199e4da75db01ad93bf05694b749818bdf796303d9feb5e158 -IVlen = 224 -IV = b3a03b7269c936da9b5a30a5af196c2282fdb05090d440b00343f911 -FixedInputDataByteLen = 51 -FixedInputData = 7dcdcb7071f2c21fa1e83af62e93be8b8385fefb71ccf0d76ff3696c677586b46f1824e172a6af327b153eca1a5859f3062539 -KO = f0f9cb0da241582c14b7e57902344465b77d078a541cbc9a15d1e72c0f6043737025369d5d1efa585652d552611ee01af3406f925d0747c2a9232effb67afcac91b9beeb97b6793e3fdd272fd19aac7b8a94383409218473ac218114adf26f079d0665ae5b177a8e061f9f80ca05f62096e14766fc1c84bb6da914df9111e3ffc0c0843cd3f1214d7e4a9937122d8829660b8c5a365380cc51ce73fd0549c0af705df651dcf5e1e5992167e2390afe6a08774ebda0a70adb50049a8ca6a0b448e5d9360bfa3a70420863d76f2c88496f98a1cabb5027db91430d724ff91ebfe98b8fcda9236d1fa9c1c2b373e0ed4617099a932ef0361573807f00284b105d09b969ba6a1e2f933a550871dea5dfa7665ba3cc3178f34b80099bbb4ad2678233ffc426e8cb2f695cb0007128 - -COUNT=36 -L = 2400 -KI = 821412ab4486585ba14b3dee8cac7465d3a35bc92aafac0a165170d1 -IVlen = 224 -IV = 2ea7790a4007dcd95794f3c4db0ce43655cfa928a12b144be442dba6 -FixedInputDataByteLen = 51 -FixedInputData = 7ca828a48df6192fadc034d835f2e3bf4be3bac276a1aeccfbe4f3eb531377c28c1c6749b3de3473b262afe1bf95119f8b3fbf -KO = ce278a07406fcd86f0ea6770f7190fcfc5d5be0114a8c8a961a920264a3f2b379a8f9b3bc206b5de155c6e4e81539cfa23eb2c371296b7b2b63f75a9bf72734996eafee852d970f87fc1292138c95209a24742afe874abab08a95b0d44e7cc78f675ba8b1089f0b9fd2ca41ef2ac9fe59201183e3ad3a710d3e659b611d08f6c62d4887c841528adb1ad1527e39f628bd602102604ba23b4e1174e64f657d1cc42db2d7b95a4c066ca0ed959bf4f95442ad1ee66cfd85b6d278bbeb807aa47709cccd1af113fe14e329a23bd55396c48302cb60e9db2152c2f31eb8d80f54212727faa2c5d0df9f4946412783e201b7126d6efe02c241b28cbec9717ce10c2f619fe6ea7b5ec59d10c6abc5bde5664ecc861fdb64111bc1db237c441ba006bb9d6148c5a19480c51bb880685 - -COUNT=37 -L = 2400 -KI = 32312731aeeba12bed3041b9c420cec1e89c32ad2fb7b07a4e33dcc1 -IVlen = 224 -IV = 9c7c23b276e4f3729207dda077d5995a605ac731ee496fe97034f43a -FixedInputDataByteLen = 51 -FixedInputData = 9a381c864f210897276a56d22ef7579ba8b42c0bf95d3ee1df1b45079d74c286feea852493742c6c7d1d0f582e5d580b94fd95 -KO = bc65494765d161781b2b36e19317351669542c322d39a0b13680ae45b8a4745455602c46fe928dd02c1c8e82ad7b2228e0fd75c1aee83a0151cfe75e3acef76fa2f101282a44a37db2081e470d53fe56da6527f1ebfa9b8c788fe2aba8b5c7a739c396dd152adb415d843007a0bf986be5ff424feb616670c300a9cdd41d1f1e891a6ff63aa4c4a60c06cc97b1df9aa4a748117040e806fe797b2474108ef0bd898c4dcaa9352b9aad9bde7cfe53bbc52c5e480472c415e5b48072f5f4ee502ef3921a970a4603cefe7e7e49d6e6e830d48cc79046748305b963a6a553608e02ec94325a8f08cf20f2eac7764b2246f536d5f761068803c814944f453173c115c6339b16b31701fe63b5d032af6820d1a06d5523f69dcc265a1c9f63b86183d02c007cf2f9e91ea666f019d5 - -COUNT=38 -L = 2400 -KI = 705511c9608886e96eadde3ed942bec29322a5d8f35babc432b5618c -IVlen = 224 -IV = fa2066db16932fd42b6b299a824acb76770da4c80d039993f60d1c9e -FixedInputDataByteLen = 51 -FixedInputData = 116791b0b0e0fa772e361a200163b9fcb274556c951bbe8ddf59e674dae196201cf0d141426f829656bc5e4b5778c590bf04a7 -KO = f4735ee19564d6c0477af7bcf3e4b1abd1d7a535c0ea3516163d273e41a1751dd57482fa602526ca12615d9cc26029c5e01af22d079d3b0672d9c2dc108a88857319b457ec4d2e397477d5a91d220f436a2cb7d23cb37553c7b65d660417b062dd8787b427a8c76543d44f46a4a42a10a0a5313b16170297363d24259640da005bbc73ae4df4229d719a9f786eaa502144696b99482bbb767307edf96cc44aa821e37f8bafd71add9c844936a6420de694b15670ad56334cc8c49717086426010f86db34f3cdba8917f7639f3c5e05b08002f89ae856faed8960666ff380df5ed5a7b54bb172dbcba57953547d20bee046bc670ed6e7728bb4e1163f4ee221e529c609800f03e74d145ec5d5eedb745bf9a476faf1e3865b1885c1ab9f82581c2aa0ccdf97154e247dd97496 - -COUNT=39 -L = 2400 -KI = 128dcaf9f5ad96fbb1b2e1a0ae8de7959049506450284a7deffeb505 -IVlen = 224 -IV = ecd79d57d22e349c8c73336b952cfb8bbc461c0f207f6dc458b5943b -FixedInputDataByteLen = 51 -FixedInputData = bc4653afdd5530a01064a57b0503919a309a7c2af754780b376b282d8834731fcec2936a95f3922017d4bfa7b9694104b5c359 -KO = 2353e8fc9f63c454e80c4084c58f81ca86a93611c97948e6b74bc622a3e20683251eaaf5d57301ddd80fe9f1949ea74d768800121a6ebfc46f317bbc9455fb54a1baeac15595818cf134608bd6729624a15f3a04859d1b000aa8e5dce28bc0a65a9615acc98ab19793be05b55a4c504a5ee3cdb3072edde15e6825b3f8c24106b40464222ecc75a5047a70f27d6f411196de6debf996faca9ed56fef81c145d99df4566641df90ac0ac0083eda850109634713e4ab5179c572e23775ad448ed4c08dc902d2cdba13c4b478d730b2c268240fa6c920e1cd720e1c760b4152f74858cf8eeda246b1aa611ced3841b6453b79f335edad5e4fe8b0a0eb9c8937958148b2be86bb87409a315397d8b918468b13a7d518352a6488908de801be1f05c11be7deea9f2d364ea34e7491 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 2ef75441af7f9317336b086c5a4013510f9df73c1041f29a71b9609c -IVlen = 224 -IV = 65193649750e1d73d8acbf21743266c074167db1029a7b993f013f4b -FixedInputDataByteLen = 51 -FixedInputData = e1623590814c0c977fa2cbdd73ec753b8cc67bf6971982182bbbfeabb3fa4cc49b36aa6b951cb950d7706d55c2ac40a9625acf -KO = ce4c60feb3336268e70325cb61fc187c76f6b65694f216800fe2d67959ea8100667a2bf35655066b7b5f7176d2d07159bf6c68761617ee1c62150b00ffe3a62f - -COUNT=1 -L = 512 -KI = b061b601dba78417bc7bb1927e4d1c41e61df9e1361d83d54a11789d -IVlen = 224 -IV = d2bc4efa10bff28f946053a4d0a8ad331ad1b10b660360d97f487557 -FixedInputDataByteLen = 51 -FixedInputData = 069d2e714bb0383072460803015685fc376525c38b371267c757bac4f7de4757d6082d1e06c945df01fdd1d8a9f1843bbfc2fa -KO = 2b7a68ded788a85b61f9a4c33678cd2d4044960591cf62ceb131f28ad27536c58c8513ed52903081f2e05eb245856a8c0336758dd731b4dc10377893f7a564f7 - -COUNT=2 -L = 512 -KI = c8e8f1f7b8430bda56606d6c0c41b24d93c8450302885dc60811cf9b -IVlen = 224 -IV = f1181b0749bac1017bfc4be4caeefe73d8750f87c01d96649e95bb94 -FixedInputDataByteLen = 51 -FixedInputData = 95777675703862af13736311c00583534929d555a6cd6cb0eb249b1f80ae2845b461b2628e4b28e8b582b3b5176646f8f73661 -KO = 950d2fbbe4b55d22c9ee870f36486223ccc2143f3e5b2ef392bf83ab6ce8c13619f696a27967daa4a425cac7149e872b5640bc552baeac7c23c7e1eab0740e02 - -COUNT=3 -L = 512 -KI = 3b5cf93574262ca3e49d9fb928d42ca75fae53c60a596af66ed34995 -IVlen = 224 -IV = 7268ed6eb69e1400aa81500ac211047cad7c9bae1a0c7b6364bffb1a -FixedInputDataByteLen = 51 -FixedInputData = d1f0b97617283bb7baf26469ab95c779552404e81a8a7a1927b544716883dbc981be07a39f6f88d16a8df5dfdc69d7309f059d -KO = 1e59d50d25640a2c879ebcbd59e60c90fa733a5447d262e7534ea6186a0b9bc775d436c9e159bd55d6a056b0a5248e8975c13c7917805bc75f81ed1d7305dab6 - -COUNT=4 -L = 512 -KI = 2a8bf040175435dedfad6ca1472ea8621e8cd18757657cc79b04fa0f -IVlen = 224 -IV = d7f7d72f4842aa0fc42599fc19e3d0c399b7db838e8ae410ce5e5142 -FixedInputDataByteLen = 51 -FixedInputData = e32fabf420f3781753eab2ba86869eade220d75ef5b95b0c8c87e46bbb9739a26f475dec86c9e6c093b01d967bd1ac90519a96 -KO = 6d47462f4c9d9a9bfc121b4515b12995a4dd89bb57adb391bee8464dae5943c291474d77fe46099ee9c654a90bf91f30688a354c03e973bd6398c0b38b4868f0 - -COUNT=5 -L = 512 -KI = 53ab90d3e0aa3206926f7d479bf732af1fbb40f505bd22f841048250 -IVlen = 224 -IV = efbbc4d504447822c7dcbd6b9e4b2be6cafbd35e0ab4ec4a4aafc371 -FixedInputDataByteLen = 51 -FixedInputData = 9a03f76c0ac0f20481be21f4b795753ba8877e1d4bd9a6448563197cd785d37b3c9053df4f3bca34aa4e9e87a877c06071a069 -KO = eebf8b4806d1a79b93aecb4075d4171e5fa79a5346fc8b8d9d928ae70af7d6457f236b8a388d0d8578656b92866f57249f003a1ee83daa18692ce4fbfabfa036 - -COUNT=6 -L = 512 -KI = 2aa686f2c97bb76ff8f548e15315b047ebeb75b9f9bea41c16e72821 -IVlen = 224 -IV = b9b99ae955822084939d398d255ff11afd890b2fbbf36cc84b2807a0 -FixedInputDataByteLen = 51 -FixedInputData = b5e87df5daa6f6aec56e9bd882bcead3da2aafbdeff4f8be0d5722d1c4730d53f5634eba72261999a0a9fc6ef95ae30b4543ac -KO = 2318ea4b0cfa3447a7d2d44dee34c28c32e3440138dadc4888c176d215fda792e238cab9fae2b8a51e1e1a6e435dc7700d1a34c318431380116fbcce4a790188 - -COUNT=7 -L = 512 -KI = 401f17fc6c305d9dc1fefa975d7c0e5573c54835b6e5b5708634eae0 -IVlen = 224 -IV = 8137e0ae85f30313c580f1441c4dbeda31c208aaf9502b45984db230 -FixedInputDataByteLen = 51 -FixedInputData = 989c568df8ac25f77f4f012452cadfb332c54bf65b25d979d216e34af65b4821fbd9224dd69e6751430bc3b88937f9b19c6248 -KO = 354481e47ca17c02ab2616be11577ead6e12a775256597a4b1d50900c72ae364901414199bc33a8ce19c64f55144a8763b84f206f7055d44aafb903712ca0160 - -COUNT=8 -L = 512 -KI = 11837d8d3e5825778a4a7b140320f802b3da0ada65f66b1107c929fa -IVlen = 224 -IV = af59da0007bb2ddc2da407967fdf3d54aa1b54e337f94f892ada1779 -FixedInputDataByteLen = 51 -FixedInputData = 33b4f8cd892bf6890b5e4b81b20ac04bd357d12861e13de78a2a594d5075ccc4df07e3fe92c9d1197421f7b19babb1e957839b -KO = 61f64b06574b7b9e06c96030843c4420e91e99b0aa13233a59e13ef78e258b249ec9111978a53c32eb3ed6291094ee37737d27d675f35ee69d8ea35a63d621d4 - -COUNT=9 -L = 512 -KI = 5c43d801ac5cecc69adc802bd8297ab5ecd59e2022c7ad8283072397 -IVlen = 224 -IV = 3e6c7e6dc294b6bf2def3fa1ba324b4b833a8efe6987774b7305e26f -FixedInputDataByteLen = 51 -FixedInputData = c0c7b7fedf9b29744c523da79eefca696f991c5220b1b934dcbb30215febece8c2d69898f11967b77db77266393b98d4cb08ce -KO = a9623562d818e01b207fa135e26d12ef758619657aebd09db2a36def3709d819e9c746c74d8faeab831fef9a85c4da212b7168e7feb4c9c7cd9ee4d5fe806d6a - -COUNT=10 -L = 2048 -KI = d1c52554227f7cb8f60edbcdd339eecb6ec748c514e7b75c3e79f036 -IVlen = 224 -IV = 9244401403059006e7a850ce9cb191578c04b2545e05b868616805bb -FixedInputDataByteLen = 51 -FixedInputData = 0a6075a8c380fcc0cc4fb62605bc01ffd8c875f3c7b72f8b561f32916af60c53818a03ae6815eeb132c48646a24e7faddb8623 -KO = 82178c9fafe92a9c52527c138cc9be049008698e7020b28f26aedd8666fbfee4d1c0d39db553d9f59fff0176e4b0a12a481d1c4dd0147578bd3fcc6c488f93865c0de030efd01845644b7c28b61c5d44470af514ffe53a1db7075e549796ac9360fe40d1c403658c6fb17360c27a03feda178dbc4d686b3d865c7384c365681a1ea095c53f014949680a42ffe18dd1cf5e6899b794500d8a9dbecf5c34bb615636ea7ff0c58ab8cc7279597551358a0c7cf5e316cd4fbf471e47657e4a009e4a0f1300bc471589ba2d3abdce225690ce1aeca48ae05fa0cab53fcdfb7b748349cd5d43f15439453158438f0556b9919de9dee0d039fb9e80a2f48ad91655da22 - -COUNT=11 -L = 2048 -KI = 9394159933a556eb6d4d207ba509800e5f1dc087d177ca2c697790f2 -IVlen = 224 -IV = a1468875065f92fba77742305c4d7b6680b1bac1b60c9d1f8cff564c -FixedInputDataByteLen = 51 -FixedInputData = ec50ea9a8944e93c3cc575a4f4a6f721e664e6eb4fac8bab48c3c8f7c874a1757e163976c27c8440b9fe97d198e4559341ff6c -KO = c53f79bbfa4075bdeea5ff1ab0676b3d780cf76687f396dacb2e495ce452a2bb53425ec21240b7efdb94e0bf14b224be7cc8f97f9f65d9cd68df216865c5c4266970cfb821f7520f9bd5f9142a1d22f50bd7670f9247bdb320aae803780a45c649bfceb447b4b130e6f1e31b1cd1a6e2274704f9dd47376acd62020bd109d5633c9e76bca490156871bf261a553b25072359a0a34dcd4e3eca7a8ec4d1d1ef0e21d0699e0432c33291bba7da274d3ece311d916dec7a10a708f00e15eb7dd5288a86f67b4f88b02edca9a539ab34c4a4a999d0915c6fd191233325652c30c41af772057795c7426bca75ef61257cf0979c0212c7e0af2e5514486908e717f7bf - -COUNT=12 -L = 2048 -KI = 9aa2316eb5302abcd5955cdaa2dc719d7c41acc3bc9acac208f7f2af -IVlen = 224 -IV = 0db90b74f69b4f02a8abca90e82c528ffea17a64dd3b6803ff6b24eb -FixedInputDataByteLen = 51 -FixedInputData = 980909158d80aa7e0fffbde6aecdf6c25bd86645673ab29365c07a68866937dccf3fda3f0235dc49bc5036abfbeb496754a1fa -KO = fa300649980249f05f8705d75820bb14c37428f6a88af2b6c34c0c33853b298e7845d7ddc5504a944674d19926aded600ccaee110ef50d4a64cc49c7a36456844fcb6205b8391397160ef4b607464154862da0cfea9a9b0f2c0abd89a3cf8a20c2f3ebf47f5f36e788c38619e908426855e917fbce25faa0e2a43a5a83a5d616777aaf39adddb9d60440293e02793d04eec0c6df7823847ca83e1335d02a9888aa7fae81625afbf38f6be8f0cc1413fd42b4c03399cc247709eb47484cf874ab38b37bd74ab81b16dd6091e5fac9c8cc9eb3d0426a73329c0bcc39de16ae9c65ffb564170e3c3a03a10d9cf5484a1775a9a4293595422441d3cde0130db482b9 - -COUNT=13 -L = 2048 -KI = 3b833c7b1f4a8edc5aeffa55d05740bf5bb165ebcd6d625125e1affb -IVlen = 224 -IV = 540609549b29a3bf9b40c1bd4d1b560976135e90ec5bfae5aca5a061 -FixedInputDataByteLen = 51 -FixedInputData = 898efe5dfc1ad82a4dce6069d1aee72f36c62360a0e6db4da6ea76ca599ebbbb89338e141cac7b4a5f09df499282f9c3f97505 -KO = a112f3c3e957a9f5a7dad0ff374824ac133cc36bd712e1f8429926febb03964e0e27b15a70f80a5fff6732b0e4b592b46e915adcb744d546bcddde05004cc2500cfd2c9161d7d7a98b1ad35fe33cc9f0fafd515e23118e0e49ace3dd2045f2c811ec5ed1751a12a968bfa32cd00570d8bcf89dbcc62651e32931f2f2e4c59e9d0ccf960f4f9d2fea68357ebd32ae0a1c0621d2f630353f37574c9da5322357f079e63b74b26221307a43b950cb51b12a617e60defae7948289ca3d33c52596ad80300de79ac895a46f05b3533ae8464d9d77b45623ecb4cdadf7244204284c6703b7753337fb7848eb5d7605b49b1e72511230f735644bbeb303b42651a7430c - -COUNT=14 -L = 2048 -KI = de8aa4fc2b10206c7c302d34e906081d37b06b7ba750b5c3bb58c6f1 -IVlen = 224 -IV = 8d4338a96e254376bfdfd4a0cab66f7574ed2ee9417e78ecf36cba0c -FixedInputDataByteLen = 51 -FixedInputData = 93e11a558dc882f16f31c2b84b165424a5f37064b88e1914354e9f5ed5472264be1026529072225d86307d1c5f7b263ebf9367 -KO = cf7acfa39c43a0395cf4dab567d645e7004d98d9a698eefe0b6d40fd9fb4cb57bed9257b049c6dfde5a4f3ca11e847281eb6cf7231eaad0b67ec05ebc9cbcffbc033f560e15036e9a880c1f0a66f80d8ba54d2506ef65096a1dad2920ff4e0ab7917a2025111104db4db2b4e6ec6ac6ab0d877e3187c775f5cd92c6c516f41f84488c5ef460938a80cb6e6e49b9b3f2089cb79edbffd6e7aa5cb70434ee946a90f8d5648424decf7a83c8a90366e657356daadf0d5b65697d0150fe7501b5ea153e3104fef1b462bd56304bb0d02ae34daabbaf98f59b8f7ff30a526005b98e89e37705ee677630a68d416f38f19a04317155a23a34525dcb9d39f82537fcffe - -COUNT=15 -L = 2048 -KI = 62c69679d15328547509af0137d00720352247156c3c2229419bad6f -IVlen = 224 -IV = 219fc0e1cc985592c46b40f23be9e1b337780c67bde26ba2e4433be3 -FixedInputDataByteLen = 51 -FixedInputData = 3b6598cc7e31423e4fe5faac7c0fc5c2b0532f5bfa70e4431e6352ae8e47da0585f6491065eb1e2383368bd973352e7368797f -KO = 033f1167cfad2a7717698b5ca2f68ceb2aa08d6df5b5df096e411f5a54b6dac9d5593511fa08d3d8b187ad908799ca929c60b798ec7c7b47ddbc1a14adafa410c5673a773db845c61a73dec580ca44dd370c9b10b90b3fdbbef1d32ff97a6f37cfa19d3e2b46eb6979a87adac8657b20f250ed066a8effe186207432703d5063162f297bea41bfe1fa17b9566656f49435f0b922ca86f38cef5ae74f71aeec32a669a1bb66521deba739445d0e3fa9db62aebf01af7eda4411eb13f442a1bb371b0aaf00d79fead58b29cce35be0d2d97388032bb464372a377ca1c7046397b798b9abf77ad951a8e27190e85871d06fa3421bce076d0fea7d65c3b2181649fb - -COUNT=16 -L = 2048 -KI = b71a670e64fd7173e73917e74466495730696e1b39850a7611f8646a -IVlen = 224 -IV = 256a041a0cba8c1996ad0aeed2e7bf7c8754db7d6406f1ae76d4babf -FixedInputDataByteLen = 51 -FixedInputData = c49816482092685db9f2f50bc4f11d67868c30aba937e3d55a00c2cd95b1ca9f62125805368db9cd2227a540039819103d9e19 -KO = 3efbb6fe168ea11aa137faa4587e7efc9d8954ea035b3f61b6f7150dfc3ec1e4a6f54388d55449669676d3a09dff1a9913c1838b714b89648b362ee3319223fb6ed1ce18cb222a8ab268c8f6319c5b874c055c5bb7b9ddcb30bfcc51c1589252c41410b016606e4669b4578875326584c298ad49f587800111986e7e39b6b8bba3ea0fdebde737fa6d5cd2cbb515f405b6751041714155b899a63eff6d7a096ba78e8d8416d30362c98421b62f93c130b19bea8027e32f9bad116b3ae0d5c003a78c3d44add4a9cb3b0f1737eb5db514554adba1aa5285d046e1a7542eb0b9920a2be777e4c1209d7ddcde7f59a0ad3c0a92b754a629497f7adf0eb4adab1157 - -COUNT=17 -L = 2048 -KI = 3f02e4dc7fe7a077379604cb2068c4491b00f46863e78fc252d33983 -IVlen = 224 -IV = e053d820f97754bb50035398fe9ff250a61ef933ef8a1dd9c71f2eaa -FixedInputDataByteLen = 51 -FixedInputData = 0186500e61e0ebde77b0bd7c8bbf69db4f58558cb741ee9c4f985838b34a11dc2970f41d6673963116087ca91adf6b4bd3c236 -KO = 49351291f51379ec072641f2ed492ff3a80554db471999235699fc7fdca86bfcc01caf880a34adbf1161dca3ca5594c2d6aef3a0cb3ea1bfb0e79fbf4187bf64b42fd220d6ccf4f22aea9998f431afa82a37b1c040fc48c16cc19f54cc0886ecb91f51ef35c5485e2b16147b93e660f8ad80a476aef11b35892bd51cb2393d5c04fd981240eef99d5fefb6ac4fcbc2058a7ccf1ab8a357dfa91b8feac4f37295907db7f7258ebe69e77dbc75bba00f6a0457a9dd88064cb2cd209fedda4b78acf5a99067447426e0ce78ada29b4482033b40ea7d97df87fe30e593d88f911e9ad4404e91ba1c703e6e34223d313896efc5521a230adf705a6a5c1e5605fc9294 - -COUNT=18 -L = 2048 -KI = 2ce0e07b1de7362d5239af6f4e489d33a359b18b746ce6e5ea1e3b60 -IVlen = 224 -IV = f23bd610c9e0a59480c189eff3a81fa7e8b2897217c7100232ac28c5 -FixedInputDataByteLen = 51 -FixedInputData = ed40e1fb3900d587cfa20677695095ed71895db98e5dad9cc01e693da512bbc442031d72324319aedabcf2fc722035390f393b -KO = f90022c8c39b72247889aa4149616e93c7e6c329b9620a2153ee5836de6be7cb45344800a544dbdc719046b154114863724c8ea3d45df02fdff048f5a274d9933838f7dfb401d8b3ba6c52f7797b339d9c73bffa7287924ea95966de86e98f92b62bf3b566f399711e9703cac6cfa4cfd54a4cefa217c27ebe320bb5d2373b30a290bcba2635513d05bc8fb322b090ddb1561cc76b5b96dfee145568d89b2030253aac27295e39abce36b4dd206364303b9bc5e561a1d4d9e41262376d72218fad1072853dc230143d3ba002bf81d0b4e130a23849c117aa6a7f6a8ea2e9120f25c48b589f9352868198022fdcf70e2bfe5daf7c09fc04f8a6b95931ed8437a5 - -COUNT=19 -L = 2048 -KI = 6709c7a15263cc0592431d9faa10635314bfccc7261bba9b4d7931d4 -IVlen = 224 -IV = 5fad737947a62d49ff36362a293ead06026448d08e6c172c275b01dc -FixedInputDataByteLen = 51 -FixedInputData = 83770efbab1130c8284efa54f0afa60c955710da13e2bf4834a493d6725c5421cdf50f7cc96773611d913e0916113284a90aec -KO = 69a98aacf17852e17e68b60928c1d61bd7511c1ce8f9dd501209a880f96ba84a2ce3c7f278bb7be982473ed13ad75e5b65e3eecd87d39b45f430e7ee1d3a7a409617f40235fc349c80ccd06130e544bcdd368f82697c82c0ed1df57b88735a31c15699eeeefa179e0c425a2521b733aab65629c8c410621a839292c9052f425d1653cc963103060cd87ba41421e1d24300054f47e974a07dc32af4c769196a6cee4c5021d9e864d4490dab8fd83ae59ca708cd15bed6b5d0168b71746e3b6963f4fa7e2b675695be1da7070e4368e27a22bc3cfbc0474b09fda7fbe5d70845165c1abe1ba8464c19bef357c332698ec5001bad36ff04aeeb41006d216243f07c - -COUNT=20 -L = 560 -KI = b93773d6123a129a6b9c33272e49ecfbe45a9f2adf79150c7cee8b29 -IVlen = 224 -IV = 65651e1d3ace59e15e59c374e10606d188c53fd27ab04d9f55e9e6d6 -FixedInputDataByteLen = 51 -FixedInputData = fae43dc679ee829867dfceb27e196c918bd9a617aaad7fc6e56909be471856b46c36783343396cb02c2ee8742b7943a4ee3662 -KO = 9f29a1ca5b95fa242080820e94131959f9523e6be8f5f0131896b0755329903f794530e23e2f3769a6685680b6ba5a26c49891e43bbb52d2859722f51aa273ee0e72916f3fe0 - -COUNT=21 -L = 560 -KI = d8f7eda3a78ce362148c1d0077f980ed7a1e52ed723679aa78820203 -IVlen = 224 -IV = 243a509905a317fbaaf02741f06f7af7602a8433a8e8b0b5a857d35e -FixedInputDataByteLen = 51 -FixedInputData = 8cdcdc99d37fb97217edcaf8b904b7785d2cb244b2efe7d0b89a0447c7d88f16ed3dcca8bfb54a85eccf7b0a09f299488f2688 -KO = ea545a758d9fd88e39a8c5926806b3635c2e3af6d64b784e9bef31e311deb8b46e70765213e0f4a66931897154639d1b7a13610f7a7b6f36cbd730f5d54ac2ffa7c2438809b0 - -COUNT=22 -L = 560 -KI = 964667f80833d418e883c1d955df1ae4a314e4bcbc60bfa8394214c3 -IVlen = 224 -IV = 57af8e7e765298d12ef0933bcdd933314ab72dff458459092a1b3505 -FixedInputDataByteLen = 51 -FixedInputData = 30c47fbf6d10b7876776f596688c8206de91c22f1ca3df847c57e19cfe59ce2240c30e11ce7adc24148f35774188195cc61f86 -KO = f4bc42ea07beca6755c9ece905aa8d9b1d3bc7136cf9f409c9f415ceec61df1fcdeb8cd9cf5f1852d8c8bbe2374f618518eda50e6b23c34a24b42bf6e11909e56ae2549b3741 - -COUNT=23 -L = 560 -KI = bfd2dcb8c3060792d2125599c1201d62802cef9ea5ad5bdded8669ed -IVlen = 224 -IV = bc0ccced683e34110bd57f1d096194b9de11f5cbdbb51570567bdc47 -FixedInputDataByteLen = 51 -FixedInputData = 614bf245dce2abc248bf50aaa87e5247a09df530389839f528d68be23bd0303a2a2cfa8f41ceb0f168be5f1be07504c9bcf812 -KO = 0a0de7bd9e83da2a1842345e2602af3e2ca15908378885feaf37a7f73df84d979c320bc2160ddc875405a4e354245517328c423ec10c57938a334d5f7f6599d6ec631664b77d - -COUNT=24 -L = 560 -KI = d9cfdb2e585228c0d3e9c08c22d260fb5cf1620cf7e4e8ca49418520 -IVlen = 224 -IV = f8bb2523054cdaea8c94884180f50ed95b99c950c99847919a95a3f2 -FixedInputDataByteLen = 51 -FixedInputData = 248e61139228f78f78bc6b0ead41e640790b09743fd0c3aabd615bcc16b90858a6bcb63e200f57dc673396c522ea234594419b -KO = 327cf3d5af30b2ea74534ee3b466d1f9557203f0bfe705ad5fe2ad7b210000761d8e40084346c1517c3843e4387c048500e9bccc9db39c79feaee2cca708747fcc61f0d95301 - -COUNT=25 -L = 560 -KI = f6cebd95cdbc9f9ac115420d49bc8ed9b91f079f877cf0278696b4da -IVlen = 224 -IV = 5214916695c2c2f08e458d2ac9e80a0d0ac4e73790eaff2ede17919b -FixedInputDataByteLen = 51 -FixedInputData = 9a828703230685ff782398fd30e45daa96598f5de9ce6d81f3cfc7e7c0276f8aa03cfb45e29fb567eb263d770425f42ed85cfe -KO = cc32e76e62c68cd1fd0a83d91f0aef170c2e6fb94c28bb6713c03cba5bcd610ff22ff07676590d1087bc31814ce0abb40b3213238d7e43393bf681f0d7913bfebb8ea5727e44 - -COUNT=26 -L = 560 -KI = f509d5767b61386dc845023efb2ba0b70ecc62022baed2292cbb0dbf -IVlen = 224 -IV = 5d805b43096aa4286d6684aa8f298a548467e6695f133c8a79329c3b -FixedInputDataByteLen = 51 -FixedInputData = 41bd869d65ab31075ae04caf7beef4799d03f5f081af88b6db437112bcfd5fa8139d4dbcaa5df34f229948bcc10f29ea15e64c -KO = a4a402dd3f334d9fe5b47342f755a38e1bf9cc50de183ab2a1875371a4376dc7622ed5ab9674396fad2ded455cc9c48f891e84f10290a5762a8bac57e6272a36479f5bd17df4 - -COUNT=27 -L = 560 -KI = 5d77346bad48bdf2668850d0f0bb569b80b15339ee37527350eb82b2 -IVlen = 224 -IV = 956cf92b86eeede58e3e8430343e3e2c6a33a7b8b225b3fcf234f71a -FixedInputDataByteLen = 51 -FixedInputData = 636a33484f82889503f2ef0f88a393b5695dcad2e08308652d0f541f240ed82fb8ff751b018e5de860d27cd8cf1894c50d817e -KO = 9348aa3f3ca87905c0707e7dd1f241f321cb80536a394bfc1566928cf677d17c0b62f959859c6efb015f2a70f30ec2c7798859bc5a595d470f3dbb9f5fabe59fffd0fe518588 - -COUNT=28 -L = 560 -KI = 7cde09de4f25841d4e4f624b505ba0185811992d54c8dbd159c6e792 -IVlen = 224 -IV = 75c6eb935c39e07d6febe127786faf163740c09268d6f1cdc8d5abf1 -FixedInputDataByteLen = 51 -FixedInputData = 4c367cfdf912c7571a7bf07278af232227520fc67cd848f65f2a6c1592d7010365adcad00c119a1e7c9da61aa3be3a5cdb6cf0 -KO = da1272d37d2c1134fa6276067b470696d5ff53bc853fbca1f714f6f78e27731d3120ed62f14e2492428eee1dfb941f0aa9ca77eee1f74fcf2d32f5a7f8bfb508b695187b2da8 - -COUNT=29 -L = 560 -KI = 9bfc8b23bca7d63bcdae845e3973e5c78a4324477f5cbb5116b065b5 -IVlen = 224 -IV = f5f3348ac7863b15df8c38528fc94deb6947a9c4100bd32c1f73eb10 -FixedInputDataByteLen = 51 -FixedInputData = 409e720bc398e5628ab5968b97edc774693939a7781986569d8751aadba47fc1d973026dbcd75e5eb943eae834388867fe08f1 -KO = 09125c1be093e5aca8b2c3d7e3d2e08233da3f136f5bee0e2c1a20b47daf49067e0f5c26bdd09bb9c0ff5bd9fa4bc9483aeddb8034e1aea240129e2ee0770f96006d5021c339 - -COUNT=30 -L = 2400 -KI = 178a112346397ab2cab6d658bd4e663ed8c3ebeb3bbe011a950b3988 -IVlen = 224 -IV = b6395cdbc09b16868e8cc11acfad653cb0d6cbcaa63764d3604ae2fd -FixedInputDataByteLen = 51 -FixedInputData = 573a2c789b637793da4598309438aadb171fdcc07d924d7e8b8f6901bc7add33e73dfe40b2e380fa67cdd5659d6a1b47406c36 -KO = 6005991d22405944a97a49133851c6d3b27e46a33aa000b9b40d5e90b04abbf166e99c844daaf5493dfc474b1ba22d379cee1e393fadb80065543fd42981ff607e8ac5400a3ed3955bee05354719cea86a35a104b9e2ed9996be80f49fec82fb20e0d51996ff304908932c561e93ad39f776a7ab96c72ad5d59b45249e84839045ed9144e7f580c16543c6e1ba55d12e88c199859813fa661affb23b3c147a39d2b5cb1ac60c19deb3bef0ccbae99e309ff4cc613798cb155e513986a87de2afeffda4759dd54342e6ccb34afb71f22f6b6f4044b74accda99849c0f66144e8a973cdcf9f8ee066e7fa7cb51412d960d388526beccd18ef638f58fc13f3840b3951fa5305c5e5690a478bbcd46182244d9c81066c2642bf131aa9610c1d663baa27012da8187a6ea38595549 - -COUNT=31 -L = 2400 -KI = 7dc74dab334fd3286570b35edee8d4a674b5dcd5e38672e5bffff8f7 -IVlen = 224 -IV = a77e40ba21be1e874babb8a95ef4f3389acfbc0a39abcd96f7a54af4 -FixedInputDataByteLen = 51 -FixedInputData = 2771ad5c1a4c648f3ff750c968f04997554a0d491148154b6d2609d34ccff86a1ac25b009c7605879502fa9c47f46431b39eb8 -KO = ace073bb8507b685a173ce0599f653565844107c7164efcc95469177192979da1862899708be15654869668d5a5d00dc4cf3190816e628a54f428cc33ce7dc6701baf47eaacbc86ab210dd96d9edbbb9e666d6026fbe426a998951547a959ea62c9a63847ec22a58d1cbcf653b0e60133d554ae8cd7b2fa3dd8a6c61118c622bc32733623689f850a61920b123cbf2d9ba5084e40bc2031887dee047e5df8fcb17f0bcd5993b53fd76bf39d3b97e9cfe44b5cee6c5e5026edf7fb46c3b1e4a15a557122b3f6882773c0dbec8f63aeab223ffa6a6a8528382d562b9c1c63ae0fed91c20165ae83ce7d8e9b05318b637772cf172725e76d43d6088d970f988024f90f474cfb88aedf0dc0da0d28be7559ee6ec58710c9e0c8d71f09214326fd5ac3ba447c225771b2819ec79a1 - -COUNT=32 -L = 2400 -KI = 9c6486062e58e46ee09f1ae7a268b772681141b49374fccfbf4555d1 -IVlen = 224 -IV = d9432b4c1541abf08c0dce004cb6fdae4647446679c75640245a0bae -FixedInputDataByteLen = 51 -FixedInputData = dec67db5f41f43066889acc3ab60f45635a72cc4707e1f4ec989c3cc074dcd569478699d94e18b8115c6ea364549da17a4b888 -KO = a5d298a91ac0860c2c1985db727768c1201a7502dd3ef841787158730aded4987431b47ddf499dfb580d384cf977d05fdf3f6304a47c0e9b9f50a28f9965386cbb0e47ed3f85acaca7439b8526f1dd4b22444fbbee671900050ecc214f23ca3acfd8d3ff3a889ea7d3210f4828c6baac5be62f10f173efa902beca5d272116f4abbdb31f5cef94886e655ba60348d6bda93d1ee88964e3bbe9a0bcc9454322d6f134b92825800ed64a860c311b41d40851909ea7381a0d26c8c1a054f16d8e52f724a39252fef80697aced403f4621dade79cc9cac05d9340b4f52f30c04ab205ad6c92f9516c028f778ff9147e4f1344d474295415f556c7bbec59f4826802c0baca0e8d2b627c15aba3efb8de2c5f4bc8fe3c94dd6a03263ae1b7db81e4b69151b1831649a430acad6355c - -COUNT=33 -L = 2400 -KI = 410f72528f246bc2435ca34cea08cfffe3fc51b9b0897ec364c1c270 -IVlen = 224 -IV = 233e899182f4a0cc12d194f0fababa4e741b6a94e2d863f6956294a4 -FixedInputDataByteLen = 51 -FixedInputData = b1d69d58546970fada0a320ec4b0b0b4f8d0d7abc80bba38d53eaac2361a66db58be437e682c826526dde08d594e423c145a73 -KO = 9b65783cc225ecbe9eb7031e7c8ad68c8f14de65516e0c32663c386003a1385a1599473e359e3b2ec45c9fabb89aef24ab3df9262e62a4c1cb65827d86248c87a15059609e562c180422fa3c93a03f4f482d4cb4f9252ffa95198f472d7f81918c42fe5f73f949066cde2e9d5697e84d208830f8493373135652f8e5e770e1c8a094e81c4a1dcb9eb2752d4432dff29876092b6e6582cbffda59876d8498117c62a8de7517d5a92bdc116d847986bf10b5500cef7aadc2277d9ebe19200af4148181fc51985e55036592a14fd1c761d6d0e2482e5bb28484e7478d08207131d1ad9af429efe365e0bd6f244526a5dd9706c2cd642f428f12c7e33864c22400cedeafaae140c32528320401ca0dfda3657c50ad2a231328ac8cba7af005e3572fa378c328dbd669dc1faadd5d - -COUNT=34 -L = 2400 -KI = 30000b9f0a7a7fadd7426ac97818734b16966cade97e459138095581 -IVlen = 224 -IV = d983f9076ff79de50ce4fe699ffabe1abb5a290f0f210a4e8a53acb4 -FixedInputDataByteLen = 51 -FixedInputData = 83b41ba3aa9fc44641cabddf67e9a5aaff6f4af80ed0fd5fc6476e927f43c57c4b3c32656ea4831155c7d812f5e575a32bd21c -KO = 7e9ff8fc72b4be04692779e6167fc14565b986b00a13f4bfa394c4821d03cb0717270cd36fd8a882ba3a7348e64d137c36adab10607f2f5fcd7daa03b4fc65f0e65d23829c0c86135d581d38aa160837c1e0e13f3635090a7c4c9c2f3aa0ead73ae2750210fbd32a95d95713c59649888fba4c51ff8c170fb14f3a2ba1ab46d5fba27c4be350723b0d54e43e1214f61c6502176a7a21638ad2fc04d557c0f13091d944127e60508b49718bf1dc5710f6c01143ccf465679b64176af35779832b83226505afbab9264dbfcb7c9522f154635a731ad9e6d660173066f0b9b3f3f6a7c44f079446c42a7c1de81d27f33c3ac3531f2c91296481687dd43b0d9d167bb8c6515f9405f4c0475e706da25a1e379be37b2c666031804470c439c65003d5cc4541ae9c880d5156148621 - -COUNT=35 -L = 2400 -KI = 9e1a3966426adf7af0f17ed5f435f535f83eedcc7265b652327acac9 -IVlen = 224 -IV = 563bcbed13814822cb9a42c1efa5adb8ecb9529c166fa621268f0135 -FixedInputDataByteLen = 51 -FixedInputData = 6f2e094d5928a75db83aeb497b3c977a990a67daaa96faf1cf3f2c69b88ad543960f861be455e47c83fa2535fda85fc6370826 -KO = c30d986b1fd956008f28cafc85edb23715594ed49893a126720032678792b0df22d35401ada1d0d20d64c19a78938d8bedefa74bcc7264c8237d5378084731c205d9ac3908739d148067aba8ac8d05058671bf8d1c00772cdcf347004c8bd47cf0830db6e0911f387ae46559c838a7a334c260a1d4c73fb1c3065e7d859d7af12931cc2fc04ba670a18bf585a924bc8af55f8b9b07a358365db99bd12fb01f6286a91bbf5ac9c94d3b886c8baeb17cf0ef2b38602a655f5c5bfe0e98ffef6c5a89204a8436dd0def16fec775b6dcbe776ed9b8e012aac50cf5da812294b03fffd4faf38638de3405c9b8602e79f00ee3b6565971aa0f6d6319eb668fc9a05e7888706a0874d539f346d62b9944480fb2c2dba00f8388474f0ce23cc0549d18d106a767d54eecc9d0fe334e3c - -COUNT=36 -L = 2400 -KI = 3b2de4db508b1e4f072a68a89b77e45699f16a3d1abe72b2dbac7be8 -IVlen = 224 -IV = 652e05b5ab0372f284558d8686ea25644216bc1306bd1fd2ae997689 -FixedInputDataByteLen = 51 -FixedInputData = 3bb55be1da625bcfeffad2ec77de225c1cb5cd12cc59522ec2f4a634dc27584e1ed6d5d144083cea19b3d0f8c8dbfe6ea116e7 -KO = ec2dc719133de5313ef11a6a6ef30a5c37d7587132884c5645152fb04f9ad0ea8ff36f93f14882e11871258738f2a0f02d9b7b80a678cdeb24739ef16209d918e33d60362d259148142a45b0dedee1ea810bab94cc908b14523eab68cdb92406440d6ac8d1c00466e8866286aa51ee1a7be594d4f14c41d2fe36a8f330668a16eb06143d374b620b62778f3f6dd612f8a8024dfcc3a8ead15481785a475280ce1de305f74ce82f2f977751cb58ba1f4f88d1c3e3eee803c28883b1f0c773866becc462c758d3d6400bf148c96ef2cf46638de651f7c0073e2696b4f84485536eafd63667d3c84e887e463ce452a722e290cf2559eceeb10f251597532d0119f22a0c239fc205879037069c34d8fa54487028d6646bf81c47632095e5141908f5dad57dbc9db2f32327620880 - -COUNT=37 -L = 2400 -KI = 9559df95d8e7124b2b238e2d49ddc228ac66b025fd87340be7b65d52 -IVlen = 224 -IV = 3a32dbcaf072fbe50005ecd65963954ffd24c40845f9bafab84898b8 -FixedInputDataByteLen = 51 -FixedInputData = 10daf444b1c4656896d8ceb8b7b70540ac9c8651b2be9cf8352a66c47f6a30d862243890830c52a2ada983d515f384028595c3 -KO = 89bef334748a48cca72250ec510284dcd715cda609fb5af3756044f902ee777f8ca2d4461f7a3b60f694f54f8f627047d8d018380dcfbe38532a6651bfc8e92740915bdbb78e5c5a56b26eab2c66b63fc2967a21e5bb577f29572651da5880eeb20479788362cbd85aaacfd5cd260906778039e7d3ca7bca73ba005669096539d7dfa7fcb8900ce46e651fa416a437a2d50849ca76b7a98ffe774e9fba28165dbe5614acd8af0252be86954c54d932a6ce9b34f128769d508e6b6e8c7578b4936dadf00999182bcf619b84554d1107ea488a32d759a188a348f2f250f9642bd410eefd8010f77b7a80336c18a1011f20cc82c8d95a82008692a82cf7ecada234687fe0dd9f86ccb337c8869e2c7caa8d4b33f233db3f322e6f542583ddefd62ec8fe5fd090668021b5d8aa55 - -COUNT=38 -L = 2400 -KI = 8f67179da5ad159c283afbb6799644f22b9e8fd00b5882a0817d2cf0 -IVlen = 224 -IV = 3b38595b9ab6a989a92b9089d40431fc831a6c36f91610a98ad4c9d5 -FixedInputDataByteLen = 51 -FixedInputData = 192cf61ec3fb5a9b16120fc8ccd2017a08e79a45c46e3c46162317bfb35daf7da5f029d6260579a7f0c0048a3d8f4e43ab6a4e -KO = a10eca0946e4ee5513d297e0d7bf584263dff00b5d41a76268ba81f8764d97032da3392eefc259ee6395bf4a4909f662edb6729e0fc5a127fb76775f859202459db7559a2bd7ff2103f0b33540df8f4fc8374b72f6d8b9361cef4a0144972a7fbc67484e924ba57566bbf37c8bdccbc7b361e7c840e48953840c98df5c9e0b235996e38e6a9a0f35dc9f234b65b3b2814d510c54645edc62b2e6e83f375f2e635e75764f349f12199e60ff141e8b46b1687f7a6e9ca8308ed09d7336e9d6240d2fa26de868348b3c79544b351213724c3ef59b4aa816eb7ee7a85904eda637d1e4aec9e39ab243bce48a199159946f02f11ce34104b82f4db4b0107c9bfc3e7a8a4d065ae47faa0c281d60c44bd191e5c68a497092cc3a9340f06324d0e7a2682cf61393775c0a0a844d2db9 - -COUNT=39 -L = 2400 -KI = 898b71a5b7ee7b2cbc338f881887a5073eed7eaa8b476dfa77142a86 -IVlen = 224 -IV = 0292d6d6a87d29cab99623f35d1cbcec74ede79802f95334d25ccc8d -FixedInputDataByteLen = 51 -FixedInputData = 464a00c93d6769bc072b5a78626a065c4747ac595fe0f2cca2abe54f78c846ec309d2b059ddccfdbdabd336aeaf38f64c0fb20 -KO = 9101df83ce6bd93aa8e7aa8ebeb86dfa048534531d66fe33f7574e53e681146fce6ba5c64eba9af10662050674c819abf67b8b9fa445dc5e642a210153ce45da809412411fdba67aae68fb0646eee7e1a19052830fdf704ab5247097fe01d7579858ceaae51aea5fca79b108de95dd4dbfbb5f21376f890350f7135dfd5d89d4e5f226ba8acb0bdf3786bc973a5e7270b5c7c959d34fcc3623e410a42ec65a741abf52013b95c66dde9472a752248b5e8d7ff5a4c1d7a39805672725243e014d64c826ef77f13dae7891bdc500344978f999fee878fe992fa47e9e0941f5e218711ba9d8c1714d2975482fc612b5e23e5c304df890c215ff8bee5678b83f662db1d1d928a7ee32f93b9343734b8e084cacdf1130759173b7de067a98294833f220a5f0c4f53a18dff3a02e41 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 816f260334bc75e246b6e210108023e6f4fe479dbda13628262395dd -IVlen = 224 -IV = 82981451c61d23c8faf83b2c9708361070be802562311bc9eff3a498 -FixedInputDataByteLen = 51 -FixedInputData = 88af12c872d0dd82e2e9ee86a189c6d2b4fc2cc9ec18ae61e3522d1a2a11312d5c60b7706da1cf133078140116494ed439222d -KO = a30999ff8f2939ab057cff479e63f8f3c295e60074575f8f1b5cf87610278142bdd1817ef94d177d1c34748b2d4d516023666ff233f712f72fb554b167d10f96 - -COUNT=1 -L = 512 -KI = bd9bfee953d929d75a8fe8fd92068c980da38e1e66b5c9742a44c17b -IVlen = 224 -IV = ff0761eb2bd10a9c04a8e192f228273f3c4591aca03983e87b08bab0 -FixedInputDataByteLen = 51 -FixedInputData = 0a517aaf37b381a448b791c5a5bf445ff14f32f6f4e04f772408106ee70851261bcad7a1a6d856d899753a02c534f7476f88eb -KO = 1156c1b8cca6428e5c0dd60417905a119c49a38d09e3107689b3a32a6c7d15bd16bef16dda28c236c71944814c8dc74a7488e06e53cfa066a44ee5d91182b83d - -COUNT=2 -L = 512 -KI = 2dd450c6d0c5b4d0483043d56a13ad256f722e45243db61d7c579e86 -IVlen = 224 -IV = 0154d8b86bcafa8ce0840dc5b664472c17d77b38303c11ba9eb488df -FixedInputDataByteLen = 51 -FixedInputData = 2a4cc25cd37e8f1b02808d963c3d89dfe4d27e706a024c2ed416a57797e415daf4f4c89dafe4438f5bcb97000f1e38e19ae877 -KO = 5effa711b149f948549f7d409a381503d9e49221b2d1a1b8f67baea85d4671baf33f6c5aa939b119cf2a8c7137a1dc5016e8cdbd86e1ffba840ca4946a42f60f - -COUNT=3 -L = 512 -KI = 2a635c89bf39b04ec70e4d30d35ff0613efb0c9a4c6d3ddb8c7306c0 -IVlen = 224 -IV = 535da0bb64595534bb1c09bfcfc07c7905310c430a8b9a6a525e1365 -FixedInputDataByteLen = 51 -FixedInputData = f4694053033d3233ba6d1ff9935cc598b4f815b8816e884490fc0f731b56f38da75a58de7ff1bed3b3b611eb94d25e3bf8bc6b -KO = a83ef3973a59d175a70a036108a81b6eb3a5dbbddaab684ac02cba84ddee5b5868658449bb998634fbfc43f954b459f801d77d606d643fc7d63a0be0b7a8646b - -COUNT=4 -L = 512 -KI = 8012c2556159557f9be7dc94b32b7ec71624adec1f92bb87a5af14f2 -IVlen = 224 -IV = 408d52ed9993f505c3c304f97056bd7652ab698f0d8af2c9ee2a1b9c -FixedInputDataByteLen = 51 -FixedInputData = df6dc61dcfeb1d048c540d2e1e4e8641d166bce61ac0f017addedd213484ad73d8b9046e9bf10ed7b50e0fc2c5408c8ffc55f7 -KO = 58b71e1d386b2d8d1ede0f5d60d2780a98c46df722909e221a9da9553a28bf1c43bb6f93e30a20a2d873c3ad06479dba7cf86e78a37b3700f563a8c8a69bb3dc - -COUNT=5 -L = 512 -KI = 978411f0147021aec0c981d836c29ff4de6d0596833bbb3fcd514125 -IVlen = 224 -IV = e5056a61554dd8c238f7503ade710d66245ac492059d4781b6138334 -FixedInputDataByteLen = 51 -FixedInputData = 07ef3a734e3f4b5a990c7475143c1873b4753839d80ae881bb1f2eecab00a54b1477c54c10914eed0ddf7209fdc252f463c9ff -KO = 574ec7e0e4a3029c667cedc8a89156ba88d27b5403f5e0cc1b27a061b88edf7e8b4ee82d6ce39a0948714146bbd3a09eb0b2e5dbb289f771db29c386c78d23de - -COUNT=6 -L = 512 -KI = f5eea45892d33ca77d39c088b072e9bb41c89acdfea1776357c7f177 -IVlen = 224 -IV = 6b9c4bc4e5dff6a89569b41707bfecc0c85af02cf5425d8c9e5c0a50 -FixedInputDataByteLen = 51 -FixedInputData = ceaf12acc034c1cf3812b2c704e2489ee1297c2bcbf0c9c415e6bc4a7e3bac3fc4244c9ad8d53b5e39514b772dffc751fbc718 -KO = db6f932801c833e17d56377f6f4d64e1fa3504ee0e8e148027f53a63f355aafc5c095d93a7207bd38cb19a1a31a22c00cfc2003e908a93be506aff80896d6184 - -COUNT=7 -L = 512 -KI = 7ea55d7b2482d875358c7edc7a202c620193044dfa82e1ff181edff0 -IVlen = 224 -IV = a588fb10ccd8153e2e9686b7e828a414edd02f8fb4ae55171852b929 -FixedInputDataByteLen = 51 -FixedInputData = e70cc2e4cf0258de751f805c0770b7383afcd88420028b88c3fa249612f1edb756c993cb2d2fb0a2244824e614ff65a48f608f -KO = 9a47d910e62f73faee3d6dd140c36e9de2bbd2d2fb717a60e6740dfb440716575617c835da0cf94290994fd94b679ca549493fd0c005ec5acdf8e9457778a83d - -COUNT=8 -L = 512 -KI = dafae7ad6a170be9203c628092b66cdec15b8176d890181b7b5b9479 -IVlen = 224 -IV = 218e903adb5894535b475bde484a9149f726533c4573a5e8af4afda4 -FixedInputDataByteLen = 51 -FixedInputData = f8b9cfdea30235865c9042fd3fc254faaacbbdc181ece303c0ba34a3f3ea0433e0c0f48fa183349fc077f3f61c602e318258a4 -KO = 76a6024050c0e2e5f47714bd8995e8845beb7515f1f5d9c7a362ccf3c773d61243d3afcf5ead3dc5535f07ef3d3b487aba4fd11525de336bb18e483ab50b855f - -COUNT=9 -L = 512 -KI = 1a517195c70a90b88704c99a3850fbe466be5e3dbb2ab1b972659a58 -IVlen = 224 -IV = c0dd513fe7b94434e2af344d8744001a1bf884988cd913f830355865 -FixedInputDataByteLen = 51 -FixedInputData = 466906ff048564c9d81bca1c556ff55e8afb97724bad1a15a34855de48232c14e8664cdeb75ce8f74d4de91c29abc32c7a8aa2 -KO = fa15bccf9f8048e7a76ab32a870c5a1926316954c22a58145255b8771d3df499540b8808251defbb800d86690d92f1ef62fbf971ff6acf677ff1542d604c77e2 - -COUNT=10 -L = 2048 -KI = cddf54a9c2d1904e5cba04a1e9a6a8f42c85110a4b91ca8f9bcfcc05 -IVlen = 224 -IV = 9b9199b3fb7876727ba1613f41de1231f1cf8f3eb037b4e196d1c12c -FixedInputDataByteLen = 51 -FixedInputData = 8f4fe977a8cad5f3782e19cf48df1cb8fc18422344368ae4cae07e7e292910bb5db278e2aa065eabb8d89b68fc154141adcd8c -KO = 20947bc8905c21e06f904d17b2afa7586daaa6ba673d2bac5eb0eec993ae3a65db7bd9b859d4e56ce212700d70cf022fda600647da9dcbc8aaa7d2bf70dbae9b1339dc8e72b64120d12386ea474d8de1c1d1c981dbd93b8a312a43c3b982f72b4a4571ff3f18688521ae7d3b13f41b7976b720e190857330fbc1704ea9820fb411cbada8e1258aba4971dc14f0246960d5df66aed2505ce52a2c65774ea8401c94738d97506120f08bb2a1fc0cd808e68b6aee023ed9e1911a9a1ef44210e35c8775069de3cd3bc745a750f290f12a00dde6e4779f5fce6b8bbb6f46e5ef98a08225ce52b765b15fb6fb5756c6993068fdc21d6d1a24835a000dc0fa19545ae4 - -COUNT=11 -L = 2048 -KI = 3d7cfd05a1427267261fd608f11327cd397d86c66e16392c9d7a5dcb -IVlen = 224 -IV = 923af0ee1948fca990144bfde8686c72f97c981190941a5a10edab9f -FixedInputDataByteLen = 51 -FixedInputData = 9f67b646ad6d5a79697064ead668bd7b43fc765b65d724d924def09fbab6d2b99805c1398c9977d34959a7b2cc593451799fcb -KO = a1d8fc69b2a36a0fbda678e89b0db8c1241e8219ddde695aa62587d960a2267bc356c83a0183df992b24272961ecd3749fea853feb7709ce9df479ec8ec2a605744263e0fd0b778b51b722231402ba38b024c7edda7610ce66765d0d754b090175b51663c9603b83ee418748e1ea84ea054153218b18060e0cdfbdb2606bb65958b8e01c82dde79ee73813cfae7462bd6ce79b72a505248cfd7d94d1bfa9303e5161145fd1afe69cba2a5f22d0e7728a934e229a5f422cf632a61d1b533a064f721bf269975b049ad2ee1725a70d202c4c45832c82d91012a5880d06bb4eed009dc142aa8e9a130e46284b9de75d928c674066fb920173e2f5d04a74a1ce7549 - -COUNT=12 -L = 2048 -KI = 381a336084781ffe56944d2321cb15779459e6d0347948005b80cb63 -IVlen = 224 -IV = 6f4fd54891677c8aeecd491af0f651022b872c86ccfb4afe00fb2508 -FixedInputDataByteLen = 51 -FixedInputData = 9394c5bea84adad2e17c43362a050fd070c54d63cf8dec4c9f15357edd449f60fb13aed8f46d1448ae7aea7b8aa24eab866a7a -KO = 203173825b06e77b6f0a5a2556bd1e9958612c72c8e1e6d0db86620d61757fd0fd4c44b296c0a9702002c26977afe68acb208c725e16e9e229972b23ea009c5736e1c53ec3541131150d4f800ea726a155acc3b268b918dcc1da286fe7d2b6bbb0c76b2152f79d6c559b58274effc2f1e0b37da6cc3a790237975616bf47566dd9f0bb3c948e4d3c21efbf63d608b773f9bdb4fcf4d102bb1ade6d1cb76519f539989a56feb147c677964fd89c1283d7f5e8d60dc166204e2cc1a31f50ae738df0f90847d37f2630dbc7461534eba396d8e899f224f2f41c4de654f34fcb69474a2d3284ef9e160bd816ee573fc166b7d6c541432b4e24e2b1ab8db112742957 - -COUNT=13 -L = 2048 -KI = 9f89fd77cb2337c8e315cac7534b83b80cbaaa437e83cb82885027a8 -IVlen = 224 -IV = c5f6345c910ef29afb7d73990d0742e00f77ffa33a2367295ada3248 -FixedInputDataByteLen = 51 -FixedInputData = 373095a4b5c7bb46211ec4f2728f9049fa15a1f9035f5120cff39405907341019ec4d57399c6306278891309d0d9196b50f6d8 -KO = 954b893c203c6922052467131a7907551d85253467a71b2a1574c51280c14a4acaf70b4c5986c0ee8aa902361d12bfda55658e407e1e2ad5fc66546e2344835f06e2102629bf261c9d253917b31e0e06c848cbb3fbee3fd232d95aa983c7232de0aab688828759eaad0e4aa3ffd7ba1465ac7b6343fce0e9b3eb8758efdebc3d29c6823737b8f3aadb78999eb404fd7bcb3b291f2ebe5a6010839e7a31fbae2fbaef2543cf0a7e4f8fa33ab471887dbe1a12409ee2437f902761642b92d2df50bb2ab1ff1e3a5d372dd8329e331a6b34c2f8c1e7af846a4e7daf7b534e4c188b981739d5212500f463c73e76aa51a962739e0b907e928440bdd4f3385e9a8352 - -COUNT=14 -L = 2048 -KI = 1014f709b6e46e93bea9c54be933aef8699c097f2cecabaa41d66048 -IVlen = 224 -IV = 7fed66ab479ae440c8fffdbdcda215808033ea918629df015b1020e8 -FixedInputDataByteLen = 51 -FixedInputData = 4991bc22249299cd3d948ab838e70a0792d19f763dc291ac8add7920458599e2817ac4c6e017e02a81230814a7b07afbe519a5 -KO = 9e9627adc66a66761c78ddceb70f90a5644789eef51edac17eb03ac7934102df25f58d76c83900d61a9589d8e11910dd5cde50ffc314ce08cba7a979b937a635efc226a0073dfabf152b1899188d82a5ad1dc4163150e36f75c344726049be240677e7002a1dd0dc100c954efc960c53c25ef652156fe0e28ab6f4652e852bd754af72a9f72223a55825504ab6da1a011a4c7cec723e124431e6c0ef6834d8a7c4e641a24eb6c95492aff1d1f0e55e6a5ae73f62e9f80ae5a4dbcb12dfd934a39a7b164d90dbff2c58a6d48145ad1bfcf5456e5ba02fe48028cbbc1d94c94502eb8f53bca1f47919d6a0f7f82a634ded169a8b77f629f38f45290285b54300e1 - -COUNT=15 -L = 2048 -KI = d9145c10d53e057edaf07326bc177065d22ad76f3d2684c7d67a5591 -IVlen = 224 -IV = db9a8a59608e0e145646f73529c4d44217ca1804f73d89211b46e1f5 -FixedInputDataByteLen = 51 -FixedInputData = 5c166edc347c89d9ce3cb092990aff14169165aab1a0501ea7fad5c545402e722737543c7e1d6333bc93940c200f342f673271 -KO = 6c800e3097642df7994e5e4ff68a55c5ef634a6ac267063d1c179c8154d04ef0fbb672fe71a0d7021f5ab7263188438421ac27aa5ddaba229552c4dbcfc696b63567397964ca56da2a479a9537a02f318294758669bb662228058f5526b0107e9f0e67f8b0edf780fc1025ec3cc3bf9fe166a29733270c042003a16a542dc3b902ee1c20d8a8159f9fb0d3bd83569973fa79a133c621c90710cdfff2064b5bed1a18c9e5a41e2b604921be2b947b7cb7fb308c10b28411642253732943e6eeb952d24d8bb53f3a91bfd195b0c3f5ed0b9653c70262867f673732f8e2b12ce58f7d5b407d05990f6870eb1a391fc7fc1af45e828367ba3431d5e5049b75c991b4 - -COUNT=16 -L = 2048 -KI = 797f13529862aab85419af67d4a3b0bb2389cb5b353345d6828b9289 -IVlen = 224 -IV = 7eff70c46bf2c049076c465ee4f4632fa3679151a497cbdc75964286 -FixedInputDataByteLen = 51 -FixedInputData = bee83cfe742657efbb2e06cd2071d43f084eab9b4977b62729734423b7303b5c7460858ff146dc90968d2a2ebc67b1e771f569 -KO = b690cec9b6d201b30758084a3d1a80f3ab7f829eaed2e0595ccbda1873e0de5656438ae5ea27cb60d3ff49a90e919158d7cdde906364fe70fb5d5a2825539dc01304aee437f8553549f2c4a71762dce32128ce44756f59b71e16ea39e60d900238f85389a25d85c3f8889154433b21106622d43db9dfcf175b96b214db3d89686dec2694153e59d77a24af2128152c86ee39b8aecf2748c26b27218060a2e031e77eb9e821d13c78353aae54a39a82b6fcaf4048d0db7c2ad53252a3b3f02d26ce232a828f33fcd1aa60f78a86727b508c3e6044b9c20d25b56c9c63bfc80b56dba085e98dab85d6b63155ef89aa9859d86b14e79cf60fb89c268ae4a31a1ff7 - -COUNT=17 -L = 2048 -KI = 57764625ef9cb916019d4ba1503ec2ccc095c7cce11468044d5e7f81 -IVlen = 224 -IV = bcdc98bd4b059f08825e6038617688d09e9100dfc53f9c2ab66d54e7 -FixedInputDataByteLen = 51 -FixedInputData = 4fc81b4edbd5976b76777bd54da3f6207e633fb01db8b0170c42c30f80423615739eb7c07e29ffdc62f1a06696475a7d643a1f -KO = dd580f04e6f889d8fd8fbe40f0d4475bcb8807b5c91af29dcec3e1d3d59c0b19f00dcfc04abbeef3dfed822571fc1d3c80425715f76dfdb21b705e96424e4f45e3eb57fca7a2816fc51ff931e333487c21a73c3461702eaf75da641421475ab6e32867b5d9bb5e42e1a892ebd4100ae7261573e408800fe2ccf1c6a2d8c12dbeadf4de1dc00b11982d36aa4ee64ce7399275c14685e348a8bbc05a6e794c983392963875ad5b651c50844cb035f34fbf36a755fc2e71e3ffd3a88c287ebc75a5e25a38106d9732d156bc07594e5aed7d4b2a7580eee3ffd8771782fa28b7c7ddffd99f69e2e56c3a4a278aafd0ee2b1d4f4e60d52b9f916d36a5efc96775fc3d - -COUNT=18 -L = 2048 -KI = cf79781992a6a7a7f81060b814470aaaf203486aaf8d7c1f2c446d00 -IVlen = 224 -IV = 2c797b01534c4ce1155203b8db8140c04799e6dadefabae7c7f0d336 -FixedInputDataByteLen = 51 -FixedInputData = f0d1046f7ea388a567e7d88bdbdc2d5ba65ebf4c9425a03efe5697792338dc8703ecafab27302f318d5ac6a17d47e03645eec4 -KO = 7e02e395dbf5695654ca80412e740e230a9c120e571ba58af96b1276e5f8b1798b1457cccc82ff7799f3bf2c177d018f46e1927ff7334e91e4c03fc672c6b05d5f82ad68432d0dce6b82851471eb82462c670c667516bb238b6a0348403c353d8c061debef75976cc6b8ec4bdd842726135c4658b5c80ab9897aa7b8953a29b7fb5498af4242a36e7e168146680c54760cdcaaa4f3e25442adb51a326cdebf23f4f1cfc60db150441ee351eee4b7277ad35471b9b8e1a9511ca615b1ac34d8176e4fdb53b839c9f29793dd26465ec629e2d05a3d8053f31e1a87a01465f37121ef6b86f4135f93660784bd57982879575124f6c876e48686835f48931c4e66d5 - -COUNT=19 -L = 2048 -KI = ad90528a9a7bc76df4c7575bb955a836a01c7259ecd146afdaca70e5 -IVlen = 224 -IV = 1699660f304f23b0553ea3fd02756b53c269304498b064d701f4a016 -FixedInputDataByteLen = 51 -FixedInputData = f2745dd3025151a970727a0291379ebb849da5d14fe2f0723d1939cd24f689f0360e683ef37025555d4b775807096ba59d45f7 -KO = a27f4b1a20d86572933a2f3aceddada2b0aa346a9e5bd566614bd9dbf6a156ea8973c0100a123d58e72c9e0f41124576842c3c1e900977672917160b37fd883bfb8729865875d6e2d41a9180262bceafe7e869b1c9a8a8575e1e51987695c89efcc99e88bc9ede41fe650d312336d554a8ab3373eee3a0d0de4a982d4f85ab5220001dae483254d93e1973d487fad374f8da658263ed94495add1e0f5316f631df02e98bcd453e7527d6932a30ab5dfc6c76ee919a3abfc168f1e9234745546e1859d2ff0f8429a3cfc6a86a021f5e3fb6683236f5a0f1ac335110d93185c4cba450b4039d2567034d5463a0f47f167c6c89097782f3cea0789ad9a4171bcdb9 - -COUNT=20 -L = 560 -KI = ec27ceb992dd66d0672583eb79eb4571d20add1368091a4e397a87f3 -IVlen = 224 -IV = df934f082942441bfd20bea82eb528b3347342cc31468667a8aec6de -FixedInputDataByteLen = 51 -FixedInputData = e43d59f2f1fed161fcf07f5a853784bcdb2da71ad245fcaf1743d383bbb6730cb0b6395a70ad7d9cc2516a2fdcd8cb4002471b -KO = 7d358e481c39a34d98f07be26b938df64a1167ca752f57f0a5cae730c3ecda787a77667459eb378dc1d1937a3ede2da40fe8e92f17b0cd056fdd5879f1e442cfc80fac839e97 - -COUNT=21 -L = 560 -KI = 88a554148978831686a1ddb38a5eb5d60efadfb73569ab3fbe92b7aa -IVlen = 224 -IV = ca67e987e8f349d493ab77964906de2249aa8e1636a7ca3612d51a8b -FixedInputDataByteLen = 51 -FixedInputData = 051345ab3b56627ce6d129a15c2925de6aba8e74fe410a6bd71ffce1a70e9a481e222164b990242d7bf3ee4153f0d885081f3b -KO = 31ed7d69b2f9465d75ee798495190c1c730dafa4cb08c5b32f092b690819cf4e16d737821ff558e15ea64df23ed46049319815010e6ff4439e1db59a1cc2b9c6b7458c22573b - -COUNT=22 -L = 560 -KI = b584ab96d95542f525b0b9820b9118c9716f3b44ee001ec93af71c8e -IVlen = 224 -IV = 492657fef8077e2dcd5920aaca5763a6281c128e4a9f7c5d30170a89 -FixedInputDataByteLen = 51 -FixedInputData = 0656f0d03205dfe505a6f0b1876abdeff50ccb3972032a40a09c8f52865b2a1f604c4f2dbc2965c32eed77b46ff8a604d18088 -KO = 0676b668ab2c158feeaafa52e87ecac78478a36c172c00a732141f4b0372f44b43786b6f18ddb8533f46090a54483b5aef62f6888cb63156a9734e612c37502e204a516e354c - -COUNT=23 -L = 560 -KI = c809ab83a60eb05abfabbf1af7e8135466449e0c8f82c7526da18b41 -IVlen = 224 -IV = e5ef04b999dc4170443b85939d6188df1535809c40d55e14985f0b22 -FixedInputDataByteLen = 51 -FixedInputData = 0e86ab1a027449cd12f3fba46ec3af9c032a477a9c5210d65cd27bb6669dd8bb60b551ebc7fe53978e840117c6bb8656fa4bf2 -KO = cdc023626ccc95d1bab38de53d8fc676597c401bb53d88040e99f8732668b422bbecbae1293f2518e9bd802934bfd362d1dcbd4ad1bb307c0822d331365ca1b0bc04562f47fa - -COUNT=24 -L = 560 -KI = 39cb97a973310eabcb847b2d2b45d599c5dd8b30758543c3badc5e40 -IVlen = 224 -IV = 0f5f3cd65005fba739b8b0000701c79c3d5ed0c71e62100c5d4d5325 -FixedInputDataByteLen = 51 -FixedInputData = 431e8e9f7f34a1f26ed937b636328a8fe41471089ed2d569aef99811d877d4609529cfb402a8c06da2db457306059de1824b34 -KO = 43e6d9b15b8a2b5bde422a3c9a5c351cd4cd7bb21fb0ef0d7b35a60b34507987ce808cbccd25c3b45596a54a4dc0670de440b15b0a4b861b1b4adc9e7be6e8881319bf4209d0 - -COUNT=25 -L = 560 -KI = 1fe6bbcaa1dda88bbe3fed0f3aa6d3e6a43468db09231a8fed7a083b -IVlen = 224 -IV = 6be701a622bbe4f86744b61ed83122b670e88fd79604c5b926155477 -FixedInputDataByteLen = 51 -FixedInputData = 87fa0d7ca2e611bcec858f13f4c962ed0bde439c174aa18ffc86f5f70e91aaa5928014e329d6d2530cb4c8f951edb16001f6e6 -KO = 62e75a111d1aa68a5449238516cd839e1324e75cbadfa20c80d2e1170d53f4bfe6582c1be12b15570ad73dceef361506a86d48a9280b1de66301d656d53adef28eebf7f5a040 - -COUNT=26 -L = 560 -KI = 23dd8bb2b8914c35a13515e06b36d437f71ac6c360e0e3af6c105575 -IVlen = 224 -IV = bd199565f9adc27f04a55c4bbe165afb5e028df83121350ad07c139e -FixedInputDataByteLen = 51 -FixedInputData = 753259b7706f0f04f4722e33f94710cdf20c78614f1629c55d1c81ef9088f0227f5cc8d3c0def33c0ca5f24f2443fa3d211946 -KO = 39d0c6cb6d01b3dffbe47a6950e58660a009d33a7de22774222db288fd0ab9e55bdd2a9fc66d1ed2371eef949094c44ae09a0a7a2d1a2a53cf3e5b924f89a4b45ce7ce570b29 - -COUNT=27 -L = 560 -KI = 1f1547c35c6441ca4720e8ff0dce2e9adc6ccad0634c4a5a7cdc2b7d -IVlen = 224 -IV = c0d9d9a96e86bf20ec93534e3ee839bcb3ac3eb0466c4c00834c15a7 -FixedInputDataByteLen = 51 -FixedInputData = 5d3c485119aa4aeb9dd81c544323f300cdfc1be347ef458542215dfdbcaca1310612d5e16f50f1c404e8f2008001adf877207d -KO = 18a469b51ef033fb48c906fb2ed7c53103612a0ff1720ab25acbaf8f17eda3e4d7ba2c502cd17c5813e12d02b958d8c445845416788819bf3e54199d9207fb321083bb92427f - -COUNT=28 -L = 560 -KI = 617c97148b539231cc270282ce87ce6d5f391b863f6ce379c6aefc98 -IVlen = 224 -IV = d247c49398e64ea1b86797d297bc41a3ff22fba3a90dd017812add9b -FixedInputDataByteLen = 51 -FixedInputData = 29ec32f02e3a248bc88e7b255ffeaa8a85bfe4056f0375859254ef84b1e6d3b24b45524a2bc417f724b5985d4656d692774058 -KO = 2a6d83aaf8fb2565a3ecee6ad7989c03a80904bc2de2840e6bbddf911b5de371a36b32f613bb6b1c4585ca391e4298e758a2e0bbe8dc19d9c943e52d9fce6f9e6cb65a1dfa63 - -COUNT=29 -L = 560 -KI = b388a35cbb27ce3d70a35878501510b643c254fde91fc10b74979ac5 -IVlen = 224 -IV = e00c0398fad5c1d0802a38c796e15d895e3728d003b64befa46e68bb -FixedInputDataByteLen = 51 -FixedInputData = 8c57eaee312652c23d670304efaa505dca2e348966150132fe876a7d988f339b93658788310496b2a8c2fbf6447399feb6c245 -KO = 34598c51a714681fad05f98741c922fa9c0351cc20bc1d6aae827f0b9f0d5eb971afac4bd0f8d581d4da07dbac28700b74782fa656368158754cc854c54ad055fe06f6f904b9 - -COUNT=30 -L = 2400 -KI = 343a0dd2265a41e7a51dd59140438015371c5a25168485dee55005f5 -IVlen = 224 -IV = 017aaf66c85944541bc3302ab4ed89313835035f2c50c7984e651a1a -FixedInputDataByteLen = 51 -FixedInputData = c33960d47f6a7d76da139529f481f3de15f8903894ff407c9b0341550ab1a35f52478ca0b4e884984bcf25a718cb6c6ad2814c -KO = f53a12feb92e80fe8c31406a755a0976c872a4417b2f0bf4c3964465f339fa63614b837e3bf4305ccd48f23d56946ae4b45db3ec8c26a2d3433b17eb8d5ad937e5f4f1b444f46107a41056607a85b023b97d5e185fa38156d75d669ddde1daeb523453208b123ad6b34a5c6a3f28b3d1af94d6fc64b5dcd92f7027c3a22f94d1566c51045b7930cdbfb54bf68e83addae5daf48f182ea3509260420dd7ff2a436aab56b4adb7ef2ecede9e87f2464283f8d23048dcae9d6f5253c59c6cfc7f42bda74ae54987934be8118e01d9fbdfd7a62c91ef9f124106f280493ce3f147467d49ea8549669ef34764ef60a18d114f8371df6932f49e69c71828aec9067d1ed47cc690e20bcb11f3aa547fe64249af9a64ed5348957619af65869b153dfe840d191fe0ecda404f557e48be - -COUNT=31 -L = 2400 -KI = 151562c99d93c93555adc610218b4a4279ab4877f13e2b7249e84fd9 -IVlen = 224 -IV = 2f3c7c8dc42d45057a2c3dc4145e92f6c735c8cbcae8f0efd572bb9e -FixedInputDataByteLen = 51 -FixedInputData = 094cca704c044c8052bc2f9c178ac7e1fcd815229898830bb73456a15fdfdeb53fa5ea7a7b3137258108992717f91ad63e2d86 -KO = 090f190277083c6e3ff49743f48ecc29f2ab507ddcca51dd366fbf1be02002d3d0ee83fb00901781db9d4fe68bbb9c4d02fdb4b605a50e73cb521ca94ce0cd4b0dea780b079d0544b3a1ca8fd92baba45478d0f5f502770fc8d73b66f00134049afa85956a1891afe6882d5f1cc1c74a9223fcc92c20f96257c0b6d5b2a4b8a8ed9a967118270e6045c5d4a33112d88dd6ad0878cb6490cd86adaa1e3308a9a25b920dd6cce3ec4dfde54e158cacf03daa54dc2ad9d20eddbdc6cb0c0b178687dc4546599c2f8e2d7009071522511eaab105b1919ab0234162192aa6a345b59d45320e5edc947969f3219c6bb08a813273a739076baf622caed0599135cf1fb68e597733159e19d32b6a7d67f96997022f6084122c1c75d25ae7b070d916b336d05ca77f33143b50e4090799 - -COUNT=32 -L = 2400 -KI = 0a66478089f8e2296d633362ab54824b8ddc9ff3f2e18db47421d038 -IVlen = 224 -IV = ffa5490428cdb6c6bcae5257b5413485d1e6279851c22bf4ad224dcd -FixedInputDataByteLen = 51 -FixedInputData = 495f41f35a5133ae3bbef6bd2fa4ad1e979b9c68c2345387b3890df77a2419d2bb002d10b190203dbe53f1b0d4cde33a4feb28 -KO = ed08ed82bd9d81b44db685de607a85ef45988dd71aa6f9b93c52a0a259cf24905dfb4644e7b112fc6d0cfe9cfce68486ca377fa26572af57f511a9b125fb5a25ac4a0b1801da777555b912a56c797a969738b43a94ed1ab8e3645ef2046dd75f4733e64248314b94e8e1c723ce464f958b52f0c16aef3c522ba1ad817b7522e478f961a9f9f47915c5eb361f6bfbfdd3c1264e91ff5e0fa3f678769698d8960917312425ef16b1af19a9199fba8ba54ec3c63605f77975fc78d26d0485ae9e46647a4d2e0c0fa18f12c6e40046fd0780fade9cfae3dce4e0855f99786f9fa4cd752264b0b32e777f94ea4e2fd7b87e9be2cf68dcf1be23760d773e8ad666b255f59f0d890a8178db386a5e6613abe0670d271339b50906cbdb2682edb4ed702679d2da71886ae272351dba49 - -COUNT=33 -L = 2400 -KI = 1087901fe999a43df0f2c1528f3580f6e94fe44d8ce13e0a3d2302c0 -IVlen = 224 -IV = b0b48a348ce40fa618cc6903b324c564ab57ed26f54c15442a1e11bb -FixedInputDataByteLen = 51 -FixedInputData = c2d65b18e9049c2598d9388890059f7d033350dad383642efbae8bea53abd4de6e758ade74278f83af2466571dff121cf6fa55 -KO = 8c508a6fe83a3a32ca0f18db664d89bfa993d6a783277c1c0cb7604dbaaf6ed24c6c4bf62d83e3cc9bc22c068f8ca98eb462dc5b3a83e11efb781782a19ab86b46b7434b42be1b26990eb0251de302f0d0bae4c4af8f062149a603af2fae6009c3a8293ce0eb8124e543e8d253bb917f21393bfd03c010527c4a9831d535a9f2fa186b1586a76c094679cc87e37d32fd86797fe9456e9b24876351291cfad2e542884c5ca76a79e62d765df0c0c174434e204fe19571007a67122931228aaef6730d4628cd387f75745008badc0853414bad8cae9f517ba5f251deabcd95f34decfe06965d38c220451c8fce71b336f5f0e55044edfff4819794d76c91cc9587f38207c1169bb2297e5aeaa7c7b67603ec48e24c20d0ae39ca1017d070b76b15f9f7e932c7466806033c4e70 - -COUNT=34 -L = 2400 -KI = 5fee04d796665e2d5f157d8686f51134c0ed1e6d99c313a54561f4a8 -IVlen = 224 -IV = 59e804e0f4018091f7b725963d76003aac292e357ace13c259f5f82d -FixedInputDataByteLen = 51 -FixedInputData = d7fcc06b0fc2328d2ae1a7679c10941c86a7ff5cbf2d263bb4a93c29db6784344e9a5308dcc5d26f297ccd5a853230ef40ce3d -KO = 8a941173904c98aef19158b33027d4d412526c1d9ae319aaaec549487997d7fdcfa68cf9a350ec12481b1296540d693039d51ac275484a327b7f69fdb05b940a8b17691aaabee8efb09b76c48aba3f1565b1573691075306a9fdff932aab345f80a10b95b60b8d28413381fe00760208119448acb854eae28d9d95ef88dc4f47250c483e648029e74e1b63142f17a8f02c0fe8df0c57f66fc11557600972ef932dfb466caec3f52efa9ff872344cc1ac411f6715fc49fa8d2978e9b5c01a961a5daf201ace9991350c7c542429e31d334f921d6bd7203a737a837d79b812f5062d42551504600cd5f1104d93db632b8840dd59f3239acc10e0d468b7868376908016a160b893027b3e134e74a0197cd53f658a49395a132c91c4d4edc421a378ac6546847df9e72e2afe13b3 - -COUNT=35 -L = 2400 -KI = c757b2fe4d19289f41dc6374f1694072bdc896ea23bb162d874ded86 -IVlen = 224 -IV = f7c14ae25ed40244a59a1a1ccbf02059cc5108a060f0e35fa3922dda -FixedInputDataByteLen = 51 -FixedInputData = e99fa128c9f171590343e09f22f09a5fb8a4acad45de0385e9824209b312d9c6d8da337877a321159e913b6082f85874f05107 -KO = 10ac43f34dacc51592d580405049973ae36026f5f9de4838a6046a508ea5ab513a36e7a4f1bff093dfbc3ddb73dd00eba71203dc7f1c8590abb8057a6bbad9c52ceecd60e10b2e41ca0681064ea95c37e873830089b7dd489fe51abf45868e9573f9467dc1b07939586109dea2ba5749fd721c768d74d3ea9d8467f129adc8f0f3c017ee8680f888ae48bff220fb9c005d27002f437ee073004f93aed3c4af2c9e0cfac625914a8497086893b9afd4cff3b13d65c4037c0a23b0097a583c84489c0473816181764a0e51aad3e25049f80c0d9bbe47d3016fa4177c77779d888b86f45d653206da28690996d4f6b1426d8638810bcc6d80288a50a3a51751567f8e086e795861be97998e71cdfd8452bed7dffb0f70b35ce2dd232210be2f816d4d8470fcb84ed388986daacd - -COUNT=36 -L = 2400 -KI = e486359db2cb62ef3c12bdb268ad96c27e2407fb3e9be52db48ccfe9 -IVlen = 224 -IV = 62be1ba00cd63e408c7d8550380f120dea710d96c12c2eb0d46bc914 -FixedInputDataByteLen = 51 -FixedInputData = eed9416ab0199641a2e8810d13587cc92af308c3f8fa6fbc4914ee1aa302d033d005d1c9bded602452ac1907b1868a50e056fc -KO = 05df6ae92bb3d133d715eb3832a6f1a1b9874c8f531df4b4be18a51a1499ee87d188dbc2886deb597f8412be0c081c4f35378ad67adedc7d830c94a600e295044b84411df9e491dc6bfd9e1705a696612bf84559177e8e55e491a7f90017328728ce29cc130c4c3233eeb418984180fb71ffc73c0b223c4b7db845e8d85250acf246a536310483ba26d14a71a028212900061b7d2763c7656b7396649c94b5ee4c8ef591fd3d4616cd53fac8f4ddc12289f05bcc64572fa5e94c64f241c390abb6906bd08d0ef33c1d3479eebb76ddec78c0175ea1908e18743f5f87a85218bd78e3b29b330a310286d13a564dcbed65512cfc66142d045832fee548e0528742060bef1d468c5efbfe6b2f295b7f7c4ae74daa5fe2f467209c15f782ecb58f01a33dd65ed084f6bfa64d126f - -COUNT=37 -L = 2400 -KI = 0740287773c31cb836e85f4d5ef3665516ba649dc245521cab5bd1af -IVlen = 224 -IV = a64a650917bfd2eda10b0b038d8553a3d3620e81d6832666355bd25c -FixedInputDataByteLen = 51 -FixedInputData = 3ad931e2bcc6938c78afeb1740f12e09c09b0b55283764460599fd5c93a9d7b281343bf8c615f75c01fc74e706b584b2d24f4b -KO = 11ca41337e880845ab8c5bdebcf93ccaba64b374cd423f151d1bca413a2a3609694dc9b4849922757171bf22c0db3ae610759a63b8780f28c3f663128b38ed5089f487940a90b6ac6d3f8d6403e9c50c374de12d50e7af0cb7424c0f2705d403d9aa76131be39fa574fb85ba65493a427fc0c9888255c2b1bb34f96c6db60d521a2d529b7a45a2567834f5fe44803a3074aebffa7cec527a1a410495875ae67113f01a5c767c91a474690cb41ee0a6bfe17765c27a29653af88344920612107ddc217b8f3b6c9a8388c377ce3f036873280e3c1f2f6b7d884cc1131398a7708ac21a47224eda34474fe4579d7cbb6fd5ccb261e466280df86b24f4c004fac97ed4060c15056018eb7024c25749b18286fa0039235ebad1ca1aa54b85a5bcba95791fa4ced735c3a49987c2d6 - -COUNT=38 -L = 2400 -KI = d21b08160f57f6451b08d72a28aa6e91b4c56c9d6a7f84e80ac53518 -IVlen = 224 -IV = 8183026fca6e9393fa54457ffa422ef3d81180f0ec8abb38c12167ae -FixedInputDataByteLen = 51 -FixedInputData = 68592864afe37fbd2015c4f3003ea94113a9c5032d5afa10d5c6422b293d1e2e7df0ac8fdc02120530d7ffdf78fe5a5dc3b901 -KO = 2240a9d6260ecca6efaf075e357f84f1585cee387ef457f490a6ade5b6b132883720b9f9164468065bdad6345f969567fd5a7dbb0359ae1124451d2189a2ccb15df850e78b91ec94e0ee78524ff99882c619d6d944e60e9bd14f10c8c042e61333d65278b33334885c16ecb18d4912f3b4a4e35df34ac5ff9089490dec6ff6274e342c8a476eed56fd747bf626584bc419c38335529a83798304475c50cb37b9246df7b2c182ad31a893e3db68c7d720368e7b46a89ed31d47bda0b8648d00957ad320be69b4622f77bb601a304fb997f886659d43661f52338403a6ecae4c044a0b0ae3c03f13777f61c99409942fbfba1878660005c351c78eab72bac248851392ac094fd90dac9027fe69536edd670209fd88e5393db3c5e5e6c14b09a3545fd94164eb5275fa05bb7a9d - -COUNT=39 -L = 2400 -KI = e372a54fce2b742d832e571a8d1489d76cba671d7853c3dbc94fd941 -IVlen = 224 -IV = 7f412e4542615d2a719fbe7af9faa48049be58b287237481ea6823eb -FixedInputDataByteLen = 51 -FixedInputData = d45bd20751298d0cc7a10d60006443f5263cc15b0a489f117a3541b2fcbdb410210bc7bea3ca2f609c53edd06ffcf54a0ef42e -KO = 71ffc2b90d37984daba9f19106014fb7cba5f0724d52f693c6d53133d3a793ecd80030dff2c5ecaf7a601a6a54dfbc5a86000f4cd4b761d5d526ce7f0c80283593922626e5f0a349cc5095a5d59438e8b3c0d07bb028ffe65262e725e101a59612503f937f7b70d4737e95ba3344fec77d48c1e72cc0a881f4610a26c4f2c9f2e4f611e1d2800d9ba0d187964160e7a01f4d4084d130bce4d9f2f1e2a43e288a75fb8f12a22def799c007df5d0c456bc1831b87817b8fec75491828978bb1f78a0d0071ec0f6666ab96b34927e1d0a9f4fb5974c12f8000bf5e36cce0ea4750710a8cdc9224968fa9b0021ed3efc64c26f3e729fff4310ea602fd87b7a7c2f4b6a96fae7607aa2a5bf324963308423ff013c49d73ad8c5e5c7ac2087438ea3ac91ff812c907ab6836e13d80c - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 8a15747cadf720ccbd70c0e264cebf435ef05809a13e3da7907d65c2 -IVlen = 224 -IV = 6858399e6cbe62c4022618c96b52c4a7355dfd2c044209c4d8db6f1b -FixedInputDataByteLen = 51 -FixedInputData = 27bdff89873d0cd334d33e402a9e53bceb6f343049d6e2dc4d980df62d236444973ba212627c014534d3ed072c3c95b071302e -KO = f27ff0e809fa16c400a9973a2d6bc881fdf23c096d809c2e790420df77c3d52a33f503962b1e7ad0ddcce93d45706432ce020f15f538723072131b540692c9d2 - -COUNT=1 -L = 512 -KI = 8c199562fb4c364b14374fc45f066d4e2f1c55f611ceacdc47496bc9 -IVlen = 224 -IV = 22b22b0b6629b9d3cda64768b78188ed91de6774a59d4346a543ad60 -FixedInputDataByteLen = 51 -FixedInputData = 6e474c76cf9df71b138950d94f1ac3b781fb297278916b2661899fbdac136d442ef5c804b19166c03515cd6a1c0a63485585c5 -KO = c039a09ba386eeea911b2df4ce073932585d15b6487720004679b6dbbd25e5800306ae60d38e638fee3d0cd63e7bf925154e8c5fdd7e039949b97f5f44257642 - -COUNT=2 -L = 512 -KI = f38088fcff0e1a14a3ccdf236c9509e4f1a3b7997ba67e65c0244130 -IVlen = 224 -IV = 26fd43ed75134810bbef6b8c01797ceec226d633ea21deb585973268 -FixedInputDataByteLen = 51 -FixedInputData = bca82de92a39e51b33649132f654d82b42efb855a39df3f75e9891a87fe0f1dd80b7ada7ccdbb5fada7ef60e6293f6c2f3a0df -KO = 8c1e130cdc85861ef7437205f681f962236cd798fed73d6cd976822cbce2bd5889347db7c6d85bfcabce00671c61045a8d1ce2eb04b00075c5bd5c9cada71b6a - -COUNT=3 -L = 512 -KI = 5c51928bf9f9931f5a95033da0086b6f3aacf8e5fd6d4ea2feb80987 -IVlen = 224 -IV = 6b777bc520abc29ea326d44ee99905ede19d20760c2fbe043eaf9e85 -FixedInputDataByteLen = 51 -FixedInputData = ff12da4dd7484f765b257e586ab2d8051380784e96420c3c8407ba7ce2dff22ba2d8bcf0cbb11f9c72c8be9369152ad41d6f52 -KO = 7e3ddfcc972510c0e79aadddae059afb975582383692a56f6490902c092ff037c978d77826a1e13790103e239a5ba4a2d66e7f1ac1867b13c67e3ae17c74204a - -COUNT=4 -L = 512 -KI = f96983cef4ad72e2ee0b77ea7048ccab27efb8df95dbab4a0838cc6f -IVlen = 224 -IV = c326df7f592b6e6cd4b1180b464e0d0ffce92494be40408bd7764f5f -FixedInputDataByteLen = 51 -FixedInputData = ee18a1036e7cb542bf4345cf7f5bb5afad0fa6b1ae3024ab256bcfa96dc4dc148c19ba207bcde719dbfc83db5d21f7d32e9462 -KO = 13ace166941bae6ba4554f9294f7d3c8d2252d10c1c8d1ebc23ab85a1d81cbba1258d1135c3acd7a573e4314dab12c9dffcbf064b247794b3494b75d9e99ccc4 - -COUNT=5 -L = 512 -KI = 6bec8b7daac2fb0074c15152b95a7bb205167839c3428e70a342f001 -IVlen = 224 -IV = 137f80f3765f20ed68d6d19dede0acb704addf089ab9108b0a6af688 -FixedInputDataByteLen = 51 -FixedInputData = 48f69d10f7cae7d7aa0928fe369354efdcb4fcaeec69137dbc6269935cac3bc456cb61842b69198e5322e59ebd398452a0d3b5 -KO = ef2e4f51bbff35d26dd21fc20b70ef8d278947e6dd872cb83a7e6caa0d5b12edcf715d32f9c26f30f0e41f0f9fc292a79be358f23da82898cb20f68e6220d2c9 - -COUNT=6 -L = 512 -KI = 2e982e7af44b3b6222e3521653a991a382bf68d997ed960bb7c69aee -IVlen = 224 -IV = 8cef7e692b694979a17f6941c7891a44357430e4ef448c335ebf782f -FixedInputDataByteLen = 51 -FixedInputData = 4161cf9fb85c79453d1f27ee7acdd77f83856bc541e954b5738627ab935c523573420239cce4d9883dde7fb03a070cb9963a24 -KO = 8a6a540963c333114d53ee30e48c3656a1ac8caf89a5c9ffd1baaf116859bfe8fb7f97f08aadd3127e504592b60cb3104d9dd0f453c726dc2473ded6def958bf - -COUNT=7 -L = 512 -KI = a3586c22d1462cb88df6f47763208000ec5a6c2d8883edb9ed94b45c -IVlen = 224 -IV = be829e9b92391a8b2737e4f1db0c02b68293feb79880ddde65c22090 -FixedInputDataByteLen = 51 -FixedInputData = 1fdabecb0335b5dc384ef62ab85086eb27d1b2c95c98a2838ecf526ca8d247c1a82ba79c05c14fdaf6faee6589b4c029d692fa -KO = 0985c548a3f5b4392060a90ce0537f994cbb367b0431af2246d4e03ccba82de9e865606b6d0749695108afa9e8f6120bd14c9991e232eb028a5dc7d176e8bcef - -COUNT=8 -L = 512 -KI = 620afa55a043b11cbd49278efff226cb8731b405a9b2fdb51ae7eb84 -IVlen = 224 -IV = da7abe9bc87b5f55cb0a41900a4b44b466e28a22b054be63c3cc192b -FixedInputDataByteLen = 51 -FixedInputData = 4acc3a22cb77dd77671fe99f2ea92ec8401e437903b863881e6ca6ea754b54e7feb0ab745ef291b7fc3243c29a6fbab20b6691 -KO = 17c24cb4653249414a89ac47fbc507f306fe64e5be5c67c95e4d0b2f29fcd09b7d0ff40ae22eb13a0318f5faa80f50692e4d395d46be07aa82d01ee2c017993d - -COUNT=9 -L = 512 -KI = 327b0979d0326d58701b2cf4188b32fa25da9ebd00b4225e96c4988e -IVlen = 224 -IV = 94ba8aa1f69c9ad6c6387bbbb9d4fac9b5714b343ae9dfff1166a455 -FixedInputDataByteLen = 51 -FixedInputData = 484919c58503dd9c7de7d2937d099b5682357b6aeaef4da923f657c7cddf92e381874ae5135c309eb63b399077d6eeed12e6fc -KO = cc335a50db137b662405d4f6855d1a480b122c218578d1d265ab7570b1639113f33a7fb2ce9465204fa6f9fc6af87e1e8be32194b6712451fd8fd01771678b43 - -COUNT=10 -L = 2048 -KI = 8e1b5fcf6df2ece45ede6538d6d3a0ff48bdf3ff25f4eea295e29649 -IVlen = 224 -IV = 0a240575e9a71d564835a102a6e35ca890fd20c2b79cb206d563849f -FixedInputDataByteLen = 51 -FixedInputData = 5f193e370319651d2d4aabae1bc2f124fc894852c43abbddc8f7db9e90d63ec25c9f8908fe737c9cd276749a0f6e04b7852493 -KO = 5d81db756127af0051b6bb683adab86b68184fab629dd27f654868347d93196243d7d81410e9c8e400c753d744bbaf239f648635fc2408e152942217cf17107f25b504cf07d69d070843c548cca26148848812247e2791e57253ff49a3b5eb0e85f6c4f2e9ea5a72df9d1dcc176a6a309e1802f4960591c65f1000ed0451ebe43eb3c0c032bde5af9e5dabf4487b78b20e33700bda07264980cb125fb008515cd39051c810871038be73d1ea7febed29fe2a63c4bcf1faa5fbc4ebf58396ce80e1a17446b77972b4e50aee60ae1b700df52b3cd18fdb49dedc111d08650f89ccc836def1f6517bd39b5661d3d2ae45aabe2aaf0fec427a2df7a2ca5e0259094b - -COUNT=11 -L = 2048 -KI = a9b0178e108d0c964c0bedbdc234fe433d7845bae277e0db61b957af -IVlen = 224 -IV = 20900737e1321bc9808adb46894c2fb95f9d479b607ec794783e27b4 -FixedInputDataByteLen = 51 -FixedInputData = 32cc9e107b4f9c07541d86f38c339af73ae3bed352d9959853548f48c8688235c95914438d74535788ebc73caf08341c088db2 -KO = cf526b85d15428979274e34bc3ac0e06b00ba3f67d69cd5a9bcb050295bbf297716b0a89f3649c61973bbd0fba8b1a84b942a2edf7659287699c7cbd77e6a5ab41e8ae8f35693e38e519e9db7fc98f483dc65755d34789ca0bc351881e53c26a3015e173ee37383037fcd3d8f35c229d39159b94cb68c1f73b7abbac73578e4765523c0cd232f13b586baca17c350916a7d91fe11c70fe75f57b4eb61c41ca67f208fd87086242a790744f754405ab77c44a1eb2844e22aee3a1087aa34605abc39fae3d7371c329078b5b31c46264afb92d2319372cd6e9c618370646b9493faae6466cec3bd74edd4a9844130265794d192e36715f64a9b65bfae93223c5f6 - -COUNT=12 -L = 2048 -KI = 94f0eb1fba93b0f4b46beb53258d47a27197ba3352684859b532915c -IVlen = 224 -IV = c7019438231a8155918869e75ebf4e6c4ac44d528678cb8470c173fe -FixedInputDataByteLen = 51 -FixedInputData = cb6dcf6896851f2e56ff05159ca8635771a9e584ad4767b930f62bfa7701d41732c813a6a430963a7efbde0b7faea35d0a9be6 -KO = c487e5fc78b6fb7cc1ec79441b35abb56e4da580236c3487f1dd2aa1fcddc304026f3b9233655909107539da86e972c8a2b6d3b542f4b2da9cd88bd4cd5ffb46bb0c2324c8f3711d4986956a035c33ffb700463d559b7d18b36dda23065032e71e6bf6caf97b6a8a7a0b1561784128376538ef0e061822cd4c84dc6cead28fd1df83c96c61e351a867bd07c53b3d57135d8f70a3de5adcca4cce190683ab82f3eee32053415be8427629cf11c9da81a43ff7cb31c83741518754e2b001ecad872dcb0ac8be3f9d4db6d2119b6d6abe58ecb9bf30c4c7bb8d891f59a7bab26ec1f2ab32dd7cb7be43fbe61a29573f8a4f0485a42ae9046eabebf912f8eea26794 - -COUNT=13 -L = 2048 -KI = 7a15cf77e44d36b8c33e7b2840be9cc26e539242b29df2b5fbcaa263 -IVlen = 224 -IV = fba9ac6817ccce4922341c0a6636fb9dfd95e18489de0d5252832ca6 -FixedInputDataByteLen = 51 -FixedInputData = acdc54bceb68917e4249c20174ffea3b8f0248b7189f178f4839275d76ecd3233b13b9b8957611b334d426f8f50636df5c6d28 -KO = cd1bf18fde6dae126925e288d4346ff97db096b95115c6fd688519473fcfe89abfb748878d7baa6294879d9f58d3a1479b534eb049d5efea5ee4185f27fda48b1b8dfadb29b740cf941c6795dea6544678f86159e44768ee4b4f83d2c3f58c6b8611727841d2c12b0479c376452d157c8537c6fa592a55ffd4695aa6e819d5b166a291fadd37f3e409c838fe7b101a256ca391a26dd146efa50f95bbb7bddbf10772f097c6e72924ecabd01eca5474603fba734dafc36d4ef7204f639d27f20fa134a274bdba701dc58c6d7ce57d288ea11bac23ee08e8334afb6eeb5125fe22bd7f5d96f8b2c1936d3e5d15b2e623b2663614a24735ba27f2970646e718e917 - -COUNT=14 -L = 2048 -KI = ab88e0b8e6656f28909eb8d50ae61359d4074fed658c35144a633e1d -IVlen = 224 -IV = 54b447840df904d0f746f095ac50de16b34975612a0e099b20ddb7c0 -FixedInputDataByteLen = 51 -FixedInputData = ef6aeb07ed66a56e9f8c38d45755c985bf9005b68ed41f6dceac5b1d4dc8a4da86da5d91bc79c37cf1d7b6198d1c7d34ed4129 -KO = 30a41e2615fa5880db2794d794f31bf4d3fdd8c73a4e6961c276f82710547b14d67a9aa24cc8210e24905046ec4b96b5d67dab9530b0d545ca764f132b9e1695c700b46dd9086b88675de51a6d9e292fa912567ae9f33a715e9edd676cf3c32e43f270e522aaf7ae0430ef05c01606d3fe82231ff81a95f65e511f1bfc69e791b619b81fd16777ee35b8fa1da1c35df0d5d73082d825e2fa1b0e2748a8770aa7eba978a992a9b8e907908d2cbaf02235bf8b762022e72066e26b1ba09c75fad02bbcec2b1dbfb1fc339690a0f776f7a7a511a22082164c5d1012e9bf975746e2d54a58b12b6c1e8a4530a3bbfa6bd203878413e1e3e103eccfefba4f299c20a1 - -COUNT=15 -L = 2048 -KI = 2b4abf3f9a41d00fd4d1f018e97ee6745d13e2c2c9d16ea3125146a3 -IVlen = 224 -IV = 135ea6f489d453d2ac45fae54ac10edbca97f1be0d5a6d76e780a14d -FixedInputDataByteLen = 51 -FixedInputData = 00837a4b5f1c42fbea8d82703db4e794a06ab2e1fd9a51fd749d595905eb4be60cdbb16e6ae5378c23e597e1f368a7bb53822f -KO = 477f0c10cfdcd5c9bc01d568b03dbe1eb2fa62a325e194714a02c17af6927bb90a5111b56ead39d336b39031f2802977c640e3e9c3deda6b77a6b55fa231475cfe00e92898116e8c0163e8a1a2b562a1a5609b17196a611c909b9f5c262a39937822d4d21791e05e27c9d5621a55a843e485bcf563e43c16b6c806ade707bb57822a020970a7148607b55578f6b4c121e4ff2bd2014d7a6644dce4a50e3f41ad2f48d17606b69dddaf042c6a1f542a136cb6636f917a632df7dbec7f1c3b3800a713a6c1f8a3e7cdd33fd7642f37cac707b0057b4b0ecb3b10ad12bbff4a15aec875f16b630ef790f42b575d1d181971b87810c92824bfcc7520652e01c55732 - -COUNT=16 -L = 2048 -KI = e7fa82ad26c4d7700c64d5d0eef8cfa7f05c04532f7795fb664957a8 -IVlen = 224 -IV = 4c53faa88e6c525caf0a686ad8ddf785f471e1b6c81d5630a2846b44 -FixedInputDataByteLen = 51 -FixedInputData = 657fbe7c8a9a3a40387ae7427c7138df6468b52ed36ae4fcb86e8c7695ee1e6578a5d8290aa0ef4fe97e1c6c12e3f6d5d0d91b -KO = cec3155133f015e92a3444f89aa353602992fc3c35dd0d1e5eb6585dbea1556abdcc6726cff5ffb021a942640cedb22a7eb81bd19a741f20be7aa43d50a84beb30d34dbbed7fe27919e7b8eaafdbc8d7ebca99ca310d1f7f39c5532d7cc9987c465dce7c7ff6a7c519ac757eb8b0478f7b544a29e38dbf283ead1c6a042a490e6f1e3e3f564aed76b496a3c74c2597088524a0caf4c369e5c746627bf8f600d9aba7dee79e854018ae55e79fe9cb567c1e9ba0a49a016544d14173a9fe5c1e0cb0e72ff20a02f34bdcbab31ede27ae40f1958f464d5f66aeb99cd18eb2dc210470143ca17f9661f3f5137f712cd974bbb43b8bfd71c1429e2b503adc31437e8f - -COUNT=17 -L = 2048 -KI = 1bd338af34737e3fa561364e08d508328a66491886db5a3b3e2c483e -IVlen = 224 -IV = 561f8625a5edef2d29f64e74cc9ce3b13c5e5fea8f734c74d718b938 -FixedInputDataByteLen = 51 -FixedInputData = 456aedf54aa7cfd0671936aa201eb6f07af3aef9cb81239e9ecd8c75ff45b97e43fe1f3e417b46f261cf6ab1325aea8694e4e3 -KO = 9d1af6ce87072baf8cf72253385f5f36dafd108818854139c7704fa635fb46146987197209c784a4d2f5015642d3996c4593d7620eedfbaf88da7e48bc4c4246a8f973efce8d88c64241f5d8103cb95b2c7da5fa6180cbbd058a641946d65c63f96c1990bbbe604e70ade7f5f0a17597e735656c69c6d8c67baac97f96b8baa32b11a5ce4800b371601368aa751cfd6ed4139eccb90c54701d53bbd775b602c88a81f46441c80073806b589a3775f0e75eb4cfd90b152ff1a8be110d4918ae0f7f8355940ffea99a588e0beeff0e9338fb3a195a5fbb3ccdd3a97c02c06f3545e8293525f89a7096f2d13146a923e388d958f5220b020dab39d1b0e11f0024d4 - -COUNT=18 -L = 2048 -KI = 724a5367e61f061d92c2828e839b93bcd7f167ce558c18d57cca6ad5 -IVlen = 224 -IV = 0e28204d594b52760a6977f006745cc5d7be241efc31c9e7db9539fd -FixedInputDataByteLen = 51 -FixedInputData = 1debc446dd4b10f96e8a92d276b9074d05f39878488a66e035c6762cbf297f20829a7c894d6b5aa4992fffa291745391f5e150 -KO = 20d7bce081e6c02fa77b20f26eff2aed6c13bd2c6150c45d1533b61064b37788f793a0610c65be51be60fafa51e8e3f4a0acbec136dc6cf95c584edfc2f97d8515c3f1767c59513300d3d57d16332c350138e1a9b39815c85871eb83571c9db2c5d6b3f8854aead5b158f0c110266519a863c9f8d59048e9234ad7a84b19bd26661586c97fbbb7f1b0006aceea738197875ff0780a931ac74079fc949f586aa36073e451202257d5233f5fec708fddb27097b23bd9ffc3eeef24c2ec119d74a89739f0e0808ad1ffacc88c53ee7e2c1cbbeee993e453f9b6b1b6f0f2225db58e7da0ebf10dd6c3c42bb243a9610f6dc7118166c108eeabb1a446a51b4350e139 - -COUNT=19 -L = 2048 -KI = 56f5b7337cf83196b665884fcbae31478454c3712fc9bae3a9dbf45b -IVlen = 224 -IV = 0c0cc720a0e40cf5a39fc4d576788b39fa67eeb9272669c5bb7ca704 -FixedInputDataByteLen = 51 -FixedInputData = 4aa41ffac1508a333b401bf55329718585fcf57666c37edd0dac3da2ced8c7004d899bac6a6e7f4368bf0bd98fc37fc48627a2 -KO = 064d356304722b987065c3bc3e846419f58cfb831e4925307652988faf6c5c89a54c3c1e6909e20fcb646d1d337cae7acc0dd089e30c58f1528b08c312dc3577cd02148736628bf1be887309c5cc72f6ff44db62f15574acb4fd935a164e11786b3dbb512a6b6c1da9713bfa64c9ac6bd452d39e11bdc7383a1fad7137df25ea4e6b7f70e0ecaab3a004bb066ccf487cb11390f676d619eb4e6d99d7d44056d104928ccfad9b518abb91624a0b033b6770db279c3383ac2b7aaebd93dcddcb09887199af7cf0a5b9086071c8150b81c5d69a4b03152029375960cac53269d44f4abae89a060fba128ef72c05943694688ff3790328c9c8c31bf2d4d6e1474a29 - -COUNT=20 -L = 560 -KI = 4f005d5b7909a804841fe3c1011bc3a3e53d9a3f4213df3aa9f39736 -IVlen = 224 -IV = 1c2d8429cb6dacd01528d3dce33c1d2ea683578f894e3ae8283048f7 -FixedInputDataByteLen = 51 -FixedInputData = 7ae68f54d3abfae255fe204c1562b686bc135c168d0bab15fd9e86470d38dbd1b4adb71eb19de68c4eb5b2389f380be775cc4d -KO = e4855fe421bfcf31d4246709430bcf61965fd40ea8c0187157c5704721edf2c01965c13d48024d7c3c6e5767732314310deb6d2af1343fe67196d6ca40bcac49027fda16da6f - -COUNT=21 -L = 560 -KI = c00a53dabd6bba7e71fac7ea7d5fd798fa8d51a8447dff617597ec4f -IVlen = 224 -IV = 184999256253452770ad0979115daf0b91f27d25eb24284ca821a7d4 -FixedInputDataByteLen = 51 -FixedInputData = 2c24d7759901b980af065d1c619d0f2e6a71181011fa16114e67356b431fc4e936d2ec3f6a39c4e79450fb57e53dc341782d11 -KO = b1e9f5d9eed2825a60fb36de95baa0887f6847f62af5f5305fe1e7bb72410871fa17f5b2193794fa973384e8ad77251b6297c417af79c11a83ed8c994c5ce8d860a8ed5e727a - -COUNT=22 -L = 560 -KI = 34e011b50a1063f0496df7a2cc45d43dca7b95c149fd3460a8356995 -IVlen = 224 -IV = a77b1dbdc7bb087ac5a9d92708243d64815052dab8249d955b4c8f5a -FixedInputDataByteLen = 51 -FixedInputData = 95bc077f634b01545b340457558a7bcd134e307451fc228d068709257fa25a1b2c639a06d2bb2ab8624717a2d45426b126402b -KO = 80e9560389f9bed9ce7d82131038a5c8dcff721a9bb1102f3c0857325041ada49de716db1ea5b1df82e99595b5d8713cff6f1b5f72e34d65c3dfa86bdf338da77ac2b744930a - -COUNT=23 -L = 560 -KI = ccea4d5172d088168d4511731e376c6975e55f6e0c6736473f6663a1 -IVlen = 224 -IV = ae37a7f120ca6bd2aaa493c43e1397891020d272298b70b51100c02d -FixedInputDataByteLen = 51 -FixedInputData = d02ea5b66d9da30f749eddfe349e4affbf79d7b0ae98cfa0e994ceaad27cd8a3344155f81aaa2df59ff497e58633769ef002a2 -KO = 761f58102c23f8dea62b8ca46a0e39fc7af136384984b676fde3d1f351d54ed188be98f0b8921bff9ffde86757ebc19c8b8c2b513e8decfc5d0d489340c852b533c08e0113ea - -COUNT=24 -L = 560 -KI = 1b52bc92e605d394de29f2c559e9a60db5c243c61c480709c6f389ce -IVlen = 224 -IV = b0b36bca3f585f01a5e8edd57244136f22a5e495ca5b27178a369e73 -FixedInputDataByteLen = 51 -FixedInputData = 38fef51b34edb249d4551e06bb6062deeb328fc3ce0943ea93648c5e496ef04928057da88e04457c18e98f0c84074fda582a2c -KO = bbc61ce546dc8f2b4bcd8a636e8d79b695b207dfef1c07ee17b86a8d71193b6f19f5d26462e782a568a9158950db9e1f1e62fff473b80207137026395c8dfc99ba09cfeecb26 - -COUNT=25 -L = 560 -KI = 3f772c88f9405e38f6088d47cfcc063d3faac6f1eb4a625922e20cd0 -IVlen = 224 -IV = 07f84575deaaa1c448f76b9573d55ce2c716c2ef10573d9cb367d406 -FixedInputDataByteLen = 51 -FixedInputData = 578b7bc219f42e732688adcc4ae74f52048ed7d1f4caa73053a64e483d044704fff7809f834496176b8429f8e17a77f1b92502 -KO = 901b85437a8194428cae96d270f4390fe228b1bab7d49b8146064117c395d423c2ba1e3b4aa6d1c82f2dfa8b654fc7fad2e82068a3e0dcc9640ffe58a47a9857909a173d1e15 - -COUNT=26 -L = 560 -KI = f0377985b0686f232a9aa30c41f0b41f650c4d0c75c53cf6eb3654d7 -IVlen = 224 -IV = e8abd6d0bef518e7d72e31e4004ef740003ad0aa4093a44af9896b89 -FixedInputDataByteLen = 51 -FixedInputData = a86b874761a5787870fc7ef72b991a2a1ec6f028efae19ec7247711ba25f9686960081e96e944e679981dc059644933d5313ec -KO = a3955bd4ab06fc0ed7184283f308744679df32d6612db7b8ce59c3b035c51fb1e9617182596d1e1f0723c913d3a982cfd8d594e4c3a545fd6ac9ca5f7321c4381b0a70ec0259 - -COUNT=27 -L = 560 -KI = f2db2b817290b075b86ff1669c172b612c02e3d7fc3fe1a71ef1ae3e -IVlen = 224 -IV = 1267a928503f5bac4d191b248fad4e35240ec7532ba270fa09999cc0 -FixedInputDataByteLen = 51 -FixedInputData = acdf0ea880fd78a703d4431056d3d4262cd2308fd3c0fc1aabb0f6473bc343858db571a2b0a7baa943b3d9e4b27c0071cd8518 -KO = 050353d2f37c694eecda972de1aa505a553c4d90f91c06646365fda685c0968f39e847734958bb083076ae58d26616188dccf6d5969af7f44c5cb76577303591833d70d2f17f - -COUNT=28 -L = 560 -KI = 55e61c421a8609986c9bf91238ccb5a71f338a62adcad162c782fd48 -IVlen = 224 -IV = de662ae1ba30c8fd7055d94241ba95e644f949761e59592fdd9f8efe -FixedInputDataByteLen = 51 -FixedInputData = 6180a0a0c2b6f2f6ad176c3c561933f9979b4fbe50edc6a05ad3c8f9b5a67687d4cf01b00d5aac151315f59b900b47009a7458 -KO = 996142b97cd823deced7eae283bffc0e5f767952cba78b90a6da06fcddb6cfbddc3bf7d8644ea1c732552ae89c8ec7418530e0538b122a106adac9c800e8a1f5216aaa5e1167 - -COUNT=29 -L = 560 -KI = 00e1b62d0c62dd1f51b44dceee257f1c1bd6a9081372d29c20ffc30c -IVlen = 224 -IV = 93f91707b216b8dbb73eb5a5bd23b98f16bf513e135e7ba033781d92 -FixedInputDataByteLen = 51 -FixedInputData = 5059ac5cf55ff4890bc90f33959b01171ec6470cdd2f075f31c56bfe266bcca6b046c99edadb006fed753169f6a283fee7249a -KO = 64ea3f60a63a59a0ac0105b0ef76412b93a7caa2828e438134e0944d239ab62d3ae5ee8bebbf0e3a4b3557084c29cb88aef46cf8bb68f7a4c2b5b29d2849faf91b2ec69d90c5 - -COUNT=30 -L = 2400 -KI = 25b032f559b82487197ac70f0e0726ff7bb9f614a2fd4e0db46ba42c -IVlen = 224 -IV = f144351c903fc6a05235925f0e214f59de4afadf0c7ba00b9ea88545 -FixedInputDataByteLen = 51 -FixedInputData = 87bb290e25def9d97ec7c4ce6ea62ff3fdc24fc657be811c15c3f38e858fde9ff65506d32963d2086c4e8db3ccf6c572fc092b -KO = 14914c31fd65b9de25f8d4fd77b9f988dc66da62f990708fa33e9e5e53c05e575aed3b24194a459fa50bd7f43d8b9969012a2751961b3af693dd1823b610212740cebb9bc471b612011514f6f8de98026c3bc592643df7bffb818808ace2938381012f9a5a3ed5a45b47f2bb8128b2727b2b5b5a09f33661fdcbbd6e2bae36ded897a582b2462f77e6f4b0dceb762ef642e404e240be702660ce1cc8df704fc8d26976fd5389ae9df1d7fc268be6ec3ae6f54d86d550b419298dce2c61ceb00910b17c00809535766cd511fc7ef10ea7055e39dc24dd8ebe03cdd7f1002be1286d751c370f92340b64f3b44c7d556b1a1e12eb01908f8a64f134c5f0d4cd29d9469cb274673efc60570a884a530bc7fd5123257811fbe91e258471b06ff1564a99ec1f4e4c23d0a27aa8f18c - -COUNT=31 -L = 2400 -KI = 0b03ff5a0359879b63ff923d1fae3e63c1241a6a5e39b0232ab206b6 -IVlen = 224 -IV = 6790867be844668c90fdcbbf07998fef15e2cf8a807a4a11e1406988 -FixedInputDataByteLen = 51 -FixedInputData = fb62078240311b0beecf6f73c9a20398aa949640151e8d079de0d45f4de60ddd0f65b2237fe3a914ba713d068a8cfb9222ed7d -KO = f01ce74fb6c71142ddc7c7806384e1b841ecd11baac79df397acb34f5fcdddc8b3e88007750b486b58e63bd71fe8025515205e7a8347a61dc143c72f739c7ce2715deee8ce1ce9e7277d0832909e37059fe0edb36cb0b9869f0a41a34de53289dbb9a2589b0985253c7edbb55e613ed5cfb81699591e0a11f540bc1b532b889a7c98265939c11a347ac15d6048a5dc099d305612ee8326a423928f226266e27945e6b33891f5809afc0110c5f3b6afd8fec89df522f98c70eafd9a3d9f16e9b8ad7c1d1c1ec21013688beb2d0b5fc12536dd70aaa79533e7f5f494f95e816aa3c74e4161f212ff9e9ae22588748bb404dc182979c714eb55ced4b1a5e417eb698a743b2398be73f6c8430006869af853f438d05c82842e240a63313e0d95392d6a0c7105fdae10d20f50ebda - -COUNT=32 -L = 2400 -KI = 70b0511347914101578e6356e12385f7c4033fb5b117310a9b0604fd -IVlen = 224 -IV = fdfeb12ce7b7fabda3b72445d6241525bce2ce8dfbee03d6ef680f28 -FixedInputDataByteLen = 51 -FixedInputData = cd1d32a8aa9a31acb8e36afd9f651ece04e11caba7f90ffc6cb21897699b3373dca10902014ad061093c5941629052f8b55684 -KO = 950856263aebb93f341f9a6bdfca735cdcbe90646f49fc317ff72548d6eeeb62d4c63329a05ea513aa10c0a9076061ac2d256905fdfdad0a3c3a6bcce3331e7fcf971b8c32f8e35266955f6bf1decdb233d56cc688ef4dda5c2fca275c5d4029d8ef63a2c0a7cd5f0197dbabc2f37b8b41da9d7c6f46851b1078ae341fa2b0f3f614fc48fd74073089a4f6183c884b70d360be160f40f118c60902304cc4e057b885ea9760f9a7d7e20488899bf3b3656723ff7662bdf408bb7ff8b5e1207f0d63694f6aa3aed1b54f4de8d295c18391ae1436c2f48a90d91f84275ca466dc6e91ee5a149fdd722c1be41ece2db8f2ae8feb7f3a0b053cce641d15ad3856b7593c23799e3044ba16e6de3f157ee1d07d7e8b518e2b134fa185995b19f0353d27bf95097fab86e76d54c56264 - -COUNT=33 -L = 2400 -KI = a5ce98de58446c5290963188f01f4c2f123696bd497f8ac719c5d7a3 -IVlen = 224 -IV = 2ffbad064b65111cec5d7a72090baf1dca522d1ce329fdb7869bf1cc -FixedInputDataByteLen = 51 -FixedInputData = 92b30306386ebc62bfd69a3dbdfa6a752db0b8f3979e6ceef3cc79cf64445852ab147bdedda66a8234aca95c79ae32f8f5a25b -KO = 4e58800c9127ccda0c4608f1266f8b3ec24031fa300db7cf8394f93c4b3417de9e63a955b13fc1ea030b0035fd2f39220a44386edb0100e5d0de1851c882a836c36d5c6d3191ccff0364a1222d6aef6a8943fb51829c8c9f04438d0118dd9df56cd39ba3284df1bbee6f7da9ffa1d7d213a161016468e9dab90c47e23fdb49e63a78f4c341e612a443a5647e120a4b111f37dea85e511716ddd11a08549b91d40c4af7b1dd484943c088866953c5fa4301910b3d485204f55a6bdcd6c3cf989d4a7cd132c0961278399ff3c881c6464b043097d0dcac615b1566e35eb5e795b30f4f2979d0a295f23158a5333b79e97fbfdeb29bba3da56064c6c8f9541a75bb601a303911979698a76336541ae4424f4244ea5bb5bb6f37b2ba4524e49051e3431a6faf3bb7154073da0e63 - -COUNT=34 -L = 2400 -KI = c302bbc0d0a5bf9226739f48807cfed7f961b6601c9fbf84aa0d735e -IVlen = 224 -IV = c5bc7c63a66c0d9dc989147fd0d6b99e20043873fcdbfbafd78a2bd3 -FixedInputDataByteLen = 51 -FixedInputData = e782852834e0101dba8025c513f07c1d3d1b86d190fd469a985a10a4059154b0e077fc214c9775d2428b882591ecd5a386e804 -KO = 0f273b9bea29f5a5e2d90b1b25d77eecd05e6ff1fa5acef430b2fbc1a754d32ffb337850c81d8e0ca31b61c4ff4d245ccdb8a4d069e66da65470fb5ed9c13b20b5a55244e215794cd27d935f3647d9005415cd8cd6c24c3c405af6d1cbe7a4ceb58bd0081af4aaaf36cd259d1b91c1809b1a12722c69496d3f182221781c4767b9272a313abe2b50f8056a39a5b4563a4ff5484c373ca68613f41793779bb4e5afc2ee601b749cd75e8fd24cd09f5d0f3ed09b53a56130b50f85dad7d566c96c211fac0133b7d0dabd8a5bb6f4a78b5c9d3a6a48ac595ad964fcaba55b7f059fb0d0d0558bbf04bc17856e14860ab3899413536d026589da1e9d2ca02d9fd536d0b0420f1153ac6d3e2d4ff1215885d466e6c85010b49df8dbb46053091fc89460aafd7450bf159aabb092b9 - -COUNT=35 -L = 2400 -KI = a119b500c203f866d940b06ae7aa47bf52c2ff22260ee7b1809fb748 -IVlen = 224 -IV = 57e610b9bde527aece9b988b6c24a8fd1dd3676b0c737ba9bf3482bd -FixedInputDataByteLen = 51 -FixedInputData = 3beace61c8a5a1d7f79ff2e82ba8ea60ab90b14b1b635ff1290ee284bad3edfbd9d501eabd0dfcaeb132fc8fe996999bc57738 -KO = 8717daf3f208821cd1c0cee2d2e4d22931afaccb988ae7cf07d90c830135f9fc37afc3b0b6d6df11347fae40fd7e35ec7e1c073e37a9cb6dfeca93d90e3bced95ca79fbaacba22a0fff388c0ba65a54946699ea0c0847cf3293261e91f5aa5fb9f843aa9cf1834cb219edb126aa272cf4bbeb8c6550ce021c653e0488f73a65bb3ad34bda633d8c2951b7234dc186894691998da421857d7f1da7cff159b79cac6303ea9b912022fa2877d2ad2c574c0d80b35a8d121c99079629ee80fdcce87399b33167cccf8910aea3749f31d30bfe414980522ee0d71f81a6eeb4414f4f23435cbeef8e6fd69b365a19bfcdf2054448f25da60ab3124cba924181ac199f122c9f8490484296840614cc421c1550b0d9c713807cd39155cca0ce276abaf4f9b0ef404598fa716792d47e0 - -COUNT=36 -L = 2400 -KI = 363005c5fa314c3e592917e5b9ef145f39af9c140c9639f0a4e736ef -IVlen = 224 -IV = dd14d55980a5e03f0e0f6d9dd7b7867067a046857c75d12d8ffe97aa -FixedInputDataByteLen = 51 -FixedInputData = 6da73bd69aaf4dad2b0c0f56a274fbd8b058e75ce9c84a40bd0532de6cf737f5bff49b38ffbc12bfcaa2d7b6cca3129398fa2a -KO = 25e31c9cf8408bb8e53df9a1308b3063994c27e929b8e3516026c84f742c92f8e96f8faa03e118ca26292bc2830a4d9381242fa9b7f20572c29c7da30170f7c8b7f723939e9716268b1ed4f5816a9bdb12fc7fa529562e56f1f936a3298d36d7c500513006ad14e18fe5d33803482d7d5fd742bb065d4a8f3014ba3522fd2e8a59a2358d20ccc97c266ce26af41e283c93e0ebc3c0ac95ffef83765b41dbb08fd597ee31750a6f39da6677d0b50976c5a5cd06b60987c7db71ca22fa4ea22beb6c31fc8ad2e702420192690afc82ac4968e37c18de62f6e677c0ecea24fa4e7740f4dde496a625c09445a7f88779f31ecf65cb8f22a374378e08404fcb97b3a8bbaa005fbea4768d6b17971f6ca2dd4d7e68cc93ae0e32ad9132c75fdebd6150db3a47e6202ac4ff9911a99e - -COUNT=37 -L = 2400 -KI = 5124a7a853ecc21a118a595da8dfe8959a68990a34ecf4e6614fc1e3 -IVlen = 224 -IV = a76d90acf6f8bfd6c4f3948c482e2f02123cf9485852210a13bdcb37 -FixedInputDataByteLen = 51 -FixedInputData = 4ee5e697ee955e5b942f0a544ad0178be4ff88156e424534cd8b84082888eb47c27c209d3dd2f8bb8ae3eef495a8f59aea8e22 -KO = 3ec983c183d34d2e48f8fd8dc67fbee2ed0542cee0794b4521b7913ea83faf761432df563c0b8a97e60e9d00ddae53128899ca980197ba6a9254eb2d027a5382926929a7bd3cc20189af91c6ceb7d4f481a8a1fc9efcd776a6ea30fe4cdb6ccdbc44e83492df63cc560f4f226e9efb5632acc1e94bac0d0c1c31cb7eb8029ec88ed023a835427d5184f15cb0c1c98974a070bbde90c695473c24e7e8a6ca40fa10563c4932036f638d3fdabb1bb231b892863dcc4cef8c158d85397205a8bc59668150c7795c5a5555595e3ec6280347d17679c0428d136a97375daa215984931289dd009c2842ee8a6521ffa98977edd9b4cf3f4eef745a6b1e3d743cee7fe40d7720ff4944c5b66356cdf9d89e83fbe0a0703510ce4af3c60c2325e9d50c32124018997941a24a24b70aa1 - -COUNT=38 -L = 2400 -KI = 18938e180a1ab41a60c8f28539400aef455684bc03666a77152cd7c2 -IVlen = 224 -IV = 454a970cc563604a99a86586179c67afac59ad0f5ae143e0996301cf -FixedInputDataByteLen = 51 -FixedInputData = 4bd822aaa11fc2e989a4d68b9ad143c730859b5bb3ac21802a37841b43c8859bd2702b6d6cec397bdff92e6fd10e6c59145f8f -KO = ac12c76cb4640db78de83ca191047bbd625e7c6651992b7b8a3e2763f555cc393db773b8265a59ce83bcc9565679f1e5569760666a663238efdf2cb2ad75b7e511783774ade554e904ae7afc167e0e0398bf5628d081c2de328bf5be26a1696a54d271a3ca1c32a4fb68ca90323fb35b5111bc3cb677afb7a677b595c06f535fdc35abccec887d6ec30f02ad83c6093541e67eaee8446c00f81a56816a4d292454a6218b6ac11426c1f78467ecc501a5b568e93285907bf90eabc324eacbedc2b372a0d3fffa6f6251e17d692eb21f5946d3da22af32215344b8912cff460538170442af3a3a158a20253ed2eba0cc77cc3c2417597de9c9d297fc6e38e935df8f0b76f0c942fe10852e827048b96d77d257960a601b400c5508988910bbff24a38a2b5cf2c133f876ff71d4 - -COUNT=39 -L = 2400 -KI = 2e95bcebf6b377fd35eea19d381e6c5f58eaeac84cedbbc828213b04 -IVlen = 224 -IV = 25533e26e266ea0d2ec1b1da8b5a65f2564feca5eab939b5e4aa2c14 -FixedInputDataByteLen = 51 -FixedInputData = e61d00f958d6920f9baaecf10ca9a7297686af8475d7182503fb5b66a9af4fc9b5c5ff81052df4d39fbf8e6d751a6171a59a3b -KO = 9eabedb5c7271fb787d118be916ab3367b5d07b02f701fb39d9b54b26c7c6d0038666820d0df1ec50cc0897a52a165863f63fb1348369f820e8bb7f2964bb27c0d01dcd18cad201f3d1265affb8b0a18da91a5c6c48d3480c56307cb008cc224d23c3077033bda9e44d8efcaed9397960e4e88ba45db0ddd182dc18b0903c67aed7ef31e2f262be672e6ec62de563427f803f7df3362d5f74087bbfdab1d7f74b564d7896fd59fb71871d394317c630931fb21577fcc63b58923305ef949102782293f6a4fe7ac0fbfd32a2b67b79b1076d4e2dfb26e0c4aab4fb1243270f92091e0bb4ceeea0ac57ec73750ebae94a5e0bc6c29ca3e845b10bcab8bd8a7e336aee098fe27d437a6b79a0d7caa0cad2376fb9d9307ed17e3c22c9ecce52ce90de51adb242038592ec50e1392 - -[PRF=HMAC_SHA224] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = d81cc9076744c351c12941580152cf18f69e7091611d90a6445415f1 -IVlen = 224 -IV = 12617e5b4d3c189f6f810650fc781c1cb866e930bb84492c50689c17 -FixedInputDataByteLen = 51 -FixedInputData = a1932e70d64c0d0e3d4c6b5c0cd13642c4cdc284c3cb5e701b6c546c4a4fa5c0f982bd915121ea852911d47bd117915b43c6b3 -KO = e41af091ecf1ca6e078f13cd83f77c9152ff080f601d9226c46ab98ea207ff15fcba17a0ba9c89a52c396455b59125ced286c33c2f20cb732c8e13ec8b8e9948 - -COUNT=1 -L = 512 -KI = 593dc819a6eff45c4ab44e8cc6da954d9c9402c8d9c1ce7f0cb82c80 -IVlen = 224 -IV = ae32ef6aa76189d150839027c22440c6ba1453839cb72e49c9a6d392 -FixedInputDataByteLen = 51 -FixedInputData = 7fb4bd1e6aeea8c489914e05fe79a43554d9c145ae867202e7785d53b8a8707ace68e331cd01be1c165b0d0b0ccba1b44d202c -KO = cfdb0488e7643bb4976d6b44fb76b9ffdf5ca694ca0b7a57ef294064cef092065c8fedfe34477232959e910ab508c00aab60ad49016c0269563a137dd3f84c9d - -COUNT=2 -L = 512 -KI = e252b1b047a16a1eeec043469123bc45e310e58672c08aa4b1614f6d -IVlen = 224 -IV = ee13e11a28db33ffddd586018e46a197cb8b3de47098a7a3e22fad84 -FixedInputDataByteLen = 51 -FixedInputData = 953f4eb1ada464ba454de56c4d290b121e9e47ce0a20ea37a513db8ef25e68cc6cb9cb157fdbcffc3a44c82d948f0b0401fe38 -KO = 5380dde78a6541722828e2e23fe83c488f34f06fc944c286ee624a4d15d101b77aebd25aa0dc4c90158d795ce4e94f02524fa07013df74541832b366d9805fef - -COUNT=3 -L = 512 -KI = b62fdf2e86534e5e8e54b932a84dc9d4af9101bc1e6df078a7eaa90f -IVlen = 224 -IV = 44ccce5d63e709b54578f18aafa5a62f30cc94011233ff091f370598 -FixedInputDataByteLen = 51 -FixedInputData = e184f91a3fcba132ff198ee88f053e5327db009fdf62edcb0e70cf447e43fe60eb316eddd26a8c6f6fcb89adee7eaeced327d3 -KO = 9017b9cbb9a98951ba766655ce2a0ee1d9d2e93f96ff52875749fd23309f85a1f5dbbe127bcea85c0e3f022d7b4a77d526d6a0ecc88a793ef44ad1dd9a49de85 - -COUNT=4 -L = 512 -KI = f4ac01d851f4690c430144ddce848a36d32d80a2578c7c482800972e -IVlen = 224 -IV = b632014340b4be50eeac7557d61ea06081acaf2516b66a2a50f824c1 -FixedInputDataByteLen = 51 -FixedInputData = 43d163e273ca9dde3839f715fe6c077112af645ad88dfea8a574b1be9b96f97db28071a9f81309f5bb3bbbe4c334c6821d4bb4 -KO = e1af38032f2c186312da63d9cc3e47e451bbeaddf289224583eac2e967bb2bafd8bde3d4508991a0021279b91ad226ae61f3f162808283f89fece6890dbd79ac - -COUNT=5 -L = 512 -KI = 6c5e5bca21b603d86787419fa6b46e31da64e0dee3ff2d74872dc552 -IVlen = 224 -IV = 463f8324daca194d79511eb27aef2cbe9c644a2d1f1da836b042c105 -FixedInputDataByteLen = 51 -FixedInputData = 7a59023c3a0db48920009575d7375d1140c8f8af6661bfb0443e75d341aac3d419ee3c1a12d645f3226657be03e066884c3a29 -KO = 0993ca6b35e0d9064389f4ab7778ba8ec13138dc673da302ece63826ca43b0bdf1b72781e296dff6c5cfea4367888c78bb531324af23c1b330b361307f958177 - -COUNT=6 -L = 512 -KI = 844995ede8aafc012a735e1fa76af3a901e4d216269709255b797198 -IVlen = 224 -IV = 722b8c12fa5e6a1d2e8890b05271f798129fec4c434f162fede8878e -FixedInputDataByteLen = 51 -FixedInputData = 2bc080e7f4145005c7e5fbaaf671c6ee7d85b6aa886f48180436e924fbe777c1288fae01e6448a4daeb9d124b8fd1d2f35c61e -KO = f419a03aafa86043d9cb1647815ee6cc7b3d4934f9a930d652c4bb95a27b34cd02c9d3a80e1a9cbb772fcaf24a8881b518cbf9bb494716d4cd9bc04c95e04338 - -COUNT=7 -L = 512 -KI = f3baaf432ebb22592ddd0c6fd0ec390dee140cde1cbc52b7b6dc170e -IVlen = 224 -IV = e650c58c8a152427ae414afe3bd22924981ae902532baf5f266562cc -FixedInputDataByteLen = 51 -FixedInputData = 0a2be996b6261284e588a911ef7f76681e2baac9fee02f6a8d1cf3f206434da7e6ff6f5c3ce1f7aa26e74e88661cf806af821c -KO = 1e149a3f6bfdb34c9ed4c2ca974bcb06948a61f3ec5b176a42035fed0c1fd33e570257937cb6eb5e4f008b9a016b6e433cf42511c4790dfdc60942709e4e7612 - -COUNT=8 -L = 512 -KI = fc32f49e9ff9cd00816a4ff05b9b0d6a7897f3a818a743b415624ee7 -IVlen = 224 -IV = f9dd31e96b125298bb77a9215fcfaf280d33a086a20db4ad4b191fc1 -FixedInputDataByteLen = 51 -FixedInputData = d6b627c99a1c06436fbecd8fe7be35d8503b4e1ad7d57ef6a027d071987b33350068fed087415a89da681cece24fce4baf1749 -KO = 1f15843fe1b0bf4086345052c1e379c8d940d7f5b877d141eb892e86aec71fa264c925575c58bb2c487f86c2bb766bb531168ce426db1fefd58f54f3ad407323 - -COUNT=9 -L = 512 -KI = d47dedc1de903f202aef56f1c8fc08e2abf1779900e81f18854e7bbf -IVlen = 224 -IV = 152dcf298cd8edaa07eb26cab872c63cdfe20e9d5305b15baf7774d2 -FixedInputDataByteLen = 51 -FixedInputData = b21dea8bbd0a874ed5f8a3ebfce637984f769d25f2119ef3a70766fac886139fc3d58a7d0019d6f0fd8176baedb0a45f3f72c9 -KO = 580bd328d0d301de8d6336499b1df6df89298017071ab600836fe4804f570ba8a804a431e66fcc687d92689ce19b3642952f31faeb4232b4dd13c0e7105e412a - -COUNT=10 -L = 2048 -KI = a4c4b820ca0b0a164e5b664551670474b270e51976d7000496ed43e0 -IVlen = 224 -IV = 806206f525e7bffea5322ef7ac3b12dbc4e3110cd29f2b281a7130aa -FixedInputDataByteLen = 51 -FixedInputData = b838368899aea105f0e55863d2757733d7adf2305c886f13c184598c0333ef2145fdeab847663b522c0d15c67d53842e52fc19 -KO = 6df089bf34b16f536d2bf976f10a05d52fb8dff3d0a6147a94e433bb459c4d6f71add310995a892263091deffb19c9f76ddfc60ff98a718fe61f04ec78520aeb1e5ecfa518fe5b3dbf5d24f8518e7803b569b90983a4820f49057fb71e164ae910b5c5f8fa2e211a8edca4b480c9d4bc0e6357069b930bb717dfadbdef7c394d8db426b5318b1281a534793f49dbd830faca55d3dff9283d84861eeb862d5e3c6af6577b9ad85b0099c9ea763c3528c52f51c8c00dabc8729ac517a37995b1ef975731c7a333c10e996ff8e158472ff96c8da16869df9649d048bae46605bde8d13e8dbb8e2026fca7ac92c21db60b1672a5c7a365d7e1f33e837e27c67f9bde - -COUNT=11 -L = 2048 -KI = 9ad3028a0e65064e0818d72a85bdb2b38a57433a61b0c59b2bc3bb88 -IVlen = 224 -IV = a20b8bff6138d38b99fd22182d83e49ef19a71a175c72087f1d9afdc -FixedInputDataByteLen = 51 -FixedInputData = 19ef52f3839a9b524989d7c84c05cf3deb7fe9cf4326be8a2803a928ef38c0f39007ab22949510adcfe28cec3cdee89d57e0b6 -KO = 40d645d34d0689a3e85dadec5d2944398d2b571ad784fd70c906a57da4f934b383cf7f2c8b3d84641f919010d5102e29af99393cf3a83f36b13d985c0a132881653268fd773a8779c99698982cf1ef323d1588e6bb7a8bb22949711a5052752a18c664bad21ee9e2533913c12bbb02ebcd4d97ddd8731868008e8c16c1b8aa08e2086c98ef9cb9448a20f56a6beca26d5ff84266137ef549fa4052b25b2b795120f7702d7c16335938407ba2f455594dc39e4d6fe5ffe29a580754daf6b6e2f2085f5e1abb76ffc4dab06697cbf1018d3f9995473189fa668e0f94591e38d584516fe88568f4411202a70a3281afc87dd99d3edbae88566132ae2b19569362d5 - -COUNT=12 -L = 2048 -KI = 82e0ebc7d5dc5819579d8c4fc7290cf5055e9e2de54ad41043f53e9b -IVlen = 224 -IV = 5241ddb840639de48ae3f1571ab4878735e8140f9f360b746b1878f1 -FixedInputDataByteLen = 51 -FixedInputData = 5f0f50ca1fbcf4e7153356d6afa35a66ffb7a358aac1dbb66f6665f7eceb3c1ef0ff91617c2ac8db8a163a95e7bf3afee8f9ac -KO = bb0a7d23cdeb45766d232d975627c37c6002cbb728b4d9ffad7925edc54800b8d82730ff5643dbf101e277560b4ca303b5943fac2de4f3ee20f4583fd951cb6232e58155afe314ef7d57c3028801f91744730f4c0f5725592ebecc37466992c9a7c81fc9aa4e70caf39167ab73db514d2306b7c570643d66c58a7bb402f270a28dc3e7362a65e330c48156abaae229a6cd2282c38ac1e2a712ae1186d42514bb9d684a753da3226d51ad1526a282c3882aa5d82193f51ea8e9a713d29c196e1e34745815c90aeba4da1fb9fee5b9649b1aa28591f357abb135ab02dafdd42f800b5fa6de0d3fa38052a2a16a2926d7ecddf67f9fa2eb581b3c1d13815cce4e24 - -COUNT=13 -L = 2048 -KI = 01cf6f265f7299291a5c490794510a8f11b8b67917376dc0ba676ef4 -IVlen = 224 -IV = cc37d7992c29bbb3a3aabbcfda032021df02bba4b1c056c38c8fb5e6 -FixedInputDataByteLen = 51 -FixedInputData = 714b822c0286a474b6be04f84d4331c661ddfa6db67023ac2a799a1a2f81a4386989cb12891c611e561e0fdfec1023f3b0e790 -KO = dcdc84ef11cd3fb2f3fe740742c4b26446eb16a143faa571a0a5ef256633dfe9e57f865e77e0c96df69d1a35dadfddab41defcac6657add5f967263a312fe1d8394b9fd037c0ddcbdd1a6e984bbcd2840b1647aae8453f26ef047416df885e07afef8abd428da7d1aac9b4210cbee34cf5c66eccf660e632ed09c5ee8f0ce6bbd46420148e18eb37ebbccba8cf626b06364275a006897238ddcac4b8a4fd79a4af7cda2e6ceda8eb7edea70682b487bbd89b98acdd5c046637860bc94627c8191a6ede62c529422659ef3a780e185cb11d5180bae9381e597f4e3840d2490d8133eef3cba141fa2bf11c6e1fc3d0965607657a8e1efb974fe32a5ee0450b5fa3 - -COUNT=14 -L = 2048 -KI = b36d2ce0ca033391a4ed1dcb94fc70982b71d299822f75493e106324 -IVlen = 224 -IV = 264192d4818637f575a2aac3d841b2b93fe614d8ba70b3cb1f4d3ebd -FixedInputDataByteLen = 51 -FixedInputData = 26088c62bcc0635a6d60ffc38de72a08ac81a6f806e8eecc29c4e031a48fab070ff93976cb017737ed78abfe86430fbc49958f -KO = 0782884be10ec0c1e3f93f8ef3efbe0db7ded79ffff6169ad9c4cef0ba4d9a00ad08246933d946737b745b6b2f753e35960dfcb2d41a3b8d66f7fabee7811079a749bea36e9ce9cbc0370dc89f58c13999a022535bdd7775c454bcb41aaafa2378f894a8009d54c321b1db864ad91a6413377278b8e6b788c9ce53c4657b46f79a109f55acb4c39adcf052498c0a40ba46982ad9133565baa8126c2c459c99aff81abd35e6af2bddd33c3680b5090a2614ab6a3c683faf949305aeb18796d7f5f828a7581e4126949ccbb09e91fafacc1553d0084a9c727a459416c6c4d0ffcce3bed75c790f0ae938d6c3ec70db6c71c1b60e39fe0b94bf73365ebad6905092 - -COUNT=15 -L = 2048 -KI = a0900c1135a4c0ee018e359fefb04693c4c4156de6f23d6a457d6d51 -IVlen = 224 -IV = 1b96db9ab3a4196c890597a6e79d072c95f17f9a5f05cfa6833ce15f -FixedInputDataByteLen = 51 -FixedInputData = b35118bc738371a0b753bb094afa3101f0bbc386431e269d69663f6fb87c141a6cb621475d352619420ac5d884c37c7647dc13 -KO = 26f44173735952f6a9cd4b407fa4fea935a9c04f2cc36044858c02f11caa04addba077a0f75f0124acd32962fc094aaf10e2da37dfd342d08b57d75bb26473a15036f4c4a33124e2f1c88d529bb7b4aa006ea4d7281887a8f5c7c92b792914f017e9b22d54f7b7a8b781867704174be304f71d701457afb9fd83886ccab5fd469dd323d60544f2425fe6e31e1fb1dd67fc401f77299085e3c76cfeb25f06ad838df310c4c6565ba7c4c984cc79ff0c15a9268b13a2bf9922d074f463557bef1449679b33d768c86388c580068b26554d2565208d418917aad351eb75f95fc5f894575b68bd09309678844a53c82a70a839396e8f1697ee07ce5837575eff5a7a - -COUNT=16 -L = 2048 -KI = 10ad62a7e96c5023ba1f9c325b7f025c35f9a58e71535c2d94e2d7a1 -IVlen = 224 -IV = fc1241c843babbf21a50d698bfc128a41e91e45572d8fb3bb8b42561 -FixedInputDataByteLen = 51 -FixedInputData = e63f2b58f2e960fc317e114e05ebfcdc6b8ed9c61ea629751649f3e4c7258bdf3ea14ca0b843dbd0f5982c85691cee35ba79bc -KO = d1d818d4459d8d661069c07f668cefae79a02d0eb916e6dabf147fd010b514a01ba5f5be9b5fdbf97014eb4b7c33207541cb20dda1db0dc94df04b427d29fec43c901aa22647d241f70e970f702cc5015962f947d6529f8a5dfabd9a1e5fa0fd50d0ba04ad43b2a7500a505df91f0be469885cf7a288921d82b70746faa9fc01d8ddc8c98ba806b54992702ab0b1ef24e1e63a2f715de036e17549500cf93ca281be4e50400e7ec83e986c36235f71a877c11ebf87224aed5430f6ae1f7eb777f4b90efc07989bb42e1770a08da5ce0afe673d2a1d6e254b6b9cb0bb2ac25a9e4681c08e87c48b6a0cc588eae76995b4e5fccadebd984439e8c26e19cf051a60 - -COUNT=17 -L = 2048 -KI = fc17babc04c82e3b296ffa2d49744bcc2c95ae17f788d4ba07fff51f -IVlen = 224 -IV = 764cb734ff86c38c9b0d7f1222ab7439c3aeb8d159923d487604bc39 -FixedInputDataByteLen = 51 -FixedInputData = e8736625471c9ed15efec614c5ecb6aa7d9c5ea5c380b779ce9c6ad48b0eda0c68e37de7c98d411f05fc32c08afed221dc2523 -KO = cafe83a884c4bc43498388d6f9bfc62d9427970d48be321fb03ee65e713549c5011da68fa0b062b8453f7ee1b75bb1143c345bd2d08514898342c55208a5734519961590f061a9f154afcb4cdb3cdf11eee83740a0edf2dd957183cf05df126377de435b17891d01f79e23bf13d3b19ea64dd95966ef2311cb750ce841304bebbef12842f2c5258853642498494be0d3d27420871b90805876ae5902cd2ba062ba1397801c7683e4acd8c522889e81aa4631b13940d3a491e6ccb3c51f92d59abae105c942bc83fc5639d300591e00eed540a5efed13a11d10d3472580a210accb25c9450cff9fb248d9e662303be05dab9b4603b2610872a0049721ecd13c93 - -COUNT=18 -L = 2048 -KI = 787fe9a729db0cfed0a3644c4e1e0b4c39ff98b0f67728f64699b0bf -IVlen = 224 -IV = e4c9d34240fc88892ce3a365f40d29a24d8009863d95869fa77d012d -FixedInputDataByteLen = 51 -FixedInputData = ac0f0e33ea2be857970a7d67edce66739e403c92eca88d2b77b3206e257844a855339edf42b0e056a3245182e2bebd1956cf7e -KO = 626c016ce19389b860838d5a9577d449638e974bca78936ae5c2ef87c5892427c41f50446826c9f1c998257bdfe63aef28542edc3569dafd88c2f01eb4545070d2d7c2f7037686decda31013a328f6e1bbbe24b8d8ad90637efc21a0937eed9ff85f2aac27154bf8a2bf7254dc0a80416209b582ceb20da8e2f1eeb1a4a36fd9c14b8908f7dce46bdfb4761f5c7c7b9f402b6cfb2c72b47ad91b4e0adfa8c4f15f40e97a5055207d15670d1fbfa5cf20928438560db8f367d18b6e1bfc71045f58b1793478daba8b63b2476a88e9b8f834d0917e97b7b4640ec2dbe5d35216aa9d4523c2aac44972463c26625bd62d3522b87f46aef23684c524ce33cf8a7203 - -COUNT=19 -L = 2048 -KI = d28a79132e836604b7ae7daa8a49ff51c0b6068bc0cd5bb01fc0812a -IVlen = 224 -IV = 21ef9081de8303a4a2cf394da40886d65720833e66dcd04a096c70f6 -FixedInputDataByteLen = 51 -FixedInputData = 901e1a704e8ad574658b183b64c988931cbbf640fb8bff7a1b51cf3332a63d2fc91f6003557ae03cabee9bf985868a092bdad7 -KO = 33c790c0d255c2000efbfc5ef6c837f302b1ff13187b62b98d689dd91e56eee4485a0fefbc1a586024a7567d538fd8b280a36f79e3a0d8ab4235eccf6bf4625227cd4fc75075f921fbb3966d4c619dafae0ec7bbe46251c9d0759def4b5667f0716b6682e33c31dd6b26b915159f7ba2e17a90f0cc54790da1ab2c65752ea7b63934cc8ecf73bfca27499a618270ba89596f5e4cd476c5956f8168f85d9bebe5ff39f9da4fa5f278751a16cbea4094b1d66b7c5a668822844482681dd5c0f0a92b07927644317a501acac0da356201f1b23156142c663ba170058d66364af7137517d81495b34ab72e4ce31afc2fc24ff5a2c666cfbfd813ca0f510f6937cd40 - -COUNT=20 -L = 560 -KI = e711b7a01b163ef627e9db8cf98e582e295da7f172c542378b35f15d -IVlen = 224 -IV = 43ce4b8dbf465c71c0fe1db3f61d33e88227afc0aac96648218bfc5c -FixedInputDataByteLen = 51 -FixedInputData = 4906b9c56935282a43451fe1270cf79cad228f4a0e50c3b74adbd689a9c6db4f5d548b6bf9a722dfe760485a1db864817bb2c1 -KO = 6c29056fa9d9ec49ceccb1a22ec18112db78bc36aa489abc58fcfcaf8fe013d2bc504482c0ae2d68e513b8b4034874fea526cdf95926d2775f19a025762ca57afd3e64a8ac4c - -COUNT=21 -L = 560 -KI = aeccb48be2b45812e6061cc868d4cbc1eb9f201919925b0623485925 -IVlen = 224 -IV = 303d6a0b9bec5bd919b5ece426ee594a0fe3daed5f5a5b64ae020d09 -FixedInputDataByteLen = 51 -FixedInputData = 0a14cb61d2194d48ba644ad06745e4b194e54513b69f40d35124799c497dd6cabf4ac491022435a91e4b2529261558c0a07b64 -KO = 282dac66f141e090eada7693db80328e2ff0203a1bf074615f79d4fa6a8fe50a5034542c7d9f451db1dab9acc20626ce8e1786a3840a0446eb5455efa0209a67647f068b9d44 - -COUNT=22 -L = 560 -KI = d90692ab08fba0f2a079663c309d073fe44f7d6d312e9f3277a58074 -IVlen = 224 -IV = e01ec26a0f16209820d82126c1f06e0a9cf030fc02c09d4caa37bfa7 -FixedInputDataByteLen = 51 -FixedInputData = f6ea13b56e03a7658abc944ca310739eb36ffbf36635f92a89d42550c88d417bade058f095033c5e0e489b61893359d201f79d -KO = f79d0c7143791f7988cc8b7f7aad93ef779a5a3aae4b7089bcfd047dde66d9dc7202d03c516690da19e9a864f070439b5e5c9c8b6151bb071fee251ac522a8448f36ef81aa94 - -COUNT=23 -L = 560 -KI = ddfc529de256bcd67bae306b1929475862a88f4491d2809a2740c501 -IVlen = 224 -IV = 2a20afa39c739831d13a38b73cba09f8e88beabad5aaa34dce5d2044 -FixedInputDataByteLen = 51 -FixedInputData = bb552fe6e3940b483201c8262bc1e705b38cb21db2a2c16dccf5534c05503c6701dc819135f67a87dfd38ccc0b022f42866097 -KO = 5cdb905ab086549edd6ffdd65a0f1d9765ca9a1c86be22c3327d49e0bf716d83b9abe582b0b478aba593fd053998cd5807e7f0f35619895d072f08903baaee670b86f2987aee - -COUNT=24 -L = 560 -KI = 47867574fa10891e163bea74b9ff719442826e1e842910a83f25b5f9 -IVlen = 224 -IV = 8272e435f6e5457babe85d91c4bd1d980e8467c2eb26b34d4abad612 -FixedInputDataByteLen = 51 -FixedInputData = 728bd025c3fc6a816fbf77ccd2db6b7878ef64971ea6c0358d0e37164c9725b17c66b40b4446e1a904f5c710e67efd588b8786 -KO = f496650876a38ee11f26c823a585f9c8620413247893daaa3e9696231887ed35cdfb3ff58d0dfef4c592ed93aa67a6e290f1e514779dbd8dcac0d2dc984837ce044ff1f909e8 - -COUNT=25 -L = 560 -KI = 5608c4502aa592de17106e0f12b62174d8e9f89c5196471d8e082231 -IVlen = 224 -IV = db76c0dfc9f55911c1ae6dcf330618c35e113f5160d054260cd157e3 -FixedInputDataByteLen = 51 -FixedInputData = 8d0e903995694c4c8f3b96fb8ed77c367588ef1f9f9b0ddc721ffb81424129e265922eb4a6944f6ed621c1d90da7ea03ca3309 -KO = 518ffbad2fa2ca220cc13ecfa36f6e3a9f677b36ca0af2da6faf320c42645931d9927dbe9ca293f4bf5baf1d1c19274a792fdde3c52252db732947b29f0904d3e229206eb8c4 - -COUNT=26 -L = 560 -KI = 262364fbca66bfabc31e83fa21a7177ac121f05787647d5ebe373c23 -IVlen = 224 -IV = 345b71232770c59c1898927118525004b3df3c225a1c3c21904e057b -FixedInputDataByteLen = 51 -FixedInputData = 530d9cb555ad3967c3d6a2038166093bc1e38f2d707ec633b48846a7c8a52880384890f9f9f95e17cafe176653386fc885ab50 -KO = 3c49f80097a464db15525c43fa6bc545f37d5c9f464dee45bfec4988037a9c259b86aae2ca2ae42188cd6e09233665aa126f7d677c7d1871f2195e5a1a0ec7ed7fc97129b2cf - -COUNT=27 -L = 560 -KI = e3f42b946af530923c2931d40d8fff9204feb6f51368d7999069e73f -IVlen = 224 -IV = 974dc2c26a8818d9bb96acb652a0a63b2671f211becdc204ad6f972a -FixedInputDataByteLen = 51 -FixedInputData = cf1e676f38c24de04da906e1c56b402fb86dfb51ddfdcb6bb78ef6511b77ed8dd66006443722637c74d1a930a310413514f0f3 -KO = b9bad961ad3c04449d0002623258021fafd0109a7b16890c5fd8246bb29957b8aa3c6fe70e9f94e245da54fd9af37f58eb73c0ed10e9493155b8b2f6933b03ee7cee9f011e56 - -COUNT=28 -L = 560 -KI = c358a2ffbf29af7725cdaf50570236f7d6f7f030b890840dbac879ad -IVlen = 224 -IV = 3113e4ef4d4db779e251a266eebd5a617491d9bd9ce95ce616f7b2fd -FixedInputDataByteLen = 51 -FixedInputData = b697bf35ebef7099c3f844d2cfae88416bf62475fd5a91f9fbe649795b9db2907a2df0ffaa3096706ed71571f35aa5872e36a6 -KO = f90b7dd8d4f8ca62f2ff1e22a8585e69a9b0c68160d75bbc9e9da2d9178f8bc4154b4f2048990201096a3ccc3516d4e1939842f5f760b81e87adc36e92950dbbe8403f019864 - -COUNT=29 -L = 560 -KI = 4f8da8cfa22f1225619591220c9f044637d89ecd413e25005ab6aba2 -IVlen = 224 -IV = 7d4eb8a0132829a97d75007660007e51777eee4938b972e580c2ad82 -FixedInputDataByteLen = 51 -FixedInputData = 2676700a5a859d562962d8cd99389f0ae6e892701280dc6836e5621e86e81dc1ba1d21fcf7a2422bd8152ce8f16dbb420c4a6c -KO = 782599f8eeeb54d033abed993ced503be5b16351ca27c5aaf0bece81c3d471c5c50500b48441409f02687632c81231e9aa3eeca325e1efeb2f485cd4f874015ac3908432ee5e - -COUNT=30 -L = 2400 -KI = e4353431f3584ec36a32723f1ecd5cf251046e81ea70ad3385e48cc8 -IVlen = 224 -IV = f681943fdbf32b4ad9e8e4a203b1c367ce0374b53d9eda12c9a70867 -FixedInputDataByteLen = 51 -FixedInputData = a5bf129683ccbc85d6e476c4cb719216edabbc4e23666f27d73312ca54772b76837db98612d0f32cfc94ab1ea142984cbe19eb -KO = 1b4a57a463baf939c498c96be73a9222b6c179e3a00f52ae07fa078c4cf8c53709c4633c1d5d18c8f28fc572a0f16010323cd6ec2d90a7c92ad8d9dc1b33db7e728f42009e3f6b2a20157af7681ddab633d2226ad8aa9b279d3d6da4d7ef8e876b14f21a2afa7c98dad227db636dd3bf47d310c1c428ce6bb3fc0630a76b0bba252109903f680e61d2ac5874a087dee67719b4d24711c5a9153f6fd1c4ed5ede37612e9b6e3cd8d73c19faaee5683ef20e5e321181c911eace4ff9ef6535bbc909c7c42ecd98ba7389553e91066553be6ad538486997280d8bd2a6f269d95c13f636695fd28b2020b3e64a8f521153ed484ec47373c861970523133986bf6812573582c0f53ae22cf0d1145447cda22814eeae37ee15a3cea124ccbefe27e89f0f97e15956c62588bad9e3f3 - -COUNT=31 -L = 2400 -KI = 68e2cfe97efb023aceccd4872e83e68e22b89eea9624621ad553dd48 -IVlen = 224 -IV = 3957a8faf2f8b8d56a3309173c69579b8183d634fb6c6f04ec8da7e7 -FixedInputDataByteLen = 51 -FixedInputData = 85f1d8572e95d1ceba6264c6b4fd0994e3d863dce3078f0314f1c0b29f553b78a4a72cd0bae2cdedcd0c46094d3b08e1413a83 -KO = fbdaf8d5e28bc76e4846454a81099784f65ef019040476614fbf4993c8ffc593f7e89d1449298f2e804837f7ef258c10bc4c231291d4c9ba655f3e39905f5bf3f658133aeda822ac571a1f114f0554926e8bf44871c425fbcf1aefc37c1174cd2f0b6170d17e4af2fcd31fd0f2904d7814d1c4736569d05b4e3939c5355067964fcb916250cdd725d23b72990196bd793fc1108b4b40d081e632419c17ffd52bf55cf4b8b9ad541ad524bcc0819c2a359c1747a6772e30ce16a805a050c9369269ab5bb742082f6821c270b97db620a5a930c893085915db8624f737d92cc8db96585b978c51aacf3612a8e606295b04b0bef2bb38033a6295067ab1cafd45049556fe25b9bc9a1d3af22f2d0d09a68c92883169b35b60a7d02ecbb754a04e4d8bef54d3f54e4f90840f7aff - -COUNT=32 -L = 2400 -KI = f856c582c7a128d176d67b86f6050f5a2c691059d497af7a432a27e1 -IVlen = 224 -IV = e791d5e9107bff763029418e3f055c8b126fe11d9ef75e41e23a33e9 -FixedInputDataByteLen = 51 -FixedInputData = 28fd74b27d686c0785dfaa546bb6be7628237587e6897e9fdb06ba4b77bac84debcbf608621a33c96b5207dc8655a1c4eb1ac8 -KO = 722dab45b65d5b4799f4facc2c687ea13f4b521aba3743ca68251f41ae5d4caca05c1e2fdfd13575064da6030707d07e08bab3936fc36e00ad1a32935e2bafe3d9980f2f3d1af246b784ae8acb2f3462e2b50d7b172832e79647a2092d205a169660954d71bc471bd672e4da1b8f99ab65f0ff5726aea96c898c9d3ceb1ee43f3424dbea5a731e6af55a7cd1202d01f675b8b7aa9e3472c4e5c5069b273806e85a382538667f4c2be7cd8654f5813e934d13ac99f1ab638b90fcd9e6a5005f0517e054680607fa1d6e03eb8d599d0b2df9158d59ee7726bc543812795f3f4496f3b9154c6c34ac97468cd566618b7cd2bdbbed5667a69a555db0e55bf44886a260aceb72a0aeffeb706434f91bed1fed5797b1519ef458324b0658319f8b66713cdd33d3506858d4f06427ab - -COUNT=33 -L = 2400 -KI = 8d6e31abe397c189f023ac4fe17585198ec2c4e6b7fda8c12c92f356 -IVlen = 224 -IV = b6abd338db99f913f97f7f1dcdf097090b4dda92d07ee4aafebada8e -FixedInputDataByteLen = 51 -FixedInputData = 87c2957774f6d65acfe102f2d8b9bdd933cb3d78931086ca2ecbbdcefa5a9353e539dbe91097320e612d74b5ae24576301f122 -KO = 5dec1415eb1ad98079c0d6da13184feb2dd333ab8e630865571644bddd4d82046c7f18aa26650d29b8e01d17ea68c8619f052fd11ea51df849e7c7a7d6da45c94020ebca819cf2b2692a8c215a2b0fb9415e19c41d0b8145681bba3524cf8905152ee4110826020ef25a0bd09822f6ad98e3f222f43622249c5d567da647cab7702bd5755ac035ef2e4c543ffb3a280871ad6d7d3effd5803a1b21aceac27df0638e104852f7709b55da908ec9982878befb2a58b6904eef319696694727e00b0dd4fbec973a2ab89326062a239235d488651532c34da7f8d03b44e7cbc39e7fa8fa6bd9580efafbf8ba095458287dc72e551edded7549995172994e46343a643cafc33d8d2013d71a9aa5fea7acbf6b159a9745acd6bebfddb00376bf7acb5e1bf3b71852af772522e0359b - -COUNT=34 -L = 2400 -KI = 2875a8545c7fa36146fecdb251301bd5e2d5b419026d26f3d1cc5d56 -IVlen = 224 -IV = 4c8e2cb23ecb26ae9637947801b011256675eb08e450b7c6b2f64821 -FixedInputDataByteLen = 51 -FixedInputData = ea82d2666cb2d860cc1f3283a69abe877f8464a5f7d46b0e5ecfa016a6b7ba53d76de10e13c25770d3ace7599db2988f5d783c -KO = f01638d79deb76ba1314aae37c4cac7eb82e11980a37eb88c1ada72bff70a9b2dea9da9587128e17ae8174e4d692f3381bea188d83755107651039b379d614d8efd1c5f769dfdf1afa230de29f74cc37f9fd56ac005d2f955ef07b670cb79e25105a4768e794ebde948f8aaf2eaebe24a92fb2afece64cde01267ba7e845e7b05d4acabf0b6f483a943549047ce7ab05cceb68c39201674cf1a28f15b4150bd7f5d78e31985c078a96d71502c669441863334b149af8dd33778749d8dd2384f155bcc8131e8f83d737322170845e09143060e57fe7cd9fd26483c4fcacd93d0a005155dc92e82d706210be0346133661c4183938a0e69d213d0d598f898df4cd6477461f1962dbe27dd7dd82671ee4a033fbfed5ff3dbf698f3ed51a18f59f3ba081a1bd9d8579abbafdb8dd - -COUNT=35 -L = 2400 -KI = 8e00475f91a00005276741bacbe5fc35fe61c3c709f64e845508c76f -IVlen = 224 -IV = 039b859a0bc56a15db8bac458405c708f9cc704fa642752526a70cc2 -FixedInputDataByteLen = 51 -FixedInputData = e97a7d09121a80f0354abd1432092eee734f5988dcef2e4a13f8a9c74d1714dbe203c4c1f3242065571cdd98f352ab9522716e -KO = 06343f3eb6e9426dd3cce50d83550efa24628170046b36c0e270dacc20cf7421d845dad0c27999df0523c76f466b7172b0e31a133fa0e55d91aba5b663f8b1a8ae7ff60c474c1c8353cd616b4b19873cc928dc935e8416a115eadba50883dc4ee5b12c76f49efe65a9d536637ac1e8a630bfa65b2ccc5a3dcbb3dcfac14e6dfba33d9f675371abb588c802aff3bf1cb69f5aa5b81a0b10326802a6bad2fb059c43f957c4517407d3f8580bb96bde3a6326eb3dbc9057d0e850ea6aec1f352e14b05fd67f01f3ea5712fe418da53f2782b88646f8d81b52aaa0004d11f1dc562fa5881e4f7f25b698a44db9d500a3ff6e7b77671eb5abc2dd75f70ca06683dc5696756f95eb02f93adb9cf5ba2decc9f85b578b60976c1dd67355c3a1475439144831241abd3d4c4ecb274ca9 - -COUNT=36 -L = 2400 -KI = 7523b3260cf1fbab3f101cea67dfc1a5811f2e51887d0ba534005526 -IVlen = 224 -IV = 3dcac6ad5f45fe45ac14d83120ade2dd2b88d480248992a17da03526 -FixedInputDataByteLen = 51 -FixedInputData = 4cadcf7f0e2ff63889cbe7c20ca0284b5749fa9da18d9259e904a5c184f68f65dcd9d6bec5736163cdb6d307c99b70bb8b37ba -KO = cddad98f7724c426808834823c4b5c764503e7a3666d689c3f8909c463e6cc3d18e28b5bc96e34eecd80b2c8904cd8c8c586bb5938550df35c7da55986043d64bf948a8d4636493d596c0b4fcf57bf7a6f270b3997685b06f241bac3fd93bfc1c13276a40d942d9148168a8d310b7240e2bfa92aed86773828d05eaa10bcc9628432fe8cf60c122fde8032b2d69beb11e7deff0bc3abc05fbb67ba924f186035f5bfef08d0be322461395453d14f58cfe16baee1004f8455d673e31a76e839ceed316a58942a0c9daab44f3141677c3716831e8389518625633cdd1e973b4fe011323e2dc0d085a197500b23cd45d6f3d39530b50121dd1539d9847aae3f1116729faf416ffa4e46b03039b54e6bad2e578502b84b47216acc87aa78241d67a7c7e3bb1ff1ef66e4cc264ee3 - -COUNT=37 -L = 2400 -KI = bafb1bcae1c704231cac950d7cc0df2c54c65b5c1f486bfd5df0cfcd -IVlen = 224 -IV = b1be1bbdc120907c611e384c89cacd175f8219f67aa7e5d57b66da04 -FixedInputDataByteLen = 51 -FixedInputData = 14cfc59b4ccb2555dc89a1841329fce4cae7dd11c251419cff396071c97ce5b8c3db440d996346cb37dfe51ee678bc01660f8d -KO = 198bb94c57f51ca3db6d75f61ec97c1ab362ccd22c51a8348c3186dc60cf33a3432496bf3eb9fe5ef3f364564c9afca5d74e76824fa6bdff9ee4f1cc0cea3cdbf7eb37933a12b9bb1e4f6a84508c5e4c6ac44b5c115c52f50d78e82869bda1e423206c5128bfc939f86f73c701173dd18c9b9018751467ed3a8764e5b965b05cb608826a3b5a8284ca1fd622b01137f2ec0670d919e1cb81203d5a1b251dfe31460dfc995ca1938cea36628c638e64f25bb3d8b0b857c0e64308b3d796fb800ab8bfb242068e45b7d749529168beb9bd9f33c79edae0e9a61c4f8dd29d5b94e55e67424acb29678ee2dccf6e58914d963ec6557f3ef6501c8ff557d7870c1e5cb533aa5fad236a2b39602aabbaff005915965946b1b102b5a56d218c730437808306f5d133d58eb2eec6d4ae - -COUNT=38 -L = 2400 -KI = 7c916e5641df070481367319dc2fc8231f43522003a9923ca4ddc300 -IVlen = 224 -IV = 8a401baca2d4cbf84eae9fd8026c20a2009c882bfe2abb373198e153 -FixedInputDataByteLen = 51 -FixedInputData = 72708d911c5f58fc1746d26d5c18ecfe02d584fb066ffb8ef974520b9875304cf22341ede0d9b71b6412ee0e678f1724aaf92a -KO = e646b7bfba0504f1b9aefc128247195a5d0a4c8128651a5550c79e563b4f5d789a3f6df52bb5208fe6550fa7edfdd6a47e3b66b61df90ad119d65b6ef584a781a1a5dd9143ef3abfa427bb7852556911945089ab15b4d08a17902a5f73b885a8050528059cde450fa97e04db22eaf8c9cf1cc1d9c6c579386677afa981d14447bea40235af61f9ed2c76603f23d53f57f85400c47c3aaa4be55dc3b8f0bc27837b8d47da70f4da9938f65d5e3896a60d6f90118d1d29b9ede83dcfeea2518c021929cd86170ce37a6891e86b7d7a0ce74c5aad187158bd6ec642a3e439f622e73149b554b1c2743c64e3b0548aa819472bf5dd56a1ad391ab492a20a6c526d7f18ddd73112be2e6f5ea3b829f4e58e3c5cda8549ee6b2c2967717a1e17fe29a352ce663d056ab996aeb142ea - -COUNT=39 -L = 2400 -KI = 6c94f722b722f6e42500d54c11039c9b82ab46707f31c020df818b68 -IVlen = 224 -IV = a567c2db1a4a659c48ac533b6fc105570d6f02cb5d018af5b32e5f13 -FixedInputDataByteLen = 51 -FixedInputData = 470cc36c4c821da699e32f2f4cb3cbe2f9550ea82e62cf8590f9552ff1b1601d1c8cd2678ed008249203a075fb12461b44001b -KO = 0fe8e339b8779b9400dd91e0b13140ed75724ae2399bbdf735d6048ee3ec3abb274495706575f65894851bea4e151e267da13245ba230379926f745138ee57052e3d45eb0d6ab582e57aa4363c6f393c40ad3bfe3779da1315704486e6dce9e1a878310afd70025eaf590d08a800effc23ae00d5d95bc1e3efd0dc405dfccc8ed437f4e2d018b54b405f35f1b77746148ecd0772a193f2ea697666d6437463c83b7bd4364bf014a2979425d3d1f1c69e4c163fb2e7ec9c2df13256ab71d0124380238c8421554ad524abced9392170d393efe9daf971c246442e1141cdc250f45cee9e834704b831fd91f397e224c1319e0729927b7b2eb0bdbc54859e916d50359b173d6d756944465aa80e9f66ecd4ccb9200d9b3d09b047cbd9b0c13e30256bd84d31246dae180f2545ea - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 92932c30ddc5694519d12f9736244adbaa7f7a67bd4700351cfb790f5ee87629 -IVlen = 256 -IV = 244cf150553ce64742b326b94909cba60d957837bdde2b027f16cd054ec5462d -FixedInputDataByteLen = 51 -FixedInputData = 976cb98760e2345780697150186ba5bc9844c366cf2f6e0c5091862433353509155f5250e8ae00397e255ce2d2dc2a11a2c496 -KO = 78b4f43b362c4de5ad320f3dbbaa1e36b4caa306eeffe58070195fceb6f9a3a1144e62ebbe28ed0c09e672ccf2a84d3ce436ee94db62f60a5079e37f767af35a - -COUNT=1 -L = 512 -KI = c69c95172f682221169e0b71d8992441586ea1cbd60476d0d5fcbf3b49c754c9 -IVlen = 256 -IV = 85ac6eb0575a027f0c2d85bfbaf62ead8febaea578f14190a1e22672391c77b2 -FixedInputDataByteLen = 51 -FixedInputData = 18b6082f0e90c8f1d0fb09b49ddc7a30185fad08c323724ef61aed2cbc9e9653dff83bf5dd7a22e1afb3e8cd5de94843a961fb -KO = da9327e267566ae757bbf17bc8c5098de4346db4ccef78a3edfb655341813ca02ebddac6ef19fed87759e14c10505bccaa2782df3d6837408ea19bf93599f524 - -COUNT=2 -L = 512 -KI = 4fa1055737c633b8e59e658a33cf3ac492cfd9d1947c50912da9bfe0bbd1aab8 -IVlen = 256 -IV = 0dee64256812d02841ca380e89219b11bf86b132663acfd490983286f3927283 -FixedInputDataByteLen = 51 -FixedInputData = 368534d93c3a682bfb2ac106183ca5797c300dba363b5b1bf8fd3fe153bf7e8319ae06ae0cd03488cbbb50b859d155896943f8 -KO = 286215eaa38244a22fff921bcba79933d841359af65699d30fbe3df0ee286b502fd4d7791e7646a439d50e29c9062453015fade7e8b78f2f6a69739c686a04e9 - -COUNT=3 -L = 512 -KI = fb6524282a8a706586a0dac94cedd4e5cc3c25fedeb1275307c185b067e24457 -IVlen = 256 -IV = cc1ab93788a07aff3d619ad1e50d7a756411a313527d1288f0fe50cdcd43542a -FixedInputDataByteLen = 51 -FixedInputData = 2c6cf06351c701f7c2e5adacc66c686ae3301fa72ed03abe1c7889b86c203de46aa255d3aa18cda0429b0c6419133975770606 -KO = 5cfd33e75ac653e0a3e3225fba24818d5af9d70873d28be99da3955d73cfa090d9ce1095a34791993b63fe284d82503d6c101ba1012d1d7a6d570dc3387a5b3a - -COUNT=4 -L = 512 -KI = 1e830dbba23b5f2280e2b1a1143e3a6e8b4dab026306a4f27977b94f73980a56 -IVlen = 256 -IV = 3f304c72bf54ccaee39ba0dad045e764712bc9a0b7072b20aadf2a011f33d060 -FixedInputDataByteLen = 51 -FixedInputData = 6b3b3d3205e47221b6fdd1c56ed0e89619f3b83223191acb36d312d8b735cd94e7102beabf3542cfe0253f07420ef94cde881e -KO = 627bda5bff87be1d6dc47b5a984fc65a7484296ebe0ebad116c842754a85c5a06588882c2aab99a992a709706b821aeffa0875a9ee1e0259303dd85885b38202 - -COUNT=5 -L = 512 -KI = 8c0f2861c7f3b8f4ab4cbaf1a420323ceffb9201b6caa568463fe5135c54afb8 -IVlen = 256 -IV = 950cc52589f722ea5f019d85b8c7c57ba9c90f18c6ac3ffa43238bac2599c301 -FixedInputDataByteLen = 51 -FixedInputData = 0062c4f361586641c814ca23ae02d2af8f49cd2057c555dedb8970c6718b20c8cd26f095462cea63e856155f63099f0cd70b6a -KO = cf035430f650ac32110e389e25b82a3ef305d6cd57c36cf0b2b530c73707d44e436f3325bd1c1c6cef961258b339dc4c86b787ff4d2428142b90da3d586bcebb - -COUNT=6 -L = 512 -KI = d8cd0c7dad75ef9f8833cfdcf73dfbcc526ab75a436992f81070c05822aded27 -IVlen = 256 -IV = 49701ab04cec146f70ec56823122302475de6727876c4dab84eda3b144c553a8 -FixedInputDataByteLen = 51 -FixedInputData = 567862fdd4814926b016b838ec2eb0e7d1babd44d8cea500ea3b62725119602a12a17863bc98daa1ebd85f33f6e331cea14179 -KO = 4e5950bb29a3a0ca1acedc820b9838aaf5c7cee7fe625e13298773b9f97a4b0f3520c64d0c6e59444da8ab1b389d524765c58bd098eed1ee7f643a910080e3e7 - -COUNT=7 -L = 512 -KI = 78b646845027897c6d81846ef4bf506f90c66991f89996220d779506fbeb4ccf -IVlen = 256 -IV = 71522c6614bc7b7d5adfcedeb0f8ed9835b603abc4f65b8ebaafc829f5fb7543 -FixedInputDataByteLen = 51 -FixedInputData = 780dcda8c53d49074a45452d54b208feec0a8e12c182571b24f77f5c2b3f39b9d4b7a5f250a5e0738d5da308b1e91b2dde2e05 -KO = 97ec76f3644e6f211e4f5aebc87e59fa12aa089c43cce6da2bcdc48c947ef596062a2e5d350701e42e41bf1fc4be8a97a0d254b43914e1546eba5376eeb945d6 - -COUNT=8 -L = 512 -KI = fa42ca2ca32c3952b06dbc4f5aee5a71d5178e67215f86e379355d12ad0b0be6 -IVlen = 256 -IV = 77dea401710178477731372d6e902dafb9c6971da5438898e0a3df7535c777f5 -FixedInputDataByteLen = 51 -FixedInputData = 4258762f6b7d12a6f7c5bc094668e225155d7fde450a4008532f9b6af3bf660bfcbfd82a5b48fd1c5fc2f47a3640aa5cf88f12 -KO = 780584b7224b51159032e2f35dceb8df6ea14d1d8a1afbeb3428ab1db8b0a3b01a1dbda6ba671a277fd8227f88e1fad7007efe4b04ced5083fbb91bd5383f115 - -COUNT=9 -L = 512 -KI = 77323a767e423cfc25a4c20cdad3466e5d065f338d5b9a51c0827f7cb2577e43 -IVlen = 256 -IV = 932c9e1646e31676c5544244b6024fedf6943153d09bfa6703efb797aab6b8ed -FixedInputDataByteLen = 51 -FixedInputData = f35c3aca764a53e4edb3c1cfc02502803b68771e732914f9b9bb19d97d9e66c9d5aa13334dcbd23ae16fb3888e5a740042b44d -KO = 255d105f5d93b09b09b2aa81cf7cd25bf1cca01136c4e49fa4899c19a1c2730ce2bb3b7430b2f1a93b0323f02b29f5c2b0531705c5b437da0e409826c7c78ed4 - -COUNT=10 -L = 2048 -KI = 3573603c2861db4a470e160549a3cd3f6e6f97135db46b8ad5a1bde3bf2c9a24 -IVlen = 256 -IV = 9d9458ee15485062af4170cee0aae7cb17646c9e65da8a5c517d899ed0c28f9e -FixedInputDataByteLen = 51 -FixedInputData = d53a873f1e59578da1a2e3d0761469613ff7900a17945688df7b1416427c4fa0e8ee709c723283eba6b756d3cd105e9d3ef319 -KO = ff7003f0963d3f87a93d5011d5f61e5da1f1110469818a25586ae2e80bbbad065ceee3c81ddbac41bff670e787777bdbb483851196085600d36db39bcf544ed007323d0a2b4d357d4fe0a32ba7edd3af788b8577cc61871372ca95e4d57dc9d9fab3c028b43629de912c89751c181002d2ae44463742b2f3f34184a8b61beafd613a100b8b5a997acee51c4550ca443b1d91098ff7f343eb9c8c8154714dc8368597c5f71c62a4b4cbeac182bcd7b3dcd2d2a899b0803cf7bfe702c614c6c66edab1f9fdd48b4903c07c2e1d2a8bbcd1e1396640732dfa285a89b54929a7f515ef05640a076faa51efc80677439b3dd744dc174c6a7d18998f60f3a7c44eb79a - -COUNT=11 -L = 2048 -KI = 479daec381f8fad92f440a7d3dec6cfc1a600ee70ee1b69373f01e08bfb961bb -IVlen = 256 -IV = 15f8bf53c6dec278aaf6258d80c20d66860e0e47e7a0a798ee8a8e39d8540632 -FixedInputDataByteLen = 51 -FixedInputData = aa68411a52de3719c476c9ece8fbaa9938147774a2b9690266867bfab979fa9a3146187870c9d3b2aff349caaa80c2a066af46 -KO = 8577e8f9e08289e774e6af23570eb8e0630311adc74fed8f66de9f41aa3326220d5ff9fbff9a71a62aec8da1627aac5ea5e6aff2aff87f5708594f087907b579e092dd4b39d0594f326d017412617e02db10b7e21ee38be4d962b5214f0aab8ac780c31995400b5180d84e225b4e264b23e4749550968396d5433aa9ed110dcf771073388e7adfe5b844c98f38474c63f812c1866bbaf388208d002a8649592d674a055ec2e3b123a695fa6ea649b10b6a2dac033157ff59b5afc611397b64af8c585b214b3564ad8a8e2d9ebdf24295333ce5d0cb67be8003a9e8884f9d829a5c377224c3e8355df77fe8e42b51bc9c2b46101f119bd0f8b93d648dda84f8f4 - -COUNT=12 -L = 2048 -KI = 9660c032fc3c324a68dec7ed002dfd13f09a7939e2213f0442ba34e0ea045825 -IVlen = 256 -IV = 9a40bcfba6fb7ae8b3aa955f179aad849d5a6873160358dc51005b941a667875 -FixedInputDataByteLen = 51 -FixedInputData = 788231f475ecefafdeefa4c84e84ba573fb184743567aa9fad6f5c517c281ef294997c1e17e1906e77c67ad38730ffbea29bbf -KO = a737f3c4bc2bcc41042fee88d4803af2d589ae597b26ca57e086a58a4a262cf94fa5e668f5edc0bbc6e9a4b702cb7b1f31044a58b2ba1731350dd62e50487c85a0e21571f4249474dfdac7c34f30f2ecb1c49e319ef0fba3ea5481bbdeb9097724a67325e9f35eecdf1b8ecf09e36ba5bc7c84f5391a544694835bc27eb74bd0249e2f6ae36aff2f0f9d52362d34137378746f7d20f18620db93b8e7ecdf94035eae56a4a23a3f7d0ebcbd84d20f2bdd045699ee133be60d578c9e29dcd38ae9505722638c2adb2e2b2187c38aba9ddf1db21da0c18807a8750467b174a2fd8afe89321c2f251be0739f57b56cfb3b400da2231fee315a82f71da18ce5422c02 - -COUNT=13 -L = 2048 -KI = fe0a9f1ccc30585749502f3eafa59bce8ba19b0e6a11f21eb0c91a2c191a758e -IVlen = 256 -IV = 58e55e0f6b93f23b3916036bcdc355361acfc16b236b58eb64d437cd95e05c41 -FixedInputDataByteLen = 51 -FixedInputData = 8ba6c14be5dcd8525a4e8214102d93d883c372ac49789f4b70bd7c9026891ad121ccad7d5713847c9e77f55f2696a891368bd6 -KO = 41c45328aabc192e3078431693515536bb2a544640a4b91067d336683e4a8e6afb584a90e3eaa07d2c98eaea111f026d1f166e44e0d771b7cabc8d05739ab93e7523813746496adbd936bef88948002e01be737457206737146f63c920c11efa8b5948f5f677b0cdf41bc3a3259fb070c156816afd0f1406d3ae96a05ff0b89c2d0c8704af822b30668d3ca45ab453f11638c6af240580dc4fda8fbbf739b07d5c3ec3f2e93be564b56a956ed8a486d54ae278f509fcbe3be6d1c59a2b10b2c026e1c509c607bdd92806f8cbb3f4c12d88f588b0fe08f364ecbf88e671f5c6cc4589b0d041ac2a7b17d3a4dd8900b915acd4899fa94bddd9e8ddf3063e8b5947 - -COUNT=14 -L = 2048 -KI = ad887c17ff3b8e4b40c78cb17e29a92827239eb22362e04c4880b765711fa251 -IVlen = 256 -IV = 42582c1376d0943e15fabe27710f146a2a31368298012e23486f8cfffcc29534 -FixedInputDataByteLen = 51 -FixedInputData = 913b6bea8313cc3f2e9d333e8f787fe3043734efb5394870b0b0ced97a170a1d87c79aff907e35139d0299916151ce90bcb512 -KO = 09a006594e06d3c4078ee595220353693433373da5e53f300ba6aa089bb882326857e1b2b323ce1eebf3635793e9605cd440043b8fa38587840b411df9eac88b167ab6faf6446734f6e25ca188c1d9f404a994e4cba0f6bc2e100f00975496cd025e4a73c069268b46f1d4996f1c80fa407040061898c6a3dfc702798e3dd45c1ff5544abd65c168b205cd939626cdb9a6afe17bfd6788ab01429b25b5c69b46bd72243dcace51e5e7c9803ea9d27064068f79e2811b3d6ce8794a2e7693c5069ee22a8fe550263031abd02956dcf5fecaa13e720d3677fd9a2a424133a82150161cd7ab2bdea6d7f36d98ce586f5e2bd4d14a91bb772dd4dd3a909a80e6b185 - -COUNT=15 -L = 2048 -KI = 236c2c1dc0edfefb1a6549bbe2dccf804e21d2c96b239435686af537d84d0cc6 -IVlen = 256 -IV = 7c5d83118d8eaf09578a879b89ab0db38c7c3ab90f60303cacce8c43da8c2d98 -FixedInputDataByteLen = 51 -FixedInputData = 565416cc3ed628a87e7ec00e205915e3bd92ede06fc47dd39417aaf9861edf3e011b919f7520fdb865c353c075aa660cc7d5a1 -KO = a24c5e6b1b7c8f2712bdbadba20a4f10fb4db5ca37f90930ea00b1c700ceb9efc2949b91516723503083557f34298a3f5b61456511865a77d02fa0eafeea9f5e94ae2872ebd3afd4658c875caa304fa36279cc7296ceaedc57456744c5259eaf09fa350b97655cae5b272260b11067d7c6368edd01481a7d25b6425b75718099b1a0f42517d6814620f0c8db455dd8cde8ac02f01dd4fbcc0936a5d5bb9ae7f5d4c790d54a9e0085c1f7c42c35b009e58ffbcde21140c797aaabace1c611e56dfa0eb99c87046cb46f2c7ab6e0e082df698b932730b1075bef3558327f0995f4ecfb834e3ac8530eeadb98482e1a93125fb829758b954ce6b18101ab73c94178 - -COUNT=16 -L = 2048 -KI = 2d3be171e1128a89eb82bb3eab2bc770f8e5362ba9f1594b061e4e8b8c22ffe9 -IVlen = 256 -IV = 0e71daed4f7442a3c866eba6d24622ab85b67a2e1a6651cc91569d2133d03d31 -FixedInputDataByteLen = 51 -FixedInputData = ee835c7eb7c704bafd682a0de67e497b95609b0ca0d7b2c8079ee75cf198fd9048dbffd6bd07297994771330e9ed30eee2720f -KO = 2d1c5d8ecf82323ae318ea5b426ebc285911a122677af9a55da4f1888a56d09d019e70004f9cb506aa1653291692a5bd192a51df596e5701035a40fc515ecf69daa87cf1a724d2332d48d2b405f380c34a9414ad7ad0b0a450d32c28ec3651808e87b0da997d336611291ab56fe2af819ad503ad0a63932828f2fcdceeed5b202ed8322336b98cb2cbabd16494a66cfb9a70f4d796a48f398573a73ed12ea7864997bc034b1f55d507ba51ef1b01c382aa1bf4895d1b31a3d4cc25c6975fd0a0f106e12b552a2f78148be54eadba5ed9facb57e0771b9e4a1ed6921d8e4c8bd8406b8ff0f57d87998f231bc4117b99cc7198da25a0e73a9453fad2b3bbc72377 - -COUNT=17 -L = 2048 -KI = ebca08a7900aa17856436f9d7bce87abd5149a91165ddeec1f217a33cabe7a24 -IVlen = 256 -IV = 7d7dec9fdf4846e622eb761dccc55fb0598cdc7df60d7caed55f68aa1fd32b7a -FixedInputDataByteLen = 51 -FixedInputData = 57a82cc9dd6429582a09315dc8ac88bacf531fd83fc34972e1feb51122454b809a0f0c33600bc67537cc979d3dd493d22d1913 -KO = c26007e64271efb0496a10a4dac05f1345de5c6213f9ae0defedcdfc83e1f6e6c2cbc8caeb23478cf251801de901b557407474de073f241c98e6d2495fa9ae2eb146591114ff410d87eb5c484d611444186119434539300e112adc58bc7562973d92a733d297f1a13b7c6c016e86d71bced271484b6d2ed6448698c5fd6314ba0b6683ebf7ff3d6ddb4fd57223111ee1fe23337ba9e22b4ce49c411459104ddc62d02869449fe39885a15d40160b86e56175d3920679a82e505999b9cf1b30409610ea9e3585d901bc6b96312ca4ef05d2b302f7ed2be11eb0bf4e99fdc9b59b3e8d80a47802947092a31a1ee1c0bc725f7f982234bf8e60ecd2dba9600018dc - -COUNT=18 -L = 2048 -KI = 69699c0bede72bdec43aa7affea07ee0f0c2c79649985c8fe90ef2e1e7e9be7e -IVlen = 256 -IV = 056f2c617780e567e65a7bbee3eb294c4cd1a4bb79c5032aa2ae2a66e1d68746 -FixedInputDataByteLen = 51 -FixedInputData = daa14640aaf964e5cd145d5f15275e9dc575a7d93a404fa42f9f15bacf50d0086a8f8e5952913067101866e41afbfba37477c2 -KO = c2a34bdb64b971ae340e6d23e70376f9808635992e99503b9e92cca2a87706d5225b58cd1c768792e80b2729e8a4fefe7d785982be8a4da279188a9c74011cbde073a276a02aa3ba4ac8b3c37084d8a2f1c52d563e483fb30c8b27c2165a5c70ee259360160a19d1f3eaac04d91f94985a5dfd45886791764aabc82b9e0443ffc6f6e4b4c77f711f90211d2d53799e2b373db1d20f853670e2ff53172b595acb33a853bda0d88296fd155885e91be8d97b9d349ab2730887d26a60aa639f27747afb5431b00fafa04dadc0de44264af929defeac1d5a3b796f521fd04c623ec861b6c16d6631eb436935e0f8d92bba905bb12ad146cb6dc5cb518a332f14f642 - -COUNT=19 -L = 2048 -KI = cff978e4e0f40dc7b66ac54002753cde5742b5033a4108a3de71613d5547a327 -IVlen = 256 -IV = f05f103cd807127ff115acc0749371bf1fe7939da9e1d8f42bd6d5e12c2c0954 -FixedInputDataByteLen = 51 -FixedInputData = 45a8565d8bd7020646077bd9971e5489fbc729de8ef5c274f6fec609d582bfb36f233104c26e61a269578bc1ef8b7a1b81c8a4 -KO = c92f290f3b73db2c06a3f0a094358dfaf49ae036d54b5b3f286124c621cc76fa5fc8843fa24d04ce05e28f32351bf59f2cf95030e4b21547ec3f150d7b9d5f9c4f8d52cf698cac5f69b2ed5c44aa0004b013585b109f94578459cf3c646bdb58ad5cfdb6c9fc0562c0df18f0ba58f034fd0d031c6e8c1e569528c03a69f6a0a8f058783fcf78e4e80f3606d5327fd67cb7a53f2cf05474727b49ff74564b39cfc1b73bd7bb600e2309b1cb2eed1163824f0af4ee6bf2cb388c1f2d624926d1b94706fff520631c06b5fb4d22850f8e3036fa266b7b9af12d080c35f3141e77f5804506fc08b97d23044295158dffd125508cb0d09c58da6bbcde3c303db00384 - -COUNT=20 -L = 560 -KI = 801c550c31dc620342204b8d68cab2ce99a1db9572be34d2b2b5f9a592e08a83 -IVlen = 256 -IV = 851e77f059c1b57b46f5b0608eeaf91a42930c0a3e0db24197c47e4a86b1ec34 -FixedInputDataByteLen = 51 -FixedInputData = 1f66fa00685a058f286b877c0d588711f4ba17b327200e5734ecdb4726674f6008a3315f1eef75159874ef5d2fa1394691934f -KO = 625ae7272ec63d7cbe74819756f967dfb22adf180681fb949236fa3ef3e30463c5d2a209bc76ffa7e46e7d467e6f949b7033fe658691ec56ef102baaf6bec5ce72cefb3fdb0c - -COUNT=21 -L = 560 -KI = 647e8afe2c2ce49104dc0ea539036fcd053bde201222daea8303b934a883302e -IVlen = 256 -IV = e69fa1734167dcb23ff6d70565ada10a3824bfa7750ae47a8b5992c9b89a75e1 -FixedInputDataByteLen = 51 -FixedInputData = 53b2da557a43f61eaf23284b0edf69b84d8fc85efcca46930ee0c90d898fa1736dab48eb683b6386b7ecdc806bc2e16823db78 -KO = cdecbd0160153c4e519ca5304fed1508eb70db5a0ffb052aec84edf897fcd210402a1025733c3a1f28904abd299b18ff8a3bf3a09fd6b14960e26ae3d12b9a643856d62b7ddc - -COUNT=22 -L = 560 -KI = c20eb0bf0182f03f195b8a0b6923b71af78c17292bd6425f1f3aa8d84c324c6f -IVlen = 256 -IV = 7215a3a176797a8145874aa3c0e7cb9d0d2359ef0365c5d782c6abbe9fab103f -FixedInputDataByteLen = 51 -FixedInputData = 2f37a2b2f68c3917573c4a61cbff7ce9655f9c62c1cd58938d210c26201c56112d845a6b5a7ff6292b7ec9a07050cad747a78f -KO = f76a6ea8b0121e9a8e04e5d4abed7f163a1ff507aa4b1ddc99ce551f43afe2e3a83a9decabad9a33befd225afaf7ea8690664016719487a76f6e2e0bdd0e7a026ed87424dada - -COUNT=23 -L = 560 -KI = 1f1a56648f8826e90818498add561fe2351749c137de0b237e0d3314ed05bb6f -IVlen = 256 -IV = 0e8a40f66d6e672989443deb6d43aaca0fd4710d05e22fbdc555668de2abbd0e -FixedInputDataByteLen = 51 -FixedInputData = 84dfc8f26aa1c8651a427932aa720dd463be8f78e67c5d03a79d0ecd5025545f30ed89446a42b89510861da91374e14aff1e75 -KO = beb804631b85bc8592842d71488b0d2cbb612aa3a712f997c852d18db25193311f4930f6bc6e91e939fd12427322270ee93f731e1086dd8c697a5f4a2410128ce277b28c7fe3 - -COUNT=24 -L = 560 -KI = f796c1dc31496f9af15d28bc1d47f2c647614ee8e857106976001c207904770b -IVlen = 256 -IV = 6889ea3f7dd9a5cb19ef89a230763c40e84fafa4de3856a9dfffc403ca4d6bac -FixedInputDataByteLen = 51 -FixedInputData = 95fa61ddfbc159f186eb3f228d80f0f698884b43740c29fc83faede4a8295d108055587805bf7d5b7dcd9c83b4ea68107f9bc4 -KO = 2ebc8b79914c28a1cdacb92463ca0c25db5c255f970a0937d7bbf8b59a21de4e1a5405fb3e182077cb5cb184c3c7962c6952b3bb62bad546c1de3ba2569d01c4e3f624526320 - -COUNT=25 -L = 560 -KI = 9c87bacf20b3ed4e187f7eb29818d10e1aecc6576c8631954ae3793c405beca3 -IVlen = 256 -IV = 1669c320b6e68b2b91ad3e57699f63a43075517b7440c05f127d049fa515dda0 -FixedInputDataByteLen = 51 -FixedInputData = 83bdd6171ada68690a1d77ba6ddce13a08ef1668c6c501f00ae76a244da5988b1ce9f7cbc9d5db05cee35a686a165b18a843bb -KO = f5cd642eccf9fcef2d4ba72cbdbf30f97f803348d1c2d8a551883b2620aa9defa2e3f323e3f745ebe665e091d3e546a1653f8a447b38e18b9d424a52bfe2504ade4ab120b750 - -COUNT=26 -L = 560 -KI = f504d15eae5464bc772ea5564d6a7753613a5da56a74f7f03fc9f44e6d4753ab -IVlen = 256 -IV = 6d5ef3cba132ae5f807be036bfa5c62ffca7025f3ea5b279d77953b8f06b5d6d -FixedInputDataByteLen = 51 -FixedInputData = f3bbf8321be6b8dfb869a8538e11cdf800e67566ee42cc57498c5c6999e9ce9cfc206deb1fd5fae3e230a10cf81cdd1ac17b64 -KO = a2d42c52dc2048245e92d8918747d8590d63d46ab40f85db77ae05b1af99fad15f9715a5b3d5faa668e41a81c5b5c295d4f12d10e279c7fc2fb1859938bbb9a5d993811a9566 - -COUNT=27 -L = 560 -KI = 019d02dd80ad2faf4d6e888b066c2eafe467da2eaf03486d774f0c9c3093be8a -IVlen = 256 -IV = 64585e4b2d1621c693d8abc9541760c22d4246553a0a4f47a8ea86ccc669bf1a -FixedInputDataByteLen = 51 -FixedInputData = 5434adc3d1259bb308dd9c20ceb2104d0597e3bec1b96e97564efaebcedb604b157b5a550054ed7291a69307e02d2d92d2ebbc -KO = d851359bda3233d65e77a6dfcb71ae10661e59cb223ed3a0db2c45f99c5fdbc9205a7b25e1c97927725be87ef48c254476bcaf14bc8e4eb07a08bc122b834d910273474666f1 - -COUNT=28 -L = 560 -KI = 60a9ef907d2460636af257ca552bb563a3ec8ec4d605763e93e6bf973abe5902 -IVlen = 256 -IV = 653b9d6710b7dabbf1b2eadb03aacfaa8896decc0bbe99f4031ba83fa716ffdb -FixedInputDataByteLen = 51 -FixedInputData = af7c096c1976261afc5a7d175ce3f35b846f2c6680a0629fea41ffd16012fac9ad3fc87920cdfa56a037012af91c68cb64d70b -KO = 5cb64d1e36d1b062ab99ae9976925e6a21b98df573785e6d042e7cf8965fbcae4bb2bff1470a6746120c286356f0283ecc0e44d9f6459f0337b145a742c6a30e557d6ab10044 - -COUNT=29 -L = 560 -KI = 2f450e582027cc975f407fb2e7af42363705716023f7e55399d84b1f008c5994 -IVlen = 256 -IV = 6cd81032dfbd193cd35d7661dd567481d557f4298e378a6b31ff563a57e2f531 -FixedInputDataByteLen = 51 -FixedInputData = 458d4ad67c90200f8b164b14bdb25bed0903df33080098e9e456693d6158fe2332816be712562c451e8e9164f2d4edf558dacf -KO = f85b1f1f2da91323f605bce481d97051b19b53d214671d09f177bfaf045e28fc2ebed353fe4b6502eb7ab6dd1866e35a1a0ebd7b85294a55f5f045704c5256cdcd76d1e49f7f - -COUNT=30 -L = 2400 -KI = 8fa1c3448206db4611432b0bad04a77ed94e3ed637dde5e833b3884b16121828 -IVlen = 256 -IV = 2262e7c23cf43185b0b241c0b7dc409aee6d463e6c542293cfce77c284e67d27 -FixedInputDataByteLen = 51 -FixedInputData = 5498dc27fb9afd6164c48de7358c9394a009cbdfe4e6584f33652b1ef6d43a5677dd8f57444bf1ba2dc6d224fbd4fc05e03997 -KO = 46b5cd441566767ec46a4c47fe603346bf649f20f5ca256efeafd90c521d183bf5ea44c4c23fec4fb5cca22b537a78940f539d56d73106f87990d9d0d9f73f9bf42dc46a6dbdf3a97419e2d9a641af9a0c83b0aa5267098246544f3549c110361cc7e91bedbfdfedf6b9162fd81d79fd8cd29e2e7d34cd6e9326729f92a29174d09dec36b1852169a73f461b8004ca83accdd7a6b5286aaf50ff8cd23eb00dc9e486af0f38679831b4ac37419ca3ee3ba69506dd1b9254b1d2d30db9f4dbf17b343d6618afb9caaae735b2758d85fb1a9a73ff3f0d1382fe2acac3fc1ebfa05126573aa5a2c5e3aa405d402c967ce782e98588e8a62ff24e47d72b20cd6c334240677e4d6413c4acea2650a9af8f3f98c9ffdf61187bc23257a501c40fa34b7f7977ece195f67baf9dbeaafb - -COUNT=31 -L = 2400 -KI = 82c5678ab336f7e2b722108fb8e5969bd84995228818f7c71e833cf24c93422c -IVlen = 256 -IV = eca8e428ba426736c87bda418bfd4f9e61c24078bb32a5e729ffcf17857f8ea2 -FixedInputDataByteLen = 51 -FixedInputData = 029e6a5a7938d78a3344834045b72d97440cf8b2839943506201a7bff43a92d2c874499fb824d136963bb392e2ea7a42202c68 -KO = 9a5352646a465ce9aab610ecbdae71b4f54c8dea570755581554ba04ef7c5f17ad18b56def76ae46fbc0a81bd84c02605bcae91d85dbc039e0760d2d1ea3fff3c4c778d1c64a84ab76774fe58ce18e155702dd3ea37c335bd39c71b9a75049067a5182686a5817c0b4386c9dea748a6f824ee61866fc0d2eff813f065ab3f09b59bc2639d7259ab66990829f3f9edbba31bfdf1764b3044e4afacba3a1b02781267e59cd111019e9c165f933d56caa4d71b7707e613d30dcda3d6007f0a4282a30aeb00d3a8424f2f51964647f6b79c86c4f907fce8379623a9162fb8153aec59da27a99f3672092572b10bd7a8c57143bfaf5478cc124aebc20a64f390e1891441b77c3226cffe07875ed636c4113aa5bfe5afd6e0eac0cf56205c43120d725141c0ae53bb68561088559be - -COUNT=32 -L = 2400 -KI = c809800dd5a4d6758009d193ce6f31539d18e786e523fa5c2733021a038f0b06 -IVlen = 256 -IV = b4d8c772641ad54b4cfd424ae5c002fb8ed7465c47cfe5a6bca9c23364df2834 -FixedInputDataByteLen = 51 -FixedInputData = addc4b32080408ee713e0c52828920e72bd1c887838e5c424c79975847f6bfb0b7144122cfa4ac28d50a022037d10fd93dc374 -KO = afc58bdfc8fba8361b97d1344aa1dfda6ffbbb119e7cdd3ef1d8c9f415a3e4a72b530e92b3c091bf5b01ee0c68f36cce0662cc37fc143e50a723e0e1058174f4c042bfe3baefe224d774313ad57c1a9cb131fd16620b38b919147686a79bd5ab5323c4658252a43530bcf92b1369d11d790d2aae9a6794bce97d46a6a408d154a95ae1b3b4bb08594c96f42a04d62e8292f7ef2a803e4d7087b874f47ada8194ce2c420ea6493bbfbaac7861f540b01b5ef2dcd664d877537344e4170dde8354689617ef8f32786270b390b5efd9114c1cda321ca45a0a656a4aba0b28f3ce4e4502eb767663907361909af431e90fcafa678772b1cc9d230b84df2a043985e8fbcb323c096f52ac583e2083bb2179959d3b0b811e8aa973724bf3cff1d570850bb676c433c529115f5de98a - -COUNT=33 -L = 2400 -KI = b364f08f63dd0039be7b0be756a56297d0e8ab436229b0d5ce86c03e17643ecc -IVlen = 256 -IV = c713902643276500242b4b17ead2eb1c63022000c0135292184748c32efc0cd3 -FixedInputDataByteLen = 51 -FixedInputData = 15b13d79e227cd67319455607dc65492c8510d0c7d4dbebbd9e67d3bdc5d3c1eb35b3b8c9d01c65cfa49c318c43518d8c7093d -KO = 73643f5124abd62f2496fe320ea0513a4e995e054f40891db0bfceb3f238ce757475fc93de80ffc0ae500e78fe2784582952892be2c7784d285c51b79e7c86ec37e164ec5098a7a94d02c4e45774f406dc5c70de41daf9bb8d870c76c9c7eebf159a90c41bff5cdc8941426ba7034a04d5bfa2c9e341ddabc879303c839ba6a64a12df0206f885f06fb754d209c7c298e7a39df49499962043b92c5847488004d8e0274d91160d7aec29207479d7f03d9e886015dbb536a2ac62cdc065933185e2cd736e4f4b8953981836d65087b9227e9077aec965bfaece921d2377f13eb9fb52b4896467de090c5c0fd23de3debe8be28b9e9414bef65562b99e0c8fb10d9868454ff3c55aa396b778948f36d9b8c29fdc91fd79c7b30775467e8e7b4c54d301dc684c25ce3d661dd6f4 - -COUNT=34 -L = 2400 -KI = ebdd64e4231eb4c3dcfcd91473f3a39a9580e2b934719bd3b5c8010e6a76e2ab -IVlen = 256 -IV = 5fffbc89bb3fbf53c19f492b19cf99e3224d1d844deff9aace81efce8768726a -FixedInputDataByteLen = 51 -FixedInputData = 518d47e32a1e68e507197f8db721a3a3826e64ae92cafb6ddad6aa55bbd1ff5e848a8227fc73609b3ff9e7a3c56a3fac01c72d -KO = 44ab85efa3f4e090111bcc083d2520cfb4773eeefcc35bf629d460d1c5f575c2c5e7a7f376e3841dfb469496659b3d83f739f583c5250efec08027abccba71e5f7596f4cd286b08277fe07f854fb7c9c27ed9566f0d4555860990a234111cde97d64db06caa636c0cb2db2f16d29d3ad8c2dcc121a56ced60da2f598077103bedf8c154f5b83bfa1c37f44866274fed29ef07120dd89fda4aeb120d7ede24dd07fbb693e64c1186bbfc95329b52f87ab7eba24210ba050178a9f72a20fdb28faad0c9dbbdf0d76815de3ed1d112de7dd513e8bcf75a757e6a64ffe5146e83c1910ad7cab6965475c4d0159bced750136e4bdfee8ae4f9b07b6a1ecabebce61525731a45f19ff9f2eaadff1fd245144ee873fbc45e84d3b6d0151f82538821fe67b84b031a72d8a33af43011d - -COUNT=35 -L = 2400 -KI = d972a2b5fba0bd14a7557bffb464aa01c6e473c8272d0004799a9f3fb419ce96 -IVlen = 256 -IV = 996ff75c0570e111abc25f5de35a5d39ed05865162be82a6063c04cd39ba13fc -FixedInputDataByteLen = 51 -FixedInputData = e0b77403e46365a9279ba97c1a042539374ba6ca0fcd0479d52c7e072dded9e8ad5ff16af0b06bda2b82124f9f789af99c406b -KO = 7b18f1aaee350cd97ba33a4dca0bed94e557eb19eb2d3bca5393f64b9b80fb510eaa46b14040b76ce88d754cad1e2a421f6ef1377e6cfe3df98e27278799165cc24d42e4a116ac8a00a6a5b151d2af55a129670914f86a3ce2733442303a9450747ce299ac4b97b232a517cae5636c40e93c74ef25a96bfff714657219170a60cfb53520be0f5ca924340d18d73cc59153db90745aa90d5d2e99eb91ecd4bacb65c5a8dcc523b482ec44f03566f4e61fc9ee9f7823678d448577ec1ea6ed1ad4174a455986bc2c3b2902c9c97ceda86bc53b6d7f43eb453c3cb4362ffe45d56d07474eda6f544cb553c3a8480d71de3a87040dcfaab06ad3b55bef05c4d224219be918d26f525627ede16be84e1211318936bb85491f1b70529e1e255adb0bec45f1dc34bf096aa8ef41f181 - -COUNT=36 -L = 2400 -KI = 1899c10867fa6dc4dcaaf40bd307b72849dced9d06740e3b7ce4a55bcd2c5a6d -IVlen = 256 -IV = 51648162ff6622780b3f82835decc3765ba6b3f141fe4ada27963cbc6f48372e -FixedInputDataByteLen = 51 -FixedInputData = bdb7842bcaf71f41540d4e23bcdd7cc32f0c1660712ed33ea3eb87db5f425ec7794b2a47930ee5ee966a52d9c9a8625d40f3ec -KO = ddb090b2c7f0c09da5918c6e4e5027ef0b35591e3dcdfa3f385496013007db3daef7e42f0cb819f8a191e435f37ae7e7463822120fb34b7fe0a5b8c23b0f6ee678b8847f2d6565996804df02cdbef80359f60a435b6430e0bdf492a234f201eb8c972a12ef2832fd818cc3e1f94aa37213594d0944a41165d23940f98d887333559150eabd7e7c2830925aea075cbd262d6c7253ddfc5fab7f53ca261af73f0692c14748da8121e49b1b178083e647c3dbcc89ad83f6dd3dd39b1d39e8877feb1df0c9d9a45784cd566573b24af3d21e01db881629612b00a1f7d3ec81165e4945113809dcbc777ec38d681e4e25d035025d91279ae9300c3fbe3f8909636eaeea6272371d87753e9a48fda68abe8b6b65857362a63ac89127cfcfa39dd0ac9c34615ecbe5fd53d2f3d370ce - -COUNT=37 -L = 2400 -KI = 71189bc8275b55248b21d77f01cbaacbbe39a6d9e540a3fb9587ace21265dfa5 -IVlen = 256 -IV = c3d905930fa88ee0a59923917f87fe6a2861f74ddca42034bb47e97868839f62 -FixedInputDataByteLen = 51 -FixedInputData = 1ab7561888287fe53f39824107260cc3852d36724d78f3ed0b2d9f0efc0d0afbc0f25aae92ff86fc922274d89febe831a2a9b4 -KO = 0c0f2db2599b2e40e26dcfe004c163b7b1d7c81eb923a413d9c89ca84a51275f026db30a685092eccd25f5260baaca572d3b907e57fd9914f4a7f0924a548f7950010e48ad32afb3f6f046afe3b57ec97f19244bf0575b403f24ee9f0b06430c4bcbb307e8b0c5048b23370d01aa61b5f38c84e860c79318874eaf77c5aa8aad576a5c4ef6e4df15b5964338322da6bbe657a2c2fdfbb50c7bc5b180df2f076a5b7d4f1d2445f5a1acb2ab1aba1d0e216fdaf3a6274dc76ed30e07ee21e63c150a6f51f5a577ddf7d4a4b687e273d27b8bacd519d0c44a45f49a5bc861aecd64fdd6222e3bee5e412f40a9d3e2a27eea62ea56e46e50f19884ff5ac6729488e12c8104afbdc3ed54f48a40141c2cd09aeb95bcfe213a49bf177a50b1761fe285b295cb62260d307ce4b4b2aa - -COUNT=38 -L = 2400 -KI = f80769db96c67679eed8fcd2a14053e10a38e9cf1a3ad402613aef9f65265ffa -IVlen = 256 -IV = edf8d39f63e623a32630f497bc6a754f0f280949acc54c116173be05e22f9bc0 -FixedInputDataByteLen = 51 -FixedInputData = b4c3c7b3258bb8dc07c8520daeb9f63b9ac3ee67f5b0aaffb7cabed661aca5dbc6938a821545bad6c22913f3bf618165b36098 -KO = 1548aa9d0422b3878a972f8cd8c687752bd2ed8af526d97886a2913688d7ecdb50cf613d79a4381c6ffb932ec4821fa79d3f0098c63922d64a51249011a825b98444f89c59c050febb23123b6f8fe0822c46d58c4172bf9802b470061099d3dcaf1ad08014b9a63d1a57ec48910920e48458b19df19fbf93f044b8084cfc931cd35962b8699dca2105cf4407d9dc432bc04900e83968a20d87260ee5f775a967c4df1f8a45592c7c23ba0bcfc08ea3c4b863b3fbd9c56ed42d102e4fc4f0120ed195a0dfb3fdf51ebc870ad0d51996cd157e5eb6b5b7248e9e07ef84c219e7b208196c0f0cd30ac0cecd22c2129e7fe735b1c8a1782251c44695fd5ebff271d961a75eb1a708c13bb20a370985e1cb2820b9db948e7710995bd0c33d1f607eafa776123c767edfd79837702a - -COUNT=39 -L = 2400 -KI = 570db39c2fb124f694e319cfeec636bcae9c2761055e4162ff88721a2c2b43f0 -IVlen = 256 -IV = 8e74f6aca51270473cef0987fc2f71db64e08a5fe72742b400ac124042e14692 -FixedInputDataByteLen = 51 -FixedInputData = 8027245758d13525d87cce0fbeb5680486c79886d17bedf2a7f51d05b59fbf91e98618fced1de1b68c63b1e02201b2bff03dda -KO = b1c5b8af4120fd93ae3628427937bd39c20123350fd101810eb95e4d3a55a15be7ffb67e9578ecf68fb24427e01017326bf9e730227df4fc1342dc45c6d613bdec8e98725d90fb95f065483f593aeb4ad0ff77dcf06be9cbc7f629c80f9e834b2b48157f722e6256b1d6556525873036279b1145b6ffa0fb081f1890d39898a0c6ddaf1b8311766e008fc94d700f5ec47f7aa8014c7e2a1a02a98b2cc958b541268d3e1e66370ee88a3406533d0ef34fa0abd437c8cc3991dac280100eab1dc2efed05a76c786cb70459c7f66f315fd4f6332ce47387c0d834a3acb45ae4550d891ce09fe11d2dcbdf3ff72775805d9b831cffc11d50e2b287aa9d2102d78e27df8642d8b082352ab44d45d34ae6cf522756ee90c5839d47a51c0939f2e76e7fc675f626fd5a794699f5d94f - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = b773a074a89355ea774081ab1b9622a5968bc8362f387e3bea975a035346dd9a -IVlen = 256 -IV = edc2adea297333a966fd2d5bae178ac63ffc615dc13ea1cc44a346e7cb56398c -FixedInputDataByteLen = 51 -FixedInputData = 46a8679aa3623d7718ed668d90d6a8953c17426e6d12831fb31281e48c20049e2293aaec7bd5762b933d855e9aae5ac1f4c474 -KO = 111dff19034414b2249692e29fc9d0e66ad54b9e1463e4588a59a6d5a5d5b8e5ead37f0a522eeb74411cb4d01420d8dc6bc41f420329fda471cf42ef2f73c896 - -COUNT=1 -L = 512 -KI = e2556b1456ecd030b9c706af154de20efdb53ed6f848af11402a706cb71abedc -IVlen = 256 -IV = 9c0817e6d98d5ee4f3f4e952315d3c0af24aa24d80e9db87f493a110a324faad -FixedInputDataByteLen = 51 -FixedInputData = 1934aeade40737757197821b493f3878096b33a302a26cb152c4b9e3cd3cc70fc4a2a46836d6fc2b90cd72969f1a76898dbf53 -KO = b04d58d89bef7d376c76d4f6c569de17d6e9c976a57ded3ee4eb4f70dc4a18607374ca49e53bbb420dbfe22b875ad79f53673663e662b09c888a8721e02b6bc9 - -COUNT=2 -L = 512 -KI = cad85612fed2c7c24520d8dd352cd13e9bb335c51bf6aad21c71a698839f1278 -IVlen = 256 -IV = 8619f7054d782160ccef5f411238afaf1bae56ceb785ed9f01c788c9b0c3ab82 -FixedInputDataByteLen = 51 -FixedInputData = 91d5b435eb4521320f3f4af50802bbda0ee5cceb98e9439ba6df506d1622af5decf33e8466b7132840d39f15dbeb05e84cd995 -KO = a225472eb82a4cb8023603509263ba7ebaa5a8d0344a3d15e261cc0bed8f658c187027069c5f8801ba04658fcd36267f48a1d289ab1875b9580abc9ff01b5078 - -COUNT=3 -L = 512 -KI = 7af497e34b68388cf5b19d61ba212190af65f84997fed01b5554a9b6ed312433 -IVlen = 256 -IV = 2464ba11be54b083ef0c9a66a49faee24d3a384451774ad0fe49d9bf43538deb -FixedInputDataByteLen = 51 -FixedInputData = d7aea9222188b4472c2e1fd26e445e27808a704e8fe6e624a6c7af69719cc2341ebbe03a5b0a98b9261d7c64eee57a65ab58a2 -KO = bc5f30a1674de431d748cd141999f360fa6505d735360910fd8b2a7fa8865dfb129d212f4dbce9e2148e19897d183ed673ef52bf6df1de1a3bcfcfe87f4824b8 - -COUNT=4 -L = 512 -KI = 1208bf517c2e61f786239bef58ec08618ec272734a679b76846010b885f5a8e8 -IVlen = 256 -IV = 1867511874e6b59f8e953e1a696a29fcb02035b80c671042434fc188bdb1d432 -FixedInputDataByteLen = 51 -FixedInputData = 74027875dc3b3242e665c03ad4e8f24a2008fd60073e262402c276695226c524901e54a5a0d7f68d5f8719ca3792feb54174ec -KO = 02cea99e84ee4dca6cfb00ec29199893fccbbf099baaa3526f5c714082ed7613e8c392a0c6f6b413cbaf561e301d12bac6e13bf1a5d50232c9f320b5131ad426 - -COUNT=5 -L = 512 -KI = 73d4c850f01facb8e1941f010f4ba8c31a42533b8316eb04cd5fbf01351f8692 -IVlen = 256 -IV = 517b48011583765265ba98d25adcc40b12903216496fc45040f1c42b69864bbb -FixedInputDataByteLen = 51 -FixedInputData = 30b32182a04250ff8c21137a36cd91f2ce3df9358f8cb432ec923e317b1935c0ca7355a6b7fbf8788494de5d941be7d95021ee -KO = 9622ee46617d53a669f5dcecf169ebc1f29d714c08b166bb65d26659aa6c10f7c68738b883a993ef371fa55ec8dd91d85243f2d11f56652c2693f26d8788fcd5 - -COUNT=6 -L = 512 -KI = 83b9ab075b41be3515b1ea09dbfbf8841efdcd50a3b44506e2a68dfae026f051 -IVlen = 256 -IV = 5c6cf0021417e9df715a56c26f6025e86b6c3b7f4e986ad9cd9aef941b06de53 -FixedInputDataByteLen = 51 -FixedInputData = 1a0b2354707b9145b1e5eb308703a869bf2a9213e415ad1a764115a0a51b9758eb61bca2b90d97bb0d1b74fe793e7d3459b216 -KO = 677ab16872d69dec95e7e730b5ba3f3dd27f7c6936f9552a6c4e96243a77af41e68ba0af4838400422c3d60401c1945478d888f018ad1a26ecdbdecd4a87b7fb - -COUNT=7 -L = 512 -KI = f3ff5da625dfb2662ccc7853a2b57104634c518205b85c678fc6c661fcdbe569 -IVlen = 256 -IV = c15f451ac9a74ff23a5c43674d212b9c63843c397df5c9fae1c9566b1ce6d596 -FixedInputDataByteLen = 51 -FixedInputData = 000125f31ad3d76b21583aea6d2e5fdb29850b5bc0dada8b433eba4464e8f5622bf089c6ddb3380283461cf13681888c339301 -KO = f0651a4bc1c744b111234f530009c42b43c50148411393b2da9bc55410dcb2d64ac7db3274e97b949f1ad86699eb10916a23d220bf15c71096c110490286ba85 - -COUNT=8 -L = 512 -KI = c4025b73e8b018d8c7c0fb2ad2b893c45fe6124b473de72477c6bf5839a7a7ca -IVlen = 256 -IV = 2750a3f84583faab35c409faa585d714c0036dafc8586ac88f157ceb35f9218b -FixedInputDataByteLen = 51 -FixedInputData = 3f90547ee9a9d83aaa6d9ba9f804e1c9066817a04eec6fa8c63f9763682ef7e7712e03c55c4b611ee148257c94b4a2883d0ffa -KO = b3ab1eb8734abd4bf89d02ad6d6b83c2f101e49a758f1e11fba107ef1394f3570272ab970f1e2b6e25ce36044a7f6b1a1581d9802eb3a07b9b7a74836c7f2c7f - -COUNT=9 -L = 512 -KI = 40dbbffc22f38ab71273e81d8aaae67e5548e8a88f46c2d7fab167e1d4b962b2 -IVlen = 256 -IV = cbfaae07cf91a5d6c373311c2e815a895706a108a441882bce1ad6cd7457e272 -FixedInputDataByteLen = 51 -FixedInputData = 1c78ccc5246941269044b197e96971d68759a7210f5b8b2d587a24f8677cb93a345a91b89b34deaa21450f26402b3d1559fa83 -KO = d8edb357f8cfd7e6207354aec073b2ac3134e14e76a9c5f44de5f682cace33e0d7d1f2e698426e05aa393a3aa51a6aaa7dbff10e6a65648a71f49a8544c88df1 - -COUNT=10 -L = 2048 -KI = 073408b18d5d4a5bfe8a8726dbf5f9c5afdac4d9d3cea00b898c9a1beb57517f -IVlen = 256 -IV = 972b4ecf8d49e3dbf79ccdac754bf28e1e80cfc64c98413c0e1c295d4ceaee21 -FixedInputDataByteLen = 51 -FixedInputData = 6abed83bf7c168409a3908e270b63e88d904f7e69a187e5bc6375c47a455dcef68d1bc02197e365547c908d5abb2e8db6ded93 -KO = acc5e96f960bb81440fd17b1b8e535b036c87c5d1e44343fc91fb0af7768634bbfac338830b08178d970b650284b5e182cca166a2623f635c889a1b3640add04215bbdcb82f95a7a93d0863d74eb4eb5da3fe37e5f2864d5905f0818de738fce6b193a11279019a2a58320278b1420e504e9fd27c19c28b3ea96da5b83849c7453250d8993a06f337ec6e4becdc06e1b8210c0189c8964581acba0a4bfce45c0a6988f84ffd679434398c0bce97be64982258cb22d1f5655e94ad370da4d3993f42e4e5f5962fe315ee893c290fc4aaed864c9a313f9b4dbd2ff03b5df792ad16f33ebd6b423c54f2c356f99c363aaabba54425eb2ad792b662e7e042d4c93bc - -COUNT=11 -L = 2048 -KI = ba13bfab51803f037a6a75a3088cf12ff66f3bb4ac81ac23ff4364a6488fb084 -IVlen = 256 -IV = f98dd9d6ea8ddcc2767c1e8e2c591bdd8ebcfca95823d60308b5b85df83d4187 -FixedInputDataByteLen = 51 -FixedInputData = 9717ae90f6a025e58ac797508f07ebd1a9fe159157a916431be9cf491fe8217e736d4902e85dcd28ae9a4793d735ab9c9fffe1 -KO = 487edf50cfea086f15c2484fe51ea2aff6dc5f0ac05feb626174952ef24a472ad82993c21fe44a7778acfaab7ef3d78bdd691e18fb7657745d590261c450a7c9109718927f8b68c00b710edee402c02a0b0043f324c66e23f96e1f55d9696412efdda2110506ce97f056a7b28b3c245134c6a38bf6dad4c6dfbea7259c6597a67046d0945803e2fcd21aacf3bea29cd68f74ff8a0011291aa1f1ccc61cf77bd99b415cae47bbf0c4d848271b327c4cb93fd8c4e48a5136aafef5090a3b9ed82aff4c58d828d3444abea8f9b6718d6ed360ac1333c2af8d487e5f4600880222a6894b636ef3d63a02a891eb9b210deb6848aa56260f51fca56ab006e8753405fd - -COUNT=12 -L = 2048 -KI = bc10259196e7a6ecad1ff6cf4e207484a92c9f8f26d4427fcae78c7529b301e0 -IVlen = 256 -IV = 670daac781c3214349bccd5ecf97a0a7dae9648b43cf263ceca49ea45e696ac2 -FixedInputDataByteLen = 51 -FixedInputData = 2a4b82c53d80559371532534feda839f4bd6ae796b15aec85a5e5520647b0f4b6770202827a62013692814f5f88f4f08e748a9 -KO = 85977b376255105703eb580426a3aa6e8340d621872595f506b0e3ce6dc83c384bf9f1433b2acfd69d1d176f82bc6231d9cca4c16b1722907d6db3430d48a493e37c4ab96e0520bf2d864fbec9d297a41dc4410d4ef9e6e66cd2b728d1d3ebc320784b43cd35707775047f0c58df24bd13fe911027a4f938712940622c2c29ebd0f6e91d228022b0b440f85a31c34a203799718a30a474499b51bd0df15ff8f2770d7d204ac24b5454c21328e181f0a033f061c7b5ebc91504ae92fc18f75ea33f26764333085ae40ef9b44f5e124c4c2bb85882c3d6fa1c0d41a4d3e04c0248062103405b7b535d04331554539a685f52c65035eaa807e96d292e51ac701b1b - -COUNT=13 -L = 2048 -KI = f6647cfff69108d598c3d0f8485dd7e5614c0f574920920ab86a87a0d1ab2def -IVlen = 256 -IV = 4b1676d9f8193995900f606b4084602e2fdca95c5b5a0c2d1b01d512b5d869b1 -FixedInputDataByteLen = 51 -FixedInputData = c9251f3df08ab7cf9e05a4c3b47997826bc05b2bd193b6922d47f51c65e180323cf0951928599e3adafc6b4f40b38e33e22ca4 -KO = 2c9c6eaf21319184b169c3a990142345cd0b112712b966b132140cb2017eac7a1c876dedb4a9dab024afaa37a42c41031f386a340a50b0a79ec1856ef9e927250f4635e47f0f15b5764e9eee8a8b36ca857d1d02fe18e04b1c7f02aec575e4d25abdeeabb880b9aa561a4d44c6e096d32236646713f449dc46c32ffa376b8c76a12c6bf14987cbce4f135333a64fc6558e64f3bb45dd0cd5a19a3693a4bb00ec1c30c6e6fad4ddf3258f14422cd58ad16b090dfa94d32045c62a193231f77ef99781c3ae5f5491c5c3273f651612851a96a56f3c0fad3cc42cdba31b6fe2c255c92b6d1beb6f6a67b4bffc457035dc71628473c9626b89af7cdae05763fd96bf - -COUNT=14 -L = 2048 -KI = c844823a251ccb52a6674bb8f64c5e72872e005973d6fc312e927d0dfbe5a5ad -IVlen = 256 -IV = 287b4f9a1b052236090e3f43a3b950d3a67d33c8ae1e4fc6a1346d3b41d85ada -FixedInputDataByteLen = 51 -FixedInputData = 6906c4d1156a5a20d4f963dec20089675e146895ff76ba28b1883ee3dc0f24e673fb934ad8e203b1a2f57fe7a5829343fddf3e -KO = cefca8bb0c946e3c7495324c2867450f9f5a6559fe6d227df1652d8811c71a293885ddde5bf3df32c54e4cb3fb0ca2ef806be2212a389010f47c84da74af7060fd14a23a684692a90814b401159deee9b89d03d5a461d6127ce672b315faabae3307bf5cf271693c60ae569c67574bc6249c6a79ecfa3b9da987afe13fd4b5b0342d72af024b7d4a0be402ed2d4ab12a335f2da16380accb13bcf518b9f0f6120363b3b4757d1f00e69dcb4578fbff0daed0c1f4de9a34aa17547ae2ad321d4ab9d71db6fc7c4a6cff732894d54735226722a56299599249e3293409e2b899bc266bb9c1f005a0f26720a378f66ede7310c13c2d8ac3290a0f9200040e58b3f5 - -COUNT=15 -L = 2048 -KI = b7a297a94dff9fad6a9bdb3478486f3a1b58e6de5fba4c12ef2c411e47b66f91 -IVlen = 256 -IV = b60a525bc3e33612fcf7eddffc401488fc2aacf561ed552e575040ec107be575 -FixedInputDataByteLen = 51 -FixedInputData = 58df3c16e97c0fdaac3998fe5653bc577f1983ee6c8f8b7a6bec76aadef9557d9cd3d9868c658de6bf45ff099fbeb633d5cd69 -KO = a6a0352a5083289ff0d890ef2c6105a90a77cd91e5eeb9c3f947472d8de67660435099c66a8e2af94aa31de379567ca0b333ed369e9a39084d5b028febda15dec876c23dce0ffb0923e7dc5158ca4bc73ca38052f2f46df80240042db99a5c163d52053ff19d799f72161a34fc2954e27ab0cfb5e884f0047346bf1e3afe3c7d617e7df4009b2bbd4048aa55fab022a1f07e557f2767c04d562d480e2863f5958d0a9ff68b7274b3f01f9510ec1ceabd26cd86c02b6afd195fee211be3441547a5f2fe9a51a35aaccb9c128acd73569ca431257c038a2b7da9214150e36b7e15ec1a8d0c3680dcb410564804c6a2076a6f0640c7959bf08bcdcf7b1d7214d02f - -COUNT=16 -L = 2048 -KI = f88d6332cdc4eccf014d251d97c94b935e37ecd96c414ee5c608896b3d213fab -IVlen = 256 -IV = 4a1c41f3bcc07bce1e59e63da5417e53da8a029b2f7b7f6b177dd6790ea6c9f8 -FixedInputDataByteLen = 51 -FixedInputData = 717e971e40038e87dd77e027b74243b88b09ae9aa5dc9d3114635c945a59e5be9630919a760b8d292b0d734a597223e9c2edc9 -KO = 0066e578080d36d6494b648dd97def1fe84b8021d502bb87d6a6e30355630ab597b507b71dc325a1237753f9a6720b525f7ba700378bbcd6e9ef4e3a339c1d1ca0e628748d864d41b8fc6c730aebce00c273143ce90dd4a33dfcb24dab384dce6814d1cd23e49523582459ecf2e596f3984488eecb94a6d21f630f65562777b98f785360703dad150cc1f21279ebcb2e09918bef33213517f90a785e63fd9b2d1e35a1eb15299a13fe9cb51dae8f37202d025efcc2f8386fc5e411d7914c739b2f38e9e51f8f879dc205a8fff30e39ac97c084f70e9c112ea5b3e3aabe90c1d77e11bac5c710b07ca06c6118e0e9a126022ae0784ae89a2f31ac68b296f13725 - -COUNT=17 -L = 2048 -KI = 67833426a1635ddfad1ad1a57d66816a274e88e8654be174a0179f9499fa1ed6 -IVlen = 256 -IV = 8a70ddf95c19b815cb2fd0b71ef5bfd5d825e0e0a5cc169a4552755617f0f9c2 -FixedInputDataByteLen = 51 -FixedInputData = 527ce743446b5a7781a12bc99b3617fd2fb61ef0f259668940179154a1d96afa0a9b8b8fb0b77bc304517c3f67842a36ff0165 -KO = dd4e1c371549a5448880c940c6946bdc50e7b2728642adab6eea542657876b9bc82afa0d7a9aa8450e71853e6b1581bbcd8570194e519834f98ac93a4e7229320eff8a235d537a774b09d3b96e70a7c345458e1cd1141b90ce2402f447e9b3ce1b568442cfbc84f6a94032b6406399a4eff30050c73c017c2dbaa65d0b97ff16adc51d79791180d3203f42c8f378fa8fd34b342679e9b4c158a75094054ed7b79ab49b2cfe6815f43862bbabc689acbb66be860d7fbcce35a92f29515670165814e2bd714c5f27f1828807cb3021c8c19c6993122073c1df52d0f712936d1371d9777f4f5165ca2c094e7aa6902099762c583309680c8f68ebed4e9cd95d1109 - -COUNT=18 -L = 2048 -KI = 2480c6a73e1f12b1c95b73360ad5927ffe95e55242c3d1f61385535ac8750f97 -IVlen = 256 -IV = 4c59c3118434689efbc323386e3755316ca56b0a5699796ae7439aad28935853 -FixedInputDataByteLen = 51 -FixedInputData = 0cfb2b921f386cf924919ffabd7c06cb829d453ffa086befd8cf9bde27e2ba55bd0327a00912c658d93f14849e64a8a5e19806 -KO = 0bdd56169bf852b006f1a716f10bf2cd3185e15ec7f8c5ad91b66a35d82fdea5c254a7efd759fe765cf9d2128bea8bd9d1e34182fe2afbb6b2c0f01f53c6d28b6a2f4ba50e8017303292b93d6f1b0ca7ff168baf8914728849e4ee52ee3d25ab82ba766c3d7f2ddb827bef042e01a92aab1bd3fb366fa5a416d758eac48f032e47af05cd73c38c53e0f5154a5705515b7deb0fe6a3e3a1d5e3330699fc77af40472aa51f7f7f04bbef00c658725cc653325821b2df519b5f6bae329deb14efcfa7dc77586c8f2a780c17042ef8cc9c612a28224db6459edda77a850d1639142e0627912107e25f0bfb1294586bd809f84b653c893efd8f8c5cbcf9310a034b25 - -COUNT=19 -L = 2048 -KI = 1b8a0f204b37ecd6e6b210296fbbc3382afa0404fc7597fac88b573fcdba4f90 -IVlen = 256 -IV = 2187d3f86517317a0cfeff3b49a90f32e7b71171f6693c30f9f3e21dd6056ca4 -FixedInputDataByteLen = 51 -FixedInputData = cd277e97a712f3bb73dd365fb99d5a9870cab792b84aea44e0e42b1b54607d69020c059e1c7f7b79c591e076dda84cb317dc85 -KO = ca761cb50b0ab369c65adfc7771ca62859be604c2e7e6aa2c586c02c7c7e293a54f7e0f2a0db7d5993bae223aa0c2c25f98a67761be095147ee2090d058fdd94b93210c5f885629a6b54ed0a33217b71017079bdc689bd06491c9a90559ac5f65ace0f969d6b5d76c9e8ddabf9f5eef2e4ba356c5bd7963c279d2c946d379676d9cb1b0724b76271f8067f5cd844000468f6e4494a173c3cc32b368c68b893f675850ceda31a4a3d4e764a319973a01b562361e798e7ad1fb66cec8a885f5c4fbf5593f7bca938364904cba06f8a721916d9a289cda982adb0379952bae30d1c3b11d8a082204bb38a259c0a01571a9fbd8a745df102c5b129f3e6537fbbb0d6 - -COUNT=20 -L = 560 -KI = e94da5ff931ce6a2a18ec85486a274064d532d95a4bc99acfb8017e36f0b961d -IVlen = 256 -IV = df00e90e34656292626e5e9dce7cc1294c567f894359c43318b80f15779fa6d0 -FixedInputDataByteLen = 51 -FixedInputData = fea85da1956df30e403bed07abb63839ceada8dea7eb61df1492b188bbe1849a76b1bfed611105e8f9292e2a7c72d4fa6553e5 -KO = ea0daaeec5d5898819ffe3059c84ab6493abf2fdea49fc99fe6b1d49889e66e6ed26ff07af3f02a35c0489876f11a520d9d764793f66743611fd70d147dfade5ff3d348dce29 - -COUNT=21 -L = 560 -KI = 3cc068042c3e012f03d6d673edb2e811c4e4b27f53d01b6f390a475cb4efe001 -IVlen = 256 -IV = 3496d6f6dd1febe83bf59fee8a191dba4afe244012a218ed74fadfbded9a05e1 -FixedInputDataByteLen = 51 -FixedInputData = 74d565517738ff9839ad0bfb6196cdb00e44865e67798c87563a312307921d7eb186d3752179636cd1f8ab0a1e70b482cd442d -KO = d9fac9308c5d87a47b40f6e7e76396d612476a1b9ef0ee0b3176862a4cc360843a27990d9ecfca7b43034ea1b6d5196d7fee5068db8c8ed0a4caf50d65364b569b09f8fd2324 - -COUNT=22 -L = 560 -KI = b0c26f7a0c2c1d14fefeebf2d63b9b4a53c4dabbe1f14cf5a57f5c99d96ae196 -IVlen = 256 -IV = d9637214c0b5a1aebf293bf9cfd36c395a6c5966ebe27b2b5c230b7f585b969b -FixedInputDataByteLen = 51 -FixedInputData = c8edb047a0e1c8693458da7b02518e3ea70509f9abeb97be953910adcecc2b63f2f2e1cfd765e1e3d4cf899e9abf52dc8e9b3d -KO = 5955d4644c5170e86ec26e5c0bd3adb9154f192b5f4eede4798cbb486a53a02bf5938ff77e2a5433af5c5047d0dd62d714b8f4bab5a0e8bcff4a1c02608d0ba436a6e259177b - -COUNT=23 -L = 560 -KI = a573c014f558eea924d8ee57cc223d98e3b15821493cc7fa6fc4a871eea9f48c -IVlen = 256 -IV = 99ded142a11ee24ce2d897bc0ff77fdffc35d8714b597389023bf6d3147bd09f -FixedInputDataByteLen = 51 -FixedInputData = 967fe495afa16da780e43307179c56f4c868e6e48d05e1b7ca62dcbd213ff014806c8af0281b61057b1ee7b47cecb44823a445 -KO = 831c4c7cb7e0cb863c9f813915b1be3cc7096e8de695c3a12a30c65eb5cb87bd4e0e1211e7e8adb73dc8d317109675e99141d374d001b407d2c9afa2183030a3ebea7a4ba773 - -COUNT=24 -L = 560 -KI = bee41b76697140fccbafad9f0ef0098f7696c344d587884afa73160dc0828e1e -IVlen = 256 -IV = 7e8fe9803da96fcb2deafd3aede31f3811c64447bfe93a549446fbbd10c51840 -FixedInputDataByteLen = 51 -FixedInputData = 8d9ead18fd84e554f6c894717bb4c2a6c6647c1b73b529f2cd2370b08742c164f9621be2c173c1632612da200b6a0716bf8064 -KO = 35824226512b468e40d7cfd8822e307c62835905fbb2f68a6de37b17a7a508118d773be9dded89893d6a217c7c074d9a9405494202557ea07049e74303e6700893d1640d5f15 - -COUNT=25 -L = 560 -KI = f5728b80e1568eaeb2ba8303aad2b8904ae047e449eef66de8ad48cee56f3bd4 -IVlen = 256 -IV = a083f7e48ed1091b45c182f61d079fe144a9ee6983c1edb939b672620d35a149 -FixedInputDataByteLen = 51 -FixedInputData = adc9090f8b6f2740cb49b6e332e49e9209b96124200d4bee21eeddf54ea3d24d82fbbbb64b71ac7988dbe7f3ec5ae43a9a09a1 -KO = 06743c7e985748cc5ba4102e9cd222152e2bd0c26270689b06d3f9140a0e3557d817ab3aa21f22c4915ece086b7cbf3effe5ed21545b0710d1b76d7b4b971de8dcce8843a719 - -COUNT=26 -L = 560 -KI = 5c3d79b69a70230bd307e5c65fe0f879c4154751b65a43f49a6934beaebae249 -IVlen = 256 -IV = b8808783901cbbbd41e57290147dfd8535d71ccde83465c10a0dfd381b416b39 -FixedInputDataByteLen = 51 -FixedInputData = 2167aeec2af76ef63807dd18c68279bedd060a9e2ccb850a7018a08a20efca65ae5c3b5b5ac6cfacfebfa2eddb06d304a0bbaa -KO = 5df8530949e4c81dfbc87179877fdccc723fe89e3b933bfd3f91db36e39e98d72549a75f7bbc6373a261f5fb84cc4d4863713427990f644d59117f5244dde6543a0faa1f11ad - -COUNT=27 -L = 560 -KI = b879bb60f8a1cb6e14fe8f5e55a937a5c5e3d598c2052d61c80d8d0a76c3a31d -IVlen = 256 -IV = f4fd277b5a673012a553124f8c6827277560548d16e7a02558d9d0678ae079bd -FixedInputDataByteLen = 51 -FixedInputData = 9228a2dd665e4634c792a4a7f763ad6f2b369b80ac4f8a8b25420974c63a6cfe399b8f629baa628259acde61aaefe275000c54 -KO = 31ccdd5caf89518b8fe1c7f0d00c323702f8c35821371286666a1f1533e760a0d85ee58a00ed6778af791bad00e76f221967d4b2dcfa1995dc0356203b661a81cc119179313d - -COUNT=28 -L = 560 -KI = c1bd4363045237a8acf0b961b4a1f5ede32386cdc06d0fb80aa4b2fe8ad78b39 -IVlen = 256 -IV = ceab2b28488dacb93f6d0a5ea179f30589705d5134110aa953233ef8d8e0486a -FixedInputDataByteLen = 51 -FixedInputData = 8a02974079992b027c58e139ce90c9149b7ae8999191ca37ef0be21e28c99dc87e35211510a325c32491e16db6b6839dbde931 -KO = 79840fa9f12f7cb683409abff6638f18b57b8ba1ecd34f46baabe9c64ab6b6197968834ac2e7099d243ea287ac14edf00a45a19dd30c4bbd9f8daf68ff5fcca0ae45b4de50b8 - -COUNT=29 -L = 560 -KI = 90889f0d91ff7795e6111c407046d3da5825c824b736602ab44b1cdbc7ceb6c8 -IVlen = 256 -IV = 240ba5167b7244bf8d6632a4315a35f9b1f46a8e3e14f4ad5df6ff74c1268b69 -FixedInputDataByteLen = 51 -FixedInputData = 2fc1fda39c9f9e387450b0a9b04eee5ce3861b094a9503ed3b8fc175d67dd378efe3dad88e1615ee560eab13319734ec595089 -KO = 9f75d790698e85169cb55e8df48376f9bad1026f27e45f60c939a5d906ed8bd1902679027fe30a50c89f676a5cbde7abd591db330fde75e17cae6c469f7509a11f7686c98c73 - -COUNT=30 -L = 2400 -KI = 451e7cdd326642b4e0f1b80caf4e1efb15d922057758477978b9349957be8fd6 -IVlen = 256 -IV = 0aba1224134f4074a84baf272ca49d7df9386cd4425653455e1bb0862d4ad70b -FixedInputDataByteLen = 51 -FixedInputData = 7cf137e280ce997978b6645c01cf29b9cab8828b2e082e15142ddf556a52bddbd9712055612781ea08b03d97a8679c795c9d8d -KO = ba2bd6b1b0ac248b9e4631cf5ea09e95cf70aac542892ffa706c4cf6338c0ea369c8a67f6600b5138b97468dfcefdfc7b2dd611922491a73fc57c777cd2594ef63ac9435e4416992f1c5de2e0411d18049ce73d3bb7560b11391c7c4921c2cf203b6b452ce44849548827719a58a9b150d6c6d03d5fe38cc65dbf860dbfe42cc018d10c67a6bdac9d660b2d18776e770fc78c70b934839d898eeb5b0f1fe733fb588a15cff6ef95da1da8aec97ba948e98950351e14af2c583945fda7f65caad8cea4860f4ebb6cf30dbf178683c67c2b25f9838007368c99ddf7ff0c54f8d0cdd54de3d63200e225467b954e52592f3810d090c5aa8fb433b651fe6d9bfb92719c3535b718bb467babfa6fd0e24bd7c96b464e3b5989084d056b56f1f045758566fcc40ffaf1a73314a0f4a - -COUNT=31 -L = 2400 -KI = 92d6d0ba43b893e21c55d5b5734e4056ea27874e54b2a00e3d16ddbfc626e7dd -IVlen = 256 -IV = e5b9e4fbf47b78697c37fda4f31fbe9e85d08aa81525c922c98ea4b01fc5a10c -FixedInputDataByteLen = 51 -FixedInputData = dcbe39bdbb0f8657d790f29f14141c9ef33670f1a5e3d6e0d719fc7617c5d46b7034a003b334b55a2feb252e2e7f4a31e0d59a -KO = 43bc8eae3e0d7c5bd3b932d5f942852f3706a086d50bf6acb65b95eafc230a1a8985949269d49ef0ec264bac4db4d5018fe922756197d5d47ba1808582d7830efdfb4d2f2c76ef18c89204aaba3bd93ae9b1b0e60b58cf720a7dff915136370677b3d8fc710b65b718d348e0285ebd37a120fc883b715e94e3e97c23cbeb211c6f4d8ed35fc29e1acc8193fd0499b23c28bab74869a43d3604a18805719939c009fac443f2d50d246b63185d243090a21789a9a276dc1a1890829b1198421e6faab29a7852539ba2b1b7f0d47140824ffd88579cdf0167ffef193928d5abc76e57ee8eb0d9527b419097f077feddf6ca0580652e86a7d7ac1a4bee44fcd69cc8b14610e576110fe2b4e36dea7f61ae4cb0b5ba8fa00e411f79fed0d44d36a1af22130f456f2431b89a631642 - -COUNT=32 -L = 2400 -KI = 5f8465609ab0b58079b62f760bb91bd92150eec823a9217a203b95c56b57dab7 -IVlen = 256 -IV = d61b68911bb8ce8a593b35ac0504485ecbd4101806a7d7b8407d0458509536f1 -FixedInputDataByteLen = 51 -FixedInputData = 0e1e94d6e3667e66f0c32e39ca38927f2fd0afac5eb49f5203f8e075c921ddabfd41e56941d28c58a8a8162ac5c380151d76f1 -KO = 2e6172038736a804cc321ce52108e6c12cda947ee78a3a630ca7a1a5eedc3bd7114867ecc3abfbfbf996413be85fbd47175dce2e2005e304dbaae465114ee868d44fc853ac4be2c034b68bf355964df96847be3283917e1228b89e7a63ba9e5966e80f47a5bc15a317fe5c9b45bf7bed26a6c41457697397fac0c0cd82864dc7dfe789563e1f057d8b93a85255760cdc4c4c2233fa66753af18380a5a517adf909d8738e96bb511f000d3f5dbeb5f4e0fa84f5f9a29b443c86dc2209eae7d1194fb52418d7f2bc6319db71e0a95ac45500a8d19719ba4fb973fd6c3c509d5271a40663f44adf95119bf112ee6ae7c8789be1362a24f93e98116d5a117ea3b33866a7ce194d481488b5b36e6eab6222d4fc8ba9f3ba19c05677b6a7d560f346c422cd8f74ab333600d19e8a2f - -COUNT=33 -L = 2400 -KI = d1b942af6f8a1821665d9377f2f1ce5e7e018b60ad97abd4ad2bab5cffe52f6b -IVlen = 256 -IV = 5631147f4e609e6fb6ae15de041b381399bffccca37fd938e0de9b5697e024c1 -FixedInputDataByteLen = 51 -FixedInputData = 576e2453f80aa58e1b72abedaa25d46a135a4d3875de725a738922d313fdd26cd2bce55790cab6c0e51a188088db061519e4c9 -KO = 6548225041aec738c96120fd4944d6a93cf9752a2711715ca9bfc1d0b949cce24dd7818b7c0c7898d6dca7351a2245329ccea11ebe9cc84b3c90a7362714218d5a651cd4f42edfdf94d9ff5a403d7be01da6940f120447972255ab6ab7cd68d2ac5efeb23a9a4371d1155965f6c5c3ed4d5abf5e0af1d1fa4d7e8e7e923220af3a3ed702aadf5b8c5ff68bc97fd1cdb9769b24117372922ebb8818ac00c8b3a14c559bbe2c5fc63cea8dd62ccea8b5989793875983a26d69f816d83c143a83cc4c102c4b424e943e515a2014e52d88fbffe68cdf8becf167c0dd1445e6bcffd9ebe3e58fc681a3e64b0f2c0a0589fdc2b1031c143c6c4ca491a15c8f04aa3d02445ac6c91357606b4f269daa8a835f6a461942567f0e9e9b81708721ddd844e9f4e5cbb535f0984779d859d0 - -COUNT=34 -L = 2400 -KI = 87e2493ecc5dbfb14e677b71176de54eeb4d7f14c8df6ee9d7af3217b0864a78 -IVlen = 256 -IV = 77df1cdd678ec60975421ad83570eeebb21703b6ba572341d5d22cc7c1b84f63 -FixedInputDataByteLen = 51 -FixedInputData = 2c1f9a330fd6a343cc339f95e4077a8efa17e53d208634dceab37d2848e8d66a0b97e1bafd83b6c9afe1e680df9cf4922e0588 -KO = 6710fb8f7398d2d4da821b0593540b6b5daae1e6fbd23ae5bce6678e7beedf5ec887ba92b64c0523a71f245a98d834864723fac983283eb0442c1304e7cdd030ed675399d402cb32e3e367c517178b7a2d29fc80fbd90833d55d64d64a7a6b1cc0d7f90d9b26ecc138c812ee35bb7fbc3311532f50747c8defbc2f1bc525e606d78260d34f0076eb7188e677cab4a5fc925c9ead85e44b47447cb3a62c425956279feabe810a473cbc7cadc0bf037d8fc4dcfa1386662c47047cb0f3be818eec7da48145afd70d0c6bd547e9a2c83a7ea6a4173c616418a7b25d0d07eadc8597effe7844a570c13e62ec97540a48590114ad67103b39dca962636b330690035198c780466abfdc15ea5529fcdf7094a31eebaa967542536dd75526e7011cb9d168dd8ed3960682a00195d616 - -COUNT=35 -L = 2400 -KI = b3cd4ac435206bc32d5c6caf46feb82fabf9112b36e3d3ed656f36dfdec58ecb -IVlen = 256 -IV = cc2e4d3418e37f8259ccd59ab59ac2079a1a968ebddab8935f205fe076c51940 -FixedInputDataByteLen = 51 -FixedInputData = 2b4eebe025ab67cc594147d8f56b224ce3e3d7466d7934d26f060e63280dc030e703694bd4ee3d7f0ea10daaf850d3bd12044b -KO = 3ab6901534b8953f71b245eb9e5cebfa6a60b1b2815b4d569e7688286d9b4e89cb2eb81796c3a9637b564220db12268c7c7bc8512ac95564f0f8ef259ba8a322dbb1a85e0c12edae91f8308b821878dbe905acfd661cdebadbb3c66258f444c318c5343f580fdf34f924d081193ebb8a4dcde96a6e85574354811ecb84f410012d9d133b60f421ce7156606ded7f3d0675a9b92608947b80fb8ff1c8efe1dd78a09f5542479f612d3c935cdb75dccbc03603875404cfb7479ab8584a6cd87df69d7c1d53185a1596b8f742cb6d787a611093e0ab5f620b834d9a53731b65cf19fdd473aaa52ac6afaee96dd027df417afd3cb0273b4558594898d4bd3377e8cb22f39c26b88bc4f681ab09f9c7970ac31cd36bdbc051ad6563fb69db5335c327fbdd017c108d50881ccd4288 - -COUNT=36 -L = 2400 -KI = ba6f5fc1577d59e2e27f62eacda38c571717fe6eb207877295e8f85f31c75927 -IVlen = 256 -IV = 13ccb10288d8c13d372a25665d58847bdff1df746262b2f3b9a9c0127a9754e7 -FixedInputDataByteLen = 51 -FixedInputData = f8d40e14638bdea93ac280b1bd600cd17669edcc91b572bfa37c46d47ec6c5169ef6d624ec3aa42ce2d6e21449d7fce577e57a -KO = c13cd5d1567b3438841dcf4cea452707751df2243cd31af2e3ebfdf9b9447b1406e6c70eaef80ff526e59159fd98537997bf78cdb1c1ebe5ac63050e4f7bc074672e777a25674e8f14364513feecc55af6f956c08686e7a89e8e4e16fffac97089926bd70f845afef001bbe94634f2ec753f24edd955f47c3a708819cf4c39e701da5c20cbeb380af6ab01b29926c3dfadc7122f27ac2874550988fede747f71449d932e3667d4c24499ec44c8f9ae9d70ceab42b65cf40688e43a8725c1f534319aba8ffe38d8c790b5cfa2a529c6dd9e1ebd539f7e676640f7c3aae76142e3e408de15cd3f1878b03f4215ab3ef4a1d40a013ae567e1ba31e33cbb2aa6fb1ec7e24fcaefb24678818b565db20e42b33fc8dbd71924900024da05318bda9bfc587fd2564f4873ca8b9af38d - -COUNT=37 -L = 2400 -KI = fa78bdd2396fc8ebf4109140c82aaa9309da1e35ed9d833f525ef4562c03b8a0 -IVlen = 256 -IV = 2bf128a2804c28e181b2a0a2e479b1aee16c2d4a21af049d07be3f97552dd865 -FixedInputDataByteLen = 51 -FixedInputData = bae6f4db1efecbbefb5139d7cd098fd3b82cfb2dd83e64e2d7ffe3f9c980db5eada9cbae37a447aae4f32f28ec3dd1ec1e4e55 -KO = 5e49734186c7802fe3a81c20d0402ea29036abc8069ef74baa1fc35a6dde7258276d296cda161b31d70cf9dc5b5ad5ea684ee0f1b6f6fdbd0a2033151029cc7162cb2acfc1925d90fe3744474b0cdfde0c51cf049a19aa77b718569c9b1355437a56967c0d093f3db97f7c558a8bc52dd39226a0ee56c2781cfc9731b95715b80c2f9b415a089d7a2111587d60cb4bcb5f50c2ba0c27162926fb7ca2e634f4708e33d89e1be73450ec846f527d0658ae724ccdaa3f82c2222ae12cc90b52546695d0d762ad3eb89bb4804ba765f27411594277eda605065dcb6935f9b086e89412739f078ffa9fe3068839cf663dfc420aa38c2dff93417c4b9bf7e445673d540a1a3d1cde5543c27b6103b56e9f410901dfd8344312fd2d68728d993e8f10cbe032300c9284f3c69c7ecbc4 - -COUNT=38 -L = 2400 -KI = f3e35349696cae66888fcdfa74565f0a69a295cacbd9244f7217a9ddd6e205f7 -IVlen = 256 -IV = e6bced40119566cf21f7566a618960e9077e5d2f4f47db48fcfac33c6e72cff7 -FixedInputDataByteLen = 51 -FixedInputData = 78ba65a4c9091fafc07245cdcbf95cd7f8c36d5fd5b12e77cddb0fb87a6afa67092e053cde640c2e17b79b35baf6bdaac219db -KO = 20c6bb6499bbcb0dc803ca6e6e9b3b5ff6a1147559351b614740a234e1ba7d0c7aa52f7ce23388b1775501e6e359bc5e304ed83efa3c1573f0dbe48f1e6bd78b81b242cec9f522d93affe727dbbdba0b10ddf7dbb26e10ed910ec29f7b521e271598034cdf255626ec5c2c7864befd2f465bffea868e565b4c9c08e7b999402465a1f9008c5b77c5ca8741de18113908c12175520fedd20e5b107856fdaebfb7066e3148a6bc5bc23be25ccf388059f5c80eea613b45cfea1b0bfe8bdd56a68b85144feaed1b2e605c1ea2ed8ef040b3f2e5c834884e43f55b67a635eda549bca84f4bb80f450310644f1e02b3d5d0671bd2a3f38f7dec07f0a4c711adfdac564346ffeed2901b24d946abbc3c095571e8ab32ee4b63ba477b6241eeda1f1ad4798878b401eab429d971fbfd - -COUNT=39 -L = 2400 -KI = a064469249052a3e22ad84688f09ca64902a89732116418676a898444afb90f0 -IVlen = 256 -IV = da6097e8273bf365ff293d6920be5280df1fdd4ab0d945d6d3d5e41344aabb6a -FixedInputDataByteLen = 51 -FixedInputData = 9eae47f25c53bc1fb2f0e4d9f9a53bbb77490eac6b0cb461fe9704c423cc90a41e47c39f6d53c04188b1ef720a25bfefdabec1 -KO = 0fcf364df42332d0cc3d351e0c0b68859f013b7508141a04aa616ebc229cfffb1f5ce54e3bf47b28959e449d85cf83f1ec5432b800432c72e8443f3187b39e6c1eb294b3a8fda575ed556dacb4757c5c4749f32f21726854b9af128725aede7400298eb03dbddc81aeb32f7ac0d18ee8e0709b5f103c4c7a75d8fe9fe5b0730f71580b831409df595727626f695546b35669e4125d3cd53a0e5eef0f5adb227e0156236c5deeb37ceb52db623f1f538741dfae626a87b56437df123baf254e00b14c5bec4731b5bdd825b2c34deb1e921db4efb23a8c3cc121d92d0c6d1ead5c35d97879297c32eb930acf8b0efd58cfa5590658b33d9705bf0f677f8761c5df8f224d4ede3bd5b7294c09f9cda06268862cb784614651234f0cef5ebaf241421a8295b616343a4e0dd15276 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 918e085676054a9d572f38fad1b06f3e88572b2fcdf5ddd442d18031c411dae6 -IVlen = 256 -IV = 004515a280084e59057b60be3e2d3069c3516c973d60c668fe05f25b1d2b864f -FixedInputDataByteLen = 51 -FixedInputData = 35782a2b44bffcc46741093b2d0f2fa85d5b21232b37a04c67448fc95ca00cc7f37a8275be710fecda3686bc95f5c12ab33e59 -KO = b3c2214eb2c27bf5399e012a6aa1974b18de9c3773beccf9114eec6bf7d841d3e2e9b8de099d43d84af041317f87fd9f3b4b7e6ee168da22bb8442b9d91c9973 - -COUNT=1 -L = 512 -KI = 6a81aa45fe1e23ef796dced7332cb1c5bbc596ed5e9148a24a74f7c96f01f1df -IVlen = 256 -IV = eeb906f6da4323e62e989c92513b719708b3cb66bff08e379bd5b9169e2cfe5c -FixedInputDataByteLen = 51 -FixedInputData = 27ee07551d68db74f59d9a0c01969237d93c4d49a85c8d5bf817b266c404f3e3e3e6eeb7034af731732a4c3d1c084a44868e46 -KO = 20554a31dfbcd287d362725f2779a1574f1f82aecc07868d191e5c21bb738883d7f27595041774be0727736a1f6c9ec164d941b080cf75bc4670668e071f6611 - -COUNT=2 -L = 512 -KI = c5fda50af0490b9fd05a31530da65c83138b0e53900441373d5331cd4e700764 -IVlen = 256 -IV = 024325a7e2572d17788e7388a2d7fceae2110921cae648d207a55294a1497961 -FixedInputDataByteLen = 51 -FixedInputData = 33a005b9506045084e6490d0b35f784fddea647e08f3634ad18e0bfde4f5239c0eacc74af4b2ee3f1b4d1fc4584444a5b6e383 -KO = 96fd8bf65cca61669a37d50cb0d3694bc9dd088ca088a618b4fed5a765ea653e6f537f7abfd167196ccdc050443ce9474e7938dce2a06d9cecc83d3bea4ae61e - -COUNT=3 -L = 512 -KI = 3145b5a39fd45a6693f72a48941fe3023edba43b964013084348e5c8b817f1d7 -IVlen = 256 -IV = f3032745bf3f82345af38364040c09b518703ce16d165ad25306e45cbf192877 -FixedInputDataByteLen = 51 -FixedInputData = a2452f3555245d26c1488ae1eabc2fbc04ccb5d294d0337f197573cc3a9679a7b67c0577554eef23b2aaeb4d66559bb90cc293 -KO = 98d0671246fa4df3ccbe8bddc383c4a1f36612870968a2cf1e57f27ab724195cf9698e7495248daed4bd2bd7c9277815266755954e5960ac8b5a7e49f3a25c83 - -COUNT=4 -L = 512 -KI = bad9f30fec0e8b8ed303685636943b45b06cf94b2fa792c9c03ebcd332247355 -IVlen = 256 -IV = 0a292562e189330b15536724d5f7c5ffc7a0a3b267585f2bc5e057a4819d6966 -FixedInputDataByteLen = 51 -FixedInputData = 7ea1e995e5c22d31e56bbe0bf7e9c33ffe8784c6acb45f00199131ff27a5eb3e177cc392a488fe2dac363819a3b9aecce92a0e -KO = 6cf31016910206615d731b7045bffac057bcc87bc93eb77c1ce888f20aad36147fa3e324637cf33bc2d23ff62ca5ce4965e9c647733d1f43dafef0d998bfc832 - -COUNT=5 -L = 512 -KI = c3c75aa342e604a9364c03554601dc6f8a917eff8f5da1804bb51b42eb277097 -IVlen = 256 -IV = 8ea194883e1ad4f68ae8620cf57e607323a188979b576a4cee2468376d2db912 -FixedInputDataByteLen = 51 -FixedInputData = 70e7042028d4353e40c2dc126a532d6fd887618286ae0832b3565e7e7898bdd49eded2956c2424ded788545930a3092073a941 -KO = 199ff28a95cade6d9e39da0eca483cce6114604a955a7cff0843b00f6c8a1e6506459c88c7b0b977c553f7ea3932ce98f27933f76d8ffe4e5a841327136f7817 - -COUNT=6 -L = 512 -KI = 92086cf55fe74536533f8aeb5e882862a8d551cc5502a8739232403421840218 -IVlen = 256 -IV = e8fc99d8db06d2c9804196e5c95341f12a9d6f3cd7ddf4340b52bc631265f96a -FixedInputDataByteLen = 51 -FixedInputData = d7453c7d99b4d3bef966890838c85dcda3d621ad81e55bcb025e1ce82d55a91be188639f128c478923c9437b0f309ec179de75 -KO = 0e62ed3e7b4d727d89116f92853769a5554b247c7afdda972d97b7697549c5b6001c378229f8634c86ba31c86402a6152f1917e933648187b71f0c0a7bda1711 - -COUNT=7 -L = 512 -KI = 6e6b202363489547a7c765e40f1dcdff059c26e55d9631b90467067f03604317 -IVlen = 256 -IV = d3060d3cb94cef572687978f47ccf62929c745733949ee811fa14bd70848aae8 -FixedInputDataByteLen = 51 -FixedInputData = 9f2eb63f40112aba7d7fdaa727d7da853b41fc44f110d609bf34036d71d087b4d3ac9457952aa17c3bc49f7f508e58a91b59e2 -KO = 07887e85f7a1f48ba519dae1a92fad1512e03c8807c5bf2c65014b74da25f4dcf090889596b5239aae981dfccfe32d71848406cf19b0640ccb86f9c33eed20a9 - -COUNT=8 -L = 512 -KI = 16bba2047cdabd7ff9ee345949c9c7ee665165250fe002feb477f29272c20454 -IVlen = 256 -IV = 80e868a7113c28584ae6e3a85d7ae2f87cd35d1da6b6b609e8dd1311653439ad -FixedInputDataByteLen = 51 -FixedInputData = 18f93b9bb56a344d4907e329664c27d9ab4af52c5a0aa99631db15899e9817d69f2bb03005a98b4b7c3edca393990c4a939ea0 -KO = 77f6b3aaa2124a3d91a24ff634f79495e0411df07ca9b14207bf2a35b297d2f22101dcdfc529238423d83d3d7a5a966da403d105b74f5b4e4100098a772b7320 - -COUNT=9 -L = 512 -KI = a5c462442106bdfc62a88e100c69573f0ec807970453321f8511f9038587a5d3 -IVlen = 256 -IV = 2ffd3c9c4d1fefda909997b6ca6cfd9c146da4ff5dbd92ad3d59dae33a139fa4 -FixedInputDataByteLen = 51 -FixedInputData = a109e6deabf6d00f6c02a165912307405c0943c97d55a67abdcb1a52923e311177c0f5653dd0c8767e5a0c36835d0140a876c1 -KO = 3bcd4e8c74db3d748e67e50f49555e812bc68dd1fe086a0d93e8f936e81c647266b4d25f5457449681bc3f8fdcd90f7356468c833f5c1296bf923d28723cbb84 - -COUNT=10 -L = 2048 -KI = 68d91aabe9d71301a8b2be1eb818c39eb14b3ac0b815ba913cd8ad78c9e31344 -IVlen = 256 -IV = ff2ab4e55622847538a962c0cf03ff9c2240e1d1486f85fef30e747f2b63fb28 -FixedInputDataByteLen = 51 -FixedInputData = 544fb3db415da8aeab85340d946a8512aeeb8ab8f872d3feb65de5e5ff0279d482a241b20707149b973fe8c1799a597eaf4831 -KO = 0df78edad81b9f2b43d59ec411be1b0b4bd69b41d4df639abe3834688a04300512cb370860b192f06caad1bfeb02a9606e1d4c916b20f72693681a3c4ccd413907387ef5abb267bc630c88b3b6ab4e14843027fa563bfa9f4176d5b9403080a122feb464fc7913e9822a3389e09b4a0c2d668f0a4d0e4c6d9a843845c0e8190a5333198d146702b96550731ebe8694d228704e8c84fc1ccf652f3772c246c443da7f532df793aa3be22c66f3213ffe1b1ea562f6bcb5136b855afbc31c46e3979219e651708673399ecd84effbf6e2317c147e2a9f1335418c45b8139610f5d3e80b0dcc38a34995d37e79c68a4d251b3a7cfe5d0b8f6312957197776a22039d - -COUNT=11 -L = 2048 -KI = d1cd4eb808a2b79d4da4f2ce01d3dcf485729bbc58ae0fe6a9edfaef75ac059f -IVlen = 256 -IV = b5311820d96a048a4f48fde4cc034b605681dee165a63030e13f2b6eb7f5043b -FixedInputDataByteLen = 51 -FixedInputData = a0ec3a056a55c44bea04833340771fcdfeb39148977b00b9f9ff00631618b127b52c5361ce0466e7ffeebe7a328ac3c1bae0e7 -KO = 8fe978a56d99be708b9876358e8fa0beaf2217b8ad38f2f284d5e8c44da3b012155dd34f82aa06911fd930bf029ff81a5e2bee758aa7626ff65d3e0a6d1d3015e494985cf8f581610efc6c164737024406760bb526235eb4d9741b1e3b3a3b662cdc823f28e924dc28d0b635e07c9ed2855d9e7a07ac569da890f7e1d07eb5f4ea0002abfc2bcd8b8341402d0a4383de777b2d8c2c22f0c277d24aadb9cd3a9d16d21da8f9b49ded7afc5b8dfbd041a60e1516a9375963d48559e2fd27f9f88c0e8f2f3fec7a41181cba63cae3c5d7591e49cf9bc542b76223f21493a4870845511892916fbd1c2bb6f5e2386cbf6e0c5419e8b76289d282fc7e1dce4231a638 - -COUNT=12 -L = 2048 -KI = fd9113a957a6dd60e25e7faefbff0fbc452688ff141204bfc816b93c05403f6c -IVlen = 256 -IV = 3eec35158bbd1deedb72c2ecb85f5477e86f83f0dea7eea1259cb9a088e44536 -FixedInputDataByteLen = 51 -FixedInputData = 4d300b3f7f3a7639d740456c86a74412efc1e71d80617935d9d75aff1096535cf005e4ca2f07c401841d82dfb0367fa42f3eca -KO = cce347db025ce7b774f367e8bf53ebcc00f9a0ec94105adc7f1de84d4e9f968132ff315af4024fbc46ed42d403e08cf6d3eaf09ab5f3b36c10902ef1eeaa20a2ce27fd55892998bf708c7dec2ce1259652481343980da093cf9373708d862053949e87677cd4f4d27972300e51930b64100ea9133e9fd303249241e5849c8405d40254797ec6781a073360845b19008e1cb4ee2ffac2c7cde757977c1409dced885851792f149e4f1653430ec6eadb8fd6994818a35517bf65740af40a0b3d7c2b215793c20475c8b9ac740b873bca40dbc5bc51e50c39bd47824bba0314d24583e15ab9bee8c667cc19c4256ffad0b151b384d12aaa0b97335773432be9c904 - -COUNT=13 -L = 2048 -KI = 39832dbbdd375267561a6715ce315cea529ee8bac4e9418bee8d2f98ac9a16fd -IVlen = 256 -IV = a318942206c65a7b05688437e5f98c866e90f1f381881dfe803a510bc1e62e36 -FixedInputDataByteLen = 51 -FixedInputData = d2f80f4ad512fe88affaba53393c745ec4b9dd8244ad00ae97027ca49ab9274d6b8cdcedf246fe7e7858021750ebcabe46f323 -KO = 49e3c7824a2559f9f433ed9087c11c1cd45f7eb4d166a519ef43a47d65583d49443dd9b490d09f0ac93db61ed3d85966f3179b993ed2e7335b96772d49d4f2ec74690b2f07e11fb44f7d0072572c1ab9543f2fb7fdbe33b487f3e3fdddf400aa6f3a6d65be3a842c71677995ebec670bd2af2453b061232bf9553cecdda09cb87e90e9c0d4f56109dfa2c6126b1cf43ad19d6098645c8013b4e68f8a5b91111d0e1316049abbf2b350f9c6284744fb033ec8b522c390a2732b7423e177f501f070120448ebd1af6738096cf3f891c19f3d8e75b871d437ed7a8d96cc7acc8bfeed98e8c5f9729bfc902112fe9f74bcb8128c2a5f006e6e911edaeedd0d4d01a9 - -COUNT=14 -L = 2048 -KI = 0c2903b1c6d698a93c5f3bd143d3f6f98333a90bed38f4387878562e80baa650 -IVlen = 256 -IV = 30537d66df24a19ac2febca5532fa6fd1284cfe6872f1e114831dcef72a73bf2 -FixedInputDataByteLen = 51 -FixedInputData = 845ddc21fff0a46fe25fe4a13008424c72b8f996876003a56642623664c8956495e5c3f044fc985e45ae6649464ccaad16977f -KO = 320544e0ff1a4a4e88b5084c7462e39c98665bbc5af1467feaf4cf8b5dec0eabfd43d8ba830e0df7265cca16230acefb013eb9255a33524887c71123f0a8ff2ace2f503a3801653a1b6ce47099e11b0b20117fb7224805c4a09f4f2cdb22f3cd6e5fd4beac2b4971f244c57ac98fd6448acc8725225be6dbff4ed00232c60d67d41b199db9a3938f1658d00bb0508aeee08b53423660d2a3b00785554746efed15266076ea526a4918fab1cbab05704960a2337c06b59d198a9016cc71909372dc1135b040acd6bde9f455786f1a324145717173a17157f4f928398657e8c0ac2e5ede2dfedaa248c1b69bc16ae3d63b303ea83d82afa49314c2a0a650f3a885 - -COUNT=15 -L = 2048 -KI = 7720eccc3d59734e0b58032600de2483f7bda46032be2976f5d90b7a6b89f49e -IVlen = 256 -IV = e542ef946c6bc15bbae142772e113ceea675799c6a41276fa311e37c1a02acdf -FixedInputDataByteLen = 51 -FixedInputData = 714fabde6383f3a8da49ce08df00ccbc8627a6b6f543d5e92fc115b96ac858484605b088c1fb5d4b9d5ed5c48e5b9430be4e8c -KO = b71325fcbd9fd5b07e8fdd2467f89af91e2dd65f8c5c73e1d5391dc380607351cb31d86f91fc5aeb416ae936f60cda62f2615b952cfc5db90a4de889ad584a470fb2022415898c338ed8780ef4414e7c4282e940c277a44324967f175996aba2671964efca23a7debc5aba143ee9fb816daaaad65e056b7145445941ec01fe382db00a2a6a226d03f7e70363338336e02a11735cd4037904a5ff80d45f1512b0cd2162a47a8619f8fa475abec1867c0d180b216775f0376d0cf7d7d1bf3e61d85439d2fed6d3b81692d98558724cfab8093c950f645dca395b3587a99746a577350a3831108d60870f25f3a4a9aae1231d46961dbab59f4416d85cf5dfb9de83 - -COUNT=16 -L = 2048 -KI = 90c2e78fb79c73c6c78a54870dbb3e1c70473150fa3d8ab02758d6cda4b628a5 -IVlen = 256 -IV = 0f58cc50b68b01abf6cccbf2fe7654a80a09630235baee53ccbee6e2ceb8dd00 -FixedInputDataByteLen = 51 -FixedInputData = 383038367a7d1c7e74f7b2f89906a9c49eea6dedafc7c632c3b7778f32d1e69d8ee32b8d8f8dfa3c8bf4552bc020cfb6d7d666 -KO = ac961067aeb803996c1c222cda41141c822be1d885e6797c9368c6bd3dc4a6565a6811e7ed6eabba3ae9b0248e63a88b1075e2bc77d4f74b73afc75a827eb07d0f5f671bf50fe003ea016fe2db7c7a10293f6011040d7b41473e08633208158f30f1fc2d8126f66786ed8bb8adb16b9cf0035c2065ae82e60f76778b04380feeb93d55e902a3fed6cf0d4d2c966fa46ad02d0b0eb8bba74edcd7ddfd630a0360793b8aa2955c28589ecd52deaf9decbadbcf7b88c4ce431ce92f7dde62fe8305ffbe4ba6781f7682efab013c9c2f10fc3f9ac448bb96fc88bdc2005c76d9bbe35d27d41e845b896697f7b9dc232de80fdd611354036539180e5aa3e97a426fa7 - -COUNT=17 -L = 2048 -KI = 3395ba6fdfd25b14449ab11098eb0f2df0a4d7a35b5200deed84f0c953debd54 -IVlen = 256 -IV = e521021a4c98f8e6af3126edde894c52954bcb995b9536ea1096b923f01a7bcf -FixedInputDataByteLen = 51 -FixedInputData = 70e00bd50030795de053ffa94c3b1baf72300f389b9ecdce18734ba5a085e12734e23dfa0962be422c7c41495c981d3c1822fe -KO = 20f88096eeaf013392ea8ebe43a02a11634f319599e9a12ee6261bf9a61a3d1a984351686573258fa6f0004d0568d97ea0199a45f7deb661c1df4230f64d31985823f0b7d45854c7dd12d6d63138143a8846ec8dd53756d85702426f8fb6461bc65a440f3ad08c592bfb56ef901de305b39c53a043214227184739ecca76e9668f097a7a41a55c078da30ab960196af29090942bd9e1ea56fcb85c5c9eced77adb1f52cddddcd887ead8dd125e2af44cfbfd269921579b5094b8127d8dfd8eee9e97d88104d799f0872c962c8a4df338ac699dd00375e921624202f9b7978180bd20afca80e88b68e0e7f50c43052154471c55ffe50ccc1ddd8e2fc095a031fe - -COUNT=18 -L = 2048 -KI = 4d637e1a673803d1c1a6bd7c8ffefdaf6b2759e62a8c490ed5db6b5a95074edb -IVlen = 256 -IV = 0b1b6211b77ea2ec11c076246b4989b3181ed0617eac1f6a94dd192561892e16 -FixedInputDataByteLen = 51 -FixedInputData = de40a9824f3cee98776160af884280de5e58dc81657011f877cc39a9ab5594987b23e4803624a55feccfea50ddc11677c1b82f -KO = d7cf27e84b2980b8cf54f73affbad8c3c3b3d02256464fb66eb68ef2b2a0cb4c40be1a89ecadba8c785785f9f47e575c5b82b6c6d457f25df9e7ff3704669c6feb19bd298405c56e214c4321ff11d57a4ed0f6ec27ef77d003094f83908802340df46d430028fd0d67b73dfdfc53223cb4a9b579b913c5a7bf507ec9c07a9b7dca4b51f4f2cbc3b6f2bffa65bb965d5f79a99f515616cdaf380e0bf5e5d31a9894bd1ff654e3a7c9f4072db2ac60b9f49959f605d0380633eadf0d8dd9f53aa5212643175281d71dc64f7d0edbfc99072dc7d171d0ee71a37b923c4698c4cbfb986e652294343b32bb9ceb36859b4b0fcad23faf8e7a8883b8b19e00a6de5d96 - -COUNT=19 -L = 2048 -KI = 8f20463157bc9ebb7102c9fdfda7f50b23495af508275ce77ed2842f05863153 -IVlen = 256 -IV = cdafb4746f0923aa5c501dc4c90ad65fbadba5394e3ae24f14a38e7e0eb26314 -FixedInputDataByteLen = 51 -FixedInputData = 272f0a496c9ab1b49538d6f60994d51342f3ac1595283691a5cc09d4230ef00b747dfa496950703d39ea2804f8e25410b53c74 -KO = dd18872441960e665994c7f0476a4947136c9e2e81fc2b58f5121a492e43df92881bbc4ba55cf63ea0ccf60ebc095d1f693d08c75fc61af735906419e3973155c6b1a9a9c7865e1f0cab55e7418460c82d3c71053a6dcd280fc5fbfdbd77d561e5d761a6e4ae897414faa4765aeb272ba507bda20169e207ba4f7088ab566a7a6ec248930bed31f8ad18e981e4be8726cd3868209619f0c2f2845ef7c83b9d0608dff5e5a70f0c745616d9f1eef2dc6247e84147f98959ce2567b7a9ce363ea3068642e432f6d9641b8699041af7cc56ba3b374949eb45c99a7004f25806030ef1c903bb47c37f63bc4a37ed6f8ee488315db0595130f41de69587adeb009c04 - -COUNT=20 -L = 560 -KI = 3ebf96d5111986a85a3af922b456d12d6c98ecf7d7cd17dc4d09e2ca389ec563 -IVlen = 256 -IV = e56d1f50a43d345d9246e47a4cb420a98b2930e569aeebaf1f0d6a7d17618ae4 -FixedInputDataByteLen = 51 -FixedInputData = 56a8319642a2ecb9582bebffdfc01aabd5a6f559dff2d5a6310b0e94ee8402cdb8ac702201b1ba32ee3b5e90ca35360e62895b -KO = 66f0b510230abde242c6b29fa7d2362af299b8ae246f8a57e6cef1fe893b54ef4a2dc078dab35076428e5f337520bde1669f6dcd5228c4606ae2b0ec2b32d93fafaa7b5dbcf4 - -COUNT=21 -L = 560 -KI = 209cd7daee063de0fe9d9b38609749c0ddcd2a06388161c54ee7c00aeec82988 -IVlen = 256 -IV = a24f0b3683c5a0110840b6681541a08fbf339c3f277f64679c161bfa7dbf99e8 -FixedInputDataByteLen = 51 -FixedInputData = 42003ff0f82de52bbf717df6a7e3a4d5ef21ca0752f451fd3f441dbe75f998eca9a4055f106a935b79f56cf2f1a7fc9383782d -KO = 18a98034e176930795041d3cd5161179e3ebd5338e06ac42866394f2f043fae65fd9a8cd0d60bf44c62e11e64a3be21f0bb7db0e15a8c148c3555815dd189a0d9b4f1ba1da54 - -COUNT=22 -L = 560 -KI = 13f6cccf378f47a5025c2435c8aa686ba513a662617209f7eb177aeb1a0c13d1 -IVlen = 256 -IV = c928b42d3ec40051123214bf53e0dac6e9dd0cb97c16bc925fcb5a24b75c42cd -FixedInputDataByteLen = 51 -FixedInputData = d7223d35c838b9334e6ee87aa825a6dd78b5f37d014807fed18052f6979fd0632f40de391105709dbe8fdcf193e275c47256b5 -KO = 2df7096ea8d9277fcedd2cabe983a8a7a8f89c9a7095e202f401fb4c80579bb219c83abca227bad2c2d4dc7b95f05fa4d793785b4f1bcd619a7e55bba4a6f373cff271cfe88a - -COUNT=23 -L = 560 -KI = ae9737297d00d8c844636043449c0124c3a1c97530c74ecf2df749badd458b20 -IVlen = 256 -IV = 7bc74b9fda42d6faa685dc9b9b31cf4361c63b594a68a3e9d0260ca4c1b051e4 -FixedInputDataByteLen = 51 -FixedInputData = b0c85d4102eb842a1bfecb46fa98fae7c3f1bf002b12e83fc64d054a1f1f65848e37b5cce152cc7fc8a761cde3957e938c568f -KO = f6e7fff20b4766f11b21d441b13c7386347b659f7aaa506ef427461f7d554ce578f34d067aece9024ac9eddd103b8c639f2b64cd1da168e7a0c5c51732abaa9b73c5c29401be - -COUNT=24 -L = 560 -KI = 88f7aaa735a37d371836545a84f87d3cee9d0ce2c000b66c1d4955906fbfd93d -IVlen = 256 -IV = 1390938ece51d92d46ecb09ca9b696e8dc15c698237593b225787ffb53a68b0d -FixedInputDataByteLen = 51 -FixedInputData = 716f952932af8b52c445f043e3464e362ba958b2097e4ded4fba0e045cbecf3d43f2e81631fe1b5613783f2bea7876743e2f0e -KO = b2e2dbbdb02d36b9001c9184fffcfdbfed4b11285cad1a734c4366efe40b0fbe69bcf2c67e8600a04c5f48f77d8a73cb6d2c366c8faf2f39b301801ef990d8719cd58e589382 - -COUNT=25 -L = 560 -KI = 381149692ea817058a6144c757db5acbe8edf32802024238ca5852b2258a272e -IVlen = 256 -IV = 7f6f420ac37cf1bd0ff79c5373fd03e544e8530a9329a307f60d28cbf52f3bb1 -FixedInputDataByteLen = 51 -FixedInputData = 0e8bcf687b4a475cdce74dd55500776a8bfd9e1ff4f05ce04e0418df3be37c6f6a9f72012eee4fe1db4cbf8bb9a448487b7f93 -KO = 681e567d3439a0ed4d10409b5129b2aeb45725278228a1f76d129450021ac24b3383080ba5a4743048be7ce94641c0b87ab697c86fda2b2edcf6a3144564bb1f4ae39509b464 - -COUNT=26 -L = 560 -KI = 34cce052c7168ccfbdf9da66a17481ae13fb7e82f54e352075a3a39c509f777b -IVlen = 256 -IV = 5ec8acbbce7b0c1d839a51aef441dd940e4dd831122663035ad6687d22c379ae -FixedInputDataByteLen = 51 -FixedInputData = 348edce549578f35f4375b2f861bcc867837b116e2de79b50991f4ab06c39f957d1ca283ea977c0a8cd749bacfb1016e9f9a0f -KO = cb76a66ca59b897820d59cf282b455830b44fb81252372f59eff4c513c55e266517927fac0430e4903486e8ef3f83623415c727ef5b351105f1d51c5d75ac304fe09d53cf24c - -COUNT=27 -L = 560 -KI = 4aefde9f5f8977179533115dd1dcdb3d8fcf931bd8760a0db56525796300946a -IVlen = 256 -IV = 85419679d464cf4294db2065d043f217061875a66184feb143bbd78f22b75ab6 -FixedInputDataByteLen = 51 -FixedInputData = 229ec1f0c459d4f9534b721adfea3098fa33c4e2c38b3516a536d41e29f1fef91e932d549824e703afd0ea8ffd5a3b453b7a68 -KO = 0282e92c1e98a97c5112e89ffc9f0d949d5fb15ec641c61031afee08488593014a44e6f26657340b9c588950b6d284150930dec2b00098e0268be86bdc63c60d1c5a3c2db200 - -COUNT=28 -L = 560 -KI = 43445706a4840655b3efecd67e13afcbc4f3166f56f6c8c130422a3a4bf8d0cf -IVlen = 256 -IV = f1dba2d9008a8e7c284ca7b085248dc710ec0eed02c55f7124b522416065794d -FixedInputDataByteLen = 51 -FixedInputData = 6312660b5b7ad14493b926d00c49692fd21f86f14b6f20ca27d94dddea94a1c885a504f05aef7456240cc72bb22cd6e765f330 -KO = 638e74ae6838a1d52137d955bc0c99d7f37de7409847799b1f7cb841063fff132ce51359af75b924bee2f6fa7e86bbe71378ab336fff6743e4aef831480c3c3c82dc1b73e401 - -COUNT=29 -L = 560 -KI = 668e439e4ae055e6f1924d6fffcf699d14d9f7a1c7977a05e8c2f097e97ddfc2 -IVlen = 256 -IV = 368b6567a3bd46602d0fe97889cd8994ae10520f1d30d8f8f3707ede155bd188 -FixedInputDataByteLen = 51 -FixedInputData = 432401a3b709bbe468901f9fb2b9ca2359c255e6e44e50ab84d764519a4b6b5cd718e5917d1ee6b988fee8ee05108ea39f4508 -KO = 4e6f975cd01adb3ed2c13c897f9b80bb6dc9670da9dc6b5e94d9592858cdfd437938726987b7d3ad3e401002cad618c54af02c2d6a776cc18e7c23f041ffa46ca1d3057d01df - -COUNT=30 -L = 2400 -KI = 1c1f0df245831997449d266c26a5d16b6f13a1a20501e48b35b87543e961cc45 -IVlen = 256 -IV = 37969db6cc3d87eb888a234c1fa332bd09dcdd14a9bdeab98dc7e0f846ae56e8 -FixedInputDataByteLen = 51 -FixedInputData = bb596e615faf78e3d953a7d66f12be2e5e4ad2030d16a293546048b9abdc89e29042c4e86169be6f0cc3ed9ffad4e07f72a097 -KO = 9fb24aa299ed7521f2efeecb2e04a67f1b39f9cab9afafee2ab32aa19b0fa7a7aed7023b90e39e0897b4fc9a49dafbec05ef3f6e982add5918e615b7cabf3e793579f3c2507eaab00579228eca6151ddff5546ab64bad9400a2fc600b4106f47ef40b6623c00e2b2d7748872e7f4cabb1832cae6c2db3f5bdbdc9dfc3beb7c4336f9bba87c64b2e378874d6bd7cd4eedbbb0f976b4854297db3b2961975412822019bf192952136ab8e331d8b9be5c0d920c3a319dc04a0be2bb2d08680486eaa9205f181f0edca4a4d37a8b8b43bd8c512b38a02814884fa7fa8dc18fd155aee7c8dc424dc7934f5fa4d2d8e537a2ac42fc78804a0efa79f9740fea4895288c2e4f028520c8d0c7e62e75f65d411f5ff03cdad8f7b401847e714320cc44b5eda25a6f0009521fd7ab800345 - -COUNT=31 -L = 2400 -KI = 617b26ae1788805970440f0d10ae2b0c96fd4d0be7c76075350693c9a963f185 -IVlen = 256 -IV = c90d8cab8c387178fd6c80751f8df1d8288d57161473023081b7848bf0f2c89e -FixedInputDataByteLen = 51 -FixedInputData = 31e7c2021e47591be10d0b87591d1a268b0b161bada008109534340b5c2ce2a1970f7b6ac7999d47c40e1769922298902618f9 -KO = a62a1fa9dca8f7a54927d21b80e991e13835a9d961a0e35ba003f32e20e53cd502b24dbaaa967e0b31da097bef4fde8adba71baadda8ea42dd7dbd1066e9e0cb2209dbb17d770d3f27875725a62ebab0b516bb725e9f77f5f2380576d9dad64c117fb0663925565d6b2ac5b8f8bb7f7fd156b92f7734dc88109dacc5ef07c6b7338c9e742dcd5011a0eb111584ec5f91c7e3efde6f5e747b6d929b840245dd229f729cf02fbf6bd0ffaa6601624c816957e3786bcafcc0de057d7603f72cd624d44ab991d7e95e4079e3d7fee61f79861436bae03f4ddc8c9aaea26748253bd1697f2107b7aef3739d950fca20d9eec6cf4f974d1430fce9174a5edb35fa0112eb39e37cd0999557848584f387571f17fc6ca034d8b4d348086271d2fa467c289c27cc29cb7a7cb36b31952e - -COUNT=32 -L = 2400 -KI = fecd00cbac4b00d59e7187479edc7edb94a226273bfcdf5a3830269eb61bc671 -IVlen = 256 -IV = 8df5cbf241f5d3238f80932074c80e9b0ffaf55eea2e58f9f19d49cc619bbe96 -FixedInputDataByteLen = 51 -FixedInputData = 8703d084222526e9e083966e21e5166b168a710d2f294c59e802389a302ad1094577fd84bcf460be3d23b2ea035b5b896d7c9d -KO = aee0a1e12bed4d3fafcafcddc09f0dd05c9d563e9dadb5c3276b4c2dc80c53742cd101f7ce323d9968510b0b7f9cfc8003e6bd5a68c5af9c7ac7927fad12d3fb8792e983345590c889e05e56fa24e2d812855e0ce54a75ff8a0bb60e590cc65679557a33ae0a92f7aa28b8fbf3099bc575a68e0e2975aa06fd8ae3cdd29d531e443a0046dd1433848a4f9a2dce01d0ea2ec1ca8a33020f607dd13dd654a02361050a18aa708c345a6aaf8799abaaec86dea3bd4eaa1fe6f9a280044b9edecb52ecf61e11feda71a97ceea72f667bcc98ae6146cfe42b990d935cc3b21ca1d9a1a5df565d122fc6bb562faa7072250ef1122fb674a24de8dba26e50cd2ca9bf9618161924afdb5529b56f4d46b6d23ab73da911a61c237f6fbdcd22f0fcbf221c328843f380dc8f0157c7f0f7 - -COUNT=33 -L = 2400 -KI = 77ba52d98633ed192efd7734abab781e28da52c49ac65d7a0d6e3e3ec30e1811 -IVlen = 256 -IV = 7730780d9d37948b84eccb4492e353df49c4da6fadada6e36694fe898cb14890 -FixedInputDataByteLen = 51 -FixedInputData = bd89bd78f8c31c3fb4d886a6a0bb8af8fc43d48a4ca50c362483c85211e86a18ff8153bcfc20a19b9a30a220be0ec5bdd16cb6 -KO = bbc22f7bb1e2b1a942ee1002ee60930fdeab4c2f528fc96431255a91f829ba4c1f8f0084dc547bca91905e40137510ab2715c8714adb34c648869a65776929ccba9db8b3932dfd430eb25dbd40fc8e255fcb352b1bf76acc44ffc5d36dc487341c4825f08c4ce8af83877b944ea12ee83a293b7a7c75f52dd56b10d65256ea9dfaf0941fb1fe959e65c0675703999e7e357ff461597dcca65409e4d075cdd08c7e8e4f3e97b17cf0f51b64d23bc696ed5b0f2de598b20603fb06c832f640f6bf676ad8087a45b10bf4eefa09d45436308ac26ec2eb09ebd5e18519f98536757e447e4e0025fa1eac1262708811ec094dd71ffcd40c32a205d772ca8955f65ef0ac52f597712faf1b1ea364094881d9a2581a2fb5bdce9ff420cba570b9b999c5735a3a7bc0f38647d8a00d8c - -COUNT=34 -L = 2400 -KI = 8e2a3fa2652ccbfc2f2cb2296e56cf5b26dc1389c01781379ea4deb190ad8f47 -IVlen = 256 -IV = 652ec4c59068e578b39ef5b5cdc02760c02b0943c417629fa0b87bf67a3a8790 -FixedInputDataByteLen = 51 -FixedInputData = 5f0f470c68f038638332ee7ef024cccfcdf7c61903c0b62fa989e4475b59ac8ee873a882c8e893ddbe49d4d676271550f512b2 -KO = dc008ee74739f6348bb25b34f333e6d3102a8d10d7e9a5a93fb9509282890ab5aa52e7b3c5f2fc5a482341ab53d69df634c9580592ea81d4f119ec9c6ae17b7c0b347bf496dfb097d39f2499e0ea98148810ddf6f3adc27b17e279ffc2587972f49ea885ac8fe1e7170260261fe1273bfe3329e85318a5ec5641fe6bfb001253ceb34b9074095f4da7e91ba0559dd6eac4acbd4c0e5fa59a2ea6d58523dd8e5edbd8ff70a0781767bee7d731c79d296dc0eac6dcd54407cb1a0d38899addecc8b88c41f2a7ed82f5349d6606aa9a047e4bad0c04db6c8e37947eda7c06f4cd232595188b64364aa3e0dfb258e9794ad063a1800b25e43bfdad016718ef1be1384681bee5fec49a54d1b4266bd1890950bb74b8de8736ceb2b3a782c8b9e03d4fc9e4956bbf66fcf8bd448633 - -COUNT=35 -L = 2400 -KI = 2b3f693c0f2628d10b6a17957e55483fbf794fafa0b7e8c6317c606fb410f129 -IVlen = 256 -IV = 1ce97f25b500b1363a16e9f8d5d5e6219e010ac3baa8cb94bb83e459698bb92e -FixedInputDataByteLen = 51 -FixedInputData = 797dd48ae60579e4eab95c25437d537a508c3087319bc449a5f303edca54c338646e0261ee9f017fb8e561d1632c6bcce10fcd -KO = c183ab114708b6853d6b912dc641be264a850899f80a30b8d8a6605d85f636b7c0f255898f41f75ac67bbb813b040731445bc6305611c0314c71b9f559cef1de5484a74bc5c0012cfdfab42e3cbcf531a6f444f6adcb84a05c3cc141eda953c91a410eb4b88cf27598175ed77c67d2af2fe5a650f2d8f6490190aa6857fc4b3d8da782a395afb90493fb8b1acd5a5137c3a99458fc16e1a4b37c610f1710715f926613096037c475e5eb77a67b3b0ce722ecef71d45ab3d35d4a183161901dc286da06900fea5fa1f4a7928c66931bbbab0f5a270dd95cc6dfa8be9dc21a2ffddce9952b20aa77429275185f882d945f6932667d1ec1191e571fcd03391b8d3b45420f001954c05205c9b9f247422d469469b06b3f51c376dfe91009598ae9321549063a16af4b1b9fc50e24 - -COUNT=36 -L = 2400 -KI = efd201d3b3d9b4f3b9028d6c0dc778811eff1d468cc87446a4509852729d3ac0 -IVlen = 256 -IV = 5a27052e0d9cd1bedaea16f62f351cd417b8ebd41da91e82aa674055e2df1956 -FixedInputDataByteLen = 51 -FixedInputData = 5044ef5856426314747b048ffe56742ffb4601d7588a7d1e7ffc7603e9d76ebbb59cb52fd58dbc51960a2f2fcf32bc1b66c7f0 -KO = 7fb63c3a91fddc99aedf686f889550092bac11b086bbe70edb5586116df82dc4ea9a140ef75c3b2840956631bd49d6f08e3948d710b2e1a7f995ac9a0733eda706140d0229a118f13433da6fb51643170e5589cf50ad5e079801812795c5d9b32d8bb66858bec4779ca5fcfff095bb98ca70db5c71be2b1bd80fc6ff0b6dda34375eb8a99d09502d99ae53937d8b59b158f1abee4b20f76f09968fe96571fa634ee925ec348ad0f76b1254ed82215367dffd2bf724f7ef96c0ba7e489127ce75151c14b06a1c9e40b58b9e833661d4742c8c8ed47bbfc99af137d93c05bacacf5307cc935253c8b291850b1a8ac2fc381a1aeb4f543b1e5ab056058bcf5f91e3b625ea086bac543a6ca4f36cf6e241419e3263a05779931f8d88e16f188d0a3f935955b5afd27672bced7c84 - -COUNT=37 -L = 2400 -KI = 75cd871cd4869266f32d3ef8cb2e6be0faf24cfd5a27985facf309d73f60fc44 -IVlen = 256 -IV = 523c1cca0175211fd2ba0cc34a3d4c0c952121cc42fb6077645889a002855312 -FixedInputDataByteLen = 51 -FixedInputData = 5bf7323eb08299816b1825ff931df1f1a3249c6086f01600f9d2f31cdeead40bc8df96250198175fafa9d68f03d7619eff8ce6 -KO = 3c2f52667e5d445cb3cf6a3869931434fa7b3d40d83eff32faf65519dc17aaeda00902d9d036a913c5b32ecc755d20e328347912af1e4b5388e2b4f7accff1d03444fe0f19773b564988b95584a328a6a39e0c7bae9d3ec8fd1448cc645608cfc0b8061ac839fc54271a42cfce9fdfed006d667aaa059d71298e6933b41fcb0a0c97419ec5c667c68c8ae8b6ecb8858e262ab3e93b0e58a321613ad1f0cca4b5ab27e18482993e6ca070260ee0c964b70755f7659bdd5db8b17975293e9f0b535982ff2cb476c8cc73d031ee8a4a93716448534b4d28bccc2daed4e8a04d7a40563cdff2eda894f0696e9bc0115d3dccd3a54fbeb42365f51394259d4873d1d164ac81647b27e0d2af95ea322cf5a6f1147403e719eafeee0b4b9c032b0586167d96f8f27e78844a5e0737e5 - -COUNT=38 -L = 2400 -KI = 39a93fbbc555a4317fe3d3ee7b205c4dec4035ce74bb397abc5a729a810ed2ce -IVlen = 256 -IV = 79860f3dbd071d3c0fc8d7af0490602de6be27cafdd7cc8fd9379752dad4cde8 -FixedInputDataByteLen = 51 -FixedInputData = 4fd7a1c208119860871c58bfb8993c24b11a3c9d8bdcac143f323d4f3a440c277132759b43737f5a32a1b5f5e9295f435a5eea -KO = 889e5125572f56eb47360ba215214eb8bc6beacbf7e983b35a9bcf5926e9aa1ad458033b515db351d9341465ece1be11addb60efeda64f253d70c9aac73b26355c7b40137afdacf4e0c0d791b9509f23ee98c66dd5aad6d71176e9ab7f4caaeb726406e66327b33d9487605eac3b5aa52e4b0019055900b2fce48836c5220f631d980defa9f839ddd8daad8747d5769e151bd9f7699389919005f0c53ee6814545532bf73d6a645f97c219af7c4cb1efb80a615293aa188c57cb6df62206953dcaa2cfe10b8a0fff0500e2d91a13cb7d6ecad65270192071e9d2c670d5c79daa6a6e87caa6a8d9e1959dbbf25f98362a07956623244aa51f95517b76bacc52a3cc4afab87e76dbf2ee78e40a7cbda622963479243a7803dad50e0270b4a85a26828712d6b2aba75609428b6a - -COUNT=39 -L = 2400 -KI = 51d156562d9e4fd4898f6fc93e441a28a59f252fcc8735921d52c2e0cf2d94de -IVlen = 256 -IV = 50caa77ec698732e21b9494ec87796a753b23cf426fab93997f0370108fc264f -FixedInputDataByteLen = 51 -FixedInputData = 1de886886d491c888b0223bda8735b37c56c6164f6005ade8543b6c6e2c65836cfcea7bf5515c8d5b21699908e3d3f01692398 -KO = 60edf3568e9e05609f577fd780c587da053f6e1b6bbd5f323e3870348db8f04c50be11bee005ef7c32b6006f0d3fbada0798b1120f12ea0a4e625fa852b0b815100adb4b61935ba335fdb970edd02914e6800d257fd82903320cd545e656eae971126222b4a7182158cbfa84c7babfbe788bda7675f7c4324bdc2724cf6b5d07116819a60f9dee4101da28129a965abac85d081753d23e5dfa0ea2d2c8f59cdd49c0a8f01cbed58c5f69bdd54b497f0957b64540c171b97128e52cfa9f9892459e49fac099dba99d255ec5d7d1fdf0716ce1cd8619e1cda6d2cd701c35e35a0768e1053d8ee2b3afba2ee1bff2279bc59632d19691c9d7190db401d7a4618bdd4e5d4b3046b69d4bf420c9d08ee3cc445baae7a0748840e5d40b5b24c76e13956eb2dffd30d2e669d9f98ce8 - -[PRF=HMAC_SHA256] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 7fc03e5206d7b9afac296874f662b5ce5a56d09b035e6d345ef46fef09e37bac -IVlen = 256 -IV = 158e5080b675fb4d01be6ac2060f6f065b2960052e953d182c5df545084d15b5 -FixedInputDataByteLen = 51 -FixedInputData = c53d131516e5cc6600c6f03ce1315be549ff0ea1a174fab8699c3f99de70c2479296e7ef043ae765d108283fee53b2ed139472 -KO = 13930082409ceb4c9833422c42c837769dec20be932f7ef46b945edf056d0ca47829b1a84ace1047370b07a5b6fe4f7311d63562f1e379034f67c90d396070d4 - -COUNT=1 -L = 512 -KI = 32a59962d56ced1bb6e278cc4d8aa42bb68506dcf928338613e74f12f71daeb4 -IVlen = 256 -IV = 264d47aeb5e932f19f87c55dfafd4e7ca0d40eb56546361d3f613b65e6a13b32 -FixedInputDataByteLen = 51 -FixedInputData = ff26ce335e95c6cfacec800536be47c03ee9f0b7f0f1c9db545c50d56f17712cb59a9d7955d37373c5772cbff9e3a58f4dfb7f -KO = 99a19bc202979c502b43beeaf7f19fc76d310455236edaf85182b998f1a0f823868370dd108e8b62af76d90d57cc361af6a0cc6502c06413c802f57d2c0f6d76 - -COUNT=2 -L = 512 -KI = d86a4b4005948eed09328b5f777d66d39aba84b04a03599ddc63dab04b34895f -IVlen = 256 -IV = dc1143b2b794d786ebfd9a89bd4f35ad3bae2c7dce09c124faf47f4d32862374 -FixedInputDataByteLen = 51 -FixedInputData = fa1e0b168313e0eca30369615765fe812a7582a1be2197c6fe95be8e1905b27b7721e56568f19783599c0ee4a426d13dbbd5c5 -KO = 1df1cda29b02632b8c1808a7efe51816594c2e4f9032c1f754a2a917cdcf10aef57a1bd3d48d29c96a55c22082306520a380f9d4dbbe994f5fab781aebf135d1 - -COUNT=3 -L = 512 -KI = cf3ffbb2be460c359df79cb8d8b248c37a2a2cd3df7a16f93131757548f3c2fe -IVlen = 256 -IV = 3532d43ce044c47fa4ef1f05974e51330fb0a7a5ca0565c70009318f0f70c0c6 -FixedInputDataByteLen = 51 -FixedInputData = 38074309312699f6d3ff962a4cfc76aa7d5f6955b0e4e44a7b520bc92bc05eed24ce90264d249099c81f911950a9e9188b20f9 -KO = fbec5ee767a518fcd002666c71cd861960cbb1237e199edd56427859c419099b5ba6281d475734e022fb1978e55a72d416d23b50caa3670edc05d9a2e7ae7e47 - -COUNT=4 -L = 512 -KI = 69bb2a4243b18d4f0e5182093a3381208fb072735806d3e2c9baf1930506d08d -IVlen = 256 -IV = 15dd44f0c7512c33fe9c982cffa150aaf9b90e79123ef6ecf6ec721c2c2fbf96 -FixedInputDataByteLen = 51 -FixedInputData = 4a5455ae76fcfbb64360023645c210b9018542802d576ab117f994445a068cbce11a3b8be7bdb5e4aa334b72f977823c907a38 -KO = 81c3da16b04db9eb724497d10cf77ec499898d2ef0ee335c6eef2d3614290b042ec97b08e155b61b0dc09248039206811bfc5ac7ac27582eb7177d3833a92af4 - -COUNT=5 -L = 512 -KI = db6563131fc401b248b2c273aeb40b3fed594429e70580f23493b0fe6e3f9aa4 -IVlen = 256 -IV = 60342f800a422321fe34cae857b5c069539883f10934f344a8484b36785fe03e -FixedInputDataByteLen = 51 -FixedInputData = 4b1e5572f7846d94492185489874e29e9ca4776b379dfe6310bca19d18cd96bf3b5299d4b646790d53bb01f5498d5c3bd6e748 -KO = a7ae349a22300e53ac06de8afa60234d7bd37efd3d867bc2aaf6ad1a9f95b5522c7355d86d47209c2cc365de217d16e1b87e181bcff10cf75a867e32ef33eec4 - -COUNT=6 -L = 512 -KI = 70de678c09c924d1d0488fdb8759f72bd8671a9d3d04ef731aeb822151266e2b -IVlen = 256 -IV = a185063e9110271aa895d4cd66f38d5f9668155468656ca5265a0960064f93c5 -FixedInputDataByteLen = 51 -FixedInputData = 7c6adfa1187ee8dec6e77c4093421c70eaae206bfcd0e97354f55ac9c4734db6f2b23a529f6487978b9ecdd428083ea4485d07 -KO = e55ee239d75f17f5ecc1ba052de91896d4992a5de12d55265a61772092c8120b8aef8230f5d8f6825c25069d8463b00cd977c094ebdb09411e613ffb7cc928df - -COUNT=7 -L = 512 -KI = e0661a3cd6d550267d64eb2dbd08489fc3d46d75d3c28d4694e9af7e017adc4d -IVlen = 256 -IV = ed011e98a23f34e210b0f36cf4ad998e2d63fe47151b646a238329641852e13d -FixedInputDataByteLen = 51 -FixedInputData = ae817835fdf68570ae3432e67c0b390e0d63cd92ae9ce62faad8860862fd0db47238680e85655f200da3603fc1d6eb155076bc -KO = 240abd0de926a3f289d609f6d7ed6fd7f783b2f92e5c614f3ea658ff97b7f5f939fc55e4e822865f856f7edac37401ef9d2bf72022498254b341a442e180b1f4 - -COUNT=8 -L = 512 -KI = cf445f6a4874aa0a7b6246ba6403743efa7a5a0178313fa6ef9d92d2f94cfe6f -IVlen = 256 -IV = 7853918b36743933b69818f4eee7ae78ab5e4d9809741f4b29386aae76a1188c -FixedInputDataByteLen = 51 -FixedInputData = 652bf42907c2d2a0d399135a97b649a43ad831aa668ebf1e0678e4bfcbdb6805450de55cdb8955df23e7bd3c8f8bc92ffa9270 -KO = e5f70590fb8d70caa1569208d272d15a4e34e2dabee1503cea82dc423d37a01bd0afcf20cca18e89031085e15e1074125c5f3faab884cdacad210f78e3a21244 - -COUNT=9 -L = 512 -KI = 62cb5af887c46283616a138c3f32e239a18ae41866f43cc6f96695e411b6975e -IVlen = 256 -IV = 6bc96773decea560bd18da00d32389380263500eb7d63fef70969bb72720f271 -FixedInputDataByteLen = 51 -FixedInputData = 6ccdd35a29c4d2ca1065f8d29d3f832220b7d99564057330acf470ede4123e57954951425dcf94830dbc9479470056f88f069f -KO = 8f22e8f71ec798528f408fdcee8da66247a5f439be4069cd9db9a0fbe50b112915ad2559f88ba172d022def51cde93e58b1002f8a3515479eaf9c681a2f674a4 - -COUNT=10 -L = 2048 -KI = d9709d0cc1558f0956e3e2a9d7404fee562966686bc3073a245a92f358e563e5 -IVlen = 256 -IV = 1d50970490d75ada62cacfd919b34b22cf34a129ffec8de321891e97c89fc6ec -FixedInputDataByteLen = 51 -FixedInputData = cb67459a50cf6853745029668ee2375fd4ba10927124626bc3a1bcf865622dced897a49e46a8af054be1850544a64a4dd635ad -KO = 1603b5d363a08b02fd3a096165b4ea6c0e3ec5bdde5c66790b6d565415b44502b91e5fe4c142185d530f20517fc4c49221d89d10626deeb359aa2d49ae81e6e99672ff811115123b1d1400c6d31ccce90d227a62754669bf8f33f9f25c59d844c0f840de15e23825636b74fba2d26f660741e32a49050f69c961feea0139ec8b2e7d82b6ef2e394a9c5e9cd541550df63f2867ab1720f275d93d5ab5cf38e93246d77b7b98dcb377e69f5658c0542590f4e7224e226c56ae24ba3580ad38cf100427665772f83e2eb17cb294bd4ca2ab0316563a011435d27c67c4f802e6bbec0062d9d7b8c9810ba46579865a1ebba990acdd9aea82b02f624da08f04154e0d - -COUNT=11 -L = 2048 -KI = e3bb256f735fe7d88e7951a5504869201643dc0654c38384c7c5e0feddedface -IVlen = 256 -IV = 5dcce0dbd45bcffb4e5714c295ebcc8e5c99c3793b9da212f74f022e31f19b97 -FixedInputDataByteLen = 51 -FixedInputData = 702100dbfcbf004a314128a3ed773adb765631f435097175c22ed856656db424da3ad206cc5a4db8ecaae3055c701011af783a -KO = bfd5ab728fae40dd350b38d2fdaabe617db5ece0cccda5a29b26e5007ac9e1a76cf8421c8f85fa4e29b71925a184505a55434ee12e2bb3b01b4d2689965bd5099d8f1d70a012b4fa63978712d123f0800e80c4617d4f9f4640fb45ca555f7a660c57ac9bdb0bb3978e9741038077bf05879512b0899eb17b9d6c907020ff11340b984ac49ef89175d5bae421b725b514976798413ef0c99b543846154a40396331c7936a4aef59bc1157d93d91ffcbaa008a10122f17b55a5c16d0bbc423b780c2558ffbedbc8e29ade7cfc0203d6d482869010a3844d172e99d787b91c397cb67f1f58de931003082850005339ee33e720d09a8070cca330c509951a73d7899 - -COUNT=12 -L = 2048 -KI = bc4610fe24aeb0fafb35bba0cc6cf749291d04c52a6921c2e11b2a1d2aaa8c7f -IVlen = 256 -IV = 7936c00b222bd9dd87ab71a780c21d2b1510b07bf4d499429302997643293c2c -FixedInputDataByteLen = 51 -FixedInputData = f1ed6c2f9b457b4e9c6d28d940f950fb3cd65b0152a1bdeb0d2292a1ef0088d7a3e60812d6b07e1bc00d8ce3cba23eff1b64a9 -KO = c875daf9c6f080e949b0dd0841b3af169b445faf37989570a6be26e54741cf4d325e985ba216600ba1c119f8606da4a119d57cb1bced61c30a44396dd5a1b253cd246885252baba74bd143b25f43e800ab8d546dff74b1ebc0845c50cd7ae6c8b4ec4b14fbbdc64044711ec3711db8f221f9585e8cf45e015709f3892c95788a121ac0407b8d04228fd7c82380586a1f31baaa995752d665bf59f6c88adeb2c2ff5cacadbed86186cee1f44464417c8225db851b65dfa88346248a12df9fd66fa63793d9fc7f33a31e7f15e2d91f2ca3351258a6e04b4cb1b119a61ffbf3abd8d4678f046cd566bcc6d83b91e8d1f1c87db63b53e5a9f458c93df740e7674c05 - -COUNT=13 -L = 2048 -KI = 643656d9848e7a62596d6f1ccbc470bdfcbbb20913056dc82b518da7adbf116a -IVlen = 256 -IV = 86b79164c5f2f73b4e25c0372042400070dd8f77a2403ae894aecbdec7e58bd2 -FixedInputDataByteLen = 51 -FixedInputData = 8b600fbb0fa15c7b39d8b97ab6a3f4516ae43701e8a8138a9dac73f1170fd5385ed481580327f90c167ae02890a0d4f869a831 -KO = 8bc0ede578aa7bd338e2318e4b0ff3718c3641c195c8d41d4fd64b041785eb5036b369eaf9f52ee6ec369ba98b69b6c539b4611d9b0b55c6ed7917a26a0b03169c4ce4be060139cb0425b08da2661b9ca643755c86638be70f4fa2aeaac500ef8ff65785ef13fdcb181fe4d7537573b3a90ef470a117435169290b0517bc5bb4566fe2fe803201984177546962ac7a4099848210864d0cf8757b28f4f77516a74ee7ebf08921f47fbb6cc486df85a002fdfa50f38630c820269cb9b308e86a5abf04555fde856e83d21228a6d5cb5985f41f891ede5700252cca0184a17f60cb1bc5d02262c226962bce9ea54bb14789e522b91a685a8fce4f3a18b9772f45e6 - -COUNT=14 -L = 2048 -KI = f1389175e969c8a551af8eb53415ce550c0a33f7bf83aabb85b5e3cb6626f906 -IVlen = 256 -IV = 5045f3d3d7dffad4d239e7faf4e9b2732dd3644066e9aace7ce30f64a2a250d6 -FixedInputDataByteLen = 51 -FixedInputData = 63393754343f2e279eaf1c97f5cddb403e3ed4afabd669ba2060af5bf887901628f69fc2e206ff3a3d583f29b3a081d8e43851 -KO = 898b22b9dea9cee38d7aa15c8535506d761c9d425569a1b499184290d375af653de99fdfb7957553f2b3f5c9c40de4ec501cec16eded6b2f93481d90bde61318cfa12b1dd3c5143622a4e15ae6eac3ca11adcc3397e621098c254ef509378fb3248f23c06e7832576e0daa7c8b6f15a9fabe8113afd89d4ff0175317dfd2c2ed9f5b2aa7c47388b6e1734a204257ce6cd5dd3ab118318c35470bcdb87ceb5fc9dffc1f8143311b17304b1aca31f108c91b7acd6b1d602019e89c463f6fb76fe92496f42ad8bff7bd6f0997a2f40d66c6c64d4b81d01f7bf7492e0fa789fbecadca73c2162f5f2b4546533b6a1e38e812240c1eea341fb2a020f21d649ae2a866 - -COUNT=15 -L = 2048 -KI = 460379dcd849d88d811aa805a0f4e3b258bb76baae1627ea949b86f5b0c3275d -IVlen = 256 -IV = 5e339704f347266ace881228edc0b8b0a6248d5fac4ef48f77e83651bc368ab8 -FixedInputDataByteLen = 51 -FixedInputData = a9d43a2ff9e6d5b0df0f2845226564c77e686d27051c59652692d4e26eb9b10db95084b798e9438ca18bfde54273087babed07 -KO = 5962f3f92f74be2e7f58c0ab48a32b9c1ccb1e891dfb9ebcd3c00aa50c49b01ca5c480396b3c9caefa649255b30201e40460d116d23d679f78eede56e6752edc041685b20db0366be9c30d07c5e40f7d04939402b534d5743920d91f21cdfc09344637e54769ec9b89c6fa2a3c60a4aeedf3ddc5d3348e73247dc78acb272d8780613079f0086a490a55bf98298b3b71983c95fbf0329130303fdd94d2b75b15d9225369d181bb3806e4176b3ababed2131027286649888da96a86b25ced808be33ee70a658d69c244c7bcb1e71207b3693e0f72724a1ddb77028155d832c5a71493910d81d9dd964535bef0168c43a7600d79aaf6c74e7a1ed5c22e71bd8ae7 - -COUNT=16 -L = 2048 -KI = 78612cf77539bbfd508b9eaf0291245edf558149a441fbc704009ad839d9b0d0 -IVlen = 256 -IV = 298eb5770bce14b664b049e5d4250c5a21bea3b178b6577a0cd13c75244e73c0 -FixedInputDataByteLen = 51 -FixedInputData = 9ab660b80221e37e59bdae7edf5fb516e49ceb8f8392f0d10308c451a230b913c60e4d53a6332f9813fb0bc172d4bb502f432d -KO = 914b53a64d29316c8c94ca92e7c37133efe10dac67ab1ec00b03ee9f701a481b5c1a2669e58f6ceaf6d24b332d0b41d06eef02cf5f2a7332caa63d2244dda6cad3f5cc7774bb518cf26c00a906ae1ba06e3f5bb05e548ba128c5eb968fcf0733d7c7a3833266b4d728e163845a3d4e089cc9fdfc11ec03a2851a96639c83c87d4ff580c0d5b81dd2642c5e0bd14f79fa9d7e9bb62e48becc9404a79efce4a60060c57c26181efa7f0542d0229a192db5c7ef1b56311541582eddf0466ae97e0aa98e61a7881adfb1d9311292cdfbd4065402e656ff7db907991b2102950bebc8ab8226b4f45cd0f8601969ce0b2c7b4ced0ed20aaa5a2c350b8e0d50b487c6a1 - -COUNT=17 -L = 2048 -KI = 0c5c52ac5506b6f28e2217fe50887517427b2673852f6d9205820c6ac48d8f38 -IVlen = 256 -IV = 7a2a4c44e52dc910de273090ad291e3beb9d30dc7bf4b68980aa293e4990817b -FixedInputDataByteLen = 51 -FixedInputData = 08038c517fc83bf31fd044a6ed25f2658d56fb5ee1e566812a3c72d75cae74c9cca544269635e8a53780c2cd8bbfffae88a4ba -KO = 29f86ccfa43309928684b5a9e1e6f434bf159198df99e0ad914da8a75917dcdfc08e5c7a79a0410d2cb37db3e9deb35b8670dfcd2dc27da1d6c83caae226094e77d3f3df9b36903b45d078db8a9bd96db81922a1a97dc556b8dab596f74159717fbc5e995eedcfb8740c4f332bc70171f9179e419cfc13d8b8e65d6cf4593aad40b42ed983471618e50cff23d635dd4bbfed6998ac14f0b49e3d10ea7e202b2a2c39295871375a4d7e5876cba770386aa501cd932ca01cc40099c2c032f96131dbc3114f99e5a632e136c7050d96b8b8032a126995b1926ff1ac511bbb7044b3d7a74578e9144acac837c4cfae443bfcd7340a30577944453f25a813c89434e3 - -COUNT=18 -L = 2048 -KI = 8b61573bc8876f3dc2b862a758a523d0c5def09af84b923dc4080659b6aab869 -IVlen = 256 -IV = 5cf66a9eadb14dfee2d111d1d6c7970647f0e011bb03905c2515155c65115524 -FixedInputDataByteLen = 51 -FixedInputData = cf55bfc7934b978e968da7e2ddb7f1d11f334506fb5fdcd0be0d6f9659ad106b08b2f4c112fcc65ed8f56f7022c6a297ab11cb -KO = a3ad6ad26f55dbd17da5f31c0fd56055850600f1a042e9fe7c5709a34a3b12453f6d645baaa6367be9678e22095d32ba02a4ba6c24c8f0d7f9478292ebb6b6f4a0d49373b8575d14bf8c92b3f89a010e3d761a3dfc891b7c44f8da372dec3fac0ec2ab391c2a4c3da10bebc2c36c6b23fce749f0df4c6958bccdf6244085a52ba459edf64f177366d5d933859755b38047fee850f5450b57432e876142d9f911e11764c0f412bb477ba9bc75e21795b370d2488b6f1da9a13695ef26232212b3c0071ba55ff0dd287cf3de26ef5f6e9d1a2f11da8dc1014cdb8e7aaaae23661e32537c9bac69a269211058799bd31b6d8c7b9e9a890ab9a9adab41ae84f6d6dd - -COUNT=19 -L = 2048 -KI = 2e368c8a2a0db5fc90af71cb3b1d818962bfc635f59e9fcdcd7e659482c06ab6 -IVlen = 256 -IV = ae79c25d0719a9aac81df93918f5637668204b50c8fa1488502daa81a5817473 -FixedInputDataByteLen = 51 -FixedInputData = 49adf3fc63d5f2ab8f45af50c36ea571eb63ecb489fa9d13b1529b7c5fbc1467ecaf2729b252e521d3b69309a8fc69d4015040 -KO = 898f68773e19154d13e6e43886eb2d57086108ba7e91753f0a3998f06c492a0a471cdcb5c4b18c72aaaed8fb255b4aaba3cf7721c927246522920127eb873e22ea3c72fe75450b81cf76b6a391c7dd7e734dd1d737a2373641a0c0cd3abdcd4441fe301e2bad320307e615cc009d5e62826886e543fc771fea331fccdafa6a56150e03c93260177d12e44fa4a21321e9a337ba471ad22d0bae212376a7a3db13002b32b9740d48c99514572d8a11b09a978715cde08cbbd43b7e2051c1d1231dc63d9a4a6d940ba3f120094769f75296b2ff695f260f0adf586c25dbfcf120870782cb843bad754c0d2cfb20a6db763c9966f54c49bc6f570f50e01092756004 - -COUNT=20 -L = 560 -KI = d143f2c639971be865917828797cee7c7526ff105b2f63c74e092fce56df30f7 -IVlen = 256 -IV = 003e55424a48eb75f218b92677b36c1bccaedd5499834c31d7f71e58319e4a97 -FixedInputDataByteLen = 51 -FixedInputData = c9784aff6b37065e5874c7dbabea0f139107e6476a68ef6d6b875f9d74d6a30572a377ebaa6f9eb312ee1bdbeb86b49fa658b7 -KO = bfc8d72096a21f61cdb8639be7cbfc9ed6df0f50ae6202caaea537459b0bb95a6ce7c50f5173f0c89ff0c8de7fa8fbd17bb3294e43815d6c34bbbe35b9a77d1f0dc5ff182f2e - -COUNT=21 -L = 560 -KI = ca73fb7bed0975564547bbe3c683d92b56b40aeff354edc97a811e2fa6d7fa81 -IVlen = 256 -IV = da3d9fab1e995018f32420612103be1957f9bf67a7fb28d6a90e57ab9d07d899 -FixedInputDataByteLen = 51 -FixedInputData = 7f06286d60c6911ea47f8a533c408ef54957ab743fb868f746a371d0e648360266ffdcfdc24a4340f5d554b01ce2f84c6a8fff -KO = c4fb647ccbe28b143af3f671378bcab32c275adb7711f4f1c6676de09fb3810955dd9c27ab322c0fc5f11948eb56b56856c5ed9be726edb08988511bd04b6f27b4a3d3cba676 - -COUNT=22 -L = 560 -KI = 779458d82e1c4aae616bc0fe3d72f1e8eb69e8c2618b03e1b7873ccda3b39e17 -IVlen = 256 -IV = b7ff1a01b6eaab66e0f16439b8897110e13119ad14aab0fc4afc0fc2c2729b58 -FixedInputDataByteLen = 51 -FixedInputData = 9b471a7d5e6445f48e2ce48542cb23dda0bf140a6d0f66390c7fedbb8837b64535f0d7eb1bef38c3d6aa37f972e11f34dcd881 -KO = 7aeef7e77498f768cd5021daa976481e6f80b325dea393adba889cdd4106aa8c2fa77a7bdc133b4d52e3499ae7124a00eb34c8beeed91ae8018a14f60c91564c4076c9b67a53 - -COUNT=23 -L = 560 -KI = d58310aa3869b63c8886b82648ff5163540c4724f71597128ea2e516c2679b95 -IVlen = 256 -IV = 4085a05795c66b347373d3bf47fcb5801feea0cbedaf95ae664b1611eefdea0b -FixedInputDataByteLen = 51 -FixedInputData = 75a01d608ab10cfe8a2bac4a490feb6fa0df0356cbfb0b7a23ec67d480cf753afc65cf50882427028e64227299babf40981ca1 -KO = 6402b677881c41a0b57d3ede75a9fd5f4dda31ee549cc1745e33eb8ab38b226d2a8c82d2b48032216de0fa70d5bdd2e6d43f92cbdd58bc86de9513920bfdc4c8f1602c89a2c5 - -COUNT=24 -L = 560 -KI = 3ddb935ae6dc0dab3eeee5d3343c9860285f744a8ebd5d29ea2fbe101d97a6d1 -IVlen = 256 -IV = e16d5698594a380c62ad025ac8b6c301f67742fe8d4eba38a601865c4be37443 -FixedInputDataByteLen = 51 -FixedInputData = 33a75efe2399ff92cf7d878ed292941339c0bb5f5d2106a069c6d52ba18e2f30745808b3d122daad71531c99799593cc271a85 -KO = d1e8c7fb204141f2e8647ad7f107afcad756c474415263b7dba879efb3f2f43b1bf417a765b80cefb2047e888705e66b8613bd9f88ee007221ba1268d51a5c1ce96feab999f6 - -COUNT=25 -L = 560 -KI = 19c5b7a0d6287120b426392b5ed4981c18bbd1263df2d2bfa74fbf0322e826cc -IVlen = 256 -IV = d30cb6836aa0212e0254a470d33dfab31d13460f1ebe462d2b2dc67c36b3bdb8 -FixedInputDataByteLen = 51 -FixedInputData = e9b0222eaa075d898d4df90afd3d520dbde975a238dc653bb9243b3857dbb868d8fe18190dd83c4548b0bb90e50d8e3de4d24d -KO = a863fdb058a2888a2989fa129c7a1b0d1e6d7a3820471b9e95e0bc106c1e85313ed2f77f09f060d56e0bdd41207f6b66532ea6e132f3554c1d23de7c1028175d4f7cfb9f120e - -COUNT=26 -L = 560 -KI = cea95ddfc2f3c03ff55dd7fa90b6ff5914e951cea2c6ed9a2718ad7dbe3542ca -IVlen = 256 -IV = ab31b121b5c147d846c00dfa8db0585afdb659024a5c06519d296c0bd209207a -FixedInputDataByteLen = 51 -FixedInputData = 7899e1e7d2cb7482e870be5fcf4894b5d0622dca5c54613135722778b8b80b79aaae24cc98c18b74ef1ddb6a35e22c2b408c87 -KO = e8514f5ab9cd0db211ac53f5d6f04273898c5708d0dc64bce924367a65228f1fe7a88af230b994b503348530e3f5b12e85d79adab11e3155237110ca30f947015d1625c31c3c - -COUNT=27 -L = 560 -KI = fafa92e5bf4c1ddff5d873acc66f4f51f6ce06ea83f37d35c0e5461269d42d52 -IVlen = 256 -IV = 76ad5c194d6cbed77d5979bfd3fbc860ce0edf4797cf764dac4e9bc4b08938e1 -FixedInputDataByteLen = 51 -FixedInputData = 3f1dfaa6427791975882933d1b05d9fe90444af5daa2e902dadb879f52f0b36d6dfe653add1750059225510142a21c1169fa13 -KO = 81ecaeac00bf376241f41df88f0c0f68221bf16e07b04414169e59449b260e5dd12731c66cb80e4c399c9ca5e2bff1d4fee50fddd6ddbe2b8e6bedc3131ec540eef8edbe2ea3 - -COUNT=28 -L = 560 -KI = 1d669dbda430e840b5b82df76e3b625fcfdd427b9d124a1a0dba0093bc83e3f5 -IVlen = 256 -IV = 5ebcb76edfed6b19cd5aac2d857b0d6f069c6fa7e7dd7fe7369d3417fc28f5ab -FixedInputDataByteLen = 51 -FixedInputData = ed4019d1b84349da289c0e38771623be6b8fe035701ab055aa89e0934040a4fa77ed73f52250fdcb3b60828f8ac843623441b1 -KO = 61a883304aa56e97a2f04d2bb93ad18f6e8c59802e1e52f8e902f12d332485474186b72a6015b0ec7a7f3e25cb7ee6e1c1579f7b8629e3082697e40e5df5100ddb2a5ed8bbf9 - -COUNT=29 -L = 560 -KI = 72302764b5609f0ddef50bfeb69250cc9bb125f2fb1f28ff5f9563e27b6cdf02 -IVlen = 256 -IV = 197f7b866adc3a95801dad46e243a8a775376d7b28073314d35f4bd6f98ab74e -FixedInputDataByteLen = 51 -FixedInputData = a8a347f3d5d3c8a7fb6c53a90d5cc8ac9c9f5e0c93e19a47aafe009ef683e3df008426ec34c3870a8f0d9dc0739eb2fb3a6e6e -KO = 9ced89b652b7bfcf802704634405328ecc1204a1d67c648f162d1d96cc4c816d0ee4c97aabd2bc1efe05035747aebbac85e9549d12bb5fc4f48e2c301f62567f39bb11e3f9a9 - -COUNT=30 -L = 2400 -KI = 304102290da06b8a6fd36cf8415b8a527b1d774b90ddd3a43475c54b15eab0a3 -IVlen = 256 -IV = b619180b1f4e17e14c10c56ae38be69baf01a1d9b55e41cdf1cb5689685454c6 -FixedInputDataByteLen = 51 -FixedInputData = 10e431e4a89963003edb1a87f08f30655597f9033a386a7bc0645479ba9c668922391a2de6b827d81a37c27c171db631fa1d64 -KO = ae31c0db7e00fd1f950d7e364f8bf7500c7661596a85f33942cd41601e1bcd1e5860f54c9deb7c102561ec366fc03413fc7e9765fc8665fef565ce2e26ea2d4af976137ff96761fbfbcea94161679f0f2d77f3399ed1475539cdd546ce9a741307b20e156b22e6a499ffee59b37563e43d624554862f650c8748da15961c9ea144350d25fb2306b99e144167c2a85c97a595e223a9f9816ff8c01db4658fc30f036c73f4775aa36a816b9dd26d1d4e81bbf63562a6d93b609a7de44d852535ff42b5c53b72a18e0cae38cc5a680a149831f779bd33209004a906664077edef8cf4542b96a4a45fc19f410d30a6bfcb24b3f31c43f6243c959ecae17a63b7f4eed2246a2730c08a99025c31069bee9d70d018192bae36acc87c4db7336c75f7009b2ef8bee766ca41d765d8e8 - -COUNT=31 -L = 2400 -KI = ab163a934d08f9ee2cbdeb5e854f139ebcdcfb1d223b10603abffb1e25a9378f -IVlen = 256 -IV = 5290904017943c303e0b1eb828721d2f439cfe3a1a8e5b480ce5161f49a75c57 -FixedInputDataByteLen = 51 -FixedInputData = 3bf8895a6583f7b6fcba4391206732f44f1d0ed2527049dcefca3cf6d7bbf91bf8e33a780c5f44af833ac21867021a4bf3b22f -KO = 37cead8b6d07e3ea60bdb00a49e999e2ef076fe243c679019b919d72522120ac5736f6a74d65b92eb492a02aa23775573b7719b6f836c4aab0b0559c9a1c7821249d2589e30ca2e9d71d5cc2f35371c99197f3d9eb12461a07348930a9b036f600714f580691a63c3e822e987804fb165ce2ff12f20b37b7d4c2b77cd483ac7702663849efb0a49465c95c27e6f7b38ebf9639787e6bd97d9c24ece571becedea0026cce413314080e1b894c416ea44889bc9edda0defb02d0a12c469485f9602ad8a4854ec80804281a875d836a011b25ce9d1fd67cc55a7ee55bc7f63c867799d04d2f91af10fefb7b253dcc1a2f64d695ae440f9af0b5c9ac73cc0ca79d3c4bf25fb05e45163faa3f6ff8dc7821937dd94a5e962662f680b7822de8b70637154cb9ed10a4784cbed54d58 - -COUNT=32 -L = 2400 -KI = 2a71dde12272962c28f1e57a2c557044c3a2d03b033048cb87ca7683bbd7ea5e -IVlen = 256 -IV = 09673c04f89fcdbbe27e9567d0e2ed6ff65eefc61664b237f88532666fc26ee4 -FixedInputDataByteLen = 51 -FixedInputData = e7f36e90bd29a55003c3f19176349be2daeb8ab6823d491b3004720a32125823ab3ff4f6a3638ebd100b5b8933ec7ce9af53a1 -KO = 74d83f125b4ba57d588907e1bf271e8616adb43d620ef9ce5a5af7bad7b8fa1162b123ac34cac0e17e7d3f3afb8fcfe20141e7c555dfa7780c95e4c857b7b69f9414cdbfcdc96bbd81b366d3fa3d84dfebca8b001e7224114384c707c49f98bbb2e42107bdf248570fe29290012427df1b3601e7058a0a0a48c4b4ef8b500988228145660efabe44e0d15cc335bb8e99ac4e20d087a01c105cb7a0e02ae7ab81f96a7979a0a2df180196547e63fa88f960b2cd571f5085250cff4176530c78283b354e11706923f55b88d15e72e8dd97030c1cf7323f842427f1d6c929a62d98e646c96d85b927d2ef3e262ede158a54a79c6391aed54b2a6e844a9c44756aaaefb819e1ea0a27802a0f50976a4626b4ee22f7bfb9ce3c28a80160708d7599dea1722d4e65a72907c8925a09 - -COUNT=33 -L = 2400 -KI = c49239f1e7da26e106b3851d98c09526895a62dca1e045f73443ebc756d92d94 -IVlen = 256 -IV = 196d162a26e2c3f74036863fb42f236440128d23c86ca39d8ed81c7b4603ca06 -FixedInputDataByteLen = 51 -FixedInputData = 42ba7a117cc173fe0fa5514e1c0dc5b17ffe89eee954b0c4407b6a9e4aebecc7bc01b4434e52734f4cabc657334ad10da435f4 -KO = af91c8352655c76c3cd4ae2b1b8826a86e5f8bb32b4b1e874283fdd6f17098d9dd169af1f6f0c428ee54573d41affb119c56952e0764e3b194b5956d8d4744c709ebe06f33e671d814d6e25ca73fc704168f811f45b6e7792f1d5296540e48a99f26a66c2827dba303eba57fe8f47a3be1aca83a47199991780246008ea1a04f982abb1defb4f072e439b73bd00f2b2388ea4bcc6f2f84c51d920c96d920ab5dc3ed0f1c54587cfe3b4333b8c2b805b925a38d34f415e028fc9f2698bc6f594f6eb7e7e80a2d7a2653037718b840734f41ef02adf9c8b2c30b45a16d7335de4cf7cc7e5618fb4625c3d37ec04e31ad60a70043198b7eee8772d521c6c5741440ada3202a9b3ef6a1f0e49ba58255aa48ddfd447738cbaaa3e35530f4a2621147e23766e580e638e37c454205 - -COUNT=34 -L = 2400 -KI = ec3633920619079ef7341de987eb46b794333a27d72709256ebd32a516ac607a -IVlen = 256 -IV = 98c209ed1bea3e24c936cf063ba7ffbd3ff66435b5c23270b31b993645cf2f95 -FixedInputDataByteLen = 51 -FixedInputData = 8bacdee57699c63570cb67432f310e466f702290265dca28f44abd791f5d828447d5ac3082b8b24be98c3ff85c45c0d0943e8c -KO = 5d6cb1a2fcfbe1779ee89968771bdc77d18a2b9c349159c97ddb6a79b83c882b072e9d7af85f80892358d0df0ec2ddd5b07886073f706d8a2d43ba6a8c76232a5c45ec68ace178e80393bd327e2e59c63c51098124109944fc8badf492cb5ff5927003a64210cde487d0b4048c1858c58d9376bb9371f378b6703f4e73e2ee802c9384512a3ebd32ae01f22c0d914d3c939ec4f68a709eef9e55a2b9dd5fcd737e8ab94af18c0565dd78fd3e8c943ebce0df0be7ca48586924d96f9ad744663347c5115d885f5c37d70201bb61cd62b57a577bde43cea0416906a52dd148fbb65954ede55ee6f09679f30cc45ea94c32ba2d946a369918c042b86dc0f95dfa0ae43a00186779becaf495f1e7a3b13a49212f2dcb601dfd3871fb851c7b5f06557d69c7ff65581a023568ab1c - -COUNT=35 -L = 2400 -KI = 1e5fc78d651a25033bb1bb72bd4f31ed8475fe56cdd2eada55995cb6c3ae80a1 -IVlen = 256 -IV = 1adb19b87e3ca9e32d549528febc7c994c5e3eb0330669af02d9d46f5af6f817 -FixedInputDataByteLen = 51 -FixedInputData = 9b42d725b36f60df01d9bd53eb20cffc4d008523334cc00b976a159a08984e910661720a65846fe0465e6702fd176f1b82e835 -KO = 4b0682ee5806775a76872cc21b9a24f45bb32c62dce7509595a4e0a5c8253c882e8c8ae337f70aa62bfd08b3fc0961993563d0971df4023f430912f52326eda7c1bcdd4ef25731ee8faa1a9ad9f6d06886cd08810bcab333af46d818e3eecdfc5123ff57d8ea25ad1e7a85ea7cfd55fe81cd1d0b47619fc7a8b85b02d921dd2bfea1b8f30b64a12fcef687e64913b0f153b3edfae8c55c2d9dda112927fd5bf0b39ac0c5c1b8733054c4eda81464c7135d73920bb216d41de34e7eec64d2a2c5d900d497b6ab3e7ceafb052437258a04c8065d240c4d65d6e513fe7cccc2a811451750666c305550ae197b28bcdcecbfc250fde2a0a69f07f3eb1daa6de097bfef60b3eb92db951a07488867f2734a753ade3f36868da7a87edc8beeff6b9aa48af418e6d7855b73f0fa4aba - -COUNT=36 -L = 2400 -KI = a6a7ef39584c81b0c07cf811bde4d4841eecb70e3209235d6483f56ea8e0e93f -IVlen = 256 -IV = 04a7f589508689f3beeca6fd819eb153a7bd32a1600e7cbfc764687d4d1dd3f0 -FixedInputDataByteLen = 51 -FixedInputData = 62bedb8b31092c8d7a08cdc6784e13bb600379514dddf3a3a4f8c8e3dc2dee47cc5ec52b6f33a61728ae460049e5a2d203ec16 -KO = 1b64325a967c1dddf06b1e88ddf47aefbcc93920734c9a4628e5b60da4d2a1e846415ffe233fea3bbedf3d01a2c149b5a02a9a92a500b2a302aea4dfc66822ee3923fc2a856dbfc9521373149b590862af05d5ec6efb7352817960e94e76c68c3f9bf6d5e7234af31ed9250616413660c5c19b99a55835b60fa47dad4792c6293ff92a38f96db24d19a907f359c9af02f083bc1bfd1003c64435254ef96dd3dec428c6d5233c1a22a21d7465271e4e83c3ae4d4f2e193c386f9d8930c1750d7edfee8a99cefd710e41c7ac2e2380221922ddd8d52c881d0ff155d582b4167f9846c24797c5a3480cc7f9e6ecb907cf606bb3b94a1989b59c1414ace741af7385c522556a4fbc96d89be93080cbc89e3ec1dfd64f6177327f117e9c264e37ea84e4781fa43e6f37183b3e4d4e - -COUNT=37 -L = 2400 -KI = d7b419f46fece4b85a89c2c42535dfd7b73864f479da01b515e53d947e0e0744 -IVlen = 256 -IV = f854765562bc970d9ced8248579ed92f25b359e0c909f86ccd0ba305c5f0dce6 -FixedInputDataByteLen = 51 -FixedInputData = dbb4ef4175261330ef2b2c0ca8ac9f8d3c4f0d6157baa7a704dde5ed8cb9202c59f372400c263da2e496aed57e1cc7d0ee0a7b -KO = e90b0f661507c4bf884c645ba9dda02756baa83266122443ba48670e28d8541932946399205b72ca779052af102e266bbda7f7538f4e77a01ea5487ad722a5f6b5e6f1865fb64eb2aa02533284e7bc4d87439fb1e6b6c2fd69c83703cee34e5077269aece8ac180e8943a836a58233e974cae58ab8508fedac2b23a444762dc9549335a1d0adbffd6662777c716df3e584c8a4de4548d8b9bc825beb4c87f160506e0080c8a37d7d2e54140276b14829ffcbd699609c4851a75245261bae3e658979786e23314858e996fa680db7fd6dadeca834205b37b0cba20a345db671f850b919fe62784d932fdcd47920757650240f2b535259c60f86762bc7e53a03be1d2b4fbf9bb93796164615c42921816ac4dc9b08ed9e5c7d14e8225d9eb820dd732efd7d43c2353f6eff0881 - -COUNT=38 -L = 2400 -KI = f9a21973d1f67c254e853a2eb879e447c2cd833e78bbcc5ec064356c03b4c91e -IVlen = 256 -IV = 45a8fbe41f5fd54eb16c17146bf4bf85b5aba4b0673cae7821118640798eec9b -FixedInputDataByteLen = 51 -FixedInputData = 055a50376a41bdafa0076263ea47c46cba0ffe8e2577a52fee9a4e37d20df6df9df55c8c0f379a03de207b156aa1d0f738effc -KO = 7df682546dee01b01be697bcfa2806d08e5ef15802b15a8315c345962f8de776738bd85913d93a3615e4adef7e9ad678455a01f9da4499315b03e5b24ce756001baccacfb23110b72b1e757a731e43d983861afddb6f81f58bffc2e25e6070840f44628cd8d5ce14502eb655309f28b50a1f26b2a1752a6937ea18d792d9dc0f87e9b96eece7c09292ac677bdb08b67711fcaa0f56cfe056d9e77015c0446b22c4c250cc5c89d0746e4bf452c2333d006eaaada486ae44884b43cc66af7ffcc484d612ca09c5108e38e83ee0dd40b0c2602c729a2394ca8e122af6b10b8cecc73d95f2178b5993a919f2a2a07b3b8dabfe018d345834cdcc5a0a0edc67c8673c43d58fc3196bbed655cefeb2ad8e5a0decfe1abe55f601adf3e872d7000a707008e5ce7caad089f414d31c48 - -COUNT=39 -L = 2400 -KI = 7fb0317ec581e5c2cf8821ebfa988ab5c67f6b5d2b7cc1d16791ee3505788c00 -IVlen = 256 -IV = 0efcd309b1b70cce2a77f1dded4e388c40a5feba5aad03e9bea4125d3396555a -FixedInputDataByteLen = 51 -FixedInputData = cf296047f06d744f3793fcef49a6282964c3b86ff57e2a910c7e5d0c7028eb68910cef9fad770715a6bf7932bfe7bb03244277 -KO = 432da2726908ddb49c86504260da617e4c4de5e0395d752f1ab136b9e015569ca2e03ef1ba01e5d72bbead125127bc7fe7c6d8a52aff242e3933685a5237bc0978be723e6254262f41a099fddc4d57905edf39e2bf7d1da9faa51200870523dbc093dc9d1dc9d8cebbf10b7af92f04f2f05fa1d9d8cd5cc7075c43e5bfd469684140e3e988007fe4424c857b7df3f81fb2bba5b5427b770d21b1cc9ad7be16d8fa9293a54c431205b907eeb443ad408d24147bd0ae7a7b4649b9e3962fbc8ad0140f95c096d44abfec69483237c1121e2c36a57e2b62f39c6948dc96e81b9e5eb8c4cf3761f8905545e7a15fccd526a3b191eb60e30f22b3d4344ef83ac50c6be5c460f07710d9f0ebdb013d89d9ea93b66fba202d8f929f0d38debb8ce58ff48a00d03a2ec898a5b6c4b475 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = f77fb9da4c4c46737cc8af75ecf06e68809dda14b36ee83e0d4a4968e88716da -IVlen = 256 -IV = dbf81f99d07ecc7a2d7b8d2845a3e16880da333ac2588702f3b417a7763fbd3b -FixedInputDataByteLen = 51 -FixedInputData = 4e5b98267b8c03b09214894a46e7a23f47d5b6f4a9876052d12314a5bd4921ebb4bd5f74f38437b6aace354a60232a449a5aba -KO = 03c19083945474f541ad8ca842edf56b5d58113ab41e7631d32022786477c52098f5b2fe66635d3567dbe685f5635a9a8825e0438502b3a764fb6382fd5f1a5e - -COUNT=1 -L = 512 -KI = 669fc9eec8e5dc93444328eacb961c5894d9639ebe33b1291c6f26a14385b631 -IVlen = 256 -IV = 5c1f761328710a253f054c8e5d163f0b45f64015a43f6c26fc85d492bc6adb78 -FixedInputDataByteLen = 51 -FixedInputData = d4aff52905ec39c81bcf134ab7f2f3bc10c5530bae423fafd73a294f7b25e6abd0a5aafd161d0ea7a7b3bd68c543cfd83bdb6c -KO = 4151caab4e20391c25be64b66258696d34c1664574a7f7cff082f6aa85e1f00a1ed764987970ffd56eb14592c9b75ceee2326a2a60e876fea37dd6d9d4707629 - -COUNT=2 -L = 512 -KI = 7c3ac3701c99999b446bad93f6a4a82470591bc87902a3ef1a03afb3c58f816a -IVlen = 256 -IV = 9a0499351d52856fb72bb8b72a6223d75f18a6cc49ebe219eb54f3c07cdb00a2 -FixedInputDataByteLen = 51 -FixedInputData = 5e00bcb5ec1baa9f1bc6e114520c0308dc2608e6b6702621e2b9a8d9e8ce8bf233aadd0f1c5f8300f4a965c75f244500beae03 -KO = 6387cd05001b8205083faa861d7e0abe47c0c07b030108373fcfb63652bb8cfb305b93474a5618981170e6ec8db6442a21a2f05bc409b8e3c6efcdddcf2391ac - -COUNT=3 -L = 512 -KI = a10c1516b77e855757639aa56cd7e13e8502fc8241b7cc0e7b1a62b376b50f7d -IVlen = 256 -IV = dd303770d6cc9a3ba7d8f98481b21ba82b86b961f753bc103d60e8e5aac640be -FixedInputDataByteLen = 51 -FixedInputData = 1bf6f3203b2de189d49162c311f55cda00d76decfddfc983f44ea956a6462d1aad908c55fae6c6659281e467181a66eca299bf -KO = 463e3d811010cff1e6e8aeb88b1220b58279d1a99fba9db21031e15ccb65d288e45570a39439b6bc254baeec0038ebdd53a13e333d88323ca4d40efb61ab8c5a - -COUNT=4 -L = 512 -KI = 3c4ab6d19bc3b6dffcbe4530054daf0013650a70cd6e0499d4f5d0ca585cd59a -IVlen = 256 -IV = 8314b239c1c673a2c01921bd1cbe876931dda0f8b6bc16fa90920078346071b2 -FixedInputDataByteLen = 51 -FixedInputData = 1ae01707b5b5f26b35c76eaf69f21d37e660b8c39182626d40c7139b98f68483a45024d8c3747359f2734a5bcb33ce6a15482c -KO = 7cf20299221e02f616ef648c1d9e8a814a87a3d79c03128b5b212e69920e50b948445eff2ad568a1dbc95f95ce30c2abbe790d3677c28016ad06dcef80dae7b5 - -COUNT=5 -L = 512 -KI = ec67f3d0b45d899041d6695d2d22b547abedb659a29f2704033181554369f24d -IVlen = 256 -IV = 44865a78dbfad0a11705535f81f3a647eb8a7d0a6081871e97f00c67a2345673 -FixedInputDataByteLen = 51 -FixedInputData = 25765b8ee9166ca92932ad523f28515a36580f05b5b741cf863a282a00d94f1f75682a37751de54e7f9c6061868095c75089a6 -KO = 93af8ef84631e2c92a7891765a7a435d07905584c59114f644d048bd39f3e41fd6f6664b3cb50e266c0122c81ab17e521afc73b84b8d6f23ec198cf71a65f662 - -COUNT=6 -L = 512 -KI = b6cf589c477fafbe4331e49dfe99e65d0e8b3315eac2e5554edcea0f8153f102 -IVlen = 256 -IV = 124216cc2aeeb8e38fd1ffc4a505a298812ed13aa07e0a05c0180db16abcd735 -FixedInputDataByteLen = 51 -FixedInputData = 5d93f7eb8c103f25c2c5cddcba8c5b216bdc66a40d0bfcb8530cf6c27444031beeadc83187ad06fc5ea8e40b2ee3a428fcb3ed -KO = e8a04aab81f01963504579fb55571243e4f6f9f610d99eabe6e804876f098e1bb5524e36998f6faf311b86f9c7cae7815372bf65ab217cc05581ef68ee290d28 - -COUNT=7 -L = 512 -KI = f7d72e0c75d29db0560e573260ef5e1a5727423ff91d60933c3292f53a534620 -IVlen = 256 -IV = 4af3549fa214c67188efde56447ebad1466cf693657dfb528cc4640efe8dfda5 -FixedInputDataByteLen = 51 -FixedInputData = ea0521443b84113f670b010ab9ff1f2daa6ef86ce89ba3cb5ea351008e22d93981ca4ef0099a9770de94e383e49a5d352afc4a -KO = 4963f936d81021de3583ad8b50d029e71de1b52c249667027c3b55211ff2de4472a6a5f77f1591f9fff2286e60b0eb535ab7e651d014d3afd73240a5689dc92c - -COUNT=8 -L = 512 -KI = 2869ae42f61e866ec87d4068566d879edff2d0e543d59dacade725941166baa2 -IVlen = 256 -IV = 3aac10da2cdad03b223c39948d4e9c90a739ee84407ef25229a28d7814be7ab1 -FixedInputDataByteLen = 51 -FixedInputData = 5f67d8f1d38c38348aa8858d5599a170f9d4e042f3d750005b3c9c58d29d8a7f6bb492638d1a8a89f1259aa0790da2e8c64a3a -KO = a4264a601cd5a56a46af46cba44fb18dfcd2e79abe788a1da162515f2d319c1f3ea3ad0f353bf988a6d2a86517371d9944b4f98b2eae8ca70b02f99284e4b1a2 - -COUNT=9 -L = 512 -KI = b0dbacf3873c9affdb37a023e055d4d5c1f5629db83dccdce61d2b63c095bb33 -IVlen = 256 -IV = 127c55e47e3072bbf6100fe4e9c4711b2b99d731eaa461bac2d448a6e2fc58a2 -FixedInputDataByteLen = 51 -FixedInputData = 1a207bd4e328fac8d86bea65fea7e90c681b678e0889540dc1d6e3ac88cf849349cda50358ecfa541b042b66b48a3675fe8581 -KO = bd80cea24c16ade61a28f6076734591e7c0e40c629e03f0cb5640c8d90722c8fcdeb248a481ab2a7b1d1d2fa6d1e55b87d57f5220c220e3099d075bd5b6a533b - -COUNT=10 -L = 2048 -KI = 307ad829329949aeaf49ce75fcf7f7e06135c2fa42013268996d47ac6092d480 -IVlen = 256 -IV = cbefafabb02bd65a5da425d122c85f9a04ab8afd9a16ae2221a83ea12a3fc75b -FixedInputDataByteLen = 51 -FixedInputData = b1bc00ca183c9c9dd0c28a91ba811a6a83a736e81549c269a284a4b479ca5243b31824d9319e203ecaab508c605f3ef36ea779 -KO = bf058714eb0d8c85951e34c268020b9bdf14acad13b1d8a45999587f0c34e69a3dbce1aaf7699e654740169edd38114e91d64fa201a9efb35d06849dbc5c7eeba277d5ae6eb7fc9188f068037b9569cc261187cb2a72f171df2f9fb973057d8e0b16f2a822e6a81cba86faa7657358ab5b68351d5ab6e506d05a65a459807a3796e6ff5f90b05c94e148e331e3b3018550abdddafac9d437f4548fb1ba6e657c850547654e0620ea994dbe1545a526ea3603124e433baa262149015d5ea99b008d8fb81fa0c162e8dd17a75627dd841ec04de902379e9c76c1c648ad8783e3a18823614b6a22f013ed0829b08e545c86dc5235733004bf4a16d150a489a7823c - -COUNT=11 -L = 2048 -KI = 694565c4d9091a44c6000ed2f25ed0d9d466fd1fd0c9db0673ce9b462fdd6462 -IVlen = 256 -IV = 2398f1ad3bd9c67f9e129a61aa067e3319032f4018a46cceab8bcbabcb6d1f39 -FixedInputDataByteLen = 51 -FixedInputData = ef2e9f3517bd66b9555bfc0c4b0069ea73726922e3098d7811bf6c8d0ef96de1c0d2f9c03f5062be512585b87d5e1ccb51942c -KO = a70fc221fef6e3dc4a575d2571ebffd2d244a2396510575b852a0e2f7c32db0deca2954535f36e6cd35ad695b77b7582a0c7d8f4d348c2d3712426fdf7ef9eed711ecf4f177e5f436fe078890448da2357d4c5b2970053f79d98682b2a8462c02a271fc3d42f84b4892526e80da1ca088cb7000d42c40b581df136f1bc81ba177b01e632c97ec750d76a1354e718c3a3dae2b7b38857be39a2a6829bb6f6060e66ef57904005b6f6ae7ae6a9173aa7dfd2048f3638346ad081ace9f696555ac9384262c565f0b24e5e39c91e253a1a6c6cd6f83eaef88e6ef52e5742e4d1f04c0be3af3709ddd4ebcd8c5bcd5e5f74d4eb1dc71d1368d5e951b6b4a2c7264af3 - -COUNT=12 -L = 2048 -KI = 547f5950e782c377b18a13ad21e6cbc2a524a59824970e63a3ee4a4d62897927 -IVlen = 256 -IV = e4cea03c400d6e3a9671b092622e968827d579d02d59e6da799c9259bf912224 -FixedInputDataByteLen = 51 -FixedInputData = bd4ee41e4c0746dc91de4e52d8a1f68b77fc7c58fcfd5894fa73d9f598aad6da69de976ab691288c5054811def31ce74cb41d9 -KO = 45b422f929e6402868ba44c7ee757db620b1d46b9c9203a7d95039f43a9545405fb58d7cf9cb05a92b9f60d4747b2a406dc66e1e9f9229beda192c708bb51a43b033df661c19494205d372aece00e962f5aa5e1ee92e3ce2a027d7b86c68b42a43f32addf913e854a1b3da47cbd649b1d9bcbda7f792d4c6f9e4be2f030a3441ab21613d729b63258b2363a00659415b21575a303dd95f2875271f983d541e34ebb478facf941c48bd0ec4fd29c336b4e2485830700f065218c58cf3202613c55869d6ba64708e4689303832e23e2794b6b2d2af403e23642e01e303dcf6da03718281fb58f0df62d93f4eb04da72aeefdffbf5eb39c8562991d986b9c90c91d - -COUNT=13 -L = 2048 -KI = d0f5a66ee4fcffffe80300a9f82e64489beb4a9bde91cd3e75ed5dde3e711fa3 -IVlen = 256 -IV = f0513e817b6429da7127f7a10978445062a7ee8872e86a7943577ce087065ce3 -FixedInputDataByteLen = 51 -FixedInputData = abee7c4e82426785510b4dba74dab739b47fff5b1f14072accd31015ffe052588a9958fac6cf1dd9931dfb9af3c11972507150 -KO = 9ba3b9b549e101e51e6aa1bb0b9279ce2fd3e1a2b72cece2dfbed2280f352d7f86db4566e3e1ac5aec9ecbe001a5bc5a02d274c7ea7dff33bfe090ab6d375ffc0c058f634601ae54a060d7de382aca472f997f94bc904f5a0f21a5093c1bf551dcfb3c2fd920105e15b615201c0e60199edeeb57f4b81e4053ea5715293142a1c286de06e9b2a57d57434e9965874f8eb02300fd3798d04181b81d6b83d15b1b8e34b3e2ffc5cf808643a84a92b5b2b0575f21a888c6ff0caf977a8d4eadf2d3a4f05696746d363aa325cbc8afd20c3a9292f04886eafc3c353c15a86e42090ba5fae7b77e5ec072bf4261a2b83d5ca977a8b5cbd6899b0506910652bb6ddf30 - -COUNT=14 -L = 2048 -KI = ecd4b00b24c69ba9e9e69f6f1372d3758c79048bd5979cc923a3bbe62e7f97a7 -IVlen = 256 -IV = 590f453a34d8a6923d27c3b30d364e2520aa7ec47e0729b01ba489ab1cb6c34b -FixedInputDataByteLen = 51 -FixedInputData = 779d37804c7fab6b43388f2d11ae0c408308da2e43ccad1ac69b9cc85a999245590628abd409597a45b2eb995bbf9b0b2a7309 -KO = 52cb379146d8b65f55a499a5786fe22141971fee0e3486502df08c32ee2ad175545b3a709917eb352ad5511d321727f3f7bc0dcb7c05f276b30ca50a5bcb9f6a265fdee299e4480a165549c85ece9e525fece066504ee2cc88b15fa58a078b6284995b2fcc0e9bec70c3541f2f2b3d5ec976d652a1c6c8b94bf5dc2bb672cf8fc466592b4e7322b5981cfbb5f5efd1069b9ec408d1d68ec31c0f28a75f19cd177088d15c618ea72d2c4cbecf47b8294c0620f0d36b5511c5d9665666af6cea9abf16d655458e3eb33380dde11ac764c653d0efcf2f11bbfc567b72ec1c39b82f9f79ec0e5ac9c4fb8c9a40a1f7b578aec85fe353c9a90f7dcc54fdbbfe1b8db5 - -COUNT=15 -L = 2048 -KI = 2900734c8a34bb3f8f049a55c1c1e7ec466cafe34af452c1c97e0a23879e9a2c -IVlen = 256 -IV = 21ce54f0b9b82bc64e76f5c0ef104e4e26c32eadfa0059ed48511df75538527e -FixedInputDataByteLen = 51 -FixedInputData = d7b757867fcd2c9747dc5d51f05eecbf546b7c1a6bb726c7e7b2c182fdbcb686cd6d62670f7efb4d3975a7d505a4e1a352edf7 -KO = 29c57998baf8209213482612c9ffef55870ec39be6d9fe0b4d2f4c524e768775ad59a2e3f08f3c1c19e0d86fb02ea97ba30955de7abf29d2f0ed685948c9d2e50bbc351f353f78a80d2054db69d707c5cda565ece8bdcf057a9a45846a175021a6cdbb180bb29fe042ef23d7ea55b7acef0cc865dcde9bacd146b739bfc53501b1df8e1d16f60fa134d49a14edd3926479e77608bfd60a53cb074b21cb7d6361fd6fa2dd2f3bf8c31bc9452508ac2dcc054014930b575b04b22696b714f0a37e83e0393a4a0f4ace3a65b62d49779754439eb324b04212a5e2b3ac65ca03bc95af7400078b78aab514e9938d630794f66866ec6ddd985b3e2324572ab66d74de - -COUNT=16 -L = 2048 -KI = 89b4096b53b0ee948b9d1e5080be62d0f63de2bb98b44a3d7b0af3f10d44853a -IVlen = 256 -IV = c4735b6e9faa625da3c6fda4af7119ef85f3cf3680b92a14ab440d01068a8750 -FixedInputDataByteLen = 51 -FixedInputData = a46156fbf18f7fe4ef72e0c4ba951251ad36828611a520b268c828c4acac103150676d6cae60b5a14770fc92450e1a7e3f9557 -KO = 9e7a0ebd793f5aab1b84db2171bdef083315ba3d3ba43386df71d867258f31ece0bd69ac31367996b4860e23c1e31884234d1c3b44a6d86ee397e580c024999300aea579d931112fdd5097c3f95d687d402ca20228d9f41a36af09b1fdb77dfa4f190d4d344b3d4622af1ba728e7a2330f5c9e035c187fc0ff36c24f92264cbc54d09fbecce66ebe4916c89c2979722ca10e77fa69470c61c8bb5c30f191ea0638b8e990a6700c1d3244160d38ec5523a4ae03b5b157d262edc37eb8d58c340d6dce73d18b88bed5d6c5556db61c64d3ae01ca58e105fd6c379c8a53498b0464e5e93ab002601e58325aba7f4fab86bf56b1423569700923119498987a66e04a - -COUNT=17 -L = 2048 -KI = 3367b51868bc7375b779cb387e2459a0fe2e3cb092c7ce2878c2b676c34b4f18 -IVlen = 256 -IV = 97657f962dc3510017d77441b58028a096a47e63bf8e61480c98c111e8f09323 -FixedInputDataByteLen = 51 -FixedInputData = cc0b6723bcbe57a67bf8c9c2ae47a66d01e8bd1939d914baa6bde5e70c1e74e7e9e6620173fff7a39ca6e46be0870d3a1862c2 -KO = 3f2afbc69359adf10272025dd49025d837c94d03ad35bce43e28dd02050a6246ff4c23faf9ea37bd1f38832de58743c4181fe1ddee05fe10fb8a2c4670a39d2b5b0e3fa00e1dfaf9ae2a10ae8c668e14e6ff70d69b95be49679e3ab7fc2dac9cc9818d1f88929c3cb8e88d19c9e99e1901d9bc68c3fae1eed42c99523c856ce1c520d8b35b194c5f327579cb78e3cd980dcd075b92d721b1b9b20aeab1ed1064f13a860043719ebcd28af07cd4c57634acd264e4e5efad10b6c5f755089d18e41519cd9a14a3f9b0aac381204c0b8112b1de8b1f604b5110c2f8a4dd5842b6c919162b7874108dd913f7ae6535b7f15f6d00387f4fce6284faafbc9726b6ea1d - -COUNT=18 -L = 2048 -KI = a7546a3e612125a892a3ac6f52ba098930c7e94ad5969254b9b600f90a2d90fb -IVlen = 256 -IV = c10e60cbc705092bfb85a6fd4c044b159392dbdfe8c77242b0ef4a37851397b3 -FixedInputDataByteLen = 51 -FixedInputData = 8a89638351daf2f4461f4f61ed90e2e48dc31241b9eda3729e0f33309b801f4486c2b49cf0b11d9e491a0ed958665d449af5a8 -KO = 8c87d37f0e398ff7aace7d6edee53687e5c02a7fcd3d9c22924f11937504f212de7bf79ae068eff81c42a721289e69be967725b44dfdadd0dd4b19bb40381039ddc732d496c1f569776649ada70037a3ae29d6cadd2b91cc77091da4ce5278e5933ba50100e39ca59cb69d63c0c5725812197a2bf865ac7b5d39dcc3ea900d502fec711765fcb1821448e33224837f8b5d29a6194b44847258e8c4f0d5df30b681e08b724bb4c9db215f7a3f638e5e0def06832d526515c8065d6b2b70bd8c4d5d901fbcaa31f7e51f0caacedc0b76fde416e9211a3d1fd9b379733cd8601b512e77f08c2693dee1378eb098aecfbbfd6a4c494ccd09eaf5d4e26d2993a7d9fe - -COUNT=19 -L = 2048 -KI = 0aca34c131e8d877fefedd5cb97d1652e2ba5e92f23c9b77a6ea8e059d9a1f86 -IVlen = 256 -IV = 915b88d6a5efb59fdc2e603fa9f682d79e3833878e0addb38aa3c327e1a930c6 -FixedInputDataByteLen = 51 -FixedInputData = 1e16d147e50266246238aa389d03b73421b39bef0b91ef9236bd145f0ff79b4a95fbb93eb3972d735e3a6fd49ddcea3cdaebcd -KO = 7bb2fd8f2703c95740f9e403b7c760b2b706dba269a8a18eebf6c8de0289bb8cad4308a440dee5be1bffb6fed333e9e67535ee5efe3be3560c5e330f37d3f75eee22995ba978064e75768270cdd7328aaf019f8e8fbab02cdb60d3aa85eb84431abc40cd4089d6934b163468a043c65c19350270c75b55b1417c64bea0e7435732c82bed4d47949192ccce096028bfe1cddb3d6342e2a4a7696e6fc06a356b0962b1482e41d08788d12becbed6eb99abc15b55011b3cb8cf950ff6af0c91eacd1e206c1d220011cb9f2348421e4383170077a5697e0352069af6d819253ae4752ac3328088f667f7616b43bb4d0d37a64c2bc1f3e48ccfb6c02c6ee40eaadadc - -COUNT=20 -L = 560 -KI = 47aa4a4d23cb0874b27071d553f44ff2f38b713dcc8e4ca2440d6d4542b4018e -IVlen = 256 -IV = a98d4eabd28a295ff78cc05c829f37811a0006af8be4b167cbfec7a0da992e6b -FixedInputDataByteLen = 51 -FixedInputData = e0a2e28273ec28b55dd22aa7ca9cc9747a7f83effa495e837eef012bff4ad0bd56fe46b82f97f405db519850f30861f2dafb8c -KO = 7b3ea82d50b8787c9605bd17a1c4afc7a1c67cf0cea5c6c8fddfc0a9c9aa7ae387c057811ffcdefc68f6b11244619f26194e79a4f4cf5a505374c63765af797f9014f6d98775 - -COUNT=21 -L = 560 -KI = 4b234ad0d54f00f536fe262b0530a09d657dd6edb0f4dec8d002dfbc53c341b6 -IVlen = 256 -IV = 02a59a392e4d186125f5d0612a4324f4e6f2c2ee1f45159f1ee556d59e3e9aee -FixedInputDataByteLen = 51 -FixedInputData = f2658062ade4a5b1b389975f123cbf76cdcec65dbe20b05ed7074b7c0079e41aa47e45df01a96454404ea8a958c339a60da7f8 -KO = be6d2e7087161edddc8a12fb8b31b4813c5341b9ac6673a533dbb048b7c39d65253802a2e8db5672c3e98d4a3e615133d56ed2b72ed68d0bff39d585ff396855992409e7b765 - -COUNT=22 -L = 560 -KI = 7e5960c198d6c3e70a6db973192fed141c83aa2142cd6a0d739be6adab75d330 -IVlen = 256 -IV = bc50f7b42c55a8505d0d7e052a58906f5071606893df9201c667eec259bb722b -FixedInputDataByteLen = 51 -FixedInputData = fdeeba7938327585897b5df986a8963654c5bca017f267ec84245a42fa4c12b1c3eeab83c4ccfb5de536d460041ab000e696e8 -KO = 7d6f2f7221b0ce5996858281ad7c933e4853989d77b88d28c1bda4bfc4069807257df4279bacfeca9afc9d9aa4c0158079deb4fca38dbb82f78d718d4f7d56810f282adabc9c - -COUNT=23 -L = 560 -KI = 6d92b27f9686935a7f2d9920539100ce794e5971625b469d6200f116d7956ffd -IVlen = 256 -IV = fa17a88a1f9c98775024b9ea4c411f788c375473668608c9fa55f7e3b30ed366 -FixedInputDataByteLen = 51 -FixedInputData = e311794cce6b37f93595ca722429652417625a34f36da9517065e49c914a4e91143ad8582d08946e23b65fee474cfba92c2e30 -KO = f603ed9bf4a58e2c942aac1d9bf1f622260e45ff36adae512675392616512acdeca3d47afb459b1dcc19f52c39add38f12db6b21c4837e8aa76852c25397b936a694bb0da178 - -COUNT=24 -L = 560 -KI = 47d95bfba32927608f0e92503cea4e2a3639c41121b64014648b67c6d37be5af -IVlen = 256 -IV = 339e8b936f1282976579bb802bccd5637d031b1504d49bb4a0ede4e9492fdb08 -FixedInputDataByteLen = 51 -FixedInputData = 0ffbb212b809f99b7c650fd1b0ec699558b2a6bca3e5471bf9c386d8edcac92a0f1f177f420bf69860e7c7c11c71f3c42328f8 -KO = b25f204bc544f5b09535ebd39a34f86801bf8957490bbd48abcbfc2b519e08f8d85826c000b5cf032466f6f4d6cd7e53db631329d4f0288dfd98b34030ac95ff2f3d3a542402 - -COUNT=25 -L = 560 -KI = 5b6871242e748fbc8f774c385f503a9c24b917d2913812b1e70af71879e390bf -IVlen = 256 -IV = c4d4ce36641501ca99baf53e2a9e896ef5b4685882af81c650c7bccfea2bb6a1 -FixedInputDataByteLen = 51 -FixedInputData = 2ac2e407895ed74fbbe87c86ea79b93cd49e1c4318b70d67c3709cbc21d541953bcd627d7ce81defd24ce686f7b30e3835d635 -KO = 33bc4df541a2c9232471ed10091d8cb4cdc726668c2ebc7c30e4aafc3b3e3c9e3cf8442333cd6a1812ec5ca8a0a7017d0167b2ef2fcd9f645ebad99c511bbec5870d890e741c - -COUNT=26 -L = 560 -KI = 460039e009ef0c0770f4b10432c7340dce33b6fb4ff83e8b64254c9d291f6069 -IVlen = 256 -IV = 7e847c58e4bff198fac3c80d5c1cc3b7c003ff8f54f735fb020c2c1b8b81f7fe -FixedInputDataByteLen = 51 -FixedInputData = 24f721a6c5fd9d617445f267468dc397367a305f94b1ebb687e637b728e901d4383f533c2882cd47511cb5bdeef28d635dc5b4 -KO = 46c76c19b58f207bef1be699b89fe99d01c6ab20cafefed427ad9ab64790000a81c1d75bda8598ee54c18a52d15963a9d04da01425432a297435195f33068b38ea7db96503c4 - -COUNT=27 -L = 560 -KI = 8d391047e0d6dd6b475d956186b254a604cb1c7ae17ce4631df3be8abd7bb870 -IVlen = 256 -IV = 7473ff0e9581d62a6abe1a6d20e3a5903258781f82893860fa98a90a7e2548cf -FixedInputDataByteLen = 51 -FixedInputData = 87cc76ce0df9e88f34ce633a0572f49f9c235ea040f3184c0cf20e55d6e94652eb4a7c4480f19df3da01de9118916ec857a991 -KO = b3544440768ff1091ef05d6bf34e6ba4d603b7c391e162d7f9c229f5c55d72007c175bf415957194611eda7e8b428e70ca0160dc6a2f1660d1bba3e810d9066eef0969be7e4d - -COUNT=28 -L = 560 -KI = 856d8fbc98464317a8f342cbf30f48d281e0676e08d4768ba5f1c2359efdfe11 -IVlen = 256 -IV = 57e12a1caeb2ef30115f4f87f1d988959f8e6d790517b63e9680c5f6ea65f5c9 -FixedInputDataByteLen = 51 -FixedInputData = 04d9bcc06ad33c72029f469b928c399f9bcbdc978863af4b3b67432def799a3993a2568d1341c35591a0e1813e6fa0bb6a801b -KO = e14b924e5ae4a6bce2766e75c4cbce71fe5ddda034155311ccee0445906a75fd2f2e0586e5ec6c75d6fa7a06415e2a7dc09ac2e4f61922f2101aba9ad08e949fd2d925114883 - -COUNT=29 -L = 560 -KI = cd256f62580f89d564947782f10a25cad1e2629ace48c1dc637067565ce744d3 -IVlen = 256 -IV = 68a91c80709dcc9c680c2606cb7e83e26b9ca3083d40c872c2ed6f01706beea3 -FixedInputDataByteLen = 51 -FixedInputData = a274da9c5a7d50c9d0c4d089740d986502584a02cac0932dca958966029f6440891af28fff1210e0a1e72080dfd6e6c5ba43bb -KO = 5d979955de60d99dc9138490afe46422c53f8edb7b08c5a780e531588a2ea21a7a788cb175a8d92df354a3b7f1c44a3036813a8eeca281cb0ccb220eeb5d027f077778389408 - -COUNT=30 -L = 2400 -KI = 636be8acb567534aa8776888c0c8320e7a0c436ca8d1cefd92b8f8b24cf17ba6 -IVlen = 256 -IV = ee6510121a6bf418d7cda1473327ed2c01e8437c0d0cfe3b49d015ed06065005 -FixedInputDataByteLen = 51 -FixedInputData = 1a4ea4217f760cdb4232331e9a47bc43486a3ae3c5a17c190571f6329cabe96d3dc8c3bf10421de04efb71b4e341653e02a926 -KO = ac2b5236c76b3031c0170c272a151fd23620177e50231f2e5ff8b974e74660599b157a3e898d2ad9a6cefff51073342557b271655502ca8ff8af595f3fe1fb801d86cc931d151a4bf94c08ca84cdc3953e9041f1fe12cc012ed4702ee73a601d6495965e0d5869e285bab461ea3e2975642cef945f6c289637e4be914c5ca2debbf3777d4697326534e73b072d1684b92809d6e4cd78f0da04127bb833806c592d3400f3dab61a8839d092ff16ddc2937f613b6934e7ef15792d13a5f2f3cc5757b1ea556692ae46f4c9d38f00da821eeb7253be9cb9b744ee419412c3f3881df51ea6bdc0fb87d4978ff9d153fc420cbb8d989ae3d239494e0bb25659d48b4966cc5d8d7727f03b646152a0e5aa29aab6ffbfc90cb86e975a332e3d7f7216aa84883a930a5c210aee8083f8 - -COUNT=31 -L = 2400 -KI = 7bed22d806eb99a0c6d212661125f469c309ee55467a94e6a852e1940cd7eaac -IVlen = 256 -IV = ff91997b65d0cda81eace9cd35e63607bdd364b3b59100e9853b56556ae5b6bf -FixedInputDataByteLen = 51 -FixedInputData = 40a0b4febf18c554bde418afda7d4a5cbb75844dee0dcbe3d28bbf446a90a3b2fe55a83cc0f8e6c1a6ec3f86636292a06a3f7d -KO = b38566e32fa166145df304a51a9c9e4b2a9bd907877cc3e10ca313074e04e6ae6ffb529cbba165758b19905686a6855cd59e00d2b6b16963210b467f2713dd9e3cc74a4c44d4bb50c14fd47aec1a1c9a1fac611381181a59f858e98406d8fdc102cd2fe7290daf85496774888cd849e2ff45c5a15b098c60245f2e94099e67fd8a47d5ceac28c7ff6bcd7244507a6d975e38a06e369f54a777385355f7d7fd1d99371191db23991966c90e95dd06c2bec143da1006e838c061974fe390896970e34bd06e0ca052416aaf8500d92ee82fa2d85fe10638b2583001c9c71f66a9e50dfa0170057763aa74e9df51c5efc39827dca67a328e1f52d5e0318b84f1fe40a06d275c8af5d78334079cb34926558d0c210e9d88b362cbd6252f7f7f3a57ae04333346c32d2d0837766eaf - -COUNT=32 -L = 2400 -KI = 898db1d7239ba39534bcd9a7b9eb3c6b2b12cda988ae8d41c093a1d6974dc88a -IVlen = 256 -IV = 259c000260603bffb60c72e1cfd9dac602cb093fa5e79155d20781e2af0cc09f -FixedInputDataByteLen = 51 -FixedInputData = 97fa721a344b86ed3f6f0945cd9a62d9792c70935e6cc9fad99cbc17d4b9c408acbd6bbb8ac2fdf3e13463899c0a6e2d0b55dd -KO = c648fc61edf06b7f0a2d76877a380915cc3f64f2fa360a98b15054a6424eabf1d21cd7373e9bc85b63370d2d97ec94884c9e23119f5ba8c70652564be8923e15419707057878d6e664e11d12ca4c9d4f7ffb1dda8a9a7c11191ff685e106a3e3cb2d16d09245599e3fd33aefe101f702c90ba872ed2927a66c00e01d9bff9525ee7a0b36612bc759afa8396ba2cd699db8a77651e38309b3b404753c202af7c451bbba508ced5b88d796028edf5fe74bbe0e757d3c2cfad63f9dbf4a2f6996b6ced408d863247c5c6793f3d2789fb025dbde2906a4f7988e63c05426b44633a1ca17ac4050e2879a921c746bde2508a49ca0bcdf31d6cb41be9500afe8237e909b3a5b89a092773612a1117b5765e05fd3b2af4192b5c920565608e19fb433bff84c9b0e439160687996db9c - -COUNT=33 -L = 2400 -KI = 65a9f8695d4e38768f2107f3e04111df7ce104498217f0903d3f4fde1b2a091b -IVlen = 256 -IV = c14c4b9c3fee6cc83c130982326b606a31b8ca0cb7de572f11f8e4e70cbfff9a -FixedInputDataByteLen = 51 -FixedInputData = fcde3dadc2fc8110cde8ad0e75e2ee6306e2e77b92e2d409868dc6725608338524f68781b7bfeaffbdce4c06e4e8dc1463e6c0 -KO = 0c5c7d8a4206404c1e3289745897d15efd4f717e4ae374447373d1963cfb543a04d98f57bf31b9fe390cb6feb6bfdd3ba0a3cbd56aa69748a97110a933e8e4e62dc7b613dc39c6cece6115e2936d7e667ff76b862c42edbd5275854067c3b40d76d0db5daedb7c274d2d140d2a9e9c2e7adb5ef269ef276cd9f597536da36881b8ff39d848b12cb08ba86962108b7070a29cdc8b89bb3af478e9e2ee0266d8f07ecc6fe97c95215d180b17479b3b914ae04bc9c573ba02eb6660192837be7daebf5acb6af3ad65c128f55338af07bdb1272662109c01c70719fdf14dc99020304fc4e148c6e675c02ef2916cca7790a314d80cafa46030348d1986410a7581f380114e38a073238477408f8734ff42365c807b18b0125c48b081fea86161078213cb76520461ae1d4d41ca9b - -COUNT=34 -L = 2400 -KI = 12d15eae626a06cf2aa4fc062bd8bae194621a5ac8424e344448d801272171d1 -IVlen = 256 -IV = 20a01eeafbe2c6a2c5f6bcbb14d2f2912a7654f6aaa1eab0ef3d921a2c007520 -FixedInputDataByteLen = 51 -FixedInputData = ac173e0fd909c5ee8789174864baa274f782e6943db61eb9baeeb998ff245b27da342743379a6e620802214012e2a82bc5caba -KO = 727c2bc34e78c461f737f3f19da6439be3c51759c1963f86603aaa8b951ecbebbd7d850653de5848aeddc03075c4f914cb0e11278de042ba7e6f31c517cc34f4eec6f13f5ac94f8a986e96c4de6fa5ab1a213430c2f55fbfa7262357810ecde8a07ceb219cc138607ac8afb70f8e56af03510396ea10a289047e940706a947877984af4216ddf73b60640966bf9da2ef32bdaeed66ffbdc009f899c3cb7df51e8fda5779e435902ceadc5c269f8d4af619cdae92d34f4877ac6122105e4bd5293bbfe482e2a12d1cef5df3a0ed3e8c00f6fb8d1c051169767df35da30139fbd9ccf97a52d56a39fe087a048ea8812bf13333dd8db2f98e65e6035ea5d0e7c40ed6f21dc970ba8b8a83db6507ae8b19aebdcea5401eacd539edbba6f1726f09e6bbcfbe1c10a11b4e20e81a32 - -COUNT=35 -L = 2400 -KI = fc1442a8b4c774759d51648f664c8482b13ca907419dd162994dad69c0e4ea9e -IVlen = 256 -IV = 562a4db73928a9632f087f558b551b2052d137736017a55298fbb47d3c0057bb -FixedInputDataByteLen = 51 -FixedInputData = 30ee6f99e0c541d8d9530d052bd6edc8a57f4f1a31ed893552b7b20bb005cbc2607b05c0bb5be3b927f61796e1f405fa4b92d6 -KO = 36556ee10bc5ad1b05c184fe68e5a0a9c2c1fea2391113eed9ccf6522fb9b96c36641cce63c23b6f302ada9890c706e73031898cd6aa7cb19fe0d24b3e4624219ec37e993ba8c6fcb6e2c3afcd20c180587f38dff0868118a9f7b4e0b49485dffa0b4ecd3a17ef6cf276842da43ca9e44f27f0ee3aaf4ad10830ffe81066603d44ad208764c2773eaf47d3f7085b567b7296d9626aebae90535197010512e527d62afffa0089aead06424876b15e0f1c77deb5d224aea331c2075137bf1244c9a963d57a22cec9c20c780d98e86b45c9150de0fefd1e78e93c417db45e7f20a08f71d38ef373fe40a563f647e90b0597f9dfec75f2033524815c8c84d6257b7dc1b50fb75953fc925e00781fbc1c3c1c2142f74d598067dbdf523ea28beda209b068d315effbd61f75812f42 - -COUNT=36 -L = 2400 -KI = 8e416349731b0b198c8e776f4d8e74d48e2b6366e07760eb7228366b607d0430 -IVlen = 256 -IV = f82ad5a4638a6d65c59e96f65a3a7e1f2ed16c78882cd5030a81891bb4c167ed -FixedInputDataByteLen = 51 -FixedInputData = e6d5d17c9561ed2eec2b5d3e76ceddf1532fe23ca4f8076717f31e3a4199711e6515770f81150e0b8056a0400c060a0ec2fe07 -KO = 2166219fe998228b9b8a72486bdc40ae7c32df1fb6b7e6b6e1aa3385664a1be429e2bf57a8a17cd0b2f94957c1fd73b7547a1273be32df8531d69bd4586193124968ab8a372befc7b5f263b4ecddbc6748c73575343a917677a02f85b6d2a1a2432f5fb89f45da544b61112a0828836de92c0f91a4360f15816f998a8fcf59942fac3045b591283b8c2ea31edac4a29bda2b2ea0556cc85a072d9832d3918ee6bf635da69016f061fd37fb054ea49ab9a9d58bcf62b656dc25e288ed3189376cf6cc305e802e3b94cc94dee9400d7bd6e5641551ab8d2570dec90b5c368efb15cc4c38fa8b0a6a8e112b2fe728d2f5497feb7ac76aa4aa636f5d893b76c97c31a256f1e55177da39331cd81d006f64c4cfb53d83569246353e5d7d8fb42897e264d56e940725cf8bf773c379 - -COUNT=37 -L = 2400 -KI = 0170a9eb233c0994e6d00d85acbba25f13ab061fec2cb9652f2f84f6b00ccd98 -IVlen = 256 -IV = 2076d39b8868c5c0b9d6de56079aa5caaa82d58a22c8fe3df65552e6ca56e408 -FixedInputDataByteLen = 51 -FixedInputData = 6bc151ce3f802a32cf10a37250109bba457c7abc6a073e57df981e41e7091ac5da348df94732522d6bfd706efc92efab63f11f -KO = 951510489b7ca0929151698b3053fd8ef549039667dab4ea123c5982564043be4dccedf42d180b78451d77a29367ff5511a2a507bf8c16ff408583246a9da44f3ba92b791ec472a450e8abecb05b125f17f2ab7661e8cbf95ce62a8aaa01929b55c97cb5b5744b5f07f019e69a6ae1c950b022bf74384260fe63060e74dd5d05e4ea8ebe8a3add7801b3ad9816b1b3f9284178f63b277fba0654ed7443d748a9af7fc9fae1843b01661ff1b26ab5325bdeb013d8200b9917b9040f2b9c337d2ce81a69fff66a63532d520367680097078a1257cbf23c636fdaace196c773366296ea54e75eae5af2dd6794e4891f9276d121fd76706657186ee11a27ab2f39396c0aa2e44e5f2e14cff2e155213ad59e071f57bd711ec9eaf4829ec7d250b81f627a333d741754f3d2f18bbb - -COUNT=38 -L = 2400 -KI = 97c8f5073adbc2642fb635b0af21b4865740a22610281a67f575cb8cbe3ab3b8 -IVlen = 256 -IV = dc839f36a08547f3eca356ddab9969c23a977c575fd7429588d1e63eb7932476 -FixedInputDataByteLen = 51 -FixedInputData = 9ba70b20c5680cd8ccd60a0448329c5a4eb59ded8ab6c92d4e4759d40971a6ffd7284d8669f0f30fb39a895c09ceb2a615ea35 -KO = 8f9131be4473b0f148dd4c9390818cf9a376b80ca18a05a4814dae846aaa1fdcbc6a2de24208469103440aa79bd1d457ed911c0e49b41d71320d9c9acd79fb54b245ee1df19ac6b3c4d1d0657912efb0ce12f5d79537025783e792d280a2694784a4bb52a086c4ff84b02461cb549eb5a8e1bc3577e4c042a8cbfdf18bf95fb6ff141df18727b43d8d44a5e68e8b5daded4342cd7038cfec1b328b4b8b50eba8888bc2c4a9ef6ae9e97cc160b24e67dc551dbb6002f1003cd1cb25a6c2633c358635e2ca92bbc116930621b323c9ba97f7f91b8455f1ae7146083c6bcbeb615b6600cd1e41f7f957bb64d73074ace91b0908f5d2f4849d7deb48e7e3e18052fe30fb7b33867328b21bbb2429c714bab0e73971aa92ff4c0134938ab72478b8bc390c4b51415b9ac46345bebc - -COUNT=39 -L = 2400 -KI = d9203ddf7d3c15b0d1e231f43448ae9025989ce53b43b671b3ad456d9572da99 -IVlen = 256 -IV = 82d06041404c2602f08255a377a7286e783f3b4bfb79e23f349b0658172f684a -FixedInputDataByteLen = 51 -FixedInputData = be447a61a2083ea7037e691f41dd96bab38ede2aff726b31c14746e65d05911ac6483c6c0c0c6548c63c17bb22d816b87c1ff5 -KO = 3d7ebda0f39e6f0aba8f74e112a3613c5c6b36df8fce58a1554c05417c91812a9cf4628c72c8bdcd3fa0c30bfe0526d7ec284b032aa5bf7931e5b2c73960169ff838b2d64cf56ac96f149637d59541c18336470f470714898e0fe8d590d3eadd0f5147008aa8d45fb3ff144ca428b080d2f77b718ee442e41b9ed0f695b9b8304ef3696d4b3abeb9660214513977366e717facd0d1ef06a3ffc8d889bc2b16d79dceb20a04d586e74eb255a127cbaf72458decfc9a6934204436c4d28ed2ab8ff28310dafefdccb535eda72143adee697096c725fd1f87c7a14d038277cdbdc53be9b1d9208adcbb1ec43b949bb2fd44bf41c69f1bff7746c3377fffe1db303423663d1bfbd4202312164e6d2e2b6691e5e33b7ccb956bf09d8fd08e0af17a11fef9266c36741dbfd0c1d317 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = b3d18ba6ee4be28ac1272ef15202b08833eea9919b0afdaf5454cceed2317f19 -IVlen = 256 -IV = b9fba40a5cd8ed6a501c78a7956b2b9cb9e19ec57218edca92bd76e9013ca25e -FixedInputDataByteLen = 51 -FixedInputData = 867d7e4ecfb06fa97ede0b437269352c454e860f9d38b7c236bd44f19f439ae1c9128cded83dd4fc8bb602a99cc00f8e391b5c -KO = 467ce899a27e0fc015726091808d76a6951779251e0ef2cdb1f87779bdc98027926c8f6c459c92e931b87bad54fa043a9dfa7265a94a2035784fe1cb002a9fc4 - -COUNT=1 -L = 512 -KI = 247dc0031dab7ac81476b49506e03b62c0d0026da67a42a670b73e2f9a229a78 -IVlen = 256 -IV = 601f624199c5f9ec15eec7889901d4d84207db134e648c57e16f96e0cb8082cc -FixedInputDataByteLen = 51 -FixedInputData = a050f9b1f279162bfb745f46e5ea381b710be170f2400b42adbdfc0752ae4af6dfbacdb1ee89224dd2fc6a8d36b9402942392a -KO = 143afb1f599ab732770d40feab40a66ada223fbb6c8f848902a2cab41c6b8873bfe249142617db1dc84eeddd2f5215d49efed49eb4a1d75534dabc1647803927 - -COUNT=2 -L = 512 -KI = 939b6a2480f05314b5853ee3cb54e0b90444bda0d2ff05f0b26ca40b7c0028fd -IVlen = 256 -IV = 0ebedb0e2952f84225b346c83a8fe7fdeebd7f0f75b6ea68493da36afca45af6 -FixedInputDataByteLen = 51 -FixedInputData = 843353cbb90c09ca13f8b738248fafbfbff97784886b0403da09c7ff70d68951f0f604f75a3b1a37ab6c49e62f2ae4b6c55b84 -KO = 081ec62e4951ca5fe0b7684fa22789bde620492637fa97718de66dd348fe29317f0a08f0d1a984e4cf35f7c14f521ef781a47684b05814c55ce3ba7e70a99b42 - -COUNT=3 -L = 512 -KI = 329e3605abe75544928612bbe4351f368c453a4c7a8c0edf2a607e0e5388ac85 -IVlen = 256 -IV = e34623b34bf6c8aa20e9099aade8212157519cc5ca5383a7da20fd97bda743b3 -FixedInputDataByteLen = 51 -FixedInputData = 5c16f4b689e8792014c5ef22903230c76484ebbe572cbbd31a35bb3053b82694edc7ec8926e719db8923fcbf69e47c5d4db225 -KO = 09100abf21697f6ca3fae667b98d836f1b95ccecf1a6e033ae52617203fb62241fc38cc985dfe7aa11acfc9685ac208b2f9fb912bf3a32a9510581691c60b2c4 - -COUNT=4 -L = 512 -KI = aa85ed67b80a943c1a1d877a055928660fc1dea0b37a641c074456584e11a07e -IVlen = 256 -IV = e0fc989c594978e645edc5d667b0d77476cd4bedaad603d68eb1c7dc61c71848 -FixedInputDataByteLen = 51 -FixedInputData = 48c598fd42983b05510526f78d8db73ac52cb1a7108eb716b23559fec9c9240501678923aa7224cff85796d2285703e5526b68 -KO = 1d6906c8853e2638d04ad73e7797d2640575874cd82259e4aaa465f819bc4b18b299ae5c6cc2f9402168308fed1e3598a737d78d9af5e91394912f977cbb693b - -COUNT=5 -L = 512 -KI = fb1434a76658bc5e0435dfe241388bd79c2a1c28fae53ac9e685eeea042973e4 -IVlen = 256 -IV = d1a53af500804e0e7d749eea25dd3faf37c71c5716beaecefe72764694c8968c -FixedInputDataByteLen = 51 -FixedInputData = 6d6780943aca76ac0bb13a37a378bc171edccc6eed06f58d760b389e845fe553d0a016dd0dbf13cc6a75414627573c989c3cad -KO = 9d7969ecf723343a6ed82a4ea2ce1d556594f428d44e85b8a23de79807471990fa64312c9dc9c6cb3d14538437304e302df5c07bce6d2145e8072342f5309742 - -COUNT=6 -L = 512 -KI = 8b36567b980fd58ae0598cbf46f475837042df1082f68e50a8b2524df1c7d717 -IVlen = 256 -IV = faa79985d85d4ac6af0b4ad806df09c83d5f253902b29b829db01917390ad49f -FixedInputDataByteLen = 51 -FixedInputData = da1bcc0629cf583d6d2abc1ab9a5d57f739af00c8d6bc913231024e611849ca406be96a161a093dd0706ef85332630e644eb4f -KO = 108e1064969502ea0ef5bf9f54c86255bad7ab21f9fba77d8c6e0cac380c3eb1bd232dd93be6d16d2f821bf915ea264ed522a9b5b965925e3cdf9d173cf835b6 - -COUNT=7 -L = 512 -KI = 34e3a75451ede4c04e441cb7ed08b39fd73c25f1daf7943a257b0e7d14212f37 -IVlen = 256 -IV = c34dd1489e7390c90002d1d147b0981511c7d585a558de84272309d974704495 -FixedInputDataByteLen = 51 -FixedInputData = 8c38270cd0635607d14ad9bcea97bfc85700fa468373437cbb363d1573484882d96212131ce96392bbfe9cb981315c32135fe2 -KO = 59a98c731c92e1ce49231f9c7e396cb89aa789290df44b5690c906f80fffc8747a15587b7c35e0632e9d3eb2c3f4f80134bb62ada1d26e9221fef11fb059d568 - -COUNT=8 -L = 512 -KI = 4b9827ff1b606002e7d625b2bccf4875f8fbca71a2a68756d13c4842f58c5c79 -IVlen = 256 -IV = 01564cedc36706a9e2de59b2553c216d6fe93c4159dab90b74c9770719e0da53 -FixedInputDataByteLen = 51 -FixedInputData = 59fbc7b5d8c207c38727fe1a4cae9707767c56455a8f487f0181fd62e19c37892949def40e3cfca2c0ca471da883bffdec9f41 -KO = 3e22f43f9c8a210d415b7cd860ff7990a3594c6861bf907bc4b9d2feefc089a79e35ea82285d49056e598ecc5d89c963221ecf62d060626fd80a9fc45535ba72 - -COUNT=9 -L = 512 -KI = cce930f90164926b8b244c24b64fa3faea96797d1aca50b12a07acf1a43145cf -IVlen = 256 -IV = 4b586d5326add5041a80838d3fc4fc1f14e1b8909215cd8f78a78f9cbb6fd295 -FixedInputDataByteLen = 51 -FixedInputData = 9a28058d4c7ac6a365fe65e769b36c8c60569dbabe77909431427a6a9e40d842561e4b5a90634d34e9b07d94bc82cfc68e8f68 -KO = 7b3d1850202661da0561377c5abf19df5a2268c8b6d98fc9b999b55ecc7be9328205ba645f61b59f2150f07e6f8c12ee5784e28a2a730d1cd60cbee1f456b071 - -COUNT=10 -L = 2048 -KI = cd65ca34d4f9dafbfe263b1a205a0ea120afcfab5e85d360c05b45955b251820 -IVlen = 256 -IV = 37c162a56e30b837c96371db3a9548dac3c0b4626147954909f034c0c7a0c2f3 -FixedInputDataByteLen = 51 -FixedInputData = 890c683f46772454138e72bc4a38f80038c4846047d6e568720a73f4a310878f1038177b600fa23c7334d7356dbd8413244d31 -KO = e853aeecf54ecd7282e59c4cd745edff4d0772eb7c9cdca3f9cc9ee39da0b8a9f652bd1f1b111d9edc4087bdde0d60d2594fa3391da342dac12cde62a9ffbc7da6eb23259ca22d55fcc3d2716c752da520b46b13002cc8c77c3d9b09e29b6a8068f4407e0a1cbc4d1160cc06c75dbe5ec6ec3de3bb985657a95d3914a36ce914726391cd7b72f429a0e74b46505109a69d88aca25f0f5c0531720bd941c22e5b1830f9d652b260429530b4d4c2baa83290f6be7b6989003032cc4e41204ef185232bc35840761d4433aba1539ccf90186473e5b32716a47a93cca50f704da19ac4664789b0c59841d4368dbe8ff1a5eba6409d7ddeed001f25387e3bd7bbcf0c - -COUNT=11 -L = 2048 -KI = 28dda90787b50c3756802fec0f152285b05b513e8a08fc1d07c838b0ebb1f72a -IVlen = 256 -IV = 90dd0da0612d11f50b11cafcfb79422b7a65927ebe25bc41f656a81eb2f9ef5f -FixedInputDataByteLen = 51 -FixedInputData = bcf47390f957a94faa7367c2aa1b3a6bff3157a10091ca9669c721cfe274d9771d991a3815c9e1486d8c1b82bb84f05dd329bf -KO = 4ffea9999a91ef3768431807a43aeeeac4b6cd2435625fe6e6f1ad86e011f8575f89e78a5967a0069e2339e23df0a71c63fe3f381c94bef46d6f56a3510e3ff2878927e2956f0553820d09db151e63cb8753744036c182ae6aea760c443b0332899d91be7fe4765e109b8ffca332ed7677892136dfeabb86720d004fd2065e6df8ecb847aaa67ec4759ea8d72db257c3e26cf7e72d61f75f0c24f6b97bc2ec87f66afaee016767e7d9c2070992a457e99d679e3768ae0dec79a5de993498d4b8764c91aaa6a11c1b7263d5d0e0f8314aeee14ee5827c4ffc507ba18df47ecf81526790f74e4349b9faf9efe2a6baddf73f7ca22679610aba3ee45711c19c6ec2 - -COUNT=12 -L = 2048 -KI = 945f88265a56417b3a0d0f4e4f6c0605f681e6fd553f6ff899a6a326e2a235d6 -IVlen = 256 -IV = 0546974d9191271daf9b705ec0a7cdeca6c8957b49d59a1b10c20ff3ef4366fa -FixedInputDataByteLen = 51 -FixedInputData = 85fc6843b7399386caab1fe24a70549a40e1928eb7ba36fc8249cd06f8d2753a5bb99627a7a8c3bad2f69c94f7ee5dad3b2fba -KO = 8141272f68550288bdb4bb467bbfca8583e8cb4fc47ea5056911006ea10d9e104fce4f8f6300954ec4a51defd0110c03b0d9bdb716ebb856826df9730312be70458e696834e35c8d3034b12a1efea5cd375afed2a88fed8d9132fb6e563305fd1b5f1b55b956c16d6a8e57ab84f21cdaa4443d8e354ec658ce3c88ee22e399d73b2aa0a747b2672ae46a354587afb2c933f13958e816bbc10c7f9a74fbebd9515ac20280e435b82b66adf64479176a1d60d1d2d941efa7f6f39099324436910897b5515ee822878b304858d072a2b7bca8e6df6dec0318504abcd339136fe1263bea62687575226ae92fb2c32146c260014000b30b8fb1af67a400d0adc3bfda - -COUNT=13 -L = 2048 -KI = 7ed209312ca9089ca08881fa96afc34244912264a581736055afaa75e3c34b90 -IVlen = 256 -IV = f2984ddd91b36df56a89bbfb5b5263632f68f3846124fbd1a63099c2ca48940a -FixedInputDataByteLen = 51 -FixedInputData = 5e180dd5d2c64af51c8922195b5c7dd8faf34a26878cc967f5df2897efd06c1e43e461d0968cff145ff8dfd5022394707ff4dc -KO = 84ca68f831764080def128b41d442edecd5ea067f1664f4c20dc51564a7c11e9159a7a19da5aac6031b4cc7eb595c399715e0849bb324b1c9c1e798235791055c61d4b97b4488138e001f45f4c7cdc7f19d2f7378427cb8afda1016b4e5ef4d87fb1c6922cb4744b4fba5e6f36611b9c0348a861808b19bd77aa2ad9a627e2455493121fce9424c359492ca559bd99e0afbd2b534cd62d5ef3c9f415431f04f1ddcab65f23a53a6c859e2074b8dd675bee61fd0f2316c4d3f96a9b2f495583e78699b8dd4365d7102918d3e0a773882cf0ab49fd83e3833e9f98aa0f1ef9ee89b575d845624fd1e94545be7aa41642febd0d2cc75b6d59895c327466092ad41f - -COUNT=14 -L = 2048 -KI = 168a28035de965defb81dcee2638fae2a8e04c1052b66ba46a8372bf2b2ba8d1 -IVlen = 256 -IV = b300f61a4f259d16acec96c89ebc980011a428ac3d967f23b5f70329c0ca9eb3 -FixedInputDataByteLen = 51 -FixedInputData = a7a3cbd9875cb25b03d429f9e177c7747494af9ba2867cbb5acce8a4dd8d7db5fbed4de4996231b89dd2419a59421245cacb50 -KO = a7d64859c4f65f90835d4bae92286434f365363ae6664fa79f6a62b3bf11a176d5485ad40a835267209f4c8fbd86c410b8168d7603bb7d53bab3f32c2eea828f3f181a054fe0e284faef487e800f7b5bee6590a86eeb8505589b821585a4c714e4eab087645519ddd428cf0259702f9fbcb28f117362dd37e7b7f45d889f21ffd5f5c686bd460d250ddf7b17a4dd66ac6e19a0fb784c323ef1eb42c04d2319831167366a1faeec53d4dac78befb2b41aec35b620ecbcbadc8188d02caf2dc37bc76146b9b0f84ecb60d109759e4ab15e14904909066d6843c3c9073a809198e76cfd8ceb81c653963bda7408389bdff06025ac9144a86205d1b80f7623b7d1a6 - -COUNT=15 -L = 2048 -KI = cb857eb34d16eb4b7f3b99dfa010cbc0c8cef6cfb8aff42f205f492919336266 -IVlen = 256 -IV = e3dc305d9a694c1cdec0945aa5d2bedf60ad11307104daad3db8855fa3661c73 -FixedInputDataByteLen = 51 -FixedInputData = 5a207c8e2eac15352a097497f6a6d46db16f315ee0c39a261ad9337569d5ada7d1fb5bd13836684dad26f4dc01939f2988e4d7 -KO = 63e91bfd980beacbb554dbc2989d095b3f94c992a2683b1ae23bf02cbcc5a9473c0988a62fb7f84b30c349feb03fd6cf0c3dd57eda1f3a1cefab42a29b300e91b04039014bb40845f26b1650ca6ae0e3351388fc30bb4c2325a13a067eec9a945c97edd042716244ba4390c4a89d2e0ead8388ab74445dbd8f2bd8b00afc44f29bc62dab7b113d9045b36e454be7eeec8fd00c3bf516100bbd4632f08e71c72752f8665534dda8571587b2618112d991ca02590370a68b0a180304d71b59cacc65dca309e7f8d89c751094e5f5437ddeca72fe6c2dc4f683c8b3d08529fcf46911fcf24c01dcf00dfea394ee3361e4cb5798660730a911edfe42f3779e43ce03 - -COUNT=16 -L = 2048 -KI = 0261049c813bf7792e7ad967fbf2006fa8d614e79013c2f3670083f9350bd946 -IVlen = 256 -IV = a4628487e957164ae70266320c488f5626d341fe527aab0f04c9a9a60488cbe9 -FixedInputDataByteLen = 51 -FixedInputData = 16fcc8a681fafe1c76dcc16a07476cdcb3a00d5461f0b14673a2cb2b1872e5718733b616b422b0238e89f2209a3a2a548fe428 -KO = 2c770ee5fca725c016190259e0501883361b2fc58b78bd6dd32dd61f66d87aab75eb6a18ef854cae9b8ae93cd6556f3840d98fd2c9dcb5e833be065337ae6c3f0a90700d228eb4e83d68e93e6bccce964ade42a73779c5aac27799a59db8bed36b55330d47f4f217c63ff721b8271e102a14229183cc358c6134775c19fe01a0823ff12043e2c67958b1b0f19c705d88652371175a830a753ecded6ba6cc112001120138a8f42db043279495288c848b3758793bb03d8ebbaede33fed9791ddab1b0884093e622f61ab4e19666b140a258b8381bf8d60afd3904763c347f9a229a922d1c25e0b5625386c55a387a200f6aeea08cebf3a65e26fe53abc24ab16e - -COUNT=17 -L = 2048 -KI = 621d31664722b76b458a06c9e4f6d9f2975fc8234d8d15bc74e43c35b205ef3a -IVlen = 256 -IV = 4c6bbd51ed9fbef0be8d229dec6b6752e494213bfa90d22dc9cd81fdbb6a7d48 -FixedInputDataByteLen = 51 -FixedInputData = b9e4605caba0d360abecade9cce81b90c9460f206f3dfe144c4d6de7ea92fee786700f57d3103371c220a4046d36fef9ab63aa -KO = 6b5e76c3c633b7d879537a1463d2bcbe60a039ae4a7d5c6541425ce5ac8b3f988f9d88300ce3e3433bbcc8ebf59f6c098f25cbcea7b5f1e25dc9cd3fe550f05fb383617eea44b319e74510c154c956541bcf2c751b61d3b53e83e2b0c2790f9942acfa040bb566a0aa9422fa707b024aa509411fe6cf3540ab2d56bc2169c0c8e2cfc949e05b46812881e7ec39c16af156dbb44e80e7bc56ebfaffa28e455496edaf70609b394c15dca8d0e356511664610e050eef64875222b41fcc35a7f84a85e6410c3bdfd30f14d1d6ad450cecf892b0c16f2931eb50d267dcfe06079443bbd05a40a6200551ae15d9b6bdcf60f04c2d1a232dd7e526443410d1d10495d4 - -COUNT=18 -L = 2048 -KI = a0edd9151c8c99543293aea02fd0411ff005ca1258617c14a48810b47901275a -IVlen = 256 -IV = 59a9a2432addfb0703cd4f5140e713c631f9ede326df4bd59885abb1b68261f8 -FixedInputDataByteLen = 51 -FixedInputData = f41ede4757415266a66cc0be4e4ba82d316f574204ae2f9485dca4099b3f6a1f75fe46041ea8887a9ab305fd791042c581a56d -KO = de18d3b308506399b86cc9f199d7bc8b5039695e4e56510d628b90d65e5535e0684e7d7e6a5c63a89e484d9a0bb28b6291c9215691199580f0ac86e234331b4f0ed7176cc1579693214be3f8e6aea722e2b8bcf745b4413ae66f9bd691339c22cf3506c5d9ac27800be7029daadae1c6a2edc1754181a4cbb83bd4a53d85352a0d873871c43bf0fd9f6cb9ee3ce928fc3a3a62f49f06b8b899a8ceb7d79c6eb7f3ae997ea6e8769a9a46d5e8104c9778b3edde9c7f36b4b841f902d3e744196706f0d1cda31729bf3859100be0c6226fdb30b7cc017543e993526fcd5148e0c5eeff231596bb0e84b7034c8f1642e1c75761fc1a8fb9f44470f93ac4fc8d1083 - -COUNT=19 -L = 2048 -KI = fd191f43e234baf2834fc1556648cb3a31fbe575c0ca348fc05569f7281ff0b8 -IVlen = 256 -IV = 5f0656fc7e1eb979080d0ce81ae0b89c9be1ab3252e4345fdd3faaa0d96f6c39 -FixedInputDataByteLen = 51 -FixedInputData = 6f65238b78637216be3489377404c5a8464ea0d5c44a9bae2797e5d89e52750b10078c1ce38fdb0999823f19e13a5b7abd658b -KO = 95a868eb981a6410f30787009e9d69ee0a69dc40d85d007f72873c2452a4b41be7968eb0df13c0646ba89fbc3ce69c18f18577acc15ee8f748779d2c633cd378b51c91f2c65bc0a0c387aba9666b44e9b69538ba34ec3e8d68bb0daf8a17ee9f9bfa148e0986f167efdfa6e007f242acdbae68757e35cedca005b9e09387d8c72dc2c5bb0168d6248dac691bab070055e4ac25a4299fe47191f514725d87e4951d9d2d91bd0aa687a0f53ce04d2fd68f8d2bdd39fafbb3c665e4151490c61d5e734e77be8b8ebbbaf3cb0a6294eb181650dbf6411fe9444e6ae1d85948356e6024682483c3877e00ab25de4f8e6b0b8e823efc78808fa2f86508dd6d308d63de - -COUNT=20 -L = 560 -KI = f33cbc2f40c8ab69091dc40d0b17992efda3fbb20acdaa9dd0364df30182c03a -IVlen = 256 -IV = decd3c67961bb4847c8539df2c4e1af901c64751e8c894f49816afff95b764a1 -FixedInputDataByteLen = 51 -FixedInputData = 5cb2ab55adcb5219588e6f4fc99b4ce5f82fdd4a74101a6a6692fbc29c39307a6ffcc0ff5be222ca00b847b37158ade837aeb6 -KO = 5fa5d0ae649c20217635cbdfeac20cad02a2bd88ad1b6230f689e552ddfa8f3054da6fa8697aed5c4eb4adfc58e6ac57d7df181ee1099c01e249054364b5efb1ceb93e9b9eba - -COUNT=21 -L = 560 -KI = 3f1ece7ba47ae770a9252a1b4430bb7272ff715950309866c612b699dbe02953 -IVlen = 256 -IV = b4d19a013d4c0e8452cf46bee7f514a15d941cea71d5ad52c91b822e8aacfd0c -FixedInputDataByteLen = 51 -FixedInputData = 9d335a525714c9674d56a16a4e881a88cb86c9e22b647a49c2b7a744553841944fbabb0d9941eb94f114a2f5d5f03b1d03cd47 -KO = 144e81c0f7a88f7c4c726b75523c4e15fd875015a39ca727cd91ec7b9f1dd2977148a40ce1f867ca3fe1ef1da695e0154a3d977088cd815d4e8f1d732bfdf04f922caf2adbcd - -COUNT=22 -L = 560 -KI = 39b18ddd1b576cfcf8cf049e80d4b328cde1a4b8e4101eaa192fb740fb84d8d2 -IVlen = 256 -IV = b3416e8621ce600110554e0a897eed86b0ceab4c92fab3ab05c52c75e96f6db4 -FixedInputDataByteLen = 51 -FixedInputData = 7803a8937d6c2258a90ea38da3c600195c2754480f6e10b31e564ebfd46015c00952ab9c5300e6538689bd2293955f384f2c7c -KO = 3516ef398e62e43682ab224584a7ffa61d7aa28bbd4a526c9d539be28ba4a459e4f392072808fe21b3f89642ade0fd73c2e2017d0efd35efaace3da5700bf68fa5ab0ecdc393 - -COUNT=23 -L = 560 -KI = ff5c6be186218466d55de81ecaf41af1cc1b9938f3c1499cd6fd2964bef5b6f1 -IVlen = 256 -IV = 5a5c25d06547f117117b37f4e9604ec45b02fe98b9b3767c565cf1e6317886b3 -FixedInputDataByteLen = 51 -FixedInputData = bcbcb71cc344182df98828f312ee75c918f1e983b2e8a428007a205930c5be7d3ef174f23fc2b6a789ab6f136b0fdd148acb03 -KO = 0833f7276d92d2069a3021b36e395ee95bfd86c3364d1334e3049d2365722e910a27efd22c1261151a7fe5f120387181fc1ff9eef883ca909b31e40a3d6a35fe407a4c2608e5 - -COUNT=24 -L = 560 -KI = 2104c56e24dde9f4450e51757b0facd36dc04af172930a3da5901ab0cae8c300 -IVlen = 256 -IV = 88cc8b2b278d8f9782056b9e70b7037f9a5333c63b838f0fe26ccffc2be6c4c3 -FixedInputDataByteLen = 51 -FixedInputData = ae499eea9875aaa795b0fa2662e457bb3f5d1e6351257b2cb3cbf8f93394367fc5b33ac7d8c11d9c76eebf93b532b9ac6af98c -KO = 47efbda96c8726aa136ef674d38e20dd6b42a61d4fff8867c8c865516bbe1a5afb737aaca6d97a442b6742f490d4aec7df3dabb91afe0c4c6069d63905fecedb8e87c7f612b6 - -COUNT=25 -L = 560 -KI = c5adf834f6cd737f8bc5a8a5a9b8d549630be723539d2821cc33b3119abd926d -IVlen = 256 -IV = 8cb6a3bd514563ad05f01d40890720e35939d2114dcbac9417321d0130899128 -FixedInputDataByteLen = 51 -FixedInputData = dc07eed94c6ce488eece399b1664e30f9c294e6abb9f56d61aa8df7f71ece63a8bdf6baa1d550b2254fcf1443fe4624f70b0a0 -KO = 0549bcbaafe6bd1e86c3af09210fc66efa32a0ee34e0fd33d16862dd4255ccca0d9aafde51e4a003ee5d5f120b33978296c9e14e63de8ab25a6ce30724ee124d798f9f7d783f - -COUNT=26 -L = 560 -KI = 260b3feee7565cc5f0ad813d47865bd162582aea91c735ab6c0b0d9f0c8e4a89 -IVlen = 256 -IV = 6fe35f393a7b60eb965a6ea7c0941018767ea0fc02f0472e0220dbff197bb439 -FixedInputDataByteLen = 51 -FixedInputData = b7bb5016932aa6ad4a971562063551c1376b48ff444bc7b05a96423f361cdf20bb0600d5ef52047bd872552275493b5c2056db -KO = 47d23350c843ddcb7cb95943aa867f23be279dc071757af6240c6f564eeef7a851bca4b5ce964500b4692effadc0a41147e95abcefdb6ce08fd9d387e47149a19cb4ce3f8a76 - -COUNT=27 -L = 560 -KI = dda5afe633b78142eac5a915a52a6049d6dfaeac92c92fed9399cc19b2e6b9d9 -IVlen = 256 -IV = 743fdf986f922a1d2393617563196b190e0e9b82557d84b0cf7445dedfc4b4e3 -FixedInputDataByteLen = 51 -FixedInputData = f528399fca0c39dfedf690bb6fea24d53b22f07991eb57d4a49d90c62815932516de1c78d59559e70d28d548ce7997c5ff6180 -KO = 4684cb8af58e0db522bf691aac7096cdb9278f4b68949c3d00609920b3a7bd4870ad62d6f704904a1beee761a76408d16eb8a9f089191f868cbc300a59ed1c154ec10e9c38ea - -COUNT=28 -L = 560 -KI = fe0d63427097ec4ca8103795046fd8cc187e92ebde1ef24f7e8b05fa721b6a5e -IVlen = 256 -IV = 27e88d7b328a74604a03f3440809e01fcd630975572484c4027d85dfed867249 -FixedInputDataByteLen = 51 -FixedInputData = 8d717dc3bde6818a8cb6ae66668ae40da3249b344106402acd02c8409d05c13af078baa427dce7d5f9f36dc101023277499f86 -KO = 8727cc4834482f7d4d8b5356cbbfdd30eb7cab04569634a9673894e2c7f0ba3e271f39a37c53f5b0e3e7710cfd8108a094092c9615c438af49337f2db012af27714463e4cd2b - -COUNT=29 -L = 560 -KI = 3144c800aff0f0648aab814372621eb6399884ea61c2d777c07bac928743e14d -IVlen = 256 -IV = debfdd74354d0fe293f62ec2451e116fbf442b3141d04df2b2c3d8f3457ba323 -FixedInputDataByteLen = 51 -FixedInputData = e8fda18dff1a8f2fa2e53fc705d915730b33e72f7ed82cb54cafcb12e0019ac3652a22490c1e3d1fe83487e8a2cfaaebe8998f -KO = 4849cca6da1abd6e70ff41f669d28f033d88425d30db2ed5816e131adba0f051a91308cd339357e55aa88ec18c4aa666b23ab4d20f82855fd3e61c7728fd0776696eec473027 - -COUNT=30 -L = 2400 -KI = e8b132a564533145276f16183c4bfe847c1d2456c14fca8f189eb2eee2a054a4 -IVlen = 256 -IV = 739ea76778c00c345c536db3c1f65a182ad0e6a380dfe56846c099dc2d93d513 -FixedInputDataByteLen = 51 -FixedInputData = 8c5b6349a4baf6ccb20f00c6f0dd132c34658ff262c1e031c655a30aa07bbcc8e826132d27ff79ed73bdc66516bfc747e1209b -KO = be0ca567aaac67dab404b716047afa39caa7d397f2b78d9ca60b8a09be39dabf9b344d5b55516db1e3b2c6ca495ff7752f5c9acb78dd460c9d6fd9cc62d1931507c9f32edeaed890117aa52ab3f61a7075385e8327c4efd746ce0f88e5c0920e7e1f91ce6fc1334eef16f465ba19abd9510545e222ef2551434282171aa3df5638263cc0b48c8b96dfc7286448f3e80cdac3753fec22ef8d830f4f910cab8c7e3da28148c2c0942d2fb06f2780e66c93b3a8a3490cd4490ff68412921e9384f462340087491f0cec4221baee94eea19fb69a76ed039247922a7ce512af2b84eccc646f852c96397ff01f64e602500d3e44eac0ca1839f1233c1340ab1ac294ed9d22c0472a29e1f064fbf311e4fc20ce2ca46dcf3baf98fe8260429eeb604058ad5291c2892c7a08e86a9bea - -COUNT=31 -L = 2400 -KI = 44d40876294f2b2434035dfdbedd4cc61f8b4eeaecff99376425671511760dab -IVlen = 256 -IV = 099136134c24bebe9bc5ed19463ebb8734ed91099acd5a72a847d4777d042b7d -FixedInputDataByteLen = 51 -FixedInputData = 42a33c41e77df3ae0b68cbf3318b1bd081b2ae99ed6aee497b51f22c860e7bf535333307d7d82f8c9f1a0d05fced5dddc8f31e -KO = 5b76343d1dd28b3549d98f67eb7584953cd3fbf19bfb3e202d719628f87043e818449e0599fcc3f59af575bfec0f0de6d65fa597081c8226f7a84f8c50dfeec801b11ed7fd58f4870dea78dbe4ac52b3e69180dc14c9e31c44f80efcc44a299fab14b447d04dc9c2ce6f314589c6788c5b449abdb342e454bb0778793dd53605a5d1886a611712b68f4c14b8f04358fd014a1c89b625254c0a4f8c40a6172ce8d88da62324e79d23f6cadcfc40992a91ef842f78d10b2f3bd98ed66ef363d7c9a26b5b3e422c1c1d575f2fa0c9dc7bf572063d2dd716e46023d4ef72734e008f7bfb50ff49add662a5633ce4df0aec4a6ea8df52190a2863312adb169db1929ce26c85db20f1c48dfeee391313bcceba6a4020c543f854551c3ed07ae85271636474ab5547c04761607cae6b - -COUNT=32 -L = 2400 -KI = 6654a0ad0dc9f971fd9f804784b7510afb3690c37c10752c901c828a905caf54 -IVlen = 256 -IV = e244bd2364c4822cb6630d0e14e050aa09052564ff87f5ece31f21305569de02 -FixedInputDataByteLen = 51 -FixedInputData = 57545e6f88f75e7a37f20c4e6b28486fcbf71597dd9675d1a0f81561f3b974e490eb02b27b352ed48dc2cb454198f05a530905 -KO = 976eec08305afa41d3e8c17b0b1f41dd9722cee8a2f8799af77d9a4de5f78b2e2579d1af0d50a07912249cfccac30163180e561cb0efb0a9b168932d17e582fed32f0d7648b9d5e835fbe940a129ff32784588c5ee01685e8a46d4367c87ec88e2662ae08e32cc6c126f8cdfcfa3ef60053934e33964ebeb3a336f56e1f0ba4a8cd8f19c384c874b759a3c65dd0ce3a446ee1443b49922a55fe16393e462042393cecad326abce3d2de3d8e6b3c0fe23ba4da70b8e8489b5a6fe31d378eeff53f63cd13778f21a6c82978dc5c8d8529b7404cede8151d4492e808eb32679a0902b68a45b1c9670d4f60887c78ff1363a8edfb8ea1b7cddbf976ad5aa7e0e941c8ab8b54330907b24cc86a228147711ecee8b5eef42229d12765fcfe7d62d09e6fd6af4176aec725f855fc07b - -COUNT=33 -L = 2400 -KI = 2fe0bbcdd1a29f31a32d761df29a601a5f7a38110c4fa60e086068b797f392a1 -IVlen = 256 -IV = 31a14445cd981309caefe713746cb80bdb578629a9f895c1c75ac35ef903f925 -FixedInputDataByteLen = 51 -FixedInputData = 7d415091291403dcb09ebe2a9e94d22d2105b8c038d9cc40d412ae2b016bca9843ec9e9eecb1964922135409a5d44a78f831f1 -KO = 7356b6bc6e2c45be3b7ec14ff97e679775eb4082f15b27cda968f8688e2b27686a5f7d9f46a9cd2c559f6d34e6f65e9302c5e9839cb8226d10fd188e929a1cae8790b3e29bfbe3069940b4088a48c8c764fbd28630d90c9e5d9ef19403f5055ac5aa842909beb1843998148d93dede7ce31eff19800b2570f534bf1fc854eef588b40cb8a50739b4cb6207ee4728ade048922f0bbd0a826c7c5887ad54d3548e5623913242e666701925fb5f0f485d3af29fd812637f3f14a9c594a1bcac3e0ac62e041f832e6b2f5d69041cd43edeb74b99008572dc340a4bb6d1f0e6cf408f202114efd3ecd559c571abe7acb0bf01f09d1ecc5f05f46db5e56209307e5c5354f6983456d0278a0002a51aba22586ffd2c9a1dd7859cfaafb1b9985fefbea13baedf33c1922af6035b7b9b - -COUNT=34 -L = 2400 -KI = 9d8bca181a0bd79ad44cda411fa88a67d86ad7fdb03c1b2b8086c39431fc284b -IVlen = 256 -IV = 507b471e238d12a67a6637aa4f6a1308958a96e1d4a585002dba820912470e84 -FixedInputDataByteLen = 51 -FixedInputData = 8d8f79cc309498f01dc59d22120eba2269d86b5d9ebec0e2930a531fd86cec1820456aef7a674a821a994eea06d81df71fda7a -KO = 168e4ffb3e6921cc55f447fede5fbd181e5f0fcc6f29880124322f3535b7870eeb4829d2fef0d47a1d9b7a7dadcb44acc77205d956642e7829f22059ae5098e13a341f25fed82b8a852f1e7c05dd5e8c2c9ecf227af87ffc555bd2f2135a8066383bfef6cf1493cd0387a1116880e19d3612b9625684aa0a2efe582180c272333662b4e281df74c820c1f56ead6e3416bf608d322f20d552618e5c1be84d504ce0390ac16705dcde3f4db22b8654cfdb00aaebf47d8e4a9ec92ddd4e42c218bb16fa7d5d698e5fad86c55a5c783acf62d77d461d95d66f5cb8c873fac3bda24efd009c61c300e48d5ed6450d2f87b580a8b2ec1b8c6e07b190ef65dc9b509ecc18aac7bbb76d4b189be818e57af6ce0c2d678b232081a15a4bb849110a632efb03d30f7d9e89ef404fbc9a75 - -COUNT=35 -L = 2400 -KI = da723e2fb152477b688ca368b571924a7b5b6379a63f348dcbccab8013a3424a -IVlen = 256 -IV = 717dd8d1c84fe0832b07f764e88b6a74835cd87c054326a71f322d15422b70d4 -FixedInputDataByteLen = 51 -FixedInputData = 1b86ac9bcd284a84f90d3d58e36ce81c013a9c79a2788998b95292d09e30666a921e03e3b8fef1a97477f5265bc60ed534e68a -KO = e982d02a0fd71c9c365afe4430bcb1ce53184800babeed8fca39426081d86185c205d0e74771fa4b141f6379ad7775047fd3202655a7bc8ec1c1f9332fe85b905b11e196e1bf25120c2e01380dd69d75f0d2a6ff676670f01910866b52894f93e6a2235fcff89ad94b1ec86cb3136523f9013b1e6acc7a8302d5f370ecbaa5b12156b856ebf0a4854984908f3aa092981751c43329c00ab570feb425b23ff41f58f781466325e17a1eb88a1fddf2df84d20d204f2b757f8e0044b0927c34340085208d26b6bd31fd289497d7bf9ea145b2f5429750fce5cb1be96d40b1b21a6ca1345e88acb293f17458430a9ee93dcac2e7921096032000639431f438acdb0c6c6f5adb8d195787c610788eba70a719dab2898608e1635d7866e43b5ccff06cc5383c1653f7426a4d1eac59 - -COUNT=36 -L = 2400 -KI = 20ba20be42aad3160cfb9a0f789fa6ac9090af67a21e1be71f287c530b2b677c -IVlen = 256 -IV = 20c6cc9ea57db05b999c5fdbd7345212f8af8be27406055c07cd6558bf614d7f -FixedInputDataByteLen = 51 -FixedInputData = a3f948e3ceea7707c3971d5140b087722b4c74a568afba47123ef8d371c7e1e6a1c349c5dd12a7a07e2a6c673f2f30cd1e5a64 -KO = 47f8564184c2470d2469b31b1f768a1e02dda959cb1f8efcb2451a791e2bcdcc9635bc6ec458dc80631e00ac3bb03452f35d6ea01520df14ff92216d39be27dc6d4ac8e969ab2f76aaa4126b1b26e292a578bd1f9b5e9d1a01e3cec230b516dd2c215a534b2469974dc7173e80634d4d690d813023c8cccda85d4a185fbb8faac9344ffd34d7b08ef19aa43bbde77628660f4b723c92dbdc5cd67cb9a0f863f244b8a226c7c8475f9546acd587ec310a1860d0a040e43a81a217c7b20e555eeaf85786d44c6da485a6783a51be43e766b4ce295d2d13636de9f7ce460788d0d755b7469c10b01dcba0a88b2b6414b947fa89bc75e94edcefe6e87b676763b998b9fa6e83a5ec32c7dce9e63b539948c02b6898127cf5d376da9acd597068288070809dbef36939881e2a7c6f - -COUNT=37 -L = 2400 -KI = 59e5e25f65fa27478bb7fe2ffa20df4cbffa101f9a2811674694f7f68779f32b -IVlen = 256 -IV = 488b5f25afd9a6fa2d5f9819808affa1b23d2c20eec1b56b4693e81780c2e0c6 -FixedInputDataByteLen = 51 -FixedInputData = 46ad9bb530a5265f64f9fbd01dbd8e883ae558e9d2c9337d4e67757d5a0720fdcd62d94a5c1fb4bfb2dd7640e1dbd27dc63539 -KO = e94e8c5ca7027fba660c3a526e52fc9743befa679cb75fae2ed4cd3894601d706b5f764ceefb711b80022a22dc9b31fb5e47adedd61ce306ca7ab02cc297644f8580a176ddc0e19391d807d61cd60c715bf605a9979c47c0ad4a78e16bdb5eafb89ce432a3b53b3408075f70164201b30d46db9c5cf3d68524cce455f215c39670bde0d1094ba487fb82d7c26e7e3d15c90266e630132d77da1ca59e80ca960e93bcea707e83aaae75b0ec907073cd381120a6741759dc703cc1ce51011a8b6ea602eedf66083bf29e5ff3ccd567d5c68a264c8f1e417048da45c0889b20357a28242a853e96a7b4b6ba3fbdf4474aee99d85cc9554c8af6399e860c20ab9f1e8612e0610304a916551052aa08a545331ccc9def81ace064dfe15c96eba878cdd74b04df274562004ce64ec8 - -COUNT=38 -L = 2400 -KI = 7fe3075091cc0e330a6e4e75d7fc0a20962c746f6502514ea1f055e7bee860d3 -IVlen = 256 -IV = b283db9564a23a828c34c2d8833a83a20cb2aa9ffcbedb680282179783af2b93 -FixedInputDataByteLen = 51 -FixedInputData = fb113504f39efc2859bae78ccc3686e47340c0abf27146b3f88c730a97b662e2bb1d192b962dacad459e01a0005f284c2f0d87 -KO = e764bda7d922ff9f264b7e4b59db6a41ba082822ec257bceb43707190f7e508b48eae4ad4977266b3322220ee7e8a5abad2dd421c4f61d37a715f8edbfa1988fa2bd959785a6b0e07a79973a2cdc8e1326d9af0f204e7ffe229e8cffaeb88f13fd85a7c3a12f0d38386e022fc4abbc57c32992d49905b17eb72e38aa9d0032b3780c1f662130b2a1b19f8aa46d39dd34111206c696f77a4657926d601437114e8d58040ad60ff3dce09f4b686b2cc6a55b2059bc2ac246efc125480b9473bfbdaf1eea6a255bba98a7d971aa30987e62cf58155000078e4b1006ce7b9612ecc9b98b9422408be0427822f14b2ef06e09216c2edca1e1d50496936bdebf03d12402fed44d7b35d5cc8bdb80b654fdedcbc9551359e532dcb43c6321892298b92124dee3178c8a59ddec5a6205 - -COUNT=39 -L = 2400 -KI = c62b8695db3b8009fd34fcffcbb08c9dfd7bc61856642308bfed2dbcb293c8a3 -IVlen = 256 -IV = ec344b88568379f7774277fa03dd0347a8df9544e9c72735cead80de9edc3130 -FixedInputDataByteLen = 51 -FixedInputData = a47e93c20b918150764bef8df83ba13c6046d2e3a2cf1761b4cf014100633181f52d12050a61f2e629e91b4556f5b8f1d77ac1 -KO = 904ce21100d488989a2f690e7275862af6285f509072abeb6e4734039b747bcf1f1770c8456c90c3fd1e037a8c14eb4bd1baabc39374f6fc03273ad588d31bc055f89a4a501ef58e4556397d7beede70b626216ba67de9b52157f90e00c6a9933b25b0e3bcb88fb1fe8e7fad1a5c065fc592aec237abbf546fa415f03d82fb1094b1fc9b26e3e85de5d35aeea189e3f4315cf4c3ce51a9b9e554c7f59af2abf30d1c6cb2e7cea638782dc366f3ce19dd0517a85d211f4066b74c16280e3825481497422a339225e65bfe216b88be3c162c1835d814b2ceb087ba039d1754c3b044eb81568b9f00201ce64b1d511bdb26e3ab7c1260cecfd775f7bf3b13594b7651a5d2140b23d7e82d6374c567f1ccca47d45c106a54aab11cd40a774ce08caaa3d44f200f92f061618ef7c7 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = b9ac9fdbdcf0184ffbe59bf9d4b2a3d920c8c63127038cae0cee0ca17f016226 -IVlen = 256 -IV = c306fa65e1b2dd64a82fe02efab81e2a11ad2bf3f081aaebec31ff2065a4132e -FixedInputDataByteLen = 51 -FixedInputData = e5adf20c3775749d7d702f78bdedc118f8f16889cd325d455f11a30bce5460d873361f0b33d025ac7e62c54642623304c8ad16 -KO = 3e8699742eaeba856afdcd275f571717925ac1a519da54c3c876bd6f9001933aa0d26dbe450a5ab67120ef21d827d65277fe48690f8ce9a8d654c5b691f2002d - -COUNT=1 -L = 512 -KI = 8b054a0ea579372b189d9ac5893655583557c0adb67e03a5dbc140065ac7e189 -IVlen = 256 -IV = acdca2e18cf5824981ca657d0383bf7024af399378106a11c5dd0a1de15f24a2 -FixedInputDataByteLen = 51 -FixedInputData = a205650d933d6f12ce217524cd8da305a5b79490d46464c3a71da9ed9b644762a1782d1f1222c6a4b54dc8331f4a9aed4a95fa -KO = a95ed8ef718912ec2b1ae9528bce2d93ac4f75482d36c680a073755b574ad103acadacd7288c21aa79179b7356379f2703fbd11b70e7d3dfb59ab896656c0520 - -COUNT=2 -L = 512 -KI = eb548e6fb0844a351bd25396ed624eb3442bb67388baceec59ab2d6d9b09fc94 -IVlen = 256 -IV = 73982811355b51ca3e9ea9cc9683e5fcddc1790825752f406bf69f290f6d0c28 -FixedInputDataByteLen = 51 -FixedInputData = ab46e11e7f63190e4d3f39da26cdaf9f871c3ae67ed366c11e3e7840dc5edd889e43f76bc788006092db49566bda53834aaa0c -KO = f1c139c9975f5a195e9f3c1a5d119ab7aba2403b8b8314c55b2feda41bb2dc380cee667ce9368ebcc9e97a5c579ba413d43d4cbf2e7758e73c8abd911164442d - -COUNT=3 -L = 512 -KI = 6fb2725246982b941e0af6aa97550b731704ffdd5f561ebc153a4ef431a50093 -IVlen = 256 -IV = 1943ae8df8f2d76c7401555279e480c7ba680bcdfbbad3441287424d6685bba3 -FixedInputDataByteLen = 51 -FixedInputData = dcad9001f8057ae3ac3bc49a5210a62cd9bafbcdef689fdfd0b313db86ae88d53e1bfc067fd82bb9bf5fea23280eb334140519 -KO = 5088b3d391c3fefb27c94ddb8d691db83582fa23eaed6123aba7c496ca260a0d80dec394b8b17459eaa22414ff12e38fd977bf1a6fe5647a355899ab5489bc6d - -COUNT=4 -L = 512 -KI = 7574c88056b3a75eee594d8150255e76f99bf6a1b838436e0f51ad37f188f2cf -IVlen = 256 -IV = c9baea8a2bd5797f7a66b92d7d917eeaa705bae74610f4bcf0ef4af0fb3b8aec -FixedInputDataByteLen = 51 -FixedInputData = 8609f1b2086657d7b417479dc2d26a051211b9ef0c3d0649ee32fc35b535e9825e8b95b318fafde868e37ea3b3b4e738c895b0 -KO = 4f0c10bd5c89e292f187ae02676b91f2d8386510b1dd138121bb4b2eb159ec58f6235a0b006309ee52f23bec1a386e6e6b8e47f0c423d1c085247890a5e6aa26 - -COUNT=5 -L = 512 -KI = d0990ffc992961d17602e0ce8e795b915f6c455e9464168665f2f949e6f870f4 -IVlen = 256 -IV = 4c0a4ca1021fe7e52a3c2c792eeb8ead344c48342b9eace5e4c9caee8922ec78 -FixedInputDataByteLen = 51 -FixedInputData = 0aad4bb9c1c4ea515a5c83b0156090f4ae77b50edc1d1adf32f09c20fcdcf793f911062cc254b91369ac1f37cd1eb452406938 -KO = 37c3e5a92266ce8414e1d20fc50c40bf1118e67758c6e51ea332b5b27dedf0c30e06176ef4511242b2e938fcc23df182a60ce1c4b1a163d86f36bc47d83a756d - -COUNT=6 -L = 512 -KI = 5a2530d196e8d8849433a434ffe83e91205713a143a05904d8a3505fc8cdb4d1 -IVlen = 256 -IV = 84a2978dd3eef12f5c02a841c43d6984fc4857d8c507d3fc09acb9d89742702f -FixedInputDataByteLen = 51 -FixedInputData = 96f8526f1cd5fb294c832b6be7a7f69702f3556eae10df91d798f76f5291f6e40d386fea8e8ac2706c0d1085b1898f288ce261 -KO = 1b0fa23051a15c260fa1634edb496bdae91f8dcc69f3b20893bf00f7a641b373c6f16d553012b2d114bf9b51f54ac13db6fe510663b7e633c59c777ccc84747f - -COUNT=7 -L = 512 -KI = f43c82893379cca10d23cc41fd9143f0dba4d04a9107498bc095c82fabceaa0d -IVlen = 256 -IV = c8befbe9349806921145ee96c168b6a6bb60bf598f16616217e466093c445455 -FixedInputDataByteLen = 51 -FixedInputData = d033c33545148a1cbd8a788bdd9d0a9f3e52ed93a3bd260e7beab109648432a436c998a66f6c3c4f13f4734c148dcffe21bb74 -KO = 74961ae8bbc5303d1e49496cdbad4e16550d86c9c60b886acb9a09dd6946687bd414e88c0f43a4ff9d9dac7c726640394f82ed8ecb709c33aa659b6bf2ba7019 - -COUNT=8 -L = 512 -KI = 2ff764492938c3d645cb435ad2e67e3d253a1acb7d88a501467bec7756bcee89 -IVlen = 256 -IV = f13e2f4da3b34f0640c268ef248588ea940328ba78b298fc51663b8f996e4cc8 -FixedInputDataByteLen = 51 -FixedInputData = 3ca2d0e50594dd7b5687339f7e66ae39dda8c3c04a4471aeb283d7681bbeed9dd6c17ceaf68db95530d281518fe934e902dfc8 -KO = a818b74fb6f9bb45e83a63733f844562b245cf299209cc8a6ad8cb56673bc2b3084381d40325a6733aa84844b7b2c58fe303f0e546c05cc6cd847bb2e2155258 - -COUNT=9 -L = 512 -KI = f921fdde08213293d7629a1c26361be34df5be9f2973da4bf0d71c3ac4d0ce40 -IVlen = 256 -IV = 10a487a786f62e0ec90dc4dfd94b239b9dee5a022a0cf7a8339118da1a673122 -FixedInputDataByteLen = 51 -FixedInputData = b170553093cdd2fb4a0aec79a733b20bac551e6fdad6349bf326e8e372eaace7a2a90d9aec3d029c6f5325dc4597944c55db57 -KO = 04ba67affe6200ef67df5b95720f51687e19f2305b6c62d123467ef2e78751492031ed77ede4d21d80b0a1fead94532612e522f5bb06e747b5e6c16d7266d36d - -COUNT=10 -L = 2048 -KI = f40f3190cc47cd17475001d23b86c9d4aedd5bcdeeb32cf222853b64c64239c0 -IVlen = 256 -IV = 0c20733c52aae525a519261a95604007cb2174b0e0ef7ac5ab4a84f5b47be786 -FixedInputDataByteLen = 51 -FixedInputData = 2ad290410c1f4b16d407157db96f1b1984b976373e3feb08b73153926d9850d0b85552f3f0c4cab06674b7e0f08e89efc8361d -KO = 8e1137010a509492d2feadd3a7a467231144d285ceea131598004bc656f3d1a13fa80202ff9e1653f677254c7a85a1b3aedf4436ac142db3b485bca72a142471e21c3490de111e6d7b0699b640643ad81e5903df0f42bb2b07c504e7c1e53dff0f577048fedf797dfa06c07c162c76fbd138a33e4fb8ca4b95a33ed8cb060c2156354448f429652cf03921d6c53f5dbab755967474581268ad6711cbaf93f0fb65b51c4a0835d8afa617f75f213b5caba2fd1ec7d89221feaa01c8c321f59ba00f4f2293fc6dff03f836b26f0d0f3e67acf116205db0018abc29323eb0340f199e14aab3e92f6b1b204f0310fe087924edb408b5180241970de81e7599370ab2 - -COUNT=11 -L = 2048 -KI = 5673513c42c86cf940987f72ddb0af263ae16fb513ee5c45fc13caae59f9cd74 -IVlen = 256 -IV = e8ebd2ec818954e9c0f7fc10d2a531a4da299c19ae6ce0c2c77d4d924480fb60 -FixedInputDataByteLen = 51 -FixedInputData = aef08de2c0213b87993ce580d9291243639d81dfdd2b7e26a0277e752cf46a59fe41137485428d28a39fb721f25fc086436205 -KO = 77f7f33a56029a7ec87d000c3c0eaea82bc7ddd07f6b5278cf7fced1f00d65d41f19c9764e60d26bb135e94971b4aee01ef8c9f7f9ceb128bc8dba2ee604e8ee2b434993e8e4ffb6c3144a2a174451de20c0532f84670a25ea4b8a9c1266a137b17d756ee2d8d2bfd0e0c2e0bd6d1594dfcaabc4233dea7eac7bb1f6786155a69d535fba665f856ac77b61c27a85889b2e228329dd5b7ee4402bbd317413f03567256034da9701e41140a518c30048d2b7a52c7b40eec5606cc9b8ebb59bdb1b699d86c2be6194bed53e8697321bbcdf0c74e5c3922a61a0e49e2144cd411e3f9e0c53c5d92fe9860028b64f7c099090ce60ef0775e39d95f3a57430c571a33c - -COUNT=12 -L = 2048 -KI = 7556139ee6b8f60307846aabcef0f87f8e0255aeb2ce982f6b0ae533b9a50aaf -IVlen = 256 -IV = 87db48ce7286e28e150f09b94ce7441acf42664c08b499af147ebc0f3c942764 -FixedInputDataByteLen = 51 -FixedInputData = 7b4eb54dd463b00e87ea530ce446514b4aba387996edf6c7cb6a08eb94471cabcabe2183db1804520befb1811a3111a0c2e3f8 -KO = e1c4d2bc838ac4d36af128f45288174ab3acfc44afd0f932760b4cbf192b98265e87378e35a92a1600c0a6f2287330915f40ea48d6c23b00ffa78b827f83a9d555fd48ec6f8ea933d7e1c5e2fb3d9180fa016bb28d9343c6aa24b29592e232d2cde972b728c3bdc0f502b0ccefa36c5972a26b88aab52852271d8a05e60995b9ffa9c32cf4eb3e95c304f7b280e66e57e9415004d2c323a38eef8da98374933528e5c7e570c99a41d8edd0b289f735b170078cb994337bf792e866da68893f4c5f56f388d54c6d711431b89e82642acdf89e6461157dd4b81cb352b64b80ee6884f03411346aa64c830143b07a6fced2f04c98b479c3e5e1fe712db0bb15674a - -COUNT=13 -L = 2048 -KI = a491e4f744986480865cd92f23386db36e37e9e3f7a4013ae9033618e65c4887 -IVlen = 256 -IV = c3e2fd9b157a855c375f4ccea5adcd17f9c7d1cf7698d19e7d6d2018fb3d247c -FixedInputDataByteLen = 51 -FixedInputData = a70c96f182a27d8e650afdf8bab4829f41ba6198face1f32268c94ab65963be2d7f66f5a0c8406c69c754443f54f02a09b7ca4 -KO = 9bb4716e9d25fb5e6703fc51602beff3777dccfb47e668e3a09090a60056c20ef2997b57ca9e99e65eddf2da2a86a67e7cb9e91f8ef69fcdf649d212d416ce7e93874fe8f93e5dbb05de01d0faa59636de59da0da4afb78197b47e3558a4e56b865e05eae523b5c3b17859fd03bd3188b56401a2a53a74d9d861e8525a576b518a4369cae1e42a250d0ccb96a9652be4f13febd755524f984a17b6611053d8ef2ee64afddb05066fd34221d6833733e3ec0dc228f6ba6a414e0689921bcebc094844511206afda9e40ed3a13e5f6727ba82ed380ff942853e0bbf5f4ae7d0023c034c73200ae0286f02c74eb0b76b9d904899879e6a1e9c912a6020ed5cb3ae2 - -COUNT=14 -L = 2048 -KI = 7835b60c6b50ce42bd8148562ecd58679e1ada3f7139359168d0437abe71663a -IVlen = 256 -IV = ca301646030a2e80877258872b9e6c689d66faf279043659cd91843eade1b489 -FixedInputDataByteLen = 51 -FixedInputData = 2a540872464927402f3d64b7130574e62961f85158a7002b2294935a5f83526ff2bd284bea097c98bf657673ddf818724a9bef -KO = f64c2bf2a16c6c48418fde7ba3e337e9aa55f96bfc8131b6fd271e9a77970aa7d64baa3999c2c35a252a33ed76fe66d564f8890c5a0fc9bab08ba77b31e7079b54e95de0c76c4051549657ba33ab27a6b2a3fa7544717bbc69b1ed10269ec552a3b2f4c2be01539e13f2e0f3d3eadb0b803d5ac748d474e5b0a241fd42753794b7eded147da544887e13a856c8a864c5f2b1f04ac38ceb6bb7aee1bfffbb276445ca3577a7bee45e1371add36eb0d56f0e4801fd865db13b2eb48d5caf1b5ea975852cd97cf0ff0bc27fd6dbd0dd4ce856309eaa11bbb9298cf598e742547bf87680bf8d1ccf3cebe2173ef343727c5dac8b9ec2cf978cbaf141383aea077e73 - -COUNT=15 -L = 2048 -KI = aa298255414a392cea95f697cf5ac4bea857a29f25046bb04ecec89048fa3b4b -IVlen = 256 -IV = fe41b3702f5d8aeb50930e95e57e3a7e7fc8d0198276231c94dee97c2f14027c -FixedInputDataByteLen = 51 -FixedInputData = 02f4c91fabb651547fe3526b95000906f6aaf8e2885ac52533b1f2fc5fbd0507fd73b2d639b643025f7286407c6ef2d46fd782 -KO = 0a71f1bf0820071718187ab8e42e345c1c55ab8592f43c87a62b20f60c772406558423ee89707273b45562ba67bc2f71a84a3dad038a68aafac60169e3cc6ffd1b3ad02a04441f4206dfb15c24cd542f7f80b7cf06b08a1591cb650d4f87de436e2edd38fc332442ee476adaed35783e7c86d36c14e3efe1e710b857f2dea990853e06f272bc9258d59c4dcb9e4da326a6b7e8f139bca71a51b5344b5f7d317a9b50cae6e512c1ca5aa4382c6958d58c3c90807c7037c709eafe473dfae8bb6d5de714b8cae491a64814786f3c25db7ba4b4bbbc674f249b29db2cd38ac359f1af1724de95b094538cd45d32a67bb712efbeb2e761c678894be84fd7f2340817 - -COUNT=16 -L = 2048 -KI = 17a13fa5a127a3833375b7b175d73defc7a863df1bfe141f290aeb90c63a0f29 -IVlen = 256 -IV = d267098a4e941b2fb9d96c6933428899c4c0abdda767777e2da72104ef89505b -FixedInputDataByteLen = 51 -FixedInputData = e65a3bddf2f34ac0aac2659b46f80622f348ea430a3c16921dbe95fd77462002ee5af5ade1c3d6beffff6ed1f58dcdbe5a7295 -KO = cb325b542721136f3822e105d728db04f065992f26076b90176cbda94c36b5c8a0b8be7a104263e0e2dec899099054b0b7b10ef0cad49797bcb2cc989a22a0a85dfa7f655bb0932e20d58ac5e15f964e62cc720bfee358ac5bbf88fd9e93f3419f6c795a0c5b8577fbd456b29627e8c6410f87f686fd5449426ae3fc1122355afbcfdd4044c99fdca70ebe05767cfc4d037015651dec222ca6b238a09b734495249342b20e724f18d5a4bed040cf3430027ef496ecfac22632dea57d23161a84b81378994a944cb28557f4db09740c5f9620b6371b66c9b4ecfb1aa1f96915723f90d6e088bf604436fd419a43c44c3f909bca006d1416b9bcc7d5e43cacc402 - -COUNT=17 -L = 2048 -KI = 3faa684235371de66ae40823c360ff2e4d0993205674cad17e8bf1120696477e -IVlen = 256 -IV = 67dd84d1dca2cebff06808afec92656b897d7e5b9955d1ddfbd6bdd770137275 -FixedInputDataByteLen = 51 -FixedInputData = f659be295fc218f58a56a76beca799c4f153c9588cccb316677afbdf9ee9d09e7cbc02a2db7207c2aea732d7f5180bafc666d7 -KO = e9f4f60bea61754c9a7b3f6d6ebeda26516a4e42aa253697ca386a218fe85f3d713d0f0132b1528cac4b7e955fd8e0f2f6c8df030857624c49f69cc78cad5d2aaa4850d5dfc821110c6e7882b6bdb17acc4ccc8bfb378e060aa64007c7e1466dc5b111bc2989671e60b83cf03bc7761c55b62a37b1f1ac6703a5f44ebc89311169c239805958c5e2d7b9d35763113fff5721b2a00b09ffa86fe0825513c862797548125209ae73f7494b81e3bba22142c006603a107227978a0559725ccd01426da6d8a824b33b1a761bf62f40c27ba9d5a9d36dd478973b24d41374929a0cf552ab62a7b3fe8837b74d8af26aedf24ead8090b411fb867f998a4240020f47aa - -COUNT=18 -L = 2048 -KI = cbd54b6b9a9dae5f9aeff39c567a6d5c5a3f53ceb8a9e60262c9cb796c44d25a -IVlen = 256 -IV = d10c676c574d8fee825ec03cc400ba1faf38d121152712868c385b519e29f4ef -FixedInputDataByteLen = 51 -FixedInputData = 5b377cae672b43341a723c19a99a26979774e79fcc9fbed22e2da0281f283db75de79ec5079669c568b45b1b7c8398b7a36888 -KO = a76dea4fba909c686a4a29156b3b6fcc191d4e9226cee50944f3e42b0e9821ef68428fa1db1564e1b34f46f44c7f9e13b85e0626d432d4d621eda49c594b5afe0a3eaf260abdadd57c821004d64c9f4cd50e188cdc95e2d50d88038b4cb57c70fa2fa3e4d09016a13a86573ede8f2226405f69cf7d6816bc2246be3451d8d3f080e08033f9ceabe819ca8ce5fe9b2be66df2ab6587de8b5b09067579279ff57257ab15c66a64d39653a79b4700a2d4b9ff597b9d25c3d2987794733df1cecf8f7b411364e00b6a827fad137696dd7adfbccd843f91e3b6914990f4f83c8865ff1b181b6ac6b65313d8e752daf52c43a0de5deaf6fc10cca94c04619c034e53ac - -COUNT=19 -L = 2048 -KI = da998b97471ceccd89febc884014d55de1e6dd069c6ad9bb6b6f69ba78a1939e -IVlen = 256 -IV = 2ce19e7c9211b49fec0dae1bcc639a47c381decb5b20e4979c322688dfc4415a -FixedInputDataByteLen = 51 -FixedInputData = ce7ca280ebd0950560ed3662a0f7a4b8030f6f8e5e0e92b8e91c5f56c84aa57df04f98eb9b252d9c7291f2590cfa8deb7f91e6 -KO = 4d8d924e2f5350c7165192292fa266b3be6b2738bcdf41d027ab417c7a08219fadfb3c28961a8bd73c800db3954096fb1c4f22f2b5314446443b7bcc814c3778d7c5f92410a034a273318af57f8c8e9d2d7b90c9598b79694796aead94971b4e8831b33d89f967a333ba414a0726ff872f61ea184442d7a71d971272d69b44c509f55c90e67bc15f291a2934301816df1ede1b28f987cfc4bbf976061fde3ac8081ec9343f10c3cb523c78bcae2fe41b03fc6d9fde739b8e8a73c81cdd7676c85386b083e196110ad4a88b67443de4107adab132c271e048cd8a943574e9350abbbfe3cc1817c7b0216aa03b9f6948125078975766659e1c829c19b20a41c3ae - -COUNT=20 -L = 560 -KI = 9853f068714e75fb13fbfb6d98c2bba760ee531e1933766e1de2845dfb7452f1 -IVlen = 256 -IV = e025d703821b700b16a775f199fc6d9d9280c470c63709cec6e61d436aa400c5 -FixedInputDataByteLen = 51 -FixedInputData = 29642d387d7adc6f9f111ffe4736e7f36a15ade263b1cf16d46e156549a20f7e77649bcee5e73d8b45abe3902cc8e3bce5064c -KO = 5a0af7817f7f0eaeb1d29368384fb9b428471a270e8819bafe4ac0d9f07b633802caf75aea25342d9fc5bafab84cadaa3d05bd4fb1561a1f9793a3189bd50a2d23ea2b545a63 - -COUNT=21 -L = 560 -KI = d69f5914e5c836382682781785a58a0eef8351d4af41524f2093cd3f56bc72da -IVlen = 256 -IV = 9ccb46028e0fd3ed00a09f33f824f6c1297e7bbf8e388a911cbb5fee1dd2ee7e -FixedInputDataByteLen = 51 -FixedInputData = 96799f1374b3aed2474498f7f04990ea41f7191b993f546ef2bf2b28d0988567775cf0ca075e458ee3be424eba72575a60bd14 -KO = 2e0e0c47339c2d4c04d6ca9e52b81e65954390b9ab2f2ebd4fb1d9d70f9a94a8dd0b284b1e2ef09d4782f7ea65d47f1074687301bcd86d3b482c7e470212de79f32c8c9daf04 - -COUNT=22 -L = 560 -KI = e9b21f2665657c92813e63280ae70e3b0bc6f758b17284623a70f13ecf99ca21 -IVlen = 256 -IV = 024e71ec0c3eb3a1a0c6de36c364ea5e92eb3065830c4b4ea8bce673850594e3 -FixedInputDataByteLen = 51 -FixedInputData = 07b8227488e7ac2319d5ed7eeadf3ed8b2232a043236dd20ef1d1d086bf372f4df40b004db42b92a8a33efa6b1cdd64d411bd3 -KO = e8476913e7a2b6c80a98020c44d4cb93b3a1fe5b773208ba1d5fce41ddde429fa2c5c386cf433e50dcb102533a487666af88013bcecd90713c177c1dd4ae19c24536f7e3e7de - -COUNT=23 -L = 560 -KI = ea748fc76eb83bcbf2c46f951b94275190ffce3e42607dc865e97c48276f9d10 -IVlen = 256 -IV = 678bd2242ad470977bf30e53d9e6e1f80878c3fb8e38e51e69f1315fc2121324 -FixedInputDataByteLen = 51 -FixedInputData = c50a0171a45517f0dc9afcfce971a0e77c1bb0dcdcd410b9fbeff3c37632399329cc6e6793ef7312feb7428485ce82ed66b021 -KO = 05acab8e25f3b43c098cc40b53e65eb7d95f31fef125d015b546600cdabac76ef88a87037a5b09d159c810456305a798e54a6cf19ddf83ee5ce61317641d4cca0cd891b03a4a - -COUNT=24 -L = 560 -KI = 5040fe63f7e1e18cdb53de6148ea150fb1c42cd3547143151c980ab390b48881 -IVlen = 256 -IV = 581f1f6a146a11810de6d11f6d0efd554e0f8b63f2b36435b18d577f6a69d895 -FixedInputDataByteLen = 51 -FixedInputData = aaed1b19b992a5437d90d33833dbd5fd8c3f495be249dc18ace565d9190e9cd53cc71f8c2ed2079dae92f7c72e4c4a0d6d057f -KO = 81120f18d659c9a5fb5256f307595c9e7af6a3297ad1264237ad9dbdea99478ebb6d8deb6ced80b94fcd4f23e0dfc6ab2562631535e38e08abf0a5a2fafd51d56baac46ee5c3 - -COUNT=25 -L = 560 -KI = 2cef874c8fcf78af91966e073efc33722a22ded0ad86409713a88e7e0c44f14b -IVlen = 256 -IV = 5bd7973852a171e1a9541ddc44503dad2683a1476663a59fd1be738ce95d655b -FixedInputDataByteLen = 51 -FixedInputData = 9e20e65d4507d85230358faa2b99de7cae6a928bfac9bb392a5a72f32d3a597defdaba81801dc4243d9f0c80fac6ea7aba096e -KO = 1c90fafa00e9f797d9c2179cff4a349f372ecf044e12194072e07606b3b55f2e987cd46978c340c282f976f384b7ffb352f046e3b8094bc6aeb9a4ba58e68910639a53d1ce92 - -COUNT=26 -L = 560 -KI = 724b55b9f5aae0fb0a0c6a8f33350d240952d44a79e632e53d0313fbc66b4684 -IVlen = 256 -IV = b994c2140e413a1797c62e660c0eb8da05091d8ef8c7518916b540a638649cde -FixedInputDataByteLen = 51 -FixedInputData = e72e3f8c5f7f4dc6c610065428601f74354892f262dabaccd597352b691d4305e79ef8aab662e57b651c7f84d65678abbd5e37 -KO = 03f501cce55196b0609fbb3bc1746fab2354b94c204e9616dda04ea41249e57e6e572ea200971392789065fc68ad4159dc12e538e33ae5624d451de078606f922ae639b6faaa - -COUNT=27 -L = 560 -KI = 253a98e65e25be481f5a9132c78df1b81f7fcdd57aa256be786ed65977b22c6f -IVlen = 256 -IV = dc6664d69ec27cc6eb5b0cde4267df6745cb85432ffcb7dbd3aae54c10b93f79 -FixedInputDataByteLen = 51 -FixedInputData = 12883e4479a150de57340060cacedaa1f7faa019e0ad9292ad6486ca701f66fbf450d939ac5528eff7c809358557c1296a25c4 -KO = 6bf724b0deefedecaea78aa758b494251713c0178193a098d19cb02a1463e3331e9bfef99ff75c4b5ca3107368e962e036edb9779b2c403bb97edbd00c63a505003c0d6fe9ba - -COUNT=28 -L = 560 -KI = 893e7630152e36016b6358b139d9e4ce94017b3fba8e587016b814b919f260b1 -IVlen = 256 -IV = 8eeca0be0ec3f51484ff0638fe9681d63d27945c4391ed756f49344f8cc53b7d -FixedInputDataByteLen = 51 -FixedInputData = 6f3154e621d3353cbafee200c1df02a173338e83aea82565debe9bc6c6000f54350708a3ab09fb23579b65cb7f57805125eab3 -KO = 05841a268cb9ccadae4fa8ee364b19b97951745b85a203eff3824210f6b4ef9ed9b510e0d0d796bdf2ab3648075ef7622e2f6807a12c204067634316727dda342f9d28fa639a - -COUNT=29 -L = 560 -KI = 22159b7c0bde64b4fcd05fb31bee4d3838f5befe7940320ab411d4da743a7965 -IVlen = 256 -IV = 26308288969b39df080047727778df3e110f2d944b46efcfae4a9e02892be01f -FixedInputDataByteLen = 51 -FixedInputData = 2d96005bad4b5517f66dddba681b16d11206d079d763cace4948527cf7c221222163231e7af3ce0e55aec578ce7bd5e7d57d70 -KO = 24c6d70eab83ed46becc774b73bf690fa7ee2c031e4443e304f7c164a8f86b12ca2a4fe42b6b90ee597176435b408a20484fbbf2c442e9afe440e8630c852e521285d0e4ce33 - -COUNT=30 -L = 2400 -KI = 9777d068f561778dfc99e768a599f5660d362f6602645c627314d0fb9f00656b -IVlen = 256 -IV = d6491df6cc5f81b37da37f7297106859a39491021af32a3d1f40415e1037d7bf -FixedInputDataByteLen = 51 -FixedInputData = 753771055c63741d0b5963ac87518329caa95d3525cd3aec389f5f6921a53423c4b093a8439fbd85b497016823973d7d027b51 -KO = 36f46caecabbeb5d1626d9c5702084a12afd74dd215e42b5eb7c920aae2c4b259905c227c2d849ce1dffbbaa2eacca2520eb1b00898d86efefa040c1c28bd614603e66a8f08b12ce62ab39755163d073811466f3e98aed73a4bff50fca683e7f78a0546d0d39cc3d79c1a3c12867ad0e201f3f66c57f7d90b5550b05ec728991a78742e390b8e402138d21c793279730ba20a5a9ce57b4fb2b26869fca5493564c0b7ab319a663a46c90d8422a8e3be6e71b3da31e870c746e5d31fa53063430369a4a582f67a623e36aa0d54b8277b526a3da881ffdbbb29fa3f0052620699e720db3c55b78b377c94384478442950e5523471524191b894d6a1960ffd012a5a42e30f9a4447d715a946b0ea7009addd3c851cca379a29ba28d05a229f3865923cd43fb2dd05109d697dc71 - -COUNT=31 -L = 2400 -KI = 24883c0dc94edac5ace73d3bd15766bd0b82aeab93cbfa2757438dab228daa1c -IVlen = 256 -IV = ddc68a1edfa0a007b1e0995735c2d7932ac56bdf80db7ff5a0cd57b6c09bb32f -FixedInputDataByteLen = 51 -FixedInputData = 04cd66bb9b98c01ebd2925360ca0c77430dda9bbfd9542672c23b22413a7119fdc5f0d2d34834276dac57050802bb673184091 -KO = 42100460d372fdcc003ab9f743cbf0021af9115ee92ef17f885f66310e6fc5e15998a14b3b74f1bc106b546a9359c0e62cb399de54c3dd997475968f0b855613c6b1deb3536ff277294e344559d4cfe7487cf364cc405a6b124ee0f28a6eefe10349e4a58c6c6b301108ae7de7f1b1f2752087c81dc821a6c2b04f72d63a17ded3145f556484318a26fa3b694721760692cf34d8e08ed0a74ad5a12dced8479934e5e25dfeea0c5e2a7207638acd55e35a884a0213d418f5a322aecf7a5d3dde50735cc434091d382ce483dd9858367c7afda31d0bd56579c747ea91a477ee6ee8d72378f75a6883b7b32bd2eb0b9063809ad6b9581ab2edf5d25fdbe6416b18ed0bf8d578fe0b244b01f90fa67ff53674ae3f9e36c014d1f8bd87d0677cd4027ae6bbe8b17e197a1187e2e7 - -COUNT=32 -L = 2400 -KI = 43bd3a14e5535c3e7889ebec280e878fb5ef4b374ce90aaf0ddfa5e133d7d08f -IVlen = 256 -IV = 17df889a2e6bd42395e5241b2d9d1f04b549e6496f0d5d449b3f919c3ccca892 -FixedInputDataByteLen = 51 -FixedInputData = fa3ef15b174d7b237edbde7c522356dadc0467fef7049aaaab996701aec21ebbac1f0dae8d4a370109dee627e7d43a6bd8f637 -KO = 8ca17ab8349c878ac9d80b41abbf48eaeb1f53f85d980db6ba76dbb0db940060433a2823cb0bcbced186d447f75c5a5553a38acfdad529ed5eab5f77f8dc64132b67bb9fd04432af98b23aea3b1e4d44fce6aef5953c29eb83573dcc4b5e6048a71b121473be96fe74465f90f04024ccf25db6293ce8d6dad5352c99e44d11b9d1cfff33669ccaed93709bdf7d317f499b7979e0faa4b4cee3a8640900df6ff967fb6f5474a306f1dc42132e39984cea33e6f3b4784dbfd2addd605996b94ee087ae5f2cb161a98578898a8125274bc402cd45d407749a2e53e29cd551ee3874d23a9afa156addafc6b8a655b1c5a9d6d7035a9fbad86ee8ad79b4075db7d4a6a18579e058e7a6309b8a5c9dfbb4a7b9acddc2d4d369c40d0826959b53ac4ac7b99a7ba49b395eacd8be91d1 - -COUNT=33 -L = 2400 -KI = ee3529b6282a4876d6ca358980c89ef594f9cea167da4cc8ef00cc55aef9221c -IVlen = 256 -IV = d9421464119f9087fa181bf9c7dae1d53c210c1820e62e7e31e61b7ca8b7405e -FixedInputDataByteLen = 51 -FixedInputData = f6067f0d0b639a5e1bd49736a4fe91db06d89694c59967f42b43be6300629348a6b9e5d34f2eb096c37b702a067dea86956c93 -KO = 8b73dcd956be24e7b4d1739c05d7734d2e5b6c82c7d828e34850b707ecbe7968e3458efd50274ef191a9e37d02165bf292e5b910b375802cb7eb2f54009b2b10218a8b8214c6e1347816b9089150b61bb5a66d551d8f24a2de750a29434f29a5a634d1108dec3e60d20a37e6997705d02b81b7de2c79bcbe28e56b0c1fb8b9dd8c74b96d237ffa841a732b36bd74f1559129e9210ea2556a45ae277d69e4964289aaa9d6aae5b97ee5cb9d5b85f83affc76cfd54e157a26321911278cfc586d8641b64d1ea4fa783fee600aa4a01910307fc4aec72f59f7f94bc56b7ee71f9a5203dbd4ffd2280d504fe53afbb39be81a311cbe496165c28d4fdc253abf8e586cf1fda92345d7a94c6c7b68c2efe1d142f90be1945e1a8f9c13234aa0f4e08590bf6be73187e2128176f0c33 - -COUNT=34 -L = 2400 -KI = 387dbced2ef1ccb70550964a2cb5e61a4bebb351c1789a722619bd6fcbc2987b -IVlen = 256 -IV = 4f3157bf5224f99fa5ac84e99c49a5618028cac1c5fe02e8f1cff1d00db29e3c -FixedInputDataByteLen = 51 -FixedInputData = 03b349cc3da3fac5ad79c65b65a97be185b05de66fc3ace5cab2e5239ed44a7beb208970a3f6a633999737934467bb48a440c6 -KO = 72dba60c4ad52e4d38eae127d0c038cb22c92b7e7d8287aa10f4ac40f40534d6096269420998293565c4eaa882ca39a000abcf7edebe80d82a1030d8466370b6a5678ece12b9dabecc8095e8ce0e66f72436149717559082be58d087ebb09f4e365e61fbfd041058d89dc784a28c2a5499bcb451ad3494922b3d2cc60a95e1ca3bbcd640a2e6e3a5861a682956a377dfd7f5def9cfe90f2a15f3ef601d54b7e8b34882b77823f2cdfdd8746fbbe7f1e6c3f93fa7758cd027e12ebcc4a41230791a72734e3d7de4498a194aac0d6e699c44b55baf00ace46f7982394924060856ba233b6de4167b713e73396ee4189c8eb94f8ee06955a442ae383ff6b5b2aa0f2e03431e2cc364910569adcedc9f7353f28177f522c85712fb1107466275c1d54ea6e7cb4cf213ad65b5ed63 - -COUNT=35 -L = 2400 -KI = 0f1d122e27fb970c8523a32f21040f3eb00688f406ca0472624248412888690f -IVlen = 256 -IV = 1066d639e2ffb95be19e8aedf70b21e38e0c6dcf6ecdca5881de10a04fb9b207 -FixedInputDataByteLen = 51 -FixedInputData = b0a02822e345f35fad521d7b8ff6e4b76d9a29413bb6af34fabd86e6e150749e6965b8e6cd9448c2f8f47f5a2b6af8b28721bc -KO = 45f8ea5a05a7f7f62dc8a613bd8e88275e53a53d6782c36cb1f7fe42e40506c00ea44bc34eab598150f36f103581564588429ba0ff1bf63138133919e263132dd31b437421e0cd804c4e9ee4d0b2fce4282c99b6b9aacc0c39e15676250386f3a06883ca044ee192bd3428cdb8804db767a15c6bdb57f5ddd08d0133b015f1972c6610afbc19c274fe226bc7f89372ff616011253e177e534e70ca748ebeb4545ba79adab7d5d09e2f615f82d6f4dbc91e3b74443deb265f7ebe0f8604e1b321d7f292b4f34208aff85c62bee82ebae43b166ac28f7d94d3c8abfc42a701d47db2118140e933a0797d42d97ce9c134baf18b897fda0f303879ef84191e6a7c0e83130479e30ba3339c87dd21ea60e74058b284088859eb49ab98d2bebb5600a3cc45dfb2a75791db80d69fe3 - -COUNT=36 -L = 2400 -KI = bffbde01e515651344b3be867c9a1f2fd1dab7b188282fe6a0e6ffefc24cf533 -IVlen = 256 -IV = df75b9acc4aa139a2a42ead757a9624eee98d2619d2bcc0a6256cabff6c17f2f -FixedInputDataByteLen = 51 -FixedInputData = 6d4843bafe59e8cb8f90f54385f9add681b03e70ada1a37de69886f5f28e323e0aeea42c8df3a76ab2e43560a7ed4adea9a3bf -KO = 01b0f852de258088b728556c38f262a5edfb7b18251749c5dcaace3235fbc61de0150885188012e880b4e13aa7e5bbb3435840cf99998883715c96ca3d6cd14db0567704ed44c0678aa5ca4bb8ba2731135daa03bbd4bea31d5cdefc7bdcca2f6126c779329bd6b7a386f15144a865c135189be638ff1dadb03094a7428a7bfe709c98e1e46809a754df92db00113fb87e49262091872a8411b901d6f92f368360f868be7c602d69ce1dfc9dc130f1d83c8dec909fa6a4e9212df1afd66c71fa1f2db183a7822656acd18378a665af8c0945c09264f4d33fcc4b6e9074365cb2ab833fa58c193c8dad572edb8ef812e541a2d87d66f6bd7d8419b66ea5aa0665e6f546bbea75aff3bddbf3d774f682057d9085ca31f029127d22ad4501b97709a2867581202659d2c8380745 - -COUNT=37 -L = 2400 -KI = 8093c78c6d43254e4de0a2451b23f76c319dcaedae2cb1d24237d21971c23894 -IVlen = 256 -IV = 40eb011f0b8ae445a440b2967a40ab01e0839858347bdc3e5b86dd78d1ea1ec9 -FixedInputDataByteLen = 51 -FixedInputData = 5f9551a7b9f6a7fd889b6e2ab6256cfc443f69ca4be4058eafe6812bdb38633e8959fbce6242f833c0b659192cd0615b492b18 -KO = 1749073674251b010a3024d8df31702f2c61abfad76dd8ec03613cba35f89698093b3be6abeda7a1bb52f5f61aebbaf33baacccf74f1726174df726e96bc946c33d6a7fbf6a66aabfd98f826f3419d45c130acf033474ea8d45622434a69f2e57b5f0aff155219833494c7b60cd2f76e87b39857799d9551b8d5ba3c2e7c8499cab2d5db68dde2e0e94e51f0a1f99e34228ba959ee80b3145f09c4f4e122c3ad91cace28a9a708ac558ae08ee3b7b6906a0e771411099013fe2c5fd2a2f195ade46d0f7a6d3c9af986a4ce53f659eb16a54621d4cca17cdbe20c6af0e2822a4e3fb8062a5a205905e27d2ca8fb3fe1717e9a4635b323afd0c74b376e53b9afd311cfafcc83cf5be97e4a0fc62d49b9eb45e0eac1d6d40a2c44a82f29b150332a0c18074592c6bd6f886c9c62 - -COUNT=38 -L = 2400 -KI = 21fcf1af3ad3981e5bc98386f1541cef35918ea5ae62c8602337a86e8c830c97 -IVlen = 256 -IV = 34442422abf7b66e93a78a0f24e319093fd008cbd848ceb17be9837e3b774dc4 -FixedInputDataByteLen = 51 -FixedInputData = 895676662f1f5c28fc52ee62208a0acb57299c668d3f025b4f0771601264dde6a22cc87f908b95929e754e0e1c85ed93ba6c69 -KO = 62025c36a56d543b3fa873ac238d7d077470bd5c9e60b459e615846980dbf964cdbd2d653e87dcec2f5ac2aa840818520012e2679af318e437c3f81ebd134b8d9d7533c64a6a11b0061d103840563c149aaa4343cc6234df094318a905071bbf53a051eabb7047426d84281123a9d0cd9e74e2e53dfe21f820ee561ba89320246fccd4d573025dcdc0e74ddc67b0558251810927e30c09960a82d8d170bf4ae8e535c6d8d433fdc8e641926357e40ea6d6af9d11bd0f2462a04a16a07f24475810381d6f91c4891af346ea89398ac94360c1493b5ea32257ed4383c84ade5bec555006de0f1a0ffc64986f9bda3adb861d8e7a553ffcb0cb4739c581a737d2e3927e10ea3756534de61e19a105c78d34ac4b2ca3b264541ca243e8a94239accdf3db35df7d296da0429cfaad - -COUNT=39 -L = 2400 -KI = 6b176a320553017f210c31cf0616edd37c8392a0dce0e3ff8006b120c04bd40e -IVlen = 256 -IV = dde82707fe5c17b27ebbb3283273038e9273a59a9189b86cd686014b45ddd81c -FixedInputDataByteLen = 51 -FixedInputData = feaad20f5ca048da0ed7b0a372f91cabd9d7ef4ab48de3be8db0f7dd65e17af7ce497f656353053b5f2e166c450329b551aa93 -KO = e3b25c4bc7f6a86b46e0240e4e0f184baa045ebb25956e14cf36fe2b800c5fa015a3cf31ff394791f2f4d8f0731fa81fd53764a106c30a395afe507433ce6bf7caa761b0924d58224093bb757255234c5d44d1311cf5215185cbf0b148dc41118b63606fd8ad219145821112b14dbcd84c5c73e714ff4aa1ba840495545d83680030e282930c48180ca727d3d223107399f146c10c00b3354c249db3ae1c00215aed2218ddc39aa91a4fdf555eb20f2a3d1e817fb5966d660fb2778780c5ac1e45594742c75b4cdc884eb709f1a66121f138bf7ecf48d5b89ed913cb815f8a8339df1bfadc6e126f503d5970d00234576a62687dbcf514060c7305ebfc772676f5ad2d14142955382b3972d80e8517ebea34cf1de79d0d9e70a11ea240c920d22f36629d783520c0fececcb2 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 93f698e842eed75394d629d957e2e89c6e741f810b623c8b901e38376d068e7b -IVlen = 256 -IV = 9f575d9059d3e0c0803f08112f8a806de3c3471912cdf42b095388b14b33508e -FixedInputDataByteLen = 51 -FixedInputData = 53b89c18690e2057a1d167822e636de50be0018532c431f7f5e37f77139220d5e042599ebe266af5767ee18cd2c5c19a1f0f80 -KO = bd1476f43a4e315747cf5918e0ea5bc0d98769457477c3ab18b742def0e079a933b756365afb5541f253fee43c6fd788a44041038509e9eeb68f7d65ffbb5f95 - -COUNT=1 -L = 512 -KI = 4d754e48d319e06c4322f27620b73d9760935c5ec12ab470c0017f959760dcae -IVlen = 256 -IV = 165878efcf059355f62dd76e70d7e0097b7308052650b353c692e081829199fa -FixedInputDataByteLen = 51 -FixedInputData = fbafc55fc22ba555c3e0a0605c219d4bccf903128f67e2e71422596e54390e8057b4101b6e96db9f7c9e57ca9891f56981898d -KO = a778c15d24ccf86277aaad32a2624f3d9ee7f5cb6e76271190ccdd031ed5ad3b800d2f5023a6e327517706648bad25bb2583c9bdfce8ffbaab06f82f71b71692 - -COUNT=2 -L = 512 -KI = f8aa0df08182be7474baa1849ee2d66d18325db62df95777157b6538e8dc7d1b -IVlen = 256 -IV = 97c5d2c824215390fccef733673520225438408031796aa134ec6c95bb6d3b05 -FixedInputDataByteLen = 51 -FixedInputData = 289cd35aa2496333e4b7fb60564df812f868ae426acd0afe298bbd0884a6d2c3bc3a034398c41d12e807b03de8ba4229cc7e14 -KO = 9ccd9df103d8da03810a2054c542b3e23462ca66b2f359e8c5da856be1973c27af4ae4c530aa8c65683dec1b0f952d901e23c736f600065fc0bc07a1bea8b3a5 - -COUNT=3 -L = 512 -KI = 1f323de106f253e42d0856a13c06d995308c79385f333e9cd836e77ef8912e87 -IVlen = 256 -IV = 74bd11c6ea213daa84d186e4181884001a03d3b7f4b2c5ffa122087c2b3b8ebd -FixedInputDataByteLen = 51 -FixedInputData = 9de80be444b6ba88f7b7d672521dcca249bfac4590c118da5d11614a51aacebefdd72c2d196463de0267ebfe05a11eb3ba88ac -KO = 8a9cbbb507d4895b95a80e7dc0e9ac74bfe437ae6db2e7cae1d99e724db4abc3a1e8315f607040c8ff56968b721f9ad44eaf622330a426c0f7b684902afd4dc4 - -COUNT=4 -L = 512 -KI = cd99214b87956a1bf66fe781afd97ee47336f0efcdc2bb3628e00ca2d2022e70 -IVlen = 256 -IV = 398582d12693f52a835d4fd7c3e2d6db95cc1c8974c6f9aa3507051f18f048c7 -FixedInputDataByteLen = 51 -FixedInputData = 840d6997d3c3b2d592157d1ee34aa54ff9ba2cce5a9428be2dda8d3ffe26bc170e799b3d1b21b3eff2edd593bf07a47cb629c4 -KO = d1bbf08109b1fde34a496ecb1aede89a5c51bc7e32cab92a4cd2c3923e8b3a026eec8cd8f445b0957a2edc1fcd28a884bd4e5ddb867ae11430f27795fbba566b - -COUNT=5 -L = 512 -KI = 2166b054e62333f9cc17cb822993f7351a0a64fa7d7cc117ba30aad02a4e519e -IVlen = 256 -IV = 5c148272c6450bee84f612822d0e87530617060d691e690201745de5362518ce -FixedInputDataByteLen = 51 -FixedInputData = 5dad05dcaf4a28a7265fe752c5ac26eba865db9f54c45d1236cac8ce688e13b09575d9a94665df80846f75fe0b5c210e6be1ec -KO = e56d6934d19bebb5bccbc35c897f280910a815610a7b44baab6d9198bea8897abf530855eefe01dc5efc556ccc262ec96904d9001a1f281f9c64dee194e50cb4 - -COUNT=6 -L = 512 -KI = d89d6cd2b5e76897f05d81daea68e335a24beb3867f8ed87b80419ba09b542fd -IVlen = 256 -IV = 088480022892fd431e2c4492c38489f59abeecb8042b1003da890edd32b3e37d -FixedInputDataByteLen = 51 -FixedInputData = 64bdf2665fd4632de0c4f539f69a73b4ef27ef9b60cce2bf67a29de4434d8faf332c232c8b14ad6c1a39715f51a097214c4d42 -KO = a5ec935ec60aaf4b6431b5f4b4fdc1b613276e5c30eed2802e518bf06c831aac9c11eb8361481adf7b14da296913c7afaefa010430f7172ffad17683c935c0f8 - -COUNT=7 -L = 512 -KI = bf96faf3f9aae74075636b2b5af7755a9326134efb481b661e15addbabaac472 -IVlen = 256 -IV = 5daa7d6d796f1de1fc6e900e2240f651d616a767e254dfc32710aefd5b93e873 -FixedInputDataByteLen = 51 -FixedInputData = d1e71ac6685c6423b981d13ac7a707edbc55c883ce07370bafe220769dbdd5f76f16332322355705b215126e119f8d04d8db92 -KO = c2d1e27eda670489a526cd143bb8dfbe6c5ad88a4b438f70bd0cf2aa3f6014cb121e6d52db438f2029cad03e2d76bed02fa2f50eaa345f46c7be9be7a9826ec8 - -COUNT=8 -L = 512 -KI = 69a123d514c9d1a7872e69e2dc6fd86d9eb580669273b74195390dd10130a1f0 -IVlen = 256 -IV = 3fd7c7a4f282e119a99778541b36acf9508c525db526cff8851a52f8127886bc -FixedInputDataByteLen = 51 -FixedInputData = 825398fe2bc9b84d484fec5854d9036c8172917abea130fd2e304ef2983d8bc36467a084df60442f7645af078713788ed5fe94 -KO = 88ac0de1bfbfb914a0c51b59dfe19ebc43a5383353351c7d947328c5d435979f40d41f63ec517416b552c2bbc0a3aef1100fbea23e0209d02d179524652eb2bc - -COUNT=9 -L = 512 -KI = a06fdb1b81700ca79a6085e612b583f74ee6a7a42ac5983564d36c6825b4ee4c -IVlen = 256 -IV = b831e46f83d5cb2be25b1dbd6856840ec70396108eaa344fe16c5d68b4814127 -FixedInputDataByteLen = 51 -FixedInputData = e5a1ee85824a7de1a8ea4980a26503883ddc5636e0c6db92c4f32bc858d7465c6ff836c5e7979b46de1a509e60bdaa248e6f54 -KO = 9e69d90f022cb660de14f0112e5ff26cf8e304a6284431cbb088e17744d06c71e29c0afd3f77762ec6ae1fbac7fda7a8f800eba5e7a970ef1609391fbd156f65 - -COUNT=10 -L = 2048 -KI = a5eb2ebcb9cc7aa0ee9f38cdcc18956a041714369acbcb722d995010f2b8463d -IVlen = 256 -IV = 11be2ef7753959c3c070d49afce9c4d09ad8311a14e03bcf9edc2c11fe6950b4 -FixedInputDataByteLen = 51 -FixedInputData = 8f71ffd48fe4680cb13582f5c977c99fd6c4aa8012378857989b52fbee90d358df1e58802db0a31f562d064a9c42cb44136ee9 -KO = 0aa2002a47da3d5f840bbb4fdc7fec52583a3d9734d8f69f76983803f10ec2872ad88baec5234e30f84022dcec260072a65047ad6ea7bb0646c71012b8684c0d7a0bd018ed4e23a289640a0d9c7c1885d310d933fd3fab5a20b1667da6e403a23909fac35bc1e80b7b82de2ed8b105a1a34a9754a954f95353d7c2f00a6beefed72ab38a7b638304c1b712027cd16d3dc9735db2fcb2f05712b490080c0feb94827bda60f0f47eb449eafb85380187e6df31c2f0660027f086ea5b5965e4d705ae7db9959a8e87acdcde604039a0fbfa72274b8339cdb3d53f432229125d20f3800db4351b4754742b2d6426a8e24076f349c589409feb45ff65738fd3d77168 - -COUNT=11 -L = 2048 -KI = 6c2f1b548ba2b031b60ed3cae6675f644d2e008ed1408af365d193cf1766d475 -IVlen = 256 -IV = 8ae9d4c573771b0885e7e3bd83e52607869960e83dbe1be301ffb2690c709b80 -FixedInputDataByteLen = 51 -FixedInputData = 462a8f77f36e22e10bb5442d0235fb27cd94bc83e9cca4d8ab1dda28582b8601d9273457fd4bdf3eeb4400f3b7823b922bac84 -KO = f9814201cfbcf39cdce85a58d7f223d08c843565ae1f39cbd96b13423297ee7694387ac7ef3ddaacb3302007cb671140fc9ea9209950ab3f34b6d1261d377050c847e7353012630c10e0726432016eef3c58ccc879369c8956ae955e41b7476768e114a0ba5e96a63bad2d8b57c880462df7ed0e1fb81e624d2fe539665532ec25c17895be3a766709b12f21bad8a6c3f1dc304ba34b266f9f5cbd6e9d51b2bd6d776d0a41d4900a185ef58fab0b9a1fde48aa2f17210f48877133ef24c54ad1e821927c65a28c7670050efd06b518eaa129ceead6e966e2d47c5cc00a325cfcbaffc1090e3bfb291a46a96dbb0a83c2e35ea3b476479cdb2d6a6fcfbdebd85e - -COUNT=12 -L = 2048 -KI = fa535783fcb15f8255807989afe445338054174e2775ebfc395c7ac258b015bd -IVlen = 256 -IV = 53efeae5e8486f59291c519c7071a7cb35e26b9bf929fe2b159b89bf057d0eec -FixedInputDataByteLen = 51 -FixedInputData = 24b3c3793fda1dbd5dd5f94e825c5ba80779f896ffc5681d65760a68bae2412e7eeb9f08341f2d1583250b4c90135158e26f6f -KO = e17ab17e4a149f78a999f048476270cb06239dfc76add01def32d7d6c7599b4f907a1483d9bf2543440f1c131d4ad736122e53017d3b25301c414d16b11cf2650c1cec0ab1fa10523c4164bc9ddcb1d9390a0308682ee28f2c05a720d03e3d0a17247fcbeddb49acf66488d9fee360045bd5d7c3c391553d22fa1efe46e58de03c1c581060a6abf976e90f99b3e8cd44d181d867442474ee9f8d14cad3c6dadfaee81cbc947184a7c81734df0596a0f7e9569dc164ff1ac428159eef6937e96fa7e0f936e2b31580f297295890fa7f25e3c91a193441c274a9c47f28d5c5676cf2763c16baa1eb87174bf725907163bdffbb92db95741c47826df40ff01b1011 - -COUNT=13 -L = 2048 -KI = a4497df535a863753b4928ce1dc8d8fa083b670213f377525d105c6b4ea89561 -IVlen = 256 -IV = 4a6ecf3802e1e0cdaf56ffb6d9b5b1b7eceb21a68f027a93e610235e8c508564 -FixedInputDataByteLen = 51 -FixedInputData = 60b2faea56d8eb384fdb31c1e816c1f6f8981da36ea463788e50ade39b17acdbb0559e1e6582300188066b1600bb727fc4d1ac -KO = 2e53c67053e07a2ef354a3e804f14170bd68a5583021ee278f43721fdf4cb8588718f5c1a60e15f4b23bdf70a170b6a1023b0a0d48b4665f4a4d524a075bc78fe4def51942c7357ac90ff5daa44aee0d6dd6398c0b1cbe2eaa8bed29266858ac0a80ac1435fc3d90c2da1c58c9814e772f9a7a08bef00187ce2cc16ea0c15738db193a4cf9c4ded80a7ef290bfe69234c9715d39cdacd3ad0457cc4e653cfad370db7c035bd61cfaddf2d927bf31238f78f4614f130931ad3e04f77294679bd62d9793df31c77dea1eed26c9870234d76c1711bf3788004abf1b0b0a10ac26b86a0df26fca75e66962b5c34648611e1878ff17d56e59f8d537bd8707eeb12e57 - -COUNT=14 -L = 2048 -KI = a2017ce55ff5f6a05ca18dce7792250281a733ee2bcc4d0b8bc9b1f3386f9f6d -IVlen = 256 -IV = 2a6d2c1d942971fdc9c7569274aec8b9313bbd124631a3bc5de59622e7f5dfe1 -FixedInputDataByteLen = 51 -FixedInputData = c8a99eb6172c65d394783e507fecc5a142614a0350edb82f48c8634475944fd95fec70cf31dacd0a134babc13353de5d9369e5 -KO = 583bca1db3a65e3130df90edd75e3e9293ac42eca5039f1e5ec5ee13cf4d726b0295e7985d3db67329e721fb61b64eed3992ad23a99fd145515a405561c50f41834bc0d120f31bb3863a3f33a2ef7571b16024248e2e0b4c0150af4c4afe92d9ba3d9422f33ac49f6cde5a88eed1c8f119071868da0792bd201a299c2b9353cacaf5c04a8e27bc9e78772896c2beb45e7760f0e84d8dab4965db398e32ccbf021323900eb0af0f9c409df209d0b9f4984866762be4b98691cf7da0037a5ae68e806f8c40ef8a38a77185446c2fb9a7f7bb8465e81f0aa57d208dbff8c16d24740f7290712d1c6355aa122a2b03b0003e6f4ff132a4615305545c91c55f9f0976 - -COUNT=15 -L = 2048 -KI = ec85b37c04b2b6f7dd46653b8834bf227fea9139ee8fb4c71ee6215fda785a30 -IVlen = 256 -IV = aeaf5fea18faa0f20ef5999edbf5b732bc5fa06764c5b8f2dc5e9c65327ff0f1 -FixedInputDataByteLen = 51 -FixedInputData = 51273077279b32f0b66ecbc8cb5cc7712962b832d2a12a2c325b42c9cd45cc634866bf6c1f79d7c7b5f5eeea09d95af0fa76a2 -KO = 60852b01b5635789391b06f756e84956c18a17726cbf5f97b05b6d4eb41fb3373a10c90bb3feb04ecb2285e57686152b31f09ab3c558d295315ca98fca0ee1d7eec426564b70b5fde16960f8fbe9b5722148c5764c5fe09ea1faccc5c5c3c16841298b8a3cfdb3c8ff61aab663e4570eace6e8bbecdaafcea675b0a55bb291b6e730a3c39ec2e65a1d1112180f297f709b55e0722b6b649c6c69dc4e7ec556ae59b352744c79789af17388511ff0caf948ef3e80fb09bfbbc89413c5a21cf7222c4e4a8c4d239cc4cc15bf41d67ec84da8fae0d71316cb9a21de95b976b16684746a57ee429e174b6ceac5c228f66c7f7b7ed1cee1d3dc8d00ddaf71c7a02887 - -COUNT=16 -L = 2048 -KI = 9e4c2dfd4911432e0932784a2b291bbdf7a2f449f8c856a219d242efc3b1164c -IVlen = 256 -IV = 6bd9c6ddbd8fabce82f4ab6c965cdead26614de17abb7ac5c9e377e4960ae370 -FixedInputDataByteLen = 51 -FixedInputData = 7bfac53a364dfa71eecde11dbd95b1b08391c9a17dc062eb6373e314be81f2082397b8c34e34992cd9032d633a84f111bc8140 -KO = aa9e537072d26ded9c3a46293db4962a67609bf25ca6c7e3d59c3813cca968a00320053440e0494c3de81a4b4c3f4de22aabc8e85627c574f98178bde51c1a9aa5022217d864daae51681c21e5f77558e64381f418a4ad1620220642f0c88ee1704756a1d61b6fb40eaa8c7284ffcdfd31af3242139d53abe87e3ad6a4b7ecd5704dd8d3a089a756825ce5acc7ddc6f78f12c4f60f9a683d0f486217137f55a4c1bcba1b5c91a75a6ad4d7cc48c33c124b42cd61035ecf84f070f065ac15c0032db5c1d41819c71f523e4cea52b3de08daabcc8f4fa12a6ec2b63d51ba55dd1ae00662cf28dbfffadbe47049a3e64ddf0223a137e632e67ead3d8bddf31638fe - -COUNT=17 -L = 2048 -KI = 7a722a823b867fc57661fa2448f2005fbf1c852ae9b59b12454f376f307a074d -IVlen = 256 -IV = 3d33e878c562e98a40acedb6a942a8c42a3adf7a5555a20b60285c94c6f18588 -FixedInputDataByteLen = 51 -FixedInputData = 8d6f635bdc5b9e09be763cdf61d58386a29c153f6d0df9aa32dc6e01141c66b989949a5019a7020c3c53420b27f02ed83bebd7 -KO = b92a4081c3e5af017781f4db6fd8979c8ef4bfb18e5f12b9b69257072da086226a472cf7cf5640bd71e2a69cc49856c5954f3d562c1a1719c209d4be25d0d664478a993a24fdc8195a1772dffdde4818e9bd7efa40b550a7fec8c25b8b423663848b647da4cb163a0e78c949add7e7b982d26cbae4015a98626500a6d82c2b3aa62c7862283463a4965f4a47a45680eea15357165fbf32322af983fb5dd5910dc7186824eb822c1f6c59ae25c6599ff9acdd7ad2d46141d83b7a8b1c3af6b1f669030c33fa6393017d4361c074a3d40fc904c8b8d463100004e3d752a63e19ad891b2b444c925731ae0e7fcb8f0708d86d2636525bf8930bf25903b1bf8d37f0 - -COUNT=18 -L = 2048 -KI = f90ebd0ac0383b51225d1f30d7348cdac677be4ed23720c23061382d0e60ac57 -IVlen = 256 -IV = 84795a690a91b81c069b47a6d67753518935a548efc8e9f57dfddcf254676ab4 -FixedInputDataByteLen = 51 -FixedInputData = c29f79f7853639163ab7008062eee10a3ff91ff92af0db1599e2afdd7ac983e685af7fbd33d98d6a9589d21b9a051a5cfa8e5d -KO = 18191d87ea05b4a566c8a990c9a15435879b0b69a88f5c1c4ec482b1cd3c5cd60297d7fa1a8de11fbf9b4d0d31c950418cf3ef3a28d619ca4ee61339f4dee5b8fb6cb82215c5800133e46cfd56d39f8fb37ecaabba84bee555b2c1a687904590fa7a62cf68738989559ee5f2e646452a3c5e72a01fe5a29d912df19d0c3ad04acd32be5362e373d65873188d6bf17394f8780c889b8c3325de8e54b64914b7847cd81ba78d2c363b298a8bb05b0268cfa29304b3b3e2e001f4cb56c4c71ac277a6d2b12b01f1dcb908ac29343ba8f19fbaf0c759f13d13c51cc9865955a99b85ff6a611f5889f6ce3dda07281f342f294a4d40599c862bc2772f5391a05da07a - -COUNT=19 -L = 2048 -KI = 03c53c0a70f6960d28a5017086e395d7eea41c610993297126f9d47588923299 -IVlen = 256 -IV = c3bccd7835c878f3f21b687b9730b321cfa1c70c5450b70eec191742e7ffc409 -FixedInputDataByteLen = 51 -FixedInputData = b631c2772238490b533b602be70f606b9d23e4e3aa4b602739441705e4483579f41c676544c0a3f39ce817b6b71f5f8de95599 -KO = 598d5b0c649801f66efa9a0e8b75d0080af5807bb539fdb29170b3d277dd3349e95cc320c156f8aacdc2ac535a81d5a0d3b9b7558af9e335e42ab85cec20d11a6eb42ca3167144c599b3cc772ce07269c08bd424bc370ffdf465ef6a51ba0bcfb0d03b9e74f0c86a932308b063543999b784cc6cc7bf2eeb28b219d20d6c069e76c6f55d21772927676b511ffe64908d30e51a9e09ee40cbee4e91c4c37d0b66eaa197732983eae89b1594b8d6eec34913d1145e4c243efa740a44a1ae6522e0651ea55491633c3dd8cdacaf4e57c03d960b5a5f0e1caf19e8dda1557a8a85a963a03eb91651a4761ca55ccd91d461469b0265969915442cbc4ab8f6623eccf9 - -COUNT=20 -L = 560 -KI = 1b54526bf504d073b8b798971d4c207914db5ad7569accd1853b126e62d75f24 -IVlen = 256 -IV = f6eae7a058a3aabdcd8f6463795c1fb13bc597c3d6573da94be24dda65f30917 -FixedInputDataByteLen = 51 -FixedInputData = 4a22baf5a7cfe6fb8c372f370e824d2a3357ebf0cfd0b1a2dc66c302b6b78a6aee46a4a62f27f8827551a3a4072d6296950de6 -KO = bf932ec004d422ffcf9cad3658c319d212e53fc576f731ba4c31b7c10b5d893c525ed655c08240b7d1ff62cbb91e24c541238746e63aa514a61ecde2b084c4e695b7ffed1ed0 - -COUNT=21 -L = 560 -KI = 480132834be4b6b8e2d275f8b22c889c480eb4a0e45c9ddc0db491aad07c1663 -IVlen = 256 -IV = 763b79aa877d9c9bae771d357e38e88edbc1c961ccdd5c1aaf5635cf6136ba38 -FixedInputDataByteLen = 51 -FixedInputData = 6b91ad4109ba96d3d4cce08abe803c4879fd32bc4fdbbd60e0203bd506cdbcdd63da38d5b3da5579c47622b74d8b9900aa2c15 -KO = 0a602e086f5c975c972af2670ccb44a557f732350e8ca38f34fefa047adf1922d8054b4404daf684c6a5bb1745abae8e6ab823df03c7c631ab0d2021ff0c9c8f0b1dc060bb5f - -COUNT=22 -L = 560 -KI = 96694495ac18aa25890eb8d4007bce2f45d5a339d07c1816e30a8bc5110f3e84 -IVlen = 256 -IV = dfe1af7526dc77a70d04948e7b24ddafee90ece9da5949c2c1f6fd8b82864b93 -FixedInputDataByteLen = 51 -FixedInputData = 2ee72a7e411e70f65b94c332f18451f2fdbbafaf6e09a41622f03accbba78dc3c6488e86ad5d9d8152cebaea110433686b08e2 -KO = d45582c8331bf6ef7aed5120fa29a323035be50bf728c5db8c195280ec874f8fefd6311bf9ffcb5ea32155872438af7c53b9c2a54ba96593b581926b21ce0fe7e1b2168e0678 - -COUNT=23 -L = 560 -KI = 7513bb220bfc2519cc1d626565c57961238ac4fdef63ffdbe14ed41e6b7ec87a -IVlen = 256 -IV = cff8bf3ef61a1ef26a648f1af0cbb352dcedf0f30bbb994d0f813a3eb6140946 -FixedInputDataByteLen = 51 -FixedInputData = 2a0b6d79267d4b56c8f69227de2be8d2058cb4b90dddf291df514bb4a0ce679515e5247248cb4cea6e53ca107ae39199735a1e -KO = cedba1d8ea6321f105057b5970040870f40d4564766341546a903293f1ffda06fbe3ac0b54085db7a65806e73399d641792dd7154ea2e54f482b29cd6a2e63c6347545b3965e - -COUNT=24 -L = 560 -KI = 841c0ca3e4d8dac90f2b11435dfeec5caeec6273a8a9b119f4d9cc126fd157f0 -IVlen = 256 -IV = 919f77a64589a1becfd87c0b14344e94ff11094aaae1a32757369f548024ba97 -FixedInputDataByteLen = 51 -FixedInputData = 058c9bf0c07bf04a17e63f3d50ee3db63690c87cb304e2149d06d599552e838689d0e200959d76478a1169e769d40490d31f61 -KO = f2cf8f789b565267e57156aff32b542cbcf6bc989b9ebc28ef243e7449d70cf3afd95269c41060fb9b30baddaf80436e3127cca9a6ed136bebb59048234d72b6ad167e6532d0 - -COUNT=25 -L = 560 -KI = 40d30e4d2fd23b0bf741697e0bf65b8103ec0af492f6a6d9649d320119555476 -IVlen = 256 -IV = 7a07faaa306233a60065adfc76ecb972af0eab1eb69020245aeca3294220652c -FixedInputDataByteLen = 51 -FixedInputData = 5fcb1e303df104c532b2684605a01610fa5b6be910c287881dc915bb96e2b26f3de952cbf40024382592f2bdb0fb8c6e93e9de -KO = e64261d6ab0f827e1bc4bf05046605d47f1ebb42ce8d8ee173a1c4a9b35ddd98b2956d7d825d0f530f79c7d8b42f60621160c45bd20ca843d8a7b9a5a79dac00dd345f7f329e - -COUNT=26 -L = 560 -KI = c182a728b0d0d05d177bfa6d9e3860626c77136bfbabda87768fbeb4f81c5156 -IVlen = 256 -IV = 4110de7776cbb2f0405993793cb872a1eebef40ddd23c8734ee48b5e6ef985fb -FixedInputDataByteLen = 51 -FixedInputData = 217711873f24abd157c3484d7e07cf232afb532dda1208762e5025c9262a4cf8ebecf57afb0e5d0828d931e52965fc36e26b49 -KO = 4dc9abe5bbafaf881b0b3c3bb1d0693fddf9facd95703561805f62b992d4ae09f0049fc14b02bbfdb8c361a46908a9386f4619bf3e518a3d4cf4a99f0e0017412e58761023be - -COUNT=27 -L = 560 -KI = d09be3f6e85a58c5e310ab069bbf316edb5b16a244bc0b8e7840e4ed18276fe1 -IVlen = 256 -IV = a87d451b450a5c9c4f157a2c0710f17081a5d85f9c2c70c66c9eeb320f666ad1 -FixedInputDataByteLen = 51 -FixedInputData = b4c5235e9bd8aa5ca75bdeaf9423b0be53a9ccc92c078d27424ef1b3ac006e1e5e7291ce535ea2c4095e0898bb03b55482233c -KO = c0fb5de061f83bbae88e6ce27412a2e7aa6a3f587d655628f77676cc41c074a890c0d31605e89c52f43ff3f924a445f1be8a2b35e964de0f4bad10a724e3ce74f53c1a99d8b7 - -COUNT=28 -L = 560 -KI = 833ab78dc0a2700c2ed8775c1565583895ab58760206675f25829f883dedaf6b -IVlen = 256 -IV = 14aef75054bf33d2e7417535fd8d9f8a872a8121d91eb5bf15f2799d2b5c7701 -FixedInputDataByteLen = 51 -FixedInputData = 645fe69ba5377ec8d54cb2a774bf45bd008f7ac491e818f1835dc7b03b2df5a1812cc76d24185e5a962be381dd2ed3f48cf30d -KO = f0025aa175fc9b880abf4f4ee741c6d11d88286f43d2fa8ea4e96b55b075227c1c84a5797da8431fd8811274c7071627c3fae554bd0d4cce9074e98f5ecfa51ba67704efcc24 - -COUNT=29 -L = 560 -KI = ad4599bc0b9eddf5d296ead77854cc5860c8992040ba967cea35d2ce6c59ed26 -IVlen = 256 -IV = 3f54fd5b8e6070018801b4b5c030b32fcdb7f92e62504998823c1289b1daac4a -FixedInputDataByteLen = 51 -FixedInputData = 5eda6715fa3bec5ef346673c80d940127248680ae2d37b26ddf7845431a741d9e00a75dfee5ec3b662f2ca3df2cb471faedb22 -KO = 8a1a108ecd32ff4a7b73682e9834b54a49aa75adab215a7a7bc80af1596c0e9c5e097490aced7afddf2681a28496e12204fea486757d9ed5aa18544de54d55fa3e7430f85e31 - -COUNT=30 -L = 2400 -KI = 3eb9043a57cbcd10e7ad9678688d7cab409de85b79d913514b39477d288fcb35 -IVlen = 256 -IV = 9a278a2898b8c805714f5c9256f4f68c6ca590ee84b9dd33f6c84d2c5928a404 -FixedInputDataByteLen = 51 -FixedInputData = 85e356251bf63a51367a057cfe12534f0c973c60f0d8c452b6f21a2eb70526ad31b996022842811ea4a2c3bbd02cfe55f9ef4d -KO = d901beab2299a0a7eb66fe8a21f0016ccd5705139e2c8128824833d10f504fa98f6240448e0eb3be45bbbce48138ecd4df7470a12bfd3d4507c76448f9a02fefed4e03d585ad3ff550b053b7223f6e4c6dd31d1722c5538092c4b5da46938f28d67311b66848c8c1f5dc6e6d28bfcffd11ad9c7255c831ce6aa55fe0d7df463589cb444072511f291539e740b68ea0f4feec7245d710bc290f08c8662bb85a34c6df7ce726568b702a038ae2033016832a0d942d50c209b7434fa01fcba4b65e3a58c9c545d9540d6c0a0451f6cdba82c8e33b716f2d09c7b3756cd4c0f5b361284d995ef135a5ae755095489e27bad2b758dcb3705755f1141325abd9224b2a1b354169fb481b836603c5f8e7bea37e21b6c770ee85a49a9abbf15fb1d48288a22295ae99c875b11d284915 - -COUNT=31 -L = 2400 -KI = 0d2ab5705bd897efb1965f4e27378f15c1d9599ed165edaa4500482aeddfb55b -IVlen = 256 -IV = a9cab8d023060f7d633eda56f96ffd2dfa9c4dbecf6efed803eab0a96239ea21 -FixedInputDataByteLen = 51 -FixedInputData = de1f46e446371fc5a73abd5a6280aed75ca79fc99b7a23e37b40bf8a214dfea856d87c525626325a70e8c1c4f4a8daa4f41684 -KO = 305e82f387cc310157fbbd557c53a965e3fa112a54bdd767f663677ffd44da42c43bc0100ac4a91746f651b01cbe2de193b9e64abbcb9bc9a66cf8b3fbd04f3de2ca7bebf3ba7d6a65d048a11fab1c5b93f1ac0766154ce16492cd4f9d90706e8ae5023b33bf2d6e3ea67859eaf506e6b8f0ef6dc9afb6a264df73d2109564398cf3ce55b0e2edace4d96dc609a9cc6c3b239d88d90e9224ab33c9b7552969c5dc749e8d7efca5b61c6ea137b1e9fc71007953f4ffdbcf0e64eee539f34efc958bad37d7078fd58b196989aba6c226706620f3c1c891bc07b888e33c6e84af75d65417120bcb8a76b5cba851aa54a43d39c7ff87764a2842402a3c35c04d8c12db4444b95bd22845087903b8f50f1fa77690a6563762ef0989cdba220825b694c2bbefc54f2b43a5d31f6e51 - -COUNT=32 -L = 2400 -KI = 2a68ff3ae63446306f48807aa1b746e8c886805f9dad8ad14886bd79efaf4f22 -IVlen = 256 -IV = 3ae02fe1bd0bcc74212172ff99a938e1ce64f825d2d20a19e71005bc147e1eb6 -FixedInputDataByteLen = 51 -FixedInputData = f163599ceadfb7c99b3f1733fc0a7e22f342c36767a8e8c8c075093c5a81317ae921f85b932cf743bb35f367d26bc6af273df8 -KO = bd9ebc6747e930d89fd1c9044405029fc8062ea48a2197ab24de7738007f6cdf82ea3727bb64de71ed443078a25fb1d4c8af3800f160abdfa77d9b695ad2f488f0deed3c902fecdc403a4ce0db1a924bad13b6c5a4c4c842ede97cfccbd933a845c96d85ad091fe6e8343dca742542bdc79aae5c0c58414f0876ba46261cb402fbe4f07d16e81c74eafeaf7a020099376e3e40f41704825bc395db62494a10762b23908f15a7f3a7a35637437e9eedd16c2d0c18b71007d14fa167eeda00b3728bb16d731c9f189caea01f9ea87845a35ad5f671c1303a4677d8c09c3ed197fbfa3fc91897b23b4c7c869f1d89aab31a51ff6db2d56039cf164c018599978382e5ceb6cd63fa61adad36ba0c79c294e4ac15e467493504d1a01c4bf1fb043523a06a91a5a2ea433151deb413 - -COUNT=33 -L = 2400 -KI = 62ba71fbd7d1854d8b6e4b7a472bc94e3ee56645424e4107033ec9051f289e17 -IVlen = 256 -IV = 17f94453ef4ca84a4dac07bb02b839b18b1b275ff5fd4bb18be8f646dad82038 -FixedInputDataByteLen = 51 -FixedInputData = c1ee79a93f8b2a19999d4140f4df6d368e190bc8752f6e283be616d5bf44e2bf9a77c6cffdb4be08cadf6f1ea6f92eb6a6c44d -KO = 874c3ab1d27ae86b846fd2d6848c60561f2ef152793e4e4148c0cef23f59acd9fa4587d6829c3f944de777bd2b1062c693faf3eb7f99dae6214fb010b7edeb96448a8e67d44ed9becc46815b6488947780ae81f41ee873d49af61cfca54d2b3bbadacd84d642ebd59c574fb6d8d8090c2d6d0317d7366b7fa6c2370bd9b7dc03dd363a6c3522dffcd8f9dc5945bba1a27a41d126892aadcfab8f28a3086228b48eb6934ea21378358befc50f3061bde2c2dd4c2dd10c4a22c777ad9a012744af3b700e98a2c9d467a58b7eabf66add1efee4b9d2a6dd8dd58bbc06dfb98a27d3191160162141056173d219eab09793d42748a42f48a6da6480fb39dbc2975d99134e94bfe8d8dd16a51d8d9166b3d70bf9e55d8774aa020e1b6356351efe953ab130d4fc71ea51400992a8e2 - -COUNT=34 -L = 2400 -KI = 5fb5fc777839c35eb10e24776efc579384f9d6da352fe686995dd83eeffe0252 -IVlen = 256 -IV = 4ef6d47ed944dd7b370d817d3fdb8d03708335f461bf6fd1a4af0853c9e767b5 -FixedInputDataByteLen = 51 -FixedInputData = b6a91dd52bc999917e9d2dd124f38746fdc6a83d8da6bd8db8cbd2b29fe30f375b139d8024e2c387747b23dfb99e9b766464be -KO = ea4711d67944a7829d47d50fac6718cb4956936a25e9a8a28e1e8f952204054b4080a81e0dec7ff87bf229ff966a172ea374a68942761253b2a035cc4c33a02f4247d4606ddb2be93d6af19cae9f190c1fd65ac62c7980e3b1ae36972dfd4d69b72fe06d35f494f3e40775a4387ac2c93413209fdba0ae49b0753335185a70073d1d81e84309c2cad17ccef60f8d5f56b1ac694736f9720d46c9d972291b4f1b17a299a234f8011b33b99c08df2ff78038c54d16d6e9cae90ed26255d007205fb46ac9eef69dc786b66aba7b4db98dba68177529566639dfd425d598a65894eb38ca42593761e959e03c8235d9bc9e138624d9da387a6a564cbba5cd42d991f1cb4a0a75a0ca2788a0528bc084d62b4c9fe44e954370c086522aeb049c2bd4b162a7ec1c05c13b41b9887ea1 - -COUNT=35 -L = 2400 -KI = 68456211b0508abccea48ae128df21700f81cfa4aaac8164ec63c2482bdc0e50 -IVlen = 256 -IV = 6994b87ef7db9692f5b64b7b4883297e1bf68be79afac04ba8b27626979e5623 -FixedInputDataByteLen = 51 -FixedInputData = 974e985a36f16bcd7687178cff01c8314f182f9e5d95ea094fb964056d989cf8e13c94ab9efbe8ed0634bd9ca480060ecd05d4 -KO = f55755536d9703b767abdf4dd09795434d83fc03f0befa93457ba3e5d22bc90e62f033126357f6c2cae707a741e66520c74e03801920ddd2b95236082fb0872d19badd44ed2aa4048546a2202071c47f94aee9d555e7f77950b167f8e7622ece447ef09378def636e697f2bdea8c3ef2ad7329eb2cf604f3739de476334e0766e4fa03ce4f5451b70c150942f49b7180f8c5bfbe3ded42c5da93fe96cb84eedd0755ddec7d08b4bacef19dd3261557d2a3debc4ab90c42db8b567f60ece88fe408c4ded1b1e927b92ab274409288ede22207ec1f969b04ac654307959a48ea4430d28c847f339ee9257b458db129cc132b035354be60c1d1c5a1386ba014f6ac5a42d480affe4f4e1047e7cdb47cad54c0d7a0b3affe9338096ce3216d826460b6efbf6594972fd93a4a42fe - -COUNT=36 -L = 2400 -KI = 3b512e3f0bc6aa576fe0901891ec95a68708d5eb92d67e5f32fa7ad886e113ee -IVlen = 256 -IV = 866d2384da09916e72dee00c10d49f21309fb47b5122488c37ffb2e644f5ac68 -FixedInputDataByteLen = 51 -FixedInputData = 059865921152e6107381a937327a2eef9949da7a02fb6c95c323f6147a7ac157d5df0162fc6f9968686fe90446cf6226875524 -KO = 3c217db54fd145102a8889476af144b3d319e623a28ee5a3fa7dd38c1cc7e4a163da1bc8b0bbc2b0ec31fc55637a9ea5db72f3921e9ebafcf647a88c304c6e8abd522c7ffbbfe841f2f85208304cbad680bd407c9fe13c4f396eb831774bcffc801a88786df9ce22d3d92c21077d45fe1b35c9e6caabbfa05d6379bcb8f032a191f1be5c27ae1fcc325269800f8ae24ecf9a67abff910751e11c6643670a533547b010de45c16878da5e4e0cf75cd66bfb8c7206b4d5a6f45e7f6d8d162104328bf93e3f460a16d2f66e353f01a4256c797b795d740f29af0c0b00c5919f6be106c4a81c8f45544dbd06b6e12ea731c6683d2d35eb96fb36bff41fb6f0d58a6d68f7a55729039d41edd13f3f9af5c1c39628aff4753d3d5ff729355fe574cee7f66667578df4a87b96bcf2d0 - -COUNT=37 -L = 2400 -KI = 7f5b74e83a7de0959fad68af066786c07b77a4a3bd2ac9f13db6fba7b48e8b96 -IVlen = 256 -IV = 5003831ffdb2c0af99a64cdbfca91f6820ee55866dd5aa350bd0d16aac3ec7fb -FixedInputDataByteLen = 51 -FixedInputData = 603746b49b2117206fae062f208e6fda2636c3131102cd7453563ecbd401a2b3c896796bcaa73684b85a6013b631beed6af585 -KO = 6803c83c3d1a54273a651ee2ad9557d226b7ad6cb217098876b2bc0a27ef851e190fb6f66f8cb6fadc68534c42f707caa898f4b6f8b233c5c0d2ab02dce72f7732ae704787cb9a54d4f43ea9f24d32e4fc3a571ee37a5ae8842c0536097453b54fdc210094704ecffec5d917dabb27f48d4963ac574e2ce20c4e8cc977217d6380ccc182a9f8f26337a78f8ac2e9fd16e5d01c842c181fe62ebdc47576ec5c7b21af50b1047b0c137a6ed946ec48666c7887aaf0b63f589c92ac37a8e8b317581bedf9842353df67c3e908d0a8e2b08be6b246f8566f7ac91c72d893692ecfa5cebd587d1d32b705765a26b868ed7d0ba452a3900a2d31406d8d02ad0c45f57898c5f5317d59b4d760af6dfb1def3bb7411aa77fa782025fa6baccc5ba91c87da2a11ef5ebe21fb9eaeea370 - -COUNT=38 -L = 2400 -KI = 37a4a8e14895fea4e53464594b4aa5f42359b06c5c55cb74ebfe519d205b8dba -IVlen = 256 -IV = 3c059efab9555232dfa881e0c437542ebe3fd31c4e1c9673d1c009c9fda10aad -FixedInputDataByteLen = 51 -FixedInputData = 638edce577979e1b4fbff7d8599cd4a5898e936297be4b83018169613cb2db927b1c4c91693c1e20c5d0f84b213efd98921d94 -KO = c3b82651c033fe6f96ea6deef6eabe140f0faa9863557183c39701dd6cbe976a7af16f0f75544a2f20e3400a82e605cf294449be2a95b6fa7ff2623ff73dbaf547a6a5217b95d00a478911bd2af0e89066a788d2a68ebc37cd7cb71653778278f8326f881a2a5bb6d04986cb9b53359c95cabd596270c1ed75f6ff8597c518518dc0a0e935e7817e8a8e04fe5a7c2205e254c3c3ea562ea14556e4576c8da6c46c66d14582f00f713ecaeb203dc756e3c6f78489e862fbf4b0666b4c8745a6aad17be8d50f026ce06b4b32194ebbb1b50ee75b58f99b31c7195280b832acd1550adc382a4ad7122a77fe8e789912737a556269736a873e56b944f7d10f8f00b30b256bb1121a51f0ac96fcf562f2cd238afbb1bb0080ff28015614347d14dcf1ba575575c9da2679bc357d41 - -COUNT=39 -L = 2400 -KI = 380e1838b15ea3b4c113dcbed56387f11629ffe42eab5be2030134b65ec6b0fc -IVlen = 256 -IV = 7510c1e6cdcb8ecfcebd34dc8458fc93fe453fb600821282a2feac05835e38cd -FixedInputDataByteLen = 51 -FixedInputData = 8bcae2aea8627c72c744d142ac78c9acaaaa40eb084db09c92bacf044e10ce85f112393f6e1d3f7fd2d564908e052c3bbf5559 -KO = 5fc2130a6be4b8e49baf8ec5de6ac9114dd4ef14e506c3a731c5ef6fcf807557974f4570668d7b64722b29d212f2c4cb9c45013a6b2cdded7abca932ebab2ad815684f3e8abb928c1da2c74c04d07f85356a09fb5fb9dcc6071881b6f47e524173ed417d2ea894f7e8e0fb5d67baf9976d728045dba93cfa085d7ade9053579b1c9570b50ecb721feca598655fea82dcd1850b2fc53fd2d0e8f36d165340812bc0458d349d457e3341833f496134ddbfa961302ddffb818a593dd51e365ea36d7a84dc5041d49b0ca2df6327946ad2849eaf458e024a45cc33733907f64aa84fe93fe9588fb124dcd3e80923ab2e6db16eb760a11575482fce8d9c60587897e0af51398d26c4a1c22ad53f54f2d13dc6ccfa0b574586f8e81f3eb0a64f21dea5dc8d8881efe35ec926820651 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 6b5f331d99b33cd3743f824d1dda321d766433b4f740bf4332572b90e9ffaa8c -IVlen = 256 -IV = ea460a2439bcd4a67ba3e7275d1a163d23c8a79a3ccfdad1065a873016b786bf -FixedInputDataByteLen = 51 -FixedInputData = e8935012eea2411a68e56f9e5054c4a2ed892bc3db59a077a8f4d4f00354ff9e153f3db8f4f060bec99ab60423ea9bd94775a2 -KO = 9f75b20c074fbbec479d48c9fcab13bd93848c2f1fa8717c143c7ae8d57f7719bd58f050c170480152f9e41168f81e710c76d7d6636ba96ab0ca1cea7871bbe7 - -COUNT=1 -L = 512 -KI = cb82ffb732d08801c4e0086229df6ef62a8003ddf543cbe9672131d5bc14cafd -IVlen = 256 -IV = 13fcc8584be0781d06368fdb132d36c5112e09fd7a45367ed5d51ef36ddbc288 -FixedInputDataByteLen = 51 -FixedInputData = 86cc21be340b0f01f1b60a3f4b3b7482203eead888fd80097d98ef5f62fcdaa600b9be5f95ebe38ca8fe5192723780835e84ca -KO = 4c6be0627271bb9cbb0bf900aa3f9ddd5c6c102cb4394b3e2d325e87629b2af3e13bc375f256fb3ae41e5303018ab70991cc24bd09d7e39620a3f363bd163a66 - -COUNT=2 -L = 512 -KI = d97f0c9accbcf9a51c3b518042974d251f5e21beb5dbb998bfd87eb49abfa599 -IVlen = 256 -IV = ecb64afe98a2bccf28cbc3ced99fd791233f785de2cc99036b4c58286dacc22f -FixedInputDataByteLen = 51 -FixedInputData = a5c5e2d251bcae9d163195b9feab9625cae9db3cb58cdeb3806db7fe207e0c95280fe49ae4f6d9a63d72cb4b894c91180bc0f5 -KO = 25b0dfc8e9636566ebe4b9464fde300a42cb648b0dba9433a9470ab5aa73c896f581e2b3ff9a07b4f751224540f79136dff1780d5374180d39a5aed867920584 - -COUNT=3 -L = 512 -KI = 63466a76f3de6df9d8556ddbb8eefda1bc11d7adffaa2e1795ce6e7e5497ab02 -IVlen = 256 -IV = eef81426f3ffa912943b9bfc9ba3b52d070541448790f273122504c885fc5009 -FixedInputDataByteLen = 51 -FixedInputData = e55bea87fa3a6f1bb80e2cc890ac7681ec05fd15885b0aea9b3a1a3920426cfadcd66b0c4e9318c1b72d8f0386fa488e5cd350 -KO = 86c10ee486e7320f440f9bc4b98c8079d3fcb1f1a0d93e3aaff523aba7bf523a2dbc44237124c73020185da6ecd6d88752dbee212832f909e131e4ec673d570f - -COUNT=4 -L = 512 -KI = 0c0110a8060a9dd3a961172b1f8de09f38496a68070cbdd66bb9ccab986e023d -IVlen = 256 -IV = f35dfab78dbeec6ad0fffb4e92ee76722d1c0c5fb537d096fab47aa04075f2fd -FixedInputDataByteLen = 51 -FixedInputData = d5d7b021e3929cd8e6c36030f30c6b6452b7d84dae263baba3afa8c593dc4bf392a8be2270b35938c3a3962b4a51480bb8ad9c -KO = b7fcd6ac81409fa140eef053780410c9ef9831a224032d12b53649fbe53ac314e58a4a53f367237cdd990685277463cda3190fd511d1695365fdea9af5dea292 - -COUNT=5 -L = 512 -KI = a52408e750f2cb03a27ef02878e6c81855ad7714b7943cf2b1100e6699629f50 -IVlen = 256 -IV = 8c5016e22833b590976baaf04cf9c32b160f91571e31208b55db89b05875fea5 -FixedInputDataByteLen = 51 -FixedInputData = 02a0e628c58620e7df69a19251cec8a137514832bb63a7073ce44ecc49c0f665c0aba0a8b89ea8488103f5579ea7a22c0c150e -KO = 15447c33343a606dd3fbc24ffdb0e70fee6b3af9af19673283326b03280edc5c483e9aee137242a319bbf65f81c22388b1d4f3532a628e218da8ab17ebc0e546 - -COUNT=6 -L = 512 -KI = 56b4c8c02bd8d7fd67803810af74db2d34ffdf561416b40ed3b95d8aea953fda -IVlen = 256 -IV = 086121fbe2721360a335d5fbbba12ae417b8234f84b670c52ef6fb7498c71c56 -FixedInputDataByteLen = 51 -FixedInputData = 94096d584fb97dad5699550244f0f420eebdc1054e6808aaad5685e3e5670aded019e4ca5ad01367fb61a15e55f53987e6a20f -KO = aaa7c134e76d71d5092ceb5cc77f6f199a8c9ba353f0b1fa68794e0152c47d7e2ad9aa1ff16744585d9bb020faf91683c2a690eeeebba1a7f08f5ac82826c252 - -COUNT=7 -L = 512 -KI = ac0be624dbf59284dee3d53bdb84ef33a8e68e8d0eeb7ccad62cc80248f9af21 -IVlen = 256 -IV = f39e4df5d18b1301ea9430b14ad440a555ed9e70f2fbb12160db1a31dc643c65 -FixedInputDataByteLen = 51 -FixedInputData = a86b8585ba85fe7799c0b1acff0df5ab8aa5688b11c6ef29d168509cb7132b44f01089c04a7c652eded0bda5423cee453c9530 -KO = 634e133ea77ee4ee49a88da5d8fef30246b8758380eefb2e100ce175a353ad9a368e9e6288d995325fc25f4f74e4835428b103bd8b8cfbc98596ca251c39413d - -COUNT=8 -L = 512 -KI = d580daf89f7f7c9afb85af441ac6bbce0adedb5fb60590ab9de759007dc25506 -IVlen = 256 -IV = 04a4035438b440be98c59bf4afe93cb45f7483c79e40a8b692a101479f468c05 -FixedInputDataByteLen = 51 -FixedInputData = 58f0003992b5c648463c4d00f2d3168b7f8bddcb632ff1600f579403d93806aae123963f83c28afa6b54bd2cb92b51c1519061 -KO = 012aa3ba30d779825018b34c5ee78b8069f13a95d2e32946317ffbba3132a6adce4324ea125dd24e0a00309f35c22811aeb9fc237f428fec6692daa6e6921fe3 - -COUNT=9 -L = 512 -KI = 51240e19547d9c9d13b6062337ffc0d331baef573be91602c96c27abc750a5e0 -IVlen = 256 -IV = 2d7d124093b50716d29430729852ef1646f24c15a075f17c824c5731491de996 -FixedInputDataByteLen = 51 -FixedInputData = f2c79bcf61f97df7beae824ddb4495199b4bd96e4e7e68f4121e19b0ccbb0147449cf74ae353919a635c953e503358bc24349c -KO = f46b82e3b48c56633fc882a267c7122decde7821f99caac92bfa4ba18232816cd3db965dfa2e0b084ed1a5fe44801de64ab72ae274475494ec991fd779b1c69c - -COUNT=10 -L = 2048 -KI = 53d72befcc350338e11fe5ac045a99a07d2e58241f11c75cadaf89ab741a5905 -IVlen = 256 -IV = ca8efd38ebc75078da7fe8a94404661525e2bd96a9b51a21abec3ea80f187ea1 -FixedInputDataByteLen = 51 -FixedInputData = cd87f782465ae7d63d749ffc89bae977b60b412f435bbe5fa5bf5373c9b9a93fc5b18ad039bcc4a83530ebbc4e626363ae140f -KO = 8ec3d3fc0ecc2cb06a6a29bd4fe9fa048427cb5266684f7a456a388b8ca66007ae13a2b11c73143e6c27f0fb2b31812aa20f5118fa51c203536d09a8d742f2c5c128f4a4636d2880af51bab8d1e6cfffb6f686459a7f4f5c64d3cdf279d931994d1fa8d4414dceadef0741f1b4a64599ffe2e63a538830eaf7b7dff00415a8410499808c45bf5b84c2e4ab516d182846423b212c08809a4b6710f2584f72a34129b7821d728b199ac1ebf54f7ed0226c440f4106d35bd85f7c03d341934159b1ca42507d372c02bf6d2bc45136b459caec9f1739b89dec59a2ad7fa910b9b52734d3a5018f8393477da379df9a25c3a9fc654ad08ca635821806ac3266769a62 - -COUNT=11 -L = 2048 -KI = d991e8aa63d017294ffef2e54ba21aca5d980030409d11ef32a8987ccf30b15d -IVlen = 256 -IV = 4eb9f05f404c558a9bffce608a626229608cab9dd7b178be1197076ee28b3d14 -FixedInputDataByteLen = 51 -FixedInputData = 69f4d6098ad6effe285af3c1580917b37b31e07687a338b189e8e4683731bcbe1e4ec88a494725d723f46b84e44e0e63b0c84f -KO = c8659fb0499d0a314554dbf0232bf437363ef8d05ed9f6f5647959de6e568f1572b03417d609f73bb7e76cf265f66394399dc7dce709071b70d2cc8527a6de7da0f857c83ec77683f120ec557f6427461b09301b27c48f1272cdddebf2576efb71a8596cf18563c7e59811d2ecc2fa97cc8d17f956492bb15821c1a01d528617e9f23237283d9eb228ea5451b770cddb9fda74da01e998a3083917f62e177a57376bf6ecefa09e961d705be5cabe4ec25e638520a25084a390dc201c317daf7732f39bf83046a32df927f1ffecd5ecab45795310140c9735189391e470854c544f1d58795638d705333342430504fccac16d4f5302f1422d01040c16d185751a - -COUNT=12 -L = 2048 -KI = 8d9a1e629222019a422b4d6edca8810023687fe24cf38a04ee50d67d167717fb -IVlen = 256 -IV = c5f56e64e8c67adc829703a2c97f967de21fef3bbeda9ada596833f87b2869e4 -FixedInputDataByteLen = 51 -FixedInputData = 03e97d1f5b12f0620c2f66c38c591efcbbaaeb2475149405a065a2aeedb99cbf12db08ce73d2ac12e8cbf589e0a01d503eac35 -KO = 7ef26ec48e627fc66be717f0b5cede04053061a50c2869dc637d78c17ab268bb7b954606a9e673ba1472a4051de28e7d184526964999f362558fcd44f9e8a5f8fab97336c826ca04469dcfbbf147a4670d2f47bf565c6f3da7e524c32e98ebf3b6f8d78268909b89eff085e91d63df7ced45798faa63c73b7f17815fcad1da321b20bb5bab287e3d69b3c80242991086cd50dc3a458aa8aaf1b714eeca12f039f8ab89fac4e68ef5902e5655cd3b20694a26606d6af532d21fcc598a2c24636d51371aa8aefe8e206404d1831cb0bf637e91c166717575a7e643bece53fe4ecdd7f0d631abab0f9ddcd8fa86434f7160ea71dda0fbf066201074a3f2e236940e - -COUNT=13 -L = 2048 -KI = f8ec855a8af9d6678310854b2044caf4be9334470c6b309884d0f80b1a48d7d8 -IVlen = 256 -IV = e100652609ac06bd9731b588a68b195b5753b63015c04e3bc530cc4503b26661 -FixedInputDataByteLen = 51 -FixedInputData = 4dd2acecb23287cc04c83fc9f4375833c6770cfbaafe7a224f23834f9e972750f8f1dbd7d7b79520d3b4d8068a41a652f9e6d5 -KO = 2150cfd1570e03f9d83d29498ebab17272fb5e6be8125efed90444d89ed415c76be2ce822b1d7616c295bb6f3a88f7df692c2440ce3cc464b5fbe2450d5d52df70b0454c964b45997b2012f9173cadcfeaa86c12b44891330dc09d4f26edf928e146edabc23069b1aae949106748c0a11aae40935b8891e61171a8cdb5eca99b1434e8ed8c333c6ffbaf804a813a232d5707cf44664e3e851ee5431449a0ca6670e5d822e5e7a70c478cdac367e6f339b84434f7aa07084d1771ab76c266baab44f445a075520afc5d1c945441e75d18f48abdab23f2e09fd7c94e7d2675ba947741003d039522c0c7c2eeb8fecc3d71aae09af12e023022a39e0add602667f3 - -COUNT=14 -L = 2048 -KI = f921fbefb502cc3c1d229a7e6cc1720d59f08c4dfa63e0ef50939ca41c8e70d1 -IVlen = 256 -IV = 6eece6f5033617029fac181b4d1549e7acfd68f6c677cba07c48f31c7f80bc64 -FixedInputDataByteLen = 51 -FixedInputData = fa195d626b4cd19a18a33e0b1b409cfef2259a83cc45fadac38050ddd4dc5603eed3b389aa4ed2edd579d9dad7be5dee8d3af3 -KO = 312a60216cf2cf3d2de05873396eedfce813a54f4a12b04b213875a209cb754d50e02a981c1fe0f97b94bc993aa8890ad621ebaea5cfc8b148f07f7019ab3ed21f02be6ac086d65f4ca6a12992666e120751813d454c3492a806650eda9a0443f8dc97bb82022cf20d2e673a575cbc65272f279eb859e2bfc42870cce6d58c50c6ce33f1ef6fda347fcee1f25916f24316c4677c9eab915f263fec2f9b0544ceb4c20fdeafd4e61f01fac66e2c1d3d5fac85779556f39e88633dd16c88434b730f143a5cd29724d3079b206ec35bdd19af28a2d472b5b75711d9c3874862316e9f7707d38c4cfcceb4548b9028c0b1957520785148e53fc2ef0b115237708979 - -COUNT=15 -L = 2048 -KI = 9b56cb4467862a3b4722a8de5a8e89bc36c73bfb490ba48a899c16d8eae2e063 -IVlen = 256 -IV = 77958c624cf076b5a6f21a79caf022e88059487ca5c012442935ef5b486482b8 -FixedInputDataByteLen = 51 -FixedInputData = aff5b65b0dfcc594a0250e38aa703668dcfdc1db3283bb12e98e84da4813c386a84837c33fe81f9a722f6607fdd8d736c789dc -KO = c73a04d2b7c3a0eb7c46df11df048aa9b6f77bd0e248c2fdbb6ff1cab2fb1deb1ae9a94aabd979d9108a0ca2c399d3474815cd4fcf94a8070006e1e789051e17fad2a6e364a60744919341800142d9e6de6c95fd6d86ffe7a5652b70c0dab10691fd42e7e9dc504041dc1921140180d96f97e22c962e647e20a06e2a57b07325eb3931fc5d055355a41abef133a941f009b47e5949bdd80ee73b7bd804ae765ec0054eb2ae5f1fdbc106646f436707f77465f137f74f6a22f684819891cfcc1baac5cccd753538be48c4f21fdc9b68e42a66377e1a591c0dbf681bdc11152768b8942d842265a05f40c75208416f856f71e1b55feeae434696a8e1e6863354fb - -COUNT=16 -L = 2048 -KI = cada04e6e145267911b140b53c3538a2695d3a49d3d334a6b388f37df47ab0f6 -IVlen = 256 -IV = cbd404166ff7ea3d856aadc046d9a58f3c37711be1e4a721b67de48d2e89ebf2 -FixedInputDataByteLen = 51 -FixedInputData = 100386938102c0703be7be47923bf2b9b255fba6d9afa8815e70ac0b2ce89882ec85d9780a06503fc49bd5fc195f78f8047e8a -KO = e1179daf4f597be5d70ad5b882396513ca77df636cb5964ffd8a087cd0babf2c1754585d0a970a3f21c45b8ee2dc080741ecf1dba21a65056413ee9fe98977886912972fcda1168c264dd67eb05e85bb7ebf8e8ae713fe3d8453e5fe544d0e6c43c63fe883ed342b5d21c865186aaa30def32163539cb60337ac2b339efc6f7dd80c2024653668b82ae183f8c5a331cb91d43ba1dedea595e88b049c9376da635b9da8e18ac490e92645cd1883fad33601bda63cd70297496ae61e1d602e91e756f3dab25aa8ca1463b3e60ba1f32204852b268b82ffecde15c971f0a27b22f83158e11067551fff9e4a65d07e387d34b23b75028ea81a0bd5c144735afdf23a - -COUNT=17 -L = 2048 -KI = 356299bf495ffd8c2f0424b5b2fd3f070da1e568c815d13b4ab56c402b86c81f -IVlen = 256 -IV = dcfd64d69b005518ea5732b376009f3204e88be7d1fdee0967d8f2faba2ecb51 -FixedInputDataByteLen = 51 -FixedInputData = 0813612a420a948e7a0e2cb50d37fbf8e1b093be31142e1fdaf0a4d3f6ab59eadb0533370779e3afae2635ba46101db2248432 -KO = 4616f3cc1961f06f3b5279bf1a77cd6e33f9a48bcfa6de077722fef7fb49fe893c9a0de4e70f25b0e25df11b1e73a4c7cffd391567d0ea6152d48c6599bbe2add42e6b4000e546886acc18e497cb5ebde62643202c015332f8ef63bdb2e68d0301d38476db003c13dd93c1300a9c8763409752d7f6604cb78edcabdc039aec7544c5710ad2d42e303eead0f3583d3bbb30a3f573b4ba87e85eca9ab090587b9d7ac2acf60068c2730fec462bc0837ae891e2bd5245a7331bffe9e17dc8f8d9c17c8202a212a949089b906c9f71f6d9df974ff083879aae01a6d9ad9f7cd5137dd81007027d7f0880dc3d60dcdde8a96cb9671778d4a96fc4e1a7d7648d6a8f4f - -COUNT=18 -L = 2048 -KI = f4b76767d399e9723be553f8193483512fa8d2bcb9a46f8083f4bb4739367e11 -IVlen = 256 -IV = 032c0a3dc864a97071c28dbb37fda6566882dd0c989a231f5b411f38dfabe91d -FixedInputDataByteLen = 51 -FixedInputData = f64722e2397725435bb0d751487c3a6737d0cd876169696516af8bd0f1a335834b4c52bbbe9dfff3549aab1030da8405bb1e7a -KO = a30998e7be7eacb1f684bed54afe98caec4da959d643ec9c105307281ffddc07e85c418ff701332a6a0019092ff538bd6cd468234270ebaaea9d30e580ae786630e4a26eda0080085549d93a695ead4dc61053c3b324ffeae06e98e510cf6de67ff898fe367fa287dfe1dac995e21bc0e5a54ffe561e1c7b9a1334c4c6f00c9c37b42a3fec0bdfe74ab4d71b16551c1943c9fb96b1c59a399ec15905f19b5450a123f868eceb53f442aa9c9c0c433bab98caaad46107962cf3f5d5876041c3e152dc50de0c0d0a0bd61700eec8f88970c9a001507916d5bff02f82a440381913d41bea6622c3d970e96ca7e832599b3c72a50917356dc3309cbf7fbe4dbdc021 - -COUNT=19 -L = 2048 -KI = 95642b7de295ceace9b1f8eb4ab6c50e3f76eff233937eaf4e75b3bc10d25bb7 -IVlen = 256 -IV = 1d80c913f77a71960f8629bec9951abac8456a092396f6c08925e4be956c6da2 -FixedInputDataByteLen = 51 -FixedInputData = 0f613f4c889e6c2643d704d36d63a46c30b853c4c5ba1f1d74c5a7fb1788980196776991232d2587b12ad240b6ab12aa17a5e8 -KO = dfce3a79fceca70738a55874f6200af83f1182441fee8f154896b3372f9832f8386ce4e601f5d3530af12c19b9c4b6b26b155b353625f48df273d394363eba0ca4d58f7f149b114b5cc115d73dd134ba71929eead6f353439e745d8813d9c0b81bc187d3ad369f87a3526974944f4f504fadac77d72704e18810bbb28657afdd2b72f6d723e52c50cbb4feca382bbb26e24c1dfab779179efcc6fc31e0d14c3df886da5dbbc1a14262700464cc49e83d4d9df40a67c12743a685a07422e38b2c0e0400a7410c2d3cb1a8e6a85c4e38a8f9fd6f372f1e2d6efcfce41282b9f4f701db173af544cf1edae8882e8d9d872905858dace2a16065db64e0dbcaf14a34 - -COUNT=20 -L = 560 -KI = a144d335cc15627ceb879f976b8a2a1f3e2495a18262b1da870c976edb7f00a0 -IVlen = 256 -IV = ad4d9a5fdf6b30ba3a3c999f2017b562b0558d13714022553e9e7ffc7c68200d -FixedInputDataByteLen = 51 -FixedInputData = 580e35bf1fae500fd28e246108c1dd8723648ded45f69a72c34df50cdb5d49c1c5fe83becfc6693d7a3724ec6cdbfe6071fdb9 -KO = 137cb3e358ad7226f69b9a0b97b9be5612d175e0f6a8f5a7daae6e2a0db03bf2cb2a6a93f954ce85e929bf787695d82ca385c2ac3c414e1166b901459383bc04c0fd36f0032d - -COUNT=21 -L = 560 -KI = ef2f72ce9a12e37f53d1e7d23be5b7415834dca4c13dd3050931c76b6db0abdc -IVlen = 256 -IV = 0b3fb0a83f2e6101b4844af873db321e3e1214f84bc4b146212f4b5bf130fa77 -FixedInputDataByteLen = 51 -FixedInputData = fd7c29348938a6c6ff76b47ba35c3db5f1b8dfd204332dcae425184206b1565500893f5e403eb1e8053174c3b74d84cc50d2da -KO = 3227b7c2bbad7b9c6678e08c809927a0cbcf3a913838cf631140a495320d87b53e645965d2b04be73cdef43714d420d26aeb667624c7d55eff34c784c4c3d86ed831351fee6d - -COUNT=22 -L = 560 -KI = da2fe9b431db2fb57d75a60a2ba808fed5d65944937070d64c016f182ee87d8d -IVlen = 256 -IV = 34c07551b65e548944f944f6e7195acdfbfc42ad0c2f61fa10089772b935d85c -FixedInputDataByteLen = 51 -FixedInputData = 9276311abc43771de60ffa8e9ef99fa2930b1cfa259a98ed774b6f41c4ca8164a22acc86355953e980cf31196e53540a73b03d -KO = 0bdb906f21fd2c88c56fce1bd54d94d436ffcd55d47025387d9644f603372f72892dd7caf7ebe270576d0d81990d5ede310869a625d17791b82de6d16f95ad38b6e5502ad3b7 - -COUNT=23 -L = 560 -KI = c289cf7dc34f0f5f8004d6db66ad6c0adc482173a4bd274f110e8dfdc87592ca -IVlen = 256 -IV = f378118a33aadeff97f045c14b1f565f165db154c5e248a36a59a623c1ce751c -FixedInputDataByteLen = 51 -FixedInputData = e4796daca975746564893c52ed120374c8da90892f35dd22871da683375aa69e2d1e7b8e6e66dff13e8f0de3a02d2f0c5d70ec -KO = 68ce63206a43616fa86e1f2a525ae64204317ea8a4d36e6b11dbd6a51e6333b0f28e561260ecf0666f3843a08f049571912079a1032b6e508b6e5be307ee01f13aae16366cd9 - -COUNT=24 -L = 560 -KI = be0f0ebc85a67a511dc79ea4f34eb1f6d4122ef3866bf80595c7e48d75d8782c -IVlen = 256 -IV = a26f8e5d832de692468f7c3574fa364d603eaa96de0910b8a98b71125dfae192 -FixedInputDataByteLen = 51 -FixedInputData = 71da97639d30238533af1115e35a404face2cf77a1924b87268ba6541076ba7261004955605c3543d14f2500b917b18600b57b -KO = 727399f39c57369ddf5eddff8b52942537539f14fcaf17a4ddcd9fe5110d93fbddbf07933219f7e75b7cbafcdeba298d790ea2a14827cbd305cdc3413839dbb6960cb3782f17 - -COUNT=25 -L = 560 -KI = 35c141de040d723f7d34ed6d9f4b458b68d863308961afec09e6fab3fedb4154 -IVlen = 256 -IV = 7ff5ad71bed7f5c08546c5cdedb51b45e6d2c11cc10cd6d1a96512d7b119b99d -FixedInputDataByteLen = 51 -FixedInputData = 137c4732fb8492b327b37084c39950c4767a2f37a24ac63590b2df68fb6db01148842bac8d5277af535d91bd5bd6e22b142d39 -KO = dc25e28682add6f2399c5d56b670965c4972a5e9a42d671b8b84d8ec5dff5f758ad1504df63b3c84e10dce520de4c29353f858e66b2a370df7c24b8a559760ff08f2dc15ee41 - -COUNT=26 -L = 560 -KI = 40e7025560d4d9e3c5f91bf08c16dd5f488fc2e7b4f0f6fa8ca82e92a165d009 -IVlen = 256 -IV = c0840933a1f1da8bcf54af07f2a6546617dc16a9064be5dfcc874786cd0d832f -FixedInputDataByteLen = 51 -FixedInputData = a8e47e1b1b216c19e1bbb2de7701725911ad3be33bb4a598a389c37c4c8c821e911b48b2e41968f3e797cb7e4ffee427f4bd66 -KO = 43a50f10d58b630f1c26a975575ff3607b58f48a89360f371e18b020ec02e9930af6a21736662ea6bdf5fbd59319509224de45bac9a448865262be9a28e94fb8b74f2b3f6651 - -COUNT=27 -L = 560 -KI = 405b7f82f52211d411c4a57bfcd35b4ec53c04e9e37faaf663d100695f203289 -IVlen = 256 -IV = 73ac043ab16a1ffaef3b41713e4c4c95395ac673e418bfdcc167b500786fec7e -FixedInputDataByteLen = 51 -FixedInputData = 3deaee553c48e0459b099a0f495d2d3de6af3526b3c2b03c274272a44c365dccfc4fe152d67afa91f9d80b988557b7ddb9b583 -KO = fd9f155aa5379812299421b8936f563df05954087b740ba1f8451748452814f8a7e5e11d3222dcdba42c56fe1571d6d6251659916d7338f29b72495c14b927986dc4855e9907 - -COUNT=28 -L = 560 -KI = d1306d45486e8bde8ea12f41b48ebc1ea2f324430d4a7ba49d73aaa4049f913c -IVlen = 256 -IV = 36644f5e8a00c312116ee2f44ca0473fb5f19caab87c74cc724af07e28409ab1 -FixedInputDataByteLen = 51 -FixedInputData = d04c685e1268e0c51cc2b1535c35720853df6a25a09534172668bf35735c22cec30a5f390c00a0cf4219cf69916718d803d913 -KO = 2702b6dbc573dada1d1b9202d06eeac0f3ec4c96ce28c4354c7c40c8a478a4a57db5f12a4b44f3341b90f590e7c927db66af748ebe8d06f14668b01ed5f6263847b0cc0ab75b - -COUNT=29 -L = 560 -KI = bb6e3c59bf46392ddcff9cefc17a0c970e2c847d31ca99b004ace7d59484b850 -IVlen = 256 -IV = d0a210c77646728c92a7f4c13c6ece02ceb0da34494d95894ad51076d2a115b9 -FixedInputDataByteLen = 51 -FixedInputData = 891a3a03ab4a77615678db29da814dd684769447569ca17667a9bad287a1680279c05f77f7259faba07242bb2f8f1b3155f0a3 -KO = df0ba44d4a1cce424fd050a78c508b9704d1a9c1c392b557d4874b779af9b430e10d9399b1aa2fbfa7a93cf9a565e449eea68d178c8a2b5160e200557c2a109fdf2fd931ec89 - -COUNT=30 -L = 2400 -KI = e299100a97d258cfcb8f54485383a2d46d52011a5869b728f0ed549d637c2a5a -IVlen = 256 -IV = 070d4e9a6c9fe7094d5aa757dae27078c84240e0c4e2b4e3189fbf791f4b9848 -FixedInputDataByteLen = 51 -FixedInputData = 9e2e6f16a6dd05674a6f4a7efb17aca778531ae7c2b244dc44f531b770da94dd79d0bd16d635dcfdbd495ef03ee80ce64c318d -KO = ba1669e5a6990159e1e903e99f49144df4be548db8550ee3cd93fa6e28cd8bb280b9383ccbec827cc19a7fea4f097cde536dc1ca07bbd9c585d179a0949db18e16fa2ea42d0e7271197dfdeb34225a562cd241208360acbd340049f0cb625a84bd0f2def49227bdd603850e087fe30d9e68144222bba5d967e6ad4ae3b292dead352e8afdd424905e0f8c74b2747cb6a6bcb6909f636d523d9b3ffced3d240d03504f249c408e950bea6db47fa262c90c2d29e9444fffe953570b2b156c46e6c66e42484ead3d6aa136b0c42d9f93e3c99aa437411041b43a7d139a14d1e6f1701b72bbfdaf4b7e6add20cbd7209b86339bdc69fe732b60282edb0342e2ba7cbdad51ceb50624d58fc96f0c47e4768dd09d88f8d345419224b5eab3422a2f4cece786cfa2d3d5370fad25f13 - -COUNT=31 -L = 2400 -KI = 656a038cf96620154b88837572f980236a531ca6999f85e7fd29eaa090a883b0 -IVlen = 256 -IV = 46db20c35204838d4ba4fa02e51569f840f368515de595ace9634594286658f5 -FixedInputDataByteLen = 51 -FixedInputData = d721346b8b07ae58569cc316e98c9cb78395788e45249bae7e92a1c1e3b3bef83046dbdc3a40497535596ce815964a9341a12e -KO = b5f2fa451e567bdcb49a09ad6b4fafa994691fb9b762240b17042ca21dec2553fdee8ac3e87c4b5db51c282aa739e39a71f7744470163985da4b549119fa225541a96fdc8592f5f55ceac36bd85bd31e05a6ed46747599ab2b313ba7e2ab45d1b078f1c07446bfb33d900f7cc088a4c5f72ec6959dbb49f493a59a1d6eccdfef7b20a31a11f7d0dfaebedd7e5617aa2ace56d6aee37fea917b54d66361bb2d9d6d7380d600c4ce50bb9de91b5d9002babb1856d30640fa8be28d9e85b345a115b3b66dd5602f2ee67ee17f60c5a8655ca8e3d3ea901404a631c30964d76d0eae25f334009391e0ec477b58ab02139ac0adf786d7f0cb7141982f0b24744e10c965422ea82515c94ff03aff79d9775591680af798d16746d5a7ca689915ccc7f397a003c255e311ab883b21f9 - -COUNT=32 -L = 2400 -KI = d1d8d5d765307a093c5d0dd4c4f63217016457e2a2cfcbb9fe8479abd1502037 -IVlen = 256 -IV = 49ba8e7a4e679f8e7b9adfa9d02cf884505d704724e554d6bb8100ea66f7f1d0 -FixedInputDataByteLen = 51 -FixedInputData = dbd59f88339d338ce39f0079b20fd4424187326ca4c1657f752c6aa97d1ada012288a47ed773a7c27b82b252c78c22c380efd3 -KO = 3a698e7573d9a41240b59b8d42621aba496d250155b6c66dc2ccac0af2fbeaa534c6a40182b90cc23a8531c3a15e83da3977c45ebd21193bbcc4500a1a80a405c07677efab41fbed1d192da3e17d8507080fb6174b83f62479f373e443a4efd83a4142dde0209d44f94e17452707e8acc63b71ce09d88b8f0a8ad8dc126c6f4c223a37da1735042fd6b33ed4e441323c2b71e10da20fe0dce60dc545b69fe3a0453a9427d55a8b9d322e6ad0cb4ff9d167269fe907c8dac76bbc3cae3b3eccf3299071aa8cacb518c959e3da095b4ce728db065150f80a965079e2d23077daab9f8304a3773938c64b5fcd6dca25db792f4a59b645b4413083adc90e8a27ff17e92eb58916682dd720fe162027c1d805e2f5aefca8e074a41cea81cc9268d559d1728efb62c68e61acd34322 - -COUNT=33 -L = 2400 -KI = b32ee7f1d5fbc0f62405862d00e0b7bf3bb36000089996fd0adf069b353c4998 -IVlen = 256 -IV = c6445de8782e6a95b13170356250c68d84984cd9a8dd48d09d37a4e58dce2e3a -FixedInputDataByteLen = 51 -FixedInputData = cdba1766fec544015995b22d5b039b6799d87bbcc368112423ffb3b9d1f1e7d3edbb603230626fe95f11cdc8b8495cdcc30db2 -KO = 6732c7cfd6e16609fa145c072dc7f99abacf04d2286c8df27210a169a7acdc2327170c62f5bf3f1ce3535d37297e83fcb3c6ef77a74cddaf75c6be55af13d6e93ffefb965a26f601450d9d836b8c885230296eaa0e8c07b78f4ace09f0992386cbc1ecd2351ceabfeec0846857a2b90fbe80e43155439182b06bd759715ec8bd91733d142f64579ce852c9fd5e8d9dd0bc70fd0584a938bc052ecb273fc7af0ebe658b18029d530c19ad19a0f99ea2852ff467802d3a49b33902d371ef0a566d8f9f2e57cece8c3103f57573ba5516d31a2869e6f412ff16d4acb8778928da9d3b0242d062c3d54ba3b1eea481e33206f5d53b1994065ad667d1679fb56c67a2218cd1f466e911cc03a7bdac80335b3cf5c7b78d6199e79f2e807603858eb62cf0ef95107fe0b777a2cd3856 - -COUNT=34 -L = 2400 -KI = 26ff6fe3d217ff5974aea7422a01096d003ad3549cd38bb403db3abac85e62e9 -IVlen = 256 -IV = f8f9f9ee0240786876b9842e7e8586d73ac2862f0b990d00e6b55d26c6263595 -FixedInputDataByteLen = 51 -FixedInputData = 2b2a7442dff4cd5f238cbb4ba99f7e8c7b9cdf360568c2084e6f47df0dfa41b353d4617e58ab62b06573fcba4a83eacad1c258 -KO = 6d7b6d73cbdf02cbeffb9fe593b081d7db6a8d3eb857e8b4142723f249b623496cc55933cc2dd923fd8032de93ec6f1bb4dba303873e567e524621d0f759727ba6551f00589aec3ad2606e4e650055bf67095cfcd526755e57115585171e5dda58bf8ea03f886f6965e0a24a77b599d2fce3dfb2313ab57ae40cbf62a63f6b778a58a90fd1263e1ddfcb863cb44cdbf3e137f5527b9692da491a6e22c84ca60d888280d0f834ff643d1785d05a5ec66877c206137a8f236cab972f7285112c74f1e948f89e009556d26304f4c37d9587530b5723404e019ccc448eea04a0890d8e257b92570972131b93107dad046d15fdac0d07e3088df44d6a8b6d8567c551a799365b659073bae71f347543899b4ee6da5e753df3e192e919093017bb6b66942ffad329327e869913816e - -COUNT=35 -L = 2400 -KI = dd1e74d5f77222e0346beab86a660f770848e6c4211dc962c1dbfd3c1ddf507a -IVlen = 256 -IV = 8228558e9218a0408a864183119f229259658b51beda2617902b6a0041c91cfc -FixedInputDataByteLen = 51 -FixedInputData = cd8724fd11fabee03a2d6b11d9cd9a3fb342d564fda8aaeabdcbf8085cb2c67ecd98f74d4ab56f0a57728bcf47b6182afddd2b -KO = 7db0232ed417d5e4b8660acda5f0bc1a13fd04bde900ca5f4bd14d95c1b302061b8b741eee8641c8178918f2be9c290c36d83810e4ed668d025259e9c7bb0afccdd75f8bfddd83f604d1d6bba36903e5617be05ae913405757368f53616401e283c93a5296e7335f2685c128363b6ed9eefd1f4657524103cc778cfa5c4017cebb05514a9b696f9ab7ec2128c284dbf78d273b8bb8746333b0a75576ac6212485aa0faf5ab6bcd930b0fbf956e53e5faf966e1ee42d397b03cd77229ac1122a0e7009c61485aef6951026689487bddcad388283cace38c4c348681584267212376bbfba1f8c1ae355bf7d1cf707e7c5dab77210bf312ebe8bf56b5fe3cc5761be99f65a206cb6659d273222fbdf784f1d01b68a26b6c63bf1f44bac2c314445f7997ca8ed96f5bb367b173f1 - -COUNT=36 -L = 2400 -KI = f96359ef635aff0cfac0e560776c5dc47dd1834d233793eb4dd20f6895585d88 -IVlen = 256 -IV = af4813e23d037f7db8298ade5cd1bd54842fd2fd96a84177336e5d7670a299d8 -FixedInputDataByteLen = 51 -FixedInputData = ef92cdd26a2199f03226f06b6937226aa805533c1146bbfa64014395c95890c1968d3be2e6f1a1daaac9b46b7ba32e42d3e671 -KO = 469f9146a7540feba92b3370f63a7cf5d846c8f9a40b33b57e1b645df79c132d7ab99fbb4488bb9349ff8de0ba105e0c25ffe597620bcb9236318e4f2b37f4492f50385ceba93fa0e763ff5983622710bdf6378035c8221862a6d0f68e3fd70c337b093fca80e5c172956b028a63ef08db52cb6bfe6406daa9259bdedeef87f22ce56651bc48932a93d371506e32b7102cd14cdeea582bdf65d193cd507e8b88944ff7889b034754203092071bd4c9651ca87aa0e070579588f73d1e1308bfcfd44b2590d90e3667b80accfd890f2793b5960f6a914f42465183a721a3d93542e615070523209904037fd2ee9980e4cf7fbcef99738e8a9869eb689b2de0cdf89a30c2838d93db1357c1988665c9e122761567424b6a679c60ec354a93c81cbaef8678fc76d4d17299257e21 - -COUNT=37 -L = 2400 -KI = 53c9e3fbde27fcdd25134d5609678444786c6020a166abc0d4218c72f15fd9a8 -IVlen = 256 -IV = 75da2a4110dc0644d7a5fa00798d20daba7e536597ebb95d6245b7a8ea276118 -FixedInputDataByteLen = 51 -FixedInputData = d9689049de3d7469ba723a11c3f8f72f89ab6d65cd5c0f85228689a8ca508ce37d36e7e41e4d21440a6977b29815d8f4c7cff1 -KO = bd408f8be651aab315c074a379766cd190f2223344b1b1fcaf0b64253489895915f2a94fdcbd501fa5543ccfc273d665c083589fe26e29373d53b8a7eea7c8ce89208c4f16f0dc0eaa1d6c21062e0f77cea549ff06f0df3b0c17df2105a31faab11ef2545c2efe16e2da575ac1155092981dea86d92986a3089070af42bdf855240d1ff529ecfa80302fe3ee4115c329299893351e0a46d70d597f3e7fd8bf80a79396aa166738cda9fb4a9b7f71fc638df5747f091ff9db3c4211a465e16ba943448459cd91b3376a8f155baed6b6f406e947147b82e177e8eb1f5bf2d83d4ab2b3c87b7aa7dcf94fb6d5c42dd533df7dd412fe333a54b92a07d9e13b91a634762fd4e74e5706f7f2368c1302baaff84f1a2c29ccfa9a55bdcb313bd8791e17b2bfb82d38da9f901bffbfe8 - -COUNT=38 -L = 2400 -KI = 47ce39988870a5c88e729fd58684669ff7102951f7e37e9b73275ae5a6fb849e -IVlen = 256 -IV = 98baecbdc1a9f77a1c287aa7df48ad2a41b63b62093117b4c7ab91eeae06bccb -FixedInputDataByteLen = 51 -FixedInputData = 8d21451c6adbb5b693412d969ac765d848714d18b9c28d1fd329a1e1f08f37bdd30ac6591d24bff283f1b6ef3ef6ab7833b284 -KO = 96095bf0f76071f0409a9121dcdfc00e4d1149fa3f7904b3e9dcb3b15b830a46982d87a5e9d19074704211bda25713bd2e5132d4da4059b4c9935543dd7f06fdfe457a1165c70c9f02a219f110e5690584f59d6a2aa4fe4cda7e6b3de5e14354f3384450f492fa8f79ce4399b8e3c288ebb5568e75f1ebdc3e468550c8105adacd9695ae61685bea50fa9e796d7607476edd280a84818b7d757d19a6340d751fd8410fb50c0d1742dae353bc04523dbf16c046d8a4a028ff56d2ff7f256189de790d2ff60660b4c789688cc640fe1e776ec00638f4018fe35ee1c56777b14acb82748eefcd7b3966026b3f665173d0389bf9355799bc5cb6efe9eb05f0c22302d732f5570d15c8db676adc5b995ccbeccf3c439d5c832e8bc7e0fd1223d2a3a3ded3ceb857dd4308843faaae - -COUNT=39 -L = 2400 -KI = a292e5c78c53c1226f487cd87090191049b4d85ef2a94c01e725d54d13b81479 -IVlen = 256 -IV = 237c709b5b230ccd832d5700b05dafe2ed88db5a8810324caa4b1cc87eb23681 -FixedInputDataByteLen = 51 -FixedInputData = c3585f498b928dd448340336d9e2c2269914e8c663055903d7c994862fbbc9b99de992d779113677b1896220e4582da5edd90e -KO = 5eeb936480515a0b0a8dca3e20f2c7a97ba1c7fe82cae31e53efbffd3acea2a4c36af878cf5c8dafa4d8fb53c26d7bb7e2c0861f8b40ae547e50e9375a4e0fa73834f7915bbd4dcd804d4bb6014de6fddec7f21e7b2169ecb80c44de118e9719c6a0fd783cab417a714086160f0db1e2dba7883510dcbfc17ec545b8beb9af5e532651147eaaa3a9cec4a9da3281c50224e50c37a753079322913f8ae5e35b40ff9f9d3070e36b66f5dc42a1c5d14f665e15ded6b61317a6aaa31580c45a5ee74e5c2d8929add903209e996283cdbf56c8501148dfcc2eea58300beb93876096425c9c972a966d0899e941f14dd889f5314b3565bc60ee8743143ef0a55a22d784bc4626f4786dae013fb201e388ff968fe8ea906b485bc3aeed3615cabde7d7f4a93903223cac11507b9f5b - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 3cc655b6b72b86a2a2e1d68b073f56a80a455dd10a972e7da3660474c30722f8 -IVlen = 256 -IV = 972674c368c1a3bd1e725e3553e04cb1f8cb3572d11ff891788d8debda1622ea -FixedInputDataByteLen = 51 -FixedInputData = aa526caa7f1e4e9873de2b301548a4c1e3780cc7144bd1f2982b42de4bed3572792568af3e5ade86d0620c2a2c4d5dd49cb92d -KO = 84d7b1f1f67b0e2c77042476410196fe1bd33a64b6e3df6ad5fae2366d68d80bf2bf9ab6b1df6eaee50462dda7f589e9d124c6c0995e2a2747f81797f2896b6b - -COUNT=1 -L = 512 -KI = d0a5c37f929890f69ff7dbb3e9a5b8311a957e997eb512a676b1f594329e3ff1 -IVlen = 256 -IV = c7f0801e4bce7a495ec8623680028de4c825b23dd56d866ad87000dcd2ba6be2 -FixedInputDataByteLen = 51 -FixedInputData = a1ce605ed337340f06f9fb688c6a5fd0fb1155fa4bff7e1f0802bc570fdf2cc0e1081e6975d4fa7d439285a30dab75d8c22383 -KO = cd47dd2659e4bcbcfe3ecb5074f97260a18fdf1f88a5dd192e79b7095eb12851f33cba3e7114ffcec0f95665d2177194bd52c989ccbeb6aa745d82a736ab7fe0 - -COUNT=2 -L = 512 -KI = 934d27977edd8347579fb768151645ea774d76987d834cc95ed1998603b15207 -IVlen = 256 -IV = cdb4b8fe6e4c9fd757c0e6ff037b98fda589df4e4ab25b8f2837d4fbe88ce595 -FixedInputDataByteLen = 51 -FixedInputData = b059fc9d8ae2edb3ae86a88650b89d66a4f85e5e12fcc15f0185afb862977a5a4b8fa60ced54304d54c0953d783076e48bd229 -KO = 6fda1377175c48973c593209d5235bb4bd1fec74da8df94668c85ce351e5b03a9adafd94d6e99a4c9ee4832bef1c4e575ce487e7392525a1f3ffd00a2999719e - -COUNT=3 -L = 512 -KI = 2e77fe0505a3cc358436af778d098f7e412379c2317a171cd970d23cd62a0b38 -IVlen = 256 -IV = 76a7ca3397ef4ad7a131a226c7e1e96a254bd9d475178b728277fd37a2b5669a -FixedInputDataByteLen = 51 -FixedInputData = 5e254bee49b947c976d0f6c71338e5a8efc83d92bbdaf4ae5482191dd2c594b17911bb228bf6e8f1666e02190fd71c32d4d536 -KO = 6e79bf2ef3307cdc418c9df3cb8209ffb176688e89817c5178cf208090cd44508ee70ec5dec6aec8114995c7db7e10dfa155e308f1349afe02921773b9ca0144 - -COUNT=4 -L = 512 -KI = 93c011872413ea04ddc1aef1059c04ba215d43c1ebaa36f2aad72f24c9b0e2e8 -IVlen = 256 -IV = 2614ea56cadffcd647081ceebc06a6301edd2244eb24962360a9cca45121be25 -FixedInputDataByteLen = 51 -FixedInputData = 281d1421b5d109590bce5f06f3cb3f5d74ea5ca3af1cdeee643ff189e2db2843ebba30d17ab0ed7d95b34d21e07472208c1e2c -KO = f1ab66733a3c4e46d1c1584493fc271a087138525e591a0464e8ddaf136ff90fbdfc500ee0896425d4ce0fbc849923476c8f03cb47796740ec0af3b010561a58 - -COUNT=5 -L = 512 -KI = 35646b5c091b4923acd616cdf0e497a0949d2ddede3aa7630a4c402722c9e804 -IVlen = 256 -IV = 341b5b3c365183585cb249de0395f821883710f434940383b2ec2380be25d910 -FixedInputDataByteLen = 51 -FixedInputData = 88410134c55f44322613f92503d379f3291e20dcb20ad6fb39ced4e2c41b116bcc144e3aebfc6eb548b96f7bac4484dd5347b3 -KO = 1585ab1d648f496f7e4ccf5c2cb050bbe6e413b79acbe881bf6917f3040c92cd4b7f679e0b978fdd880091925263c6a833858befb41bac9c463c977d798ceefa - -COUNT=6 -L = 512 -KI = 02bb0f0ab33af4f3aa8abb11fcb3aef432bd78a7c2374be63c6199e07843d236 -IVlen = 256 -IV = b29461ecb3077006798aed493b757c791661e583ee65fae136c75a625dec8a8e -FixedInputDataByteLen = 51 -FixedInputData = 01724e43a84b8c75375d8f441c9d233ba49acd2478cb40d16b4da4a482d97365f8771b335a4f516faa70de54ba33c123879dad -KO = 5b062915b593df69650d23ad97b1e11dfd89d234b7984efd51ec4cf22e9d115a72e60033a76b96c767c031b60e2e3db29c5d011dfe9630e7d5dc445732ea7275 - -COUNT=7 -L = 512 -KI = b95251026c465f96ebdb78c367bf44f0e0b93a049d6c1c406714aa2cb66bb1b6 -IVlen = 256 -IV = 40e169abcea73906f5a5cab01a5eb26bb67da2b0f9d09bff69b0a06dd3fc4efc -FixedInputDataByteLen = 51 -FixedInputData = 1824782ce11c12262036fa243a392b3e6ca30f3501978ec034ea4a0bb247b9fd1011e85e25eb8e67aca2df86ef79f9edee82bf -KO = 898c1335971e1b9ed7e26587cd57c706539cf1614351bb90fcfb8d56ef3c2f63450726be3238342cba9f0c5c05f77e10be7d0997489cb4fbbf8667695bc08fa2 - -COUNT=8 -L = 512 -KI = 0744e15ad801a1d2d358673ac102129d0a3344daf0cc14f375caee639270ba22 -IVlen = 256 -IV = a41e95cccb298082ac85583a5fc167673bf7ed4e5504fec7d7064f7c4000ff8d -FixedInputDataByteLen = 51 -FixedInputData = 109f80319759e0ca3f5cda9513f6491b7708d1a80479e8727b5df99062e04d38f924dae9d4c649b41ff7c734aede4354ee452b -KO = c5b9e307e41483697c3c494fc1d02bbe88450a00de6aec0ea48e66244c0d93cca2a61ca03ee18f767ec1c1b7a343c27a073ec7732162ba6232e818d3829627c5 - -COUNT=9 -L = 512 -KI = 87f6ed4de50c0fb4ea7683163760516b95b17668ff6d6ca80d436b8cbd2f555a -IVlen = 256 -IV = 4a4fa72b3978791aeb22e82e432e6b145a90081efc9472278cf862115fa1fe0b -FixedInputDataByteLen = 51 -FixedInputData = 9e64258af42735015d9a14ad53918498b04183e1ed5a5d3d2b2fd44feae9ba8dcc37551ebfc7bedcf1eeac86a55e44a1a01d67 -KO = 5e3277feaa941df13ab8d66f24540a68e0d51e82e4bb918e66fd7bcf9ec4192fa41b16ee3421ebc41f851aa5cf4f77e14ff02d0ec11d3e3eb2cc1f44ed2aa916 - -COUNT=10 -L = 2048 -KI = 669c8666c284a42378ab62317543615a96e2bd24d78ce5521d4f62927101c023 -IVlen = 256 -IV = 03398c70f30b588ce9a4e2cd0c44cf5e3e6be407e56f2746986177a911889627 -FixedInputDataByteLen = 51 -FixedInputData = 80a1c2837adbc4747345c860e10160f3b94a61100dd329004ed5b6eb6dccf3ff847543ab0e7516ff3f1b99396add74dfa72985 -KO = f41bf2be705da2e6e46a8687f8cb29729f34b7095f80ee50e88482f35ab3da2a1283690551f08386be215b1a6f594d91ba98868ba913619e1fe53f01adb064979735ad2d88bc0ee681951948764ef31d4e271831c3a3a48d5ea8e93e0b5aac65ea74ab0255797073a6a415d20239966e5291a002cab4e755c8c4fcfab3a3f5f69201678ad6a91b01fa557e40111c447d15ac0eb11b7e604cf63f17f7aa8ed6617af5085ab057c611b6c03e53453d025e786d0fe657c037723fe3a57c365b1cba38811dfc14c3b0b0b22edee0611745bb0663b4e54a48d15d705f8a1c15bbac0e2c98c30b1056089b82a402a413f8770741fa2c21dd3bee600b764e32df49b8d0 - -COUNT=11 -L = 2048 -KI = 6bc5dbca1c7194420780ffc5c93b75ff69f02a771ac2287fe01e244a0d1e69be -IVlen = 256 -IV = bd45137ac378537a54a3a5dc405435c676949fc7f1c1041182031b9d77bc9f1b -FixedInputDataByteLen = 51 -FixedInputData = 1d347093b2cf3ecef6e05565dff07a98dd4d20349967b313633a5bfed32993a3987ac2263872724937762592834ad3be6f2f83 -KO = 4f0cabe9299558cb48bc0dd3b24479f80a9735cb4b7e11db6f59656e2391bee02d1268f223f6807917120cedfe7c4f099614b3edd174eb10aef57be1e29c62087c3c34c4f326283bf5044d6526d3ee310d421f29616c968e998b306cb66ef8af55ae7521c0fe7c83c46e84743339d92b466c1e32a43e9639b5848a43ba51587ad5c8db5fc36d66d8d18430776019870db146590b3775ea54bc2d65e959f584bdf3d61acc671a8d0ede8913b370ff180f54347d5d62d402c9bbfc09e34d18d6d7209347d6b5d8b9eb339708a81b88bb2be6c06574c132db5a45518a60464fd73133397fd26f3d2e7c576bb4540206437e1279cc22f074ab3be5927f0e85cc90b9 - -COUNT=12 -L = 2048 -KI = baf54a8dacfbdf4f1a4ce4da8b0b9ed548b5983388375ca6417702d2e7ffb6b9 -IVlen = 256 -IV = a5729b82147d6c973b1b64a1eabe96546b7c0f516a4163bbad8b65384b79c41f -FixedInputDataByteLen = 51 -FixedInputData = df872167bf216b482224a56fa4ff197a0f522a0df2d73157af46c53e6c7202cc587e2a5f2ad4f2110c95d76be41ed5b51cc15d -KO = 74b33a08ea8367c5eff1264f6058ad64ade474fed84a1c3575684a69a5b9ec8a8018721d410e81527c4ed8b3ebf14308a07d1b5df8218549c7a206fe637b72c89846e33684efbd60e499cbaea9d723e7ecfc9f25aec848eb66026fb83952e1a64c3d33924a507402f1f335dc69e9433b0f82e476e4489489023c5d847c4be7a7340c1cdd47e541b0517102e63ea1fc5640869bd55fc23a8d266bb06bc92fe28848ac12fc315f97d1092975d0e14cff03de839facb8e1894ae94a885476053430435bb45c60898ae87fe5a54a83ba0ac6eb7262ce7fac8523c28169e9cdee79c73895076bd63a7467b67fed8c19751898cb84d876e162ccaa876a778f14e3baf5 - -COUNT=13 -L = 2048 -KI = 5045fb4c304ac8498446971403d8fa5c9cd800a2859faedaadba14eb8da66646 -IVlen = 256 -IV = aed4ccda3a5cda92385895942dc903186c7e09dbce1f99051ab7747dc674d06b -FixedInputDataByteLen = 51 -FixedInputData = b480354e57e15ab5a96da40dbddae18048eabe43fb377616a7939147e5f8bc7161b74e4aca5d12e32fcb9c9a8b906d622a91b4 -KO = 4043b3b9104977e7a49f7a8b7104f988f525f269ccc32fb5f276f1ee66c47144aef0634640afbb5a24f0dabadb3d628b3367dbf905814b02a540ee1aa9100f3002d200b9348864452f9e7de9d0e988a4d0f7bcce5af4d28d59ec0d512e60688a3e1b6d4ef348341e2d161a11b9cbfca03b4536d91cb836d5fbeaa153e2e71bd4fd974c431743f83701edee69def2fed6c63b85df3457357294952e033ef07a15d3325a9f9aecf68d5586fc6107277cdde02b7fce4872327dd9a4d76d72afd4229e5c70627e3e61f25e89fa494b8594f9c0113f9f78d93c115b5d57b508fd4241b8f2b8298318ea1c13e0d6310576a475ee355195619adcd2c30de85ac5a9a045 - -COUNT=14 -L = 2048 -KI = 8b19672d0ed2a5493eea973ae63d7d0c9e5a1cc514d91f349112e9cb4b06687f -IVlen = 256 -IV = 0fe6bdd6db9a6179cdd11e3dcb78e30db8258c12b0000eba551d8d53aeebcf3a -FixedInputDataByteLen = 51 -FixedInputData = e31ed636a5a62f6abd9f4bf3dad830e2174b930711179e2fe8c858d4c5edee429c8aa7f3fc58f8e0bf2d076d2e5ed94095fb9a -KO = 09d8c948e52142284277ffe4c1336cf12148859b0d40334bcd6f401364d2edee8c49171161aa381e87d5b4419feacb34f5724f3eff353fc948a6e05652557d5711b412fdeedf035806156ab37dcd644ecc78532fc2ac067cb29bdd8c81bf490f7bcd1edb88fba670ac7f7f333df078eba55e491b6265bc377d4d784ca8392934f43b88821821d88b2d27d9d51a14279cd75511babead55deb20d47c49a7537f1db711268022095840709d4c1f5c3b8bb1074730b58de09c4c4fa5c8d85cfe6066e3883dff82ae4cb0c09dd7492bf3c3ea92598f46bfecb32129e073e360074dc02fb8eaf1c5cec8e3f27502de2bd80c3bb7c4a93ad6a23a9e96cce8abe4d8392 - -COUNT=15 -L = 2048 -KI = 97d3d4fa803f7dab6b4746b4c0808ec97642d2def425f00ff56fa67c7ddd11c5 -IVlen = 256 -IV = 935c24ee09387904720873b0e9add0620a8e1fad7cca06bd8f73cf2cffbaa85f -FixedInputDataByteLen = 51 -FixedInputData = a51346503b60720534c30027c5025edd614d258867dadc8af1eb385722f404f37ef6b91c444ae58926d6ae63e20dffd1cbf65a -KO = 6f6780434b1b44368ead1f93d348d0cf1c12e78f6693be73e2d91d30525696f648933bad387648a7b0855f556aeb0c1679e0c9aee73ce8e001716afc3a7fd9c3c7e0ecd9841b75f7721f317678d0e48d5fa3382b77590b34044f41aae7ca9a9eb5b5b375c7264edf050f997ceaa00c772b1506a94c26a54766edd0dd2923b39ec5c4fd854584280b32d2f5f7bbbe4e096439d36cd71661bdf4a0774e321a7d8714228c8c9764e7cf0ddb73bf54c1b95feec662d75b234d3114a8721ca8bc06a3459c8eb8703627b60a13b42ff529d0390b760d376b57ca6e41053142fae91a58bcbf121ecd3b9c7d125b95068691119f0b06ee0f3ab29379a85ca4337bd8bd9f - -COUNT=16 -L = 2048 -KI = fb74ab1044d44a3ff529a4d75643522f4813c40aadb5e65df80c3ccc658d026b -IVlen = 256 -IV = 32a1a61013e701b29d9ca31409a9a4638e0fd5d16c209bdb89f5524b2a32205a -FixedInputDataByteLen = 51 -FixedInputData = e1b79d41f88df44887387908315efbdb1d5202817617a501025cec88fc3aaea9fba29681e7506ac5855f7f111f359bafe7abdb -KO = 06d6918abf12aaddb51bd2c87a83f13b27e0588edd3cfbb3e9c13efa834dfb653d382e96ad6ff4ace0a0cf5511999e5935c58294fd13ce8569125bf4b03a9b0d5bfaa78596484275faadf324c8f8a6342eaea7c6a8fec3847c50b3fca7efb86fd6bf7cc1f16c57c1688658aba7811e4624c33b0df3a5ceefd1a1db57907a076b7552eb64f546622c37d2f61cb4e9b36081e88d7793279d1e298969be6fc60d692d17d35b3fb276091b5b1a21d93e874c06cf82315eb1ab54ea74ebf5388e5874dbef5e36a8fe3b89dec3f715867361a5a6d96a274640aedc9ace8ce0074714e95d823600d1473554ef9ccaa4cff309cfd817464303cb4d549038a3f905b9cae3 - -COUNT=17 -L = 2048 -KI = 90a79e60600a63240e9195ddfe2dc704b755ab9216dfdfc4cd327247e7089444 -IVlen = 256 -IV = 80ed43daba5fa12772181bed278f3be4d2c2d635a70a96023f46aa0f9767b4b5 -FixedInputDataByteLen = 51 -FixedInputData = 7c61b6a0693ffb7e7078b1c238fe9aa4d8da8da13d3e984046e3cc30c36533c3b17787591993b89da1eb04cd92746dcfb37cb6 -KO = d42ba4d55dc900237b042e39f46b06e4b51b831761b3c17d7b264aca194ee2df772c9efffdf7e73fd621cdde0f3a633c60b1770664ac6058661b4d6a73d5f8183b7a5518a4c4283fb0927c6c7ac3ebd3cb15d866fcb8a84c5f6c490bb01233aee6aaa9214338698c60069bea05e7d9a776f9e9e20cfef5ce081fa8202b178e8b9ed351dfdbe616336f48701fcf378a6599c28774c926f4ac2c08e970a673c1a6b599c8a1123ce2427f8d47928366084bd9b9aafbe484f1c6c1b1a39df4116cd70f12e21b92a3582ce3bf0988659a382da2f104bb402ae61c6c09177cfbb1539082ff45cabea29f4fe516e7382dc2f095c5282f2a70d92b183168075943c06ef9 - -COUNT=18 -L = 2048 -KI = 7a94db58356c0c4cb6edc4310009dd219dfb858ff2e88c8d5293da5f6bf71c90 -IVlen = 256 -IV = a4235e8631e8d6b9a568856f1b3170704795b328dd5f6e0bbe523e5974082691 -FixedInputDataByteLen = 51 -FixedInputData = 4801c624c82af5016ee8f42bfbe4ac521755ba1fca85a6b144e8924ab871fbc6e32a27925da409cadf9b7127aea96ddd9f4187 -KO = 793fb284d5e2901bc2ca34838a7c2e82780b91ce1a9836dcd27d8a1c206a6f8c62af42b90d056413734c19169bd96045a9de296aaebd343af5096ba22d55462fe9365e72ec6771d00d6478a3dd6dcbbba0bcbd2116b806a12845454fa598af8236fade226a0541db653d33a738f8371b52e6a5eaf5ec3312276c0c7b1de5d0fe5475ff560979ad64a82cda41cc92b80c80548f492338349480f54760d9cd05b620a53bcab674fae2be07d028845984827a13345792de2b8e7938ae390287019a0c38f2f07f5337e3f8f04b59c4cb7f49d681df8ac337ee70a2df305f5043245b02b755d2080fb34fb63e03169f6ac8681d6fbdd5f868872eda02517ae94c0859 - -COUNT=19 -L = 2048 -KI = 1352ba021f344bd29ec6d568bc5e1f4c7544c5ffdc3c391e7a113748302e6c58 -IVlen = 256 -IV = cc030292e28a84b51199892228c5203a840e356525f3b426a0ee347c12d6bbdf -FixedInputDataByteLen = 51 -FixedInputData = 7d8b1e47088a00ae44af0372ddeb9d30db09b33b74878348052c9400fce9d4cf626688598528c1625a4e9b5f1ed3ba81d548ce -KO = 200a4bba677c193339a8f11d00bbdacf71c89ca3d11ff7abf6f8b01a5a4826a2918f92175ec44c769d440a63bff2a86985cb8604f2d10aeedc315fcbf9f4020c9ad36aa71a43e3c76b044d77d729ef0cac76888faf71a264e688750bac419d92e073170233ef5298213f218172d811d4404a0065a2212f4a27e389909da8adc96cf12d5d421610d84f15c6ddc0934fc733f948da3a0f4339aea89422b8e41f267f46830206b7f5841388ce2eff83c6db3af0ccf7c508a9814f350975125966204f863ec6ca2be75a83f53ecc50c4380431ed29e152c461d8b6b73cc0218c5064e85837ab567158721f952c61867482569dc9e1dfd4d8bc10c9d882699e9c48cc - -COUNT=20 -L = 560 -KI = c73827b50c2b0bb01b6746619daa4bec6cc9985f224efbfe2bd036bc0ccc85fd -IVlen = 256 -IV = 5ca317d948d8f46ceb88b70cbfeafd6374192b53b404578f827b23b2113a0eb4 -FixedInputDataByteLen = 51 -FixedInputData = 18a266d3f653fdb9334c6de342e676a551760c0375cae24e494ccfb25dfd90fadcdf2f6af8c7968a186d7b37672dcd0caf92e2 -KO = 9672498d6d1ca955e1c12b7611839afa8e544742c9c446e7f757c1cb6329f04ce40c0b15cd67da3532dc5c89fe7e7ad24156d8cad353dfd0b54eb3d311ea0e9bfceaefa71395 - -COUNT=21 -L = 560 -KI = 068842a87595bf5c3ab4621d82afefb876f930d3883b392325246c4e7622a09f -IVlen = 256 -IV = 119a3ba5040b07c149f53b76a857e95fad35d1dbf72bcfe3a4274b766e44eea7 -FixedInputDataByteLen = 51 -FixedInputData = d02861ab08306e41457d8b000a19db2c8438f00c4700df98fc9c380d027fe8951be48da5cf50f32016278dfb79347dd15a82ac -KO = c51bf2314dd8a7c54f1cd21ab319506131f5519c0c4e8fc48fe6b98f620d411f2a1293940d23f9b651caae65700696a595205e3fc36477edc678ee5557955cc327784ca65fdf - -COUNT=22 -L = 560 -KI = 0cbeaeaac75340bf94814e4fbceb2b8deb9d484bfede0b3bbc294430c0fa77ea -IVlen = 256 -IV = 7709a9fe7ef3b8a7387a289d364fb940be1df09e6c2f1b4918ab5e4361f5dbbf -FixedInputDataByteLen = 51 -FixedInputData = 07b66d4a9006773231fd872318147df372b9911a5cdcecaea75d2e67650d9ba6efd39ab8cb3d1207d2614ffa522b0db2a41c77 -KO = 14572e10c4013e8631575b73ae28909cc067603ec88f0c28fbe2ecadde39d04e81f3ce44d44022bad145594d7fc3d71aa3a588db23e9d4e04792340e05c949ee8ef630375fdf - -COUNT=23 -L = 560 -KI = 578dfd152e1b97172c3a80b50ae60df87c7f9f73a38f5bd78ab29bf0d3ba02c9 -IVlen = 256 -IV = 7ee274e78a32a8fdb26f5b33c0dbad86ec974fc4715f64e31b3088bf243e3f20 -FixedInputDataByteLen = 51 -FixedInputData = 2220f2176c1db42e540c35464f94f3e896a1ebacd7b50bd55821964253805a5c172ef3012e9e4c6803fa9c016d30692580c453 -KO = b9c0710e640ceb2fe07e6e396e4a5e6da77404a635e7dda8d2a570aa0bd9955d086baf3bb1a28abcdde13efb3b1ec60c133debd9aafd2bf4bdbcf4cea09dbaa9d24e151316b8 - -COUNT=24 -L = 560 -KI = 3422fdb27f934d1e8636cfdcdb499ecd2372f4b066b7e57cf6b0bf051020aefc -IVlen = 256 -IV = 195ae1932abe676fdb6828a5d5b5c74404c57ee02e346230b9af524522518333 -FixedInputDataByteLen = 51 -FixedInputData = 033e39e785f12c6c698c01033410fa0788aed35cff99bebbe7fc5cc247d595e3d3fe8b82aeb02470aebeb9b4319b84041fcf16 -KO = db843a4b6d93a61925abfcd68c838ef3e631fb23a4a2e99f072bfff33a66d0e86fa7afe3888b254824d6c4dc027ff4d54b50e4ce625f7e88a06f70b9197fb3e1a2ff87006888 - -COUNT=25 -L = 560 -KI = 5744bb5c13d6af5c3a8f8445ebb5a6383c52434cf5125c4ee6c83153ac01df13 -IVlen = 256 -IV = e01cc96a1b454faa38ce9e6bad08ede46e6eefe08ec172d755e7ff65c7429442 -FixedInputDataByteLen = 51 -FixedInputData = e827ea0b417a21b490888c1b945d8ab595d3d43907255d37422f24ba96a0330ffdd2e03336dd77ed30d116eaeefb367b3da752 -KO = db8c0e208ebdab841fe73f8f0d1d345bf6bd170cc55a10467944da56eee12368db5104b727c2e95a7f090df3a2c708aa9f153bdd4ec5336d56f434488c375ded7c570e12f0dd - -COUNT=26 -L = 560 -KI = 9cc3e481b3967535ea094639815d551db6d5edeec8cb1f05740e866f1cacc545 -IVlen = 256 -IV = f7be5e0f18fd22172fc72be6e12b12026cff1ff025bcbf8dece320983cf39642 -FixedInputDataByteLen = 51 -FixedInputData = 8aca4eebbc500f9da07880345543fdc9582a4c1cbc7f63151f431cd4ac8adebe60a744c154d16f61aed0bdf31001ea445870a0 -KO = 6ac0a8a6fb7558c1a652e4d29977442e5692df2e78754a3c2fc1adab851f61ed1f92d65cdbb2b2673415d0b66ab82b3a81c99c678297ce7a4e5d8e9c33854bd844758b286b6b - -COUNT=27 -L = 560 -KI = 79798beab3e6303d7fe069ab0ff7181b796029189bd54fd7914c38dfb0ba5351 -IVlen = 256 -IV = e65b535d520be1b2a95ca22d5dee63c0534666a2953dcc8c2b54abdee062df38 -FixedInputDataByteLen = 51 -FixedInputData = d21a7d705c4d4537c5103818687c0e481d5162630e77ffe3b4121f8587ac2c5070e702935996c096f1e8c7475acd703d2c8e72 -KO = a0d4b1e06c75f9df90653d4ee21617537c7f16a252637df034b151a7acf0998018979ff93ec72e4750b5009704e6d9bac108a99601fe464d0bca8f9321c461c03a2d0e39998b - -COUNT=28 -L = 560 -KI = ba472c6190c05c080334355fb0a571d2ab6dfbee68a9555cad9b6ee4890b3f67 -IVlen = 256 -IV = bdd9eaf8098d90215b1117a11895265d3caccdca298b0569e362971c08a55cc1 -FixedInputDataByteLen = 51 -FixedInputData = c54a8960e74b1f3f0bf8d2d871adf0534a4992d44ab62161d2edd1b98f55c1035c7f25e26545af5ae56eadb27fdc95e71477da -KO = 517d8c01ea81949642aa4faffe47fb9f9afd107e8f814b45d3b5870644500b68da37916f1992839f4ab756bec4854cb81f07bc30634162f818202147de4fae960b46fd77d54e - -COUNT=29 -L = 560 -KI = f0ebd206c4f2d3e95ef5bdfc7b16737d08ba5daa58cc1227573f8620f788d1ed -IVlen = 256 -IV = 49703a77bd17291dd568c165a1b60da466b535042ec297e191db15c9f544cdde -FixedInputDataByteLen = 51 -FixedInputData = 218d3a9dfbd237d4972b495a61542a0d3b66b4037a96f9b732f3bd43a3c5844cc0bed3378011d4b01ca850881e3c02a223383b -KO = d628591897955c9710162c2d99a20725cd6c41bdc25415633781082b028447760a75981ce840dbb2f860430ec8eba084973341f5fe80c7544e734070ed26ae1b9190e69de1ba - -COUNT=30 -L = 2400 -KI = d5ba1420b0d66af40988c45faf022d15cc847c86192fb5edd100f704dc3e803e -IVlen = 256 -IV = f2bac5b89faae56a62a99b4ba5b6f77bde9d21472811428b8666e4053f91315b -FixedInputDataByteLen = 51 -FixedInputData = bc7644b26fa63497ff2385de4d0f5669f3760075b6159a39debdf5e8d5f6ecf74e18db1093a7833d49dd768e502c27e54557ab -KO = a462b2682d148d5b85e378accba128ba49294004720d820d20644e00fa5bb2004e97429696705ef34da92468eba29c11b9d2108d1204e276a5a07ae296176932dfdf4eb28818f1d01885dbed734b3c13615ed0dc6fd3aadd145c983914a1c76928f49ca3944a40df2d72cdf0f02be85de100ac3c0e1087b1cc6293093033e03af69126dc19424f274e3cc39597a3c79834187e57c2f86acead63d207feb0c9225c3903d8306c1893b0bcd4dfdfb3ae1aaf9a7c602ff15985e1913f1f5229c984783342c9b6af6ea420088203dd6e1de6d6c9e2119bcdf566d89265f330533a4be9c5c62d2aef4b1ed28873a93fda34193f7a829206f90e356f6034bff2698aeb481377ef23cd4804566f1f09cfbb23e488eeba888aab04930b5677598f2d1ad1c268bee9eabd52ff466feaff - -COUNT=31 -L = 2400 -KI = 29335a80ab2c6b6a82f54836e221601f4f119dcca10d5a95867579dc44f9fc82 -IVlen = 256 -IV = 22bb6c9f6dac45c4f38fec774107434f75200fbb0656d41d091ca8dad3e18cf9 -FixedInputDataByteLen = 51 -FixedInputData = df15ff71a5702da22d7173320c6b281a4f1a3e818f39ee50905b514deeef822cbd8c429e5787c5f87d51a526914181057e6b2f -KO = 0135ee5fc9096bd6d0d47f2f99892fa2159a0e474fc177cf80a913a7b53ef938a2a9e0f05d1690d38e7eb7beec1dfe9ce72ed666ab2264c85975d0f2152c4c25003b25819ebdb1e8440be5a5bfea33b5927e92034888de06c72e53c7b2fb5fe97326364645dadec9795d6905c54d9cf62e3e0276e7a2b86665364c1813058348238453ba9638610fac9ef55da8309243079bd162e621b766eef5769b7eec8c6eef833296b07ec43027dd85a4065d8d512e3365df29999fe1e3704f94af2899867e17ef7f460be8c4c4413263e214f7062614d1681306d99839b41df1ce6ae123e0b8a5bce4f8366f6a1bc192ba02cd6f7d6397832a4c4b6dbf86414d3e186617f84d3041a8f263f0cc13d8031a833b3a1f2f6b06a4ac6896e15b34dc52fd2a47f4c9031f9db873ad1adbdae3 - -COUNT=32 -L = 2400 -KI = c78559433cc2b190f00219c3e750ce82e184ca4c7c3accb9242517744138cacc -IVlen = 256 -IV = d0bac03924d46b5d88ff9b07b060d1411cc99a9a2b114563aec8db37cbbd22ba -FixedInputDataByteLen = 51 -FixedInputData = 2c74cdf9a7bdf1d003f0d69603467fb860c93da63f75ce6413826a2d685d7b7fe27f19c6e181fb33a0311244e9c2c7d28f2511 -KO = 3833eb9008a05576c2f6a09da28943e1155123e1fd1252d100782a11a408130bce4ab4b03f75314f951241eebbe8a51da56e6ef99c9d101b73a744a65ce9d0864772d6605718e52655026325e54761fba1bd992409d095c79de9fadd238e2fe2c1f4c5e1baad544f772252bce59ccb6605d866b412436ebdb67867711d45e5384ccf6e5649e942418513e19c2945e9c000f370df74ca92ee3aecc996182921b9a94dcfcea013446e27fa9a78b98091483ce6a9b28b408addd1fe1a036af7f97bb810e83deab8c51e0ba8c10b6861fe33b73abc6c0f8b9a9e89aeede27c086a7a374fd3f4371a5e6813b22a6a077708c48f2e57efc073726cf01f8d1ec8121285d086d6765d4898a1f535da801e8f8510edb5213026f035ffe98bcaf55ce35207be74ef5be34270a1af9637a8 - -COUNT=33 -L = 2400 -KI = dbacbb3ace14615327d0df05bfbdf016ea0bd2b3723a107d2377a6cb366a6012 -IVlen = 256 -IV = 249ebc4e6cdbb47cc3dd88844e2917a5322b58787a9f700a36e62212be03e07e -FixedInputDataByteLen = 51 -FixedInputData = 8ce4736de4dd25d1ed9579410652bcbb2e0fb9eb4c4346e245cebd5c1ff31e654157ea582b42900eb1c79484050c608184fcfe -KO = 4eb3d49ed84b549dde36e6e26474d3388e9dfea7db054b269049e6ebaeac7fff0a1a87068a1244cd491ea26be5ca8144b75eed1c359d8b3ade4c65045988ff5f69800236c976cb90f4c04447c37886f50cc498b809e12d5a32a354adda6926d0584245567aeb58f6e44e7bc3fb277b16fa5799511ff7622cf554d83ca7c318319523ce6ab8949998c8822fe186135188d229e2e9db4a85197763e4696c2bf217e5ee5c0adcbdac6093470cf39a90f9b9aada1a16630ba584a82c969880f088df4c07a0cc0016167578360e797ba59486c917357148c968d86015c2b37e96ac2024db8a3f62a6c66e467eb5831484fe8ff676edb5217cf64005c0d3e92f3c4474cd32800af7f3af466f0fe4b47dfebbac4e858955c1a5039afc23a7f913a096dfa45f83c51599e228ad9f746f - -COUNT=34 -L = 2400 -KI = 579546c89c88df9b28a6228a2b821583e3650aa299cb462022e54446ac3b7584 -IVlen = 256 -IV = 82815798fecfb3e81291265dc29e23acd557b9b4885f1745ebcf550a7c47e40c -FixedInputDataByteLen = 51 -FixedInputData = 1ca51be3439d2b456fbc5f471f02be3d8116957a96590c1591d0acdc91ff3743c12beaf46a69c045d52549f4e26071d5639080 -KO = 6b1066aaaceed0398bd3b5abf8f5ab141c3bb329ae47e623a40b3f321344887d47c1e56de22f9cdb0bd5d97ddf307c504ae2e1a81bdc28ec45ae6e2300dd555fd0de47deeb7805725ac3577b7eb8bb65bde8778ff4e1cf22a0674e09392017869ab804a8a674f4a66614b0e75e8f53af1fc4dff9f6026ece47e5b7ae938897d99551033919744f4e13c086ef617ec78276e9adfac17edad542d681c2d4c76a6f541711b4f02f513c20ddbd89caeabf4e27302105c7fc3d1657e78b1b10758297d568ec0c1c93c56f718083bfc50c17ef1a3c17c1a3f32f23626eadce52b750627a9059e41b58f2321f000cdbd9ec49ca2b69e934ea65b80416206f30bf3502fad0c4981170b05df2a620c04f7398bb34c4f5ba01ae71984e3b5de89b0cee82a3f4260db4f44e722d2ac783e3 - -COUNT=35 -L = 2400 -KI = 32e0a049c064e9ea1f9eea1fe85b47ee7a0c8808aab01e7fa1ac5c6422698cc6 -IVlen = 256 -IV = 86bad536f46d633b50cef5de33611294ec55e0952ec4f71d4ae6857314d1bc13 -FixedInputDataByteLen = 51 -FixedInputData = a38bb4aa4996145bb3bf4097b6b414f219166672f83d6532deddf1e57c176de8f12e51b6f664a8ed1bd305d89eb31a8014299d -KO = 4b89fd79e0fac8ec7e0f4ddef0501d294aaa4ef074e3159eecdb4f3d50e1c8bbe97b63a451907766400e23e9bc16cefb87ed76fdec76f13783a19726fea40e470a8756189b5fa23e868e3f2e70d6d6cfbdbaf68ed71c86b88b7d522687c6655e2e5e4bc10fd0aee9d16bcd9b0c4883d2494089d298a911d60afb77f7a766f0662d935f4dbb37172e354707470570adfd382b2aa2519cc1c82f0d105d0d52596b58a59312a1131672314ee020b8f25a05a1a5a0497d6420e889de1b0cb4372934d34a528ae4a250f29d025895794350989c4c690cb1d6f3158dc0fd24a1e9e988de1b4b46228ebb62f97111c94e393bbcea191d4f04dc6cfed8f9d37578ea04293a51cae11f02bcf1d9cef5133ab04ddb33ff9ba2da46b9d2f357076e370941cb935293836d87495517a14185 - -COUNT=36 -L = 2400 -KI = ac056c4930b475e5c70406d2eb31d20be144d622c74df07ee86c30c564120944 -IVlen = 256 -IV = 02a4fa8230d1320011e4446b1aa604aefbc585a43a0832bba34458199a53fff7 -FixedInputDataByteLen = 51 -FixedInputData = d64cf20803cc1e38fd7edd7f1b07c98a7b4daf5b61ceab9f14d4a3c4d8d272e196c5282cb998e40d53bcd6f86048275ebae547 -KO = 4fa3649cbc4ed007e1a59b677f7f40e58d211c038130c9309e1de1d4976c567a87a47fe0ff33b1e68dfd5ec17f4bb2e23256744a865d95a7ccfca1e183866a923548583f019260e50f00d558d16c758e58c7ba8b0ba5edb763be638c937cbb93c1587beb147df599e5d4128f0ae19f4f4e77ef4e3ea7039fc0d620102612149e2a01c00790db168094530c315d3aed24e286e046124e0bad447d55ebff28069814d52e8ec3c021ed4987b072292c01cb989ac9f24389e35f7ec8934066095e27b10366479b329724ec8ecc7e5003a1ada3b47577f5aa6b19c18dabd28684f8fbb520199fe20de52b5dd3fc3c74d6e143bf06bb8f05a6cae7013ebf35176a2cfd40558d2eaf54e8709739a3505a4360a77562c0e4828b91e89ed33ec46a7094d17fe1eea9e201c72ae8f3bd10 - -COUNT=37 -L = 2400 -KI = 8b2abd91f98d153ecf06c6a49aae77ad8f1866a91ca05fcf88b6656f1442e8be -IVlen = 256 -IV = 36ab172d21e0173bb6af26a99fb63b8d12f54ff570499ce3157768fa3d5c46bb -FixedInputDataByteLen = 51 -FixedInputData = 1ed98cfce773149a804d04097dedf8f89a32f4c8c77a095d3828246b6375cd7be61badedf5650f188cb060e7e535129b5d89d8 -KO = c8b6990c9b5701565eb32d355222624eac632e4b97763234dc21b69123bf2c05bc0a7a8ea35535186445e12017f4988a96ff9635fffe605ae52c6da3e7ea824ccde147db767893922ff79bc30385221568ea51fb8236c19a87b701d76454076425cb75aba5ec9ef9796b29d58eca8d0d2dd473645e2b987a867585fa436eca10f8c25219ef4e6e68f943e6b1e7cddd3846eaeee1aecf5462b9426a0fe2e9daec73efded1db09b426278f18da3baeebf06484c02ef42bbff91944de609587cd1d005a543dee1451b1c96d47dab99792b5388c361b3d76004aea357a49ef7a4a8fe14abb3b23fc1bdb597988049262fc3542307574495e18b34db0eebbba00816d76b5b07823396cd9a00a86528e0976cad18ad17789cd92a5b9344c48fbdd895c2ee36ce088f66dfcc4acb424 - -COUNT=38 -L = 2400 -KI = 5115b96efe141fc9187fe3409f0c9347007ea9bf9fe417eb5f89c28f957adb26 -IVlen = 256 -IV = 5175ad4b9b67714406f2da71c5ee36fc8ec46234f802cd3bf11eac9acfb571bd -FixedInputDataByteLen = 51 -FixedInputData = 5866066e34395c00d9c6cae9208cec163da0d5a7796ae59f52f4420e76213af0aac102c5c14f5cdf4a4dc523ea1c6974922d7d -KO = ba6f275b172dc3001dd10d512b55ea4254444ee611c15bf107b4edf06f8392f84ea2e435bb30cd8bdc9a21a67af8ca91e8ce9d04fecf4b7b5fc011caf25155a0be056e942a024ff2974ca50d3bb8674c71ef98675ef0d6ad6fdcb9f19c188ad626124360fb0677ebda19f9c4a6914dee9df559d13fd500e88b148b3db809acdd3c3603efe7aade0ad5d91c43aa2774bb7db447a3a9f0eb1b82e509c7729f6b028821cd2047d3bbf4c4eb2351ab30bd100cf6b77614de336f7107febf7ef710b9daf6045f04dc1737566d4bbc5fc6169d4c2a1ec70bab4445607c651cd06c2f7c18908ed1eb44a4d2145f12db57a4f11665f595ee9ec8a06e86be782c491cb3a985453d5499fb61fd715a88ebd23ab20c621f39fbf2c6a7e6afc9331adbd8aaa282556cbfafb13255c10ec70d - -COUNT=39 -L = 2400 -KI = 1aabc1f125741717475a1e156fee3d8f5e5f9dd8bcadaba77889e5c8c627ef68 -IVlen = 256 -IV = 04d5fb36c073a2cdbbe932f9fb71b666970651bc2a41c4e833becc1f4f8231a7 -FixedInputDataByteLen = 51 -FixedInputData = c97d8a6ac88d5df128eb329a6c418fded466d13dcb3bb4f45b689eb3cd57118e04d8c162c479222a20b45c32daa8a8544da4e8 -KO = be29f95c6b207762294a25609be0b755280e002ad219211484b5ee71918426459c4ec551916d40deec2394902c9188a83cdd86f88dffec4e855a2b3713e5c210285f103aea94d041808e3bfb6092d6592ace078b7b733d203ace1d1e5b302bc7ba188facc9f27b00ed01046f9b57d3220f2434ea1d44db63ffe01ee70261e5d9000c14daca50bd0d8fd5390bc8195bc052f3b87c7c69ca4722f17dae17213920926e4ade9ba8269147e2c0e0b4ca21f30efbecae4affb89a65cc9c5ef485cf347b8cea0f87bcc0123b3a2e966c2d2fb1a0042a7d31eda20eab33e4cac385cef0d6a868e6dc62aa05c79977ea4b6dbbe895e3fe3a79d600ccfeb55b57122c0638f64d86afc7cb0a3b0c7a604f9452f72b1c2baeab322c37699c25e4e73d19a8d6f95361d2aea8fa30c47b4399 - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 455ad8d5a27910a251968fdefe5a817bc76698b3d6a539bf433012785320d734 -IVlen = 256 -IV = b8ed038caae5758ae3fb78642b582964fa727e059184750e1c05b0d6d478dda3 -FixedInputDataByteLen = 51 -FixedInputData = 6633ea781dd2d4d6b4f2dc2f15b13805bb01a08c396ca71236e2ee073221009a84d0787784bdb0f0092ca442a8dc9e5f7312b9 -KO = c0805a738deb38a83dade7f31d2b818a8e5d6f96876371b1b26716d227baa882f2b010d8fb0b3e1930359a0e3b89e4e3e8d79142653b3812f8e0c4eda7d879ca - -COUNT=1 -L = 512 -KI = 56510144035fbf34d20ab950de4dc61c9b399320ace53f49eb26b3c3af18a289 -IVlen = 256 -IV = 89c2dda61defbb32ba96b7e12fbd7e977ccca3ea4c67fa4eedc47fe4e136fe50 -FixedInputDataByteLen = 51 -FixedInputData = c5913109f2f8ac9d2c05973bff9e11f699fae067f0f1691220e1f1d395e8951874de4eeafd5bfab9dee84c0330dc106cf9e2e3 -KO = caa2576ef8e89342ac8d4907b4a8943471f8a8b97a4dc000cf1ef9313543ab704dc5d20c0dad773fee563ab53fa58a17c44f952765c63d4acdffe27711dbe755 - -COUNT=2 -L = 512 -KI = ad123e6004b6514814b8f8fab4fc599eb957ea7e5cdc9efa1c7ff3d09b2f5570 -IVlen = 256 -IV = 386b5723d3a8550f5a8a4286f5f06f9825afcd628572af16558c6e8ddfae4662 -FixedInputDataByteLen = 51 -FixedInputData = 9c28a7a1f278765121744b432d70aeb5f1e89abe2d75b7e717c769d1920dd938da737ba083b67846ac7aad6b95d6d27d06d9a2 -KO = 0e5d029b235800dd701445cbf5a75265c60230199c4683d177499b0bb07d9ab4e8d74d102d9305de7f908565ff252532843177c940510b3a7120ca7a024ced0e - -COUNT=3 -L = 512 -KI = fc931501b4d93b1fa6f387d7bbcf9be39ed4350ea54f660b0912b4f63c66beae -IVlen = 256 -IV = 5cba047c59702286c94f3c9a7274932624df0580cc434cafb82bfa91d66fe3e5 -FixedInputDataByteLen = 51 -FixedInputData = f369a316b6217f0bab198d6a83fbf9b8c4b8774232ded9db594d636e53430fede7705c9817c66c64c77f09eb86783c9ee74129 -KO = c5271e39b3bc2eb9510083ce1088a6e4ec493ba19f877f45629942e8f17daad1929efb3e3ca6920a9e4dcdd7d535d12697175fed12ff9fefe0cbd7c33fbef8e5 - -COUNT=4 -L = 512 -KI = 0bdc1bd213cad9a1baae92f019bae66401e41a9e5d52553101ede2d3fd0f2938 -IVlen = 256 -IV = aabce657b84ea39184c0bbf4a56f132b3792ea39c0dbdd07932c691b2280c159 -FixedInputDataByteLen = 51 -FixedInputData = 226267a6da886eccf7a227ea6c50af681dd1162ee73102e3831bc535b9c26c5ca174de918edf18c6e4735856fa2a9d27e9284e -KO = 2f5f0a9c4276a9b699a6572d06182b3d88158f9fe911f4fc07f4bffef107dbb343e26e8a906b236fecef86cd88a1519270310ccbc1341e5982bddc88da0c831c - -COUNT=5 -L = 512 -KI = 375e8eb54523b82b32c7708bd6c5567dd24cc1a4a4a28c18a8338a5b1dce277e -IVlen = 256 -IV = 8be471355f72da7691a7a4bd792a81ded600b6733cfaf2d7fb014b0057ac0616 -FixedInputDataByteLen = 51 -FixedInputData = 0c75f185f6191712e9f41365a694772d6c3b8aefacf0d04a003ea40288a00daeeb7e121afe0d3c8ed97b6864ed55b218fe734a -KO = b66733e6004acbac9f08187a1e7b42200c7fb64a213eb92600f5111fbc42a3cd35ddd25017b056a17e0e29d369781d7bd4ecd59e9a507f743c3e4dc735829654 - -COUNT=6 -L = 512 -KI = 30f1811fe4f84ed4d9f53f9158c2e9061c3b680e424f60d9ba7dfbbab262de46 -IVlen = 256 -IV = 7950c01d93ca48f5e9feb32005c489b73266ca83b5d667b332754880c6caab7d -FixedInputDataByteLen = 51 -FixedInputData = a58a3df21c355129259c6f82b4e548af71d53a25d6fffe4024558ed5cfd89b819947120ca1d9ce0b00af5fb5201af1d2a6f42d -KO = c859f831a59e739cb43308f513f9d93df8f97796427ada1aa63c68c0b07d25a03ba9a7856c2ec77f645b0426ef7baabdb51334694e3b2e19a7753e527df481bb - -COUNT=7 -L = 512 -KI = 1611dfbbdda80358df211e444cdee952e0550bbeea327b76fdaa6effc752cf05 -IVlen = 256 -IV = 44dc8132703adba1c26e7c2b2c08292299e1533c2a620ca8a9dfb1e2204cdf4f -FixedInputDataByteLen = 51 -FixedInputData = 7059a3347f864253d91fcaad5969cf012f0f9e2c3f1d5cfb1669a2c30b72a94dc7a58c9f90fa8240829cb8313efd8694363079 -KO = 3cce666dd78c4a1b49226650bae3da555c615771fd1f30454c8f0c64b637b31faf3ab50b3f786f7080bc8daa14dbac41af4f083b657187ea37ee57be332565d2 - -COUNT=8 -L = 512 -KI = 166ce578e21daec288edb6dff01934c3b5fba0fcf07c9117acceb58f3fad5409 -IVlen = 256 -IV = 78381e1056fa73a30af913441a34fccb0ce24cdfc0b4208722189b29a8177c75 -FixedInputDataByteLen = 51 -FixedInputData = a26286ecb22292173f5392c9c002267fc4f37e71c1a92c256c224ac8a1b5956f5a739e2cc93c82690c999d115eacdd6c37edf0 -KO = d2934333e9ce49e9e473e7864d740b198812eb0a60b9a4b3f0d8e7c3bebd64c55be88a6baea536634e57e8f4c3ad48db4603ec8411dbfd815f7d2e25f5663e44 - -COUNT=9 -L = 512 -KI = c29d1d66f5a63cc85490cb1bbb3d090fd48ede9b3bc1e2d0015c8d03c97bfe72 -IVlen = 256 -IV = e5d3bb9893d3ef3be093d0be269d4158eeed853cb27ac82cd4761da9b6922c0e -FixedInputDataByteLen = 51 -FixedInputData = acba1b13b91d96f4682869699425e751f4aa83d4bc5022bce32c6e70744f2f70e531b0f3d54362e8322613c4f10786cd619a93 -KO = 8ec1efdd2a87690dcb273deb707995d55962d68e5a13a7721053a9ca90e541a87a3c091a952a871df73a2cca8638f44a934f8f96d0c094bdae87b98763e0cfef - -COUNT=10 -L = 2048 -KI = 530fda8cac2a50b1c0726b78f296a438fad55ba9b231899a1b6e922ae2d572a1 -IVlen = 256 -IV = 81f6301a6d5bf26cc095da302a76585f4ea229e8a08ce7f42b7bd13aafc7e18d -FixedInputDataByteLen = 51 -FixedInputData = c3e32af543733a7b10d0cc918f3319f2a19e63d5af19d757b6c893fa350d52f0a37537afa8c4bc4d13b6447ddc57a344c5dc1a -KO = eb5befbb3b5540d987a0d5dec2b508d2e0ec60b79df8b004d4af3157411e5b5fbb25392731d0af32e30e5a0dd7c95eeb5d247d8fbae3b8fb7acdae6991de52c9f9fa51d9d7720365cce9c730758fa0bc7bc9b0a018077e391baefc4100eb913a1cfb61554d8c0e6823dc3bf51d782b39ec02f5dac1fdc195dfb0d04d4aff6918ca239b39055dfd4ef91619b04e22daa8ce491ee4850f7040f76c43677bb389024467270bdcf9ac002d901bc37fa6d20cb33f890601d62557d30b73f07d9eb5e59371cfca988d2335d1c18bd21b7e65a57012ec08b1dc0ed8c2105796948f3202cce7489130b1485b0883aa74667c6b198bbf5f1dd39ad22456ffa4ad0f0326fc - -COUNT=11 -L = 2048 -KI = a5621e1dd2166e391465f191bac5900c403be955476b11f3faa6554932906a50 -IVlen = 256 -IV = 2d0d2de60933184cafa6f45150e0568ef1d0dcf2c589bfeb3e99630ef2895342 -FixedInputDataByteLen = 51 -FixedInputData = 4842c1c822cc9a5e6a8773026bd66222904012aece3abc57e4efb949bd0d69acd7401599f0814adb70e1b809190b272cd04f87 -KO = cab849bd7acf90053f7781fe342f9f1edcda712b02a621dba31b6acc4cb4ad80f9d2c4b4738f8971012270d0adab0c0238c6e0197eac4875817b1d94389d19d6c0e9c62a85e1c099fd72973da0ef5967b76223674cb1ad0fa1fef4ffa37999ddf34475fef9d604aa2749f3af1ef19248dd6e10929cb1c6b86634033a3bb5dd7e9ba7e8210c41cc330f58f69c4890f84977fe6e3de969436d253a1480d9a115204a4e61b90a50ee858aa52f916c84c09729ab497cf7a9d5908a4ea4a0ad44f46bb5978ab247c0b766b3a340a5212bdd5b449049242c81baede36f3e635328893e6291cee9913ce0377f90bdda97b55e714c2ea414addb76bb0f70c490ea567c0d - -COUNT=12 -L = 2048 -KI = 5b0d32303abcfe9555f090a734fdf0761bbb587e42c7e977257c9045725e50db -IVlen = 256 -IV = 3800c7db8c03b18403f2ec85ade664630c99837b0b0ee4276437f86ebd1aad28 -FixedInputDataByteLen = 51 -FixedInputData = e66e3e5eeb35fc7d2422cdce20d105cd85a35acdebc87fba666fb25d44f10712fd2a6311b4f0fadd4f4b6885cc4abd339635d2 -KO = 2500de0f33e6c8016b94fc37e75bbc8321a22e698b870fc8cff4d52df9556c7cfbce249a483e8eefce6d994dd3a20315644563bbb92e5921299d9aef3791251385c1a7e75a0ed7036341299e38cebfa49535ddbbb79ca9d2ebe643c30cb0966c1673918acd913166ac1c981d52fbd2d2f61a1b08b0035c61642f9b44f3cd5ab6ac0fa0014c5768ffdf3923566e41512723e980e4dae91129bb3fe8c52cd4af7456f01b5ad6f027102eb2a2fe89221c47c2171033c452e220dd4b9387048786e0473efd2670a1fb851b0d50a1b70f4e49a4542553206261060cc3b811cb389c6700216bd77114afcbdfa19a5e8126c2e52af570bb0aac6aaf2f13198aa8792b09 - -COUNT=13 -L = 2048 -KI = 5215ad67705c4da42aa7596b48fd1767aa5fb743853c5e7bd8a17e9cd74cb77f -IVlen = 256 -IV = 4024fc75d9c10d8b946b42adb6393821685f4cdd4204a91dfb1bbd74c402f401 -FixedInputDataByteLen = 51 -FixedInputData = f3d335c71cda755b2c8312ee7ab4a1c1d397e8372defc219d6c8784874a4f9349f349e76ec321bb2409aa7d3ace1e0f1639389 -KO = 966649d95d5d972d1ccf737299d19e5c81206490bf7120cf4c793ed26634492101078d3fa275dc796bf03d8d2890806dec1b01ba2adc351841c05e047c3c79c4dfa82dca600a49141034910b374ab4a6b918192885fb74d1ce47e499cbd0f4e0d70f1c75c9b1fcf0cf0e18c91a8bc02bca16507037ba06ba663ed3b0a5378f65309336de6f0d22f237c16e5fa3add267c6d1019f23985df0504f92403a190953b6620952c14ca33c335fd8509bc42707e85bec3c971ef0080fc6875ba8494e5589fa9862416d52ffe35f8d6ac4adb1f83e89e0529b200aef5264aa67e02e4ba3e1c2d7f51d4c82cae05203bab500fc06eaafd57ad036803942aedbb08341e6ab - -COUNT=14 -L = 2048 -KI = 95aed1104422d0d41d807f526c196abe59a9af86d7c8850ddd8242d6af77c18e -IVlen = 256 -IV = 161b464fdf45a9152259d9d57cb138138237b88e9c94f93d15abe6914a105780 -FixedInputDataByteLen = 51 -FixedInputData = 9ace3ee92c966a0b75f069976573de68aa5ac5622dfc84bd78155abd55ecd6eead5aa905a35c5e48079143acb8e0f98c306002 -KO = 22a5a745e592d3be0f132ff753708f9dccf61e2653e924e974fe6bb78783b89a2c09dad70c4eae826997e147bf9300362993c0fb404ac0349dc0cf994ab59e775b28bc4f9161614ddde433a12a45f9e5cb518ec677c240314e1dbfd855fbfc37c1b67cc4248eaff2e8d5b73a6fc0cc9808e7a2f83df015dea15f50f2bafc53116e6db2acd44f6bc46dd684bc714ebdc3bb6d75a2c304efa717b13c1764f4c34a39f893f1f9914c69d346064c2ff8ddb4a4b26a4c443c6beeb8c355f84a8ef481ae8c1a6514c8bc95a09fb0459dcd3825d44eb8fb3812d54febf05644faeea0d9c89760128e52c86d608727b333bddc2f8ad7b579c3990fea89162d189d95b40b - -COUNT=15 -L = 2048 -KI = 72fb53e51a86f404104fbc381cbfa80e103f3a053f2dca4260501d4cf863108a -IVlen = 256 -IV = d8c3bb705897d9b6ade0e1de126c1e93f9caba6db62f62c747a2d25dcba71e0b -FixedInputDataByteLen = 51 -FixedInputData = 742667ab44e931e324b48ea7f4f216b2d7f8f075ee752774f0421a2b2daa1fa5a523e0eaf9170e4b701c2d0ec59dfe314c7c0b -KO = ba34d3e6b9960a43d840579f8846d6657a0825c27587a06dc7931ad380c8275fb606d286d8f4cce22d3bba2359bf15f70f05dbbac6f96aedef40a7675a03f55f570af1a5982f818ed16a57278ed38bde01bffb424830c9a36eed0122a046cb65f028e88c5ceba67935f4d5ca906a913646fb1f772bd8c23f66c511478cfaef094eb1f7611533f3832d5401b8abead3f132ea8cb6fde7ddbec9e30c2a773fb7815756b053dc900f9ad2f88bcc5fcb15891e6d8c8ff89ea78ac894054d688bf898a9f2488dda88d12d77de76b0ab3989200b17659f1f60ddf3df70d02e9bbb93419b4f786d8583eb71c0831da46b8de8119761d9d548ffe3dbb342a7b8a95d368a - -COUNT=16 -L = 2048 -KI = d86cb22e87dc2bc8c8d00a1d3cc30bdedb1df4544ce78bdf502542944e345c61 -IVlen = 256 -IV = aab58d732f12e08e777dadf79efbb3584cea6b275929984fe0ede84323bb1896 -FixedInputDataByteLen = 51 -FixedInputData = e9abeab55307693c7c47ad77f8aa99ca29fd7edf5ccd68bbc031ae6f6ccde27b8d62231921de264a4b4c3a83b36489034341f8 -KO = ad0cdc726653bc58b472be05fbc25246eab5b416269a109aad3e75f7c5d3d11db99fa4abb1becc41bdf1dda496eb36e436181e74d68f1493f9c4872e0fae1599bd11e902af1145981d76841946f40cb4f00d3162abb2e438e2280be0ae6ffbcbd9750711c097760424a2f2f6c080b82b66e60622c4f50171ea8b3ee07890783e2723fd62a2fd9a3e05bae8952097b5b956aba5d9e58e7d5dec8c852408cfbc373b039120f463045fbb087c762ff7d2522fec775c16d11d43f3d315d8d9c9b469d3652a88e6601f581b32acedf43b869c37f2bb0ec1435eaa101ed8a59ef17d375a694841f61232e4c753f4055acac0db96a15fc9e51f241bbb1f53922bdf5432 - -COUNT=17 -L = 2048 -KI = c082360ea64e2e05034fe2390c487ed305127cdb74f5209f6bee8618833df6d7 -IVlen = 256 -IV = 2d4188726709be0b4a7f3bce1d201e65222e3a5dd8f11dedde40786e7565b7f3 -FixedInputDataByteLen = 51 -FixedInputData = 499a7a4cabd2ba6a0aa03af3d8054e0159b3dc8c10ef328adbd5c8c2923c490da04ebe3c28dfb88eb9d5ae980fe29da32f5d4f -KO = 3f44d4e55e56882228ab038f71fa14829ee170dc5f154aaff77bbae5216dd5e71c8c41b365ab07ffdd6768bab2ec4eff52fe2d89c720fc8b71c11253c58902f68309e73f93a34a07a10910045ac0b12329320b3e39c6d2192ac5a9064a6aab44eee8c85bb77ca4281a0950d9e89dc310aa35883e014f7c4a279398cc9689626d4e7fc64ba3f5180cc31cb389bdbb049c843224c516ed38986702d1c64f2975c424d591c54f2fb60fe4fa8d1b830ae3d4f5a491cb600f63ed06931974c9b060df1eab66671710f7a7c6d61219b9548c3d39b70103d203f11ef8a89717683ee8a07dcf07760420c51936b88a52c162f79bb8d3e54ce6840a6e73103690fdfe516d - -COUNT=18 -L = 2048 -KI = 755d70659086b35f65c569c901729639283d2519e28286d3e3142edd8fd95326 -IVlen = 256 -IV = 350a5ccbe1c583392bb5482266a423ce8cafee7958273da280285a9a95414937 -FixedInputDataByteLen = 51 -FixedInputData = 615ffdbbefd23d89aaa4ef1f1d50792d9af626a4bb2a3642029f43eaf7f11ca78db54e3ef49b48a782a79e1e34e071413464fc -KO = 5cf15ee3d7f661e84016dd6ff3563c6036dc27e4694e3517f58d54471123ed29df82660742d9cfeeb5802568584309877abc439b8e5e27420e4c7b02400c77b27a2f10f630ce307acc6fc06de0eb3ef56c81346b55f880f1cbde16199d188ede1344a9b332e97c2e07b1d93cd60949df55a17e14d3eb424e307d098bfc1581b950079535ca8f489ad9cf15a3642fbd61baeaa992a9dc60eb8c6befbdb582ec40d44b98305c3dbfb96d2a24db3db5c52f7b4d0bc0af424b84c45b37612992b91e812fbc9edfc66a8f51f86ba515344748005f92655a8de87c6a2110569b756bd2bbf522ffc520f27b73b55d95ce20545a6c42179e2ccc796827b434e3a91e1651 - -COUNT=19 -L = 2048 -KI = c80ab5bc8c6048fe650773c29d94d26a7ccac42c3bfee9e978de228da84376a8 -IVlen = 256 -IV = d0dbd63bc8cc465440fbe92483cf59ac9d35be89a921c1e6aef88f924bd88ff7 -FixedInputDataByteLen = 51 -FixedInputData = d80082bf7fd69aa8da4588b891a871616404a0c886a52cb6a3e3c689db322d1a04e35feadc2c90403addabe3d8c8ab72b76a37 -KO = 2166adeb7b36ddcaab0f85c4ea7eab2615a95f8ef19d34aa62635a29853c221fade30f4aea484fdcbd03ff3f96d7de9608cc0ff0488011455e426969d04b215159f84cbf3ef630895913645dd70aa1933fec8e6074aa56875d904d88f80440c6419f78ec0c5dbb851a6cba792d433a5d71ce157d9d925c5b7eee9878cb862d6563786e2a6f1ac8559c18b6698bd949395421199605e14585b2743a35319fd2694a888363c5c6c7ab2ab608e8e280bc9fbb2cc68fc391f593e8e24171e6f57d4715f658d79e532043189da853c436cdc0a3de080b1d0494f31e02f7c3a5c595ce6938b1e88917af087bc24e660dc6eb4cbedec7aeb04f59e412d8f3381a03ab4b - -COUNT=20 -L = 560 -KI = 3cb832aa043ba13a0b69d95c79d149fb277da372df3d3a0285e39bd31d779d07 -IVlen = 256 -IV = 8d4c20de3ec4201010fecb3eee9e058e828e9e9874afedd80ca8d39175263e9a -FixedInputDataByteLen = 51 -FixedInputData = 8a8713c89d406765936baf4dd5c8569347a6e4672727551d3f0acb40c543f616e2ad23f5afefdac67ca3038707d0a04b6d71a3 -KO = 5618db9e5dcda9899d3c237afa4edd3b3654af08926ce62f151e54e1677ee9dd349a6e7499503d8c20b3895b57e5a348b93a2f1eeb4b3bdd01167d26a96f83071b3f298830f7 - -COUNT=21 -L = 560 -KI = 1454515500778827878a74ea8f4347c1cf2851ac4f46b9e5a0c7311c09e267eb -IVlen = 256 -IV = de56d08207e7d2a0ef4278c2df95e39f2004f93c120b787b8d420ad96e89499c -FixedInputDataByteLen = 51 -FixedInputData = d44af34c651832c900b7619f1415fdaef9fa84234c55d6146a16f8abc7411cd671986711a783c22bb151fab961b516b883617b -KO = 70c1a7013ef4adc46aadedecef9222a6e7c90169ed1c9fc2d67e22eb3c8a06326ff30d552a6e9bf9d9686c601a32d1e009611de2e64663e7ef366e9e3c2c3cd9755dec336045 - -COUNT=22 -L = 560 -KI = 3cb8451b627abf094a6125357dbb17290714ac1b290bbebb84d137e0952773b8 -IVlen = 256 -IV = aa8fe5d36c76ecea39c3a93e2bbd152333bb267221801c3fe5f1c7afcd5ae835 -FixedInputDataByteLen = 51 -FixedInputData = 0e47f73c8081572110a6592c1beaa56a62e1c650767a900e50ccb0007fd03b7e2eaaed9d9c531b71aec94bec524a28eec0d415 -KO = 374b640ce07529185c61cdfe966beb15521ba2928dc3d9f8ef4df168c7ddec5a7a5778e2f3020b7b2be6972d131e405ff896ef533847d28aac6017ceb7087bda5342d059b505 - -COUNT=23 -L = 560 -KI = d7ca51a452ee6ae82e9e5f36e06175419edb87a8848fa8dd316fe3529def5fe7 -IVlen = 256 -IV = b02241575bdf1cf9912c474322b9dbd6845295dde117dcdc7d94ca03dbfbd07a -FixedInputDataByteLen = 51 -FixedInputData = f6154f794b6b427751a8a3e628a8407d2725d65a85012878f2fc997267cb6002bf83d3697e901fc01aace10635c58bd0f33810 -KO = 98e4f6b7fb04274d205ebac013ce95b7bf009d4e1a29d99075ddd02c596d588174102d0b22f94b3b560b3713c379811de8d6981dd0e845671c4129e4deb45bf7979674fbb50d - -COUNT=24 -L = 560 -KI = bc567d5492c685b93f176e557ccfe95b7c493679b6035af619c043dfcf273ffb -IVlen = 256 -IV = 855be071f7670a4af660ac134c1b61d0a9dabdf431996f81e68cef620788be9d -FixedInputDataByteLen = 51 -FixedInputData = b50cb98960199cb4374936cf426ce3abfc9362ec397e8d1f1f6b879c68083448b714d4ae45c38372929acee42b7ef34b6fb5c7 -KO = 77a3b2fb2ad4cc176966c19667bd9d168c33119ac6fbfe0c9305beb0e7e89de79a61ed1b2e516dfba36a2b3b02c38f61aa093b53ef9af8fb52c834f5e415c83a97871037fbb0 - -COUNT=25 -L = 560 -KI = aa24e45e355cdfb8c4bd10d09dad699bece1543b7a9f5dd2dddb20d06ab7479c -IVlen = 256 -IV = c212dea9ac842dc581d5df6b4e7307ef486e37990d52ad5479c188d6350867d2 -FixedInputDataByteLen = 51 -FixedInputData = 2bfcca774396ad6620daaf76ac8f9c6dfb6646cbfd40bec3bcdac3682e5209ac4951c72d7b81bb591b6b1a8e20b6fdba13efc4 -KO = 57a0bea37857bd5d15ce3bd0adc28bdc58cba1e7112c705b02428c34cf9dd63bb9ad5421a333ee6a93a3873618be5a1d703bb0babeb643f6b6a8f361a3f58fe7b8d4d8b13313 - -COUNT=26 -L = 560 -KI = 020dbfd496a3ac076b79c83ead6c669fef11708837d7bd7f85ae17aba6f35e92 -IVlen = 256 -IV = 0cfc78aa3ffc0167e1412239b881eeabce7cf294b85e6d0215b89fe3d8b4590c -FixedInputDataByteLen = 51 -FixedInputData = c38f9ef3b36eb07b71d692869306e715e8aaa5387e257115e3434d8a18156473b636b3a7ad65f3895be84e07d2ecd57b2bcb0d -KO = c45deeeff43b78075ef8307fae777534bbf1fa8554ff30c24fb5d0ddb965d58cf25cb6c8708971cb523b41002508f129033d5499523b5c38f71cd6e54fde35ef8ddb4205620e - -COUNT=27 -L = 560 -KI = 95d41470c1979c8d94ac8e5f1ac96c03dd9e14b4c7e5f4ed02018b3b8d9b1874 -IVlen = 256 -IV = 8bcf78a7a83b28406ef6e4591c683fb05631ed437207ab29bd53a52a20ef50a3 -FixedInputDataByteLen = 51 -FixedInputData = 160b98d228bb527c97299da00925e25c4fd09a0f05d7546944eec3cf8e77e13c75c4a9641d1709c8f8d7c7e307b28f28cb66ba -KO = cdaf8982a5fdc74ad72919a64414fc9dd4185d4b6a051ad4fe0ca0e65ed76a136e4712915d68d485d8eaf4a94cf59cc9294d216112fb3ed2a45523a58edaa907ce1fdcd0799b - -COUNT=28 -L = 560 -KI = bb2f6563852da7faca46c8d98308f3501d9d1383492f5ac60cdfa0980ed1381a -IVlen = 256 -IV = af5488245874b04be731f8af75e887c8e46eea0ec9ed42256f1c97273e193332 -FixedInputDataByteLen = 51 -FixedInputData = f60bacf7810385fe83955b1fc7e16de10824f2879d8b815876c4f5ab0f39c002e9dae420383dd7c9e323f05e04920d48366ab5 -KO = c2dd695721c5be6a388d58c18667219a50ce800be0806ea1e9c8d9d03b67356f212028af5aa1ea7325dcf7470117e0194b511c8efdc16454f5e60be507084d59c58a089ad808 - -COUNT=29 -L = 560 -KI = fff476085cbe25490bec169f42b7271150c36ebd4bdd9d6310db9f1bae0a445f -IVlen = 256 -IV = 885a437fd12b63d7b9d6726675394e400495af8506283d38d2a366e983cf0c75 -FixedInputDataByteLen = 51 -FixedInputData = 761b86924e0b19d278742f4f225a69f40b53f1adc983500b47bca0e43714023049993c5730576a78b1d6635c1a0ec4ce8b6fa2 -KO = 1788fa9726d548d06145f5d33d795a643bcdfc76976932dcb35472cda9d777d6df99fb2cc6baa7e15815a28239a2bfc1449541ce668d0c0d3a769341644e45aa39ca694dff40 - -COUNT=30 -L = 2400 -KI = af4b920101f7f47c7bd50ed1a7db90adaa97fc1640719809cea68057534922d9 -IVlen = 256 -IV = 25e0eee26f92bd84e66172574f213827203deac87949b27a85f6f1e43e91a166 -FixedInputDataByteLen = 51 -FixedInputData = 462f4f55cf0a723018fd16bc4deea516724f4c5428d519ffe86308c4989557c1a485c2486b8cec2bb72bacaeea46bf2f3bcad8 -KO = bc332fac7df5aff224a3a24b44ac8a45395fbd126569662168548f9de35a7e66926d39107d83c566e06e817c6f8544352c08652f48398a59cd34090fd9880b1a7b04970744a1ff596e3dffb3a2e7642fa03ef924d8f84c30ec1812c482a469b8b7c4b835f76f5b14fca85410af4d9b533054ee4bc1dc4d4450c19d00704aaf2e27badc7c492dfd0881776f122a152041baf88a7c4a77b9b0a55d020ae7f5f18a8211d1985cf387de766aec6895bbc8d92599dfc0189ac8e09c98586599b03a984067e3234d06dfeeeb046e59c3e0a57325d181e948d2348d6c8097b4f0efccd9604997f725488d8035eb00968a1d70591f250dfa8a60bc2fe551eefc21266f83699f76e6e1680901f079443898b251af0203e15781c3967ef7ce29692e0ab432bf41e15667c0434c71aa7ace - -COUNT=31 -L = 2400 -KI = 88c61c36bfa17cbaf51af2ae1b6528476bd036b7c6dc2ada107b95d57df8da3f -IVlen = 256 -IV = ac53b5f7760c5405c560579620edbcfb9b4fcd6874d0dc6a794fb53d76a85731 -FixedInputDataByteLen = 51 -FixedInputData = f0781d71b81b1d65b49f8740251d45b0f1be285124e69fcdf9aaf2c9a8b85c12808d4fb23a9253f8d6e1066fd2faa55e69118d -KO = b1e1ac8506c678e0c07d720edfeb323d05b6d699b3616b437ce1579f4598f0211c30dbc018243a5cf6c1f15a01918ed4d262c2fb4f8bbe6b45e21c8c4cbffd15826cc32dcffc17f54874c21b138b56a4be7f1992080978e72e78cc53b0d339a2851b9619017d69e761fac55890b8a96961971f5536fb00aac43a8033c1594470d307d08da9f473451eae9be22e467b16157038b44d3dac953e3ce6924b2ebf7d53d771014d15faec2ab6ff5f8e2780f7c6e4b0cf1e1cc07fc1a93be421ec33cdffedfa5042a3c7c992f56a62b13f6461e4228d2cbaf9d5f8e22b847563a4cffd6c08d0ef9ccbaf802a86506313d6ce69da41ecd034289d75382ed07bf301b1b70a2192e8d26321b4bf209c49008689fee052e7b25acd94148da7a88a72acb58297d445cc08f3f89a6101a615 - -COUNT=32 -L = 2400 -KI = 4adb4c606e87e7d7d2160761e82a599aee68bd4109d6ee989de69f9ff54125d7 -IVlen = 256 -IV = e6dab977ccc4b3a4e47d3fdba6edb2111e1c797797b7288bde8e85624b76e44c -FixedInputDataByteLen = 51 -FixedInputData = 987fd51288ee3058bfa34136f86939f7df7a05d575b27927a37b6f48cc6e79caaf32c13d2db18c8b7b1e3da37b53fa0545d07c -KO = 62a636b09421dab1073f9e46b6b806be59677d309fe95ecbc9f714e0901c2dbcb1f1d6bc62ec7c95cdfa24460758563febc584076f9e6f93455a80c674ec12df97881d1c1fe6f1adddc117369f1e56fc202c215702ac83b6a55a049cb959334ddbd9420b442c43d61e7ef35ff1446afb1ad8931d71daafafa82c281a9a835ac45b03b0bb98de87ecd6c53c11db3823a0222fa8e154a53dae2a7eb50808b77da9f8e40aa228eb80c1594c7bb6232435f91dfe79fa76249c6e5ca374e6a2d47010fac1d19bb29c34d5b79a643de5a4bd9ca0b0bacfbccab4d9871513fb5e808a6008ce0b6a3f0587f99a20b20e5904b7c1c2129004124ade092a3e4d1206578750275ec3b7a59cf055d0cf7c9d8b4c426e198880ccd9d4b08e754db3b8d01f7ed9104bf5fe4db5805060d0afe9 - -COUNT=33 -L = 2400 -KI = 8fe3fafde100702d84f6f2ad25d8bf6b8a580018d59ca01db8d0fec0ccea4f3c -IVlen = 256 -IV = 98c9c5d4fc5646d7bf771e9270296861a93548d116cadc5fbde7df8c46057a06 -FixedInputDataByteLen = 51 -FixedInputData = e5ffd9d09dbcedf068d5762dcd9c7177a2c4a4909f0404b06bd7fe3a4fd4ffc89d9dda0a5b875b73261a888c535c487201215a -KO = cf56de27903211b7be971cb64524e7c1f3c48177fd3f1aa59e03e131f043c3f70a3c0fa96ae828f3733a73fa189799a8cd569ae3a7965d825788e349b4f0c86cd46a47b16ce8dff6381653f1f06b573774a2da923d7713fb743ebbbd69bc646321121d53e2a0a815b6da046a97c7b52879979691379f3e9f61a302baaf51f8bb1d03c746020cc44603b03cb86ad431221ebb0e784875f7bbf2629c4e0bbe834cc49d7e56a767f31ce3efd88034351eaa8adce8d8b0a1bbb31ab7ddd5d8883f53508f6bf323c5aa5374cd1e430f8219a8da77921f3b667931d40e52fb0d74beff0099d21b4829477b73749886bf8c577e972e221e5afdcdee85df42d0c46a9b422562396a45a7ba7cc02f2be186acc7dbe7c66516c6d24f2850853de2f5b91ea22ca211015c98031d3c0dd69c - -COUNT=34 -L = 2400 -KI = d92ea5b9ca758d16bea087bf7ac4addccaba6010a98c8ead61544ea0a09081bf -IVlen = 256 -IV = e9f5019795b469c7048d8fef85cc5c0f5b83b5a8cbd4022bdb63efc3bd3459fd -FixedInputDataByteLen = 51 -FixedInputData = 174c8bd51e179c9df4e072c82872b303bbc5c0f4408c6aeb0e2d27398c04be3727e4189776599080bc44b3f7318cc4ec51ee5a -KO = d9b506193d0e2ba0822aab530c65e855a4e2f5475f1a649951fb4e6061d0897c15545d4e822b1f2c790ee35f12e1db2f64c1efbf156910c0ddaae72ab7ad0966b91855982bfcea14736367062541721990846d83a03a0544a68e5158d748af4165ec7517d3b7390a6a74e67efac336bcee9bbd6a116c742abf0c9b06b07f81de44a763d2e6f01a917f957553b53710375c89c346d06831b8c355bce21c18f3cae5b64bcea0da4d397da71f5ab4a06649fbf3c33129907bb9de53304ab54ff541c5c0a3bec2c18cdb8801d28a4fdbef488fcea8505fc00ba32e743ef1bdc7fc87743b8915b2b50ece1642f3da1981a325fde0e73eff9aa4be59e2797e7d653d7bd6ed1b6a27889db28cd8a7b1ba4e40dd2f43442a206c1d749731740859cc8212d33d0674296739cf2b998ad0 - -COUNT=35 -L = 2400 -KI = 16cc8435cb11a14cd19eea3e4f0a2a03e15d5a5c0e9160f9ae20c6024d8ef42a -IVlen = 256 -IV = d7034d84c258dd6c056cf45d86434fca3fedd47ba358eb121d20b705e867265d -FixedInputDataByteLen = 51 -FixedInputData = 2b4b25e90b8f919987e2ab878dac08907d21ebdb61f174556b1f365b653add053d5b779353d436dad2881b8cb895937cb7497d -KO = 07794278e2bcfea03fb7f390307dfcb27f7838fb929b7f8dda590bf7228085203fd4d36940503685dec90c7a0689a253b13bf29a7817ad86e3d3ccbb2ba9737be0a0448599c0a82702c8357841329a54dff76c24305a6988652706f60e833dd0353f0f0a8f5fb939753e079d1141e855ff72df4f120f1604acecbd7ef5e4f6096b573e304ba9256735ab09b177e10a4a08ae9ac9c1a4851aa1aa24695fb70ff5ac1e8baeee939e582898843bf75ec6082602625f049854c14a439432789171f271e7ddd0b8cbaa446e5063c0d63cbdb9d2ec347bf6d72f08fa4081997c29766553c08d869c0f45218fd1582e577e3929c5b1ae77703fd965555f66fb974b892c0830585c307cbcc10d7b9dfcf7a749232935a2483f3392e8805200a7fdd2332750cedab45c742fd755c2f925 - -COUNT=36 -L = 2400 -KI = 9b1169562ebd609a11d7983ac319ab2336024d732a91fac67175556daf9557cb -IVlen = 256 -IV = 81581d6102eca7bead96bf5715289eb408b95fc3bdfa28302b72bb2187b6cd62 -FixedInputDataByteLen = 51 -FixedInputData = 5b0997ade75796414ba35e1fe90e9df5ce37a5c5bee447f72a60c7350ddac983b84046c62b2da570690bf065ab49c35c3468d9 -KO = 4235ab9fb17a908a40dffbb458c960b8062457410211059dabca4bf8d5220c56380535440239d624b760384ee25d58d8428b3bedcb4c61ab066e2e10a253b8cd1b377cf95c94640b68b869d3ec3df86dbd84f2047fa562b693f2959bc4aa85a5d6a12d01c490c5316b6a28a3124fc8ed0d93b27d0cf6e3a7740950eccfd4b9752ec695400db7047cb6355503568fb78b64d19509ba953b04c6b3d1d2acd52ac65ae5fb0f56894da800f835e1cf7dafc86b7049b644ddf7c48447dc14e0ab246c71e5613540c5aa07969d4efbed2e0609b6429b78aac5de611a87f25180f07845475eabaa25cf32225489e2fbd3975acb2810c04c5e1de4bfd16e253cc4321e9e46336515e7df4343bf541a08d746871379f79fdef8f8a539627f12a6c20cd63b20dcab279540e6e0f4fabd65 - -COUNT=37 -L = 2400 -KI = b63eb4d769022b5331c3729a3cb5231d331677bb114bd4e2d368beefe4da3abf -IVlen = 256 -IV = d5397611d720a8b70118ce120de6f32072cc2a59c537fe7fd6c45a32d407cc6c -FixedInputDataByteLen = 51 -FixedInputData = d8f5c2522b6677a281d73fd1378e8b72969f84c9d9bfd77cce1f25598b784b34e5195e54abb0122e9ed038463ffb87a7f52804 -KO = db4ffda53f45a33bd84f818f4c119703538027f74e5cddc59aceddef393c1affd2722651b18363c5049bf539f63df625cf014a5b41dee585fdbbb2e7d2f7c94fbf12e0cc1acde728010fc7c9eecc56df89bb56742f1a7b46f77321ea9a39dd7a0dd44a202ef9fb914c51222e8f1aebadf5af40b300b6531566d5dcc68ba291fe0a94f2534794f06c73fee74d51462cfcb1a5022b57bb0632c1d93e66e892d037cd594e37632e8cd14a78414bf6797fab803a9cd0e2e576392ccc6814894fcc18a2765adab7fdb4397f5e55bcc2fb9b39973ecdb19431cf33d676cbea0d7d70a2c466583adf6278bab33f819b9671883cdf65595042f3f9665d12729bda4624471541f78fc0002a893e8351d0b8ddb0aef19946d238c150f4a9186f4ebf936e3824799fe2dd6e9a0f75f6194f - -COUNT=38 -L = 2400 -KI = d404d756094c23e78377f8218eecc3bbac188c7e254013522a31b0b1e10bcf4e -IVlen = 256 -IV = 87e5c271a0bcd9a29d51ea2b70b030d5e4317f201848b768713f919dd1f64658 -FixedInputDataByteLen = 51 -FixedInputData = 4c70778e27fe633d15886b438a66fa3d7ef09a13a92aa0eb900218ccbaf30f4ca2a6f08adf90303564246fbe174a7085189aa9 -KO = 88054c4023e6586541115a469cdc08cfee430789186fc99b3c0b65f07bae360307052b55a11989a80a5c0aa3c5d9424da3e52778e9435077efdc047dea88b84667d4ba5ee62fd897e79457a15c5defb1672f3847ef6cd39b2a666a487c0d5784da97bc3cdfffe5f6199efe851bb079b428d5ecfe7c15c505d338e06415e0f7b04f2c293500c19af1b2f9fa1d11892b18a34b1432ab169b68ea212c85263dca922945b6a4aca63dd6d9706242a213a6db25f7fc1ca74066497ea8e913a593bf1b64d36d1e3495b5cc9969beda092cdb91d0780a4102fd695f027ec43a99c7ed880b864f2b6260ef026b4eac9ea455aec05fe2d5e5a008a4dc261def8799b124fc15b11bdf0fc786f33b4c4d8f69f2906378595967b8ee23c653fa98131030229b740d5dede09668be9c7ef93a - -COUNT=39 -L = 2400 -KI = 2f3aba4915b4d89d776362db5c78e8467f4db40db4da4848a4d224987dc09ae7 -IVlen = 256 -IV = 9d13f08ee8a61a067057ec63ebc7247783e142077607ed05046c42d4903c430e -FixedInputDataByteLen = 51 -FixedInputData = 5c587b10b0d6151d66e64ec5fdb3a7c4c0492480b9f80772f97d1ae70d7382aa86cb197f7e4beb4d967b3db163431c7b7706a5 -KO = 08884866993c76aab6c4515fca1703ce5448fbcb390b00a169ca0c6b8f5041640bf9b7ecadfdae9e387543d59c982aca35c578166fe400cb9e4d410f32d6f0b02eebd1f7e2e54acb3f3889b95dad729db1fae197d36fb86bfc3ac9b9b23c3f329d32cf0ac6fd6ea7b722771d20e9c5f5407bee52ab111d23c26d21a9b975bc91a19749290f98ff17fa2503fedc8dbec202ae1765b9def1ec48cff154a039ed79f17480552644dbeef73c74104b0828657940658c0ffd433e9262e2365e245adafc3956bd30f12e811effe865fe9505a4fddbf678f8ed4919a441889271be855346e1c7b6bf8a31dfcd9b3e1ae62df3944ade89ad1750b662a3a344f4578b2de3d6cf4f3f12f839dec20bdbc8f79eac372b0784cd948ed9bd961c764c845965e00e2861cbcfb57212858282ed - -[PRF=HMAC_SHA256] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = f87e9969f59ac5f334858f8d0eb3abbcdb5dbfc8bdd5f0e8d7e63dabe6114838 -IVlen = 256 -IV = f3ec63eaa8a42e23fbafc620b41c4a51dcc3300aa1267237ab11e7addb4b2b65 -FixedInputDataByteLen = 51 -FixedInputData = 8f34a5d86012119ac1506806e4d0fb93f60ee06ef83290e57af3e30414e6f3987e356f6fbe0a696eb2e96a108ca60479e11517 -KO = 1e73cce7ed3e97c478692f5dbe6ccf3a817325e3ec726fab1e61125d8a140d56a77568cb9039f259ec62e4ccd6929809bfa0263475aeb25cbc58fb6d839b76bb - -COUNT=1 -L = 512 -KI = b8e8ad3df6e2cd3c0f16cb1d37b205c10ccec1896569cbc3d7dbe9ab2a3afa81 -IVlen = 256 -IV = 619b245fd6b7cb517b3e4baba839c1f9bc1c54c6850a699f53a525cb3621f774 -FixedInputDataByteLen = 51 -FixedInputData = 09581462606b911809b033e7c1d492a3a1b096c05d912a38266d5a49bcae17ecede12b50d188237c3e5da02f3bf40516d72b05 -KO = e7ec2b133b35781c022f170c77386e09156374ff7e2f802c8db56eb43a37e1b9648b21251db97bccbf9be6a0301210982b196a3ee3e8568eafd8dbe8c61ce314 - -COUNT=2 -L = 512 -KI = 84243d03ed545d57bc6095028ab6713af4dc9b3f4627ffe7274fb58fcc3007a7 -IVlen = 256 -IV = 70fa0a1507354af3b6996c9c295b7d58bda9b0e63eb19b860d5b828379cf8d08 -FixedInputDataByteLen = 51 -FixedInputData = 4752b1fce57d48be41c5ea0281b497add43b2073318d2378cd071ec92d4aceec51f8170c8d265a871ad2a0988e36cd5c337b42 -KO = 2ff55ddabd36761284c31435507e8be308b894a754014219ed240bcaaec1476f3cf3162193cf00db50fd19b2ccb8141762e84adeed760df436bbe51171bfaa9d - -COUNT=3 -L = 512 -KI = d9e1f6fe5d95da777285105877a7fa87bd749f479769744413ccd450790e8c14 -IVlen = 256 -IV = 750ae79dd4b2fd711c1feded28de0744233d750f3bc911c139c59567d56103a6 -FixedInputDataByteLen = 51 -FixedInputData = 71765fe8fcf11446981847b145ebb0bfdae990c8b032e179e9fb84ee618e61acc4d8d444a39ce500906284e2706dd81bdd01a0 -KO = e4b2f8d66bc4a3d484c06a5e6a9a74e12f6d59559d6138bddf4c467e87e90e21083e3e8da864a8f96f4df989207a660a8b638c18abedced2f44d6b5bd96ff716 - -COUNT=4 -L = 512 -KI = 0da1e9b3d28eaa432cbedfdbdeb06f1690ff76858137400c2cdf4b9d414ca9aa -IVlen = 256 -IV = 46bf8399f524d2f63141b4cd8a1148c334eafdd2775a378c09ff19c424c2ef96 -FixedInputDataByteLen = 51 -FixedInputData = 06b720425b2a7077f13c04bf05571ae9907d9aa9af4d8bd30f1e7398be060a092f6fe7c9243955d57f4fa83bf5148c30264fb4 -KO = fa04a8119e52a470a7ec37df5b6ee752c3fe4b2bffacb82469a1365b10187688f2a09332e62121df25974eeec2e3e36b623acb6cd1dd9b1383dfc55fbfcc7560 - -COUNT=5 -L = 512 -KI = e12aade3e6ccab72104869f34f0e18e4aa7c475fc8f6e85cbd8d7043cb2c5d6d -IVlen = 256 -IV = c94464171f925ae88fef788411f05fc3ad27550054dca52aa6c70c1bd086e88f -FixedInputDataByteLen = 51 -FixedInputData = 275386b1b0aef109bcf598271ccb4466a84e7aaf04b0a283448d3cae5af6edb59273cf8789597777933af68d622b256bbe3a33 -KO = d56f787c9c10c8ffbd5cdbab736689f1f4fffd8568c45e45795094ed394006a90f94b1fc0f66c0415dcfd9e0ec6efca49be61182114c0aacfcfe7b47086105cd - -COUNT=6 -L = 512 -KI = 20f10bfa1ea5c4a6bd6185147327ba6c05dd8dcf0ac5d8d499d12e0b39e70f26 -IVlen = 256 -IV = 4ad41d91b9c0e0b963ca8a257c2cb21437baaf175590d88e31f600aab1b76514 -FixedInputDataByteLen = 51 -FixedInputData = 0d4a5b6bea83b43ee44361817450d2ff6b96f75997038c7865f21b4f906316731c4f1110895c5d7d273259d1909b22180f9bdb -KO = 19b427251008488c8eced2f857ce831ff6c330f00419402fd79be4f86c1465fcf83572c7a2bc8fa003deb4bf55f8bb0fa1f6cb805be6ee2ebc6325dd69057696 - -COUNT=7 -L = 512 -KI = 388b1c15c7ed677e41681b8f0a9dbf6bfc03f6274cbe375442f0f2e10e94d7a0 -IVlen = 256 -IV = ba596ca50f61e622744b109581ca62f7467abdac0a362cffaf6778ae749981cf -FixedInputDataByteLen = 51 -FixedInputData = a806d770ae23f19224fe0aecf286603b8779ff0727aede18b72099787f6d7ee7220c16062645b567452089ac6cad31782bfed9 -KO = 12caa27e4120cca2d88fe53b0cb369b008d0a9335d692cc0859023083ae72536cc50c067896b618d9b08325330abd499b1ffe748c65c1323efa0c5085be5d34f - -COUNT=8 -L = 512 -KI = 268de97e1457ed4e5cecb04dd349c9346cc0c80b66c29fb11730daecec496cc6 -IVlen = 256 -IV = c8d8ba703e051d79a3b5efb7b72016243ec1f41c57cccd06de9f1c6f4773c2e2 -FixedInputDataByteLen = 51 -FixedInputData = 4be2fb466174e0d933036d5ce3b77b37595b958c98e207060175f78cc082c69753d38a53cc2d1966ca8a8ed255ec70980a895c -KO = 6abfb6aab00a96402644eea74c9501d10776e9d961d8b142c371391e06ef51a5b603b7de8e5155afb5e8cac2f51bf1a89af75bcc5ed1015be6089fb67c17706b - -COUNT=9 -L = 512 -KI = f1510c1da600a0bf4c89a14b30a80acbd303a57492c3d66256ee573d3a507cf5 -IVlen = 256 -IV = 54d9cdc761d43414566b6110a7a748dbfaf12d1bdfd95a43e203e50a4b206ba3 -FixedInputDataByteLen = 51 -FixedInputData = c0a4c93209e5bd97ce8e5fe9f390c143c01e738717e0768c46bfa880abb6fd2a658fb78c19e4bc870a87553dcee2502a61fc4e -KO = 26bc67c35b201b430bc3006bb9fadfda90f233a9b09faf3f3486656a47a7356828e9a06b0349752b92f8c75d7e0fe9b848930ab68ec18e5b1bb853900c373925 - -COUNT=10 -L = 2048 -KI = 78b4a0e299de3753b27afe431d8fbeca549c4b0ccae78f1dc7fc7df0ddd879bc -IVlen = 256 -IV = aaaca163e949f2e256895ec5a4016b32f63e43484af7691be9fee37fae0c0b68 -FixedInputDataByteLen = 51 -FixedInputData = 94c42004a66de095678ddd13ff97a73e0e8a52cb8c95f8f09cfecf146fee6c1d91884376b6cef6baa780f98783231df274489e -KO = 63fd0a265f435de863dbaffcc313bd26751ae3a76506824a69928134cd3a46db9f6caa7067b341b5bfcafd80e0e517004da35e9a43e4dfec399f83d42d18a6e20412d4f71bee2588a7f3b769cfdb21e0be4a2964e2f0d8f1bef041b8eb48d7017c7a03be774491496452d553aca86cb63a707f44d90963b5e2c044a345717f691d7471dc3ce626d9f69b5623af920e3996d5c72e7d85aea729a6b1462c77901363c52d629add06166912c955ecf4b454229bb59783d027932a403c6ca72b6cb43e826044698b77948079318e123a46c97ed4c94a8fa823d35ca1fbf25882763e83293bdf790886eaab21e74053faa2d7b4264745655bc14e1227009c6ad6bfaf - -COUNT=11 -L = 2048 -KI = d547adda2eb2249c304f758183ccd31ad1c682e3c5e69f6481b0e73d655127e4 -IVlen = 256 -IV = c749c88045832ceb9e728c4ff28b47aec6b76446f6d1ca5f6fe0d0fdb83484f8 -FixedInputDataByteLen = 51 -FixedInputData = 618645fa30111c6b8b16ffdaf03a25ac297d42e79648cfd57424df079463ba187f9d6ca206c114fd2d6600e4ca878c95e60527 -KO = 89026e495e6d6a8372d2f8505cfbbc9e7cf72737de76ae3dae642978c74fed01ce994cdfc270176ef47bc4fd8a493226f6ef9cdc4c36de604bd9d1475068aff10367db7b46fc0222e601c88a46fadd9e889348e3096be3d3e8697cfea1364195dfd44efee26c6925af1a34a59ab6068182b214041fd8e7f60d27762d980765ec559ec8f63b86b5c370dbe839fd05fddba21c36c91d92e078f56bbfd32f1b503f0a358c7fec86b537bca6b20ae92c92af4eae7b37c05ec02ac103e0caf10f5acbee4bceddd5d13182312c9d33684bdaf8e14f7df7c7707a511fdc1ad52a3b6488bf95900507796097fbada522820ee8e7578443479d443417f7845697b5cc26f9 - -COUNT=12 -L = 2048 -KI = 1f826aadd5b4c8c3e489a7e90d559cf9162b9720c0758b46aa0ed427574144ca -IVlen = 256 -IV = c32f1a7bd3adeea914429b148f739fdc8309cb567218d36b3efaf69a918e5f96 -FixedInputDataByteLen = 51 -FixedInputData = f98d28d058d23afb1de768eaa8db0fac5e6e461620e85202f2ad251e86b6bf1b6c6dd587f6b2ce5832427627adb1ef66465ba7 -KO = a6a3f83e359b9b3f860f04386a989d6874b49036b82d1dd5067cb5ff520f397bea0a459291f2866c97b23558572b6fbe537243ded75087a001047886db1b58845bfeb535de5d4bacedb07869cfc750e0c77e748cd5eb55355c0018479e8970fe99d679f19bb30c9d8cbaa7abed77e47d089cbce07f693644d484d0d2541a5560361a0f4ae17d250b2df96752f2ba04b02d73a764555f38bfa0d8a140604a7e38f569edfaa4945c3a04696959444ad22269c2fd75b10c25ad13af2f94f8cbe436d388f07988b851efd8e30d27f6c6be824a3484e92dafdce5531575723597d805d8f9e3d59599d1a8f79fb1737a35b68fab7cc420920a68d9dcd8ca6bb16c55f3 - -COUNT=13 -L = 2048 -KI = 9ede458309520bfcc025211d0578dc2f2c3587a9ea97ae2ca3883f849c7d144b -IVlen = 256 -IV = 16e3207da1b5002e7ba21113c1b62d439e69630c817b9b0d351c28adeec74f72 -FixedInputDataByteLen = 51 -FixedInputData = 6c034a1602a07f72ad3899c7a4f811a1954e9ccd51771937c060def107859a0eb81e965511f71c3f50b5f592ae3cd6ad72bb7a -KO = bb1ce8d0df43b1137a4f50a9e0dd07151f8ff266e2af5ecf011341c7a66789cc75c91cf9d81ba924e170a7a4fafc08aaf7009c2d33c28a274172c2d586b017c37119bf10b04451a8b225a503cd6e7ed6382595cec3ebfd0e7de6a1a5156c25f9b871f13431993926900d30275d54aa4fbb6bd896e7ebd316884f88a0d8f68647c960817c79c020d27d905302c2011db34b6b90037f4471c4d51b87018ed8b4b6fdc5d0831d68b4005d90e655822b8f10bd2c2e83ef69605ed84fc08182103c22758bbf9ed5ad2939b02f0240f0bd65e8be3d5ea61b75c552773a9f123bc5bde391e2ed04a8f659e3b8a8bb2f2eb13a2741d3138584e082374840f8b1c16a112a - -COUNT=14 -L = 2048 -KI = 0d32185362a60de2a33e08f5fafb43e818740f536eb92588963b700462149aae -IVlen = 256 -IV = d9b4d6b46135bf08daad45329b534244feee773a8f925eb08b69782e2f3213f5 -FixedInputDataByteLen = 51 -FixedInputData = 455cee500b737cbcbb065dde6bd4afe0d2e139b3dea0bfc133be8428b29b366a50ce7099d725a832330137441140a410e869be -KO = 88d68b58b1f2d32b9bffde2b231cb25788c48510b6c27178741065fd17ba465372bdb74894fa4ef00861ff93899cee3395204c3da06f139a5650371b86bbbfdbdda80ecc61260463e8bf38ad58d56b00d8532606c7b3f80c0930fd39e76b551345528bd599d672e1ad7533560e266bdb7b2045b7e1f157735ca227482c0ebba8a2ff9cf70e2ec90f684496ffc2b2e21ba87d1f978dbe0866dbeadb350f42cdf7d3e172fc9e76bb97e7db926d745614996492df21b84d8212ac5e1394556d0050e782a0f3f54ef94c75d4eb604c676bf5b535693b7d768415624588f7c2f246f07301e2c943cb75382f0994c67d1fba60f866a6d8623f8920065479f5c941ff74 - -COUNT=15 -L = 2048 -KI = 345f3efd6d63ec6e9efbe2518d1bbf6430054e17f5cb0ce3b9ddbe930f438c5b -IVlen = 256 -IV = 5ebd4613860f3b0b8c202959382c92d8766a916b511792fce775b727b10884fd -FixedInputDataByteLen = 51 -FixedInputData = 7c69dae09c3d684f0762e735dfaf985f8713b3069cb9a9045e61176aa76f2c3f00fffcdb39414dbf6ab83d4e8d241b773d9675 -KO = 74211a85612755ea86805acdeecfba12f5c980ff211c0f61009404b0e5d29637ecd01a91d187eb61f0b380ceac16d30f483d2db9753d5c626548ea4be9c3cfe37406e0b746712967191e946803d0ae07eb344697cdeb9fde9217be69972c70a80122edbf3c20008cdb487bd7947826296198c20b560c6c8bd963e31974e3f1e3e7c4c314a3fd13c7559203f5ce9b4bc6f98cadeb8e82210fe18813567bc68e04eeb2cdd3829261ce02f8a93ad8b6cce004f08f271960cc01891a26f271ccb009a7318459417c2ec260df2a75c546a78dde945a44a983e779151c3b361eb9aec4dded13f3c932c4c23a4820b516f52416a6f7f35195dbf542ba6d7332f3ec6212 - -COUNT=16 -L = 2048 -KI = bfdd1aa7e69ef30dff945d11c2419f89ef2788bd64cf1c4f982a9aac22fa1a65 -IVlen = 256 -IV = 27375f992f9ed134dbb1d274af626297df04f58f2e707ddc669f27012608c0a2 -FixedInputDataByteLen = 51 -FixedInputData = 882b7e57951fa0b7b315665d81a16ace385e4ee68cbdcb2f5bbf072f6545130ded376d08b5e7eea41007a85d746d749f85ad08 -KO = 5d7ce03e5a66639db39b389b33d70938bd496025636ee3a56ed5e8267cc20f967a94dceb0560d881f993592b54a7918f39a561ba3a39875e7cd260646f9fe983cfe5be0bad9ce9add65dc8a51639c657ed1f4a7cf904c2f99ee6f6ef50c6ca69c7fa820a30972e2a86cca60b3be076d6047c8945df8293f3c585dbd0fb7765fa39e4742601a20d79c69d0c2d599ccc919ffe5d5c24e583f015f40d3ef511db4ffc4e8746246aa984082eccc1a6a6bf6519f9a20d2fe26bb8c9b0145c5e10762bac64f0f18021b7206171e64fafaf9dc543d08e7f3bbfd575e408f49ecc76127c0a8afa2ed7e2eeeefc7cca7d43b9b6d47e936c6bc75b894cb079d7322862ba23 - -COUNT=17 -L = 2048 -KI = 740a10ca108a7efaf84b2b242b6fa588bc96e3b79bddc756dde6935171d32960 -IVlen = 256 -IV = 09bdaa2c530c50505719094ee5b82f940e177fd44bdff01a9b7c7f6558c588b9 -FixedInputDataByteLen = 51 -FixedInputData = 5595168864e1ce2d0e385824509dca13ac07f0df9ef517e7e331ee45c709a7817bfd75924caefcda181cd641beb5f092f01f20 -KO = 3faf192ebf4b9b2bfc6c4a70f720a9d1407aa67acb380ab373d8c7d365d226536bfb2098ca29ccb02b87ad8aeebe8924c8631533d4ab507afcc0fd245646b985533f80096df6a74ebf64f2f6879cb13ec33d51f44419495da5dcf257c88cfa5f2564ff4dec6f9fa9bb2d47c552aca2ea16298d132fc4fd7acb853319498e6a22900a9d92f61b209b30e275c21d44c8ba1f738b02cbe887f39d0985d92de5aa9a064a35d1330f5f5f6b4293231a2d4a533bbcf33e7e9817c03c6e6be97a14ee3a913323699bec51e36cd12408b6f74d1d85024b52a97c3ffe8031610dc0088eb97c5055c5ec098d206e473a448c47ec3a07b109c91ca2c311c3f505a86e1e0649 - -COUNT=18 -L = 2048 -KI = bc39bc5eadd89904a2aa428318d29b83ef8a931aa8c857ddd68b292ad7e026f4 -IVlen = 256 -IV = 64c54dd9cab831e3fe2529b4066d446d004c331911645d4af298c53dd64b48fa -FixedInputDataByteLen = 51 -FixedInputData = 3fec6b93a07b3c44f862fc4bfc2630606d6fb2b4080ce9442525bcbbc82747ac485222453d2d9341a919dc1c8af7bd8b050224 -KO = 641431128185aa2bd9f5336017fd500bbaae444af3b970f6679b92d7cb8fa07d018a91987bac5a0393b181245a08b179edbdcb6449e70f21c92502388d046fe26c19d93d90c4bf261c6e99cd598188e068cd017732cd54b9cae270c29414cec4aca00803d835eedde8ae5b4af40dae98571244e26372d21906521f1d0d249fb14f8a0222209ddf8dc5ace1709364ac1d1bcbcf2f6986bc2ac56f12892f44a5516b3fef841a262aae165b0f6de98d7f1ad34232bd94fac7dba617b46c2000c199f6c4aad2ffaa244970c1c89247f61887b0fd18572974aab19f7f7d20d5d965ec7d38d11542c58751b2f2671247f214ab35676f50d7fc61ea3c7c948ac178627a - -COUNT=19 -L = 2048 -KI = a930fe4e33eb22903662d1d2acbe14247ea5af4ce0d2fdd2b42c533e3b26cb53 -IVlen = 256 -IV = 1b4a85981d552381d8b7bba410703f52bad7ab354ae421a3a540b2ad05ffefcd -FixedInputDataByteLen = 51 -FixedInputData = 763b819427cbd59e7b9a7f283ec72067fee6791ea47fc7849ec94b02fffd72cbb8c4d942e9effe8be38419d5b2bd740e06b694 -KO = bf66cc2d3c4c14e65f9d4cb563cd785aabb900d97f6c1f8f6b0bb2fcdd227fa81d9daa469d96874a6866e45814b3cb8aa9ae311a0bdd367c404279530826bc380b59094ec59fa0530939030a1cd5f3f45c4c2661a15757e66f38e60290eba85c981059276aac54181fc301f7f03e75590eb7fcba461e1517c6bcad1d40b6d3742e0824f74159439207f2ddc87f9086f3a336515e9d2ad160387ecf1acd4b4d4a9c07fbafffb9bbc5362d5138c2ffae246f2dd29d78bb2eb93261b9e1b75ea12758fc79206b286ae298d57e88268afaff0a9a30da69a0f84ccc8c87df54b525f90e2e17f75c373082eac6ecc7f444fd2a642bbf1f0ded66ea42d8a82c0030ca28 - -COUNT=20 -L = 560 -KI = e239ff556d45f08e59d10757b0c7548e68a8e70bd301f413315e1e70d6dfc1e8 -IVlen = 256 -IV = af901bcc7cadb49f687a3d5d5d4ad92fb96472246a644e4cffae672fae1d2ed2 -FixedInputDataByteLen = 51 -FixedInputData = 3e48f801eea934f46c15658c624b4cffe3086d115b468a7da5559a3369c11c3a74945715bc63637ea21730f4b5681429c7371c -KO = 6323bdbbad828ef35be1b066db1bd0ff79c2615508cee80029ef944bc476d6006855cb16ba4936d420db802021493e1e9cbf3a358d49c2a1bac969ee0f204a182f7ed69b72f8 - -COUNT=21 -L = 560 -KI = 7611a3765a5610cdd18550559ee64e8df828a8236fa125020837443dd91b07bf -IVlen = 256 -IV = e906268ccbfed287a9d2f206060e72de23669bdaf342def23b09da977105b829 -FixedInputDataByteLen = 51 -FixedInputData = cb4574a7c59874b9cda61869f0f9fca42c937528b9d83c027d189e41a793a2e8d41cd6e8a5d4d855bef121841c36a0b4d093a4 -KO = b51ef0297b3f28abf29f6d2a15b59f6e80b1280de538e2e791572b2faca244044109837853ef3559cd4046c4882a21e21b253c30dd80401970ebd84e8a8a07e5738b768f825b - -COUNT=22 -L = 560 -KI = 5f38caba2ce8be3bef57f88a92020609bf38d8159bda385cff38efcca93b7d18 -IVlen = 256 -IV = 1b9c33807e52778214f39ed0fbe720402442479a2fca1b226f3f548f7fbf29ea -FixedInputDataByteLen = 51 -FixedInputData = 4ac3e5b9d47e4e3d96147bbddc532168982543c7133a5c5ee4f52b0e8b5d372100c2c5899007ddf81e79ea6c2d653c0a1bf87f -KO = cdde2a114784eea21b46450661b1b3b827d181bee1dce58bb983d5054d4f92c0d7133ab9cc4fc3f1cca09fae455578886006d775e06fbb7956027620ae80b6979ce5dacc9511 - -COUNT=23 -L = 560 -KI = 2b5c91775e81834776167dfb03a57237056395d1f0829ab21a75009338be47bd -IVlen = 256 -IV = 2a0e819c2133f7439609cfa4c126c14d3472db0269248e061a88ba46ab47a5f6 -FixedInputDataByteLen = 51 -FixedInputData = 74e4c94ab73cb6e0e525f91f7e726e31db45c704051c0de2e4f9f8d3ac158f6ca2e4fed732b6cf02d96289185ac3d9cb5bc9d5 -KO = 5e3a42e8ff2cc9d09f9e7e19f7de38a8382a37d8ce7939ae020e684031d70abf90b18c52a1f2a8262edc4b13b769093f9d8d0ae1da373fa4a000767b6808c25ab98b52a2b190 - -COUNT=24 -L = 560 -KI = 924282972a01ddede0c49ed75dc7af8efc32de6474a37ae9a0891929716eed36 -IVlen = 256 -IV = 64e44c597c924ac8b7958346ada83cdd37ce2c2a4a15d27bb9b1a1060e15aede -FixedInputDataByteLen = 51 -FixedInputData = 71975af327dcf986deed6d5b91ae655dceac3b8bd838a6eb13047256928b82ded7b721c19ca4b61bee1e0b9c02263ad3cc179b -KO = fa43f0be9ed37dad290b0f54f54a327b45f81fc09404e17c1a0e3ea9c5cd779bf5df7ca28ceaf91105c1655f2244ea93a9fcd1c4ee18e4f395443f2763012381cd0ed1dc5983 - -COUNT=25 -L = 560 -KI = 9fdbf84e28412ba65a02f2c676314b03d2f4b62463fbc1c415867862b2b3df65 -IVlen = 256 -IV = 8c39c89a38fdc990cb8b6f544d25cfb4cebbb87e570257546c4302144d29c4cd -FixedInputDataByteLen = 51 -FixedInputData = 3a8c2e77a07b4ac894d4092ed0948a45e4cb3d4d5733bc867b869afcb935a6507b5ac5feb2c950e2be98b97c2a6ed4c04df3fb -KO = 2ef0f7b7ac189aada371489ab0c8529f99425c87a8fe437e79dccc3463bd83395e179e664a9c6add01d96ec2dcb221eaf09b4f04f5e439799f1195452b57e987bf46e291d7c4 - -COUNT=26 -L = 560 -KI = 5b27621fa040f61834a3c78bf2e865c50f6f68b93ad32c75af945b84604f670a -IVlen = 256 -IV = fd5d2c55b3f8fffa163b4d5eb1b1828d2b3068f3ebaa7118e13195191f2a2565 -FixedInputDataByteLen = 51 -FixedInputData = c1c7d024940193db93b00b8a866fb02af3b7dfcdf753dfc38a4f83ebcc831957c91348d2b42ea6140dd09187b3ed65e85226d1 -KO = f0b4d66f2b3dda3689552861fc2770a749414f4e62ed773a27fa91a44086f146babd72eb2990f8fccf4cf7467114e2bb6b89606eae0f860be0bb82d3694385c7001765e6cc39 - -COUNT=27 -L = 560 -KI = 94869fed5cea93aa46cb6579d924335838e7ff08672af24c43e882d7670e5b6b -IVlen = 256 -IV = a1263e038e622bd6e2a22c525a850ebb442e501a767e5df67a2893a9d40c1ca9 -FixedInputDataByteLen = 51 -FixedInputData = 717346f8a3670143ac0b0e01090784d609329992aaf4d66636e36112be67d7521f1d11eb87a7872851cc147e7638dcb561c184 -KO = 0c43a6469ce50a990cbd415c21952fa29fa96540c024dc7f9acf493283915b12ccc30658409893f9f5a1c5001924c99363b555a12bb9bb9627b75150805536a1b6b92293cd91 - -COUNT=28 -L = 560 -KI = d9046bf91317c499524b5bc317cd430c85736b6f62249d574ead49c171707015 -IVlen = 256 -IV = 222b9db9bc9e64ba96522415d96eb9f164efe2539e25823ede1aaa8223dcd44a -FixedInputDataByteLen = 51 -FixedInputData = 440e1106daee6dc5d06e12e42b29df8704511cba88b1be1522b38c647bd14c3d121e8730c2b7ebea522f3cb3f55066f1f0592f -KO = 4d1a5ffc935adf8f16569ae68d240741743f58c983e59ee8c4a2de7e340f6e9452646169e93dd01236df4b5c1259b5a34ac28cf9218e0c6a7875a8772a94330d2a7c73c92ecc - -COUNT=29 -L = 560 -KI = a8622fd7df9980bd300184c7453951204f92d58a8ef80cc07507247f10056bd3 -IVlen = 256 -IV = cbd9805597b973f719397e57ad2fee2cbe61fd7da1d19412da9e95046a8c227b -FixedInputDataByteLen = 51 -FixedInputData = 17960b37e8ed70e0da9faa86135517c0499e37a458b35266101435da45f9d61757a19bbdeb6247908977a5b217fc4f9fdb3145 -KO = 19bdc01fe6521140ab743c916bea63c97f9fef9842c7ecf97b0734c6124dba56c5157fa988c11552a8042f61c90b8dc0efde3fdfa4e5508d8253a1a0b6de80d746d109180176 - -COUNT=30 -L = 2400 -KI = 554b169bbf09449cf1e7af87a71a94022b0ad9ff904b9d95b987f246470bd11b -IVlen = 256 -IV = 753eb4c217762fdac7fa44adf04458b1afab3bf8cd598e728da7da1072278a63 -FixedInputDataByteLen = 51 -FixedInputData = 34d070068b543bd49a751656af2422992b67953ef4d1b894119ddd943301f398459d4bb35c362ad9d57dda61717f78fb3c5559 -KO = a9889ec70dd9e7e16b91a10bb3472d2cb56f0b20cdc707348b74a99b74b42fdcfce572efa99648c956b0955f67c78350b7e1755d2ddff0a3f7b95f8b264d63b71b660463208dd12a4732d2a3b55228748db7bd04e427b88b13ed42ff0b07c3757b53a35c397ea19cf076a110df9aed8688eafe75d4ebd126305c402458a83bc0fa251eb70906128b6c6f541d31ec32e4040602d25b390bb5adfd3dc77204443f12a50c5cfef08c26d504799d7d573b910f4926499a2fd9d097bdc0ebbe306b099ef5e3765cc53db272f634bb11a068bc97a258de201db0f543918578286ba51cf5929aae4d57cf356514f50ae333e23dd77699866765664b8eeb8e50de8a7cfce547f4916e374440477cb5c2751a4db9236618921bfb1f0960ef6fb6bdda6eda6ed97e2085a6d634242a989c - -COUNT=31 -L = 2400 -KI = f85ecf7ad51da8d5b8eddc8056fbfcf48bdb733e5f0cfcc29629ee1f7fecbeed -IVlen = 256 -IV = 41142aaab2acda45ef742833feb96d43a31f64d420e9487291e7033036bf2325 -FixedInputDataByteLen = 51 -FixedInputData = 99e64af579b6d3f319e25b6446f794fda336323bb00387a9849faf6e0d6099cc807bab3fb7e8e7737e5b07b02b2f7a11790b48 -KO = 423950b9ea7beb738a004e3450fca330aa16a1c87aa7fd2cfc65627060ce150881c75739b094f89c605a1f19990f32a2d3c4b10f7081e842f1540959a079675cfa8c5b5e8c6c191fa9557e0cbcda51d0faa979ce39e26163f4763403b1c9c2c05d43e0e92ceaf89bc341d52778afc2d7e78e78fbda384f84e66fdbc5a6fc777eb2eef2ef832985707b98b319bec0f43ad26618634727b9f161a643a12f7d0f12f8e1b1d9f0054af610a07804c9ba72266d84f8dbbaba3e7fce6da2502859aa3bef91d0d5baa5f21b077cd5d5498e3f09b7164643c76507fadb68b67bec16aed3e16625b24c94939541252cc7f4e5ff6bd1ec114f7e2359ec09998464f8de2538fdefef4dfbb17c7ff48f8d3581b56fa90283c588bbe5002b3eab966e30813865b250f09f7433b2a535640e24 - -COUNT=32 -L = 2400 -KI = b1162a078ad9d6d9113f0e79ce79d3f2d9acf580a03dea3b0bbf37e9a3f6543b -IVlen = 256 -IV = e914fd8f3857d2f00e4d81a3dc302a7ed0ecbdd2016e5b187fed3ab2765382eb -FixedInputDataByteLen = 51 -FixedInputData = 2129d5cfb6b7d028a3c1a0d341ff01d98170f2b29cd473151877a9538e9775ed2a96301138a4f1bc8f127d36070c54a370ff3d -KO = 13e990dbdeff86a3112b64ab162f07001b9142f573f5f795005e9cfb731faf32192958c8a631749b5a8ba8a48a7108b3fb0c6c5b793af6957a709ea98820d451c17ff90cf0db292dee4b88f06ce30847f54c10e112900383ba512240bfb510cef9ac3852e20b390b3675f7905a2077e816a5d568b515a5e1ea15818f35e7b21de6dcf7489a1edcfd13e0a94910cdfd24d6d5e4749b935ca3fe3c2c765ca6d6014b9e0a5c579117b64ebbb42ee7e885d946218bdf5d7c72cd566dff78cc5ededed46330f522c2742bbeb7692230d20814f59085a4ef3d5655eef5e34c46603d4b64dbffdd8bb04690119780ae677274d432700dc53c28e646135dc48ed194161aeb60d97957ccc4a483d8e4c22f90fc315416a9ea751a9344a14d0226f5bf6c656f96b8992bb7ce5ca84cfa50 - -COUNT=33 -L = 2400 -KI = bb1e5f95a4479f55439c9e32dbf6237f549ebc3171753a92c21b0b8a88ab6ceb -IVlen = 256 -IV = 79524a328992476c76f7a61c5d16635aff70ae6d625be65dd540bfc058c96ad5 -FixedInputDataByteLen = 51 -FixedInputData = e64e4897784192ff6d9a1a71fa337065a124d78e6fc82cdebe42af8c7592a98c64ec2e90b85aec3cbbc96e4a0f1527014fc9ca -KO = 8edb6501aefbf7aa21b7143d81c367f4d067b8afe655fc597a4f2d4b1b69c73a51c5c5331af7149b5181e01a68d16e1ccdd56740365e7b2d4f7b5b7e6fd2c570ea34726a421eb9721b6da5b7ebcef5a5644a45ccd82dd29f86ad958315bd96f669ecd835556b63132859e333a015f70f0180200a6121184e3393b8302c99d3818a9393dd38b63652e7a30e3827ec4ca72b3992e2dc861ae6298ac1454a2a91a4c5a6f663927706d6e358fc3f41a4b9f834b986f03b53d8ce024196f3fe0f74f5afa2e26b361327ee4a95e10fa31fbb1a4ecccad4775bcd78494d6f127367a84a160d4cc80d3f22b24ca0ef2c3bf4f6073658b5e504dfa4ef23cfc982ee0f1a6b4e50613e97881985785f2e1b7912ce3de308abef8435c1bf2121340a6668426e23b0500720f8d0c6866cda2c - -COUNT=34 -L = 2400 -KI = 247b4c914c11bf60633f035f4ab6d30961f03326bbf9c68409bebb4a4ac60468 -IVlen = 256 -IV = eec9faaf7b9be4ea4b5a5655449cc853ab73d87e3a73ffc3561ff1b87d41fc9b -FixedInputDataByteLen = 51 -FixedInputData = 1779a6eeded97c4477933197c099d668dd140815ff26c5a6f306b8246b7f22894f3f16f5dce95663078ebd66000a847b4404d5 -KO = 3e2596f74a14351790adbb4add21e8c416cf39dd68ce2b6e3999da987af11a0f493b3f3386fe54f2d89b20b30b282b53da67b10de3af9aca8617564a092bfe605755b6b8f8f02a44ad328bea587ed5db68da051516618dbc3fcef8aa73cbb55cbbf28994fb8f2c240aded79afae7b4a1216b9f8e65f36e82024ec9a3417ae130ad19a72b284d4442c05e14e3ba382fafae115ba6a3fb2b9a702335b2a8be86eaf47c6a1a298ae79cc0510aca8d91ae19135076cb8e00b227c0c6cd09d040b7c5bb6d538df368f5afcd9f711fd3d06da0f05fc5d5c92c3e1329271367f88b4da17ba6765728c29c0e88344761e221399732357c1387e652f8f0706fd04f6b51720a405ddfd87c9929ebd6b50fb4dac7fe7ad792ba53d914b262be88fcebc8c9d75e546b38e59e929fce0004c3 - -COUNT=35 -L = 2400 -KI = d73b4203ebdd87ae739e4c908dbba4179e15c8474890ec1182ced44419d517a5 -IVlen = 256 -IV = bb63d290022182068f74bdcf9c452868ac816345c40cd42c97a803f2016c474c -FixedInputDataByteLen = 51 -FixedInputData = eabb8a9561e7ebfe8befd3372fe384a18ef66c23a00d6e73c06ef5de3caaa8e437075eb9ab04f0ddf0dbf77a3781fce7b391f6 -KO = 6bda42b84d20fb0e9a0f97d22f00bd773f1800cba76a84c7d918824425fe6f12dbde17109a0ffe0399e86313ff64e14b2d6d7aaae6813eeddff36dc7268c0bc7c6dffa669748cbfa8bd24efdda04d8e24b822846500f7250c0731f7c9cd63a112cdfc8c9534a50398e09be10d0953773ba7349db4bf0fa3c6a7333500b152291b0e3c2793d4b53d6a432225bd572ce087e8aecc36d81f566b2df8b0876f879f171fbfa4a7fc6401e2bcddf3255c49c671033b16913d54cb41c98511df78ad8cd73255efca0400c1f8ae0d87e4efb64db40a910570ee612d7943c84984d506e8fe5dca0d7cd22ee47ec03fcd4c5a5913d1647089411a443d2c7ad689bc3512ccbf9c150d9f104f0bf6af302ae188c2c4e66019fd38011fe17a13e1b9b80c1afc03af3630caf10a9faccc77198 - -COUNT=36 -L = 2400 -KI = b4256c5623ef68fd8f297d84e66c5590508da6187316321e15e4e76b839a1b89 -IVlen = 256 -IV = dd6aec0f9028b2fc95c9695c91686acce271764b9dab8069792f26f7f470cfd8 -FixedInputDataByteLen = 51 -FixedInputData = 3a51596863cfb58f5386a01ebc095f1e10a07c38905bd992250e0eb5823ee270ab33be4c10e5d4374768f9b54329ad055a6e04 -KO = 3a2b87317769a1363b007589283f09240abb502839f8aea00cae36d41de0d54162f0c6ccdb1ad1554a00f08caba87dc7476f88d5a7b36f3f118dfa58a3c0212a92883b57432104801afe997314e538876bf65cc13020e1fda735207db40e78fc22ec334b90c573b256ff5e4a78b6e45a5b60ae846ac598f41d53627e1b76458f8198fa50c469c12d985ebaea717f4ea858aa8cc49c3705d180b9988c1d707d2897723969b041900047d6b5b7bb2cf698bb1b71a4b08573269016098eab9febf2d0990562e5741967685662f29cfee5245d3ce730196366abe3f334b62a9124f62accb0dc742b4991106681f5fd6668e91aa2eec384897f3b30fa178efa889a18a8033fcb65f24d3374e77d60cc0e0e15afdd54ec835995231d83aa586d1d804a3084f6deb96ff700b60fea01 - -COUNT=37 -L = 2400 -KI = 75e9780702bd2332c6b6b1cb52146de6913ecf10a37c43e25cd346d0dbe48964 -IVlen = 256 -IV = 27e39bdcb186c079736dba89eb3ea3971c2968db53aa4f5ac6fcce2575619750 -FixedInputDataByteLen = 51 -FixedInputData = 0220f8f1fe4b1b24fa6605253e344e617b6b5613f34d37628071ee3bde3197aca7c4bb23175bf3a7db338ce628fd689bbc31c0 -KO = 70fbae90ad22c492a6b0c5021ff92773b05c0bcf21c437c0c55eb851bd1b6a8f4fe21949837ad795b5e1f4c6ea3241973ac421561df49d53338c0234c80666771f494f4bc39134b24bca325bc868e27f9ab0c26d961f138c18f4eba086a0291019fe0784d27446e432d6658a9fd844af5be9531fef51a8774cf94cf36247f18b223a67149f38a5817e9c0520853c59f13ac7b6e2d67ecfbd31e322de3d1a9024dd617a0e4c6c41346291c0c7b950526cc1b56f593d4c61118570d37277e154c2f868155639a933450f517485c3e1c078ac774e25136d76cdc36b782561337594a1bff0a9f35bb0c8690817f354c34e3ef64bb8b09e8dbe30cfc2d433ed3e4ffaec919789c3deb39778bd63f275df0c423d1173d6e457437bf4c828b73fd0b6b867dedc615c80655ccaae1c1e - -COUNT=38 -L = 2400 -KI = 3cb6bedc9d61053c5d0af18e8f7ab0df9864181e5a5cfc7d22c220c47aaa908c -IVlen = 256 -IV = 93603da1852afb818f9c934d02df44e6496d2902feda51a19d393501cfea2cff -FixedInputDataByteLen = 51 -FixedInputData = febed43d8a981c6a35149e71aeacb5876ae369583f68deac2c935dba6a58cfaaef9c4a11cdfda40f02786d8c8cb3a0499179a7 -KO = 66f8887bd8e7aaf0e88321900bcecf2bf320ff4582b930871a9b48113e9265e546d8f5bbb45e4cd7407ca931a845f9581885392141c0e95305be5198a59e6fda1431c54754174122b2f1daa3f7214a871edd066d3e4ff5f06a037985117a2a72e7d2a0a3f6ee194232459bb365ea8119df578b1a44327ef4c5a48400809a004915d88b195850a3439461e3e9c79b567721ba17a9bbdaf657b271f3c978569bc59b81954e89a575fb003d9f36a63dddc0b334c8ef84b138113432e3d6bdd5c0add345294213b3e5c6c8747d792ce38711bc9a9e96d155e8d432a44bf61f1b824a70031e0e2689a9d8f41475f03663a5dd1beb93e56d599ab18e02df2fe756891eef409a305d489447bcf8a1051afe6e866b5d08c4f8e4046edbe3e995f2ec245dd3a337ccc99f5119b9cfddc7 - -COUNT=39 -L = 2400 -KI = 2a5a3070463268507b20c03af4e8340d08bfee053c88344d7b2f28503801583d -IVlen = 256 -IV = ef051025d4155c4e164ccaeb95ab13b1cbd47bc871dd639d6360a0c80449e8ab -FixedInputDataByteLen = 51 -FixedInputData = 3582fdf0e44d6eda1078f87a5a2627e2d4acef7bc9872a0401e49cfad543eba2f4d52ecaeb3b4d5671c387deb4dc3a33c99e2e -KO = abdd1635c76a6745edb3325f2c3a2788dbd9d7d9788465240d05cdf0aff7b2c994bd5287bbed900b40ae285e3770e79aa68a6091f74cfb86adfc1a7685186e9c9ccdef29bdb7b3aadca706f015c148ae02169c098051e7770a9ebbb153f569d48aaec503efdb2c62a22fabc36286723f513c36c4c21e7b54e846c81aff1079f7cb3dc335152cad890e8aed11719886e7f319be7ef3a4ef11fbc17fc5b08c964f77b80b5e0d6aae0b2c2d9c3346f4c311ffcedb88470f2c352df958991d6673937713a44ea38f86d47add264181b02655686a41bf10ecee207c2b9e256f69f5ccc82ad28d3f49cb401de254af2054f5d5200e338d3a0f8055f66c776d9d494a08fd467299d0b3152696f7fbff018e341226ccf905a7e92c02fd43317b1c44c474bea2ce18a84896c66d462a9b - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 7e2c9d6d71a8199ad4fe6376c0d0cedf6dce58f2c183d8ba4ba92923689e9399fafe1754dbf937621247902ae91ec5c2 -IVlen = 384 -IV = bb50c9664af007946f0fa8fc5dfd818d3e930d2fa119afb622470f69e6d3b490249eb01d2db82683c4a20c3127bfdbfe -FixedInputDataByteLen = 51 -FixedInputData = 60cca71317cf6c7ee67a01f0cb2efe54dca2b8b0162e2c65f04bb4e579eee8148bf11dbe1d3ae2e7857c32f0c1d5f454b558c0 -KO = a540aca6fa27c2e16b2a1f3022bf3bdef5be3431a8a01917228320c298231c02ab352aa7652b497c521937b9431b9dc63e529d2bcd663dfd8a0a35d630ed2fa7 - -COUNT=1 -L = 512 -KI = aec445dfe68f062a55986b395903167e0a683a3b190388e7df3ee6b6bd6419d37e3030d7d4edba82cd17ed86c735b7b8 -IVlen = 384 -IV = 3413e22d81030e8124f5fdd0a73630138e3bf3a85914379dff26baf7f6d2d039f155af905da61ec193f7ef6a6827c5d5 -FixedInputDataByteLen = 51 -FixedInputData = 493251faa620945286f9b466793997336e03b084822e6ec89d7fc7213fe234467099a779d555463515035f03f18cea7167d021 -KO = ce006112172c5b20d5ce90e658d0b2c8111fa0eafd27e00361264e8a11f9c6ade1fe04100cf1fb11250af1bbea86ddf7781bd2b284cd877e3000fd1985e69ffb - -COUNT=2 -L = 512 -KI = 468737091210baa864b3c0b46000c8a3a1882d9135b1c5b047fed15e246801e97e8017a9237f7ebc802494d36cd3953d -IVlen = 384 -IV = eb9146ea2be23dd998441f843db28debe5ab4af71d2e6847c85deac2583563eb6f6ae09ed2253b90583ab96d29617431 -FixedInputDataByteLen = 51 -FixedInputData = 053648fab71994691bbfbb29d69801286e0d316db0e9e7bc1d37c80a9c3fd02e4ce68ddf95ee11917c4364cd565fb85b06143e -KO = 757934573d6619e854f88af16b5769658f03b42dc3763558f49e23618773d525a6165d23ff846acb17917a69789599f5647c8b11b8e74e4965e16d449deda568 - -COUNT=3 -L = 512 -KI = 7ce397675d0aeedc647a1969c49a1e91f9a38137a728374b175b927ba32d7f86398f5af6e660017af2f9a3956f5ace29 -IVlen = 384 -IV = 547bba1490ca62e6bb12335a78b350358e0c967449814c6504ab62b1000d74b8ebc0b05ed4ed10ab17a73abf6288c2b3 -FixedInputDataByteLen = 51 -FixedInputData = ac41b301ed0d0e7ff06efc9a64ba0554b244909bc5e45228ae6cfe6ab1049878f7865fe6d1c0cc757b106a51570f67d9366853 -KO = 45fb1198d1a701b71c793a040b5eb19dd9a23d8efd257e43599b627dd90cc082e8b7876ec7c3f532af5d788ff32f049cc67c17a63bd42bced9504a3934829dc4 - -COUNT=4 -L = 512 -KI = 7d29b9f85d187ae94005d735d282d997f62701263df4697c4525c31959adb64f0ef7b8302c2679651973e1bcdc15097d -IVlen = 384 -IV = e43798dc81c2eced0bdb7b0c5d3518319fe3cf4426963dda4ad64807cc53e27a15f48e3ac1cdb86687c45ab7106fa11e -FixedInputDataByteLen = 51 -FixedInputData = 7a2984a7134039c46f0a65b194b3435a7c79b7f26cd0d981e787b5cfe37857bce2184fcbb816ae0d550f766a7247b2a6f53dfc -KO = b0d4c84fee756719076fda178a3afbe760f2ef6172f7cc58b6ef1acf4c34f530754fbf2040318587b803b0ab9801b5609b5e4a9a3b31b2a5297f4ac36576bad6 - -COUNT=5 -L = 512 -KI = 6cb6749bc67db63eb15c869644cc4ae21653d6f23af5046174237580a7b1aa43f25a7d6bec53a27ccb3e801f441bfd3b -IVlen = 384 -IV = 252d74284241867a608a4590856c0e9f04cf89be2a0ac7d914a1d575021d7371c3436698635f1b8262dd9a94a82cca15 -FixedInputDataByteLen = 51 -FixedInputData = 49e1e644848a768abaee5dc86e709306db17624aebc58b616dab50bd485a007263bf6eb7ba46638d34667f081579463a3a5dac -KO = f4fb2bed990d9a5c73a2b94c2569870031c4c3c01f0619fff293065e0c15bc02eb2059c4c1a6c9dc3b09c189cb0f8fbdd32e3bea111be281ec8288a81704850c - -COUNT=6 -L = 512 -KI = bf71f0c67a849d82d5e1e538cb919bde01ebe91e9ac79afe635f5a18d38a3d46a1d8e8f832e1cd981077abf677f52af7 -IVlen = 384 -IV = 8b929a10472d8a09e5d089b189ecee8b6be3afba148f35943ed859261d5e7ef585feac129da6d87bcb302c162f48b177 -FixedInputDataByteLen = 51 -FixedInputData = 7b8a06128187f53f4ab89ae591f927958f4b98c6cb1997cf24159d3b89955d340fd9dfb5941253fc4320aad9801441ee1a985f -KO = 7ea5a4468eb7a1f29d4955db1592e48dd7ce250653d9e68ee7eb663aa81abac1d84cd93755c53cb3dae03d0d650046d6c6e5247736a2502b5759497c63dea61f - -COUNT=7 -L = 512 -KI = 34478ee2b9871606ec57fa2261648cd7f8a78c142e7aaac8cc3e5f83b517579eedc9a7b846584d7f7859f24cb15d8807 -IVlen = 384 -IV = a72aa810787765bb06cbf212f494af0642a0bfc0b7d9117b5b59a60c6834a92f9109cf73a78a1fbe5d99c1af2c801410 -FixedInputDataByteLen = 51 -FixedInputData = 170a2e29bdc9a1a18a702fdadd296197a3c9519414aed06ce863ca71eb6cf1b9dd6bb6139350ae60d7344849eb12901cf4db7c -KO = a796ea52b92966250c00edf5ee7cd5c6fa87ac9cca7ac483d9db6df34c19bb885a99da13718d5a884c399ce2b800bb25e54c1b54d36a1efaac495119dcc4d16a - -COUNT=8 -L = 512 -KI = 62bfe9dfacdb3f6b85a218ac563a4904e456d40c203b85ce4b6ab1f63c4b325b0350635b0281f919689279c97ffed5c7 -IVlen = 384 -IV = 86ae6c6aa2daebb8dea6bfe10b594a3b766056adedfa4d911d7fe99bf17d235d36b9e748c9bd081bf974d9e065a3bdf1 -FixedInputDataByteLen = 51 -FixedInputData = 2884ca6fa6b7fd682b20a193771e7c2e10a30d09771a9ac32433f78b58c88e12663f8282e231e283b79dfb63a3e4767f925c09 -KO = 9105303e818814ac42294f6023fb8816b56b7d7b31d4ad772f063ecd14a8502edba9004ed38cbd8c6dc0d0872da24f08c48082760fda306b412abe978ff9578f - -COUNT=9 -L = 512 -KI = 54225da46c0bdf56c02dedc30cc886fd3d9c3a6bcec541685d75e4bb297d72e479bc7ecc3870490919151455398dcb31 -IVlen = 384 -IV = 8d58e3d15af42ca55bd2b7032710ecce0675879fedc72602dde9ad9825261d1163807f74cf8895aef6c0463c4728099a -FixedInputDataByteLen = 51 -FixedInputData = 8a0caab159dc477a33390149223a6dc6e99e401eead4e9c584fd73f8b0b7d23cf1598e5343242ed0b685260d639971e6239338 -KO = b2aeabff684502e0a8a12b201a21c2576eaeca8ce8008aaee7b323f8dedd2e5071f8f82cfb91129c788cb27c9640f1a0fc85b10129aad48bede92ce8ae1644b5 - -COUNT=10 -L = 2048 -KI = f19be1a2b89a635da5f9300f2241afd71061055ca5c660bfab02b036ff4b6bc95c8fd9f9afb118c9a66575b6f899351c -IVlen = 384 -IV = 54183ceef96f7133a017a70de604f66406c2b74787b80d5658319264ccfcf1a0e84701d8117040b68953066b9bf802b3 -FixedInputDataByteLen = 51 -FixedInputData = 123cf27f49a89625f5b3bb6817d39aceb8f3495fc1c20311e6674db2507c23161dfcc0ff79d1cc698da3bfa02e52251717f52e -KO = f511b62c0cccb5743c1acacbc7967e12cc134b52f8d6507fd9d628b4b08cab785491c19a4cbe39cfd2b8459fc09656b6521aeb4021f1e055af41f4196fcb825dc415b9a3550054827639de6860d800a26a9b2743084ddbd835b81bcda245a1b8eb4e88f11811d82b7bbd61a9de04eb6bc66e24d75ba59d40d12ba5f814fcc1c08e66264310f83731e95e365e7450404eda0afe738d2ca84cfa5e4e19004198bde416ba48865ba90b50f46c59c709ed4af90a0140a80ee590d247d96d75b65f39b0b52f6a93cf534096c50d450152e6fcdf2e962a225fc856361f267e561c9badf9e2eec1f01df3f64e02e66d992e31d22aa4661b484a18e0f7a0979100883b94 - -COUNT=11 -L = 2048 -KI = 3b5840b2a2da0f5ec26dd5bcfc3715c8f706e3aa98b587a442b88a24e00c970c8dc0b6e59344440c27f534a6c96ca5e5 -IVlen = 384 -IV = cd07f5b83dd20bf009f269185606a57ab4a86d776358eb59267351fe182128940fe89f2b81b6251d89db6838ed587377 -FixedInputDataByteLen = 51 -FixedInputData = 95d75e0d53a9d8a515c200fca895f91976e14b6db77cff422487c509d3a9060ece08c6b4614218d6eca4e5c397926dfd62456d -KO = f463ff8e355664509e61671f830416cd5b8585462ad854340f5e3fe2f08943a5f6b7c8160672add50b18f9828fe9b3bfa8ab2caf5fb8e9dd45affd731bedffc68ac6bef962a35113b8d83e7eea33984054cf694c3d11ec7b2b5b087b8420fc125c2c1ed08fd5818fb4e29a09fcef380513d0a7f6920ffe76af757677b8bf29724fe209de2b502d79050f129f91f71eeea69e21c314db1a36896cd7d969a632ca11b186409299de8a491f166db150d3749e6f91c7f75762cb245058fcb0e3d69445e9bd7d0616f051497975cc3dac96565d8546fdf06fb9ee13ee8411bfe410d5939c4519ece5b9d0e72fc40878ef7bad31ab6b8102084d491826c14b31afb2d7 - -COUNT=12 -L = 2048 -KI = 53af2a5902e5d44f0942dd351e3fe93fa56cb3a192cf132d382a39586d59e6d3747b411f9e59bd644fe0fe962d4b905f -IVlen = 384 -IV = 28d4c616f2685f5c3801f28087a77c9567a7fcfa5376477d685e776487e823594259109c41c77822928d3dd8135c7505 -FixedInputDataByteLen = 51 -FixedInputData = 8e062e629a3b946bd286a851f284f87de61e9bf7af50b81c7e0d8e16deaf2ac37e9380cc6fe3fc5328e7e9fa2e3141a060a732 -KO = de7dd07b12f7cfedd30beac825900e6f023e29ba020d566c8c6aa83ddd7b8498f1a49942d612883b085acdbc5b4cf85ffa8d0def66b703fb0d5d2780d7d59d5c5e5cb96dd85ce823ae52d1c6dd901894af7c6941ffbb55fef0ec21d35ec68f48ac6da3f180a15aed9ee2322125e2c6dc834170c1880372e93f1c3c6a2e24bf524fc87b30e8c1ebb15945d484b7e1e984600288532e7b0d22e94ee24b5b7dcd8b61add147d8e4bfb46306666221fc1ece4d68bf4b590d18ef931eee8e6908cff93f0d2d803b49c7257b71df7722535e6e847967cd5cd87e3614592df18e9ee4150e25f80f17e4147d3987113f8c0fcffd798c225de2b14bd994f1637bca4f6689 - -COUNT=13 -L = 2048 -KI = 008c85889e8b180213020018e0768ca8e6124760ace60c44a016072530d7ac8ccf00b276b9ed2ee41dead5cee716ba67 -IVlen = 384 -IV = 77e23d1f26b41b68698f7ff5f0450963bf7840db1a90042c1c42cce57ea6b658c16c21d1b5684ebef0351fec21cf9260 -FixedInputDataByteLen = 51 -FixedInputData = a20db52ccc253ff6c5e4a8e30157b8abfef041ce829a74fb989d21c210d0a70abc4c3f7a08282cef0a074c6fdb16c172b0d6eb -KO = 4bfbb8b590d4237b8f78cfc6c6f7dffa5b75f4bf39be404086240868cfaefcd838889646223952cf0d9b3302bba62c1b062932c81d1e2cb11bbac678b894c3cdb1ad8816e0c48e449e5b6cc956c8145ef6753ace3568cb922bac64ac4a0ae502c0e8ba35fc57a326cb78de02b987f365c6db2690c5b60310bf3d97b2d5a059fc4abd02f3c9b7e6f9159b25fba8c00d715c9c5ad168471810ce2beb18a6e96e89b496b6aa4f2b6ee2367ff5e90a8f41ad0ad39786e152ab1780d574588fd38fa79e1103f5283d285b308349d2459680cc88d8bd388458d328d889ae61ed3ef66329ba4ca39e411f1e5468e85a49199e80cea17e380c223c5ac7b3e2ecf80aed25 - -COUNT=14 -L = 2048 -KI = dae075eb109f966e25264549f9b95620122cb4cd66cb81fd8efd098fb01aa4b6cf01da79b071053b6dc4fa9d9b83d2fb -IVlen = 384 -IV = f6f8fb339d81112ede4309a4e395e1eb34c7a19e57872e6de67dd32c7295fce607660992dbfec7097408b53928bb558e -FixedInputDataByteLen = 51 -FixedInputData = 2096b89052097fe0116cfc6845bbc177976134d25e57232b3c4af2c4521d0bcb6be9c658be6366aff96932bb61fd39a65ed6ed -KO = 077f60ad1979ccbad243a775d712c5ec29a822bf946481ad5c5bc8e07baf549441dcbf5441203c7462e81df88e819366d24b5cdc8156589ed82c20d263876969792942c7698afe32cc4b5b76f46e865fa02c271974923ea8bfa4928396c958a71e6b22d9c06c11fae0d28b5c22229b933e80e15a249889aa6a76288dad5af5dd52590730606e19823901977851b0eda21c3849a5026b00b447514a43402dbb5b427d2165508fd8b1a11904e09408ecadd4b6db46dd74c8e4a7f5cd7fe04d6eb18ce3ee2485d424a7d4f30a49dc58e5e2d8d9529cc1873acb080381061e1dbabc95d0dc8e82d8948724d8b0c5550ea15e928de67d56ba2de9868d76b71621112e - -COUNT=15 -L = 2048 -KI = 5576f42ac338c9c3ff0c0a06c4d875310e86cec09e1f9525787c69b5904604ccb1f8aa184d8df1a4f3bd88277d812109 -IVlen = 384 -IV = 1e0b0a171917e3fb4fc612485743e7535208df3819e331040d9729d0329111ac40a8d3f729da8f000d39152d1d5cbd31 -FixedInputDataByteLen = 51 -FixedInputData = de94948cdb3df1cabcce83bcf2eb00d3dc0a4470d69b6ae4fca7a25166b21615ab6cc85bcf044c9bd8f77caf2708d6980d78a5 -KO = 6e22c4e183967d5e7eb4ae081787d60e5898ab8098d3b8311bf05653930f8000d9251ea78580186dd1a95201f5b180d06710d892e3c5f2ec358dcaf62bd6e3999595bb279fbad8252e8839add87e8f6f00807a992768c8fbc2c6b68ac62aa1bde88067ec85143ad8a771dd91503709db4b12a16afc54e31e42f4cfce22d2e74059b2d66a70dfba59ac258b227c35a9c519ea91cf83baecb0b6a88dc0c38839d76d098590bbd9218572938df29254c701f866f696c0a84af1b012ec2409e456ee1c80e0a477bab6a81ddfda3cbb8f76e997ca9907f394f3b7f48ea3fb5b78824b503178b3d62f0235e079789e5fc5988d14d88881207420953f9fdb8cd4a3597b - -COUNT=16 -L = 2048 -KI = 20293c18a85f5ecc60b0ab6377aab36edf94a5b4e9b70cd762cdb6a23c73877f6997f149e008491c23289b4fbb8bfe71 -IVlen = 384 -IV = ddcb1382c5a4366431178c3772bd8855c700fd1bc592892b70bdef4b424cf8062a93113e99beca23b6f35f3a43f30fe7 -FixedInputDataByteLen = 51 -FixedInputData = b8dc432eb5f10bd0153d1f4c8a17c19569feb267f7e0e7f1ab777c02ad0b0b353dbfbaac8de783c98da9a6648fe107e418f2df -KO = dabd2c3bdbed5fb2b65ba61c43fe3bc712fc20888f8b8d2a710db3e63b107e78dd60d54b1fcf83745f6ab94cb9ad04c3314e08153bd94b32aa21fb594dc53a4e6f6bc23ab078dbafd24cefb8c48b0d00d59fc0237a54c552b13ad478ba232b19ee540234b58a862b8808b70080a8efa58edacf1114216e207bb47cf01d064652d394ec94a081f169441ff0293e0f4f743c750c931c1d8321176d6e82dc19f8925818dc55ec6c0a6fde1fc7cde6aeff359a543a6d7d64b0ead0d1c27d258b91d9b88caa6d4acdda3358a3ae353556481877736414880191f83fa1ba07af9b79c74da946b3eb9ae43cf4b7399332a277419c08c7b26f7b7253f9fd8644d45e552b - -COUNT=17 -L = 2048 -KI = fc4e6c5aca31fe3c0140cc856cd770fb3546f2d91e258be006a9fe6f44c66f2cfcb955894c6f160d08b6e500b22cdbd5 -IVlen = 384 -IV = 3bf76aafde8b3e4a107eebb419bef67eda4aa58c0bdfccac39cbe023420d34c78ce495dfcb32bc5b9b2bc548db16e057 -FixedInputDataByteLen = 51 -FixedInputData = 324876cfdaf973983b7dab1952d0a7ef9b1fea02a1de0a4e50b376376c316c6ccb394d4390ef470566824d12dced1312161a32 -KO = 4195d3a231cd02e42440845205aa3beb0d3c305912142c0e439eaef59c832659e0147431d846eae69ad28f44f15ba5536842a0f7c842553b743d01917ecccf76415314767efceb9ad616c4c1ae38e497bbfa48c9f92f5a6a9a4d8dc7c1c6231bf180182df4b8677d7e697a0af60fb09d0063b969e848fa45d95a8b5114bcd5b37feed0372aec59a25a222af933096efbe5ef6c405ed091cd3c841b5802adb1af4f364d4751f4d15d735c31fe2f519f4bf36a09e0cf6be1ae46d7b9a70a19bc4366498e169c9d0022720585c0d278fae54a7044759ad9dac156d4a80ba2d765531a46bf6aa3b6679ca7144237c99265818e2120284f4843186d87657ce0b0211d - -COUNT=18 -L = 2048 -KI = 5bb7e6aabb0d16ea473e852109a962083bb5c3c01ee0bbed60ff734bb7342a6f34247fe50bfedad0dc1cf68fb1b3ea9e -IVlen = 384 -IV = 87e838c79023390e84ef4b2aadd8b94ce413712637f5b554a1296360bfae54e7f6d01ad9cefd6cd0c23cc971d659a603 -FixedInputDataByteLen = 51 -FixedInputData = 5ae9ad30d0692020a9152dc01ddbf483d7399dabbf34aed8f379b03ad7c456982db690969484c4541b27836ca290c5e0af33cc -KO = c3e5eda79e623a5008dff12b1a2576067c61bc8a2f1f63bc563f1b8b416c32db88f2435ca41319cc0cf8692bd7e04a99f2d62dcf8ebe62a84a09b4ea85bfcede0de2bf9582aa4d575308f39bceba8faa9aefd4d518ca1805f4cb59c5335198e0fecdc0249a41f852fc1585fc3f915359a1896547d32b478d64e95edb3ff98df7193e3cd9ed36cffec7cd2852cf0aefc70eeb18f0c9d4af768f30001c2dd0fbba40a54d5b9fc3d2820543016221344624cf320f9b641b9086542a408b707cc4dd32239e895d600f2101c57b044ed9133d3f10f30cfbe191c17d979ef4882db7f0b8bd3878fd03aad3cf82d83088fb600bf000423600530ccd2dbf25e2f848f6c5 - -COUNT=19 -L = 2048 -KI = 89789a28b96c850a29e71022c0fd9d7a43a4613ecc62606f81f2f0b1a8febcc418e4effade958b9339adee9e53faed46 -IVlen = 384 -IV = c70b7fb82633f467f3097e93820b6550df7e674cd24797dab3f3bbfc79cb63f6960840637ee2f5ec30df7d0fbeac36e0 -FixedInputDataByteLen = 51 -FixedInputData = eaf4626a99cd09960133f198ac45aa6ff2685f28d714678f84f8c3138876f9dfb9ebbd167eec1ed94840981aaf2922ec4d296c -KO = 84eaeee1df33617d73ed469d50a5ba54117e0b8d97a132e25d7bf00d040ae5bb30a9b72dc0723a80ba6b4693b60c7c4588e4462c79d2aa7e58d9b86b0cbff92dc5cf978ed8568af93db9b99de019ce659726564b03bc571760e2b9849fa5ebfd75273c81f2b7282dad06c9ffcc78a5f6b70fc65778142748096d74f0c2f32f09d63dc203e53f30837c596ab3f6b5728067454f6ee5edfa70ea499b6aa770a01f15b2a0c111a6458933e38b0dc66ddbe86f25dcff8ccfc1368e851c84e7dc5e5bce31278b3a1abb306eff47b4e208788a7964d90326ba4dac675b8cce5c4a2a58ec00e091a61062aadce2f63601bd9e6f79a047ad32f164dcf780af6022519446 - -COUNT=20 -L = 560 -KI = 53564d9ffab87051aadd43dad1eafe09021a18c8355d541c661b48fc3ccafa6621ee33c414a32050a92917cb1aa1a85a -IVlen = 384 -IV = 18dc059a57cf0bbfe3680d52833acec989e6f5820d32c94c50a2dfa911a84a6e82c8ae421059d34c28d7af2613297221 -FixedInputDataByteLen = 51 -FixedInputData = f2133d17973978cb1378a15afeb92d58ced064e8e734a21fec579316ef6a9889bdc58c8fc08a11de7b4bcba722191511e0bcb9 -KO = 54dad5d290469ea5da7dfb15618d85e340f43124af7c27cebe3ce552a28c71750ccdcb0bb68a1550c636e210468402ef6111bda0344ccf9386afb326c0fab52355096013873b - -COUNT=21 -L = 560 -KI = 2a3cc7dfc4b422502102c4f60d7e3d7ace06927f13001c63ecc4ba97be42b94eefe438e044f83253d52f70ebb35e39dd -IVlen = 384 -IV = f9667ae7cd4891e3416f1f951f8f874a1d9216f51a0db97a26a99a89426e5448031363890cef28b0cdae6dbdaafe6685 -FixedInputDataByteLen = 51 -FixedInputData = 865f6576e65d16b833fce486af7a2a5d91b7d76b4370ea243b517c459afac256d4a64268147cebbf7cdec1d42b0321ee07fb48 -KO = ece3b28048d50501907446b37e0bdd7d38e5e5f726b92749f3f4ab66525ea5ea969d0c4daf0b40b0b4e8386db3dc277a0b739352a5612e48ef74704dcb633b6c136eac768210 - -COUNT=22 -L = 560 -KI = abcecc9ab00c28b1356e9a8d45a8fef85250d6defbc46bfb0dbf743719b0063df16f6d298d662e4d434c5ee9a5385a41 -IVlen = 384 -IV = 77fe93bdc6bf3f4a9b3de0749fb3cf47989b00ec0f79d9a7cc04fc9cdbfa4dff9427bbff074388f186f80380ea7ce91c -FixedInputDataByteLen = 51 -FixedInputData = e7a8c991233d4f911aab72ba2293b5db397f7fe07a4752b8c587f461714e085bfd39ed67dcc8687ea849f7b1953f261dad253c -KO = 377916aa871dfa5cc06c73bfe27bc242a4f1c1b39bffc59d020bbe50e92693a8c5944751de772bf75235e22785ece3c9c49c29c0d5190d03e71bc108e6509af9c1d0401586b0 - -COUNT=23 -L = 560 -KI = 23a6335188943cc7db58030420187abbf23ca48348907a5abf4841cbda7131fbaf43471c604c782aa023c3790f954bf2 -IVlen = 384 -IV = a14945bed5076dc86e5791641b2b4e027d930ef2b9eac6c1f75c668ae25229b8742c31433591ba32d5244d6cc10986ba -FixedInputDataByteLen = 51 -FixedInputData = c67e4bf741ca38cc815e110c4eadc894d54ed2e18256d58a0b960576998b5a3891a5a6b26d9ad804cccc19452bbda38385256c -KO = c2b487af716ad883d2bbbb11aa7552e6ea7a23f88447519dfb736c3923ab932fa91137093df7d292428f1298448e19dcf123f4854ffd1bbf83dda563b842eb2ff5cd968111dc - -COUNT=24 -L = 560 -KI = b523748b7b80a111b6309fcd2ec5ee586755971f742f3c7b4812da0874483cd7e580f5cd059cf95a0582c8ea0b14759c -IVlen = 384 -IV = d578f8bfe582f0008bbc1dcc2bfc0554097ae03e5ccfbed672ad3c3423e4f2769eb472f30c4ce9564bbe28d9f47e2907 -FixedInputDataByteLen = 51 -FixedInputData = 949422558da8bbcc4899096f99deb1a5abc7c65ef28617dc9d77853b2ec0ca619428d88b2a684f87a10b95841ac65dcffe64c0 -KO = 2556eeabe0282a5234a5275aebfb7e330b5614d01ac6c2bbc3a74720df33fe6ce404f39a38b1f32348da4a9a280c5590a4b8f190159771dad8d8269e20ccbe6d5bc7a9b08b85 - -COUNT=25 -L = 560 -KI = 3be793a5f674dd556ff67c8d37431e124fc2ca92fbc4d2d89a04a5caeebee3513993d662a827fd5a517af664fd911df7 -IVlen = 384 -IV = ee0aba15056d88d80a8fe235b4a8b0c343c46f72b5a99763ac4905cc64fdea916e61b7172106a6d4f9af80b25b591219 -FixedInputDataByteLen = 51 -FixedInputData = 9ec85eab728297f5be58d3c589ddf71a833df73130c1b3153fc77396ca35bf0d4cc021013addbce20bbb2f3d40eeefec8f4908 -KO = 42be47b283b1a21db309355cc5d2e9b92df57801de00b8b626e842a27f6a1e49e5187ef69f4f423ad5ecafc582fd13535b052e832ae7b74ab784bd40a08951ee9ad9546bc5a0 - -COUNT=26 -L = 560 -KI = ae75e8bf96e61cfe51254b4b388e4009d0f4491bbbe3775af86d09659b88f43c7d419f5b6518cec51abbcd7eed588684 -IVlen = 384 -IV = 88bf812c596c01e84b1df97bfb2caca4b7f87824b7c9d065c63bba8819a405cea1c524d41a9bdfbd8acb9506536b191b -FixedInputDataByteLen = 51 -FixedInputData = b8791a6f97d819b959d83318b3fdf4f6943bbc96273045b2de9ed94d1541dd204ebd28aab40d5ce09406e973ed4b2a4cb1955c -KO = 2f37f5bdba5641f22bc4e03032bfedb0ac82150e561cfb7d51e65561ed2710e975cbb951e70ab1688752f4859d6c9f2549f3f974de86dee91b27b04d1a29d030c684f12727e0 - -COUNT=27 -L = 560 -KI = 8e68f19fb251ecc036eadcab1fc5596933b0995d9af08014983fcbc01497fff419dd4f8cf0b56318b17bc3bc0909769f -IVlen = 384 -IV = 2b74279c222c1a15e95f430dd5ad688a347d954e834ec67657e7fcc5a23935fdc7e89de0be382b29d447153597e10a0f -FixedInputDataByteLen = 51 -FixedInputData = 6076e8c5559163e4a4f6ce28e318e29b2cd21bdfd6f1372d19f99af97f7910d3e5380e663764de86b53da71ddd9756e0b05704 -KO = 7e09545756840ae7d1052e971d508361acfe9174e5bde21629f678e78066bf08680ba3b81ec4225f3012ab94e40b8464a9ed0f990f294775eed05ee5f7e8aff564fcb4f81eca - -COUNT=28 -L = 560 -KI = 6a2a755840440aca7ef6a4cb96ee3bbcec65d20452acb2c2adec62e6133b21c85c29bd9751bc4f4dd11573b709fbbc83 -IVlen = 384 -IV = 305a9a41a2120ed192c2cb24601ac891b2573e03d3a62abbe8eaa77ef434cd2ef612e7936c232ab5b7b18c3f88848700 -FixedInputDataByteLen = 51 -FixedInputData = 2d8715848a09f01950184aad5a3d160dcc6d5611d6cd3841407c867ba200c38c84ebbdce382dfebd9190649f65c588e0003aa0 -KO = 1f598e6d516ed5e4e35be2354d3fb0158b8c8031f68db0c403220d4aab0abee0abd7427de39f8334adb57ed17ca70010a4adfc8071acb44c2d3802c392b10b835fd8c2bb4814 - -COUNT=29 -L = 560 -KI = 34bac690e20c8f4c7293dd529d47afe5da70a034b38f3c2891409c4a54a63ab0e5daf99d2d6d60385a9e78b3895ed47c -IVlen = 384 -IV = b6957fdbddf569489a8b8a1ca31df798083de28b572a75d1b201a547f3f8f03b13b1b66860baf747de3530ff61c736d4 -FixedInputDataByteLen = 51 -FixedInputData = 093ca3316355def288758e3387d955099c6110bd37fe1fd2d7037db64d39820564a101b12ee03839a9415deb766b224d6b05ac -KO = d902e75c006bcc67d078e806e6d88e8b5ccb543df5287c912e15b064b480dd172f951776e68d73e2107d429ed17defe766e7f5db5cf467cb8ad3901dfe7b3c154ac8d35a84d9 - -COUNT=30 -L = 2400 -KI = f2955c35137f2e86e2baa0274575462e85e1f0aecd4683c7e42b2b3091da0d19894da9c75b3d7de5a995be9582250ca1 -IVlen = 384 -IV = d5015c35e397fda2d9c6037bf0329bd4bd056480244c308cdd7780ca302299556633fc57fdd51716dac7be42449bf140 -FixedInputDataByteLen = 51 -FixedInputData = 33c4857898c3cbe52500e896b4af86a64081256bd9ac3a16cc996c5510f192577b944b7d7cfeafca9a11cda8a9dd7b4b3541e7 -KO = a05d7e52841920d5dacbe7f6c2639ac63f0894e0fb19b1b5ba7fcc42457f14f7d0daebc19ae7b718c6023eb041048087364ad8bd084dce353ea4335fd2697d06ada46010affd306ec7cc5eda5f6730ab33d28fc13fdd65139071b115dedf05aca5542e64a0ab677c2cc598af5f244aff7e2a7b8d419d78ec85ef059be8eacb2fec6dd71a10370eff725d379c978a8c5c883f24a67cf46fee2f118728cb92e79a73bacf6b4c0594d417afb1fcc9890e431becb212950a4cb5bd9290b4423eb1f6f9a2f0d39d14ff93c0b7dde508763a0c33b9cf106811db8666bb02ba97a9c0c412e9873a9adda5beff3ee8c9e88f0e8c1c9da5db6bdd809a0342f280677ba668ac3edfd6c2be42ad790b397aa30985785cebb570229b284040b9f747bd495c2bca2cfb32287998992f3c3765 - -COUNT=31 -L = 2400 -KI = ec0a49d868616016d1df988d28a9675b1a48eedf9f2fddc2cbf2124852ff4e42eea9addefc387f77adffd4ca6743c503 -IVlen = 384 -IV = db6cf0ce29ada323bd3943b86328e0a2a5cf80a63c04454f06251ceeb501883502963580bb9620df0209ecc37b3cdaa4 -FixedInputDataByteLen = 51 -FixedInputData = d1e603c9326f4f6a7614dc51eaee21f3826b9899c54a3bf95ea7c0429102fb2b0fa562451f627b10ef9f29a64c0994085ab03e -KO = 2b1da0a9563249859a8a266ae1f9dbb27c0c000b854bfaa7a0faa7b28897ba55d8e1ea560f7897ff519dc3284d9b5ad4ebd5714ec31690857d0d07e0de23b0a0145b434d05fe2fac3bb48d18427c0917ada8cd70bd26de7113d6ebeea3719cb6f5f2bdcdd6531da085a757c991e680287ecfe4e3bec4229a77461b77f91acffea1a861899f5fb2a3edeee1c84a5769dd8895fd1aef4fcddf630e462d7e47f78699ca2e65ade89817b8a24bf7e22b26de126cda3516886323ab5224ac66c87e0f3daf881bf0c4ae2b35eb820e4e1e612c55d6017d2aed5f367f2e24bd8626b91030bb4200b2200f80127eb33a9ad9c47e90cb7c5d2e7b1ab04fa10bea92a8ed81ec125d7ceb28b6a615bca344d9c17cb2c73a5be020c0c3664430e8715db39393e290fc1349c13e8390e5e6ab - -COUNT=32 -L = 2400 -KI = 2f18156d5364c78d18e3bb979e8153d85258a077cc3297874f44b258cf35c3d389575f215c1f5e3af2f7c226c6d25a53 -IVlen = 384 -IV = 58fca435e4199544e0c22ae782682b0ac4274d879375b26d7ac3abb967b396edaccc42c1f86f936fe9d344aaf348a971 -FixedInputDataByteLen = 51 -FixedInputData = 1e3aa506a64f8b6dece591432cd15f8cb33effdc85b83056bb916c758fdd837c639db922eb500b3f43e3ea6d6ff454046f5f12 -KO = 0cc3d823f4d7a706746901eda82e607404384b556eb64fe7d173046623bd9bde63d9976c9f9584f4eb5588423da90c96bf37ab2d8cd97d7aaf852fa863a237a44f9370f6dd0237fe6a0749e2f9cdfa18386113be0e2b119f7447527c61c261c5195d68620666987747ce7fd0b3371095ea3f38d8dfa99925eb16d43f4d697fc9304fb6977b0f13d4b3b511f296977e92a07379f64301eee087b2af6693a881351eb4a7cedf9f65c4c2ddaf085a12e83ac21270ef447c4883361697ddb4003c7868d01ada23e47bd9b2668b8bf59d23867b1feb5d84292d5c96adb9aa416f10af420bcf7a206ccb373ac10011ce50e7ee4f380881b9b666a57cc3e14fb92d43dd1c5286d5554a36a2af01e49ac775d6cc7a054d0f7d283470ced390298095af594e0716ad98adf5882818df4a - -COUNT=33 -L = 2400 -KI = b6235c1ca7353ced5ed053990459f8baff2c8bf15281b233725d0e368c31b405e9b4fb626935571227809a775ba251eb -IVlen = 384 -IV = 7943523f5024f38cef2451653849623907d3f1b440eafaca39ab849f289d2930dac5289c068a2fe4f4f4e3b1d540fd76 -FixedInputDataByteLen = 51 -FixedInputData = 879109a77ce6d1255ff0a78875d00abe65813e0a3a03733a11d26d0535a1a2379a8dc32287c1d35ca5cfbef552760a7c63193e -KO = 893bcb14ad20f6a0c7e863843f6eefc6af6d2ae6cd360e94e489223c8324be18b752cb590f787632b5a3e4885bd68328d9775958e2395e95b0dc8e1dc0c18cc8c1300bc69bf686191e2a21b38f15182dd58718790bdc2f05a922187e845461ec933b9fd0c457f33a5bc23b226551fb16fb5749fb34bd0b5b23695e99e635ddba2f550e39ba3fb02e421a7d2d6673822ba713ae28940b8198b6820a85bdae7ae19a473c5698cdad925e404c54ca562968313eec875bc97c63a66ba8984193f9ab6aa5622ee7a807b0cfef91768c5cb0bfde3e73a11b58c9540b8dfc26e3eded1d639e6c680d704b5eba7f2c45484b4e26e909c5516e75d1d1e8f2ecf0388fb1c4ec33cb33aae6eb22c76a2524ec863c8c2ecfb63667cf106d09e3632b1402edfeb1120c96266ad8f6409aa989 - -COUNT=34 -L = 2400 -KI = 71bf473c7bde27f52adb10797dfad6979de558adb299b5ec9c295c130d575c764d6061a42e158e0b6bf6b22315c1f9df -IVlen = 384 -IV = 6885adb354368a1bfab143d663e2a5fb59a727bea4b9e5e993df21666031c681dce3e60b44f93961b710e8908a9c929a -FixedInputDataByteLen = 51 -FixedInputData = 4181c11136e2eb1d8b019feb7b7aeafafae20af611ed394ac1720f7b2e458f9d99dae1f7c553643824881861309c9b776874bb -KO = a6337132ba40d16afc815750d79e4db278fe13833f706e1f6ce7a44c7be5058bb5505be1368cda2562041c116ce307013a248d4c168400acdaee5ffcf484e60dda628ecda4209934f28ca9d767b6d5013a99ec7cf9961f900352328f8a725689f13578d342de2d2aab11ee82196893a23784aad6cb2f152a6fd0f9648a5138db68ea49e3ed12ffcbd9b7e8b8d102d38a8aa8f1378379a41e528f43957221211985edefa54e0728eff1ab3c872a007f5c0372846295e4ea1e3e0f2af1ef7eb7b690460812cf62bc03e4eec5c256baea815760a7004e7702626c588b373bca068c51595018af47348b4d5f73c7d401b73463c2aecf5532a20444e7cb0fc89cc688ecf5055b9cba3a0e1ee4f04093a0a6e905bc07fee2260fe8529432624fe27c3f9f7c15fcf11e5a467f152013 - -COUNT=35 -L = 2400 -KI = 1a12ed418857b45d7d9379157032998cf4172dd1624da21445ea8124ed7a8dba30f2943c598ab4cec72d58e5ec418826 -IVlen = 384 -IV = 4d866d1f00d5ac86c1abd9a20aec2f47b508cb143362ee4e0f881190e0823ea48674975b40c63432a3cb72702cf1b736 -FixedInputDataByteLen = 51 -FixedInputData = 7a5d90941bbba409ca73dec04324bf851ff979d140b6242033c6e0094c6a1b0f1231f265c9329b8d6c2def78e2b169f544a752 -KO = eecd05542c414a9ebfff88e50d12698a27fe110cbd68cc33e99445fc0fb86575c70c5a2c0b12fedeb25d21a987f5901b7faf282768e56f87b79c721d57711119ee92bbf0828673a69da7086d91d9e5c50e6b1aed8a622c5d1bb42536cf9ecdd47f0752c4028dcab9e01515bde80e635c0313be48675f8d60c816110e3ae29754f120372b53b134a1b77b778b9764f2ddc97eac673a27e57d1c07ea6005583213316256988724a169bdd775fec83b95ba9f08034ef2370c30bdabea986e6bb35bd6cf059f0c4c67041989196f6bc6b769a6353a36b633c6eabcb855b7ee0b775a1d0d738615b3a2db89cddffe78c26f5e0048a4b2c9de6c2871e89a3d7e55b93b914c1926e9b0501827d92c80ed084bdea6d99ffe1b4653df7b754facd97a835720482f8165333bc234cb4331 - -COUNT=36 -L = 2400 -KI = 66419c68a0e4c8868067c5f3c213d8630cde15b5de210c656312a3b3bc909d23f15aece4612ea48d450884954deb4ef8 -IVlen = 384 -IV = 7b96aad1d74da04df0cd72ccc66832bb6456658c558b8fcecbce1bdff77e128950d737d2946ec7d99e50008b4b7cfe9a -FixedInputDataByteLen = 51 -FixedInputData = 1aea7624cd3f95b1227c7c254110332dff9dbd75e221372363ccf8b01c9d9e9c7b91d3e9285a5fcd23e41777821025258c0da9 -KO = f525ee150cc20183ddb2eb259d4331874a93e546c31ada85857d10f4db134f32a54924641536b0819af275a43b9115d6941748099cb61e23378a03aa9a8b5a30afe6ee793d5de16375d1f4fd8babc1b266a010c1a6fa4ac0b17ce9a9b3ae251a5f7c3df75a08e8577a57b4e605811e195e448483059ef0502e7e480a9a88e641cb492ff5405457993e878a858b2c03f11bf6c4a173b21298c99e0b5ed9ec11bb307be7ff4f9c25fab4cdca541dbd2fe17bade31e90339e425a7ebf547643ce049980ebb85b7b1ec5b79ae0600a8f66c84725ffb576f0a63027f90f674b76b3f0c5994b7f9c23cc2775aeaac7b61b67c8672bd1924e4c184c07d30f68dd12f75cc17572e33e63ebdb03d2ad62adb8cd2f3d3176fd60fe941e99602c4fef906533ca7592cb7870d606f23f7eac - -COUNT=37 -L = 2400 -KI = 75ee276191396bb40a3204dfe695410118d6cdcac015897e99d3eb6815aca0b306c148d857e4ea17cf3531e9d152d299 -IVlen = 384 -IV = c18c17e24b8a36c7169c1ec044cf5a7d1a9f5264ab0b6a1b1f02d5588a5d17f395eb67e948406a52464be56b1d80f10d -FixedInputDataByteLen = 51 -FixedInputData = eb5dd5deb90daa287f94498c9754ed3249c291aac6ef4e4218d3521bfe882c723c5e85b62bbb02c366a620148b281f330e39ed -KO = cd97f8b3241ff79bd806426ec375a3aee8fea2ae3ed8ede21af6b50fa07b721dee8fd3d0584abe827a18316defa35f6f200547884953a60ebd452fff016f831b8f9f42aca506d7189b48835a4cd61875ffe852bf64457d97d981e7312aedbdd7a4a327cc5642ac0ef89f422c721f5b0592c8968a8bb5623626d9efd7e5148046fca8f2eed1dfeaf193b79f3ca3b67b0ce1d6dd5263954ff427d88dbaa14a32f1b6f48f341099896d33c7b75852a63912214da932cff4bcac58b29288ed23eb0f818a72f53bc4abf578ed5f013a35cc238f522670af290ad48352c37a104dcedc8aba66ad49f9d6f307584080e59d4577b897d891bc0735e967844a01402d2ec808c642fca05db9b7fe76e4f47fe9b9957c35a6bc86b7868d8c09c2bb99d037baab122e319a99fc0579bba25f - -COUNT=38 -L = 2400 -KI = 3f633d3deb93a4554c36eb54a0105f3ee22f35f4002c2a7972feb534e3c5fba6b2c9d23a5afd5951c934b750bfe0dca2 -IVlen = 384 -IV = 785919918bcefc8f8a13f93a6d8763789916e6907462ad4ad7004f9c0fd3de289b0b679415bba62e02c38e4500077186 -FixedInputDataByteLen = 51 -FixedInputData = 474eda4a018e9911007fd72b2d9a0a54bb7dcf11d1f98bb439b09a808f0bd32371816faa8efb752bd01da26deba63d42093a03 -KO = 1025c836a73fd38f9d97f4d50cecbd0b1980bfbb53b2dd3e04015c86df708253bbf49b79ce7ab3e33b4360a3ac9e45d0e043f57f1d76e3fa7b408cc31fba884832b5575650ed9b7b7e6732ceaf4515719513096d84d0f2a8682d5b7f4097334c83c733e07283ca22600b7416b777078e5cba5c5dc1ca5746f8400fde579c6b9f615fdddde744f450f0f0451105e17bbf0cdc67fa3d9667beb60aed0a9b959c2dcbed1f4ca7b783b940483571b9f3c55bd097f9399298a81b008d1a9d725c0a323cb90663fbbe25462dcf440ada5870c1e72dde15b3a11fe06dc39e0f0518be79f37b3edf85fb639f512ed05f8642373232d6eb86092888f1e0118a65d6fbeb2d7d9878a5a9d33dda83ba2399db942bb6ac37c8d09b39d69b92f61759a4b7b2ada19e09e68cef298ce1bd5443 - -COUNT=39 -L = 2400 -KI = 136fa9438607fc4e1ab4c520072622c4fde16af3cb7413e2304e3f96e5e3b2740ffc74de230d54c58f5df50b1a308c92 -IVlen = 384 -IV = 9092cd2bef940a4425d6debc890d805032d0e78b51f36b33f140b0afa137e61d7c8e5028253126b22d0c7957536b4bdd -FixedInputDataByteLen = 51 -FixedInputData = d2343712312c212068927b9bb2cbd0e4d46bf18ab78ab46b285897e23f51c9cfa66471fcc8d7a28dac225d1dc2f667894e44bf -KO = b55d02745fc1389930846a056036c839ca0994dbf870b57a20896793e09bd5d072fedb3cdce6618eb72ee42b1a38b4c2ee277afedd4ff7ea169ff7bc10f97c0e10de163d922497bb324dcc73af64e41cc3e30e64313c97db7b329ff24ca74dfbc9607ef72efafa8808bd4209544020141155259345cc770d4e16f072fc94e309d8b242c0f974d4a2ba2cb4bebcf6c2170e2219110afa58991e8ebd9998cb5f5305f7856d5f497c862455ea00f9aeb26e895a888315dff05ffea549e72eb73d1b298adce139765c93977d4634b7466908721a868ace9a0251c4eab7611e4fb831c7aadeb0992acc0d8fc51850b8689d109b29298a3814fd6ca94683488a29deac6c37d4959a517fa64e5d9698ae57f88569cede74d2bcb382f8543a4e616f2b0b7c1ae5cfe8e77a1eb1a38d30 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = e1db21b679de8c53d600cd6ebafe7ac54ba2a8fb0743f318bd5ffba32750ad4bfceed5811acce4617b4579ad168553a6 -IVlen = 384 -IV = c62b928715cbcb37153743114962f8107a3a58e600fc2982ad69384daef7fdfeaca2994bd1526aa952fab2c4edcbbc69 -FixedInputDataByteLen = 51 -FixedInputData = 63374fffbe36c2e810a7c09add70b18d846e0273e271b6544982f94562a7a2857beddca06aba461fa3ffff7fb8c0f4e38bf791 -KO = b9993cfaebcbfa1bfa6a9aa60d562d965330596d487c154c8672327f0e040d760621c788b16a1c156126e4cfbedee5ff5e82acbc64f4d6c3fa943df11d8b777b - -COUNT=1 -L = 512 -KI = a951f0357ed43fc3e820f01e11641c257fe6ea1bf954aa14e7a9bc67b882e377afbfc69344cf7e44a0640018061d6307 -IVlen = 384 -IV = 5e0940c7fac5cea0eabd1703553adba8b70c1250550c2f1630114021ca13b21bad3e326e9d2883b71a77166053d6fde2 -FixedInputDataByteLen = 51 -FixedInputData = 9a059e667553f76d0d3a148e8d50abeff720d1b14f3ae0f8f3d8f3556eefcf716ecbe8cd2a29b9f7924e41177a157de4cc9a95 -KO = 5d9399a2fb05aca37152ce827eaae67b9e93fc1a9f4b66aca22c60e69b392fcbb78e597246f584126abaf1b828d42bc2966a5b6f3f0bf309ff5892c383bbbc62 - -COUNT=2 -L = 512 -KI = ee30f0ac5dc9218f88edb1aa2880b0ac5033e9b13eace69b3e6952153d3d09b24f295e95147f5129d56002925a381178 -IVlen = 384 -IV = 9c393d2a01ec076bc193a39b12328d6a5dcbd20cd33e941b7e711ba5cec8e4bad141d98cba793b2fbd69646a485c4fbf -FixedInputDataByteLen = 51 -FixedInputData = 47df7da3e0540645c58ce225342d73ecbb787a61dc02778999efea1575d12c34a07550d9491e44d3b38ac771bc952249a15485 -KO = ee1e70b67f94fd529607fd3ec42e3c3258f5b0d7bee3a3420327fd3a7e852e8f5a02d3d0911227cacdb4c561bd20da29a724b27fdc799fca867766b145d6563c - -COUNT=3 -L = 512 -KI = 8b21be5755eeaccd41fd07f4be6711f12d829c32fb2413f95eb93ff72df093fd6081e3a6d4edf0d9acfd3a6c6fc40f99 -IVlen = 384 -IV = f3499e482dd6781811605bf5726c4b09e0283fabab445f29eda18c281aaaf47957a1620e5c0e10ae8115398f3db92965 -FixedInputDataByteLen = 51 -FixedInputData = 0cb779ff884dcc2576b8e27cefbdb93bbbb03fec6b19961b2adae6ff4997ba148657c5d0c86bd928aa6be21e6ec3d71b1f12b9 -KO = 24620d7e8709c36d2c66a50c68394c1f5c6201ee448998e4c08389019cff080f44930a59a386674594f63d181329c998e48e5a85d6a34be9edbfbbdf9dbbe5e2 - -COUNT=4 -L = 512 -KI = 3f3a540cb95a5b7b1698307cc4eacb58b80888af49a7080278e46e97b2ce226c9615dcbbd21703a977272bcb002ea8f9 -IVlen = 384 -IV = bd061156c673a9cd9d774b9933a0b61775185ceded67907f5d0924d59f9521c6c37ddd3d983bb789adf5a779e0bbf885 -FixedInputDataByteLen = 51 -FixedInputData = f2dc77ba7583467b739ffcd672c29a56546b1f924e27b5155bf571496f130f0cf92f3d99562773e7a13f79e7dc225b1f58ee70 -KO = 3d300215b779fe11d18702e9a1e7856a4896fa98059acf7af8cf76428b214368c33b49f0960df83887427c96bc5fd19b735ea47cc63a30040667e219ed226cfd - -COUNT=5 -L = 512 -KI = f17f11e14afc4c61bc461da296052da20ae5e50268c9ed6cabc31f6371857760e3927113343b7253aa7c2991c9cd433b -IVlen = 384 -IV = 3ee6b5252fea1b7a514b90176c383fc55fb2b773fdedef823b6882aaf62978064b0daf0eb6c2c82e18e38d225c1c9990 -FixedInputDataByteLen = 51 -FixedInputData = 9bd46c42d7a25132e3e734fc65a93b09f248af230aeebfafed139c3b14175503a2744c758dcc63b603e29623aaf3128c570f86 -KO = affca8eeb3801c47e4d77d72a49bfac0ee981e71dafe80dd6a680aca4f71cbb10739551fe74b2be9072a88961eb3233aae7aef3fc228bb648777404b25b4368f - -COUNT=6 -L = 512 -KI = 4bb023644cb2902430265e7608cc5da89f87f63c39b5565c6dc6a21855a995af719a69375b70b24dafb96f05e3756bb0 -IVlen = 384 -IV = 853088d67f2f6e559a634c0aa4be9389740d29f9827c0e473dbe6651c6c0a803d9ee4abac401c6262ba13c1ee493ffd6 -FixedInputDataByteLen = 51 -FixedInputData = 3a2badd3ea71befbb39589bba654cb30d9510a1cdfe941bb993487528c59181a7a7c1e1f56314108d1a2eaab1e189b193c7d21 -KO = 5f44a4b3aac7f9a2cf59af105288db076ff2a91367de12fd82c889d3736b3cc51ca6f0a177c743ebadd32127bf9451a994911c34f46405169864ee8db8e6b03c - -COUNT=7 -L = 512 -KI = 4efaabed69cc1ab90b1ff1bbf694ffe67a55074dd68a04519cca5e8f9153247fbe6c5f2f26795d6a0688e1f32647eb4b -IVlen = 384 -IV = 867d6f5e0de7bbda745acd9a499ec7c657314fa28e2add4b3d81c5ba8ca977d4b089bbb9a43fbb92c7368212c6f6c95e -FixedInputDataByteLen = 51 -FixedInputData = 1fa6dd7128434320076ed5b9928a88efe5f58f0a67f6c78143e977e3e3feef92518968f8fb5c43ac21b403b287f7bf17461a65 -KO = 8fc2f017dc54bd9ddadd274ae7ca42093c9700e2ce40dce7d27c53ee47ce3d00d42b7e1cf87c64ea1a3d221be2632ae0c5d02a7b7853202477427db580546f18 - -COUNT=8 -L = 512 -KI = 7f098c87ed31f76b0e1838fd8015743fee810505aecde7f08a29f08752f57c0bc5707a02fa253835a0e3d56502a320f9 -IVlen = 384 -IV = 61d438c1a9a4714f420b9e8c05341b7a444b6f9e839cea327ddfa0d397dbbee30ede051558a94dfc475eb910171e35d1 -FixedInputDataByteLen = 51 -FixedInputData = edd87933bfe8db2325cbc08820bd6dfd4eaa74add1693e5f740b4c4e905f5a351d7396c3cd3083b1e0dbb22a15127235639a1a -KO = fcba6479667b3215c5e8fbfc443d77e59d19e713c86ef9f3399b4b5016f3336e7dca6b7e80d532e71b484983345854ff6492f90ec294684b65f5a5fd344e69f7 - -COUNT=9 -L = 512 -KI = 1a2f5b01a4c1ca0c7a5c25da376522e6341e0743a9469ad217be60afccbb096ca30e45349e71905f757733cad44d7409 -IVlen = 384 -IV = cb90039e19a43fe8f06332cdbd0c696c0831665289afa1d48e6c5f355a066295017cdc74a50b2e275f7dfc9cf9f22498 -FixedInputDataByteLen = 51 -FixedInputData = e0f4c80939d6e79488a1ec84014f9a58a34401460d4c4ba0af98a73df73dadc9d408d68d1a00b11254dd0de463e8c2ef23d3ef -KO = 2e34c8ca2a5a10b235a7e685b944ed635cf8bfbb06e05709036b6e47baea6e0acd50644fa95a2c32f9d3ceb1422b7a441844a812ee7291c409c834df3757ff49 - -COUNT=10 -L = 2048 -KI = d41f9ea355f517e706c6a2ecb81c47f1bbac87180bed4f6f79dafb17854db0dc0cb6e24f671d4ada07eca0a2ee22ad3f -IVlen = 384 -IV = 6e237b8212109521bc3c3bdff3354da3ff3fcfea13c7153098a033ffca009b29e3e03968da621ac6dd46733de559fadd -FixedInputDataByteLen = 51 -FixedInputData = 175f8ff4cac8989c8953f89bcd118f8ca285920d9e986bb79581266e5b59bb1056546bf6bfefe4ec929545cf10516fb199ab14 -KO = da858c4c891061d802c34054ae8e8293a857afdbade46515fd1df51b000fb4151e71243d1562d74184ad3e91b483eb577de40af06bfb5c87c7e9d10b8c2b1d5577b957bfd9c0da0cf7cc34d4447db8c4f52c5ea648812467d301e7d2f3a2e516042474dc898c4063789748d5c542a08ba237ec31ef21486f41ab24133d78e99b79d1d34ab7c672538b7796de35d7448a0b7d231ef6ce0e97bc9b9ed19e160100be9d8444b0e2de6a3bf79729970f28c2050bd099b5bbed3588ef4a516232973abc73944028f5d03c65404a1cc75e970dc559a797853ed61ca3c1a45431d5869fb5a3982b4f3847c5ce1f027d62559080141128c89af12986d3a216cf824e241a - -COUNT=11 -L = 2048 -KI = 47016c361e6607148b2af13e125a72a6e60dd0608bed8d432096fa151313f3e744e7e8f02b1a07ef6f9096f038d27785 -IVlen = 384 -IV = f5aca30d5d73cb57b98cc53b664ecc063d4ddf8d9a5b01fd2e07d7e47775de435c2fefe42bb2be7422dd5d3bfdcbf53a -FixedInputDataByteLen = 51 -FixedInputData = e4c84f9ad03362e4270c6f3ad93f6cbe47d5b0aac980f0397265bd13b1a8c78c29b6e79e646d9ae7bcd275f20d3391b8993b77 -KO = 24ae30f0db29bb807aa4a5d946cba5e1255ce2786d6606f0ea08aca688460adc88bc9a039f27743cad7c5a20271b3e914a855c802e09f110360c88021de8ec4e87ffc4792230c2cc2dc103579c4b80625ceace1e050fc1691d418e280a2d15933f292091f17963f131362e79196073555f3c3882b96cad5634bb2c689ca4f3a0fc2866b5eae978c41922f0a6d03cd0c43452b617c80f0b504707e45ea0566e0eae75dc25dad8c8cb68e3fc43751dafeeba2a25c576e42bb223aba06d4fec61fd4775266aee079c7086115de88cc663bb264bda11c940eb1c29baff19d82e2c43caf0ee1a78ca52a78d526504a307097bbbe14e177b333b7c0a23b718b9c6c7b3 - -COUNT=12 -L = 2048 -KI = 81409e367c29c94a8f4ae4c7a2fcf7dd34c13ce36c196299592072633c08baed3c0da31186b0df42ebcf1403cc2e559b -IVlen = 384 -IV = 56546bce41e035db33d0b7c7a92c076d18d527612d945e06e3dfd7335307752294067d385aa80cb1ba988c722d56fdd6 -FixedInputDataByteLen = 51 -FixedInputData = b04c4bce1c0f147bd8eca001cfa146839862cbaf1ba9148c27aea45c36042e0cca232f9e071970839cace4cdab25c0b109e273 -KO = e4fdd4df72c51a999e475cc40b04d0db9848bb549a6f97e696647a4571b6bb8ab27a539ecb6f82c3f7097a7b694247466fba174a41d5aa0ce0ed65735893a1cc81531a17d7cbce4a44fb3c20255f705de954e4517d55b55efda505e50b6ad85fa16f30cd8c93b9dc9f57d3de08b0c8634c57a3ef90d53fda8fc6eeabea7b55a5f03c9c9d88bb4a00e90f5ae68e1237cfe305387d3d3baae1042fa5e99d29a7284bfe4b769af637426c009f84e72b7bf60204f5efbc52e02134cedd9b3a8a5d247ff0c55243739d920fa44f3329f23be66c5b600cb1bbf7f7063892d23da949c1234906c453659a2877cdcb1bf93bc73cc1128000aabdf865aeec564e1e9ec966 - -COUNT=13 -L = 2048 -KI = 0910d9dcc64c98586431d7b00a2566f2cf1289f0e6be0180274f9514ded4145fb7c870752ceb38f5a8546be85fc6a6dd -IVlen = 384 -IV = 72c6498b4edc0d94a40b19ed96870a387382f6dc409f2359d626a6af74d6ad8e2f672f652e5c4fe8fe34e91687ddfdb1 -FixedInputDataByteLen = 51 -FixedInputData = 09dd0b23b79142cadb6ed76ec34c822d3d2f20ed47e35a29c93275350f727d991d7dba80e99ef0698a12d3f3858ce0023a2e38 -KO = a58cb6213ad31c77b6c86d5e104d537d2537fb1d286a74f01b8330852a6ec0a9b7b5dd15201152e151ee8988872732c5629bf83ffb6d6ae2921f149efe12a8fdc243fd68e3120b00f42a75d85d4cfec8cfa80b6df5f36195c346984b28917f7978086411eca19a42523042e590cc796625b51672ac1d6aa7c6df2a97fc975cf45dc2d5cd830615ad83f706f3b72fafe62cb3a3b5d85a91da719fdd10ab4cef7e30f540da576ac5cf947ce63fe873b1f0cefc8ea71c49890318246faf2e9e35936d5d6ddf5a5c83c9ba8e2c951d0d7915957c92220b3f7aa65668879a1c2e7662195191d91b414bd1d422f24fda1377501856ad81e9b82dc097d482af284201cc - -COUNT=14 -L = 2048 -KI = e26e68047b8283a5f779f545231e380ce2334e87cfee5d29a590c16bfbfae5cd5f8cc119c8e0b65bf579273bfefa9ae1 -IVlen = 384 -IV = 3af749cf5c151381382af73e07ebcc39250651e9fab8c06e01b9d387c9f889ec52c2c09181cef8d452be838034ce1a15 -FixedInputDataByteLen = 51 -FixedInputData = 2eb92c6b63059fe0cd5143608a8f88baea05eba25e010802fb3ba4360781cd4db7f4ba40196622a98906303c4c45d09dc2e4fa -KO = 36ce50d95b5addba59e7d544db4c993913e8bf77a12ead88d523e969e7c155a6f81eca6a89501e59a10fe0530ca3caed290f262c516472463989ff84ad126f93d941a13b0b62c7ffc64f599489170b7b195a19ad39c485145311485516a687dcbaf51b8703a66519c2b5f8a93f57888c2f9ceccccb748347472a9fb3a7fbe3298024aa8b25b8d13c137770e774e23cbb534105902b36abaa6978f384225105c86c4b69e0a92ce271794ba36fc3a3b766ded129e5141ca89b10123801721104a916c9dec6d49bd4956a8ca0f5e20652d58e1f94ddd89476a4c815d8c07ccb0ae0a849312127f831622802004c250a6bfcce5da924317cbf39811cddc15a02af32 - -COUNT=15 -L = 2048 -KI = 93f8a634df667c5e2739197bacf23738a164d3fe6f2bf6bbd7e44df495cc172bc54d342b9579728b1c8ead2741af81a2 -IVlen = 384 -IV = 7336c0fda08d9fef717f17f331a2794a1cca752698792239fac7d1dde3134c25dcf1554e8f28b825304037e526888524 -FixedInputDataByteLen = 51 -FixedInputData = 50b904643500e43af77914dbd609995ddf40ac4d7e473b804aaccb51bfdf9686632f36bbdaea8636aca66f35c5d9ab6f8ce025 -KO = 44c4d1c96b5156e109cd3502f7f2a5c41df9f4d9bc8136da0ffe8d9e4e62347abd45790e7259530a8550eb5d9535c2f4e8794157d996cf02e80fe639a22d76cea5c41d7b1349fc4ef4fd340e1ddf4d87f3db0dc94700702469a1348d6bc703d9eeba410bc380a8e7503d6b4d5c33201d54f77ce4e4e2ddd09cb1227bddf7261ad5666524fdbbb2dec05d6bfeb2b22028fbe19e569757da60946da651d5a4fbd0c64398ca796102c4be79431da5382e50807231101bdd48f461bd0ae4cf606831aef37300c89353d0cff2cd6796c545f8f75ee60bd3ff00f976adf5bc4a66494b313f7f5103422c962cf821c275b0cd081be62222a22c6aa68c382cf1fc908d86 - -COUNT=16 -L = 2048 -KI = 5502b9772f34e3320a04f19aca47d762c0617b68eb6332b15d9e145a0ed82124c8ab0e4c1948932b7fd17b0dfcc9a2e5 -IVlen = 384 -IV = 741d6ae20f94fecc43e5b2e60e011faa77aebb9a1743319f77106369bf0ddb26e2bfb7f2213752aebcdcf53b30b9117f -FixedInputDataByteLen = 51 -FixedInputData = 6eddb3fac646d7ab852ca04e862c94c65f0adbc421ea0bcae656339c74bc5923f87d18f41a5b3e45fccc0a3f1607b001b541f3 -KO = e0d4578d37b79c1dc7ed8aed15445c088b2f9beab5bd96b95a04ca0bea0cf9afbae24c761bd2961c27d6a8bb1559c0b441e4b68607e5261fc825b0d65d62b9932d4c6f476c21e5a93b7d543dc8c8040abaa0b50c7790598139c1f863251af0f0bae7e4199069ede7619cf879009ed1afbadc2cee02507b3320b2546b23c86ef46c740d30da0e294c05512b74ebc9ab0b04acf50626ce22914aeb77d6a12605dad5a17b9fb03d673a556ccc1973356d5da4184112073a26d3c52b713d5c5fdf3b5c7965d872570c42d07ed117f996e0d91d87bf1cddaab9a64689538d0ca741f41b52b5bc2c177b1bb93dd42c3a2754c90d2b2d9fdae33ebfd2464b69c9ae7c1e - -COUNT=17 -L = 2048 -KI = 1a5e65d4bd59df236b1a44a0c4fd8af3053ddc3283389c32acb607e484a3f7463122be50e3b19b0c7d08b111919af5a1 -IVlen = 384 -IV = 04e0dc61ea47b11063e3a996a59da133d7b46f67907908089fb3992063112da9ff241bfe5793c664ebd8208c5ec9f4a2 -FixedInputDataByteLen = 51 -FixedInputData = f7e4e42e2f908b95a3042c1c861c16d675603893267a0985ed9b5fce7d44e087a3f6e6b07169fcbde23828cfbc3f9f08d45275 -KO = 590d7d67a08359fd4c5764ecfa27a5eeb0066ade7f65466bd79df6b13fe6eebcf87126c5ffbf0a10b13f49a9eaa1e561a2993b3b5c2866f6950afc1866a58fbd2127adfb5e05eb2d16d4815320fe4edf7f3f9d82c036e8fdcb480e9d91d1ecb37001a4a2a6620e627bf22ef470647986192709b7e5573157b2acb7e53a0dcef131b75fe396deb13cce4f186a88e690aaf9cd27233f67ba8067e582a5b0c4001e15a7e0281ab244713bf2276a1523edc64e77a29ca0bfac6efff59d453db7f98bcba5173a3581be22c71d94b22c8a4a68381e66dd8dd62da2f078a631626192ea8e7c4f3f581642cf4d535c39b06ece044ee30aa2f8e484f6e78848a1d025042d - -COUNT=18 -L = 2048 -KI = b303e9a5028bca5c0562171177cfa35bc221bea2110c495631aa48fd6ca8b4b171a8e32b58c3f87e004d94ea1273a529 -IVlen = 384 -IV = 2954db22de98828b3d66164073f2b7636bceae3b044504c84028f86d77a001921d1925b715147ff25a8a44e1d79bae01 -FixedInputDataByteLen = 51 -FixedInputData = c0475b399fa2f101d98e4fa53f657de14d3de598b2b1d2b9b77f0d02c7861be382b084f6f378b8149cadbc67eaba5b430a1e13 -KO = 28dc1f91e23e5d00ac73469638abc67b6528844bf77535b55357b51b9e961b00c45257d8b691c9df5554d7e1ae2ebdcbb04329512246fb569267c4d3365c8b12693e332340bd041b5471a34eec132e3c52a9847ae65e79ba9b2d7c41a77da5a149d381cc33600ebc46f8cd6bc8b2071e8290d8ba0099c1fdb99fd7431d8f96d32a61a84009599fcc9408071c8a9fb124c199061085febf9b243d79e7003ec7d5000410f69a55771996b405c25b956f67f4fd64a41d21e0ad1c09a3e4038b8ca78c0b3b96f026df31756cfc3b67f4c2f90e16efa7d5a76d9157fa5dd0eee4d8092d29e6ca20f5578f99b3a36c9fcc686e8494d8afe91a56fe907f3c5808dae918 - -COUNT=19 -L = 2048 -KI = 89084cd1fdb9ccd2e768dbf12121bc0adadf4b3dca17f9461d6f2530de2ff06fa154b7ec3a213d38e3635abfd6071e77 -IVlen = 384 -IV = 516ca2aa61f59e569a3cb8000a32349b510951165afcaee76e2500a2bcd8e8d4d5e4faa6c7f2e941fc8cee27a9a30e57 -FixedInputDataByteLen = 51 -FixedInputData = 72907e7ee7183f3b11cf1c3427f3197467e3c58b9bea691ac6773d30b95deb53c26b2ecb3975780535f1238c9223f983ca6df5 -KO = 7b95e2ac928394b5ebed01977f039e4213ddb832756716a8ab4a46835e03bffb76cd1f5cf92648bd721b9be17641935ba963bf6385edce025cd97f66993249cedeeb2087829dfc3839f330954d5e9f20610c28e114f15eb5ee7702286c6e45abb1d8e8cf32733d150241337570d01e86f1449f42639c5f30c381e4ade352433f911c04d280d6f5c23393d89a94afa6fce08916df6e99dd898abe8761897efdee39d71e301927187355d3c9f55135a62c5c9bf7eb2365cea022f7b121bf4d7d87e86bd95c7905697172d06ab9788a793c347005fa20c8b0dbfdd27a0a38edc430a0b6ce789acc8c8c6172439e4c87912294c21cf89ff9c5fdcdd6623e517d8e77 - -COUNT=20 -L = 560 -KI = fc678fde189d0db930682b90dee545faf45f413dca542b77eaf967920a8226d17b7a5b98d5968144e3df6fd44635557a -IVlen = 384 -IV = a4549d3225fe4c14c9ca4ba21658c1dcc3a092cf39ec6547eec38774b2ad46276b91e7e2dec5e10ed6084ac41f00db96 -FixedInputDataByteLen = 51 -FixedInputData = 507c002c03914225e89159f2fca1089692c5dbe2a7adf7d7d33fbba4b095ec3ee531fc0483ba39b8495068e0a7cc37123c2f10 -KO = bcaffcf9dd6da2aff474eb8e33e4a0f7142deedaf44214690566d39e3110bba8435eac61c68a82d4184c7ede1ce0748af57d7890b27758c58922a3eefae5029823a379b3d67d - -COUNT=21 -L = 560 -KI = b384ae0f300a369625dae5d3fb9d31a6941c7b8cddacd294c9ad76f8319af64379c63447897219e91ffa8fb83d240dac -IVlen = 384 -IV = f897d0d44542cc0a1fa7c8147bc204143a025a4bf8bcf75f7f8a340ec72926924c21919b1af893652184dcf9d82d0f42 -FixedInputDataByteLen = 51 -FixedInputData = 78ea2f540761e513a08a72f55453e4e1e3cb2b56bbbd19f21a64a9eb3be5ac512019858ddb93b79574c5a5484894390c8eb2d9 -KO = c77bee782e57efc195919301e389045d4bfb0e8a75a3d3565ee5522154af1221aaa240f2f9cfe3b6a3befcbbe16fa8d82673d5a6bd8a0afc81989c0b1877682a6ef132c4b948 - -COUNT=22 -L = 560 -KI = d5964321d090c19442db56b1e96b4223bca94453d4efed3852c3151d822d1f3fa355315bdbd1a32f1e680dbfbf1c4a0a -IVlen = 384 -IV = cf2afd3631d8b67bd35323b468e6ac074ed22e141987efe9ccd02ff305cb27afdb7890f9786b0c1bb45c218698faeab9 -FixedInputDataByteLen = 51 -FixedInputData = 82256be7dd2cbf48e320d530ee9292c6708431c4aef897302ef7a8f8e6b2f185c6af1dc07dabb48f4c6e13dea7f3efcfdd37e2 -KO = bffecea39d575d6942cac73ed99ded8032eb00bd22b794f780c08bedf23bf360ada2f4acaf6474540f5a2917132018e66a64bc9cd7e728d46a2d720f73db0088a72702ca05b4 - -COUNT=23 -L = 560 -KI = 4c4b1059ba10bd2a4c6b61e7bd978ff03543c319a823e8e6de91e2300f527f97ebf04d3e49c09cd3448e7ce3d449f9f9 -IVlen = 384 -IV = 633113bbeab72ebc023a03eb5a58235fa3b5d5cb9690c20a9235343133c07380e47e6a477e627ad0fbc648c9615542ce -FixedInputDataByteLen = 51 -FixedInputData = 9758e62cefa3517414603c35c42b6ec84998c6d10faf55a832e24606fa2d5f2fbcfa4485d061b06eec013071bd64f68c67987e -KO = 9fd6a41ae2fe5dd3763a5f07c0f14442a6be59e0b1dfdae6bf614bc513e8ca17ea1ff6d3962d5f00c2fb50662f77ee5984387320b3b83db1ea9dae8ad9cd9b0328aa923417a8 - -COUNT=24 -L = 560 -KI = 5f5f5eb70160b642f4d412220ee3836bbc48d2386110f5cd92b4361046dfd44abe061d5dedfa0b0b18223720e6cdf4af -IVlen = 384 -IV = 76c6932550b110884da569a32789ff658849d8bb3f4bb6fcf38750a58ebce384de777f4765c39f1e4299b0171f06b82f -FixedInputDataByteLen = 51 -FixedInputData = 14eecf670817e0049216a0575d575fa1de9658544355bc6d1880045aa41b8b5e396ccc0548dce00c8e7490d6b4044bc4bffc93 -KO = 80c70cf68dbcf0c0c834116ead88a940853af83d06069004e93fa9b9786ea485cdf814cdad1626136830334952e293052d077da74edced49557cedae9341abce40b9bbd0b606 - -COUNT=25 -L = 560 -KI = cf9bd47e627b5b75157cd3d409d92aedb9430be8a82f75d63fe24b33041a382baac29a9c76e4f5837fb69b8cd8a4185f -IVlen = 384 -IV = 93f8ff6db752fbdf7134a0cdad26bfda7f3bbce5b2c64e4dddf71b17eb70a66daa8a27b19c0f65e7d1d9e14a4b4e6a3d -FixedInputDataByteLen = 51 -FixedInputData = 522b701805d140f4351441f0d6e477f2f1d3cfe663be082ad5b350ecaf8877831ea7e48dda7f6d0950caf2964613773e8bfee1 -KO = 956250c0107148ec47db737d0422201593bdeae6d2c486ff772618bd4c86ba1d443e0f1b9c010d43dc99f5bfa6309b30ea3abe2359acdaceacd138e3577ab342a215fd94f8ef - -COUNT=26 -L = 560 -KI = 5d11b52c77bc044839c0062e340cab5dcf61329050612daefb388b183589a1ae59e7f24fec93bb843c371c579f4d4d73 -IVlen = 384 -IV = 0ec1f9807d582e3ff62bcff86d5450a03f5bb142567ec99a39d880df369382e9e493a6f2b0166d0e5ee241890bc2cc6c -FixedInputDataByteLen = 51 -FixedInputData = 93b3305b75efbdfa816051ade6e5bcb439bf5c0976bb997277eb5356d743a3d766f33777c59691b35995cf3d5a63d051c1b177 -KO = ad5c9bcf4999b3762584ddda7cd618c58985e8ef779d6100433a439e6c1c9c81d6aa15dc8e76d3310c5bc1b2e2dba7416051c85826eb1c4271dff750116f300be5ce353b6483 - -COUNT=27 -L = 560 -KI = 8050c7e0f9269fa91629d1479e60a968f4931ef22dd7de5b62fffbaf86083e5fa9c16eddf847404ff4e8d9517b55f273 -IVlen = 384 -IV = 360f35181cc9ed985bc494cfe29ff73f4696bcb16d61be7cc39deee61ff567d7f342050e538aeec6b8304aa7de542e38 -FixedInputDataByteLen = 51 -FixedInputData = 24546467fd39a0c1cca2f2791ecbf45335528992639cb9f080fec2c144fe00298f6d00547b75fb053982feba3818d45f7b5d63 -KO = 7cb371248f530e3a64028b872c2f87cc973ca5e6e4b44634bd8606bb58e41f1e7fa6750f898820248f3e7dfd1c205317a82ebd87b917765ec99de953059115c883ef62dad26d - -COUNT=28 -L = 560 -KI = 60cd2a2a40a0e24e0c89a2f4b137940b643a59407353f9a7ecd0a6cd496166c41b520e1378437d71318f5bd1f756f78c -IVlen = 384 -IV = a3078140061bbada8887289e3305d5a716cea2e8ea5e1014f5bbda6ddb1b05c3458e05109e4bd336da6ff533f517ba58 -FixedInputDataByteLen = 51 -FixedInputData = 8b3cd98c717f9046d3c0915c2f5c78e899ba3cd65a3a68ccf6489e5835535d8576c79cafff7e8a8614c0afab21a646961e2e1b -KO = 113359a53ae55ff43e547aa2fb0586c76983114bdfea30669377c8a9a5dfdd16072aec1e1a7c38f81b136de4cd12d9d5a562187bdb094e73f99f247c792661c1b3b708912039 - -COUNT=29 -L = 560 -KI = 784a6c70b714d681f8be90c974db75f8bab90acbae51981f97f6fb2744ddfed12182e9e97df0e3340531be696546aba5 -IVlen = 384 -IV = 76a6282ab2e6273320090cec36fcdbfcc9bb52a40c0c51c2355599e0ab50ca749baf4ec489cc3b49f7b2185a204f68de -FixedInputDataByteLen = 51 -FixedInputData = 5df1776214d7fcb35c74565e0166b252888eb37b6384b9640f012d040db75156c6305c63737ea7e2397b8bf106635c9bafb8a6 -KO = 5a458d4b8fc10579859056b725502d78c5bd5f517e399cefc96850f7dc1b3f55dc74dd00f2b81b6f87916421d00bc15151129d80c44613b3e457456cdf1e5b86bfecbfd247ca - -COUNT=30 -L = 2400 -KI = d78bb3d0151c8abd12a366e3291df179b051884615292d85f71bfccd67f83997fc1fdca7aef1ba9e879be8fe69213339 -IVlen = 384 -IV = 40e6ebdc522e6b585686c2610352842674b26ec00c15bf8dfb1bd2c6ec07d82576d10f6556bee2d5c7819301ca97188f -FixedInputDataByteLen = 51 -FixedInputData = 566edce3623002b94fccf5915c771746c8ae743c3c77c87648940936c65cb81e6f55f1599682e1d8974b046b83eb3af0f96e17 -KO = 53f7a37e27d2fd268f9fdb7fdcfdc7579a2284d00ff6e0d1f358d15fb262d4f06ecd6ccb9b5aa713d900666f96cc35cb2eec212713ba8876eb9a359699302e95a871b8c41c9810dcf96c02ca49c5b893ab46c47a2e8e8eabc4be12d4c8fd71ce1ebca02097f38859cd90c427efb4d29d3fa2e9f7786561adaba940d02fe4467d846843cd2e7f4ad10ce51996365ec563a4941cd732465616a8c39da2d093521301df87e66c066daee5763c7763ddc7ada86106ce0278dc4b71dd3925ccb3f76ec6c49a40c825fe4293aacc4f49411c9321c85e8f4bb7c62be7c8c837471d2d6e051aab54221e6930ebea348d44f82cf30472d4871cc5ebce05650524b87574f9bf308ca0869d55871744c2a06e611ae10ad87bb22e2e651020adae416a48eba70524f4d9a360d153ae70b464 - -COUNT=31 -L = 2400 -KI = def26e3725f427087b0ad7dc43a63ebf9be44f400e37045a4746f08b0ae3830fac9141efa6953865199bc8ac1aa7e3b2 -IVlen = 384 -IV = 6f4f199c933d2478c8fe65e26e526a52669ac413c369e2b533365ac79d0bd2f2ac5ba608b6f2a5100a3f4385ce2939c0 -FixedInputDataByteLen = 51 -FixedInputData = d2a6b1e2dcc9c9960aae73528e4a9b87fb0f93e22357be9b167c0d3cc4c8c3bfd2c9efb0f94777dc587612a2418996b84427da -KO = c229df16bbd70386c905c2fc42ea2d4cd5e16a545afb57eb0ed98b2d32cfeb7aed4a6e98ba85e81c45b4a21a193e76fb4e9a04852b8476a3bd7f3c78a8d5396d6d9502d69fae5fff44acc961db659ba6f402e63c7ac985f3e30cbb24ddc1f7725c838cdafcb340ea15e6f6cb49edf00a44575c920056273c2a79670226f1543975d7072ab0bb89f4eaee6d8a9cb74a34de435c7ead2e28d866170a452decc29da2ecb8483e9fa6cf7703cf1b53bc8dacbf645d62783966e1b783ad38e908caf36183b4414665e5f5ecda8a06969a96fd60c4542911497a9ed33eea21396fa9847f30035ec4d1dd7a16d0727732d431a215f12e57bfa18ea421b85848aa9fec846d4f6c97924b9cc1a62ec05351f5be19088e5c460da68de9e1eb9f3b441056c3eef007eb8f93bc77a6a3a9ef - -COUNT=32 -L = 2400 -KI = 7ed3f9c965ca22e8ac2c33ad7ebf1f75e781fab0f8556827a28a1ebcf3317f4978f4724724d5127a8a19f2bd8bd254e0 -IVlen = 384 -IV = 8eeb9771333fefa917e002664b4ca327d19a45399cbf40bdde3b0874af697bceaade240f7b0a4bf0dfeab3f307e35b8a -FixedInputDataByteLen = 51 -FixedInputData = 753a198b78aecb46461720225b1268626093139210c082e9745870424da886103f021aef0604d8ba0794671356fb093225f1b3 -KO = 6dbda55a9c74903c0d58e2ddf81be3a285ebc668b8d10ea60c24ccebbb89f52f0bae80cb11511168bfe46972596102b826d82217a98d413c0c460ca2cace76dea79ae7621cc22fde7a3442f28ea1dc73035e1cf27f28ecbee7e212d8ae764fb805765144fac67e5496197dcb618f8e46cd3e8e02514cddaa21a8e79d826a19f4faeb57cf20c395631872b895730e75f0272f0de9a3d2545638cb209f242baf4a738a1e4bafb5fc45f4bc0003a45bb8ee3de3b68003124c7a9b27f8321bd4e12b1b78a41d471af6695f034062239a1192d669fccd991717bec60cce3fecf0dc59c9ab69f6c573f0661e66cd4fb8c20e36512d057e61f8989c3f2b46fd503cda3fa21d778cb77b4832621bf4e33cbd0a21637ce595cc37d14e964d6b3e018a3cab5ed0ec47177f3565795f3994 - -COUNT=33 -L = 2400 -KI = 9887b6c0dec9742485c37354359ae2762c35cd09781f3c1a00271d674a48646f5444eac7c366cede932a510fcb9a3290 -IVlen = 384 -IV = cdf2f7f91aced8b6d3f58c5847575a17717b510ba5f2ac74eb763e13da30125e79d4b8c219376d8a706aa08905ea2eec -FixedInputDataByteLen = 51 -FixedInputData = 6573538ad3988fa879f53358d7cd4c0cc1a34307de58c5f96e44b88ab7218fa6d730dc71be9a4f507a8e7ac2d960f015a4aa07 -KO = 9cb1758c7d530438d9f2f9e095ac3a7bf3834b72b5feba1c85b64a7089efb7dbbaf3ff2a95e50419bcbf6bfa353c5fe51981b19719343f2f1ea9b3bc415f87852389355341067437f10790ba0ebac587f796385f8bf0958d5c88b27b47e290046c3b2727f7fa96b94b6b017a4200b60e99a8a394445443f124004186ae217374d70302a835d4242c58838b8e6500ece5c604b45022d426dcf3eaf16b235444948dc243a9788287a765ba23be451c0cced466eab8e5dd5cf52f6b8b4758b287b42fa8574355326b19fb41f469e0b6503508ccb39876bf6bba14f58bb2ce94a28e54884a8fcd2db365f19b12371d6c7c99defc6427c829fc5a89199c460bd008888c4d078849eb73bdab468c854216dd0d352999a462904c37b2e24f5883a63dfbca1ae55fced2e8387a250625 - -COUNT=34 -L = 2400 -KI = 2adbc49a38ab77e716afdad1e4a3348dcc9aee9fe6f99884b43bb863d11089e25acb45e67c1688d65f6d8f9ec4786a97 -IVlen = 384 -IV = 005bc596e0863c4d4027dc89bfe022ea1096687c57690185d2d507ec590364a9b42c7b261e722926f52763ccca82b752 -FixedInputDataByteLen = 51 -FixedInputData = ab035097fd2506da7193d1ef0b654dbe460d2d073c87efa456dc6dce2c20676202a0f705831c0eff6d0d24687e0b6736d40a82 -KO = 92a5e1d91ab0563142f01a5c3a1c4e339f11c3fb169b84231481c1121ebd6a36459f36ff77a324e40ee55753f3adfcb58b9b09b9d15ef1725d05b71594a2571059f0448001a04b09e077b0ca2037ecdd5966191deab53c9fa083ce0784af433535aa6c2ecdbf87a180cf643fb4672a807e97c86bb9e96584cbc8260d57351a222c7c68d59a05d464dbd138b289f64fd9b29977b3aaa2a85b584c8ef8efe04a870e6f94291a16dbf35e505a56476ae18a73a8e2077a61fd98b72bda09603f3d0d9f760521891b24ea7d78350836b03bf24f432d8053fb0122f5e3ea941c0b2d867aafed3d03c78592c24994dea183da752a7ade89b006284de0fe0bb57277fc9803a5949a63dc0551acfbc989f49464fda26a84225f37d90f55fd83b7dc0d67429dfc0b2501326bdfe0b1ef32 - -COUNT=35 -L = 2400 -KI = a615e99bfaa8522ec0ed5bc473a69d3ccf88c6e01501637d890c48dce7efa355a46992a4785b50ee399b220082664486 -IVlen = 384 -IV = 1990f33504c8bd3967d2af101c60f8be97eba69885ce461172cdc6cf4c31d331e462ab71f19622aecb00cb32c98eb277 -FixedInputDataByteLen = 51 -FixedInputData = 2013ef37f3580e77a161c9a90a0d83ad6578638af48a9d83a1c48d23b950db9f98e0f5bc5225a6ea4bf9305e202944eab3ee88 -KO = 77349a666c25825bae7b8d548106eb22e14dd9eaccccfb79171850a3268fcfd087d8f3995928a719b62b60cf4dfe71844ed7b26da61e1ede9bbe8139b0aeed0914b479478717636bdd8324cf5e8e16921e753f445712d0257cb3e5dac00881047fe2ceb64c60dba61b863da49efacbde754751b3bd297ea5fb3ad5d1ffda6d24b82549993758c182a50789cc02a74a18e2f606f32405bf1a52f8c5dde62401bf9d5db97561c4387629ac43688c556af69d86438f24c4212a7a203d1428543a0d13460ae1c71e4858e32f84502dabceff8b65543a007de2d53ae4ec1e5f595c0a4e95f5d803d7e8bb123b0e149576cbe81af3db032c83bb451e42588159657b6384c133c1e57aa9ef941a1cfcf0c8d432ec15a28f4f9262ff430c31eadcc59c930b99e733ea758efeded2455e - -COUNT=36 -L = 2400 -KI = 12f74ac921d5a0b9411b781e1edb78bb93da819528ed9c9bef5574acaefd77a7c06294f782623a01eef133c711b605af -IVlen = 384 -IV = f3c20be90ace55e7741c641f95797ef386b8ea9e5a724432e921f97da84cfec3bdea46ff30916f02290dc6e036bc8423 -FixedInputDataByteLen = 51 -FixedInputData = 8470c1442d3bef2d5fabceeeeabd9bf55299d352f0e32873b0daffe21585c9697338b3378166ce5e4389d1a52fc4e03f94a30c -KO = be969c910e32df5c1b98cf53a919ac9ddda1c5ee815cb17133f79fd2b70e13f7b00c2bbcef3b6097fbde3d1d3935c6fc6ac6bf7c65f9197181ea5dbe0e3e1e5f2ed5b14eddfb2375fd459fd53a30cc255b9b59a188841d5485883f435ed46c853bd5e099f2e5732713df5fd47a015d1ee5ae5a1475443a2478e2e8c2fa15dedaac103b744c831204341d3f4601f9d54283c35b5fc23532f072e010a11e2cc2716be1e2453d4ec49b78cb28ce482504928dee0a0e8bc8d6de71dea208b202c5a3268bb803a651179b850888eef822d870cb373465e1c5e4a77a48f26206c7f707f521b506bdf184b9233a7bc8e0727861e922a53f30e243c1dcd50c292f5e36ecc5c2b62f4fb098e031f4094764f63b28ec46f9f13cc32ec735b1e28646a80c96bba279f5ed38b46a0695ee03 - -COUNT=37 -L = 2400 -KI = dd3cf01557335ad701fedcc24f76499f2f2497929179b6340623ef3a6bbda5c61789311ccfcfad6fd4adbae8f25f507d -IVlen = 384 -IV = 06ae156740a818d316bb43c188da70681cefcc913970ce185c9c14e547fc1b56fd59d8d7471294e92dacb6e9c37627d0 -FixedInputDataByteLen = 51 -FixedInputData = 98d39f0b6eff52754c3c8b1aca47eb454c7d43ec4426d7ebd810111f21cd981c42132a62d80386ee62f550a7c534fec67819a2 -KO = 3786f286ae7bab445308f81649d9d731b6e88de229e8bc208212e5957bcdce66565f32316efc7dad6065030900e08b7c0098948394fb353160c55da1c305103217fc4501c8ca83fc7b2dc5f78bf6680257a14165c5c95052fd19c6921f488f6b051ba6207b40105703d7eb855be1260bd2314ac6433204eacee4ffa01f5375919f00316cb5a03229044f2ad458d6fb35dc916c6d793f1ae3da5097a76218638426742e640b89876d96ec0f6aa071a1062e799a862f4df7e3ee1905c21fcc31b6e9d32aeaf2607c6f89295511731f88ecccf1e5c25b6a67bca988d04c9b30f5af453871e19184720ad1e752cadd0d71ca6aee10a40c282e35ff80b20866cefbf15d3081dbf296c9c700d384cb1dcba1165dcf2f8df585edc02ba7f76b11825f00eda47091a26b86d99ccf8e73 - -COUNT=38 -L = 2400 -KI = b2cd7c83fa642284cf0d763193fab528c9c52de41b4bce8211baa78d9c8d58308e3a4df405497e116468e83e64a364a1 -IVlen = 384 -IV = ac10dc89212f01535512712790d7d04937744ab197b54417b85522c8e30239ff7fd66c751b633e594d4cda85bd6f054c -FixedInputDataByteLen = 51 -FixedInputData = bb6d2ff8f53cc3ffdab72711a458a7956b4fdda016a11d2f32454c81257729b9aa8dcfc70fa0b281d4f5fbfd9de64e2099f1ec -KO = f72eca7494f7c8a6013aa9629ccd0053a916694f6cb5ea06b5da53d3ba820ca4cf82852c15f798b4cff2adb5d024de8ed928cb1a23e6c15470b5298512971fc6d9bf3846fa837a156a7732fe30a17f78af5e527f66ae97c123a6b4580dd33ab26da652a7ca91cbbb8d72e68eedb5f108adf98aa42a8ca297ab52ca187dd7a1f1fdfde5d1219e6dd4abe3399e35f141f9a268b2fb69746f7ea7769d171cea2c520a41d4d69974a76db7cca383ded3d87f70f1c8d21326337f80da09b51ae31d832838958c9aceb53d356298822b79ebe24d1c5ea702bfbc0528a0571275c795b672befea38a94c69786737ee78658aaea3cc37a6039c45dd6d3431fafca5ac9d6898ea1f17ba8e94ce997c33fc78b12793625de3c469c681e721599671cdfc94115801f92d4b600a4efdb6bed - -COUNT=39 -L = 2400 -KI = bda928241a93485e59d46e51631ab8e7f2f3d3c7edd444dde4ecad2f33d5df661f61dfac73bede58f83672387c5136a7 -IVlen = 384 -IV = 95bed770e85819cc4f7e6bb272fda764a4fde92ef749c50112195baac3c8971b455dcf5821b6832faaa971b861ee10d6 -FixedInputDataByteLen = 51 -FixedInputData = f94d1151fe48127036c0ebda498afdc247fe82ea4fdcbf42b100ec0714d75e306f66a0aab50f8db9aabaff7584bd7a28d3526e -KO = 70c44a0879d58d19dd96bea6aea39dcde9c907a4646c5e59b05b49789140b8805e282c17af98ca15e8e21b9b08663e814cb8d0e854fa6c42aa0a8b3dce5a4f477348fd4f09b17304b05b4080b84e44513412d5bf4333eea1ebb55cac292f1bf4f1d839da04877094e20c0602aa71189f2ee210b067d1a3507502b34d5ea7f9d8a03067de64e01a0d507c4caac3d4f85dbf2c4764ee3f75b10dd151dcddbc34f03ac36d7f5555c5a55adc712ad269a7414814ca29e58b2188772abb19693ac4a61c7f4ba46ffb902d83ed46aa01549c86940f67a2739ee0b7f8dc8695ef8b124ef949d8f47d5f783692ccfb1b5b54ce8f34440e89d072690cf01bfed3a47f6357a3e9e16b1821182add6cf6b62c76983e28bc128b6628cd4248840e0f465f485e61bcf2b58de03695d3f98a46 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = a68d5bb54dea24c5ea52d31bcd4670c9ba566f16b0004308b3eb60c58b4690e2f0fb48ed5cba44757698e7d29ef0caf6 -IVlen = 384 -IV = ff182b1595e52a8aafd186a1d9b307de3f8888fdf42c8f6fa80522b8a0ae33a5c87107bbe826b8d34e42a643a2bc3516 -FixedInputDataByteLen = 51 -FixedInputData = b09c2504bb61ed44cf7eb5155d97a2f8ff4c64894704e5d037532650427351d17f3c65b5502ded7d1f08be6710da3748953a20 -KO = 3a97a1b97744de5ec455722366d8045a19d625e5ee87f8aaa00e3b1939607d7e17411db9b9bc1ddafb27973d080e49c5f19f4cf24a43b180fcd3c11001568d00 - -COUNT=1 -L = 512 -KI = 4895f7f520783544fd41d7ebc97b5c1f825b02b7f9c378531f044d4103f9728664e6ef1535a97232d0b61db339bd81c0 -IVlen = 384 -IV = fd69c1222ac7c8a12791b88426227b6d5c007c12897ee03a929599ec67f428f4cef0a6b5737334622fcc0c6b07d3a7a3 -FixedInputDataByteLen = 51 -FixedInputData = 490eaceb320bb40924e26514875304674fd5f542d2cf86a710f7a2987c6c4c955127e3d944adb374e9df425e584a57c2925d94 -KO = 4401b6f934212aeb9a461915e1eeaed0fbc23bd23885172ec7876b0326dcfe72c32ddc0bb5becd4480c36721773f9cc564778889a28a3d27cc34790c2ebd8369 - -COUNT=2 -L = 512 -KI = 1a0dc3612990f77a96a0069bbd2d7c1a1cc901d3d0dc00f59f7ee0f9b0a665f469d053afc4c49d843b910f3551f26f82 -IVlen = 384 -IV = 31d25dafeb1deb66f72f4dcb42c5fc4c445fab46e0eb1412fe3009542ef00ed369fa5fad8e65c14a962c1a2bf98a6a6c -FixedInputDataByteLen = 51 -FixedInputData = e98e0696d2218f04973583ecfeede8a2290033ff4368d0e0f1b4f5bae69ad88cde5c1f594d1961917711d6a959accd61fa9115 -KO = 8c01c5c7dde7db55fd753a397f493eb3de2e4d1dee5070b001fb2916373e0e7e496688abdcd25085af0d21f7b7be3c181b350e9363c27f15016c44cea77cf6ce - -COUNT=3 -L = 512 -KI = b9daa48f7189366b182b2fd23351f3128ad0e62b82721933938f9a34976d016744fdfde4e68320317e2670c07086605b -IVlen = 384 -IV = 1c9b1616a5f937949b6532b0ae989dcae5590dbaf5947a9a24dbeb08502a156755bd139fd4fde63805c2f2d6c6b5696e -FixedInputDataByteLen = 51 -FixedInputData = 5a7f0cb9d9cfdcf4fe47f15007087d3dd9cd6ea8187e9afd3e0d9491a804388aa33e196044044553eb439f70e65132116479b1 -KO = 5958507b9331bd2e6aaebe2e6570e6e4d9fd79160f39eda741107a906e3779e75d6bf8ba9a840f9cef556ea903bb0395c4f9481d9a78090bf1d80c60af560d9d - -COUNT=4 -L = 512 -KI = d8f2932e3967448d86ef9dc574fa78c3277852d40bcdb2872d146de45203887ba2966276efd2b2a4ee679bb068e18ae6 -IVlen = 384 -IV = 6534bb8eaa60cae49cb6b1752fafef0aadf08d4526790b2dcce7f83a09c4880de88d95ce26a4ab49a9bb60ea40888e14 -FixedInputDataByteLen = 51 -FixedInputData = 49e03af6cd839a41b2a3de647889c0ddb8ebc658965df9923517ca537d2866b4854e870560ff728e0fa278ef14b92d35551705 -KO = a3173548de296411f38151654708e38be6c90cc7e91689b858d2b6a66f4ce364b5e05878c5c4b83e6e07b945f6e43a74f387c39bea9e0b23472f5029eb6d1b75 - -COUNT=5 -L = 512 -KI = 2d5b485e37fc24f5f6552c3932be0c798c7c83eecfada87475bcffa8745f48b0639abd354742cb04498c9d8b1f57a590 -IVlen = 384 -IV = 2ce28e6a1e9cdd4cece114fc898ddd9106ac1aa5723cec49ae923dbbd50ad542b3a6c6284fa09e57b47bc82811feb61d -FixedInputDataByteLen = 51 -FixedInputData = f6403cc4bf822c44650dc0747f9f23d96bfdf2d1ec9da0bffc617d9769f242803ec3cc8f05405643ca48846b3bc69046e9ada4 -KO = 24bde97d4fadaf0d4d0c5ac26e2f370ab624e349d770d569a86a80715eefa86b4d89dad4ddc10bbd37adf932a233dc6394cf0b6d9ccc9f61461f6ee6d618420d - -COUNT=6 -L = 512 -KI = 5770d6db8881839bf574323048e6ef9093e4f1741fd06d91d23a162b079f8c26c8ef195aae3ab19fb36d88cbc3d75996 -IVlen = 384 -IV = a5f5852ff9bc5ed4cbf696cd8d380c87bccf2235c2342ffc3e3bfbe4b80ab52687f147d5d84b4302cc2172f338449f20 -FixedInputDataByteLen = 51 -FixedInputData = da11d58f7110ebe3c9426e8cc1e649e5d0e7b283d6530e85722a3c7be0feb824c1f801080fa02a29837d6c76756248ccf96055 -KO = da44aa3feeeac1050af7b7cc3b09ec5230de546a2c539fc3d3b398b4a649f4a950ae4d920bec6e1f525aa0016fd54e71fb9e99b52511d53c4340f6a523bb4460 - -COUNT=7 -L = 512 -KI = 0a365f0b4ece9e66582063f4eb527f4e0f82a7c7697e4c99e59b8afb1705cd3a35d0564e6ce13973711f33f951692bd2 -IVlen = 384 -IV = 0eef427175d3a6f2ce41589321cf435e0fa7204e26e80206bc2fc4ef8446fe7c02dac6fe63d041a7825a10013e53d56a -FixedInputDataByteLen = 51 -FixedInputData = 8a5e4e8eb52e7ee16a5b94416142d85c2efe3e254fcc3f25a66476b931be2775061d34ca90f0ff56f140d4c05a1d6fadcaeb70 -KO = 3bd0a271b915045e54648ac4db6962061fcc73ba031a91dfca4fe225e4ba3493e13e7e036c3294088fbece62fdb8c2e206b52ce83898cb1b848651c251fa2133 - -COUNT=8 -L = 512 -KI = 735d7d74ddd5bc02a8066306ab3c63947057a4ec39964420c7ca8dbaa0d7985160dd9fe3162f438b64fc0e566b6fb303 -IVlen = 384 -IV = 12f320ebd3591625bdc1a56df3eaade448c707b04c148894a5f38858b64fcaaf900de76ede9cf08e1a598774b1eda1b7 -FixedInputDataByteLen = 51 -FixedInputData = 6436a3b1738fde36585823bece9f908673220b8b47f0187cc56176c22d9d0e20cb9f6ec11e8e878371918637a8350b142b56d4 -KO = da5d686541f4515bda402cd11f68936b8d4ad31af8981e902d562b8d60e2bcd4a144ce380b39eab9ab9821a4160432d5e88fc46baa16479a40138bda58fce304 - -COUNT=9 -L = 512 -KI = e899da94f15f67ec0ec6fec425e34a2efee5db653fcd2386a791e7f962be7e397f26ccad8dca3d059bb160c953ed64a3 -IVlen = 384 -IV = 847d34da2175b01ec4f2276c362bd2300d84936912f3b3ff5e60e26b1c1ac82cc842e5168bf93faa398db94466afcaf8 -FixedInputDataByteLen = 51 -FixedInputData = 4daa6c8ca7504f86424d04f320f6ca1b69d4ebcd90e9273d34b172df18dc0f2ee2d086b28894557c4d00b33b4109ec0703a1bb -KO = 4d8af9d1c2625f4499f832be26d0f70685ca99e894cfc6ee77ab7a58f451f858b61efa1ae81dd009f607b2f0f8877d8c2bd7a74ebc33ac516d5ebd139cbbd66d - -COUNT=10 -L = 2048 -KI = c3a41b1048ee4d08b1d01d661f7eb3b9061d6d00285dd71270376a50efa9c08f819b237d41781136261a41c99ddb5f23 -IVlen = 384 -IV = 66bb82a8c1fd8982166ab237c5f328a37eee0bbd7c0fbc6a1ab4fa8deb1832c97be33ed63bb3ccdcb52b4d8503f9f27a -FixedInputDataByteLen = 51 -FixedInputData = 7cfb83d4a098b5808ca7f66f6f3280dcd1dd08acb7790533b43b151663325acc23a3633f60391db424f8cdbb547e70830f83fe -KO = c82459cfdef046256111be6aed9f27170b548def076612a0c913c6779c101fe994bbbffc30ba222d34bc343b37841bcf3621b7dced8489c3bf2aeae4103ef92473f5be53d90bf4b22d5c9c833554bc0a7a9aabf851f793c2a28c0884dc0f6f101c7cd298b096ab0cee239e2aa1914b481f69695bb43fa1a975079ea02446e8cb029933b66e49d5efaac08744b1070030ed44f13e7629c6c9e61519b36ac0b9f00a8c436ca8d9c7b068bf5d9ff549abd55e9defc85d578a3b674b1774e6cb250b86bc3539ddacbcd041aa86c5532d4bc5bd74de073dd64a40ce12f60725af43b738209c0b2925c87efd24fa28bca75b5c0576b2cae1dd309b55ccd641a7f08018 - -COUNT=11 -L = 2048 -KI = 228205332d12c98d4ef9cc3106e3e2632c96ad092752c4029d45ea9c8b9b0505cf87bce49a56754f8958c5920d27595c -IVlen = 384 -IV = 3ac19e458da46bc77d33f3e1b562ddb35cbcc7eba13b7474e7f075d0991273997ae501f0efba8872dc59b1e3bf4503bf -FixedInputDataByteLen = 51 -FixedInputData = e9ffc3a2a3239f3a70113837d8bf36a7aa8a43f0bddc6e87fbf6b9fe917fe9edade461dd27c2a88cdf986ca015de622e78af1f -KO = 12d7e31c3583b7c46f34529bd6bd8b8a2def8b47d51dd4631804265caa69be679c2db45ed9191d15f998ff0008c2bc4ce9d3be0d10ac5467a666c64cdf675fa05e6c9b283fe785ff3ebe5ae7dbf45ed634c75d7bfc3f4edff74598ba07032d545359a32257a73398d495fdb9a55234b1700427c591cd7455857413bd74e5a70ee472c122b9bdd90ddbb1d2617cff56a6b05cc7851623df709c0754760c5691aea7c6a79f23cb0d00cb09a785f31ed03f2172baccf90ed8182aa4a2a0739ccc112bf4e6b6b0232789543e63dd74da105d7325c34393124986c91e643efa097113bec452ba6c6cebec6b7756184e7e6fd93d78458ad2b2055ae6ee472bed2cb259 - -COUNT=12 -L = 2048 -KI = 13d7ccdaaf9e251a5f848459d38acdc78f7090e163caaa182addaee1c80233953dcf8562e804286ba0f4b95eda6876fe -IVlen = 384 -IV = 472546fbdd789eaf15f43d308ad8172bd6b240ec14dc7d4520117552f372e4ba7d666f42cc0c728f690870966a2c6b08 -FixedInputDataByteLen = 51 -FixedInputData = 4d59f95d689e80af101ee3a31cfdb2a5228706f6bc17b1aec4dcf0b5f408a5717570c4afb68102cbe6ccd4ead87a29188b33b3 -KO = 1b50f4bdfcb69377d18d705608df62afbcfdb0c53ef47db1c8a4062afae44272d4e190bf2c3b86f8905a0c780f1374a718a2872ad65ec43b4904f7405a8dae4327eaeaeaee21714f8709691b1a76fece7860d19af1146e6e735daa74758036d86bc8d756683ffeeaa2f93d330ff9b6636bebe3694bd5fe9d027d813e524fa45696d776ee44be408b5486fb5809d638427f3517047df6c0b4350479ec49817398d062bdc37fb6f9430783ce2797e953f1858ce9468ece8fade37be6cd9823810f8155002086fe99fb9db0301212901956ea0ab0d983a18344302927e383157954077edb1b63d43fffc5a67fd2f18fa8cbc5c3312e8be0ba2176f2f759681d40a3 - -COUNT=13 -L = 2048 -KI = 6c9114ac1197c3ce10dfecc73f8dab3085d0419b8170d8c0ba564628fcb3efe47bde8a3bff86990b30d80e68bb910b39 -IVlen = 384 -IV = fa23a761d275f98e45258619186b8e0ec1d9636f50102f37f06cffb08f6c63cf93c5e86da894c591da8a9adb9bf98b3e -FixedInputDataByteLen = 51 -FixedInputData = 6b0aceb39dfcebf27787ac358e4d83e0028b9cae6fea2d98835de7af773078dc5a3f8e4da0a953a1f28f471c951ecb60bd3595 -KO = b2585c860ca3bd6dd15d153329e8addb3d6819ba691f2220aad52ddb2736223d37f1139ad482771b93a0188ffef7aa178854b292ec19144ddb19b36151038b8364b177471a10e73c0de95d57d77f77c43f17ce483e715d99a7f8cba1d09f025e3852ecef6d578d7be479e2bd8fcc916166720c85f847abf017b149890e395bc94db97c806556098fb3c1a764f4484ed16e2ca4190ce71ac82188d39778d1034b69d1eff11ba11ea6b0a80b184178ad9cf832c50738aac2658adc909c2e37202c60942cbe262b5af5686c14787d69d8bc49c7b98e338c96b1f03c7ff93b8f68dcdd8700bc6239ab8d196eba9917e9c127f8bda4f912ea2e0520a448d6df7a6c57 - -COUNT=14 -L = 2048 -KI = f4f0a3ff2070b4e64a9d6348feac0bec49822e7ad2a0fe19e3b0e1cf387acf04a38836bfb0ef39a73bc88f03231aebbf -IVlen = 384 -IV = 553dbcd79c43dec74a4f3798a30eeed0db26521a6d893f10904a70069c557296ada430b520b3ddfdb187bf3f34dbd473 -FixedInputDataByteLen = 51 -FixedInputData = e57ebc7e4076022da58f95e7653724a41b1f08af71a0b6acf9e31623cb203fa08a359a77af03556b719dadcead578b2a3be178 -KO = 5f948c873cc04d25297d52c38332f80c23cf74c406d5aeed1a44364eb83f7a1fd6e9202bdfa0b21c058350274bd9acf043807641e35c84e5bc1a9a66bd847b2ceb846988acc0a59db1eee643c57a68e47945e335eaa98b15971d3e1304002a7efaf048f9dcb17861e973a873f0a13b2b43485977ec8185c76e9d2ce92c4cb1aa4e7c2e4e6ddd080b4918b1d7c03d73b92f2fdf5eb2e829bf1a2c6ea049ec6b7e3da7874187085c6e8607d58771ad97ca371fd4871c991e4df39cc4e711da54d01b499ca381fec33faf7931af4640be0c657129e1953c5376f327f09d2c420e50a64d8cf109b7cbfb05a7876081a9dcb7e3f60325d372b0ca1b79b11ea68e792f - -COUNT=15 -L = 2048 -KI = fb2cf4465eb1565d582a3c392744f559eca6e070928134311b9af76539d67971a4285fe116126135673fcfebf55aafab -IVlen = 384 -IV = 94a7cae4a8e3d11c7f1d4a924af00361d2b0c18f944a674eaff932bf294c922da870398cd10f3a1c5c04084cb19d4948 -FixedInputDataByteLen = 51 -FixedInputData = 2feb7ed47a4e8954c4374b61c67cc358d9c4b82a95ab911a721bd666c210726be1712731229bb1a98f017048aba228815cd621 -KO = f2c45b00a9ac7a34cc3aed09ccfc62485da888b9e7361f6c388f20af4ed3b4a06ccc530140f4d652139272e4fdb5a37b24f850de536f3e1777689fcd6357133de2b89ed4399d23469d6708982027b3cf8c6bfa27276c6b4be078a5e03b894b0dc885b4eb2975878de28f6a4820f8c1c60fcb1665fd5969672a10b6073720c0ef68c08629604d1d0ac624b60341edbf575ff3e88240e465901cd172359f42524a41d3571d21e45e902c3cb7de49505d879bb2d5a73e18ea2c0089dd6a06951226c7b14e505635d11d0f74be5bab862c48521736bf1819ef08630bbdb397538f75b0079560fbd60494e081cabeb5638f94b4c1e74abec31af2294477c6f018d172 - -COUNT=16 -L = 2048 -KI = 2161f27e5a11f9ea973e28fce04ce31b7969882ad9066b5cf916bd8265971e48fe40d8bc5e03c4282a22ccee2119bb43 -IVlen = 384 -IV = 38cf77b5543fb091faf4d09af72d28670f9ca6a5729013dd80df9b215c62067b276242f6452e55917f32a0d97cb8e0f2 -FixedInputDataByteLen = 51 -FixedInputData = 286fe5b6b68a016f48ad09b747e81d9a06c61fe0076e07ae881fa53d91e7c54e7eb995f732eaf1da568078c15033f8069bd485 -KO = e041ddc0a6c6e7a45a735437a923ff72743130b95eb340cea10ed5f4733b8ec37f93ffd516f495a07991d3cf35d63f831b4fe347e5f6b520c57b993e4f12f81201400d0fca1ecb3de986dadfc49b4c0758bfd961873316f0a0d0c23d7aef5641bcdae1817dabd8702685deb325e88eb57c590daa2104460faffcbff8f64a521b85df2483443bd6b5c6575f3c1b85aeb703e0dc30f5e7ed0fcdc945fd8d43bce0627dcab67a4131735071ad6edf40958ffe933f1089e9cd9d2dff5ca5ac548b7c786e305cfdf7d817c075c353bf3ea3b3f7e6f1008664a0afe43d2f21a38cef24712f6a888f3e9f8277696f80f7b687cd2c821ab8a5fc521d067a9442f9b9bc83 - -COUNT=17 -L = 2048 -KI = d8517ea37b9720f512162c5498f76a978882a1711143d3ab6cda6d5f301a271317b07e9b2587e7203a8cf72d6a793784 -IVlen = 384 -IV = 294dcb8307381e784e08b01c6b1a767236e25722ff3e10e25032a3335e79121ebc6bbf9641d0b0955be4758079cc1a75 -FixedInputDataByteLen = 51 -FixedInputData = 5981c18b0013079704a3408169a27fef104dfbcedc7c1401f4c3c005f753fd0f49fd44588d4b9d06f9e5ea05389061fb4c4be5 -KO = d6521ab77792ba2e082625a040fd7f2dc7fcb1226557f14b9d571c36f0fd3b43ba130e842e1cf85668da747256271556a96b2b075775002c4c8842cd42adc0c4a03e6a61b4200b03f5097f8042b34247d9a300de2e3dc2fd3f5344807d25407d9b34b4624f6775f6c8172617d9f020be54950ac85a531d67f5e1082c9532c81be26aa3e37af91e6fc068f300dee5085b046aefb0029b22171f4fadc8eccd6dc1d23ad2722d18c8de435207d5dd18016ee8b9a577748c37d2b3128584757e50af379752ab29042e05c10e3b2e44541c2bfb546d2515607a34ee88d7ec4b51bdb7b99d849366beb5169213d2bcb5921eb9dc3f398b694cad1efaf2f91d461a7eb7 - -COUNT=18 -L = 2048 -KI = c980d34ad32b45b13019b3b9bb753a3453e456900c3a8a0f58320f74a851fa47816edf3ff2f86833b4b791087bbbecf3 -IVlen = 384 -IV = 59e7e5e139ef8258251d6c817c2ea4d4ff03ab194992c00861d169b489e1655f6e5a759998c40b392a563f5c5a748541 -FixedInputDataByteLen = 51 -FixedInputData = 3a0563ee090a57ddfbd17ac32e6a73345b11b362b6ad6d22239a71950ce9b4ac1a1b80f3de8e9a620c9f8bdf4d5b6f29873293 -KO = 1d97966af7db9b660b91cdc640eee61a9dbc82a667920dc683279b9cb158166a700a5cf1378ba909405f70ae1e385b2d84d9d639b6d3fb8bac10a2c11e9abbe54a4e272833cccd0bfa26a1ff7ac8bf4324a86258ecb6157d31bc529d281c24812bbfa1f038ffa111f17e96487eaf0007a4bd68c1605199d25f1c86a9a8890d3741384d4ec855b7c1cc9616371171fe8d1a4d80d1d414ae735a79ed9552a9645d77e80c078289258cb3537d5f7f8fc4fd98f1e082ec8337b1462a96d9f13f9cc76627f5bfca354cf7052a1de19992ce62c9d3c3465923b6f745c48cc33c492d15d1c63c09fe8fcb216a766ada8665fab5f28ffac74ca0722c0b146f18f0b0d95d - -COUNT=19 -L = 2048 -KI = 68c30da5ea30dd4289e833a039b9bef2c3624f68cd6b6f7514077ba61b55523019fb8082e2fdafc59a1224d4b9173559 -IVlen = 384 -IV = 443d7fca166390d01bbe6045a92457bda86d9eb079a959e5b272b2c10e0da6e14aa890410f6064b5838d04a31bd72adc -FixedInputDataByteLen = 51 -FixedInputData = c50c107f7750af8947ad0aa346180c0cbb35f510cd57e1e12bc39e5374571bb318a06243688732b7d73c73ef4829668d5cebeb -KO = e98f421248bab1ffe0d9febf0e132bf0afab6090a63596f67970adfbfbd314e21429640dafd464ba1657d9bb6e3a69e7c3caad6488ad2622fcf7f85bd4f322c171062e361b1f6934fefba3fd30f02ca8043ca209f3202e9bc3069b6010aecc6c685c2fc9fbed57153461a31c3f515b7d91c38a1b87890504cb6bf8b18a58af06f427ffec65b01dc8946884da4dd9105be3e8f919bae313c19fe82bbdfd535c31c25ddf6675ce87de8bff2c68d0cc88d660751199d24915222dc27e2a51b83454f9f24769f48c92e07bb2677b6ab6895e770f3cf5c21c758137f73aede5042ec948a742d090994f57fd42e9dfe196b63c9bf94f474812b4b2194b68a8dd0ae337 - -COUNT=20 -L = 560 -KI = 730daa02d25a15de27233af045f0ed2ab7ad7a276c1868585c769229c7135f13c6fc6d283bf1f56cb5c02fd61a11f9bc -IVlen = 384 -IV = c5b68c22dce3c7064f141657f2664a80635cd28108e82c371a28df4d52e8f7cf523f81c8a7dad38d2ec577faf26f86fd -FixedInputDataByteLen = 51 -FixedInputData = b33e2cb76eb84b6d7a4e0d9c0489ce1dd81e7dfeda227b3c3ac988659e58395051ff7e7f7fc719991e1034d89ede5d17f92bb4 -KO = 2a90c46c3b89ad972e9f5b9343edb3b80985a8cae22ef1ca7345af19b44dd14cfade25664a252e3538e53ae51f6e37facd6638ac0cc12193fd05357c5a81a0b15e8592eca9a6 - -COUNT=21 -L = 560 -KI = bf5ec97d3b4d6ec9758125de1b9f3b3aeaacb2351ae213b6c24c8094342d1a7915f65064b12e3bc510b51c3e742356dd -IVlen = 384 -IV = d312a32dd22acacc0206d129468bbca0610490fd555a22b4a35633fc95f705ee5455462d6617068491521ff135acb368 -FixedInputDataByteLen = 51 -FixedInputData = 320ab4186c5dd3dd5bf5be7a1c94ae8effde1ac60cf62585b0cf30778e42c5b58a594811da7d929ec11b8fb1fb46e3f4494286 -KO = 357e6fac51b3e814e79a042230f4abfe42751d95ee3a9b7ec7813b1be4760d6d1d4340a18ce4245d99c909f7a421a1e59e460f321a393a9a289597a2807b3562f12aa065ad13 - -COUNT=22 -L = 560 -KI = 04cada0f77c44eb05abbbdad43c184e27a21839a32781ead723ffbdd8f94518d7f1c147ee0ebd75e335f82c5b778eb98 -IVlen = 384 -IV = 1c0b2285cb00e26bf13847002e80e99b2869da7c4541258c5f6526f347e25ab73e15404e20ca2621c2e1d7f954c320eb -FixedInputDataByteLen = 51 -FixedInputData = 329e588fbee6c45852312794401448cf0c255b99d367784b3a9d80e7b8b38e6d10fba8c5525caca623047791c2eb6a176a7450 -KO = a614d780603c1d05bd637a3f9711e135635389550551b2a1c2838e0f20fe39061f0af038153454dc61d0fe5a8cee664198e429f7f91da5b73bf75e5b2cdf08ff7d6723319ff7 - -COUNT=23 -L = 560 -KI = 0b56d234f0909bfde7d036105c7eefc932f7d7f22f5566c9ebf253ae06e6119d4194b6fd370a3b9726f75d07a8809313 -IVlen = 384 -IV = 73e4190dc072ddf682f1cc9102f7f56654ddd791d50aa7b3b4e985d84943b2d68b2e6a7b6615a592ccdacadf069ecbf3 -FixedInputDataByteLen = 51 -FixedInputData = 885f822021de15a192ecd55d577f17a58728b326a135624ce102fafc0f2720991175173de284bba008105f36fd883460516b0a -KO = 3997ac1655c99edeee16909a3fabc560986b22a81f2af5303a276bd046890c99aae9acba8291a129fd3e6bd6b86d7ff4f83030fb9a8036f583feac8fe54f38dba42a1b3aa755 - -COUNT=24 -L = 560 -KI = 8fbb5e16c6636dc8cab598219c8b36998dea6d410d27b06b7bbe5bfd80b747336dc2131506e0239c1001857ff7495e27 -IVlen = 384 -IV = 20275f163ff5bc93ee3af4e425b31a37aafa6064c83ba90de70b79c6cdf6ffdde53457a53f88c3fa2340d292ea354997 -FixedInputDataByteLen = 51 -FixedInputData = 0707142bb78aa5ce7db629d97ad304d39b2d4974f898f1b075a3e60ba50b47bb18efc3a82666c01a89d824ab5296d26749c0e2 -KO = 5e2f89c12521e8b960988013b72295c5e1cf7a5b9ff770838ada56f7c313730a851e852dba754ccd53ee12e8b0a159814c9bd7893d8d1094e9bba946881f3538dfbd339fb969 - -COUNT=25 -L = 560 -KI = 88e1187794a32e7193079b679d77ff75aa04848d70789edb9f8e22d84a7b02a47508be473da9dfbdb93e07660baf5631 -IVlen = 384 -IV = f3915de77fa35ac5773aa240437684a40e35ebfc39716b22b8e782799fc415752998d525d0548c3ca6cd84b250be5fd3 -FixedInputDataByteLen = 51 -FixedInputData = af3c725e9f55807683ea6723ec5ce8291e83ebad4a26f7c3b3be735045d93c02cc7d98523497a45f04923c725751d198bd5292 -KO = c52983ecc1f7639d1c9d4dc45b36d8a11b1a958c7484a19bfcc5cb2136c416bc79b91658005fc96f5295699fc1a3560b38f000554ff68519a457713f2c011bdda6f44a33afa9 - -COUNT=26 -L = 560 -KI = ca9a443abe12170c8569110fb5adac6802c093552a004c1a2a38fee92b05d1b473eea540dab4c22e580cb028cac430fb -IVlen = 384 -IV = a3ed39526744c22057ec7a963b791e7801d44bc8e7806046b164c71f7b8765615bddb613debd781c55417866e32abd86 -FixedInputDataByteLen = 51 -FixedInputData = efebf058b43b2750de9e2da297aa9d1709ba989be0f5ab5de78591aaf0dfad006f191848c8b5246262566e602804c26e3f3022 -KO = 207c6ba302e90d5ed8c213cf80e4e4d9132b9a1b718d7fbc40ba1f7bc2461085e8abff7c84cd9df296fcf1fbbf90d60c3fc6f9cf6c23c2d8805525ac5948147da48af6d5ab46 - -COUNT=27 -L = 560 -KI = ac93e7edc62677009ffd734947bcd4630bc904d0a5000f368283149100c0f0a5fb23a7f0dd6534a29cfbc03f22120283 -IVlen = 384 -IV = 02793741d8aaabc989eff9c8bd00be18c20bf1f457c40c62e1d757f7641d0f16d420d3e3dacc160850682e5e23e174de -FixedInputDataByteLen = 51 -FixedInputData = b7876001197df48b0d7b86dd151eb8b44213fcbab5c11b8d27788ed51f2e922102b1c6ce952a128006100c12ee8346bc603de1 -KO = f3ae961ffe2ae645e52247d06459e1f9f07d4897a420360a3fae30608b6dcafdb3c8ba57c66b84ea5c95f72c9af063722844875f4ce59d544968a9c3998b5f9083e6d2d10851 - -COUNT=28 -L = 560 -KI = 414c51ff0ec873e2b3f36bdea7430aaf4c53a857924ad274fbdfd4f2a974b8812904e00278162ea5cf9a054668d7e40f -IVlen = 384 -IV = 21ab0e3c44a4857c3e5bb6ef6f84fdc33795e7417301ef7acefddde10716f352bf6d3816e57dcb08346c7a91c9224a56 -FixedInputDataByteLen = 51 -FixedInputData = b5b057ec04988d00eac6a7605b603fe41d5967c287d376e5f55519d53a96f3cc1b7e04ce371b04c622a0dfb64b501af9b2519b -KO = 6e19e2b440070057dde9ac81219c91dfa0455a36665b658ebfac4f2ae55647f56b26ac9f036b07abcead8c6661eb54fb66578ed28ff220ac71c78f28ccb65b4ca64a67713045 - -COUNT=29 -L = 560 -KI = f60eeff15cbfc752918cb9886d834f6696220aa8343d70f770416f2e22ebeaabb7e1f5f810d104efd1928dd361673c59 -IVlen = 384 -IV = 8ce6d67f6dc7e7c88c2d22168dd55dad5960224ffe9da34bb8b95f895b8a80f4b02d3718941fc2e61381c6c7ba4bc534 -FixedInputDataByteLen = 51 -FixedInputData = 8042fb1e43a4c067d6fd69921a4bb44761d27672c1285925d4621823144bcd70f2d340c33a501a67ce2bf6b3c7a425c7f430d6 -KO = 082e09081bfbf779c981b55c45adb08280610edd7f82d54c2ce584d5da7434ab41523a16a5805cf6a6c7801c7bf08d61e5ffb38847d0566625ee03bd7b8a3a0e18093afdda07 - -COUNT=30 -L = 2400 -KI = b6e5a9e9507a65aeae8ff5d1927818918250e037f39d3e1ec048d2ce9c2e373a6fff58cdc00313f4b0107e4717fb261e -IVlen = 384 -IV = 03a354a3f60a141096f6a4c40209749100c45a6dd652e72527290ba0c676b8eae705882f32a04cec0f58353eb4598db2 -FixedInputDataByteLen = 51 -FixedInputData = 3d8c566d0dced1d35800d42c88efb9832dc46c673c1006d10b18e0db12b913a3e445c2bb16937b7691ac325537f8a97b275f7e -KO = 77c02676c4646d8d7c9cc733cd1f6716bffde5531988d22dd3e9d1fd172fc56ac7760c25ad0bf7a09591aa124b69b1f373ed7e73045ed7de68354ae600446d685747aea00e82a00a34af031b1f77be928add1c405d60897870ac8e275ba6bf9acc380811972f4688ade48871259ae08f5544c3a53459cc329e2e9b686c183abdfe25e32b396e41b4871c7ac60b50ab5317bb427b668e5a85a4ff2f9506e82c1ddc2a42bd66b2df19888e4b11a2d2a4f2341c65e3bc97d2210106843d54e0c3b64f56223e001f0349ef0fc4ac9a67275688dbaa96da17c129ca200d6028e3e0b2327b2ee1086ebb352d12e93443ff310ea7a591af31419d5c0cfe4492dfb9564bc097355971173e0ec4bf6b05b0f2a87d5de65310b0de69cebfa38d863889bc81f3210eb9e50b040209d0c828 - -COUNT=31 -L = 2400 -KI = b37ed96484c47cb578d0cea76ba818affa765e25abe0c1b7fdcfbbada4e73fc813fb538ac7994c9f781d03d33e34f4d7 -IVlen = 384 -IV = 9bfd86f8ec69388d7e3995dd47cdbcecab3d70f5895461a228753c1f6e422e41cd8253dfbd609c6b925386434aa51ce0 -FixedInputDataByteLen = 51 -FixedInputData = 19cdcc7a0a02f122939e783364a8531b5aed0cc2ccf7eff525f7bc17248be51a8d2d29c41f1cf0ea9d49573e164e1ea45b98f1 -KO = 49dff875d242a24c8904cf07bf19b916ac9b1a2a3140ae4c306841c1c2c09b3e7630b0ca8a3e9ca02ece5911d1edd0eaf1fa7827d3d35d67cc58718296636bff01f26b622bbe512f10853a36809593acaf9fb3ead899332b85b3b8adb0a71d6f0b79d3af953084746ef96060935b79278f283ee89a5c5bf4b3bfc6bc8ac152feceaf4252202c87eb4aa148f89421d9c679c2a32ef4d174c50d9e3b7122c298d1a28c856615b4bacc6d19a5c7939198ad25b8d14eecc2b259c87b1c256a6c30964b76f81251af8f9a115f795abf68a3eefa655fbdbe4a5d27feec66ebf677d6b89dad3a75ca35f018c8259161488ee85bb8cf082a78ab860760bf34e5b9aaf0db24d3a318fa6daba89aeb043626b24e31ecd40cfbeb4befea3f3ce7a3b5074a4a3064e334f7d9542d856c0447 - -COUNT=32 -L = 2400 -KI = 756c9f783a13bff6e792d4c49a95c08e78b11ab50b64e05a9d68417cd4e57f0eca8bf2eb674a8ea2b3ba27eccdf031ee -IVlen = 384 -IV = ef5d22e254a9d7fdcfacd68a99dfa682b4c7dd46aa6222f767106cd576b85a9c60eec2e4c8d0ac0fe1d19baad3f3f306 -FixedInputDataByteLen = 51 -FixedInputData = d85b536e0250efba14f18e0b3dccdd048cf41daea8e0679cf33fae7e32ecd9045552c33707ac7b94305f52bc1e7085d7492fe6 -KO = 8dc944395b1357bf47ee75a7410ae522e964f142b7f86a46745a5f47c240028a68ef066070133c1e00073827973b8d9234d936bb38bceed4313bb52e298ea785ce9ffb85ba008ab4333d5d63f12335c77293d667eb0b48c80166b53a2fbf7c5b633e75d2234129cd8aeafa33f005d7d842dd8a9d042fd03317d6f82a825e6276acd266ab7ef0065b7fb9d445165b4106336b6de7d27ebe0c4f676b57fcb7732dadce55a2167ddb5397a1af14d53de7f3a90dfe5c55938d7da2bf0c1b87f93aa39e73162ed28d117f4dfb16d041a424d8b630a1bbdba4fa75973acb5e047d613423e634d8b7d1bbe4adbe5d9059c56b00f5c90d8387ae48dd9688df0a847d51c9ba900b235501bd6324da5c30523514793b8e5787d74fe424ee93f71ec1239b0f536f2d54a15dad2ce31c9583 - -COUNT=33 -L = 2400 -KI = 068fa0fc272ff10feba9fd1305b6b6d7a95f7a09e7e85902dcc2772e2cb179a55f6a0504c1e2218eb82ddb4e526b66ec -IVlen = 384 -IV = a053220bef9555ac6f2eb691f5a777ee30f86cea074dd43cee1bb49b5dcb51668c1ff75606ac87aca145775baa5b106d -FixedInputDataByteLen = 51 -FixedInputData = a2e60ae499e3516f6a602de929888dd73748ce8e98218eb97000a85bc0c4c405840963162952f8070c8243ffd111a768a5a342 -KO = 76b2e9c41b74009b564ac7c7c09b3e4282dc025c17c749e84ff88f4200df1c0d099922ada3771f74af797f849a7e4e17acc5885be0f6979a3f42a073c87a84c2fa709930133dbc290f763b20c07b7358b5379112e1a42e77062d1f6b35631a46681d7496c8c2be3965c33f69561dfd8774f2be4fd1eb5099d6baf5b699ac0b7aa57fca72869c405254b9fb10a91b895d5d4b304a2d700bdef0e3c9b401db936fc770b240485f2f84fa6281d3e8b2ef5244d2d5d72c7848ce61739def5cf3abd80a47767ebb16c4b5feb762a825723f356acd64565527440813a8af2aa063771e05aa106fd62d6566d8f9518170db8249840dedebdc30875e51f8e4f3efd505b19f7cb5b48763069286f01b34cf479993e3e6653b3d2c6cbb6cb54b84dc458ea3ff2f0ab5b1f5b44d310338c0 - -COUNT=34 -L = 2400 -KI = 4b3e241b949d31514ffff398baea71ac8397e567fafc5ab17458a65d4f734b838dce3b86d79a776734b179c60cc5d206 -IVlen = 384 -IV = c880c7c45af78e9dab88228e46b892f306d0608c5ddb67ac5bef9dcee1e1eae6798312eae4e3fdcbd646723d95f00d7b -FixedInputDataByteLen = 51 -FixedInputData = 7a67a422a482ab80ca334f357e15e0153cd8646ae839e00fd09e7ffbbf094fae235f82b9bc33e50ada5d03d70392f23e9452ea -KO = bb5600eac6f25b38c5fbae835084456eb241e5e6aed60e42a9063ae2da6d0173d89cfbb510ddccae677f0c57797ac17944a58e0a0d65e622885fcc44cf522f9e6631aa8b69f25e5a8d7d3fb63f88e245bd7d5addeb94816c610057d8b8877beadfeb0c931ae76295bdd9eb0120a6042d94a02f95bc5d5cfbf42a93749e7d658d0037c66da5abf972a6ba7a66ff678aa937e3a0c41e830732572cb7a8d9e18654ae8233c9678617ec83a88de986aa78f08661da60ef10c44fae5cefa1f7204a8194283f78cce6544d4525f0d9ecf35c6c2e3b1f0991890502237e88f38305c444ef964c296599817022ebc983aff53a07372badd910af1857c81afd2710fd6f77babf545444ce082b6faddf3a9aee639df45ce415419d96e6931903dc9edf85e2594774cfbb25214fa9f47a20 - -COUNT=35 -L = 2400 -KI = 3ea99405e2e5c140e81be9264be4248f8c8fd6657749d17e1c0a53e4a6b46a1b5a9552a66887264ecbb4481dfc073132 -IVlen = 384 -IV = f71364f1ce210280a0c963c4a7d477cc3d1dbef8f023b34643c8c8728c772b827b36ae8b7f472e78afbfe32b3e18b695 -FixedInputDataByteLen = 51 -FixedInputData = dd6045ce110a1830dbf1f38d50a2fb7250ca5381c085a2f3158fc19b5ef81e05dbcbb64e847e1593bfcc1bdaf8a867c0478f34 -KO = c44aa7b4c76132a9118783d43f9251b9204e604b6765523a685a89f1a4a3c72e45f69a84b97a8e3591b3c046a3c74cfc0200971d4f85e62012bc0322cbab66d17eaa099ca1b1fae2d0e8d5a572960c6bb6a6598ddbb010d4d0f044ba9a30d6ad6a46bcfa466017a24726cbac11a991c814b23aa21d3987898308df455907ecd73f834e3b9921059b3caa97eb9f0143038a9c7dbc10fcff53513fb1425d5c797c4569a218570fa4dc052cccbce297105f3d71b5dd2a927f01e74602a8a4289cbcb10822127aee2008313c432c175460ced7abff74fb23e7b8e7576b060f9ead96ba015951b6dbd22f51f51fe0bf194fe49db66de4ec7ece888843602563e264169a32b9ab327f5e00ccf20cc22b1108d122ac4dee5a103b0e5af5e6008ef208923df40061c0bf2790219e8262 - -COUNT=36 -L = 2400 -KI = b091266b028fc7d7f30f84048768634b68164cc4744f7ec70fa12b3351c6ca1ede30361e57eede65b1fdece8f9e6e567 -IVlen = 384 -IV = 5a06f6dc0a04f7d7df32cae7611174274732794862756432024c7b63ab3939d6765eb1b66548478c32dc0ffdb639647f -FixedInputDataByteLen = 51 -FixedInputData = 896150eae6591cc37cf77e9e900970c684ee2ce1e30d82bdb3344e8d473ac4c38bebec12b46a101f1f0f1958450ce8a41568f3 -KO = b032f181e581aaf7a7d8414349cf62e0c88399198d8b68e0bce6c77c544de512f1be281b0176ef9510ad922a2a41a5374b34169de5f1c8de7f277b2451c72910d3d066107a2327c0a4402898f59f381fc70279ac56f41f8469e1a90918a48f4cfd7f6dd320773bb2435837874b81207fefa4731d60f962fa6d4eca6fc312529c72d2ef554e5941fde4a6cdd6babf274f57cfe731ac8673c1f817f956ef46b6ddce026706b1f67bc176cbb38752fc18233bc4eebbc200cfea58b42ea08a7700d5ffe48abb82adc1e4fa080626d034683e870819049614e5f69147437cf47b44895dc6e08eb91a76a8e349388bedd10c20132ff17446fad156964f82c411c7ead2c82f2a6883711854cd9aca38f5183b3c1145045c6f18ba288424136e9e7f3b1fcc9aea3a5621c788ad39107a - -COUNT=37 -L = 2400 -KI = b42fffab68850d9d9d8eaf9568bc2ef3c6527e5757abffc8d4a710e169fd9efa6560554532117c7dcedb1dce5e92ab75 -IVlen = 384 -IV = 05702bb84e33668e9fedb772365b296a3d8d24d9d4243addffd447722aa79673c42cf53ecbc728aaa412ae20440e08e9 -FixedInputDataByteLen = 51 -FixedInputData = 8fff43eb962fd30a15f507508396d8eba3338e9166a440c4f583f998d88c6ad7b60cd331029a0043bc87cd667ba314852b759f -KO = cf14e3b77cd2323471d1d538fb4635198782761f420f87d80bafad5daf10a447bde338130a657d4c8839c159f580f9aaac2a9e2168978e470d6a50f13d9aebc4623440e9c5458f044af79be7bde7e68ab65f5fdb3a24cac4f61d7a33876bb3b37967eaece28ae375c750afb8ab6b7b83482f837373141fcea6043cb26f964218eae86b4f15a708078bd70ce194b29b2090b1e34276a91557468daa04397a210f0d6d3e5166018f6d6497618ecb13cc6340ccd86a2f7f559d8c6588b7a3e503e078a147fccddb94becdd2985527c0253d23924b2702d894571a11731253972f9430fa8f7a40114b81140959d8a73bd93986f93588b3c9abc1a21f7b41b9b470c3082a7c6b7472001705464418363f4fb150f7044b2ce517dfcdffbc3ebb4d8a8c4a6e576d789a6ee6e59d1a56 - -COUNT=38 -L = 2400 -KI = 3a0fd2deaee63ef369e74c20286c4593c5dda99168779ea1bd6258f95f66fab1ded5cdc8c8a8887102a4c6df2ce36956 -IVlen = 384 -IV = 59336135019c0752dc8953b04becbce7c2f8ce3ee6b4744637c4e878f00e430df62ac3dc8151ea4f051302ac0cdb2751 -FixedInputDataByteLen = 51 -FixedInputData = 55d6dce88b3f9e513237851ec684a66db3eb75cae066ae086a1be7359c295d0348bbfa669d098fefbdaecd99b6dabb93145c5e -KO = 732166b1042b38ed32f29799c817fca09c1f7aeeb127e1c116fbc96925e5967d2e1974e7010648d58b038b506f0b18b933c1c9c092611b9fabb0004ebf33d30c7871ae0c966e6288d47e3db629772f5ef7880b0be45930797b5ae0c71bb7bc9282b9321010d02a15376ebc155cd43cfcc7cbf13ab128c2d1402db67a914ddc0d2bbc9d2b2006aa3e08c033250fb74db0e4534269de2cc2fccf8954087ddb58f8f643ea1d809c2914c01e775b0dac846c58f55160be981ddeec417b190d23cc7f98b2375c08a0f876c0d2f6ed43e8a3f0b2ad6f814eab7ba1888522b7441d8f620662e386d4f8099b222312f6e6ffb88ea6b9d98c55b25157415e8a75c04e271e73a1df7b3346985eb67c4838595574150c13fa2afb5207cf40afc8a9dab8bda6ba2ad31dcfc1a971406c9e6f - -COUNT=39 -L = 2400 -KI = 97a70c1e62ba8043efb3925279625389bbaa74afbcd86360aa0e91511946e9df23ffd26af644ba6543ab18a1045b2abc -IVlen = 384 -IV = 0052397a0bddcf2d4a1a38c2228d6e7d2ddbbfffa702c170165d61ac66db58b9dda7b70146526a9fadfb124722626460 -FixedInputDataByteLen = 51 -FixedInputData = d45422bae54d905e05e510bf31601e30fd759e776718c6806fee81fa49879974de80800dcad48848d7c91aa8907b55b0d8131d -KO = 6dadee1c4a71f3d27794854e9835fec46a999d58cb7bd2d55f5684f267080c6f51444b5d3a56f8265d118fd65baec9b35fa2e4f8e3f548b7cf8376dc8932bf2385dbedc6a6a9d0b7246d9a67f1f0545f7f55afaa0df933fa3fdfa4fc826267ecb7eb6c0d0df1cb8c61b2eec9d168ca247f42943482a9869e1d643140d04534339ac4879ab16008472f91de16d824a7e71009574a1bce2b6c9911167db197adc443138b17c3d539f9338761339c92092f2dff3afc242f1159c6445db08b0e2f451954c6627c46b66dd77e320a46b824514ff8cce3231fd7540910b405b2db7aeae5f54c65a8e45d9fd0ea59f9d0ce296a3b44e6b81edd7fed4e2cb102ea24e05cd974e4fbbaca7b87e6baafeb4c76cdeb19a1b2ac92c1434c3fed01043e494fe8699b2f579806b92b11519d28 - -[PRF=HMAC_SHA384] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 816751dbf99d2bc55d1760ec249ec5adcb2ef0fee4658306eec9800e5e8c8776631b96e6f9f9759b904ca619fa6b8529 -IVlen = 384 -IV = cad8a82d79d5c8cfd00485832ea3917c64bca3eb141df2aef318643cf73146c2872bdcb59b2191a218e96e17a3a50375 -FixedInputDataByteLen = 51 -FixedInputData = 6a035407d971e5e853c2749550deaffddb09f6f050c987c8ae9e8655ff79a160ec2697dfde9bbd84b63503571523f4c7e86b50 -KO = f75e65e47a4e61de9b03050255aba623c9981bcdb6dd9cd45220503b37dca48f4bdc1facd3a1c6f42bec85c19df6f3a96af97ac0bcbd63cb0d5c5ec324261ff8 - -COUNT=1 -L = 512 -KI = 324c69adbdda28844e13c2118aa3cfb5bd5b3e08beaacd47a4800b125b6dd7c2458aed996e22ddf59702386e1cb10a79 -IVlen = 384 -IV = 19c8adacfa7a248223c6afb43801d1d7b135075f66369cf71c264c1b7e612d45c95ff7edba78a443b5d5de03cefc6da4 -FixedInputDataByteLen = 51 -FixedInputData = 5808da987a3040627f46ff906225c468d59dc28f0e2f595f6e3d3acf6a8d27537b7b713b341d75db991eca5b2ca24a854cd4f7 -KO = eefcde312a3981a9fc7f192b44b4c5b6378447938b898adfa761b9f3a1f41287f2b1a4c44c9a461e296747ce29102be9162e2598a890874f536fea47d29a71e5 - -COUNT=2 -L = 512 -KI = 60d36756a9a595be3ae55a7fabe97726abaca489fabb618e6663bfada90df32c63002f391f27db18c7f38a63b7cf8b9c -IVlen = 384 -IV = 9d99cb4a71fdcc407d9c92f69a418af35f73e50ef985eba495d54c0ba65bb5aedae0b4d349f3bdd18c01beaa8f83a7d0 -FixedInputDataByteLen = 51 -FixedInputData = 9b873644fe80dea05f92561a42c71514b2cd8c38dc387efae32efae9bb9c57757b555556e529fad95d05268089d64e8f35c9f9 -KO = 40c5aefe3fc7e277f530c2a6e0e229b8278d6047803f529074bf6fe3fe45ee6663fdcdc68f09da77969b6eaf1946e9ad713c0960b82849f9503992fbfcfb6a32 - -COUNT=3 -L = 512 -KI = 7f21eba01a9898502c19a81c1634cdae474be6dff733620820f44425ff45467c53278aed0156c00a9b0f5877926f7a34 -IVlen = 384 -IV = d641bb4737323b7bbf4cd1f56b63ba09281350b77b9afd4f9ff57c25a943b6d6fafd2b0f651695fc8bb727b81410bb73 -FixedInputDataByteLen = 51 -FixedInputData = 5bcc71a8748df4000483d695aeb71e767ba0e5d3de4ff45411763fd2b55902c8594edc59aa22a0b798c8b5317ed5223dc11b65 -KO = b4df233c25a560d89bf4e5691bffa9b62ebc2fced39ad963f5a1f294ee9bc371607630209015575f144672146124cd10ffa1b7c9476ac4b1cf080dd651441bd1 - -COUNT=4 -L = 512 -KI = a90b6eae44a356e393f9c9bff72155f438e4abf8ea21934425534c1571bd318873ebab82815b5503abe44e69772cd797 -IVlen = 384 -IV = 71b7a4fe3d1505f78593926e0c7c8abf21562cd0f3cf2e2406bdee02e464bf0e04d861f0ab0de9f6c42ee42b8cf05cb6 -FixedInputDataByteLen = 51 -FixedInputData = db591b2c5a22740c0857bba922f52d969d027e37a4b45619e73c03a94af7ebc400a086173ba405e2db5e3088a385371876188b -KO = 60bdce685395319a6a8ce42775fe1390365ab69a21e1c11e8df96720ca805205e4f8d331885d2f2f1f02127a4559f15dbae3ea7b57f93ba8538907a25dfbbe58 - -COUNT=5 -L = 512 -KI = b68b2816bd51cbc2c09441edb4d5a6d7d753e8737324e6398bf21ef2f4975b4bc8c993b9df2ed94385fc5e50653435ba -IVlen = 384 -IV = 8585fdcb16f7a5060f11623613667f911dcbb8ceae765c4c5716b4dd9a571535d42c29ca32adf93591a8a3e7e924200e -FixedInputDataByteLen = 51 -FixedInputData = b1362d86f337d8caaafe4cc351521e269cd86f191483ba6c1cb4b4511cf66f4ed93fd226ca618f7ddc19a2bf58c3b62b33a900 -KO = b28619be711989dd75b09458e9d32700c83b7a18c6c9e3a3a648f053e89ca9b05d0bbdb8593f4097eae008e4d019f6020a5a4cff391543abdd9b39848c2d40ee - -COUNT=6 -L = 512 -KI = 96e032192ba1a2d7e6314d6a6ec719aa3d5abc1fa69c3a20ff61514ef6fa961923189373f283999bebe1a6475c69adb9 -IVlen = 384 -IV = 57e72160e095e07f1218d9998e55d296e8d73b1a7c470eb1d56205e0fdc8c9ab610a46f788c89e4cd5acb99f8cb0699e -FixedInputDataByteLen = 51 -FixedInputData = 5ee563681f14614d441615c2649e2ba9179003e7df1e1c58fc7d9b7eed2dbd05dcd953964bf3cc5862b414eb51107c231afe5e -KO = ca8c24cffd2c6dc9b05591ba4418aeace67ac78f769415f8f5a2a31c54b9c049168f270930cc689d897c008fc3654b5249311c99a2e02788b17c96bffd8ab1fe - -COUNT=7 -L = 512 -KI = 11ebd455d653bf36e8c8f4f020399349c0bb4ba3b5fd8f980a91b927f8273a14cd93f6c53627eec1aa26a6f2f09255f8 -IVlen = 384 -IV = 0258794e6319802fc0c5aa91e6bfc78c104256704539e0c9f88a2ff6b90cb788a83e156ecaa2487b430a9d78c55f6b5c -FixedInputDataByteLen = 51 -FixedInputData = a8bdfec7bdda6a5bc9c40b5ddfa1c6d716533f7e7aee22015bdbb3198a8043e4c9530c95a804ce53ad29c9b06dfe3d5466808d -KO = f5f6dc1541ba797fd08e15114e3921a1f70653f6c4c7fbbf1d1a154e433be3375427296c4d10d107fe52f8ccad095d204c24a3ec3ae67b726f55ca44f0045554 - -COUNT=8 -L = 512 -KI = fa427efbdabd41dbadde00a63d1413949b673bde95245a880dbea64f63a4d393d0567058072a2868dac50f5e007fef6f -IVlen = 384 -IV = 98ff088e71e89d1d0dad4d7075d65344a9e6a9b0ed9ae032dc431730352e83902e6add9bc5f0b629d47d21be77e9a02e -FixedInputDataByteLen = 51 -FixedInputData = 5cee6cd4b26f38acfd5b0058c622d5cfad99a4ea909222112fbc99e9e579dd8aed728db8dd8f3ddc43b7de4dca00d56f225cb9 -KO = 988992a4dcf8355c08ea4639463a2dcbfffaa92631d24a8f268760bb22021cd0d30a4df2605f1c655ae7ec8ec66b8a14415851685c1346ee4a5e3d6ee0295aa4 - -COUNT=9 -L = 512 -KI = 95cffc38e3900079ff7b86e5d0c4262616702bab561a18da61b075d7c5ca6a956f65ca4f74fb112ae4e751b5697da9ae -IVlen = 384 -IV = 168296d886791bd9d7790926c07cdea9b648edf8d5b024593acae460105bb307cb337daa3d27f8657d028b9fd89f2d36 -FixedInputDataByteLen = 51 -FixedInputData = 3a6cf99f151c81ce054bf8da30699dbd087539489878ff845f3a8e8a981e580268894ec81001178d5b39536d74634aa2183f5e -KO = f56dd24072750360d7b3f609b8871f1d5020ec4bd8736455647dac5c7db1212c52f0190247841b2b9a463e031d158cfcd1e56a6a573331eb1194a000fcf6a490 - -COUNT=10 -L = 2048 -KI = 86b6ac1f7f354b5cee9b06d93b9be1c064483dc563e553be9ec702f325a47ed8785064afcd862b34363f4d850aaa682f -IVlen = 384 -IV = b0d29e26ed127ea39549412d95e3c4c1318fa8004fe375cb39aed5a352048d8e81f424da67f8aca594a3cf186c7390d0 -FixedInputDataByteLen = 51 -FixedInputData = 980dc80a120ecef2ff7ac5fa81cf26ebeacf0462a83368d4ee7c6da7ea854b9cc25b6e384c6d301efb5007855fade2d6c5966c -KO = d0ce1f420eb39f4040d25256e8bef6a7c4cdd93da7afd9ba3fc84c61071c8751ddd515d9d9f206514cd610f739d8228fedae25ab3a2923f3887fc99e8166c7d709caf5888617478e3ace7ef0ea90ad526360d8958d52aefd77689175e6b8c493ccafcfdb09258a45e25721c2aa323e03f87073c790dedeca08b151e98a53eb460fb667b5f1eebb5ebaf3f8ff26e2a1c1457fa416bba68ecb4c432465bd4f803397ac16cede3182030ebe8f1dd6b62a0130e9ef1a2c80ef9fab3946d542fda9033ff4ce43bd313dd8215fd42f302a714fc7b059870c7ff475a5b967f9d58227f1c5781111be6d2c8a46bd017ec8d95632d13628633cfac595981dbc35b94a184b - -COUNT=11 -L = 2048 -KI = 781e00e988b714674143b091a01d1b3ba128ae5e5f09a5d9b70ced1cf5e87743b0d05aaae732a326f5751a5ac0a188d0 -IVlen = 384 -IV = 826d49bd8c5c6781d1485035ba460014cd86ee3c17dd78b892acbfd526f05170bbc06b97310ec288fcf2268078e49679 -FixedInputDataByteLen = 51 -FixedInputData = a4e02afee3f5d283868b77e0bf7cf729a1e69f3ac16dfe990236841ba5c665249f4ba20881efeda37aa508a02d02b26df70084 -KO = b3a35a0c8ed383cdf276014119c56bbb183fccfaf5c8d10f44a14240225bc92d46d054f39868c87cf329db3056c35162781589d5b5e34e162bdd6aa0a034effafe60b9ecd40901bcc903c72a17e21ffb0a70dd029a508a148f27e63fdf92a12b9bdab32f5688851caae2171caa11eab763231967fdf7384d21f523836fb1d72b09b93176df903ab6329ef43d1d58bfebffe9733e4c7eff110455b33d575231616100e65d2ec2dc5870f9e0b59e47ddd798bf9e48100d0955f53bf0b84732e4e341b44cf71275f3e8fe22afbad1bcae4fb79950d98e4bec5b6b36fa3b01103741c3824e66b087d10975ee9c19614e7d2b2cc1f6f5814a1200cc41a3c4e4e38a99 - -COUNT=12 -L = 2048 -KI = 42d4321ff6b14c984746916425599c7e054b69ee0b458b592399baba50d1343b77cd61ce3048df328524d67c8504ac03 -IVlen = 384 -IV = b7837328f96baf67033d1f91e709dbee9ebc26926a97015cc761a6e4809284cd6a27d5a243fbad5f5dba203523fc1ffc -FixedInputDataByteLen = 51 -FixedInputData = bf0339373f020877af07288e9f0b038b9f90c1422d9a4f4c1af20575b20bc4e52686acb07022652fb2f103c42b350e081b8412 -KO = d8dfa8e5c5ed0f25b3979bc8a6f6a18bbc7702a8ea88423f8bfe528b8f7cccda9dd9778cf31269bb985c4b32dad354c1057a8924499fe7972435b92ad133469c0aa6261e01172a372111bf2e2445cc76f3cdb632822bc8bd7a8dce1752630efc9c26f8483ee6d0ee6a23f25a33c7b522cba2cfddc07cef894b6bc69736cf858c33397c772a6816c0eb461d7479abbe56d86d2e39eefae91f76f3ad822aa60dd34b3d5e01d2a9b390dea15a380eed67a8f2bc4550f8d75d141ff82515f7e3c89ac56ba326e57a7737209cdd1bb0a2a515e927e4395f9d5a0755dc336164972d911fa79397aec83b0164c4354b06f923d402959c4496ba76a1fe8a8f0e03e6f3c7 - -COUNT=13 -L = 2048 -KI = fb13e29107cc10624eb0fdd2be551b77344362afaf99ad0a379080096416101ac0e840da13c72047d18a5d4fa2400f84 -IVlen = 384 -IV = 012460acbd7da0abcdc7b12da2e343a9eb8fa5501c754eeac15050bf720ef698a73a8ac8fa9bc6939683f66c044a2fcb -FixedInputDataByteLen = 51 -FixedInputData = 4d13ac2003dffbb3adffe6fff86db91c9409dfb72efa75ee9bad02a1da3fd665c10b38279556f7533ec95eeb7bc2d4b11fde26 -KO = 37c5c3c17d039be17dd6cbbebe6a4245bbf98587f30d3c175c50c4470f373e7aaf5449f349f47dae2193ad3b6e8a1f074c64d04282955ee31f39f17cb597d8864a03207f43d3922a21de5291853d8d85224dc9faf99ccc95b144ef211c9adddb2bd861cc7038dac098b5cd62d517edf4aaf6da15cab0511d5cc1e0e1ae137ff3020324af1c5b2d1991c4287fe83b1000dc4a2c4079f2728be888a7ace7409760f698791fd6a273e6377248556bb33aa33aab455ff15f27010a4b887cb62128caae7807e86e32583622f13fd072a67d5afac152569f5344260fe2755a9e442b2014e53dfa0dec8853cb318ac149ed8043e121ab61283783fbc02823bf9bfb31e7 - -COUNT=14 -L = 2048 -KI = c0932e3aabd165d45f37076f114b15b73446d162a309b8cea7176fdbdeb34c25942cdab79e026145373f00bb4e66dcfe -IVlen = 384 -IV = 9cf9ca5cc2633b011af06f6b67d89d3b2b8b2dced96ea7de14b647e5584800f002670ea258c4f7457ea8109f13d15b11 -FixedInputDataByteLen = 51 -FixedInputData = 07851a6344aceed41eef4a933158a161a5ca837873caaf2c6011c62e26be16f2cf37dca92e1a266c4b2f008bae651e7009e3ae -KO = 4b55a0743cf35d5e13345e3a0f0a9d3f81a21b104a56ddac0fd25534b23962c0cc6a2f096ee087acc591ece6be52d74a11f69d4835f4ec1a33098f6adfa639cdcb35ca9b056499aafdf41afaa96e2e3f1275d4cc0c40989983966c55686009d23a09585114638ae7211037983c215938699d869322c7d93dcffcdf45971e7640ff87abdfa890894456cb06c68f3ea2dd2c7c29632885e4b4777523f0276b57333be7b5ac5e8d34ba5a0f503a7fc6769827eede6979e565b0b0acef772e693582425aa9f977d47cc3f28e02157fb66ffe067ba785c7c8bcf4e63b0e0622d0886305187904c2773be5c350d07676d026b5e318c8c492e53a1074663515a75b3b80 - -COUNT=15 -L = 2048 -KI = 832da226669f49221864c65083328d4934f2a730f174257ee0efee9154f106d78e9e0f8b50bd3c123e9b64b799f62c41 -IVlen = 384 -IV = f47d7afb20ff1bddf55d3364facc7d27494796974a45de416c1b60420906fd9a7fef7b9ebec59c0300697b1ecc9428b9 -FixedInputDataByteLen = 51 -FixedInputData = 2f41cdc1b7ad54c2d25375b8d51610aa13e879e375264a45ca5d55f736f90a7663ce024062cbd424ac88e273bcced80026872a -KO = 4b8a100cfc4719ebfdbfdaa9f6210c1acefdae3e67abffc05b7392830883e67b8d2f47c57e3ca1869888105af7ae737d7b8d4a25a388455fe5139ae4c677420f276eeaa2f47b2deb5327289c4b6d5de363ad6ec099472bc68a90f1a2debbef86fb8aa320fd39ff4570dbd2154ce04d6795acb365513f381fe369cd140b380af38915a549f179f31f8f73281b0b5a82e4e96e2649795c6b7d8eb3b7bcbd8db40d29956e0f682dc3921e57c3338f4e7336a496149b958a218ef8cf505b4b0ed9d34ac6e55bea44df8358b756a103f3e196a653eff6b82f535a8d162aa4c15906002e88286593d05f1a8629f339f9110f205263c00efeef140f829837e9913db085 - -COUNT=16 -L = 2048 -KI = 0334a57a01d71885ec96397e8547b2a04d8f24d8b60b2c72a57801b275f49fe8bd9e0a24d608f1450834ad285ef262bb -IVlen = 384 -IV = 29d8b567b69598e0b95b15205399a651d9bf87fab38086de81c9ba54e85988f0641ee84e20068ec39234514c19400dd2 -FixedInputDataByteLen = 51 -FixedInputData = 758e09cc53ea467410174491358576a5e5de90161802ddfc2caaaeed3d8a7225c939dbdaecef4675b9bbd9acdca70d56abe45f -KO = 683eb9914fa8e553c0a9a2587e7b6cf930ed2a7e0e6e39fffaf3b5c58f104626cdecb7d238212623eace140eb93b02ff55057210eadce02757382e0d08a7eccbbd2f53cfd6a573262af8bb7ba7aa79e4c6fbb67d495b8182a3f300ecf983132169def0a92c084fc28a760af732aca50ac818f29ac9756546daaf925f6eb2a1d4dc5df22f75b99174910504ecf4be14fc6dacd58f307166346106bb2fe47e039dc8bcf4107ab1e295b9d2d36c460449562d42aa0199ec1f280223654e9635d77504da910124a1398c3b33b1b69d35ac807f87fe2bffd63f6cd7fb4375c9176ec29bd30a0875140f53848ecf83d42040117b9ae060e95fc1b7d2d6d7d5bb676d38 - -COUNT=17 -L = 2048 -KI = 14b14405aa846e7fa8267f29c49af48461b0d2cc3c73b226bd4cad5fa1e2657168488bd939c48d38296b33ce66fe91d1 -IVlen = 384 -IV = 5f228d15324b069f7051eb63164af3b8691a9edb91c4e86c419957276bc1efd718e667c7b059577b533ffcebf0a9cec5 -FixedInputDataByteLen = 51 -FixedInputData = 60c9cdfd344fe2e92c946dcb1846c516032ee7ba321c51b301755a3eaf383b7fabafd3a595ee7d11221f3f7d07178f106a9adc -KO = e6fee34a8b04be4b73e6d5f94de54cc587bab25bcba9353d810878df65b03caceaa640551c7cc382444dcfd009c9d54a3f5ead6a9e953b27c574b66cb1c64e8e4ae5cb480eb280831ce36e6c310ce46a94e29e5c2afdcfd894880a7d9870ace04aa287b55fd37859ed686e2b771cd6c43f729ba4d9501859cf63f528b7e19e989cc4a2296cbf2c4925dc6ea3168cde901d81605bc3bb75c547530e6c57e5fcf5929a7f9f37d158b584a3f5f9a471446b0b8974d9e2b8bf92fe3f9c5329bf2dea126b1ee79b46d899878380298b2dd09e3fe86f4892f4aede8e1f56a6ac715c2f0f8db142a57ce75059be437a49831f147e747c6b645f0af80a7e53f4efc96123 - -COUNT=18 -L = 2048 -KI = 11dfd6acb5884c0867fc29dabf3b435a9687672830a4e34d663cabf14991acf132471bb62573501d07b2372a7ce5b002 -IVlen = 384 -IV = 47df0c1a540581bff0a553d860e95253c7625450c5ec5832bf95f249ab5742efd2a53f26798ee34679b8bdf872e79b4e -FixedInputDataByteLen = 51 -FixedInputData = bf1fb6edba23439a8f637e6ae9e0bf12a311970cb181d01d4901855c34cd515fd8b3e478c6f91cbbe852655a01bef8f42e325e -KO = 15d190075c14e28fa8f13644daa52fca539cb355d6863fb08fb141945c7fcac11cbdd3d2c096a2463ca804378de38d4e666f0fb52f0b0157419111f00d5c527768843ba5d7b05d10504e054696f5f728844cd822705b596807a0c84cf484c88007577639a94cd288bf23c15317fd651aece97402d6dbe871cd37905a224fdd53515cc3f20c14622d70d753a9a0e877e8c2c4a0bd1f27c9fa3b173f1d759b78893eff18790058d24a55f64c20e1dbfc245b446eb0ec232d5b4a24e7a959b7fa2e81acd585c09e222a7e2cc8d5bcc84e721394b4405a4fffb72e098b8ab8dbc0f1a4635a671fe35c3c6a6231b45012a6010cc8736c35a9585122843e660b30dacd - -COUNT=19 -L = 2048 -KI = 4a7e8523f5f4919cdb363a3fc7421316ac1403e17b33a25b56d0c2fb3e8c9fa29460c74e4776b38d48f73d6b578fedef -IVlen = 384 -IV = 95fc6ce4f7ca5a560790aa208404235da1701567f08a973bed0b7998b838b48404fa59ae37b18299961824bac6f85ef1 -FixedInputDataByteLen = 51 -FixedInputData = 0db9322075084edee99b2e075c536aba3f9ce4b058fde6a084686b479d43085054843b5912d6f83bd7d6c995b038be07179676 -KO = 51611d0d385393c948cd2f93b932fb6e55f053cd15261a361a82c6943b8ad747ab7a93d64ce3dee43821b88b285c5c36bc7bef89db87ffea763a47e188e922acca93bbd8e7093bab20587c4989f9f3cd44705f8df6290cc77b90c565f6e2c800d5a979d084e84d3d943fc6b00d82e7f89e1b45f08dd3228c41381df93b32ee4bb4242fd848b8c6b15b222969bc315cbf3d2cc96718ea935e5cba93bb899d79d6e14436388e46ea569ab6e8ea4de95b610cff961f7315f93596ff12e8344423495a5bf2d11132018ac58ca6e99555315597f0945d9889fc198a520cbce2248f5daddcfa5813c4d90caa44e5cdb386bea0015e86ff1f239d6b013a35a76e0bda4a - -COUNT=20 -L = 560 -KI = e669e4c57036d4cf8eb9476cbd6b038b7363b8a1167223962ba2c1a76849790aa968eb088f5f80a43133ca1d0b86a7c6 -IVlen = 384 -IV = 5aa1237a1db53fe2b29d1e24ed15716bcad148c2fe92501a6e2faccc95861bc15e88328441fad169658da2cc8c8aeb25 -FixedInputDataByteLen = 51 -FixedInputData = fe0062aa80c8a50b7385c2e94f2f7bd5121e46b1b57fbfedca3c583ccf43e688cfea18898768bb9fc8baca13f7bdfb411ca13d -KO = 9421be5de9f1aa0238f538f88c1766ad33203f019b7401105b29f4a24bd10ec5c4e9f654f2e9ab6a15cf4f1fbc7609ffed622455ea1c43e850bedb067378c07e1f6cc832865f - -COUNT=21 -L = 560 -KI = 5b6a787767d8d6bcf81648f6e46863ea8d783ce486b3b4d09bf8c6ed8103c67c3bfb589ef07facf039de023bdaa2cb15 -IVlen = 384 -IV = 34ae748a8537bf6d059f1c6d03ce4cb59e85a73caea23db2ca474e55be0a5cbf20579bc18016d23a2e604e65a39bc7df -FixedInputDataByteLen = 51 -FixedInputData = 0a650b41a0844b427b28a49e05e3fefeb1c7facd3ad61cc6b6821484f084fbd7cfb0fdfa1fc2ede18ded3d4814d161ff600209 -KO = d9a25604d4ad9e36a39b91e8fc7c143f4689333c97b1dbd055da44262134e38cbf0d535f11aba0f3fc743c801ecd34932f6d97586902cbcfa22413648a3c7a6ba39250dd98bf - -COUNT=22 -L = 560 -KI = 0e1ad4aea4f0bd8a828a77943d5514d022bd6d81f952bb9162915529dffdada88f137a3ebc05c2e4001a0cc4f5b71b5f -IVlen = 384 -IV = 33e7a61e482cc7b8b2b88cc585bd2516cd46996bccb46d93500a9f515a7bcf23efd3df4eed501e443ac076e330fc7e85 -FixedInputDataByteLen = 51 -FixedInputData = a12418d2dd3a9a7b66c8f11f48431f7a9de5ef20c9b5664ea7d3380755e1a228660d3fd679c2090c9e6ae3db1dae95c67650b8 -KO = 6732f95e1180726564825dbb325d137a57a370ed5b1c56414adc87cf7db44b07aea4bfac26ad4cbb9ffc22012346fba51a786e2c8f0d71369efc64eb50e6d8a49240bd0a1985 - -COUNT=23 -L = 560 -KI = 2034ec8ddc9e4f8d00f6dd21d05db6f13549e1e7c23439f1115d771ca0d57a6dfe7e63a7f3149355d82d0cc511e0cd7e -IVlen = 384 -IV = 101fdf9b684ad6becb840e7cbece1d2fe89a28e3f217769dfd9eda43dd6529e6e38edc315a67e2d58a6b041bcede0f0c -FixedInputDataByteLen = 51 -FixedInputData = e27f50d16e5943721f4248970e363ffed8b042686ebd8a5b57d30230303362a68e581aba4c0100e11572ee4996bb764d4424f7 -KO = 5f22a459a6fe32bfe6250064b7ab733bbf71a76fdaa2e679c6982a374ffacf07d0e70a83dcd1ecd2061d49ad2ffcd87e9842a94f06af4dbb1a6906f0018416dac39ebebcc1f7 - -COUNT=24 -L = 560 -KI = 435f42d7cf4a649f1b56234bce6c45bd307d7ff80c93f37d26158cb8f505fcc260a656d18b99c40f7997cf38ae414603 -IVlen = 384 -IV = 1e30dac46e0c9e549fac5d7d5c2e2c5de09eea1c8a60b7f5ba217cc474b264542853ddc255223674f09beb17278904d0 -FixedInputDataByteLen = 51 -FixedInputData = 5bfd3e6454bb89fa2f352e8e1612a666b8e4a5945c9ffc224fd12ea6c3bd73b2a3a391f4f51cd709925d04569d779079f55555 -KO = c001dc93f65a52ba82d05992515672097d63bec05d273ebf3f108afbed751c38d37f7c590bfb5aa0c488b3cf7e80ce57418e474a4a67a997ad763962b74e800a02297e6954eb - -COUNT=25 -L = 560 -KI = 505a4db9f4b96a33b13a94c71167dfb600f6f2079758641698f0dd1823f594730707434848bdad819e59fd9bda16226f -IVlen = 384 -IV = 7a9d4e74f10d357eee5b8522cd7b671cd7dfcc2bbc15954de41815e67ad03121cbf85191b9486d89a7a2d5498f18c786 -FixedInputDataByteLen = 51 -FixedInputData = b04345f819dc3971452917aac6d8bfedee03382fa842523cab5c8ac8c798b5635871ebf6df829f1eba85a499c2bae693b7f7ea -KO = 680c9fa4aa9caecc3e503d18eb2cfe6877659d3363c55558031097772963d53cbb4d9d00dc503eed7e4532ab4446112b1b01b2a394b613e9ce9690289b332f155f49fd6ec8da - -COUNT=26 -L = 560 -KI = 619275ec3f27d95dfe45cb355a03f8ff378d2cff556f0f444d2ec7cd5887065d8acde8511f6686dae28fbbc44c31ea75 -IVlen = 384 -IV = 9031f30461e590ccf3c80b713222228ccdf351954613db956bb3fe835cef4eba7c78287af53a4704c38c01b6d6ce2027 -FixedInputDataByteLen = 51 -FixedInputData = 5562e881160463c7d6dd440619137080746d64ab5f465a0b1323d8397ffb8774431d201d4e0fc2c64b9bc480d38d5819a9e0d2 -KO = 1ba7ec153c0314251eebf1b1be219053cdc751078e1724cf58a370cd933b93799e3f8595f71cf902ef8ba2a0b70ea3b5b94591f8fa994c80326a9d81a576b8d72c1989c4483e - -COUNT=27 -L = 560 -KI = 71161f56d4e3b9a1fc2bd84378eb10fce816ffca6acb394c81b527922ddbbaddbe48b02d37a051f32c2ea05580a31545 -IVlen = 384 -IV = 4cce98280842e465a0e0088510729659c2d6da05033bc80323765463d828249b37b6f2409c5d7db559951b148513ccd6 -FixedInputDataByteLen = 51 -FixedInputData = cded16d8aaad2faea8ef05dd954d177d19bb84ce30898678d8a517605c109e9d182ceecc355585c4195d35cd5268820cd816e3 -KO = f467e916d20d3f6b191b97b7f0c992c6097b14995812d02380589e21ca43a0e13d10811ffed0a2f52c5e1b84f42a83f087a69a6de008ed71e6773f0799f72bd8f0c60db796b7 - -COUNT=28 -L = 560 -KI = 93880ef4daa93e356495043ded51bd3a99dd193550a2d6fdd78cff3145249191f66995ff64a9dff3d7fd254ed1ce190e -IVlen = 384 -IV = 0b9974fc5ebf692817eada969348b64415acd49a1e94ed6fee3bfec482fff703c87919399062f201dd04968643c1f668 -FixedInputDataByteLen = 51 -FixedInputData = 48a98cf5096fb820d5f41409178717e315b0770b95e292398822e8fafc283afa3c5b8c68f0124267c2a229a9bc23c686688b55 -KO = 0c8252e592af8e912ae9659295f33367d6715c31dc6f8ad0581b715a633d5241d7eae886563f69ad2fc56c1a77391efb48946bed6e9c06bdd05669da387b0ed66fcb35b8a34d - -COUNT=29 -L = 560 -KI = 47370f667298a004cf949137f8483aea011e7f8b8238ea98547ecee861f3b263ff5e82c394342fda8e591e6e01248802 -IVlen = 384 -IV = 495f848c032588f3d2e2c5c59a6d9413b87b464adc478c5e0eff7b91195caeabe76a1d5f928b47e4f799cdaad45d4dbf -FixedInputDataByteLen = 51 -FixedInputData = 972ac5cc0a705dccacb6656d2f22c7cdd2a9949607eb98f3bc89dfec1f879f610cca7b7a94fd019fe700da21b9b048f09fe85e -KO = de9c7c4c3fd6e215f96a451987751af937cbc2ae89cac26712f4b2065511cfc7698f6e48a1c32cb80d6697a91c28c9454f28a559a5f84d59721e1f027b842e2c405bce0e9539 - -COUNT=30 -L = 2400 -KI = 65cdfebc01746db8a3f9a210c516a9631f2de8b5f5aeb8a8a6da44cf3ae03574779b45b9707af15b943a200558a27553 -IVlen = 384 -IV = 0017789c4073d57c45607b7a90f0c82412046a1a7686d70edf6761ef1e05bc0f7644cf697383f3d931a7b98656859830 -FixedInputDataByteLen = 51 -FixedInputData = 1b340b9e13fcde13d318d836bb31842d10636bbdf1364f1743c0dbe926ccd6324575401807c269d670ad4145d7314c514039e8 -KO = aa426977d06fe908530b4c72ec3d7f8daba08ae05da4fb2114f6c39dbe675f6c1f11603091809f6cf18e78c44bde516cc00a0e74c8a9e267fef7c8f345603491fb57a70b10085083330300be53bf3ed5fdf1a44025837800ccfa579e26448d10bb682a64b74800d315134a7446182ff7770fb6a0a23c93f655a446b7f69c955e4906b35f4c99f95a375cb92267bd99c6dc7e65030b348930a9feea87c60a5007ecf401d0fc89d3373b1caf1b5adac66e450fc0499ae471d96c358a3463e1dfc00313a89bd6b9cee68da58c60465f1a5e4d3ff86fa3575c4f2aa0ed1864d8c14e83e6451e7b399edf6eef0c58f269e6028912fdfbac156ab4213ea648ffd602f1a79109fc4db822f02bfa8005c1d183499c292c6668b7c8032834e68b800e770c8b05f82ce8d2de7923ab6c17 - -COUNT=31 -L = 2400 -KI = fa5291478622cc7a98189e6f972e46439236d63c1dda5ce69f8cb92b772aa269e8232b4e6e14f4ed6353d3f1fecf4680 -IVlen = 384 -IV = 57b75a1b839e7b6c5ec32b9e32abeccfd8e0650e0ab199a2d8eebc26a7f54d289badc718f9f161837081247f87aa390d -FixedInputDataByteLen = 51 -FixedInputData = c7b249e92c172e3bccaabfe3c48eda37f333c7369758b3cd206f29d0b12ec6c0f40e9821ae1699449041c83d204008b2fc2cd1 -KO = d8d7a9a0c4e62bcb7d481ebccb20aa66097949cce8001bbd6f8b38016375e18872b1de5059bb88df73fc8da6b187ff0827116b4c0c8f1dcafd1e726d0af68091ea78beb799479f2162b16c9d4f225189f0ea94b4fac73df0acf0a70934b4bc3b3497dd311930433efdaa54ef61f4c6551870447307ba14b3c9b26b5dd26aff052b02d4d7aa7b30a14f3079eb8afd77df16dc57831cbee3b59128dd6a9cf6e331344a436566a9eba45e26582d8512fd07d3e1ec4203ad95aaa5e52514db3b7648290cdddb80cb2c363dce21d6556f5e4859e4b14d99a94bfd6e1fd626f87cb62e8412874d94f580953dd7feb26205dd582a5509ebd66cf845a425a46d7a828adbaaa59c3537634c17cf3a1e203935d81ae8721c76ecd8c8be94a7e92bf345d1ae056728c47a612c5cf5d6e899 - -COUNT=32 -L = 2400 -KI = a7bb462f40a22068ef698f3c62ced378c1bfd94bd018a0ae32aff0fe3e67789fac7717493be802e0a41b18d40eff3a3c -IVlen = 384 -IV = 06f14cb47a0c400980538718854948b6752f1cdd4323e8429c838525c13cde69409e03f84658782114cbf7761fca5f2c -FixedInputDataByteLen = 51 -FixedInputData = b5f3ed8c409ee2f75be0708c5dad16de679680d9239a0f5fd0f2a3caa8dcc30b6e03bc41cde7a2cecbaac659fa432949d61231 -KO = 0f811cfbe97f9739c4876c5acd3172d715a7eed60d20416fd7c6b014fca4e06c9007d2bd88edfb201448fc808304892d424c8e553d539b8a3952414e394e094e2c00c8bc55802caaf983f98f9e0f330b80c763cf1347aa93b632e5f3df2552752cf5229c42e59fd22ec1fdf0094f6025bdc5e955bd85dd91ea7a9e6a9954811ccc3fe78720b86c3680f4d33cc642f59abb2da1a2972adb44ef8535cda629ecb7a2f891629025f4ca718a2c4a9a899e62c31daf748882149cb5a7df8b1d8dfd7a560527a4c46352f272a623b631ea43a999ce651dca38b0edb70a473f4d6a3661e0a981af28e409181592d9cb57f32f0e979b5f2387c593aee7fb49f417c6ad14a7a6d288a514454b5b237c54fcd9603818ddd3128cb256c1b3d134cbec59396149a0784bc85825a7db605f15 - -COUNT=33 -L = 2400 -KI = 20527be1154d3a8b243fbd2db217b0008be916adc813ae8c08105d0e6923b73321031505aebb540f20f18cb8b8fe3eac -IVlen = 384 -IV = ff41eace023a34fbe9d1cd8a91dab595d241d1ed58647379baa820fb8d8d6495c9c81b0f56f9613d446e17900c96f906 -FixedInputDataByteLen = 51 -FixedInputData = b0f6f0c0a3fb6aba67de999a207f033c08e17789f12f608ddfbb19d4eb510c30b00f94500d835040345441f8606faa184ec1be -KO = 93473a6a66614a8ba0db18721b4fad994ea499bb7cf2099f330cd4515b26d407764178d48f3a2ad244b91cf8e8f124c2644df83d195cb944e03cbfa6990500366a58c93df0c5cf55578c84cf5d7ccccc0c5b1a2f72be55f48c46ef5df50796266c7aaef5afb83f79527ef5188a8821a759f30edb346a63b80ca8526ba4b43d9d177421beea457eed6082a418274599d6c5f20c89f0ab30c201fc7215655544994203b6c928e26f62ad026ae2c2d7b5e885d5b7bc7ffb713c0f869d007a15662641ec554e56239621291ebd2d46ea256d41314b0b28369ca9d7037ab49a2e5d7d9914bf11497a798169355c8bb9c14d5e1243e53280af01d9abddec818fe213afeac0e789120638158db4684c939da32cc16d9182da5b3bef4ce8d7033350f7b8a0f08c3218a085873c2e13b8 - -COUNT=34 -L = 2400 -KI = b07197ca4a307986be41283d426261b72d234b29e971515b07ceaef57669100c7690a1806ed5f7b89ebd4c2b883df786 -IVlen = 384 -IV = c6dd32f9306d2bffdb84a92caf330a9868f9185014ee6e2812f1836467ace11657987d85a596999230d2af775f199799 -FixedInputDataByteLen = 51 -FixedInputData = ddc4d5fea7d587f16457ade3d058b90726d5b4e2890625a6687b5d66421fe3dca59147798fb3067b07a7ce86a9a5d80989dd3a -KO = 50305319ef38eb4f1d0f897474e55e49b9ae0f63f39c954b6654e99f9ce30be421d4af2ff04c1546edcba5bc1e760f10832ddd204a7a8aff8673f55d306b0dd143e276373ca2bfeca2f47209067ef2ed96c720950f364f8025b0d954648846786f707f80d56f7e626682c4fcc2a9afd13ee59d8eab42d1b98f3104bdf4896e9062bfb257f60bd880a19720d054c416ce8c71d13f339bc587790e6811d9684a270b2503c5afde8f7c77a08bc5859a154a261feaa8130359d9a0ea491a139a52f89541b08d041ef21c96f3dc6bcf442db2425971ee3bf5d4666d6d6fffcfdf9db421f9123c711e3f19f59265216e63e90b150f4a86133e5b3d19da004e1b1c591a5faca5b348a17c2260f94922121d52bd85ab68641773bab78e2d341af7882033d80efbc3dec9bcef1f4cf261 - -COUNT=35 -L = 2400 -KI = b63421885e234aac3d11d75deba5e1ce153e6cbbc5ca34c3cb4b06b9c0e02924c20908804c818309219018dd473659fa -IVlen = 384 -IV = adf1e79165bad791b32c1198fb10ff579628d139b924296e79b3757b6c8828ccccca5484bfb1dd3c9438a8ae171dd442 -FixedInputDataByteLen = 51 -FixedInputData = e11d132d73cd5e17c070df9cbd439a9c6416b261346dfb7b3d7c4a70d0c6c26e524fb689a7fcd1fcbacb7005db4f40d9bd4a11 -KO = d1de72dfe77928d918a5a9b7b331525e293169babb18bbcdb14dd733faac252e788783b304aeadceee7466ea9e60ec72541b3a346894d871c5bab1df7581283a5040f547aee032e016f99c2245c567741626561e4ca5294402dc22424abcbba3c9297c82803e0f24c9e9fcb811e270a616ecc6cab8455378456a930752b64e75144e7d7a6253b1f9ec2a59d7b71677295d34e3cccb97d4aad590d426ffbd0e65bacff1ad0c3522228ca4daba27e5d3400233d1fe1c3c09541d86109edfbbe984f0e62f78e36212f37b22af9895383ab39d0d4efee16be8e21c7187dd09f6d634f5f4eb5bc8d7abaf8b0de6608fb165154a37729ebd221d9958607c5249454585f004728df30ae10d3d23518d618e9d1778cc77ed99462bf63f68bb78da969f6480d1b89f03a9d8ba2d77d9bb - -COUNT=36 -L = 2400 -KI = 7f1577fa1a64003ebbc2762fcedd3103a1061a01f593300f4c3b2316d50ef48d83aadea990db754bbaffb21ebc5c3ce0 -IVlen = 384 -IV = 950f93bb0cbd8489e0aeb04cfaaa6109a907d444393ceff2ba60b794fe5b8365c18eaa8b5a621d9072d1ac8c90167b66 -FixedInputDataByteLen = 51 -FixedInputData = 056ca1876dc1807d331324bbff5d268896c162211724b51b8f778f2b4fb759b81d8a222cbbd9e1c0b72231486301ba406c6510 -KO = 6a31da2afe9441fbc4e0e67e1801d7a260f92be359a93f85fcb01dd06cdc7e94af912ef976eb59f90084d5a378a698e5316cfdf06b0469bbe3ba3bd476a35e7926f7094f5c01cbc95eb3fcb9273b63f79e17b452501cafed5f2d99fbe1631fed772c2e2686ebdfbb7c4f0dc429b782fa8f6db85a78bc9a1b4d8dd86fba0b9a952fdabb699611e7a276fff6b0ef10b1757ad648384f8aaf232c5a0113cd646fc04ba1f884148bdf05221453bf5e5598d5c6ac2c492e635a41b8e718e1a1675322cb5d0a65ddf134397a0919a39d210ec36c94986a6716d565ad776532aee016013220f6fc60125ff730b156d6b210da78bbd4d98ee6a1d4e2e7df6906b2af1ce6af5a5c4d033d56e06e556f99cddcede20c074349ae2fd9c67d37b56b1b2762c05ad207148dd89a7e7bd2ecd8 - -COUNT=37 -L = 2400 -KI = e51518982a24a0bad2b639d977259e0450918ff5c7da37e5b2019038e3b64dfc91356d3813224b14dde09c9c49f51a9b -IVlen = 384 -IV = 3fa86e5c122771f59d1a149ef7e6732c3ce68f17449d60a9f7e226993d3355df933a83606e25f10be08dc70154d84e08 -FixedInputDataByteLen = 51 -FixedInputData = 010df30db6e778a0a5f16afdd4a161e9ffe31f8cc9570f73eff6ea2cedc8b2fb65048bf26efffb68a5862b1adc5238336499de -KO = 148aef21a05993646fe9c2d1c2a0646a30bc8261b912cf23dd69781ee1af320c48fbd168670dc0f392a3401382b6c4c979ed5678b01c470782855be2fe7435753823d02df6ce1ea273eca2d2b9819088773e16f53d7058ec7174c7677c9fc26fdcbdde6f89f3fe53fba82541b2171f5bffb6895d19d7a4fc3638d3bc0a0d1de5d6aa9f2119b87e09477a74445605c72ec5b3afaee23ebdbe38212b4de58478e7789f391f906caf0dabd9598f7ace9bbaaaeaeba4c209472d9bc78b904f8d7aa2dc09f19fdb6e1b8ce02714fbf7989c8cfe2387027a452b835a3814573a55b53ff3ba7a3f851890dae77f82e97960520e327b2eb9a1e229a0785cc2138dd3803d54fd219a23cf05994e0d944cda3dbe03368bf4abfe9bad3893e489eed620723e3f4ca86bbe4ae506bc0e5530 - -COUNT=38 -L = 2400 -KI = 9d18e5558a1c754b4961b7062d2fde4b844c08428172e1650ac64d9658c8205237c907affe2713be7403036fa9878881 -IVlen = 384 -IV = d38a5e2b068462bc7afb43c38e933a0e9d52f701df63ce062c34980cccb6ab4a2f61a663370d1890cc0847663275e369 -FixedInputDataByteLen = 51 -FixedInputData = be64226f03bd874393dde7553d4457a209f1160bb318ec63453d7f5fa75c39a8e0eeaa52ab3dfdd11fab4ae3fb6099b5e7993b -KO = 17c252d003f3cd315d2459e02b1d2041e96e157dc6e8031c6ba8e21e1df75dd144fe67b753a4436e0e112f6c3d9199050fb02a39101a4d2370ec6748c97ae0ec9af93f857b0afd77cbcdd9fcae2c3eeeed500df226a6ff5c67a88e24a080d3aed56f7c3798f06fc170efb399f811897435953ca0f542b489f19312a27da6610dee0daa010e73d5f19c8d892c976168fc8dad13a5798fdbc528478abde762e4354688fbfcab613428b07b89859aef71cc6f3aad7db91e814dee2b1120b5650947a56a19e7673c8cfd7c84937834a3ae1c3a9e73dcb4b703bf34d9eac15815e720a6e603a029c84440778e760a7de8af1fb94630cc64aa4c3cec6014869f092f0687e9bb9ae72583d0fa24f806e020d1046afad80a30ed403079f010b5434ac2666f89f170edae4dfdefba8965 - -COUNT=39 -L = 2400 -KI = 1f3896cbf65c6217dff6928d17baf934086ac7353c754aeb3c23597354ca58c0470a447a11d3c0d515daef7933ab309c -IVlen = 384 -IV = 173dcc909925d1945689f2bd3879d9787ff356609c3ce28ae47b18350353dd988b0d803e90f6b0782f7f9dee3e0198d0 -FixedInputDataByteLen = 51 -FixedInputData = 8582e086a9e46e4f97addeb10161637db3f066ad02a8ab941326ea171b53bf1ed597824c2947e62496903877d043e8019a81c9 -KO = f2406981be52d426ca9f4ada8f4b5e2b5c1d30b25d988533b6f63757e7cd1d967115de5a7385d227c638728f7c352eb2b26d4f68a572d737efa72736f85a533215bc3fd6df786e75d04068a4b8663bedaaa5b5045acc410efd9b63d3c63330ce3ad2682058d6af62c0350f6392449b716c4da3f1505d28d5c34eb2c6eb96e69923e8ea236c93721f909e02ae6c7c2bc791f012b35d3762ac349deebbde34e1301ac5d1e852c9feab1eb8704733ba98d4e34b4009eca8c646257b9367bac4bdd2765f326544e26cf8a35149516305df6dba0e271f24b1da0955bdf191f957f123df77c4def6d0a4b5ed38dfffcaab145ab5d81180e97223d3d23c131d543cb2460e84c45ada6d73bacedc42127f9026524f5cc2aeba9728f3941cc0117beaa2636a9c2bda1c8a9aa0f491c002 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 4f5951d6afbfd392dc344cf0209da55e3f6ae4f8f26a77bf2af42c4078b10ad9de54a95cf3ff4ed7ab250df6a6fa8618 -IVlen = 384 -IV = a49b1f83118f893fb6fb6593e9ac13a5a55779a42d99f501eed99056f3bc51922f0cbfe1fac63e131bde9171cf57f476 -FixedInputDataByteLen = 51 -FixedInputData = f6b2e10b7c948a1c48019739fc8314cb765d418018a73e74e6b36e9db5f541c3d38fa7ff93f4f62284b344be69e86464640c01 -KO = 00ae2f013c0e3c3ab7a5bb74abf1b7ab4452875f2d0ee6f9fa95df9afcf2a6b68e46715d195cc6bb70bbe35d5703fcc0bd28c9b5b61fdedb44a1a410c276819c - -COUNT=1 -L = 512 -KI = 785a718be9dd451215a0c9f774125540ce54885e480b11aafe0b510e7cc1bc81da2edcd473ecd7354584d84478154aed -IVlen = 384 -IV = 3cec114872018e96d10f2575580ff6c0571ca0c81eaefd71512aa0c222938165382017eca8716f1b04faf21228677828 -FixedInputDataByteLen = 51 -FixedInputData = 44e69488b170fb3689639afd2ec2c92eb05ac8dea3db3cf358d204a303cfe4fb78bc75cb4c5a30e4c0e25d7e1dbbe89ee70723 -KO = 25098ec85fc9ac210fd6034bea9308a35f3403b2cd0bd8ddacfed44083990cc40bfd4e58af658175f1d06338b2271b7954ae402eed6226412b23d2ace2010df4 - -COUNT=2 -L = 512 -KI = d01b664fbce59cb5aec8a6fbe1ef0f33f15ec7ec9382e95b38162f73b6795cef2251ee83ac9824699abfb0ce5273d5cc -IVlen = 384 -IV = ddc94e1a1df833eacf0151434fed3fb29425c6110d471d63f7b523469c543e09f70ba867fada2e066c4ee6b624ebac31 -FixedInputDataByteLen = 51 -FixedInputData = 932c167730d4893bd605832ba3df99d1065fcb37af9721ca626172eadfc005f22290d06e96c9c3a2e2a6f3d1d02d947b2d256f -KO = 13978782e329328f7f011ec6d1391e1b94b76f22e853d17a1795ddd9ddbaea9996dc9cf89ebc48eb240dd010811f2381653df55f72a1b126c3ff75260987d465 - -COUNT=3 -L = 512 -KI = 281cae6f35c0f489c9116aba4d1711eec139060a127c7ef2f7b1fd8f8b1d1fa0fb1a65c964e34c2b4cde608d1e85500e -IVlen = 384 -IV = 3f41bcb6a0a9dd147d24c57c080361e5970387c4b4f14eda5709cf0af5c30ecd0a5713bd3e275e170bc613a7e4ce190a -FixedInputDataByteLen = 51 -FixedInputData = c8ef1bad542bbc0e908beceea77c0d9bf4d6cf7fd0771827a35806d9a7911a27c4857dcaf6c311c0734f7073f7fe1facf1f965 -KO = c44baf5fa01be4bb65fe637b1f23d0bb535c72e99849473ebedb634580e1e88302a31e5c5f0e1c3386eee4aa65dfd7b817ac09a9e1ca67dc3368ef55b86d64c6 - -COUNT=4 -L = 512 -KI = 27a0859a0737c9109bb52caa657fb1a1124ffa44f57eefb5c6f7b95cde362fd6d4642effdde3e18d645dd41dc628377a -IVlen = 384 -IV = 6730af80ee9557b25ea531f02d5064d513fe39120dbfabe9fa209b7b73a0c62bbb82dd9963a6274a13536b4388e2feaf -FixedInputDataByteLen = 51 -FixedInputData = bce03825de9bcfeb744dc936f526aa2e1b5bea914ba9dc0d4d35174c6306ad49c50c7019236a75a83c4acad42ca5de6375b594 -KO = e63ce29c312d1fb247ee636be84db0e058dce3e9585e85f629e3df42eccadd58bc847d564dd912f1973d9d64ff956b5a8edabb7bef1d0e73e2ce6cbc87649ffe - -COUNT=5 -L = 512 -KI = 3bfbf1a0a79ec1b30a4dea678e55509667ff0b5aa0bf50a405d7ecd46875c7349b0e0904950b02c9c6416166d7b8a64b -IVlen = 384 -IV = 4ecae063f2eca5e9d12d1f1e13aeb1459b8a90b660992afc700f0c84232abd30770cf26f77d4383ce399c812155e46bd -FixedInputDataByteLen = 51 -FixedInputData = 17044f8c80b709043f3b15875fc5cbfe201b9fa400d7b8898503b89adfc874c5be33940829e99567cde2ec501b9400f1ba9383 -KO = 92feea5413590c42bb1081ee960aed916d88650e3d5516547e5b127518dcb4ad1595a8faa44248c7befc15fa80608c774f82a41daf5e3566369c92aad381d6a1 - -COUNT=6 -L = 512 -KI = d3c5c42d53b4639b2514d300677e0526a2d0327f3a6e2e05b60bd144269e7183b0ff3a8317432972df1d0b5882bc035b -IVlen = 384 -IV = c3357e73f9b81384eabe2acb3735f885d2984f31f87c522a27f72408a4a56c511881677ac09302374e74c467b168dcfc -FixedInputDataByteLen = 51 -FixedInputData = 9a3684273e6b05049e1ef8eeca3a78de0d3543a03074101a56a809e278bd011eaa0e4768243d9f255edcfdbc747dc1572a9350 -KO = 831eb7ca30b97567dd5a5b405ab9dacac54a29865089fd4ff424484dfab3b24ba23c826c4f6370ac61e45fedf053cd8ddac161755669812b1d83059821201d82 - -COUNT=7 -L = 512 -KI = b7a925bdd8cb546a5bdf362b71d71bafb6311dc61b40535565aa427d153cd1c65385eb7a941579c12c39196e6fd11a4e -IVlen = 384 -IV = 62e60f96dd60590aee6a8e791d373b20d9d9e9504f6536695afa316bc8da40d790dc89e011c32c02285b6b8fb683cb83 -FixedInputDataByteLen = 51 -FixedInputData = 636ddfed0d1526385387cf44f39df3bc92eddfaeff4c5b269b35744b245b99070da58effceac8a3704ad022cf4fe09dcf56769 -KO = 31c851992652a8632e6b3b1ba8473eca5d4676cc8d95b26740c861361d2f84047fa7355957dffa58f61f97d41b6a1d7e80d2b35208aeedd81c75e279502faa4c - -COUNT=8 -L = 512 -KI = 8fd2e33382fdadb65d87b7730698ba9b9780fc31627b479e9d2f5a0478dbd388d9ab679f7cd203b5e545966d9d3fcd2c -IVlen = 384 -IV = 84e0b7975a7c972d2d8f9c99012bcba4e7aeb271822557eaf24b0955991eb2edd23141769c35cb1489038a45f93c103e -FixedInputDataByteLen = 51 -FixedInputData = a1c1df3a995a37e8c31e26e28dfeacc089da67eab1c7cb778c176e05edc370504d89f62ea88c7a8a89e46d8eaec140d3f56758 -KO = d141d79557fc4bef40e2c52e91f7a32567fa20450083fa81e9d9842f50620a76528206c8f602afd676133f3dab83538b36fc50935c872f24a8841a6d023a33ba - -COUNT=9 -L = 512 -KI = 437f3b7903a694d0d15165b50e379887fc74648591dc40f8ca16f9786f9495058e26f9b9aaf0cac16779e7d0b532a2a8 -IVlen = 384 -IV = c93dc24eda68bbe12c7d97ba6a2e7c80330b06abbcbb0ec7ae78189057b4d8209ad52479e69ea530ed60ec553359c5fb -FixedInputDataByteLen = 51 -FixedInputData = 30acca7c192573db2c8d287aea14bddc676210b4d0a993a35d888b668a589b9fa8b1f0f00d5cd71d5ad0ae359b7a02268d4e89 -KO = f300d106888dc5fb4fc1764f63a0ebffc522ed50ddbff775d11d800109fd2c275c30cdc7aec3468ab9e82045baef20c6bd4145b138997dd6b299cb2cfd6826ff - -COUNT=10 -L = 2048 -KI = 55e506bfc99a340a50242b2a9b64500cb837dcb19acdcc7b80782c5190c70492374999bf4f64a035a569bacab53b330e -IVlen = 384 -IV = 9fb06a5520ae05b0db5a8ed5aa9b3b75252824d8ad89d9300ccceba14ab76b23be7581d932497151d38635036ff76df0 -FixedInputDataByteLen = 51 -FixedInputData = 378d67af27a104a20eed0bbcfaf3f20bbf48f355768c7ff794f77a9103d0c7ae6832673f2a0813d7e8d32efbf12f6ffd9fcc9e -KO = afdd1181f78637207aab9d41f2b9a2216a0b51f587be740ae8975fcdca063048ceec131d5e9968bfe75940aa09fa4df3e3c59484287237698c347c2bd705dbc874b55b8dd4dbb7bf4143bd826861628b625f1875beda950d122e90e921f54d9e5d48756e27e45534d0ee5b32ba83acfaefc134f721f2288de5d520caa08f6cba30c016ee2f698a1aee3f51d183a259d07e40e6e150e84c74aa834d063463bc924a4657b755427f92129bd314f0d82840b6b8eaee38f8eeabdd39bedd07a435d219b895a8e2022fb1ab74bd632b1c93639d10859cd9c96ed43e1e235755f4ef03df52d8f7bbe588dce6ca8fd3c593ee3e3d029896dd1c9f9370c8b2e463f9cfec - -COUNT=11 -L = 2048 -KI = ea9eb1a1512e37f6b840f25563ecda83d8e2fde6b600829e9ab3cd36a9d06952705f3afca4cea41a3a008c4f940ae916 -IVlen = 384 -IV = 7fdcc58161c8290b2d54b2a932527a0839682d3b889845f82f2be473ebb7eb7c0e79f08cea87b58815b0e14d21a85548 -FixedInputDataByteLen = 51 -FixedInputData = 0800078adad59e22f93fc96a682b20ffa8998b69562419c7b8cf2f972a8b3d44447d30317285f9f4ed8e9f2a9085d55b0bbaf1 -KO = 2ea2a7983069ba9dd43f096ad5f375bd40c60ba48f90f16e2eb8c06db4d5f152f877dcafe0efbcb3cd2f2e43e5b276f5b0cb3dd7c2b43dde883493db7b098c623b109f98a275f8db4c69080cb8337b33e65db63e7b0d2271dbc165ff2db4fc3d8731a8f7f92456a62ff4215869327c926716ddd3d22266ae13b56070ecc8c77bf1d0e55ffaddc906346e75944c328243107b7353ea1cf76188be961b2cb0271423c085695ea297b776be4b005d652c6cd667df3252e1bd357b0285e820889ec0a38b8a0428c5fa63fb5ac2035682cefcc29c963d7d426c871e8d63ab3d5a00f1b6922b342b0c313bf6a30b74230a0c51d617cd33ea4a84550fbb032924cf3209 - -COUNT=12 -L = 2048 -KI = 5f8fb93b40f7ede3429a9adfb4f5fa6d371200481d02aea4fbf7517209f864db401be0c3aaaa5ee8fbe81099ce193265 -IVlen = 384 -IV = 87d2909bca3296acc33fd337dc5369d97a72bfd9b97ab1ce2c4b6719776225a99d115b5dee2760739883fca0838821c0 -FixedInputDataByteLen = 51 -FixedInputData = e146968de7f8d552b1f9d81b64ca509c785a58dca0f77fac94717378fb7a5dfae50ac817a45c6ba734a483bbbbd74a8581fec7 -KO = 643a0257e94a943900501d36d1f434d97f44c9072f9e40ab6a778b435114cfcc91d81d4504b10944fcdc8c78ad4f5f57469ab7f4870e1600c9b6b870ecd8e8f9e7fc3e72f3b21a9b06fa58b969e4fb865de18c30e5d9e144bd42672b5e7f2f1e847c0ce84a0f7ecd6bdb8638d76ff85e1848e2b5e7e039bddc2a937aa4e72862ab55b642f3782c53c9d8d4b2cfb8fcdde43ff077b5aa65225089c3c9dc615958a2ac61dbc502039b25506e1e07b1d07155f70babc32b50caae18e760c6f4aa11e6174b31cc0a17c39849809c3f6eb618dc46858233b5c4fc907ea963141dbf7575bf9843d253242c6897e1bd9dc179e220451251d8b5d6dcbb4792ea763cbce2 - -COUNT=13 -L = 2048 -KI = ceef929bc3f8993aca53633138d5d1f5732d9ea5a5d95f15410d0d9d2b645312d71f17bb5eb2bef5050b7b4051f6939d -IVlen = 384 -IV = 43cd60e70ddbcd2b905c883a1681bb75e7727b6436adb3d31391bee3b5afc98ac84773cd2bdddf0e3e446cf72a4e10f6 -FixedInputDataByteLen = 51 -FixedInputData = 566a1a6dd2509131e502e3f45f90cc5359a591b572c2ec074e30ae8199a1f651f7c3f7e02849820e19200e5764078e286208e8 -KO = f810ec246fc7d6304f28ad816bedaa557895ab59492d28b25252d777c5a73991f92b1a4c48694f82b7bf3425fcb90b5b55fa4cd8a137b02080ebe4221723e63598001d90fddcd0ff06fb9e4fadbb3c2e03e8f02996abf31c334b7af54bc911a5873b15950a9d5484ca5ef5f7ec919f94f1f8864768e5f99d5e60921dd794d3809ae7515c7968c6496551a6f74ef6a06b62d8d65779415243d64f9c2db845a3bce8a1c34fb46896040e7ed9d3f62cf67e084c96629c77f8046edddc4e6689e5e0303efef3b6701fad724398971722c898169b62b709758eb19e03a36fe42bd73d200be2a21f5d645213e355a5ddf6a8af9369bf0ec401c093bef12a7a18ba25e6 - -COUNT=14 -L = 2048 -KI = ced1c524e0bc4cd635a8934d0538600ba84246bfe8c0d5b34d68d2508f85fa3afc9d75de1aa6d5171a047ad4c6d60bfb -IVlen = 384 -IV = 2cef02f32132085f14f91e6c0191e90cdc7f3cbae7c7c9732abd007e3358e6ccc8effe688b6349455e51a98e8464e6a7 -FixedInputDataByteLen = 51 -FixedInputData = e41523babdddee3fc5593c4832b26554acf0873610c2d1069f75d59723b1279eac80a8b0a73627a77cc2e28cfd29e9523ca95d -KO = ce57e36cdabed15cd1b12a53ebcf651b9fba545b7a4d962c02698c6ae0a3f835206fe6cd8b26e4f3f1cb807e4bf778135f742151167974dca76511cb21dbbbda6a632958a0d4db8765fb7a682f95293156855251adcd877d3ecf1f4b0f134fa10e9b463b318590cabbd6069cb1c6eeea7680bbe9c6ed2ddca62928b6f53281e2735bd62ca9275a061e013764ac628b2c27645de14bec23cc331ed7642efcff5681df060cb8aaec21f14dd2650f20623089727145947d5c77a9a5b7df54ebe1b167b0d8548b256f00c7c907b4d4c009fca7528c8a81bc0c7e4039810b33a9e8261035740c591ac0b36b559cacd217d8a7f183ed7612a3582878ac607ec2d5e8fd - -COUNT=15 -L = 2048 -KI = 51b8de3b5056f56d645e21ce1d72c3e1ac38e86ccef87b97d245e49d6c6e6b54627f84a57b09c05435c7d701ef607436 -IVlen = 384 -IV = bc8a819751ba0fbe8e27616466462a21aeb611f417108fba697dd6be3d955bc7a1221234cc7db4f45fc1f26f032303e7 -FixedInputDataByteLen = 51 -FixedInputData = bf31bf786c1528bcff7ff8801085c8d633d0da4b50a435710d528a10add6c33f54be2a9b196adb8700d0a57e3295f07236b668 -KO = 30560903dda1b2f3e08c44f9f5c5e1789bfab54a3a744d601bf2f4de2c9cf8dcaa4eaf6c52b6004995642e4c577df3ba0f9dd5739bd46d06c25738a9942f52805e8a82777144a9a5fa44afae65577f1a2dc4f0c991b7187b13fbd658b2c8ac7dc9f426eaa0e20c200769cedfd22dd85678df8dd48efb35f4192cd954280822c22aba58f851bd525e46636c95f4cff75d033c73bd228307b812d7c6965a317375b091cef519791dd802ec0ac46c46c755070a504f323f4b6b014e1ca5d033f6b691f00b9829621cd7b4b0dfb2e5c2d7531d6b8176fb7b751eecd3b59467d932be920486a6c257ae61fa46573f6da23482c1fae00a554cd056fde9f57e1427fa27 - -COUNT=16 -L = 2048 -KI = 2a67366428e28695d69bca95b344a55a65af95b52cde49bc60751e5300f7409137d21ff463a2dda08f128d009659c456 -IVlen = 384 -IV = c6d7e4f72e6164eb81422ea3d47cb17f462314e9173e72acbc18bddfc18fdc913cb4680ee7a911db4d1c9a2d19d173e9 -FixedInputDataByteLen = 51 -FixedInputData = 0275d480fe74541bd9461a6c644bbfacbfc51757ccb2afd74c57c9956d2445cfd8444cf0ea8828d823e1eae179b518ea8567c7 -KO = fce146d966aef22ed525677a127ff16acc3ee620b8f1be6dafe7e5c42ea4e3123a8e4703b3c37450aad5476de119b5aad2d83f7426120451c4d06732c07bb391e719447fdf949f2b17e28dc788f9be08f551890368216567f4ac7465546613982d9212d7145f7e1c9ce47910a72beabcc30bf8ba059b42fcb3af772098e1f6fb8d2e438228eb6e3f709e680b05b98570234b337f16dff97f82259d586703d942f97199e1451c5f0f7b2bf1409ec4be85d1d5d158f0d520e9926d46ea44db35f1a6b69d0b0fb3f7e2cd747b1daf66e311ab082f5dd30d61c1df9a5ecd7d73e7ce0de8b96998fadf813a79b556de53dd217049d6fafa843f78a8fd74a48e2d0e89 - -COUNT=17 -L = 2048 -KI = 2fe59d30f4055632e5debcdd05b3e6d554dc78399a9159bb6b3d8bc4bd3da7a8f57fd82575e89fb63780473902f2df7f -IVlen = 384 -IV = 70178b34fb05cbb1b5f5baf484f013abb75765f90ac7b9dd2cc355831bba1f28f0c810287a3cc1de3ae14af360103d6d -FixedInputDataByteLen = 51 -FixedInputData = f4946a1f5468e1ee75dc7195c145f6b169c2c790f1a9b619bbfecf6c972eeba957387412b57c49e4d0358389efc8a27ef475f9 -KO = 57428a22c8af5cf3712e3c473ae0bbd141e1fc554763a767340547668f25e9957507d63f4ddea199800e765108105bf4995fb6aa7c3186237f6efaa29700e625503900700fb174609c75342cde2fe077cf52a5bacd31161f618c7ce0cdc22a34de43b267492bb00d53cc45d972dee7bda9db7330e5973fe64573bdec740446a8a96778d25611ca4530fc297edee3110cc6172edf9800d811780acf17457be68508097dc9eb5d0b7fe5b72191392ccb13eced74262d558de7f4230304f711abbd969fe3cd5ff7f80cb73185e55e7b32cafc76bb7ac9b5e5c60e5c465efa677d08be174359cef2ac8227d71b02571b4055eb9840d990c3dcc514898ec760e3546f - -COUNT=18 -L = 2048 -KI = 1e0ed185cfcec9ee57b2fe38220a496cd6517106a72c7552a1635e80ccc70c4e4277378f56249228e9e27a50e28ba0ee -IVlen = 384 -IV = 8addb276edb2d434cfad37890b95a40eff898883e804bb94397576535f072523012afc5937511d729d510c4277e0371e -FixedInputDataByteLen = 51 -FixedInputData = 81d8d03660a9fe0af4b1c9e69ae4f5398291941a2e0acbc358e85ff3fc7127f6782b160e879a8b728848b73cb5f11ac5e99da1 -KO = 17e766bd840b6b631850e589a0251f711f90a65a0f7a767b6cb96860aefced41078f478e2d4cacd8913e62e52213eae3b0dafbd1799d40529e21b15d48ab0014a98b92735b4026f478586a8dcff0fba5865692dbd1f42d91f298e4881a6800aa9fcf6a99ec482e88bdf4364862a7b3fa54aba64f5c4ea8a6f833665919854e03089e8cc4d232189f459c02bf05a5db00c3e89b9784721209de0ed03df522713b676b9f21e2b83f8474dcf3ed8e8cc1d58eaae7eb438fe666669ab8b8045fe39e320d09f4e3473b8c3bde48bf6211afefeddd66976a41327034e61c0dc149447fa07719c74d7780928cf6bc6942997094b6ffb187abdb56024b55f8749b9d5389 - -COUNT=19 -L = 2048 -KI = 4aed40f833e4e9969b946f514a1bb9534a7bb1d47ff609a0d0fbbdd9b94615631f35d184e2843aa05a9b58028ad121c3 -IVlen = 384 -IV = 538d58fe1033e7cda18d3660ff5b73c292a485776b31104fac520cfcee4daf29b0c9ca48a5b4b31c9785b29845bbe1c5 -FixedInputDataByteLen = 51 -FixedInputData = c4a51bd0c1fd863febd53f3c1992e5f682301d9b0facc43b70f77585bba3b745be45035d6dc8d6abbb954460ed5d2ca3010a86 -KO = 0eeef1ba0e720344230c336da4c18c4696ae96e8c164eeaab71402d4ed4a53e8863d02368b27380e2a68020c433b322841bbf641ede4a7d62843ab973145327e001f6c0652fe7d5700bd34f968de7fc504454796ef53a40a936e380321e2230af6312fca3c84d746d67661f228d7e2f5bdbd31f41fd55e574d59959c989e747baa52d237864475fcee3314b5336b1c22187446c9d4c80408bda0c35db248677705f0988038679b37ff2e103d147bc8af8882af34db415555db24f8fb7000c1dca0cddaba767c9834722bda310d163f0ce0a5444fa0e55172775598b4a9609a98b2008d69cd990d350cf0d594b6ac5abe6b613726d8038c0bea375d4f5fc5f8b6 - -COUNT=20 -L = 560 -KI = af84629697b637c80a0a529075fc6a9f2b698d5bf2a64a2549ef485cc752e8ce170e25228729ece69eee2331d6f5fc23 -IVlen = 384 -IV = d6a251353f96253d9dd2c9079d54b46580b5c7f062a4bb773f6f72f526bd071bd8e13d6b5fe4686a2226325ca83a4973 -FixedInputDataByteLen = 51 -FixedInputData = db61358926b4482ff7871b381d1e7748f358cd4dcaa76124e2ac2c1b9ce20aeca152cc44af59485b46951e41d7a261a9fd4eda -KO = 55555076c98edea7e3e5d225b9bb23f90d56ac290129c2ed0a2a7a6810a14642d7760f4bacadeb9aac26678343f8d50697156f3885315f57764d87507add716a1a99ce1a8367 - -COUNT=21 -L = 560 -KI = 18dcc649acb35d2b21bbc07b806c3be23f9537ae51fec2e200beaa09ab23dc0a6fe324678032930b8eaa0d6cb0f2f59e -IVlen = 384 -IV = 834b9eed6057186f01d6c890bc1280971c9397074589407f3d6b354bb5e0bb91390c7022d7e164845fb02896bcacf5b2 -FixedInputDataByteLen = 51 -FixedInputData = 613ea555c3dea510ebd7214325e33447d668c3273afd1c74c58961561bfd713a09a2a9cb004758bf48783657eaa4b0e381e610 -KO = a2c57bc5207bcdedf460db89aeead80413fab1d73bc05d70c63604a019fb61de1fa2483005be54e2dbcb6e68fa50e73b3a909d210d928fda11fd76b20153e0aef1ea8600a329 - -COUNT=22 -L = 560 -KI = 1f679fb54d7ea7fc2eadf7e108c57750b14fa47c7ce6bfd96981051be75926f34ded7d93a6654f4a89c045c58d0da87b -IVlen = 384 -IV = 8cc8c4af676acf604cedb5b2980e9d09e1f8300ba81f6841ad8c520effa132b518c69139a34a56d992509e532aa33e5c -FixedInputDataByteLen = 51 -FixedInputData = 12d1bce9d59101c231592a9f1ff400a5ae70ba00d84d7d62cdb8faaef4a9f9682cdbacc4e5fba046fcc1fd0166d615d5801eb1 -KO = 153c14b32c2dbb3db7e16663606db31bd7864fde8f76acfbf215b8c37648e89d09e346d524615215b131cf9a5310e0c56b62819d71b3a28f2ab556bd2d0f2657f8527df63e0e - -COUNT=23 -L = 560 -KI = 34474226b554448bfbe3085b63ce7181a15f9edffe90fc803128bc79b286861f038081b8de621b5d01857e763ffaaf03 -IVlen = 384 -IV = 58a562450d55b08aa7194827174b7d7df09bf16f94148a721bd327872d863dc4d638d4708b5297c101016679eaedf7f5 -FixedInputDataByteLen = 51 -FixedInputData = ad67d1a68c5ebe504880e4ba32b6c418fd45bb487c3b85d009ce8eb01f4a2bd71b25f24c5dc0e1082ae1b84e6b90be5702adcd -KO = 85260944295c94bedee2df078a4148812b9448202fe472a4cd3e80e034143263a5f35d20c7767b8ff63fb541bbb22251eb900a6c9488fad9811a51a67c4eefbc562ed09f92c1 - -COUNT=24 -L = 560 -KI = 7250d161bda59fda569e230655a232e3eba8e1888043a7d3308290ff013e851bf2ed4eb37b8ca47c11f9bdfe2549048f -IVlen = 384 -IV = 128bc8775563b76775f0951e0db56d9ac1fc186ebf37e481ca4b0c248f71ad43c4bd7843d46b420088942eee8b7137dd -FixedInputDataByteLen = 51 -FixedInputData = e72ed0cd5e1bb8eede67d74f5829eff5fbb7f694de0c469b5ea81828831414e8632fcdc66d09c44f413a79c0da09b5b3b211f1 -KO = 05f317664ebf72024eb577b460a4067510b2c59b8ba05b9364e627548fb000ee1ce88de1befe4f0a93d5d9d43dc8a19f15635aa34bc207070da2a40444528ba9ec4204ce6c8d - -COUNT=25 -L = 560 -KI = 5ef69a737f9cbe16cf1dbd4022ee28f8d4dcd63ad93e6e51bbe45449d439273695129b0cdca99ccf3f17d9867fd4b080 -IVlen = 384 -IV = 92d0d7ffa82963fab06771a6d47287733588b2e8f697081518e330c808c56ead62f57cd4b556f758c21a485cea5b8852 -FixedInputDataByteLen = 51 -FixedInputData = 22f30dbe3dfa19e72752d87f50d66ce4dd1a98b63969ffbcacdeb05d53cc6c5e7e45d34b34daa27c3c70384c89c5d89c9439a8 -KO = bff2893002c36549aba33de58c4a253fd77eea184161168aef6afef40befc16494990bde76e419b8ce6d6408376086c629504cd63e97664df8209305601a7324d13d4a52ed10 - -COUNT=26 -L = 560 -KI = 3abbb99ea909947668b1c601850a47a283f26b21c2476dfbc44d2b9d6e84970ef83f376af3bd14f0a53455548721ec57 -IVlen = 384 -IV = b8f9def57b44a2b091edb338f131ad97574c55c2fa2385544c6cae479f9cf98cd0df23a7eda8f36caf9e11955d7e4ad7 -FixedInputDataByteLen = 51 -FixedInputData = 7531275c3707c1647fcc471c134d5c163a258e9a680dcb33b7fce5d15c97f2291196ebb3c40c3fc76df71cf3fccf77ffe90311 -KO = 6b5d4230a0d257a0f96dd26b38e7d983fbea386f9c221e7591a331710ee27b86f4f4fadf47b598b4e394924536d53002a692deef8144a579c1facbeeee83f3306cababaf70c4 - -COUNT=27 -L = 560 -KI = c7d0d21d710478ec92a972a79d85c1927c302b7be64f215519b923fb4dc9f3bbc33e1cc22e8c6ca9f840d18f60f5a1dd -IVlen = 384 -IV = 330e467a7076bbd4db5351410a5a92a8dbfa041f2db941a67cc934da8952fb20124f152d56fc21257f3cc446e5cc5b3a -FixedInputDataByteLen = 51 -FixedInputData = 9da99ebe5172d016ea37a596d6f0b2b416c97598eb5b18537aa1a394eeda1b7d794bb26bce947ba647e8ac9e2a22af675b25a3 -KO = 15b9c90ed2cdbc1d2776df072a67b5b0c120f5db679f10a5000fe2e59494f370dba981c78e052c608ab41cb219b363705632335d9f4aea3dd1249d26dc69ce3cdfec2844da92 - -COUNT=28 -L = 560 -KI = b5e52713ad46774ee977adbeb4b3cf110558c7d26d4189ac0c6983df132a4cd1b6c07c16c3b64f28783c7fb9ce2c2747 -IVlen = 384 -IV = 8e6e169aed70c54a8558f347bcd7e7817c2d98eaa41a2237666e98c6a1cb0717ede131f72c0fc61c71d0859de6b4e225 -FixedInputDataByteLen = 51 -FixedInputData = d7d1c2f119272d11247b6f7e20e2634e00edcbc1c92d6351ac52c159b8c94b9d0a707bb533f217b26010587d1e3beacbe63faa -KO = 240df27608e38bb3be73371fc8f62519822c03232bb036ce1ec5c273c5f53d17f7d806ed8626e4e11162048ce66f73e762fc04b27ee2dafd06e77755a1146edc904c05d719d2 - -COUNT=29 -L = 560 -KI = 038b7809c50ddd4d97912831e18f09c9101b93118f79d10fc7f546dc85dcc38ca9860a96859af26713da477c4343ab1e -IVlen = 384 -IV = e717951f308ac1e985e7a0094f009720ffd50fa13f32e489189d2cf2c649d90bd477b6d0ea93c34a1328e6693ad4fe44 -FixedInputDataByteLen = 51 -FixedInputData = 8d9b8a07f7552ecac59fe007e64272089ed264680e75c31e9ee33fb0c294ad03876f66bdef15e7fe5a99fb03e71dbe2b6af441 -KO = 71d677629100bf0837201485cdeb7f29c6a261dff1badcabe9ef01f83789d13c06160d01928445910b13e9f4d592c65d6fd654477d7ae8ecf07ce2fc06ac0117a466e449fa44 - -COUNT=30 -L = 2400 -KI = cf56180fdec0d537a84f9bc004a44091a3a7ccd80994530975401830cb4100557f31a49507978231aaf2743c62d2b9a4 -IVlen = 384 -IV = c59ecabc10f2d68c11a8efb938fbcfac2da85bdeaed6616054c139521fc20882206d7b45545f729c3986838034087451 -FixedInputDataByteLen = 51 -FixedInputData = f4412dc6deaecfa25856f21f7a6bd6c730083983b32742be59b48b12b2e0540507ea149f152997f4f25ccab60552c27e173909 -KO = d0ba6b8c242795e8d09cb3d6c5ce33a3558a4e34d0610930c44350e27d73b576fa1a7370c44b65f6e805b767addba635a6cee6dcef5f8022778ac2851b812c0ff5fe3c7b8041d275a383bf2554f2adfcd98038c17e1cbded494058d5a21e177966c655abfc1bc430b4527ff1b31370f461c58901d34bf917ff55ef9e02d10b61486bc75a0078089de907b6d3ec40270f092ca234aa1c05d04f00d1fe425bd3b0a4eeecb40e3c4bf538020461de070ad7330734dbc723d1e15ac50aab99196a0a1c16cfbbbc8bb762361b0bf2591b17d61b6e0def52e08194aff64097d1726d2fe25979234567e266edc4757cb12d50428bd7e81e9229850a2e7788a41ebc7fd5b6fa7b45c41e8e215fec9e47edc6838be6445bb1e90ddf62ec0261ee0f56f7ff8d6ec740d23a0d2e20eade87 - -COUNT=31 -L = 2400 -KI = f03e9b7e51e941e4ebf80784d8b08f01f79233c4473f6f08b033c52455b195b139a7c475ccf96c63525874b522394dc4 -IVlen = 384 -IV = 409ee54c295d2847e92ba1f3aa12a80b8c8a86c4a3c4c1936bfb66cbe6d5d07c50f63d3d525dc929342908d667396e4f -FixedInputDataByteLen = 51 -FixedInputData = 300e6be964348aab7f06d269634cbd2186307c6398f76815ca227d62ae5bb883a071685e61c76e2ad32cd28ca4df091fe0bac9 -KO = 440c0fb26789ee6e333525a66f31a94891f1e67f833606545bb17ee9252c0764a323accc8b785ad9b6c68995e0556d707c5367d70b32c140750d5ba67cf60206b72f50e5eecdc13f79b95d344fde3bb918de96c7b0175b655b3516a11499bfccd4cee0a779b50f01e92a46fbfc4bc1e59345745a1fa75ed4ec2d4264b4df3eaa48dd4be756ec92b39b177cfe9e1d336ed0237137ec0dfb79ad1dca5a2bdcca7cd5607a360a6c9f5d7eecc0cd2439d5fbb42b288cc1c1da4217b7da3a5d5f2651d0cc24418aab96e5af269d84ebdc1b5d4eac9c3b1c893ab89e97821e357248f43ce9ccdc597e7e66efd6be37190184cefc23b4a98c827703f61b91558ba933bf392376bc5fca1dbd959c2605efab2b14c72a542099a655805d7090d46c6eafb13308b94b355c1c18acefb7fc - -COUNT=32 -L = 2400 -KI = 817dfb69dceb46025219eb7e1ef563122b5b7524374f1f8760112fd085df0413f462b4a43ab3d613b310a3475bf690aa -IVlen = 384 -IV = f78a389c69595e86d07e71a701241f7ba67965601ba604b44f8156efd50c974be27d6930325fd13892ae61eadf526e00 -FixedInputDataByteLen = 51 -FixedInputData = 7d2e1835f129d065c35a74f823a73d951ad64c08e56c7fc08380ba1f865d0ed37e59f148ab8799963a9e6e9d7abd8258b55759 -KO = dce45fc4dbb6faa49d526eaba811e643208fdfedbd73715102de4cf100d648fe3c3e51a8afc64bac0eb09836c34f29d9c4c6cb1b5f6bc32fb006be3632971410a639536898d3b30332e28224f37ba3c4fb484f5fc7394c236e2833d4726ee1c0b8703fddd3e49fe383e40f63d682283999fbe79c6ea3f2ee58bdc9ab2201518b7c7a4314a187c380451a6687a776d5ea4bab93dc5e4cc444104755bc4332d4349dccdd72ae720aa809ec57137bbfdcccd15a9f321e5cecc7419cec3bccec51f475b411e278ed4acf6fe683ab10718b4beba0ae0a6e6e0eee2a830497ab6ac7053e72dcecfed69055788c7466e53d45da97644900b0d4e96d63d397dec226cd8f785cff67aff40114075adcc6cd07fc544224cad6f7a6a784258a55ecc7ad9a9d8cc4d0631d471fb64d619b10 - -COUNT=33 -L = 2400 -KI = 09adbdfb748ef20e385dc3e7e3c0235386eed8745fa3f55ae491c1945e072042fd20175cf3d31397023f2710d9415b04 -IVlen = 384 -IV = 98cf5875966a772d44fce4c6c408e3be664be5f93a0bf2c41a5ad99f614a3a426030eb59d579e911694b3910afbb11c4 -FixedInputDataByteLen = 51 -FixedInputData = cbc9a346b9f5cbabf384652f5803c57ff48e621f46633f6d1d01c99a5103a42e576e0d47a9387f00cfe4b9a4c3a5ac1bd2ef9d -KO = d9dbed10e540deb0ba874665b5315d92ee22d148bd777f79aca65fba531080eae0f9c63633f654e807d2bdb17ab4c8ca7a8b9c48baf99fb8fa04ab1b4909c7dec2bef1238d05ca82cd1d79c31a3bf2e11a424d7ff5e5e7aa902ed0f63daa341186d5e0d144c9005ccb3790605e4b6d39a06baac36d168a1518a31ca2a545a1b471727e02b38a9d54d8d69a809d3cc206608998b9f6510b67e56e86a896dfccf526e42d546e23e2cdda5c7dae8e2d2192e4b1acf789c5d9b51335e53f8772223e93da62f9bc9003dbc2e2ab4c9496423c0bd6fc0cc0e9c487146d8c15aec790b7ff1e30cd2a4c2b4c8101196ef8c7bd4667fd8092ea100e0b71187b7862a2351bc124693a0116e22d887fa53776f79726636596f0cb270aad3269aeb3cfa821e12ae2807c2be84b512a7a9e8d - -COUNT=34 -L = 2400 -KI = 277c5f3e5abccdf3634446e649613a64976f9da25fd8c604f77d5fa1ceeb3e621b0eea46d24657aa219712d7028375c3 -IVlen = 384 -IV = fa940309b9263f2932ce1b1b031914d9643eeadba9af76c8b6de161e84f4f3fffefbd871188dc8274d859baedfcc61f1 -FixedInputDataByteLen = 51 -FixedInputData = efaa3510954edbc7818d499b7a57253d379908665e5237056be1926b876e2baef74f9b5004f70292297f2256b2ee6c89a52ee6 -KO = a28f1b5bdf8b1e006b1c79fd27974ac7b49efbd7271e913e51c2ecf7c2793489c987d92831b0f6231a1378069b72d13f1da89434db06b9c6b68c7a7a4b3ba2a5488bd4e34c680cb75dd8594d01991c8b7c6223279ac7f0dacc5341fdc0bd04df972b32e23a8e1488b167594c7e22ab898370396abb2fc0b5916f5b1c688b1a5dd8a37ff1edb4b939bca976ab8365c59ed2eeb5501be294fe68cb11c5ea8a0113a465cf6a2d9699e3d3b2e37bd4ce042c6b02a69739d4c3bbbf9d09daf0c36922e4e7b1fbb8afd85666d0d02f40a6bcbfe7a1761dbbc96ab0abbfbb93db2bf929a367a39933154f2d19688d051db49968c2496e1debb9c6c18e25a2fa69f1e51f40a57bcdd6e222f5c9c50bed6e48475501c90b371db062222465b46d833f1d54eb5215c572f3691101e1b7d3 - -COUNT=35 -L = 2400 -KI = 51ba3c853d61094a01bb8a76734656887f1905266592d844062968c25fb3357ec2a95e4cad3da65d6417b11d6cfb86c8 -IVlen = 384 -IV = d3b3a461303daa0d9637aa6cc76c5c628549f2214abadd38c1130024bcab29944571e8e04ff6bdbb005c0e5532f9186f -FixedInputDataByteLen = 51 -FixedInputData = 34680014ee4a45e13584d4a26d0cc2a36f0d4e997afc3cd353b2f37183ccdc68000725617d2b2db488fb5179c1af908eea039d -KO = 40c660d958c0866b7301f7081aef70ec36176d2eb0792e0198457e80fff961fbd06c6fe062400d5dfb3bee08098d789c272aecc9d4c41a9094a32ef8eea0ae387e410ccd157f30ddb17da10d7e1c88bc84c473f28ae92f63f637cc81473cad9cca54f1e5329c2c5221b2470ecfee73e4a914a48da77027d5ad8c443deedad6240dc4d28ee2f5dc6b223fab8cfcf2f3fe5cdefa22aa29bafefbcc0f6e6dc1562bd8f166f36ee0acdf6a452e18845fc497c8cf3f854144c397a275e669d46edcc656d708fbe8ec972a6465412b37cbbb5fc4e003879eba8efe7d7b2c2716318d422ff1ec9d0ad3a6dec7e5ca17d87d1e04c69af4a692f2eda2f16b2b1688405aa93dc7f6bec166999ac99255de5c15f730470a5dbfed1ce51aff0432cf7de661fbcf57dc3b8661fe1094da8766 - -COUNT=36 -L = 2400 -KI = 72abb7142dce3dbd472d5389360812a1ad59b86a74fd3bf4925c4f15b1090fceea21a4c83d8f69315a8a8364d006e0d9 -IVlen = 384 -IV = 3eb55ce44857a62da08b3d0dd90969884187ae68981d978cc2bb5c454bd2acf573018dd46e5265e564ccc275d30d4255 -FixedInputDataByteLen = 51 -FixedInputData = 6349909665d9b96dc0dc0723ee046cbe5770f08dffe6fc4a6bb9a5a4aa0945b54ea986d85d8024bcab8368ba20c13e0341a111 -KO = 59f899a93fd0274cde0f55f9cd4d1d3c16d2eae8e5196364aa88a98fb6286892997a81e598a3cdb79bc1b40d359f46363bc5c286a607a0a979b82dd3523ac2e41dfcea7e14ae263af5eff8b7514480f3cf3bca869ff528dc8b08dc5df8d6916c89f2b46bfb56d24a43a977821ae035c8b22ad6beda314cff58fce147ef1c9ac137b02e9918ebfa9dd75e6afcd534e09bfaa8d990218293880730f5dc4145c2cf2a981f7cd7b30d1f23c827203f6fb117ceb83df6120ac0b59a628ffd37cf727e4755c16e5d17548f15d76389e1222da5092ce2a3fbff0d16007afe5038faea10caed286e4e857a4b8980b54b96f4188c61eec8a5f6f87517a739bcc1fc1dea9acf26fd65818082c9c537f7ffbd77d53affaf5a353cbc461bb64dc7ea908d4f9770a2caebacec444356b88fd0 - -COUNT=37 -L = 2400 -KI = 4826a43d7f02f25f2e2d7aa2d7099330de81ba3233b7814e0134932cd61eb9f9e0f17ea2d380f1a642b5f7a227a20a1c -IVlen = 384 -IV = e6a2c021ea695067455cfb8e84a497cc59c64c5f234c8ca93e738c761b567442beb4c93ed8f5e36239bff74c35c33b02 -FixedInputDataByteLen = 51 -FixedInputData = aeb5700254032c8e6c1d5c77ea5835771e475f9911161590034a609961138c67d0bef79cd35cf550ba70dfe233dbba10ed3dc0 -KO = e97f3557c205f4e408ef96ecbab609e802f6f9ddde0898c14245036e6bb0cdce236ef84e3f3583116a648a74478d4c982240a69a9ac49a1f1eb56773cd58df6fef3339ff64d657dd302f7d0bc317fc08b197f97360b2084a7ac7708e87e6e0b1f8d381c05dcaf15246a9781e72366d0a512f989481ad6a52f0d2966c55e943d1574a44a897067692bd9aa58893fcf8709c9fa6de5aa21408fee6954d026d4ff5f0970cf5079087ca8fee6875d5f770f61d611854bf37d7170a314f60e927088ddec67dc0f055e8298930a43cbe9a395453b12a549687896ef4bb93c102348c8e32867b4d448eac5891431d7aae4ec25290931b512f22290584f2567aff6cc505f4dc63ed9e19dfa3d7da3118813851aa0f66b7e25fa6db26b4e0188900f32788c6335609c65cb9b554acb53d - -COUNT=38 -L = 2400 -KI = 9cd856a00645476fe34e3242497e45e43048412c8a49d717722f482e68d0bfaff06b23b9272da049b66bfa04099ef746 -IVlen = 384 -IV = 313a176a0baddeb898930472b78ba4c0ecde5766c82a48dd101cc430c43fe9906f8d6ead0e5fcb644aa7381cc0dcbde7 -FixedInputDataByteLen = 51 -FixedInputData = 1199cae7a51e3888116179bf2ddd2fc7b89c9d465f7300ac6131df837eefd2af5e353dc6beaa761d49f22743c2bab0833a8625 -KO = 1afb9feb645dcba17aa498a85d82b09cdb6d5273b20c1e7c9294cd619370ca04e5c0e70fbeabb937b131152d0ace67a110ede9d1de75f53d9039dcb16da484303f1d2dd331dc2f45de6956a6aed524f61185abe9e2e2be03c0acf0bcfde51522565ef789349122a370ac8f4449f1542fed094652b311b7ee31b32f21ebd21b97aea75f6b5f42e566a3efd73d42f315c7bf5c91c6821b6b6358b50deecbf3de42c61158eeb16ad8119bbc6757fd93c7c1a047db3257ec6109897ed0bb694ea382069f64c54d56fee817c552e0661986f54798e79677d26c9630f3f8cae895d5e8f403734eb3c2094c9e6b35e1c5f7b7cb3bc751de61b31ce6e87ade7903066dd720dbf9a9a1f8a4747512e13a43adc1b3f8035d55b20f217162d036bfc3012e5cc838f44af2249574621c980a - -COUNT=39 -L = 2400 -KI = eab1d23f445cd71b9d9d218c99480508efae5e643b9378bdc612408748144b316271d8b0bf176a0b5b0a321b505977dc -IVlen = 384 -IV = 2157adba6187c9ce09165f8177c97e0b5e4fd83e04346b42e13fb8a8f18f30dc8bde0604bf9b6c25f9bf0a615518b814 -FixedInputDataByteLen = 51 -FixedInputData = cb44848ddddea34c2a8194a76813023e9f60cc8aabccb50433d92d4a72c4ff59e9eae68f4fd9683518455057cbe2054ecc3e79 -KO = 28629eb333a7677938e868092e130d3f82d52192218b3f2199e6b66af58a614b35fad2f710d47a3346b4835f2af3b2c0ee69ad3c5c13f996a7a3b2db9300ed81e3cfce86ddd9e902dfdc846341f918efc0b10b09d6eea780c4b4376bf530533a6d9698b9cdef9013ce64423dcb4865e796d45dd1a721ee5076ab5d2969532d960a50cbd3c3c7a7fff8d7e3780ab8535b0d45dd7219f6cacb27a6bbf4273cfd8c21d41ad54227f658f945daea479bde8ea494acb072ca5a28ff1d5ad2e5dccbc53ede69084fc17d7e10f5e453788fd15638a26f2248012efa2ea0ef2cc2ad8991bc639ce41613410924fa10be4946d4083cf6cb7b7c8afa1a833b447b8397482b74144a5bb8c218b02ad54ce0d7b8837afa034ff742cc471740f4f9e159c27acf867e07fc8dc55bbc85aa1077 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = f1fc258ae446f56bab9fb032b9ab0b934773c78255df00b49ebd71a6928eca216ba7a8b442095f994e365b73a0e77934 -IVlen = 384 -IV = 6360af91851f971048a6a2175b0e60a00e5ad84634b9d6f14e28fd41ce6b4bf0beb97ef3d77e6fe03529b958c2e583e1 -FixedInputDataByteLen = 51 -FixedInputData = c91817f472836cb91388a444d9e19db4e745f3ef7d72f5822522804e6fc3c43aaa4816d1197edf7f17772d0d5f340c0c0b223a -KO = b2393e70e6890dc01aae2bd7ed6e8febe1ebdc96a7b2a5015f79b7808779c63ee74184a9f8915ec85ec3c68e083431731c4d3f1f7915086b8fefb0e0cd07d0e6 - -COUNT=1 -L = 512 -KI = 13e525afc6e1311f049b5f7f07c4d566545f06acd6fcb5b6e1fe7623c3c2355b5219aac4034a9610120ed59995d159ab -IVlen = 384 -IV = c92cb9447ca84372b6cce215944096635f63f393fa1d2d94648f4a94df1af05250dd177821a09c6b4a40a040736e6d85 -FixedInputDataByteLen = 51 -FixedInputData = f3ce93f7facde2763b90ae19be41b302474271df44eb12700455505f394f37eb6294563afaab16bce68006aafb5bb86767acfe -KO = c1a45e3a0703fce98fd9c5182be1e2ad748645a9770819c73c431fcae5d89f2ac59dc8fd63dbad44dc842993392b0b7cbb7a447e6cb8091e74fa73f277482d79 - -COUNT=2 -L = 512 -KI = e3182820d541bc116fbf698216d06b8101ad4d72f7f8dfa0f10704f03a342afb15efd17d06a3c6cbd675ad3489f63dc9 -IVlen = 384 -IV = 9e9e022a7f5dad33c6f01b896f9dac24753e98c798becc31af5df90a01576aad622858d348bab5365caf9be5b3391b0d -FixedInputDataByteLen = 51 -FixedInputData = 71cc4ec981ad24f80c7f5665bd44c531dd4a9ece8cd4cc7e12561a058dc9416ef27d2e284eeff1f96c3c7b887ba2e3c84c54fe -KO = 920c4af14075a72e1ca88190439de6996ac12880502afadc2c957489eca12a99e2ec2ad8529df9815a89b583ff3a81fa13f6b3c48e974a1bb9326169bfd8b141 - -COUNT=3 -L = 512 -KI = 2bebde0d3db6cb5c1fd352d25d0bfbd20c96905d6ff1e359a3086c9d8387c70ef2269965c84161d35e5e5cb33998df01 -IVlen = 384 -IV = 71b1db186db3e64007a0efa1664a5a779e1e217f72ab7128c2bcc31a23cca8a8ec0bcffa077d99fc4a45d46acd05bb46 -FixedInputDataByteLen = 51 -FixedInputData = ace6a1e2aa7409c9b5b91ab2548f91c702ca06c51a52cb7b76c5dbc02a23ebf6cdb3025748c462d53c084193e5176595935280 -KO = f062da5579cc8d3f2936691eda6970d7cb856ff521921002a61079cd00e01d8fa2c519e5b7d8e61928cc6d0f99358ca479b7b48f0ec16d110d8565d78a8f76de - -COUNT=4 -L = 512 -KI = 962e9f35d2be7d38db39e6a2188da447472d36f20f441b58dcb1533a83fde3d36b50e52d74d24a357944911557946aa2 -IVlen = 384 -IV = ac4ee1a586b1d00ec915bec35c8bf2d3732f1d9594e7e8b5de347d24f7d048ee0b41956afda1f06551766cc9ba78c5bd -FixedInputDataByteLen = 51 -FixedInputData = ab5a5b01edba4838037cea2b3eaf99107c3d9e783927f9df19fc078259eba78597e82f5f32eff7030aaf7f2a08ce66ca39f79a -KO = 327e37a7f2fd4c5ee05a4c2c4d922affb018507c4dedf1ed49a18361c70ab328c46b4c5287f5624740f0164eb6bdacd663376c11771db9cdfcb2d4a9fc15bb21 - -COUNT=5 -L = 512 -KI = b442fb7d7e107429c0d6869ed667a001d7c7c635f3baf457c6cc7686954548adac16b18527a6d0a94b76a712850e6bd4 -IVlen = 384 -IV = f1f836124f1732274d907d179e39bd569fe7dbc02c435597eee96466f6174febb96f63b66c750cb7929b4153baf0f186 -FixedInputDataByteLen = 51 -FixedInputData = 3ee4688c6d086c9b9a3d894497d7aa7b7a6b14049485a5fbca3c577c1ce6fcb3c57a07880a2583d526c160b63fa5db68dab7c8 -KO = 6af22966e4f4d85fc9c35f997e35d4759b48fb2862b461a7132ca4a759b99c1aec8b903460360b8cee71f2deffbb00ec2cac08556939eba5d4ecdc0f978240be - -COUNT=6 -L = 512 -KI = 12601f4ceab7d9ad4278a0077991e1618ee2946d000b40bb0da939cfd869627e8965eb2c894824a7cfd9b7793ed75968 -IVlen = 384 -IV = fa453c3ac8a52eb1e19b1f634291031cf34fbe4b0720c348d90699461ba276a41a6c4b049e52bc31e221e1f76d82d874 -FixedInputDataByteLen = 51 -FixedInputData = 52283ddfae32de1cfaf16c72a0652aa7dffd36e6755886f96ac01b446fe9aa826ab7b459416c05c83d3b127736b9e2411c29b6 -KO = fb0b1159d7e47056e4bf811a66c7c6cd707db7833b0a1acd53f338f437474b6d8ebab5be061ff63232a8e3276cf42c95208ce540a7b8c4cc5ce5116a1275404f - -COUNT=7 -L = 512 -KI = 5ffadf42f86f5e6332c2e7b1923530c6679c9fe3c1a2b2efeb9c7c3ba26d627ba4c7b8908621b0a70e94d342082a6587 -IVlen = 384 -IV = d428076af36b54a67437ad6d5762730c436b80826a113b0949a6055c5700520b0a714592741b3da068aaf08f43197582 -FixedInputDataByteLen = 51 -FixedInputData = 2b4179365e85d494affe1e3d7f30c92339c10bc85cbdd4dcb4a2f0b2bb22d63105221de626c7be791fa5eab00eb4cf3005e1db -KO = 9bf64d2f5a8e68ca417bcbe7c73a4c3c151ca2b5689b0f4c15821a4299c6f23e2799c2b7503fa4f386392f71b25330d9a65db7251364bd7676b3abb3f5685fd8 - -COUNT=8 -L = 512 -KI = bfbd980cba0bf82ff957144046c70df2ef5a217e436f4584d3992b3f2803eee0d6bcfb98569226a7d3ed523a1717d682 -IVlen = 384 -IV = dce55cb91ee58482781111c6da276d170e9975839ccaf7fb483ebd8879fe2d7bab27950c1bdf149ca28acd6305db3761 -FixedInputDataByteLen = 51 -FixedInputData = c2d81eb77ada0dd164d1f9f2c443faa184bb35e0f03f90ebd388194b52f8f194b2d3d580abccecb520607287d8a040e20a4ab0 -KO = 53413a06817f15ea499618cdd92aff64c00beefe23bc591475383d8e390eb6acbb661dfacb4e057841fb9537a08ae718add5651bf132e60f89d9601c9bf05135 - -COUNT=9 -L = 512 -KI = 6f640087eba1e29ea4cb063a0a9a8a87f2318d85ac80340ab5b6a99c7b2d7491870df9c733998903223bdb2acf8ffa1b -IVlen = 384 -IV = b595ddb9cf049ad905546faa8a2f4d8121240439f94419077f5bafcced27da792b48e2b1204777a756e2246bad2eb3e6 -FixedInputDataByteLen = 51 -FixedInputData = e86ff412c3d4295c34780e5e3b6e69e4c6ae1eff3f61a5f980e4b9bf1cc9d08bfb65e674d7fd48d22ac1ec00fd71eacd8208a5 -KO = 6b6df03edcad8f7d090f524eaf2604e2f9a585c86f6137934e6d39ed202627fc4168df810bb679c24c037f38578fd1236d6489d220f10c85241dc1f8df360310 - -COUNT=10 -L = 2048 -KI = 8a3e50f2b2a72f318155d859f7f67a18bcc82e3379d9c1291fac3ae5d3a6ea3ef9046f6d3719efa74f72883ef02ad8d6 -IVlen = 384 -IV = cc3af55edd1dec33cb8d8001f3698e923b8abbade58605ada141b80f0f7b903371a8d7d94d8f3a217f1b4ff51fc168dc -FixedInputDataByteLen = 51 -FixedInputData = 88a8fb300caa07b92482bf1d6136ad131d384d78d9d69ca58c0303967a96d0b6ad5b4a13b0a10d8631d95da17faa3a981963c0 -KO = c4757d7f5a8f01402695f23b503fc068ca4bc5f6b9b263106d1f74b47d4482a4975981fc7ee4da3b717dfe774bd141a0ca1227f8fdf4ce495a82a682ba3d26d1f15a74c43f26110e6acfcfef36f99007e542ad1092353d055d5f1f911c8eb28ed8f48d03ef9c3c178c6d87b53d01e4d5da99bf32c1c423df46bd901c8825ba5ef760ae2466be016bb1a683c4a714ebfb7b86fa71c6601efec13fe3f26916fd7cffcba8a2ddd02c89c5c943ef71f6f0f6ffc34af1efb062fe1e47d5f2cef4336d9b485645eed8318da2103277718592da54ca6123fbf31d7c0596478c89a8c86a8bdb39a4decd2eecbdf41102949b22fbaeb5fd2d34ee5476379146890dae361d - -COUNT=11 -L = 2048 -KI = d1dae3d6061f2154b5bb1f7a254dda9b6efa1277246bd212ad2211711e034660bfc8946439915c800d7373d1a9ee3bf9 -IVlen = 384 -IV = 08b05819a0e86db062d2fff5119b4dc19fec1a54fa78b2c20332b0b921c3328f510e2629ffb24bcb3dbd201c17f06984 -FixedInputDataByteLen = 51 -FixedInputData = 379cd43fe6088c8064d56cbe5f99e976015a9ce27d3cd8ecac4e8bae0c3d6b2ceb23282dd94610bc9649ff78f7f15980cbb70d -KO = 1dd5d5c3d8b03db20ab17d51136add48800d7c7b75cee9b8754ca1f666dd5738a44f0534cac10ddc3279805748c5e54a6b8b9b4474d7ba6a4ef1ffef02834bfff33765811d056e8fe02894906b154e318a714752724d48d05f4805c5fb8ed24dea16652b51a263be32e3bfd32d1c240271a7a540c2c43eb7da1885d6f3d57c0e12ce73b817de33efee1f36bcc2923d561a63461a64fc9b365129d07fdcb3860b8733b04a1ff4bc2442c6715d17410458150ecdf61262ce9fcbf0fbc7d07e8d0a1305d4d028e5cc79265236b4c845595ffaee8102ec0894db62ea0a0bd61eab1aee8b89a98bf8cc99eb8f9439971af0d6610c1cf61e2577c50e367009bc0df5c5 - -COUNT=12 -L = 2048 -KI = d0a9bffc83dc702e238225baaa11ae2314fd1968e22ac49e6365d2d8cc77f28b25ffe472a70b3c6424914d347ce5d250 -IVlen = 384 -IV = 8940c1e8e351063ff9db504e55ee2744e9f27913bde1bb6e6344dc4693c7177e98b26aef96ac307fc8d3dd7164bb1d1e -FixedInputDataByteLen = 51 -FixedInputData = 963d02b634e886fb330543d2c9b109f035300347870c1b68cc8844012acfd413b844f098173e77dda8802e2912ff4a887f215b -KO = eb640bef2b08622b2ab9f261630f76d533f9d8f822256936d3efa5bc3372670c60bab09deca69bb6a32614b727d5c7797c4dee3f6246410b328a08084033de031e1c962b449e399fc458217fb7c10138e9451d30704df0addd9f8e457220a43fdc97cf4a07984a36fe19569adfa32ed7bfeea9106da07e99761ab452b2f8b4feb81dc4d2c6136ffc295929d7cb851622a235092ea6a776319565f2cfd916719da915e2adee34306d73387ad335f90cff2b7b216be03aa442a99aa91ea6c5e1ee0e509060845ea322a086e27d6a2731732afd3432731367926517cd98825ac40493ddffedf6552cc47bd334c554146afc68ed0daba834ad732dad2734036c0689 - -COUNT=13 -L = 2048 -KI = 6d71caaa6fe173b61da52f24afa5e61054c1cd641516679c4c4691c57fa7035b83f632db83a95e47c890fb46fcf23ce4 -IVlen = 384 -IV = 2de6a1128d5868c5e3589ed6e33af0e4e73b9441294f164c5411f2afce08db7e1d2731ffe417882639deca788876dd44 -FixedInputDataByteLen = 51 -FixedInputData = 1b73d8871a63000c4d3fef1c483a88ec6be914c73259d35c544955b1f5e70fb98bba09c18c9fb740ec13fb89df79dcf53b8673 -KO = 16ff27a7c053cc6e2e3060bde08d5d48e976d360af4ea6ee425e109928888437ecb044f74e313664254cfab7438497d30835bad1b470c6302762914a9251787f272275b36f30a2768d782a1ad09b5fdb6b2f49f8c38aee564e6663edfa5698c7793bba60873b9f84f2ed5f8ff43d6ae8575de5f7f11beebe1f1cc999b6757cea4f2b1c2f5426f3c30d1f806c621113811c83e8d854091ff972a1304db01c735273dfeb7c66d90e962ab4564fb3331e0d162f5725dedafc7718d9f8e5a9ad96e14fcdc3270f579175f929f489ce8512f2a576994d1bd7eb35556651c4a0eaa32400478c4d50a520a89a10d18821ea266b14125598aca9b268a6d2121041423b88 - -COUNT=14 -L = 2048 -KI = eed1dff2545cbcccedb3963410e68de82278c9bb43cc88ccb9fd8b00a23030ae3111bc3c892b507d32156f6b71c16fe4 -IVlen = 384 -IV = 7eb0f5319042c13bf425a62c94b99e39de48cc9751cf62ba352482f80204fef7ae810fa9a2bdc798a2086012fd3336f7 -FixedInputDataByteLen = 51 -FixedInputData = 1a0758f2e86eeeef53f8921edfb235719f21034f59c6e0c16b543555f040a3dfe02fc20769e778eaaff071ce0e62fa50a3bf5b -KO = 2a0a211d14635be3ec38fb56dddeee635d318baa236faeb8306d5dd484797c39f36e11fa417057a32cd2943143e3d43ff40279522f7fdb3e3dce133aa37ef9b99e6abd1fb4e4ea023d749fafe2adf1234293992944eb2999723e406f15ffd8d81bc50f1410cb813285fcb883b45313d776fb0f90f303aee35d0dbb3284790397707146106c0bf3c56b59f9b2f7fdb7198640a7f355bbbfaea148866c2ee5f7eb89f3c728104b1a755387da86bcb05559157340710aa27d78c965e4db548cbeccbe3f958a9dc1116f59f6f60472088fb4d6a91b900739d388ad202ac18a97d6fc3daa5feac05b322e799d87ecab9632ce32a628c00706dd640d363278673a7d40 - -COUNT=15 -L = 2048 -KI = 84ad4c1d47da133394be0b52bed36f4cf24955f5465a5eeb488b781863cf427ec722c338f24aec54f4292a265f1ad01f -IVlen = 384 -IV = 5e3b655b12adb417440ae05b2f3b59cf06a53c64bed7ddd848776b7dbd47c27b97f0bb23537e3d7421f8fe9d7e6476d7 -FixedInputDataByteLen = 51 -FixedInputData = d9728f1cf980bdef09735ba42d340d2edde963ee619e3dc6b02343cfad6259cda5ee907b93987647a0f20127bd4b506b4f6b33 -KO = 992f8381f25e9d5775f2f6ab413680d93e0a6bcde20cacec0529162a1fef161f3d0d6500bf76ea224a7834547cfdd83005b7eb9ee3f71fe139b9ae576c8970a3aa091fdc5d2cbed6a2b0b7d9e1df42e16d05ed44d5a330fd57104d79df04e09d14375bec89706bb2700f029d1de53d0492c5183bdf59906efcc661b1a3f5f7970fb270300174eca1db6a90d8af02d7b40a01ceb51a6624efc7fe865bf4ca37c5beac7dc2927fec0fb4b2f3381abd40fb28d204ebfa0ea30d58015d8f42b1d30d162f027f51494493e7b748a6692bfd64c9f2573f420c9cfce585906b4fea871600cec5b4e724a09b51da4bb6edfffc21acea9f52ad1669c21f36c1d03c94fcb4 - -COUNT=16 -L = 2048 -KI = 7187c0f889dce10b65c66fa4152f236daff8fb7a4bb8a45492013f134a4ea547a1bce1d8f30b94cf1951a6ba11faf345 -IVlen = 384 -IV = abbe9daafb59b0e30c4ce8139b5c81f88a516b4a2c9e128d97100d1b682a065d66cf401d749398fb8514962c6149bb44 -FixedInputDataByteLen = 51 -FixedInputData = 79ab97c41bf84210c4c5e86fc672a1e3c05ae6f5afca031d2c91aeb3ab42cfb3a89dce66d13fa740926b80023332eea4f72003 -KO = f597f1f884626211b918ab7630ea590d4ea41db160daa6cc5f27f895792d8273a7f5c5c26a58273e24ff5749a47586909780016a872c9bf2e81cbb393c1b7e0d3b5eacc9cf68fcb8e77f7cc82bc11001beef0ae8fff78166b9335df221913987dd539562b336316d698f429dc02f0600fee50afc4c064e5ede36e46fc75a89db45e049a2ced8c3235eeaeb22e95f2921aad01fef0833576623bedc739c9fd12ac22998c571117c2e61e77ef82f35cee8fb816b24d9b89f6fc3dacc616c28a3957cf53289a51b6433c9f257b8779cb80c728e0d5578993f02eb1909cfc970a502b4c941694f43b94e7da4e8ca746213ebd86e16941a3c153e9dbebe5f30d3bf8b - -COUNT=17 -L = 2048 -KI = d8400bc6c04e0ac146e882d0f18f21afe8c8bf571c0db08e2b60f72d32eafda0c9d48094a3d49dd53eb27abb562e6289 -IVlen = 384 -IV = 5f63e2409d4c99902db56dbcb430eb760e27c35423eae889064a644b242b83b74987424ecf2c8aec2dce5c16efdea2fb -FixedInputDataByteLen = 51 -FixedInputData = 5a09303043665088ffc5baf0db2a819d8cf4056fae70cd5c76beec68d921088d84ae584ed03551bea512c96218d66f6b63f70a -KO = 271818c06bcdc92a3da8cf00f19ea6066491d31592feeed7df2603cbca578d81bfe1cb61ea7152249616fe30e54cca08df5a84104ed55a6d7ce141dc29c158dc2c9d05c8b1109e0277915bf6089f101d8f378b986a3b5b773813c78b0884d66b46f007379faddb0919489000e710235ae8f42f267c0e47cfae70fd92c4b212ae38f8869bedb0599028bf9e92e35d275e8d8b6f35dd9e116d266eff7de954656ab4dbef679afced991c895252a8f78dab7fd5ed3b36983027092deb41dca86da680f50212eb2c77b1cc4139cc6fa961b6afac2be0748b58a80f8df0ebe86a6f78f5a5048c8c1195d476350281023619d25118b12ffc5cfe89bc697d0963ce9ed6 - -COUNT=18 -L = 2048 -KI = b5be167f211ce8ea5822cfe0d15b1e8f2c333989d981ee9500cae6d7db0219422c5d21fb8ee555f2ab7cdefe1fdd0a33 -IVlen = 384 -IV = 7c38fcc23f281f1f84be2019b002cde60bc7fedc935d3d84dbac13d6a913dd098c49d1fbe3075c66d10b7738434e43f6 -FixedInputDataByteLen = 51 -FixedInputData = c33c71866fbbf33fa11748fb688cdec8c43d1cd27c386cb2a327ef94c8957de132378a23aa62a0ea085808955c239804f0ac7b -KO = ebdf05357c670f59ee1fc706d5c0dec90c659ad3abdf176f625d81d5e854f4090fba4660de2b00b8d0dec742fefaccb198cd220c6ee0f188b71a7debfe25d2dfe4a4028ac6894ec10ca1afb0746a5b67bf6cc9995378ead5b31cb7ed439b200e99d6bc351ced9a935060fb3ac573307fbc5f20c7796391ef05b2168757ceec04360e58ca087f124150832e93d4042a340e0270749be75306426a73c87ca0765e95cbc9879272bc349478984571b7fb8a189caa133b5650ece39dc30bb2c412a6ff5c3180f4169e038872840729a9df783e3a058dafe266c81dc4ea282d16547cdd965c4b8e14b0246699305aaba3d1dcc7161dd1c307774ea59b2aefe042b07c - -COUNT=19 -L = 2048 -KI = a28962f4b676e6426d1e4f390bec114e0d60f0a730920d68b1c6dfd68fd214576ab9f0d13bcac12ab34c4bfda0472fb4 -IVlen = 384 -IV = 66a0418dfeb5afe2fe4a658334292c06dc5c23f1ba3091998f5649f5d4fa21c04198f7cca2eff839fac0d964bb723711 -FixedInputDataByteLen = 51 -FixedInputData = ee5446f706976fd53db09580e3695e782399a6dbf5ed77fd0cc37e254649e3007fea5d2b846d65fba6e5a0b4dc0072e6838be3 -KO = cdf7dc3390af16411754c0ad6af70c1d44fa2acfd71607f65617371d43e3d4fbb8be201c6e6ab41443532602bc36bc9e0fc9e0f8e1f86917ad0d3e9586ea5739f3511bf039d64488e254eabefdb5a8c045ca76486e05648d9b346dad754bfb188e7d8e44ba27e8d4c96b5bd1810f2835cf0f58afecd3c263775a8d3c9a9909728d24ad1b167fef020d2c404854449215c813749712682271b1070794ff25c723c17825f4e36ed36ceed0a5bf58d4c70a525f37ac1f154c49728a98a4e260bc0926042587ec1083898850a85adc51a3e4f893e8826acd47f2072d8538f4818d391039449519a8aa7fa3771f3494139a033132c72913ddb519d69b2f079bc9e9d5 - -COUNT=20 -L = 560 -KI = 919f7df9cbe9f1c0b5b842b89fee941297f60df06be31add28f4b350c77a7adfd1c39a9a2d6afdcc3359125ab75fee56 -IVlen = 384 -IV = f610e15aecfe02dfddfccacffb1920a607797b07dea46ce56226027c4f5963f5fc5019ae36c528692a63c489d73e0206 -FixedInputDataByteLen = 51 -FixedInputData = d01fe31bf73a994c370c8f28a247bb0dd955de40033c06e9b59876b43061cb9b7a306176a35d93c126d550fc46e59f95dd2c12 -KO = a2ba8ee968fd5ac83066658c2a22eef8fa9c4b60f4741a5223aad565cde8593f1703ed5336cbc8d707d9b017e3d5af10e70f57afa53dd9f3323618af8be50ee5eb6fa00582a1 - -COUNT=21 -L = 560 -KI = eb354cb30ff5560ccddd2e01d3f07f310a80abbb9c65bfc4e9ad1cc2fc9a221170073ef3bc64520b4ef80bfaac5f39d6 -IVlen = 384 -IV = 89552bd4fd808bfd76242d4f8c3fd589123bf937e5b4b41bd7c14839233a1ca648b6dd2fca14176bb81e094b5652f3b0 -FixedInputDataByteLen = 51 -FixedInputData = 6cf8bd7b59bbedfd19777fc6797c05f8fb5f0278ec73514afd9a6b30985753b2711a9f950faaa3aa8a279d91c120dd81fba490 -KO = 7376a4cf8dcce53fb533d0442b5da69b4ea78df2497adc0d952ff0518afd70f725cb16f962e3fa477d21121c7bd154901964e1db24aee813edae369c9282c18658bcd3d60af5 - -COUNT=22 -L = 560 -KI = 9fd438ebc6418bdfdf85e88384d99b406ed40eda611be0cc2e776128fa78412084ffebf2d84ed16561ed9d0b56069dfa -IVlen = 384 -IV = d8a49670e59e8817559b49fbce478cfcf3bec81b0f8ad19fa90aa3624cfcee5eb552cd517b6e4cad191b2409230de65e -FixedInputDataByteLen = 51 -FixedInputData = 3609e96d65d42a2a56393b51116464d6a77a64164b096eaf2d2836ffd777e6e5f7b7acc80be24feec929e29a1b438b02fd3d12 -KO = db17bb4829dcef63c3d2c835a0b2a3c5604a2ffefdf6be8f006ed0f0c8711b3e08156092d240fb54030517d9ab1d618fb1e74ee9ddb15e90e36f585dffa1cdae792821e9a755 - -COUNT=23 -L = 560 -KI = 675abd5166b4b435234d17986ae35bf6b3c9475b9fac7e820c907c62a1e3e9a0166f05e35d43a5ef769ba037930db621 -IVlen = 384 -IV = 1bee4bb933b018282c1a6b6a139a0c2480a4ba41a36416bacd7ff6ade0ee6fd938c732badba6d58831259ce6e7467e0b -FixedInputDataByteLen = 51 -FixedInputData = 3ff252e060fdc7b09ca33c3add5cfa613998d6c40dd7400f9bb72bcdb30c7d56d9b73372b55012f4c7f951c49d4ae759fbc4ba -KO = eb4a9b6d503192c9a1a5b388cbe4d315f9ebcff8313f53baa40469a30f79027b3641da26ec75afa14eedc6992086829d8d92d2c26f3e57a2ed53ea08501feb6f88cb8323bb91 - -COUNT=24 -L = 560 -KI = efcd1ce5c65d2b7e0a291fde8d3f78fea6130b4f69413de905e7ec7fdd7d291c10b72ce4fd0642d45989fe134bdd3c7e -IVlen = 384 -IV = 7a60840bcef4ee38aa417e81d4d7dc7164d4c0ec4fd4e2f712ec1ca65868360e29340a29b45321dad15f29fa9e91ceef -FixedInputDataByteLen = 51 -FixedInputData = fd3ed655ea9b59595391391330681d26123c25e60161c65dfd1a435f952186413a8f7b80b9df26e45e3da97076909fd3025fc6 -KO = b7ca1dc330c940844d754377039825c6fc2ad0d34c2cc2b4a45b0978a39c72ddc4e20559d846f575c1e41cbe3cdbd30b5631f995b9b290bf241c0e559b5b42e82612393e6292 - -COUNT=25 -L = 560 -KI = 6ec3a47a86fc69e4d129450168c2f12d7e6cd1331ee016fdc4ea8f34ef60b8151a0d8cb4de86f3a1c94d30d31af7ef3e -IVlen = 384 -IV = ca62227a410eb49350113c2734e6244de42c860247f1e1288379e0b06809901d797a8916dd7b5e2c4897581dddda06d1 -FixedInputDataByteLen = 51 -FixedInputData = 52b828a88cbc9e963fea3f1c29333fbb367787031deeff383bf71a60890729057d75c20959bbcd909d79dbb09099312931633b -KO = d6de59c7cff2d1cfe971d836a3d0148f14cfc53148b517bfda746bab290a0e66534143fa21eff913b2577d1ec9476f416866ad711306a97758f8430917739d7e5604de712a8d - -COUNT=26 -L = 560 -KI = 299663b2617ba354696249dda9fbd1cfadfc37ff66a767b1bea8e44fb18501dd1ef77a9d1c45ae2fb12e9c7b9ebebfa7 -IVlen = 384 -IV = f33acb042eada047909602fca260fabe6b6112baff177528b5acfe90a261620076b5be9dc480dffacae12a504dd2512d -FixedInputDataByteLen = 51 -FixedInputData = b1c29b7bd28e05728c68bf17978a4bea017c54e905a667a163bd8ddbd4e965044758d3e7da4f98da09e9c9cde61fd1b2700209 -KO = db435b996f327898c575c41b0be4747f7f8185505cd47ce3e713ff14e3abf7b05bb35088f75afe92bafb602cd4260041e21ff9c3cfb521a0175e50cbee6537d4321a055ae542 - -COUNT=27 -L = 560 -KI = 1bdb8b23254ae16712b98d57d82888d15ae0c01f80a1a3bbd3fcf2c238677f82c2bd70efbc627cce4fa97eb1fdbe0130 -IVlen = 384 -IV = 3c6aaab6509dd49c1cf752fe9b6f426ccb0ff28dd12d73530b55ad57a0c449265b120defc9470193bc4ae31536191374 -FixedInputDataByteLen = 51 -FixedInputData = a56df9d56ddda3890c0f33e0526e88b4d27a69d789f783dfa88b5e9d2be7194cddbd040fc319f3bf41df961884169ca11c0e78 -KO = e8ef8b43320b53a459abfd4fda3a2198ce98ddac56a6c2126eb5ca12a4f01a9f8b3e898a3b49b48b07849f67897ff978230400b5e16fb70e7f208ff13dc078fe24a6b2c83995 - -COUNT=28 -L = 560 -KI = 8472c1eb128206ca36c87091a883f318a35ecb82003784707cc1084174618cd4df672867ab3949cca29ade52ab62e6ae -IVlen = 384 -IV = f9460dd60aef2b5bd0543dcc8d7797e17bd7bbe7c8c5ea1a44a5a07162edfb0ab7eddd7227155735489d941deb6808d0 -FixedInputDataByteLen = 51 -FixedInputData = d2d142940e89b93a70236e34fadebe3a2b68ee1dcfa54a2c288072e65e7613b2060a02bc8664973a1ea570a6c4325e2588e622 -KO = 107089917dea36f289632371e4e0ad9310047083b21ca9bd512c21b3cf5a568e0dd1fe3650ca5fd4351392516a40c87fbd814ab9cb185b441905b579872927cb4b7bc2fbc35c - -COUNT=29 -L = 560 -KI = 0e0b0b01caa44d079494fb13c55337bce6a5d4da4953d4f99292530bb278f6491d5f32f741b599a66c6d1a4e848bc2cc -IVlen = 384 -IV = a7d37d7d5a2c4af2c0255b7b941841ea235713a6c491ba040e98ac9e36e0a323eef71f56de786ba4b05f52d0dcf6c3ed -FixedInputDataByteLen = 51 -FixedInputData = 5a41001f3d37dfabd499bca9f4e5d9bab1fb9b3e8f1eaf62b4d4f0fe838bb41c799d3bab6d6f2881a9b5e4a61eadba4abef462 -KO = 2ec83e2c3853951e3f0c3403c72d7c577a80325cef7750688a22d8f9a89017da5a8eb11120038ede23656d5245c23429d17bea88854396cab9f89dfa8eaa9da47225236ce348 - -COUNT=30 -L = 2400 -KI = 7ff23675675f3a59db8a899625858744d0c9eeb929e70a8652e8f810f23b503ebce7b27e10ec2387e53f12331e72ebe0 -IVlen = 384 -IV = cd9fd48bb0108f426f7a3a85bf6b86d7ee05177aba0dceb854d1dc2b12c1630f658a590549d278c2ef38b42504c8792e -FixedInputDataByteLen = 51 -FixedInputData = 78864f0d3d82db3d7392fcac43943c0874bb70ea7407e0b252238193d9acf8b3ad282bb5d0cdbd90b1738b7cebd106bdbe06e9 -KO = 89d77fcb799a732077f0dbc8b343e96dc9194ed112819f0e39328e4e4dc78ee869680def70d992a5cb6b3801d949018c7235fa6185f65ed8b4c520e90ac8ebbc0e29401ea9976315c92085e16b88f3d04287d99eda1e8f847c6dc7f24c795e1687b2f0c982f1e172aafa3541dc06f1cdd17e5d51d8bcd0ebc09b5fd6dd728c6cf9439696d9580ef56759cd24f5d443b54c83000ffc072ca382430970c6d4768282b03c93eb6a1e6c4fcfe181680a7df1bb904bc8371277dd03cc19f8f91d8f770056d128ff6d70b3158501fb8df066310d7887d9c03fa51a36bef75fdf42ca5bb0c83ccf2898a890acf10e35d893e3c7dea412e91bd8ee178fe535f3978f7a27e562443bf0e75c728467c392138887e40b78f28506bcb602ff215ca08cf70301aeef9635dfa3d58f6dc9581e - -COUNT=31 -L = 2400 -KI = d903752da05afba073a47b82aa8ad3056926088b0529ea38a81d5b56b5ab4c10cd3a8ee3d708ed3618fa504063aac822 -IVlen = 384 -IV = 163bb704575345aa1798ceaad1dd133db031b6664def34d8407c6ddc054daf28bf6c71aaf05d605e9cc44671949b43cb -FixedInputDataByteLen = 51 -FixedInputData = 0fe004bc44a2fc3639841346c65b31f52c641bdab47fd158fd035dba03e79d8f8b8d31264bbd7c26793d69b6993a9063576f1e -KO = 61a2788a0a440b7f9a3db723ca9c08956ea18414bc6dd4245cb0dd851f95c908a9404ceaf5407a18a2bfdb7ba9bc012153a4097161df08aa02694c0dc4520aada07d528e234037d303f95d791bf2f07469bea84d721be6827040d6310bea0a5b7b0a3e1acfdef82916809f0077a694bc6f6c3c2cdea41cd229bccc2a83e527d4dd0b2883551997d22547c435b3efe76d081627e9c2aef23bba74ffbdee9e0979110e9442911e246cbde4efe7e93d9a1ce7ded12e1791ad354ad33e9ec1d18ad3fecfbcad50a2dcc16cb2f7ed8f8f996581dc9b6bba0143e8849524d035c00aefa9d047607f115d8e0e38517280bb1e4c64bac4a57c726f84bea24ebed74e98546910960471159f8d6deb6eacfac584f0894e4ca6abda5a7f672332847dc0bdd95d5022178b34c24224e6f6f3 - -COUNT=32 -L = 2400 -KI = 0c11aeecd7ddba134b3da564996ee28b6927232d317dd5f023585d601328085f6983c31312aea0d7416601650435fa79 -IVlen = 384 -IV = c38193d3b420729ad955ac9bcc05f0d204434f1470f44b521459771659fcb9c87f078523030f5278f970c1dfdceb5eb8 -FixedInputDataByteLen = 51 -FixedInputData = cc1ae9489cb7bdb6b8e03081dcc51ea93f5275d09fa48313fc58b393ba9d9f2c8d2d52feac4b8a645ef9b12fe7c70f616e71c6 -KO = bb947068c8b66b9beeb278e9fafe2dfe62c4851be724036064862e0a07bc9e7c7f2f3d22b524968d8c13130ab9bdb0bf58573e538d7c43ab11be6125cf5b5f5373779806f5e78d212227484cf0e478faa086c199a4e53aefbb557387cdef9c0ff57f652e76a35b50b7a84cfd4da3b4c03b2296a27d001891070e95a9bd2dd9b2b4c28ec7ab473e46e11e6982a092a4f2c0027256b891622cb4e3a87b4de4dba57e52d0674fada708894fd80b50a9043743cb3a11948faf9f3f8bb46f2ac4c84e82edd56fa4056f1bd296581b2e50c787ab1414598c7213644b93fe5101597ea257629a0fc5c132bbaa18ad5492c739973fb5fb1f9d38c40978c2de57723d2b9a4d5bd21ef10bf07f8ae785d956732a33293e55aab7695100c569f85a85ecdca32098b758ef5eb01aa24e9ed7 - -COUNT=33 -L = 2400 -KI = 7978f5661e0b13d9c22b3a294d7113c9300757c7d7623da0a726e54aee19092a15010c5e817bbf4a44ecbd2e1cddcc01 -IVlen = 384 -IV = f7ba58b875c7c73035c822d8a98a51588f3a74c3c0025088ad93361bcd6cc44e6d0a0b06fbaed65f7e16eded9d5cce19 -FixedInputDataByteLen = 51 -FixedInputData = f1f3aa04a9237a19d48d56112a350eae28db34e9cbe24a883884b57b934caafe1131f0e88f6be1e2423c1511e392b9ffdf4f34 -KO = 742ecd2cd76ced7aff8b9bf213e52338d7602bd9ef0306104b93bf809dba282e473a9e409de904060741a99a00956d89b92ba609faaff59b55ed593c01a9d1e4e39cd8fc16ebef5da07c6783c704fd2e4f7d5175538669e38ed0423cafd2a01065830844b7ada16c98489396233124c119555d6d8a690896e3a241b251db5bc88dc897deb15286e61c8b6216abf3a528eaa4458991de223aab2895c3951b6cf2f05021a79574a6ac569ab6866aa921ad438d2a31f1bd4ecf2cae53c51bf0d0ff50f3cadaff880f5dff0fb7f019d6ff74d7ae089a929bbeb1bb279d629d9926c3111f1c8255a09b90bcd067bcf11a79fc4c6d597d93156a9388d0079f69cbc8d884a832d9976690fcff61fd47ea795c059ac3d3a69540589ffa5831fd723d00fd787e698ad761fd7b0e891813 - -COUNT=34 -L = 2400 -KI = 5fc191339c9d41eac944cf0d7fca4279a8f5a9c4db389a8655c6e9883c7f56658ba89a5523658ed24bed57f2aa0504b5 -IVlen = 384 -IV = a5bf3f5e0cd3155439262526acabff8482b5e82cc3da5a528bd8950e6fa53840001ab1a42858ed6a1244cf9988d0db76 -FixedInputDataByteLen = 51 -FixedInputData = b9678d03a0df10c5900baf32c86bd5f2ac237ee9386143d5db1008ac238d3c4681206e6b85b08253faddd8f7d3ddab2a0e3e30 -KO = 8c4e5a2f592954ff317ccc5392d4941090261a59229bed9865b9a914edbf184ca9de3804eceb9ea38e7f36396f9ea0f8c0e577e750392ed2242bf8a10b262813517fc9da58eca6e4194811f3132962f96ea071f500e1cfa614b9b1b7f6891adfa74ce4f439056c4b7d01e743a6a605362fa0bb2b1a0bad844a2d187ddc9999c21ac6d9ece8aa1a76f05b888b3537ddd5a038c85d1cf3557251dba1cc15bb26bea3bf853d067e350e7cf400bd41707e2fca72762fe9f459c988c05a559b5c8b5b8be077cd619a2fdc6f6ef171cc284ab784392b9ab55e9890195b74ba19b11fce884666bc815ee48a64ce4067b56e56a6c57c7757373280bc5ed17d7604f3476df834e2a67419f0fc18d4ff1f8c73abc5dfcc11be29353b97ce3b9e79a581fcf5e4c274dedd0ac90e0ab7e52d - -COUNT=35 -L = 2400 -KI = 88730d22e7e8cb7b51ae5154f7301a14857375801332e5588ff8745bd52068694b4e14262bcfb290dd81840c3f2363da -IVlen = 384 -IV = 908de63d69b4cd126aa0248b827f922a11b89ae929d1a4e1319e0fac4330d2431db63eee6650b68712f5376f49860f07 -FixedInputDataByteLen = 51 -FixedInputData = f0cf9905e8accf2f3ff774c9994ab1aff79619a6c173bda17fae39b773101ff97bc4d58e662d9777d0919ed9a4184d7d7a3717 -KO = 6fb8d57b932fa2fe105d26bfa8a7901fb43c204844f83c484104ab95fe7aa42f141234a4e0fd32f69300738b4ef9aa5084db51666a4f323ae264567b5887a172eb3429a8ab3a4a36f3e4394bf0c6a7d0e87b923854107e03914d74cc8bd74367c86a2204add8f027e192a75294e90e29f76a7dd227f363ab8864f397472889d7803f0f1be367a444e3d55d507d1eff3ecd82ad6ffc466c84d4a6052e700589beddc26eb04fd8ed17cd89aa07f7ca5d07f37a1bbc7e92a4eefd4f87126ac6770d462d0b07932c64567ab801f422b547637dceba2db5a44964b4572ac74891e0c7158b9a085041568692518caa4da2f27d245531e39eb8bd653c60f5c909643c3fe6318546613bdb0b04ec1cf0566656333c2e819f1cab5db2223084df5c27d4df893c19528caf70245f4f5f8a - -COUNT=36 -L = 2400 -KI = 1b50b519a3f41b90de20d4928a296f1f33dbc47bfd27c76178cd430779eabcc3919bcfc536be810157b89c02f383c88c -IVlen = 384 -IV = cea332c90a3579b53ebfc2b4817b4dce13b49697b44fdb436a74c66d82c46edc7e5dd5e829efa98581301c06774fa784 -FixedInputDataByteLen = 51 -FixedInputData = 72bacf38313b7439026e8421b40f2d06d44aec76172543381253d8df0dfbe0a95c96366bf65c6abc593493b9734db6571e7f85 -KO = 8cbc379e9a551f0c52e08e81138eb718fdd09f6a7c16c5092ec7f0031a98cbe1bf5e7590dab12e8eb24650b90b433862c2cfef73b1933303b83a8a170c50684ceb1e68bf581c15faa330309ef912289e231c101ea5c6933545103b7031976e527a5d3491e3c3212664202690b7f3065170f1366a7afe0ec1b34be7eeab7a633932c6f39f4d8c7673ac4a62e727fa5dd63f7077e9c5560b86cfe40da74689a140269248ba5086c3cdcbb1235de4c08929102ad557ca6b96602096fcfd24b9bfcc63f9b23c76dcd19261607c0464536765787d54514a49ad69f2e545c21ff0003a1bf12323f8dc54d3cd60ea027dbb2f9706b0d81dafa87091d32d29c03a34f3b85d51a857be18cc5ae1c433cb4f7d91a5863d87ad885d92c17cf3ab204cc7047316fba5841cb5dbdfdfd59fcc - -COUNT=37 -L = 2400 -KI = 0ba98c3fc14e0daa6a7b4335ab42b5553018e6cdc4d8d60ad4f92f10a5d8b4c022dc880d0368ccabcc7b538d066caa3b -IVlen = 384 -IV = 0d1866bb7d637b6b7b87bfc758d845fa87f2070df3dd05cbdbf0ea4ecb0913547bcab3cc554ea69b596f2a862c4e9a92 -FixedInputDataByteLen = 51 -FixedInputData = 46f98717fa1a1735e7a7975b4d95653f97331c13bc533bc76f235655f13379e6cc66e9427d38985012e71013a2e8dbf45fbff7 -KO = 39258f38941059586b81ea5bb889a95a4d0af2248cf7c2ee704e9403653e4cd77526b887f9c62053f06d23265bd4035552be7da0e0aa6282182478b782eec8495afe08c71272c7860b557e8cb55a6343f54da1617d053613a620c28b6b8527dca9bbe790076659d4519b569db473e37d2ab63a7c746adab8d05428ae44f1d96451eb80ff79a322be5db120e3ac72dd388ca8b70259a32158aea9bafe0341d239e6be8e4ec302b656632acebae8d0d58735b4fa2bcec8927925cd6f5888301a5bccf6bc3081e91e8aa5c439a56ea9cc484d56340d10d1af27e66d6a731b64c1fce557575aafc5e3d0b8d7b9b9023c66a005083543335bda6ba85fa26a424e687b69df807278192e5d6ccd2fbbabcdbcaaa2a345ed045eea2e307e5546aa8a6a171d5f66d113003d3322659dd8 - -COUNT=38 -L = 2400 -KI = f249752ae651b6cddbd4055237ad93951b731d9602a852e1d1e15845fc9232e08a9e8f0cbe3ff1358fa6e683f2c14e76 -IVlen = 384 -IV = 7fd41ffc994973768a5313f8119200381068bf9faaa85495580871728c22842fab49033de123c39a25b056e8d0a13f42 -FixedInputDataByteLen = 51 -FixedInputData = 8bd99376f1e84802fcdd415172dc5be2a106b92955f84493722cc2d86558733a5391a91f981b17f80b3a62c195c38697cdde0a -KO = a4501b6ce642885a1698ebd293cca1ff0cdf542685783b268b3e302191622156c43259e503e3866f1f546ccb029a116b7c8d81e99f22fcb78c527477eb2d71e77ebf0b42c413d31bb8dd6f9ef05eced1f992e1863219bf84f7c5358da7cb9d871ca69eacfdb97651fc7bac07b83c3c12822792d4384064872e72e639c0553aab439207cd2b03b2f48de422231f1bbc00b16831dc60406aa68f36efe6b372bad552ea1da1335dab6d78e1f14b2ca36056119649c006daeb9b82c36df60e937ce1aa3c53a6aa4267953bfa1a02a5cf28cfa175862c47f6f4b52e54809414dba267f7e82184790d077bdcaa40be9f98300b677b82149d86f4c2c085af65fd3aba22ec2bdb75100b12d375ba02d8559b565d7fae98b551fe1610d06fd83214a11cbbb2a9a76ce776f86a3389508f - -COUNT=39 -L = 2400 -KI = 41b2ebbd206cd9bc763473437736daac1330d5c7df54fc2458f1a691a7ef08c1a0ad1f18b42a633add288f6672f6bf07 -IVlen = 384 -IV = ff5a707c6d5b04de2340966a2e75f4ca1b8a19095bdcbe49136e5f50a4681e7d99cebd8b39fa5e4123b217281d82bfef -FixedInputDataByteLen = 51 -FixedInputData = 872656d5da5de6980be2769e3fd1f99f4e8b87edd6252f2e5aeb9b25d862db591a414fc1f87a334bc26c5896c758504ebca24c -KO = b8e21fb0a6abfd3011c473ee7966b5ca7f0c50869c26c21698e197e445ed8c76b57b1c5835d40640fefafb51cfb46050f3b761d1462ce057bf42d971a5c860d528b5b7e30e7bf648e1246d8c2041929ece1b51b62872f0ed9694ccf9cd7dab50916f913acee2888e2530ccb834bee16e2259b341f888c0f58942108900819f7a85696125fa6ab02148b9497af2413a3f315dead936c8396e67a251af37b5065a87f2ad0b22654477e6a74e405b98eea72c481d5b5956100c2797542d048c041e7146baf54d8449ed7269e25aad626821ab0e99a65fb36c2cd45cf9f7228fcd985e7a670b876e1987b1b97a02e876bb5b2dc53ef1407633c39e34877d22f4b21c93696b4462a30bfbfd7176d68d523095f582c4266fa6cc9fdcb86798c10e2ee4368c970e31a31186306ee513 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 3af85b0b26b1ccbda9bb36522aec9d8ebf4d232502a106a5a7a4efcd704a09a1f42aedcd021fa23137ea394cb2264ed9 -IVlen = 384 -IV = bca201efc5c6bc6d236592d5bd571c0dc336c4b25794ef313fda7fa956b863b5153c2c282b8f219b895bea39e0e1b9f7 -FixedInputDataByteLen = 51 -FixedInputData = 61b71ee60c7fd1c0d13b8fd9ac611052a9d9e9f9d8a3b1b02964c9b2d032ff9e1ddac8fbca3fe10014b379167743e7e3694f84 -KO = d903525f1c22aee058aa646827189fc6de4d455c598eb00d95b6fdf967b4959845826521d3c73cdd0f440ea31163a91858e946c9e100064592739e5557eb31a9 - -COUNT=1 -L = 512 -KI = d7b176b5da2c1f86d7963d6817759bd7280e2b34b6e4e43401d3c157526e51b9d5ad97bfe5323c303a593fa743f06940 -IVlen = 384 -IV = 862830357d3b0dc717ce727ffa871d4de5d415aeb03dd90bf779ceaccd80d8913f8b488bdac2fd681f2b4e7044e57bb1 -FixedInputDataByteLen = 51 -FixedInputData = 0c746018b46dd0e61dee9ae31be0f85e42b5b279972d03a7373ed3cfd67338eb4280ec8bebc85a537c6212861a776da1d43b99 -KO = 057de386311b4fafe63ac456cda4df85e4962aca1b0a517f8a1b03e600e802e7e529290503ea9f98d374543dc9ca834486047d707956a541569a079f2343a2f7 - -COUNT=2 -L = 512 -KI = e1a75b1dc05a7cb867005a8c7197308ac1d1a9ed431a0cd1086b7b1ac97e8a753494bc0cca180dee205be091e208c206 -IVlen = 384 -IV = 5ce94b8905847eb11508186429f92acfbd73747e327b086ffb105c5be84b5c864618590c364a2798e00f501fda70e8e6 -FixedInputDataByteLen = 51 -FixedInputData = 46bd75de3aac626d8e2d2b81b2c5c4ddaa436622ccdb28532908c2937efe03932c4d716460111da90fc7fa7011cd05f6b8c6c3 -KO = 1f78c49f92cf886da5de49af0e8c989d5b764ec53d26a438a041598aac95d1d7c7c50a208e46ba4dbdb9f99a9a84ce0e31fc0ea095483c5425904e9e5ea142ba - -COUNT=3 -L = 512 -KI = 503836f09a69e327ac623d7872500a360d011ac0026c24024cf176d0ed42a00420851485a076b2b4d54f0a66293fe237 -IVlen = 384 -IV = 2d28e2a48c897c40834a86329fb4678a1e4fb05431c094aa1116a1dcaaf2c46751128828e48bcc3fc02d98618d57b1b6 -FixedInputDataByteLen = 51 -FixedInputData = d048c6a815a2c851cb1d26446506685070ca88f0628a6e29d11049f4137fd321bd842e189e4cc23a27e0691ef2331e3df283f1 -KO = c333d1ddf14530e1b3db81255b2bbf34ef512e7ead2b40760acf82cd5e6ff6cf2543a0cd7ab1a5a764a3b5b9d22465d1fcee9560ebfbaf9197b4347572396ac9 - -COUNT=4 -L = 512 -KI = f498c6e7b19c6d059ffa282c0ca60568eeb5f76055c04a100bac96c19d44c9c9f2120cdcbb98befd6173ec701dfb75a5 -IVlen = 384 -IV = f304798c2f8f5f34b711361ec8caafbcd7657f978fbade2a4c1fe53db0cc6ca5ab30f7fd4996881ef50d4eb17f0eaad3 -FixedInputDataByteLen = 51 -FixedInputData = d120f921d97fda15b9680be4d4ab2ece0b9724e5c329fcbc42fbf94f3cac2d535c39d3dcebd3b2f9e8890f622ee02a549eed37 -KO = 70244c0667828bf32d01df8e88f9190d40a31a3c2307632cd4babbddea9db04ca2b4d3d0025d227792ac46f9af705ca3bd785c298e93cb8e605e4d4e43aab79d - -COUNT=5 -L = 512 -KI = bf0ead781df28bdcf9653b592c63f07bb96ba957ab1943e296648f4762b4e1d6ffd2ef9e91046489e380a75f88db88aa -IVlen = 384 -IV = 3c19b8eccdf989aa53710af6139e32330acddd22730b2305c9d2e2fc0bf5a3be6a7725a623d6043e19b67379313f9dcb -FixedInputDataByteLen = 51 -FixedInputData = 3c5dde759cd0aee9731555fb77ac5956fd59fd2760bab384a4e1c00c8afc9b348c2e185e4cc971d753e975a19c941658255f82 -KO = 386db710d04bb5acf594d0e14e227f8c24fd2b34609f9a3c1459fc9bc3911bd4d0958d2aaef14797bb2de1c5f6bf95bfc730a5cfdcac0db29f893ce501fa79dd - -COUNT=6 -L = 512 -KI = fe42f8c537c0f5979048e1362aae9effa6106f23704de70279d3a44081a4ec4ef3ab345a8d2af6d522f33c04ecdb1978 -IVlen = 384 -IV = da85b822e8c6702f1c9fa6674e0cb52841c0954febebab55f0c18c44912d42efbec741f2e2612702856f439f64b509c0 -FixedInputDataByteLen = 51 -FixedInputData = 55faa6bbc6397f99759e203a6dcb93054f616da5a9272189b2e2469fe8d8c0480e895e0dabfd2cafa8cdae660b321290b7b393 -KO = 85f864dddb1eefcb829524c69c42b65c3d54e9d66396bed706a1839b2aa3b6552a909b7f449fa774c28661e14beb00d5657529d131aaecb751a6f0c6e4910532 - -COUNT=7 -L = 512 -KI = 2458c820231022db83e4ca5964d8d7767c8b778ce095dc7f96d24827a9c058fe5128c3adc28180fa80bdab524a7d89e2 -IVlen = 384 -IV = dcb1a5e542048a865eaf6f9d5c47f91815a00c9833db8f65aa83aa1479e97aa6eb95fd3700843d3c3dd64471c1934ca1 -FixedInputDataByteLen = 51 -FixedInputData = edaa1207938ad45f442a1f1836ef83b08b4297eaf8a603aa14bd7bceba5a3af818c2fb65d3ae862752c4ef7e1f970fd4c9c9fa -KO = 18d412e7f388e1dd475861defbf2a6acbbd175dfc58ee41d9c81929d564cfc23c8e9ac7a7b46cd4bd074d89d0e59be376922d5dc86975f67e8cdbe0cb2ac1eaf - -COUNT=8 -L = 512 -KI = 24defabe1b1e63ff0e18872b508b7ee2aea85227b3b85ca15cfb540fada0c743e6feb7d5298aa68050ba01b764da24e1 -IVlen = 384 -IV = 8a81626f236188533a6da66c2edf0212c8386a4eff544f333446e71c1b4e9ff60c1bbd368f948b5a3b18153dbd18788a -FixedInputDataByteLen = 51 -FixedInputData = 751207302dc587d94e607a5de9e1112dce3ed71766df030f4d249fecf6541b67443aeb2e972e2c23cbf2a4720be6f6198c6cec -KO = 191ab3710e5bc365109078acacbc69823b16b6c2f734c900049ee8e8621adb1e52b94bbe300c80838248510cc99b28e07cb38b8413581c0fbafa0e401cafb3d3 - -COUNT=9 -L = 512 -KI = dc6753df71de16861de85f43a3695555cf3d16957c8e63a8a2d0b3ca9623968b8c133b807de50f0d98a547e253585f61 -IVlen = 384 -IV = e7fc89f71e2c62e552502b9135b3c1696e3c35c6f5cf872fe1c19cc37bbf2777b9e8a063dd0094ada4bfc77860e7abdc -FixedInputDataByteLen = 51 -FixedInputData = c80e3dd9152ebc14058c77cda0a02bf952f4dc98442145f1f00d918c5041386dc2a24829386d318638fd660fbfca8312fe6fe2 -KO = 30eb0f9d058ba52edf83c7de1f16eb42055d7ec63f6ce923cba18d3246e78ea190c629bf9c9fd82b41c8842c092dc24ac44c63c173006ee3bf656b1be218de52 - -COUNT=10 -L = 2048 -KI = f6d7152dc5d767b7ce0179c003ed6a17e672faa3591ef5d3e50cbbf1fd0a929a7f1e28c798db0b675b58238434b6fa70 -IVlen = 384 -IV = ac777a5acb0f496f105549102e22078a9aa0c904660020190d91a76940eb12ab4a0c14d76b6fc45ff5743bcce42927c5 -FixedInputDataByteLen = 51 -FixedInputData = 5f57a3f6a3c5337a6d0bbd87aa1af0e00a13d6ee189b552a5fac3e14c384ae6c94355d1b07eb2b980f05693ac9205771936286 -KO = 5175a8eda6099161c8e3ac4d143a32040284dad5c75233cee9991caa9beaf3b5f9d0510ad5e88a46cf0ef0e6f6c0888626f61337a8f2876728410a6b9aeb0e89634edf0cbcf4bfdddadc9e3f8720c544dd7c23132d2526ea644c72272dbb08cfcf4529473340ea4a396da7c3a8f4fe2e9faabecea6f66f993d26511920e9fa9843ceb1a9a2e77ae885be495f03537479cea3d87fa5f26e7f5fc8697b8a5522788ad1053e95b7203b942070cc4998cebca5a8b016aa09f4a6ea5c5ecb641ea484be58e3a2ed44af8048d3dedd9c59f5ab656da79eba135dce74402a02dd00ca5bd905ee9105e7c1dffa754d13fbedca9d654d5d2f1a3b64e37ecaf7a6d0c71787 - -COUNT=11 -L = 2048 -KI = c48b1293a2fa14000417688f5f3a5902b10c9852eb109a43f76c5e35d022c883e6ace585c836f31ecc33b57bf190e501 -IVlen = 384 -IV = c0567553b3bcecb8d857935281480c116e6f9daa0a5072816cb8d0623da26ce077ed2d0960ba6d0539b09717263f6bb3 -FixedInputDataByteLen = 51 -FixedInputData = c14585e3f6bb8eef2e32dcabff2b44cca30085a3cd80cd826e62b5511bc228a34cee648d6043e16e0590b92e2327a0ebdb2d6c -KO = ddf001eed66fee81f10d1281cfd2f2cb58d3c6fd85296373dc087c4d98b3eca25b4cc6c515cd1979a86a61153baabcc6ed05093ee0c92d0d2a57734e0ee895a0eb7f3242725ab78d1b68e259433e8cfd2ef10447c7a71f9c7c446c4c33a76a4b05261f27957d59f6ddfefe55e67488389a55cd52b1cd38e07edb2d01bac7a15f9ecf5c7f8f1c68bdeb780cafd5cbe81bba6e6f7a96e12b17c1e6da87d61ce3ce6930ab28db122064ded3fdad118bb96a832fcbabef8281a9c0869df5ccdb47a757ad6bb8530b2873416ed50a0fd7eaaad3235f3e3ed7cfb3f486c99707315638a13e8142abc5bc2d2e6e3a9d65767318018b87bfb1684dee4fabcffbd12948ac - -COUNT=12 -L = 2048 -KI = c54b769990ffef13dc59c9d533de919c18e659f97e491c4e411e8051b69f1b70851c152653fedcc1afc8245db2db95cc -IVlen = 384 -IV = 9f0a544472ee3d38128a168552fefa780382f27ceb3527aedf799e3c1f7538e9411204976714418b5b2ffa7ced95eca7 -FixedInputDataByteLen = 51 -FixedInputData = d29c3c51d214d1f53d5d29bd4111db1318a2f44215076eeb09be34e5f7d527d330bebc82374be90b44839ad354315677125267 -KO = 32074a9e5b8bc51e5997309ea01da074ebe2d41ebe06e7b13a9727f4635ca1815fc1e0d4fb3232a3f267ad120de1dc4489368a8ba8e8391c032ee33499c95462900a3a54bd7b4562ad8f01db038a9c0128da2d19b6323b540efd65bdbfdac614cb8204809d6d269873f9b70272a26b9d63d68fb0edacd1b269094125389d56b3191f1b5bcc5b1d05a5e930cc00f1f6bf33d47b9c2d8350204c967de1a97f58663f7c4ffbc1c32543486e7995ac838cd1ed6c94a3ac2ebad246be3223d21f27ece0797f3ff61137248a080421a80383e105d60230c76b698cde7f12276e6086f6acc5b137e0e0755baea0dfaf5678eba7c075f537ce6b85429995eb251b33eb0d - -COUNT=13 -L = 2048 -KI = 97e3cd5647b2376ee62109d525b59949cdc7bad2e560f28b4e46604fe94eb8d5eaec8a619973cfb0b5b8887dbb0f1782 -IVlen = 384 -IV = 18be4088c3a90bf3faf0676a2bc3d78331049dec97b5faf761ebfde79fc8c3c29473b2cab8861dcaf59ae52da4d06350 -FixedInputDataByteLen = 51 -FixedInputData = 2a3dbe80c2d0959c6384123a654e3021a3519c9f79025a8a9e30e8aaa739bbe62bd9c10ab806b295cc12856f10ca33b6c9e354 -KO = d16344acefd9dbddc54a64eba8a9bee83bd3a25247a0a90ec2679c47032e2ea1a2a3de936b8087f751db5eaaac4c8d077382db2c1d6a05e89b1af54910f19f826b09d58c9dc588d524304033daf7731768bddb7d7bfc9bd969e87cac051f84b33706f8f5a705b01d13b2127e6ae772f9450b2e93dc8f260992bb5877144cc42421c3f5275cc43ed3cab0361ab1c308e32a8eaf8ad8e52da5d5c3f9e245c4d596ba44e1c5af8c35021a62b9c9fb1940f993750b1e1d3fb20537129bcaf0fd2998e2223e816eb99f75f39501d9be518bc5ab5f72f3796898d0c96d5c8fd9b4195a499fb7bfb90ca185b9b514b41dc6f486caf4edb43a069047cf1cd08883ac900a - -COUNT=14 -L = 2048 -KI = a767a25865cea18351174e01d1823cc0305fa103a76e04a1891ed5c580ff3e31d919547ae470ae42445c81f39add140f -IVlen = 384 -IV = a020a359480b1c83849a254a94d52c1124262b32021ef36a8625f249e70dd0e72241757336e5d491349b77837856ccaf -FixedInputDataByteLen = 51 -FixedInputData = f070228641813baa7074ef2b31e7bc8877d21cca7ead32c749a087ceb25924883d6f215fc0b0aec34a4f7817fac12afcbfbe98 -KO = aeacae782d1da03551d310c05b239d54382338f6f8e3f81d649f3a20a6f8ee582629400c1142941336cf590f91f9861e7d0fa4453c7e80b7578eeebc694d0739da4f25081aa2c7b71b8d67d5bf1c2728dfb89d75937c7a6411449059407aa4e6fa7e85a1508899441da04efb1a22fccfb5c88d0e9e3ed30be9deaf0002291c0e5395dd798a16e9579b76f2a90d6844341cd3d2f65d9284ff545020a30e2bd735d41c0398e63e9690c3f13172d4fc7aa2b368903e9ff914fc28498bbbb63114f47b7dc26dae6009673c9bfbe9d10020cd3c40a54c055673e8de70c51b2168e383ac20e8483d46060e4a5d8955570c96b838fc6193ea18d450c83c95cc586a60d4 - -COUNT=15 -L = 2048 -KI = 179c420e5567df9217bedaadf117c59c6bd1605304385d3eca269be435f0cb6a029ce4814cf6fa54837b31b2afd598c8 -IVlen = 384 -IV = e9da61676fa51134792208142b2be9f35b91904855de42fedcd3fd86f4014f630e32e5ac531ce6c2526d36819c773b2f -FixedInputDataByteLen = 51 -FixedInputData = fd0e5afd83d4797a2153f2e1cc374147a24ea2183c55946e9483dd62f9de63ef838e8951cf2d7be0499d8cc478f58e3978a182 -KO = 296b77b9978a0248d4dc294386405352e84c5f4c3ddc3bfeff8459b19fd220bd473f4f8e76425485210a24915e20d7a785a0b130e00a0cd7d14a156daf0247918749d445d3e264a63fed42d6e31d78041cbd4a81872b76837f5279da6849a10b56e6374f5cc5d1f8339008aa1d46a43dee9b8a29f873ebf08519d56c5262159712510ed2fa02c5c79b2002b304863313d0f6a538b4efe85e82bc98d5550d5b60fd043537cc2b0c2500be7677307b1fa02f38954318777f019d7ad54bb7a9711d61279a96850bca67624876e95ff57c7f3201d42129e27f35f97bd6bfa2a639c952c9223b7d007fba02706b64c65579f3b8f29b0940de0e938457dd13fe5b4119 - -COUNT=16 -L = 2048 -KI = 964fa174db0f664e7aae980ad3b2cc840863056a34f920ab6aef39da19419513f447deaac27abe86c02dec333c75c5d9 -IVlen = 384 -IV = e986f1b8bc990f154c671495d64eb6c23566029e28fd03860ed79999178aee479f8f51357eddf3889ca8f24c7413c3bf -FixedInputDataByteLen = 51 -FixedInputData = a43bc95ad1b99ca0e7b91b3e9d8a3604e11eeebcfb021a54115b53605aaf6aa7f4d484c7a64a69c6073cd837c0444e7711155f -KO = e60c9633b3dfc2837c5fd74dfbb80d8a1e10f6db5cece8f6a174de92a8acb444c8648022ff197651bc19098d9b1c31efe801ae8e91b1286ddd9fe60f6b24ed7b1dcf28fa5e9955c4482eb6e9ec9387067a5f91e49e03c373549d3c2fefba89068db3f5b39bf8556b08591f1102745370fdf162af78b4e140aa7a7d6574950dd5e50c811357e99ae3560857df8b8b0024cbadda147785a20ae8e8a4be7ce8c0e34e4c1601ac77fe0cbd6b3073c661410789ab3895670602e1d1ca4c859cf2f5a879674bbb6a1ab6236ae382be3ee224e1b9bf683ef6470022d5f38f4762e6eb24a4282382f7640b80b138371c48414b43ff861b485ea6be1794b56c68dcda5fae - -COUNT=17 -L = 2048 -KI = d8be7583485ccfedae2ba02b1133699354e9a4d17efe56112689e070291678c587c07ebf069d0a2c4729f4cadbef9c74 -IVlen = 384 -IV = 7bad7be837ed040e49d81d99b8db7b1b849ad714c95953fa5f2b79d7f75a485b29ee12240130e4f1473bf2384814ac0a -FixedInputDataByteLen = 51 -FixedInputData = 8a9b5b97a6dfcfffb3cf0667eecb4785b585fd5ac7300b490f3720752d5f110bcba22323d773a4e6effd29cec31830456a1c32 -KO = d76299363cc8416fe9e8c09ad5e80ab1368e7c6edacb540abb195eb1efcf8a4b12ab9fd69d745d2edd3a887530deafb0928fa247289e0c48ce719cb540b3e3c59ceefe13ae722cf10a1d62ca529773eb88764cdbe1ebd320250e4e2d5810dd57df9485a7dfc66e4c03385e7fc2818b7c2b235105488b89439c7b2efcda7c2ff60f3a7fd8aff66a9d79d96b63b1179b940353ed083bdf49dd5a7ea7f1f3120e229bd24683f704489eaff5db45b1ce96620624c13dfdc634d4e54031a37c0f4fb9e8d7908245ffcc572f23ad67b47f0bbb6eb03a49d3be7513bfd53bf31080bf265987935af99493ed6a79e933ddb21b10b460cdb3954980837a87274324eb1bb8 - -COUNT=18 -L = 2048 -KI = e2abe7da3752440655e0963040c5356a5b78de6c84a9294ed664ee5dce1d3e5842ec735d897b176b90fcfde17429eb5f -IVlen = 384 -IV = 8d52978220c953c588aa07f31c23fa29c1d9b6af2e8f9f9c201655897935d23c70bc0c22c8e63f94481c6da224930243 -FixedInputDataByteLen = 51 -FixedInputData = d95f1718547ebb798cf97274764821ea559a82a044175f5dbab18bae1ddb518ed8455ef51cb7f29177f5ed47c4814fdac098ca -KO = 9e324d9391e3d2bf3fb0d008e33c7f09be153c9dd584176dc92d9359e0b76db9add659f86786ba9e79686c81c97100e09310d044e3f2d428d2052f92f01e4974b606ae59b65b98616ce46c20747ef4d432319a2f2d342871035cccefb2cdb2aeaf9e37bcb269a9a33bb76a59763ebdc230b200373e15294b9c4466e10434c8d6d8fdec05b1db0f3270d110dda9616c6af7169a79671b5232f76ccd42c04921dcd5be407d650513cfa2bb9abb77c01f6efc3ce21d8ffc36059bf4c2f3573e8fe66ff54204885ba1a00c5100db03ae3605af4b735def9e8348f6f99ee7e31ab10628cd78e77237b8e0d5c9eafce2fca549cdfeffcc6624710181edef30795b8714 - -COUNT=19 -L = 2048 -KI = 7ef2780ebdba8419660452d10bf14faf4463156fc2e35a6d6553649d32aed7b2d61c2d74590551c3a2cbb880642fbc24 -IVlen = 384 -IV = 02f4c1b65f010551feb79eba0589338660d6d9ee5d20cc8608082e76558584c9bbeac2e98310c6ca36a814a81a746187 -FixedInputDataByteLen = 51 -FixedInputData = 47c994d20f6ef8c17c293e8ff2111b51bb0ee3f33f44f96395cb16e6c668ebc0e260033c6aebeac055cbe761e0c595cc9aee96 -KO = 1a07f434c78583ee9bbbd05b4357334d1f0c962ebb290a39c4862a9f774aa5fe3400688e3bb2236fc31d974935a49394c0dee7650afa5815f3539bc937bcf1375837f0321c3def45d83d2797ee701d27a0eea1d702dc3f9365154be406d75d9374f1abd6dc2c7691d522a9f27abf10ce2fab607cb32132341e6bd755a41e4faad7e681f380d23981a7ef0f4d6cacab5ecb9ad31ce3e5fb42e56a39fd8c4717c5bf0396a482bfa469bde66540af2497f53b0024125047dc1a7be40daeaeef0edfdc948ad82c93a72194c5db67691971863705f27804b5922123d0f980dd7d556070b1e5467d09616f28335cd8abb377b9299ded18a35e6cf2ac45c2a26f591500 - -COUNT=20 -L = 560 -KI = 76cd247211c49478c15e7b1594594d8bdc092873c71f44e77a47f750bc4565e9f275cd6ca412bb0046f7f882e4edfb87 -IVlen = 384 -IV = 2444b8dc31d295a3fed40e43a6221764357c1ead27c1bc60fe4c830f37af0fb346191ea28bbdfe68a7c6c886f3c73272 -FixedInputDataByteLen = 51 -FixedInputData = d3aa349af5f11c3a3010a0b217b6f7c599c554f3abf71aa2109497b67cb1364f035fe0261ec945ed3738e3c83514551daa7dfb -KO = 1862cb9a238377a20e97108ca60967f5f4f109a554263a66b7346c4269deb26e9cfcf14152d81162c4c069d3358aee66b16909a03e220b68aa51bdae37120d79b0fde7e13ef2 - -COUNT=21 -L = 560 -KI = 2b5aa4d692aa1efa14d719a59298e010d9cab58366de1db6d47b736a08cde2e86be183f6fa7d59690a37326ebb6d2f85 -IVlen = 384 -IV = 222011f06057987b954325f73f333f90db0bc4d1e5aaeb2145a62ea8872cb684e3f0d35154bb9c8e77da0c725461418b -FixedInputDataByteLen = 51 -FixedInputData = efd6931507514cd34dc81936452104fa3fcc62682dbed18c3bc079402e2807484dfc88c248dfd666dfe0d3a4057737c4ab6835 -KO = 33c6cf58860f08266bc77f69db6bd8b3985b5df88de908999fa3557f1dc4d778144846a3f91dcab61ce77cb4bf4681cd97b124fdcfe5edeacda4a7557ec6eb001fb28d174855 - -COUNT=22 -L = 560 -KI = 4d3e668dc48df7672067b9394cc8a631caadfac2611ede00167a6af6c3eb8a361c05b23602da4938ac36baeb2669f608 -IVlen = 384 -IV = 605d8ded82235caa9bf3f3e1853bb20dec71a712154dbdd8e7fdb215a2bfb39dcdb450c53034d8a0fdf8fb380d3408ab -FixedInputDataByteLen = 51 -FixedInputData = c0393cda799b4cc079b42a91452e7b071c468840e0c8766cb8c09f7838d9c9507a7ec1b35b3b3ffab50b3f4fe50a497343c903 -KO = cad30520bf46c8db13e3da89a98ed5312f36ee43d98b1f2fa75ea246e74337b4ee11f9d234cd3c7757aa7681bba5c917800883cc018d79e86d96388a6b6a0fe74a6ab55a2b01 - -COUNT=23 -L = 560 -KI = ebb118b86563bdd183d5f6e2fa2a9e697171d5ed0e995ea59f7e0dce94cf8e4fbb0278817178b6da9e7583f0b561c444 -IVlen = 384 -IV = e8eebeba8e3399479c905afa08da0f9a50ba54b17b5c9d536b586740840e062b1ad279101e1fafac1deb007151ba2b4b -FixedInputDataByteLen = 51 -FixedInputData = 999bb85b6080902f88cfb9e4a3cbbd047509763791abcaf7de06253dd5f0406e73d29d99d34b8344bb63ccb686bed20b3f10d9 -KO = 29a00f418b372292063a8fd9d3ccd8976cc53f116fea415247f0c1b799641b3e02c3dcb74a72a41a71ed61fe74817e952e778839924b1dc4f6dc0b6ddbde98d45231aa016442 - -COUNT=24 -L = 560 -KI = 2b5e5b64729f42b2fbc7df8d93b320d4eb8c675f9889d5e24907556b4c64c759955d63a6604491eea717f2e54fab80ce -IVlen = 384 -IV = 5d2933325b6e64954ee76eb747d9f41ea5d7bda3370e3bcf42417e6dde5c0418bf880ffbbb981a835c657fc17247ccfb -FixedInputDataByteLen = 51 -FixedInputData = 7b6a592187395c75afce22b0e81766d1f24d1def0812432ad9e9f918900a6337b067ab1514bbccb1de9979a0ded8ebc7afeef4 -KO = ef3e053767547714028fb34520257c4030dc2995f62b7e6a5cf0dcc4f3d3d4732e0d47d628de57006d100835869b5ca840223c705585a44f7e55e726c7efe1c82ed0c5654a6d - -COUNT=25 -L = 560 -KI = da80e1158630b697e1b0db4a8f8ef2208ccd3161043184b490992965b06f90beee98e1a013d52c49f1c7464bc1a7cae0 -IVlen = 384 -IV = 1f896f1bdcc6e8e92c3a91ab40bab9cccfa59b5954de1d33569a3fbc98e2a82ebed282c4b266d51b7fcd6ab4502e01aa -FixedInputDataByteLen = 51 -FixedInputData = 35f3a8656487c9ea7ebf3cd9509817e26e0be1dceded90a88a0994bbeb6fb338c641dc8ed8e95eb2df68bb6831ce437071f1df -KO = a94bf51cb487603813c24c2f0c385e79954496d24b6fdc4fa10fe8ed5f2ebf72712dee353d878c4e0c93b21b8e7233e3f20346c5ac9a703a8e6e9fe33f9e41e3bd2fb0b66614 - -COUNT=26 -L = 560 -KI = 86608671b437e6121ca6c0a60543e9ebcd8f345224d143340bf82e77611529f91dab77cb18867987b8276947efbf6971 -IVlen = 384 -IV = 54067ee432a3c25a3f43e81227e9e8504ff59be3ef8e92194b47f5c33fe6f4ef2474ee69867359cbf5eebcbfa03d04df -FixedInputDataByteLen = 51 -FixedInputData = 9f11a9585c74d9721c40823b516e9d2acdfe36136a90bad60f1a5e90d1ff4547e5ac0fedba8d8f9a974faed0b1f4c8f4c05197 -KO = 9ce1a418047617736932cf6d9c5df6bc0113d90bd49da8925970f2216b226b5c20d389bc3882f9f4ca3ca90028e803f3b58281788c78ad0309205bcecbf91a9bb2f38bdc1589 - -COUNT=27 -L = 560 -KI = 7f802dd8e7e1141135ca9ca4022f220a81e63225f3a3df9d7ff7ff254c329a6e284e0e8c96f172f00c7be4a491ae0faf -IVlen = 384 -IV = ed3a5259c3020a8536be1868fa51cab332a54f4a170db8b70693e99b2fef469b7811f614b0dc3605c48659355c6e8873 -FixedInputDataByteLen = 51 -FixedInputData = 8fab5d3bbbf64aee6637ed7d786bf10c6447269f31c19376fe61e0b5f6d14f231687da458f161c4ffe3d8560e8f4e94bb44c87 -KO = 18aa0bc27b0398990b82fe32644c8ccd314f92968bbb6ab2bf1f6b33109c439ee94a44d668a24310fe47280125970ca106a1552e30c7493556c25c233aad7ae663a23f1f178c - -COUNT=28 -L = 560 -KI = f3701a15ffbdad3288b449bf90f81be92919fb178d88b25be416cf0eaaceb082c38fd9d7b337643cffeb00fd1f64a71a -IVlen = 384 -IV = 05ae5983958b2fd60c0df2df3df911110e528b47803895c5739b3f67cfce0c2d9e17d82cf8551088857e1cdd33e6a392 -FixedInputDataByteLen = 51 -FixedInputData = 0aac03725dd011fbb247231fb07c3ac62420427407470777f68f74dd0203b9c20ba34c235b32cf109993145acc9b4d1479d2d8 -KO = 938968137a2194e3788715ebdd3f4582b9752e9ef451c366c8b13702a8c8b389a7f9aa24f65df235dc84a86ae104a7d8b0539b72c4b6e54ac62cbaf4a4875b5e8ba88bed5d83 - -COUNT=29 -L = 560 -KI = ca8002c4aacbd2d46a3984d3c904bff9f733bb09130be4facdbcfdcb97e91a7f4871d707e6aa77926618d2712612314f -IVlen = 384 -IV = 8bc6d73666d0730fde923efdcf2fd2e8a89b9d7de0a11f324589ee1e5e64110c820a7f00a29a099216218495b9f2d6a0 -FixedInputDataByteLen = 51 -FixedInputData = aaf9a3a46c8d71014d35b9ac912490f26ef7e9bbf4b740e6a1fde6f8c189c3ac6fd60fe86d2267e8b95439c7450da9e99bfda3 -KO = 0225d3b55a4919d4483da2aab3ae8e4084530213d76b8c8d4f5c2be547635079328375bfe8830b1fe74a40a53673232b006256ecc3e60ec66c780b6c92dabdcec7264a230772 - -COUNT=30 -L = 2400 -KI = 14773d73a4ebb0f0327213cdc26cf63e5f02c19b90002ff2aa69d29ae955e233c6eef9d5b0bf93682a6bc56e43c28a4b -IVlen = 384 -IV = b6fb16c664e165bf4a5018d2a114cc6aa7b7147e4eeade991fb0e42a62b9e822678e1802f4161164f8ac2a3fa2c4dcc5 -FixedInputDataByteLen = 51 -FixedInputData = 297844cc6d013d9b3b5e8f3a39976586b15de17f606fff8eafd0c76c9288af5580023b3afab75cb3568add999e987786484d83 -KO = abc7dc2350d99a7a1c00e89ddcd7297b2fb9257018833682ca130ed00f87d8d817a6d32f4e93ad727c291bcc8565a59e4e3702fb8b7c36e46894bc0bc70c26fae21479ddb40ebbbde04f6a6afb1ea8d6b62e5ca102098ef5d8b9c79b2e0f93679ade62d08c33bdb6ca4ed7e99b974cb7da3dd534d65bd8c94cb1d9e7bba8f38c824d26444830afb6450ce2e9b6abea5614c397101d6d255e5e31aaa647dcf9d8bd5de9dbf527abb605af3d51b504e33e9b9304627759b70262da482a23d658cd55104872e8d344160e7566d9d127da04d2b53419bbef07ab6eca5f59d379d19e673a69598ea54a3ad7786adeb7b80631f47069c723c9795c5f6a3ad4e4027952044e8a628511fceb0d3bbc01149e434915aa3e4a818bd85de82fd5eeb9b09b3fe46b7942fd9104f7f295a862 - -COUNT=31 -L = 2400 -KI = 71ad0072080c0fc010c4bd66ad52214ca608970a6a93e434358619c973de9bd056acea7af5fc800f207193edeeadda72 -IVlen = 384 -IV = 4b6b68511cc620035208bd2f46ea7f12cad8f2a22c532e42f9df2f8539e473e23e05b6a728a42b5b07e43d1028c1aa3e -FixedInputDataByteLen = 51 -FixedInputData = ad510c5f36b3806120f5e26bbc2e924582f28dd4475b2f5e9713359946d8a481cef832828acef17536c196f62d40e249af7482 -KO = af3f70ded1897c0c311c4f302bcc7722c74ee8f0d93cd89ad641d87fdd1a1dfb9e2bee69ecdae04ce5105989bd11330836ca20254cd4bd89aba28e2108d5f04510004c07f59132c22303a7f56bb3fb81cb08e277e55ed0974fcc972870c57622baa5550326d1e0965325775e17b5f4e1ea236503ba6fc92f8fdbebaf415bc9904a7df437c2132d122ecd4f8fc427a5b2d91d73640e797e291cd2f75d78c252c12db218c7c01632ae683c041e789248d37f1c2db94322b64872db2798919faf8d25ff632958a01e236e260eaa810841946d885cd6c8a29d3b7de6fb6f5063dddfa10c69502caa0a1dd9e6ddab80bf5f91f78ad5ab03e7a789851ba0af3d7b9257d92f978e830c59fc2ccf0ad5aadf5bd7e6367f888da60a88aaee0b751298574daf19b4df9f7a525bf411e201 - -COUNT=32 -L = 2400 -KI = 6ae9a069d417230fad26bb6c39c342a201255327dab5cbf942d1061e124692495af98dcf4ecf52ef76c2866c5bc14162 -IVlen = 384 -IV = 3af431c532890af5ca50569c7fc1d764d10fbc0f183427c086f6b8d2936ca6dd0c3936d2d131e291b4dbfca49f91591b -FixedInputDataByteLen = 51 -FixedInputData = 10186edce6aa104506df6fc3a37e3da7e573aac4b2f3597650e309bb28998fec050dce49fb9b1b80d7ec8b39c2b1226666cac8 -KO = c145a8d010e707d4d4d89d579ade1b534a96d4253008615bacd0bd03472da6d896e357df17c642785c4b53637da269141f948a88c6c761b9b24e8300c3da1317b7ec4f8a57b2da3e88658d551060766c2989e162f18c069b7e8801121096306ee6a64838a436efc7df5f1b6603911903adcb3a60238526927a2cab456e6fe8f4f064937858818fcf523d17068aeebf1ddd6d60376cfa1c3ce2d2df3b3e406d22a6e3ce9de037a5b6224e9edc9c3e869891004854a82ea5af21f215912d56bf4527204550ebe25ef5448d37dc1b25f372b80e9990daad668e7ecea9763d011addbe33b27e911ccc4ff8b1675a5af2bd5dd58ea2747421f31167996739c6949874db2dccab88f1cb54676f8212477c2ef9b489e5f3adeea529459f5dd920f94337ca7271ac5c5564a081d3d65d - -COUNT=33 -L = 2400 -KI = d05d3f98a8a08e1004ab536eeeb1b26b716abdedfda4fd9d1f922072bb633ca5cdafdd3d1096d36f1c51b2c17c7f731b -IVlen = 384 -IV = fd1a79a938288308dfab9701879771fff5f67e4b80fcdd771ebc751b483b8c4f5ec9b6ba249caba4e65062a5ac2fb623 -FixedInputDataByteLen = 51 -FixedInputData = 40e5017128cf955bbc4c885da241bf4b5aa64ea81eb751305343ba7aaed10e048bfa1a5885ab278237ed92fc679d063c7d198e -KO = 7390ad6b5a9226f417be2195f76d173112b4fab3117e09781f98968c067f1c14d3e4694fa5735efb28ffaee4afee427ac17cea1ce529db0f6036a8e6e39ff2c621c82e77b79f31b59ef0f0ccbfaa77bcca80f2e67aeb08f8a2984909eb79b70d4f5623414472782dbf3205104e6e8954a4d7391bccb108e56a68a24fe477fecc33dcb08aa7a83f0c7a04aff528e1853c0663742d32116200120c17b6282ba79f9adc68d111732c791341a48124b32c288c30e44d4d877f8939c6d3a5d583568175f6848658f1583ae66b5403ac423fc9ccb0dedb9b79a8f6004aa7b6735d3c8c634e28de7df19c080963444dbf1333dd71d87b606e91189636e9f428e24a0ff3f06ff9e8d2e0ec99db010c57f45ec2e1a9822b0d7deba10ccb1e995c52b3eb510c2bce714c85cd37a97d7eab - -COUNT=34 -L = 2400 -KI = 52003fdb74fb0247a066bcf33fffe400b4d2a4535d4f09dce504c15bcf7c3acf061e6720f08fdbb7fcd309ff6ddb4041 -IVlen = 384 -IV = e2a2677e7e7694232dc65536f62d2bd0b2dae501baade4aceea994b512d8d6f34961da68b45cda9de3af2619e5dcc582 -FixedInputDataByteLen = 51 -FixedInputData = 9ec93c36e89c665f777e694ba47e6af7f4828ea785302e1561c1d4f1beedfb3411b212a18bb0a498194d91d5d846540701c23f -KO = 6bf72deef476735328ed2b3671f236e071edf602408cbd599c0b127cfdbb311d97610ea3a20214af0a52a51d2ae85c7c302e02d67446502fa0f80eb6967816f34fb7c3a1e97738b25c6af6c123ce321d66be919cb9621b85d8cf7338649c3cdb4d582ffba090bd7d85244de9313c722ecfc4ad084f280775eae2723fdfc9771cf7dfe8a6d18ab550b890168c51bdaaadb261f981212a360e9f0ba470c7708fe10aacba7676b26cac9123480418cf34b006501e8bd3509873fbd40e7bfc66cb2380432ff8699c50acf6f525d930328d7ce50350281d36dfa94cbd6d122dc06ad67540b36a52555ad82b45adbead1250dd772863d86286a0fb69acd76fa48e34aacd0c7bc1a20d7d9d168202eb997a1236578a34654d20ef83af8f8c56940673950fa31cc1785c5cf1d01ab361 - -COUNT=35 -L = 2400 -KI = 4144b2257b698b2f5758bd51afb6543fe47b0c460238a2f639ee319d1f2f171c0b7220d1840b2f490d7b78e5822634f5 -IVlen = 384 -IV = 46de7b21ae040812738b6ef6f8cc5ad949dde8c390e2e7b859d14009fe3851379b83b6ef1f88f82e5a79e4f749cf079f -FixedInputDataByteLen = 51 -FixedInputData = 4af2b58b301cb1284a066ff8632806226745c6db2ad6f6dd3ac1d8317920e119058cdbd952970187ad3c34485f4f4d8e4aa4e3 -KO = 03cd32a533962ce52dd463779c7887098a6b6293f7b48f4390f191ffb9db4bef500a1eb75e0c5f4fb08fcff91a70fbfa7869ff205fea41038315a2b96d0aa942bc580977725afc76a6b162fa9cc6c0cfb0b0bfc13a6f14f8507b86544342f18b6fafbc58d89cc95664812e696218d8e1a1c4609a588ef43b730993a17442356b4ec7421b410a9e962f4cc177a886519cafa7f69311b9595549ad327cb9fdc89f148f5d110da4e654fb0e6659797925b01415176b9b97a2e8c39e46b4587b457c22d977d581cf8d9fe597578d1db00fbcc3770088cbd5fd78a81c6debaa14627e499f34ceebbf95c2566fdd60d3019e8929e73f3825380b9c1cd2d5a7da3a2c2849399cab3bd155b03d9c9916123db7a67d3c6a74700bd02bdbacff60eaf84928bda316ba6510dded47e1f7d2 - -COUNT=36 -L = 2400 -KI = a1dc5cef3bba417b323c7e8daaab295f9263eb2378390066f92f21e1bfee8f331a086453b80fcaa837f95199bdd56087 -IVlen = 384 -IV = a4c53d4a8d944c5e41fc2e52d2939140e3f6e867a55aac632a82dd1c5a68561893f9653fe60fb50c9af1772f6df309f7 -FixedInputDataByteLen = 51 -FixedInputData = 169b5290dcdd27e9e356786bf05574b7b0210af2b7f375c97e6eca141a3618777c6a75efdd47eb5a195685fc9c60a284f4f714 -KO = 787cccaed4bb60181b7c0c25f5eb607ef1cb816af67542dcf3faa0808262f0d40e8dd1872cbca991e9cf5e13f7c19ad37b01503e7b2559b4711f6064d6d2a3fe5cbb24dda1c790069413dfe3169c36e09bfded0206c07babb52794062a0975c4e4893f6581849c076a3f8598fc4e6eef67b03172893a8bfec92a1342931af98c3ceb8f27605d54ceaa29b331edc9cdb6edf289ddb0938bbae2e28edf5da81d37ee024603f99c597182e87e84abf2e175abe8dd38e5d4280c344e32152dd1fe297179b5225f05dd52382c223dd016a9bbd212a759042b0c7e013dc5c06ced8d277627215b701ccc148b52233972d5ed4e3b056333ae403def0d165958a9cf9db7e347d0aee8904c2e31b53aa30886be404b3bba7c45e02bb4e2c4279c436ebe6b0cb57136338f09f68e983970 - -COUNT=37 -L = 2400 -KI = 4da796db473fa4e3437c0697716dfd05475599b5560909ccbba0f8284c4b3afc9ca170208b6ab757472ce79fa7cf5acf -IVlen = 384 -IV = 394640c0877d0065ccacb63b73d26272a3bb00bf40f9b5c3d0f1c78dca226287c0e2762d100029e4579d650550f61a43 -FixedInputDataByteLen = 51 -FixedInputData = 13d81426f869632df94115461ecc4479dc0840eb6eebbe91668148a054d6c2ef2d8571e21768f626c4f4c74bf929e72734f96b -KO = 9838e37dd6a16e721a4266a5155b4ea3b7491ce639441a69938c60796f553438766d90684b4d9045bc784f35c3e076d6bf9587457a6f431a6d6f9cf0a5d9dc9f0c941efce7e6e5a8328fb023a1146d33d9c6ece21aa6a44bfd37b3fff848596169a7dacf9647d3267a0f973803f2028530171bd64ae484dc019b39d66c3857d99d804858e0dcf7b9b55d93a19d3b87916ec522f353b01d6177e20eb3552bc72bac656753fa91c3878f7bc5403d42389403e29910c4a359bd08e78562a93ef2195f774b7cdc263797069bdbbfccf2d1f97a6bb5bfae91767df1e7da06180120eadd0d27aa0e45ccff26603684828e17a8e7119919712518574e9384fb90e4d24c38c42a60f5dba650e0ff84e68a9c7385412b7c495607a06ae5b27d4cde8c0310b1999fd0e1d9f8e4214872b5 - -COUNT=38 -L = 2400 -KI = 0383bcae1263e97d4d329d56467fea0a78141aa9789b5c80f23183cd30bf47a071af598ac677c6c449fec74ae673fc67 -IVlen = 384 -IV = 73bc2fc4d4d3bd5790ee543c5f68a6217097ccedb68436fb14c0f362572860fd09fe0b1b7c46162dbad4ab9f101ff6f2 -FixedInputDataByteLen = 51 -FixedInputData = 54bc2aa59ee6eb9f2711d6bbb0ba859ad110f3be92f733791156509fdf3febcb9778ac0b4bed8b73e421aacf6dec48c4080228 -KO = c5d1b51d4aa80cdc45bd144c0f02ecae92f29fe9064b8ac72909db06cd8129def3bafe8913af93f3fbc7c9ece9c6ab34a9c29c123ee5e5442baf1c22c142fa392d4942c99cba66fb1126cc4ab084def839e12f3031a8ff96b77b4f25cd55fef48db27071744063ca26ff11965749e899fbddaefedd6c4be860aff625cb3e1cab2b7a06aedb28c71acc896e58a7116c8c01c50a72be96e7044992cee040f86a7df12219bbcc8b785eafd18d18eb8311d144102ea1d4a2fae2c51ac088d2654857f7122c0642fadbdb2a5a520b712a38e5117aee937a47115a37671bceec87fa0946019a261f44e5754c96aafd9b11589a745143f1eb88bd696262bbe122143159f9d777f3591ab4afab14e35e4a49fd1bde08d38ef5da9b4271003db03b9062351b50985cbe338c69adc94457 - -COUNT=39 -L = 2400 -KI = cf60fda3d146b628d0225052e56305ce7d01f680c3b0e14926255f5afe6c5de4f410f408c632a1e7683f9486a1efd584 -IVlen = 384 -IV = 48cf36d33c25c465bca502b0ae3a1e901e70f2643aa45b07be163a6bc8caf72490115d69e9a727165c95efaa915cbc48 -FixedInputDataByteLen = 51 -FixedInputData = f7a624bb5d3707aa89b26493a40bda39d7b4f27d16902468a6a91dcfa7643e24725cd8b8bb66953a1045aa8f1caf666a62ee3d -KO = 0af79452c878407fe73de84e6188a8de61905c42d4dba7d23f4c4e64c30f29af822138a97d1660a083ad83870cb60f239c223723df107cfeee4cd4c26121b682246b86f1deb79b5fe8f381be8c5e77178d4062902845fddba745526e3763726668c0e278222b39a382be11a1b5690bcb62742c73830a252e1e9c6f9e681c6b9dfc10da5eac46338e82890f7311edd461ed790f2dc373ca384bb7fc8da37c4bd350cb8d7ade55713fd08fe8cfea4e07f0ec6cfddb78d77afdea1e0d23deb2bd98b9158e37833bcdc6b4311751743c2a45484514ce456bccb16a8bde4e548a841143db6b13233d34a2b9db451479490f0d11a8bfd4e3dc915cb4e28e36c1e3e65118cdc08627544edc498f444a6f4fe8d3153c0d25c9c76a4371c20e385f9988c55917a056785d41b80bb4e919 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = 5308209ef20720b05bef31c5aae8ac89e1f77548fffe8a24f783f40d86d2a89582036323f91ead33064f23aa2e959d28 -IVlen = 384 -IV = fa9e3ad0fe64920c7bec3baac08cc3fa240509cae59f4c488630ee8b602d55fa1475f62404800249e715c4d4e9471ce0 -FixedInputDataByteLen = 51 -FixedInputData = 2b706076432a189e3ce37a923ca63ad3cd6e08702512cb7f79b113a0524f1892c54e88cbcebf73dcc66ba962c6683332d2923f -KO = c8896a304576df5f5dfbc2f8cb0e1f33f25fdfb389138a812788ee035350a5018e75b5039323af2bb528a7a39290cfc9d611e9b0100a2234e113cc7d8ce02227 - -COUNT=1 -L = 512 -KI = 7ba54880d0355b530cbd6fad7e7bbcba5fbe4e3fa653a5d70f5a74c2923c5da49139ce82d3a59a2bfa2a4c95b5a691b1 -IVlen = 384 -IV = c6bc40cb67fca5cea132a10616bbe7af016f382951a26454194d6933687e11613821ad47de919f8427706ed13f41de2d -FixedInputDataByteLen = 51 -FixedInputData = 34ffffdc5b467db55feba67aefc7cfe862c2bcceb2b48246e08cf67c5a76c0985fff5e2be47be9d76b70a396e12171fe9e5b75 -KO = 2b83d6931e598e4c768cae41e39c43342b16b6305449748623994bdd3fd35fa56091291c9af69db0727ed11adb2eeac82a4891b08ac39a6ac43d3d05e975db55 - -COUNT=2 -L = 512 -KI = b75ab2f5fef4f52de11538bb46d124f15fd3c21330e08e9d54378384b4af364ac4ba980ac377674b5ff77780d7326b33 -IVlen = 384 -IV = d864e99d2d135d2a0a4c5f5512bc587a20b5b220509aadd47b2beefb2d3b84632bb2cdd87a8be4b7e6d28dc9e0a9550d -FixedInputDataByteLen = 51 -FixedInputData = f7fc9264041fa847ea83e7638c5795d09e369d0b92a5f0e3e8694bffde3ee2846fbac55cbeca88d2934afcadf99a57166cfe36 -KO = 1203e16d8eaa8616ee010bfed529560f35caf24783050d2aca99d200ed6acb7766f8cc2add93ea7ed2b21af21e844d7f3d5b81d57aeffb16bdbb21c88d8aa386 - -COUNT=3 -L = 512 -KI = b366b2802120d076654886ab0a75050c023770da2143b0ea445e23c9214c8c741c83276bbfecfc1f7d9dfbc9ed217b33 -IVlen = 384 -IV = 395f17d4031dc186082a823a05407b1e8dfac6567580f75fb94202990ffa6d58c5856c71572e8453eb4d97a0e64a5fc9 -FixedInputDataByteLen = 51 -FixedInputData = 9d06ccf670bea3063cff25ca865d9831e3bbe336166833af21ee8b1ba7ae025eb4c7c97142876aa65bf5f16d3411218eb89ea8 -KO = 9840689f563ced922cdff83d5bc2d2407db70622ca4b11ded5c5fd68353553cb3778ec6bdd40458a4c0b561476da339c124daee85875164a20d546650e216f99 - -COUNT=4 -L = 512 -KI = 1194207ba703630fa777c27279feb2579a7e6a0633e1961771e3e40deebedee66052d638c0c54335b29e421a3caa5b89 -IVlen = 384 -IV = 065576631f05fbe05ccbf66f774c202e726fc738673a5e63446ccadee5b978454ae94e699f28611afbae434edbad83ce -FixedInputDataByteLen = 51 -FixedInputData = 50c344bb4bb6bc60d44a364e4c5e4a1fae08ddb075592c00560ce0b7b84d105d97eba7ad46cb62bce2c64fd0388509bfd29789 -KO = dec256c036df4aeb6d840c6aaad9f8a8db0e6543e0572929a0f93a34dfb36755ccd8a68724d0f5c9637347e239e5b87752b70df7f6fb9fc2566e6b9b1e66ed61 - -COUNT=5 -L = 512 -KI = 3a27aa0c87d90b08e2ea7187ce910705d2e767fea29b1b1686b959759d2f9bd46dcbce7fcbc15e5634155984c9ba545b -IVlen = 384 -IV = cc308b64646a2f7b27f6bad4d312128373451abe03f6ea768ff7b25c3df9452c1d76f9ffd22ece46d3d25bb4b890e796 -FixedInputDataByteLen = 51 -FixedInputData = 28e6a18e540090252bf6040bf286aff0eca120df99a49eaab26e4e9c29d05b16ac3fda983b9efa15bcd01b0638b46e20acc12d -KO = fced913e63927149cf1aeebf482457058f450c46272075c798a282ad50ba429d6ef8cc0120d0185d14789f3582dd71f2d0773f5363306060b4f6c66d4f86ecb9 - -COUNT=6 -L = 512 -KI = 74181e59a675b824aad803361cd139426ac63089337efe86420ff51c1cb01044299c645b9dc18f0eed3fa2672a8cfb37 -IVlen = 384 -IV = 4d6f436573eb07a5447d31eca5eeee3a6b2dc5e8039bab3079da1ff5274b1a48ac4cb4eeac7866558188eeda755a5e4a -FixedInputDataByteLen = 51 -FixedInputData = 3e5bd6542d8762027f9be51483bdb2b6da9f1adf695bbb5d85dcbdd6be62bdb34cdd9a2739e8d04303d6d7fcf631a4d1dfb4b7 -KO = 20af7719cd721b762f2127edd0004cc7e80d304a4f121c9abeda222c8ce5aca409dc5f824b04a4aba957f56589d74f22e2f4e0bccb9526be89f58256163aeb3e - -COUNT=7 -L = 512 -KI = aeec6374ea3e1807cd866006b0fc10b49330d3757bf6cd001af584a883c64035b94e19362836c459585cd0bfcf1bfaf2 -IVlen = 384 -IV = d3de84a5427fba24c92892ee8e9439d622b49e57cb9a28bd1a81cce9debbd3662db1ad284ffff838cd6ab39b3f023d61 -FixedInputDataByteLen = 51 -FixedInputData = c0adc2abff51f1d6fdd1b1bb8ca1a5cecf315e051796f958f8425d85648a6952be23d2706b75e8247ca2bbcc8342cd12d34a79 -KO = c52eb773d883d8a387c22c12925cc25c3bad6b5eb4b265a6c8ae5195a0177ce49c01b6f5830a51aaffaf183b059ebf3fde8d696c6ae92f80a851fef56424549a - -COUNT=8 -L = 512 -KI = 6964fcc5ffd050779dbce389170df6e8628c02bc8255dcaa32fd8ccbceb5654ee91b57c61fe02ead94919aa1cc829b83 -IVlen = 384 -IV = aeb865a092e401e57390d2c1c29488dc58b5fa75331f688b6b05a43e2033ee22751719ddb199c11f9e63d8c91f0a3807 -FixedInputDataByteLen = 51 -FixedInputData = 492926fbb86fe9450e79efbe090a979e25b910984e8c00fe5365ae5052f883f5c1939260a0c5e107364823682314415eaa81e7 -KO = 0652fd1c14bd127cf1388d9733b57ea2ab565967ca927ee19b8aa7f72338428d9ed5e68318b27f063b293c9e38eddf42ab9345e57c2d2da28304ac5b61b46e34 - -COUNT=9 -L = 512 -KI = 43fb7213b6c498ed2be1af3484473211fe483e35aff705a8cc322677fb1c56a0c7ccf66dc2a0baddc58546063f7881f1 -IVlen = 384 -IV = 0d06fbecb44771548fd8f8ad30a6da7da89cd9b1ba6f1f3a010f368807d9097cddded279a6a5693823e937472cc2f6d9 -FixedInputDataByteLen = 51 -FixedInputData = 06e69652adb36cb0397f09af2ac6e1761ac043d65a16467e2a02c75ff7f7d83e44a5288790bfff8fdf45f221e9956f0d83166d -KO = 38dc31e2a7bd6edf710b27d868acc62bfbce8467b117c8ab60482e4cd55b768a53a2c6ca18def2933c5eb5ad7151b82a72d3a03cc414e7288f0efc24e139fb31 - -COUNT=10 -L = 2048 -KI = 53898d20b393cdd6629e16449a05a3d205dacb01ae9073baf5b282a1b553be72a651ad5725656bbb8904c168cbae49d7 -IVlen = 384 -IV = c45e206b2c129a717681ac056a6b71a7ebee6755cf1daea01d9ccfbcd7f97e31000527f769b6d81c25c86d7d548341ea -FixedInputDataByteLen = 51 -FixedInputData = 387c2a6fcd31d5c7e0e2a6036af732b4b62606e736a441f98a76e9dc72b39c02cf4cf1c4971bac3137ab299fb089ed0c9a5790 -KO = 3826add60a8541f29c50600e7f17549bf49ee1d36d9c868250f540e47a44349a74a6507e7d62f2021a054d31e804003e07acac399974fc1a91b4a5109c49f895eae7491f4747c0335363aab37f2bba4fe034dab6bce460a23f6e3293258a86c397eb72d3543c8a011146c6cbc3e80d0a82dfc8b625f522821ce92507338362aaac623dafe9501c1d102ee345577a30b84ce232ff5d6cff0e2bdbdb2217fc01307a58bd77b57baf3107f7c91890b6b3bf5c111bcdfdd11bd1762805d9733160f7faee7141ec246bf12a6422194eef0fe3582b23bb4749e2dd2bbf5e35b28648d8517e55ab56f47cc9cd24164e38dbf50b06d0f8759b0afbb60c5cfc052016f78d - -COUNT=11 -L = 2048 -KI = 3451147d35f9b1ed65790f07d00862ae563921794f4a1f2aa156ede27a43df04104f64de251db48d37069bdc7a669e92 -IVlen = 384 -IV = 88aab1708c7efc049db511a7bc06302b9807442c63af74d25981ade22345cbe46ad1c0b75cfb67b417af1b1c5776159d -FixedInputDataByteLen = 51 -FixedInputData = b336f53d632aac1af51d09be7393507b182d4e2e0a05fb793abbd90e20ae79507d802dfd23fd3b4d66f01fdec14b5db2d6a2a0 -KO = dfd0fd38fa69fcf823930aedb67be3809ee55bdc43385bc6a47e61804db2c7af0612da3fab3d9b992231d5cb77996566d830f8aab5fe5e3995945c35a3535c765f8b0154e0b6b479f766a07e4514a893b4c452fb900de1102db4c2c7981bc0f04cc12761cb4f693a5d0c01b28a28f6331c251b7433439c89fe00a96aacdfd0b3087376cba170c3fe0ef320e52c01794babd99e13a8697a11527b0aa37a834c1457f8d21aabca0a6cc31ff7e4edebc53a31890a07214780f44fa8054253e989f6fa2011d87d61ce6d630d588308c013fff98abffc6c7fd44857d9412a8d17e1f1fb2ab23ce668503d5c04e5c663fec769b316b9e1296f9b68f1bbcbeab5152189 - -COUNT=12 -L = 2048 -KI = 27ae23c18ef5376b736c9ed18c510adf25c043a4a3d22693c4df0b6639c7ecd71a525b4b4db9409ae8e331502aed78e3 -IVlen = 384 -IV = 674f7106f3d2de27ede4cf0b56f9d456a4e0672ce9d5b188b0173fd16387cdf198274feacc0c7b1ed935caeaf623bf4f -FixedInputDataByteLen = 51 -FixedInputData = d9fb511d7db4dfb4db79f9b4620ed0d444df771df7e436852f6b85f3d0a7d2991d3278e601783ce10e44cde09f5a07e9627f75 -KO = 0e89d09b4b934e481b7fa04c0e3170ca3068019e4cc44072a34f52fa7c5c754f943fff53c323503ea04b1e7227f518fe4d990d3d96603f119545e0c1ea9c4882a1b7abd85cc05a21c5e2bd6cf274cd681f77a178e1d1c1ce018ad0ed8eca4b9596102ce5e9145a763acc8debf2788ea11043a9874ca4a660cb5492841236f4ca1edbd475f342ddc5f07b5b19d19e56a0722d7b3153522da4a47d8fcff1b284ce70041b4fe704ef341d7eea0b6647fb65e947efac7e15651402babc869b0f1417835c4aa13ad0742497b5d3125e42bdc3674c4dfbc0fe065a83a7f3458f7c3e7d12be0e763aafe6929f4e205e21b56d12687852f11fedd1183a9251f7af824362 - -COUNT=13 -L = 2048 -KI = 3d783608feb7aa6d68645c9c09c78c3beeb7244a7cd4ed467510460658286639c96363be36d91e95008c70ea57dea746 -IVlen = 384 -IV = dcc0d16cd0b67895e466449dc73c4c3005ae9e1b3f23c64e80bf4eb2e17989a6e96b1a8206883273f3c5c0bae626ab6d -FixedInputDataByteLen = 51 -FixedInputData = 5c514919ccc7010b4cf6f1fe4985117e4d8c42dd0ee16675bca9bc20486aaf929dc16472b70332ab2c1e95c393c37f44dc7997 -KO = 1b6068f9d1a5227a73847747252271aa6f08dc45999265fd59e96ce675eb102dbc02cfebea886bb46720510ec4ff360ffaa25e5c7a1f1900b7b32f8f1522643d2ed01e94829b7bf6e53ccb9146fdc5902b7d11a0f2fa6aa2a379965f070e769853e8a0879a4d0824ac9d8dfb16afae01255924bda40e83c8af00c1517342c648c1d6b0a9c5795b204147198b3f4b18376759bde7522d7964675d88400a3528712904ac27c21e238da0f3feff9360930a4e837af9eb539dc2819a8e52ac1faf317e560dc950aad7e6f0f059a58cd1c47d5a556dd887fb2aa5fa1f6d21d19788831c712f82cd2ff2a9c99aa1ebf5cd06197595ee0dabf2255abea9b1b7abba72f3 - -COUNT=14 -L = 2048 -KI = b236de52f00456b8d9623e0dae50dc5169feb29a6843b527679efbca5698f7c02090131753d5073f7eae6905a60073f1 -IVlen = 384 -IV = 553a66b33f80edf82e17b19bfd0e2e9a63aa7029cbe9e002a1bc468bf8b3c15497e299f00756dc9165cf359ea3267305 -FixedInputDataByteLen = 51 -FixedInputData = ab56695b98ca49cab56392b56d7277496d5ed8662d4bc059381d1a8b73cb63e45ec9b2138b7222a6fdd6cd8275a4ae53971f5c -KO = 0845b29d1435721c8c442413a7dedbe44d728bd610f1a63ebadac9be777c2e04ecd6cee2a0f19a677d97ab0f24dd240c1b39ee9d4a135e62dcba46b0cde6ede9a05967623e0fc15658fe53f0e84aef73d916304ff98972f51b773a36dd297294bef3dec7e1f89b3b8ce0431da809d93bb24d7cc2b69f037c747cd2252dc0a7ffe0377661da5f583d9af08b8dfee5470e8ee499d7c462d280fcc44007f6dcf64e45b5bbdafdd4d6c4e1a186304cd9a148183600672e94401e93a6a67ea8af0a95a26023754e62b4a283059f72f8ae1bb5cb50a1a9679494193b4649ebbb918a0989ae622b7bdd7d01bccae6db7eeba6868a2bc1c3e0097f96db8c84a408501d05 - -COUNT=15 -L = 2048 -KI = b9b4fb39905dd6f5e26988736588ed5ea64e0a0d284c2243ed511bbb17346dea51a6b9499120c090766de52dda00e90f -IVlen = 384 -IV = a5e04b4ef1b456a28af697cebb9e8dd6ba302cd0c2b181e3c61fd089c4f06a0d269fbffca0fd722c234393f13d5b1e4b -FixedInputDataByteLen = 51 -FixedInputData = 963e0e6d1dab1676785a5b12ed9c4e08198c077e4eb54bb22f20bce0a4d7f88ebb7903715573cc59022e3ed34aa6e3427efd82 -KO = 1ba999e382d1969d228611de6bf4b6c44e1fd52d8e1d724fb28c5b78c94ed41a0fd4788a103a10413426b5314248db54682a0823038c38ae78f9bab20352c66059f504549b82f0e0c6b6761eb344714d02885862976bd5024815b5be8a0c6f4c19a610319d0bb500b94cd345f31db87c6d1bda6aa284325d1539d5408a4e8cecb91e7f64deb56178d4dbdea0a227df48f6a1fc45a180c0eeb07e1a5f2cc90f80b6ac44355b414b3d7c086dcd536fd3a4c046b232544c398705a0911931046ce9cf5739304a7c18b414b28de6877892b7feb0d00249d6e95fa2eb4a4e2ba2f3403efa84d9dc3059a63c41397efc1febbead19a1098fd82c128994d6ce34d27997 - -COUNT=16 -L = 2048 -KI = 7ffdc2db43b8ac00c0665ac80fbbd3ea96ad84555ba050aa588011ea56a19e3bb6df262ba360b1f9ae1e853ecbbf04a3 -IVlen = 384 -IV = a74a69e84963c873d2cfefce95c343ef7a436ab73d2fbc62529ff12f2f499627adb0a46d539a5ea4658f79e455a26c41 -FixedInputDataByteLen = 51 -FixedInputData = a7c3c2cac0f1f92675f6056da27eb417ae496c75d056ff0d2e877e8449880fd154da16fa6800d67000d81a2a788bf305add3b5 -KO = 66e2eb1a612a1d1a73574b65a3ff2a683b91e2ee14b29d266da9100eebd88e31840d0a18d78681ea769088437db3f36d4b22fa8112d3b9dd8f981b39dff1ebe88cb784fd39560be9fba3f746e49da3ef0ae7371788f58dfaefda4e6143abba15e525300fc2bdd6adae27d85b14dd486d2dd2d8601831b2d162882f84c3976117267941305187c5ba19fc28a9c69a9426a4ace0a5a19a7048e4f09b19a4c103560f68a6d9604d30b23f1cd31a74ffc583e4edbff519935c0fa99ca43cab7d32f0bd74fa54b6bbbccd023b0701104b80daa5606f3366b765ed307368848782cac889e7b970c9d6e09f9af30bc940179fa4c6ab6b78c11d350a4075778570bf3f4d - -COUNT=17 -L = 2048 -KI = 8e761d44e6c15ed9534a8713bc21eae7b33a5791e1a24b1162862545cbfc509b2861c928f5f82bd39c9084d832cb7d05 -IVlen = 384 -IV = 8f376a3e892c61a56d9a55c188612ad79bc2b146ce43662b0558c5f693a404436afc87693a4308577fec64cc0e5b88f7 -FixedInputDataByteLen = 51 -FixedInputData = 8c67b99574b8fece770cf2d664b2613724e9051baf2248c4d607fa4f7c987b9c417e3ac9ce8c799abceaf1d6800076de09ebf9 -KO = 2cf5baa3163dba32c8c650d0095d586df5982ec903f02b7ed342712c6f09c7cc42b927d85de0b0a3631ddc0d428b829c0f07ee28807def0b0adcffc29a57f919f0bae84cf5414d18a464028e3e1d2ccaabdf9df4b0576fd0c827a42fb2e7cd820d592b1dc6d9732843a93c11d5edec385dcab82e2f0ad31d05c0c46ee9ee28ac94352efcd20482b336ac9016869f99c15ad8bc53fa479156b064c7feaea98d3dffcd7aeb3a9115ca88f6d576022abd07404065ed1700b4cbd6814527dc91b9f3b947458f9c1d894d40e4cf85eed0eb846e41c1e4c98783e4c73d2e8df3bf44d4bf296dbb8a2e353121f6e2525b9278f57347832374434914a2776be2bb143a61 - -COUNT=18 -L = 2048 -KI = 3e642277748f9e6890d4beb87dc9b9a312a748c1e0d8ddf773e79374550ed67fef35c182bf6f9643010d4b66dfb7563d -IVlen = 384 -IV = 1fd976f5a9b149dfad5f5c73aa9d402903af248cf7f74d4cd3128313e00cbac054dc6c53979c1baeb7eed4b0ce57a8e1 -FixedInputDataByteLen = 51 -FixedInputData = 453150b1f3f413566399dc8ae1fe05957853bedd384fece19ef97499ec200fec8ad83559a6c8e421ce75a7ef4e62dc820c4eeb -KO = 490995b83ce1bf7c33d8fc3665814e50015e47c4e5fb67693ffc1a6f759edf0f10afd94d8d133edd3645866f204280b2d4818d76fe67d9e20ffb23c609daa08bc629c3268a56ca0031431f5a5e50822b8e10a6fdd3c56b80ea5d4b8bf5907c8cd145cd0f4f6073055a1d6a32349c1b9fabc77b9d32911c9cafa1e5b66cb8b1428cb721a253d43e8f44ae0c4d498a8fad97cbb1ac8f721c148e507118a08aacb3ac7e8dc6c84392a8ce92016f71871bcb267cdb95a8e1fdb0f780ba2711a1af40cdddf781df613428c5a05b925434ed5aba085c530191d2598545986615cbe00fe5af5ff27c96bf863f2532c49141cdc205b72def18d6fdc46111aecf287e991b - -COUNT=19 -L = 2048 -KI = 5b68795c281b3f680a95dad10edd559203125ba461e84b9108aa6059c0ef4550674429410571a273faaba6c2bbf0b497 -IVlen = 384 -IV = 609099579d70a5a7794cbd567f5b7c51f9859c8a7b4c2786eaef1811ed61aa360a8ac44eed9c20ca5a788a94e0b6855c -FixedInputDataByteLen = 51 -FixedInputData = 30cb620b5be10c465a0c79368328efe68462cf6ff87f5a3a378b6ff910e28dd7550596ee732df98cc65f23973c219705a61d54 -KO = 4306ef8f6ee5e07ab7d51a389147b3d9c7ca054a0d08d81f68502866c4c0d6033d9dad704e1e262a648cfbfde8699d126d34f900f8814b47892f126ce4eb26a1fe1598702f926f83161d793d47113b6ef39bfc5a3dedc923fbd265e8335191db55945c390b55891bd0892b54e74e08bf07b2e21380216e1966300d9a54d4ad37c73a18b5b0507ace700fb3178613696654b1011722621760f12ec703f5a17404c8013fa8f1c4ea7069367a7f739b14a04cb4e991f67500da47df77576aa794291af1b3c36292146814758ddac0e3829cea0988cf0fe9006fc449af5e13719e0eacdd6ef5556e7e9b207daf3856809b918cdb7edc49502f516fa4d006cfb28dfe - -COUNT=20 -L = 560 -KI = 5120055803e8ac29c8afd0d00d77417a8b250661f0ff176b8ce3fefd711dcce12cbd9285cd49455308caebceabdfb58f -IVlen = 384 -IV = 1306c2dda489247c2c882db7dc476233ff9c4781070c1b6c8321fa12487850928b913756f65e657dd7acf08280e14ba8 -FixedInputDataByteLen = 51 -FixedInputData = 3a43cb45315ad1214fa156ec184161a757c972e1364b8bf0904f2589e78d2dd222795fa8d5c48bd66bac7f2d4cbc2f9b620b9e -KO = 7b0c0f8c4bc39ec237b21d65af09d8805290f382219dc91d19bb209285166fad4be66425413910c55f9fc9a49035679113e409aec9c78381d17fdc860ec8146f1556cb417a32 - -COUNT=21 -L = 560 -KI = b8dc17777827a38b1c44b9f525180a806539ec6c5ade0e06bd6223b65e5e8b4fa9d38479c5104008babb724ad057abad -IVlen = 384 -IV = f7ea54cef328295e786c87e28e50829d7d06bbfb4201826dd54f205a8ec49ac4acbcdd3845e3b79272f0a963f0f5056e -FixedInputDataByteLen = 51 -FixedInputData = 2a65d7d1f4b2f30f6d9a18cc91f8e3494e68fe85315efdab5c6535adf8776ea44a997cf8b4511a3a1c0713d88bd102fa06bbf9 -KO = 6e1ba61980c9819ccc7865a84a99559e200d675a90ee3c893466a29f2431e048bc6e9e2291cd7999c4c699a11fbde497f287ab107e179d2fdb689b050db926881a76f71758f7 - -COUNT=22 -L = 560 -KI = 573c7a0cc6fb8e3bf9d45780eba5803b36c667a6b26139e31a54d20484baa8c528024d85282446064729fbdeebe623d6 -IVlen = 384 -IV = b28d61950a49beb8874d868a542ac89dcf3f49bdda93773b8ee9174c552ade5a37e90b075fa69b1eb16e4b6138b4eb02 -FixedInputDataByteLen = 51 -FixedInputData = 9e079c55692b183a2fbd7321b4937b2f18232f2fc5130bb78aa010e89bdbc8e219de9554d05a93935eb855e112a700e4e7fcf8 -KO = 7ba8c9777afd8f031ed2c471b168461d8b02253fef46407be271afe65e3bf08efc541eae134daff26c9293818523b0e2df996b842536fe4a90ed8aa0abbda883db96fb7b69b3 - -COUNT=23 -L = 560 -KI = 4cf2210fec4455a75ca009a42d17f067b2b9408e831cac36abac8ed72f309b00aed564c4878558005f7ebc7830dd71aa -IVlen = 384 -IV = 928b15dfaff51ba18011b479c0986dce37b8c54fd7b844b2e12b458710b3acdcd8c5401c5be3c74984dfc1ec6883b97c -FixedInputDataByteLen = 51 -FixedInputData = cde58c4eb59442ace4a394d7238d8e6b1f9fbf85fa28d3b8fbcc9d2fd852d7ba10965817c2c2c959410ba2a06426ca57b7550b -KO = 7a70ea1b0b8840402c133dbafb8c25ea7625698938c7eac80811cbce33cd02e398834c03e41bfacc89e733f8327f5c0b5768039f40536dc704a43c62744a4088ccdfbe599eeb - -COUNT=24 -L = 560 -KI = db05841c66c774c99a6163a8b4df6fc966cdf5453e4575cc994b5203d74c544a78c014dd98a87d1fb86044fe393f236a -IVlen = 384 -IV = 9ffb1871fc07fca7313d03e994e7eeb53f029312f0a56f635a0a914bca8b17c3b20634a645cc6521001fccf4ddfa8b81 -FixedInputDataByteLen = 51 -FixedInputData = fd89b5b8b7fb77eee43119e2102a7a8e6e9078d59eeab01e67e819112a4d0cdb420a9b9011fea51311da4058592f37b4da9531 -KO = cd5b783eccbe32157d1dbce5d4650152811c8c17e92da8b1c2ad81d6dbcbb02b67dd9327bdd431b559bd249775b7a0ac262de6671ab7c345e818ea33c7a2b73dd02dfd5e1a55 - -COUNT=25 -L = 560 -KI = bd7e88a4f0b9735572156c979bd758dd1d576b1cc03a8f24771adf0f233f4fc5a1d357e6ad8e4223ec041a4696dda425 -IVlen = 384 -IV = 684930c48ac4960d19c2c71b0a5471fa372c1b158c70a44e4676f54c331d5d24a40719435e0d580bf981af0e3458dd95 -FixedInputDataByteLen = 51 -FixedInputData = 22c389e2195bf8261cd4c119293df67417807889f4188905ba427f31fecd616decd1cce9b15e51a4e8339e86ce14fa37d89676 -KO = de0f2ea3bb151fe425c344ec6e30554346f4dfcb70c4f8617e2ca881c85aa1ceae7d3706ab5967711f1fd1f4a59db02acde1cc950630ebb421ebf3d5328484274aff60adb041 - -COUNT=26 -L = 560 -KI = 992c78406aae2f3663a6fb5a0956fe335badd670372dfd36c626f94a40443b19c867b127e6222eeb8fdf8e8e464670e3 -IVlen = 384 -IV = aa59ef4aa1634fb1be00d545cb1b91e1e8981ddc68413cee5fba775486a1fbae6e74551c012f77c5ccb77a0caa9b113f -FixedInputDataByteLen = 51 -FixedInputData = 497918915345ded4cf3a66747a590d0b058fe10491b488211a8606c1b0f1255865d530625f949f7fb644543f790d497c68952d -KO = 3064989fa166a8935f0400cc754f7b0d50b9e76a57a2dbd8935b3000d5de46f8edcafa7154384c3395e2e8d21bd33afa9ef53b0b11049d9ba89b8f42852652514250969373cd - -COUNT=27 -L = 560 -KI = f9491be20090f03d1705a7eec2f24e9c36aa59ad92c21782f042e2120de76a6db46bbfd802fbce7f02ef6bf63253103a -IVlen = 384 -IV = 27bf700af2286fde4699ccae7dc614856c832e3ac54c8dbc9ef3e7978c3943bb695f9b4a5077c478fac21bdf453b0772 -FixedInputDataByteLen = 51 -FixedInputData = 10d64184d8b99da3a72868ca36e1a3f30fd12ad4d65c0ae8a65277e8348ed4eeb70ffecbf25cb4505ef37642fc60ee4716631f -KO = fb17fdd0f5508913f0f7be22789a1bcc17701372e38f6f27e0e46083ec8b34e84f7f2c6bf4e865b056c37f0a979ea21f42926400cf95b723903d75d41bd3bbef963e8dbee010 - -COUNT=28 -L = 560 -KI = cba0445d9babdd8556cd5e8a5cbfd219f731f23c607cfdb8e1ca7943b3f65f86e3692da3da27b52cea55ba1e4b2a3ab0 -IVlen = 384 -IV = 563e4769ad08a3afca294adaeb10bbd1cd80181869096543d4809377dbdfa491fe85caa76bf29068dc4bab33331595fa -FixedInputDataByteLen = 51 -FixedInputData = 3f15742abae20d1c2546c1332ff77c69e0d06801f23e6c507467f8ff686b55bcac990bbf704382b9f192adf8d46ddf36bc44eb -KO = a7ec39e82b060670add0c0a247a236f576fd30047994a67dc7d7d8670052afa37bc305df5ee2d5b8fd6cb782d2c6c5461be61cf9902936db997213befe6bcfb068d8d4e3de74 - -COUNT=29 -L = 560 -KI = 9b1e35d6301e29acac9b9addf91d2db6aafc44c585137748a10e0ef1d4b4f088eb78d2f5b88c8ca8834956370da69287 -IVlen = 384 -IV = e933b9987e167195dd083904bcaa6276046903eeeee459ea893c51d5a1b3d84b15378645f4ae25a0ce989758c3d0c53c -FixedInputDataByteLen = 51 -FixedInputData = 3f39b276a510a29562d359a135d386920e8fa6c6cac2732626f548fba0cb4ff0a7c956ef66ca681afdb802f187a5ee43bfebc5 -KO = 895bac35f9148285f52c238021c891d0638cdaabedd9dae9a7f82c98d44990b9269ecec02725f84bcc6ecee131005b3d831ae1b2e71fe52073a0f791b6f9d0cc90a74a30b77f - -COUNT=30 -L = 2400 -KI = 8365cde0a214b62aec697f7d927bdd6567cb9e2e28afe0bdda6e2cee53afe758d6760039e7217ad208bb58833f01ff16 -IVlen = 384 -IV = 5e81cf14f432565dd98bfd33886303965bc450276bd0240eef3ddc7a05b00de2990260a823573beb11c65f5ad0aebe59 -FixedInputDataByteLen = 51 -FixedInputData = c9e536612469bbec4882ebe7923cdb5021c47f31884bed52d308caec5334637ec2718670cda0ffa115cfa071a53c6235d877e2 -KO = bf387cf90d96f34d6d29ab7fe2201c547517f5e231b5be4c3960cfa6ce5388bf622a478e983c535733508b39ec781ca82a89a03fb32e9d64701e805efd36b56c26cb6ecb5197a0feb1b28d0dcacc8ed4e60442c6ad08aaafa0a1a0a2155d3bd37acb29c001a37caaa9aeca71ac6dfab152b4f277cbde84bb7a0bbec6c0711970d04e942173345ad0e7cb4c999eed1d30370e13888ec2c4a3a2e1c94f43a588521692430a64fea4a2c50fce6d2910c16b56ccb509a195175a1e53356789eda80ac735928c579fa0a14ab1151a74908a11f24284c91283bea2b391ee5aee39df0ea55d15682e4b4dbe434d0fd5d5af199a82de3336e1ec3047ef7048695d6e021a79653506c488daf5226677fe346bf7bcb5029c44c5491895d90e6df7802f8535fccfb734c7c0171e1f02fc44 - -COUNT=31 -L = 2400 -KI = 65ca9503b896bef76f2e08a9f6c909295dbcec357f6f489dfb8943ee079fba28047f7d963f6f9e8bae088ce9434ee37b -IVlen = 384 -IV = 8fd46c031e94c1a03f959b4b3e2c35795394fc27f433f901be8de2a3ae6826342f00a0e81a87c65b27e6c2ab8b37bb18 -FixedInputDataByteLen = 51 -FixedInputData = 5ae1b0f6590525febbfb7a3760209eb9c9381f790fe9a083705f487f19694ea1bb3edc5ee9b5c13f4db30bd17fc1ecfc35e80a -KO = 73b58b0cce823c28c51c143d0a82e402d9cbddea8121e826f82a1da7fba9734c32108142db39cf2ee6056ca13da284ecfe452a7f92c0b377631869d29d923cffd49b5f3517717c938bec82d7ecc549d38807e8231ad096aade668f441baac01630d205c6d8a622c0b6c2d33bedcb351a40572bfd95128c58ff3641ff9d375bec14ff6da191f77c4138add7e62aa9e7d908390af8e6295457712cff27cf1d1dd87c53186d109457a89bf04b1f7d092f97a6c71ec7cf5d4121e6b7146f988297852e18f7af8110fe64ec1f808a6e2499906229e9c25dd22b72d5e2fec5918038708d7449a2fe5a7e2c4122e1299d1ea34885c1aa9a6110b66ff530a8c39eb5e3029e258d2771ee4330c620a0279b32e87398d1b2cd89b5f174940f9d82dc131bb941b9d39afa959db8b6f53538 - -COUNT=32 -L = 2400 -KI = 10f2337665e7aa186da7a9e8f36320fbe1f5d1bb86aaf8c841b4c63078765e39b7ab29144b849e2ad02be5a556dc934f -IVlen = 384 -IV = 231cccad23324e0c0a32f0556beea0bc923ed7c01694e3dff493d38d6dbd3b9a96831392bf28af1cde2d4669d30c4d53 -FixedInputDataByteLen = 51 -FixedInputData = 48dbf158ae9ee1bf7a88cd6e5cc5c62812524f8910f8b508f98fc4c2e4bfaee7f7bfc84cca5f2a203a485a10b7734a96e7a2d5 -KO = dd02e9aa475d57c05ec11794b5572e290506fa57e6693b12ede7275b27bdb43786556936eac2b89daaf1ce08dc130f82228f9a346fba2a5c60860af93617f20375371e0187c0d9641009f844dd54f779e103ec2dc774e30d7bf47b2e11ae4f9a6215549a81b55e0d2176535c154d6a8b0d860dd0ab9a8bcfebdc329506e6675fb712c4e67e138cbd7d712556a626d13a288035eb1820301c8fd615ab4d2a6a1bf2f3a218c0cbab24b3e75bc81917913b215c5e6c6acd348a4777c16c96679c9171bcddcfc6dc22c16811b9cbd06e353581f7567d6ccff4bfbc72c2ca6a9027c8efbb308facbfa8d983cf630f139959c8b316ebd7463a6145c3fba156798e1bb86501d37d5dd75242c198828d8449e7ab295d1897e783fe66cbc99170212caac36bf5373072fd80ef6ea16b4c - -COUNT=33 -L = 2400 -KI = b322a131d61a2e5b766a24e7f27c96f1fa170b1472194c9b1e0f80280d99370090e4e6437e652c5d16b5294e3dc11628 -IVlen = 384 -IV = a31f9bbb0bdbfd5d1de1ad56f1126a3e4c876528c288656b44047c88eac26679c2680e5b6ad50e92ca9c6fdda6fae61e -FixedInputDataByteLen = 51 -FixedInputData = ff79c853a9ace46112da38e654f6c2d7cbb150f223f29794344574dcf88b00c0b865c7850944b01bd1c995b3c5b1313dd1e062 -KO = 5dadf8ce0d30b1d10ee3e5b89bef6eb442a3738f6926023222f0374d2795f3cb63cb14dea57f4b5db5a24f49db2719b5e6fd5019dfdf8c24b0ad41a5f60cdc7fc9baf7688bd969746cad591c2261143f19f365ac093578d0e12598d1f4ca740ba47e4fa850c51b939ba5c092569ac0d96f71ec3692d3a7b86a409d179f372c2d449c4046991bb258d49fcb64cf5a2f29d3c030138d00134db7c1bbefb4c815c454864e8d547d539b19ec8537a4412d0bfa1dfa60bb3488d459f139d60eaef35bceb77519d16e628076c8b208008f80fe2941508e945358d4b4ef7a6da813747ae01d14e711a091626aa5179bb62539c592b92a5d181f9e247be4622764f46b4fe7d3d54829860160eae75b78af4fb4d41bf512d20791250925b427b58d40444bed1b6bff316bcc14ca908321 - -COUNT=34 -L = 2400 -KI = 73b9ae83c1ee598761749c00abb375b557a867debff5db23c3f66962646bea3c5d53e4f9822fcc01730d5b8ab17504b7 -IVlen = 384 -IV = 94afd2b77048e49a5d9cc7c767ec4183b96c83a6478868d1a14e3c20a2c5e144ab10b188438be2367492f0ee3cde5466 -FixedInputDataByteLen = 51 -FixedInputData = 9a5f041625f29b94f4b248c14bb53c180d525dbf91ea9e5db7e91209eb546b4d326663af22757dbebf5ad5f16636e8978f2d29 -KO = c19cf8d832f12be294c87def8c83fc5691d6740d070da2b5d5287b77f842b7c27798fdd9598cf994bf63ade8ec0ab5fda4b53168b8b395b7393178fb9b42006b5200d8f71518883135df94f82e8409308969cfa27560f1da2fc13253d5fadf6d4d7ed3ba20dac9f871c911520826030587250b6a130a6e3bd84bd5e35510208e26e5830d0ab27efcc88fbab7d809202d23f512c0199336b1110e927d02f5d4243ab5fa1d6f061a9183cf39eb76834dbbf95ea336fb9c106d4aa9949b1a279e634d9b6da1c4d81782797dc49b4ed7b36cd54ebe0f89978145c2baa16d51b5f15e8b2368c219e007cf121cefbb7e750de02d0e1fbd3f707aa607e6e16001230ed69b61aee5235c881b4e9c3f7d44ebf4b2196382d08ddac63f57b05d16374da5e27304eb42264b02e3feaf396d - -COUNT=35 -L = 2400 -KI = 4ac3e05f7b5da097fe8dfb7150d3dec7decef77816639a429bbf1dea45fd7b7e6d7ff1275a88c179ec7cb3c1cc500beb -IVlen = 384 -IV = a8f98719fed5c6013ecebc071ec2991d48f5bdefcaeca84ee2e3a8ef15b5a95cc0decf4632a1093c64ef47ebb7dbd648 -FixedInputDataByteLen = 51 -FixedInputData = 31a7ba7ce92bbbafb8db56aebcd0c362f8f12cc83a809a3cbf16607af07615a48457e5ae76f92038f0217d8d5e8d2409577ec8 -KO = 39599f41ef592708db8c3118270f3f1975c811b7971436a061f695f36bdd0945062b8da2bd07880d860dc7ac16324367640127f7ace2909b0b6c3ffbb78808a6174c34d6d6c43792ab9a8cc7cfb49093ee86d6a26a53d2d74ce6f5fdee5b3d41ef44586484c3fe4923bcfaae305cbe3a846559a119684f102c619ea85c01c5ebb6af3c6cb89d8565b8310e59ffde0158c6a4f972e26f1f837bdad88163aaa08beb6072f8b3fd6b998a67903cb1ac09e2e18679a052a6182ed06aed363cfd7e6e600289d6dcbe48cae7afff2c2beb87332734fb234177be8a594c38a6e2aadb3d7380b7ac11c46001b87668d8f042877ff2831826ba23812ffc0d01461718a7a1ffb2b69a609f7b8a0fd03511ae46876bcbc6a9dd86ad1b4a3f309280d5b3a5844f4498777d1d802db187accf - -COUNT=36 -L = 2400 -KI = 0449b52e7a8c3ec342c6d088e56e5f1b3357d9d85e8001eec7440a6462df08699b28b56027727442ff726b00437e5fb5 -IVlen = 384 -IV = 68a8a9b0bb0c8d2cb1ec3a73db80898320bb3d0ee67f3a9d51574e9bb1e4b7b5b69e8b863bff570349d7c262d156a4d8 -FixedInputDataByteLen = 51 -FixedInputData = de8b872c9211e9113b67e4118c3fc5cbd48e6688b1fc657c67c08b8cdfea12e6455c3c67d8db04a07d7c0ed33506fb32a72a1b -KO = 7a0badfb5582c5fbf8c6f3b7d8a82b2e1eb050451fac380831581c7a1ad16f915637020529c6e9928f7b0335999c1ff6232563d63d0057372b3633e33ebff1ec5078ee4b00a3e602d5e02418e74eb08ea1a11c728d57330aaa5091f7df32a7e7e072eeb909fbded18b007d0ecdc5c50cb987dd0be221e2b36962ee549dbb1e49a6e0b1f1c7d10c79e6f06c2ae87a016e59f6f8b84fb3dc4825c31fd508830e6fc2c635e528201a5387620bab46fe317fcd0febe1e95cfbb293ae86a42de82839a33b93f6b47d953e5a3070b6a9c9c4d7acf37c964cd1204cf7c9657bf35dccc6ca72d0232367d523d119b905a390c8573d46ec3b0c2808f3ba3f642a9f344632831ac116fa3c877e0d44f0e69696a9c2306933d462cea11401c3713571119fcff28bb33786dd12b57052e88c - -COUNT=37 -L = 2400 -KI = 7aa00027cb83ef98e70669fb1a666cb016e922a70d9ecc550598dbabfeba0858f0554598ecf7fed4dc513335af06fd32 -IVlen = 384 -IV = 538bcc41e294c24b9edc626fa94fd820e5a55db114a90a13e036d5551884b546a37d7101b1f729ace278f86bdf4cc2ff -FixedInputDataByteLen = 51 -FixedInputData = b24cab9671b5ebd3c0e282642d099aa34172c7dd765734d314660df59f11d2c09b454eae544582511150c141a67981a415a433 -KO = b83cf07b44052bd909a11400aaa7cc43449fceba80f87db7d09cd0199c6d5c0eb20584d0d73d42c8b35d92419e04f1ac11e9788e37fa245654207c30923be46681f6aa7de3b3afa867855192ca643500b47f507b320259cb0a57850d0e8180a1cd77246d908562cd8d3a20947e2d9d021d5fc7b1f9902900bde34657e84ae0055cbe8fdb80dd0270ed0dfa1243825c7a103dcce6bdf2d5052c4242b19a1ebb4cd19610d2a23a8d71f1aeddd12ad4572f178a6cd38b26f4de25971ec389dd97abe6e3ad90ab67ef334697e6dbf5ad0d265544c05f335aa785de28621318f4c3ba20e8d09fb6a0423871c8b74b4f0997e8ae6fd7e23064e43e970ca4371e6f64436fd586850a2df8d57ad59e5ad8dd89cc47849c5aa0b504f1092a2c003f86fa43ea5b0c248328099da2ee8e70 - -COUNT=38 -L = 2400 -KI = b9f1575b798ed7871551d8b8e36dd648c2be10669d0519ed0acf3fb16f012d3b3e85d99554cb4f6db9e560a4388792e3 -IVlen = 384 -IV = 077b33bc32ec5434a94b03e810acf7257ad65c3763a22ffe6169478d66e10df0038b6dc1c6ef77ee3c620cad11258ee8 -FixedInputDataByteLen = 51 -FixedInputData = dce66066ced2ebef3be57aa8279920f10728fe4a4b9a86d5c7861361f2bd52478b91638ab9dc552f37f69dae5bc1b0799c8449 -KO = fb17da5e3a16b11ddde8d4022d2867afaab3b5d1b5f7802518a33308f72d735fc188531e389ba46c0d67c303e4415f936518941ee61857885aa4e553854ddb0bb2c0953b4f846e67e287db5fd8aa35be20550fb7f320fda0f653b3f5f719c918002344b9afecf82a0ef14443d1b7b4d5edb245200f8d3807a64cbdcadf8b947353ef6069a15cb6c0bbcf118cbb7b83d1fc91b95044abedfd239487ff568350cdc0bd5b5ee77b9d9bca0d1d2560c45bdb87fe3e5242758e9081f6c1386edf3abf0aa6a1494e817eb9572a8197b49f9f2e31fdb6c3afe828ecd2c4c0022abed86135a165179591b76bdb5f2eca6eb892bb84378586080208aaec07de1dbfb01589d3ae924f2b8a7ea0aed2f3525e302585e219e7d458f91713bac561f440beae7a035024d15ad36485f2237dee - -COUNT=39 -L = 2400 -KI = 62e7523279404908402881c2ec4aa9746786da9fdb4c3b0bb8903c1c533ce136fe31fca4b77010758e0b1c00787884d6 -IVlen = 384 -IV = f17244005fecdcc6c93fdd86e86534a608c1a2bc5845fa6c4727a7359d7292100c2e2154ebb5459c391f89761d40ab6e -FixedInputDataByteLen = 51 -FixedInputData = f2d7cd7b3e909eb5d78f6dacc3802ced02c1119e7244564d80e61d7ad880473b5fa9718afe901303676897b3bf701cd412655b -KO = 3613c68983d530bca281a1b79bbe786c301bce99880ec34bf7af00956546fdcd0ac37a4ef00949c9a63d658f2c540340f8dbe618e487afc6a0e1c15e5c27a28a9ca2ac095c0ca83373fb9ba02adef7545b4c1e2d28bbfdcee54a83ac5b1ca2ae1e31e8f1f416bbd254e0957c06f165a01e1f6c2e04fa69958de7d097849eb78593aa4a3e79b12e04f5464f5b7b73eed4c2fe87d1f51f21e6d2e9a7fbe399eeb8ecf32d05d64704f6523d4299cdfaae85f87d13b79b6a5c1006df7553fdd137ef9e6b4b0743f4d048031e4ebf53925adbeb1083e45022cca2dcd501504d2220ecb7adc926c2554f78457d9bf9ab536386f097973a526af5c6e29d4d9608dde4205536b9e8f36acee02da38fd33069ac1b0c92e3d40f2cd6e536df68d6e6d34f02d085bbda7af4ddbd0c574966 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = ad89b3515d02caa65befc0164464980f2fb270209467d76cc60b7f86fa26db5e6c62ec6f98925f34e9a82d4e3a5985e5 -IVlen = 384 -IV = b0da8c2de624df63809ef405ae7c09331d359cf9d809a1fc2282031b6e5457e0b077b222da53be2c97ae64d0080df511 -FixedInputDataByteLen = 51 -FixedInputData = ac3cf94f1d9326032390dffdd79b59a58e149a35748852fbfeda0577b49d6e4372e45942555ddb4ba027e7fefbc4f1787f0f0f -KO = aec38bac22d91efd3c078f1ee3be191d544123667940db48b2fdcc4498e1475f8302aef0e3407cdd3705797a6fa1311791b1749a331449f61eee325b97db2411 - -COUNT=1 -L = 512 -KI = 2c6863a0ab335386bd5833309bf176a147bb449493a0c6dc62a951c9f23770466f1e2fb099ce27e66797b3c04bc104de -IVlen = 384 -IV = 5aa03a8622ffd62764e49ce7de7fa0ce94bebc4fac64b728103952e2cc6e5328b2ef9df9fe2fc4ceccfb9f641b369e33 -FixedInputDataByteLen = 51 -FixedInputData = 28a16184b0b785aff773138a8110ff53cfa089538257d2b21e104409d678cfeb56b616ac94b15b56110e186f6d3bad8d619bac -KO = fe120ecd029970845e48a4a05672900746ebab4ec498437a4f38c9eec24d5fa2081dd44e9945f6d932085b494238c2e6dc7834ab4e41f92badc535fa73d05cb5 - -COUNT=2 -L = 512 -KI = 4a113a2c81fbab8ca29a1968f01287279cd15c3488c5b878ba1bda0cbbbe090ab8e6d20a33505dc0dc69a7b66aa33ecc -IVlen = 384 -IV = 97f44777e8dff4e5dde9bcd13044ea4fbfe8c3010dcdbd95d10f416043bae1ab9d1b6a42bbab80e07196a272cd97754c -FixedInputDataByteLen = 51 -FixedInputData = 607f59b028f1d3772b7e3059da2e85f0b505b1e3866b0fa7ca552a3acbf7ac0626970c5fda3322ef8f5765160cfb5899570ef9 -KO = d50722b141feef32f8b3633dfc76ec5007bf73fb9c02b637d3dd1d78d8622ec9c178f5abbce6f28a80d4cf227c89c2829ac15fcddfb711c73438e928d1e9c83e - -COUNT=3 -L = 512 -KI = b9109b7c88236a1ce02011027001f830e88590e3318b352a8a438e7633acdddff470cd0287c60c119bf7d00ab5e20230 -IVlen = 384 -IV = 1b796a947f4ec07bd2443173eaba08e64f473250ee805fd2e4069d4bcc8f3434f15a69e85c0018e798b95977f1123342 -FixedInputDataByteLen = 51 -FixedInputData = d2fd9025e75a61a04d090f9d4555894e2835e80c74e3b62903f891756eab697f11f28c2d47704aa16a9dee4d90b9140b641803 -KO = d3e470e896721701a56ff220366c54e3a19934668bb37cd7de9f4d3672b92526b34ffed67baffc92f2a6df971a712eeb869b759b5cea53cbc320b84d33d9a2e7 - -COUNT=4 -L = 512 -KI = 1e05b3abb3173ea0370449965f6c8cf5a527a8b59ffc4ef23af6442e01dafcde8cff74f4724291873b33ae74c93ae95f -IVlen = 384 -IV = 8bd41eed0d10b177994e57a2704554dd4549b18bdb294ee1d41d777e98fdcb64682a48e7615bd24bcac09c071f74740b -FixedInputDataByteLen = 51 -FixedInputData = e8cb277940a1d3297a75d98a458f4465ea2a72d12ea5d9b97392a3365921fc039e138e343c903414cf5400490c366859ecbbfe -KO = 6b3984c1d5aca0f14748c3114b6d1735ca1af06c23a18788ffc779ef89dfb4d37ba4e3bea3d637f5127d46ab57a51e530951a0d128028321db047b124bba3eb0 - -COUNT=5 -L = 512 -KI = ef0e0007523599740b331a7068168d11b5464b51de9ca8c9d7094c954b964080e8e14535b9ddc1cc00b1a00cf9c16143 -IVlen = 384 -IV = 69f4dfab0dbdfea9e3209ac9140ad14f7047d9b185f0bf50c7a592fe91ecaa565e5ec4bfd2e9d5d0893ef44b435fbc85 -FixedInputDataByteLen = 51 -FixedInputData = ab410c99c231c79df2ef166402c30345532fba1e9d2ba74d8a002623166930e576d99e15f7ce520bd0f8eace51a113be7add53 -KO = f24f10b35f7e7583ca00362990024729cfa56b59f9a24db861ec0a70ba23a8eb960d24b1167a2383646e1618736d3622e0f208badaeb4960e711761401b9749c - -COUNT=6 -L = 512 -KI = d9f004eba3038bb0b478a41474d7d11e4fbcc063a0b63a74dcc9fff9b24b8bf92c86407ad72185304160f776fa0d1976 -IVlen = 384 -IV = f38b41970edc1fb11555b7ab99beaf5a6a07b6fb62aa1222b17f30006cf0bfa35bf8c7b2bcf6561a86dc63812e47ac6d -FixedInputDataByteLen = 51 -FixedInputData = bd81baf63d0f4526992f7d4f55cd5372eec1f7a4f5f413dcec9dd48122ad1aa7458cfdcbde592db4fab7b54625454c11ae63d2 -KO = 37313df26ad6265e275d6b78a978ded0e7fb27fc4330f587ddf5ac01918018a03125a23b5799f60ccf40a0584c7e7b97ef393f0bc03f4088dac0dd8c3a95ce4f - -COUNT=7 -L = 512 -KI = 34f77b7f2a64314b6aad8b08d007eacc837fca0fde9217ea9594d90a4b69d538fb91763bcc150681fba2724158bb68bd -IVlen = 384 -IV = ac27446fabddc8413100f72bc92c396bdbfdb7c713dd7567fbd5a5e899038fb20a1c6b05b404d087370c7073c2b4ea47 -FixedInputDataByteLen = 51 -FixedInputData = 90965c3bcb7a3ba315e859b83dbf23db898d800cbeff125afdac0ff2b9932404a9a5286e181fc245efe3f9ad454ee80b1d4a56 -KO = 312eddd609f77f40266efd5084d636de3ca43577189cc58b07c6aea9a0c35846ac238327e7b57ad55fe0795b260f61ae388254d5bd752c9e94971e4089833078 - -COUNT=8 -L = 512 -KI = d41c8b8a50386575900c9a30eeed5b28430ef30677b6578b54a2427d952abe31dcea6f020efc3ec060e30381299ac890 -IVlen = 384 -IV = 96cf87153c54cd6fe9f2ddb210e3e6cb93755f4ed9446a6f8286728f3fcfc38c3ca3414c81df4bc3739a48de2da39e40 -FixedInputDataByteLen = 51 -FixedInputData = b3adeddcfc8cc1c33e59c7b576666ddd4758c9e1202d800b511b4433ea45adf12aa2b9aaebcee9ab4223320884c74d6a669798 -KO = f2f3c1ac8b38e374e3cf16a1df0239483ed6193d334e43aa147eac63cd22e9fd560e9f82edc6565f458540961aafb144f9346a4e6c12d5ea23b66679e14376b2 - -COUNT=9 -L = 512 -KI = fd6f08aaa70658e45103949ec8921a8a8276a143279f3d88c7fd36258c8b10e7c345583944a54e24337575dfde7e074f -IVlen = 384 -IV = 2ddf90ab9060810bb4739c21dfec709f4822f86a8caa5f09f1937dea2a9e1f5d454bc0d3a12062020231fbe5b3a716c3 -FixedInputDataByteLen = 51 -FixedInputData = 5a92165807e69573dc40f1505c8cea12b11c6e4fac4d9756ab69fc0ad84b509d87f7b5c667de9f5046fb68b12b2a87a4059e4d -KO = 71b8d0ebeb6bdb31b94d8d1fe8edb921ff2d28989cdb5eaed8e424311f15cf9e1350a4fa5b894c496c4f4d8f4dc8c0dab4eb7ff30214f882e609aea8200520f3 - -COUNT=10 -L = 2048 -KI = 770fd84ffcdb372dfa499ef26601a26bfb09b1ac0bc2db5e6b709068af6efaf531b53d01fe06503f2775ffa23b226d02 -IVlen = 384 -IV = af4b4e2d2f4348bad8121c180e8e1733f6b740b5fb6030c3e55d59ca3cef51bebeb25cb3d00b3262fc22fd99152fae83 -FixedInputDataByteLen = 51 -FixedInputData = f62d24a94c0f440b5d361ecb5265ace557a9ce61364b64d991f581839763ce5e53d3f93ecb1e595320271ab3a0bcd069c18918 -KO = 83f07653eee2d015c7ce9ef1ec9afcaaaa5270b8ea55e762e2d1260466e6658edb1231d11ee2a9ad127c483fb419b6c0c1541a90eca4583786322c9ed470cfdbd2e79528842826c2038638b472e159616a7cce8ffa7b7720f733f65b5d231a861a0056a0650daf1a7d5592ed23d4c74bcf5408003ed0a3a44d986a7ee3978ff5f2de0785eed85e9d67639276f2bacdf1deb9b945bb0616dc12b16e4d9d35bf3a2482d3bfc5c2f18f94571c0bd4b5812d0b4a0527a89401761f1f20e016c4723ca0a450b2d001965a6cff663546a04166d0f27ff463d70fb17c6fc5065f9d189693b246c531abcf375a53666ff97bff71ce2d2e2b3203e4d149fc4c53a51734a2 - -COUNT=11 -L = 2048 -KI = a9bc376a07b1f99357094747903dae79e709e5de8f8b9798152eb83454c8e8765d0c9ff9efaa6a6e2fc68dca451cc57f -IVlen = 384 -IV = c2b6d668780b221b3c505c01a62f05f812e8178e73252bc3c8867e9d122c5782e6db10b678f7a801ad29a8302f2f5307 -FixedInputDataByteLen = 51 -FixedInputData = f522f52da082966f0e0c4b6313fe7c81658701d72554f674cc27e7019a70d8d15a082b9836d7809871deb2a7a07d589589b0ae -KO = 930b9a71b2c6dbaa22bc05985159613dd550f2c22681c92004ffabf5b0995cfbdf33eb0ce8d44f96dd3336c785e3b2a3818ce24c5c8c4f0367642c9f0e7dd5466c834d8e4a12df987839a8509a6d66a9e2582c5b53302b4bd3b94c2604a0e126df489d42ffe50ea6a04212c935324b71172b17baef617881b80ecb93e64533875f6c7e6a217512fc843e872ece9fd7bf67107bbd6b7e0c3be414c6cd5804ac5492af30c061bf70fd9be9f0bc7dff3e86cc9683af889371b516f35cf0c7cd3cd762bcb8f0130d374ea337b0c8a439c298e5e8f52685582858dff9338b5fb95805af627e1e5500a5addf30a52745a6ead9fece635eab8207635a04f58dc142ae87 - -COUNT=12 -L = 2048 -KI = cff72f26ccb4ccc97ec654851dddf005cef84e4c8d1701853a23f06d06da5a16f0dc489dfc7bc33b964939c7add4d148 -IVlen = 384 -IV = b5ddc6757fe0746ac5cbc0dbf6664a6f944fec490cb8243b246a827cfda4ed2fce0307a7cfedf80eb92a48d7770272de -FixedInputDataByteLen = 51 -FixedInputData = a39313a87e4754026d1ebe838c8be9ba9e490348fc765d0a9b40064e62ff3c266825fa3e44d50864ca91c8f5a667e886c1455a -KO = 1c838f7fc465e7d5c35486db4f49681395f00d5a1ea5120b646a2852f1f45373431d0d70d99d6863687ab791cbc19e456f2036c9571fc5a6c8dcaf4e620ed4e1b60b62ddcde8a71f83e3692173a5897c1ded2c18ad6a70c953fdeef64b88d2b5249bf5516e87f1743678e14e3e11ef5c32ff000b0905c36bde081ccd91b05226fcc7552c76920c3de78b837f52254f3db6f116f0f7cc80324b0e9bae2c3e89ec929ad9b81f640979b49e7e6ee063e0700255987fee9435d5dfc5e07fe5aeeba21935dbac2da0a0ff97c47a16b74138f13adf442ac5d9556f17712805c20a19d5eac5299127ed06953bd642793ea65e354c7e6931397c889479f19ca41c2961f6 - -COUNT=13 -L = 2048 -KI = aa3c720958d992962319cde9ae1bf2b575d6af2d28bb8507715f34dafc69cc6c1aba5375ead7f4e98b7b0ff4efc99271 -IVlen = 384 -IV = 2d7d79e330a9d7a23243bacb06c852397696c0bf54a8146d42fd593999c4c469574da761d98f47988a6f606b0cb224c1 -FixedInputDataByteLen = 51 -FixedInputData = 5e3fbead3c1d6ea0ab064fc52c77acb8367a73338d523a287c7f37b783eec96b6f6c1ddf17f7505846378e9e18953771869b11 -KO = e98392e504d1bd5ce4ef95f38baef6adda3f56770f020620e607fdac1e47d4d318f678e499ba4789a0a3003038506d2ced41ae2b6f08aec4960902c9bc9f957d73e4b7d18a4411b5932e5cbbac24b2a6ca4bf4b797e6502bf606561edc89cd5d985f070804ee45b7af6b6e939910ef0cc987c15b363b09599544d3d12d8b5343be4c2e325475940d035d671ca1500d759177999560042c793714dee6332e431b7c0006870ea2723ef0f88428b650615a4cffc13927d0417d0cefc5fb9069dd63d211be7a3ec13f133ef88a6acb708b82cb11f4204e0f5ec5b9ebcd590e8f50c387e881c365856681bf93bbc8d97cd37f069bdd90aee2dfdecf21d2c85321f566 - -COUNT=14 -L = 2048 -KI = 8db0913067078e378ac4f77d30400457f3f59d5946382cafdbc7189b483388c608f52919ac8a230aa440b96f1f7f941e -IVlen = 384 -IV = 693d893c8980091b6270fd3623ee359979e539704392105a7379a541139376b78310860488298c461d72e4de0a433839 -FixedInputDataByteLen = 51 -FixedInputData = b09e7980a2e6e8f55b509628893311f3523169b69b0dfc4b36ea771fe3c8273a310984c6c135dacb69057c5773983e164ce1f3 -KO = 50f2aeee557ffae953f52c10a91138c96cc7ba98614ad1ec4850c49fd48aac168f6d17e92bc070000b7c34e85016d5aa3017c1a6baa384deeb764b99e7f22c8e87798508f26919b6686b33c9b5daa1852fbf0c45ecf1915fafd1f0074bdbfa89384aa7e9daf8e8dc8292b9a36b31e4b0736291bfb1fbd82211ab629c1e023b5783c9920eecb4d447258cc31053267b98e38f29af2552dea45c8839067a59ab61a24200cc9dacf92e457106fa9e4f203a3358b2b7f832e4163b3e570b6882665f26f47f183743331725cbe71e36e9fcae1da013803c103b4438564e132a315cf61a831126c504d5d96b669493c1a3fab12b5c5785048ec30855c3309f5a87fe5a - -COUNT=15 -L = 2048 -KI = aef01e0b37e06f8af14e0164222ed095ab3f94ca25cd9e6b141b52fc242e26d50956cea19b4721fd1e6ebcabd1db3b2c -IVlen = 384 -IV = daf7e19ee1ba219a7c0cfd532af16033fc2641228be115dfa87f5dcc54985bfdba46ead3b09d6c233717047872046f58 -FixedInputDataByteLen = 51 -FixedInputData = aabda0ad3b81fc7476ad30a4d9f753ae90e636825e02dae8bbe73ea7417660f897d8aa88d08b1042d06ac56e10ec862fec1ab6 -KO = 0d2e8cd3d90e1f598bc723bab525d2ff355f1813c3196e1d2ff9a2b59ed141c1e3a645725a320259c1289cb45ce31fccd835109b719f052f5924a76fcfa8f0c9d864ed30f87a70a50e970e48f9bb46c64482451fd703d16468fe27453e2743b1ec6bba24852c4379536bb1174b20ce26a84c4abf15e0990e0ea537409ff19c736eb8b507c80502701a4bd2ec64b1e4143f9c8dcfe65a3457d9c60ce6cd9f86e4f19a50f46389e579ebbd2dc8131d46c4b7034697503bacc14cb2b23ffcf7f570691313c552b7cc0ca0bfe7631b14c304ff2f27025f92b61f24e9fd643b0334b990d6d88a4bbc5497f7532507e1604087e5c11405d79a5c5c35390381cdfcf578 - -COUNT=16 -L = 2048 -KI = 2467e01ab31e9ec3f85142505fc97d7dfab9551e81e7904a21068b3bcc1761c6790270b758d36f8f07e96de13a7ca682 -IVlen = 384 -IV = d799e43d25b88579b33f063e497c275bc90fd166d1d32944a7d44180f4eab0f68d478662fdb151d164b2ab0c399f75db -FixedInputDataByteLen = 51 -FixedInputData = 9f20a88ac6dfd00f53cd7cf60bbebc31592f0874b4c120314749ab285bc4b2db5f1a451089db91726a9834554229279d0571d7 -KO = 61838ba141650276b1f1990619b7403fb21a8dcbfab363c7cef4e36dadf8c3e1858fa772643fe7a1e4d2a883b3a07112b1363728185c186f94143cc2e410375c74268f8d67a4d7cbe749b86250d67d5d37853fcaacc458171d70c58e1b1da26fa0489123998d163b6a0a429bc92c42ae87fd3f1f5e29f71929abf0e70a6c86fae93115a1959406f86df551b3b1a5fbd6e643ba37d4c44d401d230e6fd6f277d7fb7eb8e9f726e63092b88dec521faa7bfa922d9b4ea54ffeadc3bfe826b8ebca9c854ba997d5c627d862599921dd76b21a797220a6862d1de73943dde2dcdad19495f0b68d3975256cf58beeaed4cb132bc9a3f6d35a59511e8e6eab98800231 - -COUNT=17 -L = 2048 -KI = 20fb9f06a25fe0b4e403ddb776e09ba57fa37967428948b946bf9324fa44fd2add647c97d647ef37f944fa6260a10a16 -IVlen = 384 -IV = e1961325ac5279c761172a62a57bf7fa745ff1558d8ab67d70d4d27f793faa7ae0464ba7ed0be0da644cf041fba5f51a -FixedInputDataByteLen = 51 -FixedInputData = 46b20559aa61862de0f1863e51976bc10dbbcf1db7841b5d8e563f1fb5096b87e2cc29e05e2b10abea9198bf10c1593e5b9da1 -KO = afe5eee115ab58f45b7bf4d56c71ec9d56394148e7de6a1e71584573cf20b3fd5015d13dd8a79917357d2f29e7ffe99cad5a517b38994dfc3e106bcbd4b590ad9b066b00a9dd416565e1eee25f50862da31319180f47a43f2e7791498e6151b4fe19cccabfc6af1ddfb2a2e419fb8ba72ee3f2baa667eb0bdcadf3cdf7f7f08641a39415f0fdc54c5cc397c8ac955f469db50cac24fbebd19ecae4f9f496cb076f79edcfa3522e656611fb24a4525b419865d8aaca63d83df543508583e3c562e97012d1f129cbb00c75641b2ee357e5fd1a0019e35bb1d5edfdc886dd268c963a9f5263611372a436b482b4913ec08c34f7d3737dea4289f6b81fc65858c037 - -COUNT=18 -L = 2048 -KI = 09b79e6929d92e0551ab8722a97ad568f0f1728d4bec1d608e6b06412e75ab17d2d523bebb14078de80d7a0f9f557ba1 -IVlen = 384 -IV = eb4c5501bc1a8ae63b173ba56ace599b0efc9574e36a8cffe20823587cbc867bcfa801e74be598901cb252a9f4169f3f -FixedInputDataByteLen = 51 -FixedInputData = f1a92e77512fe1ad84d5e1914424a44318c279e694f1e8c853b05cf9c99571676dbbd7dfbeeb5cffbc03153665a9bb757886ba -KO = 4c19295fa4c430395695def9d452754bf80516afbe4eb1cf01f319e3f75eedb84332ebd60bc0da3eb88eff8d9c0a684ef4c010b48aa6fa852dadf20525731888d86e9b5f5653421e3ed257e32d8172b37f45f76d1d2ef436d8917c69bcc26b67d0b811eb081be7b5545c37169f6eb09da6331dcc64c269fb7f7109d6c1992916eb71f288af95c94a4c87a7ccae99d9e9205a529b73c564f38b4686addbbd2316836b47eadf1a103a678c5c16fc6641fcac55512b3c3ca8b3ad1e3731de56f6a056c293c656772552906d5dba6b52ad4d427e55966b564f514e57076c50df52f087e932de9d101e840c33f57dc3611128a20de20f200de43b446a85799ead0373 - -COUNT=19 -L = 2048 -KI = 804d0a92e436b13dc9403fb2cf5e198f68f36e51d934ac9bc1256a8e0dce0ffa55409e919fa11b0412a49220cac9a3ef -IVlen = 384 -IV = 46985a638af600cc534a7ab280350b146ab74b0cfbf8e97a4c06001f1bde2eaba2511fcff011a4f55e6d739abba3e38c -FixedInputDataByteLen = 51 -FixedInputData = 7789816af0e403bb73d3288a6ce12aa8caf39148a5c9f46a038bf57d6a0d9a33cae7a68a0293a53dad7ae4a3be72731f79ab80 -KO = 0bb1dc04019c125911b84c2ae9e06e61fe063a3ed7f2db634829570fc15abd2e1d1821a37eb4d43778aa45c9556ab79135d6911a05ba54c777aa4e10e904608f7f0006482b7c92505e6ea05eda0839b6984e34b2a9f703bce924f8d489abe6347c8ffcb6096d8c21360c9f7e68da042a52186097d3182d9f7d57a9467c1b118cd3dd761d2e303340d57d7d234e9459a5bfe8193ae239c72206aec830d2a2f3de5c7040a321f9f0c90e5804bf48ade5b796bb3e1e8944e0263319ae8be546bc19516bb216e620785ec9ae570aded6f22ee7fc005f45aedcf56ffe37179fc1fe9116b22789076ec3feae81463f0d0c3b31dccfbd3b03521f3910c23441786c40ac - -COUNT=20 -L = 560 -KI = fec79a4bbbd5d475521261eeba6ce1da470c08a0b35309eea8bd68d02809cc547c54a67d63c368de17fa41d6ec5b2321 -IVlen = 384 -IV = 9db2d02608e411a9ec7c85f71c9543ed795ad81ac345f8e640667fc28e0a39b7227ebb254ab852c7536b45a155fae7fc -FixedInputDataByteLen = 51 -FixedInputData = cc3fd2a0cc77136f67208124ba9ed41d20a46e90d9a290044a3bbaf0d44cecb43d3fdd28b973d42f70a9e4687c33853da27c52 -KO = fe4276c1de1f60e967ebc947fb41448d0faeec6c0f11f8cfd2ae3f0dbe1781e6ccfb0727c4a367984812e5edc7d7348742340d3a0868b87589e22f3a6c6e80cc3fcc0b0b0f03 - -COUNT=21 -L = 560 -KI = 1ebab0d0f0fc16bcdfbc5962f23c98f382b856b9af260bf1bc58e504dcd90b09631712ab1f1bf0dfc453d126cc204b52 -IVlen = 384 -IV = ebe2703f333c7e862486f670fd55a7e7275c8e0a4352c4769706ed90b93f6c67dc6aaae4cfac98efc66bf45833d10f9b -FixedInputDataByteLen = 51 -FixedInputData = b231bd1170171963223a58ef92af1b4b989d16b3f78c11a6381c08ecb52bd713e2f564bdcc049c5eab5e0c054d4c6bfbea28a5 -KO = be8fc33f2f070fb10e2b65dbd3f6d914d243dda852e4ae22519baa5deb9bc55c49979e165813baeb5560ed7bd70822d054c04b38a29f9a888353165c2b20d84aec81216d4992 - -COUNT=22 -L = 560 -KI = 40c28a1bf2546a29ff6933bdf3ea067dff940991d71cb28054c33893ef8b657d1bac5e4ce8c8b56248562a15a77dbc36 -IVlen = 384 -IV = 0751a0a3f5143ea67a83ebffcc4fe8f22cd8fa7bf7c03a071e0fdeb24c872fb37e537cef4a0aebb77719fe23e448600a -FixedInputDataByteLen = 51 -FixedInputData = b40ebca6a3413779e54358f8dc27f704f7cfe5e58be4f49b35819fa27f01eaabb49bf171ad6b5bf024d8e0bb303e9705b5ce9e -KO = e1ddc3f57cad9843bb9d10282211e49685588b862cb319d74e59a58c4767c44db9a9e563745492f4d83df1444953f5cdd05121346e78823dda85a282b4b417c93d444394ae34 - -COUNT=23 -L = 560 -KI = e76e055a0b3573767d155a161e1464250b1e6efd9905d40082395da973157ea3a16e4500379a312cbbf4e3e6603f3e28 -IVlen = 384 -IV = b7441b6f88dc52016a43f4b07eea686632a65eedfd4503accac570c2f112cb1e130027858fdebee06aca66b21a6fcd36 -FixedInputDataByteLen = 51 -FixedInputData = bbc0117f494026845ea154c5bc43d6eccaa53f697fb5294adf4a5cd7525df2818422fce1254654e44bcdb9aa70e11673bb64dd -KO = 36379495f5fbb4986a30321f38ac68be4cb0cde0259acb99534e1f6e301a1d2bff789bf7aa06e4fceb949906dbc0e32cc6f5ac7fc5d929e8285f2efbe115ee44afd66ea19788 - -COUNT=24 -L = 560 -KI = 214db488f83e507841254274062d5cabf9a29c5a24cf183b9006c47532d1d81ff20779f832a48862fa4892e56935c02e -IVlen = 384 -IV = a776718e8bb2ad959082c9d6bfdf18b6cacaa92aa1e02aa5caf771b88c9f856f23a15f13f02247269ce8260726be7af0 -FixedInputDataByteLen = 51 -FixedInputData = 1785bd744685e0a8f2e128f43ecf34bedb38ec21dd3b1cc3c6641f6603b6d9f5d9eddaadca162af20c5727b09eb6cf6587d755 -KO = 7b674ba36fc7c4ab04ce9f2d99b0122cdd315bea14057722cb879bc299b76a90f2165fd3a709fed6d86ed2bd4b27f14dad648af353bb5aba4e7bc6b95f44b4f8ca6672ce6892 - -COUNT=25 -L = 560 -KI = 3793a286b5d2f20818832e5bd555ced70e0e623b5ed8273a8809c1c372a80cdf2bd2a64bb8913e4e54d6d03f4e9f3ade -IVlen = 384 -IV = b55e6e853d89d241e98a8acee2730d8e990ea92912e6803386ebdfe2726c51f21ed7f82afe5732172e7635093d6128dd -FixedInputDataByteLen = 51 -FixedInputData = d6e7a40d0ce8699f9987b0a6c634ee94351a2c558b9db7de08a58dc82baadaf597fe7e2a9eccea97fc83a9b5c53bc1cf3acf18 -KO = 80430f24b11396ba4eefda575460fa5bc79e92e1a9877c9c7038db309f855e06da5489103a3932934bf88c905cd753d601024c5955cbe3b8557ca582d8dcaca3718fe93864c1 - -COUNT=26 -L = 560 -KI = dbdf2d9151ab2120a7cf025f43356cdf2e33f7927508daed060509aeb2bda03fd68598f6801fdd2b34d98c46b0da6a9c -IVlen = 384 -IV = 53991f44dd66fdb09f9c1f218f8a2656e365399284a83b5bc081e6ef30f92a8c15e11013665bd2ad49715623e81d7757 -FixedInputDataByteLen = 51 -FixedInputData = 774a24f1e0668df46b05084129cf7ea30892d36fce99c74c1ea5e183b9612211e95ba5a81b112ec4f5c3c32f8c630cf95d2500 -KO = bda13ece9350880c89280a3171cf1b99e7c4b23c8d70ad5c8bae163dbffa6192ae69fd6291b493e6c4f68b87413ad0ff7380b38ce5d5dde138a4aa84f4f0c58562d8892ef053 - -COUNT=27 -L = 560 -KI = b48c9468ceb338acba92fa70b7806cda096ee973aa6724749827e0326eedf49e200afae8936a06c6200f557c3bd84819 -IVlen = 384 -IV = 6d464da42facca090d1ab4ed6562bd73a57311d23c60396adfecea50f67404c214d0726db049369e15b3c4c277a3f6de -FixedInputDataByteLen = 51 -FixedInputData = 5c169a7c9aa58007f393d66e3c34680e559667e0340f34b5eefe60b5c9b319ff578cc7e1fea82ebd835ea9203852109540923b -KO = b83f243a9b25c3890e61edb89bc18e27fd25f3ee637f8b8acfcd52101cc5c0c98cb0c413a313ff0765ea5c7f7fd4ecf62092f91f021fa82d166983116442fb0056c2882dd8d9 - -COUNT=28 -L = 560 -KI = 5ec20899a0c8ea3131ae1746ced88910ca6c8f8bc912148053ac29477375066686dcd81630129796e35ded118088b333 -IVlen = 384 -IV = c9450bf33996ca371b6749477cd94ce07b677a8057c5cff44d999ce0237e3b5f26eb01cd9b3ac8e38f582ac759c333f2 -FixedInputDataByteLen = 51 -FixedInputData = 682cb407c9991eeb4a3a1c0cfa199b37fe85b3b0592b6e8714d6940f0fd944a6415cb93f3661d9d48641a519ebafb3be97aa77 -KO = 5b7448affddc49ce9805d02666a08b2aac6469055a5526c18671aa730852d9b3bb11582efd09d8bac339d4c00e0beb201f50f8c5e4961758cd50d38480b9c7b9fab3296c6df0 - -COUNT=29 -L = 560 -KI = 2a9690d08783c8ce857dfebc770ebd63a0a18b0dd5ec66561dc462a4ef3754d2432baa8973b2470154fa955c67934eeb -IVlen = 384 -IV = 1d634eeda3debfe52a04a03b63ce74bf024215ab4535f3ce257cd456713f1407385bd8c0ba1cb8f0f504d9948e33f51d -FixedInputDataByteLen = 51 -FixedInputData = ec57b4750d987513ac6a1401deea29ed54f1a8c8ae9c82c905830bdaa9878308c955205558b720eaa850853edbb0d923c2a576 -KO = 1bb3aeb0ed99d5a9dc9ad9d074f10ca425e26fec3f1d9211a7026ffad34798fb08041352ae12cb2e958d88a0ac9cc8b59e938207b12ad1a2c6bfb11fc4fea3e4d2284885b473 - -COUNT=30 -L = 2400 -KI = 61c4e4cff3c0318650d078b84474e72609070e33e9dd0f21472d542845bc432a4f95cf92d906457cb01f99ad5ebd2f5c -IVlen = 384 -IV = 19669a16cb7d3d39aa66ed526e00d37fe85ab893473fb6f025ae875c73fd9a4728f966793aff2be505392fe820307d1d -FixedInputDataByteLen = 51 -FixedInputData = dbe2758b279e8d0514767ea797ae332e146c07dd355a7335352ece5e4ae1c7588d859772d73575d44b094d91f638233f368a78 -KO = 94f863d356794498bf76ae6eb1ec4c8a263bd16d1e119d5c18965eefdfe2499298b69b29ace228fb6c136b51997ccec7a3c8d8a008e04754605304ecdff9f5f21c8748cf100347942e9dde37fef97e985a69d12654cdd4c0a8aac7f5581218069ecaa749c2baf78d779df145c1e4955582fb33c2ba1acf51eb5a72d4c033055a0244a09e77341abc86f4fedc26094a58a9892757dcbf9c413900d76ec0a763ea8692f0192f9e9c15e53ed27ad606cdca3525a93332b8cb45168099297ac9805a355f1012f7a3645f20315662bdbfb4b87febb14df6b6caa37bffafbdf9c7c8bef1691d277840636e9a62b25a17360e5e5e58e3d1f88cba2bf0a27f5affff1355d43970f0ec672d0239881a6cbd1ff0cb426907a659d6b498379ce205f20159a555d7dec4cdea04db4e9a514d - -COUNT=31 -L = 2400 -KI = 04d052abebdba0fb6f8fe747b0e987a56242720979835ce1dae257ac97e39ebf50642e98f1fe4574006bbf2494d46d6d -IVlen = 384 -IV = 425058a119c82318f87b1dbe05089042bb633c2a9469d4961d0ad0ab51705f20349811f65b13a943c5ab50ffebb42e2d -FixedInputDataByteLen = 51 -FixedInputData = 8df30f6ad99051c5455bdcd69424622e8c41e61afade7567eb97f1643c92b29588abaa964d3099f6aff8b7a5ae433f636dde5d -KO = c3c904ac276f8afcf51223b113271401cfb043cc3c933584ebfa136e669282d0de7dd13b914673e59495549711f945df9ed89f2db34bf66872ed68577d7ec2253aaa9ddf36d7b1d5c5458feec2d5bdfaa1e79a29b86a799594dda490e91824a89f34e09c665908a57adc41e0afda37cb8a87a5e1d3a0e771015c762a4175bc68a2fe0b34608d9aaa2871720f9bb614b90ab8c07b7acc0b5a3bd30895f860fc79c0806a5105612b31949374b0fa5834827e33bddbdcf7e2fed41328f8d43622039ae52e23c0b3c7bee9370d09976930631eb9dec0d8d62d6d137f1eefd2d88f0d1e8d297585b755116102bb3084e82ea013f6463da86ff29241f62c7dce9069178a77ab5623d7602545332127c85ef6a96ffad6458241d8e4d92e71c1088bf613a11108af9c257c21eb4adb34 - -COUNT=32 -L = 2400 -KI = 785f950babd26ab14bf3b4f17725349e899b12d186180e72701915b984eea162ff2da38f40360a8f76960b0ab973a787 -IVlen = 384 -IV = aea56e0919744a43d40245487786aa26478229a7fb4a8debeee06840c1a6868194d34893a6d406ef93d0a3fc6b98c865 -FixedInputDataByteLen = 51 -FixedInputData = 954d5ce4a224b683ff77875221e0752dfe0070ffbe710aef7980961844031076fadfe1749f78c6c20df9becbf3efc10ea1cdb8 -KO = 688709eb63e696a7b75c1dcc6d2f0b04cafc6d5258b7696ccf2c99cebed57b140a2e0185e4b47ffea63d135c11028339a8b45386be4d195b78ec934767397585e84cdd79e2d614f487eab6983e032a77294f36176268a4ae88a4a4c5c1695971c9293f7aa88ca4409e21c7cb8fd341ce8d3f31f8f25cb39c10f84f023cfb85f41a9ba648706dc0a53182e41c0430e1981ebe5c2e7a72126cbad396ebe6b058607bf35a5ef209ca2b0e2f525f31f2242eecde80be36ad78fa10e0dfb98b17aff75eec569cb38bb7c3a5d5637ee585ab15fc4cb97a8e67c0be965e78fc4f413203d93234801cee8f30146ea5d0cc30bbc81d6643b1c1cf12af539e78f0500c82d48e5031bc4cd6ca00024ac56fe61d9a1bf3c6ea978e0b6b7f900f5184bbb34c2e3c3d7e9d0afe246f4f6a9502 - -COUNT=33 -L = 2400 -KI = 3a4ba922d1aa3e7fc40abf13dba50b288bd6fd1981f987bbc02c391fe47d19abe7a43083d00bc61e875d16e9fbbb4996 -IVlen = 384 -IV = c292892e254fb3191bd3da842d0a97f41a8e146fbe396130316f523bc984494955f61ef0acb680f8b77582e3d01eef68 -FixedInputDataByteLen = 51 -FixedInputData = 5367dec89e9bba4a04c6aa4150c6839256ea62229ebb02df393a8f6ad345cbed84a99c206b546d0d90d81aaf07e55c3d470254 -KO = fb346e9060ff78d7d2b74bb648d8d38448ea0c71463f94ea2906288f98c6b23ba97ba167bd9d723ff91e99437058e58ca951ea89ef5202ff48d632e8e280ea619d4357c5204875965ac9522020e4e9d74672d380f01bf3514e3a805f13cde8b14cd08d8e1f1e4412a5b94510ce25ee00f019f469c04bd02dcbfd01221b8b3102c3d2c9fbbcbec7f0af62c1af28d3a53dae21eed40b8a825aaac40a4961fcb8ad2ff8d24aece7461d464f211e7a2d26a6561150fb45d743027c45a6f24f77ebddd7823a0a59b3da03a47890a31dc0a206747d0fa987c5dc08ed0a176a7757209d3e24f1258324dd4391f828b349a5b096682dc528954c3981180673dd4c091e1105e06671d35669e3656142a3fad91d2f50928357d2d81d99714becc3ca6a9888003f1e2c6ba33e6b9aeb5bc9 - -COUNT=34 -L = 2400 -KI = 65338e128b7c11c7b63b7fdac91a0ccdf2207e149148a590a246842fcd6b9eb2b5a195d8ce84a959359f8fcbdd905dea -IVlen = 384 -IV = 90ecf44008ea7b5b230ea5932ccdc0c9233a9af930e99d308cf5422f19eb059e4b32ca9524139b791deecfa377f91e2b -FixedInputDataByteLen = 51 -FixedInputData = 5bc8ead72e65113534ea159a618ab2fe96ce52741ecda0f3b671ff0ec320d6641f40de07fe1fcd8815ba932d7c7c62d0d61d7b -KO = 733c5bd8d65c05df5ec0a45af057cdfb31ae8f44203cc405f2edc08b8bd23e9cff6d2462722ed00094d6a9f3538028fc54113f7dde91c307c573f14d05d24480ffe259e0803c5d0fee81cc75b3344bcf5af277d9ddc8637bd4f4a65601ff8644d8e8348a6228271cfe5115647a4b9214ad8b7a3cdccb684250fac769f402616dbaae37977c0111a2484844cee6e2995a3ad37176e2e93d8a3b17205ce275b298e2b7804b13ac5eeb735b879d21ba080aad2a1a8e7a722019b41b2effebb54a918f1a9b9e827d3c64d4bd7518515f2c85de0acc6ea2fe443b494133a25b1fa5293f2c3474fc599dc3fdcacb7ecca0cfee4ac29dde184e8524b8f6ac21fdc3f71f7dabe249fefaf3e6bd0430d386a002d3f30d8c4827b50cb256e6859b6394be071c63f6b2b9995ebc916cfbde - -COUNT=35 -L = 2400 -KI = 0f10c552ef7b063480ba5da4cbfa0c9b03be3d769fdbd94eee8125fdc002273deeb184d382c841db163998c4caf7ef8b -IVlen = 384 -IV = 08ed2e7c8357b1796beb430848f271ef3a0fe261019f69920336a850aaf767c20434936e7f5fdaa11d7d4bb36e7ea647 -FixedInputDataByteLen = 51 -FixedInputData = e2eeaf65199ed11d99b9716c2692e2fcbd06f93ac85202095df1e011cd504bc6ddc5e36e9377d3480eed050e499e19ed29e849 -KO = 214bf3ad950101e15ca6685067ed522fff3ed6a01235d4e36c6f65a0433497f75d71023c423d49f8c11ef1c1fc0e6d423a4b810456f691d7c47feadcb156cf862c9dc24b0af4f2d0cf87eeb4afe42ffb83836e12f8bfa7f56467df1c72d7e4a228c8c99c873800537dd429e65902606e612395616cb5a5b9da9154fb6f2ce3228f6460a3eaaa3b1182c9349e2ac20ae1ff13c1e7d8f82668f1c9c9e8973fe577562309965899fee498b566396df342a17357aa5eafd15825aa0015b4b59bfd8a717b9efb8dd4193769c2b2db9fd8a99464c872c3db82ec163d394a091ade3a674ac53e07d27c1c2f0d62c5daedb7e863b725e3065511a032bde138ebc1235db7c7ec26d1be842e058201fe563bd6c04d2b95c830fdef912d1e7389ad3aec541664deea41b3d4082b600d1103 - -COUNT=36 -L = 2400 -KI = 9db4559300940903e6f56c46be806a08fa8feae444fc2fd1b77cf27f207fce870615c560524510ac0122ceb9eeacb488 -IVlen = 384 -IV = da0ec0ba4791cf509b08e37480ae408439f49ec392c028a11b30ab610fdbeefe62503ca3eaa343df90fa781b71c71585 -FixedInputDataByteLen = 51 -FixedInputData = fe0fbc1f9a0a5f525ef96a36913f2d04816e07c68d05046c8c3aa95b8656d257136c1b7b5018e20214f5ad5c8e9d57271339c8 -KO = 3deedc66397b54f71a07556b9f5919a82098dbd6ca0992795e63ae770134a41b6c916a01dfbd03a57d22869c00c1e80eb8947f4f1c88d7e6ba07498bb61da680c5affdd691e98b4b4b0dfa888df3f17bb35e7bda8574dad20514042951ea3778ccd3b8bd2037136c942459a08cba3b13e3c9eedfafa0c83ba2e1f1066d4131283aad8766cfbae34067138ac0eb69c753f81ea0981313368c947200fe1bf60c796b83642a118f1ffc3e306f4d7bf41743d6de957bd31b0a7ec1d39a1a45f034df80a1c780a3957adf844b2e9b8d91ac946a45b6d538a521e0811988270fb41761fbb45e852c97c1d9bb35da7e6eda1cd24462639baf1769e188a1c3afe34c043de697b5565e786cc173084bc4092a1cde5a3bb558f3218b31f786d361cbc2e2d5a3c0d725ab56020b9e124853 - -COUNT=37 -L = 2400 -KI = 38105518b33075f209004eb4201161bd399560bb2585e2adb9b54426fbe9460db0df376735d45bd3753556354b4a736f -IVlen = 384 -IV = 87bf8abdbf629026403c1acd658d2fb65418dfd10e5f3143b98b6bdbf56410dc6aba246d6832fad9af9a4f4c596a99d3 -FixedInputDataByteLen = 51 -FixedInputData = d366fe23a9d58337abe9e4ce03d04f0c0f3bedfdac40b47edfa96defe9e7a957cc41c3c59bc7ed5aefd063ce6775239b525af6 -KO = aeb49faf4bfc3e44ba493b32cb4a45360665406f2690b10ac6b177dd5874c08c7e0d5e2b68f59bbe14a9e040244d0350705195f18fb8e9bf72db5b30ee14f1e50d7730cde9df6ada76651341222431596687679f9a51beb8bdd7d681220b18355a105da572d40f36bb0430dd80470c33962da2be7d49fbed99efd73643cc0e4fa6f1911cd6915e280fdf3d846e3f139cfb0272c1bce22b5001047a36921851888663ead082c94304fa676d6b22b805086b08ac06368c6cfb2cd0d840d3359ef43b1e2f9cbea01770991c867494231e7eea95951255731786eaa84bcd953051b5be3ed7791a14df97f54e6d338696d1c8ab9680b89beac0a7d7ad4d21bc6c624ffaf0430a229959be1098c9cb2bdf367d20274bb516277ee299d2915a52d58623063bcec6e659623a8a92ad60 - -COUNT=38 -L = 2400 -KI = 84396f9ed5e2b0de78a9b7c81e7abdcfd4874672809a096be8f6317b68f55586b9aad55ee469eafe28ac296062e406f2 -IVlen = 384 -IV = 0ecc6d0f77b48733bd5c505dd6234507d45a7d89440927651d792704d3fc0590f6112290949df35a2c7acdfada2831b5 -FixedInputDataByteLen = 51 -FixedInputData = 7314973dcf059993307914955bcd252e1403c59cb341593eaf69928ddef09337b1721f5422b5b62bf41f1828676e0dd64e5367 -KO = ffc0ed6237b54361c858722533c0499de99a9a7435324c6df92a874f01df6cf459bb1cd8fb39597280e058304656913811ffb39aba597edd39888a2c01bbe7e5a3bf8d5d8b6832d07570ad1056e67435bcf3722e1834bca27ff401ec05f536de409ad0a5e320065b3cfabb424a14f2b52a124fb22364dd132f55fa598235c61d2a25286fcbb83394929559d9577a95ecca852a52a76bf5910f93112d0c902b65953af9c15bc0fdb7a901cf7c590abfafaf81619ebe714e98a3d7f491e54d03a76f9f0122968d9aff87db04a108a0104e9e0e0bbc82478609693ed3f173f691c58362debee95d81f5bc9b774408bd399d66637c4fb0d5c225c366e336918a4d23757e0ae43eacc6ca75e2fc74a61aabfb38248a12cb6c2d19002995c9bf6e95ccbb71dbf4aff6514822dce4bc - -COUNT=39 -L = 2400 -KI = 99d8f66646961f59bfd445f70253f911cb72d99e93b3a66125f103a4af171f901aceba3d0c0646e726970953fb2178c1 -IVlen = 384 -IV = 85a9082367fe5cecf1ee5df984ed8d1f9783a3f13fc1e40755430282639e4c4582fe1d411077a675511f87811a358fbd -FixedInputDataByteLen = 51 -FixedInputData = bad28a4251cb3682235ba05742851002cfc3a7338003a36724779dfea0fcd1267dd6c1ddf04437b9ae36b0fe512fa96f4529e8 -KO = 58a255664f2054d3af21765c44630d4295ddf713b98df93e49946b0a13c3a4827a27e1a69186b74ccc1bf98dde14bf0c7653b03613fb8f10afc078f710c98c5d2a3acf25d50e20c57b20f5e4fd238d207d92526006f8d68a83329ae7b8724d9cd3566c6ce8cb593fef7a0cc0b578d54e2357c9e553bf05a93a468df04adbe8237732918a6a01aac84a32c3e87063dae440f18d038f6883ee970093aa26705935a8986d9cd400e6cd13019ccea71a83a49eedf9202c1eccef54c4bcdac388b5eafcdd214c23f72a47f3ba2eabf5269a1c06a33ad4dc8e4304a9736a03b8a5b278b4073a4dc704dc3e2a435a1deafdd294b8373910efe389417d124700cd0d8284e533dbcc90fbc02ff4990743bb1bcc02d61ab79d6ba395b096491b359840d2126ac3c462790fdda81374adaa - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = cf2fb9478cc4fd9a34673dcf442ea82925451acfdddc05ed21dfe71b621687b0db84089ba542746ae3a9a1cbf8a3a830 -IVlen = 384 -IV = f443d99171f29bd4c83ec8911fcff3bc284a5865136dfabf8977941b22b00c8ab36ca941c62ad717efd49aa9e7df03e1 -FixedInputDataByteLen = 51 -FixedInputData = c027cf9eb8de674e52073ae02f2d57348e0f576ee99347a677b1e16e93ce64058ef1b8b4c21ec318883e2340cd311317d6fc61 -KO = d20425b3addcaab978125e8fd714c7fbd0bf5dfd5bbdb3dd8fc26bfbbd698136185c48ac598fa2d2f385f44316087354e1b6e48bc81ce435da46ed917bd8804f - -COUNT=1 -L = 512 -KI = d7239343b3811cf12f94932de7dbe73d6a1bfcd8d09ffba7c383be2f7e6dbb075debee1bcedd79b01d01f1d8bd71e807 -IVlen = 384 -IV = 34465a95640727470861f13eba59a9d06c7aa0157377e3baed0b1e2bb51534d6cbd4ab484c22adba62c4b546d76e8e6a -FixedInputDataByteLen = 51 -FixedInputData = 8c2fb18d587c1b554b70566e78a8733c99dd6af4418f9f29fd3f57911c6682312f37bff07044da9f7a973600ff261373404fcf -KO = d469429f243b2c6316adb1f7621f61416193db2b73a7dc3d9d54efd1a6f47d5eeda8316d81a153aa345f989fac2e77d7cc735a7f3d6226e96514ef47d00c76a0 - -COUNT=2 -L = 512 -KI = f2604422ab1dbcd9e01e2fce6222533de3c8a0908e087ebc1254c2b5c7c4e76fa930eb96af83fe6f854f1264836cd4b9 -IVlen = 384 -IV = 9fb23b45471f237fb43b99d14eb4d4fc048b9a6dd429522599325e7d69d1dbb47e033291861ea322e8166665bdb22582 -FixedInputDataByteLen = 51 -FixedInputData = 4bc9745e176cbb5ec3806f0715f6f1f9eeffbb52e77cb0ee2b18e84b2f1f40160f68015c63e418179251ab7e1e4ac2c85cda6a -KO = 85a4a681feaf07054bdf587ebf4c8d7c1091bfc46259505dd91d87c6e2d75c4f9625db0bcabd7cae1e2101db8faed4efb53544c23e340ff3db0d4ac8b91067a8 - -COUNT=3 -L = 512 -KI = 05052982096fece85c596ae97f93d9cfc34f29018e4980f580c6e74bc55a91a4d787a9cd3303a574d3502a972e5cf836 -IVlen = 384 -IV = a9d60586c3ee9d77f380563c9ccb5cc156a5bdc086e87a1b8dc80244bab849ed0f1ddd83f6c888d68e84e92a79917503 -FixedInputDataByteLen = 51 -FixedInputData = 5aafbe7add44b503f112f7e2706295fbc3bf4d265ac5ac5652755e558a899c1d5c2b780fc4c225f6224765b66b80b7fff395a0 -KO = af4800c63b2ada7da08c4c026ebcb44d327fd402b3723dae5bb983a68be2c67976634195a6109a0777c03f43bcb15dac9aa01832285d3e1843ef4bbba2d57e74 - -COUNT=4 -L = 512 -KI = ff0ed454852cfc7951756cc03ed334aa5cfe12144a1d6759d09a3dd20942fd73e80c13e9ff63e746ef06a01774326267 -IVlen = 384 -IV = 7beacfb028bcf6fc267092521e78952f0ce077f04c44b5f310941a737401b89f4d3fc662f64d4e6100b5fe408a66beb3 -FixedInputDataByteLen = 51 -FixedInputData = 1eba06e9e2c53124725ad2848b48b4cdc043c259e66118c2a2775c9673875b350e1169deeff84af301b11daea57c28fc73d390 -KO = 86a7087b3c476f0e308d9e4f2e336ca412030ba755ca3bb49d34d92d00ab56d2a32a9b3b058f9ca7f678e108387fcf4f78ec4a7f18bf80363c52b00634dbb258 - -COUNT=5 -L = 512 -KI = f1166b31e4de0c0867a66d6a58ee3acb84c2d099b68d934d549bed53508d872cbb35c33bc931ec1c8240224b6dfa3301 -IVlen = 384 -IV = 330dffbe7a169e57a62fd96f597b9882c67f10093a1eecca4c1381ca7a62f2486805a3aa2661ce4295eca16a24cb9717 -FixedInputDataByteLen = 51 -FixedInputData = 71d5a25b23b2cfd93ce7ab9cfedc597bb32f433a014770ed34edebc0f7dcb53255f8fd6dfd4f16d67fdebde744192bec6b9722 -KO = 4d41be126d5ee330442cc86031f81cec17be641f06cae5f4401fcdbcc3484b89c3f539eaa8d4fb3ec297825b38631c1b81e6133fe8f88c5d2901b48eb5be51a1 - -COUNT=6 -L = 512 -KI = 2c41a44820fd5d2bfa3c6fb29609241e44fb9522524be99aa0011c05e93228e2ce653fec588643f3bdfd2f59fc3ed15b -IVlen = 384 -IV = 5325b4ba4eec1f95be94e4897e7ee4113da3fa2cf5a0885aa3ff2753d953378ed9e15f4ba2af8f1f941f67cee42cf1b1 -FixedInputDataByteLen = 51 -FixedInputData = 0d678a5c309880cf6f7803f48a8479527459abb32f835d33004c6c45fa1250b7ceee6a0beabce80b44a83b10db206457bc7c72 -KO = 880866f7c347399d21428a073ad2855288dd647dc2be6452cfec80d066917b6a7b65052d3bcb75e9e3a906d62c0caf34ab495e9dca4f0c963439945b55617fa9 - -COUNT=7 -L = 512 -KI = 79d83da2b48caf2017d1b7d4a295bdccaba97cc9fe5dd79b4840a281965c4bcf6bebb04ce2385682225ac9572fcaec28 -IVlen = 384 -IV = e858e6445ac33878094d32baa1b91e2286e9c8bd87d3326a6a476920a7de8537a8665a5467eafb010b1d0bf852f47f6e -FixedInputDataByteLen = 51 -FixedInputData = f3343fc33c075f346a5daf00ef19780551d2cd22bf17a0b651a25be2876c88af00fdc89ea551f59cac47529318be4b96187113 -KO = a2d7ef87313a78dedbcbd483f193134b81ae849e2a30dbbf318f3022234f934b4bf0d0efcbc509817c27282a93df2a9e02ca6dfe5389126bec9c4364e697af19 - -COUNT=8 -L = 512 -KI = 192671f53dec9d93386699cc4625a147ad1dd974b0fae3cdd9451c76dd8440883f927219887b215ebe07106d10de5b9f -IVlen = 384 -IV = dbadbfb4bdc928fce0ef9954f6a8fce3d89b6f43872baee55988f16f645c97d120248f1eac1edb16760226a93a333e8b -FixedInputDataByteLen = 51 -FixedInputData = 3e41b97b56c6f70baa38b5e431ad0b02c4091b5c76dc177e745123b0b8f12dc24a7fee04e5a08458eaca7eb7d8dc9aff8656a3 -KO = ab654e945a4de9465315f666c86e5b1a91627bd4fbf50bc94b03af502562dcc9603bb0f4d3194d70ac086332a1ff971c3f6471ee9b78c653d4d31ee7265aff83 - -COUNT=9 -L = 512 -KI = ced62da39e3635153f16291c97c42a7397dd29fa95cb0afbb9ffcf9ce25691dae719dc898df3b508ea67e87f69bc366e -IVlen = 384 -IV = 054abafc412c576490031fec65a377c06226309f2b4f98da42313e64b8e3843102a51323bed07c341add6ecec39e53a6 -FixedInputDataByteLen = 51 -FixedInputData = a63397418ed12d0f018330fe073c97d7cf9e7120ce5d1d152a0ebe10f9493231dfe9067a37f518d561bb7d94388e1c24596b51 -KO = 8d98ec753e29133787304c57e961b453983f3763fd32525ad0662d4e8198271f1d75f235c19d2bf2a3f898a04bb01bfb3391738baceda49a9d0db1bd4cf9fc06 - -COUNT=10 -L = 2048 -KI = 6bbbd785822865794a3d6135100078ebd17a9c2d61f27878c01b8642da57b371a327cde99027801b9e59035224fff06e -IVlen = 384 -IV = 522c55ccd6c384c21e2e9c46b9cd355ddbfad02d53382bdc3e17206844934d1e17d3d60c6876ae05dcad5a79e3058588 -FixedInputDataByteLen = 51 -FixedInputData = 3506235c6a6fedb972bd1cdc665df873a1a5aedddf9ea4de221a146053e5a643224514240c004930df7acfd515fd6d3048e75d -KO = 742dc178b5de33257770b6ac630820472ef0c1e09f871e5d7a50597d8224b4681cbb28b4d2ac970b6b1034e0fa12e7331f8342c37718924e82c4f81bb5979f00a83660155c43a5f9611d939be2db14679abc2546bdda9bd322ac4dda09aee7d59f56e96ea0bca6da9410ffd1f0762c7b72560a1c05b166b47b3dd0848542bfe29260ad16e2f26fe92177bbb50ea03972b888424c7ae4e5da00c1450445441d96594167ef695e722d81ae399683541f0582c94f50a89d20b5c250757bd07aa8123fa99b71f9b2954f17146f14a1db0b1c7941646867a33d89a564529d516893a5345710149cbfca3f13444c5bd28abbae2ce0bff9ace1686e362b83df1501457e - -COUNT=11 -L = 2048 -KI = 879f5d17dded668b79788b8788ab6f53ee4cee0125792ec4a1f200aa01a9af8c9c637916a91dd3b86aa115823e99cbdf -IVlen = 384 -IV = 892fa38fd451883cdb3340cac35fa78979a652395c8a9c66378472ebaed2f4dd5d5792dae4344d2da4aae2e4d4ed30bb -FixedInputDataByteLen = 51 -FixedInputData = 64e7765e412af2bbc04fc5245d1deb5bc0f7bda3483eb51a0c38800add8f3fea38136be2fd207c0cea61fa2be497f456e39223 -KO = 613118d655b2dd7978d6ff785ca9f3c4bf84598f8bfe2d764306d7adc116d4990123f721af4a21721404c8c411db640a698a4a29a1e363f8d54af3067b8781e0b118383c367322e7d2f4d12712aa6fa1ccbd3bbcd4e2912f9723c23bd6a1ec5a9a1497e0084d4edfc199d06ae61e3841eaaee1af87b917f0d3598c80a31f51cc6e3ebb1af051f408a0834a2bf6c69e33221d7910e1b14360a9b7cc2b291824cc5722138ebc79575cb46e7649223f748bbefc3f69bc32aecbb4a2deac94f823ddee51e7218ae540d3845a082325533e4325bf3bc72ddacf6b18bd43d81b443c290a6762ff7fedc0710a0b23f7673d6945ca05878e8859dfc22a8250cf9000a3cb - -COUNT=12 -L = 2048 -KI = 0c0784c14a4a16281fb51853342f2539098c760ee4decb5711d42bb6eebe27f43c80705596e6b426410636bc22eedfc0 -IVlen = 384 -IV = 79169fb245e44da963e9f13d291bdc0912772b575d03acf82604429665650588df90e33b211c3f9213e75c957d00560d -FixedInputDataByteLen = 51 -FixedInputData = ac13e61c0b808e16311c376d014420bbd6b64c08ae1b7301454482f3f5212519235f33a36912ee890d93474c37844bf2ce8cac -KO = 1d22dd76096fafbdbc88fa2b719012a55b58853cc69993ff1f50ae134dbb821ed5399a49468b57785e9aebf76c391bc8ceaf1ad473f46c5381a268d9b3f172123c3dcd502b9afe7ad53bf22c3697b1a344afbd2194737e10069eda7fa5d1fbae5c4799698765d800012ce151e882a638ac7ed9ec8ed1dde63b07df7549b9a8f7d978fb3b88d652985956ff90c6fc4c2bb66ead911871e6e218624951cee0530fc7b6476f463c640b2911ceabed52d3f1141507de44b2bf9c5c5910fefd213524a8add47d7aef4c059ac92b8e9048ac15d1cc952ab3ebf7215c8692ab2a49556420cb34208bc2c423eebc37feb37b88bf812d3fcaee5532a94f7e4c84f1256e57 - -COUNT=13 -L = 2048 -KI = 2fb36c15e33f3758a8cd37051a5b2d871983f0f14e1eceea67ab870d7bf0629b7c4a5b30da85af9b3b2c083d0e949485 -IVlen = 384 -IV = 5e3f564439c156ea032fd737237bd144f93759fd55446c8e1a2573e11b3d316867390fb5a64840d4d35d375ff4beffe9 -FixedInputDataByteLen = 51 -FixedInputData = 66ea39cefa6d3539d6999a3d06bf4cd01ea736bfdc10c7d2c9ca67e9d9552fe3cf8cc660f165cd2a1783c8d7fe26881f8b2503 -KO = c6b9d062fc63d941020f2716575697ea3a0d84b6f40bd7d74514537a65235e6d332bcae86eeb7fa60347e7221d42087453bf7fd29e2bcb5402168fa9bff5847701eaa4ee450d6cf6a762fdbf50402dd5465517d0eddf10a316641124334d103d4801826c199d10f3e57c7125686a8be25b04f0bb8618bca9fee144af4ab468044c373a8d4c570fac630bd589610a1e382a10b50f163d5f43658ab0521e187b174b476c48a4e68da8d36a28e6cb9482ca7d0ccd7fd6a4602e2b8c7719885231dd0deb30b146ffda48c96f692b6dcae51f74aba8bff792397142051c6b04c1aae081519c9f882d962ca8f69616790ce5729037f566590d15eef02b4565d47d2643 - -COUNT=14 -L = 2048 -KI = 7e0d82b54798edd76073a65d3a39801f3335d275e5b4e397be9be18270b85e484a78369e5d461d2545b0ff54952a8769 -IVlen = 384 -IV = b5401bf3517d8be41873cfdd23d95b46dd248c3c0068e5c535624d754529510da3a8c59a5ad73c61b88fdad5df25e7f1 -FixedInputDataByteLen = 51 -FixedInputData = f3743ddfe9371c203822931bc9b83dabc72a8b20e56077a9c7d9c7fbd92473e0e702e868b96d9e99b42e90be25f0f0775fddbe -KO = 5e28028710c0291c2ffe916b67e36da1627ff629409a892080453170f3cfa82548da354f7732106e5b29e07c2845c8875a31046995128448c2e4f541c2f9e86c2e3259f6e71f9d1cce43f64a236cb84798cbe46f84b184ccc05caa99e32c23dc8e966331be58ea9deaf26affe5d85cc25b6d4162c954065d7d203e942a8c4ee13dedfa1020b3c9e0ec88f47620896addfff8e12a74f4a284b19ccbf87fe1b550c81fa751099d609fba35d25ee1db6041fb0dfb34171015a77acb404973aa3babdbea9aca5994f52af71785b43a6706e5487e10c9b2191a23a68da75bdff0cf98718b2ec360b237f5b1e1e8cf143742dd0726d9f9ac5cfd479735e52cd0883af5 - -COUNT=15 -L = 2048 -KI = 5be2deb6d040fc4059a8991c207d900c580eee6195b74e0dc16379b1378fdd795f6c230f855e47a1e6d69e8ee93cf258 -IVlen = 384 -IV = b8b73e163a72518bc6fa2e5d5b69f3156de4fd7f295613d0cd683bcb11fd1945a2444b0d3fc960cc404664f982799f67 -FixedInputDataByteLen = 51 -FixedInputData = 443719dedf3f14ce1b7614b4d95078ab514d0594f3234ba8befdb72f422a9ca412d2c83073e5b0c944fd0bef7f1efdcc2f58d3 -KO = 6c0e97873c3fc2decb719e7c3aaa11cb1bb2335c5e4f3cf173fc458a51eec36a65699140178bee2176661a141e9105eadfa6769dcbfea689e3729f447910d0f9d25a070eed52869a98efbd15269aa79af825dbbe130493e156eb4d85b21dc0adfa6b03c766a302755baf20ce3ab2766b508897fd2c2ae72e50286379e3e695da495584aff12699c53079ddac67fe4865178dddd445c56fb2475c6669c1309558417feebc048cf33e713c172537ee6ce47125b56991e5057eda0a6a3293dd124c52efe5305d6d95000c5cb8d025a1bb2796f431dba709796f192ad19262fd2cae59aaa5747b90b81afb7b68a6c12a72f51dffc7f0a1dde5a5233fe7841db96868 - -COUNT=16 -L = 2048 -KI = 56d230df6a62ddc5718c9d3fc19178cef5e47962085c8193a6b83f15539eb025d60947f43c90a461904875d8b3ac5542 -IVlen = 384 -IV = 9f0ffb09e18c33b67ef3d19a0a5e7f4879d05a1bf336e3294af15bb7e23c72cf8c50cf167faa5d9d8880113c834939d2 -FixedInputDataByteLen = 51 -FixedInputData = 15d6c98c6b01d97bf5c1dff08811c09ba2412993bec9670c09ace7a97fbe570328c069c5965bc7dd137567d6d61fe4284c6474 -KO = 3b19ee2e3c3b979593e7f05f8658404056edcc5397c917ac4a2e975748a668b7d588712b4c211849bc0ba8ec74c03a5451d6fc59c2b655a4a2c8a4ab5da293dbc65016b13c79905f101d7ec786a91328706a893cf98ee0af36da84122eedff48f1898c0a99fa9c9286286346927fde584ab85aa609a1a5feb85335c8d8c7d999b9178cab53be0c65d49a0629be806f76091951e82da5c7c105ab51f8269031f155a8a3fbf0fb835801fe120f59b65687f2022eb8ce36897073c3678ce928007b53b2943b8efbb09bfb29745aee8b083aa4309b876baa7c730886c478c20327932269a576320a4569a13ea8b9af19634d7e1b815d929f6a15d01de2480002a35b - -COUNT=17 -L = 2048 -KI = 5dd1f0dedf502d6fde77ffef5bc8f45d9381c7799a45073dfe6d5d95d5bc1e0cbacfff268a92069be3042f7f7b3fc616 -IVlen = 384 -IV = 6586852762b5d137bf627ba21e5bf593f15be1451e75df2484b6db33563772cec1364f2301bbfcce9ab29658aa33a8cf -FixedInputDataByteLen = 51 -FixedInputData = ed3fe68260e3cf2436f84fa30a5a3838ce9a5493c5d12a45e0f1e89a15150280ab73c41c9126b6054e5ba24bd1c50afb9da940 -KO = ca1ee47c5efe501db7484dcfc403fc26022a494fc3b4378233671d73227f7d798f9f912bc0b3d94f57d0fb98817f72a031f8f888587dea6f829cae4c1e9f0d2e08e537a0b2226a1652eda5531529f332c32742733a695ec8898cb3842175e198c4ec6f9ed29ace681701b36349891a58d5986e9c709156ab26258d5b1ea04f7a117b64742e3c503db059cb086ef43559c487b08783a4614acc9e1c1be25b4ed9b1f069cea4f7661bf30dc79c005bde0c401111823c1aa0d2b8c9c948fe8bab7d247a5c31354e1cbc37c3d09be95925e34481a806de0e7c4e6c0e3099018d4f0cd4fcd0efb024b5914aafd6a4ad51fcb86cd28670fe8e4fa1a79ab5166782f57b - -COUNT=18 -L = 2048 -KI = 6cdc0f328eb16e3ea84f98945e21872c80286ec05af700d0e9756a6335e9f00efd9833315672c63ae06124f176e12328 -IVlen = 384 -IV = 606f354f22985f36f1c40e93eced6cd4c4c5fe7949acd3b10d0bcc09945c3d00a59846b4b9a260e8d92c4047ee056c31 -FixedInputDataByteLen = 51 -FixedInputData = f1e3c01a0d4b5cb7f1a8751b148bb2ce8f548fe18750ac8f74287790a48fbd10f30d58075445add33b793acf8f2be48a097384 -KO = c852885a3392785d3919493521f8c18f8c089e4f96e9b66ce823bdd5438b367d3a6d079bc219311ef54bee6c8bb5663ef534301da54ffaa9c25b923dd9661831530ff14509574ccb622093b3d4fb58bf6af0063c2a955e2e28613920c0541ca2b47be2cefba5b8bb522c7ac0632f77f73257658f3224ad6065fd54033b4dee6b54e12b59555ec5764a717f5c1c5f97dd7f08df59967eedf1492ff779de2304172dc34be01cb909ed4baeb1645d6531f88463e8f0dd4899a60553fce482461e93730d10288fba88d7b1fb0761bae69188270a1147116229332ac7a1e9bc8e93077ad60720319e7fc8bda4ec8049ef82a13bf30e3918e4ccd39aafcb02f6a9ea4e - -COUNT=19 -L = 2048 -KI = 61f3a915c6077a3e9a4127a1c985549139015a4cf04dc2ccf21a07c37e60b9e4853f56f314cd79d751ea24b342299872 -IVlen = 384 -IV = 8daab6772fab876aea7d8aac8832b91acd51193b3c71494f2ffebf28961ecbcbc61ac4ceab9dcb2565debb0ef0602868 -FixedInputDataByteLen = 51 -FixedInputData = 340636e7bfb3f2b945cd5e8f84fbac1beadb7d42145a11c2585335bec9a35973371f657e8d0c6035c12f8e45a1e1d7d95badff -KO = 1064e628620812c6c4ad54692c5ac56a857a07ed661ef238415b6945c57d3c698b24fda5c6821915d592fdfed078dfbc610d19ff7b7473737bc170e01550fb22bd0a59f56b0a7924d0245fa85ed4d6b683bc41b446ab8753c6fdb32357b9df9ad2b4e8ae950bec98c6414fff02df3350e7f1a379ea6476beb846b062d7a8d0ae82ccfbd957f3eb53033bd714129b3eb80318ff5747b18a2a9e0634ac13e8df375dac9c7e04fc23ec98492e41ee4f120292a9ef77bc5b330a109f68d98437a80c5db8fbbceb3c75b43e361f194ef237e2fd35359c7d3819883d4ad3eaf1bb8076a2464a6794d9fd1d73c385c285e52b21add8c0cee6e11f0c22cda252a76fa33c - -COUNT=20 -L = 560 -KI = 6032d7c7fd877768bd50814381777ee34e1868d73b6f56e5c39ea7acc31443f339ac353d58b00dfbc172f2f8c6fd238c -IVlen = 384 -IV = f76d19bdce8de5ea8beffc826d685403a72c3a1b1bf3175497c01d15c761bbfd9c5cd5c77508b1ac7eb7ccc0735b3b96 -FixedInputDataByteLen = 51 -FixedInputData = d676208f10614cbb29445551fbc13db647db8375b7aad8c3d94f06ee44ac474f9d560108b35897007f609ffe5c8779c34f571a -KO = f7c6cad2ab6ff5e93e58df65808eda884cde88c9d4892bce61c5d9cef1dc1cf83a0c7d12df3c03dc461275c1c770dca9cf872b83f4e9b231bd0e7656d7b329a5aa1b5667668c - -COUNT=21 -L = 560 -KI = 115002ba285092c88cb44cd8b90fefc006081398cde2d165cd6e086639c3e575df3ab2b021262b346e240fd5a8567705 -IVlen = 384 -IV = 18ff4597fa6d03ae64e27866aa8a7dc524f55aee3eea0816bd8ba7a090d22cd9e6e57fd49df727bd0b3b16fcc97186bb -FixedInputDataByteLen = 51 -FixedInputData = ba8d6080c7caedfd61f346980d6934196ac5aa96e0bdd6625535c729f6516e997de426bd5c4921d0ca7968fd5aedda3b592e40 -KO = e56995a7cdd36a8122e2147401bba8842cb128636a1a8ed639e9359492186ad6e5d3fa5943ff9ffc72fb7320acfa3e1d4e6701cd8685e1bde7d4f4160110b2f00f950b6b663e - -COUNT=22 -L = 560 -KI = a75c4031bf201797e10f21e7c7f5e11b6de75084164fb992cb5be6a23faa93c31475100d7d9bc349a2ea343689d1e074 -IVlen = 384 -IV = 2d756c4849b1c12e1bf16612c1828df1c4e134024cd211fb4b08778e3c0fa4b96777d5b7803daff78f483a0efb1bd9f9 -FixedInputDataByteLen = 51 -FixedInputData = b35fc7944fd6c5facdd9fe62db2836d65270b41af5dbb366852dae4b78a5c411cec5c73205f431b32aa803d1a406148e9b82c9 -KO = 066c8830b90ef1d213c9184d0fcee83e6b0f5be512a6a7670ea023c8fac9f93e9bf1021a1f29e7ff99e8541749cd8f32238d0c37bd69c4e88c0f645c6d3b3507d8d7eca98b16 - -COUNT=23 -L = 560 -KI = 7f5c4956802967ef52d30c3ff78018f4ac1bf21e6d21fbd5ae2bb4eacf2f4113dbc75f367712cacedeb5cd23d35bec8d -IVlen = 384 -IV = 81b69e8363312a6b2f1ebfa4564499c692fb34511bd1793d0216c9c20fff9e889f4cf5eaa0a2c24d88fe756c0556c62e -FixedInputDataByteLen = 51 -FixedInputData = e3c2fd6d6fa8533b61debbee395996e2d3afae9dc726e1e5fea2d548ef5a28e960d5dd883f7e7351910acc19c2ce6081e3faf3 -KO = 965ef7023f767a695b4a40f76bd714100441dc52a66a49405cc98b26c64ac71ea9d78cedbc5a19f60b396de5f4bcb64a2a956471ffe659045e85b6cd07a971f3c434c5574467 - -COUNT=24 -L = 560 -KI = 34519ff5a8183e5e2b426733df511945b5564c6e46644206f8a22cd2d0731030596942d926a8f67ec8c45aadc793585a -IVlen = 384 -IV = fe3e1ab79e17a2dad7466fad5aaeed496f5c568a09841af950f298b4d3e507f5f3ca1366fb7338d76ce9e3ad96e9e416 -FixedInputDataByteLen = 51 -FixedInputData = 1340eacd38ac19548fe8c7f7ff4ecd2dacab13652b762080b3bcdd5aca763b2b492ab5fec33cc3f70bd26eec81899d93820ea2 -KO = e9be152e8baa9a01ba864b0f058a926e02c3732a1104153c81fc91e5bb7890e2186f0e50d55810103e6f12dbaba76c04f0997ab7d95fe0aa3c53a89bd38c414b0d6639b15ec5 - -COUNT=25 -L = 560 -KI = 042edc856ad6016406c328cda264dc5aa1ec8900667645945048bccb6ad80e3a56b5d2c39e5486dd26cb5ebcd556631b -IVlen = 384 -IV = 263071989758b59771213e4642a84261ad122ab57ef664f0f8829b76011bd5e4be2d8c46299fc3bf7cc1975be363863e -FixedInputDataByteLen = 51 -FixedInputData = 389a693182fff68e84a970e04ec7d5c976df817bcc626d8d536f5fbb48a19c23c5f8c6aa464d700ee06e1ba8deec3ea81f1cd4 -KO = 6b83c1eabc61d9ab6627f8d9881836faf6f85691ad6eefc9103585d87fe180017208703b5e09a9e911678fa1a75f6907bbe935e9610c1f9d9f8112b19b2b64090dbeb4ad5d35 - -COUNT=26 -L = 560 -KI = 11dac81f8fb41842152063b9e6e11b7c935e9d48237e95e9e2f4232d8a0a8cae123f6c838e384f51c04f40aa2d4f20dc -IVlen = 384 -IV = c36a63924c068b98fdcf90647c80c1b08c5d319312dfe6ed4aa8b4a27b1169743d8fe1499601a44895f6585f4466dbfa -FixedInputDataByteLen = 51 -FixedInputData = 08096a06cf76eac6d575db658fd98c323d9e280cc3cb4bc31ca81ae9e0dcd4197f8683ca1b59c750e864bd62f5ab625be87bf3 -KO = e0b4ac6bc9544f8602746bfe3f0a76553eb26e480e4eab352e8309bf5f0db54e636d79af3aaa45277a3e242705b0fa0f862f4aa9a13bf1335e04c06c4c8db64e316aa2a6b238 - -COUNT=27 -L = 560 -KI = 7c51eb04808264c2032c2a50ee7f046e1fe789ee78ff881ce60905def342f631939f45643cae5c00e4bd783fde68fb7b -IVlen = 384 -IV = a3c49eb5aedb59f5034efe644aee98e905087b311df36811b5133a6d0c9d8d335c746e7837bbeb387995b94430b08533 -FixedInputDataByteLen = 51 -FixedInputData = bbdc8817385aa81f0bd4dbd083232aa70754c2f76a1fd46e3c5116b8f898d64270263f465d21d02f61216ca3371da4de473bb6 -KO = 739ba71075428e028e4c554b7c26e39a9f1978ba7fb18f36a6272bb21595c2c352c796f074028b0065573189d3937778b1a3d9fc0f256e95d97bbc0a3e18525c9f3b17398263 - -COUNT=28 -L = 560 -KI = 287ba53d04a803c0e3889c42a242eb1024576aa1294fd710c07ec54ceda565f49a01e0a6e2a6399078163b07770b124c -IVlen = 384 -IV = 2eb64ca1067776233bcc42ae887d49a27251597bf01206ca1c1ab79d04e6638617b1bc178bb6c89f273befd6b902c1ee -FixedInputDataByteLen = 51 -FixedInputData = c328fe787987279d66ecee39c29a816afbf38188236d2985f1b4fbc9a9c3996d9133081014c49cb6affbe5ae1bc2bcd576c9c0 -KO = 4c439ca92ef57a2f84fa8c0d88400a46a2de573a8fb7f53cecc35981f0be0fb1f40586c2c11058974730803451db65bd1e6bb60237e4f909f4afa6cf4b40ecb9b58d9e663cac - -COUNT=29 -L = 560 -KI = 6df49f86b82d246f674b414f7aff4c25bce9881da186423c1ea34300f1ec216be69d5705b47ee7fac5f8216ce233884b -IVlen = 384 -IV = 240bf1d95ef4e257938f6db2d65d775bc185b57ff8fb370b68b28d9ce14da51683ba5d1c51a87ed34504bf0bf852893b -FixedInputDataByteLen = 51 -FixedInputData = 35716e4352e4033ec93e49df6015af854397437daad1a1d751f0822d8580e5fd66e3a54551c484989c69ead8edd2471c7fe1ff -KO = aac09ba2620dc69f885286898e5e669d1c0d817e46c3d92f50011f1235d2d540c9e2a06c55cd73ecd7ea33c81a42e78829fa1a051cc6e6bbdcca92b2318d17e2311653880595 - -COUNT=30 -L = 2400 -KI = 9934df11ed17254f23e61184284361568a3668d02eab5cca09e487ce4f105d5d49b4585ae24fc7ce3a4d62e28c9ffd44 -IVlen = 384 -IV = 0d676ccfd9e4ec0268b44af42485b6f001242d14e26ec34d7f6bcfc012a6df6271d523e5dc7b913f9a0cc3ede16741a9 -FixedInputDataByteLen = 51 -FixedInputData = 853916fa05364b151074239dd82acef72b9f04cd15255608b39d609e74b24c5def9f661bf3c7fbe91ee9226713b7e4b64f0c42 -KO = 714d53324a3948334d3eed77c3a61f5817ab4e36317c93493109a24370f2219acff8801a636dd0bf8e491ded3b2a583afca7e0e2115d4c98942362c4779dc060a6262d0beffa1f90ed0fc669d1ee56c7093a6d8a7aa82b30ef36acf94ac186c78b55d4a52c1e02ba799360646f635429465b024858800a39884757ec4b63b21bd7a50d0ae0b8baa6c67eea413760d44b12318b7a512dee3e18596340e3d895b0f1fbceda81b9de9547c7ea33068c9ae0bc87c4f99300d4f3bee87109f86d9d85c7bec3327214d18269c3cd2b4d1e09c59cd666bb61af625063187a6628c7bfad5e01bdb0a35c3f7e23d513b36f2b10457cd64edeeec2acae5c96d78aed4170d9df301116ce74977550640f84e8276755385a138cb977f7d199c192610bb2c15230c0d29ab54c9fe7f65c96aa - -COUNT=31 -L = 2400 -KI = 83c70149d82b55c99ed782ad13f80478a87f72260a3db3f2618fc5821f6036a7a2190e27fedbc97f08b3e39ec465877e -IVlen = 384 -IV = fd45bc97ffc42cc0225db1f2dfeb386af5580967085ce5c2482c2835e742e825819f6e8059cf92443a0e068a77ec485b -FixedInputDataByteLen = 51 -FixedInputData = d56b01d5d70e67af339c7a2d62f87d7ff7e853fe81745d4d96d6d59db1280368215a605a6489662312bba1239f2a1fc608e654 -KO = be8197c7bafc95d549f7906e58fc43799966350d27176a7b027c692a211081491668919d9fb23554608d6e13f65bc74847bbce7922ba3ad140c1b9bc90b5c1902d829f296543f8ba8517bc00e7d3f662364810e95e6e41df1d3d00076c489afd5da2c12af68a47ccc7839761b2e3410746dfc4233c480619a5225359f883495dd472faae3d1e6a080a4c5d1f4d7869b0b59294376d1094a7ecc2bb9c24d7201ce9fb238f9b456b485521b8cb034ee4c40f215a18ecb98e8de2bf4a8b23f7447efbed09cf8eeba4959035bc76f26eb0b7e8a685dc5d295c135fda79b94973cd53e52ed917bbbe656f50dea211012d4fbf1f0a2a1f70af95d1ed2764b8929692dbc784947811c09967cb6730ed5d13431f621a07c4c30833feb5a185d76509288910b1c6ccf6a80818c836cfe0 - -COUNT=32 -L = 2400 -KI = c524036d7da45bff30767b8e5cb961c1e56e859280ebfc5175f9a67e628f124fd53b16d5897e00eb115faef508bae33d -IVlen = 384 -IV = d7619a924cf703c683b70920762c76d98a0f8c0b59bfd55abe305f09a32f3b1db807aa34e4b2455dcb0519bfc176f8a7 -FixedInputDataByteLen = 51 -FixedInputData = 9f916045c49058418ef10ac5e1c3dadacb716de2acc21e92f4e05bcd5362cab3257e1e1a43b787a73c6bf07dc254fe172f0bf9 -KO = 7942f5fa50b77addb51062f15836d7166439d4b81b6f3b15458ffdd3212065420da82c80b3d65d4d019052e1ad411907a716ef24b219ff48683e6b1ecc677ba94539abdfa21fb5410e65ec20ac0f3144e0aaa20cf142ceb70c368286399c9751c16abb20ff0f300f76f03cca2359e57ceb8a343513323a989bbe8dac49b86f77aa5fe39a8e3c99d8e555c041b1a1833aac12ee5226873085f25db8d71b66acf0f73c1931c3fab5995b101b2c0b4fbee84fdcda502ea66aa8b5cb192dce7abf7fce87bf439d64559292d9908d4d93da9ba389b56cceb8c1fc8e313e77c210c130e4a4419e44571bcbe34e98750b8c810170ee03f7104e57718c1bdd50cdfb579b2962fb1c9e6a3a045820318704768e7297b56bae3a6d5c272407d63d58c7d0faad725a4f6cda2f90ef58b98b - -COUNT=33 -L = 2400 -KI = 4bb4cbc018bcaa3b61e9f1a3ac71da351025c791ea3ce9bad54428f819bf4872e7684cf9db5bd0462c68211cf02243c8 -IVlen = 384 -IV = 7fe922ecfb941b15e1e83ed762abbd0fadfaf8447ee432e6e6732772d89a8d7dd0d2919d2dc8a9c760a90256bfbd821a -FixedInputDataByteLen = 51 -FixedInputData = c67b33067686d6e838dfbdc436e316e00ed714ba27d13845a01c0f76885d5508a52c8d8e048c211a6198cc37c480928cac1ef6 -KO = 65d7ebbd4dcba793c1672ab54aa6357cdd0f3589eabe126d05f4ed3fa3b92fb145ea3a8d105268de6be781e35cbaee0526a35a1bc95387087ae608aa6f468d2274af50518336e47261f8109909c0aa8bed90dca2a04ff99a4371e1f5c67b92f73ece8cf5ecc6f144400d47d729b19f2f8e0a01fb17a036972b3c3545bf39fb7e7b93b1c7b0c0a22a9cb248ddcf008214a1dab5ff48422f615bb8ed063705630b6cf9730f6f5b234f244e93791a5b5f49ba60792b0537cf9f4161d13657da01edbc71e8c46ededa4cf56cfac44c1de8c611b132aa22e0e8643132cdf056ead15f5efaa0f717ce63d1e36c4564f2bf8819aa69f06328b209ad3bb9ca8267b13f94059f6802b86cd78173056252d339d71e146de670b1fe36fe30c052cdcc84a4e93b4db39d33f60294bc864a75 - -COUNT=34 -L = 2400 -KI = 3cd16e203e4373906176ff3b90fde160f8f578df6de12042dba4642679195f4fcf07907a49da01050832038d7b50f512 -IVlen = 384 -IV = 43084c21a974699253e0ed55e58b66eb4fb0eee82cc5033d28055ef166b7a0a9eeecd1d7ea644a1e7d30e19ea2ddb7f8 -FixedInputDataByteLen = 51 -FixedInputData = 7542bc35aeb683be94749b24f2ce2e3e4e6a43fc8b6b0b0bb7aa700d45dc2e05df9368a55f1205dbca6d2fbfb78ca0cc622caf -KO = 08e7fab51ef7e6ade3b4a99c6dee98935a3a616a0ad6c943724e55b22eaecfc72f1308c9fc8a479f401108c47430e1616acdbf15635fc7ef4b8c895b13491d71fd7893c2407fb4ba76817aa7d3f26387f1f7d17a32f31d7f8e7501a79b38ddd3d0c1630a7bd474e054e5e77d9fd225961d474ae08f9142f2ae6b5c8aaf3f2c44e8fde83c9b44f43cc04c6b209c6ce47806e4fb4b1a729a3258c6a09cd523a11d73f09b454fb729e918827453eca7c7df7be1b0eabd69709fb1a06b79e6b181125186d7eb36d60cb35813ef8cead4df6cf4197462da6c47276629af4ccf5b22e67902805c15481ea817fce5f10a526894020c4c28f120d6e43244930ded7c2b7bafa4b05200b5da363a1f9e67b7197211db73599118614928c2b1b021a193f00953a24e880443a73846512bb5 - -COUNT=35 -L = 2400 -KI = 8bac15f65e60b9a6a60cdc73883848ab395a3d144660963dea6d3a27b483c056d1429f6cb0ff941a3eca18f3e548ec76 -IVlen = 384 -IV = 620aa1a4fbed1bb3d23065cb50422559f4cd66954030b2896b6f4f200530a1ef07cd330ffa31f7ffd9f67bcc8e860ecc -FixedInputDataByteLen = 51 -FixedInputData = 41c61da9d9f3d0b65a9bba8b8c54ccacf5597324b438de640c880390f2c91bce4ed0f0948a87f2b99f7ec489c91430e50b5004 -KO = f5cc0ef65be46ef02ec3d9351985c2d214626ede68e3367aec1ac3167b64b73861ced329278566dab353dc3795304fa9425e453f61a6d2abcf93fc57da99d103287d90c4d4bca0b8514ea429845c97dcc2f15c835f413b275b777058af91f162771ff88d3040e50338b62809bc16cc041702d2297c6050de450a6885401fda6751bebbd69c5288932a0ba179c3975ba3f51255dd9746fc89325050832d16c82c1d69dd59d019a4c7d1a832bb27a4a34e12838cc9a9a706627dc8b00ab9110b65a611bbbd5d212c69dcfe540294c430ead58d209e6bba8a0a2d420c6af9a3171dfdafed65d137a2a8c5b828ae6f18a0a778f1ed9f6bc91a676a4a4454a87e587a99c61c79134e8ef2640190a1b2c897a8e09174e9481394f6395e307a354d309e082c28705f52662cf43d926b - -COUNT=36 -L = 2400 -KI = 6c21efc1ad9c98f05d7fbaf0ab5e29d9458d66c7e28e0cccba8f2b3f986631323c0d6e935dbade9a01d16ca3db2b04af -IVlen = 384 -IV = efc815ce49fd7b976b7af9ba80e48768d2f20077cf79a6068f3a9d3f07e4442f797b45e662c929d03caf5935b774a0d1 -FixedInputDataByteLen = 51 -FixedInputData = c10c331f5e4655cb57aa730c71158b3aa6295e7ac48037ae87abf77bc1f38aaf751de9a06fa89199d6b1852dd8b9fafe396d77 -KO = b7b7ede02982f1f23282a488016a686644d4cc77c25979e7fed5942e9202f41c63a8a4dc348ac0d03ccb5371001e3209d579787e3b3f24fddb2a904d8ebca27f11ad5847935aa4a41c635ef27e084fa3667e545182f718cda408798b0b0c6abce8e88ed41a5ae3218e10a3d57ab23b832ea00b3bbb9a917e161480059fd6e3629d67edc47c66fb44835243f893918bcc38cd13da93b6b598d162dc73fafc3f85c055905bb89e380b706410dbd7ec347180d2d871336b1704dd9523d7414b0e2613b52b1e9fa002e73372990f60f30661c8a6824025bafd3413900b2e3ef1b1f7fbf05f20768d75d46e0479737351ee0090f3d46128518d6a406c64877bd42cb8de3fc1d51bb8e9e6e2ee3b3bfe4fcbc54bbb546017b17f40cbb0cb288f4cca10c804f4783ed941095015913d - -COUNT=37 -L = 2400 -KI = 0c5d6f9df1abb152928940862ce85f6d0fda6098523a5ec4932d4eb2615d7820bcbe5f30471fbe085de5a8d957fe49b4 -IVlen = 384 -IV = 1abf9edf64f9664287169c0b4016ceda888c80a7a26e031c5761109402472ac90568d2a9da86e215559539bb1d8dbc31 -FixedInputDataByteLen = 51 -FixedInputData = 40f887c10930d22cd1826f939be73f4f628472204fcd9c8e1e35966fea81112ccb1b4a234c412d3ef8487fa5a237f7ae862a87 -KO = eeffdf5999f52bb6732368406360710abe9be777351710952447f9c786d0152dc53f77c660a8e631f4e1668ad14464dc7ca2324b1dc521f3245138040849213cd86bbec7bb6bb1a9ae8d1b24891fbbe606ed5372288f68b99833695c9c8cd2c5baf93bab7a938dfa3c983b5431e19dd976cb6db9994f4c27c3373632e9bb6ef55ad6d3c5112bb29da99a6e8370a784152db8d197aa7d107363a775fdda690f52e47e9026e3690f7df64308cf1fd0ce622be72636b6e0d8c9a551a9ff876ea9a98312e92afd021e86367733d1a16ee1e720c644b6a22eb11d5ef5858f437f4af8cd5390fa0435bea71ed1dcb59da7698136efb10cac47f2c8bb54350a88b61af43475aea76b6813272cc1f7c6efb658fe59e861e5bf121135481f54806393a1aeddb599100bf696adc55bb0c2 - -COUNT=38 -L = 2400 -KI = f03802dce327c2fb4d9cfe7960484ef922e45be3098e93810bdc998a7436334a137b8554a65992a5e19537dc8b78da15 -IVlen = 384 -IV = ceb2b3352c698414bc07900c495192bc932d657ced0631b3560a580b44b8f05be26e556446328724736d8bcd593f6ff2 -FixedInputDataByteLen = 51 -FixedInputData = 1c09d0e4ec525bb5e185caea8c20e7c78d83e756901dbe3d457d8c2214d61bc3cf134d6c3710f8ac0c876c3a06ea7b412ef147 -KO = ea599b7073c33048a1f0a34b902bd86a10e4c99b50fda9a0fb6aa2ffbf93b4530327ca896129aebc2c376b0e5754630e8f12e94b5a4d30199dff6dabdcbfd26ba2e05233d57d0cca6caf3ca53b5d740a6b48d1edebb7a849f81d08bf38525e03b68f95f5a5d9cb8691f98973776358e6aba1bf52a338263c2ccd77fa53c86a4e97733ac6f5a70f9589e44dce74b0da6b1c66b91f6f44f0ae009fcd413ba99f58ddaeab9fea17aaa088b6955eafe82c91ef93f70e644c413c7e5d25de4bb6f49129de45ed757068f14714778a07d992c23d0037e8c5b751471a6dc8e153b7ec03863035c28cf02f3615204cb2d944ab5b01bb69eeb70f2a843cedea61f6a9de77696254cf776d36ba4f520af9b5a851aefbc94c5dac6b6269793796f9bb6349ec391c0c54f9222d48c2c246b8 - -COUNT=39 -L = 2400 -KI = e49bc701adcec7c83fa0028a896709c87a3196eeca2088c05d1e0e32a9640b8bf2b3ad832570a005c309bc67a3827a8b -IVlen = 384 -IV = 5cab55fbd38db1abcd5e0e6f5aede23825acea0104d94615d109d2743e1646c012bf979c9ed60a6b1b6556ec939ec927 -FixedInputDataByteLen = 51 -FixedInputData = c5e864e2df3484f4d20ef69fab630c4bef51c81ddfe5d5b7d459e1dd96f8bd1aaae9347b071f2313c7f67dd7f62dfe616ccaf2 -KO = 980480f719f12cbaab1dabab5ff283e3248912ff1969d2bd041a40a03c8760416cf68a5c6257e8f075b1bb4bc9131017d12186a198ca35a728309b0f85b5638a2528ff76205ce3d2f61f241799d2c364285e43f4d9ba981b3d3f9fcb2bbc8b0cdf5b587d9076a0fa73a31446fc2d1d0a24a2f5e2aec3c968dd09f2d5122f878ba44ff22623864fc9ce26f93705c873b1ca4d0f8b50cc25ed9ec9528ff0e0c3cc77d73034bb705d9b309beb0506ff87ba871889256530b8b318fdbd372d0722b4a6508e350e7dbe09def34a470101fdd664bc95c48931172b27df8376fe4ba86fe24c8aa92d9a98acc52789b3eae4e773ba8b7ca6e8e2b0fb1eb9cadfec434b54910f99845102a6e13dfbbd955ef614d3b7fee2515cb5f2062d5ae98c6d06ac24409e6741d8f35bb62cd7c10a - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 13d61c03a81c66114052ec9f1c3424ce8d18090363de810ea6c8b48fad5f3b17291a2053bcc1ee1fe986084a8e76355a -IVlen = 384 -IV = 9d60d3fca658136857b81074404d5294b0c47fcb03b816322c51be5ebf7994d4482348554d70062e418f6e7cb0519bc0 -FixedInputDataByteLen = 51 -FixedInputData = 21c3c33878a57e1b9802a049c26d516a368fe53d4c16ed64c3544861f7235eb76b548dea949e6db1416e8c1d625ce39c1b5349 -KO = 1616cca4f9e02c44627e8ffc8defe7e39145b87b3c95d050c56985092069f1ae4daa2e1efc08410c1d88455271b03220df5d07fbd1367452ea09c069e408baa6 - -COUNT=1 -L = 512 -KI = 864e83a40ff62ac5384a03527321be3118e71241a2dad505f1ab81c90b5f5041410d53a165e0cd93658e596b7e798d2b -IVlen = 384 -IV = ec58abd950e220203a45c81a091c5f3f38c5b5b9a98cd2a2e4f2ada7b2aa3b858b9f029cf75673f79577e295d16954b3 -FixedInputDataByteLen = 51 -FixedInputData = 0b5ef604bb57b3bbde07fca2f8bf5f65cbafd4e602af52cebdf5356bc0c98ca01bc075194afd00f4cce6ffc3c182801b4317c2 -KO = 4a5ffd69079f31138327096db40fd85d0b97d044989c915a3e5477bc824ea2bab07959710d6148cc4c6350ec624e8740d327ad9bb2f7c258bfc4341a2f7ec7a2 - -COUNT=2 -L = 512 -KI = 5933ae03c7187eb303736856230f85a887bc4c5ecb35fd7dcdbe5780bc3b84b3c4c2002563c3b2bb0d217452e4d3973d -IVlen = 384 -IV = 29efbcf118a55f0b5ddbe5e3003d8ad2d8ce1b810e45496a08ce357796ee8e69c2e89aec94eb3528cc21ab1481ca5da6 -FixedInputDataByteLen = 51 -FixedInputData = 1762352b8843d0f4036386d5b0d360014fea3c30cf39373eb5d29b4d2d5369fb5210d1a24b20dbaafc166306f6ed412597b7dd -KO = 938061d9b20154290433005c235ef6d6146750ab63b24acd919a785c9a25a92e21ec41044e69c1c59a4ec5230cff1f0b93fa455e0fcae7a37139bc97bf1c65c4 - -COUNT=3 -L = 512 -KI = 7ce756bd0a6de94f24e37bd841141299ce26be81f830894cd6e18c21bfa3a0d44224d85804eb90df262ec7ba57114f15 -IVlen = 384 -IV = f58abc3271f2c85a9b4c3bd41d084555ed88f25eb3ace6ae9a5edb4020304126b16fb41a7c49fd963ac514acd79b326a -FixedInputDataByteLen = 51 -FixedInputData = b5d479ca8a1abccf5e47f036e38971496c044f37b1d138bdec7121c8468cb39d65a0f0ad6bd31acee80c3494cdef7965ebf00e -KO = 8b0cfb4e985dcf2415073d0c507fc23afdd8e60892039974b864e6a0d41c904cf258c555a000e26899eb489d51ce17d6f9d1e79832285e952274ca827af4830b - -COUNT=4 -L = 512 -KI = a05b22b7a1b600261aa637bc397fb6d49b9f81842fe1261f7d6d0b98b56d75112a8fbdbf63eddfc6463174e3ecd3f540 -IVlen = 384 -IV = 9f2f8f906b429e1f55399328acd842fd59e07ba9817527a4c8e25847ed9d6358de2f3e402592164be879e0bc8fc323f2 -FixedInputDataByteLen = 51 -FixedInputData = 24514951659d8f3b404df9f752d6f835c29566e17d815635f7c70f867297ab0861dd2cad2ba66bce22719e93c966b993dfe615 -KO = 148eb89c25c31c9283aee100a088042e67662abedc47686f07029def539a5fbe54f8eba646586102f79ee9f07f17a0806a2d2b08e88791bd3bc8fb2a270d45f3 - -COUNT=5 -L = 512 -KI = 5a25f37f1bc71f013d5ab9a629235211641437f981079289cefdc0a0c3d7646b8d44d3294d66fe7362baf6c504b9648e -IVlen = 384 -IV = b5a999ec926ef7c49cded50ba605dd94b89abb724e992d6b87e4cc190803d713aeceb97c5231212e638c9f6b404e99d6 -FixedInputDataByteLen = 51 -FixedInputData = a56c786b01fa5cf3eae7ad7973c7b5cdbd730840bf3aa9ac1c5412ee6288a31ed1d28ac5514ed587e7b22c4d7aef326e90a514 -KO = 5d0f770bf9c8fd3c89e6187a33da8b0bf795d95ed5eb86727adb24b35026242e53848c8b59bc3cf611548858c3121c22c5f58eef1bd7e9e8d48570fb6759c2cb - -COUNT=6 -L = 512 -KI = 524d1247fea43691dbb2503bc2424b690e6edfb52b28f8efb407f086e93cfb865a57bad1fbd1b6569739074b1047876a -IVlen = 384 -IV = 3ddb5f074db0cc94a927e72878c037b726780f16272a30185db60694a330f1e53005063ccfb12d28b4c2cddcab3b07c8 -FixedInputDataByteLen = 51 -FixedInputData = ac7d668c13b20d3cde4867a8b992531ae40e4571bdc5cff1a1847ecb5ffabf77e97de29819f81e6ea2d13ea6f74ca7f9829505 -KO = 6d63bbc2f3e1008f564a6dd9b0916b1714daf80a6701d169175d1f7643ae1a1907158dbd3281f841ef788dc42767f9ddbcbfaecbbcda7b0aa760e214c117abbb - -COUNT=7 -L = 512 -KI = bdc3543455f5157d3e89617fbc8afdf05c7bb1d58290b2ed8b2f58f464609359f8e9f6bbbbb050c19c6904926df1aa8a -IVlen = 384 -IV = 7d2f8e6601731cb9e2d95667e5fbc171edbf315c031b2b24731b0ded88bc5f0a52d4d3f78d776b44c7cfb55b6961fa79 -FixedInputDataByteLen = 51 -FixedInputData = e314973ff29d54b48483d725a076dcb56d600894338e425253998c30edb113845968b0276d164c5d4bf7696a3329ff0f9a467e -KO = 5e2db23bdf7c17fbbd78144722676b3c63a803997c2fbca031812c02bc6c9c0e9467653443688d7765178d7f55d5c6a3bb1f0d53e9db1b8143050286d35929cc - -COUNT=8 -L = 512 -KI = 82d8ae19ab8a5016c780aba5afdfd5502aea6c4cfb4d6342fb1b229a3a1649ebeedbbf7e6b8bcfb98285bb063f2cd503 -IVlen = 384 -IV = bb247d29a40faf5bbc456fa49a9f93afac9ea754b2fe187265bbaf07c3ddc13db9bbdb21c92b780523baa43f10fdc7d6 -FixedInputDataByteLen = 51 -FixedInputData = 9c8fb454abb60ad1e2f1c7fcc536ee60dfaaca5dc9be5a6eece2ac05a8cf8c979450be1f6b8c62a35306294d5a1a27b5265fc0 -KO = bebba62d24cb30136ab7f0b5b60e9c733e278ef66523f1a2d94bf37ed7d2b36c8dc5f15b707e675c232f4a51d89da3ffd9ee555cd548ba0b2e7f52f5c03fe078 - -COUNT=9 -L = 512 -KI = f24120806325b56e79e5a38191dc7958dd2ee503bf220451c686db5e919082e2ba5e90d602d2b83c3b942e6db254de35 -IVlen = 384 -IV = 5f974d59c6de692888f0f0406fde8e265f6cc9621aad34b851048327e3dcdacaa999bbb4ff77d6dbe6f9424749469cb3 -FixedInputDataByteLen = 51 -FixedInputData = ddc4e61fb33e734c6d128820b66e2082e8b939e2c64f922a550f0eba9536af798d3fb5864f6a04eaf9e3274f091d85c007fc9b -KO = 250c035876df0fe140429da69e01f44a900eae72bf74977eafdb557775eba47faa9c879e1ab7dd4888e076eca46ce7155894fa6a57d654279f9687bbec9ab777 - -COUNT=10 -L = 2048 -KI = 0cc1b4bf0aa95079bbacea919bc3e75088aa048fb3cf6349e2dfe77888682791b92de34c239b26d2338a2efd3c29ac29 -IVlen = 384 -IV = fc14da67d0169412bf87c36602f00e08741eb4a5c802e9db0625a481eb21c5ff7c53d1760cc60a552b0b0be889804c69 -FixedInputDataByteLen = 51 -FixedInputData = 56f68af78b658216c72f21e7508cee3c0f50e6333ad54f6a316f52a2b49901695fddab4ab002b019359acdb9a09a83e23456fc -KO = d15cbb736b2c8a10425d7cd27378da169d020642a7a2133bc2ed6a98904dd543ac3d731cdfbd8ca89fc2f95dccf586611ee7a9b23cd62f03005e51ba6e236d287df0980828f5347977ad1d994d365a2df93b439b1ec40948678850e06b3a5fbb92ee23033f15ad9a21931f3db028653438625281699ea84d0b565b410a6bfe8209cda9aaec083f9b0aec156b19d571ba9304d02c655efcfba9082b5167b699453bc90d38f9fa75e1ec7e8cfbaeb979dbc27aecdb33da93bdd9649577b89a6322ecc077cfce608373fd575c76627a17da546e9cd70a1afdcb70c57fe8e630ed7bcd4f61cc5b4a46ace2169852bba31e6bd7cc754822589e1fcd21424f7448fd2f - -COUNT=11 -L = 2048 -KI = a18818245ef1e578ec54961f4881862261fa21a1109e32d65fd6a7142e665a8c6bf78e713cb2ae600ce2d8e2d04d8d62 -IVlen = 384 -IV = 6f60893f4f090245803e0ea17d792e8826968fc1c78e6d43e1c508f13b258463f69e6b50a450fcf006f124589713826e -FixedInputDataByteLen = 51 -FixedInputData = a4a51bb4caae4c7af136e393b3cba49c02550920265b6f215ac8d34bd1dee29a4c2ad0633a54a958cdb4e54654ba8baba5a62f -KO = 22c8535470eb006a898ece1bc04fea7af1fcd50439088068f649dc00c08b02e3c6c3ad1a71403341a93a1db0cd76e6aee6594b61f3c6733953ff0998fc537641ff5d2ba999f7ad94ff9c08337ef71480d9fb46f23083369f98fa9481e0650f4157c189bdeb63b085eccf8c96656089611a9bfad23dd3f3f7110ece699e5a5bba771ba5541573e8f804dbdeae66d122a5dc7c46a452521ac9b513fe633c3b94982c32b68afa653308ae83aa338e2ec220b93d2ce02509f1e87d02bc88f4b90c06bb139bdcd7237ca7cde01752a34f83217efeba397b5d8f8cb2bfe53230cf1bc0bb66087d1c5df58fc21bc90e25a142210f095dd274af3d941a2ec7289d40d7b9 - -COUNT=12 -L = 2048 -KI = a3040a79114463b11bddf192065c7d73de6a864088f429cd5c5dccb375a2d06f30b8c46f0617691252c23d8fc928bdfc -IVlen = 384 -IV = ae985f74eee6f11bd8cb3bdcf64a6d8317e86896f5e2df30f11fb573cf1aa31b3eaaa6e874e43e1d3275ff092d55faa4 -FixedInputDataByteLen = 51 -FixedInputData = 22a6aafd95b81902bf7c6533ad154b223bad7048326b3400f694003c342bd77c8e0f8ee03b9cae301cca404aacf1ab752b7e6e -KO = 4e548375386210c5c08d9bb514167df2731ebe62a52a8e45217eb5d3c773413a04a4856ebb91491eb8a1590248437d79b78504b35824c493afcf702a144dc9736eb61aed0d51a027f0df519a93e1cce85b45d1ee6d8290d073467af3758f6afe7e0ebbbfade1f3e7398798fae840a33719d68640c3a805bf23ec7f5f64ccb763dbce0687f9cf0e540d9103c8ee7e03e841b772ac80bd66a8269aa04c938cf237e442e3cc845464a80272b5f250679e0a7723ac77fd686d22d4b80f70075b8b32c9634adcc801adc1bfde05f531060ec86dec0255b830a7e719f1fec23351c769a81db11596507183353667589ac8c3666e54d70a862114010009203dd9a1352c - -COUNT=13 -L = 2048 -KI = fb7eade1331613839f03552bf32096958e87e57e1bc37f71928b9f0003f3b7b20fa66b1b9530146832e509522cb0bc36 -IVlen = 384 -IV = bd41af5d8e562b04d4ea771a5e449600ee9e72b31c1da2ad97142ac87aa643af732da41a47e19f9a553824c2202b7a36 -FixedInputDataByteLen = 51 -FixedInputData = 4e21a281bb16814535e79f1d924b11d874767ccfb64b91a4d7a34549f69747ba715970b6bac2f01bd5c915ea2c589adb27ac20 -KO = 0ba0c4b89755b58fed283239596a627d5c46003b0701b9ca993ed868d7462bc19a3d482c22e43a940b1dcab68950e81cdda30c3ae99f4374b8b83fed233ace2a3f5ec944f5b23d51e87d4cca67d9bd6228affa8e53420b5c1118f07144a2caf3176081d41bd8801828e7ca278d501b7c2cab1151b6c12b48c613e21bd04902d27ad8e3fe7bda4b56819fc1eae6bd0813ca338eec01f0a8595adf6451bb1a571096ef987678e303b74833306341dbebb81dee9283aa8a8e9cb481c6e0fda9f0073809a8b67223caa410ccd2fb46fec6a31db2c228677905cd09c299a39a6a6ba60ab8199354c305171ebdfaced27260c1b7f4d482f7447a755b44b4b262b19d82 - -COUNT=14 -L = 2048 -KI = 4316f6b52bede73b592ac4d51690ce9a7be23c1bb4791c13196934c2491eb77303d2112d0394378c8fa3ea988551f515 -IVlen = 384 -IV = 45bd64b4256ae94aadd7e7c05aaeab36eac429e878080c8a2115cb8ab26f12a90d7569f80fd5272d8d019d2bfb0565bf -FixedInputDataByteLen = 51 -FixedInputData = e8a4a9b9af354e9d848545bdc325f0fcb6cd152f9581c539f330d8789abfb4f1a7afeaddfe4839d60febc4464e91af98e47dc3 -KO = 7b0dc57dfff88649963d125d82269a7fa6e71785ff17600dd74dc78a183011bfabe2c0eaaec87f0ec8a3d9daf3b6feead712c382da2b4b3df25aebcf731a9f28fc67e27eaf2baa9470483e8f542a36d03036111af296d4431f246d032dbfbab05d451d62529e39e4d571116b412e3df4a1062328756b8ce265ea563dd3f29bfe74403bfc3c597b55b74c67cae7c8fb318042cdf9d205633e7a9bb1315be7985ae7ff07f78237ee1fe95272543b4f8a3c59201138c7ee49856ba4812466eec5fe1c32dd2d3c9c5cc251ff9c7558fa973e1813ee02a47463ae5495eb4fc25ef0fd0e1cb955116ee4585e2062d9e3806298961b11ac215e5e0e2a5dcfbfa12fc984 - -COUNT=15 -L = 2048 -KI = 754111b244ca6398edbb3db78c3606ca62efaaf6ac95446907acab459e7c723dbe17239d1cab9891c8a493eedbbb951e -IVlen = 384 -IV = c83d98187dfce10a479495bbd41aeead7b90ddb024d3187e18684267da55df662fe02de2f614f91401cc5c38dc4a692e -FixedInputDataByteLen = 51 -FixedInputData = c2191c29ecf07776e0b5c69fd94237a5bca16ef8169e2060ac39acbdbd3be0d43fd30ace88a46b583efe203910aad5942469d8 -KO = 30c13cffe280bc86d7e53b971e8f56700f9e55d3077b46e436973f63cf107360d804754ec0fae0debacb616ea14f29f2c75d50e98469b7d64200d95b5ec2ae29a91ce551f5ec7378431b208fd85fe0278df9f044838228e6a2dc5dda84ae38c38c1ed2acea3c120ec8a4488501d390b37da5a225d8b051d17c0633c64a5d0fe378d26403ff56fd35ffd430224d94d62073f4371af0820c49e89a1ac74455295bac3690729d2689cd7988a2b3215c67778bd2968ae087de37989ef0306c3a1229a026abb705c3b9c4151165c5b4108a9475658096450475edf90ae87fe5f44f961f49a5b26226f37c7eb28b0260c029eb9e670b3ff982f9c664e8b68c534fa840 - -COUNT=16 -L = 2048 -KI = d8ca7024d44bbbbabb86b1dc0ec84934d3bf82f0e98c94ed9103f1892ccbb49e978ab83c36d0994303d83c47566f34c7 -IVlen = 384 -IV = 362b98b08640f7b98a8c072ac954f980487ed84e7ee5a5a1b2a9aac8fcad204db6ccac35dde0ae038fcc96ef000b4b97 -FixedInputDataByteLen = 51 -FixedInputData = 9dd7bb3f3f6e6b22afb179ab3498c9f588cfd277fb4e62442c76d239262f0e67cfbd0ad7b49f136838fe2008ab82c2fb2a8c17 -KO = 6c6cfe4a6cf629abf3e5420b81034ef1d949b82e83b254cf0ad5bbf828a3cce8771146e750aa57ee5f20b54822293c8717269cdcfe10ba28f6c3cc4dd7c7cb2d7045450888de380843460790d5e2538258eee97c22c3dcde25223157e17a4b6c50c2c027d86f03b46255e3addf638c543703d81fe83248770fe5274e18b4dfeea35acf93041b66d838f7f41f70038de19b10a93e7ba0a5d7a4ee3ede9bd17e5f4f8bd93314b5884a3498b74068c7ede7294e31fa1cac315e24db6ca53f193097bbcfc419f556a517a30ca7bd91e4fa1f76d3e69c7e4f13c564f091f6f03bea92e757bb77e407e6d3dbef12f4091870e8ad93fc085b982304242f455711f782fd - -COUNT=17 -L = 2048 -KI = 68ec263a9505137477e0d90c0eef1149050473bcfc444fb9ea228d96a37fa22fe7dfe29d1d40c0737586348ddcc45db1 -IVlen = 384 -IV = 0703799847a34a58db08f1d6de20fe3249ace8e49f75f3ccb0ca875ef25e6dc6fd2d043e446bee2680a52a56cb5e4cd0 -FixedInputDataByteLen = 51 -FixedInputData = dec6289e96c06b585f967b85f36d369b90f152014327f1d49fbe896bbeec057cb179e0092b0d96052e9ba09c66cf9c5cf37a25 -KO = 6f6efb4f481ebc53df64023d3f1e78d9f5a5729f2607af7c8284c35bb173b9184e7487901d6a83617f7a6bde4ddee939b11fe1868566463fd34b1f39f28f9925645f7d8aa414a23cda4f276ccbf47b7c54c90a60c0c1f1d2aae20a19999dec9ab2e16c9e922f271dda0921cf3ccf156d17e018867be6cdd4e4bb8264295812d2e11d36120ffcc22175e890ce7f3bc79efd39fc963845f8402dc7c579caf8b1e47b70a666a86b0ecb0b1c7abe110cf327d2e45c3ff56f3906b84966e05c9b9c8f5227beb220ee6b01fa86b9f63550c789245c827e2aa620a10ee632e161a485621606f382c9c3573ae4acfa090c62c481d24c64032b4d207d5ed8fca3ff3957e7 - -COUNT=18 -L = 2048 -KI = 3aae71ef8d9b18af6234711cab10289a4d5e986145554d37c82bb4997232d4137728906e5c2782e65866df9d7816273d -IVlen = 384 -IV = bc08545775534309f96686c9365d9d24ef6e147f4b5d9ac6a9dc8e3da5df86ed93c13e9bf9c45422f1866b4015513d6b -FixedInputDataByteLen = 51 -FixedInputData = 873a02fecbd8b5c1810b7e20d9942fafdf76b211acd4d8f4d275d5a97ea240ff6b7e35bce48feda293c081b40629e0a5444565 -KO = f38488b7eb90f507b08b42180b90c57e61ec3cf7ed8cba36ef088e8f365b988ba63d97e23d26c49230553e23529835edf62d173d8db4230dbbf0aee1b10940324aaa6452b5881417d377ea380b7988fbdcf397ed0372ba8a2db0015354aa912297db3f0ec1bcc342b5821655fd5124d29ce6a0e412af756ac21f5430e4163133c98de1258bb4bec4a5ac5157d4bf8298c34823587837d9a0df01a01803e64363e0184ceb4aa4de8a6a70eb116dc4b64be27e49be1085088970d21f6ff873721569233220b9889716621f7e3eef9141c2eddfa5e8174b97377293ac06aa8a20d1fd80178baf38b60334ef9884ab374ae882432b2a71c0b5a69c6edbb848ad9099 - -COUNT=19 -L = 2048 -KI = e99196cca839226c7926bf6a119d3df6adfc80484d004d66e27718c93cd0eaad16a328d1cb704de6b9902c53cad3c5fd -IVlen = 384 -IV = 4afb44d4bf3100c77d8b72eaef8d97e551e6a66adbcf5d232ba7b7e883c3e5bf91bfb5619931c9251f0fa6840a4395e8 -FixedInputDataByteLen = 51 -FixedInputData = b5450d708f28cb63838a6e0fcb2f25976b371ca506672c7c6ca9724b018ac04f960dede53c873a95c9fdb5a126dc31c97c2a9d -KO = 9db0a1e9395efd7353a317a24551ecf856d02203b9f4554373069d011fb3ade6af212ae9a481dd05dd2477f48852a5f8a101de22b3ab2e06d8eac4155e9f7ae26f0b56efe3698e885068b900e163b1a253e3b4319839a7b0efceaa6d268f376c53c6ba1b570e0b436b89666d28d40855e8ede9bdaee9e4b69c1b4c0d33f01d024dbd572be94dc5fb302de2a399025322a0a7649062aec1e4ed5b8790d5e1aa65f63a3603b0ec51c42b4138be5e1ba87d4b67c53ab3c07bfb8b484a35da1de8c6e5136f5ca7d1ad0ddf67831d2d499f4e88a0618568d06f6d0f1dc24f5e8bd27db39ccd8d2fafbe2eabcf342e7d2ab12bde6fe5035e9feb0150c5b81d6e4f1946 - -COUNT=20 -L = 560 -KI = a924cbe0f4f2f5b79be611d5fee7f342700f8b1b611f0e52faa6f6c8e581e284efad552b3fea85d358b9a36fa0631d82 -IVlen = 384 -IV = 1892222fb5f67fd5934cd36f7b1b4205c4e295cf31ff1913254f003a18acab739bfeae05bc8f20fdb51bccc281c56a96 -FixedInputDataByteLen = 51 -FixedInputData = 885e35eb830dd83e68d8e784a4ef987cdb3aee2b7c2b075ad912586c41012becd4373615b621240554d4ed7ff70a0fa7b86e2f -KO = ec5706ea336e0849fc58baaefd31f8213ec11243f0394300f55b9ac420b6dd0c1454e9d55e31a1537ece390297c9ad5eef095fde570538cc9780fc267bde94c8ba2673fd8ed3 - -COUNT=21 -L = 560 -KI = 736cb6922a32bcdff727270ba3bb7f1b6db0394a9b9ba12fb801f65f8cf08360b4c7b3a85bccc77ffde8011875582ff2 -IVlen = 384 -IV = a20e8a17157c8c22cbdc628fc3ebb24becbe00db601b4b023de003b521935b5d2552ab66f977dbbf88521e8560847a0b -FixedInputDataByteLen = 51 -FixedInputData = fa00815311ac841720154d5cbbbde7d80473ec2b5b0bbe4b68cae03868f6a3643aadf431b86f5ce7e5e9bd4c777b850ad8820a -KO = 53e4a11fc47716f3948ca243ace1819c2ea6c13448efcc5c4b2922b15c4b08e590a8bfb42f270bcfcc03bbed25db85337b0b3d7729fd798cc48401a3f8c6dce44a4aaffee2b8 - -COUNT=22 -L = 560 -KI = 4e16c0e30f881c7296304d9a7854cc361a9eae27b57d666208eb7635075ef9b124bd922080b35e4072a46369d2570be0 -IVlen = 384 -IV = d74804417b179c1bad3adb5ccf37fe4dd8f4978a51ce40e522805cc3f3af9baf171ebf5e2a384ba668c81efcbb600ef4 -FixedInputDataByteLen = 51 -FixedInputData = 1dbda2a0779b56f2db6e482a39a8edd0e0d7c4888a1cbe8cffb77d502c75f8a4871859bec09b0dc5f753b2006cedb583f77ec8 -KO = 0ca8ab6ccaa075dfaa43502ea409b95d39b71aab42f73a3e0a3264f81b5f38d1596f9d6c8e23b6d768c2fec671ffb85560e69201be84d4971276a40acbc8bdd0154c5a7122f4 - -COUNT=23 -L = 560 -KI = 59e354bf9d1a91e129eb573de8aca14bb59e8dc38e5c690d147ac3563c88f8cd7286fff2504155e008d07c5fad4cb06f -IVlen = 384 -IV = 7d116eb94c485e8875fb55443464d76ff0ddcdeac51a4f990b6e4962759dccfd653a8945b871ffd55d2d0ba7e848fd94 -FixedInputDataByteLen = 51 -FixedInputData = 73490b5c34e150c4f94bf48e5c74386c345ac2f87b1230704ba39e4ac183066c91af6a67f5eb0871e7a08541883e7926f99381 -KO = 620b692e2ca4d30566bf01e5710f60182051e8e0c5fd38c7b56b512d8bf83837b814bd4b7ecee175795dc8b4239358593d617283e14739f57f98ad4fcd1b2bd24b7ed7c3feda - -COUNT=24 -L = 560 -KI = 6951947b3316e18add4ff73c023cf01067a3d690bd622f2ce42b027271a052a6ccac689211f79cc106b41b0d9d090306 -IVlen = 384 -IV = 9c0f3db0bff8020e24857f18475124a740d28d582644cf13a476c48e6a8962e1d9bc8818f7c9e71e5e65b0043b3d0290 -FixedInputDataByteLen = 51 -FixedInputData = 7d76a6a16b48aa0fa8ef9c69632966890b2f061c509a26f0ebc5decaf6bb5a9f5df5b5e0023eb49a1953e79bba6f71cb98b47b -KO = ec7c5db3ce79501afb0914c0db07c01c97b3f547c9d07dfbac17ec17a0e12ec206f311dc343ab746bd21f04b0aedd9f4b7eeda74e3c8367855c91ef9f6a6023fa2be6ccde3ef - -COUNT=25 -L = 560 -KI = abf0ad4ee6ff5e0fb1bd6154bf874085bd743617a758300f2c5ee9aa00a2fd9d571547cd56900736f93dee4b4045f416 -IVlen = 384 -IV = 9a1d493b6502eca79fc16f1665a9d522859282c584bf4f3567fa5524c933f9a092673fdf124bcdf7ab93185a126e75de -FixedInputDataByteLen = 51 -FixedInputData = ca570a48f031870e912f0e8d03c57712460041a8ec2776235102b05d75a07adc17aca96a18db29f5709c3c6caf49a9838ff49e -KO = fddf58b2f6c2f0c2cb324a55d6ee4effab21431b3c462e56155267443a3007f289149a90efa2920de8f2ba2dc70c69415d18cdb44591bbfa01780e08221f5694cd4995d4edee - -COUNT=26 -L = 560 -KI = b510fabe4433dee133cdac66eb2612fe3f870499068c1936ddc0a317b9487fb85849296a3eea70feee7cf926c1077c87 -IVlen = 384 -IV = 0c67eb6e3cb62612d3588689e5e464a71dfffeb5722b07ecd3ab9ea00e8d13ba96222c3b4a43a8cf9f331c074f64c3d1 -FixedInputDataByteLen = 51 -FixedInputData = a864247bec5a869392c7f8e7420f26aef9d180a61cc95794683462d28a0f1951670b5c0c63e4d4ca29fc4196bf483b98f5489b -KO = 9c83ac165b1750571144185a34cc622d1afb355aec1d95cab669e06fd098c75cda2406faeaab73c5f4be28864c83a919a3cdc007ab4269c2e9a221e6995b05d673c367f38166 - -COUNT=27 -L = 560 -KI = 860e232f7e6dedc8e7bb36f9c946960b1fa3df6adb5c26dbe76843db7740c41851799409ecba1d09a262debc97ebe445 -IVlen = 384 -IV = 9d8d5047db70ef07157990b72f37428d0ffe94ea6628fe254320f76ac3b769bb66123c35ed272005a64cad14ccabac58 -FixedInputDataByteLen = 51 -FixedInputData = dcdefe0f7b5710ca1cc4734e8ae52994a2566db43b7a2a1273b90efdacaaf7ee10fbe5e90f69b4ddfe0a0a26d9ada80f695312 -KO = 698b89d2e2ac86f27453b5f5570759a7c4f9b82a2b1a93f093cf605cf52f0d1bbe4bf7a841e76a094b279041fde1a505cf51f5ac3de6c63b65423e85e8317a9be01415bbb487 - -COUNT=28 -L = 560 -KI = 22d9e07bc26d1a5a2368e39bcb89c6f5aee958dd1ff993408c73052307418d9a1b9d041ab7fa2d427b24f6d9983de90d -IVlen = 384 -IV = 1a69b214da366385b5b3f83a92d8189b62659cc27e418d6e6a143cbebfde9ada722cad426173eb895b85f601d931a40f -FixedInputDataByteLen = 51 -FixedInputData = 86ae3af4f451f2743fe277932a173050b24e11454c9ecd50f6dcee3d216207e08dc8fd42276727cd2eff28648ba38361c820cc -KO = 1805c792773e038fa25e1cd1e1065e65b5456b069d8838423a4f99c194c615ce37cb89d26799d96052fb51573fffce8f8c03582cc1b1afd2a11d3e27e2c57a9ccc98de3f7ef0 - -COUNT=29 -L = 560 -KI = 15ffaba76d2f6d8f34344f83f9b74ed0faf5a7bf66fa641b96fdfb1c23a88a3271c46498d2241621021835d39f96fb84 -IVlen = 384 -IV = f0d08368d1ee684806cdf98a52a991533297331864275913687d676f70e74476caac7229f61fc3e567d929131bf93632 -FixedInputDataByteLen = 51 -FixedInputData = f6d95ed7e7800a6c1aad66a6042dd04762128e0e8940fef6f762c05ab5870e3d5847e172f55b71eb4bf088ef56c17c009e7e6f -KO = 8403bde4f93c33a04b4c31d174f32efd72ac2f0a055edd568519392807b584afbf2e75aef163b4661352e58ebcdc2ff6fd42c823ed7e8b51b6b49a088224cf3ab65ce423b63d - -COUNT=30 -L = 2400 -KI = 949ba2bc1a525b652ce9c21536d166eb7d18ff7ccb8bbdfa34f17cf2e2feb3b10989d744c203253198448e69225f0ee2 -IVlen = 384 -IV = 1b8b73775960f3d89dde511b40d9139206b4dce6edd8e8f082302f4e9078497e9ba686e8c3354d837d6119cfee7ec22c -FixedInputDataByteLen = 51 -FixedInputData = b45a904ae8023534d4ff737fb0df2872b9bdeb62ffe2cd53337363820aa8226e8259c36b2fb0fe9179cb4c94d8755b2cbe22d4 -KO = 1e7de5dc5ca972e2d160c1308f78bbfd30b4ba76880e204a8e5774e53cc0e16ac2e3186b14eb1e4d83f709c7c6c7c7677b38241d1f05ad05e880accda5cdf1338cc4f781c2f8d00a83a3af486aeeb2f64f97ba08f15d257a9c38071fc94bf665f35725def6889b849d7a3604b5b90628b118e53ea92949f0b7fe1c9cafdca0e4851022f6eb6c42808070fda123e14e3aafbdfede1eb7aa7755f62c9db82a5b7e5536f21503eb4faf6e94281fc7f040a64497d1286f548dfdec203a948281f69cd68def5ad9d19ad73e757505494123c69ebc590e041394774a70543be9d4a41b5c453869a4bab4182f697bc868af61a4a8d7230533a2543aa44ded338793034a0e9e18ecac44f2b14e57c6003ff20b729f834591082e438c1d30a85b346015d79395a7ec9a4514be202802ad - -COUNT=31 -L = 2400 -KI = e72857142bbeade6d8c8f68471113ed57fc2dc6bf144defba79bc34dc4ac688cfaa31ec367301a8e692dd4f58f32d693 -IVlen = 384 -IV = 6e83564f83cd7daa6cf1000431b691c4e56c104583c9caba30a162bd3be92e79dab3f1437d36695e81cf981dd929ec41 -FixedInputDataByteLen = 51 -FixedInputData = d1c49ef61b97e20b34780cb2251ddec7f8351a816bc5f1edcc3f9c995ea83d3160fd9affafb41d47074c84390cc70caba918f6 -KO = 061ae91e3622bef1931bf07eca5874fbd6679f82fbed376fc8b7c153b49fb32bb97d23dfdc007e566ef7c0fce66ad680dc794f1e4ae6be3793553d4961176d4550ba2193a8b3df4e1dd071d60e3306077e60312e35ff16a462c343acb0cd96c8a89d6394c8205fd5de8d9b25a5edff3bd6a5fb477790e482e69669f66f85641b9b9e22bed9aa968d6f7912c299a3bea57dc3e8c4a26db3dfe89f81bfa094af3b1d9822f56ec553262a0ba4f45e56bf8289b00e3d5f487a5d235eac9caa91e3fa8f17837a86fedba78b493db326a54043e8e8a9daa01f3d2e01f81537846e98d10fd56acce065dad078297a887b94d52feabcb36d3610c838048b9e0074d4ba05f3cbdcb32100c1ab737e5364ca519504baab32b776f0a7dd711be3041d95fd5dde96f1a253611898cf267ed7 - -COUNT=32 -L = 2400 -KI = b1e194cc9625c001839b971b69e8fdb81457d2293c03be062ad0a3f187c45a8416dc91256d21cd5c7a3d984973571a26 -IVlen = 384 -IV = 86614becfba2562a78f188481e1d1a0c585d2b115904a32c570a755209761d9d759eb8f14b46b87a41ac039c4e962e14 -FixedInputDataByteLen = 51 -FixedInputData = 85ec60ffe9948f111685d7c4feb717767a68537d9ece5b512151a6b0710e8de465ecd3a6dd80737b51194d6211f104de1d07f2 -KO = 3ea2f6455af7f8c74962820b496fa8f1a5244130797feba7acbf9ec23e3924d5dbac2f9d891dca09501d726c2b134807867d609c829eb1bffea5fb35eab0d9dab11e1b244d4f1422deac35ea3fe1f22036df315b8e679859fdeb135f483dde89f662f31409a40e7e2d21cfb8a9d44da0219979b54d241a3906769e1b388a934ddb2c3a61f2512c5d2bf6c5fe113fe9677e583d6cf411981826cc0827b82fc42a5ddf6d068a5c5aceeb26a0a5c8832f57829f4ecd10c593a23d929fa6180f373a6062eea4817fe2189ed2975df751f6cca3aab57c724d077d62d743b9eede75ce33988bad259b0b893abf9e9e47bd944cbbc41e6b025eddaec79524d12482c075d3968f9ce450977e81bdf0942c1f63043707162fd64e3e06adec169751b082a20cd88969279712e725114500 - -COUNT=33 -L = 2400 -KI = 2febc6c845f6639c7d160e44e41deb705dcbc728b46064dfcc6d0e885b6748dbe2e3b7233341ac9117da8950eb3747f9 -IVlen = 384 -IV = 0172edde8a89aa60451f0e95b7870b294dce11f8577d202ed8b193a2828dd6e342615aae531be79da32c495f7e1858a6 -FixedInputDataByteLen = 51 -FixedInputData = 4ca4505d24068bd07cc871dea8d5b654bcd9e82d22d7aaa6dd7fbc4e36e7bd0c48642b1eee3e8defa7de3f9ac2e54d209c50e1 -KO = c6843d5bb4b37052ed0246deb166669df0121c121a9f05e192476523f66667da9517900980abc03919f5342b6e7e87125f3f071834ae70c67d59c7fa4d45087cc4d9f1a27cf0cc5ae02db730fd1f80e74f6e3f8c2ad8cfd9f11b79e55bea2f8466aa02b80f62864b877490c1a8ac7aa745eeccda4a464feb92a97664952de27eae687b96657834397dd9b9a9bc5db3d280180fb84ff18d77aa82ad2fa517268a6ceb58c3eb0c147abca25ebe236952acbb58358239b37583a60980ba248679abdb60670798f2b48c1c8a55f631b13fc44642e9a093f6d27f1051cdf371c1919b864059cb2b7d7136372abfe0c95bf985347c46545438fdfe496cfe94ae200c044c304f85f4eea323a0ae938d64b6cb390c9cd6167785ac0360decd2e3af07b48217e63aa235977b0a73ab869 - -COUNT=34 -L = 2400 -KI = 54b0dde3034d060c67fd6da882fa13d9fe50a0a1466f993aea5e7b455883104f55dcd229587ed837ea3db3de62fbf006 -IVlen = 384 -IV = c4128f2aafcb1f84c974de734eb47448ed8dd8fe6203caf1f861c5b802a04999448497038723fb9cae2d4dea00016e14 -FixedInputDataByteLen = 51 -FixedInputData = ef5b83a53085682629c31e50c845bafe44c0b776aa7a43cd7279eb86544de59817774e3377120eb9d81d085325fd81a1cd3004 -KO = dfc515807a72557c047be37eded5e0351fe2d4577bd31ed7445b24de88062873b3b20088b7e0171d97ffc0310072f7629ce9103047567716701de41ebb20190b7ae21beaef0c37888bb772cbe896dc83f8f32b6dbf84ecb3d77fd0235f707e9e8c6bc57605818d3a8537c4c1b2d66c5470d6ca88a55b58255100d490f9443d5feba644b0e7d57ec5301449a7cec08824bd34f880570bce227147ca985de5d970840f552b21b94cc1780a27f4d7b4b5579777d3a37f6ae1da0454b0fc322f88dc4078d073664bc24f226fda14cb68a8f5021128e2717fed7c36c592fadff1023fbe76bff051aa4ef9c53727a03cd94a698b594af1ef971f5f0b16281739eeed75546dac87b0658d34fd3597e4608426e432d49ff4b53f7ec1b567559c9b1d88921de0115eb2acd5be41ecc049 - -COUNT=35 -L = 2400 -KI = fc65dc03df8fd8151924e4cbac78d298710301bc6a6428f50fc088e937017521aabd45837cdc1aeff3aa5a4bbbf7b784 -IVlen = 384 -IV = a4b643f83210591e16b2a5bef4fc71865512e80fe0a2efebe975bc8886d82c6d7b6051446b48b81c24dd3298aa4e0556 -FixedInputDataByteLen = 51 -FixedInputData = 3cc592350e29ec8e65e071f594b07f953aba91186cc026966b8034e49029988c6aebb848a93c352dbc5d4d52f02fb1f67b9603 -KO = 1902196f9530751283882f6c5de7170d4be51a8d3e061259e66aa5c7e136d882970e6130f620f46475c601bdf1b9caf133a032dadaa18049a563dfc861f569a9e0a1c98806ed9947514a915579ea8f79fc217f53515e2bcc661aca7cca7ed9e15f411b220bfc08609b4444bb1b9175498122aa0be5b1966c3cd0a7b1d50914a2b5ba450c0fe4b9a9a79763e3a3c8b538b3652c6582500b3ca5cd2b44b5a90bb2116dab0bfa53e1bfb3f543530ca0a74ec05cb0f4bb5ce1c1b2756ce02bc8a5b31053e4fbc0a4ef7ccdb3cf237d04415684e99fe234afea1e2954c51710f58f63df4bf1b3742fd96786a0ebed4f840edaad06a57ab47e72909647a2240d204387b0e916b1f32a99d87746da8ed982b5d42fed448b3ba599af55895f58b38c52c1536104b8cc2a5f65d800a9a3 - -COUNT=36 -L = 2400 -KI = e2520e04c9aa9d01285e1ba91c24fa8d329242cc14ebb5f3cc3bc0f6c9bbfd2426ce7780b7a6be73a9ed68612f0350e9 -IVlen = 384 -IV = f2c645d03ab489c1a6e4c5be876e98f9801071c1ea30265ddbd1ba2b88b43f662487439eb1d4ad458139792b718c9e82 -FixedInputDataByteLen = 51 -FixedInputData = a3ae7c175729e7c38db3925d70996a92ff5257838ef8968923060fee3146376cba4085205a1f2c49b408084e2e13c05e59c971 -KO = 100c72a6e534239d4f3e16b033f3b14d99420af36337ae80360a5f73a7ab7fa8dbf8869c70f89bc476f4fd03626ca8d4f5df08398df6b1afd1cfcb8d956a19acff9925e49fd16f724ea3014bdcb396d4e2a66b4664d04de5740c02baae3ac994cf43c04eb16908502accd136d78e2a970b1a001b78e2305d6ba46279b6db0c1bd981f7cffc5d2b137fb2937de3a3e085d504fabaa6e6184aa1c7ecbbc39bc795fe4db102bbd3609cbd9ffeeb685212fd05cc30fe2d61925e29d1f504f9ae5232c907cfe139c91e9dd136a6b3ab7cbd94398a97735c13c6c7a9ece9a557a2b8e0bfb751c1593cc63ef75a93f4da875e7b896909ad6d2f60987a2710b289179d53671b7288d1c2397fc1f2a948691e9abe845e30e5b035a393404ce765c93ea84ce76faf2a9f539dd1f1b67232 - -COUNT=37 -L = 2400 -KI = b75ebccebe5106c4a015a5e4d21d4506e936107b6f6942eec2f1b52a535a8483451611e28ece41708bfa29b3a1519bd9 -IVlen = 384 -IV = 7d83bc5e92beb03218d08865ac0d0ea2e0170894f593d647b2cfcf87e51bc4dc69c67da3f23dd8350cf130d1cdaff7b9 -FixedInputDataByteLen = 51 -FixedInputData = a20d1ec5d9ef1b95544edc76e675aa65cae6d392c971d425991363f19ae926b567c4a7cd6ce9b831771b5e7eb35e1b71457f8a -KO = 337cd273a60abb3dc2c9453c3b48b8513fb18da147cddcc2d4d64cd8a2f5351ea8686ebd006ff0ce6cdfa12484ce8f25b784144bac4f89a380aa6e75c2406f13cf1aaaec47513a8b2a092b9688c785aa19623212b70eb42dc73c57f803f13f234fbd2e5d5cd88b1b4229996b9e54981f6cce11d44007b83a19c72074a11f75e0409ca52ee40bbf5719074bf0835926dcc15cfaf9ca8a0d289cd3022cd699574a5ae247ee72c8ffe1d8d2e9d46f8ccf6e25120be2189fd52302ca21253c4045068ded5234d7da3b04da5c4ac81fe7132902b436472a4e3c24d0205046d84544727b58e3e4847a3816076d0b35d9283059fe7a977ea984f40d7c080c580ef8c857b8814739bb1533d894cf2db8e00025bd53aa429033b7345226e0fb4499d8071d956d6795c4cafc9ed05575c8 - -COUNT=38 -L = 2400 -KI = 251cf8514d52741d1f867cf98694d5bb512d3053a143fbc3721b396bd2de5999abd23f24353433cf2511459152e51df4 -IVlen = 384 -IV = 726168e0321fd79b50e847701ccc1901d05c25c751aafc6002a2247508847e8fdd9ac3ba7e561dd52b3c6f97906cf38f -FixedInputDataByteLen = 51 -FixedInputData = f8d7e13b682b34c0db01af574a107b8f69643869402763a0856e78c28c55985670bf33e8ef392cb42a1fc7293d9aad0976b838 -KO = 719c9fc7242f1e3d9a7ef7a878cbd9ebfa858682219a7d4337ee247ea304476b66a6475a8f2884d5ed83eb8cebee4329ee474bffdc84d0151bcf190d3c84b2b374858a70655ec167a8c492715f3a849de407cbd1947e7201b5b968af8544738acb960d9ede79640b4286d6f8c60adc0b78ead155493c8b1782d9f6162b44954f12ded1a146a8b72a4f7eb2f5f1d91e0c8f0277a7753e408df0eb258adb1c76c987f8f11a530e9dee611ee76ab0594f3b95de9a4e3c7a039a8b6542e1af35bd2d779ff624a14983a51e37a42c57f5c78c0e2d26c677b2920c4bf47587c2aee40651219eaeb183286267b8c4da6e6e618f291a0ec80b97b6f283a59302546baaedd6b27182005e7eef4fd22c14d2b959737a550b7bc4ac9a9241534fa101ee2ded50edac25bcf365b53750013b - -COUNT=39 -L = 2400 -KI = 418fbf6c061e04630f9076dfd7fc86aa5ec21f1436b531dda2d3d6d7ce19414c36695f742b0eecd9fb2ff96118783419 -IVlen = 384 -IV = 6d19461fbea2c6ab011f2251c9399cb14e0d23535265a5d2422a2ccbf0bfc0c24e05402020977350be2af44a55f7cb2a -FixedInputDataByteLen = 51 -FixedInputData = 1b9dfcb3d4489af5acb20d4f2e0a747f07710dc3c366a0adc2f2ee41d5a6e9a27a8e85e7b53c9a61f8735565c551d78f489059 -KO = 7ae1460b62f7229a4abc1f0352d068d589f02aa0fa9d2dc627bba171360a609f4b2d6c0a90e93af5cfb3a0ace6a73e991f7152bd5d38511f01a0df8fa0991322f5a323641a5f28e6ca1423b92929d28c3ed10922372fc2fabe92fa9a69a54f4221d454b1d537b8e5b5fa94f67ce41dde77ac65f60c8afc312a26344d3e9bbd355ffc38b226fde24f58db08318bddfb2b56a7313b94ca222d9a215a3ef90733b6e221834a6aa68cb35668d2baf31f6bfe55b2c97b7983bfba7511aebf568be0b00a3ab55f2b404641878b0edf1de6807428c271349e207bb53ec0e55a1f018d6af87c9f044d80b83f42e970f7562e4ea129511e84eceffb50a6c950643a4a3d9e9e3907b42347a46ddd5113e38f96645e65d38495e8d5eb99ab42f617a8e0ff442d564d6fc0b1c48de7e246e5 - -[PRF=HMAC_SHA384] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = bae7675d40c57a48da77585ef4c154eb83b2b8ed95ffdb2adab3c8277dcfc50455167a248a67cbf27de4dee7fd7e29cd -IVlen = 384 -IV = ae99566c7ec85679dee2e22f7e77446deb68deed1356dcdcea0a066b81c15f863b46b199ebb8df0c3d1bdbd13df01ba4 -FixedInputDataByteLen = 51 -FixedInputData = 2278ece57c45073aed94143b49e977fc12a983e575ba48e4915d9f1fb009e0e43366ae32073f1dcf9fbc3437a8fc4054ebb74d -KO = 07a162e86c833172d30f2e7198ec9873df30c20e599ca949f8b565e2e51e3842937b3baf93838f658a1f06d5fdbf1fb98e94c344120b73727b063fbdd289fc05 - -COUNT=1 -L = 512 -KI = e0d2419e97be1c23d14b17661aa087f84151be8394c7ed00dd8120a72fc7d81620c368315664c19d5e649397a7404d0e -IVlen = 384 -IV = e7649d49724f916feddaeacec1635e42b4f9ff2d0ce5dd8cd43f6dc16f282c3d325e47c75275786b46fcfc236e3b50ce -FixedInputDataByteLen = 51 -FixedInputData = d9d0b4a024513b7e6754853fe3fe4b4fd16de827922afa6218607abc1d6bfdd5c6598edb5c16d7906d37d1edc096a9a93e877b -KO = 5dc2d14c69335142fe1f1296cfc20b5c77aefceb8db7d38fd12cdcfc4ad62eee5d648312cfedb702b20b10a353f90b88dd44fe5654ff1d4534f1a5a6b3265506 - -COUNT=2 -L = 512 -KI = c0ee10ee529dc999ae604ce535a66a1a80fbe1d436131401a30870f53b5be733979af4601ce71294f8961167526996c2 -IVlen = 384 -IV = 5251114ff4cd45f2d83453442ac819e6549bf008a54ea9fe848996d3d5adf73be700ae1195e76129b4b94de225acfa69 -FixedInputDataByteLen = 51 -FixedInputData = 36e8ca4b5fb1ff0fa8ce401efa3078500033eb2e44d2770ce00f414e6ea71636b2d5fa8df812fea6686a6a20d721c966c8dfa6 -KO = efc3fb8618f0db5a5d06c530cb81e67f7b6dd3fd518c73fa089deb456e1e6e8234fe92affac4e960460c3981d5fc84d343eb6da0443d85b8e56251e9c72f1c14 - -COUNT=3 -L = 512 -KI = a64ba951f5edabaa92fae2df96742b5154975802cea18ed98c0c5e82620ed04025bf2a07ebb2a9bc7255f2d1a1ed7fbb -IVlen = 384 -IV = 6547ef14e0b0c27ec901f301c3ce76c56f457b66c00746687e58cbcad8d6a9bbaa67181d33f0df4b78195310e38ecde8 -FixedInputDataByteLen = 51 -FixedInputData = beae0bc40b84a7d978b6523f9a726e327a90dce87a00dcfcbb4a8e2a1481a1ec57183055e9cb1a8a093829c3b22be540434110 -KO = 85b60adc95873ebbcf1f01bb134b6ab66908609f363afc1e2f76877d7a5518ae2605d9b2c6717e7ee3b88a24ca1e53052d05e0e9fcdf8cc119cd8bec4abcae44 - -COUNT=4 -L = 512 -KI = 0232d14443b0cd93928a6956a7c44f9544672867f520c93f5997d01c7a822129bd721e0c1898f1f975083b015c50ce92 -IVlen = 384 -IV = b326fa8dd4f321ba86f46f76734cbf32c43143c1dd1360dbd308b22c7371cdfd4ee68dc0c92983ac84c37ebd48485a81 -FixedInputDataByteLen = 51 -FixedInputData = e3839143641dcc6fa014bf5bf671d75af0803cde2c763fb293d764a06792278828c966ecb62400feafb392c13804fb6d8ba1aa -KO = 75756a254c87a661b47e87651e5f54a3d1032bde3bdbc5de4583a12edabc56d64a53c144cbcb280fa11f292872c7182aa5ab40e503805d2a52fc84407261fff6 - -COUNT=5 -L = 512 -KI = f46b6b802a3a8ba7384884f47042c8344b678d5683ccd5d0882a0f5f42074a4eb84873acc88a53a6e68e3980f0332d71 -IVlen = 384 -IV = 1eeb4fd6152eadd1b3e60280d994184217ad4cebdb28ad4f34d4a48eafca9ebacd632a61599a658109b0acb3cae4ab17 -FixedInputDataByteLen = 51 -FixedInputData = d6c28df7f88a9eb6415582778699d86bd0cec9748dc98c645b1ea1a0a3e8c1441df06d04e8d0d689309bb5eb0ea27f3c5b69ff -KO = ccc43f6819df6388d4c6259ef76f7342ed9b1b882e62bcb57aaeb5bf08a6f23948ba5afc1b028a889cb60f8b978e5ade94a80672d00937fa96a35854c04d2500 - -COUNT=6 -L = 512 -KI = d7d795ac9b7da9fcbe4ce59a029bfdf562d0143cbbf9b1ee5e37133090bed4670edc2284c59b95d2cf155195cc9d4c22 -IVlen = 384 -IV = d3f8b74349c7782221129a0f28a04dffe01eb1ff11acd22830134701d4c404c974864fe232d257f0d9da83a02eb27add -FixedInputDataByteLen = 51 -FixedInputData = 24c1017994173fa82107753ad60975d41deecf157c011eb5e23f6400b150051eafcef01f25ff6741dbfef075f3b16d7b53f8c3 -KO = eb067b5932d1198c5d154008319c47df325ff85966eae9e78463e793ea71038d7fb7d56c2611c9de4ec1196492e791346c69d36b8c55dde501aaac21725eb3ea - -COUNT=7 -L = 512 -KI = ed2df8b93dfbd4ff2eea7b7bbdfc1cbb28387ecb17e2361e9b384c378853d54238bd1ce7f173d610d4556de005fc9aea -IVlen = 384 -IV = 66d5c4d0d6d432c33011d1e1e9bdbc34afe192ce783e3398507812ac83cc6a304bff410122d7224a1a794f8e02f9bb8c -FixedInputDataByteLen = 51 -FixedInputData = d2d7705d6c2d84db9b615bf262f35408922c556a8d35609933e9fd9ab61c0fe5d691801e3bbad4e422ff8cefd054bba5087393 -KO = e3405164b68ea4b30018a7741103fe2a2b1eecd20241d6a7c98399a6a6ba81cd8eeff8425d883979b1daaa80289a86136acea974c1c310b89b8b177bfe026142 - -COUNT=8 -L = 512 -KI = 8c9db716a3c1072ec2f70fd4787ec494b7a2382b180c8e427e3cf90d6d2f512ab36b9cf4bf1817b9bbcb5ef53a5c3e88 -IVlen = 384 -IV = 0d6ae4d636d0467d0eb43b7e2051f683ef196500cf8f10b5d843563e8451d05b54efd29c18542990c68b2a92cb3d9e2c -FixedInputDataByteLen = 51 -FixedInputData = 362c0e05398b56c7019ea6b948d5a014f979123fec50297f772bbb55f618c2fe45d8deebc39735ccfe48a3e4b8670e0aee2e19 -KO = de3931faf8001352c96ae2ccfda02b19763b679344755169a191f5bc5518def1912d9d6b88ab538969d0a32151bccb05bc48b07848edf6e515af777b2420891f - -COUNT=9 -L = 512 -KI = 5bb30c716c495fd5d56c368322347a37d62de0a05fc4cce0af1d707f5e89be634fe8fc5e5d53c6f286e352ec227a8259 -IVlen = 384 -IV = 121e5a0afee648e7b4caac5cdaebed18d37b2719ea0d4cb7917ec97326fdc1b06d7afd84493c0a648b493955495be400 -FixedInputDataByteLen = 51 -FixedInputData = 91f141b1eb4119b9b510a35db0a53c0f5fa55674949e9bd790a35f411d681d38bbf0b857c0ae040f466d63d7170f1e64f06bc0 -KO = 1fc9b2e890590912bb2bebd98f2d956da6fb0eae6b30e50951fbae767962e6d8e75a801a943a699804e0d1b36c063726914ea6c6ad0298b36caef15076a448c6 - -COUNT=10 -L = 2048 -KI = 07d5b9528cb2bfe63a224c9e7ce196a94a30107a4c1f86563f98abe63ba99d745dea6e14b0c40015334adae752ba7e53 -IVlen = 384 -IV = 3b742b35379c15de9794069df2183d001f81affb395605906e59735c9c7f83f2a0ca3900f64cbb48ba0dceeeee8c6f35 -FixedInputDataByteLen = 51 -FixedInputData = c44fc2167dc8f1e5b7a9b7258de88bf7e26f1178366513debba43c36978e83695cf934cf8e768a9e9c19e6e45506e031307770 -KO = bed52d22638afcbc40beaa78a8377b90165a06d5555a70e08465b6312b9391f587d83c85d90f48ba7ad658731939c15fa584e48eb54435a6b4dbda4a11df90c96cbdf10c9495d8b171dcc02a165de47d1e97251adffc03a6f1a400f7e24ec8c8efbc141bbf714215e5f2080d32ea0dce3776a30c292c88c10b81ba5512429ce74bb62f8d70f0bcaff6a4c93bac56755841356a998c457a6fcfcb4810f57ee0e0eae154a8847c0f80367965881888d907b04bd6cb5a81a9ec87d282ccc1ac52e340c04f26d498faaf1639637c74a2a8e96a21133757333bf8b80e0e7930d635fb250d9a52e3887116120e48cb41bc595cc50a6333cb6d177af8a027611647f7e8 - -COUNT=11 -L = 2048 -KI = 23b1d42427b02251898ecb652ba3ab4b3ddc6431ea39d44df2cef01ac927408b828a026ab2211a239a0f50a346f12f88 -IVlen = 384 -IV = 8eaf46188738dc42bf6c28d30b2be5aa30cc9fd89f0f76f819362b1a40a9c3667000ba72b8f8c8f553f3c4adbd33509e -FixedInputDataByteLen = 51 -FixedInputData = 22d70b9e1231e180becd3e89dd9c5ac1646fa83185d8222b4b861d8d46ad6239ebb7f06b144b134f5aa92f7ba33e4df8291079 -KO = 4d454b70bb3fd23177a70be825580eb1d54f09687f3d4f4b1ed5d3ddf28640df5a9d5778139b299dff03d37671385a25f6dae4904abb24120e35add6cf97e84260c24d150af355ebc9920e4ab275c455f0b4c4712297acd8cbbbf0d34a791611e904065ab11d12e0fa75e0e7c8686f922a773202219c6790a0fd9d94cef938a80e4e34574e6d96c14f97b15e083ea214f48569385210b3ee2bb8128d8cf172592d511919d4b59be1870c03568c18dc00a7464f0d7f9bf7238dfe6246e83c9b2abb0ef45acbc5d02331207f41dd425c01905345dee73ebbfbc7e6522b174d3f77af51e7a5c717880cd9732b8b67f78aefd496ef8b067b897c4ca80af90e7205e0 - -COUNT=12 -L = 2048 -KI = c97733c8468cc1d0c3b3ca30db8ebcb7136272bc8097b05977af3588d31b554bf5e9e8b4a152c52dd7758b5f478fe100 -IVlen = 384 -IV = e256441f77007fc9563f83a3dc584942b71daa328d36ef1eb758fe6610ddd26b74bbbde683ac5157a8b1340fa2b97007 -FixedInputDataByteLen = 51 -FixedInputData = eaee7bd6f04ede4959b041ef98240cb7e686015f0bafff5476974418889566baa618a288c9c3a329561f104c29b83249aabc82 -KO = 1b2644ac21c35098001b9250eacdefe72913e17402b9e679c603f937416cc6f3890629fc4e4656649a0ed55ba12bf2f44155196bafe1c7a5fe0333bd6f503d2249ed5a014149713831b41680d7be3f1d99b380f040f7d5725a8c352c3efa022db62deffb447a62ffb4554e9bafcc122ca33d3dcfcf909f0a055c110d22e4626dcab919e6087ad32e8cdb9199608bfd026946476cf3a6d72a35f277c91ea87dc94a3bf678e6fb8f2cd2eef52826ea1955fc000c1565a582e77331b0c1d6323820b113fbe3535b00ad9aac61b290924c08d8eb44220181d955015221ac140b3370239562fee7d9e0ea95d7b86e744672a4d2fd64649b309e00fddfe86cf5e77449 - -COUNT=13 -L = 2048 -KI = 23d8a3faa58b981106ef32316eb73cd76b0598793d49c6a20040723ae37822dd21e4c717e076b92f009275ef525ea56f -IVlen = 384 -IV = 4f23791a849b86f5e1f3f8a540a38e4cb8fad588c206d8ba7678dbe830ea282a7cf21feae57383b69b065537ee119493 -FixedInputDataByteLen = 51 -FixedInputData = 83378ce42038c8ceaed37e39341a06592fe99917835812a49266b9bf41f11ecbab929c9947e14587edf2fbdd39abd4094a800d -KO = 1d538adf71064c41a5aee5f7870af8833eac368c3bcb616625736580b1e2c2bcecb510e870511d3709765583871399a0bbe31623b708fa3e325d5632be8cc6d0859c146428a47997e7dec3cdab31dc8e6232da3637c4e4123c37a2dd86b957d0929c81ca0b0493286ba8d608f9246cef9a474c34768995d19f381ce7af649edfc28f8aff542c3da3d93e7e4bbefd274e06619063c25f9f3bcd9a1beaf79b290183ee5dc53663f93c09696146a2f0534d1b6cc61bb5256b1490fea517e93aa53e76bff8f5af7801f8a73a2f8995cf4e86395dd1a29edbe7ebfc56ba60481f70af967afa122793d7e394212ee729ea068c28d1ce0394679d0cc02125e61a5aaaa0 - -COUNT=14 -L = 2048 -KI = a340d481ebf9b7b8620be4d916eb5d18d5ea7659c8ed8ba7fd6050b6e6321af0670d8a031b69f657a0e59d27da89404b -IVlen = 384 -IV = 6c9608c69535be3d8d20097a16dfffd34ede1b7c24eeb3d62798336028acbf740ad2ee96af42e39d46dc4a7e8f9a5608 -FixedInputDataByteLen = 51 -FixedInputData = d911b90ea073182ba82784c50b8dec8a61dec1852dab51a1839865a1a57159bbfa2428066bec52815c599aa14367ce508e1562 -KO = 15c1c605e761c39ff9f7766f288fdbdb814acf814cccb96897771138ba4531dd38718dc820e7f85b4f90483701377e918338b8b3c777f840d6e41fd4dfa1c5fff800207da744aac8df9fed4f9fa41cae567cc09d633a282bb891737765e8fa0a256044dc71fea4f63cbfef270f6ea7b2ed587c58041c20175add810d8fa29a393f27763c55370eb0fb54a21fd86b4684a855e958c55562629b8e13b48584aab5b84ede5c249af75d46b791cd62cefe7d703b526a59506e1ac4dab45a75467e44213f7f363361f323300a8007b0f5043bf8b7e3fabbbd779a6b4294bafd8b650637f47acf7d7494e882506b5365f2ff3c143bced6846cc5663adad7dba19f517f - -COUNT=15 -L = 2048 -KI = 76917a3513270314f97b95e2caf1e265852bd79fcf97ef0756742299ac67c6047f4f15decd72e066785063e893c0e7e6 -IVlen = 384 -IV = a0091493462c2f419462d45eb150ee8186904cf8019d954e0a5f9f14e53b362e6f11ccf73154844720cacf7dcdb0927c -FixedInputDataByteLen = 51 -FixedInputData = 80de22c2dbed1343d91088a8e886096f802321ac74d17abb4ff6797328c95814404920241587aced6e9e650223ede49647624a -KO = 33f3dd4b8ac44adfcb89aebab04f2fdc8a4ab2eabb1a62554457f321ac7795577bb0d75089b0448feb3ccbec3173a19dee4d9fb89bc713e5a04d6a120c544ea4e158f4f98a5caf2eea66ba1bd427689f030b31e0b3272aa226d7a12f468fbf80430e0c255dfd5504b8a7b5e5e2bc7c2a8b267fc2fec0d2a332876614d1d66006bc22f2333055a9511a20643a5e438d051fb36b3b8492b8820835e3c6331ea7331b67afc5e120fd0aad35141ecacce99f8015a5b1e204a2eb54f65d1b72c9fcb2aa69465d7034faebe001d33bdf02cc223facae3b79aa50c9723142b827cb7e9e8cf12fbb850c733efd93c70997a25c7ee3b90c9beed36358612bdc369a737508 - -COUNT=16 -L = 2048 -KI = 861979e5f8737841db977ce181e5c749fb467c397e990e19429a58d11f00a3f6aa4f0e37c296f404a5a86ab856d746a5 -IVlen = 384 -IV = 2019421f692189b78dd5fc5b51b51c9193ea98242786f4ec83a22bd959303d1d0845196e81b70447fac0b8bc2aee39bf -FixedInputDataByteLen = 51 -FixedInputData = 74968043e47bee005f428c991bad5090943139e60b997af03cf9ed5a4a1635582c60e2ab5388cd6141bd8a4580cdc0a4253d9b -KO = ad24bab4fa0499d7c6c6847334cddb89c2021439f9d8ada2fe647e7e4ccbee283571c35c3856b87576b1cf4b3dd623cc62e0c820f120aad14911f7ef5a2e8203d5fc25b36a8b9f3578f6e8040e952452b5645c90462b38baa3087734481af03a13e66a9886559525a6c3303307a1885c3726b88282a1bac8269920d67174789fe4e1a01542b66cb0da8be310e9bc2f79677528c6641c9600d70f0e2683cd72fcbffb3c7f5bc426fa39ab6f320e84b57d5b20e9565a425682a4c0633dc4585ffe6484ec45d1eaaf5edc0709d5785d9e311a09efedce78addcdbed87e53c4e50ac52f1b5af5cc68555821e9fb5e624df9a4daedd1ddc24c3387ff0301b3755a7c1 - -COUNT=17 -L = 2048 -KI = 716a1169f46aac1b43715a83e975c7c4ea6d7a338b939cd26a5c262fdada1f40336cb52a6fc941e6a6845eac511b0d95 -IVlen = 384 -IV = 00ff9ef9e59c384dfb06f2f1aaff2f4cb92f320c4082d4d93025ee88f071dfbc7c3c6a8b8d59566f15d4211698cd1d4c -FixedInputDataByteLen = 51 -FixedInputData = b927e260bde96ec389c5202be5834ce4b4a21c06309cc0f0f1e1e3be2f550d79c7b2097580b209d5ab0e116a98337e8d4bd6ae -KO = cdeace03e92b002ee7a6149c342046a653b9a7a4b41f955dd55d6c816216746e8f0f1a673ddbdacfd4239d47de480d9f0dc089cc97deab36b38851ec75508f6423247768f810a487a2657edc933b1581646091dbca3cd5f7a155c08a0f7cf56941c70ad292a1e220c2147fa42a33366318241ae9353d392232a55670d8e28985b2eec76c3295da5e5476d75b82f1efb2dfa4de834411e00b76a784a3b1e46464cc9752b9d12ec4be0f4371c56345fb911e95c99615d0828bfa77498954acee2efe8eb777ff7902bbff191ffb08f32ddb69ef524140f6dcecd60a687bf42eff0e54dbfd47023e098cc9ab38bf10d9ba3f08c88d76dbb26ed1d32d3259adf46bc8 - -COUNT=18 -L = 2048 -KI = de13372def439603163574c3d2c1e07c730f5c088c881e271addf1b4edd48a4aa506d4d0ece3aba0f339a982590c7cab -IVlen = 384 -IV = 193de4c5518c8182543f1b95614f8e8db3333d48af37cfeb3f7f5157ee42b203f07e558a82ef5498ed3635de560b5120 -FixedInputDataByteLen = 51 -FixedInputData = e01b25f35fa76d46ddaf47de81fde99a02f55e6d2f2c09795a955758c3203d22e1dae5f0c57a00c512ab298573adc50504a714 -KO = abc35d140f44c2dea2ccda60d6a23ea23365187944da5d0bf9e5cd9c078a8b63e0b9149b85c0fbac88257532386a25c2ba5f28adf516ed6aa09a6af9c739a20564b7aff8f98ff767d344d71cb96fbadaf719df0351e5308c4e8701115bbb9a241503b0286f7a3b3d4f5e779aa7374e8f3214ef2925a512e95b54ae82fa272d6c19884a2bcbca492d2561e2e5ad701311c978d5055367ec69c7476ae3439d29aa00df448a6f693e58d24d9f0480be5c500aa4f249385b3dd4d85c54450fa0cb72b63cbe58f90ce01accc9a3410f54656c0dd2bbe9515de9d5ef1eaf99426b17b5f8e90ea8d3a7a436de083c10efd04954b24701d258c676ac8f6c83bd30ccc055 - -COUNT=19 -L = 2048 -KI = dbcdf826a677678aaacffd70aaec59eebc6a1aa7a0d4d252d7bb038c6ddb5fae8eea2d3364b63020247a8bb139f296ca -IVlen = 384 -IV = 008f657e699511f12880712e84bed8d47ac31152cf19c52d197b420e89eb3aee5e5d4957315995e70d838be2ebf41b16 -FixedInputDataByteLen = 51 -FixedInputData = 3db2b7f63304ea579a7ab0982b925472978b5f0c855bd063b68ff73b69b90d84cb635b88b92efb3b4fc70ac9f1fd2c9bf10306 -KO = befb93da412979c3602be70f5b819cd2b4b11c41f0db848290ce8a75757725f02eb4d4bc726cbdafd86011ec492590c38bfd638ae0e5b719c953909842069e8cbeeb39de7c94f5d82bfb3a5cd7413d689a659d881a9f0450dcf72d5a921a66c38ee2b8f548635320903c4ab08883778f32025af134d76f125f7eb9ca70d155efdd3915b2d80b2e8975baec3230e1e181e96474340fba2084b2c1269500b34b5867bebb76e5fce823c876bd1bb0ab1c7f1a414f1ef64250c1a4ba0399378a7fd4ff8ade912ee4e6f162bf85bd009fd4b2ce5725fe350391acf7840613f88ce7ce10b43361d0bfb4f3896b20ecce0a65d0df8ea9a5a708cb032bea7b4608235bfe - -COUNT=20 -L = 560 -KI = 02a45ee4d74fed1b9bf87a903cf28c9e29b83cfac466edc09be5a417a9e147f52ab6fcef89ec6b4d283240b64f47f3b2 -IVlen = 384 -IV = 70284373287d14f584322ff52376fc0449d38926c434180357d99cb00e337db5a1e1794bb8c5c481b8533532243cbe3f -FixedInputDataByteLen = 51 -FixedInputData = c596d5d99b787b6c8f3604534d975a6514e106e053e8b27b2190056039d45458410802cc561457e6c19a02a309693fe46f295a -KO = 81c02d6efac77f90ac4257916baa30638a344c273e05f1793e16ae4c4df8ce331e3c035feb895d2e80f416415e2dc70517d23e0c98a66c0c4cc9ffe2207c26ac951a0acf45fe - -COUNT=21 -L = 560 -KI = d36b7d21136495ad44f2ee18c0969b19df0a122b34a5a2b92a026498c084557841fba6c71dafd924bc636a6c7299c4f0 -IVlen = 384 -IV = 2c55f57e0075ea8c2a6b8ac8c193027d9efae0d79dbc787b289018efbc43045be02a907f3047c27fab10eddcbb144aa3 -FixedInputDataByteLen = 51 -FixedInputData = e22c71755c5bc8f3b6caac78b6248998cd370601cd321ad99bc661d146c20e293cfbbf5370978715a33afae9ee1b3dd333260d -KO = 18d1dfbc96dc29c00bd4385a0b4801e2f2d58bb38a2438bc1b970ad0fd8095c15fa8dbed5671a330382e081d834b2f389f12e8acda14f4162339fbd4ada4338b560dddedd021 - -COUNT=22 -L = 560 -KI = fe2dfe6ae240a72567c279751d2fcea06b63a3cb860ce212fa9c7ec57d92a9f70071fa464051c39f54b1686522b20225 -IVlen = 384 -IV = 735be3553dfc2b8bed3fae6c1e9875db3adb45b90b42beaffc3b5d3557c3a174ad4c0d713ca98af01bc452c50f653af7 -FixedInputDataByteLen = 51 -FixedInputData = 863f6782eacceb4bd90b88d1e8986b85e889b0def43e1005208a30421205a6d1af07dcd55d2ea2c1581a0148e8973983bff604 -KO = ef5dcd248565db7d5642ebc2138ab93e0817128125d80ec9a0f0c066c26cb4bb868755b364d2c577e523851ae7881a8d2094de9f867e5780c13f5dc7c26d81f66dae150d3ec2 - -COUNT=23 -L = 560 -KI = 624ca29c4123ac8dbb0124b68d958e21c207f87f521bfff84abac1326b9fc6420ddcd94783f4bf8d0b8e18fd59b8e6bd -IVlen = 384 -IV = f49ae583ca65373f3393e706b579166966b262515dd5ffa07aad2bebce7c4f0b3d15b03e51c04535b11f7cea5e3715f0 -FixedInputDataByteLen = 51 -FixedInputData = 5f322882f09b451eea67cd4be94c36196fa72ff8457eb1c2372ecbe81cff3ece24cae79f00a63b561a364c8dfc642fd21718c6 -KO = 8ead1008057631b9c3d4327ac8854ada80d640770c183576f28f92721304e181ffbc17eb61385bd5b91c351d476b91f22a31177980d045dac9f1c480ab774c882ac1554fae2f - -COUNT=24 -L = 560 -KI = ef7e4f96a01fbaa9a797a9245977f0fa1ddbffc3b0d407f9aa71fbd5b7bbde790b5bc8b9aa109f315869d8833d886050 -IVlen = 384 -IV = 5fc872b3475d813020d7c353eaf563d60d055e15ee1f66d3b115dd1a0f9eca083b6a20650e820e298e1ab5f9e07c2047 -FixedInputDataByteLen = 51 -FixedInputData = 8784cbcb54d0820f394a6250e9504ca86f78d6bbffe83f5a8c0add1beb84fd88a6f93e0ed644c275f8ec0e0e104eda4024c1f5 -KO = 97ba549fdd55473d3ec0de7ccc0caaffb61f3f90fb1076c34771f35f353dc5703ef9cfaad72c8ad516ea4ae28e4ae870bd56b2ed33ecdff87da5b5d22daed0aa2c5c3c9dd723 - -COUNT=25 -L = 560 -KI = 0e6605ac9ee031279db5b6b68e2f222bf1065e7348d136cd03a58ba9764ecee630cc599cbb572a51c0b044b669ac2021 -IVlen = 384 -IV = f6a9acc2566b4e81eb79511d4c83dc145b58016a49323b22a3eb14719087c8d7a48f88173ba1ca455b8ad287bd378102 -FixedInputDataByteLen = 51 -FixedInputData = 7836912a769df34a20701064191ee90defcb8c0c275d0944eea3f9a5017caf7a89f5945667ecd3416f7402421d43419f8cd73e -KO = d5c386969caf900476db7acba2336739839f9cd890a9eed0d2bbbdb07f612e3908fbdd3211f50af8d51f8177ffd86113a7dfe90dbef822fd55f807666f05bbb2c965f8a5b1ff - -COUNT=26 -L = 560 -KI = 6905e74d6feb9dd3346246089889a2a24e6be9e8413bcf49f16bd01f618a3d8c7076550cd8223071decfe5394822f865 -IVlen = 384 -IV = 5dc4f204759d749f93f7bacbdd3cf73e584e5edce203f7da5b470d0aa4c7c18074034c02a80aea9c5c8332ea991b1fb3 -FixedInputDataByteLen = 51 -FixedInputData = eb514bdbc5c1dcb1cd0df00e92b4017e14e465da3960db3533c95168beeca61852812dc1433a8359d812c6df88c2a44af4debe -KO = f4e3d38a51b7f9acee08f5c19bf9d5cbfa0a8606a789638c51bc23576afcb7c861882c2a9c042463befa4a13589b7618add51d44bdf5c610651dc216d8a340d8412fe883beee - -COUNT=27 -L = 560 -KI = 444ebda5bc3abc3e5a8967067ee15ddc91b579af53be3b78c23691fe3ac4bd72d6a2d766db4ad11cdeccdd836cd1fddb -IVlen = 384 -IV = ab74ca8b722f4ba8918c1ac4c7431374507f1f68547f3c21d4aadea37b98faa07d188d3128be0e58b255b0cccf91ddb5 -FixedInputDataByteLen = 51 -FixedInputData = 8624bbcb7d5d2bfadf1689e61732bfa9b27e3607bcb7466fc6e520d60f94482b3e761bc3e5d5ca8d28ecbc754008acbec5e68d -KO = 14e17855a7927a1910df5a6ed4ea7561549ce9ea998fff0784b8165119e18cd02556785e0f9022701aef80baf90bc182d45a03a35334809642a313e47f46575a2e0c3d0ce2d6 - -COUNT=28 -L = 560 -KI = 54ed830a5df6a9bca2a1fdf07d5808b85316446d934883f4e59e452d59edc5253ca0d49b5fce3a8e6f06fdd2228a00d0 -IVlen = 384 -IV = 90a38be72f8335981abc5407b1678967724eb0245d03e2e1adfa86908799346dd00443dccf6f18d9289634bc67cf22eb -FixedInputDataByteLen = 51 -FixedInputData = d2d337c9948c8b03a261b0d62a1f81b85864a2b1c2e84517c3fc61e9c534ea297fac574e800e1877784bc99e43e85336b4f873 -KO = 744a22e9f9e848d48ea94f10900f5b555481dde5132f0ed25cff27fa69514c871123847fa974893f7aa415314f49ad077b2076f612a1b2aa396a10fa8fea48777ccccf8b26f7 - -COUNT=29 -L = 560 -KI = 01527e063a14e6ac5ac13ea9e2accac63b14d4365d84867470fa15aa412e99ca7b9329a98c0ea8a778fb27bdb69f2ded -IVlen = 384 -IV = 70d7b3507de16c3d0ba3522a9553785f55d89088eb21dab753f93b44571b89723d2a0214abf88dae7b1be7b40a750503 -FixedInputDataByteLen = 51 -FixedInputData = 2ebbe182fc60d378369a17869cd47dbff7d93f37fd66f83f074eb41a5d5bc5bffb6af7fa61029d5d61ec44630ae16bc3f39b02 -KO = 8e2f6420032874c703942f3686ea1f1edb5eafe0a5c6b6d007af83a83ec2b378c5b1809a4f4400214fe243daa3ca2542659ec1f3c25d6578bd4503cad1223617b36a804fcd99 - -COUNT=30 -L = 2400 -KI = df5f0b453957230679d90011e103ca61c44f177ed1b8ab5e6b3cfc8f4312b92b5979466702d1480b33b13ee39ada5923 -IVlen = 384 -IV = 1ffe8fbaad0a92871c3c09d1451e1ac97627779ddbedcd37b48d4fda10d698d004c644789e6ad41676f1e4920ec99025 -FixedInputDataByteLen = 51 -FixedInputData = 0ca444665180dc533e3f1a6194e95fa5eabea37e8f9e1f082e81efcf49e9e60dde6b254b2c38028154968f9e1ca4eee9fe5547 -KO = 721776e2f0565b361a01ce57779e8fccbf9fd7a041ed5b56b010e35c7b689c81056219144b0d1d9e42a413cbd4ee7349e06685a26ed34a6e1da414da103a0d55f145702e4d436b4b0439a05f79b121363c58f83242a4ac6f991d1198d1d351b216b48f7996316e9256c49c4cffaa4280c72d938b7b7f83a4935c71bb90658406e5fddf9e5ebcc3c398369f2b007a9a35edee5795be1ec0aee96014103d457eb5123a8a81fb97e21e90a758adbd342c97e8f1e9fcdd2624c3a9ad906ed87a0947a7029be1fb00b0dd851604fae516eed95dcac8c1b1593eee7b44960c158daf4fc0610381cce730bd1357e452523f2e01c51976e3a013c2ac4292447067ac17c883a6e7b6bb33027c4555cc0d9b58be8cf6aa283c80dfbd9eb19bcd80fd87a4ef82bb7986fb6e793a9a2af51d - -COUNT=31 -L = 2400 -KI = a11fb739efdef10d36973749e2851668a1abb6602b9265d7f9684b36ec2fefc1a5ce45eddf533215a9dd98270eeca056 -IVlen = 384 -IV = a14e28eadb83335790cc6899184a50774b838bb63198861f3536485b379f016fe6ef295603d66d62d2bc1648006aba8d -FixedInputDataByteLen = 51 -FixedInputData = 18e0924a7c45c765e4d260458dd5399bdadb83a96bfab0980dac6c0311a4490ab3cca756e0393991cbc5fcc71c87a0411a4eac -KO = 4b9167ddada8cac7b9ea3b336f826d172e4037ab08e8433fbed2acb2318daff30cf245a4ac57ca8e8021778f75bac1805160ebc864a07dacfd13ebbfcf29181ac6c43b8ed5cf0d759fad9ae6be2a351cc1baf6a736a5e69077b31603cf309d7a468e5659eb8bf1f25e26a90aaa0ffe54e314763dca7d1a5884a221f581b6c0c4e491fa36ae5b1052c5147fb4e64e4743f1969a0b647f50ce1efcf24e2af6e58a9b91d231711ad6888df2708b7c3ec6f55978c73263273570f25089d8ad8ac119377d74b96276931b4124542bc6149d8dc98b19417be92ac5076314f8900bf92ad19899163074e4801fbfe25a78b048852b272d3bb2331baa309c2c4a1d824ae12de9d5fccda75026df075f81380c97e6394a6fade780c6a102a38f5329a82a45d5bc34a73a4e262abacb85d3 - -COUNT=32 -L = 2400 -KI = 567abf8238bfb885961ad00084a6890e69314b61fb55cabeacf17c3987b87134d8a95b4da2580589e6ad2a154f397a25 -IVlen = 384 -IV = c9a4264a45f59525b1f868021b8c5c066aca4a0eed78f6eb131caaa0050124dd01b20e59caa513d98371ca5d9fe621b2 -FixedInputDataByteLen = 51 -FixedInputData = 261febd70a9592391e1c3260a7b4c735600c446e18b3894455806496031d93e42dbb9dde544875b4e492417b5857bec53a8e02 -KO = fcacd85e0e0970487d3947b0778d02e367eba08cc7346934917eff4661c85cb603f1f6948ccb29808baef3e22c109ed27369f5b893a9f6ae6c296a251b1780a087121fddeab73aabf0b612011e2b2731b9a0ea961e9f96867c64b66f2e00d6fb020bb1b28404ab7ad869bb33dfa3a147ca97e60e0de2e981096d9e9b6f11f98d3941752680ae3a5b0e296ba06c9b61010b7a9a2ceb66359ef8ef374fdb5373f6f737ae89f57814a252ac04e1b0c5106d4e1e42a2eddee6906d5cbc97fd98f34d9409239a6a27f69838bd7c01b77301f58ece2cbf1719260c9bb378b82e5ec2d78efb378ede7ed1e844fc5481c989ec7a3a5c18f197331f2c811b93c774786ea3fa20484572487ad874e7959926a0c2658c794bc1bb481d2d0ce632fcd43c43a3d424d2ac8cb55ec11ca72d47 - -COUNT=33 -L = 2400 -KI = 48d5ac04853f7feb1a0ac16df4f00410c898b33baea149f2851c88d2e3f423492caf218a88a800856ed2f6d41ff78707 -IVlen = 384 -IV = fb3440e9322365b26554e63f86abf79351e9b4e1bb02ce3000bfc6d01f8f4dcd3f38873db5ed0a898ac4cdddf9b0e622 -FixedInputDataByteLen = 51 -FixedInputData = ed1200b2dbc68c86566e60d8214b60cb3e340165fecc3cac1505db34cadbaf62a3859af3fc9712a001b379adc51db389faf3c9 -KO = 6574e51d6bcc991fca89b4475e4fdba86484a6e1c492815517819da9183cd59258b2d76345ac6565924d543d63b88b5e352b1b3d697b0adef56edbf01bbb884edd57111d11b05e18b88f6c22939242fb6b97a75d98a1f5d6caf358dce544edb86f48661862718690ea162c27fef7ee25d86773986ef12433759c23a921ef61b1ec2d982fd3488ceca0364b75b55bd033c94eca29c2af799197cb8573d0b8f3193e1ba91ccff19295f01b7aabd06508b3bfe62f7076481c2b4bbf5fa21395daa908b97a2c9f4e1c22812782e2942a2da06cf103588c5f129da85da2d4c95fe2c5c4d9505e6bc8eca8f62f2c240d5a7047ae04dad836ac240f1d8a1cdb648a01fcce742e64d26788c556ff74bc1b117717e8eb246d448ad9e186162199d2671aac08c023336e63505085d678a4 - -COUNT=34 -L = 2400 -KI = e87ce444a7ad320c64b16ff76ee50d48965cd48a7054b080fc2db07ab2d01dedbd4a4aafd58b34e6ce0041ed5be97f6d -IVlen = 384 -IV = 08bff24d1c706f192d1df87e82f6e03df42472d0c484df594118d370b23a6d039f9007180e8156c0dad993d05b95a5d6 -FixedInputDataByteLen = 51 -FixedInputData = ea83bc9f30f9884161110efd27c94caedfad29e7724b9bd6df67f9fd53fbf94327cff4caa088e3d9aa11d47e521d795318b8c1 -KO = cef96300d9500a1b9ae38fecaad7ea7b79326c47a4b851b65a548194141ad56133ba3096e30469341132ed528c93e0be29be9ab3206600b670a12da9c39ce9f1c15163a65dfed6dd48bc847009f5dd08ff490d5d66a9067724dd751082c059e3000a63c1a2aaedbd675be69ba90a11422dd19bdd8309c23c619d5ae5525677fcbce3b0d101fbdb39c9393e358b2b5f4c9e4d61e55081a4caae013909bd80125f9521904f8578bfd930a5351339dbfdbf797cc56dde5ae0e3e58313c0739eb862a091cfd96afaac27e0defaf4094b9a96ad6808df4e0d358f39e198550b396fc2b331cddf4fa053bab01ffa982afd9a1ad3b7c792706fdc5523c1383aaf7093b6a4051d352bd5eb0f80b8b6b707c70119a8f959d2de6f4a2f33a57f4dc64b5d1546e9ab754ee2520d378db7eb - -COUNT=35 -L = 2400 -KI = 5b9e20373e02269162d9c3ae1ee8d591672b8ba9ca5a3c24ee00d0c8882686ac5e070bc36fda155bff6b7237f3ccd9ce -IVlen = 384 -IV = 38988653d7b9b414b4c1d1e345706acf1541dd61a9d3bad6258fe8c5dd64d29c1f26118a166160c18a173598787fb7c8 -FixedInputDataByteLen = 51 -FixedInputData = c8772456542e05819f3e4dbc641c14797d12c23cfa2ee1858d5cde82672d3d0368c0627c98329973111f1b633ede366e9a0591 -KO = 7f6ead977bdd197a0e8b85ecbf85848d00b02a9aace07747074aa9e66a698f6017ce0dd28ec9fe0c97045278c995af162fd518e89227f2c4c7a6f633078c8f7d51d76d0fd5039fd6cde9d814b352b117f87fc522a0d82dd32fd945d9f4712a128349f8131d30ddfaae35927fdc5bc37566c65f4d467337059a4333187a7fb320225930db8f85a007e750a5a97a4d518bdeff97428ce165fe1970daacff967fba4f0b65ef2ea8294d59bfeeddead504a8563f10199bab1c836ec0280fab34fc971d809565b8bcd5332fa7600001096d783134fc41c20e5b0d3fc39ce49f473605aa716d6c775255646bb463219569036246697423aadb8d4f7999656d3321bc837925943d8340ccb9256d566353d072251604119ef7f956ad89da5ae1c34789823c992fc7831c9a641e275715 - -COUNT=36 -L = 2400 -KI = 459ffaf1bd71ae73b0c1e7bd4d574ecddf81eb3aa7b80642ff3099d72f1fa0d18c8dce767c2a6c085e52d47b00e1a708 -IVlen = 384 -IV = 73b84233b93c1b6731019225f9c4a8422fc8005fc5e28da5077b6bb1aa1c2d8ea6ed7a86c654c229126420c9d866c268 -FixedInputDataByteLen = 51 -FixedInputData = bc63bd4509478cf05827a4b3c00381dad1449e2d278db0f0dc7d662217ee8f517b89721e28a24bd12e5f6f96064406d4775923 -KO = 16494470d60f4aaaf1498cc90ad1b1f164cdb5c68288e6d9e598bad854d94159c6b6cfc24993ab5e72e822c063bcf8d49fb1648ab8eaee6e7c58cf76c42f5bc760a888df1b45b4ff231f1c7a9a7646072ee31dbdb1e57e4f8d16e0ef4efc1dfa82764c1ac92993fafc45e1eb030fd068821fff10eb0056ef0454a4e8a47242d37c387098046ee4cbd785983cfd55e21493b613da22e50ead56f3e955030f9167df49b5cca9cdcd4b8b3113cf0210cdcda5dbfdd591553fac9fc1ca512d9c4193c17dcf5bdb9701220037a3c6a64ef7bc52743c007ff4cb987efa988386a7d6e30ca9657dcd0af500afedcc6c0800996a2fba88e845598dd924a11449566599d67da87c08837668592182bce587e00f4d48d8217b1ef8d8aada78e83399a6f79f9053c0d04137b104d10877a4 - -COUNT=37 -L = 2400 -KI = cfeba61b531456d82edfd9b960790440c45d8ebd041f115904c71a33c5ee58b3a7b3b91c57908d196a54be3b0d0e58b3 -IVlen = 384 -IV = 9e297c20d5a26224aa64f011dcbbf712de0af5351d97919cedf95fed9e578ce73a8b7928b87324ecf1b501a6ab04ed34 -FixedInputDataByteLen = 51 -FixedInputData = a78998cb8235bd985904e75b2edac8fc2adcf8dbc3889158c9fbbcd45da344428a06dbf3b9ab36c893b15388c99afd6b8a1bc2 -KO = 45c8683ae635a597ff2d68445b76febfd231fffae97f2ab7ef25a8990fa9e61dbefc842340ccdb5df0d771609851b142730eaaadc1b931a6326338462c26d0698706425a67a9c00a027314bfd5f60fd94c43deeb66ca397bc09ac39882a4b72ec9f2baf633325c8e57a98c14e55be33998856b53e66ed0872e6114c206443e4325ceb8ea500f23ec96b92326b88c2b47086ca0b1bc40519d5f1d2c18ff958751f35389d241d7c50a987dcd1ed829bddf7c2a5710517bb68c563bfeb5a5c6f167a437492196c1cd5da83dfc515aeec9c8d6b362d1f118796233f5bb88727f140eb714b9450b09604ed48d6fd0b12a8fb13263a616c83cd6bec09ea11c863a1f1afb422bc80fef3985d410c719c82212b96eb0a111148f342a05afdf5b5e37ac6874cb9c6e74dcfbd450542436 - -COUNT=38 -L = 2400 -KI = d81cd3e4d86df64ea96633bcb71b246dd3b027544efbc64a8f2ea3be174ae6132c9d69c1d3f6dbd0bfdf333807c799cb -IVlen = 384 -IV = f71890596a15c6ec831885494f8ef8be7ebf985c079b52f79ea0c980ddc511eb520a1a78a138742118c2e18f6002c673 -FixedInputDataByteLen = 51 -FixedInputData = 881b26118377b3f207905577f0b4212d890b3ece0ac92dd9a05a8d878f9e70b15f709200a4712f42ee7182c8009bbaca302fe7 -KO = f22f7d13134198ccc32ed26a2db26f228fb0006e558a71ff576d0341f4c6d3cd2bb65ce0c7da2a46fb1544e633e68900b9196f87374377767fc32af057ead9f49a20ef1a6e3e606ce96dc747c33c658d75b03fb2841efd1755a0a10674456f880c9d810262eb987fcf5c8e645b21450b2f9c4bbb1a9d82a6d8679240d64aa89c1e18c78df95f1738489dfdf1631310a0de5e21313606d1009158291f82e5168e954ce2f87b763ec6e4a9b283d16a94da7bb5363b718a0b20f050dbd05e7b3c4fe50f9450ddb5c39213e1136c4a42b59f7757b50320ae859854478e26e9bc3bc5ad1226c2645d38b09630649e0bfd0880c61ffea7d9fe9d8155b01b230def01c8f95baa3b06d8c0dab3e980769e67a3bc0f08a54d283647f183dd59b30f9057a4ead72c291d9e7e55fa8722fe - -COUNT=39 -L = 2400 -KI = 185f5e19af4abf1bc7dd849638674523674216c045331ca662a2e7a74e92948e500a0ff2df431d4a4e2b52095afc7714 -IVlen = 384 -IV = 8080d6ed5b09c0c813483e08c0f3139a9caa4eaf5bd8a35a7a6c061d11b903906c21531612834204b4faaac30fa327c6 -FixedInputDataByteLen = 51 -FixedInputData = 0c9e35f6b2c6d39a99934691e1dbfe8917910919d3868a76eaa5b8cdc2518b2270072fd526ee6289871b6fd93ec7696ab6358f -KO = 12e8a6aeec36e4372feaa27043d65e5cac7580c793acb059ad222111f828561e58e398cdfe04142d736b560a85c20f558112a7f0331a0e6a99ff91c5b4eb83895d58c7cb843f6016d57344c45225608bde5912ef637d1d557a15b40902e794ce2a68a154180edeabf7a80ddd40abc8c9f4cac1fdf82c894e0dedaf7adf315fd45312b6d18618c824780642ea3e6153c1257d67d0007f75d3857a5b4eb113262bd7459dc5c74802d74ea7aac263ba0f6e025c7907ec605ee3bbb07712fccd3b0af5a0c2a083ba809ae7172c8dad300576f2019aed6224ff82f3069955592730e5e784edeaaba76157c2f129ff3baf0dc314b4f657a8f851e8148f7219dd21fb65bdc854d02fc911519adf0fe6b5ad677159913d18fb07b5f61bd03a25f26a4a313495353e254e486e351596d3 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = d211b878030802ae46f14f6d3ce82795da187755b06c5e261c353a3735ca3e319f35637aedcd2887c5d3f0fc5c8d839bd22afa62d22ef4e99a207a9defc3d42e -IVlen = 512 -IV = 1756f8dba0e0160b3dc022683335918856c81e07ef6f82e97427cf1ec606b7900c0984f16d117fbe930b3a7bc3d6fa1804afe264d5028e6dad49497e89a60a5e -FixedInputDataByteLen = 51 -FixedInputData = 20856302c5ce52d927a38dedc31999ff4c83e0942f61c2165029e59694c533d783c4d8058dc802a9552ad47addbb59f5df565f -KO = 786f3add4909d531f58fd3ed24835d13029e32448d328ebba20a10ea66e944fb5299e8bdbd9f5470c15b32df1a01fdd8297d7933afe29e50e96e5fb89f8ce091 - -COUNT=1 -L = 512 -KI = 45e19cce9d7097520c931715d1176ecce4cda63093a9af38b5e2fa33eb099234934a8a423de4a4b78a5e477ce43ae54013113deba625c405f13df8155b890840 -IVlen = 512 -IV = a841f561c531608212408929aaab1dc78fe9758b7e6fa2aaa151e7b4149ade0555fd18e989472ad975254a0e5a3b4209fd50da87ca07c33bd97c26a5ef6664dc -FixedInputDataByteLen = 51 -FixedInputData = 0722d97664ce5132dee9bcf9112b7ef729dafc760d1f71a8616c0c71b740d8216a422dee156ba8af0718a151fb3043db6c8b5e -KO = 43dd2b710a92f9ba4ac8f09c94933fde33779f95e7358cc467a6d6bf858e5df17f39773aaba274102ee2323441c97c73b646464d66089e500b5a4216015b7b0e - -COUNT=2 -L = 512 -KI = ecdcf8d6f60c9f01b44cf404224b35212212e2ea4a940d3537d8dd23d5de3aeb95b88e3a75a145f927800401bfc3cb7780b87b71d9366f0138db2c889bb095bb -IVlen = 512 -IV = 5472ee9419179fad3e7b474e127f02e00a4cd126968f0009f91b27257746e16e1f0c1d3d8c6bd2c597a0606fe01fac91c2256d261e92b6b3102f270db7e914f6 -FixedInputDataByteLen = 51 -FixedInputData = f3c2124d31a8101795deffedaf66770381678cb5312752443c240626e86bdc6b890f96dd77c5777e61313ecfc823783a8394f1 -KO = 4ace25233a1b884e3125f6f52de8c48822d0c6fa7366933509924eb3483e8276aaa23f9346820b3688fe275b2f3986d87b320aa39e6e88e6f7ae422eb5139875 - -COUNT=3 -L = 512 -KI = 034fc92dfa7f3ccd01475cd1e34f99523b59db516dfe0b082739fc7667f5314934e4a3b3d226dc385d4754069b7ac8098df69e2d070edf3821b418fd37c8cbd8 -IVlen = 512 -IV = 4197c4bada58344f44a51e4b703cad934ad8fe7c0694e2117cf385bfd2158989c1097280f2fd6e68d3800354e572bc8fee5875a5b255cba7e22c5031af96dae2 -FixedInputDataByteLen = 51 -FixedInputData = fbf7e0acd56e219dcfb6d6ddb1acf4c251b74ba4c5781ecd6203ecf6719a0b04f6b02abe2592644e01187dafbf6a46ff4fe5b0 -KO = efd42b2197c1c900807590d066aa14aac31f52a329c9446c93e31d7b603d3b0d9315c6aee879947d69262b0059899bc69ec737db124b32f3c4ddcc26216b4037 - -COUNT=4 -L = 512 -KI = a749b283be4fef530f8e8b903db9c5196e3405164951cec97261e34f62bcdbc9387ef61141d427c19e17c729681fa0760add277eae21c114de5c01641fbb5e82 -IVlen = 512 -IV = d9aa30dc11805cb5aaa700210987b8c963ec6aa89e9ca75fd143c1856fecf9f446ab6023896e68815c8c89e962d41032b00dd6eb423ccea6512ec75b50c94655 -FixedInputDataByteLen = 51 -FixedInputData = 01f326428c4970c3c9784e0e5803b9f1483f3e6483ecd3341c83843aca3720455eb952d163d246dbce052f9659450dec91bfcb -KO = ca2cc83a95d6e0ef1bb3b56e9453255ea8cf7ca320aa86abdeecdf3e0484dbfb85e6dbbd665467d67ae86576ecf3401dd4c500bf6d76deecd9434ab00d372e22 - -COUNT=5 -L = 512 -KI = c73db65c5e933f7ec34833948a3d55f8f85157856a9ea61a2927d53068606aa7a2c089d67ef5aa48835f90f6d230695db1118832c33c8f55c93839dd2153158a -IVlen = 512 -IV = 955d3d10e919516befa99d5da315098f0a079fa603abdca5356395ca5d41229b1534d9167aa783ff07bbbc28a01cd2d4384f9a190f032790f8e38929ff5ba265 -FixedInputDataByteLen = 51 -FixedInputData = 31433c22e60ccf9b2ef7eec7eb31a80f6618a519f279d5567c1f7d44318976c640c6a3f6fd98550034af3089381f3542e6474c -KO = 83bf8ed368d6f9d060f9f04ddab04765373aebe14da9849817b9908c2044b2805b633899f3d5c04809be9c9109bfb4116468a01f5f6b67e9ee2e0c8b7b374399 - -COUNT=6 -L = 512 -KI = 7c4ca3cc0863fc2ade6fe0257f5962691fe7350ddc33250d19ea5bc7b8de0ab757155d7e00db170cdc1ad8d06d958674efaec83ae542aecba930cc6311ac54ad -IVlen = 512 -IV = f887322e2c41fb43e263e4e4d035357cb3d6605050ffccd69247337c3bdc9fe1409ce69bdd10133839418002a6a8b52eec5795b4f01d0995c89fcedc0c2a1820 -FixedInputDataByteLen = 51 -FixedInputData = 4225669d9997534cbfb0945b3880d9a3bf64e5266f49b08cd401409f383fba7191fe5de1cf017c669264e5608416db3011b9a1 -KO = 1f7f439d747ad2b8984d143bec976a45df5c46e34d6f887d5329c90db2c8696b1bec7cf5f137daea4c6d40ceed4aac75dd36722467ea35ee92137b705c9ddd6d - -COUNT=7 -L = 512 -KI = b2dd2cf990b5cc8628b744c5e6892e16dcb21dc44439a64557b91c793b607f780eefb636bf95f430ac591cbfff43ad1720e443f110cbaf83fb0e2ff5752073b5 -IVlen = 512 -IV = 0bd5bab99daa3ddd652630f7a6ac5b0eb07a75379e39b04b95ed2ca4820851e964337528b97ce24c2b08762652b6694d98dab5d32b5086dc546c568b7233225e -FixedInputDataByteLen = 51 -FixedInputData = 7c60e252b447709b26ed192c09ca59a87907a688a33d05b704234ca9080d30fbbf69bd66bbbd7fea0d1b52f8a9a28dd619f874 -KO = c2255dfcddc5afe97ad3eb8615388abbd8108fbcb3521da25ad09733168cf5a19330704a523645467c77f3c83e0128d21560d9bae2075d9e593b5fb314107611 - -COUNT=8 -L = 512 -KI = 00de592c6f9d83f20e372084018fb8ea170ad6941d2c15e4ab0a0ddec0acaed3c6073469b0f88192d93fb965acb5c00a038b9cf5c3496e3cc4efc2591ca82547 -IVlen = 512 -IV = f32f31b0866c8c32a198cd4c676e50f2ed6ec8fd65b0387c046012edd8bb8993fed06ffeb616254a896061ff1282dd3cbdf0a747707e4f731989b7024d378e29 -FixedInputDataByteLen = 51 -FixedInputData = 690950e4ad7b5cac79e452b4526bb4a80513d8c0bfab43204454c72a2bd3433efda2006e2d7d103d65a3d8b88aed97026588d6 -KO = 0f8ec6666c09d6cf9d22cbb603a3c875c2eb16861c39698febc609f0841f19f8a49e7eba6498a8558c1a015a301e21a2cef04a478ffc6bc1c12244473913d0c4 - -COUNT=9 -L = 512 -KI = 5c2bf99a367fc0f56a60c2da481357e7a78b37e5388644d773c469f05aafab1dd0db7d2f3d8e0236ef9607fda6dc2162a49e62c26f6694fd34b054fa39948ef3 -IVlen = 512 -IV = 6b69b405f67a252a867b4c00f461a2da42260ac69e16f5c1f75429c8cda2ffd1e0e0a097041a5d21554e5088966cfd9be83d7ddcb42288c3c426abc9e8e61435 -FixedInputDataByteLen = 51 -FixedInputData = b7e43d299c155e79375f53fe3151528eb447f53549f34858c60b0d1bea58bda7bc6cb1f07197edea0218089cd79da64e4808db -KO = ae660972cdec8eb7cd29bd1e1cdc8eba3af108db1227ffada41ca249a03399091939043ec011de0a61b574a11c3867bc122c19c7089a82eda93ed670954e6fe6 - -COUNT=10 -L = 2048 -KI = 33beec96d52a17373be2299c6bc370967930bb8e0dc828a9a0dd29f7b3dd601b56b8b550912ee7885810ab8bdb903fdc119b7055e853bbcabf3fc75a9df88425 -IVlen = 512 -IV = f82e5569e9bc4bc46b4e9d8ef041063c57d2ad677b5d883eeb917a227f57a09805025706d14239ba6ba7ea911cf3fdea62c5b7154582a3aba255c109a36f37fb -FixedInputDataByteLen = 51 -FixedInputData = 08eab4193575af090b850e4b9f5e8fd5017435d26aa1676b1f1083208402c7a5dde04f85a58154abe5aee47744eaef59764b90 -KO = f7ab7b4863b797a2e4e47a91647d2feeda2c8e44ee424ac04ec924750da5eca851c0d4308a6674966745c05ce0399becb555d146c2833c985d14f9dd67097c124b5cad73fd346d2606b0fd311dc05714d657900ba62694aa003327a16291aa29d59c6dbcacac5870ca4cbb5759dd71b434c915635ac0343400b77e93d906c611bbd739f6612af21b843b903445db16fca1693cf6b9ed95eb968e58eb0153efb3bb9dcdda75a7d2d1d33bcc6f9f0c891d321e297f40f51848fc60e3531f4388247ce5e1d5dea96c10f7e8c1eef505c1316bc466013c4f70943eca86ee5955d81367b9842b38749163f2d4f16966199e16307d2f10c6a16cca1c543b546ae78378 - -COUNT=11 -L = 2048 -KI = 92af28bf3378bc3022c7f9ed5d05bd945d966dff77b2b889c74a311c4026d321fdc8cbd40e70c76b6f7db367dcd7e3e59635a70cdcb300af4bd78696e5eb1ffd -IVlen = 512 -IV = dd01bb8491920a76337076b6da402a02fddef8b3077b54cdc36c922309667b7cb7b6f8f0a34b027a0abfec8d602c766df2b88e65e1463c0013fdca54a8bd06fb -FixedInputDataByteLen = 51 -FixedInputData = 2853a21e018ec7432f99b82ffcacf5331c9f888c07c47aa353a8d9a8a304250ce4c400a4e6470e339c09a2602623cc87fa1cb6 -KO = 2ae922036cf301b98b80697cad230a4d391cd7b073bc1f14ba4acc704ca57d71395ff818e75aaa151050a0b1890799ebb37032dc39bf5c8f890fbec6e3b958b931768f0599c7bbad1193db0cff53a94686eb511c23b24e9fcf1968689d5c91d8471ba9edd279942703036bc6d7ad09da07a6f1d96b1d64d3d6ba468d3d888670c0cb564e637b16b5be351504cd48b579386272209bacc7ee0edf623ff9a16bb1bb69188d97cd6b1befaf863784094ddeaae5e0dbb5b26c11cf0de62784303a4d37160a97a87616171909037abd84ef5c9f9c7f632cc79b4315ca45a0b29839cf0e9a4cb8b1e0cf2844c0d4ca6453f7a61822ed9c6f54ff51ccd8c920b5a6f1bd - -COUNT=12 -L = 2048 -KI = 011850da0c2aab26bcbd986f802e65d0157016734588729c2eba384d175b67fb79bb9940159678d262e3f0dddcc1d94d19c48862ca472a869724fc6a0112fa9e -IVlen = 512 -IV = 510658eb14a1526f33879dd2d515d59c70948001c898861ab4407958d4bd4c17678c7d7d5f898933f1e5e14c96c01a68a56ad9b034ffb7f9d4bee283b9903ec6 -FixedInputDataByteLen = 51 -FixedInputData = 385c88228514e8a4ef826c2131a46ebfc597bedf7ddbbfa4fefac489fcff24f77bb6ad26c39353dbaabc6920ebf2cb19dd5b1b -KO = 21ff20a672137979cbc18c367781a00039ee04394267b53073ce83ec976d1059280e360d57cc895daacdceb7e57fedf62657444c3a67d9eb73c43030db984af29d986965f9385a1081a5c916e7b36bbc21df95e9af0611046a52b3f469d8a9924bcfd3bfbdf72e3ebcbe7616c3cc3ae5e4167edc093a438916dcb7246d1c55719778b616336949599709f0254ee2f7522b8e6366b66f363c3eb573088fe6aec8ef16e129cd1a469e3b8efce3acd6d28f127d2245882caf0c119077333f0b331b9b741716ca3267212d27a1032e2d50f3d7720f955ba80bd5421b43f5b6779bb0c43bca2c663200dee4ec2aaff38e3be1ea14070c1b664d674c3689256b69d216 - -COUNT=13 -L = 2048 -KI = 89d8be24e33ed1a456c7d9959cf206a54a784d06aa5cfe6f1c5bae1e167c8f014f302876a5885b1876875220d6ae351a45fff699accbd16d59897f031df7d059 -IVlen = 512 -IV = 7a5a370ae74d59e4114fe42f5acd9291f874d4500e069cbddf68e81b16ab00e73254d20cf53680d0d96305b263251bb0fd0af081695c2491b1d27cab8c01e6f9 -FixedInputDataByteLen = 51 -FixedInputData = bd49e841dc1924f67ad18eadcbefc0fdd06457e57305c639105c30925f4760595c2aeb272e9acc12ea1fc14e2521cb44232d4c -KO = 2e9e8be30195a649d41a9b63c93b66a50903b13079e4d6ef64302cd4ed8bd78c130d5c2493d3cd510ffc02983a1ab5a7fbd6186110f74be366f7d8f69ecfa9801931942303df0472810208bf56b7579443ca57f3efa1f9253c4ad758162f848b4fe964748f49f5bc8a8c02fe5afdaec4d64e7f84195903822247113ed56fb1a3133670aa8ed818697ee6b671dd6534e13089032382b9bad6924f4295a7f38dff2350fe55a1345fd6291b4b776bdf0775273c7a1ad494c39740d3c33ff1fff39ccdec307a2faad9c6a9fc2e031c330cf64e6c2dde9a8012e0641215f1bc782e04d53600e83e577da810fa6c4f727de6d02233bd297051e8a8e46441ead9a7008a - -COUNT=14 -L = 2048 -KI = 70755cb88113a94efab5944bb158ecd8013f77f83e72d72afc694be2c008f2aceea2b8dbefe8ed4ace0a4ee06ba8b97b0ff93aee7a5b49de0fdcba8323b979e7 -IVlen = 512 -IV = caf63a09e7cea93d0e77294863971df79c64a80bbcb8077eeccbb262e1163907e3aae753c680e0bc5acbbfe6abcf859d7775146ae1bffe9ac79ece49f5fe464e -FixedInputDataByteLen = 51 -FixedInputData = 09c1264b0ffd71c1647b7d78aa8a71736350fae4a07d58091adad65e2f2f6e1a8606537125525d3d58e90ed6abcd3ebd1a44dd -KO = 119b42d7fd53701519d024146a88484666168ce30f14bc4dd75ead1712d342baccce4fae4a54c805591f40cac25c0f0a77abb2adab8845eae04635684c44abe1d1c2418f3a65cff32e2e922f5b8f0fe24b409282ff1141b1de9c6063ca50ab6ec9454bee9d0918bcc3abfe5951536148221d24b9ec3c7394be9d1df50fc637ed55330da93e6c8c2d538ba0c36c840b6a6f419b78d1c23760644d2e347888ad106282ae21ce94163ef7b3ab57eb47a3679a187d26930c3ab080f3654f6f4d5b5aba9ce8843a0985dca4e778a4cafdde81e6b935a116a01d2217bd204f6131fc2a3479e9a2ba28860dd82708a3c9f8114bdb5285359ab80a2c1d8adfc1ceb35b7d - -COUNT=15 -L = 2048 -KI = dea561336b0f4937cd67818d1059fe245ed8fdb4e1e68ad5c8239b2cc59ef6e27aeac6b0cc326ac2923e23851ca7a580bbf2e970fcea35fe13b0c3783a955f91 -IVlen = 512 -IV = 0b3e987eb12fd136e77ba476ec22d96e48bd94dff8b74b0cf43f6d4cb12f7a4cee9229c0a76d82cf6680c99d7d5c856607a2481c40853041d81f0a11eddb5599 -FixedInputDataByteLen = 51 -FixedInputData = 63ecaa54f749f0c2d5cabd4ca8faf3a89a6dc672a5630b30e65c5c9255dfb739f33f1a278c4120810ecfbe590e99f12607f25a -KO = 5d8f5052df2fbafc6fdcfbe52ecd5f301813bafdfe3b89679c660a673434e86cd980a05d4a77237d93ecebb6b77f3b346171cd0a68b9c8617ccf2557c16c9288a83d2134a7018fe30351c7b532bc464b3d20b90e9c1c7c828100bcaadac62212508ce61b1a5bcaa9eea1faa089fb0c6f64e78b20e92bdaf824e17d60ae0fce5b2135ad03c34fdd1ba987a7cdcfc39fe75b8e8ba7f44096855bb99947fd9a33aa4ab9cb78ca556e0b2640076d452e79d76c3b034f0d404edb1b787ff784ca8379f8b09aa6d2b72da842a40f435e15051a5cdd2cad1fa780691fedc9d155efffceb8d4fe1ed2e597a3fa89fed08aeb3170c5377b5de6c9698a3791356993384b81 - -COUNT=16 -L = 2048 -KI = d25c493232ff52be13e64484dce0723eafb34fbee9d0f8f0dab3ec830a6adbc4c3e5c9cd7909a77a18f453b0780fa259ee419a3e730ea57c1802e9aec3a99c10 -IVlen = 512 -IV = 8da884c7ea3f7bb39218a156012ef6580cd137e3356ea4c690687d94a99665c0e5b56b56324d89279f4e597d5e67b3752697d769cb6ac02df99d96bb2c375b17 -FixedInputDataByteLen = 51 -FixedInputData = faa1a8ef8866b7a61dc7513857843188ae97650e6b320003fe3ce30efe197494be0b5dd8045fba0d9b1f4eef37880dac64daac -KO = 6e17f77f243ed1c5a16b708bed96e685aff7163b76dd2d1858b11a2d185b9ffdee3462d1f4d06ffc7bb6bcef92442b6b0e2000622def0983b1745aee6db5bb2f9aa496b5ab2acca6bcb89d177386e7eeb1a9d21edb58b260496da492cf455673cbfe8f676de5f5bd912abb8ca4cf258ebac8876d05062bdc4be56b09407caae92ae29817f3a1c9782251830287535c9ef234acee35ad82fe394ba0b47fba31675a4758845ec178e5bf90ef75739c6b4e5d198517d3fb45f47e4f52076e5f020a1a449c261a577ae479f6199e9c62e0966cf22c1d1829bffd59744a6b91e316024f4632b174466f1fc19c728097aa3b0523c6f12bef4f8a22700749c99438fbe5 - -COUNT=17 -L = 2048 -KI = a86f710abf6776577b66518ac09ae4ac45e3e32d18507403b5dfec896fc02a177437ba5377197eb28cc34c8586bd7816afa6ae65c942e9aa8dda360d40f75669 -IVlen = 512 -IV = 328df4d603330067647d861e797d9e20d2574a027b67c71cc1b24babdf46180769c7dd1eeb75ba6b02b7fdc7844733b72f1d0061a81ebf06641d682b8234827a -FixedInputDataByteLen = 51 -FixedInputData = bbf55e84c2e90f87241401c385b962fc6b5dbccb48442f6c1b2d940482e7d557b397cfef8708532c2c56c85efd81331adb35b9 -KO = 3e308557843dd62e5041349db058d58081ce26a0f0b515fb60dda1dd1c7af27206b5aa2f81111ea26c081dd9ff36fabc4f5f5a075795bc335ef73d03fa0ce370446fa7c1878dae61ea8a98df6b9b8ae8e5fb580fd6e80ac6997b55865ae6d31168d80a5fda5729551d803cf71eebda4c8336dafdbd2b66f0f1b6bccb7b1b800c11cb45a73e0c2699ccdb94ffd2aebc8d503ef4fb6677c5455d2fddd3208122c8387cebfd3ac34cc5164c75d10f49f4b7dd09a5bff7faa3bd5e6214b3daae2f4260a6276e682b9f0ea88b90374ae14a29a127e7a9c30a0adce74e8250546c4713c20b822417842cb26c6345c1edd75f4dc085a311f5e7dfb0fffe1ae4465245aa - -COUNT=18 -L = 2048 -KI = f96550c4b991c8838a33d935c20ef9e849e74141ca23fb312ddaac3e10fb24f8808a360d43bccea1f1194c1318432d0fae092593cd735629afe7bebe648ffdb2 -IVlen = 512 -IV = 59c4ea4c73bf85ae9f6b144e703d0698bb8e11886c182cf8cb8cf1cb4eef67234871d8b63f7b1135ffb1403f847e22a2801b7f1744822e02cf6ea99beb7b389e -FixedInputDataByteLen = 51 -FixedInputData = a1aeec6d289509bbc994741ef95f7d126d7a0613937e952d408cc66fefa490f73061528b8957006bf0c75883026726c552bd3c -KO = 604ec1efb44d15c0bb6c03c9e97b1fb18771e41a26a1ad3b7509c29401db1e54ace5c59728caaf5ec6b42c0d2f935241e231ed4b858b4282482277480bd7a564b7713ee96ee05686f3a88af0550bd28a0753276a4ef21f416aeb5264a97102190bbce4d64292f4bf36490e2ad61b166582ba3cc9d79be392be26f0e02e5bbe01e54f4a54dfd99c0dc854d251e6abd74ddf345c31a29427ebb24fb7bc3a679c9283c9ef48e2f57fcfbd759a1d21dbe2a8b7b61da03deb84f33917fa861a8a8536b4646268f4d48c0568f5e25d904d7fa99542dd4278f20c2ba64a334c36b821644297bc5dd05205844220611fc9e50a23ede07e57f6a2fe6db453afad5593ca77 - -COUNT=19 -L = 2048 -KI = 01dcb8f3f491b4f8c8f8c6d2fa39aaa9b8ebd01489c4d0e3279d00fde0c34fa057316877ca56001968cd58fe7c8f95b9f550a2952db1f0edecde09b0a9fa43cc -IVlen = 512 -IV = 0b9bc9dd934b30752e63ab5e8c9665b34590e44d400c5fc58cdc97b180b436de0fae1d7e57c892beb3e2fa97ebe984e07fb8e18b8bc648509f0dbce7f79378f3 -FixedInputDataByteLen = 51 -FixedInputData = e9d5a0e621ab90e12456db724d6589241c4505706861d94d522b53208bf6602cd54f2c1bc41b0fac39071b2a65c5133a50a126 -KO = 800a1e168196c998fa478e56d6d3786105a515ca18f8de99223921474a7d127f6fa6d0165fb7712aa647d0f10bd71d491b341282c9355d6ee4c894c4fc3582bddb62df9192cc0e08493716b4c9e8e177ed08486142c41f6b38ecd0318af777ec0ff810a33226dcc46fca4448f59cef96c33513475f7b3c4be7a6b2bb5d645022ab4123e1393f4d3a954b19d6b44c4527797aff1554cabe896d80e71666e27b4ca2eb72755acf2186af494d3b160d2d72d3b9b5c3fc2305f61008ffa93307f30ce7f86d69fdbf3176df1f4179c9d1c47a9b4e1e4c6ddd7008096dfd507640e345e9e2a997bfd1b08b60f16716408e7a4f1ad916cdd7381147bc9bd4ba6865f89a - -COUNT=20 -L = 560 -KI = 30b8625f4aab2879ebd4bd31042082eec6614312e42a522c9b1ea3791637a07432b220fe36badf81c3a2253c7cdb11d1609620c60df80f935ab2088a7c8051a9 -IVlen = 512 -IV = b3b76d05f340399911510d741961fa793f9c26845727bfad245e3e951ce067207ef8ce5a30754ea1363b3a62d9c9b506935a335b85471420fce9ccf710b14f05 -FixedInputDataByteLen = 51 -FixedInputData = dc41fcfbfe35e24109f735fa29b3dc1b492341e073ce6035f24ae6cfcdd7b184298d19a196e1a65d47549afe707f0718c02afa -KO = 4c9b09fd4f49425ee9415ab7540d4883d43c2f2f8573c3bd0c281f432fdfc8e63f0261a03f420998398263169222f5b3347a61306cb494729a257fab7ea63453028937a846f2 - -COUNT=21 -L = 560 -KI = 5c7e2d0c54dd7a17f3483c8361accca1fed742d9c0246347c19fb7942680947c923514756894a424e063b3ed003d93eac2386ba5f88c894b4a61f1214edd6a33 -IVlen = 512 -IV = 24ff818b12dce4eab8f2db94b76cf8d03363c43e31f875ba6e5a0646d66617704eb67024cce1d9e0353ccf486112a7d885015d8ab2c33f0efa7702af140da25a -FixedInputDataByteLen = 51 -FixedInputData = b4708de8bf6fd0bf91715a4ca61bcb1a168a55ee74a62d4fcb83c911452512ca372c91c8b1eddf445836eec387c1751448908b -KO = 9c27f04c89959f50b8e4b5e0b81ced98af05bef5ffbe210b117717194a8e355555ee169f3bbd1b9b8a944f311dfeba3424fa734d66c8aae0aa538bd316635e7679ab334fc198 - -COUNT=22 -L = 560 -KI = 8865f94d398523b8ab7eeb425dfc8a109eb58a590ef39249b4127c41c84af2c63e5548d0cbde1e7f529d1fbc17af0c06c15c5e89092fb9a7458c69af80d84630 -IVlen = 512 -IV = 81a09520cc5dbda13b40c411d5aafb5a5601b8aa425b3fdd65e60db2300f887d2cb8b76b07c1482cb8dfe3fbe4903816eb779ebc7d362f4847f350cb7c198041 -FixedInputDataByteLen = 51 -FixedInputData = 431fac56bccc90f9ce5643b9730a821e9c4fbf734af2895615a1d1c624065bafd8f82700f88e2e025cc9d7e795c1be4bc6f3e2 -KO = 469e5a10e53349ce7bc42fd59472dd7bb185726e9249d3afacb06d490220dd6407379feab7ab8f88d40449f8eeaca165c1cb2664028617817545972e9f5ee44a2c16915ed85a - -COUNT=23 -L = 560 -KI = 8b1f276764e4fb2bec6590e185357076491d51188df7a454774f76888830afbc0490b11b583586de2c277935e4d89601d4bfe5a45fbe0e2917299eb46d68a80c -IVlen = 512 -IV = d5b40eafc64369286822cac4b4ab679b0d2f794a6900696a660d1876d8a79878a8303422adb39da431fb2015e2a28f54e7b459354c7959910da6026b3d281dd7 -FixedInputDataByteLen = 51 -FixedInputData = b1954c0104baa46634aee5b60a684146cbd3e7ddf864fb5ba9f7ec503261033a1653cac215a0c5a564960c1ca0b64954d30828 -KO = 8a7f4058bd3017c5e7bf1a12d61344867b6cec1e56d1075e30559e8c2f2008b239fd575e9ee7d98892a280682950e22bee738a858b7a60edd177f213a913298c7555f712dfaf - -COUNT=24 -L = 560 -KI = f28e2054596d69d7d6ff2c4b8d4c78cb02bd22512e7e1bb160e8068ed2ccf4157beda6ad2d657fbb4bdbe0682491c6685b1f90f09a1c4ee542a47a303069af11 -IVlen = 512 -IV = 466536b10a05f62452f67145005f7cd990e8d769684f40b9c82f00b8819d07784941d16b8f2854d7b122030e25698c56153409887f87dc1a6280d01d2bcebbd5 -FixedInputDataByteLen = 51 -FixedInputData = 76ad783b455fee58ca51514d762157f135ba65db8635fd8aebcfb1683d74e5ec1e983c5c59df36e0e686f6508e78cef1e27c3a -KO = d824bdb4b17b443262c076594e4dc7596fe668ceb05c6b5c77a713bd6ad40d278691d7f25651680241e38e47807df4209473e71c3ee9b4f3166746351ccbb134fc5a6c1de514 - -COUNT=25 -L = 560 -KI = 18ba08047b7ddb8c41662810e8cebd8a75945b47bd9f3ac4c2c0a81032e4ae0ee0672c10080c3ecaa522e468ef249e697955fc3d86fc318fd5f8949506b5d20e -IVlen = 512 -IV = 36c8d1f7c6aa337d19eb8a13d331573aee5ab0ca89308b25e0e19380b07fec494453062617f63b446b669e8b4f0357a31e80eab8857f41635433ce55e2ef67e1 -FixedInputDataByteLen = 51 -FixedInputData = 7e81fb797609b8569ddd47c51cc06b5e58b940b7779e98ba3ee9a9ddba077f2e8826bb43e69df3db68f2a0a3b56cbd3833b484 -KO = cc4812c88c71b78202b28be0bf12a4fc151eea8d3c9aa3ca6f97a41c0b22f26571e36a23a2c4c15060bdc426796d1a7ecce3b133286533168e93d0ee755f956d200925b67ce2 - -COUNT=26 -L = 560 -KI = 376a69a6a403062c2d49d4be4d19ccf087c4d3de64ee79266325b17ccd4479d35a6a67202165955345344b63c269f3e5cafaa76d355662b43340661fc58892d2 -IVlen = 512 -IV = 43d3944e563f580affe82ab3eb41d8e444b66ed0f710f6b74ce5919b322f917b6c8dc87eb1ec201c6bcc43ca1e08a8a6c3f9b2983e599c5489829c45e9648bbf -FixedInputDataByteLen = 51 -FixedInputData = 7b2ca91e4dc5687969ab6445a4dafddf0d2f5f7e8ee77ddcea7407bda6ef0ab1402ddc98e9ad85e3660fe6c0ba812e46ce7312 -KO = 81d864a90d87c0fe2b3e9f07c3ff35da4ce2e8699368403cd103d4c5ac248e9ddb2dcefde3c7e9d3e72b03a0196e7226816000da1779b6558c65fb4cf03d20d939e11481b6b1 - -COUNT=27 -L = 560 -KI = 39f1a9b0a9a6ea2425a5dee9ac8fadad5f7577c5bdcc52215b8409c4a46ef96dfe11b47bf6f3620f56025de17fc7676f3c11ec52e90e1ba6ea0b943f2996f371 -IVlen = 512 -IV = 89c4f3800ba1430a9de0207c5eb97568c3a20f928274b3611c8f9e6b3857f736ec7217d2041ac1298fb5669aab138e64bee131e6b334b1d604a2df0dfacfe0da -FixedInputDataByteLen = 51 -FixedInputData = 2a2dacd2f5149893559f9371b9c9ab3dff6f2f4bce5763d4d2f40295eb87fc433c0ce3b1e0f332b28f0c6b0101b68a4a8534b8 -KO = 5a636b051b0841358829004fb0d9a1c7d01ad0639af2bff64ba1249329732a699314c19d90b7a376f31077d6be384a5bc09de704d653793db4ff88c542ab3d503fe6c7b40efa - -COUNT=28 -L = 560 -KI = 920948e19d1ace7368ba327d04a7202bd646aced6d1075af095c5379a6964020ad2522c9888f77537a685db9e1d66fb036b2bcbf34e3ec1bdaf313edc81b711e -IVlen = 512 -IV = dbdb96d821df113ad08d8ac232e520fac986d2b1ab1bb103e8baa58abebb62ec6e69cc1e5d3de6b2b90a900470b16f06a57bf94d5af988a56801fcd115f926b5 -FixedInputDataByteLen = 51 -FixedInputData = 8619af28eccdec022610e70e6d36a0adc310f06c87d684d5dc6e87e319852e62996622d4b3f76022880d4a38f835dba1048346 -KO = d898d8e7fd8055dc22280244281eca5a2edb0006f0b92813548f7a40a51584dc599d87adc70f6259bc4eedf8a27455ef6566a96c0959b87c580674b58ec7cbff26b1228d7a18 - -COUNT=29 -L = 560 -KI = 28ed4d30c2e41e61a2ac9fe038d18c68a5f4bcd39aedcc699542f3ae597040a644ca7542427e1dca94da63a9889545ee4bad04cfeda92c24a60ffc620771e409 -IVlen = 512 -IV = c1906bc5aa37d97c0c2ef6b421d26473272c8cb055e6317bd91a4f1213bf056e7e5d5ac12aca055fdc834dec650ab093c08713fcbc3ce23be7e74b59c5ae0cc4 -FixedInputDataByteLen = 51 -FixedInputData = c7a993fc482927295e153422dac80c53f36879e98b347a5e2c5787fc698643f54c6f10caec3e1a2f1f2ae260a69db5b8f271e9 -KO = cd8a1bce91a90b207f145b7213e815dfbe4c827c889e94c8c8c23abd5613e3d988c9a158c42864931dbcf496953d867e1228e9842e2e03490f6aa00f32569e70e192136dec1c - -COUNT=30 -L = 2400 -KI = fa8f20c409f9e0a437c064c4abf64bc4eae4db7e44a9f81582932a0a8112a5035b27f11eddeb9e231ce8f1b7d09cbaa9afc8158090c8dafdd3b8ce312ae707f8 -IVlen = 512 -IV = 18207eac6f0c69a1e9532e6235b454333a7bebf9772809f1db10666e65d4f05e54635f5836a40693fb08bd43c5f8b1536c0dd59dde8802b7e9e929d1827b3b90 -FixedInputDataByteLen = 51 -FixedInputData = dc9416f828ec4290a5d213f2f5da38b41ccd9e41ec196678aa3c1106ddb0bf4b2d0ad843bb6d56ac42dd51b6d04b4935166e66 -KO = 33348621640d59ac3f726d16e2857f4f54056b151a2399293d42cf92590b235f6c1118aab27b7172999c6a2ed4db802c8adf801fb2533102d0edd542498921a5f3ff4d3f4da164e85a0a2a00a11d759f0926d074ce21e5492552dc6914bbf7a310d422b3d083df44054130eb353bb5e25447a465bd65138128aee945d44c6d5c00abbc6a29320139b0dfc7ce02866100f7387a68dfc6b247b0b4e5d398ef745cefd68ad6b62d5b6fb5885502416bd94666d92e65504b5d00068a1978a21cfbeb32d2c5cd21f5922a6be03eadf11c6caea26683b087a952c655274050049d21474b422525e2d44e757c48218e0d0068dbefa181000433ee3dc0e92e93b6be432f328748bc7eaf1eee2eaf92c6fa5d9aac408694f4be3cb47e2d01ce5035b677b0dd573f6095ae079abc62152a - -COUNT=31 -L = 2400 -KI = dd8ef76952b137d7d0fbbfe132c43f633b7700f95e8c847e2dd3edd7277745298476d1375f45370350e8af9904996ce47820d0ddc307a0921a2b0976aa5874ac -IVlen = 512 -IV = 3f6ceb802fe5e4250c30a06514d1278bf6c09a72081360203b0a7a9f0a8a28ae148858a9fea75e11191a983eebe44a166867f0e98f70c6b7ebbc022d66ef0df5 -FixedInputDataByteLen = 51 -FixedInputData = 5c75f3bfb7c90d41a4ab42b15cd6b4217c0042a7f28e8bfdeaed8f280faada5c54c72cb87f489416dbf8039ae4e92df82d396a -KO = 95c11604ebd593c9e7086c71d2bd552e09fdace559355aa28993a6f8683703fee8ddc924812b9d1959abcf66d8c474b6b5747dde4fae1abd89874c7bfbb3b9d9b783751639c112ab809b0e16c41c9d4b45ee263990725e9831266262c15cb7f069682ea36de8d3a89fab2d01fdd0fd9be435388a5f83825cc3a9dda2e4159b43b064a41156c3bcf549dae12a39e19b0d7e75751551b59ca7215c4fddd5b88ece4dfc888a16ff932c3e0f1416f99944c0c14709127d722629cc809b4c5351e8ad027e49c1e7ccb3744b29438054c9f404a17fe9fe505e1a4a2f7be6d13fa0b7769b0f968aa86a3d1c07eecc2879ed66840d389c438fdb3773d5b7bf7e52079564b662cc5caa2c5ec5d85e43ff46f78f059ffd7dc67d2ec1089b2225e6ba0bf1d32dd3d382bfa26c10cb296645 - -COUNT=32 -L = 2400 -KI = a7d3ca637e9ac252b5bee96e858c23b8ca2b8319570a62ffdc338f0f37c7b030919e243c441dd88914b40939e2600cc2822bd712d5c6628fa94aba0a2eb1a755 -IVlen = 512 -IV = 317b278fce860398f8e1e110450884c075fd0e1638c13dbcc63a1abdc42c277ebf9c59983b5159f9c9f531b11eb94330379b47cca9679126b1fd29b26ffc89d6 -FixedInputDataByteLen = 51 -FixedInputData = aca450c961baf48b3734081f585972aeb8d6412a768a037255a53bf3ede2f9bf242eb4665dd0caeebc0f221c90de38695677cf -KO = 455f65c7da226aa7a17cbabc8f69029c713941b8d6d25f0e4bc15d623763506b261ac8490553d6d90bffbf688d8f7e98230dfb637a4ec936ab4bbd1c89e218a7b610ef4614ad7ac27069495f16522e4125776af7e50b1e04aef23ea1191448073a978e5069fa8b0373a5624033664d8a6c64eb1f8e997a717b4ac0cb5433432662660229e78917e1a4b5fb5e58418e41b9114468aff0785bea8e0ed82179c878ec3d65dcc816273fc96d901cbe3c10d7b66cea3fd77ae820a0b5988d650652b58705fe2fff1797f124076fe39ba051cd2da6761c64666b1c7395a79c77f7907bef8b27241f262cb499f7111c6d3ad712ef9bdedf15fec8e1088d218c240b948cae9fa785115c222fd349d5841e957c5cb5472550dc8f771ec58a441148f254d320687b4004a94556af1de9a5 - -COUNT=33 -L = 2400 -KI = 27bc647a06b8ff41e45f3028136553436579e2656280e5c6518f467ff912734f2b12a49b18da8e82e36c900518d01ccf30f28473bb9142c3febf2cc8c26c703d -IVlen = 512 -IV = 3d6bcc8f6bb897da8aa79523ccccc8ba170d763f3d51e8cf9f16dd0781094073a66201785b5051142abbe21c7b52d41b6469eb9cb0cfcc959f793c2ce73cb175 -FixedInputDataByteLen = 51 -FixedInputData = c2980bb7d390919166d39e95121ec7ee05663f6127098bcdc22a0ece27c7903f3f988a6d7f9c01a6356b305b5372463e807888 -KO = f241c4f31d033930224142b2daa83bdd27e5c91ef861382f08f091502258866c5182e5acba5d370822598063e8043244902fe40ed92903f0676eb01e5bc34b0d4910bd787fb4794512ba9e2624f4a79d394023cd89534fa53b505c140bb3e78160098160c261d561a523352c0bdce22b6ae60162b5940930c2fc3fbe6cb69b901012552d28ee579854a3b15c349065428bbba97efcfa22f9afec657041fe1a614a23125129fec98b3b54e5942c5277051cef50e6a6ba674ad07d71a87f87f212f3c2fc4bc640e29843f668012fdd2b39d6b6cd9e5b6903333afaf6bbf283c4418231354cd684deaba1bb5f84c979c4ed24bbf8dab3f7a4a93e12328aee9826a2e9b957350880e8aa7d97dd1e3c9b2b3bbaa86e5189698115b2921ae639df964afe0b1b5b6c774881bf297ca8 - -COUNT=34 -L = 2400 -KI = 8fd4537f25f94dcc73ef6aa70b6fd23e77f901d0085a10e68c5c6e76a73d6e218d5c6a56fd5a17b5ec76ba998560832b7a1a5a8d3c9d7867e0ab3ffc6a4e366e -IVlen = 512 -IV = 887e466d8f3ae4d6839980e77e6c512bfb9df49a56d78131d8d6d4f0d6612a667161bb484f314a9f55789f3667c85a5d6fadcb2e8902a917491fc584b90282a8 -FixedInputDataByteLen = 51 -FixedInputData = f2c1f1879865e5da90623a963579d9ffef9c803e35b68842b18a32bcbb5c5f32a1ec5ef39fc6462195e625256f18eea2312ef6 -KO = 1e987f6305a4db189f663bb62a8a4489f4a537dfb633e6256add00020abb004ae723798ce19f2f633e9e7cf90df249cd40b374df0deec4a5c3afd7551b24b14cb436abc707943595574d4e5cb24708bf1327fc8cada58724460e2bb994c09565065c84c992c4b9e85e7d1566e08a8042bc54b5ac39e05ecae2292204d75dcd9de7cc6a4f44cbda7b79c197f947fe213bdf160964dc42c0faaeaca2cbd5a8d405473eb6fa88037f2a6c0d4fbe3a67b356b5da21036ef1564a32496048bc1f8df3573defdbeb8d7e9c03d8daeebe68885ac9f63f9e170f9af1998fa0cf40a096f888580c3fb2b70640610038e4372bebbe1c23134f186c9a5bca5ea413a51e97203ec1d55643e57f514118e34764f70bfbbde3ee833eaa8047c3b4204133a8ce7e335495378ba9a263d8eb9182 - -COUNT=35 -L = 2400 -KI = db33078dce69d6b1070c7c8dced3ff3169d30372ab7ee10e06f0d8e53a18b6f1cdf5e648bea60b8eb9d497e0c1d8e39b6b2a434627b14e5b817bad30ae54be33 -IVlen = 512 -IV = 4c4020f63043a0a950af37a0aa86b392a79bd257831e2696d4f95a4b58f0e0096822ab05f3e3ff3f7bf1f3ae6faa467d14e6faa67363dc1f58db5823c011d0fc -FixedInputDataByteLen = 51 -FixedInputData = ed3504b54697531d577fadbd174da79571936c04e6d93eeb1b2c988b1b78f2b783c82e00b732c5a0eb3a750831dd21ecf2fa8f -KO = 7f2d5db7cdbef894fc1df958af6e9b4d243858ac7e6e6be4a96fd4b360fea8764af0764caa110c6ffdeeba144bdb33fdb0d61800c9029b95bb1f0277a6efd296995a9249076959559ac43487848e0163ec2ce8b3791902e5e7fd44ae382aae0b092981b348e95ce69575c50ab2d2d969f191557d34367e87622fe14c024a33de9358117c53994e204a8dfde8fa3d6acf5540833ba9250271993679c23e960c5b097bfdaa2a02ad2b8bb9511e3ba358eba72f924bd954cde8008adebec3975a79217b64633ce5011259df068a541163f68dd846cb9754d485cdf3ecaee3f93970fbbcc7dacafb130fb7cfce3cd1dc45559574d410898a1fb9e4a43bf1d07af0914cdaf8cc6a5b1212fc9b9d2e6b1b2cc6cfb6e94d99fc03ddc11978f6994811c66d70b270034802b767a2567f - -COUNT=36 -L = 2400 -KI = 6448cc508588c76b7f430d18758424bceacddb74be4078f89044f39f5a1c97a04fd2fd7354755e19c5cdc7007236268f4b5b0425d41526e9a643c292cf65802b -IVlen = 512 -IV = b9441a4ce8932c125dc9fbebeb2eee57c2cd5c90474cbf1738f4a1fe95f512cef445608f41807448683d6ee0cdece9c682e0ff13112136f1661de5a554f7a933 -FixedInputDataByteLen = 51 -FixedInputData = 8c3eb4b80e5781eaa9f36a32eff3cd7ad2c4c16165e40930619d508e97b42e29a897f4c13ac2abebe8ccc3c57d81874088102c -KO = 7794f186ea4dc549990f2d2d7b09fe13d30720d86f9da88548d9df66152190bfe49c48dde0b2c897fb2a06f47549caff72438f7671b7758c5714f1d9f2c60533487d3ebc7c7b774b5dcca408ce7d28971a8eb12b7b8f5984daf6831cd566bf4cc9828d33e161ff5d2830103b502f43ca529b02eab49a966dcc12b39f778c97d05af5a9aed166279212fbc020eaa1cde135700f619d27d3f37d3ed495bcea4f3ee260a77a8d2b85f3d08f178a5c81a5b0bd28acc062ba353e6c22aaeb851140775614b83bbc2c32cb17abb139707ed299e4153b623081e14e2d3079d976e046da72d5db5bd481cec27b240b6805697fd2698c413cc5c1f783dd4b75762bef43811bfef779549de1c78ffaa8812ced615d6bd14f15e9322f59c37c2de312dd79cba2f18a43db812bc789e4c969 - -COUNT=37 -L = 2400 -KI = 1f0450645515351184d262bbec1fc79ae6483460a0143c9bbe2cadcb8b61ad730be595609e5a0ca0a0c826cc2b7137367521b2b5e8fef30ec57c10dc0005ddae -IVlen = 512 -IV = 54920d1439aac0283b193565999ce3ff037f447206119cc69d1aedb740239a65227642071f9312b2d430f031241c3f4757d5ee4216e24fbcc6362a360149c3a3 -FixedInputDataByteLen = 51 -FixedInputData = a64861bf54645bbe26ed7872c6ac2e072eaa8806aa67ac5074423e569dfe79d9a4789656ef1a907802407536da29fa5bcbfe51 -KO = f96f761cb07613a693220a77b2199ef61805889a53f2082a8f9d0caf892f0799f58eb4954ce6559645646fd422b99608ace74c7e2cc172582c6cb5663b106f31113d6d311511d445b2f4c5ceb377f419ae23d9ae11fdc19d1019cd90b61573e7c68b6e2fe21a8c8277570b67c4fc273a60e22f7e710a3c7635240c748dbb9ccfc932205d56384f7666b25bee5b6124d6e7a8207224c58292bf691d6a032bd729b501bf0414abc1ee8c3713af1e5dce47a6f592b4778c202d1112c3fc97f46f4ebfdbacc16c821f985a1a43dca74f1c698b2f571f19daf3cbff6ea332eec372024989c045a6136c5a9b8218d709c07b25df61c1279d6b079cd146b9030a3d1bdcf9aec70d1807ea60ef6e3b338b7708075d540fc9e61c64971a19c01f423d8dc94e19d1e3dc7fd715e559bd1e - -COUNT=38 -L = 2400 -KI = 25d06dc51519ea5123109cdcfcbaabad197b7788f184d7031d211a3a359c9baddd86b84455a34e1716cf002e2cdd7914895aeb9c01a4c7da2d0fbc87b04c9bab -IVlen = 512 -IV = acda85f1fd7d6ae0ad8057dcaa39fb3f3291b979e8b10bbf5332a9df1df69e4593255eb7c0ec2cf226b88fc078a34fd6129048c285d9bf2b9c5c7ad86583e4fc -FixedInputDataByteLen = 51 -FixedInputData = 1b21dccbb0a33cabcf12c820a959e7c272d0d9eb3b7c75ce111400497157be382985802ce0a22abe353a6afd5bfe033a14c227 -KO = bf6c4cc56c4ba91954fed6e4c8561601b0cb6e4a258341edabbd129e692c28dda6e014c76b1e44954de69dd8d9ab159047b13b1d2d46f154cbc1c330ec50b9f80735ca0e12e2e5ebf5a8b331b02d69bac435abffbe1f98e142f6f770c4ffeaf8d6df7ed6e5071eb1a86f75b711c680ff1145b950b88d8e96384e124d0117358494dc9bfae1cd4b2bb5f5e5f53f0635c400107e3f791e6472957995248ea1360636ad1b53ffc7c846bc0703817ea571a827b0dc32cc1436b32d67187877ab3b792ce2541318802f1976d0fb60d75dca0ecc03ba55ec86e56de548472039434973163d8d6f39c56c9e48e9cbc4649e62f054d34f57a85f347aceb5ff75c08b4f9614c3679068bac513fbe1364fabbb226911748004f4973d770fbf3bdb80dcc66925d063d71471ea6c5aefe6cb - -COUNT=39 -L = 2400 -KI = 345d3e529eefa286cc4d61573b2f82ae914a67bc7e79f25ba72e53be15e15a0a1c3510f43e343d768823a60266d94a3cfce9e487b657d416ad25468cb7ff1a8b -IVlen = 512 -IV = b2e9a39d947f07cfd789ab8a6dacae63f41e1ced909e02392f5b1b948d44b0ed0658c3619dd323a445d1c61485dc021926183fd647cf51c54d93bb33420cfe89 -FixedInputDataByteLen = 51 -FixedInputData = df70feb71cef3bb887a35218a9e4a967396a99223c5fd9cef4ce45aaec5b9562eb0db1a955b6710c5e55eff79cce7db2ab4eef -KO = 38450ef7be7d60b6845744cc2048d68fa19712a6dad67c5e484d1e05bebf748f275a492458ebb404dc067e086e74a7144d4cd4a5ec19626f6bb9a174d38db48b6dda34674ec1667fd47a968f8aa43c414c48fb7b9d62603b8d5d7ba22ba0ac7b725de41983055b400e5ec1338fcf4c5916f0a7c480ec8b4f8cf8bfda7cb8120ba4436f4857326b71328fc454a53b2c284be092719df94b647ce99ae82c56a15087aa00b12fe896f739d12e88530938e782ac761010c96fe47401004f699d794e2de4f287af7338b09e262724e08bc087863e7ead748eb5f53c14631f96f2bdf7f6b8d93dc1be61a82bafb3720c12fc591bc657d20494669bc7c84f136a2ac48d4372ff84a29646c3b8b85a6a62ddb47e5799dd5236995d83b838493123686d605eb0feec61de2b09449ea10e - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 9931f4b9dcc3ec37c985cbfd1c2980d3d122fd43bbae5e720428689964c594ab8d0e01385c4cc52382e14bb2d2dd3e4d3be477558d131f9ec1f78378279590d2 -IVlen = 512 -IV = baca30ec5c0540bc37c285c57e62374da7a2f06e67a0408278dcb3e11b73ee9354472f4dd8b05a1f4929b155f845c0c0e13f40e1e2a93dbb7bdbea1b1e0d1f8a -FixedInputDataByteLen = 51 -FixedInputData = 66d664c815a14deb673cdf360d4524e6684a42041848a348de393d278ad2650a62d331bccfe241bdfe91fbffd7ca315bb5369d -KO = 992a0ee26c81f79cd8f35b38a8a4ea9e69742d9aeff7f76f9893f8901d8e39ebb4b8f31c66adff0081e97b9402cd625cfaa6f7fb9d0c0b5653aa635f537e4876 - -COUNT=1 -L = 512 -KI = b0aadabe018063e52d15cfadda90b4ed8082bcf4d9f56321e6e711adb5d35ab77a1fd013ba4aa6452c8e7e3c0905b1a912a7b5d3fb77f1a2ec144fad2b2a1334 -IVlen = 512 -IV = 1d47a8a01c3de5fc0b2f906dc53776fde5c427372e1d22f34bc893d8cf767c01f54a7f096569f89311c9c2a8c69f092838f9a582de4a15153923276e2ceff7e9 -FixedInputDataByteLen = 51 -FixedInputData = 02d1e54ae9189a3c0d40e3db3ecc999761fc4a57639a613c19f6c0f87b6baa537f94d7a3b59b93cc83c1e54ceb1b3e65c68d8f -KO = df7cdef673de074196a4c35faecf7c9caaa9e4b43a245b0b72c6f24c53622a9b234b88bbc341ee9059779b91d126a4e584bca748409848184de84f8e848d0f6f - -COUNT=2 -L = 512 -KI = e0ebbf885b38e25030b4bf7595391b793c7349da304830eb0fd06f12124cc6e05892162062a616116bd657ae86c7ecef13f64478c5953cf8729eff75cae00430 -IVlen = 512 -IV = db2228113986768cbe1b730a1b6e371a69693882038334b39c3ba748bf9f3424f9b840c8ae79b652fea3bc7012a6d390e190b421019cdac72cae1946cc9c260c -FixedInputDataByteLen = 51 -FixedInputData = da289200cc1768310263b237dae3f2adc462fbe155ba23c80de55e5ee9f7309e64926d9a15339695a2b939fd8b0a10a9354a27 -KO = 545711f28075b08ae96bf9c82ebcd134bca430edb039a87de44eb58d5bd49d2102d6d9f130afcd90454b6abf0a02b67642edd9c74a2ac45cec22e628b10588dc - -COUNT=3 -L = 512 -KI = 49705c1a7f3b5029e40ed438bc7c6050fdb9def53db6c9a8621b74455ffa8ea6a17f6097ecb66e249ca5f7fc20e2d0c846b53dc847283a3ab217dfc8b3a7fcbd -IVlen = 512 -IV = ae50eaa1b6fe102b565f9540bd7c06ec98b8fdc5c259cec8bc7571f2ff04b03533b365f0cc648a8712b5fea0512258c7bed5211bb697f6242c81275a5c8c70f1 -FixedInputDataByteLen = 51 -FixedInputData = 063ed9a9df973e34712b9a0e5ac8a6ded740db8d81805b34803787ffefbe718c4018ca092bff4e2384e13c0719f14be9e652c3 -KO = 03df6750fa92c40dbfc6ca9d3edbe9b260c95370bfdb016551e6c72f33fb8b6c398b793332813ae979033b7308e45736c975773f263247bfc3cfadc32083ccde - -COUNT=4 -L = 512 -KI = b28694317395011a744626377b6a1f72d8a0a31feb1dba45571951d4f22cc75f0f2f8e1aa55604621954ae03b6edbf86ae0d321c1813bdc3653c75e34e929f04 -IVlen = 512 -IV = 12536b262d6e9dc8a34eabf9e5d3fd7d4f4ee6205f083b354ddb88532876a54868af17ca374412f17affa589f436e108e4f8d2ccae456d8f1f6663be4b0f282c -FixedInputDataByteLen = 51 -FixedInputData = a91bccb9ca9fe964d91f514e29c4b89079500d58e5bbbeafbeb06d3ca11c53ef508762c8d96f7ad3640e7c9ebe422f79343a9a -KO = f629a5e04b5a07343627ecc9093331f2ca90300330b193234248d6fb90305f08615ad19085117af4ce5c85d5799673c34229b32b51910fe11a6383045ad4d4f7 - -COUNT=5 -L = 512 -KI = 597973c1980dbec0955b3073b81305fcd6e338d2bdeded0bb9d137aed96456c1586c5d1306cefd8ffee94a7e348b40621579732ec0c092a91b95673b243a07e4 -IVlen = 512 -IV = a7c4558e37b0eda1c5da42f8260344dffca10f4418085cbbfbe7726bb386da5e087efca056e9a4825a439ced790cadacdaf84f6b4399f63a310186433fb46ef8 -FixedInputDataByteLen = 51 -FixedInputData = 5076d211361910b0e03e7cbee8a7d45516b5f140c92e016d072e73f570b1387600300ddd6524e147b04154bd52c51fffb323c7 -KO = 09b34d30f4c3296cf764eb768c91e5c57d839487b8def07612235773c7db556ac53a114fbd9260c82e8adda130f6e12acfd1cb383e6b488e54b9e564e10e9a0e - -COUNT=6 -L = 512 -KI = a4d51a40972e6a620301dffaa504af1f99924fd9adeea4ce8b3bf6eba31a27eb75a54877283428d043e9bad9f8d732990f83d2b939b362b73fd539f363a80374 -IVlen = 512 -IV = 5b9c1303409e9d622a4774d96105b8a1e59a52611a6be772c6b8a6ecf8f5ec1847bef656fec67eb667d93a9dc6d1e4bca9d7b3d7435a707753e27334567f65f0 -FixedInputDataByteLen = 51 -FixedInputData = e2d667fec40d4446a57ec7c0fad72600ecb6444851a92f8d9f83747f48f76b801263a9d9d4e86346a5bf8cccb02d8d9db98ac2 -KO = 3ccf7cd46235ad13798ff78d70e7a65be631a6bcba518602a1261b22b08ed53b4f91e0bd1e36ce50341a707e972cc34041688ae1b816574faf050a16a7fe8d59 - -COUNT=7 -L = 512 -KI = 417f1a98d8a1c4dcbf7dbc3170753d641bef9232a91cd55eb8a1b67c97dabdf6669921ddb883921db6bbef5378c7467744f5a59077dded20c6d3d4840004b32d -IVlen = 512 -IV = c2f640d13d7a5bb64042415bdf7f6b518717b4ce553b7895f0df7d93b4502abfdf22feb3eca2d6fe0596be5af755d4e53f05b66fa5664c263c9e9531b8b85377 -FixedInputDataByteLen = 51 -FixedInputData = c1f50c90f8c59762b9ad2ebf3bc235abbd68ed1ae3b1680a8bc378154f71a9081446d70ecd7ae9b503866bd5fb853f188bc70b -KO = 186c739682cb113362ebe71813a3fc9a6a50f89f6351d9894bfabafd12ae930b5fe5731bd18db0bad025d0c6d34dd58530432329d31ee4eec2d38bb8835f20cb - -COUNT=8 -L = 512 -KI = 001f362d0c67cac80341507d665f51bb1d3c54e056b6ab37a0bfea27063f56e7d4795a42b56e8dbd49494d541d6620456d3b46018f486b7b997ba710e80dfd25 -IVlen = 512 -IV = 10b442fb651734ba60b531a7245c9928a9f9b3822cc42b8020c206c41a70b115ef3c059f3674d69790b8a943841d3a2b973e21ed15db6bf701d5c42bc0d6eadb -FixedInputDataByteLen = 51 -FixedInputData = b606e88f3c282df732c4bbb9f73b91e66ef1c3c60b99fe94c937fe0e5f4fef863e44357ca0f1295d8b9785b779801032138a64 -KO = be475f537789b173e92775b0a3a1173b75abfa0ab2b26edd54261425bcc9e8d29bf0d4cbeed5cd6653f9310263e306442cd3de166c07559ac8fa389da6777106 - -COUNT=9 -L = 512 -KI = a329b65b9681ba484363181981752a66939dcc574e88fd3ef233459fedef390bc6442c26e191e651d93a275feb6b639fdf6c4ed3923f65ac7d78ca893969ca27 -IVlen = 512 -IV = e774d6797b89815504bf1348a90b70257fa8642f7a446997f54864321f903d6d6a23e2eff6c0d2ff6472769f29e46ee4808c51182a6adf739bdc1aa5a4c30aa0 -FixedInputDataByteLen = 51 -FixedInputData = 8cf7770d88e32783b5c9ef31fe6328de02392f776e51c54901451ff9a20dd057d759cbc0b3924527e24083d483e26021072bb0 -KO = a0a0aba50208c96eb04ac5e039fee032e330219aaa88b0c1c1b7e8d5d7a4d7754dbe2faa141454247bacc748308237272d1913fb41fd36e7a32bb656e14100c4 - -COUNT=10 -L = 2048 -KI = 7a262e3082a8581aa5a61981b87c361a47c1f4ba33c4c05a855584d8cfc26474c0f5451d5ffa7b8522c11e6941aaddfb5fd1aaef1954297a2fae6ded5d48d61f -IVlen = 512 -IV = 9d5d2dbc5ef3e27f36e6cbe01e7ded588474073d6808c2aee2bf6899e3c365148b5f94f353529bc2e4e0aa8fcfcc1554d84c946d78fab969343f6ff980469b96 -FixedInputDataByteLen = 51 -FixedInputData = 79fdfcace09d6e484407203d4d5ef5691be8df9b8c403b08bfaf513d1f0d8340affa29d9d8066caf6f294be5481a89e55d31af -KO = 1763dbdc4e3007dcc6fef635ac0a393825e019402c771b5cdea9d3000b1709aef89d9915a18c08ec42be976585e3cdd86b50117318ddaa711af420aa49b549c18d4cc3e8723154a292a674e49ff215bc016f4d57229bf828ae6cc5c60bcbb7a7f6d5d501074e32e35a5103f9765b10f4b0eb92674f5081605a10dbefb8b9af0fd094d1e664e92a9e4cb72c4f1fd37ed9c1793b6941b50b91411c6a4b5983000dd658b9869b1d9a0e0d0091e4b0844f072edb53b73702fc94ed42893e6aad3270b1c566ef847f1a32f76192f931de44d582d66e7cac628b9aea9285954c2d363a4477d0bbd53270f008af5e36c473ca4e68dcf39311705741ea92f42c715896ec - -COUNT=11 -L = 2048 -KI = 828cfcaffe0eb5ca1930481cd07fb2760ff8ef8776c819d834d9f43ed965c5968267e1bbf09ef2702d91562c555709df7b881f4653178e069fa2f03c90b077c5 -IVlen = 512 -IV = 09e515a016a272ee89c579ec243ce62e8169e65e99049597566bf4410238aa677eb56a88949dd725f143f3c33bc8791c6132678df8bb8a8cc0337caeaa12d1f6 -FixedInputDataByteLen = 51 -FixedInputData = f80366a03e1507c33859f9a4657dd2d6f691089e6763ca85d97b49dd568f2da6844e0170e113700c538790a4bd70d86d1da29d -KO = cd07006b27cb7c3f7ca3b70211485b333e66e5138f77406088c64bc3246fe26e96958cf0785b71813a949acae3804b825062f17aab516d8c081a22bf3f3bdb1e26c55373d4ffa6181bf31dbeb00a487ab34e9041216fec637bc03e1f83e78e3c668fd07c57ffaa406662759386a753ed3ee7eb02684e2acef4c389c767e4b6b0566cbd70824edc6604b540d57ca7b0eb3dad6021d0a9055279c7cb75557f1415265f73ab40d8c38f82062a9dbb94c342e42f6c00d0733b07f3fead8c0ed2751933014ec05b7c9329f8decc97ee4d7c8c10a58f0e22bfb22f4ab8520399865ea5a8228c919a7ab79616fde0aa29b4f52f276e42e7763085dc18c1b61c28400dc3 - -COUNT=12 -L = 2048 -KI = b82a45802f897d3426fc411780b9cf83fe58af3485253a5050646c7a12883aab74a600ec2f240c48561f27fe7f46358a4a8d3223b950bcda49675ad818ea9f6b -IVlen = 512 -IV = 8a82c12bf88c26639e2d86d158048d4a8cf8b74b19fd64744f41f0e5aeb4f31bb4f8ad1e9966e012849b4bfe2309e1ab8ca0bf87a1cee030e6f6da40cc024a3f -FixedInputDataByteLen = 51 -FixedInputData = 593d785b61eb0085a9509ea9a2d01467320f78e60b9c5d0afed11f618ebf456969b7555b6cdf157fb25bab6c9703dbe56c8fc4 -KO = 3d466f5d2637309f7ebd28590a6fcc51db1fc55c1d2ca465ace4700133a9f871fa429643bccf27d628fa6cf11388a36e8e404827581ff9bda2b05919c4707b3c6e0dce1024bee80d0614592912e55b31b003b00d7a8cd953a99f11c1b9b4990809235cb51750203e806683bf05551ce5ee3f09ffe303658ed7e82cc6617724c7341fd5d85a1af0bceac9fab190c14bce727f62e707ac141e16ac7108024212c808754fee8620d9b1b8f805c0eadac593313170942361967f646c38a71d16b79ed52590d33e69c5281ceb6879097b4873b8338581ed23b1e837187bfb586db8e12a32bcf9cfcafc2061fae150f0513fd5c9778353a348da1ff3a34eb0e37c0e4c - -COUNT=13 -L = 2048 -KI = 5cbef6e3b486da6117332f162edecfacc6f953927e448ccba0bf0d715968f61ccbfa7700b6e39e9aebf973d0c01ce2964a19281394b95e670d27cdc5e48b54e1 -IVlen = 512 -IV = dfb59005ef9973be9564cde0f0ba54e95c2b5227c7613dbf19744ccc4865de5801144ed472de43320982a20a6a9b124652c012ae8b8ab556589dd76119dfabf9 -FixedInputDataByteLen = 51 -FixedInputData = d06b2cd963c7af51015241f7bbfff6f1a86a9c6f3be5af032a9f748e86042e950f3521cdec8eb7f83c84f6d8b7ea66b261e5da -KO = 5f413e6582d114812f5d8476086e0c2b2193a7dd882c1a1f7522e8b1bd2d1b1bdeee9bbabfe9139167a6b55a2d095d369e36b60133f8adf2b679d98f1a17cabbeac670218f8b80033be85f45a05ccdd2c85af5a536d14eadcebb69fdc1902991a7d65af6e09deb82a9dcf26fc241f49bc3561831825da58627f0f7df3ed181859eb942792e14f1106a53319b4a5746fe711354ff7d3fe5c3d05fd2a88106e6f820c1478a1aaef5fb9b95ac1343a697cd563a1eae5c5a93053c5b4c0e2c23c1e8c7ab468d872105f2b7cb157b5da6f87e87939828411a1b9a15b5c2bfbfd76be26156f02b484b3c27ee85a659a708350ad29d8658ac8cffe02e8819f5a93f997a - -COUNT=14 -L = 2048 -KI = ca98590a1d328743947afe689071c8575cd0300cd25f076c6f26cc06ab05e7067b249bf69e6ad5dd8e7547082daefdfe5cf72bc8f80fb70ae9e423a3b02c229e -IVlen = 512 -IV = 7bc9e123fafd513ab5864e0e115dda07e77d229706b06cacb6fc992c3ff1ddd967ed9ef15b104bd13d9c9853ec785a2c66a7bbc4f931b107252701561680975b -FixedInputDataByteLen = 51 -FixedInputData = b6447fe9de20b80670623bfd80234551a81c528710049d0f244ca937e0093d8b462b2b0f4b08d6e803624eee9cd03f5ec231b4 -KO = ee59b272734ad38c78fb6d25a7a664b0d76787a4951b8c31510f111b0b10d1b2e75cf7ab1ddd1eb2893324df051a58c236b4edf2a61d6b279407a7021848fb1b7a72996db384b9694a1900c672e26a9ef6c6494ad29199d7c0b414f2dd806dd7bb3905d6f542dd37925f3a2f38343dac3b1f50f8920f17584f5e7e62d606a11fb717e73b7f4442d05f98d00fd0a667d3cb9feee270f8ff79a0921bb532b37ecd4a68599df4437ac423236cee839c2eda51922047fbf8ba7dcb71645cac2121047244dc090f10a412e47cb401bdb0f8e3047b0f8a09f0024f5c1c6a068aace88924f8d92511b621258f9e62564acd1b5fe51dd179aec6aaf7e6ea4cb3e27818eb - -COUNT=15 -L = 2048 -KI = 1dc02b864f97e8e9bf499b7be437a9b9dcff0d95148a21696f3fd252883da721e22014c0508f9be7033cd70013c526a80a3cc37c348c6de139b9f5448382b325 -IVlen = 512 -IV = c4d8520b60733c32128b6d7a235580d1ae5b83708dc766662fb2e98f4a1b3824487009ad1da692052ff0a66a68c10c5202e710357026eb461ae3f18762646196 -FixedInputDataByteLen = 51 -FixedInputData = 0122d618f8731761212f933ab8530d8c3a6d588f822d1d40e994b7559f113e892bf20c52214f3f2ac80f95879fe1b0f520837c -KO = 0087924c927d418a64e51e4e4498808e0e59704bfe3fbbd75b7fc89a093200def3e71bc23b535bf1d45ba33cadf8e3da592c26258bc826aac86f9e4431290bb762452c1154786da3131158b32860e51c106e4dd342a234cf898dba8140660628cf3e6ffabdeb62724a9a8dccf075907dd21a89ff16ebd0558042a68c60bcfc15caff8b85a6a82b102b5aea8a19901cbcb97af755b799362ed12db51373e90e276b2b9bf02221d557505db1e0e60c64ead9db5d07b2b974b9d36930340895e1f5597e3b9b992b5f5a8f4c4355eecb4577e5b8d14c2c862acca62d70b4fa8e1328aa7c9f23d3a266e3b8006caddf514e79515274be728bd24a38542b6bd29b078c - -COUNT=16 -L = 2048 -KI = 7e0b44e61662a560f003a486f0b6e475348707052acab0c4af0dc858df973751c66bc19fbea4e0f3e2d39dc17e5d80a75550d5bbc018a28db639579b0be39a79 -IVlen = 512 -IV = 1e9cdf79d1983936672440717e396f36181d21c9f56836b1283d97988747cbbcc6a2acb779bfdf7e03e6190d4605fe56409e0db645f050c4632bb191fdbbef05 -FixedInputDataByteLen = 51 -FixedInputData = 9b066210649e0061aa14839e5d0b51a8d90cd8c62fa21d5399094b0b6da4e1338df8047857f394171cbeea60876fe65fa3de16 -KO = 310788562479ea520f6b3c3aca2f7cdcfaef590642f78b94a0e08f8c9ee732094bc847901c911697040e258c7cc72b998c3c21e9a24bae3fbb88188793bb76a6a76c4a8450975dfb10a0a83395186604f04776568247ab4ec83ed55aa94154e4fb6062fce412775d595506e51c86929c84946515d322bb4a2044d4f5d22458dceb1ddc016bef8d8cda2c74e495b2c1ca9b414500d5bc4f02044f7c5e0512e0fb00069ab9cdb17867b4515c25291b81eb0836f5118cce6fabf0071b2c500f6a90e7d563758893e9ab32353b5940627b0409ef9a95c5fb97af31063c7b8c3f3adae06a3d49e00e9db9c38345b9d4980cf1ebe689db9f62049f403bf9c4505b4bcb - -COUNT=17 -L = 2048 -KI = e34253d7ecca9bfa71415df444a0c9ecae9878283af3d289bda8cb9ba16ef69e9f82a03a40a2bd5f54eb6b04eccc8a677de3bd18ecc41d24ac89b453ee3fb0bf -IVlen = 512 -IV = 44514b3b471b4db61ae5448ba94b490aa852ee1a957568a2b47d3c326310ac281fccf2506fa82ce73d44cc8a002acc7ca62360d234786b28cbd35b5b621e8f19 -FixedInputDataByteLen = 51 -FixedInputData = 351aec00a775cdfbff304b961227658bd7f304dd199ab6974c2ab2827317987f4037972207e4aba7aa8b0f882df2e7a0bb78ab -KO = 72fe4e6d1f0fb4e0ca6573dcd45a903c3db9d18c5a40763d710c2021a72bbe29a311b0a6532c62bf362b400d75d665f7788b499fb8f2271e4a7e7d01ff72137351b14a61a56744c0fa0a383935b66a0a53655106bbb132ac55a4dc1c41b8242c7b5c013377d7a30a0d7e871d93c89530f309d31af9b1608271fa3345973fb2ea41ebbbf3844172057807c2b24ed2f650626fc3c2b73ac71020d93b8956ec5ea88920ec9eeade9aec99dac4876e28b6ff11752ffce6840488437a626a172b819f41657ab60f287edacfcf04f0a759d2d4e393346d9b952327f29f24d1b56aad25d618ef3b1e380bd978a4e4ce99006d51467f885f1198cf6e4b26dda77e891979 - -COUNT=18 -L = 2048 -KI = 0b41d1842665e0e702af5aa3e4b3ee65188e4e14e43ad0ada663b64310bf1bfb534eeb7ae46e0874ad048cc021b5f4ac61a1de669109097076a4447459e2c66e -IVlen = 512 -IV = ed3ac7d33c4b590b7d2b4b27e8817bcb94634eb3f5b648bec3e3384ca09f500baf04d41a097d9071953816498791041a3d4140c0a6f7760c010fbd0a8104e055 -FixedInputDataByteLen = 51 -FixedInputData = 4667377ab949ff5bd95e3dda04b6ec49211193ddf309c3d6e9687bc8710a392e2696a9630c2d1a74cb3c739dc998302f5b2942 -KO = 305333cfab676ae65b55bb10273d7c1e128325773923648c7e200fc554b7635f3e087f5ae49eaffacc307c2142ef131f0578208c0f8a80f86681fc6158e24e4ec3be929cc765233ddeea7bd85c6f16354a095b048d3bb17aa9f6f26b9d6543e16d870f2013281895e49a62c9eb3b5629721d1201ea3a9190559e6e355ef0d235182e50fe71a3a2adc50bd084a46dbd012202597e3173d6f9e3928c8437779befff428ccff5527c8e6041ce54608bea4a5d32e87796667023f4a645b43a63feeac330604afe0f776c4fc32fd69232187e00f0560e05426c238ad94f69794322c1db3a84a5fc662117742f02167f2df5b0d0159685d088be4cb0f2a681ad84f6c7 - -COUNT=19 -L = 2048 -KI = 70edd4b1874360686c048047867936a5f60e623af541596d07e957deb02fe91245bc298bc139098d32554977aca6ce1c6eca2a32bc13fe215142d6c5fff50dac -IVlen = 512 -IV = 46f22dad24d30e468aab931461ef05d5c7820a2ff536d430b1315adbbce8425b4a9a9b0a03ad08f8290d6001fa06054dc1ec69542a61c5fe9700f57f75dd1216 -FixedInputDataByteLen = 51 -FixedInputData = 610277944f387658c6d2514d81248c39397f3c2fbe1bd4ed8dad253e50abddbc335c918186978a050ebc57546b140ee2199964 -KO = 154f6b75a94e5808af2cafcf2ce718ec2fa84a4188e89cf7e7810da7c9877640bc94c8f76f06ddf6a491b13f99d4cddbcff7c448b4a7a50d4f42a84dbe79332696ba0c6cf59f1f1db0e5b8ddc9cfaacd31a54394f3c93bba35a608365dae20707554032fe8f34f7c1761e2dc78c688b68183c7398e7713b77504d8abe9cfb28551318b9f21ccd09c197a3021b7f705c8e5c66ed95b5292271e665d4fd08678cb888c8fde8ad72b0007390f8d91469e169c7d5efecb51e498c1edfc3b5ca25e80a6f6866fea0a530aae596950771ee301c138d9ca57f668b83bf1600e8d3474150e80aac35d043eaed89e646a97e913c496f338dea0000bc3a163826d8fb44176 - -COUNT=20 -L = 560 -KI = 9ead8229871c6c619e83fb8b23a5c60973486b8590719f3c2f542bd3c778ecc07914745393a8a69f3e063d7fd7b78f29b2768fbadc55ccdb3c8c751fce7e9c25 -IVlen = 512 -IV = 9fc6cb3115b21c8f3116bf1d9621957acf8470d39517e18921e3e8de64d8f32ef533c79ac092e1e156433d20ed5c40290c35aeef5cd2720c3741fb8a49602908 -FixedInputDataByteLen = 51 -FixedInputData = 1f1fd3bfd30bb704f594e2ebf8879a6b98841519dc4ecde623cbf454851975091068ca0bfb158a39a0fee272c484219ce498e2 -KO = 5d1d3ba6996559a809ffebe113d7b89a38e0e4ba60f5c0452e62ff5ab74c357c2622672612454f66a8dd7852c4ccd720be4c5f698291dbe11375d9660f816f57cf73d867025d - -COUNT=21 -L = 560 -KI = 52183f5b4278e36bd9c51713ab3bcc47332b87d86487c51e25f5caa9c1a4b1f5a9757dae3e6bef7094eac728f46dd6a401e6d1eb1c9cf99638aee214d58f2158 -IVlen = 512 -IV = fc33f711ab6bcec457f5ed6bbaab756963797e48401593e8422a9546b6abf2097fd83039ba5619f8bc1644cede6e96c081cd1ccea90b896728d66c98b4d09b7e -FixedInputDataByteLen = 51 -FixedInputData = 7ef4db59019fc3f12c95e607c77fc29439bf7eb41a5c9fc282c6559934074e942ad602ad66256e361bc6b8923c7f51941fedb5 -KO = 574e20d54ebb0afa21c3d717a09854a5e32201360f588a11e04fc67901182cd4d859f89341ce648b37a141416a4328f35fb25f36fd24dcb3cc2f845fcda775a6cdc1bf1f2956 - -COUNT=22 -L = 560 -KI = b3185bd3fe5ab162ac73b1b8d61a6989e350014289cfe00b2c13d97896742a1485bbe96c9f466077190519e377688d5810e9ac8c3dc5ae4ebfb0fb6de667071b -IVlen = 512 -IV = 58d64ccdb6df6bf35f2def25d940e8716c03c915dc814747981760288bc2895f00de1f260576f845f175c187a04a8dcb2fa6b1fe36827dddc18eb12b270d486b -FixedInputDataByteLen = 51 -FixedInputData = acdbb9f26114befe65a6eae2df644d35c927e3f847a142b321fca0e8b75b71dec425f952734b9512feb10104da8d275fc5be8a -KO = 2a47198549a9b28e9cb9298bf7554e07feb64b21e5805fbad2516570be7a4a95f0dbea25d6b14985a6f12d604fbf03b61569271f2cf47c1da9a955a2f7959d62ac078b427ffb - -COUNT=23 -L = 560 -KI = 7fe34193edfa65043c29f05f0d92cf7dcc581e20caf9c22ed26d9aa383ef7e44bf24e6e1a18db4f1b674ae1913a0db7a37b5eb82a984e09a7599cf78acb3ac62 -IVlen = 512 -IV = bb3588380792413d03c43ace18425751020bc6348f86140dbcd5fcfb58e8c7c409da26ce198732c72d4028f4f6087fb6d487cd50fd79c92d34902ddd40d1e56e -FixedInputDataByteLen = 51 -FixedInputData = 4f171058eb807959f418bfe1ad6ba9deb2e658b10d54f5a5185539bc845c71e7adccfe2e64acdad849eeaa4b380ffc0aa8a198 -KO = 6be00ead9526b55eb2a3e789f57cea00e33653ca4b130e2db8dd6906f8e4ec3d71e2f5d08d74a227793ce920564d71e0076e8bd5ee1fd3da8ba6d931ce3f7316490c0a21da82 - -COUNT=24 -L = 560 -KI = 276650ff0d6f0aac36b95fa3d32fdc4ffcb05f148088282c1cc602287d74df2c7cbf2d8736ed33ae16406747a8dffa61672eb371c5d548ba92fb354868fa52bf -IVlen = 512 -IV = 99f898e644f7a664bbe9dee17e00fccdc764df7b38f38ef8d40c0281150f74624314f101badaf978bfa823358d1fb4ca92a1f7c0565555971de701d92ca57995 -FixedInputDataByteLen = 51 -FixedInputData = 293a9e441c1caee4ee55db5bc4496d1e27f3dc469be945d3b13eb2ce9a18ae66671bfd1d3eae763ce8abdd42c875e1f7936712 -KO = 775aed2a74590f67ab3520490e1dcde3f098f53523f73012d2cf593180825272f370a930fc1be5590984a1b8968824f7fe1a9f33875f9050f2a993a20fec6ef6f1d144ce7e40 - -COUNT=25 -L = 560 -KI = 59cc45dfb01fcb6b9706858f2431b2f6720cdf5324ebd94c0726105c6afeba271c8b13a6986ba8730cced37436d636de2f0faebc513b07c8565052e65447e5ba -IVlen = 512 -IV = 7f6a3f05fccf4039f0819e02e8213f058c376b066eb7948c50ff0591e6e6358f4c1ac3d3769cfc00926a3a4407440d9f98b0b78fc42ee2d786ccf440ae2767ca -FixedInputDataByteLen = 51 -FixedInputData = 49441eb41be441a49d44c363ee1157c414e3b082df30efb0cf9c1564588bc525fec3eb96f7ae092ae32962e13388ca24d0e6f0 -KO = 783156e23421dc2def07ea2769be8016bf0e77db28945c12dbacbbbb2a41872155d0d78fa71c91e1e7e728eab7dd720d848cfdbf8252e7353433298bb1c7097cc027b4645125 - -COUNT=26 -L = 560 -KI = 52aea4cb47b4793477362a63908fd1723cb62b40192b956eb949c51499ccbfad9fb8c0c2ec953a36d9dfb419da0d9a557fb741946397b4131bf022595dcce65a -IVlen = 512 -IV = 66e1170d1f5db09df37b669b070f22c1e7d0c514b5d1f79d8188c829a8263c8949fa4bb4071e249edf9a89c21a51738bc21e79aa52139d3a39ff14f724f57bab -FixedInputDataByteLen = 51 -FixedInputData = 6bbdc86ffe69da304e98150773130c422d054e24ffeaa4e600de15eb3b2c06ac69df859fefa897ba48ebe8ce6f11830022bacf -KO = ce61a2ff748a97e30333bb343e031e8330b39ed2edc08623477a27a63f31b9aae6febbc54d0a90d1aa5a704977503ee9166fb4a9f736ae1061d7592374af78fbf71ab5bddbd6 - -COUNT=27 -L = 560 -KI = 172156f9f07adbbffb79204decd719988ac3c0f7ebc18497361295cf0266ea26356d1cdeb92481162228048ba37fbe01a22d561a144eca15a0e6b37dece6f73d -IVlen = 512 -IV = b747c9f5cf8d08fa469b7cbf761f70862a0dc3ee5dbc3adb428f0335d63d2c3a1ac5fd2af373014f40d315db530b611b2f26139783f0460191aa75d24f8218a4 -FixedInputDataByteLen = 51 -FixedInputData = 628ba0a586e9618099dc7822578f50d388f876fbfd85e93993536342205ce7c35ea7b7224f8b52707272be0e48b0d188e5f1e2 -KO = c46955415d1eb7b8468e673ead84a8c1048d4d00eca6d4ec54085b5e857e7f0aeb6c29b01f51c083da134cb99ea9b501fa7bd3d7ad46890cdcb225e9ee0457aa20e227a3ec35 - -COUNT=28 -L = 560 -KI = 7107989f3ce11ba5eb42abdb54140748691b2b2ea0fa26a9a4c892546c48141ebb5b55ed8236dec9f14fd6a6b53578d1e79200791aa4654dd63baaecff49d625 -IVlen = 512 -IV = 040aa7b7e8bf6f3b8080d9f5fa1c39eeb6c868f147206b1c8cecd4eb6132a353a7462cab03b7b9cb9bfff6687fac724bba68da615731733fe94a40f61c3090e4 -FixedInputDataByteLen = 51 -FixedInputData = ca10dc2ceda78e1076d174dc3cea661cf82b99c0c2bfbd1f5fa8816a813fe6b2a97e73ebd26603b51acd1ef9381f2f9197cc3c -KO = 72dcb3816501ed9a674170aa0677848fca8b5b660aee8547e778269683d74b12288df8c8c51d782c130d437b45b31098e41c4181e675da8c054f971aada799de8d5a3a9f4b59 - -COUNT=29 -L = 560 -KI = 165a6b11432fc2b2218d283d716204fd6a91cffe3c1373cf0bf17835ad3b0e8a9fb751854d1204b7ad7de898e84f8e359f0fa5ec55f7885577bade988877b0fc -IVlen = 512 -IV = 04a9e494e12f41d77e73adad523b15b57d11473c0e4b21b86f8ded7cff329032067a7e60025d03a0af75c4f5c029d7595949e046b58e84d3b1adbe85b1dfdd93 -FixedInputDataByteLen = 51 -FixedInputData = ca8c6a818e2b4e7dbcfdb59681f95e543c025e39ae92137526716051886bf8d68cc45aa017796d91a4ff8a49b4be1b26ca3e97 -KO = 3be9be0cc64b56c1c7318a2014c029c4b1940cc044b30cc18e72e5b951c3651a25a5211cdbbf14d1ce0a88d3543019ad4bdf02308d4e5dcc73d0c22952820d9b96a18c0480be - -COUNT=30 -L = 2400 -KI = 8cc31b47738554d3b548c1844b943994767981721cc04f2ff91953ca70e72574e7a1ca8292c681e2a36162eee599bfaf9d9d45c6abbc284caf7a8e5640e5a38f -IVlen = 512 -IV = 61ee6f6eff09cee3b3e6775b5b83d3c921c05adfeb0e53a3febaa3679f2dc070b97c405aa83ad17d7ee5fd7a41ed78cfcfc1898927e8695d820555ce0b53477e -FixedInputDataByteLen = 51 -FixedInputData = 9509936d5acc980af6dd99f4f57c8a76b92cff0b82ac2e0c4788680e608982c29d154c513800db8329dbb3d8fc3a3ec6f4a14f -KO = 21bd93fb1cede3d80b3542368a6ba3af08f9424d3d73d8bdbb15a23640fd233e947a943c90bf68dc513d5e0777ce21924c0c66d6ab779e00b882bae70515a22f58c34c4871988bea76e9a7583c563f9f186637c66cc634863d1e79212311469f460b36133a75f22a10c0f75c176a0538a71d48bba5ad81b5219a5e5ba5f1f7b7de71035b9b1867c0f028931cc1ab45927cc2ead1dd525a51819091682a81957594092094d3e04721f938316331fbb83dd99132ff21414454e197fb6ae7bbad1b23805b032a2ac35e7f01127987d428fb17e5a3eebaec2f0f76baf8c8f46976b29573b412e2484218475cb5352a88430be14500706b8b87b73e080bae69fe70401cd3cd247b8ed9de42003158aeefc8686357d053e31ea20988151f6212c11ce69979471687b9250010e807bc - -COUNT=31 -L = 2400 -KI = 1f227d2f792a9ba19ad15afea8a62c82c2db2b1b4cbbe6aeda3e04e0541be1a4930c5479171b271ddfca3d66d7b616325b80fd03b879f05091288200d25de445 -IVlen = 512 -IV = b3c042fe4f2e86e3889e6f6c1ceaa51991e7453faea324e6a3790bdcfcd515a624aed096731ba0b8c63230e2c2ec6e1fcec079410acf797632039fb8d40cc331 -FixedInputDataByteLen = 51 -FixedInputData = 8bd2a75fc24943acae989ee8eaeca2b10ee1aac21efaabbf7eccfd511b653a0d6c4c53cd3f2d7494af019f9bc2fad0264834eb -KO = d75983809dbdd476e8e2e65949d681923a27010161b89e9210efbf2f62f5f36035a1c863644ebd054c40c0a09f4185a20f6ac8e9991aedb285306bf989b28b8b3786bb9456abaf0da4023e915df18faa7954213396ac2a3e33e4e6b0313b667bb7eb80f72bd42002a6a2404461ed8f318a587c7a5d09254ee01301f94391dcffbaf5ef3e4d2632927ce0c3319f510e0c4b7fd1ddf4e317fcf5a82d72e36234c8a77a331a4a146a4390d3490ec73d6dcd0300a7fd063220ee214c21e33e685a1df2a80e31c6f27039367d3845b4db369a15996ae71f254ce7144fd6a0ba55e248711dd6eaa459354efcefb2c7130a13eeacea8526bac37fc9801cacc12905c5902e6db7602a39037e2b3ce9339720d8903d733b6cea12497579ae5163004bfbda1b4ba8eccb559e2d8140e355 - -COUNT=32 -L = 2400 -KI = bf527ebc68962cb114de4fa442e01712f4642e326acdc6a20976f4c377f5749d9349c937cfc50b95a23fe14b884136e9f220c233634f46f3fa123f0c51099e8a -IVlen = 512 -IV = 7542093ed4509ee9c4b55e02048e608a32bdbd0c17d69123f01b482ea377e14cb36b2de73a43ed00d60fa410d84c4845b9c6d2c3808cf494da7ce93762d8cbb2 -FixedInputDataByteLen = 51 -FixedInputData = 7a8612ddf65d52e91b825748ac6f8e64d2969785b61031023128483f1813dddc2b6adfc9a36998552c8bbe3e6f1382c458bd46 -KO = 5d6a76b0a1fb785a7cbe2fe40aec7f273fecb27a6f4fbbd7c49eb4a0962ee4aab1e95b137761e43595158e498d447921f91f73b5d0aa1270411c4ae0f9a9f731bab78f6093f700254b3579e4a90be314de367876618729b34ed21e13d699e95c909bf4a7daee87a2682d5f9a255be71a6b0334d8c48b03b2500b747899baec33d7835659bcc52eeaf5c807dc348216e515feb42421e91940ea168537f64d271b8fe29def8693a9a975c3c45bc1d95bc0bd7a780234581f5adc750e6a8b0929a9bec81734d711bab47fb446681c23cd21c31577e463a7eea4e2de5cadb3daa0e2d7e4cc706ba79809864101638edf18f6f65b7136a7677d3bf5baa39361a1c0a3b7bbafb0e744fc457be50b392adf64c0ef0b7b00a6564fc1a885c87a5dae51008ffc2123a5da855b038928a5 - -COUNT=33 -L = 2400 -KI = be7774a4b4a0c8b42337226c005bc650180c400b2f8a7da1c8474c98b476e0ca188e085e558a6694ba77b56b6ae1c5eb9bdff20151cdba3bf9ff90030291a5c7 -IVlen = 512 -IV = 404c1e2007c71800b15d775c23d39c47b9713200a72340bbec0fc96be9bcd2b9f1d5295f1f35bfb68558cd87e29e04bb45767189cc5c8c3c2879830a64052219 -FixedInputDataByteLen = 51 -FixedInputData = 3ccd2531ba5a5c6f1a194aae4a28bb93268027098bd38a587bb27345ecb9c8e83039f638a745901df62f1289aa791325b5e143 -KO = a37a2bc272a5a3e7d20f399b890211cf430e858b635625de50aa263f978d5444e8d674e887c3490199dc663a0e0992bd0b0a089e6ed2b4dd595e7aab61ea71b20c09132b55adb4f9aa5608e561ee67ec016c9165ba3e0aaf2278fd8843bd9e14b55c1ed5b0d823094ef5570bcec0e570f2dfef575b1c8c35427933b9260ff982630312e5348c8f6b5ead314eb76f52d737514a6cf53d2513e91fff53c9bb540ff5ddde64f6bc7ac8eced80365d69b41858e5ec623d6a987a47c2356b053d99f36673c8c3379a562836e4f7aaff4d950723bd959ca734029ea467fe84147c3c41038f2ae7c6fb3044b9b59626d07971256561492f188b96616b068064f1ff4079a39e094d4f00c3c151f9694e0ab63dfb7c3ac0076371f0e6fee7d59fa9e70beb2c27fd2bcccb488ff4e53a58 - -COUNT=34 -L = 2400 -KI = 1f50c4aa80ad44416718f636c90fd2cc134329df2955d6d84fae60a027f553b19d450b89550a533ef1fb0c58f64b1338cca39047c584ce8c2cf1ac9cf0961d35 -IVlen = 512 -IV = a91b15e30aab39212f7d0fe4acdfa48815afea1a82505a3d411ae33314c794e6d7a6c826cc37796a037f0870030b3db4d06e3a1ed1f3eaf20ee14a826683e7df -FixedInputDataByteLen = 51 -FixedInputData = f5a6233ca82d88a4a81eeef91e8166e1905adf8a2c7e294c59b9a3ce3b40a698a0b14a8aff9b39ea215284ca04a447c1a7b626 -KO = b7815a4f384423cd412d73ddb05b72af6c56bed5954403f7ed2de86fd179723f268c1d2eb44526425083b585ef52369a257c42babc69ce8cceafc4002a1afcf958ed353f57c0917f6e771c15a1c36080582a586ba70f70882b0340285e9e313c5815353afe34c9254817355f58232393a24da89db16cfa30717b08114a2f51c0c1293e204338581735c1b33eb4a7ebed0e637f98d4fc9e115cbb642df19be95977b214638f9c58db68cf831513a98244cbf31553aae5fa301dad75368c88652268c5cc7d5048cd6bfd928b3cd5c91ee4b3c1e2e3f4329a540a2418ba743bf518de239b7c49f83767e83f568bbe8fa0dd03265e811f341af534e660133611496c6c2db0ea7f0bfce31597f64d6d1c3904e8a3579d016fafe0ac829b168065d3a185ae411b9553046650aec065 - -COUNT=35 -L = 2400 -KI = ad0ff917978c8fc44bae6db45ab1e135c062236b5c91af3476292a08e89edc4ca93debe4706b122ca90447c9510a145d067b9aa1f01fcda6cdc64aab11934e40 -IVlen = 512 -IV = 867bda2bb66a696d66cab70fe8ce4cf4b540444460f649f42818145e3eeca57625b3fc836b6c8392f5d5e67790a3782ff0c672e2696b6fbc0038b11703c0e588 -FixedInputDataByteLen = 51 -FixedInputData = a66558c39b7c9780d50c85d35540c248436d4d1aa503684a0a84b16220c11ca280201b1d993b0cfe80956537e8ec7600c8011c -KO = 0a4c65c131e37742c194ebdcf490d8e763dd5643b687010fe8326e9817d7d5232355dba679251da83e0c3086ee70ef715c828f9a04c2207c0bf42a53f66b01070ae1f7b9bb3c9fc7ed59aaf75e4bae15d2455fa9e5a043df2fb87cc977ded2795ca7d0f947fd86e280c4336e13cdf3473f4f1d9112117894c166d54c1022b121f800689055eeef3266d69d8b6a5c8125a5f41a8026881a0cf72ce41592b84cfae200e0b87d25c0e3311593e2b9f21c21aa5e617d4947dc28d1d083d11c9f192704df7c81a888d01f2597991021411e736a547eb04ff8118321b68d8ce1965f91191ad903c3140142fdc6412a7b7ca9a7b3b38fc8e2f05685369708e6d59ab259cef15cecacc748a4f11da32c7f5ae0742f57d779b8fd4fe7803627a217d402951f9fa48df5dfbfbfb4825320 - -COUNT=36 -L = 2400 -KI = ddf74c4e72ab2100b6890ed5a3d4d6faf2419e4c2ef57fbe5a0bbf0206b5a855108370460593d1a940e750dde90db05c30b726e86ca0bae10a9daac9e78d2c26 -IVlen = 512 -IV = 77036b425c2b84fa5af7cbc43e81efb4e91f857ff8871f6513fc0a6a8582e4e55c68699dab239ec58ea24a2f41ee5d21e9f9a7c378d21ad7608213b9e72d2e36 -FixedInputDataByteLen = 51 -FixedInputData = 20b253381a5db190f7411373ede0fc93f6b2e8bc85a558a0b807e3e24a46ffef0c9992cb46a42bc3ec12a1f6314e1eb47cbfc2 -KO = 0acbe8276aedc2b4b447801cf9d00d57d715a946484d1cc8a8e901c3af7233426fdf4479456bc6f54db528a4913c64c2ea8f9da3af388b6258ae54dc236376b7f3ff3408a4b8a97141e6446c81d89c72bd7d1e58dad3f61bf231dbd7894a9a017800e8fe62b5ac5476ac623403205fd746a537d808eca96c36ef49b4e37436c2fe03188a350c0c82bc5188c6fab9375a6e238624c1bd9c87836daa22a949341f5f0192a41b120c261ddeb1aaa024f2ee072560fbe8aa3c75af823174a5229891cd7fb15359510ba57e77bcfbc91841b54b174eb4342478300a8204ffc4db3366f159a7b33fd39f633c04f1fefbbbaf7506488ba994253e162df8e97dbaba427d75ad2e3982b2c585c8aaf8880aa38f91a1fd1eee86c3c0bf091e2c7e162230e48cfb5c4e7b9b3c3c045d8a5a - -COUNT=37 -L = 2400 -KI = 9478f3bea944f986950e8dc4ef399224edfc6c4a0a117ee4c00be5fcd9714ae5285c2b6f982017b84b6d70b1c90860a724b538810f1d06c89878128008c5da29 -IVlen = 512 -IV = 746c92d2d8d7cd01761b689813436f752c10b196d224cfdff0d3af9d02e0f2f5de36df23ff32bb74032a461861dfd01f20e675ad31d1499f1eac546e866aff3d -FixedInputDataByteLen = 51 -FixedInputData = 05366f137713fd90834d6cbfd98a4b503fdb71954cc3516c1d72f9168f18254df84600fc761000a2a8b59ba757553a9498055b -KO = 020fabf2cc9aefa6748f56423d64437e38367847e5964fc10a32c3fe3c8b7f323620acc422aa37e2a8e706237f27a4c8f198ff667853edeaabfcb1ba826a468dd06851f351f5f0f9547c7e7d9c028fddf76d054982b52e3fed1282cf9d749968966ab29383d9e152a6d17528d8bc1f27a88961b32a110f1c07077b9515a534b4f97ecf23cf66467b881722024095a891bd8b9adc7031b0e29569a9adbb6ef1e9fa0924436a0a7472eaef34ea92b9bb0fdf63ae2aa02239d195e0fd22d79f5cd487b587146c79e434a55a8c06088893b201221b5ffce090654031ae52eb7d8c84bd06bc65a7932f1122935c04913bcdc5ed2880eb28e6d6232bcf361d5da2e1d38fd6c6c92d712862b6030ec8f4f09701e1963fa0e06c524031d6414686675b5a45519a20b0d675ac36c62f2d - -COUNT=38 -L = 2400 -KI = 3ee39266e3b4614c1bce42d8afc4877657096ae869dc2087eece4ce32d9786cb737cf5cddd5e39d8ed978bbde1760e36a654d86b72f78a9f16cf79e899b50606 -IVlen = 512 -IV = 12b71f28b14d7fb7b848830a050f824a61e07bec0068fc80f2f23f5f39ddf6406ce1434f119eabf189957f7d9dfcf5b251b7043757fbf1695503e46c4d7401e1 -FixedInputDataByteLen = 51 -FixedInputData = 2692632819786323f6ec3cb733274ac1f5e5886ccbe3b91c558934cd92325ce194c76da78770bcf206695a4f6634d954d54833 -KO = 96a7f08c6876f35c14c6dde555e5e0bbbdbd4aea4c3cda154acc3342db755463336d6ba72586bba4363923b64bf069506255fbea4b1a4563694faac5caa3f1a18d8852719d8b6ef59f20d594607bf9a9696457dbfd8aee7c55ac03f54d6feb9fc9d73bdcc1228ed130eda1fdaab6b46454dc18c64691fb489bc285b512a9053352423baff975583fc97422745a0da1e467aca200aafa6a99c3bb3837895b470607b2e182a7cce024c7600f0ac942b0f3221a585c69be18a96867d51e1f67d50173706b8fe644aaebd86e36753ff2a07fbfd113872b793c7b110b96c8194b448b539253269f893fe56ebe0b1cf0777715fec663a6b5bcccd425f1d9f41d00031353379afbe2eab983f81f4640d0e2d041a6306d1690331d57cad25a212cb0fb22521ea8e9b7fdd348da113f21 - -COUNT=39 -L = 2400 -KI = bb8b9b272bcd01fd5b97a4dbba2668a8b459d319df65e9c1b54dfd7ba78959c2975ae55f2d31509e530ae5ee303a3e8a4d949798ab2cce137066660a0cd57d74 -IVlen = 512 -IV = 33099d6f0d870ce45280ffcc025272b1d737cf62be4edcdcd0a024879d6d1299ac69305d0dbd1041fca5069e33a1504449801f63842859a41cab4d6484e1c237 -FixedInputDataByteLen = 51 -FixedInputData = a320c4586efbc89a4b3f5ec9f999af2ad0520ea06b5d2a85b855d6629f75316f45372e20e7636be74a5f0136062c48ad2f33ee -KO = 11d6a2ed3fe3aa33c7bc3cc0372045e377f2df35fd0d354dddba5653ee4184f11674bb20cb506c82ba036110bde1860f88163df1803218163b8281938327b27daf23b5207a4e0523f1ace9c5b1b686126acb359d658db98184cc2d4a27cadcadc0809ef1054c50fbaf841f527fad0a08bd706dbcc661dfc4de316b6f3cc77814eaf4fd110f72a65df03469ef0d240528b315c0ec103341caae28de380445ccbd8b212d34cc8b7aee8d9e424f8180504d87a64368f172e3a25b057f4b3d3a0ff5976ae98f6200d44de0361e9b183099a425b54e1e970734f51e762767b5b646163ad4fb7a733c383af7798b2fbbd8e2f55ba00c8345e298fefe3687fd3c8db74908f6556ec8fd3eeab44c9aa769605a4a102a3e947ccd2268259e3452663bb3463afa39dc1f0b0cc7610e07f7 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 085e39a887c22c06a9078eee8c78d75c4b0b9cd17fdc4b6561733a5c9a6605fce6f6b189f9f8bb23f7782034d84c864d6164acb8a290959e02b4339b3f1a67d7 -IVlen = 512 -IV = 88b47cad61b1b52fc35e169539b5669bf10846fd38187d5419ed4470e9c21999369dd8643fba0a3d0652fa785c1400135effc0cd46a9efc2f25b2e4120a2baf0 -FixedInputDataByteLen = 51 -FixedInputData = d879e0deb85355753b712843a10adf13a962982c635302ab186af020c0fd49dd688f79113b813ec0a6ea060b55cae179ab14dd -KO = f5aa1b4d2bd9753ac7469c84cb409edb8a3d48ca13cded2160844309702df1b2bc3ee6105096d5ed44016ef689e78ecdd2768922a37a78a9cba0c5d49d7fdaa1 - -COUNT=1 -L = 512 -KI = 371d454a688cb40749fdb2b80e66e7c7164f9f1109f246d04ba1cac6b5bab77927da3b90416ed8350ac77559b9b1e5370debeaf0cc1dd711e06ae38607e5e765 -IVlen = 512 -IV = 64da6fce3c6c007c263088bbb3be6b573ed7af4dc04930892444fc7941019fa7660d4ab3c5f433ce5eded62aed9f565cd7f75cd42ea429b8929b4b8299cfae40 -FixedInputDataByteLen = 51 -FixedInputData = fe9ed5e38fe02eb582fc77897c2129e82bec573fe02f9cbd7926a499d2c706e51274183ecbe05a81f474f6dcfb5ce5890fdcbb -KO = 5538ea22c2073e8d00a34b8e683772253d645af3d8a167fcb7df1b979aed2f43f3797450c3bb630074dafa49a9c41bb405b82833b9c0dd9b95f4497267361cbf - -COUNT=2 -L = 512 -KI = 61471317a6c4d7496b426095e7fdd5e28984639bff89d5cd13f4a737fcb907eaa2f349d7ac9280b3f6164aa2b5d03bf3b0b9beb16dbf40bff50d1bdd725031b8 -IVlen = 512 -IV = d6586b668600e701a22f4d03702939040bdae9900ef80ecedc1c7b557aea2807fbfa9353d8ff0bb78a18b055c9a79aed801fce9ab30a06ecfa543342e43bf81b -FixedInputDataByteLen = 51 -FixedInputData = 570af3a090ceab1680e3f51174b091133b758789c330bda011612b0f876c587438f1f213921c78d95d63bd0b1c10d9f31e4276 -KO = 43d900cc1832e504610440bf8a38769ed9c5c64928caa71406f336731f3f2d2398b7b7438b48eeeb89fc039aa7b40c8538ad6c00eb335c0a4043dcee6e433c1e - -COUNT=3 -L = 512 -KI = 0687952d8134c70f6eabf2589690914dac196d17c7588b8045e7017ac7352475dd97f00a8f3557f34cb5b0de8359a1a1bbf221d72501c24845c2d5825635bcea -IVlen = 512 -IV = 38c37ef1e9bcb05202787c9fe8b455a4bdec586c6e2fa1a9eef36152edc86b68868387f64b6bb809730f1a37306aad8308705b6366b7eac072b720ae3115faf7 -FixedInputDataByteLen = 51 -FixedInputData = e04baa90c1788bc206aabfa01fd39ba4a828f19f964fb264899935824805bd5bfec8168f181095555b91c51eb7e1183fe639cb -KO = 1f87a22ae5cdde1788aa505089b41f7e89ac91fd5f62eedb6dbc5a104df2bdb66fcae1f5bc05517f0642e48f95dea87655d18a99e53f1c6f71ed7123daed186f - -COUNT=4 -L = 512 -KI = 35add0a87e9f65b28d7909a7a8beb94a11f137b94d2c1a3f38bedc686e21bb2a2df42d9aaab2f3f1ae7d04b0faecdc7ef8add8640abd5835460727a8c9059e24 -IVlen = 512 -IV = 9280a75a638996a73f2557052785c59a724841b4e19e7ec47769b0f44c4d6381a7d44b97d6b1f216bef1ec4e497f3c4d34e3444a2e1ad15d792426934d043b1b -FixedInputDataByteLen = 51 -FixedInputData = 31ecb35d71fde1cd30d74d702587baa9ef2b9e10f8e5c3cceeed110307b333c05800593ae8196beec4656bfe79527d7fdb279f -KO = d5cc3cf8068d0ad60b929243f89433197a2ee58e93ba17b2ff77ce805cd47a3fe021d71b28b4b802d638969fcbaf4db9f588d30f7cffe6cd11274a9867d7648e - -COUNT=5 -L = 512 -KI = 9ecdbb0419c5c53619d483215551ba909733e5ea4444b4209fcddf1c4c01762aa8123a8e07479daa16a2ce1b4569896afb0c561732d615cb1e55ffe1320b9b53 -IVlen = 512 -IV = 551ed4ba577770a3488b8917419f4b867cdc1be7b677984410f96613680e4d4b559a1c52589e9f233d731c46546b79dedf1ad00107898cc8b0b126d23aed25ad -FixedInputDataByteLen = 51 -FixedInputData = a95311b6c03f46e9122bb4d79021d5b9852fc398376f4f3fb296c9fa3b19cbbdb23f595384b349caddc728b7fdfc17a9312af9 -KO = 73697b4eb47e9da66072dd8f1fd4f67ee47f1963d3cae1d6705ccb78825fac8319c39f61a3933a375ccd3f6de7890c1ae0957d660d26c6113723a7c0580f968f - -COUNT=6 -L = 512 -KI = 23d8b13d115abdf971a3b284bd6ab58cbacf9e3319f76086ac90aabc65b8f17704078d247922422c9a1ddff860888332efdd2f6bc2a588fd70476844b02cd6b9 -IVlen = 512 -IV = 52917e6d4b330e21e9b133a69e7a4478a2d5cefbbd16ffd6b42d8b874169807e7e1f62774cf08545927f2df70e38962520a26a5f32c597233c44f3447b2b436d -FixedInputDataByteLen = 51 -FixedInputData = 0b5c200158fc10cc411992b19bade2f2043244f91e5009f63f2db07147594963396fe5ce2ae4387276e6453b792db06f2e8105 -KO = 954835b403517d625cc75a15aabc29fc37d8a211bfeb16d16e09928075961f1101a139aeb5ea02af4776dcb0a89c9529f7569a49a4336b65dfefabe2549820a5 - -COUNT=7 -L = 512 -KI = 5abb2f2f84d5819ea2f4ea40946f38ee87591ea3bcd3086848b920c24f460624705d842af0bdaad29f53a3e677c42d9e9e81afb4a18d2d2628313f0b582f29c0 -IVlen = 512 -IV = cceca84939e6ebdbaa585bfbb10060a8569808bf843eed582c7ab0db4255bf0cccf3f5c7f6a8e0c626d8f8e0e7d0b63aceb721d9a95d87efeb9d2ebbd6e8c00c -FixedInputDataByteLen = 51 -FixedInputData = f03d969da994356746da0ff22229bc673b53cd01a220e37e584be06f7385ebce450d378f48506f714209c14671fe5e9c116be7 -KO = 5032c66ae219ec22dc19e182053fd5f079267e2c4d36322f0b1fecf7c42e9b66ee9b3e4db0e68b76b3cac98fb1827df40c2d9baf1dc0a443311326379a999b73 - -COUNT=8 -L = 512 -KI = bdd5e28f719017f9e0340708c8aa2d66c0c7b9887c1d058ce6a746fafabefa398d307cfa857dc2479a015836e4bdf785087c0b15b3b6046669ec186204264404 -IVlen = 512 -IV = 77988cf68adeb1f3629f85839c183539b09475900e13cdf2c9e5afee4c6d13ffd5c470728d8ce516427004cceaf0bad6a0281805e022461f1b315907881922c4 -FixedInputDataByteLen = 51 -FixedInputData = 4d0d5e53bfb372d6d27f53a051737bc38cc4b704c520f8d4cbc62acadc156b6a8bc8236ca11acfa4277871c6a82ed80f5aa33e -KO = 5a75b5ece07f3bd333e53aa0c73eb0c8a002d104bde2d632076913ca768fe2045d51279fd2dea4f62c2578e5035a396fbacf7e458c61710f8e8e09364f7522bc - -COUNT=9 -L = 512 -KI = fcc3aa524a6423b7e4b6e6a7caba33eaed87c43b3bc2b0af0469025cb43e2862fba830ac331e746f2faa68d69f1dd7261bf4491685340b970d8c5e5df955393f -IVlen = 512 -IV = 1f8a6373681024a3a52a5e34f2574c2184fb8f832ab8da0a2cd5531b675e73bfbd04a5d079230665ea70d216b088babb90cb420e37105dde7ade326ee2318afc -FixedInputDataByteLen = 51 -FixedInputData = f1b06a57be2b6595b1f81beab8484ece132f00538e8b745cf8916808863372c1914a5f0171a8ea85278bcc8c1cd50d7c43a307 -KO = 0d7a4d413c7012e0c86e1805ee226d3c8bb949f3ee1aa9c7d2dae86374409ee22083f13fcb47238cd29b733f92d1c7ae7b503a5c21e80fa9d5ca76e5402c9a47 - -COUNT=10 -L = 2048 -KI = bedc89fc9e4f7d491a329718101aa3eb30fde18a167fb0a972545895b426861b78e9cfdcab086ded56edf97f0ed8cf08412755533c160616cbbf1b7538258c15 -IVlen = 512 -IV = 628be4009560d60736df4e97d1521996a3f45847dd37a8070808a34b7faae78e30b4de93eb7547039124cc114d11de606909c1024ef67bf84299c22273d9c5b7 -FixedInputDataByteLen = 51 -FixedInputData = a86c646021f71b81b8bfdd846984fcb4a3ea62227eb214226069363469e41a82e00790821c1f8024d1874599d9525653f8e04d -KO = acf67593d440c000e55c019d9710f8496d22eaa0039db36ab826d947f68ecd0bf92299d503380d9002c62eab143659310269b9624e70cb205cb43a42a0e6ab5cb56543febd831aeab8af47241d866c34be3e6f106013e5e4428d952598c0325f1ba54cbbc634c9fa0db638456f93ab860876f5841eab4acf7fcd82c0a38ae949a0398be9e918188b7ce14267ce013c59af70519bcca563bcbe9f3d82d1c49440dc7f95f400e4a4d0f29a2130a9a71752abd3de9c2510f7ae77a8074716dcc70d6638527c0a1b6afd79a427d06f983c59a526d0396423619b60e38befa3fc40025265828694b44edec0c5ae5cc1c077a77223e45428e4e8ac4ab3e7a2b44adc0c - -COUNT=11 -L = 2048 -KI = dd085bd6fa8c4304f4f0255b79e317bf82b9f743fb4b2cc3df536b87ec2e5d79a97bdeb4e2c8b56e25b731c246ef71a8143575cd7a1cb483bbecc804ed76ce65 -IVlen = 512 -IV = 1056f691299205790bf0abfe73c956835f0c29f2bf0eca990c757c708547efbd649ddb307e285561cb6bf154b1003cbca7ec2aba0506f6ff849aa10ce0b42ceb -FixedInputDataByteLen = 51 -FixedInputData = 04076e6e3f30ab9ac98f8ab31dea3bc14b366c7cc17e8cada16baf85a9375d95eae48b505d15302a12e3ccc16118ba84e8e935 -KO = 7f0133e50046f86b5be901938cfc5e53851317437c8a4b00b485c288fc226c03320e6c22b4e82118826cdfdbf93c502648adf929b83420a64d4009fcf77daf73170b837cb6e4bffc91889d5bcee26904c62916627767db0817804dfde9609d69c3591f92cbe0732a6b664c572fcbe78238ae8aab01a9e842817f570daa0409a94799b4ce64d3c59d9150d133fbeafb8aa179ddaa9f5184e38ac124f4d8cfa3e78e5398ee02410df4aa60314f9dba434cea57811f824700fbd896b3897998dced0acaddda2da8ea100a3439f2e12101e350bdc3dabb088fec93a81d0bb0d12da6cbf7cd9862bd8b718adb6cb2e61313daad35347105ef6b80d3cf2126387ead85 - -COUNT=12 -L = 2048 -KI = 39fad4bff24a9d7bdfed120f3c826f5ececf3c65207128470d56ea99148c99af2187710915208d61b1d6c66e8381e5c157e1c4f5fb4b37e983c0786a578dbd41 -IVlen = 512 -IV = 7323bc701cad5255b9b87fd39890c6e6dd44a5907db52f0e62158686f1480169ed1a5d73c2f3c6c1019e1c1aa24819f54b471b104effab0df91934163e22e573 -FixedInputDataByteLen = 51 -FixedInputData = 4c51ab36cae9d5ca21c4eeb8e98c3232ce814b58d962f448386c29f8c0d2610192501c471c5fde5931ec61efcb0482690a8ce1 -KO = a17d87688e5298faf4214250a673347ddd4922c32aeaf4a119fbffe175e3e9b7fa8e49f47c0fb8f92edc4ecfd6c88e5f24e91f1b927dcbd42cddc27a88561dab795830732c8af1bc0673642fc13dfc81e1ad04c2f5697933963803a15600404afed48b6eaef14ac103cd51a62307b70f16d406e56ae792b198a4dcb341f2a26412019a3584d75078e70d2b5c4a7ae871803194e497ab3cf55d414df4d99e97a18f40d35930d125be7482b5d59e8a24c09700424d417d16957120c71237d7b0b9e14bd00c6f999c407be9e888b1376451e6a107030653180147b05e79e9206becb63b4696acb393cbb83f62b85619d58613e9151dde1b45372a9cb924b5164261 - -COUNT=13 -L = 2048 -KI = 1af6f0daf4307d0011613382da8a9675aec2300024c62d6a9c1fb54f97c661f1592782d9e317041206e3b92cb78bab0d70622acedec92a0ce76d9079a85f5ca5 -IVlen = 512 -IV = 0b449fb1844c5012706b1ae9b9e589f008e46ca94b47e986ce0f02bad9ffcf58249c9ff62a6096ced47b599b8f81fd39e1b8e67be1c76c34fb6b00c3a5e9c375 -FixedInputDataByteLen = 51 -FixedInputData = 5e7aafca686e02894eb2a41c2f359c7ec5dd01a4f77d7be59b1df1ff28ceb1603cb8f678d9edc743a8b9eb455e21e1049fcebd -KO = 63105c7127d9e50df1a716494efa4943937029a1f82ca8f5fcaa5a895ff07036ce36a7a2f725d0c03d2cb7b3195984d79c4663a62814a3af163ca718d43e60168a54fc8bd5f93c98b0cc116bb46029fa33076069a91a1f2ddf2b6a724cd7a6bc92e3d40e6e06443fe05a5127facfa2b0d557f5b0c73fb235b7de4e94992a79d21fa46aefcba8f906f9daa484b6f118c5d58c975a27fbfac56969daf9c0053374f9185400de4acbcd0b3605f74455830aa82cbdbc5b9f1f7e367dc2aa578934922dd118c6305b62d63353e440c24c32539f76f6fc2e19033aa8c05d89901c2faa89929c6322abb9da8d7461df815d605da50a075e5cda7142ff5fe5f8c5a337be - -COUNT=14 -L = 2048 -KI = 64bdb71943b1a431aabc17cbfbb92ac799482a7ac3f9a8ff487cf110dbc8c56ea169470c81fcaaf76c12623a27046551d1062082c61ef0329ea91176aa59a0f3 -IVlen = 512 -IV = 54c6095a493969d3c06e1fcf366ba24e29b12745c8b9608c22554575fb209b2e73c2d639f944ba3382047ba5442a95589109753ac44eae736e708bad1318c7cf -FixedInputDataByteLen = 51 -FixedInputData = d6f4c80e3f9aa64b03cd91e98756f3812cd168687678b9a50f47290003c8d320cfe5d54472fd0a600dbe48bd67f81010fb2c77 -KO = 99d0eba254f2f5b1f07121960f78ca17c9d12ab3410cc8fc2295270af92198d7e3f78c1abf40b584549c3a9a7b40574e3a11b765362791f41a9005fdddd441e7653401708f8bea7dc6db8ea53e1f4d845b2ebb82f80eac3d16c7c9bdff8c04674aafec996ae79140741f928a53e5d476c0fbb369011190066cea8ac17120381ab624d2c939de2623405e01c13fc01e5c8e59fbcb571c4e56bb80f666d4ea0499905ba2f2363ad1ff68585ceac824b0140bff9165558333c7ec2cc590d527bcae3470770b75b99fe14987c7c31fcadb9808463b49c851084c6a283ce5a0c1d4acc0893aee99d040bf9535bf63f8601bc9f591aa9775a7445294a9fb7b596afdce - -COUNT=15 -L = 2048 -KI = 90dfa076c19b7e71d506e45bf299f3a108e3f4ccc128727a71792506e52a93e5b60e3c893357f75f00c5e769b6a5cc8d0e95b33ec62507ac53e40e2d14d6d13f -IVlen = 512 -IV = f6f3f751e80a962efb1349bafc42ea93fdd5eb2ae5d67d4fd3a9543c4e6112d6f01d42616a379c1a54df28fcdc41168286b651b3b7b9151595dfafc8e16729d4 -FixedInputDataByteLen = 51 -FixedInputData = fbaa45d9428fd65853b3e4926ae8bbac1d3ed3b16045ea2900f8bc34f2016d1a2603d794c551e46bb6adb404d90dca5f955afa -KO = 90c6f7c224a6f49472a0b7340378cf25cf9a503ff6cf5ff6ded6fc60ca310297fd149bc8fe01041b20e7a9ece8a289222dd5706f4126b51bcce64a1352f4881993ce65d2af4c9845c24696fa130059de53357d4f6864c8c839454471bf028a144286ebe89f1ec41e6d2f5a59bf149258ad191c3ab1a3a4f2d40fe35fc49ad9b0128736e9ec0d4785aa0379e352bb249c5da03e7868ed43d676e12db542228aee724f1205703edcd9584b9edee6109e0947a48de148cbe9db243127502235991cf8353a5cc9848828f19bca11e2fde82775f85e07fdba2ab3cc0401fa5d0ca132f82615ef33c1948a512b3f4e543d58528023e367fd0dfd8ec8a62aa2e7bf79c1 - -COUNT=16 -L = 2048 -KI = 7678abafbf38d2c8672c030b90f69b21c6098c3c3d4bc482d6f4fe2b80e8ab9556aba633460fcef1c882744912ece8cf2060032165b06114b24f8f1b5fee1c89 -IVlen = 512 -IV = 8e399080d83ad70b59cfa28854d464d63e4ca2c6e99b6707360337ae08db2abb04ef7cb686ef5235bc5ee76b93ee0709074fc071547f974910d13b15c1a799d3 -FixedInputDataByteLen = 51 -FixedInputData = b67d424691ac5957711c6384bbab96879ad1e4c361c7b89bd06d801dfd63b576a46bf4e5c7fe69e47c2796d2f60589b45da529 -KO = 51caedda2f0e054f6e6d790804573f23af6b7c681b1504d6964680e9b570f77c4573556208274411040771b013f51ce86523a21670b4a8384b0c1aef9802212656258f5f15d9015100eb163274cfc69c6e2942034f772a75cfe2a2449f7d263acde565c61a85f5b8606ca4e108f24f3c4f575276c69f76f8c8537df87327a43a3c4858ed6275bc5c36c07738767d65994e7802f1b7f41b938e7c7298349659bd40e049f9f9dd1e7a9c47dfab31e0b5c96dc2f617adb500ea3b3f22f0435c15f480b649c6cfe78af42d2b2d513ad23eebf6ad84f138d7de417977020984c2f85c0f03812ef94b7ea027a046f3ae5d10782cb7bf900355dead2f72623bf87cf425 - -COUNT=17 -L = 2048 -KI = 6ea8d19bf8ba7ab0185fc15ff99f9ca530d4588eaeabfcc8247eba2e173a8c5521715afa6aeb974a1f12fd23bf0bb542977e04bfa68dbb3dbeae145cad642ac2 -IVlen = 512 -IV = 8e34bd5e1ebe1c366d3629633b417426ec71b7cb388cd96f0529f35dbba2ecdda52cba0d088dc4a532015f6d21749e9d8bff14c69258f2261af67b806fe984f9 -FixedInputDataByteLen = 51 -FixedInputData = 461c6e4c24649bb42edbc0436bc3be18003e281411f51dddb7e586546eb9884eb9531044f102d27e5f9675d16c7edf755cf293 -KO = 3e0c9254c0ca11a0ac996042f234a6fb5a479dcf0ec009657fd0d0ff870a1b9e732a6ae037c9020ef07ce8220744b1486932d82a42229c32c905aef19aa390647fe05fc2b5bbfeed7e94c61fd758ff15c5ea83aa9b0f5dae4d682b32cb58556b270c6e86d0edc0da7d98de66ad8b06d354a6d3597c1bb7584c01de3235c1de971ab60bb47ee437991832b9cf0756cf075d524219d4cb53c36d60589b9d88dbff5a3c4eb7d099efae39d51882eabd6dfc86c6ac788068317e7e8df9d39a0b8190e5abf1eacd4562d71fff9dc5d5fd1024d3ff00f17d116b7a8b2c50235a410254e3b6632958252e0bdab44775278a8609c4c0d1bdeb818c492c124e4dec8a197a - -COUNT=18 -L = 2048 -KI = b2942a794294e86041cd39a54bacfa2829749820392ce8534a8300278a72100a8c98944195d67c3ba6151d8af045ad1e9b23a9eaf6c32553d7480aeeb592e61e -IVlen = 512 -IV = 8128dd0cddd672605e0666493bb87b64e43f0fe3abe5f3f97f8b0f6ad3fa3d76952616f14bef951fbf50eacbfb553685d8231fdc293ebd29178fb5f3cf0feb6a -FixedInputDataByteLen = 51 -FixedInputData = 5b8e137b7927dc3ea775ae4910475fbce6a9e93598b64c090c5c111f0aa70ae2bff0105cabb00bc399b7a83df06fe55330aead -KO = 555e15508077ee0e1fed61e12332bd1be1582de637f8f59dbcaf113c3b6ab8e52ad3aaaf69c5f7ece3f599408d751b89a768645e47677874f0697733b6b070e070faffc204c6682d8a28b865594c1ce9fc31d00094cf0634f1c1779b5a8abc70184369b2b1174d3adef7e03d052b999c8d0c9d43f9dd5f59498b9ce1b920e9a1377112d2d2fce58815ac4ed9575e7fe5bf50b69e6d68ed263d7334ff97290d12dc068efbdd4628c442846127d1d92343956df6fc1a17950cf737afede4e8fb5f86b1b680e905e1629f82e40ca84ef45539ddf99b177ce1b17962cc3ffb860dc6654624ae4fba1c1f9f69fa6642f1d251b54cbdc801456280e02e823171daa084 - -COUNT=19 -L = 2048 -KI = b92ca6b98a94b0c3c705be12691f7ad05ce860a6632379cebdf58e78635b8bfb7559977a7480721b2d3239c1ddd4489ed1c53cb2aaf22cd5f12063c3ff1d4dbb -IVlen = 512 -IV = 9033c9319d9ccdd9a8aa8e3c582340bcb5bd5a9881e3a1aa5e91334e82cd50d27bf746afe1270a21a2f8268fe57e4b573809d8e368a7622382cda9e4c4cdb9d0 -FixedInputDataByteLen = 51 -FixedInputData = cf899b068e756cbaee4cd62a18f512dbf218c69a4e44f4bf5fe60478814ef4d79cbfd34069626a2fefab509211cc8995927b93 -KO = 55c6c8e33fa9c021ecf063ef2fff6ddadde5adc37f54e5f5f01b9b3c3613ad5033e7deb30242ad03ffe98279f97f6db67c3388a17a7baf74b1bb9a7331d55cba5e04278b1e56c524476ae29cf9cba8f4e753195d3bafe5607049ac0d75ffe8e43c17e777eb4be8699fd7f5d4c8f313e3672c42cb133261a1e3f8ef621ac826cbec6ee4549bbece00e7a7b2227e27d06c6bcbdef7fc1c112d2981f44ce9589414d8c4dc0a1d680f1a596efcdb47532171241b2a6648b4aa4923e5e2ab9cbe9264452f86469a72d074b4ca033cb9351b094e3c44f402b0626d945078654cd6688abd7e796a9223b5438d1a6dc166711afb7623ed01c3296cc3746d3298364e03d0 - -COUNT=20 -L = 560 -KI = 8f9a4d478ef3dc188e61ff4bd0afd1f46069e8c121189c129ed12f06859ac4bbbcb323804f6395032399ac9504ca0babd4c5ceac24b078e6a6f37ec4eb66126d -IVlen = 512 -IV = 4a204abf20a1ee0d8948c936aff25ed07547bbc13b8142cadadad72ec25d9336a6bc86518a95528524909234d30459c91edbba2df91b291a7a5e4b98b3b13256 -FixedInputDataByteLen = 51 -FixedInputData = 29dce520a7cbad0e73d4abb63aa341312d24f67389938b3482c59b3c50d48d6e684eb098f27b2272f777e5e9851bf770b23882 -KO = 231632c656dba673cd11093f5812defdddad3d991c9ab999dc624c82cda5abd73017150e2215a9c8add0aaa3bbbb18f961774b7ead2df907e3d4eec5472cf8d46a9407dbecfe - -COUNT=21 -L = 560 -KI = 4b9a20afb8aff521e4f6f7ccce013e9af22779219aafe00de3cad314b948ef2503521e0d3594077b74f786e2338cd9fc455988f0482d17e5717abb36648a7584 -IVlen = 512 -IV = 491ff3680e6d1125acd378ede019c7c513f85a69d870471ee05cf9bd097dfd834f7facc1ea80610f077a750637f9b808768efe73092f10ee07b45ad2e2e9bdd3 -FixedInputDataByteLen = 51 -FixedInputData = aeab50b1ddb5375f25e9a1421b364d22f7266a2c0f816d45f5fb2bc591663f92afe624277451ce50452d164461eb5518d14f06 -KO = 4418d2d39ddaf8abc079c9f36341f2ea9506639b5bc306d5783748385f108e286735da44814ae01ecf40d44aec9f3cb7bc5f5abc990f901dc7ded5cbf42f58bbf5207d802a9c - -COUNT=22 -L = 560 -KI = 50a59529bdd1b2fc43a31e215b4dfc08eefc618d24010d58a25245a6f62037060ceb5099d3857be7ec790b92a7cb907c4979cabfbd847964c3356d08da7a0eda -IVlen = 512 -IV = 9beaa9aff3c61fd6c891e6d0dc7125461f4d3a584022a73b539426cb4fe2beffc5b853b5b9deac9166da840a573e10378fc27a26f3417e6397391e425947b720 -FixedInputDataByteLen = 51 -FixedInputData = bc143dcf199a113e735867d7c86ea1037c59402f6f66cdc817fe94b90e80a9cfa862525b60aed9754fc7b2691ef72ed98c6626 -KO = 23f7e0c8f5269de192789e85df8a7273a52b81c0a0fabd7945850d7709a9102c0a03fbde2c7be6e8b09beef8fade3063efebc6b1ff3c204daac2a71146d6b427851c933d4e78 - -COUNT=23 -L = 560 -KI = be879fea2e52f3dad1f8a63b5c45879259c8a1e468280df5842b2cd5ea3b7d5f9e0c9a86192e8fc78378f96ed0c46f23d8001cc5bcde5cbf91da2e639a24307b -IVlen = 512 -IV = 92eed21406a752d8cfa2027819d2b10231d379f8fc58989c175ea126320a7af696f7a5b53e3ebabbcddba5a355ac708b31a757e7b480df767eebedd0ee120c2b -FixedInputDataByteLen = 51 -FixedInputData = 9c09c9c704e3f2a591bf89e9a04f70e0adff338003a7f9e921eb9c24fa91760055f351bb3bb18b2460d93571143e19ec36bb71 -KO = 176dea0f221200a018d1f58d0a09ea27efc3b4d191bcc52b982f8008f686b12d7dd0a730f00bf8f717427ca0e1a369c30803e7af15f8c8778308f1530560f0d1d862c38b8661 - -COUNT=24 -L = 560 -KI = 0acf6ee85025776473b44a3b3e4a7afa782cb325ce3595010be8efd1723a9adb01061fdfa783f79c3a0ab8626d5df7dcb0b42db47c4348f42e2f27ee0288021d -IVlen = 512 -IV = f2d04f8c729ccd875166382fe7320fd3a17d9eaa67e4656b71344f4e60312af5cc75d339dc511a63e97fc938a787c20007f3727e25917f8aaf5c7b9815511eb5 -FixedInputDataByteLen = 51 -FixedInputData = 52482cc96abf20306cf92b310bafcd5c740997216b8a86d8e13d64e1879e626a199f16e3218df390d84a806d33d3212a98db14 -KO = 57eebe0712d2c70af5217de5fcdf5a633f3adb938d195ce22d069cfccfd022fc55279798ebf385a31b6059d4fe3eeab98822f28c28b6d38ba7ad5fc77dcc8203a8bb6f26a520 - -COUNT=25 -L = 560 -KI = 898254144bdb69158bda99b45559c16d024785732f49f64b975b0c7a54a650bb1c80277dee5f05509ef835f159621cf8552cfbca32fee0715f1586876b0da816 -IVlen = 512 -IV = bd8f9277788e87243d832df6689637db9f595eb39e421117a4c9263eaaa4852e76d95f9937225ec640505218a682fe7a412039098e79b469876af4b67e4ae305 -FixedInputDataByteLen = 51 -FixedInputData = 29bb89280a2f8f2016f6264871da5cdfe72c6742035725e9a3889470319c340289d0dc3c39989a271ab08bbefe3fa15baca926 -KO = f16265771a68b964779f1fdca36de01b07414322a9b119c09811e062e6cf046c73f49c7b8dc4adc14d52fa9d71b0b1105c67743a2f0fac342401fc752a14ecb33fa6d6f75f33 - -COUNT=26 -L = 560 -KI = d86e3cec91ed773297d4f9a41bb7f808588f57d220c101598a86253f930612b621814a8ce1cdbfdd098a0e5d6f4f67cc0544ae4710dd20428d57633e1fae0015 -IVlen = 512 -IV = 2e49b341415306bda374ddda886908529e88cedd4b4753da346143eb31d83be87a12f3237dafe8c7994ac78c0d6804f04a39736fb145d367b3af7fadc4839c66 -FixedInputDataByteLen = 51 -FixedInputData = b0d6d2f03824a07d3affdc3157f2675c93afe51c577865b2991c3f400fa355a1dd12f944f65689aaeaf43160006695bbd0ef89 -KO = 15527cf0a04ced6e31fef4ad2a96dfec15d78ffdc7d1fa508ec714da608cef43abd4e1373151eaf219074798a7201169b7175fad9d2201e992546ee24cca3d90e3682b5970a5 - -COUNT=27 -L = 560 -KI = e9ffcdfc3802acb31db72e254dd5e16be13eda77f38ca831e76ed20dcac681b6b5e8f021c3877a82d39decc28a9ce368d84505085b3090ce27d552e21dc3814d -IVlen = 512 -IV = f0e7b86e26c5cb078a88e3cd05f6b8a3a706cdb6664c9b88693a354205e14cb15fe09120579de4e0a70811f85ebad33da121f4dc0a33bed0ef91bb87db2595d0 -FixedInputDataByteLen = 51 -FixedInputData = 42c2500a9fe8abb4c0e648285614a1e74411be91128e014201e11fdd1779f4b6fbc0d93a25ada05f20a062757d04a9b986d6ed -KO = f476c9e433e7593d608375208502c721df651d0e1e832e00acdd7136c5bfa4c0ad52248587e43dc986ebf3b1acc13ad054bd3c5e928bd01a543112e668d2d0e7ecb3defd0c3a - -COUNT=28 -L = 560 -KI = 946b15ddf975e2eb09ea2c82ad5e49d8e6cfd49fabcdbe70c3c3b2b9915025710bceaf4a2a83702b140e1057ff3727c5a0605609ea95735f6f049c20ee61ea39 -IVlen = 512 -IV = 80d322fe16ce717afb8342825a50af6c69ab335d03f3eaf48af195ef83d2069908968cf79a7ea37a242009f750853861a63f5d1d780944f00df3735d8209402e -FixedInputDataByteLen = 51 -FixedInputData = 3990664665d67921548a0834f3b316abfd4cdf0b7637d5c0706cddae0fcbb7a46690a0c702a2354d76b8e0dc2eac652dd3a84b -KO = d947722532158db356cb3a7f0079f3e6c6c5c6602ca7d8c0e400a50d70056ef551b7dd605e92de9d86e9526cf9e0c6e38fa250c6874f3cbbefe67238c4615011bc4193cfbb67 - -COUNT=29 -L = 560 -KI = 1d710a65c82bd006fe1dc877f198f680c1cecc9238bb627c7afa68710f7c3c2b68db18d601eb90ff9c940deaec4f17b3462e34cef295a790b6790c9e541d7df0 -IVlen = 512 -IV = c32cd17c40584accf0802fd2829d555d01b399ecb788ea26514282437c14e6fb42cbc50317ba53282a9db7e306e0d47ebd6e8b1798ce90fd840d71ddf163b746 -FixedInputDataByteLen = 51 -FixedInputData = 5e0ca7909e130f369f6047b78cb9fa876e398530b47c910941be243f92d4cfd3adb864ee45e17aedaf418930425e3476b95094 -KO = 6b907d90599a044baa231dbeebd400dea0750e839d852e77a4e452a9849e00fc249c1713ea02af233de3a51f968290840cab42b1ddcffc7a2f3cd6f341057e28b76265df8595 - -COUNT=30 -L = 2400 -KI = b42690d8b0f972480953e5c59fc189cca7ea182c63e6f97ddf26362fbc167238f656a6b4a8b531edb59925fd88df59fc6ada41edf013d159b110ffbfcb28c2a3 -IVlen = 512 -IV = e0acc93d38c771328893666155301dd06beb655e533fbd2f7accb05090d9e7e4a359dedb86f4fd926d69030bc560ed2fc3b4a6ce3ad1cbda0b0938d775be14bf -FixedInputDataByteLen = 51 -FixedInputData = b617db11dfe98477f704b633f7190ba628ba570cba6b11bb1825f152dd9f20eb8a223a94c93194cfdcec3c11c410b8d2089b0d -KO = 28b5247766fd6028ebbbfd44719a2379bf496b29afd4ee61db7fd6b249ce7d99becba693075ab2a229cfbaeff5b556f2de702e7e9624a1608deec68cae076e08cadc80931fe7f3a074342dd4f988cb218ebeeb24ee1fc540bec37b03b890df9afb2a70c820f18fc53f31f824a2a564c6011946d64b0fec67068bdaa4cf62da41f42167d128fffaa6739e8a2102e8f550feb1b13f6c56b27321390767819c407fa6395944155fd288ec95a0001d1228a71782ced309b7c1d784b8ea3d906776856c9e9098d41487d9aa4b085e752afb9e5626c11614ab6127b2800c683e22822a618a114ffac97098401549cc8a09f10327a25320496b8bad7e1c516788f8f1d8a75a18aa0b5cc960bd97b9f8c7f1f27c14e44c9e489e13c8dbd92c68145719ebce9f85eef4762875ad48ff74 - -COUNT=31 -L = 2400 -KI = a23cba0de0f22b781785c64bbcbea19a53ed56f56dd3a314b59431bf45042d3c4adba85f7fc294e0d0ecddc1183fd0e602ac7bd35bf05197a2a5098863f2ab07 -IVlen = 512 -IV = cf0e17e3b4b5562a80f176c589c7574d81f0ccb63358d172adb7699c61448a2c325fa896e809753b8c99273da4097fc5521ec8dfd6052cc9f6b765b239a715b0 -FixedInputDataByteLen = 51 -FixedInputData = 5099e179a8025a37ae899d3e4b92bd81712ee7fd894086ca363db7bb882a405fbc2b8b85d5d2b6680a6104a5d634c1f58a9f67 -KO = 1ef6a6b3c7ca597632554cdc10978f76b0cd4242efd02bb50dc7f3ad56b77798b3afe3bc14818706bde0c0cc0e8652ccc1b8eb6d76a3e60068b32dfdd9364e0ba84e57d3777b7f3c4afc2bffb457beacac7757d270fb551df264dd1c8e975aacb73cef2676eb3e06f7b375e3ba1fe678d05777574b87e318a45a85c1c702fdf06855d8612d506b24cdca0490768b24d34d3559fe581602c4a2dd6e0225644799516ea357ce0f4a6019ed1f7b54dc6fb319275018186452540d7e554e2ed0f6cea996371211b0b37cbd71bc5c2ae4d939502dc182bfb4696db73cb44bd832ba4e98e7f102dd727b6b5c9e0f1cd6bb06d9669c04049a2194d8e93f6d6987d56bddbbfc1805f47a1cf62c4bca3a4653ec67f2c440e32dffae5d1efb71025c910654eecce8e47e000d966bc0a0a5 - -COUNT=32 -L = 2400 -KI = 29c679f19249c696c94f3c3fae84385db4a75611b2a71e50720a593d9a9a13dbd603540a2c64568ee9e2c370051e9371cd7fe9d8454823c666d6a32e30dd2d98 -IVlen = 512 -IV = 4927047ae88a20e23340346268f63bf4644c656bd6324d09f990fe2461ebae4996299afb73f8b0aae2e05389ce82e76f5a24de0f1f11dc30b101bb8281ffb93c -FixedInputDataByteLen = 51 -FixedInputData = 264e5faa749ad02dcd1cacf6c1a8c4c56883980b775b58c5baa6699b785237a7f6ea7ef136e7e2c7a360dab78e05ac6b8f6d8f -KO = a958057b69369b70016662d323471b2d4b38dcd1e9f7b065e1f0ce4866d6f7e075bfba0d8921b5b2e2dbda1a83c292177ef4e3aca2831d715362e2fec8f9ab88760739f87171bdbc87362cf30e88df6c1f3c7d9fecce3cd92ef6949f8e3be996f2226726aecf565e6a6727cbbf72be1d4d064c7bc01c5df4ffc620fa5be14073c9cbc8ba5321c4b2758f498929258b762b881abda3b6d92b9128a7a0b87989cc36fa25e2e54ff9044fb10b4b4a14ec275fff2fb8e9783b41ebb086f1feb92ff61d95f3c03810882db52b162710a35de39573c780f2944b4a2121e70ec47891ef5821094aa626f6bf69375b565630a93b5efc839ed646848418be7299f09a44b1587b40ec7fe8a2cfefc733f6f9423c340c4a67fdff8f96743e1266c2b91705938cadc54a5362417ab7edc886 - -COUNT=33 -L = 2400 -KI = 925cc65a924ab6b6aac2e9f3322992f1c26c59e90421779d5ce4c3bcf85bb6e9aae88d29d1c50cb9cad64a3b30be4491e9b4356cffda0cd872a342bef53c8178 -IVlen = 512 -IV = 95ac36c1cd4713f3713141255e7f58db67a0153959f382e9763a0468e77e8f006a54fcca01eea9998bbf6852e782041f3c1fb84fe8d89270bdc2ef291356d2f1 -FixedInputDataByteLen = 51 -FixedInputData = 2e05f403cdb8fe5f438d48b1d791b991968ffbba4f8a3452f303c45011f3c9c7bef65c6e56efaef33f07a94a92425facd3159a -KO = 159aea720d243e16bcc616ff723ad865bd68e0478e42ee9e1fd400ec8f89877919b3f89ff72f0051aff697eabb54991205bfe8797e5b4653f1270ef5c087b72a8cc0c1d4bcf032133dee54a5b688d48acd35e6d03ef49ef53df77d38d099e0bfe1ff539414707bbaa1453c22533f28ad982179e4ba8dce65305d241823c8628afc38d208de4862a213ea780fd93be05c2446884f513994c24792fb516f73aa4955ecbb402d7af4a332792e19b3bc8a11922ae9c2c08c25fd8f23f2367dfdadb90b890209b21e685fc096921f9bdfceda66a35ab341488917191995be462c49852aa2c0d5a4b1b6dde627097872584fc820c3cfd0280a5f87547a702de2d86e4fe6a2f49a6cd0e29bdafd71fb740f2a578564bf793ad8887f15d6de861cf980084291c7c21057a0859f739dad - -COUNT=34 -L = 2400 -KI = d903b5d2ac2f510b1dab7d0a859859c5a7e5a22396e1fb36fb10df80c6990d5b5aa127809e50436bfaec4014d664d776f2e0a248f1813bd8a83ef5bb3099c500 -IVlen = 512 -IV = 5e5f1731621665421f90ba927a443203280c080d7f789a6ab428dcba0229e615af78da949cf5aa198bf345c7eda676f0bc8c9064a5385a4d460fa6dc3af20d5d -FixedInputDataByteLen = 51 -FixedInputData = e94e7b3b2224369accf298dee625848a033b3844a623b10d9811ef960a94979d60988ec0321788064fb4d886655ff2849db276 -KO = 952f1e11f7c3ae353a2657357ce369679bbc6e940cba71447d17383a66fe3c509983a068b782386ef939e5e90cf451898fb5e44d8c1c9eb7a02a8563d4e61dd96eca13a3bdffb4b12d29591effd4c4ea1104bd00461ee0a5273852e0ba2ed14872a11f23af6ad22b9147cefc34907e9d42727053d4234217c0b96358fb6e4139bfefce410cd0c6a690c084c2d574127934fc3ff553aa3d8f2010993b31f2a11833f70b3b1ba58d6a1ba96c36e834c8ea4296fcf3a8e8c0157885a2ac98e3f0c7117661ead3c00824cab0e873e8c67010ba4735d8bcca147d7ad7509434ee61c666b296fbb75d2bf1ba62e4cebf2a1478fc13c971da56202c91393fc148f5a68b02d3922bc240a80c04d66eeb0b01d5d34421f5481acf0ea0384b642a7a4031a9737ac65e7481b20baa439f06 - -COUNT=35 -L = 2400 -KI = 69f2c62814d751f8f56039d9d01c6ee51b346597bbd52810807a289e84fc218d9e138868818addcb858779c1bdef151b7f27dad50d1bd0537ca1a0c3448c0388 -IVlen = 512 -IV = 3e1a91572c939c17c4459f808b6151d856ce49b2596d3d4fe26941f656ca4e3519381e4778f56e1dbc75d285a76082831b66c400f71a7af2f943747fd7a8c164 -FixedInputDataByteLen = 51 -FixedInputData = 441df302aaf80396962dad3ee502bd2ec3964e1bf7e001605fbb627fdbaf26438281a2f40b55400876c86d2e552c0bd1e7cee1 -KO = af7ac1769da067ee5177e675cd2cca051a44c3eb83946dfedbe5cf9d78aace97e7e5155abc0766d84a5663afa5ae2b819e2dfcf06f930f4e4869ea0fa723223108c46a895c2bf6f8a7e16c4eade9ce9ca918d810c4c7fd37c376a89b7812937c4212166140aa775ff818db966a352c24f40e5f2b3259327fe0060834060d671da752a8c3260f81ebcbf21daa7b298c97b1c07bba46e316cd549a67640986404cd8352f41293b62093ef84fe736ff90d108848c410649028ef9dbf5f71bf3d5852ae3d15e2145a11eba3fd31e7831d49cbc0a6b57ed07676be21fbc5d453d722c6acc599abab29fa44eac47208265d2e63079c97e03d835f46408f15f456cdfeb788d00665a2dd9a5f657d910dc597e072eccebf39918c3934e6a4dd76820c8aecc8ce8df43df95680b3fa0fc - -COUNT=36 -L = 2400 -KI = 25ab54ce06fc849ba5639c24ef58cec3c64efcead0e0520855832772d2b4c69b0fda6c08d528d1930cb0d3e7191dad6802865657d182ac7e4fd8131fe2a2e306 -IVlen = 512 -IV = 079e2975b49d5d0799f56e15919c4e266a6d035dd210e3221655156a5fc5e3758085e9ea3aece019e65a13bc7e2015badae335dac1e50ae3c1fce691a8b22398 -FixedInputDataByteLen = 51 -FixedInputData = 68f29ae6eb92ae8ce83c90cf81af379c09922b9effe3a9711dfbf615bf2ba82351c172f2c89e6d454dcbcd1f28f3a2b8eead11 -KO = 1bde276c9b07e7f843f2b2f5e6e99b231808e80db2a91821ee28805ae132a51fe02bd18aeb48196862afa6c82095b37cf0dbb5e4c2c957f30e3441c8225064a9b61279135870f14bfe96470b7390c35a3b9a233cd2587b9b3655e4d73d281d30bdb5f1e7e3d2993d38e10e9958bccb359cac6467b8f09981838c1cc001328c21e271cbc5b6352f4bb0c83f873dc2c32e6557dfc65647ce79afd55fd2384c58e66640a79615b5e5ad10aa07d6589c77e256898bb1a91319c1dd018269853703b72a8cd76d8c8e1236e7a06ee01eacef2f144650cd6f33bb94ec9ddef03aeb34377c0520388e802f57cc2c94bcfb621d717ec989d4ec97dc5a91715753335173e8af7c34fcfe2755dfb35a8fe58ccc58337afdc156bae690cacb8b842a19573a7b07f809554ebd04028ff60d00 - -COUNT=37 -L = 2400 -KI = 94bf6157a7231e6497bb2f9bee0145a02b34350a7b9aa46708972b19aa5a5631fd4d9d93db56d46fbe051009e7686af0dc8b98fae05ccf98ea0a5f597612f42a -IVlen = 512 -IV = a82e27a32705f2bddcdc13dbe34ee2c313633ff7a7576ed90be4eb9a55b4edac826eb49c0a924aa03ec06fa909f0cb9334f36f5118afb3bfa32f44dd9b13b38c -FixedInputDataByteLen = 51 -FixedInputData = 60d6b6ea92141f64edf8ae2e83646653ce2580f44aa5a9651dfacf84cc4dde378a98b2d482ee8f724f3b2e277ba8ce53fd8258 -KO = bfce0bfd6f051c73fdeb4d4416b314f929eb3a2c182d0fd062c70d974719d6710edb49c31b55d94943c550c8069b1e828fb43f9e541b411b50df1341458e761cd5714e0391ef0646220603448647b6c248fc556e02dd89a8c9e22d75af397cf681b0cc2dde61791a3de7227d437cbcb86a743ed08c869949b0c484340212d05b896b5b0fb19fcb07d430acb2981645d365b5e23b365ff967e7b8d5622a9c36af3bf16f69247dc02384a107f5462c1f3e2d24ef0447e2ccfdad0804e06ae6e2e3e7a269782539d4375aeb6bb8ab4891d1bbd56000ed458182b8cb05356791dade3321a65f398ade89f8d859ca48b8b883414b1585b2e87ad625feed5f6198460511fb23102b72bd14c66009a24d776166d907f31f6a4e993f43f12e260ae91b7e67450d79a162351086b9c9c8 - -COUNT=38 -L = 2400 -KI = 3d22e7f5bdda3c8d9844a66082983713b573885303d99a062bd237562054aba2063ce3180f8cb70a61d3096d121fdaee239722a46a5c8fe62b838851cceb3da3 -IVlen = 512 -IV = 9f489e5fac0c9d0b14200abeb67ef1028d4c81f9f8661800940863921d4f96457d3ffdee77b07b0bb5bc7184029f202113b83b9e823b2413070cdc3cc18fef42 -FixedInputDataByteLen = 51 -FixedInputData = abc34c8db603d01b7cb89e42118a81f96f63e23fe9d59f0ab48fbed764321926db65649122fcd851ce673eff487229f678fb56 -KO = c9abc15ecaa29ac0b8f177cb0e0bf8e58ce415cfea5ac1c55b779b68705706537d7cce565b2cca26cd27f9462e4fc7b1896b44f3c9c20ef15f598c7db253c74241fe1ad046c7a8d17e696e0582236bd3e5092a5b521958dc6f5463ea19b526f5d7441b918f7ef75df654dc7e2d32e54caf69b837bc9da90d3bf93ad627fbe48e9cf2564828f68c4b8c0bc6c792c8a5f10229a8076a9d0a3a0b4b7c6e5267cdd63d423ed94965fc594e15b27a7abba070887ffe3145ee7cb708a89e8180c7bc3f94357e051890fd10cf0e87d73684b5a2b2faf5862dd29bf8f954ea41e1577717a7c8de3408a5c42f6fe13fb2f2bbf678528c79ad39921253d33a003d64cf759b109e3b294cfb02a14605642e55943f372cd76aded1ca1b85dfaceefa1c5467e917e772e3752d9d63041146a4 - -COUNT=39 -L = 2400 -KI = 7b519bb31eb1c6244795cab8357f56758977d82bbbe3d1777d14996c406ba312698f529e3e3ad6daf01505bbe7ba2384c901f747d0b9f3af8751534f39669df5 -IVlen = 512 -IV = 7b7865d1cb26b042ee3147f3b5e02c0cb5111a9f0774268c2e41b91bed598ab39877b96a7536084f17aa6ab488f0fdf5f1dbafadf7f839ac4cb102542ceade6d -FixedInputDataByteLen = 51 -FixedInputData = c7fe9ca0a92db5d94d0e285916c893fecd36e5c227d921ebde3226872c00aa7a0e7cf10d21d7c892fb5450127f53cae832a514 -KO = 455e6cca2a5a53ec6b0087a80b01a650830d785b92ade8b408bdf59ad0de5c0b28c48f3f58612551d88d046ee1bc9e365d46c93aea15ad41e5f971bb1668763728a33d20a2b7ccfb011c17df02cb7826abe96e35b7a9f9a3e04595021d6bce3ab793918193a009e82d74747ae791839d7aafa8e34b10cf1c90aa23aa304e0555e932c1c38c07f45d768722b3456ce7a54ea684e8e533766739ea2faf289e9af4ad934e40c32aef0394e60f20cbd5eb66d75fb094ddc03460e6b3d2d7011dc49a52f32c29e1e9092ee9b9c808406271248d6ff246c0a73e0b7f7af6a8d4c7477fba8de46b9a0abb4b9fcf15f9d4e278370c389ef4d0b84bb7da01d1bf7cfae02f3516e3e5f06c7205c80820441ed3e185cfeee84f2832e33711f0a749c6729e0b6e32b4d901f925be9d158f80 - -[PRF=HMAC_SHA512] -[CTRLOCATION=BEFORE_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = c2589a04518cbdb4c6a6302adea4a7c251f7a0eb1f9b61a590c41972a509eb00215a052224bf1fb8d981b8c97f9621b029f068e1d18cf47790e3682ff2ee1efb -IVlen = 512 -IV = 237df1639cee1fffa04b68a4f1cda04350f252d003fc9bf3ee0f5ab278b5e088d8b832876fadfbfd5dec7ba84890e2849a59e1645e96b32893d02d25c4ffe26c -FixedInputDataByteLen = 51 -FixedInputData = 04b6219a104942a6abe1b30b2c51c1895c675e4c8cf7d107a57125cc50b2b97f9fb8f35df531042e5b75942114c53de651d4e2 -KO = dec6a7cbe48e385b5c340a80a7811e228c561a0d759bd09a756278116eca688ee9e4f60496ff9e2cb9839704e446c288ee2dc71ecd5ecd6af48f35f9d00b183f - -COUNT=1 -L = 512 -KI = 67d234ef538f2535e66205097cacaafa56621d4ea31c95a37b7025e55246bdbab54457c6f952c27d4e509c2fddca5e51df3189289350bdc4e8c3e7cad50227c3 -IVlen = 512 -IV = b1ae26641a827d5f40c434bb0e7e467c858d31d0badf96a9bce2ffd919f01066ae03a97997d09929e2f281bf8690801f3f5ee475cce35dd5342c13adf99593ef -FixedInputDataByteLen = 51 -FixedInputData = c02708216f5901eb5ee9dba15251e65b3d3042dde7ee21193aa6a14e8760f043564afd0215bf7338319834cd8964eedda5fa93 -KO = adac1c80ba2834796bcb04453c8db40d60659744c4e8f4232e5350024cb08ab768340d0cb806e5766afd7fb81b64092944049d0349733900309b08198c032d6a - -COUNT=2 -L = 512 -KI = e116622fd21054f1a8097f3322e5da25cf9bef74b7565703e6b2e2c380dd3984ff8912f7ede88e6ab39bb76068c3f7a3903a96462f86b963f0c86487d7f13055 -IVlen = 512 -IV = 8f44abdc01e01bafc9015104cbc812ea24976f252acb4888a16a2dcbaa12e8e61b7a591abb8e32c83c003e021760e94e9ecbd7b607cbcf7138d37887053ec864 -FixedInputDataByteLen = 51 -FixedInputData = cc577e5166a0d6dd56a589ac90b3d56555bc7750ca1bb2b04077a3328f4e15ac6b167f6281e39fcb48dfe31df9afed560485eb -KO = 3c4cb26fc6779285bd07d2e3c5b1fe886bba08837684d9ca06bae35f067469a6be1279954798e01f3d366e37b6ff31cb28792f1d37801a375af29970382e4ed6 - -COUNT=3 -L = 512 -KI = 161a65ba7f1b0bb6b16a226107ace78ef65a5aa8f2e6532585e2a6b7a2ce201b306c5d51dd440a7ee55d1f5be2840810b38c9696a294594dab1a05321eaab2b3 -IVlen = 512 -IV = 8f652a54c49eb4d127095ade6211b1c1df15e1571e4097d78c454c9e322b2e6c4a2c6dff9e04e25daa1fd59153c7ff3898a858150a099ce958accbbbbe4c8847 -FixedInputDataByteLen = 51 -FixedInputData = ca8e1e562dbb69c205c846fdcb8b15edfba972282000e7eb499ecf5c2b2cb0b3312e7ddabe11dc70beb8189c4753c782d3e56f -KO = ae7d4fc1866a0d53d401a43c5980b9f2403843d16415f84944a33e3b81368a16d4114164b100646642b5ac091efcc79947ad1d156af5122b1be52e1dc01cee8b - -COUNT=4 -L = 512 -KI = 9e2d2c44976611e9110e71cb5514755d51a6267ee3aee319d6a6e0cef6688b723164cca4c1739d630c09d0978e7621167acdc578b73cbadae108f7a7bde2e7a7 -IVlen = 512 -IV = 183a91858ea2d538264b6c7ba33ea1053eae1039796fa595f49ff426ca9ccc29498a84df4e78388e94b016de2895352de24ce4670d5e061afc400960f4aafdce -FixedInputDataByteLen = 51 -FixedInputData = 15152e041c6365fbe1fe3e5c5adc776e75b64d8e32e5e830bbfe1ade3b0d6f20833115a3f9e3e7149b7d1f28a8cdc805564533 -KO = b66becf473faf947d50ac0af10b80269e47789f5da65b39fc3376d9408cede5aed4de7f42bf86092d28dceaeaea6fe62c3ef1b677f6e15b77fe4a813e4b6d20a - -COUNT=5 -L = 512 -KI = fddf8ea85ff3e1326f67a872d95f8063576d469905798c473ec7f5e870fc5659abf6598a8c8308b15a3cd25acd6d5c721ad2953b268fd9fd023f185741690952 -IVlen = 512 -IV = 0cf367be4b3d12bef45226cfbf6d85a28c0355b3a8dafc4c749b2305bdd01ea05caa4c6c3e1342fe0dffb34d20f90a7ad1229bc761756df97e1c8e5b96e216a2 -FixedInputDataByteLen = 51 -FixedInputData = 0951fe3c7bc36d5f030e050276d32af470b83137c85ca0d9110596502dd09cd5e26e59b74bb10865e6499b4e5d3c22f9dda788 -KO = fd19b652a344d9f8b58071cf8ffea3486e4cc27844caf753aa8fc2ade1892a4e0806a0cb5f299a6f5b70190b2c7159ce6c7735382c00a9d0103af051f305f0a2 - -COUNT=6 -L = 512 -KI = 77762e531667832b04dd0def6214b8ed9b8d0c1af30cdc9141d514d47b6b0fac8e339b7d0cd1e9a8252058f4c4197977336f3f999a6e0b0567601ca44cc8d79f -IVlen = 512 -IV = e2ecb8fa8c1320c8b1356697e4dbba4089898eef2610d4e92f9153efb538ef2cee42116609c27c01d4140ac870d6e2285e97ec072f92727e650411c13e7f9ad2 -FixedInputDataByteLen = 51 -FixedInputData = ea447ea1170cbc63466a3973233eedb041cb66b2d556c82563c650da5c5e03f5e2c7c5c6c318435708ed3629e52eff8d43b51f -KO = e342b5934b3460e8e74bccfc5c244b0722502ca7ecce6d816a30c0259927ab3525e9ac362c0cfb86bb0cd3a7b3160672eaf9850bfb02c6cea924b12fe313660b - -COUNT=7 -L = 512 -KI = f9ba75865b5cc443f4430242a1f4c618a68409a649eb10ac010c0758d268e096b9f77e4c49cd2f201fb03e2a2b83fa79be7e582718c9860b2515f5acabf86b71 -IVlen = 512 -IV = 9a9b394bf4e9181aec0a5c4c1ea2feb3e8e06f6b1be7fa87a20e2ec53e1c8e9b02e17d4c02129fcddb375c59830302f430659a6b3ac56b09a8d01f7d2faaf984 -FixedInputDataByteLen = 51 -FixedInputData = f68a45669b25015bba561001be6063bafd1ccfc120e97802399446cb12d974853feaf7ae7d2731e12cf2d22bf7691f490a2830 -KO = 66b7bcaef49da717684003ef41cc4fbf4bde224ef3170d116db093bb50f209e6887046ed9ece8261e3c4cde76b5460ecb8a01643ab9402ff42be034ce2a1f526 - -COUNT=8 -L = 512 -KI = 7bbd23bc8baa55286dbcaff414fd9ea08912bbdad75143c811d0def632a19bb922d3662927789ba42d90b7b68d3eab140140bf6874c2b1260c1e81c8d3d1df81 -IVlen = 512 -IV = 5e700ab3d2cae434a56a380c2c8c15d535567cf3faad1ec0871a22ff51ff1c1e32ab75cb817372fde221344eb5c34cbdeda9ffe7d0ab9e91fe8839e5d84a80e6 -FixedInputDataByteLen = 51 -FixedInputData = 2ce533d973ed9ce1e2aa3fc6ae7f7662b28eb4709b2945e1e0b4aad219801f5eb85fe39003631eb6f98a9ac9bc76d82a4cf4fc -KO = 52faa4606881c3901ea54c614dda411979d79974798dd2eeec1249b1095961fdb248727fda8060ffaa52f7c8c41b45ef69063f6ea4f4ad61d1872fa0cdbe4f17 - -COUNT=9 -L = 512 -KI = af7ba1a3ff5c4c356dedec1090ec9ec268a5aadcb330e4f812bf05ff153780b64da73fca1f70a64de0f785a00cb24a1219da01f620ce61189bde54e26630b6fa -IVlen = 512 -IV = 900379fc8ac6c5dbc5d8007e90ad6259e2925a213f4c0d7c251a5cd170de5e0581759235bd1c099e9642f591fd8fbe70333751126e4f261f34c928bea01e8183 -FixedInputDataByteLen = 51 -FixedInputData = 8f5d08dc62f07ba4cf9755beb21208730fe18e42a82d9507b04beca893e96dbe9d074520388782c26796f472737bf86afbaf48 -KO = 70c590981af61670d0da8c674b8f912f6b104d3c2f6e05e690559ae797cbb695c80bc9588e3a4b46f1d7c07d7b4e164a505a2eb4398cf175f9fea20129c28afa - -COUNT=10 -L = 2048 -KI = bb2ddde2ae848366713cf175575bf882ccb91f4b12aa788da47153cbd06daf1d8cc62f38449854dfeec23664cd7c81180d415956eeb895ba274392672bcc7bd5 -IVlen = 512 -IV = 8d033463504a80bad66ee23560098530c28f8d18c4bce74484f288584dbb2d3eb0594001c11c8a7ae69f132f41d4146519c4e9cd44e1ae1f0aa9fd32f097e04f -FixedInputDataByteLen = 51 -FixedInputData = e0d88246b7382ed9565b3020d88142d35218a1af2725fac0c55fb26e17de45fe48d40442492efe15cca110f7053f1f566cad8d -KO = 828c6a107dc6140631402c30d430fbb758820dae61b82ada029a66d87abe5ab6066e930f7fa28ff50df3a5e7d2042fa9ece569152ce589f62368fb6f924835f96e007049ea9fca47a5c045415ba51a7fc4a2126ad3cb773b940729e4d14f5979b31e2fc394853723e3cc6096bd31e1bc430f118daf984131b00ebe43f580421d1978e7725521fce08b1115d6e1431d1803d8567bc40df8e8d9b65cb85c10569ea81f5b0896b10a8bea829be70c5438b00e8a6e7b8caaa085033224423ede2b4510198a66012d912fce954ebc6a3263204b2c02827ba94e6c603f1a4855db9ce46b8a6a0b2966f6bee970889f97dbc4e12d74804c2915b90b1936a3e3fa8e45a4 - -COUNT=11 -L = 2048 -KI = f82cf901a876d22b6daa6b151f182abe75ddb670406b9bd5e09cad6eb27278e3af03c128da00db02c7277022bdcd846fa64f842ec620cdefb1b0445f171e761c -IVlen = 512 -IV = 34004c9f86ac0056f8d823a1e3b917bbcc775900c1b9413b0c90d0198cdb5e45347c4210057d77c9590d3175c237ec41e7036f0349ed2752b1141643ea35457f -FixedInputDataByteLen = 51 -FixedInputData = a1cfac1fdb7c2db1e421b7df9261c71337f27b8faa405c5fb8a68522d8baeb12b81104d1c3d4d452a5f17d3ef25ff0f01c1c21 -KO = 7e690f926310eae333d97d13554eb0e47ffef34f2afde3c95fddc42f138b474d83574cbe271c754456bf3f6349f339f79e44c2ff88d24a5fb47547d8ccbe43132d21c62f18f0e63c6d3520caccbc78d65f1de47e0fa6317308624e835f0f87ed724567f42f37b6519bb9f67e8215fad8fb5fe80b26db4f9663a5d090d0ab72636c65cc520519587ff39c38e972fc9e3fe53806cd98fdca9ecff1a90f93100fd058ac10086f5d62806474861cc5a94f5ed0505f4939dd53b2344f1c154923a1fb86ee8653efe90ac60e5082ac71367792ce64a2d85f5bd3c3fdc85e4e39762b9cdbb8b668625020df0ca07e05f22f2999aa787517f1e7769ba582d61f1979abc7 - -COUNT=12 -L = 2048 -KI = 2d01b3c8816d2353c446b253dcaf1a67c1004227dc6c1294c9d677bfc1bfee72e71e51fc93abf96e28b0caafa79a2c60226b07c34eef5dfab041858482716ac8 -IVlen = 512 -IV = 761b2930ce52bb79b2caa7a1ab72ee12244a819aeab8e733b20e873f2a0061c4bd6b37187f28ecc0050bf7c3899c7e8c84ccee0dcaee742d0036e97c4b59bc40 -FixedInputDataByteLen = 51 -FixedInputData = 40703386a678152bea13c27a3cd229a35e72b8278130a845432c6270e2785e8f4578895b84474873e484673abab8680c7ea139 -KO = 0fba4f35a8db672e833c103717b4c610ced2f5204ef82b776e5ca2f7254de58edace0782467d7e9db48a0652969bbbf5eeefc6269af3639af501b3d7fd59566d2a48f4f04b55c492e4f8fab84e9a37f19b60f8c863e06857e2022688cd7c57822bd325a97bcf2693f78dc370103c98205de0db6257445fcb6eb05b81c5f109acbc8e59b45fee29b1c828bac5552a6dda5bc2d558db074dfd5812604494d2dad3eb1b04590074532ddca40a4ce99204d2c8f82d4adc622245dffab293cb3eb9b1599ce3f3d31006aaa8a2ca78fb025f4425741f21df4b8f24325d291c96c68b10d8458f73e1bb5b2ecca4182fac40503b62cd6002d23e3bc0c6d185bece97a9f0 - -COUNT=13 -L = 2048 -KI = 06655063f7a73180d643e31b0da8b21f2e6655ae183e6c24fe8e8380fce5d4a3dd36cea7c419f2dd646d678f7008616845404eaa9202addba027bf96334f98fe -IVlen = 512 -IV = b519db7482abb23643399d1f7a40abcdb5fe36786ea4f203fa887d20e1dccf4929ee6dc0fb8ef1f4670f49eeee135d65d80daf1478b6673782d1e220aab04657 -FixedInputDataByteLen = 51 -FixedInputData = 4963f5484f45fad2cc3e196c7cb1f5795e1bec4155b87655a0955e2fe4cd35bf2edff73969bfef18f6779869c9a74c80a39305 -KO = 6140f7943c3ad1a4c4f4d10c9091c7d262e53be0be447ddd4474b5d4056ec73241466946285a082d5c1afc9eeab214ed6192d58cc97c9a046e8cd3b8df7a046f8dbfd44d542d6cadf7bb8c394cd92ab8b5a736eb3abca2b64bf70b40071c17d7cb042d9675d139358b7e92cbab865d08e1eb3c7df819a1c8a418389a1caefc3ec2ba0c29b5ae7d2db6f4fa1b68de00d4ec663b7e943e6f67987a6f96964df226b6c523960517a2b257ddf3fb7898f9b2799707d23ad0776e41740d43628812642e0bad9ef66af4282421ff16d23b5f9532dc61a8e5aa853562d99de673cb5696b36e71f0dc22174e2303107d83fe7dca2583bd9866cf752acd9e3ab09376256e - -COUNT=14 -L = 2048 -KI = 4e1c04375ee7f23904afe750b2f458b5ed9fbf66bb4d14f8a22c33ce59bc1f0972a2e7e244c2b189fbc2a5a11d446338b61cf0e03ee0d839155d47bf8d47fbc0 -IVlen = 512 -IV = 03f95b00381da3eeae4d8f118b2f2dc2d0cbddf910ad824879b1e42cc1985662eaf02c33e39dc85c1f62f752d5bab2dd1d66387d292659dfb86d2db0ff3d0684 -FixedInputDataByteLen = 51 -FixedInputData = f7f8ab0cb89623957990ce2c2a3c47382246cca61d8b315537bbf3b57b47b68571744b71ca3cd42c9d6b1c76ddf5dc6538f0b7 -KO = 7adca8fd7ec46452bc558136f6d33da6da85a3d1ce97f7a80260df98659e286cb272cfdefa231f6f51b880da78ebf1c07474cfbdcc6bb552ecebebf482a5b2603b027ff11604c009dc15c68c2794bff9db7c2ccad192405ac533bfa64408bda7bc09020e18511d524b3e6776859dcc74b3106ebe13979cbace35bc2d90a1e09fa4d22600bbc2274dd746f9a5a7f246d9bf94380f6a9bab1b986edb4b55db9c1038aacf37196d7818b86d91db1c8929ac49c06a1c53b1376c2b73042f193f5443e737053cbe3240dd826d522a44ca7102a8ba384c1e95392d15cdd2402a599580a153efe5a7fbeda276ae3d826adca6c8b1ca3d19cc3da4f5f507f31bfac8fdd0 - -COUNT=15 -L = 2048 -KI = 97cd0a850cae37c8e065a9a0078e07b4f57285eb26acfb40ecd2c9e62930a90a66384bd8720587041960ba7ba184d29c8e75fe1c449779fa757d7e20ef4c2262 -IVlen = 512 -IV = 06e175dd887650a20cc1c7c845cf4594e4d959b69337fbc3720fc10b920b0ec5d6b52c1a675fa0929ec07d9a35523373b4373d19880f90424ca95cc28cfee262 -FixedInputDataByteLen = 51 -FixedInputData = 5ab60fcde40cde09e7e3b9810ec1da8acce11e2d1e173e0e4034bdf9ec5b19a4ff564cebd7fc2fe9a7e7fd7ce9b3233fadc55c -KO = d95cefbe12042971975f6077bbfcb5d2a3d249084072a943dcd8aa200d4964b193652d7785af2481915c2e18d24d0e3e906b59b15eb9fa93385afd125c4a7e798e7c04cf333144280fd7bfeb7c993b90c8c359a810b8e374e5e21e9f9e6cf40141d54c53639c282b586c946c4f894bed2660eb01c3fb23b21efa9aabdc4e8b743c2906a1fb334ac89e9a8093b1dafa9b653edf54611eecf52fda4566a1d8b03937fda6b4c2a85dc0bc10ba3db2f80ac4be0006bf45fce66521616327937e60d3b244ce94967b0e19aded3a947e0762d314d952e399fd446f317bf2f376c519bb97b1c12362f228970cc057e9ad19e8e6acf5704eac2741557e43f317ec2244a4 - -COUNT=16 -L = 2048 -KI = e8d9d16f4cc9c4f6a62ddd68efd60a136753f94f47ed3fd46964f906b16c7cfddb33f2fbf825952ffdfb3e82b3c7d874b1b36d4af19485c612452cc2faaf4df4 -IVlen = 512 -IV = 14abab4843a3f0ec3d4f38de5ed9228213af84e458b461419a9ce6fd37cee4c6c09be4f7a3e91207adf9d0fee4c62213cff6a71db9682e45c53972bcb43bd62c -FixedInputDataByteLen = 51 -FixedInputData = e1f709e4022af67abbf15043bd81c669e7c4120994b9a3f3e2883059a108f0d76732c259aa6e0c873cfe3b9793fbb7f0176d35 -KO = 15c760bd73a149b61dd22b324e78ee7c0c3845c81a008c29316d44d097afe92d75cbfe09fb29074f579601370fec9d3fde5a6eba24d31e89919e4c9f9d6b55a966f03806ba4154640b28dd19c3bebb99618d08a59c75ad59ac3acebff31f247ea13132f7d23a2720e973b57aa8b86e0e392c28979af0a81f1ce5f190ff463dfff3bdbee1910da19d844a46fc8b8abd126dab2d2a159e53390ca9c766152fd7e586ed73a815142b4cbf92294628cf267e8b63f54aff319c905daf22890dc0fda02602f7222c918e2281bdf22a212fa0cf6e1edf3fa6d476a614504502d67ca5230fd3c2508807fa59234ddca660e9591553cbcb50fa340a33969f6f3bfd93935b - -COUNT=17 -L = 2048 -KI = 58e4890e2ea07a67856fe162c4562721841c00704ec9f1c5f69c74c78ba702a09d51b6dc19b807ed3eba1b2470afbdf974804b2e390aceae05845898fdba6208 -IVlen = 512 -IV = 36a18b94264c4c1e64e0fba81fc9a8050f6dd669b0ac5db27968c0f881895dc95734b743825c357d53a2bc9233946da023405f463ae161b22afe414c4ad15f3f -FixedInputDataByteLen = 51 -FixedInputData = 1f97b0b372280512699bef1e901f90560b5e52454ced1df1bc3859e28e244ebb7d25b61d93544a530197c881437985488a44a7 -KO = edb6d0a902445a6cc16effaa00b080769453c8227818021362af511d8c71b88a1655ed9bf68f27e7b7fbb1b9dc6d7925f4587bd57e758e60830af80612d37269207b4a5781313ad3c0467a1b41ea9b3aedb48565dc977464226a6bfb88dcb18d41fe30308f6f219997101575af2a230f2dd0b75e5db46e333e7b75658d513bd5b9c807f880a8b69911db2203736c3e8bd780d7c6edfe9face8e820c806dd52d34fb8df124144ee2c5371b17fc6a16a7b0a2a639993390eecb3d4abe73cd9e6aef5496a5b9cd6b484e7722b5d4f99aa5850241ea923a1fc6bc1d00c98e158677c2ee31f4e6fad1a2615f50e68fa45bd54719da0fa324bdfef7dabdd1a5210e3a8 - -COUNT=18 -L = 2048 -KI = 0f5a15774d0a84e8df0b8a9fbf08b28395da1336faeade9ef343aa13d1ec3d04e7058ab91dce331047b93c5ea46d207028359e045292faee22c74239ebab4815 -IVlen = 512 -IV = 28383d73d7e6fe024b330101aab520344c2acb7c3fb1b79cde80a22fbde878089ec65fd99c0e46a49e61922813582897c11eb13a64435382ebf05ce4a1e7e27d -FixedInputDataByteLen = 51 -FixedInputData = d0eb7ad57a38946a679e601b66a11ff1060bcd3c218e30e63b84764a2ee491246b2672dfa63d0fdffe068a49ac7579b6be518f -KO = 2e44471e7ee8387e2f1665c1e9ce6e8546108e97a8ccddae60e6b6e1f66a67a9dfddad47ba3628c9cf5847f165af99dc82d735727be9b313b991f49d62d55c8206a8accdcb528d0923b9f87aff0cc8909960ba0a032b59a8472999a4fae9f91f9e367f1e0e4c055f52f56780b5ff54451655db521ddf53275fcd6002f4d5ba936b456f62b7f9d241de4672bc4d73824e1a047e8219dfea0e92faaea4af004654a8af004b928ad1c713de293af75b1449e20e0e99127c17ba55b63d7b0980a2bd7dcfd239fa2b0fade220fe9ecb241ff61ded8f2b16fc376c5179212a63f40f859f8c3f49e59a0c583f4b01b884c46e04e93b97034462ddea10e658add4d9be2d - -COUNT=19 -L = 2048 -KI = fbc4c414c89365041db2e97db53d55e2dbc1fc7d7e1a290cdf6533fd1cf0442e3ba65ae50e40a3b925429b56496165ea2de476ed6ac5207585a7dd02837adf2a -IVlen = 512 -IV = 9fcd757a656bc0afd6df60b08b6483192efd60eef31246ecbfa40e48675e2cd05675e6b5eabb7aa2226988d40b23ba009c89380ea6fde0c8679f3477f2560a14 -FixedInputDataByteLen = 51 -FixedInputData = 16983023dbb07115775b87e1cfdb8d186de9ea715b254d284734a6706f9a2fdec2588133e19acd7126c3e8b6c42cc06e4b0ace -KO = ffc9bce8b4ff9c4c3a0c9bafa5e429b65cf2315e92a89e4705eaf878781ec321d628f92ee42148fa38ac2facda1a38ffa5e12e2d2e1d0364f0e862eb41882e37322c40859d7cec95d1a17eb218df307be64fd078f7055e1f0b9a7e445584315775655039e48c8d0b97d3ffd6f158450ae3c55c1cff74459fd8f55b961add4ca4b7f602648419a133497865e3a2abd0f693207aab498d848332de9f41968583fde454560e90f41d4048a681ba758b6507bc681b5320f1020276814e6f05804d564c2aa09c5fc0b6675b09f13b5862c882aba6b9403b64266b5e9bb8d67e8a780e9470875b328b01ae2b78b3209b650f4db5f189d58022ecb5d4b664dddc357eb0 - -COUNT=20 -L = 560 -KI = 03258c4b710fb5bf726a5317a903b6b9f1b5d94af889b7d23761ea6780ae62dbe3782eefcdb3c76a567a96a52cf8f5f1e982b2b76976054a05faa011ebf1ac3f -IVlen = 512 -IV = f38b99e485b765f39bebd6ce4fe0d997a05a4cbfbd7dc1d6385ce8e34002e771ded78d653ed56f4ba1bc909674cbe44779b0ea75566dcc8b294184ea0a608398 -FixedInputDataByteLen = 51 -FixedInputData = 4266768375a007b0a46274b1af4d97d6724d50315e94db78bea8cb699b9715be3bebee2088b76aa614f98935b4e28273c6a19f -KO = 41b2029d65fe5042918eaec2bc8c0d734cb8814efe2639dd1e664ecbc7d1c03054ce796442b79244ffb9a696d743b73b1eb3754dec78d15bb0656d4de28e4b47dc82907f4a90 - -COUNT=21 -L = 560 -KI = acd019292023642643ac5ce90497bf3878d480882c8e671ec21eb0a4f822bc3398cb7a2eb697aa8356e9a8992480abae772d13760a6716b5678659d83f825dc9 -IVlen = 512 -IV = b0aa45b64aacdd0a8f9e73166e3b80a8bae087e6cfea9f9ee91020c0a6b20a9eb212084e121887ece804138b752c4759e59ef091e3be91c19eaf308315099d09 -FixedInputDataByteLen = 51 -FixedInputData = cad1bc21a359252401049379eb9a354348eaef2532ab1a4f172c39889cc93fc310bf0ef5ca7ae6a24e4203c1e11f228236b5a7 -KO = f75edc452ee1ac1eae6d6c0a1e3de4ca1c06a97baf737b6212817719a5aaa02fc5b55af2ac49c790cce3c7b26ff7eafdb4f0c2117a2fb73bf2700e7affe4be6f28d27876fa5d - -COUNT=22 -L = 560 -KI = 2bbd93cf6cacf1cfa73d3407a60e6a371151019b96614ed8f643c67cd096b159aadb8e43014bb8c102338ff0184f7bf56223e18a8e2133db17f096da53361e9b -IVlen = 512 -IV = 150d91fa5f2831d6e6b93552120d7cb8fcb48589d20c61d675ad578517378fa70b3201518c6768556832654453c6479f41e74c6d89f6dc507ae070ed7ed0edba -FixedInputDataByteLen = 51 -FixedInputData = 49dae6497c9d3e1a53d1d5c6d6516b899dad73d353044f6d6d23c90f36b961ed72786b3e8643692bb77ebd4a620167242d36f7 -KO = 4bc67fcab492c45ca933584bfcc813b9339594776f760976330a6fa1b9fcf30db7256aa1138db731e5b1d0c35b71d0cc2e91845f4b3b0187fc293a3826fb104176cc4ff2b3a9 - -COUNT=23 -L = 560 -KI = 0e683e8f835344ccbcf0778965052bfcfd761470fd8e193ac68eb9ca43d177ebdef5b0d8f4415c49ee1902d1204580ea25a4f603ed1c2fc1786b6936b430e09c -IVlen = 512 -IV = 987441dd34987986509e8d9e51516c6b94d4ced970429674275059b7093aa9ed45cb10861f03e013302bbb6d0f169117d855a9ae0fa788cf7c80a82b46d8c96d -FixedInputDataByteLen = 51 -FixedInputData = 1c2d98006e29b52fef7c4c3fe67ed6a4194049012efcd9c38693d8ad9baaaac56e0c1afc400a619374c48576136767a6129651 -KO = 663e4a28d3d806e908acc7a7a4c49ceba50311db60f28727aa98eacbd4b1499ee8c1bd22dedabc9cc90d6f497942423d6b4a571a8a9593bf8cf450d21a1852ce4eb7ea12ad65 - -COUNT=24 -L = 560 -KI = 6fefd82841992ff6e11ef82dc5d6fdc142f49cda18bc55236657eb56ce6e923b77dda5e3f3f2b478ccfe8b788f828fc50ffcf6694a114d4ac83b51eaf41290dc -IVlen = 512 -IV = aad3ac487e3101f3eb778b6a5511a05987896552c86b8cfaa9a7537d4fd6dd2c0820bc227a18ea8c0d14b0ebb407841347a1434a02399784c8b28e44f92e4a6e -FixedInputDataByteLen = 51 -FixedInputData = 714010bd82bed73cc034ec5c3985c4179edc18245f3f61b75356ae4596d1b4e366b709934ca8532047e6024cac53f7d51c5dfc -KO = 72adc3ceec10f858581860cede8c59b35188c6730110d8865d5c4dc33999e167ebae868ae2ae6fb3a40e5045fef0d59c7f0efb90dcb6fd472249a340acd415128bb7eab69f6c - -COUNT=25 -L = 560 -KI = 8341685097fef4b0f26fafedf26f63b82a723497daada80612b97fdf892ed0cd6f739962fa663962cbecf4aca47108094c0ee0cb510527756ef7a707c35e4ecb -IVlen = 512 -IV = 6328b543ef06a4539d648a480cf7eba0598b953ee221e7e1bb49e879cae96524f93f820dafcb52ec0aacc364e9cda1098bee740d856bf3d4f3ccd08abd6aa96b -FixedInputDataByteLen = 51 -FixedInputData = 67c43d4f9fb37ad571101e9fbe5407fb0e4c9003fd591a56827a3bd74c10df67ff20e482ff12c1a4823810915936b7cb949441 -KO = 5c5c769794a90287ca940bb477258d6220676cd0ab80d8effbce770ccb086b1da439fa75470e5a559a34154891366cf23125397ba53c9195c61b7f94e441e86be76bc2f83de4 - -COUNT=26 -L = 560 -KI = 17381a2d48ba6d8c3de2c1d6c45fe991945b51010d9e9bd127a759633504ce26c40054f752a00d2e933a1a690a6ea8207dd9c6788cded50474b0681449d3e9fb -IVlen = 512 -IV = 6790f25836bc7b7b4d5ca56b4f063f3ad1c468839d34b0d25a0493fe947ac7090b1e639768aec34fdcc2ab6771a35431e739d3e647a64101883037a5015fd474 -FixedInputDataByteLen = 51 -FixedInputData = 6169eaba5887758704d3fc1a0c89aa46efdd26a4435a49866b687131ebae2b65691abd7d1ba8a5a880aa0d29da05f463204399 -KO = a80080169e2ab325dd12fe4d6c57e40bbe81f72789d35b1daa58076bbc1a9b0ad7e53fdcbee7f489e2851f79c0de4e860d8b3d4f7058a6dde6b808b2acff78ab42d7505e432c - -COUNT=27 -L = 560 -KI = c9fd6e9ff53d4079b3f9ac979476231264bf0f1d8b23cd1d61dfcef9dbcf1163df7ec165613a4200b3526971a15e1c6bd217f19996b97d93dcc30bba51c68eb0 -IVlen = 512 -IV = 32555103153328fc9076f09dece9a2bf50754bab2ef27acbc37a38f7e41cbb9d4567d3f5dc99908e8dabdf1954019d2ce89a56d821fd07911fdfc23e844aa59d -FixedInputDataByteLen = 51 -FixedInputData = d40f8a2a0bb5e2599aab2561cbef0b53c16312230706f4f2b6dd4196414d7ec85d331d13693496892e6715c0111cd2c38ec02f -KO = cca6accac5cccedd3bfd6ef438a5fc00832f02ad0feeb34533cc59d3a31909d71d0375dd875e3039d97a8c89245a62d2fb85b355db2ee680635c27cda719548105fd2cd16d4e - -COUNT=28 -L = 560 -KI = 031e9400429f0456547d02d9947cc24a39a3313bf8ccc1ffdab539c2e8c3bbb3791a6407e4dee3f37f5bb042665c0a35468d9f7b373d8ba900c14ae688e005a2 -IVlen = 512 -IV = b4108751daeb603e7b435f4696719439812a07300f62925741c8341b209d6a609a310ee87eb4f853eae1ee11b2644d19fb545948e1c91ddc34f63f67b1fe7ba9 -FixedInputDataByteLen = 51 -FixedInputData = f895285a543676073d342f3cf03e989678e28f05f04edf6639c95f209f3885f4b3342a0a4ed1ac62b0e0fba7d354d47e8e55bd -KO = 8613611dfaf041fa3a7c7dc67a53d5e3621ebe5e066e6a396d8360573c1fc69ff41e96a58bf1b20355fc77879aae75fd1189a099d117008bac89c38b6770a57f45043dd509ef - -COUNT=29 -L = 560 -KI = 62aa5a9e9bec4305fd8b78e3dcace6420b17557b6649989eceb1d74a0a147a39bd53ea3143a3f093a21ae1789ee1081be8d1f9b590767845414aa39fd115befa -IVlen = 512 -IV = e66c2eba72abfcbd0030dfdc955de84e4d93e45aeb67173208a166f3f1714b1e056529a78719af268c621b49131d76324fc6da4c7ca59f6ab25e078568f4d0ae -FixedInputDataByteLen = 51 -FixedInputData = 63e37de9c497e0b8c3ee66b969bf134a51ae464104b06c8ca9b7c8c9f624532d186496640b11dfdf3afb8697d8e9896e8b979c -KO = de15f82b5ae3534e331eb1176ad9ac58c02073d8d236a5e5a3ade48d585d281c4f88e2dc2fed1900417596e0385514a9c45eb17a4f39615b226df7e29a2c22a2385849ad5c42 - -COUNT=30 -L = 2400 -KI = e23b9deaf150e7ded9373d0e4357bc6ecc20d483f6508fef15c82ab35aca1d053f343e925d4886e7dc39326641b55d0ca966a5772fa15d1a9ad86ae413cb9f4b -IVlen = 512 -IV = 697fa9a8ae05083989762253ee89e4015fdaa6aa0f8e7c879c897d5a628630e4eb6c0064d83ecf836a55a923e70f994098ad2aeb6aa94f18ae203b3752cdd046 -FixedInputDataByteLen = 51 -FixedInputData = 4fe3b059695d54838d56da9f588f214703f4e5757ef3d0a734d9376b1013e6b102d35cce1b127cfbdcce680ecdbe70b2b2c16d -KO = 9151576c3336171f90d104bca9225865642da194026e59e01d3847451446ecb2200f00b18347e1db3f0ce52cd625657b20ff89e4c37f610771f358baad888cee1b7e1d190f480321be9dd4358cadff7bf0688fa3a65b0ef0d936aebda564e56375f96a21394b149b1fb78e742d6151b720d9de0f692af101ebfaf9f5ab3d7e1aa89f0b147c931bde1959ef9df0f935b39ffc304e4f84f5896c340fe67c7b6950693b645ed1e2c208fefa738a945cfbd6e8ceddea3706ae11a04f53bfeb41a1bda1fcca687b88f421c1ff0ebf2620ba50ac673b9286669f6a21e6b86fc7fd22cc982d2d91541739c1690e0fead2ff2aa5520eeaa2fa297a8620a8d6e50aa3cdb663757069d659009418e2c37e65afb7e4e73de35c295a1c2fd68b4e67c32c1b782ece6065b7f4f81d84075a11 - -COUNT=31 -L = 2400 -KI = 646fb90cde8da07bdde0df006cdda4f72f7d11f2a73125f7274940e6851b2b051cd7a718fd6ad5d758df2a2a133c431e8f4a918026a92d170714fbc4717a7b89 -IVlen = 512 -IV = 731eebd917b34f18c5d8f329c20f02c38c8363b06cab004bfc8e827ff10603867f2d993951b50f5951bb510f50556aa7c322cf14f3aee05d4056d1142c6fedb8 -FixedInputDataByteLen = 51 -FixedInputData = c264959dd93014686f90c486949aa771e23250b7d1d79c120a0eb37543b7ac5d5442e804061a38e988f795a8e596a84b2b0133 -KO = 3b69d21ef3951f4c1f681faf7ae82e1d67d975e2d14b1653f6eaee38b4fd899d3ce0dfba404fdbec9d95d5ae3c97f4f2354e154602f8765b22d7eacb6a6801a05a510fa5cd43e48147be5fc1a0decfd6f1dd613d3af954fbcd38467309f2b18aa684b27ddefb8e5ffab4a288906f67acfb9f3829eb1d49fa61465372b87d655bb13bc6fb160558ac7c6945a8bd516515fbe312d4557527b2269779add7a89aa4a42fec867c60c27ff278bdf1f7d5bf97b1bf3b9074f1b9cd26ea249f3101b1799409ad9d9e0a168e205931381f15214ffe4745b3a9f4e7456b86423f5470e57035cbb91b2b75b93703cc3957b6f170f9bc5d899d73220586b0dd2264762386b0dd26c8002798cf0b26c43aedd820a38db132cc4f8d23a82161e1ef3178c21a70e77d58bfd77e60a7e4a07944 - -COUNT=32 -L = 2400 -KI = 75aaf4888fc9b49ecd5f84aeee9f22d12a0223ba6033e5b15f28931bb5f9b2e8799b145feec10971c42c80b66159405138e35d771372e9b57e1e0253f75994a9 -IVlen = 512 -IV = 9039c61e69e78aeed753fd306acce4c3ab2a055121001dfbfafc6a52802596ab2845df9baf0ea45188845496147675126b146ecff4693122d7dc9072bb26f5ee -FixedInputDataByteLen = 51 -FixedInputData = 2f8a7efcac9ef4c9f65a0a1b9976523ffa990f1963dae2b884c2fa303dda3ffbd5324f618b8928dc7da597ac29a9b1fa1ca8b4 -KO = 068eb3dd6b62178e9c54924d107a324e02f4717f90eaa483f900ed7e065c536f94b31909212ffb79ce6d0cf8ed7b6297c3f745c74d8c264755644125d7cf9e75d4593e1c92de3a1f19f7058101536e115b2b101f947355da426c92f1a4f2ca91b417b3303901dc007d1b76b5588249747007bb291e4b61f73408d62f01662be6ae709dbd3e1026d159d9726c81ab8146b141bd7b3e98bc9df26bc6bb042de02feac80e58633bbc2538847cbb7db781a4c2f68640033e2f1c552d3c4e6b91d006ee244ae9ec65f3ac5a1d97ccb5444d7150049b6d8474567b9d05912369807042407569d966d3f1cfbca82df2a937604cff3abe31c8501fed2c49b473d1582cee28ed1f35302c1272147265a2e102c856078110d2dca465cf90b6076fa508ae25772e4593d407713fea70345b - -COUNT=33 -L = 2400 -KI = 9eccd210cb593aa11d1afbada37730886ea38b2a354d38ef74cf8ebb418b13ba5da2761391543d97ac088b0b12c5b7347ffd6e5a8a257a99c8f67dc92f7b8235 -IVlen = 512 -IV = 1f33babf77330f14f5216d71a8a7bd63d85b7a5263233e0cf25f813757563087704e787459be36ce19914718dd6aa748fba0ae812cf38337df74a52c58f02e18 -FixedInputDataByteLen = 51 -FixedInputData = 38d206cf99dc965f92ab3c8e53f80cdc217f1ac583b5651e9d9abdced6ad0f8c399e51c70b4425927d2e7f58d72d2a6119e268 -KO = bb7e615602c7d98088b865262f4fab47e36f2897d6f3001d63e75e5cdb4820f3d2650080442ce7d95b72d8135c6af5961381ea5e5e824fa9d1e68e8a90ca41a11ace504b1d675722019289eacdb537b80798655e0e4d3e784c6b3ad48cf5d1538e0753623c88997043fd85021066e33d564ae26cf61f083b4d37a5ae1ba91e81485a58688c62c8ba062c51fa137901364cacb28d3afc90b471579fee9efa6e94cc128835d1005c6c228a02d0f027bfbd54a300af0e020580d0c9ac1ac16244373dd39926651679b783acaf3741e6e1c5fde1c68f46cbe48a3394677574d5ef93dce27ef93d8b42913a4f531c0a773407d5bfd03a89ba0939ca1a3fec1f1e80938f1aec26d6bdc63e39c951ddd66bd043f8e3d1987ee148b1966a1115832184ffcbe05a2d6b71af090e89f735 - -COUNT=34 -L = 2400 -KI = 7616c9f765040e5558e365ad3cf810b8a3053e4e9c215ee9473da9574b0743c47258d3933d2af3a8ad5cb1647d70c582d5ac153d937c72294ddcbb99805303da -IVlen = 512 -IV = a026695a3ea02fd18e8be411676c0a3b6ff45f2ca5b296975078ae513d94ce210288f47229ddaa889d25a15304cc0bc0032a3e8ad18f17ac210efafa071e85c0 -FixedInputDataByteLen = 51 -FixedInputData = ed975c19fab6cbe5413d5995f7fca3bbe144b87fd580e1b675c5bf2d4e21e526524e4548c2e5bffc0669b34c19fad4989e2d2c -KO = 9689cd8400ca42c004d47920a8382c02f6ab94639b64a90f62868a1a6bffb33ba0d3023ec8af7bc4a8ea02addadd0b57f2ff9d0cfba78252e978cad78dc3aa2d180e33166b331474626679b9255d7e9e23ddbceac5bea673e7d5bb19cc133667c045ad17f94411cbb5ff23ab53f827b143a42dbfcdb3765583a3f4e9d7153445229ec27b97282e44cda628f223739b37340fbe2a09cc51761132fe2b002f91e45c155c1fe467198b0d3f591f1c5a54d1e9ed3bf8ed4fad971b33de520168eaaa7e39a9e27a98e4213ea9415fc2ba3e79d0dd2a6157308ed7a19feac229f24d2ae04a0a3e87e1f14527ab2871b1f27a4f4cba3349e92ac2406a67add5c2f0971412113b99f8a5a16d0f1975f4f05c5d9b3d3c12d098ac03ecca1086324136cd9cbc44ab77c3ad4d118620e0cc - -COUNT=35 -L = 2400 -KI = 38de67ba231d39c93676b891399580be18958c74d3fb1308070c99e205f7544cc73db398bdaa898059a301c55088bd0ee50308b0717e02befe5f3ce98e0aa9ae -IVlen = 512 -IV = 20f515ee4ac09818c3bc9fae00ee38c2b06366fe436513ac5c160b7488a9af861c4ff639a5cbddf86588d8eea13b5673fd58b7a80134340d2da7273f26bd91c2 -FixedInputDataByteLen = 51 -FixedInputData = b2bb606b5593028506efa634b0e9cf465cd4687b3fab46b7a4c80b8e39ae1eea5285e740d0011ca3041515b09a99735bd8d69c -KO = 0bd0f551c1f9c1f4eb9a353caefb9a7ed9a19554110bc04385ad79d26ecea31a5267e77ebfec41346e64345af2f93d41aaeb0f3f41f67746c30f26dbd674215ec395d577dff7df5ef9cd2b16be043ae5b12745cc0977a944b8b87115e20fc2a7bb41ee1aece21ab93eb51bfc67358839315da69101f60393c40d81aeeb4aa6047d3df724ff74abe313633448293db63e18645286270f408c1a3773d94d919fb83a9fa60150922942a0cf96d7f845cc55129b95288232ee036b8400e612d85fb73fb6cbb7489682c23921b29036bae5d1ba953e703480d1c2d3b5acba1f1dcd9a975c661fd66f62a65caedd08007d862c69b3f512fe0e784c692cab6e69992cddc2ca5d727e0f45e4082832cd1cd0f2cc011c5fa0679e692ebe8bd8272f94c143d838c9c5fcfdcf417ec80d05 - -COUNT=36 -L = 2400 -KI = e626f9226d169cef31cb9d59f1eba9bf4f27731dbc19c8d977972fa39f9f4a370b506ede2a000092ada32a391ce9a7bc3c4edfd30b839b585c86d3e7787a98bf -IVlen = 512 -IV = 3b4beb0a1cefd3dedd97314c22f22af51965030ba1bdc359ef22c6ced71646394788a6d54f266a371f82c82904559e477c0b8cf13b446166c84985b3683c8967 -FixedInputDataByteLen = 51 -FixedInputData = b2a6b0caf96ca990dac2c88b123d58f8cdcba3cbe6fff381088271237698293dd4aebb55f18651e4bce1a0a57e045f0c914d1e -KO = c527fe63fac060fad8da49d3cff859e42ace5d455f8bc86139fb4bb2206cd0928f3b09199de8b7b59bebccea93f6ae0bd6a1e8979dc0eb345b16e52f83e10b219f82fc676ca2aa576c5368bf258a1eea6ce5ceed4fbc40a3c72fc7b3ce0ba61c8702998fc6678218a90d617456201347014fb85666cf8632cb98302453758cdcada5c061d6388839c75b435b7e19a2357f2f44345dfb4ee907092269fbca00a45b906b2eafc266f1474e39ff1540abd63f653d9822ece1cdd743872018c2c98a9b9b28e2b2040d9c8feca6de69e8e878470651bdf4bc79d705d936c75ef82e661fcea775dcee5ac08b809e569fba643eb36574f1e8312f8429860df5e843b663f2942006c9ac938c24a1be58dbceaa7fb9230f608ffb271f4c9edaabb01bf51fe908d3a624e87ffaa04fd61a - -COUNT=37 -L = 2400 -KI = fb813f04546c15d69f0cdf6fb71f8fd5d9dcba1e8c0ae4fbe4936ede9a0cdd85f957864bd11432b08b10b28123d17e11c54a015165701444bf6b39b19e1ebe9c -IVlen = 512 -IV = c321c23859e0ec3a4465cffdd0c13fd8a0c1916832aefcbbdc3d71c4053bd381ea8157b84bac868f0d3023146e50c2546037c3ca84b64876f62b0e9c5540bce7 -FixedInputDataByteLen = 51 -FixedInputData = 87e1d5d456f5918cab489e61d66e69571abd417e710509d93783a1e0a0f2d9d12fae92e810134784323fe6aea12c8c356480de -KO = 571dd25c8479adac8f39283d8b6f6eadb7b122fe28af0da20e2b04f2d83d059c142fefe94a909ddcc810f4f1fc30df92046a74e817d743f8f5f6e17f65c1094a48a3f8256c5f272448b0bc30d0813a837f17333b04eb4a78fc4f0870c495f08e4fb07571c26ae16800fba22571093616aadb51e3749f526cf9c49a052185adfc6789158041ec6acdf32348281591e09d45ef8c3712b30e7d68754e1227cd026d9152ea3591fc695267e4abe9983b4998f5ed1f6072d8ce0a9359fc75afdce10de6d2793b68e4953f07d700fdd4a597a12682d6a5d76355a18a3f9dbb92d65a69412db666420e8dd5589212f369d82043553b7b9f897617e0bce4f2813e99401ddf914ebd08699de88f6038c5c771ced73fdd84e3b19899bea00fe81dbce70ccd3685d0191943c5e173efb71c - -COUNT=38 -L = 2400 -KI = a03094c4e9244dfaabd48f82b1c64b4afd41c7978a4bf7620288152689b90e7df512cb481976778bda910ee065f6622ef119256fe5c009d8cf44a488d1328e97 -IVlen = 512 -IV = b80576de08112af80b057d003a1a5b9e24838212fc3177e587d4976dc2244baa84133822cfdb45361f4b843a2a6ea0b122dfa0c53c96aa6952e5a50c74847842 -FixedInputDataByteLen = 51 -FixedInputData = 1b1e5b538ae7076395c354bf0a72695f00593728beeb33abb346416a0e0a79819d143e435ea080c5242750db316197b63bf9bb -KO = 4f71af1107f870b615b2bec6f10ba2a4db2c17ed73a41d0469721513aed744841ed3227fd7fdd50916083745a4dcf02b62b9f96e765dd2c0dec8e7acebf76d6d062e4a2ce97cbd01d6c695e89b9d9d222010cb8affc0b899c2d4a7950ba3adfbb661d29e5fa51b8ee02ed6214eb466fc0f51a117634628e859037e77a07535a13d45a763f65173eed5c0b1339bcd476d1e560281e5c7ca60b77f61b4cc671940b48d96e5f0266a6f59e5b11df7fc43b99567e06b103c81f904c9a7150fca72a78e709e6140485eb4f2ac712ab3a672c87ef0367e3c1d11e0eb1b210fd115178b50004b011ee7b93f51bcbfe1a28ab98f6439ce61ff8ee0d7fe47283f19d0b8a790c0c328cecbc57cfe45a7e51ba1e68672adab49d1a62f0e70ab2aaad96790be3ca010483dc6b7bd7e252ca0 - -COUNT=39 -L = 2400 -KI = 8acbb8151bdbe1936d12a7cb376812a67ef36cf76bbae957ec84e5a72f6a65816d39abc0c50577309a8f0cdc4d40825c33e5ade78f6023e72a93c975dd7eb178 -IVlen = 512 -IV = 20d6c100531c1b521b44a722e48642a2e1f922793bb6525078f8695eebfcca51a818aaf790ea906096e85f72e6000fcd2dbc360d1a2c9275f1be720785c4b45f -FixedInputDataByteLen = 51 -FixedInputData = 10b147624bb49d423e954a26b106f72cb3ecd2383aa894fceff7a3a42fb6456270b18045ede1c63f499dbe35fed0cc774e57c9 -KO = 28137446cee82fd25af6736c72259e386e7f7de8ee3e5e9e5f9db272a2714fe47729e8e11a917228d05db921a3e38b013bee0ccbeb24e74331fe43616ff9bf68aeacb4d9ec74176e9c3f1a26f36f7898a3e58a2bd05354c8512eb06431429803a26736c478fc845abc6caeb693158eb93f6b2924f1142932a2400e4de0573799f635f436d9dbb10f7df1b2e61d3b2ca099f893aea4d55052b6f220dba95ef42900540dfaf9cb6f1dde3189b470078d7e583b07fb36840b3c2c2a43b4c63e322da86859f9c42896b109c8ef1ec386a9ff7233bc9b5261ff206815440e3b63686f821b7d82c0c6bf572eb34d50c61328658f9ada1abf4f82f7b3f547296188686e6c6e0cf620405540b4768d5d7d77f61e25690130d814c324676d8e10e4a80d4a0f29426ff31d768465e7841e - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 34104d477afbbcd787f89ba8ac8f8ce4cca7dc456f7375304db84029f47c3aa49c7a08667eeb395c8af8c1b6f792ead0424975df90d97591c8b3966d6ae7ebce -IVlen = 512 -IV = 01aea54a100edb54d00f9780113e4649687395375681e75637d80229863387d4ad4a31264fe44ba7b904b0b0da3d491021f5a75aa0d31bd7ada5f1363bb110b7 -FixedInputDataByteLen = 51 -FixedInputData = 7df06aecb2c1655cafff8c1690ae552be05b050fb586db1b652208ca4730b54fb76e31c9f7d132990f11a3ddf9ec55ce349d52 -KO = 97607b84b04af5b7cfa62a9e58f86da324eaff044e6d20eb7a716e1461a6c172d7de96ad0bdc38576501ea89f61e4a408197240b272411db77da6e3319a95dbe - -COUNT=1 -L = 512 -KI = b2f3706c78a104fdab4a0f0426f405690f3606f685af60e5dd5dcbe041a0840fea0b922fab6f22b92e214f4780d70c16e726b40bf0f239c34d31e39439b079e8 -IVlen = 512 -IV = 057f09400d7b9bd37fbfcfb664be434e99c15dd30e75f678641fcca209c448bb561acc7bd44de1861908c3dfa7635ef894f4aee0ebd4f919ef3455e5cce63143 -FixedInputDataByteLen = 51 -FixedInputData = b282a836b6d7518c29fabab6bb754256f70daccc6a99f74f5ff850de60e5fb029236a21a3048cdc0fc59799f40a1587dccf785 -KO = 808136b0cef875ddce233ee4ca790aa6e2362882df97b531aeb087dae41cdece37b12fcaffcfda5f47d30794bc1079cc81129d564a05ac84f917919d5e43c692 - -COUNT=2 -L = 512 -KI = 4e762676d052d4760cd0b7d20e3d56df373cbf8e8e16202e43d9a19ad631a454e047d3c22f9a03cffd067f52f05ee160d08072f355ed55058d688816d228dbe5 -IVlen = 512 -IV = 8cbbd636b15d2c7f6eb256d770d995cde7fad1c0fea051b906fec29fe746342d3716fb70239de88124d99ac64dee39e9dacdcc86787350f8698d719e564067d3 -FixedInputDataByteLen = 51 -FixedInputData = f3266e1e8e2958dbce9bc4b33480daab3414ff2e098ab4f7a145da1d409c2a278fe41c54071460845df59fe8aacee0cd091c35 -KO = 1140b273a9bb40ed13f63578ec458f0772bf2919aaa247c46201634bb3d3197865bef632e1a5bd992da0d1b3ff1d8b07bc013ef5dd191e81e2dbc5e0c3613081 - -COUNT=3 -L = 512 -KI = 21afe71e1fd621ee1bf90c5a3743a2c03679144d1af9b431b95675877426ff2f4972e77f0d9a3659d854dbf9b805db60e8f31a0e46134aec32284e36a5171d1e -IVlen = 512 -IV = 7eb81a4dfb356deedc147a253754c225bb30ba572ac430f81bc945869c1b25de9b9961bc2f7cfbc886299b17ca542b7d2431897cd673aed0e4a172992ac367c0 -FixedInputDataByteLen = 51 -FixedInputData = aec37d8b1e4756994ee3fb2797cc566f9fd2c744a4e176ae8ad7767512adf5019d43f297019797fbdac2458606f0126e949575 -KO = 3cbc27355ccf4fc5956f1dcae3e7a4f8eaeb094abaf016ce4db25c37b2d98d4c9f38714de7c1d79c75c4fa045ee4005ab5abb972d2a6dbbdd6cab5a51ccd5444 - -COUNT=4 -L = 512 -KI = c5d5c922a483541736701a962ff5b8be8e5684f6f66ce93c84998d4a20b4a36a81a80ed7387533de0f7934c0feb9949eb859a33724205539db5ecca7bfe802e5 -IVlen = 512 -IV = e8edef570a01122416befe9b4eedde6670147f5b47ab5869d3d91574091aaecc7b437da8fa8f6ef57da6ee8dd9a25ffcec3eedb4cd8e73e63eaec9ee6b76c59d -FixedInputDataByteLen = 51 -FixedInputData = 3637f15e2694d0980c15de9e53e32c53c32a25387303d491a8c8727180005b992eee1428ce8cb49807f665d938e61649cc8828 -KO = e704055cdeea811dbf4ee211b187214f6a42e8ddaa70ea7354e8bd7ee15dcb2bd5a5aeaf6b327f762b7acd2f5349d6acf44cdc744135e05e048dc5d2524b0a6c - -COUNT=5 -L = 512 -KI = c721c517ca02926d0f7ee96c70e8cfa3d63ba7108118cdc30a19156ef5a8e898f5db54f2e2188a2cc9fa1eb0240d25851a0a075de5ad150b86482a0c95d0aa15 -IVlen = 512 -IV = f333448a31313e3cdbe2d07785b0116eab495b2c9e5e9661963dc78ce0589f326d2f83f0f1d45be186dac43cdf4e7f5ab031f0c5289dc9732cb703dfc42def42 -FixedInputDataByteLen = 51 -FixedInputData = 12209f0c8efaa33b04875ec9bbb08a2a36a9758ad049d36417827e0d722b2d3969589468a80c2f5de42d09ac754b405b925e51 -KO = 6a60e0f25a90ddfc619f167ea41d565d3cea2c171cdc07bf17768d4b837da1629fd21b7d47a3c0f9f6f3124b4b707478098343b965d58f2473f2c10eaa548e9a - -COUNT=6 -L = 512 -KI = 1988f7e24369e1fd57d19770d84e434aae26ae9ade71fbdf2a19b00028fe4fa559c8346566e77f1127f0675e831221149382a4dfe0fd07806f0462631e340ddd -IVlen = 512 -IV = ac10c78cbabafb66425b29a680268bc10abc94ede7f03a683d8ad2870463e22c9cdd1e0ee883ce0b5e471c33746b6a518932448cb47c77489eabb17cdf987226 -FixedInputDataByteLen = 51 -FixedInputData = f07b6613f73212db2aae7c7810845525ccf9bad0199a28302aec2a80a604c97175a98c01ed4c42e373257106cdf8063d9991f8 -KO = 86c6548ed9d635b4774a29a890aba72e137e9a071b65f16fec53b58da0612f859a79489f32177ab064f0372335823dccb443b7941919127081dda149e918277a - -COUNT=7 -L = 512 -KI = 6f1b8d9f11e963c7058a5dbfc9ac9e7ddf127946969e40929f6efff12d91af63300fa7a8eda52f9b89d645b5e210800063332cab30ad6881ec014775df510ae1 -IVlen = 512 -IV = 82e6f09853c7dfaafd5c733eaca8dd413541bcdf9df94b5b483adfff774bda6ae501860f27e580e034fdfa66b60800a71ff471a7584a28105bb1dc7a6012552d -FixedInputDataByteLen = 51 -FixedInputData = e8aec30b7674794fe0380240c57d787c0c9057bcea8850c3993fad7faeae14cd4340562b8539d7dab56d8cd87c5390bd632dad -KO = 5be832e91518f6455d83e3fc71c7beb7162cc7ea6180a0fa8dfc150d934aa748719878d6f5812f834ba3d6b15fcc5902cc744682339e24abc269bae5b7c71a7a - -COUNT=8 -L = 512 -KI = e3be36dd3bcf364709bc288f0ae981f2cb559b8d73e187e72d5dad9e6b8a2ad5502a8c53236580c9bbeaaf1a2cff27272ae01eb3d0efae9ecf5a15555f429364 -IVlen = 512 -IV = 62fa3ab9273190811a2191fcb67b6b3db0f2dba7d8c6e37cbf6945b629118433a49290a1f3795f8562fc789827b11e3eb1e0b53b51cf8a9d90871eb5450d00ec -FixedInputDataByteLen = 51 -FixedInputData = b9f052976827e26b66cd09405c9b05019dbcae29aee54785bb0b6561fae8d31a3c83bc67dfe3890923d91119e1044141d8e90b -KO = f01e3a6c346783cfb95ce7ea50085dd525552c5247f8d666990c14eee1b2c07d4292c206759e19c56c209ea700cde491b92c54bb3b601a09b9f7f15e32851643 - -COUNT=9 -L = 512 -KI = a42dae82d47be7bd3d11e3b833099f8ebf2025f0ca33df118ed0b75ba0075ef396c2ea3a9a82a7f921ec86e09e07a05fad9d949132fdeaad7f23d4ceded6652b -IVlen = 512 -IV = a6ea78bf8823a5f1dba933216e717b9553ec210a548ee806bbd948d3493a69bc2ff6351b832daea11e2d3f4fe44bd8d775364c0bb8cb60d0cdffeac76be45ff5 -FixedInputDataByteLen = 51 -FixedInputData = 862a7235e3d026a76b0047f8ab5dd401102f53af590ed6c112ed0136ef18efd5beb4c1073fc991a0f981e4ddbca995991e37e6 -KO = 2620a29d769608413804a520a4e1729bdf70a524af9c360d2c99d959d2b1c83d360e12f021f2b2c6a7549dc54dc1d7ca07cd6dd74969a38521af1b3d895b496b - -COUNT=10 -L = 2048 -KI = 81037aff9b972edb1f49b8d72ccad0bbdb4e5e66164e9d08af31a3bbe55a54368c36e994670e1f53fc659c6f98859fe561e7e64e33d85a7e2170ccc7e3e1b351 -IVlen = 512 -IV = ac52eb3a7590c15fb76b8235ca50c51467c72428250693103fa7c9389efed969eb8ec48bfca4cf51f84092aace79fb1fedd73a3d3d4cbc8801a6c739ed02e491 -FixedInputDataByteLen = 51 -FixedInputData = 2065a4838de6118bb61d8ab7a7e59604e02dbcfd3f25eb37046617ec13164ab668283318d4a403f6772c3a4a48522d3b9f60fe -KO = 8a14b61642a6c1d14521fd160022556a5b6ed63d6ca33cbbd32f5a0408f78fdf873a3cfebd2bad72f463338d3c6f74428a6a484e513566ccd4142e9f8e39d02e1e1cd8857a8593c920752fa6af477a77e91ef7a170bfcc7ea65ca0f5ebf43ffd9b1aa9ae4dde33c1988ab76928178e21d9613c7399a1f7af12d5131b300fbfaabda5fcad6567154da8cdb8fef7b93f95bbc784dd71696d87a71a231135cafbb330199afd57c68733c341fd5f4fc59912338cb603a49c4f1ef60b073d6317d0da8dc45a5831e7b95cf2ad44fe5e8e8531eadaf52d328e3825706749df828dba253b62aa5fc69e1f364a96806001c8bd6315f4439f91193e1405ee72c7c2ded788 - -COUNT=11 -L = 2048 -KI = ac0fde5161e6899c350c91dc422d1a93ff0bf8526737bf72c85185a9b97f79d52fca0ca215f35813f1760e9f0222a7e42e4a2236c597b91c78ec11418982688f -IVlen = 512 -IV = 2e35e341da18268da6ad7aa54e03fc82364cd49fb23905cd4f764c7f11312989c5a59dfbb3f1eb184644fe77a16ff213f1f7afb74a7548a4c9de4ce60359ee4d -FixedInputDataByteLen = 51 -FixedInputData = c5671657bada3c1b31d65dba17f77303b53e9f986714115bcf2ad880bb44adfd693c2ac5bb16ef555707ccfe63d4c2e51b50ec -KO = dbdac3598e4c50e91726b9a46302dfce557bf6c51419d02926bcd08dd8586007fbbe7fb376208824b11bc63088b4069af324c0f1dd28a65f1b8e5f35578c50b635b89058e2f595d0fdc571b40198871ddbc15a1567ba34c1ac3075b59f5b714ed4a9159cebd23da1c192024523332735f963dc828b9fa10e0c3899d83dda308e96e1583f09efdc931c20f0cf15462268a1f50c803bbdcca9139cc9694cae9d249beb1352c55d7d3cdba26198a836cd07670c2f6d5d60f48dc452f1bc0260ea08199904fe3e8554dff1b093a1ed0a2d46f96b3d565e9a8e3f28a53a1dd92147c767ef8ad3fbf22c0788f2d6e5c95c2ff0a4baf702645fd46d1667da7590b5d9c3 - -COUNT=12 -L = 2048 -KI = 61421665b32e16ab0326f54dabeb0c807c34bab00204c5b7bcb6ae5f3c00617d7fc857d76f58eeef175c21e15600577bc1f55eff2d30329059834187d4888be7 -IVlen = 512 -IV = 3972cf0bfb745618f60929f3a3b7a95cddd95e50c6e475f38a4ef327b1dd69dc8a5643478a9d7390d699b080fb05ad25a21809894a4271b19e24fa1e3060428f -FixedInputDataByteLen = 51 -FixedInputData = dec73b7eeeb3a73d08aca47649bfde943a4d8701bf973a964e6ee62dd7d23423808010202667f4c4d9010234f0e690c8ec482a -KO = 8f97ce2ea94cd43eec277017307f4bb679ae5af7582ea10cf48e85d90049c994e869d5e3d71b01bcf1cf496828bd6d1404013817274afc6dbbbfbb9a67a18c7c247bee8db588d4050c8742c4bcb60f296e53d70debffca06048b30e356b2cf79112f84504807b6d39e2ea49cb6594aaa6bf2d2f8e8fb5a83a3b2b78f548ca29443bb669ec12bc783f55e529973193eca80b0d888a01b19926c68625a08010ba162492503a1b1dbc78f0c8ce61c171375ba0fe5474fb4c045a9863d2e6eef3e6cbf472543131fe4e2e853f5be717d8254f05cd5d61dfe48afb3b839e616879ccf3263c1bf785f5e1c310bb3229bacd7c75f9dd09b54299fa65f75945f17a759b5 - -COUNT=13 -L = 2048 -KI = e90dc7f0319dd2e86ee4571a09d63d992dd64c182d8f63b0e64f16a92512fe9c8a05c45c389f99174983d68ebd361d6f3237fec4fb301334fe270ede5d7c3ae4 -IVlen = 512 -IV = 94acbfee9d140715c42ce81533b70a456a1acbea12edaa86e2597014d5fc8eb1df89e67c3688a964830d543f848c8130d51e8374df6048f0ae6db31e55186155 -FixedInputDataByteLen = 51 -FixedInputData = c0da15f9c4ba659130ee876f2345ae1bfa5da613be46d00fbf86eaa0d1201428127934a0ead3be053d40f8d4fbaa3f315a6a88 -KO = 682f1c574ee321a3aac019616ff1c1f9addd0474da250c29c43006818f54ab7a0705586fcfe1bf260dfa78e1a3df1614035ca43a70ed43683b3179572ddbd7852200ef53a217c8e6d0ca18f869885fff0da22209a5429a2298a1df1162be4eec8658fc89ad0ecb068025b86930ac3d8e9893f84f1c8d096563003ed54a18beee3fc3aadd9f226bed06096b07131bff6f52de3ceabccf8f3bd63d3dbdf9c02ba4bd45f2ed367281c85902306465d63df5c9edab524b75608e13b9348acc3f6bb0162685129c1701e76fa0998fb015f96611fdf4437c6c9a904464b4be9370b34e6befbb748742f33ea2264f2960e8aadb30ccab727e57a4927c18b91f92577d5c - -COUNT=14 -L = 2048 -KI = d8da0b7256ef9caf95000a48a8921675dd3d6ca7d1471a9c69d3447924b5c97ab3dfb80ee57d5f71526c3840eac412cc2dc03ea8e5e03988c6455da0b7c207eb -IVlen = 512 -IV = ded7563e9f72bffa2ae4e6aa25a59481673e1371730319a9fb9aadbc846a51d62f51d61f9b3424d5f1d945e573afc4dae02ae01ece58b855889b57ad8258a164 -FixedInputDataByteLen = 51 -FixedInputData = dd72033ace59f8a9cad0c6144609e95ea8b0a857aae96d5ee2d235955224ffa32668b13fb69e40f07f1742b65458f07e428f5d -KO = 35d41d745839bf6c5cf1274d559673ca6b918318f4c45be984d019b7e9ba9eae7f305bcf91045cc0f46c48e7ce326389bb7ad10d7b0a06373e053036bd0774f284ad05c0c3757fc8407afe4c216debd2edd819fce1265bc91caf91a32bf66c27c8ee0ce9c588063110f0a12037c0a8569f4fb63b20ebe3a9ff77a6d0d583100f50eb238464a2216ce92021db511518b2e8d2fbb75bf0b6a34ee4be82972a55bde18905119be6d0c9ad0ba71c0ff137d8eabe7aa871b65ed7bc8ec6183725b3e4c15fb388eecbfef104126a11c80889a2529eea14558b9b0cf9382ac3bab327a9b003df0ab40cc530820a42b0fc4aa1edc22b013518888759fc2ec536bf83b868 - -COUNT=15 -L = 2048 -KI = e12abfe8f07fcb23f0808bb4cd9ef01f932d1e406cfbfa6cf77625be5ed932a0171c5dfbf1fa54435ee9aca051dad1df18dc2fa1735bda16f21163b1471502c9 -IVlen = 512 -IV = 466d711d66efe36f0683c424b7fa64eb6b149a4cd4a96aef9aab746f279a3b8dc76e1409d087fcea8ca109996484e8b88fd8ed9bbf69924dd5af8e89fc6fbb4b -FixedInputDataByteLen = 51 -FixedInputData = f33e23a73b5960e741679d33e4ed44d3f4b8fd53c3559fe48ca7004ca35e33c73b326071352d6b954362b8d4841ce302bc435e -KO = 534d00b5c554e9286f98a0998edea6492606ee96e0bf5e57abf5706521c5ad882007d3c25bbf2189852c241a546a62654f1a48953384c6e52667514abd83ab740c4a7d2f97721480b09ed07d570e93b47a513370973010483558a59223cc03f6ddb4eeb386dfbd9cdd9ac624aacb67ea48bdb86286f4387fb639797504a3df6b698933dd4d0dc020d25d14a1614eef5cda061fe2750181bcab48b9f67d377faec9a48f7dc5c2be9672be05124dd7cfc0886d8fcd4a063629a444e96ed5e3810fe99c078fa7f4b344ee51e5292cb8148a0c96c3cd36f21f4593c45ae5d11f579e40889dbcfb9ea424c6ebdeb242b9195d946b1b3ed0e1044189a2d57e87abd930 - -COUNT=16 -L = 2048 -KI = 05cc6166545982cced0a9336a1257065460f5571b0787bd6b1b87888ac1c820c1949d9590f092b5266e2bc5653c98c38f04f27795fb4069d4e737fc2a6ee9556 -IVlen = 512 -IV = 549cb1218f60c36aa1e7a862a82e8f788a0f213676bd5ff471037cd4ff289147fc5bb8ce4f84e5150933dd6f031c7d39bc0959254bad3c045bee7a58b7f211f7 -FixedInputDataByteLen = 51 -FixedInputData = 8b1ca4201fee0098c15ce2edfbdb5153567c1e12e6ad56022db8b50f667768009e9fbc14466228a367903d660346e9b4511ae4 -KO = 94f16ef7ee56bc219c6ef90eda3ac26e733d4772128c02193ee4fe04ab1a4003c271634512b571fe680159a8b026be21cc679d8197a66f0fd42b36a6d47c811022e136fe2f9455f53cbc407da9e84f8d1431d228470ba3b358e9002c165a502ec4b1f99144bfe46307bd20ea49d8b1554ce3c1c5cd1528436f3f99078be61ef6c8bd256b91837154ff76fe19c4bf2b9c0bd99ba7083d85e7c6b7b078ad5cfdb051b0871ccd51d2abc4865f5b49c500a647531f42eaea8aa339c467a9cc2c859f3e3f7e320bea58f953a07e2eb08fc01036fae298eb591fe7d2510a0c4edcb694f42303bce2b5503f42793a3cade2a567249741b362d4533336432265754da5d6 - -COUNT=17 -L = 2048 -KI = c11f0e384b5bf121d80c453a0a4f96f947c0db4b663fa65bc45c7834f085038eec427210a673854d838342b22725f5054b773d3286ed4b1314774b865b488f36 -IVlen = 512 -IV = f3467dd5c68564eca90ba4dbbf18dabce82d2ed7b35e057f354cc67f2f33a69fe2be92f3dcbcd4157777349b9fc653d04d66573e4b5e024f346a6b8674f87179 -FixedInputDataByteLen = 51 -FixedInputData = c3d849070d74951891b17ec85fe058d770e48af2fc3fcebdd431a6665994c1630956938b9489c6217fcba9ec6255678b8e39ab -KO = 92d65f9b99e47e6389aa7e77ac5794a79bf24715557afc5ce66f42532c36cb1382e2ff889fee1e01cff0dbf7876185fdb1c99b7eca69cd1ffa2264c0e899b5fb726cae86cad2cb30d6557a1b42e0c80b05d3086fedeebfcb99df8c22e4153ebf27ca826e2d958085f7fe622dda9aa1e5f26307980844ac78f8c8fa3b79eaa1fcd7dcbfbd6a9df7976dffc7c2e2c0db0182e8d54b7c24f2a7bbe94f47ce8cca4a463177ae8a4cd3e55372883d7467599035cf734d94898e1c2e85d90624fc5a08616bcbebdae3e717ab26c4a075c545d2c08aedde6bbbdb19e9bb62ca77bdd818980ebbd6e364a1b799071eff78491882ee8e3cda20757b36be5c05c8685b2d1a - -COUNT=18 -L = 2048 -KI = 90bd902339a312661eab4a3370ca40146a6fddef5f4234ba37dbf55ee2c5641c19cb7fccaeb8316cc9c89ecb3f86c06257e3f019af84099984ad349d102b9608 -IVlen = 512 -IV = ea48dfc25c7d031b5c361cdad91e0ec2eb69a174cb8828639debe77967b0946f651f044018971a9ebf28237b6653e2d93c75f19d9a824c2bf299f154480ccb6f -FixedInputDataByteLen = 51 -FixedInputData = 46597e1940adaec2692f8eb5508883fd53974d3698f27dc11dea16173d6a59e6d1c5b8020f6e6d41d29f9628858bcba1544ce0 -KO = f0afa2ca271237b9fbec4917f040578975e80e24cd688e1154a4ea97874c57dee2161c0be06d51f2a6750fc378112990f82903a49b738526764f038be00365e4a5b24806bcee09d6557a6f64d3b839c9f6df9b3132c3134eb15e780c08511637a1df6498c865e04dcef9dfdd926af3ab92b89748071b4cc35a342667a35028958c6ec80ec2164246e1d42935817492541ce651d26df3498b3eadfa97b87786116f2c864dba6353acfe375d0f95521c7f01c1c988cd3a3b81b18bf3ff7f5e3a84354f3a5a49ced3fe128e88662d3bde17f5b3905f37a16f9b7356bec3f7a7782536f0c7cd92a338c9698e592eb1d19fb7cad4016771d7548a9e3b0975d2817cda - -COUNT=19 -L = 2048 -KI = 19ffe5833dddb0c6d2ca75bfd5b8489af4aaf42901cd4d5fe532e71795294992d6f6810738e7656d3d3175b676c44e4b849cc6fc51be538b979f4fa9b0a50ef3 -IVlen = 512 -IV = 821798c8f68b2cd41876264e63497d7c0c5b5f1dc100bbe2bf75d434f3dfda2c2b2cb7ac7b4c9a702aff217d3759094ec134578af6852cf26d0150efd3977771 -FixedInputDataByteLen = 51 -FixedInputData = fca972f48df872ca3aab2fdb4790882cf4a0f04e3e4609ae49dbc68a0d917dfe74295fd6a99c1639f97cea7545988b26ef5e97 -KO = bcaeb707cf8a25ed283b9e222aae147eaa09ecee7fa3758395e48aaf094f75e77cb7e64df3ce19333cea16f860272bdd96b7764deee830f49148de3ac80d998e7d119d847b349d370f1c20f706cf54d65fd3f4f6c010f3e438a78264916750fb174efc3deed137c2bd1f5f28ee2a98ed37400b78a230d45b6736e4fb172c7ceac0a5e054dfd76eff0f8102efb9ffd0e831ce6c328af6d958e2f5115abb7319a09bc0481050f2b2d8f15aac62fc73fff94c665745e15a52a6c2d6380d243b84d8d3c1b77b1110d1a42edcf309c5d47a6d79ac89c49352d73f6428b45645f1e47e338aea736d775dfab847015b8edf072aea1fe9029234f86e5b1311f5f3bdca09 - -COUNT=20 -L = 560 -KI = d3d20750da614f903661544e464b3fe9c2e09719e92efd05d65cc58285ae1473f40654f76f3007d04e6d95e7055e12e4e166a2e1865700a963f7d71aac500f10 -IVlen = 512 -IV = 25232304b2ec125c9ddbbc712725c8153504e28af5eaeea3234c0c4938fb6a16799e68094232b36fa6455a881a341628f77189c8a80415d5f27b5cce6c227468 -FixedInputDataByteLen = 51 -FixedInputData = 6c674020027925e5bd2ffd83c0dfbbfeafea90d6bfbbcddb4673027012a70c4e846a3abdca4c1ed4e60ac90c639fbcc3c0b039 -KO = 5d3ccafaabeb461be800580b67be8463e341b52246da6ce71ba18aa5af6210455b176cb21ea06b22838d14f653f7a84ffbf29452b0289ae8b59ca5a6f53798adf2d8bb45f6cf - -COUNT=21 -L = 560 -KI = 8cc7a574b5aa8fe95e6dc03e7de2ac964dc12c91cf6342d1e9d8ad174caf6629c447a2c750e9ddbe8739f6aa8ef8465564aa18d9e71355ae1dae64bebfbd769e -IVlen = 512 -IV = 4bb933144d6579444c0562f13f5b5551b895cacf986783b6b559cfdfa4955938c7c0655b94eb879ad3850faa57c32a87b5180ee79a768c939e35ff9689b1ce57 -FixedInputDataByteLen = 51 -FixedInputData = cd47c90ca5604eea13aa772c983d6e4e81e587ca2520ac1f14148fb97874cc22101bf6c2fc4aedc4ba761e51ced8edeeb26b2e -KO = 57c9ccc036a18ae8163bb092f6b32534b72843ff54543dbbc5717da6f9cd3e576c685aa39a491a7717b63ec2b9641cbf229d83673e7308f10444ee30acc41aee73b932edb7e5 - -COUNT=22 -L = 560 -KI = c193f22ed42a666765541df5531d647fa07aecd13e5808d84e0d0f370b77c6b2788cb70d702057b9fe2bfc203d7ff3a8bc58b23db433fd7f4dda846688f558be -IVlen = 512 -IV = 47e9dac143aa2cd4538246f6e85654712903236a2264f6285fa59ff6740b5657d89c7985cbc0ef2b38869763d6fbfea747c7ad345bd02f09dfd2149c602d85fd -FixedInputDataByteLen = 51 -FixedInputData = 138e7c56f9dc63e95c1d1675f82993eab362ecb4a3c94aa822f80e057dc59442d137ea41fba4490f08f8140f2b85f18adf90db -KO = 61f034dd74ab5e72733b0e1a1f4cdb98249581184a1ceb2badc749c27d7ca6bbb585cc9406006d39c3ae48999506907bf05b16134225a397662b98cedcb2a5fae68e6e38be6d - -COUNT=23 -L = 560 -KI = 91192da218dfc4efa070e3b401a68f51d49e986be312494594eb4c08b8edf3441cb32def86acf5a6bbc0e6ea540efd7e96ad6ef5994bdfb84a6b93b08e00d3f6 -IVlen = 512 -IV = 6d4973d5f7e1290ba34cd4b0fad96ac42889ab6b775a9e90a6d2e3db813395154b4931ffa5588c86d833a5d6b0e823b9f70dacbd948745702263cdae0119b720 -FixedInputDataByteLen = 51 -FixedInputData = fcb21296710b3503579a7dfeaf625b0748752c19a9e98dde768384e9159dfca6c7a3acede106de452a9b4ab9f3b9098705be31 -KO = c38a7505c601788d9f065d33778bc6605ef9df2c277a4628c0bae11eb7cda38a2cd32c968dd13dbc01b3931afc2fbbf2a774b172c32e04d56ea3cb109a17a17add0530e7e71c - -COUNT=24 -L = 560 -KI = 534df20f389b991d4143ab7a7d07f4a11020fb790fd3b56865c87e0024704c12a94a4f96da4a6d3ba6b70dee3201cdeb9a0650093504908400fde9af7cae7626 -IVlen = 512 -IV = 465f19cb4b778a12b34c25fd28535630249f3f17f055b6379410e5bb783b06de2b32a1b6a6b8255b7e7f66a7dd109de852552c242e7fa09914b13554ba3dac02 -FixedInputDataByteLen = 51 -FixedInputData = 0190f11e028f0c3323b845d45ab64227575d9a63f711edb4ed01adca4cef3683404e31829dfec5b184ca6cce9494cad24f85fe -KO = 98625a3bc9761e44abc5ff3c7e3b0c6646f327ebab26752e13ab825f0809578a16e88d0ead4977d8f32a052c94e4e4ad8eb4134b3f91bae0476e583f788b36da1c5786efc951 - -COUNT=25 -L = 560 -KI = 3cb4c98dde1c1d1311a0fa5ba858cfd0bbf7deb6277defbd629de6577475f5ac4733944d589248f3126eac352b2a4395202f2f3d66fdb433c3deb49b58f02667 -IVlen = 512 -IV = d1a938aef40a87e8b932b50306141d028a3569f3388639f6c560f947e90898e0b5ba2a3b51747fa2f5cc9be31999419a7dfa91d894ce4ffacccad0803b76ceec -FixedInputDataByteLen = 51 -FixedInputData = f82682c5a98ade33666da57eab39901e44ece03c9b769f9dda62487e2b497b9c14298fcae1836168262640df04dd10e2abe210 -KO = 2b636de7c792d4f17489afa20143bab73164fabcd60e76fd33db4acfb54104862d32cec25e423b30c363576fa02fab2b38468ddc03200f9685c41fd33cac3139507a9d51e5e6 - -COUNT=26 -L = 560 -KI = 845e3a6b2a85bcd50ced035d462b5d4090b542c2fd7d2cdf9691a95ba66c1e1f520a2bf692edbb5a0d9207b07df87c3f4ec887b9c31b95f3801f64cfcd137ca4 -IVlen = 512 -IV = f845019d69fd038a3ac8ada8ce84bc979c2e5331fee5e823e58d22cc44b375ac911be3d6248fea487c6054173b2f23cdc3b21586004128f84203459e5c9b1826 -FixedInputDataByteLen = 51 -FixedInputData = 90d645ddbfeee38edc1641b8429c68e1a78319ef8034e79370fdf406f713a922c5adaf809a418a678de8763c861ff59b856d36 -KO = 7b3b6aee91c9d8558e69db91c78105a17cbc168123d8323618c16c7859c55486d2659abc33a95ab221101561dc105ff3269568455f573e40018c9e52569a32cee8775a3a17f4 - -COUNT=27 -L = 560 -KI = b3aa3463b4f2457dd9b371d05b0359a2e393c8bf5fd30edfeff03a62b42c6713d8a6b25f8c9b6219b74e0fc2896b9e81596fd0ae6a3e987d849b6c57fb03f447 -IVlen = 512 -IV = 8f4fb356ca1614272011ecb3640deff7e225d2deb863ee39be21ac43b3d151bb3cca0d33138f117635b1a46a2d50def1f50d0878c914579e39a86a849cd56aa5 -FixedInputDataByteLen = 51 -FixedInputData = 750ee4c492624cbea0d0cea3666793f15815756e3f13e711bd0a7f575bad60780f50988c98a0de8cf60f90db0a4b7c4988b6cd -KO = 20375dc699104d61882e5b5d260ea8e0ff08ad407973d406bbb6ae21527df94619a07d8c239a5463f88460bc1e66f4db7def41a4a5830456ff51fc93df7ffe224cd3885aede9 - -COUNT=28 -L = 560 -KI = 915d485f19264e461980e88e8b8c9b6f3c60c87d315eeba8ad11481a6dcbc837538171bf3d81abc5dd5a253291879e2e9deebc08bf3ed22043e1bb8de822d71e -IVlen = 512 -IV = 88263b237fefb37c553e48b9a13a4764ad77192e8736d6e2077c77d417f65db623d6e3b8da99acd4f35e4883306f202649491ce85068022df4bdc2b1c97d4362 -FixedInputDataByteLen = 51 -FixedInputData = 49ce9e777cbf18fae74d27c514bb4dbf393da88ce4d28336beeaf93a82624b10449d494d2dd8d38ac90573d46683f8e552a7e5 -KO = d7c6fc5c7077f5834aaff756748326193b76bc2411b91ed738fddd4174a2083234a369678804ea279dba23d19f49716ce5db726b09a5c4a9bdd4ed564125c674c2e700e4ac5a - -COUNT=29 -L = 560 -KI = 131edd5045ca1e64870918683f349800d46e198f329fc3f479e6c844d1a25f67d3ce78087a183cba5c2ca41016a82715fba9b68328befa76eb767a4878acce43 -IVlen = 512 -IV = 007d11a4fede02bfd3894ab9c4f33316fd700fc932b9eb18291bd03f068723a6f6d64bbb69c97fc318ef2318de3a7b5a4e2b8b22ef611dff177876260b0f42ab -FixedInputDataByteLen = 51 -FixedInputData = bdf0490950511844c68003c963bf1b38427cf6ae5fb0ab3817875fdba4b6ad2181ab486cb826d695646a57354cd194455799a6 -KO = 15e111c5c6865959363f430fb3c9a5250052344ff73a5bde645a0800416501beca4677530b60ec562d88e401d7a4fe8801866c54b2f9900d7f148a8b48d241d8db720a8f5ca2 - -COUNT=30 -L = 2400 -KI = 47653b93dbf7915db2b3fd64fa5d8740cf397f7caf866999daef39672ba3725c887f4ba92681cfa235d97fb9fc60d46052d7a32e76826c1807840006e4087c55 -IVlen = 512 -IV = 50ccc3cc631071913a01787f6b3e20bb969c0a1b836fb70e7b142e9e1a3ac8b45018aa1be2e86a9b9b62349031e954535ba1025fc2e350b11a8c9d83089715e1 -FixedInputDataByteLen = 51 -FixedInputData = 0905ea4bdd4e98e5ffca67e7758184c48fa5b53c965f5ebb8088ec860a8711f5631fc31df6e49ae20096b09c994517669fa9ae -KO = b08da9429a170f7805a465fe675e47c82c63ffdb73086421d2fbf84877d272cfe222c1c1f9196d9efc96b4528f7f0a1409a260e6c3194703ed898b472511ecc6747ca18c54feabd279d76aacbef17a4c1cc2fb85532ae65c5fd59677225f5ba71abb05c006312be4b57c1a1c78ff343cd799382301e241fc1a5abeded6d291d35fa34e0f8eb2b52223691216e78200bbca7ac1432d5a71a447f011df22102e5d542933e208100abaad9e9705c5a1969961f52ab7577493db335252dbea172d63c5fb7cd60b87010229d38850df893b312c0ff96dcd3fc573332dd796f6e4b2e86a538aabc434a1c843e365851c677335a32d5e1ba23312d14b557d6200b019a1da797f36857f8366bd982f01a2dc7c3d49bc8e34a0fec19bbb5a1b8f9a30cbd57810dbf8c90001f8e6462053 - -COUNT=31 -L = 2400 -KI = 0db5444ac7af7de4c58399ea407f7450cb857aa4670aaa4bf4777285d075a4132ab8ba41439b70350ff7749dfe6bc697403f80d79bc23634c37f7636e0ca7918 -IVlen = 512 -IV = 7df6e9aa1dba91852f02a0d0d5725fab703aec03b84d0fb3f73dd623accb2f438db79e08add883f5f367d43e512ebb96c4e536ba0bda769661535f0518153151 -FixedInputDataByteLen = 51 -FixedInputData = 70d9ca31203b44f4e6b255cc44e1752f8c09eaf6970506f9704d061ece6fac98ae17f76358fc2b953e10b91a03aefd611fe38f -KO = e0c76920f8646ab7d74524479d142c5d36fa9a9c09595ee55e49a55ffc6eaa1c3fec186f4ae8185c5656f02aec9aee9911310304b8bff1d576ec0a28531fa2d5d046d5cfee053c7f692a158e0d64907dcc668e2bc9e0f292bd028565b79a05c408a7aff5ade4a24292f0d23338db2dfde2b4a0a90ae2fe06cc250c0ca3a1b404797e5a49d0efe26aab3268fa57c5bc0d8898bc30b54bd5398d2e5c520cd24c33e15b25a735201f2249e0183a915cabc599d36ac0e965f91eb6bf678c6d128eb5cc5aa718db119b5a51cef3822b99079a3816b15ca781da890b84f0ba44de90432afeb639c5037cff89bf6159d82fbb97339113510bae84e82d300e0aa500b2acb84dec2f3bb2f80d9c42097780ddaee47713d93cd77244eab7a1535a506a3ef43441b9e15e6d035595fc68b7 - -COUNT=32 -L = 2400 -KI = e40bcf5f75a189b1cc9036849abb4ed517f18432890409036db128819f22e38338ad1f499e599e10248b95e63322f7177ee4d7f387413c929cf7d3bc4ef438ca -IVlen = 512 -IV = 611a6d9f00436938ef73abec862fb0482a558942d00220f07e2b98083966719f74b6de014b28d9e552c86aa7498b3cbd65bc7ceb48bda25f000910082ea5d24b -FixedInputDataByteLen = 51 -FixedInputData = bf28316fddd61dc10b069bebec013cfd8d00a02e24f065a878aa6094d20ea07da1b8bd32dcbbc32766452571b5459f0e10bfe6 -KO = 21043549486580cc926eedb17d5c7465c311b607dd71a203fcdec5e160aa3efcb61d26989dcbef99d8be1a34ec92cba43c91c389c926bb3ea3baa28cb9eeda95aa483e5495505aee2452a9dc7acdaff33466f6375ccfea67a3b3da81b108895073242d9becec4e868f87173ac108fc45559a7555db8015aaca798389b6d2cdd57b52c156e93cae19c55e3fef45027ad6a1e5364212723aff026098bfc7c8f151426552f920caca940bcbb58b220bdfeee4910335c7ea5ad6fd3af241f33c3a654a2d2b20646e44179bf40ea712251705c4eaf001bfb9ca6b25f361ccef5a6c529c33b9a84213aef31830a34981719e170d29409f4bdce128deb32056f60f6cdcbf027e066e494a90181283479a92c5a8fa98b2e30e071178835b8d969e941dc5b265d9e9bed1a750c561d97c - -COUNT=33 -L = 2400 -KI = 3b7f71ac005ffe312fead5e1f844c61dfad629e10cd0b28d3d96f99706da556900eac9db789dfe4bf34bc176ad5c288c7c5870e2caebf630bb9dbde6783c35d1 -IVlen = 512 -IV = 32980732e4a6ec5071a329e370ae0c4c5e9dac82c21a7835e578346a58f1b1c9b8b09de7031b153e93a2f4488a88c288c79b9311f675d035ec0d87c4ce41a636 -FixedInputDataByteLen = 51 -FixedInputData = 5c07dde531e344b01c05760958096f6bb208e5d07cacaa6cb6145c63f5200f4424bf8282868645c34e9067066a58d988701554 -KO = 0e1d247371d1ea228be330a335ca741716297f8b7284e88083aecd0fe5b802753bb2719644969822b032b0246b783bd5273fd43ec9304b2e2fdc6ef4321dc11d9fbecf60d62284d0585e83aaf41672610fe1c1caa264142b584d687a0f07b558e36e2136222dda0790ff455689115c6205f98249b84fda166f30861534a22f3ea46b2711189bf72ae8480d1b6fc354ca481fe20e73abda9320df31b5b3533912a1b72ed758455e09cd0545c0d58b35496d20559f7a775bc3cea20bbaa48895b6106b3a3c8bc4226f825b987f69290a00cc2c22733e5b5c52411b8d1ce11f27e69761b548ee5bf99c5455e0b2fefd8bc6b81fbbfd3f750596a1d493e9df8a2954c71b8e172f55a023f1eb46dc0f08062246628536becb2cec65b775400a1bfb30d94e0afc482a27d36698c774 - -COUNT=34 -L = 2400 -KI = 87697fb6bcfb31c7a6e54cb861bfbadf3a71de35d04f2c876278a656f1b772566f1c0cb51c905988f23b60761f94c288282778bb1a4635058af59e5d0ffb990b -IVlen = 512 -IV = 112ab1a07c200fd455f3aa665fc12e91356e90dbaf95b02a552ced767b68f5128820057e26b1a39d801701874354da6d2397d9160960edb9498e54fce40ebd18 -FixedInputDataByteLen = 51 -FixedInputData = 6b1d8189ddeec5fd5af7f93a21069a6780c6385ec113b49d0f2d58c5068d6424165346d64977a8849f1898867bb501e3bd2788 -KO = 58bd64cd7c30b4902ac31a82190e9b13361dd0849c8a1798bb792cb18d8ea942db1869449aebacb7604648bf13243d97cbd631d343d694bf0afb7d0d50c946bcb171961c4b3619da5a1413e74f6b6e3edf86f122d2bbc279e0a7300591bc66b4c27318f9fbda494b8921e53fc597d66c3589276a31bcc5da808bb927bf1cb7b7a104065d9e80db3c6b2c30b5ee7fbdbe265107a60873941f4b6c6c1d236dadd3ecb81f07f3c2cff40f0932146b36e2d5b395c5ae2c111ac9abc6431fc1c0f3aaa4689397a6827ec7a8c0f20232674299b47354335f1f5886a4a4273e0cfeabeecbf8b995e386c88537a31977d7c29077b51f5503aacfdab8761b30e71711eadca6f4a624c80c4a7999c22565507bc0716209c2514606dc073e86b1939f241a99f13e4b9819f72cf0b0da4299 - -COUNT=35 -L = 2400 -KI = e62d4b9656db4f02a0bb5714cf733c91e0a7d0737691794ab218913136357c872d806fe58c24804bf7995c1fd392585ab8e076a32ead71b686991a36c4c8bfd0 -IVlen = 512 -IV = 994b099b90dac2fb414f2ea4c69a02dd652ceb5e19878c956803ebaae9b04a2061ef824059a11cf52da639f355e3e79f0b208e0827ee450984dcbb383d8e4d46 -FixedInputDataByteLen = 51 -FixedInputData = cd4cfed593a82041146d640f5d7ef228c4abc5b884dbbbeab21d7c79752adb05344d89795391689e680117ae0c6726f9d994d0 -KO = efe65c5372cb9bb307fe921e99b9ca22d76dc3440669a9e2859daed9203d453ae4c3e78643b6edb6cfcbc555e10d192a363876ba367930aeef1ca27f53d54773cfacee7711e30b113bc7249f6f556293177e46b34b19a0435e04dcc1842324d240a1bc534a0de7937fb6f3e4ed4f284d3d9bfdff14009ca369a8ee5166eb7681e0f9f79ef1551acbdfb5d57abb1fa4e9d0f7586eb1f3e9abe4e02674ee5da819dba6b5c93987d02d16132384735b8cd429f9a399628dff1e163eabacbad3c4fca3208a9e477bb70d0a0489e4b012591a537d09333d27c709e94e7c30e18072b0d21933db0bfb61fa9307c17866180d96de2f41afafe5fbe934839be5fc3242f7c3e887094f0a7503200db80820566bd01d5352ca18cfa8a36b1556fca6d22d73da7657fcc6e863cef379390a - -COUNT=36 -L = 2400 -KI = 3b7087bbc658b7af195b2522b5e61c40205747d6ab0088fce547402b3cd81e6ee938f5bcf8463704b7ef82b8fc0cf8074f9041a3d38f6ecca73aee29b1d00dc4 -IVlen = 512 -IV = 0f6b68e95d5b6d4ff51dd3695ee78c125e5f21bf438ff694bd582320f91ffc44b3b01ac8348d516e184e72380982bc4f32d3650f9a881c9bd549f7c5e99c4a24 -FixedInputDataByteLen = 51 -FixedInputData = e7e6e867a1f355b9bd15aca18ad509a17f3929feab0ab8c0dba3444cc1f30e03ccf2f10892e7c918e1c87b913f3ce13755df05 -KO = 66dd460eefe11344b3992c7ba6b9d3caf4c2f27cd7152a0b17443c5141e88ad93fde5ede8fc02b464280973f98be367c18282df3fe2371b8d8eea1e131de16edec638aade834df1f49607dd22ef685d96aaf5dc088592e2fdda85064631b1e3d68832115b7ee7bf47b31db2f7059b6ad1e62cb00f90ed3bbca87a5730128bf8574a660d666739fab2992a28b2c1f017bce357f225cda1fe3db56d29e81e3b1c251a4f9aa05a30abd125f2a791ad6a1ea815159cd2613aba50eb518329de752d557ea658a1bfb9cf8d9c3bce7661bbf6d07f457866bb3e920ccfb4c26a60a56c11ae1127fee8d22685d66c5337a879a0d6357af93619d2e4468b0a71191631ad3618ed75aaf75d7f157af409ab8ce1e2118d8ca4ef56889f19796ab79e9bd565488600ecbb56c699d5d7b7d99 - -COUNT=37 -L = 2400 -KI = de5caa02fe821dea7867e3aadfb6467772cbf076ae3d46675bad15351ed2e2c377d6d749775376dfb168bca23a34a44df35a5d32a5d346aaa570fd7b0475807e -IVlen = 512 -IV = f775799a4ac4821cb9722cbcc77f16e5897e846b7d7eb7b473f9e41bf1c8b38492e58aae53c7f81917d8506aa00a47a855ad32a6271275972a0026d2f097043a -FixedInputDataByteLen = 51 -FixedInputData = 680ff4fe4fdcacbb7d3ea8e4c730e1c6542e3459177a5894ef5f9b461b9d33cee99dd009532617be4961213d87306590d31be2 -KO = 387802582af62d2403179dd1815ca8657a2ecf932c63dd665a0c580c0923ffbcd1f60ec365286ff4a42c14cd2dbb683349d70a3a4d201d85a7ceeeb3768533a8cc325d82d092248f3afecc007dd3cfd6b9f50b990925f0181d0f19499b98a23229aea51c6f6789c2dc1070b4bc35a1d54cafe6d0372f9ed2bb98c78f60cd2c7437aba55aa35724dab89f2080c3326fc8e3ee69104da13065831b6923c55563103b03fcb9ead63981b05e9370736744ec46005339ba1dabdc37d72f8e3f929b3eda0059fa0c6827a985db07434b61c7a0708a54782ad225dfbe5762664ab4afef6d2fc9bfde548f3ca630b9c78e5f6dc87bc1dcacce00a94cd4457190a64c8eea3328d3825bfcae127fc7fc6a6b73a69f77043ed3d4026dd1e806c363a55245ceef49217305bf2c0cb5f7e7fe - -COUNT=38 -L = 2400 -KI = 29a724628adc86cd396ad1e46cd1148dd13fb629f14d9feaced09a61d88d49f25e244c6ca09753f3e2955739f872667b5a3f1e22035357c83aae40325cdbd781 -IVlen = 512 -IV = deb6e7208463d461214fad444c53e9d79b8b1b8dc63be41470bc8d702b885e10cc5bf6c3172972cbeecb687ea32533ce7219c47c5f5e44beeb8346cfac15f604 -FixedInputDataByteLen = 51 -FixedInputData = 2b53156705134c9793e61f59de2bcde5c113af634f192fe7e248e208136c78b2fd7ce8d81b41a008e02cd5854a9615362093e5 -KO = 152b90c340374526c342f94603851d080615c6e10917ebc6ca1eb402f0ae4b159deee6b966012770aa9356e8593696f219341fc790429653f44a24c4392dfe7ca038e952cf9b8f94c2d3848b02a75207c293a20da1fbaebbce72e7c1fcf75e21266bfea10d743d7f45c38b2d0abff240f8f499b601844526093095cc13259a418e597ba9bdce30c70082230f39114e981ad5d228a6a39fa54d28ec1d895bc4bbe5ea32fcc87fa8450c5561de6660b58e7500dfc47a17f8e23c10edb3350641371f7726678d9084a73e6f1171095cba20eba6bb879dac2abd8dda04087848ccad36ef01701013a510fe6f8db67b89bdc6f1534564ef7585be7620fe6cb8785edbf2d68c9b29a72c6e03c215cc29fab3c0fe9afeda527fb427ad10146ba4ad6671cde06a362ccaef4522cec965 - -COUNT=39 -L = 2400 -KI = ad17c6b490d8816fa80c0a58eab10937afb4606f129b17a7ee9d6808d8da0163fa1bebd355692b4d224fe982ff237b7a7ed785e25103d1f0b195d83d01596246 -IVlen = 512 -IV = 849b5f9b64551e1bda072b4aaa1f5ec6f0c1a24d9225c5129c5d640ea887c212d557b7bb33d18596233af4e0c8821bfe744376abd296b0e1114093d6547186d1 -FixedInputDataByteLen = 51 -FixedInputData = 365e4aa1a1b69f53df09943b177f956c1fec21eaffd52c3e13ecdbf8bba456ebd84934ce3446b2aef3f99687cd7bf728c07a31 -KO = 834416475ebe058c52bdd0eda3f0d08e8e172163f9a799ccd1571c8eb3f0bcd3be7acc0b1cd06bc304e88582f06cb363285cc1dac837096b9f27e4007e1b655dcaf637e75d2c9d6b56b8d4edb21dcbeb996b7315b4c5a9295a7f0a01139edcd86175f7c32fdc7d5a9a7df3d595a247c2c2746aa7e341be4ea291b4d5451492b8915d6ddee684a274497c956354412c704aec84a4ad615a2e22859093e746381afe435f180fcd5cd3c459d328d2a660bddc1cb6eb156a8daa1f02767c7f88851512859441c67c1584dafd1f268ad3c874ab87ca41c97acc022f87bc29ffbb14e651e47974e4924987901269e46e1e2a7a2ec002d2892773928cb7022944d32009e70cfb4c76fde7d63a17e7c13016cd328451b0f1afa714a625330b1c1c6ac56f0cc9ea06e1d8e063cad862de - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = 78264b3e8c2eac84cb8a986a5c44309e29ae7f34a0a86bf9acb3da0a7a750fd6875122feb24ff9c2f8ae726d7bf154bde46d48618672bbb10a63169405ff1bd7 -IVlen = 512 -IV = 8fd702f338da9cb455e6a163507941214245a28ecf66db8205e8e4aebf5b34c9b755782312a5542dcb9d60073fd873847fdcfc0299351b2def30bfaa11a2efa5 -FixedInputDataByteLen = 51 -FixedInputData = 300493783fdf238bbafc3b4f7d621d8b5e5bd70446e9e58cc54f1ac1063d81fe1689f648c65deff4bc74f1ded675a5116e0b87 -KO = 199aeb5005fc410b0198cbea82c87a311db2d8602222fe2bb8ecaeaa494f6021f2ad5a0eb91d6ad919d8a7b516f0ea06c255202ece53de90b847eb91baef4ea2 - -COUNT=1 -L = 512 -KI = fef6ae4c40f2c096fe47bbef7f61445238ca50349b0a809d77fa9c8aeb775e98bb3ff0b533b2723bc74739c25d6c8724685f0cf42fb165fec56153d6417946c2 -IVlen = 512 -IV = b27b0ea9d8db55460965bea5cad7c084f71705093daba6a7049836735f0df58941f6737e42e54873f4bec32b4f9caafe1594ea5fb6855a2b610caa93d7db67bf -FixedInputDataByteLen = 51 -FixedInputData = 6fb1f24a02fcbd8813eab34a9b0e19ff9cb53cbc995ca49658c73aeb7a460bdbcdadffc1b6a9ceb414be0312a0ed0885063448 -KO = 1c63418699912a82b818f7d63282133d6fb082f192a21ebd6bccb4d91a198d309dbb1abf59c8bad09261cc51879f982736f68912fe0e17857da05a5ef8cf0211 - -COUNT=2 -L = 512 -KI = bae9b803350344bf4a0212cbfb9dd1d009c427d63ae3fafa2e6fc0af7ac5fdd0d1bd32ed6f420280ed6b947b9e9ddd83d18bde00a95d9bf2b4003aef76026da4 -IVlen = 512 -IV = b1cfa6b7d9d668506b92e453c63be42891d5f6d18372bd4dfe70febc9d5ca0dc33504f95c0b161a176ac47afe6a8a454b7bf1fdc5a93cb2d77e1f0279fd4ee60 -FixedInputDataByteLen = 51 -FixedInputData = 016df8a631fb2876b4783c326520f2d7e263c202279c7df1deca974e24ed75d32c902e7f1ceac4155d7c229cda33eb4d6f075a -KO = d9fd0f4acffb8cf71241b06852e4003ff245e7a70db847f49dc8382c38cd40c124f6542383d15381c8414b853af2ca10dc7580505107a778586bd84407ea51c6 - -COUNT=3 -L = 512 -KI = 3c87017612739b421d879f8a107e135fe4a6b8365eb3795f6f1e495246f0871919a5d0546cd75601e57477ad4c59874e4e4ffdb25cdd2628259cad9e07a5622d -IVlen = 512 -IV = 6173386a1c930fe042289ee31c1dce210d14088f342b7f16dc5b1fdd6e1640932ef712ee5cd46303217bd2110334bae74441ebfd70751c581255b78e8343e6a5 -FixedInputDataByteLen = 51 -FixedInputData = b7c196bc1357c563ef3c7df10098cd42181ee18285314552ce9d00d975fd7af093c260c444fe4e9dd71ac03238354c745c9d59 -KO = 05236f6e1764bd6ef657a448701074f63d59f8b92b0f59d608195a5f95d8573c6712b787b81b3a1b421bff7959ddf20a4616f9b76f1c0dc0b29c1d8a32bc2318 - -COUNT=4 -L = 512 -KI = 6ef4c428d9a3df177dd568307330e9e65011660e8f3f29453d97c6e79a58fa1f5f57da61ff8a8051aacc5dce9599e87f02cda2ddf4f029115b01aea156b29d2a -IVlen = 512 -IV = aadfaff2265c3cc80029f5bb5ece65f35f2a5cdb877e68b3520de43ae5d3e3ad32dabc336481df23c9132e7174a0eb80e7518b1fc92a965408fa4b019a2e8438 -FixedInputDataByteLen = 51 -FixedInputData = 50055c070c42e9d4b78649db732e4d98b0601f1a0ca56455c303bb2711c9669dfc7bfc3cd272e3b4676357410200689d03e4cb -KO = f20074180a860efec84a632e4611f7ff1b2edb5ba7f4d465441cfdacfcf6d7e06db8ed3488f8740f2650531920a430790dbb7eed3dca72f35c73c99d86d7a2f1 - -COUNT=5 -L = 512 -KI = 3a13a469f49ba213c2dc9a078f8f771d1828b4b4214c9f2c907dba928b51016eb9261c85f3afba5bae7519834501fa0991078aa333995a543896744835488b9f -IVlen = 512 -IV = 5191faf58a974666440385c167f1dcbdf6cbb2384687825a3fceb7ce74261637a5db5067bca8c64adbfe795ee4d9569ec8311739c95f7a845871030e05f428ad -FixedInputDataByteLen = 51 -FixedInputData = 2a2d12cca5ff7250f9ac3c7e3653c62ac43de1926c736238067d5ab68b6cd4ce1d57dc05f0040298283b887834fd438a6f634b -KO = e6c32b7ac618ead8a511d0b1096dd3d1ddd49bc3c3601522fff76a46063207033539a665367cc8859223e68cda2ac496ba346d6c38bb89c2ca468f90db810e7f - -COUNT=6 -L = 512 -KI = 44e16dd15852e499296d8e88f44ed33d20f943df94b195208ec0fca1a5d58eba323f00e879f1e3cb27129619930e433fe3d98443d2a3eac9796f5b389ec7e368 -IVlen = 512 -IV = 9909404223fed0ab97def122ea2cba7619eff2f2c82176feb58237a9a8e1a9803b180455525369f2f04bcdd20e757f3d985576c48d8f56b4425126e517639c7f -FixedInputDataByteLen = 51 -FixedInputData = 9006a2e80878db997efe4d8981a6fbae57c2f1133aad02d45c3a8cf75d5d0378a15e020d18c2113abcf9cc25a70d95ceac5c49 -KO = 83f38bfd0a2759cb212f27afea4760bbbd494df2f8d734e16634765400f849bb1ff5305bb741283050dd4a4315131c7690f954dc96d628d356c9aea9b83ae5dc - -COUNT=7 -L = 512 -KI = 220145b1110701397c1619ad770f3228ae9325cf836a9b1a0896c9b9708166638b92cec44f59d3fd5ac2b4d08931986482f8683c583879071ee207f1587b9bc8 -IVlen = 512 -IV = 39fd9cde0eff35764ee37c248f1395c83f553dcc35e28269e0c38899c588d439380b13b045a7709fdff3cf79683cf474cf11e11b2c7d7e230704a03d8eaacf96 -FixedInputDataByteLen = 51 -FixedInputData = 2f426e96605500b0d903e3e25cc9caefd3ec29e0bb0f44d8e080b5fef128bea1be064d8758cd285423e093ecb7cc7199567f31 -KO = 4e19a2a82732bec28b7ea0266563d4883e9a9debc2a5f2a38500385aabab4a6815f4138a9fc6f6bda391f5b4814245e251fe49a530def573d86f1dd0ee6c0ff1 - -COUNT=8 -L = 512 -KI = a75c6528d90ebc1e5523f12688bdf7bad4a5ea68d10a2afc910e75ac24c6676c1121341ce480e5b587e37a37176c27fcc1f6a0a4b030cded760be8a19cad8d71 -IVlen = 512 -IV = 8b3721382e83475281c5adcd356f05ee2ca5fe972fd0d4b35d90e11ef0bb52ac2fe72ef13f20e5229e8bc127f37d9885e07a6d95574c759a6755bd42d049466c -FixedInputDataByteLen = 51 -FixedInputData = 097ad4c58aec5b01211d23b7f3f48d11781b0be9daecbf15ca8348c81fd4946282dfa539747ae403dd98573da9e0cdedb9d3f0 -KO = 4dafac9158a816f851e437cae2dc3c4bbb81ec6ae2f44c31db2dd0fa5f9c53e08eea08626f80577aab85c818b0d8c09199b380ac3ccdd04e3c678fdeba604d6d - -COUNT=9 -L = 512 -KI = e8e588b6ecbab327870f84ebe9bfefd4f622f33e3dbc2dd86c8f5d9270d37c16d6f9e7adb76e43f2aaefe2a98d7d4e777a21c2b4895fa4532309c9176173f8d4 -IVlen = 512 -IV = ea0b45e82429f5d7527c33334b366b6427df7c8baea15b252e3ddbd549c7a607a68b362afc674ea7980cf9eb3f5847622134071950f3e1da2ac4a5516aa85f13 -FixedInputDataByteLen = 51 -FixedInputData = eece44b25b7c1998b574eb49934b7f8ddbe0f1d8c1bfd1aeff97f03d56a2674fbf3516ec951b14462504b068fda52c50c12bb6 -KO = 16073a50e73b509bc1dfa805edcfa5264cd84d16bd1909c598d8a3d196c54e4bb3b8ad156b39c07e6de18cc92dd461b7df77e7e283232631f6e3a360cff6fa75 - -COUNT=10 -L = 2048 -KI = 7beefd66587a64853cb428f0699449c4687092376cfb396fb6e3d2086d0ed81072fecc4b5d72d1bfc1227d94a59162d43e5c146d7ee8d897ed2716105c67941f -IVlen = 512 -IV = 9296a2fdbe8eb5c5d0594a502feeaae69e6a623539fa4970d936e44b67c85455517704e9cbe61b1b8cd1d24f5e4ffee43f25181e9efd554c9d319df860473ded -FixedInputDataByteLen = 51 -FixedInputData = 929e9edf66455b3c48651da4f6c4746361bd79ca71f77bb031b41809260d2231ccbdf578eb3f02c9e00c1fbf4e56ff39dcac43 -KO = 8ecf980477c92769d4661c7fac08cd4766919f913e0985a7b823a298c08f94c4d9f7341be361086e4053c21ce5588fb31bce58717d62a303c6bb0bf2a597488feea1832557afa39d46209072758458f1ee7c3459d941c516d915736f89f9b81155d0b880edf845de6ac617835285cd15526d36bbf82933b6d1d0b3c5e4445d34f5d6d8f4015f7dcb9dd035a1e232963761ca6c016010b89e3d8cab031083db35d2147276026da9b6b79cc7f4f9aeb7a0fa73c4f3b3b42a8cd9922de6fc7e78e159f02316111a78f00a81f594a2e79fbb2b620a3822c3bcafccca5bce83936e5bf02fe3619b6b5dfd7ca834b79a90350568701be1a3c381b5b413d00c475573da - -COUNT=11 -L = 2048 -KI = e34be4bf74c019197d69750064e101dc0fd342244e3366730bbcbf413bb47daee31b22b60601b8c14df201402e757767d107177a67905eadf14cd51f041437a8 -IVlen = 512 -IV = 302bc32c70c6e0b4a0db37cebe041ce0e27558824582471c15430f5907fe7ca2bb467de6ac920667954edd8f40a33f695c8c5882ecaeb6ceb59072b56382ec8d -FixedInputDataByteLen = 51 -FixedInputData = f8166bf1aa681457c2724eb6a4913fec963661b6a4ba430f9665a38967ecf4b78ba49248df6c2be3ae4497ed0afd8ccae8b67d -KO = ec0914937f8f2d8ae470d36f7c9de67f2e5f562371020bcfe31fd9278452bdb77849e1a3b99a3f353644612e25e4075811879aa61f067d54dfeb89b3b0a637018bc2ac25c5a564994f1f0b97bd80b1a67fe034493f14f401b18abd497d1524a3d3c6d08bccaf98a60158758b0b4cff7f4623efe9feb0ad19418889117e05cf45d5a201f488d6fc9091f19d944b62df288e1ac042da03869d1e0a2ea7fdb95bfc9836867403622f18c46e46edabf285ae681206fb8fc12ecd1c352410f19e3cda1ffcddb74690e7c035bb0f3572385d1366711b4d4b7def003bbd34690a07b6a747a1b6e610ce79809159f44c378f85e2df6bba6dddf2504996a93321d00ddb3a - -COUNT=12 -L = 2048 -KI = 3b2a9bc90287354cb882977822bae0d98baddcdf3a532c62f9ba0a46b3973f227ce617ba30bf69111f9ca1ebba274c481b13b4ee220ee02dc7a6d5661671118b -IVlen = 512 -IV = dded3f29a4ac96eee0f5b4c6ae7ba32531232b629270a618758571ad9d5f7e09c6f035c50490a8cd7e3c7fc28782ee0bee3277072dd8b63b0c0d5a2c4cc480a4 -FixedInputDataByteLen = 51 -FixedInputData = 93b0fb104b3645b620814fbcba0f5b597938dd569f25055b3cd5e820624ebc08538f1bd24cb5c398111d7ed03932cf26e6e3b8 -KO = be7ddb9dcf643ea6dca9c56ef24c363390b46de546c6f8bdf648ce3cf1aed6c4b4699dcf157eeb1e4f914e28dd4d375a1b474cc4632ea029b5f80f52275d917872346ab4cd29e80e0f433842d2c8ef8e7c0ed56efd41c2f7f09cbef02490dca4db07be066092b8612a832463743850541102f815cf6ca41067c131fb9a0a551d9ada06a7a90f96cc2cd37ae4593a5562f22ddd656d23436d7f71d283b7e4805dc831da354d51d6f1b6c008cd5b30aac7da9c043043e2510e6156f3160ed935848bb69b91aa5acd20ed7890f62ddb9642c66af9ba458254f83012277751e659e946fbef995da96ea8cb35941ddbcdd3f033efa26b7077b3d75da777789cd72773 - -COUNT=13 -L = 2048 -KI = d5850b9de79150b69c4d8eadabbd4beb081bb8c350e30da9e19365dca639f6f97a87eb0626840ece99891393040769a4c43d04cdd69945d4c1f15ec70a44fefc -IVlen = 512 -IV = 2f804c1798042cf197ff0c418f7f299f6f1582d2daf3fb81767506cae332e34d5097b74e42824a4e1f73b3a31615ccfe4fcad255d9dc77abdd161680369fae7c -FixedInputDataByteLen = 51 -FixedInputData = 5dd8d0333ce2a07b5e71fc490f3cfc0e9d69290d4d7a9e59ddebe5ec1a3c13a7d884e52e53882b06c6c1b71d153efb27289556 -KO = ea6c7064773b5a618b174299b9f8b410b7e1590bf672595916829932d71cf14e68aec1f0d79071ada9692b5c6676064dea20e3e2acc9c26dc54de674ca0845e96b2e6eb7ab7da0c51ae25c5e30c330ddabed0685960d31cb5b958f563ff4efe0110ab0c0db2473a683130b1429ca8c5e91b186b9fb19309a6d9fae0609db409316353a634c016eaeda2e066cff131b94f5fdeb6bb2c2c86aa773ad64e62f38bfc9eeba994fc5d0190014457e452ccc8540c2232fbb107551f652b1fcc0f059c8f5c07555a17c53ef10be72d5a8941a681e852e5f318e83cf9e23f558463960b58be9c803f1e33c74649b506b1bd2a6bbf46057d15b3e72c6c0af20cf101ab9eb - -COUNT=14 -L = 2048 -KI = 1c196cd11bc63a459842ac3641cd7d86a6e1376dca00b5bc9e6b720da356fde4faa6bd431991d790271c540dcf8f4b43324d5e83a6d97a928297344c60abbe22 -IVlen = 512 -IV = d032b8d84e1eaec27130fcef0215d6fe4f4bb9fc19bc9a31c8001d487eb781631cfd2291625bd8910d32224de107312cf836a2dcad3c68be45f6ff110bc19de9 -FixedInputDataByteLen = 51 -FixedInputData = c58583cb02a59f8fe61b0e9fe65dbeb71304005f09aef2270f98c872702d9cc0540ba5a1128034030b307a01a3543c900bf420 -KO = 82fe5df4676454f8a0e9dd8f71e877492cbc15d5dd82954692524803520ca11abad73643675cc7159a2233411cb00aaab23302a5e88cbe4d878365b276849b6340759e0ce20aafc434241cd01c0ea910968a5d7160a2afe50855cbd15cca81308651efb1dbaf24ada120666879ecbc78b2489453c4d22dbf5cbc42c18e604c81d50e0da8d4b37622c39882c3b6a4c9b85467bc516423fe76cbfbcc3041404a3d30e58e5cf7e0b77e8faf6055d3084ed5a25f1ecbd8752b1259e619033039e4371f8fe200d213848518ecead07cb60c65f098afe012bee1c1e9f5a0f8ae9f6a856d768b2e4c94af8b1fcf054afc0592690312fdf5d0d454b6c355ad215affe811 - -COUNT=15 -L = 2048 -KI = 1efac4cd3bc54c780a47d330e904d73448abd9643cebea2186efe7fb182f751c00d1f3a806840e097e87c2e99295ceb08e20b6460cc82abfcaa5f41d8b9e448e -IVlen = 512 -IV = a1d5b11ebfb1cc011287230ad847fd6c8af63d881d849572c7abbf1188b7bc078b2fda6f7df8451aab98da242af425bd4a547b6904eb801b238f1e627b60737b -FixedInputDataByteLen = 51 -FixedInputData = cecfc5ecd328fc979390d981e89901a2ecdffb404c5637f6d97dac2ab1af1c21b58d099b1612b358afa14a4e1d1ea0b762fa64 -KO = 27cbfc2629926927b44b10a3b8fddab19e3249d969c7eeb537cd5435605b5915bc3061e74dd4a424392a2d9a1b0a07a1f27e6398e3a4c701be4083bd35c228e464ccc185d8d38cb8d7602ca8627dbe08c7a8ba2ad08c57d6cd0a461d14c3b194abaa42469a866b151a3fcdd7cd89eef0199a6173eb322bcc2a9aa81ec4dba3278639d328bf3932b69fd672e51a424790c38018f38aeb80891f04cd9321d05b8c2b0d9893f3cfb5ecb614bc4c1ac11cf1d1935ec498b70c3759cc49a03634ba2151c201336e4f20925d663ad55cc84532aae849d909b7ef68d79417553caa2f38a507ad3328784453501dfecdd3ee85a8bb6d5b703c448c9a9ac67ece2509dc53 - -COUNT=16 -L = 2048 -KI = f084756c877951cfc6d219ed11ac8310015e627d42a5cfa82091e6a4aecf0bbc4897944de5b332f6de904c14b41236aa776d519c8417677302d3861d63aabb2a -IVlen = 512 -IV = 756cba3d3a471b2d53b850d730cda7edcc3ca38f4d0f934657901de31d0063ee0aa1d123a6988438c82c8e38e8428965f695a167d7fcd05f3a86115735e69965 -FixedInputDataByteLen = 51 -FixedInputData = 1f4485622f3b4860b95b158ba32c6683c3dc843489950032cda7453aea78c2f2865d47aa1a74c1412c7c7dbd60d263b9c90f6b -KO = dd75f3400b2f1496d3c1193f92fff26288e9fc2f09ef13982af9fd696e046daa587eec3215847e6dcd3275c1c3746c666beefbcf2ca52fd43b5c60d931d453562b65fa4a5d7e3cb2c6742ff0b478dd567b17c0d26972fa422c512796239859570e2357a945321cbdef0245bed0f1cd2d232505f992690e93bcd8e2adce795f91d6b64bb60650fb7df961eec23230adf52eb7f2e6e4e2c0572f7deada680560357d3c595e84c5efdf7f4fbfe1cb98c9b3f191c474f95c0d230d5bd34f925ca1edca225f2e2f1608301c1e2c8d9b29a0b6be5fc01b92ff8054e09fe8b3417cad1127705799380187e63f283b872cfbad97b78874187a12b78763b1ebbf152a6a79 - -COUNT=17 -L = 2048 -KI = 8655db4e6731e860e917228e895ccc834018c814beb5343aabe7cc4f013956dc1f0f6344770d0ba214daee0db6387705ec367193a37e86a0f3518dadc0d4987f -IVlen = 512 -IV = cf715c5791a6babb52a3e78c6eb57d368e1f6529596942911a5a4d9c90d984f9912bc6dd3034057aee7d59420c88d591d13f64abb556331fb92b72733675b49c -FixedInputDataByteLen = 51 -FixedInputData = 37fdd2f4411945a4cc66aadc1655f4e9589c319d289c63cf2838ce8cbcd1801db6fa8b65790ed0bb2e3150d424fb2ea2ffe3b1 -KO = b551455f58d9c16e758bc4a221a5234bb3f37e5982de10254fc67fc630589e7190856c01e5703ce87b85a6feffd9546d88b3e3cbb774f6aeca9c3365d79780f0f6cafb6dad1da36f95fd0f4c9c6d876103465d63714e941f8274cfd533f202e9409145a6ab3dde275c081fc9840d4f5589c9f6ce97d997e45379097ad49b6610a95926bda54180b3edcfc5707c41cfb02e5849782df47b1406d21690426e79a3416afc913709215d93d8c66a461924f70519fc5f20a792b6ea313710ed3607d3d8816b5dc5b99cb08d5b54d29083762e303edbc19126afeaae4ace45b5ea79fbfbe3f544b9d0becc970f2b594f89ff54040058ecc7053eca29c6665d683841cf - -COUNT=18 -L = 2048 -KI = 2cfac7920232369a5ae9c2f62d0f98552f76b6ad8e4856bf35fc9a7be58bb2e2b4c5a89d1db6d5efe943f8d07315ebfaff95020f976b57138b12b9ee7c5bd20f -IVlen = 512 -IV = 6ec985e0590c0d58ca8c7845001148bcb9ab916a48c6ad55b6b01c1d5cfb7e1a2c110191141dae5a7f787e6665540d7db5c195ff88f8c3652bf49a5c43badf10 -FixedInputDataByteLen = 51 -FixedInputData = f70900c62b30316dabd8857297a3e86621b437a30722e09f00246f51b4d189ee1a20ac46e88c80b5e339b861405f2386a3db1b -KO = 3bb5d1e743c76ec4207881bf1774969e9c898506d25cdcaf70057c5e92a681c3e362684969a358cd341418648219f1f2b9f090e933f040ab609f07a6fd13d0f43bf71774ad788f2aa5ae7f0242deb89be65df6c61baa6a3190490882e11b3a5bc4b6fff99f79a2d49c844ca25eea7b9131b63c9de01947eca6f7fa019dee47c8fa72d1db76f88272725cc494916b2ded4dcab048465f6b71228bf83a49259249b0a1866640c27efa08578182130f53f1f26cd9bd5a1c3889b4a2450111a667e3d2e3f854adc61a94c5524c59d1c58b3f7be3e54b7f1571c5a32cd6a99d2a06ea3843979761a051ca1f928d08a9e0feba866047ae1e6c049b3b77a1f073f55c65 - -COUNT=19 -L = 2048 -KI = 0c7b8b3607835103151e27cd66e5f1e3f342a768e3d9b1c9d22bea13c7f8d55e85292856e5eaaffd2898566b6bc778785eceb51e61829d473c00da8fe1d3c98c -IVlen = 512 -IV = 66f64534bdbb925b025a2b0e56ec312c7ca2387408180cd8a7597ad226e22ca00c2c8e606167b26700d1c99036606a71578e5ee9947c6261aff3ccd72a94b6fa -FixedInputDataByteLen = 51 -FixedInputData = ee5a01e8a04c0d67acdd086c40b97577ea1936ddbdd956dd6889a699849ce4eb4e70b578f24c6791b87f21ce97d3557c243903 -KO = c05befb884e6a7d5e71813bd8a7682f1c1a06f759470bbaf092a690fe3e3f4dab1677a37a3288eac148fbb749a458cab3dcf9f098eb291723f1cd26930de58d32cce71f18f3f5f62bedb1df7f61e12de25f624cad488193ef6b75d8e7412671b696799789ca6858c29bf73257118842c291ddbaef7d054bacd7cb3ce78af3570a638299203f8b0d96c84def7aa4d26ac62fd3885c3970c6933e58ccfbeffc61c0f642ef8cd79bd75cbf01d7262357783256ccdd90406f188a6f8589ea078d14972dcbf65d330e8fb1835f3a4d6e25653c0572f0646fe6bfd1ba315a6e73d874c4cf2bf627135b5ab9d25e4d5ddf0cc08eaff3b8fa4df2f3dd3538f318cbe1928 - -COUNT=20 -L = 560 -KI = 4fed0e26671c2b884b74db3e1dddf059a0366335eb7ef61885888bb08e9d366a36dbc99531ce890669c8811bc037b298ae084cdf81f984ffbfb07679fd08c426 -IVlen = 512 -IV = 7b0040fc420e2c2f9fb255d274cfadd006daaf7dc3ab38f9d07686274cc9993360a555efb102c0b3718ab7d6d0b0c23ddced37fd9611b8295080dd238c0816de -FixedInputDataByteLen = 51 -FixedInputData = 50f478fd16fbe62d3c5f75ea905c69504625d1aec61dd4cdce99687d08eb1b99db9e66efc6b7722b545c2925ebe41c07da666c -KO = 41456eeae102885cdb931478c83642ae7b5442a3564319d9f7d4b7438d7668c7d24c53439eb3c4c2604f7232978202826c5f6929f20d6686f637294eaa1d1e47a23ce775115a - -COUNT=21 -L = 560 -KI = 6a16ef7abb65b6f5823a801d6f133bc7c6735fb092696e3b424dffd6679f3a930893d4e9a0a32329a291f34a9f5e0f73e1e2902a6777927f2e65c615b2ba35ce -IVlen = 512 -IV = 899863404c1340c86248a7e9c002ae712a283691f3cd188f88df357c542de6422e75063acd447af69dc265085406a5811b3f6ebc9fed6c66526ba723d192b226 -FixedInputDataByteLen = 51 -FixedInputData = f5744e9e6a202d602a4c39ff093a540b5a1bce7c63a78ae78f099585813cbb1b20734a56161dcd282a6d295f47dafa14be5234 -KO = fa63e930258a362f81b9c89ebb692ec25e8a2d611c4c682dac9e5af1e0785a37f3a6614d887291bbf571a4498a51f2c88017b15bcd081c18d4db7717d95519a4adb95d7007e5 - -COUNT=22 -L = 560 -KI = 25467ada9767f247d0cd293688a9d036a6919c1c0cc6aee00420ddb411475e1d16702556484ea1df189d4d6947bf39e7b31bfaa341612db8926ab95a290076cc -IVlen = 512 -IV = fa462e5112964c19826cfd86a5d03d464af977042958024a7bd0db543dcbd9a818496adf95e664957955085e1a2d846be5dfe377a8789ad79e01f541305211ae -FixedInputDataByteLen = 51 -FixedInputData = 961059b02f3e194f1aecb23018571763f6dd06e960efaf057e27306dc0475ee609689104fd11dcb156ecf9b7aa73a48f9a7ed8 -KO = 1318a80b351b8babc5ec3c13e6324c621dbb18e2c96f7f79eeb944a058795944407beb180ba5adcbe53b3dcf78ee32765f971b1854fe4cf1b9c1a62288c32feeadf3d2ac6c98 - -COUNT=23 -L = 560 -KI = 5cc45ef837a74b3434b07bf246391ea38e2c4c4076a5c36d94ceb98a81acd2105fefd92dd6c98cce13a4a7e1ec7178e777e200c6a4f4b1fd3fb24c3034aa2c68 -IVlen = 512 -IV = 3d10a0b7934dee98fac508758940ca89da060ba76d828a386733a2ce79e025078274455306f62c80bb1a23cfdd9c99fb8d078b048a43296e36386eab222011b9 -FixedInputDataByteLen = 51 -FixedInputData = cb83a2e046a249368217337740a69a00ae50a220252da79d4945d72c1e758f16c4bbb686a3009bee679bc0479dcb565ecbb8e8 -KO = 0cb8470be02d1027a9c9d491e016b19f5e2fa23eaa70593f7881a0bdc1d218d53de7bfda567f79eebc1ed2c90c589c60fba6eaee50c91538f3c18ac3cbbcc389a87710cbe4a1 - -COUNT=24 -L = 560 -KI = 57ea007e57532ff806a17d463bd89e23ed45661041808fb3002f043cc10aa5a185053dcae8b2ed14ea96fe3b0f82307f1c3ef93dc191cace6aa8c077953f48d3 -IVlen = 512 -IV = 07517226fb29cbba7001400221e9764fc807eef5f2572360cec96aaf5b4086f98b9b5ddfcfbcbe68122c3ea1b4a17fcf09070f85924f5d08f9ab554557e4f4d6 -FixedInputDataByteLen = 51 -FixedInputData = f79811efea534e7d5004199406c93ea26eaa678c7954eff8f012c89355bfa742751e798006c6a5efc3e17697f705476f53bd0c -KO = 827c18d5625f0e993a7c8b217b9efa104e0f55e1bf386a130ff926f82c56e7dbf959dc9892778cdf386162aa4cd2e9f152f7ab55271e072a60d0cb77f7924e003b8e197b5419 - -COUNT=25 -L = 560 -KI = 68a77294c097d46bbe6936a7e3de29d951044367a94dcdf6f5c862f645d7cfc668fc361c64c17b944965793a1289ea38c65e090e6867686ceedd45d8b3d18219 -IVlen = 512 -IV = 974e3e9a8e933d0d7a26f69a57116c2d2acf3d9d54b498726a36c7fba7b50ac739b48fc2821b889c64860b876ecd4a7f830e4b95e18bf6bdd5437271951213cd -FixedInputDataByteLen = 51 -FixedInputData = 75ae1b109388b995bce7decfa7f1bf3bae8639a65310ad0ba81973f76a2a5e294e02fac243c16532e4a6b82adba7da780b5b8d -KO = 2522f98dbd0a9464373d8e79a3502e76e1ab3a420766bee3634de63e5915c43a013c1c4747340120d64c5852bb1f4161a0d8b8ee73c0ddff7e142124798a4286b6e241d636d1 - -COUNT=26 -L = 560 -KI = eedf876652f631971f7d9e9c17c65ff6a60eda7b05e11250e03059f285a9d754ec774739d4681d2a749725dcfcada5c8d57b236bab5b31b798dc86a0c707ec3a -IVlen = 512 -IV = 5f7c3c7acd6a6d3ff4313e756868acd489a37ca303f98601a020b77c5c84ec83287f62b1c899d94bef7df8d3c4ff0d35e9cc4b7b84941440f64ddf2eac57c158 -FixedInputDataByteLen = 51 -FixedInputData = 64677396c83ea86504f1003e981d2e56f5dede07fcc209c4da63cacf6a4b4d785eab48be9c4a576134fc1aa553ee3f5d40b773 -KO = 8951f378269cd11ee7b0f1b4b851ca5f906bf4283e635f69e80b7a7f845ef7db0527c9ac1ad42a0d8c1e8f311cac8c310fda724f40fc45ac8bdf42291f5c98302647f3d2dc0a - -COUNT=27 -L = 560 -KI = ae3bd42df0acafe33fb5593214d61dfaac00d5b047fad2de80a81a83fdf8467f5cf7533da66ad20b29f667f2af79f9c2b90c35268085156aa89976d6d1c55305 -IVlen = 512 -IV = 75b4b1d82fec13042f8ab405df14eaeabd022e5bc99af58f0cb19e0d03d0d84f620f9ebc832ff12b142dfeea9d7cd522398a314d241411dce97b282f8b41d831 -FixedInputDataByteLen = 51 -FixedInputData = eb6a3cd3aeb5400a5f5696ef63646698ce02c894f21f94859513f673acdc1c94eaa215d1b91c21aa725745940e72c72389ba1d -KO = 7f07e08d101281441eaecfa269827d0de95f32068ac34d033d0ff40eb341a8fd63b400fc7e129a64ab3870c709b6344f4d249483e207b69cdb6d42cd4e74fec4948a4f3c0c07 - -COUNT=28 -L = 560 -KI = a30db8b9431aed91879e9da08a01a538c0a2c514bfde610d4c303a2327ae6e7cc36df58f96986c68db927edf4e510800d595df14a9d9f16090ae6089dab4a625 -IVlen = 512 -IV = 0d0264e4d97f3804fe67b634cb5caa5bb081d6f23fabe55189aadc9f5854b41b69851fc4e679f5ac3b4230dd4d9bce278737cd9fd8e93d5b1cf017875395a0c4 -FixedInputDataByteLen = 51 -FixedInputData = f1e1962e158bde6fc94d5a15f5b2615e92a400d1ae068d63f5da9b134f936ae1b435e0ec7d449f6e2de1d2219ec2066ed782a3 -KO = 6ae213b8328da9c38339309c07f55435c4eb74656432b375c97fa7efe610da06b5af07cceb060ded686b0f387695f48729e8b7177032c99b2c218a7079e7134a6c571931e4bd - -COUNT=29 -L = 560 -KI = 46df660d91c39bbcac5df127a2fc4e2e7e254966e25706e15667a54b417f2572b57402eac5e51e45c45c5b4adcad76ab4eb67b765cce555c0e1d5c3ac5925ef2 -IVlen = 512 -IV = 0ffec93723fa0f98858cacdc866ffef862e2da50b9a951be4c4f43526a26df156266b27991c4eb4b9f520ee1cd3a48224344eb77a1c5850151cc0682249bb0fc -FixedInputDataByteLen = 51 -FixedInputData = 2922c3f2e90d802ffe8f8aeeb9be9e56829595036c645daa4b769f50834d6c313a7e2f5fb47ad51f6936a9cb902054b2acbf06 -KO = ac38be93e65fa583d3d0fd0de9c596b60ea1ee4c2402c8642e8f72d1eae7c1e2fb83e61bb0ac31dbea442e5c4bc3dd06983e3011474bea922b61ba1bb56919e23f963ea72a93 - -COUNT=30 -L = 2400 -KI = db9c992695011f2aea12c56a0392f913595c93e4d168ea05206cf8da2ff23a60d58e0150162154a61ca7dca294a585c7f9a308c3465ac70d2d9169144166655b -IVlen = 512 -IV = cb254064561bfb05b95ae90a23f46ec535e64c530d6d5894feb2a66db3b8e2634d758bbf4bf326225b06b3b2d48e59a6c136d436acbbf2f8253aca38cefda32b -FixedInputDataByteLen = 51 -FixedInputData = 537876855730dd3f2e85620e483dee75ca8c320acccf2f3e142f35aeabae0a7d295e549fe3a3bc2a33d91034c0a9a95a45f63d -KO = bfffc3a7cabfeaff86fcaee895be46316ca746191b9e8cea160fedeb38437949bbe99f4b52f0be7e8659b43b545995610c19a4a23b837743c234d3c07319c8cec2f42a3a1ec78b44857afdad06bd58a97b954578498563b9d054fa561a02680ed71f6c5b567f6edae4c9a2b2c6aa623558f8096ee10ada35150846d8642188afb563ab028e6c5464ef3d9e0aa26e5c20bfc189081ad17772f04af7c61e7b4383ab76b68c99f22efaad3ae1c6e2f2aad25b0b2a459117aba2a8352fd66fcdb52f90c1ef7ccfa66dfc478cd4bec3315e86e76144f4a0aba23a74e9c80285cfe2d3fe62f16533fecdc8704b6e66622a0ecd3829fd5fb8f2f91b52204706ace465e3da994504539a29e75b71ab403c3438b732da208a1f49e9d37445a33441dc26c3569a725783bfc65c2c827b91 - -COUNT=31 -L = 2400 -KI = ba5156c182523a9e2348dab353537335e9ab1fde3e8b38cc929b4af015b124c683650b9bdfe4bf08735035975952a0821aaf69fade8c975b6acab34513f12925 -IVlen = 512 -IV = f193c72c8dd387b48a6fec3a14c2ebb86ca45da2196b1ac85459f03de9b3035edefb3b02d7253c450e6e82fdc427ca71fc0392adcb44df6c4911f41757ac3d18 -FixedInputDataByteLen = 51 -FixedInputData = 2c7a12eea1d0b396b954dc3bdf6dcd7e6cf4cdaec9385ad957723011f89db84e385cbf3e476eabba6154d90dab2b5996f9420d -KO = e2f27791f7490011c80c146b792dfe8a0754e033ec44c9b124954eff5133afb8f1b149727fdda499440209c065877f383d243fc49237d78a9ad226aabf1647816f52542941289c771952af319dee67421b9741eab07511f4cabecc7becb0ce7d1083d95ef316273778771d4795546ebf51615c4f6fc2073cc5862566bf5dfbfda8443a8181af9ebc13c8603adce0c47498174140784e83a0aa25e851c68a9569270124d0cce7a9eb887b448c4c978a72e450079635bbb701d2d8d62121d236ddd18915e9270f2d6fb485593b855c860749dbe90011663cbcf98fab032fde90349e9fd59048c78c6c2a08a2ec47fe942931b648724bf980a133bd11763fe1a47d93c199882d4abc0f732667117944499c33aabe5ddb41d3c9b58ab34e6e36bca993eb9cb1412717b9ca37a1ea - -COUNT=32 -L = 2400 -KI = 799db4ba2d35479200d1e92d2d5b5be2faece5ae8d91b1b3ddcfb37ef12e5b32448c1f38e53e7b2fa7d63da8a6d08c809ca237161dba10ef73b8eea445ccfa88 -IVlen = 512 -IV = 0001bfb0ce769de7bdb19b9add75e10c528bc3b277ec417162a92c843aeaaff1c80fbdec396c655cf5573c9f9ccb32dd59408f4b242870aaa374fd77ae3d7466 -FixedInputDataByteLen = 51 -FixedInputData = 9d423b2318dcf5003aa2ccd26f05c00b547002b4f408f2ce5b68fb84a0c3d10204208e89235af4e5df1b7ff823116942bbd64f -KO = 8a2921af4e7b267dc967dee34625bbdcf1ff999232ff10193c2602ca9f3727a6ca7c58a15ec84b69dad222f047dc8208d017dcfceb41f5e76ff74bfe67599448d72277724053b1efc681e6b540f7e4fc7a5616a35321ba412e368339caa32885ec8500def80e49574356ac02f458fd9d72c1f7da57b2463cdf55eaf8c30d9491390eaa7870cb39a0321e6471e9680f2896aada24c18c332841282c1a706ab6d0ddc95846b51c28e3fb37557f27e2efce8f89d455fa31ef2b7e748267d575337f5ab3a5ec6d0b0e73664dbdd846007ab1719eedaf281d2cc054a6c9a52948ca67354df145c19e0b0654495f220601d54f0cd48c238ff0554060b25c8d7008a5d33f49d6abe7754dd4fbfb275698ceb726acdf14b82db06724be6d5ef7bd5037a02e5d146e71453a1b97f7a052 - -COUNT=33 -L = 2400 -KI = b523a7abfc98358a8beca764240ac2a0fcb3735e7eee311be7f6053650eed824ff16a8b9c45c696a95a9593517b7b1959ce915604a67bbfa0afd9c9856d03e43 -IVlen = 512 -IV = adc7ccc67fc2e4c45f40d17d867683a52754a7817a6c0bbeb3af62300205e9322ead7f436fdf549e15ae5a4ce9290b1915b819be68fd6c9981bcf29bfb76fbba -FixedInputDataByteLen = 51 -FixedInputData = 21e698fd65456fdadf40ae4f6d636e97fda57ca79f9b87bd35ed47896491ced9403c61a0d37ccaa639ad02fcb52d720080ca88 -KO = e5afc8813c72d902f5b95acb076085de141d30a635282dcce204793d958b3302b231bce8c26e2f2af04f63c7a94b8a42d5cc9ee5342e01d0bed2bba3a1640bb45825735a2c3094cf4ac48c8fe23b055386060fcdf1cace67f2e10dfcdc3f9e1d68784cf5e0ef46bed0f68607a26c415ff6cbed716f1d640fcec9c7a3b577d8bcc7c6a94cb12d6d6dc26e7ca06b9a1048247b917ae300482491604f82888f6f3a10fa88337e905edf3012b3b6ffc6a28225b3fa645985b678e849709706dabfe015adf49dcf5901e6e9653251856ec6ca266c1221be69953e3d9805831e0df402f8225875a9d2deb9ae4a966e3e6cd98a9cd93eabae724e0ea715b6dec0f5379fba92282cb18b2b5bbf9bc56f85484e89fdfaca78b1c1fbff2f4704a499ed0827ed99bf4bfdf9640c1b60081e - -COUNT=34 -L = 2400 -KI = 75d4da46d0744bcb2d4022109147e5c90033c2b291d36477b7927f820cd031de58303b92e2752f7ab787b7bbc68ce71b6b9f7dc02ccdee005829a511f135915f -IVlen = 512 -IV = 0508447fe9a388a8a504b356b33591f3982d2b5ee3f838cac221331e0150a3194f2c5759fbe5151a0c6509e5a562d68c9691b68e120c794a507d6de828fe8ce9 -FixedInputDataByteLen = 51 -FixedInputData = ed2639b6f7254f3c052acadac6d0c5f1b5f9bd4b16fc59f63fd832b6e2850640696f618e86a0362cd999f83f5db1b4e0a68fee -KO = 835ad89248ad628a2b4696907a031753109c769102acc3e6af8ff973bea0eaf9e47245da35114b5db2b48291e0a9fa6157f64a65f1bdca0f839478feaa0818205bfb69851384a0138ecaa4a84fdd1584d13b09eaed5e44b7cee51c648fa1776fabec62d42168654ba38405ecd74a78e091710c982c3f59def4be311dfa6bf5635bc4085258048e3e55b8ceabe763c794a9b9e1ef65b6aa027152393355d666f9fd460a81a62a89e2d4289546f79dde5050bdd84b5a0881efd59e50ce60ec303e6616b0351fa5a77c0626f5c4720a90342bf8f2d1b0345b80b7140e1a12a833df0a103e8cf457809f4a04b1620f3e0c0c72222fdbfcd8cdc0afdf4b54d0bd395746446bcd6b20307750839b2f4cb045d457c8e54c297f84159983ba000c9af22c77804606c0d0aa34ed8320d5 - -COUNT=35 -L = 2400 -KI = 0f697d18fc436627c6dd769cab699dd6067a396c9e1dc01390bfdd3de47984bb6108f58d2491a0596c064b13b4cec60dfcbf4d0f271a42f34d6b8ac1d19c3e84 -IVlen = 512 -IV = 9d4f27d72721fa7a8237d18b50aebf5b879e2b1758a808b387bfc20fe5c082f4e6b1e0e70054a35305b802f252376ed27f669e6518a4a44239de39c1b2b31de9 -FixedInputDataByteLen = 51 -FixedInputData = 5aef2ad2a9f404da2267dc29d8fb27d419d5111c36d354d69b054cd1cd9f56fa7d8752ecd4fd86c956046ede62bced01bac2bf -KO = 247393377948049a386753b0de98fe018d97ca9bcbb072dc46b36fdf00461a83a63de9df513da446779554a22dd5821a95a2e48db5d858e0de223935f670cd25cae4442fcec0f0962b333a21b856adb308f13775354dbc3ac0e21d71f4f7425741e844a27222d19c024015adeaa927dfdd8777721559494fb772e78ce5724ad0e7fcb6b44775d18a5d17cbb453016557b33a852f8b2b86a77e4a9ad46ad869c72ced472b4b37b39120d6c7c617da5ad5aec74fc7e08c63fab23ffed1bdcef4269ec2d1ebdcf4d6370cb2cb628feddff17e5d64ecc0f8564290037ca4a4a26926bf992ffc0dbd74f9a339420c9e0730cc43b10fbbbfbadbc21d4c4b0ec8bb9adbc5a987c13bbe20b70cca6d0a009b833b7a44a18d40e83297da3770ac959fffe62067bd14af48e1c6677a4d59 - -COUNT=36 -L = 2400 -KI = 2f2d32269a23b1367e844e5cf2fa78903e62fe3034fddb99647925e84703cbdc9185d5f7b61a66f839c17fbb6361d1fb843b76d039cf6d1be97dddd05946f718 -IVlen = 512 -IV = 1c1eb7f6067738be3e4b23dc8966a4177781f405e5c24884d172bf28fe295099485c117f2c87d076979202dad5544a2ae326f5bf6f4797832c7e07c42df0eb9a -FixedInputDataByteLen = 51 -FixedInputData = a4f7ddc7768dcbd7611ca05ad14ef4886e9308167fe8bb139d86c03cb1b461a95ecc7eebfaf066841a1debeb3ec86f401450fa -KO = 878ecb3c83b1c4a113514467bfead5ce8660c2923f157ef1125aef8018587c490336c1905584c2e688b85249097444da6f19463d652095ee4329f78c31ecd76b01e794a8fa6457d1dbde1dea1904f62afa862a178de787dd05e41ef19ed454e9c08e9a3c2b03e854ed1b784397e28f4f16b37e345c6e31e6402a8a451ebcc4ad06b9d22ba776b82e5d7b5d47b0cc2d2421ed417d7035a41b7cef98be898b60e2ef8a353c49ea365cf27a5f6620a2bc07939a5d46e70ecb89c8fe80a05d8b56616d7a5545a724f2f2f1dc74c82bf98759f55872b3b4d9344e8aff72b42cce666170e44e59b5bafbfb4282aac8c91b6d427ccacf411443e2d9703c5aaf7a4bf9a9715291129c65d5663a10d2efe61c447f604b4df75eb61a8392203f0e9aa386bce8d7b563e9f971bb6b1a92e9 - -COUNT=37 -L = 2400 -KI = f2eb73aaf69ae16ee57d7ba64595497ee22026471e2404c969b53be13fccdcf3d7834ed48e062200f0818385b2f9f7addb83d471ed50a2ebd7ff8495e6ec2e95 -IVlen = 512 -IV = 410436c3197149c03463697c345ef1feb3eb97cd47bbfe36b47d2ab8b90a222dcc56f7d4932ed27134fa4b87df02f715e80eb98ba0d901911b26106ee21276d1 -FixedInputDataByteLen = 51 -FixedInputData = 6f1ed10bd7b3381e6b9903ffa342d89053fb35e3909a90b186edda5286d65e0deb908eb83426986fa8789ece58e4661e6ff1a5 -KO = d7ecf55d0d082c2d66ef9cf4f36b71ca4e3679a971edaaaa790ab18f908455b22e6e2ccb378e3114e3ce71de6cd88d3049cd853b91009a5c68bef3beddbfe3de310662d9ed5348a890870130ded49f93f5ca63c7314bfebb4b66a56ecf8d2791063e66441270f00ce1210d3f20b9d0f779c6622f06b4807e7eafe1476a2bacce72d45667483c85771e2eeb9ff2d4bfa8eee0154e90f40a7923956f3eaa39fdea76b2e43b84454966c8261044b32ca50a37f9c94f2a09f358fc032220ff46e569546096ae38c2178a1dc6766fb458aa5e08d3ba0a421c6f3cbca419565976a28126ebc522f584583cc0fb7233191e32da3b871114699f0edaf9e48700469334f96859f90146d7ecd34d91f187dff7a73886a27a488852bbc50e2744def77bc93bb2b22bc0be61625d4fbfc4c7 - -COUNT=38 -L = 2400 -KI = 330cf188898c20c308e89a8f78897db3c0af8ab9f19a69ea2f73554db2f69819aad73d376e51eb2ed7e19148de4b93be19c4dd0089ae594abcc27b76aa37445b -IVlen = 512 -IV = 6cc626b55e0b67f15a0fbaf0b37b28084b5347e4dd0481705b0e3d3424cc9960f2c5fed88e2819e9208c8218bb100d51245b5a718af20a456e84cf317999391d -FixedInputDataByteLen = 51 -FixedInputData = 4cc342c67b264c688c0f3d5fa8da4f44fb74bcfc2d0e1a9f5a85d49d59d9cfd0d100f3a2df488270e8886bd1ade2b6a9683d20 -KO = 55146bdc939791693c8984836b71502c8348e26866ddd3445eebf8a2462525b6cdd2c979406330530a35f9c71fcc06ffafd19edd240113d265e99896922188ca746b444d1bbd5aac9737878396122721a0410abbf9f3dc7785fa0baa2b3c53ba7435c072e20e1eb9de86130790522154b4b09814b957891015bf690bfea49674aec348f00c237b2a638b004fd95d6a30490a93af1fb7f8d5a6cb347439de4ac8a54428899dc44013495f7d690178f10b5ef96ea1bb6518b9c076bd29a52b61f25e893c715d6c5835a2d83d07b0c69c0d20529a4a0526c1f5e3d2e1a7523dd7f0d22862eed0cd24e4337b01d8bbcf9556a21e616005d892de4b1ee4aebf819f429081c54cc4db5391d163e334fd0dc68056e879c04a5d0a85b4ebd33756046e1fe9516658de86d958c91bb9f8 - -COUNT=39 -L = 2400 -KI = dd89f185a8f6ad194ba46eae38167e0e304196208fe180b86ad28827316858379a5c3a0349ba872a41a7a18514b2eb0dd8624710c5021321641da6313787dbce -IVlen = 512 -IV = 5c3d25bd632dd2a60aee9a83a03cb2e5545dca538ad67794cd134f30cebebdfbe28c16d8fa7aa0dfe0cfd4998e6151adc8bda053b54f95e6fb3edc99772f7c49 -FixedInputDataByteLen = 51 -FixedInputData = 2b0f97853ca0e0e14638f22656d4aac6500f61936ba44175a7dd78be382e1d7e898d2b264aab1ae1f87aa069b56d5b5a3cc519 -KO = 3de0ea01670887961dfb5902ca1b808fa0e9c0eb840c8d71108f260e6a1641f18f6d34692709f84898e57a0e44f53df0eb7a6f9be60b036a0b3ef12fb8d96bcafd3a440bcdc010deba77ea8abb93eedb6ff7678b41876a71c2b26fd9b61e60af279889819ea14be111cb961b5781536b682382828fe8940f6d0dc92ea18d2056482d130f21a48654e4ae68c000a74ad81404f3ccd536682614deecdc6dc80c3b44ce2e3cb2192931197c70b77a83461eb0b37c958fa1604e469a3b80723b1d09b439524ffa959d1ba44f2a0490797c6b339b7e18393b6ccf62a7465e817f2bf9c3e81275a9ade29ef89e4fb097ce42e3d7841b4cea831c09afc7d9fb815ea424e165f74a9769cba2ecff23f7b8393f0adc7923ad3b7e9b917adb1281e21d21730924461eb25e9f10195345fb - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = 84cdb8edb3cc7ae0069ebff42442a6014996a3cc1cdef4dd19f4ff2a5f97aaa594af5d2cf9bdccbe594f03cbbcea797ab51120f59a552287a5d92fcb0f207717 -IVlen = 512 -IV = f732392b88a8f7c9f9aa8f1315fd68dc810785ae63a8cf15187a299910504649ce1658ede27ac2ad3a88ba3e93c0ba45fa174ef5177e17df4b6a16bf77055983 -FixedInputDataByteLen = 51 -FixedInputData = 5d207cd7cf86592eb26512c455d7a70376c0296d4ce1e4280ee9bc963b0154b3e34b009e38a75e2e22016daa142def20fd59b5 -KO = 3c85caba13f19d8b374004835291756d2095ce5a5a52ab4ae8a5b21b282c9745f2ef4c0c9f8f5d7f05a465b42f5722c0639fa7a7c821f5e5af9a3a0d549e0226 - -COUNT=1 -L = 512 -KI = 33778274d8918fafc852d3da59b8177c335233aaacfc05be9a9079620b614bb11cbcfaf6ff0fb8a2df5e8f26e339ff8fc5fa7f58d7eab74989794a9e70a83a58 -IVlen = 512 -IV = 815ba241208489ace52ba34e3c3cfbcbc5a8b4f52927acf73f2af9f49c715bbf63113cabcbb7b33f68a7ce500edc9b139c6bb1bd2105f526927e36103767451a -FixedInputDataByteLen = 51 -FixedInputData = 82c1f5cf0abcce1cca76921ea1428d3ada997239cc2ee8fcc43f1fc81ef321b269d4b3077950e56b9bcc959953867d4651b419 -KO = edc9d50c5e4b266e6dc0d1badf0a09fa6182d9b9341feda6bf97457c6824e7d033c6e80d41525b1213ae25bb2b03c66f3003544fdce1798769d83d1b2432d415 - -COUNT=2 -L = 512 -KI = 893d2cdfa9375d7664a3ec33bfdb2399bba93885a192ecf39ec7dfdf6bc0cea0f3e9a9fcad9df8ed4551e18ac41eb473120cbd81440bfc1f41163abe77d3a195 -IVlen = 512 -IV = f00029f12cc28c2df79023d8715bf4acd84e063dbd1941be75782884537ba9359879adf04c803345a5f6d21cc2b368e918ad20da200c9d7533ca4552b796af7d -FixedInputDataByteLen = 51 -FixedInputData = e9d3a40534c998ee4a6aa84e3dff988365e37015d72d5c9008d1ff5fda86a4ad1b5766a77346756d1e862eb196c214d1802aa1 -KO = eb2ae5dc0c0e2e60170ccd71f8b4f23e7e651e493c01e5e8426f79d4b221c089d185842bc0465759c545ff7ac61496cf52dd3f14e86fa8089b929bc7cac9ebf5 - -COUNT=3 -L = 512 -KI = 0ca8ff78150c653604aba73296ec0098559b147d2ba375e7ed77693e84a39c1872ffa4dfcda5fc5602d318f075fa6a37e25cc75a5c232ca74f7d55b51f266e6c -IVlen = 512 -IV = 96a98812a10e917ecb1dfd2e2aad9451f881691b3731ee67992f3a0a391209cd7180d5eaaf3ff8c913bcf9a94958b74acab869356d6d16c7faec6452cb5ed24d -FixedInputDataByteLen = 51 -FixedInputData = 4e252f692ed0dc13342cd4a3d5b73e249240177c9fa3c0a1700bdeba25be6fc0c0524245876fd41c4c126dc28ca6c2df47314e -KO = 42e316e8f65f494f1c548fcae92f99ac24fd5377af9a9923566f9d734b6e7f75c7d6411661e47d0378fba9953fc4e5684a10a7fec000da3392d0e1aa4ef2952b - -COUNT=4 -L = 512 -KI = 6c360abf56e0971e2720a6acefc086f2ea04d743819ed4eb86ce900f3e4f1f904814abcf818c8d9e45a1b6cba7f08a988372ed19e703ff107106f211e10fe085 -IVlen = 512 -IV = 98f0f9dbc88df5df3502e9bb82decac0cc642c1ebbc87d4c184c31d0b85f335c63a6272e842e421b3060e904a8b57902ad1cb007881e567a79aa26dd7622b4cf -FixedInputDataByteLen = 51 -FixedInputData = 24eba9a4e6d96e2b6507282271a244d2bbf53605aa4aeea6f65a21989fb062f1caf91c18f067cddc1f3a8defbce97be3c0ffe5 -KO = 312c5588677da33f81c335c92e1de13d2927faf1a7c25c27ced02da171bce2f11275c05ab5f698b60df1dbbbafd0d7b3d3cf95b176c37da66d5781d296f5abda - -COUNT=5 -L = 512 -KI = bbe8ade040f8a31265035696ad22a0b67c828cfdf9e8fd5c85e119c868bc9ed7ce3dcee8f96d11eb93b2ee80732b0547e82b0ef6e022b92806353a654e224e73 -IVlen = 512 -IV = b76f53d6a9949c5d53fe4af5bea4c7dabb5616cf93e4cb1b60cc685ab67eb2f527a5d34f7c09445a4bdf585f09920c42c19d798107dee9b038e6a269bf807707 -FixedInputDataByteLen = 51 -FixedInputData = 9cf159bd8cf269544d786f1c0e2abe9d53bcd5f8b2b7ae6e8c56160d4a052ac81b046d0f4c8e60b540711ca77d1fb8671a980b -KO = a6d2210295028d948d5cb39bf6eef424c7418f2574cf5546a4b8eeb63ccadb3ed366852bba3c4465fc086a8fafaa724e6427dc9216628ae3fda45af96e6513ed - -COUNT=6 -L = 512 -KI = 9f24978ed619fa292003514c361da1c5e55af9aeaf723ee369c19aec8243c737640ecf8648a8ec203aee869c83b5683aa22169259b141a033f7b573d2e201750 -IVlen = 512 -IV = f3f18c150a8385bf2973d891d673cf137b230f77498ae907fc6ad85e8011ba7b9f54ee5542a44bac12f844fb54618a1636c58185607cf970554fc26949d133ce -FixedInputDataByteLen = 51 -FixedInputData = 9e082a6eaca6587e66410425fa8f9420edf1b903bef284663a8e90e6736abe67b234ab8b459417fb146a61bc389f3ecf7f59c6 -KO = ffa7942a98aa2456a98303f035027ff887cf2bb6e044ec4a3037818fc971b261f7bb9dc68cfca844025f2d32552b05d91b16da6a23955761d9ae7f5cbb10fac1 - -COUNT=7 -L = 512 -KI = e754dfcfa9ff386b09526e966ffbdab89e6616f743f244e332ff3ff16857a1f7056d5e031d57d8b85da62cda49b140e387751f901f6a3eeec649dcef1978dac1 -IVlen = 512 -IV = d5e53d72b6e47bbd8d1f0ee1db5534dd521c6008627085cbd041ce86761c5af2ed87d0569e15950b5236255ab90156e8058f96855853044a3b530b4c0d3fb7c3 -FixedInputDataByteLen = 51 -FixedInputData = 1bbddbcfc5ecc006a5c2031515414aee140bc7a5ac02da53be9adce3f89a86e2c384b76f673c7e09cbb1a8918870c68b049624 -KO = 33a9e68ec6af2f49a854eb7451b482784cfc906423dd86cf5d950c71770db623fc9eaebf2895974d200dd924ef595a23430eb4398a8a80fbaeecfe0185e56dd7 - -COUNT=8 -L = 512 -KI = d13611e3b00b9872e6d2598dd217f3b28d6ca48816c103d8ea2a98de7470ab8fa090b70c10a0f9498968307c4543bac39d2eb1db74ac8b3e5b49cb6fb88060c0 -IVlen = 512 -IV = af1f9c5a4f42b8557441d6890fadde114ab1b56d9a1dc3acbb77a9b06ef24a5e8f665e2b02b82aa56edc47457051ec81d9e761503e60c745f846cfa41a11ae61 -FixedInputDataByteLen = 51 -FixedInputData = 081d0b95d70a40156b3de97a19765761dd37cfcd03e2a7bb2586a5698afbe54357a99506721174dd2ae340a8ad673bd97c4be5 -KO = 42c43cafb35fbbe4eee4217745e2a1f5b184508a6e4a6584e37e1ea3cbcb3f1c436c07bfc35a2b4b8a817f511ef000e491f8d3fd6d774b866d895fad5f00d1a8 - -COUNT=9 -L = 512 -KI = 88d770eff78533c4ad5c8111c390747ebd67a6b735d4e45bc2a040592f67377a25e486bd026a3e8dc39e44e99ceed230967405df0a7d04df452b0b743330203d -IVlen = 512 -IV = d36513bbad1d6dd987fffc3ed073f70e4b1158b3447839f18bd0c6e605d5594a1ea4335bb915d7be18821c86151a39322fb0605ede14d7823457fcaf11116d90 -FixedInputDataByteLen = 51 -FixedInputData = 321913d1b71a65b36d4704e472f25c55fa6ee708bccb68a9bb91a1039ef87243cb5a26786ee575fcb86bf53a178a3b13909aeb -KO = 7790210e12b15f8222085ae1b3369b09f2ced87cf52ed3b857fcc64d29e0eec9b1f9c68f40c67327d0ff420c93c0da4925387e340d07ae182731f213a024b4f2 - -COUNT=10 -L = 2048 -KI = 2544880650c960acabc0695be87351778d179f4cf42861d676c5424cada67e02f41fe383ce782971b131c11b1455a0859e4625b2447e403fe2f9c3b3ad095cf0 -IVlen = 512 -IV = 95ecae5408573e8de00cdbc81ea7005fee59c8ca6b820008881ae64f8db08626e48c709f828728530489b7c520df9598c4d09d27347f6e942060d5471bee462b -FixedInputDataByteLen = 51 -FixedInputData = e7ace264f7dd537da800b974ef9384b937f79ee12c07626cd877a55871abcc61c14647fc482f35438568df2817c4a404c19988 -KO = e1a7b3ce45deb7d6c52012c5c017481ed1cef529cebd4f2039ab8ced4e352abec3e815ab731ce7c8a1b472d16f7966403b58a51adb7b37ef38d0c00ba7937028cb9ec81edcf49004e92cc5348881f4b1bf1c67f0723e7a02bfb92bc283965dad114b5b3bdc3257682ab50605204cbc6caedfd9fcd2ea3c0b74fe7dac0f903dfd7fbf6351e6ae05b17e8e611a78f13a0380804a2025c79fe3ecd9341cc71b2e20a9fbe82f7e1aebe9ddfc430b0d6905a97f0871e8a16bfa801d82ad9d0a70e13120800ea2c15aefa4d5e41d44dee1b1e6108f66303c0d719092789e9564ba1ce269e667448977a15d6cf136cc1d0c1c938b602d9d10f25f9a76f10f6478691a8d - -COUNT=11 -L = 2048 -KI = 52a527ebcb3471012cff509ea6960878e4e1f6683e187a07743730bd2198d540c13f7f09644d8320b85ad0bbdcd0a9fa083f63cd7de11a5946a53024f5882b70 -IVlen = 512 -IV = ef222e3876542b9e98eeb0877609b78accf7ddf2942b2ae8811311e43a35030ac803e39799ceb3712d2f853cd94b9bc3f1623be5af3da5ede1d182d7cc5fb4ad -FixedInputDataByteLen = 51 -FixedInputData = 3366473026314262dbb898adae7b74085461b2cec89ed99dafde1a13f2cd661d5dc06de7a8ca0ff33af0d7aca83937620ba65c -KO = e10629445a598936f7ce85b0aa58f4ca98fa47ff372afc5492072fc74a4113fe63a3e4c0edc841f452fbb3080401dd180f509111f03635949992596745c2922c7fd8bae8b38f8e0d928c83a6e8aeacc8eb3f2d47430011b05fb94384f23c9cce816d2f5b678e40879ba741e4e4170c770801228bddb717772b120185289a271a29e52dae14b003632274078d3d18953f2e603cf5bc4efdde6ab69751bd23b0ad0bc59ccae6f47bf288b318e4488e0ef471ae866ce03cd98c456be667ddcf7fb8ba0bd930a8f00e50ee8ec1f4d115b636b5973cf0d5264556b1f3db74380015ae51b4dabb4a57c05f1e2d39c73dfe951b25961dad03a25bb7c6d0fe504866038d - -COUNT=12 -L = 2048 -KI = e10a4b81a37cfd934013f3682fb208c7873f9ab3a82a706e7ea6056731d29e377ec1e0ac9620a7f8461718a552cae3fc965c58b3b1c10938682c6ee7ad5d172a -IVlen = 512 -IV = 984f516af6ce70310055a041b9a22232b18fee3fd99e489623648e86ee118ce565cb0c56c657b46c487d8173a379c856fa7eb4b4b722c2209f286a143759d9a0 -FixedInputDataByteLen = 51 -FixedInputData = 1f0461e0bde738757cec146fdfe056521bf80f459e7a851423eaa7cda477f3d2a5ab59e25601a3e4c8c37b0f9607b7cfcf6ca7 -KO = 1e2ea65085c7dfbda4cc624c68ee722e81961b6867520ad9e401c06de9b19ca7ef833c6c7511ebbc17d4f504f4a72202890278fc2d5621a5bf8f8e1950d0022892359ea2dd5e9789d10942a33260b061efe90302d3f987f760a67c0b798fad67b9fd530feaa71bb6bfcd16d4f7f7f1ddcbd013e35b49671832088f46ffa8f5d15b3a89805153a3eb3ee9118e1baf2aa5e9e549aed27b2856dcaddfe7f1c2c22dbe8b6f243d8ae960c2e55e733769fc33f2f795f2f71b14f92cd0b897ed0aa9ea354958f0aa78857eae9605439820c71d1f9eced72ad038d82f75265d539c6f23a196a7fe4aefed94e8d883d6cb4c550c458bfe061505b39a4fd466167e264b0f - -COUNT=13 -L = 2048 -KI = 94bfa0dda019ec4b9ca26da606d0905bdd430a861c0fe107d1b300f2e19c8ec3afe40095b9edde7b4a3280d61f12d689ddaffa82d8f48b334f6ebd1926f2ae1c -IVlen = 512 -IV = 81e68f6fc6c5f7ee216f7a8c97fe06fe70e4d9f0fd0adf126b08b6505a9d7b3a3a15a4a4e2e5fc036ba247c30496fafd06c421463662f8654faff03fba6da754 -FixedInputDataByteLen = 51 -FixedInputData = 3c786e26d4b4fcb07fb1219531eade30711dff95fabd09d7822683fcbdcc40e25dcae9b8759c072fc6f3440589ff45aead9ae0 -KO = 07be72f3ecb4651506051a3245c0d06402280115c17d52135b2cd6524a444251c8be4cc8974c054d810df39ddbab9518ff9847aca6fe054fe576c2e02f99ce4a7adf14c25a61407b0429660249f39dd4ca5b9200e9ec0630e222dda8989aa53666f8313057238d41ced1e9513e27cd44100ce8315c4afa6fa00bb76eb434d913c5c979415a11916ec0f19a946256b1bf062cff60f20eac125578bb76fcba7ab33187b06ff38f2cf65d423b834a44a68de65e6ab57a8e6c2453935386f33718581bb296b6dc5419ddd21b5d80b2da3873182121bbfac9601a0bf3d500223c7a936be0177efb3c0e7862b3df5e2e8b102ceb21aa1ecf36059f7109059ea4b0c445 - -COUNT=14 -L = 2048 -KI = f7a21f4959b335f787c5261bb2616887905b2bf1eca1507a167333512b45914fde898de91f941c84791c079cf1fcff12bd23f0e371aa01573b8f95ff879a0bb9 -IVlen = 512 -IV = 372d326438e66d10f4b2af1a6ce3388ba836b48c06541b9ea75ed2a09414c8336ee3e870ebf49e1ebddebca5a4d21a574b39c5dacf214fc03cbec182c8aec554 -FixedInputDataByteLen = 51 -FixedInputData = 681b99dfcb3425eb382d47df9b96a0aba105ec07085bca4842042254e0c715b735c746f527ee3cfe78c4a32cc60b9e7eebcbd1 -KO = ad5a8957712373c4ffad3d9a6166cd0023d2e7cd180e3efc35b000d3ba86f1c379d818034185cfea4c5b7b4442b515553f2338e21e198e98f4acd50ca411b17a820b0e142585e55f401f708c6b65ca15d89f5dc0c0de0a5b94feaa38a94fa3bb9b3ccc38ea0c4c90d25a50f8a95a4875fc0b048341eff4185479a31a416718b1771de31c8189fc10fd8d828da0222164dfc35c27634be60445ecb4df0588835c2c29718ce1957e9a8761172c2f37938d8909f192e6f0c6ae0f145bfbf5cbed389de57a6c5d6a86665a2b443676003a6831eaee0de4f2c5db996d3b65f9d224571ebd7a87ef2f15478f7b7d0990ef14988cf9ed3368bdad54bc5aedebf70352a4 - -COUNT=15 -L = 2048 -KI = 4e2d8fc312bd4ad5c39807c6bb1764e694a9f830d1e04f82c38d302dd2af0d42dd5717e48ee53e7ff381e44648b1a2323710b3da429ada64501c5d84e6cf6b52 -IVlen = 512 -IV = 66c9c723ec0599232763677773861b581d026429e8298ac70434ac80e99b161bb0d4f0db9ede0bf357d28657d92df655bbe6065861f58a427cd8dc18a66a072c -FixedInputDataByteLen = 51 -FixedInputData = 6d7db19b7a2b248e5e0ac0fd57b08f182c0ca710bbbb41ed9dc13c546967abb1e11c7014859bb1179c62d663fbaaacb4f98eae -KO = 9985dcf18cc8b21f74e4d81b7ff4100fde168595134ffea97ea5c98fdf01f39ce61df32d9c0636455b24deb4011d6349d1bab31f593a492461accac6918f6e32116ad673bfccce365b386a3c0459431fbd76d2960f219a771ae3b47920a2276f8a7d0ab0461a56bdfb83e2bd158a1e38c1c0be7b9ca7092786913777c70019056e2057a7498fe443dd33cae7b1e6dacb62be6d63dbfa414af0cf00521fecc1753a10d5e17746c2af6301dc1b77f04e24b71c69071f701ae308e69798ad4ee458d89e43ba3388d7da6c9f9650f24b39535b55019c909d79e06a29b412eb3fcfff833b9605d18dfaf9e300f86c583209e3bf2c46b2ae328fb7dae6946d7e5ce97b - -COUNT=16 -L = 2048 -KI = 9b1b8cea9fc5ff440a976e12a2f70d41951aa535469f45c67d5500210095b26c643b6d0156723978c75c8de692627e9ded02126688aa31f501717e7d163d987c -IVlen = 512 -IV = 23263664f550838282e948f99f5dbe204be047c5b1d9759beadf1c2151b5567008765c429de1961e0dab2a12012cbcbcc9263521f24a100c409425ecfebae413 -FixedInputDataByteLen = 51 -FixedInputData = 3b33ccced4cfa89ed9b7a2235ff8a12de5db9a30e4bbed48b9e75196868520b58bd0491d1f69ef9eb8c962fff9b0e111340251 -KO = 46d54ebd35656364e1317a961af4cfe3427499b62f661198bec5b921a7403a09f7fcbac86ca5c444caeea6a8b1ab408b8d34ea223fdd8ab9ef399d083647b5b112c3bb24bd63e8ef1d544cafb0b5b0487978844ad3897ea07eb0bffeb0f66553e65a73ee8ffefffaf38b9743ce0d45cf55604775a18efeb3455f39bd94d9d02c8aebfbccdc926329b33294879a7db0b20ae03f71ac6f5e5bafa549bd0901a78364f342721feb702937bd9c113c9b923cdd40a47aa1c17c532ccb13e835b6088a2362d702fa601fee6933bbc41df9e39fedf1a03c0555cf95bf9628946d6cf53c817ec1c764996f7c930c38bb81a724e7ee43bea7c538bc0faa1f995d58fa248d - -COUNT=17 -L = 2048 -KI = b24c70d97f13bdf92f0571a25145d0e2e2b8d251958029925393aae9369e1463c4ca3406c6fbf807e3a87e00b8b6669c3ed7ea2a6619cdaad6aaa85c7707a20c -IVlen = 512 -IV = 6c6659e6d59dea95aef2951bd5636420592902177669a1c3a6cbd68d33e97f8d857d16f3a8202e21ceec8e4f6cebf178bfd98c58a2b6e8eff6c15ad9ad8f0a97 -FixedInputDataByteLen = 51 -FixedInputData = 5696e6d0fa0cf9e46b63760f861ca2bcf31d658d64117a18890b58a78c4f1e4670898daae51eb108da684b6feab3d3f4e73aa9 -KO = d1417209728251e7aff4fb47f35211873f48e07cda7397eb59d5e1e92a2acddf9463987b82b8af57f45ac8cde6ef958b876936e05eddbb3c051434c8d85953183a13408ddb0cb1d483a00e1e3d6c705c42a01b78d9494748fd55afa1cf0c714d7b2354f93b95ea09ac36e301dbc2c51658ff150f98ba565a183ed0bbb1d625a231cd5b550e4cd0235bed9140de45b99bbe6de4e6146c12be60c0223a2bb7cc4d2683befc804a6c90cca1062a2ef6cf02b6fa27c743ef4589a3603bc64b879bf25b64e62050666e9564ff12616b62ae12160f1a482a49afb8d4fa7064eccca93bc711f585a98f494ff06f370393d80b9c94a020ba52611414685196e5960ed5ed - -COUNT=18 -L = 2048 -KI = 86fcf47b57e5d6020a8f72f8c5e3a845ce867914fecbb0eef5bbe3e93edeb0bfb3faafb976664abed60d1da041920b9720b986784776a6c52a1d79dfbaaf966b -IVlen = 512 -IV = 80e458a8a6f94436055968c2f36e774cb5f1a213cd8b7d68bdc6864ae4ed735d28edd15a5fb7930ee45734b21a3cfcb6bc8dfffc261ac843da09ab949b3e0efc -FixedInputDataByteLen = 51 -FixedInputData = 60185a7ca83b5e4d1f64d89b5fa385710b392ced24afbd458ac694368022e052289f802d7fd0f0d5ef874d74f952ae5add19df -KO = a515502e72d0de4dc69ec31c0ff9f4e5773aa87cfca00620755609604abe29891ad263a3693980addc5b5095ea08c1f6af51cc92893d241bc3ceca9d93f0e42129c7e0784e5265c5192b00e06478c14e81018c4870d6cd2f44f68c8d888c10a71e7f6f0516812adbba6d03bbd919adbda4d5bd5f70d0091afb2cd7456555807c78f29201011baaa8b9653281883eabbc9fc04a5d97d21af98fc73bd2778489eac530d5969e88b18b9ef1ab2b841470d83f821e5327896efef5b3459c38e5d4ce099f7de12cf0dbf3ae4781a69930ca0d8db3e522bbca42ab80f3588d03b1df0c5c9a45cb6b67f70c73d8a56f9ab322c050eda27505e9e3ff817cb156e5f7ac0f - -COUNT=19 -L = 2048 -KI = 48e87aedd3b9b6b2c50d59d4cfa38c7193d2916c76bee2bc740366640cd8ea21570a2de60539bbd478f094b3107238ee4570b2083e3007e3ebcc3b047b3ae2a4 -IVlen = 512 -IV = 9ad706587ee0234b9d4e9436c050cb1d75db34e1a228e5712f1a72999fbb3b3550a8d7061b4a0d286ac280fe8d070c481585a624ac37d902bbf8227662c9789e -FixedInputDataByteLen = 51 -FixedInputData = d7e0b2f71ff0e36bd710799d93ec61b9d1fe43f1b0480368be3dd632dcd1322bb80f54dafa3a7fde5d0d7086e03d956434d5a9 -KO = e8bea28cf1da869c6e5680ae0bd91e20f4ef7ba641f03929d6b89a7d0835749392cd1e378950b6653d2f4d311ef73f559203285a157892624e60da92cf0a23113b5a8b192d6a49cc8fdbb10071f59cf4f7869b02897773ffbcfbb3d02bbf5ccd71676200f71d8e12f4761f7ac7965b6acc44e5d68c8f5b60d7c0c3a7b971de12c3f80c1e308da41eef2d51bca0f9d74455167a98243601521ca322fb2aa62efd93ac6ddf5f4a68139cc3ecdc95f45d3037e855f2303576aef1c762f3757558bf1e760852131de6d89a33c012ab1453f0a78c596ff148c886b112aa06ed9deb8b846ea330df2fcaf30d14d95f8b1c8258948f3cb150fa4b17f3c329cc50cf817f - -COUNT=20 -L = 560 -KI = 34e447fd8b77e337dbf7e652f8b1f9fa0f118f6e7d4caf65aae28b3553ded7bbab76b3dc1a2005db734637ee4b91dbbc24ffe19876c4ecb92537d87ddaf6761d -IVlen = 512 -IV = 3cae9f7359bbc2ff2d5259cdd2f90cf6d19f4d553a9dbd92ede9b06ef69d7419c419804cd9255ed438471712785e574c5e8e80560abfa874f13056bc7cb8103a -FixedInputDataByteLen = 51 -FixedInputData = 3a2886a80afbc7cb896bbad8c439d0afd89e3d345f999694bcbd16b439e64850c8761494dc3f199b8e788cf3e3fe521ff6bf46 -KO = 522ca7a77f5dc69ce71d3d13164a5154986c3b4cc2716bfbefff4fe2be71ccc9a692f403a46374df35398dabfaf1189f674079f62872b215bcf30fffdfbc9f1c71862e177d5e - -COUNT=21 -L = 560 -KI = 5cc53db6c7b3e3c1ae033d705d6cac054e67dcf8ae36a5fe1a00d60ae2176a47e84c0040cb5eaecc08861749b2dc8badce1e8d43b428a9a1a32994ed715c2cb4 -IVlen = 512 -IV = 527366691935ce99ecbd4119d327c39dc6ba428f163a44eb88ce507e0394a82b12115709402888f3bbfaaaabeca581bf5e21a49ab9bf153838b4b3fd7efdff20 -FixedInputDataByteLen = 51 -FixedInputData = 60b3445e73faf66a27d22159256d00d94bd631bf4d2022f5e2a2e093941e68326630da43235e2cf23c9d9d7c3a398d2108d7b0 -KO = badf4b037cc2393b3cd24b9e59b7e831a616984bb70ca22a5ab94ab1d27754d6037a71d7fbe44ce59527497d3ed1d62be5f2512cd3a6fdc11fc7ac472a69b0f734a1e09a97be - -COUNT=22 -L = 560 -KI = aab0c1eb154a55fab19d0b718b118bab31d0dd7301da6ad666e0ffee186310ee1f6a748169c87cdc424e44214b3c4cf83220965b6468c5182d5c8fe2595c083f -IVlen = 512 -IV = 1703c27b1ebd8a6be6247250883dcc2a1f500fe4b90e205a5d8233d526b934d9583a4c5d4c2f32b0534213cc0448ad10fd8d7be2b828edf02decb7586f2687d7 -FixedInputDataByteLen = 51 -FixedInputData = 9ddf6ba4718766082ff8d0ce054000e10f844e23545a2524143822c2ccc8184c0c70a2dac2d11828fb781fa36cb3b369f51eb0 -KO = fb41a138cbf985bedf57e1865e2efc1023e1cb31a8b90a0364f26f2f3df5aa96c2cd6af731c9cdf296de1b1d26bb4f4164d57631f44469b1cdabffcc917e6484ab22b74f49a3 - -COUNT=23 -L = 560 -KI = eb3a2ca09b1e80efde1faaab05d1f72c3030a9fd3193cfcbddd5c67765f2fe64c791c30cd4f2c90002f079d99e5b51813a81c49f8547989919d4378f37408531 -IVlen = 512 -IV = ccbfc6bcdb2db52dd00f78aaa3ec5ed6dea092581d8ab36c83692015f6b49ad113e8ef9c7a9bc287455ed11a34aed308fabdebe92600da86569b307dc426469a -FixedInputDataByteLen = 51 -FixedInputData = 9594e8a3e0ef4412351b0626766fb90552ec0ac78500cf5a38f8fe7f41dbaf8c6f41220d6465afe966001da93494eb1c787cf4 -KO = 29ba0b662e11a0ec124fa1a233057a57d97371c05bfc403601d092d19aea4e7e40971134ba6f942ad7042f939a27aea1ebe04c066eb5e9487a7777fe5d9c163f2fc9ac06001c - -COUNT=24 -L = 560 -KI = 83238d00288ae6583eb797845fc653426971b6dd49a5b8d8a3f1df5602d0029bd9a484e25d1210fcbdf6f5426e6c684400f2f7cd6531d9a7dd88bbb1a0dbe438 -IVlen = 512 -IV = 2cf555f5f6b75cb8dd3f99454512d017a0f8ced58f55c6ed6f09c9f0a6642aa711b1768626203148ae447ffaaf80422b08ba731ccd62d3d3865d7b292a69219f -FixedInputDataByteLen = 51 -FixedInputData = 962f66393ff83661e5192accfebfc4840bc295168e54d085846d0f44de47860144124f3da1be0ec10b7e8e6c1d44c352cf915d -KO = dab2d63d5347f6826073e2ae1f76b914ab3ae0d5f5eba25937537d98f8093bb8046bd53ba19c61387d6b5accdf1ec83e9104f4987d3879b8acec4ba909387dae920127cdac8c - -COUNT=25 -L = 560 -KI = e7f7fe931ac37f1a9ca3447892294e97c1302c8d20c4ad6d77addb893763e6d098eb053d1149b394d465e5df24161d7488afced06779c6dae0075be6e796ccf0 -IVlen = 512 -IV = a82631a17461e0af5973d23eebd7b578500d8ca54bf91acd38a7525b4832ed1a6f1077b773df17357741487715a4c7e0de499da6a642c1f207d5701953df4672 -FixedInputDataByteLen = 51 -FixedInputData = f338f370f04295d65db7259740386c23831e710eb742e6b09b835cf72bf2a4b934851dccd17510da4f8c97504c7082d638aa8f -KO = 314b9450d72f71433bf48c45c8281b05f170aa5c03e9a00b79e3bb79ce5821bcbc90cf2d1abbd576117bb6464675b07f5e90d832c250b604a7897820cd169c38890c4a17a2f9 - -COUNT=26 -L = 560 -KI = cbdeb2aab68cd2a946dc2d57df055006dca3e28fdab1cdb316cc03abca9f0fe7655c6ea1f1c8db357fccb8fd520e6cdf7bce259291bdbf06542d8817d628c941 -IVlen = 512 -IV = f4536c2b1f68a83a21a8960dd2b6f04b3379883e8ef0faec24b0c0a2bbebbed907999460740a699f4fcb502b37519e38d392d5a61d81dc177453e10d153c2eb4 -FixedInputDataByteLen = 51 -FixedInputData = e265cac53c24acca3638007f776de2bb2ce56d1517bb13e9b69b7a1b86d30fbef27654f7ce5f663cc0988f0befaca2270aca07 -KO = 7d94026e0ed5ab2ecd84c51851b63c05b8ccd8f5fc8786f2485b937d7a7a2e1c9aeee7f60eefe72a0b47670e16653558a3f94281c591855f380422e52f0209c5133b937fbe42 - -COUNT=27 -L = 560 -KI = e955d4b0bc8692beb1274ad0f77248ba5ecb8da6918a2b7df9aa6a4b002d6afab68671fceb7b30656f4486802a7dfa414f770c9b69bfa0ec45afeef4bf36ad55 -IVlen = 512 -IV = 168cc74c353f135215b9e98e79ed7273f52b5e5eeecdcf7a1e48cc0ab0dab9a7b3e3cb9915664cc63e4103f317903651f9cf5dce95a4408d0f8a4b2b3ea2b56a -FixedInputDataByteLen = 51 -FixedInputData = dc21a12d432a4115ac74092f18c9b346e2eaf769f7944ff9d389eeb63d0197eac957a411de1e24f1a94d51e87d3bf01b71ea31 -KO = 628cd2641294d892614e0c5d7b558537a520d6bf23d33ed543d509ebe41703430ace4e7b1b2334b8c3e84e3c60069ef0bd73862c47913b21e4455b2b8a7b7a9333c4d204c5ae - -COUNT=28 -L = 560 -KI = 96a75ce0221bba4b2130d6b7d4363dd11772dd5073ab765615bfdfc03fadb93b81103c264ff61f2b361be781e42e1e9fbbaf2a44f6b1748fe488f90a5174134f -IVlen = 512 -IV = 582af02ce3ec033294a31fcf384fcaa59dd4545ef6d7cfb8c500a4e44dd2e2f08feebe38ba5cf9842f40c3e62955ec5eef8bbe200266d8a477eb64151193b2b4 -FixedInputDataByteLen = 51 -FixedInputData = b93256ddd7b028460190a099afcf9ab7c3e11c114b0ab5325fec16bf904da70c87a65a866a2d77730bbbc4729ef196b3728e19 -KO = b25e7d814ad2ade2cb34a1264b223b9d2337e1403f4c4bb723d3b114e00b07c73f3a1cf2260903d5b12fc9f6f8a2cd783995c2840f9fa5de0aa7a5e629cacfc678ad918d241f - -COUNT=29 -L = 560 -KI = d06953f78d00f3e0cdf15b147244978bb775062575e5f8ee7a3d1f3c5933c07f23e03471ab5bae79a53cd7137389a52d8bc9cea96066c5a5ef8c5e3d13bc9a32 -IVlen = 512 -IV = 9645ea8c9e9e1f4eb7d172261479d2c991b6fa18c9a667b3b802062911d4473bd89a9b8dbbcc582d066a96c5bdaad71912156aa120b160bbdb6fcb3233be83e1 -FixedInputDataByteLen = 51 -FixedInputData = 13c3af6757cd9548c3c4f8b9a3a98a3f04fd66686fd1708a92fcbfb05ef0eb28c9b0818da16bcb61a7a3abfa639f6bf317210a -KO = fb19c162a1d352d14e14216df46a9229b10499da03545209c9e0959cce717ac615d3a4180b658524c52186c2ae13492da7f7c222cb0612571485c60e721d61ec27822b76fc1e - -COUNT=30 -L = 2400 -KI = 3ce720f9292148610da68c374c72afc3f1f73527b6fe8de74598245fbcb9f09879a1affbd52e6b915f60c6d09966e09435e61b07b631dfb933716c4530161d63 -IVlen = 512 -IV = 4625cc3543f2ef16efd640cd86bf2120445c58e88245de773d86257bd90deb9908b7813ec6d9b6ab6c708d3180472bd0b37404d48797cefa866a28722d23e52d -FixedInputDataByteLen = 51 -FixedInputData = 05c6f3b562ff45fa164e31ad0c94b57a6547860cf5509eb5969a1cfe9ccd0d62fa04858f388a1d9c1fbd87393bfcf7adaf1c16 -KO = bedb4a23c7295307df3d161a177f2a27052d0555b1d38a0d038d63600ef490a37c74f981e3fc724f788654cd04ad111f6402f8c8e76218fd5c40ee02de60817a23782f778c7cdba987c6f80642959e2638957f4424adf162e115ae47edca63bc8c5e632ee616ea77488437c7d6537a9215e40b8a63fa0733931716b87c36e7ee29a0088718daf3961b2ca9562d1f6b020087b4fd7272ccbe1105c2cb7a0ed5f5cf63b47b25020d0f499a1e6d60622e5f498daaa74cae0520da4d1217bf5cb68e8235e8be9ad6f0a185ab40dea01436dd376b9615e09d28b68f0a1648116139b6578fe6e58a06a75991e6fc60b6cc5147d4ca6ae6535e6306722a0d70955fc64cfdd1ca1bd8473685c677da3120b1c587bee8bf8bf0bd8ceaafa35055eb305261fb5b7bf40dcbef2c246dc50b - -COUNT=31 -L = 2400 -KI = 0bd807f90b55b4448493f1989780be3bca805aa8df5535ffa00e1b34013d480fd07fdcb1d2026ee7f12a5140986d349c0b133652a0b5fb0fbf10c41f0bec1211 -IVlen = 512 -IV = da7f1c5095701a82fa068e6014e7cec9005409add7c33fd69cc46ccb1ca805a3dbe63cd2c50a3f1b424a7e19478bd16af18f890f7954918fcf0480ca39dc0be8 -FixedInputDataByteLen = 51 -FixedInputData = bcf8798832e48b66022199095a8e9baa25c4844dae1de2618b6b01aa99d5a67aab76dad615d1740c9d356545c585928421e708 -KO = a20e3fdef6c3acd36251838903e0a927caaeaab5a0f419076b29dd528f837c1112162e71f612273a850f60bfb6b06ebc7f141964e4613b3fbc0dc8d4492c6e78c95225614bbc8d5d2dc3165b79d69e86437e192132fca6bddac9bd0f04d21601c2d9f81054bd8ba5a96dd682ba10ae4d534109db7577a0bb070b960df3fa85d3fac3ee17ded3d24b63aea4a840eb83becc84130a2c4f5f97181342a5926f98c9e9d31d5dba0532b4f394c92e9010499a48e2639c473733ce25191102fa648eb2b295a7a7fb5869c1780fb1738a958cfb09a9b1fb78a3506648ca887459c644c123442229cc1d7ece3515c7a8913d57dd262261ed23df72a2c12446905f464f09f42c52fbe4158dcbdb441e8afe60b734cb889456fb3a7f6e945edc24aed881dcd14e35cf154fd3269b723f51 - -COUNT=32 -L = 2400 -KI = 1bfed820f64e16a4734e4248e641df4467f07ddd75b8de85c3f2e57d5b517cba61789ba03c4992fef295333b42b5a28bc97cb532c5b20ac4aed6e13fdbf2d055 -IVlen = 512 -IV = dcc260e8a775e32ec19eddb2e0f99ece455c5e06698b825b131cc30c329844c244d7e38922ec2a7728295439a32a4acf02ac5bb7eabeaae4423cf78fc841fdc0 -FixedInputDataByteLen = 51 -FixedInputData = ae2544d2b5567b270c8b72400fdf6f0004de8981665102862c578ae8ca52ebb763e54bd291ef7b3ef9dc407056e89d737de943 -KO = c1d5ff23de097ca3b7bbf4d5dd9c2258a9e006b911ecaa432be086a5374232014dd3b2e8fd2434fa7e2e0a633a216a934b2502bc384fad5507c3dda2c4663f7944a8b5a0e75747a370e962a19e4ff151b42ccc4211c12417ce2ee9d069bcef68eefef8b43ac6d27b369a43ae8eed76d18d97c6644b2737576b1b1adf6e341f98eb6ce57d25eea54e5f8c12df33f471518921e6ad55dd85003fbc0801705a672508bc3c3984e68707e331c575993f28b903a59aa3bd353da4bc063ac48a5fcf5d3147f46016d069445091115d3bca5a52884940a0b2498acba706b68bbbbd26581547b2c90306c350cc8a08973ab8372fcc56391d63ec1f1de57606fa29927115154a35108d2896fa965ffd3055ae07ac4d87393033fc869af61ad2a50c9aff696cdafcd35b3cd140a1038f10 - -COUNT=33 -L = 2400 -KI = f795743ca8c6a1e6d932e877300e69619c173d0faf607db05e82f40b20d2e818ced49d1456a7666e8b552c8b6fa67325ee163962685a2ebce05f1ff9bea2d986 -IVlen = 512 -IV = d0e4029ec86b1efb21830bd9aa712b8255f56af98c12f64f28168541d42b0cace82837d485e0db6aa71ac53f384f1113142202bed49a2d33598c12ea59acd421 -FixedInputDataByteLen = 51 -FixedInputData = 27d67070a25fba5a87d7d45c725f46cd04b0e394033cd0943ffb4a8874e0d9a213ca52c635e50650cc9fd7b6e38e20deea80f1 -KO = 3fa2e798f49e21482788ce1ba424bb309a151203c179fd01ad2bc9f5de1a2651bb94d9c1c47077b5844709d89ee03198c654c22e46416d2f6433783c385743d7a00230bf86666e52a29c5c0c3310dd79a452451cb0621873395daaa584e34fe05fdb4391a6c62278d96ddd1d59c5e87c79456e69a9102a71b568eb0f7ca192e7a11175f96212d6b618188d4fef1e565202945fa13ea6f26590fa6570db9137c9e8b6d3534288543c673856a6d046ab09af51ae736e29ed05596cfae8d4bdec4dc0710f3cc94be3e044d88fd92e5d7efba4332ebdb5412a1bebc5c3d457ae51f99e8a3c315a73290b15feacada47e2d80910e6487afbe75262947f9de848aa2a4a3929a021d03c5e9b914c1d7ba4d3d9f9169c4fe65df0fdbfe3aed7138d87ed6bc424c97ae7fd01fee00cb8d - -COUNT=34 -L = 2400 -KI = c52d038cc7628f8992374613d9efb91d32b72147c05e81900035870960aba884236827f6e063e257d70b4738d1a5a26bf8f427f254311f13422763d5222b8f30 -IVlen = 512 -IV = ca568adacb6cda17a5d20001bfa03e2d5d87589dcf16c93f39e6c17786f961c4810d3d1fcd3fafd68081798128faab014ac04bf08cdbcecccdc76bedcf9c98c4 -FixedInputDataByteLen = 51 -FixedInputData = f797d526ae56e01ff98dd7d509ecdfd8f89d2d3fc2c63415ecb043983141dbfed5f8bc247cbb0ed4cdd1e5a79830f303dce257 -KO = 0a6f866c45d237c72d3ddf460486582e95312a68875a653a935c6792788f7959a21296e28be072f536179eef0a2a8d44bd314c7d0965da2778f3060a6be3a7e4a6c53003593e41e6dcf92848f5ab6c825e376a7bde86172807d928a86621c4b59962f65859a1ff7622ec1645256e7da943ce2b94d92d14984dfcb495e62c6f60f5fd705da59f3df9cc7bdfc06f398cff946fd1c39259334ad37643989c177472226b2ae828ea22ca031101506d39d51c5408b13ee8da8d1ee93512f9be59ff37c9a0a30d1452e93d4686a5cac9a124aa0d93bb55f364d740b3418c7a3c8ba203ee356f352df4b4b9457ea4ed125ae34e23f8c13234653a0a7174bddde33416a1d80290ea3ad1185d8b11766123917e434ddbcdeaec0028ff1f707c3e0d53374eb69142651d17ffacd7f0928a - -COUNT=35 -L = 2400 -KI = 2b9a8478906741f844066d370c48edcfcd6b488ef29051f968e2162280b6beaa21dd6137e8722e13d713cc4f412fbed3e55dfa94191d8244be6383ca2cf849ac -IVlen = 512 -IV = 96e0d91e578bd0bd20a33e8b2ca9b443c126bf5f2ecdde1ac9c2378056353d399a841faf22d2b7fefee0552571b73f19394001a66e5f115a439cc3b56922ffa4 -FixedInputDataByteLen = 51 -FixedInputData = 24a6879231562ffc2ad6a1b9ba14d23c0ea224644197ea0dc82196ba9c27aca072ff679e73977c1f85af987bd950e474a3806c -KO = 1588765ea87d81c470a5d3754a2293e99d2c84101f7a33f112dc61bde23d13818c7849ba1d5851bc6b569a562736e8017509c01a65814f3e943bf631dda73b55438d081e712656debc84254755a3ac0797482882280c00c293634eaeddd42587628a9c6ccb1aa2b54238d187426e309cde5e8eb722ad8640d7793baf470d69b54895e00d11082d42e86084d4a30a3f8d9cbacea38c29ba888df6114e9346b15aefe0cb5399b4246f190c50a349fdc0295410e71ce14e16a0392a3df2587b8d1e73531f0aa55826fff8367b39e75b69213c1ecf39d3600501996f641768f3c739dfe86f725981ee10455c2f707fd99f1aeb816fd577a44dcee4d61d09e28ef4a982425c45af612c2be4eb5bcfe288272e1acada8e471ab856c7ed629f09273ab8b41e20526e142312dac4e158 - -COUNT=36 -L = 2400 -KI = 8884876d9c48a7e3fec103ac5f6f78878aeef11db560b5fa4017577fad195425ced6dce71b08024e1494fe8388ed376592a5b0a61b91ffd760a9547d1a00a146 -IVlen = 512 -IV = 509a9e985b17489736e8aec12f4a496cee2be7fc0e812da905d1348ff4946fd8fbcdf13cee9ce6bf870bd17c0680d8350574cd326cccd23572a4ec7d7da82bdc -FixedInputDataByteLen = 51 -FixedInputData = 7f8c4c28fc62b2f8dd12b98512c163b7037c1dece1fa14fc6d21089b106654ea3a8b6b924e0406cceb3267fcd1c299b66d56f2 -KO = 9793c3a49ed317fa794fdc3d2de011c2458608ea8be626517b18fcd39db5c5fdbfd6d5d453212773558b8b329c29773e8760928c620429cf09e4212748978aa98097185a3960236282621af077a64db4fbd31ef47943fea2615e280a5217b032fcbb59312a1ce781a9c8c86625626f5911592a6d4f46dc393a9b05dd915b34f84d212669a3a41cd13e11961af955a867f028d5561675ef5e70e24471b5999df2417721b755dd52874400f83c8dd7864163e838ba9d3c7638aeab24473915f3c2dba02990d57af54ef889445cc161d2e29be7c6e148e8498aa70ce8145ecf19bd54c5cebfe72987d4e45daf56864c3549e7f26b92360fa7528df3ccda1fc92c2dcdef46ca7092dd0450510e6cc668b4a274fa37ae30a39d67d72c5019be3b12602acd759df37fde74aeadd783 - -COUNT=37 -L = 2400 -KI = 4d870bc3a53f8b74ef004dfb458aac875caa87eb13a04cb1cd26735469a93655e65adf0d977ba98e7631883440a72de275cd122c1865855ed8b03642d0c09b4a -IVlen = 512 -IV = eaadb12aae9cdc27474cbe1fbe2662d89ca00edef5f566d755151884cb061411126ae5dec8669a8722ccefe9b63ed1b13baaa89f7786aee0a7c3bf19de07e227 -FixedInputDataByteLen = 51 -FixedInputData = 490b86661fa23b25452c6905c384ac9f7195776bb83b213aa128062912f42401afbf975f7ef0f9dbba8996ea134b775c6dfb4c -KO = ed1de0d70c93938ef67d1d6d73f75ecebe29ebceb963b63a0070b2b8961c803c30805ea48a9cf93146256569cfd24ed0b11e6d461273a70c8c003c4b011a1b287b2e7e38e7f92bb35226f384eaef12bbe1d8f6f9b89b23e7a1b2787aa9962922daf75906015ac7816f873dc267af47271b3a66ff0b7f3dd53b5c13c1d04fe161d0729a0067444a4be33f0663eec05ce1e71572b15477a3f43dbffa0f9c22a109a731edb7d87f23c49ccd301cf424778e8c912b9ea95859938afc7f55d07ea6df2e7885af9840939eacaa8237f8df8fe2f0db7bdc3ee3fe1f8314e6963f1ea21d2637fa3acb99f027c567f5469906207ca27181d33141cd21decf64bdf5ca099ee3d70124e862f1de70566c3d65291b0f0cc61802362f933dfff89af5f23476bc6be1ce80c0718724eb086a4b - -COUNT=38 -L = 2400 -KI = 9dbaa94620f99ccb3e92dccd3c8df93f0d512d711fc84f4ff002c6e75ff6eb968bc9adb14f5c29692aee81fcdd7d659c547c18dce7c92c9c9f93b6c9815971db -IVlen = 512 -IV = 497114b8631f2953d9ea1d17f96015d535bce414f9eb0dd6e7de8e2044d09f6c8271f257583957145eed9a736981bbc1fe7f84e975a0ee54ecad0c0915cb42da -FixedInputDataByteLen = 51 -FixedInputData = dca081bda6b69ed7472caa7fae4846e615ffbc7e9a19150eb4d3806f56c1b951fb86d95aff1fb084125da08e266658472f4eaf -KO = df5fa978c4281138d56944aca6e00940d21d4a877b2244c46b2d44beef9fd66052814bad0ba421865c0e452e342cdce882dd5c2747c862cc5068c85a01a808facdc022288d2dda6ac52865ce3b0e4eda542125abe83fde5a786ebf56ad7b2d399fc223db13a429a476fa83c4868003d806430cd32b037d5047a12fef682d3d663f195ee16b1b3cc187d420657788b48b36966ddc554dde27bcafc039ad3c29c0341a122865bd617477c45f4dcd4ae161ef72d5b8bed83f3e3ce1b6eff950b960a64418913721e7cd5583e26b0bcc2b6a44a25ae2792914fd29aaf8de635bb774f05b1f6762701cc8a0ec4d6bcce8f4f74865ec546f027b0f123a27496eeaf9bae73d98608f01c7462939f3dea7fe2a535092a2725ed792f5984acb94b41e70af6f4f75837cd2f34d3d0a52d3 - -COUNT=39 -L = 2400 -KI = e039578229e15f3cab29245a3c57319bc70168f227d0f550cd745620fdfb7ca9f6ef6bd2fcc84f5eebe96ecdda8fef70216f3c04621f95b2358f0bd5963ecd6c -IVlen = 512 -IV = 1f1910cb3278b9dfbc46e8e0e543326511a7e661bf640e458f3e9137744c37c0acd42137f9405914c4a4e5dee7769910e81c497808e9478e0bd7c7068c9b5cdd -FixedInputDataByteLen = 51 -FixedInputData = e320a07a9c359ee5d935d6146480be67668ae54dbc57371edd9bf60ddb7b2db4ad5b129984a27f19c75cbb2f662ce452166d9d -KO = 4bac27244e619c025890212ada80c7df5b39bbca8531f633d83d79b578d7cfd869bf86eb7a028c9fe927645e11329e1924d2afc2814d20a23c1967dcaf1b13d95316cf2e0eb23c3a2c34ad36a53b60853b6fb9d91564428dd29b7eb59183ff6d6fe357471c980049248cdbe97fdc2b7fba47af1de1698536254318cabaa044d0401a9a3af80134b0aae41ef7a66929bd617b6fd1f56e01a1b041c13674b66d1b9ecf72859afa3ecbdc39370d5dc665598249f3aea3f83ca98471339febc35b6dcc1fd39f0a7877e1ad766a42f456c54ac074a2aa0066b23defb84f26eca7d7b604043abc2d0956e0bc246fcf14ab4d69100edd3c03ff472e163596e855cb22e46eb221f042660c01252b148e2ea866b9b9167040b57852173e2036925c93a82454c13a25986ad16f5b49e7e0 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_ITER] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = e709c8f6a16e4a3a57949e1670d2da5f4ef4f0eb6aa28fc4600d3b674c972f5c1ad32dba29b3bb2bcdcc2d254b64b70962a312a5a660e659f53adb3f1962e30f -IVlen = 512 -IV = 51b08ace98a312062dd6edb0c45d59a245a6e5d18ebdf9054783508666f2f046ac92a8a93cdb1de702cbc01f5a830a3f4c545b85bab2a3d074df1bd803761619 -FixedInputDataByteLen = 51 -FixedInputData = 8e3f0cd15813ffa44b7987e60a6f8700623409cc9f9138df85cdec4eafdd2dffb3a93c1631333e462969b30a1863ced30d860e -KO = bac8a19150e811440ab2352631794ae3f4e2f975508d47913ef2b03ff2db65115ee02525c3adf34811f8418384c34310dd601cba3127d09a55919aed47d45d68 - -COUNT=1 -L = 512 -KI = 02bae1d0540ce4e256a2c462bfcffda36bda3b8d887663107debb88ed265a850a8e59665fc46e912d6eef05e195def929153e624e4e69124a002469476571b6e -IVlen = 512 -IV = 042bd83ab08a082168ea475fb91e2d1cffffb60cef241272e435eb191e890b649966a5fe4fdff53dc6b92636adea5e3e1653ae3855e38b5bfd7eca083ae0e066 -FixedInputDataByteLen = 51 -FixedInputData = 359228111f7c52ea1045164c5166fa0bcaa91a2fe9a7061fce4f623a10a56a972321524ec6de84b3ce2b7fd76790bae45afe9d -KO = 30a528cb083b4bebb97a2bec10d93e4d59bdf3fd1ac62d642c4f668c9e4c0b381d85bb798d3932fc29b9eab1cc7b396bb35c138f8de3102042a1674ec28d6ba6 - -COUNT=2 -L = 512 -KI = c00c7c6e03797abf345372c3a7c8a746bc4a510b1df1238bd8676ba335e504d038958bed3034cc7466da892bd05778effde6bd3a4054d9577d0ce4330239f514 -IVlen = 512 -IV = b07495ddc316aaf0cb1005a6854248451c6f213f89d831b39b17c4d046335dd6d6e1a6ce52ceee286d8ec50800439ac6c7ba16b080d2d72e6c21544b832e62f6 -FixedInputDataByteLen = 51 -FixedInputData = f7620e88c26a95d667713eb4c4c5a65f233310fc61b2debd3472d1e7d84ea73a02865fbf304d54fc3629b4904a8871f759e171 -KO = b077e539c6434be9bc25cfea424a41176f512bfa45647e504852ae46dab7fca8bf75d5120490676d4e4229ca44b6d72ccb0319ff38e371c4506a599cf22bc84e - -COUNT=3 -L = 512 -KI = a0c3eec72a123af6602ba803e02e19728c00a6ba362ca7f7262235f1653ab5134331bfd6c7d44f30485482f063e53eaaca37c65665a32b38ea54621607b7a364 -IVlen = 512 -IV = 6734edfd98f333d71623dc962ef435999a683fd050a3c9f711a22ff267a1b6ceca39b65ddec9b9af9428dfa65763c9f430ec9a67810b889136617f05cb501a96 -FixedInputDataByteLen = 51 -FixedInputData = ea8c0960ed23517984cbf5314f14a3241c74b7c52015c58243bafaeb33fe5455a2164749851683a0935716114dca32d2c745e2 -KO = b11c4e89994c1829ae84a331249bc2f80be59a1ed815874dbd5a91667f7fd5cd3b653b96645d22b0ec34f38ec12f1b43c556836202650ad5740db30eb2d3ade8 - -COUNT=4 -L = 512 -KI = 882328dbccac1159610b010f4e6057ca8a4fa0a044f573b4cffa4d52d4c2f100a6651967cf9f56bfe32577e3b01e5c1db6008a9f66ef934ac3091658d2c6e561 -IVlen = 512 -IV = febf10dda6328aa830c200eb32b9e9d7da7c75fb11b209f542e6f15a969bd56d3ae8c6ee6dc6b294ea8ec485adeea9f0c835431d826c042880e3bb201d10a710 -FixedInputDataByteLen = 51 -FixedInputData = 08f82bf0f75eccfac9e46127d2ffba0c5ad9aa004da081916e93268756bee997d3daf0c87c730effff87df730f11ef319ee802 -KO = 71112c2207280a5667598f3572a72fc0f01a27a81bab83f1a524345ccf787b7ac09aaa8ca49cadd799e56ca028b16ba327c65a1ecaf177d35159cca4a4f4feb8 - -COUNT=5 -L = 512 -KI = d57393bf8e822b0715c7b9e8c2d0622d16d06db4965057886a564b7cfaab83f75a23fe5527acff5df56f5d20017db76c9427b5aa8d3f1a60ed0a23acb6c97b16 -IVlen = 512 -IV = d9e2dee252a15ffb2272b18e0728a6e4fa65ced7be1b86eaadb71738f1cf8282415af1080720b5e0ccb68d5f9988d7fd0b7298da4b4470f701b41a30e8dc8c5d -FixedInputDataByteLen = 51 -FixedInputData = 41cc8dc380b36d9a38709df21a230f03cc09fb631405426d3a5c99ef40f443dce366cb9bf936a13c5e761a942d606c1e46ef28 -KO = 3d63e5457cd61c1f4eec39facbe5b041f473120974f4fb8a067160c8c25d882cdb6097353f581b25dc7cd00e51a96b1deb73be018e1fc080b55a90670e619bf1 - -COUNT=6 -L = 512 -KI = 93bb31c61a267d173a485d10cf34394d367b2379a66c6b1d9da5b76235d22c5bf997b16af755dfc4963ab80fbaa83b1b7c15417a7c1058d42319a55de8ae91a6 -IVlen = 512 -IV = 0fd81978f25c4e69d3fe3bafc98aef828326ee6d7ed4925c76a1e1f0ee69127f0c397d4fe51b488088b8066a1b11520c800dce185003b053946bbc68f0a8475f -FixedInputDataByteLen = 51 -FixedInputData = 2c14f024d70b167e5ed0c92c0301d61991f9338137c5e0e424fc14331cd6c1339c3e1e816c63251e4b65a6efc5dc340afa5e57 -KO = d37ec289a51611da6bb5759cb31a28712d3f0c4f14a67903d227e0eee79103adb8854f2efea6646f3c40b65bad95651e30d63596fcee9b3549eb10c6cf5de368 - -COUNT=7 -L = 512 -KI = 883086a14c3f38feb14b6ee9480915a2861a025ec30392ec147de32c48e463a636b83c00ac7e55692511be79e3f70ad95836b5d0e63a4f21d75896022b1bba6b -IVlen = 512 -IV = 35ac4a1f34b8b330303a523d19728d7314861358e8d2fcbb504f6edc83fc201c882bb53c4080026fdd2bda9434592372350535c45a735071b036e2c5156a75c9 -FixedInputDataByteLen = 51 -FixedInputData = 565145c5420f1d689bfbae48fb2f68c5c3f524fdf49f165e307d29d4cf6dae65a89588c9e2c02d0f7927bfd08a91478c12042a -KO = 77ff69f0222cd4c935d1ca66a998c196187a25d1ac54220009346cb4aea322dd6783fbeba478bb25b7722d6f02121c887f5c794677c2e01c79961f7c04f68ff8 - -COUNT=8 -L = 512 -KI = b75dd5340b0c26d36daf1b88bfe18d77b3b63786dea0899965c345b8920db289c6e741ee4f1de97712c3f6823bca0da23657a5bfb999f5a50c72663d298d0a95 -IVlen = 512 -IV = f539bbc36fefff38330496cac42a07eb4975f0c75ab749f36deeb507b7595cf080c86b6b0c18fabba241ce395e53194cd7f2bb0fa35d526277c49124ccce2926 -FixedInputDataByteLen = 51 -FixedInputData = 6df613213c34cf07870a62a57c150d924cc7b14e42d51f6c288ffa399300cb23e39bf85ec451f41023f28ec5147a8879ba97c4 -KO = 672e6168f49cd7774d521c4f28ddd86bfe9d87ea797f4ac9c724232c2c113113769c0ef381855aff660c918e74de1d85921233388eb6109b245a2dc23fd54129 - -COUNT=9 -L = 512 -KI = 79e894ebcd41a71fa863d6cee8719e754b12598393c8d0b32e399c85f4e4cc67ce1ca492af2bc8e71976ce9e3a20fc3a48c2b44be3051c0682ff0a03d086ef11 -IVlen = 512 -IV = 8ae5554cb56cad8e015f54170815501ba3e62b5f187517d560c0ff6160b91ec664fe4750131aaaeada02203bde4b4c541e5141b076e753a32cdf69c00037e0d9 -FixedInputDataByteLen = 51 -FixedInputData = f9e9d1a8e614b8f76364009c787e024670c97201da1808e453e907656ac1999085c8a822b15edff656e688a64fdd91a5ac4698 -KO = 890f35286f7e9cf913f0c8ebe3c5db76e36803a3e001c6dc7d544e670b6920df14eb6f2b2c3def6315e2a577ebd7202c9cefeb5f6084f012cd9992a9503dd5b4 - -COUNT=10 -L = 2048 -KI = fecd7ea4f019aa6c5ba53cf6d9c0dfea2bf5b3544265bccc98f7d4e795000e0065ee5fced7526645f164d2cee905ebe83e32fffe5e2f7e51cc9d484cce6ad882 -IVlen = 512 -IV = b43f1cd3200e408a076f3157194c30650bd61d1bebf3fc4d87c07d3c5bad43bed93ba0058fd3cadf76a25269e5dba2a4e9086c90d6feb337e0ad951bb39eda93 -FixedInputDataByteLen = 51 -FixedInputData = 3aec229bb77c0a086f1e9e6b53c93ff540618b62a1b61a492ef1b921e8698348107ad71ed8832f9ecbf704aff0ca75b7dee522 -KO = 6d562e56c588a09b2d3202f528f733eac41dd0f5e73fa2a3a7093ecded8a110b7bd05a253577f5a5fb230d1a81d48b8e7b5ce76b8f52003c7c01a1b7124df58fe75014938c83c96ac9c97df4cfa8f2069c4a748ea7741c982a0fbef6da29a064e96f2d8af991dd0bd9bf8d40fa2970c7a68f1d81a4fa77e1824d8b321a65d102db936fe16019c8c4c847b08b4c4f80d948cb2c2cc2568a9949eb3483380d53f84eb25dff4c36c4b0b3d776e566e1220a20cab537c83ec6fbfc378083ed60ae9123be710d112bae811eefea528c993cd146b691982d2bb4a1900b12d48c6f7fdaf2c5c3861dc22ab4378137502a206709f72d5481c70a2f331f36c17507b4e876 - -COUNT=11 -L = 2048 -KI = b3b6ff803319aaa47cdf79155240f2929e96ef647d14076fe580a2a3b606ea3195f9adfbb8c19a10072ea2508a8e998f5811b90014aea68baa951e5f41319d6a -IVlen = 512 -IV = d14c70c1d80387d7a2320e4265a49386fe9c4ee368094a8c8f5bb9b5281a70f3b56c10a73c02bce24c5fff801bdd6c44e84e4b84eb0f428081f326971533af85 -FixedInputDataByteLen = 51 -FixedInputData = 0d3530e7bd470bc7e8961126ab8659aa73c723ac7c4300cac2e94b8c94e64fb785081c7f2c564c55911a4ebb0d427b39639cc8 -KO = 310511f4359425df1aa88df69e3e8c82ab6260a2b92465b36a1b24acfca552e02241acdc502807bd7d208df411eacecb7cdd78d84bd96a8e396d966e84d2092cea8a387f74b7393017ff66ebd0371c262421ed60c8da17e3189656c905af61f46d867cb350ac17b1587bf757efac3af98991268d40b0f72411096de0f084ed0f5bc91bca33e4e165717959f55a1a20043878d18ed9830f89a5b0bc0c5754f987829d468065df56ba69dddc51c33a0f11f4984e806614fe1697919ab076f564bf394e50da7deb324e0a158204819bca7ba98774dc50699f6cd668661c76119af34429508a1cbb6103fe79844d1bf961d3e2baa594d83992f1442f3d813d6627fe - -COUNT=12 -L = 2048 -KI = 50c2875e01ca92897a45cac8e8d369e30bda77e2f5dd0310a9f0d9c645329cf4fc8c0e3b80e08278069212e8f0510234cf1e5db88d353bf8c97f1e795f448704 -IVlen = 512 -IV = 9986f3c78962a8ce911596b457f0695428f1364697007e441e0262b6997e89587395180d4eeb87c155d4dfd171a397472c9d158acdfa8e5323517a9fbe586ae7 -FixedInputDataByteLen = 51 -FixedInputData = 4f7b3de985813473785d3d941f0d922d24e17fe2c1771e557580f9ed71d412a5cd3a67155f2ab16c26bc9de38a3dd877999756 -KO = 7bf8e56fc17715fcf7f60104df117fb57bb208be17869e36729e23b756d5e09ab33594b1c1d8031f4f01d95e202d998ffc8f0089b2e9eeafe7b8604dd0bf83fe715b0c11bb951b0749568868a66ed2df1cab169c699f5ff6ed2f88c40d485bd3830288d60e93ea750f24b26d4a800eb48c180bde3b0d63082549ad79f4c71796e0503ab443340058060b67175186eda50b44dcb3cb8dea7ce917e9eecf77ee0c754c83a81c5e4eb49d17d9a380e48bbe9a1b21196bad171f7dd28926f0a36cf629abb1a0b5ab20b22777aa109de5d1245dd71f4c25f87b9fdce42c13642f0c372652ca464f6be6c9e88f3d5a5f4d188e64a1e780503bc64f40a0426079541225 - -COUNT=13 -L = 2048 -KI = 2ccfabceda11b95b2a84eeb9e1e403e9c0a562e457ccccbc7ef641445065dfd67fc95faeb50e7e090538ec99037af7e039c0ec02ffc5e2748bba6d828bd0796e -IVlen = 512 -IV = 6a7ad2299483aa46e32e090c64c8c0e6d61e604a596b57d66db535bc8a43f178148e80692798594b03e5f9a086967580bfa2b312fed8b81d5b35485b2180faf0 -FixedInputDataByteLen = 51 -FixedInputData = 94dbdedcdcd173802fe2d82edaf054413edf4098280aa77219dfff055d217cfcb844271879f64864257fe219eef2e2c1e5be94 -KO = a9d7cb7e2fbfe7c613ca0d7abd6fe0adcf2e21b1770fba980bc15524fd52552d593c074d61da3f5d2a22af53a8c49fb61b5af0d58624732d2614ee5246c0f39ecd46e75b0df51e51fdbd7d461a0064cdb12bd80e5c002c33f99a643e393dd0793eba4fd6c08a0b21f5a50ff7f83316e38d01d28fe3911b8c1048953c5260ff2c620eab588c3a8c2ac03c9967b91c4a24eda4f70b2be14ae102548a51b5648043bc39a1d95ad5b0e8b3f2a04c94eeae1fff60eb06690502e4323db8b15c3fe30e9e9f402345c60ba3a97b34437749a067ec7b7ea5f8966f51f01886e079a1dd504e11f7c46dbdb93665a454ff767b92e7595a0ab7db5d1da35d7a88b887a72987 - -COUNT=14 -L = 2048 -KI = 21fe3fd6ca9f3ad2cad21105b7ef017c3555e7af2f392d91869570e58ce31eef6bcacb154dc8a1ef1c3bd50404c4a51411831c9f9eab64a805f3c5ddec097ecd -IVlen = 512 -IV = 13663cfbf8ad8c896a0150f4a54d96e85d1c151e8da21ca43412bed8469e2aceab0aa74a1748f0127f3452c9e41e8515596b44baed9e6de087367a71c9f12c5c -FixedInputDataByteLen = 51 -FixedInputData = b59b3c042ffa4122f565ef2cd275871af854369aa252ec98aa043f4863f6f2c1acd8385a3385f44b9c2dff2a114aaa172ef152 -KO = 1d7d95fa62507449ca6f8cbf949ce66495dc095c36006e682e1f0ae4b08c9a4fe400b7acd5aeec6c2985bc72884bf4dcc6d99530fafdd2f51a18b06f873ce84a1928ac3829b892674dc075431d1a84a88c976f10d7dfbd8a815a09ea6b5d06276ef05428f35c620ce2a9a2e156b991b7c37d7172a849bec5367a2c282596cd987511d8d490bcafabf69c3f903fa12300d9630f3ef763e23f2ecc2d19277ecb00295446cb9c53fa92c0f93a4e85ba6fe65121008b9f073c98ae3d1e032b0a38c9f46974008a8914909f98f331b800114ccf665cc1907dc3b16a413837c0db98076cbfe42142fa91a9020ea3bfd8c0f3715f8fe01f47b4c2cfddbb93d7b19c5b41 - -COUNT=15 -L = 2048 -KI = 98e98732bd49f03f8ff4831893e6a0d1781820a3d965194600f15466accbc26c961e9bcffc3249bb244cf9b80eed3d96aeacb3ff2c361b6a3401d3f64ed9e922 -IVlen = 512 -IV = fc7c25828407d3468ab866b0d091f5b67a0b52e3069e54701703cf670e7f29dd5ebe7098cb9d14516dae222692c8ca5776d9cedd2fd9cbccebc87b6155ad3971 -FixedInputDataByteLen = 51 -FixedInputData = af345bee1b048df737976e363ae69ce3901036bfa970fe9d1e2be3c228188cc92c2bf2cd36549ddc4a42b9813a3a806311c5dd -KO = dcecabfaa893603b16b7381cc35ac2c51de100eed0e0a9f4e37d42d83c5a0a33e978a7c58a6dea7d22aa245dfb22ffcec6fc64259171651390c59b9985c586037fd3b522792efc75ba339825009620e98338309691b9d3b4a57e52913a167d25cde920450a6567d349ad7432fd66cf6c721612c1f35e5f12d95129a79f59fe1069d836a028f296f8faa4b153c0efd05f466df0477ba0f19ecc41425ac058218f4bf6535a92edf0573a57c5c7b04e6e05007f0a38afaa75e01923c006aaca082adec7c773c136fd39bfdccb5fd74277e3983f9d84c11ff311b49a623eaf8e199fcad575345881e2ea881543e7c09131b5761cb2063721518d8eb5a126525fa989 - -COUNT=16 -L = 2048 -KI = c004e020c19087382d15621880a534ef535992814ef08dd04e399afc13b4edbf0f8ca029e43bebbf1207c60dcbfbc398834fd3967810ad54369086004bfd4bdf -IVlen = 512 -IV = 965aa5a346dea3dc336c8eb14cd02425bb92a4d020a93946b71779f36656e1cd55908044742d92444b5614c8dba819667ecbc933f9759db7d6ebe273f7dfd063 -FixedInputDataByteLen = 51 -FixedInputData = c6ed9c77aca426b3f9b02d98cde674d49d4d0492a826dd2d265e142be33d19be11cc878029c3e3d2df1571ce331ecbd48b1c64 -KO = 995e7d5323b0ecc1a933c8c1a0765eaedbfa5284c9b2727d5d2e8c441f655cd7f13badae7fbd63de5478519bedd1c8c286fd7a60f5bbe35c3e50e2590efe11d49e99b185850e1f60727d9074e8d52ab9c242bc04b7be55b4f67bcedb74b4c480ab24e253a71bea1655d9c03984006bbd70d09441fd423ce95d0203bbf8e48d9e302e18a34dd3c2623c3f517c429b5ace8a1d7d24de93f93484c75b80ad73dcfd9867b846d7954caead6736101974e3ab8ff1efe465d0efb5c7487d044915c444628dfc0b36199f2fb5c3a9e9eb9fd97dfd731f844b6c21d43b5a76d13aee1db8e4ef60e37baf734e2c86ae94ac862d60a1e1655a2a397906423f288012c13da0 - -COUNT=17 -L = 2048 -KI = 6f015d23605da6134634ecb8ab6d7be0085a24598d074dc755f8c6532911a53073ae6a58982f1236c445a268b0d9b9b22c6344066d4f46ccbe25600ae1be3aa2 -IVlen = 512 -IV = b3905c859a0280f5af79facf5a68674b3500a2b84d0841e5b580bca1841628c3108e21fe1e81b955fd27a64d95146f93a06e2d9b7bba5985c93e12f5d8ec6afc -FixedInputDataByteLen = 51 -FixedInputData = 9407e829ed4acf92c47098ead66faae8b3db8ab07b86d1af9a85b2ea0b504b30bb71dcd9da0368d75c76c1faff0832f8f4ffcd -KO = 6a252877f04d8752cec4b1c939d1f1d47a476333a54faae7e62f8d94e7cc81de497fe725b33d9acdd30921ca0239e1526585fa02fa1bbdfb0210799badb8d62c0d20faf843816dc1ed48ae8b5595c3fbc40ba3aab3af24fd2d14ecc71e62bcc2b6b3ff4b379797f12adac09d4bf3384b70e4f4ea6ba36158998078cb1440568d4beab0548bbd84e50e12e1324800d7b502c1ea26c61b350ab0bca694f54fb828c0264ea99f7e77632c63882978c56a63ef470d1febeacd8260013ab5e4e240c72660f27700432a1d1904f40c2725424a2fa5b362ca52abcd32470add325ce0a8c53a7c589866d4c4aac26d41b1921ff654eb3032f86d98bd7431d1f854cbf494 - -COUNT=18 -L = 2048 -KI = 0c596f9320d4557ef39b3bab577673618966667f1eff213ae2ec29bfdf393a853c5d8f1e5cb04c60fd5c7dd079819d9de12937a954087642c04fa22676b3a7e2 -IVlen = 512 -IV = 862507dba4a2b2983a9f1001286e251e8d5131560dfa1a85b3274627bb76e57a067528eb9caacb1c292cc65471fc9900597e661b5e6496484c286afdecd0d086 -FixedInputDataByteLen = 51 -FixedInputData = fa0a813e95da5a7bc01195c8778d19f582328801e87d40ba665c88abe5f7f4781f071a62cd85a1bdd1ecfc44a646fd6088c17b -KO = 7833f8a93dfd3f9e0219c622cda7150b2ca4e2cde911f685e774c6ce80d7f7fff1664ffdc249e3305ad594516d69cb38f45e1714d9bcb552d52ce64b6e6160b5efbf8688a14a768449e044e24dad3b91d7f0bbd4af699ac49005bd2e8d15a0a03bcbea82c627c752e6e0ed385e4ccc08fe9371d04e626b3406b3e3e6252fb9953d409833c60558ce62fc5c6dc5f5bfec0e0bb54b149264deb669503383ad10d11d06e23e580559a0933378f213f3c1b4c71a8b99191a81be3dcb9d3c33d48ceae82abfc25771bbd0b4f360bf57ec8e1d99711295a54eb23b9cce5460edf9c4553be110c437aefba7cddca491a73d83630e66ba55315906ebc1a32092064938a4 - -COUNT=19 -L = 2048 -KI = 02b0709af4b6bc98f236ec7bb09d4f4a1e02c3128e4bb64bb087d3bcd204decc912f29543e137b4669a979b6e8ef85c0bed5fb6f2d84a7586cab6a03092200fa -IVlen = 512 -IV = d9c05ef37e7e7cc08fb1dbf368d4ad9dd54aa00635c4c7869a92e54eccb4e19eb0d6684e95c8118943a7b7d69bad195d1f1ec91e38b6819535fe5143ededa363 -FixedInputDataByteLen = 51 -FixedInputData = a4b2d4259da4d2928028e8ab93f413431b9745e1e041b4bbf377205ce5713bed3179ff471d290ec5d6efc8fd8142152c38c17c -KO = 8fb30036abbf20785034bd49de3aeb425f27e202fb8c9a89e3eb4751837c48a1a668ac4887ccd317b7b593ff86a1f52eb5aecc3bd6fde4f6ff4b44aa65695e28fbf9da1088df7c12542236a0bd8a8e41b5a19f0b837b8c1197522b78bd65607fb212223406220cec8c5b1df0e21a0848fa2a36c6fed8674dd039673ea0f77908325947ccc0078806a8d5637db71b0d8e442276c7388f15c128f4b5c9fa13826f49bb5e1b7c6619e1a8317dd519e6e7d4e5daff3c2b2e733d960ddba707757ee4e94212416c5faf836bba3487e94c2d8778f1961f7931bda6f9eadae1941ddb39c8f1df2c850d28a434f3e3a6aa3215dc18e00e4d3f8c95be51ef1127b60ab419 - -COUNT=20 -L = 560 -KI = 4eb6217d002b9ceaa50dd482ec87a78dffd7aa3ce5c90a91ee0faf88ac50f34a6f51cb6ba72b2ed501714d9d81a80d7ff8a4099d1ddcd1d43bc31081642b0c31 -IVlen = 512 -IV = c7b5f1326dac50fe11fa52c908953db75bf8034bc8a112f29aaf95922126580abcfe36496d874ab4933f3753c69222b2e3f3e28b1bf3409d2746e454bc452ef9 -FixedInputDataByteLen = 51 -FixedInputData = 0d4e3226bc3111c0b53303758aa0a6dcf4d00eaf0c431798245d2072ee77a540ecb9d0f96adc475a6029ed7712aefbdff2513f -KO = 141bb25020e050f12f4ee8a5666edbf61bab160946f364470d2106ef539116549c29decaf54b881a7e8a09bd3a31a42fe6f7a682b13476dff52e8e1515ef126345dcbc13c0a4 - -COUNT=21 -L = 560 -KI = 21166717dff8f5fa754174f9bc03f90208d5138b0ad5434f8425fee90a4cf9691d3f514ba598ac42c116f565fbc43bbc50ac8e531e4fb0f03014e8cada7191b4 -IVlen = 512 -IV = 354302759e8980355059460225d619bb238e60bf43316b3f068344eb39f05f6eaeb0f9490580a3f1ec20e4ba892f93b03b1d82f239de7631058053446f481e43 -FixedInputDataByteLen = 51 -FixedInputData = 054c30b6519fab2ff44f8cd62377e48567ec4e81b58826eea26187c052649611283bc25a20f30e8b5c0533245b1b0923ce13d4 -KO = dc1275cce16a130c85a3981862d16fa279c59f65f3f4bc2443ed2873926672aacc9f6000f064e439154208feda4d0121a9b8b8cc66c2430c049955b01b9aa40a8c5cd9d3eb82 - -COUNT=22 -L = 560 -KI = 33998c9380f83acfc9e491ef0cd0e2c9ae4b3a6fb032da0436e1aa6832ae12dcbe35be8dcf396ef77362ce525c4089c3a9e9e8ef99ad9939f7e5d4b7669cc309 -IVlen = 512 -IV = 14ffab9e344d355011ed4f1c1cbec0e9cdeb3c2b0a681c7f37dda72a37e1c6b5679105e21063bcb78e1ab18fb29675fd289652b2712feffbf600da445dde902e -FixedInputDataByteLen = 51 -FixedInputData = 24de8941cfc279b012f5bb90586c4042fcf19ebb8d56fe93956aad6df981c9a8b84f17c83797e039e48a6a6abbcbb016be963e -KO = 6c2d4ead0eac3cd7382dfd81bd347ba3ad22bb1558ede54e072777cafc2704983ce77959281ff8777e540ac4a246092e09c74726fe61cdd8fa29d9f975f1bc3ef331a89b7a7a - -COUNT=23 -L = 560 -KI = 7b1887b800d3e1953676741587e044a5327f4f40da5ad61cec37ff407b588da7f037a0ca9354cb6bf9fb51202307b05719e736d75098a5f5c19c7a0bb411c78f -IVlen = 512 -IV = 32add75ea06f166dce4f10bbdd87604c0313c02e4044f71be773c2180ca202eadcfde32037d5497b120932cd5b0731e2d6b9cd821ddd4c34fd3208182b106118 -FixedInputDataByteLen = 51 -FixedInputData = dd0f56ab8f89e565176094fd93e3c4c1ea35e6f0526016327b70db64f1a747e08492f8521565ae4ec3d63f599ca8afa3bd79db -KO = 46b6a5cf5b60cd57349b3cc86615e00d9ef209b1179e45d45706c84aca93a23859d50eb3d6f0802741e89ea0c8c6d98e33a0f71bb5bcf55af1ffcf75c18ef0089967d74e218e - -COUNT=24 -L = 560 -KI = 01fc8d251807995f01924f0de582f966279626e4abb2a286cc3f2d939b692df34ca0af6d66e51f6fc9c74e62f0804768401b263ea794f235d7e68344a66edd44 -IVlen = 512 -IV = 42025a3be20bda9b893c753220f6aae03f9331e1895c64f878c797855203fad77eacd8bbf6a2bbcd88cf064f2da95b46be0ad3893048e2062c67d0cad6f5a3f5 -FixedInputDataByteLen = 51 -FixedInputData = a84332f6a5c2fe903cabe69443eb04be31d27a0b973e9b9e841e15991a2d18633f1343c5204affb39f7422e9f1f956533e5131 -KO = e7ff81fff44d0c61b48baca9ae9717ec2d936054404c787beff1e0ade5c134410393bb933f79b8a7185dfab93f163456a6e96238724db0ae86a2727bb0ed8c78677b453036a8 - -COUNT=25 -L = 560 -KI = 3185ed9e76d0b94107a90779dff94d2f4b20637e11322fa4f6979d21b75f465b44f2d96efe66ea8130fa2d310bd0968ec7d4e95c740eeee0c24073edca17eafd -IVlen = 512 -IV = 625654ea949bea5527d8a56423ed99bd171f823ff79e049e7d8ba61291a89033062d1f04d275247d32332d105d54a32f2a08ab095f80a97deb1b86be7cffb083 -FixedInputDataByteLen = 51 -FixedInputData = 4caacdef4fa1475c932c8f94549f7e1e573d35a16e9d2381e6744284aefa12278a4323f571bee6a0b251f5bf2cbe879b9abc42 -KO = 31512877d5be51f0e11da5d4a616ef5b1cb5f409444a08e54e5a6594b9a06d8e4263ddd549d4c708cfd102b4763aab1a18ce788cd8d8c0bce19c23071319e539f499cb845805 - -COUNT=26 -L = 560 -KI = da6ce710b731833df3f0ec51c86de964267a88b890007c864c75f2059a2d847016baea31f6f5922a9dfcab23e792358ea9132e96e2131eb3ebb4c8fbb93c6f5f -IVlen = 512 -IV = 44294dc41019ad6f3ba96ab324bb5608180b38722a18e0e4c7097b6b885f822c00adaf300add76b6f1f6e070f33f058da02bda4304a2c6d03f134194d7b84c6a -FixedInputDataByteLen = 51 -FixedInputData = 6d65302793d8822d8c8da7b3772fc39cf4a542b47023440d874c2d9a80e2a5500a5903c839a67b76b7bb1641bbf3a34cd5277b -KO = bfcfe4f8baa74050a50e161caa4c3624db4387d9e551d15fc7046be2dd0206d515a287b65d183903144bf643d08258f83935b6b6eb9e1bdb753b5b72e730662379dd0c165fec - -COUNT=27 -L = 560 -KI = 4cde8451ba12f24c0b07df49bf93641f9fdd9f55d8f999efd8e0827b9d8ebad177d156f909b8ef607a4fb4827506b742deea571e5cc2ceec57cbb4d5cdff0a18 -IVlen = 512 -IV = ad7e1590284795da1102b398758e14ac23ec4f2c620e1f5724dd824978f742f98b1755d159d2854af651ab459cbe269c832da1e39a2af0c5416319b2ea4e9010 -FixedInputDataByteLen = 51 -FixedInputData = da9069f3e89fd868da81a1c5fd7427cddafe0eb7d6ce33c1244880f7c9ec564bacc6bc52d52888408b06712e0099623dae7477 -KO = af9f301aa16b956d709e68fa868719342ed5e137e8d66c6bddb574570e0a35dadd64f9e872aa159f13401c16fae086faaaeee4ea0c4bc98f839b4915fb70edd4e4b3b3971f81 - -COUNT=28 -L = 560 -KI = e0b35db3c5f1d2b77ee5c2b07c017fdcd42b1d082232c197185920740a238daf811e29f39eee8994f6cbabc1ab2e39885deee80a626ee1cd540c6f6160bdbce1 -IVlen = 512 -IV = e65a7a6f1f0876cfc42b6d4881ca42298cc84cf206c21010add37e93712e06a6356da8c58b0e65d81a35b0a6a0924729fadf9138a222af54e8c2feac52eab730 -FixedInputDataByteLen = 51 -FixedInputData = 17ea6bcf530afae6369880f5b9bb8feb978217399a2c38c091964d27d37fa1b981f2e94d749cdc065c78b4b087dbe84179a973 -KO = 89ee8aaa07237f9c590550174fe6ee06b2979ed2edb30ed13bd0c47a47224a2062511960c10a6c2c8f112344c75d504e004daf224a60812d240241188d23b1e0dbb285c31d7c - -COUNT=29 -L = 560 -KI = 3e6429f39719a2a1e0ef20145e975df33667ef310d826f8df0180596b5143256fc40aefa667da76238e33e2ec0062ba5a6f6d4d1e6134aa81bd6c7cff9fcf161 -IVlen = 512 -IV = a38128c7a4994e0fe5dbf889de2347724060874f1efed7677f443ad0aa47a855d954aac1d612421e3c49e64fe6c04cd9d4c0a17774e27bf288774f1f56728006 -FixedInputDataByteLen = 51 -FixedInputData = 13768896a07d4624db2b919ef9f4a7e6ee2c01fe4e4ae222180ec4149268c1b54b5b10ebd5761e4db6c30a36d8b0b02c9cb3ca -KO = 137dfddc9fe6ee4d79afcea66da2deb5e7cb9306b4b749acdbe8b065cdf9da2567dc271fd787658a93af3448a661a5ead1bebddcca41026ab38f0fb39e1dde82a126100b4526 - -COUNT=30 -L = 2400 -KI = 610feb5030981307372680d23d59546034a5781531eeca09e593b830cbfd8a1fcf68a58fd27eab0a55da27e96d4e73befb9a215cb5c32018c1b0d937701ab786 -IVlen = 512 -IV = 616f5d182c5963cb93d597591cce127e2084433acab4d9c58af656ddc7230018069726da754ddd309a37efb92b957ab79ba320485b0098e04977dbb39f8ec60e -FixedInputDataByteLen = 51 -FixedInputData = 7c6476c5fe61a4c6164a86ffbcf4b33b8927f286c267165ad69b74e03998d4e4684c7aa2fcfdd808dad2e873a4cac4ca503f6b -KO = 0198917df93762e364034fd14e2cab0724aaeedb9fb3361c2da9537cc3c471d1ad23fcb3d78a3605c40ff731ad18a4b32e6712154159651ed97936764bf53a4fde3ccb75c93dbf0d3b069a1138e0cef77c27583abc5e6ea9cc9d366cbc05f51c4c9ed14dba8b8cfe72e9c6f09dee1ba6ee91a4920982819edba6ccd9ffffd06ea4db3f5873a1be06211e365c174a156742ddc2fe55cc9cbae249f7733bd0761a19b98fdffb41630a60827fdba2b047709ec9af1add200835ad8e45236e4c452b33b1140de38c56c2bc95ce98437fc53a6339eba0626b1b13e5ae324261cd36a5762697ff5861e79e77fed88544190bff68ff01b9e96d0cce8eeb60792963b2806367ffc523a7d1ce32ac24640555fe27623b5cc242992fe246471ebeff12fb811e5208b67d73466726eed5a5 - -COUNT=31 -L = 2400 -KI = c72210d41da38649170701d10979d418a3a572a8c68e447877d9825de907e8fee42c5ad6da487e3c027ab128bc0e36f38a5944ca25a82ef3f26eac2b7e865519 -IVlen = 512 -IV = ce5fbb3e302cea913d5c00122a0011f51426609fff8f3f38e9210ad866f00b314089c52fa873e3bc3f43ad15de9cfd4b321a7e7b79ece9bf32c9c727d7cc28ef -FixedInputDataByteLen = 51 -FixedInputData = ef0efb6fe1118c09837b5d8cb76dc29e9e22a54b3eeb75aa803d364b16290e8bf085abea561a8fe4da9f199a881c7e5b229d01 -KO = 410217f3304e39ba855d9f05f104ef2681aaedf77727515e6f5b92f776cde34c449ca5ae6344936eca05e433d3df201394f5984dfc3ef4d0fa94b86d67ec6216af9feef4565941bf0832018ac625e0e7548c3d57419a0d9b9196b7088b259e93ae495647297d5a7ca627b25eae49086665cf0561204e8b6692221059bd57046f45b75f78f252b67c6938623bce4cba50f498f7d725667d6de1f091afd6866c796217b3f667806ad061ecad72ce264c4ac26ade453e414445af97cca7eaae6df1570804e421c0ac9569db3e96692eb47c7dda388c9581f851c3f36774d6831226420752d6e707f921883288f03c2290e25482105938de3d9dcf613ba3ff9549101359e03065c1af7336038796de168391426635c339bd4879b0df4be90e78cb8f529df6a6775a061da3309b6b - -COUNT=32 -L = 2400 -KI = 389e6e6a7e9429402956274d02fe7b55c2ec0675651644716b9a75d09adb4e405c0477a04cd7845d98a8d5ab6f3e97b3cd2c216dc2fa1ba634f5028affa6fa96 -IVlen = 512 -IV = dbd46d1d97b31db5d2f06fde2c9a999104fdc234b784f71a4c0ed7a7940d4750fee6a40e951ff327a32808fde122a9ca8b6cc4d4075c555e903e54bcc2af551b -FixedInputDataByteLen = 51 -FixedInputData = 87881656b0d69185f11e8150df3ac46a52e966f47b3531381f769faa98f442a867f685ac7eabf475f072acf8730f8e8917f54f -KO = 7d8680457ca046ea0c2b6d78256f76990b142a7a10ae201f750116e9fb0c75f5ad6637a933607ca28acf7e00c019e4c58acdb56a1865308ef76acb80d4aceb593beae0091d1fb1e84e67cc9e07fa9a5dc72e205ceaaf804ef2c38354d4860764e230950f34cdbf38bb6bfa66db9b89395448bc6aa7c260997bf8d706c08affec971d76dcf3e02c24c6f6cbc0b59b1f11e16230f844802abd4e51336c4cd1dce3f070d10c97bb77c8d15bd76b2051999c15f0630cad87b536869706fc5d2488855fbb5e32bf1eb4b072fc9a00814517cf4e552e28c4ade824503f22bd86e676d7affa88c14bbcb0687a000b1b15c0e7fb8d884d5c9224abfe5bed750b35c0de774ca60c72fcf1122cbfbcb19554af2e8f7a4c73ecf3966357cf2786b36b728ceb676011f179e3ba05dff9db13 - -COUNT=33 -L = 2400 -KI = 1c578a7f0b937d2f379d3e90a390afb0e173badea803ed73c13358ee4225c062ebcc828b8fbbd9afd7cf88e7a025042979b46927636009be6e0804a7b1448999 -IVlen = 512 -IV = 022bc72141fa409034e01ec6baf04dccef4d681225f1eb79421fa2548890d36aaaa37459d7619f61afa38c85ca244f79a35ddccc8dfb22eb36bab5b782e66eab -FixedInputDataByteLen = 51 -FixedInputData = 24760f38e88403d0ae5250468934f98b0bb5e44697d2a17c336d6aa76edc9fb07ffc8c0ec4b4f61e6add7df4ff3e883edf8c24 -KO = 8b4b88621ee68b462293e768641b6f28b7c934aa3f1b7f6b0981b37c1704a9adf25eeb1030c64fb9c9d109d2e51f522af68e15bea5d901e0bc45c4c57ce69df52c0218737ed652597c20280058c7ceba2f0b3e68785d47f9a7c1b9a9cb50854265f1fa49fc4c61329512329f55209a851b297ac0dad9779258e89a030317e3b9e5022d439c038824da69094159b6de40d361850ad7f60d1651bd3c846c89ca96f18390b5aba2bbe25d5fc5b1dbc8f6c756f81c07b39da994588930b995cb081e1597836196e049656e270fd39c896de73457e29384cf701dfc2c4d419931f56b44c6f57730b62399c3d6079c9365a31e196b24971c6f1bc3ec9c4ff2aeb810d4176b3821ab33906b718cf131bbb5945f70875235ad7a451e03103b8d74081d9687688567956ba1dcd12f469d - -COUNT=34 -L = 2400 -KI = 8fd4b8213034843538265ec090ce9bdf07bffdefe6d8e6e4f2a4fb6760bd1aaa287d91c471618df01f620339d069abfcd198e3b7b6ac02912907441007a616f2 -IVlen = 512 -IV = 12758b333d1374dff584427d88df860d9161463ac260502a997bf067f4d819a206787ffe158e83d2724d50259e655b81a8564ea1fdb23d9cb7f49171fcf61a03 -FixedInputDataByteLen = 51 -FixedInputData = 786602424d41be7c702c07d798db5cb1503dfdcdedaf99a2275040049f2985e3eb41772af3522f49405a676b8f0bc74834351e -KO = aa90981c54bb3e24b742628b666e84a922d62ec57960c3361c41fb47164458613e2eb77b4e12d9979f925eef7122086bdafdb89805fa5af3b9cf95cab12d28297d762542a4032279164be2d843197e110ce56f833f57c19d229ae87133720be10baf6adc7b01457cdba98e1f77b1b9ceabdb91723e650cfefc8587bb7fde8598c2aee5db94692e7100a1b7c5d350c2217cd72f47f40db56a14ddfd8657b3ddeb4a3f0c16c1e9251eeae2d94374657079d8830718713714184959c4c9d825c6d4da52a931a28909ad14c953507d53d138a26d90019926e1d42981e929e079e73518bb3baa6df8cdd12e73001ca4fd7933e8e07e2aaf47ed4ce5acb5d8ba87589ff1634fbe9d40885cb2298aa2bfc07b731d360dea6d3ac35d2ba648ca30f3a899d0596befdd71d61f96af879d - -COUNT=35 -L = 2400 -KI = bc099f309d753f2ee5633deb57d021f1553a8847383f5ac0bf6157c18617997192b8bb82f49a3919a1b07cb88219c449afe79d1d535673a28a8ffe7e04aa9ef7 -IVlen = 512 -IV = b41a972c3e714b85b78006acb91c76ddf78065f22715430404e422a86c44eaecda1480f19fb4c89022e5c556e7a5e741870ef0e9e7bdb31250d2e7950b490123 -FixedInputDataByteLen = 51 -FixedInputData = 68a09324ee95dfbd8d9a979e225245ef421511fb50e27a6ffafe289d68b3c36fb6d68a2833f027f825401b14bc77545115361a -KO = 21d81071ff1ba04ec6c6f8e40cf08b7eae8653620685835045ed5ae7b25fbfb5332d57c4ab09c8614e21526b7dc220ae26901662d99a2a65abd268fd68f46b4d23ff58067d8af7bbbdb7a1fc3cd5549426d6ca34b621e6590aaab72db9cd2a0c888f3351a1ef334ae5b1d596f4e024381adb7e3bd3a6d3626493725980b8ec8b4ad9e4bf4f18344910e1049333087289d16743316ea4eb58ef015cb20242b4d83a767a00d5870625ca32e745ccfcc1d76c21c66843e85d5e5dce2a59cbed9a320e1ab331b5516cc265ded7aa485cc5d08743a6025442f8b33da80b802a2b10f1e770e626460a168339aeded12cf090a81c96b70b5dae6e03caf4b328f412a3bbc4001421c63fddd3e0fbfe36c2d3f4f447519295c7b592896dbf753b39507daa4660a11f2b816d8ad773f21e - -COUNT=36 -L = 2400 -KI = 385c2160918cf1b63f644cba7d2858fffd34e5581bf0038336bfa625204c4b73e7d79d0cdd40b4219910c3278f5b760e90d58251db9e233db53246aa359b91c2 -IVlen = 512 -IV = af05e1b5ed52cd686404937cd42042855942e0385f7a0da7fcae8f26aaf82868f3664300c7094656fd5588b0fe4c4e312019c78058a9904646827b1b69bb0826 -FixedInputDataByteLen = 51 -FixedInputData = a0d640dcd6d00e1d580bdc0aeb24af6afd1c68a9b53f08035835932410698b5e7d60925cac5a55a6bde3d9b9dc650fae1781a8 -KO = 34398f04f67862e4b0f530ff67b3be31a5a60d8baf48de282e7243ef728d04d648f65d379e0523d9402c19ba93381e0389df9ba3968e66076c85b9103ddbf343f102e9e85b39cb38fe05dc1fa382097e81b72695e11a5ad45399ccffb2b4396d3dad35a86e1a016bda8a15fbccb2dcdbd2b364dd189d8f6522c7024d7a0bf49e721f392660b749456c459acd459ed15002a5dbca74627d532cb9977c9f71ba3793a28eac32bb6e53e8d5d41fd17312bcaf96c213fdc744bc5bc69bb262a4a230a1ccf4a5e6c86a51d5b33e3058e35eabddc2d1e94aaedd9fbcef5098cf98bcfd81951a87fbc65ba9504e1370a89d2d9fa813bb86e455597a33e54088d4180d61057258576338a334a2197fab24617f99385513fed247619cae7197359cbe97d74a94e26c7a974f860c1de2a2 - -COUNT=37 -L = 2400 -KI = 9a6eb189d23eedf0a97b4c1095b6101e43f1055df989c71cfacc01429a5aa2723f9ef17f1d1f4372a499565dc90661a411fba242c2362faad38a88309654ed61 -IVlen = 512 -IV = 12d2496fa61853e7424cf8c701dcf2c56663e70d05011e5dec7cd6ed9717183f7de1670811fa9a79d318362ce69b099027a6363f4496be7b933d065d8542ffb8 -FixedInputDataByteLen = 51 -FixedInputData = 7370793bceff58169cbd4770af88cdc0afd9c3a5a5d1081decc1fba88f747dfd19ff41bbaaf99c6d5a90c6acc4e8c46b74ce60 -KO = ad1bcc65d6b60d4cec953ec2ac93adcca193e9e30cbffb5e3c8a3f12b1ee2be0f90b55fd080798dda85c806853df7cbdfe681e289e72152b062654b9d440dac4f3c359431a7450bbf5a35991239eac9f097f56907df158eb5fadf4a63bcfc273b14e8678d60cb46bb1feb418137613969db9bc83c0ed19ce75376ed66c77a9096e3cf0dd3af2d48b52c5b72f1e3b6b83fd6b51344e5e051a5a8c9a32af3b91581878831c6875330bf602bec63fbdf76e7be1ec888b8c84d8455bb7b58243e8a1fbbb38b69a56ea248d779e5557309b02a39ecfb787e08ada5739a4de23693b80319052d3365abaf75b90c8b8b2d7a4a230291aef48359ab0b33b7d7b2cac5cc58d4914476ad3e75cbade650f7fdb3697750b470b6cebfe6ff6d8c38eeb935a09247ad023eb635afdb399da08 - -COUNT=38 -L = 2400 -KI = 5d6bec2cea9a22f3c45d8fb40c8b63c2f832cd379fafca84cddbcac930d8034048697ca192ae24bdc4720f7a31d1ca7e69322f819e422c830f48c83e506dbfb8 -IVlen = 512 -IV = 9ae0e8259157fdbdc1958ac4e12e1b7cf41f52ef151eaa49dabe5bf2a3ea2d37c2d827384d6f5bea7e032939ddeff4bd74d9076299a4075129eab5871ac82491 -FixedInputDataByteLen = 51 -FixedInputData = 2862c08288fe156ed98479ce37b996c87329fa799730ec8b84f729c40d5aa749d56e1af0c81a7884d59a07060ca1bc9d4616a2 -KO = dec9be945a486865ff3d8f670b31dfd0d91d36dd684b10c7d8ec8f0fc480a69a8ccf1abd7c38636eb898ed86521e172b6ba26e897280549931c2b9503488bcd86688b781b591e617c9c3a383aacf23b2e2b709d4c8ae1135304954209f84a16f8cfbaaff1d10fa98e5db3de8d61dadf93f6acf166cb4cd3c673a68e78d66e8d5f6ce4c7249ef0c9ae6740c9f80902ca294f6b3ce3f89532c00c0ea4ef2540037efec3d0d580b92f5423f1cd2c1c0f116b58b1f0fb3267d8d01bc1631ff2f10706690fa58e2c9cd38310290436c33f354f32ca74411538e94aa222b3123508097b69fd353125d2dfe6699c7f5bd21aa49d94cd4af7eb2fe77397fdb6cd9229788fe23f8932a458c5eaefe88f0c131aec98dd8d30d0c19a7e9ae9878034ddea79c304851ceeae13052b27d9306 - -COUNT=39 -L = 2400 -KI = aff11ef5aa2f5ef6a541e69474c993dd17609a2a72d7fac4c3621ced73e7caf7d9c6c1e158d2d5cf076f0b51008731bfaedb3f713d4da96cecfb5e4e522501dc -IVlen = 512 -IV = dce08d9b0b751313ba85967cb67d1e5526d9db0161f6901378d03f205439a036e2d6a07d5ea52d5d9ef4bf17a273ea6eb8f7ad24d2191e63272d80d5b0a47d41 -FixedInputDataByteLen = 51 -FixedInputData = d590fc1fe880b0b128b9c14eec0bb79955fc1df920fcee4db3c45c7b1c46b4880f8f5875cf63222be6d1ec45ad2568144b8764 -KO = 51676991d69523f2039f39ddc7c7311a2a6d03197fdb66f1fd25f85f028c6e7332c69c46bf19359442fccc0cc25249a9928429c1f9af021886c39febff62484d88650304cae3519e6335f7fbecda6436b7bbe436d005eaeb151d32cb9bbbbc748fae1e17f514ae9d0924fec573c3ae90de609d1ca8c2e3bdff59be75648a2bcd87d068d1a9924d8bd07a546c1eb986db01818437b18431a6522a59846a50df83037a50ff35d91cccde6fe533d936c61f8646a2cd13a609a6eb8d7bd3eb20f1fa3b141bbcfe7e28181d971491800737b13783d5fb953e673964e58b29a8a40b8bd4b448421aed436ca8039f528751f63a327f06a2295a01a84041a974c6875a2811775501f5b16dbe18d35c5ecc619a62bd35e8e5f6d2431b395cdb147cba60462320d873b38a00952d583346 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=8_BITS] - -COUNT=0 -L = 512 -KI = 99eaa7e871e9cc775ebbbc12b384f696d026cff6f971c37ea27d648e43c39865ce9b34c896aa6f4a34cc8213972d9716e594cfaa03069ed0a33f53f37dd66b5f -IVlen = 512 -IV = eeb2285ed80ab0df106e40bfce75b3fca9e4859ce6f4b757a9cebb030b20d5b3d698fe8f50dcebf833e5836ce8557b010b5dc055aad7bd03dfb4273d3499a8d1 -FixedInputDataByteLen = 51 -FixedInputData = ff5796eab13ef990686d1bfd0dca27040d1f2e5716b65ab4fec15be2e58a44a511294a4e65f491fcf2b9f4f281c0266c7ec2bc -KO = dc73ca211f3c9699c0f96a44ead122e24f1451fd65dc756ef2d545040d83d77dadb4f0ff6ee052ccfc7bfe4619e582e1bfb91aca17ebef1bd89451067cb5959a - -COUNT=1 -L = 512 -KI = c2fe2196a648b375027963666b5a40acfb3a7ad09a34c23672bc9c2d9ca5249628e411b56133026eb8ceb6f0541daeccd4a8cc170f0ffd7a7deaacb5530a42a0 -IVlen = 512 -IV = d6c95ebe590ef7c59c01d408b60b19cae619774ec9f31a745361d1687f8f5d6a0a56d22c95a2c07f83a19d7e5fdabdb1947a30c93d7c5ddedfe70fc36f79227f -FixedInputDataByteLen = 51 -FixedInputData = e385eefdeefa4947ff6a625a7a34f0cf4bcb2186f2e4d61a0f26691339b774e1ecb4a7b64921fbc55e0b1271ad293de5142054 -KO = 1edff70628891678aa55ad21cb78226ad160e082fb12eb1abd45cb25fbbdc0ffeac7d57e9792c5f9085af5ee4670b7af458c6ebfe90dc97f3346f4ae4e56e3c7 - -COUNT=2 -L = 512 -KI = 963897f3b0116b09e35399da9dde3069b732366fde9098354ed3d85caa2a56a146bf92584a7f6cd183b15fc584f50f27572057588f502bb3f5597246e403c36b -IVlen = 512 -IV = 353ecb9ba7c5753dec2dc5ff2d3eee80390fc007754a9e5cdf707660f457118b83ac79076fea0a46ec8a6f3bc96b844f89ce0c001d97d4d7522a0346721dc1b3 -FixedInputDataByteLen = 51 -FixedInputData = e4f11b5352de7abff65b760d466d259672a547de6ab466376c4b76b5d38691a2ac57f36c76dc9162ae27323f1760aa8e89ebe6 -KO = 9dc7e87fbe42f8d39a03f83189eee5a0023e460f9abf03163a0d1896046226a1d51c6571dfea65a5caf9ea9bb1fc7a8fd52dfd5c2ef8f3443a97709c7c5e73d0 - -COUNT=3 -L = 512 -KI = b72ba2b396564170b1d325684e221402a1a2f2234a41c3f51349a267c94cc04ab4324432011aa65cc3a411d3a6fd8af602772ddaf560b61c13c788715560c31d -IVlen = 512 -IV = 619b7ed0065ef7670fc209a0a5feaa3ce5d28c03fae5e628049026a0f6ea515a87cd329e7899a293867ca430a681e84d9ab9edc4051d384ffb9d5dd436bca66d -FixedInputDataByteLen = 51 -FixedInputData = 89beb5c4219d541b4d8ce55fb9661e520e91412f29948e1ffb5e53f7cc91e23d6b62d2fb6fd0bc7984c782648f625087d85c89 -KO = b5028578418182ad7a9c06bd3eace853959da8493c9fe579dcd9738fa867663d696953979af40851e6dae06472eb3dbd583a1a8b2e966b982bc6d4a758964bca - -COUNT=4 -L = 512 -KI = a8717ae4b0552d8c91f0ab438c6445f9909f5ef9af16686def31555229414e040aa41cd2347c2e3b04ae7c81c77a396c5b69275d34bf4d5187aa17bd57750085 -IVlen = 512 -IV = 9987669946df7cfa0b6a6c6c28e348c030dfa01e760bbac8fd3ef1613e32aa8aa6957a0a26f140b5ec56ec379886cf58ce05893fad02d88ad276a867478b8d17 -FixedInputDataByteLen = 51 -FixedInputData = d9d04851ba9d479da3f5612b0c5e32dc493e3ecf8a190baa8f4d6f9fe777449c48b6b421936c2c62e525d0a3232e3efcae8949 -KO = 2d75bac3dcc1119a66248740a29bfc18a0e135c31997a0336550f1d0b41ed75fa1a982ba91b170c8c5062f461e1ee1ae283b0f04b71fdf7302f9307256a0c941 - -COUNT=5 -L = 512 -KI = c9d5238a5d1808d2b356aaf1969b903b7a86d1773d3f6bc7301c2f577c3e121de7f2a7214894e7d86626a078289283a4ce6a72c0ecea4f5fb205b142cf128be6 -IVlen = 512 -IV = 7997ed7d0a183f3d2a64a32517ae1121311e02162789301733452c4c64837046b2a908139ff73ee3661541eaeb7b1a1286f04d287a194293cea6b3fe0e41d404 -FixedInputDataByteLen = 51 -FixedInputData = 6a7652c52c92dc03b7fde6b569b405bb93843e307c19fdf973523d50c1fa7c2fbdfb5b512b6ae3fc179d198634335e5dadeb63 -KO = 11c30500fe59997c52ddbeacf2531100e887e3699db236c1d6a89e4681746ff10c34ff9f41f995656f8f5e582fc06680c61bfc6cda9839986957d0c35f49f781 - -COUNT=6 -L = 512 -KI = 82d2ae55f46c5e8f0280dc40259a7fbc5248c6013f7eb5ded76d9e58b0218f912bf000b02a28cf0a5b77b5477d31e850283820af7a05ee11ab5ef52e9423540c -IVlen = 512 -IV = 889543a514750b9586c9862e7a1f24390ecaf6e27871a9945c3e4c272bc60948a4f7d118966a6c934dc9cc772b3a05398df795aee1b7ce86aaaac3e8b3fc40e4 -FixedInputDataByteLen = 51 -FixedInputData = 294778fa70e1bbee62eb28e7ffe96ea0414bd97767532a02108ded7ce473d1f2ce5f04d75804e73dd4395a5e2247a25485b161 -KO = 464d7ddc7f758e1dd8e67f8c64840e074ba8ffebc8c43ba8f83eb834005a70b7dc8f033c4327723d3cdaf8b53d1d420fdfdde1afdee5371fecc000a73d952a51 - -COUNT=7 -L = 512 -KI = 2940e2fde0a2fe0d65852cdb3e57f64df0a8cd515235c9a624170ebd0c04c540bc6c0e7a6b446db3ddac57525ec24902864b0e116fb43f02048d300c08333764 -IVlen = 512 -IV = 2eaf644bf18c77fa5d299c9853a8f3298fd4106f23537c83cdb9d77641050abf99edba4e2fe44168f525eedd623eabe6ec8a4d6a195f2038e0b2d7cfa466571b -FixedInputDataByteLen = 51 -FixedInputData = 0778dff172aaa62d71bdd4ccf6d0cb403039ffefedcd2c10a4ae5d4366c18c592c4b32bcb085cfefabc0182c4c2638a8826d85 -KO = 5d83cda2b5950b4a4e1c95f050514d65d2c7a48e4064b56983b71b88ca4e5adbacb38b120dad96d591296189266d0cdfa85178da3d1d3560d7ae53a3382722d5 - -COUNT=8 -L = 512 -KI = 875e0287b9c737520c8199955cb3905fcecdb7a296b0194a8eaf0e11b2360d949e45c61f00848d6534a3fd67dd0937fe3c4d5e5ddf3405afc5f4d4c15f761d16 -IVlen = 512 -IV = 3b57c443c9b24e859206ed9713600004b7a98181666e7b5ca689597e428dd1a066d92f543616bbadf5948287753fbc7ca4c323829b6a308915a303d3d7125f36 -FixedInputDataByteLen = 51 -FixedInputData = 9b123334437f672208cfcbc3a4ce7bcdcc171f8b7d4109e0213f732272a65280cf5e0fbdc6a2c34d8fb3bd88880ed5abbaf8d7 -KO = 20edc90fd3a8e1697247377eac9a59b7f7c47f73b2d3d12fd73a06b50530bd998713f3a19e83339d93b48afb3a33de1ccf1f86dad607e54056e427c652ed0927 - -COUNT=9 -L = 512 -KI = 951d2d50e6530b16b73a993affcb42a5ea537be2eb0cf4e6d2f85d6e9bbb3303e8b01f993df034f16039a8c1d1d7b3f67212fda81b72be90bd962f7a0e3493ac -IVlen = 512 -IV = 6b00e6e21652c02b3898794afe60856ee5ea1d1184fe94c8784a21a27f5897c1603c76f9d31153118ff6b5669517ac336670d36cadf4511ded4bcc5dae6d782c -FixedInputDataByteLen = 51 -FixedInputData = b0c55d0a4f2fb8b52a606e1a5e0bc68a9ede947afb119c37d717831715dc97d5b5029a5bb0744ab8bf0ddc8c2ccd147dc72093 -KO = 9e0f1f8766889bb28a366a0aa6c4528c264bf00ee554b191c2a5febb98519146e8394318bf0e6aa8df4aec6709b75fdd1cd78b2a39fe4b08d4cc3f9b0cb99987 - -COUNT=10 -L = 2048 -KI = 855d8ff74e3335b8d35d96f647728ac876618a2f93bc54c5c2438567b6dc238db25c08677cd6d19dd65ddcd7b182bd5165eae1ea6cb4d2b061d14a7a0660cd36 -IVlen = 512 -IV = c524f46640a38d849359a77fa39e5b2fc38ebfe9e6127ef697075c6a66df8ec2e0ee31866fc05bae27166c0429eff00a2455f101c445c5d19c60bc6e83acf7f3 -FixedInputDataByteLen = 51 -FixedInputData = 80cb4cef6d8275c6a86ac699eaae2287f7126eb3e2d332d77fdbbef9b75473308e758b1e3897b9ff538a7930aa06d1ea572b00 -KO = 14c682ce92157a9decbb28b4ba4d5b6d879e9fd640f1b862cd870b403b66248eca72b5dc92030f0d3b70e0ea163965fcd34e05cba0a22cf396d415529496745cb60a5a196964f6e1c54e738edfd82647df97fd267d57971d44f9a5cc77f51083307baa8b78c4f35248850b0957a7850037bbe8ab308010e7a8836acceaba69dcb9fae8a71d3839777296f70f271dce0ef90c004813f73c4bcdde4f313e6948a4aae44ce7050e1e5a0fe2ca9c787e6ccfd53a25feba02aa868e2d226afcf57fea2715a2b468c0fe0dbdf6ddc8e7d41f9ff3d19501e9ed0281b292f67bcc4a761ff43c3e67cde49d3d25c8723649fcc1800d4f4cf54ab78c4c5b72dc763f5b7dd6 - -COUNT=11 -L = 2048 -KI = aa4cb0dfdc21f6cc4a08fae7dd04893a5fb63d8d42c91b6e9be41cd7a3bcde4767c04149b1b0b3ea5cb006f45450a8122d3fbef3e28941054eff5de614606bf7 -IVlen = 512 -IV = a766e7ff4715c4e060ed27fb205e6ca38fb7066bf8ce0d711c3be60c8f230fc1447b026fdff391494a7b3bde28f826747dd3126f3beb849cf8168d34e05ba191 -FixedInputDataByteLen = 51 -FixedInputData = 406f7aa8cd32d29495c6ffec1250062d19428ca4a2b6c116e657048f9df3cc39b44764dd04dd9f2ea19cab3dfa242c07d5ce5d -KO = 6477d6c696719a0aa368feee81eec5be1c297a232894afc104aec75da6487fe4c188ef4dc4f4cd6fdf8e8c9fe8ebac047f531b2dec20e0a09ae95a4d47134044dbad7ec0d41a72d56c169dc5f2ab55efec4c104d911437d19fffdec7ab24211475423ee096f9c47d28fe8f3e028518420064e321203efbf32c1f7b0844c5d4247338c006ab455fdc3409383cf43f8a4dd70fbf1fb8a75f221d307eaa9b8718a981de4a588b929182f0ed267925e2bd1b947046e4ea06e8c4744e6b56bf68c6dee8851492e86878574564d4804b1b94f57879f9819326e7c7d597e5b4d85df725f7c7575137ceb8b99be8d47bb37227dd36200036dd7c9a40131fc190ef10482d - -COUNT=12 -L = 2048 -KI = 1f9075ab35d019346a50a46497a4f162c46f0a4e1308c672cf92ef71590632736fc53d14404ff1b2323bd9525b9b365b982fa9a9c5f3d832da95709e2cd29570 -IVlen = 512 -IV = dff027d5a0c552dba7f6ecfb01e4b4c8d4dc4460668a32668b2a39b39cd42ba442f10540534794e14efe9e8d8908c5aac1c95f986c41a15a56fa2706202cd8c1 -FixedInputDataByteLen = 51 -FixedInputData = 0eb890dcdc8582df3d9d75a8c9cb2899bae61cda17b3c89bda2216d6335c84f391a246ba2436fe81783c2a116c6e8f3c456c87 -KO = b865626d1de0b810297672cd00ba199db85f67ae95ba3bb0900008e9ae244402c5b65bcc0a1a9c7f9a4d98b558ef5c3726f26bbdb73b90a878f34593b636304a731c6766185e53c0e55215da297865c2a59f44bc39f1007a783b7bebe9099301a9f21b49af6b146d986fe1dc58ab67cc7d45e7b5f926fdc7bf729ff63ab396432295d3ca93354a54ecc0dd2601dd0a0f68ec6460f9eb15d0ea8d520e6316e28218eb9b636aa251ce5d1b914740fe8c60d72c6645f9f59311583d784475eb94e8368f60d0e5f0b254cedb07a649f87a8dda75192ae9193e0ea536d29b9bd1fbc3702459438bd9f35ca82c6088af4970c91e3301012ad1b405259ad4c5ec0747ee - -COUNT=13 -L = 2048 -KI = e74f28ff76e9b6af66348c673c9d685587d2771efb4bdd0014b48a68c84e5ff118cad84c740fd8b978252c76988e3dca659ca98603d862607bbfc7335b978cc8 -IVlen = 512 -IV = 3c515e18e842a3e059168a4594a5f1359e04977c47d569ee989e4ffcdf6648e0f5ee058dd83e81ee58d1c8d650600d1783ec364dd1a76f5caa90891cd7f42cd4 -FixedInputDataByteLen = 51 -FixedInputData = 762acebc725957ec10ee89aa6a4e2ab21a19d851deb659200b3d4214fb08a4c69fcaa77502f17c68fd95d7a3b6925ed98fb183 -KO = a9aaad78bd5c6b59ee5ea376be14c00165fbd63725679a8efc3de5a228b37bf33ba5c3e64f9ea0bf2ab0affaa6156bd4cf06009b37025cb1d076c82191fe7259b38183610eb1003e48da86dd63caa01e3e1d664f2a9ace41a3c68b62fe8680c465652e625eda8d1a2a696e7708eab20ff163da44b369888204d5b371f95f393d0483f2e2cb871f89d1e184effbf9c47c9ebf47dd148a7119970831da315659468aab8201052c1dc0619d6cf720aa3fb511509a2b07df4ff24246406161e84651f9e630c5ac8c0cc6ce0db608365dc6a8335d40fd4cc3879b3c59741c59ddba36ee1aeda5edb4267ca1acd0fd5893586bdb83971a4e5d46ff4c7e583dafcb588d - -COUNT=14 -L = 2048 -KI = 2969e71d5aa97b32483af7231c17e0b7d4273838c9d6c9dccdc0eb99d55a54a4111c3963e205e23a92b3887fa01f3729dece0c1fd0269bec0033ffe8423a72b3 -IVlen = 512 -IV = 0e832990bc786cb963072086d9facc3b27c6dfe0eebd36b27dcd928114799d9aed6002e11c80588ef2018dd886ee8d87a7f36c0f085cc55d47a055ff72446d29 -FixedInputDataByteLen = 51 -FixedInputData = c00362cd06005a5dd0c047b4a36db553916accdacc67573443d0721f2b03092a638f4e462d5fff8932cf3bb2e677b95d651bb4 -KO = 97e6c0e2f656bd1290feaf4619f9cbdc206bb4918fec8b9031070123e0bbf6336942b1bcf0d7367354df98c0969d5054a8158936b3178e036ddd7343c1dfe1a42793faa04730a9997e024f1b93e0b4690234de9526db6bca0d6f97bf13a9ea8e7074fbd5b43b9e8f336cb989278a87eb5b1bbac4fac97413bb3cf86be14f3e4faf453d32d17ab8917a6146b3429dd9323c653420995124f88112454482e609ead205e3fb0c420a6e54d899f88f84ae8ac6d88bc9d91926e49fa64452397b341126d1376761f55d4d67319b7095d525773eab7c0ffc8442b3675c7729277d838d386d2c788461cf264c5c159f3577eddb37233e23d65a8659f70cc0c361e48391 - -COUNT=15 -L = 2048 -KI = e625f29e1a46b13eb0b7430706a6febd7a52361ee94b3c06905a57f47d0d6a7e117bcecedb324402337e450a8dd2cd8dd2b8d0a6d67415e4794f6ddc3e3a261f -IVlen = 512 -IV = eb8e4531bd8ecdab72e124c36b06d872d830b355445ed0929e3da8fd6797a17d6fc565aeae88ccea35ca8f314a532da0e4fc4fa5190afd4bc5964ef4a40b25d0 -FixedInputDataByteLen = 51 -FixedInputData = b36f710f3b4895564d4504abcee48cb1eedba560604246563a833a1a93cb503187f41c7f39c0c6c5bce7ca37938a08a2a5281b -KO = d33eac7cf7044010d74e85a5361ac95c03c29df80937cd4a026e53fba1f0b761d7edb780a8915ee889d527b296c3e1dce02cbea942a5f8c6e889eb213d111556a8e6f3c02a44042d4e2f353645a980aeeec883b45070aea1434b904413aed37ed440d587d315bb51517482ce236a17f86a19e46c629c355d5a14381d8cbfc43394996baf92c83d5e9ea4ee03ca68956fe1badc5c93ce56225e6150d8834438b68b96b80bab80ca790a1c7296a78703a8f75d49a7448f8a939da8256984236eae13c2510f9887e19eee56aa4df6f08c9b6a61646e58c624d3ae75effd7a4647e230046e1cece2c9b3e232f3506a82e794eb8a81ca8607d40e26fb9ae4f0268356 - -COUNT=16 -L = 2048 -KI = d581909fae03110e43e3b7baad07109b614ff76edb3037427be52b368507fe55e7fa4d5c583f810020cc623741d1338a006a24a13a07beefc73bb10126077ad5 -IVlen = 512 -IV = dc2de3a775138dec1ca1b1b974a1e3866550b06f441799991475d9bb8dc52998c1d396b4679d900af2c55c3cb90925429bf3988c8aa6d0c7096d00e23e86b746 -FixedInputDataByteLen = 51 -FixedInputData = f89c949a55ee5fe02e5a5bb2f0b9f5876ee4f432099dcfd5e7a7098295f754c55c8c6b1ebf1a135cb9bddbcf84dfa41b83abe5 -KO = 9c18c0f90cc63ee1d7a3e30f35349c3ae27c3b0f82b0baff475049bdc2bbb5a1678cfa98053692bb738885b66e2816e22d8b16c314e80d6d90f860de59dbcc697927f871b0c7fba96158258ee4dde217df2a007ba0e9b662492eea6cfd8ded810c82a7fdeac1c58756b46cb53fabfaa88e842048494755b255c49e59f07fce5d9c1878611ad47e5c381737776c535db064a09d8bcda3ac73c30331c08e47ae195a79235ed554b7b2b9bf5dea082d0248e5d48fe1161dc97b3e63812ac9321e741ab82f407050a4f99b05458be4250eb04478cc289d5e964856d110c83fb86fe689f81d67de0a641ceaab5b02d02bd85192f8956eedd2cf41891aca35e70da8cf - -COUNT=17 -L = 2048 -KI = fc89f1c296c8538cf77a630651473f25022e403036af1e4504a34553d87fd5115c44803e6da75779e6f79b9e0781beea7a7be1268e230f11eda299b6384ebf89 -IVlen = 512 -IV = ce77dddd6a294604db904f2a19d45f0faf588ba7b9a586e77091273783ecf78d7cc8ead4a1cc16e6f0de9ac7360282ca8919fb9b11cf5d317ad7a3ccddea21a5 -FixedInputDataByteLen = 51 -FixedInputData = 59ae7f0ab8feef6a1045234151c66af2ee4798e4a71d95aed7c3f9f3bfab38d7bea814737e19b98bafd11201bd0c85b8ebce1d -KO = 5e3b37a3822e6712a014bcab515d3b5110990b54d1018ef36003bd3bc957d0243aa886e02bcb5917e9616d45d3311b9b28fa5c3879d6cd1d64c93b660af3cde40081d9f07b879b7532191b0a0e91e78336a3ae7265c0ed81f5e079351f592e52635fc04d9f803e0514e5c26f41e4f1a2a32f03fe305c6bd983bd09c197baa84514b5329e385593c97f38b678224cb4a643fc37631781b8641a7c5306884f7547020c4ba7309c75a6bbe4de411dda94844b6decf575a0723778561cf1b60954187586d9ca25b9f23319da4ec4a5ea65623d578477d4b28e38089166646f2a7e041fab726225599a0c049eaf9c60ad63a907b49debd01137685eb83b3402154967 - -COUNT=18 -L = 2048 -KI = 746e11d65e817fd71457244108e2b00cb1123e93563585868a3ed5877a995e7d4973eea220a5997b69af95638f3cb71b8f1f109b5dec9b0abb2fc18ca6bd4657 -IVlen = 512 -IV = 65ba844d62a169443b7ed7076d230db496271b09f6be39ab5946de182da621fa7b4df58a535189a85d04a23b80bb564d06a0812876e944c629ca04e8b85abb3a -FixedInputDataByteLen = 51 -FixedInputData = 837156eddf34324c65426dea321f0ee1b0465bf8b134d65bd2f75a4a282f68c886667f724f21bc06e1027a84fd2a1d18c4933f -KO = c67a138f3c91684a98ae1b58a766511ad51a889c200c1b32a545039a9dea8a9d35611dedbf01fdcd8c5ab137cb975bf50ad2a557f3ce2cebe4bc30908f93a02523dd40951e4c9bd897f57d183354b569b4707b064c1c9c26e2dc2babfa34cc44d889e130258ba750cbf8969b182d095fe6989e4dfa3ba7fc09f23b64255a05f12742f3349a000a31100036932b4adf8f0e657af8355be6e8a6c0c87c87176a7c1714e152ac06c91373f76463df3358974ff200f2bfb1cb6dfa0f237465c6f6f49c1509e24db336d6edf332e9879cfc75d60784ea1c68080445318c8c33ce17fab5292563e248ab496310f82c18d51854988a737d113f5e783ff1b282d189d157 - -COUNT=19 -L = 2048 -KI = 6fad0d16842c56164d1180fccc8d9a5a16a7cd3e01c919741021401dfd8b0fac632b0f2306459aab9a336968cb24c9396fbe6f7b0b85e87f5a8d07eaabc78fad -IVlen = 512 -IV = fb39c94967be3ca43aaff7ff1a5be101e15332dcb0339c58bcd83987362b3628f7ae3a37033f6c284917d7a9b0b1ee57bcb5ab69e88a4cb6f37215346bf9afa2 -FixedInputDataByteLen = 51 -FixedInputData = 6312307fda3ca2ae2dad91ae5bd36b9b11b668880463a7cab2d7389152b825bee5e16310fca48c6b7f2094f40250f33e4076a7 -KO = e76e1c0c3f3a4354adbef5bb640d768b7d7433dc78050da3ae8cd201a9cbd3ff336b1d0119037d10b044d5f166ec18165cfd8fa6e021d75086b42bb59a9eb4835848d92b23481afe6a5883909e1999567d84dde74549b56d57ba7c3de46304282043174f5cd5ea3078eba77241b75fb322862953fb930c700cd9a28bddd91a6bbabc50bf59300aa54b96e9542245640c8f680b31d92d7284cbebd668292ed18750f3156968906c71330174e8fc175551ebd37dff6e0701f1715d8ce801ad3f82e9da825ff6c5edb8c60cf5a42cf4e2db00476889373bee203c23ea11b7cc6a2d759a441623ca7d96a466b5681307a7dd9c463d81540f0704f87446f44a5cd5a5 - -COUNT=20 -L = 560 -KI = ad3cea7ada66b54245320fab9b456cf7e462e317376c045b397b1eb6b932cc6bd8c4ed1fdb68aed24b6aa9321cca49a904fa554c72239c0d2f15af2bc9a67c1e -IVlen = 512 -IV = 5a0e0d57f766d76ccb05e13c5debc4c48882565685b25ab2a88899ae77494344f4fcbe5304ef2fd4d3b446b977a406138160128a95a12a691cca481a06f87ae0 -FixedInputDataByteLen = 51 -FixedInputData = 85286b7aedc2b643cfdfd2dfff3c49c3c1c2a73d6640d0df56da4bde93f196932f741df5fd27024694a5b8ac9814be02c413ba -KO = e6870e5e9f0c404eec0e8d08cc5a2b4b06e98fcdc24cbdf38cc9a69c96da9a6219c29ae4ceb2a624a5d5318274b238169f6fa75ae5878e2fd06a893e4b38ae3d959e66e8ef1a - -COUNT=21 -L = 560 -KI = b8b5abff8ccebdcdf878bf83108d21d0f803ee63e8e5984853e6114ffaec340b3a10b0295dfa9c396375741aacfe3ce7ca9a09fce3956e2cd5f6c913c6c7aa19 -IVlen = 512 -IV = 89581c278d85e7e7f7d70732842561b0f769dc937082390b8fbae9ca79814c27886cb2b22fdc68fd10553001639b772926620fe71c9847da3455f2b0e43e99f9 -FixedInputDataByteLen = 51 -FixedInputData = 234c7aabbe32061b3a68ed0b6ed4b080fa66dbe5e01f8b4530e11127091bd51f836a881ff87045e81e27bbae0b02dc4290e834 -KO = 0857985522d6a3ca696ceb888e3291283033de12aea974e436ef0107b0ebfad649887a0676a40734eed10b3263b4fd2bcbb3ef75acbeb93ec57620066b135891c2722ad90037 - -COUNT=22 -L = 560 -KI = 949fc029e45acedd0cc112ba0ec9839ca7a2fdf1cf4f9009506a50f23f49e91e975d0d08b4429a8b75e1bd4235c842df599f48ad7a2bd0d1444cf241a1771208 -IVlen = 512 -IV = 4f2681c23aa4b8cd6b7382351da62bddc41c03de9b0ab762c115a70b42a35652c62515eb4c3dd9718e70ebc673efa34d0e14ae9f46b170537353db5ad095d65f -FixedInputDataByteLen = 51 -FixedInputData = 578b94fd805ea0442ac31c6418326550a46cc13927ca86a6014f7fab71198dd8bc44a579573523f33d75efcc5416e9913d5010 -KO = d2cdc314437e187c7160aa3c4690b4bd8e507c3a9e89cdaf7d45263a280568cca952079f9454ba5027601ef692dbe8138ba5278b35c6f4dd2d27d68e4d7ed578dc387165cbda - -COUNT=23 -L = 560 -KI = dc7a3a66e01a363b57690d154b029bc5f06d251645fd2aab3ff7506ddecf8c617e6cf555c56cb0e5ab69633774bd7c100e7649bcf029d1b45596a5ef8d9ad513 -IVlen = 512 -IV = 158d29500a85cfce56372f3a60c8679d74868ddceb3bd59151d6e61aa53bb9bda18965f32fbe7db776fcc8f820be0ef54419d2c9b125c54fd7249eeb70af055f -FixedInputDataByteLen = 51 -FixedInputData = f8f168ff6680072d2ebcc51e2b2df0685dcfc2847bcf9c6450e195b0aaf5f0b106eb1ba020f4fb49c0feb8c3b802fb857d6bb1 -KO = 462aab35251ec3ff6bc00b75b249925b8c266a6ea88578b2a59bd6f8c061789a89afdb0a6f401f24d9d552aeabfd538d5d64e31b11926476b9555a8684dacc800a9319ad570b - -COUNT=24 -L = 560 -KI = c9c8c5ec93b7429d2e6d94b3240f708ee37ab31edd2338fd960f3bcf2415bd6df907be530c1731bbae7ade316dec96d7a0093b0f6281ec1f2a87ed5173618959 -IVlen = 512 -IV = 0f8b467df6e98c46f8beda3ce8a3331195f95465615083861aaba7b6b181fd9c85fbf6b640cc51cd803d56400eb7de206e62d3c2e7ba5e6168f741d07c1e2433 -FixedInputDataByteLen = 51 -FixedInputData = 56ac7b06332a6cecd192a2b893e831302276eee8a5fd35407f511ea0584c5a77211aef11fd296f83c1a13408fa66b57c768ca8 -KO = 2140878449175b304578eaad19d6d59278e96b7cef1a285c78f254ad1569173de640bda69043a6491309cb4b23a54a8e0c17cf0ec1edb86cf32886f2057b749e5e0f8730266a - -COUNT=25 -L = 560 -KI = 88d70689ed022a5aa9d2ff41248d2c920bd068e81adbb8ee858e2abdcb68c2f6ff199fc31e8f745544c3d6c227b96a80b95f9db358f87a9223c93cb62636ef76 -IVlen = 512 -IV = ddb7cf68e576c30968694a8f6b4a9a07cc24b8097186a355e05e6e4e1c20440ad6aafd9b3e588aecd7fee1605214e7b970a13a28066c76e31f33765d97f37546 -FixedInputDataByteLen = 51 -FixedInputData = 32ff27eafdae1a68e9cd1be8261259a7ccd6108ce8d93e1b75120412688a6cfe523e2f84aaa01439de910e756eb8b3d4a74336 -KO = a3768a5658774579bf6cee77e35a603436ba72bdb5397a273df491819c11f1e835f3b4dccfb4d41388cdaa4f108add9ae7b8896abf740b9172160497b23b1c6e95de60ac2090 - -COUNT=26 -L = 560 -KI = 97d7b07f53f2c8aaa4ff1e1337d63f50bc68f29760f1874e6656de0f2544b6a9edb315fbab2d3ba1346c669e3d2138bba50482bf479e80b52f0d6a95db9e7578 -IVlen = 512 -IV = 5f13a49b02cf3f83192c1391e5255212d171a991f8080b8f99c07afc5966d3e7165f0073643711050f08a905399759c8014940a386ebc4223e2b9e42bf905c9a -FixedInputDataByteLen = 51 -FixedInputData = 2d23629cc121ade25e8efaa7b6a6cd94b5f51b9cdf6a19e30a51032f91acb0d16811bfa0e94d359e600d5ae3397e2c766b9875 -KO = f203cc43b9c0ec8f8abf438a82e4d5999465ad7cdf1ea3c3312b357cc728894c8c04be632a3194e475b1c99e407b9b161e10f2633af689b5f1ee2d610b0f70497050c25e0c98 - -COUNT=27 -L = 560 -KI = 0b18a14a5098be28e63f8fef936dc367cd8a46dca39737c2aa4aa8134d970cdb598b23f07e0f65bf38222060181b71dd2bbd876959769f3403a03242a8ec4996 -IVlen = 512 -IV = 682c1ba900b11b745669a71bffb59d267e72518c2defbbdc837850fd6a5d466af1f84fb6c526a7f8057246f7645923d99410e3d265efbfbb04448c06d5ce420c -FixedInputDataByteLen = 51 -FixedInputData = d7b8d29611827b9e6f02335dc299362792121a11714ee521836dbbc17b78fcff090e11606574fab07876243eb4f1cf5f3d0f85 -KO = cd7e03ab2bb6442c4a5f0bb0ef4710ebd0a41f128e5cfec46c7c541851596c313d6a3fe71d1589a4d671849c605e9d23d36de1eb73dbfbbdc5bcb040ccccfd6bf0381fac79ce - -COUNT=28 -L = 560 -KI = bbed751c647396819716a575f34125a1171021769954d77bdafc4e81c2b2f7d3617ce4354bfcc7cf2b4af3174e650aed4b3eec3f26b8d2e0fb6ba631570007ab -IVlen = 512 -IV = 055455ef6e292e9e9064f338cc7646f5730de422aab1c4085a246c243ef81620dd669f8388a6a155ed014e0092c29d4f72c49d662b8521c7b5638edd2597f0b4 -FixedInputDataByteLen = 51 -FixedInputData = 8c7f76ab33e3517b65007cc4f0e82c7621b9799c155a6248a120ecf6f721a8ba1385f6041b7cbd9003161ca7afaba6105ecc50 -KO = 1d6438ba7c7f7d0146615ffb04f1f0aafe66c580bee7b0760f3ab6a48d6675b3b9d3e5852a2684d8e2721a574b09e5ab0fbd96f3cfc1e34dfaee0b73c98724d04fa911266b58 - -COUNT=29 -L = 560 -KI = 727e6b6cca36267d1b0b8f9ebe4921d96e27cd8ed856ff0fa2cd60304aaf2ea7b8c6d0ef4c4a0123faa5c46a0daaa53200fdc36abc048de50775e311b7ea258e -IVlen = 512 -IV = bf689621c1bcbf0f5f23fa7a269499929d793102c2b3d999a766e2914e01a65516fd93d57fecbf42ae6d0af6ebed69e35e1f77074acf300656233bdf197dd1fa -FixedInputDataByteLen = 51 -FixedInputData = fc5b7781c2edcb90f89ea05f23c08977b37c14b690f9ba9aee5056f54e4471f6e06637a4dcb2b26fb6a0657d1d4f82809fc32c -KO = d85461ab00538db23ac26f0212c39592e0cb4b2ffe1f8e008d66a84bf78f44a7977bc2caba51c8112bbd87f21e9dc9d8814dd04a4fc14073db5acbc5569d44bf6356d49d7ae9 - -COUNT=30 -L = 2400 -KI = eb602b9386da7db55cbacf06038789d30843487cf4da4bc80fd37e3821817b8791a144b4dfd93a031d21cce4ef9aa1a790a5fe272d7dd8105942cf51dbccf859 -IVlen = 512 -IV = 29fa7e13b590fb0b50be944527d4ff052b4df07e62b94f8c8809744f8a1183b7d81695374da2ef926e02ad1ea53e62557daaa2d6b72e820c9429b5457f06d63d -FixedInputDataByteLen = 51 -FixedInputData = 6ff7a5cbaf74520ee866b49a1bda2065ef1db887186ba5735dc4ccab6abbc771d79b463cab2ce612faced5f3281ac6a02d3001 -KO = b35ef9867d95afafaf0ae99176742c9a2e7e0f357e7302742061777c54f4ebd57bbbc3ae5f0c388c3450658d0095966fcca98af66e0a7d0719ff1dd0fcec31cc17b87c48789fc40f1e16f0b7743aff8f9738002208d753b300e6d5956c2c4040cdca8091f9ade41de6a744635fce142b1a8b7f9dd79a3806dd65d62fd5eea14816f661c7a309259d82da60f4803842e15e2bb2dfb183f03f95dc086af285f808ce44e8df90c17df00c03ec1facac6538530a168e4d211a8f09679bda8d5038e9df123cd0fac1892b7dd72c47a42db4ee4417edab349ce9dab98f7b722db5c6db39e4e271e600d4451c93fc013015c144133310f7975b7bc53e15d2fcd90dc79c8f3459b605e94025e41d1d7ee10b84bfe0780d23116b6eca1335d2a910a547cb55bb96daa7bd574ce68c4734 - -COUNT=31 -L = 2400 -KI = e6c0c737bcc597d7c0ceaac7410f5191e140c069a3d8615af3976455da0597b39ca185437fe34dea9876542961af0455cd384aecc4c3f7cc3849daa421eaf532 -IVlen = 512 -IV = ebcfeea2bd478ca0fddce6e021181b9bacc2fdc4aba723396f10d1f6d406e2f7ef382362f06eac444d1faca8b9442bf239557a471b59205c6eb462f4751b6403 -FixedInputDataByteLen = 51 -FixedInputData = d9a81f100cf4db3056c7b9dc3d6d41b6504634b4d7d0ae6aa812f988db3dee7c736a6f4d935184409f4ab0ab53125054bc5faa -KO = 0a7db04e89ac675dbed76ef26842c2f94d108c0c21696308a8cddd92bf74b869abd71e37b2e5f56cb1ca7d64f96d8135e12027afb4b06e51222ea0cf0dbc92043ae678d257ab762f91b97e82852aa835dff327b367c4dab9bcd4e1e6d882396092bfd7e474b9cb730d0529ff4887e11bf20ab3e072e81a26fe135965d8f0927c410d3839fdf96fad3097455928d32d70a977ee2e2397d5eac131e6a8b50ea767036ce269254db2eb768ace7a3908c591b9660c337ac3338c0e619110132e2163d47632f5f98eed3d99e6323cd666afae0521cc0797be877b8c681b34bda8e4e4ae31a1d36796b07ba5094f2e97b585806015a2dd20992d6a33fe8b365657de269d059b53d5b21d0eb1f1840feb65cce7b2f4e4fec95a045de321562b4dd0451e93e240e4c81330eef6bb3e11 - -COUNT=32 -L = 2400 -KI = 4028d59bf03f8d91f3fbfc9b7a49a687ae744db2dadaa47e14482b452f71d2c085581478ec97532da64db4a42ff2748351574c43d700e94a8893fd9f5dc9d5d9 -IVlen = 512 -IV = 8eb6f40a44988bb42352bc70a94b84a63cc5f4e0d6c73b328c9ec09cd7c4362d7d8e3629da8d2eee8aae2a730f44636cce5f5db923cbeb0be5ed06919b78b61e -FixedInputDataByteLen = 51 -FixedInputData = 011af8404ff4af253d18b7b2372297263669dea4667ffb3fdd52e31725a663850f1cb04e6b2018ae4181219db7041c983cb0b0 -KO = db925ade647123d5b0c37575713033bbbaf831deb6721933bca73a8baf3ba7a0473debb09a13b5e712375e62a6e74bf86424d15fbd38b966aa77abc101f5c251a0f2655f66f58d75f1ef8f06a2291c00cad723d184d09a92108452628b5c6adfaf9f691b3bf1eb6c82b2238450407b6b6be9520fbcddfe73f091f97578de81134d10ec177234fe7b58d956e9380727f9e758c203ca0907446a08e6d967e1ec3d30a3cd11562cb6a5facb197545566777b8aa18ad2ebbcfe5a0da9962ae6b95f2267242d7c8eedebafaa3a1838bcd00a0daa1333fc9ceba1fdf49efd48736b16bd300a1f5f11b1c8fb576925df17a7565e857d23caddf1778e24beeeccb323330f303edfed337ffad8b2a9248665d55a56a3fdbdb0cac10e985ff14b5352d55b69bc3cbe22fa6285957977dec - -COUNT=33 -L = 2400 -KI = 00dfa1cfaae04e82b3fabb160a735cf8d007777a49c64932f154d3ca7f2445e94398e07bb0865897b882f1d5fe1187eef3948ba9f0eb460197a52006f3f37f89 -IVlen = 512 -IV = 85669dff4a44bafe797cf18cdfd105c4ba50e1d863795f57436ea2c3699537dd3b52395fa1d04d1b9ac71510f67641b44fbf4dd36eb188baa1fdc76d9aa7ed5c -FixedInputDataByteLen = 51 -FixedInputData = 41c13a46208d846f4c6399b59722cb8e5b2a107bb6192c1926d3aedd62782b3ce96e376fd20441c3b5fdaa05940c18e5dbdec0 -KO = d2298b4bc525fec0d13bab7d741057d4d849fef0576f092d4b3bd3adc978bbe143d381d29dfc93d4c38b4866300640de10cced6e09f30dd07aacf0f92c23dea929a1a7ff0da96a8fd44fada551913070a1a942e51bea18eb50315e763ab11f3e8e0f65893ce49025686843860cba84377cc1410cbb1874e91622c161d57f12e119c95a17eb3c40554fc48b16efc76843368c3540fa9ea58f162868c7539a6e3179771b18698ef951fc5e7d69cd2cd97e7d9bb4e240148ba31de76dc9d3b5f04c169bdee56d705c697f18e783345e0e5489d37189a2b18476af565900c1b6ae65cf1c2547159f869b0a1f5bb03b2aa4921029d5398eccb63f85ed492a7dcb8a16856559fa5134d3ab05f4a6aed2935f06cf4d7c524196a9bdb670fff067d1f46cd9028f9040a4731591165624 - -COUNT=34 -L = 2400 -KI = 6799652f44adc484df591d3949701d16de8043bc75adf5c324d71dc6388c7c99a1eaac92734695450e3494f1c16eedb194f2e0c3702248ce77d84f0e03a377d6 -IVlen = 512 -IV = cbd8ed5f520372294be510ed66a3c5dd0720d38e6bb6c436f335e2a8e1eaefe6fa1fea0103429a522cdbb32282b20d86027c167a1562e62b10ba71ee3dd5592f -FixedInputDataByteLen = 51 -FixedInputData = 805b228dbd7619df3d35dea90b4b202db1583f2c6ff2edc694f3b250000bcdec1377ee6a878ac24941a4178f72d7b9808929b3 -KO = 9c1d95896aef153232e111c6d27a1d585c8254252c0a46109a3c73a586c7256cf238f4c797f7ef885ba905874fb39fe48c6d6458f49f92da53f266b80ceefb134f30ed5a275df73e6885b9aeb2ac27731759c23fa4c08209c91f9944391d8fd46fe2ee7fca74dde4ab9ecec97e9518759e86172de9fe66ccf9565e1f406b675bf5881ebfb22b9b4db4fef9be0a342d8c8888dbbc86783fe96e472824b60cc296a58abd0540c94bf707c6410d5bf0481d6ee293c247323ba6ff2b30d70b7733f0892ec271f1cd4e9fae050e582166ab70b5fa0d27b2085325a352791cabafbfd00470f76bc0224d22c60072bb38440573a8bba37c55a9665b232c89618265f3ae774003b13dd1b5e13d985ed35fed14ab04e0fa12b6425c947e2b412c01afd2914ea288b530874e3a0d73d20e - -COUNT=35 -L = 2400 -KI = c7b60399c0d80a5a9d20e66467185e859948d19d2eb9d73766733e14ec464bb67787b3bf458da9667aa30f8bf9e06aeb347a5442b6fb1512fcd689c72889f60c -IVlen = 512 -IV = e5423f36d2dd3b640cc9ba6c04cb17b2a5fc76f44c6cc7bc9039e870b7316b540a313330091b9bd4d21beb022e98d530cf0e12c5604f958529a5790d97c77bb0 -FixedInputDataByteLen = 51 -FixedInputData = 9d5c297298deb08d3e77499a04826daded03569ee2b8b69d053ee596c27885cb32ff6e92be23ba665a10bd305d233823522659 -KO = 619a9129bd01ed2a3964ce0008808132a3b7b9be1d52854f5f6e1a9ba394e688280626dfb3add12b759c28eaa23294fb9cb845bccb9c5e0c93648fcc09540e35fc4b2a8c50f56a7acead1e8cfa659dd558d1be5dec25face33beddf50cefd7ab561b86ebde4d8132d551700a3746392678c18211e04679e4dcf520cc7c304d9e21c0a93f00f8cc0b64e273262231266e053a239e19d459214b3812f7a7c7b92e055042a42872c902e1ba37aae3b0c4761345518937ccae73c431b5e372d841d46aa4488c9e74c6ffac1103853400e7a23f9b79c3545c280249d95e074b30d7d7ce04aa6f8c61a8e389bb2c17e6177c1d3b49cf0ad8378fc437bda0d4434e6e9f6523819c02119a5621c49bd69790942ae3f4d447d9851fc386e0920c8148c5f580aadcfa7dd719125fb8749d - -COUNT=36 -L = 2400 -KI = 3983e109abc6117f4ad4c3671f8710a62c990e8c9ffad281ff0f319c136b94eeb4e105e0e498c04c6f5272964d9233e6b7273eae27113bf6a70d5200fef9bba1 -IVlen = 512 -IV = c6d1191657c0cf7dfbfd0798b98900eb49b5b3576fdb9b835dd6e037f958aa8f6e1babb05c0e3d380027a5c79ffe835749d8248d651cf2f28924579b71a77a2a -FixedInputDataByteLen = 51 -FixedInputData = 86179db1b539e49381fad1b294209ce61659a540726397fd0efb1291924ea04db6097f25cf7647d82d307f175f0d57a71a8886 -KO = fd2f7e4e86c5380cea15686051f125586139717d3bea375121a1d51e6ac09682130af74152bc2134b7eee7c3782169a6a8a92f63411a7892e3b195bebc35374e6ff7ed05ff5980f5a921585aa642595080ec600444171484e195a616754d39f86aecde1df863898cd1a63fe12afe52c51f63cf2211c7d6141c35d919bb53dc76470503fee8c59fd1d8006b6541820de6de42e502925f9c64f2ed4401d67e1fe17cf229b8d1529fb200bd87eec5a9d21e1122664ad4c563462f4d24c11fe78439bdd3be64220d56b532851d61814ef6ad823e0e5635268893f5ee1374966c447a18f20128be504afb66d60390f90f32e00dc9c399bc50c96d8193e3ca0c92ff442ae477d0ead63476c59d8285e05c27c9fbe33d085e4e08e4f4aaf1f53183a0740c120fee575238e7dce330c7 - -COUNT=37 -L = 2400 -KI = 760fb0f12077dd7739ac1a23e05c4dc9435d0072dadff1aef2bd1bc7b24688b6cf4453d5c6027b55b0656616283a91f0454735a1320dd67e148628ed4ea5911e -IVlen = 512 -IV = ba4e82429fe5b971bf2e80f22e745d175b3ce669c4c8467bd19f3981276426ed53acb9b5848911a2b12817c09ffb7ae0d9d9d9362b8681d21641c67a12de7915 -FixedInputDataByteLen = 51 -FixedInputData = 5edd2a605688a9226c1aad1b8ada37c41d6e6a2a89bf6c8e94ab6fc4ef1e57eb940b27c878678ff50ab5b3da0ea7fc4c7a83d0 -KO = 64865fc4b3fc50e90835b72288416320b30081b09e2fbcecdaee570de4d8754655abcf730b8ad4997650248a4c0efb5ed7d5d9d169eacf515f925281d850a79226f57641778882ea8f676f40299bb17e50c205bcecc110e8b6cd690aab722742686b1c951b93e9e9ed81376f84f57ce0e96a01cf01f871fc1a4f50d1ce47838f5c240bdf128d8cf63fa162c7c3ffb58aadcf9e7626c4c29e3cc1287068caa2e0750da06650fa8e11d23881c321e293f3bd08d6c4d65367c6a2b6899662b2813d728bf7cc7b4f641f2e5eafbc766f282004d0e6698a8dbf71cdd94da0c9102cd25f1b00ac3f2e3edc11bbcf7af64a1a01ab4bcbc2d599eb741abc9011de66ee750b879dc12f9820929532f7e139a1a4b25bc220befd4b51090a1dbf50e2757f4862ab4c62d9d2a16edd4bd1f7 - -COUNT=38 -L = 2400 -KI = 1762154c86cd282154eb32bbe2e3af7a857b7dbdcfcae42789f8416c4d34df1bffbea10a5b3c934a24a61222a1b398a4bf9a24aab49825d3c1a946047d90e683 -IVlen = 512 -IV = 9c4aff0a9c649d0cad2da04cd620ce126eac673986552561af4acc95284c37577e14a70c5c0313f1ff185eb28cdaefb1c7e38e297ba68e50ffef5a07173b8a3f -FixedInputDataByteLen = 51 -FixedInputData = 41e2d443311be9ba842265089d8e91634030f1beba3ba141ceb5ad1a6b0f5f8ab68ae7e861ca3f1167bf53288caea727e8e31e -KO = 250c60c2407c436bcda964630843aecbfbbf6d27b6b7f5b4caa9b91d0c1116ce871f09a35612bebb6c5bc148c3bfa143bafe1586b1c2953f4dda4a529e9816281148f780e1d64f677af71dfb630bb62b1068d9b3f6a40aed24422e4a1a74ade7ef4249e208ee6e022bd0cd1a29fe25ef1683f60cc9dd0f794bdd08873639ba6ee5838e87f7712fb4aae780a4257b3a5acba0673f259c0db556d01c528a7f81f7ce9622adc05cf86ea3168a1cb7854296e010301a5050131ad8999b59c3163c808f517ec39eb13948430c0ed5bba43356e2a24077bd79417beaf7e349c757a35de1fe93cb835b0b61399ec2d62cf7a41a014937892345dd283da0e97b4240bb51e2a9dfa84edea6d1a5ec30b1f92ced687da49e701d8072f2f16d2ff806d92e8f8e61e077f7863cd6e66967bc - -COUNT=39 -L = 2400 -KI = b77ba2cdec338ddc67deb80aabac4ee23129b5d7bfb288fc205d3135af12ee1b32dc6821c6c1a5ed5a3d502a23f99ed5641639424e0f012a2d0710c10056a9c3 -IVlen = 512 -IV = d1dd692482cf56d5714bc6d2b9872a8c0adb3f98dcb80e00a1653f70f188242071a11105f60daa6ab204ac18926c745dea6b389ea8e54aec8bb05c4a64987a24 -FixedInputDataByteLen = 51 -FixedInputData = 379c4ee337ce0d29b73d1f0f842ee5a1892086c3a89a3f8d51a1d92a7dab7f3652dec04670db3b4bdffce39aec040f6c6aaa76 -KO = e5232285201434fc8ce62daa267c89e20dfe764cb1810bd85ada0890a981e0174424940fa1d49291b5f2f17de08721db166c38000e00a48db483b4b4e4eb45c352717339a5d0dd552b7caa07f717ea1dc46d3241237dd5689494ef29df11c5be277b32ef6c34cf8ed78fa039c20e29a79486fa3c4788f6ff5756c7df1152920784a8b26ebc32735508e4abf158ba004a20326f5ca3c26fa6aee6a646ac402bd406c4c67f5be2afbc486f8c0d1aa62bb6836f51ef83e5ad6657044a67b5913f2b9fabf9dc217f60939d55b278d449afc1e5cb7be65a6aa91a39230618941694e10388778823a8993a8f7e0d05dafa7738dbac566367cc3a6ca863e33786b2d187b5d388df1089e4b0b12859f1a39b120d8743f67c2fd96409c81b48f2fa298d6750f2bb15692a043503ebc53a - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=16_BITS] - -COUNT=0 -L = 512 -KI = ec9378b07a69bd25479831f69f68b0f017fdc3a08a990bcdafc1ed6284fd3625938b39459babd1d05e17f5345a2b480df90042fdf1fdb41f258dba0c8d2d53f5 -IVlen = 512 -IV = 5a5f5571dfcc8380163c1cd3520179b8f42f9be3f7c3b64a1a44ea65628d4b0e3a6e91bf5d245f35cc81e24f41a857422a98f9ec5de06addcc1ae8ef1ef39616 -FixedInputDataByteLen = 51 -FixedInputData = e12e5db808e0ca04801810dda6e01699ce6615a2c09cef0bc91540d04a93a49b7adb1bbf69e4ccec56f9e655aff3b7a5c4bee1 -KO = 0009f57b44a57898c3193311497aeeba97bedcc41c8ddd66c910652ddb532362ebb2b17ccbc5d713953b4bb9789b7c4ff7702cdafd4a44ea580df07dc4f90bee - -COUNT=1 -L = 512 -KI = 3faeab8ca69df0e8ef19998699a12da6a0804aceb6239da329e467819399d68165c1f1a6fef8c6e0d02862b386ac03aa1ee78e0d9f4dc95252633346b29a9c87 -IVlen = 512 -IV = 266da92b780f695f81a310727d4d784ee60e189605b77e926f14ed259fb57acc4e23638feb2c5bec355a9354ef576ebf7b789464039c599578226f7a8edf5a14 -FixedInputDataByteLen = 51 -FixedInputData = 60c74bcc814218e841bb73df49f55df8408a0356fcb83cee2c995cb76baf32dd500151c5d6fa64c05d0ff1f3a1a3d859b4abd6 -KO = f224fa9989a43c0fae548e609f10f026874462dfa140636808bdd03cb50d8c234fe0acf65a81dd9bcb7dbd315934fa307160f1542b38191499051bb7abadd249 - -COUNT=2 -L = 512 -KI = 4de5924cf6a63d96e3c4a2c430d9441ed2b71a93d8fad940a03d28e09acbfce2eb379951ab2a9d63a2e0d7052102b318499be8ff78ec04408d94c056d29c18f8 -IVlen = 512 -IV = 3edfa84d4bd32d3712484ba312e56e73f1c542ffb0f6acc91ce5dd55d5a84ae5ffeb45d6a1182d7a264cb1bf407c18bf29d2166453329c8687939049a4ee4cd6 -FixedInputDataByteLen = 51 -FixedInputData = 34075761c73778f4cc468916f244b66b679062888463030347b353464bedb7da3e3adb9f1f8c116d8596f29b82446b200af08e -KO = a86979720ffc8f5fe1f55ce86934c1a73b92eda07f102056fe8d1e0e1f56eac62495a35394b231ebe2276657f1bfd0cf671365af225005c1a5c779efd18b8116 - -COUNT=3 -L = 512 -KI = 4aa12ba3e12f344397fae7321527bbace0916702ee55152788af3c7e39a3bb30d4675d641db7a497136e1ce4b0a1538b24c19b9b4324d10db8e4ec491fbcc47e -IVlen = 512 -IV = c59f5fe17691ef5a99eea988ca71b79b23b208074121bcae2c30502d7ce5c93a85955b7d055b43f8e7ce8b0e6fdbb9b1c1f7904c09b4c6e4177a864f6fae538c -FixedInputDataByteLen = 51 -FixedInputData = 04be143430a4a6487fdfef31aa655e0496a4ed32bb1473cf0f3ad7c89c127c682388b56f4622449b3798dfd97486d705092226 -KO = 0aa7a1f6478ec67185c75975e468d7a74e29e5ddf2b3f20427554eaf6c460b70ea5dd77c55e221e66c3a7b36829da17dab504d5929f35c00769c1b1259dd5289 - -COUNT=4 -L = 512 -KI = 6f2b5398e34478cb80102684dd63676ea1992f24ef1f317d18d3609df51130f9c86a43d23c888145ccfb79693bcb48470cf03a7e1f042b6067eb6bc50586e21d -IVlen = 512 -IV = 6ee36e6c07dc78f8f92fed4d5688cf1eae05c0f20d1c1f940af01ff0c2ef8151cfb3132e02d2a379bb0cfa2063bbc9ee55ad7cdf173393831498f3616d38c272 -FixedInputDataByteLen = 51 -FixedInputData = a844248f3598f4c2f3a72c567573de1adc8a69147b32eeb42b0f0d6885c932d5e1fc38bb5aec3bcd24f23d11e9f9dab48558d5 -KO = 401be2f36b7fca5b26eae406b53b9e23f0c9e96fb6bc9eb9b78a5b505f50da1335cc2cd7aeeb81942d3cff58a5f42605611346e727b2c8f6d1e06a6bb866f86f - -COUNT=5 -L = 512 -KI = 993e0e4b13b4f5ae065825f669fc4a5d70b6a0c404abcdc74be8ea7e12234176caf9cc2192578add606e65ba66f085c72ff39fd0e3e4a62c93292bbf9f3f3822 -IVlen = 512 -IV = 7e7eaddafa99638e1c930249347a7a4f5241c000b4b64e7606e776005eaa5f861e123f961f20662e9e3be23061f4c58251741bc8777567f703fef88f3f6fe5c4 -FixedInputDataByteLen = 51 -FixedInputData = 86490815bb86485facfd9e5ce73de466517738da152fc17404bd49ba87b22b7bad9ad71326d005d20ed687359ab0af35f516e3 -KO = 397ebce9c94c00460b632d88f8f2ba1d888ea42c231cb3e1ee4b7a4bbd6d164aefa56724684b0f8951a38bed17b189be887530c537be3b555d6a31eb9214e8ca - -COUNT=6 -L = 512 -KI = 5ce94d9e329be2c67365f11db5263accb5118515f6b031996cc7f5c96f15887c3a96af2dfd67603b6dfabd721cd179c86b04a6c44eb31795208134c07d5aaa71 -IVlen = 512 -IV = c1d2140e254542432c27f20a7b394806ccd154977563e29c604075e1d8cbfdf54951a46a05e3da3abeecb66487d894d5d1a09c6453bafa3b0eddd89b6d197beb -FixedInputDataByteLen = 51 -FixedInputData = 00451dd546782326a528c26135bca8ef9a88e91a4e0328ce9bad7f9722af0b458235cff8aee6c8beee945bb9738570454e7bac -KO = c9b7f59d8961707d109b664a8deb9b81e607c856fbd2bdab86b42f82238e5da96c75fc8774e3b77f80bc4a814942258843f5823f4794704495db2304240f5c3a - -COUNT=7 -L = 512 -KI = 74141cdeb5d74177fd74c371d6d3dce873f1c7be4ec98066fa9122cef9a23eab843ab1f7de724310de8133973fb69e9347fef1f05f04d9e78a08e7e462af8a63 -IVlen = 512 -IV = 809bf906bbdf00a88f02c6ec7f4691aa25addf939f2c949b4231b5c24851f78e8f12d4cb8a6eda92b4a88c9b35a80a5799d374c65a29828e3267f286b3882544 -FixedInputDataByteLen = 51 -FixedInputData = 7be471d6f16b4a1ba68d59dd4ec3c3fe1c656f672dbba2d435bef2f2c1ba25fb5b69580efa3d0330280e85fb34590f77f62e12 -KO = e2d4e0f2ead80c69c05ad80bbd3def67a81578732a2dbbdb065b5f70f5e97c91532cd5a11f2d16bf74a48d225a496c6e11c3e76e22b33348ed930569a35bb9a7 - -COUNT=8 -L = 512 -KI = 4443effa4807d7bbb724f6de0ec5a45e71270a5d76d542251424caae18d786958f7485b1d7c1251a6c54081966b787df9b23182d7c91169e480f7739582cf20a -IVlen = 512 -IV = 9d34be66db5213554b7670cbdda800c50574bbebdba2312d02ade51e768d23792722183c7dc6584ff3064b91943f25b17a9493892d5324ea995ebcd31fc693c7 -FixedInputDataByteLen = 51 -FixedInputData = 1d6435387c301de0251d8c31a753ecaa0b70406edc9ad1ad27042fe2c0b7368ac9b73e6caffa69b04e74424bed0913deaf8d44 -KO = c5218c7478e512eae2dfde1f20eac9feab4e254e2a9eeb64b7bc06dda5f6983a3463af863eb1aa70184457bff95536ee9ba014192ed5693cf6ce219778420f87 - -COUNT=9 -L = 512 -KI = b47c27bc0b94284386fdf982f6e3a8e9ee78044259ec7611e06b823d1574f65b3c9e07cbd0fe44a6949db1d69e0672a619670be7ab2eff064fe0664ad1d431ff -IVlen = 512 -IV = 6bd32170504a2c9010499070161a9570675b1f5fe9fd90a6a8167641ce0b669413dc2c1edae24f2bd2e399a302dd8c486b38abb926b58e6562b4bd82e29fad29 -FixedInputDataByteLen = 51 -FixedInputData = a38b8c3946a0ec232456a7acc78f9f6193d92d6e4902ab53a75dc550f659689b0c9f025f2333adab6ec1699c9cb40575df167c -KO = 517e9e779ed969c10911bc326b4f6a56d62c534c7214b5e33d10a63b21ba2a5de17ec83302d58bd8746a987c5f7ad9a37a3b01aabad704b96e1e3244092b706c - -COUNT=10 -L = 2048 -KI = 397a73359ed2e3ccdf44ccb0102fdda7af5d8bf307635dc4daab2e17f543fdf7c4df6538286490caf509beb778823a2c88db3967bf2d80f29753f5be6da65c12 -IVlen = 512 -IV = ea9f8d3892a055f2bb5eeac78811bb5dd56f4022c2cf997a9db8d79613a567f4d20185290d654153f706a3a624cdac7d0684d7c9ff97f8d6319bba6f19d4ee45 -FixedInputDataByteLen = 51 -FixedInputData = 9f722c95d2284200b4067f0b498f7c95f7f6e1f6a326445a02ed3ef1b6e3cb75dd9923a34485793e7bd2d762d8e3085294b4f8 -KO = a77da2aca619043e2a2a6ff39f182b5a2f1ba0cddba195ec9d37e5b33919b9a83d785441158e5d7314c075a69a47c2b90a9ce26f315740898abbf802e7603549b9e9c3fb23ad5ff83216e070f894b247fa39d42468f901f39843b9687c318f9ed10cc95b1c37f923b3e23d923fcc400abc749a5da3db1adc05d0c586543e635b40c77aa621c52d3190e0936ea3eb539cc45dc5294e69b03aa82e50a20c146ec8f75543e504a1005656fddcb606c85f4cef70e327d80f0d914f9d9d168b1cd3e5a0a163dbf1c435a6c6d474db0c5e6d56a734eaa958e8c0e4536285299663bae72d2f29d578f1b49ace914df66deafa89c17d44df95281e9884e338d246a6256a - -COUNT=11 -L = 2048 -KI = 56766abe5499e3d2cea10b1033301e4bc1fa40b3708abf8cad0a31bc7142528325dd827a14d160bccecae2eeb150ded98efcc0f1643fcc3f74ce5e37b14aba9b -IVlen = 512 -IV = eafe132fbb908dbb4a5fc3e701063ff0e05a8aeefbf90b8e47eb381c8e3846b8f2c5f5dc75ee85dcdc0d0f6ae1d17569b4647960d838b6dada3e479844a6e534 -FixedInputDataByteLen = 51 -FixedInputData = 96466dbb30c142d74ed0008e23ef6a85c0229132cda9172ce68a24ee4535252ee3b275bf42e0a8d04d2e096556472044321027 -KO = 95078e8b5909c8fad508c624fe80637c59261129f435600893a98c1352c035af88629796a1b3980d0bbe71265c118231e9883b27df36ce61dec4103fc9cfa7e9b12e6d3aaa502244afda9bc17df8b8edc214d53c6e5c59fca442d52d7c1836d7252f72b6e8220c67c0dc427f3634d93ed4e455d8f3a2b7e14ec284b6a30224cb0f07f9c20f22502d29b0c2c670eceb0d7d6ef923bd70e97ecb8053ca9d4b68147a28368b361349eb1a68183d3e45cc9e3eb3c29b9939eafb2bb5824b5f6343c02d535d709366981e2d63e37e5d65946f591445210cbf77b0143166b59bf077907cf514842e75db24153d9f5ed8567c821f72a932b66d32d274b22e69b6af9d97 - -COUNT=12 -L = 2048 -KI = 014d09b1960e5230f3c882e5223788869a60071d9e32a95befc9afaf8a5235c68f853bdba40c8358910a366470fa4261ba4ab7e956cd6ca429d9dae66307822b -IVlen = 512 -IV = bcccbc4feca2ee26f2144e14bfc6c3e3fd19e2730ade0aa54623ed61fec8f0ca276480e4a1b0a1fa91e52f84582eab82c0fe11bac87da1ed001286dcd99a4d1c -FixedInputDataByteLen = 51 -FixedInputData = 04053c2b0d20c51c2058880bea1bbfff0e48a56925027db91f4be57a38fc14713b5649f2d0c46a947e0ad3834daf5b161b5911 -KO = 2245737250ee6b4ce2b94ce1b4c30a9a91852703a6aa9b6c4f08208114534b0614090af8261d978f9e91b0ca39a8b9de498cbb36eb4726cb67146758d44136041ee7badbdc9163092d1af29671ddf5c11181fe1dc8359b8c82341f6b879ad470f3a50ccbb1397c6f08176bf9da50cdb1d40f9dbb07da871e38fe6b5fe6d210ea88d1f317353b7617a976884cc4ad1189910fa3c529e225c1d6c8e951429258b602057add4ac7e35414b49034aa6c2649e852380f9a551423c97f8a92fb8bc988264b1d35751df4f0ce2e90d15f5acfda55e6d42573b3746f256134b8745a208344a2ac4b0e206dc69b8b8cb5913c4c7478784878cb5dd852f78f31dba0d13a71 - -COUNT=13 -L = 2048 -KI = 47ac22a7d14c1d4013ff1b0b60c5e743d6c9236c33e3e1de2de3b7d7da3496c812a21473a890a108ca805db424bc5ef643520ebaf8bc383e9d4855d30ba87576 -IVlen = 512 -IV = 4c067d61a01cb481bdacf3ea4e6539e6785e9b31ac9f9e3828028a7a641386e7caa992bf145a3ef8cd3f4beace17711ca07a5bbf63a63c831d79694fd6de2750 -FixedInputDataByteLen = 51 -FixedInputData = 54dad3152d2593cf9c832aa1ec659cb7fed29395caa44671eddd67787024455742d6bd2fd79baf058885a778d46bc1d921809d -KO = f72644bf8c0840d991ce1afdfc102f91d1705776bba0441f990a9b2088cfbbcb2f0abc45458ae7493957beef5d462c8a048d72d39da7508d3e9ae9814cd7c590252c0f46437981be4c54fab0d2308ad8dca66c8eff7fd476bf7a8cdb4a7600d14b49d10c3a747511d78992e493b4633b1a5e318ed102168f8722a1eed4a85c32877eb3975407ec7a7b3f71fe92d5287577522dd7045b348ac54097f47321a631d6d86a6974fbd12652d1938d67318606b39898fd415459f519cd7f6614abe04bef757fbdefc50cddb3d8fe15c6518fe2637d323c375ad44b0d1b6b2fb290ee30deef7d57a1df3047feba0247a6a3544807bc07996b7045394477e11b7f382f1c - -COUNT=14 -L = 2048 -KI = a0317cd1ca3c38c55bee11eaca71da061cfb7205c1d6e92e2e0977b340efee9f2e3b472b44358c34c77ce922edd0be0abdbdaf2aa6d211b86201c58f4cdec866 -IVlen = 512 -IV = 283df4521e8dc40a09ac78737698eed3c94db1c5df165bae702d8e390db4ce6959ef17016a7485b14867579234ca8296dfe9aa9adb5c06fbd8f66860ee33f20c -FixedInputDataByteLen = 51 -FixedInputData = 680da75d5bebabd1dcd7fbb332db2df45682cdbe8efa19faf2663204f2bcf232d8c49617e2ba84d675b7dddf4a384c9c7c4845 -KO = 05153d409290268d7e7adeb0ace6121ebd242bc27d097754a7ac8ba2e85dc61cfc4ba398687d89bc91c016ffa096bdf2832d61860ddf1e99335cd3be2e64cf206b1ea1deaff44269dca6cd7ef65adf4c755e7c4f5f009b81d85d2814febdd6fd0fada6f6a302d3e28aaf21c0ad084731be7366b8aa9087acedf0a527a3085f03526aa37328828f2ca9b81858517044f5ec01cf604af003f3630adefb1add21cce8a0a016952b274127fddf2f33e3140615d39699bb613c3fd8ac2887aa4e60db864536dd6c0f36dff759807b3dde0c5bcdc14d2acaf329c98339788b79e6ce696dddbff6b820a15f8c3d09e1ff28c6d8e677aadfb344597dd50d6cc3cc22ded8 - -COUNT=15 -L = 2048 -KI = c80f27a5ee063309056e243bc4b8474d74ca6be2c736bcf7d5cd849f83ad9e48f52cc94e2b14cdad79033a3af061e32d5cddd24f14472b4dbc49341afb3792ed -IVlen = 512 -IV = 56768704cd5037b684497b1a5ae2b7fd85cb98d4d20f3520670fb727678101da3bfc575c7cf6ccdd4bf1bbed852cb02e787027e77beaf740ad30ffd0f901e2b9 -FixedInputDataByteLen = 51 -FixedInputData = 44cba2586973c4d657cb601a8b55db47046ae1f8f65f7197b8e34e4a1882106c4919db3193bfa8e948590ffd833fd1bb28c816 -KO = 1a292dc6267fff4710ebcf588a0ca0bd7f85d3445889ec3d8d75417b3ff57ed74566917d11c20d681dc103921bcf2af48007e86bdc0559e2a9cd0f3c29e272c2cda6c629bdc52d1ddad781c39b16842763b45661c1e77f7487273d79b340928ea99da336b4eed20abbcd3cff2cfbafd7450b3b62ae8c4b147f689231cb2972f96896552ede55ad6ac73a924425bb91382d1dee7d8bb0d533b6d1d80b0d3952647968cd313935a1bd38c60fb5b735f3ef8be20a07e9c2a7230f45ff1e5f5f5a8df844f67348dc61ce9abc6e4889de88abddbb70e7852924fd392e2adc2061ccf4dfd6614b060e14bc263c584cac86aaa9c933b62fb242ead74c339122d5db4c11 - -COUNT=16 -L = 2048 -KI = 3e3b8677b3a8d40995f14c66045ac87afd22e4028dd3d4b2a99c53bfe093b726f296f12a3a1eb86657efecf7791e74749b0403dd2a8a5b71e950076030008f19 -IVlen = 512 -IV = 3825271e9ce42c97e3094c7797656f6daf48ad738b5b97f665b099ea175ab175f9dc54d68a6c1846024885f93333eb61a01662a9069fad0d23d6ae5a9f20fa8c -FixedInputDataByteLen = 51 -FixedInputData = 0eae9664a7193d664006b1ed6c4a12c7bea98b8c10292779f9554d1616a3be5351753190581a1b7cdc7ae99f4fd78fbcf6d812 -KO = 56dcc3288ecea5fd548d062126444084b875d351aa6f00a8b2653485f82f09b224ddaaeb7c68069f19c8cdb6db188958370e506c5e682ec785ea961f773a3d83e735468fa9a824289f746d8a016f63b47bf630abff9eab34d6ddf299414e8f4ad51a83f8cdd607a62da7256370a6b834eac595d3446a891130e70be7915775c74704584634e8a975aae4d3df726d780c053e1f77d01bfc88e246b0b65f550741218a3eb20fb7a44397899171176066234c59f46b7cf06bdb9802e6d1fe14f267ce8d0ef68b0ce506ba39957d4ee31fbf51bf9f9e0aede675cdfb67e36ff7b1518d2b6d8d7058ede5bce52d96b30bd6e1a9bb64de3aff5702caaf2cea5b335096 - -COUNT=17 -L = 2048 -KI = 751f5ab3952613513df12ba758f587bea6cf3517c4ff3d1f131425722261438cf8f5160653940f3f592901595e35178f74cea7ead79d201e63770a5da34ffe03 -IVlen = 512 -IV = 92ffa238adb526752cacfab24373e0defd7b3a1ef7fc3e50eea4096b2775135eef78eaf9d968474e5dccae99c5c1cef93bdc785c9f6352513fe90187182de13e -FixedInputDataByteLen = 51 -FixedInputData = 8fea1d2185396616fc2524ff23775f6d0e58fd46f63b28afb437f331346f493c77b4ee41637ae552405c085609345ee3ff244d -KO = 636044bf2f6bdf9af8eeae94c8b3451c9ca1ddd7cd52163146c54b09a300f0aaa766c97afff07ec8413f861486c50fb6a27aeafebb5827d53e93b4480bce6e98377615ae1cc33014d3ae8d1034a519af80efc755d6e021b6a5f30003c5028128c5602e56bd478c1720b8760001c30d9b25eb040f950399276049132acda501f570692bde0b15b87cb08ae41592eb7b36fd355b18b1ff636721be6522366b9fcbd95cef87e7af8fb91ef00fee176a339246ca454b5ea11e66f6302d6382daa3116559942b59a659053be8c4ce1501711b286588518cf98d94cf12e264dace77a003ee4aec34c8e2ff694a2a7b8c355ffcb40c82a31cea290f0bcee70f5d87c853 - -COUNT=18 -L = 2048 -KI = 24a3f280840122edede929b2489aedd4495585b7c0e443e89e9c8acda76867a5f54b94e2dc4736215feea7fc6d2b34fe4ba3b925e44340c51d287acf0e2cfb62 -IVlen = 512 -IV = c4d9accde11ff5e9099aea525c1d7e962ef2234c7d7f68e4cf0c7bccbcc97ada5789d9bc40fcc50523aa2e4d4bdcfbdd297c2d73eeff11b19bb68debbc6ce436 -FixedInputDataByteLen = 51 -FixedInputData = c9b46f5c6cbff6fc62c4ca8413c9a476fc3095f17f0f72203ffaff8fe5e0706c15d955846b2db4487c8b431c065bd74c18f57f -KO = 2090ac0e480054231ec1441fe4829600c05233fcc2ecfe8cea6c3bffbd769e259dc34eb135c1f78c8426edd633c1d784769ab19222177dbaafeaaa4dbd23dfc5f59ee85de9fbdcc44663f6ec0eb44623f9f2b8cb90b1c05bd55b8d51d481adf52c5afc217c4152aa27a454845d0fd3fdba4f440402d1d7bb253600bb0f3af2979b847fe93d6fae011abec78917253ca821380d6ea700598e556cd4cafcaf07e1e35c8e04060c1d184f925c741ddb18200384f6df306f3363d853bbf55a2d74e11b5b5f4fa9b87fb88cf7fece04207d719cbc79d41b380ee3011cf1ee8057133739e2ad2ac40e4054d9c0caf9c3f46ea161fc9c03b5f01a5f541faeadd7c8cd0d - -COUNT=19 -L = 2048 -KI = ec5f6ce14c387bf0196c49d9bf3ab8474bb09a845c7b72927116c2871956bb8e98960128ad194e6c0ad9fcb4c78e53d988fe0a2ef5f0158195e574b085454d86 -IVlen = 512 -IV = 525da3ca65358b676581e91f63e86c5b779e60f2eab8d0abfe1bf2ad323d68904429851068f57114b28e56408d204394e1cc37104c27952b0cb14db985e1edd3 -FixedInputDataByteLen = 51 -FixedInputData = 4e907e01b60786b38413fe75c6f5669e7c6d38ef4d0c64c53baf9080d1032fcef231d881e3e15d6f586599ea2b6eaeb1131c53 -KO = cd6cd0b3468fb92b15fc7aec19712f30bc6ed5091f7831b6a9a7d96ac84eed19f0a3a2b2a265454c51975480ec42abc4d50a45087816c54c2a5292e345565736fb3e539f65250107d88a5cadb57e42e46fe6526e3d00fd1e1a840aeefc02e9f47888ec0c01fb079b62fa67ad9b72fbcdd1c9062c4df997452b4c1326bb763fe339fd51839dcf55160342432d56d897c5a711043ae072a361e0217fa7404a19d6c929e634e3ae906e0619160bfcd9d733e993c5b68d009bf0ba2e4f75c74677bf43c9e0a5703f5e566249fa0fa341c6f3bfdaae83456c63ee8b3af9ecbfb67e9abadcd0d3e88562b5f5da96fffd341c41c6da5e264047110c9bf94ce95d84a120 - -COUNT=20 -L = 560 -KI = f0a04311ed8ba2958ee409a86b79c79dc3d88f3ab669b3a149fa2b3a852aeb12a411edd54731092beae9424726be905be0313dc67255014f01363befcadd5055 -IVlen = 512 -IV = 257416e577000aa54a9b82e67f6191b553bfd5d2580e9be21f345e7db293e795a3f40fe705572db27e4ce667e46bc3aca90c0040c1b10ad15903aa364196fb9b -FixedInputDataByteLen = 51 -FixedInputData = 95c92251fb17155353462802e2a38844c2bb4f9d4448bef059995ca203f8383f381a831e0530f668d41b3df88c3969a19ba417 -KO = c4a1fa5029bfbe050d947176767b0f6fd99f152e8dea0712322f105e2709ed0f3735033187521a3b3a6d1c777da67e78d6deddabe6833c776a74e1aa363a8670f475e1412dab - -COUNT=21 -L = 560 -KI = 4e4d85be48d9ecc4c5c0cc2fc1d34c23f91720bf8852d4e7444c687e9ea629e8f182be01ba2a21ff2a281e4d9b8611b0c68ebb176b54a1019e2b22450ebd0df9 -IVlen = 512 -IV = e85ab41873ce4b7389991481311c4b84dcc9b19444239112ef58e07019bf9783667da5f5ca556a9b3f59f8f6dc8ad5918a8b97f64d28309915cbfeff464696f1 -FixedInputDataByteLen = 51 -FixedInputData = b40dd89f67fd56fe5ba69ec0e9d041a7ae85dabba5e25037806f4b1c007342900768e5a4c05bf3915f0e51c54841e44d5b9f15 -KO = 0c3193717516c6f7bb0f5e0135c7df29058a88de0843e479c1b81d9d394f01bf403581768440efcf78d156c221ff506374bced36a3421980b70b2dcef479226997f868cfcb30 - -COUNT=22 -L = 560 -KI = 994093e2eeef5e06aeceb7291b58441c566a5a195c4ca31040dcd8eebe393dfcef6f3b1625fda0a99e87a1cec03b093a5157ac112b8e42e9390c271b8c232c48 -IVlen = 512 -IV = 97fb56e7bc840e7a3780c2353246cacdb9fdc9bf346ab895fd039c1a20004c7a63537fa2b27a6cbb892b3506b7aaeef943c9ff59f4b5613b62f0ae35c3f44899 -FixedInputDataByteLen = 51 -FixedInputData = 74599ea2e515b2b8cb052572e398b0ea012970b82e05189c8b429a73295c51bafc33bedeefec9fbc4336ee2b8db7d05cf39214 -KO = 1e871658d49c9a8228825375e1003f7df5f586d59ba4efe63f0f1f1be3d26abffd7fbdd8d90a01ecd07a9d7e6f15e8ff96c5567afad7f79e76301b69cbdd0ac7fe9d715eb083 - -COUNT=23 -L = 560 -KI = 8cfc12bb251c568c386a9b02f4db82bd02d19b3e8bbad4f45c5f5552da0e3d42dc546b6834a6b311e6837fe91e712b3cbf07496951c1b60e6ee19676a48d6da1 -IVlen = 512 -IV = 90ed58caeb5b2d882ac1bd26c5cd9d7283a81371381817d1887697831ecce1e10a338f5e53ef0cf0128d428d36056f67faf70d15e1e86ad3b02b8800afa2bb9f -FixedInputDataByteLen = 51 -FixedInputData = 273db3a72f0cceead898d1d146dac324ff6b9d5f04dfdfc45f9380bfacac9905bb9aa8f4f89f2c513b3768a8b19b788edfb7f0 -KO = d1a8aa731115c3dfefc0119bc3981b7a69cf99f010bdb5a53d058ad2c63145beefa0d546be9b156a3da1d78b99e8b1789c81beb3770c1729b5e51185e6365f86a730ca4622d4 - -COUNT=24 -L = 560 -KI = 84dfe26d69f188ee20c707d4f999e87d44adc0fb98948fe3b150dcf450e942379a328cfd67de0ae7508d58178b4fa7be8a7b9d3b8e53fa0175e15fe845695579 -IVlen = 512 -IV = 9a3c9cfdb1965cc8562faaf3a732e7337c202643fba288d34c1bd3290362c716e517d75c62a224feffc4d0306a63dd80e4fd196a5ffcf14a8565437a37620c64 -FixedInputDataByteLen = 51 -FixedInputData = b1a5d9c71514cdff29aae7a5e6952625a3e9f09cadde3dab0991e0972d1be38a563e0fc501f65011b1f199f7f25d3d98d62433 -KO = 3fa4250836a0782a49a3d9444679e185c00319d17adc84d8eb4362df4021bbc37baaf8ccba395921724bb34f8a5255a0c9c6496c583456b92923a979c02cc00e0df64959eebe - -COUNT=25 -L = 560 -KI = c97a0f5e794ff2f0ca60c81543d9e3d70dd634392ed6a66877c043fd23180f90f2612540e4fee3e0c0248b3a14cf615eefd24ee4d3cb7c33c59e9b5bdeb57d9e -IVlen = 512 -IV = c700187894cd34a503d2984c1b4947c0797d1fd782bfa38c6610a9b2653e6bb209e802d98a6407244467d4dc4aa6dc176bfd2f9fbfc890ba46c1e5a4b726c476 -FixedInputDataByteLen = 51 -FixedInputData = 66434a8928fcf0ae535c1e783ebf13ee1cdf1ea98c0f28bfc7405588254624d5f739e07842efd2060ee898df93fd5345199cc2 -KO = fe23b4c7eccab03f485b2f202ea5a98f0b5b4940ecd0e8d3c78f6aba4c07d1f7131f066b6379425bccd0a677a4e3be9678d5c115c5b0639085e66ca82054e8691139c00e2b5c - -COUNT=26 -L = 560 -KI = d0ebbd01042b313fb3b1626537c742ae6d53aaa84cbd5d86c1b6cafe87c94771d35ece4a063e3bce1ca3fbf93577ec9d4bc103609ce10fae0753e74befbc72e9 -IVlen = 512 -IV = 66ced5f6526c332f39a0c6c7675df1360e61677370f3b1f22c7dd0412f169d13cef62f2f4cef730a7caa6c1098b8f1d7d63f71ae0edd2d54bcf3586a64a7c65b -FixedInputDataByteLen = 51 -FixedInputData = 224d44076e48e32bb2308fe1462b5d4f53dff57c3016f860e68db1bbe9443284b1a5f7a9f29f23f8462b87e6180b09b27a3493 -KO = 6c7f9015fd9630089c934d98b2e24e64b393ff6ac040a028bb5f6c579b0347c279fab356df6caae2bdd605f61ae8c15ab3c30e3804531389a1f2f9a64b5ce7b4de37789f1a43 - -COUNT=27 -L = 560 -KI = 8aeafe9be9266b64163b048bb2048dfe4bcd18cdfb06b354dcaa1ae47ce462088c71eba2c50d09f9df9a8ac99cb3fccd96f229c4ed045453f291ea79e2a5841d -IVlen = 512 -IV = b99230ce58fb5da2193e2eca3d49eb3691e797e5a43d6c0ee99619b85eaa2b65f6fd759d2c0eeb4411fe43fda7e15f050c99a5560c3f2876538b5cea04a6fdcb -FixedInputDataByteLen = 51 -FixedInputData = 84b3b174f297cd8da79bc92d9787a185bc0a82ee2ef5e2866b4bd74a89c004ac4115e2d5cb51b2718bb71992703c7404f643d6 -KO = 9faeaf5587cbf1c4abc14d004d38e07d87b0e9093509aacaf80270bf6bc23fbdf169de9d4031f1d17ca4f4e2a30226a9e878d9ee585b819ead408445fa376e1bc0ebbc4562e5 - -COUNT=28 -L = 560 -KI = 5730ef5e4547e8da424d18723b3a6e2669bbd33f5f18ac0ef533539b2ce293dde5576d76b6d291bee2b08c6a18113f24754bf479cb96103b630cea233c6a3fb9 -IVlen = 512 -IV = 4c27abfda06b1c8b88848211598b6ad435394870d36a343b980b875f178b512e0ad1ea65055dae3e1d2ece31a7f3d6e2378c10a99a387c48657f8ece8a41a943 -FixedInputDataByteLen = 51 -FixedInputData = e1efe2634ba058ae4d39d635012d0b2ec0bbed893d647d1ea2c15a2f74be8fc68c78422524aa2c74a9141257ea7915dce6cb89 -KO = 3cfd05e87b529cb6ea16a5860d02a84c5dc04379d6d705cd0413de15ca619cc5a7de92d71026e950e90d64b52c30df0dc9cc31aeb95dbb0cd2ab73a40c118b0d227b35b1c7bb - -COUNT=29 -L = 560 -KI = 73d2ac4c9deae198f975d5c44d5ee1f1eb1ea26f0aaaeeec3fa4183d7370ac9946e0b6351a984ce61d5ee5dc0d06ef7648b1d87fcb7545e11d730ed12a0fd0ff -IVlen = 512 -IV = 2626d223211da5d4e87f2c0fd406b3cc132bfd62bce7d6795b4e953bb5bc7f74b0da4ba5beafd2eb69d552b637141091607c5a2d230aaa957010d01466341dbb -FixedInputDataByteLen = 51 -FixedInputData = b1cf04eb7af66a00ab4fbbdb75447b43477a856e042bc337a2141c475bd1ad4861f3bea30cba684fa12ad6733f106f2ac7d6f4 -KO = 6d0746209face899b7bcd16c2ef9632c44a1c48ea3365de78154e8c6bc8a234b45e09fa1e9ab3f19a0e71ea31e5cce9c81b07edcd095216a14d0c549b3570d6377bfbfc515b4 - -COUNT=30 -L = 2400 -KI = 1a206490e92e575843655c332e413088aa0af89684e8b8000dbe5f1bbe07ed1528b3c6c7c782f28aa8e495ac57078b1607fc374bb04b7fb0d383ee8ca6885af1 -IVlen = 512 -IV = c2d4b9b793931694e9504947d6bcfc44869d3153b420794b5cf0c55cd2a6a479cfecdb19b721deaeac8d477f1f80c928051fde69ff4ae6e67ee508cc29d5f20d -FixedInputDataByteLen = 51 -FixedInputData = 515369ecd64319ff5734e179c3667226ab467edfdfaad72e42a5c0c53f05838b3ee97be46dd33e1fcd553cae84362b40aae4cc -KO = f8f557dae9ee235ae60d9eddcc248d6b56bcad66d17030438f0f82c94245ddc666457533745ca53aad61282aa5445033512d1a65c59b33b1f904f0c58bacc0eb9f578338039a174c1b6a3c2a3aced0ccf290a815a4f609ff1c71a69d9fe57f6b828f7a329e2c78bc82f01dcc695d5175593d1f6908bc029dd628ae37affc17b4a616726a7102865a87439080fe22e557cce683f7607b5d028f9be4473746a137e89f1e800cccfa09f4aadb26ed417912f7ccfa1fcc1b7cf50cfaeafc8b9f5560e07a735f2108b27c7a8e6e9901a0ccd8d2eb5a57b1c65de348b56cef07347efe8282151bba49933e2e0af9acba16f68c8e879ac2f9d3ceb0f8bfcd4bfb1eefbdeb5a9b0ab54542acb5dadad4600c1ada98d02cc0f2ff26e77dc108d9267bda0701e883fdaf91fa3c681dc411 - -COUNT=31 -L = 2400 -KI = 808f28124a4ef9f1c665c6e877e94388123cfcd30743f1501daab1c5d867f77c88ddff91dce815d8c94e8b1c8624e2529c7e52f8fd429767002d09a8adef0f82 -IVlen = 512 -IV = ca6f2c35abb6b6dad7ce3745e54dfd7f91e5d8a53c143445c6082db558e9fe976ace88b210e29616f194cbdf2e9b5aef7964eb525998064c0c51985c6536854e -FixedInputDataByteLen = 51 -FixedInputData = c503c5babd6a965d025db9e0fb4c5951c9251aa9ca22319597130de1ef8ecb7950c5514718586b3c568ac6c012c557fce39bd0 -KO = 1c1731ae8a4238e14c063930cd0c36d65429b07505b249e377d03b78ed52bba725ff44c3f7ad647f245651c50d286cdd71d7fda58bc9b1299b820e59391cf065cd603fe446cde5e6906446f78c628d268c3fd09b0e3605bbe17837e7424a0db937a59b1a688c980532e8d58d42f17d035a9be9dd7be9c510485e4dae71934317a3bcf3f17e4e2a2110edb0ab088569b3437d64bbfd4f231e4028f241d6e3b191fd267bd7ccfed74ecaf563b6fe7bacf6ae3963e5a48ecbae8ae117ac2ca6ecb483e8f7c1dfb4fae22e52e4a9e8385ff81821d10e56131160b723b57f21b1dc4c8f553fd9d8940ef45500d26c18b6e41419f81e32027213b23eaeb665e419362deadadda1e9512e80edfb0b531231140b9d7ddd04c26004840c8984894e6a9c370f233d284e003aa5d36bebc0 - -COUNT=32 -L = 2400 -KI = e99c3e30454503e9be9e949950c05a75d7b70b1c209a1d78f3283355ea1e171170e1a23d21dd61a56183360b41463cf198978a59b6175798762a6a703d840458 -IVlen = 512 -IV = 6187137698c9d1166c692121b8c570cca06b3995ca78957ae9818fd186c467109bdaa5c784df9bba0e9e6a8e02a72f3fdd87fd222cb44fde8d3b7d759ced6033 -FixedInputDataByteLen = 51 -FixedInputData = a06031c9451a640a64868111504ca03af04d3e9faf68b3fb53abec1c49374c27399784f2b0431457adfd0a40011cb23d7f6c9e -KO = 76fa22c772ef59783be218b3caaf903bf9ee5d9bc744bcbbe251cc10b5f68d58f17bf2e7d157dd192c43ab54833f8ba823a454db90302c407c9a16f57d17f74dadb6af30610b339297ec419333083b1dfd6ca4f2508d5b49d957ee13ec148c233c99f38c6152737b729aed3254e7c7760f536ce3654cbc65732c89f3017319360762660f8501bfc87ba6b60f3b4080945563c46b68fa87a0911a34eeeba0e899c3bf8525e938aebee9298876845b23ec1997476853b3da7b0ccedfd6eba76d06c3aaef71dbc688bffa5acf70ff43ee5ffaaa31dbdab9223f46c4b13de0dc060bc327b9e90de411447e1f365efb09dd041494f64020cc6fed8b00245685d658865ffe37c0483c9656ca014e864865dc096e53108aa8719be5afbd6001803ceb46634af479140c9f05e5139e5b - -COUNT=33 -L = 2400 -KI = 20b3358c9aad30a254e470f9a0c72825bdffd1e8baae1c8dc81c1d74b7dcd9d4f5afa3425301516bf189ee8c630235c955cdc5d8f36f4823899d951c990f7074 -IVlen = 512 -IV = 7461203bc7e97906cbd500a415348d9f2880e8c57c21bd588a0e9c517567bfeec3788462313a1d3725e3535dd7b616b8537e8731b7f6df1836470dcf4f996cf3 -FixedInputDataByteLen = 51 -FixedInputData = 4b34503902f49517e432f549e9a8a02c4d8c6410225604be877ccfe7c5e195ec63a375eeb8efc3a4c1bc957c9c3db8f1ecad59 -KO = 386d83dfe6ab6ab64301433439c3094bf4ba11337a8253967e57ddde10a67bb84b48bf517253e9572991df33d153646d3bf97d0235ed297d35d78028c9c255fe39ebe3bb127e805d0a10f593f2155e5abbc0965a646b8b4ab3aeb044ef429b96df020dce00080e5c163ddd8f0b68a855337c0d79cad515647fd18604af91d83bdf6736e52dcff20da38c7929acd0dbbb7ed4a2af1851b3ba2e47eb802c1bf76edc51fbb739cd17fd4487de85f522632e66bfa708aa87361549beb1f3893c48e9772f5440aed60fab25ed34f5f264837c0f7953c763ef1dfc49dd13c01a7324c22f456e0d03197dc70ef071200bc28153b2db4a317bbe35ae2de6daa0a6be859f62d0fe841ca11d3154601ffa571bb8b3f112cb8b015a17818903e1cf102a6aaa0f0324ec3eb85e31203a4c22 - -COUNT=34 -L = 2400 -KI = 51463bc76dfd31c7e7c07685dba34ce49309c494335ea8ff79391c2509a1016ec778e625538cfd7897ecd4ca651342f9eb984f2d0f6ecea885aca67a47f3e65e -IVlen = 512 -IV = d0e55d7ed779ca1b426d35cdac8db94dd279a1abd6f9f4a86760c5b2d16df27f870c119e6ff29871297b312608e5e0721e325a2c129cc440d868c0063d122782 -FixedInputDataByteLen = 51 -FixedInputData = 08ce010f5541ee1df6458b7ce34a661d51f935efcdf8f999746e1d2e4d7dae22acbb0069db021300e5fb7f0dee144471f0eaf7 -KO = a31086bfcb5bc7064c3c68296008b26164f9864818be2cfbf78fe439dca9d155178285f92c02c76da9f64fe642d855332e520ef7fff03da4dc0e4398857e8c997c04d1f913cac2884d60cb6e74640955b02e29fb94ec23a4e8880836c330e183a5685a965a0ddf96164cbf00661edfe21d58d3f1269e8e78d1c78e62986a3eadba3b72c04c38da3158bb2a3b7f2ca536be1d162fab5ec42e5ca1eee07dc23951ada9e2f83632678d9499ef9dcac59ba4c92a97d2fd6ede82cf0c106f882b4338ac8dd579a41a6105991fa8cb4c5715eaecd42ff163a0fd3aef61813ec999146935dae51312f0acd45f3a1f291a1afac483206e9d843cc58af3548175395b22991ed58b6c97fa2d755fa4ccdd2ad6e5fd55dcfecbc42fa447d532e510b06e7e5531389014d7f1242a1351f319 - -COUNT=35 -L = 2400 -KI = 6b450148ab88cfd1b1b2ff2acdb7a6c84a0186266922828fbd94e202527bf4fcad2a43be5a9b31c76cb9d0e4896b414cebcdaf0bb7025c318be2d06190d8bc30 -IVlen = 512 -IV = e91c0c8f0780d9524b13104e59511f2cfaead202fef0d2ebbc2a45116403e34f94a1d243beecac88219b68782ec95e0c59f8eeff0e287a2e6d4a8e55f5db2ff4 -FixedInputDataByteLen = 51 -FixedInputData = c68857ba74847e97c48646d4650b31d92f1804ee797f7b22b300cd5c290a5bc9e1858fe630100d3aedc0eb8fb43ac01ff3d4c1 -KO = 3ed69ed3a05de2324faf28e6ce54e257682eda26c7a8b7d2c3686fadd2289705899c49fd71981671fb177c66f6c0c2a8961e84c8bd74b5d25ed1876169f86dbceb8c557f70b2ce4e3d0db0812f83d08192e40e53ede1f84a7b575616b391deb45edef990d79d810c0e09aeebbe48c09b1eb83899bb547153f145a9927ace1d85fcd60cc78687d6eec366b6f0019bf078ddc6aa40df4796e1e185d34a0cb4a8e6ced4b6e66a361fac2093a963f7811e328fdefed11de20bbc11bfc23886b4af73daa8796589a251c32db82282f928165e05e73cab6d5b374899f82fa46ad99e3655f9fe160e2787fcb404df4eb6399b9fd6c7c947f302c2612a4382c7f17b6ac6151dae7f01b7406bd5d314cfcc35e599e4758ffa179bb1432867ea10c456b512b7e87a53bd4d83644dfd4ac3 - -COUNT=36 -L = 2400 -KI = 12db413bbd94125fc15b47122ea0907d625397bcdcab142a25b5e483ef3d8aaca60e7993a8a39b138e8dbf30f3c58b0094a97eec97ce2d6c874942c761f5cb92 -IVlen = 512 -IV = 0a20d027c9ab08110acbd3452add8bbe155e4673d8e5f8a6e5c6f8ee596ba312cb4665223b6f7e45b3fd78fc07f401bdbc44bcd18e52bfe692826c5c63fc3b68 -FixedInputDataByteLen = 51 -FixedInputData = 77fef46aa1c9526f336c4a7414055d3a396bd59338aeb2ecea5dfb911ad2aa61ba3e29570f4884d7b425ca0866fa3d342cbf80 -KO = 3778db20ac4357412543a917a45c4bd2ccf6af4400521ca520ed1a3557c2ae1c1cee6efa8352f307d7f3b670b6eb62926939f5e85c377f861494eeadc024fec948a49703a34b15cb19cb024526a27c57cc0c7f473ded826a85afa95e384aa0f5bedc74310fa53c9cdd4015b715949081e99b015fc91693c75d7c21c9622961d689d5e37bc008d64a4a950e7eae9d7c8be9969edb88950113c1fc3b35e980bd5344e7acd9b0257bafdd57db4bb7ef493c4a81ff1fa815e6f67fbb8f5cb5309ebff3d897203d9031888e47e6a11755638f3d13c9a2fa9cc76280bc21bfab9f7dc8fc6e1d408de1dd40baf951f8c3388711b1391f39ab0ef7cb40a2502e8959953c0e112305adf63e5263312454a68ab9235a8709a0526655af8493fc4f9919a7b1c915ea628d8ef0fbbee38560 - -COUNT=37 -L = 2400 -KI = 79a39c98709a1a8e5c2bd8b38fbaa0abad2272ae3e8b2fe73f8f66134eb5a26e54fbd0200ea8f1246fe9638fd6c0361365cda051da1695857d1f67ee09640650 -IVlen = 512 -IV = e7283b7a97f02508bc7bc274778dd34af4fed10357e5f0cdedfc9718a7c4e3c36a73082057821008cce788c0bca7f04d6846c69ff1a864ba4b2401bec3346064 -FixedInputDataByteLen = 51 -FixedInputData = f655d62ec8fe6d09c9cdff8535ad8a676099f4b1b09db4354b7b45966ec489c8fc210f990d2180801d878c3b68c3ba20b9012f -KO = 48259d917a42525c99a0720aad4ebd95dec8ed289661a5fa449804907f3a125d2376a1cad85e38a3654052d8b62e75fd58e32b3ce3b785e7ef24307bec3be4e2083ba44df2598e4fdb8369b8f6e965df1c93b011347ed17bf947598b9abba40076e0889db4eadbfce1c3b5b45def317814018e660df2bf835278cfe6263aebe7a0853f4358f65573463e4fffe1eabdca25cefc53fca5f3b4a2e23e1d082efc335233d9cb67023959038dcf536115cfdb794c665b5d7851ad61c16c5aa8d21f578a38ff6e845778328b0e9d000cc3f9e81211bb9cd16af720db2eee8ed5393ca61e565d1febde068bf58ccdf645f92c5c9171bf65511ba0fd1c938fa13ee26cf38a99486898deb3d321892c256e4e6f7a52155b896d3c3dd9ae9963b3088e122edc2eddaf46646f7b50de1a8d - -COUNT=38 -L = 2400 -KI = 4ad254960d8ee2ada887e2220e32874c95cdb1e27a72a49dc45984c3a5ea0ffaf94618266f2bbaa0e7553420ff17804c56c394b86fe137c06407467ef0e2ee3c -IVlen = 512 -IV = 8e0d3a76b8c3fee36022cab03a056a12ce9a5002ee09ac007fac642aa65e5242c3ce23d511734c69b1415d01f06e57c7adc69f2934f9b75d7030a335b1f78fb6 -FixedInputDataByteLen = 51 -FixedInputData = 9f56b9d94d835044b8d067260de7d66a3c4f2d3da8e02f98051077b31c056bd92cf1b984bcae47c5db71457bd7c4a3bbba0f33 -KO = 7a8e09256ded009718a47a353f89a6e6fb482892776005d835c4bce8ae8f5d9a422ea33bd2ac9953f487adbe256aac268ac169ff686935a38ba167185ceb780cf787f1cd55dc9864bf2d6fbe2f5f235e16568c66f64a856729868e61b77a0266bc684321c1a2302018683791efbdf0e2e5a64c37cb64af4b290c0f67bafd2c072a0dd4a246e29fdde78cbebaca3aadf55fab9a7e17d39e6f97c57a137b2bf9b4d563184c350194d04eff65675d1b9d63d6bada7b6f2b3896e1ee372788720fc69cf595de0ded7be9634ff5eaf490f47cead82222cc7915eb6c86ea06065dcb54dfc17d1dd3b25d641f25ad9c64532eab7d6b7f25270da606d9a08f5613a27f8234829d16337ff4b3ccdc51cd576e667c71f25981643802732190f6c7c4190883fa5d4ebe866158a244af7236 - -COUNT=39 -L = 2400 -KI = 63c72d757488ea8266a98f8b109199000a95f7bb2b80dff6e814ec0ff775a8db3a1378310e84d5af19c932436c9eb032849029508e9ce5511c2fec8f5a17e247 -IVlen = 512 -IV = e62ebea9c0cb396032509dc00967abb3407302db33b3f9574414abcd0dc48260335455f38d47d2d668282abb9ce1afd2a5a0ad767b5011c6da0d413d000cbbeb -FixedInputDataByteLen = 51 -FixedInputData = a0928123b52172d3b1db46dd31c5e0fd00614238a2158afb5753d8342c7e541219ae6cbea9074194be68f4e8140950ceafe545 -KO = 332e95ea364cd681104b10608333220205d5f2795fcfd492309a7be277497064f0c68e8e3143da87bc068da1db1612105113b0dd12edc13ec44f7444bea229ce86bfd8c424065944bfb83ac32fae2092a88fa67cac5460cc6cfcc4b038fd3e1d93d45eaca7452d5b3e775151ab074846be6ab30b595b4775a31c8452bf5ca28800ae3d554217c66beaa6e30ab8c1286adbea0d9d2c77f05d55943e624081ac91893f42b2f9ea0f8649adc7d86c181b5b1ba3975e91e3521e13233ea20be340135b04d3cf0b8037f76dc096874cd503257de8cdd9e36ad04174fd6cf515699166d9d5ce81382e10d008f1ddb43da0b1ef3543214a05ac0202c2a918061b6bf121f56b7ae557e3a43ed32b12ea84b7e97ce082a0a24b400a5c05138baafc62941d871cb7b6819f35efcf269889 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=24_BITS] - -COUNT=0 -L = 512 -KI = aa49f478e0e974efa86d725c2a71153d79cfba716bb7b3749d5eb962830e9373f8da2fa501c520d49c7b9bd457a7942908ed36c9e71311dd5e13bbeb120cdde5 -IVlen = 512 -IV = 4f3251065e0899d00a723846d96283ec2d1cd0837221b41f2c8001d5ab39ce906d71806090ef00750948892543c7d5b5b5ae9632292abf2f26fa1f4d5629e63d -FixedInputDataByteLen = 51 -FixedInputData = 645d636e6aecab55264030e27ed8ce1432c7b0e79e38ea76576d33010ed3afeb84cbd0485ee6dbfd1c263e221994af739d4ac5 -KO = 8cf16e95c589e19b54570b11bd6ac8ca4227255b18a8a17b56d70d4c896eb5877d369a22e1dea06cf3c925292675eb1739e2c975265a5cd5cc24ba269d2938b3 - -COUNT=1 -L = 512 -KI = 7777f6dbe5404279062269313930bcac3dcc692251e9d17b8926de87a1a7202cf4805a20f616372813d96474feadf8164ff412b8cb6c4d12b50060ebb0ab042e -IVlen = 512 -IV = e229fbfed7a19a98a11d67262a3b5840aa8f26cc5ba95aa8042322c238052f868da8a08528684ca3b594dff172d5453b5e034095f0f898b5eca9f348b841ae1a -FixedInputDataByteLen = 51 -FixedInputData = 3270aec7a168889afdb1cb48e457b18af11b405dea46117b23099c95a45806aa6a40a93b0acffa6b556b60e1c7ed7379c93b96 -KO = c55992bc05302c3d4038504bf1b5fedf693be59b0d6adc576dbf13f666f5e2331160300e64f4b1d45decee17b110a7369432181660d167d926ddd163e3cd1fdd - -COUNT=2 -L = 512 -KI = 5208bcfb3d2890c02dc97ba4d9588fde8568222a2b88824be7a5d1f54cf2948b00224393bfca929d326d265cf332f28c6494e5aae67a68122a30e40a5f2fbe8a -IVlen = 512 -IV = 49a111e4c7c8e3a4c4e593757b7e33b5360174a228746d6fdcbce0db7a5d442572d62baefcae936ac93139a497d1d3447a23368d9d5a4da4d215cf513ba8d35b -FixedInputDataByteLen = 51 -FixedInputData = 6b8a09ec3a20053e9fb7243ba200f47b209449c480183a10dc54ab131befb829e2a1a29301ca20cc3fa82572d6a151522c9b6f -KO = 14dd7dd4523ad5e116fea788267a2a11d7a389d9501713eb20f1683b52187be694b4582da460d4587c1399c1d3ab51db2c1843b3afd9f6ce942d6ddaecd09882 - -COUNT=3 -L = 512 -KI = eed7152515104d5f9678e71aaf2e7b576196ccef55c4e19617e709f9ed341d519c253ed5e5c3413eedce0be36c3ae92383ce9a5bd7fdf353d5016bb6079e59f3 -IVlen = 512 -IV = 3a91089829036a45e6c0e1373af670941e4f49f3e52b5b49dbd3cc257116e2525af3de43f321f5aae279752f99482c02530f93f9f9eababbdd46d93962992eb1 -FixedInputDataByteLen = 51 -FixedInputData = 0dc1f892cdac854fb40e91a9edec5b4eee05d3b2e922e02cc2f99e8728e958d3e4d4c6ac579a6cfee6c8eae14d2f727a7b6cbd -KO = ba486365699e14e26e0c355c00fe0a2c27a42d925d99501fb056d24f474df990a2f6d113737748b18bda2d8913a17a4f4518ec23d132f9cf15fec58fe26d7c9e - -COUNT=4 -L = 512 -KI = 527e29de37141d296ddedc6539d2231d3087405d0d49e07a4674e7bcacdfa2fe35430a1c30a774520b7ab522f66b4929b0626fbbea680320665c55ad4bc21df5 -IVlen = 512 -IV = a8d1860c7c8b0288105c62096b52296fd7c1627a57e73d8f417ef521f70179011a6f648c605226222cdb079220f00ed2555adbeea8dc62aa31ffe902c4a90e20 -FixedInputDataByteLen = 51 -FixedInputData = 64b1619b458d631ee27b04cf63bf4a70432c24055af64175b55ba36b092c9ab2e205d2e90b921d482e245e5ae0937be89e7be3 -KO = 099173c4dcc525251a30d3dd8212298eb580901e7aee302e0ee83394e97f2f4315cfa0778e02d3f8ca41e6a5bf8176e6a58edd19e86ae1e0d5b79711c68d365c - -COUNT=5 -L = 512 -KI = cf48f79ac63ae8b86ab79efa1e0c5cf8b6c04d47f051acc5ff3816dcfa40da2af804cb6d0661854bda6eb6dd4393ac1449b78a608369546ea00ec19b540aac44 -IVlen = 512 -IV = f6afba48c0ff86d35807f9299d55b0b8803423e02441ce075379474ca5375c739238b23dad793200ffc7ca9f9fc22621e05dcda7c7d1770d6acd9ef96b433093 -FixedInputDataByteLen = 51 -FixedInputData = bf7c60cf5daab53c23b64f53e2a930405ce17c0594d71cd71745d6c8f977533c09dfb73cd9685b2aa4d2ba2a5b566df20f5a6a -KO = 56073b3060973111f69faa5eef7c0ed3b9356e140b1e44e91ffaef7ee116872a8aa3938278ba43992741fbd3f8141f20abf9d98bba24eea2aa565ed96bb4dc17 - -COUNT=6 -L = 512 -KI = bbe589ac08ddae919319012e5ccb5fc6df55a6c5d8b99ed795efbd23f808ecfa9d9f31e6906bcf1e8fa4ad5f5cacefd2b685a0199cc79b86b0fb41e64ec0f170 -IVlen = 512 -IV = 1356a9e71c8a5e4e210e923c440a98f36898bf96fc86b7a0db98f3a3d92695103b07ea75d736c0ee8243389bf7ac8a64b727135e5a4776ccf3d048087c809490 -FixedInputDataByteLen = 51 -FixedInputData = 534cfcf0da4818c138186abc56a354038fa557df8b97ca42cd153a47e129136cd468b513a6bf10cac6d7f17be58daf817d9736 -KO = 708166e30c8240218b0fcc3f2a29aa95faa8ab8e86247c35986f283932bc068e7b0fdcdb685448f129329183878f4de55b8ef9b94336b41ba74f50cddd966e72 - -COUNT=7 -L = 512 -KI = ec7183ec48891db45b4f1905bc0d2de2a527b0e87b83efa9b519493ce3ad4cfab9811093d8946bbe63cde4466e3cec5f09fe1a8dde7194a559bafb5aecd7e8b3 -IVlen = 512 -IV = 45f3939518b4f46b1455b39c09699218554e1b84c388b7f832295a5ce08935b52b9e49e8040e9a10b16a17fe397547b556b29fabd824bd290e2fafc786bc0cdb -FixedInputDataByteLen = 51 -FixedInputData = 02b746ba39024079b68e63b54e128ef98a3b01d595ddfd21bf0cede4bdff8b9e5c0949c62b4027ce6658d12b0df840f382ce84 -KO = 92b12ff5b85b090ef862dd8968a85ae7671d8276b7805657fb8c9e59ea474cbf389b542ebc47ef00924940c229f2b71c49b145448f789e10360ee8f1a64818df - -COUNT=8 -L = 512 -KI = f13a2363753d24befd231db70e7e18e448b1f9baae02c552f0cc0e9a2c4a24572f5f7697709e3cf96a01e8e8cab1e6b2783f6a7eae32fe4c4c7ada0186f33399 -IVlen = 512 -IV = 59e69a90225ef5733cffc4f8e0dcfe73e3cc670330fc22841340bf81339e6887b8d0ab7f7c484d49a8cfeb5af87c118d827e0f862c94a78719abbed509e16440 -FixedInputDataByteLen = 51 -FixedInputData = 640b37576d61afec90836669160588a184b9de7243e11609ab2b44ff0906f511260817885d20676268df0659aec63e0001fc2d -KO = 4eef0714709286f3ec8c60ef6879f01fe421c2521db3862c81e2feacf6d44785310e5b3a8683e0819dfedbe7fd459904e74421e27c4394aa7acd71ea57965954 - -COUNT=9 -L = 512 -KI = 5903d4d53a363da55d42f3df1ec440da47851fec5f03dee5bf2e9c6fb5d92fabe7926c05414de0154fc71da8e759db557d722be713c24aeec851d71dc73edda5 -IVlen = 512 -IV = 85cbaa22a06281eec3b4f1fd655d4fa8a9a5241932a6b16e0fd26d431d879f4e2b0b22998001cdc6c6584e3a8de9464ae1f0639121cfc6a8fa68aa31e86180f6 -FixedInputDataByteLen = 51 -FixedInputData = ed12f91d658a1f115a86270480e4eeb9571388a11b4aef6a2ee70210351b99dff5fb25ed11f17ed0e8089bf0732fcb9e71ff59 -KO = 12b184a58c9d1494d227c6d880dd21c0fcce2534030f99e5083cab9eff5b5a546fd702c67335484fc8a6db5bc63b99f3c091113e672442a9ec367defd80aba53 - -COUNT=10 -L = 2048 -KI = 2491239bde597b2e3d5e8547d97b560e0eb0320b415ee1024b37bcd3c0454d53d398d0c4f1ad7b52f6959b699deb302c8823d5bb6d1d05d060186dccdcccb3b7 -IVlen = 512 -IV = 22b48d1be9a6a3de71d4d6c8e58f108ac7a105d1383da8a3e0e8cfbc0928dcc1df5eb0032d016c601f15bbea28fb32fd47e71c741e4b11c66f0ef033689192b5 -FixedInputDataByteLen = 51 -FixedInputData = e2ec081df65e485ad2b79217517b4eb70dba1a327de77ad2ad7704341cdc0b3ef8ff474a03ada7f7e6dd7d68a878efcc3709c1 -KO = 581fb23df5d6853e013bd0fa2ce2de047ab8f168fe37f3d70a149cecaf2dbab513360cd5cf9859594be9fd70b66ef36e1f35fba1fafa0f46179dd05cdfef0ae3d9bfcd1040a9cefb5acf91154ad89c2a8f0aff79dc9255865c34c30df536f6b4503034ca1480bcbd52f3260849569be761cf135d2214167c03a4dbe5556ed80bca5999009a250804a424309e9577f02c7eb914f8f26905d54fdbbef6a2d9c4e39d55a34e747c672e715860671acb3a929a45cfb74d9d945946be2aedb87c4ef7c452b00c7458f0b4e75100bd663b1a96167b13cfe2add945c11a6ef1123df571d0132ba2aaf46fb17884d0d4d86753455ec9286fdfdf52c0006993cce62ed8f2 - -COUNT=11 -L = 2048 -KI = afc99a661b327736746cb4612fc8fe9b1f51738b5e2931bab81797349ff7bd23545c25938e0cd38988cb6da444b255cd24139738d7761061cb9efb569c9e6657 -IVlen = 512 -IV = 2c023b9983ac2310153678338ac5d16ef5e09a3d73521303f2e304510353c09778cfbc8e5c9347b710d8911b1cff4176e3973ab3cec650758a63e27571d2abb7 -FixedInputDataByteLen = 51 -FixedInputData = 4972be8166333c089c6386c66b92e5762e5ead194373bd493e6c62af27db9180766159700d6f351c00ad558fd0dc15db7edf61 -KO = 079b2ba34dbe7aade48633841f50a07c4b7eaf77bae4798c505eda8c325ec9d4829a904ffd20e7029d41e9cf1bbac002f5a5f849a65b8b43bf486825dd74b07367d390d376d3b7c7888e048e5905267d5febb6d04d31853d5d8f8c9675c30781934d9bfa84ace5d72639946efbf30f6d3f36772ea3918d1307a145660713779d9190926169d65f5663be8aa4883663c5c65ce8d29a07c69c1d70aeb986b0dd23bf57e0cfe46195aa13e982c8e66b22cc9a90bf23509f01992cf952a67d698f8187dfd10a69bcf435e1b2051a13dbb1d3758e6bb34f2615fcb2a99f5c78222006d64a59c1947018750ef566ef06d3941192e0001c26902f39e7ba10d3751b1015 - -COUNT=12 -L = 2048 -KI = 18a251d3998ad647d4ada205bf8683b27f2fe75a4c3a1adb31b2af0ca05163ef12618c82a2d77002a1cfae06fedec51c47297039dcedccf1eaeeb2ff9b180d78 -IVlen = 512 -IV = e0a7191ebdfcf80139b24f53ed4977f1c8f3dbe39fafd0a822069c6c3b612e5c063b0655b4d02cb1bf0422692c47e2e1ab1e64c9b327790adc7695061728eeb8 -FixedInputDataByteLen = 51 -FixedInputData = e6dbc0c129fa1c70e11cc9e90fa5afaded261d6f520ee4ad3952370666f7ec7ec8c39b0c70456e3052c31fa30fc8a88c0b4132 -KO = 7f71c9d5ca381ec77ac48c933ffa1f408beacdeee4460e33ecc42e8192c4fa52c9aa7cabaa885714f3cfab619c2ebfbe655bf17f0553d6d044acdb74040b594b034267a381600eb923b25631d154a819bc40ec591e3d1383309e3ea01a7f7a4b57260c656bd2594de3f30c999d8fd566167535953137995e3a48d51032d112932949c56ddfa865f7864d7f70dc3bdc98d6d9511d7807358b29676e22074642f0190669259e82ba9c9fa69706a1870f12ae1dce9add5dc8af9032a9c841d4eb84e3fe478dc7f19395c18e84c2d542d74d74f4bf1dd4095af96b8cffe91902bc9aa8ca20a7c8ec8be7613e8062cc11b7550026ee80da569c16ffe71bd1a99902ef - -COUNT=13 -L = 2048 -KI = 43803dd58d71f1365dbab9a807cbf94e075c85bf18baa25870b199a62f6c2b635c25038063da1a76f626604fc58681dd57c43b9f68b3d401961a090cd0142ca8 -IVlen = 512 -IV = 9a100ac4fbdb3d242d836627a2d74428d0c229009b17aaf45aa2f52c40778ec588aa6c8445b5826444f5995357fa04d606f1c087e2c15a095f8660bb55eb5ad9 -FixedInputDataByteLen = 51 -FixedInputData = b3f6cf07c6f4249f9b6e5198c65ba22bb695457275085f838074caf837eea04946e87ea365ebe0a490d94434ec1c70d3b9bdcd -KO = eb82be1bd1ffd35a260e386f065aedebf34497bcb61d32842ff6b2a351220ca4b97d3def813ee7cdd40a0f66f88ebbf103afb193175e28cc2302b3b24af4213ee532641f8bc37c121b989e16ac787a5a05042e0e1b3843a9f5f2903937bb64b7e40ecf24846ee6f8bd7c00278d62ce03f5e79f0045d8888607805718e3bf110f8d44c24d20c30175f490f399007e899c9c0736382e8b4b6f020ac3d9e3d935e5e9ab7f471e390375bd9f5e8332355c860fa434c5c3474bce21c8c98be09642a9b7b1f2eaa27a22765d3a1bcac849b00acb4823f0bd518c30b1d2f709115082bed299abadee3b0e9170851a0771a17075f113776bb9160e41595137e094e9ee54 - -COUNT=14 -L = 2048 -KI = 5b322399011267db97d399d2e8c843bd967ebec24f9cbe0cfd1d1443f408db785e5ae4b9c9a6b74b5ba5dc01a8f87131ef0931066d877e82e4a561774658d2d2 -IVlen = 512 -IV = 59b6f8bf172a8f5ca43d60f8cbc75c0ca4bef043f8ced211f06cfc91aea8e9ecd9541a87b64432285db947c40f9b3ac7d403de8736c8e4a0fd7e3f20ef6074c2 -FixedInputDataByteLen = 51 -FixedInputData = b676a36f11a624ca59602a51c75444b19d89f17c6443484727fb8aae2060207e85cb09f14248b51ab55dc1d60cbd3b56bd88c6 -KO = b9733bcf22872ddaf69c8f4738bf6e533c0c56d00395e3d96205481eb0ee5aa446a46d7370c682a160584f232abde7b1527656a41aa7e21f43256003afec164659031e3273411e6916683745ebe1fc0f447861d656cc272ab0757fa9f68efdb6c864acace776c98111d39666761e62cdcd8e39999d279b0bc1a7b2e6d76e1e93869820d0e25c67f8fbdc20379614454c12a76734b464c5270f27b3f6de1079821e4c6c2a6453023d6d9e573e58e51d3432a3ef6519bc188d4e0ef621b3749aab5787c869ffaef3b8221b4dee5e77813bc60987f4edc03b9612ea15c271e13c0fb9f72e94ae15e7437e8705bc477c48913f46f40fd6bdaeb90fc9e654aa296a88 - -COUNT=15 -L = 2048 -KI = b4cd73c7d2bcb973fd4bf0a2fdbf5331fa7d7fb7b5895d970e2df31fcbf6dfdcb830c0b7fa585a55d5584278495f4fa7a283723f000f5ce04cb4ff2bc2f37717 -IVlen = 512 -IV = 6482cedc2d12f2ddabc873d42031aae9331e4d46c87baa1b3fb2a6afd975dece0d5be03e2788a82c23117eab370cd528cc5547534c5b14867495c6ebb06ce1ad -FixedInputDataByteLen = 51 -FixedInputData = ed946175005490ca2b44af5a6b99e312487fd705ecf04e1c33d3b55c980857c57d1d96fda6c1d2217062d13c363ea486713dff -KO = d5791613e11ba03967476c023a8351fb158273f140899c23157b79764bb58169763c9346f45eb6718e99aeabd7065e4e58c64bb33d4e991a37f3c33aaaed50f69f767a407a5ecdcd4c3e600b153c6425e6ebe2069b477a55cddf0637b965673da94a8018e1ad8adae100bb869a0aeeae95c14b931e29611d8903bb31e3d404b3cda8afd50b75e4c87b8e1f2a273711b922d8fe1656e6632272020b27967e2ba89b4b7d58473307aec9ccd448b845fa2124618ddf7289eea365b44b0a3bb429da013f5ebc136517109d0c49283f59538d37e8ddb1b8ae290bab35380841fe7a3094db5ba72ce082078cd8c8a15ec39960b499f4a6a14accac52f0da7c1cb939b4 - -COUNT=16 -L = 2048 -KI = 76029c5d69438fafc2f0a727d9ef90bc72d8a7d142c14ea63669aa21fd8b468b982227a5cd2d7242af5722eda0389789f0a7e8d97b0534342707b1c5a059e056 -IVlen = 512 -IV = d9cf5abbe1bda1bb1fe9e431196716d62edc7359f4019f282740958fde76bda4d82e51750eb0b6075e14ead18d0095dfd47e6040cc6ad1885ecf62881e80494b -FixedInputDataByteLen = 51 -FixedInputData = 516395d5d8e5212759652ad602321cbdc31cc9448a371a43e93a8c15892e1c95cb2d782806f87bc9cab05434de35a1de85ee04 -KO = 16e988d2e3934fc9e56e15e2193845409b8b3033bb7048abc1ad94c57e685a7841b1295826bbee71c36c90af547742bbe41bbf6a6b1342de460f420b759ccf6b1b24506822f176fbe8de934e4b117f89d8bb667bd2ff30b04fe3db7fdd15659a19490248485015f0c445763635ceb3203927224eca5f6fb8c6458b8b13d1e936e2440fcdeec06ff0a605c1e4c21f7c099f78cc2b5274e0aa6ea7e5448d411168431436666213c89aa6cf480e4bb3434b58f960dfbff003ef7d9715bb4589360601d0466541393aab1f741cc5a5c42f8f7f498ae70913b1ec641dc0ee747e3c2cfd35c0142594dde7f4d0405b20e3bb7a6a6b99ac878bf1e70c2ba9b16374207e - -COUNT=17 -L = 2048 -KI = d0b17e6d2f7aac2f600ade863101b2776d5d411f61ed27bd29becc8de1e6a58bc5c42fc932022a4eb7a656ec72d171ed81db7af0b3f89f1253e8a2047348da20 -IVlen = 512 -IV = 3863eacdaca29022a14328035e62b5340a02d532fad8b862e88df16a23ddf9ba2c29ec6182eec5c989771676c383cace7b2bbf7bb65058d0788fe4898cdc457a -FixedInputDataByteLen = 51 -FixedInputData = 9448f1a53211a6a8784a85d989e216a093ac84c9c8d8cbe3488acc97d6ba0e74ac2c921e0130e29638f9883a2a56b35c798a30 -KO = 56df3a3a980494255a154b4229f0208eb12c522f247518d21ae6e2f2a5c90406b6609ac728c27fe2f2d901563cbd51dc94410688e7f7e6c3981abad0d0cb3167f33210b8a0fbf78f37b76b74576d995f40855c3356f1d8a440ff38fa91dad5e0c36dfc12a1c401d1cd98b2ee9d6ca34938c5145c697808acb9ea8ecb994150643068638492aae4e92eab09506f3b5f1d6d92a59f8e5d8e3e9142d9c82f0fe31513256f42ae653387b2c0f7237aab46e1288677ef4372c59eac4a932bf20cf8f01977c754811b78361370842a327e44c2770b798bd750d43e41adde4eb06d0d39c32271c79a0b4297878df430b78a5d2c30763a20bc3d55c81402e64041be5374 - -COUNT=18 -L = 2048 -KI = 002baba746a805b35b949fe3cf4af432281d39993888f16584637fbdd9e915e50f10d562bc758b204bff7bb575c35e7c9ef2b14fdda80d8e0e6d3918bdac5e2e -IVlen = 512 -IV = 95ecb405e88cfacd138103ac6111d361d4397335861587ce8cbaeeb7a7fdae6351b0bd3f682ae666755ba17dcd12f067366dcd97c73d99a5b5691d9b5ed1a2b5 -FixedInputDataByteLen = 51 -FixedInputData = 2ed5bd7e59a433e43008fdd7969263e3436b096cb7e2baea754caa7a2b7619e69104cc56bfd5f3edc1ad5f1c119e86b7ea3e22 -KO = ff79f50a990d051ee6ae3fe9373b00b93c30ab5d914425ad8e9b8c2e44b67fe18ddade62925d4a37cfc022dc5094efd2b84ca7c97eb69b821faabf66cf45f2f7bb0a39d39c74acd49c1797b1a26d7c92488af6306b184778442067050cfa76a38f1ea4ec12db139d8fa6ab25167ddda1cfcba73a5b7444df994f3e0d2784f0d93241b70367d15e6d454567ddda043d411aaf2802aedffa69d0f80dd89a78195da8b0cdd59e54b4d4bccc791c379a5b136c180b5e6547319bcfe09061a85c1a784726e711f0ad667884c2ed61854017703e5636af9b0e290d7b769e8866cf4acd5b6e03a97df455f08837a98e91716d61c915ac4707c1eea496dc450fde10941f - -COUNT=19 -L = 2048 -KI = d8515c6e468df94c00248e30fc534026a7eb473273a256a95d369819a281d01c6322b695a2ddeab5512d65587a31062f7dd03253b25e3a62776a600c7cf7d290 -IVlen = 512 -IV = af974fff0ad81ddc18c2ceb91d44394474c582dbc42d5b0bbab93808e9c203f9257a5299e264317c040eda5d40f6b622d33f584f50215a7dbbc09b49cabcd6e3 -FixedInputDataByteLen = 51 -FixedInputData = 2bebf4542fd904ca1a5297f74606e3bfd98cd49b971cc11d9fe7235eab62db94346390696fb9c3f66c5b0f5a07d489f6a25e63 -KO = 5488b88fc581bae406bacb931d37d6b05504c95a23e220d4ab4e4eb8cdffdb67763abcf2562df4d8dbb4d7ef0e7fa272acc501d6d80272461689de2504d747c508f0337ed1b98f74bc19fe86832d1dd98697dc870768f30d14021c5d46c5be51de9065b7e6aaaa7e94c6f21b70cd43e6cda9740c5b615d97af3a9dbd28f92b16d8816cb7ef47e647707ddd38994d56f82173f32e7eef81730d1d7a16bd8597742a69257c5115c822c9b7daac2535c6a873c4cd8549ca4366ce3d12eb64fdf14a12748fbe225ba64ea426554cfc1e9e06f4be1f44f141cdec7c14f9368b17558c8d681644100d0ba952798f1507b601a11087d67c3d7ac351a0cd1dadc58fcaf4 - -COUNT=20 -L = 560 -KI = 369a9eba7ff9c5f295016b50ebc69b62a980dc73acb5b5c715f9dbb2133121fbc2a3439f3c31b3be9bd6a11ae773bb62d973aecb6041d7c63e951125ee1c43f5 -IVlen = 512 -IV = 9988476351d5755b18dd0c299d6ed2df259f1275ea6ee034e8fbaf245a21c91edd448779802d831af22e3d8302664676f3180fb46ad63b2a78d58a8e3d9b72dc -FixedInputDataByteLen = 51 -FixedInputData = 0d902880a43c457a60dec2ab9ac7ebaa6cc8c372da08059bb5cafb36724c736e0f3c529b97c4d0685a94af666c8145eab42b98 -KO = 66ca3cfc4b94903b4323a702a2dfad5fb2b5b21df6b08032d42298647091dae66084f28ce257901a226449745ebd2eed00e97824f2311aac2a7ab84b8320868b216f4dd7b4cf - -COUNT=21 -L = 560 -KI = 25c21d314f6db0a6bb63397c6d68b747e8288203437546a5b04f04da593fa217e10311b66e4d1c24db2f667993f68274343473879cdfabcdd677e403833fa4e4 -IVlen = 512 -IV = 03437927d5e281b8406e7b6c31459fc8d05fb5459a9cfd0f1cdb8b1bde07a248dd1f48209efc9f8d33ffd699aa5f177bcf8cde3c852806a79350cc87d68bdb33 -FixedInputDataByteLen = 51 -FixedInputData = ef2a66d91f397bf8e381b3f81dab60102ad5790c40adc56abfa7aeeb9f53ff94f6e56b6fa1ebcdbfd84a7710f4bdb06fd297e1 -KO = 8f7dcdf5bed6e653c0986b825604392587229ccf7b53c29b4e1d5170a12f31a2cdd739bba437d933c0b1ba0769e94cf241980667dd2e5509ecdf12a08ebff705c4febf3e658e - -COUNT=22 -L = 560 -KI = 8064afa59971c475dd344eabfd13d11905e2fc7b2792647c47aa35d4b016fc35063c0e468657f2f006837903da538c937fe04dfa6b7030f02e118a190c85d082 -IVlen = 512 -IV = 9142f8b711a81077b11e635a93c96066cb5de24361251e4409adf903bc0a745b30556f267b4686e67a588187892a52c88c7dbb79d260f6c378b87e71f753072c -FixedInputDataByteLen = 51 -FixedInputData = 6260611c747cf79b77712581e241fe19dc4be181f940cf43e42c78ec30e5478ce3746eb7162ae4a2587dc6913b0a55d282cbb6 -KO = 06b726a8aac48759c5e9759f7686df946e1e0047256c6132cb7110f486f0c63a11f390bf49c7947ee200fea57f1723f6ae2f67c2d881a22c84a1cce580b71eed376cfd3fb554 - -COUNT=23 -L = 560 -KI = 9f7b9e36083c64adc6e00c5addbdc0ba3ce1d093d31fed381065c15bc60439a11707b25a99b4b11332ee62d9d41b22a5e2560d3bcdde477a1ff720ca58c2bb05 -IVlen = 512 -IV = 20205edda1a7e526bb0be870d5af62eb5c39146b25e2c2b77b49e8dfc5c9cd4a9aa66b788e911547ea6309d958b18c847fc1c9ffc4ee0f6e34ef6a9d2119bc0b -FixedInputDataByteLen = 51 -FixedInputData = 623b6cfd1ea3822ac2ec014ffb83bfea2453509fa7ebb8dfe173e78bd5dab7b5fb03786dc3c1277d9e0c425c916f037d564bb9 -KO = 912ef55d24b14895af2da7e47773f1c6e37d086f83367a5340aa53817665a72391a953491ceab98d7c911a97db942f9537bdda1d89378b791dc7b981882a681ed069af2003dd - -COUNT=24 -L = 560 -KI = 50cdf1cb1886bf3b22b5bb6c305e96bea632d9301854ac3349a2bc766a1751fd540243b172afe9663f0e78d56f5635236e7009bed0e6625b1baf24ce72a4d0bf -IVlen = 512 -IV = 9d4a84d6b1bfc8e5b3c2538913fc021b31437f67288dea037ba91129f899802d32d25c55046cf7d96e6982a31eb4ac023539f68f5a37704a4cb5623a93903662 -FixedInputDataByteLen = 51 -FixedInputData = ffe6090b469a187e7ecc02cfb9352e0e8d7dc276eae562aecbd747234e041ce5251b74cb27d8251dcbe0257bdd99b079339bad -KO = b56888730ee110dd833ec1adba08ed9f6059c440906d40cf753e037dfcb0b9b9e6cab8c96a63512a82923a3448148476a989332cb2665c3fc8d64ee145dd96006729092d31ee - -COUNT=25 -L = 560 -KI = b12857a375296f5b7364443ebfc01e2c9b97061acfb77d83c8740fde5c2353d7f8037d49a342c959a60ff86e3868c73a0b1a70186d8325bb8f628ee854336691 -IVlen = 512 -IV = 45ee0620585f70240c2a58ae88d3823e6a26ee906e1f350173fbfb21a00825aafa26482359dddb125febed5c56d96d25ccab06d39a76665ed625bfe8759ebcad -FixedInputDataByteLen = 51 -FixedInputData = 2722860da467082a328bb04baed198dc6b3b6347ecd88fa73f20c21402b9a98ac8a95da70f9178ba0096e3b87916725daef7c7 -KO = d3396d920d5d31df7720284c37f2b2d33ac39b114acee6324ea612c62fed2cfa16549fd03ab13a16b1107fd4ad31fa4f124efada8dcfb82093e82f3c6c7766bae8eedf1289d0 - -COUNT=26 -L = 560 -KI = 3431e9d83d885a8217c1b9bb463b1595bceb2e1c67c17996eb68fa26868d8d278b5958411233f6950d2a52eadcc882727ac70bcc7f99afb825233c8c5daa7d7c -IVlen = 512 -IV = 0214069087d0530513495df7d080a82062b27d1a1a76311805aa9136e39294c5d0e48b28a951c1b6951c3ae6e981fd8c39231eed3cd910e5dd511bd8ac8d7fbf -FixedInputDataByteLen = 51 -FixedInputData = 44b96cf8526978dfc9c69d0353caa72eece017b6cefc9b8dc9b8b9b34f9f1cc7af7e512261fc4464aa71dfbef39eedceac5c1b -KO = c8ffad2a389ac8d7a0a9d5695d3be49c4e712d3639996f6bd105298d7b1afbc332cce89501468168b80c139b778363eee598ba4216faad9ba5b9c1333b3eb9a8905fc07289d5 - -COUNT=27 -L = 560 -KI = 4dec7e99314a3800cbb29590ae86d348f6de9f1ec2fe92c89df56a2e938822d550a46635b1da1e73d30299a46cfb69dfed3bdcea53b5994c1fe14656fd995af0 -IVlen = 512 -IV = 7faeaf06b1f195de194b8001462b6679693b6a82227b2190c00e3584262b3365207bb6632c6095015bd59ed8753cce6228859a177b97c70668881aed88ead472 -FixedInputDataByteLen = 51 -FixedInputData = 31dee71ebe3522a45803f30c037013a64f2743a964f55d4ddf2eacdb987c83c3284274f371a5c8fff7927c90af928ed971478b -KO = ec422d906d6862b36863f64ff8612dfbaa26f8127bcd47c7fa615fcba5475500b4677ec506f134db2eb6d2d72f6ec03afaa998b7c4eef96ca0d33345900b0c25907a9ec689fc - -COUNT=28 -L = 560 -KI = 27e99f3f3b3633c919da0b857ec24a12d82080d927421a7a89df0d325ad2379b84718250ab0f5a150b9ff46567d8f700079fb8673a61aa07f57621481137fd47 -IVlen = 512 -IV = 255c697be23a288434b9e5966d39e5acaf0e2a594808899577585838471b80ec2aaca531b3bba92cfa97c6878117ac7bdbeaf35d234bbf7323841a25ff31f8a7 -FixedInputDataByteLen = 51 -FixedInputData = d99e3b590d62f1fbe9f62df4d2c24620c62afd3d7dcdf337a5a31e698e6746ce542ed3530840ada4991af4047831ece754ab21 -KO = 8fb53e47ebeaefc200708f85e9d78a9ee0bfa6d77f4f216ba97c92dde119ae9eb9564e3a53897a708b2d29abfb783536d0f5741ca34c93502c371580bda7badfa47d36d1807f - -COUNT=29 -L = 560 -KI = bac574ed2cba2bed3ad0fbf361eeb8270f2bca0d557f4f61c7641da0d70f9c3c6556ed55e1944c6e7a7460beede0e7d5d74ff2e1f056eb6fb8b284a63cd570ba -IVlen = 512 -IV = 8730c64c5b989e31dd0e35e0647a9ee3e92e07d5c7c82189ecaa892f20b151dc01516661aa5e67578e7ff2bd3bccb7fc605572fa7312dccf4b948d9dd76bd14d -FixedInputDataByteLen = 51 -FixedInputData = cc77b29b0513a23a2c274756f878f078e642f099d743500db3974ead22007c124b96771126be3419efcdb822d9b367dd5516a8 -KO = 8a43fe642c22529f1808389fa2b03664685fffa7551569425a42aedff10fd4cfc40a066c0ba36d8e02318eab25d24ed28b867d24bcffa9f675e70cbcf13e376ba7b715425e5b - -COUNT=30 -L = 2400 -KI = c61f81c8f8a3dbe6a35d2d06ccac5441d0f8134320f00949ad2e06cf06e2f15a722bea29b096b2bf13124212acdcac23bbac38905769abdaccdb5cf11c84465d -IVlen = 512 -IV = a9229d9025df769b958c1d7daa750eb29ebeeb70cf6d4ffc94b896f2e5fbe2124167d9596d979f36493a927dd45abc4616d001f35a1c067a43f6234ab4ffe445 -FixedInputDataByteLen = 51 -FixedInputData = 3f9a6ea40410316a2a1a9af597d2b1749e8feeb19a160dd10540f15802df345e6b2d0f0b7c39c70f596f116e78441e2b2dc9a8 -KO = bed119885f9066fdb65d55763d6739d5f9a61f00c587815e9af74c52635d340c8aafe5a9f6bb6f33a87c418953d9f53b6c94badc5e1740da80c66057511be928fcc981dcffc94e5cbdb48662a9e42299111c1a1f9557071a00d932d27763d8a8690d2f3bf28e5095c5702695cbd6c9193ff9510a5f3df1852d88cc9d95737cd99b07a2ec65618baaccc3480557a190574903b72bbbf5ee83d23a736fee26050e790ec4e13af21e60d39eb40892f9589aa647f07cde7688ac83575def3b041d42ea419201fe7833b7fce1980f7254df3c33674e190e4a790bac2a4f05f8faa5ad9549f55c45165a98b6e6d8cc530650a897759d00ba4a8a6a75e341a609f2f00095b3eb94aa335d2f19e1d2a6b277b632a24bef908084b799c691b47c03e12d994a9d657d9c4d88e1a4e294f3 - -COUNT=31 -L = 2400 -KI = 1d31aab6eb09e8525b97cc1c41d8ae22ba878a117c355ad3387c9750a873f5391c3d45fb9ed085328364c982e6ce0bc9e171b16d8f3948ef7881e61a554bcf53 -IVlen = 512 -IV = db8e2f6330eb32e1e72a89e8084f5229ccf2640ac2269c1fe4fb2fb39080280626e46b2e712ad0acd8bc2d819242b5d5d7ec9d9981b6df4dc739519b3aa33d6a -FixedInputDataByteLen = 51 -FixedInputData = c730e85043c1929b183fdebc835946180e0496d2a9928c8929e3790fb30110bc98454f4c6384f7ad6c6e2b8c699286754bf6f8 -KO = 0579852ff70d8aaa11722db0ad4d2111f98b1ff84df73bacb065970f5e778524303288b1be3d214f4bc8e4e66fa417435c5264db846886d336e7005804826b0bcbde9674e5a90a4d544050b7d4aaa572ba3d954761ec55ba836c6df7589b245fe04bdf157542fa3f303f94d83f7addd146d66eae27f5be27d16005d1f126ce351ed2511d6065133738951bb341654e2562428d13548dd1033918a89bcc0209b641148217aac0ee29b625cf1431259768d861bee2922c95a96317765d76ebc0ec565019f54064c5b4ebb2721c04fa983be346a247e961bb1054fc1a5535d66c060f5a16d84201f75c99f31e4f3cddeb7c4f8941cff1e849529ec44da8b6c0b8752bfe1b2c02316e8b1596ca34fd7b23e463c40ac30ba0c9ad021a00e6dc79bc79b6d3053e8bdb2f42a9c1e85e - -COUNT=32 -L = 2400 -KI = 20f7f4c2d53e8be8c1cbba0af51f5cf1e410f1e7531a67dc3d985349a2216a0345d80ce9a077719b4146bf86cc34761c611a4ad1a8047385358fe4e17bd77ad9 -IVlen = 512 -IV = f837b263c2c7056835847a5c41af96a6ffc2e5a75ad1bf38c778e9a9dbff3279d2fb61fb95252ad45041b022931328fc9416e166f44748c98c6ee56ff61e3a5a -FixedInputDataByteLen = 51 -FixedInputData = 4e990566512eaccb396b2d3253baff94a58a1d5b14807e9c78416f41f092d08cad195cf5f56bc6232715b14422a089c71ac548 -KO = d7104273adbe70ee458e4e71a7242fc176ce4089a70f0b5d02565f1b41a4d0eaf184f84a0c94be405ebce9e1649b41c7327480fd15c9881c9a78a4c9b38fd27a71a6c24931952cc9366a7812672b296d5aa205c56a93df29c0911c8c5603685afb52f2912827132b2b0caf610072be7729d520d581d2bb8c5361e8ea40169caf76e953be6d5894746a158c782a3b8564a9e1a0343be2ce356bad9a46a0f274d4b3331c9e24eb93afd5b37ba0bbb9ba40c76bd900def74a4a79b2e3f8b206cbe610950bb034582b21d51dcce205ff41e9024118b11161f3c323eed796e098c96e9c790c7aa22fe47b3a75bfac866e9d20e1356bd301240c4f970c4e2a4dae29d030ca4739efcdac2a805dad58736f1f38506a9f13ab8f30f2bc0ab2554dd8c412c3cf059323bea427fc2f607d - -COUNT=33 -L = 2400 -KI = 17d59e63461708e302fe84f8d038ed7470cf1bc95e1477c3e09cc437f72aea0255d542ca7ede52084bef080def5e1efd0558e81217e0dfe8fc7048925e97fbb1 -IVlen = 512 -IV = 04a6a3b53b509fdbccbebfcfccc4bcd754e5c9f2a1714ccc6d4798f1708365b2471321340b4bc9e23c3d735f4ef58dd7cb0e780d3286f01fe9ad729171e2cf83 -FixedInputDataByteLen = 51 -FixedInputData = b8922334794e68214975a101c301e9f16f482eb76fafe5db77fbc5ea4fe15405254baed7f492e2756de004e28b7685b51bb23a -KO = 7829d60f1a71cd36ef86b0e2a8bdb1e1ae950254b8b56907729aa668b5b6668423375cf94f8ac9d632f979c292ce27dbd139ea260150973a917a5029f63c41d8812d06287074276a9ec503173feca4b1d0d433ccc17e99ef44ad37dff82bdad3e99d957d88dbedaff3b88736319c8aca782ba055572461a3c3ebf8e5efd791c5ef79ff6d132fbfb8866171734f0ba8ce0a7b6c6c9c94c438af5afbf8d006ed445c78f190afe51cb82b9f903a63f99872460fa4844b3b18661c250bae31aa8031c48c2d770a3c146b413239dd0f6fd1290a65df36d937f8c0a339b28b47110bed0097f7e0500e7edbc962d51f63cc7a88a14cc5ddd859137cff1e6887fd04561eabcb9975f84e90d83c7c57356bc6ee732b08ee0ccd3ea3295176e36c02f2366a4dcc9c402d70f4569d2a0533 - -COUNT=34 -L = 2400 -KI = dca4a2fab2ac6ee1e0d2b0348c4c5de42cd88c1e80270a69999f3f58502bdbe018edc17aea36f67e455c37f58fb4de17f8e096d54b8e8995912f04bb2592cd6a -IVlen = 512 -IV = de14c8011164ab6624e21ca606c5883b0e1e41bf6252207e3219efad669e8670f3a18b5a6ce9e77cd9e945dc40d67d8650e7996919127158ec88ce46848e4e5b -FixedInputDataByteLen = 51 -FixedInputData = 23fa6a0f5648ac3d8c53a4c492815f7de35634662ec9122ba8da3707d5be7e17ac068e43d84e8fbdbd8fe872d800196e049ca6 -KO = 3252abe8acda2252bb9155933696cc9b1f1d0b9f4cfbba12309bc7087e43f76d9890861c4704098b45ac223022a7e89874430eecd7f671b1d7664242df9e6f876b99cbf4453524f575ef2d452b87ab3d48d20702dd32c0c2992ba49289cb28b16df550b9b3f14d1afaa3c3dcb81b5bb123025a21f740d979d5b459d9bb0898750b7da5313f4d02a46b9c9a2e30badadb670702d341da1a31b3dcc5263623e7a0ebe4a31747e9fdfe611e77e8b2c6ce5f2dec65ef149e27a7f69c4fbf74a4585b38c17ddf163a2fe8502cf9a9cdaa4d3f8bcc3fcf1c1694dc3241e032afb64167888f4015ceceee1a21318bcdf0049511d5b2764442cde4d4f39b9acaa188144852251f426d0ab8a8d2e88ee0a4abf7d0f520f71b5b89fd699de591dc4d5be001ea88e309ff33266ce1eb9d8e - -COUNT=35 -L = 2400 -KI = f6a0a4600d2f87c24439076143a971736d5bea0b24d31e02bd4645fe961dbeb04bf1fa1b935518975a10fd2bd24429be3f4cbdb6c1c22647a4442e2f03a828ee -IVlen = 512 -IV = 07fa50308ce02b16d178d8390954ebb05bcc03233e7e1bfa7d6fce80b68c321102332ce5d69f88661adc0a22813d7d4fd5046651b21c068854cb42f09857dcc4 -FixedInputDataByteLen = 51 -FixedInputData = 6a7450ffd79e4eded9d18e72eabc63c7c83a75552df3b5b150b0dbd67f416c7cb367e88137f321970d3b8b7b23ef77f9c19f29 -KO = 081e683ece1c68762ea5616f3bb7d1e6e630f8e7d4109cf7582c5235d835d3b1d89d8654109338528f25c507044a71bca4d225a9de6add66e3a7a65ffb25e0503f490541b82ed86d5c8bfb711df2cd55d0390bdf547d8903d55e9c9f1e3925aa1ff3fba017507e8896024baedbddc8eaf3c176bbe99ced207ddc6cd2302f7c1d36a135ae572f8d21c31c565e576cab9238adef51846c5c5aac264fcb7f2705f575a813e52d2f0e2afc19a40ce89028e9d04a32294e4e37b8b87f5b86b5d22c77c27ffb38422f1b50079216cf08e627c952a9b0c178def65189ea83e2cd26574a0e2dac4ee7492118f4bb1581bb51c0eae081707cbcc79c3d47fd1b3c142544f17f46e1206dcc2f1681e96f706c03dd18f33c1082579f74c68921fe814ff9e073cf934b16b420f91a9d425663 - -COUNT=36 -L = 2400 -KI = 97084b3afa3b00102dfe1af5fce536133fee85686d43c52e54a54f0162a30fce95268936708145be3c8dcaba06c5f4e0900181eb42cecdaf6c52417a2fb6f31f -IVlen = 512 -IV = a8dca11414c6427ea067173b8fc451088f0f6781178eb122748fcaa735516b3f24cd2c2b178beec5ba6072e2999d3ba202f7222df47ded76e1c7d9523bfe899c -FixedInputDataByteLen = 51 -FixedInputData = 314b4f6e26ae1a2e189eb8a351518726fb2090a011437ee52743c91c13ce99c133bde796717e1a76b78eb876a37976e28bd6e7 -KO = cbd0fa9e679e5a2aaef6d4641e70852407791db526532e0c908b8a697fa5d7d88332f2c7030bcfc10ad1aa2744f4c9a50f55f050c1fd9120eda4ad63e6e263cd52cc0051d3f6ba7079ee0fe7bba5fa9adf3e9be510ced4848ad9c0db1d1124f7be670e612e850f4bb7fa7f4e838996a6b2bb6fb62fa045a0e42302d36aa08eaa054cc9c0aa9f63e179f1db817eaaaab63ecdfc464a85a7036313e5eb2aa46ac45c986c68cec2890c95b5e8c884fc21ea1517e3699aaf79e0f53d6af6c4f01a6bc1b7cd39538f845e03da93d8ca55272f41fedbb0dbb472fbd743e442bf305702a917e644d35985bf879f7c1b2b9ac41502311a6f2c835fa8dfa705736001a05709e0176ef7456e1e8a1e6d6d4e0d7f503ed8f4ca5d5b34d0e94ece987758b4b413aa971f7bbaa542ace7f8c5 - -COUNT=37 -L = 2400 -KI = 159db7ea672b88338f242ea902a1587269159b2efc9cc87ce36959919b9e6f374bbba604b3e737dd06035536a5ec3069bdcc30564779f40e1459809c0fd8e7ba -IVlen = 512 -IV = 26b48dde923a1aaf2392dc4e501dfb9ad062986ae1503d403fe51ef5ca63794f1f9b3a1de59c15cc2789ecc6bbc4b639d7fa13002597164fb119afc5a0cf9134 -FixedInputDataByteLen = 51 -FixedInputData = f7d2a806acccdf22a3851870681756856c3c88091560718b1859eb27b3f313c2c0162314407590b9ea11327e8f7bf92708cbac -KO = dca9ffd626e2e6411f1bf7061b7dd5ee5ee1bbfbd6413431a7f8a2a121265889dd995f369225a2d77b5a4cd9d1cd2b215f36f25216145dde3986184b31a97bcdf4882c5989463c8281ce84992c25795b725eee799f0a12a892f788b1b62c66ec23a5f0909d18d0abfd3a5820d4162c16998936c236c1c5555906e896c151c12d3253b750a7d0753e5f386015b12acb9318d15f8c960a742792127f55aa6eff7b1a315f67193f72ebf6767c22d56ff341146ca424a2b7bb432c9a2a3609698bdc46f48ad2765467d51fe24366a26f15cd67a103e2366cf81c5f1ee0c90c6b9e02b26f5a7af86df192b0ff4c225dca5e9bfee9149cefbb0f92dab3f74aa77ebf95de8d684d8ee32a477a91d7afc2740050b435392566e07b14ff52e1abaa0baf6dec66888d477ad719153fdc5f - -COUNT=38 -L = 2400 -KI = ef30ed13accd0e7cd7051358a1d99fa4cf12aea61c74161b524251fa312a2653367019246d76f0386e506d77a3803f3e2a411702ec28b774735e54ad4dc574e0 -IVlen = 512 -IV = aab40f1301d492775e6f073982351d7154e2da64fb1123436bc89f400ee6edfc824f2b679fc45e998a625d279a18ad479b2e828a267a2a725fcfa9fa110ee12c -FixedInputDataByteLen = 51 -FixedInputData = 194e523129615e903b165e78767dadefdf134c1851819f1b93ec096c441cc0a92c150242649850f68f9dd7ffef7d12d014fac0 -KO = c847c133d96164d8df7a8a371cec469cb1cb43a4845fdab361d95e8a6e8905c18123c75401e3d826586d07d376b6e7fbb469e277c5ffa7744b99eedb299d33833fa965db0bc98c89500628d6d7446f401761860bb46e17cd0e7102e3159fe74fad7ef76326f8190531b75a0065776d0d7eca46cb6cfc828b345ba63d100b94e02a59f76159e8c243b0f4fc3cfe401fa82a71ba329df66c5b0ceff01c9cd61a10b9bdeab3cd22887887a15d86e0982a047104561ca99182057054ac2c1d696ffb2f521da9bd694ac26041c78e0f2f3d4ca8efe8e3134d4edc5b70f8d0d947dcd4018eb534f0bd3ae879c0d909aae69f8ee4cb12a54e7727a7db827aa72a84b9ffe8571aa4ba27c90d34b838715092a26d791ca610f352f9aa88b62493b5d87554c8ae9ee1c41185e0e1b8f323 - -COUNT=39 -L = 2400 -KI = 555e44c5b3f93d64660a5ff9241f16bdb180fb768fbf2ea23011b05189dde0e0f43b937c692660d98a113c895ba3fd975a18c62d65b07274b78ef640907ea20e -IVlen = 512 -IV = 2ba98a45f92be2ac00097e79a15f9c94e78201d61bb601fb47ac21317449eb8cdb65ba5d432229181ef9ccae3c8ed20da3646e93521717f3c865edae220d92b1 -FixedInputDataByteLen = 51 -FixedInputData = 901b01b23303f50d227d593fc66d0e3953f223618b9de144560170cb8049a782cb222e9e3f64f899712b54e63ee4a3370236e8 -KO = be8cf1ca958daeef42ef0b3cd29809bd170a688f6f570aabc2ed7ac7a6d82269cd33a0cb87dfa84ec2296fba93c08c88bf105a25aec45d7a5b840f591cfe9220c2f4851814eab070c96f5244515b96eeddfb5367a5bc168e269888e5ecdeafc551d629dbb96aaf96db3a019595a570185f52bb0c1ade3fa210cdd33a67ff21efc7c91a3a53654cb07a0e1ebf7aadf468abb7ece87a551d2ec4f7b8b3926cfa1d6ea198771eae2f50ae25374e58892b678311e0bae85d080fe15c78cbf71f9d797bc01c77a16b2ee86b1aa05676d5a2d1d1d32c565a6094509f5ad590bd5453abdd2c0186b0cb870cf4265e6e75f03dd2b7fcbf36cb97228400b4736ea50742e4e0f26f7748699af38a988b0654acb5f3ecbb5bb0c677605743805e547307cbad6a2b39eeebbde075d1d68c66 - -[PRF=HMAC_SHA512] -[CTRLOCATION=AFTER_FIXED] -[RLEN=32_BITS] - -COUNT=0 -L = 512 -KI = fbcf9b7b735b8676cc10691c7601563ec7f4b01914f6f46dfb32c1d4086c32dd6e02bc0883c655cc89a89f66e2fafcb7c591a792831d75c2440107f86549a2f0 -IVlen = 512 -IV = 6f68674090a820be3606272a36120e11de557ab794ad3e6f5d9b8c1b892cc29fc96a9ccaf3f5e3f1ca0fe8bd5df33e89a79b31dc04a6c73c2575dfd527c1b046 -FixedInputDataByteLen = 51 -FixedInputData = 44dacf2b3dc504f7ae55eee260646461f2a88c5f36dcd8393e3c3f79ce401315d7d66c7f0174576679db1aba3bf57cd742d0d1 -KO = 6d257eebfaa69b6e1d5fd7c360ea9e3d85a4f84c0d62713a0df1d0ff015956f2c3c8f8219e820f09360b0d267001787bdcc9264603338b032598d4afbe514bf3 - -COUNT=1 -L = 512 -KI = 38e46b585503697c0b01f0a34694be8cb7405c2f2771d850d2b29a023cad187b74aa08a025d43d170fd6475ce1171da6ee612ab6919395027676351c834a24c3 -IVlen = 512 -IV = 9859e4b6a84e42003d30eec64c55479dc35a3b58a140022e9a8a1611895a72d7d3fa798805dae55b04e4dbabdcf8c0f671d6d39c93e28acdaee64f57ff670527 -FixedInputDataByteLen = 51 -FixedInputData = 4fe35af7bdfec430f976c066e474c2d3a538691bab5d18f06de41de4b49a9570f63a18a3138dc2394f6c2c12fc6002e3bd2edb -KO = 60ece78805c9843839c77afc7d320ff59b32dbe05159de8ab6e4b7d119d6b88d199105dedf321db7a2a57ebcabd4fa85b9bff6ec804f0c0538bcf36b2f41bbd3 - -COUNT=2 -L = 512 -KI = a4d18f3e9029a901596f6ffeb9e280fdd1c3c53edbaff94828e67c1f7147baf12900b05f4473988d17e43502eab7d023fbbeb6e5741a9ce1b210c9286be65395 -IVlen = 512 -IV = ded7765e668898c7dbb803b3dd12139b5d543aefd440d0462ed3c8e563e3db74c0044e35c314b2f3e462264446eab1ad63202961b8f688ed4736658b3cc5b5cc -FixedInputDataByteLen = 51 -FixedInputData = 40bf60c23786bf9be1aaf23f4d158cad32d9c56e94a739a3675a91a7437d36eee9dad6316b457e2e8d697dca12365244c71c0a -KO = e203b3d125e39ff7e56b4657a305fe77ccd211def0062b9228458715ba741750ef705af3065494e2c279b90d258459eb8dcb9d5f47eeeea08f2e8fd89da7f96f - -COUNT=3 -L = 512 -KI = 0c4c7ffbe704b39236002cb5e00d210bcb91a09cef2cbf9d047f38a663b18b743d0276127c0e3d0a4fb6b3eb55f61d637102216a5b289a3af3739916c95b933e -IVlen = 512 -IV = 6e11f90f7ae0e231d10aaf0b849bba5bfb318ab4dad69de4682a382af7a54213e173075a11509ea3a1dd096261c4125afaa7425012a61d2c555a09085a7e4e2b -FixedInputDataByteLen = 51 -FixedInputData = cff539c3e96a989c5d76d6c72daed47109160b36e8d8660dbbcbef02b2a9c35f79d5bcac1c064bd60d8e42f0d084eb89abd051 -KO = e7139edb483ab95898697beb24040863407d379c5fcf1010184488b99eac8cd3b2468c7841014f18430a7631ae7ac9db97da47a4fb0bfe63111877a4e948f65a - -COUNT=4 -L = 512 -KI = 26a93ebac614fc403c3d260965c0dc53b80fb6985e0a935d14f15a2f625c6f8dede6e5b2f8b2214e7a37f4d32a370a7cd89f0c04a9a061ab3e573eea4d4155f4 -IVlen = 512 -IV = e807a869f7683a9c985beb955442daa556b7db30c5fd3267f1fb2b0b10e8da6174e6acb7e907f4354059c33c50c308ba8588dd14b872c7d0491baf482f4393f0 -FixedInputDataByteLen = 51 -FixedInputData = 7abd9031fc728293e7a8b2d0c44aade3254ff89fe0268bdf94033c8b2aa35ea604bc6abc6b77e5732ce5bd25af4cac84f23834 -KO = ba13fab858862e4b2de38fdc5c8f636dadbc41dfb0f9bb44ee80c3c48070a631cc5090f64a76f839d13c7ad9664d46f2f6a0cc735d558c6cf3b2bee70d3a0734 - -COUNT=5 -L = 512 -KI = 837e9a7002f622964accb5e026e73c3af6c6df4f089a113f6811d6c0b52ded0f710b0336a40d7995a9e7089dd71febcb19a4ab351be2e371174a9b7c4373b9e1 -IVlen = 512 -IV = 99ab884ee3f78121d2027e57518c9da34a49e8de1c8368b906c5e26d60019eab13883227c4b7b65f7070a329792829815417e2cdc4f0b9628e474b4b03b71b15 -FixedInputDataByteLen = 51 -FixedInputData = 42d1ccde43d007034d74039824c2d949262ea71a19d4cee4ae90ceb5fa2bcaea8b0e25b77babe271409818d2aad95aaf00d0f7 -KO = 2c69cb6a330a00df672a193005555b2b65da74eda4eb966e9c665ed089d9dfd4c5aeb299057f5b6788fcc32e55d1c9c88dcbdcd30647cf33a71cacd577f3d8b3 - -COUNT=6 -L = 512 -KI = 246046e8409be9be7a97ed5b513006e849707b3426f8ac6d0b6ed2f5bd60aa2dd2135fbf50cfb2acfb27cec3a5d532eb982326700a0b0d2c4acd82534ed68cf8 -IVlen = 512 -IV = 87a2d046aad65b92b58fab454d79b7e1eebbc8a73e3b9867505bd37c3d52fc0e6ccf49f4243b8acc587b80f897604dc7717ccfc0f0a703ceadd2ce753f51a714 -FixedInputDataByteLen = 51 -FixedInputData = d89592274aac555aefb946ed1ab0ecd0f38980fe41953714d05743f3a5ff451db37cf5cffac9c31ed9e8e06d2eaaa4dde5614e -KO = 58fda55987f4b0d06c557b931d9da7be4baddd8998345ff9e3e8b42f611018a8e5c2de9e961a2e0b6b794979f84ef44b2139ac2f03d8a6f6deff68a3c49e633b - -COUNT=7 -L = 512 -KI = f6902573b70406f6e9adb6fc6435777aaa5aec2b4f893b057e03e90cd3ed453a9a031c46571318d402095991ef4610e63014237ef2d3a8eba221b5a25a48d2fe -IVlen = 512 -IV = cc6ccb544d44adc659468fbaf5dcd7a8df4676f32bccfd15608e011c09a3290b9ca71da42682c92da190a29f7cf859b93e70d7a701555c4c27c03f178518c817 -FixedInputDataByteLen = 51 -FixedInputData = d3dc2e81ee5bd486f1a8fa9c08db9340cb1d17c0156a51f5706ceffb2eb7a554f85452ba97d07387f6851c762478a15c445b76 -KO = 9b76b88e8f7f9b73a193d374bd957990ba47318ab1bceafc07c7c888cc45ef9d297b284ed5843dc660ab32e6ff257c2347559d212476284779aff82e521e837a - -COUNT=8 -L = 512 -KI = da82a7f8af9ea9ed75b7f3fd44146620d1cc35db8d882236266423833a2d33153600214217407ae3397a467968bb824287fbb5abb2e52fcdd8d6886fc8b0073d -IVlen = 512 -IV = 9c5dcf87adcfeb8fb37df48586571f18c956c42ce4d9c398a1d20d2de4314c56d9fd909098851997d8950ef850e9ce2c17870d6cea94698aa5a7b107414841cc -FixedInputDataByteLen = 51 -FixedInputData = 1d0e4b237581b70e32302ba77fde0042083889e6353073acb9a33792ff8cd1429278555b7c780ea6baf72184571a22432576ce -KO = b93665c676df9e97d1fb6e3006dc78214cc58d6f9ead01fba0fe1f412d0e36c71755015e801bc3fc13c627ca29ac131236b9b6c734192cc2f4a1765c0ece81c0 - -COUNT=9 -L = 512 -KI = ce53a6eb52fb975183aac00fc64a2bc7dee18c7279072b10ae5484e9e09c8b60a95a67af49a4c60ba24ab987b421ae38b7733e6297b20abce37cb98816cb943c -IVlen = 512 -IV = ecfb7ec74d88bc0a51a45f2ab00b006103bb4c255860207e93b036255cf3b09865e2ae8dcbb7de6a5724d060ce5cac257e12dcaba2c1a46f43dd0d3c40758641 -FixedInputDataByteLen = 51 -FixedInputData = f8c49ae9e1bd0c1bfbe7062a6845f57205ad5eae78b75fbd2062f348c1ccb9a6fb1bde80dd0fec7c7d84b72be7f6f12be72499 -KO = 57f7dca3978139f0b278c79299e6c350cf0fa57e1374e931dc43976e31283b5f839b1175e3c41e89e9c1cc566b79c3449875f2af63b080e9e58fba7315a2cfaf - -COUNT=10 -L = 2048 -KI = 6e365e6d1dc2900ad0762539005e509983efea57a62aa6acbf1a7d6302aeba71e309e8756c82ecb1056694b6bc639181c107927a6dc2f88e29eeecbd229df5a7 -IVlen = 512 -IV = cd2094eb423a97f4415f534f4a5bf732ebb65d7654bc2adbb0d57c488366890d42052969d0d8072087f3e590057c5033719d0711fe52732117e92955ddb659a5 -FixedInputDataByteLen = 51 -FixedInputData = 34e2c44da7b0ca01012f77c4ce2e74c10429b53bdc883754d536af0bc5006927080d8c03656411ce3d86ec9cf160e47fa0a181 -KO = adb57cc1153a6ac844d1a207ff87e9d8d8ee40cc388436ec7df3b9d7b19d0968645711ece6b13c3f822ec7b904401d5702f16d7497d629f9123a1cb4369a2b5fdd5c0cbeffb8969bbdb6709db8caf5ba4a0d40d487a4a3702afc090fc488f6966e52bfebb3ca3e6ed59b045a3c802fbc758b9cbc761313b91bd08dbcfbf0ac9e5d9af32c8bab3e8fd80eda6a6d98a9eded03cfd460855757154d30448c7a226f21d0d77f0e40e5c825ffb0c1c2d306dfa14a467b03d4f5bdb94c0ec825a0c4f365ae61a4b27d3fa7d0f4800de9d54667bd543fc2a27c6e8148bffb2c2306359979abe14a729f4f7c7c57f9e203bc0e696df54ebdba2ce95a96cc83b69f781463 - -COUNT=11 -L = 2048 -KI = 6181976352c7341bd258d1f82b62e8511bb5fb7caa3afbf216908034b960a7f0020bf5b2d656ad6bd8fc68a4c8c2e0411fb354a635ef62f808bbb7c47ecc1b6d -IVlen = 512 -IV = d1f0d73cf2808a6d7e24d4f1963f3eccddf1d1ad0d8acd392e3120dd6e3f621f698557505596482e085ba4e140e8009a1c9302e87a4265a7226c4995bda6ef62 -FixedInputDataByteLen = 51 -FixedInputData = f27d30b8407144bd4c469d0ecc04405f5cabe22fed4da692155ac099a2910a99433f864d64caaa00d7d09f67c810376510d76f -KO = f41967a4a61cc97a5d87b0b7d1b318c9ecd9e81c95ae99a2b98ddfa90a7f1d5035ebb283c044924b597d093a003c29a03b827b659807bacce75c968a0d0fb862b0eea6ef5cdc09ed7724d4fa361b6fe75888a4e479a69fdf13d486c109247dd5e545974c59c229197918164afce125ebbed1e6f0cb7802f3eccbcfde37cc898c7411d4e9fd12fbc2f125d42f8b8a091a3a9a7a3aef674ad8d8ca16d49b2e2db197983a1f2b77ed9ae6b3a7e99f5b593ae69d8ebc8e15cd7dc8cfd9b96755cfce3854aca042cff280cdccd991c575b99d3ae467a6d970bbf0b80dcd829b37641fb11133089dd0a708da4236b12723caccb38979aa71a7d51e714cfa48288a5d42 - -COUNT=12 -L = 2048 -KI = 44bfdf59483d576fedde316c3e31aacf60c5b326ae784923db764149efb1cc4abef501559e4828e40e6c7a2d0d9606c4660d902ad1c8d3becd52740ea2f13e2b -IVlen = 512 -IV = 2d0901f314e5fc25f6f642c8f2b2b3e9549443b1713f8e0bd1d74aeca045c581092fc1b524082ec6ed2b6ad755136ad04d3d00c770610d3d897bd0cb0cf5c64f -FixedInputDataByteLen = 51 -FixedInputData = ee07e797282d984c1b0e7337fa62e9e3d142581e35337b4c977dc99ab88a65f4b393f56d6fa7e8c3778e8792588e89e9b5a409 -KO = 789ee796377bbeaa7682394ba5ba8f2f569243cbc1a9740752c2b5a97f6016c1b360dd0d93bbed168f39118018260fd8c0f80120557c0e71fe53605bc3eca91ccaf7126b42938a9dac7f53934683346b60f12af29293bf12d4a96a50fbb74b8180cfe20d816dcf88aadac2a6c32f6c11fcac3cd9eb1aba719b5b809d516c22ef248f9e0b86dadb833a58dca4e31819c09606621d51e210aa0ca1ac92e6175edaa1ec9a3420a639d7af45701198c170640b1c635251139c2e6735dd1ea18cf6e046065c250d8f1f9dd72da6cd1b254fef604b8263ec8e4466cc65ee2471a4d434fba25c34c33d35477a1e85692747b032f36ebc85136ddb0db2030abffb11de9e - -COUNT=13 -L = 2048 -KI = 9e6fdf120587dd59a33f19086cba781e66cae94e97497e5db708e5e7757d617b933bcca7589f25f70d3c23d8ac8672689f0c4e53d4186a7c849cb69e067dd184 -IVlen = 512 -IV = 104f7fcf0aafc0e352580b49913016723be9f626ca917b9501fd52001ace7a1434c6d8d325b35b7ebe26fce90093c2cf0647d6372c91063b9ef348394373a162 -FixedInputDataByteLen = 51 -FixedInputData = 88dbe5461e33f9d3f804b36df8305a7c5eac779e9cb81823f62e48032e93f51e560254b13144720bb8bf8787dc882958f31cd5 -KO = 030cf77234eaf699fdfb615f8375a5b5fcc055ede6465b7607532a9780b4dbc40e272c199835ba453f4801d1ab3a464a0b6bc95882f7de928d5f5379c142b85dd0c99f773915f227537b36cee3337441490f8eaa15cbab7a1c625202cb83b76a831528e464c5af09b3d1b8922c90839c272e1b089321d3caf379b4326c235393df98e67b37309d988bcf06a90af7d5814db98804508b515fdfe0d05d9fb0c80ef6bdece06b5eab6e45ef8386b8ff8459d6482c25793605032cfe6de88cc9c770568e28ebf1579805465b1fec54931ae636892c90ebcc5faa44bd07c7e6328266a8ffba688fc891f61faf4412c8bded288d7394b3a47ecd50d0a39fddb292c4ce - -COUNT=14 -L = 2048 -KI = a2503bcfee27984e6bb8e7cccd7a64efcef385aff3b5043242c1b23e682eae80ac8e32bccfca14d70cf990c5fa9c0a506ddb1fff221c6ea0daadefafe97bbad2 -IVlen = 512 -IV = c34bd06b4c583b4503b2d9c27f028c234c734e70c6a507d4b80fd43e99c6fac4f602c64f7a126f73209c0680a5f5f4639b4bee1e38003b5ca023c8b34e07d641 -FixedInputDataByteLen = 51 -FixedInputData = 3b8b302f5cc491081264fee839603a4f748a30a9cb37bc823de65620380ee6ad337ce7af99d2fa7238878ca4dc75ccf579eb9c -KO = 92537dfb9c03da292e0a7a29cb136b842d87bde7d23f982dc6a9af448b202e350a598617f520031fc7b923a968ef7f2ddb05758fec0ece8ee37f5f8d13e98a22a2f64da44622c2cc00cd024ef8a6cb83400ae99536e51be812c492b1ad6d5d1513159b3f2f9be992b5b1e62204ef6c1fa5f82278f2d0a7dd5a709b900f2aeaddd678dc7e52894fa918fb682647609b750aebec48a980ecc7078866820b67c736ee7e91ef08e411e68cb17d20aa36a7a2acf450117c058018fb0ed5b468cbedab2a329334d1f572c29c20449e7fffc9617a7141d78460767e684091ea360c072931d03d8257c6fddc07820db3caebdfd0c65ba7f46b3fe6a2dee085e53c6be425 - -COUNT=15 -L = 2048 -KI = 876d69f9e7f6732ee42a5ae013bcea8231ab347c72abf8951675553f37d5d6b12f0686bcc9922e67f22f4cae171c442ea03b5230b37bada4cff77bc78e946e5a -IVlen = 512 -IV = 664f757d29484b40bc4b526ad0e45ca7a7ef1046d5dd5de11abad46f1359af73d4a03cdee5c0bdcac95f326b96ec65d7c7130330656bf69a5ec1121da7685179 -FixedInputDataByteLen = 51 -FixedInputData = ff1c3fae3816f501dd2b7e7c8cbcf426402808128bc05d9fc63b80061ce9b98b2b448b141837b3ffa8d2a40540fee9a26f1c7f -KO = bdb78d354027200bf0200ed05a0c2ad8b2bc374f52d71798323085d98eb7e758c2a7ddb21d76885671e98aed30b36d9136617a1df0ce79d1d337ba9848e745754ddcf5d209f9f1a8ce5ee88edd7d79f14e72775ac28591ce8474365f514195e0f170577071abe8628f68b92de707a8bfaa1e14c220f77599d58e2d2eb2caed9df96f7dab5806a54d8c509135fd848503d83e685dcc9b63c23f40284b5cddb7467850c443b8fb070e36424a8aa0f3d55973434a85b0c32b64c3de31151551dbd6a92cc431cfe9ba2cc3a6ae876711d29dbb2c7aa2e7f9c88042f5c489d55cbdc2966fa7406d56b1edd1fc515793e8329cb4fb498b0ca82f605d85b042810d4211 - -COUNT=16 -L = 2048 -KI = 34cc2826e7404833c49e623f828e7e2b3fcc7ce165cbab8a415010828118738ca1fb956768773e1149e4bad800c03459ed8d3d7ac592042f57442ed709436f41 -IVlen = 512 -IV = 1804cde83fc0c90ec08df68cf2f2917fac8b4a1a4944fde099c240a21f9a4c8fce6540d7d53664495b01908aca41042cf2abeaa5663a5b4c01b8beeec8ffd527 -FixedInputDataByteLen = 51 -FixedInputData = 90e8c8ac0b329b17ab883f2a67f7089ed92af3cdf0f0fd91e1fd0f7e3af8c4039a2ca775510bf92d10140a48783267250c653f -KO = f379bc0da3733ba0db03848f722109f70c3a79733f337e62e62a0754415c47efe0ee92f82b1c3fb74c8aa8e8ef7a761e4988bb10c171a4036a27011c722527d9ed453f2d587f5625969e5b911ae112de1aa9f0dcbf7ae4c754c28e3f12747c7cbba92f121d46fdb5b3a087bc1615491bf68495c54667952fa96abc08a47601c7d20af72973eb207aa409b2a8d05c24e1173da3b738a9ef92ff51a475c2a12910ce9548ead388e4c0c5c9e89256923c76e0503f7a7ab40ef74e772cd99c071e2b1f0727af8fb0b409365b7adee6c997b7c49bddb92710fb8fecf9f4fc62f7ea681d39a61728e58dcb3a53adeecf6a99cd2ee6b2e93fb2b285f2a726703a3dce4a - -COUNT=17 -L = 2048 -KI = 6a6bb69ee75bfb8245bcc95428e095617f856fb3cff758380f0ece4d5f41d3c8a3d8f835eb3365b1645d42b9ce81f3d9390d9cc61e008fdcd7756a4c75dc6d21 -IVlen = 512 -IV = 2f4db5696e1b534e42fda17dc2a2a5035c05e9779f32bb5b1f49315f92c2b5f532742dfa6558d3a3a06247482d1b98eb0318d69dbcb5920a03af2867bee31fe7 -FixedInputDataByteLen = 51 -FixedInputData = d501d02adbbc2601a0b600f55d9f0caa248e699936d0e0ac9b3d4ec4dfb5faa69fedf6191cf529e166210799311bdf5228dc3b -KO = 908eecdee4a6a2aa896edb75e8fb5b9f3e810ec2bb59f13398ec69a664a09fee1ea1ecd136fc080c0b8832015da7300ec396fab2795b7deac5edda798e57c1a04fb6e599cf64d27860cbd5935bf62c73ba55c0f545968f35f3b34c35dc3df3847c3bd2889de70156975ec5bc447b2591ab1fddcc3622f77e5004c24fb1ef94f327d606c081ea476a591ee6b42b1014bff20fa5e25005ec57453a8c9683746d87e7f12dee327a297401ddcbe5a5d7b6d413eaae373280d87756df8e0fa8e7780cff9cbbddcffd85d295c110e421be03cd0ebd720e40892e4c795515054b7f8fd01094261f0e4bf4b93d3f424b7e254189b53e9c0cfb1afb23b807728896b9ce21 - -COUNT=18 -L = 2048 -KI = 1c6515416d962750194e3550e9f427b10ef8dc448fc10e227ddc59ffe46aa35f7a0abc25bb5362d37eb3700f0ee3c1e35eb86e4cb7718e3b5c67c0485ad4a029 -IVlen = 512 -IV = a761cd4c30939d0cd030ad5db6bb7fc1a1d8a1cd8a665aa2e38af886aa50882ef9e2d54f4cec113ef08491b9156e7e19688177390ee457b077692cee5da2a05a -FixedInputDataByteLen = 51 -FixedInputData = 1a2cf200c53eedccccccc43107e1c02d3450522e7cdbad2d048b1e2ad2404de82d9b56df5c3487d5ead8f16e27265e1e6d4be6 -KO = 9de568d5cccafa19d4166223e3cad8a0eaccec08f03921178126efab8af373870ec1b21643fc5cfe485c0beebf6e08b7abef05ef61f66cadad9763d57aec3a78fd4b2b1a2e1f5bd47dc93dbdf178e6d8a2e5a9804443e58bb9f5d1b12a7d6a42a8897ac958b827e273f3140de525fa9ed3b4043908fa5318c3bb54a5692650c00c8ee50302aa783808040ae7ce6570f7d148e55f031dbbefb7b748c28885fa01f8c8751fcfd274f9f9e5d3f262aa82153902b07df9ab4a03d78ed7adda9f12d633006b596fb07729cf8624bb17dbcb477384144f9c6cd4964cafe9a818e8300d6f0c6c33782afda7cddcec20830b0a4a1c3a91c180692ea48b7116d0289deac9 - -COUNT=19 -L = 2048 -KI = ce4a76d825f7bbe4a586eb03ec804604a0fa003322da217775c04246c0bb8e0bd5fa774f3489619e7ad9d5a769390610c176d371926ace1b0659958eb51453b4 -IVlen = 512 -IV = 25841c9e7ce5552176c6dd0d903b40c550564b99ce0f37cd0fc61ec193f3b0d9ffc7fdc3e3d4eb9349d6b99440aaf9a7da6cec831dd2a3c44a3280c91ab56dbe -FixedInputDataByteLen = 51 -FixedInputData = 9151e399bfa58f0a70ddbb4d29d3831ffc3802938b0f8f30d45ee9796b1b105b465d699c61fb686dabc12c342fd1689c571b70 -KO = 6bfdf40f3a75308d58e897ed532564aae99337ddee621aa215cc87d5822cbdc3c1154fbed0d75a8faddb45c9dadfaf5312417b7ad64529d9ded8605661038011dc10cbd2b8fbe58805bbf862aef3e45336ee6ac2e03ad857a3175f86c4acc28d76bdd8afbe5379265b55a4db36d49d43c46ba1ebffa935601e3b145aa09911b2b07ef1a18587d6a52e880788a3797f9556adf6659ded481f93914bd4a7c61ede196f4ce6095d25f89d21e45a677e87b17810645dce47b870ac6bab427c8a59caeadc7ffcfdd27efea9a38d9aaaa2c4da6441f8e258aa8eb8822bf939a960e7884fd398917ad6efbeaaa13d083f49eeafaa92689d8a08f37f0687d4c5d656075f - -COUNT=20 -L = 560 -KI = 91e1d71f255e6d48dcee9b548f602597257f53b9a217e37a75f7b941f9aa26ba609255a21455e0fba6a042d3b8d99345b7138500fa0a3f70de80de1e02cbbf1b -IVlen = 512 -IV = 3ab3157449289ab75e863a7372cec87b8a7f9cc42f59f652d5a72f8dd3ef4b61696363d2786f441c7d245f0ead6154dd9cc42bca81133d1934dc4e1fe2a40852 -FixedInputDataByteLen = 51 -FixedInputData = 1fab880f3af135fcddb5b5755eb04ab5462bae1ce37a479dcfa16dcca307f64713042ed8202ee366fb06d23e10de3dcaf45af9 -KO = cc16b4be288d039722f9d83f9205ce66330e39ac08d5e103e9ada4a2573e8a77f1a181f9ca7082210ba06da4c3f1d8e7b58d1c31c7246698ca019bc624a16657c5a3631459d1 - -COUNT=21 -L = 560 -KI = 7f4c9831f38319c7c5f1604f617b38e45a9013362c7c90b6ae8b69e6db546adf3512192fdab9abca312026a0c867d7dea3deffa341d5cf2917e385cb4cd93398 -IVlen = 512 -IV = 2df29d0874bd1ea26d2a0b5131eb8e65e79d2fac6299ac693f58ce8b216486cd5216d98716693af5f9d3d48d11e6dc6a5e50d7bc35374fc1fd2c261ff7f76e2c -FixedInputDataByteLen = 51 -FixedInputData = 8b3271b37521231591408160e93e8710b4b91b2e468fcbe076ad8f8680fb5e03fb573056441f3fc629c2ccd333af7893a8badb -KO = 1c8d0a152c240eb21f9b681f6a8d474321fc90dfc7a46fddcabe760fa3dbb35c8d7114d630bc74958ce24b747c97b226b5cad2b71a67a42b3217b75ee8ba7f1fa2f51bb59c4c - -COUNT=22 -L = 560 -KI = 19c059b7011ca4f18eb948cfbf828979ffe858f67c60a081d7cb200a935539241f1b36359e7bb938dceff394fa20c09451312c2e59409c73b080323e717407e3 -IVlen = 512 -IV = b5da1727b1bd62d005a8c84b729e98b15ec60ae363b3c3dbb0b1032541e974f051c807c6233ff63ca9c6172a372d810c4c4bfc411af252530a24a9f3bfe71794 -FixedInputDataByteLen = 51 -FixedInputData = 4cce807dfe3afc2a7fdad3ebf40cb14b058eb7d582bb4cac0050250fd5ddc611cadd96e98d2a6d3ed843daf9d9fe8d99c250c1 -KO = 3a6b1a102cf3cf5dc16251e4738d9dc5b82d4faf95440dd535ded4c68d12ce1a8ead3c5233c2ea04cad4f9d5c501997518a01e96ab238b6240bf195b65d89504e408307a880c - -COUNT=23 -L = 560 -KI = 711cac41b013d5c5d7b3f33d391b56435594edf3cad80fbeeeb4052b002e1ada42fd0dbd39176e222c869a964e7dba85cb18e2d83ee55fa6ad7b5d9baa3949ce -IVlen = 512 -IV = 28f57cfcfc281f4625051e4f16ba01efcba4e2780898b8109cc5b3dbc2e573836da0072b5708fa2dd2821500aa54b747a4429016408bc1b753531ad1f8d0c55a -FixedInputDataByteLen = 51 -FixedInputData = 52355a2178905dc3770d6c6b0230ad56b4c700bb23d59c069cccc225919ac3212ccb8f60417152f5e535804b2974e93f5f2e52 -KO = 63f35874128437c472fd75654da973b37b27d528b2f70964de503f2aa47f01e03b0e3721e1c67df57415e084a7628818d93eb4247d47f6ff98ed11b4abd673713934cc47bcc8 - -COUNT=24 -L = 560 -KI = 4436a9696c849f56f8db4db822c2955e50bfe695ef62dc237572601b26e6b891de480246e0843fcbfbea099b114de17e8fbf075a55a7ff94c0854779f2d90d01 -IVlen = 512 -IV = 607ba504cc2a70ce0fa9be6c8a67b3ee60e12b16c48dece274c8d05a9257ee3fba15ec40eeb9f2f1d860f70a870a68f179c08276106d1264d8b95e16e2a5fcd8 -FixedInputDataByteLen = 51 -FixedInputData = 5416a7c4851ea5a982354a9ba985146c0369962b52f40e8ab36d4f6685cc3c70b8a7097ab4eb0fd6025898cb99d6d6b934384a -KO = eed68f109506b7da4418d8dd3ff006ebb6bc3ec2e772ae2b66927e1d1da07d621faba6486e8b7f8bb5226f7e0f0eb70b588b3ef3b10e793f005dd233d0645c7917a05ee89568 - -COUNT=25 -L = 560 -KI = 49fed718c484cf528ac2d82ffac125fd243866f69d526238004f111614c51dbcb07bf2e63f3c21546ffa5fbbf22e42e04e541590166e6c8a2add2071fc0bdf4d -IVlen = 512 -IV = 5e8b0b330bd579ff4c98ff553740547e6558950116c13576a4399994e51789e32e32602ab37c07d8f0b5b420c12a4b54bc3ce17c2fa5520e44934d6809da8073 -FixedInputDataByteLen = 51 -FixedInputData = a80ff5f13ef3bce047441fd16264d360e916ce83046c7b68f4c4928d6752d8816f98e280a1e69bb920cf6a1c403a00a9f11426 -KO = aff636d32f1be3ce455a33c5c803f9d3ea41a342e12237713a949fee85271feded4a5b3ace526296c367474fd6c9256c52aa03d5ee57508c45fdb20a8dd94a69e36610db205c - -COUNT=26 -L = 560 -KI = 49504d3cc225c8361826fbd52e8927b562ba2cf0cdf164ed9f841aaed4967b3f5e4aa795e6df6124f160ec5702b4fa2f2af6a3e230f2844c9bd2c3b8e7b52b4c -IVlen = 512 -IV = 5b7cc14ab4dde67229c86604d4e6cda08af61b5ffc32d6924a2e56f68f2d9102fadbbc8fe2b358711f453bd4985e7bb85d467eb0894e09ea2447315ec3bd36c7 -FixedInputDataByteLen = 51 -FixedInputData = df9da38335c0304aae5906c117b128df7429233524506edf139850198d07e95dc20807c3d0ee54f3ecf08c1903f74ec3a69a40 -KO = e544906e9c103f33f28f03edbd3e0a1e66c7da3383244a694fb8c835b5dc2ff83e796ba6b1e2a99788ad3f56832a51ea91592151c69cf8d358527ea25dd753683aa245c68e0b - -COUNT=27 -L = 560 -KI = 6f3a08d69154e2695c04f79de59049aa164a50cf5217a15306ff5911a5b69df9f3273e27df045940a34f35e660a610627ac13a48af98678baa40cf2f274aab9f -IVlen = 512 -IV = f486ca7431d4768ff91849bdf308f578a7855c2e58a59ecdb3834ed573acafc54a03928f8ac8f965e938422145a11d0c4d0c01a3afe65c2c0c305ee4db1ccaaa -FixedInputDataByteLen = 51 -FixedInputData = 5deccddc6a0969fc76e0931c0dfd71156cf7e79637185466ad13ce41d76bd5d95a246ccee0062ab7d8eecff961e5fac54a37ff -KO = 198669b8bb8685abc34b47848f549ba95b27278e32560a399dd689aebd3e64df568ea99839269eb1ac9d91c76a3054a2f94bdb1db2b28022d489df711066b37d48f0d630f574 - -COUNT=28 -L = 560 -KI = 0afa4b7185181d86a5ecdc30981518841f0f7fe07c072d62c9ed7b6b628cc18d6fe8c607bfd681d07fb4beccea1e4a508a86c0d6197f4ce063dc838154068120 -IVlen = 512 -IV = 805e03b3871597c37c3677b59bc980a8c16392aa38ede5112375bfbeb2b80eb95d8175011a0169fe69b7342f5cb5bbacf65b5e72a5992f183fad53cd44474f66 -FixedInputDataByteLen = 51 -FixedInputData = fefe3dc726ccb2c301d660f2843a9b255b1c17dcbed87c90279b4e7c7bf8fff5b3a86e910d720c59cfc88f3860739e1195a149 -KO = f984ee7b5a1a11a4b096eb384d3959cbbf0c637e683ba22d88bb58ae3cef565f2f9de1873843b645ab3e6964163a4a96270918fe3c0147739c0fed00968e2ebbce22a4661ddc - -COUNT=29 -L = 560 -KI = a0c97c3a917645c58e2ab3b8a11a5b208a668c609ada0b02c1a70f8e96dd53fd021c206d1133c530769b2d94e979cf988aa842d07cac3fcf4db862dd8321b3d4 -IVlen = 512 -IV = 4f674f88817a5b0baeddbaa1fb82e06738d83044df69ff446f01d026e93f89192abd6ca71460647a8bf5f3b150541029c62707df5c4ff8b8bd7b6d8662da1a8f -FixedInputDataByteLen = 51 -FixedInputData = ff447089330f397314d7f3ff56a7b2f1547b98b7eaa24c4df33c1e1126e7f9d196f631d44f1354702f69553383cd2aa571c360 -KO = dd96fd92f241823283b64fd9fd9b4877a383fe1ec2864570baeacae0801723ba8fd4b83ab89be427c34203f63257b14bd37851cd5d0ec678d31b1d579105522fe5027d67a4b0 - -COUNT=30 -L = 2400 -KI = b24392f6da1926eae118a300999094c6a79c74629e7e891d80f9776058d240ee80ff3d5ca140158aa8d138f54d8a0c3c638682b98ee006f700ac1cd5b596a745 -IVlen = 512 -IV = ef75128a20dc4a59d3bcbed63c54180f5cd03f1d2efc1f8f6a01dde3f92d526d8440a9f67204528471aa3086dc12159cab2c3f6d535b8bdb29f3bcbe4978ec87 -FixedInputDataByteLen = 51 -FixedInputData = 07d87893f6d29153c326d78019e77b7cfc9abe99cfc18b018e7e0c104cd6e6a6a1adde8bb4110f0b8f26a4419510615ae94eef -KO = 5e617c926221a802c61b7cfd8b1c361c45785c679caa7e50d2e7d1a56ec2439a50e25110b1d020f82b6424024e73b627557f5dac73ee8ece629b7404d21a0fa8ad52edf901af81edf96e1df3781bdd3b8b8039fac8e1aa44cff759d4a5a090d98379c100b1884d4574097e517df211cd9357c2e0fb40c02af0265a357d65e344d729008ea94f892b3203eb961059227eea8b7a2aefecea7b663c7913afc2255e05517aff4da40703632eb6ea63811309a947eee5d50bb5fc68d6469ab1be2cdbd2151297de6f41eeff02637b8f2c79f6dce31ac62502878f88ce78697fe4df8704348f1a121a92be553d167375b1fcd68b780f82207630395d59222806e03ff5f6b25e4af326110595695e37053594150b8830c5324027677e672a6771dc60ea850cf2fc510abfc7d179eb4b - -COUNT=31 -L = 2400 -KI = 616b5f136750c0dd76914ccbf3a45e15f5d1534d9934ff7c7f3c2060c91a29086d9dbeb6b3c32cfe82eb9f1b0df8d7276dfd307dd9049820f543172031bf949b -IVlen = 512 -IV = 48d7b8730d7190de5d0b914e4871152f012492c56c1619ec120f4b6774805002dc509497a7c76d37ab0c1e8b13f30b8f41a48e9352e61eff90c5df82a9a792c1 -FixedInputDataByteLen = 51 -FixedInputData = fdf4762e7e3d531a309755f1bc10ffe4ab9429dbb47548d12b065a7d9cf39ecfb85bebec701be924f606e015478cda6d67aefd -KO = 5c62c4a0b7553b1a1b34bb3e31046f0ec1413139d5e1d503d7d9a8e80c574fb05bd8e4501810acdec9469634d0e5b0eac77209bea58e2febd89c0c34046df3ceeab2bf9513ba750d7f08ac3bd4fc8843b34848a1165c6d2f054363d70ddb9a0f14154d9ebe215ab29c667d0f8410c3003cb6c09210c5c00e445b527e4ce30ff7484b82f02b721678bcf526ecd57338d14d5bcdc5879e2b4a30af2fbb7f1e365363fea8c7445e4f32f489825772c5019b3b45f0b3b74600d963491a9bac5e072427a3bf1befb1aa5f63e26bf579d152a16479c1481a558e31e4353b60b9f4e796e1f56fe333cf879f19d214be18547951555bebb411e8781b4cd5a0534f076bbfa6571f909f00c25f97b589622e402dcce4a924d268706564aa10f4fcb7c402aa200daabbc4fa79446412171d - -COUNT=32 -L = 2400 -KI = 1cac6d43368b397411715334b7c800aeb93a5309b024855d1fd3d5981849983ffbbb8d22a3edf1462ae59a5e2db45cc3a64a99551fdbf691304966003fbfe7af -IVlen = 512 -IV = 6c5e09f63c22088096cb0be2b351b80c6a1e200a4c5743769a098839cf70abc526b3645fc5e66f5ed486570f9a435dd59743db3bfefe0d43cd668281922201ee -FixedInputDataByteLen = 51 -FixedInputData = 3b3ba8d4d0d78c1e1bfcd560e8a8070abe608500aa1d442fe53be2a98bf4fc1043a4da53b969e958582757a52e908158c2a497 -KO = a981aa80933cfd9436cbacb457f33352fd727c164664e50aecb237960f60ba8377b50fc33248eb495dc2d5567d0e79844b63a91910cf661cee6c913632265a7463e5383d73f3da8303bb482b409ae540ac980d75cc88eba874840056efb00a70a6ba206c77d1a5eecbb2c41caf1f5f3a32a0acc23b47917a55e9f3d7c8ea5b6568fab8771ec944bb75e2df75a2d47d9b14e98d8b4ebaf0f204bcc4e041ddd2907db9a7a8c15377827deea2803c39d2d9df4addce2427302153ac3e3d89185daa58d54064b892d17fac7c7a54fc70714f011ab24d7250d29d9e98f03487a3c6f1cf32f5ab1a2585ecddff7fc91a64d42499fb85791ba4b66ad82eb0d7d318f6baf9feda1a84a41133b49e208b462e90ebe7046596d4734e2a0bf7bed829869b227ad7f4448c911f24bdea9271 - -COUNT=33 -L = 2400 -KI = c715d680ffaa9ad8a9a17d48765537972608d49586f9bf29230691615b43264e8fe53226d2e74a9660b490095ca2638432f4b2d2c4c5ae89fa62a989efe88572 -IVlen = 512 -IV = 5f15a5bd73c353b45631c9349d1620d786d080f55bf072e0119b51546bd8e12e3eb25355b998a2e6bcac90a70b6a797a6efdaf2b90312497c60d511f3afe4d88 -FixedInputDataByteLen = 51 -FixedInputData = d7d66a4cd3fa602821ca3f50538cebc66d373a19c68cbc073803a703189121e703358741cdac7733bccfd26ed087419329fcfb -KO = add42bfa5d6e60468ae925bfd5719355e52b613dfc088319ef8646034fa9fc32288633a1936220aaff43d6f8980c94cd3fc6422c37d67734c1497f7cd25ac6dbba889f245655517ac226762e372ea650483e9ec64703d83021a166bb97e9d9ad366e4695a35d2d59ec95316fc867c5ee3b931d85c16b9730018b1faa9f81a8c3e7f8a23aa6e64eb23e802a1159369905610df05b7e49de93666dfa127ecd0da46c61cbae1a3e1fea02308c6d4da57e39de3437ee2304cbafc9f788b5cb3beb65220a4c3cb698f1c479542bd492206c09886e6d5b87baa497751b75c21e4513a92c24f816f2dd924903bf230c0ab6f08a5f06c886dd76a239c85125b77c9b9fa3ce053932d06abbe802ed2e7991e5f69150bf9f21577ecd954dd6e08a7276ce4888baf3f8b7d5c43612a6eea4 - -COUNT=34 -L = 2400 -KI = 111455733946ada82531679dc39adc63585093afff743d9ee66d1212aa9a577d4549c0ea5cb4837a3f39efb5dd543bcb2fa3104c31f51c181f303aad5a8a530e -IVlen = 512 -IV = 655f48413ff190ff879c706de82a4028c1de6294cc2622cb4b0d543a81123eace1749418e374f65cf3f5db98afecaa22b45f6299ae0872e85a41d05c9a67710d -FixedInputDataByteLen = 51 -FixedInputData = 77d42e061bca00203d9255f5e6c424f769504f44fc2f4ca17fa8157f556ca226ca4168c372658876602cde7a661fac3e8cc604 -KO = e98357edb97f8b43d36f8385c842c64979efed01dcb1bd1e4de45c27c65e506d0a6a1fce89c00bb5eb29ccbb5534a8a14db7f21bf9fa1c9f41bd5d83d7c37f5c874b1310627e315f922361bc70abc261b496f0e227c54ed480468ee6f541e942b2dbd27a2ee9fffd0929b36dc75de2833c8eb5b7e2648ce950942413f30b09fff24f2f266d6e1f9a25b7732a745c13ed9c0edd8f241741d6c22ebb30332d16c350c5e05821688b7d224c3607be4ba115707d86f903ac21e3c0274ffc0e221e464277239a59121dd75efd771305fd6471cc75e9d1033759b062669f25cd5535de155992d59e60f67a090e68c3f7e801ccca95a067a8c4959044afddd10f769e1daf50215184d9da1b65ae373a067991921918c2e7cb175a9bf72b11f9cb885228298b5471d8f5f4efd3a7b64d - -COUNT=35 -L = 2400 -KI = e576d967326fd4fbf8382a26704571de972fa2305bed7baf0166f82b003c047500c46cedda01bbdf577a38a28747100bba96f908a392cfb9198965b500b77ef7 -IVlen = 512 -IV = f7b8ae212adf288989bedb0be75c6d2ee7f823a12dc763d82227775cae2b843a5d69ae8796847b9b92cae072d6127e846fea3b4d88cb92fcea509bde82123de2 -FixedInputDataByteLen = 51 -FixedInputData = 1c93eecd694491d5f25fe30f4079be9eab8ba8de84d28a25f1d2f3855ba85c31757bb6dd8e7a2596983a6edaddd22423d1735c -KO = 68d27257a58bb5b399058f010b666bb2b709efec4ffdd7f4cccda5b73802482123130d6bf076a75a1c81569a08bf1e8c45ff9ff4d373baf348f056844fc7b58b4772bc8e935202fa601555432fac2a037de18b90cc0a2f9dc1d81c555208ff8781c19e41f92ef79ba76c023e7738491f2637c877b4cffcfb1130d253e29ca4198982b23e18d6167531a71caacba921e756c39675c1f7410d32b1854d401e3659d35b122b962b41d2a156a0f96dde02b9341b64b0d3b50d95aced2bba3b24f53fa159657baa3236b7363ce14b733ed983684b6e220a8bced59e843f15532bccca4abf433d0c79eacd7a9ff70933a14f61d990e1ee0ccd8749c579a240b915224497b24ad9390af1c262e8565f3ff092d89fbb3effcb8560c40fcf4927e0eaab73e3ed9785a7cf647011a507b4 - -COUNT=36 -L = 2400 -KI = d53afaaeceb230e9fe6cffb7b00b78a4adde88e74ff5f608a1ccf9984d354b082df6cfc207919ef88c607f5f919bd597f197861ff1e643e5d1a478346e719dae -IVlen = 512 -IV = b72e7b207af8f3a0fc8d18a8d9e84bf78180127da40200389cdc7430303f8817d0a26c89196a2ffb8fd55b94d76bc1a3df1dec33c02346b44df5b3758ac744a7 -FixedInputDataByteLen = 51 -FixedInputData = 38fe59998786aa00b53a4f9ca3e51f8018bea79777da9175697930388426a4db8af49d1447dabcf82eff995b47194fd3b446d1 -KO = 0c11607d55d22451561816d4fb71b36cc183492d521c7b133d84e8ef24df9bf4f9c9ab747302cb1db0c3153858cea9f4e0d0f0977ae90052c54cf221393baf2d22fe4608b627b38c1bb5e05d6105c53e0b4a27a031dee102429c07141a622beca486d1cf735e0661f01fb8aaabc1cfc36ba3421b448fe4e9c1c502d0bc60d2386dcf2d8db490d84bed16df19d3cbaa507e8e01d64122abf5d26b7622a5eea459792169ad9f4f80d1d31e6651b7ec1c2ee9a923ff94adc68b7826889b9996486508d8f0ac2dd2632eddf28de374706edf43268faac5d21d80c3df6ff034705c7095b09753521b699d5ac6e15cc4e0865176ce326f229775befe27e5224b771383a8a97038a0d3a2ad88f8af4881e7e504d077d10c9e8b40fc9d66db31c08f56e7b4dea485b2d2c2b6ed7d5b22 - -COUNT=37 -L = 2400 -KI = 589505fb77331e36661a6705cacd43088d8ef4267ec4f24adc3fd0297218d68c27817b1b15a7fca6fc0376e67c215cbde0539fa7f3f37b282e0f7cf7cfa358d4 -IVlen = 512 -IV = f1cc1f0fbc7a175ee90c8c2ec5c8a3a35f9647f1d2fb966137c6d9b65e2c9edae3296ed0dda40f9da7202af53dd780d18cdd661f2fe9d54abc55009e672d7548 -FixedInputDataByteLen = 51 -FixedInputData = 905c43568d45d50c1b965ee6b22ba61c2636208b5681d4db709e693e1cb26db006c50f0efc15c54e2b9292251101036acfb4d0 -KO = e960d3392eb880dd5a1c7e2a3669858d683638e00887439b9ea088ce5d588b3b6a753888a9a3a5121fce69e3aa528ca3dbb55ed30b232b2d5539672ab5abef3ad1587556ae46993af4a1b5d9a2a7d051445fa16125e723a36666e4ff97512fafac11ec8bdc6e7efcec7c84d7e84a2c53f3fdaf2124b00843b09bd5984496d1bcd52844fc25fe8464b1429f603681350ea6f77ff3ec9dadd0b27c3310a51626ed62d410fd8185f03c45715fb0a2f4e48e15ad29c52baea7522c4bc642031847d8b7274d85c7911f0ac3f6af294721c18118278029a326f4f41664976431203270dfff38cd2c3368db2431bb475b268333af99e002883acd52dbced4885b6971888336a085721ba3626c9a8396359ff11ae1af481c3932dce5e99d2858322de557e499a81c4e435a4c454102c9 - -COUNT=38 -L = 2400 -KI = db3cd28aad87cf91ae409c35842880a1baefdea2f152fa0686a572de49b5aa88fa26bb569b258a6b853655775285c90a6783521c779405fc5f7605558347e8aa -IVlen = 512 -IV = 4a9dbbb8cdf72dfcfebf894ef22ad01867093cd5784fead9c0d414c8832d0ff94bdfd353604290afc7b7bbea4fc0b1f6569d6b288276fe608d6b491084319655 -FixedInputDataByteLen = 51 -FixedInputData = 378329c37f86ac64a017fd6d9a281134a194b4f59a500cc1ea64b6ecce6d98a7e1032d9ddde15f651bf38716c3c4c4141e08df -KO = 85eb627161f4183496c0015a50bd147fe3019a1c861cf29a3360c9d65eaf081b94044bc12d97b941ae1387da7a5f74945cfc21ef16d6f8912a143c29b7af08da6f0732aab97220fccb0a0a29ff24e9d5a2b57545710aca090093fb54f029e2f2e114084e914706d2659bd291e8b4470f4055b239343ef715699af153044a6f69baca4e96cb0ffbc8282d3402a5af276912683f86807fce72bd2c1c3d6785a05794c76cba0864e3afea27f3cceca8e62eb818d21ef6eef80eda6844fab468e3e748845148eddfee2a4666a55a8d93e3a7334ae7aec7ce4c42d7224a24bc505b6eaeb23087361657f68739acf20c2c61f9823549662030e3425fee2e6c26533bb00efb9b17124472307a5e149148480af400e4948d90ebdaebb23eb23bb8665537f8a328ed401c904c8ddc3c91 - -COUNT=39 -L = 2400 -KI = 5bad564345741ec8cac911b9527dc02b3a16d25d439f890983a97448bd71c63470baec0204dca3752765aa671569331c49e8f5708891410a8874661eef06adbe -IVlen = 512 -IV = 36fc832a42a9cef443a226e102858eed00faef1aea3c1ed31f8607b76620a10e364840a0f4b0bf5e8772908397f7adf48583a948c24839dc9f09471005e25553 -FixedInputDataByteLen = 51 -FixedInputData = 499ced4f4ebabbbb80a7d86a19164fd6e1043cea1e00650b76c001273c6f2079d2f2df3e68b38880437ee6de6635018dfaeb0d -KO = 75aec3278b8574c96b99dffd7cf1698dcb0a570f7fc26060c6e94d2efa7368457c1d762a55374a25baf33054910038370e1acf1a51b7da3f90632af12d693ce91aca44aa9e63293f44280f997eea39ba80cd5215edfbc01f5a505dc75180b48079a2d8db6b0d53f9cdf83229a26e810aa93fa57b5eeaaea321a8e55266f02280ae3f713a848a855df1f9a813da98d78fd71876446246e37685ff6111158a592e3e2aeaea599aa21306ad301ca9a381b908134a6ec18e85408a757e98a7990599e371e61446d5a3d45119139503a41c34d6c372a9144d833364d9ec3ab4279da180249de2641e346019b99361e7fb26347d6d3d45b3f5830e34dad822b8eea256462ab45e341153fc98c354aa7067e3826ecb8c21cdfcec2a4fc85a5679c526c65029201442791a6118e58ba5 - diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-128.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-128.txt deleted file mode 100644 index fbc2fbd38..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-128.txt +++ /dev/null @@ -1,2337 +0,0 @@ -******************************************************************************** -* ECRYPT Stream Cipher Project * -******************************************************************************** - -Primitive Name: HC-128 -====================== -Profile: S3___ -Key size: 128 bits -IV size: 128 bits - -Test vectors -- set 1 -===================== - -(stream is generated by encrypting 512 zero bytes) - -Set 1, vector# 0: - key = 80000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 378602B98F32A74847515654AE0DE7ED - 8F72BC34776A065103E51595521FFE47 - F9AF0A4CB47999CFA26D33BF80954598 - 9D53DEBFE7A9EFD8B9109CA6EFADDF83 - stream[192..255] = E7F8DCC6A1D42ECF6A49651F7C610657 - B1DF6E58FBEF6A246D6D4CAA83858839 - 86325BE2B4185B4D63D4BF766C5F4B73 - 0B89C3CD66018155DFE9D37B6F5C1251 - stream[256..319] = 6D21763B2FEBADB212AC71388FF93586 - 48AA1A0E874D3B6932D7F80A5657F88D - A44BDC16AA21E531E3E473CFE6FCA9EE - 20739339CE4F2DAC793210C8CC20897F - stream[448..511] = 5BB39DF39C64BFA13F2AAE924D3DF4FA - 22899838ADB609806C022C36180A3E46 - A547CFF7F4DE1151A81AED3646B2D86E - 1F0F3C22C92D3459593ED599D1A535DF - xor-digest = 1EFC3423B31F67D397923613A1169F54 - A35193C9A31484D48204A8380D19984A - AB3C53E44D0511C1CA13A3823A0B2C24 - 7602797C533F0D5251CD5FF60D4A4F5E - -Set 1, vector# 9: - key = 00400000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 80978AC0647C7C5E3716B3B3DD9A3FD6 - EE0EC133F29A0F2F92E3F7AEFFE8CAD2 - 789DB433255F7A9F2A9D0873B8932032 - A7FD7EE6D07C903738B78E88DC173674 - stream[192..255] = E314E449A75D8CD4FB0BF8BB133915EF - 0471D3824CCB9CF828F2086EED1E09EF - 78E510E0D7362275CFECE3F2D79F5B37 - 8C8F21D3817083098E1D3918DC49EB13 - stream[256..319] = BD9BD906D4AC9B0A0A68C1371DDD0BAB - 7D36784577856634034D9A7BAF3A8B06 - 1C29904A896A82526CCAED7899FCBCE2 - 619E6AEDA6D79B55C6EE7C97353486F0 - stream[448..511] = 163E7EDB8F4A866A0E1C991883B2A966 - 0DF6C547BA4C3E2D59AC014170872C73 - 220303B5AB4D7321CA0C25DF3E18D5D9 - 1D6B52A5C2369F4F764B7E4649674F89 - xor-digest = 2F1B2356F1149C6EE7694E217332E4CA - 33E47D0DB237E71D542A4BFDE033137D - C8085B39215AF06840E542E501FC0584 - 257B7F6DCD6297CABF03026A95A6E27D - -Set 1, vector# 18: - key = 00002000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 94DAB13AE0D2F9A65283C6AE98733110 - 1C4EE45EC812AD67DDF3D1F026B51B17 - 2D366C7E3B2D55E5AE7010A279D35B03 - 83B77E96C6B2434C3E6DDC2401D64AEC - stream[192..255] = 8199B6243A278FA6C07B430B6FFAAD83 - C2A40A1115DEB693B446504AD35615CD - C4881D06F2EC1EC5C189BC37C0F6AABC - C349FD461023A1B840C40B7E96A481E4 - stream[256..319] = A2FF8C499364E1E900EAE72A98399585 - 6C609132B14C83B191D49BF251E73EE2 - 0FC48469A1E72416F803CCB7C933A880 - F8343A8DE2AB9492190E86194680B21C - stream[448..511] = C442F7A0791CCC0F7E8D4CC454829E6C - 26811BE74AF8BC70276C4901277753CF - E44FACC0ECB82E9E5803CD08A316D9EE - 5B0A016185BEEF9FE94A3E64C8BCB161 - xor-digest = 53170F85C0661EBB8E0C595C6405CE21 - B9F19433C791DB8A71883E4E6BA31656 - 2268C2110CCF228AF6634A80599B6A0E - 24106DBA30C3098EE57A10B1604511E7 - -Set 1, vector# 27: - key = 00000010000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 0D3549E38106BC69495957DE0722C36F - B3362CB8BB2ECAAB49C99AA5455C4DC7 - 363E990AE7FCAB1F4648413DDC698D79 - 294F3FF36FD83C299AEE2772D34D057F - stream[192..255] = 3239C047E0DA62024EC64B1D8E8A5E0F - 6E89062774AB24D2B69A17FC7F4C6EA8 - 85F71AEEF1B7A36A559EEE29D422CD4E - 98733C99CF47472F1E4A406EC58A80EA - stream[256..319] = 1B1F13FBB383683E26371ECB23F49D0D - E3B0A224D96A1A87D63A6737614F0415 - DBAA27AE8107DA06E5BB62D96FE4502D - 7B92EB6B5AF180CE8C2373920C77292B - stream[448..511] = CDA9A705E95B0656600EE8CC654127ED - 0A8E362FACAC68B18C0C25CA57929F2B - 1761F0706FCB0E066338507BD04C7F62 - 0FC91BB6AD77D569E30547959578216A - xor-digest = 6D339778DCB212787325D09BA20110C9 - A9CAE09E5915DFB1F74BA59E9C610FEC - 7989F18AF4CE86AC3D135659F46DB2D3 - 59C08FC80B14E10AEC6B6701F661E86B - -Set 1, vector# 36: - key = 00000000080000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = A4E7B46F89DD8205C71F6453B1ED3924 - 5D7FBB100E7EBE4D1D27E69047AF47DB - 3575B3A580FB9591A5F794306CDFA3E1 - A0A61905827D5ED980F49932A5ABA561 - stream[192..255] = 364556E21E20C5816ED375B9C12C0603 - B680F2A4972EDA77AF198A2F015ECEA4 - 7171028016B99EEABE1DAA2131711466 - 6D3C1558218D95A8068E1780BF738C2D - stream[256..319] = 84F5E62E1E8D4AD21DFE9B3537172D6E - 3F4539DD15B5A55B38373E9787F0A4DE - 5F4D90B0D56C0E1F8A5F9C282A1F5567 - 342BF864960F27E5311A4FBE3B85CDF8 - stream[448..511] = FB062A1FD5E64D97489F24A4F12193CA - 9C6F4711C993C13742EEF14D88009DCD - FA40D295DB8959D1562DE734ED1AEF4C - 90D136852F37A4115757F21F40977025 - xor-digest = FB8B62297F1B5E510091057F075AD348 - 54FD949E9E35712E2F455D25AA7EC559 - D55FFCC3D6832865EBDA17EEF34A2CCE - C6758E6449BDE9D70B5071B2A1D5094D - -Set 1, vector# 45: - key = 00000000000400000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = DFAB6AB2296BDEB8D8B3F6A790F3885F - 093BAD3BE4E0BD63E43F69535F5E77CA - DBA06B447471B03D6A47D6BCB5AE4D40 - 03B8AF7738AB8EB4D5B9C6040A434A71 - stream[192..255] = 9313979FA86022D65C61D902DC0D4F9F - 98C1D026B710B03123812FEABEE5C0ED - 8973F8B97CF7E281EEE0A5135A01F0B1 - 4C6DC27B352CB349273EE5E34541C518 - stream[256..319] = B53E875AA400CB453C7DBF5CEEEE4D69 - 31763C844FEDD960E5410FC3A5E51B19 - 7D252502EDBE71D457461A9D0033E26E - C7F78BD9C39580695914941737645754 - stream[448..511] = DED32F71701CB0AB10C3062F1A15571A - E70F2E3AC7A533CF7C962B2F4C256A9E - 12EA7D7F7DEA955DE6C7CA512A7EB4B1 - 80CE31FDD1F38BD486EF438D52B791A8 - xor-digest = B0EBC9D8BCC2DC7E20BBB7063FA84B6C - 109A619BE7EC9DF5C9C6182AD692DED1 - 0F24329DA2E5C346A659F2DF60BA0F2F - E0169D173C4C75D26363A0D7DB40A195 - -Set 1, vector# 54: - key = 00000000000002000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 9D5E9AA4795B8B5E97E415BD1F14E697 - 3D5E1D148EC12743699A48DADD6EF61A - 4643E9A7C2D2F88D50A8B9A63E003367 - ADDD8DCC464EB1C0FA6C23D244E725C9 - stream[192..255] = 8DC91C4A6B3E6B88EB7EE1E0F7345718 - 6C80BCCEED7197FC98CB118EE13D9AE5 - 3EC8C6917F38FEE09C5C6F08E475E058 - 51D1E7D4EF0B24AB263F0AB5656E3E82 - stream[256..319] = BC2875569BEA6623C7E16A6A87C972C1 - 1EE3782148A48D51F6D9E32CFB42812A - 2D20A318F0D699C9E760159F591EB9DC - 9EF3429A2613FD30EF2C839FFFAC5D0C - stream[448..511] = 6733FAE7B9AE358748DCD6937D494F21 - 46315B363CC50E362C5F585FD350C462 - BD99DD69F2644043100A9E690302CF26 - 4436B96CC818B659555DE0ABCBCB911F - xor-digest = ECCE54CD5721D18E47CAE60E30741660 - 1F03D46F90A1110614728849445E66B9 - ADA53954F9E8DCB746CC4BCD4D82EA34 - 30767E2CF9BE6BF81E19382DB5A7677E - -Set 1, vector# 63: - key = 00000000000000010000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = A88EADE3DE0EB0BA73CE09E995540BF3 - B8DF7485F028B1C3C15D1F813E2C5413 - 5B004E1804EB6FD248505C998B5F2CCD - B3EC043B40FE7A532981F932D107776F - stream[192..255] = D81CAE569DEC3E6D22C83F043B64FC88 - 0B04116A646BBADC38B28848D17028D3 - 11535C1AE172CD85A9B2D3ED4D728FCD - 0A5289DA14D823578E5B8984AEE42671 - stream[256..319] = 18FF81D6F5D7678998B48A51CF0D024F - 5872A5C1084E20182A8C255938339D34 - 6798356AD957663C089939F896330C12 - 747C08E2BF752B4103661B98229FB5CF - stream[448..511] = 9B797430B254C3F4DDB6AA211254ED75 - 13A7403B62D5D1E2452E43DBCC7B50C8 - 266F82A5155D405A5B7E15E921AD8154 - 362799FFE25F1E7ADE3434B0862E9D10 - xor-digest = 983E10E11689266E4569A99855A4F642 - 9094FAEBEBCD68434BD771C8528FDC62 - D357A379A0D6D78B9543E9A4CCAA42CD - DC719C3C880A358B409477D670F55EBF - -Set 1, vector# 72: - key = 00000000000000000080000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 7ECBBF2FD6D7E521A15DD022D0988F7E - 319AC64A9ED55C72E2817AD91F778221 - 98A55A9E9BFC9D01C0BF8BCD9828001A - 18AED8C48E3F6633FA541B74A1799C62 - stream[192..255] = 1BC71E27C8EAF24C12E78A4F9FC8E000 - 625AE2FA2AB74483C8EE3ABB69C77B13 - 7DF6C9213A1EA8D6557F0C1688154B87 - BE22F1B87AEE346AF7AFDE02C4C2C776 - stream[256..319] = D2AF220214395745FA09AF2FBBCDB112 - 0A588713476B29479F48B92F278BF39B - 3048630F0EC091D1188E7CEFD4C6F8D2 - 709187581999E5DEE22745D21C03BCA3 - stream[448..511] = 995534950559F7F3D01A718891ABC639 - 3D64688DE7FDA76C1DCF2B81F6934EE9 - 4BE1DE90F720E073DB9E54DC101BF513 - 5ED06CA4684A73A506553CB8713E4FEC - xor-digest = 2E87F43F3622E1A512D0E540939727EA - A035F7D7C136FFD565BF639C00165F7B - 6C33B969DDD106EC9D4CFAB1FA0D5618 - FD17C64CC68E94DAF7DB9791B7DE16A9 - -Set 1, vector# 81: - key = 00000000000000000000400000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 2AAC5C088CC1EC5D579779B7EEEB7F9D - AEC2DF6224B8E39F9E74511E4E8CAD0E - 59E0BEFCFCFA73DA661B53350A470887 - 11B1ADC5304481515256C94204EAD340 - stream[192..255] = AA9240B5E98DD28D7CC6FDF07C61E536 - 069C5D4B818A96DFF41939A57DF9FE45 - 32F384A624B236064C1AFF1A37C8CE01 - 23B87B7903EBB91D6D83C69C684090B5 - stream[256..319] = FD816941100F6CCA2EFF27C275753702 - 8B371BB985E878229621CA3D0B4E6BF9 - 1F74BAF0C05F661C93B819092CF475E0 - C61EE25FC5FF6CC9BE274834E718EDC1 - stream[448..511] = 0A2B3B21DE9AE621B9DA45091AA26213 - EE2E560D32FA4CB8ADC6DD1AF7EA11DE - B4905EAC39580A5A89A68F85BED6CFFE - 820A79E20265488FBC9E266ADA0C4CFA - xor-digest = 60ABAD1341AA90112B53568014827D64 - A4A39E7CCCD78943018C685D0CC4DEB7 - EE7A203B7C88ED8996EA7B2EEBBECC7D - 86E53A4B5E0646BA59CA88144B032C9F - -Set 1, vector# 90: - key = 00000000000000000000002000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = CB3DF6C584DC8826BAD57EC5B98D644D - AFE6C749F0463744EE1CB03EC81DDEC4 - 4B4948C634552BF4760A0976C67BB2D4 - C53F7A7805FDCC68C3ADB7ADBDF9B509 - stream[192..255] = 0ABC3A02DEDCEE79E8C26D3667B085C5 - 30FD86A2CAB845CCD323075D7D6FD7A7 - 05E7532A5F630BDC205B1DE61DC29243 - A2DDC2750F9AF32EF0CD794EC074AA83 - stream[256..319] = FC4AD0FCAB98C2F3379E3A3D1B35DEE3 - 93B60A327A41BD5147DD17F315DBB5F6 - 625D67ACCF9A460C2CFDAD84403D4163 - EFF59D1356C144E6237A09044BCFF8CB - stream[448..511] = EFDAD499C277519887424DBEFAD5DB2C - 97C97CE5E512871B5CA81D9408F59B39 - 9E23B24AA57DC934C2F539CBCC6A9EE9 - 750B3A5D08ACEAFDED87C325D01CE866 - xor-digest = 7D8E173BD06363238A383D72422F5FAB - 941BA41199C462C2110E29E62350C9AD - 15780C3BC2B9092641A4702B9A696430 - E38F7D0F6FFD1AE59B82787A3A69CA0E - -Set 1, vector# 99: - key = 00000000000000000000000010000000 - IV = 00000000000000000000000000000000 - stream[0..63] = EBF5E178FA8E2E45F53B73AB15C2D54F - A48DEAC9529BDA434E857A809CC7C0F9 - D8F372BAE323FBF79874EC53EAD3928E - DB203A64C601A99BEE4C07473DDD3B23 - stream[192..255] = D461188EA8C5F22E8649B6FA7B68274C - D97EF513C81DA77CBAC826D9D20D9968 - 716FBDA415BBF064DBFCB7D5AE12F72D - 4DD1FC3670A553EE6F23CFDA400F6D9A - stream[256..319] = 031589CA9A8B0C09BD0CB167D3D49C2F - 873AA718E0C9B3A3A515A9D196C5382F - BB6CA5E3190FC20084F5A4D22DD92095 - 8E3A1883E30F7BFB55B40747B495FD49 - stream[448..511] = CF106A7EB0FD339B8EB67F09E2A27AFE - A4117C472AA64CF1A41850062266B48F - 92CB46600E87E811121959B19999BFE9 - 1C68A664A4C28ACC8AE5E6EA477D0A2F - xor-digest = 2480D3C1DCD26EE2B05D964B3CD526C8 - 4E39E6FF48EC793FB82F4AF928073D1D - 80887F9AED832951D4AB2FDB518B548F - EB5A42FE6454C19FCC101019B598A808 - -Set 1, vector#108: - key = 00000000000000000000000000080000 - IV = 00000000000000000000000000000000 - stream[0..63] = 2EABC4033A51B3901B6340BE32F808EE - A319582F21A7CF6633570E82AC879B60 - 3E438847D9E3719EAB71F8E3247FEFA5 - C07B2282AA2FA80CEFFA8E076304FEBA - stream[192..255] = F178E16CCB405A8025FA50215B109BFC - 9CE3A655DAD91BCC64D89BE115D4BC84 - 261DC0E440DAF6028D3AFEA13C9D53B1 - C38E2AA48153CCF3DD9791563E45A98C - stream[256..319] = 284E211A092241828DB7204310536167 - 653D66987537E004201DFF6290CD8C37 - 84AA31D76477908455CD4E1C51F907AC - 69893D7FD3D626989526F4E6891E82A0 - stream[448..511] = 043F1740552381D9A01C882DD0D542B4 - 8EE86ECF6B5D2A23B8EAECCA55224664 - 5702B29F7CAB606417CDCCAFD9B63ACB - CEC56E95C945B72DC457103B2C378A28 - xor-digest = 1A56CC2BC61F1A802CDF26A84BD37A9C - 86F903637E5A1BB21B5829994628B000 - 2A356A4D150DC529907786BAABD0C733 - 4500BE0DDC9D487EC6356B2ACD65946E - -Set 1, vector#117: - key = 00000000000000000000000000000400 - IV = 00000000000000000000000000000000 - stream[0..63] = BA81D9884075FC9E2F9938392EB10354 - 1AD1D4A599A6DAC3E33EEC59235C3559 - 4448E3DAB3B5A5F56DAF7B86B63EF376 - 3728193CCE74807DC7E26087D87BF7D8 - stream[192..255] = 1F91ECF0B6E889D6FD6FA97510D2EE3F - 91552978AC896D69B10A923F6F5CCA67 - 8320765AA5CDD2ABB4A5FB3CAF86C76E - 12280CABB4E74C8543C9D5B1D9B8268C - stream[256..319] = 31BF924BBD38F9FE050E17E50EB66C45 - 081DC5CF49F0F02610828A91F31D0B29 - AAB0D6123D69347ADA5CFB37C8AE5E70 - 38453B5194EA285F798179A875F75E70 - stream[448..511] = 78F5C37A21EEBAB00F7A80656D72AE39 - 5566B8114BA6EC8BCFE8C46D0CEB4C6A - BDE4E4F0F131BAC671F8186821CA01E8 - 69FAB184E938B93B56D1AA3C1D68D3AB - xor-digest = EFA43D76919EF92EED6AA30B4FD2E37D - 461D4377618426C2912493665FBB004E - 0C92A654CB660FB709681F460DD61825 - C7A7089737F5F5DA10023049A0595DBE - -Set 1, vector#126: - key = 00000000000000000000000000000002 - IV = 00000000000000000000000000000000 - stream[0..63] = 23C1F447C5496B37512923D74B61CF71 - 015A25988370C0F4E0E48194E4C3B72D - 0C9519F6A88D8AE9DD319A3C9160A6B5 - 51FFBAF27D374B3E6F624344D06BD06B - stream[192..255] = 019E730A2D0DD92CB417B1FCF42D2352 - 058F3B059E1FA4C489909E0B9B90944D - 9816E45E992893244CDEB5EA6AF79703 - F70CEC7C3E770D2A8310127B3EEA9026 - stream[256..319] = 3BA682C375554002E718ECEAE6768648 - 2442D9643AEB6E4D518A5146263B6BEC - 0577A4A0CCD7995F10B7F1312926C613 - B4BCFA28D37B85C7FE6CC64A26DBCD47 - stream[448..511] = 41D18A4275E2E4DBACDD91D3F79A186F - 6B2F48BBB64D47186C32910E86914BB8 - 74688AEE59998D8CF7635DDED58EA9E5 - C51DF64956C951C1F9123DC1C97A4027 - xor-digest = E7A40A98E52ACDD2CAD780E71312F128 - 8A73CDDD2CABD28EB767A045871861B7 - 680C64DE4986F508E8CAA04B49630B3B - DF931CAF478B2C3470E483F3D2EA71A8 - -Test vectors -- set 2 -===================== - -Set 2, vector# 0: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 82001573A003FD3B7FD72FFB0EAF63AA - C62F12DEB629DCA72785A66268EC758B - 1EDB36900560898178E0AD009ABF1F49 - 1330DC1C246E3D6CB264F6900271D59C - stream[192..255] = 76F5E28163A6F72F4AB72FCD90C69EED - EF6D5C73539F14E7CA0BF6A9F229F12D - 1492EFCFDAD11EE26DE44F0E843178D2 - C989D4F21FE9B53C03C12874E83A7026 - stream[256..319] = 3CDC1D88EDA836767090FB77DAE5ECC0 - 0F5BF5CA8879733FAC19E8DE5C725636 - 7E39E8C9C4EFCDD75DFA9660BBBEB584 - B5593DFF4566EAC37E857D9B9E21FF06 - stream[448..511] = 713B389BD7E1651A450C051B77F83A96 - DA277A370FCEBC4303A18AB1C5FF5342 - B319F0593A67F2BE6DE7D256CEC89F65 - 61FF60B8AB8621B6720206975269023F - xor-digest = 4943A339E572249ED48A06F45BD60AC5 - 26F1ED970617DC9DB29EFE99ACEC6C7B - 82C8F548503C3DC16E79C4D7D7B7C6C6 - 08CE84DC170A72286CEA1148D180A7BD - -Set 2, vector# 9: - key = 09090909090909090909090909090909 - IV = 00000000000000000000000000000000 - stream[0..63] = 4C76978E4BC79261F8608B3E5327AEB4 - 4F2F0305D5F6B6326E0127F00C50DEDB - 85F5915ED2D70C9BECA2866AEBE6D154 - A4CCD80AC88588CAF24FC805974C96A7 - stream[192..255] = 5875CA142FA9AC13170031C71A3619EA - ECC3D6E0692AC276E2CA29864643D364 - 56DFA39E1782D487F49402AE32CB739F - AE267CFC438495B292D21E6B4A21774B - stream[256..319] = 8CEB212AE637E8DE29AD64E7D0719338 - F41AFEB1F1022F30BE485B348722B7F5 - A57DE6F253C6B0828C6FB1EF6C59EEC5 - FAC3D7FCBAB8C6BDAE2310CE77ECA503 - stream[448..511] = 4810F2AEA6804ED4820E5B9E7ADD1F44 - 37EF320686F108947B42991ACC7C4887 - 635E57E9AA90EF29F831D7959936DD95 - 0F466666BB84280764F5557582FAC149 - xor-digest = 7EA2FDE204E339B9C85051F22A46587B - 3619F4F9AE11426F5470D9EAA1629476 - FF156BF2727CB6306E62BABB4A68E9AF - 610D50C8034C5D4E23BCAC487F3DCA03 - -Set 2, vector# 18: - key = 12121212121212121212121212121212 - IV = 00000000000000000000000000000000 - stream[0..63] = 38F35C0172088DC537AE80089719655F - E8671884235DB1F6477D776B8DD158A6 - F6914C168E9EDF0B1020C63EA1851D2E - FE1A343C98ED4B4B23E52451B9BDC3D6 - stream[192..255] = E88226EA0CA8B620A68402F83A1475C2 - 54C875FD5D27C935130FDE6DCE3EA050 - 4F121A7EBF6B572D6EB41240A65CD001 - 5007AFF6C2A8827CC0841A6170C08467 - stream[256..319] = 0ECB78E446AB9C763315031C95E570B5 - 5A5D89BA13A228B80D86797BE378D766 - 59B47D48AF0FDB4C3D439311963B0A0E - 1311E6FA792B089EE4797D9AD023FF5A - stream[448..511] = 44C71180BEDC7E3CD29F80B9922C1733 - 5D815207E848FD528572CF61612A42E0 - AD4AEC01D042461A8C30ED194940F82F - A442DFD9061C03A1B72592894A0C73BA - xor-digest = 127E8501304A0632B8FA27A23BB97321 - BCD67F699D39A35A4324D5E8AD368E0D - CF134D13FBBADE2FA930AFCA7D15FEC0 - B2682F0B09AAB3373069F6DAB9EA112C - -Set 2, vector# 27: - key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - IV = 00000000000000000000000000000000 - stream[0..63] = B90DA1C325244BDA08C319AA6B4ED7E8 - 3DEF56BF03ADFB2A46E9041F4498BE2C - 4B9F76E7AF98697B2835F2F4D4585320 - 36844D8FA3F34121D9BF624556A52BCB - stream[192..255] = ED912457955FE3EDB032F4E7C452A13D - 52361DAA3154A756B1C00B0079DBF782 - AD089F2C090691BF7B66695538402EFF - 893D27969913F25177C01F4CA2FF5195 - stream[256..319] = 0127342854571D0640F2C283104FD6E4 - 4FF9B9198492414C1803E36F01A2E79E - 3EF76F350542EFEA11419692B6A708F2 - 0A6D938306E9212B8F047207E7C5782D - stream[448..511] = B297A467A6D2770B2609C7DC1EA505F8 - 3A36223731550282001144B4DF3363BD - 49802CCDF59D22FC7C2CB7913B4FEFB9 - 49128A2BED699B55D24E5B26C52BE674 - xor-digest = 711ED121D562F49A3D3F66FE95540DC1 - A58F5703108A7C484A53EDC9FA7455D0 - D356D9EA792AC30009754E94CF63493A - 8AA3BEADC0E7D671DAC10390C841F9EE - -Set 2, vector# 36: - key = 24242424242424242424242424242424 - IV = 00000000000000000000000000000000 - stream[0..63] = 38D294B5B1ED0A38C5430A355A5A5949 - 0137741305AD7EB6159A1B97A956648F - B27C16F507D5D5FF8E2B779BFF22CFD8 - DB4C7CF7FA78CBB20445D2F94518174E - stream[192..255] = FE70A06921BC304689079DDFB4CD4BBE - FC64B0C8E014A65F6D84A804E8F8F1A1 - 371D470977F033ADCA960346B189E848 - C899CD90446D5074C3C1EE48DD40F0C9 - stream[256..319] = C9B90ED55AD83A8DE0547000ABD0A633 - 653ED5D3B62EB16D2C3E176952786205 - AA702C32FC37DCDB714D8BB81E488438 - 43B805F2FF5ECE2E6C0A4A4BA5746561 - stream[448..511] = 396490C2E87DDA2FC2F9FD4D2E468A91 - A826ED3FB2AEE07DAB6E33EBB5D657B3 - 2488B38BEE6E316DEA6439979112CC62 - 0989E9907AD83A9479DF253A75FC6683 - xor-digest = 5478F54C1B95FFD16C6C873F900181F4 - EE33E5CB58CD28259E19645FF36B4419 - FF92A289E9C355E769D0CF6F004BB256 - E5134627E4E99459CA3916BC1216312E - -Set 2, vector# 45: - key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - IV = 00000000000000000000000000000000 - stream[0..63] = 0188DFBDAB2AA5D4996601E8CBC5AEE1 - 5254491641DCF5DEB7414FC751D52E56 - C253A98157200CE0C142C355AB961015 - 04991380F77C287212145552C000CFA2 - stream[192..255] = 6957E2069E8F1042C6A46AC8ECAD2439 - 0DB5739043E911FB9BBE4A7071A88B14 - 2867E45971D7C19BAAC4333BC176230A - A67A081EA89728380B00F5173E866B89 - stream[256..319] = B47E8222962EDF8B3CF7E4DF469C81F0 - 40431EE27D2CCC1C5D2B048C6E986681 - 9656F8E23714A227341795A9B881A776 - 9434923C01D25B4B2D60D0EA89580F82 - stream[448..511] = 89E48ABDB1A7F5BF17EC7304A951B1E5 - D152EA7EE181DD9866ABD782C7FCF238 - 66871D0B1EA30527CC178D0FBB0E6D8A - C5CDAFB27F01B7B6AA68413B3E7DCA6D - xor-digest = DFB99C93E6B26D2F079414A370EFCA10 - 5468E93AB8983DE0AAA1AEE3F8FCD068 - 3C20753931A9B13F48F10C9F71F99638 - 1AACA39469AD3EC6BC8B2ACB1DB9ECC9 - -Set 2, vector# 54: - key = 36363636363636363636363636363636 - IV = 00000000000000000000000000000000 - stream[0..63] = 6EC768666ADE02892FF522A9422F5B3D - D802727755D64C602C5BE156DCCC690D - D0237CF95B191BD29BEE5E030E1EB4B2 - CA981BED69F2F4FEBA39C9658450D21A - stream[192..255] = D62AED496AD8BC9EAE570843460EFF9F - 8CAA155E3B1619341D43D416A89C85EF - 2186E398467C6763C6B38AE8AC642391 - 39FC7D77C5DE1BF0304237527ECEF79E - stream[256..319] = FD2A2505BC2484CD26A953A460D43EB3 - 500DB0572509C1409AFB25DAF7A08E96 - 8C45901DD9943AC3558FE2D956045AFA - EC7FE93AFA7AC461E348A6FF67DFD8B9 - stream[448..511] = 1A9AAF97AD789E4003BF48E9B723EBCE - F2DB13513398FF8161D929F64C5603BE - 2D0B89D1B94E2C4A91468EF743C2A745 - 98093DC6EB5069213A1423FBD5526B80 - xor-digest = 93DD39B5F82C8B105C9A1D3CA17AEB09 - 21E77AF3235E3DC1F626D690D9306698 - 60DB7382B38C6F3EE0F250DBB67E8001 - 078938ACC2DCDFE3DC5E2F33FB4EEE51 - -Set 2, vector# 63: - key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - IV = 00000000000000000000000000000000 - stream[0..63] = 6D05510EF24AC345594E94F58E6F5024 - 1B40AA1CD6A62F35BC303CACBB263253 - CDDF54462EC606D6969E4CC5FB719A7C - 107DB872A5119566BF72FE37363E60E8 - stream[192..255] = A1626164C36C6AB010B9A2B944ED8839 - 13A3B9522F66429A75F5E30A03961871 - 26AF86AEF382E3944B0414B274859B4A - 93881386E6A3E780802B0E6894739442 - stream[256..319] = CBC22EEB532BE4B8B80D7F10A00FFFC6 - 22A02B7426DBF648AF398444B8F8D2FD - E4265F1B50CB43B003DDB0256D9E0A10 - 99BCDBDE162E8AA37B107B316B9673C3 - stream[448..511] = A7F2D829EF3BEADAE6D84CA26C81E618 - 6F70F3D9DA4E208754EFAA5A0441D87C - 7AE36AF993E7225A9C68764C87B5DA4C - C08B54A245A296EBF399B91331A6F286 - xor-digest = 55A30CB34036E3A22AAE25981272C8F3 - 6392347B5FCE8101A66023C5B324867B - 783EA103A714E749F14375CE64985A0B - 8ACECA137560D12E941228D04A968513 - -Set 2, vector# 72: - key = 48484848484848484848484848484848 - IV = 00000000000000000000000000000000 - stream[0..63] = 89C61A1182BC868BEDA3FE4A76CD679D - A3DF3A656AAD3AF83BB55C0F0455AFCA - 1B3FBAD0B91F7B1F209E5F74FDBD700D - 9417BF9B4A22BD3B7C94317C20ACCFE6 - stream[192..255] = 1C312223B46A20BAB52F110E04AB324A - 068E6DBDB1EABEA92CDC5063E38B7EB9 - A7DB50FC4CC626761CC00B7D821EB0E2 - D40F7C8DD10F5A975A14689151B38B77 - stream[256..319] = B38D45E3CEC551950D662FAE4241E3BC - 5FC8FFA67A472B1048F45D594EA0715A - 5B1DE277264D72251A3C5024C914A0A8 - 14747D714F8CC583105013382518A0F5 - stream[448..511] = 42D47BDA13625C17FC6E972E68F3AA7C - F8F9F12B900AB9E474C0295B48879DCC - 0832FD53C3C90B641454AB4BA90DD7D4 - 1748F4AACC9AB1E1CDA8007B3B18B1F1 - xor-digest = 131A1E29ACA16C3A409ED6E201559CF3 - 3CD05312376DBF6796D39E2877D23255 - F3308D3419CBEA800F1F2E9DF7AA36CD - 03AC3D6BD228A165A885824941D764C6 - -Set 2, vector# 81: - key = 51515151515151515151515151515151 - IV = 00000000000000000000000000000000 - stream[0..63] = 70977581BC650C5D03F1B3A02672C384 - 250692C2AC94EA0F4A43723E88FE587C - 00B5319F87223F6817C36F21FB852995 - 5CCCAE243D65792A55D6F047DDE1999E - stream[192..255] = C00B41DD0BE80054F46ECE559526ED5F - A87E7196A3A20698F5048183F91ABACC - 9E50AB64D437F05375CE78D75469EB7D - 478810E1C792CE3BA0C253FB1E549A0C - stream[256..319] = C95C6CE222392307CABC95202CE59EEB - 160A25C482F4608616C80B50A9D0B771 - 732262DA67BE8319486F73E4B1FE3DBD - 1B7C97516F0ED02F1F4ABE9141329925 - stream[448..511] = 93984394395B47A34FBEDD96E50A1F67 - 7DCFB1845CFAFEB7DD83A9A7BFA35C7E - 48E44C38F9D33B3CFBB763A79048F6F7 - B6F32386329AC979F7EDF8828734A116 - xor-digest = DF2A33DFE7C90E76DB4E4F2D9AE2AB69 - EA16664B5E0031D800913B6572E1E2C9 - AD4A31D6BB088AA082195F8B4DA56605 - D32A19916474C042F755AB11EE56F6E1 - -Set 2, vector# 90: - key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - IV = 00000000000000000000000000000000 - stream[0..63] = A266B810953284ECAD69E960C9AC8FC7 - 0B94798E55BF7D2EF54EE50319574C28 - 7DF798958FD653B5E5BBAC0519D3F40C - 4372DB7204A3FFF89F6E70BE245C30B4 - stream[192..255] = 72979FA8747EC91B68EECED4820CE7F3 - 8EF0F20240D8E04C5004D10880BBE17F - 673A427D0FD62E8331BA633890D062CD - FE584ECEB2884AB4086E3AD04F9C1137 - stream[256..319] = 77E9FD26E216E6F22D32AA89E4D02C33 - 482570BE05C0E1FAD59DCDC5A3F1315D - B2FE99C4863DE4512EDBBF45DDF51CB2 - EF472481D6BB7EF8C7AA09E45B03F45F - stream[448..511] = 0386E999B6EDB2E52F86B3792A8BD15A - FBC40B44D6EAFAA0D562C6FB2BD16BAA - 3F77F968925DA020D36A109A67ECEFA1 - CC278F022B93169006D79C0F56351DEC - xor-digest = 35BCB2796B3AD76E59C2BDA7EBD7B47D - C99236FAF5F2186188114C1A958185C6 - 48BA837A3B839CCCF55FBA67B21DB031 - D7BAB7AF52A98676CFE3EE4249A530DA - -Set 2, vector# 99: - key = 63636363636363636363636363636363 - IV = 00000000000000000000000000000000 - stream[0..63] = 14F782FCF5C88052A93AEF40492669AF - 7C92F72147C2AB2C18217144055C9868 - 3E2FBB80775B54D119A9A06AE72EEFAB - 999E85F3AE12804FABCAE539A8585492 - stream[192..255] = 663FFAE38877EF1898973355FA27E9E7 - 0BC0034A88C1ABBD2847C46335C18113 - 47F42E18C1295D07D5F75909F0B1C0AB - 45EEBED3356A930E018E262655074944 - stream[256..319] = 6ECB3BB43DC1C4A3FFE0EAECE58B07B7 - 1CB5C7763DF420859853C7973778F63B - 10EB1B854BB8CF1DA0D5DCE6EA0D5816 - BA0508E7A1694ABDE04A706A008252D8 - stream[448..511] = A68ECAAD1CF25C78522FB75D08C8CFEE - 561C2CAA9E0D44EEDB121228F4809F50 - 996B9DB89E2E2F8547578F83015C55F4 - ABE82F371A5E02CC97FC35FE7DA49AD3 - xor-digest = 83F0BDBDF9A82287A650BC70A0C8F38D - 92868DF38D150E4268526A0A51D3A9A6 - FDA27D6FDE8A1A55E856DC891B35ECA9 - 1D583E0470419BAB5C0B9ED4886342B4 - -Set 2, vector#108: - key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - IV = 00000000000000000000000000000000 - stream[0..63] = 359B9D751379BECE129238C22647B90F - A849534C9395EDFA5F2121963D2F0B68 - D9C6469AC8A192FACBA7C27762B22D8E - 39171D3D01D6BB41CC4F2AC318407D65 - stream[192..255] = BB4795A89BA6AC0869B2BBA5891FC1E6 - 890F13DCDE5CBBCB22A85014E554BF10 - DCB0873D79A79438F39DB467E23EE1E6 - 2D2A549DC86B89FA3DF53BA5E5195718 - stream[256..319] = 7AD5CF48C01B51572FFE4E0D23FF158E - 46941F1B1BB5D7DED2BFE80BCC48A6CF - 3DBB186AD1D3F911ACD8426B2A1219A3 - 032104E3EE70717FA7D547014FD334AC - stream[448..511] = 6320933C389A66B5BD72DD69BA492432 - 01861F3524C529DC2869127BA41DEEEC - FCA5D5BA7521DED5166E70FCEC72A564 - 545FE45F29A2DA9DCCD5AB80DFD119D1 - xor-digest = 9E1E8A8A4FE661C660DA51134D1C8A65 - 3824DC5A99715E88F17245436F07E283 - E481D9B0A314B2DC9821930C80F8A184 - 2F33F4219525F3DD063CB9C32D9AAC60 - -Set 2, vector#117: - key = 75757575757575757575757575757575 - IV = 00000000000000000000000000000000 - stream[0..63] = CD479075E614524CA0B4A73BA48632FB - 01C8E9DA532912094D14606F08B81C0A - CD7556942CC4FE4900C4419E8F618AED - B53261B5B97603DC21F5FC8D57887F0E - stream[192..255] = E69AFA41D5DCC57CEE46FFF86551AE30 - D7A4B7CD2082BA8B9F446BA1A8E01B55 - D924E0D788A01D7C75B819D8B88C4074 - E97E1781061DDB3AF084A45E5A2D67D7 - stream[256..319] = 27F75AB01FE45DBF6E661D39159A8727 - 15AB7D7CB1275A11AA3C8CD55708A67A - DCBE98FD8E1DF1F787F099881C87A3C2 - A0135088B99B21631AD115A8247BD280 - stream[448..511] = A75C019250930742A65637B2E60A43E4 - 1891CE1252082CA86891A684C19304EB - 7D57EAA4F8DF4686D05E886C5496C37F - C224455AAE45F071FA654FC88CCBE17D - xor-digest = F5C14A26F22546515005E433E1F825E3 - 6395F5B59566C11C79F0435389DD7745 - 793F8C925E68A9836B6E7B03C0639FCC - CCBB3C1758E28E9DBAB1D9F733AEE7DD - -Set 2, vector#126: - key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - IV = 00000000000000000000000000000000 - stream[0..63] = 1AFC41EB0B3A1AE62127B62AE3B7219F - C34C0A9D904D21F071424A7D07A55E4A - 69AB9FB401909372445844A367C2ED44 - 69C12FFED293DE61619AF98FC5F159AC - stream[192..255] = 48080F88453788279BEAAD61B24BA5EE - 28F0044B5AAEBA5DD6844E2F57A0F3A7 - AF19BE8E7F6DF5BA7D74DEEF01CD5B09 - C928410B02532F66C19A3E677B04AFEB - stream[256..319] = 5D493BE7C17B1D6075F0CFF7C738CDAE - 8B5BB6126A1FDD8ED2FAD3A1502BBA0E - CAD26485BD94EC5FA852AC74FBABB070 - FBC0604F69C11F5725F644FD14E5D001 - stream[448..511] = 7D3D74044FEC8DF49C8A505CF1E5413F - A63F53ED43F4B90DB3CAB6EC08E65821 - F1384E84490C6E5631B021145565D234 - 67010AD6C9A5C729C774BFCAE2D43DC0 - xor-digest = E2B8D71D68ABBFA49D04DFC8A3DFC390 - FAFFCED207BCEB9EC4B6C435A9757AF4 - ADAF3E0734268365C82DE978634696B8 - D61EF69FAF3EF62CFCE89672F1CA7497 - -Set 2, vector#135: - key = 87878787878787878787878787878787 - IV = 00000000000000000000000000000000 - stream[0..63] = DFD7B8D57A6AE51A401FA8DF38395B37 - 17507AF28A9A771149C034F3361E0203 - ECE88C484F44DEB8370D9E77994EBE6B - E05CA8E05E3DCF545EFBA53859C2FBF3 - stream[192..255] = 42996981385309DC8884D65CF2103D64 - F76567EC51266A6DE5BEBC362529B782 - C95D92A17CF4567454422BC72D20BA56 - 9DBCCA81DCD694B2B3DD88A988004875 - stream[256..319] = 43C31B1EEAA67D7506A6CAE07CF9EB0C - 838C72494C14012F58B80D0F4D159379 - 68C860E32A029B3B0CA040AAEE262CE2 - 9C50046E1CE83FF36120D3CE81EA3BB6 - stream[448..511] = BA8D089901F2F5C83E1CD485BC178F12 - 88D1B700A7EE749DDA9A96910529EB5F - 057BC8FCBCD0D542FC3781E0FA742C3E - C616578C8ED918E8F104EDC142BC7B7B - xor-digest = C9D6AB2D64CC7BDB01F89F08047749AC - 38856667B53C87F8B501CBB5F18DDB84 - 820D409D5A44FBEF505213981D86241D - 279C6749D1D0B756BAE39390D754AB21 - -Set 2, vector#144: - key = 90909090909090909090909090909090 - IV = 00000000000000000000000000000000 - stream[0..63] = C60205FE3662A0905EA10CE1D17527A2 - 7565D227C895A8C9426069A9F0F48894 - A96AB80039477BD604762F5F2CB2903C - 7642EA714B27B365DFBFAF60A6E249BD - stream[192..255] = 88DC912DB28D5A2700EB74CE8011A307 - E2A0B8FA2E9B50E38899B4AF1A0F3BA1 - 79CF4DFE87DA0BCC1E76D9A56DB789FB - 18E439849D6B8B6850D0CF8A17726FEF - stream[256..319] = 2247A96C32B9BDC5DB41E7670DEC0A51 - 73EFD83F345DE71CE0A2192354395576 - 4101D73BCB2051C08DA70CA5100C7194 - D22A6C3DADF313369CAF8E545E97E25A - stream[448..511] = 83089E1CCDEF294EDAC0006D6CF49475 - E93324D10A6EA635B2C19D285B58226F - AE271B6166A5818C6C567CDDE508B9C5 - 264C2A6D5A8A4C7D6754CD11A58A6588 - xor-digest = 2B89AACFAAFFFCC15076A79EA8D983CF - FA2CBE2BBAB4BC70464E9801B585FA23 - 618864E62E573F51F1119D32E509A507 - 458DB29422896E0A29E44D2A96FC0B64 - -Set 2, vector#153: - key = 99999999999999999999999999999999 - IV = 00000000000000000000000000000000 - stream[0..63] = A6A3260212BC1A9FCD7336F1DEA05D75 - A48B1B1662F61B1CF1589A91AA66EB82 - 25F58E77BFE7DB10AC31F318ABBDA7B2 - FBA88A57CA8AAFB83A3ACD0D78AE9944 - stream[192..255] = C960FEA579A48D263C514DC4D7173B8C - A325A16B02C87086EFC38F3271087B48 - BC51FC4B8FE936BB87336D54D35E8B60 - F8300334D0A78B48D2E97751CA571ADC - stream[256..319] = DB1859630B7E5D59366E95EE9F680F48 - 1EEB9B880A3E82C85046552A844E5784 - 3D4BBBC50923E806A1E2B03499C4F869 - 9035913D5993757A5CE2A94311A22C17 - stream[448..511] = 792B3AFBA5A9EC89C8119FB8F1CD552D - 6ADFCD61B70481760EB52878CB907367 - B2A5082FD963F56ACCD0F5FE6B67ED48 - EE81ACCBF066DD4178D39E001A6A2027 - xor-digest = 45E67FC4B7FCCEE700CDDE0404160E21 - DBFA6280DCFDAD3865FEC930EFF1B3FD - 799161C8812EB27F6A24985298994FD6 - 5605325D0979CD798F0ECE18886C6E8B - -Set 2, vector#162: - key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - IV = 00000000000000000000000000000000 - stream[0..63] = 94DF00B66C81CEF99E47BCB9AA6B2E48 - CCB408E20D878C56A9328D2422F1436B - CCB7C8B04F8AA12BCF1DEE965EF098F3 - F78540213E755C86FA33B6117BE9E81F - stream[192..255] = DB745EADFB31EAE7A699A84FCD41EF80 - DCDC25334225F7B3E5D49FF58503C60A - 2FD73212719EA17F61F60271C9347E19 - 3A894816DBD39A313AEA33F56311309F - stream[256..319] = 75410B6F256D7E9D2C4DEA9F24766E0D - 1FC3EBC67A5EEC72BD45140C41C3ACF7 - C517E9D8BE1B0AA06668012FB1C388F8 - 098FA03173EC61CCF0252F793E42B4F5 - stream[448..511] = E41DEDE3241806F3ACE001D8ABA5C290 - 8C8D3DCC7E33A4031571D6F5BCAEBDBD - 0DA77831AFE34A4300B5677EC615FC18 - 00A2CA80FEC9CB40AA33DAA1D20D80F6 - xor-digest = 8A80F6234BB7430D1EA7C6A6998D03C7 - CBBEBEA27F9C329012E19B0B62BC5077 - CB64AF18099DFB4113C6430B842BF529 - 0DDE3BC0DF45CF836D766D03B6CDD43E - -Set 2, vector#171: - key = ABABABABABABABABABABABABABABABAB - IV = 00000000000000000000000000000000 - stream[0..63] = 77BAAA833D320DD2E8C8D36D4C1025BA - 07DB396F663C2E50CBC43E640EF93977 - 97ABF342CF471B758DC6A1472C817068 - BC7E30B49004DED1F763DE141C33A0BE - stream[192..255] = 018E53C65112E8C3CD374B892B21C1EA - 80408F1A21AF4EF02AC7CA5A6A55D130 - 0B947E0A93D8980BC2070B082EFC3125 - E37F2A7D1A5BF0A8C8D154B84D6FC933 - stream[256..319] = 0EA8A2C53BCFCD5350B3CC2CA07C0041 - 53B4AEC461D18419071470D8F4BC7404 - F34FB030DCBC4E01B98DEEFEDAC031A9 - 41C395538E95867A13EAC71EBCDADBDB - stream[448..511] = 1832583CC5A02147E6CB3FC2E5157A83 - 3BD5513D14333DE552B5E1517527E4BA - 7069DE68F47D7A28CD2DD2808DF110AE - 1F53353B654E4ADD055032D8323FE829 - xor-digest = 14C12CE94857C60659ACC9DB6FFA02AF - 11840A7E2859DB05FA6436D7B3E9779F - D21CA43BBDB9F721B5164485FEBE4034 - 7CA303DF12630D6E967C0DFD7653ABFE - -Set 2, vector#180: - key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - IV = 00000000000000000000000000000000 - stream[0..63] = 1C1BA750879B3BC214CB843962A0006F - 54E3B0F682FBDD7AECC21EDC208994F7 - E738B69FDDE5E90964CCE34D7351188B - B3D788F435747FAA13EE208030893252 - stream[192..255] = F358238286724199C183D8C960D730C7 - 2058248249104960DD2899886625C5AB - 4844D768FB2594F2CCB751280478364D - C78E631B5ED11343A104338AB8E28958 - stream[256..319] = 0AF1A0C7A000092FB1CDA9CE6D145DDF - C37D1078C00008392BE73C2F34DC05B9 - 9FC4954071AAB16AEBA5A0D8498D411B - 5C1DAE961DC2A74B8FC992DAEFBAD292 - stream[448..511] = CF358444795D941D450F2A6F86811CBC - 2492263D5964C4A45A26AEE228739BDE - 3BC223FE507EB5B9AC6983E213F529D7 - 86473A4DB0764DCA5A27AB7B011A5393 - xor-digest = 78714C06C8C4C206EC238D4E679D96CE - 4C258C46C1EAB4E23D2E55A0061CD767 - 9AFC8C85AB4862D39768DFFB3A0FC583 - 0BD203F66B03BE4FD491E1FE0DD83FFD - -Set 2, vector#189: - key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - IV = 00000000000000000000000000000000 - stream[0..63] = AA10D434183C285709EC2706371DCE5D - 5F8C6FF0CA2B01281550AFE875413B25 - 14D34846E658F9F11BED0F93A427FD96 - 8C62380A46FE8E3F7E023318E989BF31 - stream[192..255] = 2AB885D3EA66AEDC476DC5C59C3D4888 - 2D39907B51878917B7DCF351CDD30963 - 6AD8614DA701B89EC9B141696F77E815 - F95B15AD77B96513E5ED6C7F10EDE616 - stream[256..319] = 39270D1BAC8A3028E55097217ABAA158 - 1C0B8874A21E42533720F0F4350CAA8F - 1940A83B17D328BF0FD50BF8E62EDBD9 - 5DF959FA4CEE952B6098D48277968AB0 - stream[448..511] = 21DD7B64EBEF256536E95403EE0CCD20 - B062193EBCD72EDDCB1B0DE9308D048C - B3F3C653DD93D01F3B266252B11F32A1 - 59AFE3B00369FDA024DBF392921FD1CE - xor-digest = 1A748746F13675F5125F0151D0AD6349 - 7D23517B99000CB5479645F19889E407 - FC770983F7537AF86564F5B323E0DFCB - FAEAA53AF258F151C871C83B5BEB7AE7 - -Set 2, vector#198: - key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - IV = 00000000000000000000000000000000 - stream[0..63] = D4CE9B9AB39183E530A347FE5B435895 - 4899F18A43A1AD9F249522F7B8243359 - EB61ACCC30BB40203D3B5730736D38BE - 057C15D6A2DCCD005395C16CEF85FADC - stream[192..255] = 459CA305A8F73AA0931A56D914A51CCB - 3C6B22C1C35392464BD2BCDA1FB37050 - E2181510546024C753222E678A7CCDB0 - 77DC88DD7C947210897021A72E437DBD - stream[256..319] = 8537F62AC5AD1CDC7C6C910D45111165 - 5219E461238002391B54E7A8BD6BF323 - 1E2CE93AA581D9A8E755B33A382FE56E - 9FAC3D9F3370226EFB99701B4D0668B1 - stream[448..511] = 192691D070C8E3966467F1DAD89D5D8A - E345230E9828C9BECF681DC7AC0B7AE9 - 88656C7333BE93F103D7EE505F05C5C1 - FD8CEA2D27407EE265CD59F6BB5ED7F8 - xor-digest = 41A75368279FA64F63FC895FDC49DF18 - 1EB48E780AAE9C2F548C825BBB276803 - A4479CBFF22E79E35701B24B47B45777 - 26B5455C804E802B62704655B77D20F9 - -Set 2, vector#207: - key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - IV = 00000000000000000000000000000000 - stream[0..63] = 430EEE25DFCA972E12DF2FA3FD1F9A61 - CA16B3EA67C5131D701360C9BBF2ABCB - F2431D01590B300CF462A68FEC3C6E9F - 1F6A5BBB416EE0A098D2995711C9772C - stream[192..255] = 97D49334BC2482B1BEF901BA4A91738C - F6DD9F917862984616DA7C2FA3F9BEE5 - 1329AAADFD5B88A224C7B4EECF1BDAD2 - EE33E2C7060C1EE0E8A4E21D78D08942 - stream[256..319] = 79C06E2806BB38FE558E926E4A2C11DA - 903DC06D384D033984D2F7516ECB2657 - 4D5B5629B79C8D38E71F9A01B9526EB1 - 7E3FDB48B37B6338BCCBC914B7804935 - stream[448..511] = DA2A78E621FE1D105DBD0F7CD45AFD51 - 366533D03C446005EF100DFCD9789C5A - 06A00A7379A4D45AAEC1CC337F61C532 - DE26B1D028E72C399097A04FD7FF087C - xor-digest = F3833AF5AD9FF9AC9B227B1C9D0EF385 - 0B22FF5A0F307EB25654BFB63C61E802 - 2134A69091E5C5DC1E04C56BA2009B97 - DC9D02339578603D8EE4F50D1320247D - -Set 2, vector#216: - key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - IV = 00000000000000000000000000000000 - stream[0..63] = 7960EC96803829CE052CCF5B8205D09E - A417C075068FE91982283DA19533A61B - EAB72F7CC93AEB22AF97AA3B4A5B337D - 36C96BCBB23A073F57F2F378B7309758 - stream[192..255] = CABCE57DB1AFA7127A13498FE1FF87BF - DF1C40DC7F8D69D46EF62996C2AADE35 - 526377F4A09FB10B4260EF7B5E700470 - 1729CD1F0732748CDAFFC14AB6910617 - stream[256..319] = 01898230BE3F6E682480C8333700A2C5 - 1FD38AD27EBBF60CF2DF71B22C827708 - 3A1476E7FCF3348FD5E4E9EEE6CE61EB - 818DED1BA0C09FB96C5B7C799C1656F7 - stream[448..511] = E49D27417583CC79299ECD18751AA540 - C7831C3A0252292EEA8242590714DFF9 - 4833393BCC56403144E68A6BB08AAF35 - 2F71C6AEA9256EB5AB5250DED6366AA8 - xor-digest = E6D998D7F3BF7EEBE45844EFD7EEA371 - 4405D07D6EBF2D5F7F5435E4F557AB4F - 7571015CEBDC2CE0A199D7FF8B0DCAB2 - B9BACAEABE852E667EFD2E82A219FFC3 - -Set 2, vector#225: - key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - IV = 00000000000000000000000000000000 - stream[0..63] = E9AB7EE17B4734823A1522F5D78EBFC7 - 2F8112F67325BC5C12778C6F8302ED9F - BB545EF47EBF2B12380935AD8048B90D - 4B7DBC7759E27C205C94202EB64F8E0A - stream[192..255] = 5B775277917681D67800B3249E7A82EF - C5500F49E7507CFA0696D94FFB021CF4 - EC6955663CC37F9B2FF7A0345A71FEFF - 3712836C66A05C3C6FB9A03EC3D52260 - stream[256..319] = 11ECB0057615CC8244B2251E87449CCF - 0CE7805F669C762F46EF54E8E992737A - BC668204D49ADA49E51E592B79B34BEE - 248CE41C72E8A60366C9951B74986FA2 - stream[448..511] = 3BD82780875577B7ED9C603A240F1944 - 5C3090E36926793F769B11E3C6C8C993 - 697E2A0C1793AC4F39DEC882DACE3375 - D17B72FE40B82FB95575F9B7A17B24A0 - xor-digest = 996E394453A2CDE7CF809216337D1ECA - FF5FFA7414AAACEFFFFFD30CCDA5E424 - 2223AD119B3EA56D50248E7E7C0BE002 - 9640304D08A2B3D44386CEA0098D6738 - -Set 2, vector#234: - key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - IV = 00000000000000000000000000000000 - stream[0..63] = 79D2D1270B77A586ED9C3897C2875842 - 16498EA183465A96FA1D783BF1B1B070 - B46091CC3879E9ABF97ED22A72FBFF2F - F8C72DF9A3832C927FFDE6FD43D6C1BB - stream[192..255] = 4CB1C6953204F5F279F9F334AE8BE696 - 26201C8EBD488E6204DCC9823E022A15 - 23DADDA98E6A1A19BD42B37047A2906D - 19EF12702530DF4B7E597367B4463DA3 - stream[256..319] = 51500A31B349274BBF9A6E324773E5A4 - 2E91DA8482D306C7F13EE3E1975F7BC0 - D9006964367F4D8B28B389652455951C - 402AB51A4ABD06262E0E3A7A8FA3A7AE - stream[448..511] = 01F28C4729556AE8227B306930175707 - C75BF589B3711AACAD836615D666A66D - 255B40302E0DD5021EC4A15BCCAACA95 - 565BF3FB68BCF02D265F911ACDF6BA0E - xor-digest = 3B5FF103A75AFD640DEA7B686359CBBB - A888AB60348CE2FDF301267E415129BE - 46D088D9222139E96DA8D804DA3691FC - C546981BF65265FE04366053229BD030 - -Set 2, vector#243: - key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - IV = 00000000000000000000000000000000 - stream[0..63] = D8AA78A091BFB8D90FCA94705DD86B4D - FBB2673A5ACCBDC4F69A21C3B06A0594 - F470F70DCCA273A2A72C167659B7E0A2 - 76CC3BCC20AB889E682D4E2B70BEC4A9 - stream[192..255] = FD6974FE135C1E11DDC82F2DCF5CBB27 - AF0A8A55084407C3315B47FA41D2C240 - 372C7C4B03F8F90C3201B2269D18CFF4 - C70A13722F46FFC34727779CEDD17FA8 - stream[256..319] = 6433E61D5773ECF30ECF8DA06F8F11BB - 717B268E2C283FDC7B2F7841040EEEF8 - 29216193392BA5D99405A744FB571B6A - 71A6EA188B3BF5CDF9D601ABE3312FA6 - stream[448..511] = B238D39267ED812D37AC81E6D2B29D21 - 45F9337A6E2CB426C8B43BC795832FA7 - 8D94B5E1E83C19D40D3C2B4B670F3C1A - D504DA82D6E83A71BC5E431152B485EC - xor-digest = DE1C9B7BAE92989BCDC7AD0D527CC6D9 - 4F138C8C2A1A06C1AE28405C867191CF - 444F45770CC216226ACB13D2A0A2B8DF - FD81B93AAB20EE7C19E631D9635AD0B9 - -Set 2, vector#252: - key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - IV = 00000000000000000000000000000000 - stream[0..63] = F61BEE71B1353E8E198E9300CC720C88 - 977F23274ABF7F9DEF298B97EF43FFA5 - CDFEB51DAC7224EE6DE64CE0966B358C - 9786762BE880BF00BD48FB1D3D1FCB99 - stream[192..255] = 019B52D05CEC5CFC74F2D26ADA3D2F18 - B4B44D3EC9359A132AE18B33510C249E - D56D0AA2BE16C6213BE2ED47514B70A4 - DD5FB07C317757F5981009F70EEDCF39 - stream[256..319] = 4221E9421F2C68EC8B59660512EA0442 - 64FF35D22DEC65E1ED18E3D8BA359A78 - 92FB5566DA0DA25CD5A3409EF6A6F020 - 59DD632A793886C0032864F16D827A36 - stream[448..511] = 71330EEACEE6E27994023E212D1B8A42 - 045C29F141E4C696F74A0E7500B45E82 - A0ED1F4DF8C78A93D8D6033B780BC22A - F4D8029B82AB447E0D5EEE3405EB0D22 - xor-digest = AB84F0A0D9D1E8D810E76517E5A0B80D - 0B2832EE12AEC48B5DA48B78DC4D2278 - 710DF7664ADD91B1FAF3F14F3951344F - 08515E7D43F8EB677B5CF18C487A697F - -Test vectors -- set 3 -===================== - -Set 3, vector# 0: - key = 000102030405060708090A0B0C0D0E0F - IV = 00000000000000000000000000000000 - stream[0..63] = CCF2DFC47B94B1C67DA07BE50ECBEBE5 - 9F470BFA68058E55529EC8041EAA2107 - A15DBCFF20B1E54B36ADEDB49356FE2D - 4BA86FA2C6FE08DD1E260D7D20A3D93C - stream[192..255] = E5EE7048E8EC8C7904138C6E355D3956 - 1D8A1B824D62DD5267918237E9225416 - 2A192BD543327B9D786F973479F88DDF - 152974B2FCD44DF9B77E1E9D8595F29E - stream[256..319] = ABEDDC8F46C83EF0B3D159B3A1BC6E1A - 4535744E20D82A2013A3013F864D4B43 - 01C54F2BB0F03C775738875C1116642F - 4E6BC1D551145D40A8F978207F44BF89 - stream[448..511] = 804C09F0973A24FAD6B4E7398C57B11D - E670AB2AEAA63822D70C7109E2E1CA58 - 42E2251424C23525980A7E7132BA889C - C2604FCD9F443A1A194646730FE349E7 - xor-digest = ADBA33559432364C670A33CBBDA0C0D6 - D75C6C986D073C473C96286F5058ECB9 - 5B78052C26C5BCDD6138334201B05458 - 135B363B8ADA8CDB3AE0C565C9235646 - -Set 3, vector# 9: - key = 090A0B0C0D0E0F101112131415161718 - IV = 00000000000000000000000000000000 - stream[0..63] = 759D5A8381CB183CB0A01B4A85FBD793 - EC9580339CECC9BDF7DC52F67D8D635F - 1F590575EFB26F906424962D99880E45 - AF25D68181C9652EFA590E8B1E0FA578 - stream[192..255] = 3FA014E6416459F15B5527380E5B513A - CC38193B9A26CC24C59CD6866EFE8010 - 30C950DC2D55B70495D4C11296D9609D - 670E41CCC20EA01349E28A2651318A1E - stream[256..319] = 675B1A11D7F20A18C137EEEB2D3593F1 - 7D1A284A076E4E18BF8B622738962236 - C3F07D4AB453EB4FF0E3A0BD89E21AE5 - CD17432F149B386CD29011D6864B3B83 - stream[448..511] = C2C4385B74B6A38A18590A5A596DBDA7 - 294C4DE7B15EE36F4481E275AE2C11A8 - 17181DA10309BE5B366852035C227BBB - C61F001560F03F2B361B5B8E0FADE6F9 - xor-digest = 26A33A713972455A92FF0E6D65C7A7C8 - 537BD0D9F8EEC96E03C3B39C5F9307FE - F8956D1EC10BEAF467BA86A26E846ECE - F4F330FBD9D6DAF5306DE538F0F76C0E - -Set 3, vector# 18: - key = 12131415161718191A1B1C1D1E1F2021 - IV = 00000000000000000000000000000000 - stream[0..63] = 27D21507A4F5E2C39050B1D752574ECD - 5BDC31D6E8708D1AD950E3E48C53A059 - 9FE6F7B5CD7A6AB95AB9C3FE0EF154E9 - 68882B10A2613A283C9310579F444F19 - stream[192..255] = CFD6E486D72760DD5FD1D246C5C150BD - 622052B7F1938C3EA510F3D0EE47B494 - FE8854A833EBB2C7E579EE3925B19AE9 - EED77434CF7B7AA00833904A78AED517 - stream[256..319] = C6FDE37C40A1FF7B4EA3A8DD64E7A1D0 - 7C4F25C04CE05A3C09F6EE012B458A9F - 93FF21C9EDE67FF06918CA541DD24C87 - 19931323F1C87EBC38F56308A2F5E076 - stream[448..511] = 1E9D3E112C8CCCE11ABA19E941E48173 - EAC5840A3025A88EE79DF2514EDCFBD1 - 3A581C507EA3769FC0498EFC7447C0D8 - 9135E602E06512D25EC773A20C4D1F2B - xor-digest = 122C8ABB06E644953AE81EF78CF4EF6C - A1322AF81186B8C27EB199B5EA7814EF - E6F0C6EF98781CC12FF7A988F135F3C3 - 28BB53B6D2612B1786D4B24D63BCAD01 - -Set 3, vector# 27: - key = 1B1C1D1E1F202122232425262728292A - IV = 00000000000000000000000000000000 - stream[0..63] = B98764C4BEE54B7CE1722955D29F7265 - 74D3B6D2A7F51847A8A5F2BD78218DD4 - 13BAE5A9B76EB7C2140E6D728D430CE3 - EE77FA5446B53D887A600B8C2A954DFC - stream[192..255] = CA3AD141894C09B6DF333C6C42729339 - 45AA6F7F13EA64C1E3043F2AB64FA18B - A3CF16B35E853FC98A67DEB1A9A60B1F - EFF93767C87E583C8B50BA0B80B69AEF - stream[256..319] = 0D03AEE4BC0E4260B48C43614AE1327B - 4FAA2F0813F188DA28C3CF15C433EE59 - 881DD500A53768C5A1231991386E1470 - 2295243CF3E18638B60CCC4513C83077 - stream[448..511] = 4E190889B78B6CECDDCC675FCD336592 - 8D01D945C8B9737CEDC144005A7E2E6C - 921256F89098BB560D39BEAF700CA5DA - 4F4535ACCE3439D9223E357DAD2983A5 - xor-digest = 2261129A59B37D3C9FA15E35B9DA02E8 - B6044084F0EEDA1A62641BD8BEAE9293 - A57E89120CEF2CBE5594C47F96E46C5A - E6FADA330126A4EDE047E40153D5A182 - -Set 3, vector# 36: - key = 2425262728292A2B2C2D2E2F30313233 - IV = 00000000000000000000000000000000 - stream[0..63] = F8088D4E53936A40E21B3AAC1E6D975F - 13BCA7E4D6CF7D926F6B9AAC562790D8 - E2B66C05A075737B75F8E171C70E1507 - 94437B818F59052FE5ED87BBADFAD509 - stream[192..255] = 19686CA73474C6F626390DA198824970 - 9FE43AD003953D102437DFE11DFDBC64 - 432929F934A0758B2964EC3B7CFB8C1A - BE23C6B12132B155D3922719DF28ACC6 - stream[256..319] = 55EA041FDC9CD8438EB7B9C2C5381785 - 57E53ACC75CA512B88D8531E07DF4C15 - 35F60851AC242CD46F56DD35241D51AC - 6DA52A3BEF555E2844DD4EAFAFE3CE63 - stream[448..511] = FDFB1D76CEA5E3FD0C5EE1FDA1717684 - 2120C48956F28A583B291712DEFC158E - FA26FC4A833D31B0EB59F61D942E99D4 - AF4BB42D0C0448CF8CDDBEB336738414 - xor-digest = E49BAC9E963F83F3AE70026DA7DA496A - 0764267F7F5A8A23F7AB32EA0F54D459 - 32367E47527DF738F7255CC890F15FF5 - 8160EC0C1A27260856A822810AE63F2C - -Set 3, vector# 45: - key = 2D2E2F303132333435363738393A3B3C - IV = 00000000000000000000000000000000 - stream[0..63] = 67F1B4269C402D69FFB8B84559E60033 - 07B153631D650E01A3B265739130F184 - 4F6126FA1F957C7FF5AAD71C2E3BDE25 - 94DB87780773B4A4DB3E44D231D46AE2 - stream[192..255] = 5BF80BBE842FA08B4B2EDEEE74626A19 - 69CDEF41D1E731FDCFC906F320A2CAC2 - 8B79B585B0F70A5AB48CBC5C9478E5EC - B14A387D5DB8E60E4EFC86785274E437 - stream[256..319] = 5DC02CB76EAE6800980E204AD9A315F7 - A65C57E2F38DEFCC29FB1153E7A4586B - E9FB7FEA650E326A5593568957BCD278 - A93FEC168D48372068B9A2E41EE10C61 - stream[448..511] = 61D55EB5278689230193C990EC5E65A1 - DDA93955026C14BC32E80036055A31BA - 118911DAFA9FA9160D4C37524F5EFFD1 - 2D575FF005967C3EACFDCC9D8889A198 - xor-digest = 9B327699C5FB098D15CFF2AAE321D095 - A569B6D87AB1BD20FC8FD94AABFCDF2C - 521D3D5657857A6E197B55F371351525 - 171D23F4DC242408730057CE67BE8E58 - -Set 3, vector# 54: - key = 363738393A3B3C3D3E3F404142434445 - IV = 00000000000000000000000000000000 - stream[0..63] = D9B96EA262807FB3F5A8675D81B1A006 - 1D717D345EB2B91F607B853A5A38DB2B - ECDD26626A33477BF07BF9C57FE95100 - A1F142F70DA7DC86E063A58AEB090B2A - stream[192..255] = 597883FB531AA34A2EDB6D83AB2A304A - FE522A9EA6914C556618B3094874E021 - 2316FA67BEAF7ECE4BCF350A817DEA50 - FEF5B76E72E2596A149D99B6971B069B - stream[256..319] = 6090A1AF397F2BC3ED551450EF28472A - F60EE5F2B4BEC18A8B1ADF21A6A476F6 - 8C11F76405ED62ABB7BC585BEA4B0A47 - 988A09A1D93CE2CE95B82C9C1B60E650 - stream[448..511] = 49F88E9C5E53BF43EA422682ECA42968 - 6D794754E65DCE9306D3D9FF206BDAC6 - 442655D27EF6166CB095DA4C301FB7EE - F1F5FA0225EB84CE61BF3856062A4EF1 - xor-digest = A71B962E13E66A678C5B56E19099CED2 - A15480838832FA6361C3C0B5BF47C1C0 - DC954A7CA8D7484D7889FC760227B418 - 73EB611B5AD62FB622F5FB75FE412A44 - -Set 3, vector# 63: - key = 3F404142434445464748494A4B4C4D4E - IV = 00000000000000000000000000000000 - stream[0..63] = CF11B1510C81A296CB185B1BA6436112 - 832AD2EB68B70E52CD68F9D394F5165B - 94DE467FFDE4EBAB6AFB180EE7A2116A - 1E73AB81AE4528273D0D93DD05025D70 - stream[192..255] = 26E9F1C007EA49793D701F21696FDE8D - B72D317BB958F86A35E7BBAC80D62CE7 - 0879213503B04FEB1FBF3987847745F9 - DDA9310DB36AB8F485FEBE9FA6C1C7FB - stream[256..319] = 25C98B6441F90615C6078D82B5D72F61 - 828ACCFC365CD5EC17D5CEE488A51192 - 8826B334A1D7BEFAD7528BC5CFD32B82 - 87F4EC603E21F528B51999F222817DF0 - stream[448..511] = E2CB68B1CFB640B76DBFC5CDFD192AD0 - A7E8BE14ECDF6E20F1C8FD444D073108 - 6932BFEF0EFBCB7F64E5CE79CA4AAD15 - 846081CB229C74013CA0D498DDC69703 - xor-digest = 4BB7025AEEE0FC3ADE977F13A0853FBD - 9F43393A6A0B7C91534F5F2A47009D63 - 79D0B9440D5A36A82974EE70BCF3634D - 131E754FC6BFB8DA62A05B3F4D1E9FED - -Set 3, vector# 72: - key = 48494A4B4C4D4E4F5051525354555657 - IV = 00000000000000000000000000000000 - stream[0..63] = 0CD34EBF2677F222A589B77FC7284567 - C3CD391D85E3CBD04F43DCCFF830F0D9 - 5C9C97371376B180AC2235DE4EF2E377 - 8242ECD6A257FA02F2055CC7116A006E - stream[192..255] = 0CEA97153979B13DFBFC3F04D311D677 - 9380FCA517161003A82CF5E00CAD8438 - 18341CAF98A5BB7CC4D4E487A5878A3E - F0D490EFD4834ACB92EE0FBAA3144270 - stream[256..319] = 700797B741FF36DD80F72A889696436B - A900033C957BEBA6BB3EE71AE3D79A83 - FB4EF28F39B0B3A0E36719059774E6AB - CDB4447CB3CE6CF78E30EE239F537140 - stream[448..511] = 44EE572970D5AB8C094D434DF6489171 - B657A51C610D370EE9517370780D81CF - 47A666A1556AC7B254DBFCB2D1352365 - F62B950D9457E4E364EA980C3832AF75 - xor-digest = C794C46A6A1C155D6922A7CCF4327038 - B48618EE29326A7555AC2A00122D4E83 - A4F17AB72F9A133F48750BF43344D561 - E71C69844840FE83889B542FC83D5132 - -Set 3, vector# 81: - key = 5152535455565758595A5B5C5D5E5F60 - IV = 00000000000000000000000000000000 - stream[0..63] = AA9A1800F63A3D6EE6FAAE48B615175F - F4EC441EFAADB6273B38087417E9528E - BB3E9A8D9E81C6B7863D26C24CACF50D - BAE956DD15EE335C99CDC981B4182545 - stream[192..255] = 6F8CB1506073F5BF7E656C25BB46A689 - 73EFED2E87229204BDB09910180C279F - 23341A1FBB0C40705C1EDCDE8E1BD8D5 - AF9F503901071A857F8315ED2F963114 - stream[256..319] = 3EB29DC8A63E3B61A6EB1062F189BD53 - 54A7DDBB22A6C3B7857D80E5A761836C - 4A91EC1C994FBAF781AC65B1840DD892 - 2A82AF4D6DCE1004B3FDCDE790018C31 - stream[448..511] = 00A6E02F4DCAEEE2FC77318AB9619246 - 64E1DF835DD62629D035C44A1E147D6B - 809D6C60983B9767B92A10E35A651786 - B0B0E1B8FE8BCBBEF4D02BC625E5B402 - xor-digest = CBF02F452CCC84F5D8D3556876B7902F - 324BB22F3C676D3D5C5FEA182A4582EC - 57BB18419D8F82CC8C43737F3B356C73 - CC9452557FDE07F9CB3BCC06041C4279 - -Set 3, vector# 90: - key = 5A5B5C5D5E5F60616263646566676869 - IV = 00000000000000000000000000000000 - stream[0..63] = E5605A67C46B013408F53D1D8A583699 - 389267A63163901506FDB6150CAB719E - D591787D8CEEBF1EB13E73F6A5D3DBCA - CC916D41738008C5453132A472931D9D - stream[192..255] = 0D04AC34DE63ACD3D554E568B4E423D9 - 76B22FD4C32464BBA143163B225AE996 - 4658EF46C19E5C95CA14D9677098C303 - 7C37E77446E8878A5F8794E00FD2E0F8 - stream[256..319] = 1915755636B9E8CFDF50F532F6FD6C66 - 60CA7E53C6037A532A39E56E61C6067F - 99C864B32049F95CC142B019BAA37720 - 1A0C28D747CAAB42E81073F14818EF1E - stream[448..511] = 820E743AC49AF76E030EACE4D0BD568E - 781B2AB82257DF8C407C159CFFC13D12 - 7B869E6E48C5A6BE72A5F1A9877564E3 - CE22D770D9FFE839BA4BFB8D297D3795 - xor-digest = F98873945A95030C43B22CE430D520EE - F6E4F2FF30F2545693C7765D5EB19AC7 - A096799EDB90D661B1379264D5B42729 - E2CB5479FE63BA9B8D409AB98696248C - -Set 3, vector# 99: - key = 636465666768696A6B6C6D6E6F707172 - IV = 00000000000000000000000000000000 - stream[0..63] = 2ACCA4B94538608F318E142FA9DA9DAE - F2DA0FE10DC27C804C0DCEA927CBFBFC - 4F9AF87F67D962130A2DE073D4CBD1C2 - 70A836BE81FF2EFA6CF910E6F558485A - stream[192..255] = 586AC09D4C7285B3CC8A49BBF978D086 - C628229659DA298476EBED38C7FCD86B - 59FEE45D41F480258A44C0615DBA2DA5 - E64B178A2E7EE3B02A316245152F72CE - stream[256..319] = 1988E499CFD61EC2699181A520C1C829 - 3F0AE76B30C4BD0279C937D53054F646 - B318B13703EA193F63BC83BCD501C083 - D31B8E2DCBCAA5CB4B9ACF15EE740010 - stream[448..511] = 797DB54E1E718B6ECAB6F928C3CF507A - A8E58832933F404CE1331FD469643E78 - 3F8BC3004AC7AFC5EF036F8B5D4DB5EE - 16BA7F94C39A39237EF93BAE10E427D1 - xor-digest = 75197D3AF308890C381051938649CF93 - 157F5E1200E87F7A0CCE920B1A378415 - F1DBF671C49324EF517ACDE52BDDA9DB - BACFB24EB2DDA3582DFF0F0DA9A7CC8D - -Set 3, vector#108: - key = 6C6D6E6F707172737475767778797A7B - IV = 00000000000000000000000000000000 - stream[0..63] = 5B1C1C98D5EC2E066FE163A010AB06CB - D81E8E237F4486C3C57C7DDFE9CC4E2B - 6C0C016EB38630B09823CFE1804D969B - 3CF93666F785BF5EED450D6CCAA1ECAC - stream[192..255] = 5519D71CA1AD10191586664DDFF26BCA - 7CEE6FA4C728BC0487FFF71236DD947C - C7F84A9ADE9ACBDDB04CA4576AA11CD1 - 19F676BC908335BE454957280423AB9C - stream[256..319] = BCBAFB8D31351D748DAEB21A4927FCC0 - D206C0DFD1EF6CE6425808BCBEAEE26D - DF29CD37EF61A6C186E33E432298CB7E - 94A598588A7649C3639D3EEA43A4EFD9 - stream[448..511] = 6FED1CDB9C109AC353D8F0A92B8DE388 - EF089BB8805D6622CBF93F4E70939039 - 536C12BB7952550B4A9F62B8F99A3522 - FE12D79D52456E5E2B58D899CCC0A683 - xor-digest = 9A528A131B2DC7999743397DD1191EF6 - 306AC8B7D333276AA11FC5F952DA12C4 - 890509B6B3324B57117736A2FE462B97 - 3676D4AB0F9EC5F40389BD1631DA30C2 - -Set 3, vector#117: - key = 75767778797A7B7C7D7E7F8081828384 - IV = 00000000000000000000000000000000 - stream[0..63] = 19DD8D2D6FED84E4C8983761323019B5 - 6EFBFDDE9D0DD65ACF8EA7064D876159 - 34CA7A8690CD9B688A3A7E2739C0DD40 - 87E931669B47FAE65582F217B703F744 - stream[192..255] = 118247263D78B35C87001EE80D0855A5 - 4BB82A2538BDC4CE4E0508BA9C1AFF2D - F6E3BD124EE8EBBE9C5F8CFF809B22C7 - EC14FADC932266458D049847E4BBDA57 - stream[256..319] = 3ED5D1F9FC223FAF7C35165CB00DC41A - 948089FE364B824970DB5C8EEB277D5F - E1D7EBE4133BC0B5C9AA277360AB3D59 - D990F5F7F8FB2D4839F8DF8F91BC8CD5 - stream[448..511] = CA652B9B5179E5FD45CDD84F778BCA9F - A5E029B0D5F8F8DC9F6848EC6FB90CB8 - B5D6D1F65BAF94B02FAD8F432901B2C8 - 1DF0A7BE680810CBAC3FAEA492EB49C7 - xor-digest = 1D54E85686E20E556FF40B2C310505C8 - B3E341EE7DB6BEE6761CF0FF87D56DE0 - 3C08007AC388112D542875E0F56BC435 - EF698DE5F550B2E6DADB7CF899C670C7 - -Set 3, vector#126: - key = 7E7F808182838485868788898A8B8C8D - IV = 00000000000000000000000000000000 - stream[0..63] = A865C1EC58AEB098342D771FD9DC8CC6 - 257144135060E17F794154163B5B50E0 - C175DADFE996D8D9EDC24F528B403EBD - 31B181DA7621E80465F5609656D2F6BE - stream[192..255] = 6E369A08D533239B1813FB1E64FE4016 - D5A168E7B082AC17782FD536B1614EEF - 9B96114431A8A20901442B17D359AA8A - 616CDFF610EB376A01A5424443724BC5 - stream[256..319] = A6A4AAC9510367507B3ACD133FF4621F - EF8117A2F74CE892273D852801F6B788 - 3B4CFA27124C42D424131AFFF2890AF9 - B7EB6F70917407991169997C9014C6B8 - stream[448..511] = 54DA1A3C64310F07888F043684AC5081 - B35962F34CF46D8B1BF8CB9079A0CB7C - 3AE2998F6A247D758D7C435F2A509E9A - 164A0CB7F1D9FCF1DFF99D2C7074198C - xor-digest = 44F37D188FB59A4BB0BBD69BE1592797 - 65135A26C7EC258CB2FFCA9BCCFDC005 - E9971F4128215E73D9EAD8C6B0465C98 - DFB9065DCD07E83DEC0001A737CF8DFD - -Set 3, vector#135: - key = 8788898A8B8C8D8E8F90919293949596 - IV = 00000000000000000000000000000000 - stream[0..63] = 0707B0C6C7CFDB502FBA27A9179AC77A - 8EC79404E4DF30E46B0512EAE40876BA - A0129C7C6A7D61A264654AD3C7822B68 - 80AAEF7CEAB7CDC898F11F217BF705BE - stream[192..255] = FE4ED3B451213FDF4847305FEB8E9FE1 - 2C359E24DC7AC0957DF2558D300FB0CE - D38A9983F6CA936514983BD48F80A596 - A2CE35993ACA48ABC500BE4E766699FD - stream[256..319] = C5BF4DC95100E2D7F6792F6AF5F31371 - 53D418611ED358EB8646CC359FF18770 - 93C18CF26FC4DD646ECA8C4A199539C6 - 64C92D30F2F3D652DD2E4CF66A6F1725 - stream[448..511] = 588425C16BD8DDA6D1D34950A40E35C1 - 2CBC1F62542B3D3F6AE4069DA42CFE09 - 8B36BAFC94356A4EFFA655EF8DFC281D - F47FA499717D95FF7CA81EA175E2D6FE - xor-digest = 4F543EF4ACADF04EDCEAB6841B794C70 - B9CA52B336CA4D6696E5AF632271367C - 29815CA30CB0528546FAB08A6AF9016A - 9B25460BD71FC1D00C516961D3A0B448 - -Set 3, vector#144: - key = 909192939495969798999A9B9C9D9E9F - IV = 00000000000000000000000000000000 - stream[0..63] = C95BF1BBEAC136B08DB163D8A12CC5D1 - 53D2C485C257E16BB5EAD3B93BA84D32 - 352DD608CE457C3BBC55864B1FAE0296 - 1180FA7063C3E9AA05A471F89E9E8C92 - stream[192..255] = 112D3B048885FE87290E91C2288A605C - 669795CAB3F78FE8C6E15204E0FEFB5C - 9D0C690C2CC57882AA3C276E94414DE9 - 376531151D9BE1DAC6D784E95FB196B5 - stream[256..319] = A073295F2907C05C3CC3A17B8E404338 - 0BC74C10864FE1EC6F043DDEA356CB48 - 4159EF66A944668B55131F4BE61D7F4B - 4EDA1CCC0CDFBDFFD79B9A37D4E0DD01 - stream[448..511] = 42834D089F1518A4E6167174E844E51F - C31BE2238B7C2F306F1DCC3FF7DD30E6 - E9B0CD089B9F9280EE40D3416339E1D3 - 47F0E29593168593203825261191D02E - xor-digest = 86960034091CFB6A6767B53B66713632 - C6272B95347CB92D8D084E8794984516 - 4AA48669D26826E2C84907C2CEA78727 - B0D3C9E240A361FFA661F00670C3060D - -Set 3, vector#153: - key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 - IV = 00000000000000000000000000000000 - stream[0..63] = FB01986DB035CCE47390DB060C6A31D8 - 3C9E93F728E785ECECE34E41D81133A2 - 69C5917545B1FF479F4C45BD1F6AA46F - 3F9591C54F3D67A8BA7AB6DD9D7D07FC - stream[192..255] = A056ECB565EEEE24B5C42C501D78882D - A9AF1A9B5BE4DAD286E695A23D516D52 - CA83FEDE7CA0853C01D8043CDEE992FA - 1F71C90DD5C3C95ADD5FED24575A4DDC - stream[256..319] = FBDC6515174B6E51F3A9804AA2C34DD6 - C03F0EB5202CC36D5602D58A2630390B - C9D7A452680F152767F4558B3160BFBC - EFD49175AB0FCF62D2FCB8E78E1CECA6 - stream[448..511] = 774009D68AE972386F6F4D0467963670 - 3E08B4CA05B801C5FC84376343B505F3 - 37B9052F7280733BDCC026529F48BDA4 - 765D1FB436CDB3DA0FB69F148894E8A9 - xor-digest = 41CCA3720EF5CE5F8EFABE447C3BEC9E - DA338E5ED14ED24B21F66BC010077475 - 16C61E91AC9E3501F2E8D9DE2E619ECD - F995AFBA554A8AF21E89EAAD9FBE9913 - -Set 3, vector#162: - key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 - IV = 00000000000000000000000000000000 - stream[0..63] = 0DB9C95EF6FA9E4F256789098C2F589E - F5F2C63E8F38F81661A22842C4058E42 - D62675CF0F435C6441A905C46A5E2B55 - 98D87AA7483D5036DBC6DA6F795B95F6 - stream[192..255] = A195496ABF83B1EA9BAC8FD119F0514D - 5C01B2A262090DC52DD00AE0689DA3E7 - D9AD502FA2F3740EA254E8542296A3C9 - DD4D7ED40EBDAF2237157BB197887DCC - stream[256..319] = D5E1BC7E5C9B1F47FE69662C94D2C83A - 8B92217E877379F8BAB56CDBD5406CF8 - C18E1E2F223226EB9ED272BB66F7AD60 - ECEE3CA6C84A5E1BBA1DA733066C0D6F - stream[448..511] = C79F97FE9EEC3023430857F95A1541EC - BEEA487C1C072F81736CF02AE97D1A77 - 2C81A69FD2C58D85976DE47F09958BCD - 4382435A952C27B45EC6E387EB0A0333 - xor-digest = 65E3A3C2314794333A620A28C23D5EBE - 884D04CCEC9F7EC8892535B5E937C9F1 - D2B993451DC35047872F562C9ED5EBA8 - AD36B8B67325032A2C135495CF8A1683 - -Set 3, vector#171: - key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA - IV = 00000000000000000000000000000000 - stream[0..63] = 505F4C9084D6F5C640C214EFED9E2DF0 - 8EEF8241ACAE98072B5B3EDB72F1687D - 586B2569DC7F58DED2C2BCD134CB6CF3 - D80A7A879D7878C080A5BAD5ABA1DCCF - stream[192..255] = F38E694DB538EA115B3F765694B7F647 - BD16B1E50C927528B13FA2EB811E8E8A - B7A56FCACD80B1E7861733E0F8289E5B - 3C461080A858FCAFC85748DC11CA007B - stream[256..319] = DEE9825C69B6F6210381ED04A152A029 - A7ABC8D6C23D2895B968142E3A9C4D16 - 8059A067F309C2E9491426BD0953E4B5 - A6E545EE62D4E9363205FA50ADECE92E - stream[448..511] = E2C07AC69B0D646D013AB6129A979A80 - 0977C0B2E3505CD4DB4CCB4C2D02A936 - DDE87099B8F69301CB8A441A1CE6EEB7 - 9EB73A32F54D1B3AA1A5FAFAAEB0BFF5 - xor-digest = 58B7C17AF5B37A6806E8019BBC243F2F - 779B2961C0FF27B78EA54587FDA31F4D - 43AA70643AEB9BA547F814C57107B760 - 8D3DD6B06C6CA5BC0FE55A31274B4B5B - -Set 3, vector#180: - key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 - IV = 00000000000000000000000000000000 - stream[0..63] = F43EB3DC7366C02A6EAA1BA286589786 - 3A2221D8679C3F0399B2119FB09D2717 - 8C262A1CAA0711E961209288EB03BC19 - FF9FF74773B10AC28295FF3BEF1E2B70 - stream[192..255] = 453BA5A1529349A29B1CC75B9835E642 - 9587A1E06F96A5E575BEDFC7CB6E6C79 - C7174D10F908C1688E9CDF6973971A89 - 2764D7412F054D772BF3B97B194717B0 - stream[256..319] = B2353310A194E71847B541FA5A301E56 - 6678FF7148960C4C2EE2139A338EDC4F - 082A79EC59E094AE01E3D9585033350F - 7E7255838EA448658ACD1D1B56546188 - stream[448..511] = 647B02009ED90BB30849D5136432AD33 - 759097A5BB30DAA7D768FD7F7F5FFCE8 - 513975CE19501ECD4E194A1C172F7A01 - E75BE6598CB0BBE4DEE6E1C364BF9C36 - xor-digest = 890A2D288B3BDE3AB9B9214DDFA6BB03 - 390FDC8925358A0C99C44543C8EAF224 - 64635D46AE1FCE0CA494A6BC7F127F23 - 2B8EC742C518A73F6B2DE22F2F564749 - -Set 3, vector#189: - key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC - IV = 00000000000000000000000000000000 - stream[0..63] = 17638771CE9C92633C8820B9FF9A7D20 - C0BB3ADE5D49E16EE463A6F768D0191F - F624A8E1E36DBE1F35EDB6EBA4587DA0 - AD633F1E6CA8072A3871C580037F202C - stream[192..255] = 36358F7049F57244EEF847ECC80803B4 - A9EDB8B97CF098F87B047D02FAE2043A - B4370B7C4E87777E049A79CA833A2F40 - DF221E8B34B710591A24937D19F39BDA - stream[256..319] = EC6A73C4A816CA1C3D1DC0B2A1AE5409 - AFEA32DD3B961BCE9F27FDF8B46E8300 - 28C2C75C0596D1394E579BB4239FBAD7 - 258C7BC7FB9E1C5465439177E454FA6E - stream[448..511] = 1A5ED8E740246F0744218C31668F081D - 333CB2C4416504584CA1AB6E7C56C82C - AEACD22E01CCC23C1A9E8BE94AF90C7E - DEEE590D8F75C9A1EB2134CC1A44AE0A - xor-digest = 2D664EC9400F9864BFB1CECE43DF3971 - B8EEECEFE3507CE09F6572A9C9743EB8 - 58B433A6FD2DF24605BB505B4D732050 - 8C89F38BAD818FB3893383DE2C1ABE08 - -Set 3, vector#198: - key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 - IV = 00000000000000000000000000000000 - stream[0..63] = AECDF83CEAFC62A35AAE0B56DB5E6608 - 3ED8144A470316E5768F898741181B39 - BE1B44248B79446A2B8551A7F71009F3 - 4BA3799E8967A961169A2949979698BF - stream[192..255] = 1162529D235C48CBA87E0FAED1209825 - 4F0C650835F5A0C44B01FC1AB0A53ACE - 496709D34D632E42A98CDA3A14E033AC - F01E869A8263D0921619C26D3EC150EA - stream[256..319] = 30F569D183A30142A2C85002A7768DB1 - 1B12025C41B0331458BE45DC53608B11 - 63E130EC0D6940C2DA7BCB40881270F1 - 1D79B941B6DBD4B53A093CDB9DC3BB08 - stream[448..511] = 6170D203CCDDB9E93F3BBA8E195214E2 - 485BCD5E96031B5848C433D2BAF4AD4E - 2050902F0E6F0D71D034909B58EF6E3A - D8D72DFF40449A96F9DB8A2691FA02ED - xor-digest = 8D8C29A1126A2C135938D456B61C1C22 - 88F42EA3CC4AE32C2D9AF46A3393EA9D - 13719D95D2EE3F62D261807FBD4B504A - A189EF6CEDF6DE1CBD0C9223DC485044 - -Set 3, vector#207: - key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE - IV = 00000000000000000000000000000000 - stream[0..63] = 03FA3028E50F89A3A26FE0C9A59D4D8F - CD4F6664621464876D0DD0070C3C4A4F - BEA73FCF1858F583277C9A8AB098DBD2 - CE9DC0BD491A0069D48812B45D99BF6D - stream[192..255] = 4BFA1D3877F91E02E7B59C2BA54E80EE - 88FD0217E82EDB379B54F8AAD1B87308 - E908A3740DD0A6BED98D95A89579E18D - B12960A3E8C2DCF39F84BFE48CD9D8EF - stream[256..319] = DF87530FE64F198DE0F5685C24E6F752 - 776A64B5355FDCC7A734A195350A05EF - A9BCBDC50D12A81CB89F49F330EB2796 - F3C0EC3A2AA823AB1787B4AE2E9F4B84 - stream[448..511] = B62D2660AF636D037FF77CB2DA14EEED - 1DA4C10E4C34C3A170F00753256F021C - 6B8058A71680B8AC68F0E7B73D491E77 - 21CB13DA097FBA6630DC814920993501 - xor-digest = BFCA05D3C5A76AF3016B56245C890022 - F173D207ABFA1355C4AC75CD44440227 - 40BDF92FA07711FFFB49C3FE49F63375 - F242014728E308CE8261AB6971D82EBD - -Set 3, vector#216: - key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 - IV = 00000000000000000000000000000000 - stream[0..63] = 3FF2373E4F64EA27FD8C86D971D6C497 - 9AA558C47B291B686BA3EB4C848320B4 - C2614E739FC890F78FBAF82DDD01EFE8 - D93CF5A5068A0BCC4FE41F87B4FE82D7 - stream[192..255] = 7BD47D4550A516BA255A572D948C143F - 8B46F2FDEE81E80D21E9A64A27A89FC6 - B00BF842251F5094326BA41055D83D75 - 3A7A4DC88643BB8D8207CF4E6B5D6360 - stream[256..319] = 9EC176E21634E97E52F5D8D42BEC590A - 5F4A6D0671BE640B7AC3C790AC521911 - 3862151C7EE904BBA1B1254CA5FF8A72 - 83EE9F0A3CBA3A0A38F3CBCECA7AC751 - stream[448..511] = B87FC33D6F13852603A069DD88143790 - 4922F8B3B98D383B7082257077DCDD01 - 1B2B0390F6B680719D91B815A0421DBD - 5F3687097C63BD0AB1B59EBC12441A43 - xor-digest = 819FEAE72A30198453E6B7E0566459FA - 3A325C59B0B1BEC7B1311FEABEFAFD0A - F7EA6A01603CD81DE8E338740573C01D - 94D57B04AC8F4D5CF26DDCFB7A9A85CA - -Set 3, vector#225: - key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 - IV = 00000000000000000000000000000000 - stream[0..63] = B378200C66DABE0FB33FFC336DB91F9F - 25F65CE152EC1D11738AE1DFA2B419AC - 31AA2F559A63CE39B8829E2E880437F5 - 7D83E3680EB41CF262A6F8025EC8E733 - stream[192..255] = 739C9F273A1A8312214B4B3FFD58615D - AF751344F8D36BBD79A11BBA93BD0AA3 - 34CA56667A6B4A98B6209F0765D9E4A5 - 163756D6AC6861A8DE65777B9B5F4950 - stream[256..319] = E7C1F35E0596EAAF7954E0C7F0423C54 - 60E23A0106FEC3F1C4EBC571AE016BD4 - B232C2E0A8C079EA1A5DE6A2D18B1B79 - 5E69ED4DE32AE2011805A439493223DC - stream[448..511] = 91D8B977B8BD9F8E84C097AB9454FFE7 - 794908D3B1D98729036CF2DB77056F10 - 582C1D1EB084EC97943117FA428C5B9A - 7ED1736E05BCBB55E9E0ED1FD0113860 - xor-digest = B05B91E712072C9FE4AE5C4BCFF3AAFC - 954380E58A9F264458EE46ACE1194032 - 2B1CAAF21117E26A6B490A1C93761A49 - 92982F4277E36ED3C4B74D31D3BB2ABA - -Set 3, vector#234: - key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 - IV = 00000000000000000000000000000000 - stream[0..63] = 77D958F664235976A8696CDBF0A3362C - BCF3EA19D524F379B02D403F79F9A067 - BBE8F1365B0BCE68699E0A0DA273F117 - 2EDA63B4558B062EF10743740825665C - stream[192..255] = 99B50E13CEA45209DB8FF0F3FFDB568C - 7EFDB1E021435065668313F23A57DD75 - 0676F550EB7C5C5FDD65EBA84B00AA02 - E41039EBCB5AF806339054EC8E9C9567 - stream[256..319] = 64CAF7DF8BDAA26D9BC8B49F99CAA94A - 0ABCD947E23AD676E3CFC95B4461CA78 - C17DF55D2ED805AF80B24BB57E3372A5 - 4F7BD4B4A1A0F65581BF0D409198199F - stream[448..511] = 98595F685F9884606A085383B2437A8F - 8D8B7536D30C693B13FDE9F19DB847E5 - 22B1C305A9BBDBB1F0D402A7794460E8 - DF5A4E719CDF48986C7E0B91A801742F - xor-digest = 54D02F27FFB007DF1686027BFE0F4978 - 01C265DAFA66F72EA530F37F82E8F25B - 35B6D7E2BBEB36F4DCB98C7526A727F1 - 452296BB074B8BCFB878A5299E052B9B - -Set 3, vector#243: - key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102 - IV = 00000000000000000000000000000000 - stream[0..63] = CCFFAD20ADF1C4B744BC6B2EC9CB29B9 - 12F5577164F188BEAD1B8F5884619756 - 350C6514969354F92C33DBEB3553E546 - D00B7321409CF15C2B1BF1D30E1B808E - stream[192..255] = 5D2AB87447F536F42DC3423A3F5E0C3D - 354B648D49A1D613E741FCA61E450D7F - 4777CB7F19557AFB0E3A49E8005255A3 - EF71C5389A5455AAD803CAA30C75E263 - stream[256..319] = 53764B5DDEF40B7C66414E2855FB5D70 - BCE612CB71A7478D3C8D6B42918BB8E1 - 4B12B5D48BF8C464B60214CE96E1CB2B - 6055A167B6BC4BEC2FE87B4C31441CAC - stream[448..511] = 2E4FCCA6545573B051885454D384B365 - 546DE212F89E14DFF2B27A97FA3D5CD3 - BA797DAE4815E8E01629F4A95321E1B1 - ACAE5AFBB2E1FF74D0FA5A31E09A76BF - xor-digest = 4DCE3E84B2FB36C6A268933805F307D3 - 6B9F8B2ED75BDFA9528F14E96CDCD7EF - 77AD88BB08CD19BEA854C1F66216EB4F - CF23FEC02A128FFBE7219244A72FF66C - -Set 3, vector#252: - key = FCFDFEFF000102030405060708090A0B - IV = 00000000000000000000000000000000 - stream[0..63] = 87E3FC12C86A001AD83DC4B364F49F3A - 331C286890826198B6D4937E6804F17E - A9701A1AE8BD09185C1803649959AF65 - 1726A25C54533924E6112F923056F09E - stream[192..255] = D6E5A2371EC564FD24213259599665D7 - 9A31404C3493E005F611116C7F7B48FA - CC6A949BB1746BC5EFE93D6114A1AD5D - 444A9A0391368106BEC2D5DAB96343D2 - stream[256..319] = DBB63AE5E1B11D8A014CDECDE7B03DE9 - D59A473563285D52DBAD3E7E4C1E99BE - C455E7CAE251B3AF52234CD9DE49BA55 - 2B19E5A721C994EA57AFF2239B42C0F1 - stream[448..511] = 339B85580D35BA903A85D2B45249FC31 - 182D7E1B894DE9584906C2E210319EA1 - 168E2E9C582CEBFCD96BEAD69E22CAD1 - E9C5AD2D5E3B708DC1F6B7E36F6E65EE - xor-digest = B3DA36B9D7E12E6761A1C7F8533370F1 - E1D4C4EBA89ACFCE4F24FAC989A7BA87 - A1E0E61BD5A89895C04513D4813FE066 - 6542738B77319BC7282D3209CE08CEF0 - -Test vectors -- set 4 -===================== - -Set 4, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 00000000000000000000000000000000 - stream[0..63] = B1B7CB35C1FFBE7A34E645B05C98501F - 2364C719BD94186DCD66351EDEDB5179 - 169D2EFD6BF03AE1B149DA229BE5C961 - 37C10C3210F8FF34B51A366E437DE0F3 - stream[65472..65535] = 5610AC7C3006ABADD3E0AB13B3D7E945 - 586A00964AD6DF9939835FD46D8B2327 - 15E447AA5D5CC4BAD03A495DC38BBF1A - 5C86A7D608D397694BCCCB029ACD1883 - stream[65536..65599] = 1D7469F8EC3D021C5FB418A0D46A19C4 - A632A7C1BF298B500ACC2D5C39384F5E - 7837C964465FBF3990602BE3381FF556 - 38114E41DC091B0AC1BC51FC6E70F98E - stream[131008..131071] = 5F1A8DD0D98D377C1378785F9EA7A3E4 - B17C9625EFE2650D845A4BAC7723B193 - A3AAC199A1950D7CB1D66380A566A8BE - BBCEB0DD7A700C5ED74E55E29933FC6F - xor-digest = 3E9A70E4A49AE98473313B957F781F09 - 237A172CEFC9068D4F95CABB57358B7F - 40839FFF4258C8BEB466A975B4261753 - 02BD1F4B9D4621436213703A3B99A719 - -Set 4, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 00000000000000000000000000000000 - stream[0..63] = 54182309BD782DEE44FB59B0EC694920 - 2B372AF8D715271A96D87867E65A067F - A5E52B455B76D400537B5D47C4AC318E - EE4C2ABE29F56107C213071C85828605 - stream[65472..65535] = F7D1475B3FA625D86467D4C24915038C - 43D9B81A13E7A08B333B8232D7F849B3 - 1442C014F49EC5814E15B607F11A73A9 - 61C04D305B2F71B7B22DB9D6055B7371 - stream[65536..65599] = CA286F0F05CD6C3BDDDE6108C8A0AECB - F6ED3FE2A39A976D7970FD100A242464 - 42D867162B87DF26EC2B04A990AA7305 - 94C8072994E80B2D6426B90AD0873B61 - stream[131008..131071] = B1FE56B55C9BB460B8EF4F9157B227DE - AACACFAE9009C61C16754EDC913AE3D0 - BEB00C99095C48A12F4485E9AD56BE6A - 6F9C214ED11E94086F32F945C0C3F6EF - xor-digest = 4667B465D4CD7E215B6594B648B05EE4 - 7D2770A69F5FB3A49AD66C1C823F2E6A - AAEAF0680A232F35EA7CAE919F477301 - 0AE66193179E51600ED840D5047F5493 - -Set 4, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 00000000000000000000000000000000 - stream[0..63] = 203C7A9050F5E4F98CB72D913B8E7FB9 - BB2635F8ECCDBFCD231B4EDCA96A24A9 - 9F71BDD76CE42B982228ADCF9385C702 - C2A767488DF42D5DBD8DF2884225367B - stream[65472..65535] = 94E590E29B3A371E5638E55DA4AAA1D2 - F2369CF9EF69EAA0331B4AB01FC1D7E4 - D27A41EEF2C15C51256EA111933BB71B - 5E948DE575258966A03ADC426A3AE9E1 - stream[65536..65599] = BCE13EAD9E39CCB67374B7D845B1B347 - DAF7C440162CEA622CCA3E34E9BFE35E - 10828358DB1F595C19A0A0CD16C127AC - D49903A5159564038BDA4EF156F9D004 - stream[131008..131071] = A4300187C3E146EC1C0F3568C147D668 - D00BAF2EF5E1F71686DC491745C6FC68 - 27F54AFEF7B2DBF9F65D5FE549B96919 - 4BDA10595556840647DD2A4BA22EAB63 - xor-digest = C575DB999E785911A2AEAEA074EA0CD9 - 2BA978DA488A3657341572F1B33E8009 - 07977C738874012CE18E487514FBBFFC - A2E645EB4632862812B7596ABAF1ACE6 - -Set 4, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 00000000000000000000000000000000 - stream[0..63] = 4A82E7937D7C52907515CDDDC1E8445F - D0ECAD783B25079AEDF9D694CE70B723 - 792E33F6FFFD438EECFD3DF933AB48CA - 7EFBB13A31C1E3E86249B8F9D188B7A3 - stream[65472..65535] = FD302A0A44AE5D3BD5554C508BD70D8C - A1803BE72ED426B8D57CC13F899A846E - 5A7A326AB25645EE27A84973BDDB82EC - 103AB97C16080C5FB117E10A8E252A4A - stream[65536..65599] = FAF43B81BC56F7E44BF5FD5F49581FC3 - 51244ED84492382D28A591C022073350 - 4F7B0267105D68566E9FCE5B52B7EC5F - 12A9131FACDC489279F8AA8E9E8E0A2A - stream[131008..131071] = 37C98A0BB719D5E166BF79AD35EBA109 - 9560BFD07144560F4BB91C88B34C008D - E7665BCA98D7B65562B57CED509684C2 - 6AE9011D0A9D674F30E7F9DC37E680D1 - xor-digest = 7139AAF66BE2A8CF28852D9FEDDF47AE - E1E229905F11F191AD60CDD2E1C9433F - 41F1D4BC92B10C8B988824C86B04100A - EFF77A48980691C5636814E04F1A656E - -Test vectors -- set 5 -===================== - -Set 5, vector# 0: - key = 00000000000000000000000000000000 - IV = 80000000000000000000000000000000 - stream[0..63] = 337F8611C6ED615FC2E7D28C6DAAAF1B - 2382AE24592D1E61218220A3775F529A - 7F050B7D4262E3600940F167742FBE4C - B0C147B3C0592523B890E76F59AFA3A8 - stream[192..255] = 47B4B94D6032E42E28BA280B06863134 - 0E65EF25AAE97BCFF5CA83096477B186 - 352757FAF40E7DC007FAF51484B54651 - 2B089A7BD3359258F3E8C0E3DE07C316 - stream[256..319] = CAC4ED541686A3BA14A68CAE81C0B1D0 - D973129F8FD712F1E344CC7815614B23 - 4412F351202D4FC7B622D905B8AC50D6 - 59613FD8799443F89A8E403EB46F7492 - stream[448..511] = 5C4ED1241AB7210EF543DC2732594AD5 - CC5A18AA3AB2CCB9B2BF17CAC28F6105 - 1152291EB8674493A12C0B3CC2C7EE09 - F1A258C5E078080F5EA70F3F587BEC5A - xor-digest = 4EF4B4DCF35FB72D210AE0546DD4A3FD - 9FE632736122E80559A32FC165E9166B - 59E2BB15A066307C88DD32611EC849E2 - A54DA4B47C5E52AC26375D2585EBE798 - -Set 5, vector# 9: - key = 00000000000000000000000000000000 - IV = 00400000000000000000000000000000 - stream[0..63] = 982727CC7FECD8C15B09E6967B624366 - FC902BBFBF9C608B240626B735C6009B - B6969A8D40EFD0546B056B181561034F - B51A6D7C7BCB34447CF5CC560824BAA3 - stream[192..255] = E8E61B734A6EC0DDCB4DF3248749B14B - 6CCCDADB8F24A090B7E5A49603C475AE - 8B6F8353E12FE7D8CB3EDA81E6DE9778 - 2C52BDA59FCF4CFB2BBAB2D196E08C85 - stream[256..319] = 06594AA97EDE3ABCD9458DEF29A7FEEE - 91965BACFA6A272B31BB644596DC5C66 - 8F93AAF38F1EFA50D88A9517DFB4B409 - 9E91F5A1B07C9CA8F36330840A6FCF76 - stream[448..511] = 32784F6FB85DB3ECA696DD98D75A5031 - B3ACD087ABEB6489F20429EBBADF8D87 - B0D7C4D54A8A80FA835B5FCDB901CF32 - E60269C5DE89409A61ABAAB00B7D8B79 - xor-digest = D696A18B23B0927FCA5B766F8C19CE2D - C98F40963485D0A77D92D0096334B9F3 - 834491F8FB7C5D8BEC499F28A37B7DB3 - 8E8A6291C1A6F73938B7AF2B74425996 - -Set 5, vector# 18: - key = 00000000000000000000000000000000 - IV = 00002000000000000000000000000000 - stream[0..63] = B3EC726B0BD04F969BB34A0DFB1AF9A0 - 880ED66663BC845BEC2CEA9BDDCB0E3C - E6FD6CFE389D544D863AD6B55F45F4BB - 14BA866A72D63E4FA83246498EF685FE - stream[192..255] = 549E7B93702F139AA76FFF7CBB04EAD4 - C091015E6455A9855E3EBE4AB1A80737 - 9E3E9C9418B909CC26E53470CD323FCD - ECE6BAF53D45BA80C4F03A412FF160C6 - stream[256..319] = 9599223B02F81DF5D31CE7FC6FD92D70 - 71ADB8985B61709E6769EF5065905E46 - B0AE83DEF7EAEEF01A49D5D855035AF8 - 6AC78AF9C14A3F8409773252EAC28D4D - stream[448..511] = 2C58AF08679A8AE28AF30688B33C417A - 392A6E8D6658D262EE24B479CBC4BA4A - C5DCA537CCE7B110489817F9D2858D95 - E006D338BA92D7FD664F9CC773AB67D3 - xor-digest = E52013C82C2088C5B76988031F0A0930 - 6322244F357700E3D3BDC71A2385B4BA - F6894A2B177F7BA78D5935521CDB5689 - 31F7706AE3413B10128CB903D7E27160 - -Set 5, vector# 27: - key = 00000000000000000000000000000000 - IV = 00000010000000000000000000000000 - stream[0..63] = 6727DB24106CABD6C3A14001BC9E3B5F - 90A47B78181576CF5398D8F190CEFC10 - 6615BDE30159225DD3E14A2F827DA07D - C230D11AFEE96855EE06FB02D23998D9 - stream[192..255] = 7B9AD4C2472D5816B963BC168F725083 - 0E900C4E4994711DF7FA494A04A7CB58 - C9CAD5513E8C554B47060D9256B4F276 - 2CD9790666A3C831FE1A9250C2C1F1B2 - stream[256..319] = F8B0EF0C84EC8375A17C8C36B9F75690 - 30D6D04687514709215F79B102304807 - 3FA3F284155CD677B30FEDE6EE33DA7E - 5B35636C0F8E981AACF01CFA4E7B00C8 - stream[448..511] = 023E93B9B5A526DA400CA8A818E506A9 - F5B0438F91264727C4FD5CA2FD4A845F - 3F2A6E0617A5619CCB0B691C2AE2F459 - A7F4764CFEBB22D8FC6AE8E28B08DD4E - xor-digest = A6BB0A1FA9D79299B2FCD3AB9DFE04C7 - 9BD7B88BB1A49AA7227E9BBD0A211677 - 283EE5CF808DB24D05227305E67915E8 - 74CB03402736AC8FFCD746B5AA4DD032 - -Set 5, vector# 36: - key = 00000000000000000000000000000000 - IV = 00000000080000000000000000000000 - stream[0..63] = 4BBA6A59AD3C1A7298CB38F244AEB7AB - 431AC1FEC2D091C4952794AAE9DA762B - 0873BEBD04FE1CD68D08654F1DFDD956 - 59EF5E09238984D834F2631D67E16EB1 - stream[192..255] = 945C61BFC21691064FDA05A6162869E6 - 82800A1DB8E19818C2AB13A9280C8CCD - BF9508894CCDE69ABC8A3F0CB2BA545D - 3A6D6E7D6E8B5E53683DC3E0018BE954 - stream[256..319] = CD87390C68404079BCE794A554FC4DE9 - 695AA78E626CF79094CF0374765C1ADF - 8C4054AD4B76535008F8466C806D1775 - 1987361A852DB77F2CDDDDB34D00A15B - stream[448..511] = 319081F4D93C649E6D1D8C4999E0A03C - F4AB23E4EB796B337C84898D6D9F083E - 70038515611FA040E686B893D89E28DB - 862C6D36F791F27EE05ED97AC636E836 - xor-digest = 1B86F56D5C6DDA97E2909873A042A48A - C3C102D22F88E8648C0A7DAB5C34C98F - CDF03CD03B6106095E3BA34969B67886 - 8AB4D93CF24042F52DB659591D72D0C7 - -Set 5, vector# 45: - key = 00000000000000000000000000000000 - IV = 00000000000400000000000000000000 - stream[0..63] = 2DD3C3CF5E6965EA02C31ED6FC539EEC - E0B8D48345113E978230ACFE35089F9C - D8EC821843DBC90E54010C16A8AEB245 - 5881FC16B5CC21032958DAD18EF55469 - stream[192..255] = B9299DC95D2F192F1C53FF23432158DC - 2746F64242CF9368D90FA217289BF31E - 6F08692251CCF86B2DEB7ADDD14D8E37 - 0E4D877637A2D499924146D89CB77F44 - stream[256..319] = A6F9EDFBA2E22CEF8E14BFE5B31ECD14 - 4114A045BAAF0458BF149F073DF191E7 - 022A9E518212876F7D6C99F1DDFACCD7 - 8E0DE69FD43FFD26EBB7E240B5F4B864 - stream[448..511] = AD29FD814401DB358AC8B2A911E743A7 - A594C9781D4F6560E29D8B67AB38D8E1 - 67AC71AA3855D5BE67998E0B797A64BB - 1B26558FD861B845E9B08FA071DDCD75 - xor-digest = 2DE49729E28C8B4585BAFB291E77B7FA - 6CA9E489C437133EABC613D0893822FD - 70A8F88BF6A3D29BA6503F17F055A003 - A42605780A79501BB62C35C922DFB1C5 - -Set 5, vector# 54: - key = 00000000000000000000000000000000 - IV = 00000000000002000000000000000000 - stream[0..63] = 8D3CF6CD521B43CF76A6ACA2A036B791 - 7E06F44E8DE525306C6508C1FE2E3C29 - 50A53F63B11B57596B76E97C1EB01612 - 3D33B57CF93E839A169AC49207BB42A2 - stream[192..255] = C009E0DECD6948B8F29A72F1A2BCAAFF - 04043B6B76B623CF977679D74186BB4A - B1C3529D94A5DD5CCDC20AAEC056492E - 7B9F9A9EE087187C52C7651F890A0DBA - stream[256..319] = DF5DAAFC6D650B0A47AFDD7BEF56634D - 13AC2D1442AA1F082715882F9D303170 - 8D338A7CFB14B100E3D3C645334C5D4C - BA9534475D4BA687956B00E8EAB587AA - stream[448..511] = FB2CB04310DC73C7B7312C840123FB0A - 783F10FB63F507EEBB012E19A0FBEA30 - C324904C02E301F4CE2CC2A1198C0C14 - A725FAB705C5176CF19EB2184DF9825A - xor-digest = 3B3136B100FF460D92A0FDEFE864662B - 324D7B8C7C3DAA46EBF02F8BD0960345 - A1FA8F9B7AB8DF16BC7FDF6B6AA0C61F - FB1C7A599A6474A916A8BB9E4FAB9856 - -Set 5, vector# 63: - key = 00000000000000000000000000000000 - IV = 00000000000000010000000000000000 - stream[0..63] = CF1667BC6BF8ECCC72ED756D4623E979 - 6A8E559E27ECE3DE4FD85DAA60757C33 - 0C33EE95AFEE6A53D730671F695C0B04 - B5968DC2501F48D9A2DB7E20CCEEF297 - stream[192..255] = BE8163A51FB1FD786E1E5197B5F3FA74 - 900AE8111592D24733B562187D399B95 - 79D5F751D722784832AA471C4445FA5E - F2725E23A251EDAE66D60203CB862095 - stream[256..319] = 8592AA7309D37B63AC539BE5B997AD26 - 3F6C38DD169535E7BFB1C19965919F55 - F4502C5995FF7DEF3021D07A37B9E7C0 - FA5E8AD9AECF2B072EE1DE2F2E26DB1A - stream[448..511] = F05E64D5CF14CF99154EF83E27CFA2F9 - 2B269E8E164F1B563F4AFC48C40B5FF8 - F40BFC7E59EF0F0B923F7474F30AC114 - 95EBE3EE8630A214776286D01A20DA23 - xor-digest = 46136E7DE5C7186F1F3D04FAA100B991 - 8FE7E8E02B36C72A92E5650F93F5D936 - 5675B0D3BD84E5C3E7F5CA7E70ED55FD - 027C83E1CB1AF8BDBD1FF1905A6EB596 - -Set 5, vector# 72: - key = 00000000000000000000000000000000 - IV = 00000000000000000080000000000000 - stream[0..63] = 583E7BA16D617DAD9F2A4A6A7BCB630E - 4248E8368A6F45F6BE8CF22C65964D34 - 49A7AC0EDE8957127CDCCD3AFD666426 - B8BD2391698525CD3620558076F61EC5 - stream[192..255] = 8CE8D0EAF9944E68D7EEA0F83ED86CBF - F87B99C8D87C40FBDA48E777976FB669 - CF6A68533BA7875DAD0BCDEEDBD4D136 - DCA8A9C9C1C6B30C5CB7B7C5846755BE - stream[256..319] = 534AD0B12F8CD7797CAC9E23B1618AA1 - B707F28D000422CA73196498C86D51FD - A63DFC791446094F4E146EA451F60B3B - C2711F81B137FF4C0521F94447A486E7 - stream[448..511] = 540F0CF1CAA5D5CA270FB71BE97FCF9F - F1F30C2F454BA29561F7B7C2D8ABF189 - 30D107F71560B26CB7E9E416F90604E8 - 510D29FC0AAFD94EEF254F0F4C0C43C8 - xor-digest = 0986B6D195197767683FB8221A50BCA4 - A375BC5989C24422855F465CE537FDB3 - 3894E7383CE580D8204694DD1E82D623 - 774AD356957E36042735848BBA9649A8 - -Set 5, vector# 81: - key = 00000000000000000000000000000000 - IV = 00000000000000000000400000000000 - stream[0..63] = FF9484C54337D0F0CB2342A7E73B21E8 - BA933A679CAA5549AE6218B7E0FCC88F - CEB6CF2158E19C1D30F4E0B0A2D5E052 - E4C73F2F2FF423417E67F49F45BEA7C2 - stream[192..255] = 6AA4E5586B608D3F0E4A394AC7818949 - E538604293010925AB3D69AFCD1979C8 - A8289CC46776E762452246B54C6C7D3F - E7BA43B8D901D2B55F2F7CE520DF99DB - stream[256..319] = AF841581E66BCB36AEEE07534A83B519 - 60D0DE9740D320D1ED3C542B64FB122F - 506B6F573F40AF29A61DC42FE183EEB3 - A5D55D0272659028B9B5B353A6292105 - stream[448..511] = 3E463ED75242C21811F9C2492A71D6B3 - E5B2BE3E50151A990F841EF0350259B6 - 9C727194154288C62DF02075AEEB2598 - 577A5C0B134EC1206F66AA96233D1BF0 - xor-digest = 0C45BDB39F8C038AC8E2E3C41A80FBF7 - 7B74C948861E7D58F7A89ACCCB4A2D04 - 7D370BD42B65DE42293C58BDFBC003EE - 58D71CA3D01313E8A74C7BEF66CAAC76 - -Set 5, vector# 90: - key = 00000000000000000000000000000000 - IV = 00000000000000000000002000000000 - stream[0..63] = 8C4921B72A3D11BE4DF4E326B9BF85C7 - 351CF85FE98039D5BFDB889DC5721B17 - C02EFE07FACD2F43E95D6EC63F4001EC - FE7355EB565B6E2CEAC64A995324DABC - stream[192..255] = 933FFDF78D118A083FB7CE405D042D3F - 9173B28879BF4A37A878EF2351622F42 - 80D218DE417B8503954E991A31BDF73E - B26903D1F7C7361F34D7F01656243B58 - stream[256..319] = 88E77D9A5FA78C7E348DFE0A66AF1B92 - FF564670DCEC867E24AC78CAC005DAF1 - 5953DEAEAF2C476C2DA514CF79A474DC - D4E68AAA0D52394762953A8A63A0B3A1 - stream[448..511] = 5FF4F24F6BC7585D16582944166C453D - 59A3CA9F9625A5946EE81F561CA183F4 - F6D5258F138E994DF848F532F613092E - 89FD262FA4899091596A1031913C6C5E - xor-digest = 4770E4B7DB5C5FF7F64BAB6334A13E4F - 9DA6686EB2945463852513C770ED64DA - 4A0C3D96403F4CD1E96B7FA6495BE23E - 15506374CE556E7B50D3ED8A92A643E6 - -Set 5, vector# 99: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000010000000 - stream[0..63] = A59AA0661087A6F3498D18BA156FD4EC - E5709F5CF1FF25B006382B250E4481FD - 050F68B95D56E1EAF77C619914F30269 - 4FC8C2461200D9AD357F21E9DA08F489 - stream[192..255] = 941E849E313B8E214DD6CD1C10FD8D18 - 05C1892B15623CE0724A3028F978215F - 7B6264D4D5CBBEFE12920BCCFD204134 - 1AF60D460B73D9493BA2AE7B314CAA41 - stream[256..319] = 2F27FA6FC61D2D84C008DE836B0CDB1A - EB0E62D5E327F88B8A62BFBE70789189 - 9E1335D20E495D2181253647B0333CA6 - 6833552B89571E3BC25190C791341940 - stream[448..511] = 9DACDBDBC8258B52C41788ABA3A7D08E - 5D7919C0B583F6AE89036A4EBFFB3AC9 - 7CD9E9B15E8C811EB6F2BDC7713115A4 - 5291C4BCA5DE179ECC779093B30870A0 - xor-digest = 2C7C5D79F8BC2D8E7B62DCE74340120A - EAEFEA33114403A970F1A51AD9EC9F9F - 63F630E74DD83AE5C6824089982685E4 - 28FF20C49689DAA995D7AF2E80502425 - -Set 5, vector#108: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000080000 - stream[0..63] = 869923A0917A8FBD8F45FF074E83FA79 - D665A9A44C769CC200A66C254B2D4B98 - 7D34D66E52EF7A9C7ABFDD7548F08631 - 49C7CE742F6CA599ECD0BFEB55CC8B6A - stream[192..255] = 75386882B941CDA70FDB6D02F165B3C3 - B0C7B0A8E4ECB161BBC745EA1AFBF382 - C0C09725D0DAE6316C7B956577EE7F97 - C4A102B04437F24D2090FDB00B78523F - stream[256..319] = 04FBECD2FDE606BC32E46FD0B9950F93 - A742DC2534886A3B17C8EEC5CDD28B04 - 5A03E7C5764EC92C1DC8AAC5F9D5483E - A9890C7322739BC7C73CF8158619F669 - stream[448..511] = FC322AC5E5635C8DC56895BAFD43A01D - 77807CC8CE57DAA306E7DDCC58B24309 - 4497AFBA51F8EA62922C697FC2EE8945 - 4926D4975219A40B2D6C9A9620634741 - xor-digest = D2E239BDF9A2E04082567893D06DCFB0 - 4FE50753793F21380F6A91354836C508 - 837A15527F914190F6F97BA87510180D - 67B13994803013B2E4D4A307D80E8EC0 - -Set 5, vector#117: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000400 - stream[0..63] = F350AB2F8E1B96AC93F1FAAED04BFB0A - 59EC1F7B95383E44878AFFBC5CA7D4AF - 2EE76CEFB67906469C9FAA59F4DDD24E - D16796DCAE66011584E8A4B139E016ED - stream[192..255] = 48D1D8F4583937C77BDC1757C3DFF07F - D0CD430F3667E37A6D4CE89217729AA5 - E480DEF30227A363C800A3153617B04B - 50322B06B795B0EEEA039A796C7B6664 - stream[256..319] = 4DE5C06008FBF0D54EE2E2052AF4EFB1 - 94AEE33EE7F133F225CDCF2C504AD2AE - AFBB2A2AC50D7F27022DA8D83D6B44F8 - 4545E8BD15E33CE531C3A7E076B39BED - stream[448..511] = 837C91FB8773A4DE4FE79D163FFBD186 - 2A361B96D79AADDE5AE964A62B3D9CCD - 1DDF29D845EB581C33E3ECF1CAC4AE15 - 3C75E0C5ABAA960389FF0C92205CF575 - xor-digest = 29B708C591EA72969C5EAF624B943D55 - 3A55CD66F13E5E762D6808F5A58D77E8 - 8CE91C0A7EABDEE8F30C05F4D48C0257 - 9B38612376DB9E26AE70591760E395AB - -Set 5, vector#126: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000002 - stream[0..63] = 073CD91D0183F07259608257E8267FA7 - 8799B748A5FEDA25FD40B463F15639E4 - CBA06A504C5D4E80A542366DDFDA8EEE - B21BE97CC2FFDFD5FC93792A7CF1C2F7 - stream[192..255] = D310A845416E7E187D3404B763B46BFA - 7EB62B04A06DFD0AC6E9871EB8D74F32 - 73D7488C8D2197515DBF84ED8EBD3F24 - A4B3B69DABB27A3CDA6DEECF2F58EEB7 - stream[256..319] = A8058C140D6692480614EAEE7AD97DA5 - F4423B249C2F0413DF35530CDC40417D - FA6D5007FB9488A073F0631AEC501E15 - A94EEF50A2744693EDF07273C5621056 - stream[448..511] = 44220A7B36E147C5C3F41FD72FD88F50 - ECCC2364563085D3409C5508DEE719CE - 327EBEEF70917036C37A534B764A4DBB - 39B77EDE8C115448096C7E2BF2EC6720 - xor-digest = 07C9AF7BD2DBDE982D011798BCF014FE - F9334DAF537AF14589BF2328C45D327A - 755F902A389BE04970AF515D5718C891 - A77AA50A46D1DD737489E298182BA245 - -Test vectors -- set 6 -===================== - -Set 6, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 0D74DB42A91077DE45AC137AE148AF16 - stream[0..63] = 2E1ED12A8551C05AF41FF39D8F9DF933 - 122B5235D48FC2A6F20037E69BDBBCE8 - 05782EFC16C455A4B3FF06142317535E - F876104C32445138CB26EBC2F88A684C - stream[65472..65535] = 1D92C4EBF6A256F0D0B0365160D72E90 - CA10D7086C58BE13E9325A5088F447D1 - 572466248CD275A736B83674739899CA - 3146963E00E170C6B9DC8B2BE912A5C2 - stream[65536..65599] = 878A21CA440BA0D659F24A5C986D6CF0 - 3EA0DD962337935BA0932FAD9599EF61 - D805800038AFE4208394C73AA044262C - 18490F742A2B7424ED56EF3D1B0F53AF - stream[131008..131071] = 99387AFF42EE8C9D4D8400808322114C - F4DF77CDAA363B0E4AFD0D8FF17D3D2C - 3303984867021922368A76F7CBD20266 - 5A962140C8E6C1336CC4071B38ABB957 - xor-digest = 0FF8DA8AE74C2F194FE35FEA66F69380 - BF1D368CC0282F6E570477EB426F1858 - 204DD9752E48E32C1F40A2ED3BE10FF6 - B5C80216884D0357AFA002E01B7B5FE8 - -Set 6, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 167DE44BB21980E74EB51C83EA51B81F - stream[0..63] = 4F864BF3C96D0363B1903F0739189138 - F6ED2BC0AF583FEEA0CEA66BA7E06E63 - FB28BF8B3CA0031D24ABB511C57DD17B - FC2861C32400072CB680DF2E58A5CECC - stream[65472..65535] = A27D9CFEEBB098C44E94F477A5AA9FB6 - 286339533CF62E2781B574B9CCC53619 - CA27303E83FF9D986EFDB5D0AECC93C2 - F249325A37779D894549C0408B6A47E1 - stream[65536..65599] = 36893EF2C9173CABEA2B5BB027938EA6 - 0004121DDD27E79DB469B6402B4C23AB - C08066B24EF0242234F9439019DADF4D - 000A8B68FD539F2B6C8087AAF89C76C6 - stream[131008..131071] = 8FD0EB93722FCD5093AD826167F0F158 - E2A7B86751E85D796D5269866FD317B9 - 523032CBB52F6978DC7E0933A2312E40 - 57E0C9B1366C98941867D2EB0CD8CAF9 - xor-digest = 63DCDFC74EE1C446705C01CF185C7F23 - E083DDD7A70E2685DC1E051F2AAC63EC - 7E64399369B7D1CE49A732F594B6A587 - 3B89E848F70A3AA9B04D219BAF14807F - -Set 6, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 1F86ED54BB2289F057BE258CF35AC128 - stream[0..63] = 82168AB0023B79AAF1E6B4D823855E14 - A7084378036A951B1CFEF35173875ED8 - 6CB66AB8410491A08582BE40080C3102 - 193BA567F9E95D096C3CC60927DD7901 - stream[65472..65535] = 2A30BFDE279B750D56B0B10A79BDA0DB - 21C246D133F4B91E4ECAF80DA7AAC425 - 646523F6BB762D688BFE2DB1852B77E7 - 733BC1005CF3D7CFAEC4BD966DCA6773 - stream[65536..65599] = 991EC57DE1BDFFE2C70A0196A8902C91 - D3CE6C63E4B8D81C83AABE7BF370D1B5 - 4D0B72B0C3C857621A7BBE2B72EBD81F - 50B25E08A9D492AFDDD37B983E9E2E4A - stream[131008..131071] = BC301B9FD7C554C592EFD092A435C2C6 - E74CBBF905CE424FE5872EEFE8DC62BF - F93C3917BD37D142CFCA623B84C2652E - 0E61BB5C5D5387AD95EBA7A5ADF16F81 - xor-digest = F8F5AA473428C00F7F71E4D1BF1976DC - 2856619D2E1CD79BDE2FA1FCE880E816 - 09B8D5AC28691FB90718E0981C3BB2BF - A7E5888E44A0FEDAE7D481AA3AA684AA - -Set 6, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 288FF65DC42B92F960C72E95FC63CA31 - stream[0..63] = 1CD8AEDDFE52E217E835D0B7E84E2922 - D04B1ADBCA53C4522B1AA604C42856A9 - 0AF83E2614BCE65C0AECABDD8975B557 - 00D6A26D52FFF0888DA38F1DE20B77B7 - stream[65472..65535] = BB599F93F4F244D717CA9818212B06D5 - 6D99AD4CA1F78725DBA89EA1D1F05B27 - 093A17D745396D8CFD0256CD50674046 - 13108E2200A8F1C49075B376A7460515 - stream[65536..65599] = 996C074A7C7C524F539037A8A9F3D193 - 3BC311B548BD567F8AE1B4325C51C5F3 - 4B0DE1B4A4651829108CA92AE23D57C7 - 0EAFA766097DB0539BE77E6500703746 - stream[131008..131071] = 43EF1ADFE8265C46FF7FBA43B78F899F - 22C3B9F069B786982145D601627CDC49 - 2D27BB8D70FF6DA908F2606A0C44690C - 8502F9CFB3BD6CBFC9205470E3ABA387 - xor-digest = B097BF56D79F1A343F61F7B66AC405AA - 6242493ECECBA06876276B36ABDDBFC3 - 76D8C370503A8B8FF6D121D2FFC4959C - 6A96721616782688FFCBC748C9A168A1 - - - -End of test vectors diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_128IV.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_128IV.txt deleted file mode 100644 index 6460df61f..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_128IV.txt +++ /dev/null @@ -1,2337 +0,0 @@ -******************************************************************************** -* ECRYPT Stream Cipher Project * -******************************************************************************** - -Primitive Name: HC-256 -====================== -Profile: S3___ -Key size: 128 bits -IV size: 128 bits - -Test vectors -- set 1 -===================== - -(stream is generated by encrypting 512 zero bytes) - -Set 1, vector# 0: - key = 80000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = F1B055D7BF34DE7E524D23B5556B743A - EAF06AE9076FD2F48389039C4B24C38D - DFC3AC63A148755FB3CF0CB8FB1EDEEA - 63CD484036FFAC3F5F99FC7A10335060 - stream[192..255] = 2541F0EDA5633B4F47C6B74CDCC612AE - CD27E46B2C8FC9036A09C6FFB5891168 - 7A8FAEDC225E34C45B6E081EF5279FE7 - 3271CED417549740EAEC6616C2B6A57F - stream[256..319] = 0C8C0567803E2537804BFA15742D3E08 - A29985688DF3D6B4C3044464C1D1F2CD - 4CBBC470C9A0FB05665CDED63C58E466 - 896F80ACC020F134CB622487D40E0AF8 - stream[448..511] = 1FD448C788A21BD30D4B6BC5D8AEF296 - 2772940557B9434E0FAF636D576B0737 - 1FF3AC12884BB431F396CF7C189D9AAE - D42797128CE645FE841A4CAABA429324 - xor-digest = A3F66A36C20A496A0D4D537B6106662A - DEB5AE1E35FD1486EAB6039F443E5D8A - C6A2D4A2C2E2A9F335E2E468AD8BA51E - 550E41533332E6929EC18CE35BBF741A - -Set 1, vector# 9: - key = 00400000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 9244D2B190FE8C4BD0E17247C4F1D282 - 3FECA8DBE546637E34BCA99236D09F79 - 5A8905A1E0FA94E6C51F7DC0C90FFAE1 - A8EBD4C99CC96FB3252DE0A0FB03F971 - stream[192..255] = BC0ADD787A5EA52E28B45192399DDDE5 - CEC4E283181408E554FC714586FB641E - B36F3727358BDD8223B5ADC9B9EF1044 - 0F7CD97FCF2ABA75AA9972B277CD6656 - stream[256..319] = C9F6315DA3CBAE23D32685C5549274E6 - 9C17FB2E46746C5D3260FF2E00FB234A - A460776CB0E7AC3AF0D297825C1796AC - 0B689DB219443BF4C0D4D19CD70A49E5 - stream[448..511] = FBFDF6D40BF2DA0EBB04D52C117E9EBD - 6FEF88D39B8EF8B31082EE9B19D50219 - 183DC962391FA4F602A2510BB476EF4A - A44439F61D589933A1F3F633C96E56FA - xor-digest = 49B435E6FA51A0AF8DC94CF1DE09F8D9 - AD76E08C061B54CCD62EF98ABE85969F - 3FC41DB934AF9DBC5F32748623639D3E - B15124F13DA8B008CA5016ED61917563 - -Set 1, vector# 18: - key = 00002000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 9D74BE686C2DE8B207E8D82E49236A3D - E86F5A7EE231B4239080FC9A55FA44ED - 7737FA7472B318A4F36FB788E863247F - 7067C20DCA632FF051789E9EB99CF409 - stream[192..255] = 4876774DBB886B72E54EE8160D8BA8DF - 6DB032B2A9BA0B79CF82426CEADE421F - EF5ABE9976E909DBADA0442FFC7BBA2B - 009F7240941F0C209853A514B0BE9062 - stream[256..319] = F2499CCE5D3268F4C5515C365D2F4411 - B0AA99ED01E7D5328BF0672584AC65CB - E47BCA14C3EB1F838ABDB7C611677BC3 - 7382E84D05848B9838A166A42E96B016 - stream[448..511] = C855EF5D1CC991D2DDC892AD8319E39B - 734E43E443F5910D03BB79CCEBE70569 - F92BBC63363943BEF88BFA5809B3759E - 6BA4ECA1FAAC572228458A229DD5BA06 - xor-digest = F125B88E0B5F143B836AFD7AC822E027 - FF44B736E32627D90FA05F3DB98576E1 - 9EC41AAF9D61ADE2BF00E38CA4EC2A54 - 49EE0655FEAE777D67EE127E8A5F8CD8 - -Set 1, vector# 27: - key = 00000010000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = CC447BF1B5D138025BEA2B269E625C4A - D4451F3851F04F118499040C6E564E38 - 5C5FE17FA7AFAE9FA559CA4835AC1F40 - 1C045AD439B400BB41984DFE7E4D4CC4 - stream[192..255] = EEC14B65E027BC2A96E566BB89218A89 - 31C4AE0BA5C444929EF852EF7E400AC5 - D8B3CFC62DEBBC2B20A7B32E350E3839 - 2953B7839AACC06B2018280770F84B65 - stream[256..319] = 8870B4F9A62B37A1929973D3975D7ED0 - 505AA43002B14B55A541EAE00148651A - 111D6E5A1581F85FFBC2304783EBF5AC - E924CD8111056B1069F13100DE15EB13 - stream[448..511] = 1513F3B7A2458674CBA2B566F3AD6169 - 2BA4EE30687A07AF2FD0D340D92384F5 - F5BFD9B8DF2F7098A209C280F6D5AEFF - BC07D167720DB47B4B649C8593E6F40C - xor-digest = FB5EE30BAE44FDFDF105796FB8A66F69 - 64D502230C191FF9AAF5A4447533D02F - 05A3772B99F9FA2A075DBB8BA59D8D5F - F819784D487C305280DF2F19EEA8BD47 - -Set 1, vector# 36: - key = 00000000080000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 831F1DAB278C6226785209C0AD34759B - 9F205B7BC6B987DD145B949336A8FA0E - 4550BC1737DAE7DD7D12E2C062BF9693 - F08C2FB808A1F0A5887A06B93D132BBC - stream[192..255] = 76631E9D4A673D09B9769251433D5EFF - 3114AA59E1A9B7E21B4123DE3E34FBF8 - 4ED6E80EC29B4F75B53A63902C373EB3 - D644B8823789743CA407FFEBA4A1AA75 - stream[256..319] = ABD84B2A5479CDBC5587FB9EEC5DC661 - 5A3CC6136314F67AD2C96803E8E4BE92 - E33DC35F0DBF3C401AA5D7A9F46E54CA - A7ECD68E561BC08E6A5B847A82777E4B - stream[448..511] = 9ED1D44510201727B2E92B55DBE06BA1 - 46762AB34937364B2157292CE68B9D78 - 3D3C3FFD1FDCA836E4C4FEC750B10668 - 600C26AC05B4DED64F8CC2EAA0D22052 - xor-digest = 843D7B97B3316595111DCBDE3DC13DA4 - C14402936D68035CDAF9A1C168120B34 - 0EBA1FC47E957C5F69F369B4C2ADC4AE - 37E743226D72A9F122EC8E00BCAAA126 - -Set 1, vector# 45: - key = 00000000000400000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = D2D629E84843638274ACB79FA257DD9C - D48A08B823DC9F175CD92C5236B9D230 - 5931FDEC5A8F531B1ADF30DE0527AD2D - 0D2B253D008913558E0FECCA7D7BEA4F - stream[192..255] = 6F9322E84D69CFD6A1E589283CD028D1 - E2A114B719FB2E18E732B97629313772 - CD2F2F8AF77EDB5B4360E4B679441346 - 03C59E88C042713C3E403E5D93F9BBC2 - stream[256..319] = EE7BED6C85B20E0A39C103D0B6949F4F - 5F6FE0DF2BCE315CCCEF6E537C488525 - BFC27FD249A6D36548C558153661861A - 78422A563166BBD0D72D6D7876FB4DB4 - stream[448..511] = D2CFFCD4185EB1D8E15B629225B9C278 - 6E7BFEACBFE29D7AF396B3D5917A8038 - 7263018C7E98F49A1D5FA4B64B8E2AA0 - 7192ADE0376388E8295AE5B54CC51389 - xor-digest = A26BEFF2FD72BE47175C1B6F3D749CEB - 0E3472FB0FD5E173DE66A5BB60357565 - 505E3AA44A67651DCA75DFB6F0AFCFE3 - F4C89F064FC42D7C2953694B0CD47832 - -Set 1, vector# 54: - key = 00000000000002000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = DD1649517BE76EFF747658F0ACF5D354 - 2C7FFD52F09FF7DDDFBC48487450607B - CB90ACC3406D0302E84450FC0BFEC660 - 9BD44C7FFF670D69C9B19FA50C62EBE3 - stream[192..255] = EEACF8ABD7D48E285A6658C255A6196B - 66B091773A9F81807A119DC24023D5C9 - 041AF75F2C078C5246BC5F50B622A678 - 64EB7A07DA6A8764437E20C7E1E0E579 - stream[256..319] = BF55E777AC644A0938D438FA374360ED - F842BECB027FA3A0F364B9150FFBEB47 - 09FE2D2056A6CD5A7076172152484BEF - A86EC7DDE657307580BC6F9ACEDA4C73 - stream[448..511] = AB4CF968EC00E7F08553A10270A7D439 - 68B0BC79C2DAE278AF1CB81FD516CCA6 - F5B8A47271FAAC3223F02DB4D0D5945F - 9C13A47906B03B80878CB0596D37CC47 - xor-digest = 76ADECA36B9401DDD5CBDEE821B70FD6 - 65EB9CDB1E3F25C0BE90DEC49C03A9CF - 4049CD34F9550B28E0187B0AD47D86D4 - 88DE4617EDB5F03C67FA2E7B9D20AA25 - -Set 1, vector# 63: - key = 00000000000000010000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = C0CEF6E3CA9F0D523587FF47973FE896 - 9FEB08773E3C694FBAC4804B37121B31 - 06B99ECC2A08603EBA72EB3DC650E8F3 - 462119F4685EF4CEA18D5765A6F22765 - stream[192..255] = 79E92E248BA61D72C610876D3078F1CC - CAD662F2423E7EECA813133136A64E54 - A1B6A151BECD2B815EAD959DE8E8DC62 - 8F388D366103296A058CF60F525D6467 - stream[256..319] = 03BD62A0892D939C1C28C4EB490F87B2 - 527536AD6790AAA6C3CC50013E2BB883 - 5710EAB7916FD89896B7983B326AE271 - AF9ECF975CDBBB968D076685BAA3343D - stream[448..511] = 98762E306A2B9D488FFB671D3975551E - A06A6CFC5DB719B888E3164387EC922F - 12BC31A8DCAB8AC0CD6E12212CDA3B13 - 4CF7F870221D6CDAC2B222AF4FD93DEE - xor-digest = 606FA49585621E34BCC3748C06B51FE5 - A8AF320BFB83A4D1D3AEC6373519B28F - 2048A975732BA8DEBDFC5F85B84E7C3A - EC0FCC9B1FA9EBB9D79D6B18BA2D70B7 - -Set 1, vector# 72: - key = 00000000000000000080000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 33A81D48866B04388451BC2730A2980B - 5F5BE248369911340E6C024A1F94D4FE - ACFB246F7C0B9E27A40772D68DB36DE1 - 7E87AEF19C8A68854A46B3F654E0AEC8 - stream[192..255] = F67C60413B25FF7CB8647D1E9C361696 - 3B23ECE23A9DBFEC644E855AEC5212F2 - D336E6F074EEC8FF5F8D4FC6398AEB9D - BCAF6C29FDFE6E69A03D906C527FB0B5 - stream[256..319] = 263D512137BAB758F646C71058D02B20 - 3920965D84E52A99B50FFE79305E491C - E0D61EF71F7A07937CEC8590B758F63E - B3EB5890E8678F170C2E95B827FD8DDE - stream[448..511] = 023AD00A87D3D9441D4E8CB603F5CDDD - AE8F3EBFEFB9C5435B72B9B8D03ACDF1 - E4A0FB796FF8401854998015905B878C - 99B3EDC7DD33A86AD4EA6AD208440C5D - xor-digest = 5DAC8E3446BB3B0DCFB3F0A3A3E788C6 - 07FA7436C63BF7AC9FAFCF4A231AFAC7 - 75A3A810EA0FD4E5E6A5B8FE5D165A80 - 798A9F58EE1AD27016E867D2E774507A - -Set 1, vector# 81: - key = 00000000000000000000400000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = B33EA681CA88C80EAD8F2D57C87EA42B - 742550FF8AD2B01BDF945BF160AF763B - 15D6B3BD92E6CF3E6A2B61A7D4BB94AC - E3DAB365E4EA50EBFD2654E60CE849BE - stream[192..255] = E97318BDF61934188A94BCFB4441809D - 36C37D1A43BDBB3EB06FFE143B6153FE - C8453A13387923F434CFC7AAF8CBA097 - 7D796DE95EEFED3B2126B611F477619F - stream[256..319] = 4183971367E71731111D2212520306E1 - 1CBEB05BE6FDB338414C826A8E359C7E - CC680F317C12C6EDE6B443E68B4767AB - 4190E95E1AE4E4FFE61707BE742775C1 - stream[448..511] = 56841724B7D7F95809456EDC1D3A532F - E1C6BA252017DA90EEC71FEE9A639A89 - 4CB7E1575494BC8B44FE4C5DAF90FF4C - A32E03D6399BCB3D9D25B62764A4977D - xor-digest = 3E80587D70A53AFFB96A62F6493B9BE0 - 1C25339CBFF7784F5100A7922EE3E6B9 - 9D17B026C0EE69C5383F63E0E5AEE9DB - 5814E2C526192AEFE17004AAA1996280 - -Set 1, vector# 90: - key = 00000000000000000000002000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 51A7510726D12FE9574095633A3710E6 - 3EB8196622BC808B8A18800E208648C9 - F7031F8171B71F37613753A5E49B37C1 - CBC7933A52CAD48601E91CA198EC19EB - stream[192..255] = 286EF1C4F74C993A7D783E86527CDFE5 - 213CE4DF7EC72544685291D8108C7621 - 50D488AEF761D819781814F4501553CC - B45EDDA85828C33C4D0608169AD20B2A - stream[256..319] = 89DF5C916612EF0ACC1035EB75752239 - ADE08E0D63B622EA52CC997DC8178C4C - 4E57951FC8C6659A225E88502742B888 - 1F300FC9F278AA3D9C1063A83CF33C44 - stream[448..511] = B2DE3AE2941AFBDB21D80ABB0EB852D3 - A076D98C696F886C302D96D6AD226CA3 - 7B3213B3E641632B728A0AC7131B74FE - F733D1B18666D36A02C148FC98AD2E89 - xor-digest = 01090125BA6C43AAA3910B650D046F37 - E04896E9D2BC276D969A10C1B26FAD48 - 8A2CA5E59044ADDF698588A561557669 - A4EF25E1BB85C0A9D63F69FBB2924F83 - -Set 1, vector# 99: - key = 00000000000000000000000010000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 545E2C75365948B40FFF042EB6919907 - 6E63EE636CB343C51AF6C17BA24E1BF5 - C045B0893B8CBDF6A4068F8574513676 - 80000B10BA11666A546D8DC75374F5BB - stream[192..255] = 9805DCB5596FADF01224553F3A8DCC5C - 909D1A5EC2C29BA0DB86A46ABF70BAF4 - 4A171739309A923428EA7BA8EFCA5CB0 - B0B8A5EFE9A4A39BE0EA6CEA782DD862 - stream[256..319] = 531EE320A584EE1E4E0701400F86DC29 - 69531C2BB1BC922CFA9E0919A05B84C2 - 46495A7C358015724B62A986220DFA17 - 6BF39FE4263A9D27D93F3737CC1D5C59 - stream[448..511] = 92CC0D63772783AF62E642A5849CE7AF - 4D21EC815D644F88887242F4F5F7E1DC - 55E241D72691ED50D59CB3E2FE68A856 - 7696F8B8E3099642D70EC3945B8BA656 - xor-digest = 855CFA62E449250845472BCE9453BA45 - F91601ABA6BB715B079D407E05D94CF5 - 93B5A1E2C12C04C78AB719339AFC11C5 - 213E17ED9DC2B0B9CCF751E0613D4F2C - -Set 1, vector#108: - key = 00000000000000000000000000080000 - IV = 00000000000000000000000000000000 - stream[0..63] = F9748DADA2741A7CA30EFA167ED09978 - 71619682AB68CB400A74BFD642180CC7 - F3499CE2CC86AB7727786DD01AB8D08E - 8774C5A3CFB4738FF1E3243DECF720FD - stream[192..255] = 5AA20B305F5D6363180CDCD4E16427E7 - 2E3DFD73D2C4E2498008F6E0FA9CE3BB - D751F6EB8DD5F48EB42B994688601E3D - 2CEB3DE19BF16C4BD7FD4B331FC93473 - stream[256..319] = 81E3D9BB421CB09A9139534C6E430668 - FCFCB87E48CFA085D4FA1AB316CD5AB6 - 35294E434852C1509C1023A85B26622C - 68BE19944CA3233A4D3272710A791E3D - stream[448..511] = A499D228204BC22C32047DF550E2CCC0 - 260ECB7BA32E8F5CBA2C1D9A09D1F38D - FB30815BA3C9A8D3243CFE7AC4A14B1A - D6AA67D3EC0A5CB617FAD57E41A2A0DF - xor-digest = 0324B7F1BD990F8DBF19C021CCDF741A - 1B4A9C3C3940CC59CD715F0B2CC31C08 - 82E5B93721AC98B00F7B45FCCF19FFA9 - 782B7D7FC048F0756A29B066B472B394 - -Set 1, vector#117: - key = 00000000000000000000000000000400 - IV = 00000000000000000000000000000000 - stream[0..63] = 7EA95775329E2D1163E30F429FECAEF4 - CA177BB4D3C4D1AEFA6B5A01904266F7 - 7D7B7243B9DB1490245EC05129CA2DBE - E3A98885DAD0B43B0E725DDA39B444EB - stream[192..255] = 78ED15A7B4A8151F384C740B844115CF - D4FA31F9BC16E22158B0F896E70C0F73 - F74AA5EF024F6B386ED71239CBD57996 - 4583C37104AD8C7E5C812C378AF00F98 - stream[256..319] = 292FF21E49659AF99AB21753BA2A2B28 - 25DDB156D4F7AFC1888FBE8376AE4C6B - 905D5916121E9F9D76C83FB146ADA735 - 2AAAB6E89CE9398C484D69D1A33F0C97 - stream[448..511] = A50FF5FC20C57F8297C9CE2599A3E6CE - 3193746E8C45FD9AECA0C5A0FB3BF70F - 5981B5BA8D2FA57677EF65B535FC3E65 - 405BECF0A508445E36A7B6DE2BB56106 - xor-digest = D9650FA5D128620134828E1C99D9678C - CFD5BDFADC46A5E79D47AC5967B8A1CF - 32F7DB65B949C88CCEE0D96D960A110E - FF1D09EF5549B88D5B53ED46D4C2F296 - -Set 1, vector#126: - key = 00000000000000000000000000000002 - IV = 00000000000000000000000000000000 - stream[0..63] = 25874CF64ABA4536844F815F486F9DEF - 927E325CFF2FAC48134A4D30824C5BF1 - EC75F8FEFC624AFCC717BF2C8EAAE374 - 0AF399C2653389DBE31F9FF5D451D362 - stream[192..255] = B151A1EDCCB8B4A3CA9BC98F19EFE637 - BE2D6A97A8F794091E7FFF06E7B4E574 - 46B81E8C787BB77E461592160C44B5AB - 49329142D01A1CD5CFC6681F93DF1E33 - stream[256..319] = 29B2B0C04E07D33EC3146E60AA305F0C - 2288913B55DDC18FC17EE836B39193DB - 87089DF2BAC4185A57E910331864E25B - 540BBC968099900F7BF18645A28A419B - stream[448..511] = 286FCC98B40EA26BFCBE5CDEE52B30F5 - 810CFB26E756C628B56B3B5ACDA49E07 - 192592CA2241C6C5193221EDA36CB0E7 - B5C3132F08087DF0673D3101FC559962 - xor-digest = DBF1D7E0AC062FE6BA9834F0AE41ABA2 - B28B41FDFEF914F070007B0A48EE9D9F - E69DB8395BECDBA7B545201318177A49 - 7D343A317B5A37A9DF98DD25C84DF948 - -Test vectors -- set 2 -===================== - -Set 2, vector# 0: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 5B078985D8F6F30D42C5C02FA6B67951 - 53F06534801F89F24E74248B720B4818 - CD9227ECEBCF4DBF8DBF6977E4AE14FA - E8504C7BC8A9F3EA6C0106F5327E6981 - stream[192..255] = 30DA9453A90909A5675D6B691CB0990F - C423CDD8222EB47245BBB67BCA2B9C10 - 8D1F016DF0CF8CEAF6829910916DBC1E - 113D11E91BEC3D85C47E3042EC865658 - stream[256..319] = CAFED71B892EDBE13388CEF6A3365797 - E0D88C0D3A5B91BE4CBAF5162F69558F - DBB45CA6F8C8D4C371D62736EC244584 - 60131F54854F3EC804AA9A38E6ADE281 - stream[448..511] = 531A0ED5D2A51DDC6499FE1BB6E2295F - 2C3EA0F56AF46ED93DFAA4E16F5F0831 - 2D77BD0E9122043CD6A202CBA9351F6A - 0E8E6263F4017355136A0C551E6FD0F8 - xor-digest = 023D719F61C193E4CCD87755C87F9604 - C5A29DD7E31637B3DD70D43441D48CC7 - D474013C85EEAB1897C80ED0A0272543 - F951C72E3954616CB5D6B51FC24F4B0F - -Set 2, vector# 9: - key = 09090909090909090909090909090909 - IV = 00000000000000000000000000000000 - stream[0..63] = F5C2926651AEED9AF1A9C2F04C03D081 - 2145B56AEA46EB283A25A4C9E3D8BEB4 - 821B418F06F2B9DCDF1A85AB8C02CD14 - 62E1BBCAEC9AB0E99AA6AFF918BA627C - stream[192..255] = 3B3C6E78A8F381EE2C159FAE1C487C58 - 11FA9BB02CECF7440239FBB0497347EF - D8F1A8AA71AFC70ECCD64E81388E6E87 - 9521C2B47AD84F9CFD9E240D8D2F3001 - stream[256..319] = DB04FD01BC18D91E2D31237AD0FE26AD - 3C8D6A2EFDAA9CC11BFCC61D94F6104A - 4091B3634FA57AB0AB9B209F22DA5529 - 75C3C322DEBE4AE68623BFE1B2BB7F0A - stream[448..511] = 35B290F85EBA78A978750690C4747E8F - 72621951483772E8B89876CC5D55F3AB - 02D9B8FB35C741279FF9B5B571B26329 - 4D011F813CB5B209CA1A22D532BF09B7 - xor-digest = EA9BB65E87C987EA64BC3F4E710CCC34 - F6CD0A795B8347E1441CEBEE35540D41 - 64FC2B95D71FD47A2C4ADF732261EE52 - 8125BE374FA4A90132CC1063971A2862 - -Set 2, vector# 18: - key = 12121212121212121212121212121212 - IV = 00000000000000000000000000000000 - stream[0..63] = 397F8EC015ED573967938D1CEAFE9BBD - BD8853C329B3A881B489090853FE0F43 - 89DA105F0ADFA9CF51DA2521C40FD2B8 - FB0BF80B93E3F2B3D8A8EB1C615E0FA6 - stream[192..255] = 68E7DBF465E3C6994D58B9937A866E4D - 43A82A80DAEDBF29C048639BA38B690B - 7ED11323E3C0A8E77A16356705431EC9 - 9F2CB7F7E1ED3B83EAF2CAEC00B00755 - stream[256..319] = DA51CF3A07EBE7E86E9DDDE5A47E7417 - 376F334E6AEF9C187012C8AD2B94BE7C - 00A876756EB232510FD0798E72EEC87F - 75EC1467C07B3A1EFB0D51A5FA65E382 - stream[448..511] = 0BF3C6FF6794887F2776FD632B83682B - AAFD131432CFD7D2F675E03320395313 - AD4ED96E9052FE6B2D2A17428660A25E - EE642B712800BE3F7E44F21A1E6A03AC - xor-digest = EF4E84DBD66497B142EEAC56B830FF78 - 0465CEE20B9CFAF5727D4B3A588F4D00 - AAF718330CFF35508C44C1ADB8476625 - 2CC3AA6AAAE74F8BF1DDB6D4AADA425E - -Set 2, vector# 27: - key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - IV = 00000000000000000000000000000000 - stream[0..63] = 72BC8A6E1E61E704B142AA00812EE676 - 263C1CB9AB941119B19D15EBA3462F56 - 2F69220595DE5E0E7C595FA40F1F06B2 - 6EC32252AF05310809DDDFAE2E24B170 - stream[192..255] = B29A740B51B4EA1080666337D5551484 - FFED6860A5125DC0573C8F90F23A98E0 - BA7B3E4C28C2CEFB1C33D2C36D1B7625 - 64B9A67240CF174347A4C8D868F00F6F - stream[256..319] = 555ABD5577A8909797FBA9769C03A0F6 - 537C06AFB23354F054E25457B729B534 - CD10B2ABD45BE3E38DAF1B7A9103268F - 4FDB4C0FC9A80A003FCB907E8F249AE0 - stream[448..511] = 3B29A43D9C795DAF1760CA9EB57C0B39 - F62D54311207B617B727FCCE1B2E762A - 060810C4DEF672E7D76083E3E4BED0D1 - 0BAFD27CDFD2C937E660190D36B3FD7B - xor-digest = 0B3B0B3C69F2E4BDA22E25AEF352234C - 18CC5E1E3F6A317ED7257887446EF734 - 65CA15F51AF5E077B7915062391D8497 - 8F437985DD08F5FA3A8D74B3227A6EEF - -Set 2, vector# 36: - key = 24242424242424242424242424242424 - IV = 00000000000000000000000000000000 - stream[0..63] = C845BA29D542FBED2D021C85188E119F - D34967B79D9F44635DD45D2E41DC5AFB - B237AD2FA0E4CF4202D83DF3073C578D - 2AA8A32D30FB45DE28F23CEB85E50FBF - stream[192..255] = 15C910FDD3C590AED1ED7DA2A7969297 - FD12081B4B23F0A32CE5B3196173C7CA - 7EDD03F9637E08CA501C4850C15B207D - 7AA724377396CED2357B572BBF9E69AA - stream[256..319] = E484AF567EF80BAE77461855294E9280 - EF57E7366605785034D639D6DE3EBB0D - E21886D0E1E0679BC2E2C9C2D9201484 - 4A452B6AD3F1AC8B7762FF3C0E405B3B - stream[448..511] = 595D9855200786BB575FF7977509F395 - 7879CA1F19619A99174BF013CB62F85B - FF2C3C4FE724E26DD0C10D7635A2491A - 9E7E868D9DAD9201465AA178184D06AC - xor-digest = 08737B82505F46F4FF282EF42F387AA8 - 0450058F5314389BB73733BC163D75D5 - D32FC6408F8DE5F6ED2050027D605FAC - A7119FC2DC1B6D3E84E8048DCC42FBD2 - -Set 2, vector# 45: - key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - IV = 00000000000000000000000000000000 - stream[0..63] = CA82A689535CA8BAE01BAFEBA6504B3E - 6E6320101999BCE5550C2BBC9BC65D91 - FAA2D72FA4BF46B6EE916244048B1D09 - A115E3AB6C00BAC8EE382B58859E8157 - stream[192..255] = DE787B1CE01B0BC09801D78D1FFA3A82 - 0C18B867C561E96DF4ADADC5A4375E44 - 5A34F9457E5F8C9A337A0C88DF0F723A - D4509F1449DF2C6AEC0EADF4C7A8139A - stream[256..319] = 7E1854FA15DF9D5827F1555F12B292C8 - 452A1A893EF034C51750388D294947EE - 3F505839C69C1708E8323C449C39A96B - FC9EC91B0E1CAA8112057EB0389FDFD2 - stream[448..511] = C85B42B838FB9C3D4956C9E22FBD8FBC - EDD92C4461EFBA5CF1664B9AF54857BE - C3D00319E5E8A89A8322831151EE1D52 - D8585AC79CB60B61ED2C852D04BB0FB1 - xor-digest = C65A6BEBC4FE898DB8D6B8F6E8F3680D - 2363BC12259B0FDB2BD8F052A572ECA8 - D1EF62AA9A48497805A413742B5AF5A2 - 6DC9FF624B49E5D6FE58BBE5251B4983 - -Set 2, vector# 54: - key = 36363636363636363636363636363636 - IV = 00000000000000000000000000000000 - stream[0..63] = 9F6BCFDE566A1B67C608F11B8461E340 - 42D4F07DA4D5EB05554CB7426D65C5EC - A93C2D321175B6F72FCBEBA6E38CB098 - B72534F7D534B1AADD97B77E8513B482 - stream[192..255] = B2466A173F436C8433F264CBF125B8E4 - C10BC81BD46B5C21FA161CB2AE07D27B - F66812A2C2FCB2B14C23E413CEF4E591 - AD52EF810A000B42E5C1B76EEBB17739 - stream[256..319] = ECBED2058DC50223614EB8635B834C3B - B176719C18CA5E3D087A93E5CDF81123 - C6FB819CCAFB5042AADFED5E3C33116A - FD92AA21031165A22F4751C423B8B945 - stream[448..511] = 758BD9435DE607867DA256064C304C8E - DDDF5B64173CF2C98B2842992F8C5FE1 - A37C3227B7F37D49A39F9FF929A883FD - 56DB8B1A174E1E55FCB21C9E1164C20B - xor-digest = 31761A49503946701D35306FBCBE10E2 - 02967E7EC14A328B4DB19FE79F03553F - 13A012B7297B2D02F18A216AD24A682B - 299518C3769123EE86A4937DAA9FC39B - -Set 2, vector# 63: - key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - IV = 00000000000000000000000000000000 - stream[0..63] = 85C7FF83641ECF1C91B2D996D4EAFF6B - 26A4E7E34C0CA9CB9399F655E566383E - 246143F57776C8E08951E87F76091FE7 - 2356CC901F09A07895A890AECF047B3F - stream[192..255] = 4CE0C6606195F7562D485E32E8E105AF - C862100A07E55FB449BCFA2D9BD48658 - 958B37B3EA3565FA66824102A14B5770 - 5E3914E0680E116ED58212CBF61028E3 - stream[256..319] = 3BB772A5A8DE2AB14CAC1ACBF45B1701 - 057710F24C01E680F58090B8E949AF01 - 8970A43A698A04C0C8639FAA665DA3AA - 562B2C5C3A03BCC38FE75DC1821ED718 - stream[448..511] = C73DEA1F7BFE42DF75EA2681BEB31948 - 821FBB049DAD15B988A77C0247868A38 - 2056B66F47B0195FA30C9DB5A2334A9D - CD7C0D22E479FAE1BBCDFFE60F261C7F - xor-digest = 94D41CCAD940CED3C854DA0796DC62E5 - 6B566A980E34F353CFFD0F53AE9E34FF - A6A057645FE66D86BE30F93805D9E2B5 - D78C68EEBF61CE387277A51EB2EF835B - -Set 2, vector# 72: - key = 48484848484848484848484848484848 - IV = 00000000000000000000000000000000 - stream[0..63] = E45194379659D1D8904DB3698AF8B245 - 762910B7FBD019AD1AA20A6C433B4C80 - 308A9EA68697631646BF3A2107C4E7FE - 2235E8F3262A9DFD3F5CC23FEB0B2DAB - stream[192..255] = 012611EBCFF9F839DDABF99D9D4757DA - 4E947598C4757976F6F61DA5F0DAC8BC - DDF72F08BA2F446FA37F9A490F6A2B6D - 79227C93271D6B763DA7B2A907220A42 - stream[256..319] = DDE54F9170D6A4702CAF45CC6F799F74 - A43D83AB8ECBAC5206D108F869561D70 - F151A0037F8E28951B5026643F8B2D6D - 56A62E259F04A5EA304791A9468E66AF - stream[448..511] = F70794C084E6EDC07BA0347413B05FC9 - FC46994CA820CE4FC037ADBA50EAA9AD - 55064ACB7308CFCE3F35AD5C7C628362 - F4210FBC2D3264F734728626BABF5356 - xor-digest = 31815B36BA034BB1941DB1E45A941A59 - 7C3882F34BD3BF441CAE8A9790B05BCA - 72049FD10C09A14AC9DB867A82C38A5F - 524C72F783DFD16980DBCDEB486FAE96 - -Set 2, vector# 81: - key = 51515151515151515151515151515151 - IV = 00000000000000000000000000000000 - stream[0..63] = 3C04E21F6937C4EF472BFDDA89F9CAF6 - FF53889A9979ABA8F23AA51DB1EDB8E9 - D08F696C1100799A7D004DEF1CA94110 - FCF0C054B0C131E6FAE0FE2F2DBF22B3 - stream[192..255] = 9B4ED3EF9639B953186FC7E732E7A9EC - 55A5F3F19C5A10E12EBE46DD84F10385 - 33837693588D584FDAF86E3A217C3CFF - 020278736F1A90CE07F0DCE4329005B9 - stream[256..319] = 135FAD68B5282FE59B28D2DF66463632 - 06CA92E84A73FA131EDDCE89A5C23B4D - 08FA57D455BDB32F8ED58DAF3EF288A2 - 7C72020E35DAE19B446E4C52DCDAC5B1 - stream[448..511] = 7D08FE1CAA0E8A0362669B310B99127D - 18F2111002891D3229102D72605B9BEE - F5DA36059B0DBBA7646927650305431B - FDA4A97570CD0C484BF1E974B157ED7F - xor-digest = 5125E77698C0DAA89A7E47DC5D038D40 - 7B732CE56CEB674CE653A1B6661B2740 - 0C092AFF83BEEE4FC4543B9D725C9387 - 2F89AA338222ED677BF59397200AB304 - -Set 2, vector# 90: - key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - IV = 00000000000000000000000000000000 - stream[0..63] = DA2E6F7FF0D1F1C87A97E028D3E20E21 - 75E9AD91482965B651B495AEE819CC6E - C42AFE2C20EEACCEC4E90710D17210E0 - 4CC6832905985322C8007F872D3E58E1 - stream[192..255] = 09B0A38E19DDDA08F7DFEF7D0FC80560 - D692A020F0A66F609374ABDCD1343722 - 05F19CA04EBDD3009844BC540C1B2B41 - 66D45E8A2E822B906DA34649E7FEEBB3 - stream[256..319] = 6C8E2CE1D7FABA414432E75BA2EFE4AF - CE2CFE99506677A956AEC86BD290B6AF - C5298A448D0DEFA99AA5CD26D318982F - E786D809C713D5A55B42CA6650191DDC - stream[448..511] = 845FEA0A88B521CCB8927C9457AD3225 - EF6E3C21705EC9FB24873916A2C24668 - 963C03FE097DA8224A42A99E5DFFDC17 - 68CF518DE49CCAC8A70216C62C9CBA6D - xor-digest = A46BFD9D2D0BCC688A032F54733AB7C5 - 5FF58B296071D5D39349A531E41F0BA9 - 893A1722B6102740BC5FE394A49363B9 - 6A626AB43FD6A288CD9B23F7255279F8 - -Set 2, vector# 99: - key = 63636363636363636363636363636363 - IV = 00000000000000000000000000000000 - stream[0..63] = CF0E05248AAD82F1C8CD2095ED2DA333 - BCB02E3AD8797377AE1F1B4D6DDB86E6 - 2A59791CB553550E0492FAB42C7A2C42 - 3157C5092D2DD37D46589F17FBD86584 - stream[192..255] = 9E946626F1EAAEDA42E52422B4A84D91 - 4122EEE5736BCD12061C77DF5B0122B5 - 1784E946B4E93470170ACDD7E2779591 - 57BCC9B9F3E11E88BC2F740AA0C10C97 - stream[256..319] = FF22D8196AB3DF662210D12D0FE79255 - 6DCD39611C07F089979CF7D693A30CA3 - 5B795B7F6D64931916E717C8BFB92114 - DB75118BDB51D142CE8133415C6B3456 - stream[448..511] = 971F007EFE17662D95F47F4F28266516 - B22A1E50755EEF19149DE3A3121F5FEC - E0D9DFE7A055026CA44193542D7687EC - 695B97769BF02F92C1EF3D904A8010C6 - xor-digest = D1C4878BEFCE48888A43C6DDE7CC8163 - C8D54A4CA36748C74721C7B6E1649A31 - 4B5B7A4BD43E7C3D2A22F0C8446C7892 - 90D54D421D37CB16400E59CC86215CC8 - -Set 2, vector#108: - key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - IV = 00000000000000000000000000000000 - stream[0..63] = 54F122FC8ECFB176E7F4CF172B2D78B6 - 54BC11ECF0010D2AEB9F899130F4AC2A - 38EBC15C8831D591E6675DC1CE7A471C - 4B869FE83CBF37AC70BAAE5D4AC607F9 - stream[192..255] = 518F298A6008532EEFECB3DCF72103BD - 5E3F84FEB6EA2311E8C19A2E93A9C3C3 - BB1DA7DBA78D5618D1C4FA5B0B202728 - 62645A361E55494D66C9359E41E5809B - stream[256..319] = BAFFFC9206D1D813F3E2768F08D78B2A - 89BB20CCD92E7F13FDD816DD4E4963C2 - C5FC2570CBB8BB5C70848B73001F508F - 47AF179528200F51CDC6E4854EAA63C3 - stream[448..511] = 844B1D15FBFD1264169279ACD525611F - A39C7BB41F1E7A1C09090625F7926E51 - 23A4CD7FE1A3F37ADC67AC437BF0A5AE - FFFC6FB0ABF39D9908145004AA5B958D - xor-digest = EC67596C9DEF4012A2D543842829306A - 4285A3B8038818F265065DC848BD80FE - C27C2F66A57B27F7FA8AC912001EC954 - 05BC6E93D7E555C59060F5D2E294D103 - -Set 2, vector#117: - key = 75757575757575757575757575757575 - IV = 00000000000000000000000000000000 - stream[0..63] = 91D2772A18995DB3C0801DD3740F4466 - F9535E5BECB93DDCA0E94D19C0B57BDD - 0FFBA9DAF0B11D55C852927F8BA560EC - 4999E25848D08FCA7275E7E8571A5F1C - stream[192..255] = 72E64FF10CA9F07CC493715724DA7610 - 9E4358E8B0CAE451348B784A162DF036 - AB9796724D17FDBF356031D080A6631C - D1E8D217B041AD2EDF427972653206B2 - stream[256..319] = 4054F770C93FCAB533143FFCA8E4C0F3 - 344956C29D10374E502C2EDD177ECE5E - 6625BAD9630DAD57976216CD69865058 - 130B132FEC1AB0C350DF4DACE4C7724A - stream[448..511] = 40B4A4DD63F7B6E932482D0E6F5BBB90 - E402466550B518A177CD05985D238827 - BD92EE7EC22C274F19E682F85ABDAD95 - D0EBB3DB6C6134408353C8B0472C9A1D - xor-digest = 9A6C893F2108D13A29373DEDA65386C4 - AC356BDDD4A3178952F9126E322B7AE6 - 83C94F1A131CBEAFF26549D9F84CF04A - 1241FA374B055B0ADE7E49E8EC669E65 - -Set 2, vector#126: - key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - IV = 00000000000000000000000000000000 - stream[0..63] = 87A7773A3514EB7F882F2C491E90DCF3 - 059C5CC575D806B9029CCE3FA45A246E - 0EBD3AB2F2E324FE36ADC3B56AE2F7EF - C710AA964CB87381386C2A88B1308035 - stream[192..255] = 415D6F59DD004944D4E45FECC6F1F06E - 20BEB18D9C84187C347F43B17E0924F1 - 2348F825E106E57A00258CE4415294D9 - 4323A9812D8A71359CEC1001BAA0D567 - stream[256..319] = 8E20F0D03F37EF4B2C5EE12B5F81F7C5 - 32D62E779FA0D2D08F8ABB6B0183A4DA - 4EE0329215F261D953150B9AB9FCBE2F - 568AAE361EAA8636ECC01A63F007977F - stream[448..511] = E7C44F44E06321A20E25F73E2069757C - 90499DB7E60025CF6D2D445E53A665F3 - 08EC96F6FE73C0AC90D7E4A712E18C2D - 3DED46DFBAFA24C4B0B329E52C525976 - xor-digest = 22035341489FA6EEB2A6488CA42F4043 - 57477C3F55569A1224EC39B1019E90C8 - 21D37D78ED4DCEAF6EA70724C3751760 - 38CF25DE4F84BABD80424D83A310881B - -Set 2, vector#135: - key = 87878787878787878787878787878787 - IV = 00000000000000000000000000000000 - stream[0..63] = CEC0C3852E3B98233EBCB975C10B1191 - 3C69F2275EB97A1402EDF16C6FBE19BE - 79D65360445BCB63676E6553B609A065 - 0155C3B22DD1975AC0F3F65063A2E16E - stream[192..255] = 5E12BA9DE76F9ABF061782EC1C4FBBAB - 3373B816DA256CAAC37914B0C161E4E4 - 5F5ADBE444098A5B2A4CFD4251D79918 - 987BB834BB50F0834EF4985F356B92A2 - stream[256..319] = D89642D25DF97D149AE07EA18BA39497 - 8935978AC34C1DF9F444986D7505DB4C - 7E08DB3616B84CD52E7DD7FB108C36B8 - B50C2573172F4D3500B6D62A9D20B82A - stream[448..511] = A2C17FE7371604556F796429C6BE0688 - 8611638B310F3E9FAF484BA9EE29C16D - 2F842EAF33AFEC557B68D2F453569187 - A6F4CD204A0E7A733E81AB7CE9FCAE81 - xor-digest = A7C93087CA70DDFE5FA5F1F2F954320B - 6E3A61977A7C6AC2F033B826AB9A9957 - 66671D2A1025CDF8E2824B2F58CB221D - 2A68679239D90152FF7D0D39B33FAB93 - -Set 2, vector#144: - key = 90909090909090909090909090909090 - IV = 00000000000000000000000000000000 - stream[0..63] = 7118889F6E46A6523BBEFCDB006B3BC6 - 71A6D390BC7099A708D370DCD0E3D143 - A0334619EBD5C7DA9EF6301F29273F85 - 2DFA3C580ED65C6E952F88A0B7FE368E - stream[192..255] = 31D61E133CA1AAE400CB2DBBAE93C75B - 445792061AA0539DA69ED0B77B970C0B - 482156A5DEE4082A61364BF06E692399 - FB9F4411FEC515291F8949B20F57229E - stream[256..319] = 993E815F299D4841518119BFF88F6EFB - F3DB9BAE60238BDE2845DE4DBA6D79DB - C9E42BA5C3C004AE4546FD86C660FFC8 - FD6A8A349669FFE3D9E5BDF8E50A407D - stream[448..511] = 0F9CEAC6BDCBB56B7E97DDC95877B2B2 - 1274F4A6D814B5440C74D53A3FF0735D - EF01B14AE4188E215CE7337C04871688 - 7159695A241BFB9D6B489FE9E23B2AD8 - xor-digest = 0BD5739ED28778023E6303FD88DAABC4 - 0FA0A211A1A5C5F230D9E67DDD9EA517 - FEBCDF0BDBC107291B6CF3ACD8B862B8 - 4BF15400493A54036E97FDEBB9A1DB2C - -Set 2, vector#153: - key = 99999999999999999999999999999999 - IV = 00000000000000000000000000000000 - stream[0..63] = 236ECC5AB83DB1C5CD1C5A888CFEA2DC - BE99E7E515650511FF7016A0EF287ADE - 5A03839C4F83F05FAC3B0B24D4E3F602 - 3251F8D9CC4530A805F8A6A912EFAB1C - stream[192..255] = 792823ACE2C0DDB266A118068AE295CD - 716E424D3B98A9DB2501A3F5DF7DC70A - 3BD2C6E664D5E13317D6F57B8774C903 - D407D2BB6014E0F971141E89569C5868 - stream[256..319] = 2D6ECCF738FC00ECD5475EDA959A73BB - 304C81FA9DDE0C21592247C4098D9347 - 1DA30294DE8C100E5B17A199F744CAC2 - 4E33490FC7F223FD6B4923056117C6D9 - stream[448..511] = E791A6BE7F7593788E5D627F5CDAAB59 - 349AF2BB1DA2BA622B9824F729929098 - BD19DFC05D0D9454F604960C027752F9 - 7812E53DE6AC6CD2751AB331703646AF - xor-digest = B7C5CE0D2FF66533A1C948C425F33FF2 - DC458E7E517637596FC8FB710E2E5636 - DB1F14848CB12793D54ABD0856B22F3A - ADFA8C33AD08B8CC5292DD76913CB105 - -Set 2, vector#162: - key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - IV = 00000000000000000000000000000000 - stream[0..63] = 74490D19F13E7C6D1B25C6408E23F229 - 8A8806402755660C4A30CD216A500BB6 - AE975E08EC62D08425A8A62A71B00215 - DE35E5178902348698528CB82296F009 - stream[192..255] = 51A6EC18829928EE94C37A5CD030CC4C - E4F7E1B3E78C3A5DF07592F45B968BEF - F95B8B257DAF2B468284627AF4481FD2 - 67BE0B164DD86721DC8C1607A0607EF0 - stream[256..319] = 75C565D5A5A240B003273F99BEB3E4B3 - 9C056162B626F383F3E77B5C98C0FBE9 - 119A7C335C333E6490126AC2510CDFAA - 86441C72D1DD9ACBCD3FEFC0D0C794C7 - stream[448..511] = 2D90CCF0B43239D725E3B53C31B82754 - 246C065AD23A8D709161FC74B34E23DB - B918EAFA4465125D3780BF0B5803AACA - 037AA0A14D977141B611A6CA2278B634 - xor-digest = FEFDA1A6E95920B93380CC24FAE214C5 - 6B009ADCB176D519CA4B8538EDFC95D1 - 6CA06B730B28A230F0085FE43CBEE2FA - 2EE5DCD74D66F5CBB59F256CC1ED885A - -Set 2, vector#171: - key = ABABABABABABABABABABABABABABABAB - IV = 00000000000000000000000000000000 - stream[0..63] = 22E1A884ED2C67CCB2977105649B6544 - 367858D1A730AA2FA96703FA406B337A - B2159A389BEF48D8A215D870B2968E16 - B11571F12BEC0A07FA7D3B9790987EC7 - stream[192..255] = 4C98DD259D03A40AF38E0ED0F37CBD74 - B27776E9250B8B063E52E169C7B76A15 - 0D699278AA4124427B5EB6AFC4AD5DBF - 600FEAAA98A88DFF297DACA5ACB4878F - stream[256..319] = 5FC732A26406FF0DBC764ACB05C83484 - 976B640E60CCD6ABFB908583ABEC3E75 - 2878371EBB5374C9B37A63E0768AE10B - D857253D940AC408EF49EDD590E806AE - stream[448..511] = F012E429C44D5DC03B88123855B62C0E - 90E06759306017B5773752973850531B - C480316CBBAEDE6353AD5FB298349AA9 - 16AC0221A4CE1E4729BFB9C230AAF9FB - xor-digest = D73B872315F9052C67C4CFC5CD912DBD - 60DA32FD06D9C8E804968E688898200C - 1D979DFFCE52E1C3B3309B58D12BDBB3 - D3EBA2954D1587D720E004E12EB4A13B - -Set 2, vector#180: - key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - IV = 00000000000000000000000000000000 - stream[0..63] = BEF4DD0101F80A8F880BE0613B2AAF88 - D2EF924014F7445ED922E9C021571909 - D7E6BFCAEE0724F2A9C522C4BDE4BBE9 - FE53FE592C0FEB80D2C7A51FB8BE9EF3 - stream[192..255] = 6B1966D3EE460999FF09001B0ADEC484 - 0D22CDDFF39EB0E3D5FDF74C6E7B3394 - A0A4271D780DE6DEE9AC58B4903EEDD2 - 6DD14E14A4DFE506748D5DCA6DDF4C5A - stream[256..319] = E79D99119996FBB5163335E2F79F0502 - 7AEA5372136E7B3C5BE1F4A673A2DC74 - 60834B81BE6C4976C4A727C8E6046A64 - 4CAF42EEA6A068B7E532581E9037BE9F - stream[448..511] = 5C4F52E0E94884C829DA1FE88EF34614 - 9F3EE55A136EFA3B417DB63D2487DF82 - 794E161B3153DDB2E1E4F385E1A848C7 - 729FF5CB1CB58D5E73FAB1F2DCEEE5AD - xor-digest = 2F3C231B0228C274255F3BD314ECC7F3 - 1B9C49177009AFF2CD88F807092D77E3 - C74C1B9B8650F581EC7603F4D6E70955 - 1B00C3192414C04AB0AD8B0B9BCFE988 - -Set 2, vector#189: - key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - IV = 00000000000000000000000000000000 - stream[0..63] = 05AF4F98E9D526CD7912F3E8CAF45410 - DED6D4E331633C5621B94E7EBD15E856 - 04AB202A553EFED55A548C7AFFCD2550 - 60315FD50A305D8BCAC9C077229D34AC - stream[192..255] = 786D24EF3FBFF6883A4ECC4F40E445AF - 3CFD130D5B6A9CE37BEBA429AD137A82 - 44D0586FEB16D086F533D1885A82F73C - F2AD2C645591F80ED09942F0A08D898C - stream[256..319] = C214B6AC700164FA66DE346A27A99463 - C5B6C0E43A9057384BE168E163058FCB - 6E7DEC871C6531EFC8B8D581EF92757E - 219294D39E0C9C8276440BE56C3D9941 - stream[448..511] = 22CF14F5BD70E719AFE76C53E5D611AE - 4C8D2171695C9CF97E2936A8BB320670 - 015825547A508EB43D96F2EE1EE2CB34 - 4E120F001500F8ACC3E19E30455D09D0 - xor-digest = FE5928C74EA21F23E29171E5AAACA20C - DD8571E907763C96B99A8C11F9A1D2F5 - 78F68A6C440996995F7AB6E69B3CCE33 - CF8CE0C16F54355696D47DBF82EA8D56 - -Set 2, vector#198: - key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - IV = 00000000000000000000000000000000 - stream[0..63] = 75559677D7C762F6CFED942D800F2FAB - AB5F3892DC2C79922E96FD34FE511C11 - 251C8EB7C639E531CE08A8C99F62E7BC - F68FBAFF99D62348FF91CCFEC2710055 - stream[192..255] = 149806A4D862EEA81F0208D927339E5E - C98E9C2A6E0DB85CC0380DED7EC5B8AC - 4ADAE76AEB9C7B7264C3834316209615 - 25221D58C0174577110596FF89C8FC69 - stream[256..319] = 137E527A0ACB8B96A9FA07890B60B78B - 3CDD19BF89B31FF75A814F470BF97E0E - 1293B750B769F5BDD750DE5025D7534C - AD541A1F26C6AE9AC2FD3237C156AEBB - stream[448..511] = 0958243E88921B81F04AE63658E52D76 - CF2638495B3A6B970633A7C8F67B8CF9 - AC378082F72FC63BEA02881CC5B28D9D - C8C261C78B2872B5EBFC82336D6E1A28 - xor-digest = 0084D7BED4953402FE8F7FF71A28CEC7 - 0028A08A00EF935C06A8B3632DAD5914 - 84E44E372A753F8E630741266C0F4218 - 4923608103042C70ED4ECC5112B9AF6B - -Set 2, vector#207: - key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - IV = 00000000000000000000000000000000 - stream[0..63] = 0C46BF67A3DBA5DCCF8E4A7A65B6FE28 - 98C701CBF5E88F1F3DCB6B873E5CAEEF - 23024ADA678E1A2CA9E25AA8B476CF4F - 9FCBC297FF03A9B94A5A736274EA776C - stream[192..255] = 73B9891D1770289A67D6338909FB6282 - 9A425B7947FC30DC52B11E398E85B1EB - 537E1C02898FEBFC15A9172C254CA55A - AA1B56EA856F47E37E2F252D92D94ED8 - stream[256..319] = 6522D372F90F2DAC155D48F165B6DFA4 - 38B63B9F436FE00CC075C585297B8F90 - E6062358D29641FF9C28EED4A23FC53A - 6B5C60C2AF1E8146DB27CCF5F43BA838 - stream[448..511] = 642541A9733946827D79BBD815C03C17 - 6357BD6E81E9A61FFFD4A0BF6863AC71 - 72AEFB92C1F235641BBE1457B724A6AA - AF9FAC687552A778B034C4A4F8E41ADE - xor-digest = 9DDBC1E7D31379D027B4F3DFD72C3668 - BD0BC5A97655978E79056B3D25DF3E79 - 5D5D8BE5D1AAE877F2E7D03225CB6609 - 6EFE11CBCB728039A243E326437CE73B - -Set 2, vector#216: - key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - IV = 00000000000000000000000000000000 - stream[0..63] = DBD4E866F4E24E7F66816CAF625BD07F - 1F7BDFBB81428FFEE9FBE14DF5F5F3D8 - A044EF53A868D989E16165A0F2B95E8D - 83439BB4805A125AD0CA7994AE11B852 - stream[192..255] = 7CACC4E7B9B1957ABB22ECB9D9D67184 - EE7A7F4B822A1C955A69E238022AA313 - 276C2003E27AEF1B4F94B33A6428685B - F048B357EAB297B7DD98E612F054A317 - stream[256..319] = 286B484FA80A45EE4D5300DFBE173E8C - 978B976BE1B6CB0D15C0324D6B70D265 - 385B615B3EA97A55D94C47F53FF40861 - 4460857AC9568556AE54A52546B41B5A - stream[448..511] = B3AD999394343F6F0BDDD0B1FAE2E3A6 - 5BE2BF56D2B78A401D5761E2F3AF8B18 - A2B1089864999D9B99E5BF6959F8F802 - 975FBF204D6159CF23F3706CAF0D9BA5 - xor-digest = 0957D6887501D4360C430614B67D99B5 - 32849E2F5C69CE8A9F3F707A2B5438BD - 0C1237B5617FB525CC9C043A10DBB265 - 3C3F0A353E89A19838B8F68542E09526 - -Set 2, vector#225: - key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - IV = 00000000000000000000000000000000 - stream[0..63] = A6DF8DEE1EF7D1AF773AA3E9651B645A - 50CF101BF065F69F3E78BEF5D689B1D1 - D306FF41EB3E78BEB75C4200937CFE60 - E89E370680C519B2F64E23516ADF8062 - stream[192..255] = AA30580A210B87727BE17EC52AAAD037 - 3E0DD11FBFC89B37825CA4D6F9E8D433 - E3EA54C37D678B58CE834AFA310F6D4D - 06B4603F12DBF38595AC76511D0B13CF - stream[256..319] = 5F3E1A55116CB67BC91C8E37182EEEEC - 8FC9B09DAA6F418D3434BFBBFF6BFFFB - F93F8A963F2F51CC487BE868F010EC0B - EE17A480542A301E33B36F59BEE13D91 - stream[448..511] = 672048756C221C12DA6178BE711B3371 - 525A92BC9A219CABC5501B0DA4CC248B - 8742E8BCBD6F5A1CFE522F3DF3BED6B6 - 5D60D1AC737ADC582C2CB9751521828B - xor-digest = E7CA739E4DE0E74274E491CAA9BF5CAB - 3F418EBEB69509D69B2594E964759D15 - 104F674CD44681AFECC3B4939CA0A0C9 - DD7AA5726653ED3FBFC833DDB0C87B42 - -Set 2, vector#234: - key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - IV = 00000000000000000000000000000000 - stream[0..63] = 2479A8F2872A813D16D15F060D300237 - 25297B812F6F3B97D74D9716E4403A5A - 684D2BFD1E15275470FEDADF1578277E - 44C6C06B8A5FCE3D0CCC5E13BF49947C - stream[192..255] = DB2F9B25F9523FF5C2CCCB808EFE07F3 - 132D4B0065A563288F848E05EB45E48B - D15C069C02F90B4FC10AEBF1AF4BF90E - 2CF7F48C8CD7A8091014131EBC21FBE8 - stream[256..319] = 84FAF79797E25BF2CFD54E58F5C7AC1C - EC170B064429EB832924CDA9C47B5174 - 9BFEF80D96FAE36DDA65659FEA1CC06B - 4EA3A1601A3304AA4DDBEB62381FD4DB - stream[448..511] = 2C8FC8D23E7DBBC37BB0811D1BC71145 - BFBCDBAE19F5281CD0E6AA37419778DA - 64DDF68726DD7F4D78BBBFF4576C2AAD - 93F477A2AB2C3CA8A381F30BB944C7B0 - xor-digest = A6D5F0DDFC0A43491D6D0A17C095C070 - 9EC7E9B89DB8EEA11045ACC5FF003DC9 - CD3318BB6F9675EEF20E15490F525066 - AF8380C663B60EDBAE30663C94C39892 - -Set 2, vector#243: - key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - IV = 00000000000000000000000000000000 - stream[0..63] = CC3701E703946194401D1BA23AD99B5D - F3F856138E142D4B9C23DC9F252A277B - D62DAA33A71A0C61079AD5A20562291A - B6EC92C66D7BE6A17E27D4DDB48EFD31 - stream[192..255] = D00665FC0A4ACC78758EF25B0B0D6903 - D565423614409AD11E821B83F5B35D83 - F26F3EF9EC1766FEA9C21C09E0AE248F - 4BA01E48BCE09D06471593B3466703DD - stream[256..319] = E8B4EEE2C8BBEDBA758C1C2D0889FDDF - 96CDC215EF1A62FAA29A5608C852FFA1 - 18B473C5A7319446F3ED2E8AB39A533D - 714325D1B14E838C9EC6E037DB0DD93C - stream[448..511] = 4FF3B43841B17A279002EFB07324625B - 7E937D480DC73F12836195110ECB4DB5 - CD31CA4F92F612A95E82815328DA7D5E - 4DCC5BB6791603EDA64C57B5A5AAA04C - xor-digest = 9202B874C48D4B1A9E857E645EE8F884 - D971CE97923AC024ABEFB944E34550CE - 31712BB832F9174F86FCD369E75CA9AD - 85095F43A4B7F33AB641BD6912D2C59C - -Set 2, vector#252: - key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - IV = 00000000000000000000000000000000 - stream[0..63] = F374DA745A5CF93A567027609E5D3B1D - 5C3C8A4D15203705D978AD42279F6548 - 51FF713F5120CC93D044EF717F5A75E4 - 98DBEF559E5F157A8C819E213E93B3F4 - stream[192..255] = B270F638AAB88DFF69D724F79B70CEC9 - 175AEAA99D55485954B265B5CAB86509 - C810E664766A8E6C90D4BEE3A58B1815 - 9076959FFFA2F30EEB12343E9E7778C5 - stream[256..319] = B2CC84A1127B5333B30EC81CC14307FC - 418DA96336991A27DADA74FDA987B867 - B125C53C0E4E2889FDFEFBFB48797A22 - 2836B2EA42793CE2BFFD568F6234B368 - stream[448..511] = B70F4A10A1B75D499E8189C8B92AFB36 - 4CD2D730DC8D7E183EC55A777C2445EB - BA7E9CD95C8F3A206B73C422AC2E2C08 - 15A8C6FED156FFF93B63DE512EF69725 - xor-digest = 467EDA43B849054EE747A532ED0D9AA4 - 6EA1BF2B6AF19F481D6E3D55EBAA96FC - 6629FE65B5EC4B5EB6A155A6D60FEA32 - F04F8230E26390F1C8FA53D47B68FEAE - -Test vectors -- set 3 -===================== - -Set 3, vector# 0: - key = 000102030405060708090A0B0C0D0E0F - IV = 00000000000000000000000000000000 - stream[0..63] = 0315CE93BE05F88212B413335CA65F33 - 6387BA612421C7BE8276299CC178EC31 - 2143C503A9F2644685882201137BBBD7 - 3A2385F0AD14B690281B54B8DC064150 - stream[192..255] = 8B663563AE31DCE7AC61BF4943466774 - E9EE784644AA761B9D8AA9B8E04D4C91 - 75650DDF130454DD60724864DF2FB6B4 - 31F947F8FCA83F6D3B113BC413D3CC10 - stream[256..319] = 35EE3D4294E5660A99A1A1C9254D27A4 - B42FEA8CBD5C5BD8B902E1B1BFEF17D6 - ADC9B6B924C7C53D44A5C58210989BE8 - 72E532300EA9115CD2AAC8024779B3FC - stream[448..511] = 402F841F64827A197FC56EE9C180F5D1 - 075107622178407B063F70C6C860C6EA - E3016D56F7CDC13A109283F5F4FC9420 - 6C62BC3D1012EA03EE08EBE8C2DC074A - xor-digest = 6815E00D7D3414FCB103EA82B38FD4F4 - 68A453E84A520B7119E9D3A4C938BF0B - AC26F7F73EDA7F3E2F20FBA551C15205 - EBBF2F6BFE6DBAF95061F0AB3988DD57 - -Set 3, vector# 9: - key = 090A0B0C0D0E0F101112131415161718 - IV = 00000000000000000000000000000000 - stream[0..63] = E695E5417AEC9FBFC0EB0909435E79C6 - 76AB8E2F28C556CC2C81CFC5F7A2A6F1 - 254EC0CD2CFAFC257907723557C1DF5A - D81D1E3D201410A12A5FA3A6160F266F - stream[192..255] = E3D590D9AF3869FFCBE2A4B8C77A09F6 - 211193F83B8A43714CCFC02D014376C5 - A44FF7C061471AE208F04DCAA89792FF - AE7096EAC47898C1011095DE9B55682F - stream[256..319] = 0F31D78C0B86D246FE105AA6D9B93CE0 - 257E75CC0D2A0BE96B9156555D8A407E - 01F47AFF719CC894EE111C32672B0404 - B5F26C1DB1D7D0F9E470900AE53B192E - stream[448..511] = 1A01733BB8EACDF2B2F4322FB54FB6CB - C92989248FF31BBAAA8304ECC4AF9A39 - CAB21BB66E0A144D8B77C537BD52DDD8 - C5B0909CC6423D4F243E5AFE6E22D07D - xor-digest = F8C3BF6905A19184D14039E4B7FCFACF - 2EFA004B35B55DD04F56199C6C9DE1B4 - 458C5EFAC45C6062BA1EB726426987ED - 88FA899849CF5F6CEF60119F6A68AF9B - -Set 3, vector# 18: - key = 12131415161718191A1B1C1D1E1F2021 - IV = 00000000000000000000000000000000 - stream[0..63] = 3C189DEDA71E56926CA2C3A2974C4FAA - B7EA3C1250E768CEA797ABD6477B59F0 - E5494635CB4700A95BBD54B0E93D12A6 - 423DF8F34BC6B3BE705ED6704BA33894 - stream[192..255] = F21E411ACF063846BF68F61F7673710D - CFBF8088E2A815F406E17C4BF4E839AA - D2EB9D137B0F7889E68F4B5C8160199A - 7C9C697EA6A1794E954ACB535A72B255 - stream[256..319] = BD7E1C4A54C911E84067AB00F8427810 - BDBF4029E78D424E65F477BEB457900D - 0EA49B639863BAEB1427A161B8C629D3 - 55097F5DFFB24BB97329A73B144DB7CA - stream[448..511] = A4D9A80D0055F2D8C55D2A49B39DCA69 - 9A5652C43258152B42BECDE07F21F8D0 - EAAC565DCDE549CA4A9A27D82F5AF4BB - 1EEB1B0A53A58E50C3E83CBCDCB980F5 - xor-digest = FF451365606D0117E15FC2721F40C9CC - 0FBF6442A771F8FC3B06186C35C6CA13 - B30F65FC84B9A38A6FBA2B6F16541B0A - 0D77BDB4F696894B2B73CCCB8D6FA3B7 - -Set 3, vector# 27: - key = 1B1C1D1E1F202122232425262728292A - IV = 00000000000000000000000000000000 - stream[0..63] = BE4A26D09D47D25416355FB7FF60AA06 - 3B3CDE5374780F2C66514A0CAA07406A - 88490A2E3D6294A799C9BAAAA1B10ACB - 88FF4F6F70EF1F4F67D591040244FEE8 - stream[192..255] = 54F1AB7235B6440D6A7FC7851E3FFDA8 - 6CAF44E3F57E1E9406908064FDDA3A3A - 3C7AA1CB6ECAAF376C5F290EA02844EA - 779A225131F24D2E7D34AD0342399FED - stream[256..319] = 81AC4F45FC40CE7E1FF890F5EFF2B583 - 36F71D1911C7E0227AD8E4DFF7369B41 - A8C266B3468A78773C4C40A3EEA6B724 - 97662462F48835FAC7B6C77CEFD39A65 - stream[448..511] = CACFA9A51224F533C600BEFF1EC03C7C - 7C22EDF93E8596128F8709F0CED4E291 - 997229AC5542FD2CC9B1167C3D2BB57D - 9B08B82C0FC41D93B7CE2211C5E2D534 - xor-digest = 0D949205B6024DAC1D215F2AEA7CB484 - 3FAA9A1719398AB8828A28BD2568369A - C78A224AAD95BAE6A6333C4C13D630B9 - 42AA52099F6EFD6871B1E45C8DC68AC7 - -Set 3, vector# 36: - key = 2425262728292A2B2C2D2E2F30313233 - IV = 00000000000000000000000000000000 - stream[0..63] = 65906EA9CC0080D2044671D22C7DE242 - F764184ABE8DADBCD550225BFD541D6A - 762C7A5268EA0ECE51D18269E71A4CCC - 054AF634616204C81AE7E515719775DF - stream[192..255] = 9ED75834EBBD9576E11DCE8C583ECEDD - 2B8780FE98B44E9F08BBE96922C77BEF - 08DCE0DFD7C77C42236885BE6EDC8343 - 24EAED350AA5A513009272818CBC4BE5 - stream[256..319] = EB1D998260B3AF4472DE59E1C9DD359A - B346B32DCE36C92C9B7BD808BAB76AB1 - EDCA2827557501BE0FE28F6498B33B9A - F4EA48786F3158E8047A32A03AE1CD90 - stream[448..511] = D06B1B9B8110FB9809F5887A35CB24BB - 80EDE203AE648AF9FA348B18D8A15B8E - E98E8AB98A7AC5BF71FDEAA1A6E978F6 - 7D5734AA7FA88E8DA44C861E2F54E585 - xor-digest = E77DF8C1D5F46F8896DD00187C840B0A - E4404581DD053C6F39323815729DCE90 - 0D85C2D8C97D0A3B57CF622F81077B80 - 92988EFFA36CA176F7393D1E38AAB206 - -Set 3, vector# 45: - key = 2D2E2F303132333435363738393A3B3C - IV = 00000000000000000000000000000000 - stream[0..63] = 3FBFE9A391DE0CE5AAEBF9DA3A15EB99 - D6CBAD0341CB78042C89F5D5B0B555C8 - A400DC47FD19F40493B348CB51430B44 - D05AFCA9D399709EFAB8ED2587F72E85 - stream[192..255] = 68969047EE54910C44F8B5718E993234 - D814C27C0B59EE09F0D35B58352AA6C6 - 594F605C25C16CDDC29A354A1C6F5948 - AE497C093E2D41C211E4C1417DFAAFC4 - stream[256..319] = 0DD68E08A25ACA4448DF4B562EEBB855 - 14E41F1F560C479542FE62C2DCBCF03C - 30AF180FB71E65A9A09C551551A33942 - 53558C2440084E6B4CB664A4EAFCAB66 - stream[448..511] = D93B80D67B6484030103CDD72536E695 - E7BAF8B1115109D5D5517BD1E06F4236 - A3551688F5C0D78B2CB080AC072B4C48 - 94A2AF54AD9D816E2068AC569BCD2AE2 - xor-digest = 7C071BF395B48A023A7B708A9651EC8F - 0C9A00DE8BD9D0764C7F1F394AA2B747 - 3EF87BF792D5B89AE0548EB9C1344DAB - DF2E4EC6064D50EE1622160D6DD7ADFE - -Set 3, vector# 54: - key = 363738393A3B3C3D3E3F404142434445 - IV = 00000000000000000000000000000000 - stream[0..63] = 64468807E7EFE78E11B0231D8D7AE80D - BFF3FAE444A60496C8F2DA202941686B - 95C48457C1F9DE1AD2FE581336AE36AB - CA574BCB9619CDDB96E4499409516635 - stream[192..255] = A7DBFEAD9B969D334705B6C53A0CDBC2 - 21E0BB92854B0B107CC39F8C6E4761C3 - EACC8D8C5741AA4243C5BE1A79971A0A - 5A23F2BEDE9F3628CB9099B8C7EA9324 - stream[256..319] = 1A44FB18740973F3124EA805C90C4B27 - 4EE788D43F4B894B01F63C13410EC204 - 2607241E87555B0E1A6FF33AF0DB010B - 8ADF607E6353FCF74F568E0BAF0F4455 - stream[448..511] = 11568B95495E520EB6BE106986A07C57 - 8FDF21463607619E5AAF117D84611E75 - F8979F59E60B43C0A37BC24429892742 - 0D206274DA45EBBA7660422DA45294CD - xor-digest = A70B9BFC683AF2716E17980A49C4F747 - AC25992BA7BCA5E5C2AE162497E4E8BB - 62C837F64EEBE4A55B5705F115CBA057 - C560B1AF0A733B5631E23442601A741F - -Set 3, vector# 63: - key = 3F404142434445464748494A4B4C4D4E - IV = 00000000000000000000000000000000 - stream[0..63] = 35865AF843244DD2F95CDF7C9BD54471 - 9C8432538842C28F93AA21F6E10F8B18 - 31C2AA7EC010A66E539CF65BE55120BF - 090233750995003C7AE414DA6D55F86C - stream[192..255] = 190F215FD14E44CD141E47A2322D324A - A63A7B512A77C20A02D3BFC1EF8273C8 - F65226CBD1BF32A104D1AFEFD6719E4B - DD6355B044EC8D0CE95023C61007E6BB - stream[256..319] = BD02130F7CFDBDBC2171BBDEAB501136 - B2364F5879E6E9CCA7E75AD81105D9E4 - 87E9175B62AFCAD79B23D392B2E9C418 - 437527118797602E629A70CC869AB7EC - stream[448..511] = 1F0DF396B5CA6EC9767B0674B2C7A9C9 - 133CF872DA39DE78F56D41C7F2FF6B50 - 716717E995D42C51D6A2ED66FA6CC7DA - 92E9B3B4D1F130E699C430CFC96969BB - xor-digest = 70291060FEA7D40B5C3FF731FAF7630F - D9BBED1A7FC25A05E6B3F632E6FD6B91 - 1F1010E1BEC69F16D44C5183E38BE8DA - 8949A4D8AA85F5149C203F8C92887875 - -Set 3, vector# 72: - key = 48494A4B4C4D4E4F5051525354555657 - IV = 00000000000000000000000000000000 - stream[0..63] = BFFC0703408DF6EB169656D09A5400DD - 9C4BAF06A3BC7220E45814104B6D9000 - 9585BF9B0CD988E94B8C5026D07AD7F5 - 7D81364775D54D808A5C18453B62A2A1 - stream[192..255] = 5FC95B73A4C91DB20B93319E420B4C5B - A9DE1873C81C835CB455970A90921594 - F9635EF4F411C9ACB4298F75B2CC84F9 - 7F52182F7F001A1EDF72A68FA1ADE313 - stream[256..319] = FB24E97B0CCFE15644BAAFF342C55FDF - 64434708407AA6D73576E842D5ADF4A2 - 6B32D329A2DC9F1451C4BF3E9599E9E6 - 4E5E65F73E09E4F1254BA0DDD8E6C52C - stream[448..511] = E2EB303CD0A67C99CDCEE86BEA581FF7 - 093C9228900B563C6D10B20BF99D3911 - D47C805D1447C8F233D3FDD27CF0DA42 - D42E0389E2CCE99A274AD9D20B9C6102 - xor-digest = F83FB58CAEC8B13BC25C152FCF24E10E - 392A197FDA05A6A20E14093EA0B34C5D - FAE102266465324F5AC07FFCECC8E618 - D0BB60761A26D5FD59D188097A2348F3 - -Set 3, vector# 81: - key = 5152535455565758595A5B5C5D5E5F60 - IV = 00000000000000000000000000000000 - stream[0..63] = 84076D83A841C8C6ADDE3B5D9FDD6529 - 4D0F92B549112F0A6DE05236F732E81B - 3C8E92229C411D2295129ECD18DD08DD - C98BA78D9BAFF6271D95E1F361EF699A - stream[192..255] = 7063A52FB2729433D8A7BF30F27E6EF6 - F17C2A422E60A737270787985508D062 - 4E678A597845CA9EF939F4B8966BD99F - B8633FEA673CE7BFD2ACFB5942D7EDD9 - stream[256..319] = 4FCE866E8C2359C53F0429F569D02DAE - E99A4062246B633D4C502DC897AD8025 - 38C95D49D3B1FA94F4E92441357B622A - 6264F50D5554BBE42191AB3D6073A8AF - stream[448..511] = 2F7C38BD00309FC81D28D84EE4355216 - D97A823CC46FAB9DCAF621E4128F9CB8 - 838BF02E0EF940EFE96860CC0B996044 - 42CACFD3306335241C1B4B65E790233E - xor-digest = 44038A33AF0013BB34CBCFB77F7E060B - 96F5134DFCDBF04EB8F7F29B15C3FDA0 - F766DC940FF548C23712625793851A94 - 294CC7201E1EDC6056C12A46524C6FD0 - -Set 3, vector# 90: - key = 5A5B5C5D5E5F60616263646566676869 - IV = 00000000000000000000000000000000 - stream[0..63] = E811CA3DD1DD0057AD3A1794D3F9CCB6 - 362049B1692D6ACFE1A6A0FCC99C7A04 - 3AB9932A146B4040AC9F8E2F0A227C7E - C60B1F35D60EA14483BAE1F8D1AC7FE1 - stream[192..255] = 865B05E224133AFC45043F05F8082FEA - 487BF63BCFB96DA3EE26960061446669 - B1C92C6BC5905BD1EB57D579CB62A220 - 2F35CEB603658237AF1908132A25971C - stream[256..319] = A84BE383FC852F1BF44130EAD15B3548 - 56737C7EA68A0700A22D357FBA70E031 - BDC0FE8EC36C41790A8B7706A00CA338 - 603E054A83881599D718B1911D1CE9D4 - stream[448..511] = 9286C3479F9A17B51D8749257F59E892 - CE7C3EB8638B29C17D779811F01EA405 - 257062A5F28BCDA1862FE653C7607350 - 9A87D12EDC5CAAFF9E8F9F76DA0BEDE2 - xor-digest = D629CA4708BEF7EED04BB5531DDF9C64 - BA4981C9A705D59C4B2391E94B79CFCD - 058406845D81E7EBC097330C01FCBCF8 - D78940893B4FA38554A32D861AE96D04 - -Set 3, vector# 99: - key = 636465666768696A6B6C6D6E6F707172 - IV = 00000000000000000000000000000000 - stream[0..63] = B89516368AFEEEC12434F76AD1E1ECA8 - FF6FEF7B46D05EDD6041C7B8C1E3A33D - 2818E38113592B615E980304D93435DF - BDD5676225173331C3667F30AA2A3D2C - stream[192..255] = 249528FA392B19B6811711F523D27578 - F1BDE75CA167DDEC08303906B64FAC0F - B2912A7A0EDBEDAF9FEDA420DEA330CA - 7302F5780827CB11B15A4DD333FD7099 - stream[256..319] = CECC1B5077BCB9E129B01D8D75089B41 - 64E76DBC9C8CF2E4D2F17A6248522A51 - FCFBFBC992F75D613307F4DD6472B6DF - C8A5B29F1068FC0F1C3F8964B0E09170 - stream[448..511] = 8B26C436E918B099E4D3A7D4D3395E49 - 056A8A29130667A32C6A2B0FD08A482F - 8F7538ED90374846FFD2E1C733AFFDA1 - 12148C9718F3F208344D5FC20128AE2C - xor-digest = EAA0ACA59CF63BC27082BD52D6757FD7 - 620A7AC5AA2FAEC52646978E2057C5FC - F60B36C09D87419C1D1A64133357DB05 - 6B96C854F38C36DD657524FD09729341 - -Set 3, vector#108: - key = 6C6D6E6F707172737475767778797A7B - IV = 00000000000000000000000000000000 - stream[0..63] = 741C607A6BD38F93B33244C8B7F05D78 - 46F6A05CEE5A87762480DE123D3BEE63 - 240928FFC75ECD9AD1785B1664DCB59B - A12F3B64C93BD4FC8C67C0934E5B0ABD - stream[192..255] = 3BDB31A701DD7F2E929803C3A47896F0 - 9E5F569A32AA829E505E34BB7232597D - B838F543A34CC288F9518BE16A228D42 - BED0CA3CE0C6E7FF9AEE63625C699B9A - stream[256..319] = 1CB7FE159EC1A57043BD142236DC0A18 - 0CEF37316A6E96354AE319142282F19C - 1550EB645DA8F7BEE2ABAE4EAAC0BA29 - 893E722A6F8E0A9B34368DF56C5845B4 - stream[448..511] = B6DF810D69EAFB7F2360F6ECB50C5861 - 7D32B3F495B3E4424045E88CFA0871A2 - 9314121CC78B98B456ADF53E540346B1 - 214AE2ADB65C552273F1FA498FA74101 - xor-digest = D35A8AE5783348824175BD34F2E16FBB - 975E7695DC6C4FF1ED763D404B0D4D30 - 07AAF01E988BC85DB2FDD017691D3BB9 - 811355C3C7A6156197AF57B794DCE85D - -Set 3, vector#117: - key = 75767778797A7B7C7D7E7F8081828384 - IV = 00000000000000000000000000000000 - stream[0..63] = EA9DA2D5BD4B6E070479ABF8CA2D1B3A - 6B968A025D010944FEB51AB2E507F86B - 111F8A351A3F32CE1FBC4A75AC34F722 - 1B5190F2390073084F8153E00BB98D0E - stream[192..255] = 0AE0DC3D0E2D3F5F93E446BEBECC4F60 - 862D190829A209966E132DD029ED6998 - DEF4F613F3D53D0A36CFBA2CFE345DCF - 013B6CFFEC0116FFC1659A57FB42E0BE - stream[256..319] = 5A7FF46C335912389D8B88437CEFD27B - 76706405F45F87C91390273D9B70CC5D - 89FDFA85E20EC82B98A79BFF5FBF6AB1 - 4F61F2C1289CD7B8357126C8E13271AD - stream[448..511] = 9398E699F5AD8FF31A50C8EFB9DF0D0C - FD612B951A203C1BF85C62AB5AF1C412 - 42BFD0A55F21820C6F917EC90A8FCAB2 - E774A93713A99C7900B80A2BF496D0AF - xor-digest = 05D9732FF20A61E19428873830DA7282 - 819234F22FE7DFD8871C21CF10C08EF0 - 7C0413898DB144861B0CCB62992DF40B - 29A0A4688C91275F0A198AF39899E362 - -Set 3, vector#126: - key = 7E7F808182838485868788898A8B8C8D - IV = 00000000000000000000000000000000 - stream[0..63] = 8C4F8495C7231AAEB704E7AB9E79E748 - 6CB5BC85D3622B8A2E2CB778BBFDACD4 - CEF73CC485D8E08406F5986A28706CD0 - 56D085201DEDB875573B57629B8541C6 - stream[192..255] = CC6374A744E9205CA39BCD678074B844 - 16346A7E54F9B87905BADD2FACE7B9F4 - B0A366AA3F632A7A67AD8AAC4827C9BB - A1E801A8786BC4FAC2ADE6A6AD6A45F4 - stream[256..319] = 4F52AAB001BE94A60761CDE0334F8A84 - C617195B084E441070E343CEC3189CF6 - D6D955F9AD649A3891BDFFACA0A6E6E7 - 7291396670BA07469D267EB80E48353A - stream[448..511] = 673AF85AD5A9A3F26CBABCE9BEBBAE21 - E0B6DCCC3256227FC0EAEDF343CC7E9A - 8896023DF073E88EEEF135BE34CF67A5 - 5FB51D3A1754B15A7C4E2CCCB4C8D51C - xor-digest = 2BD4B8BF9B7E79B0EB53318396B03575 - 0AC918A6A05BBA499D81C9EFD32A0FCA - 34A83FC801CD6475A774091F33AE7689 - B9FE28645F545E9A9531F528085926F1 - -Set 3, vector#135: - key = 8788898A8B8C8D8E8F90919293949596 - IV = 00000000000000000000000000000000 - stream[0..63] = BDF2E95B80FDF304C3C4A8081391EDC9 - 7F9553F93C27788F03797EDEBB8F59EC - 2FB2FCCA7727CA1CAEBF5C8DA8719492 - F1369D96B2FEFA23D89400CF7CA667EC - stream[192..255] = 6AB7500D876A4924DE59800345AD69FB - BA1690733713BF372E0108D9FB65B0E4 - 50BB89899AB84198381623094F823FF4 - 8BF9A09F0FCA23684E78654F3D231173 - stream[256..319] = 34ED638D249BB1AB8B16D350309AE32B - 9FB62CAB0EC7AB9D5F3C12C9A6502497 - 6323EBBBC4CF308FFA68A3D4D8D3959E - AFD3BE46E36072FD15A5DC3FCDECA6D1 - stream[448..511] = A8BA33AF6CF545424E607A7FC4CBA593 - CB05B38C836B21D85B6FB1894926A459 - 8D71AB424A5A582A491747FED94125D1 - 08D6C693EC9E4BDE2F418810A921B54F - xor-digest = 84F29F11524741D39779025D792AB735 - 07963EAA0FA8EE220ECD3592E1320567 - BFE76EFC3356860192DDC5F06B94E552 - 43D659D49FB94C30AB69AB5E9C370A5B - -Set 3, vector#144: - key = 909192939495969798999A9B9C9D9E9F - IV = 00000000000000000000000000000000 - stream[0..63] = 1C03A0D6CB75670CD7D978B2E371857E - 27E597B15B905D5F4F4384FEC227073B - 5A56D8C0C4AF767F267DDEFF86AA036C - 41EB6170603AEB3E3C1EF3E176CED812 - stream[192..255] = 6447D1E067550DEC9E8AE89DB02B85B4 - 3DD7E511C8B98438BAA50CFAF7CDBB68 - 757DA1D03A29B9EC6BD633E17BEBC8EB - 2D8D453F583E4D183AF30C9F47C8DD56 - stream[256..319] = B324756101C28D9FC4D1F065F1D000F4 - 1155514EDB30A7FE36C26B18FD93D6D2 - 0470A41B6F8D2E8BE140568BF72223F0 - 981CEB9D100B21C8B751BA6B2816B2D0 - stream[448..511] = 304AADCAE0CE80E91E3558974A944663 - D1E2253977CD7B0D1BFAA138DD81A501 - D7EADD8FC834931A44642BA9873AC1B2 - 47A454EE71F7AD8671BC15E088D01532 - xor-digest = 5980D43A91C09B20B0F3323F1750CB47 - 118550920627B6C512AC5CC53AA6AD25 - 68EE1EFE702FEDE7CADBFA25B32696FA - 12A18CCDE35A1B679F709F28920DF92C - -Set 3, vector#153: - key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 - IV = 00000000000000000000000000000000 - stream[0..63] = C2083A758037E850A6FE642EFDE59AED - F51F3002BEE2E69DBDB538BE2D93EE8B - 27A1CC89672DC14C44DADE531A88A769 - 5DC730A2CDF3096DE7F4BD08A1ABA918 - stream[192..255] = F4D19950E6365AE6BE8011A24B9D803A - D9A8547D452D8B0B8C51676E207DF323 - 808B5A094A2FDEA5DBC86BFCA576E98E - D0E049834CBE0B3AFAD6892B542EC7AF - stream[256..319] = 8F2A026EB2165F39E27DB86607878926 - 4EC8F42A09E8C80B317FD4F1E32AF4C3 - 73B7F5160C635ECABE495B01A3488E27 - 94D226E2D86C4654810C08B2FC42610D - stream[448..511] = A1D17725577B7A4FD3D1A280BA2B5C0C - 386FCFA09E110F00C85ECA05CC142644 - 4D8EB87CCDC2B23D1CDBBFFF822B5555 - 11055B93ADC9168B7353CAE10551AF14 - xor-digest = 7B4E8A6123216818A218FBD50D8540B0 - A0B62DC114F25DD476680F85DEEA9306 - 4CBC4526C7A8832D4BC534684A403FE7 - B80E7F20D967ECE044085B554C158AFA - -Set 3, vector#162: - key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 - IV = 00000000000000000000000000000000 - stream[0..63] = 6FB232154275843C74BB886D09CBE0EC - CCC539DD6DEC1EC6F31578B80DD3BAD8 - 5C992CB1A0B4EA40B3EE0C5174E36A74 - E1CDCAB13830453984E4365A6C599F72 - stream[192..255] = 2682C05E19F6D8FC4DDB15B2F8385B52 - C5A4A70FF5A0063CD696AADBF8505122 - 6F696746D4F8C314543BC3869B1E7F9B - 1C0D004655FB6585723CD1EA7A700A60 - stream[256..319] = D6BA4C5A33B8C2DE342DE48E26AE7B14 - 8E91552D0E05AC9458ED0010E6FF53AE - EDE70E910165B5986876799E60B7E6BF - 3109B9BAF7EE3670497FA7CAFCB14733 - stream[448..511] = 70C4E8AB8E8BA681A2A06F319CBC952E - E3E78DA589369FEEF8A6BC6D976BECFE - E6C7143337758929FCA7E0945892411B - 047C2CC2F2AA284E95733DD94D46B89B - xor-digest = E2D3DD6AC908FF3BAE4791A50F717B63 - FB3F1F380CC738E2B1626FD026C9BEBC - 33957AF4ED6E8B9864EEEAE262FC6168 - 9A34FA14A35BD915B6945F35BC3D5573 - -Set 3, vector#171: - key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA - IV = 00000000000000000000000000000000 - stream[0..63] = D25BF02A1BB050E0D15246C2EFB3EB89 - 390BB913916D347586DCDF71D6792CC6 - BF72F6F6A9B779BD8833C468684B4480 - 52E153D11A0CE183CB337450C4482F6B - stream[192..255] = 07980A2C57E9094C5334016A782C830E - B59420086EF9D36542A97220A5EEFE42 - 026B39B1F00A78992ECA17FCDDCEEA2F - 88A15F934A1C65EFB770C2FB9712FFF2 - stream[256..319] = 8C0AF45C68CB7CA8CFF1AB18F2F9659D - E49DB5C4E3609B50C06F94FC01C059B5 - 40E302FA8604F030701FE3C833617E0B - 094D0BBF10580F7C1C7047E86FBF93E2 - stream[448..511] = 4D4BEFAB68D63085A05C729F54468567 - 2C2A9452DF6B4B651A29FBC29513E3C9 - 635DFD75EAC87A5B1362E99033304EF5 - DF42420DFD49C1830D66F4F90928F1AE - xor-digest = 9A7DD8AA5D9E9DA4F34AFBDE9D909CE5 - DEBC05D2F930FF08AEEE4096B2E1E453 - 8587B88E535A217E986F31965C5965DE - 3BF4A7F99B3B9D938D2C1AF7DFEFA14A - -Set 3, vector#180: - key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 - IV = 00000000000000000000000000000000 - stream[0..63] = 5FB2BFB5B9CC4F84D7641B4555DA4A7F - C07C0053E7AD2CF2187F7F34ED4068AC - 6D5B43A5FA41437C05C65550786D60F9 - A737F44BE450A1F416C1B1A49890C609 - stream[192..255] = 8EDCA89958225E39CF796EE587877A55 - F9B7A7381241597CA6280F7617A11922 - 9268F95BB326585AB59F08BFCE8B5638 - B3A0D32A761C796060DFEBB5BCE859D5 - stream[256..319] = 09601C099BAC574564E4CC6FD659776E - 4726FB22E0025C37873042866B913C03 - 285EA24E37847F9AF6C838B82FE651D4 - EC5FBD40A256E6C765757B6A3CD08C92 - stream[448..511] = CA5AC4ED4FBEF0D754F033B5267B9FDF - 3CA52B131E118174F70CD4F833A5ABBB - 198DBCDF18BABB0B0CC37ECFC8D93AA1 - 5949FBB21974169B46D545F0ED03C71D - xor-digest = 5DAFDEBC75291BA8F55B4A370756B28F - 554FEADDB7888F2834BA1EF221E917F5 - F631D5BD789701282DCF16FA450D250B - 52C627741369DA654E237B8D7F4A8BA0 - -Set 3, vector#189: - key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC - IV = 00000000000000000000000000000000 - stream[0..63] = E9EAE6C4903004A2AFCD05FE2E3E7F95 - FF8BD2888C4AEBB81CDBBCB7488C54E5 - B50467FA82B0CA7EA923C608074E1B45 - 6452821FC36789C8061E99E8A0C0B579 - stream[192..255] = 1EC898A6958F23C186261F833BB3EF0B - 3C185AE8138311B6AB42098E9C6C7FE1 - 0306DADE1DBF2B1C3215DEBD88AF1CBD - 2D805B8006FA0DCF136E225AE3D91AA3 - stream[256..319] = 55566604D1C85FFE1D29810B6C49F019 - 69ACB59765A3FBA2B0B9880064606E47 - 18BC5F08C32EFC250FEE91FB88077A2E - 0840615CCF627C64FBB500B7B800B9CD - stream[448..511] = 707821EFE4119A32CFD99F7ED7CEC018 - C8EE90493FD9268A83E5482DAF9A646E - 8765D8199A56A12ECA50775099179D70 - B72A3CEC8F0EFF1AFD074F04548874E3 - xor-digest = A51E3C9C948B68A1543FDD1F158DD419 - 195AE7662739446D9FD543681A866A6C - F09756FF4E0C59BDEFFBF98D53F193A1 - 77D7BF19320063B8AEEC8A544D5D72C7 - -Set 3, vector#198: - key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 - IV = 00000000000000000000000000000000 - stream[0..63] = EAA9729F0222A16C750540C605974B55 - 4FA622F67C71FBA40236A71AC19706F7 - 9E3792F4B444A39C9C1C902FDBD81898 - 096338F6A8EB7C934B9558D48AC53301 - stream[192..255] = 3B5E53787C050061000E3622876AA126 - 00971A76253833C53B9DABA976169395 - 3944B5050AB17E492E185737D67581B8 - B1C766D50C5B0C2B0D8C78A781E77D89 - stream[256..319] = 175C28764FEAF8396B3CD34C829D0D0B - E9CE0D75E79017A96C4E7B158B171BE9 - 4C906FD4BD4946E6DEEC3C78B34C0754 - 9E85AFCD958AF345E0B432F33C86AA76 - stream[448..511] = 37BDD665CD9D5A8A8190AC3EEF981379 - AD5311E15F853A8A89840879165147A2 - 807AFABB6236CEA9319DB32344987889 - 5744A506CA76CE69D9E474840529D667 - xor-digest = 4CAAE8F441F6EF3DB6971E274181F8F0 - 4D7BC603E040833E77921A393EA13F0F - ADFF07AEC94555224F6204874027106A - 6D7DDF0546F300D3E84AC87699ED40D2 - -Set 3, vector#207: - key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE - IV = 00000000000000000000000000000000 - stream[0..63] = 83AC8C40850F4FCA5452871C954AA61F - 31A9BD276D39EEC03EC5977A71FDAC38 - 368D110C57C1A19F2A7461BBFA88E372 - F78103F9FFAC1361AC2D2AD84C6AA3E8 - stream[192..255] = 48E95C2FCFC79C91BACD0C41F626F05E - F80E076E359299EB5272A2F688F96F6B - 3147C5A19A99D562A11E953CB2A90911 - 205A7760B5C8CD959EE6C183A8C1420D - stream[256..319] = 974A4DE50EB45F6144DAFFA6B4A68E39 - 48838434497B8F9700FC42005F3C2FB5 - A79984CC2E770C5400EA21AA4EC05751 - 80A288499879E50462225BE03D677875 - stream[448..511] = 09823B2D55E26C49E42FC0820D7BA081 - 5A7EA9380637A2AE2C0D29253EEDB884 - 9BF4F54D64677F08A1763EFFD904B62D - B3843B0ADE885C00640D16A99E28DCC0 - xor-digest = E73D8783F926558E0C1E1B0D3FD86CFA - 974CD70EBAACC0CEA2D977E9AFCCD384 - 935584D2FFEDEA813E6234112CAA1401 - 71E99BCFE61A7D0E430D4D3F75AA3E28 - -Set 3, vector#216: - key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 - IV = 00000000000000000000000000000000 - stream[0..63] = 5DE3EC7E6D724976985B426D722D93E6 - 1F40F5F17EA14B298AC898CBD69F2BBA - 5705E1D0CEF7B7122362FCC0D5106D54 - 25D51F51E29C938C592D9E862DEE9E33 - stream[192..255] = E079C49AC8F160A9D529F30151AAA7A3 - 1D137E03DF4C23F8734AAC3B20BF8520 - 90E3C2529761EB4D67AEF1CC46399947 - 1240DEE8343D6355B5D7377A7934B019 - stream[256..319] = DF574E03ADD1DCBD0712D2748C93CD72 - D8488396AE3D3275E5A53CAF3EC112E9 - 50A79494F25B9EC111FE9A7A68A5AEA9 - 63A4F87B37F822B79D954436368D8E20 - stream[448..511] = CCEF4C93BCEB2494EB4C70F5E301E980 - C494AF8C117F291DD09E3960D2C5A7F1 - 9928C08F2F51C419E734DE9AADD25C81 - 3579A7F0B8B367A49B97DED5793E4DCB - xor-digest = 868706BC1A5F3D0BDF96E10324EC36FE - 01596216B0B8BBFF69C5BDAF69D0F38E - FE89FFC32D34D142F413A5BEA7AB38ED - 22436C62F86C540101DC0267FAF67904 - -Set 3, vector#225: - key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 - IV = 00000000000000000000000000000000 - stream[0..63] = 45A0736DB4A28A3A6DD181FEF3485F2C - 918C65663597C49F4FB23CA550C77CAF - 7B331B5D183844278E0D959EA024CC21 - CE1A84923E6E782472BA1645BEDFC60D - stream[192..255] = E9EE0DFD717F72FD8899D23E87E77DD9 - F9DA66B4645AAD8D8C3B489B0A637449 - 80020326469B4C6403012B6E315CD35A - 4344934D720467F30B61C8AEE5C3C342 - stream[256..319] = 94A2BA2B744CB83A29004AE21470212F - 67C2FD18F227FC017131D7F4DD0AB412 - 48C59BADAE2E408584DF35C603192E37 - 344C52664DD68B9231661F304F483F41 - stream[448..511] = 6A29174A1099BF8759D2F5F9BA60816A - B290252AEE08339BE0021033DED03C46 - 9C8E28AAFAFDC67A7F2219C8942B004E - 47263842BEBB47EC6B0666ACCC884591 - xor-digest = 7A7411EE5D174907B1138575FCC7479F - AF3437BBF098CCB5D8D25F49E6788374 - CBC9CC5812982CBEAF59111813430BEF - 56D9DEEDB6C935804013759CFAAC40E4 - -Set 3, vector#234: - key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 - IV = 00000000000000000000000000000000 - stream[0..63] = C430C2A9FC44DE1563B1679C1A2DFA98 - 91D01A302C5165EC13B26F6EE4F25437 - 264AE9E18C98BE112BF560C72024827B - 85665C491C47BB396B5AEC66CFCCA371 - stream[192..255] = 60F3A13B9EBF8784CC81C132E004A179 - BEA0606D4C2C830077A50004FB0487E6 - E179D81FD9784DC3783ABF86523FE4A4 - 68930272980E3B46F865E4729DD34773 - stream[256..319] = 44BC861136F6856B1C74C1CC13753B82 - A75E34EB40C518400B507D99B42E488C - 8A1F2F590E029EF48DAF2674FDB053AE - 5C0967923102EB964602256F70A9CC9D - stream[448..511] = 0EE3ADBC4CCC63A8B67C7812CD294183 - A2E9D4EF0D65F854FE66CF9D76A34F91 - 867B27336F8EEC2E2CD30CCB98AD5769 - 77B07C73C833B51753BB9B0DF08C4834 - xor-digest = 7F848C96AE9310B5282712493AD7E13E - 2B4581545E625A4DCD98576C75835058 - 6C621244B6CD439F8E62625ECD9460D3 - A18BC2F5DCD9FA7E8CF7880CCFD1A44C - -Set 3, vector#243: - key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102 - IV = 00000000000000000000000000000000 - stream[0..63] = B9B3501C75EE296AE858573B63C4888F - 72B18683CBCD6B95602D51E4388D6DD3 - 7129169A5209202E2C6EDEB5026B6511 - 55E4747DD706DDF248A8705D50D38A29 - stream[192..255] = 12F90D1028010D8296DD0D6ECC4F2354 - 89856C315555279BD0A4E3161178AAAE - BD849EC0A90903CCFE9DC7CC821C1CAA - D63A45A1D0C0247F1FB1423877FE9A32 - stream[256..319] = 9F0608162C6315D206B5EFB0E40291AD - E882445B9F34154F6E21B9FA23356DD4 - 79DFFB16482F6A4F28A8A0629E8B1D78 - EAA473CB126FB3727B826B4B3D6175E6 - stream[448..511] = F26FAB00C37C03AE33209E19F865B135 - 115A5E254A6B5C1A4896987EAC35C2F4 - 327822E165AC6BF99F535055ED74833B - C1FFEB32588D8995CEF0708E2D3CF832 - xor-digest = 87243F1D4D08D7EE39213D1A4B9E2458 - 368339A11E364345B4367F84154B36DA - 03A3728A7EBD4237897F9D1A19CCFE92 - B9D67D3A4A755E6EA8382041D4827A17 - -Set 3, vector#252: - key = FCFDFEFF000102030405060708090A0B - IV = 00000000000000000000000000000000 - stream[0..63] = 05A90DAF1A6B6B60CD3B999A11FEEE39 - 6D38983ECDA326EC9229D2A1EC722B0C - 3C0539DDBF6A4CF62B9BAFEA6C60A29D - 4AB63BBBC88987E9A74AE2F71B1E8DE2 - stream[192..255] = 0AE6673D9F99C5EC9A4532B2B9786CB9 - E948A206CB992335FE868BB2271DCA5F - 9AB75995A7E7D46F8EA6693765C93D90 - 9D41C24EF4856252986DDFCBE65D2D11 - stream[256..319] = D8B07A866003059BAEE90378AD5EFFD5 - 2732755E79402B50BA0F26A038B3D9C8 - 1481C19080CB39FE840F8E7313D0C034 - 9FEA4AA4801225630AAED3E522D6F920 - stream[448..511] = DED21140E5A3C0C4615D7153DF9381F7 - 269616817A273BFD984AA5E7CD9D9CA1 - 9C28E51F4C03C262F5BB4175C799236F - DA69AB27590857C0F270CE4BBFE02D5E - xor-digest = 2D47DA3161389F5F54FAB37F391C21CD - 63A748112A1AB415670524B6CB93DA0B - 6B54C541ED59F3A54DE238C3FADB3236 - 3871F6DB1A507B33C1B8F280B0C04B1A - -Test vectors -- set 4 -===================== - -Set 4, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 00000000000000000000000000000000 - stream[0..63] = 114265E078311C062B518148B4530F73 - DC9B95DCC41C214F8C9486473DC46847 - 71819020010586A750426A0E633BC787 - 6E228E2353AC0A68533C85A742387800 - stream[65472..65535] = 196F53D41603BF286D1D11F012E564E9 - 3C7FEEEC9539A015D49475DD8CC73C84 - 2F85521B4DD9789A813A59D444AEC702 - 164F669C59B43B5115202D08662D4EC2 - stream[65536..65599] = 8A7B672621B0B77E8BA8EB9A71DB4558 - A78364244F182519F89D25D3012CF8C4 - E429DD543C8DC56C6DB8FA5E351BF615 - 106B51F9FD00F54018A94DAA91D76715 - stream[131008..131071] = 33EC15BB2C553646CAED9ABD83F37ADF - AD3B3313A074B69FEAD405BAF897C3A3 - E12BFB2F4CC3136ACFDA284DA1E780DA - B3E4D34C053302989FE6A79A1EB0F5D2 - xor-digest = D899BF7CD2972EBB7333D4E57DC809A1 - B717373577B15544443915B36ED162E1 - 25452584F3E0C2B62164092219FBA924 - 31C1FF2A14C8E2E437427DACF80A200E - -Set 4, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 00000000000000000000000000000000 - stream[0..63] = 8EA023E23D94434EAA064A4BE52866DB - 57EFB7B200DAFF5AF2AA72D3E55EE5F4 - 5060FA89024F259CD2490C628452B1F0 - 91020DE10263BA86838B2E388F5AD040 - stream[65472..65535] = 5BE1EAE0077FCE5C2C21120EFD560A96 - 27C3DA9462BE42580065C9E51B7D36C1 - D9D717DADF4A3122A08303A8E27721E2 - 1DADC91138A2461713998AEE26F811D5 - stream[65536..65599] = 482694A9797978003DFDA5183F00FF97 - 9F38894BC92DC88418FF68156117A2B4 - EF10D76923A734ABCAD1A5B4224BBD08 - 836E3765321045C3BF6A352371F82CAE - stream[131008..131071] = 614BC8A38C5F9E8507595E8F5A03484E - C9DEC6CF52DECFAB008327527B822365 - A2038FF09411D7B952417C8C7375289A - 244D50703B73577EC272827A21BB917F - xor-digest = CA9E6EC13B679609EA778447EEA1157C - B366A08AC5A96A73D0B5E182DF24EBD9 - FC297219A0AF67591BFD68B1721B5970 - 8EBEB3655791107FD2A0F2F2E341FCC4 - -Set 4, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 00000000000000000000000000000000 - stream[0..63] = 5BD3D0625CEAA75ECFC9828179F7B73B - 288A208D60A2297F2C328DB0789BC869 - 4E50F50E8797F8C7A49E24F72A3AC359 - 796E6188C71A9B3DB88DAEB1BB2C77D3 - stream[65472..65535] = 726C7D7AD756CF567E0E8F812A282675 - 7E75D593C7FCBB45F842020AD59F2B53 - 888354CEF541411B92C3AF6D57ADE7E9 - 273805927DEEBE552B32D10754C9D2E5 - stream[65536..65599] = 5703464C0AED290E65815D8D04098B0E - 22D2FA825ACD4391B56CA64CB8201BE5 - 7B4FB9ED6BB7608BD820436146339559 - E7464BC13A8AE3167AFCDA58E3C017AE - stream[131008..131071] = FFC5787A10E340B07D08160D2C4F653E - 407857845A0D68D1EED8EAC0116CC376 - E33AF8A1120D8DCAD6C86B757AC50393 - 46AADEFF012BD0DAA294DD240D87A98C - xor-digest = B3BAA21AA82617D3BB9C2612E177CB71 - 51A51790D97FE33C3F33C01B32091758 - 5766643C125293E1F75D6BA3C46AB381 - 75A2A4934D4C115A6A1547932B077A58 - -Set 4, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 00000000000000000000000000000000 - stream[0..63] = AC5DEC8B95C89F4794B7289C69FABE29 - F4AA64476D057873D87BD524666F62F6 - B71B5131BFB897AE64F2D500437E1798 - A742E7B7D06B8089F3DB2453D008C554 - stream[65472..65535] = A2F58800E24BA8B754C64BAD9252BEC3 - ED1273598EEF4C6FE42FE2CADB81F220 - 26A90BC88B43F2F1FD2E054E8EEECF57 - A114D087D5228CB276FD5F4FA3ECF4FB - stream[65536..65599] = 5C67BC8E188170A57DB85ACD2F7121A3 - 7D83F1A708ADC54C14064A9559FE7E1E - 3F9E60B9670EA4394521B11D8283EE42 - 12874323628EAEF0B90FC4653106D68F - stream[131008..131071] = 8AA6F8A20F7D4A0B7EBAF6A7336B6D76 - 731E65DCCD179BD53F6B879E70B8776C - 6A8EA30BFF09BA3026B3827EDB9F9C2C - 0F96655D8B84EF725D0603F8CCE3C2F6 - xor-digest = 458DB66B656320F5F7E4FEB12E748C0A - 59F0CD8A7ACAECC25479C309628EC0B5 - 3B441B831B484FD3180C52F63EDA1858 - 7C232B195356996DC29DE6DF54E5BB37 - -Test vectors -- set 5 -===================== - -Set 5, vector# 0: - key = 00000000000000000000000000000000 - IV = 80000000000000000000000000000000 - stream[0..63] = 04740F92C2470701F289669A25BF9092 - EB4212FEACF66DAB6B1D520977945F8C - 6D350BF26A1CA35EB37FA53B0BA2CBF6 - 6AC07A8C75D494B4B8281CFBAD4937BF - stream[192..255] = 5E47F5F506AA34E7D296C6911FCD3D43 - 31A032269214ECEFDDB492C47A51C4B4 - DE9EF0A63A6EB32AF1DF1C5576A93F19 - 02B7BB89F10D8C7CDFF9C097D3D49148 - stream[256..319] = 015494CB3CC9BDE8A2981B25C06DD18B - 52FA7B94CBE24C152FC60762290329C9 - E58C4E5148585F417733737059E310D9 - 309D0CEF48D2F1589994657A081BA6D7 - stream[448..511] = 3B67C1B37D96E1076595660D61340EC8 - DDE8F492134270951D9D4B260C8E2254 - A7FE8C10DE837A617A8E261FBBF42259 - C636B3DEEA0F373FE7C2CA2B01EE3FC3 - xor-digest = A8CC89F06815EFF6A91CA276BEBA7F41 - 75F842F85BEAE99F4335A3B85FB28394 - 8B7EE3C659274C6B784035B94886BF9A - 5C1483941B20170EE3A374E39006C09B - -Set 5, vector# 9: - key = 00000000000000000000000000000000 - IV = 00400000000000000000000000000000 - stream[0..63] = C25BA6DE4C87FE5360BCDEF864F3F778 - 598A6A584325D5E6C44EEA4464D7580C - 9B8D42B5B3634F739D6A53D15FA41070 - D1DD4621BF87F53F42107618D9742FD4 - stream[192..255] = 4A3808B0619C9D94E19F3AEA0BEF3839 - 21D7E2BED05F1128A82D9DC010654ECF - 65199A645606CC44FDAE763694E6757F - 8FF864CBE4204D45102E465F16CAB8EC - stream[256..319] = 3097394E0CD0A9DAA28EA873566E42A8 - 710C28366C2B41B6BF6687D881094676 - 9970A5BA54D28D7BF772C4FED13A9F5C - 6E7AD3F6948667D6C2DF981955F73293 - stream[448..511] = E685BC2ACD3A67791416E78699C83D31 - 852EBCB1C1AF71B926D9161CB6D894BC - 8C5E85C7E30A0896369BAE50C1112D4C - CC583E44A8275F44B7ED140E9721C7F8 - xor-digest = D9B51AAF4A9B75508FCD02443EFE2267 - 1148C73264776B5513860BCE8547370B - 2BA66E82CCDB15F3DEB0F0728411B765 - 1A098C23202745C19B045C58AB196309 - -Set 5, vector# 18: - key = 00000000000000000000000000000000 - IV = 00002000000000000000000000000000 - stream[0..63] = EE43BB5B79EAFB54B823DE95B71F3BD2 - F2A7CBB6D28E9BED590C20A2C52F9B2C - 74EEB9A1A48474D5DA4964EEE0BB98E4 - 88030E213A4482BD1A8CAD4CF8A962CB - stream[192..255] = 150C4D68BF29DD27A2E6FFDFBD6984F4 - 3AB56AACC08AC0C0149008F0882292EC - A5359CCF4C257ADD4FC535E41D6F67CA - E5210068F77A5D5F32A23B17F79EB7A5 - stream[256..319] = FEA319287C29AB84585D4BF38DCFA71F - A36253AD7F4BF58398731713614D0047 - F85A465C6915E05232A5FE5AE7A559EC - 42733403ECF6B11E4D5E8F4A8288A3E3 - stream[448..511] = 79CE66DD3F77D40889906EAB1F671B2F - 98D9FBF8693C1EAFC89D19209408F3B2 - 7CD83CB3B9F33151DD4A8D79911255FD - 3CCBA14918744B0ACB93A5F96AC9AB38 - xor-digest = E1E3F49B342F873263F585EC34969176 - 2CC46C17FDEE0B32224BB77A8EC82A87 - 816DC612439E998476F50E876481EE6C - B32ADBCF6A5D50FA16355AF63AA30D66 - -Set 5, vector# 27: - key = 00000000000000000000000000000000 - IV = 00000010000000000000000000000000 - stream[0..63] = FB8F4925A4F922119A6F29F8DDC2338C - 0AEF333B55919AF0D0D9B1DB61BA2E5E - 4CFB394E15F6A78E01B5C4AB043225FD - 9C8F50AB1BFDB16F944C2660995AA4DE - stream[192..255] = 87767D451D81D5B40503913508C2448B - 7CC093982642089843D7D9C3DA05598F - 7AEFC5B70ECCE327B20658D6301F4D6B - E58FA5CE0525C9CE8E93FC0B387AE5C6 - stream[256..319] = D146E4312CC11F11916ED9FF8EA8ABCD - E0736DDD0A8AF3E067CDED397E429D30 - 8F2DBF848C5C1653EA969B608CE01275 - 53573C88DDD32937EF6F8B0864C581B4 - stream[448..511] = CE919096A83BF3702D8899787DA7BC23 - 43F1F10833F16E3EB467440B4921BA1D - 96845B6B4141E1CA85364E2D508456A0 - E399DD048E72685389FD7EF3F78B655F - xor-digest = 00333EC3A59AD0B8FCA054A08340BF91 - 906512917E72BED76BEFFE29FC011632 - 082CDCB1A656FB817F968E26063279CC - ABA796307912984BFC267325DB84F621 - -Set 5, vector# 36: - key = 00000000000000000000000000000000 - IV = 00000000080000000000000000000000 - stream[0..63] = 202723F8212AB20D9369C2E1EEF8553D - C468854873D04FDD32641E324DCB4EE0 - 883AC1D40D7C9C7783DF4132093724DA - 113B1CB12144E00509FD5D36957A4E1A - stream[192..255] = E6717FE0A77F9043607A1A7665716225 - C8D417FFE2CD7572083C7C552B79DB6F - ABEBBC2D4D36AB319407982187C248F4 - 83596AC071C0B0CED08686603B024E7B - stream[256..319] = 8C59D97F7A093EA2D0AB890923AE4DBD - D40C33508838A3966FBA360E776670C4 - DEED8BC8CA57592463781550BCFD1E28 - 818E7C33A3AEC43775ED0A984044E9D8 - stream[448..511] = 0A3DC66754E02423C6EC1C1DD26CE11E - FD70C386729C8290DF358C69087CA7DF - D11F5E0D37A313F74B09F29C552CAC0A - 5621556828B0145A6A1D43F563AFF672 - xor-digest = 6673BA5866E8E96FB48FAC88D307079E - 77AC03692B23070EB5BB9D04FA94B9C9 - 6C2F958E834DEB51C6ADCE432BFB9632 - 9B3151E0A89EB72019A4522233B8FFE2 - -Set 5, vector# 45: - key = 00000000000000000000000000000000 - IV = 00000000000400000000000000000000 - stream[0..63] = 95AE241C4E9B6690C319D1FD828BE454 - 52F18F061C1B1E13AA409829E194D70C - AD5BBACA2738B508A5398DF6C2552497 - 6D143DF0405F68037C285A0E19FEC9CC - stream[192..255] = C0E2D5C6B614E4A498F46D5399DCE7EB - 7DFAFAC62794F5C39864C521B8DB574C - 149E35D1F0EA36EA7F24EF8FD855FDCB - 9CCC79F1ABB13EC33E00A9E137809C05 - stream[256..319] = 285907400C1A86AA9942ABD7BEA8EEC8 - BB6AF2F9667D424C1DD56349C99FC65E - 8A00893AE529D7BA492089EB6B525964 - E9CAF15221A342C4F88697D818AC0F1A - stream[448..511] = 13D511737F3A092643E94E74F6C76241 - 0007158FEF40C63B33E10360FFB3B152 - 8BD8B33093D722BDCAC1FA99D16D1C27 - 6E59E428601F256542BD3E7A4A135152 - xor-digest = 1D1352487AB5081A28DF23B1B19D5ED1 - 192F08964E4C0F048AFA9CAA8BF17185 - D7B97AD6003E2FD2DCCAD492FF3FBE5A - 5CD7AAC627DFE7CC6D0972D423B67128 - -Set 5, vector# 54: - key = 00000000000000000000000000000000 - IV = 00000000000002000000000000000000 - stream[0..63] = ECA0F29C3F5C4D62ACBD601C3042673F - 6F8B17C946FE8FEEEB0089059765F067 - 5AF3E5DADF6DECDA20F72AF486E7E967 - 40B2DBF22B57FCCDFE571B2D8989C95B - stream[192..255] = D2BDF6ED912478A3C53713389C9DFA5A - 9272D030543295E8CF6F0929F1A56041 - EA22BD04E0DD810F43D9D28D94254F04 - F73DFF3B766DB55100EFC9697FA844C7 - stream[256..319] = C7CE1CD4D8C42FA36724A49107A78630 - A60E15673A42C57B609740EC8DE78EE0 - B48F2644DC0DD1E80FB8326DDBCC7191 - 5E6C8DEEFCCB1FBE1456532840A89DB6 - stream[448..511] = 337650A0B03D30C9697CE85449B0F995 - 668FB2B73E37E1A550E07632F9F5AA3B - 04D61AC41F8A830299FB8F70FAA0419A - 42C4589D71C965DDB3A9D000667616AA - xor-digest = 7A26C50BA37BD9F38281FD2DA3CC14F2 - E1FFEEC9D7776E87D99053B531EEF792 - 0C0BF834EA9A0065AF38422A40A31BEF - AFAA17AD565F685BD6E505C7E02FB895 - -Set 5, vector# 63: - key = 00000000000000000000000000000000 - IV = 00000000000000010000000000000000 - stream[0..63] = 567919917583CE03DBDA69907CBAE562 - 107FBBABB4DFC81A3A15438C94AC0C28 - 8CC35A91DED9A79ADF4EF2670A55699C - 000994EF33674B578F5D77928A43416F - stream[192..255] = 13D0EC5B7302C0D8AB329E7AADFC3FDE - 1D24A80B751948C4BCEF516D94DF7AB2 - 2B1D9E076BBFE367CBED341B2A5A3BA2 - D48735F83855460F9D9953279BFC2AA8 - stream[256..319] = 5EFFE922E2FE25410E8050A973C3FAE2 - EE372E9686B6E7B35294B52A579CDB43 - 9D5CA7F1EABFEB4303DFD7DFBCC812DB - 9D70CD0698D1ED051E1E32C855EB39EE - stream[448..511] = 91A01C0EF63716515DB8B71273CA4399 - 1654AAEF2AFD4DEF25E21A08D5385766 - D8C29514065FFF00B07DCB32D1A20830 - 3C3402963EF252A4CAF5CA31A50BE591 - xor-digest = 9232F83FB054098FBED8474939476CEA - 5E9FC269E7B248E56B14F56CB396BE74 - C2B2203D1802D9515EEE232FD612FE21 - 11C291A46A89D54B2E5437E643239636 - -Set 5, vector# 72: - key = 00000000000000000000000000000000 - IV = 00000000000000000080000000000000 - stream[0..63] = 507958BFA08EB41F4D18F519E36FC476 - 5BB8DC6CFCA36290CE9AB8B165D7AF72 - CBF49DCF8BA2D145D7935EDD2CD2242A - 7B7FCCB85B4C8625532D84B4BC602515 - stream[192..255] = B2B06A7C3977D4A1A39892E832A32A55 - 3EE6E52DB24DC453835893A55D0FF3A2 - 949B8B96688237E13DBBB2D0C9038AFE - 8B9D18CCAF62019ACB908499D292F280 - stream[256..319] = 1D28AADF7B262A1EEEC11D39F4325CAA - 6181F9FA1A6C65F3BEF4F1614B0DF599 - EC92E5B6B42A931352965CFFC025F68F - DB2D6D0181F259F12989E5FB23ADAE8E - stream[448..511] = F60E3DAD5004E31F6DC89292ECF517F1 - CD18AF7E79E775334F4644A09346AAF0 - F2B4F5C1DD03555A6D27C43AE53EA7BC - 7167F793190071C7AB7B5330A6C6CAD0 - xor-digest = 5A65D44021E67626E62FE87B8547210E - F736490C0D51485A8EF0E1CCBB512DC6 - 0FC18114A29AF923EE3E85655771D6C0 - 7CFE342A52190C540BE3409853F12065 - -Set 5, vector# 81: - key = 00000000000000000000000000000000 - IV = 00000000000000000000400000000000 - stream[0..63] = 2416B634134170CB4F67F431BC94612B - 5F2F72545DAED2356081C91A26554614 - 5FF2526D8D8FC7D02D8BCDD9AE03187A - 9E404C360E115CE949667987AC73624F - stream[192..255] = 4D456233EC7E761891A56BF9F9659533 - 22375C169D7F16DD81D8D69B12092F47 - 09703B85AA3184827935B60C1E5987A3 - C4C2EDFEAD4F777B53989C469B575EB4 - stream[256..319] = 5F9CDDCBE09CD759B346AAADA2436887 - 0D47BD8859CB9225B61AD9F99197FB14 - B5D625F5DBE0955DCBAA5B874A7C89C0 - 07BF926AEE571CCD7E20635ED4FF312C - stream[448..511] = 642391D8851A9BDBDCA37B9587D5D0A4 - 877EDEC31D6EB78AA3F1E068B0ECE877 - D83EA29906D0C0816EDF7EC5BB417A3E - F3DDAA2145CB37CEEAF8C07DDEE0AAD9 - xor-digest = DF93E4E01EA55D18AB8AB1A927A5B5AE - 9ACB871B7493DC283581262771852013 - EE54288580A03B3991126BE8BC20C5D2 - 230F00D8216CFB632271750F4FD2595A - -Set 5, vector# 90: - key = 00000000000000000000000000000000 - IV = 00000000000000000000002000000000 - stream[0..63] = 4981C83E26859DEDB32D84C7BE32830E - 784376A12FA6D0077D4CB47ECBA08A92 - C841D45D6CDAA3F1FB48C6FE747B0F67 - 1B32C2B35BE69497737FE4B98770DEE9 - stream[192..255] = 1FA51FFD0360615EFEB03042AE8E4210 - D3D38B4EF07536BAFE43C0585818F012 - 8F8B3F8CA8DADBDF049688253066C74B - 01849C5BD85DCE27C0138D24E8B8B198 - stream[256..319] = 2D8C58008EE94CFEA1EC545C26466D39 - D7BFD5B226E32F1270B5BD3677818B7E - CFD98BDEA26488248B10418C1F854159 - 8F42C6CC237885A1DEAC5C33F22C27CD - stream[448..511] = 94502058B5828AE4F4CDC0516E5B5143 - 1F07EE1ECAD7CA266C931327BE6BF1B7 - A34810220CE00497D7BB9600FC524999 - CDEB6DDE8919B03064EB56B3766DAFCB - xor-digest = 1DEDBE0B7B6099DCF285B3C30E91AA0F - 7859496E034A1EA1AAE3D3D13C2061C6 - 0878E595B63D849B7DB77BE7E0C08157 - 94232B645BE946E5D8278B14427172AD - -Set 5, vector# 99: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000010000000 - stream[0..63] = B84C72BF69B601FB1804CE333C5A2C19 - 25BC8A5877DF9E574295380611D03FD2 - 46D2EBB58CC6E918F4DB1B1A0E39642B - D6B39DC76764E18108497E4CC4394057 - stream[192..255] = AA84DF8195B3F7564D0715517476085D - 1B40511A72340DFEAE5134C7BB8F39CE - 03E6EE15217986C7E4788453EF054027 - 8CBF6336073092EF661C13C7EA8B4850 - stream[256..319] = A7F0C413EE143F55C6356519AE620A9F - 4CEF8432C51E2677EB5D700CE333F314 - ACA374D86A8FD4A67BDC31C1B0DA2AB1 - B20E6DB91E7F85DC13E348314A4FC782 - stream[448..511] = 3445E08F13D09A1AC09EEB65451F4504 - 0AFFDE94F6C2667BC4D8FCBECD6C6565 - F09FD05EC660DD38307F856AACC95549 - AEBCF31B3FBE84FFB3261D7FEF7A3379 - xor-digest = 360199B22EB28401FB4F621E37800801 - FE69C809D83BE29A50FD1A476B6AAF02 - 54B1F4B048CB6423182C390B8EDFF1FD - 9CE49C26727F0D68EB837C19F58F3F42 - -Set 5, vector#108: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000080000 - stream[0..63] = BC618F4A557E5B7CB75B3572FFC31CD8 - 4DB96FD22E281C198DD33B5E9E419099 - BE30E84ED61C0EDEC04B1E16E06B40E2 - 372E0EA1A48DC55BFBFBE3355B566AB9 - stream[192..255] = 33372015C7E5749D98A92CC55CC22206 - 90BEC9878D3CA0AC50765D0B4457CE50 - 9BCE196BF0388599E692B99EA8169474 - 546F10891A3FCE22DFF0AF9733C2A2EE - stream[256..319] = 382684F74B0F02F7B987D37F6BAD97F4 - 20B4811FFC744CBB9F00C2855A609FC7 - 7CD24D0137304B95217E25FF45AFA4CF - 28E4335D29DA392D26DBD341A44C082A - stream[448..511] = B0B2B619708435C5DB45FFADD2FE4449 - E603FA9785E1F521E364DEA0B127F72F - 6C8A956CAF2AC9ABCE9772ECC58D3E36 - 2E758BDE3678D4F4C9804CAF11129BE4 - xor-digest = 80FC64E2441F6CA9C0F4C207007FD0E2 - 5F1C0514D203A1B01A6EEFD1055CA355 - 0174FAAD47ED0956A736A9404164ED85 - CBEB31F80561AAFC4ED8EDC9829D83A9 - -Set 5, vector#117: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000400 - stream[0..63] = 69FEF0D5DD7CFA6590821B6C12E239E3 - 5DCDE7B218A66CF3C75ED278092A6228 - 143EC00BC16DC2FDB8CD9DDBD802AB56 - A4011F6A8CF432F2D34657AB84DEFA4C - stream[192..255] = 312EBF427B3D22A22EE1F85D89E12AE7 - 07160C9BBF4073E538171365290B499B - 8904B01801CC897FF09A520449A44D0D - 34622DB8477EF1E73DCF15417478FA03 - stream[256..319] = 83CF222FDBEB77FFC6E282C1212D8D1E - 014865E9C1251FC07E901A41A50A3AF9 - F8E130394F621B739578C7E238866431 - 10827799C75F08C47664B09B477F31A8 - stream[448..511] = 4130A8F8015F082EE8712B6D61178CAE - B1D3CF90AC2DB9F2D402F65E8395DE95 - DA0605E8540E553CFFBD029AD5BA8FB7 - 5950C2FB29097E13ED4A1B1818E0D07D - xor-digest = 21FA07F8AA2FBC12F5B2B14E034C2AB4 - 54D7D8DA66EB0308D9AB024DBFA414B3 - 38F36D188D33C71E888FFE1A6AC620CD - 55B33C1A146AB8FD275584589BD65606 - -Set 5, vector#126: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000002 - stream[0..63] = 0CF41A77C30118D0931FF3142132A627 - 7A778D3BCF7466EFE56238B166A57043 - 2DB3B222523330233F81836282A27B40 - F6823BD076D84DC3B831DD78828F0FD5 - stream[192..255] = 38A0C28325566FBAEF5AB3D50D54F407 - 91182DEF4FC945992AA0D62134451914 - F07F16E86E20DB119692966E6CD6165B - 79BE7CE6C45D1248F2E0432393BFA726 - stream[256..319] = DE91DACF57B176EF6E59E485DF02A20E - 3A4EE5FF44B1AA3D7F36265221CC71EB - FB9565AA4F269B7DBF3CB9631CCBAAA4 - BBBB6BFABB97E52954958D4E7A283F20 - stream[448..511] = 8FFDC8CCBF864721D6C98E1896FA052D - 15141D9C3DFEB48AE91B2436C5C3D088 - 931470CE951B66C38998F15CF23BED01 - F6D95D84150D482C0C289A8E5B2C7C10 - xor-digest = 03DA7ADC3E5931928D3FD89E1E0876AF - 9D4CE659175E671D6D80EEA78F241AB2 - 86CE3C26DAE267D91DB556AE0CAA60E0 - 2B481282E6470A7A161AC8E84C2311EB - -Test vectors -- set 6 -===================== - -Set 6, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 0D74DB42A91077DE45AC137AE148AF16 - stream[0..63] = 425A5E6F68EC055F38383ADC5CA9C048 - D6455C56A5ACED215E22665185E497EB - 3A2F5C0D45057169965EA37FE19F5D83 - C95C4BEE11E8FA89545A38DD9D18AD6D - stream[65472..65535] = EFFA27F50B0B4C4AB3C7855CD5DD9EFD - B61783161678C9728B9032C2CB09A0B2 - D2578C53BF3C3E67D382BC89D824D63B - 20E62F414E4AC36472A16F4992DF4496 - stream[65536..65599] = 0111EEC218892B446FDFDBA9D0C734DF - C209D35FA86C1BEAC0D266E5DC4B3243 - 68B4263BA7A3517805D1501B36450FFA - 1544812EBC0B9DDED93F5D45C4D83FFC - stream[131008..131071] = D966650E1A27DF3CB71B1E64CD3E7EEC - 2D3EEEA2953E2FC5571B4380EA3BAEB5 - 3F014B4EE071A426E4A518E1AF335BD3 - 76309236760E0DF6184B3E34BF861458 - xor-digest = B234A4CB646B0C2792023EABCD3E974F - 1E5BF1D5DD8E07E5C11BCC47BF1F1DCD - BFFA3605A37008813029BFC32D1EEC11 - FE775D9889560C847C79ABB5C7181E6D - -Set 6, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 167DE44BB21980E74EB51C83EA51B81F - stream[0..63] = 5C1C44F155CF8595D52D003B7CE6C584 - F04708B55E3A8B952379A4F03C6C5118 - E0848F52C846BEF459335EEF7033CF25 - AC643ED139A9383B9DE13A5652E2B754 - stream[65472..65535] = C4710CE8066A43B7E7FFBC8190CA79ED - 5E14AEC2C153F83966322553D5D4824E - 782AA1C91400027395D74B3A39DA1925 - C6A757E36B48A8F1FFF12321602379CA - stream[65536..65599] = DF29C91A08AB080662764B01223C818B - 27DCB638FB2535DA034D325DF996F57A - 7F4C67BA94C72EA6C88112E575D55906 - 3C900A87B205A8144FC1717D5ECEB77F - stream[131008..131071] = 63FD83511C8C39ED3968EEC5FD281279 - 70626BB91625CEFA381AC48E166778DF - 63709701FDD99F4A547D8CD6F7324B29 - A9E0C025EA1BA007246941D3566D15F9 - xor-digest = 959850E75A99AA747502E7BA9D19D870 - 5895593FCB7BFD7A7DD4FB218F17DC6A - BC8B96520FE83F287429BE3B87D35D78 - C6F100D8A9561A149297CBC44306E5A4 - -Set 6, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 1F86ED54BB2289F057BE258CF35AC128 - stream[0..63] = 696FF80A8A547A2E215C6E0572821F70 - 201A090460E7B36A48ED5CC976417DEC - EE32E7102AC764805E4A1BED3DF7D786 - 0B3BC625B121B5200629AB58799DC406 - stream[65472..65535] = 7BF69658F0EA9905897C1460D30333D8 - DA83E3F1377FB75D015D927365C7316B - 307CD91A7167B87FB13DBD4739F88A20 - F7878C2A483A4FFE1AB4A60840EF3EEE - stream[65536..65599] = A55326496CDE23F447CA6A4D1BE0182F - ABC30D61C7A9E655CD99273232CA6589 - FDDC8179038B720D5A12CB698FA50B28 - 9E6CF476ECE2DE213F44F9F23E8AB4FF - stream[131008..131071] = FB47C745519AC58C91CA9081B1DB0CA2 - 8662116EE04AC6C4171A4BD11572677E - DA507990B45C145DD21A56E1FD8F7AE7 - 1BC54AC550309631C12A80FBB27187C4 - xor-digest = 3B3E44A1154CA7C4B74A432D0427AA6B - 3B6D81FA45AB9D3A37CF075F57E62AFA - 15DCED3DB08B96F48A12B176ABF203D0 - 922DACF266985DB9D52A9D4AA00614E2 - -Set 6, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 288FF65DC42B92F960C72E95FC63CA31 - stream[0..63] = 0A12311E99506D44616A24E124676D15 - D06BB6A73EDDA4E9767952E1FF698BEC - 593FF8E2422D80C9C55DD660C6622CA9 - 86140571D0958C070E2A8929C24E5562 - stream[65472..65535] = 6BF87D409915D407FDAA06FED0EDA87B - 8CC4F20760B7669009795EC87DFA6BB2 - 9825706AA3ED93F4197B28587D042223 - 7D1F6761D7F8D8F8B3E0421AE9EBB9BF - stream[65536..65599] = 290EBBC73FA33ED00E0BD9CCAE6ABDB5 - EB5E86C533BF3E69D24AE720D0FE30AB - F92B57C1EBAEBE8DCD0DE7EBBA5E8CB6 - 67669D286E0B8F8A3A53C3192D2DCE67 - stream[131008..131071] = B6082022254F783C501C08370D8F5678 - CA2F08825D4F7D09BF0868CE44DB1F5F - AE8D30C6380C3A20B1EEBD4083E58BC7 - A4EAEAA9D54117253784E4917C3A7039 - xor-digest = 2181364DEDEDCA0C6F51A4634490FD9E - 3E89D0D30AE94F5E75730E4B9E82FF68 - 5D82723A59CA0879C6B80588AD312CDE - 18723B80828EA4914BEE062A68EFDCBA - - - -End of test vectors diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_256IV.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_256IV.txt deleted file mode 100644 index a4784edac..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_128K_256IV.txt +++ /dev/null @@ -1,2783 +0,0 @@ -******************************************************************************** -* ECRYPT Stream Cipher Project * -******************************************************************************** - -Primitive Name: HC-256 -====================== -Profile: S3___ -Key size: 128 bits -IV size: 256 bits - -Test vectors -- set 1 -===================== - -(stream is generated by encrypting 512 zero bytes) - -Set 1, vector# 0: - key = 80000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F1B055D7BF34DE7E524D23B5556B743A - EAF06AE9076FD2F48389039C4B24C38D - DFC3AC63A148755FB3CF0CB8FB1EDEEA - 63CD484036FFAC3F5F99FC7A10335060 - stream[192..255] = 2541F0EDA5633B4F47C6B74CDCC612AE - CD27E46B2C8FC9036A09C6FFB5891168 - 7A8FAEDC225E34C45B6E081EF5279FE7 - 3271CED417549740EAEC6616C2B6A57F - stream[256..319] = 0C8C0567803E2537804BFA15742D3E08 - A29985688DF3D6B4C3044464C1D1F2CD - 4CBBC470C9A0FB05665CDED63C58E466 - 896F80ACC020F134CB622487D40E0AF8 - stream[448..511] = 1FD448C788A21BD30D4B6BC5D8AEF296 - 2772940557B9434E0FAF636D576B0737 - 1FF3AC12884BB431F396CF7C189D9AAE - D42797128CE645FE841A4CAABA429324 - xor-digest = A3F66A36C20A496A0D4D537B6106662A - DEB5AE1E35FD1486EAB6039F443E5D8A - C6A2D4A2C2E2A9F335E2E468AD8BA51E - 550E41533332E6929EC18CE35BBF741A - -Set 1, vector# 9: - key = 00400000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 9244D2B190FE8C4BD0E17247C4F1D282 - 3FECA8DBE546637E34BCA99236D09F79 - 5A8905A1E0FA94E6C51F7DC0C90FFAE1 - A8EBD4C99CC96FB3252DE0A0FB03F971 - stream[192..255] = BC0ADD787A5EA52E28B45192399DDDE5 - CEC4E283181408E554FC714586FB641E - B36F3727358BDD8223B5ADC9B9EF1044 - 0F7CD97FCF2ABA75AA9972B277CD6656 - stream[256..319] = C9F6315DA3CBAE23D32685C5549274E6 - 9C17FB2E46746C5D3260FF2E00FB234A - A460776CB0E7AC3AF0D297825C1796AC - 0B689DB219443BF4C0D4D19CD70A49E5 - stream[448..511] = FBFDF6D40BF2DA0EBB04D52C117E9EBD - 6FEF88D39B8EF8B31082EE9B19D50219 - 183DC962391FA4F602A2510BB476EF4A - A44439F61D589933A1F3F633C96E56FA - xor-digest = 49B435E6FA51A0AF8DC94CF1DE09F8D9 - AD76E08C061B54CCD62EF98ABE85969F - 3FC41DB934AF9DBC5F32748623639D3E - B15124F13DA8B008CA5016ED61917563 - -Set 1, vector# 18: - key = 00002000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 9D74BE686C2DE8B207E8D82E49236A3D - E86F5A7EE231B4239080FC9A55FA44ED - 7737FA7472B318A4F36FB788E863247F - 7067C20DCA632FF051789E9EB99CF409 - stream[192..255] = 4876774DBB886B72E54EE8160D8BA8DF - 6DB032B2A9BA0B79CF82426CEADE421F - EF5ABE9976E909DBADA0442FFC7BBA2B - 009F7240941F0C209853A514B0BE9062 - stream[256..319] = F2499CCE5D3268F4C5515C365D2F4411 - B0AA99ED01E7D5328BF0672584AC65CB - E47BCA14C3EB1F838ABDB7C611677BC3 - 7382E84D05848B9838A166A42E96B016 - stream[448..511] = C855EF5D1CC991D2DDC892AD8319E39B - 734E43E443F5910D03BB79CCEBE70569 - F92BBC63363943BEF88BFA5809B3759E - 6BA4ECA1FAAC572228458A229DD5BA06 - xor-digest = F125B88E0B5F143B836AFD7AC822E027 - FF44B736E32627D90FA05F3DB98576E1 - 9EC41AAF9D61ADE2BF00E38CA4EC2A54 - 49EE0655FEAE777D67EE127E8A5F8CD8 - -Set 1, vector# 27: - key = 00000010000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CC447BF1B5D138025BEA2B269E625C4A - D4451F3851F04F118499040C6E564E38 - 5C5FE17FA7AFAE9FA559CA4835AC1F40 - 1C045AD439B400BB41984DFE7E4D4CC4 - stream[192..255] = EEC14B65E027BC2A96E566BB89218A89 - 31C4AE0BA5C444929EF852EF7E400AC5 - D8B3CFC62DEBBC2B20A7B32E350E3839 - 2953B7839AACC06B2018280770F84B65 - stream[256..319] = 8870B4F9A62B37A1929973D3975D7ED0 - 505AA43002B14B55A541EAE00148651A - 111D6E5A1581F85FFBC2304783EBF5AC - E924CD8111056B1069F13100DE15EB13 - stream[448..511] = 1513F3B7A2458674CBA2B566F3AD6169 - 2BA4EE30687A07AF2FD0D340D92384F5 - F5BFD9B8DF2F7098A209C280F6D5AEFF - BC07D167720DB47B4B649C8593E6F40C - xor-digest = FB5EE30BAE44FDFDF105796FB8A66F69 - 64D502230C191FF9AAF5A4447533D02F - 05A3772B99F9FA2A075DBB8BA59D8D5F - F819784D487C305280DF2F19EEA8BD47 - -Set 1, vector# 36: - key = 00000000080000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 831F1DAB278C6226785209C0AD34759B - 9F205B7BC6B987DD145B949336A8FA0E - 4550BC1737DAE7DD7D12E2C062BF9693 - F08C2FB808A1F0A5887A06B93D132BBC - stream[192..255] = 76631E9D4A673D09B9769251433D5EFF - 3114AA59E1A9B7E21B4123DE3E34FBF8 - 4ED6E80EC29B4F75B53A63902C373EB3 - D644B8823789743CA407FFEBA4A1AA75 - stream[256..319] = ABD84B2A5479CDBC5587FB9EEC5DC661 - 5A3CC6136314F67AD2C96803E8E4BE92 - E33DC35F0DBF3C401AA5D7A9F46E54CA - A7ECD68E561BC08E6A5B847A82777E4B - stream[448..511] = 9ED1D44510201727B2E92B55DBE06BA1 - 46762AB34937364B2157292CE68B9D78 - 3D3C3FFD1FDCA836E4C4FEC750B10668 - 600C26AC05B4DED64F8CC2EAA0D22052 - xor-digest = 843D7B97B3316595111DCBDE3DC13DA4 - C14402936D68035CDAF9A1C168120B34 - 0EBA1FC47E957C5F69F369B4C2ADC4AE - 37E743226D72A9F122EC8E00BCAAA126 - -Set 1, vector# 45: - key = 00000000000400000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = D2D629E84843638274ACB79FA257DD9C - D48A08B823DC9F175CD92C5236B9D230 - 5931FDEC5A8F531B1ADF30DE0527AD2D - 0D2B253D008913558E0FECCA7D7BEA4F - stream[192..255] = 6F9322E84D69CFD6A1E589283CD028D1 - E2A114B719FB2E18E732B97629313772 - CD2F2F8AF77EDB5B4360E4B679441346 - 03C59E88C042713C3E403E5D93F9BBC2 - stream[256..319] = EE7BED6C85B20E0A39C103D0B6949F4F - 5F6FE0DF2BCE315CCCEF6E537C488525 - BFC27FD249A6D36548C558153661861A - 78422A563166BBD0D72D6D7876FB4DB4 - stream[448..511] = D2CFFCD4185EB1D8E15B629225B9C278 - 6E7BFEACBFE29D7AF396B3D5917A8038 - 7263018C7E98F49A1D5FA4B64B8E2AA0 - 7192ADE0376388E8295AE5B54CC51389 - xor-digest = A26BEFF2FD72BE47175C1B6F3D749CEB - 0E3472FB0FD5E173DE66A5BB60357565 - 505E3AA44A67651DCA75DFB6F0AFCFE3 - F4C89F064FC42D7C2953694B0CD47832 - -Set 1, vector# 54: - key = 00000000000002000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DD1649517BE76EFF747658F0ACF5D354 - 2C7FFD52F09FF7DDDFBC48487450607B - CB90ACC3406D0302E84450FC0BFEC660 - 9BD44C7FFF670D69C9B19FA50C62EBE3 - stream[192..255] = EEACF8ABD7D48E285A6658C255A6196B - 66B091773A9F81807A119DC24023D5C9 - 041AF75F2C078C5246BC5F50B622A678 - 64EB7A07DA6A8764437E20C7E1E0E579 - stream[256..319] = BF55E777AC644A0938D438FA374360ED - F842BECB027FA3A0F364B9150FFBEB47 - 09FE2D2056A6CD5A7076172152484BEF - A86EC7DDE657307580BC6F9ACEDA4C73 - stream[448..511] = AB4CF968EC00E7F08553A10270A7D439 - 68B0BC79C2DAE278AF1CB81FD516CCA6 - F5B8A47271FAAC3223F02DB4D0D5945F - 9C13A47906B03B80878CB0596D37CC47 - xor-digest = 76ADECA36B9401DDD5CBDEE821B70FD6 - 65EB9CDB1E3F25C0BE90DEC49C03A9CF - 4049CD34F9550B28E0187B0AD47D86D4 - 88DE4617EDB5F03C67FA2E7B9D20AA25 - -Set 1, vector# 63: - key = 00000000000000010000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C0CEF6E3CA9F0D523587FF47973FE896 - 9FEB08773E3C694FBAC4804B37121B31 - 06B99ECC2A08603EBA72EB3DC650E8F3 - 462119F4685EF4CEA18D5765A6F22765 - stream[192..255] = 79E92E248BA61D72C610876D3078F1CC - CAD662F2423E7EECA813133136A64E54 - A1B6A151BECD2B815EAD959DE8E8DC62 - 8F388D366103296A058CF60F525D6467 - stream[256..319] = 03BD62A0892D939C1C28C4EB490F87B2 - 527536AD6790AAA6C3CC50013E2BB883 - 5710EAB7916FD89896B7983B326AE271 - AF9ECF975CDBBB968D076685BAA3343D - stream[448..511] = 98762E306A2B9D488FFB671D3975551E - A06A6CFC5DB719B888E3164387EC922F - 12BC31A8DCAB8AC0CD6E12212CDA3B13 - 4CF7F870221D6CDAC2B222AF4FD93DEE - xor-digest = 606FA49585621E34BCC3748C06B51FE5 - A8AF320BFB83A4D1D3AEC6373519B28F - 2048A975732BA8DEBDFC5F85B84E7C3A - EC0FCC9B1FA9EBB9D79D6B18BA2D70B7 - -Set 1, vector# 72: - key = 00000000000000000080000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 33A81D48866B04388451BC2730A2980B - 5F5BE248369911340E6C024A1F94D4FE - ACFB246F7C0B9E27A40772D68DB36DE1 - 7E87AEF19C8A68854A46B3F654E0AEC8 - stream[192..255] = F67C60413B25FF7CB8647D1E9C361696 - 3B23ECE23A9DBFEC644E855AEC5212F2 - D336E6F074EEC8FF5F8D4FC6398AEB9D - BCAF6C29FDFE6E69A03D906C527FB0B5 - stream[256..319] = 263D512137BAB758F646C71058D02B20 - 3920965D84E52A99B50FFE79305E491C - E0D61EF71F7A07937CEC8590B758F63E - B3EB5890E8678F170C2E95B827FD8DDE - stream[448..511] = 023AD00A87D3D9441D4E8CB603F5CDDD - AE8F3EBFEFB9C5435B72B9B8D03ACDF1 - E4A0FB796FF8401854998015905B878C - 99B3EDC7DD33A86AD4EA6AD208440C5D - xor-digest = 5DAC8E3446BB3B0DCFB3F0A3A3E788C6 - 07FA7436C63BF7AC9FAFCF4A231AFAC7 - 75A3A810EA0FD4E5E6A5B8FE5D165A80 - 798A9F58EE1AD27016E867D2E774507A - -Set 1, vector# 81: - key = 00000000000000000000400000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B33EA681CA88C80EAD8F2D57C87EA42B - 742550FF8AD2B01BDF945BF160AF763B - 15D6B3BD92E6CF3E6A2B61A7D4BB94AC - E3DAB365E4EA50EBFD2654E60CE849BE - stream[192..255] = E97318BDF61934188A94BCFB4441809D - 36C37D1A43BDBB3EB06FFE143B6153FE - C8453A13387923F434CFC7AAF8CBA097 - 7D796DE95EEFED3B2126B611F477619F - stream[256..319] = 4183971367E71731111D2212520306E1 - 1CBEB05BE6FDB338414C826A8E359C7E - CC680F317C12C6EDE6B443E68B4767AB - 4190E95E1AE4E4FFE61707BE742775C1 - stream[448..511] = 56841724B7D7F95809456EDC1D3A532F - E1C6BA252017DA90EEC71FEE9A639A89 - 4CB7E1575494BC8B44FE4C5DAF90FF4C - A32E03D6399BCB3D9D25B62764A4977D - xor-digest = 3E80587D70A53AFFB96A62F6493B9BE0 - 1C25339CBFF7784F5100A7922EE3E6B9 - 9D17B026C0EE69C5383F63E0E5AEE9DB - 5814E2C526192AEFE17004AAA1996280 - -Set 1, vector# 90: - key = 00000000000000000000002000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 51A7510726D12FE9574095633A3710E6 - 3EB8196622BC808B8A18800E208648C9 - F7031F8171B71F37613753A5E49B37C1 - CBC7933A52CAD48601E91CA198EC19EB - stream[192..255] = 286EF1C4F74C993A7D783E86527CDFE5 - 213CE4DF7EC72544685291D8108C7621 - 50D488AEF761D819781814F4501553CC - B45EDDA85828C33C4D0608169AD20B2A - stream[256..319] = 89DF5C916612EF0ACC1035EB75752239 - ADE08E0D63B622EA52CC997DC8178C4C - 4E57951FC8C6659A225E88502742B888 - 1F300FC9F278AA3D9C1063A83CF33C44 - stream[448..511] = B2DE3AE2941AFBDB21D80ABB0EB852D3 - A076D98C696F886C302D96D6AD226CA3 - 7B3213B3E641632B728A0AC7131B74FE - F733D1B18666D36A02C148FC98AD2E89 - xor-digest = 01090125BA6C43AAA3910B650D046F37 - E04896E9D2BC276D969A10C1B26FAD48 - 8A2CA5E59044ADDF698588A561557669 - A4EF25E1BB85C0A9D63F69FBB2924F83 - -Set 1, vector# 99: - key = 00000000000000000000000010000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 545E2C75365948B40FFF042EB6919907 - 6E63EE636CB343C51AF6C17BA24E1BF5 - C045B0893B8CBDF6A4068F8574513676 - 80000B10BA11666A546D8DC75374F5BB - stream[192..255] = 9805DCB5596FADF01224553F3A8DCC5C - 909D1A5EC2C29BA0DB86A46ABF70BAF4 - 4A171739309A923428EA7BA8EFCA5CB0 - B0B8A5EFE9A4A39BE0EA6CEA782DD862 - stream[256..319] = 531EE320A584EE1E4E0701400F86DC29 - 69531C2BB1BC922CFA9E0919A05B84C2 - 46495A7C358015724B62A986220DFA17 - 6BF39FE4263A9D27D93F3737CC1D5C59 - stream[448..511] = 92CC0D63772783AF62E642A5849CE7AF - 4D21EC815D644F88887242F4F5F7E1DC - 55E241D72691ED50D59CB3E2FE68A856 - 7696F8B8E3099642D70EC3945B8BA656 - xor-digest = 855CFA62E449250845472BCE9453BA45 - F91601ABA6BB715B079D407E05D94CF5 - 93B5A1E2C12C04C78AB719339AFC11C5 - 213E17ED9DC2B0B9CCF751E0613D4F2C - -Set 1, vector#108: - key = 00000000000000000000000000080000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F9748DADA2741A7CA30EFA167ED09978 - 71619682AB68CB400A74BFD642180CC7 - F3499CE2CC86AB7727786DD01AB8D08E - 8774C5A3CFB4738FF1E3243DECF720FD - stream[192..255] = 5AA20B305F5D6363180CDCD4E16427E7 - 2E3DFD73D2C4E2498008F6E0FA9CE3BB - D751F6EB8DD5F48EB42B994688601E3D - 2CEB3DE19BF16C4BD7FD4B331FC93473 - stream[256..319] = 81E3D9BB421CB09A9139534C6E430668 - FCFCB87E48CFA085D4FA1AB316CD5AB6 - 35294E434852C1509C1023A85B26622C - 68BE19944CA3233A4D3272710A791E3D - stream[448..511] = A499D228204BC22C32047DF550E2CCC0 - 260ECB7BA32E8F5CBA2C1D9A09D1F38D - FB30815BA3C9A8D3243CFE7AC4A14B1A - D6AA67D3EC0A5CB617FAD57E41A2A0DF - xor-digest = 0324B7F1BD990F8DBF19C021CCDF741A - 1B4A9C3C3940CC59CD715F0B2CC31C08 - 82E5B93721AC98B00F7B45FCCF19FFA9 - 782B7D7FC048F0756A29B066B472B394 - -Set 1, vector#117: - key = 00000000000000000000000000000400 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 7EA95775329E2D1163E30F429FECAEF4 - CA177BB4D3C4D1AEFA6B5A01904266F7 - 7D7B7243B9DB1490245EC05129CA2DBE - E3A98885DAD0B43B0E725DDA39B444EB - stream[192..255] = 78ED15A7B4A8151F384C740B844115CF - D4FA31F9BC16E22158B0F896E70C0F73 - F74AA5EF024F6B386ED71239CBD57996 - 4583C37104AD8C7E5C812C378AF00F98 - stream[256..319] = 292FF21E49659AF99AB21753BA2A2B28 - 25DDB156D4F7AFC1888FBE8376AE4C6B - 905D5916121E9F9D76C83FB146ADA735 - 2AAAB6E89CE9398C484D69D1A33F0C97 - stream[448..511] = A50FF5FC20C57F8297C9CE2599A3E6CE - 3193746E8C45FD9AECA0C5A0FB3BF70F - 5981B5BA8D2FA57677EF65B535FC3E65 - 405BECF0A508445E36A7B6DE2BB56106 - xor-digest = D9650FA5D128620134828E1C99D9678C - CFD5BDFADC46A5E79D47AC5967B8A1CF - 32F7DB65B949C88CCEE0D96D960A110E - FF1D09EF5549B88D5B53ED46D4C2F296 - -Set 1, vector#126: - key = 00000000000000000000000000000002 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 25874CF64ABA4536844F815F486F9DEF - 927E325CFF2FAC48134A4D30824C5BF1 - EC75F8FEFC624AFCC717BF2C8EAAE374 - 0AF399C2653389DBE31F9FF5D451D362 - stream[192..255] = B151A1EDCCB8B4A3CA9BC98F19EFE637 - BE2D6A97A8F794091E7FFF06E7B4E574 - 46B81E8C787BB77E461592160C44B5AB - 49329142D01A1CD5CFC6681F93DF1E33 - stream[256..319] = 29B2B0C04E07D33EC3146E60AA305F0C - 2288913B55DDC18FC17EE836B39193DB - 87089DF2BAC4185A57E910331864E25B - 540BBC968099900F7BF18645A28A419B - stream[448..511] = 286FCC98B40EA26BFCBE5CDEE52B30F5 - 810CFB26E756C628B56B3B5ACDA49E07 - 192592CA2241C6C5193221EDA36CB0E7 - B5C3132F08087DF0673D3101FC559962 - xor-digest = DBF1D7E0AC062FE6BA9834F0AE41ABA2 - B28B41FDFEF914F070007B0A48EE9D9F - E69DB8395BECDBA7B545201318177A49 - 7D343A317B5A37A9DF98DD25C84DF948 - -Test vectors -- set 2 -===================== - -Set 2, vector# 0: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 5B078985D8F6F30D42C5C02FA6B67951 - 53F06534801F89F24E74248B720B4818 - CD9227ECEBCF4DBF8DBF6977E4AE14FA - E8504C7BC8A9F3EA6C0106F5327E6981 - stream[192..255] = 30DA9453A90909A5675D6B691CB0990F - C423CDD8222EB47245BBB67BCA2B9C10 - 8D1F016DF0CF8CEAF6829910916DBC1E - 113D11E91BEC3D85C47E3042EC865658 - stream[256..319] = CAFED71B892EDBE13388CEF6A3365797 - E0D88C0D3A5B91BE4CBAF5162F69558F - DBB45CA6F8C8D4C371D62736EC244584 - 60131F54854F3EC804AA9A38E6ADE281 - stream[448..511] = 531A0ED5D2A51DDC6499FE1BB6E2295F - 2C3EA0F56AF46ED93DFAA4E16F5F0831 - 2D77BD0E9122043CD6A202CBA9351F6A - 0E8E6263F4017355136A0C551E6FD0F8 - xor-digest = 023D719F61C193E4CCD87755C87F9604 - C5A29DD7E31637B3DD70D43441D48CC7 - D474013C85EEAB1897C80ED0A0272543 - F951C72E3954616CB5D6B51FC24F4B0F - -Set 2, vector# 9: - key = 09090909090909090909090909090909 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F5C2926651AEED9AF1A9C2F04C03D081 - 2145B56AEA46EB283A25A4C9E3D8BEB4 - 821B418F06F2B9DCDF1A85AB8C02CD14 - 62E1BBCAEC9AB0E99AA6AFF918BA627C - stream[192..255] = 3B3C6E78A8F381EE2C159FAE1C487C58 - 11FA9BB02CECF7440239FBB0497347EF - D8F1A8AA71AFC70ECCD64E81388E6E87 - 9521C2B47AD84F9CFD9E240D8D2F3001 - stream[256..319] = DB04FD01BC18D91E2D31237AD0FE26AD - 3C8D6A2EFDAA9CC11BFCC61D94F6104A - 4091B3634FA57AB0AB9B209F22DA5529 - 75C3C322DEBE4AE68623BFE1B2BB7F0A - stream[448..511] = 35B290F85EBA78A978750690C4747E8F - 72621951483772E8B89876CC5D55F3AB - 02D9B8FB35C741279FF9B5B571B26329 - 4D011F813CB5B209CA1A22D532BF09B7 - xor-digest = EA9BB65E87C987EA64BC3F4E710CCC34 - F6CD0A795B8347E1441CEBEE35540D41 - 64FC2B95D71FD47A2C4ADF732261EE52 - 8125BE374FA4A90132CC1063971A2862 - -Set 2, vector# 18: - key = 12121212121212121212121212121212 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 397F8EC015ED573967938D1CEAFE9BBD - BD8853C329B3A881B489090853FE0F43 - 89DA105F0ADFA9CF51DA2521C40FD2B8 - FB0BF80B93E3F2B3D8A8EB1C615E0FA6 - stream[192..255] = 68E7DBF465E3C6994D58B9937A866E4D - 43A82A80DAEDBF29C048639BA38B690B - 7ED11323E3C0A8E77A16356705431EC9 - 9F2CB7F7E1ED3B83EAF2CAEC00B00755 - stream[256..319] = DA51CF3A07EBE7E86E9DDDE5A47E7417 - 376F334E6AEF9C187012C8AD2B94BE7C - 00A876756EB232510FD0798E72EEC87F - 75EC1467C07B3A1EFB0D51A5FA65E382 - stream[448..511] = 0BF3C6FF6794887F2776FD632B83682B - AAFD131432CFD7D2F675E03320395313 - AD4ED96E9052FE6B2D2A17428660A25E - EE642B712800BE3F7E44F21A1E6A03AC - xor-digest = EF4E84DBD66497B142EEAC56B830FF78 - 0465CEE20B9CFAF5727D4B3A588F4D00 - AAF718330CFF35508C44C1ADB8476625 - 2CC3AA6AAAE74F8BF1DDB6D4AADA425E - -Set 2, vector# 27: - key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 72BC8A6E1E61E704B142AA00812EE676 - 263C1CB9AB941119B19D15EBA3462F56 - 2F69220595DE5E0E7C595FA40F1F06B2 - 6EC32252AF05310809DDDFAE2E24B170 - stream[192..255] = B29A740B51B4EA1080666337D5551484 - FFED6860A5125DC0573C8F90F23A98E0 - BA7B3E4C28C2CEFB1C33D2C36D1B7625 - 64B9A67240CF174347A4C8D868F00F6F - stream[256..319] = 555ABD5577A8909797FBA9769C03A0F6 - 537C06AFB23354F054E25457B729B534 - CD10B2ABD45BE3E38DAF1B7A9103268F - 4FDB4C0FC9A80A003FCB907E8F249AE0 - stream[448..511] = 3B29A43D9C795DAF1760CA9EB57C0B39 - F62D54311207B617B727FCCE1B2E762A - 060810C4DEF672E7D76083E3E4BED0D1 - 0BAFD27CDFD2C937E660190D36B3FD7B - xor-digest = 0B3B0B3C69F2E4BDA22E25AEF352234C - 18CC5E1E3F6A317ED7257887446EF734 - 65CA15F51AF5E077B7915062391D8497 - 8F437985DD08F5FA3A8D74B3227A6EEF - -Set 2, vector# 36: - key = 24242424242424242424242424242424 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C845BA29D542FBED2D021C85188E119F - D34967B79D9F44635DD45D2E41DC5AFB - B237AD2FA0E4CF4202D83DF3073C578D - 2AA8A32D30FB45DE28F23CEB85E50FBF - stream[192..255] = 15C910FDD3C590AED1ED7DA2A7969297 - FD12081B4B23F0A32CE5B3196173C7CA - 7EDD03F9637E08CA501C4850C15B207D - 7AA724377396CED2357B572BBF9E69AA - stream[256..319] = E484AF567EF80BAE77461855294E9280 - EF57E7366605785034D639D6DE3EBB0D - E21886D0E1E0679BC2E2C9C2D9201484 - 4A452B6AD3F1AC8B7762FF3C0E405B3B - stream[448..511] = 595D9855200786BB575FF7977509F395 - 7879CA1F19619A99174BF013CB62F85B - FF2C3C4FE724E26DD0C10D7635A2491A - 9E7E868D9DAD9201465AA178184D06AC - xor-digest = 08737B82505F46F4FF282EF42F387AA8 - 0450058F5314389BB73733BC163D75D5 - D32FC6408F8DE5F6ED2050027D605FAC - A7119FC2DC1B6D3E84E8048DCC42FBD2 - -Set 2, vector# 45: - key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CA82A689535CA8BAE01BAFEBA6504B3E - 6E6320101999BCE5550C2BBC9BC65D91 - FAA2D72FA4BF46B6EE916244048B1D09 - A115E3AB6C00BAC8EE382B58859E8157 - stream[192..255] = DE787B1CE01B0BC09801D78D1FFA3A82 - 0C18B867C561E96DF4ADADC5A4375E44 - 5A34F9457E5F8C9A337A0C88DF0F723A - D4509F1449DF2C6AEC0EADF4C7A8139A - stream[256..319] = 7E1854FA15DF9D5827F1555F12B292C8 - 452A1A893EF034C51750388D294947EE - 3F505839C69C1708E8323C449C39A96B - FC9EC91B0E1CAA8112057EB0389FDFD2 - stream[448..511] = C85B42B838FB9C3D4956C9E22FBD8FBC - EDD92C4461EFBA5CF1664B9AF54857BE - C3D00319E5E8A89A8322831151EE1D52 - D8585AC79CB60B61ED2C852D04BB0FB1 - xor-digest = C65A6BEBC4FE898DB8D6B8F6E8F3680D - 2363BC12259B0FDB2BD8F052A572ECA8 - D1EF62AA9A48497805A413742B5AF5A2 - 6DC9FF624B49E5D6FE58BBE5251B4983 - -Set 2, vector# 54: - key = 36363636363636363636363636363636 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 9F6BCFDE566A1B67C608F11B8461E340 - 42D4F07DA4D5EB05554CB7426D65C5EC - A93C2D321175B6F72FCBEBA6E38CB098 - B72534F7D534B1AADD97B77E8513B482 - stream[192..255] = B2466A173F436C8433F264CBF125B8E4 - C10BC81BD46B5C21FA161CB2AE07D27B - F66812A2C2FCB2B14C23E413CEF4E591 - AD52EF810A000B42E5C1B76EEBB17739 - stream[256..319] = ECBED2058DC50223614EB8635B834C3B - B176719C18CA5E3D087A93E5CDF81123 - C6FB819CCAFB5042AADFED5E3C33116A - FD92AA21031165A22F4751C423B8B945 - stream[448..511] = 758BD9435DE607867DA256064C304C8E - DDDF5B64173CF2C98B2842992F8C5FE1 - A37C3227B7F37D49A39F9FF929A883FD - 56DB8B1A174E1E55FCB21C9E1164C20B - xor-digest = 31761A49503946701D35306FBCBE10E2 - 02967E7EC14A328B4DB19FE79F03553F - 13A012B7297B2D02F18A216AD24A682B - 299518C3769123EE86A4937DAA9FC39B - -Set 2, vector# 63: - key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 85C7FF83641ECF1C91B2D996D4EAFF6B - 26A4E7E34C0CA9CB9399F655E566383E - 246143F57776C8E08951E87F76091FE7 - 2356CC901F09A07895A890AECF047B3F - stream[192..255] = 4CE0C6606195F7562D485E32E8E105AF - C862100A07E55FB449BCFA2D9BD48658 - 958B37B3EA3565FA66824102A14B5770 - 5E3914E0680E116ED58212CBF61028E3 - stream[256..319] = 3BB772A5A8DE2AB14CAC1ACBF45B1701 - 057710F24C01E680F58090B8E949AF01 - 8970A43A698A04C0C8639FAA665DA3AA - 562B2C5C3A03BCC38FE75DC1821ED718 - stream[448..511] = C73DEA1F7BFE42DF75EA2681BEB31948 - 821FBB049DAD15B988A77C0247868A38 - 2056B66F47B0195FA30C9DB5A2334A9D - CD7C0D22E479FAE1BBCDFFE60F261C7F - xor-digest = 94D41CCAD940CED3C854DA0796DC62E5 - 6B566A980E34F353CFFD0F53AE9E34FF - A6A057645FE66D86BE30F93805D9E2B5 - D78C68EEBF61CE387277A51EB2EF835B - -Set 2, vector# 72: - key = 48484848484848484848484848484848 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E45194379659D1D8904DB3698AF8B245 - 762910B7FBD019AD1AA20A6C433B4C80 - 308A9EA68697631646BF3A2107C4E7FE - 2235E8F3262A9DFD3F5CC23FEB0B2DAB - stream[192..255] = 012611EBCFF9F839DDABF99D9D4757DA - 4E947598C4757976F6F61DA5F0DAC8BC - DDF72F08BA2F446FA37F9A490F6A2B6D - 79227C93271D6B763DA7B2A907220A42 - stream[256..319] = DDE54F9170D6A4702CAF45CC6F799F74 - A43D83AB8ECBAC5206D108F869561D70 - F151A0037F8E28951B5026643F8B2D6D - 56A62E259F04A5EA304791A9468E66AF - stream[448..511] = F70794C084E6EDC07BA0347413B05FC9 - FC46994CA820CE4FC037ADBA50EAA9AD - 55064ACB7308CFCE3F35AD5C7C628362 - F4210FBC2D3264F734728626BABF5356 - xor-digest = 31815B36BA034BB1941DB1E45A941A59 - 7C3882F34BD3BF441CAE8A9790B05BCA - 72049FD10C09A14AC9DB867A82C38A5F - 524C72F783DFD16980DBCDEB486FAE96 - -Set 2, vector# 81: - key = 51515151515151515151515151515151 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3C04E21F6937C4EF472BFDDA89F9CAF6 - FF53889A9979ABA8F23AA51DB1EDB8E9 - D08F696C1100799A7D004DEF1CA94110 - FCF0C054B0C131E6FAE0FE2F2DBF22B3 - stream[192..255] = 9B4ED3EF9639B953186FC7E732E7A9EC - 55A5F3F19C5A10E12EBE46DD84F10385 - 33837693588D584FDAF86E3A217C3CFF - 020278736F1A90CE07F0DCE4329005B9 - stream[256..319] = 135FAD68B5282FE59B28D2DF66463632 - 06CA92E84A73FA131EDDCE89A5C23B4D - 08FA57D455BDB32F8ED58DAF3EF288A2 - 7C72020E35DAE19B446E4C52DCDAC5B1 - stream[448..511] = 7D08FE1CAA0E8A0362669B310B99127D - 18F2111002891D3229102D72605B9BEE - F5DA36059B0DBBA7646927650305431B - FDA4A97570CD0C484BF1E974B157ED7F - xor-digest = 5125E77698C0DAA89A7E47DC5D038D40 - 7B732CE56CEB674CE653A1B6661B2740 - 0C092AFF83BEEE4FC4543B9D725C9387 - 2F89AA338222ED677BF59397200AB304 - -Set 2, vector# 90: - key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DA2E6F7FF0D1F1C87A97E028D3E20E21 - 75E9AD91482965B651B495AEE819CC6E - C42AFE2C20EEACCEC4E90710D17210E0 - 4CC6832905985322C8007F872D3E58E1 - stream[192..255] = 09B0A38E19DDDA08F7DFEF7D0FC80560 - D692A020F0A66F609374ABDCD1343722 - 05F19CA04EBDD3009844BC540C1B2B41 - 66D45E8A2E822B906DA34649E7FEEBB3 - stream[256..319] = 6C8E2CE1D7FABA414432E75BA2EFE4AF - CE2CFE99506677A956AEC86BD290B6AF - C5298A448D0DEFA99AA5CD26D318982F - E786D809C713D5A55B42CA6650191DDC - stream[448..511] = 845FEA0A88B521CCB8927C9457AD3225 - EF6E3C21705EC9FB24873916A2C24668 - 963C03FE097DA8224A42A99E5DFFDC17 - 68CF518DE49CCAC8A70216C62C9CBA6D - xor-digest = A46BFD9D2D0BCC688A032F54733AB7C5 - 5FF58B296071D5D39349A531E41F0BA9 - 893A1722B6102740BC5FE394A49363B9 - 6A626AB43FD6A288CD9B23F7255279F8 - -Set 2, vector# 99: - key = 63636363636363636363636363636363 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CF0E05248AAD82F1C8CD2095ED2DA333 - BCB02E3AD8797377AE1F1B4D6DDB86E6 - 2A59791CB553550E0492FAB42C7A2C42 - 3157C5092D2DD37D46589F17FBD86584 - stream[192..255] = 9E946626F1EAAEDA42E52422B4A84D91 - 4122EEE5736BCD12061C77DF5B0122B5 - 1784E946B4E93470170ACDD7E2779591 - 57BCC9B9F3E11E88BC2F740AA0C10C97 - stream[256..319] = FF22D8196AB3DF662210D12D0FE79255 - 6DCD39611C07F089979CF7D693A30CA3 - 5B795B7F6D64931916E717C8BFB92114 - DB75118BDB51D142CE8133415C6B3456 - stream[448..511] = 971F007EFE17662D95F47F4F28266516 - B22A1E50755EEF19149DE3A3121F5FEC - E0D9DFE7A055026CA44193542D7687EC - 695B97769BF02F92C1EF3D904A8010C6 - xor-digest = D1C4878BEFCE48888A43C6DDE7CC8163 - C8D54A4CA36748C74721C7B6E1649A31 - 4B5B7A4BD43E7C3D2A22F0C8446C7892 - 90D54D421D37CB16400E59CC86215CC8 - -Set 2, vector#108: - key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 54F122FC8ECFB176E7F4CF172B2D78B6 - 54BC11ECF0010D2AEB9F899130F4AC2A - 38EBC15C8831D591E6675DC1CE7A471C - 4B869FE83CBF37AC70BAAE5D4AC607F9 - stream[192..255] = 518F298A6008532EEFECB3DCF72103BD - 5E3F84FEB6EA2311E8C19A2E93A9C3C3 - BB1DA7DBA78D5618D1C4FA5B0B202728 - 62645A361E55494D66C9359E41E5809B - stream[256..319] = BAFFFC9206D1D813F3E2768F08D78B2A - 89BB20CCD92E7F13FDD816DD4E4963C2 - C5FC2570CBB8BB5C70848B73001F508F - 47AF179528200F51CDC6E4854EAA63C3 - stream[448..511] = 844B1D15FBFD1264169279ACD525611F - A39C7BB41F1E7A1C09090625F7926E51 - 23A4CD7FE1A3F37ADC67AC437BF0A5AE - FFFC6FB0ABF39D9908145004AA5B958D - xor-digest = EC67596C9DEF4012A2D543842829306A - 4285A3B8038818F265065DC848BD80FE - C27C2F66A57B27F7FA8AC912001EC954 - 05BC6E93D7E555C59060F5D2E294D103 - -Set 2, vector#117: - key = 75757575757575757575757575757575 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 91D2772A18995DB3C0801DD3740F4466 - F9535E5BECB93DDCA0E94D19C0B57BDD - 0FFBA9DAF0B11D55C852927F8BA560EC - 4999E25848D08FCA7275E7E8571A5F1C - stream[192..255] = 72E64FF10CA9F07CC493715724DA7610 - 9E4358E8B0CAE451348B784A162DF036 - AB9796724D17FDBF356031D080A6631C - D1E8D217B041AD2EDF427972653206B2 - stream[256..319] = 4054F770C93FCAB533143FFCA8E4C0F3 - 344956C29D10374E502C2EDD177ECE5E - 6625BAD9630DAD57976216CD69865058 - 130B132FEC1AB0C350DF4DACE4C7724A - stream[448..511] = 40B4A4DD63F7B6E932482D0E6F5BBB90 - E402466550B518A177CD05985D238827 - BD92EE7EC22C274F19E682F85ABDAD95 - D0EBB3DB6C6134408353C8B0472C9A1D - xor-digest = 9A6C893F2108D13A29373DEDA65386C4 - AC356BDDD4A3178952F9126E322B7AE6 - 83C94F1A131CBEAFF26549D9F84CF04A - 1241FA374B055B0ADE7E49E8EC669E65 - -Set 2, vector#126: - key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 87A7773A3514EB7F882F2C491E90DCF3 - 059C5CC575D806B9029CCE3FA45A246E - 0EBD3AB2F2E324FE36ADC3B56AE2F7EF - C710AA964CB87381386C2A88B1308035 - stream[192..255] = 415D6F59DD004944D4E45FECC6F1F06E - 20BEB18D9C84187C347F43B17E0924F1 - 2348F825E106E57A00258CE4415294D9 - 4323A9812D8A71359CEC1001BAA0D567 - stream[256..319] = 8E20F0D03F37EF4B2C5EE12B5F81F7C5 - 32D62E779FA0D2D08F8ABB6B0183A4DA - 4EE0329215F261D953150B9AB9FCBE2F - 568AAE361EAA8636ECC01A63F007977F - stream[448..511] = E7C44F44E06321A20E25F73E2069757C - 90499DB7E60025CF6D2D445E53A665F3 - 08EC96F6FE73C0AC90D7E4A712E18C2D - 3DED46DFBAFA24C4B0B329E52C525976 - xor-digest = 22035341489FA6EEB2A6488CA42F4043 - 57477C3F55569A1224EC39B1019E90C8 - 21D37D78ED4DCEAF6EA70724C3751760 - 38CF25DE4F84BABD80424D83A310881B - -Set 2, vector#135: - key = 87878787878787878787878787878787 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CEC0C3852E3B98233EBCB975C10B1191 - 3C69F2275EB97A1402EDF16C6FBE19BE - 79D65360445BCB63676E6553B609A065 - 0155C3B22DD1975AC0F3F65063A2E16E - stream[192..255] = 5E12BA9DE76F9ABF061782EC1C4FBBAB - 3373B816DA256CAAC37914B0C161E4E4 - 5F5ADBE444098A5B2A4CFD4251D79918 - 987BB834BB50F0834EF4985F356B92A2 - stream[256..319] = D89642D25DF97D149AE07EA18BA39497 - 8935978AC34C1DF9F444986D7505DB4C - 7E08DB3616B84CD52E7DD7FB108C36B8 - B50C2573172F4D3500B6D62A9D20B82A - stream[448..511] = A2C17FE7371604556F796429C6BE0688 - 8611638B310F3E9FAF484BA9EE29C16D - 2F842EAF33AFEC557B68D2F453569187 - A6F4CD204A0E7A733E81AB7CE9FCAE81 - xor-digest = A7C93087CA70DDFE5FA5F1F2F954320B - 6E3A61977A7C6AC2F033B826AB9A9957 - 66671D2A1025CDF8E2824B2F58CB221D - 2A68679239D90152FF7D0D39B33FAB93 - -Set 2, vector#144: - key = 90909090909090909090909090909090 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 7118889F6E46A6523BBEFCDB006B3BC6 - 71A6D390BC7099A708D370DCD0E3D143 - A0334619EBD5C7DA9EF6301F29273F85 - 2DFA3C580ED65C6E952F88A0B7FE368E - stream[192..255] = 31D61E133CA1AAE400CB2DBBAE93C75B - 445792061AA0539DA69ED0B77B970C0B - 482156A5DEE4082A61364BF06E692399 - FB9F4411FEC515291F8949B20F57229E - stream[256..319] = 993E815F299D4841518119BFF88F6EFB - F3DB9BAE60238BDE2845DE4DBA6D79DB - C9E42BA5C3C004AE4546FD86C660FFC8 - FD6A8A349669FFE3D9E5BDF8E50A407D - stream[448..511] = 0F9CEAC6BDCBB56B7E97DDC95877B2B2 - 1274F4A6D814B5440C74D53A3FF0735D - EF01B14AE4188E215CE7337C04871688 - 7159695A241BFB9D6B489FE9E23B2AD8 - xor-digest = 0BD5739ED28778023E6303FD88DAABC4 - 0FA0A211A1A5C5F230D9E67DDD9EA517 - FEBCDF0BDBC107291B6CF3ACD8B862B8 - 4BF15400493A54036E97FDEBB9A1DB2C - -Set 2, vector#153: - key = 99999999999999999999999999999999 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 236ECC5AB83DB1C5CD1C5A888CFEA2DC - BE99E7E515650511FF7016A0EF287ADE - 5A03839C4F83F05FAC3B0B24D4E3F602 - 3251F8D9CC4530A805F8A6A912EFAB1C - stream[192..255] = 792823ACE2C0DDB266A118068AE295CD - 716E424D3B98A9DB2501A3F5DF7DC70A - 3BD2C6E664D5E13317D6F57B8774C903 - D407D2BB6014E0F971141E89569C5868 - stream[256..319] = 2D6ECCF738FC00ECD5475EDA959A73BB - 304C81FA9DDE0C21592247C4098D9347 - 1DA30294DE8C100E5B17A199F744CAC2 - 4E33490FC7F223FD6B4923056117C6D9 - stream[448..511] = E791A6BE7F7593788E5D627F5CDAAB59 - 349AF2BB1DA2BA622B9824F729929098 - BD19DFC05D0D9454F604960C027752F9 - 7812E53DE6AC6CD2751AB331703646AF - xor-digest = B7C5CE0D2FF66533A1C948C425F33FF2 - DC458E7E517637596FC8FB710E2E5636 - DB1F14848CB12793D54ABD0856B22F3A - ADFA8C33AD08B8CC5292DD76913CB105 - -Set 2, vector#162: - key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 74490D19F13E7C6D1B25C6408E23F229 - 8A8806402755660C4A30CD216A500BB6 - AE975E08EC62D08425A8A62A71B00215 - DE35E5178902348698528CB82296F009 - stream[192..255] = 51A6EC18829928EE94C37A5CD030CC4C - E4F7E1B3E78C3A5DF07592F45B968BEF - F95B8B257DAF2B468284627AF4481FD2 - 67BE0B164DD86721DC8C1607A0607EF0 - stream[256..319] = 75C565D5A5A240B003273F99BEB3E4B3 - 9C056162B626F383F3E77B5C98C0FBE9 - 119A7C335C333E6490126AC2510CDFAA - 86441C72D1DD9ACBCD3FEFC0D0C794C7 - stream[448..511] = 2D90CCF0B43239D725E3B53C31B82754 - 246C065AD23A8D709161FC74B34E23DB - B918EAFA4465125D3780BF0B5803AACA - 037AA0A14D977141B611A6CA2278B634 - xor-digest = FEFDA1A6E95920B93380CC24FAE214C5 - 6B009ADCB176D519CA4B8538EDFC95D1 - 6CA06B730B28A230F0085FE43CBEE2FA - 2EE5DCD74D66F5CBB59F256CC1ED885A - -Set 2, vector#171: - key = ABABABABABABABABABABABABABABABAB - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 22E1A884ED2C67CCB2977105649B6544 - 367858D1A730AA2FA96703FA406B337A - B2159A389BEF48D8A215D870B2968E16 - B11571F12BEC0A07FA7D3B9790987EC7 - stream[192..255] = 4C98DD259D03A40AF38E0ED0F37CBD74 - B27776E9250B8B063E52E169C7B76A15 - 0D699278AA4124427B5EB6AFC4AD5DBF - 600FEAAA98A88DFF297DACA5ACB4878F - stream[256..319] = 5FC732A26406FF0DBC764ACB05C83484 - 976B640E60CCD6ABFB908583ABEC3E75 - 2878371EBB5374C9B37A63E0768AE10B - D857253D940AC408EF49EDD590E806AE - stream[448..511] = F012E429C44D5DC03B88123855B62C0E - 90E06759306017B5773752973850531B - C480316CBBAEDE6353AD5FB298349AA9 - 16AC0221A4CE1E4729BFB9C230AAF9FB - xor-digest = D73B872315F9052C67C4CFC5CD912DBD - 60DA32FD06D9C8E804968E688898200C - 1D979DFFCE52E1C3B3309B58D12BDBB3 - D3EBA2954D1587D720E004E12EB4A13B - -Set 2, vector#180: - key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BEF4DD0101F80A8F880BE0613B2AAF88 - D2EF924014F7445ED922E9C021571909 - D7E6BFCAEE0724F2A9C522C4BDE4BBE9 - FE53FE592C0FEB80D2C7A51FB8BE9EF3 - stream[192..255] = 6B1966D3EE460999FF09001B0ADEC484 - 0D22CDDFF39EB0E3D5FDF74C6E7B3394 - A0A4271D780DE6DEE9AC58B4903EEDD2 - 6DD14E14A4DFE506748D5DCA6DDF4C5A - stream[256..319] = E79D99119996FBB5163335E2F79F0502 - 7AEA5372136E7B3C5BE1F4A673A2DC74 - 60834B81BE6C4976C4A727C8E6046A64 - 4CAF42EEA6A068B7E532581E9037BE9F - stream[448..511] = 5C4F52E0E94884C829DA1FE88EF34614 - 9F3EE55A136EFA3B417DB63D2487DF82 - 794E161B3153DDB2E1E4F385E1A848C7 - 729FF5CB1CB58D5E73FAB1F2DCEEE5AD - xor-digest = 2F3C231B0228C274255F3BD314ECC7F3 - 1B9C49177009AFF2CD88F807092D77E3 - C74C1B9B8650F581EC7603F4D6E70955 - 1B00C3192414C04AB0AD8B0B9BCFE988 - -Set 2, vector#189: - key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 05AF4F98E9D526CD7912F3E8CAF45410 - DED6D4E331633C5621B94E7EBD15E856 - 04AB202A553EFED55A548C7AFFCD2550 - 60315FD50A305D8BCAC9C077229D34AC - stream[192..255] = 786D24EF3FBFF6883A4ECC4F40E445AF - 3CFD130D5B6A9CE37BEBA429AD137A82 - 44D0586FEB16D086F533D1885A82F73C - F2AD2C645591F80ED09942F0A08D898C - stream[256..319] = C214B6AC700164FA66DE346A27A99463 - C5B6C0E43A9057384BE168E163058FCB - 6E7DEC871C6531EFC8B8D581EF92757E - 219294D39E0C9C8276440BE56C3D9941 - stream[448..511] = 22CF14F5BD70E719AFE76C53E5D611AE - 4C8D2171695C9CF97E2936A8BB320670 - 015825547A508EB43D96F2EE1EE2CB34 - 4E120F001500F8ACC3E19E30455D09D0 - xor-digest = FE5928C74EA21F23E29171E5AAACA20C - DD8571E907763C96B99A8C11F9A1D2F5 - 78F68A6C440996995F7AB6E69B3CCE33 - CF8CE0C16F54355696D47DBF82EA8D56 - -Set 2, vector#198: - key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 75559677D7C762F6CFED942D800F2FAB - AB5F3892DC2C79922E96FD34FE511C11 - 251C8EB7C639E531CE08A8C99F62E7BC - F68FBAFF99D62348FF91CCFEC2710055 - stream[192..255] = 149806A4D862EEA81F0208D927339E5E - C98E9C2A6E0DB85CC0380DED7EC5B8AC - 4ADAE76AEB9C7B7264C3834316209615 - 25221D58C0174577110596FF89C8FC69 - stream[256..319] = 137E527A0ACB8B96A9FA07890B60B78B - 3CDD19BF89B31FF75A814F470BF97E0E - 1293B750B769F5BDD750DE5025D7534C - AD541A1F26C6AE9AC2FD3237C156AEBB - stream[448..511] = 0958243E88921B81F04AE63658E52D76 - CF2638495B3A6B970633A7C8F67B8CF9 - AC378082F72FC63BEA02881CC5B28D9D - C8C261C78B2872B5EBFC82336D6E1A28 - xor-digest = 0084D7BED4953402FE8F7FF71A28CEC7 - 0028A08A00EF935C06A8B3632DAD5914 - 84E44E372A753F8E630741266C0F4218 - 4923608103042C70ED4ECC5112B9AF6B - -Set 2, vector#207: - key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0C46BF67A3DBA5DCCF8E4A7A65B6FE28 - 98C701CBF5E88F1F3DCB6B873E5CAEEF - 23024ADA678E1A2CA9E25AA8B476CF4F - 9FCBC297FF03A9B94A5A736274EA776C - stream[192..255] = 73B9891D1770289A67D6338909FB6282 - 9A425B7947FC30DC52B11E398E85B1EB - 537E1C02898FEBFC15A9172C254CA55A - AA1B56EA856F47E37E2F252D92D94ED8 - stream[256..319] = 6522D372F90F2DAC155D48F165B6DFA4 - 38B63B9F436FE00CC075C585297B8F90 - E6062358D29641FF9C28EED4A23FC53A - 6B5C60C2AF1E8146DB27CCF5F43BA838 - stream[448..511] = 642541A9733946827D79BBD815C03C17 - 6357BD6E81E9A61FFFD4A0BF6863AC71 - 72AEFB92C1F235641BBE1457B724A6AA - AF9FAC687552A778B034C4A4F8E41ADE - xor-digest = 9DDBC1E7D31379D027B4F3DFD72C3668 - BD0BC5A97655978E79056B3D25DF3E79 - 5D5D8BE5D1AAE877F2E7D03225CB6609 - 6EFE11CBCB728039A243E326437CE73B - -Set 2, vector#216: - key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DBD4E866F4E24E7F66816CAF625BD07F - 1F7BDFBB81428FFEE9FBE14DF5F5F3D8 - A044EF53A868D989E16165A0F2B95E8D - 83439BB4805A125AD0CA7994AE11B852 - stream[192..255] = 7CACC4E7B9B1957ABB22ECB9D9D67184 - EE7A7F4B822A1C955A69E238022AA313 - 276C2003E27AEF1B4F94B33A6428685B - F048B357EAB297B7DD98E612F054A317 - stream[256..319] = 286B484FA80A45EE4D5300DFBE173E8C - 978B976BE1B6CB0D15C0324D6B70D265 - 385B615B3EA97A55D94C47F53FF40861 - 4460857AC9568556AE54A52546B41B5A - stream[448..511] = B3AD999394343F6F0BDDD0B1FAE2E3A6 - 5BE2BF56D2B78A401D5761E2F3AF8B18 - A2B1089864999D9B99E5BF6959F8F802 - 975FBF204D6159CF23F3706CAF0D9BA5 - xor-digest = 0957D6887501D4360C430614B67D99B5 - 32849E2F5C69CE8A9F3F707A2B5438BD - 0C1237B5617FB525CC9C043A10DBB265 - 3C3F0A353E89A19838B8F68542E09526 - -Set 2, vector#225: - key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = A6DF8DEE1EF7D1AF773AA3E9651B645A - 50CF101BF065F69F3E78BEF5D689B1D1 - D306FF41EB3E78BEB75C4200937CFE60 - E89E370680C519B2F64E23516ADF8062 - stream[192..255] = AA30580A210B87727BE17EC52AAAD037 - 3E0DD11FBFC89B37825CA4D6F9E8D433 - E3EA54C37D678B58CE834AFA310F6D4D - 06B4603F12DBF38595AC76511D0B13CF - stream[256..319] = 5F3E1A55116CB67BC91C8E37182EEEEC - 8FC9B09DAA6F418D3434BFBBFF6BFFFB - F93F8A963F2F51CC487BE868F010EC0B - EE17A480542A301E33B36F59BEE13D91 - stream[448..511] = 672048756C221C12DA6178BE711B3371 - 525A92BC9A219CABC5501B0DA4CC248B - 8742E8BCBD6F5A1CFE522F3DF3BED6B6 - 5D60D1AC737ADC582C2CB9751521828B - xor-digest = E7CA739E4DE0E74274E491CAA9BF5CAB - 3F418EBEB69509D69B2594E964759D15 - 104F674CD44681AFECC3B4939CA0A0C9 - DD7AA5726653ED3FBFC833DDB0C87B42 - -Set 2, vector#234: - key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 2479A8F2872A813D16D15F060D300237 - 25297B812F6F3B97D74D9716E4403A5A - 684D2BFD1E15275470FEDADF1578277E - 44C6C06B8A5FCE3D0CCC5E13BF49947C - stream[192..255] = DB2F9B25F9523FF5C2CCCB808EFE07F3 - 132D4B0065A563288F848E05EB45E48B - D15C069C02F90B4FC10AEBF1AF4BF90E - 2CF7F48C8CD7A8091014131EBC21FBE8 - stream[256..319] = 84FAF79797E25BF2CFD54E58F5C7AC1C - EC170B064429EB832924CDA9C47B5174 - 9BFEF80D96FAE36DDA65659FEA1CC06B - 4EA3A1601A3304AA4DDBEB62381FD4DB - stream[448..511] = 2C8FC8D23E7DBBC37BB0811D1BC71145 - BFBCDBAE19F5281CD0E6AA37419778DA - 64DDF68726DD7F4D78BBBFF4576C2AAD - 93F477A2AB2C3CA8A381F30BB944C7B0 - xor-digest = A6D5F0DDFC0A43491D6D0A17C095C070 - 9EC7E9B89DB8EEA11045ACC5FF003DC9 - CD3318BB6F9675EEF20E15490F525066 - AF8380C663B60EDBAE30663C94C39892 - -Set 2, vector#243: - key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CC3701E703946194401D1BA23AD99B5D - F3F856138E142D4B9C23DC9F252A277B - D62DAA33A71A0C61079AD5A20562291A - B6EC92C66D7BE6A17E27D4DDB48EFD31 - stream[192..255] = D00665FC0A4ACC78758EF25B0B0D6903 - D565423614409AD11E821B83F5B35D83 - F26F3EF9EC1766FEA9C21C09E0AE248F - 4BA01E48BCE09D06471593B3466703DD - stream[256..319] = E8B4EEE2C8BBEDBA758C1C2D0889FDDF - 96CDC215EF1A62FAA29A5608C852FFA1 - 18B473C5A7319446F3ED2E8AB39A533D - 714325D1B14E838C9EC6E037DB0DD93C - stream[448..511] = 4FF3B43841B17A279002EFB07324625B - 7E937D480DC73F12836195110ECB4DB5 - CD31CA4F92F612A95E82815328DA7D5E - 4DCC5BB6791603EDA64C57B5A5AAA04C - xor-digest = 9202B874C48D4B1A9E857E645EE8F884 - D971CE97923AC024ABEFB944E34550CE - 31712BB832F9174F86FCD369E75CA9AD - 85095F43A4B7F33AB641BD6912D2C59C - -Set 2, vector#252: - key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F374DA745A5CF93A567027609E5D3B1D - 5C3C8A4D15203705D978AD42279F6548 - 51FF713F5120CC93D044EF717F5A75E4 - 98DBEF559E5F157A8C819E213E93B3F4 - stream[192..255] = B270F638AAB88DFF69D724F79B70CEC9 - 175AEAA99D55485954B265B5CAB86509 - C810E664766A8E6C90D4BEE3A58B1815 - 9076959FFFA2F30EEB12343E9E7778C5 - stream[256..319] = B2CC84A1127B5333B30EC81CC14307FC - 418DA96336991A27DADA74FDA987B867 - B125C53C0E4E2889FDFEFBFB48797A22 - 2836B2EA42793CE2BFFD568F6234B368 - stream[448..511] = B70F4A10A1B75D499E8189C8B92AFB36 - 4CD2D730DC8D7E183EC55A777C2445EB - BA7E9CD95C8F3A206B73C422AC2E2C08 - 15A8C6FED156FFF93B63DE512EF69725 - xor-digest = 467EDA43B849054EE747A532ED0D9AA4 - 6EA1BF2B6AF19F481D6E3D55EBAA96FC - 6629FE65B5EC4B5EB6A155A6D60FEA32 - F04F8230E26390F1C8FA53D47B68FEAE - -Test vectors -- set 3 -===================== - -Set 3, vector# 0: - key = 000102030405060708090A0B0C0D0E0F - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0315CE93BE05F88212B413335CA65F33 - 6387BA612421C7BE8276299CC178EC31 - 2143C503A9F2644685882201137BBBD7 - 3A2385F0AD14B690281B54B8DC064150 - stream[192..255] = 8B663563AE31DCE7AC61BF4943466774 - E9EE784644AA761B9D8AA9B8E04D4C91 - 75650DDF130454DD60724864DF2FB6B4 - 31F947F8FCA83F6D3B113BC413D3CC10 - stream[256..319] = 35EE3D4294E5660A99A1A1C9254D27A4 - B42FEA8CBD5C5BD8B902E1B1BFEF17D6 - ADC9B6B924C7C53D44A5C58210989BE8 - 72E532300EA9115CD2AAC8024779B3FC - stream[448..511] = 402F841F64827A197FC56EE9C180F5D1 - 075107622178407B063F70C6C860C6EA - E3016D56F7CDC13A109283F5F4FC9420 - 6C62BC3D1012EA03EE08EBE8C2DC074A - xor-digest = 6815E00D7D3414FCB103EA82B38FD4F4 - 68A453E84A520B7119E9D3A4C938BF0B - AC26F7F73EDA7F3E2F20FBA551C15205 - EBBF2F6BFE6DBAF95061F0AB3988DD57 - -Set 3, vector# 9: - key = 090A0B0C0D0E0F101112131415161718 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E695E5417AEC9FBFC0EB0909435E79C6 - 76AB8E2F28C556CC2C81CFC5F7A2A6F1 - 254EC0CD2CFAFC257907723557C1DF5A - D81D1E3D201410A12A5FA3A6160F266F - stream[192..255] = E3D590D9AF3869FFCBE2A4B8C77A09F6 - 211193F83B8A43714CCFC02D014376C5 - A44FF7C061471AE208F04DCAA89792FF - AE7096EAC47898C1011095DE9B55682F - stream[256..319] = 0F31D78C0B86D246FE105AA6D9B93CE0 - 257E75CC0D2A0BE96B9156555D8A407E - 01F47AFF719CC894EE111C32672B0404 - B5F26C1DB1D7D0F9E470900AE53B192E - stream[448..511] = 1A01733BB8EACDF2B2F4322FB54FB6CB - C92989248FF31BBAAA8304ECC4AF9A39 - CAB21BB66E0A144D8B77C537BD52DDD8 - C5B0909CC6423D4F243E5AFE6E22D07D - xor-digest = F8C3BF6905A19184D14039E4B7FCFACF - 2EFA004B35B55DD04F56199C6C9DE1B4 - 458C5EFAC45C6062BA1EB726426987ED - 88FA899849CF5F6CEF60119F6A68AF9B - -Set 3, vector# 18: - key = 12131415161718191A1B1C1D1E1F2021 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3C189DEDA71E56926CA2C3A2974C4FAA - B7EA3C1250E768CEA797ABD6477B59F0 - E5494635CB4700A95BBD54B0E93D12A6 - 423DF8F34BC6B3BE705ED6704BA33894 - stream[192..255] = F21E411ACF063846BF68F61F7673710D - CFBF8088E2A815F406E17C4BF4E839AA - D2EB9D137B0F7889E68F4B5C8160199A - 7C9C697EA6A1794E954ACB535A72B255 - stream[256..319] = BD7E1C4A54C911E84067AB00F8427810 - BDBF4029E78D424E65F477BEB457900D - 0EA49B639863BAEB1427A161B8C629D3 - 55097F5DFFB24BB97329A73B144DB7CA - stream[448..511] = A4D9A80D0055F2D8C55D2A49B39DCA69 - 9A5652C43258152B42BECDE07F21F8D0 - EAAC565DCDE549CA4A9A27D82F5AF4BB - 1EEB1B0A53A58E50C3E83CBCDCB980F5 - xor-digest = FF451365606D0117E15FC2721F40C9CC - 0FBF6442A771F8FC3B06186C35C6CA13 - B30F65FC84B9A38A6FBA2B6F16541B0A - 0D77BDB4F696894B2B73CCCB8D6FA3B7 - -Set 3, vector# 27: - key = 1B1C1D1E1F202122232425262728292A - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BE4A26D09D47D25416355FB7FF60AA06 - 3B3CDE5374780F2C66514A0CAA07406A - 88490A2E3D6294A799C9BAAAA1B10ACB - 88FF4F6F70EF1F4F67D591040244FEE8 - stream[192..255] = 54F1AB7235B6440D6A7FC7851E3FFDA8 - 6CAF44E3F57E1E9406908064FDDA3A3A - 3C7AA1CB6ECAAF376C5F290EA02844EA - 779A225131F24D2E7D34AD0342399FED - stream[256..319] = 81AC4F45FC40CE7E1FF890F5EFF2B583 - 36F71D1911C7E0227AD8E4DFF7369B41 - A8C266B3468A78773C4C40A3EEA6B724 - 97662462F48835FAC7B6C77CEFD39A65 - stream[448..511] = CACFA9A51224F533C600BEFF1EC03C7C - 7C22EDF93E8596128F8709F0CED4E291 - 997229AC5542FD2CC9B1167C3D2BB57D - 9B08B82C0FC41D93B7CE2211C5E2D534 - xor-digest = 0D949205B6024DAC1D215F2AEA7CB484 - 3FAA9A1719398AB8828A28BD2568369A - C78A224AAD95BAE6A6333C4C13D630B9 - 42AA52099F6EFD6871B1E45C8DC68AC7 - -Set 3, vector# 36: - key = 2425262728292A2B2C2D2E2F30313233 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 65906EA9CC0080D2044671D22C7DE242 - F764184ABE8DADBCD550225BFD541D6A - 762C7A5268EA0ECE51D18269E71A4CCC - 054AF634616204C81AE7E515719775DF - stream[192..255] = 9ED75834EBBD9576E11DCE8C583ECEDD - 2B8780FE98B44E9F08BBE96922C77BEF - 08DCE0DFD7C77C42236885BE6EDC8343 - 24EAED350AA5A513009272818CBC4BE5 - stream[256..319] = EB1D998260B3AF4472DE59E1C9DD359A - B346B32DCE36C92C9B7BD808BAB76AB1 - EDCA2827557501BE0FE28F6498B33B9A - F4EA48786F3158E8047A32A03AE1CD90 - stream[448..511] = D06B1B9B8110FB9809F5887A35CB24BB - 80EDE203AE648AF9FA348B18D8A15B8E - E98E8AB98A7AC5BF71FDEAA1A6E978F6 - 7D5734AA7FA88E8DA44C861E2F54E585 - xor-digest = E77DF8C1D5F46F8896DD00187C840B0A - E4404581DD053C6F39323815729DCE90 - 0D85C2D8C97D0A3B57CF622F81077B80 - 92988EFFA36CA176F7393D1E38AAB206 - -Set 3, vector# 45: - key = 2D2E2F303132333435363738393A3B3C - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3FBFE9A391DE0CE5AAEBF9DA3A15EB99 - D6CBAD0341CB78042C89F5D5B0B555C8 - A400DC47FD19F40493B348CB51430B44 - D05AFCA9D399709EFAB8ED2587F72E85 - stream[192..255] = 68969047EE54910C44F8B5718E993234 - D814C27C0B59EE09F0D35B58352AA6C6 - 594F605C25C16CDDC29A354A1C6F5948 - AE497C093E2D41C211E4C1417DFAAFC4 - stream[256..319] = 0DD68E08A25ACA4448DF4B562EEBB855 - 14E41F1F560C479542FE62C2DCBCF03C - 30AF180FB71E65A9A09C551551A33942 - 53558C2440084E6B4CB664A4EAFCAB66 - stream[448..511] = D93B80D67B6484030103CDD72536E695 - E7BAF8B1115109D5D5517BD1E06F4236 - A3551688F5C0D78B2CB080AC072B4C48 - 94A2AF54AD9D816E2068AC569BCD2AE2 - xor-digest = 7C071BF395B48A023A7B708A9651EC8F - 0C9A00DE8BD9D0764C7F1F394AA2B747 - 3EF87BF792D5B89AE0548EB9C1344DAB - DF2E4EC6064D50EE1622160D6DD7ADFE - -Set 3, vector# 54: - key = 363738393A3B3C3D3E3F404142434445 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 64468807E7EFE78E11B0231D8D7AE80D - BFF3FAE444A60496C8F2DA202941686B - 95C48457C1F9DE1AD2FE581336AE36AB - CA574BCB9619CDDB96E4499409516635 - stream[192..255] = A7DBFEAD9B969D334705B6C53A0CDBC2 - 21E0BB92854B0B107CC39F8C6E4761C3 - EACC8D8C5741AA4243C5BE1A79971A0A - 5A23F2BEDE9F3628CB9099B8C7EA9324 - stream[256..319] = 1A44FB18740973F3124EA805C90C4B27 - 4EE788D43F4B894B01F63C13410EC204 - 2607241E87555B0E1A6FF33AF0DB010B - 8ADF607E6353FCF74F568E0BAF0F4455 - stream[448..511] = 11568B95495E520EB6BE106986A07C57 - 8FDF21463607619E5AAF117D84611E75 - F8979F59E60B43C0A37BC24429892742 - 0D206274DA45EBBA7660422DA45294CD - xor-digest = A70B9BFC683AF2716E17980A49C4F747 - AC25992BA7BCA5E5C2AE162497E4E8BB - 62C837F64EEBE4A55B5705F115CBA057 - C560B1AF0A733B5631E23442601A741F - -Set 3, vector# 63: - key = 3F404142434445464748494A4B4C4D4E - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 35865AF843244DD2F95CDF7C9BD54471 - 9C8432538842C28F93AA21F6E10F8B18 - 31C2AA7EC010A66E539CF65BE55120BF - 090233750995003C7AE414DA6D55F86C - stream[192..255] = 190F215FD14E44CD141E47A2322D324A - A63A7B512A77C20A02D3BFC1EF8273C8 - F65226CBD1BF32A104D1AFEFD6719E4B - DD6355B044EC8D0CE95023C61007E6BB - stream[256..319] = BD02130F7CFDBDBC2171BBDEAB501136 - B2364F5879E6E9CCA7E75AD81105D9E4 - 87E9175B62AFCAD79B23D392B2E9C418 - 437527118797602E629A70CC869AB7EC - stream[448..511] = 1F0DF396B5CA6EC9767B0674B2C7A9C9 - 133CF872DA39DE78F56D41C7F2FF6B50 - 716717E995D42C51D6A2ED66FA6CC7DA - 92E9B3B4D1F130E699C430CFC96969BB - xor-digest = 70291060FEA7D40B5C3FF731FAF7630F - D9BBED1A7FC25A05E6B3F632E6FD6B91 - 1F1010E1BEC69F16D44C5183E38BE8DA - 8949A4D8AA85F5149C203F8C92887875 - -Set 3, vector# 72: - key = 48494A4B4C4D4E4F5051525354555657 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BFFC0703408DF6EB169656D09A5400DD - 9C4BAF06A3BC7220E45814104B6D9000 - 9585BF9B0CD988E94B8C5026D07AD7F5 - 7D81364775D54D808A5C18453B62A2A1 - stream[192..255] = 5FC95B73A4C91DB20B93319E420B4C5B - A9DE1873C81C835CB455970A90921594 - F9635EF4F411C9ACB4298F75B2CC84F9 - 7F52182F7F001A1EDF72A68FA1ADE313 - stream[256..319] = FB24E97B0CCFE15644BAAFF342C55FDF - 64434708407AA6D73576E842D5ADF4A2 - 6B32D329A2DC9F1451C4BF3E9599E9E6 - 4E5E65F73E09E4F1254BA0DDD8E6C52C - stream[448..511] = E2EB303CD0A67C99CDCEE86BEA581FF7 - 093C9228900B563C6D10B20BF99D3911 - D47C805D1447C8F233D3FDD27CF0DA42 - D42E0389E2CCE99A274AD9D20B9C6102 - xor-digest = F83FB58CAEC8B13BC25C152FCF24E10E - 392A197FDA05A6A20E14093EA0B34C5D - FAE102266465324F5AC07FFCECC8E618 - D0BB60761A26D5FD59D188097A2348F3 - -Set 3, vector# 81: - key = 5152535455565758595A5B5C5D5E5F60 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 84076D83A841C8C6ADDE3B5D9FDD6529 - 4D0F92B549112F0A6DE05236F732E81B - 3C8E92229C411D2295129ECD18DD08DD - C98BA78D9BAFF6271D95E1F361EF699A - stream[192..255] = 7063A52FB2729433D8A7BF30F27E6EF6 - F17C2A422E60A737270787985508D062 - 4E678A597845CA9EF939F4B8966BD99F - B8633FEA673CE7BFD2ACFB5942D7EDD9 - stream[256..319] = 4FCE866E8C2359C53F0429F569D02DAE - E99A4062246B633D4C502DC897AD8025 - 38C95D49D3B1FA94F4E92441357B622A - 6264F50D5554BBE42191AB3D6073A8AF - stream[448..511] = 2F7C38BD00309FC81D28D84EE4355216 - D97A823CC46FAB9DCAF621E4128F9CB8 - 838BF02E0EF940EFE96860CC0B996044 - 42CACFD3306335241C1B4B65E790233E - xor-digest = 44038A33AF0013BB34CBCFB77F7E060B - 96F5134DFCDBF04EB8F7F29B15C3FDA0 - F766DC940FF548C23712625793851A94 - 294CC7201E1EDC6056C12A46524C6FD0 - -Set 3, vector# 90: - key = 5A5B5C5D5E5F60616263646566676869 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E811CA3DD1DD0057AD3A1794D3F9CCB6 - 362049B1692D6ACFE1A6A0FCC99C7A04 - 3AB9932A146B4040AC9F8E2F0A227C7E - C60B1F35D60EA14483BAE1F8D1AC7FE1 - stream[192..255] = 865B05E224133AFC45043F05F8082FEA - 487BF63BCFB96DA3EE26960061446669 - B1C92C6BC5905BD1EB57D579CB62A220 - 2F35CEB603658237AF1908132A25971C - stream[256..319] = A84BE383FC852F1BF44130EAD15B3548 - 56737C7EA68A0700A22D357FBA70E031 - BDC0FE8EC36C41790A8B7706A00CA338 - 603E054A83881599D718B1911D1CE9D4 - stream[448..511] = 9286C3479F9A17B51D8749257F59E892 - CE7C3EB8638B29C17D779811F01EA405 - 257062A5F28BCDA1862FE653C7607350 - 9A87D12EDC5CAAFF9E8F9F76DA0BEDE2 - xor-digest = D629CA4708BEF7EED04BB5531DDF9C64 - BA4981C9A705D59C4B2391E94B79CFCD - 058406845D81E7EBC097330C01FCBCF8 - D78940893B4FA38554A32D861AE96D04 - -Set 3, vector# 99: - key = 636465666768696A6B6C6D6E6F707172 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B89516368AFEEEC12434F76AD1E1ECA8 - FF6FEF7B46D05EDD6041C7B8C1E3A33D - 2818E38113592B615E980304D93435DF - BDD5676225173331C3667F30AA2A3D2C - stream[192..255] = 249528FA392B19B6811711F523D27578 - F1BDE75CA167DDEC08303906B64FAC0F - B2912A7A0EDBEDAF9FEDA420DEA330CA - 7302F5780827CB11B15A4DD333FD7099 - stream[256..319] = CECC1B5077BCB9E129B01D8D75089B41 - 64E76DBC9C8CF2E4D2F17A6248522A51 - FCFBFBC992F75D613307F4DD6472B6DF - C8A5B29F1068FC0F1C3F8964B0E09170 - stream[448..511] = 8B26C436E918B099E4D3A7D4D3395E49 - 056A8A29130667A32C6A2B0FD08A482F - 8F7538ED90374846FFD2E1C733AFFDA1 - 12148C9718F3F208344D5FC20128AE2C - xor-digest = EAA0ACA59CF63BC27082BD52D6757FD7 - 620A7AC5AA2FAEC52646978E2057C5FC - F60B36C09D87419C1D1A64133357DB05 - 6B96C854F38C36DD657524FD09729341 - -Set 3, vector#108: - key = 6C6D6E6F707172737475767778797A7B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 741C607A6BD38F93B33244C8B7F05D78 - 46F6A05CEE5A87762480DE123D3BEE63 - 240928FFC75ECD9AD1785B1664DCB59B - A12F3B64C93BD4FC8C67C0934E5B0ABD - stream[192..255] = 3BDB31A701DD7F2E929803C3A47896F0 - 9E5F569A32AA829E505E34BB7232597D - B838F543A34CC288F9518BE16A228D42 - BED0CA3CE0C6E7FF9AEE63625C699B9A - stream[256..319] = 1CB7FE159EC1A57043BD142236DC0A18 - 0CEF37316A6E96354AE319142282F19C - 1550EB645DA8F7BEE2ABAE4EAAC0BA29 - 893E722A6F8E0A9B34368DF56C5845B4 - stream[448..511] = B6DF810D69EAFB7F2360F6ECB50C5861 - 7D32B3F495B3E4424045E88CFA0871A2 - 9314121CC78B98B456ADF53E540346B1 - 214AE2ADB65C552273F1FA498FA74101 - xor-digest = D35A8AE5783348824175BD34F2E16FBB - 975E7695DC6C4FF1ED763D404B0D4D30 - 07AAF01E988BC85DB2FDD017691D3BB9 - 811355C3C7A6156197AF57B794DCE85D - -Set 3, vector#117: - key = 75767778797A7B7C7D7E7F8081828384 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = EA9DA2D5BD4B6E070479ABF8CA2D1B3A - 6B968A025D010944FEB51AB2E507F86B - 111F8A351A3F32CE1FBC4A75AC34F722 - 1B5190F2390073084F8153E00BB98D0E - stream[192..255] = 0AE0DC3D0E2D3F5F93E446BEBECC4F60 - 862D190829A209966E132DD029ED6998 - DEF4F613F3D53D0A36CFBA2CFE345DCF - 013B6CFFEC0116FFC1659A57FB42E0BE - stream[256..319] = 5A7FF46C335912389D8B88437CEFD27B - 76706405F45F87C91390273D9B70CC5D - 89FDFA85E20EC82B98A79BFF5FBF6AB1 - 4F61F2C1289CD7B8357126C8E13271AD - stream[448..511] = 9398E699F5AD8FF31A50C8EFB9DF0D0C - FD612B951A203C1BF85C62AB5AF1C412 - 42BFD0A55F21820C6F917EC90A8FCAB2 - E774A93713A99C7900B80A2BF496D0AF - xor-digest = 05D9732FF20A61E19428873830DA7282 - 819234F22FE7DFD8871C21CF10C08EF0 - 7C0413898DB144861B0CCB62992DF40B - 29A0A4688C91275F0A198AF39899E362 - -Set 3, vector#126: - key = 7E7F808182838485868788898A8B8C8D - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 8C4F8495C7231AAEB704E7AB9E79E748 - 6CB5BC85D3622B8A2E2CB778BBFDACD4 - CEF73CC485D8E08406F5986A28706CD0 - 56D085201DEDB875573B57629B8541C6 - stream[192..255] = CC6374A744E9205CA39BCD678074B844 - 16346A7E54F9B87905BADD2FACE7B9F4 - B0A366AA3F632A7A67AD8AAC4827C9BB - A1E801A8786BC4FAC2ADE6A6AD6A45F4 - stream[256..319] = 4F52AAB001BE94A60761CDE0334F8A84 - C617195B084E441070E343CEC3189CF6 - D6D955F9AD649A3891BDFFACA0A6E6E7 - 7291396670BA07469D267EB80E48353A - stream[448..511] = 673AF85AD5A9A3F26CBABCE9BEBBAE21 - E0B6DCCC3256227FC0EAEDF343CC7E9A - 8896023DF073E88EEEF135BE34CF67A5 - 5FB51D3A1754B15A7C4E2CCCB4C8D51C - xor-digest = 2BD4B8BF9B7E79B0EB53318396B03575 - 0AC918A6A05BBA499D81C9EFD32A0FCA - 34A83FC801CD6475A774091F33AE7689 - B9FE28645F545E9A9531F528085926F1 - -Set 3, vector#135: - key = 8788898A8B8C8D8E8F90919293949596 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BDF2E95B80FDF304C3C4A8081391EDC9 - 7F9553F93C27788F03797EDEBB8F59EC - 2FB2FCCA7727CA1CAEBF5C8DA8719492 - F1369D96B2FEFA23D89400CF7CA667EC - stream[192..255] = 6AB7500D876A4924DE59800345AD69FB - BA1690733713BF372E0108D9FB65B0E4 - 50BB89899AB84198381623094F823FF4 - 8BF9A09F0FCA23684E78654F3D231173 - stream[256..319] = 34ED638D249BB1AB8B16D350309AE32B - 9FB62CAB0EC7AB9D5F3C12C9A6502497 - 6323EBBBC4CF308FFA68A3D4D8D3959E - AFD3BE46E36072FD15A5DC3FCDECA6D1 - stream[448..511] = A8BA33AF6CF545424E607A7FC4CBA593 - CB05B38C836B21D85B6FB1894926A459 - 8D71AB424A5A582A491747FED94125D1 - 08D6C693EC9E4BDE2F418810A921B54F - xor-digest = 84F29F11524741D39779025D792AB735 - 07963EAA0FA8EE220ECD3592E1320567 - BFE76EFC3356860192DDC5F06B94E552 - 43D659D49FB94C30AB69AB5E9C370A5B - -Set 3, vector#144: - key = 909192939495969798999A9B9C9D9E9F - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 1C03A0D6CB75670CD7D978B2E371857E - 27E597B15B905D5F4F4384FEC227073B - 5A56D8C0C4AF767F267DDEFF86AA036C - 41EB6170603AEB3E3C1EF3E176CED812 - stream[192..255] = 6447D1E067550DEC9E8AE89DB02B85B4 - 3DD7E511C8B98438BAA50CFAF7CDBB68 - 757DA1D03A29B9EC6BD633E17BEBC8EB - 2D8D453F583E4D183AF30C9F47C8DD56 - stream[256..319] = B324756101C28D9FC4D1F065F1D000F4 - 1155514EDB30A7FE36C26B18FD93D6D2 - 0470A41B6F8D2E8BE140568BF72223F0 - 981CEB9D100B21C8B751BA6B2816B2D0 - stream[448..511] = 304AADCAE0CE80E91E3558974A944663 - D1E2253977CD7B0D1BFAA138DD81A501 - D7EADD8FC834931A44642BA9873AC1B2 - 47A454EE71F7AD8671BC15E088D01532 - xor-digest = 5980D43A91C09B20B0F3323F1750CB47 - 118550920627B6C512AC5CC53AA6AD25 - 68EE1EFE702FEDE7CADBFA25B32696FA - 12A18CCDE35A1B679F709F28920DF92C - -Set 3, vector#153: - key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C2083A758037E850A6FE642EFDE59AED - F51F3002BEE2E69DBDB538BE2D93EE8B - 27A1CC89672DC14C44DADE531A88A769 - 5DC730A2CDF3096DE7F4BD08A1ABA918 - stream[192..255] = F4D19950E6365AE6BE8011A24B9D803A - D9A8547D452D8B0B8C51676E207DF323 - 808B5A094A2FDEA5DBC86BFCA576E98E - D0E049834CBE0B3AFAD6892B542EC7AF - stream[256..319] = 8F2A026EB2165F39E27DB86607878926 - 4EC8F42A09E8C80B317FD4F1E32AF4C3 - 73B7F5160C635ECABE495B01A3488E27 - 94D226E2D86C4654810C08B2FC42610D - stream[448..511] = A1D17725577B7A4FD3D1A280BA2B5C0C - 386FCFA09E110F00C85ECA05CC142644 - 4D8EB87CCDC2B23D1CDBBFFF822B5555 - 11055B93ADC9168B7353CAE10551AF14 - xor-digest = 7B4E8A6123216818A218FBD50D8540B0 - A0B62DC114F25DD476680F85DEEA9306 - 4CBC4526C7A8832D4BC534684A403FE7 - B80E7F20D967ECE044085B554C158AFA - -Set 3, vector#162: - key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 6FB232154275843C74BB886D09CBE0EC - CCC539DD6DEC1EC6F31578B80DD3BAD8 - 5C992CB1A0B4EA40B3EE0C5174E36A74 - E1CDCAB13830453984E4365A6C599F72 - stream[192..255] = 2682C05E19F6D8FC4DDB15B2F8385B52 - C5A4A70FF5A0063CD696AADBF8505122 - 6F696746D4F8C314543BC3869B1E7F9B - 1C0D004655FB6585723CD1EA7A700A60 - stream[256..319] = D6BA4C5A33B8C2DE342DE48E26AE7B14 - 8E91552D0E05AC9458ED0010E6FF53AE - EDE70E910165B5986876799E60B7E6BF - 3109B9BAF7EE3670497FA7CAFCB14733 - stream[448..511] = 70C4E8AB8E8BA681A2A06F319CBC952E - E3E78DA589369FEEF8A6BC6D976BECFE - E6C7143337758929FCA7E0945892411B - 047C2CC2F2AA284E95733DD94D46B89B - xor-digest = E2D3DD6AC908FF3BAE4791A50F717B63 - FB3F1F380CC738E2B1626FD026C9BEBC - 33957AF4ED6E8B9864EEEAE262FC6168 - 9A34FA14A35BD915B6945F35BC3D5573 - -Set 3, vector#171: - key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = D25BF02A1BB050E0D15246C2EFB3EB89 - 390BB913916D347586DCDF71D6792CC6 - BF72F6F6A9B779BD8833C468684B4480 - 52E153D11A0CE183CB337450C4482F6B - stream[192..255] = 07980A2C57E9094C5334016A782C830E - B59420086EF9D36542A97220A5EEFE42 - 026B39B1F00A78992ECA17FCDDCEEA2F - 88A15F934A1C65EFB770C2FB9712FFF2 - stream[256..319] = 8C0AF45C68CB7CA8CFF1AB18F2F9659D - E49DB5C4E3609B50C06F94FC01C059B5 - 40E302FA8604F030701FE3C833617E0B - 094D0BBF10580F7C1C7047E86FBF93E2 - stream[448..511] = 4D4BEFAB68D63085A05C729F54468567 - 2C2A9452DF6B4B651A29FBC29513E3C9 - 635DFD75EAC87A5B1362E99033304EF5 - DF42420DFD49C1830D66F4F90928F1AE - xor-digest = 9A7DD8AA5D9E9DA4F34AFBDE9D909CE5 - DEBC05D2F930FF08AEEE4096B2E1E453 - 8587B88E535A217E986F31965C5965DE - 3BF4A7F99B3B9D938D2C1AF7DFEFA14A - -Set 3, vector#180: - key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 5FB2BFB5B9CC4F84D7641B4555DA4A7F - C07C0053E7AD2CF2187F7F34ED4068AC - 6D5B43A5FA41437C05C65550786D60F9 - A737F44BE450A1F416C1B1A49890C609 - stream[192..255] = 8EDCA89958225E39CF796EE587877A55 - F9B7A7381241597CA6280F7617A11922 - 9268F95BB326585AB59F08BFCE8B5638 - B3A0D32A761C796060DFEBB5BCE859D5 - stream[256..319] = 09601C099BAC574564E4CC6FD659776E - 4726FB22E0025C37873042866B913C03 - 285EA24E37847F9AF6C838B82FE651D4 - EC5FBD40A256E6C765757B6A3CD08C92 - stream[448..511] = CA5AC4ED4FBEF0D754F033B5267B9FDF - 3CA52B131E118174F70CD4F833A5ABBB - 198DBCDF18BABB0B0CC37ECFC8D93AA1 - 5949FBB21974169B46D545F0ED03C71D - xor-digest = 5DAFDEBC75291BA8F55B4A370756B28F - 554FEADDB7888F2834BA1EF221E917F5 - F631D5BD789701282DCF16FA450D250B - 52C627741369DA654E237B8D7F4A8BA0 - -Set 3, vector#189: - key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E9EAE6C4903004A2AFCD05FE2E3E7F95 - FF8BD2888C4AEBB81CDBBCB7488C54E5 - B50467FA82B0CA7EA923C608074E1B45 - 6452821FC36789C8061E99E8A0C0B579 - stream[192..255] = 1EC898A6958F23C186261F833BB3EF0B - 3C185AE8138311B6AB42098E9C6C7FE1 - 0306DADE1DBF2B1C3215DEBD88AF1CBD - 2D805B8006FA0DCF136E225AE3D91AA3 - stream[256..319] = 55566604D1C85FFE1D29810B6C49F019 - 69ACB59765A3FBA2B0B9880064606E47 - 18BC5F08C32EFC250FEE91FB88077A2E - 0840615CCF627C64FBB500B7B800B9CD - stream[448..511] = 707821EFE4119A32CFD99F7ED7CEC018 - C8EE90493FD9268A83E5482DAF9A646E - 8765D8199A56A12ECA50775099179D70 - B72A3CEC8F0EFF1AFD074F04548874E3 - xor-digest = A51E3C9C948B68A1543FDD1F158DD419 - 195AE7662739446D9FD543681A866A6C - F09756FF4E0C59BDEFFBF98D53F193A1 - 77D7BF19320063B8AEEC8A544D5D72C7 - -Set 3, vector#198: - key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = EAA9729F0222A16C750540C605974B55 - 4FA622F67C71FBA40236A71AC19706F7 - 9E3792F4B444A39C9C1C902FDBD81898 - 096338F6A8EB7C934B9558D48AC53301 - stream[192..255] = 3B5E53787C050061000E3622876AA126 - 00971A76253833C53B9DABA976169395 - 3944B5050AB17E492E185737D67581B8 - B1C766D50C5B0C2B0D8C78A781E77D89 - stream[256..319] = 175C28764FEAF8396B3CD34C829D0D0B - E9CE0D75E79017A96C4E7B158B171BE9 - 4C906FD4BD4946E6DEEC3C78B34C0754 - 9E85AFCD958AF345E0B432F33C86AA76 - stream[448..511] = 37BDD665CD9D5A8A8190AC3EEF981379 - AD5311E15F853A8A89840879165147A2 - 807AFABB6236CEA9319DB32344987889 - 5744A506CA76CE69D9E474840529D667 - xor-digest = 4CAAE8F441F6EF3DB6971E274181F8F0 - 4D7BC603E040833E77921A393EA13F0F - ADFF07AEC94555224F6204874027106A - 6D7DDF0546F300D3E84AC87699ED40D2 - -Set 3, vector#207: - key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 83AC8C40850F4FCA5452871C954AA61F - 31A9BD276D39EEC03EC5977A71FDAC38 - 368D110C57C1A19F2A7461BBFA88E372 - F78103F9FFAC1361AC2D2AD84C6AA3E8 - stream[192..255] = 48E95C2FCFC79C91BACD0C41F626F05E - F80E076E359299EB5272A2F688F96F6B - 3147C5A19A99D562A11E953CB2A90911 - 205A7760B5C8CD959EE6C183A8C1420D - stream[256..319] = 974A4DE50EB45F6144DAFFA6B4A68E39 - 48838434497B8F9700FC42005F3C2FB5 - A79984CC2E770C5400EA21AA4EC05751 - 80A288499879E50462225BE03D677875 - stream[448..511] = 09823B2D55E26C49E42FC0820D7BA081 - 5A7EA9380637A2AE2C0D29253EEDB884 - 9BF4F54D64677F08A1763EFFD904B62D - B3843B0ADE885C00640D16A99E28DCC0 - xor-digest = E73D8783F926558E0C1E1B0D3FD86CFA - 974CD70EBAACC0CEA2D977E9AFCCD384 - 935584D2FFEDEA813E6234112CAA1401 - 71E99BCFE61A7D0E430D4D3F75AA3E28 - -Set 3, vector#216: - key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 5DE3EC7E6D724976985B426D722D93E6 - 1F40F5F17EA14B298AC898CBD69F2BBA - 5705E1D0CEF7B7122362FCC0D5106D54 - 25D51F51E29C938C592D9E862DEE9E33 - stream[192..255] = E079C49AC8F160A9D529F30151AAA7A3 - 1D137E03DF4C23F8734AAC3B20BF8520 - 90E3C2529761EB4D67AEF1CC46399947 - 1240DEE8343D6355B5D7377A7934B019 - stream[256..319] = DF574E03ADD1DCBD0712D2748C93CD72 - D8488396AE3D3275E5A53CAF3EC112E9 - 50A79494F25B9EC111FE9A7A68A5AEA9 - 63A4F87B37F822B79D954436368D8E20 - stream[448..511] = CCEF4C93BCEB2494EB4C70F5E301E980 - C494AF8C117F291DD09E3960D2C5A7F1 - 9928C08F2F51C419E734DE9AADD25C81 - 3579A7F0B8B367A49B97DED5793E4DCB - xor-digest = 868706BC1A5F3D0BDF96E10324EC36FE - 01596216B0B8BBFF69C5BDAF69D0F38E - FE89FFC32D34D142F413A5BEA7AB38ED - 22436C62F86C540101DC0267FAF67904 - -Set 3, vector#225: - key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 45A0736DB4A28A3A6DD181FEF3485F2C - 918C65663597C49F4FB23CA550C77CAF - 7B331B5D183844278E0D959EA024CC21 - CE1A84923E6E782472BA1645BEDFC60D - stream[192..255] = E9EE0DFD717F72FD8899D23E87E77DD9 - F9DA66B4645AAD8D8C3B489B0A637449 - 80020326469B4C6403012B6E315CD35A - 4344934D720467F30B61C8AEE5C3C342 - stream[256..319] = 94A2BA2B744CB83A29004AE21470212F - 67C2FD18F227FC017131D7F4DD0AB412 - 48C59BADAE2E408584DF35C603192E37 - 344C52664DD68B9231661F304F483F41 - stream[448..511] = 6A29174A1099BF8759D2F5F9BA60816A - B290252AEE08339BE0021033DED03C46 - 9C8E28AAFAFDC67A7F2219C8942B004E - 47263842BEBB47EC6B0666ACCC884591 - xor-digest = 7A7411EE5D174907B1138575FCC7479F - AF3437BBF098CCB5D8D25F49E6788374 - CBC9CC5812982CBEAF59111813430BEF - 56D9DEEDB6C935804013759CFAAC40E4 - -Set 3, vector#234: - key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C430C2A9FC44DE1563B1679C1A2DFA98 - 91D01A302C5165EC13B26F6EE4F25437 - 264AE9E18C98BE112BF560C72024827B - 85665C491C47BB396B5AEC66CFCCA371 - stream[192..255] = 60F3A13B9EBF8784CC81C132E004A179 - BEA0606D4C2C830077A50004FB0487E6 - E179D81FD9784DC3783ABF86523FE4A4 - 68930272980E3B46F865E4729DD34773 - stream[256..319] = 44BC861136F6856B1C74C1CC13753B82 - A75E34EB40C518400B507D99B42E488C - 8A1F2F590E029EF48DAF2674FDB053AE - 5C0967923102EB964602256F70A9CC9D - stream[448..511] = 0EE3ADBC4CCC63A8B67C7812CD294183 - A2E9D4EF0D65F854FE66CF9D76A34F91 - 867B27336F8EEC2E2CD30CCB98AD5769 - 77B07C73C833B51753BB9B0DF08C4834 - xor-digest = 7F848C96AE9310B5282712493AD7E13E - 2B4581545E625A4DCD98576C75835058 - 6C621244B6CD439F8E62625ECD9460D3 - A18BC2F5DCD9FA7E8CF7880CCFD1A44C - -Set 3, vector#243: - key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B9B3501C75EE296AE858573B63C4888F - 72B18683CBCD6B95602D51E4388D6DD3 - 7129169A5209202E2C6EDEB5026B6511 - 55E4747DD706DDF248A8705D50D38A29 - stream[192..255] = 12F90D1028010D8296DD0D6ECC4F2354 - 89856C315555279BD0A4E3161178AAAE - BD849EC0A90903CCFE9DC7CC821C1CAA - D63A45A1D0C0247F1FB1423877FE9A32 - stream[256..319] = 9F0608162C6315D206B5EFB0E40291AD - E882445B9F34154F6E21B9FA23356DD4 - 79DFFB16482F6A4F28A8A0629E8B1D78 - EAA473CB126FB3727B826B4B3D6175E6 - stream[448..511] = F26FAB00C37C03AE33209E19F865B135 - 115A5E254A6B5C1A4896987EAC35C2F4 - 327822E165AC6BF99F535055ED74833B - C1FFEB32588D8995CEF0708E2D3CF832 - xor-digest = 87243F1D4D08D7EE39213D1A4B9E2458 - 368339A11E364345B4367F84154B36DA - 03A3728A7EBD4237897F9D1A19CCFE92 - B9D67D3A4A755E6EA8382041D4827A17 - -Set 3, vector#252: - key = FCFDFEFF000102030405060708090A0B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 05A90DAF1A6B6B60CD3B999A11FEEE39 - 6D38983ECDA326EC9229D2A1EC722B0C - 3C0539DDBF6A4CF62B9BAFEA6C60A29D - 4AB63BBBC88987E9A74AE2F71B1E8DE2 - stream[192..255] = 0AE6673D9F99C5EC9A4532B2B9786CB9 - E948A206CB992335FE868BB2271DCA5F - 9AB75995A7E7D46F8EA6693765C93D90 - 9D41C24EF4856252986DDFCBE65D2D11 - stream[256..319] = D8B07A866003059BAEE90378AD5EFFD5 - 2732755E79402B50BA0F26A038B3D9C8 - 1481C19080CB39FE840F8E7313D0C034 - 9FEA4AA4801225630AAED3E522D6F920 - stream[448..511] = DED21140E5A3C0C4615D7153DF9381F7 - 269616817A273BFD984AA5E7CD9D9CA1 - 9C28E51F4C03C262F5BB4175C799236F - DA69AB27590857C0F270CE4BBFE02D5E - xor-digest = 2D47DA3161389F5F54FAB37F391C21CD - 63A748112A1AB415670524B6CB93DA0B - 6B54C541ED59F3A54DE238C3FADB3236 - 3871F6DB1A507B33C1B8F280B0C04B1A - -Test vectors -- set 4 -===================== - -Set 4, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 114265E078311C062B518148B4530F73 - DC9B95DCC41C214F8C9486473DC46847 - 71819020010586A750426A0E633BC787 - 6E228E2353AC0A68533C85A742387800 - stream[65472..65535] = 196F53D41603BF286D1D11F012E564E9 - 3C7FEEEC9539A015D49475DD8CC73C84 - 2F85521B4DD9789A813A59D444AEC702 - 164F669C59B43B5115202D08662D4EC2 - stream[65536..65599] = 8A7B672621B0B77E8BA8EB9A71DB4558 - A78364244F182519F89D25D3012CF8C4 - E429DD543C8DC56C6DB8FA5E351BF615 - 106B51F9FD00F54018A94DAA91D76715 - stream[131008..131071] = 33EC15BB2C553646CAED9ABD83F37ADF - AD3B3313A074B69FEAD405BAF897C3A3 - E12BFB2F4CC3136ACFDA284DA1E780DA - B3E4D34C053302989FE6A79A1EB0F5D2 - xor-digest = D899BF7CD2972EBB7333D4E57DC809A1 - B717373577B15544443915B36ED162E1 - 25452584F3E0C2B62164092219FBA924 - 31C1FF2A14C8E2E437427DACF80A200E - -Set 4, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 8EA023E23D94434EAA064A4BE52866DB - 57EFB7B200DAFF5AF2AA72D3E55EE5F4 - 5060FA89024F259CD2490C628452B1F0 - 91020DE10263BA86838B2E388F5AD040 - stream[65472..65535] = 5BE1EAE0077FCE5C2C21120EFD560A96 - 27C3DA9462BE42580065C9E51B7D36C1 - D9D717DADF4A3122A08303A8E27721E2 - 1DADC91138A2461713998AEE26F811D5 - stream[65536..65599] = 482694A9797978003DFDA5183F00FF97 - 9F38894BC92DC88418FF68156117A2B4 - EF10D76923A734ABCAD1A5B4224BBD08 - 836E3765321045C3BF6A352371F82CAE - stream[131008..131071] = 614BC8A38C5F9E8507595E8F5A03484E - C9DEC6CF52DECFAB008327527B822365 - A2038FF09411D7B952417C8C7375289A - 244D50703B73577EC272827A21BB917F - xor-digest = CA9E6EC13B679609EA778447EEA1157C - B366A08AC5A96A73D0B5E182DF24EBD9 - FC297219A0AF67591BFD68B1721B5970 - 8EBEB3655791107FD2A0F2F2E341FCC4 - -Set 4, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 5BD3D0625CEAA75ECFC9828179F7B73B - 288A208D60A2297F2C328DB0789BC869 - 4E50F50E8797F8C7A49E24F72A3AC359 - 796E6188C71A9B3DB88DAEB1BB2C77D3 - stream[65472..65535] = 726C7D7AD756CF567E0E8F812A282675 - 7E75D593C7FCBB45F842020AD59F2B53 - 888354CEF541411B92C3AF6D57ADE7E9 - 273805927DEEBE552B32D10754C9D2E5 - stream[65536..65599] = 5703464C0AED290E65815D8D04098B0E - 22D2FA825ACD4391B56CA64CB8201BE5 - 7B4FB9ED6BB7608BD820436146339559 - E7464BC13A8AE3167AFCDA58E3C017AE - stream[131008..131071] = FFC5787A10E340B07D08160D2C4F653E - 407857845A0D68D1EED8EAC0116CC376 - E33AF8A1120D8DCAD6C86B757AC50393 - 46AADEFF012BD0DAA294DD240D87A98C - xor-digest = B3BAA21AA82617D3BB9C2612E177CB71 - 51A51790D97FE33C3F33C01B32091758 - 5766643C125293E1F75D6BA3C46AB381 - 75A2A4934D4C115A6A1547932B077A58 - -Set 4, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = AC5DEC8B95C89F4794B7289C69FABE29 - F4AA64476D057873D87BD524666F62F6 - B71B5131BFB897AE64F2D500437E1798 - A742E7B7D06B8089F3DB2453D008C554 - stream[65472..65535] = A2F58800E24BA8B754C64BAD9252BEC3 - ED1273598EEF4C6FE42FE2CADB81F220 - 26A90BC88B43F2F1FD2E054E8EEECF57 - A114D087D5228CB276FD5F4FA3ECF4FB - stream[65536..65599] = 5C67BC8E188170A57DB85ACD2F7121A3 - 7D83F1A708ADC54C14064A9559FE7E1E - 3F9E60B9670EA4394521B11D8283EE42 - 12874323628EAEF0B90FC4653106D68F - stream[131008..131071] = 8AA6F8A20F7D4A0B7EBAF6A7336B6D76 - 731E65DCCD179BD53F6B879E70B8776C - 6A8EA30BFF09BA3026B3827EDB9F9C2C - 0F96655D8B84EF725D0603F8CCE3C2F6 - xor-digest = 458DB66B656320F5F7E4FEB12E748C0A - 59F0CD8A7ACAECC25479C309628EC0B5 - 3B441B831B484FD3180C52F63EDA1858 - 7C232B195356996DC29DE6DF54E5BB37 - -Test vectors -- set 5 -===================== - -Set 5, vector# 0: - key = 00000000000000000000000000000000 - IV = 80000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 635990D909A80CE2A75E521ABF588B6E - 85320D2C722D1C93B42AFBE6358D6E2B - F2BE933BC961FB50F9A2B55389A08CD7 - A0131F89CF0E61D0C7071DEA6D8DD4C2 - stream[192..255] = 0F92D4DCC222BFC7020CA6BC3D044F69 - 12D9A93668C65401C570A01D6BF6B3BC - A6F00F6FF46AAE3C09C6158EF05A520D - F8D55FF27CDB7AEB5D03C1FFCE7B95ED - stream[256..319] = 664CCED71B27680F9458952173BE0043 - D3C27F35F9CEE7AE9D783ABA671C4FC6 - 8F2815DC904316BEB39020F646041276 - 5BE5500A60DE2209961755C1BF96E1E2 - stream[448..511] = 8F02C1FB389DD1C5F0CB730ADA528D37 - DD778C4782C7B5DF1961F97CC82B63E2 - 9CF4BE512EE27B50781E297D1633D700 - 1298F13FD8AF9D1EA83F831A70EE50EA - xor-digest = 3F9A4D249220E1AC8E559399FCA23DD1 - 1A250DCDA841502F5FEF0F5D4EFE7E46 - D9B1E5E4312903E290D695C2B681949F - 480D45F78FD69597570338049464FECA - -Set 5, vector# 9: - key = 00000000000000000000000000000000 - IV = 00400000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 8E932D78DCDE35F1E5B8B2E863859A64 - 7AEE8B0867F6F221B09C37B7A78B4043 - D055164B1FF1608EC17F3F148FEBBFF5 - A9FCE4158B33D2CAA4AC5FE5551C788A - stream[192..255] = 7034BE31CED03DEFAB3F69A24E622BDD - 9B202ADAF05D0324EE933064ED6D965B - 937FBC8405F0D7236AC28C320CE66C06 - C5B93EC581FDD59ED40102C651495EBD - stream[256..319] = 37C4EB0E72191FF0F70C8A70F475061E - A0BEDD8A9AF1901FC6BB5482B5A29469 - 06E8C40249E02784896D5D42387127DA - CDF1657A66E0D43E6F69632519D1D3A1 - stream[448..511] = 8CBE98126AE27A51146FE05F40CEA89A - 39781F515D621DD48B6D6234F9AFAFF3 - 6FB862084F5249BCC0018E8FBC090121 - E227FF494BC180FF68EA2B134E7B00D6 - xor-digest = 24556A29026E3CAE101E7112B2FE5BCD - 3D925460B66A9EADDC271E39C317DC27 - 51DC9254491F76F9163AF09AA5372F34 - 1B76D54C09DEC9419F839E5C50F1957C - -Set 5, vector# 18: - key = 00000000000000000000000000000000 - IV = 00002000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = AC05D72564EDC8EB439A95579D04BF65 - 592AB1024152B9B14D71B18FEB5374A4 - C07AA2F58EB2E45F737580241CFB9C0B - 842F8CC9230B540FC50A590DEBDC29D8 - stream[192..255] = 48AB7E018380336AD0CFF37379D9E370 - 5B0C938600C6713FF4CF5C142F640FF9 - 72CF147E7C38389DF426FBF560E7DEF8 - 41B4B1CFE6A4E2DB4A85505C931FFFBF - stream[256..319] = E9C6536F67F4B3053B353170CC5B77B3 - 06A47B759A5FEE5BE45842C01E11519E - 5746B056C86D8A6712446949DFFE6935 - 8E4512E7BBD6E6F544CACA98BDC723E9 - stream[448..511] = 731EF8977E1307CB5FE80BD4F89025A5 - AFEE3E54F7CCEE6556A211097498827F - 6219704F96652420BB9EE830DB3DD940 - 96987BAEC5A43526FCBCD85C9BFDB209 - xor-digest = A37E582543E75640DD988C7FB5579D43 - 9C41669EBCCA5580184743BD54D24CBE - E32F2B1433CDBE51E8208C78FD739CC5 - 4E2A37E16A7AE4F2193ABC4F04C35D23 - -Set 5, vector# 27: - key = 00000000000000000000000000000000 - IV = 00000010000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0B295517E5A2E100C262736DAE920F2D - 26C40787AFEA87FC34C27D6E0BF98A62 - 53B695751F9095C8766184EA44042F2D - 6DE099A80C75DB1F33F53EFE578A8F0B - stream[192..255] = B54C4F2EDF17A1EC22F536586A5BD691 - 2008DA6642C84AFC8ACD35A7DAE73F79 - C835D83F4C0C3B1E510D1BB42013A872 - 8E4899A8CE134625698CAB31852AA7D2 - stream[256..319] = BBE2221921E73DC79E795AC0AF9B890F - FE88A14DA29DE45FA38F4C3E94E6BE9D - 98238BFB181FE664B4147CDDC125FD06 - D11A65F1975A0D781024DE1EF026DFE7 - stream[448..511] = 83E61FCEEB1367635632B45BC73B8B39 - 165015E7A6B8D9851390D4CA9DCCB935 - F09BDF52883FF37BC77DE94842E39BBE - 0BE530FC9D3B4564E11B7EBAC8083818 - xor-digest = 55242D44DFDB1A747071F1C825DB5620 - EDE1AF37B6D73A22264B14F7D35E4412 - 4A6242C5AD34B54E98738D6CC90FE355 - BB9402DD017B6678FCC0EF27CF5D67C2 - -Set 5, vector# 36: - key = 00000000000000000000000000000000 - IV = 00000000080000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B89065FE0B458C64FD6EDC6A893C8C81 - 83578E7D37BE97E6FF82E45110A25960 - 49A817CDE859B67B56CB80768D6DD275 - 6EC368FBABC35C8B51C62AC92F913281 - stream[192..255] = 0E0AB045409ADA1A9540504550404B8B - 2C38384E577F2DCAD5316CE7E806A0F1 - 21D2A3298F71F301340F3C0A9CDD4815 - 936F16B4EC229E63451980646D45E3AB - stream[256..319] = 1DC37BCE039878BA2E5938E4563D2523 - 7350E41C8EF9262A9EF7D7FED7E22F45 - DC3E98EC981D2BCCC1185857C627EE20 - C86DFEF500756B241320798764C3C09A - stream[448..511] = 9A0082CDB35BB3CB1C74CE337D944D3B - 2C833B4F786A92DEA4445A2E5E101384 - AEA834F5E01C1B37EF8291D039875A3E - 21D613FC71212DE686AE52295B773E42 - xor-digest = F94584BB343C6BD6BE3AA1EF799989CD - 93F6DDB6A9AC7E2EDFC92460F0905E6E - AA3E81F6E173C7F9FCE8FB5D7B261A58 - 3FF006AD017A09FBA3B3D084285169A6 - -Set 5, vector# 45: - key = 00000000000000000000000000000000 - IV = 00000000000400000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 486343B348F2A1726617D6E93989B000 - B41FC9707E2A99C7FE5CE9423DC3004B - 67EB02F45B368F87FF2C4CC0C59D1728 - 9F713E714E049CFD8E5D593255092A7B - stream[192..255] = A1A3127E632EF47679F52224E6D5A16A - 6E0598271F36F4DAA98B115535E77C71 - 84170D2DB4B8C5D804790A666D105108 - 81213A0684DD4AF03DE7707702F4F73A - stream[256..319] = C917B1577463E05F34350C4C7F6CBB5B - D63B2D74EAF1500832132CA1A1F289C4 - 3D93BFDC5E9D91897D2F7E05740F3C95 - 0AD872A93DAF3850A452410FBD706A92 - stream[448..511] = 11646E84240BB95D1B14694785E7E119 - 848855E462DD14176442B8595CF602C2 - D1F4A2E09B8D7DE28382D1DA4DB3B1E5 - 910DAE6ACC02E79FEB07A8E55747046B - xor-digest = 65E9982A725056B8FBC275052EA48C00 - 69A1BA0939831C4014E81AAF14F66FB0 - E01FC0C70A49C4533ACBF304A5309F4B - 60D6B310BC66C6684BD5B9C83F994E95 - -Set 5, vector# 54: - key = 00000000000000000000000000000000 - IV = 00000000000002000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = ACAB34102EDDB67B8A5D8B135BAC15CB - 1CD52AE386364C709C2B9D6BD322D7B8 - 477577B4958D448A3BEBA473D861E592 - CA15371AEA0F500361CBDD865488A7A5 - stream[192..255] = F25DAF77D7D734E5486A1AAE01794FB3 - C17099E01489A5B4213EFAE6D745B798 - 77939C7A178D1FF09EB2C42A8A3CE51D - 59D501B36BF9E4960BF3FC8D50F5A847 - stream[256..319] = 1C9C6F63998627AE1AA7E8F0B2D73A99 - 707256CDB12E3AB239EFA72AEC516FBD - 6DECC9375EAAC634707A139E59B32B51 - 5D25ED6951FF4228A11DC87E8DE61385 - stream[448..511] = 6A997977A25F4E9E0D9AFD8C20B56EE1 - C702C301528E332BF8F5E7DBEEE5CC28 - C9E12E1A8BD7A2118A0F31F800B574A8 - 2FC44FE19B20F1D3396432DBB02DACC1 - xor-digest = 0B2BA364EE76F0549A10200D129196B8 - E2B69667999FADFAD55CA479AE679C56 - 54A453C43898443B9DF2835AE806C2A5 - EF30CB8AC25DBA756A705F66759029FA - -Set 5, vector# 63: - key = 00000000000000000000000000000000 - IV = 00000000000000010000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4DD010482D0DB2D09D76872D25F73B26 - 749FFE70B9674587FC4CEDBA5966D217 - 489244D0177F676188A1762C430DD8F1 - 5ED9F7BB67F2E8A79F7633DB7B45CFF3 - stream[192..255] = 3587F0A7B9F410D45357626BE10B4EAB - FF8798FECA5F91F3AD2543B301B5C301 - F84404071C7BC77AC31E423E1AB1E2AC - 2CFAA37DBC2A1316D16A5C7BFED1A77B - stream[256..319] = BFC632891511228ADBA0211EF390A7F8 - 08A12AC6BDD7C2E29DF27025EBA1A6EE - 00B9718FF2BC003904C1C28878894AE0 - E5CE5E9F55CAA522EBEF5747C755CB73 - stream[448..511] = 513D9FFA86D8AFC20E4870DE0E9B330D - 76F02E44A6C4D7C5270B89C6BAC9426B - 5A12666244C0CC5A641118B93F72668A - B7C53CD7FAB0940F1B37A85015DC91BE - xor-digest = CACA8BD50E28720128B57B37D45DFB02 - 206D53785FCE81205AEA085466142DB4 - A17F841156916294F3B7CA93CD99CB12 - 93FF593B5105D2822CA9BC3BAF178935 - -Set 5, vector# 72: - key = 00000000000000000000000000000000 - IV = 00000000000000000080000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4DB6CB1D5BA89BA45BA8E3DFCEFC444B - 7D97C73F53EBC50BC46047CD76499CF1 - FAB51AA6C8B24118AC4EC8E49192B41A - 2812AA1A4325418AA6C69F6143F0A6B9 - stream[192..255] = 33FB647044F3918513212D3538C31662 - 1DD9F3A10C0589CB718564CED7ECC391 - D9701C7A23AD48E05A79BE9E32F60819 - 3E57FA8D8EDDF9F43F38BF8BBCBAF52D - stream[256..319] = 79F3525A6EE300764DE481C20A40135E - 94362F56DBF4C5AFD214F9D4039A0899 - F74A7D7C27494B39D1B0145B9F691B5F - F436F2AE8B335EC62CCB0FF506E0240D - stream[448..511] = FFE0E6B8D741377FF1A02764FEE3D681 - 6CD020C6DDA5097989137E9BCFFFD35E - 0E6379AD2ED3D9D298C6B98DEA82DE6C - 2B66529C860DD4ED56265CA09B16A8A3 - xor-digest = BEC66A4FEB220D732F04AE0B98FCDE2C - 0B70613BAD57D7590E007E84AC546B09 - AF1D5BEB509CFE5523254B5FC8CC2672 - 215C67477AFF14D0788DB166C5B4B12B - -Set 5, vector# 81: - key = 00000000000000000000000000000000 - IV = 00000000000000000000400000000000 - 00000000000000000000000000000000 - stream[0..63] = ED4C49EAEBE78999C0DBC4674757D435 - B056A45036DC51B390A6C87B3CE8BCE8 - 2C7DD348C7775D2402EBE359E7895FEB - B9F44DB5D0F7B40AC207A3CA750EF25A - stream[192..255] = 32F897ACB5CE63D1A64781524B1CB4FF - 9E595EEF93A3206A0D1B4E6F4ED7501D - 2DDFCA31B4FC1A33F589167B070FC003 - F67C528B6AB99ED308EC3CEF82B4E2F0 - stream[256..319] = 57CE29261DAB385309C97955261874B7 - 676349DEDF7582B7654D1A8DAA570EA5 - 9745D2167F2AE1ED538F1D0ECE53AA38 - 379F9AE542EBE229D561E34ACB28FA14 - stream[448..511] = 667E22A8BE7BB84CA1B1C0848E5F22D7 - E98E54A79D5A960C33D07357199AF1AD - 53F3F803EA698127C22F75F31C40656F - 8C28818775B3D88460CFD29798187537 - xor-digest = C68E7F4A7CDB68892794933392C1BA84 - 5B6B7CF52B8421137EE0220BA67C91E9 - 81B47F9BFC39FDFF9DD48F3617F2D523 - 0680B87D18A821A09525FDB79DE6FED2 - -Set 5, vector# 90: - key = 00000000000000000000000000000000 - IV = 00000000000000000000002000000000 - 00000000000000000000000000000000 - stream[0..63] = 80FC6D794178A189EC423AF926622982 - 60C44DC5DD5AC91F779D02958366CFE2 - C5551DE2A5D635353757AFDDE68DF592 - A034D87C871D7D871264BB0F89E99536 - stream[192..255] = 0BEF31DBC3F3DBCC5B3D28BE296384D5 - D33DD0AD9A80D4AB8F58274B4397A658 - 94F67376AD8DCEC19BC2C74A835D9F70 - 1F4C60DC256DBA4E83B21D36B66F5DC8 - stream[256..319] = 625DDFD8D922D848380D45D6D7E730BB - 049666B3900E4305218BB7089D059FD5 - 825F9EAA3AC047A006F1353C37AFD11E - 0143DD68CBE9543B959E26ECB4C649A1 - stream[448..511] = 636E6EB97E3127EB703D5170D2C8FAF8 - 63E8C333F5EFEFCF9063E3D770FF9E0F - 2B37396CEC935239797FE430DA4CFFB2 - 9B19D833687318DF01750DD2F3D942B5 - xor-digest = 0865679CB53BC2845A0B71AB820F61AA - 9B99E100AC7F0358D5B610C09EC52C7F - 8C7C5D973CB85B18F8990F3BDBFBDCBD - 13071BB3AB3F329E75A44E80320BF86E - -Set 5, vector# 99: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000010000000 - 00000000000000000000000000000000 - stream[0..63] = FC2DEE44B15BD914C17DADE6645A0250 - 2F40B39C0C6AA26C0250D328112AC67A - 0C55D48700EFE67EFBCED927B62427C1 - 41DB8089774E2DE23C5FDDFD66D39BC3 - stream[192..255] = B6A4D34FC81937580BFC32E04C8E2B20 - 309AF3E2152B98BD748A344D4537788D - 35B16DD2C01444CAAAB8684916705C88 - FE75C53D75713FFFFA2693E91395F919 - stream[256..319] = 9E619BB0045C58C2D303F79E659CF5E2 - 011D619E0CB10CFDD53AEE6812DD780E - 36407CFE9BFC1C73C27CBBD491BB6A7E - 8918023EFD6E2227C0C840F1DFA5924A - stream[448..511] = 2A320747019AE86A59D5422B634448E0 - B43C41457428AC7A4E5D0C9D7327B44B - BBB6F64CC2423299C009E5B24DDF10C9 - F87F2A525ACF803C50837EF6C2FF3D34 - xor-digest = 3737C19DCC04C7C72EC9280D53C17E64 - E9F4B1E47980711DC64FE6D3E7DD05E0 - DEFF339F38868B1F7CFFAD4298127949 - 11EAD4D34047B22B07C397A37F6BD2A0 - -Set 5, vector#108: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000080000 - 00000000000000000000000000000000 - stream[0..63] = 84F71EA20D46B3802A787C1322DE6A79 - 34587F447AE7FE277362497E4FDB69CE - 129EC4D8D80ABD0C15026EED3DFE2B6F - C48C5DF09CBE035E348A22F8A2AB7DAA - stream[192..255] = 6444791C6DE062EB9A494AEB910A458A - DE3D834BD6F87F26A9D6F99FD970C820 - ED9FE0DF88A924F97945B0EB10E5D464 - 559AA278DAF6A942651E06C66D33F7A0 - stream[256..319] = 1878644E35B3BC562F82647D45C84317 - 769BACDB95DCEACA456727616BC90FF5 - E78FEE1EFB86A714CFCDE79AA9E66FAC - D600B0FC5C471569BBEB5692E7D9616D - stream[448..511] = 54BD56C4F0F3A0CB89A678F2912E5B21 - C2B225030E82A90470EB6040F50A818D - C91F65BFFCEA3F9041BF110A762DE3D4 - B41A8D1E18CAC776063B2DC93BC2D02E - xor-digest = 52E18382B88883C5648E067675468200 - 2AA9AC5C18A856E89175C449A6033501 - 87FA4C17A4D36269340F0877385A35AC - 4B7FEF6E1463D34BCDF3597618FAF352 - -Set 5, vector#117: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000400 - 00000000000000000000000000000000 - stream[0..63] = 3F40E9A3C872ED15A6AA296F716E095B - F39153C7C6F4ECE6F550AD35582083A1 - CA0DC3CD817AE3946E43AA9C8700420F - F0DFC21B34F4E5E40B3EA14299EF468D - stream[192..255] = 853C4A895DCBE411B9B2E340B0AB55AC - 8EEEC42885768110ED7E1CCADC10121D - 8DE12AFD0DCA4507A8A7A2650FF68C6B - 5DB1DD670C8C68365E846934D16A46CC - stream[256..319] = 565AEFAC0325093EF87FDC51413BD5E8 - 56AB6C90FCE7D3C6EEB7E58F22AF63D6 - 73BCF3840D611A5E1102E9A4108CB902 - 5A1D837510A971536231CA247965379B - stream[448..511] = 887287B62116FE2A28957ECC71DE5BA9 - CBBC16DBFA4EC141EB617F9314FCD238 - 91C4237FA35871C0C795E2F3A4197DB4 - F81BA4A29759BEB5FA2277CBB9169734 - xor-digest = 78E564BE9E7102E2CB009D7A540395C6 - 188C8499B7E96C0AD709C3BA2C341741 - 6EED55AB00AE5719F25CFA06F1488E83 - 798F18BFD755B9061AFB4EA5D864FC24 - -Set 5, vector#126: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000002 - 00000000000000000000000000000000 - stream[0..63] = F4C281D9C88A7FD6B2CBA9EB0366C594 - 59327932DBEF8118A7A680D0F0AA41A3 - 735FE0874F047D2B071B5B9E755A7B6A - 9426353B923A5913C647A88B642B2C00 - stream[192..255] = C7DAC2AE7631D11EB21EF15FDCD3EEDE - 7DC98A7060613A643EE8A944EEB6C7D1 - EDE08538E1BA6092ACDE0C648D29AF5C - 309CFCBC4F40A713FA58D93C954961AE - stream[256..319] = D1647D6453798B7E15A49199134384B5 - C9BDEBF7F859F6460C2666F297410070 - E68307CA78790EF01D160D94B69729D6 - 90A4FE477A27AFF8B254875C98116485 - stream[448..511] = C6D3DCBD0E9D4746B142C819867E0A14 - 8B81FEE3D1007E907F8E9D597EAD63F7 - A87E6F224C67CF8162C4E92FC1BE44EA - FE3715B3C1C432CC660CCF1536A20F46 - xor-digest = 59FDF05B6D16079B7E18F6A8CE0C58FF - AD7C985C01A12C07D1ECEA740A92F761 - FDAC3F96357498B5F5FBA91DE6502A86 - 1332A1B3E85C5E72444A2168C25D6FEB - -Set 5, vector#135: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 01000000000000000000000000000000 - stream[0..63] = 494BAFEFE4FBF2C406F55FFB436105BA - 09211B71DA446A0F5436E6DBF42F8E1C - C805E797C9987C14997083E9004473E1 - B2B3729DE9B483361CD38CC78C982533 - stream[192..255] = 3C04C6633F7D8B714E8549AEA1851035 - A520EB6422F42B2C840C74CF51A13FA2 - 9C1875212E8DC07774D6911415F1C305 - 9826A05DA9F09942273CDB592F7E3A6E - stream[256..319] = 1FF6BEFD79A7E5BA0DF64948BA0ECE7D - ABFB3883BF8A95D3E76DEA30550F5C3A - 2B67FE2AB78DF091E758E498418EF514 - 089283275588A41AD20D53E6394635A5 - stream[448..511] = A4D10D3B6AFDF415D49FB6ADA1245812 - 1DA1365ECEBDB6C2508F1EB92E91E8EF - 90892E6FCC9E70AB9A2EC4D49A11C197 - 68E6B4C154A4D65C55AFD38B2BE3F4DE - xor-digest = 91D4EA4C6ECE28536C415A6AF46DC432 - 3B6DC2DC98C3A3FE2BFE53C8FF556C16 - 0197D655357512A808415BF757AB3A84 - 6BE7865622D32B7DE3867B3B096408DB - -Set 5, vector#144: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00008000000000000000000000000000 - stream[0..63] = 521913EA655235FA0E713B0DA3ECB98F - 7AB817E70827D29E75E3BF2729EC2AAB - 8747B8FE0FC9489B6E0EFF45EF985980 - CC0189D9D0F2EF34E809D992E7695D9E - stream[192..255] = D265AAD80EC96DFF08859F93B236136A - BE146981E919C0554D64FBB7D03DC9AC - 9021F2A1B39866567D8BA1DBE2C3CD21 - E5C4C94085F7083F4C640E918C4004F1 - stream[256..319] = 7DCD3CF623332365E6CF2D92FD147BE4 - 1E532F51F939C921DD4492E026993E56 - 843ECBF0925CC52D56084E7F2B538653 - 2020DEE6FE7E85D4A89AEEBD5F3EAAAB - stream[448..511] = 00E20611C7ADFC3BD9E59B9E6D7ADB03 - F87FAAB01D7771B89299BDC59E1E2EAD - FC9FDE416B62FEF07AB7A816AF261E77 - FCF79DBEB09323D44B5956CD93AAA990 - xor-digest = 0578B3E20EBF98D89E2DE82A6EA8E34B - 424E526CF419713F0AA662B852E58BB6 - 7ED570D75534E1F23F85F160690A464F - 122CCBFA5CD1DCC0969F2E57D65D64F8 - -Set 5, vector#153: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000040000000000000000000000000 - stream[0..63] = 2617095641B825094DE44205319CA853 - 418588D5B6BFC05A2713CF898DC42B3D - 6ABDDF4C287235438A48BDDA49E5ECF7 - EFA235A23BF667289612893708704F08 - stream[192..255] = 04F668517ADC1AF6E31DE6B7007ABAC3 - 59A2DD6DD61755C6CA7053E05FBBA2AC - D9AF682EFC71391EDA4A5872B53D7CFB - BD35ACB719169283EFD9FF9E172269C4 - stream[256..319] = BCBA3F15D83B9AD41317AB9EF7DFDF0F - FF05CDB058AB08D7BBD720723E969CAD - 79F16D26DF0222CFF4249B839EB9F9F1 - 422EDAFB8EC285F27E347B7B4C9B2C23 - stream[448..511] = F15F17F38917DFCA9141314047595C17 - 047F91E4859D849E9A6339F640E3633B - 6A1B62D089B24062BA5987C3FAAB6633 - 99698CDE6FE7A461F127AF67B2C5CFBA - xor-digest = 68B2369B45F059964A1FD3822DAF61B7 - 82A9FBA7EB563F83DEC4D058CA5D8931 - EC74AF4043FEA803B696791C8E0A675B - DD8982AEA862BB76847E1DE12F2A5E86 - -Set 5, vector#162: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000200000000000000000000000 - stream[0..63] = B090CC267B29A95ADFAF6BE3E147D647 - 21ECACBF6B7D0C4061D17FB7DE0A6662 - 6D6F9FC167FB3FFF237C240AA03FAD55 - 13B6DA848F22796DB501A8FB89F2B85D - stream[192..255] = 1CB95ED9AADFA0E1FFE5704BE69CBA3C - 9593746AE87F36A786E5EBE18A1D3B25 - F4785EEF4DB439472035BF053687C5F1 - 0B60EF55A76DD1994FBB482BBD250755 - stream[256..319] = 826BE3D679C872536D55C3F0E49C2624 - D41726A4525A50CF91EB71E7CEC5AC47 - F3834358E2296CF0D04B8D8CE8A701B6 - 6AFBBB8776DB2B75F1CFA01231B365FA - stream[448..511] = 244DB28A98619907AFFDCCAF303A3795 - 3B6D21EE6D22780C4D3C939C084E4181 - 1FFCD8F2DA2E6A2243BD0B5428FB86C1 - F0EA2E8C8B6950ED961F4FA8CDFDCD17 - xor-digest = AAAFCEB42F2EF40C4B5462307085434E - E4399F87B4AE5CA828A952A851F47913 - A51430A8BB9B3CD0A4B2F12E297F51E8 - FE0B1A6FE0F21177EAD9284087D3706A - -Set 5, vector#171: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000001000000000000000000000 - stream[0..63] = 0F4309F63F237DBB51567573126F09E8 - E49990F26E541EF888B9F2922FE9D280 - C8FF4874C0D4FA3F41034B82E2E026C4 - 594A79C2B689BC502C41244DC1AD472D - stream[192..255] = 95DCF9685E429DEC2833E1B5E78823BB - ACD9332D668C4B342B89A290E1CA6127 - B0E5125E44445A1156A70B27966C3E0B - 4E0BCBDD9F4561998A5CBCFAA05C7459 - stream[256..319] = 0886E9887182156005548CA1A08B57C0 - E9FA76C2A694E1CEE22E9B715E99B115 - 9AE064DE644FD580E8356164A45EA1C4 - 3DD85E16158B5130AA103267C8118105 - stream[448..511] = F8AF6F9992781BB09808B7AF404F6546 - 6FA697C2A1BC9BF64F8D6B6D8CA0B856 - 6B64E6BF0500F6D80113D9457855FDCE - 1791C7436F5FF41ADA87562C175942D6 - xor-digest = 8D32FFAA409C8CCDA6892C388D5D654B - 4AD50ED00BA649737BA8F350811A2AE5 - 5C89463C7D63F1F1F16C4007826C2CF0 - E4BD9453A60D88BE86F60BADC3E71E98 - -Set 5, vector#180: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000008000000000000000000 - stream[0..63] = EBABC8B756971D46C1A5E86CC7AEB329 - 4DEDACFC795F2AE02CCAF68B933DEF4A - 19E96BA64DF14EB6FE67CA48861B49BC - 16052E33C8B47556DFBD96037B7DE5F2 - stream[192..255] = 0438A8CF718F4C52E33DA087FFEC01E0 - 459D26757D5DF55D5D7BC9BA88F57EC0 - 4B84D854374F95317CBDDEE928A2CCAB - E4BA1BBBF47776B29890DF00D864FBD2 - stream[256..319] = BC4A80F9CACFE63D2E54044ACFF39F97 - 2C69015058AD3F81CBBA28FB0987FFCF - 9CD1F6AE4F0602BAE2B828D3FA162936 - 23CF3AC2950BD651F7E467DF8B454BD6 - stream[448..511] = EDC95FB80C9FED4A73D6EE9B2CD74BB7 - E6DEB9E7868D40FC49BD1C52838457F0 - 88DCB29C2107066D55A80908EFD1392A - B4F2F13C0A79F67E58C91A89A5C88991 - xor-digest = BECD7FD2014BB9A25701E69F9788FC84 - 1AA9DA56CDE1CD93DF45D28F29D32E22 - F488B0C2D9FE95B267CBFD35EDB2F6E3 - 05DFA5A2CF09D7E2D13348BC0C9405E2 - -Set 5, vector#189: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000040000000000000000 - stream[0..63] = F28A15A90386237127A5682EB09E0E58 - 30709455034A7189AC9710DBB50D5012 - 9EB4E0E9036D4504054B281F3FE9F45F - C80116B8FFC0B42F9A636A399B7A8BD1 - stream[192..255] = 1219EF9BDC250E88BD0A62DDCF9AA1DB - B62E19FBA748DFE1035C6A5B3B94954E - 1370487A455916F7DAB451F79C5E1298 - F549CE005A1321E6B136B59BAD9EBCD5 - stream[256..319] = EBBE81DAE5637C4C7EE6FF9251D5407E - DF7E8EAE384D1E588CAD39AD9F763004 - 9A8E028120B5065B658EF3E2B357E52F - F18891819EEE3EE021BD1AF08A4B1F53 - stream[448..511] = 50086FCFCF5EFFEDC4A52B0212B7321A - 8664F2976493868F13D7CFDFB7583E99 - EBA70778A83CB88850D45B300F7F6A80 - E721860560B2FA642B2E77C7F7AB0662 - xor-digest = 336516670616300FD5FB014C1076B53F - 6637AD0EFB453615924396785CA4D284 - B03F526FC2179FF3BFB0A1A2ACFFD87E - EDC4C8360DFFC132CE6A502EB173A0D4 - -Set 5, vector#198: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000200000000000000 - stream[0..63] = 93261A7231FD030CEAA974BBF8F3A721 - 33334C5F3B25D5831B203C353A566D80 - DA578081A047E28DDF8E4BD5B68BE4A7 - FDE4BB3A4875BA84553AE120ED77C9CF - stream[192..255] = DEC4B603E6A6F911B68E5C1265FA2004 - 71B296A647D20C13E42202C1A3AAE880 - 305F969BB88002C8FC00CC5DBE40AA06 - 4AF85646AA8C7F7191FE26FAA2918A95 - stream[256..319] = 849431145F27957D53CD355501363E4C - 5F191DA666B77364E5866CAA16A9DEF0 - DDB9BC266EF41DB0C2A7642B9E8DD27D - 60DEA6E69052D4BDE9FC83B2578C72E7 - stream[448..511] = 5556EF9874E3150FC539C9BD3BAFD308 - 8FB347D5E38DB318A72AE0C6B6FB4163 - 082545A9AD8872AC383A78230729D083 - 31BFC3F2C80DA20617435FFDF2529A7D - xor-digest = BA9CA5F3C27246F931824A9A425F2390 - E183188FEDE5BE3591053ADCC933E1F3 - DDF5627A94F80F8922F53E951490E96B - F51491ED2D6DA26F3BF69CC41B8C0C98 - -Set 5, vector#207: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000001000000000000 - stream[0..63] = C449AF4CD437641A3B40D0E0E7B5696D - CE973B3B217E02DC20B2F5573FDDF78F - E6E55D75CFAB8EE04C8962376D22A843 - A80BB79C8B8D8B500C4B6DA27748C398 - stream[192..255] = D5C92B62B0818165096551DF2B007F66 - 2DF953742EF0BBE97982FF9D3EE83E1B - 87EC9D710CF1700262B1CAA9C68A897A - 8AB4A162DB0443A43962EECFE5B4C0DF - stream[256..319] = 3B8CC7E847669AC6858B7BB716206386 - 40D8C2DD259EE4970A5F254077101271 - DF745AD7F57712065E2D03B9D7220591 - 5C8C033A4F9146EE561B4179DB465989 - stream[448..511] = BA4ECB7D74CEE56CF1D5AB636BBD6421 - C30A51DABDCED17C8D50F5293424AFCE - 33AF71095CAAD3913A8A3A12286A8E91 - 89DAFCC1E2E744FBF4B526E910B5F2CF - xor-digest = FAD57A608E04CD71B176BBFADED7B229 - D855A8025E963B55FB83EC7311427779 - 490F25D34C6385FE1C036FF0807E136F - 40C10588678E2414163AF1819EF7D3C9 - -Set 5, vector#216: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000008000000000 - stream[0..63] = 989F302DF6BF8C63F9EB69D2625115B1 - 2CCDA42A2D33BC6F21BD55E0594DBAAD - 9A294DDFD6710E36000C27FEA7E03440 - C8A6E728716D0DF14E825B798A6C420C - stream[192..255] = 3F3140320AA02367512E7C1789F5C03D - 83CC634354237E78E16B1A64DBDFA6EF - 0697B28BDFFAEC311C6E2089BCF64203 - A2EC7BF3CA922080380241A47A673634 - stream[256..319] = 6049048A5307D55D6DB387A6149C7B23 - 0AE33195D53E0026103EB44489BB86C6 - BAEC7A0D920CAE25B1E7B9F07C07C4AF - 6485FF281C7B7FE1D61E660AE55C20EA - stream[448..511] = A6DCBEC85525FA19FA6066470B4CD83F - 17D42DB3353B327BF3DD6E7D047CD752 - 71E79CCBD46E757F3654C2506C2B593A - BC93B8985C491017A8E616D69E8974FD - xor-digest = 55BE97FD8317A47742F8F3BB762160AA - 7FDFBA371864823D93EF6C029D457AC1 - 2D679CB424DA9EAF8E4FE28271C66F06 - 1E91D8F2EF41733AC1084F54330C9786 - -Set 5, vector#225: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000040000000 - stream[0..63] = B8989CF76BB1AE894699604320C14706 - E20C8BD86C016B5E2EF705AEC54C6023 - 2A9AA961C10914A8D910D517059A93F9 - 78C537767A057E0E11DBB5C9BBC4EFA9 - stream[192..255] = 83FC232D21D0DB82747D9EDFEDFB58E2 - BB37362FA2B4E1AA0C9A58AE521EFC86 - C512831CC6D2E85FBD96FD3B60D1D153 - E83DDC6C5755899CF96FDF69E3732E4E - stream[256..319] = 201DDE5D82B754341A3452BF7DDDBF6F - 167B2A087900EF40E4268A80217D7310 - F1E9E25C707A1EC05219E3CCFEC0F6F5 - 28CD98534F6C579A1ACD3171D131D87B - stream[448..511] = C2F68B5F03B0045FEE0FC92DA08F8545 - 762F73E553D2F539C64B88D4FAC9B011 - DE0504D66007A115E428F627A667FA2E - 296F222734FA0F905548058897DEA990 - xor-digest = 7DFA65F57FD58891C5576B3CC7002513 - C1A983E9D31317B681604DA09F176AAC - 4FD78CE84EB9427BE8D6A63058582F16 - 148D55B3C2544CF4DB9306699CA74D80 - -Set 5, vector#234: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000200000 - stream[0..63] = 307B13F3D3EEEA4C8FAF34416689F354 - AD26336D6B33DFC5AA004420D2DEAA69 - F69E531EB6D672AD62B2A6A136046373 - F70272E84E14CABA9AEA3102863A0B10 - stream[192..255] = 8E4DA19FEDAD4C842917ECD5E7256097 - C2F524324D8A974D4185D8B11B611C72 - 6C39DDB5E58180971DA181D36A289CBC - 1937E8F020645EC8D0363A58C6147F38 - stream[256..319] = 012A99871D6C4CB7328C1374F37D0BE3 - DCC2232F6484A22C8F330D77316A1756 - 71DF7CB32773F25D772BFE9DED5981B2 - 0C3F0DDB2879AF61E7549F03AE26D233 - stream[448..511] = 47C6CA462D35580BC0C78C6427FB96F3 - BB762662F5B52FB3938CCCEAC35884C1 - 54F5BBF513970FC08F51C91059A757B9 - A8B6F1EFE467FAADA8D4DF68C6AC1942 - xor-digest = 6409F8C255BAE6167686F5F9C7EB2349 - 0FC7BA4DCBC80006B57A5F56CA9F907F - 849C2A0FB0D74CAAFC0E2D4367E2912E - BA6487D8A48DA60E48277A20E326266A - -Set 5, vector#243: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000001000 - stream[0..63] = 543BAEFA799FA0CF5295B92EF3FDC07D - 69B87C1B5FF0A9F25B32F8FCC473D04D - 54B6E467D6183F25E3664A330889889F - A530E354B6E53EBC78354100637A62C3 - stream[192..255] = E15997D1E7C0FA38333DEE2EE2477A4F - AD32F0810E8D3D65EAFB110C2B8D0948 - 59DC45C4AA38B8050A87C23782E1A26C - C193985BB0C3E754A528BEAAE1508D76 - stream[256..319] = A94F1BD38219097B70EC0700A64B0ADC - 7BA8883B5C2C3BBABD0497E80D53121A - 2DC5A5C6A77913330EF5469871BABF86 - 0A09F1474D893ADC28B473EE508F473F - stream[448..511] = A43AC01FC186AB42241ED3729E7EEA39 - F0823D124E8CB696E2F4B047A6B71164 - 5B803623CD0371C4975217B3CBD7D9B2 - FD89D3B6BD23FD11FEC0B03B9CC22AC0 - xor-digest = 792A5EDB6E7FDBE99B7EC2119665C2F2 - 34038F561BB1923F3BF493AE35CE2006 - 55B8EE47490B53EBB481AB7C6B82FACB - 233AD86D74385FA108C94666CD34C164 - -Set 5, vector#252: - key = 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000008 - stream[0..63] = CB4377099B2D7CD6A982A1B1A53E05F2 - E097164EDCB381468C21D8F0615A654A - 45A4D09B7C0218A19496EA71CEEEAE5A - 886307DB0026C96049B60E5154F99AA4 - stream[192..255] = 25FCE0B7E28D5D0D1654D912DBB21AE0 - 288CCC71396CA5AA36AC44AB08EC72A1 - 01E5B189535C1987B79DE4C4E32DB7FA - 48ACBC8F854868FC287E03D54752230C - stream[256..319] = D3B02A39A4E467C44C109E1E25593278 - 2E9B3CCB02D6F107C9263A24E113FAEF - 847A9064E1AD1EC8881EFEB239CAD6C4 - E90ACEC36A7E87E002F35D477CD63F2B - stream[448..511] = 7D4282D7E11439C04ACFF087708DA22D - 236F1A08A6343704DA4D24EA3582253A - 35419183A915B571DDE80C1DEE2B8A13 - 76EE973234FFF6A0DD91D31037F51C72 - xor-digest = D52720D8DF114235D99E5292E14DE96F - 9D8478E016CD40EBA25C4B9D8E11713E - FE9AC151E1F39377FCC07D06E9BF6931 - 6EFD7E27F87E9F76DCBF7831CC3FA98B - -Test vectors -- set 6 -===================== - -Set 6, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - IV = 0D74DB42A91077DE45AC137AE148AF16 - 7DE44BB21980E74EB51C83EA51B81F86 - stream[0..63] = 914AEBA9E4BE90FD07AA58B6E2536B59 - 0DD63BA810A2B96BAD5DAC1818722BEC - 61725C75B9E6194F57D3D2BBFE795E73 - 90405CA97249262093234239E35ED9E4 - stream[65472..65535] = 346C1A7D71DBB8FB69EA78F07D60A9A7 - 20D0ED544149AF102C12678D4AE0C5DF - E3521B7344F91977799085008EA00432 - 772C0B4ABEC1DB2C47608F9A29CC76EA - stream[65536..65599] = 6F3B93E808687BE8E37A635E15B13052 - 60ED65488A59125D84726219AEE62087 - 47C6672C585759BA60BFD7F55AB975D4 - B61596A506F8763F715F27A36082DB51 - stream[131008..131071] = C64CAD1578C28BF19F11B14F3D33C681 - A85D28A4B2D547652A7179C31127C306 - DC04BE79BC1DA0279C69F9418311E57C - 0F13D9E993008796EA10607A63BDC772 - xor-digest = A67B88BA16F74643B49BB149E6E214F4 - 624BDC9559CEE75DDCDA01CD343FEB4F - A8F6D62492037A0939B7F745FED8C3F4 - 93102B006D3AF8167E38D1A216B0AE0C - -Set 6, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - IV = 167DE44BB21980E74EB51C83EA51B81F - 86ED54BB2289F057BE258CF35AC1288F - stream[0..63] = 0B739B0FB68C82FE4120545C8930AB02 - F7C1F08E6C5A1EF913F58148283C873C - 346703A489B00BACD14E9CF30D8EA149 - 14937EEA9074DE932F4847E69D793D3F - stream[65472..65535] = ABA9A96B26DC34C1684B1B9E565D7292 - 0B3467672185FC0C000710265DAD5A9F - FDC7D5D42E412170046AB05591C19998 - F8AA47E5C634E5719B74936526EF6960 - stream[65536..65599] = 286FA01C6BA9498FA55E3AB7B7481D21 - 05D82DBD03CCD59760690DC89EFF5B3F - 9D3FE06CD3E8D9C2C77EA2581AA5790A - 6D1457D534A1090799EA0B1B3BAB059D - stream[131008..131071] = 8FEA40A11790CFB0BA2F199B01F68FB9 - 33874E294F7A08F319B87D0990317915 - C12CE3C47A19001FDAEF72DFD5AE2174 - 72FA2DC47D492393792C407716CD965E - xor-digest = 7362D014CAB8247E7F5A7476238D5C0E - 931B2F9D79D03E773994BBDB93B4447A - 81770D6D1EFABAFFB756ACA945D929C7 - 5CFE214A53F2FE7EF78D76B2FDDC2267 - -Set 6, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - IV = 1F86ED54BB2289F057BE258CF35AC128 - 8FF65DC42B92F960C72E95FC63CA3198 - stream[0..63] = E6A0C18EE34238191E39B2DD0F0066DD - D7C0033F82C388043CF13C72CCFB9DBB - 553D782AAFC983F419649CC9B29510C6 - 03302235278AC3F1CE5405829F7E63B5 - stream[65472..65535] = 16B4B4A51FDD9B41DCB8A1CBDFBE8D5E - 5E2F60F7ACFE5761826E68F7C4DDACC6 - 7E0AD9A0B431F089FFE1E5780A66945D - 9E3C32136992ED78B8D8F9E7C38DA359 - stream[65536..65599] = A450FCA398BC87C0079DA4D71E1BF0D5 - 490FDAC094BF45C7F0FE0BF28017DD19 - BD3894BC0E54DEC98F57BBBE71EE25D4 - D96A2E1A003CADC37775CA370DA2898E - stream[131008..131071] = 17D7D66A32B7A47676FE3BCB180CBF52 - C4585015CD9D994C56E6DFA854D9DA76 - 9AB45C8CFE938901BAEE5CFCE73D8604 - A0773736C3336C40355472B6F9208FAB - xor-digest = 9727B576E6090D39333BCC2B993D0F16 - CD0508D7273BE022E907C99E93A17FA7 - 23AB9CDDA9A4D310C8E5A9BAD26767AA - 8FF3C514AD1852DC6749F10FE663C9EF - -Set 6, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - IV = 288FF65DC42B92F960C72E95FC63CA31 - 98FF66CD349B0269D0379E056CD33AA1 - stream[0..63] = 857EB9871D1CB2623103A4D04443CEF6 - 5AED61EAF8264866A7B3276F6B5DA8B8 - D2E7C63E3213CEA9BD3333E4687C6962 - 5D2B980D0E28EA54492148AA16EE6FF4 - stream[65472..65535] = D498F0830A147DF5D15C6DEDC76E0687 - 20D8A1A57F27DF19895CAFDC92846955 - CA942F39F64524E5F70B4B1D3F7B76C9 - 55877A81311CFBE09AA0E9EABF0403A5 - stream[65536..65599] = C850035DB7C0750E015EA60DC1EFD84A - 79C830EFD07675C0664039C90EBA1442 - 5C523DCC60A47E60716F7F302BFD4BF0 - 2A2DBB2CE29DCA01A1AC7B1EE9815727 - stream[131008..131071] = 6D580F0D0C722DA5F901321F57C3F438 - 109F2D2F46ED5572298B40F28C204252 - 6429F5436DC67F15C0427C8EE7FBF49A - 8B5674674E1840E0E664E73C429B36F5 - xor-digest = 65367188C7BD2B0064CCED9E64FB7531 - EFE91EE531F4203B9C367A79B015B4B1 - F79349D68DD316899F5B39A867765747 - 49461826B9511C99C0BB569F7455601C - - - -End of test vectors diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_128IV.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_128IV.txt deleted file mode 100644 index 46a86d7dd..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_128IV.txt +++ /dev/null @@ -1,2783 +0,0 @@ -******************************************************************************** -* ECRYPT Stream Cipher Project * -******************************************************************************** - -Primitive Name: HC-256 -====================== -Profile: S3___ -Key size: 256 bits -IV size: 128 bits - -Test vectors -- set 1 -===================== - -(stream is generated by encrypting 512 zero bytes) - -Set 1, vector# 0: - key = 80000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 240146C5EA6C72A8DFC93E54E8811C32 - A85E0BF7291BDDC0DBEAE086D051D5B0 - 5CC9DD5C311ED2F7E8484CC477C68BC8 - C5D3F3450553F5327253768E958C0C55 - stream[192..255] = 26C5976C37B009E57BE86064A99E8F59 - F9536410FAA9BF625D8DD2ABC9AABF09 - DF6B5EFC76CC6200F9E321E327AB0703 - 2C78B351C5F7EEEFF2C6E374521CFF6E - stream[256..319] = 2F72E0E6E710D807D5120AD686DAADC3 - A5C1544557A4BA6B1D61F90FECD55328 - 3C8F91B801DC435C5FFB1F8B33A23644 - 8E21217C367108893D13AD41EA8F20F5 - stream[448..511] = 68320BFC459C78596162EF5FEE2CF46C - 79EAFC681AE91F875672350C59D33D6F - 9E0CEEFE42EA9A0485E3E41C241CDE84 - 9849DEC99219729D91270358B2F83F38 - xor-digest = 19E8083DE3499286788AE3A6DFE90AC7 - B77084682ED86D8039A67663CDC9ACCE - D297F22C10FF7E4FAD773337B008A32B - A7176F733045DE44782F04C1DDF28776 - -Set 1, vector# 9: - key = 00400000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 4B1E2D728E06D7356F151D10DE9CBFB3 - C66A1E5B5ECD926E33F56B14CEDBFCC5 - 40CD6D1089DD8E5CF008E4AAA3C4C89D - 11B136FB5656B5D4818D1BD1E562BB38 - stream[192..255] = D5E6B5482535DB7F9352933242C164D7 - 6528DF7AA013A4FC2F2B8C2D7DC0202F - 85774C16FAF22D5071A875B6A671D4B1 - A8C396AA5D2F14AFF9C4CD6C1DB89175 - stream[256..319] = 3D0FCC3C90DE0328FD0C752458996FF2 - DF822E496CA42A7D7EBF3D958676A41D - 83A16EF3150B8C4C8F1763560B314287 - 54B4A2EA5C4F74783BF8809F3A624664 - stream[448..511] = 2D68526D25483C2A1F0B6F7101507804 - C9619E267F1FFF28C934D19201351465 - 31D13592BC9F1739A0B090718052E4A0 - CAE9E0FA4555F2FAD27EC8AA2F14CC60 - xor-digest = D3C3131E402BCBA54DCE0AD35C5FD241 - 3ED7056BF67B5163CBE6C9EAA9D27535 - 7D2BFB7B2843DFE92709F047675CE06F - 5201611BCB8FF15C76D0E328D46345E4 - -Set 1, vector# 18: - key = 00002000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 4A0CCA5AD387D49DF33FE8BE69FAD669 - 270E3E6CF724F53FC3E509A2CEF1D174 - A67C2EF4B9D2C9B8A8177BBFBAA2C45F - BDD25CBECBDB59A402FE3C4835854CAF - stream[192..255] = CA0F19D9996E6D3518D28D8169968ED2 - B03D118D4BC1C5E1847BA6EFE6A32D6A - 32BAF71A4C27B0BBC9B9BA03FE044D7A - C9785A69E3B0E5B3B26AABE3AB093965 - stream[256..319] = 6FD1A9F1EA228C39625FC0CBB2D4BF8F - 2C0EF1F37D4FAC56D8024D1B4F2AF33B - 8AB0D452F5155ADD5F0FEEED8104AD55 - 9946D2E274ADE44170F5113630200B57 - stream[448..511] = 5DA1476A1CBADD0797DD7EB9C0E563B9 - EEA2C55860C42C2C0A6B38B9344BA0C2 - 345C7143D9A7E5BCDF9FA2606098DEA2 - 142632258F844AA1A77CC9950D5ABD7F - xor-digest = 0CCEB42D4045C09C45CD6C27B88606BA - ECF7F6B30F50004AB2ACDAF89849519F - 61482EC4AAA2CF58C4206A228FA23AFE - DD3BD50BC9C04744940A238966C2926B - -Set 1, vector# 27: - key = 00000010000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 77CB199A639DE60664225AD1DB954B5F - 70DC01305D2D4073BE772B0863175EBB - 64FAB80EF324DBC85A9EF827EBAC7A5F - CB088619C246CECE6F92B89A2122B6AB - stream[192..255] = 84C1E9B365F1CD23AFD5711BDF2B6F26 - F988A6CE29450108FD6814802355217D - F6F329FCB3F5997401019BAE0AE43760 - ED6B658FCB4280F5A070728411EDA4CC - stream[256..319] = D0AD4A851E7A60DC789762A554A8FA76 - 77FA610F4D868CFF1AB6025B2ECDECE8 - C554B4C0BDF543F58A1DD7CC68FD7AA6 - 7EFCFD59D55372E85131D6284E7949AF - stream[448..511] = CF7F791090D04350930AA1E1A53B70E2 - 691A231595E83F8BAB9613BDBAD868AB - 197D5E06B3397CC3D81F56B87BC7521E - B0BE346552DABEBA863D5C81D7245C8B - xor-digest = 2C77C0ED1F5AE20A97388ACA5300918D - 6246B04429F298E64A75828EDBD01900 - FC70CC103C31E0BB67B06D04128686AC - 5C5FA63FE714FC4DF18C551BDF81862F - -Set 1, vector# 36: - key = 00000000080000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 54A5A2E883714170B471C0651D74A9F7 - D51287C89FB345DE0AF7003C3871425E - FC885F033D79BAC9716B1ED5C637BD9B - 0F16FD8D613BFFAB634F0EC2497D7B3C - stream[192..255] = C7FBA70B19B749BBD0C84C7D31A5AA44 - 155623116C44CD53D2E640034211E730 - 277402F62D1FF1578236A2646AFE6108 - 2C958D9D01C065D7335EF9C29415AD42 - stream[256..319] = 2385E2A7070FEC7399BB3CEEA43C8D0F - 54D3607FC1C21BF173642287C1FC2C96 - D37695A7B1310E5E918EBE37113348B1 - 707BB39E401A10FF14EF020CB7C44261 - stream[448..511] = 5A87EF81C2CFA70D86B147E9587467B5 - 22FCDB4EAF0353E11F73F3BCC1EA6C09 - E962A87A0842B9225E164DB0CD1A3BA3 - DA8C02E6746CD3AE0BC4754ADBE7EF6D - xor-digest = A65BBEA2E397048E4714A8AB3C19EE6E - 91B9EB8048F35FA7AB9E003E9359BE0E - C3EDA827AF485C23A941F7D656C76CA2 - 5D12044923E43E61E7DDEBE7D9C87E3F - -Set 1, vector# 45: - key = 00000000000400000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = FF81E156907CC2C01EE23F79F936809E - 3F88AC15CC01BDDDA378CC1BD2317444 - 200E4E2C63E15FF07B0B40721970E7CA - 68F748A95A965EEC606318447BB31C2F - stream[192..255] = 4C4C42A330AD444388FCA4009CC0B196 - 84AEC3EE65138A747FE86526A263969D - 87CCDDCC4C9A0EBDE2D088CCCEBE76F0 - 52BAC07636937B1567637ADB498F7F8F - stream[256..319] = F550BCDF67C8E9C17B800487DF83A4BC - 73B809C4F3279D4CFE857780412F0F7B - B838A9F0322BBA84D7AC51E469C5012E - D774E52E3507C7D069F5169F0403C577 - stream[448..511] = 9D92715109A301AD47BF2376D65E2519 - 78E12098B0DEA5B779079A0FAAC4DB42 - 5BA9EB00301A5F964336F7EE9C0D9667 - C4F0DBAE14BED3E49A6A746FCB186C65 - xor-digest = AD2264EC651E311BAC5FB36434773F5B - 4A4777B2B7F811A755269FDA8339DC97 - 7A8C6A5F66E8737DD16A88DAB8545110 - EAE275892A767BCAC0757C396A690F67 - -Set 1, vector# 54: - key = 00000000000002000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 3DC3C1A1A40E721F8A3A66960DB2C0F0 - 6D8B7C07FE90D67C26F86200D6A1A1D9 - ADE4D53A35F7A016A506D9C62D344D49 - 5C6DEAAE053247103B8F202B85A5036D - stream[192..255] = 9B83E56BB5E10B5C6C05C4B450B64FA5 - 9C52AA63E207592999CBB48355517F05 - C93EA878BFAECE58CBCB948E81BEFD89 - AE0C5C13359C6CF5A673B4EDE28FAF0B - stream[256..319] = 388163F9F26536BE1221A46834CC77FE - 03D021C570A9DA36CD528E887ECEB2A4 - 7146A8A930D6AC04694A0B9AE50FF55A - 41AD3B3D3E53F982563B5B458C078C0E - stream[448..511] = 3B0FF94C0C9FA0EB8B8CC1C691D04180 - 5AB6436BAFCE8C16A1351883C88E945F - 8F912FF79CFCEFF7374936E830C9440D - C676A5F00BB50EDB34F810AFFD9CA8B3 - xor-digest = 879534CEDD8CDBDDDE2E2216D55529AC - 1189B1C34A76ECEC179B8A240E890F8C - 640738DC37C14E4B950B9D8C507685B1 - 28CF4782EC424A3712F54F6265A41E7B - -Set 1, vector# 63: - key = 00000000000000010000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 12F0A17DEA167676992DFF2E7D812878 - 629579519578EAFD885F212C7E04F035 - AF03732C3DA8CFB7B73054662F0593E7 - E40133706F04B1329BC3155DACD296AC - stream[192..255] = 41BB89D0BE44055E23813783C3EC4487 - 2D102D6EE94475AAFFC7FEB8DE6849A2 - 6B50DE77EB9B0B96EC9EA0216D13D64B - 1264A83D6B571A92948A5E35446B0503 - stream[256..319] = 15E9C9168AF4AEF7F2EF1E832F40110B - A8C08DE71D4F0AAA3A5C2FC59BF41005 - ECA654EB7F316B757FEAD5B0F4BF41F2 - C6D035A88B5477632F34D7F904B2939A - stream[448..511] = 8A2D446044F7930B696DBA896BA6CE69 - 8F8B01E4282BCCDC4740BB6AB6ECF7B8 - 9CA1CFCB5745B6577D0F440AAB7985BE - BEC5DBEBD8B028B15DEA138F09018297 - xor-digest = 89CFE7E84993C6B608EAAECBAECD7847 - 472703F3CD97F9315BA9CA13204B616C - AAC0F37EBD1C58186620710FD6AE5EFC - B7CBADA19AF8C0F7E1FB24913C2300FB - -Set 1, vector# 72: - key = 00000000000000000080000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 7BC411ECF4AC2EF2C9B8C5B7CCFD791A - E8250119E08C1B7F7A82F576FF66FC9A - 9D9BDB7570EAF276A60A3BC7E7BCBB86 - 7A791A48F9E742D7D7480FBA67DCDA6E - stream[192..255] = F85A8E3219AE1E5F20A4FFC6814458C9 - 5A4ECFE7FE739E151A45247A136E3BB6 - 9C11987BB5D13B1B9A3077C8F4ADC9AA - A555FC9725339E02390B9C9F75E1F38C - stream[256..319] = 8A2E88E0A773EA00C11138710BF12ED2 - 7797AE7863B1EC84801D11B5B3914786 - F1D547382DAA9D5215CD4CBC783C700A - 9B09FCCFED28899D2F2EC148CEFA39B2 - stream[448..511] = 95E3BA3237F370A4E0850F2CA0FCEC89 - E9D832CA6DC6A062BE7ADA8D8AEFD55D - 2BC7A3F46BF81DEA5DD9155E8D8FE918 - B5DFB1926460AB69663856EEBCD4C338 - xor-digest = ECE252DA29D20602D138E13C004D8B66 - 8B09FD764B7D84FB83B8F4D924504D60 - 277BAFC521A8AB0464E4EFC6BBB9E4B9 - A206C38154AE3A57B84D2D39CF45616E - -Set 1, vector# 81: - key = 00000000000000000000400000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 139C2843F0BCBDD32C685F4EE2C7AF4D - E6BC79789B77B1CA6CD94A01645EA243 - 5B491F27C27D4EEB96FEA0ACE65C0D8B - BAA642B5A07245BCD0930588FFC92A50 - stream[192..255] = 5C76EB0D5323A7AAAA228F7718BB6736 - 5B344559C24BEDEB2CA66414B5E81795 - 428D55868611AF9AC7EA0E7424984037 - 3251BF5206C361AA3631DEDA52DDD519 - stream[256..319] = EAB18EFED266D4788015DBDD20A75058 - FA4DE35C1DC774ABABC476BCB0AA2CB1 - 214E5463F4E20E7B999ED475D77DBA9D - 70FFCA0C7971CAEC3B285EE8F9F37C02 - stream[448..511] = 081083D9AC30C9DB4E53597D64249D7B - CCD847495A928CF4CE876237D92ED5E9 - E3D723EFC663CA0DDF34DABB941F42C1 - B48EFD59DDCAE71A1B82358A3328644A - xor-digest = C08714035439EFBE455BAE68EEDDA0D2 - A6968F18827B214A097221C3A77F80AA - E1DD9F3C72FA66C16EE278A76C19107B - 37CC32346DBDD29FB30059A8FC732DED - -Set 1, vector# 90: - key = 00000000000000000000002000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = AD897A3C509B66728342A817D745460F - 6A258386FECF71DB95ADC716B8BC0462 - 22C4EE887334718534E719F36454E440 - F9EC44A2DC38345CEEA9425BF5F10123 - stream[192..255] = B32235522391A0BE105A993923760C6F - BBDA849213C628776BCC5364F28EE5BA - D498F186C3C57A8DBE5355C2A38DDB82 - 54B321636EAD186788DF1BFC5B6F85F6 - stream[256..319] = 499CC51B20538B14A05E490B6D5D10D9 - 11079F58E3603A84AE6689293E3AEC56 - 7545823F0B085469CAFFF01D2AFC5076 - C155F8B4B7DB4C49A9A993964928D11E - stream[448..511] = 65983D36E97AEF89C3A75616F7C098B7 - 5CFD9C531AFF8184010E2CFD45163312 - FFBCF5AC70139CF12D97325CCEFD0B01 - FBE571FFBD7DC21B54D4B277A2205E56 - xor-digest = 90CD243B35747378B85B99474EE0BB3F - CE7574CC19BEC5220255523276CDECE4 - 5A16EF44C414ADF1D1CBE264872419CC - EAF664CC74D36072E9B975FF40074006 - -Set 1, vector# 99: - key = 00000000000000000000000010000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 26F731F36F626943D4CBBD605CB67FBF - E9301F24AA4E93EDB2D0DBB3FB17E8C8 - 623054B3003BB12E1C8607FB53315AF0 - A139CDC381753A14342AB90AFDF43E67 - stream[192..255] = C3B755D009DE9965D36B4111308B25EF - 39A137E373BA0E90E5AE2748115F29FC - 562A6F6894BFEA59587F991DD105DE1F - 67F62A73A72A4802ACE727335467F503 - stream[256..319] = BA815578D19B3B384BA7AA7B972B1FC1 - 7244FA75A4CFDC8C30ABBFDF6861F356 - 6A9B68A6F60A61E6DC8E046FE75373E4 - B45EAC193127CBA3AC4F22345BFDCCFE - stream[448..511] = 99C68AC554291FCDC03F300D69CE68D8 - C4D4DFF5FB2D4C3079992D40FFCC9683 - DE471E6F2A406DCE03AF8EA17B7AE905 - 12F1368B8EFDA838274812C4F134E2E6 - xor-digest = 01AB73AE53306196763ACB9ACFF9A624 - B83A7B339DB517AEB408292627EEBC43 - FCA6397320F50E96ECC3595B13BFED85 - 1309458EFE35FA1167C2CCCC6A4CA83D - -Set 1, vector#108: - key = 00000000000000000000000000080000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 031A1BAA02280255F0413D76F945138B - C0835BFE7CA64B16AD090454F098B8CF - 34B1EE138E03C3CCD9FF918A58D06AD9 - 2D7F3FB57D2E161A863A0C25391CCABF - stream[192..255] = 6810368C2B2A091C6FB3EBB76E960AC3 - BFD678F028EB6FC0F5B36C2D386A21A8 - FE46A5AE09DB0BD75359A8482EB6F5DF - ADE199B796520807D60D9D93995EAFE7 - stream[256..319] = 0F2CDD428FF6DF2A4621A8423E09939B - 014BEBC0ADBB8CE71B5E587DA408ED43 - 04A12BD535257322122EEA2840A9447E - CB1B6D3550ED14EE31424F5404B2B5B0 - stream[448..511] = C63FCB06883F3AC65612EDF28C875477 - 1D383D42A553EAFA37ECCE26061EC5AD - C6FE3BF23E06CFDB14EC1DD996A7D4E3 - FCF7A0B9ACC69F37ADF428B434994595 - xor-digest = 463386D0F7A1306E87F3221C4ECC0597 - 9474F620AF3563686ED5DEE291155225 - 56B9372496638BA1631982D6B3F58CAE - 27810BB7AA93351B838D54EE761A8C94 - -Set 1, vector#117: - key = 00000000000000000000000000000400 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = AA4E7E8171A8E0AEDA6049999E0A06C2 - FFA43B9ADC5E9DCE4ECD8FC1D27BE792 - 6FBE2ABB69A6B69D8C213A793C77096F - D4DF7BBDBCDF007C914B7C817837D99C - stream[192..255] = FC90E3C82B8E7228C1ADC2F555068372 - 4307902A0750149CE0B2EFD2CCFE9875 - DABE60E1B85CA117D05E4BD4F45B42E4 - 55A9F42C60910C9BFF8DF8FAB53C81E1 - stream[256..319] = 9BD976B88E9E5E23D0D40779644BB3F4 - CE5C6B16FA6D955C32369DFD19D632BC - 7730683D562320E39F75D8D8BD074968 - 9ECAF0DCDCD99FF4C3939092E9576144 - stream[448..511] = 51BE9CC1362669C0F79D2D88A42DBED6 - C3315002380AEB647C8F9C4036590527 - 1D8915B985B8BE9CC1C5C7652139E609 - 651EAC8A14DF661D9869982AE5735E9F - xor-digest = 0B0C84D430687F488F8E45DECECD6D7F - 1947E32AC49BDD2139F5413E08A88F31 - F9AF6599498431F155AA10B7EC09F095 - 8A5AFDAD486D2E6D50AF77FE98E33738 - -Set 1, vector#126: - key = 00000000000000000000000000000002 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 52F49050156E957C605656B2DF88EE1A - 5E3ADA99F9793B65456C4C6C322B8B5A - 28DCC91EE0E711BC33E0C13354542227 - 613665CFA3A825B943444401EFB06ACB - stream[192..255] = D0907F5D5939D7B544476E299605972F - FE422C64BC6343F9C81093AD0E3ACC72 - F4B67314892E36764736C0715E4D3438 - 36BDB105214F5F8925F321F5FD865EE2 - stream[256..319] = 96EEDA75474D65615795185B1BEE8D44 - A687420304B260E4C70FE7F542967325 - 1826EAE010981F6262EE6CB639996467 - 5F6B23825748128617721752283C16DB - stream[448..511] = D926085A441E507207850AFF3008D59D - F7C9D3B69687D18CCFF2C2E09D4E4EA7 - FF0B72C04A86B80923DAE187FFB99170 - DBD4902AF77EEC42866A83B519F092FF - xor-digest = 1E068ACCA6062CF26ECEC79F149BE139 - 24AF8BF44377EAD1550B1560E4A1006A - A6986C61581FF9E47D58F2E52434911D - 5AFCF914DBBAE183D02DDA3210768984 - -Set 1, vector#135: - key = 00000000000000000000000000000000 - 01000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = EF5BBD7A620E8052F05DC269309AA7CF - 8AFD4AB2B941D905AEEFC721562E00D7 - 04CA70113C8A90FA12A0C9B9CD1B9F9E - 6176602CC08B66410A8BB0F5E9837C27 - stream[192..255] = AB843B43856FC77C1EC09C0DD2248617 - 820344BD2CA0B025C39B0EBD5A750A6C - 7BDCE863C068E0D3A937A5B2C5B6ADFC - 609F6DF7778D88238B89288B2768DE99 - stream[256..319] = 5E6AFBE41F47F35CA9298C973E613174 - 529D9BEFA6D0713A5BFFD96B70D39044 - 413E24FE57B01C426E8988EC365FEFEC - 1422CDFB956B12C6A799F5FDD4EE43D5 - stream[448..511] = AA960C189C0A20870901D4E2F1901D0F - A28AF3D974E14FB70736C191D4C9CA26 - 48EEBA776339F80D57A8B783419E61B7 - 52541CB296B4CD31C55DE3D34CEF0D31 - xor-digest = F163BB7ABD3914204ABAF08B844ECF05 - A36B7B37B8345115EFAA2AB2E7763E6A - E044A83597C023FB41EFAEFBB63E4195 - B60AEA6399DEBC94C75BE883B3623733 - -Set 1, vector#144: - key = 00000000000000000000000000000000 - 00008000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 9198011FAAD874AD77CD0C98DD99C7BA - 01B75CF9DE1E26321EC6AD293C73C675 - 69A349157FD47672C5326276BA40F4C5 - 0CF8D98134D0BC13879E9EC267110FDE - stream[192..255] = A9B3BEEA161ED996C44F6D3B93431C6F - 54DCD5DB88E62CA10D1067B9CB5D21DC - D7E04C48D88DF54E1370D1C24C871BD3 - BDF9B956315996F95867D1E2494370CD - stream[256..319] = D09ECB5DF5B0526372B57CDF5DCA6AE0 - F005D2E2F27D50398E3D1D7FF2100BAA - D6F2C03E431345A4F41CEF3E8D3F14CD - C76A423720A936D27322559289F13D92 - stream[448..511] = 5E8FE7964B052B6D27216E37C49CC913 - 450FAE159C087E34CF67E8B0B8F516D6 - 3C0B544CA29F9BCB2B48D3894D69DE3E - 1460783E82EB67990FFB7F92DA48E449 - xor-digest = 5515E37A3F274746847F551ECB7DB4BC - 2BC32237050BEE9AF2AD1BD8577034D3 - 4A23AB8A2FFD00C7B8CB7D5CA0AB2421 - E7CECB2801A1B73A44FF3E798ACA8443 - -Set 1, vector#153: - key = 00000000000000000000000000000000 - 00000040000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 02858548ED24761DC0AEC6752076D095 - 7E78EF1FCFFD8E756C747586A3B59C22 - F42A9FCA9F103C3054E0B4F6EEC82101 - 971F2A6F9611F7541152FA3BD7774474 - stream[192..255] = C32ADE80873D1190E9807C25D73EC5B7 - C208AC693D98A664FF4D11205650F7FA - A36B153BC1A3F0EE0F4319F2100F7F27 - 31856BFAE36110C12EF0361259641D74 - stream[256..319] = B8F74AD5930D1F2CEA6B9F7E4E775DF0 - AA97744677E5C96B9E55AD77BFAC5E8E - E9BA7A19607D9EC52DEEBECD185DAE13 - E304743019D831849F111602EE6EC34B - stream[448..511] = 513303A57165287E793DB91F49C9A8ED - 522389F03634930512744884BCA45F4C - ACB60FD077BF2C050D4002162FB811EC - 4AA855793CFF2E30665188471FFE0847 - xor-digest = 7EABCDBDA34E51E3A61D2F3340884BBB - 600E1D30216B7117081B3E5D04FD4523 - 706D4F34C5FD604134DC89F570D6119D - DBB7C5FB7CA90E38AC157832C3C956BD - -Set 1, vector#162: - key = 00000000000000000000000000000000 - 00000000200000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 689E48A85A40BD161BEC710F9B2457FD - 276F1156EBC10BB851A8517AFDBD692D - E4827BAAFF218AF886439ED976147EBB - BB1074BD599A80F6324C87BAC987B8C5 - stream[192..255] = D9BA3E74CBAA58CA97DA3D3B1051BDF3 - 29F6CD837B72022D2EAB5D20B02F53DC - 4755C764C50756A7101998C187E4F0F8 - F17A0C6797976C4FF1BA17B3D03C2218 - stream[256..319] = F6F9B6F0F6E1D756C0242B48BC55EDE3 - 3038BABF72FCDD5122C61804996F5ED0 - 86A78B33C517CCED9C34580AA54AC03E - BD0F9698A234787DFE97FCD3D9B7CEBE - stream[448..511] = C31091C4C5AD605BA90963B1D469E501 - 412FEECDE3EA8EE834F188793A98F830 - 81F8C941F11676E007074B40EB15DDB5 - 67D93E954422376F2E3039F4E4115D70 - xor-digest = DF047B3EE7F2AAACE9D5A2B0F6A1EA0B - 97E815E9B9BDD3B7862ECB414E9C08E9 - BA0109B1D6866C9D7D6D3DC9FAE5F51A - 48DE7B9077DA489B7982BA69228483A2 - -Set 1, vector#171: - key = 00000000000000000000000000000000 - 00000000001000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 1F8F707DDF0121AE4DF26A6ABDC195A7 - CB9CC8479588D2D436C52483DA54744A - 2880E3DC622180D36B64CC053CC245D8 - 0700EC62ABCA6944BF89C7DE1A532A3C - stream[192..255] = CB2D934DD1414C60550CEA6FFA776312 - 3C9336F99F16F8B5B8E60D5D0CE54A35 - E752A4887A03EEC95050E50B58F5C8C2 - FD814DE76D3F66B907C77C9B646EFD13 - stream[256..319] = 10306DD8B3EA307496D7BEB7A679D53C - 3650ADC53991D0565856F51DA82CEB45 - AFB460D6F90877557E17F534C3375FD9 - F96D13AB77FA3996998F5DC6F5D3C9A3 - stream[448..511] = 42F4D1F669741750B24A44F82990E6AD - 065E7B07B2194C96E7578F7A754E52A5 - 86C820FFDDBA671A7B08D65B51D8736F - D0DA8E81CC69BB8A56565C43845C0AF4 - xor-digest = C0535BC269BB39AC2ADCC50C62F87B6F - 2C9351DAD49813529A27BAEC163A1D8B - 778670F0FF1610A4688F86851050C9B7 - 275B087A0B5CE01B602F8D1D25C29392 - -Set 1, vector#180: - key = 00000000000000000000000000000000 - 00000000000008000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 899C1C50A80E374AE884F10BBD17D036 - 1632D89938FDB7E4BCFBE1050D5E948C - CF4631EDFEFD2F140FC3FBFCC096CD68 - 1F6C1B0CE9E395FDEC56295AE331D8D0 - stream[192..255] = 2F60CFD4D07E58DBC5127A98D2B1DDD6 - 1F216F61F70AF12427108906AFEDA4AB - B439A99765EB84E43D06EB7B3D984A3B - 53D8C054745A6E3B61F8444C84C7F30D - stream[256..319] = 1A92F3B4F6C4684201FA4AF201259AC2 - 53637B41B734062C298E6F932DBDAC5E - 999FEC21B63539B5FAFC312D0CCE6137 - 04AB3CE65E241A1C34D12ECCC840973C - stream[448..511] = 83A75C2E2C6D40FAEA049322DC1B2251 - 306A8906A37DD30182C328D50E7B7AAF - 89671DD776C9C730EEE0DACEAC7D7038 - 4A93426090F31EB851976B8B2ECA1FBA - xor-digest = 6D85E7DA2069F1308D20A56DB17F3629 - 09E80EA6A045DBE61FB037C3C8B9D448 - 526A37A431A8BE49CE4F10B8CF6A33B8 - 82E6ACD6309BA1B716810715666C6CDA - -Set 1, vector#189: - key = 00000000000000000000000000000000 - 00000000000000040000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = F9E151BE5EA0F532E56958F173B8F104 - DC9E73D8FA289CC2F84C4BB10E8EA769 - 57FBC8F539365B9E9518F8787D6CF927 - 55F0C2B2845318337F36B80E22C59FD6 - stream[192..255] = 27FAFEBD2EBCD2B67AB18BCFB7F8DC96 - F54C8A765B0E4B3DDC3013B599DEF791 - 287FF3C0F48F339DA04B667E54696485 - D48751A001B548727338AD6FB82EAE42 - stream[256..319] = 09DC2AFADEECB86278C64DDCA51EEF97 - C10B9852DB5F33A19C99C0D4F36D2959 - DE247E4DB356E67F2951E0309F18D6D7 - 27D2A1BADCC44DC320E2AA80E1834198 - stream[448..511] = 4103D8455B6DAE658915FACFF2F3F1F2 - 856E2343143671565936301E9D1F635F - EA732C9A096C3E955D33770E244ACEA4 - 094E390239489F4D4F0A1F3C26A1589D - xor-digest = 8DF4EC7886C386E5A0D7201A3E731E95 - 5D1E281321C2B592E31681CC95D173A7 - C92E6112197C6A605F494F6E9C4AE73A - 21B966CBAB1628794F0E44202742EACE - -Set 1, vector#198: - key = 00000000000000000000000000000000 - 00000000000000000200000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 8B9B0CC804CB353F49564926E3FD846F - A4758692FB110A428FAA3132F4C606CC - A41CA937FDE463D9FEC51F419D60AE60 - 1E8EDB30AB09E0B08D0143D885161B16 - stream[192..255] = DC6DFDC4E36FC1D4BD87F731F761BCC3 - 9837A790DBB766040B4508778C5CFC82 - 8EF9EC4D76BE3AE0967DBC844A2D252C - B942E97A2C6A185ECF4E1200BF9BC826 - stream[256..319] = A9DE78C2204B712A9803594B872F29E9 - 5E8962D7D719702FB3279F053D311292 - 26A14FB06058AEEB6D283EE0A272C6F2 - D392B102E294A7CDF24928D5281D024E - stream[448..511] = EB822D7BDDA456BB6E109ECD330D4FB5 - 1259D7042935BD5DFC787E903758C27C - E9E9B191957E721A7013D36E5A29C09A - 3433205956A55460D1498124B2800423 - xor-digest = 10128D9A5EEA1D93E65462702DB15A8A - 23D0FDFCC5B0871639D704DEB9F580C1 - C88213CA166F3BBB89D0926CAE7E64C1 - 0A24041A42B9D50CB0537A0585EE574D - -Set 1, vector#207: - key = 00000000000000000000000000000000 - 00000000000000000001000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = DD4CCBD0B5068DF0193F50C11D2576E1 - A70040D6C2CDB98061498891D1791E63 - C4B5103A52146CE27D8F721E147EA612 - 7E5BAE1FCD3DCD9053D5FF5EBA328BBF - stream[192..255] = 541F008D78EC1ADC5D1B930CC99D4A3D - 61BD60AAB9DDC8AF8594FCA129410232 - 92BC44EE064E44E88A07ACD1B742666A - D147F14102D23578E3B7DC00905586D1 - stream[256..319] = 6834D2FB6BF3B46C0552AD83275CE6EB - 9482C2DFE40C6B1FD6F743CAC8F40A91 - 5BA9A90FBE7CC0153D53C444D3F7A23D - CDC3134E237F63E5A07C99C10B8EE87A - stream[448..511] = 9F75BC84091695FDAA2579AF9D34B2A7 - 2B82D39A1E7FCFC4D18D6898A9CD3296 - 0D50AF1B720E1347A0848782BE6AECC4 - 684CCA05B893951A65EB7CB37F5FE240 - xor-digest = 12F358C7C4C697199F9AF17040115522 - 062514A5DC3584BC515AAA4474A1D85B - 47A6A2D8C39E8234A5D11860BC1036E3 - 957920C03E9A47E61AAFB058A9850559 - -Set 1, vector#216: - key = 00000000000000000000000000000000 - 00000000000000000000008000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = C5958694DB1D54B95101A9F48660CB26 - 8EDADED85C6239098248E0867117607C - D5278E5B5D9CDA7BE8A6BBDCE61215B6 - 2A93FFF627B28B271CF2275E54EA1CD0 - stream[192..255] = D9B69B25B5729759F3180FF17421092B - 0740B2E1307FA9141915CB8C30C0C322 - A1E4710674EE715DF3AC89F447442A7F - 845E154393273BA47F2322BC661D1755 - stream[256..319] = 49412E5F3C9B5B52FF790CBE82D6F037 - 217A13B7744740A887F7C1FBE3714DEA - 2A4EA4A5F444B2EC3C0B160A251CB44F - 8DCA914FBB80F72BC8D009F1C7E001EA - stream[448..511] = E1C2BE8C64D6BFE081EDD30681763928 - 85939DD7EBC13E16D83C8E7FF65EDBC5 - 90FA3904068784806E20F0A61CC73839 - E3BACD410F59D3848F5A628EE030FC4E - xor-digest = 54092B3D64197BD598F9050B44D2E785 - 029F29F46822B72ECA40182E8ABDABA8 - 751054FC50250DF5AF5AC75F4C51D1D5 - D2BE298770C353A7C5D608D1149F1452 - -Set 1, vector#225: - key = 00000000000000000000000000000000 - 00000000000000000000000040000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 633A6CAC516B7A84CFF8F5702CD9BC81 - BCE328741675EBA0FD1368190AB6BEEA - 7C8B0256CEDF9E5CC6F9249511AB87AD - ED95BF8E11182B8BEB75FFA279C3F706 - stream[192..255] = C3F700538A4EEA17773E74D10CE4493E - FB0417B380ED4229F651D6A9BE0AC617 - AF66C576B7D06F2210EF226462004D90 - E753D805AB198B73B0CCD752C7E57A2A - stream[256..319] = 30A11289A9E0C854B980BE044F07E945 - 06D772861896D0F75D739647FFB939C8 - 13FE4BE5C8DF84F64827306D0DD82415 - E104F787F30CD097EED7DB9340A0F47E - stream[448..511] = C2134984733448DD577DC48B5EE5D761 - 0A54AB6C32E3BB782849D8E7E8B522B8 - 0D6444342ADD9709D7434F9B4C18C6E0 - 15AE97DF8F3D29FA6D85DA387157E223 - xor-digest = 8613454AD0B424AB6EFCEA96C0802B6F - 47F1E98C52BC68DA25E653431CE31078 - 1658BC45DCC2EB43C4ACF8395727133D - 12A127D4CBAABAF24BA44930A58A87B6 - -Set 1, vector#234: - key = 00000000000000000000000000000000 - 00000000000000000000000000200000 - IV = 00000000000000000000000000000000 - stream[0..63] = 6A0F095C0E23FD6F8DCAEDAE5314141A - 0F1CE1C1BD6A16E81FEFF72F0753A5AF - C1C54DFC0DD6ED99F1D416BE3C5EF341 - 454C18D49729E80EE99F37734817658C - stream[192..255] = 05A4DF5BE8A35DC623D107728F28C789 - 3DE0E75268B3E1F94C07AE50CA0891D6 - 2B1E764CB41062391B33929273CE6B6D - 1C9CEFB35C37AB2FA8EC18749B5292B0 - stream[256..319] = 41C8AF9ADA46F7BE8EA72BB3B8661B78 - 2BE5649F18F216B75A0071A6617200B8 - 463B08F986D706AD140E27C8F4E040BD - 6BFB4872D758363281C62AE8C4B64E33 - stream[448..511] = 58CDA35476767EF58748A504B0E4A38B - 64162AD422A0DEC0434D879898558C77 - 1A8243DC43B15FF996B4C8CAD3C47C6F - 26F00C71ADFB538D9A983B7B624D6E62 - xor-digest = 240A699AF4DDBB56A4C502A9175C0E3A - BBD654D0717A1F6F6847381B978AE8C8 - 0EB7CA07A481DFF8606A31BD6B489AE7 - 89763068D641BAEADCBDA9ECAC465ABC - -Set 1, vector#243: - key = 00000000000000000000000000000000 - 00000000000000000000000000001000 - IV = 00000000000000000000000000000000 - stream[0..63] = B3C91DA5911D7D7A4BC16A66988AFD3C - 8462A9E9BD0D95C9B9884DD14801E464 - C27048FEB5F70B28013099F0A31255A4 - 9EACE528A13CB5DD067E520D183133BC - stream[192..255] = 756EDB0542FE1F11B159C7081D9CD742 - 2F0E5862D39E2CF1517B2F6F39AE5245 - D659A5B93EB8FA8C8FB751B378BB0DEB - 481B874663624C8DC15E6A1A64376340 - stream[256..319] = 436613C9293D5DCB204B46899CF23E65 - 698BCC3003FE064FD1263EEBC59DDBAC - 536566855510FA802128F0A968A2E359 - FB68EAFD6AA89D394B32BF6069E92EFC - stream[448..511] = 033FF40203ACAEDFBF561A674EE74D97 - A535A448AFF94C8C167200E5CA626388 - DB1BD6EBD4A1D83CF352E97CD8F02671 - 18E57B71D33930EC2752D2F262A55F9D - xor-digest = 2CEEE4705688B20B3AF71F285DB9361B - 0EC945296B97F3A050C31C54E9A07CA6 - 498B92917617571928E2663CBBAE21AD - 8DD880A037A024E46B6581974838AE1A - -Set 1, vector#252: - key = 00000000000000000000000000000000 - 00000000000000000000000000000008 - IV = 00000000000000000000000000000000 - stream[0..63] = A6AFA8AA02C3AE7F29E61202B4A5C25B - 6F74BCC176702C9C1D610FF722527A6E - 721ED90B871AEEC71EB62B24A8F24357 - 07765F7724BA03173F51C9B66C9F4BDE - stream[192..255] = 002B8929A54C1370067A36DB9057807D - DB747C2A4CE19BC085DDC517AADE3B97 - BB1B35F2BAA6A18E8154CD80DA6F9F4B - 0DBFD3EA5F69D5ED3B5770C6221A8D66 - stream[256..319] = AADBBFDFC6FCC6072747BB528EBEEF34 - 6DA76885CF1616ECFB89D3A134769902 - 904AA12744DD404F268B0B4B34700928 - E3C4B3665B9CFBAD9C528EA06F89CCDA - stream[448..511] = DD5453BD0D99E7D2CFC558EA969A4E35 - 743AFA96D570026106C5CF40037B1325 - 40C909C1278DAC8369B1AC257FD8D868 - 3648B4F22F7C66282BAC49D8D23626EB - xor-digest = B3F2AD900155FD5D39768B4F4B7F8E5A - 1C557936F2B5F06966DCB884AFF7F01C - 7AFC073C20EAF85363DFF41357E626B3 - B19607224467413D185A05E7BFBC5F0D - -Test vectors -- set 2 -===================== - -Set 2, vector# 0: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - stream[0..63] = 5B078985D8F6F30D42C5C02FA6B67951 - 53F06534801F89F24E74248B720B4818 - CD9227ECEBCF4DBF8DBF6977E4AE14FA - E8504C7BC8A9F3EA6C0106F5327E6981 - stream[192..255] = 30DA9453A90909A5675D6B691CB0990F - C423CDD8222EB47245BBB67BCA2B9C10 - 8D1F016DF0CF8CEAF6829910916DBC1E - 113D11E91BEC3D85C47E3042EC865658 - stream[256..319] = CAFED71B892EDBE13388CEF6A3365797 - E0D88C0D3A5B91BE4CBAF5162F69558F - DBB45CA6F8C8D4C371D62736EC244584 - 60131F54854F3EC804AA9A38E6ADE281 - stream[448..511] = 531A0ED5D2A51DDC6499FE1BB6E2295F - 2C3EA0F56AF46ED93DFAA4E16F5F0831 - 2D77BD0E9122043CD6A202CBA9351F6A - 0E8E6263F4017355136A0C551E6FD0F8 - xor-digest = 023D719F61C193E4CCD87755C87F9604 - C5A29DD7E31637B3DD70D43441D48CC7 - D474013C85EEAB1897C80ED0A0272543 - F951C72E3954616CB5D6B51FC24F4B0F - -Set 2, vector# 9: - key = 09090909090909090909090909090909 - 09090909090909090909090909090909 - IV = 00000000000000000000000000000000 - stream[0..63] = F5C2926651AEED9AF1A9C2F04C03D081 - 2145B56AEA46EB283A25A4C9E3D8BEB4 - 821B418F06F2B9DCDF1A85AB8C02CD14 - 62E1BBCAEC9AB0E99AA6AFF918BA627C - stream[192..255] = 3B3C6E78A8F381EE2C159FAE1C487C58 - 11FA9BB02CECF7440239FBB0497347EF - D8F1A8AA71AFC70ECCD64E81388E6E87 - 9521C2B47AD84F9CFD9E240D8D2F3001 - stream[256..319] = DB04FD01BC18D91E2D31237AD0FE26AD - 3C8D6A2EFDAA9CC11BFCC61D94F6104A - 4091B3634FA57AB0AB9B209F22DA5529 - 75C3C322DEBE4AE68623BFE1B2BB7F0A - stream[448..511] = 35B290F85EBA78A978750690C4747E8F - 72621951483772E8B89876CC5D55F3AB - 02D9B8FB35C741279FF9B5B571B26329 - 4D011F813CB5B209CA1A22D532BF09B7 - xor-digest = EA9BB65E87C987EA64BC3F4E710CCC34 - F6CD0A795B8347E1441CEBEE35540D41 - 64FC2B95D71FD47A2C4ADF732261EE52 - 8125BE374FA4A90132CC1063971A2862 - -Set 2, vector# 18: - key = 12121212121212121212121212121212 - 12121212121212121212121212121212 - IV = 00000000000000000000000000000000 - stream[0..63] = 397F8EC015ED573967938D1CEAFE9BBD - BD8853C329B3A881B489090853FE0F43 - 89DA105F0ADFA9CF51DA2521C40FD2B8 - FB0BF80B93E3F2B3D8A8EB1C615E0FA6 - stream[192..255] = 68E7DBF465E3C6994D58B9937A866E4D - 43A82A80DAEDBF29C048639BA38B690B - 7ED11323E3C0A8E77A16356705431EC9 - 9F2CB7F7E1ED3B83EAF2CAEC00B00755 - stream[256..319] = DA51CF3A07EBE7E86E9DDDE5A47E7417 - 376F334E6AEF9C187012C8AD2B94BE7C - 00A876756EB232510FD0798E72EEC87F - 75EC1467C07B3A1EFB0D51A5FA65E382 - stream[448..511] = 0BF3C6FF6794887F2776FD632B83682B - AAFD131432CFD7D2F675E03320395313 - AD4ED96E9052FE6B2D2A17428660A25E - EE642B712800BE3F7E44F21A1E6A03AC - xor-digest = EF4E84DBD66497B142EEAC56B830FF78 - 0465CEE20B9CFAF5727D4B3A588F4D00 - AAF718330CFF35508C44C1ADB8476625 - 2CC3AA6AAAE74F8BF1DDB6D4AADA425E - -Set 2, vector# 27: - key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - IV = 00000000000000000000000000000000 - stream[0..63] = 72BC8A6E1E61E704B142AA00812EE676 - 263C1CB9AB941119B19D15EBA3462F56 - 2F69220595DE5E0E7C595FA40F1F06B2 - 6EC32252AF05310809DDDFAE2E24B170 - stream[192..255] = B29A740B51B4EA1080666337D5551484 - FFED6860A5125DC0573C8F90F23A98E0 - BA7B3E4C28C2CEFB1C33D2C36D1B7625 - 64B9A67240CF174347A4C8D868F00F6F - stream[256..319] = 555ABD5577A8909797FBA9769C03A0F6 - 537C06AFB23354F054E25457B729B534 - CD10B2ABD45BE3E38DAF1B7A9103268F - 4FDB4C0FC9A80A003FCB907E8F249AE0 - stream[448..511] = 3B29A43D9C795DAF1760CA9EB57C0B39 - F62D54311207B617B727FCCE1B2E762A - 060810C4DEF672E7D76083E3E4BED0D1 - 0BAFD27CDFD2C937E660190D36B3FD7B - xor-digest = 0B3B0B3C69F2E4BDA22E25AEF352234C - 18CC5E1E3F6A317ED7257887446EF734 - 65CA15F51AF5E077B7915062391D8497 - 8F437985DD08F5FA3A8D74B3227A6EEF - -Set 2, vector# 36: - key = 24242424242424242424242424242424 - 24242424242424242424242424242424 - IV = 00000000000000000000000000000000 - stream[0..63] = C845BA29D542FBED2D021C85188E119F - D34967B79D9F44635DD45D2E41DC5AFB - B237AD2FA0E4CF4202D83DF3073C578D - 2AA8A32D30FB45DE28F23CEB85E50FBF - stream[192..255] = 15C910FDD3C590AED1ED7DA2A7969297 - FD12081B4B23F0A32CE5B3196173C7CA - 7EDD03F9637E08CA501C4850C15B207D - 7AA724377396CED2357B572BBF9E69AA - stream[256..319] = E484AF567EF80BAE77461855294E9280 - EF57E7366605785034D639D6DE3EBB0D - E21886D0E1E0679BC2E2C9C2D9201484 - 4A452B6AD3F1AC8B7762FF3C0E405B3B - stream[448..511] = 595D9855200786BB575FF7977509F395 - 7879CA1F19619A99174BF013CB62F85B - FF2C3C4FE724E26DD0C10D7635A2491A - 9E7E868D9DAD9201465AA178184D06AC - xor-digest = 08737B82505F46F4FF282EF42F387AA8 - 0450058F5314389BB73733BC163D75D5 - D32FC6408F8DE5F6ED2050027D605FAC - A7119FC2DC1B6D3E84E8048DCC42FBD2 - -Set 2, vector# 45: - key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - IV = 00000000000000000000000000000000 - stream[0..63] = CA82A689535CA8BAE01BAFEBA6504B3E - 6E6320101999BCE5550C2BBC9BC65D91 - FAA2D72FA4BF46B6EE916244048B1D09 - A115E3AB6C00BAC8EE382B58859E8157 - stream[192..255] = DE787B1CE01B0BC09801D78D1FFA3A82 - 0C18B867C561E96DF4ADADC5A4375E44 - 5A34F9457E5F8C9A337A0C88DF0F723A - D4509F1449DF2C6AEC0EADF4C7A8139A - stream[256..319] = 7E1854FA15DF9D5827F1555F12B292C8 - 452A1A893EF034C51750388D294947EE - 3F505839C69C1708E8323C449C39A96B - FC9EC91B0E1CAA8112057EB0389FDFD2 - stream[448..511] = C85B42B838FB9C3D4956C9E22FBD8FBC - EDD92C4461EFBA5CF1664B9AF54857BE - C3D00319E5E8A89A8322831151EE1D52 - D8585AC79CB60B61ED2C852D04BB0FB1 - xor-digest = C65A6BEBC4FE898DB8D6B8F6E8F3680D - 2363BC12259B0FDB2BD8F052A572ECA8 - D1EF62AA9A48497805A413742B5AF5A2 - 6DC9FF624B49E5D6FE58BBE5251B4983 - -Set 2, vector# 54: - key = 36363636363636363636363636363636 - 36363636363636363636363636363636 - IV = 00000000000000000000000000000000 - stream[0..63] = 9F6BCFDE566A1B67C608F11B8461E340 - 42D4F07DA4D5EB05554CB7426D65C5EC - A93C2D321175B6F72FCBEBA6E38CB098 - B72534F7D534B1AADD97B77E8513B482 - stream[192..255] = B2466A173F436C8433F264CBF125B8E4 - C10BC81BD46B5C21FA161CB2AE07D27B - F66812A2C2FCB2B14C23E413CEF4E591 - AD52EF810A000B42E5C1B76EEBB17739 - stream[256..319] = ECBED2058DC50223614EB8635B834C3B - B176719C18CA5E3D087A93E5CDF81123 - C6FB819CCAFB5042AADFED5E3C33116A - FD92AA21031165A22F4751C423B8B945 - stream[448..511] = 758BD9435DE607867DA256064C304C8E - DDDF5B64173CF2C98B2842992F8C5FE1 - A37C3227B7F37D49A39F9FF929A883FD - 56DB8B1A174E1E55FCB21C9E1164C20B - xor-digest = 31761A49503946701D35306FBCBE10E2 - 02967E7EC14A328B4DB19FE79F03553F - 13A012B7297B2D02F18A216AD24A682B - 299518C3769123EE86A4937DAA9FC39B - -Set 2, vector# 63: - key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - IV = 00000000000000000000000000000000 - stream[0..63] = 85C7FF83641ECF1C91B2D996D4EAFF6B - 26A4E7E34C0CA9CB9399F655E566383E - 246143F57776C8E08951E87F76091FE7 - 2356CC901F09A07895A890AECF047B3F - stream[192..255] = 4CE0C6606195F7562D485E32E8E105AF - C862100A07E55FB449BCFA2D9BD48658 - 958B37B3EA3565FA66824102A14B5770 - 5E3914E0680E116ED58212CBF61028E3 - stream[256..319] = 3BB772A5A8DE2AB14CAC1ACBF45B1701 - 057710F24C01E680F58090B8E949AF01 - 8970A43A698A04C0C8639FAA665DA3AA - 562B2C5C3A03BCC38FE75DC1821ED718 - stream[448..511] = C73DEA1F7BFE42DF75EA2681BEB31948 - 821FBB049DAD15B988A77C0247868A38 - 2056B66F47B0195FA30C9DB5A2334A9D - CD7C0D22E479FAE1BBCDFFE60F261C7F - xor-digest = 94D41CCAD940CED3C854DA0796DC62E5 - 6B566A980E34F353CFFD0F53AE9E34FF - A6A057645FE66D86BE30F93805D9E2B5 - D78C68EEBF61CE387277A51EB2EF835B - -Set 2, vector# 72: - key = 48484848484848484848484848484848 - 48484848484848484848484848484848 - IV = 00000000000000000000000000000000 - stream[0..63] = E45194379659D1D8904DB3698AF8B245 - 762910B7FBD019AD1AA20A6C433B4C80 - 308A9EA68697631646BF3A2107C4E7FE - 2235E8F3262A9DFD3F5CC23FEB0B2DAB - stream[192..255] = 012611EBCFF9F839DDABF99D9D4757DA - 4E947598C4757976F6F61DA5F0DAC8BC - DDF72F08BA2F446FA37F9A490F6A2B6D - 79227C93271D6B763DA7B2A907220A42 - stream[256..319] = DDE54F9170D6A4702CAF45CC6F799F74 - A43D83AB8ECBAC5206D108F869561D70 - F151A0037F8E28951B5026643F8B2D6D - 56A62E259F04A5EA304791A9468E66AF - stream[448..511] = F70794C084E6EDC07BA0347413B05FC9 - FC46994CA820CE4FC037ADBA50EAA9AD - 55064ACB7308CFCE3F35AD5C7C628362 - F4210FBC2D3264F734728626BABF5356 - xor-digest = 31815B36BA034BB1941DB1E45A941A59 - 7C3882F34BD3BF441CAE8A9790B05BCA - 72049FD10C09A14AC9DB867A82C38A5F - 524C72F783DFD16980DBCDEB486FAE96 - -Set 2, vector# 81: - key = 51515151515151515151515151515151 - 51515151515151515151515151515151 - IV = 00000000000000000000000000000000 - stream[0..63] = 3C04E21F6937C4EF472BFDDA89F9CAF6 - FF53889A9979ABA8F23AA51DB1EDB8E9 - D08F696C1100799A7D004DEF1CA94110 - FCF0C054B0C131E6FAE0FE2F2DBF22B3 - stream[192..255] = 9B4ED3EF9639B953186FC7E732E7A9EC - 55A5F3F19C5A10E12EBE46DD84F10385 - 33837693588D584FDAF86E3A217C3CFF - 020278736F1A90CE07F0DCE4329005B9 - stream[256..319] = 135FAD68B5282FE59B28D2DF66463632 - 06CA92E84A73FA131EDDCE89A5C23B4D - 08FA57D455BDB32F8ED58DAF3EF288A2 - 7C72020E35DAE19B446E4C52DCDAC5B1 - stream[448..511] = 7D08FE1CAA0E8A0362669B310B99127D - 18F2111002891D3229102D72605B9BEE - F5DA36059B0DBBA7646927650305431B - FDA4A97570CD0C484BF1E974B157ED7F - xor-digest = 5125E77698C0DAA89A7E47DC5D038D40 - 7B732CE56CEB674CE653A1B6661B2740 - 0C092AFF83BEEE4FC4543B9D725C9387 - 2F89AA338222ED677BF59397200AB304 - -Set 2, vector# 90: - key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - IV = 00000000000000000000000000000000 - stream[0..63] = DA2E6F7FF0D1F1C87A97E028D3E20E21 - 75E9AD91482965B651B495AEE819CC6E - C42AFE2C20EEACCEC4E90710D17210E0 - 4CC6832905985322C8007F872D3E58E1 - stream[192..255] = 09B0A38E19DDDA08F7DFEF7D0FC80560 - D692A020F0A66F609374ABDCD1343722 - 05F19CA04EBDD3009844BC540C1B2B41 - 66D45E8A2E822B906DA34649E7FEEBB3 - stream[256..319] = 6C8E2CE1D7FABA414432E75BA2EFE4AF - CE2CFE99506677A956AEC86BD290B6AF - C5298A448D0DEFA99AA5CD26D318982F - E786D809C713D5A55B42CA6650191DDC - stream[448..511] = 845FEA0A88B521CCB8927C9457AD3225 - EF6E3C21705EC9FB24873916A2C24668 - 963C03FE097DA8224A42A99E5DFFDC17 - 68CF518DE49CCAC8A70216C62C9CBA6D - xor-digest = A46BFD9D2D0BCC688A032F54733AB7C5 - 5FF58B296071D5D39349A531E41F0BA9 - 893A1722B6102740BC5FE394A49363B9 - 6A626AB43FD6A288CD9B23F7255279F8 - -Set 2, vector# 99: - key = 63636363636363636363636363636363 - 63636363636363636363636363636363 - IV = 00000000000000000000000000000000 - stream[0..63] = CF0E05248AAD82F1C8CD2095ED2DA333 - BCB02E3AD8797377AE1F1B4D6DDB86E6 - 2A59791CB553550E0492FAB42C7A2C42 - 3157C5092D2DD37D46589F17FBD86584 - stream[192..255] = 9E946626F1EAAEDA42E52422B4A84D91 - 4122EEE5736BCD12061C77DF5B0122B5 - 1784E946B4E93470170ACDD7E2779591 - 57BCC9B9F3E11E88BC2F740AA0C10C97 - stream[256..319] = FF22D8196AB3DF662210D12D0FE79255 - 6DCD39611C07F089979CF7D693A30CA3 - 5B795B7F6D64931916E717C8BFB92114 - DB75118BDB51D142CE8133415C6B3456 - stream[448..511] = 971F007EFE17662D95F47F4F28266516 - B22A1E50755EEF19149DE3A3121F5FEC - E0D9DFE7A055026CA44193542D7687EC - 695B97769BF02F92C1EF3D904A8010C6 - xor-digest = D1C4878BEFCE48888A43C6DDE7CC8163 - C8D54A4CA36748C74721C7B6E1649A31 - 4B5B7A4BD43E7C3D2A22F0C8446C7892 - 90D54D421D37CB16400E59CC86215CC8 - -Set 2, vector#108: - key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - IV = 00000000000000000000000000000000 - stream[0..63] = 54F122FC8ECFB176E7F4CF172B2D78B6 - 54BC11ECF0010D2AEB9F899130F4AC2A - 38EBC15C8831D591E6675DC1CE7A471C - 4B869FE83CBF37AC70BAAE5D4AC607F9 - stream[192..255] = 518F298A6008532EEFECB3DCF72103BD - 5E3F84FEB6EA2311E8C19A2E93A9C3C3 - BB1DA7DBA78D5618D1C4FA5B0B202728 - 62645A361E55494D66C9359E41E5809B - stream[256..319] = BAFFFC9206D1D813F3E2768F08D78B2A - 89BB20CCD92E7F13FDD816DD4E4963C2 - C5FC2570CBB8BB5C70848B73001F508F - 47AF179528200F51CDC6E4854EAA63C3 - stream[448..511] = 844B1D15FBFD1264169279ACD525611F - A39C7BB41F1E7A1C09090625F7926E51 - 23A4CD7FE1A3F37ADC67AC437BF0A5AE - FFFC6FB0ABF39D9908145004AA5B958D - xor-digest = EC67596C9DEF4012A2D543842829306A - 4285A3B8038818F265065DC848BD80FE - C27C2F66A57B27F7FA8AC912001EC954 - 05BC6E93D7E555C59060F5D2E294D103 - -Set 2, vector#117: - key = 75757575757575757575757575757575 - 75757575757575757575757575757575 - IV = 00000000000000000000000000000000 - stream[0..63] = 91D2772A18995DB3C0801DD3740F4466 - F9535E5BECB93DDCA0E94D19C0B57BDD - 0FFBA9DAF0B11D55C852927F8BA560EC - 4999E25848D08FCA7275E7E8571A5F1C - stream[192..255] = 72E64FF10CA9F07CC493715724DA7610 - 9E4358E8B0CAE451348B784A162DF036 - AB9796724D17FDBF356031D080A6631C - D1E8D217B041AD2EDF427972653206B2 - stream[256..319] = 4054F770C93FCAB533143FFCA8E4C0F3 - 344956C29D10374E502C2EDD177ECE5E - 6625BAD9630DAD57976216CD69865058 - 130B132FEC1AB0C350DF4DACE4C7724A - stream[448..511] = 40B4A4DD63F7B6E932482D0E6F5BBB90 - E402466550B518A177CD05985D238827 - BD92EE7EC22C274F19E682F85ABDAD95 - D0EBB3DB6C6134408353C8B0472C9A1D - xor-digest = 9A6C893F2108D13A29373DEDA65386C4 - AC356BDDD4A3178952F9126E322B7AE6 - 83C94F1A131CBEAFF26549D9F84CF04A - 1241FA374B055B0ADE7E49E8EC669E65 - -Set 2, vector#126: - key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - IV = 00000000000000000000000000000000 - stream[0..63] = 87A7773A3514EB7F882F2C491E90DCF3 - 059C5CC575D806B9029CCE3FA45A246E - 0EBD3AB2F2E324FE36ADC3B56AE2F7EF - C710AA964CB87381386C2A88B1308035 - stream[192..255] = 415D6F59DD004944D4E45FECC6F1F06E - 20BEB18D9C84187C347F43B17E0924F1 - 2348F825E106E57A00258CE4415294D9 - 4323A9812D8A71359CEC1001BAA0D567 - stream[256..319] = 8E20F0D03F37EF4B2C5EE12B5F81F7C5 - 32D62E779FA0D2D08F8ABB6B0183A4DA - 4EE0329215F261D953150B9AB9FCBE2F - 568AAE361EAA8636ECC01A63F007977F - stream[448..511] = E7C44F44E06321A20E25F73E2069757C - 90499DB7E60025CF6D2D445E53A665F3 - 08EC96F6FE73C0AC90D7E4A712E18C2D - 3DED46DFBAFA24C4B0B329E52C525976 - xor-digest = 22035341489FA6EEB2A6488CA42F4043 - 57477C3F55569A1224EC39B1019E90C8 - 21D37D78ED4DCEAF6EA70724C3751760 - 38CF25DE4F84BABD80424D83A310881B - -Set 2, vector#135: - key = 87878787878787878787878787878787 - 87878787878787878787878787878787 - IV = 00000000000000000000000000000000 - stream[0..63] = CEC0C3852E3B98233EBCB975C10B1191 - 3C69F2275EB97A1402EDF16C6FBE19BE - 79D65360445BCB63676E6553B609A065 - 0155C3B22DD1975AC0F3F65063A2E16E - stream[192..255] = 5E12BA9DE76F9ABF061782EC1C4FBBAB - 3373B816DA256CAAC37914B0C161E4E4 - 5F5ADBE444098A5B2A4CFD4251D79918 - 987BB834BB50F0834EF4985F356B92A2 - stream[256..319] = D89642D25DF97D149AE07EA18BA39497 - 8935978AC34C1DF9F444986D7505DB4C - 7E08DB3616B84CD52E7DD7FB108C36B8 - B50C2573172F4D3500B6D62A9D20B82A - stream[448..511] = A2C17FE7371604556F796429C6BE0688 - 8611638B310F3E9FAF484BA9EE29C16D - 2F842EAF33AFEC557B68D2F453569187 - A6F4CD204A0E7A733E81AB7CE9FCAE81 - xor-digest = A7C93087CA70DDFE5FA5F1F2F954320B - 6E3A61977A7C6AC2F033B826AB9A9957 - 66671D2A1025CDF8E2824B2F58CB221D - 2A68679239D90152FF7D0D39B33FAB93 - -Set 2, vector#144: - key = 90909090909090909090909090909090 - 90909090909090909090909090909090 - IV = 00000000000000000000000000000000 - stream[0..63] = 7118889F6E46A6523BBEFCDB006B3BC6 - 71A6D390BC7099A708D370DCD0E3D143 - A0334619EBD5C7DA9EF6301F29273F85 - 2DFA3C580ED65C6E952F88A0B7FE368E - stream[192..255] = 31D61E133CA1AAE400CB2DBBAE93C75B - 445792061AA0539DA69ED0B77B970C0B - 482156A5DEE4082A61364BF06E692399 - FB9F4411FEC515291F8949B20F57229E - stream[256..319] = 993E815F299D4841518119BFF88F6EFB - F3DB9BAE60238BDE2845DE4DBA6D79DB - C9E42BA5C3C004AE4546FD86C660FFC8 - FD6A8A349669FFE3D9E5BDF8E50A407D - stream[448..511] = 0F9CEAC6BDCBB56B7E97DDC95877B2B2 - 1274F4A6D814B5440C74D53A3FF0735D - EF01B14AE4188E215CE7337C04871688 - 7159695A241BFB9D6B489FE9E23B2AD8 - xor-digest = 0BD5739ED28778023E6303FD88DAABC4 - 0FA0A211A1A5C5F230D9E67DDD9EA517 - FEBCDF0BDBC107291B6CF3ACD8B862B8 - 4BF15400493A54036E97FDEBB9A1DB2C - -Set 2, vector#153: - key = 99999999999999999999999999999999 - 99999999999999999999999999999999 - IV = 00000000000000000000000000000000 - stream[0..63] = 236ECC5AB83DB1C5CD1C5A888CFEA2DC - BE99E7E515650511FF7016A0EF287ADE - 5A03839C4F83F05FAC3B0B24D4E3F602 - 3251F8D9CC4530A805F8A6A912EFAB1C - stream[192..255] = 792823ACE2C0DDB266A118068AE295CD - 716E424D3B98A9DB2501A3F5DF7DC70A - 3BD2C6E664D5E13317D6F57B8774C903 - D407D2BB6014E0F971141E89569C5868 - stream[256..319] = 2D6ECCF738FC00ECD5475EDA959A73BB - 304C81FA9DDE0C21592247C4098D9347 - 1DA30294DE8C100E5B17A199F744CAC2 - 4E33490FC7F223FD6B4923056117C6D9 - stream[448..511] = E791A6BE7F7593788E5D627F5CDAAB59 - 349AF2BB1DA2BA622B9824F729929098 - BD19DFC05D0D9454F604960C027752F9 - 7812E53DE6AC6CD2751AB331703646AF - xor-digest = B7C5CE0D2FF66533A1C948C425F33FF2 - DC458E7E517637596FC8FB710E2E5636 - DB1F14848CB12793D54ABD0856B22F3A - ADFA8C33AD08B8CC5292DD76913CB105 - -Set 2, vector#162: - key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - IV = 00000000000000000000000000000000 - stream[0..63] = 74490D19F13E7C6D1B25C6408E23F229 - 8A8806402755660C4A30CD216A500BB6 - AE975E08EC62D08425A8A62A71B00215 - DE35E5178902348698528CB82296F009 - stream[192..255] = 51A6EC18829928EE94C37A5CD030CC4C - E4F7E1B3E78C3A5DF07592F45B968BEF - F95B8B257DAF2B468284627AF4481FD2 - 67BE0B164DD86721DC8C1607A0607EF0 - stream[256..319] = 75C565D5A5A240B003273F99BEB3E4B3 - 9C056162B626F383F3E77B5C98C0FBE9 - 119A7C335C333E6490126AC2510CDFAA - 86441C72D1DD9ACBCD3FEFC0D0C794C7 - stream[448..511] = 2D90CCF0B43239D725E3B53C31B82754 - 246C065AD23A8D709161FC74B34E23DB - B918EAFA4465125D3780BF0B5803AACA - 037AA0A14D977141B611A6CA2278B634 - xor-digest = FEFDA1A6E95920B93380CC24FAE214C5 - 6B009ADCB176D519CA4B8538EDFC95D1 - 6CA06B730B28A230F0085FE43CBEE2FA - 2EE5DCD74D66F5CBB59F256CC1ED885A - -Set 2, vector#171: - key = ABABABABABABABABABABABABABABABAB - ABABABABABABABABABABABABABABABAB - IV = 00000000000000000000000000000000 - stream[0..63] = 22E1A884ED2C67CCB2977105649B6544 - 367858D1A730AA2FA96703FA406B337A - B2159A389BEF48D8A215D870B2968E16 - B11571F12BEC0A07FA7D3B9790987EC7 - stream[192..255] = 4C98DD259D03A40AF38E0ED0F37CBD74 - B27776E9250B8B063E52E169C7B76A15 - 0D699278AA4124427B5EB6AFC4AD5DBF - 600FEAAA98A88DFF297DACA5ACB4878F - stream[256..319] = 5FC732A26406FF0DBC764ACB05C83484 - 976B640E60CCD6ABFB908583ABEC3E75 - 2878371EBB5374C9B37A63E0768AE10B - D857253D940AC408EF49EDD590E806AE - stream[448..511] = F012E429C44D5DC03B88123855B62C0E - 90E06759306017B5773752973850531B - C480316CBBAEDE6353AD5FB298349AA9 - 16AC0221A4CE1E4729BFB9C230AAF9FB - xor-digest = D73B872315F9052C67C4CFC5CD912DBD - 60DA32FD06D9C8E804968E688898200C - 1D979DFFCE52E1C3B3309B58D12BDBB3 - D3EBA2954D1587D720E004E12EB4A13B - -Set 2, vector#180: - key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - IV = 00000000000000000000000000000000 - stream[0..63] = BEF4DD0101F80A8F880BE0613B2AAF88 - D2EF924014F7445ED922E9C021571909 - D7E6BFCAEE0724F2A9C522C4BDE4BBE9 - FE53FE592C0FEB80D2C7A51FB8BE9EF3 - stream[192..255] = 6B1966D3EE460999FF09001B0ADEC484 - 0D22CDDFF39EB0E3D5FDF74C6E7B3394 - A0A4271D780DE6DEE9AC58B4903EEDD2 - 6DD14E14A4DFE506748D5DCA6DDF4C5A - stream[256..319] = E79D99119996FBB5163335E2F79F0502 - 7AEA5372136E7B3C5BE1F4A673A2DC74 - 60834B81BE6C4976C4A727C8E6046A64 - 4CAF42EEA6A068B7E532581E9037BE9F - stream[448..511] = 5C4F52E0E94884C829DA1FE88EF34614 - 9F3EE55A136EFA3B417DB63D2487DF82 - 794E161B3153DDB2E1E4F385E1A848C7 - 729FF5CB1CB58D5E73FAB1F2DCEEE5AD - xor-digest = 2F3C231B0228C274255F3BD314ECC7F3 - 1B9C49177009AFF2CD88F807092D77E3 - C74C1B9B8650F581EC7603F4D6E70955 - 1B00C3192414C04AB0AD8B0B9BCFE988 - -Set 2, vector#189: - key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - IV = 00000000000000000000000000000000 - stream[0..63] = 05AF4F98E9D526CD7912F3E8CAF45410 - DED6D4E331633C5621B94E7EBD15E856 - 04AB202A553EFED55A548C7AFFCD2550 - 60315FD50A305D8BCAC9C077229D34AC - stream[192..255] = 786D24EF3FBFF6883A4ECC4F40E445AF - 3CFD130D5B6A9CE37BEBA429AD137A82 - 44D0586FEB16D086F533D1885A82F73C - F2AD2C645591F80ED09942F0A08D898C - stream[256..319] = C214B6AC700164FA66DE346A27A99463 - C5B6C0E43A9057384BE168E163058FCB - 6E7DEC871C6531EFC8B8D581EF92757E - 219294D39E0C9C8276440BE56C3D9941 - stream[448..511] = 22CF14F5BD70E719AFE76C53E5D611AE - 4C8D2171695C9CF97E2936A8BB320670 - 015825547A508EB43D96F2EE1EE2CB34 - 4E120F001500F8ACC3E19E30455D09D0 - xor-digest = FE5928C74EA21F23E29171E5AAACA20C - DD8571E907763C96B99A8C11F9A1D2F5 - 78F68A6C440996995F7AB6E69B3CCE33 - CF8CE0C16F54355696D47DBF82EA8D56 - -Set 2, vector#198: - key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - IV = 00000000000000000000000000000000 - stream[0..63] = 75559677D7C762F6CFED942D800F2FAB - AB5F3892DC2C79922E96FD34FE511C11 - 251C8EB7C639E531CE08A8C99F62E7BC - F68FBAFF99D62348FF91CCFEC2710055 - stream[192..255] = 149806A4D862EEA81F0208D927339E5E - C98E9C2A6E0DB85CC0380DED7EC5B8AC - 4ADAE76AEB9C7B7264C3834316209615 - 25221D58C0174577110596FF89C8FC69 - stream[256..319] = 137E527A0ACB8B96A9FA07890B60B78B - 3CDD19BF89B31FF75A814F470BF97E0E - 1293B750B769F5BDD750DE5025D7534C - AD541A1F26C6AE9AC2FD3237C156AEBB - stream[448..511] = 0958243E88921B81F04AE63658E52D76 - CF2638495B3A6B970633A7C8F67B8CF9 - AC378082F72FC63BEA02881CC5B28D9D - C8C261C78B2872B5EBFC82336D6E1A28 - xor-digest = 0084D7BED4953402FE8F7FF71A28CEC7 - 0028A08A00EF935C06A8B3632DAD5914 - 84E44E372A753F8E630741266C0F4218 - 4923608103042C70ED4ECC5112B9AF6B - -Set 2, vector#207: - key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - IV = 00000000000000000000000000000000 - stream[0..63] = 0C46BF67A3DBA5DCCF8E4A7A65B6FE28 - 98C701CBF5E88F1F3DCB6B873E5CAEEF - 23024ADA678E1A2CA9E25AA8B476CF4F - 9FCBC297FF03A9B94A5A736274EA776C - stream[192..255] = 73B9891D1770289A67D6338909FB6282 - 9A425B7947FC30DC52B11E398E85B1EB - 537E1C02898FEBFC15A9172C254CA55A - AA1B56EA856F47E37E2F252D92D94ED8 - stream[256..319] = 6522D372F90F2DAC155D48F165B6DFA4 - 38B63B9F436FE00CC075C585297B8F90 - E6062358D29641FF9C28EED4A23FC53A - 6B5C60C2AF1E8146DB27CCF5F43BA838 - stream[448..511] = 642541A9733946827D79BBD815C03C17 - 6357BD6E81E9A61FFFD4A0BF6863AC71 - 72AEFB92C1F235641BBE1457B724A6AA - AF9FAC687552A778B034C4A4F8E41ADE - xor-digest = 9DDBC1E7D31379D027B4F3DFD72C3668 - BD0BC5A97655978E79056B3D25DF3E79 - 5D5D8BE5D1AAE877F2E7D03225CB6609 - 6EFE11CBCB728039A243E326437CE73B - -Set 2, vector#216: - key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - IV = 00000000000000000000000000000000 - stream[0..63] = DBD4E866F4E24E7F66816CAF625BD07F - 1F7BDFBB81428FFEE9FBE14DF5F5F3D8 - A044EF53A868D989E16165A0F2B95E8D - 83439BB4805A125AD0CA7994AE11B852 - stream[192..255] = 7CACC4E7B9B1957ABB22ECB9D9D67184 - EE7A7F4B822A1C955A69E238022AA313 - 276C2003E27AEF1B4F94B33A6428685B - F048B357EAB297B7DD98E612F054A317 - stream[256..319] = 286B484FA80A45EE4D5300DFBE173E8C - 978B976BE1B6CB0D15C0324D6B70D265 - 385B615B3EA97A55D94C47F53FF40861 - 4460857AC9568556AE54A52546B41B5A - stream[448..511] = B3AD999394343F6F0BDDD0B1FAE2E3A6 - 5BE2BF56D2B78A401D5761E2F3AF8B18 - A2B1089864999D9B99E5BF6959F8F802 - 975FBF204D6159CF23F3706CAF0D9BA5 - xor-digest = 0957D6887501D4360C430614B67D99B5 - 32849E2F5C69CE8A9F3F707A2B5438BD - 0C1237B5617FB525CC9C043A10DBB265 - 3C3F0A353E89A19838B8F68542E09526 - -Set 2, vector#225: - key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - IV = 00000000000000000000000000000000 - stream[0..63] = A6DF8DEE1EF7D1AF773AA3E9651B645A - 50CF101BF065F69F3E78BEF5D689B1D1 - D306FF41EB3E78BEB75C4200937CFE60 - E89E370680C519B2F64E23516ADF8062 - stream[192..255] = AA30580A210B87727BE17EC52AAAD037 - 3E0DD11FBFC89B37825CA4D6F9E8D433 - E3EA54C37D678B58CE834AFA310F6D4D - 06B4603F12DBF38595AC76511D0B13CF - stream[256..319] = 5F3E1A55116CB67BC91C8E37182EEEEC - 8FC9B09DAA6F418D3434BFBBFF6BFFFB - F93F8A963F2F51CC487BE868F010EC0B - EE17A480542A301E33B36F59BEE13D91 - stream[448..511] = 672048756C221C12DA6178BE711B3371 - 525A92BC9A219CABC5501B0DA4CC248B - 8742E8BCBD6F5A1CFE522F3DF3BED6B6 - 5D60D1AC737ADC582C2CB9751521828B - xor-digest = E7CA739E4DE0E74274E491CAA9BF5CAB - 3F418EBEB69509D69B2594E964759D15 - 104F674CD44681AFECC3B4939CA0A0C9 - DD7AA5726653ED3FBFC833DDB0C87B42 - -Set 2, vector#234: - key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - IV = 00000000000000000000000000000000 - stream[0..63] = 2479A8F2872A813D16D15F060D300237 - 25297B812F6F3B97D74D9716E4403A5A - 684D2BFD1E15275470FEDADF1578277E - 44C6C06B8A5FCE3D0CCC5E13BF49947C - stream[192..255] = DB2F9B25F9523FF5C2CCCB808EFE07F3 - 132D4B0065A563288F848E05EB45E48B - D15C069C02F90B4FC10AEBF1AF4BF90E - 2CF7F48C8CD7A8091014131EBC21FBE8 - stream[256..319] = 84FAF79797E25BF2CFD54E58F5C7AC1C - EC170B064429EB832924CDA9C47B5174 - 9BFEF80D96FAE36DDA65659FEA1CC06B - 4EA3A1601A3304AA4DDBEB62381FD4DB - stream[448..511] = 2C8FC8D23E7DBBC37BB0811D1BC71145 - BFBCDBAE19F5281CD0E6AA37419778DA - 64DDF68726DD7F4D78BBBFF4576C2AAD - 93F477A2AB2C3CA8A381F30BB944C7B0 - xor-digest = A6D5F0DDFC0A43491D6D0A17C095C070 - 9EC7E9B89DB8EEA11045ACC5FF003DC9 - CD3318BB6F9675EEF20E15490F525066 - AF8380C663B60EDBAE30663C94C39892 - -Set 2, vector#243: - key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - IV = 00000000000000000000000000000000 - stream[0..63] = CC3701E703946194401D1BA23AD99B5D - F3F856138E142D4B9C23DC9F252A277B - D62DAA33A71A0C61079AD5A20562291A - B6EC92C66D7BE6A17E27D4DDB48EFD31 - stream[192..255] = D00665FC0A4ACC78758EF25B0B0D6903 - D565423614409AD11E821B83F5B35D83 - F26F3EF9EC1766FEA9C21C09E0AE248F - 4BA01E48BCE09D06471593B3466703DD - stream[256..319] = E8B4EEE2C8BBEDBA758C1C2D0889FDDF - 96CDC215EF1A62FAA29A5608C852FFA1 - 18B473C5A7319446F3ED2E8AB39A533D - 714325D1B14E838C9EC6E037DB0DD93C - stream[448..511] = 4FF3B43841B17A279002EFB07324625B - 7E937D480DC73F12836195110ECB4DB5 - CD31CA4F92F612A95E82815328DA7D5E - 4DCC5BB6791603EDA64C57B5A5AAA04C - xor-digest = 9202B874C48D4B1A9E857E645EE8F884 - D971CE97923AC024ABEFB944E34550CE - 31712BB832F9174F86FCD369E75CA9AD - 85095F43A4B7F33AB641BD6912D2C59C - -Set 2, vector#252: - key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - IV = 00000000000000000000000000000000 - stream[0..63] = F374DA745A5CF93A567027609E5D3B1D - 5C3C8A4D15203705D978AD42279F6548 - 51FF713F5120CC93D044EF717F5A75E4 - 98DBEF559E5F157A8C819E213E93B3F4 - stream[192..255] = B270F638AAB88DFF69D724F79B70CEC9 - 175AEAA99D55485954B265B5CAB86509 - C810E664766A8E6C90D4BEE3A58B1815 - 9076959FFFA2F30EEB12343E9E7778C5 - stream[256..319] = B2CC84A1127B5333B30EC81CC14307FC - 418DA96336991A27DADA74FDA987B867 - B125C53C0E4E2889FDFEFBFB48797A22 - 2836B2EA42793CE2BFFD568F6234B368 - stream[448..511] = B70F4A10A1B75D499E8189C8B92AFB36 - 4CD2D730DC8D7E183EC55A777C2445EB - BA7E9CD95C8F3A206B73C422AC2E2C08 - 15A8C6FED156FFF93B63DE512EF69725 - xor-digest = 467EDA43B849054EE747A532ED0D9AA4 - 6EA1BF2B6AF19F481D6E3D55EBAA96FC - 6629FE65B5EC4B5EB6A155A6D60FEA32 - F04F8230E26390F1C8FA53D47B68FEAE - -Test vectors -- set 3 -===================== - -Set 3, vector# 0: - key = 000102030405060708090A0B0C0D0E0F - 101112131415161718191A1B1C1D1E1F - IV = 00000000000000000000000000000000 - stream[0..63] = 7CB997D6E1B46DD7C0A9629B441C3771 - 14D6C18F230291FA7EF0B039AEDCC9AA - A4AE05BA13F3931E3F8373AA320A8BCF - 28E825B2084D0FA486BE52C92C3C6F14 - stream[192..255] = FD4DC85E176D76062323B2F5B31E219B - 786596F3DC0A2AFD31AB48C5F911605D - 556399114B0779F43221FE5BDA899627 - BA6498C210D5AEC5FEC8733357571F77 - stream[256..319] = F00E84A92BEA966DC8359FA63B12E8E4 - F5611F6C8CDD04CE9D605D770B2EAE49 - D6976272057CF275EB5B4CC434EA9B0B - 8CD9FEA22D7E919097CBB36C5D239BE6 - stream[448..511] = 110560BCF38CC42478036CC228E9DBD7 - 4C44863DAFC81B528AEA2893FDBAC7BB - 2F68CCDF566E1602623EC9AE283EA69C - C032E90E409F368E28401AE6905BD4F8 - xor-digest = 9CCCCDF3F7D712D6E3931068138F9A9F - 8640478BEDFC3C7CD0802954234DD07F - 99F4B072D9847DEC2E16FAD0ACCB3609 - 16243175C84A317191A98AFF5EFCEED2 - -Set 3, vector# 9: - key = 090A0B0C0D0E0F101112131415161718 - 191A1B1C1D1E1F202122232425262728 - IV = 00000000000000000000000000000000 - stream[0..63] = 0889D6D9E155FC208941B945F2B15362 - 3CE5C79122C1085FC172836FA9B06C0B - 50910CACF399EFC9CD9CC484786AAC8B - 377972E9A90D7EDD40A59FE1B942710A - stream[192..255] = A540BDE9860D8687A45D8CF22E00299A - 36BE590AC92E70BA03B8A5F2898C2D1A - B9B1E5C87C4B10C9B6E08EB868AE3B10 - 3BB95C30831B903A3A9620ED16B96210 - stream[256..319] = 90E2A684D3960A4B1DA5DF19BF569288 - 5A23892F2003AF2319FED9C8D37B8702 - 7E61290E013FDF93683829DB99C177F0 - 222EDD6A0FE3D5F7F903D3CC15C6C6DF - stream[448..511] = AFE7454BF77E3CE1050ABFC2E25F9B15 - 011F33B93660EA4AB5E7BFC513F2D787 - 27F8008ABC1E14B06C36F7750AE88C1D - 7AA2F6EB9F2E925CD6CBDEC5FBA3EEA8 - xor-digest = F1A8C58EA8459686DC5BFA2A81E80653 - EF6141903898D1A3C7298358A79D674B - A971C106CAB035722F246D3E67D34543 - 3E71DD374DAF73036EE55E6C0ECE5FA3 - -Set 3, vector# 18: - key = 12131415161718191A1B1C1D1E1F2021 - 22232425262728292A2B2C2D2E2F3031 - IV = 00000000000000000000000000000000 - stream[0..63] = EB11D29C989FB09961A673D8412360B4 - F4E6DF0169A3CE207656A7C72D6FB8D0 - 95CB3A7A6CECDC2E167CD35F62A00110 - EF09FD32B61A8B405A3F55A1313F0DFC - stream[192..255] = 8ED27EA005A3E298560C829380D4F1E9 - F0C7FD5285F04AE6FD66C94CC07C8C51 - EE8163B7414A52B0594C5F7F80104D95 - 0858C9A52F3C156ADAA025C00B180429 - stream[256..319] = 12DA63247282599F2C50B172CDB4F31B - 20952134800FB8BCE743BBA90E6485BA - 057A9C5E0989A8FDCEF1C88DD54E920F - 7028EB284306FE6A87B0FE063DAB9557 - stream[448..511] = CD447E9F58BAFB77F6E02AB5A692120D - EC4F7BD597DE5C54523A7944DBA6A3C8 - D00000D3E70F7D9292B7135A7F054812 - 4B98680DEF6631D2D10E0E7B08F188BB - xor-digest = 6EF765CB84937D5E829A1A1664EBD23C - B474FEA3C5AB137F2D9B35BBE0816EDD - B26EC14D74EFD0F9768C521A6FAAF122 - B5E34A36344FF0F0DB3CC2F2780D05E8 - -Set 3, vector# 27: - key = 1B1C1D1E1F202122232425262728292A - 2B2C2D2E2F303132333435363738393A - IV = 00000000000000000000000000000000 - stream[0..63] = A71D4189D1338531D3C03D00A480C8B8 - 49C779B7E113FD8D59516164C161EAE3 - AEBF74542FFFDC2FF8C2666FD5AAE413 - 19072673F958F498F8FB9743BE46863B - stream[192..255] = B0B3803396AFF1646369B6FAE62EDBCE - 5254E7C8FEE88F9EEE5D8A7B6D44ADC8 - B89895198E3C147FAE0C9B8325EB3501 - 6EADF77C5D7F402CF3168448D2A59E23 - stream[256..319] = C1CCE6956C8257947C004528F568E3CA - BE9ABF891E2FC2B52D9A1E6EC97A22B1 - FFD1C77E50A17CB47014C9EDA1853AFC - 11526F6268102780ACB3E0F120398AD0 - stream[448..511] = 765857312C8994EF6BC7259673F02E38 - B7E0A764FB70534190033FB1BA86D5BA - 3BC6851DB596970A2F60831EA1A31CAA - 96085680CBCFADD9C5F0330CB72AB5E2 - xor-digest = 30EF19DE0E750BBF6AB3FC924742CDCF - 62B2FE5F25983BB9777C727679CAA39B - 1280AB468051463E7EB287AEEFA5AD0B - 9C9DFCA45A3124D5F41F4B0AF5849E62 - -Set 3, vector# 36: - key = 2425262728292A2B2C2D2E2F30313233 - 3435363738393A3B3C3D3E3F40414243 - IV = 00000000000000000000000000000000 - stream[0..63] = 2B9B987B7CADACD2FA50A53A9F9F44CF - 4ED11B3E25FE57F1372C6D570B470AFF - 5FCF3BEB89D0692D873EFEBD26EAF3E1 - 1B6892913F0CB27F3CA9BA20AF7A98F8 - stream[192..255] = 0148F54B1D24F3D69A2086D6938898F5 - 25BDB1B1F78C5F92BA21FCE803A52591 - FCEC9A1AFB0FB3B081CDB1D79D254845 - 40EB9D624B5E113A4F143716722687ED - stream[256..319] = 271FF1107AA8968E0ADDA5371F40224A - D8E134AF80D5ACDC9803B1B3A9819BF4 - 8ECC3A68B303E1275FA97222F7E984EF - 9C73899433230FD746DA6101DE37ADA2 - stream[448..511] = A66D3BB64C35C71BBAA3F5410F388253 - 2B32897B1CC1AD610F3AA195CDC1EB82 - 0262E817374384BFBE200339B284ADF4 - BFF6960B6A41AFA9D7C9B67B19C14C37 - xor-digest = 3CF10A4A8BA3E0DA3C0B63F1B913B57F - BE47580DF7D90B13459A9BC98B93B014 - 1185E910EDC0A5B37206542B17CAB8CE - F050A4ED3D7097B6A0738095E4BF7A77 - -Set 3, vector# 45: - key = 2D2E2F303132333435363738393A3B3C - 3D3E3F404142434445464748494A4B4C - IV = 00000000000000000000000000000000 - stream[0..63] = F32665A4C73608E133D85712D2CC9A76 - 6D2B83311B3F44564A56A97ACC9B6492 - B282A2E62A435A7B7799073E010C78C9 - 4B7B5BD1B25994D1CE31B51CBB13BE90 - stream[192..255] = C9F24592930A0A9148486D77C1FFAAA4 - 4E4EECB088D6AD38D73B195E576BEE56 - E2CDA968FEB85D19BF89391813501B02 - EAB39A2E78B8CC7456EE60EAC3454051 - stream[256..319] = D8E1D09F074708379189BBFEB1E24053 - E0BB5980FFD0371265320C3047F0ED36 - A65CA8D0DDF20DC25B552E1882811C77 - 6613DBB4297DC6C89E31529DFCD17C82 - stream[448..511] = 8012813E7879B3E99C40821A97469BF3 - 9D2EF3B888E3118275F47F8C78A5F7CA - 19A98B1817D2D7734E69C5ED43773D68 - FA100E2C37F40FF8E018DBA52C5C239C - xor-digest = 8AFB9CD876AF4F9693FF4FF511D89957 - C8BB31D9DE3F21B726667681F805FFF0 - 4B50850696D6C2E5C271D199CF49F1E6 - D366C7824273E99360BD5A294E415F0F - -Set 3, vector# 54: - key = 363738393A3B3C3D3E3F404142434445 - 464748494A4B4C4D4E4F505152535455 - IV = 00000000000000000000000000000000 - stream[0..63] = C72B0F98EE5C2D44260E929C70DBF174 - 02C03543483178C8BC129D67FE2746E2 - E881F8439E2A11EBB3716ADB16207BBB - 91454A71C444445CE64003F0BB1F481D - stream[192..255] = 5590F4278E78AD19293525095C2F76E3 - B35A3858CB5912B62304180225BDC985 - ED955521436DEC441B9C742B3C5F4CBE - 94B99689048AF93E48472980D058807F - stream[256..319] = FBAB34E9F432546EC8C52750DA4D2278 - 4C1323D4E3F4E9B63E65A7E3C8B2637B - AA5D0A3B897113F68C63CCB78B5AB40D - 0A0DC3EF1EB09DF5C4770B343B6B5155 - stream[448..511] = 78B0144CDF2692F0D0F164ECC8621F5D - A00C401007B82AAE7753712FD6185E9D - 7ADC8CFEA6D5BBC2F3EDB8BF2C77718B - 6A424BAFD30C30934FC645FF05704BB1 - xor-digest = 835B5361A9C1F88223DE7BCA09030CD4 - 67065AAE99198645029CC0AB9B9BD579 - 14332392ED7A433A64D95B44CE228860 - 7E029235580276BCAE88F37418FB641C - -Set 3, vector# 63: - key = 3F404142434445464748494A4B4C4D4E - 4F505152535455565758595A5B5C5D5E - IV = 00000000000000000000000000000000 - stream[0..63] = 804025A410EFFBA58647A9F4B443BFC6 - 1CDDC30CA04DA8DAB3EC6A098A830D68 - 2683B59B76C60C09938E67CB41385315 - E2504B024DB808923B0909EFC25F0927 - stream[192..255] = 7A4661190129E3F349DA7B44DAAFC388 - 5E4BEEAC9308844DDA45E8E06637246A - 0E6C8C7D94C5F710CB78CC6E0CA82870 - 8CA77B6266B41E3ED6BAA2940F1977A5 - stream[256..319] = A3EBC22126B6069C674DB604F8C22B54 - DA68FB4390617E86C4FF089344BD0DB3 - 887B3438E8EF8207FD89B2A485C0B383 - 22AEB69750AD054F843DCA7995BB58A9 - stream[448..511] = BAC68211F125B57B8CE5E42E644997F5 - 2FD4B8A7D5CBF89ED2F6B5F4D4C7FA5D - 0CC34212160C6BA536BB7604C184367F - 2E088528F3B3A0A1B20F9249711162B1 - xor-digest = F628E74D1EB94591694631F1B2F12234 - 38B056789D5C2ABD8CF34D9FA7B8C304 - 5A8C2298B7BEBB90C7CC86895693118B - 2A43B7E8AC7E534DA7965EA720F19180 - -Set 3, vector# 72: - key = 48494A4B4C4D4E4F5051525354555657 - 58595A5B5C5D5E5F6061626364656667 - IV = 00000000000000000000000000000000 - stream[0..63] = 40409D9AD4CFCEAEB8FF613D32B59180 - F5DFBBF44C1B7209AD1AD5AE94DBBF3A - 83EAB34D2617ABCC396880BD5F5D220F - F434DD575E66CA74BA32862293113C5D - stream[192..255] = 42D9EDDAF89B93DAB4AA790BC9C45BAC - 5E94575E175C2EB1CC08BB39019E25C0 - 9B0F4F435ACE371BD9235C61C56A362C - B1A64EE58F4938D59073C5A8A1BA679A - stream[256..319] = E40477D1B6C901AFCC4A2C429845C7B9 - 0DF890C317A5B9D6368672C58E0BD5B2 - 7E42DA77BDC2BF47F9AD195F7C192B53 - 24FEF88E6B3DD1669A068E3FCB58B203 - stream[448..511] = 7616AA094DFFD4BCF94E03C9CCF95C31 - 8F247AEBDE281334F8E6F46271070BC0 - 1AC838D8FCFE18865DD30949C68052C8 - 6E93815B4EA9480B2D0B6A5D9888E597 - xor-digest = 1FE60024F188CC243F7D8221D990ECE3 - 29E89847C9BD60AF23061E9C27C4908F - B00D8813E680F00665658CEB077BEFAB - 5DEB41D3547DD645DEDBB3BF5D7B651E - -Set 3, vector# 81: - key = 5152535455565758595A5B5C5D5E5F60 - 6162636465666768696A6B6C6D6E6F70 - IV = 00000000000000000000000000000000 - stream[0..63] = 1B8DA47812BF2353C17C89AAA8695E9F - F553BBA44087D262FA0C710B69765F12 - FFE190625F58DA899B56FA7AB5E0E674 - 4CA2B073517B9577712D7155E16A874C - stream[192..255] = CD2BB4A6C3D7211773421014611B677C - C0A8107544ABF4F914F825891E52DDDD - 76EFDBEE614573FF9674EBC154A3283B - 439ED8197E1EE0705955A8B6C8AFF8BD - stream[256..319] = A626C40CD2C48AAB016C29020096DE28 - F03842E785BCE9D9E385D0B13B63F82D - 789588FFAB07B8CC0FFC62AA86D37CAE - 5CF8FD43B575F9F4D6E07465B700D47B - stream[448..511] = 16A3C84858207E141022D228079D6067 - 2784EBB56E3B84F7DF07EFC69060E27C - D1311E51F5893AE6BFF80D34464DC60F - 61985F8F88164CCA69EFAE568BEB546F - xor-digest = A24EEDA74185884C5B287663C3F5F031 - 2743CCAC657C702A29E0C20BDDE304AE - A54A9292B447039D50479B6CE475115B - 8791854540E15D642859D10561AEF26A - -Set 3, vector# 90: - key = 5A5B5C5D5E5F60616263646566676869 - 6A6B6C6D6E6F70717273747576777879 - IV = 00000000000000000000000000000000 - stream[0..63] = 3F7261A3A4691A73441762D113EB7817 - 4C515A96C5C93C514EE559E7F78A633A - 01F0891910D44A7EBB18768E3B912488 - 6069CB5304E79ACA89F62EFEC4EAC11A - stream[192..255] = 5F11904F72123CE29D1D883AE5CD2A89 - 2AB26C9167A24A57D6F64BDE3A8E1A93 - 7C5347C585226DB44B6252AEBF3CCAAF - 2D5E60C56FBBA6068B35AA6A61C84A44 - stream[256..319] = CD6C5B784854E0121933E77C700D9C1D - 7452999F859798499A339F78FCF84615 - A3190A2F558CC529E636922A1B75A3A1 - AF280FB3F486303093DC1564EA0B6D3F - stream[448..511] = 61B8163A84540727204F0B18D9CAED3F - B5FA87089FF4E721D2EC34D21C59B93F - 95297725780DF04A5FE405FEBAE80AB9 - B8307B9A74774E76063F9218CE243002 - xor-digest = 944EF8435F32FF2A67CDA5FBDFE02C81 - 0997D9C8192633A193D6122A051B801C - 15555BDF410917B9E5DB86F4DE8B9874 - 3E9F92F903543AD14087F4E13A915DE0 - -Set 3, vector# 99: - key = 636465666768696A6B6C6D6E6F707172 - 737475767778797A7B7C7D7E7F808182 - IV = 00000000000000000000000000000000 - stream[0..63] = 71BA7454CF7F6CC93C89EB22B9D608EA - 0FACBB4358DD007421DAC1E65EE99161 - C542DF02611AF497B2D53748D0129C0F - 5B9704C8A6017507EEFB26B6287662CB - stream[192..255] = 92D5D35B2E02D204E68C1AD6C018DBA6 - 7A1C90F563AEFC3D031FD3F7D4F5E2F4 - C47D326A9C49A0B2ADF03D9E7E429AA3 - ABF253E623BFB9EB040B5F5CF1FF68DF - stream[256..319] = D6C22BEA96DF94CE9D5D34E6231CE4F9 - A2D2F6097540F9A9160DE139E2E80D0E - 5AFE08131FE10F0DD7367E43D314D7F2 - 2321B5F89DC64F286576BA599A58F48C - stream[448..511] = 43DC3ACAE02DBF68AB5B65A81630474C - 639FC4DD36FBED518B6471F7C3E70FDE - 23CF1E128B51538DE0D5A47F20A554F2 - 09668FE28B0C4884888FAC438960CE7F - xor-digest = 7B0EF650F3847E3EB15EA1CB64EE7189 - AA5B04F527661C00F4603E48CBE59F7F - 48498D80F6C5ED956ABBF97E6910EFB8 - 341C7BC2E81E66A4B9474BE420DFA5A6 - -Set 3, vector#108: - key = 6C6D6E6F707172737475767778797A7B - 7C7D7E7F808182838485868788898A8B - IV = 00000000000000000000000000000000 - stream[0..63] = 3C4CBA573D803324D099BE1F436F944F - EE506CE77EBC01FAF0060B76FA5D2005 - 05CE94AA15F3C4B1E0194264CF13878E - FD36288EA4C2ECBEEB76828EB460AED7 - stream[192..255] = FFA464FA648309E295314DEF7169DC60 - F63C90AEE9F27B534E11D25AEC454823 - DF6BD39C1F9CB46276C630C129536506 - 187251D638D3867E96A84BD570F78461 - stream[256..319] = 6BE88BD0D2257CF7EBF7100B442F68C1 - ACB94B6F8991C1461D318BB80E59A6EB - 8009DFF46B8E339A0CD4FB285ED1E433 - 5FDBD65537D9CF1FBB0F9F10E17952D0 - stream[448..511] = 909997D084DE4F6C910D57DB89E1EB56 - AB3F9974E3DB5935D59917CACCAA31CC - E009324E52334BDD6CA971AF49982122 - B195229DF0BFE2C508E981D303061B2A - xor-digest = 8B2B49D564662BFB29A9F4E1A3DC7664 - 774D41168EA27505A2A518DD94C2A507 - 0D28E1E69DA2F084DAB024E8EE2D022D - BC73071B8559BE2FCBC2AE3605696482 - -Set 3, vector#117: - key = 75767778797A7B7C7D7E7F8081828384 - 85868788898A8B8C8D8E8F9091929394 - IV = 00000000000000000000000000000000 - stream[0..63] = 6EE8B7E51036B951205064348C222881 - 624E9FF59DFED40AC6CDEA0945A39E72 - AD05FA929F7AB69BE8234567734F8F96 - D74DE6038A463BD8FB86224F5CEA0D45 - stream[192..255] = DD9CD1757A95E616E99590E76620E9DF - 0BF811F73B70C5CE982FC9CECEFFC6BA - F7DCA30517A9BDF44515262ACF297AA2 - 2CAC3F216C12A9D0D6912578DC672D18 - stream[256..319] = 0B7DE245062DCC9B1D8A945CD9A04938 - EB9BB258B4B7BCC263487B3599B1C6BE - 7FDE752D65345F00DF90896DF53244A5 - AB111134B36A99E2D2200B4D2003A520 - stream[448..511] = 2566E8427BBAC7F0A35C6E4BCDD326C9 - D7164A9E1F767038A09A75B5076E05AD - C51F008E9E3184FA4DC6E4764B381944 - BCB96B57FCE2339A01501BDEED46F8E3 - xor-digest = CC16803D36710AFDB1DEBC653DA7DD12 - F45B02349B87C3006DDCAC1635956846 - E4D7D6064D19012724BBF836A7DB7A3E - 3C12E6288F546EF316406D9C5E844BAC - -Set 3, vector#126: - key = 7E7F808182838485868788898A8B8C8D - 8E8F909192939495969798999A9B9C9D - IV = 00000000000000000000000000000000 - stream[0..63] = 4F4169DF51C9865A20D7E79DEFF7B121 - BD61F4C79AFEDD0598F55E9D9A3615AD - 19292095DDD83904B3683722A3337BF3 - 4E98F63EB19927155E176F2E8D5560B3 - stream[192..255] = CF82F8F2A46A898915B3E371BE941811 - 682A8A0A20837AF471B5CAA4B4FB01E7 - F2B0CA9ED3BA70BE305587F1ED995946 - 223032F94BB2ED7D418C95F202887E6B - stream[256..319] = 219C121E08F7458BD657AC4131221C78 - 43DB5817B17344922C54A002F3F67574 - BEE5F7FFC7EFC5615444B51FDDEE8B71 - 981FBFF658D2504BB53C13D0342258E4 - stream[448..511] = 55C2A93F43F260EABBC1A173AAF80A95 - A7EA74CCEF6E29C52957AB2247126336 - CEA5BD0D08F873AAF733B3A11885F04C - 58542B4C8ED3E1BB7F7918C4E92926FB - xor-digest = F69FE6EFBB4A6E65B517445069859EAC - A9C19FCB9C1771E75266E5B4C39019DB - E959AD97F2B8D7F1688FD0AC04AA7C2E - 602F28A63DEAA49A7BE1422B47CFBE00 - -Set 3, vector#135: - key = 8788898A8B8C8D8E8F90919293949596 - 9798999A9B9C9D9E9FA0A1A2A3A4A5A6 - IV = 00000000000000000000000000000000 - stream[0..63] = 3305344A71266B450B2CDEB049A048D2 - 6171B39A88C25CFC0821E4F4EFE378B0 - 702DA31652B5E1BAD9FF4C19C20BF329 - 639D5942DD2209DB1D1474B6A7B41B76 - stream[192..255] = BBD9714BF2C343B11DD7943DD8CDA8B4 - C6A913F1DBE21A0582B3FCFDE91B61A9 - 8863AAC17D07D8F98AE8E71BA5636251 - 49FAB3EA775D3C7735BFC732C3C42571 - stream[256..319] = 473F161607321838FEB9359B0006068F - 9D88B1A073DA14E60AAF1501F3A27350 - 53E3FCC794893257CC3C1D4E1E3CF609 - 975E865CA46C892823C838822AF0CD2B - stream[448..511] = 89F37A53F18778084307D0BB71E5712D - 32F0F3B7C2201D01D892F6BF6068E4B5 - 394995CE6BFACF08587ADA39CC647DAB - 9B12F5505055F372FDC4607F0355DBAF - xor-digest = C9E7E4A4D6782C02AAC4F47AF1D142AF - FAE569B755E880C6B8A5773EFC0E63D2 - 3D7A113738CDB1A0544175861401149C - 753D723CC1EF515A9323DDE4B4A765C8 - -Set 3, vector#144: - key = 909192939495969798999A9B9C9D9E9F - A0A1A2A3A4A5A6A7A8A9AAABACADAEAF - IV = 00000000000000000000000000000000 - stream[0..63] = B7954C45CF301CCAED3F1E7E77DCE45F - 2D41B3B1C1F28F0308B8AB4293B64A60 - AA7936DDF062613DC1C454033D2A40A5 - E99BD975A26185A7F419E7B337028FAC - stream[192..255] = 27AF957AC6C514514C24664AA0C9C23D - B1EE30950177389876FE4FF2E1739912 - A09E20A2098751049C8925334960A324 - 5ABB50F3D333587B67F153DB145B5F6C - stream[256..319] = D94FAF9FCB753E992B898178373A36D6 - 23C6BE2420AC2EA848130073F086164C - 9B4E69B024991FFA8FAE94E3C2FB16F9 - D747320A748DE9FAE4FE9E6A7E7D5659 - stream[448..511] = F664AFD3EDC0FAE88016C8A028E98D34 - A27843372C6BF8F51C7B49B94A11274A - 6A161D776E6C1FF05358F28426C3579E - 053B4137F8C4CAE07B994B80DA06DA27 - xor-digest = 521594487B583F5F71DA10E2316187F2 - 2A4885A69D522F82F7FD0D5F93F69B2A - 060EB60965AC010BC489B401F02C26E4 - FE3F82B83C964B4DB4E0E6BC2CE4B865 - -Set 3, vector#153: - key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 - A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 - IV = 00000000000000000000000000000000 - stream[0..63] = A5E320FF65811FF5E8934F3AC73B3733 - 77D3AC52446F64646946BFB8F6DEFE3A - 04E859DCCD9F421D2DF541F588B9C204 - A9846C7AA1C017D637D7C5E244602105 - stream[192..255] = BB16A9BDCA0D4BCA589A34F9278AE55D - 6A7711EC87563C9F394638041CBB0E40 - 4CD2149218D501D3B62421CBF81C6576 - FA659C2878839FCD6C8DD1BA38F46E6B - stream[256..319] = 58B4004C53EE64CD45BC4A1F11F700AF - 0EA5ED86C4BBC145C8F588B7F708427C - D2292D76329E4DB1F289DADA687B7784 - DABCCD29B8C464CE021856FD06554F76 - stream[448..511] = 1113D37AB2964AAE6586AEE1B060F0C1 - 02EB3AF048A59CB709792C9080183CFD - 2A1A47277F413F1219B5AAD7C8BC8079 - 246BD1D6F98C11997E4ED0F68E165D9C - xor-digest = 512F4852425DBF91234DA31986732CC3 - 1F9649A1965E22E18CF38979EE6D92B0 - 83333422A92F841C25F827782FD7BDB2 - 8F4B40AD5EE53C37192651A86F03A17E - -Set 3, vector#162: - key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 - B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 - IV = 00000000000000000000000000000000 - stream[0..63] = 96328CAA099502092359F397972568F8 - EE2FF1C4305EA06FFD8CC125CB10BE85 - 65EA30B621437AD4CF9CE731185720F2 - 0CFE17DD45E6361A8212EECB346D391F - stream[192..255] = 74F26B7A37D673DA0B78B38938C5C1EA - 2AC666612468F63B540EE7B17548F8BF - 60A9845BECCD7222620FDF7BE904FE24 - 7D2B7EA749C9590133CD6A218F6EF624 - stream[256..319] = 8F8AA7A4C64C3AEC5E85581C53E3FA64 - 22CEB927E370C7B0F98F038E7ACF4D05 - B54430D91B0A2CDC001BFDDDCD0081AF - 35B67E5BEE6B8E113F36E3B23CE29F57 - stream[448..511] = 53E20B4B90B2DDAB40DC30643AA5F539 - 70ADB65DD0B64CECF3D3B4C0567DC818 - 0362FE9CDF920526C59725AE861940A8 - A32C35382571F2FF20E7FBC504E1DF9D - xor-digest = 8C7C45F50A151D551E9EC81EDFDD5B2F - E676E14253FF38EBEA12395040643211 - 3254B0B7298AF77F8F9F4203B971EBC9 - B9850152A96C97BD4FA7BE8592670903 - -Set 3, vector#171: - key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA - BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA - IV = 00000000000000000000000000000000 - stream[0..63] = E8DBC8E5D18C5BB2B152A6AE9487AF35 - E2044F30EE8189659043923E579C70CD - 4A5590968600AAB0F021F7AF283D61B4 - 13C739DCFC22632E1F6CD553D4F21976 - stream[192..255] = 8675941731B385016430C9A157007EBB - E9BD8BBBEC44081C1F5E73C7E783AE90 - 1A7F56A20E5DECD1E94E1C92A07CD2B9 - 91619BC3358AB812D58E0B98EA288D03 - stream[256..319] = 8D09462E5B1154175513CE7FAE1AAE89 - EA2AFDFDF1B39D69FDF60B1954BF81E1 - 62F29468E07C251E2D174E9CE924A5F4 - 8A470D1808C68ECE534CC08204C5A2E6 - stream[448..511] = 60C5FD4C1831F0EFD70EFF86A5D38D96 - 2C402453561D0021A51F07D40A7D3B8A - DF455CE484E89437DFADC52A52741B80 - ED0EFA9AE4FC39659F8300AE9292B9CE - xor-digest = 12E57044A8E7F02EBF6912BB73836FFB - C4A2F47AE1B824AC97C1237B1B14DEFF - 12B5B87DF14A8B5B6C85C0481BD69DDB - FD76FA307F4C1F7D21E60C0BCFECD3E5 - -Set 3, vector#180: - key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 - C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 - IV = 00000000000000000000000000000000 - stream[0..63] = 540980C2A3794C04B93696B90E48999D - ED8E1D3F4720918C80C95B9AC0E911F4 - 6593C4A920AB291D98891374EF286286 - 2386B5FE17654278EC413AAFF1C384DC - stream[192..255] = F3E036D7620669F851A1B58BCE57B079 - F5D75829EDA4E68C36F086CBF2E5DD78 - F7F30C1AD9E4CB3C01B7F2FBF53A8AFE - 957786B2D3E9CCFE7D6FB24397803BC0 - stream[256..319] = 1AADB95F07E6268BD82ECF3453DB5014 - 9745CCEEA9F1887B5F257594ABBFFF43 - C3187BD9A9FFBCCACEBD7A21FF90D18B - 57FCBAA64B8FECB56D5A7FE05BF03E3E - stream[448..511] = 4170D41CAC2A7AA5A3C9228BF386B9C5 - 57795DB5D1AE547A31C553F55DE02E6E - B69D76A984F4F1D84F29D5CB98190C01 - 441DEEFABDBFE405F22FFDE734D9497A - xor-digest = CE103B99AA95B51D2D6CC54A15833E34 - A11778F5E05BB7AB61505D473228069F - CB40015BCFDD3E1D0D5E1F832791C8DD - 3184273D1B4C67D800EF5FF004660440 - -Set 3, vector#189: - key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC - CDCECFD0D1D2D3D4D5D6D7D8D9DADBDC - IV = 00000000000000000000000000000000 - stream[0..63] = CA30678AC97B4591E287FF8B5E28A838 - 611D654A4EC592328039E3A1DFE90FAB - BA5A37133E821E0960520EEC850B6962 - B0378E77770681ACC0929D16DD260925 - stream[192..255] = 79FD1893EBF30CC2CA9C5AE92B0C063D - 894EAE4BD50BF462420081D1CAC57A5B - AA92E73D3B3CEA147E1F7127AE1F6FA8 - E9B302A068F26157C904E0AA7B7A072F - stream[256..319] = 6880FCE56677345CF1CFB2D38F890C15 - FE33D377922AE43348F5590B84426EC9 - 0DC2A3863136790EBB7BD9493D2F0808 - CA9287CF95AAF366A11D6E7A556FDB02 - stream[448..511] = F385299A7038DA8A90058C510727F3E4 - 524A2D95D217A1C199552753F253D45D - 81DA40431910DD54B619A15C5C302411 - 613D28D53493AD836251F0047FB911DC - xor-digest = F3D10E261AC596959B4AACBCF335D043 - FFF65E2651F046D300C19510E1677F1D - 45F287DFB8C17055A012C234B6EB04C5 - 76ED2EDE12DFFE6EBA4A39A64DDC573A - -Set 3, vector#198: - key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 - D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 - IV = 00000000000000000000000000000000 - stream[0..63] = D5EC301FD496586D54D9B21FA23DECB2 - B25DCC0784BF77DE84898AF96023647B - F1618234A239F63FBF3478FD6EB79299 - 66BA9B670C64118444C95D31405873C9 - stream[192..255] = D455D37F435FD0FDD6E1EDF8BAC28D2E - DAF587F938C49A5F58C32CE8D5B8A4EB - 884B016E54277300D461FA21512E7695 - D2D7489A4560FC7A72A510219DF1C5C4 - stream[256..319] = A7B93D8B7787B6C8F80EDCE72D4D644F - 0C6400C3AD0443FDD19C3F3675083F4C - E5ED87032B1813DDFF758854C8D889A4 - 6FDC61C210058DB72D838A0913D80611 - stream[448..511] = 94232F4284F46DD2E7933F9635C26C48 - 6CB935031095777F59BDAECC4FDB4109 - 9037C38C91620586DE93B66EC7376502 - 6853B7390CA516B694583447DD863310 - xor-digest = 8596C088FA66361FD90A2132CE33FD52 - 34910610DB006D223B0574F21BF1CD4E - C282C67B24AF6DB0DB70BAFF65D5D8D2 - 1C3955D466EA2B49C5E8EB7E07475919 - -Set 3, vector#207: - key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE - DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE - IV = 00000000000000000000000000000000 - stream[0..63] = DBA2DF9ACC53C3EDBB566C28F689D7AA - EF631CB44EA91610A94685FBD862C9D9 - BFCF512BCECF36E035E2E577F6BF6EF9 - E4B0E7623E0DB23B10055677C7B9F857 - stream[192..255] = 8C78C9714577E497E3CDFE3ADE19F03F - D2DAA3211C1E9E5D9F21FD1ED696354A - B7552BFC7FC675FAFE7A739F6E60A839 - 547F8F15BA5EC6F75BB05606BBF209CC - stream[256..319] = B23F187B1BFB5A728BDBD78B75C3265B - B04C6B350A4DA4EB021D6191263F052B - CAE73E5776002FF05DEC3D341AA20D2C - FA523E6B92329A979BE06CF4F848A1B5 - stream[448..511] = 7E2ADEA91939388D36B3F97DC87C2A86 - BDE7BB4884C40D8A202964ECC7440987 - 1C64B03EAD0F46A3A1CD2CB935DCCD67 - 0B43292D5B852B7A1B3D1F853EF22EC7 - xor-digest = 1AC1E42C2DF9858537D0A1BE3B2AC094 - 54136E53AE56B006395969C7F999B2E2 - DE1DAE62740FF339DFC8769F67AEF352 - C4726B4AD4BAAEE56AB8C55FACE34860 - -Set 3, vector#216: - key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 - E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 - IV = 00000000000000000000000000000000 - stream[0..63] = BB00F8ECA9A10D2B137257E86B455DBD - F9A6A861F19533E38C3C9F54195AB803 - 171D35043FC9C4204AFC9A8E72EDA4CD - 60220B2EDDEBD5482D7833979C15B685 - stream[192..255] = 6CCE94C2BEBFD223AFB7AF1110F0F6C4 - 01AFC533BABD84F8C4A54E8A239A194B - B56E0CAFDCC59B9B5103471DCEB9F706 - 7801D79530B7CF40F2DEC73A169C7481 - stream[256..319] = 5144745E042B76A6B62E78C92FFC1C0E - E59979CE4B2E4B2CAFFDFCC5E75510A9 - 201E8A97A6A1729E35CA81D8645FC118 - 177DA5FACA0293B972AC0957C43BB1FD - stream[448..511] = DCF9B6116FA5EB9CFDBFC8C97EFD89B5 - 268C0D529141FC3C8262B8BE38E94973 - A21919D498FCC3896B0FB4CEB24D9E2A - F728003C36838638888FFF1D0D526B37 - xor-digest = 99EF8A7D0B8D08E976EFBAE56F7CAA91 - B1FFC7428EA56B7A697AA3B621AA8DBD - 52681C7A9A415049AFB6B7D8AABAD024 - 0F9C3112092816F4C69D36B1300ED3E6 - -Set 3, vector#225: - key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 - F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 - IV = 00000000000000000000000000000000 - stream[0..63] = E3DAA6E498609DDC5A31BC0B6ACC880B - 695097D2CE2D1FD162C7802DC0D00BE3 - C0126CF947CEDBA7833421D70A914BD6 - C33B0A77BE8BA10879D664F054C29302 - stream[192..255] = 0015EFCCDC554D042531FD570C6B26D9 - 059F4F4DA675BCD12C038E4A8D16737B - AAB0D7992340F4EE4324959E96930934 - 21234D41F56A995C928F82944B46BB19 - stream[256..319] = 8CE7098F4C64DF2E8A170DA3D02CD99E - 0169B99A261D1072FA116ED39244EDBE - 73EB9F1CDCF8CCDAA9E94C0DA9C6EDC5 - 426751AB8300836435BC6F727F793281 - stream[448..511] = ADF85AF30894BD0207DB4BF72D9DBAC9 - 144EF6B24E515D96475897EADE40A92C - 79B818499B8CC328859561D79D727423 - BA81055F3387608E56173AA27D286924 - xor-digest = F47ABED85910334919B5868D4531FC15 - 24D61CB16C23920750C73E2B08A4B5C8 - C621482F6D9F01EB59763C5F89AC1514 - F6CA4C40216D6385F304E9514B014C02 - -Set 3, vector#234: - key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 - FAFBFCFDFEFF00010203040506070809 - IV = 00000000000000000000000000000000 - stream[0..63] = 4728A29A2F2BD276FDE176CF4A38BE65 - B84BDD41F065DAFEA8302334CEF92A5A - 306EF904DADFE92E3E975EF9EEC9B3C8 - 4AFC167545A0CFCCB6B1CA688967D8EE - stream[192..255] = 734153A78089B6E6EC0F520D39BC3FAA - E1DBAD30CBDA32395E51E500CE4E118E - 23BC8CFDB08D443F1932EDEC52CDF3E2 - 1D021DB791A56A7C16FDA02912FE744C - stream[256..319] = C511914A4BD9B29488B7FB1E62DBF905 - 01C0D85C5A238448065C188F0A4134CF - 6A1FE1DAE57DB8BDF89FBF7FA66F3E32 - 14CC9658DB292E4562A1761B9EA77570 - stream[448..511] = 946944DF8E41BD585723CA1C03909E01 - 783617D9D1129220ADAE7E5487AF4B54 - FF6593B37BB77AB0025C28727AE5933E - E3873824E46F2209D26936FC5566B21C - xor-digest = 34E04FBDE6E3DF6EE14BD179226D51B0 - 1513510665589CB794C0C08391FA5929 - 37B390E86BB4A72D427F58A1EFE10F6F - D8A14A6F38ADE34331C8AC6AECA5DAB3 - -Set 3, vector#243: - key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102 - 030405060708090A0B0C0D0E0F101112 - IV = 00000000000000000000000000000000 - stream[0..63] = 2AC7F22D838F68107877E90869F98797 - 493171C8A5EC2E51D536A1578659DC16 - BB2F644C290B0F006BFE3FA0FE0CE917 - D32E94643848867B230270F54D0037B5 - stream[192..255] = D21F7FE6E368989CC75E8D9080579385 - E31680302BA8B9B2F56984FD49B01F4A - DD36AE4A28EBE23B5567BF5A539E2621 - 1AA8588507916CCB572611C352E73E42 - stream[256..319] = 25823586A7212D44811C75023193864D - 85DFA17EB7D5A34BD1CDD3260B5D53A5 - 56EE2E2A06F84E95CC7323379FB924E9 - 9E1A3F724F8C480A1F40B2C4A6FCD433 - stream[448..511] = C1DA25F3B4FBF8B2917103E6274FAE81 - A5BF4086A161A7786BBD5A33662E48AD - 6EB9A944CCA57C51AE266BAF756EA506 - AE077AF0AD8B577A5A02F5563FEBA2DF - xor-digest = 6176BC64072356BDF719676CD2ACF288 - CE2DC1272ED9C4685A5CBB7327669724 - DC8BB64BEBA04564A7879F7B9AD5A936 - C4BC1AA4007A0F85A5B5B945B418BC61 - -Set 3, vector#252: - key = FCFDFEFF000102030405060708090A0B - 0C0D0E0F101112131415161718191A1B - IV = 00000000000000000000000000000000 - stream[0..63] = 0854D9B674256934E204484C6D59668E - 1C94891FEAF6E08A92038E41EBA38292 - D19FDBF852400123237BD7DA620767D3 - 43C2FAAEB08A394EFD1E7C1A3776B1A7 - stream[192..255] = 4BBDDBE675E0F9D7DE0BC1B0E0C64FE4 - 52F95ADE61D5CF2EB805894B3CC3285E - 6C6AAB72DAFF826D945B05FC4D4A6BF9 - 37B352262AC12B7E6F92D5FBC4ABDA05 - stream[256..319] = 7BD11CF4273EA16E01154EF9615B88D9 - C52535D2F0C7FD394D94AA7EE542B448 - 9A046F2625011EE75F874641D1C5A709 - B7FD1DDDCCB2A6F1A47B65361A9B0D6F - stream[448..511] = 0AB902B571D11B5F2F24CDC7616143F8 - 45E7DF2050B263D7A841DA170E17C00B - 4A20221D7ACCDCB0E131108D94D903FD - 7E2F7988445A7DB54F653186D69F3CCC - xor-digest = 1266CF54E8BFFC95F1CD3C532BD8EAE3 - BF000577A811DA58A41AAD9164CCDEFC - 401C1B6BD2BDD9E992707718A9802B55 - 33D7A8F490DF116FBCD8C85E9B580487 - -Test vectors -- set 4 -===================== - -Set 4, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - 3083D6297CCF2275C81B6EC11467BA0D - IV = 00000000000000000000000000000000 - stream[0..63] = 1C43EFA7A2CA90F5E8F9A4F09D4C9077 - D5ABD79341FD75BB2DF9F13CA0B1CD6E - 065FA86938D971D8FAC8A3C34D08CA2D - 1BA08BE56D633951BD0338A227321CAF - stream[65472..65535] = 428908B703282E38E1BFDE62C6B0D8A1 - BD2AB1F5117C85703E9B656FDEAD2660 - 4B7B8EAAE16423A3BFE542AB13748DC8 - 35D81F981CD344015E0DF47BD180541A - stream[65536..65599] = 9D6D72F46C846D9BBF3AEEB463B9EF42 - F84915D664A20FB78AD94B61FEB7D63E - 5411A81D1E8F32BE3044E109C68B9EB5 - EC0BF180EF18BF3191D933F86045036B - stream[131008..131071] = E462CD92492726928381769FF205DC17 - AE7D31E1B82810F3CCB541B58C5F58D1 - 38DB708C5F5BF07A0432868A1AA40A07 - 601FCD1A07DE3071E8CE082833F0B02D - xor-digest = CDCA2F92BF75499E49B586BDA7D9306C - 12F111D1A9F183A83B5A07549D5F976E - 815F96BD716CCAC7178282CA8BEFF4F5 - 85DAFA9BDDDF8E6420DFDBA2573F0494 - -Set 4, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - 3588DB2E81D4277ACD2073C6196CBF12 - IV = 00000000000000000000000000000000 - stream[0..63] = 4F7D4E56036A57A303A9C7D978290216 - 297AC26C187E4F07678EC0069C34F93E - 072D734DBA239D81E566D1E6DCD09B5C - A132714291631C227E391EC0385A3A64 - stream[65472..65535] = C508DDD76C070F712FABA944BCB0F5CE - EB645825C520197867623ED5263E22B5 - 6270F0A878AC7FE03145DD2BF528E1AD - 784086FEFAA0D82F0F3571CEEDD3341B - stream[65536..65599] = B10CF49FE9266BBCA007C8DB526E760E - 79AA4D6A3B29FE82B8698C732FBB81AD - 1A27B2AEB06D05F3CF17E875BC0BBAC5 - 67762275EE650D03F62B29529F3C3E23 - stream[131008..131071] = 42B4F20EBAFB2C792006BD163064EC7C - F363DD996CDF839CCE61E739C3817B4E - 36D311A4C94C7918E82F5158D3A75844 - A5603742E33D7FC3AF018660E6B1185C - xor-digest = FB3EDA7C75E0AACEDD95B625F7EEDA62 - 3DDC94983A9B084645253C0BC72FBF9A - 67072228194F96C1E81004CB438D6381 - A5C7E9E7D134FB8B67DEF27462AD3335 - -Set 4, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - 3A8DE03386D92C7FD22578CB1E71C417 - IV = 00000000000000000000000000000000 - stream[0..63] = 23DE914D641DC0DCB4F818C687803858 - A6673E284F8323787756DAC9352BE031 - 28BC6149A59785F6AADF92FC68761E8A - 862AEDF29E851BF5422A83EE5EABFEE3 - stream[65472..65535] = D12E0C470A955DDAA7E851F43DA35B08 - 15D442DBBEDEECE3ADE18FABF08B4443 - 77ACFE9F138F8725CEA27B0F0ECCB4E2 - E5D6E476F88CAB4743E8E43CE2D48F4B - stream[65536..65599] = 26635796620003DE67406BF741B93D68 - 318F9A23FE823B2374E8BD8008EDD7BE - 2F750707A3835BBA7DAC45E06537DF8E - 53DFCDB928EA34CC08D2841FE3E492C3 - stream[131008..131071] = D3DFCE281FDC69F7800E765CB0B33D78 - 8BBDC17DFD11F929295C26AB7ECF21B6 - 7D4B4EFCC18ECDB8134175A7F198EB12 - F7913DAF22D73A4139D5B807C18310A9 - xor-digest = BB2C8E7BB894DEFD1D5A7D37C01E8EE5 - FD4E052CDF1DDF5FDA90C9818DE71B3E - 34392EC3858ADF718F463808ABF841B6 - 90F49D35A51BE5067B162E72D0101F97 - -Set 4, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - 3F92E5388BDE3184D72A7DD02376C91C - IV = 00000000000000000000000000000000 - stream[0..63] = 818C35D2FD72D12115F91BFD32F843E7 - ED4D7110D1ADF517226BE797E037AF93 - C190025A5E82FA0341667D68FC09E238 - 49D5A7A9526CA142D60F71C3AEE3A106 - stream[65472..65535] = F011E9CEE99D94BDD4484408A0FF91DE - EFDC8D8C04ED2B86C51F21058E912C11 - F19890E174018308962F5827D2FC1E2B - 82BA65688C111AAB5C749D8ABAEC022C - stream[65536..65599] = EC2EF21014AACB6215083F784E3ED65D - 774124FE60188930E1A90405EAFC8F1C - E75D54AA7D81400E026D799CE06EF532 - 8002BCF5A10D43E6FB6F80A9D72634E1 - stream[131008..131071] = 80BC6F7F6B0A7A357F770E7690D94A9D - B8CBA32EA36E124FDCC66ECE8786F95C - 22263F09645864087FF4AF97944A226A - CB63DAD316F8CFEF96504AD306C512BE - xor-digest = CB8D4C35D79CCF1D741B9DA09EDA305F - 5FA43F9AE9D0E1F576D5C59AFB8471F9 - 7822C6ACAA197FF01347E397C0382195 - 865AFAF5F1690B373AA2603C39A13CC0 - -Test vectors -- set 5 -===================== - -Set 5, vector# 0: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 80000000000000000000000000000000 - stream[0..63] = 04740F92C2470701F289669A25BF9092 - EB4212FEACF66DAB6B1D520977945F8C - 6D350BF26A1CA35EB37FA53B0BA2CBF6 - 6AC07A8C75D494B4B8281CFBAD4937BF - stream[192..255] = 5E47F5F506AA34E7D296C6911FCD3D43 - 31A032269214ECEFDDB492C47A51C4B4 - DE9EF0A63A6EB32AF1DF1C5576A93F19 - 02B7BB89F10D8C7CDFF9C097D3D49148 - stream[256..319] = 015494CB3CC9BDE8A2981B25C06DD18B - 52FA7B94CBE24C152FC60762290329C9 - E58C4E5148585F417733737059E310D9 - 309D0CEF48D2F1589994657A081BA6D7 - stream[448..511] = 3B67C1B37D96E1076595660D61340EC8 - DDE8F492134270951D9D4B260C8E2254 - A7FE8C10DE837A617A8E261FBBF42259 - C636B3DEEA0F373FE7C2CA2B01EE3FC3 - xor-digest = A8CC89F06815EFF6A91CA276BEBA7F41 - 75F842F85BEAE99F4335A3B85FB28394 - 8B7EE3C659274C6B784035B94886BF9A - 5C1483941B20170EE3A374E39006C09B - -Set 5, vector# 9: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00400000000000000000000000000000 - stream[0..63] = C25BA6DE4C87FE5360BCDEF864F3F778 - 598A6A584325D5E6C44EEA4464D7580C - 9B8D42B5B3634F739D6A53D15FA41070 - D1DD4621BF87F53F42107618D9742FD4 - stream[192..255] = 4A3808B0619C9D94E19F3AEA0BEF3839 - 21D7E2BED05F1128A82D9DC010654ECF - 65199A645606CC44FDAE763694E6757F - 8FF864CBE4204D45102E465F16CAB8EC - stream[256..319] = 3097394E0CD0A9DAA28EA873566E42A8 - 710C28366C2B41B6BF6687D881094676 - 9970A5BA54D28D7BF772C4FED13A9F5C - 6E7AD3F6948667D6C2DF981955F73293 - stream[448..511] = E685BC2ACD3A67791416E78699C83D31 - 852EBCB1C1AF71B926D9161CB6D894BC - 8C5E85C7E30A0896369BAE50C1112D4C - CC583E44A8275F44B7ED140E9721C7F8 - xor-digest = D9B51AAF4A9B75508FCD02443EFE2267 - 1148C73264776B5513860BCE8547370B - 2BA66E82CCDB15F3DEB0F0728411B765 - 1A098C23202745C19B045C58AB196309 - -Set 5, vector# 18: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00002000000000000000000000000000 - stream[0..63] = EE43BB5B79EAFB54B823DE95B71F3BD2 - F2A7CBB6D28E9BED590C20A2C52F9B2C - 74EEB9A1A48474D5DA4964EEE0BB98E4 - 88030E213A4482BD1A8CAD4CF8A962CB - stream[192..255] = 150C4D68BF29DD27A2E6FFDFBD6984F4 - 3AB56AACC08AC0C0149008F0882292EC - A5359CCF4C257ADD4FC535E41D6F67CA - E5210068F77A5D5F32A23B17F79EB7A5 - stream[256..319] = FEA319287C29AB84585D4BF38DCFA71F - A36253AD7F4BF58398731713614D0047 - F85A465C6915E05232A5FE5AE7A559EC - 42733403ECF6B11E4D5E8F4A8288A3E3 - stream[448..511] = 79CE66DD3F77D40889906EAB1F671B2F - 98D9FBF8693C1EAFC89D19209408F3B2 - 7CD83CB3B9F33151DD4A8D79911255FD - 3CCBA14918744B0ACB93A5F96AC9AB38 - xor-digest = E1E3F49B342F873263F585EC34969176 - 2CC46C17FDEE0B32224BB77A8EC82A87 - 816DC612439E998476F50E876481EE6C - B32ADBCF6A5D50FA16355AF63AA30D66 - -Set 5, vector# 27: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000010000000000000000000000000 - stream[0..63] = FB8F4925A4F922119A6F29F8DDC2338C - 0AEF333B55919AF0D0D9B1DB61BA2E5E - 4CFB394E15F6A78E01B5C4AB043225FD - 9C8F50AB1BFDB16F944C2660995AA4DE - stream[192..255] = 87767D451D81D5B40503913508C2448B - 7CC093982642089843D7D9C3DA05598F - 7AEFC5B70ECCE327B20658D6301F4D6B - E58FA5CE0525C9CE8E93FC0B387AE5C6 - stream[256..319] = D146E4312CC11F11916ED9FF8EA8ABCD - E0736DDD0A8AF3E067CDED397E429D30 - 8F2DBF848C5C1653EA969B608CE01275 - 53573C88DDD32937EF6F8B0864C581B4 - stream[448..511] = CE919096A83BF3702D8899787DA7BC23 - 43F1F10833F16E3EB467440B4921BA1D - 96845B6B4141E1CA85364E2D508456A0 - E399DD048E72685389FD7EF3F78B655F - xor-digest = 00333EC3A59AD0B8FCA054A08340BF91 - 906512917E72BED76BEFFE29FC011632 - 082CDCB1A656FB817F968E26063279CC - ABA796307912984BFC267325DB84F621 - -Set 5, vector# 36: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000080000000000000000000000 - stream[0..63] = 202723F8212AB20D9369C2E1EEF8553D - C468854873D04FDD32641E324DCB4EE0 - 883AC1D40D7C9C7783DF4132093724DA - 113B1CB12144E00509FD5D36957A4E1A - stream[192..255] = E6717FE0A77F9043607A1A7665716225 - C8D417FFE2CD7572083C7C552B79DB6F - ABEBBC2D4D36AB319407982187C248F4 - 83596AC071C0B0CED08686603B024E7B - stream[256..319] = 8C59D97F7A093EA2D0AB890923AE4DBD - D40C33508838A3966FBA360E776670C4 - DEED8BC8CA57592463781550BCFD1E28 - 818E7C33A3AEC43775ED0A984044E9D8 - stream[448..511] = 0A3DC66754E02423C6EC1C1DD26CE11E - FD70C386729C8290DF358C69087CA7DF - D11F5E0D37A313F74B09F29C552CAC0A - 5621556828B0145A6A1D43F563AFF672 - xor-digest = 6673BA5866E8E96FB48FAC88D307079E - 77AC03692B23070EB5BB9D04FA94B9C9 - 6C2F958E834DEB51C6ADCE432BFB9632 - 9B3151E0A89EB72019A4522233B8FFE2 - -Set 5, vector# 45: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000400000000000000000000 - stream[0..63] = 95AE241C4E9B6690C319D1FD828BE454 - 52F18F061C1B1E13AA409829E194D70C - AD5BBACA2738B508A5398DF6C2552497 - 6D143DF0405F68037C285A0E19FEC9CC - stream[192..255] = C0E2D5C6B614E4A498F46D5399DCE7EB - 7DFAFAC62794F5C39864C521B8DB574C - 149E35D1F0EA36EA7F24EF8FD855FDCB - 9CCC79F1ABB13EC33E00A9E137809C05 - stream[256..319] = 285907400C1A86AA9942ABD7BEA8EEC8 - BB6AF2F9667D424C1DD56349C99FC65E - 8A00893AE529D7BA492089EB6B525964 - E9CAF15221A342C4F88697D818AC0F1A - stream[448..511] = 13D511737F3A092643E94E74F6C76241 - 0007158FEF40C63B33E10360FFB3B152 - 8BD8B33093D722BDCAC1FA99D16D1C27 - 6E59E428601F256542BD3E7A4A135152 - xor-digest = 1D1352487AB5081A28DF23B1B19D5ED1 - 192F08964E4C0F048AFA9CAA8BF17185 - D7B97AD6003E2FD2DCCAD492FF3FBE5A - 5CD7AAC627DFE7CC6D0972D423B67128 - -Set 5, vector# 54: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000002000000000000000000 - stream[0..63] = ECA0F29C3F5C4D62ACBD601C3042673F - 6F8B17C946FE8FEEEB0089059765F067 - 5AF3E5DADF6DECDA20F72AF486E7E967 - 40B2DBF22B57FCCDFE571B2D8989C95B - stream[192..255] = D2BDF6ED912478A3C53713389C9DFA5A - 9272D030543295E8CF6F0929F1A56041 - EA22BD04E0DD810F43D9D28D94254F04 - F73DFF3B766DB55100EFC9697FA844C7 - stream[256..319] = C7CE1CD4D8C42FA36724A49107A78630 - A60E15673A42C57B609740EC8DE78EE0 - B48F2644DC0DD1E80FB8326DDBCC7191 - 5E6C8DEEFCCB1FBE1456532840A89DB6 - stream[448..511] = 337650A0B03D30C9697CE85449B0F995 - 668FB2B73E37E1A550E07632F9F5AA3B - 04D61AC41F8A830299FB8F70FAA0419A - 42C4589D71C965DDB3A9D000667616AA - xor-digest = 7A26C50BA37BD9F38281FD2DA3CC14F2 - E1FFEEC9D7776E87D99053B531EEF792 - 0C0BF834EA9A0065AF38422A40A31BEF - AFAA17AD565F685BD6E505C7E02FB895 - -Set 5, vector# 63: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000010000000000000000 - stream[0..63] = 567919917583CE03DBDA69907CBAE562 - 107FBBABB4DFC81A3A15438C94AC0C28 - 8CC35A91DED9A79ADF4EF2670A55699C - 000994EF33674B578F5D77928A43416F - stream[192..255] = 13D0EC5B7302C0D8AB329E7AADFC3FDE - 1D24A80B751948C4BCEF516D94DF7AB2 - 2B1D9E076BBFE367CBED341B2A5A3BA2 - D48735F83855460F9D9953279BFC2AA8 - stream[256..319] = 5EFFE922E2FE25410E8050A973C3FAE2 - EE372E9686B6E7B35294B52A579CDB43 - 9D5CA7F1EABFEB4303DFD7DFBCC812DB - 9D70CD0698D1ED051E1E32C855EB39EE - stream[448..511] = 91A01C0EF63716515DB8B71273CA4399 - 1654AAEF2AFD4DEF25E21A08D5385766 - D8C29514065FFF00B07DCB32D1A20830 - 3C3402963EF252A4CAF5CA31A50BE591 - xor-digest = 9232F83FB054098FBED8474939476CEA - 5E9FC269E7B248E56B14F56CB396BE74 - C2B2203D1802D9515EEE232FD612FE21 - 11C291A46A89D54B2E5437E643239636 - -Set 5, vector# 72: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000080000000000000 - stream[0..63] = 507958BFA08EB41F4D18F519E36FC476 - 5BB8DC6CFCA36290CE9AB8B165D7AF72 - CBF49DCF8BA2D145D7935EDD2CD2242A - 7B7FCCB85B4C8625532D84B4BC602515 - stream[192..255] = B2B06A7C3977D4A1A39892E832A32A55 - 3EE6E52DB24DC453835893A55D0FF3A2 - 949B8B96688237E13DBBB2D0C9038AFE - 8B9D18CCAF62019ACB908499D292F280 - stream[256..319] = 1D28AADF7B262A1EEEC11D39F4325CAA - 6181F9FA1A6C65F3BEF4F1614B0DF599 - EC92E5B6B42A931352965CFFC025F68F - DB2D6D0181F259F12989E5FB23ADAE8E - stream[448..511] = F60E3DAD5004E31F6DC89292ECF517F1 - CD18AF7E79E775334F4644A09346AAF0 - F2B4F5C1DD03555A6D27C43AE53EA7BC - 7167F793190071C7AB7B5330A6C6CAD0 - xor-digest = 5A65D44021E67626E62FE87B8547210E - F736490C0D51485A8EF0E1CCBB512DC6 - 0FC18114A29AF923EE3E85655771D6C0 - 7CFE342A52190C540BE3409853F12065 - -Set 5, vector# 81: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000400000000000 - stream[0..63] = 2416B634134170CB4F67F431BC94612B - 5F2F72545DAED2356081C91A26554614 - 5FF2526D8D8FC7D02D8BCDD9AE03187A - 9E404C360E115CE949667987AC73624F - stream[192..255] = 4D456233EC7E761891A56BF9F9659533 - 22375C169D7F16DD81D8D69B12092F47 - 09703B85AA3184827935B60C1E5987A3 - C4C2EDFEAD4F777B53989C469B575EB4 - stream[256..319] = 5F9CDDCBE09CD759B346AAADA2436887 - 0D47BD8859CB9225B61AD9F99197FB14 - B5D625F5DBE0955DCBAA5B874A7C89C0 - 07BF926AEE571CCD7E20635ED4FF312C - stream[448..511] = 642391D8851A9BDBDCA37B9587D5D0A4 - 877EDEC31D6EB78AA3F1E068B0ECE877 - D83EA29906D0C0816EDF7EC5BB417A3E - F3DDAA2145CB37CEEAF8C07DDEE0AAD9 - xor-digest = DF93E4E01EA55D18AB8AB1A927A5B5AE - 9ACB871B7493DC283581262771852013 - EE54288580A03B3991126BE8BC20C5D2 - 230F00D8216CFB632271750F4FD2595A - -Set 5, vector# 90: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000002000000000 - stream[0..63] = 4981C83E26859DEDB32D84C7BE32830E - 784376A12FA6D0077D4CB47ECBA08A92 - C841D45D6CDAA3F1FB48C6FE747B0F67 - 1B32C2B35BE69497737FE4B98770DEE9 - stream[192..255] = 1FA51FFD0360615EFEB03042AE8E4210 - D3D38B4EF07536BAFE43C0585818F012 - 8F8B3F8CA8DADBDF049688253066C74B - 01849C5BD85DCE27C0138D24E8B8B198 - stream[256..319] = 2D8C58008EE94CFEA1EC545C26466D39 - D7BFD5B226E32F1270B5BD3677818B7E - CFD98BDEA26488248B10418C1F854159 - 8F42C6CC237885A1DEAC5C33F22C27CD - stream[448..511] = 94502058B5828AE4F4CDC0516E5B5143 - 1F07EE1ECAD7CA266C931327BE6BF1B7 - A34810220CE00497D7BB9600FC524999 - CDEB6DDE8919B03064EB56B3766DAFCB - xor-digest = 1DEDBE0B7B6099DCF285B3C30E91AA0F - 7859496E034A1EA1AAE3D3D13C2061C6 - 0878E595B63D849B7DB77BE7E0C08157 - 94232B645BE946E5D8278B14427172AD - -Set 5, vector# 99: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000010000000 - stream[0..63] = B84C72BF69B601FB1804CE333C5A2C19 - 25BC8A5877DF9E574295380611D03FD2 - 46D2EBB58CC6E918F4DB1B1A0E39642B - D6B39DC76764E18108497E4CC4394057 - stream[192..255] = AA84DF8195B3F7564D0715517476085D - 1B40511A72340DFEAE5134C7BB8F39CE - 03E6EE15217986C7E4788453EF054027 - 8CBF6336073092EF661C13C7EA8B4850 - stream[256..319] = A7F0C413EE143F55C6356519AE620A9F - 4CEF8432C51E2677EB5D700CE333F314 - ACA374D86A8FD4A67BDC31C1B0DA2AB1 - B20E6DB91E7F85DC13E348314A4FC782 - stream[448..511] = 3445E08F13D09A1AC09EEB65451F4504 - 0AFFDE94F6C2667BC4D8FCBECD6C6565 - F09FD05EC660DD38307F856AACC95549 - AEBCF31B3FBE84FFB3261D7FEF7A3379 - xor-digest = 360199B22EB28401FB4F621E37800801 - FE69C809D83BE29A50FD1A476B6AAF02 - 54B1F4B048CB6423182C390B8EDFF1FD - 9CE49C26727F0D68EB837C19F58F3F42 - -Set 5, vector#108: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000080000 - stream[0..63] = BC618F4A557E5B7CB75B3572FFC31CD8 - 4DB96FD22E281C198DD33B5E9E419099 - BE30E84ED61C0EDEC04B1E16E06B40E2 - 372E0EA1A48DC55BFBFBE3355B566AB9 - stream[192..255] = 33372015C7E5749D98A92CC55CC22206 - 90BEC9878D3CA0AC50765D0B4457CE50 - 9BCE196BF0388599E692B99EA8169474 - 546F10891A3FCE22DFF0AF9733C2A2EE - stream[256..319] = 382684F74B0F02F7B987D37F6BAD97F4 - 20B4811FFC744CBB9F00C2855A609FC7 - 7CD24D0137304B95217E25FF45AFA4CF - 28E4335D29DA392D26DBD341A44C082A - stream[448..511] = B0B2B619708435C5DB45FFADD2FE4449 - E603FA9785E1F521E364DEA0B127F72F - 6C8A956CAF2AC9ABCE9772ECC58D3E36 - 2E758BDE3678D4F4C9804CAF11129BE4 - xor-digest = 80FC64E2441F6CA9C0F4C207007FD0E2 - 5F1C0514D203A1B01A6EEFD1055CA355 - 0174FAAD47ED0956A736A9404164ED85 - CBEB31F80561AAFC4ED8EDC9829D83A9 - -Set 5, vector#117: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000400 - stream[0..63] = 69FEF0D5DD7CFA6590821B6C12E239E3 - 5DCDE7B218A66CF3C75ED278092A6228 - 143EC00BC16DC2FDB8CD9DDBD802AB56 - A4011F6A8CF432F2D34657AB84DEFA4C - stream[192..255] = 312EBF427B3D22A22EE1F85D89E12AE7 - 07160C9BBF4073E538171365290B499B - 8904B01801CC897FF09A520449A44D0D - 34622DB8477EF1E73DCF15417478FA03 - stream[256..319] = 83CF222FDBEB77FFC6E282C1212D8D1E - 014865E9C1251FC07E901A41A50A3AF9 - F8E130394F621B739578C7E238866431 - 10827799C75F08C47664B09B477F31A8 - stream[448..511] = 4130A8F8015F082EE8712B6D61178CAE - B1D3CF90AC2DB9F2D402F65E8395DE95 - DA0605E8540E553CFFBD029AD5BA8FB7 - 5950C2FB29097E13ED4A1B1818E0D07D - xor-digest = 21FA07F8AA2FBC12F5B2B14E034C2AB4 - 54D7D8DA66EB0308D9AB024DBFA414B3 - 38F36D188D33C71E888FFE1A6AC620CD - 55B33C1A146AB8FD275584589BD65606 - -Set 5, vector#126: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000002 - stream[0..63] = 0CF41A77C30118D0931FF3142132A627 - 7A778D3BCF7466EFE56238B166A57043 - 2DB3B222523330233F81836282A27B40 - F6823BD076D84DC3B831DD78828F0FD5 - stream[192..255] = 38A0C28325566FBAEF5AB3D50D54F407 - 91182DEF4FC945992AA0D62134451914 - F07F16E86E20DB119692966E6CD6165B - 79BE7CE6C45D1248F2E0432393BFA726 - stream[256..319] = DE91DACF57B176EF6E59E485DF02A20E - 3A4EE5FF44B1AA3D7F36265221CC71EB - FB9565AA4F269B7DBF3CB9631CCBAAA4 - BBBB6BFABB97E52954958D4E7A283F20 - stream[448..511] = 8FFDC8CCBF864721D6C98E1896FA052D - 15141D9C3DFEB48AE91B2436C5C3D088 - 931470CE951B66C38998F15CF23BED01 - F6D95D84150D482C0C289A8E5B2C7C10 - xor-digest = 03DA7ADC3E5931928D3FD89E1E0876AF - 9D4CE659175E671D6D80EEA78F241AB2 - 86CE3C26DAE267D91DB556AE0CAA60E0 - 2B481282E6470A7A161AC8E84C2311EB - -Test vectors -- set 6 -===================== - -Set 6, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - 3083D6297CCF2275C81B6EC11467BA0D - IV = 0D74DB42A91077DE45AC137AE148AF16 - stream[0..63] = 544B400E28A1A4D9E30A3E5BCB5C9FA5 - CA066389C693177C4FC721937D0DA5FC - AABF39ED84E1FAD63ADD0C9A86749ED9 - 86759F8ACD0A5AF2E17B4E3CD5831B44 - stream[65472..65535] = 6D2242273AEDC611159912EE0EC5D023 - 44498AB4F513AAFB96E8C240C1F13B12 - EFABCDAD424200A53017DA7D34E9AB86 - 9D099D239AFB45D067BF94A92E7D1007 - stream[65536..65599] = 403105F52BF3456E08C2C698505E2639 - 4594A257DC6BCF7E26A9AE184CDC8952 - C34D29E116809C91DCEF4B0FE57D87DD - 9385BF387732E49E265E67BDCB138D53 - stream[131008..131071] = 86758A037E90380C2DF4DB0A7E13A115 - C0F83A664D5B6270306ED5B9A445D612 - DD0F9300603362F2574D8E262650D539 - 708E2FB5D2CFABD3F365E23783271D2A - xor-digest = 8513C47FCA708D9B3CECFEE6BEA39154 - 1843C72A2BB767C926EEADB4D3708537 - B24A36FBF20273487B312095D6C6D866 - C61B0E56F71029E7F71FD091D65C6CB8 - -Set 6, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - 3588DB2E81D4277ACD2073C6196CBF12 - IV = 167DE44BB21980E74EB51C83EA51B81F - stream[0..63] = 2C832BE30736D5F5514EA4A748E30EB6 - 57F418886DF2E25A739E13B6C1B24736 - 96B44CC2B3A054CE4E6D9817BCE6BE97 - E77D0B984C0F039329ADB559266270F8 - stream[65472..65535] = FD7637AC01D2FFBB5AA389D6E9EE4E39 - 4E81AF774491678E7A0181B1AD063B22 - 6CD1703ADE35B17F1A8D4E8B6E0E0138 - 66A75498C93A19ED37DC0398B61573C3 - stream[65536..65599] = 318AA03B81B6C5C334E80811384A07F6 - BB7D0AB3FBAA1ED873BA2E01F920C1EA - FF35AAB02AE0D4F9612E8171BFE63755 - 421ECDB540189C2A10027D4199E35959 - stream[131008..131071] = 7F688C0421F127D0CF5B773AA1B27A74 - 0ACA0254CABEE4095809FA854A06D746 - AA06E56EE3A6AB471F4C46B0528B5D94 - BBB9E3BB989E01FE459F3190E2942FF7 - xor-digest = 97D161DDF9E98C70E6B63BD4DA8629FA - BA4ACDF112E28FA029DA508F1709E977 - F57F3942997822020307071636BFBEE1 - AC7E3D9C97717474A8092576536DD8DC - -Set 6, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - 3A8DE03386D92C7FD22578CB1E71C417 - IV = 1F86ED54BB2289F057BE258CF35AC128 - stream[0..63] = 31B2E5B938120CA131A0635F2A471710 - CDCB494678339BFC7710746BBCDF2700 - A0286EA735766D17E9FA270C63AC1C4F - 405101CAAFACD6C2BC4306E37E9516C3 - stream[65472..65535] = E5AD2ACAE7BF99837475EFEB7C8F327C - 55811CDE424E7A5AFE33086CAFB6A63E - 6607C005DFDB8DB13181CD3FF8584823 - F0D6EC38083DFC3C7A8140DEB47372B8 - stream[65536..65599] = 662728BE1DA1099208BE1BDBE7E5F28E - 8E2F112E527D2F48E2C9AF565729524A - 175A37A38F5CBB1761D21E907CC62BFC - B3A4ADA96EEA24624C501D237F461E93 - stream[131008..131071] = 609AD32104EC8FB79D91299D3B3B2942 - 3E09F451597C0BBA26FA2FE97B9B3BD8 - 0A8907A8236E245E8BA2332C6D027F66 - 12DDE13BF4A149A1A6CE2DFA9F8A148F - xor-digest = B245B3176CE7C0690A7CFB4C61C84E06 - 041650BD4A199986D3AC4DDD80A1C806 - 2FD17F9EA40D25E86EAC53CA4FF8487D - A4379DB9BABAE6109859D9757A992100 - -Set 6, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - 3F92E5388BDE3184D72A7DD02376C91C - IV = 288FF65DC42B92F960C72E95FC63CA31 - stream[0..63] = 8863C707A53A4201F070ECEF33DAD759 - 712F20660A288C80E6E9073CD850CF84 - C96AC6DE9F11F0BA176C395E871C42D0 - 420FE1D3E9E23C8E9EB4DAAD6C677C50 - stream[65472..65535] = C9B8301378C62DC67A932B81147E76AD - 54A93FFDE7B04E82548B6344B8F63897 - 3FCDCCE6F69AA0A25BA0BD527EE7C613 - 5A89C5CEAA4BC69ADE9DDE839FDB47BE - stream[65536..65599] = 7079E98749DF66D72B8BBB1DD7A6B7D0 - 6094E8723BB74D38A7223B2557B8BE25 - 4313AFD06D79814BEED4F40DC9211D50 - 165A8CA279AA2CB8A1393099B72607B0 - stream[131008..131071] = 6C30F5011144AF9AE0D27E2D39E51372 - 783A5BAEFB58F43578D0FFD947457C87 - F138CE84D42891A4BFD1F438735771B0 - FD495DF941B8BCE83C2EE9F11C18C04B - xor-digest = 7E9DD203303EE6807075D16469FCDEE3 - C5BB95A359D4338AD06546061FA12F3F - C24AAE71EE63F3D892AE93E5E327FE7C - 1C168CCEC2BD1CCAF905E5CB2DD75C29 - - - -End of test vectors diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_256IV.txt b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_256IV.txt deleted file mode 100644 index 15554076c..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/test/ecrypt_HC-256_256K_256IV.txt +++ /dev/null @@ -1,3257 +0,0 @@ -******************************************************************************** -* ECRYPT Stream Cipher Project * -******************************************************************************** - -Primitive Name: HC-256 -====================== -Profile: S3___ -Key size: 256 bits -IV size: 256 bits - -Test vectors -- set 1 -===================== - -(stream is generated by encrypting 512 zero bytes) - -Set 1, vector# 0: - key = 80000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 240146C5EA6C72A8DFC93E54E8811C32 - A85E0BF7291BDDC0DBEAE086D051D5B0 - 5CC9DD5C311ED2F7E8484CC477C68BC8 - C5D3F3450553F5327253768E958C0C55 - stream[192..255] = 26C5976C37B009E57BE86064A99E8F59 - F9536410FAA9BF625D8DD2ABC9AABF09 - DF6B5EFC76CC6200F9E321E327AB0703 - 2C78B351C5F7EEEFF2C6E374521CFF6E - stream[256..319] = 2F72E0E6E710D807D5120AD686DAADC3 - A5C1544557A4BA6B1D61F90FECD55328 - 3C8F91B801DC435C5FFB1F8B33A23644 - 8E21217C367108893D13AD41EA8F20F5 - stream[448..511] = 68320BFC459C78596162EF5FEE2CF46C - 79EAFC681AE91F875672350C59D33D6F - 9E0CEEFE42EA9A0485E3E41C241CDE84 - 9849DEC99219729D91270358B2F83F38 - xor-digest = 19E8083DE3499286788AE3A6DFE90AC7 - B77084682ED86D8039A67663CDC9ACCE - D297F22C10FF7E4FAD773337B008A32B - A7176F733045DE44782F04C1DDF28776 - -Set 1, vector# 9: - key = 00400000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4B1E2D728E06D7356F151D10DE9CBFB3 - C66A1E5B5ECD926E33F56B14CEDBFCC5 - 40CD6D1089DD8E5CF008E4AAA3C4C89D - 11B136FB5656B5D4818D1BD1E562BB38 - stream[192..255] = D5E6B5482535DB7F9352933242C164D7 - 6528DF7AA013A4FC2F2B8C2D7DC0202F - 85774C16FAF22D5071A875B6A671D4B1 - A8C396AA5D2F14AFF9C4CD6C1DB89175 - stream[256..319] = 3D0FCC3C90DE0328FD0C752458996FF2 - DF822E496CA42A7D7EBF3D958676A41D - 83A16EF3150B8C4C8F1763560B314287 - 54B4A2EA5C4F74783BF8809F3A624664 - stream[448..511] = 2D68526D25483C2A1F0B6F7101507804 - C9619E267F1FFF28C934D19201351465 - 31D13592BC9F1739A0B090718052E4A0 - CAE9E0FA4555F2FAD27EC8AA2F14CC60 - xor-digest = D3C3131E402BCBA54DCE0AD35C5FD241 - 3ED7056BF67B5163CBE6C9EAA9D27535 - 7D2BFB7B2843DFE92709F047675CE06F - 5201611BCB8FF15C76D0E328D46345E4 - -Set 1, vector# 18: - key = 00002000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4A0CCA5AD387D49DF33FE8BE69FAD669 - 270E3E6CF724F53FC3E509A2CEF1D174 - A67C2EF4B9D2C9B8A8177BBFBAA2C45F - BDD25CBECBDB59A402FE3C4835854CAF - stream[192..255] = CA0F19D9996E6D3518D28D8169968ED2 - B03D118D4BC1C5E1847BA6EFE6A32D6A - 32BAF71A4C27B0BBC9B9BA03FE044D7A - C9785A69E3B0E5B3B26AABE3AB093965 - stream[256..319] = 6FD1A9F1EA228C39625FC0CBB2D4BF8F - 2C0EF1F37D4FAC56D8024D1B4F2AF33B - 8AB0D452F5155ADD5F0FEEED8104AD55 - 9946D2E274ADE44170F5113630200B57 - stream[448..511] = 5DA1476A1CBADD0797DD7EB9C0E563B9 - EEA2C55860C42C2C0A6B38B9344BA0C2 - 345C7143D9A7E5BCDF9FA2606098DEA2 - 142632258F844AA1A77CC9950D5ABD7F - xor-digest = 0CCEB42D4045C09C45CD6C27B88606BA - ECF7F6B30F50004AB2ACDAF89849519F - 61482EC4AAA2CF58C4206A228FA23AFE - DD3BD50BC9C04744940A238966C2926B - -Set 1, vector# 27: - key = 00000010000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 77CB199A639DE60664225AD1DB954B5F - 70DC01305D2D4073BE772B0863175EBB - 64FAB80EF324DBC85A9EF827EBAC7A5F - CB088619C246CECE6F92B89A2122B6AB - stream[192..255] = 84C1E9B365F1CD23AFD5711BDF2B6F26 - F988A6CE29450108FD6814802355217D - F6F329FCB3F5997401019BAE0AE43760 - ED6B658FCB4280F5A070728411EDA4CC - stream[256..319] = D0AD4A851E7A60DC789762A554A8FA76 - 77FA610F4D868CFF1AB6025B2ECDECE8 - C554B4C0BDF543F58A1DD7CC68FD7AA6 - 7EFCFD59D55372E85131D6284E7949AF - stream[448..511] = CF7F791090D04350930AA1E1A53B70E2 - 691A231595E83F8BAB9613BDBAD868AB - 197D5E06B3397CC3D81F56B87BC7521E - B0BE346552DABEBA863D5C81D7245C8B - xor-digest = 2C77C0ED1F5AE20A97388ACA5300918D - 6246B04429F298E64A75828EDBD01900 - FC70CC103C31E0BB67B06D04128686AC - 5C5FA63FE714FC4DF18C551BDF81862F - -Set 1, vector# 36: - key = 00000000080000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 54A5A2E883714170B471C0651D74A9F7 - D51287C89FB345DE0AF7003C3871425E - FC885F033D79BAC9716B1ED5C637BD9B - 0F16FD8D613BFFAB634F0EC2497D7B3C - stream[192..255] = C7FBA70B19B749BBD0C84C7D31A5AA44 - 155623116C44CD53D2E640034211E730 - 277402F62D1FF1578236A2646AFE6108 - 2C958D9D01C065D7335EF9C29415AD42 - stream[256..319] = 2385E2A7070FEC7399BB3CEEA43C8D0F - 54D3607FC1C21BF173642287C1FC2C96 - D37695A7B1310E5E918EBE37113348B1 - 707BB39E401A10FF14EF020CB7C44261 - stream[448..511] = 5A87EF81C2CFA70D86B147E9587467B5 - 22FCDB4EAF0353E11F73F3BCC1EA6C09 - E962A87A0842B9225E164DB0CD1A3BA3 - DA8C02E6746CD3AE0BC4754ADBE7EF6D - xor-digest = A65BBEA2E397048E4714A8AB3C19EE6E - 91B9EB8048F35FA7AB9E003E9359BE0E - C3EDA827AF485C23A941F7D656C76CA2 - 5D12044923E43E61E7DDEBE7D9C87E3F - -Set 1, vector# 45: - key = 00000000000400000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = FF81E156907CC2C01EE23F79F936809E - 3F88AC15CC01BDDDA378CC1BD2317444 - 200E4E2C63E15FF07B0B40721970E7CA - 68F748A95A965EEC606318447BB31C2F - stream[192..255] = 4C4C42A330AD444388FCA4009CC0B196 - 84AEC3EE65138A747FE86526A263969D - 87CCDDCC4C9A0EBDE2D088CCCEBE76F0 - 52BAC07636937B1567637ADB498F7F8F - stream[256..319] = F550BCDF67C8E9C17B800487DF83A4BC - 73B809C4F3279D4CFE857780412F0F7B - B838A9F0322BBA84D7AC51E469C5012E - D774E52E3507C7D069F5169F0403C577 - stream[448..511] = 9D92715109A301AD47BF2376D65E2519 - 78E12098B0DEA5B779079A0FAAC4DB42 - 5BA9EB00301A5F964336F7EE9C0D9667 - C4F0DBAE14BED3E49A6A746FCB186C65 - xor-digest = AD2264EC651E311BAC5FB36434773F5B - 4A4777B2B7F811A755269FDA8339DC97 - 7A8C6A5F66E8737DD16A88DAB8545110 - EAE275892A767BCAC0757C396A690F67 - -Set 1, vector# 54: - key = 00000000000002000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3DC3C1A1A40E721F8A3A66960DB2C0F0 - 6D8B7C07FE90D67C26F86200D6A1A1D9 - ADE4D53A35F7A016A506D9C62D344D49 - 5C6DEAAE053247103B8F202B85A5036D - stream[192..255] = 9B83E56BB5E10B5C6C05C4B450B64FA5 - 9C52AA63E207592999CBB48355517F05 - C93EA878BFAECE58CBCB948E81BEFD89 - AE0C5C13359C6CF5A673B4EDE28FAF0B - stream[256..319] = 388163F9F26536BE1221A46834CC77FE - 03D021C570A9DA36CD528E887ECEB2A4 - 7146A8A930D6AC04694A0B9AE50FF55A - 41AD3B3D3E53F982563B5B458C078C0E - stream[448..511] = 3B0FF94C0C9FA0EB8B8CC1C691D04180 - 5AB6436BAFCE8C16A1351883C88E945F - 8F912FF79CFCEFF7374936E830C9440D - C676A5F00BB50EDB34F810AFFD9CA8B3 - xor-digest = 879534CEDD8CDBDDDE2E2216D55529AC - 1189B1C34A76ECEC179B8A240E890F8C - 640738DC37C14E4B950B9D8C507685B1 - 28CF4782EC424A3712F54F6265A41E7B - -Set 1, vector# 63: - key = 00000000000000010000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 12F0A17DEA167676992DFF2E7D812878 - 629579519578EAFD885F212C7E04F035 - AF03732C3DA8CFB7B73054662F0593E7 - E40133706F04B1329BC3155DACD296AC - stream[192..255] = 41BB89D0BE44055E23813783C3EC4487 - 2D102D6EE94475AAFFC7FEB8DE6849A2 - 6B50DE77EB9B0B96EC9EA0216D13D64B - 1264A83D6B571A92948A5E35446B0503 - stream[256..319] = 15E9C9168AF4AEF7F2EF1E832F40110B - A8C08DE71D4F0AAA3A5C2FC59BF41005 - ECA654EB7F316B757FEAD5B0F4BF41F2 - C6D035A88B5477632F34D7F904B2939A - stream[448..511] = 8A2D446044F7930B696DBA896BA6CE69 - 8F8B01E4282BCCDC4740BB6AB6ECF7B8 - 9CA1CFCB5745B6577D0F440AAB7985BE - BEC5DBEBD8B028B15DEA138F09018297 - xor-digest = 89CFE7E84993C6B608EAAECBAECD7847 - 472703F3CD97F9315BA9CA13204B616C - AAC0F37EBD1C58186620710FD6AE5EFC - B7CBADA19AF8C0F7E1FB24913C2300FB - -Set 1, vector# 72: - key = 00000000000000000080000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 7BC411ECF4AC2EF2C9B8C5B7CCFD791A - E8250119E08C1B7F7A82F576FF66FC9A - 9D9BDB7570EAF276A60A3BC7E7BCBB86 - 7A791A48F9E742D7D7480FBA67DCDA6E - stream[192..255] = F85A8E3219AE1E5F20A4FFC6814458C9 - 5A4ECFE7FE739E151A45247A136E3BB6 - 9C11987BB5D13B1B9A3077C8F4ADC9AA - A555FC9725339E02390B9C9F75E1F38C - stream[256..319] = 8A2E88E0A773EA00C11138710BF12ED2 - 7797AE7863B1EC84801D11B5B3914786 - F1D547382DAA9D5215CD4CBC783C700A - 9B09FCCFED28899D2F2EC148CEFA39B2 - stream[448..511] = 95E3BA3237F370A4E0850F2CA0FCEC89 - E9D832CA6DC6A062BE7ADA8D8AEFD55D - 2BC7A3F46BF81DEA5DD9155E8D8FE918 - B5DFB1926460AB69663856EEBCD4C338 - xor-digest = ECE252DA29D20602D138E13C004D8B66 - 8B09FD764B7D84FB83B8F4D924504D60 - 277BAFC521A8AB0464E4EFC6BBB9E4B9 - A206C38154AE3A57B84D2D39CF45616E - -Set 1, vector# 81: - key = 00000000000000000000400000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 139C2843F0BCBDD32C685F4EE2C7AF4D - E6BC79789B77B1CA6CD94A01645EA243 - 5B491F27C27D4EEB96FEA0ACE65C0D8B - BAA642B5A07245BCD0930588FFC92A50 - stream[192..255] = 5C76EB0D5323A7AAAA228F7718BB6736 - 5B344559C24BEDEB2CA66414B5E81795 - 428D55868611AF9AC7EA0E7424984037 - 3251BF5206C361AA3631DEDA52DDD519 - stream[256..319] = EAB18EFED266D4788015DBDD20A75058 - FA4DE35C1DC774ABABC476BCB0AA2CB1 - 214E5463F4E20E7B999ED475D77DBA9D - 70FFCA0C7971CAEC3B285EE8F9F37C02 - stream[448..511] = 081083D9AC30C9DB4E53597D64249D7B - CCD847495A928CF4CE876237D92ED5E9 - E3D723EFC663CA0DDF34DABB941F42C1 - B48EFD59DDCAE71A1B82358A3328644A - xor-digest = C08714035439EFBE455BAE68EEDDA0D2 - A6968F18827B214A097221C3A77F80AA - E1DD9F3C72FA66C16EE278A76C19107B - 37CC32346DBDD29FB30059A8FC732DED - -Set 1, vector# 90: - key = 00000000000000000000002000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = AD897A3C509B66728342A817D745460F - 6A258386FECF71DB95ADC716B8BC0462 - 22C4EE887334718534E719F36454E440 - F9EC44A2DC38345CEEA9425BF5F10123 - stream[192..255] = B32235522391A0BE105A993923760C6F - BBDA849213C628776BCC5364F28EE5BA - D498F186C3C57A8DBE5355C2A38DDB82 - 54B321636EAD186788DF1BFC5B6F85F6 - stream[256..319] = 499CC51B20538B14A05E490B6D5D10D9 - 11079F58E3603A84AE6689293E3AEC56 - 7545823F0B085469CAFFF01D2AFC5076 - C155F8B4B7DB4C49A9A993964928D11E - stream[448..511] = 65983D36E97AEF89C3A75616F7C098B7 - 5CFD9C531AFF8184010E2CFD45163312 - FFBCF5AC70139CF12D97325CCEFD0B01 - FBE571FFBD7DC21B54D4B277A2205E56 - xor-digest = 90CD243B35747378B85B99474EE0BB3F - CE7574CC19BEC5220255523276CDECE4 - 5A16EF44C414ADF1D1CBE264872419CC - EAF664CC74D36072E9B975FF40074006 - -Set 1, vector# 99: - key = 00000000000000000000000010000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 26F731F36F626943D4CBBD605CB67FBF - E9301F24AA4E93EDB2D0DBB3FB17E8C8 - 623054B3003BB12E1C8607FB53315AF0 - A139CDC381753A14342AB90AFDF43E67 - stream[192..255] = C3B755D009DE9965D36B4111308B25EF - 39A137E373BA0E90E5AE2748115F29FC - 562A6F6894BFEA59587F991DD105DE1F - 67F62A73A72A4802ACE727335467F503 - stream[256..319] = BA815578D19B3B384BA7AA7B972B1FC1 - 7244FA75A4CFDC8C30ABBFDF6861F356 - 6A9B68A6F60A61E6DC8E046FE75373E4 - B45EAC193127CBA3AC4F22345BFDCCFE - stream[448..511] = 99C68AC554291FCDC03F300D69CE68D8 - C4D4DFF5FB2D4C3079992D40FFCC9683 - DE471E6F2A406DCE03AF8EA17B7AE905 - 12F1368B8EFDA838274812C4F134E2E6 - xor-digest = 01AB73AE53306196763ACB9ACFF9A624 - B83A7B339DB517AEB408292627EEBC43 - FCA6397320F50E96ECC3595B13BFED85 - 1309458EFE35FA1167C2CCCC6A4CA83D - -Set 1, vector#108: - key = 00000000000000000000000000080000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 031A1BAA02280255F0413D76F945138B - C0835BFE7CA64B16AD090454F098B8CF - 34B1EE138E03C3CCD9FF918A58D06AD9 - 2D7F3FB57D2E161A863A0C25391CCABF - stream[192..255] = 6810368C2B2A091C6FB3EBB76E960AC3 - BFD678F028EB6FC0F5B36C2D386A21A8 - FE46A5AE09DB0BD75359A8482EB6F5DF - ADE199B796520807D60D9D93995EAFE7 - stream[256..319] = 0F2CDD428FF6DF2A4621A8423E09939B - 014BEBC0ADBB8CE71B5E587DA408ED43 - 04A12BD535257322122EEA2840A9447E - CB1B6D3550ED14EE31424F5404B2B5B0 - stream[448..511] = C63FCB06883F3AC65612EDF28C875477 - 1D383D42A553EAFA37ECCE26061EC5AD - C6FE3BF23E06CFDB14EC1DD996A7D4E3 - FCF7A0B9ACC69F37ADF428B434994595 - xor-digest = 463386D0F7A1306E87F3221C4ECC0597 - 9474F620AF3563686ED5DEE291155225 - 56B9372496638BA1631982D6B3F58CAE - 27810BB7AA93351B838D54EE761A8C94 - -Set 1, vector#117: - key = 00000000000000000000000000000400 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = AA4E7E8171A8E0AEDA6049999E0A06C2 - FFA43B9ADC5E9DCE4ECD8FC1D27BE792 - 6FBE2ABB69A6B69D8C213A793C77096F - D4DF7BBDBCDF007C914B7C817837D99C - stream[192..255] = FC90E3C82B8E7228C1ADC2F555068372 - 4307902A0750149CE0B2EFD2CCFE9875 - DABE60E1B85CA117D05E4BD4F45B42E4 - 55A9F42C60910C9BFF8DF8FAB53C81E1 - stream[256..319] = 9BD976B88E9E5E23D0D40779644BB3F4 - CE5C6B16FA6D955C32369DFD19D632BC - 7730683D562320E39F75D8D8BD074968 - 9ECAF0DCDCD99FF4C3939092E9576144 - stream[448..511] = 51BE9CC1362669C0F79D2D88A42DBED6 - C3315002380AEB647C8F9C4036590527 - 1D8915B985B8BE9CC1C5C7652139E609 - 651EAC8A14DF661D9869982AE5735E9F - xor-digest = 0B0C84D430687F488F8E45DECECD6D7F - 1947E32AC49BDD2139F5413E08A88F31 - F9AF6599498431F155AA10B7EC09F095 - 8A5AFDAD486D2E6D50AF77FE98E33738 - -Set 1, vector#126: - key = 00000000000000000000000000000002 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 52F49050156E957C605656B2DF88EE1A - 5E3ADA99F9793B65456C4C6C322B8B5A - 28DCC91EE0E711BC33E0C13354542227 - 613665CFA3A825B943444401EFB06ACB - stream[192..255] = D0907F5D5939D7B544476E299605972F - FE422C64BC6343F9C81093AD0E3ACC72 - F4B67314892E36764736C0715E4D3438 - 36BDB105214F5F8925F321F5FD865EE2 - stream[256..319] = 96EEDA75474D65615795185B1BEE8D44 - A687420304B260E4C70FE7F542967325 - 1826EAE010981F6262EE6CB639996467 - 5F6B23825748128617721752283C16DB - stream[448..511] = D926085A441E507207850AFF3008D59D - F7C9D3B69687D18CCFF2C2E09D4E4EA7 - FF0B72C04A86B80923DAE187FFB99170 - DBD4902AF77EEC42866A83B519F092FF - xor-digest = 1E068ACCA6062CF26ECEC79F149BE139 - 24AF8BF44377EAD1550B1560E4A1006A - A6986C61581FF9E47D58F2E52434911D - 5AFCF914DBBAE183D02DDA3210768984 - -Set 1, vector#135: - key = 00000000000000000000000000000000 - 01000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = EF5BBD7A620E8052F05DC269309AA7CF - 8AFD4AB2B941D905AEEFC721562E00D7 - 04CA70113C8A90FA12A0C9B9CD1B9F9E - 6176602CC08B66410A8BB0F5E9837C27 - stream[192..255] = AB843B43856FC77C1EC09C0DD2248617 - 820344BD2CA0B025C39B0EBD5A750A6C - 7BDCE863C068E0D3A937A5B2C5B6ADFC - 609F6DF7778D88238B89288B2768DE99 - stream[256..319] = 5E6AFBE41F47F35CA9298C973E613174 - 529D9BEFA6D0713A5BFFD96B70D39044 - 413E24FE57B01C426E8988EC365FEFEC - 1422CDFB956B12C6A799F5FDD4EE43D5 - stream[448..511] = AA960C189C0A20870901D4E2F1901D0F - A28AF3D974E14FB70736C191D4C9CA26 - 48EEBA776339F80D57A8B783419E61B7 - 52541CB296B4CD31C55DE3D34CEF0D31 - xor-digest = F163BB7ABD3914204ABAF08B844ECF05 - A36B7B37B8345115EFAA2AB2E7763E6A - E044A83597C023FB41EFAEFBB63E4195 - B60AEA6399DEBC94C75BE883B3623733 - -Set 1, vector#144: - key = 00000000000000000000000000000000 - 00008000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 9198011FAAD874AD77CD0C98DD99C7BA - 01B75CF9DE1E26321EC6AD293C73C675 - 69A349157FD47672C5326276BA40F4C5 - 0CF8D98134D0BC13879E9EC267110FDE - stream[192..255] = A9B3BEEA161ED996C44F6D3B93431C6F - 54DCD5DB88E62CA10D1067B9CB5D21DC - D7E04C48D88DF54E1370D1C24C871BD3 - BDF9B956315996F95867D1E2494370CD - stream[256..319] = D09ECB5DF5B0526372B57CDF5DCA6AE0 - F005D2E2F27D50398E3D1D7FF2100BAA - D6F2C03E431345A4F41CEF3E8D3F14CD - C76A423720A936D27322559289F13D92 - stream[448..511] = 5E8FE7964B052B6D27216E37C49CC913 - 450FAE159C087E34CF67E8B0B8F516D6 - 3C0B544CA29F9BCB2B48D3894D69DE3E - 1460783E82EB67990FFB7F92DA48E449 - xor-digest = 5515E37A3F274746847F551ECB7DB4BC - 2BC32237050BEE9AF2AD1BD8577034D3 - 4A23AB8A2FFD00C7B8CB7D5CA0AB2421 - E7CECB2801A1B73A44FF3E798ACA8443 - -Set 1, vector#153: - key = 00000000000000000000000000000000 - 00000040000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 02858548ED24761DC0AEC6752076D095 - 7E78EF1FCFFD8E756C747586A3B59C22 - F42A9FCA9F103C3054E0B4F6EEC82101 - 971F2A6F9611F7541152FA3BD7774474 - stream[192..255] = C32ADE80873D1190E9807C25D73EC5B7 - C208AC693D98A664FF4D11205650F7FA - A36B153BC1A3F0EE0F4319F2100F7F27 - 31856BFAE36110C12EF0361259641D74 - stream[256..319] = B8F74AD5930D1F2CEA6B9F7E4E775DF0 - AA97744677E5C96B9E55AD77BFAC5E8E - E9BA7A19607D9EC52DEEBECD185DAE13 - E304743019D831849F111602EE6EC34B - stream[448..511] = 513303A57165287E793DB91F49C9A8ED - 522389F03634930512744884BCA45F4C - ACB60FD077BF2C050D4002162FB811EC - 4AA855793CFF2E30665188471FFE0847 - xor-digest = 7EABCDBDA34E51E3A61D2F3340884BBB - 600E1D30216B7117081B3E5D04FD4523 - 706D4F34C5FD604134DC89F570D6119D - DBB7C5FB7CA90E38AC157832C3C956BD - -Set 1, vector#162: - key = 00000000000000000000000000000000 - 00000000200000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 689E48A85A40BD161BEC710F9B2457FD - 276F1156EBC10BB851A8517AFDBD692D - E4827BAAFF218AF886439ED976147EBB - BB1074BD599A80F6324C87BAC987B8C5 - stream[192..255] = D9BA3E74CBAA58CA97DA3D3B1051BDF3 - 29F6CD837B72022D2EAB5D20B02F53DC - 4755C764C50756A7101998C187E4F0F8 - F17A0C6797976C4FF1BA17B3D03C2218 - stream[256..319] = F6F9B6F0F6E1D756C0242B48BC55EDE3 - 3038BABF72FCDD5122C61804996F5ED0 - 86A78B33C517CCED9C34580AA54AC03E - BD0F9698A234787DFE97FCD3D9B7CEBE - stream[448..511] = C31091C4C5AD605BA90963B1D469E501 - 412FEECDE3EA8EE834F188793A98F830 - 81F8C941F11676E007074B40EB15DDB5 - 67D93E954422376F2E3039F4E4115D70 - xor-digest = DF047B3EE7F2AAACE9D5A2B0F6A1EA0B - 97E815E9B9BDD3B7862ECB414E9C08E9 - BA0109B1D6866C9D7D6D3DC9FAE5F51A - 48DE7B9077DA489B7982BA69228483A2 - -Set 1, vector#171: - key = 00000000000000000000000000000000 - 00000000001000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 1F8F707DDF0121AE4DF26A6ABDC195A7 - CB9CC8479588D2D436C52483DA54744A - 2880E3DC622180D36B64CC053CC245D8 - 0700EC62ABCA6944BF89C7DE1A532A3C - stream[192..255] = CB2D934DD1414C60550CEA6FFA776312 - 3C9336F99F16F8B5B8E60D5D0CE54A35 - E752A4887A03EEC95050E50B58F5C8C2 - FD814DE76D3F66B907C77C9B646EFD13 - stream[256..319] = 10306DD8B3EA307496D7BEB7A679D53C - 3650ADC53991D0565856F51DA82CEB45 - AFB460D6F90877557E17F534C3375FD9 - F96D13AB77FA3996998F5DC6F5D3C9A3 - stream[448..511] = 42F4D1F669741750B24A44F82990E6AD - 065E7B07B2194C96E7578F7A754E52A5 - 86C820FFDDBA671A7B08D65B51D8736F - D0DA8E81CC69BB8A56565C43845C0AF4 - xor-digest = C0535BC269BB39AC2ADCC50C62F87B6F - 2C9351DAD49813529A27BAEC163A1D8B - 778670F0FF1610A4688F86851050C9B7 - 275B087A0B5CE01B602F8D1D25C29392 - -Set 1, vector#180: - key = 00000000000000000000000000000000 - 00000000000008000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 899C1C50A80E374AE884F10BBD17D036 - 1632D89938FDB7E4BCFBE1050D5E948C - CF4631EDFEFD2F140FC3FBFCC096CD68 - 1F6C1B0CE9E395FDEC56295AE331D8D0 - stream[192..255] = 2F60CFD4D07E58DBC5127A98D2B1DDD6 - 1F216F61F70AF12427108906AFEDA4AB - B439A99765EB84E43D06EB7B3D984A3B - 53D8C054745A6E3B61F8444C84C7F30D - stream[256..319] = 1A92F3B4F6C4684201FA4AF201259AC2 - 53637B41B734062C298E6F932DBDAC5E - 999FEC21B63539B5FAFC312D0CCE6137 - 04AB3CE65E241A1C34D12ECCC840973C - stream[448..511] = 83A75C2E2C6D40FAEA049322DC1B2251 - 306A8906A37DD30182C328D50E7B7AAF - 89671DD776C9C730EEE0DACEAC7D7038 - 4A93426090F31EB851976B8B2ECA1FBA - xor-digest = 6D85E7DA2069F1308D20A56DB17F3629 - 09E80EA6A045DBE61FB037C3C8B9D448 - 526A37A431A8BE49CE4F10B8CF6A33B8 - 82E6ACD6309BA1B716810715666C6CDA - -Set 1, vector#189: - key = 00000000000000000000000000000000 - 00000000000000040000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F9E151BE5EA0F532E56958F173B8F104 - DC9E73D8FA289CC2F84C4BB10E8EA769 - 57FBC8F539365B9E9518F8787D6CF927 - 55F0C2B2845318337F36B80E22C59FD6 - stream[192..255] = 27FAFEBD2EBCD2B67AB18BCFB7F8DC96 - F54C8A765B0E4B3DDC3013B599DEF791 - 287FF3C0F48F339DA04B667E54696485 - D48751A001B548727338AD6FB82EAE42 - stream[256..319] = 09DC2AFADEECB86278C64DDCA51EEF97 - C10B9852DB5F33A19C99C0D4F36D2959 - DE247E4DB356E67F2951E0309F18D6D7 - 27D2A1BADCC44DC320E2AA80E1834198 - stream[448..511] = 4103D8455B6DAE658915FACFF2F3F1F2 - 856E2343143671565936301E9D1F635F - EA732C9A096C3E955D33770E244ACEA4 - 094E390239489F4D4F0A1F3C26A1589D - xor-digest = 8DF4EC7886C386E5A0D7201A3E731E95 - 5D1E281321C2B592E31681CC95D173A7 - C92E6112197C6A605F494F6E9C4AE73A - 21B966CBAB1628794F0E44202742EACE - -Set 1, vector#198: - key = 00000000000000000000000000000000 - 00000000000000000200000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 8B9B0CC804CB353F49564926E3FD846F - A4758692FB110A428FAA3132F4C606CC - A41CA937FDE463D9FEC51F419D60AE60 - 1E8EDB30AB09E0B08D0143D885161B16 - stream[192..255] = DC6DFDC4E36FC1D4BD87F731F761BCC3 - 9837A790DBB766040B4508778C5CFC82 - 8EF9EC4D76BE3AE0967DBC844A2D252C - B942E97A2C6A185ECF4E1200BF9BC826 - stream[256..319] = A9DE78C2204B712A9803594B872F29E9 - 5E8962D7D719702FB3279F053D311292 - 26A14FB06058AEEB6D283EE0A272C6F2 - D392B102E294A7CDF24928D5281D024E - stream[448..511] = EB822D7BDDA456BB6E109ECD330D4FB5 - 1259D7042935BD5DFC787E903758C27C - E9E9B191957E721A7013D36E5A29C09A - 3433205956A55460D1498124B2800423 - xor-digest = 10128D9A5EEA1D93E65462702DB15A8A - 23D0FDFCC5B0871639D704DEB9F580C1 - C88213CA166F3BBB89D0926CAE7E64C1 - 0A24041A42B9D50CB0537A0585EE574D - -Set 1, vector#207: - key = 00000000000000000000000000000000 - 00000000000000000001000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DD4CCBD0B5068DF0193F50C11D2576E1 - A70040D6C2CDB98061498891D1791E63 - C4B5103A52146CE27D8F721E147EA612 - 7E5BAE1FCD3DCD9053D5FF5EBA328BBF - stream[192..255] = 541F008D78EC1ADC5D1B930CC99D4A3D - 61BD60AAB9DDC8AF8594FCA129410232 - 92BC44EE064E44E88A07ACD1B742666A - D147F14102D23578E3B7DC00905586D1 - stream[256..319] = 6834D2FB6BF3B46C0552AD83275CE6EB - 9482C2DFE40C6B1FD6F743CAC8F40A91 - 5BA9A90FBE7CC0153D53C444D3F7A23D - CDC3134E237F63E5A07C99C10B8EE87A - stream[448..511] = 9F75BC84091695FDAA2579AF9D34B2A7 - 2B82D39A1E7FCFC4D18D6898A9CD3296 - 0D50AF1B720E1347A0848782BE6AECC4 - 684CCA05B893951A65EB7CB37F5FE240 - xor-digest = 12F358C7C4C697199F9AF17040115522 - 062514A5DC3584BC515AAA4474A1D85B - 47A6A2D8C39E8234A5D11860BC1036E3 - 957920C03E9A47E61AAFB058A9850559 - -Set 1, vector#216: - key = 00000000000000000000000000000000 - 00000000000000000000008000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C5958694DB1D54B95101A9F48660CB26 - 8EDADED85C6239098248E0867117607C - D5278E5B5D9CDA7BE8A6BBDCE61215B6 - 2A93FFF627B28B271CF2275E54EA1CD0 - stream[192..255] = D9B69B25B5729759F3180FF17421092B - 0740B2E1307FA9141915CB8C30C0C322 - A1E4710674EE715DF3AC89F447442A7F - 845E154393273BA47F2322BC661D1755 - stream[256..319] = 49412E5F3C9B5B52FF790CBE82D6F037 - 217A13B7744740A887F7C1FBE3714DEA - 2A4EA4A5F444B2EC3C0B160A251CB44F - 8DCA914FBB80F72BC8D009F1C7E001EA - stream[448..511] = E1C2BE8C64D6BFE081EDD30681763928 - 85939DD7EBC13E16D83C8E7FF65EDBC5 - 90FA3904068784806E20F0A61CC73839 - E3BACD410F59D3848F5A628EE030FC4E - xor-digest = 54092B3D64197BD598F9050B44D2E785 - 029F29F46822B72ECA40182E8ABDABA8 - 751054FC50250DF5AF5AC75F4C51D1D5 - D2BE298770C353A7C5D608D1149F1452 - -Set 1, vector#225: - key = 00000000000000000000000000000000 - 00000000000000000000000040000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 633A6CAC516B7A84CFF8F5702CD9BC81 - BCE328741675EBA0FD1368190AB6BEEA - 7C8B0256CEDF9E5CC6F9249511AB87AD - ED95BF8E11182B8BEB75FFA279C3F706 - stream[192..255] = C3F700538A4EEA17773E74D10CE4493E - FB0417B380ED4229F651D6A9BE0AC617 - AF66C576B7D06F2210EF226462004D90 - E753D805AB198B73B0CCD752C7E57A2A - stream[256..319] = 30A11289A9E0C854B980BE044F07E945 - 06D772861896D0F75D739647FFB939C8 - 13FE4BE5C8DF84F64827306D0DD82415 - E104F787F30CD097EED7DB9340A0F47E - stream[448..511] = C2134984733448DD577DC48B5EE5D761 - 0A54AB6C32E3BB782849D8E7E8B522B8 - 0D6444342ADD9709D7434F9B4C18C6E0 - 15AE97DF8F3D29FA6D85DA387157E223 - xor-digest = 8613454AD0B424AB6EFCEA96C0802B6F - 47F1E98C52BC68DA25E653431CE31078 - 1658BC45DCC2EB43C4ACF8395727133D - 12A127D4CBAABAF24BA44930A58A87B6 - -Set 1, vector#234: - key = 00000000000000000000000000000000 - 00000000000000000000000000200000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 6A0F095C0E23FD6F8DCAEDAE5314141A - 0F1CE1C1BD6A16E81FEFF72F0753A5AF - C1C54DFC0DD6ED99F1D416BE3C5EF341 - 454C18D49729E80EE99F37734817658C - stream[192..255] = 05A4DF5BE8A35DC623D107728F28C789 - 3DE0E75268B3E1F94C07AE50CA0891D6 - 2B1E764CB41062391B33929273CE6B6D - 1C9CEFB35C37AB2FA8EC18749B5292B0 - stream[256..319] = 41C8AF9ADA46F7BE8EA72BB3B8661B78 - 2BE5649F18F216B75A0071A6617200B8 - 463B08F986D706AD140E27C8F4E040BD - 6BFB4872D758363281C62AE8C4B64E33 - stream[448..511] = 58CDA35476767EF58748A504B0E4A38B - 64162AD422A0DEC0434D879898558C77 - 1A8243DC43B15FF996B4C8CAD3C47C6F - 26F00C71ADFB538D9A983B7B624D6E62 - xor-digest = 240A699AF4DDBB56A4C502A9175C0E3A - BBD654D0717A1F6F6847381B978AE8C8 - 0EB7CA07A481DFF8606A31BD6B489AE7 - 89763068D641BAEADCBDA9ECAC465ABC - -Set 1, vector#243: - key = 00000000000000000000000000000000 - 00000000000000000000000000001000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B3C91DA5911D7D7A4BC16A66988AFD3C - 8462A9E9BD0D95C9B9884DD14801E464 - C27048FEB5F70B28013099F0A31255A4 - 9EACE528A13CB5DD067E520D183133BC - stream[192..255] = 756EDB0542FE1F11B159C7081D9CD742 - 2F0E5862D39E2CF1517B2F6F39AE5245 - D659A5B93EB8FA8C8FB751B378BB0DEB - 481B874663624C8DC15E6A1A64376340 - stream[256..319] = 436613C9293D5DCB204B46899CF23E65 - 698BCC3003FE064FD1263EEBC59DDBAC - 536566855510FA802128F0A968A2E359 - FB68EAFD6AA89D394B32BF6069E92EFC - stream[448..511] = 033FF40203ACAEDFBF561A674EE74D97 - A535A448AFF94C8C167200E5CA626388 - DB1BD6EBD4A1D83CF352E97CD8F02671 - 18E57B71D33930EC2752D2F262A55F9D - xor-digest = 2CEEE4705688B20B3AF71F285DB9361B - 0EC945296B97F3A050C31C54E9A07CA6 - 498B92917617571928E2663CBBAE21AD - 8DD880A037A024E46B6581974838AE1A - -Set 1, vector#252: - key = 00000000000000000000000000000000 - 00000000000000000000000000000008 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = A6AFA8AA02C3AE7F29E61202B4A5C25B - 6F74BCC176702C9C1D610FF722527A6E - 721ED90B871AEEC71EB62B24A8F24357 - 07765F7724BA03173F51C9B66C9F4BDE - stream[192..255] = 002B8929A54C1370067A36DB9057807D - DB747C2A4CE19BC085DDC517AADE3B97 - BB1B35F2BAA6A18E8154CD80DA6F9F4B - 0DBFD3EA5F69D5ED3B5770C6221A8D66 - stream[256..319] = AADBBFDFC6FCC6072747BB528EBEEF34 - 6DA76885CF1616ECFB89D3A134769902 - 904AA12744DD404F268B0B4B34700928 - E3C4B3665B9CFBAD9C528EA06F89CCDA - stream[448..511] = DD5453BD0D99E7D2CFC558EA969A4E35 - 743AFA96D570026106C5CF40037B1325 - 40C909C1278DAC8369B1AC257FD8D868 - 3648B4F22F7C66282BAC49D8D23626EB - xor-digest = B3F2AD900155FD5D39768B4F4B7F8E5A - 1C557936F2B5F06966DCB884AFF7F01C - 7AFC073C20EAF85363DFF41357E626B3 - B19607224467413D185A05E7BFBC5F0D - -Test vectors -- set 2 -===================== - -Set 2, vector# 0: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 5B078985D8F6F30D42C5C02FA6B67951 - 53F06534801F89F24E74248B720B4818 - CD9227ECEBCF4DBF8DBF6977E4AE14FA - E8504C7BC8A9F3EA6C0106F5327E6981 - stream[192..255] = 30DA9453A90909A5675D6B691CB0990F - C423CDD8222EB47245BBB67BCA2B9C10 - 8D1F016DF0CF8CEAF6829910916DBC1E - 113D11E91BEC3D85C47E3042EC865658 - stream[256..319] = CAFED71B892EDBE13388CEF6A3365797 - E0D88C0D3A5B91BE4CBAF5162F69558F - DBB45CA6F8C8D4C371D62736EC244584 - 60131F54854F3EC804AA9A38E6ADE281 - stream[448..511] = 531A0ED5D2A51DDC6499FE1BB6E2295F - 2C3EA0F56AF46ED93DFAA4E16F5F0831 - 2D77BD0E9122043CD6A202CBA9351F6A - 0E8E6263F4017355136A0C551E6FD0F8 - xor-digest = 023D719F61C193E4CCD87755C87F9604 - C5A29DD7E31637B3DD70D43441D48CC7 - D474013C85EEAB1897C80ED0A0272543 - F951C72E3954616CB5D6B51FC24F4B0F - -Set 2, vector# 9: - key = 09090909090909090909090909090909 - 09090909090909090909090909090909 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F5C2926651AEED9AF1A9C2F04C03D081 - 2145B56AEA46EB283A25A4C9E3D8BEB4 - 821B418F06F2B9DCDF1A85AB8C02CD14 - 62E1BBCAEC9AB0E99AA6AFF918BA627C - stream[192..255] = 3B3C6E78A8F381EE2C159FAE1C487C58 - 11FA9BB02CECF7440239FBB0497347EF - D8F1A8AA71AFC70ECCD64E81388E6E87 - 9521C2B47AD84F9CFD9E240D8D2F3001 - stream[256..319] = DB04FD01BC18D91E2D31237AD0FE26AD - 3C8D6A2EFDAA9CC11BFCC61D94F6104A - 4091B3634FA57AB0AB9B209F22DA5529 - 75C3C322DEBE4AE68623BFE1B2BB7F0A - stream[448..511] = 35B290F85EBA78A978750690C4747E8F - 72621951483772E8B89876CC5D55F3AB - 02D9B8FB35C741279FF9B5B571B26329 - 4D011F813CB5B209CA1A22D532BF09B7 - xor-digest = EA9BB65E87C987EA64BC3F4E710CCC34 - F6CD0A795B8347E1441CEBEE35540D41 - 64FC2B95D71FD47A2C4ADF732261EE52 - 8125BE374FA4A90132CC1063971A2862 - -Set 2, vector# 18: - key = 12121212121212121212121212121212 - 12121212121212121212121212121212 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 397F8EC015ED573967938D1CEAFE9BBD - BD8853C329B3A881B489090853FE0F43 - 89DA105F0ADFA9CF51DA2521C40FD2B8 - FB0BF80B93E3F2B3D8A8EB1C615E0FA6 - stream[192..255] = 68E7DBF465E3C6994D58B9937A866E4D - 43A82A80DAEDBF29C048639BA38B690B - 7ED11323E3C0A8E77A16356705431EC9 - 9F2CB7F7E1ED3B83EAF2CAEC00B00755 - stream[256..319] = DA51CF3A07EBE7E86E9DDDE5A47E7417 - 376F334E6AEF9C187012C8AD2B94BE7C - 00A876756EB232510FD0798E72EEC87F - 75EC1467C07B3A1EFB0D51A5FA65E382 - stream[448..511] = 0BF3C6FF6794887F2776FD632B83682B - AAFD131432CFD7D2F675E03320395313 - AD4ED96E9052FE6B2D2A17428660A25E - EE642B712800BE3F7E44F21A1E6A03AC - xor-digest = EF4E84DBD66497B142EEAC56B830FF78 - 0465CEE20B9CFAF5727D4B3A588F4D00 - AAF718330CFF35508C44C1ADB8476625 - 2CC3AA6AAAE74F8BF1DDB6D4AADA425E - -Set 2, vector# 27: - key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 72BC8A6E1E61E704B142AA00812EE676 - 263C1CB9AB941119B19D15EBA3462F56 - 2F69220595DE5E0E7C595FA40F1F06B2 - 6EC32252AF05310809DDDFAE2E24B170 - stream[192..255] = B29A740B51B4EA1080666337D5551484 - FFED6860A5125DC0573C8F90F23A98E0 - BA7B3E4C28C2CEFB1C33D2C36D1B7625 - 64B9A67240CF174347A4C8D868F00F6F - stream[256..319] = 555ABD5577A8909797FBA9769C03A0F6 - 537C06AFB23354F054E25457B729B534 - CD10B2ABD45BE3E38DAF1B7A9103268F - 4FDB4C0FC9A80A003FCB907E8F249AE0 - stream[448..511] = 3B29A43D9C795DAF1760CA9EB57C0B39 - F62D54311207B617B727FCCE1B2E762A - 060810C4DEF672E7D76083E3E4BED0D1 - 0BAFD27CDFD2C937E660190D36B3FD7B - xor-digest = 0B3B0B3C69F2E4BDA22E25AEF352234C - 18CC5E1E3F6A317ED7257887446EF734 - 65CA15F51AF5E077B7915062391D8497 - 8F437985DD08F5FA3A8D74B3227A6EEF - -Set 2, vector# 36: - key = 24242424242424242424242424242424 - 24242424242424242424242424242424 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C845BA29D542FBED2D021C85188E119F - D34967B79D9F44635DD45D2E41DC5AFB - B237AD2FA0E4CF4202D83DF3073C578D - 2AA8A32D30FB45DE28F23CEB85E50FBF - stream[192..255] = 15C910FDD3C590AED1ED7DA2A7969297 - FD12081B4B23F0A32CE5B3196173C7CA - 7EDD03F9637E08CA501C4850C15B207D - 7AA724377396CED2357B572BBF9E69AA - stream[256..319] = E484AF567EF80BAE77461855294E9280 - EF57E7366605785034D639D6DE3EBB0D - E21886D0E1E0679BC2E2C9C2D9201484 - 4A452B6AD3F1AC8B7762FF3C0E405B3B - stream[448..511] = 595D9855200786BB575FF7977509F395 - 7879CA1F19619A99174BF013CB62F85B - FF2C3C4FE724E26DD0C10D7635A2491A - 9E7E868D9DAD9201465AA178184D06AC - xor-digest = 08737B82505F46F4FF282EF42F387AA8 - 0450058F5314389BB73733BC163D75D5 - D32FC6408F8DE5F6ED2050027D605FAC - A7119FC2DC1B6D3E84E8048DCC42FBD2 - -Set 2, vector# 45: - key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CA82A689535CA8BAE01BAFEBA6504B3E - 6E6320101999BCE5550C2BBC9BC65D91 - FAA2D72FA4BF46B6EE916244048B1D09 - A115E3AB6C00BAC8EE382B58859E8157 - stream[192..255] = DE787B1CE01B0BC09801D78D1FFA3A82 - 0C18B867C561E96DF4ADADC5A4375E44 - 5A34F9457E5F8C9A337A0C88DF0F723A - D4509F1449DF2C6AEC0EADF4C7A8139A - stream[256..319] = 7E1854FA15DF9D5827F1555F12B292C8 - 452A1A893EF034C51750388D294947EE - 3F505839C69C1708E8323C449C39A96B - FC9EC91B0E1CAA8112057EB0389FDFD2 - stream[448..511] = C85B42B838FB9C3D4956C9E22FBD8FBC - EDD92C4461EFBA5CF1664B9AF54857BE - C3D00319E5E8A89A8322831151EE1D52 - D8585AC79CB60B61ED2C852D04BB0FB1 - xor-digest = C65A6BEBC4FE898DB8D6B8F6E8F3680D - 2363BC12259B0FDB2BD8F052A572ECA8 - D1EF62AA9A48497805A413742B5AF5A2 - 6DC9FF624B49E5D6FE58BBE5251B4983 - -Set 2, vector# 54: - key = 36363636363636363636363636363636 - 36363636363636363636363636363636 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 9F6BCFDE566A1B67C608F11B8461E340 - 42D4F07DA4D5EB05554CB7426D65C5EC - A93C2D321175B6F72FCBEBA6E38CB098 - B72534F7D534B1AADD97B77E8513B482 - stream[192..255] = B2466A173F436C8433F264CBF125B8E4 - C10BC81BD46B5C21FA161CB2AE07D27B - F66812A2C2FCB2B14C23E413CEF4E591 - AD52EF810A000B42E5C1B76EEBB17739 - stream[256..319] = ECBED2058DC50223614EB8635B834C3B - B176719C18CA5E3D087A93E5CDF81123 - C6FB819CCAFB5042AADFED5E3C33116A - FD92AA21031165A22F4751C423B8B945 - stream[448..511] = 758BD9435DE607867DA256064C304C8E - DDDF5B64173CF2C98B2842992F8C5FE1 - A37C3227B7F37D49A39F9FF929A883FD - 56DB8B1A174E1E55FCB21C9E1164C20B - xor-digest = 31761A49503946701D35306FBCBE10E2 - 02967E7EC14A328B4DB19FE79F03553F - 13A012B7297B2D02F18A216AD24A682B - 299518C3769123EE86A4937DAA9FC39B - -Set 2, vector# 63: - key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 85C7FF83641ECF1C91B2D996D4EAFF6B - 26A4E7E34C0CA9CB9399F655E566383E - 246143F57776C8E08951E87F76091FE7 - 2356CC901F09A07895A890AECF047B3F - stream[192..255] = 4CE0C6606195F7562D485E32E8E105AF - C862100A07E55FB449BCFA2D9BD48658 - 958B37B3EA3565FA66824102A14B5770 - 5E3914E0680E116ED58212CBF61028E3 - stream[256..319] = 3BB772A5A8DE2AB14CAC1ACBF45B1701 - 057710F24C01E680F58090B8E949AF01 - 8970A43A698A04C0C8639FAA665DA3AA - 562B2C5C3A03BCC38FE75DC1821ED718 - stream[448..511] = C73DEA1F7BFE42DF75EA2681BEB31948 - 821FBB049DAD15B988A77C0247868A38 - 2056B66F47B0195FA30C9DB5A2334A9D - CD7C0D22E479FAE1BBCDFFE60F261C7F - xor-digest = 94D41CCAD940CED3C854DA0796DC62E5 - 6B566A980E34F353CFFD0F53AE9E34FF - A6A057645FE66D86BE30F93805D9E2B5 - D78C68EEBF61CE387277A51EB2EF835B - -Set 2, vector# 72: - key = 48484848484848484848484848484848 - 48484848484848484848484848484848 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E45194379659D1D8904DB3698AF8B245 - 762910B7FBD019AD1AA20A6C433B4C80 - 308A9EA68697631646BF3A2107C4E7FE - 2235E8F3262A9DFD3F5CC23FEB0B2DAB - stream[192..255] = 012611EBCFF9F839DDABF99D9D4757DA - 4E947598C4757976F6F61DA5F0DAC8BC - DDF72F08BA2F446FA37F9A490F6A2B6D - 79227C93271D6B763DA7B2A907220A42 - stream[256..319] = DDE54F9170D6A4702CAF45CC6F799F74 - A43D83AB8ECBAC5206D108F869561D70 - F151A0037F8E28951B5026643F8B2D6D - 56A62E259F04A5EA304791A9468E66AF - stream[448..511] = F70794C084E6EDC07BA0347413B05FC9 - FC46994CA820CE4FC037ADBA50EAA9AD - 55064ACB7308CFCE3F35AD5C7C628362 - F4210FBC2D3264F734728626BABF5356 - xor-digest = 31815B36BA034BB1941DB1E45A941A59 - 7C3882F34BD3BF441CAE8A9790B05BCA - 72049FD10C09A14AC9DB867A82C38A5F - 524C72F783DFD16980DBCDEB486FAE96 - -Set 2, vector# 81: - key = 51515151515151515151515151515151 - 51515151515151515151515151515151 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3C04E21F6937C4EF472BFDDA89F9CAF6 - FF53889A9979ABA8F23AA51DB1EDB8E9 - D08F696C1100799A7D004DEF1CA94110 - FCF0C054B0C131E6FAE0FE2F2DBF22B3 - stream[192..255] = 9B4ED3EF9639B953186FC7E732E7A9EC - 55A5F3F19C5A10E12EBE46DD84F10385 - 33837693588D584FDAF86E3A217C3CFF - 020278736F1A90CE07F0DCE4329005B9 - stream[256..319] = 135FAD68B5282FE59B28D2DF66463632 - 06CA92E84A73FA131EDDCE89A5C23B4D - 08FA57D455BDB32F8ED58DAF3EF288A2 - 7C72020E35DAE19B446E4C52DCDAC5B1 - stream[448..511] = 7D08FE1CAA0E8A0362669B310B99127D - 18F2111002891D3229102D72605B9BEE - F5DA36059B0DBBA7646927650305431B - FDA4A97570CD0C484BF1E974B157ED7F - xor-digest = 5125E77698C0DAA89A7E47DC5D038D40 - 7B732CE56CEB674CE653A1B6661B2740 - 0C092AFF83BEEE4FC4543B9D725C9387 - 2F89AA338222ED677BF59397200AB304 - -Set 2, vector# 90: - key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DA2E6F7FF0D1F1C87A97E028D3E20E21 - 75E9AD91482965B651B495AEE819CC6E - C42AFE2C20EEACCEC4E90710D17210E0 - 4CC6832905985322C8007F872D3E58E1 - stream[192..255] = 09B0A38E19DDDA08F7DFEF7D0FC80560 - D692A020F0A66F609374ABDCD1343722 - 05F19CA04EBDD3009844BC540C1B2B41 - 66D45E8A2E822B906DA34649E7FEEBB3 - stream[256..319] = 6C8E2CE1D7FABA414432E75BA2EFE4AF - CE2CFE99506677A956AEC86BD290B6AF - C5298A448D0DEFA99AA5CD26D318982F - E786D809C713D5A55B42CA6650191DDC - stream[448..511] = 845FEA0A88B521CCB8927C9457AD3225 - EF6E3C21705EC9FB24873916A2C24668 - 963C03FE097DA8224A42A99E5DFFDC17 - 68CF518DE49CCAC8A70216C62C9CBA6D - xor-digest = A46BFD9D2D0BCC688A032F54733AB7C5 - 5FF58B296071D5D39349A531E41F0BA9 - 893A1722B6102740BC5FE394A49363B9 - 6A626AB43FD6A288CD9B23F7255279F8 - -Set 2, vector# 99: - key = 63636363636363636363636363636363 - 63636363636363636363636363636363 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CF0E05248AAD82F1C8CD2095ED2DA333 - BCB02E3AD8797377AE1F1B4D6DDB86E6 - 2A59791CB553550E0492FAB42C7A2C42 - 3157C5092D2DD37D46589F17FBD86584 - stream[192..255] = 9E946626F1EAAEDA42E52422B4A84D91 - 4122EEE5736BCD12061C77DF5B0122B5 - 1784E946B4E93470170ACDD7E2779591 - 57BCC9B9F3E11E88BC2F740AA0C10C97 - stream[256..319] = FF22D8196AB3DF662210D12D0FE79255 - 6DCD39611C07F089979CF7D693A30CA3 - 5B795B7F6D64931916E717C8BFB92114 - DB75118BDB51D142CE8133415C6B3456 - stream[448..511] = 971F007EFE17662D95F47F4F28266516 - B22A1E50755EEF19149DE3A3121F5FEC - E0D9DFE7A055026CA44193542D7687EC - 695B97769BF02F92C1EF3D904A8010C6 - xor-digest = D1C4878BEFCE48888A43C6DDE7CC8163 - C8D54A4CA36748C74721C7B6E1649A31 - 4B5B7A4BD43E7C3D2A22F0C8446C7892 - 90D54D421D37CB16400E59CC86215CC8 - -Set 2, vector#108: - key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 54F122FC8ECFB176E7F4CF172B2D78B6 - 54BC11ECF0010D2AEB9F899130F4AC2A - 38EBC15C8831D591E6675DC1CE7A471C - 4B869FE83CBF37AC70BAAE5D4AC607F9 - stream[192..255] = 518F298A6008532EEFECB3DCF72103BD - 5E3F84FEB6EA2311E8C19A2E93A9C3C3 - BB1DA7DBA78D5618D1C4FA5B0B202728 - 62645A361E55494D66C9359E41E5809B - stream[256..319] = BAFFFC9206D1D813F3E2768F08D78B2A - 89BB20CCD92E7F13FDD816DD4E4963C2 - C5FC2570CBB8BB5C70848B73001F508F - 47AF179528200F51CDC6E4854EAA63C3 - stream[448..511] = 844B1D15FBFD1264169279ACD525611F - A39C7BB41F1E7A1C09090625F7926E51 - 23A4CD7FE1A3F37ADC67AC437BF0A5AE - FFFC6FB0ABF39D9908145004AA5B958D - xor-digest = EC67596C9DEF4012A2D543842829306A - 4285A3B8038818F265065DC848BD80FE - C27C2F66A57B27F7FA8AC912001EC954 - 05BC6E93D7E555C59060F5D2E294D103 - -Set 2, vector#117: - key = 75757575757575757575757575757575 - 75757575757575757575757575757575 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 91D2772A18995DB3C0801DD3740F4466 - F9535E5BECB93DDCA0E94D19C0B57BDD - 0FFBA9DAF0B11D55C852927F8BA560EC - 4999E25848D08FCA7275E7E8571A5F1C - stream[192..255] = 72E64FF10CA9F07CC493715724DA7610 - 9E4358E8B0CAE451348B784A162DF036 - AB9796724D17FDBF356031D080A6631C - D1E8D217B041AD2EDF427972653206B2 - stream[256..319] = 4054F770C93FCAB533143FFCA8E4C0F3 - 344956C29D10374E502C2EDD177ECE5E - 6625BAD9630DAD57976216CD69865058 - 130B132FEC1AB0C350DF4DACE4C7724A - stream[448..511] = 40B4A4DD63F7B6E932482D0E6F5BBB90 - E402466550B518A177CD05985D238827 - BD92EE7EC22C274F19E682F85ABDAD95 - D0EBB3DB6C6134408353C8B0472C9A1D - xor-digest = 9A6C893F2108D13A29373DEDA65386C4 - AC356BDDD4A3178952F9126E322B7AE6 - 83C94F1A131CBEAFF26549D9F84CF04A - 1241FA374B055B0ADE7E49E8EC669E65 - -Set 2, vector#126: - key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 87A7773A3514EB7F882F2C491E90DCF3 - 059C5CC575D806B9029CCE3FA45A246E - 0EBD3AB2F2E324FE36ADC3B56AE2F7EF - C710AA964CB87381386C2A88B1308035 - stream[192..255] = 415D6F59DD004944D4E45FECC6F1F06E - 20BEB18D9C84187C347F43B17E0924F1 - 2348F825E106E57A00258CE4415294D9 - 4323A9812D8A71359CEC1001BAA0D567 - stream[256..319] = 8E20F0D03F37EF4B2C5EE12B5F81F7C5 - 32D62E779FA0D2D08F8ABB6B0183A4DA - 4EE0329215F261D953150B9AB9FCBE2F - 568AAE361EAA8636ECC01A63F007977F - stream[448..511] = E7C44F44E06321A20E25F73E2069757C - 90499DB7E60025CF6D2D445E53A665F3 - 08EC96F6FE73C0AC90D7E4A712E18C2D - 3DED46DFBAFA24C4B0B329E52C525976 - xor-digest = 22035341489FA6EEB2A6488CA42F4043 - 57477C3F55569A1224EC39B1019E90C8 - 21D37D78ED4DCEAF6EA70724C3751760 - 38CF25DE4F84BABD80424D83A310881B - -Set 2, vector#135: - key = 87878787878787878787878787878787 - 87878787878787878787878787878787 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CEC0C3852E3B98233EBCB975C10B1191 - 3C69F2275EB97A1402EDF16C6FBE19BE - 79D65360445BCB63676E6553B609A065 - 0155C3B22DD1975AC0F3F65063A2E16E - stream[192..255] = 5E12BA9DE76F9ABF061782EC1C4FBBAB - 3373B816DA256CAAC37914B0C161E4E4 - 5F5ADBE444098A5B2A4CFD4251D79918 - 987BB834BB50F0834EF4985F356B92A2 - stream[256..319] = D89642D25DF97D149AE07EA18BA39497 - 8935978AC34C1DF9F444986D7505DB4C - 7E08DB3616B84CD52E7DD7FB108C36B8 - B50C2573172F4D3500B6D62A9D20B82A - stream[448..511] = A2C17FE7371604556F796429C6BE0688 - 8611638B310F3E9FAF484BA9EE29C16D - 2F842EAF33AFEC557B68D2F453569187 - A6F4CD204A0E7A733E81AB7CE9FCAE81 - xor-digest = A7C93087CA70DDFE5FA5F1F2F954320B - 6E3A61977A7C6AC2F033B826AB9A9957 - 66671D2A1025CDF8E2824B2F58CB221D - 2A68679239D90152FF7D0D39B33FAB93 - -Set 2, vector#144: - key = 90909090909090909090909090909090 - 90909090909090909090909090909090 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 7118889F6E46A6523BBEFCDB006B3BC6 - 71A6D390BC7099A708D370DCD0E3D143 - A0334619EBD5C7DA9EF6301F29273F85 - 2DFA3C580ED65C6E952F88A0B7FE368E - stream[192..255] = 31D61E133CA1AAE400CB2DBBAE93C75B - 445792061AA0539DA69ED0B77B970C0B - 482156A5DEE4082A61364BF06E692399 - FB9F4411FEC515291F8949B20F57229E - stream[256..319] = 993E815F299D4841518119BFF88F6EFB - F3DB9BAE60238BDE2845DE4DBA6D79DB - C9E42BA5C3C004AE4546FD86C660FFC8 - FD6A8A349669FFE3D9E5BDF8E50A407D - stream[448..511] = 0F9CEAC6BDCBB56B7E97DDC95877B2B2 - 1274F4A6D814B5440C74D53A3FF0735D - EF01B14AE4188E215CE7337C04871688 - 7159695A241BFB9D6B489FE9E23B2AD8 - xor-digest = 0BD5739ED28778023E6303FD88DAABC4 - 0FA0A211A1A5C5F230D9E67DDD9EA517 - FEBCDF0BDBC107291B6CF3ACD8B862B8 - 4BF15400493A54036E97FDEBB9A1DB2C - -Set 2, vector#153: - key = 99999999999999999999999999999999 - 99999999999999999999999999999999 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 236ECC5AB83DB1C5CD1C5A888CFEA2DC - BE99E7E515650511FF7016A0EF287ADE - 5A03839C4F83F05FAC3B0B24D4E3F602 - 3251F8D9CC4530A805F8A6A912EFAB1C - stream[192..255] = 792823ACE2C0DDB266A118068AE295CD - 716E424D3B98A9DB2501A3F5DF7DC70A - 3BD2C6E664D5E13317D6F57B8774C903 - D407D2BB6014E0F971141E89569C5868 - stream[256..319] = 2D6ECCF738FC00ECD5475EDA959A73BB - 304C81FA9DDE0C21592247C4098D9347 - 1DA30294DE8C100E5B17A199F744CAC2 - 4E33490FC7F223FD6B4923056117C6D9 - stream[448..511] = E791A6BE7F7593788E5D627F5CDAAB59 - 349AF2BB1DA2BA622B9824F729929098 - BD19DFC05D0D9454F604960C027752F9 - 7812E53DE6AC6CD2751AB331703646AF - xor-digest = B7C5CE0D2FF66533A1C948C425F33FF2 - DC458E7E517637596FC8FB710E2E5636 - DB1F14848CB12793D54ABD0856B22F3A - ADFA8C33AD08B8CC5292DD76913CB105 - -Set 2, vector#162: - key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 74490D19F13E7C6D1B25C6408E23F229 - 8A8806402755660C4A30CD216A500BB6 - AE975E08EC62D08425A8A62A71B00215 - DE35E5178902348698528CB82296F009 - stream[192..255] = 51A6EC18829928EE94C37A5CD030CC4C - E4F7E1B3E78C3A5DF07592F45B968BEF - F95B8B257DAF2B468284627AF4481FD2 - 67BE0B164DD86721DC8C1607A0607EF0 - stream[256..319] = 75C565D5A5A240B003273F99BEB3E4B3 - 9C056162B626F383F3E77B5C98C0FBE9 - 119A7C335C333E6490126AC2510CDFAA - 86441C72D1DD9ACBCD3FEFC0D0C794C7 - stream[448..511] = 2D90CCF0B43239D725E3B53C31B82754 - 246C065AD23A8D709161FC74B34E23DB - B918EAFA4465125D3780BF0B5803AACA - 037AA0A14D977141B611A6CA2278B634 - xor-digest = FEFDA1A6E95920B93380CC24FAE214C5 - 6B009ADCB176D519CA4B8538EDFC95D1 - 6CA06B730B28A230F0085FE43CBEE2FA - 2EE5DCD74D66F5CBB59F256CC1ED885A - -Set 2, vector#171: - key = ABABABABABABABABABABABABABABABAB - ABABABABABABABABABABABABABABABAB - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 22E1A884ED2C67CCB2977105649B6544 - 367858D1A730AA2FA96703FA406B337A - B2159A389BEF48D8A215D870B2968E16 - B11571F12BEC0A07FA7D3B9790987EC7 - stream[192..255] = 4C98DD259D03A40AF38E0ED0F37CBD74 - B27776E9250B8B063E52E169C7B76A15 - 0D699278AA4124427B5EB6AFC4AD5DBF - 600FEAAA98A88DFF297DACA5ACB4878F - stream[256..319] = 5FC732A26406FF0DBC764ACB05C83484 - 976B640E60CCD6ABFB908583ABEC3E75 - 2878371EBB5374C9B37A63E0768AE10B - D857253D940AC408EF49EDD590E806AE - stream[448..511] = F012E429C44D5DC03B88123855B62C0E - 90E06759306017B5773752973850531B - C480316CBBAEDE6353AD5FB298349AA9 - 16AC0221A4CE1E4729BFB9C230AAF9FB - xor-digest = D73B872315F9052C67C4CFC5CD912DBD - 60DA32FD06D9C8E804968E688898200C - 1D979DFFCE52E1C3B3309B58D12BDBB3 - D3EBA2954D1587D720E004E12EB4A13B - -Set 2, vector#180: - key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BEF4DD0101F80A8F880BE0613B2AAF88 - D2EF924014F7445ED922E9C021571909 - D7E6BFCAEE0724F2A9C522C4BDE4BBE9 - FE53FE592C0FEB80D2C7A51FB8BE9EF3 - stream[192..255] = 6B1966D3EE460999FF09001B0ADEC484 - 0D22CDDFF39EB0E3D5FDF74C6E7B3394 - A0A4271D780DE6DEE9AC58B4903EEDD2 - 6DD14E14A4DFE506748D5DCA6DDF4C5A - stream[256..319] = E79D99119996FBB5163335E2F79F0502 - 7AEA5372136E7B3C5BE1F4A673A2DC74 - 60834B81BE6C4976C4A727C8E6046A64 - 4CAF42EEA6A068B7E532581E9037BE9F - stream[448..511] = 5C4F52E0E94884C829DA1FE88EF34614 - 9F3EE55A136EFA3B417DB63D2487DF82 - 794E161B3153DDB2E1E4F385E1A848C7 - 729FF5CB1CB58D5E73FAB1F2DCEEE5AD - xor-digest = 2F3C231B0228C274255F3BD314ECC7F3 - 1B9C49177009AFF2CD88F807092D77E3 - C74C1B9B8650F581EC7603F4D6E70955 - 1B00C3192414C04AB0AD8B0B9BCFE988 - -Set 2, vector#189: - key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 05AF4F98E9D526CD7912F3E8CAF45410 - DED6D4E331633C5621B94E7EBD15E856 - 04AB202A553EFED55A548C7AFFCD2550 - 60315FD50A305D8BCAC9C077229D34AC - stream[192..255] = 786D24EF3FBFF6883A4ECC4F40E445AF - 3CFD130D5B6A9CE37BEBA429AD137A82 - 44D0586FEB16D086F533D1885A82F73C - F2AD2C645591F80ED09942F0A08D898C - stream[256..319] = C214B6AC700164FA66DE346A27A99463 - C5B6C0E43A9057384BE168E163058FCB - 6E7DEC871C6531EFC8B8D581EF92757E - 219294D39E0C9C8276440BE56C3D9941 - stream[448..511] = 22CF14F5BD70E719AFE76C53E5D611AE - 4C8D2171695C9CF97E2936A8BB320670 - 015825547A508EB43D96F2EE1EE2CB34 - 4E120F001500F8ACC3E19E30455D09D0 - xor-digest = FE5928C74EA21F23E29171E5AAACA20C - DD8571E907763C96B99A8C11F9A1D2F5 - 78F68A6C440996995F7AB6E69B3CCE33 - CF8CE0C16F54355696D47DBF82EA8D56 - -Set 2, vector#198: - key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 75559677D7C762F6CFED942D800F2FAB - AB5F3892DC2C79922E96FD34FE511C11 - 251C8EB7C639E531CE08A8C99F62E7BC - F68FBAFF99D62348FF91CCFEC2710055 - stream[192..255] = 149806A4D862EEA81F0208D927339E5E - C98E9C2A6E0DB85CC0380DED7EC5B8AC - 4ADAE76AEB9C7B7264C3834316209615 - 25221D58C0174577110596FF89C8FC69 - stream[256..319] = 137E527A0ACB8B96A9FA07890B60B78B - 3CDD19BF89B31FF75A814F470BF97E0E - 1293B750B769F5BDD750DE5025D7534C - AD541A1F26C6AE9AC2FD3237C156AEBB - stream[448..511] = 0958243E88921B81F04AE63658E52D76 - CF2638495B3A6B970633A7C8F67B8CF9 - AC378082F72FC63BEA02881CC5B28D9D - C8C261C78B2872B5EBFC82336D6E1A28 - xor-digest = 0084D7BED4953402FE8F7FF71A28CEC7 - 0028A08A00EF935C06A8B3632DAD5914 - 84E44E372A753F8E630741266C0F4218 - 4923608103042C70ED4ECC5112B9AF6B - -Set 2, vector#207: - key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0C46BF67A3DBA5DCCF8E4A7A65B6FE28 - 98C701CBF5E88F1F3DCB6B873E5CAEEF - 23024ADA678E1A2CA9E25AA8B476CF4F - 9FCBC297FF03A9B94A5A736274EA776C - stream[192..255] = 73B9891D1770289A67D6338909FB6282 - 9A425B7947FC30DC52B11E398E85B1EB - 537E1C02898FEBFC15A9172C254CA55A - AA1B56EA856F47E37E2F252D92D94ED8 - stream[256..319] = 6522D372F90F2DAC155D48F165B6DFA4 - 38B63B9F436FE00CC075C585297B8F90 - E6062358D29641FF9C28EED4A23FC53A - 6B5C60C2AF1E8146DB27CCF5F43BA838 - stream[448..511] = 642541A9733946827D79BBD815C03C17 - 6357BD6E81E9A61FFFD4A0BF6863AC71 - 72AEFB92C1F235641BBE1457B724A6AA - AF9FAC687552A778B034C4A4F8E41ADE - xor-digest = 9DDBC1E7D31379D027B4F3DFD72C3668 - BD0BC5A97655978E79056B3D25DF3E79 - 5D5D8BE5D1AAE877F2E7D03225CB6609 - 6EFE11CBCB728039A243E326437CE73B - -Set 2, vector#216: - key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DBD4E866F4E24E7F66816CAF625BD07F - 1F7BDFBB81428FFEE9FBE14DF5F5F3D8 - A044EF53A868D989E16165A0F2B95E8D - 83439BB4805A125AD0CA7994AE11B852 - stream[192..255] = 7CACC4E7B9B1957ABB22ECB9D9D67184 - EE7A7F4B822A1C955A69E238022AA313 - 276C2003E27AEF1B4F94B33A6428685B - F048B357EAB297B7DD98E612F054A317 - stream[256..319] = 286B484FA80A45EE4D5300DFBE173E8C - 978B976BE1B6CB0D15C0324D6B70D265 - 385B615B3EA97A55D94C47F53FF40861 - 4460857AC9568556AE54A52546B41B5A - stream[448..511] = B3AD999394343F6F0BDDD0B1FAE2E3A6 - 5BE2BF56D2B78A401D5761E2F3AF8B18 - A2B1089864999D9B99E5BF6959F8F802 - 975FBF204D6159CF23F3706CAF0D9BA5 - xor-digest = 0957D6887501D4360C430614B67D99B5 - 32849E2F5C69CE8A9F3F707A2B5438BD - 0C1237B5617FB525CC9C043A10DBB265 - 3C3F0A353E89A19838B8F68542E09526 - -Set 2, vector#225: - key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = A6DF8DEE1EF7D1AF773AA3E9651B645A - 50CF101BF065F69F3E78BEF5D689B1D1 - D306FF41EB3E78BEB75C4200937CFE60 - E89E370680C519B2F64E23516ADF8062 - stream[192..255] = AA30580A210B87727BE17EC52AAAD037 - 3E0DD11FBFC89B37825CA4D6F9E8D433 - E3EA54C37D678B58CE834AFA310F6D4D - 06B4603F12DBF38595AC76511D0B13CF - stream[256..319] = 5F3E1A55116CB67BC91C8E37182EEEEC - 8FC9B09DAA6F418D3434BFBBFF6BFFFB - F93F8A963F2F51CC487BE868F010EC0B - EE17A480542A301E33B36F59BEE13D91 - stream[448..511] = 672048756C221C12DA6178BE711B3371 - 525A92BC9A219CABC5501B0DA4CC248B - 8742E8BCBD6F5A1CFE522F3DF3BED6B6 - 5D60D1AC737ADC582C2CB9751521828B - xor-digest = E7CA739E4DE0E74274E491CAA9BF5CAB - 3F418EBEB69509D69B2594E964759D15 - 104F674CD44681AFECC3B4939CA0A0C9 - DD7AA5726653ED3FBFC833DDB0C87B42 - -Set 2, vector#234: - key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 2479A8F2872A813D16D15F060D300237 - 25297B812F6F3B97D74D9716E4403A5A - 684D2BFD1E15275470FEDADF1578277E - 44C6C06B8A5FCE3D0CCC5E13BF49947C - stream[192..255] = DB2F9B25F9523FF5C2CCCB808EFE07F3 - 132D4B0065A563288F848E05EB45E48B - D15C069C02F90B4FC10AEBF1AF4BF90E - 2CF7F48C8CD7A8091014131EBC21FBE8 - stream[256..319] = 84FAF79797E25BF2CFD54E58F5C7AC1C - EC170B064429EB832924CDA9C47B5174 - 9BFEF80D96FAE36DDA65659FEA1CC06B - 4EA3A1601A3304AA4DDBEB62381FD4DB - stream[448..511] = 2C8FC8D23E7DBBC37BB0811D1BC71145 - BFBCDBAE19F5281CD0E6AA37419778DA - 64DDF68726DD7F4D78BBBFF4576C2AAD - 93F477A2AB2C3CA8A381F30BB944C7B0 - xor-digest = A6D5F0DDFC0A43491D6D0A17C095C070 - 9EC7E9B89DB8EEA11045ACC5FF003DC9 - CD3318BB6F9675EEF20E15490F525066 - AF8380C663B60EDBAE30663C94C39892 - -Set 2, vector#243: - key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CC3701E703946194401D1BA23AD99B5D - F3F856138E142D4B9C23DC9F252A277B - D62DAA33A71A0C61079AD5A20562291A - B6EC92C66D7BE6A17E27D4DDB48EFD31 - stream[192..255] = D00665FC0A4ACC78758EF25B0B0D6903 - D565423614409AD11E821B83F5B35D83 - F26F3EF9EC1766FEA9C21C09E0AE248F - 4BA01E48BCE09D06471593B3466703DD - stream[256..319] = E8B4EEE2C8BBEDBA758C1C2D0889FDDF - 96CDC215EF1A62FAA29A5608C852FFA1 - 18B473C5A7319446F3ED2E8AB39A533D - 714325D1B14E838C9EC6E037DB0DD93C - stream[448..511] = 4FF3B43841B17A279002EFB07324625B - 7E937D480DC73F12836195110ECB4DB5 - CD31CA4F92F612A95E82815328DA7D5E - 4DCC5BB6791603EDA64C57B5A5AAA04C - xor-digest = 9202B874C48D4B1A9E857E645EE8F884 - D971CE97923AC024ABEFB944E34550CE - 31712BB832F9174F86FCD369E75CA9AD - 85095F43A4B7F33AB641BD6912D2C59C - -Set 2, vector#252: - key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F374DA745A5CF93A567027609E5D3B1D - 5C3C8A4D15203705D978AD42279F6548 - 51FF713F5120CC93D044EF717F5A75E4 - 98DBEF559E5F157A8C819E213E93B3F4 - stream[192..255] = B270F638AAB88DFF69D724F79B70CEC9 - 175AEAA99D55485954B265B5CAB86509 - C810E664766A8E6C90D4BEE3A58B1815 - 9076959FFFA2F30EEB12343E9E7778C5 - stream[256..319] = B2CC84A1127B5333B30EC81CC14307FC - 418DA96336991A27DADA74FDA987B867 - B125C53C0E4E2889FDFEFBFB48797A22 - 2836B2EA42793CE2BFFD568F6234B368 - stream[448..511] = B70F4A10A1B75D499E8189C8B92AFB36 - 4CD2D730DC8D7E183EC55A777C2445EB - BA7E9CD95C8F3A206B73C422AC2E2C08 - 15A8C6FED156FFF93B63DE512EF69725 - xor-digest = 467EDA43B849054EE747A532ED0D9AA4 - 6EA1BF2B6AF19F481D6E3D55EBAA96FC - 6629FE65B5EC4B5EB6A155A6D60FEA32 - F04F8230E26390F1C8FA53D47B68FEAE - -Test vectors -- set 3 -===================== - -Set 3, vector# 0: - key = 000102030405060708090A0B0C0D0E0F - 101112131415161718191A1B1C1D1E1F - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 7CB997D6E1B46DD7C0A9629B441C3771 - 14D6C18F230291FA7EF0B039AEDCC9AA - A4AE05BA13F3931E3F8373AA320A8BCF - 28E825B2084D0FA486BE52C92C3C6F14 - stream[192..255] = FD4DC85E176D76062323B2F5B31E219B - 786596F3DC0A2AFD31AB48C5F911605D - 556399114B0779F43221FE5BDA899627 - BA6498C210D5AEC5FEC8733357571F77 - stream[256..319] = F00E84A92BEA966DC8359FA63B12E8E4 - F5611F6C8CDD04CE9D605D770B2EAE49 - D6976272057CF275EB5B4CC434EA9B0B - 8CD9FEA22D7E919097CBB36C5D239BE6 - stream[448..511] = 110560BCF38CC42478036CC228E9DBD7 - 4C44863DAFC81B528AEA2893FDBAC7BB - 2F68CCDF566E1602623EC9AE283EA69C - C032E90E409F368E28401AE6905BD4F8 - xor-digest = 9CCCCDF3F7D712D6E3931068138F9A9F - 8640478BEDFC3C7CD0802954234DD07F - 99F4B072D9847DEC2E16FAD0ACCB3609 - 16243175C84A317191A98AFF5EFCEED2 - -Set 3, vector# 9: - key = 090A0B0C0D0E0F101112131415161718 - 191A1B1C1D1E1F202122232425262728 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0889D6D9E155FC208941B945F2B15362 - 3CE5C79122C1085FC172836FA9B06C0B - 50910CACF399EFC9CD9CC484786AAC8B - 377972E9A90D7EDD40A59FE1B942710A - stream[192..255] = A540BDE9860D8687A45D8CF22E00299A - 36BE590AC92E70BA03B8A5F2898C2D1A - B9B1E5C87C4B10C9B6E08EB868AE3B10 - 3BB95C30831B903A3A9620ED16B96210 - stream[256..319] = 90E2A684D3960A4B1DA5DF19BF569288 - 5A23892F2003AF2319FED9C8D37B8702 - 7E61290E013FDF93683829DB99C177F0 - 222EDD6A0FE3D5F7F903D3CC15C6C6DF - stream[448..511] = AFE7454BF77E3CE1050ABFC2E25F9B15 - 011F33B93660EA4AB5E7BFC513F2D787 - 27F8008ABC1E14B06C36F7750AE88C1D - 7AA2F6EB9F2E925CD6CBDEC5FBA3EEA8 - xor-digest = F1A8C58EA8459686DC5BFA2A81E80653 - EF6141903898D1A3C7298358A79D674B - A971C106CAB035722F246D3E67D34543 - 3E71DD374DAF73036EE55E6C0ECE5FA3 - -Set 3, vector# 18: - key = 12131415161718191A1B1C1D1E1F2021 - 22232425262728292A2B2C2D2E2F3031 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = EB11D29C989FB09961A673D8412360B4 - F4E6DF0169A3CE207656A7C72D6FB8D0 - 95CB3A7A6CECDC2E167CD35F62A00110 - EF09FD32B61A8B405A3F55A1313F0DFC - stream[192..255] = 8ED27EA005A3E298560C829380D4F1E9 - F0C7FD5285F04AE6FD66C94CC07C8C51 - EE8163B7414A52B0594C5F7F80104D95 - 0858C9A52F3C156ADAA025C00B180429 - stream[256..319] = 12DA63247282599F2C50B172CDB4F31B - 20952134800FB8BCE743BBA90E6485BA - 057A9C5E0989A8FDCEF1C88DD54E920F - 7028EB284306FE6A87B0FE063DAB9557 - stream[448..511] = CD447E9F58BAFB77F6E02AB5A692120D - EC4F7BD597DE5C54523A7944DBA6A3C8 - D00000D3E70F7D9292B7135A7F054812 - 4B98680DEF6631D2D10E0E7B08F188BB - xor-digest = 6EF765CB84937D5E829A1A1664EBD23C - B474FEA3C5AB137F2D9B35BBE0816EDD - B26EC14D74EFD0F9768C521A6FAAF122 - B5E34A36344FF0F0DB3CC2F2780D05E8 - -Set 3, vector# 27: - key = 1B1C1D1E1F202122232425262728292A - 2B2C2D2E2F303132333435363738393A - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = A71D4189D1338531D3C03D00A480C8B8 - 49C779B7E113FD8D59516164C161EAE3 - AEBF74542FFFDC2FF8C2666FD5AAE413 - 19072673F958F498F8FB9743BE46863B - stream[192..255] = B0B3803396AFF1646369B6FAE62EDBCE - 5254E7C8FEE88F9EEE5D8A7B6D44ADC8 - B89895198E3C147FAE0C9B8325EB3501 - 6EADF77C5D7F402CF3168448D2A59E23 - stream[256..319] = C1CCE6956C8257947C004528F568E3CA - BE9ABF891E2FC2B52D9A1E6EC97A22B1 - FFD1C77E50A17CB47014C9EDA1853AFC - 11526F6268102780ACB3E0F120398AD0 - stream[448..511] = 765857312C8994EF6BC7259673F02E38 - B7E0A764FB70534190033FB1BA86D5BA - 3BC6851DB596970A2F60831EA1A31CAA - 96085680CBCFADD9C5F0330CB72AB5E2 - xor-digest = 30EF19DE0E750BBF6AB3FC924742CDCF - 62B2FE5F25983BB9777C727679CAA39B - 1280AB468051463E7EB287AEEFA5AD0B - 9C9DFCA45A3124D5F41F4B0AF5849E62 - -Set 3, vector# 36: - key = 2425262728292A2B2C2D2E2F30313233 - 3435363738393A3B3C3D3E3F40414243 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 2B9B987B7CADACD2FA50A53A9F9F44CF - 4ED11B3E25FE57F1372C6D570B470AFF - 5FCF3BEB89D0692D873EFEBD26EAF3E1 - 1B6892913F0CB27F3CA9BA20AF7A98F8 - stream[192..255] = 0148F54B1D24F3D69A2086D6938898F5 - 25BDB1B1F78C5F92BA21FCE803A52591 - FCEC9A1AFB0FB3B081CDB1D79D254845 - 40EB9D624B5E113A4F143716722687ED - stream[256..319] = 271FF1107AA8968E0ADDA5371F40224A - D8E134AF80D5ACDC9803B1B3A9819BF4 - 8ECC3A68B303E1275FA97222F7E984EF - 9C73899433230FD746DA6101DE37ADA2 - stream[448..511] = A66D3BB64C35C71BBAA3F5410F388253 - 2B32897B1CC1AD610F3AA195CDC1EB82 - 0262E817374384BFBE200339B284ADF4 - BFF6960B6A41AFA9D7C9B67B19C14C37 - xor-digest = 3CF10A4A8BA3E0DA3C0B63F1B913B57F - BE47580DF7D90B13459A9BC98B93B014 - 1185E910EDC0A5B37206542B17CAB8CE - F050A4ED3D7097B6A0738095E4BF7A77 - -Set 3, vector# 45: - key = 2D2E2F303132333435363738393A3B3C - 3D3E3F404142434445464748494A4B4C - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = F32665A4C73608E133D85712D2CC9A76 - 6D2B83311B3F44564A56A97ACC9B6492 - B282A2E62A435A7B7799073E010C78C9 - 4B7B5BD1B25994D1CE31B51CBB13BE90 - stream[192..255] = C9F24592930A0A9148486D77C1FFAAA4 - 4E4EECB088D6AD38D73B195E576BEE56 - E2CDA968FEB85D19BF89391813501B02 - EAB39A2E78B8CC7456EE60EAC3454051 - stream[256..319] = D8E1D09F074708379189BBFEB1E24053 - E0BB5980FFD0371265320C3047F0ED36 - A65CA8D0DDF20DC25B552E1882811C77 - 6613DBB4297DC6C89E31529DFCD17C82 - stream[448..511] = 8012813E7879B3E99C40821A97469BF3 - 9D2EF3B888E3118275F47F8C78A5F7CA - 19A98B1817D2D7734E69C5ED43773D68 - FA100E2C37F40FF8E018DBA52C5C239C - xor-digest = 8AFB9CD876AF4F9693FF4FF511D89957 - C8BB31D9DE3F21B726667681F805FFF0 - 4B50850696D6C2E5C271D199CF49F1E6 - D366C7824273E99360BD5A294E415F0F - -Set 3, vector# 54: - key = 363738393A3B3C3D3E3F404142434445 - 464748494A4B4C4D4E4F505152535455 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = C72B0F98EE5C2D44260E929C70DBF174 - 02C03543483178C8BC129D67FE2746E2 - E881F8439E2A11EBB3716ADB16207BBB - 91454A71C444445CE64003F0BB1F481D - stream[192..255] = 5590F4278E78AD19293525095C2F76E3 - B35A3858CB5912B62304180225BDC985 - ED955521436DEC441B9C742B3C5F4CBE - 94B99689048AF93E48472980D058807F - stream[256..319] = FBAB34E9F432546EC8C52750DA4D2278 - 4C1323D4E3F4E9B63E65A7E3C8B2637B - AA5D0A3B897113F68C63CCB78B5AB40D - 0A0DC3EF1EB09DF5C4770B343B6B5155 - stream[448..511] = 78B0144CDF2692F0D0F164ECC8621F5D - A00C401007B82AAE7753712FD6185E9D - 7ADC8CFEA6D5BBC2F3EDB8BF2C77718B - 6A424BAFD30C30934FC645FF05704BB1 - xor-digest = 835B5361A9C1F88223DE7BCA09030CD4 - 67065AAE99198645029CC0AB9B9BD579 - 14332392ED7A433A64D95B44CE228860 - 7E029235580276BCAE88F37418FB641C - -Set 3, vector# 63: - key = 3F404142434445464748494A4B4C4D4E - 4F505152535455565758595A5B5C5D5E - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 804025A410EFFBA58647A9F4B443BFC6 - 1CDDC30CA04DA8DAB3EC6A098A830D68 - 2683B59B76C60C09938E67CB41385315 - E2504B024DB808923B0909EFC25F0927 - stream[192..255] = 7A4661190129E3F349DA7B44DAAFC388 - 5E4BEEAC9308844DDA45E8E06637246A - 0E6C8C7D94C5F710CB78CC6E0CA82870 - 8CA77B6266B41E3ED6BAA2940F1977A5 - stream[256..319] = A3EBC22126B6069C674DB604F8C22B54 - DA68FB4390617E86C4FF089344BD0DB3 - 887B3438E8EF8207FD89B2A485C0B383 - 22AEB69750AD054F843DCA7995BB58A9 - stream[448..511] = BAC68211F125B57B8CE5E42E644997F5 - 2FD4B8A7D5CBF89ED2F6B5F4D4C7FA5D - 0CC34212160C6BA536BB7604C184367F - 2E088528F3B3A0A1B20F9249711162B1 - xor-digest = F628E74D1EB94591694631F1B2F12234 - 38B056789D5C2ABD8CF34D9FA7B8C304 - 5A8C2298B7BEBB90C7CC86895693118B - 2A43B7E8AC7E534DA7965EA720F19180 - -Set 3, vector# 72: - key = 48494A4B4C4D4E4F5051525354555657 - 58595A5B5C5D5E5F6061626364656667 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 40409D9AD4CFCEAEB8FF613D32B59180 - F5DFBBF44C1B7209AD1AD5AE94DBBF3A - 83EAB34D2617ABCC396880BD5F5D220F - F434DD575E66CA74BA32862293113C5D - stream[192..255] = 42D9EDDAF89B93DAB4AA790BC9C45BAC - 5E94575E175C2EB1CC08BB39019E25C0 - 9B0F4F435ACE371BD9235C61C56A362C - B1A64EE58F4938D59073C5A8A1BA679A - stream[256..319] = E40477D1B6C901AFCC4A2C429845C7B9 - 0DF890C317A5B9D6368672C58E0BD5B2 - 7E42DA77BDC2BF47F9AD195F7C192B53 - 24FEF88E6B3DD1669A068E3FCB58B203 - stream[448..511] = 7616AA094DFFD4BCF94E03C9CCF95C31 - 8F247AEBDE281334F8E6F46271070BC0 - 1AC838D8FCFE18865DD30949C68052C8 - 6E93815B4EA9480B2D0B6A5D9888E597 - xor-digest = 1FE60024F188CC243F7D8221D990ECE3 - 29E89847C9BD60AF23061E9C27C4908F - B00D8813E680F00665658CEB077BEFAB - 5DEB41D3547DD645DEDBB3BF5D7B651E - -Set 3, vector# 81: - key = 5152535455565758595A5B5C5D5E5F60 - 6162636465666768696A6B6C6D6E6F70 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 1B8DA47812BF2353C17C89AAA8695E9F - F553BBA44087D262FA0C710B69765F12 - FFE190625F58DA899B56FA7AB5E0E674 - 4CA2B073517B9577712D7155E16A874C - stream[192..255] = CD2BB4A6C3D7211773421014611B677C - C0A8107544ABF4F914F825891E52DDDD - 76EFDBEE614573FF9674EBC154A3283B - 439ED8197E1EE0705955A8B6C8AFF8BD - stream[256..319] = A626C40CD2C48AAB016C29020096DE28 - F03842E785BCE9D9E385D0B13B63F82D - 789588FFAB07B8CC0FFC62AA86D37CAE - 5CF8FD43B575F9F4D6E07465B700D47B - stream[448..511] = 16A3C84858207E141022D228079D6067 - 2784EBB56E3B84F7DF07EFC69060E27C - D1311E51F5893AE6BFF80D34464DC60F - 61985F8F88164CCA69EFAE568BEB546F - xor-digest = A24EEDA74185884C5B287663C3F5F031 - 2743CCAC657C702A29E0C20BDDE304AE - A54A9292B447039D50479B6CE475115B - 8791854540E15D642859D10561AEF26A - -Set 3, vector# 90: - key = 5A5B5C5D5E5F60616263646566676869 - 6A6B6C6D6E6F70717273747576777879 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3F7261A3A4691A73441762D113EB7817 - 4C515A96C5C93C514EE559E7F78A633A - 01F0891910D44A7EBB18768E3B912488 - 6069CB5304E79ACA89F62EFEC4EAC11A - stream[192..255] = 5F11904F72123CE29D1D883AE5CD2A89 - 2AB26C9167A24A57D6F64BDE3A8E1A93 - 7C5347C585226DB44B6252AEBF3CCAAF - 2D5E60C56FBBA6068B35AA6A61C84A44 - stream[256..319] = CD6C5B784854E0121933E77C700D9C1D - 7452999F859798499A339F78FCF84615 - A3190A2F558CC529E636922A1B75A3A1 - AF280FB3F486303093DC1564EA0B6D3F - stream[448..511] = 61B8163A84540727204F0B18D9CAED3F - B5FA87089FF4E721D2EC34D21C59B93F - 95297725780DF04A5FE405FEBAE80AB9 - B8307B9A74774E76063F9218CE243002 - xor-digest = 944EF8435F32FF2A67CDA5FBDFE02C81 - 0997D9C8192633A193D6122A051B801C - 15555BDF410917B9E5DB86F4DE8B9874 - 3E9F92F903543AD14087F4E13A915DE0 - -Set 3, vector# 99: - key = 636465666768696A6B6C6D6E6F707172 - 737475767778797A7B7C7D7E7F808182 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 71BA7454CF7F6CC93C89EB22B9D608EA - 0FACBB4358DD007421DAC1E65EE99161 - C542DF02611AF497B2D53748D0129C0F - 5B9704C8A6017507EEFB26B6287662CB - stream[192..255] = 92D5D35B2E02D204E68C1AD6C018DBA6 - 7A1C90F563AEFC3D031FD3F7D4F5E2F4 - C47D326A9C49A0B2ADF03D9E7E429AA3 - ABF253E623BFB9EB040B5F5CF1FF68DF - stream[256..319] = D6C22BEA96DF94CE9D5D34E6231CE4F9 - A2D2F6097540F9A9160DE139E2E80D0E - 5AFE08131FE10F0DD7367E43D314D7F2 - 2321B5F89DC64F286576BA599A58F48C - stream[448..511] = 43DC3ACAE02DBF68AB5B65A81630474C - 639FC4DD36FBED518B6471F7C3E70FDE - 23CF1E128B51538DE0D5A47F20A554F2 - 09668FE28B0C4884888FAC438960CE7F - xor-digest = 7B0EF650F3847E3EB15EA1CB64EE7189 - AA5B04F527661C00F4603E48CBE59F7F - 48498D80F6C5ED956ABBF97E6910EFB8 - 341C7BC2E81E66A4B9474BE420DFA5A6 - -Set 3, vector#108: - key = 6C6D6E6F707172737475767778797A7B - 7C7D7E7F808182838485868788898A8B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3C4CBA573D803324D099BE1F436F944F - EE506CE77EBC01FAF0060B76FA5D2005 - 05CE94AA15F3C4B1E0194264CF13878E - FD36288EA4C2ECBEEB76828EB460AED7 - stream[192..255] = FFA464FA648309E295314DEF7169DC60 - F63C90AEE9F27B534E11D25AEC454823 - DF6BD39C1F9CB46276C630C129536506 - 187251D638D3867E96A84BD570F78461 - stream[256..319] = 6BE88BD0D2257CF7EBF7100B442F68C1 - ACB94B6F8991C1461D318BB80E59A6EB - 8009DFF46B8E339A0CD4FB285ED1E433 - 5FDBD65537D9CF1FBB0F9F10E17952D0 - stream[448..511] = 909997D084DE4F6C910D57DB89E1EB56 - AB3F9974E3DB5935D59917CACCAA31CC - E009324E52334BDD6CA971AF49982122 - B195229DF0BFE2C508E981D303061B2A - xor-digest = 8B2B49D564662BFB29A9F4E1A3DC7664 - 774D41168EA27505A2A518DD94C2A507 - 0D28E1E69DA2F084DAB024E8EE2D022D - BC73071B8559BE2FCBC2AE3605696482 - -Set 3, vector#117: - key = 75767778797A7B7C7D7E7F8081828384 - 85868788898A8B8C8D8E8F9091929394 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 6EE8B7E51036B951205064348C222881 - 624E9FF59DFED40AC6CDEA0945A39E72 - AD05FA929F7AB69BE8234567734F8F96 - D74DE6038A463BD8FB86224F5CEA0D45 - stream[192..255] = DD9CD1757A95E616E99590E76620E9DF - 0BF811F73B70C5CE982FC9CECEFFC6BA - F7DCA30517A9BDF44515262ACF297AA2 - 2CAC3F216C12A9D0D6912578DC672D18 - stream[256..319] = 0B7DE245062DCC9B1D8A945CD9A04938 - EB9BB258B4B7BCC263487B3599B1C6BE - 7FDE752D65345F00DF90896DF53244A5 - AB111134B36A99E2D2200B4D2003A520 - stream[448..511] = 2566E8427BBAC7F0A35C6E4BCDD326C9 - D7164A9E1F767038A09A75B5076E05AD - C51F008E9E3184FA4DC6E4764B381944 - BCB96B57FCE2339A01501BDEED46F8E3 - xor-digest = CC16803D36710AFDB1DEBC653DA7DD12 - F45B02349B87C3006DDCAC1635956846 - E4D7D6064D19012724BBF836A7DB7A3E - 3C12E6288F546EF316406D9C5E844BAC - -Set 3, vector#126: - key = 7E7F808182838485868788898A8B8C8D - 8E8F909192939495969798999A9B9C9D - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4F4169DF51C9865A20D7E79DEFF7B121 - BD61F4C79AFEDD0598F55E9D9A3615AD - 19292095DDD83904B3683722A3337BF3 - 4E98F63EB19927155E176F2E8D5560B3 - stream[192..255] = CF82F8F2A46A898915B3E371BE941811 - 682A8A0A20837AF471B5CAA4B4FB01E7 - F2B0CA9ED3BA70BE305587F1ED995946 - 223032F94BB2ED7D418C95F202887E6B - stream[256..319] = 219C121E08F7458BD657AC4131221C78 - 43DB5817B17344922C54A002F3F67574 - BEE5F7FFC7EFC5615444B51FDDEE8B71 - 981FBFF658D2504BB53C13D0342258E4 - stream[448..511] = 55C2A93F43F260EABBC1A173AAF80A95 - A7EA74CCEF6E29C52957AB2247126336 - CEA5BD0D08F873AAF733B3A11885F04C - 58542B4C8ED3E1BB7F7918C4E92926FB - xor-digest = F69FE6EFBB4A6E65B517445069859EAC - A9C19FCB9C1771E75266E5B4C39019DB - E959AD97F2B8D7F1688FD0AC04AA7C2E - 602F28A63DEAA49A7BE1422B47CFBE00 - -Set 3, vector#135: - key = 8788898A8B8C8D8E8F90919293949596 - 9798999A9B9C9D9E9FA0A1A2A3A4A5A6 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 3305344A71266B450B2CDEB049A048D2 - 6171B39A88C25CFC0821E4F4EFE378B0 - 702DA31652B5E1BAD9FF4C19C20BF329 - 639D5942DD2209DB1D1474B6A7B41B76 - stream[192..255] = BBD9714BF2C343B11DD7943DD8CDA8B4 - C6A913F1DBE21A0582B3FCFDE91B61A9 - 8863AAC17D07D8F98AE8E71BA5636251 - 49FAB3EA775D3C7735BFC732C3C42571 - stream[256..319] = 473F161607321838FEB9359B0006068F - 9D88B1A073DA14E60AAF1501F3A27350 - 53E3FCC794893257CC3C1D4E1E3CF609 - 975E865CA46C892823C838822AF0CD2B - stream[448..511] = 89F37A53F18778084307D0BB71E5712D - 32F0F3B7C2201D01D892F6BF6068E4B5 - 394995CE6BFACF08587ADA39CC647DAB - 9B12F5505055F372FDC4607F0355DBAF - xor-digest = C9E7E4A4D6782C02AAC4F47AF1D142AF - FAE569B755E880C6B8A5773EFC0E63D2 - 3D7A113738CDB1A0544175861401149C - 753D723CC1EF515A9323DDE4B4A765C8 - -Set 3, vector#144: - key = 909192939495969798999A9B9C9D9E9F - A0A1A2A3A4A5A6A7A8A9AAABACADAEAF - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B7954C45CF301CCAED3F1E7E77DCE45F - 2D41B3B1C1F28F0308B8AB4293B64A60 - AA7936DDF062613DC1C454033D2A40A5 - E99BD975A26185A7F419E7B337028FAC - stream[192..255] = 27AF957AC6C514514C24664AA0C9C23D - B1EE30950177389876FE4FF2E1739912 - A09E20A2098751049C8925334960A324 - 5ABB50F3D333587B67F153DB145B5F6C - stream[256..319] = D94FAF9FCB753E992B898178373A36D6 - 23C6BE2420AC2EA848130073F086164C - 9B4E69B024991FFA8FAE94E3C2FB16F9 - D747320A748DE9FAE4FE9E6A7E7D5659 - stream[448..511] = F664AFD3EDC0FAE88016C8A028E98D34 - A27843372C6BF8F51C7B49B94A11274A - 6A161D776E6C1FF05358F28426C3579E - 053B4137F8C4CAE07B994B80DA06DA27 - xor-digest = 521594487B583F5F71DA10E2316187F2 - 2A4885A69D522F82F7FD0D5F93F69B2A - 060EB60965AC010BC489B401F02C26E4 - FE3F82B83C964B4DB4E0E6BC2CE4B865 - -Set 3, vector#153: - key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 - A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = A5E320FF65811FF5E8934F3AC73B3733 - 77D3AC52446F64646946BFB8F6DEFE3A - 04E859DCCD9F421D2DF541F588B9C204 - A9846C7AA1C017D637D7C5E244602105 - stream[192..255] = BB16A9BDCA0D4BCA589A34F9278AE55D - 6A7711EC87563C9F394638041CBB0E40 - 4CD2149218D501D3B62421CBF81C6576 - FA659C2878839FCD6C8DD1BA38F46E6B - stream[256..319] = 58B4004C53EE64CD45BC4A1F11F700AF - 0EA5ED86C4BBC145C8F588B7F708427C - D2292D76329E4DB1F289DADA687B7784 - DABCCD29B8C464CE021856FD06554F76 - stream[448..511] = 1113D37AB2964AAE6586AEE1B060F0C1 - 02EB3AF048A59CB709792C9080183CFD - 2A1A47277F413F1219B5AAD7C8BC8079 - 246BD1D6F98C11997E4ED0F68E165D9C - xor-digest = 512F4852425DBF91234DA31986732CC3 - 1F9649A1965E22E18CF38979EE6D92B0 - 83333422A92F841C25F827782FD7BDB2 - 8F4B40AD5EE53C37192651A86F03A17E - -Set 3, vector#162: - key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 - B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 96328CAA099502092359F397972568F8 - EE2FF1C4305EA06FFD8CC125CB10BE85 - 65EA30B621437AD4CF9CE731185720F2 - 0CFE17DD45E6361A8212EECB346D391F - stream[192..255] = 74F26B7A37D673DA0B78B38938C5C1EA - 2AC666612468F63B540EE7B17548F8BF - 60A9845BECCD7222620FDF7BE904FE24 - 7D2B7EA749C9590133CD6A218F6EF624 - stream[256..319] = 8F8AA7A4C64C3AEC5E85581C53E3FA64 - 22CEB927E370C7B0F98F038E7ACF4D05 - B54430D91B0A2CDC001BFDDDCD0081AF - 35B67E5BEE6B8E113F36E3B23CE29F57 - stream[448..511] = 53E20B4B90B2DDAB40DC30643AA5F539 - 70ADB65DD0B64CECF3D3B4C0567DC818 - 0362FE9CDF920526C59725AE861940A8 - A32C35382571F2FF20E7FBC504E1DF9D - xor-digest = 8C7C45F50A151D551E9EC81EDFDD5B2F - E676E14253FF38EBEA12395040643211 - 3254B0B7298AF77F8F9F4203B971EBC9 - B9850152A96C97BD4FA7BE8592670903 - -Set 3, vector#171: - key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA - BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E8DBC8E5D18C5BB2B152A6AE9487AF35 - E2044F30EE8189659043923E579C70CD - 4A5590968600AAB0F021F7AF283D61B4 - 13C739DCFC22632E1F6CD553D4F21976 - stream[192..255] = 8675941731B385016430C9A157007EBB - E9BD8BBBEC44081C1F5E73C7E783AE90 - 1A7F56A20E5DECD1E94E1C92A07CD2B9 - 91619BC3358AB812D58E0B98EA288D03 - stream[256..319] = 8D09462E5B1154175513CE7FAE1AAE89 - EA2AFDFDF1B39D69FDF60B1954BF81E1 - 62F29468E07C251E2D174E9CE924A5F4 - 8A470D1808C68ECE534CC08204C5A2E6 - stream[448..511] = 60C5FD4C1831F0EFD70EFF86A5D38D96 - 2C402453561D0021A51F07D40A7D3B8A - DF455CE484E89437DFADC52A52741B80 - ED0EFA9AE4FC39659F8300AE9292B9CE - xor-digest = 12E57044A8E7F02EBF6912BB73836FFB - C4A2F47AE1B824AC97C1237B1B14DEFF - 12B5B87DF14A8B5B6C85C0481BD69DDB - FD76FA307F4C1F7D21E60C0BCFECD3E5 - -Set 3, vector#180: - key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 - C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 540980C2A3794C04B93696B90E48999D - ED8E1D3F4720918C80C95B9AC0E911F4 - 6593C4A920AB291D98891374EF286286 - 2386B5FE17654278EC413AAFF1C384DC - stream[192..255] = F3E036D7620669F851A1B58BCE57B079 - F5D75829EDA4E68C36F086CBF2E5DD78 - F7F30C1AD9E4CB3C01B7F2FBF53A8AFE - 957786B2D3E9CCFE7D6FB24397803BC0 - stream[256..319] = 1AADB95F07E6268BD82ECF3453DB5014 - 9745CCEEA9F1887B5F257594ABBFFF43 - C3187BD9A9FFBCCACEBD7A21FF90D18B - 57FCBAA64B8FECB56D5A7FE05BF03E3E - stream[448..511] = 4170D41CAC2A7AA5A3C9228BF386B9C5 - 57795DB5D1AE547A31C553F55DE02E6E - B69D76A984F4F1D84F29D5CB98190C01 - 441DEEFABDBFE405F22FFDE734D9497A - xor-digest = CE103B99AA95B51D2D6CC54A15833E34 - A11778F5E05BB7AB61505D473228069F - CB40015BCFDD3E1D0D5E1F832791C8DD - 3184273D1B4C67D800EF5FF004660440 - -Set 3, vector#189: - key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC - CDCECFD0D1D2D3D4D5D6D7D8D9DADBDC - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = CA30678AC97B4591E287FF8B5E28A838 - 611D654A4EC592328039E3A1DFE90FAB - BA5A37133E821E0960520EEC850B6962 - B0378E77770681ACC0929D16DD260925 - stream[192..255] = 79FD1893EBF30CC2CA9C5AE92B0C063D - 894EAE4BD50BF462420081D1CAC57A5B - AA92E73D3B3CEA147E1F7127AE1F6FA8 - E9B302A068F26157C904E0AA7B7A072F - stream[256..319] = 6880FCE56677345CF1CFB2D38F890C15 - FE33D377922AE43348F5590B84426EC9 - 0DC2A3863136790EBB7BD9493D2F0808 - CA9287CF95AAF366A11D6E7A556FDB02 - stream[448..511] = F385299A7038DA8A90058C510727F3E4 - 524A2D95D217A1C199552753F253D45D - 81DA40431910DD54B619A15C5C302411 - 613D28D53493AD836251F0047FB911DC - xor-digest = F3D10E261AC596959B4AACBCF335D043 - FFF65E2651F046D300C19510E1677F1D - 45F287DFB8C17055A012C234B6EB04C5 - 76ED2EDE12DFFE6EBA4A39A64DDC573A - -Set 3, vector#198: - key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 - D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = D5EC301FD496586D54D9B21FA23DECB2 - B25DCC0784BF77DE84898AF96023647B - F1618234A239F63FBF3478FD6EB79299 - 66BA9B670C64118444C95D31405873C9 - stream[192..255] = D455D37F435FD0FDD6E1EDF8BAC28D2E - DAF587F938C49A5F58C32CE8D5B8A4EB - 884B016E54277300D461FA21512E7695 - D2D7489A4560FC7A72A510219DF1C5C4 - stream[256..319] = A7B93D8B7787B6C8F80EDCE72D4D644F - 0C6400C3AD0443FDD19C3F3675083F4C - E5ED87032B1813DDFF758854C8D889A4 - 6FDC61C210058DB72D838A0913D80611 - stream[448..511] = 94232F4284F46DD2E7933F9635C26C48 - 6CB935031095777F59BDAECC4FDB4109 - 9037C38C91620586DE93B66EC7376502 - 6853B7390CA516B694583447DD863310 - xor-digest = 8596C088FA66361FD90A2132CE33FD52 - 34910610DB006D223B0574F21BF1CD4E - C282C67B24AF6DB0DB70BAFF65D5D8D2 - 1C3955D466EA2B49C5E8EB7E07475919 - -Set 3, vector#207: - key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE - DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = DBA2DF9ACC53C3EDBB566C28F689D7AA - EF631CB44EA91610A94685FBD862C9D9 - BFCF512BCECF36E035E2E577F6BF6EF9 - E4B0E7623E0DB23B10055677C7B9F857 - stream[192..255] = 8C78C9714577E497E3CDFE3ADE19F03F - D2DAA3211C1E9E5D9F21FD1ED696354A - B7552BFC7FC675FAFE7A739F6E60A839 - 547F8F15BA5EC6F75BB05606BBF209CC - stream[256..319] = B23F187B1BFB5A728BDBD78B75C3265B - B04C6B350A4DA4EB021D6191263F052B - CAE73E5776002FF05DEC3D341AA20D2C - FA523E6B92329A979BE06CF4F848A1B5 - stream[448..511] = 7E2ADEA91939388D36B3F97DC87C2A86 - BDE7BB4884C40D8A202964ECC7440987 - 1C64B03EAD0F46A3A1CD2CB935DCCD67 - 0B43292D5B852B7A1B3D1F853EF22EC7 - xor-digest = 1AC1E42C2DF9858537D0A1BE3B2AC094 - 54136E53AE56B006395969C7F999B2E2 - DE1DAE62740FF339DFC8769F67AEF352 - C4726B4AD4BAAEE56AB8C55FACE34860 - -Set 3, vector#216: - key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 - E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = BB00F8ECA9A10D2B137257E86B455DBD - F9A6A861F19533E38C3C9F54195AB803 - 171D35043FC9C4204AFC9A8E72EDA4CD - 60220B2EDDEBD5482D7833979C15B685 - stream[192..255] = 6CCE94C2BEBFD223AFB7AF1110F0F6C4 - 01AFC533BABD84F8C4A54E8A239A194B - B56E0CAFDCC59B9B5103471DCEB9F706 - 7801D79530B7CF40F2DEC73A169C7481 - stream[256..319] = 5144745E042B76A6B62E78C92FFC1C0E - E59979CE4B2E4B2CAFFDFCC5E75510A9 - 201E8A97A6A1729E35CA81D8645FC118 - 177DA5FACA0293B972AC0957C43BB1FD - stream[448..511] = DCF9B6116FA5EB9CFDBFC8C97EFD89B5 - 268C0D529141FC3C8262B8BE38E94973 - A21919D498FCC3896B0FB4CEB24D9E2A - F728003C36838638888FFF1D0D526B37 - xor-digest = 99EF8A7D0B8D08E976EFBAE56F7CAA91 - B1FFC7428EA56B7A697AA3B621AA8DBD - 52681C7A9A415049AFB6B7D8AABAD024 - 0F9C3112092816F4C69D36B1300ED3E6 - -Set 3, vector#225: - key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 - F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = E3DAA6E498609DDC5A31BC0B6ACC880B - 695097D2CE2D1FD162C7802DC0D00BE3 - C0126CF947CEDBA7833421D70A914BD6 - C33B0A77BE8BA10879D664F054C29302 - stream[192..255] = 0015EFCCDC554D042531FD570C6B26D9 - 059F4F4DA675BCD12C038E4A8D16737B - AAB0D7992340F4EE4324959E96930934 - 21234D41F56A995C928F82944B46BB19 - stream[256..319] = 8CE7098F4C64DF2E8A170DA3D02CD99E - 0169B99A261D1072FA116ED39244EDBE - 73EB9F1CDCF8CCDAA9E94C0DA9C6EDC5 - 426751AB8300836435BC6F727F793281 - stream[448..511] = ADF85AF30894BD0207DB4BF72D9DBAC9 - 144EF6B24E515D96475897EADE40A92C - 79B818499B8CC328859561D79D727423 - BA81055F3387608E56173AA27D286924 - xor-digest = F47ABED85910334919B5868D4531FC15 - 24D61CB16C23920750C73E2B08A4B5C8 - C621482F6D9F01EB59763C5F89AC1514 - F6CA4C40216D6385F304E9514B014C02 - -Set 3, vector#234: - key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 - FAFBFCFDFEFF00010203040506070809 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4728A29A2F2BD276FDE176CF4A38BE65 - B84BDD41F065DAFEA8302334CEF92A5A - 306EF904DADFE92E3E975EF9EEC9B3C8 - 4AFC167545A0CFCCB6B1CA688967D8EE - stream[192..255] = 734153A78089B6E6EC0F520D39BC3FAA - E1DBAD30CBDA32395E51E500CE4E118E - 23BC8CFDB08D443F1932EDEC52CDF3E2 - 1D021DB791A56A7C16FDA02912FE744C - stream[256..319] = C511914A4BD9B29488B7FB1E62DBF905 - 01C0D85C5A238448065C188F0A4134CF - 6A1FE1DAE57DB8BDF89FBF7FA66F3E32 - 14CC9658DB292E4562A1761B9EA77570 - stream[448..511] = 946944DF8E41BD585723CA1C03909E01 - 783617D9D1129220ADAE7E5487AF4B54 - FF6593B37BB77AB0025C28727AE5933E - E3873824E46F2209D26936FC5566B21C - xor-digest = 34E04FBDE6E3DF6EE14BD179226D51B0 - 1513510665589CB794C0C08391FA5929 - 37B390E86BB4A72D427F58A1EFE10F6F - D8A14A6F38ADE34331C8AC6AECA5DAB3 - -Set 3, vector#243: - key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102 - 030405060708090A0B0C0D0E0F101112 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 2AC7F22D838F68107877E90869F98797 - 493171C8A5EC2E51D536A1578659DC16 - BB2F644C290B0F006BFE3FA0FE0CE917 - D32E94643848867B230270F54D0037B5 - stream[192..255] = D21F7FE6E368989CC75E8D9080579385 - E31680302BA8B9B2F56984FD49B01F4A - DD36AE4A28EBE23B5567BF5A539E2621 - 1AA8588507916CCB572611C352E73E42 - stream[256..319] = 25823586A7212D44811C75023193864D - 85DFA17EB7D5A34BD1CDD3260B5D53A5 - 56EE2E2A06F84E95CC7323379FB924E9 - 9E1A3F724F8C480A1F40B2C4A6FCD433 - stream[448..511] = C1DA25F3B4FBF8B2917103E6274FAE81 - A5BF4086A161A7786BBD5A33662E48AD - 6EB9A944CCA57C51AE266BAF756EA506 - AE077AF0AD8B577A5A02F5563FEBA2DF - xor-digest = 6176BC64072356BDF719676CD2ACF288 - CE2DC1272ED9C4685A5CBB7327669724 - DC8BB64BEBA04564A7879F7B9AD5A936 - C4BC1AA4007A0F85A5B5B945B418BC61 - -Set 3, vector#252: - key = FCFDFEFF000102030405060708090A0B - 0C0D0E0F101112131415161718191A1B - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0854D9B674256934E204484C6D59668E - 1C94891FEAF6E08A92038E41EBA38292 - D19FDBF852400123237BD7DA620767D3 - 43C2FAAEB08A394EFD1E7C1A3776B1A7 - stream[192..255] = 4BBDDBE675E0F9D7DE0BC1B0E0C64FE4 - 52F95ADE61D5CF2EB805894B3CC3285E - 6C6AAB72DAFF826D945B05FC4D4A6BF9 - 37B352262AC12B7E6F92D5FBC4ABDA05 - stream[256..319] = 7BD11CF4273EA16E01154EF9615B88D9 - C52535D2F0C7FD394D94AA7EE542B448 - 9A046F2625011EE75F874641D1C5A709 - B7FD1DDDCCB2A6F1A47B65361A9B0D6F - stream[448..511] = 0AB902B571D11B5F2F24CDC7616143F8 - 45E7DF2050B263D7A841DA170E17C00B - 4A20221D7ACCDCB0E131108D94D903FD - 7E2F7988445A7DB54F653186D69F3CCC - xor-digest = 1266CF54E8BFFC95F1CD3C532BD8EAE3 - BF000577A811DA58A41AAD9164CCDEFC - 401C1B6BD2BDD9E992707718A9802B55 - 33D7A8F490DF116FBCD8C85E9B580487 - -Test vectors -- set 4 -===================== - -Set 4, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - 3083D6297CCF2275C81B6EC11467BA0D - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 1C43EFA7A2CA90F5E8F9A4F09D4C9077 - D5ABD79341FD75BB2DF9F13CA0B1CD6E - 065FA86938D971D8FAC8A3C34D08CA2D - 1BA08BE56D633951BD0338A227321CAF - stream[65472..65535] = 428908B703282E38E1BFDE62C6B0D8A1 - BD2AB1F5117C85703E9B656FDEAD2660 - 4B7B8EAAE16423A3BFE542AB13748DC8 - 35D81F981CD344015E0DF47BD180541A - stream[65536..65599] = 9D6D72F46C846D9BBF3AEEB463B9EF42 - F84915D664A20FB78AD94B61FEB7D63E - 5411A81D1E8F32BE3044E109C68B9EB5 - EC0BF180EF18BF3191D933F86045036B - stream[131008..131071] = E462CD92492726928381769FF205DC17 - AE7D31E1B82810F3CCB541B58C5F58D1 - 38DB708C5F5BF07A0432868A1AA40A07 - 601FCD1A07DE3071E8CE082833F0B02D - xor-digest = CDCA2F92BF75499E49B586BDA7D9306C - 12F111D1A9F183A83B5A07549D5F976E - 815F96BD716CCAC7178282CA8BEFF4F5 - 85DAFA9BDDDF8E6420DFDBA2573F0494 - -Set 4, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - 3588DB2E81D4277ACD2073C6196CBF12 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4F7D4E56036A57A303A9C7D978290216 - 297AC26C187E4F07678EC0069C34F93E - 072D734DBA239D81E566D1E6DCD09B5C - A132714291631C227E391EC0385A3A64 - stream[65472..65535] = C508DDD76C070F712FABA944BCB0F5CE - EB645825C520197867623ED5263E22B5 - 6270F0A878AC7FE03145DD2BF528E1AD - 784086FEFAA0D82F0F3571CEEDD3341B - stream[65536..65599] = B10CF49FE9266BBCA007C8DB526E760E - 79AA4D6A3B29FE82B8698C732FBB81AD - 1A27B2AEB06D05F3CF17E875BC0BBAC5 - 67762275EE650D03F62B29529F3C3E23 - stream[131008..131071] = 42B4F20EBAFB2C792006BD163064EC7C - F363DD996CDF839CCE61E739C3817B4E - 36D311A4C94C7918E82F5158D3A75844 - A5603742E33D7FC3AF018660E6B1185C - xor-digest = FB3EDA7C75E0AACEDD95B625F7EEDA62 - 3DDC94983A9B084645253C0BC72FBF9A - 67072228194F96C1E81004CB438D6381 - A5C7E9E7D134FB8B67DEF27462AD3335 - -Set 4, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - 3A8DE03386D92C7FD22578CB1E71C417 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 23DE914D641DC0DCB4F818C687803858 - A6673E284F8323787756DAC9352BE031 - 28BC6149A59785F6AADF92FC68761E8A - 862AEDF29E851BF5422A83EE5EABFEE3 - stream[65472..65535] = D12E0C470A955DDAA7E851F43DA35B08 - 15D442DBBEDEECE3ADE18FABF08B4443 - 77ACFE9F138F8725CEA27B0F0ECCB4E2 - E5D6E476F88CAB4743E8E43CE2D48F4B - stream[65536..65599] = 26635796620003DE67406BF741B93D68 - 318F9A23FE823B2374E8BD8008EDD7BE - 2F750707A3835BBA7DAC45E06537DF8E - 53DFCDB928EA34CC08D2841FE3E492C3 - stream[131008..131071] = D3DFCE281FDC69F7800E765CB0B33D78 - 8BBDC17DFD11F929295C26AB7ECF21B6 - 7D4B4EFCC18ECDB8134175A7F198EB12 - F7913DAF22D73A4139D5B807C18310A9 - xor-digest = BB2C8E7BB894DEFD1D5A7D37C01E8EE5 - FD4E052CDF1DDF5FDA90C9818DE71B3E - 34392EC3858ADF718F463808ABF841B6 - 90F49D35A51BE5067B162E72D0101F97 - -Set 4, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - 3F92E5388BDE3184D72A7DD02376C91C - IV = 00000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 818C35D2FD72D12115F91BFD32F843E7 - ED4D7110D1ADF517226BE797E037AF93 - C190025A5E82FA0341667D68FC09E238 - 49D5A7A9526CA142D60F71C3AEE3A106 - stream[65472..65535] = F011E9CEE99D94BDD4484408A0FF91DE - EFDC8D8C04ED2B86C51F21058E912C11 - F19890E174018308962F5827D2FC1E2B - 82BA65688C111AAB5C749D8ABAEC022C - stream[65536..65599] = EC2EF21014AACB6215083F784E3ED65D - 774124FE60188930E1A90405EAFC8F1C - E75D54AA7D81400E026D799CE06EF532 - 8002BCF5A10D43E6FB6F80A9D72634E1 - stream[131008..131071] = 80BC6F7F6B0A7A357F770E7690D94A9D - B8CBA32EA36E124FDCC66ECE8786F95C - 22263F09645864087FF4AF97944A226A - CB63DAD316F8CFEF96504AD306C512BE - xor-digest = CB8D4C35D79CCF1D741B9DA09EDA305F - 5FA43F9AE9D0E1F576D5C59AFB8471F9 - 7822C6ACAA197FF01347E397C0382195 - 865AFAF5F1690B373AA2603C39A13CC0 - -Test vectors -- set 5 -===================== - -Set 5, vector# 0: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 80000000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 635990D909A80CE2A75E521ABF588B6E - 85320D2C722D1C93B42AFBE6358D6E2B - F2BE933BC961FB50F9A2B55389A08CD7 - A0131F89CF0E61D0C7071DEA6D8DD4C2 - stream[192..255] = 0F92D4DCC222BFC7020CA6BC3D044F69 - 12D9A93668C65401C570A01D6BF6B3BC - A6F00F6FF46AAE3C09C6158EF05A520D - F8D55FF27CDB7AEB5D03C1FFCE7B95ED - stream[256..319] = 664CCED71B27680F9458952173BE0043 - D3C27F35F9CEE7AE9D783ABA671C4FC6 - 8F2815DC904316BEB39020F646041276 - 5BE5500A60DE2209961755C1BF96E1E2 - stream[448..511] = 8F02C1FB389DD1C5F0CB730ADA528D37 - DD778C4782C7B5DF1961F97CC82B63E2 - 9CF4BE512EE27B50781E297D1633D700 - 1298F13FD8AF9D1EA83F831A70EE50EA - xor-digest = 3F9A4D249220E1AC8E559399FCA23DD1 - 1A250DCDA841502F5FEF0F5D4EFE7E46 - D9B1E5E4312903E290D695C2B681949F - 480D45F78FD69597570338049464FECA - -Set 5, vector# 9: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00400000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 8E932D78DCDE35F1E5B8B2E863859A64 - 7AEE8B0867F6F221B09C37B7A78B4043 - D055164B1FF1608EC17F3F148FEBBFF5 - A9FCE4158B33D2CAA4AC5FE5551C788A - stream[192..255] = 7034BE31CED03DEFAB3F69A24E622BDD - 9B202ADAF05D0324EE933064ED6D965B - 937FBC8405F0D7236AC28C320CE66C06 - C5B93EC581FDD59ED40102C651495EBD - stream[256..319] = 37C4EB0E72191FF0F70C8A70F475061E - A0BEDD8A9AF1901FC6BB5482B5A29469 - 06E8C40249E02784896D5D42387127DA - CDF1657A66E0D43E6F69632519D1D3A1 - stream[448..511] = 8CBE98126AE27A51146FE05F40CEA89A - 39781F515D621DD48B6D6234F9AFAFF3 - 6FB862084F5249BCC0018E8FBC090121 - E227FF494BC180FF68EA2B134E7B00D6 - xor-digest = 24556A29026E3CAE101E7112B2FE5BCD - 3D925460B66A9EADDC271E39C317DC27 - 51DC9254491F76F9163AF09AA5372F34 - 1B76D54C09DEC9419F839E5C50F1957C - -Set 5, vector# 18: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00002000000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = AC05D72564EDC8EB439A95579D04BF65 - 592AB1024152B9B14D71B18FEB5374A4 - C07AA2F58EB2E45F737580241CFB9C0B - 842F8CC9230B540FC50A590DEBDC29D8 - stream[192..255] = 48AB7E018380336AD0CFF37379D9E370 - 5B0C938600C6713FF4CF5C142F640FF9 - 72CF147E7C38389DF426FBF560E7DEF8 - 41B4B1CFE6A4E2DB4A85505C931FFFBF - stream[256..319] = E9C6536F67F4B3053B353170CC5B77B3 - 06A47B759A5FEE5BE45842C01E11519E - 5746B056C86D8A6712446949DFFE6935 - 8E4512E7BBD6E6F544CACA98BDC723E9 - stream[448..511] = 731EF8977E1307CB5FE80BD4F89025A5 - AFEE3E54F7CCEE6556A211097498827F - 6219704F96652420BB9EE830DB3DD940 - 96987BAEC5A43526FCBCD85C9BFDB209 - xor-digest = A37E582543E75640DD988C7FB5579D43 - 9C41669EBCCA5580184743BD54D24CBE - E32F2B1433CDBE51E8208C78FD739CC5 - 4E2A37E16A7AE4F2193ABC4F04C35D23 - -Set 5, vector# 27: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000010000000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 0B295517E5A2E100C262736DAE920F2D - 26C40787AFEA87FC34C27D6E0BF98A62 - 53B695751F9095C8766184EA44042F2D - 6DE099A80C75DB1F33F53EFE578A8F0B - stream[192..255] = B54C4F2EDF17A1EC22F536586A5BD691 - 2008DA6642C84AFC8ACD35A7DAE73F79 - C835D83F4C0C3B1E510D1BB42013A872 - 8E4899A8CE134625698CAB31852AA7D2 - stream[256..319] = BBE2221921E73DC79E795AC0AF9B890F - FE88A14DA29DE45FA38F4C3E94E6BE9D - 98238BFB181FE664B4147CDDC125FD06 - D11A65F1975A0D781024DE1EF026DFE7 - stream[448..511] = 83E61FCEEB1367635632B45BC73B8B39 - 165015E7A6B8D9851390D4CA9DCCB935 - F09BDF52883FF37BC77DE94842E39BBE - 0BE530FC9D3B4564E11B7EBAC8083818 - xor-digest = 55242D44DFDB1A747071F1C825DB5620 - EDE1AF37B6D73A22264B14F7D35E4412 - 4A6242C5AD34B54E98738D6CC90FE355 - BB9402DD017B6678FCC0EF27CF5D67C2 - -Set 5, vector# 36: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000080000000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = B89065FE0B458C64FD6EDC6A893C8C81 - 83578E7D37BE97E6FF82E45110A25960 - 49A817CDE859B67B56CB80768D6DD275 - 6EC368FBABC35C8B51C62AC92F913281 - stream[192..255] = 0E0AB045409ADA1A9540504550404B8B - 2C38384E577F2DCAD5316CE7E806A0F1 - 21D2A3298F71F301340F3C0A9CDD4815 - 936F16B4EC229E63451980646D45E3AB - stream[256..319] = 1DC37BCE039878BA2E5938E4563D2523 - 7350E41C8EF9262A9EF7D7FED7E22F45 - DC3E98EC981D2BCCC1185857C627EE20 - C86DFEF500756B241320798764C3C09A - stream[448..511] = 9A0082CDB35BB3CB1C74CE337D944D3B - 2C833B4F786A92DEA4445A2E5E101384 - AEA834F5E01C1B37EF8291D039875A3E - 21D613FC71212DE686AE52295B773E42 - xor-digest = F94584BB343C6BD6BE3AA1EF799989CD - 93F6DDB6A9AC7E2EDFC92460F0905E6E - AA3E81F6E173C7F9FCE8FB5D7B261A58 - 3FF006AD017A09FBA3B3D084285169A6 - -Set 5, vector# 45: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000400000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 486343B348F2A1726617D6E93989B000 - B41FC9707E2A99C7FE5CE9423DC3004B - 67EB02F45B368F87FF2C4CC0C59D1728 - 9F713E714E049CFD8E5D593255092A7B - stream[192..255] = A1A3127E632EF47679F52224E6D5A16A - 6E0598271F36F4DAA98B115535E77C71 - 84170D2DB4B8C5D804790A666D105108 - 81213A0684DD4AF03DE7707702F4F73A - stream[256..319] = C917B1577463E05F34350C4C7F6CBB5B - D63B2D74EAF1500832132CA1A1F289C4 - 3D93BFDC5E9D91897D2F7E05740F3C95 - 0AD872A93DAF3850A452410FBD706A92 - stream[448..511] = 11646E84240BB95D1B14694785E7E119 - 848855E462DD14176442B8595CF602C2 - D1F4A2E09B8D7DE28382D1DA4DB3B1E5 - 910DAE6ACC02E79FEB07A8E55747046B - xor-digest = 65E9982A725056B8FBC275052EA48C00 - 69A1BA0939831C4014E81AAF14F66FB0 - E01FC0C70A49C4533ACBF304A5309F4B - 60D6B310BC66C6684BD5B9C83F994E95 - -Set 5, vector# 54: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000002000000000000000000 - 00000000000000000000000000000000 - stream[0..63] = ACAB34102EDDB67B8A5D8B135BAC15CB - 1CD52AE386364C709C2B9D6BD322D7B8 - 477577B4958D448A3BEBA473D861E592 - CA15371AEA0F500361CBDD865488A7A5 - stream[192..255] = F25DAF77D7D734E5486A1AAE01794FB3 - C17099E01489A5B4213EFAE6D745B798 - 77939C7A178D1FF09EB2C42A8A3CE51D - 59D501B36BF9E4960BF3FC8D50F5A847 - stream[256..319] = 1C9C6F63998627AE1AA7E8F0B2D73A99 - 707256CDB12E3AB239EFA72AEC516FBD - 6DECC9375EAAC634707A139E59B32B51 - 5D25ED6951FF4228A11DC87E8DE61385 - stream[448..511] = 6A997977A25F4E9E0D9AFD8C20B56EE1 - C702C301528E332BF8F5E7DBEEE5CC28 - C9E12E1A8BD7A2118A0F31F800B574A8 - 2FC44FE19B20F1D3396432DBB02DACC1 - xor-digest = 0B2BA364EE76F0549A10200D129196B8 - E2B69667999FADFAD55CA479AE679C56 - 54A453C43898443B9DF2835AE806C2A5 - EF30CB8AC25DBA756A705F66759029FA - -Set 5, vector# 63: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000010000000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4DD010482D0DB2D09D76872D25F73B26 - 749FFE70B9674587FC4CEDBA5966D217 - 489244D0177F676188A1762C430DD8F1 - 5ED9F7BB67F2E8A79F7633DB7B45CFF3 - stream[192..255] = 3587F0A7B9F410D45357626BE10B4EAB - FF8798FECA5F91F3AD2543B301B5C301 - F84404071C7BC77AC31E423E1AB1E2AC - 2CFAA37DBC2A1316D16A5C7BFED1A77B - stream[256..319] = BFC632891511228ADBA0211EF390A7F8 - 08A12AC6BDD7C2E29DF27025EBA1A6EE - 00B9718FF2BC003904C1C28878894AE0 - E5CE5E9F55CAA522EBEF5747C755CB73 - stream[448..511] = 513D9FFA86D8AFC20E4870DE0E9B330D - 76F02E44A6C4D7C5270B89C6BAC9426B - 5A12666244C0CC5A641118B93F72668A - B7C53CD7FAB0940F1B37A85015DC91BE - xor-digest = CACA8BD50E28720128B57B37D45DFB02 - 206D53785FCE81205AEA085466142DB4 - A17F841156916294F3B7CA93CD99CB12 - 93FF593B5105D2822CA9BC3BAF178935 - -Set 5, vector# 72: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000080000000000000 - 00000000000000000000000000000000 - stream[0..63] = 4DB6CB1D5BA89BA45BA8E3DFCEFC444B - 7D97C73F53EBC50BC46047CD76499CF1 - FAB51AA6C8B24118AC4EC8E49192B41A - 2812AA1A4325418AA6C69F6143F0A6B9 - stream[192..255] = 33FB647044F3918513212D3538C31662 - 1DD9F3A10C0589CB718564CED7ECC391 - D9701C7A23AD48E05A79BE9E32F60819 - 3E57FA8D8EDDF9F43F38BF8BBCBAF52D - stream[256..319] = 79F3525A6EE300764DE481C20A40135E - 94362F56DBF4C5AFD214F9D4039A0899 - F74A7D7C27494B39D1B0145B9F691B5F - F436F2AE8B335EC62CCB0FF506E0240D - stream[448..511] = FFE0E6B8D741377FF1A02764FEE3D681 - 6CD020C6DDA5097989137E9BCFFFD35E - 0E6379AD2ED3D9D298C6B98DEA82DE6C - 2B66529C860DD4ED56265CA09B16A8A3 - xor-digest = BEC66A4FEB220D732F04AE0B98FCDE2C - 0B70613BAD57D7590E007E84AC546B09 - AF1D5BEB509CFE5523254B5FC8CC2672 - 215C67477AFF14D0788DB166C5B4B12B - -Set 5, vector# 81: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000400000000000 - 00000000000000000000000000000000 - stream[0..63] = ED4C49EAEBE78999C0DBC4674757D435 - B056A45036DC51B390A6C87B3CE8BCE8 - 2C7DD348C7775D2402EBE359E7895FEB - B9F44DB5D0F7B40AC207A3CA750EF25A - stream[192..255] = 32F897ACB5CE63D1A64781524B1CB4FF - 9E595EEF93A3206A0D1B4E6F4ED7501D - 2DDFCA31B4FC1A33F589167B070FC003 - F67C528B6AB99ED308EC3CEF82B4E2F0 - stream[256..319] = 57CE29261DAB385309C97955261874B7 - 676349DEDF7582B7654D1A8DAA570EA5 - 9745D2167F2AE1ED538F1D0ECE53AA38 - 379F9AE542EBE229D561E34ACB28FA14 - stream[448..511] = 667E22A8BE7BB84CA1B1C0848E5F22D7 - E98E54A79D5A960C33D07357199AF1AD - 53F3F803EA698127C22F75F31C40656F - 8C28818775B3D88460CFD29798187537 - xor-digest = C68E7F4A7CDB68892794933392C1BA84 - 5B6B7CF52B8421137EE0220BA67C91E9 - 81B47F9BFC39FDFF9DD48F3617F2D523 - 0680B87D18A821A09525FDB79DE6FED2 - -Set 5, vector# 90: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000002000000000 - 00000000000000000000000000000000 - stream[0..63] = 80FC6D794178A189EC423AF926622982 - 60C44DC5DD5AC91F779D02958366CFE2 - C5551DE2A5D635353757AFDDE68DF592 - A034D87C871D7D871264BB0F89E99536 - stream[192..255] = 0BEF31DBC3F3DBCC5B3D28BE296384D5 - D33DD0AD9A80D4AB8F58274B4397A658 - 94F67376AD8DCEC19BC2C74A835D9F70 - 1F4C60DC256DBA4E83B21D36B66F5DC8 - stream[256..319] = 625DDFD8D922D848380D45D6D7E730BB - 049666B3900E4305218BB7089D059FD5 - 825F9EAA3AC047A006F1353C37AFD11E - 0143DD68CBE9543B959E26ECB4C649A1 - stream[448..511] = 636E6EB97E3127EB703D5170D2C8FAF8 - 63E8C333F5EFEFCF9063E3D770FF9E0F - 2B37396CEC935239797FE430DA4CFFB2 - 9B19D833687318DF01750DD2F3D942B5 - xor-digest = 0865679CB53BC2845A0B71AB820F61AA - 9B99E100AC7F0358D5B610C09EC52C7F - 8C7C5D973CB85B18F8990F3BDBFBDCBD - 13071BB3AB3F329E75A44E80320BF86E - -Set 5, vector# 99: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000010000000 - 00000000000000000000000000000000 - stream[0..63] = FC2DEE44B15BD914C17DADE6645A0250 - 2F40B39C0C6AA26C0250D328112AC67A - 0C55D48700EFE67EFBCED927B62427C1 - 41DB8089774E2DE23C5FDDFD66D39BC3 - stream[192..255] = B6A4D34FC81937580BFC32E04C8E2B20 - 309AF3E2152B98BD748A344D4537788D - 35B16DD2C01444CAAAB8684916705C88 - FE75C53D75713FFFFA2693E91395F919 - stream[256..319] = 9E619BB0045C58C2D303F79E659CF5E2 - 011D619E0CB10CFDD53AEE6812DD780E - 36407CFE9BFC1C73C27CBBD491BB6A7E - 8918023EFD6E2227C0C840F1DFA5924A - stream[448..511] = 2A320747019AE86A59D5422B634448E0 - B43C41457428AC7A4E5D0C9D7327B44B - BBB6F64CC2423299C009E5B24DDF10C9 - F87F2A525ACF803C50837EF6C2FF3D34 - xor-digest = 3737C19DCC04C7C72EC9280D53C17E64 - E9F4B1E47980711DC64FE6D3E7DD05E0 - DEFF339F38868B1F7CFFAD4298127949 - 11EAD4D34047B22B07C397A37F6BD2A0 - -Set 5, vector#108: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000080000 - 00000000000000000000000000000000 - stream[0..63] = 84F71EA20D46B3802A787C1322DE6A79 - 34587F447AE7FE277362497E4FDB69CE - 129EC4D8D80ABD0C15026EED3DFE2B6F - C48C5DF09CBE035E348A22F8A2AB7DAA - stream[192..255] = 6444791C6DE062EB9A494AEB910A458A - DE3D834BD6F87F26A9D6F99FD970C820 - ED9FE0DF88A924F97945B0EB10E5D464 - 559AA278DAF6A942651E06C66D33F7A0 - stream[256..319] = 1878644E35B3BC562F82647D45C84317 - 769BACDB95DCEACA456727616BC90FF5 - E78FEE1EFB86A714CFCDE79AA9E66FAC - D600B0FC5C471569BBEB5692E7D9616D - stream[448..511] = 54BD56C4F0F3A0CB89A678F2912E5B21 - C2B225030E82A90470EB6040F50A818D - C91F65BFFCEA3F9041BF110A762DE3D4 - B41A8D1E18CAC776063B2DC93BC2D02E - xor-digest = 52E18382B88883C5648E067675468200 - 2AA9AC5C18A856E89175C449A6033501 - 87FA4C17A4D36269340F0877385A35AC - 4B7FEF6E1463D34BCDF3597618FAF352 - -Set 5, vector#117: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000400 - 00000000000000000000000000000000 - stream[0..63] = 3F40E9A3C872ED15A6AA296F716E095B - F39153C7C6F4ECE6F550AD35582083A1 - CA0DC3CD817AE3946E43AA9C8700420F - F0DFC21B34F4E5E40B3EA14299EF468D - stream[192..255] = 853C4A895DCBE411B9B2E340B0AB55AC - 8EEEC42885768110ED7E1CCADC10121D - 8DE12AFD0DCA4507A8A7A2650FF68C6B - 5DB1DD670C8C68365E846934D16A46CC - stream[256..319] = 565AEFAC0325093EF87FDC51413BD5E8 - 56AB6C90FCE7D3C6EEB7E58F22AF63D6 - 73BCF3840D611A5E1102E9A4108CB902 - 5A1D837510A971536231CA247965379B - stream[448..511] = 887287B62116FE2A28957ECC71DE5BA9 - CBBC16DBFA4EC141EB617F9314FCD238 - 91C4237FA35871C0C795E2F3A4197DB4 - F81BA4A29759BEB5FA2277CBB9169734 - xor-digest = 78E564BE9E7102E2CB009D7A540395C6 - 188C8499B7E96C0AD709C3BA2C341741 - 6EED55AB00AE5719F25CFA06F1488E83 - 798F18BFD755B9061AFB4EA5D864FC24 - -Set 5, vector#126: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000002 - 00000000000000000000000000000000 - stream[0..63] = F4C281D9C88A7FD6B2CBA9EB0366C594 - 59327932DBEF8118A7A680D0F0AA41A3 - 735FE0874F047D2B071B5B9E755A7B6A - 9426353B923A5913C647A88B642B2C00 - stream[192..255] = C7DAC2AE7631D11EB21EF15FDCD3EEDE - 7DC98A7060613A643EE8A944EEB6C7D1 - EDE08538E1BA6092ACDE0C648D29AF5C - 309CFCBC4F40A713FA58D93C954961AE - stream[256..319] = D1647D6453798B7E15A49199134384B5 - C9BDEBF7F859F6460C2666F297410070 - E68307CA78790EF01D160D94B69729D6 - 90A4FE477A27AFF8B254875C98116485 - stream[448..511] = C6D3DCBD0E9D4746B142C819867E0A14 - 8B81FEE3D1007E907F8E9D597EAD63F7 - A87E6F224C67CF8162C4E92FC1BE44EA - FE3715B3C1C432CC660CCF1536A20F46 - xor-digest = 59FDF05B6D16079B7E18F6A8CE0C58FF - AD7C985C01A12C07D1ECEA740A92F761 - FDAC3F96357498B5F5FBA91DE6502A86 - 1332A1B3E85C5E72444A2168C25D6FEB - -Set 5, vector#135: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 01000000000000000000000000000000 - stream[0..63] = 494BAFEFE4FBF2C406F55FFB436105BA - 09211B71DA446A0F5436E6DBF42F8E1C - C805E797C9987C14997083E9004473E1 - B2B3729DE9B483361CD38CC78C982533 - stream[192..255] = 3C04C6633F7D8B714E8549AEA1851035 - A520EB6422F42B2C840C74CF51A13FA2 - 9C1875212E8DC07774D6911415F1C305 - 9826A05DA9F09942273CDB592F7E3A6E - stream[256..319] = 1FF6BEFD79A7E5BA0DF64948BA0ECE7D - ABFB3883BF8A95D3E76DEA30550F5C3A - 2B67FE2AB78DF091E758E498418EF514 - 089283275588A41AD20D53E6394635A5 - stream[448..511] = A4D10D3B6AFDF415D49FB6ADA1245812 - 1DA1365ECEBDB6C2508F1EB92E91E8EF - 90892E6FCC9E70AB9A2EC4D49A11C197 - 68E6B4C154A4D65C55AFD38B2BE3F4DE - xor-digest = 91D4EA4C6ECE28536C415A6AF46DC432 - 3B6DC2DC98C3A3FE2BFE53C8FF556C16 - 0197D655357512A808415BF757AB3A84 - 6BE7865622D32B7DE3867B3B096408DB - -Set 5, vector#144: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00008000000000000000000000000000 - stream[0..63] = 521913EA655235FA0E713B0DA3ECB98F - 7AB817E70827D29E75E3BF2729EC2AAB - 8747B8FE0FC9489B6E0EFF45EF985980 - CC0189D9D0F2EF34E809D992E7695D9E - stream[192..255] = D265AAD80EC96DFF08859F93B236136A - BE146981E919C0554D64FBB7D03DC9AC - 9021F2A1B39866567D8BA1DBE2C3CD21 - E5C4C94085F7083F4C640E918C4004F1 - stream[256..319] = 7DCD3CF623332365E6CF2D92FD147BE4 - 1E532F51F939C921DD4492E026993E56 - 843ECBF0925CC52D56084E7F2B538653 - 2020DEE6FE7E85D4A89AEEBD5F3EAAAB - stream[448..511] = 00E20611C7ADFC3BD9E59B9E6D7ADB03 - F87FAAB01D7771B89299BDC59E1E2EAD - FC9FDE416B62FEF07AB7A816AF261E77 - FCF79DBEB09323D44B5956CD93AAA990 - xor-digest = 0578B3E20EBF98D89E2DE82A6EA8E34B - 424E526CF419713F0AA662B852E58BB6 - 7ED570D75534E1F23F85F160690A464F - 122CCBFA5CD1DCC0969F2E57D65D64F8 - -Set 5, vector#153: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000040000000000000000000000000 - stream[0..63] = 2617095641B825094DE44205319CA853 - 418588D5B6BFC05A2713CF898DC42B3D - 6ABDDF4C287235438A48BDDA49E5ECF7 - EFA235A23BF667289612893708704F08 - stream[192..255] = 04F668517ADC1AF6E31DE6B7007ABAC3 - 59A2DD6DD61755C6CA7053E05FBBA2AC - D9AF682EFC71391EDA4A5872B53D7CFB - BD35ACB719169283EFD9FF9E172269C4 - stream[256..319] = BCBA3F15D83B9AD41317AB9EF7DFDF0F - FF05CDB058AB08D7BBD720723E969CAD - 79F16D26DF0222CFF4249B839EB9F9F1 - 422EDAFB8EC285F27E347B7B4C9B2C23 - stream[448..511] = F15F17F38917DFCA9141314047595C17 - 047F91E4859D849E9A6339F640E3633B - 6A1B62D089B24062BA5987C3FAAB6633 - 99698CDE6FE7A461F127AF67B2C5CFBA - xor-digest = 68B2369B45F059964A1FD3822DAF61B7 - 82A9FBA7EB563F83DEC4D058CA5D8931 - EC74AF4043FEA803B696791C8E0A675B - DD8982AEA862BB76847E1DE12F2A5E86 - -Set 5, vector#162: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000200000000000000000000000 - stream[0..63] = B090CC267B29A95ADFAF6BE3E147D647 - 21ECACBF6B7D0C4061D17FB7DE0A6662 - 6D6F9FC167FB3FFF237C240AA03FAD55 - 13B6DA848F22796DB501A8FB89F2B85D - stream[192..255] = 1CB95ED9AADFA0E1FFE5704BE69CBA3C - 9593746AE87F36A786E5EBE18A1D3B25 - F4785EEF4DB439472035BF053687C5F1 - 0B60EF55A76DD1994FBB482BBD250755 - stream[256..319] = 826BE3D679C872536D55C3F0E49C2624 - D41726A4525A50CF91EB71E7CEC5AC47 - F3834358E2296CF0D04B8D8CE8A701B6 - 6AFBBB8776DB2B75F1CFA01231B365FA - stream[448..511] = 244DB28A98619907AFFDCCAF303A3795 - 3B6D21EE6D22780C4D3C939C084E4181 - 1FFCD8F2DA2E6A2243BD0B5428FB86C1 - F0EA2E8C8B6950ED961F4FA8CDFDCD17 - xor-digest = AAAFCEB42F2EF40C4B5462307085434E - E4399F87B4AE5CA828A952A851F47913 - A51430A8BB9B3CD0A4B2F12E297F51E8 - FE0B1A6FE0F21177EAD9284087D3706A - -Set 5, vector#171: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000001000000000000000000000 - stream[0..63] = 0F4309F63F237DBB51567573126F09E8 - E49990F26E541EF888B9F2922FE9D280 - C8FF4874C0D4FA3F41034B82E2E026C4 - 594A79C2B689BC502C41244DC1AD472D - stream[192..255] = 95DCF9685E429DEC2833E1B5E78823BB - ACD9332D668C4B342B89A290E1CA6127 - B0E5125E44445A1156A70B27966C3E0B - 4E0BCBDD9F4561998A5CBCFAA05C7459 - stream[256..319] = 0886E9887182156005548CA1A08B57C0 - E9FA76C2A694E1CEE22E9B715E99B115 - 9AE064DE644FD580E8356164A45EA1C4 - 3DD85E16158B5130AA103267C8118105 - stream[448..511] = F8AF6F9992781BB09808B7AF404F6546 - 6FA697C2A1BC9BF64F8D6B6D8CA0B856 - 6B64E6BF0500F6D80113D9457855FDCE - 1791C7436F5FF41ADA87562C175942D6 - xor-digest = 8D32FFAA409C8CCDA6892C388D5D654B - 4AD50ED00BA649737BA8F350811A2AE5 - 5C89463C7D63F1F1F16C4007826C2CF0 - E4BD9453A60D88BE86F60BADC3E71E98 - -Set 5, vector#180: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000008000000000000000000 - stream[0..63] = EBABC8B756971D46C1A5E86CC7AEB329 - 4DEDACFC795F2AE02CCAF68B933DEF4A - 19E96BA64DF14EB6FE67CA48861B49BC - 16052E33C8B47556DFBD96037B7DE5F2 - stream[192..255] = 0438A8CF718F4C52E33DA087FFEC01E0 - 459D26757D5DF55D5D7BC9BA88F57EC0 - 4B84D854374F95317CBDDEE928A2CCAB - E4BA1BBBF47776B29890DF00D864FBD2 - stream[256..319] = BC4A80F9CACFE63D2E54044ACFF39F97 - 2C69015058AD3F81CBBA28FB0987FFCF - 9CD1F6AE4F0602BAE2B828D3FA162936 - 23CF3AC2950BD651F7E467DF8B454BD6 - stream[448..511] = EDC95FB80C9FED4A73D6EE9B2CD74BB7 - E6DEB9E7868D40FC49BD1C52838457F0 - 88DCB29C2107066D55A80908EFD1392A - B4F2F13C0A79F67E58C91A89A5C88991 - xor-digest = BECD7FD2014BB9A25701E69F9788FC84 - 1AA9DA56CDE1CD93DF45D28F29D32E22 - F488B0C2D9FE95B267CBFD35EDB2F6E3 - 05DFA5A2CF09D7E2D13348BC0C9405E2 - -Set 5, vector#189: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000040000000000000000 - stream[0..63] = F28A15A90386237127A5682EB09E0E58 - 30709455034A7189AC9710DBB50D5012 - 9EB4E0E9036D4504054B281F3FE9F45F - C80116B8FFC0B42F9A636A399B7A8BD1 - stream[192..255] = 1219EF9BDC250E88BD0A62DDCF9AA1DB - B62E19FBA748DFE1035C6A5B3B94954E - 1370487A455916F7DAB451F79C5E1298 - F549CE005A1321E6B136B59BAD9EBCD5 - stream[256..319] = EBBE81DAE5637C4C7EE6FF9251D5407E - DF7E8EAE384D1E588CAD39AD9F763004 - 9A8E028120B5065B658EF3E2B357E52F - F18891819EEE3EE021BD1AF08A4B1F53 - stream[448..511] = 50086FCFCF5EFFEDC4A52B0212B7321A - 8664F2976493868F13D7CFDFB7583E99 - EBA70778A83CB88850D45B300F7F6A80 - E721860560B2FA642B2E77C7F7AB0662 - xor-digest = 336516670616300FD5FB014C1076B53F - 6637AD0EFB453615924396785CA4D284 - B03F526FC2179FF3BFB0A1A2ACFFD87E - EDC4C8360DFFC132CE6A502EB173A0D4 - -Set 5, vector#198: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000200000000000000 - stream[0..63] = 93261A7231FD030CEAA974BBF8F3A721 - 33334C5F3B25D5831B203C353A566D80 - DA578081A047E28DDF8E4BD5B68BE4A7 - FDE4BB3A4875BA84553AE120ED77C9CF - stream[192..255] = DEC4B603E6A6F911B68E5C1265FA2004 - 71B296A647D20C13E42202C1A3AAE880 - 305F969BB88002C8FC00CC5DBE40AA06 - 4AF85646AA8C7F7191FE26FAA2918A95 - stream[256..319] = 849431145F27957D53CD355501363E4C - 5F191DA666B77364E5866CAA16A9DEF0 - DDB9BC266EF41DB0C2A7642B9E8DD27D - 60DEA6E69052D4BDE9FC83B2578C72E7 - stream[448..511] = 5556EF9874E3150FC539C9BD3BAFD308 - 8FB347D5E38DB318A72AE0C6B6FB4163 - 082545A9AD8872AC383A78230729D083 - 31BFC3F2C80DA20617435FFDF2529A7D - xor-digest = BA9CA5F3C27246F931824A9A425F2390 - E183188FEDE5BE3591053ADCC933E1F3 - DDF5627A94F80F8922F53E951490E96B - F51491ED2D6DA26F3BF69CC41B8C0C98 - -Set 5, vector#207: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000001000000000000 - stream[0..63] = C449AF4CD437641A3B40D0E0E7B5696D - CE973B3B217E02DC20B2F5573FDDF78F - E6E55D75CFAB8EE04C8962376D22A843 - A80BB79C8B8D8B500C4B6DA27748C398 - stream[192..255] = D5C92B62B0818165096551DF2B007F66 - 2DF953742EF0BBE97982FF9D3EE83E1B - 87EC9D710CF1700262B1CAA9C68A897A - 8AB4A162DB0443A43962EECFE5B4C0DF - stream[256..319] = 3B8CC7E847669AC6858B7BB716206386 - 40D8C2DD259EE4970A5F254077101271 - DF745AD7F57712065E2D03B9D7220591 - 5C8C033A4F9146EE561B4179DB465989 - stream[448..511] = BA4ECB7D74CEE56CF1D5AB636BBD6421 - C30A51DABDCED17C8D50F5293424AFCE - 33AF71095CAAD3913A8A3A12286A8E91 - 89DAFCC1E2E744FBF4B526E910B5F2CF - xor-digest = FAD57A608E04CD71B176BBFADED7B229 - D855A8025E963B55FB83EC7311427779 - 490F25D34C6385FE1C036FF0807E136F - 40C10588678E2414163AF1819EF7D3C9 - -Set 5, vector#216: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000008000000000 - stream[0..63] = 989F302DF6BF8C63F9EB69D2625115B1 - 2CCDA42A2D33BC6F21BD55E0594DBAAD - 9A294DDFD6710E36000C27FEA7E03440 - C8A6E728716D0DF14E825B798A6C420C - stream[192..255] = 3F3140320AA02367512E7C1789F5C03D - 83CC634354237E78E16B1A64DBDFA6EF - 0697B28BDFFAEC311C6E2089BCF64203 - A2EC7BF3CA922080380241A47A673634 - stream[256..319] = 6049048A5307D55D6DB387A6149C7B23 - 0AE33195D53E0026103EB44489BB86C6 - BAEC7A0D920CAE25B1E7B9F07C07C4AF - 6485FF281C7B7FE1D61E660AE55C20EA - stream[448..511] = A6DCBEC85525FA19FA6066470B4CD83F - 17D42DB3353B327BF3DD6E7D047CD752 - 71E79CCBD46E757F3654C2506C2B593A - BC93B8985C491017A8E616D69E8974FD - xor-digest = 55BE97FD8317A47742F8F3BB762160AA - 7FDFBA371864823D93EF6C029D457AC1 - 2D679CB424DA9EAF8E4FE28271C66F06 - 1E91D8F2EF41733AC1084F54330C9786 - -Set 5, vector#225: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000040000000 - stream[0..63] = B8989CF76BB1AE894699604320C14706 - E20C8BD86C016B5E2EF705AEC54C6023 - 2A9AA961C10914A8D910D517059A93F9 - 78C537767A057E0E11DBB5C9BBC4EFA9 - stream[192..255] = 83FC232D21D0DB82747D9EDFEDFB58E2 - BB37362FA2B4E1AA0C9A58AE521EFC86 - C512831CC6D2E85FBD96FD3B60D1D153 - E83DDC6C5755899CF96FDF69E3732E4E - stream[256..319] = 201DDE5D82B754341A3452BF7DDDBF6F - 167B2A087900EF40E4268A80217D7310 - F1E9E25C707A1EC05219E3CCFEC0F6F5 - 28CD98534F6C579A1ACD3171D131D87B - stream[448..511] = C2F68B5F03B0045FEE0FC92DA08F8545 - 762F73E553D2F539C64B88D4FAC9B011 - DE0504D66007A115E428F627A667FA2E - 296F222734FA0F905548058897DEA990 - xor-digest = 7DFA65F57FD58891C5576B3CC7002513 - C1A983E9D31317B681604DA09F176AAC - 4FD78CE84EB9427BE8D6A63058582F16 - 148D55B3C2544CF4DB9306699CA74D80 - -Set 5, vector#234: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000200000 - stream[0..63] = 307B13F3D3EEEA4C8FAF34416689F354 - AD26336D6B33DFC5AA004420D2DEAA69 - F69E531EB6D672AD62B2A6A136046373 - F70272E84E14CABA9AEA3102863A0B10 - stream[192..255] = 8E4DA19FEDAD4C842917ECD5E7256097 - C2F524324D8A974D4185D8B11B611C72 - 6C39DDB5E58180971DA181D36A289CBC - 1937E8F020645EC8D0363A58C6147F38 - stream[256..319] = 012A99871D6C4CB7328C1374F37D0BE3 - DCC2232F6484A22C8F330D77316A1756 - 71DF7CB32773F25D772BFE9DED5981B2 - 0C3F0DDB2879AF61E7549F03AE26D233 - stream[448..511] = 47C6CA462D35580BC0C78C6427FB96F3 - BB762662F5B52FB3938CCCEAC35884C1 - 54F5BBF513970FC08F51C91059A757B9 - A8B6F1EFE467FAADA8D4DF68C6AC1942 - xor-digest = 6409F8C255BAE6167686F5F9C7EB2349 - 0FC7BA4DCBC80006B57A5F56CA9F907F - 849C2A0FB0D74CAAFC0E2D4367E2912E - BA6487D8A48DA60E48277A20E326266A - -Set 5, vector#243: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000001000 - stream[0..63] = 543BAEFA799FA0CF5295B92EF3FDC07D - 69B87C1B5FF0A9F25B32F8FCC473D04D - 54B6E467D6183F25E3664A330889889F - A530E354B6E53EBC78354100637A62C3 - stream[192..255] = E15997D1E7C0FA38333DEE2EE2477A4F - AD32F0810E8D3D65EAFB110C2B8D0948 - 59DC45C4AA38B8050A87C23782E1A26C - C193985BB0C3E754A528BEAAE1508D76 - stream[256..319] = A94F1BD38219097B70EC0700A64B0ADC - 7BA8883B5C2C3BBABD0497E80D53121A - 2DC5A5C6A77913330EF5469871BABF86 - 0A09F1474D893ADC28B473EE508F473F - stream[448..511] = A43AC01FC186AB42241ED3729E7EEA39 - F0823D124E8CB696E2F4B047A6B71164 - 5B803623CD0371C4975217B3CBD7D9B2 - FD89D3B6BD23FD11FEC0B03B9CC22AC0 - xor-digest = 792A5EDB6E7FDBE99B7EC2119665C2F2 - 34038F561BB1923F3BF493AE35CE2006 - 55B8EE47490B53EBB481AB7C6B82FACB - 233AD86D74385FA108C94666CD34C164 - -Set 5, vector#252: - key = 00000000000000000000000000000000 - 00000000000000000000000000000000 - IV = 00000000000000000000000000000000 - 00000000000000000000000000000008 - stream[0..63] = CB4377099B2D7CD6A982A1B1A53E05F2 - E097164EDCB381468C21D8F0615A654A - 45A4D09B7C0218A19496EA71CEEEAE5A - 886307DB0026C96049B60E5154F99AA4 - stream[192..255] = 25FCE0B7E28D5D0D1654D912DBB21AE0 - 288CCC71396CA5AA36AC44AB08EC72A1 - 01E5B189535C1987B79DE4C4E32DB7FA - 48ACBC8F854868FC287E03D54752230C - stream[256..319] = D3B02A39A4E467C44C109E1E25593278 - 2E9B3CCB02D6F107C9263A24E113FAEF - 847A9064E1AD1EC8881EFEB239CAD6C4 - E90ACEC36A7E87E002F35D477CD63F2B - stream[448..511] = 7D4282D7E11439C04ACFF087708DA22D - 236F1A08A6343704DA4D24EA3582253A - 35419183A915B571DDE80C1DEE2B8A13 - 76EE973234FFF6A0DD91D31037F51C72 - xor-digest = D52720D8DF114235D99E5292E14DE96F - 9D8478E016CD40EBA25C4B9D8E11713E - FE9AC151E1F39377FCC07D06E9BF6931 - 6EFD7E27F87E9F76DCBF7831CC3FA98B - -Test vectors -- set 6 -===================== - -Set 6, vector# 0: - key = 0053A6F94C9FF24598EB3E91E4378ADD - 3083D6297CCF2275C81B6EC11467BA0D - IV = 0D74DB42A91077DE45AC137AE148AF16 - 7DE44BB21980E74EB51C83EA51B81F86 - stream[0..63] = 23D9E70A45EB0127884D66D9F6F23C01 - D1F88AFD629270127247256C1FFF91E9 - 1A797BD98ADD23AE15BEE6EEA3CEFDBF - A3ED6D22D9C4F459DB10C40CDF4F4DFF - stream[65472..65535] = CFF0058C45807C1F4300D118FDFC3B21 - 370936B39391791C92A821E1C8E8F248 - BBBF378679468218FF5F6560B79A6015 - 82B81315DC19D8583263958B068BEA48 - stream[65536..65599] = 871A09D393D8888EBEA453F518BD300D - 8233E906A31631D29A4A1834E268C3E4 - F65F4F65B1B9E55606BDF28A571CA4E7 - 59BDE4718E1E13731663F5CAF1CB0F1E - stream[131008..131071] = 15360407DA7B389DF28C08B2221F5E0D - 96B34839325795A70A3F65D9CBB3848D - 8C0793A53E8C4D71D8B53B2923A90B37 - FE412A4485F0CC741E65743C6F1ECB4A - xor-digest = C08A2B344B4A486BEB4568EFA585A481 - 64C90A34752FC3523C3A99D764AE33D6 - 825915067FD64D90EE81175416A3B4CE - 780426A44A4530994A1A8A83A5E9E243 - -Set 6, vector# 1: - key = 0558ABFE51A4F74A9DF04396E93C8FE2 - 3588DB2E81D4277ACD2073C6196CBF12 - IV = 167DE44BB21980E74EB51C83EA51B81F - 86ED54BB2289F057BE258CF35AC1288F - stream[0..63] = C44B5262F2EAD9C018213127686DB742 - A72D3F2D61D18F0F4E7DE5B4F7ADABE0 - 7E0C82033B139F02BAACB4E2F2D0BE30 - 110C3A8A2B621523756692877C905DD0 - stream[65472..65535] = 5989C607133DBC6C0F2DD022D4812ABF - 91111E266BBC8EF91F1759B3CFD73E12 - 432C1334E3549EA54917BC0156672E13 - DBFDE5F0CE6C504EF4AB69A9C311FC79 - stream[65536..65599] = 0D22D9DD0AAC594F812839C7C4D0B690 - 7A19FE4985E1A0DCCA5930E6F5A70055 - 452978828569A28AC62C30274CAAD865 - F4F8BC7E3F058B50C454F3CA360264AF - stream[131008..131071] = D17E6611F2754F60629B7CF29CF35888 - 3765A08C62167AC620C1CBCD1058F527 - 4B2D4335591F7962A0A76D5F430332AD - C16B13E7EEA80188974860D2EE3BE81F - xor-digest = B7163FD0F8A41562DCB10212DB9C97DF - C25C6BEBEB6331F072118F046E508887 - FB82C0A3FF8B0E0B5765131BD58F3181 - AFB3803A2C1C8C70877AE29F74D433F4 - -Set 6, vector# 2: - key = 0A5DB00356A9FC4FA2F5489BEE4194E7 - 3A8DE03386D92C7FD22578CB1E71C417 - IV = 1F86ED54BB2289F057BE258CF35AC128 - 8FF65DC42B92F960C72E95FC63CA3198 - stream[0..63] = 9D13AA06122F4F03AE60D507701F1ED0 - 63D7530FF35EE76CAEDCBFB01D8A239E - FA4A44B272DE9B4092E2AD56E87C3A60 - 89F5A074D1F6E5B8FC6FABEE0C936F06 - stream[65472..65535] = 85D7E59D15760E12C5E8D0D5CD9B46E7 - 00F8E821C91CAC8C37A6200E61A71E84 - 15932834C0A06DC7E5738E11A0F9A9C4 - 38ECE66D8D5A654A754FC5858B28EE21 - stream[65536..65599] = CEC10B6D37543B35CE32B152BE2928FD - C8476E341F23AFB3B404D40EC0657A8E - 95F5CF7297EB1948385A5FB2FBBFAF66 - E252F35AA1DF199FED99DA532E5858E3 - stream[131008..131071] = 9DF7785EB3E69ED977E6DCC59EDA18A7 - 41029BCCC4590A46B8F9FAB96B5C4268 - 2FE49EC0BF79FBB637E6DEEACC068E4C - 93D215555CF876E17F37968576C5D5FC - xor-digest = 0B36039A89999715A7F53207DD60203A - B397397C718C7057E82E36C05E49506C - 911F9596F2A5818E0ABE6BE666086DA7 - 9B18E89A43C64B9227BF9DF65CD55C35 - -Set 6, vector# 3: - key = 0F62B5085BAE0154A7FA4DA0F34699EC - 3F92E5388BDE3184D72A7DD02376C91C - IV = 288FF65DC42B92F960C72E95FC63CA31 - 98FF66CD349B0269D0379E056CD33AA1 - stream[0..63] = C8632038DA61679C4685288B37D3E232 - 7BC2D28C266B041FE0CA0D3CFEED8FD5 - 753259BAB757168F85EA96ADABD823CA - 4684E918423E091565713FEDDE2CCFE0 - stream[65472..65535] = 340CA4A2B985CCB5C07964B36AB84409 - 679FFBC616ECFCC672A0F61BBE94AD0F - E6C065CFC069BCA7D33FF35BB2967D0F - FE84BC6006E46D7CA0C1AAEE279E8C32 - stream[65536..65599] = B5221331961267143AF1A5EC7D1118CD - C96A4B088404F5B6C5BE7320C87C4E90 - F5333906AC759D7747EA06903525620B - D05703033C5F1973809B9D674688461B - stream[131008..131071] = DF8934D8386B59B681CC9146E6EF9A7D - 765366267B4BDE3DE8DD15B714A397D4 - 08432F2B975F6274132FECDA89E0FB32 - 379023ACDA101452D30657E6D5059828 - xor-digest = 36D3E252F992C30C76818B3364613BE3 - 7F84FC4B848272404E7D9E689BCB945A - A85CBA790187A4FAF9811CB0824F2F46 - 6DB05D3F96A0AF233486AD28A593AC24 - - - -End of test vectors diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca-key.pem b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca-key.pem deleted file mode 100644 index 6607b2cd7..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca-key.pem +++ /dev/null @@ -1,165 +0,0 @@ -Public Key Info: - Public Key Algorithm: RSA - Key Security Level: Normal (2432 bits) - -modulus: - 00:b9:37:cd:af:ea:d6:f2:fa:f5:ef:e1:fb:de:74: - 2a:7e:1c:c5:28:07:e4:37:72:3d:19:75:97:c2:b5: - ca:34:dc:e8:c8:8e:33:8f:6b:da:34:9c:2c:56:c2: - f0:46:57:57:92:df:36:5f:82:3f:15:11:15:c0:34: - 65:b5:e8:b9:f0:42:65:f2:16:b3:0a:5d:35:8d:f1: - a5:11:00:3e:3c:e1:7e:04:32:dc:3f:5a:c2:09:15: - 9b:68:20:f4:94:c2:dc:6f:fa:7a:61:27:28:f3:f3: - 4b:5d:7c:7c:50:a3:80:a6:a3:6a:c2:c8:70:80:fb: - 66:f2:f0:73:59:13:ae:53:0e:1e:4f:4e:9e:9b:9b: - 3a:2a:ef:3a:5b:c6:56:00:fe:34:b0:63:ea:21:cd: - c5:91:ee:3b:8e:47:b4:25:c1:30:1f:92:5d:92:b0: - e7:e1:79:6b:a0:3c:5b:6c:d1:bc:d1:75:bc:d0:d5: - 67:d1:17:fd:8c:64:05:b0:72:23:88:eb:fb:6f:93: - 8e:15:bb:87:e6:79:2a:38:80:fe:ff:3b:d1:67:89: - 32:ff:11:b0:bb:29:6e:85:a7:83:5a:af:17:51:98: - e7:e4:4d:91:b7:a3:55:f9:f5:66:16:21:ab:6f:ff: - 11:cb:f1:81:49:a6:70:c4:fe:e7:2b:b3:7c:dc:bb: - 96:9c:63:5b:7f:b5:7a:41:4f:3a:7f:44:9d:61:44: - 9b:69:35:49:6e:ca:23:f9:48:1d:12:12:30:5f:f2: - 6a:0f:99:8c:ee:98:f9:68:60:e4:21:5d:75:30:21: - cc:51:2f:9a:79: - -public exponent: - 01:00:01: - -private exponent: - 00:a0:d9:d0:9c:6d:13:1d:53:4b:50:77:6e:38:23: - a4:5f:7f:76:cd:2c:05:4b:0d:bf:f8:23:42:97:cb: - 2e:7f:38:36:45:2e:11:a3:05:64:2b:fa:51:1b:4c: - 12:44:d4:47:6e:7a:c1:0a:b2:df:3b:d9:69:8d:51: - 33:df:85:ec:2c:b6:4d:38:af:f3:ef:15:41:94:32: - fe:4a:44:6e:c8:8a:7f:d8:ff:9e:7c:ba:c1:f6:07: - b8:bd:f6:98:d1:b4:64:a2:2e:e2:27:0b:4e:2a:85: - e8:b6:98:8c:91:af:5c:e3:da:d9:b5:ad:42:df:10: - f5:b8:17:8f:e5:15:0d:78:7d:b3:5e:e6:85:21:d7: - ed:ed:29:73:02:0e:bd:d4:00:f0:1b:1b:ba:52:7f: - 14:8c:84:e0:0f:e1:d1:45:f0:35:c9:14:f3:d3:33: - 08:49:5e:b1:0d:8f:5b:6b:57:86:8b:96:e1:c0:19: - 47:10:87:d5:ed:a0:66:7f:0f:f9:d4:bf:0a:9e:23: - c6:17:3f:0f:a2:d5:61:00:b1:10:86:6e:98:c9:7e: - 5a:51:02:5a:8d:0f:02:e3:cb:4a:63:35:66:fd:79: - c8:55:8b:75:04:00:c6:a9:43:af:ce:30:48:46:a8: - a1:51:90:65:72:55:c2:7a:c9:21:87:10:de:e5:b1: - af:7c:2d:be:ca:78:e0:0f:3d:bf:36:cd:e0:c5:a5: - d0:af:3d:6b:0f:5e:d3:46:38:e4:c9:71:fa:57:e6: - 8d:c5:99:bb:c6:47:dd:44:7d:9b:ee:04:3c:67:08: - 6b:41:75:d3:6d: - -prime1: - 00:c9:d6:4e:6a:2c:f8:ac:d5:c0:3a:74:7f:d2:b1: - 88:d8:7b:91:98:b1:b3:48:83:88:e7:ec:65:f9:5c: - b1:0d:21:ce:a8:31:3b:ef:e6:55:02:13:1d:c1:e4: - ac:76:8c:c5:3c:93:f0:ed:6d:00:2f:08:7c:9f:f6: - e4:3d:20:01:26:d3:35:7f:e9:56:ad:64:84:a9:f5: - 9f:8e:6c:ea:f3:0e:a3:7b:fa:fb:6e:17:9e:99:af: - e2:ad:f2:4a:01:6e:1f:e4:59:24:cf:c8:01:c6:fc: - b1:b5:9b:49:1c:26:14:f9:cc:fc:12:a5:5f:b3:cd: - f2:a2:3f:80:89:9a:3a:57:cb:62:ae:3b:88:b3:bc: - 82:eb:77:6d:bd:04:aa:fa:86:87:f9:02:54:9a:5e: - 88:5f:fb: - -prime2: - 00:ea:eb:cd:d5:6d:49:5e:f6:33:6e:b4:7e:d1:82: - 6f:bd:0e:f0:ae:61:0e:9a:a6:16:55:20:e8:ee:f7: - 50:a1:bd:a9:d1:18:a5:ce:11:88:2a:4c:42:e5:df: - f0:1a:c1:8d:15:b9:3e:75:05:d8:ea:c6:2e:80:cc: - d8:c5:5b:d4:10:c1:71:f6:91:42:58:93:fe:75:93: - 28:1c:7d:e2:9d:51:fa:b2:fe:50:0e:0a:6b:45:f8: - 61:ae:95:d8:70:78:69:fb:79:fa:4a:14:30:1d:6b: - b3:86:17:44:fc:5c:77:6b:08:73:2c:de:61:b6:41: - 40:70:50:ba:ec:f4:04:02:92:8c:7f:54:e2:16:61: - bc:64:36:69:ea:aa:37:5e:c5:f2:26:06:34:ff:46: - 50:81:1b: - -coefficient: - 00:bd:99:45:95:21:7e:77:c9:79:cd:d6:41:bf:d5: - 7b:88:9d:5a:4e:19:1a:13:41:b8:fd:dd:9d:11:5b: - dd:83:fa:08:82:b4:ee:52:ec:dc:69:f8:ea:fd:42: - 0d:e6:4b:ad:f1:87:e3:92:82:42:10:b0:d2:5a:b5: - c7:74:99:6c:86:a1:ad:09:c2:c4:99:8c:11:c4:bb: - ba:30:19:05:07:3a:4d:4f:10:5e:fd:30:60:f8:13: - 62:7b:05:a2:00:1c:d5:30:9a:81:af:ed:b9:9f:ed: - 7d:36:88:7e:2f:16:12:aa:e5:af:e8:e9:87:8f:80: - 87:f5:74:f9:a2:30:92:6d:2e:ff:c2:82:12:e8:2d: - 2d:72:84:a9:2e:0a:24:fa:00:0a:05:e2:55:51:11: - a5:cc:81: - -exp1: - 6b:7b:a8:7e:7a:3c:63:2d:e1:14:3f:fd:e1:e1:91: - 12:57:9b:8d:48:f4:44:65:67:7e:ba:31:03:be:0c: - bb:05:89:db:9f:7c:5f:a0:b5:1c:49:b9:cb:0b:4f: - 9c:42:12:b6:d3:c1:b5:6e:1a:6e:f1:82:0c:5d:99: - e5:c3:29:59:d7:97:e1:ea:0c:b2:81:98:f4:39:4d: - 22:b7:75:d6:c1:b0:e5:d1:1e:1b:de:90:23:1f:bb: - 03:0e:c7:c2:43:36:d0:8f:78:3e:fe:2f:94:1b:f5: - 36:d4:de:f6:12:81:91:15:4c:17:51:e1:c9:0a:9f: - 6f:2f:89:ef:bd:25:dc:a2:fe:85:f2:46:36:10:e9: - 57:23:5e:59:0e:27:4f:0a:5d:56:89:9b:2c:29:b3: - 4e:09: - -exp2: - 00:86:95:f5:64:72:a9:f8:37:80:9b:c9:d8:65:db: - 1e:7c:e7:94:47:b2:df:15:06:56:01:0b:4b:a7:ac: - 14:8b:b5:07:16:fd:d1:ef:ce:e7:7d:a4:17:27:6f: - 36:35:7d:f1:80:22:92:7f:a4:8b:f3:64:fa:bb:5b: - a0:4c:e1:21:0b:40:68:33:e4:60:68:32:d1:33:36: - cd:62:15:54:c0:e0:78:8a:17:5c:71:ce:d2:4a:51: - d4:54:9b:10:56:cf:05:98:c6:f6:f7:7d:bd:5a:fd: - 9a:ea:15:66:b6:55:9b:2c:bc:b8:8f:5a:10:0c:c4: - 31:50:a7:4f:8f:f4:f4:5f:2c:ea:45:00:b2:4e:34: - 4c:23:f5:70:94:ba:53:e2:7d:f1:0e:8b:bb:cd:0b: - d1:8f:45: - - -Public Key ID: 12:B5:DC:B6:C0:EA:82:D5:E9:EB:3E:BF:50:F3:76:58:E1:36:01:73 -Public key's random art: -+--[ RSA 2432]----+ -| . o E | -| + o + | -| . = o o | -| . + o o o | -| . = S . = | -| o o o o + . | -| . . + + . | -| ..o . . | -| o+oo. | -+-----------------+ - ------BEGIN RSA PRIVATE KEY----- -MIIFfQIBAAKCATEAuTfNr+rW8vr17+H73nQqfhzFKAfkN3I9GXWXwrXKNNzoyI4z -j2vaNJwsVsLwRldXkt82X4I/FREVwDRltei58EJl8hazCl01jfGlEQA+POF+BDLc -P1rCCRWbaCD0lMLcb/p6YSco8/NLXXx8UKOApqNqwshwgPtm8vBzWROuUw4eT06e -m5s6Ku86W8ZWAP40sGPqIc3Fke47jke0JcEwH5JdkrDn4XlroDxbbNG80XW80NVn -0Rf9jGQFsHIjiOv7b5OOFbuH5nkqOID+/zvRZ4ky/xGwuyluhaeDWq8XUZjn5E2R -t6NV+fVmFiGrb/8Ry/GBSaZwxP7nK7N83LuWnGNbf7V6QU86f0SdYUSbaTVJbsoj -+UgdEhIwX/JqD5mM7pj5aGDkIV11MCHMUS+aeQIDAQABAoIBMQCg2dCcbRMdU0tQ -d244I6Rff3bNLAVLDb/4I0KXyy5/ODZFLhGjBWQr+lEbTBJE1EduesEKst872WmN -UTPfhewstk04r/PvFUGUMv5KRG7Iin/Y/558usH2B7i99pjRtGSiLuInC04qhei2 -mIyRr1zj2tm1rULfEPW4F4/lFQ14fbNe5oUh1+3tKXMCDr3UAPAbG7pSfxSMhOAP -4dFF8DXJFPPTMwhJXrENj1trV4aLluHAGUcQh9XtoGZ/D/nUvwqeI8YXPw+i1WEA -sRCGbpjJflpRAlqNDwLjy0pjNWb9echVi3UEAMapQ6/OMEhGqKFRkGVyVcJ6ySGH -EN7lsa98Lb7KeOAPPb82zeDFpdCvPWsPXtNGOOTJcfpX5o3FmbvGR91EfZvuBDxn -CGtBddNtAoGZAMnWTmos+KzVwDp0f9KxiNh7kZixs0iDiOfsZflcsQ0hzqgxO+/m -VQITHcHkrHaMxTyT8O1tAC8IfJ/25D0gASbTNX/pVq1khKn1n45s6vMOo3v6+24X -npmv4q3ySgFuH+RZJM/IAcb8sbWbSRwmFPnM/BKlX7PN8qI/gImaOlfLYq47iLO8 -gut3bb0EqvqGh/kCVJpeiF/7AoGZAOrrzdVtSV72M260ftGCb70O8K5hDpqmFlUg -6O73UKG9qdEYpc4RiCpMQuXf8BrBjRW5PnUF2OrGLoDM2MVb1BDBcfaRQliT/nWT -KBx94p1R+rL+UA4Ka0X4Ya6V2HB4aft5+koUMB1rs4YXRPxcd2sIcyzeYbZBQHBQ -uuz0BAKSjH9U4hZhvGQ2aeqqN17F8iYGNP9GUIEbAoGYa3uofno8Yy3hFD/94eGR -ElebjUj0RGVnfroxA74MuwWJ2598X6C1HEm5ywtPnEISttPBtW4abvGCDF2Z5cMp -WdeX4eoMsoGY9DlNIrd11sGw5dEeG96QIx+7Aw7HwkM20I94Pv4vlBv1NtTe9hKB -kRVMF1HhyQqfby+J770l3KL+hfJGNhDpVyNeWQ4nTwpdVombLCmzTgkCgZkAhpX1 -ZHKp+DeAm8nYZdsefOeUR7LfFQZWAQtLp6wUi7UHFv3R787nfaQXJ282NX3xgCKS -f6SL82T6u1ugTOEhC0BoM+RgaDLRMzbNYhVUwOB4ihdccc7SSlHUVJsQVs8FmMb2 -9329Wv2a6hVmtlWbLLy4j1oQDMQxUKdPj/T0XyzqRQCyTjRMI/VwlLpT4n3xDou7 -zQvRj0UCgZkAvZlFlSF+d8l5zdZBv9V7iJ1aThkaE0G4/d2dEVvdg/oIgrTuUuzc -afjq/UIN5kut8YfjkoJCELDSWrXHdJlshqGtCcLEmYwRxLu6MBkFBzpNTxBe/TBg -+BNiewWiABzVMJqBr+25n+19Noh+LxYSquWv6OmHj4CH9XT5ojCSbS7/woIS6C0t -coSpLgok+gAKBeJVURGlzIE= ------END RSA PRIVATE KEY----- diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca.pem b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca.pem deleted file mode 100644 index 047c72fd7..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-ca.pem +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDVzCCAg+gAwIBAgIEUSnjOzANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H -bnVUTFMgVGVzdCBDQTAiGA8yMDEzMDIyNDA5NTQwNFoYDzIwMTUxMTIxMDk1NDA3 -WjAZMRcwFQYDVQQDEw5HbnVUTFMgVGVzdCBDQTCCAVIwDQYJKoZIhvcNAQEBBQAD -ggE/ADCCAToCggExALk3za/q1vL69e/h+950Kn4cxSgH5DdyPRl1l8K1yjTc6MiO -M49r2jScLFbC8EZXV5LfNl+CPxURFcA0ZbXoufBCZfIWswpdNY3xpREAPjzhfgQy -3D9awgkVm2gg9JTC3G/6emEnKPPzS118fFCjgKajasLIcID7ZvLwc1kTrlMOHk9O -npubOirvOlvGVgD+NLBj6iHNxZHuO45HtCXBMB+SXZKw5+F5a6A8W2zRvNF1vNDV -Z9EX/YxkBbByI4jr+2+TjhW7h+Z5KjiA/v870WeJMv8RsLspboWng1qvF1GY5+RN -kbejVfn1ZhYhq2//EcvxgUmmcMT+5yuzfNy7lpxjW3+1ekFPOn9EnWFEm2k1SW7K -I/lIHRISMF/yag+ZjO6Y+Whg5CFddTAhzFEvmnkCAwEAAaNDMEEwDwYDVR0TAQH/ -BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBQStdy2wOqC1enrPr9Q -83ZY4TYBczANBgkqhkiG9w0BAQsFAAOCATEAmZv6isnRkCv3cRn67AgEQOXCpgf8 -do1vGtdQh6NgXo0ua4tg/+YOLsNRhUCkbwiCyP2lUIoLIeYiUWUfvE8GP8hJyF63 -el5te74ymCasPPGKruEvxuthgUW5V8HoqwcAIDyHsoSJmex/Wk7cXg2VKhRr5tGn -d8nUsascYItIhoLFIG/2oI9zMB70SNI9jsPZ/BxWRy0fFH8DLjvU8JMsl5oF0HyV -PP2kmI2Px81T/+RgNmM9c8m5uLItQ4F7U5ChDMKa5IcUO57aKp4aLePf1QGlfPuD -YH41hy+m2EtUdYOCrzKg0RxYoFzwnMmxOJi7za2Daqdy/JUsqvIhbVHcMiMlvlni -dU4IM63xNvVvVVuwMkqeO+QTz7xWAQRu545yCFST8ipFT+qhWG6XHqLGgQ== ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server-key.pem b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server-key.pem deleted file mode 100644 index a35135ceb..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server-key.pem +++ /dev/null @@ -1,165 +0,0 @@ -Public Key Info: - Public Key Algorithm: RSA - Key Security Level: Normal (2432 bits) - -modulus: - 00:cf:0a:15:dd:3e:79:2c:99:e6:bd:25:cd:1f:d8: - e3:3d:b0:ce:6b:57:eb:ec:ac:71:a6:ee:7a:60:d1: - 66:6d:5f:42:e0:c9:25:03:bb:fa:6b:e2:f6:17:00: - 99:aa:52:0a:7b:a1:11:94:b7:5b:44:64:ef:0f:b8: - e1:71:e2:64:3a:ed:32:72:c0:80:db:23:ca:56:db: - 43:4a:2f:b0:6f:57:e1:86:b9:8c:f0:4e:7b:80:50: - b6:4b:9c:be:43:83:e3:a7:1b:c9:52:c8:2e:d6:14: - d7:02:cb:d2:08:00:49:68:c7:ea:71:46:22:b8:33: - 63:f9:2c:9c:62:3c:d9:9f:ab:47:e4:24:7e:f0:bd: - 9f:93:f2:97:9b:fc:6b:25:88:0d:37:d2:e2:05:64: - bc:ec:fb:86:f8:89:07:22:2a:c6:d3:1c:8f:5c:de: - f5:0b:f7:e5:59:b1:0a:eb:c5:7f:7a:3e:9f:0d:90: - 37:ee:99:3a:74:6b:1e:d5:b0:11:ae:3b:73:0b:8d: - 45:e1:60:a7:15:0f:67:40:2f:0c:8d:fa:6f:09:60: - 81:eb:a7:6e:38:c6:28:2d:e9:32:b1:d6:fc:b0:de: - 1a:db:2c:ee:54:f8:6c:eb:69:8c:da:12:e1:48:bf: - e8:4a:53:bb:50:4c:0d:36:6d:9a:72:c6:a0:86:2a: - c1:df:48:43:a6:d2:f6:94:e5:9d:0c:fe:e3:2b:e1: - 2c:ff:4e:89:21:c9:92:ab:32:1c:02:13:5f:4e:4e: - 11:cb:3e:40:8a:ca:f6:6e:b7:4d:21:72:be:6b:90: - e4:88:34:d9:23: - -public exponent: - 01:00:01: - -private exponent: - 12:bb:cc:e2:aa:06:78:dc:ac:1e:2d:4f:74:34:41: - cb:91:35:fc:4c:86:52:72:00:0e:a4:c1:7a:05:38: - 89:68:f7:3a:33:b9:1f:af:60:a7:66:6f:f2:00:e1: - e6:a1:69:c5:69:fb:97:43:48:04:d6:45:33:5c:fd: - 39:3a:cc:ea:f0:0f:82:86:9c:a2:37:88:d5:77:1d: - 8d:96:e7:16:0c:13:a2:07:24:13:92:66:66:63:e7: - 3a:cc:42:03:05:ea:11:72:d8:32:9f:5e:6d:8c:91: - 2f:f5:95:59:97:fd:0c:78:1a:64:89:7e:16:c0:bf: - a9:0a:3a:54:41:41:47:cb:4d:c3:fc:f1:67:83:20: - ef:58:22:13:c1:31:48:c2:18:c0:16:5a:d1:36:1e: - 4a:2b:06:85:92:1c:d9:73:9b:77:3a:43:d9:2e:94: - 5d:e7:64:57:3b:9d:f0:78:c0:68:e2:10:21:9e:aa: - a7:df:42:1c:91:75:06:48:d6:02:1c:a7:0a:8f:fe: - 07:b1:f5:bc:1d:25:e3:56:8f:bf:8b:c0:9f:a7:cb: - 08:75:0c:19:0d:0c:fa:b5:9f:f9:56:79:a4:bd:fa: - 77:ba:b9:0a:46:3e:dc:1c:40:2b:11:d9:f1:fc:b7: - 2a:3c:6d:8d:1f:0e:6f:ea:8a:c3:73:c2:80:01:5c: - 6f:17:d3:ec:5c:dd:38:95:ac:28:a7:f3:59:2d:e1: - b8:37:22:0b:04:29:bc:2e:02:9f:1e:86:56:fc:6c: - 56:45:1b:3f:b9:a4:8a:63:ae:9a:e7:08:35:46:22: - 1d:42:76:b1: - -prime1: - 00:dc:67:45:e8:be:de:ce:37:0d:e3:72:8d:c5:21: - 07:0b:86:92:6e:30:e4:7c:6d:37:1f:48:8a:a7:98: - 0f:07:1a:3b:fc:a9:02:5f:27:f2:35:77:e4:2a:87: - 15:34:d0:a1:94:31:3a:81:45:50:7b:b5:f2:7a:09: - 5f:68:6b:6c:cc:de:cc:cd:b7:bf:68:f2:f8:18:c0: - fc:a8:56:cc:ef:01:39:d9:b4:16:74:2b:51:33:c2: - 7d:c9:10:2b:34:3a:89:f5:09:00:af:32:15:09:31: - 76:45:98:42:d2:f9:d2:fc:40:95:d5:7b:ee:77:f4: - 72:33:62:c1:fb:cb:dd:1e:3e:af:36:f7:1b:88:84: - 43:9b:81:e1:f6:e6:54:c9:45:85:aa:b6:4e:b5:51: - f7:e3:35: - -prime2: - 00:f0:7a:44:a7:9a:1a:75:55:f5:d8:67:94:34:fd: - af:e9:82:ff:4e:6a:4b:16:25:df:ff:65:10:15:e2: - 3e:22:9c:14:a4:fd:e3:4d:60:f5:5a:9f:03:4e:a7: - 0d:4e:42:93:e6:8c:e8:26:85:09:9b:cd:53:26:2d: - bd:55:ec:09:67:68:35:bf:c4:06:01:f2:3c:ba:73: - c2:3e:01:a7:83:af:2a:f0:64:ab:22:c8:5b:bf:32: - 1d:f6:ac:5f:8c:ca:1d:60:f1:ff:04:13:13:8b:3e: - 84:11:bb:fc:c6:09:4a:8b:75:49:b6:2c:ea:8d:68: - 6a:c9:2d:5d:34:f2:82:b7:9b:1b:65:51:77:4a:e8: - ce:33:33:b2:55:44:82:ef:ac:5e:38:bc:26:ab:0c: - f1:3d:f7: - -coefficient: - 58:f9:a5:04:76:4a:f5:91:33:39:44:a6:f6:e8:0e: - 91:49:0e:56:fc:09:da:77:b4:3d:23:4e:55:21:c1: - c8:1f:aa:69:d1:e9:30:bc:22:d7:ac:b5:61:38:8f: - fa:11:d8:7d:9b:99:f9:8d:d3:2c:73:35:c8:05:2b: - 7b:bd:5a:cd:75:aa:f5:67:e5:87:b6:36:5f:2e:0f: - 07:99:b1:92:23:74:33:53:5a:ae:98:29:63:cb:2b: - 29:17:ae:b5:50:4c:a5:6a:cd:b3:55:0f:22:2b:d4: - ed:5c:93:61:43:16:6e:0a:ba:b4:7c:39:7c:db:6c: - 45:32:af:ef:20:ad:d1:e4:ee:b0:d8:94:1b:71:af: - 4e:2d:ca:9a:5f:0d:8f:ab:17:59:6c:ae:11:be:ed: - a5:af: - -exp1: - 6a:a6:ea:b4:5a:90:74:57:3d:b8:3f:39:8d:17:93: - 52:27:77:7a:2c:dc:93:bd:41:bc:38:9d:27:c6:34: - 17:6a:c1:76:5c:ce:51:ff:81:7c:10:1c:ef:db:58: - 0e:ab:9a:54:9c:91:c3:f6:27:a1:05:85:65:3a:5d: - d9:a8:8a:08:85:13:b3:c4:63:b2:44:48:7b:a9:ff: - 58:f2:4f:ce:a3:d8:3b:99:a2:77:ea:72:2b:ca:c4: - 95:63:e6:94:2a:73:91:88:1e:b5:a8:55:77:92:60: - ba:02:98:eb:80:8a:71:18:4b:a8:f7:84:88:b5:58: - 01:b7:9b:48:dd:f8:8c:e7:26:60:41:a9:28:21:60: - 99:c2:7a:f6:bf:b4:6d:84:df:ce:a0:d3:6b:78:53: - ac:b5: - -exp2: - 60:2a:85:0a:01:36:53:75:ec:ba:7d:b1:66:ff:8c: - 39:75:89:63:72:5e:54:9d:10:d6:b1:33:9d:8c:bc: - 0c:5b:1e:66:5c:a1:69:70:3c:ad:e0:a9:11:ea:fc: - 07:2f:d8:b5:79:e3:dc:83:97:34:17:08:09:5c:81: - 3a:bb:09:87:b0:c4:cd:cb:36:1b:d1:23:37:ec:d2: - e0:b9:08:a4:40:88:8b:59:b6:96:52:49:5e:4c:4c: - 6f:38:bf:7d:2d:d6:51:ce:74:8c:cc:94:24:3a:fb: - d5:9b:b7:99:fa:5d:35:27:d2:32:68:03:e4:48:bd: - 6b:76:18:af:f3:cb:12:61:94:b3:0f:c1:04:d3:d4: - a1:e5:2a:8b:ae:ba:2d:de:60:4f:8f:ee:66:b8:e6: - 40:41: - - -Public Key ID: 4A:5E:69:1E:B0:14:BF:48:EA:59:0B:4E:0B:0E:A1:07:17:43:18:05 -Public key's random art: -+--[ RSA 2432]----+ -|E*= . | -|. o o | -|o . + . | -|.+ + + o | -|o o + = S | -| + = B * . | -| . = + . | -| | -| | -+-----------------+ - ------BEGIN RSA PRIVATE KEY----- -MIIFegIBAAKCATEAzwoV3T55LJnmvSXNH9jjPbDOa1fr7Kxxpu56YNFmbV9C4Mkl -A7v6a+L2FwCZqlIKe6ERlLdbRGTvD7jhceJkOu0ycsCA2yPKVttDSi+wb1fhhrmM -8E57gFC2S5y+Q4PjpxvJUsgu1hTXAsvSCABJaMfqcUYiuDNj+SycYjzZn6tH5CR+ -8L2fk/KXm/xrJYgNN9LiBWS87PuG+IkHIirG0xyPXN71C/flWbEK68V/ej6fDZA3 -7pk6dGse1bARrjtzC41F4WCnFQ9nQC8MjfpvCWCB66duOMYoLekysdb8sN4a2yzu -VPhs62mM2hLhSL/oSlO7UEwNNm2acsaghirB30hDptL2lOWdDP7jK+Es/06JIcmS -qzIcAhNfTk4Ryz5Aisr2brdNIXK+a5DkiDTZIwIDAQABAoIBMBK7zOKqBnjcrB4t -T3Q0QcuRNfxMhlJyAA6kwXoFOIlo9zozuR+vYKdmb/IA4eahacVp+5dDSATWRTNc -/Tk6zOrwD4KGnKI3iNV3HY2W5xYME6IHJBOSZmZj5zrMQgMF6hFy2DKfXm2MkS/1 -lVmX/Qx4GmSJfhbAv6kKOlRBQUfLTcP88WeDIO9YIhPBMUjCGMAWWtE2HkorBoWS -HNlzm3c6Q9kulF3nZFc7nfB4wGjiECGeqqffQhyRdQZI1gIcpwqP/gex9bwdJeNW -j7+LwJ+nywh1DBkNDPq1n/lWeaS9+ne6uQpGPtwcQCsR2fH8tyo8bY0fDm/qisNz -woABXG8X0+xc3TiVrCin81kt4bg3IgsEKbwuAp8ehlb8bFZFGz+5pIpjrprnCDVG -Ih1CdrECgZkA3GdF6L7ezjcN43KNxSEHC4aSbjDkfG03H0iKp5gPBxo7/KkCXyfy -NXfkKocVNNChlDE6gUVQe7XyeglfaGtszN7Mzbe/aPL4GMD8qFbM7wE52bQWdCtR -M8J9yRArNDqJ9QkArzIVCTF2RZhC0vnS/ECV1Xvud/RyM2LB+8vdHj6vNvcbiIRD -m4Hh9uZUyUWFqrZOtVH34zUCgZkA8HpEp5oadVX12GeUNP2v6YL/TmpLFiXf/2UQ -FeI+IpwUpP3jTWD1Wp8DTqcNTkKT5ozoJoUJm81TJi29VewJZ2g1v8QGAfI8unPC -PgGng68q8GSrIshbvzId9qxfjModYPH/BBMTiz6EEbv8xglKi3VJtizqjWhqyS1d -NPKCt5sbZVF3SujOMzOyVUSC76xeOLwmqwzxPfcCgZhqpuq0WpB0Vz24PzmNF5NS -J3d6LNyTvUG8OJ0nxjQXasF2XM5R/4F8EBzv21gOq5pUnJHD9iehBYVlOl3ZqIoI -hROzxGOyREh7qf9Y8k/Oo9g7maJ36nIrysSVY+aUKnORiB61qFV3kmC6ApjrgIpx -GEuo94SItVgBt5tI3fiM5yZgQakoIWCZwnr2v7RthN/OoNNreFOstQKBmGAqhQoB -NlN17Lp9sWb/jDl1iWNyXlSdENaxM52MvAxbHmZcoWlwPK3gqRHq/Acv2LV549yD -lzQXCAlcgTq7CYewxM3LNhvRIzfs0uC5CKRAiItZtpZSSV5MTG84v30t1lHOdIzM -lCQ6+9Wbt5n6XTUn0jJoA+RIvWt2GK/zyxJhlLMPwQTT1KHlKouuui3eYE+P7ma4 -5kBBAoGYWPmlBHZK9ZEzOUSm9ugOkUkOVvwJ2ne0PSNOVSHByB+qadHpMLwi16y1 -YTiP+hHYfZuZ+Y3TLHM1yAUre71azXWq9Wflh7Y2Xy4PB5mxkiN0M1NarpgpY8sr -KReutVBMpWrNs1UPIivU7VyTYUMWbgq6tHw5fNtsRTKv7yCt0eTusNiUG3GvTi3K -ml8Nj6sXWWyuEb7tpa8= ------END RSA PRIVATE KEY----- diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server.pem b/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server.pem deleted file mode 100644 index b5152c025..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/crypto/tls/test/x509-server.pem +++ /dev/null @@ -1,22 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDjjCCAkagAwIBAgIEUSnjsTANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H -bnVUTFMgVGVzdCBDQTAiGA8yMDEzMDIyNDA5NTYwM1oYDzIwMTQwMjI1MDk1NjEw -WjAdMRswGQYDVQQDExJHbnVUTFMgVGVzdCBTZXJ2ZXIwggFSMA0GCSqGSIb3DQEB -AQUAA4IBPwAwggE6AoIBMQDPChXdPnksmea9Jc0f2OM9sM5rV+vsrHGm7npg0WZt -X0LgySUDu/pr4vYXAJmqUgp7oRGUt1tEZO8PuOFx4mQ67TJywIDbI8pW20NKL7Bv -V+GGuYzwTnuAULZLnL5Dg+OnG8lSyC7WFNcCy9IIAElox+pxRiK4M2P5LJxiPNmf -q0fkJH7wvZ+T8peb/GsliA030uIFZLzs+4b4iQciKsbTHI9c3vUL9+VZsQrrxX96 -Pp8NkDfumTp0ax7VsBGuO3MLjUXhYKcVD2dALwyN+m8JYIHrp244xigt6TKx1vyw -3hrbLO5U+GzraYzaEuFIv+hKU7tQTA02bZpyxqCGKsHfSEOm0vaU5Z0M/uMr4Sz/ -TokhyZKrMhwCE19OThHLPkCKyvZut00hcr5rkOSINNkjAgMBAAGjdjB0MAwGA1Ud -EwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAd -BgNVHQ4EFgQUSl5pHrAUv0jqWQtOCw6hBxdDGAUwHwYDVR0jBBgwFoAUErXctsDq -gtXp6z6/UPN2WOE2AXMwDQYJKoZIhvcNAQELBQADggExALTdtNzzbuBmZxRIr6nI -57/T4HvpKs1A28Fgch3dTNy5Dj3p9/4FCJRQPxGdnP7hbrOVNMmiL99Rn53W6gws -Oj8h5gyCqTXsYmjMw66qYnQLuHiSvaYlaE4k+koNzZdfkJ/olIfC6udlZJMQ+MLr -YpFIJkHTdpXUwxo+q6Vp6u1a+1eUKgfBkUqEEkTAtKhDUnQBhtblpcrnOosaQr2r -xEksgVCvHEDVsU9UNj7ciPillEkX5x9mHar3J8qCd3ZnIcXAEoK1e9vIqzNQEwz9 -BBSHjaJ8el1D1waE+cUZ+DB5LQfCfojUR/ya4eAKmcw/nuB+h+rMqv1/Q6ASqIoH -7wzV69iI5kUbrxFvlo+RIcAIOTgoSCzkl2SBMJLeQs5//cLKnC6al9QG9l93vbpI -Iw4= ------END CERTIFICATE----- diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_de.properties b/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_de.properties deleted file mode 100644 index 47bafc633..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_de.properties +++ /dev/null @@ -1,8 +0,0 @@ - -time.text = Es ist {0,time,full} am {0,date}. - -hello.text = Hallo Welt. - -arguments.text = Mein Name ist {0}. - -name = Hans diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_en.properties b/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_en.properties deleted file mode 100644 index 5d243a0d8..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nTestMessages_en.properties +++ /dev/null @@ -1,12 +0,0 @@ - -time.text = It''s {0,time,full} at {0,date}. - -hello.text = Hello world. - -arguments.text = My name is {0}. - -filter.text = The following part should contain no HTML tags: {0} - -number.text = {0,number,percent} - -name = John diff --git a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nUTF8TestMessages_de.properties b/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nUTF8TestMessages_de.properties deleted file mode 100644 index 3fe32f8a1..000000000 --- a/libraries/spongycastle/core/src/test/resources/org/spongycastle/i18n/test/I18nUTF8TestMessages_de.properties +++ /dev/null @@ -1,2 +0,0 @@ - -utf8.text = some umlauts äöüèéà -- cgit v1.2.3